From 819f052c3c3c7f35e028d364b3f45c0147120a55 Mon Sep 17 00:00:00 2001 From: axdanbol Date: Wed, 12 Jul 2023 19:50:55 +0000 Subject: [PATCH] Production deploy -- 0b3bf010a2775ca36706508ccf4da1e1c4d40ba9 --- 3rdpartylicenses.txt | 26 ++++ body-ui/3rdpartylicenses.txt | 26 ++++ body-ui/main.js | 2 +- body-ui/wc.js | 2 +- docs/ccf-api/changelog.html | 5 + docs/ccf-api/dependencies.html | 2 + docs/ccf-api/js/search/search_index.js | 4 +- docs/ccf-body-ui-wc/changelog.html | 5 + docs/ccf-body-ui-wc/dependencies.html | 2 + docs/ccf-body-ui-wc/js/search/search_index.js | 4 +- docs/ccf-body-ui/changelog.html | 5 + docs/ccf-body-ui/dependencies.html | 2 + docs/ccf-body-ui/js/search/search_index.js | 4 +- docs/ccf-database/changelog.html | 5 + docs/ccf-database/classes/CCFDatabase.html | 123 ++++++++++-------- docs/ccf-database/dependencies.html | 2 + .../interfaces/CCFDatabaseOptions.html | 13 +- docs/ccf-database/js/search/search_index.js | 4 +- docs/ccf-eui/changelog.html | 5 + docs/ccf-eui/dependencies.html | 2 + docs/ccf-eui/js/search/search_index.js | 4 +- docs/ccf-organ-info/changelog.html | 5 + docs/ccf-organ-info/dependencies.html | 2 + docs/ccf-organ-info/js/search/search_index.js | 4 +- docs/ccf-rui/changelog.html | 5 + docs/ccf-rui/dependencies.html | 2 + docs/ccf-rui/js/search/search_index.js | 4 +- docs/ccf-shared/changelog.html | 5 + docs/ccf-shared/dependencies.html | 2 + docs/ccf-shared/js/search/search_index.js | 4 +- docs/triple-store-utils/changelog.html | 5 + docs/triple-store-utils/dependencies.html | 2 + .../js/search/search_index.js | 4 +- main-es2015.js | 2 +- main-es5.js | 2 +- organ-info/3rdpartylicenses.txt | 26 ++++ organ-info/main.js | 2 +- organ-info/wc.js | 2 +- wc.js | 2 +- 39 files changed, 243 insertions(+), 84 deletions(-) diff --git a/3rdpartylicenses.txt b/3rdpartylicenses.txt index 60413bfd4..d97b105f6 100644 --- a/3rdpartylicenses.txt +++ b/3rdpartylicenses.txt @@ -1857,6 +1857,32 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +object-hash +MIT +The MIT License (MIT) + +Copyright (c) 2014 object-hash contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +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. + + + obliterator MIT The MIT License (MIT) diff --git a/body-ui/3rdpartylicenses.txt b/body-ui/3rdpartylicenses.txt index e8b0ca4ec..569a12505 100644 --- a/body-ui/3rdpartylicenses.txt +++ b/body-ui/3rdpartylicenses.txt @@ -1472,6 +1472,32 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +object-hash +MIT +The MIT License (MIT) + +Copyright (c) 2014 object-hash contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +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. + + + obliterator MIT The MIT License (MIT) diff --git a/body-ui/main.js b/body-ui/main.js index 88f201511..e34038f93 100644 --- a/body-ui/main.js +++ b/body-ui/main.js @@ -1 +1 @@ -var dke=Object.defineProperty,hke=Object.defineProperties,fke=Object.getOwnPropertyDescriptors,C1=Object.getOwnPropertySymbols,jq=Object.prototype.hasOwnProperty,Vq=Object.prototype.propertyIsEnumerable,Er=Math.pow,Uq=(Ut,it,Je)=>it in Ut?dke(Ut,it,{enumerable:!0,configurable:!0,writable:!0,value:Je}):Ut[it]=Je,ot=(Ut,it)=>{for(var Je in it||(it={}))jq.call(it,Je)&&Uq(Ut,Je,it[Je]);if(C1)for(var Je of C1(it))Vq.call(it,Je)&&Uq(Ut,Je,it[Je]);return Ut},Cn=(Ut,it)=>hke(Ut,fke(it)),zq=(Ut,it)=>{var Je={};for(var yt in Ut)jq.call(Ut,yt)&&it.indexOf(yt)<0&&(Je[yt]=Ut[yt]);if(null!=Ut&&C1)for(var yt of C1(Ut))it.indexOf(yt)<0&&Vq.call(Ut,yt)&&(Je[yt]=Ut[yt]);return Je};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{440:(Ut,it,Je)=>{var yt=Je(52).default;Ut.exports=function Y(Se,he,W){function j(z,v){if(!he[z]){if(!Se[z]){if(P)return P(z,!0);var O=new Error("Cannot find module '"+z+"'");throw O.code="MODULE_NOT_FOUND",O}var A=he[z]={exports:{}};Se[z][0].call(A.exports,function(b){return j(Se[z][1][b]||b)},A,A.exports,Y,Se,he,W)}return he[z].exports}for(var P=void 0,Q=0;Q0&&G[G.length-1])&&(6===_t[0]||2===_t[0])){$e=0;continue}if(3===_t[0]&&(!G||_t[1]>G[0]&&_t[1]0?ce-4:ce;for($=0;$>16&255,I[X++]=R>>8&255,I[X++]=255&R;return 2===D&&(R=j[V.charCodeAt($)]<<2|j[V.charCodeAt($+1)]>>4,I[X++]=255&R),1===D&&(R=j[V.charCodeAt($)]<<10|j[V.charCodeAt($+1)]<<4|j[V.charCodeAt($+2)]>>2,I[X++]=R>>8&255,I[X++]=255&R),I},he.fromByteArray=function(V){for(var R,K=V.length,ce=K%3,D=[],I=16383,X=0,E=K-ce;XE?E:X+I));return 1===ce?D.push(W[(R=V[K-1])>>2]+W[R<<4&63]+"=="):2===ce&&D.push(W[(R=(V[K-2]<<8)+V[K-1])>>10]+W[R>>4&63]+W[R<<2&63]+"="),D.join("")};for(var W=[],j=[],P="undefined"!=typeof Uint8Array?Uint8Array:Array,Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",z=0,v=Q.length;z0)throw new Error("Invalid string. Length must be a multiple of 4");var K=V.indexOf("=");return-1===K&&(K=R),[K,K===R?0:4-K%4]}function y(V){return W[V>>18&63]+W[V>>12&63]+W[V>>6&63]+W[63&V]}function S(V,R,K){for(var D=[],I=R;I>5==6?2:D>>4==14?3:D>>3==30?4:D>>6==2?-1:-2}function A(D){var I=this.lastTotal-this.lastNeed,X=function(D,I,X){if(128!=(192&I[0]))return D.lastNeed=0,"\ufffd";if(D.lastNeed>1&&I.length>1){if(128!=(192&I[1]))return D.lastNeed=1,"\ufffd";if(D.lastNeed>2&&I.length>2&&128!=(192&I[2]))return D.lastNeed=2,"\ufffd"}}(this,D);return void 0!==X?X:this.lastNeed<=D.length?(D.copy(this.lastChar,I,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(D.copy(this.lastChar,I,0,D.length),void(this.lastNeed-=D.length))}function S(D,I){if((D.length-I)%2==0){var X=D.toString("utf16le",I);if(X){var E=X.charCodeAt(X.length-1);if(E>=55296&&E<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=D[D.length-2],this.lastChar[1]=D[D.length-1],X.slice(0,-1)}return X}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=D[D.length-1],D.toString("utf16le",I,D.length-1)}function T(D){var I=D&&D.length?this.write(D):"";return this.lastNeed?I+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):I}function V(D,I){var X=(D.length-I)%3;return 0===X?D.toString("base64",I):(this.lastNeed=3-X,this.lastTotal=3,1===X?this.lastChar[0]=D[D.length-1]:(this.lastChar[0]=D[D.length-2],this.lastChar[1]=D[D.length-1]),D.toString("base64",I,D.length-X))}function R(D){var I=D&&D.length?this.write(D):"";return this.lastNeed?I+this.lastChar.toString("base64",0,3-this.lastNeed):I}function K(D){return D.toString(this.encoding)}function ce(D){return D&&D.length?this.write(D):""}he.StringDecoder=z,z.prototype.write=function(D){if(0===D.length)return"";var I,X;if(this.lastNeed){if(void 0===(I=this.fillLast(D)))return"";X=this.lastNeed,this.lastNeed=0}else X=0;return X=0?($>0&&(D.lastNeed=$-1),$):--E=0?($>0&&(D.lastNeed=$-2),$):--E=0?($>0&&(2===$?$=0:D.lastNeed=$-3),$):0}(this,D,I);if(!this.lastNeed)return D.toString("utf8",I);this.lastTotal=X;var E=D.length-(X-this.lastNeed);return D.copy(this.lastChar,0,E),D.toString("utf8",I,E)},z.prototype.fillLast=function(D){if(this.lastNeed<=D.length)return D.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);D.copy(this.lastChar,this.lastTotal-this.lastNeed,0,D.length),this.lastNeed-=D.length}},{"safe-buffer":4}],6:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Y("base64-js"),P=Y("ieee754");he.Buffer=x,he.SlowBuffer=function(L){return+L!=L&&(L=0),x.alloc(+L)},he.INSPECT_MAX_BYTES=50;var Q=2147483647;function v(L){if(L>Q)throw new RangeError('The value "'+L+'" is invalid for option "size"');var N=new Uint8Array(L);return N.__proto__=x.prototype,N}function x(L,N,B){if("number"==typeof L){if("string"==typeof N)throw new TypeError('The "string" argument must be of type string. Received type number');return y(L)}return O(L,N,B)}function O(L,N,B){if("string"==typeof L)return function(L,N){if(("string"!=typeof N||""===N)&&(N="utf8"),!x.isEncoding(N))throw new TypeError("Unknown encoding: "+N);var B=0|D(L,N),Re=v(B),Qe=Re.write(L,N);return Qe!==B&&(Re=Re.slice(0,Qe)),Re}(L,N);if(ArrayBuffer.isView(L))return T(L);if(null==L)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof L);if(pt(L,ArrayBuffer)||L&&pt(L.buffer,ArrayBuffer))return function(L,N,B){if(N<0||L.byteLength=Q)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Q.toString(16)+" bytes");return 0|L}function D(L,N){if(x.isBuffer(L))return L.length;if(ArrayBuffer.isView(L)||pt(L,ArrayBuffer))return L.byteLength;if("string"!=typeof L)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof L);var B=L.length,Re=arguments.length>2&&!0===arguments[2];if(!Re&&0===B)return 0;for(var Qe=!1;;)switch(N){case"ascii":case"latin1":case"binary":return B;case"utf8":case"utf-8":return G(L).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*B;case"hex":return B>>>1;case"base64":return je(L).length;default:if(Qe)return Re?-1:G(L).length;N=(""+N).toLowerCase(),Qe=!0}}function I(L,N,B){var Re=!1;if((void 0===N||N<0)&&(N=0),N>this.length||((void 0===B||B>this.length)&&(B=this.length),B<=0)||(B>>>=0)<=(N>>>=0))return"";for(L||(L="utf8");;)switch(L){case"hex":return tt(this,N,B);case"utf8":case"utf-8":return _e(this,N,B);case"ascii":return st(this,N,B);case"latin1":case"binary":return Xe(this,N,B);case"base64":return ne(this,N,B);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ye(this,N,B);default:if(Re)throw new TypeError("Unknown encoding: "+L);L=(L+"").toLowerCase(),Re=!0}}function X(L,N,B){var Re=L[N];L[N]=L[B],L[B]=Re}function E(L,N,B,Re,Qe){if(0===L.length)return-1;if("string"==typeof B?(Re=B,B=0):B>2147483647?B=2147483647:B<-2147483648&&(B=-2147483648),ve(B=+B)&&(B=Qe?0:L.length-1),B<0&&(B=L.length+B),B>=L.length){if(Qe)return-1;B=L.length-1}else if(B<0){if(!Qe)return-1;B=0}if("string"==typeof N&&(N=x.from(N,Re)),x.isBuffer(N))return 0===N.length?-1:$(L,N,B,Re,Qe);if("number"==typeof N)return N&=255,"function"==typeof Uint8Array.prototype.indexOf?Qe?Uint8Array.prototype.indexOf.call(L,N,B):Uint8Array.prototype.lastIndexOf.call(L,N,B):$(L,[N],B,Re,Qe);throw new TypeError("val must be string, number or Buffer")}function $(L,N,B,Re,Qe){var Yn,St=1,Nt=L.length,On=N.length;if(void 0!==Re&&("ucs2"===(Re=String(Re).toLowerCase())||"ucs-2"===Re||"utf16le"===Re||"utf-16le"===Re)){if(L.length<2||N.length<2)return-1;St=2,Nt/=2,On/=2,B/=2}function kn(Ls,gs){return 1===St?Ls[gs]:Ls.readUInt16BE(gs*St)}if(Qe){var Ti=-1;for(Yn=B;YnNt&&(B=Nt-On),Yn=B;Yn>=0;Yn--){for(var wi=!0,Xr=0;XrQe&&(Re=Qe):Re=Qe;var St=N.length;Re>St/2&&(Re=St/2);for(var Nt=0;Nt>8,St.push(B%256),St.push(Re);return St}(N,L.length-B),L,B,Re)}function ne(L,N,B){return j.fromByteArray(0===N&&B===L.length?L:L.slice(N,B))}function _e(L,N,B){B=Math.min(L.length,B);for(var Re=[],Qe=N;Qe239?4:St>223?3:St>191?2:1;if(Qe+On<=B)switch(On){case 1:St<128&&(Nt=St);break;case 2:128==(192&(kn=L[Qe+1]))&&(wi=(31&St)<<6|63&kn)>127&&(Nt=wi);break;case 3:Yn=L[Qe+2],128==(192&(kn=L[Qe+1]))&&128==(192&Yn)&&(wi=(15&St)<<12|(63&kn)<<6|63&Yn)>2047&&(wi<55296||wi>57343)&&(Nt=wi);break;case 4:Yn=L[Qe+2],Ti=L[Qe+3],128==(192&(kn=L[Qe+1]))&&128==(192&Yn)&&128==(192&Ti)&&(wi=(15&St)<<18|(63&kn)<<12|(63&Yn)<<6|63&Ti)>65535&&wi<1114112&&(Nt=wi)}null===Nt?(Nt=65533,On=1):Nt>65535&&(Re.push((Nt-=65536)>>>10&1023|55296),Nt=56320|1023&Nt),Re.push(Nt),Qe+=On}return function(L){var N=L.length;if(N<=4096)return String.fromCharCode.apply(String,L);for(var B="",Re=0;ReB&&(N+=" ... "),""},x.prototype.compare=function(N,B,Re,Qe,St){if(pt(N,Uint8Array)&&(N=x.from(N,N.offset,N.byteLength)),!x.isBuffer(N))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof N);if(void 0===B&&(B=0),void 0===Re&&(Re=N?N.length:0),void 0===Qe&&(Qe=0),void 0===St&&(St=this.length),B<0||Re>N.length||Qe<0||St>this.length)throw new RangeError("out of range index");if(Qe>=St&&B>=Re)return 0;if(Qe>=St)return-1;if(B>=Re)return 1;if(this===N)return 0;for(var Nt=(St>>>=0)-(Qe>>>=0),On=(Re>>>=0)-(B>>>=0),kn=Math.min(Nt,On),Yn=this.slice(Qe,St),Ti=N.slice(B,Re),wi=0;wi>>=0,isFinite(Re)?(Re>>>=0,void 0===Qe&&(Qe="utf8")):(Qe=Re,Re=void 0)}var St=this.length-B;if((void 0===Re||Re>St)&&(Re=St),N.length>0&&(Re<0||B<0)||B>this.length)throw new RangeError("Attempt to write outside buffer bounds");Qe||(Qe="utf8");for(var Nt=!1;;)switch(Qe){case"hex":return Z(this,N,B,Re);case"utf8":case"utf-8":return oe(this,N,B,Re);case"ascii":return se(this,N,B,Re);case"latin1":case"binary":return te(this,N,B,Re);case"base64":return Ce(this,N,B,Re);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,N,B,Re);default:if(Nt)throw new TypeError("Unknown encoding: "+Qe);Qe=(""+Qe).toLowerCase(),Nt=!0}},x.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function st(L,N,B){var Re="";B=Math.min(L.length,B);for(var Qe=N;QeRe)&&(B=Re);for(var Qe="",St=N;StB)throw new RangeError("Trying to access beyond buffer length")}function ke(L,N,B,Re,Qe,St){if(!x.isBuffer(L))throw new TypeError('"buffer" argument must be a Buffer instance');if(N>Qe||NL.length)throw new RangeError("Index out of range")}function Ke(L,N,B,Re,Qe,St){if(B+Re>L.length)throw new RangeError("Index out of range");if(B<0)throw new RangeError("Index out of range")}function Me(L,N,B,Re,Qe){return N=+N,B>>>=0,Qe||Ke(L,0,B,4),P.write(L,N,B,Re,23,4),B+4}function Ve(L,N,B,Re,Qe){return N=+N,B>>>=0,Qe||Ke(L,0,B,8),P.write(L,N,B,Re,52,8),B+8}x.prototype.slice=function(N,B){var Re=this.length;(N=~~N)<0?(N+=Re)<0&&(N=0):N>Re&&(N=Re),(B=void 0===B?Re:~~B)<0?(B+=Re)<0&&(B=0):B>Re&&(B=Re),B>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N],St=1,Nt=0;++Nt>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N+--B],St=1;B>0&&(St*=256);)Qe+=this[N+--B]*St;return Qe},x.prototype.readUInt8=function(N,B){return N>>>=0,B||Ue(N,1,this.length),this[N]},x.prototype.readUInt16LE=function(N,B){return N>>>=0,B||Ue(N,2,this.length),this[N]|this[N+1]<<8},x.prototype.readUInt16BE=function(N,B){return N>>>=0,B||Ue(N,2,this.length),this[N]<<8|this[N+1]},x.prototype.readUInt32LE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),(this[N]|this[N+1]<<8|this[N+2]<<16)+16777216*this[N+3]},x.prototype.readUInt32BE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),16777216*this[N]+(this[N+1]<<16|this[N+2]<<8|this[N+3])},x.prototype.readIntLE=function(N,B,Re){N>>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N],St=1,Nt=0;++Nt=(St*=128)&&(Qe-=Math.pow(2,8*B)),Qe},x.prototype.readIntBE=function(N,B,Re){N>>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=B,St=1,Nt=this[N+--Qe];Qe>0&&(St*=256);)Nt+=this[N+--Qe]*St;return Nt>=(St*=128)&&(Nt-=Math.pow(2,8*B)),Nt},x.prototype.readInt8=function(N,B){return N>>>=0,B||Ue(N,1,this.length),128&this[N]?-1*(255-this[N]+1):this[N]},x.prototype.readInt16LE=function(N,B){N>>>=0,B||Ue(N,2,this.length);var Re=this[N]|this[N+1]<<8;return 32768&Re?4294901760|Re:Re},x.prototype.readInt16BE=function(N,B){N>>>=0,B||Ue(N,2,this.length);var Re=this[N+1]|this[N]<<8;return 32768&Re?4294901760|Re:Re},x.prototype.readInt32LE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),this[N]|this[N+1]<<8|this[N+2]<<16|this[N+3]<<24},x.prototype.readInt32BE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),this[N]<<24|this[N+1]<<16|this[N+2]<<8|this[N+3]},x.prototype.readFloatLE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),P.read(this,N,!0,23,4)},x.prototype.readFloatBE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),P.read(this,N,!1,23,4)},x.prototype.readDoubleLE=function(N,B){return N>>>=0,B||Ue(N,8,this.length),P.read(this,N,!0,52,8)},x.prototype.readDoubleBE=function(N,B){return N>>>=0,B||Ue(N,8,this.length),P.read(this,N,!1,52,8)},x.prototype.writeUIntLE=function(N,B,Re,Qe){N=+N,B>>>=0,Re>>>=0,Qe||ke(this,N,B,Re,Math.pow(2,8*Re)-1,0);var Nt=1,On=0;for(this[B]=255&N;++On>>=0,Re>>>=0,Qe||ke(this,N,B,Re,Math.pow(2,8*Re)-1,0);var Nt=Re-1,On=1;for(this[B+Nt]=255&N;--Nt>=0&&(On*=256);)this[B+Nt]=N/On&255;return B+Re},x.prototype.writeUInt8=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,1,255,0),this[B]=255&N,B+1},x.prototype.writeUInt16LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,65535,0),this[B]=255&N,this[B+1]=N>>>8,B+2},x.prototype.writeUInt16BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,65535,0),this[B]=N>>>8,this[B+1]=255&N,B+2},x.prototype.writeUInt32LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,4294967295,0),this[B+3]=N>>>24,this[B+2]=N>>>16,this[B+1]=N>>>8,this[B]=255&N,B+4},x.prototype.writeUInt32BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,4294967295,0),this[B]=N>>>24,this[B+1]=N>>>16,this[B+2]=N>>>8,this[B+3]=255&N,B+4},x.prototype.writeIntLE=function(N,B,Re,Qe){if(N=+N,B>>>=0,!Qe){var St=Math.pow(2,8*Re-1);ke(this,N,B,Re,St-1,-St)}var Nt=0,On=1,kn=0;for(this[B]=255&N;++Nt>0)-kn&255;return B+Re},x.prototype.writeIntBE=function(N,B,Re,Qe){if(N=+N,B>>>=0,!Qe){var St=Math.pow(2,8*Re-1);ke(this,N,B,Re,St-1,-St)}var Nt=Re-1,On=1,kn=0;for(this[B+Nt]=255&N;--Nt>=0&&(On*=256);)N<0&&0===kn&&0!==this[B+Nt+1]&&(kn=1),this[B+Nt]=(N/On>>0)-kn&255;return B+Re},x.prototype.writeInt8=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,1,127,-128),N<0&&(N=255+N+1),this[B]=255&N,B+1},x.prototype.writeInt16LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,32767,-32768),this[B]=255&N,this[B+1]=N>>>8,B+2},x.prototype.writeInt16BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,32767,-32768),this[B]=N>>>8,this[B+1]=255&N,B+2},x.prototype.writeInt32LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,2147483647,-2147483648),this[B]=255&N,this[B+1]=N>>>8,this[B+2]=N>>>16,this[B+3]=N>>>24,B+4},x.prototype.writeInt32BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,2147483647,-2147483648),N<0&&(N=4294967295+N+1),this[B]=N>>>24,this[B+1]=N>>>16,this[B+2]=N>>>8,this[B+3]=255&N,B+4},x.prototype.writeFloatLE=function(N,B,Re){return Me(this,N,B,!0,Re)},x.prototype.writeFloatBE=function(N,B,Re){return Me(this,N,B,!1,Re)},x.prototype.writeDoubleLE=function(N,B,Re){return Ve(this,N,B,!0,Re)},x.prototype.writeDoubleBE=function(N,B,Re){return Ve(this,N,B,!1,Re)},x.prototype.copy=function(N,B,Re,Qe){if(!x.isBuffer(N))throw new TypeError("argument should be a Buffer");if(Re||(Re=0),!Qe&&0!==Qe&&(Qe=this.length),B>=N.length&&(B=N.length),B||(B=0),Qe>0&&Qe=this.length)throw new RangeError("Index out of range");if(Qe<0)throw new RangeError("sourceEnd out of bounds");Qe>this.length&&(Qe=this.length),N.length-B=0;--Nt)N[Nt+B]=this[Nt+Re];else Uint8Array.prototype.set.call(N,this.subarray(Re,Qe),B);return St},x.prototype.fill=function(N,B,Re,Qe){if("string"==typeof N){if("string"==typeof B?(Qe=B,B=0,Re=this.length):"string"==typeof Re&&(Qe=Re,Re=this.length),void 0!==Qe&&"string"!=typeof Qe)throw new TypeError("encoding must be a string");if("string"==typeof Qe&&!x.isEncoding(Qe))throw new TypeError("Unknown encoding: "+Qe);if(1===N.length){var St=N.charCodeAt(0);("utf8"===Qe&&St<128||"latin1"===Qe)&&(N=St)}}else"number"==typeof N&&(N&=255);if(B<0||this.length>>=0,Re=void 0===Re?this.length:Re>>>0,N||(N=0),"number"==typeof N)for(Nt=B;Nt55295&&B<57344){if(!Qe){if(B>56319){(N-=3)>-1&&St.push(239,191,189);continue}if(Nt+1===Re){(N-=3)>-1&&St.push(239,191,189);continue}Qe=B;continue}if(B<56320){(N-=3)>-1&&St.push(239,191,189),Qe=B;continue}B=65536+(Qe-55296<<10|B-56320)}else Qe&&(N-=3)>-1&&St.push(239,191,189);if(Qe=null,B<128){if((N-=1)<0)break;St.push(B)}else if(B<2048){if((N-=2)<0)break;St.push(B>>6|192,63&B|128)}else if(B<65536){if((N-=3)<0)break;St.push(B>>12|224,B>>6&63|128,63&B|128)}else{if(!(B<1114112))throw new Error("Invalid code point");if((N-=4)<0)break;St.push(B>>18|240,B>>12&63|128,B>>6&63|128,63&B|128)}}return St}function je(L){return j.toByteArray(function(L){if((L=(L=L.split("=")[0]).trim().replace($e,"")).length<2)return"";for(;L.length%4!=0;)L+="=";return L}(L))}function _t(L,N,B,Re){for(var Qe=0;Qe=N.length||Qe>=L.length);++Qe)N[Qe+B]=L[Qe];return Qe}function pt(L,N){return L instanceof N||null!=L&&null!=L.constructor&&null!=L.constructor.name&&L.constructor.name===N.name}function ve(L){return L!=L}}).call(this)}).call(this,Y("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(Y,Se,he){"use strict";Se.exports=function W(j){return null===j||"object"!=typeof j||null!=j.toJSON?JSON.stringify(j):Array.isArray(j)?"["+j.reduce((P,Q,z)=>P+(0===z?"":",")+W(void 0===Q||"symbol"==typeof Q?null:Q),"")+"]":"{"+Object.keys(j).sort().reduce((P,Q,z)=>void 0===j[Q]||"symbol"==typeof j[Q]?P:P+(0===P.length?"":",")+W(Q)+":"+W(j[Q]),"")+"}"}},{}],8:[function(Y,Se,he){"use strict";var P,W="object"==typeof Reflect?Reflect:null,j=W&&"function"==typeof W.apply?W.apply:function($,Z,oe){return Function.prototype.apply.call($,Z,oe)};P=W&&"function"==typeof W.ownKeys?W.ownKeys:Object.getOwnPropertySymbols?function($){return Object.getOwnPropertyNames($).concat(Object.getOwnPropertySymbols($))}:function($){return Object.getOwnPropertyNames($)};var z=Number.isNaN||function($){return $!=$};function v(){v.init.call(this)}Se.exports=v,Se.exports.once=function(E,$){return new Promise(function(Z,oe){function se(Ce){E.removeListener($,te),oe(Ce)}function te(){"function"==typeof E.removeListener&&E.removeListener("error",se),Z([].slice.call(arguments))}X(E,$,te,{once:!0}),"error"!==$&&function(E,$,Z){"function"==typeof E.on&&X(E,"error",$,Z)}(E,se,{once:!0})})},v.EventEmitter=v,v.prototype._events=void 0,v.prototype._eventsCount=0,v.prototype._maxListeners=void 0;var x=10;function O(E){if("function"!=typeof E)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof E)}function A(E){return void 0===E._maxListeners?v.defaultMaxListeners:E._maxListeners}function b(E,$,Z,oe){var se,te,Ce;if(O(Z),void 0===(te=E._events)?(te=E._events=Object.create(null),E._eventsCount=0):(void 0!==te.newListener&&(E.emit("newListener",$,Z.listener?Z.listener:Z),te=E._events),Ce=te[$]),void 0===Ce)Ce=te[$]=Z,++E._eventsCount;else if("function"==typeof Ce?Ce=te[$]=oe?[Z,Ce]:[Ce,Z]:oe?Ce.unshift(Z):Ce.push(Z),(se=A(E))>0&&Ce.length>se&&!Ce.warned){Ce.warned=!0;var me=new Error("Possible EventEmitter memory leak detected. "+Ce.length+" "+String($)+" listeners added. Use emitter.setMaxListeners() to increase limit");me.name="MaxListenersExceededWarning",me.emitter=E,me.type=$,me.count=Ce.length,function(E){console&&console.warn&&console.warn(E)}(me)}return E}function y(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function S(E,$,Z){var oe={fired:!1,wrapFn:void 0,target:E,type:$,listener:Z},se=y.bind(oe);return se.listener=Z,oe.wrapFn=se,se}function T(E,$,Z){var oe=E._events;if(void 0===oe)return[];var se=oe[$];return void 0===se?[]:"function"==typeof se?Z?[se.listener||se]:[se]:Z?function(E){for(var $=new Array(E.length),Z=0;Z<$.length;++Z)$[Z]=E[Z].listener||E[Z];return $}(se):R(se,se.length)}function V(E){var $=this._events;if(void 0!==$){var Z=$[E];if("function"==typeof Z)return 1;if(void 0!==Z)return Z.length}return 0}function R(E,$){for(var Z=new Array($),oe=0;oe<$;++oe)Z[oe]=E[oe];return Z}function X(E,$,Z,oe){if("function"==typeof E.on)oe.once?E.once($,Z):E.on($,Z);else{if("function"!=typeof E.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof E);E.addEventListener($,function se(te){oe.once&&E.removeEventListener($,se),Z(te)})}}Object.defineProperty(v,"defaultMaxListeners",{enumerable:!0,get:function(){return x},set:function(E){if("number"!=typeof E||E<0||z(E))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+E+".");x=E}}),v.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},v.prototype.setMaxListeners=function($){if("number"!=typeof $||$<0||z($))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+$+".");return this._maxListeners=$,this},v.prototype.getMaxListeners=function(){return A(this)},v.prototype.emit=function($){for(var Z=[],oe=1;oe0&&(Ce=Z[0]),Ce instanceof Error)throw Ce;var me=new Error("Unhandled error."+(Ce?" ("+Ce.message+")":""));throw me.context=Ce,me}var ne=te[$];if(void 0===ne)return!1;if("function"==typeof ne)j(ne,this,Z);else{var _e=ne.length,Ie=R(ne,_e);for(oe=0;oe<_e;++oe)j(Ie[oe],this,Z)}return!0},v.prototype.on=v.prototype.addListener=function($,Z){return b(this,$,Z,!1)},v.prototype.prependListener=function($,Z){return b(this,$,Z,!0)},v.prototype.once=function($,Z){return O(Z),this.on($,S(this,$,Z)),this},v.prototype.prependOnceListener=function($,Z){return O(Z),this.prependListener($,S(this,$,Z)),this},v.prototype.off=v.prototype.removeListener=function($,Z){var oe,se,te,Ce,me;if(O(Z),void 0===(se=this._events))return this;if(void 0===(oe=se[$]))return this;if(oe===Z||oe.listener===Z)0==--this._eventsCount?this._events=Object.create(null):(delete se[$],se.removeListener&&this.emit("removeListener",$,oe.listener||Z));else if("function"!=typeof oe){for(te=-1,Ce=oe.length-1;Ce>=0;Ce--)if(oe[Ce]===Z||oe[Ce].listener===Z){me=oe[Ce].listener,te=Ce;break}if(te<0)return this;0===te?oe.shift():function(E,$){for(;$+1=0;se--)this.removeListener($,Z[se]);return this},v.prototype.listeners=function($){return T(this,$,!0)},v.prototype.rawListeners=function($){return T(this,$,!1)},v.listenerCount=function(E,$){return"function"==typeof E.listenerCount?E.listenerCount($):V.call(E,$)},v.prototype.listenerCount=V,v.prototype.eventNames=function(){return this._eventsCount>0?P(this._events):[]}},{}],9:[function(Y,Se,he){he.read=function(W,j,P,Q,z){var v,x,O=8*z-Q-1,A=(1<>1,y=-7,S=P?z-1:0,T=P?-1:1,V=W[j+S];for(S+=T,v=V&(1<<-y)-1,V>>=-y,y+=O;y>0;v=256*v+W[j+S],S+=T,y-=8);for(x=v&(1<<-y)-1,v>>=-y,y+=Q;y>0;x=256*x+W[j+S],S+=T,y-=8);if(0===v)v=1-b;else{if(v===A)return x?NaN:1/0*(V?-1:1);x+=Math.pow(2,Q),v-=b}return(V?-1:1)*x*Math.pow(2,v-Q)},he.write=function(W,j,P,Q,z,v){var x,O,A,b=8*v-z-1,y=(1<>1,T=23===z?Math.pow(2,-24)-Math.pow(2,-77):0,V=Q?0:v-1,R=Q?1:-1,K=j<0||0===j&&1/j<0?1:0;for(j=Math.abs(j),isNaN(j)||j===1/0?(O=isNaN(j)?1:0,x=y):(x=Math.floor(Math.log(j)/Math.LN2),j*(A=Math.pow(2,-x))<1&&(x--,A*=2),(j+=x+S>=1?T/A:T*Math.pow(2,1-S))*A>=2&&(x++,A/=2),x+S>=y?(O=0,x=y):x+S>=1?(O=(j*A-1)*Math.pow(2,z),x+=S):(O=j*Math.pow(2,S-1)*Math.pow(2,z),x=0));z>=8;W[P+V]=255&O,V+=R,O/=256,z-=8);for(x=x<0;W[P+V]=255&x,V+=R,x/=256,b-=8);W[P+V-R]|=128*K}},{}],10:[function(Y,Se,he){Se.exports="function"==typeof Object.create?function(j,P){P&&(j.super_=P,j.prototype=Object.create(P.prototype,{constructor:{value:j,enumerable:!1,writable:!0,configurable:!0}}))}:function(j,P){if(P){j.super_=P;var Q=function(){};Q.prototype=P.prototype,j.prototype=new Q,j.prototype.constructor=j}}},{}],11:[function(Y,Se,he){"use strict";const{isArray:W,isObject:j,isString:P}=Y("./types"),{asArray:Q}=Y("./util"),{prependBase:z}=Y("./url"),v=Y("./JsonLdError"),x=Y("./ResolvedContext");function A(y){throw new v("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:y})}function b({context:y,base:S}){if(!y)return;const T=y["@context"];if(P(T))y["@context"]=z(S,T);else if(W(T))for(let V=0;V10)throw new v("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"loading remote context failed":"context overflow",max:10});if(R.has(T))throw new v("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"recursive context inclusion":"context overflow",url:T});let K,ce;R.add(T);try{ce=yield V(T),K=ce.document||null,P(K)&&(K=JSON.parse(K))}catch(D){throw new v("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:T,cause:D})}if(!j(K))throw new v("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:T});return K="@context"in K?{"@context":K["@context"]}:{"@context":{}},ce.contextUrl&&(W(K["@context"])||(K["@context"]=[K["@context"]]),K["@context"].push(ce.contextUrl)),{context:K,remoteDoc:ce}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(Y,Se,he){"use strict";Se.exports=class extends Error{constructor(j="An unspecified JSON-LD error occurred.",P="jsonld.Error",Q={}){super(j),this.name=P,this.message=j,this.details=Q}}},{}],13:[function(Y,Se,he){"use strict";Se.exports=W=>{class j{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(j,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(j.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:j}),j.compact=function(P,Q){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):W.compact(P,Q)},j.expand=function(P){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):W.expand(P)},j.flatten=function(P){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):W.flatten(P)},j}},{}],14:[function(Y,Se,he){"use strict";Se.exports=Y("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(Y,Se,he){"use strict";Se.exports=class{constructor(){this._requests={}}wrapLoader(j){const P=this;return P._loader=j,function(){return P.add.apply(P,arguments)}}add(j){var P=this;return yt(function*(){let Q=P._requests[j];if(Q)return Promise.resolve(Q);Q=P._requests[j]=P._loader(j);try{return yield Q}finally{delete P._requests[j]}})()}}},{}],16:[function(Y,Se,he){"use strict";const W=Y("lru-cache");Se.exports=class{constructor({document:Q}){this.document=Q,this.cache=new W({max:10})}getProcessed(Q){return this.cache.get(Q)}setProcessed(Q,z){this.cache.set(Q,z)}}},{"lru-cache":33}],17:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:P,isString:Q,isUndefined:z}=Y("./types"),{isList:v,isValue:x,isGraph:O,isSimpleGraph:A,isSubjectReference:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:T,process:V,processingMode:R}=Y("./context"),{removeBase:K,prependBase:ce}=Y("./url"),{addValue:D,asArray:I,compareShortestLeast:X}=Y("./util"),E={};function Z(oe,se,te){if("@nest"!==y(oe,se,{vocab:!0},te))throw new W("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}Se.exports=E,E.compact=function(){var oe=yt(function*({activeCtx:se,activeProperty:te=null,element:Ce,options:me={},compactionMap:ne=(()=>{})}){if(j(Ce)){let Ie=[];for(let Ge=0;Ge1&&(tt=Array.from(tt).sort());const Ye=se;for(const ke of tt){const Ke=E.compactIri({activeCtx:Ye,iri:ke,relativeTo:{vocab:!0}}),Me=S(st,Ke,"@context");z(Me)||(se=yield V({activeCtx:se,localCtx:Me,options:me,propagate:!1}))}const Ue=Object.keys(Ce).sort();for(const ke of Ue){const Ke=Ce[ke];if("@id"!==ke)if("@type"!==ke)if("@reverse"!==ke)if("@preserve"!==ke)if("@index"!==ke)if("@graph"!==ke&&"@list"!==ke&&"@included"!==ke&&T(ke)){const Me=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Me,Ke)}else{if(!j(Ke))throw new W("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===Ke.length){const Me=E.compactIri({activeCtx:se,iri:ke,value:Ke,relativeTo:{vocab:!0},reverse:Ie}),Ve=se.mappings.has(Me)?se.mappings.get(Me)["@nest"]:null;let $e=Ge;Ve&&(Z(se,Ve,me),P(Ge[Ve])||(Ge[Ve]={}),$e=Ge[Ve]),D($e,Me,Ke,{propertyIsArray:!0})}for(const Me of Ke){const Ve=E.compactIri({activeCtx:se,iri:ke,value:Me,relativeTo:{vocab:!0},reverse:Ie}),$e=se.mappings.has(Ve)?se.mappings.get(Ve)["@nest"]:null;let Ne=Ge;$e&&(Z(se,$e,me),P(Ge[$e])||(Ge[$e]={}),Ne=Ge[$e]);const q=S(se,Ve,"@container")||[],G=O(Me),pe=v(Me);let ue;pe?ue=Me["@list"]:G&&(ue=Me["@graph"]);let je=yield E.compact({activeCtx:se,activeProperty:Ve,element:pe||G?ue:Me,options:me,compactionMap:ne});if(pe){if(j(je)||(je=[je]),q.includes("@list")){D(Ne,Ve,je,{valueIsArray:!0,allowDuplicate:!0});continue}je={[E.compactIri({activeCtx:se,iri:"@list",relativeTo:{vocab:!0}})]:je},"@index"in Me&&(je[E.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"])}if(G)if(q.includes("@graph")&&(q.includes("@id")||q.includes("@index")&&A(Me))){let _t;Ne.hasOwnProperty(Ve)?_t=Ne[Ve]:Ne[Ve]=_t={};const pt=(q.includes("@id")?Me["@id"]:Me["@index"])||E.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}});D(_t,pt,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})}else q.includes("@graph")&&A(Me)?(j(je)&&je.length>1&&(je={"@included":je}),D(Ne,Ve,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})):(j(je)&&1===je.length&&me.compactArrays&&(je=je[0]),je={[E.compactIri({activeCtx:se,iri:"@graph",relativeTo:{vocab:!0}})]:je},"@id"in Me&&(je[E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Me["@id"]),"@index"in Me&&(je[E.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"]),D(Ne,Ve,je,{propertyIsArray:!me.compactArrays||q.includes("@set")}));else if(q.includes("@language")||q.includes("@index")||q.includes("@id")||q.includes("@type")){let _t,pt;if(Ne.hasOwnProperty(Ve)?_t=Ne[Ve]:Ne[Ve]=_t={},q.includes("@language"))x(je)&&(je=je["@value"]),pt=Me["@language"];else if(q.includes("@index")){const ve=S(se,Ve,"@index")||"@index",L=E.compactIri({activeCtx:se,iri:ve,relativeTo:{vocab:!0}});if("@index"===ve)pt=Me["@index"],delete je[L];else{let N;if([pt,...N]=I(je[ve]||[]),Q(pt))switch(N.length){case 0:delete je[ve];break;case 1:je[ve]=N[0];break;default:je[ve]=N}else pt=null}}else if(q.includes("@id")){const ve=E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}});pt=je[ve],delete je[ve]}else if(q.includes("@type")){const ve=E.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}});let L;switch([pt,...L]=I(je[ve]||[]),L.length){case 0:delete je[ve];break;case 1:je[ve]=L[0];break;default:je[ve]=L}1===Object.keys(je).length&&"@id"in Me&&(je=yield E.compact({activeCtx:se,activeProperty:Ve,element:{"@id":Me["@id"]},options:me,compactionMap:ne}))}pt||(pt=E.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}})),D(_t,pt,je,{propertyIsArray:q.includes("@set")})}else{const _t=!me.compactArrays||q.includes("@set")||q.includes("@list")||j(je)&&0===je.length||"@list"===ke||"@graph"===ke;D(Ne,Ve,je,{propertyIsArray:_t})}}}else{if((S(se,te,"@container")||[]).includes("@index"))continue;const Ve=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Ve,Ke)}else{const Me=yield E.compact({activeCtx:se,activeProperty:te,element:Ke,options:me,compactionMap:ne});j(Me)&&0===Me.length||D(Ge,ke,Me)}else{const Me=yield E.compact({activeCtx:se,activeProperty:"@reverse",element:Ke,options:me,compactionMap:ne});for(const Ve in Me)if(se.mappings.has(Ve)&&se.mappings.get(Ve).reverse){const $e=Me[Ve],q=(S(se,Ve,"@container")||[]).includes("@set")||!me.compactArrays;D(Ge,Ve,$e,{propertyIsArray:q}),delete Me[Ve]}if(Object.keys(Me).length>0){const Ve=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Ve,Me)}}else{let Me=I(Ke).map(G=>E.compactIri({activeCtx:st,iri:G,relativeTo:{vocab:!0}}));1===Me.length&&(Me=Me[0]);const Ve=E.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}}),q=(S(se,Ve,"@container")||[]).includes("@set")&&R(se,1.1)||j(Me)&&0===Ke.length;D(Ge,Ve,Me,{propertyIsArray:q})}else{let Me=I(Ke).map($e=>E.compactIri({activeCtx:se,iri:$e,relativeTo:{vocab:!1},base:me.base}));1===Me.length&&(Me=Me[0]),Ge[E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Me}}return Ge}return Ce});return function(se){return oe.apply(this,arguments)}}(),E.compactIri=({activeCtx:oe,iri:se,value:te=null,relativeTo:Ce={vocab:!1},reverse:me=!1,base:ne=null})=>{if(null===se)return se;oe.isPropertyTermScoped&&oe.previousContext&&(oe=oe.previousContext);const _e=oe.getInverse();if(T(se)&&se in _e&&"@none"in _e[se]&&"@type"in _e[se]["@none"]&&"@none"in _e[se]["@none"]["@type"])return _e[se]["@none"]["@type"]["@none"];if(Ce.vocab&&se in _e){const tt=oe["@language"]||"@none",Ye=[];P(te)&&"@index"in te&&!("@graph"in te)&&Ye.push("@index","@index@set"),P(te)&&"@preserve"in te&&(te=te["@preserve"][0]),O(te)?("@index"in te&&Ye.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te&&Ye.push("@graph@id","@graph@id@set"),Ye.push("@graph","@graph@set","@set"),"@index"in te||Ye.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te||Ye.push("@graph@id","@graph@id@set")):P(te)&&!x(te)&&Ye.push("@id","@id@set","@type","@set@type");let Ue="@language",ke="@null";if(me)Ue="@type",ke="@reverse",Ye.push("@set");else if(v(te)){"@index"in te||Ye.push("@list");const Me=te["@list"];if(0===Me.length)Ue="@any",ke="@none";else{let Ve=0===Me.length?tt:null,$e=null;for(let Ne=0;Nest.includes("_"));Ge&&_e.push(Ge.replace(/^[^_]+_/,"_"))}_e.push("@none");const Ie=oe.inverse[se];for(const Ge of Ce){if(!(Ge in Ie))continue;const st=Ie[Ge][me];for(const Xe of _e)if(Xe in st)return st[Xe]}return null}(oe,se,te,Ye,Ue,ke);if(null!==Ke)return Ke}if(Ce.vocab&&"@vocab"in oe){const tt=oe["@vocab"];if(0===se.indexOf(tt)&&se!==tt){const Ye=se.substr(tt.length);if(!oe.mappings.has(Ye))return Ye}}let Ie=null;const Ge=[];let st=oe.fastCurieMap;const Xe=se.length-1;for(let tt=0;tt=0;--tt){const Ye=Ge[tt],Ue=Ye.terms;for(const ke of Ue){const Ke=ke+":"+se.substr(Ye.iri.length);oe.mappings.get(ke)._prefix&&(!oe.mappings.has(Ke)||null===te&&oe.mappings.get(Ke)["@id"]===se)&&(null===Ie||X(Ke,Ie)<0)&&(Ie=Ke)}}if(null!==Ie)return Ie;for(const[tt,Ye]of oe.mappings)if(Ye&&Ye._prefix&&se.startsWith(tt+":"))throw new W(`Absolute IRI "${se}" confused with prefix "${tt}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:oe});return Ce.vocab?se:"@base"in oe?oe["@base"]?K(ce(ne,oe["@base"]),se):se:K(ne,se)},E.compactValue=({activeCtx:oe,activeProperty:se,value:te,options:Ce})=>{if(x(te)){const Ie=S(oe,se,"@type"),Ge=S(oe,se,"@language"),st=S(oe,se,"@direction"),Xe=S(oe,se,"@container")||[],tt="@index"in te&&!Xe.includes("@index");if(!tt&&"@none"!==Ie&&(te["@type"]===Ie||"@language"in te&&te["@language"]===Ge&&"@direction"in te&&te["@direction"]===st||"@language"in te&&te["@language"]===Ge||"@direction"in te&&te["@direction"]===st))return te["@value"];const Ye=Object.keys(te).length,Ue=1===Ye||2===Ye&&"@index"in te&&!tt,ke="@language"in oe,Ke=Q(te["@value"]),Me=oe.mappings.has(se)&&null===oe.mappings.get(se)["@language"];if(Ue&&"@none"!==Ie&&(!ke||!Ke||Me))return te["@value"];const Ve={};return tt&&(Ve[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=te["@index"]),"@type"in te?Ve[E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}})]=E.compactIri({activeCtx:oe,iri:te["@type"],relativeTo:{vocab:!0}}):"@language"in te&&(Ve[E.compactIri({activeCtx:oe,iri:"@language",relativeTo:{vocab:!0}})]=te["@language"]),"@direction"in te&&(Ve[E.compactIri({activeCtx:oe,iri:"@direction",relativeTo:{vocab:!0}})]=te["@direction"]),Ve[E.compactIri({activeCtx:oe,iri:"@value",relativeTo:{vocab:!0}})]=te["@value"],Ve}const me=y(oe,se,{vocab:!0},Ce),ne=S(oe,se,"@type"),_e=E.compactIri({activeCtx:oe,iri:te["@id"],relativeTo:{vocab:"@vocab"===ne},base:Ce.base});return"@id"===ne||"@vocab"===ne||"@graph"===me?_e:{[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]:_e}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(Y,Se,he){"use strict";const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#";Se.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:W,RDF_LIST:W+"List",RDF_FIRST:W+"first",RDF_REST:W+"rest",RDF_NIL:W+"nil",RDF_TYPE:W+"type",RDF_PLAIN_LITERAL:W+"PlainLiteral",RDF_XML_LITERAL:W+"XMLLiteral",RDF_JSON_LITERAL:W+"JSON",RDF_OBJECT:W+"object",RDF_LANGSTRING:W+"langString",XSD:j,XSD_BOOLEAN:j+"boolean",XSD_DOUBLE:j+"double",XSD_INTEGER:j+"integer",XSD_STRING:j+"string"}},{}],19:[function(Y,Se,he){"use strict";const W=Y("./util"),j=Y("./JsonLdError"),{isArray:P,isObject:Q,isString:z,isUndefined:v}=Y("./types"),{isAbsolute:x,isRelative:O,prependBase:A}=Y("./url"),{asArray:b,compareShortestLeast:y}=Y("./util"),S=new Map,V=/^@[a-zA-Z]+$/,R={};function K(D,I,X,E,$,Z){if(null===I||!z(I)||R.isKeyword(I))return I;if(I.match(V))return null;if(E&&E.hasOwnProperty(I)&&!0!==$.get(I)&&R.createTermDefinition({activeCtx:D,localCtx:E,term:I,defined:$,options:Z}),(X=X||{}).vocab){const se=D.mappings.get(I);if(null===se)return null;if(Q(se)&&"@id"in se)return se["@id"]}const oe=I.indexOf(":");if(oe>0){const se=I.substr(0,oe),te=I.substr(oe+1);if("_"===se||0===te.indexOf("//"))return I;E&&E.hasOwnProperty(se)&&R.createTermDefinition({activeCtx:D,localCtx:E,term:se,defined:$,options:Z});const Ce=D.mappings.get(se);if(Ce&&Ce._prefix)return Ce["@id"]+te;if(x(I))return I}if(X.vocab&&"@vocab"in D)return D["@vocab"]+I;if(X.base&&"@base"in D){if(D["@base"])return A(A(Z.base,D["@base"]),I)}else if(X.base)return A(Z.base,I);return I}function ce(D,I){if(!D||"object"!=typeof D||!I||"object"!=typeof I)return D===I;const X=Array.isArray(D);if(X!==Array.isArray(I))return!1;if(X){if(D.length!==I.length)return!1;for(let Z=0;Z{if(E.has(X)){if(E.get(X))return;throw new j("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:I,term:X})}let oe;if(E.set(X,!1),I.hasOwnProperty(X)&&(oe=I[X]),"@type"===X&&Q(oe)&&"@set"===(oe["@container"]||"@set")&&R.processingMode(D,1.1)){const Ie=["@container","@id","@protected"],Ge=Object.keys(oe);if(0===Ge.length||Ge.some(st=>!Ie.includes(st)))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:I,term:X})}else{if(R.isKeyword(X))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:I,term:X});if(X.match(V))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:X});if(""===X)throw new j("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:I})}const se=D.mappings.get(X);D.mappings.has(X)&&D.mappings.delete(X);let te=!1;if((z(oe)||null===oe)&&(te=!0,oe={"@id":oe}),!Q(oe))throw new j("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:I});const Ce={};D.mappings.set(X,Ce),Ce.reverse=!1;const me=["@container","@id","@language","@reverse","@type"];R.processingMode(D,1.1)&&me.push("@context","@direction","@index","@nest","@prefix","@protected");for(const Ie in oe)if(!me.includes(Ie))throw new j("Invalid JSON-LD syntax; a term definition must not contain "+Ie,"jsonld.SyntaxError",{code:"invalid term definition",context:I});const ne=X.indexOf(":");if(Ce._termHasColon=ne>0,"@reverse"in oe){if("@id"in oe)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});if("@nest"in oe)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});const Ie=oe["@reverse"];if(!z(Ie))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(!R.isKeyword(Ie)&&Ie.match(V))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:Ie}),void(se?D.mappings.set(X,se):D.mappings.delete(X));const Ge=K(D,Ie,{vocab:!0,base:!1},I,E,$);if(!x(Ge))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});Ce["@id"]=Ge,Ce.reverse=!0}else if("@id"in oe){let Ie=oe["@id"];if(Ie&&!z(Ie))throw new j("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(null===Ie)Ce["@id"]=null;else{if(!R.isKeyword(Ie)&&Ie.match(V))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:Ie}),void(se?D.mappings.set(X,se):D.mappings.delete(X));if(Ie!==X){if(Ie=K(D,Ie,{vocab:!0,base:!1},I,E,$),!x(Ie)&&!R.isKeyword(Ie))throw new j("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(X.match(/(?::[^:])|\//)&&K(D,X,{vocab:!0,base:!1},I,new Map(E).set(X,!0),$)!==Ie)throw new j("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});Ce["@id"]=Ie,Ce._prefix=te&&!Ce._termHasColon&&Ie.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in Ce))if(Ce._termHasColon){const Ie=X.substr(0,ne);if(I.hasOwnProperty(Ie)&&R.createTermDefinition({activeCtx:D,localCtx:I,term:Ie,defined:E,options:$}),D.mappings.has(Ie)){const Ge=X.substr(ne+1);Ce["@id"]=D.mappings.get(Ie)["@id"]+Ge}else Ce["@id"]=X}else if("@type"===X)Ce["@id"]=X;else{if(!("@vocab"in D))throw new j("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I,term:X});Ce["@id"]=D["@vocab"]+X}if((!0===oe["@protected"]||!0===E.get("@protected")&&!1!==oe["@protected"])&&(D.protected[X]=!0,Ce.protected=!0),E.set(X,!0),"@type"in oe){let Ie=oe["@type"];if(!z(Ie))throw new j("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:I});if("@json"===Ie||"@none"===Ie){if(R.processingMode(D,1))throw new j(`Invalid JSON-LD syntax; an @context @type value must not be "${Ie}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:I})}else if("@id"!==Ie&&"@vocab"!==Ie){if(Ie=K(D,Ie,{vocab:!0,base:!1},I,E,$),!x(Ie))throw new j("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:I});if(0===Ie.indexOf("_:"))throw new j("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:I})}Ce["@type"]=Ie}if("@container"in oe){const Ie=z(oe["@container"])?[oe["@container"]]:oe["@container"]||[],Ge=["@list","@set","@index","@language"];let st=!0;const Xe=Ie.includes("@set");if(R.processingMode(D,1.1)){if(Ge.push("@graph","@id","@type"),Ie.includes("@list")){if(1!==Ie.length)throw new j("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:I})}else if(Ie.includes("@graph")){if(Ie.some(tt=>"@graph"!==tt&&"@id"!==tt&&"@index"!==tt&&"@set"!==tt))throw new j("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:I})}else st&=Ie.length<=(Xe?2:1);if(Ie.includes("@type")&&(Ce["@type"]=Ce["@type"]||"@id",!["@id","@vocab"].includes(Ce["@type"])))throw new j("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:I})}else st&=!P(oe["@container"]),st&=Ie.length<=1;if(st&=Ie.every(tt=>Ge.includes(tt)),st&=!(Xe&&Ie.includes("@list")),!st)throw new j("Invalid JSON-LD syntax; @context @container value must be one of the following: "+Ge.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:I});if(Ce.reverse&&!Ie.every(tt=>["@index","@set"].includes(tt)))throw new j("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});Ce["@container"]=Ie}if("@index"in oe){if(!("@container"in oe)||!Ce["@container"].includes("@index"))throw new j(`Invalid JSON-LD syntax; @index without @index in @container: "${oe["@index"]}" on term "${X}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:I});if(!z(oe["@index"])||0===oe["@index"].indexOf("@"))throw new j(`Invalid JSON-LD syntax; @index must expand to an IRI: "${oe["@index"]}" on term "${X}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:I});Ce["@index"]=oe["@index"]}if("@context"in oe&&(Ce["@context"]=oe["@context"]),"@language"in oe&&!("@type"in oe)){let Ie=oe["@language"];if(null!==Ie&&!z(Ie))throw new j("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:I});null!==Ie&&(Ie=Ie.toLowerCase()),Ce["@language"]=Ie}if("@prefix"in oe){if(X.match(/:|\//))throw new j("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:I});if(R.isKeyword(Ce["@id"]))throw new j("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:I});if("boolean"!=typeof oe["@prefix"])throw new j("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:I});Ce._prefix=!0===oe["@prefix"]}if("@direction"in oe){const Ie=oe["@direction"];if(null!==Ie&&"ltr"!==Ie&&"rtl"!==Ie)throw new j('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:I});Ce["@direction"]=Ie}if("@nest"in oe){const Ie=oe["@nest"];if(!z(Ie)||"@nest"!==Ie&&0===Ie.indexOf("@"))throw new j("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:I});Ce["@nest"]=Ie}const _e=Ce["@id"];if("@context"===_e||"@preserve"===_e)throw new j("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:I});if(se&&se.protected&&!Z&&(D.protected[X]=!0,Ce.protected=!0,!ce(se,Ce))){const Ie=$&&$.protectedMode||"error";if("error"===Ie)throw new j(`Invalid JSON-LD syntax; tried to redefine "${X}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:I,term:X});if("warn"===Ie)return void console.warn("WARNING: protected term redefinition",{term:X});throw new j("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:I,term:X,protectedMode:Ie})}},R.expandIri=(D,I,X,E)=>K(D,I,X,void 0,void 0,E),R.getInitialContext=D=>{const I=JSON.stringify({processingMode:D.processingMode}),X=S.get(I);if(X)return X;const E={processingMode:D.processingMode,mappings:new Map,inverse:null,getInverse:function(){const Ce=this;if(Ce.inverse)return Ce.inverse;const me=Ce.inverse={},ne=Ce.fastCurieMap={},_e={},Ie=(Ce["@language"]||"@none").toLowerCase(),Ge=Ce["@direction"],st=Ce.mappings,Xe=[...st.keys()].sort(y);for(const tt of Xe){const Ye=st.get(tt);if(null===Ye)continue;let Ue=Ye["@container"]||"@none";if(Ue=[].concat(Ue).sort().join(""),null===Ye["@id"])continue;const ke=b(Ye["@id"]);for(const Ke of ke){let Me=me[Ke];const Ve=R.isKeyword(Ke);if(Me)!Ve&&!Ye._termHasColon&&_e[Ke].push(tt);else if(me[Ke]=Me={},!Ve&&!Ye._termHasColon){_e[Ke]=[tt];const $e={iri:Ke,terms:_e[Ke]};Ke[0]in ne?ne[Ke[0]].push($e):ne[Ke[0]]=[$e]}if(Me[Ue]||(Me[Ue]={"@language":{},"@type":{},"@any":{}}),Me=Me[Ue],oe(tt,Me["@any"],"@none"),Ye.reverse)oe(tt,Me["@type"],"@reverse");else if("@none"===Ye["@type"])oe(tt,Me["@any"],"@none"),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none");else if("@type"in Ye)oe(tt,Me["@type"],Ye["@type"]);else if("@language"in Ye&&"@direction"in Ye){const $e=Ye["@language"],Ne=Ye["@direction"];oe(tt,Me["@language"],$e&&Ne?`${$e}_${Ne}`.toLowerCase():$e?$e.toLowerCase():Ne?`_${Ne}`:"@null")}else"@language"in Ye?oe(tt,Me["@language"],(Ye["@language"]||"@null").toLowerCase()):"@direction"in Ye?oe(tt,Me["@language"],Ye["@direction"]?`_${Ye["@direction"]}`:"@none"):Ge?(oe(tt,Me["@language"],`_${Ge}`),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none")):(oe(tt,Me["@language"],Ie),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none"))}}for(const tt in ne)Z(ne,tt,1);return me},clone:function(){const Ce={};return Ce.mappings=W.clone(this.mappings),Ce.clone=this.clone,Ce.inverse=null,Ce.getInverse=this.getInverse,Ce.protected=W.clone(this.protected),this.previousContext&&(Ce.previousContext=this.previousContext.clone()),Ce.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(Ce["@base"]=this["@base"]),"@language"in this&&(Ce["@language"]=this["@language"]),"@vocab"in this&&(Ce["@vocab"]=this["@vocab"]),Ce},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===S.size&&S.clear(),S.set(I,E),E;function Z(Ce,me,ne){const _e=Ce[me],Ie=Ce[me]={};let Ge,st;for(const Xe of _e)Ge=Xe.iri,st=ne>=Ge.length?"":Ge[ne],st in Ie?Ie[st].push(Xe):Ie[st]=[Xe];for(const Xe in Ie)""!==Xe&&Z(Ie,Xe,ne+1)}function oe(Ce,me,ne){me.hasOwnProperty(ne)||(me[ne]=Ce)}},R.getContextValue=(D,I,X)=>{if(null===I)return"@context"===X?void 0:null;if(D.mappings.has(I)){const E=D.mappings.get(I);if(v(X))return E;if(E.hasOwnProperty(X))return E[X]}return"@language"===X&&X in D||"@direction"===X&&X in D?D[X]:"@context"!==X?null:void 0},R.processingMode=(D,I)=>I.toString()>="1.1"?!D.processingMode||D.processingMode>="json-ld-"+I.toString():"json-ld-1.0"===D.processingMode,R.isKeyword=D=>{if(!z(D)||"@"!==D[0])return!1;switch(D){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(Y,Se,he){"use strict";const{parseLinkHeader:W,buildHeaders:j}=Y("../util"),{LINK_HEADER_CONTEXT:P}=Y("../constants"),Q=Y("../JsonLdError"),z=Y("../RequestQueue"),{prependBase:v}=Y("../url"),x=/(^|(\r\n))link:/i;function O(A,b,y){const S=new(A=A||XMLHttpRequest);return new Promise((T,V)=>{S.onload=()=>T(S),S.onerror=R=>V(R),S.open("GET",b,!0);for(const R in y)S.setRequestHeader(R,y[R]);S.send()})}Se.exports=({secure:A,headers:b={},xhr:y}={headers:{}})=>{return b=j(b),(new z).wrapLoader(T);function T(R){return V.apply(this,arguments)}function V(){return(V=yt(function*(R){if(0!==R.indexOf("http:")&&0!==R.indexOf("https:"))throw new Q('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:R});if(A&&0!==R.indexOf("https"))throw new Q('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:R});let K;try{K=yield O(y,R,b)}catch(E){throw new Q("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:R,cause:E})}if(K.status>=400)throw new Q("URL could not be dereferenced: "+K.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:R,httpStatusCode:K.status});let ce={contextUrl:null,documentUrl:R,document:K.response},D=null;const I=K.getResponseHeader("Content-Type");let X;if(x.test(K.getAllResponseHeaders())&&(X=K.getResponseHeader("Link")),X&&"application/ld+json"!==I){const E=W(X),$=E[P];if(Array.isArray($))throw new Q("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:R});$&&(ce.contextUrl=$.target),D=E.alternate,D&&"application/ld+json"==D.type&&!(I||"").match(/^application\/(\w*\+)?json$/)&&(ce=yield T(v(R,D.target)))}return ce})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:P,isEmptyObject:Q,isString:z,isUndefined:v}=Y("./types"),{isList:x,isValue:O,isGraph:A,isSubject:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:T,process:V,processingMode:R}=Y("./context"),{isAbsolute:K}=Y("./url"),{addValue:ce,asArray:D,getValues:I,validateTypeValue:X}=Y("./util"),E={};Se.exports=E;const $=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function Z(ne){return oe.apply(this,arguments)}function oe(){return(oe=yt(function*({activeCtx:ne,activeProperty:_e,expandedActiveProperty:Ie,element:Ge,expandedParent:st,options:Xe={},insideList:tt,typeKey:Ye,typeScopedContext:Ue,expansionMap:ke}){const Ke=Object.keys(Ge).sort(),Me=[];let Ve;const $e=Ge[Ye]&&"@json"===y(ne,j(Ge[Ye])?Ge[Ye][0]:Ge[Ye],{vocab:!0},Xe);for(const Ne of Ke){let G,q=Ge[Ne];if("@context"===Ne)continue;let pe=y(ne,Ne,{vocab:!0},Xe);if((null===pe||!K(pe)&&!T(pe))&&(pe=ke({unmappedProperty:Ne,activeCtx:ne,activeProperty:_e,parent:Ge,options:Xe,insideList:tt,value:q,expandedParent:st}),void 0===pe))continue;if(T(pe)){if("@reverse"===Ie)throw new W("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:q});if(pe in st&&"@included"!==pe&&"@type"!==pe)throw new W("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:pe})}if("@id"===pe){if(!z(q)){if(!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(P(q)){if(!Q(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}else{if(!j(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(!q.every(pt=>z(pt)))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}}ce(st,"@id",D(q).map(pt=>z(pt)?y(ne,pt,{base:!0},Xe):pt),{propertyIsArray:Xe.isFrame});continue}if("@type"===pe){P(q)&&(q=Object.fromEntries(Object.entries(q).map(([pt,ve])=>[y(Ue,pt,{vocab:!0}),D(ve).map(L=>y(Ue,L,{base:!0,vocab:!0}))]))),X(q,Xe.isFrame),ce(st,"@type",D(q).map(pt=>z(pt)?y(Ue,pt,{base:!0,vocab:!0},Xe):pt),{propertyIsArray:Xe.isFrame});continue}if("@included"===pe&&R(ne,1.1)){const pt=D(yield E.expand({activeCtx:ne,activeProperty:_e,element:q,options:Xe,expansionMap:ke}));if(!pt.every(ve=>b(ve)))throw new W("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:q});ce(st,"@included",pt,{propertyIsArray:!0});continue}if("@graph"===pe&&!P(q)&&!j(q))throw new W('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:q});if("@value"===pe){Ve=q,$e&&R(ne,1.1)?st["@value"]=q:ce(st,"@value",q,{propertyIsArray:Xe.isFrame});continue}if("@language"===pe){if(null===q)continue;if(!z(q)&&!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:q});q=D(q).map(pt=>z(pt)?pt.toLowerCase():pt);for(const pt of q)z(pt)&&!pt.match($)&&console.warn(`@language must be valid BCP47: ${pt}`);ce(st,"@language",q,{propertyIsArray:Xe.isFrame});continue}if("@direction"===pe){if(!z(q)&&!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:q});q=D(q);for(const pt of q)if(z(pt)&&"ltr"!==pt&&"rtl"!==pt)throw new W('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:q});ce(st,"@direction",q,{propertyIsArray:Xe.isFrame});continue}if("@index"===pe){if(!z(q))throw new W('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:q});ce(st,"@index",q);continue}if("@reverse"===pe){if(!P(q))throw new W('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:q});if(G=yield E.expand({activeCtx:ne,activeProperty:"@reverse",element:q,options:Xe,expansionMap:ke}),"@reverse"in G)for(const ve in G["@reverse"])ce(st,ve,G["@reverse"][ve],{propertyIsArray:!0});let pt=st["@reverse"]||null;for(const ve in G){if("@reverse"===ve)continue;null===pt&&(pt=st["@reverse"]={}),ce(pt,ve,[],{propertyIsArray:!0});const L=G[ve];for(let N=0;N"@id"===pt||"@index"===pt)&&(G=D(G).map(pt=>({"@graph":D(pt)}))),ue.mappings.has(Ne)&&ue.mappings.get(Ne).reverse){const pt=st["@reverse"]=st["@reverse"]||{};G=D(G);for(let ve=0;ve"@value"===y(ne,pe,{vocab:!0},Xe)))throw new W("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:G});yield Z({activeCtx:ne,activeProperty:_e,expandedActiveProperty:Ie,element:G,expandedParent:st,options:Xe,insideList:tt,typeScopedContext:Ue,typeKey:Ye,expansionMap:ke})}}})).apply(this,arguments)}function se({activeCtx:ne,activeProperty:_e,value:Ie,options:Ge}){if(null==Ie)return null;const st=y(ne,_e,{vocab:!0},Ge);if("@id"===st)return y(ne,Ie,{base:!0},Ge);if("@type"===st)return y(ne,Ie,{vocab:!0,base:!0},Ge);const Xe=S(ne,_e,"@type");if(("@id"===Xe||"@graph"===st)&&z(Ie))return{"@id":y(ne,Ie,{base:!0},Ge)};if("@vocab"===Xe&&z(Ie))return{"@id":y(ne,Ie,{vocab:!0,base:!0},Ge)};if(T(st))return Ie;const tt={};if(Xe&&!["@id","@vocab","@none"].includes(Xe))tt["@type"]=Xe;else if(z(Ie)){const Ye=S(ne,_e,"@language");null!==Ye&&(tt["@language"]=Ye);const Ue=S(ne,_e,"@direction");null!==Ue&&(tt["@direction"]=Ue)}return["boolean","number","string"].includes(typeof Ie)||(Ie=Ie.toString()),tt["@value"]=Ie,tt}function te(ne,_e,Ie,Ge){const st=[],Xe=Object.keys(_e).sort();for(const tt of Xe){const Ye=y(ne,tt,{vocab:!0},Ge);let Ue=_e[tt];j(Ue)||(Ue=[Ue]);for(const ke of Ue){if(null===ke)continue;if(!z(ke))throw new W("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:_e});const Ke={"@value":ke};"@none"!==Ye&&(Ke["@language"]=tt.toLowerCase()),Ie&&(Ke["@direction"]=Ie),st.push(Ke)}}return st}function Ce(ne){return me.apply(this,arguments)}function me(){return(me=yt(function*({activeCtx:ne,options:_e,activeProperty:Ie,value:Ge,expansionMap:st,asGraph:Xe,indexKey:tt,propertyIndex:Ye}){const Ue=[],ke=Object.keys(Ge).sort(),Ke="@type"===tt;for(let Me of ke){if(Ke){const Ne=S(ne,Me,"@context");v(Ne)||(ne=yield V({activeCtx:ne,localCtx:Ne,propagate:!1,options:_e}))}let $e,Ve=Ge[Me];j(Ve)||(Ve=[Ve]),Ve=yield E.expand({activeCtx:ne,activeProperty:Ie,element:Ve,options:_e,insideList:!1,insideIndex:!0,expansionMap:st}),$e=Ye?"@none"===Me?"@none":se({activeCtx:ne,activeProperty:tt,value:Me,options:_e}):y(ne,Me,{vocab:!0},_e),"@id"===tt?Me=y(ne,Me,{base:!0},_e):Ke&&(Me=$e);for(let Ne of Ve){if(Xe&&!A(Ne)&&(Ne={"@graph":[Ne]}),"@type"===tt)"@none"===$e||(Ne["@type"]=Ne["@type"]?[Me].concat(Ne["@type"]):[Me]);else{if(O(Ne)&&!["@language","@type","@index"].includes(tt))throw new W(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${tt}".`,"jsonld.SyntaxError",{code:"invalid value object",value:Ne});Ye?"@none"!==$e&&ce(Ne,Ye,$e,{propertyIsArray:!0,prependValue:!0}):"@none"!==$e&&!(tt in Ne)&&(Ne[tt]=Me)}Ue.push(Ne)}}return Ue})).apply(this,arguments)}E.expand=function(){var ne=yt(function*({activeCtx:_e,activeProperty:Ie=null,element:Ge,options:st={},insideList:Xe=!1,insideIndex:tt=!1,typeScopedContext:Ye=null,expansionMap:Ue=(()=>{})}){if(null==Ge)return null;if("@default"===Ie&&(st=Object.assign({},st,{isFrame:!1})),!j(Ge)&&!P(Ge)){if(!Xe&&(null===Ie||"@graph"===y(_e,Ie,{vocab:!0},st))){const G=yield Ue({unmappedValue:Ge,activeCtx:_e,activeProperty:Ie,options:st,insideList:Xe});return void 0===G?null:G}return se({activeCtx:_e,activeProperty:Ie,value:Ge,options:st})}if(j(Ge)){let G=[];const pe=S(_e,Ie,"@container")||[];Xe=Xe||pe.includes("@list");for(let ue=0;ue1?ue.slice().sort():ue:[ue];for(const _t of je){const pt=S(Ye,_t,"@context");v(pt)||(_e=yield V({activeCtx:_e,localCtx:pt,options:st,propagate:!1}))}}let Ne={};yield Z({activeCtx:_e,activeProperty:Ie,expandedActiveProperty:ke,element:Ge,expandedParent:Ne,options:st,insideList:Xe,typeKey:$e,typeScopedContext:Ye,expansionMap:Ue}),Me=Object.keys(Ne);let q=Me.length;if("@value"in Ne){if("@type"in Ne&&("@language"in Ne||"@direction"in Ne))throw new W('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Ne});let G=q-1;if("@type"in Ne&&(G-=1),"@index"in Ne&&(G-=1),"@language"in Ne&&(G-=1),"@direction"in Ne&&(G-=1),0!==G)throw new W('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Ne});const pe=null===Ne["@value"]?[]:D(Ne["@value"]),ue=I(Ne,"@type");if(!R(_e,1.1)||!ue.includes("@json")||1!==ue.length)if(0===pe.length){const je=yield Ue({unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==je?je:null}else{if(!pe.every(je=>z(je)||Q(je))&&"@language"in Ne)throw new W("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:Ne});if(!ue.every(je=>K(je)&&!(z(je)&&0===je.indexOf("_:"))||Q(je)))throw new W('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:Ne})}}else if("@type"in Ne&&!j(Ne["@type"]))Ne["@type"]=[Ne["@type"]];else if("@set"in Ne||"@list"in Ne){if(q>1&&(2!==q||!("@index"in Ne)))throw new W('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:Ne});"@set"in Ne&&(Ne=Ne["@set"],Me=Object.keys(Ne),q=Me.length)}else if(1===q&&"@language"in Ne){const G=yield Ue(Ne,{unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==G?G:null}if(P(Ne)&&!st.keepFreeFloatingNodes&&!Xe&&(null===Ie||"@graph"===ke)&&(0===q||"@value"in Ne||"@list"in Ne||1===q&&"@id"in Ne)){const G=yield Ue({unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==G?G:null}return Ne});return function(_e){return ne.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(Y,Se,he){"use strict";const{isSubjectReference:W}=Y("./graphTypes"),{createMergedNodeMap:j}=Y("./nodeMap"),P={};Se.exports=P,P.flatten=Q=>{const z=j(Q),v=[],x=Object.keys(z).sort();for(let O=0;O=0;--oe){const se=Z[oe];if(se.graph===$&&se.subject["@id"]===E["@id"])return!0}return!1}function S(E,$,Z){const oe="@"+Z;let se=oe in E?E[oe][0]:$[Z];if("embed"===Z)if(!0===se)se="@once";else if(!1===se)se="@never";else if("@always"!==se&&"@never"!==se&&"@link"!==se&&"@first"!==se&&"@last"!==se&&"@once"!==se)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:E});return se}function T(E){if(!P.isArray(E)||1!==E.length||!P.isObject(E[0]))throw new v("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:E});if("@id"in E[0])for(const $ of Q.asArray(E[0]["@id"]))if(!P.isObject($)&&!z.isAbsolute($)||P.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E});if("@type"in E[0])for(const $ of Q.asArray(E[0]["@type"]))if(!P.isObject($)&&!z.isAbsolute($)||P.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E})}function R(E,$,Z,oe){let se=!0,te=!1;for(const Ce in Z){let me=!1;const ne=Q.getValues($,Ce),_e=0===Q.getValues(Z,Ce).length;if("@id"===Ce){if(P.isEmptyObject(Z["@id"][0]||{})?me=!0:Z["@id"].length>=0&&(me=Z["@id"].includes(ne[0])),!oe.requireAll)return me}else if("@type"===Ce){if(se=!1,_e){if(ne.length>0)return!1;me=!0}else if(1===Z["@type"].length&&P.isEmptyObject(Z["@type"][0]))me=ne.length>0;else for(const Ie of Z["@type"])me=!(!P.isObject(Ie)||!("@default"in Ie))||me||ne.some(Ge=>Ge===Ie);if(!oe.requireAll)return me}else{if(W(Ce))continue;{const Ie=Q.getValues(Z,Ce)[0];let Ge=!1;if(Ie&&(T([Ie]),Ge="@default"in Ie),se=!1,0===ne.length&&Ge)continue;if(ne.length>0&&_e)return!1;if(void 0===Ie){if(ne.length>0)return!1;me=!0}else if(j.isList(Ie)){const st=Ie["@list"][0];if(j.isList(ne[0])){const Xe=ne[0]["@list"];j.isValue(st)?me=Xe.some(tt=>X(st,tt)):(j.isSubject(st)||j.isSubjectReference(st))&&(me=Xe.some(tt=>I(E,st,tt,oe)))}}else me=j.isValue(Ie)?ne.some(st=>X(Ie,st)):j.isSubjectReference(Ie)?ne.some(st=>I(E,Ie,st,oe)):!!P.isObject(Ie)&&ne.length>0}}if(!me&&oe.requireAll)return!1;te=te||me}return se||te}function K(E,$){const Z=E.uniqueEmbeds[E.graph],oe=Z[$],se=oe.parent,te=oe.property,Ce={"@id":$};if(P.isArray(se)){for(let ne=0;ne{const _e=Object.keys(Z);for(const Ie of _e)Ie in Z&&P.isObject(Z[Ie].parent)&&Z[Ie].parent["@id"]===ne&&(delete Z[Ie],me(Ie))};me($)}function ce(E,$){if(P.isArray(E))return E.map(Z=>ce(Z,$));if(P.isObject(E)){if("@preserve"in E)return E["@preserve"][0];if(j.isValue(E))return E;if(j.isList(E))return E["@list"]=ce(E["@list"],$),E;if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const oe=$.link[Z].indexOf(E);if(-1!==oe)return $.link[Z][oe];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)"@id"===Z&&$.bnodesToClear.includes(E[Z])?delete E["@id"]:E[Z]=ce(E[Z],$)}return E}function D(E,$,Z){P.isObject(E)?Q.addValue(E,$,Z,{propertyIsArray:!0}):E.push(Z)}function I(E,$,Z,oe){if(!("@id"in Z))return!1;const se=E.subjects[Z["@id"]];return se&&R(E,se,$,oe)}function X(E,$){const Z=$["@value"],oe=$["@type"],se=$["@language"],te=E["@value"]?P.isArray(E["@value"])?E["@value"]:[E["@value"]]:[],Ce=E["@type"]?P.isArray(E["@type"])?E["@type"]:[E["@type"]]:[],me=E["@language"]?P.isArray(E["@language"])?E["@language"]:[E["@language"]]:[];return 0===te.length&&0===Ce.length&&0===me.length||!(!te.includes(Z)&&!P.isEmptyObject(te[0])||!(!oe&&0===Ce.length||Ce.includes(oe)||oe&&P.isEmptyObject(Ce[0]))||!(!se&&0===me.length||me.includes(se)||se&&P.isEmptyObject(me[0])))}Se.exports=A,A.frameMergedOrDefault=(E,$,Z)=>{const oe={options:Z,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},se=new Q.IdentifierIssuer("_:b");x(E,oe.graphMap,"@default",se),Z.merged&&(oe.graphMap["@merged"]=O(oe.graphMap),oe.graph="@merged"),oe.subjects=oe.graphMap[oe.graph];const te=[];return A.frame(oe,Object.keys(oe.subjects).sort(),$,te),Z.pruneBlankNodeIdentifiers&&(Z.bnodesToClear=Object.keys(oe.bnodeMap).filter(Ce=>1===oe.bnodeMap[Ce].length)),Z.link={},ce(te,Z)},A.frame=(E,$,Z,oe,se=null)=>{T(Z);const te=E.options,Ce={embed:S(Z=Z[0],te,"embed"),explicit:S(Z,te,"explicit"),requireAll:S(Z,te,"requireAll")};E.link.hasOwnProperty(E.graph)||(E.link[E.graph]={});const me=E.link[E.graph],ne=function(E,$,Z,oe){const se={};for(const te of $){const Ce=E.graphMap[E.graph][te];R(E,Ce,Z,oe)&&(se[te]=Ce)}return se}(E,$,Z,Ce),_e=Object.keys(ne).sort();for(const Ie of _e){const Ge=ne[Ie];if(null===se?E.uniqueEmbeds={[E.graph]:{}}:E.uniqueEmbeds[E.graph]=E.uniqueEmbeds[E.graph]||{},"@link"===Ce.embed&&Ie in me){D(oe,se,me[Ie]);continue}const st={"@id":Ie};if(0===Ie.indexOf("_:")&&Q.addValue(E.bnodeMap,Ie,st,{propertyIsArray:!0}),me[Ie]=st,("@first"===Ce.embed||"@last"===Ce.embed)&&E.is11)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:Z});if(E.embedded||!E.uniqueEmbeds[E.graph].hasOwnProperty(Ie)){if(E.embedded&&("@never"===Ce.embed||y(Ge,E.graph,E.subjectStack))){D(oe,se,st);continue}if(E.embedded&&("@first"==Ce.embed||"@once"==Ce.embed)&&E.uniqueEmbeds[E.graph].hasOwnProperty(Ie)){D(oe,se,st);continue}if("@last"===Ce.embed&&Ie in E.uniqueEmbeds[E.graph]&&K(E,Ie),E.uniqueEmbeds[E.graph][Ie]={parent:oe,property:se},E.subjectStack.push({subject:Ge,graph:E.graph}),Ie in E.graphMap){let Xe=!1,tt=null;"@graph"in Z?(tt=Z["@graph"][0],Xe=!("@merged"===Ie||"@default"===Ie),P.isObject(tt)||(tt={})):(Xe="@merged"!==E.graph,tt={}),Xe&&A.frame(Cn(ot({},E),{graph:Ie,embedded:!1}),Object.keys(E.graphMap[Ie]).sort(),[tt],st,"@graph")}"@included"in Z&&A.frame(Cn(ot({},E),{embedded:!1}),$,Z["@included"],st,"@included");for(const Xe of Object.keys(Ge).sort())if(W(Xe)){if(st[Xe]=Q.clone(Ge[Xe]),"@type"===Xe)for(const tt of Ge["@type"])0===tt.indexOf("_:")&&Q.addValue(E.bnodeMap,tt,st,{propertyIsArray:!0})}else if(!Ce.explicit||Xe in Z)for(const tt of Ge[Xe]){const Ye=Xe in Z?Z[Xe]:b(Ce);if(j.isList(tt)){const Ue=Z[Xe]&&Z[Xe][0]&&Z[Xe][0]["@list"]?Z[Xe][0]["@list"]:b(Ce),ke={"@list":[]};D(st,Xe,ke);const Ke=tt["@list"];for(const Me of Ke)j.isSubjectReference(Me)?A.frame(Cn(ot({},E),{embedded:!0}),[Me["@id"]],Ue,ke,"@list"):D(ke,"@list",Q.clone(Me))}else j.isSubjectReference(tt)?A.frame(Cn(ot({},E),{embedded:!0}),[tt["@id"]],Ye,st,Xe):X(Ye[0],tt)&&D(st,Xe,Q.clone(tt))}for(const Xe of Object.keys(Z).sort()){if("@type"===Xe){if(!P.isObject(Z[Xe][0])||!("@default"in Z[Xe][0]))continue}else if(W(Xe))continue;const tt=Z[Xe][0]||{};if(!S(tt,te,"omitDefault")&&!(Xe in st)){let Ue="@null";"@default"in tt&&(Ue=Q.clone(tt["@default"])),P.isArray(Ue)||(Ue=[Ue]),st[Xe]=[{"@preserve":Ue}]}}for(const Xe of Object.keys(Z["@reverse"]||{}).sort()){const tt=Z["@reverse"][Xe];for(const Ye of Object.keys(E.subjects))Q.getValues(E.subjects[Ye],Xe).some(ke=>ke["@id"]===Ie)&&(st["@reverse"]=st["@reverse"]||{},Q.addValue(st["@reverse"],Xe,[],{propertyIsArray:!0}),A.frame(Cn(ot({},E),{embedded:!0}),[Ye],tt,st["@reverse"][Xe],se))}D(oe,se,st),E.subjectStack.pop()}}},A.cleanupNull=(E,$)=>{if(P.isArray(E))return E.map(oe=>A.cleanupNull(oe,$)).filter(oe=>oe);if("@null"===E)return null;if(P.isObject(E)){if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const oe=$.link[Z].indexOf(E);if(-1!==oe)return $.link[Z][oe];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)E[Z]=A.cleanupNull(E[Z],$)}return E}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),j=Y("./graphTypes"),P=Y("./types"),Q=Y("./util"),{RDF_LIST:z,RDF_FIRST:v,RDF_REST:x,RDF_NIL:O,RDF_TYPE:A,RDF_JSON_LITERAL:b,XSD_BOOLEAN:y,XSD_DOUBLE:S,XSD_INTEGER:T,XSD_STRING:V}=Y("./constants"),R=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,K={};function ce(D,I,X){if(D.termType.endsWith("Node"))return{"@id":D.value};const E={"@value":D.value};if(D.language)E["@language"]=D.language;else{let $=D.datatype.value;if($||($=V),$===b){$="@json";try{E["@value"]=JSON.parse(E["@value"])}catch(Z){throw new W("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:E["@value"],cause:Z})}}if(I){if($===y)"true"===E["@value"]?E["@value"]=!0:"false"===E["@value"]&&(E["@value"]=!1);else if(P.isNumeric(E["@value"]))if($===T){const Z=parseInt(E["@value"],10);Z.toFixed(0)===E["@value"]&&(E["@value"]=Z)}else $===S&&(E["@value"]=parseFloat(E["@value"]));[y,T,S,V].includes($)||(E["@type"]=$)}else if("i18n-datatype"===X&&$.startsWith("https://www.w3.org/ns/i18n#")){const[,Z,oe]=$.split(/[#_]/);Z.length>0&&(E["@language"]=Z,Z.match(R)||console.warn(`@language must be valid BCP47: ${Z}`)),E["@direction"]=oe}else $!==V&&(E["@type"]=$)}return E}Se.exports=K,K.fromRDF=function(){var D=yt(function*(I,{useRdfType:X=!1,useNativeTypes:E=!1,rdfDirection:$=null}){const Z={},oe={"@default":Z},se={};for(const me of I){const ne="DefaultGraph"===me.graph.termType?"@default":me.graph.value;ne in oe||(oe[ne]={}),"@default"!==ne&&!(ne in Z)&&(Z[ne]={"@id":ne});const _e=oe[ne],Ie=me.subject.value,Ge=me.predicate.value,st=me.object;Ie in _e||(_e[Ie]={"@id":Ie});const Xe=_e[Ie],tt=st.termType.endsWith("Node");if(tt&&!(st.value in _e)&&(_e[st.value]={"@id":st.value}),Ge===A&&!X&&tt){Q.addValue(Xe,"@type",st.value,{propertyIsArray:!0});continue}const Ye=ce(st,E,$);if(Q.addValue(Xe,Ge,Ye,{propertyIsArray:!0}),tt)if(st.value===O){const Ue=_e[st.value];"usages"in Ue||(Ue.usages=[]),Ue.usages.push({node:Xe,property:Ge,value:Ye})}else se[st.value]=!(st.value in se)&&{node:Xe,property:Ge,value:Ye}}for(const me in oe){const ne=oe[me];if(!(O in ne))continue;const _e=ne[O];if(_e.usages){for(let Ie of _e.usages){let Ge=Ie.node,st=Ie.property,Xe=Ie.value;const tt=[],Ye=[];let Ue=Object.keys(Ge).length;for(;st===x&&P.isObject(se[Ge["@id"]])&&P.isArray(Ge[v])&&1===Ge[v].length&&P.isArray(Ge[x])&&1===Ge[x].length&&(3===Ue||4===Ue&&P.isArray(Ge["@type"])&&1===Ge["@type"].length&&Ge["@type"][0]===z)&&(tt.push(Ge[v][0]),Ye.push(Ge["@id"]),Ie=se[Ge["@id"]],Ge=Ie.node,st=Ie.property,Xe=Ie.value,Ue=Object.keys(Ge).length,j.isBlankNode(Ge)););delete Xe["@id"],Xe["@list"]=tt.reverse();for(const ke of Ye)delete ne[ke]}delete _e.usages}}const te=[],Ce=Object.keys(Z).sort();for(const me of Ce){const ne=Z[me];if(me in oe){const _e=ne["@graph"]=[],Ie=oe[me],Ge=Object.keys(Ie).sort();for(const st of Ge){const Xe=Ie[st];j.isSubjectReference(Xe)||_e.push(Xe)}}j.isSubjectReference(ne)||te.push(ne)}return te});return function(I,X){return D.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.isSubject=P=>!(!W.isObject(P)||"@value"in P||"@set"in P||"@list"in P)&&(Object.keys(P).length>1||!("@id"in P)),j.isSubjectReference=P=>W.isObject(P)&&1===Object.keys(P).length&&"@id"in P,j.isValue=P=>W.isObject(P)&&"@value"in P,j.isList=P=>W.isObject(P)&&"@list"in P,j.isGraph=P=>W.isObject(P)&&"@graph"in P&&1===Object.keys(P).filter(Q=>"@id"!==Q&&"@index"!==Q).length,j.isSimpleGraph=P=>j.isGraph(P)&&!("@id"in P),j.isBlankNode=P=>!!W.isObject(P)&&("@id"in P?0===P["@id"].indexOf("_:"):0===Object.keys(P).length||!("@value"in P||"@set"in P||"@list"in P))},{"./types":30}],26:[function(Y,Se,he){const W=Y("rdf-canonize"),j=Y("./platform"),P=Y("./util"),Q=Y("./ContextResolver"),z=P.IdentifierIssuer,v=Y("./JsonLdError"),x=Y("lru-cache"),O=Y("./NQuads"),{expand:A}=Y("./expand"),{flatten:b}=Y("./flatten"),{fromRDF:y}=Y("./fromRdf"),{toRDF:S}=Y("./toRdf"),{frameMergedOrDefault:T,cleanupNull:V}=Y("./frame"),{isArray:R,isObject:K,isString:ce}=Y("./types"),{isSubjectReference:D}=Y("./graphTypes"),{expandIri:I,getInitialContext:X,process:E,processingMode:$}=Y("./context"),{compact:Z,compactIri:oe}=Y("./compact"),{createNodeMap:se,createMergedNodeMap:te,mergeNodeMaps:Ce}=Y("./nodeMap"),me=function(_e){const Ie={},st=new x({max:100});function Xe(tt,ke){var Ke=ke,{documentLoader:Ye=_e.documentLoader}=Ke,Ue=zq(Ke,["documentLoader"]);return Object.assign({},{documentLoader:Ye},Ue,tt)}return _e.compact=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===Ue)throw new v("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===Ye)return null;let Ke;(ke=Xe(ke,{base:ce(Ye)?Ye:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new z("_:b"),contextResolver:new Q({sharedCache:st})})).link&&(ke.skipExpansion=!0),ke.compactToRelative||delete ke.base,Ke=ke.skipExpansion?Ye:yield _e.expand(Ye,ke);const Me=yield _e.processContext(X(ke),Ue,ke);let Ve=yield Z({activeCtx:Me,element:Ke,options:ke,compactionMap:ke.compactionMap});ke.compactArrays&&!ke.graph&&R(Ve)?1===Ve.length?Ve=Ve[0]:0===Ve.length&&(Ve={}):ke.graph&&K(Ve)&&(Ve=[Ve]),K(Ue)&&"@context"in Ue&&(Ue=Ue["@context"]),Ue=P.clone(Ue),R(Ue)||(Ue=[Ue]);const $e=Ue;Ue=[];for(let q=0;q<$e.length;++q)(!K($e[q])||Object.keys($e[q]).length>0)&&Ue.push($e[q]);const Ne=Ue.length>0;if(1===Ue.length&&(Ue=Ue[0]),R(Ve)){const q=oe({activeCtx:Me,iri:"@graph",relativeTo:{vocab:!0}}),G=Ve;Ve={},Ne&&(Ve["@context"]=Ue),Ve[q]=G}else if(K(Ve)&&Ne){const q=Ve;Ve={"@context":Ue};for(const G in q)Ve[G]=q[G]}return Ve});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.expand=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(Ue=Xe(Ue,{keepFreeFloatingNodes:!1,contextResolver:new Q({sharedCache:st})})).expansionMap&&(Ue.expansionMap=void 0);const ke={},Ke=[];if("expandContext"in Ue){const Ne=P.clone(Ue.expandContext);ke.expandContext=K(Ne)&&"@context"in Ne?Ne:{"@context":Ne},Ke.push(ke.expandContext)}let Me;if(ce(Ye)){const Ne=yield _e.get(Ye,Ue);Me=Ne.documentUrl,ke.input=Ne.document,Ne.contextUrl&&(ke.remoteContext={"@context":Ne.contextUrl},Ke.push(ke.remoteContext))}else ke.input=P.clone(Ye);"base"in Ue||(Ue.base=Me||"");let Ve=X(Ue);for(const Ne of Ke)Ve=yield E({activeCtx:Ve,localCtx:Ne,options:Ue});let $e=yield A({activeCtx:Ve,element:ke.input,options:Ue,expansionMap:Ue.expansionMap});return K($e)&&"@graph"in $e&&1===Object.keys($e).length?$e=$e["@graph"]:null===$e&&($e=[]),R($e)||($e=[$e]),$e});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.flatten=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");Ue="function"==typeof Ue?null:Ue||null,ke=Xe(ke,{base:ce(Ye)?Ye:"",contextResolver:new Q({sharedCache:st})});const Ke=yield _e.expand(Ye,ke),Me=b(Ke);return null===Ue?Me:(ke.graph=!0,ke.skipExpansion=!0,yield _e.compact(Me,Ue,ke))});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.frame=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(ke=Xe(ke,{base:ce(Ye)?Ye:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new Q({sharedCache:st})}),ce(Ue)){const ue=yield _e.get(Ue,ke);if(Ue=ue.document,ue.contextUrl){let je=Ue["@context"];je?R(je)?je.push(ue.contextUrl):je=[je,ue.contextUrl]:je=ue.contextUrl,Ue["@context"]=je}}const Ke=Ue&&Ue["@context"]||{},Me=yield _e.processContext(X(ke),Ke,ke);ke.hasOwnProperty("omitGraph")||(ke.omitGraph=$(Me,1.1)),ke.hasOwnProperty("pruneBlankNodeIdentifiers")||(ke.pruneBlankNodeIdentifiers=$(Me,1.1));const Ve=yield _e.expand(Ye,ke),$e=ot({},ke);$e.isFrame=!0,$e.keepFreeFloatingNodes=!0;const Ne=yield _e.expand(Ue,$e),q=Object.keys(Ue).map(ue=>I(Me,ue,{vocab:!0}));$e.merged=!q.includes("@graph"),$e.is11=$(Me,1.1);const G=T(Ve,Ne,$e);$e.graph=!ke.omitGraph,$e.skipExpansion=!0,$e.link={},$e.framing=!0;let pe=yield _e.compact(G,Ke,$e);return $e.link={},pe=V(pe,$e),pe});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.link=function(){var tt=yt(function*(Ye,Ue,ke){const Ke={};return Ue&&(Ke["@context"]=Ue),Ke["@embed"]="@link",_e.frame(Ye,Ke,ke)});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.normalize=_e.canonize=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(Ue=Xe(Ue,{base:ce(Ye)?Ye:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new Q({sharedCache:st})}))){if("application/n-quads"!==Ue.inputFormat&&"application/nquads"!==Ue.inputFormat)throw new v("Unknown canonicalization input format.","jsonld.CanonizeError");const Me=O.parse(Ye);return W.canonize(Me,Ue)}const ke=ot({},Ue);delete ke.format,ke.produceGeneralizedRdf=!1;const Ke=yield _e.toRDF(Ye,ke);return W.canonize(Ke,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.fromRDF=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");Ue=Xe(Ue,{format:ce(Ye)?"application/n-quads":void 0});const{format:ke}=Ue;let{rdfParser:Ke}=Ue;if(ke){if(Ke=Ke||Ie[ke],!Ke)throw new v("Unknown input format.","jsonld.UnknownFormat",{format:ke})}else Ke=()=>Ye;const Me=yield Ke(Ye);return y(Me,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.toRDF=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let ke;ke=(Ue=Xe(Ue,{base:ce(Ye)?Ye:"",skipExpansion:!1,contextResolver:new Q({sharedCache:st})})).skipExpansion?Ye:yield _e.expand(Ye,Ue);const Ke=S(ke,Ue);if(Ue.format){if("application/n-quads"===Ue.format||"application/nquads"===Ue.format)return O.serialize(Ke);throw new v("Unknown output format.","jsonld.UnknownFormat",{format:Ue.format})}return Ke});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.createNodeMap=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");Ue=Xe(Ue,{base:ce(Ye)?Ye:"",contextResolver:new Q({sharedCache:st})});const ke=yield _e.expand(Ye,Ue);return te(ke,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.merge=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!R(Ye))throw new TypeError('Could not merge, "docs" must be an array.');Ue="function"==typeof Ue?null:Ue||null,ke=Xe(ke,{contextResolver:new Q({sharedCache:st})});const Ke=yield Promise.all(Ye.map(ue=>{const je=ot({},ke);return _e.expand(ue,je)}));let Me=!0;"mergeNodes"in ke&&(Me=ke.mergeNodes);const Ve=ke.issuer||new z("_:b"),$e={"@default":{}};for(let ue=0;ue_e._documentLoader,set:tt=>_e._documentLoader=tt}),_e.documentLoader=function(){var tt=yt(function*(Ye){throw new v("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:Ye})});return function(Ye){return tt.apply(this,arguments)}}(),_e.get=function(){var tt=yt(function*(Ye,Ue){let ke;ke="function"==typeof Ue.documentLoader?Ue.documentLoader:_e.documentLoader;const Ke=yield ke(Ye);try{if(!Ke.document)throw new v("No remote document found at the given URL.","jsonld.NullRemoteDocument");ce(Ke.document)&&(Ke.document=JSON.parse(Ke.document))}catch(Me){throw new v("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:Me,remoteDoc:Ke})}return Ke});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.processContext=function(){var tt=yt(function*(Ye,Ue,ke){return ke=Xe(ke,{base:"",contextResolver:new Q({sharedCache:st})}),null===Ue?X(ke):(Ue=P.clone(Ue),K(Ue)&&"@context"in Ue||(Ue={"@context":Ue}),E({activeCtx:Ye,localCtx:Ue,options:ke}))});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.getContextValue=Y("./context").getContextValue,_e.documentLoaders={},_e.useDocumentLoader=function(tt){if(!(tt in _e.documentLoaders))throw new v('Unknown document loader type: "'+tt+'"',"jsonld.UnknownDocumentLoader",{type:tt});_e.documentLoader=_e.documentLoaders[tt].apply(_e,Array.prototype.slice.call(arguments,1))},_e.registerRDFParser=function(tt,Ye){Ie[tt]=Ye},_e.unregisterRDFParser=function(tt){delete Ie[tt]},_e.registerRDFParser("application/n-quads",O.parse),_e.registerRDFParser("application/nquads",O.parse),_e.url=Y("./url"),_e.util=P,Object.assign(_e,P),_e.promises=_e,_e.RequestQueue=Y("./RequestQueue"),_e.JsonLdProcessor=Y("./JsonLdProcessor")(_e),j.setupGlobals(_e),j.setupDocumentLoaders(_e),_e},ne=function(){return me(function(){return ne()})};me(ne),Se.exports=ne},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(Y,Se,he){"use strict";const{isKeyword:W}=Y("./context"),j=Y("./graphTypes"),P=Y("./types"),Q=Y("./util"),z=Y("./JsonLdError"),v={};Se.exports=v,v.createMergedNodeMap=(x,O)=>{const A=(O=O||{}).issuer||new Q.IdentifierIssuer("_:b"),b={"@default":{}};return v.createNodeMap(x,b,"@default",A),v.mergeNodeMaps(b)},v.createNodeMap=(x,O,A,b,y,S)=>{if(P.isArray(x)){for(const K of x)v.createNodeMap(K,O,A,b,void 0,S);return}if(!P.isObject(x))return void(S&&S.push(x));if(j.isValue(x)){if("@type"in x){let K=x["@type"];0===K.indexOf("_:")&&(x["@type"]=K=b.getId(K))}return void(S&&S.push(x))}if(S&&j.isList(x)){const K=[];return v.createNodeMap(x["@list"],O,A,b,y,K),void S.push({"@list":K})}if("@type"in x){const K=x["@type"];for(const ce of K)0===ce.indexOf("_:")&&b.getId(ce)}P.isUndefined(y)&&(y=j.isBlankNode(x)?b.getId(x["@id"]):x["@id"]),S&&S.push({"@id":y});const T=O[A],V=T[y]=T[y]||{};V["@id"]=y;const R=Object.keys(x).sort();for(let K of R){if("@id"===K)continue;if("@reverse"===K){const D={"@id":y},I=x["@reverse"];for(const X in I){const E=I[X];for(const $ of E){let Z=$["@id"];j.isBlankNode($)&&(Z=b.getId(Z)),v.createNodeMap($,O,A,b,Z),Q.addValue(T[Z],X,D,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===K){y in O||(O[y]={}),v.createNodeMap(x[K],O,y,b);continue}if("@included"===K){v.createNodeMap(x[K],O,A,b);continue}if("@type"!==K&&W(K)){if("@index"===K&&K in V&&(x[K]!==V[K]||x[K]["@id"]!==V[K]["@id"]))throw new z("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:V});V[K]=x[K];continue}const ce=x[K];if(0===K.indexOf("_:")&&(K=b.getId(K)),0!==ce.length)for(let D of ce)if("@type"===K&&(D=0===D.indexOf("_:")?b.getId(D):D),j.isSubject(D)||j.isSubjectReference(D)){if("@id"in D&&!D["@id"])continue;const I=j.isBlankNode(D)?b.getId(D["@id"]):D["@id"];Q.addValue(V,K,{"@id":I},{propertyIsArray:!0,allowDuplicate:!1}),v.createNodeMap(D,O,A,b,I)}else if(j.isValue(D))Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1});else if(j.isList(D)){const I=[];v.createNodeMap(D["@list"],O,A,b,y,I),D={"@list":I},Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1})}else v.createNodeMap(D,O,A,b,y),Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1});else Q.addValue(V,K,[],{propertyIsArray:!0})}},v.mergeNodeMapGraphs=x=>{const O={};for(const A of Object.keys(x).sort())for(const b of Object.keys(x[A]).sort()){const y=x[A][b];b in O||(O[b]={"@id":b});const S=O[b];for(const T of Object.keys(y).sort())if(W(T)&&"@type"!==T)S[T]=Q.clone(y[T]);else for(const V of y[T])Q.addValue(S,T,Q.clone(V),{propertyIsArray:!0,allowDuplicate:!1})}return O},v.mergeNodeMaps=x=>{const O=x["@default"],A=Object.keys(x).sort();for(const b of A){if("@default"===b)continue;const y=x[b];let S=O[b];S?"@graph"in S||(S["@graph"]=[]):O[b]=S={"@id":b,"@graph":[]};const T=S["@graph"];for(const V of Object.keys(y).sort()){const R=y[V];j.isSubjectReference(R)||T.push(R)}}return O}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(Y,Se,he){"use strict";const W=Y("./documentLoaders/xhr"),j={};Se.exports=j,j.setupDocumentLoaders=function(P){"undefined"!=typeof XMLHttpRequest&&(P.documentLoaders.xhr=W,P.useDocumentLoader("xhr"))},j.setupGlobals=function(P){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:P.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(Y,Se,he){"use strict";const{createNodeMap:W}=Y("./nodeMap"),{isKeyword:j}=Y("./context"),P=Y("./graphTypes"),Q=Y("canonicalize"),z=Y("./types"),v=Y("./util"),{RDF_FIRST:x,RDF_REST:O,RDF_NIL:A,RDF_TYPE:b,RDF_JSON_LITERAL:y,RDF_LANGSTRING:S,XSD_BOOLEAN:T,XSD_DOUBLE:V,XSD_INTEGER:R,XSD_STRING:K}=Y("./constants"),{isAbsolute:ce}=Y("./url"),D={};function I($,Z,oe,se,te){const Ce=Object.keys(Z).sort();for(const me of Ce){const ne=Z[me],_e=Object.keys(ne).sort();for(let Ie of _e){const Ge=ne[Ie];if("@type"===Ie)Ie=b;else if(j(Ie))continue;for(const st of Ge){const Xe={termType:me.startsWith("_:")?"BlankNode":"NamedNode",value:me};if(!ce(me))continue;const tt={termType:Ie.startsWith("_:")?"BlankNode":"NamedNode",value:Ie};if(!ce(Ie)||"BlankNode"===tt.termType&&!te.produceGeneralizedRdf)continue;const Ye=E(st,se,$,oe,te.rdfDirection);Ye&&$.push({subject:Xe,predicate:tt,object:Ye,graph:oe})}}}}function E($,Z,oe,se,te){const Ce={};if(P.isValue($)){Ce.termType="Literal",Ce.value=void 0,Ce.datatype={termType:"NamedNode"};let me=$["@value"];const ne=$["@type"]||null;"@json"===ne?(Ce.value=Q(me),Ce.datatype.value=y):z.isBoolean(me)?(Ce.value=me.toString(),Ce.datatype.value=ne||T):z.isDouble(me)||ne===V?(z.isDouble(me)||(me=parseFloat(me)),Ce.value=me.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Ce.datatype.value=ne||V):z.isNumber(me)?(Ce.value=me.toFixed(0),Ce.datatype.value=ne||R):"i18n-datatype"===te&&"@direction"in $?(Ce.datatype.value="https://www.w3.org/ns/i18n#"+($["@language"]||"")+`_${$["@direction"]}`,Ce.value=me):"@language"in $?(Ce.value=me,Ce.datatype.value=ne||S,Ce.language=$["@language"]):(Ce.value=me,Ce.datatype.value=ne||K)}else if(P.isList($)){const me=function($,Z,oe,se,te){const Ce={termType:"NamedNode",value:x},me={termType:"NamedNode",value:O},ne={termType:"NamedNode",value:A},_e=$.pop(),Ie=_e?{termType:"BlankNode",value:Z.getId()}:ne;let Ge=Ie;for(const st of $){const Xe=E(st,Z,oe,se,te),tt={termType:"BlankNode",value:Z.getId()};oe.push({subject:Ge,predicate:Ce,object:Xe,graph:se}),oe.push({subject:Ge,predicate:me,object:tt,graph:se}),Ge=tt}if(_e){const st=E(_e,Z,oe,se,te);oe.push({subject:Ge,predicate:Ce,object:st,graph:se}),oe.push({subject:Ge,predicate:me,object:ne,graph:se})}return Ie}($["@list"],Z,oe,se,te);Ce.termType=me.termType,Ce.value=me.value}else{const me=z.isObject($)?$["@id"]:$;Ce.termType=me.startsWith("_:")?"BlankNode":"NamedNode",Ce.value=me}return"NamedNode"!==Ce.termType||ce(Ce.value)?Ce:null}Se.exports=D,D.toRDF=($,Z)=>{const oe=new v.IdentifierIssuer("_:b"),se={"@default":{}};W($,se,"@default",oe);const te=[],Ce=Object.keys(se).sort();for(const me of Ce){let ne;if("@default"===me)ne={termType:"DefaultGraph",value:""};else{if(!ce(me))continue;ne=me.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},ne.value=me}I(te,se[me],ne,oe,Z)}return te}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(Y,Se,he){"use strict";const W={};Se.exports=W,W.isArray=Array.isArray,W.isBoolean=j=>"boolean"==typeof j||"[object Boolean]"===Object.prototype.toString.call(j),W.isDouble=j=>W.isNumber(j)&&(-1!==String(j).indexOf(".")||Math.abs(j)>=1e21),W.isEmptyObject=j=>W.isObject(j)&&0===Object.keys(j).length,W.isNumber=j=>"number"==typeof j||"[object Number]"===Object.prototype.toString.call(j),W.isNumeric=j=>!isNaN(parseFloat(j))&&isFinite(j),W.isObject=j=>"[object Object]"===Object.prototype.toString.call(j),W.isString=j=>"string"==typeof j||"[object String]"===Object.prototype.toString.call(j),W.isUndefined=j=>void 0===j},{}],31:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},j.parse=(Q,z)=>{const v={},x=j.parsers[z||"full"],O=x.regex.exec(Q);let A=x.keys.length;for(;A--;)v[x.keys[A]]=void 0===O[A]?null:O[A];return("https"===v.scheme&&"443"===v.port||"http"===v.scheme&&"80"===v.port)&&(v.href=v.href.replace(":"+v.port,""),v.authority=v.authority.replace(":"+v.port,""),v.port=null),v.normalizedPath=j.removeDotSegments(v.path),v},j.prependBase=(Q,z)=>{if(null===Q||j.isAbsolute(z))return z;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));const v=j.parse(z),x={protocol:Q.protocol||""};if(null!==v.authority)x.authority=v.authority,x.path=v.path,x.query=v.query;else if(x.authority=Q.authority,""===v.path)x.path=Q.path,x.query=null!==v.query?v.query:Q.query;else{if(0===v.path.indexOf("/"))x.path=v.path;else{let A=Q.path;A=A.substr(0,A.lastIndexOf("/")+1),(A.length>0||Q.authority)&&"/"!==A.substr(-1)&&(A+="/"),A+=v.path,x.path=A}x.query=v.query}""!==v.path&&(x.path=j.removeDotSegments(x.path));let O=x.protocol;return null!==x.authority&&(O+="//"+x.authority),O+=x.path,null!==x.query&&(O+="?"+x.query),null!==v.fragment&&(O+="#"+v.fragment),""===O&&(O="./"),O},j.removeBase=(Q,z)=>{if(null===Q)return z;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));let v="";if(""!==Q.href?v+=(Q.protocol||"")+"//"+(Q.authority||""):z.indexOf("//")&&(v+="//"),0!==z.indexOf(v))return z;const x=j.parse(z.substr(v.length)),O=Q.normalizedPath.split("/"),A=x.normalizedPath.split("/"),b=x.fragment||x.query?0:1;for(;O.length>0&&A.length>b&&O[0]===A[0];)O.shift(),A.shift();let y="";if(O.length>0){O.pop();for(let S=0;S{if(0===Q.length)return"";const z=Q.split("/"),v=[];for(;z.length>0;){const x=z.shift(),O=0===z.length;"."!==x?".."!==x?v.push(x):(v.pop(),O&&v.push("")):O&&v.push("")}return"/"===Q[0]&&v.length>0&&""!==v[0]&&v.unshift(""),1===v.length&&""===v[0]?"/":v.join("/")};const P=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;j.isAbsolute=Q=>W.isString(Q)&&P.test(Q),j.isRelative=Q=>W.isString(Q)},{"./types":30}],32:[function(Y,Se,he){"use strict";const W=Y("./graphTypes"),j=Y("./types"),P=Y("rdf-canonize").IdentifierIssuer,Q=Y("./JsonLdError"),z=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,v=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,x=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,O_headers={accept:"application/ld+json, application/json"},A={};function b(y,S){if(j.isArray(S))for(let T=0;T{if(Object.keys(y).some(T=>"accept"===T.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+O_headers.accept+'" is supported.');return Object.assign({Accept:O_headers.accept},y)},A.parseLinkHeader=y=>{const S={},T=y.match(z);for(let V=0;V{if(!(j.isString(y)||j.isArray(y)&&y.every(T=>j.isString(T)))){if(S&&j.isObject(y))switch(Object.keys(y).length){case 0:return;case 1:if("@default"in y&&A.asArray(y["@default"]).every(T=>j.isString(T)))return}throw new Q('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:y})}},A.hasProperty=(y,S)=>{if(y.hasOwnProperty(S)){const T=y[S];return!j.isArray(T)||T.length>0}return!1},A.hasValue=(y,S,T)=>{if(A.hasProperty(y,S)){let V=y[S];const R=W.isList(V);if(j.isArray(V)||R){R&&(V=V["@list"]);for(let K=0;K{if("propertyIsArray"in(V=V||{})||(V.propertyIsArray=!1),"valueIsArray"in V||(V.valueIsArray=!1),"allowDuplicate"in V||(V.allowDuplicate=!0),"prependValue"in V||(V.prependValue=!1),V.valueIsArray)y[S]=T;else if(j.isArray(T)){0===T.length&&V.propertyIsArray&&!y.hasOwnProperty(S)&&(y[S]=[]),V.prependValue&&(T=T.concat(y[S]),y[S]=[]);for(let R=0;R[].concat(y[S]||[]),A.removeProperty=(y,S)=>{delete y[S]},A.removeValue=(y,S,T,V)=>{"propertyIsArray"in(V=V||{})||(V.propertyIsArray=!1);const R=A.getValues(y,S).filter(K=>!A.compareValues(K,T));0===R.length?A.removeProperty(y,S):y[S]=1!==R.length||V.propertyIsArray?R:R[0]},A.relabelBlankNodes=(y,S)=>b((S=S||{}).issuer||new P("_:b"),y),A.compareValues=(y,S)=>!!(y===S||W.isValue(y)&&W.isValue(S)&&y["@value"]===S["@value"]&&y["@type"]===S["@type"]&&y["@language"]===S["@language"]&&y["@index"]===S["@index"])||!!(j.isObject(y)&&"@id"in y&&j.isObject(S)&&"@id"in S)&&y["@id"]===S["@id"],A.compareShortestLeast=(y,S)=>y.length1;const V=(X,E,$)=>{const Z=X[b].get(E);if(Z){const oe=Z.value;if(R(X,oe)){if(ce(X,Z),!X[z])return}else $&&(X[y]&&(Z.value.now=Date.now()),X[A].unshiftNode(Z));return oe.value}},R=(X,E)=>{if(!E||!E.maxAge&&!X[v])return!1;const $=Date.now()-E.now;return E.maxAge?$>E.maxAge:X[v]&&$>X[v]},K=X=>{if(X[P]>X[j])for(let E=X[A].tail;X[P]>X[j]&&null!==E;){const $=E.prev;ce(X,E),E=$}},ce=(X,E)=>{if(E){const $=E.value;X[x]&&X[x]($.key,$.value),X[P]-=$.length,X[b].delete($.key),X[A].removeNode(E)}};class D{constructor(E,$,Z,oe,se){this.key=E,this.value=$,this.length=Z,this.now=oe,this.maxAge=se||0}}const I=(X,E,$,Z)=>{let oe=$.value;R(X,oe)&&(ce(X,$),X[z]||(oe=void 0)),oe&&E.call(Z,oe.value,oe.key,X)};Se.exports=class{constructor(E){if("number"==typeof E&&(E={max:E}),E||(E={}),E.max&&("number"!=typeof E.max||E.max<0))throw new TypeError("max must be a non-negative number");this[j]=E.max||1/0;const Z=E.length||S;if(this[Q]="function"!=typeof Z?S:Z,this[z]=E.stale||!1,E.maxAge&&"number"!=typeof E.maxAge)throw new TypeError("maxAge must be a number");this[v]=E.maxAge||0,this[x]=E.dispose,this[O]=E.noDisposeOnSet||!1,this[y]=E.updateAgeOnGet||!1,this.reset()}set max(E){if("number"!=typeof E||E<0)throw new TypeError("max must be a non-negative number");this[j]=E||1/0,K(this)}get max(){return this[j]}set allowStale(E){this[z]=!!E}get allowStale(){return this[z]}set maxAge(E){if("number"!=typeof E)throw new TypeError("maxAge must be a non-negative number");this[v]=E,K(this)}get maxAge(){return this[v]}set lengthCalculator(E){"function"!=typeof E&&(E=S),E!==this[Q]&&(this[Q]=E,this[P]=0,this[A].forEach($=>{$.length=this[Q]($.value,$.key),this[P]+=$.length})),K(this)}get lengthCalculator(){return this[Q]}get length(){return this[P]}get itemCount(){return this[A].length}rforEach(E,$){$=$||this;for(let Z=this[A].tail;null!==Z;){const oe=Z.prev;I(this,E,Z,$),Z=oe}}forEach(E,$){$=$||this;for(let Z=this[A].head;null!==Z;){const oe=Z.next;I(this,E,Z,$),Z=oe}}keys(){return this[A].toArray().map(E=>E.key)}values(){return this[A].toArray().map(E=>E.value)}reset(){this[x]&&this[A]&&this[A].length&&this[A].forEach(E=>this[x](E.key,E.value)),this[b]=new Map,this[A]=new W,this[P]=0}dump(){return this[A].map(E=>!R(this,E)&&{k:E.key,v:E.value,e:E.now+(E.maxAge||0)}).toArray().filter(E=>E)}dumpLru(){return this[A]}set(E,$,Z){if((Z=Z||this[v])&&"number"!=typeof Z)throw new TypeError("maxAge must be a number");const oe=Z?Date.now():0,se=this[Q]($,E);if(this[b].has(E)){if(se>this[j])return ce(this,this[b].get(E)),!1;const me=this[b].get(E).value;return this[x]&&(this[O]||this[x](E,me.value)),me.now=oe,me.maxAge=Z,me.value=$,this[P]+=se-me.length,me.length=se,this.get(E),K(this),!0}const te=new D(E,$,se,oe,Z);return te.length>this[j]?(this[x]&&this[x](E,$),!1):(this[P]+=te.length,this[A].unshift(te),this[b].set(E,this[A].head),K(this),!0)}has(E){if(!this[b].has(E))return!1;const $=this[b].get(E).value;return!R(this,$)}get(E){return V(this,E,!0)}peek(E){return V(this,E,!1)}pop(){const E=this[A].tail;return E?(ce(this,E),E.value):null}del(E){ce(this,this[b].get(E))}load(E){this.reset();const $=Date.now();for(let Z=E.length-1;Z>=0;Z--){const oe=E[Z],se=oe.e||0;if(0===se)this.set(oe.k,oe.v);else{const te=se-$;te>0&&this.set(oe.k,oe.v,te)}}}prune(){this[b].forEach((E,$)=>V(this,$,!1))}}},{yallist:92}],34:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#",P="http://www.w3.org/2000/10/swap/";he.default={xsd:{decimal:`${j}decimal`,boolean:`${j}boolean`,double:`${j}double`,integer:`${j}integer`,string:`${j}string`},rdf:{type:`${W}type`,nil:`${W}nil`,first:`${W}first`,rest:`${W}rest`,langString:`${W}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${P}reify#forSome`,forAll:`${P}reify#forAll`},log:{implies:`${P}log#implies`}}},{}],35:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=he.Variable=he.Triple=he.Term=he.Quad=he.NamedNode=he.Literal=he.DefaultGraph=he.BlankNode=void 0,he.escapeQuotes=E,he.termFromId=function D(ne,_e){if(_e=_e||b,!ne)return _e.defaultGraph();switch(ne[0]){case"?":return _e.variable(ne.substr(1));case"_":return _e.blankNode(ne.substr(2));case'"':if(_e===b)return new V(ne);if('"'===ne[ne.length-1])return _e.literal(ne.substr(1,ne.length-2));const Ie=ne.lastIndexOf('"',ne.length-1);return _e.literal(ne.substr(1,Ie-1),"@"===ne[Ie+1]?ne.substr(Ie+2):_e.namedNode(ne.substr(Ie+3)));case"<":const Ge=A.exec(ne);return _e.quad(D($(Ge[1]),_e),D($(Ge[2]),_e),D($(Ge[3]),_e),Ge[4]&&D($(Ge[4]),_e));default:return _e.namedNode(ne)}},he.termToId=function I(ne){if("string"==typeof ne)return ne;if(ne instanceof S&&"Quad"!==ne.termType)return ne.id;if(!ne)return v.id;switch(ne.termType){case"NamedNode":return ne.value;case"BlankNode":return`_:${ne.value}`;case"Variable":return`?${ne.value}`;case"DefaultGraph":return"";case"Literal":return`"${ne.value}"${ne.language?`@${ne.language}`:ne.datatype&&ne.datatype.value!==z.string?`^^${ne.datatype.value}`:""}`;case"Quad":return`<<${E(I(ne.subject))} ${E(I(ne.predicate))} ${E(I(ne.object))}${(0,j.isDefaultGraph)(ne.graph)?"":` ${I(ne.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${ne.termType}`)}},he.unescapeQuotes=$;var ne,W=(ne=Y("./IRIs"))&&ne.__esModule?ne:{default:ne},j=Y("./N3Util");const{rdf:Q,xsd:z}=W.default;let v,x=0;const O=/^"(.*".*)(?="[^"]*$)/,A=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,b={namedNode:function(ne){return new T(ne)},blankNode:function(ne){return new R(ne||"n3-"+x++)},variable:function(ne){return new K(ne)},literal:function(ne,_e){if("string"==typeof _e)return new V(`"${ne}"@${_e.toLowerCase()}`);let Ie=_e?_e.value:"";return""===Ie&&("boolean"==typeof ne?Ie=z.boolean:"number"==typeof ne&&(Number.isFinite(ne)?Ie=Number.isInteger(ne)?z.integer:z.double:(Ie=z.double,Number.isNaN(ne)||(ne=ne>0?"INF":"-INF")))),new V(""===Ie||Ie===z.string?`"${ne}"`:`"${ne}"^^${Ie}`)},defaultGraph:function(){return v},quad:me,triple:me};he.default=b;class S{constructor(_e){this.id=_e}get value(){return this.id}equals(_e){return _e instanceof S?this.id===_e.id:!!_e&&this.termType===_e.termType&&this.value===_e.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}he.Term=S;class T extends S{get termType(){return"NamedNode"}}he.NamedNode=T;class V extends S{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const _e=this.id;let Ie=_e.lastIndexOf('"')+1;return Ie<_e.length&&"@"===_e[Ie++]?_e.substr(Ie).toLowerCase():""}get datatype(){return new T(this.datatypeString)}get datatypeString(){const _e=this.id,Ie=_e.lastIndexOf('"')+1,Ge=Ie<_e.length?_e[Ie]:"";return"^"===Ge?_e.substr(Ie+2):"@"!==Ge?z.string:Q.langString}equals(_e){return _e instanceof V?this.id===_e.id:!!_e&&!!_e.datatype&&this.termType===_e.termType&&this.value===_e.value&&this.language===_e.language&&this.datatype.value===_e.datatype.value}toJSON(){return{termType:this.termType,value:this.value,language:this.language,datatype:{termType:"NamedNode",value:this.datatypeString}}}}he.Literal=V;class R extends S{constructor(_e){super(`_:${_e}`)}get termType(){return"BlankNode"}get value(){return this.id.substr(2)}}he.BlankNode=R;class K extends S{constructor(_e){super(`?${_e}`)}get termType(){return"Variable"}get value(){return this.id.substr(1)}}he.Variable=K;class ce extends S{constructor(){return super(""),v||this}get termType(){return"DefaultGraph"}equals(_e){return this===_e||!!_e&&this.termType===_e.termType}}he.DefaultGraph=ce,v=new ce;class X extends S{constructor(_e,Ie,Ge,st){super(""),this._subject=_e,this._predicate=Ie,this._object=Ge,this._graph=st||v}get termType(){return"Quad"}get subject(){return this._subject}get predicate(){return this._predicate}get object(){return this._object}get graph(){return this._graph}toJSON(){return{termType:this.termType,subject:this._subject.toJSON(),predicate:this._predicate.toJSON(),object:this._object.toJSON(),graph:this._graph.toJSON()}}equals(_e){return!!_e&&this._subject.equals(_e.subject)&&this._predicate.equals(_e.predicate)&&this._object.equals(_e.object)&&this._graph.equals(_e.graph)}}function E(ne){return ne.replace(O,(_e,Ie)=>`"${Ie.replace(/"/g,'""')}`)}function $(ne){return ne.replace(O,(_e,Ie)=>`"${Ie.replace(/""/g,'"')}`)}function me(ne,_e,Ie,Ge){return new X(ne,_e,Ie,Ge)}he.Triple=he.Quad=X},{"./IRIs":34,"./N3Util":41}],36:[function(Y,Se,he){(function(W){(function(){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var j=Q(Y("./IRIs")),P=Q(Y("queue-microtask"));function Q(S){return S&&S.__esModule?S:{default:S}}const{xsd:z}=j.default,v=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,x={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},O=/[\x00-\x20<>\\"\{\}\|\^\`]/,A={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},b=/$0^/;he.default=class{constructor(T){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(T=T||{}).lineMode){this._n3Mode=!1;for(const V in this)!(V in A)&&this[V]instanceof RegExp&&(this[V]=b)}else this._n3Mode=!1!==T.n3;this._comments=!!T.comments,this._literalClosingPos=0}_tokenizeToEnd(T,V){let R=this._input,K=R.length;for(;;){let I,X;for(;I=this._newline.exec(R);)this._comments&&(X=this._comment.exec(I[0]))&&ce("comment",X[1],"",this._line,I[0].length),R=R.substr(I[0].length,R.length),K=R.length,this._line++;if(!I&&(I=this._whitespace.exec(R))&&(R=R.substr(I[0].length,R.length)),this._endOfFile.test(R))return V&&(this._comments&&(X=this._comment.exec(R))&&ce("comment",X[1],"",this._line,R.length),R=null,ce("eof","","",this._line,0)),this._input=R;const E=this._line,$=R[0];let Z="",oe="",se="",te=null,Ce=0,me=!1;switch($){case"^":if(R.length<3)break;if("^"!==R[1]){this._n3Mode&&(Ce=1,Z="^");break}if(this._previousMarker="^^",R=R.substr(2),"<"!==R[0]){me=!0;break}case"<":if(te=this._unescapedIri.exec(R))Z="IRI",oe=te[1];else if(te=this._iri.exec(R)){if(oe=this._unescape(te[1]),null===oe||O.test(oe))return D(this);Z="IRI"}else R.length>1&&"<"===R[1]?(Z="<<",Ce=2):this._n3Mode&&R.length>1&&"="===R[1]&&(Z="inverse",Ce=2,oe=">");break;case">":R.length>1&&">"===R[1]&&(Z=">>",Ce=2);break;case"_":((te=this._blank.exec(R))||V&&(te=this._blank.exec(`${R} `)))&&(Z="blank",se="_",oe=te[1]);break;case'"':if(te=this._simpleQuotedString.exec(R))oe=te[1];else if(({value:oe,matchLength:Ce}=this._parseLiteral(R)),null===oe)return D(this);(null!==te||0!==Ce)&&(Z="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(te=this._simpleApostropheString.exec(R))oe=te[1];else if(({value:oe,matchLength:Ce}=this._parseLiteral(R)),null===oe)return D(this);(null!==te||0!==Ce)&&(Z="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(te=this._variable.exec(R))&&(Z="var",oe=te[0]);break;case"@":"literal"===this._previousMarker&&(te=this._langcode.exec(R))?(Z="langcode",oe=te[1]):(te=this._keyword.exec(R))&&(Z=te[0]);break;case".":if(1===R.length?V:R[1]<"0"||R[1]>"9"){Z=".",Ce=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(te=this._number.exec(R)||V&&(te=this._number.exec(`${R} `)))&&(Z="literal",oe=te[0],se="string"==typeof te[1]?z.double:"string"==typeof te[2]?z.decimal:z.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(te=this._sparqlKeyword.exec(R))?Z=te[0].toUpperCase():me=!0;break;case"f":case"t":(te=this._boolean.exec(R))?(Z="literal",oe=te[0],se=z.boolean):me=!0;break;case"a":(te=this._shortPredicates.exec(R))?(Z="abbreviation",oe="a"):me=!0;break;case"=":this._n3Mode&&R.length>1&&(Z="abbreviation",">"!==R[1]?(Ce=1,oe="="):(Ce=2,oe=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(Ce=1,Z=$);break;default:me=!0}if(me&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(te=this._prefix.exec(R))?((te=this._prefixed.exec(R))||V&&(te=this._prefixed.exec(`${R} `)))&&(Z="prefixed",se=te[1]||"",oe=this._unescape(te[2])):(Z="prefix",oe=te[1]||"")),"^^"===this._previousMarker)switch(Z){case"prefixed":Z="type";break;case"IRI":Z="typeIRI";break;default:Z=""}if(!Z)return V||!/^'''|^"""/.test(R)&&/\n|\r/.test(R)?D(this):this._input=R;const ne=Ce||te[0].length,_e=ce(Z,oe,se,E,ne);this.previousToken=_e,this._previousMarker=Z,R=R.substr(ne,R.length)}function ce(I,X,E,$,Z){const oe=R?K-R.length:K,te={type:I,value:X,prefix:E,line:$,start:oe,end:oe+Z};return T(null,te),te}function D(I){T(I._syntaxError(/^\S*/.exec(R)[0]))}}_unescape(T){let V=!1;const R=T.replace(v,(K,ce,D,I)=>{if("string"==typeof ce)return String.fromCharCode(Number.parseInt(ce,16));if("string"==typeof D){let X=Number.parseInt(D,16);return X<=65535?String.fromCharCode(Number.parseInt(D,16)):String.fromCharCode(55296+((X-=65536)>>10),56320+(1023&X))}return I in x?x[I]:(V=!0,"")});return V?null:R}_parseLiteral(T){if(T.length>=3){const V=T.match(/^(?:"""|"|'''|'|)/)[0],R=V.length;let K=Math.max(this._literalClosingPos,R);for(;(K=T.indexOf(V,K))>0;){let ce=0;for(;"\\"===T[K-ce-1];)ce++;if(ce%2==0){const D=T.substring(R,K),I=D.split(/\r\n|\r|\n/).length-1,X=K+R;if(1===R&&0!==I||3===R&&this._lineMode)break;return this._line+=I,{value:this._unescape(D),matchLength:X}}K++}this._literalClosingPos=T.length-R+1}return{value:"",matchLength:0}}_syntaxError(T){this._input=null;const V=new Error(`Unexpected "${T}" on line ${this._line}.`);return V.context={token:void 0,line:this._line,previousToken:this.previousToken},V}_readStartingBom(T){return T.startsWith("\ufeff")?T.substr(1):T}tokenize(T,V){if(this._line=1,"string"==typeof T){if(this._input=this._readStartingBom(T),"function"!=typeof V){const R=[];let K;if(this._tokenizeToEnd((ce,D)=>ce?K=ce:R.push(D),!0),K)throw K;return R}(0,P.default)(()=>this._tokenizeToEnd(V,!0))}else this._pendingBuffer=null,"function"==typeof T.setEncoding&&T.setEncoding("utf8"),T.on("data",R=>{null!==this._input&&0!==R.length&&(this._pendingBuffer&&(R=W.concat([this._pendingBuffer,R]),this._pendingBuffer=null),128&R[R.length-1]?this._pendingBuffer=R:(void 0===this._input?this._input=this._readStartingBom("string"==typeof R?R:R.toString()):this._input+=R,this._tokenizeToEnd(V,!1)))}),T.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(V,!0)}),T.on("error",V)}}}).call(this)}).call(this,Y("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var W=Q(Y("./N3Lexer")),j=Q(Y("./N3DataFactory")),P=Q(Y("./IRIs"));function Q(A){return A&&A.__esModule?A:{default:A}}let z=0;class v{constructor(b){this._contextStack=[],this._graph=null,this._setBase((b=b||{}).baseIRI),b.factory&&O(this,b.factory);const y="string"==typeof b.format?b.format.match(/\w*$/)[0].toLowerCase():"",S=/turtle/.test(y),T=/trig/.test(y),V=/triple/.test(y),R=/quad/.test(y),K=this._n3Mode=/n3/.test(y),ce=V||R;(this._supportsNamedGraphs=!(S||K))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(S||T||V||K),this._supportsRDFStar=""===y||/star|\*$/.test(y),ce&&(this._resolveRelativeIRI=D=>null),this._blankNodePrefix="string"!=typeof b.blankNodePrefix?"":b.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=b.lexer||new W.default({lineMode:ce,n3:K}),this._explicitQuantifiers=!!b.explicitQuantifiers}static _resetBlankNodePrefix(){z=0}_setBase(b){if(b){const y=b.indexOf("#");y>=0&&(b=b.substr(0,y)),this._base=b,this._basePath=b.indexOf("/")<0?b:b.replace(/[^\/?]*(?:\?.*)?$/,""),b=b.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=b[0],this._baseScheme=b[1]}else this._base="",this._basePath=""}_saveContext(b,y,S,T,V){const R=this._n3Mode;this._contextStack.push({subject:S,predicate:T,object:V,graph:y,type:b,inverse:!!R&&this._inversePredicate,blankPrefix:R?this._prefixes._:"",quantified:R?this._quantified:null}),R&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const b=this._contextStack.pop(),y=this._n3Mode;this._subject=b.subject,this._predicate=b.predicate,this._object=b.object,this._graph=b.graph,y&&(this._inversePredicate=b.inverse,this._prefixes._=b.blankPrefix,this._quantified=b.quantified)}_readInTopContext(b){switch(b.type){case"eof":return null!==this._graph?this._error("Unclosed graph",b):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(b)}}_readEntity(b,y){let S;switch(b.type){case"IRI":case"typeIRI":const T=this._resolveIRI(b.value);if(null===T)return this._error("Invalid IRI",b);S=this._namedNode(T);break;case"type":case"prefixed":const V=this._prefixes[b.prefix];if(void 0===V)return this._error(`Undefined prefix "${b.prefix}:"`,b);S=this._namedNode(V+b.value);break;case"blank":S=this._blankNode(this._prefixes[b.prefix]+b.value);break;case"var":S=this._variable(b.value.substr(1));break;default:return this._error(`Expected entity but got ${b.type}`,b)}return!y&&this._n3Mode&&S.id in this._quantified&&(S=this._quantified[S.id]),S}_readSubject(b){switch(this._predicate=null,b.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",b);case"}":return this._readPunctuation(b);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',b);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',b);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",b);if(0===b.prefix.length)return this._literalValue=b.value,this._completeSubjectLiteral;this._subject=this._literal(b.value,this._namedNode(b.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._subject=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(b){const y=b.type;switch(y){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[b.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${y}`,b):(this._subject=null,"]"===y?this._readBlankNodeTail(b):this._readPunctuation(b));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",b);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",b);default:if(void 0===(this._predicate=this._readEntity(b)))return}return this._readObject}_readObject(b){switch(b.type){case"literal":if(0===b.prefix.length)return this._literalValue=b.value,this._readDataTypeOrLang;this._object=this._literal(b.value,this._namedNode(b.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._object=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(b){return"{"===b.type?this._readGraph(b):this._readPredicate(b)}_readGraph(b){return"{"!==b.type?this._error(`Expected graph but got ${b.type}`,b):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(b){return"]"===b.type?(this._subject=null,this._readBlankNodeTail(b)):(this._predicate=null,this._readPredicate(b))}_readBlankNodeTail(b){if("]"!==b.type)return this._readBlankNodePunctuation(b);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const y=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:y?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(b){switch(b.type){case".":case"}":return this._subject=null,this._readPunctuation(b);default:return this._readPredicate(b)}}_readListItem(b){let y=null,S=null,T=this._readListItem;const V=this._subject,R=this._contextStack,K=R[R.length-1];switch(b.type){case"[":this._saveContext("blank",this._graph,S=this._blankNode(),this.RDF_FIRST,this._subject=y=this._blankNode()),T=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,S=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==R.length&&"list"===R[R.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(T=this._readPredicate,this._subject===this.RDF_NIL)return T}else if(T=this._getContextEndReader(),this._object===this.RDF_NIL)return T;S=this.RDF_NIL;break;case"literal":0===b.prefix.length?(this._literalValue=b.value,T=this._readListItemDataTypeOrLang):(y=this._literal(b.value,this._namedNode(b.prefix)),T=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);default:if(void 0===(y=this._readEntity(b)))return}if(null===S&&(this._subject=S=this._blankNode()),null===V?null===K.predicate?K.subject=S:K.object=S:this._emit(V,this.RDF_REST,S,this._graph),null!==y){if(this._n3Mode&&("IRI"===b.type||"prefixed"===b.type))return this._saveContext("item",this._graph,S,this.RDF_FIRST,y),this._subject=y,this._predicate=null,this._getPathReader(this._readListItem);this._emit(S,this.RDF_FIRST,y,this._graph)}return T}_readDataTypeOrLang(b){return this._completeObjectLiteral(b,!1)}_readListItemDataTypeOrLang(b){return this._completeObjectLiteral(b,!0)}_completeLiteral(b){let y=this._literal(this._literalValue);switch(b.type){case"type":case"typeIRI":const S=this._readEntity(b);if(void 0===S)return;y=this._literal(this._literalValue,S),b=null;break;case"langcode":y=this._literal(this._literalValue,b.value),b=null}return{token:b,literal:y}}_completeSubjectLiteral(b){return this._subject=this._completeLiteral(b).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(b,y){const S=this._completeLiteral(b);if(S)return this._object=S.literal,y&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===S.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(S.token))}_readFormulaTail(b){return"}"!==b.type?this._readPunctuation(b):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(b){let y,S=this._graph;const T=this._subject,V=this._inversePredicate;switch(b.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",b);if(this._n3Mode)return this._readFormulaTail(b);this._graph=null;case".":this._subject=null,y=this._contextStack.length?this._readSubject:this._readInTopContext,V&&(this._inversePredicate=!1);break;case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(S=this._readEntity(b))){y=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}if(null!==T){const R=this._predicate,K=this._object;V?this._emit(K,R,T,S):this._emit(T,R,K,S)}return y}_readBlankNodePunctuation(b){let y;switch(b.type){case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}return this._emit(this._subject,this._predicate,this._object,this._graph),y}_readQuadPunctuation(b){return"."!==b.type?this._error("Expected dot to follow quad",b):this._readInTopContext}_readPrefix(b){return"prefix"!==b.type?this._error("Expected prefix to follow @prefix",b):(this._prefix=b.value,this._readPrefixIRI)}_readPrefixIRI(b){if("IRI"!==b.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,b);const y=this._readEntity(b);return this._prefixes[this._prefix]=y.value,this._prefixCallback(this._prefix,y),this._readDeclarationPunctuation}_readBaseIRI(b){const y="IRI"===b.type&&this._resolveIRI(b.value);return y?(this._setBase(y),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",b)}_readNamedGraphLabel(b){switch(b.type){case"IRI":case"blank":case"prefixed":return this._readSubject(b),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",b)}}_readNamedGraphBlankLabel(b){return"]"!==b.type?this._error("Invalid graph label",b):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(b){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(b)):"."!==b.type?this._error("Expected declaration to end with a dot",b):this._readInTopContext}_readQuantifierList(b){let y;switch(b.type){case"IRI":case"prefixed":if(void 0!==(y=this._readEntity(b,!0)))break;default:return this._error(`Unexpected ${b.type}`,b)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,y,this.QUANTIFIERS_GRAPH)):this._quantified[y.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(b){return","===b.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(b))}_getPathReader(b){return this._afterPath=b,this._readPath}_readPath(b){switch(b.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const y=this._contextStack,S=y.length&&y[y.length-1];if(S&&"item"===S.type){const T=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,T,this._graph)}return this._afterPath(b)}}_readForwardPath(b){let y,S;const T=this._blankNode();if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(y=this._subject,this._subject=T):(y=this._object,this._object=T),this._emit(y,S,T,this._graph),this._readPath}_readBackwardPath(b){const y=this._blankNode();let S,T;if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(T=this._subject,this._subject=y):(T=this._object,this._object=y),this._emit(y,S,T,this._graph),this._readPath}_readRDFStarTailOrGraph(b){return">>"!==b.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(b))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,b):this._readRDFStarTail(b)}_readRDFStarTail(b){if(">>"!==b.type)return this._error(`Expected >> but got ${b.type}`,b);const y=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=y,this._readPredicate):(this._object=y,this._getContextEndReader())}_getContextEndReader(){const b=this._contextStack;if(!b.length)return this._readPunctuation;switch(b[b.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(b,y,S,T){this._callback(null,this._quad(b,y,S,T||this.DEFAULTGRAPH))}_error(b,y){const S=new Error(`${b} on line ${y.line}.`);S.context={token:y,line:y.line,previousToken:this._lexer.previousToken},this._callback(S),this._callback=x}_resolveIRI(b){return/^[a-z][a-z0-9+.-]*:/i.test(b)?b:this._resolveRelativeIRI(b)}_resolveRelativeIRI(b){if(!b.length)return this._base;switch(b[0]){case"#":return this._base+b;case"?":return this._base.replace(/(?:\?.*)?$/,b);case"/":return("/"===b[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(b);default:return/^[^/:]*:/.test(b)?null:this._removeDotSegments(this._basePath+b)}}_removeDotSegments(b){if(!/(^|\/)\.\.?($|[/#?])/.test(b))return b;const y=b.length;let S="",T=-1,V=-1,R=0,K="/";for(;T=V&&(S=S.substr(0,R)),"/"!==K)return`${S}/${b.substr(T+1)}`;R=T+1}}}K=b[++T]}return S+b.substring(R)}parse(b,y,S){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${z++}_`,this._prefixCallback=S||x,this._inversePredicate=!1,this._quantified=Object.create(null),!y){const T=[];let V;if(this._callback=(R,K)=>{R?V=R:K&&T.push(K)},this._lexer.tokenize(b).every(R=>this._readCallback=this._readCallback(R)),V)throw V;return T}this._callback=y,this._lexer.tokenize(b,(T,V)=>{null!==T?(this._callback(T),this._callback=x):this._readCallback&&(this._readCallback=this._readCallback(V))})}}function x(){}function O(A,b){const y=b.namedNode;A._namedNode=y,A._blankNode=b.blankNode,A._literal=b.literal,A._variable=b.variable,A._quad=b.quad,A.DEFAULTGRAPH=b.defaultGraph(),A.RDF_FIRST=y(P.default.rdf.first),A.RDF_REST=y(P.default.rdf.rest),A.RDF_NIL=y(P.default.rdf.nil),A.N3_FORALL=y(P.default.r.forAll),A.N3_FORSOME=y(P.default.r.forSome),A.ABBREVIATIONS={a:y(P.default.rdf.type),"=":y(P.default.owl.sameAs),">":y(P.default.log.implies)},A.QUANTIFIERS_GRAPH=y("urn:n3:quantifiers")}he.default=v,O(v.prototype,j.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var b,W=function(b,y){if(!y&&b&&b.__esModule)return b;if(null===b||"object"!=typeof b&&"function"!=typeof b)return{default:b};var S=z(y);if(S&&S.has(b))return S.get(b);var T={},V=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in b)if("default"!==R&&Object.prototype.hasOwnProperty.call(b,R)){var K=V?Object.getOwnPropertyDescriptor(b,R):null;K&&(K.get||K.set)?Object.defineProperty(T,R,K):T[R]=b[R]}return T.default=b,S&&S.set(b,T),T}(Y("./N3DataFactory")),j=Y("readable-stream"),P=(b=Y("./IRIs"))&&b.__esModule?b:{default:b};function z(b){if("function"!=typeof WeakMap)return null;var y=new WeakMap,S=new WeakMap;return(z=function(T){return T?S:y})(b)}class x{constructor(y,S){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!S&&y&&!y[0]&&(S=y,y=null),this._factory=(S=S||{}).factory||W.default,y&&this.addQuads(y)}get size(){let y=this._size;if(null!==y)return y;y=0;const S=this._graphs;let T,V;for(const R in S)for(const K in T=S[R].subjects)for(const ce in V=T[K])y+=Object.keys(V[ce]).length;return this._size=y}_addToIndex(y,S,T,V){const R=y[S]||(y[S]={}),K=R[T]||(R[T]={}),ce=V in K;return ce||(K[V]=null),!ce}_removeFromIndex(y,S,T,V){const R=y[S],K=R[T];delete K[V];for(const ce in K)return;delete R[T];for(const ce in R)return;delete y[S]}*_findInIndex(y,S,T,V,R,K,ce,D){let I,X,E;const Z=!S+!T+!V>1?Object.keys(this._ids):this._entities,oe=(0,W.termFromId)(D,this._factory);S&&((I=y,y={})[S]=I[S]);for(const se in y){const te=Z[se];if(X=y[se]){T&&((I=X,X={})[T]=I[T]);for(const Ce in X){const me=Z[Ce];if(E=X[Ce]){const ne=V?V in E?[V]:[]:Object.keys(E);for(let _e=0;_e{T in S||(S[T]=!0,y((0,W.termFromId)(this._entities[T],this._factory)))}}add(y){return this.addQuad(y),this}addQuad(y,S,T,V){S||(V=y.graph,T=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),T=(0,W.termToId)(T),V=(0,W.termToId)(V);let R=this._graphs[V];R||(R=this._graphs[V]={subjects:{},predicates:{},objects:{}},Object.freeze(R));const K=this._ids,ce=this._entities;y=K[y]||(K[ce[++this._id]=y]=this._id),S=K[S]||(K[ce[++this._id]=S]=this._id),T=K[T]||(K[ce[++this._id]=T]=this._id);const D=this._addToIndex(R.subjects,y,S,T);return this._addToIndex(R.predicates,S,T,y),this._addToIndex(R.objects,T,y,S),this._size=null,D}addQuads(y){for(let S=0;S{this.addQuad(S)}),y}removeQuad(y,S,T,V){S||(V=y.graph,T=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),T=(0,W.termToId)(T),V=(0,W.termToId)(V);const R=this._ids,K=this._graphs;let ce,D,I;if(!((y=R[y])&&(S=R[S])&&(T=R[T])&&(ce=K[V])&&(D=ce.subjects[y])&&(I=D[S])&&T in I))return!1;for(y in this._removeFromIndex(ce.subjects,y,S,T),this._removeFromIndex(ce.predicates,S,T,y),this._removeFromIndex(ce.objects,T,y,S),null!==this._size&&this._size--,ce.subjects)return!0;return delete K[V],!0}removeQuads(y){for(let S=0;S{this.removeQuad(S)}),y}removeMatches(y,S,T,V){const R=new j.Readable({objectMode:!0});return R._read=()=>{for(const K of this.readQuads(y,S,T,V))R.push(K);R.push(null)},this.remove(R)}deleteGraph(y){return this.removeMatches(null,null,null,y)}getQuads(y,S,T,V){return[...this.readQuads(y,S,T,V)]}*readQuads(y,S,T,V){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._getGraphs(V),K=this._ids;let ce,D,I,X;if(!(O(y)&&!(D=K[y])||O(S)&&!(I=K[S])||O(T)&&!(X=K[T])))for(const E in R)(ce=R[E])&&(D?X?yield*this._findInIndex(ce.objects,X,D,I,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ce.subjects,D,I,null,"subject","predicate","object",E,null,!0):I?yield*this._findInIndex(ce.predicates,I,X,null,"predicate","object","subject",E,null,!0):X?yield*this._findInIndex(ce.objects,X,null,null,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ce.subjects,null,null,null,"subject","predicate","object",E,null,!0))}match(y,S,T,V){return new A(this,y,S,T,V)}countQuads(y,S,T,V){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._getGraphs(V),K=this._ids;let D,I,X,E,ce=0;if(O(y)&&!(I=K[y])||O(S)&&!(X=K[S])||O(T)&&!(E=K[T]))return 0;for(const $ in R)(D=R[$])&&(ce+=y?T?this._countInIndex(D.objects,E,I,X):this._countInIndex(D.subjects,I,X,E):S?this._countInIndex(D.predicates,X,E,I):this._countInIndex(D.objects,E,I,X));return ce}forEach(y,S,T,V,R){this.some(K=>(y(K),!1),S,T,V,R)}every(y,S,T,V,R){let K=!1;const ce=!this.some(D=>(K=!0,!y(D)),S,T,V,R);return K&&ce}some(y,S,T,V,R){for(const K of this.readQuads(S,T,V,R))if(y(K))return!0;return!1}getSubjects(y,S,T){const V=[];return this.forSubjects(R=>{V.push(R)},y,S,T),V}forSubjects(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.predicates,D,I,y):this._loopByKey1(ce.subjects,D,y):I?this._loopByKey0(ce.objects,I,y):this._loop(ce.subjects,y))}getPredicates(y,S,T){const V=[];return this.forPredicates(R=>{V.push(R)},y,S,T),V}forPredicates(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.objects,I,D,y):this._loopByKey0(ce.subjects,D,y):I?this._loopByKey1(ce.predicates,I,y):this._loop(ce.predicates,y))}getObjects(y,S,T){const V=[];return this.forObjects(R=>{V.push(R)},y,S,T),V}forObjects(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.subjects,D,I,y):this._loopByKey1(ce.objects,D,y):I?this._loopByKey0(ce.predicates,I,y):this._loop(ce.objects,y))}getGraphs(y,S,T){const V=[];return this.forGraphs(R=>{V.push(R)},y,S,T),V}forGraphs(y,S,T,V){for(const R in this._graphs)this.some(K=>(y(K.graph),!0),S,T,V,R)}createBlankNode(y){let S,T;if(y)for(S=y=`_:${y}`,T=1;this._ids[S];)S=y+T++;else do{S="_:b"+this._blankNodeIndex++}while(this._ids[S]);return this._ids[S]=++this._id,this._entities[this._id]=S,this._factory.blankNode(S.substr(2))}extractLists({remove:y=!1,ignoreErrors:S=!1}={}){const T={},V=S?()=>!0:(ce,D)=>{throw new Error(`${ce.value} ${D}`)},R=this.getQuads(null,P.default.rdf.rest,P.default.rdf.nil,null),K=y?[...R]:[];return R.forEach(ce=>{const D=[];let X,E,I=!1;const $=ce.graph;let Z=ce.subject;for(;Z&&!I;){const oe=this.getQuads(null,null,Z,null),se=this.getQuads(Z,null,null,null);let te,Ce=null,me=null,ne=null;for(let _e=0;_e{switch(b){case"data":O=y;break;case"end":A=y}}},(b,y)=>{b&&this.emit("error",b)||y&&this.push(y)},(b,y)=>{this.emit("prefix",b,y)}),this._transform=(b,y,S)=>{O(b),S()},this._flush=b=>{A(),b()}}import(v){return v.on("data",x=>{this.write(x)}),v.on("end",()=>{this.end()}),v.on("error",x=>{this.emit("error",x)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var z,W=Y("readable-stream"),j=(z=Y("./N3Writer"))&&z.__esModule?z:{default:z};he.default=class extends W.Transform{constructor(v){super({encoding:"utf8",writableObjectMode:!0});const x=this._writer=new j.default({write:(O,A,b)=>{this.push(O),b&&b()},end:O=>{this.push(null),O&&O()}},v);this._transform=(O,A,b)=>{x.addQuad(O,b)},this._flush=O=>{x.end(O)}}import(v){return v.on("data",x=>{this.write(x)}),v.on("end",()=>{this.end()}),v.on("error",x=>{this.emit("error",x)}),v.on("prefix",(x,O)=>{this._writer.addPrefix(x,O)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.inDefaultGraph=function(y){return x(y.graph)},he.isBlankNode=function(y){return!!y&&"BlankNode"===y.termType},he.isDefaultGraph=x,he.isLiteral=function(y){return!!y&&"Literal"===y.termType},he.isNamedNode=function(y){return!!y&&"NamedNode"===y.termType},he.isVariable=function(y){return!!y&&"Variable"===y.termType},he.prefix=function(y,S){return b({"":y.value||y},S)("")},he.prefixes=b;var y,W=(y=Y("./N3DataFactory"))&&y.__esModule?y:{default:y};function x(y){return!!y&&"DefaultGraph"===y.termType}function b(y,S){const T=Object.create(null);for(const R in y)V(R,y[R]);function V(R,K){if("string"==typeof K){const ce=Object.create(null);T[R]=D=>ce[D]||(ce[D]=S.namedNode(K+D))}else if(!(R in T))throw new Error(`Unknown prefix: ${R}`);return T[R]}return S=S||W.default,V}},{"./N3DataFactory":35}],42:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var ce,W=(ce=Y("./IRIs"))&&ce.__esModule?ce:{default:ce},j=function(ce,D){if(!D&&ce&&ce.__esModule)return ce;if(null===ce||"object"!=typeof ce&&"function"!=typeof ce)return{default:ce};var I=Q(D);if(I&&I.has(ce))return I.get(ce);var X={},E=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var $ in ce)if("default"!==$&&Object.prototype.hasOwnProperty.call(ce,$)){var Z=E?Object.getOwnPropertyDescriptor(ce,$):null;Z&&(Z.get||Z.set)?Object.defineProperty(X,$,Z):X[$]=ce[$]}return X.default=ce,I&&I.set(ce,X),X}(Y("./N3DataFactory")),P=Y("./N3Util");function Q(ce){if("function"!=typeof WeakMap)return null;var D=new WeakMap,I=new WeakMap;return(Q=function(X){return X?I:D})(ce)}const x=j.default.defaultGraph(),{rdf:O,xsd:A}=W.default,b=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,y=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,S={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class T extends j.Term{equals(){return!1}}function R(ce){let D=S[ce];return void 0===D&&(1===ce.length?(D=ce.charCodeAt(0).toString(16),D="\\u0000".substr(0,6-D.length)+D):(D=(1024*(ce.charCodeAt(0)-55296)+ce.charCodeAt(1)+9216).toString(16),D="\\U00000000".substr(0,10-D.length)+D)),D}function K(ce){return ce.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}he.default=class{constructor(D,I){if(this._prefixRegex=/$0^/,D&&"function"!=typeof D.write&&(I=D,D=null),this._lists=(I=I||{}).lists,D)this._outputStream=D,this._endStream=void 0===I.end||!!I.end;else{let X="";this._outputStream={write(E,$,Z){X+=E,Z&&Z()},end:E=>{E&&E(null,X)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(I.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=x,this._prefixIRIs=Object.create(null),I.prefixes&&this.addPrefixes(I.prefixes),I.baseIRI&&(this._baseMatcher=new RegExp(`^${K(I.baseIRI)}${I.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=I.baseIRI.length))}get _inDefaultGraph(){return x.equals(this._graph)}_write(D,I){this._outputStream.write(D,"utf8",I)}_writeQuad(D,I,X,E,$){try{E.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(x.equals(E)?"":`${this._encodeIriOrBlank(E)} {\n`)),this._graph=E,this._subject=null),D.equals(this._subject)?I.equals(this._predicate)?this._write(`, ${this._encodeObject(X)}`,$):this._write(`;\n ${this._encodePredicate(this._predicate=I)} ${this._encodeObject(X)}`,$):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=D)} ${this._encodePredicate(this._predicate=I)} ${this._encodeObject(X)}`,$)}catch(Z){$&&$(Z)}}_writeQuadLine(D,I,X,E,$){delete this._prefixMatch,this._write(this.quadToString(D,I,X,E),$)}quadToString(D,I,X,E){return`${this._encodeSubject(D)} ${this._encodeIriOrBlank(I)} ${this._encodeObject(X)}${E&&E.value?` ${this._encodeIriOrBlank(E)} .\n`:" .\n"}`}quadsToString(D){return D.map(I=>this.quadToString(I.subject,I.predicate,I.object,I.graph)).join("")}_encodeSubject(D){return"Quad"===D.termType?this._encodeQuad(D):this._encodeIriOrBlank(D)}_encodeIriOrBlank(D){if("NamedNode"!==D.termType)return this._lists&&D.value in this._lists&&(D=this.list(this._lists[D.value])),"id"in D?D.id:`_:${D.value}`;let I=D.value;this._baseMatcher&&this._baseMatcher.test(I)&&(I=I.substr(this._baseLength)),b.test(I)&&(I=I.replace(y,R));const X=this._prefixRegex.exec(I);return X?X[1]?this._prefixIRIs[X[1]]+X[2]:I:`<${I}>`}_encodeLiteral(D){let I=D.value;if(b.test(I)&&(I=I.replace(y,R)),D.language)return`"${I}"@${D.language}`;if(this._lineMode){if(D.datatype.value===A.string)return`"${I}"`}else switch(D.datatype.value){case A.string:return`"${I}"`;case A.boolean:if("true"===I||"false"===I)return I;break;case A.integer:if(/^[+-]?\d+$/.test(I))return I;break;case A.decimal:if(/^[+-]?\d*\.\d+$/.test(I))return I;break;case A.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(I))return I}return`"${I}"^^${this._encodeIriOrBlank(D.datatype)}`}_encodePredicate(D){return D.value===O.type?"a":this._encodeIriOrBlank(D)}_encodeObject(D){switch(D.termType){case"Quad":return this._encodeQuad(D);case"Literal":return this._encodeLiteral(D);default:return this._encodeIriOrBlank(D)}}_encodeQuad({subject:D,predicate:I,object:X,graph:E}){return`<<${this._encodeSubject(D)} ${this._encodePredicate(I)} ${this._encodeObject(X)}${(0,P.isDefaultGraph)(E)?"":` ${this._encodeIriOrBlank(E)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(D,I,X,E,$){void 0===X?this._writeQuad(D.subject,D.predicate,D.object,D.graph,I):"function"==typeof E?this._writeQuad(D,I,X,x,E):this._writeQuad(D,I,X,E||x,$)}addQuads(D){for(let I=0;I.\n`)}if(X){let E="",$="";for(const Z in this._prefixIRIs)E+=E?`|${Z}`:Z,$+=($?"|":"")+this._prefixIRIs[Z];E=K(E),this._prefixRegex=new RegExp(`^(?:${$})[^/]*$|^(${E})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(X?"\n":"",I)}blank(D,I){let E,$,X=D;switch(void 0===D?X=[]:D.termType?X=[{predicate:D,object:I}]:"length"in D||(X=[D]),$=X.length){case 0:return new T("[]");case 1:if(E=X[0],!(E.object instanceof T))return new T(`[ ${this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)} ]`);default:let Z="[";for(let oe=0;oe<$;oe++)E=X[oe],E.predicate.equals(D)?Z+=`, ${this._encodeObject(E.object)}`:(Z+=`${(oe?";\n ":"\n ")+this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)}`,D=E.predicate);return new T(`${Z}\n]`)}}list(D){const I=D&&D.length||0,X=new Array(I);for(let E=0;E{I=null,D(X,E)});if(this._endStream)try{return this._outputStream.end(I)}catch(X){}I&&I()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),Object.defineProperty(he,"BlankNode",{enumerable:!0,get:function(){return O.BlankNode}}),Object.defineProperty(he,"DataFactory",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(he,"DefaultGraph",{enumerable:!0,get:function(){return O.DefaultGraph}}),Object.defineProperty(he,"Lexer",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(he,"Literal",{enumerable:!0,get:function(){return O.Literal}}),Object.defineProperty(he,"NamedNode",{enumerable:!0,get:function(){return O.NamedNode}}),Object.defineProperty(he,"Parser",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(he,"Quad",{enumerable:!0,get:function(){return O.Quad}}),Object.defineProperty(he,"Store",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(he,"StreamParser",{enumerable:!0,get:function(){return z.default}}),Object.defineProperty(he,"StreamWriter",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(he,"Term",{enumerable:!0,get:function(){return O.Term}}),Object.defineProperty(he,"Triple",{enumerable:!0,get:function(){return O.Triple}}),he.Util=void 0,Object.defineProperty(he,"Variable",{enumerable:!0,get:function(){return O.Variable}}),Object.defineProperty(he,"Writer",{enumerable:!0,get:function(){return P.default}}),he.default=void 0,Object.defineProperty(he,"termFromId",{enumerable:!0,get:function(){return O.termFromId}}),Object.defineProperty(he,"termToId",{enumerable:!0,get:function(){return O.termToId}});var W=y(Y("./N3Lexer")),j=y(Y("./N3Parser")),P=y(Y("./N3Writer")),Q=y(Y("./N3Store")),z=y(Y("./N3StreamParser")),v=y(Y("./N3StreamWriter")),x=b(Y("./N3Util"));he.Util=x;var O=b(Y("./N3DataFactory"));function A(T){if("function"!=typeof WeakMap)return null;var V=new WeakMap,R=new WeakMap;return(A=function(K){return K?R:V})(T)}function b(T,V){if(!V&&T&&T.__esModule)return T;if(null===T||"object"!=typeof T&&"function"!=typeof T)return{default:T};var R=A(V);if(R&&R.has(T))return R.get(T);var K={},ce=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var D in T)if("default"!==D&&Object.prototype.hasOwnProperty.call(T,D)){var I=ce?Object.getOwnPropertyDescriptor(T,D):null;I&&(I.get||I.set)?Object.defineProperty(K,D,I):K[D]=T[D]}return K.default=T,R&&R.set(T,K),K}function y(T){return T&&T.__esModule?T:{default:T}}he.default={Lexer:W.default,Parser:j.default,Writer:P.default,Store:Q.default,StreamParser:z.default,StreamWriter:v.default,Util:x,DataFactory:O.default,Term:O.Term,NamedNode:O.NamedNode,Literal:O.Literal,BlankNode:O.BlankNode,Variable:O.Variable,DefaultGraph:O.DefaultGraph,Quad:O.Quad,Triple:O.Triple,termFromId:O.termFromId,termToId:O.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(Y,Se,he){var j,P,W=Se.exports={};function Q(){throw new Error("setTimeout has not been defined")}function z(){throw new Error("clearTimeout has not been defined")}function v(K){if(j===setTimeout)return setTimeout(K,0);if((j===Q||!j)&&setTimeout)return j=setTimeout,setTimeout(K,0);try{return j(K,0)}catch(ce){try{return j.call(null,K,0)}catch(D){return j.call(this,K,0)}}}!function(){try{j="function"==typeof setTimeout?setTimeout:Q}catch(K){j=Q}try{P="function"==typeof clearTimeout?clearTimeout:z}catch(K){P=z}}();var b,O=[],A=!1,y=-1;function S(){!A||!b||(A=!1,b.length?O=b.concat(O):y=-1,O.length&&T())}function T(){if(!A){var K=v(S);A=!0;for(var ce=O.length;ce;){for(b=O,O=[];++y1)for(var D=1;D(j||(j=Promise.resolve())).then(P).catch(Q=>setTimeout(()=>{throw Q},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(Y,Se,he){Se.exports=Y("./lib")},{"./lib":55}],47:[function(Y,Se,he){"use strict";Se.exports=class Hq{constructor(j,P=new Map,Q=0){this.prefix=j,this._existing=P,this.counter=Q}clone(){const{prefix:j,_existing:P,counter:Q}=this;return new Hq(j,new Map(P),Q)}getId(j){const P=j&&this._existing.get(j);if(P)return P;const Q=this.prefix+this.counter;return this.counter++,j&&this._existing.set(j,Q),Q}hasId(j){return this._existing.has(j)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(Y,Se,he){"use strict";Y("setimmediate");const W=self.crypto||self.msCrypto;Se.exports=class{constructor(P){if(!W||!W.subtle)throw new Error("crypto.subtle not found.");if("sha256"===P)this.algorithm={name:"SHA-256"};else{if("sha1"!==P)throw new Error(`Unsupport algorithm "${P}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(P){this._content+=P}digest(){var P=this;return yt(function*(){const Q=(new TextEncoder).encode(P._content),z=new Uint8Array(yield W.subtle.digest(P.algorithm,Q));let v="";for(let x=0;x]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),Se.exports=class a2{static parse(K){const ce=[],D={},I=K.split(A.eoln);let X=0;for(const E of I){if(X++,A.empty.test(E))continue;const $=E.match(A.quad);if(null===$)throw new Error("N-Quads parse error on line "+X+".");const Z={subject:null,predicate:null,object:null,graph:null};if(Z.subject=void 0!==$[1]?{termType:z,value:$[1]}:{termType:v,value:$[2]},Z.predicate={termType:z,value:$[3]},void 0!==$[4]?Z.object={termType:z,value:$[4]}:void 0!==$[5]?Z.object={termType:v,value:$[5]}:(Z.object={termType:x,value:void 0,datatype:{termType:z}},void 0!==$[7]?Z.object.datatype.value=$[7]:void 0!==$[8]?(Z.object.datatype.value=P,Z.object.language=$[8]):Z.object.datatype.value=Q,Z.object.value=$[6].replace(T,function(K,ce,D,I){if(ce)switch(ce){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(D)return String.fromCharCode(parseInt(D,16));if(I)throw new Error("Unsupported U escape")})),Z.graph=void 0!==$[9]?{termType:z,value:$[9]}:void 0!==$[10]?{termType:v,value:$[10]}:{termType:O,value:""},Z.graph.value in D){let oe=!0;const se=D[Z.graph.value];for(const te of se)if(b(te,Z)){oe=!1;break}oe&&(se.push(Z),ce.push(Z))}else D[Z.graph.value]=[Z],ce.push(Z)}return ce}static serialize(K){Array.isArray(K)||(K=a2.legacyDatasetToQuads(K));const ce=[];for(const D of K)ce.push(a2.serializeQuad(D));return ce.sort().join("")}static serializeQuad(K){const ce=K.subject,I=K.object,X=K.graph;let E="";return E+=ce.termType===z?`<${ce.value}>`:`${ce.value}`,E+=` <${K.predicate.value}> `,I.termType===z?E+=`<${I.value}>`:I.termType===v?E+=I.value:(E+=`"${R=I.value,R.replace(y,function(K){switch(K){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,I.datatype.value===P?I.language&&(E+=`@${I.language}`):I.datatype.value!==Q&&(E+=`^^<${I.datatype.value}>`)),X.termType===z?E+=` <${X.value}>`:X.termType===v&&(E+=` ${X.value}`),E+=" .\n",E;var R}static legacyDatasetToQuads(K){const ce=[],D={"blank node":v,IRI:z,literal:x};for(const I in K)K[I].forEach(E=>{const $={};for(const Z in E){const oe=E[Z],se={termType:D[oe.type],value:oe.value};se.termType===x&&(se.datatype={termType:z},"datatype"in oe&&(se.datatype.value=oe.datatype),"language"in oe?("datatype"in oe||(se.datatype.value=P),se.language=oe.language):"datatype"in oe||(se.datatype.value=Q)),$[Z]=se}$.graph="@default"===I?{termType:O,value:""}:{termType:I.startsWith("_:")?v:z,value:I},ce.push($)});return ce}};const y=/["\\\n\r]/g;const T=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(Y,Se,he){"use strict";Se.exports=class{constructor(j){this.current=j.sort(),this.done=!1,this.dir=new Map;for(let P=0;Pz)&&(b&&O>0&&A>j[O-1]||!b&&Oj[O+1])&&(z=A,v=O)}if(null===z)this.done=!0;else{const O=P.get(z)?v-1:v+1;j[v]=j[O],j[O]=z;for(const A of j)A>z&&P.set(A,!P.get(A))}return Q}}},{}],51:[function(Y,Se,he){(function(W){(function(){"use strict";const j=Y("./IdentifierIssuer"),P=Y("./MessageDigest"),Q=Y("./Permuter"),z=Y("./NQuads");function v(x,O){return x.hashO.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new j("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(O){var A=this;return yt(function*(){A.quads=O;for(const K of O)A._addBlankNodeQuadInfo({quad:K,component:K.subject}),A._addBlankNodeQuadInfo({quad:K,component:K.object}),A._addBlankNodeQuadInfo({quad:K,component:K.graph});const b=new Map,y=[...A.blankNodeInfo.keys()];let S=0;for(const K of y)++S%100==0&&(yield A._yield()),yield A._hashAndTrackBlankNode({id:K,hashToBlankNodes:b});const T=[...b.keys()].sort(),V=[];for(const K of T){const ce=b.get(K);ce.length>1?V.push(ce):A.canonicalIssuer.getId(ce[0])}for(const K of V){const ce=[];for(const D of K){if(A.canonicalIssuer.hasId(D))continue;const I=new j("_:b");I.getId(D);const X=yield A.hashNDegreeQuads(D,I);ce.push(X)}ce.sort(v);for(const D of ce){const I=D.issuer.getOldIds();for(const X of I)A.canonicalIssuer.getId(X)}}const R=[];for(const K of A.quads){const ce=ot({},K);ce.subject=A._useCanonicalId({component:ce.subject}),ce.object=A._useCanonicalId({component:ce.object}),ce.graph=A._useCanonicalId({component:ce.graph}),R.push(z.serializeQuad(ce))}return R.sort(),R.join("")})()}hashFirstDegreeQuads(O){var A=this;return yt(function*(){const b=[],y=A.blankNodeInfo.get(O),S=y.quads;for(const V of S){const R={subject:null,predicate:V.predicate,object:null,graph:null};R.subject=A.modifyFirstDegreeComponent(O,V.subject,"subject"),R.object=A.modifyFirstDegreeComponent(O,V.object,"object"),R.graph=A.modifyFirstDegreeComponent(O,V.graph,"graph"),b.push(z.serializeQuad(R))}b.sort();const T=new P(A.hashAlgorithm);for(const V of b)T.update(V);return y.hash=yield T.digest(),y.hash})()}hashRelatedBlankNode(O,A,b,y){var S=this;return yt(function*(){let T;T=S.canonicalIssuer.hasId(O)?S.canonicalIssuer.getId(O):b.hasId(O)?b.getId(O):S.blankNodeInfo.get(O).hash;const V=new P(S.hashAlgorithm);return V.update(y),"g"!==y&&V.update(S.getRelatedPredicate(A)),V.update(T),V.digest()})()}hashNDegreeQuads(O,A){var b=this;return yt(function*(){const y=new P(b.hashAlgorithm),S=yield b.createHashToRelated(O,A),T=[...S.keys()].sort();for(const V of T){y.update(V);let K,R="";const ce=new Q(S.get(V));let D=0;for(;ce.hasNext();){const I=ce.next();++D%3==0&&(yield b._yield());let X=A.clone(),E="";const $=[];let Z=!1;for(const oe of I)if(b.canonicalIssuer.hasId(oe)?E+=b.canonicalIssuer.getId(oe):(X.hasId(oe)||$.push(oe),E+=X.getId(oe)),0!==R.length&&E>R){Z=!0;break}if(!Z){for(const oe of $){const se=yield b.hashNDegreeQuads(oe,X);if(E+=X.getId(oe),E+=`<${se.hash}>`,X=se.issuer,0!==R.length&&E>R){Z=!0;break}}Z||(0===R.length||E`}createHashToRelated(O,A){var b=this;return yt(function*(){const y=new Map,S=b.blankNodeInfo.get(O).quads;let T=0;for(const V of S)++T%100==0&&(yield b._yield()),yield Promise.all([b._addRelatedBlankNodeHash({quad:V,component:V.subject,position:"s",id:O,issuer:A,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:V,component:V.object,position:"o",id:O,issuer:A,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:V,component:V.graph,position:"g",id:O,issuer:A,hashToRelated:y})]);return y})()}_hashAndTrackBlankNode({id:O,hashToBlankNodes:A}){var b=this;return yt(function*(){const y=yield b.hashFirstDegreeQuads(O),S=A.get(y);S?S.push(O):A.set(y,[O])})()}_addBlankNodeQuadInfo({quad:O,component:A}){if("BlankNode"!==A.termType)return;const b=A.value,y=this.blankNodeInfo.get(b);y?y.quads.add(O):this.blankNodeInfo.set(b,{quads:new Set([O]),hash:null})}_addRelatedBlankNodeHash({quad:O,component:A,position:b,id:y,issuer:S,hashToRelated:T}){var V=this;return yt(function*(){if("BlankNode"!==A.termType||A.value===y)return;const R=A.value,K=yield V.hashRelatedBlankNode(R,O,S,b),ce=T.get(K);ce?ce.push(R):T.set(K,[R])})()}_useCanonicalId({component:O}){return"BlankNode"!==O.termType||O.value.startsWith(this.canonicalIssuer.prefix)?O:{termType:"BlankNode",value:this.canonicalIssuer.getId(O.value)}}_yield(){return yt(function*(){return new Promise(O=>W(O))})()}}}).call(this)}).call(this,Y("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(Y,Se,he){"use strict";const W=Y("./IdentifierIssuer"),j=Y("./MessageDigest"),P=Y("./Permuter"),Q=Y("./NQuads");function z(v,x){return v.hashx.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new W("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(x){this.quads=x;for(const T of x)this._addBlankNodeQuadInfo({quad:T,component:T.subject}),this._addBlankNodeQuadInfo({quad:T,component:T.object}),this._addBlankNodeQuadInfo({quad:T,component:T.graph});const O=new Map,A=[...this.blankNodeInfo.keys()];for(const T of A)this._hashAndTrackBlankNode({id:T,hashToBlankNodes:O});const b=[...O.keys()].sort(),y=[];for(const T of b){const V=O.get(T);V.length>1?y.push(V):this.canonicalIssuer.getId(V[0])}for(const T of y){const V=[];for(const R of T){if(this.canonicalIssuer.hasId(R))continue;const K=new W("_:b");K.getId(R);const ce=this.hashNDegreeQuads(R,K);V.push(ce)}V.sort(z);for(const R of V){const K=R.issuer.getOldIds();for(const ce of K)this.canonicalIssuer.getId(ce)}}const S=[];for(const T of this.quads){const V=ot({},T);V.subject=this._useCanonicalId({component:V.subject}),V.object=this._useCanonicalId({component:V.object}),V.graph=this._useCanonicalId({component:V.graph}),S.push(Q.serializeQuad(V))}return S.sort(),S.join("")}hashFirstDegreeQuads(x){const O=[],A=this.blankNodeInfo.get(x),b=A.quads;for(const S of b){const T={subject:null,predicate:S.predicate,object:null,graph:null};T.subject=this.modifyFirstDegreeComponent(x,S.subject,"subject"),T.object=this.modifyFirstDegreeComponent(x,S.object,"object"),T.graph=this.modifyFirstDegreeComponent(x,S.graph,"graph"),O.push(Q.serializeQuad(T))}O.sort();const y=new j(this.hashAlgorithm);for(const S of O)y.update(S);return A.hash=y.digest(),A.hash}hashRelatedBlankNode(x,O,A,b){let y;y=this.canonicalIssuer.hasId(x)?this.canonicalIssuer.getId(x):A.hasId(x)?A.getId(x):this.blankNodeInfo.get(x).hash;const S=new j(this.hashAlgorithm);return S.update(b),"g"!==b&&S.update(this.getRelatedPredicate(O)),S.update(y),S.digest()}hashNDegreeQuads(x,O){const A=new j(this.hashAlgorithm),b=this.createHashToRelated(x,O),y=[...b.keys()].sort();for(const S of y){A.update(S);let V,T="";const R=new P(b.get(S));for(;R.hasNext();){const K=R.next();let ce=O.clone(),D="";const I=[];let X=!1;for(const E of K)if(this.canonicalIssuer.hasId(E)?D+=this.canonicalIssuer.getId(E):(ce.hasId(E)||I.push(E),D+=ce.getId(E)),0!==T.length&&D>T){X=!0;break}if(!X){for(const E of I){const $=this.hashNDegreeQuads(E,ce);if(D+=ce.getId(E),D+=`<${$.hash}>`,ce=$.issuer,0!==T.length&&D>T){X=!0;break}}X||(0===T.length||D`}createHashToRelated(x,O){const A=new Map,b=this.blankNodeInfo.get(x).quads;for(const y of b)this._addRelatedBlankNodeHash({quad:y,component:y.subject,position:"s",id:x,issuer:O,hashToRelated:A}),this._addRelatedBlankNodeHash({quad:y,component:y.object,position:"o",id:x,issuer:O,hashToRelated:A}),this._addRelatedBlankNodeHash({quad:y,component:y.graph,position:"g",id:x,issuer:O,hashToRelated:A});return A}_hashAndTrackBlankNode({id:x,hashToBlankNodes:O}){const A=this.hashFirstDegreeQuads(x),b=O.get(A);b?b.push(x):O.set(A,[x])}_addBlankNodeQuadInfo({quad:x,component:O}){if("BlankNode"!==O.termType)return;const A=O.value,b=this.blankNodeInfo.get(A);b?b.quads.add(x):this.blankNodeInfo.set(A,{quads:new Set([x]),hash:null})}_addRelatedBlankNodeHash({quad:x,component:O,position:A,id:b,issuer:y,hashToRelated:S}){if("BlankNode"!==O.termType||O.value===b)return;const T=O.value,V=this.hashRelatedBlankNode(T,x,y,A),R=S.get(V);R?R.push(T):S.set(V,[T])}_useCanonicalId({component:x}){return"BlankNode"!==x.termType||x.value.startsWith(this.canonicalIssuer.prefix)?x:{termType:"BlankNode",value:this.canonicalIssuer.getId(x.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(P,Q,z){return"BlankNode"!==Q.termType?Q:"graph"===z?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===P?"_:a":"_:z"}}getRelatedPredicate(P){return P.predicate.value}createHashToRelated(P,Q){var z=this;return yt(function*(){const v=new Map,x=z.blankNodeInfo.get(P).quads;let O=0;for(const A of x){let b,y;if("BlankNode"===A.subject.termType&&A.subject.value!==P)y=A.subject.value,b="p";else{if("BlankNode"!==A.object.termType||A.object.value===P)continue;y=A.object.value,b="r"}++O%100==0&&(yield z._yield());const S=yield z.hashRelatedBlankNode(y,A,Q,b),T=v.get(S);T?T.push(y):v.set(S,[y])}return v})()}}},{"./URDNA2015":51}],54:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015Sync");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(P,Q,z){return"BlankNode"!==Q.termType?Q:"graph"===z?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===P?"_:a":"_:z"}}getRelatedPredicate(P){return P.predicate.value}createHashToRelated(P,Q){const z=new Map,v=this.blankNodeInfo.get(P).quads;for(const x of v){let O,A;if("BlankNode"===x.subject.termType&&x.subject.value!==P)A=x.subject.value,O="p";else{if("BlankNode"!==x.object.termType||x.object.value===P)continue;A=x.object.value,O="r"}const b=this.hashRelatedBlankNode(A,x,Q,O),y=z.get(b);y?y.push(A):z.set(b,[A])}return z}}},{"./URDNA2015Sync":52}],55:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015"),j=Y("./URGNA2012"),P=Y("./URDNA2015Sync"),Q=Y("./URGNA2012Sync");let z;try{z=Y("rdf-canonize-native")}catch(x){}const v={};Se.exports=v,v.NQuads=Y("./NQuads"),v.IdentifierIssuer=Y("./IdentifierIssuer"),v._rdfCanonizeNative=function(x){return x&&(z=x),z},v.canonize=function(){var x=yt(function*(O,A){if(Array.isArray(O)||(O=v.NQuads.legacyDatasetToQuads(O)),A.useNative){if(!z)throw new Error("rdf-canonize-native not available");return new Promise((b,y)=>z.canonize(O,A,(S,T)=>S?y(S):b(T)))}if("URDNA2015"===A.algorithm)return new W(A).main(O);if("URGNA2012"===A.algorithm)return new j(A).main(O);throw"algorithm"in A?new Error("Invalid RDF Dataset Canonicalization algorithm: "+A.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(O,A){return x.apply(this,arguments)}}(),v._canonizeSync=function(x,O){if(Array.isArray(x)||(x=v.NQuads.legacyDatasetToQuads(x)),O.useNative){if(z)return z.canonizeSync(x,O);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===O.algorithm)return new P(O).main(x);if("URGNA2012"===O.algorithm)return new Q(O).main(x);throw"algorithm"in O?new Error("Invalid RDF Dataset Canonicalization algorithm: "+O.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(P,Q,z,v){void 0===v&&(v=z),Object.defineProperty(P,v,{enumerable:!0,get:function(){return Q[z]}})}:function(P,Q,z,v){void 0===v&&(v=z),P[v]=Q[z]}),j=this&&this.__exportStar||function(P,Q){for(var z in P)"default"!==z&&!Object.prototype.hasOwnProperty.call(Q,z)&&W(Q,P,z)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/BlankNode"),he),j(Y("./lib/DataFactory"),he),j(Y("./lib/DefaultGraph"),he),j(Y("./lib/Literal"),he),j(Y("./lib/NamedNode"),he),j(Y("./lib/Quad"),he),j(Y("./lib/Variable"),he)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.BlankNode=void 0;he.BlankNode=class{constructor(P){this.termType="BlankNode",this.value=P}equals(P){return!!P&&"BlankNode"===P.termType&&P.value===this.value}}},{}],58:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DataFactory=void 0;const W=Y("./BlankNode"),j=Y("./DefaultGraph"),P=Y("./Literal"),Q=Y("./NamedNode"),z=Y("./Quad"),v=Y("./Variable");let x=0;he.DataFactory=class{constructor(b){this.blankNodeCounter=0,this.blankNodePrefix=(b=b||{}).blankNodePrefix||`df_${x++}_`}namedNode(b){return new Q.NamedNode(b)}blankNode(b){return new W.BlankNode(b||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(b,y){return new P.Literal(b,y)}variable(b){return new v.Variable(b)}defaultGraph(){return j.DefaultGraph.INSTANCE}quad(b,y,S,T){return new z.Quad(b,y,S,T||this.defaultGraph())}fromTerm(b){switch(b.termType){case"NamedNode":return this.namedNode(b.value);case"BlankNode":return this.blankNode(b.value);case"Literal":return b.language?this.literal(b.value,b.language):b.datatype.equals(P.Literal.XSD_STRING)?this.literal(b.value):this.literal(b.value,this.fromTerm(b.datatype));case"Variable":return this.variable(b.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(b.subject),this.fromTerm(b.predicate),this.fromTerm(b.object),this.fromTerm(b.graph))}}fromQuad(b){return this.fromTerm(b)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DefaultGraph=void 0;class W{constructor(){this.termType="DefaultGraph",this.value=""}equals(P){return!!P&&"DefaultGraph"===P.termType}}he.DefaultGraph=W,W.INSTANCE=new W},{}],60:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Literal=void 0;const W=Y("./NamedNode");class j{constructor(Q,z){this.termType="Literal",this.value=Q,"string"==typeof z?(this.language=z,this.datatype=j.RDF_LANGUAGE_STRING):z?(this.language="",this.datatype=z):(this.language="",this.datatype=j.XSD_STRING)}equals(Q){return!!Q&&"Literal"===Q.termType&&Q.value===this.value&&Q.language===this.language&&Q.datatype.equals(this.datatype)}}he.Literal=j,j.RDF_LANGUAGE_STRING=new W.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),j.XSD_STRING=new W.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.NamedNode=void 0;he.NamedNode=class{constructor(P){this.termType="NamedNode",this.value=P}equals(P){return!!P&&"NamedNode"===P.termType&&P.value===this.value}}},{}],62:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Quad=void 0;he.Quad=class{constructor(P,Q,z,v){this.termType="Quad",this.value="",this.subject=P,this.predicate=Q,this.object=z,this.graph=v}equals(P){return!!P&&("Quad"===P.termType||!P.termType)&&this.subject.equals(P.subject)&&this.predicate.equals(P.predicate)&&this.object.equals(P.object)&&this.graph.equals(P.graph)}}},{}],63:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Variable=void 0;he.Variable=class{constructor(P){this.termType="Variable",this.value=P}equals(P){return!!P&&"Variable"===P.termType&&P.value===this.value}}},{}],64:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(P,Q,z,v){void 0===v&&(v=z),Object.defineProperty(P,v,{enumerable:!0,get:function(){return Q[z]}})}:function(P,Q,z,v){void 0===v&&(v=z),P[v]=Q[z]}),j=this&&this.__exportStar||function(P,Q){for(var z in P)"default"!==z&&!Object.prototype.hasOwnProperty.call(Q,z)&&W(Q,P,z)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/RdfXmlParser"),he)},{"./lib/RdfXmlParser":66}],65:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseError=void 0;class W extends Error{constructor(P,Q){const z=P.saxStream._parser;super(P.trackPosition?`Line ${z.line+1} column ${z.column+1}: ${Q}`:Q)}}he.ParseError=W},{}],66:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseType=he.RdfXmlParser=void 0;const W=Y("relative-to-absolute-iri"),j=Y("sax"),P=Y("stream"),Q=Y("./ParseError"),z=Y("rdf-data-factory");class v extends P.Transform{constructor(A){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},A&&(Object.assign(this,A),this.options=A),this.dataFactory||(this.dataFactory=new z.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=j.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(A,b){const y={};let S=!1;for(const V in A.attributes)V.startsWith("xmlns")&&(5===V.length?(S=!0,y[""]=A.attributes[V]):":"===V.charAt(5)&&(S=!0,y[V.substr(6)]=A.attributes[V]));const T=b&&b.ns?b.ns:[v.DEFAULT_NS];return S?T.concat([y]):T}static expandPrefixedTerm(A,b,y){const S=A.indexOf(":");let T,V;S>=0?(T=A.substr(0,S),V=A.substr(S+1)):(T="",V=A);let R=null,K=null;for(let ce=b.length-1;ce>=0;ce--){const D=b[ce][T];if(D){R=D;break}K||(K=b[ce][""])}if(!R){if(T&&"xmlns"!==T)throw new Q.ParseError(y,`The prefix '${T}' in term '${A}' was not bound.`);R=K||""}return{prefix:T,local:V,uri:R}}static isValidIri(A){return v.IRI_REGEX.test(A)}import(A){const b=new P.PassThrough({readableObjectMode:!0});A.on("error",S=>y.emit("error",S)),A.on("data",S=>b.push(S)),A.on("end",()=>b.push(null));const y=b.pipe(new v(this.options));return y}_transform(A,b,y){try{this.saxStream.write(A,b)}catch(S){return y(S)}y()}newParseError(A){return new Q.ParseError(this,A)}valueToUri(A,b){return this.uriToNamedNode(W.resolve(A,b.baseIRI))}uriToNamedNode(A){if(!v.isValidIri(A))throw this.newParseError(`Invalid URI: ${A}`);return this.dataFactory.namedNode(A)}validateNcname(A){if(!v.NCNAME_MATCHER.test(A))throw this.newParseError(`Not a valid NCName: ${A}`)}attachSaxListeners(){this.saxStream.on("error",A=>this.emit("error",A)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(A){const b=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let y=x.RESOURCE;if(b&&(b.hadChildren=!0,y=b.childrenParseType),b&&b.childrenStringTags){const T=A.name;let V="";for(const D in A.attributes)V+=` ${D}="${A.attributes[D]}"`;b.childrenStringTags.push(`<${T}${V}>`);const ce={childrenStringTags:b.childrenStringTags};return ce.childrenStringEmitClosingTag=``,void this.activeTagStack.push(ce)}const S={};b?(S.language=b.language,S.baseIRI=b.baseIRI):S.baseIRI=this.baseIRI,this.activeTagStack.push(S),S.ns=v.parseNamespace(A,b),y===x.RESOURCE?this.onTagResource(A,S,b,!b):this.onTagProperty(A,S,b)}onTagResource(A,b,y,S){const T=v.expandPrefixedTerm(A.name,b.ns,this);b.childrenParseType=x.PROPERTY;let V=!0;if(T.uri===v.RDF){if(!S&&v.FORBIDDEN_NODE_ELEMENTS.indexOf(T.local)>=0)throw this.newParseError(`Illegal node element name: ${T.local}`);switch(T.local){case"RDF":b.childrenParseType=x.RESOURCE;case"Description":V=!1}}const R=[],K=[];let ce=null,D=!1,I=!1,X=null;for(const E in A.attributes){const $=A.attributes[E],Z=v.expandPrefixedTerm(E,b.ns,this);if(y&&Z.uri===v.RDF)switch(Z.local){case"about":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);ce=$;continue;case"ID":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);this.validateNcname($),ce="#"+$,D=!0;continue;case"nodeID":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);this.validateNcname($),ce=$,I=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":X=$;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(Z.uri===v.XML){if("lang"===Z.local){b.language=""===$?null:$.toLowerCase();continue}if("base"===Z.local){b.baseIRI=W.resolve($,b.baseIRI);continue}}"xml"!==Z.prefix&&Z.uri&&(R.push(this.uriToNamedNode(Z.uri+Z.local)),K.push($))}if(null!==ce&&(b.subject=I?this.dataFactory.blankNode(ce):this.valueToUri(ce,b),D&&this.claimNodeId(b.subject)),b.subject||(b.subject=this.dataFactory.blankNode()),V){const E=this.uriToNamedNode(T.uri+T.local);this.emitTriple(b.subject,this.dataFactory.namedNode(v.RDF+"type"),E,y?y.reifiedStatementId:null)}if(y){if(y.predicate)if(y.childrenCollectionSubject){const E=this.dataFactory.blankNode();this.emitTriple(y.childrenCollectionSubject,y.childrenCollectionPredicate,E,y.reifiedStatementId),this.emitTriple(E,this.dataFactory.namedNode(v.RDF+"first"),b.subject,b.reifiedStatementId),y.childrenCollectionSubject=E,y.childrenCollectionPredicate=this.dataFactory.namedNode(v.RDF+"rest")}else{this.emitTriple(y.subject,y.predicate,b.subject,y.reifiedStatementId);for(let E=0;E=0)throw this.newParseError(`Illegal property element name: ${S.local}`);b.predicateSubPredicates=[],b.predicateSubObjects=[];let T=!1,V=!1,R=null,K=!0;const ce=[],D=[];for(const I in A.attributes){const X=A.attributes[I],E=v.expandPrefixedTerm(I,b.ns,this);if(E.uri===v.RDF)switch(E.local){case"resource":if(R)throw this.newParseError(`Found both rdf:resource (${X}) and rdf:nodeID (${R}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${X})`);b.hadChildren=!0,R=X,K=!1;continue;case"datatype":if(V)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${X}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${X})`);b.datatype=this.valueToUri(X,b);continue;case"nodeID":if(V)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${X}).`);if(b.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${X}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${X})`);this.validateNcname(X),b.hadChildren=!0,R=X,K=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(V)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(b.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${b.datatype.value})`);if(R)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${R})`);if("Resource"===X){T=!0,b.childrenParseType=x.PROPERTY;const $=this.dataFactory.blankNode();this.emitTriple(b.subject,b.predicate,$,b.reifiedStatementId),b.subject=$,b.predicate=null}else"Collection"===X?(T=!0,b.hadChildren=!0,b.childrenCollectionSubject=b.subject,b.childrenCollectionPredicate=b.predicate,K=!1):"Literal"===X&&(T=!0,b.childrenTagsToString=!0,b.childrenStringTags=[]);continue;case"ID":this.validateNcname(X),b.reifiedStatementId=this.valueToUri("#"+X,b),this.claimNodeId(b.reifiedStatementId);continue}else if(E.uri===v.XML&&"lang"===E.local){b.language=""===X?null:X.toLowerCase();continue}if("xml"!==E.prefix&&"xmlns"!==E.prefix&&E.uri){if(T||b.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${X}`);b.hadChildren=!0,V=!0,ce.push(this.uriToNamedNode(E.uri+E.local)),D.push(this.dataFactory.literal(X,b.datatype||b.language))}}if(null!==R){const I=b.subject;b.subject=K?this.dataFactory.blankNode(R):this.valueToUri(R,b),this.emitTriple(I,b.predicate,b.subject,b.reifiedStatementId);for(let X=0;X/g,(b,y,S)=>(this.saxStream._parser.ENTITIES[y]=S,""))}}var x,O;he.RdfXmlParser=v,v.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,v.MIME_TYPE="application/rdf+xml",v.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",v.XML="http://www.w3.org/XML/1998/namespace",v.XMLNS="http://www.w3.org/2000/xmlns/",v.DEFAULT_NS={xml:v.XML},v.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],v.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],v.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(O=x=he.ParseType||(he.ParseType={}))[O.RESOURCE=0]="RESOURCE",O[O.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(Y,Se,he){"use strict";var j={};function P(O,A,b){b||(b=Error);var S=function(T){function V(R,K,ce){return T.call(this,function(T,V,R){return"string"==typeof A?A:A(T,V,R)}(R,K,ce))||this}return function(O,A){O.prototype=Object.create(A.prototype),O.prototype.constructor=O,O.__proto__=A}(V,T),V}(b);S.prototype.name=b.name,S.prototype.code=O,j[O]=S}function Q(O,A){if(Array.isArray(O)){var b=O.length;return O=O.map(function(y){return String(y)}),b>2?"one of ".concat(A," ").concat(O.slice(0,b-1).join(", "),", or ")+O[b-1]:2===b?"one of ".concat(A," ").concat(O[0]," or ").concat(O[1]):"of ".concat(A," ").concat(O[0])}return"of ".concat(A," ").concat(String(O))}P("ERR_INVALID_OPT_VALUE",function(O,A){return'The value "'+A+'" is invalid for option "'+O+'"'},TypeError),P("ERR_INVALID_ARG_TYPE",function(O,A,b){var y,S;if("string"==typeof A&&function(O,A,b){return O.substr(!b||b<0?0:+b,A.length)===A}(A,"not ")?(y="must not be",A=A.replace(/^not /,"")):y="must be",function(O,A,b){return(void 0===b||b>O.length)&&(b=O.length),O.substring(b-A.length,b)===A}(O," argument"))S="The ".concat(O," ").concat(y," ").concat(Q(A,"type"));else{var T=function(O,A,b){return"number"!=typeof b&&(b=0),!(b+A.length>O.length)&&-1!==O.indexOf(A,b)}(O,".")?"property":"argument";S='The "'.concat(O,'" ').concat(T," ").concat(y," ").concat(Q(A,"type"))}return S+". Received type ".concat(typeof b)},TypeError),P("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),P("ERR_METHOD_NOT_IMPLEMENTED",function(O){return"The "+O+" method is not implemented"}),P("ERR_STREAM_PREMATURE_CLOSE","Premature close"),P("ERR_STREAM_DESTROYED",function(O){return"Cannot call "+O+" after a stream was destroyed"}),P("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),P("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),P("ERR_STREAM_WRITE_AFTER_END","write after end"),P("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),P("ERR_UNKNOWN_ENCODING",function(O){return"Unknown encoding: "+O},TypeError),P("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Se.exports.codes=j},{}],68:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Object.keys||function(y){var S=[];for(var T in y)S.push(T);return S};Se.exports=O;var P=Y("./_stream_readable"),Q=Y("./_stream_writable");Y("inherits")(O,P);for(var z=j(Q.prototype),v=0;v0)if("string"!=typeof L&&!Qe.objectMode&&Object.getPrototypeOf(L)!==x.prototype&&(L=function(ve){return x.from(ve)}(L)),B)Qe.endEmitted?se(ve,new E):Ie(ve,Qe,L,!0);else if(Qe.ended)se(ve,new I);else{if(Qe.destroyed)return!1;Qe.reading=!1,Qe.decoder&&!N?(L=Qe.decoder.write(L),Qe.objectMode||0!==L.length?Ie(ve,Qe,L,!1):Ke(ve,Qe)):Ie(ve,Qe,L,!1)}else B||(Qe.reading=!1,Ke(ve,Qe));return!Qe.ended&&(Qe.lengthL.highWaterMark&&(L.highWaterMark=function(ve){return ve>=st?ve=st:(ve--,ve|=ve>>>1,ve|=ve>>>2,ve|=ve>>>4,ve|=ve>>>8,ve|=ve>>>16,ve++),ve}(ve)),ve<=L.length?ve:L.ended?L.length:(L.needReadable=!0,0))}function Ue(ve){var L=ve._readableState;S("emitReadable",L.needReadable,L.emittedReadable),L.needReadable=!1,L.emittedReadable||(S("emitReadable",L.flowing),L.emittedReadable=!0,W.nextTick(ke,ve))}function ke(ve){var L=ve._readableState;S("emitReadable_",L.destroyed,L.length,L.ended),!L.destroyed&&(L.length||L.ended)&&(ve.emit("readable"),L.emittedReadable=!1),L.needReadable=!L.flowing&&!L.ended&&L.length<=L.highWaterMark,pe(ve)}function Ke(ve,L){L.readingMore||(L.readingMore=!0,W.nextTick(Me,ve,L))}function Me(ve,L){for(;!L.reading&&!L.ended&&(L.length0,L.resumeScheduled&&!L.paused?L.flowing=!0:ve.listenerCount("data")>0&&ve.resume()}function Ne(ve){S("readable nexttick read 0"),ve.read(0)}function G(ve,L){S("resume",L.reading),L.reading||ve.read(0),L.resumeScheduled=!1,ve.emit("resume"),pe(ve),L.flowing&&!L.reading&&ve.read(0)}function pe(ve){var L=ve._readableState;for(S("flow",L.flowing);L.flowing&&null!==ve.read(););}function ue(ve,L){return 0===L.length?null:(L.objectMode?N=L.buffer.shift():!ve||ve>=L.length?(N=L.decoder?L.buffer.join(""):1===L.buffer.length?L.buffer.first():L.buffer.concat(L.length),L.buffer.clear()):N=L.buffer.consume(ve,L.decoder),N);var N}function je(ve){var L=ve._readableState;S("endReadable",L.endEmitted),L.endEmitted||(L.ended=!0,W.nextTick(_t,L,ve))}function _t(ve,L){if(S("endReadableNT",ve.endEmitted,ve.length),!ve.endEmitted&&0===ve.length&&(ve.endEmitted=!0,L.readable=!1,L.emit("end"),ve.autoDestroy)){var N=L._writableState;(!N||N.autoDestroy&&N.finished)&&L.destroy()}}function pt(ve,L){for(var N=0,B=ve.length;N=L.highWaterMark:L.length>0)||L.ended))return S("read: emitReadable",L.length,L.ended),0===L.length&&L.ended?je(this):Ue(this),null;if(0===(ve=tt(ve,L))&&L.ended)return 0===L.length&&je(this),null;var Re,B=L.needReadable;return S("need readable",B),(0===L.length||L.length-ve0?ue(ve,L):null)?(L.needReadable=L.length<=L.highWaterMark,ve=0):(L.length-=ve,L.awaitDrain=0),0===L.length&&(L.ended||(L.needReadable=!0),N!==ve&&L.ended&&je(this)),null!==Re&&this.emit("data",Re),Re},ne.prototype._read=function(ve){se(this,new X("_read()"))},ne.prototype.pipe=function(ve,L){var N=this,B=this._readableState;switch(B.pipesCount){case 0:B.pipes=ve;break;case 1:B.pipes=[B.pipes,ve];break;default:B.pipes.push(ve)}B.pipesCount+=1,S("pipe count=%d opts=%j",B.pipesCount,L);var Qe=L&&!1===L.end||ve===W.stdout||ve===W.stderr?gs:Nt;function St(Bs,Qr){S("onunpipe"),Bs===N&&Qr&&!1===Qr.hasUnpiped&&(Qr.hasUnpiped=!0,S("cleanup"),ve.removeListener("close",Xr),ve.removeListener("finish",Ls),ve.removeListener("drain",On),ve.removeListener("error",wi),ve.removeListener("unpipe",St),N.removeListener("end",Nt),N.removeListener("end",gs),N.removeListener("data",Ti),kn=!0,B.awaitDrain&&(!ve._writableState||ve._writableState.needDrain)&&On())}function Nt(){S("onend"),ve.end()}B.endEmitted?W.nextTick(Qe):N.once("end",Qe),ve.on("unpipe",St);var On=function(ve){return function(){var N=ve._readableState;S("pipeOnDrain",N.awaitDrain),N.awaitDrain&&N.awaitDrain--,0===N.awaitDrain&&z(ve,"data")&&(N.flowing=!0,pe(ve))}}(N);ve.on("drain",On);var kn=!1;function Ti(Bs){S("ondata");var Qr=ve.write(Bs);S("dest.write",Qr),!1===Qr&&((1===B.pipesCount&&B.pipes===ve||B.pipesCount>1&&-1!==pt(B.pipes,ve))&&!kn&&(S("false write response, pause",B.awaitDrain),B.awaitDrain++),N.pause())}function wi(Bs){S("onerror",Bs),gs(),ve.removeListener("error",wi),0===z(ve,"error")&&se(ve,Bs)}function Xr(){ve.removeListener("finish",Ls),gs()}function Ls(){S("onfinish"),ve.removeListener("close",Xr),gs()}function gs(){S("unpipe"),N.unpipe(ve)}return N.on("data",Ti),function(ve,L,N){if("function"==typeof ve.prependListener)return ve.prependListener(L,N);ve._events&&ve._events[L]?Array.isArray(ve._events[L])?ve._events[L].unshift(N):ve._events[L]=[N,ve._events[L]]:ve.on(L,N)}(ve,"error",wi),ve.once("close",Xr),ve.once("finish",Ls),ve.emit("pipe",N),B.flowing||(S("pipe resume"),N.resume()),ve},ne.prototype.unpipe=function(ve){var L=this._readableState,N={hasUnpiped:!1};if(0===L.pipesCount)return this;if(1===L.pipesCount)return ve&&ve!==L.pipes||(ve||(ve=L.pipes),L.pipes=null,L.pipesCount=0,L.flowing=!1,ve&&ve.emit("unpipe",this,N)),this;if(!ve){var B=L.pipes,Re=L.pipesCount;L.pipes=null,L.pipesCount=0,L.flowing=!1;for(var Qe=0;Qe0,!1!==B.flowing&&this.resume()):"readable"===ve&&!B.endEmitted&&!B.readableListening&&(B.readableListening=B.needReadable=!0,B.flowing=!1,B.emittedReadable=!1,S("on readable",B.length,B.reading),B.length?Ue(this):B.reading||W.nextTick(Ne,this)),N},ne.prototype.removeListener=function(ve,L){var N=v.prototype.removeListener.call(this,ve,L);return"readable"===ve&&W.nextTick($e,this),N},ne.prototype.removeAllListeners=function(ve){var L=v.prototype.removeAllListeners.apply(this,arguments);return("readable"===ve||void 0===ve)&&W.nextTick($e,this),L},ne.prototype.resume=function(){var ve=this._readableState;return ve.flowing||(S("resume"),ve.flowing=!ve.readableListening,function(ve,L){L.resumeScheduled||(L.resumeScheduled=!0,W.nextTick(G,ve,L))}(this,ve)),ve.paused=!1,this},ne.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},ne.prototype.wrap=function(ve){var L=this,N=this._readableState,B=!1;for(var Re in ve.on("end",function(){if(S("wrapped end"),N.decoder&&!N.ended){var St=N.decoder.end();St&&St.length&&L.push(St)}L.push(null)}),ve.on("data",function(St){S("wrapped data"),N.decoder&&(St=N.decoder.write(St)),N.objectMode&&null==St||!(N.objectMode||St&&St.length)||L.push(St)||(B=!0,ve.pause())}),ve)void 0===this[Re]&&"function"==typeof ve[Re]&&(this[Re]=function(Nt){return function(){return ve[Nt].apply(ve,arguments)}}(Re));for(var Qe=0;Qe-1))throw new Z(ue);return this._writableState.defaultEncoding=ue,this},Object.defineProperty(me.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(me.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),me.prototype._write=function(pe,ue,je){je(new ce("_write()"))},me.prototype._writev=null,me.prototype.end=function(pe,ue,je){var _t=this._writableState;return"function"==typeof pe?(je=pe,pe=null,ue=null):"function"==typeof ue&&(je=ue,ue=null),null!=pe&&this.write(pe,ue),_t.corked&&(_t.corked=1,this.uncork()),_t.ending||function(pe,ue,je){ue.ending=!0,Ne(pe,ue),je&&(ue.finished?W.nextTick(je):pe.once("finish",je)),ue.ended=!0,pe.writable=!1}(this,_t,je),this},Object.defineProperty(me.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(me.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(ue){!this._writableState||(this._writableState.destroyed=ue)}}),me.prototype.destroy=S.destroy,me.prototype._undestroy=S.undestroy,me.prototype._destroy=function(pe,ue){ue(pe)}}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(Y,Se,he){(function(W){(function(){"use strict";var j;function P(I,X,E){return X in I?Object.defineProperty(I,X,{value:E,enumerable:!0,configurable:!0,writable:!0}):I[X]=E,I}var Q=Y("./end-of-stream"),z=Symbol("lastResolve"),v=Symbol("lastReject"),x=Symbol("error"),O=Symbol("ended"),A=Symbol("lastPromise"),b=Symbol("handlePromise"),y=Symbol("stream");function S(I,X){return{value:I,done:X}}function T(I){var X=I[z];if(null!==X){var E=I[y].read();null!==E&&(I[A]=null,I[z]=null,I[v]=null,X(S(E,!1)))}}function V(I){W.nextTick(T,I)}var K=Object.getPrototypeOf(function(){}),ce=Object.setPrototypeOf((P(j={get stream(){return this[y]},next:function(){var X=this,E=this[x];if(null!==E)return Promise.reject(E);if(this[O])return Promise.resolve(S(void 0,!0));if(this[y].destroyed)return new Promise(function(se,te){W.nextTick(function(){X[x]?te(X[x]):se(S(void 0,!0))})});var Z,$=this[A];if($)Z=new Promise(function(I,X){return function(E,$){I.then(function(){X[O]?E(S(void 0,!0)):X[b](E,$)},$)}}($,this));else{var oe=this[y].read();if(null!==oe)return Promise.resolve(S(oe,!1));Z=new Promise(this[b])}return this[A]=Z,Z}},Symbol.asyncIterator,function(){return this}),P(j,"return",function(){var X=this;return new Promise(function(E,$){X[y].destroy(null,function(Z){Z?$(Z):E(S(void 0,!0))})})}),j),K);Se.exports=function(X){var E,$=Object.create(ce,(P(E={},y,{value:X,writable:!0}),P(E,z,{value:null,writable:!0}),P(E,v,{value:null,writable:!0}),P(E,x,{value:null,writable:!0}),P(E,O,{value:X._readableState.endEmitted,writable:!0}),P(E,b,{value:function(oe,se){var te=$[y].read();te?($[A]=null,$[z]=null,$[v]=null,oe(S(te,!1))):($[z]=oe,$[v]=se)},writable:!0}),E));return $[A]=null,Q(X,function(Z){if(Z&&"ERR_STREAM_PREMATURE_CLOSE"!==Z.code){var oe=$[v];return null!==oe&&($[A]=null,$[z]=null,$[v]=null,oe(Z)),void($[x]=Z)}var se=$[z];null!==se&&($[A]=null,$[z]=null,$[v]=null,se(S(void 0,!0))),$[O]=!0}),X.on("readable",V.bind(null,$)),$}}).call(this)}).call(this,Y("_process"))},{"./end-of-stream":76,_process:44}],74:[function(Y,Se,he){"use strict";function W(T,V){var R=Object.keys(T);if(Object.getOwnPropertySymbols){var K=Object.getOwnPropertySymbols(T);V&&(K=K.filter(function(ce){return Object.getOwnPropertyDescriptor(T,ce).enumerable})),R.push.apply(R,K)}return R}function P(T,V,R){return V in T?Object.defineProperty(T,V,{value:R,enumerable:!0,configurable:!0,writable:!0}):T[V]=R,T}function z(T,V){for(var R=0;R0?this.tail.next=K:this.head=K,this.tail=K,++this.length}},{key:"unshift",value:function(R){var K={data:R,next:this.head};0===this.length&&(this.tail=K),this.head=K,++this.length}},{key:"shift",value:function(){if(0!==this.length){var R=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,R}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(R){if(0===this.length)return"";for(var K=this.head,ce=""+K.data;K=K.next;)ce+=R+K.data;return ce}},{key:"concat",value:function(R){if(0===this.length)return O.alloc(0);for(var K=O.allocUnsafe(R>>>0),ce=this.head,D=0;ce;)S(ce.data,K,D),D+=ce.data.length,ce=ce.next;return K}},{key:"consume",value:function(R,K){var ce;return RI.length?I.length:R;if(D+=X===I.length?I:I.slice(0,R),0==(R-=X)){X===I.length?(++ce,this.head=K.next?K.next:this.tail=null):(this.head=K,K.data=I.slice(X));break}++ce}return this.length-=ce,D}},{key:"_getBuffer",value:function(R){var K=O.allocUnsafe(R),ce=this.head,D=1;for(ce.data.copy(K),R-=ce.data.length;ce=ce.next;){var I=ce.data,X=R>I.length?I.length:R;if(I.copy(K,K.length-R,0,X),0==(R-=X)){X===I.length?(++D,this.head=ce.next?ce.next:this.tail=null):(this.head=ce,ce.data=I.slice(X));break}++D}return this.length-=D,K}},{key:y,value:function(R,K){return b(this,function(T){for(var V=1;V0,function(Z){ce||(ce=Z),Z&&D.forEach(A),!E&&(D.forEach(A),K(ce))})});return V.reduce(b)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(Y,Se,he){"use strict";var W=Y("../../../errors").codes.ERR_INVALID_OPT_VALUE;Se.exports={getHighWaterMark:function(Q,z,v,x){var O=function(Q,z,v){return null!=Q.highWaterMark?Q.highWaterMark:z?Q[v]:null}(z,x,v);if(null!=O){if(!isFinite(O)||Math.floor(O)!==O||O<0)throw new W(x?v:"highWaterMark",O);return Math.floor(O)}return Q.objectMode?16:16384}}},{"../../../errors":67}],80:[function(Y,Se,he){Se.exports=Y("events").EventEmitter},{events:8}],81:[function(Y,Se,he){(he=Se.exports=Y("./lib/_stream_readable.js")).Stream=he,he.Readable=he,he.Writable=Y("./lib/_stream_writable.js"),he.Duplex=Y("./lib/_stream_duplex.js"),he.Transform=Y("./lib/_stream_transform.js"),he.PassThrough=Y("./lib/_stream_passthrough.js"),he.finished=Y("./lib/internal/streams/end-of-stream.js"),he.pipeline=Y("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),function(j){for(var P in j)he.hasOwnProperty(P)||(he[P]=j[P])}(Y("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(Y,Se,he){"use strict";function j(z){const v=[];let x=0;for(;xO.join("")).join("/")}function P(z,v){let x=v+1;v>=0?"/"===z[v+1]&&"/"===z[v+2]&&(x=v+3):"/"===z[0]&&"/"===z[1]&&(x=2);const O=z.indexOf("/",x);return O<0?z:z.substr(0,O)+j(z.substr(O))}function Q(z){return!z||"#"===z||"?"===z||"/"===z}Object.defineProperty(he,"__esModule",{value:!0}),he.resolve=function(z,v){const x=(v=v||"").indexOf("#");if(x>0&&(v=v.substr(0,x)),!z.length){if(v.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${v}' for value '${z}'`);return v}if(z.startsWith("?")){const V=v.indexOf("?");return V>0&&(v=v.substr(0,V)),v+z}if(z.startsWith("#"))return v+z;if(!v.length){const V=z.indexOf(":");if(V<0)throw new Error(`Found invalid relative IRI '${z}' for a missing baseIRI`);return P(z,V)}const O=z.indexOf(":");if(O>=0)return P(z,O);const A=v.indexOf(":");if(A<0)throw new Error(`Found invalid baseIRI '${v}' for value '${z}'`);const b=v.substr(0,A+1);if(0===z.indexOf("//"))return b+P(z,O);let y;if(v.indexOf("//",A)===A+1){if(y=v.indexOf("/",A+3),y<0)return v.length>A+3?v+"/"+P(z,O):b+P(z,O)}else if(y=v.indexOf("/",A+1),y<0)return b+P(z,O);if(0===z.indexOf("/"))return v.substr(0,y)+j(z);let S=v.substr(y);const T=S.lastIndexOf("/");return T>=0&&T"===ue?(ne(G,"onsgmldeclaration",G.sgmlDecl),G.sgmlDecl="",G.state=te.TEXT):($(ue)&&(G.state=te.SGML_DECL_QUOTED),G.sgmlDecl+=ue);continue;case te.SGML_DECL_QUOTED:ue===G.q&&(G.state=te.SGML_DECL,G.q=""),G.sgmlDecl+=ue;continue;case te.DOCTYPE:">"===ue?(G.state=te.TEXT,ne(G,"ondoctype",G.doctype),G.doctype=!0):(G.doctype+=ue,"["===ue?G.state=te.DOCTYPE_DTD:$(ue)&&(G.state=te.DOCTYPE_QUOTED,G.q=ue));continue;case te.DOCTYPE_QUOTED:G.doctype+=ue,ue===G.q&&(G.q="",G.state=te.DOCTYPE);continue;case te.DOCTYPE_DTD:G.doctype+=ue,"]"===ue?G.state=te.DOCTYPE:$(ue)&&(G.state=te.DOCTYPE_DTD_QUOTED,G.q=ue);continue;case te.DOCTYPE_DTD_QUOTED:G.doctype+=ue,ue===G.q&&(G.state=te.DOCTYPE_DTD,G.q="");continue;case te.COMMENT:"-"===ue?G.state=te.COMMENT_ENDING:G.comment+=ue;continue;case te.COMMENT_ENDING:"-"===ue?(G.state=te.COMMENT_ENDED,G.comment=Ie(G.opt,G.comment),G.comment&&ne(G,"oncomment",G.comment),G.comment=""):(G.comment+="-"+ue,G.state=te.COMMENT);continue;case te.COMMENT_ENDED:">"!==ue?(Xe(G,"Malformed comment"),G.comment+="--"+ue,G.state=te.COMMENT):G.state=te.TEXT;continue;case te.CDATA:"]"===ue?G.state=te.CDATA_ENDING:G.cdata+=ue;continue;case te.CDATA_ENDING:"]"===ue?G.state=te.CDATA_ENDING_2:(G.cdata+="]"+ue,G.state=te.CDATA);continue;case te.CDATA_ENDING_2:">"===ue?(G.cdata&&ne(G,"oncdata",G.cdata),ne(G,"onclosecdata"),G.cdata="",G.state=te.TEXT):"]"===ue?G.cdata+="]":(G.cdata+="]]"+ue,G.state=te.CDATA);continue;case te.PROC_INST:"?"===ue?G.state=te.PROC_INST_ENDING:E(ue)?G.state=te.PROC_INST_BODY:G.procInstName+=ue;continue;case te.PROC_INST_BODY:if(!G.procInstBody&&E(ue))continue;"?"===ue?G.state=te.PROC_INST_ENDING:G.procInstBody+=ue;continue;case te.PROC_INST_ENDING:">"===ue?(ne(G,"onprocessinginstruction",{name:G.procInstName,body:G.procInstBody}),G.procInstName=G.procInstBody="",G.state=te.TEXT):(G.procInstBody+="?"+ue,G.state=te.PROC_INST_BODY);continue;case te.OPEN_TAG:oe(D,ue)?G.tagName+=ue:(tt(G),">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:(E(ue)||Xe(G,"Invalid character in tag name"),G.state=te.ATTRIB));continue;case te.OPEN_TAG_SLASH:">"===ue?(ke(G,!0),Ke(G)):(Xe(G,"Forward-slash in opening tag not followed by >"),G.state=te.ATTRIB);continue;case te.ATTRIB:if(E(ue))continue;">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:oe(ce,ue)?(G.attribName=ue,G.attribValue="",G.state=te.ATTRIB_NAME):Xe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME:"="===ue?G.state=te.ATTRIB_VALUE:">"===ue?(Xe(G,"Attribute without value"),G.attribValue=G.attribName,Ue(G),ke(G)):E(ue)?G.state=te.ATTRIB_NAME_SAW_WHITE:oe(D,ue)?G.attribName+=ue:Xe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME_SAW_WHITE:if("="===ue)G.state=te.ATTRIB_VALUE;else{if(E(ue))continue;Xe(G,"Attribute without value"),G.tag.attributes[G.attribName]="",G.attribValue="",ne(G,"onattribute",{name:G.attribName,value:""}),G.attribName="",">"===ue?ke(G):oe(ce,ue)?(G.attribName=ue,G.state=te.ATTRIB_NAME):(Xe(G,"Invalid attribute name"),G.state=te.ATTRIB)}continue;case te.ATTRIB_VALUE:if(E(ue))continue;$(ue)?(G.q=ue,G.state=te.ATTRIB_VALUE_QUOTED):(Xe(G,"Unquoted attribute value"),G.state=te.ATTRIB_VALUE_UNQUOTED,G.attribValue=ue);continue;case te.ATTRIB_VALUE_QUOTED:if(ue!==G.q){"&"===ue?G.state=te.ATTRIB_VALUE_ENTITY_Q:G.attribValue+=ue;continue}Ue(G),G.q="",G.state=te.ATTRIB_VALUE_CLOSED;continue;case te.ATTRIB_VALUE_CLOSED:E(ue)?G.state=te.ATTRIB:">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:oe(ce,ue)?(Xe(G,"No whitespace between attributes"),G.attribName=ue,G.attribValue="",G.state=te.ATTRIB_NAME):Xe(G,"Invalid attribute name");continue;case te.ATTRIB_VALUE_UNQUOTED:if(!Z(ue)){"&"===ue?G.state=te.ATTRIB_VALUE_ENTITY_U:G.attribValue+=ue;continue}Ue(G),">"===ue?ke(G):G.state=te.ATTRIB;continue;case te.CLOSE_TAG:if(G.tagName)">"===ue?Ke(G):oe(D,ue)?G.tagName+=ue:G.script?(G.script+=""===ue?Ke(G):Xe(G,"Invalid characters in closing tag");continue;case te.TEXT_ENTITY:case te.ATTRIB_VALUE_ENTITY_Q:case te.ATTRIB_VALUE_ENTITY_U:var pt,ve;switch(G.state){case te.TEXT_ENTITY:pt=te.TEXT,ve="textNode";break;case te.ATTRIB_VALUE_ENTITY_Q:pt=te.ATTRIB_VALUE_QUOTED,ve="attribValue";break;case te.ATTRIB_VALUE_ENTITY_U:pt=te.ATTRIB_VALUE_UNQUOTED,ve="attribValue"}";"===ue?(G[ve]+=Me(G),G.entity="",G.state=pt):oe(G.entity.length?X:I,ue)?G.entity+=ue:(Xe(G,"Invalid character in entity name"),G[ve]+="&"+G.entity+ue,G.entity="",G.state=pt);continue;default:throw new Error(G,"Unknown state: "+G.state)}return G.position>=G.bufferCheckPosition&&function(q){for(var G=Math.max(j.MAX_BUFFER_LENGTH,10),pe=0,ue=0,je=P.length;ueG)switch(P[ue]){case"textNode":_e(q);break;case"cdata":ne(q,"oncdata",q.cdata),q.cdata="";break;case"script":ne(q,"onscript",q.script),q.script="";break;default:Ge(q,"Max buffer length exceeded: "+P[ue])}pe=Math.max(pe,_t)}q.bufferCheckPosition=j.MAX_BUFFER_LENGTH-pe+q.position}(G),G},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(q){_e(q),""!==q.cdata&&(ne(q,"oncdata",q.cdata),q.cdata=""),""!==q.script&&(ne(q,"onscript",q.script),q.script="")}(this)}};try{O=Y("stream").Stream}catch(q){O=function(){}}var A=j.EVENTS.filter(function(q){return"error"!==q&&"end"!==q});function y(q,G){if(!(this instanceof y))return new y(q,G);O.apply(this),this._parser=new Q(q,G),this.writable=!0,this.readable=!0;var pe=this;this._parser.onend=function(){pe.emit("end")},this._parser.onerror=function(ue){pe.emit("error",ue),pe._parser.error=null},this._decoder=null,A.forEach(function(ue){Object.defineProperty(pe,"on"+ue,{get:function(){return pe._parser["on"+ue]},set:function(je){if(!je)return pe.removeAllListeners(ue),pe._parser["on"+ue]=je,je;pe.on(ue,je)},enumerable:!0,configurable:!1})})}(y.prototype=Object.create(O.prototype,{constructor:{value:y}})).write=function(q){if("function"==typeof W&&"function"==typeof W.isBuffer&&W.isBuffer(q)){if(!this._decoder){var G=Y("string_decoder").StringDecoder;this._decoder=new G("utf8")}q=this._decoder.write(q)}return this._parser.write(q.toString()),this.emit("data",q),!0},y.prototype.end=function(q){return q&&q.length&&this.write(q),this._parser.end(),!0},y.prototype.on=function(q,G){var pe=this;return!pe._parser["on"+q]&&-1!==A.indexOf(q)&&(pe._parser["on"+q]=function(){var ue=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);ue.splice(0,0,q),pe.emit.apply(pe,ue)}),O.prototype.on.call(pe,q,G)};var V="http://www.w3.org/XML/1998/namespace",R="http://www.w3.org/2000/xmlns/",K={xml:V,xmlns:R},ce=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,D=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,I=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,X=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function E(q){return" "===q||"\n"===q||"\r"===q||"\t"===q}function $(q){return'"'===q||"'"===q}function Z(q){return">"===q||E(q)}function oe(q,G){return q.test(G)}function se(q,G){return!oe(q,G)}var q,G,pe,te=0;for(var Ce in j.STATE={BEGIN:te++,BEGIN_WHITESPACE:te++,TEXT:te++,TEXT_ENTITY:te++,OPEN_WAKA:te++,SGML_DECL:te++,SGML_DECL_QUOTED:te++,DOCTYPE:te++,DOCTYPE_QUOTED:te++,DOCTYPE_DTD:te++,DOCTYPE_DTD_QUOTED:te++,COMMENT_STARTING:te++,COMMENT:te++,COMMENT_ENDING:te++,COMMENT_ENDED:te++,CDATA:te++,CDATA_ENDING:te++,CDATA_ENDING_2:te++,PROC_INST:te++,PROC_INST_BODY:te++,PROC_INST_ENDING:te++,OPEN_TAG:te++,OPEN_TAG_SLASH:te++,ATTRIB:te++,ATTRIB_NAME:te++,ATTRIB_NAME_SAW_WHITE:te++,ATTRIB_VALUE:te++,ATTRIB_VALUE_QUOTED:te++,ATTRIB_VALUE_CLOSED:te++,ATTRIB_VALUE_UNQUOTED:te++,ATTRIB_VALUE_ENTITY_Q:te++,ATTRIB_VALUE_ENTITY_U:te++,CLOSE_TAG:te++,CLOSE_TAG_SAW_WHITE:te++,SCRIPT:te++,SCRIPT_ENDING:te++},j.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},j.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(j.ENTITIES).forEach(function(q){var G=j.ENTITIES[q],pe="number"==typeof G?String.fromCharCode(G):G;j.ENTITIES[q]=pe}),j.STATE)j.STATE[j.STATE[Ce]]=Ce;function me(q,G,pe){q[G]&&q[G](pe)}function ne(q,G,pe){q.textNode&&_e(q),me(q,G,pe)}function _e(q){q.textNode=Ie(q.opt,q.textNode),q.textNode&&me(q,"ontext",q.textNode),q.textNode=""}function Ie(q,G){return q.trim&&(G=G.trim()),q.normalize&&(G=G.replace(/\s+/g," ")),G}function Ge(q,G){return _e(q),q.trackPosition&&(G+="\nLine: "+q.line+"\nColumn: "+q.column+"\nChar: "+q.c),G=new Error(G),q.error=G,me(q,"onerror",G),q}function st(q){return q.sawRoot&&!q.closedRoot&&Xe(q,"Unclosed root tag"),q.state!==te.BEGIN&&q.state!==te.BEGIN_WHITESPACE&&q.state!==te.TEXT&&Ge(q,"Unexpected end"),_e(q),q.c="",q.closed=!0,me(q,"onend"),Q.call(q,q.strict,q.opt),q}function Xe(q,G){if("object"!=typeof q||!(q instanceof Q))throw new Error("bad call to strictFail");q.strict&&Ge(q,G)}function tt(q){q.strict||(q.tagName=q.tagName[q.looseCase]());var G=q.tags[q.tags.length-1]||q,pe=q.tag={name:q.tagName,attributes:{}};q.opt.xmlns&&(pe.ns=G.ns),q.attribList.length=0,ne(q,"onopentagstart",pe)}function Ye(q,G){var ue=q.indexOf(":")<0?["",q]:q.split(":"),je=ue[0],_t=ue[1];return G&&"xmlns"===q&&(je="xmlns",_t=""),{prefix:je,local:_t}}function Ue(q){if(q.strict||(q.attribName=q.attribName[q.looseCase]()),-1!==q.attribList.indexOf(q.attribName)||q.tag.attributes.hasOwnProperty(q.attribName))q.attribName=q.attribValue="";else{if(q.opt.xmlns){var G=Ye(q.attribName,!0),ue=G.local;if("xmlns"===G.prefix)if("xml"===ue&&q.attribValue!==V)Xe(q,"xml: prefix must be bound to "+V+"\nActual: "+q.attribValue);else if("xmlns"===ue&&q.attribValue!==R)Xe(q,"xmlns: prefix must be bound to "+R+"\nActual: "+q.attribValue);else{var je=q.tag,_t=q.tags[q.tags.length-1]||q;je.ns===_t.ns&&(je.ns=Object.create(_t.ns)),je.ns[ue]=q.attribValue}q.attribList.push([q.attribName,q.attribValue])}else q.tag.attributes[q.attribName]=q.attribValue,ne(q,"onattribute",{name:q.attribName,value:q.attribValue});q.attribName=q.attribValue=""}}function ke(q,G){if(q.opt.xmlns){var pe=q.tag,ue=Ye(q.tagName);pe.prefix=ue.prefix,pe.local=ue.local,pe.uri=pe.ns[ue.prefix]||"",pe.prefix&&!pe.uri&&(Xe(q,"Unbound namespace prefix: "+JSON.stringify(q.tagName)),pe.uri=ue.prefix),pe.ns&&(q.tags[q.tags.length-1]||q).ns!==pe.ns&&Object.keys(pe.ns).forEach(function(On){ne(q,"onopennamespace",{prefix:On,uri:pe.ns[On]})});for(var _t=0,pt=q.attribList.length;_t",q.tagName="",void(q.state=te.SCRIPT);ne(q,"onscript",q.script),q.script=""}var G=q.tags.length,pe=q.tagName;q.strict||(pe=pe[q.looseCase]());for(var ue=pe;G--&&q.tags[G].name!==ue;)Xe(q,"Unexpected close tag");if(G<0)return Xe(q,"Unmatched closing tag: "+q.tagName),q.textNode+="",void(q.state=te.TEXT);q.tagName=pe;for(var _t=q.tags.length;_t-- >G;){var pt=q.tag=q.tags.pop();q.tagName=q.tag.name,ne(q,"onclosetag",q.tagName);var ve={};for(var L in pt.ns)ve[L]=pt.ns[L];q.opt.xmlns&&pt.ns!==(q.tags[q.tags.length-1]||q).ns&&Object.keys(pt.ns).forEach(function(B){ne(q,"onclosenamespace",{prefix:B,uri:pt.ns[B]})})}0===G&&(q.closedRoot=!0),q.tagName=q.attribValue=q.attribName="",q.attribList.length=0,q.state=te.TEXT}function Me(q){var ue,G=q.entity,pe=G.toLowerCase(),je="";return q.ENTITIES[G]?q.ENTITIES[G]:q.ENTITIES[pe]?q.ENTITIES[pe]:("#"===(G=pe).charAt(0)&&("x"===G.charAt(1)?(G=G.slice(2),je=(ue=parseInt(G,16)).toString(16)):(G=G.slice(1),je=(ue=parseInt(G,10)).toString(10))),G=G.replace(/^0+/,""),isNaN(ue)||je.toLowerCase()!==G?(Xe(q,"Invalid character entity"),"&"+q.entity+";"):String.fromCodePoint(ue))}function Ve(q,G){"<"===G?(q.state=te.OPEN_WAKA,q.startTagPosition=q.position):E(G)||(Xe(q,"Non-whitespace before first tag."),q.textNode=G,q.state=te.TEXT)}function $e(q,G){var pe="";return G1114111||G(B)!==B)throw RangeError("Invalid code point: "+B);B<=65535?je.push(B):je.push(55296+((B-=65536)>>10),B%1024+56320),(ve+1===L||je.length>ue)&&(N+=q.apply(null,je),je.length=0)}return N},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:pe,configurable:!0,writable:!0}):String.fromCodePoint=pe)}(void 0===he?this.sax={}:he)}).call(this)}).call(this,Y("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(Y,Se,he){(function(W,j){(function(){!function(P,Q){"use strict";if(!P.setImmediate){var A,z=1,v={},x=!1,O=P.document,X=Object.getPrototypeOf&&Object.getPrototypeOf(P);X=X&&X.setTimeout?X:P,"[object process]"==={}.toString.call(P.process)?A=function(E){W.nextTick(function(){T(E)})}:function(){if(P.postMessage&&!P.importScripts){var E=!0,$=P.onmessage;return P.onmessage=function(){E=!1},P.postMessage("","*"),P.onmessage=$,E}}()?(E="setImmediate$"+Math.random()+"$",$=function(Z){Z.source===P&&"string"==typeof Z.data&&0===Z.data.indexOf(E)&&T(+Z.data.slice(E.length))},P.addEventListener?P.addEventListener("message",$,!1):P.attachEvent("onmessage",$),A=function(Z){P.postMessage(E+Z,"*")}):P.MessageChannel?function(){var E=new MessageChannel;E.port1.onmessage=function($){T($.data)},A=function($){E.port2.postMessage($)}}():O&&"onreadystatechange"in O.createElement("script")?function(){var E=O.documentElement;A=function($){var Z=O.createElement("script");Z.onreadystatechange=function(){T($),Z.onreadystatechange=null,E.removeChild(Z),Z=null},E.appendChild(Z)}}():A=function(E){setTimeout(T,0,E)},X.setImmediate=function(E){"function"!=typeof E&&(E=new Function(""+E));for(var $=new Array(arguments.length-1),Z=0;Z<$.length;Z++)$[Z]=arguments[Z+1];return v[z]={callback:E,args:$},A(z),z++},X.clearImmediate=y}var E,$;function y(E){delete v[E]}function T(E){if(x)setTimeout(T,0,E);else{var $=v[E];if($){x=!0;try{!function(E){var $=E.callback,Z=E.args;switch(Z.length){case 0:$();break;case 1:$(Z[0]);break;case 2:$(Z[0],Z[1]);break;case 3:$(Z[0],Z[1],Z[2]);break;default:$.apply(void 0,Z)}}($)}finally{y(E),x=!1}}}}}("undefined"==typeof self?void 0===j?this:j:self)}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:44}],87:[function(Y,Se,he){Se.exports=P;var W=Y("events").EventEmitter;function P(){W.call(this)}Y("inherits")(P,W),P.Readable=Y("readable-stream/lib/_stream_readable.js"),P.Writable=Y("readable-stream/lib/_stream_writable.js"),P.Duplex=Y("readable-stream/lib/_stream_duplex.js"),P.Transform=Y("readable-stream/lib/_stream_transform.js"),P.PassThrough=Y("readable-stream/lib/_stream_passthrough.js"),P.finished=Y("readable-stream/lib/internal/streams/end-of-stream.js"),P.pipeline=Y("readable-stream/lib/internal/streams/pipeline.js"),P.Stream=P,P.prototype.pipe=function(Q,z){var v=this;function x(V){Q.writable&&!1===Q.write(V)&&v.pause&&v.pause()}function O(){v.readable&&v.resume&&v.resume()}v.on("data",x),Q.on("drain",O),!Q._isStdio&&(!z||!1!==z.end)&&(v.on("end",b),v.on("close",y));var A=!1;function b(){A||(A=!0,Q.end())}function y(){A||(A=!0,"function"==typeof Q.destroy&&Q.destroy())}function S(V){if(T(),0===W.listenerCount(this,"error"))throw V}function T(){v.removeListener("data",x),Q.removeListener("drain",O),v.removeListener("end",b),v.removeListener("close",y),v.removeListener("error",S),Q.removeListener("error",S),v.removeListener("end",T),v.removeListener("close",T),Q.removeListener("close",T)}return v.on("error",S),Q.on("error",S),v.on("end",T),v.on("close",T),Q.on("close",T),Q.emit("pipe",v),Q}},{events:8,inherits:10,"readable-stream/lib/_stream_duplex.js":68,"readable-stream/lib/_stream_passthrough.js":69,"readable-stream/lib/_stream_readable.js":70,"readable-stream/lib/_stream_transform.js":71,"readable-stream/lib/_stream_writable.js":72,"readable-stream/lib/internal/streams/end-of-stream.js":76,"readable-stream/lib/internal/streams/pipeline.js":78}],88:[function(Y,Se,he){arguments[4][5][0].apply(he,arguments)},{dup:5,"safe-buffer":84}],89:[function(Y,Se,he){(function(W,j){(function(){var P=Y("process/browser.js").nextTick,Q=Function.prototype.apply,z=Array.prototype.slice,v={},x=0;function O(A,b){this._id=A,this._clearFn=b}he.setTimeout=function(){return new O(Q.call(setTimeout,window,arguments),clearTimeout)},he.setInterval=function(){return new O(Q.call(setInterval,window,arguments),clearInterval)},he.clearTimeout=he.clearInterval=function(A){A.close()},O.prototype.unref=O.prototype.ref=function(){},O.prototype.close=function(){this._clearFn.call(window,this._id)},he.enroll=function(A,b){clearTimeout(A._idleTimeoutId),A._idleTimeout=b},he.unenroll=function(A){clearTimeout(A._idleTimeoutId),A._idleTimeout=-1},he._unrefActive=he.active=function(A){clearTimeout(A._idleTimeoutId);var b=A._idleTimeout;b>=0&&(A._idleTimeoutId=setTimeout(function(){A._onTimeout&&A._onTimeout()},b))},he.setImmediate="function"==typeof W?W:function(A){var b=x++,y=!(arguments.length<2)&&z.call(arguments,1);return v[b]=!0,P(function(){v[b]&&(y?A.apply(null,y):A.call(null),he.clearImmediate(b))}),b},he.clearImmediate="function"==typeof j?j:function(A){delete v[A]}}).call(this)}).call(this,Y("timers").setImmediate,Y("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(Y,Se,he){(function(W){(function(){function P(Q){try{if(!W.localStorage)return!1}catch(v){return!1}var z=W.localStorage[Q];return null!=z&&"true"===String(z).toLowerCase()}Se.exports=function(Q,z){if(P("noDeprecation"))return Q;var v=!1;return function(){if(!v){if(P("throwDeprecation"))throw new Error(z);P("traceDeprecation")?console.trace(z):console.warn(z),v=!0}return Q.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(Y,Se,he){"use strict";Se.exports=function(W){W.prototype[Symbol.iterator]=function*(){for(let j=this.head;j;j=j.next)yield j.value}}},{}],92:[function(Y,Se,he){"use strict";function W(v){var x=this;if(x instanceof W||(x=new W),x.tail=null,x.head=null,x.length=0,v&&"function"==typeof v.forEach)v.forEach(function(b){x.push(b)});else if(arguments.length>0)for(var O=0,A=arguments.length;O1)O=x;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");A=this.head.next,O=this.head.value}for(var b=0;null!==A;b++)O=v(O,A.value,b),A=A.next;return O},W.prototype.reduceReverse=function(v,x){var O,A=this.tail;if(arguments.length>1)O=x;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");A=this.tail.prev,O=this.tail.value}for(var b=this.length-1;null!==A;b--)O=v(O,A.value,b),A=A.prev;return O},W.prototype.toArray=function(){for(var v=new Array(this.length),x=0,O=this.head;null!==O;x++)v[x]=O.value,O=O.next;return v},W.prototype.toArrayReverse=function(){for(var v=new Array(this.length),x=0,O=this.tail;null!==O;x++)v[x]=O.value,O=O.prev;return v},W.prototype.slice=function(v,x){(x=x||this.length)<0&&(x+=this.length),(v=v||0)<0&&(v+=this.length);var O=new W;if(xthis.length&&(x=this.length);for(var A=0,b=this.head;null!==b&&Athis.length&&(x=this.length);for(var A=this.length,b=this.tail;null!==b&&A>x;A--)b=b.prev;for(;null!==b&&A>v;A--,b=b.prev)O.push(b.value);return O},W.prototype.splice=function(v,x,...O){v>this.length&&(v=this.length-1),v<0&&(v=this.length+v);for(var A=0,b=this.head;null!==b&&A{"use strict";Ut.exports=Je,Ut.exports.default=Je;var it=1e20;function Je(Y,Se,he,W,j,P){this.fontSize=Y||24,this.buffer=void 0===Se?3:Se,this.cutoff=W||.25,this.fontFamily=j||"sans-serif",this.fontWeight=P||"normal",this.radius=he||8;var Q=this.size=this.fontSize+2*this.buffer,z=Q+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=Q,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(z*z),this.gridInner=new Float64Array(z*z),this.f=new Float64Array(z),this.z=new Float64Array(z+1),this.v=new Uint16Array(z),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(Q/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function Tt(Y,Se,he,W,j,P){for(var Q=0;Q-1);P[++v]=z,Q[v]=x,Q[v+1]=it}for(z=0,v=0;z{Ut.exports=function(Je,yt){var ee=yt.length;if(0!==ee){var Tt=Je.length;Je.length+=ee;for(var dt=0;dt{"use strict";var yt=(()=>{return(Tt=yt||(yt={})).typeOfFunction="function",Tt.boolTrue=!0,yt;var Tt})();function ee(Tt,dt,Y){if(!Y||typeof Y.value!==yt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+dt+"> is not a method!");return{configurable:yt.boolTrue,get:function(){var Se=Y.value.bind(this);return Object.defineProperty(this,dt,{value:Se,configurable:yt.boolTrue,writable:yt.boolTrue}),Se}}}it.ak=ee,it.ZP=ee},266:(Ut,it,Je)=>{Ut.exports={ResizeSensor:Je(835),ElementQueries:Je(845)}},845:function(Ut,it,Je){"use strict";var yt,ee,Tt;"undefined"!=typeof window&&window,ee=[Je(835)],void 0!==(Tt="function"==typeof(yt=function(dt){var Y=function(){var he,W={},j=[];function P(D){D||(D=document.documentElement);var I=window.getComputedStyle(D,null).fontSize;return parseFloat(I)||16}function z(D,I){var X=I.split(/\d/),E=X[X.length-1];switch(I=parseFloat(I),E){case"px":return I;case"em":return I*P(D);case"rem":return I*P();case"vw":return I*document.documentElement.clientWidth/100;case"vh":return I*document.documentElement.clientHeight/100;case"vmin":case"vmax":var $=document.documentElement.clientWidth/100,Z=document.documentElement.clientHeight/100;return I*(0,Math["vmin"===E?"min":"max"])($,Z);default:return I}}function v(D,I){this.element=D;var X,E,$,Z,oe,se,te,Ce,me=["min-width","min-height","max-width","max-height"];this.call=function(){for(X in $=function(D){if(!D.getBoundingClientRect)return{width:D.offsetWidth,height:D.offsetHeight};var I=D.getBoundingClientRect();return{width:Math.round(I.width),height:Math.round(I.height)}}(this.element),se={},W[I])!W[I].hasOwnProperty(X)||(Z=z(this.element,(E=W[I][X]).value),oe="width"===E.property?$.width:$.height,te="","min"===E.mode&&oe>=Z&&(te+=E.value),"max"===E.mode&&oe<=Z&&(te+=E.value),se[Ce=E.mode+"-"+E.property]||(se[Ce]=""),te&&-1===(" "+se[Ce]+" ").indexOf(" "+te+" ")&&(se[Ce]+=" "+te));for(var ne in me)!me.hasOwnProperty(ne)||(se[me[ne]]?this.element.setAttribute(me[ne],se[me[ne]].substr(1)):this.element.removeAttribute(me[ne]))}}function x(D,I){D.elementQueriesSetupInformation||(D.elementQueriesSetupInformation=new v(D,I)),D.elementQueriesSensor||(D.elementQueriesSensor=new dt(D,function(){D.elementQueriesSetupInformation.call()}))}function O(D,I,X,E){if(void 0===W[D]){W[D]=[];var $=j.length;he.innerHTML+="\n"+D+" {animation: 0.1s element-queries;}",he.innerHTML+="\n"+D+" > .resize-sensor {min-width: "+$+"px;}",j.push(D)}W[D].push({mode:I,property:X,value:E})}function A(D){var I;if(document.querySelectorAll&&(I=D?D.querySelectorAll.bind(D):document.querySelectorAll.bind(document)),!I&&"undefined"!=typeof $$&&(I=$$),!I&&"undefined"!=typeof jQuery&&(I=jQuery),!I)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return I}function y(D){var I=[],X=[],E=[],$=0,Z=-1,oe=[];for(var se in D.children)if(D.children.hasOwnProperty(se)&&D.children[se].tagName&&"img"===D.children[se].tagName.toLowerCase()){I.push(D.children[se]);var te=D.children[se].getAttribute("min-width")||D.children[se].getAttribute("data-min-width"),Ce=D.children[se].getAttribute("data-src")||D.children[se].getAttribute("url");E.push(Ce),X.push({minWidth:te}),te?D.children[se].style.display="none":($=I.length-1,D.children[se].style.display="block")}function ne(){var Ie,_e=!1;for(Ie in I)!I.hasOwnProperty(Ie)||X[Ie].minWidth&&D.offsetWidth>X[Ie].minWidth&&(_e=Ie);if(_e||(_e=$),Z!==_e)if(oe[_e])I[Z].style.display="none",I[_e].style.display="block",Z=_e;else{var Ge=new Image;Ge.onload=function(){I[_e].src=E[_e],I[Z].style.display="none",I[_e].style.display="block",oe[_e]=!0,Z=_e},Ge.src=E[_e]}else I[_e].src=E[_e]}Z=$,D.resizeSensorInstance=new dt(D,ne),ne()}var T=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,V=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function R(D){var I,X,E,$;for(D=D.replace(/'/g,'"');null!==(I=T.exec(D));)for(X=I[1]+I[3],E=I[2];null!==($=V.exec(E));)O(X,$[1],$[2],$[3])}function K(D){var I="";if(D)if("string"==typeof D)(-1!==(D=D.toLowerCase()).indexOf("min-width")||-1!==D.indexOf("max-width"))&&R(D);else for(var X=0,E=D.length;X img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",he.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(he),ce=!0);for(var I=0,X=document.styleSheets.length;I{var yt=Je(910),ee=Je(369),Tt=Je(322);function dt(Q,z,v){if(!yt(Q))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!Q.hasNode(z))throw new Error('graphology-shortest-path: the "'+z+'" source node does not exist in the given graph.');if(!Q.hasNode(v))throw new Error('graphology-shortest-path: the "'+v+'" target node does not exist in the given graph.');if((z=""+z)==(v=""+v))return[z];var x=Q.inboundNeighbors.bind(Q),O=Q.outboundNeighbors.bind(Q),A={},b={};A[z]=null,b[v]=null;var T,V,R,K,ce,D,I,X,y=[z],S=[v],E=!1;e:for(;y.length&&S.length;)if(y.length<=S.length){for(T=y,y=[],ce=0,I=T.length;ce{Ut.exports=function(Je){return null!==Je&&"object"==typeof Je&&"function"==typeof Je.addUndirectedEdgeWithKey&&"function"==typeof Je.dropNode&&"boolean"==typeof Je.multi}},698:function(Ut){Ut.exports=function(){"use strict";function it(ie){return(it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(fe){return typeof fe}:function(fe){return fe&&"function"==typeof Symbol&&fe.constructor===Symbol&&fe!==Symbol.prototype?"symbol":typeof fe})(ie)}function Je(ie,fe){ie.prototype=Object.create(fe.prototype),ie.prototype.constructor=ie,ee(ie,fe)}function yt(ie){return(yt=Object.setPrototypeOf?Object.getPrototypeOf:function(fe){return fe.__proto__||Object.getPrototypeOf(fe)})(ie)}function ee(ie,fe){return(ee=Object.setPrototypeOf||function(re,M){return re.__proto__=M,re})(ie,fe)}function Tt(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(ie){return!1}}function dt(ie,fe,re){return(dt=Tt()?Reflect.construct:function(M,k,J){var we=[null];we.push.apply(we,k);var Fe=new(Function.bind.apply(M,we));return J&&ee(Fe,J.prototype),Fe}).apply(null,arguments)}function Y(ie){var fe="function"==typeof Map?new Map:void 0;return(Y=function(re){if(null===re||-1===Function.toString.call(re).indexOf("[native code]"))return re;if("function"!=typeof re)throw new TypeError("Super expression must either be null or a function");if(void 0!==fe){if(fe.has(re))return fe.get(re);fe.set(re,k)}function k(){return dt(re,arguments,yt(this).constructor)}return k.prototype=Object.create(re.prototype,{constructor:{value:k,enumerable:!1,writable:!0,configurable:!0}}),ee(k,re)})(ie)}function Se(ie){if(void 0===ie)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ie}var he=function(){for(var ie=arguments[0],fe=1,re=arguments.length;fe0&&we.length>k&&!we.warned){we.warned=!0;var nt=new Error("Possible EventEmitter memory leak detected. "+we.length+" "+String(fe)+" listeners added. Use emitter.setMaxListeners() to increase limit");nt.name="MaxListenersExceededWarning",nt.emitter=ie,nt.type=fe,nt.count=we.length,console&&console.warn&&console.warn(nt)}return ie}function D(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function I(ie,fe,re){var M={fired:!1,wrapFn:void 0,target:ie,type:fe,listener:re},k=D.bind(M);return k.listener=re,M.wrapFn=k,k}function X(ie,fe,re){var M=ie._events;if(void 0===M)return[];var k=M[fe];return void 0===k?[]:"function"==typeof k?re?[k.listener||k]:[k]:re?function(J){for(var we=new Array(J.length),Fe=0;Fe0&&(J=fe[0]),J instanceof Error)throw J;var we=new Error("Unhandled error."+(J?" ("+J.message+")":""));throw we.context=J,we}var Fe=k[ie];if(void 0===Fe)return!1;if("function"==typeof Fe)y(Fe,this,fe);else{var nt=Fe.length,Ot=$(Fe,nt);for(re=0;re=0;J--)if(re[J]===fe||re[J].listener===fe){we=re[J].listener,k=J;break}if(k<0)return this;0===k?re.shift():function(Fe,nt){for(;nt+1=0;M--)this.removeListener(ie,fe[M]);return this},T.prototype.listeners=function(ie){return X(this,ie,!0)},T.prototype.rawListeners=function(ie){return X(this,ie,!1)},T.listenerCount=function(ie,fe){return"function"==typeof ie.listenerCount?ie.listenerCount(fe):E.call(ie,fe)},T.prototype.listenerCount=E,T.prototype.eventNames=function(){return this._eventsCount>0?O(this._events):[]},oe.prototype.next=function(){if(this.done)return{done:!0};var ie=this._next();return ie.done&&(this.done=!0),ie},"undefined"!=typeof Symbol&&(oe.prototype[Symbol.iterator]=function(){return this}),oe.of=function(){var ie=arguments,fe=ie.length,re=0;return new oe(function(){return re>=fe?{done:!0}:{done:!1,value:ie[re++]}})},oe.empty=function(){var ie=new oe(null);return ie.done=!0,ie},oe.is=function(ie){return ie instanceof oe||"object"==typeof ie&&null!==ie&&"function"==typeof ie.next};var se=oe,te=function(ie,fe){for(var re,M=arguments.length>1?fe:1/0,k=M!==1/0?new Array(M):[],J=0;;){if(J===M)return k;if((re=ie.next()).done)return J!==fe?k.slice(0,J):k;k[J++]=re.value}},Ce=function(ie){function fe(re,M){var k;return(k=ie.call(this)||this).name="GraphError",k.message=re||"",k.data=M||{},k}return Je(fe,ie),fe}(Y(Error)),me=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce),ne=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce),_e=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce);function Ie(ie,fe){this.key=ie,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function Ge(ie,fe){this.key=ie,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function st(ie,fe){this.key=ie,this.attributes=fe,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function Xe(ie,fe,re,M,k,J){this.key=fe,this.attributes=J,this.undirected=ie,this.source=M,this.target=k,this.generatedKey=re}function tt(ie,fe,re,M,k,J,we){var Fe,nt,Ot="out",We="in";if(fe&&(Ot=We="undirected"),ie.multi){if(void 0===(nt=(Fe=J[Ot])[k])&&(nt=new Set,Fe[k]=nt),nt.add(re),M===k&&fe)return;void 0===(Fe=we[We])[M]&&(Fe[M]=nt)}else{if(J[Ot][k]=re,M===k&&fe)return;we[We][M]=re}}function Ye(ie,fe,re){var M=ie.multi,k=re.source,J=re.target,we=k.key,Fe=J.key,nt=k[fe?"undirected":"out"],Ot=fe?"undirected":"in";if(Fe in nt)if(M){var We=nt[Fe];1===We.size?(delete nt[Fe],delete J[Ot][we]):We.delete(re)}else delete nt[Fe];M||delete J[Ot][we]}Ge.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},st.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var Ue=[{name:function(ie){return"get".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes[k]}}},{name:function(ie){return"get".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M){var k;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var J=""+M,we=""+arguments[1];if(!(k=W(this,J,we,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(J,'" - "').concat(we,'").'))}else if(!(k=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&k.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return k.attributes}}},{name:function(ie){return"has".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes.hasOwnProperty(k)}}},{name:function(ie){return"set".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k,J){var we;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+k;if(k=arguments[2],J=arguments[3],!(we=W(this,Fe,nt,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(we=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&we.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return we.attributes[k]=J,this.emit("edgeAttributesUpdated",{key:we.key,type:"set",attributes:we.attributes,name:k}),this}}},{name:function(ie){return"update".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k,J){var we;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+k;if(k=arguments[2],J=arguments[3],!(we=W(this,Fe,nt,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(we=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("function"!=typeof J)throw new me("Graph.".concat(fe,": updater should be a function."));if("mixed"!==re&&we.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return we.attributes[k]=J(we.attributes[k]),this.emit("edgeAttributesUpdated",{key:we.key,type:"set",attributes:we.attributes,name:k}),this}}},{name:function(ie){return"remove".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return delete J.attributes[k],this.emit("edgeAttributesUpdated",{key:J.key,type:"remove",attributes:J.attributes,name:k}),this}}},{name:function(ie){return"replace".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!P(k))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes=k,this.emit("edgeAttributesUpdated",{key:J.key,type:"replace",attributes:J.attributes}),this}}},{name:function(ie){return"merge".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!P(k))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return he(J.attributes,k),this.emit("edgeAttributesUpdated",{key:J.key,type:"merge",attributes:J.attributes,data:k}),this}}}],ke=se,Ke=function(){var ie,fe=arguments,re=-1;return new ke(function M(){if(!ie){if(++re>=fe.length)return{done:!0};ie=fe[re]}var k=ie.next();return k.done?(ie=null,M()):k})},Me=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Ve(ie,fe){for(var re in fe)ie.push(fe[re].key)}function $e(ie,fe){for(var re in fe)fe[re].forEach(function(M){return ie.push(M.key)})}function Ne(ie,fe,re){for(var M in ie)if(M!==re){var k=ie[M];fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)}}function q(ie,fe,re){for(var M in ie)M!==re&&ie[M].forEach(function(k){return fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)})}function G(ie,fe,re){for(var M in ie)if(M!==re){var k=ie[M];if(fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey))return!0}return!1}function pe(ie,fe,re){var M,k,J,we,Fe;for(var nt in ie)if(nt!==re)for(M=ie[nt].values();!0!==(k=M.next()).done;)if(we=(J=k.value).source,fe(J.key,J.attributes,we.key,(Fe=J.target).key,we.attributes,Fe.attributes,J.undirected,J.generatedKey))return!0;return!1}function ue(ie,fe){var re=Object.keys(ie),M=re.length,k=null,J=0;return new se(function we(){var Fe;if(k){var nt=k.next();if(nt.done)return k=null,J++,we();Fe=nt.value}else{if(J>=M)return{done:!0};var Ot=re[J];if(Ot===fe)return J++,we();if((Fe=ie[Ot])instanceof Set)return k=Fe.values(),we();J++}return{done:!1,value:[Fe.key,Fe.attributes,Fe.source.key,Fe.target.key,Fe.source.attributes,Fe.target.attributes]}})}function je(ie,fe,re){var M=fe[re];M&&ie.push(M.key)}function _t(ie,fe,re){var M=fe[re];M&&M.forEach(function(k){return ie.push(k.key)})}function pt(ie,fe,re){var M=ie[fe];if(M){var k=M.source,J=M.target;re(M.key,M.attributes,k.key,J.key,k.attributes,J.attributes,M.undirected,M.generatedKey)}}function ve(ie,fe,re){var M=ie[fe];M&&M.forEach(function(k){return re(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)})}function L(ie,fe,re){var M=ie[fe];if(M){var k=M.source,J=M.target;return re(M.key,M.attributes,k.key,J.key,k.attributes,J.attributes,M.undirected,M.generatedKey)}}function N(ie,fe,re){var M=ie[fe];if(M){for(var k,J,we=M.values();!0!==(k=we.next()).done;)if(re((J=k.value).key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes,J.undirected,J.generatedKey))return!0;return!1}}function B(ie,fe){var re=ie[fe];if(re instanceof Set){var M=re.values();return new se(function(){var k=M.next();if(k.done)return k;var J=k.value;return{done:!1,value:[J.key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes]}})}return se.of([re.key,re.attributes,re.source.key,re.target.key,re.source.attributes,re.target.attributes])}function Re(ie,fe){if(0===ie.size)return[];if("mixed"===fe||fe===ie.type)return"function"==typeof Array.from?Array.from(ie._edges.keys()):te(ie._edges.keys(),ie._edges.size);for(var re,M,J=new Array("undirected"===fe?ie.undirectedSize:ie.directedSize),we="undirected"===fe,Fe=ie._edges.values(),nt=0;!0!==(re=Fe.next()).done;)(M=re.value).undirected===we&&(J[nt++]=M.key);return J}function Qe(ie,fe,re){if(0!==ie.size)for(var M,k,J="mixed"!==fe&&fe!==ie.type,we="undirected"===fe,Fe=ie._edges.values();!0!==(M=Fe.next()).done;)if(k=M.value,!J||k.undirected===we){var Wt=k.source,xt=k.target;re(k.key,k.attributes,Wt.key,xt.key,Wt.attributes,xt.attributes,k.undirected,k.generatedKey)}}function St(ie,fe,re){if(0!==ie.size)for(var M,k,J="mixed"!==fe&&fe!==ie.type,we="undirected"===fe,Fe=ie._edges.values();!0!==(M=Fe.next()).done;)if(k=M.value,!J||k.undirected===we){var Wt=k.source,xt=k.target;if(re(k.key,k.attributes,Wt.key,xt.key,Wt.attributes,xt.attributes,k.undirected,k.generatedKey))break}}function Nt(ie,fe){if(0===ie.size)return se.empty();var re="mixed"!==fe&&fe!==ie.type,M="undirected"===fe,k=ie._edges.values();return new se(function(){for(var J,we;;){if((J=k.next()).done)return J;if(we=J.value,!re||we.undirected===M)break}return{value:[we.key,we.attributes,we.source.key,we.target.key,we.source.attributes,we.target.attributes],done:!1}})}function On(ie,fe,re,M){var k=[],J=ie?$e:Ve;return"undirected"!==fe&&("out"!==re&&J(k,M.in),"in"!==re&&J(k,M.out),!re&&M.directedSelfLoops>0&&k.splice(k.lastIndexOf(M.key),1)),"directed"!==fe&&J(k,M.undirected),k}function kn(ie,fe,re,M,k){var J=ie?q:Ne;"undirected"!==fe&&("out"!==re&&J(M.in,k),"in"!==re&&J(M.out,k,re?null:M.key)),"directed"!==fe&&J(M.undirected,k)}function Yn(ie,fe,re,M,k){var J=ie?pe:G;"undirected"!==fe&&("out"!==re&&J(M.in,k)||"in"!==re&&J(M.out,k,re?null:M.key))||"directed"===fe||J(M.undirected,k)}function Ti(ie,fe,re){var M=se.empty();return"undirected"!==ie&&("out"!==fe&&void 0!==re.in&&(M=Ke(M,ue(re.in))),"in"!==fe&&void 0!==re.out&&(M=Ke(M,ue(re.out,fe?null:re.key)))),"directed"!==ie&&void 0!==re.undirected&&(M=Ke(M,ue(re.undirected))),M}function wi(ie,fe,re,M,k){var J=fe?_t:je,we=[];return"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&J(we,M.in,k),void 0!==M.out&&"in"!==re&&J(we,M.out,k),!re&&M.directedSelfLoops>0&&we.splice(we.lastIndexOf(M.key),1)),"directed"!==ie&&void 0!==M.undirected&&J(we,M.undirected,k),we}function Xr(ie,fe,re,M,k,J){var we=fe?ve:pt;"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&we(M.in,k,J),M.key!==k&&void 0!==M.out&&"in"!==re&&we(M.out,k,J)),"directed"!==ie&&void 0!==M.undirected&&we(M.undirected,k,J)}function Ls(ie,fe,re,M,k,J){var we=fe?N:L;"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&we(M.in,k,J)||M.key!==k&&void 0!==M.out&&"in"!==re&&we(M.out,k,J,re?null:M.key))||"directed"===ie||void 0===M.undirected||we(M.undirected,k,J)}function gs(ie,fe,re,M){var k=se.empty();return"undirected"!==ie&&(void 0!==re.in&&"out"!==fe&&M in re.in&&(k=Ke(k,B(re.in,M))),void 0!==re.out&&"in"!==fe&&M in re.out&&(k=Ke(k,B(re.out,M)))),"directed"!==ie&&void 0!==re.undirected&&M in re.undirected&&(k=Ke(k,B(re.undirected,M))),k}var Bs=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Qr(ie,fe){if(void 0!==fe)for(var re in fe)ie.add(re)}function el(ie,fe,re){if("mixed"!==ie){if("undirected"===ie)return Object.keys(re.undirected);if("string"==typeof fe)return Object.keys(re[fe])}var M=new Set;return"undirected"!==ie&&("out"!==fe&&Qr(M,re.in),"in"!==fe&&Qr(M,re.out)),"directed"!==ie&&Qr(M,re.undirected),te(M.values(),M.size)}function kl(ie,fe,re){for(var M in fe){var k=fe[M];k instanceof Set&&(k=k.values().next().value);var J=k.source,Fe=J===ie?k.target:J;re(Fe.key,Fe.attributes)}}function Sa(ie,fe,re,M){for(var k in re){var J=re[k];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===fe?J.target:we;ie.has(nt.key)||(ie.add(nt.key),M(nt.key,nt.attributes))}}function Es(ie,fe,re){for(var M in fe){var k=fe[M];k instanceof Set&&(k=k.values().next().value);var J=k.source,Fe=J===ie?k.target:J;if(re(Fe.key,Fe.attributes))return!0}return!1}function Jt(ie,fe,re,M){for(var k in re){var J=re[k];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===fe?J.target:we;if(!ie.has(nt.key)&&(ie.add(nt.key),M(nt.key,nt.attributes)))return!0}return!1}function tl(ie,fe){var re=Object.keys(fe),M=re.length,k=0;return new se(function(){if(k>=M)return{done:!0};var J=fe[re[k++]];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===ie?J.target:we;return{done:!1,value:[nt.key,nt.attributes]}})}function rt(ie,fe,re){var M=Object.keys(re),k=M.length,J=0;return new se(function we(){if(J>=k)return{done:!0};var Fe=re[M[J++]];Fe instanceof Set&&(Fe=Fe.values().next().value);var nt=Fe.source,We=nt===fe?Fe.target:nt;return ie.has(We.key)?we():(ie.add(We.key),{done:!1,value:[We.key,We.attributes]})})}function lt(ie,fe,re,M,k){var J=ie._nodes.get(M);if("undirected"!==fe){if("out"!==re&&void 0!==J.in)for(var we in J.in)if(we===k)return!0;if("in"!==re&&void 0!==J.out)for(var Fe in J.out)if(Fe===k)return!0}if("directed"!==fe&&void 0!==J.undirected)for(var nt in J.undirected)if(nt===k)return!0;return!1}function Le(ie,fe,re){for(var M,k,J,we,Fe,nt,Ot,We=fe._nodes.values(),Wt=fe.type;!0!==(M=We.next()).done;){if(k=M.value,"undirected"!==Wt)for(J in we=k.out)if(nt=(Fe=we[J]).target,Ot=re(k.key,nt.key,k.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),ie&&Ot)return;if("directed"!==Wt)for(J in we=k.undirected)if((nt=(Fe=we[J]).target).key!==J&&(nt=Fe.source),Ot=re(k.key,nt.key,k.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),ie&&Ot)return}}function ut(ie,fe,re){for(var M,k,J,we,Fe,nt,Ot,We,Wt,xt=fe._nodes.values(),vn=fe.type;!0!==(M=xt.next()).done;){if(k=M.value,"undirected"!==vn)for(J in nt=k.out)for(we=nt[J].values();!0!==(Fe=we.next()).done;)if(We=(Ot=Fe.value).target,Wt=re(k.key,We.key,k.attributes,We.attributes,Ot.key,Ot.attributes,Ot.undirected,Ot.generatedKey),ie&&Wt)return;if("directed"!==vn)for(J in nt=k.undirected)for(we=nt[J].values();!0!==(Fe=we.next()).done;)if((We=(Ot=Fe.value).target).key!==J&&(We=Ot.source),Wt=re(k.key,We.key,k.attributes,We.attributes,Ot.key,Ot.attributes,Ot.undirected,Ot.generatedKey),ie&&Wt)return}}function Ze(ie,fe){var re={key:ie};return Q(fe.attributes)||(re.attributes=he({},fe.attributes)),re}function At(ie,fe){var re={source:fe.source.key,target:fe.target.key};return fe.generatedKey||(re.key=ie),Q(fe.attributes)||(re.attributes=he({},fe.attributes)),fe.undirected&&(re.undirected=!0),re}function Mt(ie){return P(ie)?"key"in ie?!("attributes"in ie)||P(ie.attributes)&&null!==ie.attributes?null:"invalid-attributes":"no-key":"not-object"}function Dt(ie){return P(ie)?"source"in ie?"target"in ie?!("attributes"in ie)||P(ie.attributes)&&null!==ie.attributes?"undirected"in ie&&"boolean"!=typeof ie.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var Xt=new Set(["directed","undirected","mixed"]),zn=new Set(["domain","_events","_eventsCount","_maxListeners"]),ai={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Nn(ie,fe,re){var M=new ie.NodeDataClass(fe,re);return ie._nodes.set(fe,M),ie.emit("nodeAdded",{key:fe,attributes:re}),M}function bn(ie,fe,re,M,k,J,we,Fe){if(!M&&"undirected"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe&&!P(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));if(J=""+J,we=""+we,Fe=Fe||{},!ie.allowSelfLoops&&J===we)throw new _e("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var nt=ie._nodes.get(J),Ot=ie._nodes.get(we);if(!nt)throw new ne("Graph.".concat(fe,': source node "').concat(J,'" not found.'));if(!Ot)throw new ne("Graph.".concat(fe,': target node "').concat(we,'" not found.'));var We={key:null,undirected:M,source:J,target:we,attributes:Fe};if(re&&(k=ie._edgeKeyGenerator(We)),ie._edges.has(k=""+k))throw new _e("Graph.".concat(fe,': the "').concat(k,'" edge already exists in the graph.'));if(!ie.multi&&(M?void 0!==nt.undirected[we]:void 0!==nt.out[we]))throw new _e("Graph.".concat(fe,': an edge linking "').concat(J,'" to "').concat(we,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var Wt=new Xe(M,k,re,nt,Ot,Fe);return ie._edges.set(k,Wt),J===we?M?(nt.undirectedSelfLoops++,ie._undirectedSelfLoopCount++):(nt.directedSelfLoops++,ie._directedSelfLoopCount++):M?(nt.undirectedDegree++,Ot.undirectedDegree++):(nt.outDegree++,Ot.inDegree++),tt(ie,M,Wt,J,we,nt,Ot),M?ie._undirectedSize++:ie._directedSize++,We.key=k,ie.emit("edgeAdded",We),k}function $n(ie,fe,re,M,k,J,we,Fe,nt){if(!M&&"undirected"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe)if(nt){if("function"!=typeof Fe)throw new me("Graph.".concat(fe,': invalid updater function. Expecting a function but got "').concat(Fe,'"'))}else if(!P(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));var Ot;if(J=""+J,we=""+we,nt&&(Ot=Fe,Fe=void 0),!ie.allowSelfLoops&&J===we)throw new _e("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var We,Wt,xt=ie._nodes.get(J),vn=ie._nodes.get(we);if(!re&&(We=ie._edges.get(k))){if(We.source.key!==J||We.target.key!==we||M&&(We.source.key!==we||We.target.key!==J))throw new _e("Graph.".concat(fe,': inconsistency detected when attempting to merge the "').concat(k,'" edge with "').concat(J,'" source & "').concat(we,'" target vs. ("').concat(We.source.key,'", "').concat(We.target.key,'").'));Wt=We}if(Wt||ie.multi||!xt||(Wt=M?xt.undirected[we]:xt.out[we]),Wt)return(nt?Ot:Fe)?(nt?(Wt.attributes=Ot(Wt.attributes),ie.emit("edgeAttributesUpdated",{type:"replace",key:Wt.key,attributes:Wt.attributes})):(he(Wt.attributes,Fe),ie.emit("edgeAttributesUpdated",{type:"merge",key:Wt.key,attributes:Wt.attributes,data:Fe})),Wt.key):Wt.key;Fe=Fe||{},nt&&Ot&&(Fe=Ot(Fe));var Jr={key:null,undirected:M,source:J,target:we,attributes:Fe};if(re&&(k=ie._edgeKeyGenerator(Jr)),ie._edges.has(k=""+k))throw new _e("Graph.".concat(fe,': the "').concat(k,'" edge already exists in the graph.'));return xt||(xt=Nn(ie,J,{}),J===we&&(vn=xt)),vn||(vn=Nn(ie,we,{})),We=new Xe(M,k,re,xt,vn,Fe),ie._edges.set(k,We),J===we?M?(xt.undirectedSelfLoops++,ie._undirectedSelfLoopCount++):(xt.directedSelfLoops++,ie._directedSelfLoopCount++):M?(xt.undirectedDegree++,vn.undirectedDegree++):(xt.outDegree++,vn.inDegree++),tt(ie,M,We,J,we,xt,vn),M?ie._undirectedSize++:ie._directedSize++,Jr.key=k,ie.emit("edgeAdded",Jr),k}var ie,Tn=function(ie){function fe(M){var k;if(k=ie.call(this)||this,(M=he({},ai,M)).edgeKeyGenerator&&"function"!=typeof M.edgeKeyGenerator)throw new me("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(M.edgeKeyGenerator,'".'));if("boolean"!=typeof M.multi)throw new me("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(M.multi,'".'));if(!Xt.has(M.type))throw new me('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(M.type,'".'));if("boolean"!=typeof M.allowSelfLoops)throw new me("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(M.allowSelfLoops,'".'));var J,we="mixed"===M.type?Ie:"directed"===M.type?Ge:st;return z(Se(k),"NodeDataClass",we),z(Se(k),"_attributes",{}),z(Se(k),"_nodes",new Map),z(Se(k),"_edges",new Map),z(Se(k),"_directedSize",0),z(Se(k),"_undirectedSize",0),z(Se(k),"_directedSelfLoopCount",0),z(Se(k),"_undirectedSelfLoopCount",0),z(Se(k),"_edgeKeyGenerator",M.edgeKeyGenerator||(J=0,function(){return J++})),z(Se(k),"_options",M),zn.forEach(function(Fe){return z(Se(k),Fe,k[Fe])}),v(Se(k),"order",function(){return k._nodes.size}),v(Se(k),"size",function(){return k._edges.size}),v(Se(k),"directedSize",function(){return k._directedSize}),v(Se(k),"undirectedSize",function(){return k._undirectedSize}),v(Se(k),"selfLoopCount",function(){return k._directedSelfLoopCount+k._undirectedSelfLoopCount}),v(Se(k),"directedSelfLoopCount",function(){return k._directedSelfLoopCount}),v(Se(k),"undirectedSelfLoopCount",function(){return k._undirectedSelfLoopCount}),v(Se(k),"multi",k._options.multi),v(Se(k),"type",k._options.type),v(Se(k),"allowSelfLoops",k._options.allowSelfLoops),v(Se(k),"implementation",function(){return"graphology"}),k}Je(fe,ie);var re=fe.prototype;return re.hasNode=function(M){return this._nodes.has(""+M)},re.hasDirectedEdge=function(M,k){if("undirected"===this.type)return!1;if(1===arguments.length){var we=this._edges.get(""+M);return!!we&&!we.undirected}if(2===arguments.length){k=""+k;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.out[k];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.hasUndirectedEdge=function(M,k){if("directed"===this.type)return!1;if(1===arguments.length){var we=this._edges.get(""+M);return!!we&&we.undirected}if(2===arguments.length){k=""+k;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.undirected[k];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.hasEdge=function(M,k){if(1===arguments.length)return this._edges.has(""+M);if(2===arguments.length){k=""+k;var we=this._nodes.get(M=""+M);if(!we)return!1;var Fe=void 0!==we.out&&we.out[k];return Fe||(Fe=void 0!==we.undirected&&we.undirected[k]),!(!Fe||this.multi&&!Fe.size)}throw new me("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.directedEdge=function(M,k){if("undirected"!==this.type){if(M=""+M,k=""+k,this.multi)throw new _e("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.directedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.directedEdge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.out&&J.out[k]||void 0;return we?we.key:void 0}},re.undirectedEdge=function(M,k){if("directed"!==this.type){if(M=""+M,k=""+k,this.multi)throw new _e("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.undirectedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.undirectedEdge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.undirected&&J.undirected[k]||void 0;return we?we.key:void 0}},re.edge=function(M,k){if(this.multi)throw new _e("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");k=""+k;var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.edge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.edge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.out&&J.out[k]||J.undirected&&J.undirected[k]||void 0;if(we)return we.key},re.inDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.inDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.inDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.inDegree+(k?J.directedSelfLoops:0)},re.outDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.outDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.outDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.outDegree+(k?J.directedSelfLoops:0)},re.directedDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.directedDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.directedDegree: could not find the "'.concat(M,'" node in the graph.'));if("undirected"===this.type)return 0;var we=k?J.directedSelfLoops:0;return J.inDegree+we+(J.outDegree+we)},re.undirectedDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.undirectedDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.undirectedDegree: could not find the "'.concat(M,'" node in the graph.'));return"directed"===this.type?0:J.undirectedDegree+2*(k?J.undirectedSelfLoops:0)},re.degree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.degree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.degree: could not find the "'.concat(M,'" node in the graph.'));var we=0,Fe=0;return"directed"!==this.type&&(k&&(Fe=J.undirectedSelfLoops),we+=J.undirectedDegree+2*Fe),"undirected"!==this.type&&(k&&(Fe=J.directedSelfLoops),we+=J.inDegree+J.outDegree+2*Fe),we},re.source=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.source: could not find the "'.concat(M,'" edge in the graph.'));return k.source.key},re.target=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.target: could not find the "'.concat(M,'" edge in the graph.'));return k.target.key},re.extremities=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.extremities: could not find the "'.concat(M,'" edge in the graph.'));return[k.source.key,k.target.key]},re.opposite=function(M,k){M=""+M;var J=this._edges.get(k=""+k);if(!J)throw new ne('Graph.opposite: could not find the "'.concat(k,'" edge in the graph.'));var we=J.source.key,Fe=J.target.key;if(M!==we&&M!==Fe)throw new ne('Graph.opposite: the "'.concat(M,'" node is not attached to the "').concat(k,'" edge (').concat(we,", ").concat(Fe,")."));return M===we?Fe:we},re.hasExtremity=function(M,k){k=""+k;var J=this._edges.get(M=""+M);if(!J)throw new ne('Graph.hasExtremity: could not find the "'.concat(M,'" edge in the graph.'));return J.source.key===k||J.target.key===k},re.isUndirected=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isUndirected: could not find the "'.concat(M,'" edge in the graph.'));return k.undirected},re.isDirected=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isDirected: could not find the "'.concat(M,'" edge in the graph.'));return!k.undirected},re.isSelfLoop=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isSelfLoop: could not find the "'.concat(M,'" edge in the graph.'));return k.source===k.target},re.hasGeneratedKey=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.hasGeneratedKey: could not find the "'.concat(M,'" edge in the graph.'));return k.generatedKey},re.addNode=function(M,k){return function(J,we,Fe){if(Fe&&!P(Fe))throw new me('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(Fe,'"'));if(Fe=Fe||{},J._nodes.has(we=""+we))throw new _e('Graph.addNode: the "'.concat(we,'" node already exist in the graph.'));var nt=new J.NodeDataClass(we,Fe);return J._nodes.set(we,nt),J.emit("nodeAdded",{key:we,attributes:Fe}),nt}(this,M,k).key},re.mergeNode=function(M,k){if(k&&!P(k))throw new me('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(k,'"'));k=k||{};var J=this._nodes.get(M=""+M);return J?(k&&(he(J.attributes,k),this.emit("nodeAttributesUpdated",{type:"merge",key:M,attributes:J.attributes,data:k})),M):(J=new this.NodeDataClass(M,k),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:k}),M)},re.updateNode=function(M,k){if(k&&"function"!=typeof k)throw new me('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(k,'"'));var J=this._nodes.get(M=""+M);if(J)return k&&(J.attributes=k(J.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:M,attributes:J.attributes})),M;var Fe=k?k({}):{};return J=new this.NodeDataClass(M,Fe),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:Fe}),M},re.dropNode=function(M){var k=this,J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.dropNode: could not find the "'.concat(M,'" node in the graph.'));this.forEachEdge(M,function(we){k.dropEdge(we)}),this._nodes.delete(M),this.emit("nodeDropped",{key:M,attributes:J.attributes})},re.dropEdge=function(M){var k;if(arguments.length>1){var J=""+arguments[0],we=""+arguments[1];if(!(k=W(this,J,we,this.type)))throw new ne('Graph.dropEdge: could not find the "'.concat(J,'" -> "').concat(we,'" edge in the graph.'))}else if(!(k=this._edges.get(M=""+M)))throw new ne('Graph.dropEdge: could not find the "'.concat(M,'" edge in the graph.'));this._edges.delete(k.key);var nt=k.source,Ot=k.target,We=k.attributes,Wt=k.undirected;return nt===Ot?Wt?(nt.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(nt.directedSelfLoops--,this._directedSelfLoopCount--):Wt?(nt.undirectedDegree--,Ot.undirectedDegree--):(nt.outDegree--,Ot.inDegree--),Ye(this,Wt,k),Wt?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:M,attributes:We,source:nt.key,target:Ot.key,undirected:Wt}),this},re.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},re.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},re.getAttribute=function(M){return this._attributes[M]},re.getAttributes=function(){return this._attributes},re.hasAttribute=function(M){return this._attributes.hasOwnProperty(M)},re.setAttribute=function(M,k){return this._attributes[M]=k,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},re.updateAttribute=function(M,k){if("function"!=typeof k)throw new me("Graph.updateAttribute: updater should be a function.");return this._attributes[M]=k(this._attributes[M]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},re.removeAttribute=function(M){return delete this._attributes[M],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:M}),this},re.replaceAttributes=function(M){if(!P(M))throw new me("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=M,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},re.mergeAttributes=function(M){if(!P(M))throw new me("Graph.mergeAttributes: provided attributes are not a plain object.");return he(this._attributes,M),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:M}),this},re.getNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.getNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes[k]},re.getNodeAttributes=function(M){var k=this._nodes.get(M=""+M);if(!k)throw new ne('Graph.getNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));return k.attributes},re.hasNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes.hasOwnProperty(k)},re.setNodeAttribute=function(M,k,J){var we=this._nodes.get(M=""+M);if(!we)throw new ne('Graph.setNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return we.attributes[k]=J,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:we.attributes,name:k}),this},re.updateNodeAttribute=function(M,k,J){var we=this._nodes.get(M=""+M);if(!we)throw new ne('Graph.updateNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof J)throw new me("Graph.updateAttribute: updater should be a function.");var Fe=we.attributes,nt=J(Fe[k]);return Fe[k]=nt,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:we.attributes,name:k}),this},re.removeNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return delete J.attributes[k],this.emit("nodeAttributesUpdated",{key:M,type:"remove",attributes:J.attributes,name:k}),this},re.replaceNodeAttributes=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.replaceNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!P(k))throw new me("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return J.attributes=k,this.emit("nodeAttributesUpdated",{key:M,type:"replace",attributes:J.attributes}),this},re.mergeNodeAttributes=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.mergeNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!P(k))throw new me("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return he(J.attributes,k),this.emit("nodeAttributesUpdated",{key:M,type:"merge",attributes:J.attributes,data:k}),this},re.updateEachNodeAttributes=function(M,k){if("function"!=typeof M)throw new me("Graph.updateEachNodeAttributes: expecting an updater function.");if(k&&!x(k))throw new me("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,we,Fe=this._nodes.values();!0!==(J=Fe.next()).done;)(we=J.value).attributes=M(we.key,we.attributes);this.emit("eachNodeAttributesUpdated",{hints:k||null})},re.updateEachEdgeAttributes=function(M,k){if("function"!=typeof M)throw new me("Graph.updateEachEdgeAttributes: expecting an updater function.");if(k&&!x(k))throw new me("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,we,Fe=this._edges.values();!0!==(J=Fe.next()).done;)(we=J.value).attributes=M(we.key,we.attributes);this.emit("eachEdgeAttributesUpdated",{hints:k||null})},re.forEach=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!1,this,M):Le(!1,this,M)},re.forEachUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!0,this,M):Le(!0,this,M)},re.adjacency=function(){return this.multi?(nt=(M=this)._nodes.values(),Ot=M.type,We="outer",Wt=null,new se(function xt(){var vn;if("outer"===We)return!0===(vn=nt.next()).done?vn:(k=vn.value,We="directed",xt());if("directed"===We)return"undirected"===Ot?(We="undirected",xt()):(we=k.out,J=Object.keys(k.out),Fe=0,We="inner-directed",xt());if("undirected"===We){if("directed"===Ot)return We="outer",xt();we=k.undirected,J=Object.keys(k.undirected),Fe=0,We="inner-undirected"}if(!Wt&&Fe>=J.length)return We="inner-undirected"===We?"outer":"undirected",xt();if(!Wt){var Ss=J[Fe++];return Wt=we[Ss].values(),xt()}if((vn=Wt.next()).done)return Wt=null,xt();var Jr=vn.value,Qs=Jr.target;return"inner-undirected"===We&&Qs.key===k.key&&(Qs=Jr.source),{done:!1,value:[k.key,Qs.key,k.attributes,Qs.attributes,Jr.key,Jr.attributes]}})):(Ll=(xt=this)._nodes.values(),po=xt.type,jr="outer",new se(function js(){var xc;if("outer"===jr)return!0===(xc=Ll.next()).done?xc:(vn=xc.value,jr="directed",js());if("directed"===jr)return"undirected"===po?(jr="undirected",js()):(Jr=vn.out,Ss=Object.keys(vn.out),Qs=0,jr="inner-directed",js());if("undirected"===jr){if("directed"===po)return jr="outer",js();Jr=vn.undirected,Ss=Object.keys(vn.undirected),Qs=0,jr="inner-undirected"}if(Qs>=Ss.length)return jr="inner-undirected"===jr?"outer":"undirected",js();var Sn=Ss[Qs++],go=Jr[Sn],Bl=go.target;return"inner-undirected"===jr&&Bl.key===vn.key&&(Bl=go.source),{done:!1,value:[vn.key,Bl.key,vn.attributes,Bl.attributes,go.key,go.attributes]}}));var xt,vn,Ss,Jr,Qs,Ll,po,jr,M,k,J,we,Fe,nt,Ot,We,Wt},re.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):te(this._nodes.keys(),this._nodes.size)},re.forEachNode=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(k,J){M(J,k.attributes)})},re.forEachNodeUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");for(var k,J,we=this._nodes.values();!0!==(k=we.next())&&!M((J=k.value).key,J.attributes););},re.nodeEntries=function(){var M=this._nodes.values();return new se(function(){var k=M.next();if(k.done)return k;var J=k.value;return{value:[J.key,J.attributes],done:!1}})},re.exportNode=function(M){var k=this._nodes.get(M=""+M);if(!k)throw new ne('Graph.exportNode: could not find the "'.concat(M,'" node in the graph.'));return Ze(M,k)},re.exportEdge=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.exportEdge: could not find the "'.concat(M,'" edge in the graph.'));return At(M,k)},re.export=function(){var M=new Array(this._nodes.size),k=0;this._nodes.forEach(function(we,Fe){M[k++]=Ze(Fe,we)});var J=new Array(this._edges.size);return k=0,this._edges.forEach(function(we,Fe){J[k++]=At(Fe,we)}),{attributes:this.getAttributes(),nodes:M,edges:J,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},re.importNode=function(M){var k=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Mt(M);if(J){if("not-object"===J)throw new me('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===J)throw new me("Graph.importNode: no key provided.");if("invalid-attributes"===J)throw new me("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var we=M.key,Fe=M.attributes,nt=void 0===Fe?{}:Fe;return k?this.mergeNode(we,nt):this.addNode(we,nt),this},re.importEdge=function(M){var k=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Dt(M);if(J){if("not-object"===J)throw new me('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===J)throw new me("Graph.importEdge: missing souce.");if("no-target"===J)throw new me("Graph.importEdge: missing target.");if("invalid-attributes"===J)throw new me("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===J)throw new me("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var we=M.source,Fe=M.target,nt=M.attributes,Ot=void 0===nt?{}:nt,We=M.undirected,Wt=void 0!==We&&We;return"key"in M?(k?Wt?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:Wt?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,M.key,we,Fe,Ot):(k?Wt?this.mergeUndirectedEdge:this.mergeDirectedEdge:Wt?this.addUndirectedEdge:this.addDirectedEdge).call(this,we,Fe,Ot),this},re.import=function(M){var k,J,we,Fe=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(j(M))return this.import(M.export(),Fe),this;if(!P(M))throw new me("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(M.attributes){if(!P(M.attributes))throw new me("Graph.import: invalid attributes. Expecting a plain object.");Fe?this.mergeAttributes(M.attributes):this.replaceAttributes(M.attributes)}if(M.nodes){if(we=M.nodes,!Array.isArray(we))throw new me("Graph.import: invalid nodes. Expecting an array.");for(k=0,J=we.length;kJ)){var Ot=new Set;Ot.add(k.undirected[nt]),k.undirected[nt]=Ot,M._nodes.get(nt).undirected[J]=Ot}})),this;var M},re.clearIndex=function(){return this._nodes.forEach(function(M){void 0!==M.in&&(M.in={},M.out={}),void 0!==M.undirected&&(M.undirected={})}),this},re.toJSON=function(){return this.export()},re.toString=function(){return"[object Graph]"},re.inspect=function(){var M=this,k={};this._nodes.forEach(function(Ot,We){k[We]=Ot.attributes});var J={},we={};this._edges.forEach(function(Ot,We){var Wt=Ot.undirected?"--":"->",xt="",vn="(".concat(Ot.source.key,")").concat(Wt,"(").concat(Ot.target.key,")");Ot.generatedKey?M.multi&&(void 0===we[vn]?we[vn]=0:we[vn]++,xt+="".concat(we[vn],". ")):xt+="[".concat(We,"]: "),J[xt+=vn]=Ot.attributes});var Fe={};for(var nt in this)this.hasOwnProperty(nt)&&!zn.has(nt)&&"function"!=typeof this[nt]&&(Fe[nt]=this[nt]);return Fe.attributes=this._attributes,Fe.nodes=k,Fe.edges=J,z(Fe,"constructor",this.constructor),Fe},fe}(A.exports.EventEmitter);"undefined"!=typeof Symbol&&(Tn.prototype[Symbol.for("nodejs.util.inspect.custom")]=Tn.prototype.inspect),[{name:function(ie){return"".concat(ie,"Edge")},generateKey:!0},{name:function(ie){return"".concat(ie,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(ie){return"".concat(ie,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(ie){return"".concat(ie,"EdgeWithKey")}},{name:function(ie){return"".concat(ie,"DirectedEdgeWithKey")},type:"directed"},{name:function(ie){return"".concat(ie,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(ie){["add","merge","update"].forEach(function(fe){var re=ie.name(fe),M="add"===fe?bn:$n;Tn.prototype[re]=ie.generateKey?function(k,J,we){return M(this,re,!0,"undirected"===(ie.type||this.type),null,k,J,we,"update"===fe)}:function(k,J,we,Fe){return M(this,re,!1,"undirected"===(ie.type||this.type),k,J,we,Fe,"update"===fe)}})}),"undefined"!=typeof Symbol&&(Tn.prototype[Symbol.iterator]=Tn.prototype.adjacency),ie=Tn,Ue.forEach(function(fe){var re=fe.name,M=fe.attacher;M(ie,re("Edge"),"mixed"),M(ie,re("DirectedEdge"),"directed"),M(ie,re("UndirectedEdge"),"undirected")}),function(ie){Me.forEach(function(fe){var M,k,J,we;J=(M=fe).type,we=M.direction,ie.prototype[k=M.name]=function(Fe,nt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(!arguments.length)return Re(this,J);if(1===arguments.length){var Ot=this._nodes.get(Fe=""+Fe);if(void 0===Ot)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" node in the graph.'));return On(this.multi,"mixed"===J?this.type:J,we,Ot)}if(2===arguments.length){nt=""+nt;var We=this._nodes.get(Fe=""+Fe);if(!We)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" source node in the graph.'));if(!this._nodes.has(nt))throw new ne("Graph.".concat(k,': could not find the "').concat(nt,'" target node in the graph.'));return wi(J,this.multi,we,We,nt)}throw new me("Graph.".concat(k,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(re,M){var k=M.name,J=M.type,we=M.direction,Fe="forEach"+k[0].toUpperCase()+k.slice(1,-1);re.prototype[Fe]=function(nt,Ot,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Qe(this,J,We=nt);if(2===arguments.length){We=Ot;var Wt=this._nodes.get(nt=""+nt);if(void 0===Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return kn(this.multi,"mixed"===J?this.type:J,we,Wt,We)}if(3===arguments.length){Ot=""+Ot;var xt=this._nodes.get(nt=""+nt);if(!xt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return Xr(J,this.multi,we,xt,Ot,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(ie,fe),function(re,M){var k=M.name,J=M.type,we=M.direction,Fe="forEach"+k[0].toUpperCase()+k.slice(1,-1)+"Until";re.prototype[Fe]=function(nt,Ot,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return St(this,J,We=nt);if(2===arguments.length){We=Ot;var Wt=this._nodes.get(nt=""+nt);if(void 0===Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Yn(this.multi,"mixed"===J?this.type:J,we,Wt,We)}if(3===arguments.length){Ot=""+Ot;var xt=this._nodes.get(nt=""+nt);if(!xt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return Ls(J,this.multi,we,xt,Ot,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(ie,fe),function(re,M){var J=M.type,we=M.direction,Fe=M.name.slice(0,-1)+"Entries";re.prototype[Fe]=function(nt,Ot){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return se.empty();if(!arguments.length)return Nt(this,J);if(1===arguments.length){var We=this._nodes.get(nt=""+nt);if(!We)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Ti(J,we,We)}if(2===arguments.length){Ot=""+Ot;var Wt=this._nodes.get(nt=""+nt);if(!Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return gs(J,we,Wt,Ot)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(ie,fe)})}(Tn),function(ie){Bs.forEach(function(fe){var M,k,J,we;J=(M=fe).type,we=M.direction,ie.prototype[k=M.name]=function(Fe){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(2===arguments.length){var nt=""+arguments[0],Ot=""+arguments[1];if(!this._nodes.has(nt))throw new ne("Graph.".concat(k,': could not find the "').concat(nt,'" node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(k,': could not find the "').concat(Ot,'" node in the graph.'));return lt(this,J,we,nt,Ot)}if(1===arguments.length){var We=this._nodes.get(Fe=""+Fe);if(void 0===We)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" node in the graph.'));return el("mixed"===J?this.type:J,we,We)}throw new me("Graph.".concat(k,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(ie,fe){var re=fe.name,M=fe.type,k=fe.direction,J="forEach"+re[0].toUpperCase()+re.slice(1,-1);ie.prototype[J]=function(we,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(we=""+we);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));!function(Ot,We,Wt,xt){if("mixed"!==Ot){if("undirected"===Ot)return kl(Wt,Wt.undirected,xt);if("string"==typeof We)return kl(Wt,Wt[We],xt)}var vn=new Set;"undirected"!==Ot&&("out"!==We&&Sa(vn,Wt,Wt.in,xt),"in"!==We&&Sa(vn,Wt,Wt.out,xt)),"directed"!==Ot&&Sa(vn,Wt,Wt.undirected,xt)}("mixed"===M?this.type:M,k,nt,Fe)}}}(ie,fe),function(ie,fe){var re=fe.name,M=fe.type,k=fe.direction,J="forEach"+re[0].toUpperCase()+re.slice(1,-1)+"Until";ie.prototype[J]=function(we,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(we=""+we);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));!function(Ot,We,Wt,xt){if("mixed"!==Ot){if("undirected"===Ot)return Es(Wt,Wt.undirected,xt);if("string"==typeof We)return Es(Wt,Wt[We],xt)}var vn=new Set;"undirected"!==Ot&&("out"!==We&&Jt(vn,Wt,Wt.in,xt)||"in"!==We&&Jt(vn,Wt,Wt.out,xt))||"directed"===Ot||Jt(vn,Wt,Wt.undirected,xt)}("mixed"===M?this.type:M,k,nt,Fe)}}}(ie,fe),function(ie,fe){var M=fe.type,k=fe.direction,J=fe.name.slice(0,-1)+"Entries";ie.prototype[J]=function(we){if("mixed"!==M&&"mixed"!==this.type&&M!==this.type)return se.empty();var Fe=this._nodes.get(we=""+we);if(void 0===Fe)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));return function(nt,Ot,We){if("mixed"!==nt){if("undirected"===nt)return tl(We,We.undirected);if("string"==typeof Ot)return tl(We,We[Ot])}var Wt=se.empty(),xt=new Set;return"undirected"!==nt&&("out"!==Ot&&(Wt=Ke(Wt,rt(xt,We,We.in))),"in"!==Ot&&(Wt=Ke(Wt,rt(xt,We,We.out)))),"directed"!==nt&&(Wt=Ke(Wt,rt(xt,We,We.undirected))),Wt}("mixed"===M?this.type:M,k,Fe)}}(ie,fe)})}(Tn);var lr=function(ie){function fe(re){var M=he({type:"directed"},re);if("multi"in M&&!1!==M.multi)throw new me("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==M.type)throw new me('DirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Tn),cr=function(ie){function fe(re){var M=he({type:"undirected"},re);if("multi"in M&&!1!==M.multi)throw new me("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==M.type)throw new me('UndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Tn),Xn=function(ie){function fe(re){var M=he({multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return ie.call(this,M)||this}return Je(fe,ie),fe}(Tn),$i=function(ie){function fe(re){var M=he({type:"directed",multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==M.type)throw new me('MultiDirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Tn),xa=function(ie){function fe(re){var M=he({type:"undirected",multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==M.type)throw new me('MultiUndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Tn);function Zr(ie){ie.from=function(fe,re){var M=he({},fe.options,re),k=new ie(M);return k.import(fe),k}}return Zr(Tn),Zr(lr),Zr(cr),Zr(Xn),Zr($i),Zr(xa),Tn.Graph=Tn,Tn.DirectedGraph=lr,Tn.UndirectedGraph=cr,Tn.MultiGraph=Xn,Tn.MultiDirectedGraph=$i,Tn.MultiUndirectedGraph=xa,Tn.InvalidArgumentsGraphError=me,Tn.NotFoundGraphError=ne,Tn.UsageGraphError=_e,Tn}()},524:(Ut,it,Je)=>{var yt;!function(ee,Tt,dt,Y){"use strict";var A,Se=["","webkit","Moz","MS","ms","o"],he=Tt.createElement("div"),j=Math.round,P=Math.abs,Q=Date.now;function z(ye,De,He){return setTimeout(T(ye,He),De)}function v(ye,De,He){return!!Array.isArray(ye)&&(x(ye,He[De],He),!0)}function x(ye,De,He){var bt;if(ye)if(ye.forEach)ye.forEach(De,He);else if(ye.length!==Y)for(bt=0;bt\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",li=ee.console&&(ee.console.warn||ee.console.log);return li&&li.call(ee.console,bt,Yt),ye.apply(this,arguments)}}A="function"!=typeof Object.assign?function(De){if(De===Y||null===De)throw new TypeError("Cannot convert undefined or null to object");for(var He=Object(De),bt=1;bt-1}function X(ye){return ye.trim().split(/\s+/g)}function E(ye,De,He){if(ye.indexOf&&!He)return ye.indexOf(De);for(var bt=0;btxs[De]}):bt.sort()),bt}function oe(ye,De){for(var He,bt,Gt=De[0].toUpperCase()+De.slice(1),Yt=0;Yt1&&!He.firstMultiple?He.firstMultiple=St(De):1===Gt&&(He.firstMultiple=!1);var Yt=He.firstInput,li=He.firstMultiple,Vr=li?li.center:Yt.center,es=De.center=Nt(bt);De.timeStamp=Q(),De.deltaTime=De.timeStamp-Yt.timeStamp,De.angle=Ti(Vr,es),De.distance=Yn(Vr,es),function(ye,De){var He=De.center,bt=ye.offsetDelta||{},Gt=ye.prevDelta||{},Yt=ye.prevInput||{};(1===De.eventType||4===Yt.eventType)&&(Gt=ye.prevDelta={x:Yt.deltaX||0,y:Yt.deltaY||0},bt=ye.offsetDelta={x:He.x,y:He.y}),De.deltaX=Gt.x+(He.x-bt.x),De.deltaY=Gt.y+(He.y-bt.y)}(He,De),De.offsetDirection=kn(De.deltaX,De.deltaY);var xs=On(De.deltaTime,De.deltaX,De.deltaY);De.overallVelocityX=xs.x,De.overallVelocityY=xs.y,De.overallVelocity=P(xs.x)>P(xs.y)?xs.x:xs.y,De.scale=li?function(ye,De){return Yn(De[0],De[1],pt)/Yn(ye[0],ye[1],pt)}(li.pointers,bt):1,De.rotation=li?function(ye,De){return Ti(De[1],De[0],pt)+Ti(ye[1],ye[0],pt)}(li.pointers,bt):0,De.maxPointers=He.prevInput?De.pointers.length>He.prevInput.maxPointers?De.pointers.length:He.prevInput.maxPointers:De.pointers.length,function(ye,De){var Gt,Yt,li,Vr,He=ye.lastInterval||De,bt=De.timeStamp-He.timeStamp;if(8!=De.eventType&&(bt>25||He.velocity===Y)){var es=De.deltaX-He.deltaX,xs=De.deltaY-He.deltaY,Qn=On(bt,es,xs);Yt=Qn.x,li=Qn.y,Gt=P(Qn.x)>P(Qn.y)?Qn.x:Qn.y,Vr=kn(es,xs),ye.lastInterval=De}else Gt=He.velocity,Yt=He.velocityX,li=He.velocityY,Vr=He.direction;De.velocity=Gt,De.velocityX=Yt,De.velocityY=li,De.direction=Vr}(He,De);var Qn=ye.element;D(De.srcEvent.target,Qn)&&(Qn=De.srcEvent.target),De.target=Qn}(ye,He),ye.emit("hammer.input",He),ye.recognize(He),ye.session.prevInput=He}function St(ye){for(var De=[],He=0;He=P(De)?ye<0?2:4:De<0?8:16}function Yn(ye,De,He){He||(He=_t);var bt=De[He[0]]-ye[He[0]],Gt=De[He[1]]-ye[He[1]];return Math.sqrt(bt*bt+Gt*Gt)}function Ti(ye,De,He){return He||(He=_t),180*Math.atan2(De[He[1]]-ye[He[1]],De[He[0]]-ye[He[0]])/Math.PI}ve.prototype={handler:function(){},init:function(){this.evEl&&K(this.element,this.evEl,this.domHandler),this.evTarget&&K(this.target,this.evTarget,this.domHandler),this.evWin&&K(Ce(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&ce(this.element,this.evEl,this.domHandler),this.evTarget&&ce(this.target,this.evTarget,this.domHandler),this.evWin&&ce(Ce(this.element),this.evWin,this.domHandler)}};var Ls={mousedown:1,mousemove:2,mouseup:4},gs="mousedown",Bs="mousemove mouseup";function Qr(){this.evEl=gs,this.evWin=Bs,this.pressed=!1,ve.apply(this,arguments)}S(Qr,ve,{handler:function(De){var He=Ls[De.type];1&He&&0===De.button&&(this.pressed=!0),2&He&&1!==De.which&&(He=4),this.pressed&&(4&He&&(this.pressed=!1),this.callback(this.manager,He,{pointers:[De],changedPointers:[De],pointerType:Xe,srcEvent:De}))}});var el={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},kl={2:Ge,3:"pen",4:Xe,5:"kinect"},Sa="pointerdown",Es="pointermove pointerup pointercancel";function Jt(){this.evEl=Sa,this.evWin=Es,ve.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}ee.MSPointerEvent&&!ee.PointerEvent&&(Sa="MSPointerDown",Es="MSPointerMove MSPointerUp MSPointerCancel"),S(Jt,ve,{handler:function(De){var He=this.store,bt=!1,Gt=De.type.toLowerCase().replace("ms",""),Yt=el[Gt],li=kl[De.pointerType]||De.pointerType,Vr=li==Ge,es=E(He,De.pointerId,"pointerId");1&Yt&&(0===De.button||Vr)?es<0&&(He.push(De),es=He.length-1):12&Yt&&(bt=!0),!(es<0)&&(He[es]=De,this.callback(this.manager,Yt,{pointers:He,changedPointers:[De],pointerType:li,srcEvent:De}),bt&&He.splice(es,1))}});var tl={touchstart:1,touchmove:2,touchend:4,touchcancel:8},rt="touchstart",lt="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=rt,this.evWin=lt,this.started=!1,ve.apply(this,arguments)}function ge(ye,De){var He=$(ye.touches),bt=$(ye.changedTouches);return 12&De&&(He=Z(He.concat(bt),"identifier",!0)),[He,bt]}S(ht,ve,{handler:function(De){var He=tl[De.type];if(1===He&&(this.started=!0),this.started){var bt=ge.call(this,De,He);12&He&&bt[0].length-bt[1].length==0&&(this.started=!1),this.callback(this.manager,He,{pointers:bt[0],changedPointers:bt[1],pointerType:Ge,srcEvent:De})}}});var be={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Le="touchstart touchmove touchend touchcancel";function ut(){this.evTarget=Le,this.targetIds={},ve.apply(this,arguments)}function Ze(ye,De){var He=$(ye.touches),bt=this.targetIds;if(3&De&&1===He.length)return bt[He[0].identifier]=!0,[He,He];var Gt,Yt,li=$(ye.changedTouches),Vr=[],es=this.target;if(Yt=He.filter(function(xs){return D(xs.target,es)}),1===De)for(Gt=0;Gt-1&&bt.splice(Yt,1)},2500)}}function ai(ye){for(var De=ye.srcEvent.clientX,He=ye.srcEvent.clientY,bt=0;bt-1&&this.requireFail.splice(De,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(ye){return!!this.simultaneous[ye.id]},emit:function(ye){var De=this,He=this.state;function bt(Gt){De.manager.emit(Gt,ye)}He<8&&bt(De.options.event+We(He)),bt(De.options.event),ye.additionalEvent&&bt(ye.additionalEvent),He>=8&&bt(De.options.event+We(He))},tryEmit:function(ye){if(this.canEmit())return this.emit(ye);this.state=32},canEmit:function(){for(var ye=0;yeDe.threshold&&Gt&De.direction},attrTest:function(ye){return vn.prototype.attrTest.call(this,ye)&&(2&this.state||!(2&this.state)&&this.directionTest(ye))},emit:function(ye){this.pX=ye.deltaX,this.pY=ye.deltaY;var De=Wt(ye.direction);De&&(ye.additionalEvent=this.options.event+De),this._super.emit.call(this,ye)}}),S(Jr,vn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[cr]},attrTest:function(ye){return this._super.attrTest.call(this,ye)&&(Math.abs(ye.scale-1)>this.options.threshold||2&this.state)},emit:function(ye){1!==ye.scale&&(ye.additionalEvent=this.options.event+(ye.scale<1?"in":"out")),this._super.emit.call(this,ye)}}),S(Qs,Ot,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(ye){var De=this.options,He=ye.pointers.length===De.pointers,bt=ye.distanceDe.time;if(this._input=ye,!bt||!He||12&ye.eventType&&!Gt)this.reset();else if(1&ye.eventType)this.reset(),this._timer=z(function(){this.state=8,this.tryEmit()},De.time,this);else if(4&ye.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(ye){8===this.state&&(ye&&4&ye.eventType?this.manager.emit(this.options.event+"up",ye):(this._input.timeStamp=Q(),this.manager.emit(this.options.event,this._input)))}}),S(Ll,vn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[cr]},attrTest:function(ye){return this._super.attrTest.call(this,ye)&&(Math.abs(ye.rotation)>this.options.threshold||2&this.state)}}),S(po,vn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Ss.prototype.getTouchAction.call(this)},attrTest:function(ye){var He,De=this.options.direction;return 30&De?He=ye.overallVelocity:6&De?He=ye.overallVelocityX:24&De&&(He=ye.overallVelocityY),this._super.attrTest.call(this,ye)&&De&ye.offsetDirection&&ye.distance>this.options.threshold&&ye.maxPointers==this.options.pointers&&P(He)>this.options.velocity&&4&ye.eventType},emit:function(ye){var De=Wt(ye.offsetDirection);De&&this.manager.emit(this.options.event+De,ye),this.manager.emit(this.options.event,ye)}}),S(jr,Ot,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[lr]},process:function(ye){var De=this.options,He=ye.pointers.length===De.pointers,bt=ye.distance"']/g,Es=RegExp(kl.source),Jt=RegExp(Sa.source),tl=/<%-([\s\S]+?)%>/g,rt=/<%([\s\S]+?)%>/g,lt=/<%=([\s\S]+?)%>/g,ht=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ge=/^\w*$/,be=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Le=/[\\^$.*+?()[\]{}|]/g,ut=RegExp(Le.source),Ze=/^\s+/,At=/\s/,Mt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Dt=/\{\n\/\* \[wrapped with (.+)\] \*/,Xt=/,? & /,zn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ai=/[()=,{}\[\]\/\s]/,Nn=/\\(\\)?/g,bn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,$n=/\w*$/,Tn=/^[-+]0x[0-9a-f]+$/i,lr=/^0b[01]+$/i,cr=/^\[object .+?Constructor\]$/,Xn=/^0o[0-7]+$/i,$i=/^(?:0|[1-9]\d*)$/,xa=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Zr=/($^)/,ie=/['\n\r\u2028\u2029\\]/g,fe="\\ud800-\\udfff",J="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",we="\\u2700-\\u27bf",Fe="a-z\\xdf-\\xf6\\xf8-\\xff",xt="A-Z\\xc0-\\xd6\\xd8-\\xde",vn="\\ufe0e\\ufe0f",Ss="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Qs="["+fe+"]",Ll="["+Ss+"]",po="["+J+"]",jr="\\d+",js="["+we+"]",xc="["+Fe+"]",Sn="[^"+fe+Ss+jr+we+Fe+xt+"]",go="\\ud83c[\\udffb-\\udfff]",Ca="[^"+fe+"]",wd="(?:\\ud83c[\\udde6-\\uddff]){2}",ye="[\\ud800-\\udbff][\\udc00-\\udfff]",De="["+xt+"]",bt="(?:"+xc+"|"+Sn+")",Gt="(?:"+De+"|"+Sn+")",Yt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",li="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Vr="(?:"+po+"|"+go+")?",es="["+vn+"]?",A1=es+Vr+"(?:\\u200d(?:"+[Ca,wd,ye].join("|")+")"+es+Vr+")*",Ed="(?:"+[js,wd,ye].join("|")+")"+A1,tr="(?:"+[Ca+po+"?",po,wd,ye,Qs].join("|")+")",fp=RegExp("['\u2019]","g"),Jm=RegExp(po,"g"),Dh=RegExp(go+"(?="+go+")|"+tr+A1,"g"),sv=RegExp([De+"?"+xc+"+"+Yt+"(?="+[Ll,De,"$"].join("|")+")",Gt+"+"+li+"(?="+[Ll,De+bt,"$"].join("|")+")",De+"?"+bt+"+"+Yt,De+"+"+li,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",jr,Ed].join("|"),"g"),T1=RegExp("[\\u200d"+fe+J+vn+"]"),jl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ih=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],M1=-1,ln={};ln[Nt]=ln[On]=ln[kn]=ln[Yn]=ln[Ti]=ln[wi]=ln[Xr]=ln[Ls]=ln[gs]=!0,ln[Xe]=ln[tt]=ln[Qe]=ln[Ue]=ln[St]=ln[ke]=ln[Me]=ln[Ve]=ln[Ne]=ln[q]=ln[pe]=ln[_t]=ln[pt]=ln[ve]=ln[B]=!1;var ur={};ur[Xe]=ur[tt]=ur[Qe]=ur[St]=ur[Ue]=ur[ke]=ur[Nt]=ur[On]=ur[kn]=ur[Yn]=ur[Ti]=ur[Ne]=ur[q]=ur[pe]=ur[_t]=ur[pt]=ur[ve]=ur[L]=ur[wi]=ur[Xr]=ur[Ls]=ur[gs]=!0,ur[Me]=ur[Ve]=ur[B]=!1;var on={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},D1=parseFloat,cv=parseInt,Rt="object"==typeof global&&global&&global.Object===Object&&global,Vs="object"==typeof self&&self&&self.Object===Object&&self,Vi=Rt||Vs||Function("return this")(),Vl=it&&!it.nodeType&&it,Aa=Vl&&Ut&&!Ut.nodeType&&Ut,Oo=Aa&&Aa.exports===Vl,e_=Oo&&Rt.process,Sr=function(){try{return Aa&&Aa.require&&Aa.require("util").types||e_&&e_.binding&&e_.binding("util")}catch(It){}}(),nn=Sr&&Sr.isArrayBuffer,hi=Sr&&Sr.isDate,pr=Sr&&Sr.isMap,mo=Sr&&Sr.isRegExp,Cc=Sr&&Sr.isSet,as=Sr&&Sr.isTypedArray;function ls(at,It,Et){switch(Et.length){case 0:return at.call(It);case 1:return at.call(It,Et[0]);case 2:return at.call(It,Et[0],Et[1]);case 3:return at.call(It,Et[0],Et[1],Et[2])}return at.apply(It,Et)}function Ur(at,It,Et,hn){for(var Dn=-1,Li=null==at?0:at.length;++Dn-1}function Oh(at,It,Et){for(var hn=-1,Dn=null==at?0:at.length;++hn-1;);return Et}function N1(at,It){for(var Et=at.length;Et--&&nl(It,at[Et],0)>-1;);return Et}function c2(at,It){for(var Et=at.length,hn=0;Et--;)at[Et]===It&&++hn;return hn}var u2=Qo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),d2=Qo({"&":"&","<":"<",">":">",'"':""","'":"'"});function h2(at){return"\\"+on[at]}function Ph(at){return T1.test(at)}function dv(at){var It=-1,Et=Array(at.size);return at.forEach(function(hn,Dn){Et[++It]=[Dn,hn]}),Et}function P1(at,It){return function(Et){return at(It(Et))}}function yu(at,It){for(var Et=-1,hn=at.length,Dn=0,Li=[];++Et",""":'"',"'":"'"}),kh=function at(It){var d,Et=(It=null==It?Vi:kh.defaults(Vi.Object(),It,kh.pick(Vi,Ih))).Array,hn=It.Date,Dn=It.Error,Li=It.Function,ts=It.Math,Ki=It.Object,a_=It.RegExp,l_=It.String,Da=It.TypeError,gr=Et.prototype,bu=Ki.prototype,gp=It["__core-js_shared__"],xr=Li.prototype.toString,Xi=bu.hasOwnProperty,y2=0,Lh=(d=/[^.]+$/.exec(gp&&gp.keys&&gp.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",Zs=bu.toString,L1=xr.call(Ki),c_=Vi._,Md=a_("^"+xr.call(Xi).replace(Le,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zs=Oo?It.Buffer:ee,zl=It.Symbol,Dd=It.Uint8Array,pv=zs?zs.allocUnsafe:ee,Ia=P1(Ki.getPrototypeOf,Ki),u_=Ki.create,mp=bu.propertyIsEnumerable,Bn=gr.splice,B1=zl?zl.isConcatSpreadable:ee,Bh=zl?zl.iterator:ee,vu=zl?zl.toStringTag:ee,_p=function(){try{var d=Lc(Ki,"defineProperty");return d({},"",{}),d}catch(f){}}(),gv=It.clearTimeout!==Vi.clearTimeout&&It.clearTimeout,j1=hn&&hn.now!==Vi.Date.now&&hn.now,V1=It.setTimeout!==Vi.setTimeout&&It.setTimeout,jt=ts.ceil,Ei=ts.floor,Cr=Ki.getOwnPropertySymbols,cs=zs?zs.isBuffer:ee,d_=It.isFinite,jh=gr.join,rl=P1(Ki.keys,Ki),Hr=ts.max,ms=ts.min,b2=hn.now,U1=It.parseInt,Vh=ts.random,yp=gr.reverse,As=Lc(It,"DataView"),_o=Lc(It,"Map"),bp=Lc(It,"Promise"),Oa=Lc(It,"Set"),No=Lc(It,"WeakMap"),Uh=Lc(Ki,"create"),zh=No&&new No,Id={},z1=Ru(As),h_=Ru(_o),f_=Ru(bp),mv=Ru(Oa),p_=Ru(No),vp=zl?zl.prototype:ee,Od=vp?vp.valueOf:ee,Hh=vp?vp.toString:ee;function Ee(d){if(Mr(d)&&!Rn(d)&&!(d instanceof fi)){if(d instanceof Po)return d;if(Xi.call(d,"__wrapped__"))return nf(d)}return new Po(d)}var wu=function(){function d(){}return function(f){if(!Tr(f))return{};if(u_)return u_(f);d.prototype=f;var _=new d;return d.prototype=ee,_}}();function Gh(){}function Po(d,f){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!f,this.__index__=0,this.__values__=ee}function fi(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=_e,this.__views__=[]}function yo(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function Hl(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function sl(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function Ra(d){var f=-1,_=null==d?0:d.length;for(this.__data__=new sl;++f<_;)this.add(d[f])}function Na(d){var f=this.__data__=new Hl(d);this.size=f.size}function Wh(d,f){var _=Rn(d),F=!_&&pl(d),ae=!_&&!F&&gl(d),Te=!_&&!F&&!ae&&cf(d),ze=_||F||ae||Te,qe=ze?Td(d.length,l_):[],ct=qe.length;for(var kt in d)(f||Xi.call(d,kt))&&(!ze||!("length"==kt||ae&&("offset"==kt||"parent"==kt)||Te&&("buffer"==kt||"byteLength"==kt||"byteOffset"==kt)||Bo(kt,ct)))&&qe.push(kt);return qe}function y_(d){var f=d.length;return f?d[Gl(0,f-1)]:ee}function vv(d,f){return Wd(eo(d),Eu(f,0,d.length))}function Rd(d){return Wd(eo(d))}function b_(d,f,_){(_!==ee&&!In(d[f],_)||_===ee&&!(f in d))&&al(d,f,_)}function ol(d,f,_){var F=d[f];(!Xi.call(d,f)||!In(F,_)||_===ee&&!(f in d))&&al(d,f,_)}function Nd(d,f){for(var _=d.length;_--;)if(In(d[_][0],f))return _;return-1}function Cp(d,f,_,F){return Ic(d,function(ae,Te,ze){f(F,ae,_(ae),ze)}),F}function Z1(d,f){return d&&Fa(f,Os(f),d)}function al(d,f,_){"__proto__"==f&&_p?_p(d,f,{configurable:!0,enumerable:!0,value:_,writable:!0}):d[f]=_}function v_(d,f){for(var _=-1,F=f.length,ae=Et(F),Te=null==d;++_=f?d:f)),d}function Hs(d,f,_,F,ae,Te){var ze,qe=1&f,ct=2&f,kt=4&f;if(_&&(ze=ae?_(d,F,ae,Te):_(d)),ze!==ee)return ze;if(!Tr(d))return d;var Lt=Rn(d);if(Lt){if(ze=function(d){var f=d.length,_=new d.constructor(f);return f&&"string"==typeof d[0]&&Xi.call(d,"index")&&(_.index=d.index,_.input=d.input),_}(d),!qe)return eo(d,ze)}else{var zt=$s(d),en=zt==Ve||zt==$e;if(gl(d))return Np(d,qe);if(zt==pe||zt==Xe||en&&!ae){if(ze=ct||en?{}:Hv(d),!qe)return ct?function(d,f){return Fa(d,Vv(d),f)}(d,function(d,f){return d&&Fa(f,no(f),d)}(ze,d)):function(d,f){return Fa(d,k_(d),f)}(d,Z1(ze,d))}else{if(!ur[zt])return ae?d:{};ze=function(d,f,_){var F=d.constructor;switch(f){case Qe:return Mu(d);case Ue:case ke:return new F(+d);case St:return function(d,f){var _=f?Mu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}(d,_);case Nt:case On:case kn:case Yn:case Ti:case wi:case Xr:case Ls:case gs:return O_(d,_);case Ne:return new F;case q:case ve:return new F(d);case _t:return function(d){var f=new d.constructor(d.source,$n.exec(d));return f.lastIndex=d.lastIndex,f}(d);case pt:return new F;case L:return function(d){return Od?Ki(Od.call(d)):{}}(d)}}(d,zt,qe)}}Te||(Te=new Na);var wn=Te.get(d);if(wn)return wn;Te.set(d,ze),yT(d)?d.forEach(function(jn){ze.add(Hs(jn,f,_,jn,d,Te))}):pT(d)&&d.forEach(function(jn,mi){ze.set(mi,Hs(jn,f,_,mi,d,Te))});var gi=Lt?ee:(kt?ct?P_:Yl:ct?no:Os)(d);return Us(gi||d,function(jn,mi){gi&&(jn=d[mi=jn]),ol(ze,mi,Hs(jn,f,_,mi,d,Te))}),ze}function Ap(d,f,_){var F=_.length;if(null==d)return!F;for(d=Ki(d);F--;){var ae=_[F],ze=d[ae];if(ze===ee&&!(ae in d)||!(0,f[ae])(ze))return!1}return!0}function qh(d,f,_){if("function"!=typeof d)throw new Da(Se);return ef(function(){d.apply(ee,_)},f)}function Dc(d,f,_,F){var ae=-1,Te=Ul,ze=!0,qe=d.length,ct=[],kt=f.length;if(!qe)return ct;_&&(f=Yi(f,Jo(_))),F?(Te=Oh,ze=!1):f.length>=200&&(Te=Nh,ze=!1,f=new Ra(f));e:for(;++ae-1},Hl.prototype.set=function(d,f){var _=this.__data__,F=Nd(_,d);return F<0?(++this.size,_.push([d,f])):_[F][1]=f,this},sl.prototype.clear=function(){this.size=0,this.__data__={hash:new yo,map:new(_o||Hl),string:new yo}},sl.prototype.delete=function(d){var f=Gs(this,d).delete(d);return this.size-=f?1:0,f},sl.prototype.get=function(d){return Gs(this,d).get(d)},sl.prototype.has=function(d){return Gs(this,d).has(d)},sl.prototype.set=function(d,f){var _=Gs(this,d),F=_.size;return _.set(d,f),this.size+=_.size==F?0:1,this},Ra.prototype.add=Ra.prototype.push=function(d){return this.__data__.set(d,W),this},Ra.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.clear=function(){this.__data__=new Hl,this.size=0},Na.prototype.delete=function(d){var f=this.__data__,_=f.delete(d);return this.size=f.size,_},Na.prototype.get=function(d){return this.__data__.get(d)},Na.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.set=function(d,f){var _=this.__data__;if(_ instanceof Hl){var F=_.__data__;if(!_o||F.length<199)return F.push([d,f]),this.size=++_.size,this;_=this.__data__=new sl(F)}return _.set(d,f),this.size=_.size,this};var Ic=ul(ll),E_=ul(Tp,!0);function Ev(d,f){var _=!0;return Ic(d,function(F,ae,Te){return _=!!f(F,ae,Te)}),_}function Yh(d,f,_){for(var F=-1,ae=d.length;++F0&&_(qe)?f>1?Ts(qe,f-1,_,F,ae):zr(ae,qe):F||(ae[ae.length]=qe)}return ae}var Pd=Ov(),Fd=Ov(!0);function ll(d,f){return d&&Pd(d,f,Os)}function Tp(d,f){return d&&Fd(d,f,Os)}function Kh(d,f){return Ta(f,function(_){return la(d[_])})}function ea(d,f){for(var _=0,F=(f=Pc(f,d)).length;null!=d&&_f}function kd(d,f){return null!=d&&Xi.call(d,f)}function Ld(d,f){return null!=d&&f in Ki(d)}function Su(d,f,_){for(var F=_?Oh:Ul,ae=d[0].length,Te=d.length,ze=Te,qe=Et(Te),ct=1/0,kt=[];ze--;){var Lt=d[ze];ze&&f&&(Lt=Yi(Lt,Jo(f))),ct=ms(Lt.length,ct),qe[ze]=!_&&(f||ae>=120&&Lt.length>=120)?new Ra(ze&&Lt):ee}Lt=d[0];var zt=-1,en=qe[0];e:for(;++zt=qe?ct:ct*("desc"==_[F]?-1:1)}return d.index-f.index}(Te,ze,_)});Et--;)at[Et]=at[Et].value;return at}(iA(d,function(Te,ze,qe){return{criteria:Yi(f,function(kt){return kt(Te)}),index:++F,value:Te}}))}function Tv(d,f,_){for(var F=-1,ae=f.length,Te={};++F-1;)qe!==d&&Bn.call(qe,ct,1),Bn.call(d,ct,1);return d}function Qh(d,f){for(var _=d?f.length:0,F=_-1;_--;){var ae=f[_];if(_==F||ae!==Te){var Te=ae;Bo(ae)?Bn.call(d,ae,1):Cu(d,ae)}}return d}function Gl(d,f){return d+Ei(Vh()*(f-d+1))}function Dp(d,f){var _="";if(!d||f<1||f>Ce)return _;do{f%2&&(_+=d),(f=Ei(f/2))&&(d+=d)}while(f);return _}function pi(d,f){return Hp(bA(d,f,io),d+"")}function sA(d){return y_(th(d))}function M2(d,f){var _=th(d);return Wd(_,Eu(f,0,_.length))}function Ip(d,f,_,F){if(!Tr(d))return d;for(var ae=-1,Te=(f=Pc(f,d)).length,ze=Te-1,qe=d;null!=qe&&++aeae?0:ae+f),(_=_>ae?ae:_)<0&&(_+=ae),ae=f>_?0:_-f>>>0,f>>>=0;for(var Te=Et(ae);++F>>1,ze=d[Te];null!==ze&&!ca(ze)&&(_?ze<=f:ze=200){var kt=f?null:N_(d);if(kt)return r_(kt);ze=!1,ae=Nh,ct=new Ra}else ct=f?[]:qe;e:for(;++F=F?d:Ds(d,f,_)}var lA=gv||function(d){return Vi.clearTimeout(d)};function Np(d,f){if(f)return d.slice();var _=d.length,F=pv?pv(_):new d.constructor(_);return d.copy(F),F}function Mu(d){var f=new d.constructor(d.byteLength);return new Dd(f).set(new Dd(d)),f}function O_(d,f){var _=f?Mu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function Fc(d,f){if(d!==f){var _=d!==ee,F=null===d,ae=d==d,Te=ca(d),ze=f!==ee,qe=null===f,ct=f==f,kt=ca(f);if(!qe&&!kt&&!Te&&d>f||Te&&ze&&ct&&!qe&&!kt||F&&ze&&ct||!_&&ct||!ae)return 1;if(!F&&!Te&&!kt&&d1?_[ae-1]:ee,ze=ae>2?_[2]:ee;for(Te=d.length>3&&"function"==typeof Te?(ae--,Te):ee,ze&&Ws(_[0],_[1],ze)&&(Te=ae<3?ee:Te,ae=1),f=Ki(f);++F-1?ae[Te?f[ze]:ze]:ee}}function Iu(d){return dl(function(f){var _=f.length,F=_,ae=Po.prototype.thru;for(d&&f.reverse();F--;){var Te=f[F];if("function"!=typeof Te)throw new Da(Se);if(ae&&!ze&&"wrapper"==Vp(Te))var ze=new Po([],!0)}for(F=ze?F:_;++F<_;){var qe=Vp(Te=f[F]),ct="wrapper"==qe?F_(Te):ee;ze=ct&&Up(ct[0])&&424==ct[1]&&!ct[4].length&&1==ct[9]?ze[Vp(ct[0])].apply(ze,ct[3]):1==Te.length&&Up(Te)?ze[qe]():ze.thru(Te)}return function(){var kt=arguments,Lt=kt[0];if(ze&&1==kt.length&&Rn(Lt))return ze.plant(Lt).value();for(var zt=0,en=_?f[zt].apply(this,kt):Lt;++zt<_;)en=f[zt].call(this,en);return en}})}function kc(d,f,_,F,ae,Te,ze,qe,ct,kt){var Lt=f&K,zt=1&f,en=2&f,wn=24&f,Ln=512&f,gi=en?ee:Hd(d);return function jn(){for(var mi=arguments.length,Mi=Et(mi),wo=mi;wo--;)Mi[wo]=arguments[wo];if(wn)var qs=$d(jn),ua=c2(Mi,qs);if(F&&(Mi=Ud(Mi,F,ae,wn)),Te&&(Mi=Iv(Mi,Te,ze,wn)),mi-=ua,wn&&mi1&&Mi.reverse(),Lt&&ctqe))return!1;var kt=Te.get(d),Lt=Te.get(f);if(kt&&Lt)return kt==f&&Lt==d;var zt=-1,en=!0,wn=2&_?new Ra:ee;for(Te.set(d,f),Te.set(f,d);++zt-1&&d%1==0&&d1?"& ":"")+f[F],f=f.join(_>2?", ":" "),d.replace(Mt,"{\n/* [wrapped with "+f+"] */\n")}(F,function(d,f){return Us(st,function(_){var F="_."+_[0];f&_[1]&&!Ul(d,F)&&d.push(F)}),d.sort()}(function(d){var f=d.match(Dt);return f?f[1].split(Xt):[]}(F),_)))}function z_(d){var f=0,_=0;return function(){var F=b2(),ae=16-(F-_);if(_=F,ae>0){if(++f>=800)return arguments[0]}else f=0;return d.apply(ee,arguments)}}function Wd(d,f){var _=-1,F=d.length,ae=F-1;for(f=f===ee?F:f;++_1?d[f-1]:ee;return _="function"==typeof _?(d.pop(),_):ee,GA(d,_)});function Z_(d){var f=Ee(d);return f.__chain__=!0,f}function Yd(d,f){return f(d)}var J_=dl(function(d){var f=d.length,_=f?d[0]:0,F=this.__wrapped__,ae=function(Te){return v_(Te,d)};return!(f>1||this.__actions__.length)&&F instanceof fi&&Bo(_)?((F=F.slice(_,+_+(f?1:0))).__actions__.push({func:Yd,args:[ae],thisArg:ee}),new Po(F,this.__chain__).thru(function(Te){return f&&!Te.length&&Te.push(ee),Te})):this.thru(ae)}),qA=ns(function(d,f,_){Xi.call(d,_)?++d[_]:al(d,_,1)}),XA=Nv(G_),QA=Nv($_);function iy(d,f){return(Rn(d)?Us:Ic)(d,Fn(f,3))}function Wp(d,f){return(Rn(d)?Sd:E_)(d,Fn(f,3))}var JA=ns(function(d,f,_){Xi.call(d,_)?d[_].push(f):al(d,_,[f])}),dw=pi(function(d,f,_){var F=-1,ae="function"==typeof f,Te=bo(d)?Et(d.length):[];return Ic(d,function(ze){Te[++F]=ae?ls(f,ze,_):Pa(ze,f,_)}),Te}),hw=ns(function(d,f,_){al(d,_,f)});function fl(d,f){return(Rn(d)?Yi:iA)(d,Fn(f,3))}var pw=ns(function(d,f,_){d[_?0:1].push(f)},function(){return[[],[]]}),Yp=pi(function(d,f){if(null==d)return[];var _=f.length;return _>1&&Ws(d,f[0],f[1])?f=[]:_>2&&Ws(f[0],f[1],f[2])&&(f=[f[0]]),Xh(d,Ts(f,1),[])}),Nu=j1||function(){return Vi.Date.now()};function Kp(d,f,_){return f=_?ee:f,ql(d,K,ee,ee,ee,ee,f=d&&null==f?d.length:f)}function sy(d,f){var _;if("function"!=typeof f)throw new Da(Se);return d=Jn(d),function(){return--d>0&&(_=f.apply(this,arguments)),d<=1&&(f=ee),_}}var af=pi(function(d,f,_){var F=1;if(_.length){var ae=yu(_,$d(af));F|=V}return ql(d,F,f,_,ae)}),Xd=pi(function(d,f,_){var F=3;if(_.length){var ae=yu(_,$d(Xd));F|=V}return ql(f,F,d,_,ae)});function ww(d,f,_){var F,ae,Te,ze,qe,ct,kt=0,Lt=!1,zt=!1,en=!0;if("function"!=typeof d)throw new Da(Se);function wn(Hi){var yl=F,Uc=ae;return F=ae=ee,kt=Hi,ze=d.apply(Uc,yl)}function Ln(Hi){return kt=Hi,qe=ef(mi,f),Lt?wn(Hi):ze}function jn(Hi){var yl=Hi-ct;return ct===ee||yl>=f||yl<0||zt&&Hi-kt>=Te}function mi(){var Hi=Nu();if(jn(Hi))return Mi(Hi);qe=ef(mi,function(Hi){var lM=f-(Hi-ct);return zt?ms(lM,Te-(Hi-kt)):lM}(Hi))}function Mi(Hi){return qe=ee,en&&F?wn(Hi):(F=ae=ee,ze)}function ua(){var Hi=Nu(),yl=jn(Hi);if(F=arguments,ae=this,ct=Hi,yl){if(qe===ee)return Ln(ct);if(zt)return lA(qe),qe=ef(mi,f),wn(ct)}return qe===ee&&(qe=ef(mi,f)),ze}return f=vo(f)||0,Tr(_)&&(Lt=!!_.leading,Te=(zt="maxWait"in _)?Hr(vo(_.maxWait)||0,f):Te,en="trailing"in _?!!_.trailing:en),ua.cancel=function(){qe!==ee&&lA(qe),kt=0,F=ct=ae=qe=ee},ua.flush=function(){return qe===ee?ze:Mi(Nu())},ua}var iT=pi(function(d,f){return qh(d,1,f)}),Ew=pi(function(d,f,_){return qh(d,vo(f)||0,_)});function lf(d,f){if("function"!=typeof d||null!=f&&"function"!=typeof f)throw new Da(Se);var _=function(){var F=arguments,ae=f?f.apply(this,F):F[0],Te=_.cache;if(Te.has(ae))return Te.get(ae);var ze=d.apply(this,F);return _.cache=Te.set(ae,ze)||Te,ze};return _.cache=new(lf.Cache||sl),_}function ly(d){if("function"!=typeof d)throw new Da(Se);return function(){var f=arguments;switch(f.length){case 0:return!d.call(this);case 1:return!d.call(this,f[0]);case 2:return!d.call(this,f[0],f[1]);case 3:return!d.call(this,f[0],f[1],f[2])}return!d.apply(this,f)}}lf.Cache=sl;var rT=aA(function(d,f){var _=(f=1==f.length&&Rn(f[0])?Yi(f[0],Jo(Fn())):Yi(Ts(f,1),Jo(Fn()))).length;return pi(function(F){for(var ae=-1,Te=ms(F.length,_);++ae=f}),pl=J1(function(){return arguments}())?J1:function(d){return Mr(d)&&Xi.call(d,"callee")&&!mp.call(d,"callee")},Rn=Et.isArray,Mw=nn?Jo(nn):function(d){return Mr(d)&&Ms(d)==Qe};function bo(d){return null!=d&&uy(d.length)&&!la(d)}function Ar(d){return Mr(d)&&bo(d)}var gl=cs||Ny,Dw=hi?Jo(hi):function(d){return Mr(d)&&Ms(d)==ke};function La(d){if(!Mr(d))return!1;var f=Ms(d);return f==Me||"[object DOMException]"==f||"string"==typeof d.message&&"string"==typeof d.name&&!Jp(d)}function la(d){if(!Tr(d))return!1;var f=Ms(d);return f==Ve||f==$e||"[object AsyncFunction]"==f||"[object Proxy]"==f}function Zp(d){return"number"==typeof d&&d==Jn(d)}function uy(d){return"number"==typeof d&&d>-1&&d%1==0&&d<=Ce}function Tr(d){var f=typeof d;return null!=d&&("object"==f||"function"==f)}function Mr(d){return null!=d&&"object"==typeof d}var pT=pr?Jo(pr):function(d){return Mr(d)&&$s(d)==Ne};function _T(d){return"number"==typeof d||Mr(d)&&Ms(d)==q}function Jp(d){if(!Mr(d)||Ms(d)!=pe)return!1;var f=Ia(d);if(null===f)return!0;var _=Xi.call(f,"constructor")&&f.constructor;return"function"==typeof _&&_ instanceof _&&xr.call(_)==L1}var Nw=mo?Jo(mo):function(d){return Mr(d)&&Ms(d)==_t},yT=Cc?Jo(Cc):function(d){return Mr(d)&&$s(d)==pt};function hy(d){return"string"==typeof d||!Rn(d)&&Mr(d)&&Ms(d)==ve}function ca(d){return"symbol"==typeof d||Mr(d)&&Ms(d)==L}var cf=as?Jo(as):function(d){return Mr(d)&&uy(d.length)&&!!ln[Ms(d)]},Bc=Lp(Av),fy=Lp(function(d,f){return d<=f});function Pw(d){if(!d)return[];if(bo(d))return hy(d)?il(d):eo(d);if(Bh&&d[Bh])return function(at){for(var It,Et=[];!(It=at.next()).done;)Et.push(It.value);return Et}(d[Bh]());var f=$s(d);return(f==Ne?dv:f==pt?r_:th)(d)}function ml(d){return d?(d=vo(d))===te||d===-te?17976931348623157e292*(d<0?-1:1):d==d?d:0:0===d?d:0}function Jn(d){var f=ml(d),_=f%1;return f==f?_?f-_:f:0}function py(d){return d?Eu(Jn(d),0,_e):0}function vo(d){if("number"==typeof d)return d;if(ca(d))return NaN;if(Tr(d)){var f="function"==typeof d.valueOf?d.valueOf():d;d=Tr(f)?f+"":f}if("string"!=typeof d)return 0===d?d:+d;d=uv(d);var _=lr.test(d);return _||Xn.test(d)?cv(d.slice(2),_?2:8):Tn.test(d)?NaN:+d}function Fw(d){return Fa(d,no(d))}function zi(d){return null==d?"":Lo(d)}var bT=$l(function(d,f){if(zp(f)||bo(f))Fa(f,Os(f),d);else for(var _ in f)Xi.call(f,_)&&ol(d,_,f[_])}),vT=$l(function(d,f){Fa(f,no(f),d)}),Qd=$l(function(d,f,_,F){Fa(f,no(f),d,F)}),wT=$l(function(d,f,_,F){Fa(f,Os(f),d,F)}),kw=dl(v_),ST=pi(function(d,f){d=Ki(d);var _=-1,F=f.length,ae=F>2?f[2]:ee;for(ae&&Ws(f[0],f[1],ae)&&(F=1);++_1),Te}),Fa(d,P_(d),_),F&&(_=Hs(_,7,Bp));for(var ae=f.length;ae--;)Cu(_,f[ae]);return _}),MT=dl(function(d,f){return null==d?{}:function(d,f){return Tv(d,f,function(_,F){return eg(d,F)})}(d,f)});function Hw(d,f){if(null==d)return{};var _=Yi(P_(d),function(F){return[F]});return f=Fn(f),Tv(d,_,function(F,ae){return f(F,ae[0])})}var DT=Ou(Os),$w=Ou(no);function th(d){return null==d?[]:i_(d,Os(d))}var PT=Wl(function(d,f,_){return f=f.toLowerCase(),d+(_?yy(f):f)});function yy(d){return ig(zi(d).toLowerCase())}function by(d){return(d=zi(d))&&d.replace(xa,u2).replace(Jm,"")}var kT=Wl(function(d,f,_){return d+(_?"-":"")+f.toLowerCase()}),LT=Wl(function(d,f,_){return d+(_?" ":"")+f.toLowerCase()}),K2=Pp("toLowerCase"),zT=Wl(function(d,f,_){return d+(_?"_":"")+f.toLowerCase()}),Ey=Wl(function(d,f,_){return d+(_?" ":"")+ig(f)}),Qw=Wl(function(d,f,_){return d+(_?" ":"")+f.toUpperCase()}),ig=Pp("toUpperCase");function Ay(d,f,_){return d=zi(d),(f=_?ee:f)===ee?function(at){return jl.test(at)}(d)?function(at){return at.match(sv)||[]}(d):function(at){return at.match(zn)||[]}(d):d.match(f)||[]}var Ty=pi(function(d,f){try{return ls(d,ee,f)}catch(_){return La(_)?_:new Dn(_)}}),Zw=dl(function(d,f){return Us(f,function(_){_=ni(_),al(d,_,af(d[_],d))}),d});function My(d){return function(){return d}}var Q2=Iu(),Pu=Iu(!0);function io(d){return d}function Fu(d){return nA("function"==typeof d?d:Hs(d,1))}var Dy=pi(function(d,f){return function(_){return Pa(_,d,f)}}),Jw=pi(function(d,f){return function(_){return Pa(d,_,f)}});function Iy(d,f,_){var F=Os(f),ae=Kh(f,F);null==_&&(!Tr(f)||!ae.length&&F.length)&&(_=f,f=d,d=this,ae=Kh(f,Os(f)));var Te=!(Tr(_)&&"chain"in _&&!_.chain),ze=la(d);return Us(ae,function(qe){var ct=f[qe];d[qe]=ct,ze&&(d.prototype[qe]=function(){var kt=this.__chain__;if(Te||kt){var Lt=d(this.__wrapped__),zt=Lt.__actions__=eo(this.__actions__);return zt.push({func:ct,args:arguments,thisArg:d}),Lt.__chain__=kt,Lt}return ct.apply(d,zr([this.value()],arguments))})}),d}function Oy(){}var XT=Fp(Yi),QT=Fp(ti),tE=Fp(Ro);function ku(d){return ra(d)?t_(ni(d)):function(d){return function(f){return ea(f,d)}}(d)}var ZT=Fv(),JT=Fv(!0);function Vc(){return[]}function Ny(){return!1}var Wn=R_(function(d,f){return d+f},0),Py=Gd("ceil"),J2=R_(function(d,f){return d/f},1),Ql=Gd("floor"),sE=R_(function(d,f){return d*f},1),oE=Gd("round"),aE=R_(function(d,f){return d-f},0);return Ee.after=function(d,f){if("function"!=typeof f)throw new Da(Se);return d=Jn(d),function(){if(--d<1)return f.apply(this,arguments)}},Ee.ary=Kp,Ee.assign=bT,Ee.assignIn=vT,Ee.assignInWith=Qd,Ee.assignWith=wT,Ee.at=kw,Ee.before=sy,Ee.bind=af,Ee.bindAll=Zw,Ee.bindKey=Xd,Ee.castArray=function(){if(!arguments.length)return[];var d=arguments[0];return Rn(d)?d:[d]},Ee.chain=Z_,Ee.chunk=function(d,f,_){f=(_?Ws(d,f,_):f===ee)?1:Hr(Jn(f),0);var F=null==d?0:d.length;if(!F||f<1)return[];for(var ae=0,Te=0,ze=Et(jt(F/f));aeae?0:ae+_),(F=F===ee||F>ae?ae:Jn(F))<0&&(F+=ae),F=_>F?0:py(F);_>>0)?(d=zi(d))&&("string"==typeof f||null!=f&&!Nw(f))&&!(f=Lo(f))&&Ph(d)?cl(il(d),0,_):d.split(f,_):[]},Ee.spread=function(d,f){if("function"!=typeof d)throw new Da(Se);return f=null==f?0:Hr(Jn(f),0),pi(function(_){var F=_[f],ae=cl(_,0,f);return F&&zr(ae,F),ls(d,this,ae)})},Ee.tail=function(d){var f=null==d?0:d.length;return f?Ds(d,1,f):[]},Ee.take=function(d,f,_){return d&&d.length?Ds(d,0,(f=_||f===ee?1:Jn(f))<0?0:f):[]},Ee.takeRight=function(d,f,_){var F=null==d?0:d.length;return F?Ds(d,(f=F-(f=_||f===ee?1:Jn(f)))<0?0:f,F):[]},Ee.takeRightWhile=function(d,f){return d&&d.length?Au(d,Fn(f,3),!1,!0):[]},Ee.takeWhile=function(d,f){return d&&d.length?Au(d,Fn(f,3)):[]},Ee.tap=function(d,f){return f(d),d},Ee.throttle=function(d,f,_){var F=!0,ae=!0;if("function"!=typeof d)throw new Da(Se);return Tr(_)&&(F="leading"in _?!!_.leading:F,ae="trailing"in _?!!_.trailing:ae),ww(d,f,{leading:F,maxWait:f,trailing:ae})},Ee.thru=Yd,Ee.toArray=Pw,Ee.toPairs=DT,Ee.toPairsIn=$w,Ee.toPath=function(d){return Rn(d)?Yi(d,ni):ca(d)?[d]:eo(qv(zi(d)))},Ee.toPlainObject=Fw,Ee.transform=function(d,f,_){var F=Rn(d),ae=F||gl(d)||cf(d);if(f=Fn(f,4),null==_){var Te=d&&d.constructor;_=ae?F?new Te:[]:Tr(d)&&la(Te)?wu(Ia(d)):{}}return(ae?Us:ll)(d,function(ze,qe,ct){return f(_,ze,qe,ct)}),_},Ee.unary=function(d){return Kp(d,1)},Ee.union=iw,Ee.unionBy=UA,Ee.unionWith=zA,Ee.uniq=function(d){return d&&d.length?Rc(d):[]},Ee.uniqBy=function(d,f){return d&&d.length?Rc(d,Fn(f,2)):[]},Ee.uniqWith=function(d,f){return f="function"==typeof f?f:ee,d&&d.length?Rc(d,ee,f):[]},Ee.unset=function(d,f){return null==d||Cu(d,f)},Ee.unzip=rw,Ee.unzipWith=GA,Ee.update=function(d,f,_){return null==d?d:Op(d,f,I_(_))},Ee.updateWith=function(d,f,_,F){return F="function"==typeof F?F:ee,null==d?d:Op(d,f,I_(_),F)},Ee.values=th,Ee.valuesIn=function(d){return null==d?[]:i_(d,no(d))},Ee.without=sw,Ee.words=Ay,Ee.wrap=function(d,f){return Xp(I_(f),d)},Ee.xor=B2,Ee.xorBy=jo,Ee.xorWith=X_,Ee.zip=Q_,Ee.zipObject=function(d,f){return Rp(d||[],f||[],ol)},Ee.zipObjectDeep=function(d,f){return Rp(d||[],f||[],Ip)},Ee.zipWith=of,Ee.entries=DT,Ee.entriesIn=$w,Ee.extend=vT,Ee.extendWith=Qd,Iy(Ee,Ee),Ee.add=Wn,Ee.attempt=Ty,Ee.camelCase=PT,Ee.capitalize=yy,Ee.ceil=Py,Ee.clamp=function(d,f,_){return _===ee&&(_=f,f=ee),_!==ee&&(_=(_=vo(_))==_?_:0),f!==ee&&(f=(f=vo(f))==f?f:0),Eu(vo(d),f,_)},Ee.clone=function(d){return Hs(d,4)},Ee.cloneDeep=function(d){return Hs(d,5)},Ee.cloneDeepWith=function(d,f){return Hs(d,5,f="function"==typeof f?f:ee)},Ee.cloneWith=function(d,f){return Hs(d,4,f="function"==typeof f?f:ee)},Ee.conformsTo=function(d,f){return null==f||Ap(d,f,Os(f))},Ee.deburr=by,Ee.defaultTo=function(d,f){return null==d||d!=d?f:d},Ee.divide=J2,Ee.endsWith=function(d,f,_){d=zi(d),f=Lo(f);var F=d.length,ae=_=_===ee?F:Eu(Jn(_),0,F);return(_-=f.length)>=0&&d.slice(_,ae)==f},Ee.eq=In,Ee.escape=function(d){return(d=zi(d))&&Jt.test(d)?d.replace(Sa,d2):d},Ee.escapeRegExp=function(d){return(d=zi(d))&&ut.test(d)?d.replace(Le,"\\$&"):d},Ee.every=function(d,f,_){var F=Rn(d)?ti:Ev;return _&&Ws(d,f,_)&&(f=ee),F(d,Fn(f,3))},Ee.find=XA,Ee.findIndex=G_,Ee.findKey=function(d,f){return Rh(d,Fn(f,3),ll)},Ee.findLast=QA,Ee.findLastIndex=$_,Ee.findLastKey=function(d,f){return Rh(d,Fn(f,3),Tp)},Ee.floor=Ql,Ee.forEach=iy,Ee.forEachRight=Wp,Ee.forIn=function(d,f){return null==d?d:Pd(d,Fn(f,3),no)},Ee.forInRight=function(d,f){return null==d?d:Fd(d,Fn(f,3),no)},Ee.forOwn=function(d,f){return d&&ll(d,Fn(f,3))},Ee.forOwnRight=function(d,f){return d&&Tp(d,Fn(f,3))},Ee.get=hf,Ee.gt=Zt,Ee.gte=Tw,Ee.has=function(d,f){return null!=d&&zv(d,f,kd)},Ee.hasIn=eg,Ee.head=Kv,Ee.identity=io,Ee.includes=function(d,f,_,F){d=bo(d)?d:th(d),_=_&&!F?Jn(_):0;var ae=d.length;return _<0&&(_=Hr(ae+_,0)),hy(d)?_<=ae&&d.indexOf(f,_)>-1:!!ae&&nl(d,f,_)>-1},Ee.indexOf=function(d,f,_){var F=null==d?0:d.length;if(!F)return-1;var ae=null==_?0:Jn(_);return ae<0&&(ae=Hr(F+ae,0)),nl(d,f,ae)},Ee.inRange=function(d,f,_){return f=ml(f),_===ee?(_=f,f=0):_=ml(_),function(d,f,_){return d>=ms(f,_)&&d=-Ce&&d<=Ce},Ee.isSet=yT,Ee.isString=hy,Ee.isSymbol=ca,Ee.isTypedArray=cf,Ee.isUndefined=function(d){return d===ee},Ee.isWeakMap=function(d){return Mr(d)&&$s(d)==B},Ee.isWeakSet=function(d){return Mr(d)&&"[object WeakSet]"==Ms(d)},Ee.join=function(d,f){return null==d?"":jh.call(d,f)},Ee.kebabCase=kT,Ee.last=sa,Ee.lastIndexOf=function(d,f,_){var F=null==d?0:d.length;if(!F)return-1;var ae=F;return _!==ee&&(ae=(ae=Jn(_))<0?Hr(F+ae,0):ms(ae,F-1)),f==f?function(at,It,Et){for(var hn=Et+1;hn--;)if(at[hn]===It)return hn;return hn}(d,f,ae):Cd(d,Ac,ae,!0)},Ee.lowerCase=LT,Ee.lowerFirst=K2,Ee.lt=Bc,Ee.lte=fy,Ee.max=function(d){return d&&d.length?Yh(d,io,Fo):ee},Ee.maxBy=function(d,f){return d&&d.length?Yh(d,Fn(f,2),Fo):ee},Ee.mean=function(d){return Cs(d,io)},Ee.meanBy=function(d,f){return Cs(d,Fn(f,2))},Ee.min=function(d){return d&&d.length?Yh(d,io,Av):ee},Ee.minBy=function(d,f){return d&&d.length?Yh(d,Fn(f,2),Av):ee},Ee.stubArray=Vc,Ee.stubFalse=Ny,Ee.stubObject=function(){return{}},Ee.stubString=function(){return""},Ee.stubTrue=function(){return!0},Ee.multiply=sE,Ee.nth=function(d,f){return d&&d.length?xu(d,Jn(f)):ee},Ee.noConflict=function(){return Vi._===this&&(Vi._=c_),this},Ee.noop=Oy,Ee.now=Nu,Ee.pad=function(d,f,_){d=zi(d);var F=(f=Jn(f))?Fh(d):0;if(!f||F>=f)return d;var ae=(f-F)/2;return kp(Ei(ae),_)+d+kp(jt(ae),_)},Ee.padEnd=function(d,f,_){d=zi(d);var F=(f=Jn(f))?Fh(d):0;return f&&Ff){var F=d;d=f,f=F}if(_||d%1||f%1){var ae=Vh();return ms(d+ae*(f-d+D1("1e-"+((ae+"").length-1))),f)}return Gl(d,f)},Ee.reduce=function(d,f,_){var F=Rn(d)?_u:Zo,ae=arguments.length<3;return F(d,Fn(f,4),_,ae,Ic)},Ee.reduceRight=function(d,f,_){var F=Rn(d)?xd:Zo,ae=arguments.length<3;return F(d,Fn(f,4),_,ae,E_)},Ee.repeat=function(d,f,_){return f=(_?Ws(d,f,_):f===ee)?1:Jn(f),Dp(zi(d),f)},Ee.replace=function(){var d=arguments,f=zi(d[0]);return d.length<3?f:f.replace(d[1],d[2])},Ee.result=function(d,f,_){var F=-1,ae=(f=Pc(f,d)).length;for(ae||(ae=1,d=ee);++FCe)return[];var _=_e,F=ms(d,_e);f=Fn(f),d-=_e;for(var ae=Td(F,f);++_=Te)return d;var qe=_-Fh(F);if(qe<1)return F;var ct=ze?cl(ze,0,qe).join(""):d.slice(0,qe);if(ae===ee)return ct+F;if(ze&&(qe+=ct.length-qe),Nw(ae)){if(d.slice(qe).search(ae)){var kt,Lt=ct;for(ae.global||(ae=a_(ae.source,zi($n.exec(ae))+"g")),ae.lastIndex=0;kt=ae.exec(Lt);)var zt=kt.index;ct=ct.slice(0,zt===ee?qe:zt)}}else if(d.indexOf(Lo(ae),qe)!=qe){var en=ct.lastIndexOf(ae);en>-1&&(ct=ct.slice(0,en))}return ct+F},Ee.unescape=function(d){return(d=zi(d))&&Es.test(d)?d.replace(kl,o_):d},Ee.uniqueId=function(d){var f=++y2;return zi(d)+f},Ee.upperCase=Qw,Ee.upperFirst=ig,Ee.each=iy,Ee.eachRight=Wp,Ee.first=Kv,Iy(Ee,function(){var d={};return ll(Ee,function(f,_){Xi.call(Ee.prototype,_)||(d[_]=f)}),d}(),{chain:!1}),Ee.VERSION="4.17.21",Us(["bind","bindKey","curry","curryRight","partial","partialRight"],function(d){Ee[d].placeholder=Ee}),Us(["drop","take"],function(d,f){fi.prototype[d]=function(_){_=_===ee?1:Hr(Jn(_),0);var F=this.__filtered__&&!f?new fi(this):this.clone();return F.__filtered__?F.__takeCount__=ms(_,F.__takeCount__):F.__views__.push({size:ms(_,_e),type:d+(F.__dir__<0?"Right":"")}),F},fi.prototype[d+"Right"]=function(_){return this.reverse()[d](_).reverse()}}),Us(["filter","map","takeWhile"],function(d,f){var _=f+1,F=1==_||3==_;fi.prototype[d]=function(ae){var Te=this.clone();return Te.__iteratees__.push({iteratee:Fn(ae,3),type:_}),Te.__filtered__=Te.__filtered__||F,Te}}),Us(["head","last"],function(d,f){var _="take"+(f?"Right":"");fi.prototype[d]=function(){return this[_](1).value()[0]}}),Us(["initial","tail"],function(d,f){var _="drop"+(f?"":"Right");fi.prototype[d]=function(){return this.__filtered__?new fi(this):this[_](1)}}),fi.prototype.compact=function(){return this.filter(io)},fi.prototype.find=function(d){return this.filter(d).head()},fi.prototype.findLast=function(d){return this.reverse().find(d)},fi.prototype.invokeMap=pi(function(d,f){return"function"==typeof d?new fi(this):this.map(function(_){return Pa(_,d,f)})}),fi.prototype.reject=function(d){return this.filter(ly(Fn(d)))},fi.prototype.slice=function(d,f){d=Jn(d);var _=this;return _.__filtered__&&(d>0||f<0)?new fi(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),f!==ee&&(_=(f=Jn(f))<0?_.dropRight(-f):_.take(f-d)),_)},fi.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},fi.prototype.toArray=function(){return this.take(_e)},ll(fi.prototype,function(d,f){var _=/^(?:filter|find|map|reject)|While$/.test(f),F=/^(?:head|last)$/.test(f),ae=Ee[F?"take"+("last"==f?"Right":""):f],Te=F||/^find/.test(f);!ae||(Ee.prototype[f]=function(){var ze=this.__wrapped__,qe=F?[1]:arguments,ct=ze instanceof fi,kt=qe[0],Lt=ct||Rn(ze),zt=function(mi){var Mi=ae.apply(Ee,zr([mi],qe));return F&&en?Mi[0]:Mi};Lt&&_&&"function"==typeof kt&&1!=kt.length&&(ct=Lt=!1);var en=this.__chain__,wn=!!this.__actions__.length,Ln=Te&&!en,gi=ct&&!wn;if(!Te&&Lt){ze=gi?ze:new fi(this);var jn=d.apply(ze,qe);return jn.__actions__.push({func:Yd,args:[zt],thisArg:ee}),new Po(jn,en)}return Ln&&gi?d.apply(this,qe):(jn=this.thru(zt),Ln?F?jn.value()[0]:jn.value():jn)})}),Us(["pop","push","shift","sort","splice","unshift"],function(d){var f=gr[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",F=/^(?:pop|shift)$/.test(d);Ee.prototype[d]=function(){var ae=arguments;if(F&&!this.__chain__){var Te=this.value();return f.apply(Rn(Te)?Te:[],ae)}return this[_](function(ze){return f.apply(Rn(ze)?ze:[],ae)})}}),ll(fi.prototype,function(d,f){var _=Ee[f];if(_){var F=_.name+"";Xi.call(Id,F)||(Id[F]=[]),Id[F].push({name:f,func:_})}}),Id[kc(ee,2).name]=[{name:"wrapper",func:ee}],fi.prototype.clone=function(){var d=new fi(this.__wrapped__);return d.__actions__=eo(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=eo(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=eo(this.__views__),d},fi.prototype.reverse=function(){if(this.__filtered__){var d=new fi(this);d.__dir__=-1,d.__filtered__=!0}else(d=this.clone()).__dir__*=-1;return d},fi.prototype.value=function(){var d=this.__wrapped__.value(),f=this.__dir__,_=Rn(d),F=f<0,ae=_?d.length:0,Te=function(d,f,_){for(var F=-1,ae=_.length;++F=this.__values__.length;return{done:d,value:d?ee:this.__values__[this.__index__++]}},Ee.prototype.plant=function(d){for(var f,_=this;_ instanceof Gh;){var F=nf(_);F.__index__=0,F.__values__=ee,f?ae.__wrapped__=F:f=F;var ae=F;_=_.__wrapped__}return ae.__wrapped__=d,f},Ee.prototype.reverse=function(){var d=this.__wrapped__;if(d instanceof fi){var f=d;return this.__actions__.length&&(f=new fi(this)),(f=f.reverse()).__actions__.push({func:Yd,args:[K_],thisArg:ee}),new Po(f,this.__chain__)}return this.thru(K_)},Ee.prototype.toJSON=Ee.prototype.valueOf=Ee.prototype.value=function(){return oA(this.__wrapped__,this.__actions__)},Ee.prototype.first=Ee.prototype.head,Bh&&(Ee.prototype[Bh]=function(){return this}),Ee}();Vi._=kh,(yt=function(){return kh}.call(it,Je,it,Ut))!==ee&&(Ut.exports=yt)}.call(this)},478:function(Ut){Ut.exports=function(){"use strict";function it(rt,lt){for(var ht=0;htrt.length)&&(lt=rt.length);for(var ht=0,ge=new Array(lt);ht=rt.length?{done:!0}:{done:!1,value:rt[ge++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var dt={exports:{}};function Y(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}dt.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Y,changeDefaults:function(rt){dt.exports.defaults=rt}};var he=/[&<>"']/,W=/[&<>"']/g,j=/[<>"']|&(?!#?\w+;)/,P=/[<>"']|&(?!#?\w+;)/g,Q={"&":"&","<":"<",">":">",'"':""","'":"'"},z=function(lt){return Q[lt]};var x=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function O(rt){return rt.replace(x,function(lt,ht){return"colon"===(ht=ht.toLowerCase())?":":"#"===ht.charAt(0)?"x"===ht.charAt(1)?String.fromCharCode(parseInt(ht.substring(2),16)):String.fromCharCode(+ht.substring(1)):""})}var A=/(^|[^\[])\^/g;var y=/[^\w:]/g,S=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var V={},R=/^[^:]+:\/*[^/]*$/,K=/^([^:]+:)[\s\S]*$/,ce=/^([^:]+:\/*[^/]*)[\s\S]*$/;function D(rt,lt){V[" "+rt]||(V[" "+rt]=R.test(rt)?rt+"/":$(rt,"/",!0));var ht=-1===(rt=V[" "+rt]).indexOf(":");return"//"===lt.substring(0,2)?ht?lt:rt.replace(K,"$1")+lt:"/"===lt.charAt(0)?ht?lt:rt.replace(ce,"$1")+lt:rt+lt}function $(rt,lt,ht){var ge=rt.length;if(0===ge)return"";for(var be=0;be1;)1<&&(ht+=rt),lt>>=1,rt+=rt;return ht+rt},Ce=dt.exports.defaults,me=$,ne=function(rt,lt){var ge=rt.replace(/\|/g,function(Le,ut,Ze){for(var At=!1,Mt=ut;--Mt>=0&&"\\"===Ze[Mt];)At=!At;return At?"|":" |"}).split(/ \|/),be=0;if(ge.length>lt)ge.splice(lt);else for(;ge.length1?{type:"space",raw:be[0]}:{raw:"\n"}},lt.code=function(ge){var be=this.rules.block.code.exec(ge);if(be){var Le=be[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:be[0],codeBlockStyle:"indented",text:this.options.pedantic?Le:me(Le,"\n")}}},lt.fences=function(ge){var be=this.rules.block.fences.exec(ge);if(be){var Le=be[0],ut=function(rt,lt){var ht=rt.match(/^(\s+)(?:```)/);if(null===ht)return lt;var ge=ht[1];return lt.split("\n").map(function(be){var Le=be.match(/^\s+/);return null===Le?be:Le[0].length>=ge.length?be.slice(ge.length):be}).join("\n")}(Le,be[3]||"");return{type:"code",raw:Le,lang:be[2]?be[2].trim():be[2],text:ut}}},lt.heading=function(ge){var be=this.rules.block.heading.exec(ge);if(be){var Le=be[2].trim();if(/#$/.test(Le)){var ut=me(Le,"#");(this.options.pedantic||!ut||/ $/.test(ut))&&(Le=ut.trim())}return{type:"heading",raw:be[0],depth:be[1].length,text:Le}}},lt.nptable=function(ge){var be=this.rules.block.nptable.exec(ge);if(be){var Le={type:"table",header:ne(be[1].replace(/^ *| *\| *$/g,"")),align:be[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:be[3]?be[3].replace(/\n$/,"").split("\n"):[],raw:be[0]};if(Le.header.length===Le.align.length){var Ze,ut=Le.align.length;for(Ze=0;Ze ?/gm,"");return{type:"blockquote",raw:be[0],text:Le}}},lt.list=function(ge){var be=this.rules.block.list.exec(ge);if(be){var Xt,zn,ai,Nn,bn,$n,Tn,lr,cr,Le=be[0],ut=be[2],Ze=ut.length>1,At={type:"list",raw:Le,ordered:Ze,start:Ze?+ut.slice(0,-1):"",loose:!1,items:[]},Mt=be[0].match(this.rules.block.item),Dt=!1,Xn=Mt.length;ai=this.rules.block.listItemStart.exec(Mt[0]);for(var $i=0;$iai[1].length:Nn[1].length>=ai[0].length||Nn[1].length>3){Mt.splice($i,2,Mt[$i]+(!this.options.pedantic&&Nn[1].length/i.test(ut[0])&&(be=!1),!Le&&/^<(pre|code|kbd|script)(\s|>)/i.test(ut[0])?Le=!0:Le&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ut[0])&&(Le=!1),{type:this.options.sanitize?"text":"html",raw:ut[0],inLink:be,inRawBlock:Le,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):_e(ut[0]):ut[0]}},lt.link=function(ge){var be=this.rules.inline.link.exec(ge);if(be){var Le=be[2].trim();if(!this.options.pedantic&&/^$/.test(Le))return;var ut=me(Le.slice(0,-1),"\\");if((Le.length-ut.length)%2==0)return}else{var Ze=Ie(be[2],"()");if(Ze>-1){var Mt=(0===be[0].indexOf("!")?5:4)+be[1].length+Ze;be[2]=be[2].substring(0,Ze),be[0]=be[0].substring(0,Mt).trim(),be[3]=""}}var Dt=be[2],Xt="";if(this.options.pedantic){var zn=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Dt);zn&&(Dt=zn[1],Xt=zn[3])}else Xt=be[3]?be[3].slice(1,-1):"";return Dt=Dt.trim(),/^$/.test(Le)?Dt.slice(1):Dt.slice(1,-1)),Ge(be,{href:Dt&&Dt.replace(this.rules.inline._escapes,"$1"),title:Xt&&Xt.replace(this.rules.inline._escapes,"$1")},be[0])}},lt.reflink=function(ge,be){var Le;if((Le=this.rules.inline.reflink.exec(ge))||(Le=this.rules.inline.nolink.exec(ge))){var ut=(Le[2]||Le[1]).replace(/\s+/g," ");if(!(ut=be[ut.toLowerCase()])||!ut.href){var Ze=Le[0].charAt(0);return{type:"text",raw:Ze,text:Ze}}return Ge(Le,ut,Le[0])}},lt.emStrong=function(ge,be,Le){void 0===Le&&(Le="");var ut=this.rules.inline.emStrong.lDelim.exec(ge);if(ut&&(!ut[3]||!Le.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var Ze=ut[1]||ut[2]||"";if(!Ze||Ze&&(""===Le||this.rules.inline.punctuation.exec(Le))){var Mt,Dt,At=ut[0].length-1,Xt=At,zn=0,ai="*"===ut[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ai.lastIndex=0,be=be.slice(-1*ge.length+At);null!=(ut=ai.exec(be));)if(Mt=ut[1]||ut[2]||ut[3]||ut[4]||ut[5]||ut[6]){if(Dt=Mt.length,ut[3]||ut[4]){Xt+=Dt;continue}if((ut[5]||ut[6])&&At%3&&!((At+Dt)%3)){zn+=Dt;continue}if(!((Xt-=Dt)>0))return Dt=Math.min(Dt,Dt+Xt+zn),Math.min(At,Dt)%2?{type:"em",raw:ge.slice(0,At+ut.index+Dt+1),text:ge.slice(1,At+ut.index+Dt)}:{type:"strong",raw:ge.slice(0,At+ut.index+Dt+1),text:ge.slice(2,At+ut.index+Dt-1)}}}}},lt.codespan=function(ge){var be=this.rules.inline.code.exec(ge);if(be){var Le=be[2].replace(/\n/g," "),ut=/[^ ]/.test(Le),Ze=/^ /.test(Le)&&/ $/.test(Le);return ut&&Ze&&(Le=Le.substring(1,Le.length-1)),Le=_e(Le,!0),{type:"codespan",raw:be[0],text:Le}}},lt.br=function(ge){var be=this.rules.inline.br.exec(ge);if(be)return{type:"br",raw:be[0]}},lt.del=function(ge){var be=this.rules.inline.del.exec(ge);if(be)return{type:"del",raw:be[0],text:be[2]}},lt.autolink=function(ge,be){var ut,Ze,Le=this.rules.inline.autolink.exec(ge);if(Le)return Ze="@"===Le[2]?"mailto:"+(ut=_e(this.options.mangle?be(Le[1]):Le[1])):ut=_e(Le[1]),{type:"link",raw:Le[0],text:ut,href:Ze,tokens:[{type:"text",raw:ut,text:ut}]}},lt.url=function(ge,be){var Le;if(Le=this.rules.inline.url.exec(ge)){var ut,Ze;if("@"===Le[2])Ze="mailto:"+(ut=_e(this.options.mangle?be(Le[0]):Le[0]));else{var At;do{At=Le[0],Le[0]=this.rules.inline._backpedal.exec(Le[0])[0]}while(At!==Le[0]);ut=_e(Le[0]),Ze="www."===Le[1]?"http://"+ut:ut}return{type:"link",raw:Le[0],text:ut,href:Ze,tokens:[{type:"text",raw:ut,text:ut}]}}},lt.inlineText=function(ge,be,Le){var Ze,ut=this.rules.inline.text.exec(ge);if(ut)return Ze=be?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):_e(ut[0]):ut[0]:_e(this.options.smartypants?Le(ut[0]):ut[0]),{type:"text",raw:ut[0],text:Ze}},rt}(),tt=te_noopTest,Ye=te_edit,Ue=te_merge,ke={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:tt,table:tt,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};ke.def=Ye(ke.def).replace("label",ke._label).replace("title",ke._title).getRegex(),ke.bullet=/(?:[*+-]|\d{1,9}[.)])/,ke.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,ke.item=Ye(ke.item,"gm").replace(/bull/g,ke.bullet).getRegex(),ke.listItemStart=Ye(/^( *)(bull) */).replace("bull",ke.bullet).getRegex(),ke.list=Ye(ke.list).replace(/bull/g,ke.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+ke.def.source+")").getRegex(),ke._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",ke._comment=/|$)/,ke.html=Ye(ke.html,"i").replace("comment",ke._comment).replace("tag",ke._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ke.paragraph=Ye(ke._paragraph).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.blockquote=Ye(ke.blockquote).replace("paragraph",ke.paragraph).getRegex(),ke.normal=Ue({},ke),ke.gfm=Ue({},ke.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),ke.gfm.nptable=Ye(ke.gfm.nptable).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.gfm.table=Ye(ke.gfm.table).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.pedantic=Ue({},ke.normal,{html:Ye("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",ke._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:tt,paragraph:Ye(ke.normal._paragraph).replace("hr",ke.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",ke.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ke={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:tt,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:tt,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ke.punctuation=Ye(Ke.punctuation).replace(/punctuation/g,Ke._punctuation).getRegex(),Ke.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ke.escapedEmSt=/\\\*|\\_/g,Ke._comment=Ye(ke._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ke.emStrong.lDelim=Ye(Ke.emStrong.lDelim).replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimAst=Ye(Ke.emStrong.rDelimAst,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimUnd=Ye(Ke.emStrong.rDelimUnd,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ke._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ke._email=/[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])?)+(?![-_])/,Ke.autolink=Ye(Ke.autolink).replace("scheme",Ke._scheme).replace("email",Ke._email).getRegex(),Ke._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ke.tag=Ye(Ke.tag).replace("comment",Ke._comment).replace("attribute",Ke._attribute).getRegex(),Ke._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ke._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ke._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ke.link=Ye(Ke.link).replace("label",Ke._label).replace("href",Ke._href).replace("title",Ke._title).getRegex(),Ke.reflink=Ye(Ke.reflink).replace("label",Ke._label).getRegex(),Ke.reflinkSearch=Ye(Ke.reflinkSearch,"g").replace("reflink",Ke.reflink).replace("nolink",Ke.nolink).getRegex(),Ke.normal=Ue({},Ke),Ke.pedantic=Ue({},Ke.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Ye(/^!?\[(label)\]\((.*?)\)/).replace("label",Ke._label).getRegex(),reflink:Ye(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ke._label).getRegex()}),Ke.gfm=Ue({},Ke.normal,{escape:Ye(Ke.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(ge="x"+ge.toString(16)),lt+="&#"+ge+";";return lt}var je=function(){function rt(ht){this.tokens=[],this.tokens.links=Object.create(null),this.options=ht||$e,this.options.tokenizer=this.options.tokenizer||new Ve,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var ge={block:Ne.normal,inline:q.normal};this.options.pedantic?(ge.block=Ne.pedantic,ge.inline=q.pedantic):this.options.gfm&&(ge.block=Ne.gfm,ge.inline=this.options.breaks?q.breaks:q.gfm),this.tokenizer.rules=ge}rt.lex=function(ge,be){return new rt(be).lex(ge)},rt.lexInline=function(ge,be){return new rt(be).inlineTokens(ge)};var lt=rt.prototype;return lt.lex=function(ge){return ge=ge.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(ge,this.tokens,!0),this.inline(this.tokens),this.tokens},lt.blockTokens=function(ge,be,Le){var Ze,At,Mt,Dt,Xt,zn,ut=this;for(void 0===be&&(be=[]),void 0===Le&&(Le=!0),this.options.pedantic&&(ge=ge.replace(/^ +$/gm,""));ge;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Nn){return!!(Ze=Nn.call(ut,ge,be))&&(ge=ge.substring(Ze.raw.length),be.push(Ze),!0)}))){if(Ze=this.tokenizer.space(ge)){ge=ge.substring(Ze.raw.length),Ze.type&&be.push(Ze);continue}if(Ze=this.tokenizer.code(ge)){ge=ge.substring(Ze.raw.length),(Dt=be[be.length-1])&&"paragraph"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze);continue}if(Ze=this.tokenizer.fences(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.heading(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.nptable(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.hr(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.blockquote(ge)){ge=ge.substring(Ze.raw.length),Ze.tokens=this.blockTokens(Ze.text,[],Le),be.push(Ze);continue}if(Ze=this.tokenizer.list(ge)){for(ge=ge.substring(Ze.raw.length),Mt=Ze.items.length,At=0;At=0&&(Nn=Math.min(Nn,$n))}),Nn<1/0&&Nn>=0&&(Xt=ge.substring(0,Nn+1))}(),Le&&(Ze=this.tokenizer.paragraph(Xt))){Dt=be[be.length-1],zn&&"paragraph"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze),zn=Xt.length!==ge.length,ge=ge.substring(Ze.raw.length);continue}if(Ze=this.tokenizer.text(ge)){ge=ge.substring(Ze.raw.length),(Dt=be[be.length-1])&&"text"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze);continue}if(ge){var ai="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(ai);break}throw new Error(ai)}}return be},lt.inline=function(ge){var be,Le,ut,Ze,At,Mt,Dt=ge.length;for(be=0;be0)for(;null!=(zn=this.tokenizer.rules.inline.reflinkSearch.exec(Xt));)bn.includes(zn[0].slice(zn[0].lastIndexOf("[")+1,-1))&&(Xt=Xt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Xt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(zn=this.tokenizer.rules.inline.blockSkip.exec(Xt));)Xt=Xt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Xt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(zn=this.tokenizer.rules.inline.escapedEmSt.exec(Xt));)Xt=Xt.slice(0,zn.index)+"++"+Xt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;ge;)if(ai||(Nn=""),ai=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Tn){return!!(At=Tn.call(Ze,ge,be))&&(ge=ge.substring(At.raw.length),be.push(At),!0)}))){if(At=this.tokenizer.escape(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.tag(ge,Le,ut)){ge=ge.substring(At.raw.length),Le=At.inLink,ut=At.inRawBlock,(Mt=be[be.length-1])&&"text"===At.type&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(At=this.tokenizer.link(ge)){ge=ge.substring(At.raw.length),"link"===At.type&&(At.tokens=this.inlineTokens(At.text,[],!0,ut)),be.push(At);continue}if(At=this.tokenizer.reflink(ge,this.tokens.links)){ge=ge.substring(At.raw.length),Mt=be[be.length-1],"link"===At.type?(At.tokens=this.inlineTokens(At.text,[],!0,ut),be.push(At)):Mt&&"text"===At.type&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(At=this.tokenizer.emStrong(ge,Xt,Nn)){ge=ge.substring(At.raw.length),At.tokens=this.inlineTokens(At.text,[],Le,ut),be.push(At);continue}if(At=this.tokenizer.codespan(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.br(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.del(ge)){ge=ge.substring(At.raw.length),At.tokens=this.inlineTokens(At.text,[],Le,ut),be.push(At);continue}if(At=this.tokenizer.autolink(ge,ue)){ge=ge.substring(At.raw.length),be.push(At);continue}if(!Le&&(At=this.tokenizer.url(ge,ue))){ge=ge.substring(At.raw.length),be.push(At);continue}if(Dt=ge,this.options.extensions&&this.options.extensions.startInline&&function(){var Tn=1/0,lr=ge.slice(1),cr=void 0;Ze.options.extensions.startInline.forEach(function(Xn){"number"==typeof(cr=Xn.call(this,lr))&&cr>=0&&(Tn=Math.min(Tn,cr))}),Tn<1/0&&Tn>=0&&(Dt=ge.substring(0,Tn+1))}(),At=this.tokenizer.inlineText(Dt,ut,pe)){ge=ge.substring(At.raw.length),"_"!==At.raw.slice(-1)&&(Nn=At.raw.slice(-1)),ai=!0,(Mt=be[be.length-1])&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(ge){var $n="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error($n);break}throw new Error($n)}}return be},function(rt,lt,ht){lt&&it(rt.prototype,lt),ht&&it(rt,ht)}(rt,null,[{key:"rules",get:function(){return{block:Ne,inline:q}}}]),rt}(),_t=dt.exports.defaults,pt=te_cleanUrl,ve=te_escape,L=function(){function rt(ht){this.options=ht||_t}var lt=rt.prototype;return lt.code=function(ge,be,Le){var ut=(be||"").match(/\S*/)[0];if(this.options.highlight){var Ze=this.options.highlight(ge,ut);null!=Ze&&Ze!==ge&&(Le=!0,ge=Ze)}return ge=ge.replace(/\n$/,"")+"\n",ut?'
'+(Le?ge:ve(ge,!0))+"
\n":"
"+(Le?ge:ve(ge,!0))+"
\n"},lt.blockquote=function(ge){return"
\n"+ge+"
\n"},lt.html=function(ge){return ge},lt.heading=function(ge,be,Le,ut){return this.options.headerIds?"'+ge+"\n":""+ge+"\n"},lt.hr=function(){return this.options.xhtml?"
\n":"
\n"},lt.list=function(ge,be,Le){var ut=be?"ol":"ul";return"<"+ut+(be&&1!==Le?' start="'+Le+'"':"")+">\n"+ge+"\n"},lt.listitem=function(ge){return"
  • "+ge+"
  • \n"},lt.checkbox=function(ge){return" "},lt.paragraph=function(ge){return"

    "+ge+"

    \n"},lt.table=function(ge,be){return be&&(be=""+be+""),"\n\n"+ge+"\n"+be+"
    \n"},lt.tablerow=function(ge){return"\n"+ge+"\n"},lt.tablecell=function(ge,be){var Le=be.header?"th":"td";return(be.align?"<"+Le+' align="'+be.align+'">':"<"+Le+">")+ge+"\n"},lt.strong=function(ge){return""+ge+""},lt.em=function(ge){return""+ge+""},lt.codespan=function(ge){return""+ge+""},lt.br=function(){return this.options.xhtml?"
    ":"
    "},lt.del=function(ge){return""+ge+""},lt.link=function(ge,be,Le){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Le;var ut='"+Le+""},lt.image=function(ge,be,Le){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Le;var ut=''+Le+'":">")},lt.text=function(ge){return ge},rt}(),N=function(){function rt(){}var lt=rt.prototype;return lt.strong=function(ge){return ge},lt.em=function(ge){return ge},lt.codespan=function(ge){return ge},lt.del=function(ge){return ge},lt.html=function(ge){return ge},lt.text=function(ge){return ge},lt.link=function(ge,be,Le){return""+Le},lt.image=function(ge,be,Le){return""+Le},lt.br=function(){return""},rt}(),B=function(){function rt(){this.seen={}}var lt=rt.prototype;return lt.serialize=function(ge){return ge.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},lt.getNextSafeSlug=function(ge,be){var Le=ge,ut=0;if(this.seen.hasOwnProperty(Le)){ut=this.seen[ge];do{Le=ge+"-"+ ++ut}while(this.seen.hasOwnProperty(Le))}return be||(this.seen[ge]=ut,this.seen[Le]=0),Le},lt.slug=function(ge,be){void 0===be&&(be={});var Le=this.serialize(ge);return this.getNextSafeSlug(Le,be.dryrun)},rt}(),Re=L,Qe=N,St=B,Nt=dt.exports.defaults,On=te_unescape,Yn=je,Ti=function(){function rt(ht){this.options=ht||Nt,this.options.renderer=this.options.renderer||new Re,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Qe,this.slugger=new St}rt.parse=function(ge,be){return new rt(be).parse(ge)},rt.parseInline=function(ge,be){return new rt(be).parseInline(ge)};var lt=rt.prototype;return lt.parse=function(ge,be){void 0===be&&(be=!0);var ut,Ze,At,Mt,Dt,Xt,zn,ai,Nn,bn,$n,Tn,lr,cr,Xn,$i,xa,Zr,ie,Le="",fe=ge.length;for(ut=0;ut0&&"text"===Xn.tokens[0].type?(Xn.tokens[0].text=Zr+" "+Xn.tokens[0].text,Xn.tokens[0].tokens&&Xn.tokens[0].tokens.length>0&&"text"===Xn.tokens[0].tokens[0].type&&(Xn.tokens[0].tokens[0].text=Zr+" "+Xn.tokens[0].tokens[0].text)):Xn.tokens.unshift({type:"text",text:Zr}):cr+=Zr),cr+=this.parse(Xn.tokens,lr),Nn+=this.renderer.listitem(cr,xa,$i);Le+=this.renderer.list(Nn,$n,Tn);continue;case"html":Le+=this.renderer.html(bn.text);continue;case"paragraph":Le+=this.renderer.paragraph(this.parseInline(bn.tokens));continue;case"text":for(Nn=bn.tokens?this.parseInline(bn.tokens):bn.text;ut+1An error occurred:

    "+el(At.message+"",!0)+"
    ";throw At}}return Jt.options=Jt.setOptions=function(rt){return Bs(Jt.defaults,rt),Sa(Jt.defaults),Jt},Jt.getDefaults=kl,Jt.defaults=Es,Jt.use=function(){for(var rt=this,lt=arguments.length,ht=new Array(lt),ge=0;geAn error occurred:

    "+el(ge.message+"",!0)+"
    ";throw ge}},Jt.Parser=Ti,Jt.parser=Ti.parse,Jt.Renderer=Xr,Jt.TextRenderer=Ls,Jt.Lexer=Yn,Jt.lexer=Yn.lex,Jt.Tokenizer=wi,Jt.Slugger=gs,Jt.parse=Jt,Jt}()},369:(Ut,it,Je)=>{var yt=Je(284),ee=Je(830);function Tt(){this.clear()}Tt.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},Tt.prototype.enqueue=function(dt){return this.items.push(dt),++this.size},Tt.prototype.dequeue=function(){if(this.size){var dt=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,dt}},Tt.prototype.peek=function(){if(this.size)return this.items[this.offset]},Tt.prototype.forEach=function(dt,Y){Y=arguments.length>1?Y:this;for(var Se=this.offset,he=0,W=this.items.length;Se=dt.length)return{done:!0};var Se=dt[Y];return Y++,{value:Se,done:!1}})},Tt.prototype.entries=function(){var dt=this.items,Y=this.offset,Se=0;return new yt(function(){if(Y>=dt.length)return{done:!0};var he=dt[Y];return Y++,{value:[Se++,he],done:!1}})},"undefined"!=typeof Symbol&&(Tt.prototype[Symbol.iterator]=Tt.prototype.values),Tt.prototype.toString=function(){return this.toArray().join(",")},Tt.prototype.toJSON=function(){return this.toArray()},Tt.prototype.inspect=function(){var dt=this.toArray();return Object.defineProperty(dt,"constructor",{value:Tt,enumerable:!1}),dt},"undefined"!=typeof Symbol&&(Tt.prototype[Symbol.for("nodejs.util.inspect.custom")]=Tt.prototype.inspect),Tt.from=function(dt){var Y=new Tt;return ee(dt,function(Se){Y.enqueue(Se)}),Y},Tt.of=function(){return Tt.from(arguments)},Ut.exports=Tt},830:Ut=>{var it="undefined"!=typeof ArrayBuffer,Je="undefined"!=typeof Symbol;function yt(ee,Tt){var dt,Y,Se,he,W;if(!ee)throw new Error("obliterator/forEach: invalid iterable.");if("function"!=typeof Tt)throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(ee)||it&&ArrayBuffer.isView(ee)||"string"==typeof ee||"[object Arguments]"===ee.toString())for(Se=0,he=ee.length;Se{function it(Je){Object.defineProperty(this,"_next",{writable:!1,enumerable:!1,value:Je}),this.done=!1}it.prototype.next=function(){if(this.done)return{done:!0};var Je=this._next();return Je.done&&(this.done=!0),Je},"undefined"!=typeof Symbol&&(it.prototype[Symbol.iterator]=function(){return this}),it.of=function(){var Je=arguments,yt=Je.length,ee=0;return new it(function(){return ee>=yt?{done:!0}:{done:!1,value:Je[ee++]}})},it.empty=function(){var Je=new it(null);return Je.done=!0,Je},it.is=function(Je){return Je instanceof it||"object"==typeof Je&&null!==Je&&"function"==typeof Je.next},Ut.exports=it},310:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.isMobile=function(){return void 0!==ee.window.orientation},it.default=function(he){if(!he&&!(0,Tt.default)())return"Node";if((0,dt.default)(he))return"Electron";var W="undefined"!=typeof navigator?navigator:{},j=he||W.userAgent||"";if(j.indexOf("Edge")>-1)return"Edge";var P=-1!==j.indexOf("MSIE "),Q=-1!==j.indexOf("Trident/");return P||Q?"IE":ee.window.chrome?"Chrome":ee.window.safari?"Safari":ee.window.mozInnerScreenX?"Firefox":"Unknown"};var ee=Je(151),Tt=yt(Je(602)),dt=yt(Je(344))},151:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.console=it.process=it.document=it.global=it.window=it.self=void 0;var ee=yt(Je(321)),Tt={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&process};it.self=Tt.self||Tt.window||Tt.global,it.window=Tt.window||Tt.self||Tt.global,it.global=Tt.global||Tt.self||Tt.window,it.document=Tt.document||{},it.process=Tt.process||{};var j=console;it.console=j},761:(Ut,it,Je)=>{"use strict";var ee=Je(948),Tt=Je(321);Object.defineProperty(it,"CO",{enumerable:!0,get:function(){return dt.global}}),Object.defineProperty(it,"qs",{enumerable:!0,get:function(){return Se.default}});var dt=Je(151),Se=(j(Je(602)),j(Je(310)));ee(Je(344));function W(P){if("function"!=typeof WeakMap)return null;var Q=new WeakMap,z=new WeakMap;return(W=function(x){return x?z:Q})(P)}function j(P,Q){if(!Q&&P&&P.__esModule)return P;if(null===P||"object"!==Tt(P)&&"function"!=typeof P)return{default:P};var z=W(Q);if(z&&z.has(P))return z.get(P);var v={},x=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var O in P)if("default"!==O&&Object.prototype.hasOwnProperty.call(P,O)){var A=x?Object.getOwnPropertyDescriptor(P,O):null;A&&(A.get||A.set)?Object.defineProperty(v,O,A):v[O]=P[O]}return v.default=P,z&&z.set(P,v),v}},602:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=dt,it.isBrowserMainThread=function(){return dt()&&"undefined"!=typeof document};var ee=yt(Je(321)),Tt=yt(Je(344));function dt(){return!("object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,Tt.default)()}},344:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=function(dt){if("undefined"!=typeof window&&"object"===(0,ee.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,ee.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Y="object"===("undefined"==typeof navigator?"undefined":(0,ee.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,Se=dt||Y;return!!(Se&&Se.indexOf("Electron")>=0)};var ee=yt(Je(321))},991:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Tt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Tt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Tt,dt){for(var Y in Tt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Tt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(Je(180),it),ee(Je(103),it),ee(Je(965),it),ee(Je(595),it),ee(Je(417),it),ee(Je(451),it),ee(Je(735),it)},180:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.BlankNode=void 0,it.BlankNode=class{constructor(ee){this.termType="BlankNode",this.value=ee}equals(ee){return!!ee&&"BlankNode"===ee.termType&&ee.value===this.value}}},103:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DataFactory=void 0;const yt=Je(180),ee=Je(965),Tt=Je(595),dt=Je(417),Y=Je(451),Se=Je(735);let he=0;it.DataFactory=class{constructor(P){this.blankNodeCounter=0,this.blankNodePrefix=(P=P||{}).blankNodePrefix||`df_${he++}_`}namedNode(P){return new dt.NamedNode(P)}blankNode(P){return new yt.BlankNode(P||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(P,Q){return new Tt.Literal(P,Q)}variable(P){return new Se.Variable(P)}defaultGraph(){return ee.DefaultGraph.INSTANCE}quad(P,Q,z,v){return new Y.Quad(P,Q,z,v||this.defaultGraph())}fromTerm(P){switch(P.termType){case"NamedNode":return this.namedNode(P.value);case"BlankNode":return this.blankNode(P.value);case"Literal":return P.language?this.literal(P.value,P.language):P.datatype.equals(Tt.Literal.XSD_STRING)?this.literal(P.value):this.literal(P.value,this.fromTerm(P.datatype));case"Variable":return this.variable(P.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(P.subject),this.fromTerm(P.predicate),this.fromTerm(P.object),this.fromTerm(P.graph))}}fromQuad(P){return this.fromTerm(P)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},965:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DefaultGraph=void 0;class Je{constructor(){this.termType="DefaultGraph",this.value=""}equals(ee){return!!ee&&"DefaultGraph"===ee.termType}}it.DefaultGraph=Je,Je.INSTANCE=new Je},595:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Literal=void 0;const yt=Je(417);class ee{constructor(dt,Y){this.termType="Literal",this.value=dt,"string"==typeof Y?(this.language=Y,this.datatype=ee.RDF_LANGUAGE_STRING):Y?(this.language="",this.datatype=Y):(this.language="",this.datatype=ee.XSD_STRING)}equals(dt){return!!dt&&"Literal"===dt.termType&&dt.value===this.value&&dt.language===this.language&&dt.datatype.equals(this.datatype)}}it.Literal=ee,ee.RDF_LANGUAGE_STRING=new yt.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),ee.XSD_STRING=new yt.NamedNode("http://www.w3.org/2001/XMLSchema#string")},417:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.NamedNode=void 0,it.NamedNode=class{constructor(ee){this.termType="NamedNode",this.value=ee}equals(ee){return!!ee&&"NamedNode"===ee.termType&&ee.value===this.value}}},451:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Quad=void 0,it.Quad=class{constructor(ee,Tt,dt,Y){this.termType="Quad",this.value="",this.subject=ee,this.predicate=Tt,this.object=dt,this.graph=Y}equals(ee){return!!ee&&("Quad"===ee.termType||!ee.termType)&&this.subject.equals(ee.subject)&&this.predicate.equals(ee.predicate)&&this.object.equals(ee.object)&&this.graph.equals(ee.graph)}}},735:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Variable=void 0,it.Variable=class{constructor(ee){this.termType="Variable",this.value=ee}equals(ee){return!!ee&&"Variable"===ee.termType&&ee.value===this.value}}},609:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(v,x,O,A){void 0===A&&(A=O),Object.defineProperty(v,A,{enumerable:!0,get:function(){return x[O]}})}:function(v,x,O,A){void 0===A&&(A=O),v[A]=x[O]}),ee=this&&this.__exportStar||function(v,x){for(var O in v)"default"!==O&&!Object.prototype.hasOwnProperty.call(x,O)&&yt(x,v,O)};Object.defineProperty(it,"__esModule",{value:!0}),it.getSupportedJavaScriptPrimitives=it.getSupportedRdfDatatypes=it.getTermRaw=it.toRdf=it.fromRdf=void 0;const Tt=Je(991),dt=Je(938),Y=Je(60);ee(Je(938),it),ee(Je(871),it),ee(Je(60),it);const Se=new Tt.DataFactory,he=new Y.Translator;function W(v,x){return he.fromRdf(v,x)}he.registerHandler(new dt.TypeHandlerString,dt.TypeHandlerString.TYPES.map(v=>Se.namedNode(v)),["string"]),he.registerHandler(new dt.TypeHandlerBoolean,[dt.TypeHandlerBoolean.TYPE].map(v=>Se.namedNode(v)),["boolean"]),he.registerHandler(new dt.TypeHandlerNumberDouble,dt.TypeHandlerNumberDouble.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerNumberInteger,dt.TypeHandlerNumberInteger.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerDate,dt.TypeHandlerDate.TYPES.map(v=>Se.namedNode(v)),["object"]),it.fromRdf=W,it.toRdf=function(v,x){return x&&"namedNode"in x&&(x={dataFactory:x}),(x=x||{})&&!x.dataFactory&&(x.dataFactory=Se),he.toRdf(v,x)},it.getTermRaw=function(v,x){return"Literal"===v.termType?W(v,x):v.value},it.getSupportedRdfDatatypes=function(){return he.getSupportedRdfDatatypes()},it.getSupportedJavaScriptPrimitives=function(){return he.getSupportedJavaScriptPrimitives()}},871:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0})},60:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Translator=void 0,it.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(ee){throw new Error(`Invalid RDF ${ee.datatype.value} value: '${ee.value}'`)}registerHandler(ee,Tt,dt){for(const Y of Tt)this.supportedRdfDatatypes.push(Y),this.fromRdfHandlers[Y.value]=ee;for(const Y of dt){let Se=this.toRdfHandlers[Y];Se||(this.toRdfHandlers[Y]=Se=[]),Se.push(ee)}}fromRdf(ee,Tt){const dt=this.fromRdfHandlers[ee.datatype.value];return dt?dt.fromRdf(ee,Tt):ee.value}toRdf(ee,Tt){const dt=this.toRdfHandlers[typeof ee];if(dt)for(const Y of dt){const Se=Y.toRdf(ee,Tt);if(Se)return Se}throw new Error(`Invalid JavaScript value: '${ee}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},727:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerBoolean=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){switch(dt.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return Y&&yt.Translator.incorrectRdfDataType(dt),!1}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(dt?"true":"false",Y||Se.namedNode(ee.TYPE))}}it.TypeHandlerBoolean=ee,ee.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},525:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerDate=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){switch(Y&&!dt.value.match(ee.VALIDATORS[dt.datatype.value.substr(33,dt.datatype.value.length)])&&yt.Translator.incorrectRdfDataType(dt),dt.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(dt.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const Se=dt.value.split("-");return new Date(0,parseInt(Se[0],10)-1,parseInt(Se[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(dt.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(dt.value+"-01");default:return new Date(dt.value)}}toRdf(dt,{datatype:Y,dataFactory:Se}){if(Y=Y||Se.namedNode(ee.TYPES[0]),!(dt instanceof Date))return null;const he=dt;let W;switch(Y.value){case"http://www.w3.org/2001/XMLSchema#gDay":W=String(he.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":W=he.getUTCMonth()+1+"-"+he.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":W=String(he.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":W=he.getUTCFullYear()+"-"+(he.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":W=he.toISOString().replace(/T.*$/,"");break;default:W=he.toISOString()}return Se.literal(W,Y)}}it.TypeHandlerDate=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],ee.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},554:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberDouble=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){const Se=parseFloat(dt.value);return Y&&isNaN(Se)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Y=Y||Se.namedNode(ee.TYPES[0]),isNaN(dt)?Se.literal("NaN",Y):isFinite(dt)?dt%1==0?null:Se.literal(dt.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Y):Se.literal(dt>0?"INF":"-INF",Y)}}it.TypeHandlerNumberDouble=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},750:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberInteger=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){const Se=parseInt(dt.value,10);return Y&&(isNaN(Se)||dt.value.indexOf(".")>=0)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(String(dt),Y||Se.namedNode(dt<=ee.MAX_INT&&dt>=ee.MIN_INT?ee.TYPES[0]:ee.TYPES[1]))}}it.TypeHandlerNumberInteger=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],ee.MAX_INT=2147483647,ee.MIN_INT=-2147483648},608:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerString=void 0;class Je{fromRdf(ee){return ee.value}toRdf(ee,{datatype:Tt,dataFactory:dt}){return dt.literal(ee,Tt)}}it.TypeHandlerString=Je,Je.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},938:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Tt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Tt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Tt,dt){for(var Y in Tt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Tt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(Je(727),it),ee(Je(525),it),ee(Je(554),it),ee(Je(750),it),ee(Je(608),it)},303:(Ut,it,Je)=>{"use strict";var yt={};Je.r(yt),Je.d(yt,{decode:()=>Xme,encode:()=>Qme});var ee={};Je.r(ee),Je.d(ee,{decode:()=>n_e,encode:()=>i_e});var Tt={};Je.r(Tt),Je.d(Tt,{decode:()=>r_e,encode:()=>s_e});var dt={};function Y(n){return"function"==typeof n}Je.r(dt),Je.d(dt,{decode:()=>o_e,encode:()=>a_e});let Se=!1;const he={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else Se&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Se=n},get useDeprecatedSynchronousErrorHandling(){return Se}};function W(n){setTimeout(()=>{throw n},0)}const j={closed:!0,next(n){},error(n){if(he.useDeprecatedSynchronousErrorHandling)throw n;W(n)},complete(){}},P=Array.isArray||(n=>n&&"number"==typeof n.length);function Q(n){return null!==n&&"object"==typeof n}const v=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class x{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof x)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof v?t.errors:t),[])}x.EMPTY=((n=new x).closed=!0,n);const A="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class y extends x{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=j;break;case 1:if(!e){this.destination=j;break}if("object"==typeof e){e instanceof y?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new S(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new S(this,e,t,i)}}[A](){return this}static create(e,t,i){const r=new y(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class S extends y{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Y(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==j&&(o=Object.create(t),Y(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;he.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=he;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):W(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;W(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);he.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),he.useDeprecatedSynchronousErrorHandling)throw i;W(i)}}__tryOrSetError(e,t,i){if(!he.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return he.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(W(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const R="function"==typeof Symbol&&Symbol.observable||"@@observable";function K(n){return n}function ce(...n){return D(n)}function D(n){return 0===n.length?K:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let I=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof y)return n;if(n[A])return n[A]()}return n||e||t?new y(n,e,t):new y(j)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||he.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),he.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){he.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof y?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=X(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[R](){return this}pipe(...t){return 0===t.length?this:D(t)(this)}toPromise(t){return new(t=X(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function X(n){if(n||(n=he.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const $=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class Z extends x{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class oe extends y{constructor(e){super(e),this.destination=e}}let se=(()=>{class n extends I{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[A](){return new oe(this)}lift(t){const i=new te(this,this);return i.operator=t,i}next(t){if(this.closed)throw new $;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew te(e,t),n})();class te extends se{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):x.EMPTY}}function Ce(n){return n&&"function"==typeof n.schedule}function me(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new ne(n,e))}}class ne{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new _e(e,this.project,this.thisArg))}}class _e extends y{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const Ie=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ke(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Me=n=>{if(n&&"function"==typeof n[R])return(n=>e=>{const t=n[R]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(ke(n))return Ie(n);if(Ke(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,W),e))(n);if(n&&"function"==typeof n[Xe])return(n=>e=>{const t=n[Xe]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${Q(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function Ne(n,e){return new I(t=>{const i=new x;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function je(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[R]}(n))return function(n,e){return new I(t=>{const i=new x;return i.add(e.schedule(()=>{const r=n[R]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ke(n))return function(n,e){return new I(t=>{const i=new x;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(ke(n))return Ne(n,e);if(function(n){return n&&"function"==typeof n[Xe]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new I(t=>{const i=new x;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[Xe](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof I?n:new I(Me(n))}class _t extends y{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class ve extends y{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function N(n,e){if(e.closed)return;if(n instanceof I)return n.subscribe(e);let t;try{t=Me(n)(e)}catch(i){e.error(i)}return t}function B(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(B((r,s)=>je(n(r,s)).pipe(me((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Re(n,t)))}class Re{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new Qe(e,this.project,this.concurrent))}}class Qe extends ve{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Nt(n=Number.POSITIVE_INFINITY){return B(K,n)}function On(n,e){return e?Ne(n,e):new I(Ie(n))}function kn(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Ce(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof I?n[0]:Nt(e)(On(n,t))}function Yn(){return function(e){return e.lift(new Ti(e))}}class Ti{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new wi(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class wi extends y{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Xr extends I{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new x,e.add(this.source.subscribe(new gs(this.getSubject(),this))),e.closed&&(this._connection=null,e=x.EMPTY)),e}refCount(){return Yn()(this)}}const Ls=(()=>{const n=Xr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class gs extends oe{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function el(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new kl(r,e));const s=Object.create(i,Ls);return s.source=i,s.subjectFactory=r,s}}class kl{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function Sa(){return new se}function Es(){return n=>Yn()(el(Sa)(n))}function Jt(n){for(let e in n)if(n[e]===Jt)return e;throw Error("Could not find renamed property on target object.")}function tl(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function rt(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(rt).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function lt(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const ht=Jt({__forward_ref__:Jt});function ge(n){return n.__forward_ref__=ge,n.toString=function(){return rt(this())},n}function be(n){return Le(n)?n():n}function Le(n){return"function"==typeof n&&n.hasOwnProperty(ht)&&n.__forward_ref__===ge}class Ze extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function Dt(n){return"string"==typeof n?n:null==n?"":String(n)}function Xt(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Dt(n)}function bn(n,e){const t=e?` in ${e}`:"";throw new Ze("201",`No provider for ${Xt(n)} found${t}`)}function J(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function We(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function xt(n){return{providers:n.providers||[],imports:n.imports||[]}}function vn(n){return Ss(n,po)||Ss(n,js)}function Ss(n,e){return n.hasOwnProperty(e)?n[e]:null}function Ll(n){return n&&(n.hasOwnProperty(jr)||n.hasOwnProperty(xc))?n[jr]:null}const po=Jt({\u0275prov:Jt}),jr=Jt({\u0275inj:Jt}),js=Jt({ngInjectableDef:Jt}),xc=Jt({ngInjectorDef:Jt});var Sn=(()=>((Sn=Sn||{})[Sn.Default=0]="Default",Sn[Sn.Host=1]="Host",Sn[Sn.Self=2]="Self",Sn[Sn.SkipSelf=4]="SkipSelf",Sn[Sn.Optional=8]="Optional",Sn))();let go;function Ca(n){const e=go;return go=n,e}function wd(n,e,t){const i=vn(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&Sn.Optional?null:void 0!==e?e:void bn(rt(n),"Injector")}function De(n){return{toString:n}.toString()}var He=(()=>((He=He||{})[He.OnPush=0]="OnPush",He[He.Default=1]="Default",He))(),Yt=(()=>((Yt=Yt||{})[Yt.Emulated=0]="Emulated",Yt[Yt.None=2]="None",Yt[Yt.ShadowDom=3]="ShadowDom",Yt))();const li="undefined"!=typeof globalThis&&globalThis,Vr="undefined"!=typeof window&&window,es="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,xs="undefined"!=typeof global&&global,Qn=li||xs||Vr||es,Ed={},tr=[],fp=Jt({\u0275cmp:Jt}),Jm=Jt({\u0275dir:Jt}),Dh=Jt({\u0275pipe:Jt}),sv=Jt({\u0275mod:Jt}),T1=Jt({\u0275loc:Jt}),jl=Jt({\u0275fac:Jt}),Ih=Jt({__NG_ELEMENT_ID__:Jt});let M1=0;function ln(n){return De(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===He.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||tr,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Yt.Emulated,id:"c",styles:n.styles||tr,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=M1++,i.inputs=cv(n.inputs,t),i.outputs=cv(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(ov):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(av):null,i})}function ov(n){return Vi(n)||function(n){return n[Jm]||null}(n)}function av(n){return function(n){return n[Dh]||null}(n)}const lv={};function on(n){return De(()=>{const e={type:n.type,bootstrap:n.bootstrap||tr,declarations:n.declarations||tr,imports:n.imports||tr,exports:n.exports||tr,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(lv[n.id]=n.type),e})}function cv(n,e){if(null==n)return Ed;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const Rt=ln;function Vs(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function Vi(n){return n[fp]||null}function Oo(n,e){const t=n[sv]||null;if(!t&&!0===e)throw new Error(`Type ${rt(n)} does not have '\u0275mod' property.`);return t}function Qo(n){return Array.isArray(n)&&"object"==typeof n[1]}function Zo(n){return Array.isArray(n)&&!0===n[1]}function n_(n){return 0!=(8&n.flags)}function Ad(n){return 2==(2&n.flags)}function Td(n){return 1==(1&n.flags)}function Ma(n){return null!==n.template}function uv(n){return 0!=(512&n[2])}function Tc(n,e){return n.hasOwnProperty(jl)?n[jl]:null}class o_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Ui(){return fv}function fv(n){return n.type.prototype.ngOnChanges&&(n.setInput=k1),F1}function F1(){const n=at(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===Ed)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function k1(n,e,t,i){const r=at(n)||function(n,e){return n[kh]=e}(n,{previous:Ed,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new o_(l&&l.currentValue,e,o===Ed),n[i]=e}Ui.ngInherit=!0;const kh="__ngSimpleChanges__";function at(n){return n[kh]||null}let Ki;function gr(n){return!!n.listen}const bu={createRenderer:(n,e)=>void 0!==Ki?Ki:"undefined"!=typeof document?document:void 0};function xr(n){for(;Array.isArray(n);)n=n[0];return n}function Lh(n,e){return xr(e[n])}function Zs(n,e){return xr(e[n.index])}function c_(n,e){return n.data[e]}function zs(n,e){const t=e[n];return Qo(t)?t:t[0]}function zl(n){return 4==(4&n[2])}function Dd(n){return 128==(128&n[2])}function Ia(n,e){return null==e?null:n[e]}function u_(n){n[18]=0}function mp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Bn={lFrame:wu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function gv(){return Bn.bindingsEnabled}function jt(){return Bn.lFrame.lView}function Ei(){return Bn.lFrame.tView}function Cr(n){return Bn.lFrame.contextLView=n,n[8]}function cs(){let n=d_();for(;null!==n&&64===n.type;)n=n.parent;return n}function d_(){return Bn.lFrame.currentTNode}function rl(n,e){const t=Bn.lFrame;t.currentTNode=n,t.isParent=e}function Hr(){return Bn.lFrame.isParent}function ms(){Bn.lFrame.isParent=!1}function Vh(){return Bn.isInCheckNoChangesMode}function yp(n){Bn.isInCheckNoChangesMode=n}function Oa(){return Bn.lFrame.bindingIndex++}function No(n){const e=Bn.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Id(n,e){const t=Bn.lFrame;t.bindingIndex=t.bindingRootIndex=n,h_(e)}function h_(n){Bn.lFrame.currentDirectiveIndex=n}function f_(n){const e=Bn.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function mv(){return Bn.lFrame.currentQueryIndex}function p_(n){Bn.lFrame.currentQueryIndex=n}function vp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Od(n,e,t){if(t&Sn.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&Sn.Host||(r=vp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Bn.lFrame=Ee();return i.currentTNode=e,i.lView=n,!0}function Hh(n){const e=Ee(),t=n[1];Bn.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function Ee(){const n=Bn.lFrame,e=null===n?null:n.child;return null===e?wu(n):e}function wu(n){const 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:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Gh(){const n=Bn.lFrame;return Bn.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Po=Gh;function fi(){const n=Gh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function Js(){return Bn.lFrame.selectedIndex}function yo(n){Bn.lFrame.selectedIndex=n}function kr(){const n=Bn.lFrame;return c_(n.tView,n.selectedIndex)}function wp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class $h{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function xp(n,e,t){const i=gr(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Nd=!0;function Cp(n){const e=Nd;return Nd=n,e}let v_=0;function Hs(n,e){const t=Ap(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,w_(i.data,n),w_(e,null),w_(i.blueprint,null));const r=qh(n,e),s=n.injectorIndex;if(vv(r)){const o=Rd(r),a=ol(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function w_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Ap(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function qh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Dc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Ih)&&(i=t[Ih]),null==i&&(i=t[Ih]=v_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:xv:e}(t);if("function"==typeof s){if(!Od(e,n,i))return i&Sn.Host?E_(r,t,i):Ev(e,t,i,r);try{const o=s(i);if(null!=o||i&Sn.Optional)return o;bn(t)}finally{Po()}}else if("number"==typeof s){let o=null,a=Ap(n,e),l=-1,c=i&Sn.Host?e[16][6]:null;for((-1===a||i&Sn.SkipSelf)&&(l=-1===a?qh(n,e):e[a+8],-1!==l&&Kh(i,!1)?(o=e[1],a=Rd(l),e=ol(l,e)):a=-1);-1!==a;){const u=e[1];if(Tp(s,a,u.data)){const h=Ts(a,e,t,o,i,c);if(h!==Sv)return h}l=e[a+8],-1!==l&&Kh(i,e[1].data[a+8]===c)&&Tp(s,a,e)?(o=u,a=Rd(l),e=ol(l,e)):a=-1}}}return Ev(e,t,i,r)}const Sv={};function xv(){return new ea(cs(),jt())}function Ts(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=Pd(a,o,t,null==i?Ad(a)&&Nd:i!=o&&0!=(3&a.type),r&Sn.Host&&s===a);return null!==u?Fd(e,o,u,a):Sv}function Pd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,p=r?a+u:n.directiveEnd;for(let g=i?a:a+u;g=l&&m.type===t)return g}if(r){const g=o[l];if(g&&Ma(g)&&g.type===t)return l}return null}function Fd(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof $h}(r)){const o=r;o.resolving&&function(n,e){throw new Ze("200",`Circular dependency in DI detected for ${n}`)}(Xt(s[t]));const a=Cp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Ca(o.injectImpl):null;Od(n,i,Sn.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=fv(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&Ca(l),Cp(a),o.resolving=!1,Po()}}return r}function Tp(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[jl]||Ms(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[jl]||Ms(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Ms(n){return Le(n)?()=>{const e=Ms(be(n));return e&&e()}:Tc(n)}function Fo(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Ld)?l[Ld]:Object.defineProperty(l,Ld,{value:[]})[Ld];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class Ht{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=We({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const xu=Function;function ta(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?na(t,e):e(t))}function Qh(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Gl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Oc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function M_(n,e){const t=Ds(n,e);if(t>=0)return n[1|t]}function Ds(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):rt(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Pc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Nc]=null,n}const zd=Ud(Pa("Inject",n=>({token:n})),-1),ns=Ud(Pa("Optional"),8),ul=Ud(Pa("SkipSelf"),4);let Gd;function Ou(n){var e;return(null===(e=function(){if(void 0===Gd&&(Gd=null,Qn.trustedTypes))try{Gd=Qn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return Gd}())||void 0===e?void 0:e.createHTML(n))||n}class Yl{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class P_ extends Yl{getTypeName(){return"HTML"}}class F_ extends Yl{getTypeName(){return"Style"}}class Vp extends Yl{getTypeName(){return"Script"}}class $d extends Yl{getTypeName(){return"URL"}}class Fn extends Yl{getTypeName(){return"ResourceURL"}}function Gs(n){return n instanceof Yl?n.changingThisBreaksApplicationSecurity:n}function ia(n,e){const t=Lc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function Lc(n){return n instanceof Yl&&n.getTypeName()||null}class zv{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Ou(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class pA{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Ou(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Ou(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0Bo(e.trim())).join(", ")}function ra(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function Jh(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const Up=ra("area,br,col,hr,img,wbr"),Gv=ra("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),$v=ra("rp,rt"),L_=Jh(Up,Jh(Gv,ra("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")),Jh($v,ra("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")),Jh($v,Gv)),B_=ra("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),j_=ra("srcset"),V_=Jh(B_,j_,ra("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),ra("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")),vA=ra("script,style,template");class U_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!L_.hasOwnProperty(t))return this.sanitizedSomething=!0,!vA.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();L_.hasOwnProperty(t)&&!Up.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(Hp(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const Wv=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ef=/([^\#-~ |!])/g;function Hp(n){return n.replace(/&/g,"&").replace(Wv,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(ef,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let tf;function z_(n,e){let t=null;try{tf=tf||function(n){const e=new pA(n);return function(){try{return!!(new window.DOMParser).parseFromString(Ou(""),"text/html")}catch(n){return!1}}()?new zv(e):e}(n);let i=e?String(e):"";t=tf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=tf.getInertBodyElement(i)}while(i!==s);return Ou((new U_).sanitizeChildren(Wd(t)||t))}finally{if(t){const i=Wd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function Wd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var ni=(()=>((ni=ni||{})[ni.NONE=0]="NONE",ni[ni.HTML=1]="HTML",ni[ni.STYLE=2]="STYLE",ni[ni.SCRIPT=3]="SCRIPT",ni[ni.URL=4]="URL",ni[ni.RESOURCE_URL=5]="RESOURCE_URL",ni))();function nf(n){const e=function(){const n=jt();return n&&n[12]}();return e?e.sanitize(ni.URL,n)||"":ia(n,"URL")?Gs(n):Bo(Dt(n))}const $_="__ngContext__";function Is(n,e){n[$_]=e}function W_(n){const e=function(n){return n[$_]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function Gp(n){return n.ngOriginalError}function NA(n,...e){n.error(...e)}class oa{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||NA}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(Gp(e)):null}_findOriginalError(e){let t=e&&Gp(e);for(;t&&Gp(t);)t=Gp(t);return t||null}}const iw=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Qn))();function hl(n){return n instanceof Function?n():n}var jo=(()=>((jo=jo||{})[jo.Important=1]="Important",jo[jo.DashCase=2]="DashCase",jo))();function Q_(n,e){return undefined(n,e)}function of(n){const e=n[3];return Zo(e)?e[3]:e}function Yd(n){return lw(n[13])}function J_(n){return lw(n[4])}function lw(n){for(;null!==n&&!Zo(n);)n=n[4];return n}function Kd(n,e,t,i,r){if(null!=i){let s,o=!1;Zo(i)?s=i:Qo(i)&&(o=!0,i=i[0]);const a=xr(i);0===n&&null!==t?null==r?fw(e,t,a):fl(e,t,a,r||null,!0):1===n&&null!==t?fl(e,t,a,r||null,!0):2===n?function(n,e,t){const i=qp(n,e);i&&function(n,e,t,i){gr(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==xr(t)&&Kd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=Gl(n,10+e);!function(n,e){Xd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function iy(n,e){if(!(256&e[2])){const t=e[11];gr(t)&&t.destroyNode&&Xd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return Wp(n[1],n);for(;e;){let t=null;if(Qo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Qo(e)&&Wp(e[1],e),e=e[3];null===e&&(e=n),Qo(e)&&Wp(e[1],e),t=e&&e[4]}e=t}}(e)}}function Wp(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[h+1].toLowerCase();const g=8&i?p:null;if(g&&-1!==lf(g,c,0)||2&i&&c!==p){if(ka(i))return!1;o=!0}}}}else{if(!o&&!ka(i)&&!ka(l))return!1;if(o&&ka(l))continue;o=!1,i=l|1&i}}return ka(i)||o}function ka(n){return 0==(1&n)}function oT(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!ka(o)&&(e+=Aw(s,r),r=""),i=o,s=s||!ka(i);t++}return""!==r&&(e+=Aw(s,r)),e}const In={};function Zt(n){Tw(Ei(),jt(),Js()+n,Vh())}function Tw(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Ep(e,s,t)}else{const s=n.preOrderHooks;null!==s&&Sp(e,s,0,t)}yo(t)}function pl(n,e){return n<<17|e<<2}function Rn(n){return n>>17&32767}function Ar(n){return 2|n}function Kl(n){return(131068&n)>>2}function gl(n,e){return-131069&n|e<<2}function cy(n){return 1|n}function kw(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&Tw(n,e,20,Vh()),t(i,r)}finally{yo(s)}}function hf(n,e,t){!gv()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||Hs(t,e),Is(i,e);const o=t.initialInputs;for(let a=r;a0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function qw(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function Yw(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function PT(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&wy(t)}}function wy(n){for(let i=Yd(n);null!==i;i=J_(i))for(let r=10;r0&&wy(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&wy(r)}}function UT(n,e){const t=zs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function Qw(n){return n[7]||(n[7]=[])}function ig(n){return n.cleanup||(n.cleanup=[])}function Ay(n,e,t){return(null===n||Ma(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function Ty(n,e){const t=n[9],i=t?t.get(oa,null):null;i&&i.handleError(e)}function Zw(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),na([e],a=>this.processInjectorType(a,[],s)),this.records.set(Pu,ku(void 0,this));const o=this.records.get(Fu);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:rt(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Tu,i=Sn.Default){this.assertNotDestroyed();const r=Vd(this),s=Ca(void 0);try{if(!(i&Sn.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof Ht}(e)&&vn(e);a=l&&this.injectableDefInScope(l)?ku(Ry(e),ff):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&Sn.Self?Jw():this.parent).get(e,t=i&Sn.Optional&&t===Tu?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Nc]=o[Nc]||[]).unshift(rt(e)),r)throw o;return eo(o,e,"R3InjectorError",this.source)}throw o}finally{Ca(s),Vd(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(rt(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=be(e)))return!1;let r=Ll(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Ll(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{na(r.imports,h=>{this.processInjectorType(h,t,i)&&(void 0===u&&(u=[]),u.push(h))})}finally{}if(void 0!==u)for(let h=0;hthis.processProvider(m,p,g||tr))}}this.injectorDefTypes.add(o);const l=Tc(o)||(()=>new o);this.records.set(o,ku(l,ff));const c=r.providers;if(null!=c&&!a){const u=e;na(c,h=>this.processProvider(h,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Vc(e=be(e))?e:be(e&&e.provide);const s=function(n,e,t){return nE(n)?ku(void 0,n.useValue):ku(tE(n),ff)}(e);if(Vc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=ku(void 0,ff,!0),o.factory=()=>Du(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===ff&&(t.value=KT,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=be(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Ry(n){const e=vn(n),t=null!==e?e.factory:Tc(n);if(null!==t)return t;if(n instanceof Ht)throw new Error(`Token ${rt(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=Oc(e,"?");throw new Error(`Can't resolve all parameters for ${rt(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[po]||n[js]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function tE(n,e,t){let i;if(Vc(n)){const r=be(n);return Tc(r)||Ry(r)}if(nE(n))i=()=>be(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Du(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>Oe(be(n.useExisting));else{const r=be(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Tc(r)||Ry(r);i=()=>new r(...Du(n.deps))}return i}function ku(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function nE(n){return null!==n&&"object"==typeof n&&Np in n}function Vc(n){return"function"==typeof n}const iE=function(n,e,t){return function(n,e=null,t=null,i){const r=eE(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Wn{static create(e,t){return Array.isArray(e)?iE(e,t,""):iE(e.providers,e.parent,e.name||"")}}function Gq(n,e){wp(W_(n)[1],cs())}function An(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(Ma(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=cM(n.inputs),o.declaredInputs=cM(n.declaredInputs),o.outputs=cM(n.outputs);const a=r.hostBindings;a&&Yq(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&Wq(n,l),c&&qq(n,c),tl(n.inputs,r.inputs),tl(n.declaredInputs,r.declaredInputs),tl(n.outputs,r.outputs),Ma(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Wh(r.hostAttrs,t=Wh(t,r.hostAttrs))}}(i)}function cM(n){return n===Ed?{}:n===tr?[]:n}function Wq(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function qq(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function Yq(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Wn.THROW_IF_NOT_FOUND=Tu,Wn.NULL=new io,Wn.\u0275prov=We({token:Wn,providedIn:"any",factory:()=>Oe(Pu)}),Wn.__NG_ELEMENT_ID__=-1;let lE=null;function sg(){if(!lE){const n=Qn.Symbol;if(n&&n.iterator)lE=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(xr(Ae[i.index])):i.index;if(gr(t)){let Ae=null;if(!a&&l&&(Ae=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==Ae)(Ae.__ngLastListenerFn__||Ae).__ngNextListenerFn__=s,Ae.__ngLastListenerFn__=s,g=!1;else{s=mM(i,e,h,s,!1);const Pe=t.listen(H,r,s);p.push(s,Pe),u&&u.push(r,de,U,U+1)}}else s=mM(i,e,h,s,!0),H.addEventListener(r,s,o),p.push(s),u&&u.push(r,de,U,o)}else s=mM(i,e,h,s,!1);const m=i.outputs;let w;if(g&&null!==m&&(w=m[r])){const C=w.length;if(C)for(let H=0;H0;)e=e[15],n--;return e}(n,Bn.lFrame.contextLView))[8]}(n)}function MY(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const Rs={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function jk(n){return n.substring(Rs.key,Rs.keyEnd)}function Vk(n,e){const t=Rs.textEnd;return t===e?-1:(e=Rs.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,Rs.key=e,t),bg(n,e,t))}function bg(n,e,t){for(;e=0;t=Vk(e,t))ko(n,jk(e),!0)}function ec(n,e,t,i){const r=jt(),s=Ei(),o=No(2);s.firstUpdatePass&&Wk(s,n,o,i),e!==In&&Eo(r,o,e)&&Yk(s,s.data[Js()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=rt(Gs(n)))),n}(e,t),i,o)}function $k(n,e){return e>=n.expandoStartIndex}function Wk(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[Js()],o=$k(n,t);Xk(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=f_(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=Vy(t=yM(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=yM(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Kl(i))return n[Rn(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=yM(null,n,e,l[1],i),l=Vy(l,e.attrs,i),function(n,e,t,i){n[Rn(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else u=t;if(r)if(0!==l){const p=Rn(n[a+1]);n[i+1]=pl(p,a),0!==p&&(n[p+1]=gl(n[p+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=pl(a,0),0!==a&&(n[a+1]=gl(n[a+1],i)),a=i;else n[i+1]=pl(l,0),0===a?a=i:n[l+1]=gl(n[l+1],i),l=i;c&&(n[i+1]=Ar(n[i+1])),Bk(n,u,i,!0),Bk(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Ds(s,e)>=0&&(t[i+1]=cy(t[i+1]))}(e,u,n,i,s),o=pl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function yM(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let p=t[r+1];p===In&&(p=h?tr:void 0);let g=h?M_(p,i):u===i?p:void 0;if(c&&!gE(g)&&(g=M_(l,i)),gE(g)&&(a=g,o))return a;const m=n[r+1];r=o?Rn(m):Kl(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=M_(l,i))}return a}function gE(n){return void 0!==n}function Xk(n,e){return 0!=(n.flags&(e?16:32))}function Oi(n,e=""){const t=jt(),i=Ei(),r=n+20,s=i.firstCreatePass?Zd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return gr(n)?n.createText(e):n.createTextNode(e)}(t[11],e);Yp(i,t,o,s),rl(s,!1)}function da(n){return ha("",n,""),da}function ha(n,e,t){const i=jt(),r=ag(i,n,e,t);return r!==In&&Xl(i,Js(),r),ha}function Lu(n,e,t){const i=jt();return Eo(i,Oa(),e)&&Vo(Ei(),kr(),i,n,e,i[11],t,!0),Lu}function mE(n,e,t){const i=jt();if(Eo(i,Oa(),e)){const s=Ei(),o=kr();Vo(s,o,i,n,e,Ay(f_(s.data),o,i),t,!0)}return mE}const gf=void 0;var dK=["en",[["a","p"],["AM","PM"],gf],[["AM","PM"],gf,gf],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],gf,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],gf,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",gf,"{1} 'at' {0}",gf],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let vg={};function pL(n){return n in vg||(vg[n]=Qn.ng&&Qn.ng.common&&Qn.ng.common.locales&&Qn.ng.common.locales[n]),vg[n]}var cn=(()=>((cn=cn||{})[cn.LocaleId=0]="LocaleId",cn[cn.DayPeriodsFormat=1]="DayPeriodsFormat",cn[cn.DayPeriodsStandalone=2]="DayPeriodsStandalone",cn[cn.DaysFormat=3]="DaysFormat",cn[cn.DaysStandalone=4]="DaysStandalone",cn[cn.MonthsFormat=5]="MonthsFormat",cn[cn.MonthsStandalone=6]="MonthsStandalone",cn[cn.Eras=7]="Eras",cn[cn.FirstDayOfWeek=8]="FirstDayOfWeek",cn[cn.WeekendRange=9]="WeekendRange",cn[cn.DateFormat=10]="DateFormat",cn[cn.TimeFormat=11]="TimeFormat",cn[cn.DateTimeFormat=12]="DateTimeFormat",cn[cn.NumberSymbols=13]="NumberSymbols",cn[cn.NumberFormats=14]="NumberFormats",cn[cn.CurrencyCode=15]="CurrencyCode",cn[cn.CurrencySymbol=16]="CurrencySymbol",cn[cn.CurrencyName=17]="CurrencyName",cn[cn.Currencies=18]="Currencies",cn[cn.Directionality=19]="Directionality",cn[cn.PluralCase=20]="PluralCase",cn[cn.ExtraData=21]="ExtraData",cn))();const _E="en-US";let gL=_E;function vM(n){J(n,"Expected localeId to be defined"),"string"==typeof n&&(gL=n.toLowerCase().replace(/_/g,"-"))}function SM(n,e,t,i,r){if(n=be(n),Array.isArray(n))for(let s=0;s>20;if(Vc(n)||!n.multi){const g=new $h(l,r,xe),m=CM(a,e,r?u:u+p,h);-1===m?(Dc(Hs(c,o),s,a),xM(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[m]=g,o[m]=g)}else{const g=CM(a,e,u+p,h),m=CM(a,e,u,u+p),w=g>=0&&t[g],C=m>=0&&t[m];if(r&&!C||!r&&!w){Dc(Hs(c,o),s,a);const H=function(n,e,t,i,r){const s=new $h(n,t,xe);return s.multi=[],s.index=e,s.componentProviders=0,jL(s,r,i&&!t),s}(r?lX:aX,t.length,r,i,l);!r&&C&&(t[m].providerFactory=H),xM(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(H),o.push(H)}else xM(s,n,g>-1?g:m,jL(t[r?m:g],l,!r&&i));!r&&i&&C&&t[m].componentProviders++}}}function xM(n,e,t,i){const r=Vc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function jL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function CM(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Ei();if(i.firstCreatePass){const r=Ma(n);SM(t,i.data,i.blueprint,r,!0),SM(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class VL{}const zL="ngComponent";class dX{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${rt(n)}. Did you add it to @NgModule.entryComponents?`);return e[zL]=n,e}(e)}}class wl{}function EE(...n){}function Eg(n,e){return new En(Zs(n,e))}wl.NULL=new dX;const pX=function(){return Eg(cs(),jt())};let En=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=pX,n})();function HL(n){return n instanceof En?n.nativeElement:n}class mf{}let MM=(()=>{class n{}return n.\u0275prov=We({token:n,providedIn:"root",factory:()=>null}),n})();class ju{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const GL=new ju("12.2.5");class $L{constructor(){}supports(e){return Ly(e)}create(e){return new vX(e)}}const bX=(n,e)=>e;class vX{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||bX}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;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,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new wX(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new WL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new WL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(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._nextIdentityChange=e,e}}class wX{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}}class EX{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(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 i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class WL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new EX,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function qL(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new xX(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class xX{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function KL(){return new Sg([new $L])}let Sg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||KL()),deps:[[n,new ul,new ns]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:KL}),n})();function XL(){return new xg([new YL])}let xg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||XL()),deps:[[n,new ul,new ns]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:XL}),n})();function SE(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(xr(s)),Zo(s))for(let a=10;a-1&&(ny(e,i),Gl(t,i))}this._attachedToViewContainer=!1}iy(this._lView[1],this._lView)}onDestroy(e){Vw(this._lView[1],this._lView,null,e)}markForCheck(){Ey(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){xy(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){yp(!0);try{xy(n,e,t)}finally{yp(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Xd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class AX extends $y{constructor(e){super(e),this._view=e}detectChanges(){Xw(this._view)}checkNoChanges(){!function(n){yp(!0);try{Xw(n)}finally{yp(!1)}}(this._view)}get context(){return null}}const MX=function(n){return function(n,e,t){if(Ad(n)&&!t){const i=zs(n.index,e);return new $y(i,i)}return 47&n.type?new $y(e[16],e):null}(cs(),jt(),16==(16&n))};let Dr=(()=>{class n{}return n.__NG_ELEMENT_ID__=MX,n})();const OX=[new YL],NX=new Sg([new $L]),PX=new xg(OX),kX=function(){return xE(cs(),jt())};let zo=(()=>{class n{}return n.__NG_ELEMENT_ID__=kX,n})();const LX=zo,BX=class extends LX{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=uf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),df(t,i,e),new $y(i)}};function xE(n,e){return 4&n.type?new BX(e,n,Eg(n,e)):null}class $c{}const UX=function(){return e3(cs(),jt())};let Ns=(()=>{class n{}return n.__NG_ELEMENT_ID__=UX,n})();const HX=Ns,ZL=class extends HX{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Eg(this._hostTNode,this._hostLView)}get injector(){return new ea(this._hostTNode,this._hostLView)}get parentInjector(){const e=qh(this._hostTNode,this._hostLView);if(vv(e)){const t=ol(e,this._hostLView),i=Rd(e);return new ea(t[1].data[i+8],t)}return new ea(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=JL(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get($c,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return Zo(n[3])}(i)){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const h=i[3],p=new ZL(h,h[6],h[3]);p.detach(p.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),iiw});class S3 extends VL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(dT).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return E3(this.componentDef.inputs)}get outputs(){return E3(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,Mg,r);return s!==Mg||i===Mg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(mf,bu),a=s.get(MM,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(gr(n))return n.selectRootElement(e,t===Yt.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):ty(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),h=this.componentDef.onPush?576:528,p=function(n,e){return{components:[],scheduler:n||iw,clean:WT,playerHandler:e||null,flags:0}}(),g=tg(0,null,null,1,0,null,null,null,null,null),m=uf(null,g,p,h,null,null,o,l,a,s);let w,C;Hh(m);try{const H=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Zd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(rg(l,c,!0),null!==n&&(xp(r,n,c),null!==l.classes&&ay(r,n,l.classes),null!==l.styles&&Ew(r,n,l.styles)));const u=i.createRenderer(n,e),h=uf(t,eg(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Dc(Hs(l,t),o,e.type),Yw(o,l),yy(l,t.length,1)),ng(t,h),t[20]=h}(u,this.componentDef,m,o,l);if(u)if(i)xp(l,u,["ng-version",GL.full]);else{const{attrs:U,classes:de}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&ay(l,u,de.join(" "))}if(C=c_(g,20),void 0!==t){const U=C.projection=[];for(let de=0;del(o,e)),e.contentQueries){const l=cs();e.contentQueries(1,o,l.directiveStart)}const a=cs();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(yo(a.index),Ww(t[1],a,0,a.directiveStart,a.directiveEnd,e),qw(e,o)),o}(H,this.componentDef,m,p,[Gq]),df(g,m,null)}finally{fi()}return new zQ(this.componentType,w,Eg(C,m),m,C)}}class zQ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new AX(r),this.componentType=e}get injector(){return new ea(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Dg=new Map;class $Q extends $c{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new w3(this);const i=Oo(e),r=function(n){return n[T1]||null}(e);r&&vM(r),this._bootstrapComponents=hl(i.bootstrap),this._r3Injector=eE(e,t,[{provide:$c,useValue:this},{provide:wl,useValue:this.componentFactoryResolver}],rt(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Wn.THROW_IF_NOT_FOUND,i=Sn.Default){return e===Wn||e===$c||e===Pu?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class zM extends class{}{constructor(e){super(),this.moduleType=e,null!==Oo(e)&&function(n){const e=new Set;!function t(i){const r=Oo(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${rt(e)} vs ${rt(e.name)}`)}(s,Dg.get(s),i),Dg.set(s,i));const o=hl(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new $Q(this.moduleType,e)}}function T3(n,e,t,i,r,s){const o=e+t;return Eo(n,o,r)?function(n,e,t){return n[e]=t}(n,o+1,s?i.call(s,r):i(r)):function(n,e){const t=n[e];return t===In?void 0:t}(n,o+1)}function xl(n,e){const t=Ei();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new Ze("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=Tc(i.type)),o=Ca(xe);try{const a=Cp(!1),l=s();return Cp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,jt(),r,l),l}finally{Ca(o)}}function Vu(n,e,t){const i=n+20,r=jt(),s=function(n,e){return n[e]}(r,i);return function(n,e){Zl.isWrapped(e)&&(e=Zl.unwrap(e),n[Bn.lFrame.bindingIndex]=In);return e}(r,function(n,e){return n[1].data[e].pure}(r,i)?T3(r,function(){const n=Bn.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}(),e,s.transform,t,s):s.transform(t))}function HM(n){return e=>{setTimeout(n,void 0,e)}}const sn=class extends se{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const h=e;a=null===(r=h.next)||void 0===r?void 0:r.bind(h),l=null===(s=h.error)||void 0===s?void 0:s.bind(h),c=null===(o=h.complete)||void 0===o?void 0:o.bind(h)}this.__isAsync&&(l=HM(l),a&&(a=HM(a)),c&&(c=HM(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof x&&e.add(u),u}};function oZ(){return this._results[sg()]()}class bf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=sg(),i=bf.prototype;i[t]||(i[t]=oZ)}get changes(){return this._changes||(this._changes=new sn)}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){const i=this;i.dirty=!1;const r=ta(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],u=e[-l];for(let h=10;h{class n{constructor(t){this.appInits=t,this.resolve=EE,this.reject=EE,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(Oe(vf,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const r0=new Ht("AppId"),zZ={provide:r0,useFactory:function(){return`${eD()}${eD()}${eD()}`},deps:[]};function eD(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const eB=new Ht("Platform Initializer"),Wc=new Ht("Platform ID"),RE=new Ht("appBootstrapListener");let NE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Uu=new Ht("LocaleId"),tB=new Ht("DefaultCurrencyCode");class GZ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const tD=function(n){return new zM(n)},$Z=tD,WZ=function(n){return Promise.resolve(tD(n))},nB=function(n){const e=tD(n),i=hl(Oo(n).declarations).reduce((r,s)=>{const o=Vi(s);return o&&r.push(new S3(o)),r},[]);return new GZ(e,i)},qZ=nB,YZ=function(n){return Promise.resolve(nB(n))};let wf=(()=>{class n{constructor(){this.compileModuleSync=$Z,this.compileModuleAsync=WZ,this.compileModuleAndAllComponentsSync=qZ,this.compileModuleAndAllComponentsAsync=YZ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const iB=new Ht("compilerOptions"),XZ=(()=>Promise.resolve(0))();function nD(n){"undefined"==typeof Zone?XZ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class gn{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new sn(!1),this.onMicrotaskEmpty=new sn(!1),this.onStable=new sn(!1),this.onError=new sn(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const 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=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=Qn.requestAnimationFrame,e=Qn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(Qn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,rD(n),n.isCheckStableRunning=!0,iD(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),rD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return rB(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),sB(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return rB(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),sB(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,rD(n),iD(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!gn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(gn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,ZZ,EE,EE);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const ZZ={};function iD(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function rD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function rB(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function sB(n){n._nesting--,iD(n)}class tJ{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new sn,this.onMicrotaskEmpty=new sn,this.onStable=new sn,this.onError=new sn}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let sD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{gn.assertNotInAngularZone(),nD(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())nD(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),oB=(()=>{class n{constructor(){this._applications=new Map,oD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return oD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class nJ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let oD=new nJ,aB=!0,lB=!1;function Ba(){return lB=!0,aB}let rc;const cB=new Ht("AllowMultipleToken");function uB(n,e,t=[]){const i=`Platform: ${e}`,r=new Ht(i);return(s=[])=>{let o=lD();if(!o||o.injector.get(cB,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:Fu,useValue:"platform"});!function(n){if(rc&&!rc.destroyed&&!rc.injector.get(cB,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");rc=n.get(dB);const e=n.get(eB,null);e&&e.forEach(t=>t())}(Wn.create({providers:a,name:i}))}return function(n){const e=lD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function lD(){return rc&&!rc.destroyed?rc:null}let dB=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new tJ:("zone.js"===n?void 0:n)||new gn({enableLongStackTrace:Ba(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:gn,useValue:a}];return a.run(()=>{const c=Wn.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),h=u.injector.get(oa,null);if(!h)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const p=a.onError.subscribe({next:g=>{h.handleError(g)}});u.onDestroy(()=>{cD(this._modules,u),p.unsubscribe()})}),function(n,e,t){try{const i=t();return yg(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(h,a,()=>{const p=u.injector.get(Og);return p.runInitializers(),p.donePromise.then(()=>(vM(u.injector.get(Uu,_E)||_E),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=hB({},i);return function(n,e,t){const i=new zM(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(ih);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${rt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function hB(n,e){return Array.isArray(e)?e.reduce(hB,n):Object.assign(Object.assign({},n),e)}let ih=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new I(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new I(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{gn.assertNotInAngularZone(),nD(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const h=this._zone.onUnstable.subscribe(()=>{gn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),h.unsubscribe()}});this.isStable=kn(a,l.pipe(Es()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof VL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get($c),a=r.create(Wn.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(sD,null),u=c&&a.injector.get(oB);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),cD(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;cD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(RE,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(Wn),Oe(oa),Oe(wl),Oe(Og))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function cD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const DJ=uB(null,"core",[{provide:Wc,useValue:"unknown"},{provide:dB,deps:[Wn]},{provide:oB,deps:[]},{provide:NE,deps:[]}]),PJ=[{provide:ih,useClass:ih,deps:[gn,Wn,oa,wl,Og]},{provide:jQ,deps:[gn],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Og,useClass:Og,deps:[[new ns,vf]]},{provide:wf,useClass:wf,deps:[]},zZ,{provide:Sg,useFactory:function(){return NX},deps:[]},{provide:xg,useFactory:function(){return PX},deps:[]},{provide:Uu,useFactory:function(n){return vM(n=n||"undefined"!=typeof $localize&&$localize.locale||_E),n},deps:[[new zd(Uu),new ns,new ul]]},{provide:tB,useValue:"USD"}];let kJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(Oe(ih))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:PJ}),n})(),GE=null;function qc(){return GE}const pn=new Ht("DocumentToken");let xf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Fee,token:n,providedIn:"platform"}),n})();function Fee(){return Oe(VB)}let VB=(()=>{class n extends xf{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return qc().getBaseHref(this._doc)}onPopState(t){const i=qc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=qc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}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(t){this.location.pathname=t}pushState(t,i,r){UB()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){UB()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn))},n.\u0275prov=We({factory:Lee,token:n,providedIn:"platform"}),n})();function UB(){return!!window.history.pushState}function Lee(){return new VB(Oe(pn))}function xD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function zB(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function Hu(n){return n&&"?"!==n[0]?"?"+n:n}let Cf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Bee,token:n,providedIn:"root"}),n})();function Bee(n){const e=Oe(pn).location;return new HB(Oe(xf),e&&e.origin||"")}const CD=new Ht("appBaseHref");let HB=(()=>{class n extends Cf{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return xD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Hu(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+Hu(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+Hu(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(xf),Oe(CD,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Pg=(()=>{class n{constructor(t,i){this._subject=new sn,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=zB(GB(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Hu(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,GB(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Hu(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Hu(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Cf),Oe(xf))},n.normalizeQueryParams=Hu,n.joinWithSlash=xD,n.stripTrailingSlash=zB,n.\u0275prov=We({factory:Vee,token:n,providedIn:"root"}),n})();function Vee(){return new Pg(Oe(Cf),Oe(xf))}function GB(n){return n.replace(/\/index.html$/,"")}var _s=(()=>((_s=_s||{})[_s.Zero=0]="Zero",_s[_s.One=1]="One",_s[_s.Two=2]="Two",_s[_s.Few=3]="Few",_s[_s.Many=4]="Many",_s[_s.Other=5]="Other",_s))();const Yee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=pL(e);if(t)return t;const i=e.split("-")[0];if(t=pL(i),t)return t;if("en"===i)return dK;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[cn.PluralCase]};class eS{}let Ste=(()=>{class n extends eS{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(Yee(i||this.locale)(t)){case _s.Zero:return"zero";case _s.One:return"one";case _s.Two:return"two";case _s.Few:return"few";case _s.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(Oe(Uu))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Cte{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Af=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new Cte(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new ej(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new ej(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(xe(Ns),xe(zo),xe(Sg))},n.\u0275dir=Rt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class ej{constructor(e,t){this.record=e,this.view=t}}let lc=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new Tte,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){tj("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){tj("ngIfElse",t),this._elseTemplateRef=t,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(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(xe(Ns),xe(zo))},n.\u0275dir=Rt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class Tte{constructor(){this.$implicit=null,this.ngIf=null}}function tj(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${rt(e)}'.`)}class Ote{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class Rte{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const Nte=new Rte,Pte=new Ote;let h0=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(yg(t))return Nte;if(Tk(t))return Pte;throw function(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${rt(n)}'`)}(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(xe(Dr,16))},n.\u0275pipe=Vs({name:"async",type:n,pure:!1}),n})(),qr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:[{provide:eS,useClass:Ste}]}),n})();const lj="browser";function Tf(n){return n===lj}class BD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){GE||(GE=n)}(new BD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).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"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(f0=f0||document.querySelector("base"),f0?f0.getAttribute("href"):null);return null==t?null:function(n){nS=nS||document.createElement("a"),nS.setAttribute("href",n);const e=nS.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){f0=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return function(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}(document.cookie,e)}}let nS,f0=null;const hj=new Ht("TRANSITION_ID"),rne=[{provide:vf,useFactory:function(n,e,t){return()=>{t.get(Og).donePromise.then(()=>{const i=qc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},Qn.getAllAngularTestabilities=()=>e.getAllTestabilities(),Qn.getAllAngularRootElements=()=>e.getAllRootElements(),Qn.frameworkStabilizers||(Qn.frameworkStabilizers=[]),Qn.frameworkStabilizers.push(i=>{const r=Qn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?qc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let sne=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const p0=new Ht("EventManagerPlugins");let rS=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),g0=(()=>{class n extends pj{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(gj),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(gj))}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function gj(n){qc().remove(n)}const UD={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/"},zD=/%COMP%/g;function sS(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let oS=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new HD(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Yt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new vne(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Yt.ShadowDom:return new wne(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=sS(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(Oe(rS),Oe(g0),Oe(r0))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class HD{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(UD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=UD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=UD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(jo.DashCase|jo.Important)?e.style.setProperty(t,i,r&jo.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&jo.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,yj(i)):this.eventManager.addEventListener(e,t,yj(i))}}class vne extends HD{constructor(e,t,i,r){super(e),this.component=i;const s=sS(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(zD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(zD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class wne extends HD{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=sS(r.id,r.styles,[]);for(let o=0;o{class n extends VD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const wj=["alt","control","meta","shift"],Dne={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Ej={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},Ine={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let One=(()=>{class n extends VD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>qc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(wj.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&Ej.hasOwnProperty(e)&&(e=Ej[e]))}return Dne[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),wj.forEach(s=>{s!=r&&Ine[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Mf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return Oe($D)},token:n,providedIn:"root"}),n})(),$D=(()=>{class n extends Mf{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case ni.NONE:return i;case ni.HTML:return ia(i,"HTML")?Gs(i):z_(this._doc,String(i)).toString();case ni.STYLE:return ia(i,"Style")?Gs(i):i;case ni.SCRIPT:if(ia(i,"Script"))return Gs(i);throw new Error("unsafe value used in a script context");case ni.URL:return Lc(i),ia(i,"URL")?Gs(i):Bo(String(i));case ni.RESOURCE_URL:if(ia(i,"ResourceURL"))return Gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new P_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new F_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new Vp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new $d(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new Fn(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn))},n.\u0275prov=We({factory:function(){return function(n){return new $D(n.get(pn))}(Oe(Pu))},token:n,providedIn:"root"}),n})();const jne=uB(DJ,"browser",[{provide:Wc,useValue:lj},{provide:eB,useValue:function(){BD.makeCurrent(),jD.init()},multi:!0},{provide:pn,useFactory:function(){return function(n){Ki=n}(document),document},deps:[]}]),Vne=[[],{provide:Fu,useValue:"root"},{provide:oa,useFactory:function(){return new oa},deps:[]},{provide:p0,useClass:Ene,multi:!0,deps:[pn,gn,Wc]},{provide:p0,useClass:One,multi:!0,deps:[pn]},[],{provide:oS,useClass:oS,deps:[rS,g0,r0]},{provide:mf,useExisting:oS},{provide:pj,useExisting:g0},{provide:g0,useClass:g0,deps:[pn]},{provide:sD,useClass:sD,deps:[gn]},{provide:rS,useClass:rS,deps:[p0,gn]},{provide:class{},useClass:sne,deps:[]},[]];let WD=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:r0,useValue:t.appId},{provide:hj,useExisting:r0},rne]}}}return n.\u0275fac=function(t){return new(t||n)(Oe(n,12))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:Vne,imports:[qr,kJ]}),n})();"undefined"!=typeof window&&window;class Yne extends x{constructor(e,t){super()}schedule(e,t=0){return this}}class aS extends Yne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let xj=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class uc extends xj{constructor(e,t=xj.now){super(e,()=>uc.delegate&&uc.delegate!==this?uc.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return uc.delegate&&uc.delegate!==this?uc.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const Qne=new class extends uc{}(class extends aS{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),Yc=new I(n=>n.complete());function lS(n){return n?function(n){return new I(e=>n.schedule(()=>e.complete()))}(n):Yc}function fn(...n){let e=n[n.length-1];return Ce(e)?(n.pop(),Ne(n,e)):On(n)}function Fg(n,e){return new I(e?t=>e.schedule(Jne,0,{error:n,subscriber:t}):t=>t.error(n))}function Jne({error:n,subscriber:e}){e.error(n)}class pa{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return fn(this.value);case"E":return Fg(this.error);case"C":return lS()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new pa("N",e):pa.undefinedValueNotification}static createError(e){return new pa("E",void 0,e)}static createComplete(){return pa.completeNotification}}pa.completeNotification=new pa("C"),pa.undefinedValueNotification=new pa("N",void 0);class cS extends y{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(cS.dispatch,this.delay,new tie(e,this.destination)))}_next(e){this.scheduleMessage(pa.createNext(e))}_error(e){this.scheduleMessage(pa.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(pa.createComplete()),this.unsubscribe()}}class tie{constructor(e,t){this.notification=e,this.destination=t}}class kg extends se{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new nie(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new $;if(this.isStopped||this.hasError?o=x.EMPTY:(this.observers.push(e),o=new Z(this,e)),r&&e.add(e=new cS(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class nie{constructor(e,t){this.time=e,this.value=t}}function Ir(n,e){return"function"==typeof e?t=>t.pipe(Ir((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new iie(n))}class iie{constructor(e){this.project=e}call(e,t){return t.subscribe(new rie(e,this.project))}}class rie extends ve{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new _t(this),r=this.destination;r.add(i),this.innerSubscription=N(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const uS={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return uS.schedule(n,0);if(void 0===window.requestAnimationFrame)return uS.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let YD;function pie(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!YD){const t=Element.prototype;YD=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&YD.call(n,e)}(n,r)||(i=s,0))),i}class mie{constructor(e,t){this.componentFactory=t.get(wl).resolveComponentFactory(e)}create(e){return new _ie(this.componentFactory,e)}}class _ie{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new kg(1),this.events=this.eventEmitters.pipe(Ir(i=>kn(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(gn),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=uS.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Wn.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(me(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=uS.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new o_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class yie extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}const vie={initialConfig:{},parse:{},rename:{}};class wie{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},vie),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,u=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(u)try{i[l]=u(c)}catch(h){console.warn(`Failed to parse ${e} = ${c}`,h.message)}else i[l]=c}}let Eie=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new wie(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=Rt({type:n,features:[Ui]}),n})();var KD;const m0={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://ccf-api.hubmapconsortium.org/v1/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld",dataSources:["https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/kpmp/data/rui_locations.jsonld","https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/sparc/data/rui_locations.jsonld"],hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"https://search.api.hubmapconsortium.org/v3/entities/search",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==(KD=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==KD?KD:""},googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};function rr(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function Aj(n,e){return function(t,i){e(t,i,n)}}function dc(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function Fi(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function Dj(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function QD(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Dj()}const Ij="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",hS=QD();class Aie{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function ZD(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const Oj={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Rj(n){return"string"==typeof n?Oj[n.toUpperCase()]||Oj.WHITE:n}function fS(n,e){if(!n)throw new Error(e||"Assertion failed")}const hc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},_0=hc.window||hc.self||hc.global,Nj=hc.process||{};function Lg(){let n;if(hS&&_0.performance)n=_0.performance.now();else if(Nj.hrtime){const e=Nj.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const Bg={debug:hS&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Nie={enabled:!0,level:0};function Tl(){}const Pj={},Fj={once:!0};function Pie(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let JD=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=Ij,this._startTs=Lg(),this._deltaTs=Lg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Aie("__probe-".concat(this.id,"__"),Nie),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Lg()-this._startTs).toPrecision(10))}getDelta(){return Number((Lg()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){fS(t,i)}warn(t){return this._getLogFunction(0,t,Bg.warn,arguments,Fj)}error(t){return this._getLogFunction(0,t,Bg.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,Bg.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,Bg.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,Bg.debug||Bg.info,arguments,Fj)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||Tl,r&&[r],{tag:Pie(i)}):Tl}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?hS?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=ZD(r,e,t);console.log(...s)},r.src=n,Tl}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...ZD(n,e,t)),Tl;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...ZD(r,e,t)),r.src=n.toDataURL(),Tl}return Tl}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=Je(307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):Tl}({image:r,message:s,scale:o}):Tl}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||Tl)}group(t,i,r={collapsed:!1}){r=Lj({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Tl)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=kj(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=Lj({logLevel:t,message:i,args:s,opts:o}),fS(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Lg();const a=o.tag||o.message;if(o.once){if(Pj[a])return Tl;Pj[a]=Lg()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!hS&&"string"==typeof n&&(e&&(e=Rj(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=Rj(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return Tl}}return n.VERSION=Ij,n})();function kj(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return fS(Number.isFinite(e)&&e>=0),e}function Lj(n){const{logLevel:e,message:t}=n;n.logLevel=kj(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return fS("string"===r||"object"===r),Object.assign(n,n.opts)}const Ri=new JD({id:"deck"}),ji={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(ji,"IDENTITY",{get:()=>Ri.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Kc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},Bj={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},mn=new JD({id:"luma.gl"});function $o(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function pS(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function Si(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function gS(n){return $o(pS(n),"Invalid WebGLRenderingContext"),n}function Co(n){return $o(Si(n),"Requires WebGL2"),n}const y0={};const b0=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Df.prototype.VERTEX_ARRAY_BINDING_OES=34229,Df.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iSi(n)?void 0:0,tre={3074:n=>Si(n)?void 0:36064,35723:n=>Si(n)?void 0:4352,35977:br,32937:br,36795:(n,e)=>{const t=Si(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(Uj);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(Uj);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:br,35071:br,37447:br,36063:(n,e)=>{if(!Si(n)){const t=n.getExtension(Vj);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:br,35374:br,35377:br,34852:n=>{if(!Si(n)){const e=n.getExtension(Vj);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(jj)?2147483647:65535,33001:n=>n.getExtension(jj)?16777216:65535,33e3:n=>16777216,37157:br,35373:br,35657:br,36183:br,37137:br,34045:br,35978:br,35979:br,35968:br,35376:br,35375:br,35659:br,37154:br,35371:br,35658:br,35076:br,35077:br,35380:br},zj="ANGLE_instanced_arrays",Hj={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{$o(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[zj]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){$o(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{$o(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{$o(!1)},deleteQuery:()=>{$o(!1)},beginQuery:()=>{$o(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},eI={readBuffer:(n,e,t)=>{Si(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:Si(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!Si(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!Si(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=tre[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function fre(n,{extension:e,target:t,target2:i}){const r=Hj[e];$o(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let u=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?u=(...h)=>a[c](...h):"function"==typeof r[l]&&(u=r[l].bind(t))),u&&(t[l]=u,i[l]=u)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Df(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&fre(n,{extension:t,target:n.luma,target2:n})}(n,Hj),function(n,{target:e,target2:t}){Object.keys(eI).forEach(i=>{if("function"==typeof eI[i]){const r=n[i]?n[i].bind(n):()=>{},s=eI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const tI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},oh=(n,e,t)=>e?n.enable(t):n.disable(t),Gj=(n,e,t)=>n.hint(t,e),ja=(n,e,t)=>n.pixelStorei(t,e);function v0(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const mre={3042:oh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:oh,2885:(n,e)=>n.cullFace(e),2929:oh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:oh,35723:Gj,36006:(n,e)=>{const t=Si(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:Gj,2849:(n,e)=>n.lineWidth(e),32823:oh,32824:"polygonOffset",10752:"polygonOffset",35977:oh,32938:"sampleCoverage",32939:"sampleCoverage",3089:oh,3088:(n,e)=>n.scissor(...e),2960:oh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:ja,3317:ja,37440:ja,37441:ja,37443:ja,3330:ja,3332:ja,3331:ja,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:ja,32878:ja,3316:ja,3315:ja,32877:ja,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=v0(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=v0(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=v0(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=v0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=v0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function os(n,e,t){return void 0!==e[n]?e[n]:t[n]}const _re={blendEquation:(n,e,t)=>n.blendEquationSeparate(os(32777,e,t),os(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(os(32969,e,t),os(32968,e,t),os(32971,e,t),os(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(os(32824,e,t),os(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(os(32938,e,t),os(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,os(2962,e,t),os(2967,e,t),os(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,os(34816,e,t),os(36003,e,t),os(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,os(2964,e,t),os(2965,e,t),os(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,os(34817,e,t),os(34818,e,t),os(34819,e,t))},$j={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Xc=(n,e)=>n.isEnabled(e),Wj={3042:Xc,2884:Xc,2929:Xc,3024:Xc,32823:Xc,32926:Xc,32928:Xc,3089:Xc,2960:Xc,35977:Xc};function qj(n){for(const e in n)return!1;return!0}function yre(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||tI)){const r=e,s=Wj[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=Wj[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},tI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){$o(this.stateStack.length>0),$u(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){$o(void 0!==s);const o=e[s],a=this.cache[s];yre(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function Kj(n,e={}){const{enable:t=!0,copyState:i}=e;if($o(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new wre(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in $j)bre(n,s,$j[s]);Yj(n,"getParameter"),Yj(n,"isEnabled")}return n.state.enable=t,n}function Xj(n){$o(n.state),n.state.pop()}function $u(n,e){if($o(pS(n),"setParameters requires a WebGL context"),qj(e))return;const t={};for(const r in e){const s=Number(r),o=mre[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)_re[r](n,e,i)}function fc(n,e,t){if(qj(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||Kj(n,{copyState:!1}),n.state.push()}(n),$u(n,e),i)r=t(n),Xj(n);else try{r=t(n)}finally{Xj(n)}return r}function mS(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function jg(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function nI(n,e,t=!0){return function(n,e,t,i,r){const s=Qj(n[0],e,t);let o=Zj(n[1],e,i,r),a=Qj(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=Zj(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,jg(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function Qj(n,e,t){return Math.min(Math.round(n*e),t-1)}function Zj(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const iI=mS(),Mre=iI&&"undefined"!=typeof document,Jj={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function eV(n={}){$o(iI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},Jj,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(Mre&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=rI(r,n),function(n){const e=Si(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);mn.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function rI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},Jj,e);const{manageState:t,debug:i}=e;return t&&Kj(n,{copyState:!1,log:(...r)=>mn.log(1,...r)()}),iI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),mn.level=Math.max(mn.level,1)):mn.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function tV(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class nV{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=tV(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(tV()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class sI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof nV?e:new nV(t,i)),this.stats[t]}}const w0="8.5.12",If=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new sI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==w0)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${w0}`);function tn(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function oI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return tn(void 0!==i,`Accessing undefined constant GL.${e}`),i}function ah(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(mS()&&mn.log(1,`luma.gl ${w0} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:w0,version:w0,log:mn,stats:If,globals:{modules:{},nodeIO:{}}}),globalThis;const aI={};function ga(n="id"){return aI[n]=aI[n]||1,`${n}-${aI[n]++}`}function iV(n){return tn("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function Vg(n){let e=!0;for(const t in n){e=!1;break}return e}function rV(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw mn.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const Ug="Resource subclass must define virtual methods";class Wu{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){gS(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ga(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){tn(e=oI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Si(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=Si(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const h=i?ah(this.gl,l):l;o[h]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[h]=ah(this.gl,o[h]))}}return o}setParameter(e,t){tn(e=oI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Si(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=oI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return rV(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(Ug)}_deleteHandle(){throw new Error(Ug)}_bindHandle(e){throw new Error(Ug)}_getOptsFromHandle(){throw new Error(Ug)}_getParameter(e,t){throw new Error(Ug)}_setParameter(e,t){throw new Error(Ug)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=If.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];If.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=If.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=If.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function lI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function E0(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function Vre({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return ma.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return ma.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=cI("Accessor",e,zre)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const oV={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},Hre={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:oV},Gre={removedProps:oV};class hr extends Wu{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/ma.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/ma.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=cI("Buffer",e,Hre),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=cI("Buffer",e,Gre))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new ma(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;tn(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(Co(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return Co(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){Co(this.gl);const s=E0(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const u=Math.min(o,l);return tn((r=r||u)<=u),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(tn(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){tn(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=lI(e);return tn(s),this.setAccessor(new ma(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){tn(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/E0(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new ma(this.accessor,{type:lI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return mn.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return mn.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return mn.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return mn.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new ma(this.accessor,e),this}}const uI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},aV={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},lV={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},qre=[9729,9728],cV=globalThis.WebGLBuffer||function(){};class Of extends Wu{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=uI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=Si(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=uI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ga("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(U=>this.initialize(Object.assign({},e,{pixels:U,data:U}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:u}=e;t||(t=r);let{width:h,height:p,dataFormat:g,type:m,compressed:w=!1,mipmaps:C=!0}=e;const{depth:H=0}=e;return({width:h,height:p,compressed:w,dataFormat:g,type:m}=this._deduceParameters({format:s,type:m,dataFormat:g,compressed:w,data:t,width:h,height:p})),this.width=h,this.height=p,this.depth=H,this.format=s,this.type=m,this.dataFormat=g,this.border=o,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),C&&this._isNPOT()&&(mn.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),C=!1,this._updateForNPOT(l)),this.mipmaps=C,this.setImageData({data:t,width:h,height:p,depth:H,format:s,type:m,dataFormat:g,border:o,mipmaps:C,parameters:c,compressed:w}),C&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:u=this.type,width:h=this.width,height:p=this.height,dataFormat:g=this.dataFormat,compressed:m=!1}=e;c||(c=i),({type:u,dataFormat:g,compressed:m,width:h,height:p}=this._deduceParameters({format:s,type:u,dataFormat:g,compressed:m,data:c,width:h,height:p}));const{gl:w}=this;w.bindTexture(this.target,this.handle);let C=null;({data:c,dataType:C}=this._getDataType({data:c,compressed:m}));let H,U=0;return fc(this.gl,l,()=>{switch(C){case"null":w.texImage2D(t,r,s,h,p,o,g,u,c);break;case"typed-array":w.texImage2D(t,r,s,h,p,o,g,u,c,a);break;case"buffer":H=Co(w),H.bindBuffer(35052,c.handle||c),H.texImage2D(t,r,s,h,p,o,g,u,a),H.bindBuffer(35052,null);break;case"browser-object":Si(w)?w.texImage2D(t,r,s,h,p,o,g,u,c):w.texImage2D(t,r,s,g,u,c);break;case"compressed":for(const[de,Ae]of c.entries())w.compressedTexImage2D(t,de,Ae.format,Ae.width,Ae.height,o,Ae.data),U+=Ae.levelSize;break;default:tn(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===C?U:c&&c.byteLength?c.byteLength:this.width*this.height*(aV[this.dataFormat]||4)*(lV[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:u=this.type,dataFormat:h=this.dataFormat,compressed:p=!1,offset:g=0,border:m=this.border,parameters:w={}}){if(({type:u,dataFormat:h,compressed:p,width:o,height:a}=this._deduceParameters({format:c,type:u,dataFormat:h,compressed:p,data:i,width:o,height:a})),tn(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const C=i;i=C.data,o=C.shape[0],a=C.shape[1]}i instanceof hr&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),fc(this.gl,w,()=>{if(p)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,h,u,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,h,u,i,g);else if(i instanceof cV){const C=Co(this.gl);C.bindBuffer(35052,i),C.texSubImage2D(e,l,r,s,o,a,h,u,g),C.bindBuffer(35052,null)}else Si(this.gl)?Co(this.gl).texSubImage2D(e,l,r,s,o,a,h,u,i):this.gl.texSubImage2D(e,l,r,s,h,u,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return mn.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof hr?{data:e.handle,dataType:"buffer"}:e instanceof cV?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=uI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},tn(r,"Could not deduced texture size"),tn(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),tn(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:tn(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Si(this.gl)||!this.width||!this.height||iV(this.width)&&iV(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===qre.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function Yre(n,e){return tn("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class _a extends Of{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return Of.isSupported(e,t)}constructor(e,t={}){gS(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:Yre(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const Rf="EXT_color_buffer_float",uV={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Rf,bpp:2},33327:{gl2:Rf,bpp:4},34842:{gl2:Rf,bpp:8},33326:{gl2:Rf,bpp:4},33328:{gl2:Rf,bpp:8},34836:{gl2:Rf,bpp:16},35898:{gl2:Rf,bpp:4}};class zg extends Wu{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=Si(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,uV)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return tn(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&Si(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*uV[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const gV="clear: bad arguments";function hI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),tn(0!==o,gV),fc(n,s,()=>{n.clear(o)})}function mV(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function oi(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){mV(s,i,r,o,a,"next",l)}function a(l){mV(s,i,r,o,a,"throw",l)}o(void 0)})}}const fI=[34069,34070,34071,34072,34073,34074];let tse=(()=>{class n extends Of{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){gS(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return oi(function*(){const{gl:u}=c,h=r||s,p=yield Promise.all(fI.map(g=>{const m=h[g];return Promise.all(Array.isArray(m)?m:[m])}));c.bind(),fI.forEach((g,m)=>{p[m].length>1&&!1!==c.opts.mipmaps&&mn.warn(`${c.id} has mipmap and multiple LODs.`)(),p[m].forEach((w,C)=>{t&&i?u.texImage2D(g,C,a,t,i,o,a,l,w):u.texImage2D(g,C,a,a,l,w)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:u=5121}=t,{gl:h}=this,p=o||a;return this.bind(),p instanceof Promise?p.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?h.texImage2D(i,0,c,r,s,l,c,u,p):h.texImage2D(i,0,c,c,u,p),this}}return n.FACES=fI,n})();class nse extends Of{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return Si(e)}constructor(e,t={}){Co(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:u,parameters:h={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),fc(this.gl,h,()=>{ArrayBuffer.isView(u)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,u),u instanceof hr&&(this.gl.bindBuffer(35052,u.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(u&&u.byteLength?u.byteLength:this.width*this.height*this.depth*(aV[this.dataFormat]||4)*(lV[this.type]||1),"Texture"),this.loaded=!0,this}}function _V(n,e){tn(n instanceof _a||n instanceof tse||n instanceof nse);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function ise(n,e){const{gl:t,width:i,height:r,id:s}=n;return new Fs(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function _S(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=S0(n);tn(u);const{gl:p,handle:g,attachments:m}=u;a=a||u.width,l=l||u.height,36064===s&&null===g&&(s=1028),tn(m[s]),c=c||m[s].type,o=function(n,e,t,i,r){if(n)return n;return new(E0(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return tn(!1),0}}(t))}(o,c,r,a,l),c=c||lI(o);const w=p.bindFramebuffer(36160,g);return p.readPixels(t,i,a,l,r,c,o),p.bindFramebuffer(36160,w||null),h&&u.delete(),o}function pI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=_S(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=Vre({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const u in i){const h=i[u];(Array.isArray(h)?h[0]:h).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return tn(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&mn.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){tn(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof zg)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[u,h=0,p=0]=l;c=u,this._attachTexture({attachment:a,texture:u,layer:h,level:p})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(Fs.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&hI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){Co(n),fc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:tn(!1,gV)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return mn.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return mn.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return mn.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return mn.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return mn.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return mn.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=Co(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=ah(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?ah(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?ah(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(pI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>mn.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=pI(this,{targetMaxHeight:100});return mn.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new _a(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new zg(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new zg(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&tn(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof zg?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:Co(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:tn(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return Si(n)?n:null}(this.gl);t?t.readBuffer(e):tn(36064===e||1029===e,yV),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=Co(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):tn(1===e.length&&(36064===e[0]||1029===e[0]),yV)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in bV)void 0===n.luma.caps[e]&&(n.luma.caps[e]=wV(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}Fs.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const bV={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new _a(n,{format:6408,type:5126,dataFormat:6408}),t=new Fs(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function gI(n,e){return vV(n,e)}function vV(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>wV(n,t))}function wV(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=bV[e];let i;tn(t,e);const r=Si(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:tn(!1);return i}(n,e)),n.luma.caps[e]||mn.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class mI{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},gse=1/Math.PI*180,mse=1/180*Math.PI,Or={};function yse(n,{precision:e=Or.precision||4}={}){return n=function(n){return Math.round(n/Or.EPSILON)*Or.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function lh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function qu(n,e,t){if(lh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*mse,void 0)}(n)}function vse(n){return function(n,e){return qu(n,t=>t*gse,void 0)}(n)}function Va(n,e,t){return qu(n,i=>Math.max(e,Math.min(t,i)))}function yS(n,e,t){return lh(n)?n.map((i,r)=>yS(i,e[r],t)):t*e+(1-t)*n}function C0(n,e,t){const i=Or.EPSILON;t&&(Or.EPSILON=t);try{if(n===e)return!0;if(lh(n)&&lh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+yse(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(LV.length=n.length,i=LV):i=kV,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function BV(n){return n&&n[Symbol.asyncIterator]}function EI(n,e=(()=>!0)){return Array.isArray(n)?jV(n,e,[]):e(n)?[n]:[]}function jV(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function VV(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",ot(ot(ot({},qse[n.type]),e),n)):null}function UV(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function zV(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function HV(n){n.push(n.shift())}function xI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function GV({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,u=r&&c,h=xI(t,e),p=t.state.constant;if(!u&&i>=h)return;const g=p?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!p){const H=s;s=(U,de)=>t._normalizeConstant(H(U,de))}const m=p?(H,U)=>s(g,U):(H,U)=>s(g.subarray(H,H+a),U),w=n.getData({length:i}),C=new Float32Array(h);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return SI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((u,h)=>i(u+a,h)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===SS||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=SS}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=Gse}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==SS}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,u]of s)o.call(r,this,{data:t,startRow:c,endRow:u,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const C=h*a+l;for(let H=0;Hu?c.set(de,w):(e._normalizeValue(de,H.target,0),Hse({target:c,source:H.target,start:w,count:Ae}));w+=Ae*u}else e._normalizeValue(de,c,w),w+=u}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let AI={};function To(n){Ri.level>0&&AI[n]&&AI[n].call(...arguments)}function Ua(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const $V="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",Xse=`#version 300 es\n${$V}`;function WV(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function qV(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?Xse:e>300?`#version ${e}\n${$V}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return Ua(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class YV extends Wu{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return Si(e)}constructor(e,t={}){Co(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,Vg(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,mn.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof hr?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class eoe{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof hr?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&tn(Si(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new YV(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],tn(i[s]instanceof hr)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new hr(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function KV(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const D0="vs",ioe={[D0]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},xS="__LUMA_INJECT_DECLARATIONS__",XV=/void\s+main\s*\([^)]*\)\s*\{\n?/,QV=/}\n?[^{}]*$/,MI=[];function ZV(n,e,t,i=!1){const r=e===D0;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),MI.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(QV,l=>a+l));break;case"fs:#decl":r||(n=n.replace(xS,a));break;case"fs:#main-start":r||(n=n.replace(XV,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(QV,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(xS,""),i&&(n=n.replace(/\}\s*$/,s=>s+ioe[e])),n}function DI(n){const e={};return Ua(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const roe={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},CS="transform_uSize_",JV="transform_position";const hoe={10241:9728,10240:9728,10242:33071,10243:33071};class poe{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const h in this.samplerTextureMap)a[h]=i[this.samplerTextureMap[h]];this._setSourceTextureParameters();const u=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${CS}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${CS}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,u)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=_S(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return Ua(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new hr(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new Fs(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters(hoe)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=_V(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const u=l.split("\n"),h=u.slice();if(u.forEach((p,g,m)=>{if(s>0){const w=function(n,e){const t={},i=function(n){return WV(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${CS}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),h=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return Ua(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":h},samplerTextureMap:t}}return null}(p,e);if(w){const{updatedLine:C,inject:H}=w;h[g]=C,c=DI([c,H]),Object.assign(a,w.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=WV(n,["varying","out"]);return t&&t.name===e?t.type:null}(p,t))}),t){tn(i);const p=`${CS}${t}`;c=DI([c,{"vs:#decl":`uniform vec2 ${p};\n`,"vs:#main-start":` vec2 ${JV} = transform_getPos(${p});\n gl_Position = vec4(${JV}, 0, 1.);\n`}])}l=h.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=DI([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||qV({version:KV(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[roe].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const II={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function moe(n){let e=eU(n);return"object"===e?n?"type"in n?Object.assign({},n,II[n.type]):"value"in n?(e=eU(n.value),Object.assign({type:e},n,II[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},II[e])}function eU(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class OI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:u,fragmentShader:h}){Ua("string"==typeof e),this.name=e,this.vs=t||u,this.fs=i||h,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=moe(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:Ua(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&Ua(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function voe(n){return function(n){const e={},t={};return RI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}(nU(n))}function RI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof OI||(Ua("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),Ua(t.name,"shader module has no name"),(t=new OI(t)).dependencies=nU(t.dependencies)),t))}const NI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},Nf={};function Moe(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(NI).forEach(n=>{Nf[n]=n});const PI={};function iU(n,e,t={}){const i=NI[e];if(Ua(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in PI)return PI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),PI[e]=l,l}function AS(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=NI[e];Ua(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return Ua(!1===r||!0===r),r}(n,t))}function Gg(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const rU=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],Roe=[...rU,[Gg("attribute"),"in $1"],[Gg("varying"),"out $1"]],Noe=[...rU,[Gg("varying"),"in $1"]],sU=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Poe=[...sU,[Gg("in"),"attribute $1"],[Gg("out"),"varying $1"]],Foe=[...sU,[Gg("in"),"varying $1"]],FI="gl_FragColor",kI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,koe=/void\s+main\s*\([^)]*\)\s*\{\n?/;function TS(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const Voe=`\n\n${xS}\n\n`,oU={[D0]:"vertex",fs:"fragment"};function aU(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){Ua("string"==typeof t,"shader source must be a string");const h=i===D0,p=t.split("\n");let g=100,m="",w=t;0===p[0].indexOf("#version ")?(g=300,m=p[0],w=p.slice(1).join("\n")):m=`#version ${g}`;const C={};r.forEach(Be=>{Object.assign(C,Be.getDefines())}),Object.assign(C,s);let H=c?`${m}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${oU[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${oU[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:Moe(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return AS(n,Nf.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),AS(n,Nf.GLSL_DERIVATIVES)&&iU(n,Nf.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),AS(n,Nf.GLSL_FRAG_DATA)&&iU(n,Nf.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),AS(n,Nf.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(C)}\n${h?"":"precision highp float;\n\n"}\n`:`${m}\n`;const U=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),de={},Ae={},Pe={};for(const Be in a){const et="string"==typeof a[Be]?{injection:a[Be],order:0}:a[Be],wt=Be.match(/^(v|f)s:(#)?([\w-]+)$/);if(wt){const Ct=wt[3];wt[2]?"decl"===Ct?Ae[Be]=[et]:Pe[Be]=[et]:de[Be]=[et]}else Pe[Be]=[et]}for(const Be of r){u&&Be.checkDeprecations(w,u),H+=Be.getModuleSource(i,g);const wt=Be.injections[i];for(const vt in wt){const Ct=vt.match(/^(v|f)s:#([\w-]+)$/);if(Ct){const $t="decl"===Ct[2]?Ae:Pe;$t[vt]=$t[vt]||[],$t[vt].push(wt[vt])}else de[vt]=de[vt]||[],de[vt].push(wt[vt])}}return H+=Voe,H=ZV(H,i,Ae),H+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(U[i],de),H+=w,H=ZV(H,i,Pe),H=function(n,e,t){switch(e){case 300:return t?TS(n,Roe):function(n){const e=(n=TS(n,Noe)).match(kI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${FI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(koe,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${FI}\\b`,"g"),t)}return n}(n);case 100:return t?TS(n,Poe):function(n){const e=(n=TS(n,Foe)).match(kI);if(e){const t=e[1];n=n.replace(kI,"").replace(new RegExp(`\\b${t}\\b`,"g"),FI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(H,l?100:g,h),H}function Hoe(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const Koe={5126:Rr.bind(null,"uniform1fv",za,1,Mo),35664:Rr.bind(null,"uniform2fv",za,2,Mo),35665:Rr.bind(null,"uniform3fv",za,3,Mo),35666:Rr.bind(null,"uniform4fv",za,4,Mo),5124:Rr.bind(null,"uniform1iv",ch,1,Mo),35667:Rr.bind(null,"uniform2iv",ch,2,Mo),35668:Rr.bind(null,"uniform3iv",ch,3,Mo),35669:Rr.bind(null,"uniform4iv",ch,4,Mo),35670:Rr.bind(null,"uniform1iv",ch,1,Mo),35671:Rr.bind(null,"uniform2iv",ch,2,Mo),35672:Rr.bind(null,"uniform3iv",ch,3,Mo),35673:Rr.bind(null,"uniform4iv",ch,4,Mo),35674:Rr.bind(null,"uniformMatrix2fv",za,4,Ku),35675:Rr.bind(null,"uniformMatrix3fv",za,9,Ku),35676:Rr.bind(null,"uniformMatrix4fv",za,16,Ku),35678:ro,35680:ro,5125:Rr.bind(null,"uniform1uiv",MS,1,Mo),36294:Rr.bind(null,"uniform2uiv",MS,2,Mo),36295:Rr.bind(null,"uniform3uiv",MS,3,Mo),36296:Rr.bind(null,"uniform4uiv",MS,4,Mo),35685:Rr.bind(null,"uniformMatrix2x3fv",za,6,Ku),35686:Rr.bind(null,"uniformMatrix2x4fv",za,8,Ku),35687:Rr.bind(null,"uniformMatrix3x2fv",za,6,Ku),35688:Rr.bind(null,"uniformMatrix3x4fv",za,12,Ku),35689:Rr.bind(null,"uniformMatrix4x2fv",za,8,Ku),35690:Rr.bind(null,"uniformMatrix4x3fv",za,12,Ku),35678:ro,35680:ro,35679:ro,35682:ro,36289:ro,36292:ro,36293:ro,36298:ro,36299:ro,36300:ro,36303:ro,36306:ro,36307:ro,36308:ro,36311:ro},Xoe={},Qoe={},Zoe={},lU=[0];function LI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(lU[0]=n,n=lU);const r=n.length;if(r%e&&mn.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function Rr(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{tn(s===u,"Uniform length cannot change.");for(let p=0;p{const a=String(o+e);return hU(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:dU(s,c),warnings:dU(o,c)}}(i,this.source,this.shaderType,this.id);throw mn.error(`GLSL compilation errors in ${r}\n${s}`)(),mn.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class BI extends I0{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class jI extends I0{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const ks=5126,O0=5124,R0=5125,VI={[ks]:[ks,1,"float"],35664:[ks,2,"vec2"],35665:[ks,3,"vec3"],35666:[ks,4,"vec4"],[O0]:[O0,1,"int"],35667:[O0,2,"ivec2"],35668:[O0,3,"ivec3"],35669:[O0,4,"ivec4"],[R0]:[R0,1,"uint"],36294:[R0,2,"uvec2"],36295:[R0,3,"uvec3"],36296:[R0,4,"uvec4"],35670:[ks,1,"bool"],35671:[ks,2,"bvec2"],35672:[ks,3,"bvec3"],35673:[ks,4,"bvec4"],35674:[ks,8,"mat2"],35685:[ks,8,"mat2x3"],35686:[ks,8,"mat2x4"],35675:[ks,12,"mat3"],35687:[ks,12,"mat3x2"],35688:[ks,12,"mat3x4"],35676:[ks,16,"mat4"],35689:[ks,16,"mat4x2"],35690:[ks,16,"mat4x3"]};function yU(n){const e=VI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function bU(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=ks}for(const t in VI){const[i,r,s]=VI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class kae{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!Si(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=yU(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new ma(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=yU(i),l={location:e,name:t,accessor:new ma({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const Lae=35981,Bae=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class wU extends Wu{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",Bae),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=Lae}=e;return this.hash=t||"",this.vs="string"==typeof i?new BI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new jI(this.gl,{id:`${e.id}-fs`,source:r}):r,tn(this.vs instanceof BI),tn(this.fs instanceof jI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(Co(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new kae(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:u=c>0,vertexArray:h=null,transformFeedback:p,framebuffer:g,parameters:m={},uniforms:w,samplers:C}){if((w||C)&&(mn.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(w||{})),mn.priority>=e){const H=g?g.id:"default",U=`mode=${ah(this.gl,t)} verts=${i} instances=${c} indexType=${ah(this.gl,l)} isInstanced=${u} isIndexed=${a} Framebuffer=${H}`;mn.log(e,U)()}return tn(h),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||u&&0===c||(h.bindForDraw(i,c,()=>{if(void 0!==g&&(m=Object.assign({},m,{framebuffer:g})),p){const H=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return tn(!1),0}}(t);p.begin(H)}this._bindTextures(),fc(this.gl,m,()=>{a&&u?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&Si(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):u?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),p&&p.end()}),0))}setUniforms(e={}){mn.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!tae(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof Fs&&(s=s.texture),s instanceof Of)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&nae(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new BI({handle:r});break;case 35632:i.fs=new jI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ga(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),mn.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),mn.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||mn.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),u=this._getHash(t),h=this._getHash(i),p=c.map(de=>this._getHash(de.name)).sort(),g=o.map(de=>this._getHash(de)),m=Object.keys(r).sort(),w=Object.keys(s).sort(),C=[],H=[];for(const de of m)C.push(this._getHash(de)),C.push(this._getHash(r[de]));for(const de of w)H.push(this._getHash(de)),H.push(this._getHash(s[de]));const U=`${u}/${h}D${C.join("/")}M${p.join("/")}I${H.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[U]){const de=function(n,e){const{vs:t,fs:i}=e,r=voe(e.modules||[]);return{gl:n,vs:aU(n,Object.assign({},e,{source:t,type:D0,modules:r})),fs:aU(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:Hoe(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[U]=new wU(this.gl,{hash:U,vs:de.vs,fs:de.fs,varyings:o,bufferMode:a}),this._getUniforms[U]=de.getUniforms||(Ae=>{}),this._useCounts[U]=0}return this._useCounts[U]++,this._programCache[U]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":_0.chrome?"Chrome":_0.safari?"Safari":_0.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ha(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ha.MAX_ATTRIBUTES=Ha.MAX_ATTRIBUTES||e.getParameter(34921),Ha.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ha._setConstantFloatArray(e,t,i);break;case Int32Array:Ha._setConstantIntArray(e,t,i);break;case Uint32Array:Ha._setConstantUintArray(e,t,i);break;default:tn(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ha.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return tn(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:u}=i,{gl:h,gl2:p}=this;return e=Number(e),this.bind(()=>{h.bindBuffer(34962,t.handle),c?(tn(Si(h)),p.vertexAttribIPointer(e,r,s,o,a)):h.vertexAttribPointer(e,r,s,l,o,a),h.enableVertexAttribArray(e),p.vertexAttribDivisor(e,u||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ha.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new hr(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!OS||OS.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const $ae=/^(.+)__LOCATION_([0-9]+)$/,Wae=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class qae{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ha(e),rV(this,"VertexArray","v6.0",Wae),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new hr(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,mn.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const u=ma.resolve(l.accessor,this.accessors[o]||{},i,r),{size:h,type:p}=u;return tn(Number.isFinite(h)&&Number.isFinite(p)),{location:o,accessor:u}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=$ae.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof hr)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof hr)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof hr))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof hr){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return mn.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function P0(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=P0(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function EU(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,u,h,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof hr){const p=e,{data:g,changed:m}=p.getDebugData();let w;return u=m?"*":"",h=g,l=p.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?w=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${ah(r,s)})`:(c=!0,w=`${l} bytes`),{[i]:`${u}${P0(h,{size:o,isInteger:c})}`,"Format ":w}}return h=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${P0(h,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function Xae(n,e){const{type:t,size:i}=e,r=bU(t,i);return r?`${n} (${r.name})`:n}function SU({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){tn(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const p of l)!p.match(".*_.*")&&!p.match(s)&&UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)p.match(s)&&UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)a[p]||UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;let u=0;const h={};if(!i)for(const p in t){const g=t[p];a[p]||(u++,h[p]={Type:`NOT USED: ${g}`,[n]:P0(g)})}return{table:a,count:c,unusedTable:h,unusedCount:u}}function UI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?P0(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function xU(n){const{type:e,size:t}=n.accessor,i=bU(e,t);return i?`${i.name} ${n.name}`:n.name}const Jae={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function tle(n,e){const{attributeMap:t=Jae}=e||{};return t&&t[n]||n}function nle(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}tn(Number.isFinite(e.size),`attribute ${n} needs size`)}const CU=()=>{},sle={};class Yg{constructor(e,t={}){const{id:i=ga("model")}=t;tn(pS(e)),this.id=i,this.gl=e,this.id=t.id||ga("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||N0.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},tn(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return tn(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return tn(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=tle(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=ot({},o);delete c.value,i[a]=[new hr(n,l),c],nle(s,c)}}if(r){const s=r.value||r;tn(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new hr(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(Vg(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return hI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),mn.priority>=2&&(c=this._logDrawCallStart(2));const u=this.vertexArray.getDrawParams(),{isIndexed:h=u.isIndexed,indexType:p=u.indexType,indexOffset:g=u.indexOffset,vertexArrayInstanced:m=u.isInstanced}=this.props;m&&!this.isInstanced&&mn.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:w,instanceCount:C}=this,{onBeforeRender:H=CU,onAfterRender:U=CU}=this.props;H(),this.program.setUniforms(this.uniforms);const de=this.program.draw(Object.assign(sle,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:h,indexType:p,isInstanced:w,instanceCount:C,offset:h?g:0}));return U(),mn.priority>=2&&this._logDrawCallEnd(c,l,i),de}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return mn.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}tn(t instanceof wU,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new qae(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof hr&&t.delete()}}_setAnimationProps(e){this.animated&&tn(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(Vg(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new YV(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:mn.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=EU(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${Xae(s.name,a)}`),t[o]=EU(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=SU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:u}=SU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});u>0&&mn.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&mn.log("UNUSED UNIFORMS",Object.keys(a))();const h=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${xU(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${xU(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);mn.table(e,s)(),mn.table(e,o)(),mn.table(e+1,h)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),mn.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class zI{static isSupported(e){return Si(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();tn(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Yg(t,Object.assign({},e,{fs:e.fs||qV({version:KV(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(Vg(n.feedbackBuffers)&&Vg(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new eoe(e,t)),function(n){return!(Vg(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new poe(e,t)),tn(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function RS(){}const lle={onStart:RS,onUpdate:RS,onInterrupt:RS,onEnd:RS};class F0{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=ot(ot({},lle),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const mle={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new F0(i),this.attribute=t,this.attributeInTransition=new CI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=zV(e.size);return new zI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new hr(e,r),new hr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;HV(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)GV(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=xI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:UV(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new F0(i),this.attribute=t,this.attributeInTransition=new CI(e,Cn(ot({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new _a(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new Fs(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=zV(e.size);return new zI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new hr(e,r),new hr(e,r),new hr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)GV(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=xI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:UV(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),HV(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),_S(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class _le{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=zI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void Ri.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=mle[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(Ri.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const AU="attributeManager.invalidate";class Sle{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new _le(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;To("attribute.updateStart",t),t.allocate(i)&&To("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,To("attribute.updateEnd",t,i))}}function MU(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function DU(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=VV(r)))return;const o=Tle[r.type];if(!o)return void Ri.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(Cn(ot({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const NS={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:Dle}=NS;function Rle(n,e){if(!n.transitions)return null;const t={},i=GI(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&HI(n[r],e[r],s)&&(t[r]=!0)}return t}function IU({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=HI(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=HI(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function HI(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function Fle(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!Ule(i[r],e[r])){t=n(i),e=i;break}return t}}function zle(n,e){if(!e)return n;const t=ot(ot({},n),e);if("defines"in e&&(t.defines=ot(ot({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=ot({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function $I(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],p=e[10],g=e[11],m=e[12],w=e[13],C=e[14],H=e[15],U=t*a-i*o,de=t*l-r*o,Ae=t*c-s*o,Pe=i*l-r*a,Be=i*c-s*a,et=r*c-s*l,wt=u*w-h*m,vt=u*C-p*m,Ct=u*H-g*m,Bt=h*C-p*w,$t=h*H-g*w,gt=p*H-g*C,mt=U*gt-de*$t+Ae*Bt+Pe*Ct-Be*vt+et*wt;return mt?(n[0]=(a*gt-l*$t+c*Bt)*(mt=1/mt),n[1]=(r*$t-i*gt-s*Bt)*mt,n[2]=(w*et-C*Be+H*Pe)*mt,n[3]=(p*Be-h*et-g*Pe)*mt,n[4]=(l*Ct-o*gt-c*vt)*mt,n[5]=(t*gt-r*Ct+s*vt)*mt,n[6]=(C*Ae-m*et-H*de)*mt,n[7]=(u*et-p*Ae+g*de)*mt,n[8]=(o*$t-a*Ct+c*wt)*mt,n[9]=(i*Ct-t*$t-s*wt)*mt,n[10]=(m*Be-w*Ae+H*U)*mt,n[11]=(h*Ae-u*Be-g*U)*mt,n[12]=(a*vt-o*Bt-l*wt)*mt,n[13]=(t*Bt-i*vt+r*wt)*mt,n[14]=(w*de-m*Pe-C*U)*mt,n[15]=(u*Pe-h*de+p*U)*mt,n):null}function Pf(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=e[9],g=e[10],m=e[11],w=e[12],C=e[13],H=e[14],U=e[15],de=t[0],Ae=t[1],Pe=t[2],Be=t[3];return n[0]=de*i+Ae*a+Pe*h+Be*w,n[1]=de*r+Ae*l+Pe*p+Be*C,n[2]=de*s+Ae*c+Pe*g+Be*H,n[3]=de*o+Ae*u+Pe*m+Be*U,n[4]=(de=t[4])*i+(Ae=t[5])*a+(Pe=t[6])*h+(Be=t[7])*w,n[5]=de*r+Ae*l+Pe*p+Be*C,n[6]=de*s+Ae*c+Pe*g+Be*H,n[7]=de*o+Ae*u+Pe*m+Be*U,n[8]=(de=t[8])*i+(Ae=t[9])*a+(Pe=t[10])*h+(Be=t[11])*w,n[9]=de*r+Ae*l+Pe*p+Be*C,n[10]=de*s+Ae*c+Pe*g+Be*H,n[11]=de*o+Ae*u+Pe*m+Be*U,n[12]=(de=t[12])*i+(Ae=t[13])*a+(Pe=t[14])*h+(Be=t[15])*w,n[13]=de*r+Ae*l+Pe*p+Be*C,n[14]=de*s+Ae*c+Pe*g+Be*H,n[15]=de*o+Ae*u+Pe*m+Be*U,n}function FS(n,e,t){var o,a,l,c,u,h,p,g,m,w,C,H,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],u=e[4],h=e[5],p=e[6],g=e[7],m=e[8],w=e[9],C=e[10],H=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=p,n[7]=g,n[8]=m,n[9]=w,n[10]=C,n[11]=H,n[12]=o*i+u*r+m*s+e[12],n[13]=a*i+h*r+w*s+e[13],n[14]=l*i+p*r+C*s+e[14],n[15]=c*i+g*r+H*s+e[15]),n}function kS(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function RU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],p=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+u*i,n[6]=a*r+h*i,n[7]=l*r+p*i,n[8]=c*r-s*i,n[9]=u*r-o*i,n[10]=h*r-a*i,n[11]=p*r-l*i,n}function NU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],p=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+u*i,n[2]=a*r+h*i,n[3]=l*r+p*i,n[4]=c*r-s*i,n[5]=u*r-o*i,n[6]=h*r-a*i,n[7]=p*r-l*i,n}function FU(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function LS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}function kU(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return n[0]=u*c+g*-o+h*-l-p*-a,n[1]=h*c+g*-a+p*-o-u*-l,n[2]=p*c+g*-l+u*-a-h*-o,n[3]=e[3],n}!function(){var n=new ya(4);ya!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const LU=[0,0,0,0],fce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],pce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],gce=[0,0,0],mce=[0,0,0],_ce=PS(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=LU,l=LU,c=n.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:p}=BU(n,e,t);return p&&(l=n.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=LS([],l,o),s=i||s,o=Pf([],r,s),o=Pf([],o,fce)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(n,t,i),u=n.getDistanceScales(),h=[n.width*e,n.height*e],p=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:p,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:gce,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const m=n.getDistanceScales(c);switch(t){case ji.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerMeter2;break;case ji.LNGLAT:case ji.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerDegree2;break;case ji.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,m.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,m.unitsPerMeter2[2]]}}return g});function BU(n,e,t=mce){let r,i=t,s=!0;switch(r=e===ji.LNGLAT_OFFSETS||e===ji.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Kc.WEB_MERCATOR:(e===ji.LNGLAT||e===ji.CARTESIAN)&&(s=!1);break;case Kc.WEB_MERCATOR_AUTO_OFFSET:e===ji.LNGLAT?i=r:e===ji.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Kc.IDENTITY:i=n.position.map(Math.fround);break;case Kc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class wce extends bS{get ELEMENTS(){return Yu(!1),0}get RANK(){return Yu(!1),0}toString(){let e="[";if(Or.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new qn).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],u=n[9],h=n[10],p=n[11],g=n[12],m=n[13],w=n[14],C=n[15];return(e*o-t*s)*(h*C-p*w)-(e*a-i*s)*(u*C-p*m)+(e*l-r*s)*(u*w-h*m)+(t*a-i*o)*(c*C-p*g)-(t*l-r*o)*(c*w-h*g)+(i*l-r*a)*(c*m-u*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return $I(this,this),this.check()}multiplyLeft(e){return Pf(this,e,this),this.check()}multiplyRight(e){return Pf(this,this,e),this.check()}rotateX(e){return RU(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],p=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-u*i,n[2]=a*r-h*i,n[3]=l*r-p*i,n[8]=s*i+c*r,n[9]=o*i+u*r,n[10]=a*i+h*r,n[11]=l*i+p*r}(this,this,e),this.check()}rotateZ(e){return NU(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,u,h,p,g,m,w,C,H,U,de,Ae,Pe,Be,et,wt,vt,Ct,Bt,$t,gt,mt,Vt,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const WI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function Xu(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const gc=Math.PI,GU=gc/4,mc=gc/180,qI=180/gc,YI=4003e4,jS=85.051129;function VS([n,e]){return Xu(Number.isFinite(n)),Xu(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*mc+gc)/(2*gc),512*(gc+Math.log(Math.tan(GU+e*mc*.5)))/(2*gc)]}function Zg([n,e]){const t=n/512*(2*gc)-gc,i=2*(Math.atan(Math.exp(e/512*(2*gc)-gc))-GU);return[t*qI,i*qI]}function KI({latitude:n,longitude:e,highPrecision:t=!1}){Xu(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*mc),o=512/360,a=o/s,l=512/YI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=mc*Math.tan(n*mc)/s,h=512/YI*c,p=h/a*l;i.unitsPerDegree2=[0,o*c/2,h],i.unitsPerMeter2=[p,0,p]}return i}function $U(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=KI({longitude:t,latitude:i,highPrecision:!0}),u=VS(n);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=Zg(u),p=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],p]:h}function qU(n){return 2*Math.atan(.5/n)*qI}function YU(n,e){const[t,i,r=0]=n;return Xu(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Qg(e,[t,i,r,1])}function L0(n,e,t=0){const[i,r,s]=n;if(Xu(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Qg(e,[i,r,s,1]);const o=Qg(e,[i,r,0,1]),a=Qg(e,[i,r,1,1]),l=o[2],c=a[2];return VU([],o,a,l===c?0:((t||0)-l)/(c-l))}const KU=Math.PI/180;function XU(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Qg(i,[e,0,1,1]),s=Qg(i,[e,n.height,1,1]),c=Zg(VU([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const Bce=Math.PI/180,jce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],QI=[0,0,0],Uce={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Jg=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Kc.WEB_MERCATOR:Kc.WEB_MERCATOR_AUTO_OFFSET:Kc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&C0(t.projectionMatrix,this.projectionMatrix)&&C0(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=YU(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,u=L0([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[h,p,g]=this.unprojectPosition(u);return Number.isFinite(a)?[h,p,g]:Number.isFinite(r)?[h,p,r]:[h,p]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?VS(t):t}unprojectFlat(t){return this.isGeospatial?Zg(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?KI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Jg{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:u=!1,repeat:h=!1,worldOffset:p=0}=t;let{width:g,height:m,altitude:w=1.5}=t;const C=Math.pow(2,s);g=g||1,m=m||1,w=Math.max(.75,w);const{fov:H,aspect:U,focalDistance:de,near:Ae,far:Pe}=function({width:n,height:e,fovy:t=qU(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=qU(i));const a=.5*t*mc,l=function(n){return.5/Math.tan(.5*n*mc)}(t),c=r*mc,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:g,height:m,pitch:o,altitude:w,nearZMultiplier:l,farZMultiplier:c});let Be=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return FS(o,o,[0,0,-i]),RU(o,o,-e*mc),NU(o,o,t*mc),kS(o,o,[r/=n,r,r]),s&&FS(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:m,pitch:o,bearing:a,scale:C,altitude:w});p&&(Be=(new qn).translate([512*p,0,0]).multiplyLeft(Be)),super(Cn(ot({},t),{width:g,height:m,viewMatrix:Be,longitude:r,latitude:i,zoom:s,orthographic:u,fovyRadians:H,aspect:U,focalDistance:de,near:Ae,far:Pe})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=w,this.orthographic=u,this._subViewports=h?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(Cn(ot({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return $U(t,i)}panByPosition(t,i){const r=L0(i,this.pixelUnprojectionMatrix),o=BS([],this.projectFlat(t),jU([],r)),a=BS([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*KU:Math.atan(.5/n.altitude))>(90-n.pitch)*KU-.01?(l=XU(n,0,e),c=XU(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:Xu(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=VS([a,HU(u,-jS,jS)]),p=VS([c,HU(l,-jS,jS)]),g=[Math.max(Math.abs(p[0]-h[0]),i),Math.max(Math.abs(p[1]-h[1]),i)],m=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];Xu(m[0]>0&&m[1]>0);const w=m[0]/g[0],C=m[1]/g[1],Ae=Zg([(p[0]+h[0])/2+(s.right-s.left)/2/w,(p[1]+h[1])/2+(s.bottom-s.top)/2/C]),Pe=Math.min(r,WI(Math.abs(Math.min(w,C))));return Xu(Number.isFinite(Pe)),{longitude:Ae[0],latitude:Ae[1],zoom:Pe}}(ot({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function ZI(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof tz){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function nz(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=LS([],[o,a,l,1],t)),i){case ji.LNGLAT:return ZI([o,a,l],e,s);case ji.LNGLAT_OFFSETS:return ZI([o+r[0],a+r[1],l+(r[2]||0)],e,s);case ji.METER_OFFSETS:return ZI($U(r,[o,a,l]),e,s);case ji.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const Gce={10241:9987,10240:9729,10242:33071,10243:33071},JI={},qce={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||j0(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>eO(n,e)},accessor:{validate(n,e){const t=US(n);return"function"===t||t===US(e.value)},equal:(n,e,t)=>"function"==typeof e||eO(n,e)},array:{validate:(n,e)=>e.optional&&!n||j0(n),equal:(n,e,t)=>t.compare?eO(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof _a)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new _a(t,Cn(ot({},e),{parameters:ot(ot(ot({},Gce),i),n.props.textureParameters)}));return JI[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof _a)||JI[n.id]&&(n.delete(),delete JI[n.id])}(n)}}};function eO(n,e){if(n===e)return!0;if(!j0(n)||!j0(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=oue,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[rue]||{},i=e[iue]||e,r=e[sue]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(BV(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return oi(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var h,c=!0,u=!1;try{for(var g,m,p=nO(t);c=(g=yield p.next()).done,m=yield g.value,!c;c=!0){const C=m,{dataTransform:H}=i.component?i.component.props:{};a=H?H(C,a):a.concat(C),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(C){u=!0,h=C}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(u)throw h}}const w=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;w&&w(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:oz,ASYNC_RESOLVED:az,ASYNC_DEFAULTS:aue}=NS,lue={};let cue=0,uue=(()=>{class n{constructor(){this.props=Xce.apply(this,arguments),this.id=this.props.id,this.count=cue++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[aue])s in i[az]?r[s]=i[az][s]:s in i[oz]&&(r[s]=i[oz][s]);return new this.constructor(ot(ot(ot({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new sz({})}}return n.componentName="Component",n.defaultProps=lue,n})();class due extends sz{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const _c=n=>"function"==typeof n,uh=n=>null!==n&&"object"==typeof n,cz=n=>uh(n)&&n.constructor==={}.constructor,hue=n=>n&&"function"==typeof n[Symbol.iterator],fue=n=>n&&"function"==typeof n[Symbol.asyncIterator],U0=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,em=n=>"undefined"!=typeof Blob&&n instanceof Blob,uz=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||uh(n)&&_c(n.tee)&&_c(n.cancel)&&_c(n.getReader))(n)||(n=>uh(n)&&_c(n.read)&&_c(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function Ff(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function iO(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function rO(n){var e,t;let i;return Ff(n,"null loader"),Ff(iO(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=Cn(ot({},n=n[0]),{options:ot(ot({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const Zc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},sO=Zc.global||Zc.self||Zc.window||{},bue="object"!=typeof process||"[object process]"!==String(process)||process.browser,dz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);dz&&parseFloat(dz[1]);const aO={};function vue(n){for(const e in aO)n.startsWith(e)&&(n=n.replace(e,aO[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const wue=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Eue=/^([-\w.]+\/[-\w.+]+)/;function Sue(n){const e=Eue.exec(n);return e?e[1]:n}function hz(n){const e=wue.exec(n);return e?e[1]:""}const xue=/\?.*/;function $S(n){if(U0(n)){const e=lO(n.url||"");return{url:e,type:Sue(n.headers.get("content-type")||"")||hz(e)}}return em(n)?{url:lO(n.name||""),type:n.type||""}:"string"==typeof n?{url:lO(n),type:hz(n)}:{url:"",type:""}}function Cue(n){return U0(n)?n.headers["content-length"]||-1:em(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function lO(n){return n.replace(xue,"")}function fz(n){return cO.apply(this,arguments)}function cO(){return(cO=oi(function*(n){if(U0(n))return n;const e={},t=Cue(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=$S(n);r&&(e["content-type"]=r);const s=yield Mue(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function Aue(n){return uO.apply(this,arguments)}function uO(){return(uO=oi(function*(n){if(!n.ok){const e=yield Tue(n);throw new Error(e)}})).apply(this,arguments)}function Tue(n){return dO.apply(this,arguments)}function dO(){return(dO=oi(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function Mue(n){return hO.apply(this,arguments)}function hO(){return(hO=oi(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${Due(n.slice(0,5))}`:null})).apply(this,arguments)}function Due(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const mz={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){Kn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},Rue={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function pO(){sO.loaders=sO.loaders||{};const{loaders:n}=sO;return n._state=n._state||{},n._state}const gO=()=>{const n=pO();return n.globalOptions=n.globalOptions||ot({},mz),n.globalOptions};function Nue(n,e,t,i){return t=t||[],function(n,e){yz(n,null,mz,Rue,e);for(const t of e)yz(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=ot({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new Iue),vz(r,gO()),vz(r,e),r}(e,n,i)}function _z(n,e){const t=gO(),i=n||t;return"function"==typeof i.fetch?i.fetch:uh(i.fetch)?r=>pz(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:pz}function yz(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&uh(n[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in t)&&!c&&!u)if(a in i)gz.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const h=Fue(a,r);gz.warn(`${s} loader option '${o}${a}' not recognized. ${h}`)()}}}function Fue(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function vz(n,e){for(const t in e)t in e&&(n[t]=cz(e[t])&&cz(n[t])?ot(ot({},n[t]),e[t]):e[t])}function Jc(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function Bue(n,e="3.0.12"){return Jc(n,"no worker provided"),!(!e||!n.version)}const eu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},jue=eu.global||eu.self||eu.window||{},mO="object"!=typeof process||"[object process]"!==String(process)||process.browser,_O="function"==typeof importScripts,Vue="undefined"!=typeof window&&void 0!==window.orientation,wz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),yO=(wz&&parseFloat(wz[1]),new Map);function Ez(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function Sz(n,e=!0,t){const i=t||new Set;if(n)if(xz(n))i.add(n);else if(xz(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)Sz(n[r],e,i);return void 0===t?Array.from(i):[]}function xz(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const bO=()=>{};class Cz{static isSupported(){return"undefined"!=typeof Worker}constructor(e){Kn(this,"name",void 0),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"terminated",!1),Kn(this,"worker",void 0),Kn(this,"onMessage",void 0),Kn(this,"onError",void 0),Kn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;Jc(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=bO,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=bO,this.onError=bO,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||Sz(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){Jc(n.source&&!n.url||!n.source&&n.url);let e=yO.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?Ez(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),yO.set(n.url,e)),n.source&&(e=Ez(n.source),yO.set(n.source,e))),Jc(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class Gue{constructor(e,t){Kn(this,"name",void 0),Kn(this,"workerThread",void 0),Kn(this,"isRunning",void 0),Kn(this,"result",void 0),Kn(this,"_resolve",void 0),Kn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){Jc(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){Jc(this.isRunning),this.isRunning=!1,this._reject(e)}}class $ue{constructor(e){Kn(this,"name","unnamed"),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"maxConcurrency",1),Kn(this,"maxMobileConcurrency",1),Kn(this,"onDebug",()=>{}),Kn(this,"reuseWorkers",!0),Kn(this,"props",{}),Kn(this,"jobQueue",[]),Kn(this,"idleQueue",[]),Kn(this,"count",0),Kn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=ot(ot({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return oi(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return oi(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new Gue(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class Qu{static isSupported(){return Cz.isSupported()}static getWorkerFarm(e={}){return Qu._workerFarm=Qu._workerFarm||new Qu({}),Qu._workerFarm.setProps(e),Qu._workerFarm}constructor(e){Kn(this,"props",void 0),Kn(this,"workerPools",new Map),this.props=ot({},Wue),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=ot(ot({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new $ue({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function Yue(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return Jc(r),r}function Kue(n,e){return!!Qu.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function Xue(n,e,t,i,r){return vO.apply(this,arguments)}function vO(){return(vO=oi(function*(n,e,t,i,r){const s=n.id,o=Yue(n,t),l=Qu.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",Que.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function Que(n,e,t,i){return wO.apply(this,arguments)}function wO(){return(wO=oi(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}Kn(Qu,"_workerFarm",void 0);var Tz=Je(521);function Mz(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return Tz.toArrayBuffer?Tz.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function tde(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function Dz(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function nde(n){return SO.apply(this,arguments)}function SO(){return(SO=oi(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=nO(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return tde(...e)})).apply(this,arguments)}const sde=262144;function Iz(n){this.wrapped=n}function z0(n){return new Iz(n)}function H0(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,u=c instanceof Iz;Promise.resolve(u?c.wrapped:c).then(function(h){u?r("return"===o?"return":"next",h):s(l.done?"return":"normal",h)},function(h){r("throw",h)})}catch(h){s("throw",h)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var u={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=u:(e=t=u,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function CO(n){return function(){return new H0(n.apply(this,arguments))}}function AO(){return(AO=CO(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(DO)}function fde(n,e,t){return IO.apply(this,arguments)}function IO(){return(IO=oi(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return hde(n,e);if(em(n)&&(n=yield fz(n)),U0(n)){const r=n;return yield Aue(r),e.binary?yield r.arrayBuffer():yield r.text()}if(uz(n)&&(n=dde(n,t)),hue(n)||fue(n))return nde(n);throw new Error(DO)})).apply(this,arguments)}function gde(n,e,t=null){if(t)return t;const i=ot({fetch:_z(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function mde(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const Rz=()=>{const n=pO();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function Nz(n){const e=Rz();n=Array.isArray(n)?n:[n];for(const t of n){const i=rO(t);e.find(r=>i===r)||e.unshift(i)}}const yde=/\.([^.]+)$/;function bde(n){return NO.apply(this,arguments)}function NO(){return(NO=oi(function*(n,e=[],t,i){if(!Fz(n))return null;let r=Pz(n,e,Cn(ot({},t),{nothrow:!0}),i);if(r)return r;if(em(n)&&(r=Pz(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(kz(n));return r})).apply(this,arguments)}function Pz(n,e=[],t,i){if(!Fz(n))return null;if(e&&!Array.isArray(e))return rO(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...Rz()),function(n){for(const e of n)rO(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=$S(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=PO(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&yde.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||PO(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(Cde(e,t))return t}else if(ArrayBuffer.isView(e)){if(Lz(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&Lz(e,0,t))return t;return null}(e,n),a=a||PO(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(kz(n));return s}function Fz(n){return!(n instanceof Response&&204===n.status)}function kz(n){const{url:e,type:t}=$S(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?FO(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?FO(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function PO(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function Cde(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function Lz(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let tu=new Uint8ClampedArray(0);const kde={data:{type:"data",value:Pde,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=Cn(ot({},r),{fetch:Cn(ot({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:G0(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):G0(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:ji.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let $0=(()=>{class n extends uue{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=nz(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=YU(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=ot({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===ji.DEFAULT&&(t=i.isGeospatial?ji.LNGLAT:ji.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=BU(t,i,r),h=nz(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(h,h,t.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===ji.DEFAULT||t===ji.LNGLAT||t===ji.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){pc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=zle(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const u of c)o.invalidateAll(u);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:u}=o.attributes,h=c||u;h&&(l&&h.constant&&(h.constant=!1,o.invalidate(h.id)),!h.value&&!l&&(h.constant=!0,h.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!Fde({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(tu.length/3);if(this.internalState.usesPickingColorCache=!0,rBz&&Ri.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),tu=x0.allocate(tu,i,{size:3,copy:!0,maxCount:Math.max(i,Bz)});const s=Math.floor(tu.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const u of this.props.extensions)u.draw.call(this,c,u);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&To("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=IU({newProps:n,oldProps:e,propTypes:GI(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&OU(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&OU(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:Fle(n,e),transitionsChanged:Rle(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=GI(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new Sle(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){pc(!this.internalState&&!this.state),pc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new due({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Ri.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new Mle(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){To("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=kde,n})(),jz=(()=>{class n extends $0{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:p,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:C,fetch:H,_subLayerProps:U}=this.props,de={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:p,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:C,fetch:H},Ae=U&&U[t.id],Pe=Ae&&Ae.updateTriggers,Be=t.id||"sublayer";if(Ae){const et=this.constructor._propTypes,wt=t.type?t.type._propTypes:{};for(const vt in Ae){const Ct=wt[vt]||et[vt];Ct&&"accessor"===Ct.type&&(Ae[vt]=this.getSubLayerAccessor(Ae[vt]))}}Object.assign(de,t,Ae),de.id="".concat(this.props.id,"-").concat(Be),de.updateTriggers=ot(ot({all:this.props.updateTriggers.all},t.updateTriggers),Pe);for(const et of C){const wt=et.getSubLayerProps.call(this,et);wt&&Object.assign(de,wt,{updateTriggers:Object.assign(de.updateTriggers,wt.updateTriggers)})}return de}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=EI(t,Boolean),this.internalState.subLayers=t),To("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const Bde=/([0-9]+\.?[0-9]*)(%|px)/;function qS(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(Bde);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function YS(n,e){return n.relative?Math.round(n.position*e):n.position}function W0(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&W0(i,r)))return!1}return!0}class jO{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:u=1e3,modelMatrix:h=null,viewportInstance:p=null,type:g=Jg}=e;pc(!p||p instanceof Jg),this.viewportInstance=p,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=Cn(ot({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:u,modelMatrix:h}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):W0(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=ot({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:YS(this._x,e),y:YS(this._y,t),width:YS(this._width,e),height:YS(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),ot(ot({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(ot(ot(ot({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=qS(e),this._y=qS(t),this._width=qS(i),this._height=qS(r)}}const q0=()=>{},Vz={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:q0,onTransitionInterrupt:q0,onTransitionEnd:q0};class jde{constructor(e,t={}){this.ControllerState=e,this.props=ot(ot({},Vz),t),this.propsInTransition=null,this.transition=new F0(t.timeline),this.onViewStateChange=t.onViewStateChange||q0,this.onStateChange=t.onStateChange||q0,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=ot(ot({},Vz),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=ot(ot({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(ot(ot({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const Uz=["longitude","latitude","zoom","bearing","pitch"],Ude=["longitude","latitude","zoom"];class zz extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!C0(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];pc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:Uz,extract:Uz,required:Ude}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=yS(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(ot(ot({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,yS(e.around,t.around,i)))}return r}}const dh={transitionDuration:0},zde={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},XS=n=>1-(1-n)*(1-n),tm_WHEEL=["wheel"],tm_PAN=["panstart","panmove","panend"],tm_PINCH=["pinchstart","pinchmove","pinchend"],tm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],tm_DOUBLE_TAP=["doubletap"],tm_KEYBOARD=["keydown"];class VO{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new jde(e,Cn(ot({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&Cn(ot({},zde),{transitionInterpolator:new zz({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,u=Boolean(this.onViewStateChange);this.toggleEvents(tm_WHEEL,u&&i),this.toggleEvents(tm_PAN,u&&(r||s)),this.toggleEvents(tm_PINCH,u&&(a||l)),this.toggleEvents(tm_TRIPLE_PAN,u&&l),this.toggleEvents(tm_DOUBLE_TAP,u&&o),this.toggleEvents(tm_KEYBOARD,u&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=ot(ot({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,dh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,Cn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:XS}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,Cn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:XS}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,Cn(ot({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,dh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,Cn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:XS}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,dh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,dh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,Cn(ot({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:XS}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?Cn(ot({},t),{transitionInterpolator:new zz(Cn(ot({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:dh}}class Hz{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const hh_target=[0,0,0];class QS extends Hz{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=hh_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:u=-(1/0),maxZoom:h=Infinity,startPanPosition:p,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:C,startZoom:H}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:u,maxZoom:h}),this._state={startPanPosition:p,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:C,startZoom:H},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let u=(e[0]-r[0])/a;(s<-90||s>90)&&(u*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*u}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(Cn(ot({},this._viewportProps),{zoom:a}));return this._getUpdatedState(ot({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),Va(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new QS(ot(ot(ot({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=Va(r,i,t),e.rotationX=Va(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class Gde extends VO{constructor(e){super(QS,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class $de extends VO{constructor(e){e.dragMode=e.dragMode||"pan",super(QS,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const Wde=(new qn).lookAt({eye:[0,0,1]});function qde({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new qn).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class Yde extends Jg{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(Cn(ot({},e),{longitude:null,position:a,viewMatrix:Wde.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:qde({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=BS([],e,jU([],L0(t,this.pixelUnprojectionMatrix)));return{target:BS([],this.center,r)}}}let Kde=(()=>{class n extends jO{constructor(t){super(Cn(ot({},t),{type:Yde}))}get controller(){return this._getControllerProps({type:$de})}}return n.displayName="OrthographicView",n})();const ZS=Math.PI/180;function Xde({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*ZS/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new qn).lookAt({eye:l,up:a});c.rotateX(i*ZS),"Z"===t?c.rotateZ(r*ZS):c.rotateY(r*ZS);const u=Math.pow(2,s)/(n||1);return c.scale(u),c}class Qde extends Jg{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(Cn(ot({},e),{longitude:null,viewMatrix:Xde({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=L0([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let Zde=(()=>{class n extends jO{constructor(t={}){const{orbitAxis:i="Z"}=t;super(Cn(ot({},t),{orbitAxis:i,type:Qde}))}get controller(){return this._getControllerProps({type:Gde})}}return n.displayName="OrbitView",n})();const Jde=[255,255,255],ehe=1;let the=0;class Gz{constructor(e={}){const{color:t=Jde}=e,{intensity:i=ehe}=e;this.id=e.id||"ambient-".concat(the++),this.color=t,this.intensity=i,this.type="ambient"}}const nhe=[255,255,255],ihe=1,rhe=[0,0,-1];let she=0;class $z{constructor(e={}){const{color:t=nhe}=e,{intensity:i=ihe}=e,{direction:r=rhe}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(she++),this.color=t,this.intensity=i,this.type="directional",this.direction=new Ao(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class Wz{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=ot({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class UO extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=ot({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return $u(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){$u(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,u=i&&i[c.id];r(c);const h=this._getDrawLayerParams(c,e);e.view=u;const p=c.subViewports||[c];for(const g of p){e.viewport=g;const m=this._drawLayersInViewport(o,e,h);a.push(m)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=qz(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let u=0;uhI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};$u(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const u=t[l]=t[l]||qz(e[l],e);c=u(r,s),t[a]=u}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class che extends UO{constructor(e,t){super(e,t),this.shadowMap=new _a(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new zg(e,{format:33189,width:1,height:1}),this.fbo=new Fs(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;fc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=jg(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(Cn(ot({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const dhe=Object.keys(ji).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(ji[n],";")).join(""),hhe=Object.keys(Kc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Kc[n],";")).join(""),fhe="".concat(dhe,"\n").concat(hhe,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),phe={},zO={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:fhe,getUniforms:function(n=phe){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=ji.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===ji.DEFAULT&&(i=n.isGeospatial?ji.LNGLAT:ji.CARTESIAN);const o=_ce({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||pce,o}(n):{}}},yhe=PS(function({viewport:n,center:e}){return new qn(n.viewProjectionMatrix).invert().transform(e)}),bhe=PS(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=L0([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new Ao(n.center).negate()),l=s.map(u=>a.transform(u)),c=(new qn).ortho({left:Math.min(...l.map(u=>u[0])),right:Math.max(...l.map(u=>u[0])),bottom:Math.min(...l.map(u=>u[1])),top:Math.max(...l.map(u=>u[1])),near:Math.min(...l.map(u=>-u[2])),far:Math.max(...l.map(u=>-u[2]))});t.push(c.multiplyRight(o))}return t}),vhe=[0,0,0,1],whe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],HO={name:"shadow",dependencies:[zO],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||vhe,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=yhe({viewport:n.viewport,center:e.project_uCenter}),r=[],s=bhe({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},Ahe={color:[255,255,255],intensity:1},Yz=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],The=[0,0,0,200/255];class GO extends Wz{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=The,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=N0.getDefaultProgramManager(e),HO&&this.programManager.addDefaultModule(HO)),this.dummyShadowMap||(this.dummyShadowMap=new _a(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(HO),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new qn).lookAt({eye:new Ao(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=Dhe++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class Ihe{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=G0(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class Ohe{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new Ihe(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const Rhe=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},zO],Nhe=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function Phe(n){const e=N0.getDefaultProgramManager(n);for(const t of Rhe)e.addDefaultModule(t);for(const t of Nhe)e.addShaderHook(t);return e}const Lhe=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class Bhe{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new Ohe({gl:e,protocol:"deck://"}),this.context=Cn(ot({},Lhe),{layerManager:this,gl:e,deck:t,programManager:e&&Phe(e),stats:i||new sI({id:"deck.gl"}),viewport:r||new Jg({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new Kz,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){To("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=EI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return To("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?Ri.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&Ri.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class jhe{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=EI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!W0(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):Ri.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(ot({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=Cn(ot(ot(ot({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let u=r[a.id];a.controller&&!u&&(s=!0),(s||!a.controller)&&u&&(u.finalize(),u=null),this.controllers[a.id]=this._updateController(a,l,c,u),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class Uhe extends Hz{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:u=20,minZoom:h=0,maxPitch:p=60,minPitch:g=0,startPanLngLat:m,startZoomLngLat:w,startRotatePos:C,startBearing:H,startPitch:U,startZoom:de,normalize:Ae}={}){pc(Number.isFinite(s)),pc(Number.isFinite(r)),pc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:u,minZoom:h,maxPitch:p,minPitch:g,normalize:Ae}),this._state={startPanLngLat:m,startZoomLngLat:w,startRotatePos:C,startBearing:H,startPitch:U,startZoom:de},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(Cn(ot({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(Cn(ot({},this._viewportProps),{zoom:o}));return this._getUpdatedState(ot({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(ot(ot(ot({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=Va(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=Va(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=zU(t+180,360)-180),(o<-180||o>180)&&(o=zU(o+180,360)-180);const a=WI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Zg([0,l])[1];if(iu&&(i=u)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Va(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=Va(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let u=0;return r>0?Math.abs(l-o)>5&&(u=r/(o-l)*1.2):r<0&&o>5&&(u=1-s/o),u=Math.min(1,Math.max(-1,u)),{deltaScaleX:c,deltaScaleY:u}}}class zhe extends VO{constructor(e){e.dragMode=e.dragMode||"pan",super(Uhe,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let Hhe=(()=>{class n extends jO{constructor(t){super(Cn(ot({},t),{type:tz}))}get controller(){return this._getControllerProps({type:zhe})}}return n.displayName="MapView",n})();const Ghe=new GO;class $he{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!W0(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof GO)||this._internalEffects.push(Ghe)}}class Whe extends UO{}const Qz={blendFunc:[1,0,32771,0],blendEquation:32774};class Zz extends UO{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:u},pass:h="picking",redrawReason:p,pickZ:g}){const m=this.gl;return this.pickZ=g,fc(m,Cn(ot({scissorTest:!0,scissor:[a,l,c,u],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},Qz),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:h,redrawReason:p})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:Cn(ot({},Qz),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return ot(ot({},e.props.parameters),i)}}class Yhe{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new Whe(e),this.pickLayersPass=new Zz(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||Fs.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(Cn(ot({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,To("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new Fs(this.gl),new Fs(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const Khe={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function Xhe({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,p=0;for(let g=0;gu)p+=4*l;else for(let C=0;C=0){const U=C+o-t,de=U*U+w;de<=u&&(u=de,h=p)}p+=4}}if(h>=0){const g=n[h+3]-1,m=n.slice(h,h+4),w=e[g];if(w){const C=w.decodePickingColor(m),H=Math.floor(h/4/l);return{pickedColor:m,pickedLayer:w,pickedObjectIndex:C,pickedX:o+(h/4-H*l),pickedY:a+H}}Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return Khe}function Jz({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,u=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(p=>i({layer:l,viewport:p,isPicking:!0,renderPass:"picking:".concat(e)}))),h=u&&u.unproject([s-u.x,o-u.y],{targetZ:a});return{color:null,layer:null,viewport:u,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:h,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function Zhe(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const h=t.index,p=t.layerId,g=o&&o.props.id;if(g!==p||a!==h){if(g!==p){const m=r.find(w=>w.props.id===p);m&&l.unshift(m)}t.layerId=g,t.index=a,t.info=null}}const c=Jz(n),u=new Map;return u.set(null,c),l.forEach(h=>{let p=ot({},c);h===o&&(p.color=s,p.index=a,p.picked=!0),p=e4({layer:h,info:p,mode:i}),h===o&&"hover"===i&&(t.info=p),u.set(p.layer.id,p),"hover"===i&&p.layer.updateAutoHighlight(p)}),u}function e4({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class efe{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new Zz(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(p=>p.id===o):null,c=a&&r.find(p=>p.id===a)||r[0],u=c&&c.unproject([e-c.x,t-c.y]),h={x:e,y:t,viewport:c,coordinate:u,layer:l};return l?ot(ot({},s),h):Object.assign(h,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new Fs(e),Fs.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new Fs(e),this.depthFBO.attach({36064:new _a(e,{format:Si(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(Ri.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:u}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:Jz({viewports:i,x:r,y:s})};this._resizeBuffer();const h=jg(this.gl),p=nI(this.gl,[r,s],!0),g=[p.x+Math.floor(p.width/2),p.y+Math.floor(p.height/2)],m=Math.round(o*h),{width:w,height:C}=this.pickingFBO,H=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:m,deviceWidth:w,deviceHeight:C});let U;const de=[],Ae={};for(let Pe=0;Pe=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:u,deviceRect:{x:g,y:H,width:w.x+w.width-g,height:m-H},pass:"picking:".concat(l),redrawReason:l}),layers:e}),Pe=new Map,Be=Number.isFinite(c);for(let et=0;et=c);et++){const wt=Ae[et];let vt={color:wt.pickedColor,layer:null,index:wt.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:h};vt=e4({layer:wt.pickedLayer,info:vt,mode:l}),Pe.has(vt.object)||Pe.set(vt.object,vt)}return Array.from(Pe.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:u,y:h,width:p,height:g}=s,m=new(l?Float32Array:Uint8Array)(p*g*4);return _S(c,{sourceX:u,sourceY:h,sourceWidth:p,sourceHeight:g,target:m}),m}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const tfe={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class nfe{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,tfe),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function t4(n,e){if(!n)throw new Error(e)}const nu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},n4=nu.global||nu.self||nu.window,rfe="object"!=typeof process||"[object process]"!==String(process)||process.browser,i4="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:sfe}=(i4&&parseFloat(i4[1]),n4),$O="undefined"!=typeof Image,WO="undefined"!=typeof ImageBitmap,ofe=Boolean(sfe),qO=!!rfe||ofe;function r4(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function s4(n){switch(r4(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const cfe=/^data:image\/svg\+xml/,ufe=/\.svg((\?|#).*)?$/;function YO(n){return n&&(cfe.test(n)||ufe.test(n))}function dfe(n,e){if(YO(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return a4(n,e)}function a4(n,e){if(YO(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function l4(n,e,t){return KO.apply(this,arguments)}function KO(){return(KO=oi(function*(n,e,t){const i=dfe(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield hfe(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function hfe(n,e){return XO.apply(this,arguments)}function XO(){return(XO=oi(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const ffe={};let c4=!0;function pfe(n,e,t){return QO.apply(this,arguments)}function QO(){return(QO=oi(function*(n,e,t){let i;i=YO(t)?yield l4(n,e,t):a4(n,t);const r=e&&e.imagebitmap;return yield gfe(i,r)})).apply(this,arguments)}function gfe(n){return ZO.apply(this,arguments)}function ZO(){return(ZO=oi(function*(n,e=null){if((mfe(e)||!c4)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),c4=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function mfe(n){for(const e in n||ffe)return!1;return!0}const iu=!1,Y0=!0;function JO(n){const e=K0(n);return function(n){const e=K0(n);return e.byteLength>=24&&2303741511===e.getUint32(0,iu)?{mimeType:"image/png",width:e.getUint32(16,iu),height:e.getUint32(20,iu)}:null}(e)||function(n){const e=K0(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,iu)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,iu)?{mimeType:"image/gif",width:e.getUint16(6,Y0),height:e.getUint16(8,Y0)}:null}(e)||function(n){const e=K0(n);return e.byteLength>=14&&16973===e.getUint16(0,iu)&&e.getUint32(2,Y0)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Y0),height:e.getUint32(22,Y0)}:null}(e)}function K0(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function Efe(n,e){const{mimeType:t}=JO(n)||{},{_parseImageNode:i}=n4;return t4(i),i(n,t,e)}function eR(){return(eR=oi(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(xfe(r)){case"imagebitmap":a=yield pfe(n,e,s);break;case"image":a=yield l4(n,e,s);break;case"data":a=yield Efe(n,e);break;default:t4(!1)}return"data"===r&&(a=s4(a)),a})).apply(this,arguments)}function xfe(n){switch(n){case"auto":case"data":return function(){if(WO)return"imagebitmap";if($O)return"image";if(qO)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return WO||$O||qO;case"imagebitmap":return WO;case"image":return $O;case"data":return qO;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const tR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return eR.apply(this,arguments)},tests:[n=>Boolean(JO(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var nm=Je(761);const Afe={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},X0="8.5.8",JS=nm.CO.deck&&nm.CO.deck.VERSION;if(JS&&JS!==X0)throw new Error("deck.gl - multiple versions detected: ".concat(JS," vs ").concat(X0));JS||(Ri.log(1,"deck.gl ".concat(X0))(),nm.CO.deck=Object.assign(nm.CO.deck||{},{VERSION:X0,version:X0,log:Ri,_registerLoggers:function(n){AI=n}}),Nz([Afe,[tR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const Tfe=nm.CO.deck;class ex extends Wu{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=Si(e),r=vV(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:tn(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return ex.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const u4=mS()&&"undefined"!=typeof document;let Lfe=0;class Bfe{constructor(e={}){const{onCreateContext:t=(C=>eV(C)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:u=!1,createFramebuffer:h=!1,autoResizeViewport:p=!0,autoResizeDrawingBuffer:g=!0,stats:m=If.get("animation-loop-"+Lfe++)}=e;let{useDevicePixels:w=!0}=e;"useDevicePixelRatio"in e&&(mn.deprecated("useDevicePixelRatio","useDevicePixels")(),w=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:u,createFramebuffer:h},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=m,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:p,autoResizeDrawingBuffer:g,useDevicePixels:w}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return tn("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=ex.isSupported(this.gl,["timers"])?new ex(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return oi(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return mn.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=u4?new Promise((e,t)=>{u4&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?rI(this.props.gl,e):this.onCreateContext(e),!pS(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){$u(n,tI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(mn.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(mn.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new Fs(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var jfe=Je(524),tx=Je.n(jfe);const Vfe={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(tx().MouseInput);const Gfe=tx().Manager,ru=tx(),$fe=ru?[[ru.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[ru.Rotate,{enable:!1}],[ru.Pinch,{enable:!1}],[ru.Swipe,{enable:!1}],[ru.Pan,{threshold:0,enable:!1}],[ru.Press,{enable:!1}],[ru.Tap,{event:"doubletap",taps:2,enable:!1}],[ru.Tap,{event:"anytap",enable:!1}],[ru.Tap,{enable:!1}]]:null,f4={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},Wfe={doubletap:["tap"]},qfe={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},iR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},Yfe={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},p4={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},Kfe="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",im="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let g4=!1;try{const n={get passive(){return g4=!0,!0}};im.addEventListener("test",n,n),im.removeEventListener("test",n,n)}catch(n){}const Xfe=-1!==Kfe.indexOf("firefox"),{WHEEL_EVENTS:Qfe}=iR,_4=4.000244140625;class epe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=Qfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!g4&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;im.WheelEvent&&(Xfe&&e.deltaMode===im.WheelEvent.DOM_DELTA_PIXEL&&(t/=im.devicePixelRatio),e.deltaMode===im.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%_4==0&&(t=Math.floor(t/_4)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:tpe}=iR,y4="pointermove",b4="pointerover",v4="pointerout",w4="pointerleave";class npe{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=tpe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===y4&&(this.enableMoveEvent=t),e===b4&&(this.enableOverEvent=t),e===v4&&(this.enableOutEvent=t),e===w4&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:b4,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:v4,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:w4,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:y4,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:ipe}=iR,E4="keydown";class rpe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=ipe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===E4&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:E4,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const x4="contextmenu";class spe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===x4&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:x4,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const ope={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},C4={srcElement:"root",priority:0};class ype{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},C4,i):C4;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let u=l.length-1;for(;u>=0&&!(l[u].priority>=c.priority);)u--;l.splice(u+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&f4[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new epe(e,this._onOtherEvent,{enable:!1}),this.moveInput=new npe(e,this._onOtherEvent,{enable:!1}),this.keyInput=new rpe(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new spe(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=Wfe[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const u in e)this._addEventHandler(u,e[u],i,r,s);return}const{manager:o,events:a}=this,l=p4[e]||e;let c=a.get(l);c||(c=new ype(this),a.set(l,c),c.recognizerName=Yfe[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(p4[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=qfe[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function Lf(){}const A4={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:Lf,onResize:Lf,onViewStateChange:Lf,onInteractionStateChange:Lf,onBeforeRender:Lf,onAfterRender:Lf,onLoad:Lf,onError:(n,e)=>Ri.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class ix{constructor(e){e=ot(ot({},A4),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&Ri.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,nm.qs)()&&Ri.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new sI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&x0.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&Ri.removed("onLayerHover","onHover")(),"onLayerClick"in e&&Ri.removed("onLayerClick","onClick")(),e.initialViewState&&!W0(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](ot({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),pc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:u,autoResizeDrawingBuffer:h}=e;return new Bfe({width:t,height:i,useDevicePixels:u,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:p=>eV(Cn(ot(ot({},s),p),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:p=>this._setGLContext(p.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new Hhe({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,rI(e,{enable:!0,copyState:!0})),this.tooltip=new nfe(this.canvas),$u(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new Kz;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new vpe(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in Bj)this.eventManager.on(r,this._onEvent);this.viewManager=new jhe({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new Bhe(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new $he,this.deckRenderer=new Yhe(e),this.deckPicker=new efe(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;$u(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(ot({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Ri.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Cn(ot({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=Bj[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=If.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}ix.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(Wz)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},ix.defaultProps=A4,ix.VERSION=Tfe.VERSION;const rx={name:"project32",dependencies:[zO],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},xpe={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},sx=ot({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=xpe){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),T4={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class fh{static get DRAW_MODE(){return T4}constructor(e={}){const{id:t=ga("geometry"),drawMode:i=T4.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?ot({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,tn(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(tn(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return tn(Number.isFinite(i)),i}}const M4=()=>{},Ipe={10241:9987,10240:9729,10242:33071,10243:33071};function Ope(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function Rpe(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function Q0(n){return n&&(n.id||n.url)}function D4(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(D4(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+p+e,s=Math.max(s,h)}}return a.length>0&&D4(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:Ope(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new _a(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:Ipe})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=_V(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=t;const{framebuffer:p,deleteFramebuffer:g}=S0(n);tn(p);const{gl:m,handle:w}=p,C=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const H=m.bindFramebuffer(36160,w);tn(e);let U=null;if(e instanceof Of&&(U=e,u=Number.isFinite(u)?u:U.width,h=Number.isFinite(h)?h:U.height,U.bind(0),e=U.target),C)switch(e){case 3553:case 34067:m.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:Co(m).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else m.copyTexImage2D(e,s,o,i,r,u,h,0);U&&U.unbind(),m.bindFramebuffer(36160,H||null),g&&p.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,G0(i.url,tR,this._loadOptions).then(r=>{const s=Q0(i),{x:o,y:a,width:l,height:c}=this._mapping[s],u=Rpe(t,r,l,c);this._texture.setSubImageData({data:u,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const I4=[0,0,0,255],Lpe={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:I4},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let Bpe=(()=>{class n extends $0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[rx,sx]})}initializeState(){this.state={iconManager:new kpe(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:I4},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:u}=this.state;u.setProps({loadOptions:i.loadOptions});let h=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&u.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(u.setProps({iconMapping:a}),h=!0)):u.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&u.setProps({data:l,getIcon:c}),h&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:m}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(m),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:u}=this.context,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===o?u.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Yg(t,Cn(ot({},this.getShaders()),{id:this.props.id,geometry:new fh({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):Ri.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=Lpe,n})();const R4=[],Vpe={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let Upe=(()=>{class n extends Bpe{getShaders(){return Cn(ot({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&Ri.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=Cn(ot({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):R4}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):R4}}return n.layerName="MultiIconLayer",n.defaultProps=Vpe,n})();var zpe=Je(2),Hpe=Je.n(zpe);const $pe=[];function Wpe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function N4(n,e,t,i){let r=0;for(let s=e;si&&(oa){let h=N4(n,a,l,r);c+h>i&&(oi&&(h=P4(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=h}}(n,r,s,t,i,o),o}function Xpe(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let p=0,g=0,m=0;for(let w=0;w<=s;w++){const C=n[w];if(("\n"===C||w===s)&&(m=w),m>g){const H=c?Kpe(n,t,i,r,g,m):$pe;for(let U=0;U<=H.length;U++){const de=0===U?g:H[U-1],Ae=Ui===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),nge=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function rge(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=oR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=oR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,oR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:u}=this.props;let h=i&&i.data;h||(h=document.createElement("canvas"),h.width=1024);const p=h.getContext("2d");$4(p,r,o,s);const{mapping:g,canvasHeight:m,xOffset:w,yOffset:C}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const p of n)if(!s[p]){const g=e(p,u++);c+g+2*i>r&&(c=0,l++),s[p]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const h=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:Wpe(a+(l+1)*h)}}(ot({getFontWidth:H=>p.measureText(H).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(h.height!==m){const H=p.getImageData(0,0,h.width,h.height);h.height=m,p.putImageData(H,0,0)}if($4(p,r,o,s),l){const H=new(Hpe())(o,a,c,u,r,s),U=p.getImageData(0,0,H.size,H.size);for(const de of t)rge(H.draw(de),U),p.putImageData(U,g[de].x-a,g[de].y+a)}else for(const H of t)p.fillText(H,g[H].x,g[H].y+.9*o);return{xOffset:w,yOffset:C,mapping:g,data:h,width:h.width,height:h.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const lge={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let cge=(()=>{class n extends $0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[rx,sx]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:u}=this.props;const h="pixels"===o?i.metersPerPixel:1;u.length<4&&(u=[u[0],u[1],u[0],u[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:u,sizeScale:s*h,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Yg(t,Cn(ot({},this.getShaders()),{id:this.props.id,geometry:new fh({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=lge,n})();const W4={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},q4={start:1,middle:0,end:-1},Y4={top:1,center:0,bottom:-1},aR=[0,0,0,255],dge=["fontSize","buffer","sdf","radius","cutoff"],hge={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:aR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:k4},fontFamily:L4,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:aR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:aR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let fge=(()=>{class n extends jz{initializeState(){this.state={styleVersion:0,fontAtlasManager:new sge}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(Cn(ot(ot({},W4),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return dge.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:u}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),u=s&&new Set,h=new Array(e);let p=n;if(a>1||l>0){p=new n.constructor(c);for(let g=0;gc[p]}else{const{iterable:c,objectInfo:u}=ES(t);o=[0],a=0;for(const h of c){u.index++;const p=Array.from(s(h,u)||"");l&&p.forEach(l.add,l),a+=p.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{size:[p,g]}=F4(h,l,o,a,r);return[(q4["function"==typeof c?c(t,i):c]-1)*p/2,(Y4["function"==typeof u?u(t,i):u]-1)*g/2,p,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{x:p,y:g,rowWidth:m,size:[w,C]}=F4(h,l,o,a,r),H=q4["function"==typeof c?c(t,i):c],U=Y4["function"==typeof u?u(t,i):u],de=p.length,Ae=new Array(2*de);let Pe=0;for(let Be=0;Bet*e/255)}const cR={name:"lights",vs:K4,fs:K4,getUniforms:function X4(n=pge){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?lR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=lR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=lR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return X4({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},mge={};const yge={name:"phong-lighting",dependencies:[cR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=mge){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},uR=Math.PI/180,ox=new Float32Array(16),J4=new Float32Array(12);function e8(n,e,t){const i=e[0]*uR,r=e[1]*uR,s=e[2]*uR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),p=t[0],g=t[1],m=t[2];n[0]=p*h*u,n[1]=p*l*u,n[2]=p*-a,n[3]=g*(-l*c+h*a*o),n[4]=g*(h*c+l*a*o),n[5]=g*u*o,n[6]=m*(l*o+h*a*c),n[7]=m*(-h*o+l*a*c),n[8]=m*u*c}function t8(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const n8={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),p=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:h&&u&&p;const m=n.value;if(n.constant){let w;g?(ox.set(a),w=t8(ox)):(w=J4,e8(w,r,s),w.set(o,9)),n.value=new Float32Array(w)}else{let w=e*n.size;const{iterable:C,objectInfo:H}=ES(i,e,t);for(const U of C){let de;H.index++,g?(ox.set(c?a:a(U,H)),de=t8(ox)):(de=J4,e8(de,h?r:r(U,H),u?s:s(U,H)),de.set(p?o:o(U,H),9)),m[w++]=de[0],m[w++]=de[1],m[w++]=de[2],m[w++]=de[3],m[w++]=de[4],m[w++]=de[5],m[w++]=de[6],m[w++]=de[7],m[w++]=de[8],m[w++]=de[9],m[w++]=de[10],m[w++]=de[11]}}}};function i8(n,e){return e===ji.CARTESIAN||e===ji.METER_OFFSETS||e===ji.DEFAULT&&!n.isGeospatial}function r8(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),Ri.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function wge(n,e){if(n.attributes)return r8(n.attributes,e),n instanceof fh?n:new fh(n);if(n.positions||n.POSITION)return r8(n,e),new fh({attributes:n});throw Error("Invalid mesh")}const Ege={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let Sge=(()=>{class n extends $0{getShaders(){const t=!Si(this.context.gl),i={};return gI(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[rx,yge,sx],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:n8}),this.setState({emptyTexture:new _a(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||i8(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Yg(this.context.gl,Cn(ot({},this.getShaders()),{id:this.props.id,geometry:wge(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=Ege,n})();const s8={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[cR]};class rm{constructor(e={}){const{id:t}=e;this.id=t||ga(this.constructor.name),this.display=!0,this.position=new Ao,this.rotation=new Ao,this.scale=new Ao(1,1,1),this.matrix=new qn,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return tn(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return tn(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return tn(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){tn(e),t=t||this.matrix;const i=new qn(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class Z0 extends rm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;mn.assert(t.every(i=>i instanceof rm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new qn}={}){const i=new qn(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof Z0?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function o8(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=t[0],g=t[1],m=t[2],w=t[3],C=t[4],H=t[5],U=t[6],de=t[7],Ae=t[8];return n[0]=p*i+g*o+m*c,n[1]=p*r+g*a+m*u,n[2]=p*s+g*l+m*h,n[3]=w*i+C*o+H*c,n[4]=w*r+C*a+H*u,n[5]=w*s+C*l+H*h,n[6]=U*i+de*o+Ae*c,n[7]=U*r+de*a+Ae*u,n[8]=U*s+de*l+Ae*h,n}function a8(n,e,t){var i=t[0],r=t[1];return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=r*e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n}function l8(){var n=new ya(4);return ya!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function c8(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function dR(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function ax(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],u=t[3];return n[0]=i*u+o*a+r*c-s*l,n[1]=r*u+o*l+s*a-i*c,n[2]=s*u+o*c+i*l-r*a,n[3]=o*u-i*a-r*l-s*c,n}function u8(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a,n}function d8(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a,n}function h8(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a,n}function f8(n,e){var t=e[0],i=e[1],r=e[2];return n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r)),n}function J0(n,e,t,i){var p,g,m,w,C,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],u=t[2],h=t[3];return(g=r*l+s*c+o*u+a*h)<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>Qc?(p=Math.acos(g),m=Math.sin(p),w=Math.sin((1-i)*p)/m,C=Math.sin(i*p)/m):(w=1-i,C=i),n[0]=w*r+C*l,n[1]=w*s+C*c,n[2]=w*o+C*u,n[3]=w*a+C*h,n}function p8(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;return n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a,n}function g8(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3],n}function hR(n,e){var i,t=e[0]+e[4]+e[8];if(t>0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}return n}var m8=function(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},fR=FU,pR=function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},_8=function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];return n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a),n},y8=function(n){return Math.hypot(n[0],n[1],n[2],n[3])},b8=function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r},w8=function(){var n=xV(),e=CV(1,0,0),t=CV(0,1,0);return function(i,r,s){var o=AV(r,s);return o<-.999999?(A0(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&A0(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),dR(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(A0(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();l8(),l8(),function(){var n=new ya(9);ya!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const Nge=[0,0,0,1];class gR extends bS{constructor(e=0,t=0,i=0,r=1){super(-0,-0,-0,-0),Array.isArray(e)&&1===arguments.length?this.copy(e):this.set(e,t,i,r)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,i,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=r,this.check()}fromMatrix3(e){return hR(this,e),this.check()}identity(){return c8(this),this.check()}fromAxisRotation(e,t){return dR(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=sr(e)}get y(){return this[1]}set y(e){this[1]=sr(e)}get z(){return this[2]}set z(e){this[2]=sr(e)}get w(){return this[3]}set w(e){this[3]=sr(e)}len(){return y8(this)}lengthSquared(){return b8(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return pR(this,e)}rotationTo(e,t){return w8(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return m8(this,this,e),this.check()}calculateW(){return f8(this,this),this.check()}conjugate(){return g8(this,this),this.check()}invert(){return p8(this,this),this.check()}lerp(e,t,i){return _8(this,e,t,i),this.check()}multiplyRight(e,t){return Yu(!t),ax(this,this,e),this.check()}multiplyLeft(e,t){return Yu(!t),ax(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return u8(this,this,e),this.check()}rotateY(e){return d8(this,this,e),this.check()}rotateZ(e){return h8(this,this,e),this.check()}scale(e){return fR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=Nge,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return J0(this,e,t,i),this.check()}transformVector4(e,t=e){return kU(t,e,this),vS(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const Pge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Fge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function E8(n){if(!n._animation){const e=Fge[n.componentType],t=Pge[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(p=>p>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:mn.warn(`Bad animation path ${s}`)()}tn(r[s].length===i[c].length);const u=e[c],h=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;iu&&function(n,e,t,i,r){if("rotation"===e){mR.slerp({start:t,target:i,ratio:r});for(let s=0;su&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:E8(e.accessors[a]),interpolation:l,output:E8(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new zge({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class Gge extends rm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Yg?(this.model=e,this._setModelNodeProps(t)):this.model=new Yg(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class $ge{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},gI(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new _a(this.gl,ot({id:e.name||e.id,parameters:ot(ot({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(mn.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function S8(n,e){return Si(n)?`#version 300 es\n${e}`:e}const Kge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Xge={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class Qge{constructor(e,t={}){this.gl=e,this.options=Object.assign({},Xge,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new Hge(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new Z0({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new Z0({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new qn).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new Z0({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){mn.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new $ge(n,e);mn.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(u=>u.buffer));const c=new Gge(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[s8],defines:a.defines,parameters:a.parameters,vs:S8(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:S8(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),mn.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new hr(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new ma({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Kge[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function x8(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new sm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new sm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof sm){const o=e;t=o.fields,i=M8(M8(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new sm(s,i)}}function M8(n,e){return new Map([...n||new Map,...e||new Map])}let Lr,D8,I8,O8,R8,N8,P8,F8;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(Lr||(Lr={}));class _R{static isNull(e){return e&&e.typeId===Lr.Null}static isInt(e){return e&&e.typeId===Lr.Int}static isFloat(e){return e&&e.typeId===Lr.Float}static isBinary(e){return e&&e.typeId===Lr.Binary}static isUtf8(e){return e&&e.typeId===Lr.Utf8}static isBool(e){return e&&e.typeId===Lr.Bool}static isDecimal(e){return e&&e.typeId===Lr.Decimal}static isDate(e){return e&&e.typeId===Lr.Date}static isTime(e){return e&&e.typeId===Lr.Time}static isTimestamp(e){return e&&e.typeId===Lr.Timestamp}static isInterval(e){return e&&e.typeId===Lr.Interval}static isList(e){return e&&e.typeId===Lr.List}static isStruct(e){return e&&e.typeId===Lr.Struct}static isUnion(e){return e&&e.typeId===Lr.Union}static isFixedSizeBinary(e){return e&&e.typeId===Lr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===Lr.FixedSizeList}static isMap(e){return e&&e.typeId===Lr.Map}static isDictionary(e){return e&&e.typeId===Lr.Dictionary}get typeId(){return Lr.NONE}compareTo(e){return this===e}}Symbol,Symbol,D8=Symbol.toStringTag;class om extends _R{constructor(e,t){super(),Kn(this,"isSigned",void 0),Kn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return Lr.Int}get[D8](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class ame extends om{constructor(){super(!0,8)}}class lme extends om{constructor(){super(!0,16)}}class cme extends om{constructor(){super(!0,32)}}class ume extends om{constructor(){super(!1,8)}}class dme extends om{constructor(){super(!1,16)}}class hme extends om{constructor(){super(!1,32)}}I8=Symbol.toStringTag;class k8 extends _R{constructor(e){super(),Kn(this,"precision",void 0),this.precision=e}get typeId(){return Lr.Float}get[I8](){return"Float"}toString(){return`Float${this.precision}`}}class fme extends k8{constructor(){super(32)}}class pme extends k8{constructor(){super(64)}}Symbol,Symbol,O8=Symbol.toStringTag,R8=Symbol.toStringTag,N8=Symbol.toStringTag,P8=Symbol.toStringTag,F8=Symbol.toStringTag;class gme extends _R{constructor(e,t){super(),Kn(this,"listSize",void 0),Kn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return Lr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[F8](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class lx{constructor(e,t,i=!1,r=new Map){Kn(this,"name",void 0),Kn(this,"type",void 0),Kn(this,"nullable",void 0),Kn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new lx(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function L8(n,e,t){const i=t?B8(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new ame;case Uint8Array:return new ume;case Int16Array:return new lme;case Uint16Array:return new dme;case Int32Array:return new cme;case Uint32Array:return new hme;case Float32Array:return new fme;case Float64Array:return new pme;default:throw new Error("array type not supported")}}(e.value);return new lx(n,new gme(e.size,new lx("value",r)),!1,i)}function B8(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const j8={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},bme={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class wme{constructor(e){Kn(this,"draco",void 0),Kn(this,"decoder",void 0),Kn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?u:r,s=h>s?h:s,o=p>o?p:o}return[[e,t,i],[r,s,o]]}(l.attributes),u=function(n,e,t){const i=B8(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=L8(o,n[o],s[o]);r.push(l)}if(t){const o=L8("indices",t);r.push(o)}return new sm(r,i)}(l.attributes,a,l.indices);return Cn(ot({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:u})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var cx=Je(125);const wR={};function ER(n){return SR.apply(this,arguments)}function SR(){return(SR=oi(function*(n,e=null,t={}){return e&&(n=Ame(n,e,t)),wR[n]=wR[n]||Tme(n),yield wR[n]})).apply(this,arguments)}function Ame(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:mO?t.CDN?(Jc(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):_O?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function Tme(n){return xR.apply(this,arguments)}function xR(){return(xR=oi(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():mO?_O?importScripts(n):Mme(yield(yield fetch(n)).text(),n):cx.requireFromFile&&(yield cx.requireFromFile(n))})).apply(this,arguments)}function Mme(n,e){if(!mO)return cx.requireFromString&&cx.requireFromString(n,e);if(_O)return eval.call(jue,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const Dme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",Ime="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",Ome="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let eb;function Nme(n){return CR.apply(this,arguments)}function CR(){return(CR=oi(function*(n){const e=n.modules||{};return eb=e.draco3d?eb||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):eb||Pme(n),yield eb})).apply(this,arguments)}function Pme(n){return TR.apply(this,arguments)}function TR(){return(TR=oi(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield ER(Dme,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield ER(Ime,"draco",n),yield ER(Ome,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield Fme(e,t)})).apply(this,arguments)}function Fme(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(Cn(ot({},t),{onModuleLoaded:r=>i({draco:r})}))})}const DR=Cn(ot({},T8),{parse:function(n,e){return IR.apply(this,arguments)}});function IR(){return(IR=oi(function*(n,e){const{draco:t}=yield Nme(e),i=new wme(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function nb(n,e){return Ff(n>=0),Ff(e>0),n+(e-1)&~(e-1)}function Bme(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+nb(i.byteLength,4)}const V8=["SCALAR","VEC2","VEC3","VEC4"],jme=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],Vme=new Map(jme),Ume={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},zme={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Hme={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function U8(n){return V8[n-1]||V8[0]}function z8(n){const e=Vme.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function H8(n,e){const t=Hme[n.componentType],i=Ume[n.type],s=n.count*i,o=n.count*i*zme[n.componentType];return Ga(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const Gme={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class gh{constructor(e){Kn(this,"gltf",void 0),Kn(this,"sourceBuffers",void 0),Kn(this,"byteLength",void 0),this.gltf=e||{json:ot({},Gme),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return Ga(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=H8(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return Ga(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return Ga(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=JO(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;Ga(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=nb(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:U8(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:z8(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=Bme(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*t_e(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function n_e(n){return NR.apply(this,arguments)}function NR(){return(NR=oi(function*(n){const e=new gh(n),{json:t}=e;e.removeExtension(dx);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,dx)})).apply(this,arguments)}function i_e(n){const e=new gh(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,dx,{}),e.addExtension(dx))}function r_e(n){return PR.apply(this,arguments)}function PR(){return(PR=oi(function*(n){const e=new gh(n),{json:t}=e,i=e.getExtension(am);i&&(e.json.lights=i.lights,e.removeExtension(am));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,am);s&&(r.light=s.light),e.removeObjectExtension(r,am)}})).apply(this,arguments)}function s_e(n){return FR.apply(this,arguments)}function FR(){return(FR=oi(function*(n){const e=new gh(n),{json:t}=e;if(t.lights){const i=e.addExtension(am);Ga(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,am,i);delete e.json.lights}})).apply(this,arguments)}function o_e(n){return kR.apply(this,arguments)}function kR(){return(kR=oi(function*(n){const e=new gh(n),{json:t}=e,i=e.getExtension(hx);if(i){const r=l_e(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,hx);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=c_e(s.technique,e)),e.removeObjectExtension(s,hx)}e.removeExtension(hx)}})).apply(this,arguments)}function a_e(n,e){return LR.apply(this,arguments)}function LR(){return(LR=oi(function*(n,e){})).apply(this,arguments)}function l_e(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function c_e(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const W8={KHR_draco_mesh_compression:yt,KHR_materials_unlit:ee,KHR_lights_punctual:Tt,KHR_techniques_webgl:dt};function u_e(n){return BR.apply(this,arguments)}function BR(){return(BR=oi(function*(n,e={},t){for(const r in W8){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield W8[r].decode(n,e,t))}})).apply(this,arguments)}const q8={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},h_e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class f_e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new gh(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,G8);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(G8)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in q8)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in q8)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=h_e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function p_e(n,e={}){return(new f_e).normalize(n,e)}const g_e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},m_e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Ml={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},__e={magFilter:Ml.TEXTURE_MAG_FILTER,minFilter:Ml.TEXTURE_MIN_FILTER,wrapS:Ml.TEXTURE_WRAP_S,wrapT:Ml.TEXTURE_WRAP_T},y_e={[Ml.TEXTURE_MAG_FILTER]:Ml.LINEAR,[Ml.TEXTURE_MIN_FILTER]:Ml.NEAREST_MIPMAP_LINEAR,[Ml.TEXTURE_WRAP_S]:Ml.REPEAT,[Ml.TEXTURE_WRAP_]:Ml.REPEAT};class w_e{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return Ga(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=ot({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=ot({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=ot({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=ot({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=ot({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=ot({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=ot({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return m_e[n]}(e.componentType),e.components=function(n){return g_e[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=H8(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):y_e,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return __e[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function E_e(n,e){return(new w_e).postProcess(n,e)}const Y8=1735152710,lm=!0;function VR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),nb(i,4)}function UR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),nb(i,4)}function P_e(n,e){return zR.apply(this,arguments)}function zR(){return(zR=oi(function*(n,e,t=0,i,r){var s,o,a,l;F_e(n,e,t,i),p_e(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield k_e(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const h=L_e(n,i,r);c.push(h)}const u=u_e(n,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?E_e(n,i):n})).apply(this,arguments)}function F_e(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=Y8}=t,s=i.getUint32(e,!1);return s===r||s===Y8}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?x8(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?x8(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,lm),a=r.getUint32(t+8,lm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){Ff(n.header.byteLength>20);const i=e.getUint32(t+0,lm),r=e.getUint32(t+4,lm);return t+=8,Ff(0===r),VR(n,e,t,i),(t+=i)+UR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return Ff(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,lm),s=e.getUint32(t+4,lm);switch(t+=8,s){case 1313821514:VR(n,e,t,r);break;case 5130562:UR(n,e,t,r);break;case 0:i.strict||VR(n,e,t,r);break;case 1:i.strict||UR(n,e,t,r)}t+=nb(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),Ga("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else Ga(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function k_e(n,e,t){return HR.apply(this,arguments)}function HR(){return(HR=oi(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield U_e(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function U_e(n){return YR.apply(this,arguments)}function YR(){return(YR=oi(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const K8=[255,255,255,255],G_e={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:K8},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[cm]};let $_e=(()=>{class n extends $0{getShaders(){const t=[rx,sx];return"pbr"===this.props._lighting&&t.push(s8),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:K8,transition:!0},instanceModelMatrix:n8})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof rm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new Qge(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=ot({gltf:l},c),function(n){return qR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Ri.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof rm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&Ri.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):Ri.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof rm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:ot({isInstanced:!0,transpileToGLSL100:!Si(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:u}=this.props,h=this.getNumInstances();this.state.scenegraph.traverse((p,{worldMatrix:g})=>{p.model.setInstanceCount(h),p.updateModuleSettings(t),p.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:i8(s,u),sceneModelMatrix:g,u_Camera:p.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=G_e,n})();class W_e extends fh{constructor(e={}){const{id:t=ga("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,u=(e+1)*(t+1);if("number"==typeof i){const H=i;i=(U,de,Ae,Pe,Be)=>H}const h=new Float32Array(3*u),p=new Float32Array(3*u),g=new Float32Array(2*u),w=new(u>65535?Uint32Array:Uint16Array)(e*t*6);for(let H=0;H<=e;H++)for(let U=0;U<=t;U++){const de=U/t,Ae=H/e,Pe=U+H*(t+1),Be=2*Pe,et=3*Pe,wt=c*de,vt=o*Ae,Ct=Math.sin(wt),Bt=Math.cos(wt),$t=Math.sin(vt),mt=Bt*$t,Vt=Math.cos(vt),ft=Ct*$t,qt=i(mt,Vt,ft,de,Ae);h[et+0]=qt*mt,h[et+1]=qt*Vt,h[et+2]=qt*ft,p[et+0]=mt,p[et+1]=Vt,p[et+2]=ft,g[Be+0]=de,g[Be+1]=1-Ae}const C=t+1;for(let H=0;Hs?(gt=i,$t=1,mt=t):mt=e+Bt/s*(t-e),(-2===Bt||Bt===s+2)&&(mt=0,$t=0),gt-=i/2;for(let Vt=0;Vts?0:ft*w,et[vt+Pe[1]]=Bt<0?-1:Bt>s?1:C,et[vt+Pe[2]]=Bt<0||Bt>s?0:qt*w,wt[Ct+0]=Vt/r,wt[Ct+1]=$t,Ct+=2,vt+=3}}for(let Bt=0;Bt0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new le){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new le){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new le){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new le){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new le){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=sye,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=oye;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(Q8),Q8.almostEquals(e,t)}clone(){return new le(this.x,this.y,this.z)}}le.ZERO=void 0,le.UNIT_X=void 0,le.UNIT_Y=void 0,le.UNIT_Z=void 0,le.ZERO=new le(0,0,0),le.UNIT_X=new le(1,0,0),le.UNIT_Y=new le(0,1,0),le.UNIT_Z=new le(0,0,1);const sye=new le,oye=new le,Q8=new le;class mr{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new le,this.upperBound=new le,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),r.set(c.x,u.y,u.z),s.set(u.x,c.y,u.z),o.set(c.x,u.y,c.z),a.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){const i=J8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=J8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,u=(this.upperBound.y-i.y)*s,h=(this.lowerBound.z-i.z)*o,p=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,u)),Math.min(h,p)),m=Math.min(Math.min(Math.max(a,l),Math.max(c,u)),Math.max(h,p));return!(m<0||g>m)}}const Z8=new le,J8=[new le,new le,new le,new le,new le,new le,new le,new le];class hs{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new le){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=lye;e.tangents(i,cye),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Er(e.length(),2)*Er(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new hs){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,u=e.w;return t.x=i*u+o*a+r*c-s*l,t.y=r*u+o*l+s*a-i*c,t.z=s*u+o*c+i*l-r*a,t.w=o*u-i*a-r*l-s*c,t}inverse(e=new hs){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new hs){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new le){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,u=c*i+a*s-l*r,h=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=u*c+g*-o+h*-l-p*-a,t.y=h*c+g*-a+p*-o-u*-l,t.z=p*c+g*-l+u*-a-h*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const u=o*a+l*c;if(u>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),u<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const h=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*u),s=Math.atan2(2*o*c-2*a*l,1-2*h-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"YXZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"ZXY"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"ZYX"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"YZX"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a-l*c*u):"XZY"===r&&(this.x=l*o*a-s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a+l*c*u),this}clone(){return new hs(this.x,this.y,this.z,this.w)}slerp(e,t,i=new hs){const r=this.x,s=this.y,o=this.z,a=this.w;let p,g,m,w,C,l=e.x,c=e.y,u=e.z,h=e.w;return g=r*l+s*c+o*u+a*h,g<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>1e-6?(p=Math.acos(g),m=Math.sin(p),w=Math.sin((1-t)*p)/m,C=Math.sin(t*p)/m):(w=1-t,C=t),i.x=w*r+C*l,i.y=w*s+C*c,i.z=w*o+C*u,i.w=w*a+C*h,i}integrate(e,t,i,r=new hs){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,u=this.z,h=this.w,p=.5*t;return r.x+=p*(s*h+o*u-a*c),r.y+=p*(o*h+a*l-s*u),r.z+=p*(a*h+s*c-o*l),r.w+=p*(-s*l-o*c-a*u),r}}const lye=new le,cye=new le,uye={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let _n=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=uye,n})();class Gi{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new le,this.quaternion=new hs,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return Gi.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return Gi.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new le){return i.vsub(e,r),t.conjugate(t5),t5.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new le){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new le){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new le){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const t5=new hs;class Bf extends _n{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:_n.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new le;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let u=!1;for(let h=0;h!==i.length;h++)if(i[h].almostEquals(r)||i[h].almostEquals(r)){u=!0;break}u||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ep&&(p=w,h=m)}const g=[];for(let m=0;m=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new le,u=new le,h=new le,p=new le,g=new le,m=new le;let w=Number.MAX_VALUE;const C=this;if(C.uniqueAxes)for(let H=0;H!==C.uniqueAxes.length;H++){i.vmult(C.uniqueAxes[H],c);const U=C.testSepAxis(c,e,t,i,r,s);if(!1===U)return!1;U0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){Bf.project(this,e,i,r,KR),Bf.project(t,e,s,o,XR);const l=KR[0],c=KR[1],u=XR[0],h=XR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?yn.STATIC:yn.DYNAMIC,typeof e.type==typeof yn.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=yn.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new le,this.quaternion=new hs,this.initQuaternion=new hs,this.previousQuaternion=new hs,this.interpolatedQuaternion=new hs,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new le,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new le,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new le,this.invInertia=new le,this.invInertiaWorld=new su,this.invMassSolve=0,this.invInertiaSolve=new le,this.invInertiaWorldSolve=new su,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new le(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new le(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new mr,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new le,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=yn.AWAKE,this.wakeUpAfterNarrowphase=!1,e===yn.SLEEPING&&this.dispatchEvent(yn.wakeupEvent)}sleep(){this.sleepState=yn.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Er(this.sleepSpeedLimit,2);t===yn.AWAKE&&ir?this.wakeUp():t===yn.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(yn.sleepEvent))}}updateSolveMassProperties(){this.sleepState===yn.SLEEPING||this.type===yn.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new le){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new le){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new le,s=new hs;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=fye,o=pye,a=this.quaternion,l=this.aabb,c=gye;for(let u=0;u!==r;u++){const h=e[u];a.vmult(t[u],s),s.vadd(this.position,s),a.mult(i[u],o),h.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===u?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=mye,r=_ye;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new le){if(this.type!==yn.DYNAMIC)return;this.sleepState===yn.SLEEPING&&this.wakeUp();const i=yye;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new le){if(this.type!==yn.DYNAMIC)return;const i=bye,r=vye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===yn.DYNAMIC&&(this.sleepState===yn.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new le){if(this.type!==yn.DYNAMIC)return;this.sleepState===yn.SLEEPING&&this.wakeUp();const i=t,r=wye;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=Eye;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new le){if(this.type!==yn.DYNAMIC)return;const i=Sye,r=xye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=Cye;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),px.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new le;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==yn.DYNAMIC&&this.type!==yn.KINEMATIC||this.sleepState===yn.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,h=this.invInertiaWorld,p=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*p.x,r.y+=a.y*g*p.y,r.z+=a.z*g*p.z;const m=h.elements,w=this.angularFactor,C=l.x*w.x,H=l.y*w.y,U=l.z*w.z;s.x+=e*(m[0]*C+m[1]*H+m[2]*U),s.y+=e*(m[3]*C+m[4]*H+m[5]*U),s.z+=e*(m[6]*C+m[7]*H+m[8]*U),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}yn.idCounter=0,yn.COLLIDE_EVENT_NAME="collide",yn.DYNAMIC=1,yn.STATIC=2,yn.KINEMATIC=4,yn.AWAKE=0,yn.SLEEPY=1,yn.SLEEPING=2,yn.wakeupEvent={type:"wakeup"},yn.sleepyEvent={type:"sleepy"},yn.sleepEvent={type:"sleep"};const fye=new le,pye=new hs,gye=new mr,mye=new su,_ye=new su,yye=new le,bye=new le,vye=new le,wye=new le,Eye=new le,Sye=new le,xye=new le,Cye=new le;new le,new le;class gx{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new le,this.rayToWorld=new le,this.hitNormalWorld=new le,this.hitPointWorld=new le,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let n5,i5,r5,s5,o5,a5,l5;n5=_n.types.SPHERE,i5=_n.types.PLANE,r5=_n.types.BOX,s5=_n.types.CYLINDER,o5=_n.types.CONVEXPOLYHEDRON,a5=_n.types.HEIGHTFIELD,l5=_n.types.TRIMESH;class bs{get[n5](){return this._intersectSphere}get[i5](){return this._intersectPlane}get[r5](){return this._intersectBox}get[s5](){return this._intersectConvex}get[o5](){return this._intersectConvex}get[a5](){return this._intersectHeightfield}get[l5](){return this._intersectTrimesh}constructor(e=new le,t=new le){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new le,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=bs.ANY,this.result=new gx,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||bs.ANY,this.result=t.result||new gx,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(c5),eN.length=0,e.broadphase.aabbQuery(e,c5,eN),this.intersectBodies(eN),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=Rye,s=Nye;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new le(0,0,1);t.vmult(c,c);const u=new le;o.vsub(i,u);const h=u.dot(c);if(a.vsub(i,u),h*u.dot(c)>0||o.distanceTo(a)=0&&w<=1&&(o.lerp(a,w,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1)),this.result.shouldStop)return;C>=0&&C<=1&&(o.lerp(a,C,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Bye,l=d5,c=o&&o.faceList||null,u=e.faces,h=e.vertices,p=e.faceNormals,g=this.direction,m=this.from,C=m.distanceTo(this.to),H=c?c.length:u.length,U=this.result;for(let de=0;!U.shouldStop&&deC||this.reportIntersection(a,ba,s,r,Ae)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=jye,l=$ye,c=Wye,u=d5,h=Vye,p=Uye,g=zye,m=Gye,w=Hye,C=e.indices,H=this.from,U=this.to,de=this.direction;c.position.copy(i),c.quaternion.copy(t),Gi.vectorToLocalFrame(i,t,de,h),Gi.pointToLocalFrame(i,t,H,p),Gi.pointToLocalFrame(i,t,U,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,p.x*=e.scale.x,p.y*=e.scale.y,p.z*=e.scale.z,g.vsub(p,h),h.normalize();const Ae=p.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let Pe=0,Be=l.length;!this.result.shouldStop&&Pe!==Be;Pe++){const et=l[Pe];e.getNormal(et,a),e.getVertex(C[3*et],yc),yc.vsub(p,u);const wt=h.dot(a),vt=a.dot(u)/wt;if(vt<0)continue;h.scale(vt,ba),ba.vadd(p,ba),e.getVertex(C[3*et+1],au),e.getVertex(C[3*et+2],lu);const Ct=ba.distanceSquared(p);!bs.pointInTriangle(ba,au,yc,lu)&&!bs.pointInTriangle(ba,yc,au,lu)||Ct>Ae||(Gi.vectorToWorldFrame(t,a,w),Gi.pointToWorldFrame(i,t,ba,m),this.reportIntersection(w,m,s,r,et))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case bs.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case bs.CLOSEST:(l=0&&(h=s*c-o*a)>=0&&u+hDate.now()-n}var Hf=Je(517);class Br extends se{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new $;return this._value}next(e){super.next(this._value=e)}}function fm(n,e,t){e||(e=new qn(qn.IDENTITY));const i=new qn(qn.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new qn(qn.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new qn(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===fm(s,r,t))return!1;return!0}function n6(){Nz([T8,cm])}function i6(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||fm(s,new qn(qn.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function rN(n,e){return Fi(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield WS(i,cm,{DracoLoader:DR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),i6(n.scenegraphNode,r)})}function qve(n,e){return Fi(this,void 0,void 0,function*(){return i6(n,yield e)})}function sN(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new W_e;break;case"cone":i=new X_e;break;case"cylinder":i=new Q_e;break;case"cube":default:i=new iye}return new Sge(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:ji.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function r6(n,e,t){if(e&&0!==e.length)return new fge(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new qn(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let Kve=(()=>{class n extends jz{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),n6()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=rN({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const u of c)a.push(new $_e({id:"models-"+u["@id"],opacity:u.zoomBasedOpacity?r.zoomOpacity:void 0!==u.opacity?u.opacity:1,pickable:!u.unpickable,coordinateSystem:ji.CARTESIAN,data:[u],scenegraph:u.scenegraphNode?qve(u.scenegraphNode,o[u.scenegraph]):u.scenegraph,_lighting:u._lighting,getTransformMatrix:u.transformMatrix,getColor:null!==(i=u.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!u.zoomBasedOpacity&&(void 0===u.opacity||1===u.opacity)}}));else"text"===l?(a.push(r6("text",c.filter(u=>u.unpickable),{pickable:!1})),a.push(r6("textPickable",c.filter(u=>!u.unpickable),{pickable:!0}))):"wireframe"===l?a.push(sN(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(sN(l,c.filter(u=>u.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(sN(`${l}Pickable`,c.filter(u=>!u.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){Fi(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new qn(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new mr({lowerBound:new le(...l.map((u,h)=>Math.min(u,c[h]))),upperBound:new le(...c.map((u,h)=>Math.max(u,l[h])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield G0(o.scenegraph,cm,{DracoLoader:DR,decompress:!0,postProcess:!0});for(const l of a.scenes)fm(l,new qn(o.transformMatrix),(c,u)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const h of c.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const p=u.transformAsPoint(h.attributes.POSITION.min,[]),g=u.transformAsPoint(h.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new mr({lowerBound:new le(...p.map((m,w)=>Math.min(m,g[w]))),upperBound:new le(...g.map((m,w)=>Math.max(m,p[w])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function s6(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),s6(t,e);return e}let Qve=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new Kve({}),this.nodeClickSubject=new se,this.nodeHoverStartSubject=new se,this.nodeHoverStopSubject=new se,this.sceneRotationSubject=new Br([0,0]),this.nodeDragStartSubject=new se,this.nodeDragSubject=new se,this.nodeDragEndSubject=new se,this.nodeClick$=this.nodeClickSubject.pipe(Es()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(Es()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(Es()),this.sceneRotation$=this.sceneRotationSubject.pipe(Es()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(Es()),this.nodeDrag$=this.nodeDragSubject.pipe(Es()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(Es());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new Kde({flipY:!1,near:-1e3}):new Zde({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var u;return null!==(u=this.cursor)&&void 0!==u?u:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new GO({ambientLight:new Gz({color:[255,255,255],intensity:10})})]),this.deck=new ix(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return Fi(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new qn([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t,i){return Fi(this,void 0,void 0,function*(){n6();const r=yield rN({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"},undefined),s={},o=[];for(const a of r.scenes)fm(a,e=new qn(e||qn.IDENTITY),(l,c)=>{const u={"@id":l.name||l.id,"@type":"ProcessedNode",transformMatrix:new qn(c),geometry:"wireframe",node:l};if(o.push({"@id":`GLTF:${u["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:u["@id"],transformMatrix:new qn(e||qn.IDENTITY),tooltip:l.name||l.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:l}),l.mesh&&l.mesh.primitives&&l.mesh.primitives.length>0)for(const h of l.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const p=c.transformAsPoint(h.attributes.POSITION.min,[]),g=c.transformAsPoint(h.attributes.POSITION.max,[]);u.bbox=new mr({lowerBound:new le(...p.map((m,w)=>Math.min(m,g[w]))),upperBound:new le(...g.map((m,w)=>Math.max(m,p[w])))})}return s[u["@id"]]=u,!0});for(const a of Object.values(s).filter(l=>!l.bbox)){for(const l of s6(a.node).map(c=>s[c]).filter(c=>c.bbox))a.bbox?a.bbox.extend(l.bbox):a.bbox=l.bbox.clone();a.bbox||delete s[a["@id"]]}for(const a of Object.values(s)){const l=a.bbox.lowerBound,h=(a.size=a.bbox.upperBound.clone().vsub(l)).clone().vmul(new le(.5,.5,.5)),p=a.center=l.clone().vadd(h);a.transformMatrix=new qn(qn.IDENTITY).translate(p.toArray()).scale(h.toArray())}for(const a of o)s[a["@id"]]=a;return s})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new qn(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return rr([Hf.ZP],n.prototype,"_onHover",null),rr([Hf.ZP],n.prototype,"_onClick",null),rr([Hf.ZP],n.prototype,"_onViewStateChange",null),rr([Hf.ZP],n.prototype,"_onDragStart",null),rr([Hf.ZP],n.prototype,"_onDrag",null),rr([Hf.ZP],n.prototype,"_onDragEnd",null),n})();function Zve(n,e){return n===e}function Jve(n,e,t){if(null===e||null===t||e.length!==t.length)return!1;const i=e.length;for(let r=0;r(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let oN=(()=>{class n{constructor(){this.bootstrap$=new kg(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const aN=new Ht("INITIAL_STATE_TOKEN");let nwe=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const o6=new Ht("Internals.StateContextFactory"),a6=new Ht("Internals.StateFactory");function ub(...n){if(1===n.length){const e=n[0];if(P(e))return Cx(e,null);if(Q(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Cx(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return Cx(n=1===n.length&&P(n[0])?n[0]:n,null).pipe(me(t=>e(...t)))}return Cx(n,null)}function Cx(n,e){return new I(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=u},error:u=>t.error(u),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((u,h,p)=>(u[h]=r[p],u),{}):r),t.complete())}}))}})}function Qi(n,e){return function(i){return i.lift(new iwe(n,e))}}class iwe{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new rwe(e,this.predicate,this.thisArg))}}class rwe extends y{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}function $a(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(u){let h;s++,!r||a?(a=!1,r=new kg(n,e,i),h=r.subscribe(this),o=u.subscribe({next(p){r.next(p)},error(p){a=!0,r.error(p)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):h=r.subscribe(this),this.add(()=>{s--,h.unsubscribe(),h=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}const l6=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function Wi(n){return e=>0===n?lS():e.lift(new owe(n))}class owe{constructor(e){if(this.total=e,this.total<0)throw new l6}call(e,t){return t.subscribe(new awe(e,this.total))}}class awe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function c6(n,e){return e?t=>t.pipe(c6((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new lwe(n))}class lwe{constructor(e){this.project=e}call(e,t){return t.subscribe(new cwe(e,this.project))}}class cwe extends ve{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new _t(this),i=this.destination;i.add(t);const r=N(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function Ax(n=null){return e=>e.lift(new uwe(n))}class uwe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new dwe(e,this.defaultValue))}}class dwe extends y{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function bc(n){return function(t){const i=new hwe(n),r=t.lift(i);return i.caught=r}}class hwe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new fwe(e,this.selector,this.caught))}}class fwe extends ve{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new _t(this);this.add(i);const r=N(t,i);r!==i&&this.add(r)}}}function _r(n){return e=>e.lift(new pwe(n))}class pwe{constructor(e){this.notifier=e}call(e,t){const i=new gwe(e),r=N(this.notifier,new _t(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class gwe extends ve{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function _h(){}function Yr(n,e,t){return function(r){return r.lift(new mwe(n,e,t))}}class mwe{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new _we(e,this.nextOrObserver,this.error,this.complete))}}class _we extends y{constructor(e,t,i,r){super(e),this._tapNext=_h,this._tapError=_h,this._tapComplete=_h,this._tapError=i||_h,this._tapComplete=r||_h,Y(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||_h,this._tapError=t.error||_h,this._tapComplete=t.complete||_h)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function rd(n,e){return t=>t.lift(new ywe(n,e))}class ywe{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new bwe(e,this.compare,this.keySelector))}}class bwe extends y{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}const Wa={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let u6=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(n){return"server"===n}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return gn.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return gn.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof gn||console.warn(Wa.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(Wc))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const d6=new Ht("ROOT_STATE_TOKEN"),h6=new Ht("FEATURE_STATE_TOKEN"),f6=new Ht("NGXS_PLUGINS"),p6=new Ht("NG_TEST_MODE"),g6=new Ht("NG_DEV_MODE"),sd="NGXS_META",m6="NGXS_OPTIONS_META",lN="NGXS_SELECTOR_META";let Gf=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=u6}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class vwe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const _6=new Ht("NGXS_EXECUTION_STRATEGY");function $f(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const y6=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},Tx=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),cN=n=>n&&"object"==typeof n&&!Array.isArray(n),uN=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(cN(n)&&cN(t))for(const i in t)cN(t[i])?(n[i]||Object.assign(n,{[i]:{}}),uN(n[i],t[i])):Object.assign(n,{[i]:t[i]});return uN(n,...e)};function dN(n){if(!n.hasOwnProperty(sd)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,sd,{value:e})}return db(n)}function db(n){return n[sd]}function fN(n){return n[lN]}function b6(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[$f(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Qi(t=>{const i=$f(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function Owe(){return me(n=>n.action)}function Mx(n){return e=>new I(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let Dx=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(_6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Pwe extends se{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let Ix=(()=>{class n extends Pwe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Fwe=(()=>{class n extends I{constructor(t,i){super(r=>{const s=t.pipe(Mx(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Ix),Oe(Dx))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const w6=n=>(...e)=>n.shift()(...e,(...i)=>w6(n)(...i));let Ox=(()=>{class n extends Br{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),pN=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(Oe(n,12),Oe(f6,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gN=(()=>{class n extends se{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),E6=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(oa),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(Mx(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?fn(this._stateStream.getValue()):ub(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!$f(t))return Fg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return w6([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe($a())}getActionResultStream(t){return this._actionResults.pipe(Qi(i=>i.action===t&&"DISPATCHED"!==i.status),Wi(1),$a())}createDispatchObservable(t){return t.pipe(c6(i=>{switch(i.status){case"SUCCESSFUL":return fn(this._stateStream.getValue());case"ERRORED":return Fg(i.error);default:return Yc}})).pipe($a())}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(Ix),Oe(gN),Oe(pN),Oe(Ox),Oe(Dx))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const S6=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&S6(n[i])}),n};let x6=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(Oe(g6),Oe(p6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),C6=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(Wa.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(Wa.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(Oe(x6),Oe(Gf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=S6(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(Oe(Ox),Oe(E6),Oe(Gf),Oe(C6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Rx=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return Tx(l,t.path)}function s(l,c){const u=y6(l,t.path,c),h=t.instance;if(h.ngxsOnChanges){const p=v6(t,{currentAppState:l,newAppState:u});h.ngxsOnChanges(p)}return i.setState(u),u}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(Wa.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(Wa.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(gm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Nx{static stateNameErrorMessage(e){return Wa.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(Wa.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(Wa.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=db(e);if(!t)throw new Error(Wa.STATE_DECORATOR());return t}}Nx.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let mm=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=xx(()=>{const c=this;function u(p){const g=c.statePaths[p];return g?b6(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(p){let g=u(p);return g||((...m)=>(g||(g=u(p)),g?g(...m):void 0))},getSelectorOptions:p=>Object.assign({},c._config.selectorOptions,p||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(Nx.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[sd].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[sd];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[sd].name]=t,e),{})}(i),l=[];for(const c of s){const u=a[c],h=o[c],p=u[sd];this.addRuntimeInfoToMeta(p,h);const g={name:c,path:h,isInitialised:!1,actions:p.actions,instance:this._injector.get(u),defaults:n.cloneDefaults(p.defaults)};this.hasBeenMountedAndBootstrapped(c,h)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>y6(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Qi(t=>"DISPATCHED"===t.status),B(({action:t})=>this.invokeActions(this._actions,t).pipe(me(()=>({action:t,status:"SUCCESSFUL"})),Ax({action:t,status:"CANCELED"}),bc(i=>fn({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=$f(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let u=o.instance[l.fn](c,i);u instanceof Promise&&(u=je(u)),u instanceof I?(u=u.pipe(Ax({})),l.options.cancelUncompleted&&(u=u.pipe(_r(t.pipe(Mwe(i)))))):u=fn({}).pipe($a()),s.push(u)}catch(u){s.push(Fg(u))}}}return s.length||s.push(fn({})),ub(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=Nx.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==Tx(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(Gf),Oe(n,12),Oe(Ix),Oe(gN),Oe(Rx),Oe(aN,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),mN=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Qi(()=>!!i),Yr(()=>this.invokeInit(i.states)),B(()=>this.bootstrapper.appBootstrapped$),Qi(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=v6(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(gm),Oe(Rx),Oe(oN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Px_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function Lwe(n,e,t){const i=t&&t.containerClass,s=xx(function(...c){const u=e.apply(i,c);return u instanceof Function?xx.apply(null,[u]):u});Object.setPrototypeOf(s,e);const o=function(n,e){const t=function(n){return n.hasOwnProperty(lN)||Object.defineProperty(n,lN,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),fN(n)}(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},Px_getOptions(n.containerClass)||{},Px_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:u}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&db(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>T6(a)(n))}}(l,o,n);return function(p){const g=c.map(m=>m(p));try{return s(...g)}catch(m){if(m instanceof TypeError&&u.suppressErrors)return;throw m}}},s}function T6(n){const e=fN(n)||db(n);return e&&e.makeRootSelector||(()=>n)}let cu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(me(i),bc(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?fn(void 0):Fg(r)}),rd(),Mx(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(Wi(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(Mx(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return T6(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(Ox),Oe(gm),Oe(Gf),Oe(Dx),Oe(mm),Oe(aN,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),hb=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu),Oe(Gf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class zwe{static get type(){return"@@INIT"}}class Hwe{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const Fx=new kg(1);let $we=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&Ba();Fx.next(t)}catch(n){Fx.next(!1)}finally{Fx.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new zwe,l)}}return n.\u0275fac=function(t){return new(t||n)(Oe(mm),Oe(gm),Oe(cu),Oe(hb),Oe(d6,8),Oe(mN))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})(),Wwe=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new Hwe(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu),Oe(gm),Oe(mm),Oe(h6,8),Oe(mN))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();class Wo{static forRoot(e=[],t={}){return{ngModule:$we,providers:[mm,Rx,Fwe,Ix,oN,C6,x6,mN,E6,gN,gm,Dx,cu,Ox,hb,pN,...e,...Wo.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:Wwe,providers:[mm,pN,...e,{provide:h6,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:p6,useValue:twe},{provide:g6,useValue:Ba},{provide:_6,useClass:t.executionStrategy||u6},{provide:d6,useValue:e},{provide:Wo.ROOT_OPTIONS,useValue:t},{provide:Gf,useFactory:Wo.ngxsConfigFactory,deps:[Wo.ROOT_OPTIONS]},{provide:RE,useFactory:Wo.appBootstrapListenerFactory,multi:!0,deps:[oN]},{provide:aN,useFactory:Wo.getInitialState},{provide:o6,useExisting:Rx},{provide:a6,useExisting:mm}]}static ngxsConfigFactory(e){return uN(new Gf,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return nwe.pop()}}function _N(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(Wa.ACTION_DECORATOR());const s=dN(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function M6(n){return i=>{!function(n){Fx.subscribe(e=>{e&&(n.\u0275prov||console.warn(Wa.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=dN(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[m6]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,u="string"==typeof c?c:c&&c.getName()||null;Nx.checkCorrectStateName(u),s.hasOwnProperty(sd)&&(r.actions=Object.assign({},r.actions,(s[sd]||{}).actions)),r.children=a,r.defaults=l,r.name=u})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[m6]=a}}function kx(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?b6(t.length?[e,...t]:e.split("."),hb.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!hb.store)throw new Error(Wa.SELECT_FACTORY_NOT_CONNECTED());return hb.store.select(n)}(o))}}})}}function _m(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(Wa.SELECTOR_DECORATOR());const s=i.value,o=Lwe(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}function Dl(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}Wo.\u0275fac=function(e){return new(e||Wo)},Wo.\u0275mod=on({type:Wo}),Wo.\u0275inj=xt({}),Wo.ROOT_OPTIONS=new Ht("ROOT_OPTIONS");const Kx=new uc(aS);class iSe{constructor(e){this.total=e}call(e,t){return t.subscribe(new rSe(e,this.total))}}class rSe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function xi(n){return null!=n&&"false"!=`${n}`}function Xx(n){return Array.isArray(n)?n:[n]}function vs(n){return null==n?"":"string"==typeof n?n:`${n}px`}function ad(n){return n instanceof En?n.nativeElement:n}let zN;try{zN="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){zN=!1}let Eb,qf,HN,Zi=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Tf(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!zN)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wc))},n.\u0275prov=We({factory:function(){return new n(Oe(Wc))},token:n,providedIn:"root"}),n})();function vm(n){return function(){if(null==Eb&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Eb=!0}))}finally{Eb=Eb||!1}return Eb}()?n:!!n.capture}function LH(){if(null==qf){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return qf=!1,qf;if("scrollBehavior"in document.documentElement.style)qf=!0;else{const n=Element.prototype.scrollTo;qf=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return qf}function Zx(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Yf(n){return n.composedPath?n.composedPath()[0]:n.target}let qH=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===KH(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=KH(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||YH(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(Oe(Zi))},n.\u0275prov=We({factory:function(){return new n(Oe(Zi))},token:n,providedIn:"root"}),n})();function YH(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function KH(n){if(!YH(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class xSe{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}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))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(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}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const 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._ngZone.isStable?e():this._ngZone.onStable.pipe(Wi(1)).subscribe(e)}}let XH=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new xSe(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(Oe(qH),Oe(gn),Oe(pn))},n.\u0275prov=We({factory:function(){return new n(Oe(qH),Oe(gn),Oe(pn))},token:n,providedIn:"root"}),n})();"undefined"!=typeof Element&∈const JH=new Ht("cdk-input-modality-detector-options"),DSe={ignoreKeys:[18,17,224,91,16]},wm=vm({passive:!0,capture:!0});let tG=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new Br(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Yf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(function(n){return 0===n.offsetX&&0===n.offsetY}(o)?"keyboard":"mouse"),this._mostRecentTarget=Yf(o))},this._onTouchstart=o=>{!function(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}(o)?(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Yf(o)):this._modality.next("keyboard")},this._options=Object.assign(Object.assign({},DSe),s),this.modalityDetected=this._modality.pipe(function(n){return e=>e.lift(new iSe(n))}(1)),this.modalityChanged=this.modalityDetected.pipe(rd()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,wm),r.addEventListener("mousedown",this._onMousedown,wm),r.addEventListener("touchstart",this._onTouchstart,wm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,wm),document.removeEventListener("mousedown",this._onMousedown,wm),document.removeEventListener("touchstart",this._onTouchstart,wm))}}return n.\u0275fac=function(t){return new(t||n)(Oe(Zi),Oe(gn),Oe(pn),Oe(JH,8))},n.\u0275prov=We({factory:function(){return new n(Oe(Zi),Oe(gn),Oe(pn),Oe(JH,8))},token:n,providedIn:"root"}),n})();const rG=new Ht("cdk-focus-monitor-default-options"),tC=vm({passive:!0,capture:!0});let du=(()=>{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,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=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new se,this._rootNodeFocusAndBlurListener=a=>{const l=Yf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let u=l;u;u=u.parentElement)c.call(this,a,u)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=ad(t);if(!this._platform.isBrowser||1!==r.nodeType)return fn(null);const s=function(n){if(function(){if(null==HN){const n="undefined"!=typeof document?document.head:null;HN=!(!n||!n.createShadowRoot&&!n.attachShadow)}return HN}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new se,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=ad(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=ad(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Yf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,tC),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,tC)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(_r(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,tC),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,tC),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(Zi),Oe(tG),Oe(pn,8),Oe(rG,8))},n.\u0275prov=We({factory:function(){return new n(Oe(gn),Oe(Zi),Oe(tG),Oe(pn,8),Oe(rG,8))},token:n,providedIn:"root"}),n})();const lG=new Ht("cdk-dir-doc",{providedIn:"root",factory:function(){return Fc(pn)}});let Il=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new sn,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(Oe(lG,8))},n.\u0275prov=We({factory:function(){return new n(Oe(lG,8))},token:n,providedIn:"root"}),n})();function nC(...n){return Nt(1)(fn(...n))}function ao(...n){const e=n[n.length-1];return Ce(e)?(n.pop(),t=>nC(n,t,e)):t=>nC(n,t)}function Em(n,e){return{type:7,name:n,definitions:e,options:{}}}function cd(n,e=null){return{type:4,styles:e,timings:n}}function fs(n){return{type:6,styles:n,offset:null}}function vc(n,e,t){return{type:0,name:n,styles:e,options:t}}function ud(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function hG(n){Promise.resolve(null).then(n)}class Sm{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],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._onStartFns.push(e)}onDone(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(){hG(()=>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}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function pG(){return"undefined"!=typeof window&&void 0!==window.document}function KN(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}let JN=(n,e)=>!1,eP=(n,e)=>!1,_G=(n,e,t)=>[];const yG=KN();(yG||"undefined"!=typeof Element)&&(JN=pG()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),eP=(()=>{if(yG||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):eP}})(),_G=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{class n{validateStyleProperty(t){return tP(t)}matchesElement(t,i){return nP(t,i)}containsElement(t,i){return iP(t,i)}query(t,i,r){return rP(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new Sm(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class iC{}iC.NOOP=new wG;function CG(n,e,t){return t?e+":"+t+";":""}function AG(n){let e="";for(let t=0;t{const r=cP(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),KN()&&AG(n))}function Qf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=cP(t);n.style[i]=""}),KN()&&AG(n))}const HSe=/-+([a-z0-9])/g;function cP(n){return n.replace(HSe,(...e)=>e[1].toUpperCase())}function GSe(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Am{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=Am.initialStylesByElement.get(e);r||Am.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&hu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(hu(this._element,this._initialStyles),this._endStyles&&(hu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Am.initialStylesByElement.delete(this._element),this._startStyles&&(Qf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Qf(this._element,this._endStyles),this._endStyles=null),hu(this._element,this._initialStyles),this._state=3)}}Am.initialStylesByElement=new WeakMap;const Nl=new Ht("AnimationModuleType");function Mb(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function xP(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?function(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}(t):this.defaultTabIndex}}}let ep;try{ep="undefined"!=typeof Intl}catch(n){ep=!1}function hd(n,e,t,i){return Y(t)&&(i=t,t=void 0),i?hd(n,e,t).pipe(me(r=>P(r)?i(...r):i(r))):new I(r=>{x$(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function x$(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let zCe=1;const HCe=Promise.resolve(),xC={};function C$(n){return n in xC&&(delete xC[n],!0)}const A$={setImmediate(n){const e=zCe++;return xC[e]=!0,HCe.then(()=>C$(e)&&n()),e},clearImmediate(n){C$(n)}};new class extends uc{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=A$.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(A$.clearImmediate(t),e.scheduled=void 0)}});function Tm(n){return!!n&&(n instanceof I||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class YCe{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new KCe(e,this.durationSelector))}}class KCe extends ve{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=N(t,new _t(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function T$(n){return!P(n)&&n-parseFloat(n)+1>=0}function QCe(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function CC(n,e=Kx){return function(n){return function(t){return t.lift(new YCe(n))}}(()=>function(n=0,e,t){let i=-1;return T$(e)?i=Number(e)<1?1:Number(e):Ce(e)&&(t=e),Ce(t)||(t=Kx),new I(r=>{const s=T$(n)?n:+n-t.now();return t.schedule(QCe,s,{index:0,period:i,subscriber:r})})}(n,e))}let D$=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),Mm=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new se,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new I(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(CC(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):fn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Qi(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=ad(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>hd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(Zi),Oe(pn,8))},n.\u0275prov=We({factory:function(){return new n(Oe(gn),Oe(Zi),Oe(pn,8))},token:n,providedIn:"root"}),n})(),Dm=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new se,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(CC(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(Oe(Zi),Oe(gn),Oe(pn,8))},n.\u0275prov=We({factory:function(){return new n(Oe(Zi),Oe(gn),Oe(pn,8))},token:n,providedIn:"root"}),n})();class DP{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class TC extends DP{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Im extends DP{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}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()}}class p1e extends DP{constructor(e){super(),this.element=e instanceof En?e.nativeElement:e}}class MC{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof TC?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Im?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof p1e?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}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)}}class g1e extends MC{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let tp=(()=>{class n extends MC{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new sn,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(xe(wl),xe(Ns),xe(pn))},n.\u0275dir=Rt({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[An]}),n})();const k$=LH();class b1e{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=vs(-this._previousScrollPosition.left),e.style.top=vs(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),k$&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),k$&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class v1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const 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}}class L${enable(){}disable(){}attach(){}}function IP(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function B$(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class w1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();IP(t,[{width:i,height:r,bottom:r,right:i,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}}let E1e=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new L$,this.close=o=>new v1e(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new b1e(this._viewportRuler,this._document),this.reposition=o=>new w1e(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(Oe(Mm),Oe(Dm),Oe(gn),Oe(pn))},n.\u0275prov=We({factory:function(){return new n(Oe(Mm),Oe(Dm),Oe(gn),Oe(pn))},token:n,providedIn:"root"}),n})();class IC{constructor(e){if(this.scrollStrategy=new L$,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class S1e{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class x1e{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let j$=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn))},n.\u0275prov=We({factory:function(){return new n(Oe(pn))},token:n,providedIn:"root"}),n})(),C1e=(()=>{class n extends j${constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn))},n.\u0275prov=We({factory:function(){return new n(Oe(pn))},token:n,providedIn:"root"}),n})(),A1e=(()=>{class n extends j${constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Yf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn),Oe(Zi))},n.\u0275prov=We({factory:function(){return new n(Oe(pn),Oe(Zi))},token:n,providedIn:"root"}),n})();const Sh="undefined"!=typeof window?window:{},V$=void 0!==Sh.__karma__&&!!Sh.__karma__||void 0!==Sh.jasmine&&!!Sh.jasmine||void 0!==Sh.jest&&!!Sh.jest||void 0!==Sh.Mocha&&!!Sh.Mocha;let Ob=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||V$){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(u),this._keydownEvents=new se,this._outsidePointerEvents=new se,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(Wi(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),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),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),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&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.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=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},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(){const e=this._config.direction;return e?"string"==typeof e?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;const e=this._pane.style;e.width=vs(this._config.width),e.height=vs(this._config.height),e.minWidth=vs(this._config.minWidth),e.minHeight=vs(this._config.minHeight),e.maxWidth=vs(this._config.maxWidth),e.maxHeight=vs(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),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),"undefined"!=typeof requestAnimationFrame?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)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;Xx(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(_r(kn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const U$="cdk-overlay-connected-position-bounding-box",M1e=/([A-Za-z%]+)$/;class z${constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,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 se,this._resizeSubscription=x.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(U$),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)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&np(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(U$),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(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){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=G$(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let p=0-a,g=a+s.height-i.height,m=this._subtractOverflows(s.width,0-o,o+s.width-i.width),w=this._subtractOverflows(s.height,p,g),C=m*w;return{visibleArea:C,isCompletelyWithinViewport:s.width*s.height===C,fitsInViewportVertically:w===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=H$(this._overlayRef.getConfig().minHeight),a=H$(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=G$(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let u=0,h=0;return u=r.width<=s.width?c||-o:e.xm&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-m/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)p=i.width-e.x+this._viewportMargin,u=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)h=e.x,u=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),m=this._lastBoundingBoxSize.width;u=2*g,h=e.x-g,u>m&&!this._isInitialRender&&!this._growAfterOpen&&(h=e.x-m/2)}return{top:o,left:h,bottom:a,right:p,width:u,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=vs(i.height),r.top=vs(i.top),r.bottom=vs(i.bottom),r.width=vs(i.width),r.left=vs(i.left),r.right=vs(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=vs(s)),o&&(r.maxWidth=vs(o))}this._lastBoundingBoxSize=i,np(this._boundingBox.style,r)}_resetBoundingBoxStyles(){np(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){np(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const u=this._viewportRuler.getViewportScrollPosition();np(i,this._getExactOverlayY(t,e,u)),np(i,this._getExactOverlayX(t,e,u))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=vs(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=vs(o.maxWidth):s&&(i.maxWidth="")),np(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=vs(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=vs(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:B$(e,i),isOriginOutsideView:IP(e,i),isOverlayClipped:B$(t,i),isOverlayOutsideView:IP(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&Xx(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof En)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function np(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function H$(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(M1e);return t&&"px"!==t?null:parseFloat(e)}return n||null}function G$(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class D1e{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new z$(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new S1e(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const W$="cdk-global-overlay-wrapper";class I1e{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const 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(W$),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-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._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(W$),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let O1e=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new I1e}connectedTo(t,i,r){return new D1e(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new z$(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(Oe(Dm),Oe(pn),Oe(Zi),Oe(Ob))},n.\u0275prov=We({factory:function(){return new n(Oe(Dm),Oe(pn),Oe(Zi),Oe(Ob))},token:n,providedIn:"root"}),n})(),R1e=0,wc=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u,h,p){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=h,this._outsideClickDispatcher=p}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new IC(t);return o.direction=o.direction||this._directionality.value,new T1e(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+R1e++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(ih)),new g1e(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(Oe(E1e),Oe(Ob),Oe(wl),Oe(O1e),Oe(C1e),Oe(Wn),Oe(gn),Oe(pn),Oe(Il),Oe(Pg),Oe(A1e))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function a7(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>me(function(n,e){return i=>{let r=i;for(let s=0;s{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const 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 fd?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){const t=new fd;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof fd?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class iTe{encodeKey(e){return w7(e)}encodeValue(e){return w7(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const sTe=/%(\d[a-f0-9])/gi,oTe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function w7(n){return encodeURIComponent(n).replace(sTe,(e,t)=>{var i;return null!==(i=oTe[t])&&void 0!==i?i:e})}function E7(n){return`${n}`}class xh{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new iTe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const 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){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,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=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new xh({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(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":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(E7(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(E7(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class aTe{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}keys(){return this.map.keys()}}function S7(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function x7(n){return"undefined"!=typeof Blob&&n instanceof Blob}function C7(n){return"undefined"!=typeof FormData&&n instanceof FormData}class Rb{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new fd),this.context||(this.context=new aTe),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ap.set(g,e.setHeaders[g]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((p,g)=>p.set(g,e.setParams[g]),u)),new Rb(i,r,o,{params:u,headers:c,context:h,reportProgress:l,responseType:s,withCredentials:a})}}var ws=(()=>((ws=ws||{})[ws.Sent=0]="Sent",ws[ws.UploadProgress=1]="UploadProgress",ws[ws.ResponseHeader=2]="ResponseHeader",ws[ws.DownloadProgress=3]="DownloadProgress",ws[ws.Response=4]="Response",ws[ws.User=5]="User",ws))();class RC extends class{constructor(e,t=200,i="OK"){this.headers=e.headers||new fd,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}{constructor(e={}){super(e),this.type=ws.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new RC({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}function LP(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let ip=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof Rb)s=t;else{let l,c;l=r.headers instanceof fd?r.headers:new fd(r.headers),r.params&&(c=r.params instanceof xh?r.params:new xh({fromObject:r.params})),s=new Rb(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=fn(s).pipe(function(n,e){return B(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof Rb||"events"===r.observe)return o;const a=o.pipe(Qi(l=>l instanceof RC));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(me(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(me(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new xh).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,LP(r,i))}post(t,i,r={}){return this.request("POST",t,LP(r,i))}put(t,i,r={}){return this.request("PUT",t,LP(r,i))}}return n.\u0275fac=function(t){return new(t||n)(Oe(b7))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const _Te=["*"];function O7(n){return Error(`Unable to find icon with the name "${n}"`)}function R7(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function N7(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class rp{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let NC=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,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",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new rp(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(ni.HTML,r);if(!o)throw N7(r);return this._addSvgIconConfig(t,i,new rp("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new rp(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(ni.HTML,i);if(!s)throw N7(i);return this._addSvgIconSetConfig(t,new rp("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(ni.RESOURCE_URL,t);if(!i)throw R7(t);const r=this._cachedIconsByUrl.get(i);return r?fn(PC(r)):this._loadSvgIconFromConfig(new rp(t,null)).pipe(Yr(s=>this._cachedIconsByUrl.set(i,s)),me(s=>PC(s)))}getNamedSvgIcon(t,i=""){const r=P7(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Fg(O7(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?fn(PC(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(me(i=>PC(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?fn(r):ub(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(bc(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(ni.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),fn(null)})))).pipe(me(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw O7(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(Yr(i=>t.svgText=i),me(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?fn(null):this._fetchIcon(t).pipe(Yr(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;se.lift(new tTe(n))}(()=>this._inProgressUrlFetches.delete(a)),Es());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(P7(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),F7=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],CTe=F7.map(n=>`[${n}]`).join(", "),ATe=/^url\(['"]?#(.*?)['"]?\)$/;let Nm=(()=>{class n extends wTe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=x.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=xi(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(CTe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(ATe):null;if(c){let u=r.get(a);u||(u=[],r.set(a,u)),u.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(Wi(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(xe(En),xe(NC),Fo("aria-hidden"),xe(ETe),xe(oa))},n.\u0275cmp=ln({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(Bi("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),vi("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[An],ngContentSelectors:_Te,decls:1,vars:0,template:function(t,i){1&t&&(is(),si(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[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}\n"],encapsulation:2,changeDetection:0}),n})();function LTe(n,e){}class zP{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const BTe={dialogContainer:Em("dialogContainer",[vc("void, exit",fs({opacity:0,transform:"scale(0.7)"})),vc("enter",fs({transform:"none"})),ud("* => enter",cd("150ms cubic-bezier(0, 0, 0.2, 1)",fs({transform:"none",opacity:1}))),ud("* => void, * => exit",cd("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",fs({opacity:0})))])};let jTe=(()=>{class n extends MC{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new sn,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=Zx(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=Zx())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=Zx();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(xe(En),xe(XH),xe(Dr),xe(pn,8),xe(zP),xe(du))},n.\u0275dir=Rt({type:n,viewQuery:function(t,i){if(1&t&&ss(tp,7),2&t){let r;ii(r=ri())&&(i._portalOutlet=r.first)}},features:[An]}),n})(),VTe=(()=>{class n extends jTe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275cmp=ln({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&fE("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(Lu("id",i._id),Bi("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),mE("@dialogContainer",i._state))},features:[An],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&Di(0,LTe,0,0,"ng-template",0)},directives:[tp],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[BTe.dialogContainer]}}),n})(),UTe=0;class FC{constructor(e,t,i="mat-dialog-"+UTe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new se,this._afterClosed=new se,this._beforeClosed=new se,this._state=0,t._id=i,t._animationStateChanged.pipe(Qi(r=>"opened"===r.state),Wi(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Qi(r=>"closed"===r.state),Wi(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Qi(r=>27===r.keyCode&&!this.disableClose&&!Dl(r))).subscribe(r=>{r.preventDefault(),HP(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():HP(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Qi(t=>"closing"===t.state),Wi(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();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._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function HP(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const B7=new Ht("MatDialogData"),zTe=new Ht("mat-dialog-default-options"),j7=new Ht("mat-dialog-scroll-strategy");let $Te=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=u,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new se,this._afterOpenedAtThisLevel=new se,this._ariaHiddenElements=new Map,this.afterAllClosed=function(n){return new I(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?je(t):lS()).subscribe(e)})}(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(ao(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new zP)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new IC({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Wn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:zP,useValue:i}]}),o=new TC(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof zo)i.attachTemplatePortal(new Im(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new TC(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Il,null,Sn.Optional))&&o.push({provide:Il,useValue:{value:t.direction,change:fn()}}),Wn.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(xe(wc),xe(Wn),xe(void 0),xe(void 0),xe(Ob),xe(void 0),xe(xu),xe(xu),xe(Ht))},n.\u0275dir=Rt({type:n}),n})(),Pb=(()=>{class n extends $Te{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,FC,VTe,B7)}}return n.\u0275fac=function(t){return new(t||n)(Oe(wc),Oe(Wn),Oe(Pg,8),Oe(zTe,8),Oe(j7),Oe(n,12),Oe(Ob))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),qTe=0,V7=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+qTe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(xe(FC,8),xe(En),xe(Pb))},n.\u0275dir=Rt({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&Lu("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),U7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Rt({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();const $P=new Ht("CdkAccordion");let XTe=0,ZTe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=x.EMPTY,this.closed=new sn,this.opened=new sn,this.destroyed=new sn,this.expandedChange=new sn,this.id="cdk-accordion-child-"+XTe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=xi(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=xi(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(xe($P,12),xe(Dr),xe(D$))},n.\u0275dir=Rt({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Hn([{provide:$P,useValue:void 0}])]}),n})();const eMe=["body"];function tMe(n,e){}const nMe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],iMe=["mat-expansion-panel-header","*","mat-action-row"];function rMe(n,e){1&n&&bi(0,"span",2),2&n&&rn("@indicatorRotate",ci()._getExpandedState())}const sMe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],oMe=["mat-panel-title","mat-panel-description","*"],WP=new Ht("MAT_ACCORDION"),H7="225ms cubic-bezier(0.4,0.0,0.2,1)",G7={indicatorRotate:Em("indicatorRotate",[vc("collapsed, void",fs({transform:"rotate(0deg)"})),vc("expanded",fs({transform:"rotate(180deg)"})),ud("expanded <=> collapsed, void => collapsed",cd(H7))]),bodyExpansion:Em("bodyExpansion",[vc("collapsed, void",fs({height:"0px",visibility:"hidden"})),vc("expanded",fs({height:"*",visibility:"visible"})),ud("expanded <=> collapsed, void => collapsed",cd(H7))])};let aMe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(xe(zo))},n.\u0275dir=Rt({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),lMe=0;const $7=new Ht("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let W7=(()=>{class n extends ZTe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new sn,this.afterCollapse=new sn,this._inputChanges=new se,this._headerId="mat-expansion-panel-header-"+lMe++,this._bodyAnimationDone=new se,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(rd((c,u)=>c.fromState===u.fromState&&c.toState===u.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=xi(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(ao(null),Qi(()=>this.expanded&&!this._portal),Wi(1)).subscribe(()=>{this._portal=new Im(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(xe(WP,12),xe(Dr),xe(D$),xe(Ns),xe(pn),xe(Nl,8),xe($7,8))},n.\u0275cmp=ln({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&function(n,e,t,i){const r=Ei();if(r.firstCreatePass){const s=cs();F3(r,new R3(e,t,i),s.index),function(n,e){const t=n.contentQueries||(n.contentQueries=[]);e!==(t.length?t[t.length-1]:-1)&&t.push(n.queries.length-1,e)}(r,n),2==(2&t)&&(r.staticContentQueries=!0)}P3(r,jt(),t)}(r,aMe,5),2&t){let s;ii(s=ri())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&ss(eMe,5),2&t){let r;ii(r=ri())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&vi("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Hn([{provide:WP,useValue:void 0}]),An,Ui],ngContentSelectors:iMe,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(is(nMe),si(0),Pt(1,"div",0,1),Un("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),Pt(3,"div",2),si(4,1),Di(5,tMe,0,0,"ng-template",3),Ft(),si(6,2),Ft()),2&t&&(Zt(1),rn("@bodyExpansion",i._getExpandedState())("id",i.id),Bi("aria-labelledby",i._headerId),Zt(4),rn("cdkPortalOutlet",i._portal))},directives:[tp],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[G7.bodyExpansion]},changeDetection:0}),n})();class uMe{}const dMe=xP(uMe);let q7=(()=>{class n extends dMe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=x.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Qi(u=>!(!u.hideToggle&&!u.togglePosition))):Yc;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=kn(t.opened,t.closed,c,t._inputChanges.pipe(Qi(u=>!!(u.hideToggle||u.disabled||u.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Qi(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Dl(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(xe(W7,1),xe(En),xe(du),xe(Dr),xe($7,8),xe(Nl,8),Fo("tabindex"))},n.\u0275cmp=ln({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&Un("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(Bi("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),jy("height",i._getHeaderHeight()),vi("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[An],ngContentSelectors:oMe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(is(sMe),Pt(0,"span",0),si(1),si(2,1),si(3,2),Ft(),Di(4,rMe,1,1,"span",1)),2&t&&(Zt(4),rn("ngIf",i._showToggle()))},directives:[lc],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[G7.indicatorRotate]},changeDetection:0}),n})();var Y7=Je(478);Object.create(Error.prototype);const mMe=["*"];var LC=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(LC||(LC={})),LC))();class yMe{}const X7=new Ht("SECURITY_CONTEXT");let qP=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new Y7.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=Y7.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(me(i=>this.handleExtension(t,i)))}highlight(t){if(Tf(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Tf(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Tf(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Tf(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wc),Oe(X7),Oe(ip,8),Oe(yMe,8),Oe(Mf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Q7=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new sn,this.load=new sn,this.ready=new sn,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,LC.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;sP(i)?t(...i):t(i))):new I(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Y(e))return()=>e(r,s)})}function YP(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new CMe(n,t))}}class CMe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new AMe(e,this.observables,this.project))}}class AMe extends l7{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class TMe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new MMe(e,this.accumulator,this.seed,this.hasSeed))}}class MMe extends y{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class OMe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new RMe(e,this.predicate))}}class RMe extends y{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const NMe=["youtubeContainer"];let tW=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new se,this._destroyed=new se,this._playerChanges=new Br(void 0),this._videoId=new Br(void 0),this._height=new Br(390),this._width=new Br(640),this._startSeconds=new Br(void 0),this._endSeconds=new Br(void 0),this._suggestedQuality=new Br(void 0),this._playerVars=new Br(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Tf(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=fn(!0);if(!window.YT||!window.YT.Player){const r=new se;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(Wi(1),ao(!1))}const i=function(n,e,t,i,r,s,o){const a=Yo([e,s]).pipe(YP(Yo([i,r])),me(([l,c])=>{const[u,h]=l,[p,g]=c;return u?{videoId:u,playerVars:h,width:p,height:g}:void 0}));return Yo([n,a,fn(o)]).pipe(function(n){return ce(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&P(n[0])&&(n=n[0].slice()),t=>t.lift.call(je([t,...n]),new d7(e))}(n),function(n){return e=>e.lift(new OMe(n))}(([e,t])=>!t),me(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new TMe(n,e,t))}}(jMe,void 0),rd())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(Yr(r=>{this._playerChanges.next(r)}),B(e=>e?nW(e)?fn(e):new I(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{nW(r)||r.destroy()})(e)}}).pipe(Wi(1),ao(void 0)):fn(void 0)),_r(this._destroyed),el(new se));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){Yo([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){Yo([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=Yo([t,i]).pipe(me(([u,h])=>({startSeconds:u,endSeconds:h}))),a=o.pipe(XP(n,u=>!!u&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(u))),l=e.pipe(XP(n,(u,h)=>!!u&&u.videoId!==h));kn(n.pipe(XP(Yo([e,o]),([u,h],p)=>!(!p||u==p.videoId&&!h.startSeconds&&!h.endSeconds))),l,a).pipe(YP(Yo([n,e,o,r])),me(([u,h])=>h),_r(s)).subscribe(([u,h,p,g])=>{!h||!u||(u.videoId=h,u.cueVideoById(Object.assign({videoId:h,suggestedQuality:g},p)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(Ir(i=>i?Z7(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):fn()),i=>new I(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),_r(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(xe(gn),xe(Wc))},n.\u0275cmp=ln({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&ss(NMe,5),2&t){let r;ii(r=ri())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&bi(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function jMe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function nW(n){return"getPlayerStatus"in n}function XP(n,e){return ce(YP(n),Qi(([t,i])=>e(i,t)),me(([t])=>t))}let KMe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Rt({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function kb(n){return!0===n}function Xa(n){return null==n}function Qa(n){return!Xa(n)}function QP(n){return Boolean(n)}function oW(n){return Xa(n)?n:JSON.parse(JSON.stringify(n))}const jC=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&jC(n[o])}),n};function aW(n){return Qa(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const uW="NGXS_DATA_META",JP="NGXS_META",dW="NGXS_ARGUMENT_REGISTRY_META";let hW=(()=>{class n{constructor(t){this.sequence$=new Br(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function Lb(n){return n[uW]}let Za=(()=>{class n{constructor(t,i,r){n.store=t.get(cu),n.ngZone=t.get(gn),n.factory=i,n.context=r,n.computed=t.get(hW)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(a6),Oe(o6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class ps{constructor(){ps.statesCachedMeta.clear()}static createStateContext(e){return Za.context.createStateContext(e)}static ensureMappedState(e){if(Xa(Za.factory)||Xa(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(Qa(e.name)?ps.statesCachedMeta.get(e.name):null)||ps.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=Lb(ps.getStateClassByInstance(e)))&&void 0!==t?t:null;if(Xa(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=ps.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=ps.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=Qa(e.name)?null===(t=Za.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return Qa(i)&&Qa(e.name)&&ps.statesCachedMeta.set(e.name,i),i}}ps.statesCachedMeta=new Map,ps.\u0275fac=function(e){return new(e||ps)},ps.\u0275prov=We({token:ps,factory:ps.\u0275fac}),new kg(1);class mDe extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${Qa(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function fW(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function pW(n){var e;const t=fW(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=oW(void 0===t.defaults?{}:t.defaults);if(i.length){if(aW(s))return function(n,e){return e.reduce((t,i)=>{const r=fW(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=pW(i),t},null!=n?n:{})}(s,i);throw new mDe(s)}return s}function mW(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function _W(){var n,e;return null!==(e=null===(n=null==Za?void 0:Za.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function vDe(n){let e=!1;return Tm(n)&&(e=!0),e}function eF(n){return n[dW]}class wDe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class EDe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(QP(this.argumentMap.has(e))||QP(this.payloadMap.has(e)))throw new wDe(e,t)}}function MDe(n){return{enumerable:!0,configurable:!0,get(){const e=Lb(n),t=ps.ensureMappedState(e.stateMeta);return ps.createStateContext(t)}}}function yW(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(aW(i))for(;null!==i;){if(kb(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return Xa(mW(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),mW(n)}(this),o=null==s?void 0:s.get(i);if(kb(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(Xa(o)||o.sequenceId!==_W()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:_W(),isObservable:vDe(l)}),l}return o.value},t}}const PDe={cancelUncompleted:!0,insideZone:!1};function tF(n=PDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=ps.getRepositoryByInstance(a),u=c.operations;let h=u[s];const p=c.stateMeta,g=eF(r);if(Xa(h)){const U=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),de=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var U;return kb(n.insideZone)?null===(U=Za.ngZone)||void 0===U||U.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),Tm(l)?fn(null).pipe(me(()=>l)):l};const C=ps.createAction(h,o,g),H=Za.store.dispatch(C);return Tm(l)?function(n,e){return ub([n,e]).pipe(me(t=>t.pop()))}(H,l):l},i}}function bW(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return Xa(eF(t))&&Object.defineProperties(t,{[dW]:{enumerable:!0,configurable:!0,value:new EDe}}),eF(t)})(e,t).createPayloadType(r,t,i)}}function kDe(){return n=>{const e=function(n){if(function(n){return!QP(n)}(n.hasOwnProperty(JP))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,JP,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[JP]}(n)}(n);if(Xa(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=Lb(n))&&void 0!==e?e:null;return(Xa(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,uW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),Lb(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>oW(t)},context:MDe(n)})}(n,e,pW(n)),function(n){var e,t;const i=Lb(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(Qa(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(Qa(this[s]))return this[s];if(Xa(Za.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=Za.store.select(n).pipe(me(o=>Ba()?jC(o):o),$a({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}let BDe=(()=>{class n{constructor(){this.browserStorageEvents$=new se,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),jDe=(()=>{class n extends BDe{get snapshot(){return function(n){return Ba()?jC(n):n}(this.getState())}get ctx(){return function(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>Ba()?jC(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),rr([yW(),dc("design:type",Object),dc("design:paramtypes",[])],n.prototype,"snapshot",null),rr([tF(),Aj(0,bW("patchValue")),dc("design:type",Function),dc("design:paramtypes",[Object]),dc("design:returntype",void 0)],n.prototype,"patchState",null),rr([tF(),Aj(0,bW("stateValue")),dc("design:type",Function),dc("design:paramtypes",[Object]),dc("design:returntype",void 0)],n.prototype,"setState",null),rr([tF(),dc("design:type",Function),dc("design:paramtypes",[]),dc("design:returntype",void 0)],n.prototype,"reset",null),n})();const jm=new Ht("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),xF=new Ht("ngx-window",{providedIn:"root",factory:()=>function(n){return Tf(n)?window:null}(Fc(Wc))}),ZOe=new Ht("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Fc(xF))}),CF=new Ht("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Fc(xF),Fc(ZOe))});let AF=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||Ba())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(jm),Oe(pn),Oe(CF))},n.\u0275prov=We({factory:function(){return new n(Oe(jm),Oe(pn),Oe(CF))},token:n,providedIn:"root"}),n})();new Ht("ngx-google-analytics-routing-settings",{factory:()=>({})}),new Ht("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"});class M9 extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function bRe(){throw new M9}function vRe(){throw new M9}function DF(n,e,t){e.run(()=>n.dispatch(t))}function SRe(n,e,t,i){return yg(t)?function(n,e,t){return t.then(i=>(DF(n,e,i),i))}(n,e,t):Tm(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(_r(i.cancelUncompleted$))),t.subscribe({next:r=>DF(n,e,r)}),t}(n,e,t,i):(DF(n,e,t),t)}class xRe{constructor(){this.cancelUncompleted$=new se}cancelPreviousAction(){this.cancelUncompleted$.next()}}const IF="\u0275fac",D9=Symbol("InjectorInstance"),I9=Symbol("FactoryHasBeenDecorated");function O9(n,e){const t=n[D9];return t?t.get(e):null}const TRe={cancelUncompleted:!1};function R9(n=TRe){return(e,t,i)=>{let r;const s=function(n){return n?new xRe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=O9(this,cu)||bRe(),l=O9(this,gn)||vRe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>SRe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(I9 in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[IF]&&function(n){const e=n[IF];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[D9]=xe(Pu),r};t&&(t.factory=i),Object.defineProperty(n,IF,{get:()=>i})}(e),n.constructor.prototype[I9]=!0}(e)}}const tNe=["bodyCanvas"];let nNe=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new sn,this.nodeDrag=new sn,this.nodeClick=new sn,this.nodeHoverStart=new sn,this.nodeHoverStop=new sn,this.initialized=new sn,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return Fi(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new Qve({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&ss(tNe,5,En),2&t){let r;ii(r=ri())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&vl(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&bi(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),iNe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({imports:[[qr]]}),n})();function ENe(n,e){if(1&n&&(Pt(0,"div",16),bi(1,"youtube-player",17),Ft()),2&n){const t=ci(3);Zt(1),pE("videoId",t.videoID)}}function SNe(n,e){if(1&n&&(Pt(0,"mat-expansion-panel",11),Pt(1,"mat-expansion-panel-header"),Pt(2,"h2",12),Oi(3),Ft(),Ft(),Pt(4,"div",13),bi(5,"markdown",14),Di(6,ENe,2,1,"div",15),Ft(),Ft()),2&n){const t=ci(),i=t.index,r=t.$implicit;rn("expanded",0===i),Zt(3),da(r.title),Zt(2),vi("first",0===i),rn("data",r.content),Zt(1),rn("ngIf",0===i)}}function xNe(n,e){if(1&n&&(Pt(0,"div",9),Di(1,SNe,7,6,"mat-expansion-panel",10),Ft()),2&n){const t=e.$implicit;Zt(1),rn("ngIf",t)}}new Ht("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10}),[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name)).filter(n=>!0!==n.disabled);let G9=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(xe(FC),xe(B7))},n.\u0275cmp=ln({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(Pt(0,"div",0),Pt(1,"div",1),Pt(2,"div",2),Pt(3,"div",3),Pt(4,"h2",4),Oi(5),Ft(),Pt(6,"div",5),Pt(7,"mat-icon",6),Un("click",function(){return i.close()}),Oi(8,"clear"),Ft(),Ft(),Ft(),Pt(9,"mat-dialog-content",7),Di(10,xNe,2,1,"div",8),Ft(),Ft(),Ft(),Ft()),2&t&&(Zt(5),da(i.infoTitle),Zt(5),rn("ngForOf",i.documentationContents))},directives:[V7,Nm,U7,Af,lc,W7,q7,Q7,tW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),$9=(()=>{class n{constructor(t){this.http=t,this.panelContent=new Br({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(Oe(ip))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),ANe=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new sn,this.closeClicked=new sn}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&vl(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(Pt(0,"div",0),Pt(1,"div",1),Pt(2,"div",2),Pt(3,"div",3),Pt(4,"p",4),Oi(5),Ft(),Pt(6,"mat-icon",5),Un("click",function(){return i.close()}),Oi(7,"clear"),Ft(),Ft(),bi(8,"img",6),Pt(9,"mat-dialog-content",7),Pt(10,"div",8),Oi(11),Ft(),Pt(12,"a",9),Un("click",function(){return i.onDialogButtonClick()}),Ft(),Ft(),Ft(),Ft(),Ft()),2&t&&(Zt(5),da(i.infoTitle),Zt(3),rn("src",i.imageUrl,nf),Zt(3),ha(" ",i.message,""),Zt(1),rn("text",i.callToAction))},directives:[V7,Nm,KMe,U7],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),Yb=(()=>{let n=class extends jDe{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(Qi(n=>null!=n),$a(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(a7(...t),rd(),$a(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(a7(...t),rd(),$a(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),rr([yW()],n.prototype,"config$",null),n=rr([kDe(),M6({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}(),new se;let PF=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),FF=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),kF=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var LF;class wa{get length(){var e,t;return null!==(t=null===(e=wa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=wa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=wa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=wa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=wa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=wa.storage)||void 0===e||e.clear()}}wa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),wa.\u0275fac=function(e){return new(e||wa)},wa.\u0275prov=We({token:wa,factory:wa.\u0275fac,providedIn:"root"});const Y9="callToActionPopupShown";let Do=LF=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(Y9,`${i}`),s=LF.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new FF)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(me(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open(G9,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(Yr(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(NNe,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(Y9,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};Do.\u0275fac=function(e){return new(e||Do)(Oe(Pb),Oe(AF),Oe(wa),Oe($9),Oe(ip))},Do.\u0275prov=We({token:Do,factory:Do.\u0275fac}),rr([_N(PF)],Do.prototype,"learnMore",null),rr([_N(FF)],Do.prototype,"open",null),rr([_N(kF)],Do.prototype,"close",null),Do=LF=rr([M6({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Do);let o1=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return rr([_m([Do])],n,"title",null),rr([_m([Do])],n,"message",null),rr([_m([Do])],n,"callToAction",null),rr([_m([Do])],n,"imageUrl",null),rr([_m([Do])],n,"expirationDate",null),rr([_m([Do])],n,"popupShown",null),n})(),NNe=(()=>{class n{constructor(){this.close=()=>new kF,this.learnMore=()=>new PF}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(Pt(0,"ccf-call-to-action",0),Un("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),xl(1,"async"),xl(2,"async"),xl(3,"async"),xl(4,"async"),Ft()),2&t&&rn("infoTitle",Vu(1,4,i.title$))("message",Vu(2,6,i.message$))("callToAction",Vu(3,8,i.callToAction$))("imageUrl",Vu(4,10,i.imageUrl$))},directives:[ANe],pipes:[h0],styles:[""],changeDetection:0}),rr([kx(o1.title)],n.prototype,"title$",void 0),rr([kx(o1.message)],n.prototype,"message$",void 0),rr([kx(o1.callToAction)],n.prototype,"callToAction$",void 0),rr([kx(o1.imageUrl)],n.prototype,"imageUrl$",void 0),rr([R9()],n.prototype,"close",void 0),rr([R9()],n.prototype,"learnMore",void 0),n})();const K9="http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity",BNe=[173,255,47,229.5];var xn=Je(440),HNe=Je(698),GNe=Je(445),$Ne=Je.n(GNe),fr=Je(815),Kb=Je(609);const or=xn.Util.prefixes({base:"http://purl.org/ccf/latest/ccf.owl#",ccf:"http://purl.org/ccf/",fma:"http://purl.org/sig/ont/fma/fma",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/"},xn.DataFactory),un=(or("rdf"),or("rdf")("type"),or("rdfs"),or("rdfs")("label"),or("rdfs")("comment"),or("rdfs")("isDefinedBy"),or("rdfs")("seeAlso"),or("ccf")),co_label=(or("ccf")("has_registration_location"),or("rdfs")("label")),co_description=or("rdfs")("comment"),co_link=un("url"),co_providerName=(un("sex"),un("age"),un("bmi"),xn.DataFactory.literal("Male"),xn.DataFactory.literal("Female"),un("consortium_name"),un("tissue_provider_name")),co_donor=(un("tissue_provider_uuid"),un("comes_from")),co_sections=un("subdivided_into_sections"),co_datasets=un("generates_dataset"),co_sampleType=un("sample_type"),co_sectionCount=(xn.DataFactory.literal("Tissue Block"),xn.DataFactory.literal("Tissue Section"),xn.DataFactory.literal("Non-standard"),un("section_count")),co_sectionSize=un("section_size"),co_sectionUnits=un("section_size_unit"),co_sectionNumber=un("section_number"),co_spatialEntity=un("has_registration_location"),co_technology=(un("has_ontology_term"),un("has_cell_type_term"),un("technology")),co_thumbnail=un("thumbnail"),md={x:un,base:or("base"),ontologyNode:{label:un("ccf_pref_label"),parent:un("ccf_part_of"),children:un("ccf_part_of"),rui_rank:un("rui_rank"),synonymLabels:xn.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:un("ccf_part_of"),ct_is_a:un("ccf_ct_isa"),located_in:un("ccf_located_in"),characterizes:un("ccf_characterizes")},spatial:{Female:or("base")("VHFemale"),Male:or("base")("VHMale"),BothSexes:or("base")("VHBothSexes"),FemaleOrgans:or("base")("VHFemaleOrgans"),MaleOrgans:or("base")("VHMaleOrgans")},SpatialObjectReference:un("spatial_object_reference"),SpatialEntity:un("spatial_entity"),SpatialPlacement:un("spatial_placement"),spatialObjectReference:{file:un("file_url"),file_format:un("file_format"),file_subpath:un("file_subpath")},extractionSet:{label:or("rdfs")("label"),rui_rank:un("rui_rank")},spatialEntity:{label:or("rdfs")("label"),description:or("rdfs")("comment"),creator:or("dcterms")("creator"),creator_first_name:un("creator_first_name"),creator_last_name:un("creator_last_name"),creator_orcid:un("creator_orcid"),creation_date:or("dcterms")("created"),updated_date:un("updated_date"),ccf_annotations:un("collides_with"),representation_of:un("representation_of"),reference_organ:un("has_reference_organ"),extraction_set_for:un("extraction_set_for"),extraction_set:un("has_extraction_set"),sex:un("organ_owner_sex"),side:un("organ_side"),rui_rank:un("rui_rank"),slice_thickness:un("slice_thickness"),slice_count:un("slice_count"),x_dimension:un("x_dimension"),y_dimension:un("y_dimension"),z_dimension:un("z_dimension"),dimension_units:un("dimension_unit"),object:un("has_object_reference")},spatialPlacement:{source:un("placement_for"),target:un("placement_relative_to"),placement_date:or("dcterms")("created"),x_scaling:un("x_scaling"),y_scaling:un("y_scaling"),z_scaling:un("z_scaling"),scaling_units:un("scaling_unit"),x_rotation:un("x_rotation"),y_rotation:un("y_rotation"),z_rotation:un("z_rotation"),w_rotation:un("theta_rotation"),rotation_order:un("rotation_order"),rotation_units:un("rotation_unit"),x_translation:un("x_translation"),y_translation:un("y_translation"),z_translation:un("z_translation"),translation_units:un("translation_unit")}},ui={x:or("uberon"),body:or("uberon")("0013702")},YNe={x:or("cl"),cell:or("cl")("0000000")},Xb={x:or("fma")},X9=(or("lmha"),{body:ui.body,cell:YNe.cell,respiratory_system:ui.x("0001004"),colon:ui.x("0001155"),left_lung:ui.x("0002168"),right_lung:ui.x("0002167"),left_bronchus:ui.x("0002178"),right_bronchus:ui.x("0002177"),kidney:ui.x("0002113"),ureter:ui.x("0000056"),eye:ui.x("0000970"),fallopian_tube:ui.x("0003889"),knee:ui.x("0001465"),ovary:ui.x("0000992"),trachea:ui.x("0003126"),aorta:ui.x("0000947"),blood:ui.x("0000178"),bone_marrow:ui.x("0002371"),male_reproductive_system:ui.x("0000079"),lymph_node:ui.x("0000029"),blood_vasculature:ui.x("0004537"),brain:ui.x("0000955"),eye_left:ui.x("0004548"),eye_right:Xb.x("54449"),fallopian_tube_left:ui.x("0001303"),fallopian_tube_right:ui.x("0001302"),heart:ui.x("0000948"),kidney_left:ui.x("0004538"),kidney_right:ui.x("0004539"),knee_left:Xb.x("24978"),knee_right:Xb.x("24977"),large_intestine:ui.x("0000059"),liver:ui.x("0002107"),lungs:ui.x("0002048"),mesenteric_lymph_node:ui.x("0002509"),ovary_left:Xb.x("7214"),ovary_right:Xb.x("7213"),pancreas:ui.x("0001264"),pelvis:ui.x("0001270"),prostate_gland:ui.x("0002367"),skin:ui.x("0002097"),small_intestine:ui.x("0002108"),spleen:ui.x("0002106"),thymus:ui.x("0002370"),ureter_left:ui.x("0001223"),ureter_right:ui.x("0001222"),urinary_bladder:ui.x("0001255"),uterus:ui.x("0000995")});function BF(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}BF(md.spatialObjectReference),BF(md.spatialEntity),BF(md.spatialPlacement),new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]);const zm=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Pr=(Math,Math,{});function cPe(n,{precision:e=Pr.precision||4}={}){return n=function(n){return Math.round(n/Pr.EPSILON)*Pr.EPSILON}(n),"".concat(parseFloat(n.toPrecision(e)))}function Ah(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Zb(n,e,t){const i=Pr.EPSILON;t&&(Pr.EPSILON=t);try{if(n===e)return!0;if(Ah(n)&&Ah(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+cPe(this[i],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e=a+s)return this.clone();if(s>=a+i)return e.clone();const l=.5*(i+a+s);return oq.copy(o).scale((-i+l)/a).add(t),this.center.copy(oq),this.radius=l,this}expand(e){const t=(e=Jb.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}transform(e){this.center.transform(e);const t=function(n,e){var s=e[4],o=e[5],a=e[6],l=e[8],c=e[9],u=e[10];return n[0]=Math.hypot(e[0],e[1],e[2]),n[1]=Math.hypot(s,o,a),n[2]=Math.hypot(l,c,u),n}(Jb,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const t=(e=Jb.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}intersectPlane(e){const i=this.radius,s=e.normal.dot(this.center)+e.distance;return s<-i?zm.OUTSIDE:s0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return u8(this,this,e),this.check()}rotateY(e){return d8(this,this,e),this.check()}rotateZ(e){return h8(this,this,e),this.check()}scale(e){return fR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=CPe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return J0(this,e,t,i),this.check()}transformVector4(e,t=e){return kU(t,e,this),tq(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const APe=new Pn,TPe=new Pn,c1=new Pn,u1=new Pn,d1=new Pn,MPe=new Pn,DPe=new Pn;class GF{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=(new Pn).from(e),this.halfAxes=new Xo(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2);return[new Pn(e).len(),new Pn(t).len(),new Pn(i).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2),r=new Pn(e).normalize(),s=new Pn(t).normalize(),o=new Pn(i).normalize();return(new lq).fromMatrix3(new Xo([...r,...s,...o]))}fromCenterHalfSizeQuaternion(e,t,i){const r=new lq(i),s=(new Xo).fromQuaternion(r);return s[0]=s[0]*t[0],s[1]=s[1]*t[0],s[2]=s[2]*t[0],s[3]=s[3]*t[1],s[4]=s[4]*t[1],s[5]=s[5]*t[1],s[6]=s[6]*t[2],s[7]=s[7]*t[2],s[8]=s[8]*t[2],this.center=(new Pn).from(e),this.halfAxes=s,this}clone(){return new GF(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new HF){const t=this.halfAxes,i=t.getColumn(0,c1),r=t.getColumn(1,u1),s=t.getColumn(2,d1),o=APe.copy(i).add(r).add(s);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){const t=this.center,i=e.normal,r=this.halfAxes,s=i.x,o=i.y,a=i.z,l=Math.abs(s*r[0]+o*r[1]+a*r[2])+Math.abs(s*r[3]+o*r[4]+a*r[5])+Math.abs(s*r[6]+o*r[7]+a*r[8]),c=i.dot(t)+e.distance;return c<=-l?zm.OUTSIDE:c>=l?zm.INSIDE:zm.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=TPe.from(e).subtract(this.center),i=this.halfAxes,r=i.getColumn(0,c1),s=i.getColumn(1,u1),o=i.getColumn(2,d1),a=r.magnitude(),l=s.magnitude(),c=o.magnitude();r.normalize(),s.normalize(),o.normalize();let h,u=0;return h=Math.abs(t.dot(r))-a,h>0&&(u+=h*h),h=Math.abs(t.dot(s))-l,h>0&&(u+=h*h),h=Math.abs(t.dot(o))-c,h>0&&(u+=h*h),u}computePlaneDistances(e,t,i=[-0,-0]){let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const o=this.center,a=this.halfAxes,l=a.getColumn(0,c1),c=a.getColumn(1,u1),u=a.getColumn(2,d1),h=MPe.copy(l).add(c).add(u).add(o),p=DPe.copy(h).subtract(e);let g=t.dot(p);return r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).add(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),i[0]=r,i[1]=s,i}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,c1);t.transformAsPoint(e);const i=this.halfAxes.getColumn(1,u1);i.transformAsPoint(e);const r=this.halfAxes.getColumn(2,d1);return r.transformAsPoint(e),this.halfAxes=new Xo([...t,...i,...r]),this}getTransform(){throw new Error("not implemented")}}const cq=new Pn,uq=new Pn;class $F{constructor(e=[0,0,1],t=0){this.normal=new Pn,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return Ec(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=cq.from(e),this.normal.from(t).normalize();const i=-this.normal.dot(e);return this.distance=i,this}fromCoefficients(e,t,i,r){return this.normal.set(e,t,i),Ec(Zb(this.normal.len(),1)),this.distance=r,this}clone(e){return new $F(this.normal,this.distance)}equals(e){return Zb(this.distance,e.distance)&&Zb(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=uq.copy(this.normal).transformAsVector(e).normalize(),i=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(i,t)}projectPointOntoPlane(e,t=[0,0,0]){e=cq.from(e);const i=this.getPointDistance(e),r=uq.copy(this.normal).scale(i);return e.subtract(r).to(t)}}function bFe(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[md.ontologyNode.label.id]:"label",[t]:"parent",[md.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of function*(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,xn.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,Kb.fromRdf)(s.object):s.object.id;yield[r,o]}}(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function mq(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,xn.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=bFe(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,_q(r),r}function _q(n,e,t=new Set){const i=n.nodes[null!=e?e:n.root];if(i){i.children=i.children.filter(r=>!t.has(r)),i.children.forEach(r=>t.add(r));for(const r of i.children)_q(n,r,t),n.nodes[r]&&(n.nodes[r].parent=i["@id"])}}new Pn([1,0,0]),new Pn([0,1,0]),new Pn([0,0,1]),new Pn,new Pn,new $F(new Pn(1,0,0),0),new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,Math,new Xo,new Xo,new Xo,new Xo,new Xo,new Pn,new Pn,new Pn,new Pn,new Pn,new Xo,new Xo,new Xo,(0,fr.memoize)(function(n){const e=mq(n,X9.body.id,"body",md.asctb.part_of.id);return e.nodes[X9.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>"");const p1={[co_label.id]:"label",[co_description.id]:"description",[co_link.id]:"link"};Object.assign(Object.assign({},p1),{[co_providerName.id]:"providerName"}),Object.assign(Object.assign({},p1),{[co_technology.id]:"technology",[co_thumbnail.id]:"thumbnail"}),Object.assign(Object.assign({},p1),{[co_sampleType.id]:"sampleType",[co_sectionNumber.id]:"sectionNumber",[co_datasets.id]:"datasets"}),Object.assign(Object.assign({},p1),{[co_sampleType.id]:"sampleType",[co_sectionCount.id]:"sectionCount",[co_sectionSize.id]:"sectionSize",[co_sectionUnits.id]:"sectionUnits",[co_donor.id]:"donor",[co_spatialEntity.id]:"spatialEntityId",[co_sections.id]:"sections",[co_datasets.id]:"datasets"});const bq={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};function mu(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}let ZF;function Sc(){return ZF||(ZF=function(n,e){const t=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let e;return new Promise(t=>{const i=()=>indexedDB.databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}().then(()=>{const i=indexedDB.open("keyval-store");return i.onupgradeneeded=()=>i.result.createObjectStore(e),mu(i)});return(i,r)=>t.then(s=>r(s.transaction(e,i).objectStore(e)))}(0,"keyval")),ZF}function vq(n,e=Sc()){return e("readonly",t=>mu(t.get(n)))}const g1="Unknown Euler angle order",$m=.99999;class Ji extends bS{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return Ji.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(e){return Ji.RotationOrders[e]}get ELEMENTS(){return 4}constructor(e=0,t=0,i=0,r=Ji.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(e,t,i,r)}fromQuaternion(e){const[t,i,r,s]=e,o=i*i,a=-2*(o+r*r)+1,l=2*(t*i+s*r);let c=-2*(t*r-s*i);c=c>1?1:c,c=c<-1?-1:c;const p=Math.atan2(2*(i*r+s*t),-2*(t*t+o)+1),g=Math.asin(c),m=Math.atan2(l,a);return new Ji(p,g,m,Ji.RollPitchYaw)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}set(e=0,t=0,i=0,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=Number.isFinite(r)?r:this[3],this.check()}validate(){return function(n){return n>=0&&n<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}toArray4(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}toVector3(e=[-0,-0,-0]){return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}get x(){return this[0]}set x(e){this[0]=sr(e)}get y(){return this[1]}set y(e){this[1]=sr(e)}get z(){return this[2]}set z(e){this[2]=sr(e)}get alpha(){return this[0]}set alpha(e){this[0]=sr(e)}get beta(){return this[1]}set beta(e){this[1]=sr(e)}get gamma(){return this[2]}set gamma(e){this[2]=sr(e)}get phi(){return this[0]}set phi(e){this[0]=sr(e)}get theta(){return this[1]}set theta(e){this[1]=sr(e)}get psi(){return this[2]}set psi(e){this[2]=sr(e)}get roll(){return this[0]}set roll(e){this[0]=sr(e)}get pitch(){return this[1]}set pitch(e){this[1]=sr(e)}get yaw(){return this[2]}set yaw(e){this[2]=sr(e)}get order(){return this[3]}set order(e){this[3]=function(n){if(n<0&&n>=6)throw new Error(g1);return n}(e)}fromVector3(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}fromArray(e,t=0){return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}fromRollPitchYaw(e,t,i){return this.set(e,t,i,Ji.ZYX)}fromRotationMatrix(e,t=Ji.DefaultOrder){return this._fromRotationMatrix(e,t),this.check()}getRotationMatrix(e){return this._getRotationMatrix(e)}getQuaternion(){const e=new gR;switch(this[4]){case Ji.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case Ji.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case Ji.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case Ji.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case Ji.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case Ji.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(g1)}}_fromRotationMatrix(e,t=Ji.DefaultOrder){const i=e.elements,r=i[0],s=i[4],o=i[8],a=i[1],l=i[5],c=i[9],u=i[2],h=i[6],p=i[10];switch(t=t||this[3]){case Ji.XYZ:this[1]=Math.asin(Va(o,-1,1)),Math.abs(o)<$m?(this[0]=Math.atan2(-c,p),this[2]=Math.atan2(-s,r)):(this[0]=Math.atan2(h,l),this[2]=0);break;case Ji.YXZ:this[0]=Math.asin(-Va(c,-1,1)),Math.abs(c)<$m?(this[1]=Math.atan2(o,p),this[2]=Math.atan2(a,l)):(this[1]=Math.atan2(-u,r),this[2]=0);break;case Ji.ZXY:this[0]=Math.asin(Va(h,-1,1)),Math.abs(h)<$m?(this[1]=Math.atan2(-u,p),this[2]=Math.atan2(-s,l)):(this[1]=0,this[2]=Math.atan2(a,r));break;case Ji.ZYX:this[1]=Math.asin(-Va(u,-1,1)),Math.abs(u)<$m?(this[0]=Math.atan2(h,p),this[2]=Math.atan2(a,r)):(this[0]=0,this[2]=Math.atan2(-s,l));break;case Ji.YZX:this[2]=Math.asin(Va(a,-1,1)),Math.abs(a)<$m?(this[0]=Math.atan2(-c,l),this[1]=Math.atan2(-u,r)):(this[0]=0,this[1]=Math.atan2(o,p));break;case Ji.XZY:this[2]=Math.asin(-Va(s,-1,1)),Math.abs(s)<$m?(this[0]=Math.atan2(h,l),this[1]=Math.atan2(o,r)):(this[0]=Math.atan2(-c,p),this[1]=0);break;default:throw new Error(g1)}return this[3]=t,this}_getRotationMatrix(e){const t=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],i=this.x,r=this.y,s=this.z,o=Math.cos(i),a=Math.cos(r),l=Math.cos(s),c=Math.sin(i),u=Math.sin(r),h=Math.sin(s);switch(this[3]){case Ji.XYZ:{const p=o*l,g=o*h,m=c*l,w=c*h;t[0]=a*l,t[4]=-a*h,t[8]=u,t[1]=g+m*u,t[5]=p-w*u,t[9]=-c*a,t[2]=w-p*u,t[6]=m+g*u,t[10]=o*a;break}case Ji.YXZ:{const p=a*l,g=a*h,m=u*l,w=u*h;t[0]=p+w*c,t[4]=m*c-g,t[8]=o*u,t[1]=o*h,t[5]=o*l,t[9]=-c,t[2]=g*c-m,t[6]=w+p*c,t[10]=o*a;break}case Ji.ZXY:{const p=a*l,g=a*h,m=u*l,w=u*h;t[0]=p-w*c,t[4]=-o*h,t[8]=m+g*c,t[1]=g+m*c,t[5]=o*l,t[9]=w-p*c,t[2]=-o*u,t[6]=c,t[10]=o*a;break}case Ji.ZYX:{const p=o*l,g=o*h,m=c*l,w=c*h;t[0]=a*l,t[4]=m*u-g,t[8]=p*u+w,t[1]=a*h,t[5]=w*u+p,t[9]=g*u-m,t[2]=-u,t[6]=c*a,t[10]=o*a;break}case Ji.YZX:{const p=o*a,g=o*u,m=c*a,w=c*u;t[0]=a*l,t[4]=w-p*h,t[8]=m*h+g,t[1]=h,t[5]=o*l,t[9]=-c*l,t[2]=-u*l,t[6]=g*h+m,t[10]=p-w*h;break}case Ji.XZY:{const p=o*a,g=o*u,m=c*a,w=c*u;t[0]=a*l,t[4]=-h,t[8]=u*l,t[1]=p*h+w,t[5]=o*l,t[9]=g*h-m,t[2]=m*h-g,t[6]=c*l,t[10]=w*h+p;break}default:throw new Error(g1)}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}toQuaternion(){const e=Math.cos(.5*this.yaw),t=Math.sin(.5*this.yaw),i=Math.cos(.5*this.roll),r=Math.sin(.5*this.roll),s=Math.cos(.5*this.pitch),o=Math.sin(.5*this.pitch);return new gR(e*r*s-t*i*o,e*i*o+t*r*s,t*i*s-e*r*o,e*i*s+t*r*o)}}var m1,FFe=new Uint8Array(16);function kFe(){if(!m1&&!(m1="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return m1(FFe)}const LFe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,jFe=function(n){return"string"==typeof n&&LFe.test(n)};for(var ho=[],e2=0;e2<256;++e2)ho.push((e2+256).toString(16).substr(1));const HFe=function(n,e,t){var i=(n=n||{}).random||(n.rng||kFe)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e){t=t||0;for(var r=0;r<16;++r)e[t+r]=i[r];return e}return function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(ho[n[e+0]]+ho[n[e+1]]+ho[n[e+2]]+ho[n[e+3]]+"-"+ho[n[e+4]]+ho[n[e+5]]+"-"+ho[n[e+6]]+ho[n[e+7]]+"-"+ho[n[e+8]]+ho[n[e+9]]+"-"+ho[n[e+10]]+ho[n[e+11]]+ho[n[e+12]]+ho[n[e+13]]+ho[n[e+14]]+ho[n[e+15]]).toLowerCase();if(!jFe(t))throw TypeError("Stringified UUID is invalid");return t}(i)};function*t2(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,xn.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,Kb.fromRdf)(s.object):s.object.id;yield[r,o]}}function dp(n,e,t,i){const r={"@id":e,"@type":t};for(const[s,o]of Object.entries(i))for(const a of(0,xn.readQuads)(n,r["@id"],s,null,null)){const l="Literal"===a.object.termType?(0,Kb.fromRdf)(a.object):a.object.id;r[o]=l}return r}const ar=xn.Util.prefixes({base:"http://purl.org/ccf/latest/ccf.owl#",ccf:"http://purl.org/ccf/",fma:"http://purl.org/sig/ont/fma/fma",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/"},xn.DataFactory),wq={x:ar("rdf"),type:ar("rdf")("type")},dn=(ar("rdfs"),ar("rdfs")("label"),ar("rdfs")("comment"),ar("rdfs")("isDefinedBy"),ar("rdfs")("seeAlso"),ar("ccf")),yi={id:ar("ccf")("has_registration_location"),label:ar("rdfs")("label"),description:ar("rdfs")("comment"),link:dn("url"),sex:dn("sex"),age:dn("age"),bmi:dn("bmi"),Male:xn.DataFactory.literal("Male"),Female:xn.DataFactory.literal("Female"),consortiumName:dn("consortium_name"),providerName:dn("tissue_provider_name"),providerUUID:dn("tissue_provider_uuid"),donor:dn("comes_from"),sections:dn("subdivided_into_sections"),datasets:dn("generates_dataset"),sampleType:dn("sample_type"),TissueBlock:xn.DataFactory.literal("Tissue Block"),TissueSection:xn.DataFactory.literal("Tissue Section"),NonStandard:xn.DataFactory.literal("Non-standard"),sectionCount:dn("section_count"),sectionSize:dn("section_size"),sectionUnits:dn("section_size_unit"),sectionNumber:dn("section_number"),spatialEntity:dn("has_registration_location"),ontologyTerms:dn("has_ontology_term"),cellTypeTerms:dn("has_cell_type_term"),technology:dn("technology"),thumbnail:dn("thumbnail")},ki={x:dn,base:ar("base"),ontologyNode:{label:dn("ccf_pref_label"),parent:dn("ccf_part_of"),children:dn("ccf_part_of"),rui_rank:dn("rui_rank"),synonymLabels:xn.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:dn("ccf_part_of"),ct_is_a:dn("ccf_ct_isa"),located_in:dn("ccf_located_in"),characterizes:dn("ccf_characterizes")},spatial:{Female:ar("base")("VHFemale"),Male:ar("base")("VHMale"),BothSexes:ar("base")("VHBothSexes"),FemaleOrgans:ar("base")("VHFemaleOrgans"),MaleOrgans:ar("base")("VHMaleOrgans")},SpatialObjectReference:dn("spatial_object_reference"),SpatialEntity:dn("spatial_entity"),SpatialPlacement:dn("spatial_placement"),spatialObjectReference:{file:dn("file_url"),file_format:dn("file_format"),file_subpath:dn("file_subpath")},extractionSet:{label:ar("rdfs")("label"),rui_rank:dn("rui_rank")},spatialEntity:{label:ar("rdfs")("label"),description:ar("rdfs")("comment"),creator:ar("dcterms")("creator"),creator_first_name:dn("creator_first_name"),creator_last_name:dn("creator_last_name"),creator_orcid:dn("creator_orcid"),creation_date:ar("dcterms")("created"),updated_date:dn("updated_date"),ccf_annotations:dn("collides_with"),representation_of:dn("representation_of"),reference_organ:dn("has_reference_organ"),extraction_set_for:dn("extraction_set_for"),extraction_set:dn("has_extraction_set"),sex:dn("organ_owner_sex"),side:dn("organ_side"),rui_rank:dn("rui_rank"),slice_thickness:dn("slice_thickness"),slice_count:dn("slice_count"),x_dimension:dn("x_dimension"),y_dimension:dn("y_dimension"),z_dimension:dn("z_dimension"),dimension_units:dn("dimension_unit"),object:dn("has_object_reference")},spatialPlacement:{source:dn("placement_for"),target:dn("placement_relative_to"),placement_date:ar("dcterms")("created"),x_scaling:dn("x_scaling"),y_scaling:dn("y_scaling"),z_scaling:dn("z_scaling"),scaling_units:dn("scaling_unit"),x_rotation:dn("x_rotation"),y_rotation:dn("y_rotation"),z_rotation:dn("z_rotation"),w_rotation:dn("theta_rotation"),rotation_order:dn("rotation_order"),rotation_units:dn("rotation_unit"),x_translation:dn("x_translation"),y_translation:dn("y_translation"),z_translation:dn("z_translation"),translation_units:dn("translation_unit")}},di={x:ar("uberon"),body:ar("uberon")("0013702")},$Fe={x:ar("cl"),cell:ar("cl")("0000000")},nv={x:ar("fma")},bd=(ar("lmha"),{body:di.body,cell:$Fe.cell,respiratory_system:di.x("0001004"),colon:di.x("0001155"),left_lung:di.x("0002168"),right_lung:di.x("0002167"),left_bronchus:di.x("0002178"),right_bronchus:di.x("0002177"),kidney:di.x("0002113"),ureter:di.x("0000056"),eye:di.x("0000970"),fallopian_tube:di.x("0003889"),knee:di.x("0001465"),ovary:di.x("0000992"),trachea:di.x("0003126"),aorta:di.x("0000947"),blood:di.x("0000178"),bone_marrow:di.x("0002371"),male_reproductive_system:di.x("0000079"),lymph_node:di.x("0000029"),blood_vasculature:di.x("0004537"),brain:di.x("0000955"),eye_left:di.x("0004548"),eye_right:nv.x("54449"),fallopian_tube_left:di.x("0001303"),fallopian_tube_right:di.x("0001302"),heart:di.x("0000948"),kidney_left:di.x("0004538"),kidney_right:di.x("0004539"),knee_left:nv.x("24978"),knee_right:nv.x("24977"),large_intestine:di.x("0000059"),liver:di.x("0002107"),lungs:di.x("0002048"),mesenteric_lymph_node:di.x("0002509"),ovary_left:nv.x("7214"),ovary_right:nv.x("7213"),pancreas:di.x("0001264"),pelvis:di.x("0001270"),prostate_gland:di.x("0002367"),skin:di.x("0002097"),small_intestine:di.x("0002108"),spleen:di.x("0002106"),thymus:di.x("0002370"),ureter_left:di.x("0001223"),ureter_right:di.x("0001222"),urinary_bladder:di.x("0001255"),uterus:di.x("0000995")});function n2(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}const _1={spatialObjectReference:n2(ki.spatialObjectReference),spatialEntity:n2(ki.spatialEntity),spatialPlacement:n2(ki.spatialPlacement)};function Eq(n,e){const t=dp(n,e,"ExtractionSet",_1.spatialEntity);return t.extractionSites=(0,fr.sortBy)(n.getSubjects(ki.spatialEntity.extraction_set,e,null).map(i=>hp(n,i.id)),["rui_rank"]),t}function hp(n,e){const t=dp(n,e,"SpatialEntity",_1.spatialEntity);return t.object&&(t.object=function(n,e){return dp(n,e,"SpatialObjectReference",_1.spatialObjectReference)}(n,t.object)),t.ccf_annotations&&(t.ccf_annotations=n.getObjects(e,ki.spatialEntity.ccf_annotations,null).map(i=>i.id)),n.forSubjects(i=>t.entityId=i.id,yi.spatialEntity,e,null),t}function XFe(n,e){const t=dp(n,e,"SpatialPlacement",_1.spatialPlacement);return t.source&&(t.source=hp(n,t.source)),t.target&&(t.target=hp(n,t.target)),t}function Sq(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(EV),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}class xq{constructor(e){this.db=e,this.createGraph()}createGraph(){this.graph=new HNe.DirectedGraph;const e=this.db.store;e.forSubjects(i=>{this.addNode(i.id,"SpatialObjectReference")},wq.type,ki.SpatialObjectReference,null),e.forSubjects(i=>{this.addNode(i.id,"SpatialEntity")},wq.type,ki.SpatialEntity,null);const t={};for(const i of(0,xn.readQuads)(e,null,ki.spatialPlacement.source,null,null))t[i.subject.id]=i.object.id;for(const i of(0,xn.readQuads)(e,null,ki.spatialPlacement.target,null,null)){const r=t[i.subject.id];r&&this.addEdge(i.subject.id,r,i.object.id,"SpatialPlacement")}}addNode(e,t){this.graph.mergeNode(e,{type:t})}addEdge(e,t,i,r){this.graph.mergeDirectedEdge(t,i,{type:r,id:e})}getTransformationMatrix(e,t){if(e===t)return new qn(qn.IDENTITY);if(!this.graph.hasNode(e)||!this.graph.hasNode(t))return;const i=this.db.store,r=new qn(qn.IDENTITY),s=$Ne()(this.graph,e,t);if(s&&s.length>0){s.reverse();let o="";for(const a of s)o&&Sq(r,XFe(i,this.graph.getEdgeAttribute(a,o,"id"))),o=a;return r}}getSpatialPlacement(e,t){const i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,fr.get)(e,"placement[0]",(0,fr.get)(e,"placement",void 0));let s;if(r&&this.graph.hasNode(r.target)?(s=this.getTransformationMatrix(r.target,t),s&&(s=Sq(s,r))):i&&(s=this.getTransformationMatrix(i,t)),s){const o=(new Ji).fromRotationMatrix(s,Ji.XYZ),a=s.getTranslation().map(u=>1e3*u),l=o.toVector3().map(vse),c=s.getScale().map(u=>u<1&&u>.999999?1:u);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${HFe()}_placement`,"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:c[0],y_scaling:c[1],z_scaling:c[2],scaling_units:"ratio",x_rotation:l[0],y_rotation:l[1],z_rotation:l[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}class Cq{constructor(e){this.db=e}getSpatialEntity(e){return hp(this.db.store,e)}getExtractionSets(e){return function(n,e){return(0,fr.sortBy)(n.getSubjects(ki.spatialEntity.extraction_set_for,e,null).map(t=>Eq(n,t.id)),["rui_rank"])}(this.db.store,e)}getExtractionSet(e){return Eq(this.db.store,e)}getAnatomicalStructures(e){return function(n,e){return(0,fr.sortBy)(n.getSubjects(ki.spatialEntity.reference_organ,e,null).map(t=>hp(n,t.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,e)}getReferenceOrgans(){return function(n){const e=[];return n.forEach(t=>{t.subject.id===t.object.id&&e.push(hp(n,t.subject.id))},null,ki.spatialEntity.reference_organ,null,null),(0,fr.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(e){let t;switch(null==e?void 0:e.sex){case"Male":t=ki.spatial.Male.id;break;case"Female":t=ki.spatial.Female.id;break;case"Both":default:t=ki.spatial.BothSexes.id}return this.getSpatialEntity(t)}getReferenceOrganSets(e){let t=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":t=t.filter(i=>"Male"===i.sex);break;case"Female":t=t.filter(i=>"Female"===i.sex)}return(null==e?void 0:e.debug)&&(t=t.map(i=>[[i],this.getAnatomicalStructures(i["@id"])]).reduce((i,[r,s])=>i.concat(s.length>0?s:r),[])),t}getReferenceSceneNodes(e){const t=this.getReferenceBody(e),i=[];let r=[...this.getReferenceOrganSets(e).map(s=>{const o="http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of,a=this.getSceneNode(s,t,{color:[255,255,255,255],opacity:o?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!o});return o&&a?void i.push(a):a})];return i.length>0&&(r=[...i,...r]),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(ki.base("VHRightKidney").id),t,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHLeftKidney").id),t,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC1").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC2").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC3").id),t,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(s=>void 0!==s)}getReferenceOrganScene(e,t){var i,r;const s=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(i=null==t?void 0:t.sex)||void 0===i?void 0:i.toLowerCase()),o=this.getReferenceOrgans().filter(a=>a.representation_of===e&&(!s||a.sex===(null==t?void 0:t.sex)));if(o.length>0){const a=o[0],c=this.getSceneNode(a,a,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===a.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),u=(null!==(r=this.db.getSpatialEntities(t))&&void 0!==r?r:[]).map(h=>this.getSceneNode(h,a,{color:[255,255,255,229.5]}));return[c].concat(u).filter(h=>void 0!==h)}return[]}getEntitySceneNodes(e){const t=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(i=>this.getSceneNode(i,t,{color:[255,255,255,229.5]})).filter(i=>void 0!==i)}getSceneNode(e,t,i={}){var r,s,o,a;const l=null===(s=null===(r=null==e?void 0:e.object)||void 0===r?void 0:r.file_format)||void 0===s?void 0:s.startsWith("model/gltf");let u=this.db.graph.getTransformationMatrix(l&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(l)u=new qn(qn.IDENTITY).rotateX(EV(90)).multiplyLeft(u);else{let h;switch(e.dimension_units){case"centimeter":h=.01;break;case"millimeter":h=.001;break;case"meter":default:h=1}const p=[e.x_dimension,e.y_dimension,e.z_dimension].map(g=>g*h/2);u.scale(p)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:l?null===(o=e.object)||void 0===o?void 0:o.file:void 0,scenegraphNode:l?null===(a=e.object)||void 0===a?void 0:a.file_subpath:void 0,transformMatrix:u,tooltip:e.label},i)}}getScene(e){return[...this.getReferenceSceneNodes(e),...this.getEntitySceneNodes(e)]}}const y1="https://entity.api.hubmapconsortium.org/entities/",Aq=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),ZFe={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},Wm={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},Tq="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld";class t2e{constructor(e,t="",i="",r){var s,o;if(this.data=e,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const c=this.data.descendants||[],u=(this.data.ancestors||[]).find(Be=>"Donor"===Be.entity_type);this.donor=this.getDonor(u,i);const h=this.getRuiLocation(e,this.donor);h?this.rui_location=h:this.bad=!0,Wm[e.group_uuid]||(Wm[e.group_uuid]=e.group_name);const p=new Date(e.last_modified_timestamp).toLocaleDateString(),g=Wm[e.group_uuid]||e.group_name,m=e.created_by_user_displayname;this["@id"]=y1+e.uuid,this.label=`Registered ${p}, ${m}, ${g}`,this.link=`${i}browse/sample/${e.uuid}`;const w={},C=[];this.sections=C;const H=[];this.datasets=H;for(const Be of c.filter(et=>"Sample"===et.entity_type)){const et=this.getSection(Be,e,i);w[Be.submission_id]=et,C.push(et),et.section_number=null!==(s=et.section_number)&&void 0!==s?s:C.length}for(const Be of c)if("Dataset"===Be.entity_type){const et=this.getDataset(Be,t,i,r),wt=(0,fr.get)(Be,["ingest_metadata","metadata","tissue_id"]);w[wt]?null===(o=w[wt].datasets)||void 0===o||o.push(et):H.push(et)}const U=null!=h?h:{},de=`${U.x_dimension} x ${U.y_dimension} x ${U.z_dimension} ${U.dimension_units}`;this.section_count=U.slice_count||C.length;const Ae=parseFloat((U.slice_thickness||(U.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=Ae;const Pe=U.dimension_units||"millimeter";this.section_units=Pe,this.description=`${de}, ${Ae} ${Pe}, ${this.section_count} Sections`,C.forEach((Be,et)=>{Be.description=`${U.x_dimension} x ${U.y_dimension} x ${Ae} ${Pe}, ${Ae} ${Pe}, ${Be.description}`,Be.section_number=et+1})}getSection(e,t,i){const r=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":y1+e.uuid,"@type":"Sample",label:`Registered ${r}, ${e.created_by_user_displayname}, ${Wm[e.group_uuid]||e.group_name}`,description:`${t.sample_category}`,link:`${i}browse/sample/${e.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(e,t="",i="",r){var s;const o=new Date(e.last_modified_timestamp).toLocaleDateString(),a=Wm[e.group_uuid]||e.group_name,l=e.created_by_user_displayname,c=[...e.data_types,(0,fr.get)(e,["ingest_metadata","metadata","assay_type"],"")],u=c.join("|").toLowerCase();let h,p="assets/icons/ico-unknown.svg";return-1!==u.indexOf("10x")?(h="10x",p="assets/icons/ico-bulk-10x.svg"):-1!==u.indexOf("af")?(h="AF",p="assets/icons/ico-spatial-af.svg"):-1!==u.indexOf("codex")?(h="CODEX",p="assets/icons/ico-spatial-codex.svg"):-1!==u.indexOf("imc")?(h="IMC",p="assets/icons/ico-spatial-imc.svg"):-1!==u.indexOf("lc")&&-1===u.indexOf("af")?(h="LC",p="assets/icons/ico-bulk-lc.svg"):h=-1!==u.indexOf("maldi")?"MALDI":-1!==u.indexOf("pas")?"PAS":"OTHER",p=null!==(s=this.getDatasetThumbnail(e,t,r))&&void 0!==s?s:p,{"@id":y1+e.uuid,"@type":"Dataset",label:`Registered ${o}, ${l}, ${a}`,description:`Data/Assay Types: ${c.join(", ")}`,link:`${i}browse/dataset/${e.uuid}`,technology:h,thumbnail:p}}getDatasetThumbnail(e,t,i){if(e.thumbnail_file){const r=e.thumbnail_file;return`${t}/${r.file_uuid}/${r.filename}`+(i?`?token=${i}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){const r=(0,fr.get)(e,"metadata.files",[]).filter(s=>/\.(ome\.tif|ome\.tiff)$/.test(s.rel_path)).filter(s=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(s.rel_path)).filter(s=>Aq.has(s.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(s=>`${t}/${e.uuid}/${s.rel_path}`+(i?`?token=${i}`:""));if(r.length>0){const s=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(Aq.has(s))return`assets/thumbnails/TMC-Vanderbilt/DR1/${s}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){const r=ZFe[e.hubmap_id];if(r)return`assets/thumbnails/TMC-Florida/${r}`}}getDonor(e,t){const i=(e.description||"").toLowerCase();let r;i.includes("female")?r="Female":i.includes("male")&&(r="Male");const s=i.match(/age ([0-9]+)/);let o,a;s&&(o=(0,fr.toNumber)(s[1]));for(const p of(0,fr.get)(e,"metadata.organ_donor_data",(0,fr.get)(e,"metadata.living_donor_data",[])))"Feminine gender"===p.preferred_term||"Female"===p.preferred_term?r="Female":"Masculine gender"===p.preferred_term||"Male"===p.preferred_term?r="Male":"Current chronological age"===p.preferred_term||"Age"===p.preferred_term?o=(0,fr.toNumber)(p.data_value):"Body mass index"===p.preferred_term&&(a=(0,fr.toNumber)(p.data_value));let l="";r&&o&&(l+=`${r}, Age ${o}`,a&&(l+=`, BMI ${a.toFixed(1)}`));const c=new Date(e.last_modified_timestamp).toLocaleDateString(),u=Wm[e.group_uuid]||e.group_name;return{"@id":y1+e.uuid,"@type":"Donor",label:l,description:`Entered ${c}, ${e.created_by_user_displayname}, ${u}`,link:`${t}browse/donor/${e.uuid}`,age:o,sex:r,bmi:a,consortium_name:"HuBMAP",provider_name:u,provider_uuid:e.group_uuid,samples:[]}}getRuiLocation(e,t){var i;let r,s=e.rui_location;if(s&&("string"==typeof s&&(s=JSON.parse(s)),s.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):s["@id"]&&(r=s),s["@context"]="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"),r){const o=null!==(i=(0,fr.get)(r,["placement","target"]))&&void 0!==i?i:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,fr.set)(r,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,fr.set)(r,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return r}getTissueBlock(){return(0,fr.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const i2e=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.metadata.living_donor_data.preferred_term","ancestors.metadata.living_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","sample_category"],r2e={exists:{field:"rui_location"}};function Mq(n,e,t){return JSON.stringify({version:!0,from:n,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=t?t:r2e,_source:{includes:i2e}})}function r2(n,e){return Fi(this,void 0,void 0,function*(){try{const t=yield fetch(n,e),i=yield t.text();return t.ok||i.startsWith("https")?i.startsWith("https")?yield fetch(i).then(s=>s.json()):JSON.parse(i):void 0}catch(t){return}})}function Dq(n,e,t,i,r="",s=""){return Fi(this,void 0,void 0,function*(){let o;if("static"===e?o=yield r2(n):"search-api"===e&&(o=yield function(n,e,t){return Fi(this,void 0,void 0,function*(){const i=1e4,r=function(n){const e=new Headers;return e.append("Content-type","application/json"),n&&e.append("Authorization",`Bearer ${n}`),e}(e),s=Mq(0,i,t),o=yield r2(n,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let h=i;h!h))return;const u=c.map(h=>h.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(n,i,t)),o)return function(n,e="",t="",i,r=!1){const o={},a=(0,fr.get)(n,"hits.hits",[]).map(c=>(0,fr.get)(c,"_source",{})).sort((c,u)=>c.uuid.localeCompare(u.uuid)).map(c=>new t2e(c,e,t,i).toJsonLd());for(const c of a){const u=c["@id"];o[u]?o[u].samples.push(c.samples[0]):o[u]=c}const l=Object.values(o);return r&&(function(n){let e=[],t=0;for(const i of n.filter(r=>r.samples.length>1)){const r=i.samples;for(let s=0;sc["@id"]===o)&&(r[s].deleteMe=!0,t++)}i.samples=r.filter(s=>!0!==s.deleteMe)}t>0&&console.log(`\u26a0 ${t} sections identified as blocks`)}(l),console.log(l.map(c=>Object.assign({"@context":Tq},c)))),{"@context":Tq,"@graph":l}}(o,r,s,i);console.warn(`Unable to load ${n} as HuBMAP Data`)})}function iv(n,e,t){const i=new Set;for(const r of e)for(const s of(0,xn.readQuads)(n,r,t,null,null))i.add(s.object.id);return i}const u2e={[ki.spatialEntity.x_dimension.id]:"x",[ki.spatialEntity.y_dimension.id]:"y",[ki.spatialEntity.z_dimension.id]:"z"};function h2e(n,e,t,i){const r=e.getTransformationMatrix(t,i);let s;if(r){const o=r.getTranslation(),a=function(n,e){const t=dp(n,e,"Dimensions",u2e);return[t.x,t.y,t.z]}(n,t).map(c=>c/1e3/2),l=(new Ji).fromRotationMatrix(r,Ji.XYZ).toQuaternion().normalize().calculateW();s=(new GF).fromCenterHalfSizeQuaternion(o,a,l)}return s}function f2e(n,e,t,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of t){const p=h2e(n,e,h,l);p&&p.distanceSquaredTo([r,s,o].map(m=>m/1e3))<=u&&c.add(h)}return c}function b1(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,xn.readQuads)(n,c,yi.donor,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function s2(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,xn.readQuads)(n,c,yi.spatialEntity,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function rv(n,e){return function(t){n.has(t.id)&&e.add(t.id)}}function Iq(n,e,t){const i=new Set;for(const r of t){const s=xn.DataFactory.namedNode(r);n.forSubjects(rv(e,i),ki.spatialEntity.ccf_annotations,s,null)}return i}function Oq(n,e){const t=function(n,e){const t=new Map;for(const i of n)for(const r of(0,xn.readQuads)(e,i,yi.spatialEntity,null,null))t.has(r.object.id)?t.get(r.object.id).add(i):t.set(r.object.id,new Set([i]));return t}(n,e),i=new Map;for(const r of t.keys()){const s=t.get(r);for(const o of(0,xn.readQuads)(e,r,ki.spatialEntity.ccf_annotations,null,null))if(i.has(o.object.id)){const a=i.get(o.object.id);s.forEach(l=>a.add(l))}else i.set(o.object.id,new Set(s))}return i}function M2e(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[ki.ontologyNode.label.id]:"label",[t]:"parent",[ki.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of t2(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function Rq(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,xn.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=M2e(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,Nq(r),r}function Nq(n,e,t=new Set){const i=n.nodes[null!=e?e:n.root];if(i){i.children=i.children.filter(r=>!t.has(r)),i.children.forEach(r=>t.add(r));for(const r of i.children)Nq(n,r,t),n.nodes[r]&&(n.nodes[r].parent=i["@id"])}}const Pq=(0,fr.memoize)(function(n){const e=Rq(n,bd.body.id,"body",ki.asctb.part_of.id);return e.nodes[bd.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),v1={[yi.label.id]:"label",[yi.description.id]:"description",[yi.link.id]:"link"},O2e=Object.assign(Object.assign({},v1),{[yi.providerName.id]:"providerName"}),R2e=Object.assign(Object.assign({},v1),{[yi.technology.id]:"technology",[yi.thumbnail.id]:"thumbnail"}),N2e=Object.assign(Object.assign({},v1),{[yi.sampleType.id]:"sampleType",[yi.sectionNumber.id]:"sectionNumber",[yi.datasets.id]:"datasets"}),P2e=Object.assign(Object.assign({},v1),{[yi.sampleType.id]:"sampleType",[yi.sectionCount.id]:"sectionCount",[yi.sectionSize.id]:"sectionSize",[yi.sectionUnits.id]:"sectionUnits",[yi.donor.id]:"donor",[yi.spatialEntity.id]:"spatialEntityId",[yi.sections.id]:"sections",[yi.datasets.id]:"datasets"});function F2e(n,e){return dp(n,e,"Donor",O2e)}function Fq(n,e){return dp(n,e,"Dataset",R2e)}function k2e(n,e){const t={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of t2(n,e,N2e))if("datasets"===i){const s=Fq(n,r);t[i].push(s)}else t[i]=r;return t}class B2e{constructor(e){this.database=e,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const e=Date.now();return this.database.connect().then(t=>Fi(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var i;this.status="Error",this.message=null!==(i=null==t?void 0:t.message)&&void 0!==i?i:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-e})}}const j2e={"@context":{"@base":"http://purl.org/ccf/","@vocab":"http://purl.org/ccf/",ccf:"http://purl.org/ccf/",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dcterms:"http://purl.org/dc/terms/",label:"rdfs:label",description:"rdfs:comment",link:"ccf:url",sex:"ccf:sex",age:"ccf:age",bmi:"ccf:bmi",consortium_name:"ccf:consortium_name",provider_name:"ccf:tissue_provider_name",provider_uuid:"ccf:tissue_provider_uuid",donor:{"@id":"ccf:comes_from","@type":"@id"},samples:{"@reverse":"donor"},sections:{"@id":"ccf:subdivided_into_sections","@type":"@id"},datasets:{"@id":"ccf:generates_dataset","@type":"@id"},sample_type:"ccf:sample_type",section_count:"ccf:section_count",section_size:"ccf:section_size",section_units:"ccf:section_size_unit",section_number:"ccf:section_number",rui_location:{"@id":"ccf:has_registration_location","@type":"@id"},ccf_annotations:{"@id":"ccf:collides_with","@type":"@id","@container":"@set"},representation_of:{"@id":"ccf:representation_of","@type":"@id"},reference_organ:{"@id":"ccf:has_reference_organ","@type":"@id"},extraction_set_for:{"@id":"ccf:extraction_set_for","@type":"@id"},extraction_set:{"@id":"ccf:has_extraction_set","@type":"@id"},organ_owner_sex:"ccf:organ_owner_sex",side:"ccf:organ_side",rui_rank:"ccf:rui_rank",slice_thickness:"ccf:slice_thickness",slice_count:"ccf:slice_count",object:{"@id":"ccf:has_object_reference","@type":"@id"},creation_date:"dcterms:created",updated_date:"ccf:updated_date",creator:"dcterms:creator",creator_first_name:"ccf:creator_first_name",creator_last_name:"ccf:creator_last_name",placement:{"@reverse":"ccf:placement_for"},placement_date:"dcterms:created",rotation_order:"ccf:rotation_order",dimension_units:"ccf:dimension_unit",rotation_units:"ccf:rotation_unit",scaling_units:"ccf:scaling_unit",translation_units:"ccf:translation_unit",source:{"@id":"ccf:placement_for","@type":"@id"},target:{"@id":"ccf:placement_relative_to","@type":"@id"},x_rotation:"ccf:x_rotation",y_rotation:"ccf:y_rotation",z_rotation:"ccf:z_rotation",x_scaling:"ccf:x_scaling",y_scaling:"ccf:y_scaling",z_scaling:"ccf:z_scaling",x_translation:"ccf:x_translation",y_translation:"ccf:y_translation",z_translation:"ccf:z_translation",x_dimension:"ccf:x_dimension",y_dimension:"ccf:y_dimension",z_dimension:"ccf:z_dimension",ontology_terms:{"@id":"ccf:has_ontology_term","@type":"@id"},technology:"ccf:technology",thumbnail:"ccf:thumbnail",file:"ccf:file_url",file_format:"ccf:file_format",file_subpath:"ccf:file_subpath"}};function o2(n){return JSON.parse(n,(e,t)=>"ccf_annotations"===e&&Array.isArray(t)?t.map(i=>(null==i?void 0:i.startsWith("http://purl.obolibrary.org/obo/FMA_"))?i.replace("http://purl.obolibrary.org/obo/FMA_","http://purl.org/sig/ont/fma/fma"):i):"@context"!==e||!t||"https://hubmapconsortium.github.io/hubmap-ontology/ccf-entity-context.jsonld"!==t&&"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld"!==t&&"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"!==t&&"http://purl.org/ccf/latest/ccf-entity.owl#"!==t["@base"]?t:j2e)}const U2e={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class z2e{constructor(e=U2e){this.options=e,this.store=new xn.Store(void 0,{factory:xn.DataFactory}),this.graph=new xq(this),this.scene=new Cq(this)}connect(e,t=!1){return Fi(this,void 0,void 0,function*(){return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return Fi(this,void 0,void 0,function*(){const e=(new Date).getTime(),t="ccf-database.last_modified",i="ccf-database",r=yield vq(t).catch(()=>{});let s;r&&e-new Date(+r).getTime()>36e5?yield function(n,e=Sc()){return e("readwrite",t=>(n.forEach(i=>t.delete(i)),mu(t.transaction)))}([i,t]).catch(()=>{}):s=yield vq(i).catch(()=>{}),s?yield this.deserialize(s):(yield this.doConnect(),function(n,e=Sc()){return e("readwrite",t=>(n.forEach(i=>t.put(i[1],i[0])),mu(t.transaction)))}([[i,this.serialize()],[t,""+e]]).catch(()=>{}))})}doConnect(){var e,t;return Fi(this,void 0,void 0,function*(){const i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],s=this.options.ccfOwlUrl;if(s.startsWith("{"))this.store=(0,xn.deserializeN3Store)(s,xn.DataFactory);else if(s.endsWith(".n3store.json")){const o=yield fetch(s).then(a=>a.text()).catch(()=>console.log("Couldn't locate serialized store."));o&&(this.store=(0,xn.deserializeN3Store)(o,xn.DataFactory))}else(null==s?void 0:s.length)>0&&r.push(s);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(Dq(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(o=>{if(o)return this.addDataSources([o])}))),i.push(this.addDataSources(r)),yield Promise.all(i),yield this.synchronize()})}addDataSources(e,t){return Fi(this,void 0,void 0,function*(){const i=null!=t?t:this.store;return yield Promise.all(e.map(r=>Fi(this,void 0,void 0,function*(){"string"==typeof r?(r.startsWith("http")||r.startsWith("assets/"))&&r.includes("jsonld")?(r=o2(r=yield fetch(r).then(s=>s.text())),yield(0,xn.addJsonLdToStore)(r,i)):r.endsWith("n3")?yield(0,xn.addN3ToStore)(r,i):r.endsWith("rdf")||r.endsWith("owl")||r.endsWith("xml")?yield(0,xn.addRdfXmlToStore)(r,i):(r=o2(r),yield(0,xn.addJsonLdToStore)(r,i)):(r=o2(JSON.stringify(r)),yield(0,xn.addJsonLdToStore)(r,i))}))),this})}synchronize(){return Fi(this,void 0,void 0,function*(){return yield new Promise(e=>{setTimeout(e,500)}),this.graph.createGraph(),function(n){var e,t,i;const r=Pq(n),s=new Map;for(const{subject:o,object:a}of(0,xn.readQuads)(n,null,ki.spatialEntity.representation_of,null,null)){const l=new Set([a.id]);let c=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;c&&!l.has(c);)l.add(c),c=null===(t=r.nodes[c])||void 0===t?void 0:t.parent;s.set(o.id,[...l].map(u=>xn.DataFactory.namedNode(u)))}for(const{object:o}of(0,xn.readQuads)(n,null,yi.spatialEntity,null,null))for(const{subject:a}of(0,xn.readQuads)(n,null,ki.spatialPlacement.source,o,null))for(const{object:l}of(0,xn.readQuads)(n,a,ki.spatialPlacement.target,null,null))for(const c of null!==(i=s.get(l.id))&&void 0!==i?i:[])n.addQuad(xn.DataFactory.namedNode(o.id),ki.spatialEntity.ccf_annotations,c)}(this.store),this})}serialize(){return(0,xn.serializeN3Store)(this.store)}deserialize(e){return Fi(this,void 0,void 0,function*(){this.store=(0,xn.deserializeN3Store)(e,xn.DataFactory),this.graph=new xq(this),this.scene=new Cq(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(e={}){return function(n,e,t){var i,r,s,o,a,l,c;let u=function(n){const e=new Set;return n.forSubjects(t=>e.add(t.id),yi.spatialEntity,null,null),e}(n);if(u.size>0&&(u=function(n,e,t=!0){const i=new Set;if(n.forSubjects(rv(e,i),yi.spatialEntity,null,null),!t){const r=new Set;return e.forEach(s=>i.has(s)?void 0:r.add(s)),r}return i}(n,u)),u.size>0&&("Male"===t.sex||"Female"===t.sex)){const h=t.sex;u=b1(n,u,p=>function(n,e,t){const i=new Set;return n.forSubjects(rv(e,i),yi.sex,yi[t],null),i}(n,p,h))}if(u.size>0&&(null===(i=t.tmc)||void 0===i?void 0:i.length)>0&&(u=b1(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=xn.DataFactory.literal(r);n.forSubjects(rv(e,i),yi.providerName,s,null)}return i}(n,h,t.tmc))),u.size>0&&(null===(r=t.technologies)||void 0===r?void 0:r.length)>0&&(u=function(n,e,t){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const h of(0,xn.readQuads)(n,u,yi.sections,null,null))a.add(h.object.id);for(const u of a)for(const h of(0,xn.readQuads)(n,u,yi.datasets,null,null))o.add(h.object.id),s.has(h.object.id)?null===(i=s.get(h.object.id))||void 0===i||i.push(u):s.set(h.object.id,[u]);const l=t(o),c=new Set;for(const u of l)for(const h of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(h);return c}(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=xn.DataFactory.literal(r);n.forSubjects(rv(e,i),yi.technology,s,null)}return i}(n,h,t.technologies))),u.size>0&&(null===(s=t.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=s2(n,u,h=>function(n,e,t,i){const r=new Set;for(const s of i)f2e(n,e,t,s).forEach(a=>r.add(a));return r}(n,e,h,t.spatialSearches))),u.size>0&&(null===(o=t.ontologyTerms)||void 0===o?void 0:o.length)>0){const h=t.ontologyTerms;-1===h.indexOf(bd.body.id)&&(u=s2(n,u,p=>Iq(n,p,h)))}if(u.size>0&&(null===(a=t.cellTypeTerms)||void 0===a?void 0:a.length)>0){const h=t.cellTypeTerms;-1===h.indexOf(bd.cell.id)&&(u=s2(n,u,p=>function(n,e,t){const i=new Set;for(const r of t)n.forObjects(s=>{i.add(s.id)},r,ki.asctb.located_in,null),r===bd.cell.id&&i.add(bd.body.id);return Iq(n,e,[...i])}(n,p,h)))}if(u.size>0&&2===(null===(l=t.ageRange)||void 0===l?void 0:l.length)&&(0,fr.isFinite)(t.ageRange[0])&&(0,fr.isFinite)(t.ageRange[1])){const h=Math.max(...t.ageRange),p=Math.min(...t.ageRange);1===p&&110===h||(u=b1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,xn.readQuads)(n,s,yi.age,null,null)){const a=(0,Kb.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,p,h)))}if(u.size>0&&2===(null===(c=t.bmiRange)||void 0===c?void 0:c.length)&&(0,fr.isFinite)(t.bmiRange[0])&&(0,fr.isFinite)(t.bmiRange[1])){const h=Math.max(...t.bmiRange),p=Math.min(...t.bmiRange);13===p&&83===h||(u=b1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,xn.readQuads)(n,s,yi.bmi,null,null)){const a=(0,Kb.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,p,h)))}return u}(this.store,this.graph,e)}get(e){return this.store.getQuads(xn.DataFactory.namedNode(e),null,null,null)}search(e={}){return[...this.getIds(e)].map(t=>this.get(t))}getSpatialEntities(e){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t=n.getObjects(xn.DataFactory.namedNode(e),yi.spatialEntity,null);if(t.length>0)return hp(n,t[0].id)}(this.store,t))}getDatabaseStatus(){return Fi(this,void 0,void 0,function*(){return this.status||(this.status=new B2e(this)),this.status.toJson()})}getDatasetTechnologyNames(){return Fi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,xn.readQuads)(n,null,yi.technology,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return Fi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,xn.readQuads)(n,null,yi.providerName,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(e){return Fi(this,void 0,void 0,function*(){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of t2(n,e,P2e))if("sections"===i){const s=k2e(n,r);t[i].push(s)}else if("datasets"===i){const s=Fq(n,r);t[i].push(s)}else t[i]="donor"===i?F2e(n,r):r;return t}(this.store,t))})}getAggregateResults(e){return Fi(this,void 0,void 0,function*(){return function(n,e){const t=iv(e,n,yi.donor.id),i=iv(e,t,yi.providerUUID.id),r=new Set;for(const l of n)for(const c of(0,xn.readQuads)(e,l,yi.spatialEntity,null,null))r.add(c.subject.id);const s=iv(e,r,yi.sections.id),o=new Set([...iv(e,r,yi.datasets.id),...iv(e,s,yi.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:t.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([l,c])=>({label:l,count:c}))}(this.getIds(e),this.store)})}getOntologyTermOccurences(e){return Fi(this,void 0,void 0,function*(){return function(n,e){const t={};return Oq(n,e).forEach((r,s)=>{t[s]=r.size}),t}(this.getIds(e),this.store)})}getCellTypeTermOccurences(e){return Fi(this,void 0,void 0,function*(){return function(n,e){var t,i;const r=Oq(n,e),s=new Map;for(const a of r.keys()){const l=r.get(a);for(const c of(0,xn.readQuads)(e,null,ki.asctb.located_in,a,null)){const u=c.subject.id;if(s.has(u)){const h=s.get(u);l.forEach(p=>h.add(p))}else s.set(u,new Set(l))}}const o={};return s.forEach((a,l)=>{o[l]=a.size}),o[bd.cell.id]=null!==(i=null===(t=r.get(bd.body.id))||void 0===t?void 0:t.size)&&void 0!==i?i:0,o}(this.getIds(e),this.store)})}getOntologyTreeModel(){return Fi(this,void 0,void 0,function*(){return Pq(this.store)})}getCellTypeTreeModel(){return Fi(this,void 0,void 0,function*(){return function(n){return Rq(n,bd.cell.id,"cell",ki.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return Fi(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(e){return Fi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(e)})}getReferenceOrganScene(e,t){return Fi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)})}getSpatialPlacement(e,t){return Fi(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(e,t)})}}function W2e(n,e){return n===e}let q2e=(()=>{class n{constructor(t,i){this.locator=t,this.globalConfig=i,this.subscriptions=new x,this.dataSource=i.getOption("data").pipe(me(r=>Object.assign(Object.assign({},bq),{dataSources:r})),Qi(r=>Object.keys(r).length>0),me(r=>r),rd(W2e),Ir(r=>function(n,e){return new I(t=>{let i,r;try{i=n()}catch(a){return void t.error(a)}try{r=e(i)}catch(a){return void t.error(a)}const o=(r?je(r):Yc).subscribe(t);return()=>{o.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDataSource(),s=>this.connectDataSource(s.source,r))),$a(1)),this.subscriptions.add(this.dataSource.subscribe())}ngOnDestroy(){this.subscriptions.unsubscribe()}getTissueBlockResults(t){return this.dataSource.pipe(Ir(i=>i.getTissueBlockResults(t)),Wi(1))}getAggregateResults(t){return this.dataSource.pipe(Ir(i=>i.getAggregateResults(t)),Wi(1))}getOntologyTermOccurences(t){return this.dataSource.pipe(Ir(i=>i.getOntologyTermOccurences(t)),Wi(1))}getCellTypeTermOccurences(t){return this.dataSource.pipe(Ir(i=>i.getCellTypeTermOccurences(t)),Wi(1))}getOntologyTreeModel(){return this.dataSource.pipe(Ir(t=>t.getOntologyTreeModel()),Wi(1))}getCellTypeTreeModel(){return this.dataSource.pipe(Ir(t=>t.getCellTypeTreeModel()),Wi(1))}getReferenceOrgans(){return this.dataSource.pipe(Ir(t=>t.getReferenceOrgans()),Wi(1))}getScene(t){return this.dataSource.pipe(Ir(i=>i.getScene(t)),Wi(1))}getOrganScene(t,i){return this.dataSource.pipe(Ir(r=>r.getReferenceOrganScene(t,i)),Wi(1))}createDataSource(){return{source:new z2e,unsubscribe:()=>{}}}connectDataSource(t,i){return Fi(this,void 0,void 0,function*(){const r=(new Date).getTime();return yield t.connect(i,!1),m0.production||(console.info(`Loaded CCF database in ${((new Date).getTime()-r)/1e3}s`),console.log(t)),t})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Cf),Oe(Yb))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Y2e=(()=>{class n{constructor(t,i){this.configState=t,this.source=i,this.data$=this.configState.getOption("data"),this.zoomToID$=this.configState.getOption("zoomToID").pipe(me(r=>`http://purl.org/ccf/1.5/entity/${r}`)),this.highlightID$=this.configState.getOption("highlightID").pipe(me(r=>`http://purl.org/ccf/1.5/entity/${r}`)),this.referenceOrgans$=this.source.getReferenceOrgans(),this.scene$=Yo([this.data$,this.referenceOrgans$,this.source.dataSource]).pipe(Ir(([r,s,o])=>this.chooseScene(r,s))),this.organs$=this.configState.getOption("data").pipe(me(r=>this.selectOrgans(r)),$a(1)),this.filteredOrgans$=Yo([this.organs$,this.referenceOrgans$]).pipe(me(([r,s])=>this.getNeededReferenceOrgans(s,r)),$a(1)),this.filteredScene$=Yo([this.scene$,this.organs$,this.referenceOrgans$]).pipe(me(([r,s,o])=>this.filterSceneNodes(r,s,o)),function(n,e){const t=n.pipe(ao(""));return i=>Yo([i,t]).pipe(me(([r,s])=>r.map(o=>function(n,e,t){return n.entityId!==e?n:Object.assign(Object.assign({},n),{color:t})}(o,s,e))))}(this.highlightID$,BNe),function(n){const e=n.pipe(ao(""));return t=>Yo([t,e]).pipe(me(([i,r])=>i.map(s=>function(n,e){return n.entityId!==e?n:Object.assign(Object.assign({},n),{zoomToOnLoad:!0})}(s,r))))}(this.zoomToID$),$a(1))}chooseScene(t,i){var r;const s=null!==(r=null==t?void 0:t.map(a=>{const l=a[K9];return null==l?void 0:l.placement.target}))&&void 0!==r?r:[];if(new Set(s).size>1)return this.source.getScene();if(i){const a=i.find(l=>l["@id"]===s[0]);if(a)return this.source.getOrganScene(a.representation_of,{ontologyTerms:[a.reference_organ],sex:a.sex})}return fn([])}selectOrgans(t){const r=(null!=t?t:[]).map(s=>s[K9].placement.target);return new Set(r)}filterSceneNodes(t,i,r){const s=this.getNeededReferenceOrgans(r,i),o=this.getNeededSkins(s),a=new Set([...i,...o]);return t.filter(c=>!c.reference_organ||a.has(c.reference_organ))}getNeededReferenceOrgans(t,i){return t.filter(r=>{var s;return i.has(null!==(s=r.reference_organ)&&void 0!==s?s:"")})}getNeededSkins(t){if(1===t.length)return[];const i=new Set;return t.forEach(r=>{"Female"===r.sex?i.add("http://purl.org/ccf/latest/ccf.owl#VHFSkin"):"Male"===r.sex&&i.add("http://purl.org/ccf/latest/ccf.owl#VHMSkin")}),[...i]}}return n.\u0275fac=function(t){return new(t||n)(Oe(Yb),Oe(q2e))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const K2e=["bodyUI"];let X2e=(()=>{class n{constructor(t,i,r){this.configState=t,this.sceneSource=i,this.cdr=r,this.onMouseEnter=new sn,this.onMouseLeave=new sn,this.onClick=new sn,this.data$=this.configState.getOption("data"),this.organs$=this.sceneSource.filteredOrgans$,this.scene$=this.sceneSource.filteredScene$.pipe(Yr(s=>this.reset()))}reset(){var t,i;return Fi(this,void 0,void 0,function*(){const{bodyUI:r}=this;yield new Promise(a=>setTimeout(a,200));const s=yield this.organs$.pipe(Wi(1)).toPromise(),o=null!==(i=!!(null===(t=r.scene)||void 0===t?void 0:t.find(a=>a.zoomToOnLoad)))&&void 0!==i&&i;if(r.rotation=0,r.rotationX=0,!o)if(1===s.length){const{x_dimension:a,y_dimension:l,z_dimension:c}=s[0];r.bounds={x:1.25*a/1e3,y:1.25*l/1e3,z:1.25*c/1e3},r.target=[a/1e3/2,l/1e3/2,c/1e3/2]}else r.bounds={x:2.2,y:2,z:.4},r.target=[0,0,0];this.cdr.detectChanges()})}}return n.\u0275fac=function(t){return new(t||n)(xe(Yb),xe(Y2e),xe(Dr))},n.\u0275cmp=ln({type:n,selectors:[["ccf-root"]],viewQuery:function(t,i){if(1&t&&ss(K2e,7),2&t){let r;ii(r=ri())&&(i.bodyUI=r.first)}},outputs:{onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave",onClick:"onClick"},decls:3,vars:4,consts:[["camera","perspective",1,"body-ui",3,"scene","interactive","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""]],template:function(t,i){1&t&&(Pt(0,"ccf-body-ui",0,1),Un("nodeClick",function(s){return i.onClick.emit(s)})("nodeHoverStart",function(s){return i.onMouseEnter.emit(s)})("nodeHoverStop",function(s){return i.onMouseLeave.emit(s)}),xl(2,"async"),Ft()),2&t&&rn("scene",Vu(2,2,i.scene$))("interactive",!0)},directives:[nNe],pipes:[h0],styles:[".body-ui[_ngcontent-%COMP%]{height:100%;width:100%}"],changeDetection:0}),n})();function Q2e(n,e){if(1&n){const t=jt();Pt(0,"ccf-root",1),Un("onMouseEnter",function(r){return Cr(t),ci().onMouseEnter.emit(r)})("onMouseLeave",function(r){return Cr(t),ci().onMouseLeave.emit(r)})("onClick",function(r){return Cr(t),ci().onClick.emit(r)}),Ft()}}function Z2e(n){return n.map(e=>({"@id":`http://purl.org/ccf/1.5/entity/${e.id}`,"@type":"http://purl.org/ccf/latest/ccf-entity.owl#Sample","http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity":e.rui_location}))}let J2e=(()=>{class n extends Eie{constructor(t,i){super(t,i,{initialDelay:10,initialConfig:Object.assign(Object.assign({},m0.dbOptions),globalThis.dbOptions),parse:{data:Z2e}}),this.onMouseEnter=new sn,this.onMouseLeave=new sn,this.onClick=new sn}}return n.\u0275fac=function(t){return new(t||n)(xe(Yb),xe(Dr))},n.\u0275cmp=ln({type:n,selectors:[["ccf-root-wc"]],inputs:{data:"data",highlightID:"highlightID",zoomToID:"zoomToID"},outputs:{onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave",onClick:"onClick"},features:[An],decls:1,vars:1,consts:[[3,"onMouseEnter","onMouseLeave","onClick",4,"ngIf"],[3,"onMouseEnter","onMouseLeave","onClick"]],template:function(t,i){1&t&&Di(0,Q2e,1,0,"ccf-root",0),2&t&&rn("ngIf",i.initialized)},directives:[lc,X2e],encapsulation:2,changeDetection:0}),n})(),eke=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[ps,Za,hW,...t]}}}return n.\u0275fac=function(t){return new(t||n)(Oe(ps,2),Oe(Za,2))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();const x1=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class ike{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=$f(this.action),i=function(n){return x1(n.getHours(),2)+":"+x1(n.getMinutes(),2)+":"+x1(n.getSeconds(),2)+"."+x1(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class rke{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const kq=new Ht("NGXS_LOGGER_PLUGIN_OPTIONS");let ske=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new rke(this._options),this._store=this._store||this._injector.get(cu);const s=new ike(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(Yr(o=>{s.completed(o)}),bc(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(Oe(kq),Oe(Wn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Lq=new Ht("LOGGER_USER_OPTIONS");function oke(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let ake=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:f6,useClass:ske,multi:!0},{provide:Lq,useValue:t},{provide:kq,useFactory:oke,deps:[Lq]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();const lke=[Yb];let cke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({imports:[[eke.forRoot(),Wo.forRoot(lke,{developmentMode:!m0.production}),ake.forRoot({disabled:m0.production})]]}),n})(),uke=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(wl).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new mie(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends yie{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(J2e,{injector:this.injector});customElements.define("ccf-body-ui-wc",t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:[],imports:[[WD,cke,iNe]]}),n})();m0.production&&function(){if(lB)throw new Error("Cannot enable prod mode after platform setup.");aB=!1}(),jne().bootstrapModule(uke).catch(n=>console.error(n))},52:Ut=>{function it(yt,ee,Tt,dt,Y,Se,he){try{var W=yt[Se](he),j=W.value}catch(P){return void Tt(P)}W.done?ee(j):Promise.resolve(j).then(dt,Y)}Ut.exports=function(yt){return function(){var ee=this,Tt=arguments;return new Promise(function(dt,Y){var Se=yt.apply(ee,Tt);function he(j){it(Se,dt,Y,he,W,"next",j)}function W(j){it(Se,dt,Y,he,W,"throw",j)}he(void 0)})}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},948:Ut=>{Ut.exports=function(Je){return Je&&Je.__esModule?Je:{default:Je}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},321:Ut=>{function it(Je){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(Ut.exports=it=function(ee){return typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0):(Ut.exports=it=function(ee){return ee&&"function"==typeof Symbol&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0),it(Je)}Ut.exports=it,Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},380:Ut=>{function it(Je){return Promise.resolve().then(()=>{var yt=new Error("Cannot find module '"+Je+"'");throw yt.code="MODULE_NOT_FOUND",yt})}it.keys=()=>[],it.resolve=it,it.id=380,Ut.exports=it},521:()=>{},125:()=>{},307:()=>{}},Ut=>{Ut(Ut.s=303)}]); \ No newline at end of file +var fke=Object.defineProperty,pke=Object.defineProperties,gke=Object.getOwnPropertyDescriptors,CC=Object.getOwnPropertySymbols,jq=Object.prototype.hasOwnProperty,Vq=Object.prototype.propertyIsEnumerable,Er=Math.pow,Uq=(jt,Ye,Je)=>Ye in jt?fke(jt,Ye,{enumerable:!0,configurable:!0,writable:!0,value:Je}):jt[Ye]=Je,at=(jt,Ye)=>{for(var Je in Ye||(Ye={}))jq.call(Ye,Je)&&Uq(jt,Je,Ye[Je]);if(CC)for(var Je of CC(Ye))Vq.call(Ye,Je)&&Uq(jt,Je,Ye[Je]);return jt},Cn=(jt,Ye)=>pke(jt,gke(Ye)),zq=(jt,Ye)=>{var Je={};for(var lt in jt)jq.call(jt,lt)&&Ye.indexOf(lt)<0&&(Je[lt]=jt[lt]);if(null!=jt&&CC)for(var lt of CC(jt))Ye.indexOf(lt)<0&&Vq.call(jt,lt)&&(Je[lt]=jt[lt]);return Je};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{440:(jt,Ye,Je)=>{var lt=Je(52).default;jt.exports=function Q(we,fe,K){function V(L,w){if(!fe[L]){if(!we[L]){if(F)return F(L,!0);var R=new Error("Cannot find module '"+L+"'");throw R.code="MODULE_NOT_FOUND",R}var T=fe[L]={exports:{}};we[L][0].call(T.exports,function(y){return V(we[L][1][y]||y)},T,T.exports,Q,we,fe,K)}return fe[L].exports}for(var F=void 0,Y=0;Y0&&q[q.length-1])&&(6===_t[0]||2===_t[0])){Ke=0;continue}if(3===_t[0]&&(!q||_t[1]>q[0]&&_t[1]0?H-4:H;for(G=0;G>16&255,P[Z++]=E>>8&255,P[Z++]=255&E;return 2===M&&(E=V[A.charCodeAt(G)]<<2|V[A.charCodeAt(G+1)]>>4,P[Z++]=255&E),1===M&&(E=V[A.charCodeAt(G)]<<10|V[A.charCodeAt(G+1)]<<4|V[A.charCodeAt(G+2)]>>2,P[Z++]=E>>8&255,P[Z++]=255&E),P},fe.fromByteArray=function(A){for(var E,I=A.length,H=I%3,M=[],P=16383,Z=0,S=I-H;ZS?S:Z+P));return 1===H?M.push(K[(E=A[I-1])>>2]+K[E<<4&63]+"=="):2===H&&M.push(K[(E=(A[I-2]<<8)+A[I-1])>>10]+K[E>>4&63]+K[E<<2&63]+"="),M.join("")};for(var K=[],V=[],F="undefined"!=typeof Uint8Array?Uint8Array:Array,Y="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",L=0,w=Y.length;L0)throw new Error("Invalid string. Length must be a multiple of 4");var I=A.indexOf("=");return-1===I&&(I=E),[I,I===E?0:4-I%4]}function v(A){return K[A>>18&63]+K[A>>12&63]+K[A>>6&63]+K[63&A]}function b(A,E,I){for(var M=[],P=E;P>5==6?2:M>>4==14?3:M>>3==30?4:M>>6==2?-1:-2}function T(M){var P=this.lastTotal-this.lastNeed,Z=function(M,P,Z){if(128!=(192&P[0]))return M.lastNeed=0,"\ufffd";if(M.lastNeed>1&&P.length>1){if(128!=(192&P[1]))return M.lastNeed=1,"\ufffd";if(M.lastNeed>2&&P.length>2&&128!=(192&P[2]))return M.lastNeed=2,"\ufffd"}}(this,M);return void 0!==Z?Z:this.lastNeed<=M.length?(M.copy(this.lastChar,P,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(M.copy(this.lastChar,P,0,M.length),void(this.lastNeed-=M.length))}function b(M,P){if((M.length-P)%2==0){var Z=M.toString("utf16le",P);if(Z){var S=Z.charCodeAt(Z.length-1);if(S>=55296&&S<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=M[M.length-2],this.lastChar[1]=M[M.length-1],Z.slice(0,-1)}return Z}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=M[M.length-1],M.toString("utf16le",P,M.length-1)}function x(M){var P=M&&M.length?this.write(M):"";return this.lastNeed?P+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):P}function A(M,P){var Z=(M.length-P)%3;return 0===Z?M.toString("base64",P):(this.lastNeed=3-Z,this.lastTotal=3,1===Z?this.lastChar[0]=M[M.length-1]:(this.lastChar[0]=M[M.length-2],this.lastChar[1]=M[M.length-1]),M.toString("base64",P,M.length-Z))}function E(M){var P=M&&M.length?this.write(M):"";return this.lastNeed?P+this.lastChar.toString("base64",0,3-this.lastNeed):P}function I(M){return M.toString(this.encoding)}function H(M){return M&&M.length?this.write(M):""}fe.StringDecoder=L,L.prototype.write=function(M){if(0===M.length)return"";var P,Z;if(this.lastNeed){if(void 0===(P=this.fillLast(M)))return"";Z=this.lastNeed,this.lastNeed=0}else Z=0;return Z=0?(G>0&&(M.lastNeed=G-1),G):--S=0?(G>0&&(M.lastNeed=G-2),G):--S=0?(G>0&&(2===G?G=0:M.lastNeed=G-3),G):0}(this,M,P);if(!this.lastNeed)return M.toString("utf8",P);this.lastTotal=Z;var S=M.length-(Z-this.lastNeed);return M.copy(this.lastChar,0,S),M.toString("utf8",P,S)},L.prototype.fillLast=function(M){if(this.lastNeed<=M.length)return M.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);M.copy(this.lastChar,this.lastTotal-this.lastNeed,0,M.length),this.lastNeed-=M.length}},{"safe-buffer":4}],6:[function(Q,we,fe){(function(K){(function(){"use strict";var V=Q("base64-js"),F=Q("ieee754");fe.Buffer=C,fe.SlowBuffer=function(U){return+U!=U&&(U=0),C.alloc(+U)},fe.INSPECT_MAX_BYTES=50;var Y=2147483647;function w(U){if(U>Y)throw new RangeError('The value "'+U+'" is invalid for option "size"');var k=new Uint8Array(U);return k.__proto__=C.prototype,k}function C(U,k,z){if("number"==typeof U){if("string"==typeof k)throw new TypeError('The "string" argument must be of type string. Received type number');return v(U)}return R(U,k,z)}function R(U,k,z){if("string"==typeof U)return function(U,k){if(("string"!=typeof k||""===k)&&(k="utf8"),!C.isEncoding(k))throw new TypeError("Unknown encoding: "+k);var z=0|M(U,k),Le=w(z),nt=Le.write(U,k);return nt!==z&&(Le=Le.slice(0,nt)),Le}(U,k);if(ArrayBuffer.isView(U))return x(U);if(null==U)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof U);if(gt(U,ArrayBuffer)||U&>(U.buffer,ArrayBuffer))return function(U,k,z){if(k<0||U.byteLength=Y)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Y.toString(16)+" bytes");return 0|U}function M(U,k){if(C.isBuffer(U))return U.length;if(ArrayBuffer.isView(U)||gt(U,ArrayBuffer))return U.byteLength;if("string"!=typeof U)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof U);var z=U.length,Le=arguments.length>2&&!0===arguments[2];if(!Le&&0===z)return 0;for(var nt=!1;;)switch(k){case"ascii":case"latin1":case"binary":return z;case"utf8":case"utf-8":return q(U).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*z;case"hex":return z>>>1;case"base64":return qe(U).length;default:if(nt)return Le?-1:q(U).length;k=(""+k).toLowerCase(),nt=!0}}function P(U,k,z){var Le=!1;if((void 0===k||k<0)&&(k=0),k>this.length||((void 0===z||z>this.length)&&(z=this.length),z<=0)||(z>>>=0)<=(k>>>=0))return"";for(U||(U="utf8");;)switch(U){case"hex":return ae(this,k,z);case"utf8":case"utf-8":return ve(this,k,z);case"ascii":return He(this,k,z);case"latin1":case"binary":return J(this,k,z);case"base64":return re(this,k,z);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _e(this,k,z);default:if(Le)throw new TypeError("Unknown encoding: "+U);U=(U+"").toLowerCase(),Le=!0}}function Z(U,k,z){var Le=U[k];U[k]=U[z],U[z]=Le}function S(U,k,z,Le,nt){if(0===U.length)return-1;if("string"==typeof z?(Le=z,z=0):z>2147483647?z=2147483647:z<-2147483648&&(z=-2147483648),Ae(z=+z)&&(z=nt?0:U.length-1),z<0&&(z=U.length+z),z>=U.length){if(nt)return-1;z=U.length-1}else if(z<0){if(!nt)return-1;z=0}if("string"==typeof k&&(k=C.from(k,Le)),C.isBuffer(k))return 0===k.length?-1:G(U,k,z,Le,nt);if("number"==typeof k)return k&=255,"function"==typeof Uint8Array.prototype.indexOf?nt?Uint8Array.prototype.indexOf.call(U,k,z):Uint8Array.prototype.lastIndexOf.call(U,k,z):G(U,[k],z,Le,nt);throw new TypeError("val must be string, number or Buffer")}function G(U,k,z,Le,nt){var Yn,xt=1,Nt=U.length,On=k.length;if(void 0!==Le&&("ucs2"===(Le=String(Le).toLowerCase())||"ucs-2"===Le||"utf16le"===Le||"utf-16le"===Le)){if(U.length<2||k.length<2)return-1;xt=2,Nt/=2,On/=2,z/=2}function kn(Ls,gs){return 1===xt?Ls[gs]:Ls.readUInt16BE(gs*xt)}if(nt){var Ti=-1;for(Yn=z;YnNt&&(z=Nt-On),Yn=z;Yn>=0;Yn--){for(var wi=!0,Xr=0;Xrnt&&(Le=nt):Le=nt;var xt=k.length;Le>xt/2&&(Le=xt/2);for(var Nt=0;Nt>8,xt.push(z%256),xt.push(Le);return xt}(k,U.length-z),U,z,Le)}function re(U,k,z){return V.fromByteArray(0===k&&z===U.length?U:U.slice(k,z))}function ve(U,k,z){z=Math.min(U.length,z);for(var Le=[],nt=k;nt239?4:xt>223?3:xt>191?2:1;if(nt+On<=z)switch(On){case 1:xt<128&&(Nt=xt);break;case 2:128==(192&(kn=U[nt+1]))&&(wi=(31&xt)<<6|63&kn)>127&&(Nt=wi);break;case 3:Yn=U[nt+2],128==(192&(kn=U[nt+1]))&&128==(192&Yn)&&(wi=(15&xt)<<12|(63&kn)<<6|63&Yn)>2047&&(wi<55296||wi>57343)&&(Nt=wi);break;case 4:Yn=U[nt+2],Ti=U[nt+3],128==(192&(kn=U[nt+1]))&&128==(192&Yn)&&128==(192&Ti)&&(wi=(15&xt)<<18|(63&kn)<<12|(63&Yn)<<6|63&Ti)>65535&&wi<1114112&&(Nt=wi)}null===Nt?(Nt=65533,On=1):Nt>65535&&(Le.push((Nt-=65536)>>>10&1023|55296),Nt=56320|1023&Nt),Le.push(Nt),nt+=On}return function(U){var k=U.length;if(k<=4096)return String.fromCharCode.apply(String,U);for(var z="",Le=0;Lez&&(k+=" ... "),""},C.prototype.compare=function(k,z,Le,nt,xt){if(gt(k,Uint8Array)&&(k=C.from(k,k.offset,k.byteLength)),!C.isBuffer(k))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof k);if(void 0===z&&(z=0),void 0===Le&&(Le=k?k.length:0),void 0===nt&&(nt=0),void 0===xt&&(xt=this.length),z<0||Le>k.length||nt<0||xt>this.length)throw new RangeError("out of range index");if(nt>=xt&&z>=Le)return 0;if(nt>=xt)return-1;if(z>=Le)return 1;if(this===k)return 0;for(var Nt=(xt>>>=0)-(nt>>>=0),On=(Le>>>=0)-(z>>>=0),kn=Math.min(Nt,On),Yn=this.slice(nt,xt),Ti=k.slice(z,Le),wi=0;wi>>=0,isFinite(Le)?(Le>>>=0,void 0===nt&&(nt="utf8")):(nt=Le,Le=void 0)}var xt=this.length-z;if((void 0===Le||Le>xt)&&(Le=xt),k.length>0&&(Le<0||z<0)||z>this.length)throw new RangeError("Attempt to write outside buffer bounds");nt||(nt="utf8");for(var Nt=!1;;)switch(nt){case"hex":return ne(this,k,z,Le);case"utf8":case"utf-8":return ce(this,k,z,Le);case"ascii":return se(this,k,z,Le);case"latin1":case"binary":return te(this,k,z,Le);case"base64":return Ie(this,k,z,Le);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ye(this,k,z,Le);default:if(Nt)throw new TypeError("Unknown encoding: "+nt);nt=(""+nt).toLowerCase(),Nt=!0}},C.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function He(U,k,z){var Le="";z=Math.min(U.length,z);for(var nt=k;ntLe)&&(z=Le);for(var nt="",xt=k;xtz)throw new RangeError("Trying to access beyond buffer length")}function xe(U,k,z,Le,nt,xt){if(!C.isBuffer(U))throw new TypeError('"buffer" argument must be a Buffer instance');if(k>nt||kU.length)throw new RangeError("Index out of range")}function Ge(U,k,z,Le,nt,xt){if(z+Le>U.length)throw new RangeError("Index out of range");if(z<0)throw new RangeError("Index out of range")}function Se(U,k,z,Le,nt){return k=+k,z>>>=0,nt||Ge(U,0,z,4),F.write(U,k,z,Le,23,4),z+4}function Ue(U,k,z,Le,nt){return k=+k,z>>>=0,nt||Ge(U,0,z,8),F.write(U,k,z,Le,52,8),z+8}C.prototype.slice=function(k,z){var Le=this.length;(k=~~k)<0?(k+=Le)<0&&(k=0):k>Le&&(k=Le),(z=void 0===z?Le:~~z)<0?(z+=Le)<0&&(z=0):z>Le&&(z=Le),z>>=0,z>>>=0,Le||Te(k,z,this.length);for(var nt=this[k],xt=1,Nt=0;++Nt>>=0,z>>>=0,Le||Te(k,z,this.length);for(var nt=this[k+--z],xt=1;z>0&&(xt*=256);)nt+=this[k+--z]*xt;return nt},C.prototype.readUInt8=function(k,z){return k>>>=0,z||Te(k,1,this.length),this[k]},C.prototype.readUInt16LE=function(k,z){return k>>>=0,z||Te(k,2,this.length),this[k]|this[k+1]<<8},C.prototype.readUInt16BE=function(k,z){return k>>>=0,z||Te(k,2,this.length),this[k]<<8|this[k+1]},C.prototype.readUInt32LE=function(k,z){return k>>>=0,z||Te(k,4,this.length),(this[k]|this[k+1]<<8|this[k+2]<<16)+16777216*this[k+3]},C.prototype.readUInt32BE=function(k,z){return k>>>=0,z||Te(k,4,this.length),16777216*this[k]+(this[k+1]<<16|this[k+2]<<8|this[k+3])},C.prototype.readIntLE=function(k,z,Le){k>>>=0,z>>>=0,Le||Te(k,z,this.length);for(var nt=this[k],xt=1,Nt=0;++Nt=(xt*=128)&&(nt-=Math.pow(2,8*z)),nt},C.prototype.readIntBE=function(k,z,Le){k>>>=0,z>>>=0,Le||Te(k,z,this.length);for(var nt=z,xt=1,Nt=this[k+--nt];nt>0&&(xt*=256);)Nt+=this[k+--nt]*xt;return Nt>=(xt*=128)&&(Nt-=Math.pow(2,8*z)),Nt},C.prototype.readInt8=function(k,z){return k>>>=0,z||Te(k,1,this.length),128&this[k]?-1*(255-this[k]+1):this[k]},C.prototype.readInt16LE=function(k,z){k>>>=0,z||Te(k,2,this.length);var Le=this[k]|this[k+1]<<8;return 32768&Le?4294901760|Le:Le},C.prototype.readInt16BE=function(k,z){k>>>=0,z||Te(k,2,this.length);var Le=this[k+1]|this[k]<<8;return 32768&Le?4294901760|Le:Le},C.prototype.readInt32LE=function(k,z){return k>>>=0,z||Te(k,4,this.length),this[k]|this[k+1]<<8|this[k+2]<<16|this[k+3]<<24},C.prototype.readInt32BE=function(k,z){return k>>>=0,z||Te(k,4,this.length),this[k]<<24|this[k+1]<<16|this[k+2]<<8|this[k+3]},C.prototype.readFloatLE=function(k,z){return k>>>=0,z||Te(k,4,this.length),F.read(this,k,!0,23,4)},C.prototype.readFloatBE=function(k,z){return k>>>=0,z||Te(k,4,this.length),F.read(this,k,!1,23,4)},C.prototype.readDoubleLE=function(k,z){return k>>>=0,z||Te(k,8,this.length),F.read(this,k,!0,52,8)},C.prototype.readDoubleBE=function(k,z){return k>>>=0,z||Te(k,8,this.length),F.read(this,k,!1,52,8)},C.prototype.writeUIntLE=function(k,z,Le,nt){k=+k,z>>>=0,Le>>>=0,nt||xe(this,k,z,Le,Math.pow(2,8*Le)-1,0);var Nt=1,On=0;for(this[z]=255&k;++On>>=0,Le>>>=0,nt||xe(this,k,z,Le,Math.pow(2,8*Le)-1,0);var Nt=Le-1,On=1;for(this[z+Nt]=255&k;--Nt>=0&&(On*=256);)this[z+Nt]=k/On&255;return z+Le},C.prototype.writeUInt8=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,1,255,0),this[z]=255&k,z+1},C.prototype.writeUInt16LE=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,2,65535,0),this[z]=255&k,this[z+1]=k>>>8,z+2},C.prototype.writeUInt16BE=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,2,65535,0),this[z]=k>>>8,this[z+1]=255&k,z+2},C.prototype.writeUInt32LE=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,4,4294967295,0),this[z+3]=k>>>24,this[z+2]=k>>>16,this[z+1]=k>>>8,this[z]=255&k,z+4},C.prototype.writeUInt32BE=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,4,4294967295,0),this[z]=k>>>24,this[z+1]=k>>>16,this[z+2]=k>>>8,this[z+3]=255&k,z+4},C.prototype.writeIntLE=function(k,z,Le,nt){if(k=+k,z>>>=0,!nt){var xt=Math.pow(2,8*Le-1);xe(this,k,z,Le,xt-1,-xt)}var Nt=0,On=1,kn=0;for(this[z]=255&k;++Nt>0)-kn&255;return z+Le},C.prototype.writeIntBE=function(k,z,Le,nt){if(k=+k,z>>>=0,!nt){var xt=Math.pow(2,8*Le-1);xe(this,k,z,Le,xt-1,-xt)}var Nt=Le-1,On=1,kn=0;for(this[z+Nt]=255&k;--Nt>=0&&(On*=256);)k<0&&0===kn&&0!==this[z+Nt+1]&&(kn=1),this[z+Nt]=(k/On>>0)-kn&255;return z+Le},C.prototype.writeInt8=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,1,127,-128),k<0&&(k=255+k+1),this[z]=255&k,z+1},C.prototype.writeInt16LE=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,2,32767,-32768),this[z]=255&k,this[z+1]=k>>>8,z+2},C.prototype.writeInt16BE=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,2,32767,-32768),this[z]=k>>>8,this[z+1]=255&k,z+2},C.prototype.writeInt32LE=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,4,2147483647,-2147483648),this[z]=255&k,this[z+1]=k>>>8,this[z+2]=k>>>16,this[z+3]=k>>>24,z+4},C.prototype.writeInt32BE=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,4,2147483647,-2147483648),k<0&&(k=4294967295+k+1),this[z]=k>>>24,this[z+1]=k>>>16,this[z+2]=k>>>8,this[z+3]=255&k,z+4},C.prototype.writeFloatLE=function(k,z,Le){return Se(this,k,z,!0,Le)},C.prototype.writeFloatBE=function(k,z,Le){return Se(this,k,z,!1,Le)},C.prototype.writeDoubleLE=function(k,z,Le){return Ue(this,k,z,!0,Le)},C.prototype.writeDoubleBE=function(k,z,Le){return Ue(this,k,z,!1,Le)},C.prototype.copy=function(k,z,Le,nt){if(!C.isBuffer(k))throw new TypeError("argument should be a Buffer");if(Le||(Le=0),!nt&&0!==nt&&(nt=this.length),z>=k.length&&(z=k.length),z||(z=0),nt>0&&nt=this.length)throw new RangeError("Index out of range");if(nt<0)throw new RangeError("sourceEnd out of bounds");nt>this.length&&(nt=this.length),k.length-z=0;--Nt)k[Nt+z]=this[Nt+Le];else Uint8Array.prototype.set.call(k,this.subarray(Le,nt),z);return xt},C.prototype.fill=function(k,z,Le,nt){if("string"==typeof k){if("string"==typeof z?(nt=z,z=0,Le=this.length):"string"==typeof Le&&(nt=Le,Le=this.length),void 0!==nt&&"string"!=typeof nt)throw new TypeError("encoding must be a string");if("string"==typeof nt&&!C.isEncoding(nt))throw new TypeError("Unknown encoding: "+nt);if(1===k.length){var xt=k.charCodeAt(0);("utf8"===nt&&xt<128||"latin1"===nt)&&(k=xt)}}else"number"==typeof k&&(k&=255);if(z<0||this.length>>=0,Le=void 0===Le?this.length:Le>>>0,k||(k=0),"number"==typeof k)for(Nt=z;Nt55295&&z<57344){if(!nt){if(z>56319){(k-=3)>-1&&xt.push(239,191,189);continue}if(Nt+1===Le){(k-=3)>-1&&xt.push(239,191,189);continue}nt=z;continue}if(z<56320){(k-=3)>-1&&xt.push(239,191,189),nt=z;continue}z=65536+(nt-55296<<10|z-56320)}else nt&&(k-=3)>-1&&xt.push(239,191,189);if(nt=null,z<128){if((k-=1)<0)break;xt.push(z)}else if(z<2048){if((k-=2)<0)break;xt.push(z>>6|192,63&z|128)}else if(z<65536){if((k-=3)<0)break;xt.push(z>>12|224,z>>6&63|128,63&z|128)}else{if(!(z<1114112))throw new Error("Invalid code point");if((k-=4)<0)break;xt.push(z>>18|240,z>>12&63|128,z>>6&63|128,63&z|128)}}return xt}function qe(U){return V.toByteArray(function(U){if((U=(U=U.split("=")[0]).trim().replace(Ke,"")).length<2)return"";for(;U.length%4!=0;)U+="=";return U}(U))}function _t(U,k,z,Le){for(var nt=0;nt=k.length||nt>=U.length);++nt)k[nt+z]=U[nt];return nt}function gt(U,k){return U instanceof k||null!=U&&null!=U.constructor&&null!=U.constructor.name&&U.constructor.name===k.name}function Ae(U){return U!=U}}).call(this)}).call(this,Q("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(Q,we,fe){"use strict";we.exports=function K(V){return null===V||"object"!=typeof V||null!=V.toJSON?JSON.stringify(V):Array.isArray(V)?"["+V.reduce((F,Y,L)=>F+(0===L?"":",")+K(void 0===Y||"symbol"==typeof Y?null:Y),"")+"]":"{"+Object.keys(V).sort().reduce((F,Y,L)=>void 0===V[Y]||"symbol"==typeof V[Y]?F:F+(0===F.length?"":",")+K(Y)+":"+K(V[Y]),"")+"}"}},{}],8:[function(Q,we,fe){"use strict";var F,K="object"==typeof Reflect?Reflect:null,V=K&&"function"==typeof K.apply?K.apply:function(G,ne,ce){return Function.prototype.apply.call(G,ne,ce)};F=K&&"function"==typeof K.ownKeys?K.ownKeys:Object.getOwnPropertySymbols?function(G){return Object.getOwnPropertyNames(G).concat(Object.getOwnPropertySymbols(G))}:function(G){return Object.getOwnPropertyNames(G)};var L=Number.isNaN||function(G){return G!=G};function w(){w.init.call(this)}we.exports=w,we.exports.once=function(S,G){return new Promise(function(ne,ce){function se(Ie){S.removeListener(G,te),ce(Ie)}function te(){"function"==typeof S.removeListener&&S.removeListener("error",se),ne([].slice.call(arguments))}Z(S,G,te,{once:!0}),"error"!==G&&function(S,G,ne){"function"==typeof S.on&&Z(S,"error",G,ne)}(S,se,{once:!0})})},w.EventEmitter=w,w.prototype._events=void 0,w.prototype._eventsCount=0,w.prototype._maxListeners=void 0;var C=10;function R(S){if("function"!=typeof S)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof S)}function T(S){return void 0===S._maxListeners?w.defaultMaxListeners:S._maxListeners}function y(S,G,ne,ce){var se,te,Ie;if(R(ne),void 0===(te=S._events)?(te=S._events=Object.create(null),S._eventsCount=0):(void 0!==te.newListener&&(S.emit("newListener",G,ne.listener?ne.listener:ne),te=S._events),Ie=te[G]),void 0===Ie)Ie=te[G]=ne,++S._eventsCount;else if("function"==typeof Ie?Ie=te[G]=ce?[ne,Ie]:[Ie,ne]:ce?Ie.unshift(ne):Ie.push(ne),(se=T(S))>0&&Ie.length>se&&!Ie.warned){Ie.warned=!0;var ye=new Error("Possible EventEmitter memory leak detected. "+Ie.length+" "+String(G)+" listeners added. Use emitter.setMaxListeners() to increase limit");ye.name="MaxListenersExceededWarning",ye.emitter=S,ye.type=G,ye.count=Ie.length,function(S){console&&console.warn&&console.warn(S)}(ye)}return S}function v(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function b(S,G,ne){var ce={fired:!1,wrapFn:void 0,target:S,type:G,listener:ne},se=v.bind(ce);return se.listener=ne,ce.wrapFn=se,se}function x(S,G,ne){var ce=S._events;if(void 0===ce)return[];var se=ce[G];return void 0===se?[]:"function"==typeof se?ne?[se.listener||se]:[se]:ne?function(S){for(var G=new Array(S.length),ne=0;ne0&&(Ie=ne[0]),Ie instanceof Error)throw Ie;var ye=new Error("Unhandled error."+(Ie?" ("+Ie.message+")":""));throw ye.context=Ie,ye}var re=te[G];if(void 0===re)return!1;if("function"==typeof re)V(re,this,ne);else{var ve=re.length,Fe=E(re,ve);for(ce=0;ce=0;Ie--)if(ce[Ie]===ne||ce[Ie].listener===ne){ye=ce[Ie].listener,te=Ie;break}if(te<0)return this;0===te?ce.shift():function(S,G){for(;G+1=0;se--)this.removeListener(G,ne[se]);return this},w.prototype.listeners=function(G){return x(this,G,!0)},w.prototype.rawListeners=function(G){return x(this,G,!1)},w.listenerCount=function(S,G){return"function"==typeof S.listenerCount?S.listenerCount(G):A.call(S,G)},w.prototype.listenerCount=A,w.prototype.eventNames=function(){return this._eventsCount>0?F(this._events):[]}},{}],9:[function(Q,we,fe){fe.read=function(K,V,F,Y,L){var w,C,R=8*L-Y-1,T=(1<>1,v=-7,b=F?L-1:0,x=F?-1:1,A=K[V+b];for(b+=x,w=A&(1<<-v)-1,A>>=-v,v+=R;v>0;w=256*w+K[V+b],b+=x,v-=8);for(C=w&(1<<-v)-1,w>>=-v,v+=Y;v>0;C=256*C+K[V+b],b+=x,v-=8);if(0===w)w=1-y;else{if(w===T)return C?NaN:1/0*(A?-1:1);C+=Math.pow(2,Y),w-=y}return(A?-1:1)*C*Math.pow(2,w-Y)},fe.write=function(K,V,F,Y,L,w){var C,R,T,y=8*w-L-1,v=(1<>1,x=23===L?Math.pow(2,-24)-Math.pow(2,-77):0,A=Y?0:w-1,E=Y?1:-1,I=V<0||0===V&&1/V<0?1:0;for(V=Math.abs(V),isNaN(V)||V===1/0?(R=isNaN(V)?1:0,C=v):(C=Math.floor(Math.log(V)/Math.LN2),V*(T=Math.pow(2,-C))<1&&(C--,T*=2),(V+=C+b>=1?x/T:x*Math.pow(2,1-b))*T>=2&&(C++,T/=2),C+b>=v?(R=0,C=v):C+b>=1?(R=(V*T-1)*Math.pow(2,L),C+=b):(R=V*Math.pow(2,b-1)*Math.pow(2,L),C=0));L>=8;K[F+A]=255&R,A+=E,R/=256,L-=8);for(C=C<0;K[F+A]=255&C,A+=E,C/=256,y-=8);K[F+A-E]|=128*I}},{}],10:[function(Q,we,fe){we.exports="function"==typeof Object.create?function(V,F){F&&(V.super_=F,V.prototype=Object.create(F.prototype,{constructor:{value:V,enumerable:!1,writable:!0,configurable:!0}}))}:function(V,F){if(F){V.super_=F;var Y=function(){};Y.prototype=F.prototype,V.prototype=new Y,V.prototype.constructor=V}}},{}],11:[function(Q,we,fe){"use strict";const{isArray:K,isObject:V,isString:F}=Q("./types"),{asArray:Y}=Q("./util"),{prependBase:L}=Q("./url"),w=Q("./JsonLdError"),C=Q("./ResolvedContext");function T(v){throw new w("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:v})}function y({context:v,base:b}){if(!v)return;const x=v["@context"];if(F(x))v["@context"]=L(b,x);else if(K(x))for(let A=0;A10)throw new w("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===b.processingMode?"loading remote context failed":"context overflow",max:10});if(E.has(x))throw new w("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===b.processingMode?"recursive context inclusion":"context overflow",url:x});let I,H;E.add(x);try{H=yield A(x),I=H.document||null,F(I)&&(I=JSON.parse(I))}catch(M){throw new w("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:x,cause:M})}if(!V(I))throw new w("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:x});return I="@context"in I?{"@context":I["@context"]}:{"@context":{}},H.contextUrl&&(K(I["@context"])||(I["@context"]=[I["@context"]]),I["@context"].push(H.contextUrl)),{context:I,remoteDoc:H}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(Q,we,fe){"use strict";we.exports=class extends Error{constructor(V="An unspecified JSON-LD error occurred.",F="jsonld.Error",Y={}){super(V),this.name=F,this.message=V,this.details=Y}}},{}],13:[function(Q,we,fe){"use strict";we.exports=K=>{class V{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(V,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(V.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:V}),V.compact=function(F,Y){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):K.compact(F,Y)},V.expand=function(F){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):K.expand(F)},V.flatten=function(F){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):K.flatten(F)},V}},{}],14:[function(Q,we,fe){"use strict";we.exports=Q("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(Q,we,fe){"use strict";we.exports=class{constructor(){this._requests={}}wrapLoader(V){const F=this;return F._loader=V,function(){return F.add.apply(F,arguments)}}add(V){var F=this;return lt(function*(){let Y=F._requests[V];if(Y)return Promise.resolve(Y);Y=F._requests[V]=F._loader(V);try{return yield Y}finally{delete F._requests[V]}})()}}},{}],16:[function(Q,we,fe){"use strict";const K=Q("lru-cache");we.exports=class{constructor({document:Y}){this.document=Y,this.cache=new K({max:10})}getProcessed(Y){return this.cache.get(Y)}setProcessed(Y,L){this.cache.set(Y,L)}}},{"lru-cache":33}],17:[function(Q,we,fe){"use strict";const K=Q("./JsonLdError"),{isArray:V,isObject:F,isString:Y,isUndefined:L}=Q("./types"),{isList:w,isValue:C,isGraph:R,isSimpleGraph:T,isSubjectReference:y}=Q("./graphTypes"),{expandIri:v,getContextValue:b,isKeyword:x,process:A,processingMode:E}=Q("./context"),{removeBase:I,prependBase:H}=Q("./url"),{addValue:M,asArray:P,compareShortestLeast:Z}=Q("./util"),S={};function ne(ce,se,te){if("@nest"!==v(ce,se,{vocab:!0},te))throw new K("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}we.exports=S,S.compact=function(){var ce=lt(function*({activeCtx:se,activeProperty:te=null,element:Ie,options:ye={},compactionMap:re=(()=>{})}){if(V(Ie)){let Fe=[];for(let Qe=0;Qe1&&(ae=Array.from(ae).sort());const _e=se;for(const xe of ae){const Ge=S.compactIri({activeCtx:_e,iri:xe,relativeTo:{vocab:!0}}),Se=b(He,Ge,"@context");L(Se)||(se=yield A({activeCtx:se,localCtx:Se,options:ye,propagate:!1}))}const Te=Object.keys(Ie).sort();for(const xe of Te){const Ge=Ie[xe];if("@id"!==xe)if("@type"!==xe)if("@reverse"!==xe)if("@preserve"!==xe)if("@index"!==xe)if("@graph"!==xe&&"@list"!==xe&&"@included"!==xe&&x(xe)){const Se=S.compactIri({activeCtx:se,iri:xe,relativeTo:{vocab:!0}});M(Qe,Se,Ge)}else{if(!V(Ge))throw new K("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===Ge.length){const Se=S.compactIri({activeCtx:se,iri:xe,value:Ge,relativeTo:{vocab:!0},reverse:Fe}),Ue=se.mappings.has(Se)?se.mappings.get(Se)["@nest"]:null;let Ke=Qe;Ue&&(ne(se,Ue,ye),F(Qe[Ue])||(Qe[Ue]={}),Ke=Qe[Ue]),M(Ke,Se,Ge,{propertyIsArray:!0})}for(const Se of Ge){const Ue=S.compactIri({activeCtx:se,iri:xe,value:Se,relativeTo:{vocab:!0},reverse:Fe}),Ke=se.mappings.has(Ue)?se.mappings.get(Ue)["@nest"]:null;let Be=Qe;Ke&&(ne(se,Ke,ye),F(Qe[Ke])||(Qe[Ke]={}),Be=Qe[Ke]);const X=b(se,Ue,"@container")||[],q=R(Se),ge=w(Se);let le;ge?le=Se["@list"]:q&&(le=Se["@graph"]);let qe=yield S.compact({activeCtx:se,activeProperty:Ue,element:ge||q?le:Se,options:ye,compactionMap:re});if(ge){if(V(qe)||(qe=[qe]),X.includes("@list")){M(Be,Ue,qe,{valueIsArray:!0,allowDuplicate:!0});continue}qe={[S.compactIri({activeCtx:se,iri:"@list",relativeTo:{vocab:!0}})]:qe},"@index"in Se&&(qe[S.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Se["@index"])}if(q)if(X.includes("@graph")&&(X.includes("@id")||X.includes("@index")&&T(Se))){let _t;Be.hasOwnProperty(Ue)?_t=Be[Ue]:Be[Ue]=_t={};const gt=(X.includes("@id")?Se["@id"]:Se["@index"])||S.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}});M(_t,gt,qe,{propertyIsArray:!ye.compactArrays||X.includes("@set")})}else X.includes("@graph")&&T(Se)?(V(qe)&&qe.length>1&&(qe={"@included":qe}),M(Be,Ue,qe,{propertyIsArray:!ye.compactArrays||X.includes("@set")})):(V(qe)&&1===qe.length&&ye.compactArrays&&(qe=qe[0]),qe={[S.compactIri({activeCtx:se,iri:"@graph",relativeTo:{vocab:!0}})]:qe},"@id"in Se&&(qe[S.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Se["@id"]),"@index"in Se&&(qe[S.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Se["@index"]),M(Be,Ue,qe,{propertyIsArray:!ye.compactArrays||X.includes("@set")}));else if(X.includes("@language")||X.includes("@index")||X.includes("@id")||X.includes("@type")){let _t,gt;if(Be.hasOwnProperty(Ue)?_t=Be[Ue]:Be[Ue]=_t={},X.includes("@language"))C(qe)&&(qe=qe["@value"]),gt=Se["@language"];else if(X.includes("@index")){const Ae=b(se,Ue,"@index")||"@index",U=S.compactIri({activeCtx:se,iri:Ae,relativeTo:{vocab:!0}});if("@index"===Ae)gt=Se["@index"],delete qe[U];else{let k;if([gt,...k]=P(qe[Ae]||[]),Y(gt))switch(k.length){case 0:delete qe[Ae];break;case 1:qe[Ae]=k[0];break;default:qe[Ae]=k}else gt=null}}else if(X.includes("@id")){const Ae=S.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}});gt=qe[Ae],delete qe[Ae]}else if(X.includes("@type")){const Ae=S.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}});let U;switch([gt,...U]=P(qe[Ae]||[]),U.length){case 0:delete qe[Ae];break;case 1:qe[Ae]=U[0];break;default:qe[Ae]=U}1===Object.keys(qe).length&&"@id"in Se&&(qe=yield S.compact({activeCtx:se,activeProperty:Ue,element:{"@id":Se["@id"]},options:ye,compactionMap:re}))}gt||(gt=S.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}})),M(_t,gt,qe,{propertyIsArray:X.includes("@set")})}else{const _t=!ye.compactArrays||X.includes("@set")||X.includes("@list")||V(qe)&&0===qe.length||"@list"===xe||"@graph"===xe;M(Be,Ue,qe,{propertyIsArray:_t})}}}else{if((b(se,te,"@container")||[]).includes("@index"))continue;const Ue=S.compactIri({activeCtx:se,iri:xe,relativeTo:{vocab:!0}});M(Qe,Ue,Ge)}else{const Se=yield S.compact({activeCtx:se,activeProperty:te,element:Ge,options:ye,compactionMap:re});V(Se)&&0===Se.length||M(Qe,xe,Se)}else{const Se=yield S.compact({activeCtx:se,activeProperty:"@reverse",element:Ge,options:ye,compactionMap:re});for(const Ue in Se)if(se.mappings.has(Ue)&&se.mappings.get(Ue).reverse){const Ke=Se[Ue],X=(b(se,Ue,"@container")||[]).includes("@set")||!ye.compactArrays;M(Qe,Ue,Ke,{propertyIsArray:X}),delete Se[Ue]}if(Object.keys(Se).length>0){const Ue=S.compactIri({activeCtx:se,iri:xe,relativeTo:{vocab:!0}});M(Qe,Ue,Se)}}else{let Se=P(Ge).map(q=>S.compactIri({activeCtx:He,iri:q,relativeTo:{vocab:!0}}));1===Se.length&&(Se=Se[0]);const Ue=S.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}}),X=(b(se,Ue,"@container")||[]).includes("@set")&&E(se,1.1)||V(Se)&&0===Ge.length;M(Qe,Ue,Se,{propertyIsArray:X})}else{let Se=P(Ge).map(Ke=>S.compactIri({activeCtx:se,iri:Ke,relativeTo:{vocab:!1},base:ye.base}));1===Se.length&&(Se=Se[0]),Qe[S.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Se}}return Qe}return Ie});return function(se){return ce.apply(this,arguments)}}(),S.compactIri=({activeCtx:ce,iri:se,value:te=null,relativeTo:Ie={vocab:!1},reverse:ye=!1,base:re=null})=>{if(null===se)return se;ce.isPropertyTermScoped&&ce.previousContext&&(ce=ce.previousContext);const ve=ce.getInverse();if(x(se)&&se in ve&&"@none"in ve[se]&&"@type"in ve[se]["@none"]&&"@none"in ve[se]["@none"]["@type"])return ve[se]["@none"]["@type"]["@none"];if(Ie.vocab&&se in ve){const ae=ce["@language"]||"@none",_e=[];F(te)&&"@index"in te&&!("@graph"in te)&&_e.push("@index","@index@set"),F(te)&&"@preserve"in te&&(te=te["@preserve"][0]),R(te)?("@index"in te&&_e.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te&&_e.push("@graph@id","@graph@id@set"),_e.push("@graph","@graph@set","@set"),"@index"in te||_e.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te||_e.push("@graph@id","@graph@id@set")):F(te)&&!C(te)&&_e.push("@id","@id@set","@type","@set@type");let Te="@language",xe="@null";if(ye)Te="@type",xe="@reverse",_e.push("@set");else if(w(te)){"@index"in te||_e.push("@list");const Se=te["@list"];if(0===Se.length)Te="@any",xe="@none";else{let Ue=0===Se.length?ae:null,Ke=null;for(let Be=0;BeHe.includes("_"));Qe&&ve.push(Qe.replace(/^[^_]+_/,"_"))}ve.push("@none");const Fe=ce.inverse[se];for(const Qe of Ie){if(!(Qe in Fe))continue;const He=Fe[Qe][ye];for(const J of ve)if(J in He)return He[J]}return null}(ce,se,te,_e,Te,xe);if(null!==Ge)return Ge}if(Ie.vocab&&"@vocab"in ce){const ae=ce["@vocab"];if(0===se.indexOf(ae)&&se!==ae){const _e=se.substr(ae.length);if(!ce.mappings.has(_e))return _e}}let Fe=null;const Qe=[];let He=ce.fastCurieMap;const J=se.length-1;for(let ae=0;ae=0;--ae){const _e=Qe[ae],Te=_e.terms;for(const xe of Te){const Ge=xe+":"+se.substr(_e.iri.length);ce.mappings.get(xe)._prefix&&(!ce.mappings.has(Ge)||null===te&&ce.mappings.get(Ge)["@id"]===se)&&(null===Fe||Z(Ge,Fe)<0)&&(Fe=Ge)}}if(null!==Fe)return Fe;for(const[ae,_e]of ce.mappings)if(_e&&_e._prefix&&se.startsWith(ae+":"))throw new K(`Absolute IRI "${se}" confused with prefix "${ae}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:ce});return Ie.vocab?se:"@base"in ce?ce["@base"]?I(H(re,ce["@base"]),se):se:I(re,se)},S.compactValue=({activeCtx:ce,activeProperty:se,value:te,options:Ie})=>{if(C(te)){const Fe=b(ce,se,"@type"),Qe=b(ce,se,"@language"),He=b(ce,se,"@direction"),J=b(ce,se,"@container")||[],ae="@index"in te&&!J.includes("@index");if(!ae&&"@none"!==Fe&&(te["@type"]===Fe||"@language"in te&&te["@language"]===Qe&&"@direction"in te&&te["@direction"]===He||"@language"in te&&te["@language"]===Qe||"@direction"in te&&te["@direction"]===He))return te["@value"];const _e=Object.keys(te).length,Te=1===_e||2===_e&&"@index"in te&&!ae,xe="@language"in ce,Ge=Y(te["@value"]),Se=ce.mappings.has(se)&&null===ce.mappings.get(se)["@language"];if(Te&&"@none"!==Fe&&(!xe||!Ge||Se))return te["@value"];const Ue={};return ae&&(Ue[S.compactIri({activeCtx:ce,iri:"@index",relativeTo:{vocab:!0}})]=te["@index"]),"@type"in te?Ue[S.compactIri({activeCtx:ce,iri:"@type",relativeTo:{vocab:!0}})]=S.compactIri({activeCtx:ce,iri:te["@type"],relativeTo:{vocab:!0}}):"@language"in te&&(Ue[S.compactIri({activeCtx:ce,iri:"@language",relativeTo:{vocab:!0}})]=te["@language"]),"@direction"in te&&(Ue[S.compactIri({activeCtx:ce,iri:"@direction",relativeTo:{vocab:!0}})]=te["@direction"]),Ue[S.compactIri({activeCtx:ce,iri:"@value",relativeTo:{vocab:!0}})]=te["@value"],Ue}const ye=v(ce,se,{vocab:!0},Ie),re=b(ce,se,"@type"),ve=S.compactIri({activeCtx:ce,iri:te["@id"],relativeTo:{vocab:"@vocab"===re},base:Ie.base});return"@id"===re||"@vocab"===re||"@graph"===ye?ve:{[S.compactIri({activeCtx:ce,iri:"@id",relativeTo:{vocab:!0}})]:ve}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(Q,we,fe){"use strict";const K="http://www.w3.org/1999/02/22-rdf-syntax-ns#",V="http://www.w3.org/2001/XMLSchema#";we.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:K,RDF_LIST:K+"List",RDF_FIRST:K+"first",RDF_REST:K+"rest",RDF_NIL:K+"nil",RDF_TYPE:K+"type",RDF_PLAIN_LITERAL:K+"PlainLiteral",RDF_XML_LITERAL:K+"XMLLiteral",RDF_JSON_LITERAL:K+"JSON",RDF_OBJECT:K+"object",RDF_LANGSTRING:K+"langString",XSD:V,XSD_BOOLEAN:V+"boolean",XSD_DOUBLE:V+"double",XSD_INTEGER:V+"integer",XSD_STRING:V+"string"}},{}],19:[function(Q,we,fe){"use strict";const K=Q("./util"),V=Q("./JsonLdError"),{isArray:F,isObject:Y,isString:L,isUndefined:w}=Q("./types"),{isAbsolute:C,isRelative:R,prependBase:T}=Q("./url"),{asArray:y,compareShortestLeast:v}=Q("./util"),b=new Map,A=/^@[a-zA-Z]+$/,E={};function I(M,P,Z,S,G,ne){if(null===P||!L(P)||E.isKeyword(P))return P;if(P.match(A))return null;if(S&&S.hasOwnProperty(P)&&!0!==G.get(P)&&E.createTermDefinition({activeCtx:M,localCtx:S,term:P,defined:G,options:ne}),(Z=Z||{}).vocab){const se=M.mappings.get(P);if(null===se)return null;if(Y(se)&&"@id"in se)return se["@id"]}const ce=P.indexOf(":");if(ce>0){const se=P.substr(0,ce),te=P.substr(ce+1);if("_"===se||0===te.indexOf("//"))return P;S&&S.hasOwnProperty(se)&&E.createTermDefinition({activeCtx:M,localCtx:S,term:se,defined:G,options:ne});const Ie=M.mappings.get(se);if(Ie&&Ie._prefix)return Ie["@id"]+te;if(C(P))return P}if(Z.vocab&&"@vocab"in M)return M["@vocab"]+P;if(Z.base&&"@base"in M){if(M["@base"])return T(T(ne.base,M["@base"]),P)}else if(Z.base)return T(ne.base,P);return P}function H(M,P){if(!M||"object"!=typeof M||!P||"object"!=typeof P)return M===P;const Z=Array.isArray(M);if(Z!==Array.isArray(P))return!1;if(Z){if(M.length!==P.length)return!1;for(let ne=0;ne{if(S.has(Z)){if(S.get(Z))return;throw new V("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:P,term:Z})}let ce;if(S.set(Z,!1),P.hasOwnProperty(Z)&&(ce=P[Z]),"@type"===Z&&Y(ce)&&"@set"===(ce["@container"]||"@set")&&E.processingMode(M,1.1)){const Fe=["@container","@id","@protected"],Qe=Object.keys(ce);if(0===Qe.length||Qe.some(He=>!Fe.includes(He)))throw new V("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:P,term:Z})}else{if(E.isKeyword(Z))throw new V("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:P,term:Z});if(Z.match(A))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:Z});if(""===Z)throw new V("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:P})}const se=M.mappings.get(Z);M.mappings.has(Z)&&M.mappings.delete(Z);let te=!1;if((L(ce)||null===ce)&&(te=!0,ce={"@id":ce}),!Y(ce))throw new V("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:P});const Ie={};M.mappings.set(Z,Ie),Ie.reverse=!1;const ye=["@container","@id","@language","@reverse","@type"];E.processingMode(M,1.1)&&ye.push("@context","@direction","@index","@nest","@prefix","@protected");for(const Fe in ce)if(!ye.includes(Fe))throw new V("Invalid JSON-LD syntax; a term definition must not contain "+Fe,"jsonld.SyntaxError",{code:"invalid term definition",context:P});const re=Z.indexOf(":");if(Ie._termHasColon=re>0,"@reverse"in ce){if("@id"in ce)throw new V("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:P});if("@nest"in ce)throw new V("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:P});const Fe=ce["@reverse"];if(!L(Fe))throw new V("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});if(!E.isKeyword(Fe)&&Fe.match(A))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:Fe}),void(se?M.mappings.set(Z,se):M.mappings.delete(Z));const Qe=I(M,Fe,{vocab:!0,base:!1},P,S,G);if(!C(Qe))throw new V("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});Ie["@id"]=Qe,Ie.reverse=!0}else if("@id"in ce){let Fe=ce["@id"];if(Fe&&!L(Fe))throw new V("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});if(null===Fe)Ie["@id"]=null;else{if(!E.isKeyword(Fe)&&Fe.match(A))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:Fe}),void(se?M.mappings.set(Z,se):M.mappings.delete(Z));if(Fe!==Z){if(Fe=I(M,Fe,{vocab:!0,base:!1},P,S,G),!C(Fe)&&!E.isKeyword(Fe))throw new V("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});if(Z.match(/(?::[^:])|\//)&&I(M,Z,{vocab:!0,base:!1},P,new Map(S).set(Z,!0),G)!==Fe)throw new V("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});Ie["@id"]=Fe,Ie._prefix=te&&!Ie._termHasColon&&Fe.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in Ie))if(Ie._termHasColon){const Fe=Z.substr(0,re);if(P.hasOwnProperty(Fe)&&E.createTermDefinition({activeCtx:M,localCtx:P,term:Fe,defined:S,options:G}),M.mappings.has(Fe)){const Qe=Z.substr(re+1);Ie["@id"]=M.mappings.get(Fe)["@id"]+Qe}else Ie["@id"]=Z}else if("@type"===Z)Ie["@id"]=Z;else{if(!("@vocab"in M))throw new V("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P,term:Z});Ie["@id"]=M["@vocab"]+Z}if((!0===ce["@protected"]||!0===S.get("@protected")&&!1!==ce["@protected"])&&(M.protected[Z]=!0,Ie.protected=!0),S.set(Z,!0),"@type"in ce){let Fe=ce["@type"];if(!L(Fe))throw new V("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:P});if("@json"===Fe||"@none"===Fe){if(E.processingMode(M,1))throw new V(`Invalid JSON-LD syntax; an @context @type value must not be "${Fe}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:P})}else if("@id"!==Fe&&"@vocab"!==Fe){if(Fe=I(M,Fe,{vocab:!0,base:!1},P,S,G),!C(Fe))throw new V("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:P});if(0===Fe.indexOf("_:"))throw new V("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:P})}Ie["@type"]=Fe}if("@container"in ce){const Fe=L(ce["@container"])?[ce["@container"]]:ce["@container"]||[],Qe=["@list","@set","@index","@language"];let He=!0;const J=Fe.includes("@set");if(E.processingMode(M,1.1)){if(Qe.push("@graph","@id","@type"),Fe.includes("@list")){if(1!==Fe.length)throw new V("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:P})}else if(Fe.includes("@graph")){if(Fe.some(ae=>"@graph"!==ae&&"@id"!==ae&&"@index"!==ae&&"@set"!==ae))throw new V("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:P})}else He&=Fe.length<=(J?2:1);if(Fe.includes("@type")&&(Ie["@type"]=Ie["@type"]||"@id",!["@id","@vocab"].includes(Ie["@type"])))throw new V("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:P})}else He&=!F(ce["@container"]),He&=Fe.length<=1;if(He&=Fe.every(ae=>Qe.includes(ae)),He&=!(J&&Fe.includes("@list")),!He)throw new V("Invalid JSON-LD syntax; @context @container value must be one of the following: "+Qe.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:P});if(Ie.reverse&&!Fe.every(ae=>["@index","@set"].includes(ae)))throw new V("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:P});Ie["@container"]=Fe}if("@index"in ce){if(!("@container"in ce)||!Ie["@container"].includes("@index"))throw new V(`Invalid JSON-LD syntax; @index without @index in @container: "${ce["@index"]}" on term "${Z}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:P});if(!L(ce["@index"])||0===ce["@index"].indexOf("@"))throw new V(`Invalid JSON-LD syntax; @index must expand to an IRI: "${ce["@index"]}" on term "${Z}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:P});Ie["@index"]=ce["@index"]}if("@context"in ce&&(Ie["@context"]=ce["@context"]),"@language"in ce&&!("@type"in ce)){let Fe=ce["@language"];if(null!==Fe&&!L(Fe))throw new V("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:P});null!==Fe&&(Fe=Fe.toLowerCase()),Ie["@language"]=Fe}if("@prefix"in ce){if(Z.match(/:|\//))throw new V("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:P});if(E.isKeyword(Ie["@id"]))throw new V("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:P});if("boolean"!=typeof ce["@prefix"])throw new V("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:P});Ie._prefix=!0===ce["@prefix"]}if("@direction"in ce){const Fe=ce["@direction"];if(null!==Fe&&"ltr"!==Fe&&"rtl"!==Fe)throw new V('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:P});Ie["@direction"]=Fe}if("@nest"in ce){const Fe=ce["@nest"];if(!L(Fe)||"@nest"!==Fe&&0===Fe.indexOf("@"))throw new V("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:P});Ie["@nest"]=Fe}const ve=Ie["@id"];if("@context"===ve||"@preserve"===ve)throw new V("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:P});if(se&&se.protected&&!ne&&(M.protected[Z]=!0,Ie.protected=!0,!H(se,Ie))){const Fe=G&&G.protectedMode||"error";if("error"===Fe)throw new V(`Invalid JSON-LD syntax; tried to redefine "${Z}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:P,term:Z});if("warn"===Fe)return void console.warn("WARNING: protected term redefinition",{term:Z});throw new V("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:P,term:Z,protectedMode:Fe})}},E.expandIri=(M,P,Z,S)=>I(M,P,Z,void 0,void 0,S),E.getInitialContext=M=>{const P=JSON.stringify({processingMode:M.processingMode}),Z=b.get(P);if(Z)return Z;const S={processingMode:M.processingMode,mappings:new Map,inverse:null,getInverse:function(){const Ie=this;if(Ie.inverse)return Ie.inverse;const ye=Ie.inverse={},re=Ie.fastCurieMap={},ve={},Fe=(Ie["@language"]||"@none").toLowerCase(),Qe=Ie["@direction"],He=Ie.mappings,J=[...He.keys()].sort(v);for(const ae of J){const _e=He.get(ae);if(null===_e)continue;let Te=_e["@container"]||"@none";if(Te=[].concat(Te).sort().join(""),null===_e["@id"])continue;const xe=y(_e["@id"]);for(const Ge of xe){let Se=ye[Ge];const Ue=E.isKeyword(Ge);if(Se)!Ue&&!_e._termHasColon&&ve[Ge].push(ae);else if(ye[Ge]=Se={},!Ue&&!_e._termHasColon){ve[Ge]=[ae];const Ke={iri:Ge,terms:ve[Ge]};Ge[0]in re?re[Ge[0]].push(Ke):re[Ge[0]]=[Ke]}if(Se[Te]||(Se[Te]={"@language":{},"@type":{},"@any":{}}),Se=Se[Te],ce(ae,Se["@any"],"@none"),_e.reverse)ce(ae,Se["@type"],"@reverse");else if("@none"===_e["@type"])ce(ae,Se["@any"],"@none"),ce(ae,Se["@language"],"@none"),ce(ae,Se["@type"],"@none");else if("@type"in _e)ce(ae,Se["@type"],_e["@type"]);else if("@language"in _e&&"@direction"in _e){const Ke=_e["@language"],Be=_e["@direction"];ce(ae,Se["@language"],Ke&&Be?`${Ke}_${Be}`.toLowerCase():Ke?Ke.toLowerCase():Be?`_${Be}`:"@null")}else"@language"in _e?ce(ae,Se["@language"],(_e["@language"]||"@null").toLowerCase()):"@direction"in _e?ce(ae,Se["@language"],_e["@direction"]?`_${_e["@direction"]}`:"@none"):Qe?(ce(ae,Se["@language"],`_${Qe}`),ce(ae,Se["@language"],"@none"),ce(ae,Se["@type"],"@none")):(ce(ae,Se["@language"],Fe),ce(ae,Se["@language"],"@none"),ce(ae,Se["@type"],"@none"))}}for(const ae in re)ne(re,ae,1);return ye},clone:function(){const Ie={};return Ie.mappings=K.clone(this.mappings),Ie.clone=this.clone,Ie.inverse=null,Ie.getInverse=this.getInverse,Ie.protected=K.clone(this.protected),this.previousContext&&(Ie.previousContext=this.previousContext.clone()),Ie.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(Ie["@base"]=this["@base"]),"@language"in this&&(Ie["@language"]=this["@language"]),"@vocab"in this&&(Ie["@vocab"]=this["@vocab"]),Ie},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===b.size&&b.clear(),b.set(P,S),S;function ne(Ie,ye,re){const ve=Ie[ye],Fe=Ie[ye]={};let Qe,He;for(const J of ve)Qe=J.iri,He=re>=Qe.length?"":Qe[re],He in Fe?Fe[He].push(J):Fe[He]=[J];for(const J in Fe)""!==J&&ne(Fe,J,re+1)}function ce(Ie,ye,re){ye.hasOwnProperty(re)||(ye[re]=Ie)}},E.getContextValue=(M,P,Z)=>{if(null===P)return"@context"===Z?void 0:null;if(M.mappings.has(P)){const S=M.mappings.get(P);if(w(Z))return S;if(S.hasOwnProperty(Z))return S[Z]}return"@language"===Z&&Z in M||"@direction"===Z&&Z in M?M[Z]:"@context"!==Z?null:void 0},E.processingMode=(M,P)=>P.toString()>="1.1"?!M.processingMode||M.processingMode>="json-ld-"+P.toString():"json-ld-1.0"===M.processingMode,E.isKeyword=M=>{if(!L(M)||"@"!==M[0])return!1;switch(M){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(Q,we,fe){"use strict";const{parseLinkHeader:K,buildHeaders:V}=Q("../util"),{LINK_HEADER_CONTEXT:F}=Q("../constants"),Y=Q("../JsonLdError"),L=Q("../RequestQueue"),{prependBase:w}=Q("../url"),C=/(^|(\r\n))link:/i;function R(T,y,v){const b=new(T=T||XMLHttpRequest);return new Promise((x,A)=>{b.onload=()=>x(b),b.onerror=E=>A(E),b.open("GET",y,!0);for(const E in v)b.setRequestHeader(E,v[E]);b.send()})}we.exports=({secure:T,headers:y={},xhr:v}={headers:{}})=>{return y=V(y),(new L).wrapLoader(x);function x(E){return A.apply(this,arguments)}function A(){return(A=lt(function*(E){if(0!==E.indexOf("http:")&&0!==E.indexOf("https:"))throw new Y('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:E});if(T&&0!==E.indexOf("https"))throw new Y('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:E});let I;try{I=yield R(v,E,y)}catch(S){throw new Y("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:E,cause:S})}if(I.status>=400)throw new Y("URL could not be dereferenced: "+I.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:E,httpStatusCode:I.status});let H={contextUrl:null,documentUrl:E,document:I.response},M=null;const P=I.getResponseHeader("Content-Type");let Z;if(C.test(I.getAllResponseHeaders())&&(Z=I.getResponseHeader("Link")),Z&&"application/ld+json"!==P){const S=K(Z),G=S[F];if(Array.isArray(G))throw new Y("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:E});G&&(H.contextUrl=G.target),M=S.alternate,M&&"application/ld+json"==M.type&&!(P||"").match(/^application\/(\w*\+)?json$/)&&(H=yield x(w(E,M.target)))}return H})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(Q,we,fe){"use strict";const K=Q("./JsonLdError"),{isArray:V,isObject:F,isEmptyObject:Y,isString:L,isUndefined:w}=Q("./types"),{isList:C,isValue:R,isGraph:T,isSubject:y}=Q("./graphTypes"),{expandIri:v,getContextValue:b,isKeyword:x,process:A,processingMode:E}=Q("./context"),{isAbsolute:I}=Q("./url"),{addValue:H,asArray:M,getValues:P,validateTypeValue:Z}=Q("./util"),S={};we.exports=S;const G=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function ne(re){return ce.apply(this,arguments)}function ce(){return(ce=lt(function*({activeCtx:re,activeProperty:ve,expandedActiveProperty:Fe,element:Qe,expandedParent:He,options:J={},insideList:ae,typeKey:_e,typeScopedContext:Te,expansionMap:xe}){const Ge=Object.keys(Qe).sort(),Se=[];let Ue;const Ke=Qe[_e]&&"@json"===v(re,V(Qe[_e])?Qe[_e][0]:Qe[_e],{vocab:!0},J);for(const Be of Ge){let q,X=Qe[Be];if("@context"===Be)continue;let ge=v(re,Be,{vocab:!0},J);if((null===ge||!I(ge)&&!x(ge))&&(ge=xe({unmappedProperty:Be,activeCtx:re,activeProperty:ve,parent:Qe,options:J,insideList:ae,value:X,expandedParent:He}),void 0===ge))continue;if(x(ge)){if("@reverse"===Fe)throw new K("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:X});if(ge in He&&"@included"!==ge&&"@type"!==ge)throw new K("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:ge})}if("@id"===ge){if(!L(X)){if(!J.isFrame)throw new K('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:X});if(F(X)){if(!Y(X))throw new K('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:X})}else{if(!V(X))throw new K('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:X});if(!X.every(gt=>L(gt)))throw new K('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:X})}}H(He,"@id",M(X).map(gt=>L(gt)?v(re,gt,{base:!0},J):gt),{propertyIsArray:J.isFrame});continue}if("@type"===ge){F(X)&&(X=Object.fromEntries(Object.entries(X).map(([gt,Ae])=>[v(Te,gt,{vocab:!0}),M(Ae).map(U=>v(Te,U,{base:!0,vocab:!0}))]))),Z(X,J.isFrame),H(He,"@type",M(X).map(gt=>L(gt)?v(Te,gt,{base:!0,vocab:!0},J):gt),{propertyIsArray:J.isFrame});continue}if("@included"===ge&&E(re,1.1)){const gt=M(yield S.expand({activeCtx:re,activeProperty:ve,element:X,options:J,expansionMap:xe}));if(!gt.every(Ae=>y(Ae)))throw new K("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:X});H(He,"@included",gt,{propertyIsArray:!0});continue}if("@graph"===ge&&!F(X)&&!V(X))throw new K('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:X});if("@value"===ge){Ue=X,Ke&&E(re,1.1)?He["@value"]=X:H(He,"@value",X,{propertyIsArray:J.isFrame});continue}if("@language"===ge){if(null===X)continue;if(!L(X)&&!J.isFrame)throw new K('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:X});X=M(X).map(gt=>L(gt)?gt.toLowerCase():gt);for(const gt of X)L(gt)&&!gt.match(G)&&console.warn(`@language must be valid BCP47: ${gt}`);H(He,"@language",X,{propertyIsArray:J.isFrame});continue}if("@direction"===ge){if(!L(X)&&!J.isFrame)throw new K('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:X});X=M(X);for(const gt of X)if(L(gt)&&"ltr"!==gt&&"rtl"!==gt)throw new K('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:X});H(He,"@direction",X,{propertyIsArray:J.isFrame});continue}if("@index"===ge){if(!L(X))throw new K('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:X});H(He,"@index",X);continue}if("@reverse"===ge){if(!F(X))throw new K('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:X});if(q=yield S.expand({activeCtx:re,activeProperty:"@reverse",element:X,options:J,expansionMap:xe}),"@reverse"in q)for(const Ae in q["@reverse"])H(He,Ae,q["@reverse"][Ae],{propertyIsArray:!0});let gt=He["@reverse"]||null;for(const Ae in q){if("@reverse"===Ae)continue;null===gt&&(gt=He["@reverse"]={}),H(gt,Ae,[],{propertyIsArray:!0});const U=q[Ae];for(let k=0;k"@id"===gt||"@index"===gt)&&(q=M(q).map(gt=>({"@graph":M(gt)}))),le.mappings.has(Be)&&le.mappings.get(Be).reverse){const gt=He["@reverse"]=He["@reverse"]||{};q=M(q);for(let Ae=0;Ae"@value"===v(re,ge,{vocab:!0},J)))throw new K("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:q});yield ne({activeCtx:re,activeProperty:ve,expandedActiveProperty:Fe,element:q,expandedParent:He,options:J,insideList:ae,typeScopedContext:Te,typeKey:_e,expansionMap:xe})}}})).apply(this,arguments)}function se({activeCtx:re,activeProperty:ve,value:Fe,options:Qe}){if(null==Fe)return null;const He=v(re,ve,{vocab:!0},Qe);if("@id"===He)return v(re,Fe,{base:!0},Qe);if("@type"===He)return v(re,Fe,{vocab:!0,base:!0},Qe);const J=b(re,ve,"@type");if(("@id"===J||"@graph"===He)&&L(Fe))return{"@id":v(re,Fe,{base:!0},Qe)};if("@vocab"===J&&L(Fe))return{"@id":v(re,Fe,{vocab:!0,base:!0},Qe)};if(x(He))return Fe;const ae={};if(J&&!["@id","@vocab","@none"].includes(J))ae["@type"]=J;else if(L(Fe)){const _e=b(re,ve,"@language");null!==_e&&(ae["@language"]=_e);const Te=b(re,ve,"@direction");null!==Te&&(ae["@direction"]=Te)}return["boolean","number","string"].includes(typeof Fe)||(Fe=Fe.toString()),ae["@value"]=Fe,ae}function te(re,ve,Fe,Qe){const He=[],J=Object.keys(ve).sort();for(const ae of J){const _e=v(re,ae,{vocab:!0},Qe);let Te=ve[ae];V(Te)||(Te=[Te]);for(const xe of Te){if(null===xe)continue;if(!L(xe))throw new K("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:ve});const Ge={"@value":xe};"@none"!==_e&&(Ge["@language"]=ae.toLowerCase()),Fe&&(Ge["@direction"]=Fe),He.push(Ge)}}return He}function Ie(re){return ye.apply(this,arguments)}function ye(){return(ye=lt(function*({activeCtx:re,options:ve,activeProperty:Fe,value:Qe,expansionMap:He,asGraph:J,indexKey:ae,propertyIndex:_e}){const Te=[],xe=Object.keys(Qe).sort(),Ge="@type"===ae;for(let Se of xe){if(Ge){const Be=b(re,Se,"@context");w(Be)||(re=yield A({activeCtx:re,localCtx:Be,propagate:!1,options:ve}))}let Ke,Ue=Qe[Se];V(Ue)||(Ue=[Ue]),Ue=yield S.expand({activeCtx:re,activeProperty:Fe,element:Ue,options:ve,insideList:!1,insideIndex:!0,expansionMap:He}),Ke=_e?"@none"===Se?"@none":se({activeCtx:re,activeProperty:ae,value:Se,options:ve}):v(re,Se,{vocab:!0},ve),"@id"===ae?Se=v(re,Se,{base:!0},ve):Ge&&(Se=Ke);for(let Be of Ue){if(J&&!T(Be)&&(Be={"@graph":[Be]}),"@type"===ae)"@none"===Ke||(Be["@type"]=Be["@type"]?[Se].concat(Be["@type"]):[Se]);else{if(R(Be)&&!["@language","@type","@index"].includes(ae))throw new K(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${ae}".`,"jsonld.SyntaxError",{code:"invalid value object",value:Be});_e?"@none"!==Ke&&H(Be,_e,Ke,{propertyIsArray:!0,prependValue:!0}):"@none"!==Ke&&!(ae in Be)&&(Be[ae]=Se)}Te.push(Be)}}return Te})).apply(this,arguments)}S.expand=function(){var re=lt(function*({activeCtx:ve,activeProperty:Fe=null,element:Qe,options:He={},insideList:J=!1,insideIndex:ae=!1,typeScopedContext:_e=null,expansionMap:Te=(()=>{})}){if(null==Qe)return null;if("@default"===Fe&&(He=Object.assign({},He,{isFrame:!1})),!V(Qe)&&!F(Qe)){if(!J&&(null===Fe||"@graph"===v(ve,Fe,{vocab:!0},He))){const q=yield Te({unmappedValue:Qe,activeCtx:ve,activeProperty:Fe,options:He,insideList:J});return void 0===q?null:q}return se({activeCtx:ve,activeProperty:Fe,value:Qe,options:He})}if(V(Qe)){let q=[];const ge=b(ve,Fe,"@container")||[];J=J||ge.includes("@list");for(let le=0;le1?le.slice().sort():le:[le];for(const _t of qe){const gt=b(_e,_t,"@context");w(gt)||(ve=yield A({activeCtx:ve,localCtx:gt,options:He,propagate:!1}))}}let Be={};yield ne({activeCtx:ve,activeProperty:Fe,expandedActiveProperty:xe,element:Qe,expandedParent:Be,options:He,insideList:J,typeKey:Ke,typeScopedContext:_e,expansionMap:Te}),Se=Object.keys(Be);let X=Se.length;if("@value"in Be){if("@type"in Be&&("@language"in Be||"@direction"in Be))throw new K('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Be});let q=X-1;if("@type"in Be&&(q-=1),"@index"in Be&&(q-=1),"@language"in Be&&(q-=1),"@direction"in Be&&(q-=1),0!==q)throw new K('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Be});const ge=null===Be["@value"]?[]:M(Be["@value"]),le=P(Be,"@type");if(!E(ve,1.1)||!le.includes("@json")||1!==le.length)if(0===ge.length){const qe=yield Te({unmappedValue:Be,activeCtx:ve,activeProperty:Fe,element:Qe,options:He,insideList:J});Be=void 0!==qe?qe:null}else{if(!ge.every(qe=>L(qe)||Y(qe))&&"@language"in Be)throw new K("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:Be});if(!le.every(qe=>I(qe)&&!(L(qe)&&0===qe.indexOf("_:"))||Y(qe)))throw new K('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:Be})}}else if("@type"in Be&&!V(Be["@type"]))Be["@type"]=[Be["@type"]];else if("@set"in Be||"@list"in Be){if(X>1&&(2!==X||!("@index"in Be)))throw new K('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:Be});"@set"in Be&&(Be=Be["@set"],Se=Object.keys(Be),X=Se.length)}else if(1===X&&"@language"in Be){const q=yield Te(Be,{unmappedValue:Be,activeCtx:ve,activeProperty:Fe,element:Qe,options:He,insideList:J});Be=void 0!==q?q:null}if(F(Be)&&!He.keepFreeFloatingNodes&&!J&&(null===Fe||"@graph"===xe)&&(0===X||"@value"in Be||"@list"in Be||1===X&&"@id"in Be)){const q=yield Te({unmappedValue:Be,activeCtx:ve,activeProperty:Fe,element:Qe,options:He,insideList:J});Be=void 0!==q?q:null}return Be});return function(ve){return re.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(Q,we,fe){"use strict";const{isSubjectReference:K}=Q("./graphTypes"),{createMergedNodeMap:V}=Q("./nodeMap"),F={};we.exports=F,F.flatten=Y=>{const L=V(Y),w=[],C=Object.keys(L).sort();for(let R=0;R=0;--ce){const se=ne[ce];if(se.graph===G&&se.subject["@id"]===S["@id"])return!0}return!1}function b(S,G,ne){const ce="@"+ne;let se=ce in S?S[ce][0]:G[ne];if("embed"===ne)if(!0===se)se="@once";else if(!1===se)se="@never";else if("@always"!==se&&"@never"!==se&&"@link"!==se&&"@first"!==se&&"@last"!==se&&"@once"!==se)throw new w("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:S});return se}function x(S){if(!F.isArray(S)||1!==S.length||!F.isObject(S[0]))throw new w("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:S});if("@id"in S[0])for(const G of Y.asArray(S[0]["@id"]))if(!F.isObject(G)&&!L.isAbsolute(G)||F.isString(G)&&0===G.indexOf("_:"))throw new w("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:S});if("@type"in S[0])for(const G of Y.asArray(S[0]["@type"]))if(!F.isObject(G)&&!L.isAbsolute(G)||F.isString(G)&&0===G.indexOf("_:"))throw new w("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:S})}function E(S,G,ne,ce){let se=!0,te=!1;for(const Ie in ne){let ye=!1;const re=Y.getValues(G,Ie),ve=0===Y.getValues(ne,Ie).length;if("@id"===Ie){if(F.isEmptyObject(ne["@id"][0]||{})?ye=!0:ne["@id"].length>=0&&(ye=ne["@id"].includes(re[0])),!ce.requireAll)return ye}else if("@type"===Ie){if(se=!1,ve){if(re.length>0)return!1;ye=!0}else if(1===ne["@type"].length&&F.isEmptyObject(ne["@type"][0]))ye=re.length>0;else for(const Fe of ne["@type"])ye=!(!F.isObject(Fe)||!("@default"in Fe))||ye||re.some(Qe=>Qe===Fe);if(!ce.requireAll)return ye}else{if(K(Ie))continue;{const Fe=Y.getValues(ne,Ie)[0];let Qe=!1;if(Fe&&(x([Fe]),Qe="@default"in Fe),se=!1,0===re.length&&Qe)continue;if(re.length>0&&ve)return!1;if(void 0===Fe){if(re.length>0)return!1;ye=!0}else if(V.isList(Fe)){const He=Fe["@list"][0];if(V.isList(re[0])){const J=re[0]["@list"];V.isValue(He)?ye=J.some(ae=>Z(He,ae)):(V.isSubject(He)||V.isSubjectReference(He))&&(ye=J.some(ae=>P(S,He,ae,ce)))}}else ye=V.isValue(Fe)?re.some(He=>Z(Fe,He)):V.isSubjectReference(Fe)?re.some(He=>P(S,Fe,He,ce)):!!F.isObject(Fe)&&re.length>0}}if(!ye&&ce.requireAll)return!1;te=te||ye}return se||te}function I(S,G){const ne=S.uniqueEmbeds[S.graph],ce=ne[G],se=ce.parent,te=ce.property,Ie={"@id":G};if(F.isArray(se)){for(let re=0;re{const ve=Object.keys(ne);for(const Fe of ve)Fe in ne&&F.isObject(ne[Fe].parent)&&ne[Fe].parent["@id"]===re&&(delete ne[Fe],ye(Fe))};ye(G)}function H(S,G){if(F.isArray(S))return S.map(ne=>H(ne,G));if(F.isObject(S)){if("@preserve"in S)return S["@preserve"][0];if(V.isValue(S))return S;if(V.isList(S))return S["@list"]=H(S["@list"],G),S;if("@id"in S){const ne=S["@id"];if(G.link.hasOwnProperty(ne)){const ce=G.link[ne].indexOf(S);if(-1!==ce)return G.link[ne][ce];G.link[ne].push(S)}else G.link[ne]=[S]}for(const ne in S)"@id"===ne&&G.bnodesToClear.includes(S[ne])?delete S["@id"]:S[ne]=H(S[ne],G)}return S}function M(S,G,ne){F.isObject(S)?Y.addValue(S,G,ne,{propertyIsArray:!0}):S.push(ne)}function P(S,G,ne,ce){if(!("@id"in ne))return!1;const se=S.subjects[ne["@id"]];return se&&E(S,se,G,ce)}function Z(S,G){const ne=G["@value"],ce=G["@type"],se=G["@language"],te=S["@value"]?F.isArray(S["@value"])?S["@value"]:[S["@value"]]:[],Ie=S["@type"]?F.isArray(S["@type"])?S["@type"]:[S["@type"]]:[],ye=S["@language"]?F.isArray(S["@language"])?S["@language"]:[S["@language"]]:[];return 0===te.length&&0===Ie.length&&0===ye.length||!(!te.includes(ne)&&!F.isEmptyObject(te[0])||!(!ce&&0===Ie.length||Ie.includes(ce)||ce&&F.isEmptyObject(Ie[0]))||!(!se&&0===ye.length||ye.includes(se)||se&&F.isEmptyObject(ye[0])))}we.exports=T,T.frameMergedOrDefault=(S,G,ne)=>{const ce={options:ne,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},se=new Y.IdentifierIssuer("_:b");C(S,ce.graphMap,"@default",se),ne.merged&&(ce.graphMap["@merged"]=R(ce.graphMap),ce.graph="@merged"),ce.subjects=ce.graphMap[ce.graph];const te=[];return T.frame(ce,Object.keys(ce.subjects).sort(),G,te),ne.pruneBlankNodeIdentifiers&&(ne.bnodesToClear=Object.keys(ce.bnodeMap).filter(Ie=>1===ce.bnodeMap[Ie].length)),ne.link={},H(te,ne)},T.frame=(S,G,ne,ce,se=null)=>{x(ne);const te=S.options,Ie={embed:b(ne=ne[0],te,"embed"),explicit:b(ne,te,"explicit"),requireAll:b(ne,te,"requireAll")};S.link.hasOwnProperty(S.graph)||(S.link[S.graph]={});const ye=S.link[S.graph],re=function(S,G,ne,ce){const se={};for(const te of G){const Ie=S.graphMap[S.graph][te];E(S,Ie,ne,ce)&&(se[te]=Ie)}return se}(S,G,ne,Ie),ve=Object.keys(re).sort();for(const Fe of ve){const Qe=re[Fe];if(null===se?S.uniqueEmbeds={[S.graph]:{}}:S.uniqueEmbeds[S.graph]=S.uniqueEmbeds[S.graph]||{},"@link"===Ie.embed&&Fe in ye){M(ce,se,ye[Fe]);continue}const He={"@id":Fe};if(0===Fe.indexOf("_:")&&Y.addValue(S.bnodeMap,Fe,He,{propertyIsArray:!0}),ye[Fe]=He,("@first"===Ie.embed||"@last"===Ie.embed)&&S.is11)throw new w("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:ne});if(S.embedded||!S.uniqueEmbeds[S.graph].hasOwnProperty(Fe)){if(S.embedded&&("@never"===Ie.embed||v(Qe,S.graph,S.subjectStack))){M(ce,se,He);continue}if(S.embedded&&("@first"==Ie.embed||"@once"==Ie.embed)&&S.uniqueEmbeds[S.graph].hasOwnProperty(Fe)){M(ce,se,He);continue}if("@last"===Ie.embed&&Fe in S.uniqueEmbeds[S.graph]&&I(S,Fe),S.uniqueEmbeds[S.graph][Fe]={parent:ce,property:se},S.subjectStack.push({subject:Qe,graph:S.graph}),Fe in S.graphMap){let J=!1,ae=null;"@graph"in ne?(ae=ne["@graph"][0],J=!("@merged"===Fe||"@default"===Fe),F.isObject(ae)||(ae={})):(J="@merged"!==S.graph,ae={}),J&&T.frame(Cn(at({},S),{graph:Fe,embedded:!1}),Object.keys(S.graphMap[Fe]).sort(),[ae],He,"@graph")}"@included"in ne&&T.frame(Cn(at({},S),{embedded:!1}),G,ne["@included"],He,"@included");for(const J of Object.keys(Qe).sort())if(K(J)){if(He[J]=Y.clone(Qe[J]),"@type"===J)for(const ae of Qe["@type"])0===ae.indexOf("_:")&&Y.addValue(S.bnodeMap,ae,He,{propertyIsArray:!0})}else if(!Ie.explicit||J in ne)for(const ae of Qe[J]){const _e=J in ne?ne[J]:y(Ie);if(V.isList(ae)){const Te=ne[J]&&ne[J][0]&&ne[J][0]["@list"]?ne[J][0]["@list"]:y(Ie),xe={"@list":[]};M(He,J,xe);const Ge=ae["@list"];for(const Se of Ge)V.isSubjectReference(Se)?T.frame(Cn(at({},S),{embedded:!0}),[Se["@id"]],Te,xe,"@list"):M(xe,"@list",Y.clone(Se))}else V.isSubjectReference(ae)?T.frame(Cn(at({},S),{embedded:!0}),[ae["@id"]],_e,He,J):Z(_e[0],ae)&&M(He,J,Y.clone(ae))}for(const J of Object.keys(ne).sort()){if("@type"===J){if(!F.isObject(ne[J][0])||!("@default"in ne[J][0]))continue}else if(K(J))continue;const ae=ne[J][0]||{};if(!b(ae,te,"omitDefault")&&!(J in He)){let Te="@null";"@default"in ae&&(Te=Y.clone(ae["@default"])),F.isArray(Te)||(Te=[Te]),He[J]=[{"@preserve":Te}]}}for(const J of Object.keys(ne["@reverse"]||{}).sort()){const ae=ne["@reverse"][J];for(const _e of Object.keys(S.subjects))Y.getValues(S.subjects[_e],J).some(xe=>xe["@id"]===Fe)&&(He["@reverse"]=He["@reverse"]||{},Y.addValue(He["@reverse"],J,[],{propertyIsArray:!0}),T.frame(Cn(at({},S),{embedded:!0}),[_e],ae,He["@reverse"][J],se))}M(ce,se,He),S.subjectStack.pop()}}},T.cleanupNull=(S,G)=>{if(F.isArray(S))return S.map(ce=>T.cleanupNull(ce,G)).filter(ce=>ce);if("@null"===S)return null;if(F.isObject(S)){if("@id"in S){const ne=S["@id"];if(G.link.hasOwnProperty(ne)){const ce=G.link[ne].indexOf(S);if(-1!==ce)return G.link[ne][ce];G.link[ne].push(S)}else G.link[ne]=[S]}for(const ne in S)S[ne]=T.cleanupNull(S[ne],G)}return S}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(Q,we,fe){"use strict";const K=Q("./JsonLdError"),V=Q("./graphTypes"),F=Q("./types"),Y=Q("./util"),{RDF_LIST:L,RDF_FIRST:w,RDF_REST:C,RDF_NIL:R,RDF_TYPE:T,RDF_JSON_LITERAL:y,XSD_BOOLEAN:v,XSD_DOUBLE:b,XSD_INTEGER:x,XSD_STRING:A}=Q("./constants"),E=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,I={};function H(M,P,Z){if(M.termType.endsWith("Node"))return{"@id":M.value};const S={"@value":M.value};if(M.language)S["@language"]=M.language;else{let G=M.datatype.value;if(G||(G=A),G===y){G="@json";try{S["@value"]=JSON.parse(S["@value"])}catch(ne){throw new K("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:S["@value"],cause:ne})}}if(P){if(G===v)"true"===S["@value"]?S["@value"]=!0:"false"===S["@value"]&&(S["@value"]=!1);else if(F.isNumeric(S["@value"]))if(G===x){const ne=parseInt(S["@value"],10);ne.toFixed(0)===S["@value"]&&(S["@value"]=ne)}else G===b&&(S["@value"]=parseFloat(S["@value"]));[v,x,b,A].includes(G)||(S["@type"]=G)}else if("i18n-datatype"===Z&&G.startsWith("https://www.w3.org/ns/i18n#")){const[,ne,ce]=G.split(/[#_]/);ne.length>0&&(S["@language"]=ne,ne.match(E)||console.warn(`@language must be valid BCP47: ${ne}`)),S["@direction"]=ce}else G!==A&&(S["@type"]=G)}return S}we.exports=I,I.fromRDF=function(){var M=lt(function*(P,{useRdfType:Z=!1,useNativeTypes:S=!1,rdfDirection:G=null}){const ne={},ce={"@default":ne},se={};for(const ye of P){const re="DefaultGraph"===ye.graph.termType?"@default":ye.graph.value;re in ce||(ce[re]={}),"@default"!==re&&!(re in ne)&&(ne[re]={"@id":re});const ve=ce[re],Fe=ye.subject.value,Qe=ye.predicate.value,He=ye.object;Fe in ve||(ve[Fe]={"@id":Fe});const J=ve[Fe],ae=He.termType.endsWith("Node");if(ae&&!(He.value in ve)&&(ve[He.value]={"@id":He.value}),Qe===T&&!Z&&ae){Y.addValue(J,"@type",He.value,{propertyIsArray:!0});continue}const _e=H(He,S,G);if(Y.addValue(J,Qe,_e,{propertyIsArray:!0}),ae)if(He.value===R){const Te=ve[He.value];"usages"in Te||(Te.usages=[]),Te.usages.push({node:J,property:Qe,value:_e})}else se[He.value]=!(He.value in se)&&{node:J,property:Qe,value:_e}}for(const ye in ce){const re=ce[ye];if(!(R in re))continue;const ve=re[R];if(ve.usages){for(let Fe of ve.usages){let Qe=Fe.node,He=Fe.property,J=Fe.value;const ae=[],_e=[];let Te=Object.keys(Qe).length;for(;He===C&&F.isObject(se[Qe["@id"]])&&F.isArray(Qe[w])&&1===Qe[w].length&&F.isArray(Qe[C])&&1===Qe[C].length&&(3===Te||4===Te&&F.isArray(Qe["@type"])&&1===Qe["@type"].length&&Qe["@type"][0]===L)&&(ae.push(Qe[w][0]),_e.push(Qe["@id"]),Fe=se[Qe["@id"]],Qe=Fe.node,He=Fe.property,J=Fe.value,Te=Object.keys(Qe).length,V.isBlankNode(Qe)););delete J["@id"],J["@list"]=ae.reverse();for(const xe of _e)delete re[xe]}delete ve.usages}}const te=[],Ie=Object.keys(ne).sort();for(const ye of Ie){const re=ne[ye];if(ye in ce){const ve=re["@graph"]=[],Fe=ce[ye],Qe=Object.keys(Fe).sort();for(const He of Qe){const J=Fe[He];V.isSubjectReference(J)||ve.push(J)}}V.isSubjectReference(re)||te.push(re)}return te});return function(P,Z){return M.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(Q,we,fe){"use strict";const K=Q("./types"),V={};we.exports=V,V.isSubject=F=>!(!K.isObject(F)||"@value"in F||"@set"in F||"@list"in F)&&(Object.keys(F).length>1||!("@id"in F)),V.isSubjectReference=F=>K.isObject(F)&&1===Object.keys(F).length&&"@id"in F,V.isValue=F=>K.isObject(F)&&"@value"in F,V.isList=F=>K.isObject(F)&&"@list"in F,V.isGraph=F=>K.isObject(F)&&"@graph"in F&&1===Object.keys(F).filter(Y=>"@id"!==Y&&"@index"!==Y).length,V.isSimpleGraph=F=>V.isGraph(F)&&!("@id"in F),V.isBlankNode=F=>!!K.isObject(F)&&("@id"in F?0===F["@id"].indexOf("_:"):0===Object.keys(F).length||!("@value"in F||"@set"in F||"@list"in F))},{"./types":30}],26:[function(Q,we,fe){const K=Q("rdf-canonize"),V=Q("./platform"),F=Q("./util"),Y=Q("./ContextResolver"),L=F.IdentifierIssuer,w=Q("./JsonLdError"),C=Q("lru-cache"),R=Q("./NQuads"),{expand:T}=Q("./expand"),{flatten:y}=Q("./flatten"),{fromRDF:v}=Q("./fromRdf"),{toRDF:b}=Q("./toRdf"),{frameMergedOrDefault:x,cleanupNull:A}=Q("./frame"),{isArray:E,isObject:I,isString:H}=Q("./types"),{isSubjectReference:M}=Q("./graphTypes"),{expandIri:P,getInitialContext:Z,process:S,processingMode:G}=Q("./context"),{compact:ne,compactIri:ce}=Q("./compact"),{createNodeMap:se,createMergedNodeMap:te,mergeNodeMaps:Ie}=Q("./nodeMap"),ye=function(ve){const Fe={},He=new C({max:100});function J(ae,xe){var Ge=xe,{documentLoader:_e=ve.documentLoader}=Ge,Te=zq(Ge,["documentLoader"]);return Object.assign({},{documentLoader:_e},Te,ae)}return ve.compact=function(){var ae=lt(function*(_e,Te,xe){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===Te)throw new w("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===_e)return null;let Ge;(xe=J(xe,{base:H(_e)?_e:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new L("_:b"),contextResolver:new Y({sharedCache:He})})).link&&(xe.skipExpansion=!0),xe.compactToRelative||delete xe.base,Ge=xe.skipExpansion?_e:yield ve.expand(_e,xe);const Se=yield ve.processContext(Z(xe),Te,xe);let Ue=yield ne({activeCtx:Se,element:Ge,options:xe,compactionMap:xe.compactionMap});xe.compactArrays&&!xe.graph&&E(Ue)?1===Ue.length?Ue=Ue[0]:0===Ue.length&&(Ue={}):xe.graph&&I(Ue)&&(Ue=[Ue]),I(Te)&&"@context"in Te&&(Te=Te["@context"]),Te=F.clone(Te),E(Te)||(Te=[Te]);const Ke=Te;Te=[];for(let X=0;X0)&&Te.push(Ke[X]);const Be=Te.length>0;if(1===Te.length&&(Te=Te[0]),E(Ue)){const X=ce({activeCtx:Se,iri:"@graph",relativeTo:{vocab:!0}}),q=Ue;Ue={},Be&&(Ue["@context"]=Te),Ue[X]=q}else if(I(Ue)&&Be){const X=Ue;Ue={"@context":Te};for(const q in X)Ue[q]=X[q]}return Ue});return function(_e,Te,xe){return ae.apply(this,arguments)}}(),ve.expand=function(){var ae=lt(function*(_e,Te){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(Te=J(Te,{keepFreeFloatingNodes:!1,contextResolver:new Y({sharedCache:He})})).expansionMap&&(Te.expansionMap=void 0);const xe={},Ge=[];if("expandContext"in Te){const Be=F.clone(Te.expandContext);xe.expandContext=I(Be)&&"@context"in Be?Be:{"@context":Be},Ge.push(xe.expandContext)}let Se;if(H(_e)){const Be=yield ve.get(_e,Te);Se=Be.documentUrl,xe.input=Be.document,Be.contextUrl&&(xe.remoteContext={"@context":Be.contextUrl},Ge.push(xe.remoteContext))}else xe.input=F.clone(_e);"base"in Te||(Te.base=Se||"");let Ue=Z(Te);for(const Be of Ge)Ue=yield S({activeCtx:Ue,localCtx:Be,options:Te});let Ke=yield T({activeCtx:Ue,element:xe.input,options:Te,expansionMap:Te.expansionMap});return I(Ke)&&"@graph"in Ke&&1===Object.keys(Ke).length?Ke=Ke["@graph"]:null===Ke&&(Ke=[]),E(Ke)||(Ke=[Ke]),Ke});return function(_e,Te){return ae.apply(this,arguments)}}(),ve.flatten=function(){var ae=lt(function*(_e,Te,xe){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");Te="function"==typeof Te?null:Te||null,xe=J(xe,{base:H(_e)?_e:"",contextResolver:new Y({sharedCache:He})});const Ge=yield ve.expand(_e,xe),Se=y(Ge);return null===Te?Se:(xe.graph=!0,xe.skipExpansion=!0,yield ve.compact(Se,Te,xe))});return function(_e,Te,xe){return ae.apply(this,arguments)}}(),ve.frame=function(){var ae=lt(function*(_e,Te,xe){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(xe=J(xe,{base:H(_e)?_e:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new Y({sharedCache:He})}),H(Te)){const le=yield ve.get(Te,xe);if(Te=le.document,le.contextUrl){let qe=Te["@context"];qe?E(qe)?qe.push(le.contextUrl):qe=[qe,le.contextUrl]:qe=le.contextUrl,Te["@context"]=qe}}const Ge=Te&&Te["@context"]||{},Se=yield ve.processContext(Z(xe),Ge,xe);xe.hasOwnProperty("omitGraph")||(xe.omitGraph=G(Se,1.1)),xe.hasOwnProperty("pruneBlankNodeIdentifiers")||(xe.pruneBlankNodeIdentifiers=G(Se,1.1));const Ue=yield ve.expand(_e,xe),Ke=at({},xe);Ke.isFrame=!0,Ke.keepFreeFloatingNodes=!0;const Be=yield ve.expand(Te,Ke),X=Object.keys(Te).map(le=>P(Se,le,{vocab:!0}));Ke.merged=!X.includes("@graph"),Ke.is11=G(Se,1.1);const q=x(Ue,Be,Ke);Ke.graph=!xe.omitGraph,Ke.skipExpansion=!0,Ke.link={},Ke.framing=!0;let ge=yield ve.compact(q,Ge,Ke);return Ke.link={},ge=A(ge,Ke),ge});return function(_e,Te,xe){return ae.apply(this,arguments)}}(),ve.link=function(){var ae=lt(function*(_e,Te,xe){const Ge={};return Te&&(Ge["@context"]=Te),Ge["@embed"]="@link",ve.frame(_e,Ge,xe)});return function(_e,Te,xe){return ae.apply(this,arguments)}}(),ve.normalize=ve.canonize=function(){var ae=lt(function*(_e,Te){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(Te=J(Te,{base:H(_e)?_e:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new Y({sharedCache:He})}))){if("application/n-quads"!==Te.inputFormat&&"application/nquads"!==Te.inputFormat)throw new w("Unknown canonicalization input format.","jsonld.CanonizeError");const Se=R.parse(_e);return K.canonize(Se,Te)}const xe=at({},Te);delete xe.format,xe.produceGeneralizedRdf=!1;const Ge=yield ve.toRDF(_e,xe);return K.canonize(Ge,Te)});return function(_e,Te){return ae.apply(this,arguments)}}(),ve.fromRDF=function(){var ae=lt(function*(_e,Te){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");Te=J(Te,{format:H(_e)?"application/n-quads":void 0});const{format:xe}=Te;let{rdfParser:Ge}=Te;if(xe){if(Ge=Ge||Fe[xe],!Ge)throw new w("Unknown input format.","jsonld.UnknownFormat",{format:xe})}else Ge=()=>_e;const Se=yield Ge(_e);return v(Se,Te)});return function(_e,Te){return ae.apply(this,arguments)}}(),ve.toRDF=function(){var ae=lt(function*(_e,Te){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let xe;xe=(Te=J(Te,{base:H(_e)?_e:"",skipExpansion:!1,contextResolver:new Y({sharedCache:He})})).skipExpansion?_e:yield ve.expand(_e,Te);const Ge=b(xe,Te);if(Te.format){if("application/n-quads"===Te.format||"application/nquads"===Te.format)return R.serialize(Ge);throw new w("Unknown output format.","jsonld.UnknownFormat",{format:Te.format})}return Ge});return function(_e,Te){return ae.apply(this,arguments)}}(),ve.createNodeMap=function(){var ae=lt(function*(_e,Te){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");Te=J(Te,{base:H(_e)?_e:"",contextResolver:new Y({sharedCache:He})});const xe=yield ve.expand(_e,Te);return te(xe,Te)});return function(_e,Te){return ae.apply(this,arguments)}}(),ve.merge=function(){var ae=lt(function*(_e,Te,xe){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!E(_e))throw new TypeError('Could not merge, "docs" must be an array.');Te="function"==typeof Te?null:Te||null,xe=J(xe,{contextResolver:new Y({sharedCache:He})});const Ge=yield Promise.all(_e.map(le=>{const qe=at({},xe);return ve.expand(le,qe)}));let Se=!0;"mergeNodes"in xe&&(Se=xe.mergeNodes);const Ue=xe.issuer||new L("_:b"),Ke={"@default":{}};for(let le=0;leve._documentLoader,set:ae=>ve._documentLoader=ae}),ve.documentLoader=function(){var ae=lt(function*(_e){throw new w("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:_e})});return function(_e){return ae.apply(this,arguments)}}(),ve.get=function(){var ae=lt(function*(_e,Te){let xe;xe="function"==typeof Te.documentLoader?Te.documentLoader:ve.documentLoader;const Ge=yield xe(_e);try{if(!Ge.document)throw new w("No remote document found at the given URL.","jsonld.NullRemoteDocument");H(Ge.document)&&(Ge.document=JSON.parse(Ge.document))}catch(Se){throw new w("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:Se,remoteDoc:Ge})}return Ge});return function(_e,Te){return ae.apply(this,arguments)}}(),ve.processContext=function(){var ae=lt(function*(_e,Te,xe){return xe=J(xe,{base:"",contextResolver:new Y({sharedCache:He})}),null===Te?Z(xe):(Te=F.clone(Te),I(Te)&&"@context"in Te||(Te={"@context":Te}),S({activeCtx:_e,localCtx:Te,options:xe}))});return function(_e,Te,xe){return ae.apply(this,arguments)}}(),ve.getContextValue=Q("./context").getContextValue,ve.documentLoaders={},ve.useDocumentLoader=function(ae){if(!(ae in ve.documentLoaders))throw new w('Unknown document loader type: "'+ae+'"',"jsonld.UnknownDocumentLoader",{type:ae});ve.documentLoader=ve.documentLoaders[ae].apply(ve,Array.prototype.slice.call(arguments,1))},ve.registerRDFParser=function(ae,_e){Fe[ae]=_e},ve.unregisterRDFParser=function(ae){delete Fe[ae]},ve.registerRDFParser("application/n-quads",R.parse),ve.registerRDFParser("application/nquads",R.parse),ve.url=Q("./url"),ve.util=F,Object.assign(ve,F),ve.promises=ve,ve.RequestQueue=Q("./RequestQueue"),ve.JsonLdProcessor=Q("./JsonLdProcessor")(ve),V.setupGlobals(ve),V.setupDocumentLoaders(ve),ve},re=function(){return ye(function(){return re()})};ye(re),we.exports=re},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(Q,we,fe){"use strict";const{isKeyword:K}=Q("./context"),V=Q("./graphTypes"),F=Q("./types"),Y=Q("./util"),L=Q("./JsonLdError"),w={};we.exports=w,w.createMergedNodeMap=(C,R)=>{const T=(R=R||{}).issuer||new Y.IdentifierIssuer("_:b"),y={"@default":{}};return w.createNodeMap(C,y,"@default",T),w.mergeNodeMaps(y)},w.createNodeMap=(C,R,T,y,v,b)=>{if(F.isArray(C)){for(const I of C)w.createNodeMap(I,R,T,y,void 0,b);return}if(!F.isObject(C))return void(b&&b.push(C));if(V.isValue(C)){if("@type"in C){let I=C["@type"];0===I.indexOf("_:")&&(C["@type"]=I=y.getId(I))}return void(b&&b.push(C))}if(b&&V.isList(C)){const I=[];return w.createNodeMap(C["@list"],R,T,y,v,I),void b.push({"@list":I})}if("@type"in C){const I=C["@type"];for(const H of I)0===H.indexOf("_:")&&y.getId(H)}F.isUndefined(v)&&(v=V.isBlankNode(C)?y.getId(C["@id"]):C["@id"]),b&&b.push({"@id":v});const x=R[T],A=x[v]=x[v]||{};A["@id"]=v;const E=Object.keys(C).sort();for(let I of E){if("@id"===I)continue;if("@reverse"===I){const M={"@id":v},P=C["@reverse"];for(const Z in P){const S=P[Z];for(const G of S){let ne=G["@id"];V.isBlankNode(G)&&(ne=y.getId(ne)),w.createNodeMap(G,R,T,y,ne),Y.addValue(x[ne],Z,M,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===I){v in R||(R[v]={}),w.createNodeMap(C[I],R,v,y);continue}if("@included"===I){w.createNodeMap(C[I],R,T,y);continue}if("@type"!==I&&K(I)){if("@index"===I&&I in A&&(C[I]!==A[I]||C[I]["@id"]!==A[I]["@id"]))throw new L("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:A});A[I]=C[I];continue}const H=C[I];if(0===I.indexOf("_:")&&(I=y.getId(I)),0!==H.length)for(let M of H)if("@type"===I&&(M=0===M.indexOf("_:")?y.getId(M):M),V.isSubject(M)||V.isSubjectReference(M)){if("@id"in M&&!M["@id"])continue;const P=V.isBlankNode(M)?y.getId(M["@id"]):M["@id"];Y.addValue(A,I,{"@id":P},{propertyIsArray:!0,allowDuplicate:!1}),w.createNodeMap(M,R,T,y,P)}else if(V.isValue(M))Y.addValue(A,I,M,{propertyIsArray:!0,allowDuplicate:!1});else if(V.isList(M)){const P=[];w.createNodeMap(M["@list"],R,T,y,v,P),M={"@list":P},Y.addValue(A,I,M,{propertyIsArray:!0,allowDuplicate:!1})}else w.createNodeMap(M,R,T,y,v),Y.addValue(A,I,M,{propertyIsArray:!0,allowDuplicate:!1});else Y.addValue(A,I,[],{propertyIsArray:!0})}},w.mergeNodeMapGraphs=C=>{const R={};for(const T of Object.keys(C).sort())for(const y of Object.keys(C[T]).sort()){const v=C[T][y];y in R||(R[y]={"@id":y});const b=R[y];for(const x of Object.keys(v).sort())if(K(x)&&"@type"!==x)b[x]=Y.clone(v[x]);else for(const A of v[x])Y.addValue(b,x,Y.clone(A),{propertyIsArray:!0,allowDuplicate:!1})}return R},w.mergeNodeMaps=C=>{const R=C["@default"],T=Object.keys(C).sort();for(const y of T){if("@default"===y)continue;const v=C[y];let b=R[y];b?"@graph"in b||(b["@graph"]=[]):R[y]=b={"@id":y,"@graph":[]};const x=b["@graph"];for(const A of Object.keys(v).sort()){const E=v[A];V.isSubjectReference(E)||x.push(E)}}return R}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(Q,we,fe){"use strict";const K=Q("./documentLoaders/xhr"),V={};we.exports=V,V.setupDocumentLoaders=function(F){"undefined"!=typeof XMLHttpRequest&&(F.documentLoaders.xhr=K,F.useDocumentLoader("xhr"))},V.setupGlobals=function(F){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:F.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(Q,we,fe){"use strict";const{createNodeMap:K}=Q("./nodeMap"),{isKeyword:V}=Q("./context"),F=Q("./graphTypes"),Y=Q("canonicalize"),L=Q("./types"),w=Q("./util"),{RDF_FIRST:C,RDF_REST:R,RDF_NIL:T,RDF_TYPE:y,RDF_JSON_LITERAL:v,RDF_LANGSTRING:b,XSD_BOOLEAN:x,XSD_DOUBLE:A,XSD_INTEGER:E,XSD_STRING:I}=Q("./constants"),{isAbsolute:H}=Q("./url"),M={};function P(G,ne,ce,se,te){const Ie=Object.keys(ne).sort();for(const ye of Ie){const re=ne[ye],ve=Object.keys(re).sort();for(let Fe of ve){const Qe=re[Fe];if("@type"===Fe)Fe=y;else if(V(Fe))continue;for(const He of Qe){const J={termType:ye.startsWith("_:")?"BlankNode":"NamedNode",value:ye};if(!H(ye))continue;const ae={termType:Fe.startsWith("_:")?"BlankNode":"NamedNode",value:Fe};if(!H(Fe)||"BlankNode"===ae.termType&&!te.produceGeneralizedRdf)continue;const _e=S(He,se,G,ce,te.rdfDirection);_e&&G.push({subject:J,predicate:ae,object:_e,graph:ce})}}}}function S(G,ne,ce,se,te){const Ie={};if(F.isValue(G)){Ie.termType="Literal",Ie.value=void 0,Ie.datatype={termType:"NamedNode"};let ye=G["@value"];const re=G["@type"]||null;"@json"===re?(Ie.value=Y(ye),Ie.datatype.value=v):L.isBoolean(ye)?(Ie.value=ye.toString(),Ie.datatype.value=re||x):L.isDouble(ye)||re===A?(L.isDouble(ye)||(ye=parseFloat(ye)),Ie.value=ye.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Ie.datatype.value=re||A):L.isNumber(ye)?(Ie.value=ye.toFixed(0),Ie.datatype.value=re||E):"i18n-datatype"===te&&"@direction"in G?(Ie.datatype.value="https://www.w3.org/ns/i18n#"+(G["@language"]||"")+`_${G["@direction"]}`,Ie.value=ye):"@language"in G?(Ie.value=ye,Ie.datatype.value=re||b,Ie.language=G["@language"]):(Ie.value=ye,Ie.datatype.value=re||I)}else if(F.isList(G)){const ye=function(G,ne,ce,se,te){const Ie={termType:"NamedNode",value:C},ye={termType:"NamedNode",value:R},re={termType:"NamedNode",value:T},ve=G.pop(),Fe=ve?{termType:"BlankNode",value:ne.getId()}:re;let Qe=Fe;for(const He of G){const J=S(He,ne,ce,se,te),ae={termType:"BlankNode",value:ne.getId()};ce.push({subject:Qe,predicate:Ie,object:J,graph:se}),ce.push({subject:Qe,predicate:ye,object:ae,graph:se}),Qe=ae}if(ve){const He=S(ve,ne,ce,se,te);ce.push({subject:Qe,predicate:Ie,object:He,graph:se}),ce.push({subject:Qe,predicate:ye,object:re,graph:se})}return Fe}(G["@list"],ne,ce,se,te);Ie.termType=ye.termType,Ie.value=ye.value}else{const ye=L.isObject(G)?G["@id"]:G;Ie.termType=ye.startsWith("_:")?"BlankNode":"NamedNode",Ie.value=ye}return"NamedNode"!==Ie.termType||H(Ie.value)?Ie:null}we.exports=M,M.toRDF=(G,ne)=>{const ce=new w.IdentifierIssuer("_:b"),se={"@default":{}};K(G,se,"@default",ce);const te=[],Ie=Object.keys(se).sort();for(const ye of Ie){let re;if("@default"===ye)re={termType:"DefaultGraph",value:""};else{if(!H(ye))continue;re=ye.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},re.value=ye}P(te,se[ye],re,ce,ne)}return te}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(Q,we,fe){"use strict";const K={};we.exports=K,K.isArray=Array.isArray,K.isBoolean=V=>"boolean"==typeof V||"[object Boolean]"===Object.prototype.toString.call(V),K.isDouble=V=>K.isNumber(V)&&(-1!==String(V).indexOf(".")||Math.abs(V)>=1e21),K.isEmptyObject=V=>K.isObject(V)&&0===Object.keys(V).length,K.isNumber=V=>"number"==typeof V||"[object Number]"===Object.prototype.toString.call(V),K.isNumeric=V=>!isNaN(parseFloat(V))&&isFinite(V),K.isObject=V=>"[object Object]"===Object.prototype.toString.call(V),K.isString=V=>"string"==typeof V||"[object String]"===Object.prototype.toString.call(V),K.isUndefined=V=>void 0===V},{}],31:[function(Q,we,fe){"use strict";const K=Q("./types"),V={};we.exports=V,V.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},V.parse=(Y,L)=>{const w={},C=V.parsers[L||"full"],R=C.regex.exec(Y);let T=C.keys.length;for(;T--;)w[C.keys[T]]=void 0===R[T]?null:R[T];return("https"===w.scheme&&"443"===w.port||"http"===w.scheme&&"80"===w.port)&&(w.href=w.href.replace(":"+w.port,""),w.authority=w.authority.replace(":"+w.port,""),w.port=null),w.normalizedPath=V.removeDotSegments(w.path),w},V.prependBase=(Y,L)=>{if(null===Y||V.isAbsolute(L))return L;(!Y||K.isString(Y))&&(Y=V.parse(Y||""));const w=V.parse(L),C={protocol:Y.protocol||""};if(null!==w.authority)C.authority=w.authority,C.path=w.path,C.query=w.query;else if(C.authority=Y.authority,""===w.path)C.path=Y.path,C.query=null!==w.query?w.query:Y.query;else{if(0===w.path.indexOf("/"))C.path=w.path;else{let T=Y.path;T=T.substr(0,T.lastIndexOf("/")+1),(T.length>0||Y.authority)&&"/"!==T.substr(-1)&&(T+="/"),T+=w.path,C.path=T}C.query=w.query}""!==w.path&&(C.path=V.removeDotSegments(C.path));let R=C.protocol;return null!==C.authority&&(R+="//"+C.authority),R+=C.path,null!==C.query&&(R+="?"+C.query),null!==w.fragment&&(R+="#"+w.fragment),""===R&&(R="./"),R},V.removeBase=(Y,L)=>{if(null===Y)return L;(!Y||K.isString(Y))&&(Y=V.parse(Y||""));let w="";if(""!==Y.href?w+=(Y.protocol||"")+"//"+(Y.authority||""):L.indexOf("//")&&(w+="//"),0!==L.indexOf(w))return L;const C=V.parse(L.substr(w.length)),R=Y.normalizedPath.split("/"),T=C.normalizedPath.split("/"),y=C.fragment||C.query?0:1;for(;R.length>0&&T.length>y&&R[0]===T[0];)R.shift(),T.shift();let v="";if(R.length>0){R.pop();for(let b=0;b{if(0===Y.length)return"";const L=Y.split("/"),w=[];for(;L.length>0;){const C=L.shift(),R=0===L.length;"."!==C?".."!==C?w.push(C):(w.pop(),R&&w.push("")):R&&w.push("")}return"/"===Y[0]&&w.length>0&&""!==w[0]&&w.unshift(""),1===w.length&&""===w[0]?"/":w.join("/")};const F=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;V.isAbsolute=Y=>K.isString(Y)&&F.test(Y),V.isRelative=Y=>K.isString(Y)},{"./types":30}],32:[function(Q,we,fe){"use strict";const K=Q("./graphTypes"),V=Q("./types"),F=Q("rdf-canonize").IdentifierIssuer,Y=Q("./JsonLdError"),L=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,w=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,C=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,R_headers={accept:"application/ld+json, application/json"},T={};function y(v,b){if(V.isArray(b))for(let x=0;x{if(Object.keys(v).some(x=>"accept"===x.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+R_headers.accept+'" is supported.');return Object.assign({Accept:R_headers.accept},v)},T.parseLinkHeader=v=>{const b={},x=v.match(L);for(let A=0;A{if(!(V.isString(v)||V.isArray(v)&&v.every(x=>V.isString(x)))){if(b&&V.isObject(v))switch(Object.keys(v).length){case 0:return;case 1:if("@default"in v&&T.asArray(v["@default"]).every(x=>V.isString(x)))return}throw new Y('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:v})}},T.hasProperty=(v,b)=>{if(v.hasOwnProperty(b)){const x=v[b];return!V.isArray(x)||x.length>0}return!1},T.hasValue=(v,b,x)=>{if(T.hasProperty(v,b)){let A=v[b];const E=K.isList(A);if(V.isArray(A)||E){E&&(A=A["@list"]);for(let I=0;I{if("propertyIsArray"in(A=A||{})||(A.propertyIsArray=!1),"valueIsArray"in A||(A.valueIsArray=!1),"allowDuplicate"in A||(A.allowDuplicate=!0),"prependValue"in A||(A.prependValue=!1),A.valueIsArray)v[b]=x;else if(V.isArray(x)){0===x.length&&A.propertyIsArray&&!v.hasOwnProperty(b)&&(v[b]=[]),A.prependValue&&(x=x.concat(v[b]),v[b]=[]);for(let E=0;E[].concat(v[b]||[]),T.removeProperty=(v,b)=>{delete v[b]},T.removeValue=(v,b,x,A)=>{"propertyIsArray"in(A=A||{})||(A.propertyIsArray=!1);const E=T.getValues(v,b).filter(I=>!T.compareValues(I,x));0===E.length?T.removeProperty(v,b):v[b]=1!==E.length||A.propertyIsArray?E:E[0]},T.relabelBlankNodes=(v,b)=>y((b=b||{}).issuer||new F("_:b"),v),T.compareValues=(v,b)=>!!(v===b||K.isValue(v)&&K.isValue(b)&&v["@value"]===b["@value"]&&v["@type"]===b["@type"]&&v["@language"]===b["@language"]&&v["@index"]===b["@index"])||!!(V.isObject(v)&&"@id"in v&&V.isObject(b)&&"@id"in b)&&v["@id"]===b["@id"],T.compareShortestLeast=(v,b)=>v.length1;const A=(Z,S,G)=>{const ne=Z[y].get(S);if(ne){const ce=ne.value;if(E(Z,ce)){if(H(Z,ne),!Z[L])return}else G&&(Z[v]&&(ne.value.now=Date.now()),Z[T].unshiftNode(ne));return ce.value}},E=(Z,S)=>{if(!S||!S.maxAge&&!Z[w])return!1;const G=Date.now()-S.now;return S.maxAge?G>S.maxAge:Z[w]&&G>Z[w]},I=Z=>{if(Z[F]>Z[V])for(let S=Z[T].tail;Z[F]>Z[V]&&null!==S;){const G=S.prev;H(Z,S),S=G}},H=(Z,S)=>{if(S){const G=S.value;Z[C]&&Z[C](G.key,G.value),Z[F]-=G.length,Z[y].delete(G.key),Z[T].removeNode(S)}};class M{constructor(S,G,ne,ce,se){this.key=S,this.value=G,this.length=ne,this.now=ce,this.maxAge=se||0}}const P=(Z,S,G,ne)=>{let ce=G.value;E(Z,ce)&&(H(Z,G),Z[L]||(ce=void 0)),ce&&S.call(ne,ce.value,ce.key,Z)};we.exports=class{constructor(S){if("number"==typeof S&&(S={max:S}),S||(S={}),S.max&&("number"!=typeof S.max||S.max<0))throw new TypeError("max must be a non-negative number");this[V]=S.max||1/0;const ne=S.length||b;if(this[Y]="function"!=typeof ne?b:ne,this[L]=S.stale||!1,S.maxAge&&"number"!=typeof S.maxAge)throw new TypeError("maxAge must be a number");this[w]=S.maxAge||0,this[C]=S.dispose,this[R]=S.noDisposeOnSet||!1,this[v]=S.updateAgeOnGet||!1,this.reset()}set max(S){if("number"!=typeof S||S<0)throw new TypeError("max must be a non-negative number");this[V]=S||1/0,I(this)}get max(){return this[V]}set allowStale(S){this[L]=!!S}get allowStale(){return this[L]}set maxAge(S){if("number"!=typeof S)throw new TypeError("maxAge must be a non-negative number");this[w]=S,I(this)}get maxAge(){return this[w]}set lengthCalculator(S){"function"!=typeof S&&(S=b),S!==this[Y]&&(this[Y]=S,this[F]=0,this[T].forEach(G=>{G.length=this[Y](G.value,G.key),this[F]+=G.length})),I(this)}get lengthCalculator(){return this[Y]}get length(){return this[F]}get itemCount(){return this[T].length}rforEach(S,G){G=G||this;for(let ne=this[T].tail;null!==ne;){const ce=ne.prev;P(this,S,ne,G),ne=ce}}forEach(S,G){G=G||this;for(let ne=this[T].head;null!==ne;){const ce=ne.next;P(this,S,ne,G),ne=ce}}keys(){return this[T].toArray().map(S=>S.key)}values(){return this[T].toArray().map(S=>S.value)}reset(){this[C]&&this[T]&&this[T].length&&this[T].forEach(S=>this[C](S.key,S.value)),this[y]=new Map,this[T]=new K,this[F]=0}dump(){return this[T].map(S=>!E(this,S)&&{k:S.key,v:S.value,e:S.now+(S.maxAge||0)}).toArray().filter(S=>S)}dumpLru(){return this[T]}set(S,G,ne){if((ne=ne||this[w])&&"number"!=typeof ne)throw new TypeError("maxAge must be a number");const ce=ne?Date.now():0,se=this[Y](G,S);if(this[y].has(S)){if(se>this[V])return H(this,this[y].get(S)),!1;const ye=this[y].get(S).value;return this[C]&&(this[R]||this[C](S,ye.value)),ye.now=ce,ye.maxAge=ne,ye.value=G,this[F]+=se-ye.length,ye.length=se,this.get(S),I(this),!0}const te=new M(S,G,se,ce,ne);return te.length>this[V]?(this[C]&&this[C](S,G),!1):(this[F]+=te.length,this[T].unshift(te),this[y].set(S,this[T].head),I(this),!0)}has(S){if(!this[y].has(S))return!1;const G=this[y].get(S).value;return!E(this,G)}get(S){return A(this,S,!0)}peek(S){return A(this,S,!1)}pop(){const S=this[T].tail;return S?(H(this,S),S.value):null}del(S){H(this,this[y].get(S))}load(S){this.reset();const G=Date.now();for(let ne=S.length-1;ne>=0;ne--){const ce=S[ne],se=ce.e||0;if(0===se)this.set(ce.k,ce.v);else{const te=se-G;te>0&&this.set(ce.k,ce.v,te)}}}prune(){this[y].forEach((S,G)=>A(this,G,!1))}}},{yallist:92}],34:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.default=void 0;const K="http://www.w3.org/1999/02/22-rdf-syntax-ns#",V="http://www.w3.org/2001/XMLSchema#",F="http://www.w3.org/2000/10/swap/";fe.default={xsd:{decimal:`${V}decimal`,boolean:`${V}boolean`,double:`${V}double`,integer:`${V}integer`,string:`${V}string`},rdf:{type:`${K}type`,nil:`${K}nil`,first:`${K}first`,rest:`${K}rest`,langString:`${K}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${F}reify#forSome`,forAll:`${F}reify#forAll`},log:{implies:`${F}log#implies`}}},{}],35:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.default=fe.Variable=fe.Triple=fe.Term=fe.Quad=fe.NamedNode=fe.Literal=fe.DefaultGraph=fe.BlankNode=void 0,fe.escapeQuotes=S,fe.termFromId=function M(re,ve){if(ve=ve||y,!re)return ve.defaultGraph();switch(re[0]){case"?":return ve.variable(re.substr(1));case"_":return ve.blankNode(re.substr(2));case'"':if(ve===y)return new A(re);if('"'===re[re.length-1])return ve.literal(re.substr(1,re.length-2));const Fe=re.lastIndexOf('"',re.length-1);return ve.literal(re.substr(1,Fe-1),"@"===re[Fe+1]?re.substr(Fe+2):ve.namedNode(re.substr(Fe+3)));case"<":const Qe=T.exec(re);return ve.quad(M(G(Qe[1]),ve),M(G(Qe[2]),ve),M(G(Qe[3]),ve),Qe[4]&&M(G(Qe[4]),ve));default:return ve.namedNode(re)}},fe.termToId=function P(re){if("string"==typeof re)return re;if(re instanceof b&&"Quad"!==re.termType)return re.id;if(!re)return w.id;switch(re.termType){case"NamedNode":return re.value;case"BlankNode":return`_:${re.value}`;case"Variable":return`?${re.value}`;case"DefaultGraph":return"";case"Literal":return`"${re.value}"${re.language?`@${re.language}`:re.datatype&&re.datatype.value!==L.string?`^^${re.datatype.value}`:""}`;case"Quad":return`<<${S(P(re.subject))} ${S(P(re.predicate))} ${S(P(re.object))}${(0,V.isDefaultGraph)(re.graph)?"":` ${P(re.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${re.termType}`)}},fe.unescapeQuotes=G;var re,K=(re=Q("./IRIs"))&&re.__esModule?re:{default:re},V=Q("./N3Util");const{rdf:Y,xsd:L}=K.default;let w,C=0;const R=/^"(.*".*)(?="[^"]*$)/,T=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,y={namedNode:function(re){return new x(re)},blankNode:function(re){return new E(re||"n3-"+C++)},variable:function(re){return new I(re)},literal:function(re,ve){if("string"==typeof ve)return new A(`"${re}"@${ve.toLowerCase()}`);let Fe=ve?ve.value:"";return""===Fe&&("boolean"==typeof re?Fe=L.boolean:"number"==typeof re&&(Number.isFinite(re)?Fe=Number.isInteger(re)?L.integer:L.double:(Fe=L.double,Number.isNaN(re)||(re=re>0?"INF":"-INF")))),new A(""===Fe||Fe===L.string?`"${re}"`:`"${re}"^^${Fe}`)},defaultGraph:function(){return w},quad:ye,triple:ye};fe.default=y;class b{constructor(ve){this.id=ve}get value(){return this.id}equals(ve){return ve instanceof b?this.id===ve.id:!!ve&&this.termType===ve.termType&&this.value===ve.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}fe.Term=b;class x extends b{get termType(){return"NamedNode"}}fe.NamedNode=x;class A extends b{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const ve=this.id;let Fe=ve.lastIndexOf('"')+1;return Fe`"${Fe.replace(/"/g,'""')}`)}function G(re){return re.replace(R,(ve,Fe)=>`"${Fe.replace(/""/g,'"')}`)}function ye(re,ve,Fe,Qe){return new Z(re,ve,Fe,Qe)}fe.Triple=fe.Quad=Z},{"./IRIs":34,"./N3Util":41}],36:[function(Q,we,fe){(function(K){(function(){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.default=void 0;var V=Y(Q("./IRIs")),F=Y(Q("queue-microtask"));function Y(b){return b&&b.__esModule?b:{default:b}}const{xsd:L}=V.default,w=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,C={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},R=/[\x00-\x20<>\\"\{\}\|\^\`]/,T={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},y=/$0^/;fe.default=class{constructor(x){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(x=x||{}).lineMode){this._n3Mode=!1;for(const A in this)!(A in T)&&this[A]instanceof RegExp&&(this[A]=y)}else this._n3Mode=!1!==x.n3;this._comments=!!x.comments,this._literalClosingPos=0}_tokenizeToEnd(x,A){let E=this._input,I=E.length;for(;;){let P,Z;for(;P=this._newline.exec(E);)this._comments&&(Z=this._comment.exec(P[0]))&&H("comment",Z[1],"",this._line,P[0].length),E=E.substr(P[0].length,E.length),I=E.length,this._line++;if(!P&&(P=this._whitespace.exec(E))&&(E=E.substr(P[0].length,E.length)),this._endOfFile.test(E))return A&&(this._comments&&(Z=this._comment.exec(E))&&H("comment",Z[1],"",this._line,E.length),E=null,H("eof","","",this._line,0)),this._input=E;const S=this._line,G=E[0];let ne="",ce="",se="",te=null,Ie=0,ye=!1;switch(G){case"^":if(E.length<3)break;if("^"!==E[1]){this._n3Mode&&(Ie=1,ne="^");break}if(this._previousMarker="^^",E=E.substr(2),"<"!==E[0]){ye=!0;break}case"<":if(te=this._unescapedIri.exec(E))ne="IRI",ce=te[1];else if(te=this._iri.exec(E)){if(ce=this._unescape(te[1]),null===ce||R.test(ce))return M(this);ne="IRI"}else E.length>1&&"<"===E[1]?(ne="<<",Ie=2):this._n3Mode&&E.length>1&&"="===E[1]&&(ne="inverse",Ie=2,ce=">");break;case">":E.length>1&&">"===E[1]&&(ne=">>",Ie=2);break;case"_":((te=this._blank.exec(E))||A&&(te=this._blank.exec(`${E} `)))&&(ne="blank",se="_",ce=te[1]);break;case'"':if(te=this._simpleQuotedString.exec(E))ce=te[1];else if(({value:ce,matchLength:Ie}=this._parseLiteral(E)),null===ce)return M(this);(null!==te||0!==Ie)&&(ne="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(te=this._simpleApostropheString.exec(E))ce=te[1];else if(({value:ce,matchLength:Ie}=this._parseLiteral(E)),null===ce)return M(this);(null!==te||0!==Ie)&&(ne="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(te=this._variable.exec(E))&&(ne="var",ce=te[0]);break;case"@":"literal"===this._previousMarker&&(te=this._langcode.exec(E))?(ne="langcode",ce=te[1]):(te=this._keyword.exec(E))&&(ne=te[0]);break;case".":if(1===E.length?A:E[1]<"0"||E[1]>"9"){ne=".",Ie=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(te=this._number.exec(E)||A&&(te=this._number.exec(`${E} `)))&&(ne="literal",ce=te[0],se="string"==typeof te[1]?L.double:"string"==typeof te[2]?L.decimal:L.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(te=this._sparqlKeyword.exec(E))?ne=te[0].toUpperCase():ye=!0;break;case"f":case"t":(te=this._boolean.exec(E))?(ne="literal",ce=te[0],se=L.boolean):ye=!0;break;case"a":(te=this._shortPredicates.exec(E))?(ne="abbreviation",ce="a"):ye=!0;break;case"=":this._n3Mode&&E.length>1&&(ne="abbreviation",">"!==E[1]?(Ie=1,ce="="):(Ie=2,ce=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(Ie=1,ne=G);break;default:ye=!0}if(ye&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(te=this._prefix.exec(E))?((te=this._prefixed.exec(E))||A&&(te=this._prefixed.exec(`${E} `)))&&(ne="prefixed",se=te[1]||"",ce=this._unescape(te[2])):(ne="prefix",ce=te[1]||"")),"^^"===this._previousMarker)switch(ne){case"prefixed":ne="type";break;case"IRI":ne="typeIRI";break;default:ne=""}if(!ne)return A||!/^'''|^"""/.test(E)&&/\n|\r/.test(E)?M(this):this._input=E;const re=Ie||te[0].length,ve=H(ne,ce,se,S,re);this.previousToken=ve,this._previousMarker=ne,E=E.substr(re,E.length)}function H(P,Z,S,G,ne){const ce=E?I-E.length:I,te={type:P,value:Z,prefix:S,line:G,start:ce,end:ce+ne};return x(null,te),te}function M(P){x(P._syntaxError(/^\S*/.exec(E)[0]))}}_unescape(x){let A=!1;const E=x.replace(w,(I,H,M,P)=>{if("string"==typeof H)return String.fromCharCode(Number.parseInt(H,16));if("string"==typeof M){let Z=Number.parseInt(M,16);return Z<=65535?String.fromCharCode(Number.parseInt(M,16)):String.fromCharCode(55296+((Z-=65536)>>10),56320+(1023&Z))}return P in C?C[P]:(A=!0,"")});return A?null:E}_parseLiteral(x){if(x.length>=3){const A=x.match(/^(?:"""|"|'''|'|)/)[0],E=A.length;let I=Math.max(this._literalClosingPos,E);for(;(I=x.indexOf(A,I))>0;){let H=0;for(;"\\"===x[I-H-1];)H++;if(H%2==0){const M=x.substring(E,I),P=M.split(/\r\n|\r|\n/).length-1,Z=I+E;if(1===E&&0!==P||3===E&&this._lineMode)break;return this._line+=P,{value:this._unescape(M),matchLength:Z}}I++}this._literalClosingPos=x.length-E+1}return{value:"",matchLength:0}}_syntaxError(x){this._input=null;const A=new Error(`Unexpected "${x}" on line ${this._line}.`);return A.context={token:void 0,line:this._line,previousToken:this.previousToken},A}_readStartingBom(x){return x.startsWith("\ufeff")?x.substr(1):x}tokenize(x,A){if(this._line=1,"string"==typeof x){if(this._input=this._readStartingBom(x),"function"!=typeof A){const E=[];let I;if(this._tokenizeToEnd((H,M)=>H?I=H:E.push(M),!0),I)throw I;return E}(0,F.default)(()=>this._tokenizeToEnd(A,!0))}else this._pendingBuffer=null,"function"==typeof x.setEncoding&&x.setEncoding("utf8"),x.on("data",E=>{null!==this._input&&0!==E.length&&(this._pendingBuffer&&(E=K.concat([this._pendingBuffer,E]),this._pendingBuffer=null),128&E[E.length-1]?this._pendingBuffer=E:(void 0===this._input?this._input=this._readStartingBom("string"==typeof E?E:E.toString()):this._input+=E,this._tokenizeToEnd(A,!1)))}),x.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(A,!0)}),x.on("error",A)}}}).call(this)}).call(this,Q("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.default=void 0;var K=Y(Q("./N3Lexer")),V=Y(Q("./N3DataFactory")),F=Y(Q("./IRIs"));function Y(T){return T&&T.__esModule?T:{default:T}}let L=0;class w{constructor(y){this._contextStack=[],this._graph=null,this._setBase((y=y||{}).baseIRI),y.factory&&R(this,y.factory);const v="string"==typeof y.format?y.format.match(/\w*$/)[0].toLowerCase():"",b=/turtle/.test(v),x=/trig/.test(v),A=/triple/.test(v),E=/quad/.test(v),I=this._n3Mode=/n3/.test(v),H=A||E;(this._supportsNamedGraphs=!(b||I))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(b||x||A||I),this._supportsRDFStar=""===v||/star|\*$/.test(v),H&&(this._resolveRelativeIRI=M=>null),this._blankNodePrefix="string"!=typeof y.blankNodePrefix?"":y.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=y.lexer||new K.default({lineMode:H,n3:I}),this._explicitQuantifiers=!!y.explicitQuantifiers}static _resetBlankNodePrefix(){L=0}_setBase(y){if(y){const v=y.indexOf("#");v>=0&&(y=y.substr(0,v)),this._base=y,this._basePath=y.indexOf("/")<0?y:y.replace(/[^\/?]*(?:\?.*)?$/,""),y=y.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=y[0],this._baseScheme=y[1]}else this._base="",this._basePath=""}_saveContext(y,v,b,x,A){const E=this._n3Mode;this._contextStack.push({subject:b,predicate:x,object:A,graph:v,type:y,inverse:!!E&&this._inversePredicate,blankPrefix:E?this._prefixes._:"",quantified:E?this._quantified:null}),E&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const y=this._contextStack.pop(),v=this._n3Mode;this._subject=y.subject,this._predicate=y.predicate,this._object=y.object,this._graph=y.graph,v&&(this._inversePredicate=y.inverse,this._prefixes._=y.blankPrefix,this._quantified=y.quantified)}_readInTopContext(y){switch(y.type){case"eof":return null!==this._graph?this._error("Unclosed graph",y):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(y)}}_readEntity(y,v){let b;switch(y.type){case"IRI":case"typeIRI":const x=this._resolveIRI(y.value);if(null===x)return this._error("Invalid IRI",y);b=this._namedNode(x);break;case"type":case"prefixed":const A=this._prefixes[y.prefix];if(void 0===A)return this._error(`Undefined prefix "${y.prefix}:"`,y);b=this._namedNode(A+y.value);break;case"blank":b=this._blankNode(this._prefixes[y.prefix]+y.value);break;case"var":b=this._variable(y.value.substr(1));break;default:return this._error(`Expected entity but got ${y.type}`,y)}return!v&&this._n3Mode&&b.id in this._quantified&&(b=this._quantified[b.id]),b}_readSubject(y){switch(this._predicate=null,y.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",y);case"}":return this._readPunctuation(y);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',y);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',y);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",y);if(0===y.prefix.length)return this._literalValue=y.value,this._completeSubjectLiteral;this._subject=this._literal(y.value,this._namedNode(y.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",y);default:if(void 0===(this._subject=this._readEntity(y)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(y){const v=y.type;switch(v){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[y.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${v}`,y):(this._subject=null,"]"===v?this._readBlankNodeTail(y):this._readPunctuation(y));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",y);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",y);default:if(void 0===(this._predicate=this._readEntity(y)))return}return this._readObject}_readObject(y){switch(y.type){case"literal":if(0===y.prefix.length)return this._literalValue=y.value,this._readDataTypeOrLang;this._object=this._literal(y.value,this._namedNode(y.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",y);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",y);default:if(void 0===(this._object=this._readEntity(y)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(y){return"{"===y.type?this._readGraph(y):this._readPredicate(y)}_readGraph(y){return"{"!==y.type?this._error(`Expected graph but got ${y.type}`,y):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(y){return"]"===y.type?(this._subject=null,this._readBlankNodeTail(y)):(this._predicate=null,this._readPredicate(y))}_readBlankNodeTail(y){if("]"!==y.type)return this._readBlankNodePunctuation(y);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const v=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:v?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(y){switch(y.type){case".":case"}":return this._subject=null,this._readPunctuation(y);default:return this._readPredicate(y)}}_readListItem(y){let v=null,b=null,x=this._readListItem;const A=this._subject,E=this._contextStack,I=E[E.length-1];switch(y.type){case"[":this._saveContext("blank",this._graph,b=this._blankNode(),this.RDF_FIRST,this._subject=v=this._blankNode()),x=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,b=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==E.length&&"list"===E[E.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(x=this._readPredicate,this._subject===this.RDF_NIL)return x}else if(x=this._getContextEndReader(),this._object===this.RDF_NIL)return x;b=this.RDF_NIL;break;case"literal":0===y.prefix.length?(this._literalValue=y.value,x=this._readListItemDataTypeOrLang):(v=this._literal(y.value,this._namedNode(y.prefix)),x=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",y);default:if(void 0===(v=this._readEntity(y)))return}if(null===b&&(this._subject=b=this._blankNode()),null===A?null===I.predicate?I.subject=b:I.object=b:this._emit(A,this.RDF_REST,b,this._graph),null!==v){if(this._n3Mode&&("IRI"===y.type||"prefixed"===y.type))return this._saveContext("item",this._graph,b,this.RDF_FIRST,v),this._subject=v,this._predicate=null,this._getPathReader(this._readListItem);this._emit(b,this.RDF_FIRST,v,this._graph)}return x}_readDataTypeOrLang(y){return this._completeObjectLiteral(y,!1)}_readListItemDataTypeOrLang(y){return this._completeObjectLiteral(y,!0)}_completeLiteral(y){let v=this._literal(this._literalValue);switch(y.type){case"type":case"typeIRI":const b=this._readEntity(y);if(void 0===b)return;v=this._literal(this._literalValue,b),y=null;break;case"langcode":v=this._literal(this._literalValue,y.value),y=null}return{token:y,literal:v}}_completeSubjectLiteral(y){return this._subject=this._completeLiteral(y).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(y,v){const b=this._completeLiteral(y);if(b)return this._object=b.literal,v&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===b.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(b.token))}_readFormulaTail(y){return"}"!==y.type?this._readPunctuation(y):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(y){let v,b=this._graph;const x=this._subject,A=this._inversePredicate;switch(y.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",y);if(this._n3Mode)return this._readFormulaTail(y);this._graph=null;case".":this._subject=null,v=this._contextStack.length?this._readSubject:this._readInTopContext,A&&(this._inversePredicate=!1);break;case";":v=this._readPredicate;break;case",":v=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(b=this._readEntity(y))){v=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,y)}if(null!==x){const E=this._predicate,I=this._object;A?this._emit(I,E,x,b):this._emit(x,E,I,b)}return v}_readBlankNodePunctuation(y){let v;switch(y.type){case";":v=this._readPredicate;break;case",":v=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,y)}return this._emit(this._subject,this._predicate,this._object,this._graph),v}_readQuadPunctuation(y){return"."!==y.type?this._error("Expected dot to follow quad",y):this._readInTopContext}_readPrefix(y){return"prefix"!==y.type?this._error("Expected prefix to follow @prefix",y):(this._prefix=y.value,this._readPrefixIRI)}_readPrefixIRI(y){if("IRI"!==y.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,y);const v=this._readEntity(y);return this._prefixes[this._prefix]=v.value,this._prefixCallback(this._prefix,v),this._readDeclarationPunctuation}_readBaseIRI(y){const v="IRI"===y.type&&this._resolveIRI(y.value);return v?(this._setBase(v),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",y)}_readNamedGraphLabel(y){switch(y.type){case"IRI":case"blank":case"prefixed":return this._readSubject(y),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",y)}}_readNamedGraphBlankLabel(y){return"]"!==y.type?this._error("Invalid graph label",y):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(y){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(y)):"."!==y.type?this._error("Expected declaration to end with a dot",y):this._readInTopContext}_readQuantifierList(y){let v;switch(y.type){case"IRI":case"prefixed":if(void 0!==(v=this._readEntity(y,!0)))break;default:return this._error(`Unexpected ${y.type}`,y)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,v,this.QUANTIFIERS_GRAPH)):this._quantified[v.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(y){return","===y.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(y))}_getPathReader(y){return this._afterPath=y,this._readPath}_readPath(y){switch(y.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const v=this._contextStack,b=v.length&&v[v.length-1];if(b&&"item"===b.type){const x=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,x,this._graph)}return this._afterPath(y)}}_readForwardPath(y){let v,b;const x=this._blankNode();if(void 0!==(b=this._readEntity(y)))return null===this._predicate?(v=this._subject,this._subject=x):(v=this._object,this._object=x),this._emit(v,b,x,this._graph),this._readPath}_readBackwardPath(y){const v=this._blankNode();let b,x;if(void 0!==(b=this._readEntity(y)))return null===this._predicate?(x=this._subject,this._subject=v):(x=this._object,this._object=v),this._emit(v,b,x,this._graph),this._readPath}_readRDFStarTailOrGraph(y){return">>"!==y.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(y))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,y):this._readRDFStarTail(y)}_readRDFStarTail(y){if(">>"!==y.type)return this._error(`Expected >> but got ${y.type}`,y);const v=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=v,this._readPredicate):(this._object=v,this._getContextEndReader())}_getContextEndReader(){const y=this._contextStack;if(!y.length)return this._readPunctuation;switch(y[y.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(y,v,b,x){this._callback(null,this._quad(y,v,b,x||this.DEFAULTGRAPH))}_error(y,v){const b=new Error(`${y} on line ${v.line}.`);b.context={token:v,line:v.line,previousToken:this._lexer.previousToken},this._callback(b),this._callback=C}_resolveIRI(y){return/^[a-z][a-z0-9+.-]*:/i.test(y)?y:this._resolveRelativeIRI(y)}_resolveRelativeIRI(y){if(!y.length)return this._base;switch(y[0]){case"#":return this._base+y;case"?":return this._base.replace(/(?:\?.*)?$/,y);case"/":return("/"===y[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(y);default:return/^[^/:]*:/.test(y)?null:this._removeDotSegments(this._basePath+y)}}_removeDotSegments(y){if(!/(^|\/)\.\.?($|[/#?])/.test(y))return y;const v=y.length;let b="",x=-1,A=-1,E=0,I="/";for(;x=A&&(b=b.substr(0,E)),"/"!==I)return`${b}/${y.substr(x+1)}`;E=x+1}}}I=y[++x]}return b+y.substring(E)}parse(y,v,b){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${L++}_`,this._prefixCallback=b||C,this._inversePredicate=!1,this._quantified=Object.create(null),!v){const x=[];let A;if(this._callback=(E,I)=>{E?A=E:I&&x.push(I)},this._lexer.tokenize(y).every(E=>this._readCallback=this._readCallback(E)),A)throw A;return x}this._callback=v,this._lexer.tokenize(y,(x,A)=>{null!==x?(this._callback(x),this._callback=C):this._readCallback&&(this._readCallback=this._readCallback(A))})}}function C(){}function R(T,y){const v=y.namedNode;T._namedNode=v,T._blankNode=y.blankNode,T._literal=y.literal,T._variable=y.variable,T._quad=y.quad,T.DEFAULTGRAPH=y.defaultGraph(),T.RDF_FIRST=v(F.default.rdf.first),T.RDF_REST=v(F.default.rdf.rest),T.RDF_NIL=v(F.default.rdf.nil),T.N3_FORALL=v(F.default.r.forAll),T.N3_FORSOME=v(F.default.r.forSome),T.ABBREVIATIONS={a:v(F.default.rdf.type),"=":v(F.default.owl.sameAs),">":v(F.default.log.implies)},T.QUANTIFIERS_GRAPH=v("urn:n3:quantifiers")}fe.default=w,R(w.prototype,V.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.default=void 0;var y,K=function(y,v){if(!v&&y&&y.__esModule)return y;if(null===y||"object"!=typeof y&&"function"!=typeof y)return{default:y};var b=L(v);if(b&&b.has(y))return b.get(y);var x={},A=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var E in y)if("default"!==E&&Object.prototype.hasOwnProperty.call(y,E)){var I=A?Object.getOwnPropertyDescriptor(y,E):null;I&&(I.get||I.set)?Object.defineProperty(x,E,I):x[E]=y[E]}return x.default=y,b&&b.set(y,x),x}(Q("./N3DataFactory")),V=Q("readable-stream"),F=(y=Q("./IRIs"))&&y.__esModule?y:{default:y};function L(y){if("function"!=typeof WeakMap)return null;var v=new WeakMap,b=new WeakMap;return(L=function(x){return x?b:v})(y)}class C{constructor(v,b){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!b&&v&&!v[0]&&(b=v,v=null),this._factory=(b=b||{}).factory||K.default,v&&this.addQuads(v)}get size(){let v=this._size;if(null!==v)return v;v=0;const b=this._graphs;let x,A;for(const E in b)for(const I in x=b[E].subjects)for(const H in A=x[I])v+=Object.keys(A[H]).length;return this._size=v}_addToIndex(v,b,x,A){const E=v[b]||(v[b]={}),I=E[x]||(E[x]={}),H=A in I;return H||(I[A]=null),!H}_removeFromIndex(v,b,x,A){const E=v[b],I=E[x];delete I[A];for(const H in I)return;delete E[x];for(const H in E)return;delete v[b]}*_findInIndex(v,b,x,A,E,I,H,M){let P,Z,S;const ne=!b+!x+!A>1?Object.keys(this._ids):this._entities,ce=(0,K.termFromId)(M,this._factory);b&&((P=v,v={})[b]=P[b]);for(const se in v){const te=ne[se];if(Z=v[se]){x&&((P=Z,Z={})[x]=P[x]);for(const Ie in Z){const ye=ne[Ie];if(S=Z[Ie]){const re=A?A in S?[A]:[]:Object.keys(S);for(let ve=0;ve{x in b||(b[x]=!0,v((0,K.termFromId)(this._entities[x],this._factory)))}}add(v){return this.addQuad(v),this}addQuad(v,b,x,A){b||(A=v.graph,x=v.object,b=v.predicate,v=v.subject),v=(0,K.termToId)(v),b=(0,K.termToId)(b),x=(0,K.termToId)(x),A=(0,K.termToId)(A);let E=this._graphs[A];E||(E=this._graphs[A]={subjects:{},predicates:{},objects:{}},Object.freeze(E));const I=this._ids,H=this._entities;v=I[v]||(I[H[++this._id]=v]=this._id),b=I[b]||(I[H[++this._id]=b]=this._id),x=I[x]||(I[H[++this._id]=x]=this._id);const M=this._addToIndex(E.subjects,v,b,x);return this._addToIndex(E.predicates,b,x,v),this._addToIndex(E.objects,x,v,b),this._size=null,M}addQuads(v){for(let b=0;b{this.addQuad(b)}),v}removeQuad(v,b,x,A){b||(A=v.graph,x=v.object,b=v.predicate,v=v.subject),v=(0,K.termToId)(v),b=(0,K.termToId)(b),x=(0,K.termToId)(x),A=(0,K.termToId)(A);const E=this._ids,I=this._graphs;let H,M,P;if(!((v=E[v])&&(b=E[b])&&(x=E[x])&&(H=I[A])&&(M=H.subjects[v])&&(P=M[b])&&x in P))return!1;for(v in this._removeFromIndex(H.subjects,v,b,x),this._removeFromIndex(H.predicates,b,x,v),this._removeFromIndex(H.objects,x,v,b),null!==this._size&&this._size--,H.subjects)return!0;return delete I[A],!0}removeQuads(v){for(let b=0;b{this.removeQuad(b)}),v}removeMatches(v,b,x,A){const E=new V.Readable({objectMode:!0});return E._read=()=>{for(const I of this.readQuads(v,b,x,A))E.push(I);E.push(null)},this.remove(E)}deleteGraph(v){return this.removeMatches(null,null,null,v)}getQuads(v,b,x,A){return[...this.readQuads(v,b,x,A)]}*readQuads(v,b,x,A){v=v&&(0,K.termToId)(v),b=b&&(0,K.termToId)(b),x=x&&(0,K.termToId)(x),A=A&&(0,K.termToId)(A);const E=this._getGraphs(A),I=this._ids;let H,M,P,Z;if(!(R(v)&&!(M=I[v])||R(b)&&!(P=I[b])||R(x)&&!(Z=I[x])))for(const S in E)(H=E[S])&&(M?Z?yield*this._findInIndex(H.objects,Z,M,P,"object","subject","predicate",S,null,!0):yield*this._findInIndex(H.subjects,M,P,null,"subject","predicate","object",S,null,!0):P?yield*this._findInIndex(H.predicates,P,Z,null,"predicate","object","subject",S,null,!0):Z?yield*this._findInIndex(H.objects,Z,null,null,"object","subject","predicate",S,null,!0):yield*this._findInIndex(H.subjects,null,null,null,"subject","predicate","object",S,null,!0))}match(v,b,x,A){return new T(this,v,b,x,A)}countQuads(v,b,x,A){v=v&&(0,K.termToId)(v),b=b&&(0,K.termToId)(b),x=x&&(0,K.termToId)(x),A=A&&(0,K.termToId)(A);const E=this._getGraphs(A),I=this._ids;let M,P,Z,S,H=0;if(R(v)&&!(P=I[v])||R(b)&&!(Z=I[b])||R(x)&&!(S=I[x]))return 0;for(const G in E)(M=E[G])&&(H+=v?x?this._countInIndex(M.objects,S,P,Z):this._countInIndex(M.subjects,P,Z,S):b?this._countInIndex(M.predicates,Z,S,P):this._countInIndex(M.objects,S,P,Z));return H}forEach(v,b,x,A,E){this.some(I=>(v(I),!1),b,x,A,E)}every(v,b,x,A,E){let I=!1;const H=!this.some(M=>(I=!0,!v(M)),b,x,A,E);return I&&H}some(v,b,x,A,E){for(const I of this.readQuads(b,x,A,E))if(v(I))return!0;return!1}getSubjects(v,b,x){const A=[];return this.forSubjects(E=>{A.push(E)},v,b,x),A}forSubjects(v,b,x,A){b=b&&(0,K.termToId)(b),x=x&&(0,K.termToId)(x),A=A&&(0,K.termToId)(A);const E=this._ids,I=this._getGraphs(A);let H,M,P;if(v=this._uniqueEntities(v),!(R(b)&&!(M=E[b])||R(x)&&!(P=E[x])))for(A in I)(H=I[A])&&(M?P?this._loopBy2Keys(H.predicates,M,P,v):this._loopByKey1(H.subjects,M,v):P?this._loopByKey0(H.objects,P,v):this._loop(H.subjects,v))}getPredicates(v,b,x){const A=[];return this.forPredicates(E=>{A.push(E)},v,b,x),A}forPredicates(v,b,x,A){b=b&&(0,K.termToId)(b),x=x&&(0,K.termToId)(x),A=A&&(0,K.termToId)(A);const E=this._ids,I=this._getGraphs(A);let H,M,P;if(v=this._uniqueEntities(v),!(R(b)&&!(M=E[b])||R(x)&&!(P=E[x])))for(A in I)(H=I[A])&&(M?P?this._loopBy2Keys(H.objects,P,M,v):this._loopByKey0(H.subjects,M,v):P?this._loopByKey1(H.predicates,P,v):this._loop(H.predicates,v))}getObjects(v,b,x){const A=[];return this.forObjects(E=>{A.push(E)},v,b,x),A}forObjects(v,b,x,A){b=b&&(0,K.termToId)(b),x=x&&(0,K.termToId)(x),A=A&&(0,K.termToId)(A);const E=this._ids,I=this._getGraphs(A);let H,M,P;if(v=this._uniqueEntities(v),!(R(b)&&!(M=E[b])||R(x)&&!(P=E[x])))for(A in I)(H=I[A])&&(M?P?this._loopBy2Keys(H.subjects,M,P,v):this._loopByKey1(H.objects,M,v):P?this._loopByKey0(H.predicates,P,v):this._loop(H.objects,v))}getGraphs(v,b,x){const A=[];return this.forGraphs(E=>{A.push(E)},v,b,x),A}forGraphs(v,b,x,A){for(const E in this._graphs)this.some(I=>(v(I.graph),!0),b,x,A,E)}createBlankNode(v){let b,x;if(v)for(b=v=`_:${v}`,x=1;this._ids[b];)b=v+x++;else do{b="_:b"+this._blankNodeIndex++}while(this._ids[b]);return this._ids[b]=++this._id,this._entities[this._id]=b,this._factory.blankNode(b.substr(2))}extractLists({remove:v=!1,ignoreErrors:b=!1}={}){const x={},A=b?()=>!0:(H,M)=>{throw new Error(`${H.value} ${M}`)},E=this.getQuads(null,F.default.rdf.rest,F.default.rdf.nil,null),I=v?[...E]:[];return E.forEach(H=>{const M=[];let Z,S,P=!1;const G=H.graph;let ne=H.subject;for(;ne&&!P;){const ce=this.getQuads(null,null,ne,null),se=this.getQuads(ne,null,null,null);let te,Ie=null,ye=null,re=null;for(let ve=0;ve{switch(y){case"data":R=v;break;case"end":T=v}}},(y,v)=>{y&&this.emit("error",y)||v&&this.push(v)},(y,v)=>{this.emit("prefix",y,v)}),this._transform=(y,v,b)=>{R(y),b()},this._flush=y=>{T(),y()}}import(w){return w.on("data",C=>{this.write(C)}),w.on("end",()=>{this.end()}),w.on("error",C=>{this.emit("error",C)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.default=void 0;var L,K=Q("readable-stream"),V=(L=Q("./N3Writer"))&&L.__esModule?L:{default:L};fe.default=class extends K.Transform{constructor(w){super({encoding:"utf8",writableObjectMode:!0});const C=this._writer=new V.default({write:(R,T,y)=>{this.push(R),y&&y()},end:R=>{this.push(null),R&&R()}},w);this._transform=(R,T,y)=>{C.addQuad(R,y)},this._flush=R=>{C.end(R)}}import(w){return w.on("data",C=>{this.write(C)}),w.on("end",()=>{this.end()}),w.on("error",C=>{this.emit("error",C)}),w.on("prefix",(C,R)=>{this._writer.addPrefix(C,R)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.inDefaultGraph=function(v){return C(v.graph)},fe.isBlankNode=function(v){return!!v&&"BlankNode"===v.termType},fe.isDefaultGraph=C,fe.isLiteral=function(v){return!!v&&"Literal"===v.termType},fe.isNamedNode=function(v){return!!v&&"NamedNode"===v.termType},fe.isVariable=function(v){return!!v&&"Variable"===v.termType},fe.prefix=function(v,b){return y({"":v.value||v},b)("")},fe.prefixes=y;var v,K=(v=Q("./N3DataFactory"))&&v.__esModule?v:{default:v};function C(v){return!!v&&"DefaultGraph"===v.termType}function y(v,b){const x=Object.create(null);for(const E in v)A(E,v[E]);function A(E,I){if("string"==typeof I){const H=Object.create(null);x[E]=M=>H[M]||(H[M]=b.namedNode(I+M))}else if(!(E in x))throw new Error(`Unknown prefix: ${E}`);return x[E]}return b=b||K.default,A}},{"./N3DataFactory":35}],42:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.default=void 0;var H,K=(H=Q("./IRIs"))&&H.__esModule?H:{default:H},V=function(H,M){if(!M&&H&&H.__esModule)return H;if(null===H||"object"!=typeof H&&"function"!=typeof H)return{default:H};var P=Y(M);if(P&&P.has(H))return P.get(H);var Z={},S=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var G in H)if("default"!==G&&Object.prototype.hasOwnProperty.call(H,G)){var ne=S?Object.getOwnPropertyDescriptor(H,G):null;ne&&(ne.get||ne.set)?Object.defineProperty(Z,G,ne):Z[G]=H[G]}return Z.default=H,P&&P.set(H,Z),Z}(Q("./N3DataFactory")),F=Q("./N3Util");function Y(H){if("function"!=typeof WeakMap)return null;var M=new WeakMap,P=new WeakMap;return(Y=function(Z){return Z?P:M})(H)}const C=V.default.defaultGraph(),{rdf:R,xsd:T}=K.default,y=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,v=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,b={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class x extends V.Term{equals(){return!1}}function E(H){let M=b[H];return void 0===M&&(1===H.length?(M=H.charCodeAt(0).toString(16),M="\\u0000".substr(0,6-M.length)+M):(M=(1024*(H.charCodeAt(0)-55296)+H.charCodeAt(1)+9216).toString(16),M="\\U00000000".substr(0,10-M.length)+M)),M}function I(H){return H.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}fe.default=class{constructor(M,P){if(this._prefixRegex=/$0^/,M&&"function"!=typeof M.write&&(P=M,M=null),this._lists=(P=P||{}).lists,M)this._outputStream=M,this._endStream=void 0===P.end||!!P.end;else{let Z="";this._outputStream={write(S,G,ne){Z+=S,ne&&ne()},end:S=>{S&&S(null,Z)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(P.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=C,this._prefixIRIs=Object.create(null),P.prefixes&&this.addPrefixes(P.prefixes),P.baseIRI&&(this._baseMatcher=new RegExp(`^${I(P.baseIRI)}${P.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=P.baseIRI.length))}get _inDefaultGraph(){return C.equals(this._graph)}_write(M,P){this._outputStream.write(M,"utf8",P)}_writeQuad(M,P,Z,S,G){try{S.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(C.equals(S)?"":`${this._encodeIriOrBlank(S)} {\n`)),this._graph=S,this._subject=null),M.equals(this._subject)?P.equals(this._predicate)?this._write(`, ${this._encodeObject(Z)}`,G):this._write(`;\n ${this._encodePredicate(this._predicate=P)} ${this._encodeObject(Z)}`,G):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=M)} ${this._encodePredicate(this._predicate=P)} ${this._encodeObject(Z)}`,G)}catch(ne){G&&G(ne)}}_writeQuadLine(M,P,Z,S,G){delete this._prefixMatch,this._write(this.quadToString(M,P,Z,S),G)}quadToString(M,P,Z,S){return`${this._encodeSubject(M)} ${this._encodeIriOrBlank(P)} ${this._encodeObject(Z)}${S&&S.value?` ${this._encodeIriOrBlank(S)} .\n`:" .\n"}`}quadsToString(M){return M.map(P=>this.quadToString(P.subject,P.predicate,P.object,P.graph)).join("")}_encodeSubject(M){return"Quad"===M.termType?this._encodeQuad(M):this._encodeIriOrBlank(M)}_encodeIriOrBlank(M){if("NamedNode"!==M.termType)return this._lists&&M.value in this._lists&&(M=this.list(this._lists[M.value])),"id"in M?M.id:`_:${M.value}`;let P=M.value;this._baseMatcher&&this._baseMatcher.test(P)&&(P=P.substr(this._baseLength)),y.test(P)&&(P=P.replace(v,E));const Z=this._prefixRegex.exec(P);return Z?Z[1]?this._prefixIRIs[Z[1]]+Z[2]:P:`<${P}>`}_encodeLiteral(M){let P=M.value;if(y.test(P)&&(P=P.replace(v,E)),M.language)return`"${P}"@${M.language}`;if(this._lineMode){if(M.datatype.value===T.string)return`"${P}"`}else switch(M.datatype.value){case T.string:return`"${P}"`;case T.boolean:if("true"===P||"false"===P)return P;break;case T.integer:if(/^[+-]?\d+$/.test(P))return P;break;case T.decimal:if(/^[+-]?\d*\.\d+$/.test(P))return P;break;case T.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(P))return P}return`"${P}"^^${this._encodeIriOrBlank(M.datatype)}`}_encodePredicate(M){return M.value===R.type?"a":this._encodeIriOrBlank(M)}_encodeObject(M){switch(M.termType){case"Quad":return this._encodeQuad(M);case"Literal":return this._encodeLiteral(M);default:return this._encodeIriOrBlank(M)}}_encodeQuad({subject:M,predicate:P,object:Z,graph:S}){return`<<${this._encodeSubject(M)} ${this._encodePredicate(P)} ${this._encodeObject(Z)}${(0,F.isDefaultGraph)(S)?"":` ${this._encodeIriOrBlank(S)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(M,P,Z,S,G){void 0===Z?this._writeQuad(M.subject,M.predicate,M.object,M.graph,P):"function"==typeof S?this._writeQuad(M,P,Z,C,S):this._writeQuad(M,P,Z,S||C,G)}addQuads(M){for(let P=0;P.\n`)}if(Z){let S="",G="";for(const ne in this._prefixIRIs)S+=S?`|${ne}`:ne,G+=(G?"|":"")+this._prefixIRIs[ne];S=I(S),this._prefixRegex=new RegExp(`^(?:${G})[^/]*$|^(${S})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(Z?"\n":"",P)}blank(M,P){let S,G,Z=M;switch(void 0===M?Z=[]:M.termType?Z=[{predicate:M,object:P}]:"length"in M||(Z=[M]),G=Z.length){case 0:return new x("[]");case 1:if(S=Z[0],!(S.object instanceof x))return new x(`[ ${this._encodePredicate(S.predicate)} ${this._encodeObject(S.object)} ]`);default:let ne="[";for(let ce=0;ce{P=null,M(Z,S)});if(this._endStream)try{return this._outputStream.end(P)}catch(Z){}P&&P()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),Object.defineProperty(fe,"BlankNode",{enumerable:!0,get:function(){return R.BlankNode}}),Object.defineProperty(fe,"DataFactory",{enumerable:!0,get:function(){return R.default}}),Object.defineProperty(fe,"DefaultGraph",{enumerable:!0,get:function(){return R.DefaultGraph}}),Object.defineProperty(fe,"Lexer",{enumerable:!0,get:function(){return K.default}}),Object.defineProperty(fe,"Literal",{enumerable:!0,get:function(){return R.Literal}}),Object.defineProperty(fe,"NamedNode",{enumerable:!0,get:function(){return R.NamedNode}}),Object.defineProperty(fe,"Parser",{enumerable:!0,get:function(){return V.default}}),Object.defineProperty(fe,"Quad",{enumerable:!0,get:function(){return R.Quad}}),Object.defineProperty(fe,"Store",{enumerable:!0,get:function(){return Y.default}}),Object.defineProperty(fe,"StreamParser",{enumerable:!0,get:function(){return L.default}}),Object.defineProperty(fe,"StreamWriter",{enumerable:!0,get:function(){return w.default}}),Object.defineProperty(fe,"Term",{enumerable:!0,get:function(){return R.Term}}),Object.defineProperty(fe,"Triple",{enumerable:!0,get:function(){return R.Triple}}),fe.Util=void 0,Object.defineProperty(fe,"Variable",{enumerable:!0,get:function(){return R.Variable}}),Object.defineProperty(fe,"Writer",{enumerable:!0,get:function(){return F.default}}),fe.default=void 0,Object.defineProperty(fe,"termFromId",{enumerable:!0,get:function(){return R.termFromId}}),Object.defineProperty(fe,"termToId",{enumerable:!0,get:function(){return R.termToId}});var K=v(Q("./N3Lexer")),V=v(Q("./N3Parser")),F=v(Q("./N3Writer")),Y=v(Q("./N3Store")),L=v(Q("./N3StreamParser")),w=v(Q("./N3StreamWriter")),C=y(Q("./N3Util"));fe.Util=C;var R=y(Q("./N3DataFactory"));function T(x){if("function"!=typeof WeakMap)return null;var A=new WeakMap,E=new WeakMap;return(T=function(I){return I?E:A})(x)}function y(x,A){if(!A&&x&&x.__esModule)return x;if(null===x||"object"!=typeof x&&"function"!=typeof x)return{default:x};var E=T(A);if(E&&E.has(x))return E.get(x);var I={},H=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var M in x)if("default"!==M&&Object.prototype.hasOwnProperty.call(x,M)){var P=H?Object.getOwnPropertyDescriptor(x,M):null;P&&(P.get||P.set)?Object.defineProperty(I,M,P):I[M]=x[M]}return I.default=x,E&&E.set(x,I),I}function v(x){return x&&x.__esModule?x:{default:x}}fe.default={Lexer:K.default,Parser:V.default,Writer:F.default,Store:Y.default,StreamParser:L.default,StreamWriter:w.default,Util:C,DataFactory:R.default,Term:R.Term,NamedNode:R.NamedNode,Literal:R.Literal,BlankNode:R.BlankNode,Variable:R.Variable,DefaultGraph:R.DefaultGraph,Quad:R.Quad,Triple:R.Triple,termFromId:R.termFromId,termToId:R.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(Q,we,fe){var V,F,K=we.exports={};function Y(){throw new Error("setTimeout has not been defined")}function L(){throw new Error("clearTimeout has not been defined")}function w(I){if(V===setTimeout)return setTimeout(I,0);if((V===Y||!V)&&setTimeout)return V=setTimeout,setTimeout(I,0);try{return V(I,0)}catch(H){try{return V.call(null,I,0)}catch(M){return V.call(this,I,0)}}}!function(){try{V="function"==typeof setTimeout?setTimeout:Y}catch(I){V=Y}try{F="function"==typeof clearTimeout?clearTimeout:L}catch(I){F=L}}();var y,R=[],T=!1,v=-1;function b(){!T||!y||(T=!1,y.length?R=y.concat(R):v=-1,R.length&&x())}function x(){if(!T){var I=w(b);T=!0;for(var H=R.length;H;){for(y=R,R=[];++v1)for(var M=1;M(V||(V=Promise.resolve())).then(F).catch(Y=>setTimeout(()=>{throw Y},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(Q,we,fe){we.exports=Q("./lib")},{"./lib":55}],47:[function(Q,we,fe){"use strict";we.exports=class Hq{constructor(V,F=new Map,Y=0){this.prefix=V,this._existing=F,this.counter=Y}clone(){const{prefix:V,_existing:F,counter:Y}=this;return new Hq(V,new Map(F),Y)}getId(V){const F=V&&this._existing.get(V);if(F)return F;const Y=this.prefix+this.counter;return this.counter++,V&&this._existing.set(V,Y),Y}hasId(V){return this._existing.has(V)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(Q,we,fe){"use strict";Q("setimmediate");const K=self.crypto||self.msCrypto;we.exports=class{constructor(F){if(!K||!K.subtle)throw new Error("crypto.subtle not found.");if("sha256"===F)this.algorithm={name:"SHA-256"};else{if("sha1"!==F)throw new Error(`Unsupport algorithm "${F}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(F){this._content+=F}digest(){var F=this;return lt(function*(){const Y=(new TextEncoder).encode(F._content),L=new Uint8Array(yield K.subtle.digest(F.algorithm,Y));let w="";for(let C=0;C]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),we.exports=class aF{static parse(I){const H=[],M={},P=I.split(T.eoln);let Z=0;for(const S of P){if(Z++,T.empty.test(S))continue;const G=S.match(T.quad);if(null===G)throw new Error("N-Quads parse error on line "+Z+".");const ne={subject:null,predicate:null,object:null,graph:null};if(ne.subject=void 0!==G[1]?{termType:L,value:G[1]}:{termType:w,value:G[2]},ne.predicate={termType:L,value:G[3]},void 0!==G[4]?ne.object={termType:L,value:G[4]}:void 0!==G[5]?ne.object={termType:w,value:G[5]}:(ne.object={termType:C,value:void 0,datatype:{termType:L}},void 0!==G[7]?ne.object.datatype.value=G[7]:void 0!==G[8]?(ne.object.datatype.value=F,ne.object.language=G[8]):ne.object.datatype.value=Y,ne.object.value=G[6].replace(x,function(I,H,M,P){if(H)switch(H){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(M)return String.fromCharCode(parseInt(M,16));if(P)throw new Error("Unsupported U escape")})),ne.graph=void 0!==G[9]?{termType:L,value:G[9]}:void 0!==G[10]?{termType:w,value:G[10]}:{termType:R,value:""},ne.graph.value in M){let ce=!0;const se=M[ne.graph.value];for(const te of se)if(y(te,ne)){ce=!1;break}ce&&(se.push(ne),H.push(ne))}else M[ne.graph.value]=[ne],H.push(ne)}return H}static serialize(I){Array.isArray(I)||(I=aF.legacyDatasetToQuads(I));const H=[];for(const M of I)H.push(aF.serializeQuad(M));return H.sort().join("")}static serializeQuad(I){const H=I.subject,P=I.object,Z=I.graph;let S="";return S+=H.termType===L?`<${H.value}>`:`${H.value}`,S+=` <${I.predicate.value}> `,P.termType===L?S+=`<${P.value}>`:P.termType===w?S+=P.value:(S+=`"${E=P.value,E.replace(v,function(I){switch(I){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,P.datatype.value===F?P.language&&(S+=`@${P.language}`):P.datatype.value!==Y&&(S+=`^^<${P.datatype.value}>`)),Z.termType===L?S+=` <${Z.value}>`:Z.termType===w&&(S+=` ${Z.value}`),S+=" .\n",S;var E}static legacyDatasetToQuads(I){const H=[],M={"blank node":w,IRI:L,literal:C};for(const P in I)I[P].forEach(S=>{const G={};for(const ne in S){const ce=S[ne],se={termType:M[ce.type],value:ce.value};se.termType===C&&(se.datatype={termType:L},"datatype"in ce&&(se.datatype.value=ce.datatype),"language"in ce?("datatype"in ce||(se.datatype.value=F),se.language=ce.language):"datatype"in ce||(se.datatype.value=Y)),G[ne]=se}G.graph="@default"===P?{termType:R,value:""}:{termType:P.startsWith("_:")?w:L,value:P},H.push(G)});return H}};const v=/["\\\n\r]/g;const x=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(Q,we,fe){"use strict";we.exports=class{constructor(V){this.current=V.sort(),this.done=!1,this.dir=new Map;for(let F=0;FL)&&(y&&R>0&&T>V[R-1]||!y&&RV[R+1])&&(L=T,w=R)}if(null===L)this.done=!0;else{const R=F.get(L)?w-1:w+1;V[w]=V[R],V[R]=L;for(const T of V)T>L&&F.set(T,!F.get(T))}return Y}}},{}],51:[function(Q,we,fe){(function(K){(function(){"use strict";const V=Q("./IdentifierIssuer"),F=Q("./MessageDigest"),Y=Q("./Permuter"),L=Q("./NQuads");function w(C,R){return C.hashR.hash?1:0}we.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new V("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(R){var T=this;return lt(function*(){T.quads=R;for(const I of R)T._addBlankNodeQuadInfo({quad:I,component:I.subject}),T._addBlankNodeQuadInfo({quad:I,component:I.object}),T._addBlankNodeQuadInfo({quad:I,component:I.graph});const y=new Map,v=[...T.blankNodeInfo.keys()];let b=0;for(const I of v)++b%100==0&&(yield T._yield()),yield T._hashAndTrackBlankNode({id:I,hashToBlankNodes:y});const x=[...y.keys()].sort(),A=[];for(const I of x){const H=y.get(I);H.length>1?A.push(H):T.canonicalIssuer.getId(H[0])}for(const I of A){const H=[];for(const M of I){if(T.canonicalIssuer.hasId(M))continue;const P=new V("_:b");P.getId(M);const Z=yield T.hashNDegreeQuads(M,P);H.push(Z)}H.sort(w);for(const M of H){const P=M.issuer.getOldIds();for(const Z of P)T.canonicalIssuer.getId(Z)}}const E=[];for(const I of T.quads){const H=at({},I);H.subject=T._useCanonicalId({component:H.subject}),H.object=T._useCanonicalId({component:H.object}),H.graph=T._useCanonicalId({component:H.graph}),E.push(L.serializeQuad(H))}return E.sort(),E.join("")})()}hashFirstDegreeQuads(R){var T=this;return lt(function*(){const y=[],v=T.blankNodeInfo.get(R),b=v.quads;for(const A of b){const E={subject:null,predicate:A.predicate,object:null,graph:null};E.subject=T.modifyFirstDegreeComponent(R,A.subject,"subject"),E.object=T.modifyFirstDegreeComponent(R,A.object,"object"),E.graph=T.modifyFirstDegreeComponent(R,A.graph,"graph"),y.push(L.serializeQuad(E))}y.sort();const x=new F(T.hashAlgorithm);for(const A of y)x.update(A);return v.hash=yield x.digest(),v.hash})()}hashRelatedBlankNode(R,T,y,v){var b=this;return lt(function*(){let x;x=b.canonicalIssuer.hasId(R)?b.canonicalIssuer.getId(R):y.hasId(R)?y.getId(R):b.blankNodeInfo.get(R).hash;const A=new F(b.hashAlgorithm);return A.update(v),"g"!==v&&A.update(b.getRelatedPredicate(T)),A.update(x),A.digest()})()}hashNDegreeQuads(R,T){var y=this;return lt(function*(){const v=new F(y.hashAlgorithm),b=yield y.createHashToRelated(R,T),x=[...b.keys()].sort();for(const A of x){v.update(A);let I,E="";const H=new Y(b.get(A));let M=0;for(;H.hasNext();){const P=H.next();++M%3==0&&(yield y._yield());let Z=T.clone(),S="";const G=[];let ne=!1;for(const ce of P)if(y.canonicalIssuer.hasId(ce)?S+=y.canonicalIssuer.getId(ce):(Z.hasId(ce)||G.push(ce),S+=Z.getId(ce)),0!==E.length&&S>E){ne=!0;break}if(!ne){for(const ce of G){const se=yield y.hashNDegreeQuads(ce,Z);if(S+=Z.getId(ce),S+=`<${se.hash}>`,Z=se.issuer,0!==E.length&&S>E){ne=!0;break}}ne||(0===E.length||S`}createHashToRelated(R,T){var y=this;return lt(function*(){const v=new Map,b=y.blankNodeInfo.get(R).quads;let x=0;for(const A of b)++x%100==0&&(yield y._yield()),yield Promise.all([y._addRelatedBlankNodeHash({quad:A,component:A.subject,position:"s",id:R,issuer:T,hashToRelated:v}),y._addRelatedBlankNodeHash({quad:A,component:A.object,position:"o",id:R,issuer:T,hashToRelated:v}),y._addRelatedBlankNodeHash({quad:A,component:A.graph,position:"g",id:R,issuer:T,hashToRelated:v})]);return v})()}_hashAndTrackBlankNode({id:R,hashToBlankNodes:T}){var y=this;return lt(function*(){const v=yield y.hashFirstDegreeQuads(R),b=T.get(v);b?b.push(R):T.set(v,[R])})()}_addBlankNodeQuadInfo({quad:R,component:T}){if("BlankNode"!==T.termType)return;const y=T.value,v=this.blankNodeInfo.get(y);v?v.quads.add(R):this.blankNodeInfo.set(y,{quads:new Set([R]),hash:null})}_addRelatedBlankNodeHash({quad:R,component:T,position:y,id:v,issuer:b,hashToRelated:x}){var A=this;return lt(function*(){if("BlankNode"!==T.termType||T.value===v)return;const E=T.value,I=yield A.hashRelatedBlankNode(E,R,b,y),H=x.get(I);H?H.push(E):x.set(I,[E])})()}_useCanonicalId({component:R}){return"BlankNode"!==R.termType||R.value.startsWith(this.canonicalIssuer.prefix)?R:{termType:"BlankNode",value:this.canonicalIssuer.getId(R.value)}}_yield(){return lt(function*(){return new Promise(R=>K(R))})()}}}).call(this)}).call(this,Q("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(Q,we,fe){"use strict";const K=Q("./IdentifierIssuer"),V=Q("./MessageDigest"),F=Q("./Permuter"),Y=Q("./NQuads");function L(w,C){return w.hashC.hash?1:0}we.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new K("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(C){this.quads=C;for(const x of C)this._addBlankNodeQuadInfo({quad:x,component:x.subject}),this._addBlankNodeQuadInfo({quad:x,component:x.object}),this._addBlankNodeQuadInfo({quad:x,component:x.graph});const R=new Map,T=[...this.blankNodeInfo.keys()];for(const x of T)this._hashAndTrackBlankNode({id:x,hashToBlankNodes:R});const y=[...R.keys()].sort(),v=[];for(const x of y){const A=R.get(x);A.length>1?v.push(A):this.canonicalIssuer.getId(A[0])}for(const x of v){const A=[];for(const E of x){if(this.canonicalIssuer.hasId(E))continue;const I=new K("_:b");I.getId(E);const H=this.hashNDegreeQuads(E,I);A.push(H)}A.sort(L);for(const E of A){const I=E.issuer.getOldIds();for(const H of I)this.canonicalIssuer.getId(H)}}const b=[];for(const x of this.quads){const A=at({},x);A.subject=this._useCanonicalId({component:A.subject}),A.object=this._useCanonicalId({component:A.object}),A.graph=this._useCanonicalId({component:A.graph}),b.push(Y.serializeQuad(A))}return b.sort(),b.join("")}hashFirstDegreeQuads(C){const R=[],T=this.blankNodeInfo.get(C),y=T.quads;for(const b of y){const x={subject:null,predicate:b.predicate,object:null,graph:null};x.subject=this.modifyFirstDegreeComponent(C,b.subject,"subject"),x.object=this.modifyFirstDegreeComponent(C,b.object,"object"),x.graph=this.modifyFirstDegreeComponent(C,b.graph,"graph"),R.push(Y.serializeQuad(x))}R.sort();const v=new V(this.hashAlgorithm);for(const b of R)v.update(b);return T.hash=v.digest(),T.hash}hashRelatedBlankNode(C,R,T,y){let v;v=this.canonicalIssuer.hasId(C)?this.canonicalIssuer.getId(C):T.hasId(C)?T.getId(C):this.blankNodeInfo.get(C).hash;const b=new V(this.hashAlgorithm);return b.update(y),"g"!==y&&b.update(this.getRelatedPredicate(R)),b.update(v),b.digest()}hashNDegreeQuads(C,R){const T=new V(this.hashAlgorithm),y=this.createHashToRelated(C,R),v=[...y.keys()].sort();for(const b of v){T.update(b);let A,x="";const E=new F(y.get(b));for(;E.hasNext();){const I=E.next();let H=R.clone(),M="";const P=[];let Z=!1;for(const S of I)if(this.canonicalIssuer.hasId(S)?M+=this.canonicalIssuer.getId(S):(H.hasId(S)||P.push(S),M+=H.getId(S)),0!==x.length&&M>x){Z=!0;break}if(!Z){for(const S of P){const G=this.hashNDegreeQuads(S,H);if(M+=H.getId(S),M+=`<${G.hash}>`,H=G.issuer,0!==x.length&&M>x){Z=!0;break}}Z||(0===x.length||M`}createHashToRelated(C,R){const T=new Map,y=this.blankNodeInfo.get(C).quads;for(const v of y)this._addRelatedBlankNodeHash({quad:v,component:v.subject,position:"s",id:C,issuer:R,hashToRelated:T}),this._addRelatedBlankNodeHash({quad:v,component:v.object,position:"o",id:C,issuer:R,hashToRelated:T}),this._addRelatedBlankNodeHash({quad:v,component:v.graph,position:"g",id:C,issuer:R,hashToRelated:T});return T}_hashAndTrackBlankNode({id:C,hashToBlankNodes:R}){const T=this.hashFirstDegreeQuads(C),y=R.get(T);y?y.push(C):R.set(T,[C])}_addBlankNodeQuadInfo({quad:C,component:R}){if("BlankNode"!==R.termType)return;const T=R.value,y=this.blankNodeInfo.get(T);y?y.quads.add(C):this.blankNodeInfo.set(T,{quads:new Set([C]),hash:null})}_addRelatedBlankNodeHash({quad:C,component:R,position:T,id:y,issuer:v,hashToRelated:b}){if("BlankNode"!==R.termType||R.value===y)return;const x=R.value,A=this.hashRelatedBlankNode(x,C,v,T),E=b.get(A);E?E.push(x):b.set(A,[x])}_useCanonicalId({component:C}){return"BlankNode"!==C.termType||C.value.startsWith(this.canonicalIssuer.prefix)?C:{termType:"BlankNode",value:this.canonicalIssuer.getId(C.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(Q,we,fe){"use strict";const K=Q("./URDNA2015");we.exports=class extends K{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(F,Y,L){return"BlankNode"!==Y.termType?Y:"graph"===L?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Y.value===F?"_:a":"_:z"}}getRelatedPredicate(F){return F.predicate.value}createHashToRelated(F,Y){var L=this;return lt(function*(){const w=new Map,C=L.blankNodeInfo.get(F).quads;let R=0;for(const T of C){let y,v;if("BlankNode"===T.subject.termType&&T.subject.value!==F)v=T.subject.value,y="p";else{if("BlankNode"!==T.object.termType||T.object.value===F)continue;v=T.object.value,y="r"}++R%100==0&&(yield L._yield());const b=yield L.hashRelatedBlankNode(v,T,Y,y),x=w.get(b);x?x.push(v):w.set(b,[v])}return w})()}}},{"./URDNA2015":51}],54:[function(Q,we,fe){"use strict";const K=Q("./URDNA2015Sync");we.exports=class extends K{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(F,Y,L){return"BlankNode"!==Y.termType?Y:"graph"===L?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Y.value===F?"_:a":"_:z"}}getRelatedPredicate(F){return F.predicate.value}createHashToRelated(F,Y){const L=new Map,w=this.blankNodeInfo.get(F).quads;for(const C of w){let R,T;if("BlankNode"===C.subject.termType&&C.subject.value!==F)T=C.subject.value,R="p";else{if("BlankNode"!==C.object.termType||C.object.value===F)continue;T=C.object.value,R="r"}const y=this.hashRelatedBlankNode(T,C,Y,R),v=L.get(y);v?v.push(T):L.set(y,[T])}return L}}},{"./URDNA2015Sync":52}],55:[function(Q,we,fe){"use strict";const K=Q("./URDNA2015"),V=Q("./URGNA2012"),F=Q("./URDNA2015Sync"),Y=Q("./URGNA2012Sync");let L;try{L=Q("rdf-canonize-native")}catch(C){}const w={};we.exports=w,w.NQuads=Q("./NQuads"),w.IdentifierIssuer=Q("./IdentifierIssuer"),w._rdfCanonizeNative=function(C){return C&&(L=C),L},w.canonize=function(){var C=lt(function*(R,T){if(Array.isArray(R)||(R=w.NQuads.legacyDatasetToQuads(R)),T.useNative){if(!L)throw new Error("rdf-canonize-native not available");return new Promise((y,v)=>L.canonize(R,T,(b,x)=>b?v(b):y(x)))}if("URDNA2015"===T.algorithm)return new K(T).main(R);if("URGNA2012"===T.algorithm)return new V(T).main(R);throw"algorithm"in T?new Error("Invalid RDF Dataset Canonicalization algorithm: "+T.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(R,T){return C.apply(this,arguments)}}(),w._canonizeSync=function(C,R){if(Array.isArray(C)||(C=w.NQuads.legacyDatasetToQuads(C)),R.useNative){if(L)return L.canonizeSync(C,R);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===R.algorithm)return new F(R).main(C);if("URGNA2012"===R.algorithm)return new Y(R).main(C);throw"algorithm"in R?new Error("Invalid RDF Dataset Canonicalization algorithm: "+R.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(Q,we,fe){"use strict";var K=this&&this.__createBinding||(Object.create?function(F,Y,L,w){void 0===w&&(w=L),Object.defineProperty(F,w,{enumerable:!0,get:function(){return Y[L]}})}:function(F,Y,L,w){void 0===w&&(w=L),F[w]=Y[L]}),V=this&&this.__exportStar||function(F,Y){for(var L in F)"default"!==L&&!Object.prototype.hasOwnProperty.call(Y,L)&&K(Y,F,L)};Object.defineProperty(fe,"__esModule",{value:!0}),V(Q("./lib/BlankNode"),fe),V(Q("./lib/DataFactory"),fe),V(Q("./lib/DefaultGraph"),fe),V(Q("./lib/Literal"),fe),V(Q("./lib/NamedNode"),fe),V(Q("./lib/Quad"),fe),V(Q("./lib/Variable"),fe)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.BlankNode=void 0;fe.BlankNode=class{constructor(F){this.termType="BlankNode",this.value=F}equals(F){return!!F&&"BlankNode"===F.termType&&F.value===this.value}}},{}],58:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.DataFactory=void 0;const K=Q("./BlankNode"),V=Q("./DefaultGraph"),F=Q("./Literal"),Y=Q("./NamedNode"),L=Q("./Quad"),w=Q("./Variable");let C=0;fe.DataFactory=class{constructor(y){this.blankNodeCounter=0,this.blankNodePrefix=(y=y||{}).blankNodePrefix||`df_${C++}_`}namedNode(y){return new Y.NamedNode(y)}blankNode(y){return new K.BlankNode(y||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(y,v){return new F.Literal(y,v)}variable(y){return new w.Variable(y)}defaultGraph(){return V.DefaultGraph.INSTANCE}quad(y,v,b,x){return new L.Quad(y,v,b,x||this.defaultGraph())}fromTerm(y){switch(y.termType){case"NamedNode":return this.namedNode(y.value);case"BlankNode":return this.blankNode(y.value);case"Literal":return y.language?this.literal(y.value,y.language):y.datatype.equals(F.Literal.XSD_STRING)?this.literal(y.value):this.literal(y.value,this.fromTerm(y.datatype));case"Variable":return this.variable(y.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(y.subject),this.fromTerm(y.predicate),this.fromTerm(y.object),this.fromTerm(y.graph))}}fromQuad(y){return this.fromTerm(y)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.DefaultGraph=void 0;class K{constructor(){this.termType="DefaultGraph",this.value=""}equals(F){return!!F&&"DefaultGraph"===F.termType}}fe.DefaultGraph=K,K.INSTANCE=new K},{}],60:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.Literal=void 0;const K=Q("./NamedNode");class V{constructor(Y,L){this.termType="Literal",this.value=Y,"string"==typeof L?(this.language=L,this.datatype=V.RDF_LANGUAGE_STRING):L?(this.language="",this.datatype=L):(this.language="",this.datatype=V.XSD_STRING)}equals(Y){return!!Y&&"Literal"===Y.termType&&Y.value===this.value&&Y.language===this.language&&Y.datatype.equals(this.datatype)}}fe.Literal=V,V.RDF_LANGUAGE_STRING=new K.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),V.XSD_STRING=new K.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.NamedNode=void 0;fe.NamedNode=class{constructor(F){this.termType="NamedNode",this.value=F}equals(F){return!!F&&"NamedNode"===F.termType&&F.value===this.value}}},{}],62:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.Quad=void 0;fe.Quad=class{constructor(F,Y,L,w){this.termType="Quad",this.value="",this.subject=F,this.predicate=Y,this.object=L,this.graph=w}equals(F){return!!F&&("Quad"===F.termType||!F.termType)&&this.subject.equals(F.subject)&&this.predicate.equals(F.predicate)&&this.object.equals(F.object)&&this.graph.equals(F.graph)}}},{}],63:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.Variable=void 0;fe.Variable=class{constructor(F){this.termType="Variable",this.value=F}equals(F){return!!F&&"Variable"===F.termType&&F.value===this.value}}},{}],64:[function(Q,we,fe){"use strict";var K=this&&this.__createBinding||(Object.create?function(F,Y,L,w){void 0===w&&(w=L),Object.defineProperty(F,w,{enumerable:!0,get:function(){return Y[L]}})}:function(F,Y,L,w){void 0===w&&(w=L),F[w]=Y[L]}),V=this&&this.__exportStar||function(F,Y){for(var L in F)"default"!==L&&!Object.prototype.hasOwnProperty.call(Y,L)&&K(Y,F,L)};Object.defineProperty(fe,"__esModule",{value:!0}),V(Q("./lib/RdfXmlParser"),fe)},{"./lib/RdfXmlParser":66}],65:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.ParseError=void 0;class K extends Error{constructor(F,Y){const L=F.saxStream._parser;super(F.trackPosition?`Line ${L.line+1} column ${L.column+1}: ${Y}`:Y)}}fe.ParseError=K},{}],66:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.ParseType=fe.RdfXmlParser=void 0;const K=Q("relative-to-absolute-iri"),V=Q("sax"),F=Q("stream"),Y=Q("./ParseError"),L=Q("rdf-data-factory");class w extends F.Transform{constructor(T){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},T&&(Object.assign(this,T),this.options=T),this.dataFactory||(this.dataFactory=new L.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=V.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(T,y){const v={};let b=!1;for(const A in T.attributes)A.startsWith("xmlns")&&(5===A.length?(b=!0,v[""]=T.attributes[A]):":"===A.charAt(5)&&(b=!0,v[A.substr(6)]=T.attributes[A]));const x=y&&y.ns?y.ns:[w.DEFAULT_NS];return b?x.concat([v]):x}static expandPrefixedTerm(T,y,v){const b=T.indexOf(":");let x,A;b>=0?(x=T.substr(0,b),A=T.substr(b+1)):(x="",A=T);let E=null,I=null;for(let H=y.length-1;H>=0;H--){const M=y[H][x];if(M){E=M;break}I||(I=y[H][""])}if(!E){if(x&&"xmlns"!==x)throw new Y.ParseError(v,`The prefix '${x}' in term '${T}' was not bound.`);E=I||""}return{prefix:x,local:A,uri:E}}static isValidIri(T){return w.IRI_REGEX.test(T)}import(T){const y=new F.PassThrough({readableObjectMode:!0});T.on("error",b=>v.emit("error",b)),T.on("data",b=>y.push(b)),T.on("end",()=>y.push(null));const v=y.pipe(new w(this.options));return v}_transform(T,y,v){try{this.saxStream.write(T,y)}catch(b){return v(b)}v()}newParseError(T){return new Y.ParseError(this,T)}valueToUri(T,y){return this.uriToNamedNode(K.resolve(T,y.baseIRI))}uriToNamedNode(T){if(!w.isValidIri(T))throw this.newParseError(`Invalid URI: ${T}`);return this.dataFactory.namedNode(T)}validateNcname(T){if(!w.NCNAME_MATCHER.test(T))throw this.newParseError(`Not a valid NCName: ${T}`)}attachSaxListeners(){this.saxStream.on("error",T=>this.emit("error",T)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(T){const y=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let v=C.RESOURCE;if(y&&(y.hadChildren=!0,v=y.childrenParseType),y&&y.childrenStringTags){const x=T.name;let A="";for(const M in T.attributes)A+=` ${M}="${T.attributes[M]}"`;y.childrenStringTags.push(`<${x}${A}>`);const H={childrenStringTags:y.childrenStringTags};return H.childrenStringEmitClosingTag=``,void this.activeTagStack.push(H)}const b={};y?(b.language=y.language,b.baseIRI=y.baseIRI):b.baseIRI=this.baseIRI,this.activeTagStack.push(b),b.ns=w.parseNamespace(T,y),v===C.RESOURCE?this.onTagResource(T,b,y,!y):this.onTagProperty(T,b,y)}onTagResource(T,y,v,b){const x=w.expandPrefixedTerm(T.name,y.ns,this);y.childrenParseType=C.PROPERTY;let A=!0;if(x.uri===w.RDF){if(!b&&w.FORBIDDEN_NODE_ELEMENTS.indexOf(x.local)>=0)throw this.newParseError(`Illegal node element name: ${x.local}`);switch(x.local){case"RDF":y.childrenParseType=C.RESOURCE;case"Description":A=!1}}const E=[],I=[];let H=null,M=!1,P=!1,Z=null;for(const S in T.attributes){const G=T.attributes[S],ne=w.expandPrefixedTerm(S,y.ns,this);if(v&&ne.uri===w.RDF)switch(ne.local){case"about":if(H)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${G} and ${H} where found.`);H=G;continue;case"ID":if(H)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${G} and ${H} where found.`);this.validateNcname(G),H="#"+G,M=!0;continue;case"nodeID":if(H)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${G} and ${H} where found.`);this.validateNcname(G),H=G,P=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":Z=G;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(ne.uri===w.XML){if("lang"===ne.local){y.language=""===G?null:G.toLowerCase();continue}if("base"===ne.local){y.baseIRI=K.resolve(G,y.baseIRI);continue}}"xml"!==ne.prefix&&ne.uri&&(E.push(this.uriToNamedNode(ne.uri+ne.local)),I.push(G))}if(null!==H&&(y.subject=P?this.dataFactory.blankNode(H):this.valueToUri(H,y),M&&this.claimNodeId(y.subject)),y.subject||(y.subject=this.dataFactory.blankNode()),A){const S=this.uriToNamedNode(x.uri+x.local);this.emitTriple(y.subject,this.dataFactory.namedNode(w.RDF+"type"),S,v?v.reifiedStatementId:null)}if(v){if(v.predicate)if(v.childrenCollectionSubject){const S=this.dataFactory.blankNode();this.emitTriple(v.childrenCollectionSubject,v.childrenCollectionPredicate,S,v.reifiedStatementId),this.emitTriple(S,this.dataFactory.namedNode(w.RDF+"first"),y.subject,y.reifiedStatementId),v.childrenCollectionSubject=S,v.childrenCollectionPredicate=this.dataFactory.namedNode(w.RDF+"rest")}else{this.emitTriple(v.subject,v.predicate,y.subject,v.reifiedStatementId);for(let S=0;S=0)throw this.newParseError(`Illegal property element name: ${b.local}`);y.predicateSubPredicates=[],y.predicateSubObjects=[];let x=!1,A=!1,E=null,I=!0;const H=[],M=[];for(const P in T.attributes){const Z=T.attributes[P],S=w.expandPrefixedTerm(P,y.ns,this);if(S.uri===w.RDF)switch(S.local){case"resource":if(E)throw this.newParseError(`Found both rdf:resource (${Z}) and rdf:nodeID (${E}).`);if(x)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${Z})`);y.hadChildren=!0,E=Z,I=!1;continue;case"datatype":if(A)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${Z}).`);if(x)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${Z})`);y.datatype=this.valueToUri(Z,y);continue;case"nodeID":if(A)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${Z}).`);if(y.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${Z}).`);if(x)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${Z})`);this.validateNcname(Z),y.hadChildren=!0,E=Z,I=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(A)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(y.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${y.datatype.value})`);if(E)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${E})`);if("Resource"===Z){x=!0,y.childrenParseType=C.PROPERTY;const G=this.dataFactory.blankNode();this.emitTriple(y.subject,y.predicate,G,y.reifiedStatementId),y.subject=G,y.predicate=null}else"Collection"===Z?(x=!0,y.hadChildren=!0,y.childrenCollectionSubject=y.subject,y.childrenCollectionPredicate=y.predicate,I=!1):"Literal"===Z&&(x=!0,y.childrenTagsToString=!0,y.childrenStringTags=[]);continue;case"ID":this.validateNcname(Z),y.reifiedStatementId=this.valueToUri("#"+Z,y),this.claimNodeId(y.reifiedStatementId);continue}else if(S.uri===w.XML&&"lang"===S.local){y.language=""===Z?null:Z.toLowerCase();continue}if("xml"!==S.prefix&&"xmlns"!==S.prefix&&S.uri){if(x||y.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${Z}`);y.hadChildren=!0,A=!0,H.push(this.uriToNamedNode(S.uri+S.local)),M.push(this.dataFactory.literal(Z,y.datatype||y.language))}}if(null!==E){const P=y.subject;y.subject=I?this.dataFactory.blankNode(E):this.valueToUri(E,y),this.emitTriple(P,y.predicate,y.subject,y.reifiedStatementId);for(let Z=0;Z/g,(y,v,b)=>(this.saxStream._parser.ENTITIES[v]=b,""))}}var C,R;fe.RdfXmlParser=w,w.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,w.MIME_TYPE="application/rdf+xml",w.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",w.XML="http://www.w3.org/XML/1998/namespace",w.XMLNS="http://www.w3.org/2000/xmlns/",w.DEFAULT_NS={xml:w.XML},w.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],w.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],w.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(R=C=fe.ParseType||(fe.ParseType={}))[R.RESOURCE=0]="RESOURCE",R[R.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(Q,we,fe){"use strict";var V={};function F(R,T,y){y||(y=Error);var b=function(x){function A(E,I,H){return x.call(this,function(x,A,E){return"string"==typeof T?T:T(x,A,E)}(E,I,H))||this}return function(R,T){R.prototype=Object.create(T.prototype),R.prototype.constructor=R,R.__proto__=T}(A,x),A}(y);b.prototype.name=y.name,b.prototype.code=R,V[R]=b}function Y(R,T){if(Array.isArray(R)){var y=R.length;return R=R.map(function(v){return String(v)}),y>2?"one of ".concat(T," ").concat(R.slice(0,y-1).join(", "),", or ")+R[y-1]:2===y?"one of ".concat(T," ").concat(R[0]," or ").concat(R[1]):"of ".concat(T," ").concat(R[0])}return"of ".concat(T," ").concat(String(R))}F("ERR_INVALID_OPT_VALUE",function(R,T){return'The value "'+T+'" is invalid for option "'+R+'"'},TypeError),F("ERR_INVALID_ARG_TYPE",function(R,T,y){var v,b;if("string"==typeof T&&function(R,T,y){return R.substr(!y||y<0?0:+y,T.length)===T}(T,"not ")?(v="must not be",T=T.replace(/^not /,"")):v="must be",function(R,T,y){return(void 0===y||y>R.length)&&(y=R.length),R.substring(y-T.length,y)===T}(R," argument"))b="The ".concat(R," ").concat(v," ").concat(Y(T,"type"));else{var x=function(R,T,y){return"number"!=typeof y&&(y=0),!(y+T.length>R.length)&&-1!==R.indexOf(T,y)}(R,".")?"property":"argument";b='The "'.concat(R,'" ').concat(x," ").concat(v," ").concat(Y(T,"type"))}return b+". Received type ".concat(typeof y)},TypeError),F("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),F("ERR_METHOD_NOT_IMPLEMENTED",function(R){return"The "+R+" method is not implemented"}),F("ERR_STREAM_PREMATURE_CLOSE","Premature close"),F("ERR_STREAM_DESTROYED",function(R){return"Cannot call "+R+" after a stream was destroyed"}),F("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),F("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),F("ERR_STREAM_WRITE_AFTER_END","write after end"),F("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),F("ERR_UNKNOWN_ENCODING",function(R){return"Unknown encoding: "+R},TypeError),F("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),we.exports.codes=V},{}],68:[function(Q,we,fe){(function(K){(function(){"use strict";var V=Object.keys||function(v){var b=[];for(var x in v)b.push(x);return b};we.exports=R;var F=Q("./_stream_readable"),Y=Q("./_stream_writable");Q("inherits")(R,F);for(var L=V(Y.prototype),w=0;w0)if("string"!=typeof U&&!nt.objectMode&&Object.getPrototypeOf(U)!==C.prototype&&(U=function(Ae){return C.from(Ae)}(U)),z)nt.endEmitted?se(Ae,new S):Fe(Ae,nt,U,!0);else if(nt.ended)se(Ae,new P);else{if(nt.destroyed)return!1;nt.reading=!1,nt.decoder&&!k?(U=nt.decoder.write(U),nt.objectMode||0!==U.length?Fe(Ae,nt,U,!1):Ge(Ae,nt)):Fe(Ae,nt,U,!1)}else z||(nt.reading=!1,Ge(Ae,nt));return!nt.ended&&(nt.lengthU.highWaterMark&&(U.highWaterMark=function(Ae){return Ae>=He?Ae=He:(Ae--,Ae|=Ae>>>1,Ae|=Ae>>>2,Ae|=Ae>>>4,Ae|=Ae>>>8,Ae|=Ae>>>16,Ae++),Ae}(Ae)),Ae<=U.length?Ae:U.ended?U.length:(U.needReadable=!0,0))}function Te(Ae){var U=Ae._readableState;b("emitReadable",U.needReadable,U.emittedReadable),U.needReadable=!1,U.emittedReadable||(b("emitReadable",U.flowing),U.emittedReadable=!0,K.nextTick(xe,Ae))}function xe(Ae){var U=Ae._readableState;b("emitReadable_",U.destroyed,U.length,U.ended),!U.destroyed&&(U.length||U.ended)&&(Ae.emit("readable"),U.emittedReadable=!1),U.needReadable=!U.flowing&&!U.ended&&U.length<=U.highWaterMark,ge(Ae)}function Ge(Ae,U){U.readingMore||(U.readingMore=!0,K.nextTick(Se,Ae,U))}function Se(Ae,U){for(;!U.reading&&!U.ended&&(U.length0,U.resumeScheduled&&!U.paused?U.flowing=!0:Ae.listenerCount("data")>0&&Ae.resume()}function Be(Ae){b("readable nexttick read 0"),Ae.read(0)}function q(Ae,U){b("resume",U.reading),U.reading||Ae.read(0),U.resumeScheduled=!1,Ae.emit("resume"),ge(Ae),U.flowing&&!U.reading&&Ae.read(0)}function ge(Ae){var U=Ae._readableState;for(b("flow",U.flowing);U.flowing&&null!==Ae.read(););}function le(Ae,U){return 0===U.length?null:(U.objectMode?k=U.buffer.shift():!Ae||Ae>=U.length?(k=U.decoder?U.buffer.join(""):1===U.buffer.length?U.buffer.first():U.buffer.concat(U.length),U.buffer.clear()):k=U.buffer.consume(Ae,U.decoder),k);var k}function qe(Ae){var U=Ae._readableState;b("endReadable",U.endEmitted),U.endEmitted||(U.ended=!0,K.nextTick(_t,U,Ae))}function _t(Ae,U){if(b("endReadableNT",Ae.endEmitted,Ae.length),!Ae.endEmitted&&0===Ae.length&&(Ae.endEmitted=!0,U.readable=!1,U.emit("end"),Ae.autoDestroy)){var k=U._writableState;(!k||k.autoDestroy&&k.finished)&&U.destroy()}}function gt(Ae,U){for(var k=0,z=Ae.length;k=U.highWaterMark:U.length>0)||U.ended))return b("read: emitReadable",U.length,U.ended),0===U.length&&U.ended?qe(this):Te(this),null;if(0===(Ae=ae(Ae,U))&&U.ended)return 0===U.length&&qe(this),null;var Le,z=U.needReadable;return b("need readable",z),(0===U.length||U.length-Ae0?le(Ae,U):null)?(U.needReadable=U.length<=U.highWaterMark,Ae=0):(U.length-=Ae,U.awaitDrain=0),0===U.length&&(U.ended||(U.needReadable=!0),k!==Ae&&U.ended&&qe(this)),null!==Le&&this.emit("data",Le),Le},re.prototype._read=function(Ae){se(this,new Z("_read()"))},re.prototype.pipe=function(Ae,U){var k=this,z=this._readableState;switch(z.pipesCount){case 0:z.pipes=Ae;break;case 1:z.pipes=[z.pipes,Ae];break;default:z.pipes.push(Ae)}z.pipesCount+=1,b("pipe count=%d opts=%j",z.pipesCount,U);var nt=U&&!1===U.end||Ae===K.stdout||Ae===K.stderr?gs:Nt;function xt(Bs,Qr){b("onunpipe"),Bs===k&&Qr&&!1===Qr.hasUnpiped&&(Qr.hasUnpiped=!0,b("cleanup"),Ae.removeListener("close",Xr),Ae.removeListener("finish",Ls),Ae.removeListener("drain",On),Ae.removeListener("error",wi),Ae.removeListener("unpipe",xt),k.removeListener("end",Nt),k.removeListener("end",gs),k.removeListener("data",Ti),kn=!0,z.awaitDrain&&(!Ae._writableState||Ae._writableState.needDrain)&&On())}function Nt(){b("onend"),Ae.end()}z.endEmitted?K.nextTick(nt):k.once("end",nt),Ae.on("unpipe",xt);var On=function(Ae){return function(){var k=Ae._readableState;b("pipeOnDrain",k.awaitDrain),k.awaitDrain&&k.awaitDrain--,0===k.awaitDrain&&L(Ae,"data")&&(k.flowing=!0,ge(Ae))}}(k);Ae.on("drain",On);var kn=!1;function Ti(Bs){b("ondata");var Qr=Ae.write(Bs);b("dest.write",Qr),!1===Qr&&((1===z.pipesCount&&z.pipes===Ae||z.pipesCount>1&&-1!==gt(z.pipes,Ae))&&!kn&&(b("false write response, pause",z.awaitDrain),z.awaitDrain++),k.pause())}function wi(Bs){b("onerror",Bs),gs(),Ae.removeListener("error",wi),0===L(Ae,"error")&&se(Ae,Bs)}function Xr(){Ae.removeListener("finish",Ls),gs()}function Ls(){b("onfinish"),Ae.removeListener("close",Xr),gs()}function gs(){b("unpipe"),k.unpipe(Ae)}return k.on("data",Ti),function(Ae,U,k){if("function"==typeof Ae.prependListener)return Ae.prependListener(U,k);Ae._events&&Ae._events[U]?Array.isArray(Ae._events[U])?Ae._events[U].unshift(k):Ae._events[U]=[k,Ae._events[U]]:Ae.on(U,k)}(Ae,"error",wi),Ae.once("close",Xr),Ae.once("finish",Ls),Ae.emit("pipe",k),z.flowing||(b("pipe resume"),k.resume()),Ae},re.prototype.unpipe=function(Ae){var U=this._readableState,k={hasUnpiped:!1};if(0===U.pipesCount)return this;if(1===U.pipesCount)return Ae&&Ae!==U.pipes||(Ae||(Ae=U.pipes),U.pipes=null,U.pipesCount=0,U.flowing=!1,Ae&&Ae.emit("unpipe",this,k)),this;if(!Ae){var z=U.pipes,Le=U.pipesCount;U.pipes=null,U.pipesCount=0,U.flowing=!1;for(var nt=0;nt0,!1!==z.flowing&&this.resume()):"readable"===Ae&&!z.endEmitted&&!z.readableListening&&(z.readableListening=z.needReadable=!0,z.flowing=!1,z.emittedReadable=!1,b("on readable",z.length,z.reading),z.length?Te(this):z.reading||K.nextTick(Be,this)),k},re.prototype.removeListener=function(Ae,U){var k=w.prototype.removeListener.call(this,Ae,U);return"readable"===Ae&&K.nextTick(Ke,this),k},re.prototype.removeAllListeners=function(Ae){var U=w.prototype.removeAllListeners.apply(this,arguments);return("readable"===Ae||void 0===Ae)&&K.nextTick(Ke,this),U},re.prototype.resume=function(){var Ae=this._readableState;return Ae.flowing||(b("resume"),Ae.flowing=!Ae.readableListening,function(Ae,U){U.resumeScheduled||(U.resumeScheduled=!0,K.nextTick(q,Ae,U))}(this,Ae)),Ae.paused=!1,this},re.prototype.pause=function(){return b("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(b("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},re.prototype.wrap=function(Ae){var U=this,k=this._readableState,z=!1;for(var Le in Ae.on("end",function(){if(b("wrapped end"),k.decoder&&!k.ended){var xt=k.decoder.end();xt&&xt.length&&U.push(xt)}U.push(null)}),Ae.on("data",function(xt){b("wrapped data"),k.decoder&&(xt=k.decoder.write(xt)),k.objectMode&&null==xt||!(k.objectMode||xt&&xt.length)||U.push(xt)||(z=!0,Ae.pause())}),Ae)void 0===this[Le]&&"function"==typeof Ae[Le]&&(this[Le]=function(Nt){return function(){return Ae[Nt].apply(Ae,arguments)}}(Le));for(var nt=0;nt-1))throw new ne(le);return this._writableState.defaultEncoding=le,this},Object.defineProperty(ye.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(ye.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),ye.prototype._write=function(ge,le,qe){qe(new H("_write()"))},ye.prototype._writev=null,ye.prototype.end=function(ge,le,qe){var _t=this._writableState;return"function"==typeof ge?(qe=ge,ge=null,le=null):"function"==typeof le&&(qe=le,le=null),null!=ge&&this.write(ge,le),_t.corked&&(_t.corked=1,this.uncork()),_t.ending||function(ge,le,qe){le.ending=!0,Be(ge,le),qe&&(le.finished?K.nextTick(qe):ge.once("finish",qe)),le.ended=!0,ge.writable=!1}(this,_t,qe),this},Object.defineProperty(ye.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(ye.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(le){!this._writableState||(this._writableState.destroyed=le)}}),ye.prototype.destroy=b.destroy,ye.prototype._undestroy=b.undestroy,ye.prototype._destroy=function(ge,le){le(ge)}}).call(this)}).call(this,Q("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(Q,we,fe){(function(K){(function(){"use strict";var V;function F(P,Z,S){return Z in P?Object.defineProperty(P,Z,{value:S,enumerable:!0,configurable:!0,writable:!0}):P[Z]=S,P}var Y=Q("./end-of-stream"),L=Symbol("lastResolve"),w=Symbol("lastReject"),C=Symbol("error"),R=Symbol("ended"),T=Symbol("lastPromise"),y=Symbol("handlePromise"),v=Symbol("stream");function b(P,Z){return{value:P,done:Z}}function x(P){var Z=P[L];if(null!==Z){var S=P[v].read();null!==S&&(P[T]=null,P[L]=null,P[w]=null,Z(b(S,!1)))}}function A(P){K.nextTick(x,P)}var I=Object.getPrototypeOf(function(){}),H=Object.setPrototypeOf((F(V={get stream(){return this[v]},next:function(){var Z=this,S=this[C];if(null!==S)return Promise.reject(S);if(this[R])return Promise.resolve(b(void 0,!0));if(this[v].destroyed)return new Promise(function(se,te){K.nextTick(function(){Z[C]?te(Z[C]):se(b(void 0,!0))})});var ne,G=this[T];if(G)ne=new Promise(function(P,Z){return function(S,G){P.then(function(){Z[R]?S(b(void 0,!0)):Z[y](S,G)},G)}}(G,this));else{var ce=this[v].read();if(null!==ce)return Promise.resolve(b(ce,!1));ne=new Promise(this[y])}return this[T]=ne,ne}},Symbol.asyncIterator,function(){return this}),F(V,"return",function(){var Z=this;return new Promise(function(S,G){Z[v].destroy(null,function(ne){ne?G(ne):S(b(void 0,!0))})})}),V),I);we.exports=function(Z){var S,G=Object.create(H,(F(S={},v,{value:Z,writable:!0}),F(S,L,{value:null,writable:!0}),F(S,w,{value:null,writable:!0}),F(S,C,{value:null,writable:!0}),F(S,R,{value:Z._readableState.endEmitted,writable:!0}),F(S,y,{value:function(ce,se){var te=G[v].read();te?(G[T]=null,G[L]=null,G[w]=null,ce(b(te,!1))):(G[L]=ce,G[w]=se)},writable:!0}),S));return G[T]=null,Y(Z,function(ne){if(ne&&"ERR_STREAM_PREMATURE_CLOSE"!==ne.code){var ce=G[w];return null!==ce&&(G[T]=null,G[L]=null,G[w]=null,ce(ne)),void(G[C]=ne)}var se=G[L];null!==se&&(G[T]=null,G[L]=null,G[w]=null,se(b(void 0,!0))),G[R]=!0}),Z.on("readable",A.bind(null,G)),G}}).call(this)}).call(this,Q("_process"))},{"./end-of-stream":76,_process:44}],74:[function(Q,we,fe){"use strict";function K(x,A){var E=Object.keys(x);if(Object.getOwnPropertySymbols){var I=Object.getOwnPropertySymbols(x);A&&(I=I.filter(function(H){return Object.getOwnPropertyDescriptor(x,H).enumerable})),E.push.apply(E,I)}return E}function F(x,A,E){return A in x?Object.defineProperty(x,A,{value:E,enumerable:!0,configurable:!0,writable:!0}):x[A]=E,x}function L(x,A){for(var E=0;E0?this.tail.next=I:this.head=I,this.tail=I,++this.length}},{key:"unshift",value:function(E){var I={data:E,next:this.head};0===this.length&&(this.tail=I),this.head=I,++this.length}},{key:"shift",value:function(){if(0!==this.length){var E=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,E}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(E){if(0===this.length)return"";for(var I=this.head,H=""+I.data;I=I.next;)H+=E+I.data;return H}},{key:"concat",value:function(E){if(0===this.length)return R.alloc(0);for(var I=R.allocUnsafe(E>>>0),H=this.head,M=0;H;)b(H.data,I,M),M+=H.data.length,H=H.next;return I}},{key:"consume",value:function(E,I){var H;return EP.length?P.length:E;if(M+=Z===P.length?P:P.slice(0,E),0==(E-=Z)){Z===P.length?(++H,this.head=I.next?I.next:this.tail=null):(this.head=I,I.data=P.slice(Z));break}++H}return this.length-=H,M}},{key:"_getBuffer",value:function(E){var I=R.allocUnsafe(E),H=this.head,M=1;for(H.data.copy(I),E-=H.data.length;H=H.next;){var P=H.data,Z=E>P.length?P.length:E;if(P.copy(I,I.length-E,0,Z),0==(E-=Z)){Z===P.length?(++M,this.head=H.next?H.next:this.tail=null):(this.head=H,H.data=P.slice(Z));break}++M}return this.length-=M,I}},{key:v,value:function(E,I){return y(this,function(x){for(var A=1;A0,function(ne){H||(H=ne),ne&&M.forEach(T),!S&&(M.forEach(T),I(H))})});return A.reduce(y)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(Q,we,fe){"use strict";var K=Q("../../../errors").codes.ERR_INVALID_OPT_VALUE;we.exports={getHighWaterMark:function(Y,L,w,C){var R=function(Y,L,w){return null!=Y.highWaterMark?Y.highWaterMark:L?Y[w]:null}(L,C,w);if(null!=R){if(!isFinite(R)||Math.floor(R)!==R||R<0)throw new K(C?w:"highWaterMark",R);return Math.floor(R)}return Y.objectMode?16:16384}}},{"../../../errors":67}],80:[function(Q,we,fe){we.exports=Q("events").EventEmitter},{events:8}],81:[function(Q,we,fe){(fe=we.exports=Q("./lib/_stream_readable.js")).Stream=fe,fe.Readable=fe,fe.Writable=Q("./lib/_stream_writable.js"),fe.Duplex=Q("./lib/_stream_duplex.js"),fe.Transform=Q("./lib/_stream_transform.js"),fe.PassThrough=Q("./lib/_stream_passthrough.js"),fe.finished=Q("./lib/internal/streams/end-of-stream.js"),fe.pipeline=Q("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),function(V){for(var F in V)fe.hasOwnProperty(F)||(fe[F]=V[F])}(Q("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(Q,we,fe){"use strict";function V(L){const w=[];let C=0;for(;CR.join("")).join("/")}function F(L,w){let C=w+1;w>=0?"/"===L[w+1]&&"/"===L[w+2]&&(C=w+3):"/"===L[0]&&"/"===L[1]&&(C=2);const R=L.indexOf("/",C);return R<0?L:L.substr(0,R)+V(L.substr(R))}function Y(L){return!L||"#"===L||"?"===L||"/"===L}Object.defineProperty(fe,"__esModule",{value:!0}),fe.resolve=function(L,w){const C=(w=w||"").indexOf("#");if(C>0&&(w=w.substr(0,C)),!L.length){if(w.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${w}' for value '${L}'`);return w}if(L.startsWith("?")){const A=w.indexOf("?");return A>0&&(w=w.substr(0,A)),w+L}if(L.startsWith("#"))return w+L;if(!w.length){const A=L.indexOf(":");if(A<0)throw new Error(`Found invalid relative IRI '${L}' for a missing baseIRI`);return F(L,A)}const R=L.indexOf(":");if(R>=0)return F(L,R);const T=w.indexOf(":");if(T<0)throw new Error(`Found invalid baseIRI '${w}' for value '${L}'`);const y=w.substr(0,T+1);if(0===L.indexOf("//"))return y+F(L,R);let v;if(w.indexOf("//",T)===T+1){if(v=w.indexOf("/",T+3),v<0)return w.length>T+3?w+"/"+F(L,R):y+F(L,R)}else if(v=w.indexOf("/",T+1),v<0)return y+F(L,R);if(0===L.indexOf("/"))return w.substr(0,v)+V(L);let b=w.substr(v);const x=b.lastIndexOf("/");return x>=0&&x"===le?(re(q,"onsgmldeclaration",q.sgmlDecl),q.sgmlDecl="",q.state=te.TEXT):(G(le)&&(q.state=te.SGML_DECL_QUOTED),q.sgmlDecl+=le);continue;case te.SGML_DECL_QUOTED:le===q.q&&(q.state=te.SGML_DECL,q.q=""),q.sgmlDecl+=le;continue;case te.DOCTYPE:">"===le?(q.state=te.TEXT,re(q,"ondoctype",q.doctype),q.doctype=!0):(q.doctype+=le,"["===le?q.state=te.DOCTYPE_DTD:G(le)&&(q.state=te.DOCTYPE_QUOTED,q.q=le));continue;case te.DOCTYPE_QUOTED:q.doctype+=le,le===q.q&&(q.q="",q.state=te.DOCTYPE);continue;case te.DOCTYPE_DTD:q.doctype+=le,"]"===le?q.state=te.DOCTYPE:G(le)&&(q.state=te.DOCTYPE_DTD_QUOTED,q.q=le);continue;case te.DOCTYPE_DTD_QUOTED:q.doctype+=le,le===q.q&&(q.state=te.DOCTYPE_DTD,q.q="");continue;case te.COMMENT:"-"===le?q.state=te.COMMENT_ENDING:q.comment+=le;continue;case te.COMMENT_ENDING:"-"===le?(q.state=te.COMMENT_ENDED,q.comment=Fe(q.opt,q.comment),q.comment&&re(q,"oncomment",q.comment),q.comment=""):(q.comment+="-"+le,q.state=te.COMMENT);continue;case te.COMMENT_ENDED:">"!==le?(J(q,"Malformed comment"),q.comment+="--"+le,q.state=te.COMMENT):q.state=te.TEXT;continue;case te.CDATA:"]"===le?q.state=te.CDATA_ENDING:q.cdata+=le;continue;case te.CDATA_ENDING:"]"===le?q.state=te.CDATA_ENDING_2:(q.cdata+="]"+le,q.state=te.CDATA);continue;case te.CDATA_ENDING_2:">"===le?(q.cdata&&re(q,"oncdata",q.cdata),re(q,"onclosecdata"),q.cdata="",q.state=te.TEXT):"]"===le?q.cdata+="]":(q.cdata+="]]"+le,q.state=te.CDATA);continue;case te.PROC_INST:"?"===le?q.state=te.PROC_INST_ENDING:S(le)?q.state=te.PROC_INST_BODY:q.procInstName+=le;continue;case te.PROC_INST_BODY:if(!q.procInstBody&&S(le))continue;"?"===le?q.state=te.PROC_INST_ENDING:q.procInstBody+=le;continue;case te.PROC_INST_ENDING:">"===le?(re(q,"onprocessinginstruction",{name:q.procInstName,body:q.procInstBody}),q.procInstName=q.procInstBody="",q.state=te.TEXT):(q.procInstBody+="?"+le,q.state=te.PROC_INST_BODY);continue;case te.OPEN_TAG:ce(M,le)?q.tagName+=le:(ae(q),">"===le?xe(q):"/"===le?q.state=te.OPEN_TAG_SLASH:(S(le)||J(q,"Invalid character in tag name"),q.state=te.ATTRIB));continue;case te.OPEN_TAG_SLASH:">"===le?(xe(q,!0),Ge(q)):(J(q,"Forward-slash in opening tag not followed by >"),q.state=te.ATTRIB);continue;case te.ATTRIB:if(S(le))continue;">"===le?xe(q):"/"===le?q.state=te.OPEN_TAG_SLASH:ce(H,le)?(q.attribName=le,q.attribValue="",q.state=te.ATTRIB_NAME):J(q,"Invalid attribute name");continue;case te.ATTRIB_NAME:"="===le?q.state=te.ATTRIB_VALUE:">"===le?(J(q,"Attribute without value"),q.attribValue=q.attribName,Te(q),xe(q)):S(le)?q.state=te.ATTRIB_NAME_SAW_WHITE:ce(M,le)?q.attribName+=le:J(q,"Invalid attribute name");continue;case te.ATTRIB_NAME_SAW_WHITE:if("="===le)q.state=te.ATTRIB_VALUE;else{if(S(le))continue;J(q,"Attribute without value"),q.tag.attributes[q.attribName]="",q.attribValue="",re(q,"onattribute",{name:q.attribName,value:""}),q.attribName="",">"===le?xe(q):ce(H,le)?(q.attribName=le,q.state=te.ATTRIB_NAME):(J(q,"Invalid attribute name"),q.state=te.ATTRIB)}continue;case te.ATTRIB_VALUE:if(S(le))continue;G(le)?(q.q=le,q.state=te.ATTRIB_VALUE_QUOTED):(J(q,"Unquoted attribute value"),q.state=te.ATTRIB_VALUE_UNQUOTED,q.attribValue=le);continue;case te.ATTRIB_VALUE_QUOTED:if(le!==q.q){"&"===le?q.state=te.ATTRIB_VALUE_ENTITY_Q:q.attribValue+=le;continue}Te(q),q.q="",q.state=te.ATTRIB_VALUE_CLOSED;continue;case te.ATTRIB_VALUE_CLOSED:S(le)?q.state=te.ATTRIB:">"===le?xe(q):"/"===le?q.state=te.OPEN_TAG_SLASH:ce(H,le)?(J(q,"No whitespace between attributes"),q.attribName=le,q.attribValue="",q.state=te.ATTRIB_NAME):J(q,"Invalid attribute name");continue;case te.ATTRIB_VALUE_UNQUOTED:if(!ne(le)){"&"===le?q.state=te.ATTRIB_VALUE_ENTITY_U:q.attribValue+=le;continue}Te(q),">"===le?xe(q):q.state=te.ATTRIB;continue;case te.CLOSE_TAG:if(q.tagName)">"===le?Ge(q):ce(M,le)?q.tagName+=le:q.script?(q.script+=""===le?Ge(q):J(q,"Invalid characters in closing tag");continue;case te.TEXT_ENTITY:case te.ATTRIB_VALUE_ENTITY_Q:case te.ATTRIB_VALUE_ENTITY_U:var gt,Ae;switch(q.state){case te.TEXT_ENTITY:gt=te.TEXT,Ae="textNode";break;case te.ATTRIB_VALUE_ENTITY_Q:gt=te.ATTRIB_VALUE_QUOTED,Ae="attribValue";break;case te.ATTRIB_VALUE_ENTITY_U:gt=te.ATTRIB_VALUE_UNQUOTED,Ae="attribValue"}";"===le?(q[Ae]+=Se(q),q.entity="",q.state=gt):ce(q.entity.length?Z:P,le)?q.entity+=le:(J(q,"Invalid character in entity name"),q[Ae]+="&"+q.entity+le,q.entity="",q.state=gt);continue;default:throw new Error(q,"Unknown state: "+q.state)}return q.position>=q.bufferCheckPosition&&function(X){for(var q=Math.max(V.MAX_BUFFER_LENGTH,10),ge=0,le=0,qe=F.length;leq)switch(F[le]){case"textNode":ve(X);break;case"cdata":re(X,"oncdata",X.cdata),X.cdata="";break;case"script":re(X,"onscript",X.script),X.script="";break;default:Qe(X,"Max buffer length exceeded: "+F[le])}ge=Math.max(ge,_t)}X.bufferCheckPosition=V.MAX_BUFFER_LENGTH-ge+X.position}(q),q},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(X){ve(X),""!==X.cdata&&(re(X,"oncdata",X.cdata),X.cdata=""),""!==X.script&&(re(X,"onscript",X.script),X.script="")}(this)}};try{R=Q("stream").Stream}catch(X){R=function(){}}var T=V.EVENTS.filter(function(X){return"error"!==X&&"end"!==X});function v(X,q){if(!(this instanceof v))return new v(X,q);R.apply(this),this._parser=new Y(X,q),this.writable=!0,this.readable=!0;var ge=this;this._parser.onend=function(){ge.emit("end")},this._parser.onerror=function(le){ge.emit("error",le),ge._parser.error=null},this._decoder=null,T.forEach(function(le){Object.defineProperty(ge,"on"+le,{get:function(){return ge._parser["on"+le]},set:function(qe){if(!qe)return ge.removeAllListeners(le),ge._parser["on"+le]=qe,qe;ge.on(le,qe)},enumerable:!0,configurable:!1})})}(v.prototype=Object.create(R.prototype,{constructor:{value:v}})).write=function(X){if("function"==typeof K&&"function"==typeof K.isBuffer&&K.isBuffer(X)){if(!this._decoder){var q=Q("string_decoder").StringDecoder;this._decoder=new q("utf8")}X=this._decoder.write(X)}return this._parser.write(X.toString()),this.emit("data",X),!0},v.prototype.end=function(X){return X&&X.length&&this.write(X),this._parser.end(),!0},v.prototype.on=function(X,q){var ge=this;return!ge._parser["on"+X]&&-1!==T.indexOf(X)&&(ge._parser["on"+X]=function(){var le=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);le.splice(0,0,X),ge.emit.apply(ge,le)}),R.prototype.on.call(ge,X,q)};var A="http://www.w3.org/XML/1998/namespace",E="http://www.w3.org/2000/xmlns/",I={xml:A,xmlns:E},H=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,M=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,P=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,Z=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function S(X){return" "===X||"\n"===X||"\r"===X||"\t"===X}function G(X){return'"'===X||"'"===X}function ne(X){return">"===X||S(X)}function ce(X,q){return X.test(q)}function se(X,q){return!ce(X,q)}var X,q,ge,te=0;for(var Ie in V.STATE={BEGIN:te++,BEGIN_WHITESPACE:te++,TEXT:te++,TEXT_ENTITY:te++,OPEN_WAKA:te++,SGML_DECL:te++,SGML_DECL_QUOTED:te++,DOCTYPE:te++,DOCTYPE_QUOTED:te++,DOCTYPE_DTD:te++,DOCTYPE_DTD_QUOTED:te++,COMMENT_STARTING:te++,COMMENT:te++,COMMENT_ENDING:te++,COMMENT_ENDED:te++,CDATA:te++,CDATA_ENDING:te++,CDATA_ENDING_2:te++,PROC_INST:te++,PROC_INST_BODY:te++,PROC_INST_ENDING:te++,OPEN_TAG:te++,OPEN_TAG_SLASH:te++,ATTRIB:te++,ATTRIB_NAME:te++,ATTRIB_NAME_SAW_WHITE:te++,ATTRIB_VALUE:te++,ATTRIB_VALUE_QUOTED:te++,ATTRIB_VALUE_CLOSED:te++,ATTRIB_VALUE_UNQUOTED:te++,ATTRIB_VALUE_ENTITY_Q:te++,ATTRIB_VALUE_ENTITY_U:te++,CLOSE_TAG:te++,CLOSE_TAG_SAW_WHITE:te++,SCRIPT:te++,SCRIPT_ENDING:te++},V.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},V.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(V.ENTITIES).forEach(function(X){var q=V.ENTITIES[X],ge="number"==typeof q?String.fromCharCode(q):q;V.ENTITIES[X]=ge}),V.STATE)V.STATE[V.STATE[Ie]]=Ie;function ye(X,q,ge){X[q]&&X[q](ge)}function re(X,q,ge){X.textNode&&ve(X),ye(X,q,ge)}function ve(X){X.textNode=Fe(X.opt,X.textNode),X.textNode&&ye(X,"ontext",X.textNode),X.textNode=""}function Fe(X,q){return X.trim&&(q=q.trim()),X.normalize&&(q=q.replace(/\s+/g," ")),q}function Qe(X,q){return ve(X),X.trackPosition&&(q+="\nLine: "+X.line+"\nColumn: "+X.column+"\nChar: "+X.c),q=new Error(q),X.error=q,ye(X,"onerror",q),X}function He(X){return X.sawRoot&&!X.closedRoot&&J(X,"Unclosed root tag"),X.state!==te.BEGIN&&X.state!==te.BEGIN_WHITESPACE&&X.state!==te.TEXT&&Qe(X,"Unexpected end"),ve(X),X.c="",X.closed=!0,ye(X,"onend"),Y.call(X,X.strict,X.opt),X}function J(X,q){if("object"!=typeof X||!(X instanceof Y))throw new Error("bad call to strictFail");X.strict&&Qe(X,q)}function ae(X){X.strict||(X.tagName=X.tagName[X.looseCase]());var q=X.tags[X.tags.length-1]||X,ge=X.tag={name:X.tagName,attributes:{}};X.opt.xmlns&&(ge.ns=q.ns),X.attribList.length=0,re(X,"onopentagstart",ge)}function _e(X,q){var le=X.indexOf(":")<0?["",X]:X.split(":"),qe=le[0],_t=le[1];return q&&"xmlns"===X&&(qe="xmlns",_t=""),{prefix:qe,local:_t}}function Te(X){if(X.strict||(X.attribName=X.attribName[X.looseCase]()),-1!==X.attribList.indexOf(X.attribName)||X.tag.attributes.hasOwnProperty(X.attribName))X.attribName=X.attribValue="";else{if(X.opt.xmlns){var q=_e(X.attribName,!0),le=q.local;if("xmlns"===q.prefix)if("xml"===le&&X.attribValue!==A)J(X,"xml: prefix must be bound to "+A+"\nActual: "+X.attribValue);else if("xmlns"===le&&X.attribValue!==E)J(X,"xmlns: prefix must be bound to "+E+"\nActual: "+X.attribValue);else{var qe=X.tag,_t=X.tags[X.tags.length-1]||X;qe.ns===_t.ns&&(qe.ns=Object.create(_t.ns)),qe.ns[le]=X.attribValue}X.attribList.push([X.attribName,X.attribValue])}else X.tag.attributes[X.attribName]=X.attribValue,re(X,"onattribute",{name:X.attribName,value:X.attribValue});X.attribName=X.attribValue=""}}function xe(X,q){if(X.opt.xmlns){var ge=X.tag,le=_e(X.tagName);ge.prefix=le.prefix,ge.local=le.local,ge.uri=ge.ns[le.prefix]||"",ge.prefix&&!ge.uri&&(J(X,"Unbound namespace prefix: "+JSON.stringify(X.tagName)),ge.uri=le.prefix),ge.ns&&(X.tags[X.tags.length-1]||X).ns!==ge.ns&&Object.keys(ge.ns).forEach(function(On){re(X,"onopennamespace",{prefix:On,uri:ge.ns[On]})});for(var _t=0,gt=X.attribList.length;_t",X.tagName="",void(X.state=te.SCRIPT);re(X,"onscript",X.script),X.script=""}var q=X.tags.length,ge=X.tagName;X.strict||(ge=ge[X.looseCase]());for(var le=ge;q--&&X.tags[q].name!==le;)J(X,"Unexpected close tag");if(q<0)return J(X,"Unmatched closing tag: "+X.tagName),X.textNode+="",void(X.state=te.TEXT);X.tagName=ge;for(var _t=X.tags.length;_t-- >q;){var gt=X.tag=X.tags.pop();X.tagName=X.tag.name,re(X,"onclosetag",X.tagName);var Ae={};for(var U in gt.ns)Ae[U]=gt.ns[U];X.opt.xmlns&>.ns!==(X.tags[X.tags.length-1]||X).ns&&Object.keys(gt.ns).forEach(function(z){re(X,"onclosenamespace",{prefix:z,uri:gt.ns[z]})})}0===q&&(X.closedRoot=!0),X.tagName=X.attribValue=X.attribName="",X.attribList.length=0,X.state=te.TEXT}function Se(X){var le,q=X.entity,ge=q.toLowerCase(),qe="";return X.ENTITIES[q]?X.ENTITIES[q]:X.ENTITIES[ge]?X.ENTITIES[ge]:("#"===(q=ge).charAt(0)&&("x"===q.charAt(1)?(q=q.slice(2),qe=(le=parseInt(q,16)).toString(16)):(q=q.slice(1),qe=(le=parseInt(q,10)).toString(10))),q=q.replace(/^0+/,""),isNaN(le)||qe.toLowerCase()!==q?(J(X,"Invalid character entity"),"&"+X.entity+";"):String.fromCodePoint(le))}function Ue(X,q){"<"===q?(X.state=te.OPEN_WAKA,X.startTagPosition=X.position):S(q)||(J(X,"Non-whitespace before first tag."),X.textNode=q,X.state=te.TEXT)}function Ke(X,q){var ge="";return q1114111||q(z)!==z)throw RangeError("Invalid code point: "+z);z<=65535?qe.push(z):qe.push(55296+((z-=65536)>>10),z%1024+56320),(Ae+1===U||qe.length>le)&&(k+=X.apply(null,qe),qe.length=0)}return k},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:ge,configurable:!0,writable:!0}):String.fromCodePoint=ge)}(void 0===fe?this.sax={}:fe)}).call(this)}).call(this,Q("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(Q,we,fe){(function(K,V){(function(){!function(F,Y){"use strict";if(!F.setImmediate){var T,L=1,w={},C=!1,R=F.document,Z=Object.getPrototypeOf&&Object.getPrototypeOf(F);Z=Z&&Z.setTimeout?Z:F,"[object process]"==={}.toString.call(F.process)?T=function(S){K.nextTick(function(){x(S)})}:function(){if(F.postMessage&&!F.importScripts){var S=!0,G=F.onmessage;return F.onmessage=function(){S=!1},F.postMessage("","*"),F.onmessage=G,S}}()?(S="setImmediate$"+Math.random()+"$",G=function(ne){ne.source===F&&"string"==typeof ne.data&&0===ne.data.indexOf(S)&&x(+ne.data.slice(S.length))},F.addEventListener?F.addEventListener("message",G,!1):F.attachEvent("onmessage",G),T=function(ne){F.postMessage(S+ne,"*")}):F.MessageChannel?function(){var S=new MessageChannel;S.port1.onmessage=function(G){x(G.data)},T=function(G){S.port2.postMessage(G)}}():R&&"onreadystatechange"in R.createElement("script")?function(){var S=R.documentElement;T=function(G){var ne=R.createElement("script");ne.onreadystatechange=function(){x(G),ne.onreadystatechange=null,S.removeChild(ne),ne=null},S.appendChild(ne)}}():T=function(S){setTimeout(x,0,S)},Z.setImmediate=function(S){"function"!=typeof S&&(S=new Function(""+S));for(var G=new Array(arguments.length-1),ne=0;ne=0&&(T._idleTimeoutId=setTimeout(function(){T._onTimeout&&T._onTimeout()},y))},fe.setImmediate="function"==typeof K?K:function(T){var y=C++,v=!(arguments.length<2)&&L.call(arguments,1);return w[y]=!0,F(function(){w[y]&&(v?T.apply(null,v):T.call(null),fe.clearImmediate(y))}),y},fe.clearImmediate="function"==typeof V?V:function(T){delete w[T]}}).call(this)}).call(this,Q("timers").setImmediate,Q("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(Q,we,fe){(function(K){(function(){function F(Y){try{if(!K.localStorage)return!1}catch(w){return!1}var L=K.localStorage[Y];return null!=L&&"true"===String(L).toLowerCase()}we.exports=function(Y,L){if(F("noDeprecation"))return Y;var w=!1;return function(){if(!w){if(F("throwDeprecation"))throw new Error(L);F("traceDeprecation")?console.trace(L):console.warn(L),w=!0}return Y.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(Q,we,fe){"use strict";we.exports=function(K){K.prototype[Symbol.iterator]=function*(){for(let V=this.head;V;V=V.next)yield V.value}}},{}],92:[function(Q,we,fe){"use strict";function K(w){var C=this;if(C instanceof K||(C=new K),C.tail=null,C.head=null,C.length=0,w&&"function"==typeof w.forEach)w.forEach(function(y){C.push(y)});else if(arguments.length>0)for(var R=0,T=arguments.length;R1)R=C;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");T=this.head.next,R=this.head.value}for(var y=0;null!==T;y++)R=w(R,T.value,y),T=T.next;return R},K.prototype.reduceReverse=function(w,C){var R,T=this.tail;if(arguments.length>1)R=C;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");T=this.tail.prev,R=this.tail.value}for(var y=this.length-1;null!==T;y--)R=w(R,T.value,y),T=T.prev;return R},K.prototype.toArray=function(){for(var w=new Array(this.length),C=0,R=this.head;null!==R;C++)w[C]=R.value,R=R.next;return w},K.prototype.toArrayReverse=function(){for(var w=new Array(this.length),C=0,R=this.tail;null!==R;C++)w[C]=R.value,R=R.prev;return w},K.prototype.slice=function(w,C){(C=C||this.length)<0&&(C+=this.length),(w=w||0)<0&&(w+=this.length);var R=new K;if(Cthis.length&&(C=this.length);for(var T=0,y=this.head;null!==y&&Tthis.length&&(C=this.length);for(var T=this.length,y=this.tail;null!==y&&T>C;T--)y=y.prev;for(;null!==y&&T>w;T--,y=y.prev)R.push(y.value);return R},K.prototype.splice=function(w,C,...R){w>this.length&&(w=this.length-1),w<0&&(w=this.length+w);for(var T=0,y=this.head;null!==y&&T{"use strict";jt.exports=Je,jt.exports.default=Je;var Ye=1e20;function Je(Q,we,fe,K,V,F){this.fontSize=Q||24,this.buffer=void 0===we?3:we,this.cutoff=K||.25,this.fontFamily=V||"sans-serif",this.fontWeight=F||"normal",this.radius=fe||8;var Y=this.size=this.fontSize+2*this.buffer,L=Y+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=Y,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(L*L),this.gridInner=new Float64Array(L*L),this.f=new Float64Array(L),this.z=new Float64Array(L+1),this.v=new Uint16Array(L),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(Y/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function Et(Q,we,fe,K,V,F){for(var Y=0;Y-1);F[++w]=L,Y[w]=C,Y[w+1]=Ye}for(L=0,w=0;L{jt.exports=function(Je,lt){var ee=lt.length;if(0!==ee){var Et=Je.length;Je.length+=ee;for(var je=0;je{"use strict";var lt=(()=>{return(Et=lt||(lt={})).typeOfFunction="function",Et.boolTrue=!0,lt;var Et})();function ee(Et,je,Q){if(!Q||typeof Q.value!==lt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+je+"> is not a method!");return{configurable:lt.boolTrue,get:function(){var we=Q.value.bind(this);return Object.defineProperty(this,je,{value:we,configurable:lt.boolTrue,writable:lt.boolTrue}),we}}}Ye.ak=ee,Ye.ZP=ee},266:(jt,Ye,Je)=>{jt.exports={ResizeSensor:Je(835),ElementQueries:Je(845)}},845:function(jt,Ye,Je){"use strict";var lt,ee,Et;"undefined"!=typeof window&&window,ee=[Je(835)],void 0!==(Et="function"==typeof(lt=function(je){var Q=function(){var fe,K={},V=[];function F(M){M||(M=document.documentElement);var P=window.getComputedStyle(M,null).fontSize;return parseFloat(P)||16}function L(M,P){var Z=P.split(/\d/),S=Z[Z.length-1];switch(P=parseFloat(P),S){case"px":return P;case"em":return P*F(M);case"rem":return P*F();case"vw":return P*document.documentElement.clientWidth/100;case"vh":return P*document.documentElement.clientHeight/100;case"vmin":case"vmax":var G=document.documentElement.clientWidth/100,ne=document.documentElement.clientHeight/100;return P*(0,Math["vmin"===S?"min":"max"])(G,ne);default:return P}}function w(M,P){this.element=M;var Z,S,G,ne,ce,se,te,Ie,ye=["min-width","min-height","max-width","max-height"];this.call=function(){for(Z in G=function(M){if(!M.getBoundingClientRect)return{width:M.offsetWidth,height:M.offsetHeight};var P=M.getBoundingClientRect();return{width:Math.round(P.width),height:Math.round(P.height)}}(this.element),se={},K[P])!K[P].hasOwnProperty(Z)||(ne=L(this.element,(S=K[P][Z]).value),ce="width"===S.property?G.width:G.height,te="","min"===S.mode&&ce>=ne&&(te+=S.value),"max"===S.mode&&ce<=ne&&(te+=S.value),se[Ie=S.mode+"-"+S.property]||(se[Ie]=""),te&&-1===(" "+se[Ie]+" ").indexOf(" "+te+" ")&&(se[Ie]+=" "+te));for(var re in ye)!ye.hasOwnProperty(re)||(se[ye[re]]?this.element.setAttribute(ye[re],se[ye[re]].substr(1)):this.element.removeAttribute(ye[re]))}}function C(M,P){M.elementQueriesSetupInformation||(M.elementQueriesSetupInformation=new w(M,P)),M.elementQueriesSensor||(M.elementQueriesSensor=new je(M,function(){M.elementQueriesSetupInformation.call()}))}function R(M,P,Z,S){if(void 0===K[M]){K[M]=[];var G=V.length;fe.innerHTML+="\n"+M+" {animation: 0.1s element-queries;}",fe.innerHTML+="\n"+M+" > .resize-sensor {min-width: "+G+"px;}",V.push(M)}K[M].push({mode:P,property:Z,value:S})}function T(M){var P;if(document.querySelectorAll&&(P=M?M.querySelectorAll.bind(M):document.querySelectorAll.bind(document)),!P&&"undefined"!=typeof $$&&(P=$$),!P&&"undefined"!=typeof jQuery&&(P=jQuery),!P)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return P}function v(M){var P=[],Z=[],S=[],G=0,ne=-1,ce=[];for(var se in M.children)if(M.children.hasOwnProperty(se)&&M.children[se].tagName&&"img"===M.children[se].tagName.toLowerCase()){P.push(M.children[se]);var te=M.children[se].getAttribute("min-width")||M.children[se].getAttribute("data-min-width"),Ie=M.children[se].getAttribute("data-src")||M.children[se].getAttribute("url");S.push(Ie),Z.push({minWidth:te}),te?M.children[se].style.display="none":(G=P.length-1,M.children[se].style.display="block")}function re(){var Fe,ve=!1;for(Fe in P)!P.hasOwnProperty(Fe)||Z[Fe].minWidth&&M.offsetWidth>Z[Fe].minWidth&&(ve=Fe);if(ve||(ve=G),ne!==ve)if(ce[ve])P[ne].style.display="none",P[ve].style.display="block",ne=ve;else{var Qe=new Image;Qe.onload=function(){P[ve].src=S[ve],P[ne].style.display="none",P[ve].style.display="block",ce[ve]=!0,ne=ve},Qe.src=S[ve]}else P[ve].src=S[ve]}ne=G,M.resizeSensorInstance=new je(M,re),re()}var x=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,A=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function E(M){var P,Z,S,G;for(M=M.replace(/'/g,'"');null!==(P=x.exec(M));)for(Z=P[1]+P[3],S=P[2];null!==(G=A.exec(S));)R(Z,G[1],G[2],G[3])}function I(M){var P="";if(M)if("string"==typeof M)(-1!==(M=M.toLowerCase()).indexOf("min-width")||-1!==M.indexOf("max-width"))&&E(M);else for(var Z=0,S=M.length;Z img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",fe.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(fe),H=!0);for(var P=0,Z=document.styleSheets.length;P{var lt=Je(910),ee=Je(369),Et=Je(322);function je(Y,L,w){if(!lt(Y))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!Y.hasNode(L))throw new Error('graphology-shortest-path: the "'+L+'" source node does not exist in the given graph.');if(!Y.hasNode(w))throw new Error('graphology-shortest-path: the "'+w+'" target node does not exist in the given graph.');if((L=""+L)==(w=""+w))return[L];var C=Y.inboundNeighbors.bind(Y),R=Y.outboundNeighbors.bind(Y),T={},y={};T[L]=null,y[w]=null;var x,A,E,I,H,M,P,Z,v=[L],b=[w],S=!1;e:for(;v.length&&b.length;)if(v.length<=b.length){for(x=v,v=[],H=0,P=x.length;H{jt.exports=function(Je){return null!==Je&&"object"==typeof Je&&"function"==typeof Je.addUndirectedEdgeWithKey&&"function"==typeof Je.dropNode&&"boolean"==typeof Je.multi}},698:function(jt){jt.exports=function(){"use strict";function Ye(oe){return(Ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(me){return typeof me}:function(me){return me&&"function"==typeof Symbol&&me.constructor===Symbol&&me!==Symbol.prototype?"symbol":typeof me})(oe)}function Je(oe,me){oe.prototype=Object.create(me.prototype),oe.prototype.constructor=oe,ee(oe,me)}function lt(oe){return(lt=Object.setPrototypeOf?Object.getPrototypeOf:function(me){return me.__proto__||Object.getPrototypeOf(me)})(oe)}function ee(oe,me){return(ee=Object.setPrototypeOf||function(ue,N){return ue.__proto__=N,ue})(oe,me)}function Et(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(oe){return!1}}function je(oe,me,ue){return(je=Et()?Reflect.construct:function(N,j,ie){var Me=[null];Me.push.apply(Me,j);var ze=new(Function.bind.apply(N,Me));return ie&&ee(ze,ie.prototype),ze}).apply(null,arguments)}function Q(oe){var me="function"==typeof Map?new Map:void 0;return(Q=function(ue){if(null===ue||-1===Function.toString.call(ue).indexOf("[native code]"))return ue;if("function"!=typeof ue)throw new TypeError("Super expression must either be null or a function");if(void 0!==me){if(me.has(ue))return me.get(ue);me.set(ue,j)}function j(){return je(ue,arguments,lt(this).constructor)}return j.prototype=Object.create(ue.prototype,{constructor:{value:j,enumerable:!1,writable:!0,configurable:!0}}),ee(j,ue)})(oe)}function we(oe){if(void 0===oe)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return oe}var fe=function(){for(var oe=arguments[0],me=1,ue=arguments.length;me0&&Me.length>j&&!Me.warned){Me.warned=!0;var st=new Error("Possible EventEmitter memory leak detected. "+Me.length+" "+String(me)+" listeners added. Use emitter.setMaxListeners() to increase limit");st.name="MaxListenersExceededWarning",st.emitter=oe,st.type=me,st.count=Me.length,console&&console.warn&&console.warn(st)}return oe}function M(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function P(oe,me,ue){var N={fired:!1,wrapFn:void 0,target:oe,type:me,listener:ue},j=M.bind(N);return j.listener=ue,N.wrapFn=j,j}function Z(oe,me,ue){var N=oe._events;if(void 0===N)return[];var j=N[me];return void 0===j?[]:"function"==typeof j?ue?[j.listener||j]:[j]:ue?function(ie){for(var Me=new Array(ie.length),ze=0;ze0&&(ie=me[0]),ie instanceof Error)throw ie;var Me=new Error("Unhandled error."+(ie?" ("+ie.message+")":""));throw Me.context=ie,Me}var ze=j[oe];if(void 0===ze)return!1;if("function"==typeof ze)v(ze,this,me);else{var st=ze.length,Ot=G(ze,st);for(ue=0;ue=0;ie--)if(ue[ie]===me||ue[ie].listener===me){Me=ue[ie].listener,j=ie;break}if(j<0)return this;0===j?ue.shift():function(ze,st){for(;st+1=0;N--)this.removeListener(oe,me[N]);return this},x.prototype.listeners=function(oe){return Z(this,oe,!0)},x.prototype.rawListeners=function(oe){return Z(this,oe,!1)},x.listenerCount=function(oe,me){return"function"==typeof oe.listenerCount?oe.listenerCount(me):S.call(oe,me)},x.prototype.listenerCount=S,x.prototype.eventNames=function(){return this._eventsCount>0?R(this._events):[]},ce.prototype.next=function(){if(this.done)return{done:!0};var oe=this._next();return oe.done&&(this.done=!0),oe},"undefined"!=typeof Symbol&&(ce.prototype[Symbol.iterator]=function(){return this}),ce.of=function(){var oe=arguments,me=oe.length,ue=0;return new ce(function(){return ue>=me?{done:!0}:{done:!1,value:oe[ue++]}})},ce.empty=function(){var oe=new ce(null);return oe.done=!0,oe},ce.is=function(oe){return oe instanceof ce||"object"==typeof oe&&null!==oe&&"function"==typeof oe.next};var se=ce,te=function(oe,me){for(var ue,N=arguments.length>1?me:1/0,j=N!==1/0?new Array(N):[],ie=0;;){if(ie===N)return j;if((ue=oe.next()).done)return ie!==me?j.slice(0,ie):j;j[ie++]=ue.value}},Ie=function(oe){function me(ue,N){var j;return(j=oe.call(this)||this).name="GraphError",j.message=ue||"",j.data=N||{},j}return Je(me,oe),me}(Q(Error)),ye=function(oe){function me(ue,N){var j;return(j=oe.call(this,ue,N)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(we(j),me.prototype.constructor),j}return Je(me,oe),me}(Ie),re=function(oe){function me(ue,N){var j;return(j=oe.call(this,ue,N)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(we(j),me.prototype.constructor),j}return Je(me,oe),me}(Ie),ve=function(oe){function me(ue,N){var j;return(j=oe.call(this,ue,N)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(we(j),me.prototype.constructor),j}return Je(me,oe),me}(Ie);function Fe(oe,me){this.key=oe,this.attributes=me,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function Qe(oe,me){this.key=oe,this.attributes=me,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function He(oe,me){this.key=oe,this.attributes=me,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function J(oe,me,ue,N,j,ie){this.key=me,this.attributes=ie,this.undirected=oe,this.source=N,this.target=j,this.generatedKey=ue}function ae(oe,me,ue,N,j,ie,Me){var ze,st,Ot="out",et="in";if(me&&(Ot=et="undirected"),oe.multi){if(void 0===(st=(ze=ie[Ot])[j])&&(st=new Set,ze[j]=st),st.add(ue),N===j&&me)return;void 0===(ze=Me[et])[N]&&(ze[N]=st)}else{if(ie[Ot][j]=ue,N===j&&me)return;Me[et][N]=ue}}function _e(oe,me,ue){var N=oe.multi,j=ue.source,ie=ue.target,Me=j.key,ze=ie.key,st=j[me?"undirected":"out"],Ot=me?"undirected":"in";if(ze in st)if(N){var et=st[ze];1===et.size?(delete st[ze],delete ie[Ot][Me]):et.delete(ue)}else delete st[ze];N||delete ie[Ot][Me]}Qe.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},He.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var Te=[{name:function(oe){return"get".concat(oe,"Attribute")},attacher:function(oe,me,ue){oe.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==ue&&ue!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Me=""+N,ze=""+j;if(j=arguments[2],!(ie=K(this,Me,ze,ue)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(Me,'" - "').concat(ze,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==ue&&ie.undirected!==("undirected"===ue))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(ue," edge in the graph."));return ie.attributes[j]}}},{name:function(oe){return"get".concat(oe,"Attributes")},attacher:function(oe,me,ue){oe.prototype[me]=function(N){var j;if("mixed"!==this.type&&"mixed"!==ue&&ue!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var ie=""+N,Me=""+arguments[1];if(!(j=K(this,ie,Me,ue)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(ie,'" - "').concat(Me,'").'))}else if(!(j=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==ue&&j.undirected!==("undirected"===ue))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(ue," edge in the graph."));return j.attributes}}},{name:function(oe){return"has".concat(oe,"Attribute")},attacher:function(oe,me,ue){oe.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==ue&&ue!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Me=""+N,ze=""+j;if(j=arguments[2],!(ie=K(this,Me,ze,ue)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(Me,'" - "').concat(ze,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==ue&&ie.undirected!==("undirected"===ue))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(ue," edge in the graph."));return ie.attributes.hasOwnProperty(j)}}},{name:function(oe){return"set".concat(oe,"Attribute")},attacher:function(oe,me,ue){oe.prototype[me]=function(N,j,ie){var Me;if("mixed"!==this.type&&"mixed"!==ue&&ue!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var ze=""+N,st=""+j;if(j=arguments[2],ie=arguments[3],!(Me=K(this,ze,st,ue)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(ze,'" - "').concat(st,'").'))}else if(!(Me=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==ue&&Me.undirected!==("undirected"===ue))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(ue," edge in the graph."));return Me.attributes[j]=ie,this.emit("edgeAttributesUpdated",{key:Me.key,type:"set",attributes:Me.attributes,name:j}),this}}},{name:function(oe){return"update".concat(oe,"Attribute")},attacher:function(oe,me,ue){oe.prototype[me]=function(N,j,ie){var Me;if("mixed"!==this.type&&"mixed"!==ue&&ue!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var ze=""+N,st=""+j;if(j=arguments[2],ie=arguments[3],!(Me=K(this,ze,st,ue)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(ze,'" - "').concat(st,'").'))}else if(!(Me=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("function"!=typeof ie)throw new ye("Graph.".concat(me,": updater should be a function."));if("mixed"!==ue&&Me.undirected!==("undirected"===ue))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(ue," edge in the graph."));return Me.attributes[j]=ie(Me.attributes[j]),this.emit("edgeAttributesUpdated",{key:Me.key,type:"set",attributes:Me.attributes,name:j}),this}}},{name:function(oe){return"remove".concat(oe,"Attribute")},attacher:function(oe,me,ue){oe.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==ue&&ue!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Me=""+N,ze=""+j;if(j=arguments[2],!(ie=K(this,Me,ze,ue)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(Me,'" - "').concat(ze,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==ue&&ie.undirected!==("undirected"===ue))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(ue," edge in the graph."));return delete ie.attributes[j],this.emit("edgeAttributesUpdated",{key:ie.key,type:"remove",attributes:ie.attributes,name:j}),this}}},{name:function(oe){return"replace".concat(oe,"Attributes")},attacher:function(oe,me,ue){oe.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==ue&&ue!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Me=""+N,ze=""+j;if(j=arguments[2],!(ie=K(this,Me,ze,ue)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(Me,'" - "').concat(ze,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if(!F(j))throw new ye("Graph.".concat(me,": provided attributes are not a plain object."));if("mixed"!==ue&&ie.undirected!==("undirected"===ue))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(ue," edge in the graph."));return ie.attributes=j,this.emit("edgeAttributesUpdated",{key:ie.key,type:"replace",attributes:ie.attributes}),this}}},{name:function(oe){return"merge".concat(oe,"Attributes")},attacher:function(oe,me,ue){oe.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==ue&&ue!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Me=""+N,ze=""+j;if(j=arguments[2],!(ie=K(this,Me,ze,ue)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(Me,'" - "').concat(ze,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if(!F(j))throw new ye("Graph.".concat(me,": provided attributes are not a plain object."));if("mixed"!==ue&&ie.undirected!==("undirected"===ue))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(ue," edge in the graph."));return fe(ie.attributes,j),this.emit("edgeAttributesUpdated",{key:ie.key,type:"merge",attributes:ie.attributes,data:j}),this}}}],xe=se,Ge=function(){var oe,me=arguments,ue=-1;return new xe(function N(){if(!oe){if(++ue>=me.length)return{done:!0};oe=me[ue]}var j=oe.next();return j.done?(oe=null,N()):j})},Se=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Ue(oe,me){for(var ue in me)oe.push(me[ue].key)}function Ke(oe,me){for(var ue in me)me[ue].forEach(function(N){return oe.push(N.key)})}function Be(oe,me,ue){for(var N in oe)if(N!==ue){var j=oe[N];me(j.key,j.attributes,j.source.key,j.target.key,j.source.attributes,j.target.attributes,j.undirected,j.generatedKey)}}function X(oe,me,ue){for(var N in oe)N!==ue&&oe[N].forEach(function(j){return me(j.key,j.attributes,j.source.key,j.target.key,j.source.attributes,j.target.attributes,j.undirected,j.generatedKey)})}function q(oe,me,ue){for(var N in oe)if(N!==ue){var j=oe[N];if(me(j.key,j.attributes,j.source.key,j.target.key,j.source.attributes,j.target.attributes,j.undirected,j.generatedKey))return!0}return!1}function ge(oe,me,ue){var N,j,ie,Me,ze;for(var st in oe)if(st!==ue)for(N=oe[st].values();!0!==(j=N.next()).done;)if(Me=(ie=j.value).source,me(ie.key,ie.attributes,Me.key,(ze=ie.target).key,Me.attributes,ze.attributes,ie.undirected,ie.generatedKey))return!0;return!1}function le(oe,me){var ue=Object.keys(oe),N=ue.length,j=null,ie=0;return new se(function Me(){var ze;if(j){var st=j.next();if(st.done)return j=null,ie++,Me();ze=st.value}else{if(ie>=N)return{done:!0};var Ot=ue[ie];if(Ot===me)return ie++,Me();if((ze=oe[Ot])instanceof Set)return j=ze.values(),Me();ie++}return{done:!1,value:[ze.key,ze.attributes,ze.source.key,ze.target.key,ze.source.attributes,ze.target.attributes]}})}function qe(oe,me,ue){var N=me[ue];N&&oe.push(N.key)}function _t(oe,me,ue){var N=me[ue];N&&N.forEach(function(j){return oe.push(j.key)})}function gt(oe,me,ue){var N=oe[me];if(N){var j=N.source,ie=N.target;ue(N.key,N.attributes,j.key,ie.key,j.attributes,ie.attributes,N.undirected,N.generatedKey)}}function Ae(oe,me,ue){var N=oe[me];N&&N.forEach(function(j){return ue(j.key,j.attributes,j.source.key,j.target.key,j.source.attributes,j.target.attributes,j.undirected,j.generatedKey)})}function U(oe,me,ue){var N=oe[me];if(N){var j=N.source,ie=N.target;return ue(N.key,N.attributes,j.key,ie.key,j.attributes,ie.attributes,N.undirected,N.generatedKey)}}function k(oe,me,ue){var N=oe[me];if(N){for(var j,ie,Me=N.values();!0!==(j=Me.next()).done;)if(ue((ie=j.value).key,ie.attributes,ie.source.key,ie.target.key,ie.source.attributes,ie.target.attributes,ie.undirected,ie.generatedKey))return!0;return!1}}function z(oe,me){var ue=oe[me];if(ue instanceof Set){var N=ue.values();return new se(function(){var j=N.next();if(j.done)return j;var ie=j.value;return{done:!1,value:[ie.key,ie.attributes,ie.source.key,ie.target.key,ie.source.attributes,ie.target.attributes]}})}return se.of([ue.key,ue.attributes,ue.source.key,ue.target.key,ue.source.attributes,ue.target.attributes])}function Le(oe,me){if(0===oe.size)return[];if("mixed"===me||me===oe.type)return"function"==typeof Array.from?Array.from(oe._edges.keys()):te(oe._edges.keys(),oe._edges.size);for(var ue,N,ie=new Array("undirected"===me?oe.undirectedSize:oe.directedSize),Me="undirected"===me,ze=oe._edges.values(),st=0;!0!==(ue=ze.next()).done;)(N=ue.value).undirected===Me&&(ie[st++]=N.key);return ie}function nt(oe,me,ue){if(0!==oe.size)for(var N,j,ie="mixed"!==me&&me!==oe.type,Me="undirected"===me,ze=oe._edges.values();!0!==(N=ze.next()).done;)if(j=N.value,!ie||j.undirected===Me){var Wt=j.source,Ct=j.target;ue(j.key,j.attributes,Wt.key,Ct.key,Wt.attributes,Ct.attributes,j.undirected,j.generatedKey)}}function xt(oe,me,ue){if(0!==oe.size)for(var N,j,ie="mixed"!==me&&me!==oe.type,Me="undirected"===me,ze=oe._edges.values();!0!==(N=ze.next()).done;)if(j=N.value,!ie||j.undirected===Me){var Wt=j.source,Ct=j.target;if(ue(j.key,j.attributes,Wt.key,Ct.key,Wt.attributes,Ct.attributes,j.undirected,j.generatedKey))break}}function Nt(oe,me){if(0===oe.size)return se.empty();var ue="mixed"!==me&&me!==oe.type,N="undirected"===me,j=oe._edges.values();return new se(function(){for(var ie,Me;;){if((ie=j.next()).done)return ie;if(Me=ie.value,!ue||Me.undirected===N)break}return{value:[Me.key,Me.attributes,Me.source.key,Me.target.key,Me.source.attributes,Me.target.attributes],done:!1}})}function On(oe,me,ue,N){var j=[],ie=oe?Ke:Ue;return"undirected"!==me&&("out"!==ue&&ie(j,N.in),"in"!==ue&&ie(j,N.out),!ue&&N.directedSelfLoops>0&&j.splice(j.lastIndexOf(N.key),1)),"directed"!==me&&ie(j,N.undirected),j}function kn(oe,me,ue,N,j){var ie=oe?X:Be;"undirected"!==me&&("out"!==ue&&ie(N.in,j),"in"!==ue&&ie(N.out,j,ue?null:N.key)),"directed"!==me&&ie(N.undirected,j)}function Yn(oe,me,ue,N,j){var ie=oe?ge:q;"undirected"!==me&&("out"!==ue&&ie(N.in,j)||"in"!==ue&&ie(N.out,j,ue?null:N.key))||"directed"===me||ie(N.undirected,j)}function Ti(oe,me,ue){var N=se.empty();return"undirected"!==oe&&("out"!==me&&void 0!==ue.in&&(N=Ge(N,le(ue.in))),"in"!==me&&void 0!==ue.out&&(N=Ge(N,le(ue.out,me?null:ue.key)))),"directed"!==oe&&void 0!==ue.undirected&&(N=Ge(N,le(ue.undirected))),N}function wi(oe,me,ue,N,j){var ie=me?_t:qe,Me=[];return"undirected"!==oe&&(void 0!==N.in&&"out"!==ue&&ie(Me,N.in,j),void 0!==N.out&&"in"!==ue&&ie(Me,N.out,j),!ue&&N.directedSelfLoops>0&&Me.splice(Me.lastIndexOf(N.key),1)),"directed"!==oe&&void 0!==N.undirected&&ie(Me,N.undirected,j),Me}function Xr(oe,me,ue,N,j,ie){var Me=me?Ae:gt;"undirected"!==oe&&(void 0!==N.in&&"out"!==ue&&Me(N.in,j,ie),N.key!==j&&void 0!==N.out&&"in"!==ue&&Me(N.out,j,ie)),"directed"!==oe&&void 0!==N.undirected&&Me(N.undirected,j,ie)}function Ls(oe,me,ue,N,j,ie){var Me=me?k:U;"undirected"!==oe&&(void 0!==N.in&&"out"!==ue&&Me(N.in,j,ie)||N.key!==j&&void 0!==N.out&&"in"!==ue&&Me(N.out,j,ie,ue?null:N.key))||"directed"===oe||void 0===N.undirected||Me(N.undirected,j,ie)}function gs(oe,me,ue,N){var j=se.empty();return"undirected"!==oe&&(void 0!==ue.in&&"out"!==me&&N in ue.in&&(j=Ge(j,z(ue.in,N))),void 0!==ue.out&&"in"!==me&&N in ue.out&&(j=Ge(j,z(ue.out,N)))),"directed"!==oe&&void 0!==ue.undirected&&N in ue.undirected&&(j=Ge(j,z(ue.undirected,N))),j}var Bs=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Qr(oe,me){if(void 0!==me)for(var ue in me)oe.add(ue)}function el(oe,me,ue){if("mixed"!==oe){if("undirected"===oe)return Object.keys(ue.undirected);if("string"==typeof me)return Object.keys(ue[me])}var N=new Set;return"undirected"!==oe&&("out"!==me&&Qr(N,ue.in),"in"!==me&&Qr(N,ue.out)),"directed"!==oe&&Qr(N,ue.undirected),te(N.values(),N.size)}function kl(oe,me,ue){for(var N in me){var j=me[N];j instanceof Set&&(j=j.values().next().value);var ie=j.source,ze=ie===oe?j.target:ie;ue(ze.key,ze.attributes)}}function Sa(oe,me,ue,N){for(var j in ue){var ie=ue[j];ie instanceof Set&&(ie=ie.values().next().value);var Me=ie.source,st=Me===me?ie.target:Me;oe.has(st.key)||(oe.add(st.key),N(st.key,st.attributes))}}function Es(oe,me,ue){for(var N in me){var j=me[N];j instanceof Set&&(j=j.values().next().value);var ie=j.source,ze=ie===oe?j.target:ie;if(ue(ze.key,ze.attributes))return!0}return!1}function Jt(oe,me,ue,N){for(var j in ue){var ie=ue[j];ie instanceof Set&&(ie=ie.values().next().value);var Me=ie.source,st=Me===me?ie.target:Me;if(!oe.has(st.key)&&(oe.add(st.key),N(st.key,st.attributes)))return!0}return!1}function tl(oe,me){var ue=Object.keys(me),N=ue.length,j=0;return new se(function(){if(j>=N)return{done:!0};var ie=me[ue[j++]];ie instanceof Set&&(ie=ie.values().next().value);var Me=ie.source,st=Me===oe?ie.target:Me;return{done:!1,value:[st.key,st.attributes]}})}function ot(oe,me,ue){var N=Object.keys(ue),j=N.length,ie=0;return new se(function Me(){if(ie>=j)return{done:!0};var ze=ue[N[ie++]];ze instanceof Set&&(ze=ze.values().next().value);var st=ze.source,et=st===me?ze.target:st;return oe.has(et.key)?Me():(oe.add(et.key),{done:!1,value:[et.key,et.attributes]})})}function ut(oe,me,ue,N,j){var ie=oe._nodes.get(N);if("undirected"!==me){if("out"!==ue&&void 0!==ie.in)for(var Me in ie.in)if(Me===j)return!0;if("in"!==ue&&void 0!==ie.out)for(var ze in ie.out)if(ze===j)return!0}if("directed"!==me&&void 0!==ie.undirected)for(var st in ie.undirected)if(st===j)return!0;return!1}function $e(oe,me,ue){for(var N,j,ie,Me,ze,st,Ot,et=me._nodes.values(),Wt=me.type;!0!==(N=et.next()).done;){if(j=N.value,"undirected"!==Wt)for(ie in Me=j.out)if(st=(ze=Me[ie]).target,Ot=ue(j.key,st.key,j.attributes,st.attributes,ze.key,ze.attributes,ze.undirected,ze.generatedKey),oe&&Ot)return;if("directed"!==Wt)for(ie in Me=j.undirected)if((st=(ze=Me[ie]).target).key!==ie&&(st=ze.source),Ot=ue(j.key,st.key,j.attributes,st.attributes,ze.key,ze.attributes,ze.undirected,ze.generatedKey),oe&&Ot)return}}function ht(oe,me,ue){for(var N,j,ie,Me,ze,st,Ot,et,Wt,Ct=me._nodes.values(),vn=me.type;!0!==(N=Ct.next()).done;){if(j=N.value,"undirected"!==vn)for(ie in st=j.out)for(Me=st[ie].values();!0!==(ze=Me.next()).done;)if(et=(Ot=ze.value).target,Wt=ue(j.key,et.key,j.attributes,et.attributes,Ot.key,Ot.attributes,Ot.undirected,Ot.generatedKey),oe&&Wt)return;if("directed"!==vn)for(ie in st=j.undirected)for(Me=st[ie].values();!0!==(ze=Me.next()).done;)if((et=(Ot=ze.value).target).key!==ie&&(et=Ot.source),Wt=ue(j.key,et.key,j.attributes,et.attributes,Ot.key,Ot.attributes,Ot.undirected,Ot.generatedKey),oe&&Wt)return}}function it(oe,me){var ue={key:oe};return Y(me.attributes)||(ue.attributes=fe({},me.attributes)),ue}function Tt(oe,me){var ue={source:me.source.key,target:me.target.key};return me.generatedKey||(ue.key=oe),Y(me.attributes)||(ue.attributes=fe({},me.attributes)),me.undirected&&(ue.undirected=!0),ue}function Mt(oe){return F(oe)?"key"in oe?!("attributes"in oe)||F(oe.attributes)&&null!==oe.attributes?null:"invalid-attributes":"no-key":"not-object"}function Dt(oe){return F(oe)?"source"in oe?"target"in oe?!("attributes"in oe)||F(oe.attributes)&&null!==oe.attributes?"undirected"in oe&&"boolean"!=typeof oe.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var Xt=new Set(["directed","undirected","mixed"]),zn=new Set(["domain","_events","_eventsCount","_maxListeners"]),ai={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Nn(oe,me,ue){var N=new oe.NodeDataClass(me,ue);return oe._nodes.set(me,N),oe.emit("nodeAdded",{key:me,attributes:ue}),N}function bn(oe,me,ue,N,j,ie,Me,ze){if(!N&&"undirected"===oe.type)throw new ve("Graph.".concat(me,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(N&&"directed"===oe.type)throw new ve("Graph.".concat(me,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(ze&&!F(ze))throw new ye("Graph.".concat(me,': invalid attributes. Expecting an object but got "').concat(ze,'"'));if(ie=""+ie,Me=""+Me,ze=ze||{},!oe.allowSelfLoops&&ie===Me)throw new ve("Graph.".concat(me,': source & target are the same ("').concat(ie,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var st=oe._nodes.get(ie),Ot=oe._nodes.get(Me);if(!st)throw new re("Graph.".concat(me,': source node "').concat(ie,'" not found.'));if(!Ot)throw new re("Graph.".concat(me,': target node "').concat(Me,'" not found.'));var et={key:null,undirected:N,source:ie,target:Me,attributes:ze};if(ue&&(j=oe._edgeKeyGenerator(et)),oe._edges.has(j=""+j))throw new ve("Graph.".concat(me,': the "').concat(j,'" edge already exists in the graph.'));if(!oe.multi&&(N?void 0!==st.undirected[Me]:void 0!==st.out[Me]))throw new ve("Graph.".concat(me,': an edge linking "').concat(ie,'" to "').concat(Me,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var Wt=new J(N,j,ue,st,Ot,ze);return oe._edges.set(j,Wt),ie===Me?N?(st.undirectedSelfLoops++,oe._undirectedSelfLoopCount++):(st.directedSelfLoops++,oe._directedSelfLoopCount++):N?(st.undirectedDegree++,Ot.undirectedDegree++):(st.outDegree++,Ot.inDegree++),ae(oe,N,Wt,ie,Me,st,Ot),N?oe._undirectedSize++:oe._directedSize++,et.key=j,oe.emit("edgeAdded",et),j}function $n(oe,me,ue,N,j,ie,Me,ze,st){if(!N&&"undirected"===oe.type)throw new ve("Graph.".concat(me,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(N&&"directed"===oe.type)throw new ve("Graph.".concat(me,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(ze)if(st){if("function"!=typeof ze)throw new ye("Graph.".concat(me,': invalid updater function. Expecting a function but got "').concat(ze,'"'))}else if(!F(ze))throw new ye("Graph.".concat(me,': invalid attributes. Expecting an object but got "').concat(ze,'"'));var Ot;if(ie=""+ie,Me=""+Me,st&&(Ot=ze,ze=void 0),!oe.allowSelfLoops&&ie===Me)throw new ve("Graph.".concat(me,': source & target are the same ("').concat(ie,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var et,Wt,Ct=oe._nodes.get(ie),vn=oe._nodes.get(Me);if(!ue&&(et=oe._edges.get(j))){if(et.source.key!==ie||et.target.key!==Me||N&&(et.source.key!==Me||et.target.key!==ie))throw new ve("Graph.".concat(me,': inconsistency detected when attempting to merge the "').concat(j,'" edge with "').concat(ie,'" source & "').concat(Me,'" target vs. ("').concat(et.source.key,'", "').concat(et.target.key,'").'));Wt=et}if(Wt||oe.multi||!Ct||(Wt=N?Ct.undirected[Me]:Ct.out[Me]),Wt)return(st?Ot:ze)?(st?(Wt.attributes=Ot(Wt.attributes),oe.emit("edgeAttributesUpdated",{type:"replace",key:Wt.key,attributes:Wt.attributes})):(fe(Wt.attributes,ze),oe.emit("edgeAttributesUpdated",{type:"merge",key:Wt.key,attributes:Wt.attributes,data:ze})),Wt.key):Wt.key;ze=ze||{},st&&Ot&&(ze=Ot(ze));var Jr={key:null,undirected:N,source:ie,target:Me,attributes:ze};if(ue&&(j=oe._edgeKeyGenerator(Jr)),oe._edges.has(j=""+j))throw new ve("Graph.".concat(me,': the "').concat(j,'" edge already exists in the graph.'));return Ct||(Ct=Nn(oe,ie,{}),ie===Me&&(vn=Ct)),vn||(vn=Nn(oe,Me,{})),et=new J(N,j,ue,Ct,vn,ze),oe._edges.set(j,et),ie===Me?N?(Ct.undirectedSelfLoops++,oe._undirectedSelfLoopCount++):(Ct.directedSelfLoops++,oe._directedSelfLoopCount++):N?(Ct.undirectedDegree++,vn.undirectedDegree++):(Ct.outDegree++,vn.inDegree++),ae(oe,N,et,ie,Me,Ct,vn),N?oe._undirectedSize++:oe._directedSize++,Jr.key=j,oe.emit("edgeAdded",Jr),j}var oe,Tn=function(oe){function me(N){var j;if(j=oe.call(this)||this,(N=fe({},ai,N)).edgeKeyGenerator&&"function"!=typeof N.edgeKeyGenerator)throw new ye("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(N.edgeKeyGenerator,'".'));if("boolean"!=typeof N.multi)throw new ye("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(N.multi,'".'));if(!Xt.has(N.type))throw new ye('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(N.type,'".'));if("boolean"!=typeof N.allowSelfLoops)throw new ye("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(N.allowSelfLoops,'".'));var ie,Me="mixed"===N.type?Fe:"directed"===N.type?Qe:He;return L(we(j),"NodeDataClass",Me),L(we(j),"_attributes",{}),L(we(j),"_nodes",new Map),L(we(j),"_edges",new Map),L(we(j),"_directedSize",0),L(we(j),"_undirectedSize",0),L(we(j),"_directedSelfLoopCount",0),L(we(j),"_undirectedSelfLoopCount",0),L(we(j),"_edgeKeyGenerator",N.edgeKeyGenerator||(ie=0,function(){return ie++})),L(we(j),"_options",N),zn.forEach(function(ze){return L(we(j),ze,j[ze])}),w(we(j),"order",function(){return j._nodes.size}),w(we(j),"size",function(){return j._edges.size}),w(we(j),"directedSize",function(){return j._directedSize}),w(we(j),"undirectedSize",function(){return j._undirectedSize}),w(we(j),"selfLoopCount",function(){return j._directedSelfLoopCount+j._undirectedSelfLoopCount}),w(we(j),"directedSelfLoopCount",function(){return j._directedSelfLoopCount}),w(we(j),"undirectedSelfLoopCount",function(){return j._undirectedSelfLoopCount}),w(we(j),"multi",j._options.multi),w(we(j),"type",j._options.type),w(we(j),"allowSelfLoops",j._options.allowSelfLoops),w(we(j),"implementation",function(){return"graphology"}),j}Je(me,oe);var ue=me.prototype;return ue.hasNode=function(N){return this._nodes.has(""+N)},ue.hasDirectedEdge=function(N,j){if("undirected"===this.type)return!1;if(1===arguments.length){var Me=this._edges.get(""+N);return!!Me&&!Me.undirected}if(2===arguments.length){j=""+j;var ze=this._nodes.get(N=""+N);if(!ze)return!1;var st=ze.out[j];return!(!st||this.multi&&!st.size)}throw new ye("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},ue.hasUndirectedEdge=function(N,j){if("directed"===this.type)return!1;if(1===arguments.length){var Me=this._edges.get(""+N);return!!Me&&Me.undirected}if(2===arguments.length){j=""+j;var ze=this._nodes.get(N=""+N);if(!ze)return!1;var st=ze.undirected[j];return!(!st||this.multi&&!st.size)}throw new ye("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},ue.hasEdge=function(N,j){if(1===arguments.length)return this._edges.has(""+N);if(2===arguments.length){j=""+j;var Me=this._nodes.get(N=""+N);if(!Me)return!1;var ze=void 0!==Me.out&&Me.out[j];return ze||(ze=void 0!==Me.undirected&&Me.undirected[j]),!(!ze||this.multi&&!ze.size)}throw new ye("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},ue.directedEdge=function(N,j){if("undirected"!==this.type){if(N=""+N,j=""+j,this.multi)throw new ve("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var ie=this._nodes.get(N);if(!ie)throw new re('Graph.directedEdge: could not find the "'.concat(N,'" source node in the graph.'));if(!this._nodes.has(j))throw new re('Graph.directedEdge: could not find the "'.concat(j,'" target node in the graph.'));var Me=ie.out&&ie.out[j]||void 0;return Me?Me.key:void 0}},ue.undirectedEdge=function(N,j){if("directed"!==this.type){if(N=""+N,j=""+j,this.multi)throw new ve("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var ie=this._nodes.get(N);if(!ie)throw new re('Graph.undirectedEdge: could not find the "'.concat(N,'" source node in the graph.'));if(!this._nodes.has(j))throw new re('Graph.undirectedEdge: could not find the "'.concat(j,'" target node in the graph.'));var Me=ie.undirected&&ie.undirected[j]||void 0;return Me?Me.key:void 0}},ue.edge=function(N,j){if(this.multi)throw new ve("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");j=""+j;var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.edge: could not find the "'.concat(N,'" source node in the graph.'));if(!this._nodes.has(j))throw new re('Graph.edge: could not find the "'.concat(j,'" target node in the graph.'));var Me=ie.out&&ie.out[j]||ie.undirected&&ie.undirected[j]||void 0;if(Me)return Me.key},ue.inDegree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new ye('Graph.inDegree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.inDegree: could not find the "'.concat(N,'" node in the graph.'));return"undirected"===this.type?0:ie.inDegree+(j?ie.directedSelfLoops:0)},ue.outDegree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new ye('Graph.outDegree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.outDegree: could not find the "'.concat(N,'" node in the graph.'));return"undirected"===this.type?0:ie.outDegree+(j?ie.directedSelfLoops:0)},ue.directedDegree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new ye('Graph.directedDegree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.directedDegree: could not find the "'.concat(N,'" node in the graph.'));if("undirected"===this.type)return 0;var Me=j?ie.directedSelfLoops:0;return ie.inDegree+Me+(ie.outDegree+Me)},ue.undirectedDegree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new ye('Graph.undirectedDegree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.undirectedDegree: could not find the "'.concat(N,'" node in the graph.'));return"directed"===this.type?0:ie.undirectedDegree+2*(j?ie.undirectedSelfLoops:0)},ue.degree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new ye('Graph.degree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.degree: could not find the "'.concat(N,'" node in the graph.'));var Me=0,ze=0;return"directed"!==this.type&&(j&&(ze=ie.undirectedSelfLoops),Me+=ie.undirectedDegree+2*ze),"undirected"!==this.type&&(j&&(ze=ie.directedSelfLoops),Me+=ie.inDegree+ie.outDegree+2*ze),Me},ue.source=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.source: could not find the "'.concat(N,'" edge in the graph.'));return j.source.key},ue.target=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.target: could not find the "'.concat(N,'" edge in the graph.'));return j.target.key},ue.extremities=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.extremities: could not find the "'.concat(N,'" edge in the graph.'));return[j.source.key,j.target.key]},ue.opposite=function(N,j){N=""+N;var ie=this._edges.get(j=""+j);if(!ie)throw new re('Graph.opposite: could not find the "'.concat(j,'" edge in the graph.'));var Me=ie.source.key,ze=ie.target.key;if(N!==Me&&N!==ze)throw new re('Graph.opposite: the "'.concat(N,'" node is not attached to the "').concat(j,'" edge (').concat(Me,", ").concat(ze,")."));return N===Me?ze:Me},ue.hasExtremity=function(N,j){j=""+j;var ie=this._edges.get(N=""+N);if(!ie)throw new re('Graph.hasExtremity: could not find the "'.concat(N,'" edge in the graph.'));return ie.source.key===j||ie.target.key===j},ue.isUndirected=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.isUndirected: could not find the "'.concat(N,'" edge in the graph.'));return j.undirected},ue.isDirected=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.isDirected: could not find the "'.concat(N,'" edge in the graph.'));return!j.undirected},ue.isSelfLoop=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.isSelfLoop: could not find the "'.concat(N,'" edge in the graph.'));return j.source===j.target},ue.hasGeneratedKey=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.hasGeneratedKey: could not find the "'.concat(N,'" edge in the graph.'));return j.generatedKey},ue.addNode=function(N,j){return function(ie,Me,ze){if(ze&&!F(ze))throw new ye('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(ze,'"'));if(ze=ze||{},ie._nodes.has(Me=""+Me))throw new ve('Graph.addNode: the "'.concat(Me,'" node already exist in the graph.'));var st=new ie.NodeDataClass(Me,ze);return ie._nodes.set(Me,st),ie.emit("nodeAdded",{key:Me,attributes:ze}),st}(this,N,j).key},ue.mergeNode=function(N,j){if(j&&!F(j))throw new ye('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(j,'"'));j=j||{};var ie=this._nodes.get(N=""+N);return ie?(j&&(fe(ie.attributes,j),this.emit("nodeAttributesUpdated",{type:"merge",key:N,attributes:ie.attributes,data:j})),N):(ie=new this.NodeDataClass(N,j),this._nodes.set(N,ie),this.emit("nodeAdded",{key:N,attributes:j}),N)},ue.updateNode=function(N,j){if(j&&"function"!=typeof j)throw new ye('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(j,'"'));var ie=this._nodes.get(N=""+N);if(ie)return j&&(ie.attributes=j(ie.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:N,attributes:ie.attributes})),N;var ze=j?j({}):{};return ie=new this.NodeDataClass(N,ze),this._nodes.set(N,ie),this.emit("nodeAdded",{key:N,attributes:ze}),N},ue.dropNode=function(N){var j=this,ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.dropNode: could not find the "'.concat(N,'" node in the graph.'));this.forEachEdge(N,function(Me){j.dropEdge(Me)}),this._nodes.delete(N),this.emit("nodeDropped",{key:N,attributes:ie.attributes})},ue.dropEdge=function(N){var j;if(arguments.length>1){var ie=""+arguments[0],Me=""+arguments[1];if(!(j=K(this,ie,Me,this.type)))throw new re('Graph.dropEdge: could not find the "'.concat(ie,'" -> "').concat(Me,'" edge in the graph.'))}else if(!(j=this._edges.get(N=""+N)))throw new re('Graph.dropEdge: could not find the "'.concat(N,'" edge in the graph.'));this._edges.delete(j.key);var st=j.source,Ot=j.target,et=j.attributes,Wt=j.undirected;return st===Ot?Wt?(st.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(st.directedSelfLoops--,this._directedSelfLoopCount--):Wt?(st.undirectedDegree--,Ot.undirectedDegree--):(st.outDegree--,Ot.inDegree--),_e(this,Wt,j),Wt?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:N,attributes:et,source:st.key,target:Ot.key,undirected:Wt}),this},ue.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},ue.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},ue.getAttribute=function(N){return this._attributes[N]},ue.getAttributes=function(){return this._attributes},ue.hasAttribute=function(N){return this._attributes.hasOwnProperty(N)},ue.setAttribute=function(N,j){return this._attributes[N]=j,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:N}),this},ue.updateAttribute=function(N,j){if("function"!=typeof j)throw new ye("Graph.updateAttribute: updater should be a function.");return this._attributes[N]=j(this._attributes[N]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:N}),this},ue.removeAttribute=function(N){return delete this._attributes[N],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:N}),this},ue.replaceAttributes=function(N){if(!F(N))throw new ye("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=N,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},ue.mergeAttributes=function(N){if(!F(N))throw new ye("Graph.mergeAttributes: provided attributes are not a plain object.");return fe(this._attributes,N),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:N}),this},ue.getNodeAttribute=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.getNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));return ie.attributes[j]},ue.getNodeAttributes=function(N){var j=this._nodes.get(N=""+N);if(!j)throw new re('Graph.getNodeAttributes: could not find the "'.concat(N,'" node in the graph.'));return j.attributes},ue.hasNodeAttribute=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.hasNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));return ie.attributes.hasOwnProperty(j)},ue.setNodeAttribute=function(N,j,ie){var Me=this._nodes.get(N=""+N);if(!Me)throw new re('Graph.setNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));if(arguments.length<3)throw new ye("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return Me.attributes[j]=ie,this.emit("nodeAttributesUpdated",{key:N,type:"set",attributes:Me.attributes,name:j}),this},ue.updateNodeAttribute=function(N,j,ie){var Me=this._nodes.get(N=""+N);if(!Me)throw new re('Graph.updateNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));if(arguments.length<3)throw new ye("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof ie)throw new ye("Graph.updateAttribute: updater should be a function.");var ze=Me.attributes,st=ie(ze[j]);return ze[j]=st,this.emit("nodeAttributesUpdated",{key:N,type:"set",attributes:Me.attributes,name:j}),this},ue.removeNodeAttribute=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.hasNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));return delete ie.attributes[j],this.emit("nodeAttributesUpdated",{key:N,type:"remove",attributes:ie.attributes,name:j}),this},ue.replaceNodeAttributes=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.replaceNodeAttributes: could not find the "'.concat(N,'" node in the graph.'));if(!F(j))throw new ye("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return ie.attributes=j,this.emit("nodeAttributesUpdated",{key:N,type:"replace",attributes:ie.attributes}),this},ue.mergeNodeAttributes=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.mergeNodeAttributes: could not find the "'.concat(N,'" node in the graph.'));if(!F(j))throw new ye("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return fe(ie.attributes,j),this.emit("nodeAttributesUpdated",{key:N,type:"merge",attributes:ie.attributes,data:j}),this},ue.updateEachNodeAttributes=function(N,j){if("function"!=typeof N)throw new ye("Graph.updateEachNodeAttributes: expecting an updater function.");if(j&&!C(j))throw new ye("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var ie,Me,ze=this._nodes.values();!0!==(ie=ze.next()).done;)(Me=ie.value).attributes=N(Me.key,Me.attributes);this.emit("eachNodeAttributesUpdated",{hints:j||null})},ue.updateEachEdgeAttributes=function(N,j){if("function"!=typeof N)throw new ye("Graph.updateEachEdgeAttributes: expecting an updater function.");if(j&&!C(j))throw new ye("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var ie,Me,ze=this._edges.values();!0!==(ie=ze.next()).done;)(Me=ie.value).attributes=N(Me.key,Me.attributes);this.emit("eachEdgeAttributesUpdated",{hints:j||null})},ue.forEach=function(N){if("function"!=typeof N)throw new ye("Graph.forEach: expecting a callback.");this.multi?ht(!1,this,N):$e(!1,this,N)},ue.forEachUntil=function(N){if("function"!=typeof N)throw new ye("Graph.forEach: expecting a callback.");this.multi?ht(!0,this,N):$e(!0,this,N)},ue.adjacency=function(){return this.multi?(st=(N=this)._nodes.values(),Ot=N.type,et="outer",Wt=null,new se(function Ct(){var vn;if("outer"===et)return!0===(vn=st.next()).done?vn:(j=vn.value,et="directed",Ct());if("directed"===et)return"undirected"===Ot?(et="undirected",Ct()):(Me=j.out,ie=Object.keys(j.out),ze=0,et="inner-directed",Ct());if("undirected"===et){if("directed"===Ot)return et="outer",Ct();Me=j.undirected,ie=Object.keys(j.undirected),ze=0,et="inner-undirected"}if(!Wt&&ze>=ie.length)return et="inner-undirected"===et?"outer":"undirected",Ct();if(!Wt){var Ss=ie[ze++];return Wt=Me[Ss].values(),Ct()}if((vn=Wt.next()).done)return Wt=null,Ct();var Jr=vn.value,Qs=Jr.target;return"inner-undirected"===et&&Qs.key===j.key&&(Qs=Jr.source),{done:!1,value:[j.key,Qs.key,j.attributes,Qs.attributes,Jr.key,Jr.attributes]}})):(Ll=(Ct=this)._nodes.values(),po=Ct.type,jr="outer",new se(function js(){var xc;if("outer"===jr)return!0===(xc=Ll.next()).done?xc:(vn=xc.value,jr="directed",js());if("directed"===jr)return"undirected"===po?(jr="undirected",js()):(Jr=vn.out,Ss=Object.keys(vn.out),Qs=0,jr="inner-directed",js());if("undirected"===jr){if("directed"===po)return jr="outer",js();Jr=vn.undirected,Ss=Object.keys(vn.undirected),Qs=0,jr="inner-undirected"}if(Qs>=Ss.length)return jr="inner-undirected"===jr?"outer":"undirected",js();var Sn=Ss[Qs++],go=Jr[Sn],Bl=go.target;return"inner-undirected"===jr&&Bl.key===vn.key&&(Bl=go.source),{done:!1,value:[vn.key,Bl.key,vn.attributes,Bl.attributes,go.key,go.attributes]}}));var Ct,vn,Ss,Jr,Qs,Ll,po,jr,N,j,ie,Me,ze,st,Ot,et,Wt},ue.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):te(this._nodes.keys(),this._nodes.size)},ue.forEachNode=function(N){if("function"!=typeof N)throw new ye("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(j,ie){N(ie,j.attributes)})},ue.forEachNodeUntil=function(N){if("function"!=typeof N)throw new ye("Graph.forEachNode: expecting a callback.");for(var j,ie,Me=this._nodes.values();!0!==(j=Me.next())&&!N((ie=j.value).key,ie.attributes););},ue.nodeEntries=function(){var N=this._nodes.values();return new se(function(){var j=N.next();if(j.done)return j;var ie=j.value;return{value:[ie.key,ie.attributes],done:!1}})},ue.exportNode=function(N){var j=this._nodes.get(N=""+N);if(!j)throw new re('Graph.exportNode: could not find the "'.concat(N,'" node in the graph.'));return it(N,j)},ue.exportEdge=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.exportEdge: could not find the "'.concat(N,'" edge in the graph.'));return Tt(N,j)},ue.export=function(){var N=new Array(this._nodes.size),j=0;this._nodes.forEach(function(Me,ze){N[j++]=it(ze,Me)});var ie=new Array(this._edges.size);return j=0,this._edges.forEach(function(Me,ze){ie[j++]=Tt(ze,Me)}),{attributes:this.getAttributes(),nodes:N,edges:ie,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},ue.importNode=function(N){var j=arguments.length>1&&void 0!==arguments[1]&&arguments[1],ie=Mt(N);if(ie){if("not-object"===ie)throw new ye('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===ie)throw new ye("Graph.importNode: no key provided.");if("invalid-attributes"===ie)throw new ye("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var Me=N.key,ze=N.attributes,st=void 0===ze?{}:ze;return j?this.mergeNode(Me,st):this.addNode(Me,st),this},ue.importEdge=function(N){var j=arguments.length>1&&void 0!==arguments[1]&&arguments[1],ie=Dt(N);if(ie){if("not-object"===ie)throw new ye('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===ie)throw new ye("Graph.importEdge: missing souce.");if("no-target"===ie)throw new ye("Graph.importEdge: missing target.");if("invalid-attributes"===ie)throw new ye("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===ie)throw new ye("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var Me=N.source,ze=N.target,st=N.attributes,Ot=void 0===st?{}:st,et=N.undirected,Wt=void 0!==et&&et;return"key"in N?(j?Wt?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:Wt?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,N.key,Me,ze,Ot):(j?Wt?this.mergeUndirectedEdge:this.mergeDirectedEdge:Wt?this.addUndirectedEdge:this.addDirectedEdge).call(this,Me,ze,Ot),this},ue.import=function(N){var j,ie,Me,ze=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(V(N))return this.import(N.export(),ze),this;if(!F(N))throw new ye("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(N.attributes){if(!F(N.attributes))throw new ye("Graph.import: invalid attributes. Expecting a plain object.");ze?this.mergeAttributes(N.attributes):this.replaceAttributes(N.attributes)}if(N.nodes){if(Me=N.nodes,!Array.isArray(Me))throw new ye("Graph.import: invalid nodes. Expecting an array.");for(j=0,ie=Me.length;jie)){var Ot=new Set;Ot.add(j.undirected[st]),j.undirected[st]=Ot,N._nodes.get(st).undirected[ie]=Ot}})),this;var N},ue.clearIndex=function(){return this._nodes.forEach(function(N){void 0!==N.in&&(N.in={},N.out={}),void 0!==N.undirected&&(N.undirected={})}),this},ue.toJSON=function(){return this.export()},ue.toString=function(){return"[object Graph]"},ue.inspect=function(){var N=this,j={};this._nodes.forEach(function(Ot,et){j[et]=Ot.attributes});var ie={},Me={};this._edges.forEach(function(Ot,et){var Wt=Ot.undirected?"--":"->",Ct="",vn="(".concat(Ot.source.key,")").concat(Wt,"(").concat(Ot.target.key,")");Ot.generatedKey?N.multi&&(void 0===Me[vn]?Me[vn]=0:Me[vn]++,Ct+="".concat(Me[vn],". ")):Ct+="[".concat(et,"]: "),ie[Ct+=vn]=Ot.attributes});var ze={};for(var st in this)this.hasOwnProperty(st)&&!zn.has(st)&&"function"!=typeof this[st]&&(ze[st]=this[st]);return ze.attributes=this._attributes,ze.nodes=j,ze.edges=ie,L(ze,"constructor",this.constructor),ze},me}(T.exports.EventEmitter);"undefined"!=typeof Symbol&&(Tn.prototype[Symbol.for("nodejs.util.inspect.custom")]=Tn.prototype.inspect),[{name:function(oe){return"".concat(oe,"Edge")},generateKey:!0},{name:function(oe){return"".concat(oe,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(oe){return"".concat(oe,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(oe){return"".concat(oe,"EdgeWithKey")}},{name:function(oe){return"".concat(oe,"DirectedEdgeWithKey")},type:"directed"},{name:function(oe){return"".concat(oe,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(oe){["add","merge","update"].forEach(function(me){var ue=oe.name(me),N="add"===me?bn:$n;Tn.prototype[ue]=oe.generateKey?function(j,ie,Me){return N(this,ue,!0,"undirected"===(oe.type||this.type),null,j,ie,Me,"update"===me)}:function(j,ie,Me,ze){return N(this,ue,!1,"undirected"===(oe.type||this.type),j,ie,Me,ze,"update"===me)}})}),"undefined"!=typeof Symbol&&(Tn.prototype[Symbol.iterator]=Tn.prototype.adjacency),oe=Tn,Te.forEach(function(me){var ue=me.name,N=me.attacher;N(oe,ue("Edge"),"mixed"),N(oe,ue("DirectedEdge"),"directed"),N(oe,ue("UndirectedEdge"),"undirected")}),function(oe){Se.forEach(function(me){var N,j,ie,Me;ie=(N=me).type,Me=N.direction,oe.prototype[j=N.name]=function(ze,st){if("mixed"!==ie&&"mixed"!==this.type&&ie!==this.type)return[];if(!arguments.length)return Le(this,ie);if(1===arguments.length){var Ot=this._nodes.get(ze=""+ze);if(void 0===Ot)throw new re("Graph.".concat(j,': could not find the "').concat(ze,'" node in the graph.'));return On(this.multi,"mixed"===ie?this.type:ie,Me,Ot)}if(2===arguments.length){st=""+st;var et=this._nodes.get(ze=""+ze);if(!et)throw new re("Graph.".concat(j,': could not find the "').concat(ze,'" source node in the graph.'));if(!this._nodes.has(st))throw new re("Graph.".concat(j,': could not find the "').concat(st,'" target node in the graph.'));return wi(ie,this.multi,Me,et,st)}throw new ye("Graph.".concat(j,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(ue,N){var j=N.name,ie=N.type,Me=N.direction,ze="forEach"+j[0].toUpperCase()+j.slice(1,-1);ue.prototype[ze]=function(st,Ot,et){if("mixed"===ie||"mixed"===this.type||ie===this.type){if(1===arguments.length)return nt(this,ie,et=st);if(2===arguments.length){et=Ot;var Wt=this._nodes.get(st=""+st);if(void 0===Wt)throw new re("Graph.".concat(ze,': could not find the "').concat(st,'" node in the graph.'));return kn(this.multi,"mixed"===ie?this.type:ie,Me,Wt,et)}if(3===arguments.length){Ot=""+Ot;var Ct=this._nodes.get(st=""+st);if(!Ct)throw new re("Graph.".concat(ze,': could not find the "').concat(st,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new re("Graph.".concat(ze,': could not find the "').concat(Ot,'" target node in the graph.'));return Xr(ie,this.multi,Me,Ct,Ot,et)}throw new ye("Graph.".concat(ze,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(oe,me),function(ue,N){var j=N.name,ie=N.type,Me=N.direction,ze="forEach"+j[0].toUpperCase()+j.slice(1,-1)+"Until";ue.prototype[ze]=function(st,Ot,et){if("mixed"===ie||"mixed"===this.type||ie===this.type){if(1===arguments.length)return xt(this,ie,et=st);if(2===arguments.length){et=Ot;var Wt=this._nodes.get(st=""+st);if(void 0===Wt)throw new re("Graph.".concat(ze,': could not find the "').concat(st,'" node in the graph.'));return Yn(this.multi,"mixed"===ie?this.type:ie,Me,Wt,et)}if(3===arguments.length){Ot=""+Ot;var Ct=this._nodes.get(st=""+st);if(!Ct)throw new re("Graph.".concat(ze,': could not find the "').concat(st,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new re("Graph.".concat(ze,': could not find the "').concat(Ot,'" target node in the graph.'));return Ls(ie,this.multi,Me,Ct,Ot,et)}throw new ye("Graph.".concat(ze,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(oe,me),function(ue,N){var ie=N.type,Me=N.direction,ze=N.name.slice(0,-1)+"Entries";ue.prototype[ze]=function(st,Ot){if("mixed"!==ie&&"mixed"!==this.type&&ie!==this.type)return se.empty();if(!arguments.length)return Nt(this,ie);if(1===arguments.length){var et=this._nodes.get(st=""+st);if(!et)throw new re("Graph.".concat(ze,': could not find the "').concat(st,'" node in the graph.'));return Ti(ie,Me,et)}if(2===arguments.length){Ot=""+Ot;var Wt=this._nodes.get(st=""+st);if(!Wt)throw new re("Graph.".concat(ze,': could not find the "').concat(st,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new re("Graph.".concat(ze,': could not find the "').concat(Ot,'" target node in the graph.'));return gs(ie,Me,Wt,Ot)}throw new ye("Graph.".concat(ze,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(oe,me)})}(Tn),function(oe){Bs.forEach(function(me){var N,j,ie,Me;ie=(N=me).type,Me=N.direction,oe.prototype[j=N.name]=function(ze){if("mixed"!==ie&&"mixed"!==this.type&&ie!==this.type)return[];if(2===arguments.length){var st=""+arguments[0],Ot=""+arguments[1];if(!this._nodes.has(st))throw new re("Graph.".concat(j,': could not find the "').concat(st,'" node in the graph.'));if(!this._nodes.has(Ot))throw new re("Graph.".concat(j,': could not find the "').concat(Ot,'" node in the graph.'));return ut(this,ie,Me,st,Ot)}if(1===arguments.length){var et=this._nodes.get(ze=""+ze);if(void 0===et)throw new re("Graph.".concat(j,': could not find the "').concat(ze,'" node in the graph.'));return el("mixed"===ie?this.type:ie,Me,et)}throw new ye("Graph.".concat(j,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(oe,me){var ue=me.name,N=me.type,j=me.direction,ie="forEach"+ue[0].toUpperCase()+ue.slice(1,-1);oe.prototype[ie]=function(Me,ze){if("mixed"===N||"mixed"===this.type||N===this.type){var st=this._nodes.get(Me=""+Me);if(void 0===st)throw new re("Graph.".concat(ie,': could not find the "').concat(Me,'" node in the graph.'));!function(Ot,et,Wt,Ct){if("mixed"!==Ot){if("undirected"===Ot)return kl(Wt,Wt.undirected,Ct);if("string"==typeof et)return kl(Wt,Wt[et],Ct)}var vn=new Set;"undirected"!==Ot&&("out"!==et&&Sa(vn,Wt,Wt.in,Ct),"in"!==et&&Sa(vn,Wt,Wt.out,Ct)),"directed"!==Ot&&Sa(vn,Wt,Wt.undirected,Ct)}("mixed"===N?this.type:N,j,st,ze)}}}(oe,me),function(oe,me){var ue=me.name,N=me.type,j=me.direction,ie="forEach"+ue[0].toUpperCase()+ue.slice(1,-1)+"Until";oe.prototype[ie]=function(Me,ze){if("mixed"===N||"mixed"===this.type||N===this.type){var st=this._nodes.get(Me=""+Me);if(void 0===st)throw new re("Graph.".concat(ie,': could not find the "').concat(Me,'" node in the graph.'));!function(Ot,et,Wt,Ct){if("mixed"!==Ot){if("undirected"===Ot)return Es(Wt,Wt.undirected,Ct);if("string"==typeof et)return Es(Wt,Wt[et],Ct)}var vn=new Set;"undirected"!==Ot&&("out"!==et&&Jt(vn,Wt,Wt.in,Ct)||"in"!==et&&Jt(vn,Wt,Wt.out,Ct))||"directed"===Ot||Jt(vn,Wt,Wt.undirected,Ct)}("mixed"===N?this.type:N,j,st,ze)}}}(oe,me),function(oe,me){var N=me.type,j=me.direction,ie=me.name.slice(0,-1)+"Entries";oe.prototype[ie]=function(Me){if("mixed"!==N&&"mixed"!==this.type&&N!==this.type)return se.empty();var ze=this._nodes.get(Me=""+Me);if(void 0===ze)throw new re("Graph.".concat(ie,': could not find the "').concat(Me,'" node in the graph.'));return function(st,Ot,et){if("mixed"!==st){if("undirected"===st)return tl(et,et.undirected);if("string"==typeof Ot)return tl(et,et[Ot])}var Wt=se.empty(),Ct=new Set;return"undirected"!==st&&("out"!==Ot&&(Wt=Ge(Wt,ot(Ct,et,et.in))),"in"!==Ot&&(Wt=Ge(Wt,ot(Ct,et,et.out)))),"directed"!==st&&(Wt=Ge(Wt,ot(Ct,et,et.undirected))),Wt}("mixed"===N?this.type:N,j,ze)}}(oe,me)})}(Tn);var lr=function(oe){function me(ue){var N=fe({type:"directed"},ue);if("multi"in N&&!1!==N.multi)throw new ye("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==N.type)throw new ye('DirectedGraph.from: inconsistent "'+N.type+'" type in given options!');return oe.call(this,N)||this}return Je(me,oe),me}(Tn),cr=function(oe){function me(ue){var N=fe({type:"undirected"},ue);if("multi"in N&&!1!==N.multi)throw new ye("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==N.type)throw new ye('UndirectedGraph.from: inconsistent "'+N.type+'" type in given options!');return oe.call(this,N)||this}return Je(me,oe),me}(Tn),Xn=function(oe){function me(ue){var N=fe({multi:!0},ue);if("multi"in N&&!0!==N.multi)throw new ye("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return oe.call(this,N)||this}return Je(me,oe),me}(Tn),$i=function(oe){function me(ue){var N=fe({type:"directed",multi:!0},ue);if("multi"in N&&!0!==N.multi)throw new ye("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==N.type)throw new ye('MultiDirectedGraph.from: inconsistent "'+N.type+'" type in given options!');return oe.call(this,N)||this}return Je(me,oe),me}(Tn),xa=function(oe){function me(ue){var N=fe({type:"undirected",multi:!0},ue);if("multi"in N&&!0!==N.multi)throw new ye("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==N.type)throw new ye('MultiUndirectedGraph.from: inconsistent "'+N.type+'" type in given options!');return oe.call(this,N)||this}return Je(me,oe),me}(Tn);function Zr(oe){oe.from=function(me,ue){var N=fe({},me.options,ue),j=new oe(N);return j.import(me),j}}return Zr(Tn),Zr(lr),Zr(cr),Zr(Xn),Zr($i),Zr(xa),Tn.Graph=Tn,Tn.DirectedGraph=lr,Tn.UndirectedGraph=cr,Tn.MultiGraph=Xn,Tn.MultiDirectedGraph=$i,Tn.MultiUndirectedGraph=xa,Tn.InvalidArgumentsGraphError=ye,Tn.NotFoundGraphError=re,Tn.UsageGraphError=ve,Tn}()},524:(jt,Ye,Je)=>{var lt;!function(ee,Et,je,Q){"use strict";var T,we=["","webkit","Moz","MS","ms","o"],fe=Et.createElement("div"),V=Math.round,F=Math.abs,Y=Date.now;function L(Ee,Pe,Ze){return setTimeout(x(Ee,Ze),Pe)}function w(Ee,Pe,Ze){return!!Array.isArray(Ee)&&(C(Ee,Ze[Pe],Ze),!0)}function C(Ee,Pe,Ze){var bt;if(Ee)if(Ee.forEach)Ee.forEach(Pe,Ze);else if(Ee.length!==Q)for(bt=0;bt\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",li=ee.console&&(ee.console.warn||ee.console.log);return li&&li.call(ee.console,bt,Yt),Ee.apply(this,arguments)}}T="function"!=typeof Object.assign?function(Pe){if(Pe===Q||null===Pe)throw new TypeError("Cannot convert undefined or null to object");for(var Ze=Object(Pe),bt=1;bt-1}function Z(Ee){return Ee.trim().split(/\s+/g)}function S(Ee,Pe,Ze){if(Ee.indexOf&&!Ze)return Ee.indexOf(Pe);for(var bt=0;btxs[Pe]}):bt.sort()),bt}function ce(Ee,Pe){for(var Ze,bt,Gt=Pe[0].toUpperCase()+Pe.slice(1),Yt=0;Yt1&&!Ze.firstMultiple?Ze.firstMultiple=xt(Pe):1===Gt&&(Ze.firstMultiple=!1);var Yt=Ze.firstInput,li=Ze.firstMultiple,Vr=li?li.center:Yt.center,es=Pe.center=Nt(bt);Pe.timeStamp=Y(),Pe.deltaTime=Pe.timeStamp-Yt.timeStamp,Pe.angle=Ti(Vr,es),Pe.distance=Yn(Vr,es),function(Ee,Pe){var Ze=Pe.center,bt=Ee.offsetDelta||{},Gt=Ee.prevDelta||{},Yt=Ee.prevInput||{};(1===Pe.eventType||4===Yt.eventType)&&(Gt=Ee.prevDelta={x:Yt.deltaX||0,y:Yt.deltaY||0},bt=Ee.offsetDelta={x:Ze.x,y:Ze.y}),Pe.deltaX=Gt.x+(Ze.x-bt.x),Pe.deltaY=Gt.y+(Ze.y-bt.y)}(Ze,Pe),Pe.offsetDirection=kn(Pe.deltaX,Pe.deltaY);var xs=On(Pe.deltaTime,Pe.deltaX,Pe.deltaY);Pe.overallVelocityX=xs.x,Pe.overallVelocityY=xs.y,Pe.overallVelocity=F(xs.x)>F(xs.y)?xs.x:xs.y,Pe.scale=li?function(Ee,Pe){return Yn(Pe[0],Pe[1],gt)/Yn(Ee[0],Ee[1],gt)}(li.pointers,bt):1,Pe.rotation=li?function(Ee,Pe){return Ti(Pe[1],Pe[0],gt)+Ti(Ee[1],Ee[0],gt)}(li.pointers,bt):0,Pe.maxPointers=Ze.prevInput?Pe.pointers.length>Ze.prevInput.maxPointers?Pe.pointers.length:Ze.prevInput.maxPointers:Pe.pointers.length,function(Ee,Pe){var Gt,Yt,li,Vr,Ze=Ee.lastInterval||Pe,bt=Pe.timeStamp-Ze.timeStamp;if(8!=Pe.eventType&&(bt>25||Ze.velocity===Q)){var es=Pe.deltaX-Ze.deltaX,xs=Pe.deltaY-Ze.deltaY,Qn=On(bt,es,xs);Yt=Qn.x,li=Qn.y,Gt=F(Qn.x)>F(Qn.y)?Qn.x:Qn.y,Vr=kn(es,xs),Ee.lastInterval=Pe}else Gt=Ze.velocity,Yt=Ze.velocityX,li=Ze.velocityY,Vr=Ze.direction;Pe.velocity=Gt,Pe.velocityX=Yt,Pe.velocityY=li,Pe.direction=Vr}(Ze,Pe);var Qn=Ee.element;M(Pe.srcEvent.target,Qn)&&(Qn=Pe.srcEvent.target),Pe.target=Qn}(Ee,Ze),Ee.emit("hammer.input",Ze),Ee.recognize(Ze),Ee.session.prevInput=Ze}function xt(Ee){for(var Pe=[],Ze=0;Ze=F(Pe)?Ee<0?2:4:Pe<0?8:16}function Yn(Ee,Pe,Ze){Ze||(Ze=_t);var bt=Pe[Ze[0]]-Ee[Ze[0]],Gt=Pe[Ze[1]]-Ee[Ze[1]];return Math.sqrt(bt*bt+Gt*Gt)}function Ti(Ee,Pe,Ze){return Ze||(Ze=_t),180*Math.atan2(Pe[Ze[1]]-Ee[Ze[1]],Pe[Ze[0]]-Ee[Ze[0]])/Math.PI}Ae.prototype={handler:function(){},init:function(){this.evEl&&I(this.element,this.evEl,this.domHandler),this.evTarget&&I(this.target,this.evTarget,this.domHandler),this.evWin&&I(Ie(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&H(this.element,this.evEl,this.domHandler),this.evTarget&&H(this.target,this.evTarget,this.domHandler),this.evWin&&H(Ie(this.element),this.evWin,this.domHandler)}};var Ls={mousedown:1,mousemove:2,mouseup:4},gs="mousedown",Bs="mousemove mouseup";function Qr(){this.evEl=gs,this.evWin=Bs,this.pressed=!1,Ae.apply(this,arguments)}b(Qr,Ae,{handler:function(Pe){var Ze=Ls[Pe.type];1&Ze&&0===Pe.button&&(this.pressed=!0),2&Ze&&1!==Pe.which&&(Ze=4),this.pressed&&(4&Ze&&(this.pressed=!1),this.callback(this.manager,Ze,{pointers:[Pe],changedPointers:[Pe],pointerType:J,srcEvent:Pe}))}});var el={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},kl={2:Qe,3:"pen",4:J,5:"kinect"},Sa="pointerdown",Es="pointermove pointerup pointercancel";function Jt(){this.evEl=Sa,this.evWin=Es,Ae.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}ee.MSPointerEvent&&!ee.PointerEvent&&(Sa="MSPointerDown",Es="MSPointerMove MSPointerUp MSPointerCancel"),b(Jt,Ae,{handler:function(Pe){var Ze=this.store,bt=!1,Gt=Pe.type.toLowerCase().replace("ms",""),Yt=el[Gt],li=kl[Pe.pointerType]||Pe.pointerType,Vr=li==Qe,es=S(Ze,Pe.pointerId,"pointerId");1&Yt&&(0===Pe.button||Vr)?es<0&&(Ze.push(Pe),es=Ze.length-1):12&Yt&&(bt=!0),!(es<0)&&(Ze[es]=Pe,this.callback(this.manager,Yt,{pointers:Ze,changedPointers:[Pe],pointerType:li,srcEvent:Pe}),bt&&Ze.splice(es,1))}});var tl={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ot="touchstart",ut="touchstart touchmove touchend touchcancel";function ft(){this.evTarget=ot,this.evWin=ut,this.started=!1,Ae.apply(this,arguments)}function be(Ee,Pe){var Ze=G(Ee.touches),bt=G(Ee.changedTouches);return 12&Pe&&(Ze=ne(Ze.concat(bt),"identifier",!0)),[Ze,bt]}b(ft,Ae,{handler:function(Pe){var Ze=tl[Pe.type];if(1===Ze&&(this.started=!0),this.started){var bt=be.call(this,Pe,Ze);12&Ze&&bt[0].length-bt[1].length==0&&(this.started=!1),this.callback(this.manager,Ze,{pointers:bt[0],changedPointers:bt[1],pointerType:Qe,srcEvent:Pe})}}});var Ce={touchstart:1,touchmove:2,touchend:4,touchcancel:8},$e="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=$e,this.targetIds={},Ae.apply(this,arguments)}function it(Ee,Pe){var Ze=G(Ee.touches),bt=this.targetIds;if(3&Pe&&1===Ze.length)return bt[Ze[0].identifier]=!0,[Ze,Ze];var Gt,Yt,li=G(Ee.changedTouches),Vr=[],es=this.target;if(Yt=Ze.filter(function(xs){return M(xs.target,es)}),1===Pe)for(Gt=0;Gt-1&&bt.splice(Yt,1)},2500)}}function ai(Ee){for(var Pe=Ee.srcEvent.clientX,Ze=Ee.srcEvent.clientY,bt=0;bt-1&&this.requireFail.splice(Pe,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(Ee){return!!this.simultaneous[Ee.id]},emit:function(Ee){var Pe=this,Ze=this.state;function bt(Gt){Pe.manager.emit(Gt,Ee)}Ze<8&&bt(Pe.options.event+et(Ze)),bt(Pe.options.event),Ee.additionalEvent&&bt(Ee.additionalEvent),Ze>=8&&bt(Pe.options.event+et(Ze))},tryEmit:function(Ee){if(this.canEmit())return this.emit(Ee);this.state=32},canEmit:function(){for(var Ee=0;EePe.threshold&&Gt&Pe.direction},attrTest:function(Ee){return vn.prototype.attrTest.call(this,Ee)&&(2&this.state||!(2&this.state)&&this.directionTest(Ee))},emit:function(Ee){this.pX=Ee.deltaX,this.pY=Ee.deltaY;var Pe=Wt(Ee.direction);Pe&&(Ee.additionalEvent=this.options.event+Pe),this._super.emit.call(this,Ee)}}),b(Jr,vn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[cr]},attrTest:function(Ee){return this._super.attrTest.call(this,Ee)&&(Math.abs(Ee.scale-1)>this.options.threshold||2&this.state)},emit:function(Ee){1!==Ee.scale&&(Ee.additionalEvent=this.options.event+(Ee.scale<1?"in":"out")),this._super.emit.call(this,Ee)}}),b(Qs,Ot,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(Ee){var Pe=this.options,Ze=Ee.pointers.length===Pe.pointers,bt=Ee.distancePe.time;if(this._input=Ee,!bt||!Ze||12&Ee.eventType&&!Gt)this.reset();else if(1&Ee.eventType)this.reset(),this._timer=L(function(){this.state=8,this.tryEmit()},Pe.time,this);else if(4&Ee.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(Ee){8===this.state&&(Ee&&4&Ee.eventType?this.manager.emit(this.options.event+"up",Ee):(this._input.timeStamp=Y(),this.manager.emit(this.options.event,this._input)))}}),b(Ll,vn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[cr]},attrTest:function(Ee){return this._super.attrTest.call(this,Ee)&&(Math.abs(Ee.rotation)>this.options.threshold||2&this.state)}}),b(po,vn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Ss.prototype.getTouchAction.call(this)},attrTest:function(Ee){var Ze,Pe=this.options.direction;return 30&Pe?Ze=Ee.overallVelocity:6&Pe?Ze=Ee.overallVelocityX:24&Pe&&(Ze=Ee.overallVelocityY),this._super.attrTest.call(this,Ee)&&Pe&Ee.offsetDirection&&Ee.distance>this.options.threshold&&Ee.maxPointers==this.options.pointers&&F(Ze)>this.options.velocity&&4&Ee.eventType},emit:function(Ee){var Pe=Wt(Ee.offsetDirection);Pe&&this.manager.emit(this.options.event+Pe,Ee),this.manager.emit(this.options.event,Ee)}}),b(jr,Ot,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[lr]},process:function(Ee){var Pe=this.options,Ze=Ee.pointers.length===Pe.pointers,bt=Ee.distance"']/g,Es=RegExp(kl.source),Jt=RegExp(Sa.source),tl=/<%-([\s\S]+?)%>/g,ot=/<%([\s\S]+?)%>/g,ut=/<%=([\s\S]+?)%>/g,ft=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,be=/^\w*$/,Ce=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,$e=/[\\^$.*+?()[\]{}|]/g,ht=RegExp($e.source),it=/^\s+/,Tt=/\s/,Mt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Dt=/\{\n\/\* \[wrapped with (.+)\] \*/,Xt=/,? & /,zn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ai=/[()=,{}\[\]\/\s]/,Nn=/\\(\\)?/g,bn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,$n=/\w*$/,Tn=/^[-+]0x[0-9a-f]+$/i,lr=/^0b[01]+$/i,cr=/^\[object .+?Constructor\]$/,Xn=/^0o[0-7]+$/i,$i=/^(?:0|[1-9]\d*)$/,xa=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Zr=/($^)/,oe=/['\n\r\u2028\u2029\\]/g,me="\\ud800-\\udfff",ie="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Me="\\u2700-\\u27bf",ze="a-z\\xdf-\\xf6\\xf8-\\xff",Ct="A-Z\\xc0-\\xd6\\xd8-\\xde",vn="\\ufe0e\\ufe0f",Ss="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Qs="["+me+"]",Ll="["+Ss+"]",po="["+ie+"]",jr="\\d+",js="["+Me+"]",xc="["+ze+"]",Sn="[^"+me+Ss+jr+Me+ze+Ct+"]",go="\\ud83c[\\udffb-\\udfff]",Ca="[^"+me+"]",wd="(?:\\ud83c[\\udde6-\\uddff]){2}",Ee="[\\ud800-\\udbff][\\udc00-\\udfff]",Pe="["+Ct+"]",bt="(?:"+xc+"|"+Sn+")",Gt="(?:"+Pe+"|"+Sn+")",Yt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",li="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Vr="(?:"+po+"|"+go+")?",es="["+vn+"]?",AC=es+Vr+"(?:\\u200d(?:"+[Ca,wd,Ee].join("|")+")"+es+Vr+")*",Ed="(?:"+[js,wd,Ee].join("|")+")"+AC,tr="(?:"+[Ca+po+"?",po,wd,Ee,Qs].join("|")+")",fp=RegExp("['\u2019]","g"),Jm=RegExp(po,"g"),Dh=RegExp(go+"(?="+go+")|"+tr+AC,"g"),sv=RegExp([Pe+"?"+xc+"+"+Yt+"(?="+[Ll,Pe,"$"].join("|")+")",Gt+"+"+li+"(?="+[Ll,Pe+bt,"$"].join("|")+")",Pe+"?"+bt+"+"+Yt,Pe+"+"+li,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",jr,Ed].join("|"),"g"),TC=RegExp("[\\u200d"+me+ie+vn+"]"),jl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ih=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],MC=-1,ln={};ln[Nt]=ln[On]=ln[kn]=ln[Yn]=ln[Ti]=ln[wi]=ln[Xr]=ln[Ls]=ln[gs]=!0,ln[J]=ln[ae]=ln[nt]=ln[Te]=ln[xt]=ln[xe]=ln[Se]=ln[Ue]=ln[Be]=ln[X]=ln[ge]=ln[_t]=ln[gt]=ln[Ae]=ln[z]=!1;var ur={};ur[J]=ur[ae]=ur[nt]=ur[xt]=ur[Te]=ur[xe]=ur[Nt]=ur[On]=ur[kn]=ur[Yn]=ur[Ti]=ur[Be]=ur[X]=ur[ge]=ur[_t]=ur[gt]=ur[Ae]=ur[U]=ur[wi]=ur[Xr]=ur[Ls]=ur[gs]=!0,ur[Se]=ur[Ue]=ur[z]=!1;var on={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},DC=parseFloat,cv=parseInt,Rt="object"==typeof global&&global&&global.Object===Object&&global,Vs="object"==typeof self&&self&&self.Object===Object&&self,Vi=Rt||Vs||Function("return this")(),Vl=Ye&&!Ye.nodeType&&Ye,Aa=Vl&&jt&&!jt.nodeType&&jt,Oo=Aa&&Aa.exports===Vl,e_=Oo&&Rt.process,Sr=function(){try{return Aa&&Aa.require&&Aa.require("util").types||e_&&e_.binding&&e_.binding("util")}catch(It){}}(),nn=Sr&&Sr.isArrayBuffer,hi=Sr&&Sr.isDate,pr=Sr&&Sr.isMap,mo=Sr&&Sr.isRegExp,Cc=Sr&&Sr.isSet,as=Sr&&Sr.isTypedArray;function ls(ct,It,St){switch(St.length){case 0:return ct.call(It);case 1:return ct.call(It,St[0]);case 2:return ct.call(It,St[0],St[1]);case 3:return ct.call(It,St[0],St[1],St[2])}return ct.apply(It,St)}function Ur(ct,It,St,hn){for(var Dn=-1,Li=null==ct?0:ct.length;++Dn-1}function Oh(ct,It,St){for(var hn=-1,Dn=null==ct?0:ct.length;++hn-1;);return St}function NC(ct,It){for(var St=ct.length;St--&&nl(It,ct[St],0)>-1;);return St}function cF(ct,It){for(var St=ct.length,hn=0;St--;)ct[St]===It&&++hn;return hn}var uF=Qo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),dF=Qo({"&":"&","<":"<",">":">",'"':""","'":"'"});function hF(ct){return"\\"+on[ct]}function Ph(ct){return TC.test(ct)}function dv(ct){var It=-1,St=Array(ct.size);return ct.forEach(function(hn,Dn){St[++It]=[Dn,hn]}),St}function PC(ct,It){return function(St){return ct(It(St))}}function yu(ct,It){for(var St=-1,hn=ct.length,Dn=0,Li=[];++St",""":'"',"'":"'"}),kh=function ct(It){var d,St=(It=null==It?Vi:kh.defaults(Vi.Object(),It,kh.pick(Vi,Ih))).Array,hn=It.Date,Dn=It.Error,Li=It.Function,ts=It.Math,Ki=It.Object,a_=It.RegExp,l_=It.String,Da=It.TypeError,gr=St.prototype,bu=Ki.prototype,gp=It["__core-js_shared__"],xr=Li.prototype.toString,Xi=bu.hasOwnProperty,yF=0,Lh=(d=/[^.]+$/.exec(gp&&gp.keys&&gp.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",Zs=bu.toString,LC=xr.call(Ki),c_=Vi._,Md=a_("^"+xr.call(Xi).replace($e,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zs=Oo?It.Buffer:ee,zl=It.Symbol,Dd=It.Uint8Array,pv=zs?zs.allocUnsafe:ee,Ia=PC(Ki.getPrototypeOf,Ki),u_=Ki.create,mp=bu.propertyIsEnumerable,Bn=gr.splice,BC=zl?zl.isConcatSpreadable:ee,Bh=zl?zl.iterator:ee,vu=zl?zl.toStringTag:ee,_p=function(){try{var d=Lc(Ki,"defineProperty");return d({},"",{}),d}catch(f){}}(),gv=It.clearTimeout!==Vi.clearTimeout&&It.clearTimeout,jC=hn&&hn.now!==Vi.Date.now&&hn.now,VC=It.setTimeout!==Vi.setTimeout&&It.setTimeout,Vt=ts.ceil,Ei=ts.floor,Cr=Ki.getOwnPropertySymbols,cs=zs?zs.isBuffer:ee,d_=It.isFinite,jh=gr.join,rl=PC(Ki.keys,Ki),Hr=ts.max,ms=ts.min,bF=hn.now,UC=It.parseInt,Vh=ts.random,yp=gr.reverse,As=Lc(It,"DataView"),_o=Lc(It,"Map"),bp=Lc(It,"Promise"),Oa=Lc(It,"Set"),No=Lc(It,"WeakMap"),Uh=Lc(Ki,"create"),zh=No&&new No,Id={},zC=Ru(As),h_=Ru(_o),f_=Ru(bp),mv=Ru(Oa),p_=Ru(No),vp=zl?zl.prototype:ee,Od=vp?vp.valueOf:ee,Hh=vp?vp.toString:ee;function De(d){if(Mr(d)&&!Rn(d)&&!(d instanceof fi)){if(d instanceof Po)return d;if(Xi.call(d,"__wrapped__"))return nf(d)}return new Po(d)}var wu=function(){function d(){}return function(f){if(!Tr(f))return{};if(u_)return u_(f);d.prototype=f;var _=new d;return d.prototype=ee,_}}();function Gh(){}function Po(d,f){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!f,this.__index__=0,this.__values__=ee}function fi(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ve,this.__views__=[]}function yo(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var B=d[f];this.set(B[0],B[1])}}function Hl(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var B=d[f];this.set(B[0],B[1])}}function sl(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var B=d[f];this.set(B[0],B[1])}}function Ra(d){var f=-1,_=null==d?0:d.length;for(this.__data__=new sl;++f<_;)this.add(d[f])}function Na(d){var f=this.__data__=new Hl(d);this.size=f.size}function Wh(d,f){var _=Rn(d),B=!_&&pl(d),de=!_&&!B&&gl(d),Ne=!_&&!B&&!de&&cf(d),Xe=_||B||de||Ne,tt=Xe?Td(d.length,l_):[],dt=tt.length;for(var kt in d)(f||Xi.call(d,kt))&&(!Xe||!("length"==kt||de&&("offset"==kt||"parent"==kt)||Ne&&("buffer"==kt||"byteLength"==kt||"byteOffset"==kt)||Bo(kt,dt)))&&tt.push(kt);return tt}function y_(d){var f=d.length;return f?d[Gl(0,f-1)]:ee}function vv(d,f){return Wd(eo(d),Eu(f,0,d.length))}function Rd(d){return Wd(eo(d))}function b_(d,f,_){(_!==ee&&!In(d[f],_)||_===ee&&!(f in d))&&al(d,f,_)}function ol(d,f,_){var B=d[f];(!Xi.call(d,f)||!In(B,_)||_===ee&&!(f in d))&&al(d,f,_)}function Nd(d,f){for(var _=d.length;_--;)if(In(d[_][0],f))return _;return-1}function Cp(d,f,_,B){return Ic(d,function(de,Ne,Xe){f(B,de,_(de),Xe)}),B}function ZC(d,f){return d&&Fa(f,Os(f),d)}function al(d,f,_){"__proto__"==f&&_p?_p(d,f,{configurable:!0,enumerable:!0,value:_,writable:!0}):d[f]=_}function v_(d,f){for(var _=-1,B=f.length,de=St(B),Ne=null==d;++_=f?d:f)),d}function Hs(d,f,_,B,de,Ne){var Xe,tt=1&f,dt=2&f,kt=4&f;if(_&&(Xe=de?_(d,B,de,Ne):_(d)),Xe!==ee)return Xe;if(!Tr(d))return d;var Lt=Rn(d);if(Lt){if(Xe=function(d){var f=d.length,_=new d.constructor(f);return f&&"string"==typeof d[0]&&Xi.call(d,"index")&&(_.index=d.index,_.input=d.input),_}(d),!tt)return eo(d,Xe)}else{var zt=$s(d),en=zt==Ue||zt==Ke;if(gl(d))return Np(d,tt);if(zt==ge||zt==J||en&&!de){if(Xe=dt||en?{}:Hv(d),!tt)return dt?function(d,f){return Fa(d,Vv(d),f)}(d,function(d,f){return d&&Fa(f,no(f),d)}(Xe,d)):function(d,f){return Fa(d,k_(d),f)}(d,ZC(Xe,d))}else{if(!ur[zt])return de?d:{};Xe=function(d,f,_){var B=d.constructor;switch(f){case nt:return Mu(d);case Te:case xe:return new B(+d);case xt:return function(d,f){var _=f?Mu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}(d,_);case Nt:case On:case kn:case Yn:case Ti:case wi:case Xr:case Ls:case gs:return O_(d,_);case Be:return new B;case X:case Ae:return new B(d);case _t:return function(d){var f=new d.constructor(d.source,$n.exec(d));return f.lastIndex=d.lastIndex,f}(d);case gt:return new B;case U:return function(d){return Od?Ki(Od.call(d)):{}}(d)}}(d,zt,tt)}}Ne||(Ne=new Na);var wn=Ne.get(d);if(wn)return wn;Ne.set(d,Xe),yT(d)?d.forEach(function(jn){Xe.add(Hs(jn,f,_,jn,d,Ne))}):pT(d)&&d.forEach(function(jn,mi){Xe.set(mi,Hs(jn,f,_,mi,d,Ne))});var gi=Lt?ee:(kt?dt?P_:Yl:dt?no:Os)(d);return Us(gi||d,function(jn,mi){gi&&(jn=d[mi=jn]),ol(Xe,mi,Hs(jn,f,_,mi,d,Ne))}),Xe}function Ap(d,f,_){var B=_.length;if(null==d)return!B;for(d=Ki(d);B--;){var de=_[B],Xe=d[de];if(Xe===ee&&!(de in d)||!(0,f[de])(Xe))return!1}return!0}function qh(d,f,_){if("function"!=typeof d)throw new Da(we);return ef(function(){d.apply(ee,_)},f)}function Dc(d,f,_,B){var de=-1,Ne=Ul,Xe=!0,tt=d.length,dt=[],kt=f.length;if(!tt)return dt;_&&(f=Yi(f,Jo(_))),B?(Ne=Oh,Xe=!1):f.length>=200&&(Ne=Nh,Xe=!1,f=new Ra(f));e:for(;++de-1},Hl.prototype.set=function(d,f){var _=this.__data__,B=Nd(_,d);return B<0?(++this.size,_.push([d,f])):_[B][1]=f,this},sl.prototype.clear=function(){this.size=0,this.__data__={hash:new yo,map:new(_o||Hl),string:new yo}},sl.prototype.delete=function(d){var f=Gs(this,d).delete(d);return this.size-=f?1:0,f},sl.prototype.get=function(d){return Gs(this,d).get(d)},sl.prototype.has=function(d){return Gs(this,d).has(d)},sl.prototype.set=function(d,f){var _=Gs(this,d),B=_.size;return _.set(d,f),this.size+=_.size==B?0:1,this},Ra.prototype.add=Ra.prototype.push=function(d){return this.__data__.set(d,K),this},Ra.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.clear=function(){this.__data__=new Hl,this.size=0},Na.prototype.delete=function(d){var f=this.__data__,_=f.delete(d);return this.size=f.size,_},Na.prototype.get=function(d){return this.__data__.get(d)},Na.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.set=function(d,f){var _=this.__data__;if(_ instanceof Hl){var B=_.__data__;if(!_o||B.length<199)return B.push([d,f]),this.size=++_.size,this;_=this.__data__=new sl(B)}return _.set(d,f),this.size=_.size,this};var Ic=ul(ll),E_=ul(Tp,!0);function Ev(d,f){var _=!0;return Ic(d,function(B,de,Ne){return _=!!f(B,de,Ne)}),_}function Yh(d,f,_){for(var B=-1,de=d.length;++B0&&_(tt)?f>1?Ts(tt,f-1,_,B,de):zr(de,tt):B||(de[de.length]=tt)}return de}var Pd=Ov(),Fd=Ov(!0);function ll(d,f){return d&&Pd(d,f,Os)}function Tp(d,f){return d&&Fd(d,f,Os)}function Kh(d,f){return Ta(f,function(_){return la(d[_])})}function ea(d,f){for(var _=0,B=(f=Pc(f,d)).length;null!=d&&_f}function kd(d,f){return null!=d&&Xi.call(d,f)}function Ld(d,f){return null!=d&&f in Ki(d)}function Su(d,f,_){for(var B=_?Oh:Ul,de=d[0].length,Ne=d.length,Xe=Ne,tt=St(Ne),dt=1/0,kt=[];Xe--;){var Lt=d[Xe];Xe&&f&&(Lt=Yi(Lt,Jo(f))),dt=ms(Lt.length,dt),tt[Xe]=!_&&(f||de>=120&&Lt.length>=120)?new Ra(Xe&&Lt):ee}Lt=d[0];var zt=-1,en=tt[0];e:for(;++zt=tt?dt:dt*("desc"==_[B]?-1:1)}return d.index-f.index}(Ne,Xe,_)});St--;)ct[St]=ct[St].value;return ct}(iA(d,function(Ne,Xe,tt){return{criteria:Yi(f,function(kt){return kt(Ne)}),index:++B,value:Ne}}))}function Tv(d,f,_){for(var B=-1,de=f.length,Ne={};++B-1;)tt!==d&&Bn.call(tt,dt,1),Bn.call(d,dt,1);return d}function Qh(d,f){for(var _=d?f.length:0,B=_-1;_--;){var de=f[_];if(_==B||de!==Ne){var Ne=de;Bo(de)?Bn.call(d,de,1):Cu(d,de)}}return d}function Gl(d,f){return d+Ei(Vh()*(f-d+1))}function Dp(d,f){var _="";if(!d||f<1||f>Ie)return _;do{f%2&&(_+=d),(f=Ei(f/2))&&(d+=d)}while(f);return _}function pi(d,f){return Hp(bA(d,f,io),d+"")}function sA(d){return y_(th(d))}function MF(d,f){var _=th(d);return Wd(_,Eu(f,0,_.length))}function Ip(d,f,_,B){if(!Tr(d))return d;for(var de=-1,Ne=(f=Pc(f,d)).length,Xe=Ne-1,tt=d;null!=tt&&++dede?0:de+f),(_=_>de?de:_)<0&&(_+=de),de=f>_?0:_-f>>>0,f>>>=0;for(var Ne=St(de);++B>>1,Xe=d[Ne];null!==Xe&&!ca(Xe)&&(_?Xe<=f:Xe=200){var kt=f?null:N_(d);if(kt)return r_(kt);Xe=!1,de=Nh,dt=new Ra}else dt=f?[]:tt;e:for(;++B=B?d:Ds(d,f,_)}var lA=gv||function(d){return Vi.clearTimeout(d)};function Np(d,f){if(f)return d.slice();var _=d.length,B=pv?pv(_):new d.constructor(_);return d.copy(B),B}function Mu(d){var f=new d.constructor(d.byteLength);return new Dd(f).set(new Dd(d)),f}function O_(d,f){var _=f?Mu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function Fc(d,f){if(d!==f){var _=d!==ee,B=null===d,de=d==d,Ne=ca(d),Xe=f!==ee,tt=null===f,dt=f==f,kt=ca(f);if(!tt&&!kt&&!Ne&&d>f||Ne&&Xe&&dt&&!tt&&!kt||B&&Xe&&dt||!_&&dt||!de)return 1;if(!B&&!Ne&&!kt&&d1?_[de-1]:ee,Xe=de>2?_[2]:ee;for(Ne=d.length>3&&"function"==typeof Ne?(de--,Ne):ee,Xe&&Ws(_[0],_[1],Xe)&&(Ne=de<3?ee:Ne,de=1),f=Ki(f);++B-1?de[Ne?f[Xe]:Xe]:ee}}function Iu(d){return dl(function(f){var _=f.length,B=_,de=Po.prototype.thru;for(d&&f.reverse();B--;){var Ne=f[B];if("function"!=typeof Ne)throw new Da(we);if(de&&!Xe&&"wrapper"==Vp(Ne))var Xe=new Po([],!0)}for(B=Xe?B:_;++B<_;){var tt=Vp(Ne=f[B]),dt="wrapper"==tt?F_(Ne):ee;Xe=dt&&Up(dt[0])&&424==dt[1]&&!dt[4].length&&1==dt[9]?Xe[Vp(dt[0])].apply(Xe,dt[3]):1==Ne.length&&Up(Ne)?Xe[tt]():Xe.thru(Ne)}return function(){var kt=arguments,Lt=kt[0];if(Xe&&1==kt.length&&Rn(Lt))return Xe.plant(Lt).value();for(var zt=0,en=_?f[zt].apply(this,kt):Lt;++zt<_;)en=f[zt].call(this,en);return en}})}function kc(d,f,_,B,de,Ne,Xe,tt,dt,kt){var Lt=f&I,zt=1&f,en=2&f,wn=24&f,Ln=512&f,gi=en?ee:Hd(d);return function jn(){for(var mi=arguments.length,Mi=St(mi),wo=mi;wo--;)Mi[wo]=arguments[wo];if(wn)var qs=$d(jn),ua=cF(Mi,qs);if(B&&(Mi=Ud(Mi,B,de,wn)),Ne&&(Mi=Iv(Mi,Ne,Xe,wn)),mi-=ua,wn&&mi1&&Mi.reverse(),Lt&&dttt))return!1;var kt=Ne.get(d),Lt=Ne.get(f);if(kt&&Lt)return kt==f&&Lt==d;var zt=-1,en=!0,wn=2&_?new Ra:ee;for(Ne.set(d,f),Ne.set(f,d);++zt-1&&d%1==0&&d1?"& ":"")+f[B],f=f.join(_>2?", ":" "),d.replace(Mt,"{\n/* [wrapped with "+f+"] */\n")}(B,function(d,f){return Us(He,function(_){var B="_."+_[0];f&_[1]&&!Ul(d,B)&&d.push(B)}),d.sort()}(function(d){var f=d.match(Dt);return f?f[1].split(Xt):[]}(B),_)))}function z_(d){var f=0,_=0;return function(){var B=bF(),de=16-(B-_);if(_=B,de>0){if(++f>=800)return arguments[0]}else f=0;return d.apply(ee,arguments)}}function Wd(d,f){var _=-1,B=d.length,de=B-1;for(f=f===ee?B:f;++_1?d[f-1]:ee;return _="function"==typeof _?(d.pop(),_):ee,GA(d,_)});function Z_(d){var f=De(d);return f.__chain__=!0,f}function Yd(d,f){return f(d)}var J_=dl(function(d){var f=d.length,_=f?d[0]:0,B=this.__wrapped__,de=function(Ne){return v_(Ne,d)};return!(f>1||this.__actions__.length)&&B instanceof fi&&Bo(_)?((B=B.slice(_,+_+(f?1:0))).__actions__.push({func:Yd,args:[de],thisArg:ee}),new Po(B,this.__chain__).thru(function(Ne){return f&&!Ne.length&&Ne.push(ee),Ne})):this.thru(de)}),qA=ns(function(d,f,_){Xi.call(d,_)?++d[_]:al(d,_,1)}),XA=Nv(G_),QA=Nv($_);function iy(d,f){return(Rn(d)?Us:Ic)(d,Fn(f,3))}function Wp(d,f){return(Rn(d)?Sd:E_)(d,Fn(f,3))}var JA=ns(function(d,f,_){Xi.call(d,_)?d[_].push(f):al(d,_,[f])}),dw=pi(function(d,f,_){var B=-1,de="function"==typeof f,Ne=bo(d)?St(d.length):[];return Ic(d,function(Xe){Ne[++B]=de?ls(f,Xe,_):Pa(Xe,f,_)}),Ne}),hw=ns(function(d,f,_){al(d,_,f)});function fl(d,f){return(Rn(d)?Yi:iA)(d,Fn(f,3))}var pw=ns(function(d,f,_){d[_?0:1].push(f)},function(){return[[],[]]}),Yp=pi(function(d,f){if(null==d)return[];var _=f.length;return _>1&&Ws(d,f[0],f[1])?f=[]:_>2&&Ws(f[0],f[1],f[2])&&(f=[f[0]]),Xh(d,Ts(f,1),[])}),Nu=jC||function(){return Vi.Date.now()};function Kp(d,f,_){return f=_?ee:f,ql(d,I,ee,ee,ee,ee,f=d&&null==f?d.length:f)}function sy(d,f){var _;if("function"!=typeof f)throw new Da(we);return d=Jn(d),function(){return--d>0&&(_=f.apply(this,arguments)),d<=1&&(f=ee),_}}var af=pi(function(d,f,_){var B=1;if(_.length){var de=yu(_,$d(af));B|=A}return ql(d,B,f,_,de)}),Xd=pi(function(d,f,_){var B=3;if(_.length){var de=yu(_,$d(Xd));B|=A}return ql(f,B,d,_,de)});function ww(d,f,_){var B,de,Ne,Xe,tt,dt,kt=0,Lt=!1,zt=!1,en=!0;if("function"!=typeof d)throw new Da(we);function wn(Hi){var yl=B,Uc=de;return B=de=ee,kt=Hi,Xe=d.apply(Uc,yl)}function Ln(Hi){return kt=Hi,tt=ef(mi,f),Lt?wn(Hi):Xe}function jn(Hi){var yl=Hi-dt;return dt===ee||yl>=f||yl<0||zt&&Hi-kt>=Ne}function mi(){var Hi=Nu();if(jn(Hi))return Mi(Hi);tt=ef(mi,function(Hi){var lM=f-(Hi-dt);return zt?ms(lM,Ne-(Hi-kt)):lM}(Hi))}function Mi(Hi){return tt=ee,en&&B?wn(Hi):(B=de=ee,Xe)}function ua(){var Hi=Nu(),yl=jn(Hi);if(B=arguments,de=this,dt=Hi,yl){if(tt===ee)return Ln(dt);if(zt)return lA(tt),tt=ef(mi,f),wn(dt)}return tt===ee&&(tt=ef(mi,f)),Xe}return f=vo(f)||0,Tr(_)&&(Lt=!!_.leading,Ne=(zt="maxWait"in _)?Hr(vo(_.maxWait)||0,f):Ne,en="trailing"in _?!!_.trailing:en),ua.cancel=function(){tt!==ee&&lA(tt),kt=0,B=dt=de=tt=ee},ua.flush=function(){return tt===ee?Xe:Mi(Nu())},ua}var iT=pi(function(d,f){return qh(d,1,f)}),Ew=pi(function(d,f,_){return qh(d,vo(f)||0,_)});function lf(d,f){if("function"!=typeof d||null!=f&&"function"!=typeof f)throw new Da(we);var _=function(){var B=arguments,de=f?f.apply(this,B):B[0],Ne=_.cache;if(Ne.has(de))return Ne.get(de);var Xe=d.apply(this,B);return _.cache=Ne.set(de,Xe)||Ne,Xe};return _.cache=new(lf.Cache||sl),_}function ly(d){if("function"!=typeof d)throw new Da(we);return function(){var f=arguments;switch(f.length){case 0:return!d.call(this);case 1:return!d.call(this,f[0]);case 2:return!d.call(this,f[0],f[1]);case 3:return!d.call(this,f[0],f[1],f[2])}return!d.apply(this,f)}}lf.Cache=sl;var rT=aA(function(d,f){var _=(f=1==f.length&&Rn(f[0])?Yi(f[0],Jo(Fn())):Yi(Ts(f,1),Jo(Fn()))).length;return pi(function(B){for(var de=-1,Ne=ms(B.length,_);++de=f}),pl=JC(function(){return arguments}())?JC:function(d){return Mr(d)&&Xi.call(d,"callee")&&!mp.call(d,"callee")},Rn=St.isArray,Mw=nn?Jo(nn):function(d){return Mr(d)&&Ms(d)==nt};function bo(d){return null!=d&&uy(d.length)&&!la(d)}function Ar(d){return Mr(d)&&bo(d)}var gl=cs||Ny,Dw=hi?Jo(hi):function(d){return Mr(d)&&Ms(d)==xe};function La(d){if(!Mr(d))return!1;var f=Ms(d);return f==Se||"[object DOMException]"==f||"string"==typeof d.message&&"string"==typeof d.name&&!Jp(d)}function la(d){if(!Tr(d))return!1;var f=Ms(d);return f==Ue||f==Ke||"[object AsyncFunction]"==f||"[object Proxy]"==f}function Zp(d){return"number"==typeof d&&d==Jn(d)}function uy(d){return"number"==typeof d&&d>-1&&d%1==0&&d<=Ie}function Tr(d){var f=typeof d;return null!=d&&("object"==f||"function"==f)}function Mr(d){return null!=d&&"object"==typeof d}var pT=pr?Jo(pr):function(d){return Mr(d)&&$s(d)==Be};function _T(d){return"number"==typeof d||Mr(d)&&Ms(d)==X}function Jp(d){if(!Mr(d)||Ms(d)!=ge)return!1;var f=Ia(d);if(null===f)return!0;var _=Xi.call(f,"constructor")&&f.constructor;return"function"==typeof _&&_ instanceof _&&xr.call(_)==LC}var Nw=mo?Jo(mo):function(d){return Mr(d)&&Ms(d)==_t},yT=Cc?Jo(Cc):function(d){return Mr(d)&&$s(d)==gt};function hy(d){return"string"==typeof d||!Rn(d)&&Mr(d)&&Ms(d)==Ae}function ca(d){return"symbol"==typeof d||Mr(d)&&Ms(d)==U}var cf=as?Jo(as):function(d){return Mr(d)&&uy(d.length)&&!!ln[Ms(d)]},Bc=Lp(Av),fy=Lp(function(d,f){return d<=f});function Pw(d){if(!d)return[];if(bo(d))return hy(d)?il(d):eo(d);if(Bh&&d[Bh])return function(ct){for(var It,St=[];!(It=ct.next()).done;)St.push(It.value);return St}(d[Bh]());var f=$s(d);return(f==Be?dv:f==gt?r_:th)(d)}function ml(d){return d?(d=vo(d))===te||d===-te?17976931348623157e292*(d<0?-1:1):d==d?d:0:0===d?d:0}function Jn(d){var f=ml(d),_=f%1;return f==f?_?f-_:f:0}function py(d){return d?Eu(Jn(d),0,ve):0}function vo(d){if("number"==typeof d)return d;if(ca(d))return NaN;if(Tr(d)){var f="function"==typeof d.valueOf?d.valueOf():d;d=Tr(f)?f+"":f}if("string"!=typeof d)return 0===d?d:+d;d=uv(d);var _=lr.test(d);return _||Xn.test(d)?cv(d.slice(2),_?2:8):Tn.test(d)?NaN:+d}function Fw(d){return Fa(d,no(d))}function zi(d){return null==d?"":Lo(d)}var bT=$l(function(d,f){if(zp(f)||bo(f))Fa(f,Os(f),d);else for(var _ in f)Xi.call(f,_)&&ol(d,_,f[_])}),vT=$l(function(d,f){Fa(f,no(f),d)}),Qd=$l(function(d,f,_,B){Fa(f,no(f),d,B)}),wT=$l(function(d,f,_,B){Fa(f,Os(f),d,B)}),kw=dl(v_),ST=pi(function(d,f){d=Ki(d);var _=-1,B=f.length,de=B>2?f[2]:ee;for(de&&Ws(f[0],f[1],de)&&(B=1);++_1),Ne}),Fa(d,P_(d),_),B&&(_=Hs(_,7,Bp));for(var de=f.length;de--;)Cu(_,f[de]);return _}),MT=dl(function(d,f){return null==d?{}:function(d,f){return Tv(d,f,function(_,B){return eg(d,B)})}(d,f)});function Hw(d,f){if(null==d)return{};var _=Yi(P_(d),function(B){return[B]});return f=Fn(f),Tv(d,_,function(B,de){return f(B,de[0])})}var DT=Ou(Os),$w=Ou(no);function th(d){return null==d?[]:i_(d,Os(d))}var PT=Wl(function(d,f,_){return f=f.toLowerCase(),d+(_?yy(f):f)});function yy(d){return ig(zi(d).toLowerCase())}function by(d){return(d=zi(d))&&d.replace(xa,uF).replace(Jm,"")}var kT=Wl(function(d,f,_){return d+(_?"-":"")+f.toLowerCase()}),LT=Wl(function(d,f,_){return d+(_?" ":"")+f.toLowerCase()}),KF=Pp("toLowerCase"),zT=Wl(function(d,f,_){return d+(_?"_":"")+f.toLowerCase()}),Ey=Wl(function(d,f,_){return d+(_?" ":"")+ig(f)}),Qw=Wl(function(d,f,_){return d+(_?" ":"")+f.toUpperCase()}),ig=Pp("toUpperCase");function Ay(d,f,_){return d=zi(d),(f=_?ee:f)===ee?function(ct){return jl.test(ct)}(d)?function(ct){return ct.match(sv)||[]}(d):function(ct){return ct.match(zn)||[]}(d):d.match(f)||[]}var Ty=pi(function(d,f){try{return ls(d,ee,f)}catch(_){return La(_)?_:new Dn(_)}}),Zw=dl(function(d,f){return Us(f,function(_){_=ni(_),al(d,_,af(d[_],d))}),d});function My(d){return function(){return d}}var QF=Iu(),Pu=Iu(!0);function io(d){return d}function Fu(d){return nA("function"==typeof d?d:Hs(d,1))}var Dy=pi(function(d,f){return function(_){return Pa(_,d,f)}}),Jw=pi(function(d,f){return function(_){return Pa(d,_,f)}});function Iy(d,f,_){var B=Os(f),de=Kh(f,B);null==_&&(!Tr(f)||!de.length&&B.length)&&(_=f,f=d,d=this,de=Kh(f,Os(f)));var Ne=!(Tr(_)&&"chain"in _&&!_.chain),Xe=la(d);return Us(de,function(tt){var dt=f[tt];d[tt]=dt,Xe&&(d.prototype[tt]=function(){var kt=this.__chain__;if(Ne||kt){var Lt=d(this.__wrapped__),zt=Lt.__actions__=eo(this.__actions__);return zt.push({func:dt,args:arguments,thisArg:d}),Lt.__chain__=kt,Lt}return dt.apply(d,zr([this.value()],arguments))})}),d}function Oy(){}var XT=Fp(Yi),QT=Fp(ti),tE=Fp(Ro);function ku(d){return ra(d)?t_(ni(d)):function(d){return function(f){return ea(f,d)}}(d)}var ZT=Fv(),JT=Fv(!0);function Vc(){return[]}function Ny(){return!1}var Wn=R_(function(d,f){return d+f},0),Py=Gd("ceil"),JF=R_(function(d,f){return d/f},1),Ql=Gd("floor"),sE=R_(function(d,f){return d*f},1),oE=Gd("round"),aE=R_(function(d,f){return d-f},0);return De.after=function(d,f){if("function"!=typeof f)throw new Da(we);return d=Jn(d),function(){if(--d<1)return f.apply(this,arguments)}},De.ary=Kp,De.assign=bT,De.assignIn=vT,De.assignInWith=Qd,De.assignWith=wT,De.at=kw,De.before=sy,De.bind=af,De.bindAll=Zw,De.bindKey=Xd,De.castArray=function(){if(!arguments.length)return[];var d=arguments[0];return Rn(d)?d:[d]},De.chain=Z_,De.chunk=function(d,f,_){f=(_?Ws(d,f,_):f===ee)?1:Hr(Jn(f),0);var B=null==d?0:d.length;if(!B||f<1)return[];for(var de=0,Ne=0,Xe=St(Vt(B/f));dede?0:de+_),(B=B===ee||B>de?de:Jn(B))<0&&(B+=de),B=_>B?0:py(B);_>>0)?(d=zi(d))&&("string"==typeof f||null!=f&&!Nw(f))&&!(f=Lo(f))&&Ph(d)?cl(il(d),0,_):d.split(f,_):[]},De.spread=function(d,f){if("function"!=typeof d)throw new Da(we);return f=null==f?0:Hr(Jn(f),0),pi(function(_){var B=_[f],de=cl(_,0,f);return B&&zr(de,B),ls(d,this,de)})},De.tail=function(d){var f=null==d?0:d.length;return f?Ds(d,1,f):[]},De.take=function(d,f,_){return d&&d.length?Ds(d,0,(f=_||f===ee?1:Jn(f))<0?0:f):[]},De.takeRight=function(d,f,_){var B=null==d?0:d.length;return B?Ds(d,(f=B-(f=_||f===ee?1:Jn(f)))<0?0:f,B):[]},De.takeRightWhile=function(d,f){return d&&d.length?Au(d,Fn(f,3),!1,!0):[]},De.takeWhile=function(d,f){return d&&d.length?Au(d,Fn(f,3)):[]},De.tap=function(d,f){return f(d),d},De.throttle=function(d,f,_){var B=!0,de=!0;if("function"!=typeof d)throw new Da(we);return Tr(_)&&(B="leading"in _?!!_.leading:B,de="trailing"in _?!!_.trailing:de),ww(d,f,{leading:B,maxWait:f,trailing:de})},De.thru=Yd,De.toArray=Pw,De.toPairs=DT,De.toPairsIn=$w,De.toPath=function(d){return Rn(d)?Yi(d,ni):ca(d)?[d]:eo(qv(zi(d)))},De.toPlainObject=Fw,De.transform=function(d,f,_){var B=Rn(d),de=B||gl(d)||cf(d);if(f=Fn(f,4),null==_){var Ne=d&&d.constructor;_=de?B?new Ne:[]:Tr(d)&&la(Ne)?wu(Ia(d)):{}}return(de?Us:ll)(d,function(Xe,tt,dt){return f(_,Xe,tt,dt)}),_},De.unary=function(d){return Kp(d,1)},De.union=iw,De.unionBy=UA,De.unionWith=zA,De.uniq=function(d){return d&&d.length?Rc(d):[]},De.uniqBy=function(d,f){return d&&d.length?Rc(d,Fn(f,2)):[]},De.uniqWith=function(d,f){return f="function"==typeof f?f:ee,d&&d.length?Rc(d,ee,f):[]},De.unset=function(d,f){return null==d||Cu(d,f)},De.unzip=rw,De.unzipWith=GA,De.update=function(d,f,_){return null==d?d:Op(d,f,I_(_))},De.updateWith=function(d,f,_,B){return B="function"==typeof B?B:ee,null==d?d:Op(d,f,I_(_),B)},De.values=th,De.valuesIn=function(d){return null==d?[]:i_(d,no(d))},De.without=sw,De.words=Ay,De.wrap=function(d,f){return Xp(I_(f),d)},De.xor=BF,De.xorBy=jo,De.xorWith=X_,De.zip=Q_,De.zipObject=function(d,f){return Rp(d||[],f||[],ol)},De.zipObjectDeep=function(d,f){return Rp(d||[],f||[],Ip)},De.zipWith=of,De.entries=DT,De.entriesIn=$w,De.extend=vT,De.extendWith=Qd,Iy(De,De),De.add=Wn,De.attempt=Ty,De.camelCase=PT,De.capitalize=yy,De.ceil=Py,De.clamp=function(d,f,_){return _===ee&&(_=f,f=ee),_!==ee&&(_=(_=vo(_))==_?_:0),f!==ee&&(f=(f=vo(f))==f?f:0),Eu(vo(d),f,_)},De.clone=function(d){return Hs(d,4)},De.cloneDeep=function(d){return Hs(d,5)},De.cloneDeepWith=function(d,f){return Hs(d,5,f="function"==typeof f?f:ee)},De.cloneWith=function(d,f){return Hs(d,4,f="function"==typeof f?f:ee)},De.conformsTo=function(d,f){return null==f||Ap(d,f,Os(f))},De.deburr=by,De.defaultTo=function(d,f){return null==d||d!=d?f:d},De.divide=JF,De.endsWith=function(d,f,_){d=zi(d),f=Lo(f);var B=d.length,de=_=_===ee?B:Eu(Jn(_),0,B);return(_-=f.length)>=0&&d.slice(_,de)==f},De.eq=In,De.escape=function(d){return(d=zi(d))&&Jt.test(d)?d.replace(Sa,dF):d},De.escapeRegExp=function(d){return(d=zi(d))&&ht.test(d)?d.replace($e,"\\$&"):d},De.every=function(d,f,_){var B=Rn(d)?ti:Ev;return _&&Ws(d,f,_)&&(f=ee),B(d,Fn(f,3))},De.find=XA,De.findIndex=G_,De.findKey=function(d,f){return Rh(d,Fn(f,3),ll)},De.findLast=QA,De.findLastIndex=$_,De.findLastKey=function(d,f){return Rh(d,Fn(f,3),Tp)},De.floor=Ql,De.forEach=iy,De.forEachRight=Wp,De.forIn=function(d,f){return null==d?d:Pd(d,Fn(f,3),no)},De.forInRight=function(d,f){return null==d?d:Fd(d,Fn(f,3),no)},De.forOwn=function(d,f){return d&&ll(d,Fn(f,3))},De.forOwnRight=function(d,f){return d&&Tp(d,Fn(f,3))},De.get=hf,De.gt=Zt,De.gte=Tw,De.has=function(d,f){return null!=d&&zv(d,f,kd)},De.hasIn=eg,De.head=Kv,De.identity=io,De.includes=function(d,f,_,B){d=bo(d)?d:th(d),_=_&&!B?Jn(_):0;var de=d.length;return _<0&&(_=Hr(de+_,0)),hy(d)?_<=de&&d.indexOf(f,_)>-1:!!de&&nl(d,f,_)>-1},De.indexOf=function(d,f,_){var B=null==d?0:d.length;if(!B)return-1;var de=null==_?0:Jn(_);return de<0&&(de=Hr(B+de,0)),nl(d,f,de)},De.inRange=function(d,f,_){return f=ml(f),_===ee?(_=f,f=0):_=ml(_),function(d,f,_){return d>=ms(f,_)&&d=-Ie&&d<=Ie},De.isSet=yT,De.isString=hy,De.isSymbol=ca,De.isTypedArray=cf,De.isUndefined=function(d){return d===ee},De.isWeakMap=function(d){return Mr(d)&&$s(d)==z},De.isWeakSet=function(d){return Mr(d)&&"[object WeakSet]"==Ms(d)},De.join=function(d,f){return null==d?"":jh.call(d,f)},De.kebabCase=kT,De.last=sa,De.lastIndexOf=function(d,f,_){var B=null==d?0:d.length;if(!B)return-1;var de=B;return _!==ee&&(de=(de=Jn(_))<0?Hr(B+de,0):ms(de,B-1)),f==f?function(ct,It,St){for(var hn=St+1;hn--;)if(ct[hn]===It)return hn;return hn}(d,f,de):Cd(d,Ac,de,!0)},De.lowerCase=LT,De.lowerFirst=KF,De.lt=Bc,De.lte=fy,De.max=function(d){return d&&d.length?Yh(d,io,Fo):ee},De.maxBy=function(d,f){return d&&d.length?Yh(d,Fn(f,2),Fo):ee},De.mean=function(d){return Cs(d,io)},De.meanBy=function(d,f){return Cs(d,Fn(f,2))},De.min=function(d){return d&&d.length?Yh(d,io,Av):ee},De.minBy=function(d,f){return d&&d.length?Yh(d,Fn(f,2),Av):ee},De.stubArray=Vc,De.stubFalse=Ny,De.stubObject=function(){return{}},De.stubString=function(){return""},De.stubTrue=function(){return!0},De.multiply=sE,De.nth=function(d,f){return d&&d.length?xu(d,Jn(f)):ee},De.noConflict=function(){return Vi._===this&&(Vi._=c_),this},De.noop=Oy,De.now=Nu,De.pad=function(d,f,_){d=zi(d);var B=(f=Jn(f))?Fh(d):0;if(!f||B>=f)return d;var de=(f-B)/2;return kp(Ei(de),_)+d+kp(Vt(de),_)},De.padEnd=function(d,f,_){d=zi(d);var B=(f=Jn(f))?Fh(d):0;return f&&Bf){var B=d;d=f,f=B}if(_||d%1||f%1){var de=Vh();return ms(d+de*(f-d+DC("1e-"+((de+"").length-1))),f)}return Gl(d,f)},De.reduce=function(d,f,_){var B=Rn(d)?_u:Zo,de=arguments.length<3;return B(d,Fn(f,4),_,de,Ic)},De.reduceRight=function(d,f,_){var B=Rn(d)?xd:Zo,de=arguments.length<3;return B(d,Fn(f,4),_,de,E_)},De.repeat=function(d,f,_){return f=(_?Ws(d,f,_):f===ee)?1:Jn(f),Dp(zi(d),f)},De.replace=function(){var d=arguments,f=zi(d[0]);return d.length<3?f:f.replace(d[1],d[2])},De.result=function(d,f,_){var B=-1,de=(f=Pc(f,d)).length;for(de||(de=1,d=ee);++BIe)return[];var _=ve,B=ms(d,ve);f=Fn(f),d-=ve;for(var de=Td(B,f);++_=Ne)return d;var tt=_-Fh(B);if(tt<1)return B;var dt=Xe?cl(Xe,0,tt).join(""):d.slice(0,tt);if(de===ee)return dt+B;if(Xe&&(tt+=dt.length-tt),Nw(de)){if(d.slice(tt).search(de)){var kt,Lt=dt;for(de.global||(de=a_(de.source,zi($n.exec(de))+"g")),de.lastIndex=0;kt=de.exec(Lt);)var zt=kt.index;dt=dt.slice(0,zt===ee?tt:zt)}}else if(d.indexOf(Lo(de),tt)!=tt){var en=dt.lastIndexOf(de);en>-1&&(dt=dt.slice(0,en))}return dt+B},De.unescape=function(d){return(d=zi(d))&&Es.test(d)?d.replace(kl,o_):d},De.uniqueId=function(d){var f=++yF;return zi(d)+f},De.upperCase=Qw,De.upperFirst=ig,De.each=iy,De.eachRight=Wp,De.first=Kv,Iy(De,function(){var d={};return ll(De,function(f,_){Xi.call(De.prototype,_)||(d[_]=f)}),d}(),{chain:!1}),De.VERSION="4.17.21",Us(["bind","bindKey","curry","curryRight","partial","partialRight"],function(d){De[d].placeholder=De}),Us(["drop","take"],function(d,f){fi.prototype[d]=function(_){_=_===ee?1:Hr(Jn(_),0);var B=this.__filtered__&&!f?new fi(this):this.clone();return B.__filtered__?B.__takeCount__=ms(_,B.__takeCount__):B.__views__.push({size:ms(_,ve),type:d+(B.__dir__<0?"Right":"")}),B},fi.prototype[d+"Right"]=function(_){return this.reverse()[d](_).reverse()}}),Us(["filter","map","takeWhile"],function(d,f){var _=f+1,B=1==_||3==_;fi.prototype[d]=function(de){var Ne=this.clone();return Ne.__iteratees__.push({iteratee:Fn(de,3),type:_}),Ne.__filtered__=Ne.__filtered__||B,Ne}}),Us(["head","last"],function(d,f){var _="take"+(f?"Right":"");fi.prototype[d]=function(){return this[_](1).value()[0]}}),Us(["initial","tail"],function(d,f){var _="drop"+(f?"":"Right");fi.prototype[d]=function(){return this.__filtered__?new fi(this):this[_](1)}}),fi.prototype.compact=function(){return this.filter(io)},fi.prototype.find=function(d){return this.filter(d).head()},fi.prototype.findLast=function(d){return this.reverse().find(d)},fi.prototype.invokeMap=pi(function(d,f){return"function"==typeof d?new fi(this):this.map(function(_){return Pa(_,d,f)})}),fi.prototype.reject=function(d){return this.filter(ly(Fn(d)))},fi.prototype.slice=function(d,f){d=Jn(d);var _=this;return _.__filtered__&&(d>0||f<0)?new fi(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),f!==ee&&(_=(f=Jn(f))<0?_.dropRight(-f):_.take(f-d)),_)},fi.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},fi.prototype.toArray=function(){return this.take(ve)},ll(fi.prototype,function(d,f){var _=/^(?:filter|find|map|reject)|While$/.test(f),B=/^(?:head|last)$/.test(f),de=De[B?"take"+("last"==f?"Right":""):f],Ne=B||/^find/.test(f);!de||(De.prototype[f]=function(){var Xe=this.__wrapped__,tt=B?[1]:arguments,dt=Xe instanceof fi,kt=tt[0],Lt=dt||Rn(Xe),zt=function(mi){var Mi=de.apply(De,zr([mi],tt));return B&&en?Mi[0]:Mi};Lt&&_&&"function"==typeof kt&&1!=kt.length&&(dt=Lt=!1);var en=this.__chain__,wn=!!this.__actions__.length,Ln=Ne&&!en,gi=dt&&!wn;if(!Ne&&Lt){Xe=gi?Xe:new fi(this);var jn=d.apply(Xe,tt);return jn.__actions__.push({func:Yd,args:[zt],thisArg:ee}),new Po(jn,en)}return Ln&&gi?d.apply(this,tt):(jn=this.thru(zt),Ln?B?jn.value()[0]:jn.value():jn)})}),Us(["pop","push","shift","sort","splice","unshift"],function(d){var f=gr[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",B=/^(?:pop|shift)$/.test(d);De.prototype[d]=function(){var de=arguments;if(B&&!this.__chain__){var Ne=this.value();return f.apply(Rn(Ne)?Ne:[],de)}return this[_](function(Xe){return f.apply(Rn(Xe)?Xe:[],de)})}}),ll(fi.prototype,function(d,f){var _=De[f];if(_){var B=_.name+"";Xi.call(Id,B)||(Id[B]=[]),Id[B].push({name:f,func:_})}}),Id[kc(ee,2).name]=[{name:"wrapper",func:ee}],fi.prototype.clone=function(){var d=new fi(this.__wrapped__);return d.__actions__=eo(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=eo(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=eo(this.__views__),d},fi.prototype.reverse=function(){if(this.__filtered__){var d=new fi(this);d.__dir__=-1,d.__filtered__=!0}else(d=this.clone()).__dir__*=-1;return d},fi.prototype.value=function(){var d=this.__wrapped__.value(),f=this.__dir__,_=Rn(d),B=f<0,de=_?d.length:0,Ne=function(d,f,_){for(var B=-1,de=_.length;++B=this.__values__.length;return{done:d,value:d?ee:this.__values__[this.__index__++]}},De.prototype.plant=function(d){for(var f,_=this;_ instanceof Gh;){var B=nf(_);B.__index__=0,B.__values__=ee,f?de.__wrapped__=B:f=B;var de=B;_=_.__wrapped__}return de.__wrapped__=d,f},De.prototype.reverse=function(){var d=this.__wrapped__;if(d instanceof fi){var f=d;return this.__actions__.length&&(f=new fi(this)),(f=f.reverse()).__actions__.push({func:Yd,args:[K_],thisArg:ee}),new Po(f,this.__chain__)}return this.thru(K_)},De.prototype.toJSON=De.prototype.valueOf=De.prototype.value=function(){return oA(this.__wrapped__,this.__actions__)},De.prototype.first=De.prototype.head,Bh&&(De.prototype[Bh]=function(){return this}),De}();Vi._=kh,(lt=function(){return kh}.call(Ye,Je,Ye,jt))!==ee&&(jt.exports=lt)}.call(this)},478:function(jt){jt.exports=function(){"use strict";function Ye(ot,ut){for(var ft=0;ftot.length)&&(ut=ot.length);for(var ft=0,be=new Array(ut);ft=ot.length?{done:!0}:{done:!1,value:ot[be++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var je={exports:{}};function Q(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}je.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Q,changeDefaults:function(ot){je.exports.defaults=ot}};var fe=/[&<>"']/,K=/[&<>"']/g,V=/[<>"']|&(?!#?\w+;)/,F=/[<>"']|&(?!#?\w+;)/g,Y={"&":"&","<":"<",">":">",'"':""","'":"'"},L=function(ut){return Y[ut]};var C=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function R(ot){return ot.replace(C,function(ut,ft){return"colon"===(ft=ft.toLowerCase())?":":"#"===ft.charAt(0)?"x"===ft.charAt(1)?String.fromCharCode(parseInt(ft.substring(2),16)):String.fromCharCode(+ft.substring(1)):""})}var T=/(^|[^\[])\^/g;var v=/[^\w:]/g,b=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var A={},E=/^[^:]+:\/*[^/]*$/,I=/^([^:]+:)[\s\S]*$/,H=/^([^:]+:\/*[^/]*)[\s\S]*$/;function M(ot,ut){A[" "+ot]||(A[" "+ot]=E.test(ot)?ot+"/":G(ot,"/",!0));var ft=-1===(ot=A[" "+ot]).indexOf(":");return"//"===ut.substring(0,2)?ft?ut:ot.replace(I,"$1")+ut:"/"===ut.charAt(0)?ft?ut:ot.replace(H,"$1")+ut:ot+ut}function G(ot,ut,ft){var be=ot.length;if(0===be)return"";for(var Ce=0;Ce1;)1&ut&&(ft+=ot),ut>>=1,ot+=ot;return ft+ot},Ie=je.exports.defaults,ye=G,re=function(ot,ut){var be=ot.replace(/\|/g,function($e,ht,it){for(var Tt=!1,Mt=ht;--Mt>=0&&"\\"===it[Mt];)Tt=!Tt;return Tt?"|":" |"}).split(/ \|/),Ce=0;if(be.length>ut)be.splice(ut);else for(;be.length1?{type:"space",raw:Ce[0]}:{raw:"\n"}},ut.code=function(be){var Ce=this.rules.block.code.exec(be);if(Ce){var $e=Ce[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:Ce[0],codeBlockStyle:"indented",text:this.options.pedantic?$e:ye($e,"\n")}}},ut.fences=function(be){var Ce=this.rules.block.fences.exec(be);if(Ce){var $e=Ce[0],ht=function(ot,ut){var ft=ot.match(/^(\s+)(?:```)/);if(null===ft)return ut;var be=ft[1];return ut.split("\n").map(function(Ce){var $e=Ce.match(/^\s+/);return null===$e?Ce:$e[0].length>=be.length?Ce.slice(be.length):Ce}).join("\n")}($e,Ce[3]||"");return{type:"code",raw:$e,lang:Ce[2]?Ce[2].trim():Ce[2],text:ht}}},ut.heading=function(be){var Ce=this.rules.block.heading.exec(be);if(Ce){var $e=Ce[2].trim();if(/#$/.test($e)){var ht=ye($e,"#");(this.options.pedantic||!ht||/ $/.test(ht))&&($e=ht.trim())}return{type:"heading",raw:Ce[0],depth:Ce[1].length,text:$e}}},ut.nptable=function(be){var Ce=this.rules.block.nptable.exec(be);if(Ce){var $e={type:"table",header:re(Ce[1].replace(/^ *| *\| *$/g,"")),align:Ce[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:Ce[3]?Ce[3].replace(/\n$/,"").split("\n"):[],raw:Ce[0]};if($e.header.length===$e.align.length){var it,ht=$e.align.length;for(it=0;it ?/gm,"");return{type:"blockquote",raw:Ce[0],text:$e}}},ut.list=function(be){var Ce=this.rules.block.list.exec(be);if(Ce){var Xt,zn,ai,Nn,bn,$n,Tn,lr,cr,$e=Ce[0],ht=Ce[2],it=ht.length>1,Tt={type:"list",raw:$e,ordered:it,start:it?+ht.slice(0,-1):"",loose:!1,items:[]},Mt=Ce[0].match(this.rules.block.item),Dt=!1,Xn=Mt.length;ai=this.rules.block.listItemStart.exec(Mt[0]);for(var $i=0;$iai[1].length:Nn[1].length>=ai[0].length||Nn[1].length>3){Mt.splice($i,2,Mt[$i]+(!this.options.pedantic&&Nn[1].length/i.test(ht[0])&&(Ce=!1),!$e&&/^<(pre|code|kbd|script)(\s|>)/i.test(ht[0])?$e=!0:$e&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ht[0])&&($e=!1),{type:this.options.sanitize?"text":"html",raw:ht[0],inLink:Ce,inRawBlock:$e,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ht[0]):ve(ht[0]):ht[0]}},ut.link=function(be){var Ce=this.rules.inline.link.exec(be);if(Ce){var $e=Ce[2].trim();if(!this.options.pedantic&&/^$/.test($e))return;var ht=ye($e.slice(0,-1),"\\");if(($e.length-ht.length)%2==0)return}else{var it=Fe(Ce[2],"()");if(it>-1){var Mt=(0===Ce[0].indexOf("!")?5:4)+Ce[1].length+it;Ce[2]=Ce[2].substring(0,it),Ce[0]=Ce[0].substring(0,Mt).trim(),Ce[3]=""}}var Dt=Ce[2],Xt="";if(this.options.pedantic){var zn=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Dt);zn&&(Dt=zn[1],Xt=zn[3])}else Xt=Ce[3]?Ce[3].slice(1,-1):"";return Dt=Dt.trim(),/^$/.test($e)?Dt.slice(1):Dt.slice(1,-1)),Qe(Ce,{href:Dt&&Dt.replace(this.rules.inline._escapes,"$1"),title:Xt&&Xt.replace(this.rules.inline._escapes,"$1")},Ce[0])}},ut.reflink=function(be,Ce){var $e;if(($e=this.rules.inline.reflink.exec(be))||($e=this.rules.inline.nolink.exec(be))){var ht=($e[2]||$e[1]).replace(/\s+/g," ");if(!(ht=Ce[ht.toLowerCase()])||!ht.href){var it=$e[0].charAt(0);return{type:"text",raw:it,text:it}}return Qe($e,ht,$e[0])}},ut.emStrong=function(be,Ce,$e){void 0===$e&&($e="");var ht=this.rules.inline.emStrong.lDelim.exec(be);if(ht&&(!ht[3]||!$e.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var it=ht[1]||ht[2]||"";if(!it||it&&(""===$e||this.rules.inline.punctuation.exec($e))){var Mt,Dt,Tt=ht[0].length-1,Xt=Tt,zn=0,ai="*"===ht[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ai.lastIndex=0,Ce=Ce.slice(-1*be.length+Tt);null!=(ht=ai.exec(Ce));)if(Mt=ht[1]||ht[2]||ht[3]||ht[4]||ht[5]||ht[6]){if(Dt=Mt.length,ht[3]||ht[4]){Xt+=Dt;continue}if((ht[5]||ht[6])&&Tt%3&&!((Tt+Dt)%3)){zn+=Dt;continue}if(!((Xt-=Dt)>0))return Dt=Math.min(Dt,Dt+Xt+zn),Math.min(Tt,Dt)%2?{type:"em",raw:be.slice(0,Tt+ht.index+Dt+1),text:be.slice(1,Tt+ht.index+Dt)}:{type:"strong",raw:be.slice(0,Tt+ht.index+Dt+1),text:be.slice(2,Tt+ht.index+Dt-1)}}}}},ut.codespan=function(be){var Ce=this.rules.inline.code.exec(be);if(Ce){var $e=Ce[2].replace(/\n/g," "),ht=/[^ ]/.test($e),it=/^ /.test($e)&&/ $/.test($e);return ht&&it&&($e=$e.substring(1,$e.length-1)),$e=ve($e,!0),{type:"codespan",raw:Ce[0],text:$e}}},ut.br=function(be){var Ce=this.rules.inline.br.exec(be);if(Ce)return{type:"br",raw:Ce[0]}},ut.del=function(be){var Ce=this.rules.inline.del.exec(be);if(Ce)return{type:"del",raw:Ce[0],text:Ce[2]}},ut.autolink=function(be,Ce){var ht,it,$e=this.rules.inline.autolink.exec(be);if($e)return it="@"===$e[2]?"mailto:"+(ht=ve(this.options.mangle?Ce($e[1]):$e[1])):ht=ve($e[1]),{type:"link",raw:$e[0],text:ht,href:it,tokens:[{type:"text",raw:ht,text:ht}]}},ut.url=function(be,Ce){var $e;if($e=this.rules.inline.url.exec(be)){var ht,it;if("@"===$e[2])it="mailto:"+(ht=ve(this.options.mangle?Ce($e[0]):$e[0]));else{var Tt;do{Tt=$e[0],$e[0]=this.rules.inline._backpedal.exec($e[0])[0]}while(Tt!==$e[0]);ht=ve($e[0]),it="www."===$e[1]?"http://"+ht:ht}return{type:"link",raw:$e[0],text:ht,href:it,tokens:[{type:"text",raw:ht,text:ht}]}}},ut.inlineText=function(be,Ce,$e){var it,ht=this.rules.inline.text.exec(be);if(ht)return it=Ce?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ht[0]):ve(ht[0]):ht[0]:ve(this.options.smartypants?$e(ht[0]):ht[0]),{type:"text",raw:ht[0],text:it}},ot}(),ae=te_noopTest,_e=te_edit,Te=te_merge,xe={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:ae,table:ae,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};xe.def=_e(xe.def).replace("label",xe._label).replace("title",xe._title).getRegex(),xe.bullet=/(?:[*+-]|\d{1,9}[.)])/,xe.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,xe.item=_e(xe.item,"gm").replace(/bull/g,xe.bullet).getRegex(),xe.listItemStart=_e(/^( *)(bull) */).replace("bull",xe.bullet).getRegex(),xe.list=_e(xe.list).replace(/bull/g,xe.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+xe.def.source+")").getRegex(),xe._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",xe._comment=/|$)/,xe.html=_e(xe.html,"i").replace("comment",xe._comment).replace("tag",xe._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),xe.paragraph=_e(xe._paragraph).replace("hr",xe.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",xe._tag).getRegex(),xe.blockquote=_e(xe.blockquote).replace("paragraph",xe.paragraph).getRegex(),xe.normal=Te({},xe),xe.gfm=Te({},xe.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),xe.gfm.nptable=_e(xe.gfm.nptable).replace("hr",xe.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",xe._tag).getRegex(),xe.gfm.table=_e(xe.gfm.table).replace("hr",xe.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",xe._tag).getRegex(),xe.pedantic=Te({},xe.normal,{html:_e("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",xe._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:ae,paragraph:_e(xe.normal._paragraph).replace("hr",xe.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",xe.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ge={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:ae,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:ae,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ge.punctuation=_e(Ge.punctuation).replace(/punctuation/g,Ge._punctuation).getRegex(),Ge.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ge.escapedEmSt=/\\\*|\\_/g,Ge._comment=_e(xe._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ge.emStrong.lDelim=_e(Ge.emStrong.lDelim).replace(/punct/g,Ge._punctuation).getRegex(),Ge.emStrong.rDelimAst=_e(Ge.emStrong.rDelimAst,"g").replace(/punct/g,Ge._punctuation).getRegex(),Ge.emStrong.rDelimUnd=_e(Ge.emStrong.rDelimUnd,"g").replace(/punct/g,Ge._punctuation).getRegex(),Ge._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ge._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ge._email=/[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])?)+(?![-_])/,Ge.autolink=_e(Ge.autolink).replace("scheme",Ge._scheme).replace("email",Ge._email).getRegex(),Ge._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ge.tag=_e(Ge.tag).replace("comment",Ge._comment).replace("attribute",Ge._attribute).getRegex(),Ge._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ge._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ge._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ge.link=_e(Ge.link).replace("label",Ge._label).replace("href",Ge._href).replace("title",Ge._title).getRegex(),Ge.reflink=_e(Ge.reflink).replace("label",Ge._label).getRegex(),Ge.reflinkSearch=_e(Ge.reflinkSearch,"g").replace("reflink",Ge.reflink).replace("nolink",Ge.nolink).getRegex(),Ge.normal=Te({},Ge),Ge.pedantic=Te({},Ge.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:_e(/^!?\[(label)\]\((.*?)\)/).replace("label",Ge._label).getRegex(),reflink:_e(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ge._label).getRegex()}),Ge.gfm=Te({},Ge.normal,{escape:_e(Ge.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(be="x"+be.toString(16)),ut+="&#"+be+";";return ut}var qe=function(){function ot(ft){this.tokens=[],this.tokens.links=Object.create(null),this.options=ft||Ke,this.options.tokenizer=this.options.tokenizer||new Ue,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var be={block:Be.normal,inline:X.normal};this.options.pedantic?(be.block=Be.pedantic,be.inline=X.pedantic):this.options.gfm&&(be.block=Be.gfm,be.inline=this.options.breaks?X.breaks:X.gfm),this.tokenizer.rules=be}ot.lex=function(be,Ce){return new ot(Ce).lex(be)},ot.lexInline=function(be,Ce){return new ot(Ce).inlineTokens(be)};var ut=ot.prototype;return ut.lex=function(be){return be=be.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(be,this.tokens,!0),this.inline(this.tokens),this.tokens},ut.blockTokens=function(be,Ce,$e){var it,Tt,Mt,Dt,Xt,zn,ht=this;for(void 0===Ce&&(Ce=[]),void 0===$e&&($e=!0),this.options.pedantic&&(be=be.replace(/^ +$/gm,""));be;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Nn){return!!(it=Nn.call(ht,be,Ce))&&(be=be.substring(it.raw.length),Ce.push(it),!0)}))){if(it=this.tokenizer.space(be)){be=be.substring(it.raw.length),it.type&&Ce.push(it);continue}if(it=this.tokenizer.code(be)){be=be.substring(it.raw.length),(Dt=Ce[Ce.length-1])&&"paragraph"===Dt.type?(Dt.raw+="\n"+it.raw,Dt.text+="\n"+it.text):Ce.push(it);continue}if(it=this.tokenizer.fences(be)){be=be.substring(it.raw.length),Ce.push(it);continue}if(it=this.tokenizer.heading(be)){be=be.substring(it.raw.length),Ce.push(it);continue}if(it=this.tokenizer.nptable(be)){be=be.substring(it.raw.length),Ce.push(it);continue}if(it=this.tokenizer.hr(be)){be=be.substring(it.raw.length),Ce.push(it);continue}if(it=this.tokenizer.blockquote(be)){be=be.substring(it.raw.length),it.tokens=this.blockTokens(it.text,[],$e),Ce.push(it);continue}if(it=this.tokenizer.list(be)){for(be=be.substring(it.raw.length),Mt=it.items.length,Tt=0;Tt=0&&(Nn=Math.min(Nn,$n))}),Nn<1/0&&Nn>=0&&(Xt=be.substring(0,Nn+1))}(),$e&&(it=this.tokenizer.paragraph(Xt))){Dt=Ce[Ce.length-1],zn&&"paragraph"===Dt.type?(Dt.raw+="\n"+it.raw,Dt.text+="\n"+it.text):Ce.push(it),zn=Xt.length!==be.length,be=be.substring(it.raw.length);continue}if(it=this.tokenizer.text(be)){be=be.substring(it.raw.length),(Dt=Ce[Ce.length-1])&&"text"===Dt.type?(Dt.raw+="\n"+it.raw,Dt.text+="\n"+it.text):Ce.push(it);continue}if(be){var ai="Infinite loop on byte: "+be.charCodeAt(0);if(this.options.silent){console.error(ai);break}throw new Error(ai)}}return Ce},ut.inline=function(be){var Ce,$e,ht,it,Tt,Mt,Dt=be.length;for(Ce=0;Ce0)for(;null!=(zn=this.tokenizer.rules.inline.reflinkSearch.exec(Xt));)bn.includes(zn[0].slice(zn[0].lastIndexOf("[")+1,-1))&&(Xt=Xt.slice(0,zn.index)+"["+q("a",zn[0].length-2)+"]"+Xt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(zn=this.tokenizer.rules.inline.blockSkip.exec(Xt));)Xt=Xt.slice(0,zn.index)+"["+q("a",zn[0].length-2)+"]"+Xt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(zn=this.tokenizer.rules.inline.escapedEmSt.exec(Xt));)Xt=Xt.slice(0,zn.index)+"++"+Xt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;be;)if(ai||(Nn=""),ai=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Tn){return!!(Tt=Tn.call(it,be,Ce))&&(be=be.substring(Tt.raw.length),Ce.push(Tt),!0)}))){if(Tt=this.tokenizer.escape(be)){be=be.substring(Tt.raw.length),Ce.push(Tt);continue}if(Tt=this.tokenizer.tag(be,$e,ht)){be=be.substring(Tt.raw.length),$e=Tt.inLink,ht=Tt.inRawBlock,(Mt=Ce[Ce.length-1])&&"text"===Tt.type&&"text"===Mt.type?(Mt.raw+=Tt.raw,Mt.text+=Tt.text):Ce.push(Tt);continue}if(Tt=this.tokenizer.link(be)){be=be.substring(Tt.raw.length),"link"===Tt.type&&(Tt.tokens=this.inlineTokens(Tt.text,[],!0,ht)),Ce.push(Tt);continue}if(Tt=this.tokenizer.reflink(be,this.tokens.links)){be=be.substring(Tt.raw.length),Mt=Ce[Ce.length-1],"link"===Tt.type?(Tt.tokens=this.inlineTokens(Tt.text,[],!0,ht),Ce.push(Tt)):Mt&&"text"===Tt.type&&"text"===Mt.type?(Mt.raw+=Tt.raw,Mt.text+=Tt.text):Ce.push(Tt);continue}if(Tt=this.tokenizer.emStrong(be,Xt,Nn)){be=be.substring(Tt.raw.length),Tt.tokens=this.inlineTokens(Tt.text,[],$e,ht),Ce.push(Tt);continue}if(Tt=this.tokenizer.codespan(be)){be=be.substring(Tt.raw.length),Ce.push(Tt);continue}if(Tt=this.tokenizer.br(be)){be=be.substring(Tt.raw.length),Ce.push(Tt);continue}if(Tt=this.tokenizer.del(be)){be=be.substring(Tt.raw.length),Tt.tokens=this.inlineTokens(Tt.text,[],$e,ht),Ce.push(Tt);continue}if(Tt=this.tokenizer.autolink(be,le)){be=be.substring(Tt.raw.length),Ce.push(Tt);continue}if(!$e&&(Tt=this.tokenizer.url(be,le))){be=be.substring(Tt.raw.length),Ce.push(Tt);continue}if(Dt=be,this.options.extensions&&this.options.extensions.startInline&&function(){var Tn=1/0,lr=be.slice(1),cr=void 0;it.options.extensions.startInline.forEach(function(Xn){"number"==typeof(cr=Xn.call(this,lr))&&cr>=0&&(Tn=Math.min(Tn,cr))}),Tn<1/0&&Tn>=0&&(Dt=be.substring(0,Tn+1))}(),Tt=this.tokenizer.inlineText(Dt,ht,ge)){be=be.substring(Tt.raw.length),"_"!==Tt.raw.slice(-1)&&(Nn=Tt.raw.slice(-1)),ai=!0,(Mt=Ce[Ce.length-1])&&"text"===Mt.type?(Mt.raw+=Tt.raw,Mt.text+=Tt.text):Ce.push(Tt);continue}if(be){var $n="Infinite loop on byte: "+be.charCodeAt(0);if(this.options.silent){console.error($n);break}throw new Error($n)}}return Ce},function(ot,ut,ft){ut&&Ye(ot.prototype,ut),ft&&Ye(ot,ft)}(ot,null,[{key:"rules",get:function(){return{block:Be,inline:X}}}]),ot}(),_t=je.exports.defaults,gt=te_cleanUrl,Ae=te_escape,U=function(){function ot(ft){this.options=ft||_t}var ut=ot.prototype;return ut.code=function(be,Ce,$e){var ht=(Ce||"").match(/\S*/)[0];if(this.options.highlight){var it=this.options.highlight(be,ht);null!=it&&it!==be&&($e=!0,be=it)}return be=be.replace(/\n$/,"")+"\n",ht?'
    '+($e?be:Ae(be,!0))+"
    \n":"
    "+($e?be:Ae(be,!0))+"
    \n"},ut.blockquote=function(be){return"
    \n"+be+"
    \n"},ut.html=function(be){return be},ut.heading=function(be,Ce,$e,ht){return this.options.headerIds?"'+be+"\n":""+be+"\n"},ut.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},ut.list=function(be,Ce,$e){var ht=Ce?"ol":"ul";return"<"+ht+(Ce&&1!==$e?' start="'+$e+'"':"")+">\n"+be+"\n"},ut.listitem=function(be){return"
  • "+be+"
  • \n"},ut.checkbox=function(be){return" "},ut.paragraph=function(be){return"

    "+be+"

    \n"},ut.table=function(be,Ce){return Ce&&(Ce=""+Ce+""),"\n\n"+be+"\n"+Ce+"
    \n"},ut.tablerow=function(be){return"\n"+be+"\n"},ut.tablecell=function(be,Ce){var $e=Ce.header?"th":"td";return(Ce.align?"<"+$e+' align="'+Ce.align+'">':"<"+$e+">")+be+"\n"},ut.strong=function(be){return""+be+""},ut.em=function(be){return""+be+""},ut.codespan=function(be){return""+be+""},ut.br=function(){return this.options.xhtml?"
    ":"
    "},ut.del=function(be){return""+be+""},ut.link=function(be,Ce,$e){if(null===(be=gt(this.options.sanitize,this.options.baseUrl,be)))return $e;var ht='"+$e+""},ut.image=function(be,Ce,$e){if(null===(be=gt(this.options.sanitize,this.options.baseUrl,be)))return $e;var ht=''+$e+'":">")},ut.text=function(be){return be},ot}(),k=function(){function ot(){}var ut=ot.prototype;return ut.strong=function(be){return be},ut.em=function(be){return be},ut.codespan=function(be){return be},ut.del=function(be){return be},ut.html=function(be){return be},ut.text=function(be){return be},ut.link=function(be,Ce,$e){return""+$e},ut.image=function(be,Ce,$e){return""+$e},ut.br=function(){return""},ot}(),z=function(){function ot(){this.seen={}}var ut=ot.prototype;return ut.serialize=function(be){return be.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},ut.getNextSafeSlug=function(be,Ce){var $e=be,ht=0;if(this.seen.hasOwnProperty($e)){ht=this.seen[be];do{$e=be+"-"+ ++ht}while(this.seen.hasOwnProperty($e))}return Ce||(this.seen[be]=ht,this.seen[$e]=0),$e},ut.slug=function(be,Ce){void 0===Ce&&(Ce={});var $e=this.serialize(be);return this.getNextSafeSlug($e,Ce.dryrun)},ot}(),Le=U,nt=k,xt=z,Nt=je.exports.defaults,On=te_unescape,Yn=qe,Ti=function(){function ot(ft){this.options=ft||Nt,this.options.renderer=this.options.renderer||new Le,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new nt,this.slugger=new xt}ot.parse=function(be,Ce){return new ot(Ce).parse(be)},ot.parseInline=function(be,Ce){return new ot(Ce).parseInline(be)};var ut=ot.prototype;return ut.parse=function(be,Ce){void 0===Ce&&(Ce=!0);var ht,it,Tt,Mt,Dt,Xt,zn,ai,Nn,bn,$n,Tn,lr,cr,Xn,$i,xa,Zr,oe,$e="",me=be.length;for(ht=0;ht0&&"text"===Xn.tokens[0].type?(Xn.tokens[0].text=Zr+" "+Xn.tokens[0].text,Xn.tokens[0].tokens&&Xn.tokens[0].tokens.length>0&&"text"===Xn.tokens[0].tokens[0].type&&(Xn.tokens[0].tokens[0].text=Zr+" "+Xn.tokens[0].tokens[0].text)):Xn.tokens.unshift({type:"text",text:Zr}):cr+=Zr),cr+=this.parse(Xn.tokens,lr),Nn+=this.renderer.listitem(cr,xa,$i);$e+=this.renderer.list(Nn,$n,Tn);continue;case"html":$e+=this.renderer.html(bn.text);continue;case"paragraph":$e+=this.renderer.paragraph(this.parseInline(bn.tokens));continue;case"text":for(Nn=bn.tokens?this.parseInline(bn.tokens):bn.text;ht+1An error occurred:

    "+el(Tt.message+"",!0)+"
    ";throw Tt}}return Jt.options=Jt.setOptions=function(ot){return Bs(Jt.defaults,ot),Sa(Jt.defaults),Jt},Jt.getDefaults=kl,Jt.defaults=Es,Jt.use=function(){for(var ot=this,ut=arguments.length,ft=new Array(ut),be=0;beAn error occurred:

    "+el(be.message+"",!0)+"
    ";throw be}},Jt.Parser=Ti,Jt.parser=Ti.parse,Jt.Renderer=Xr,Jt.TextRenderer=Ls,Jt.Lexer=Yn,Jt.lexer=Yn.lex,Jt.Tokenizer=wi,Jt.Slugger=gs,Jt.parse=Jt,Jt}()},369:(jt,Ye,Je)=>{var lt=Je(284),ee=Je(830);function Et(){this.clear()}Et.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},Et.prototype.enqueue=function(je){return this.items.push(je),++this.size},Et.prototype.dequeue=function(){if(this.size){var je=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,je}},Et.prototype.peek=function(){if(this.size)return this.items[this.offset]},Et.prototype.forEach=function(je,Q){Q=arguments.length>1?Q:this;for(var we=this.offset,fe=0,K=this.items.length;we=je.length)return{done:!0};var we=je[Q];return Q++,{value:we,done:!1}})},Et.prototype.entries=function(){var je=this.items,Q=this.offset,we=0;return new lt(function(){if(Q>=je.length)return{done:!0};var fe=je[Q];return Q++,{value:[we++,fe],done:!1}})},"undefined"!=typeof Symbol&&(Et.prototype[Symbol.iterator]=Et.prototype.values),Et.prototype.toString=function(){return this.toArray().join(",")},Et.prototype.toJSON=function(){return this.toArray()},Et.prototype.inspect=function(){var je=this.toArray();return Object.defineProperty(je,"constructor",{value:Et,enumerable:!1}),je},"undefined"!=typeof Symbol&&(Et.prototype[Symbol.for("nodejs.util.inspect.custom")]=Et.prototype.inspect),Et.from=function(je){var Q=new Et;return ee(je,function(we){Q.enqueue(we)}),Q},Et.of=function(){return Et.from(arguments)},jt.exports=Et},104:jt=>{jt.exports=function Ye(Je,lt,ee){function Et(we,fe){if(!lt[we]){if(!Je[we]){if(je)return je(we,!0);throw new Error("Cannot find module '"+we+"'")}fe=lt[we]={exports:{}},Je[we][0].call(fe.exports,function(V){return Et(Je[we][1][V]||V)},fe,fe.exports,Ye,Je,lt,ee)}return lt[we].exports}for(var je=void 0,Q=0;Q>16),S((65280&I)>>8),S(255&I);return 2==H?S(255&(I=x(A.charAt(E))<<2|x(A.charAt(E+1))>>4)):1==H&&(S((I=x(A.charAt(E))<<10|x(A.charAt(E+1))<<4|x(A.charAt(E+2))>>2)>>8&255),S(255&I)),M},Y.fromByteArray=function(A){var E,I,H,M,P=A.length%3,Z="";function S(G){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(G)}for(E=0,H=A.length-P;E>18&63)+S(M>>12&63)+S(M>>6&63)+S(63&M);switch(P){case 1:Z=(Z+=S((I=A[A.length-1])>>2))+S(I<<4&63)+"==";break;case 2:Z=(Z=(Z+=S((I=(A[A.length-2]<<8)+A[A.length-1])>>10))+S(I>>4&63))+S(I<<2&63)+"="}return Z}}(void 0===lt?this.base64js={}:lt)}).call(this,Ye("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Ye("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(Ye,Je,lt){(function(ee,Et,je,Q,we,fe,K,V,F){var Y=Ye("base64-js"),L=Ye("ieee754");function je(J,ae,_e){if(!(this instanceof je))return new je(J,ae,_e);var Te,xe,Ge,Se,Ue=typeof J;if("base64"===ae&&"string"==Ue)for(J=(Se=J).trim?Se.trim():Se.replace(/^\s+|\s+$/g,"");J.length%4!=0;)J+="=";if("number"==Ue)Te=ne(J);else if("string"==Ue)Te=je.byteLength(J,ae);else{if("object"!=Ue)throw new Error("First argument needs to be a number, array or string.");Te=ne(J.length)}if(je._useTypedArrays?xe=je._augment(new Uint8Array(Te)):((xe=this).length=Te,xe._isBuffer=!0),je._useTypedArrays&&"number"==typeof J.byteLength)xe._set(J);else if(ce(Se=J)||je.isBuffer(Se)||Se&&"object"==typeof Se&&"number"==typeof Se.length)for(Ge=0;Ge>>0)):(ae+1>>0),xe}function v(J,ae,_e,Te){if(Te||(He("boolean"==typeof _e,"missing or invalid endian"),He(null!=ae,"missing offset"),He(ae+1>>8*(Te?Ge:1-Ge)}function I(J,ae,_e,Te,xe){if(xe||(He(null!=ae,"missing value"),He("boolean"==typeof Te,"missing or invalid endian"),He(null!=_e,"missing offset"),He(_e+3>>8*(Te?Ge:3-Ge)&255}function H(J,ae,_e,Te,xe){xe||(He(null!=ae,"missing value"),He("boolean"==typeof Te,"missing or invalid endian"),He(null!=_e,"missing offset"),He(_e+1>8,Ue.push(Se%=256),Ue.push(Ge);return Ue}(ae),J,_e,Te)}(this,J,ae,_e);break;default:throw new Error("Unknown encoding")}return xe},je.prototype.toString=function(J,ae,_e){var Te,xe,Ge,Se,Ue=this;if(J=String(J||"utf8").toLowerCase(),ae=Number(ae)||0,(_e=void 0!==_e?Number(_e):Ue.length)===ae)return"";switch(J){case"hex":Te=function(Ke,Be,X){var q=Ke.length;(!Be||Be<0)&&(Be=0),(!X||X<0||qthis.length&&(Te=this.length);var xe=(Te=J.length-ae=this.length))return this[J]},je.prototype.readUInt16LE=function(J,ae){return T(this,J,!0,ae)},je.prototype.readUInt16BE=function(J,ae){return T(this,J,!1,ae)},je.prototype.readUInt32LE=function(J,ae){return y(this,J,!0,ae)},je.prototype.readUInt32BE=function(J,ae){return y(this,J,!1,ae)},je.prototype.readInt8=function(J,ae){if(ae||(He(null!=J,"missing offset"),He(J=this.length))return 128&this[J]?-1*(255-this[J]+1):this[J]},je.prototype.readInt16LE=function(J,ae){return v(this,J,!0,ae)},je.prototype.readInt16BE=function(J,ae){return v(this,J,!1,ae)},je.prototype.readInt32LE=function(J,ae){return b(this,J,!0,ae)},je.prototype.readInt32BE=function(J,ae){return b(this,J,!1,ae)},je.prototype.readFloatLE=function(J,ae){return x(this,J,!0,ae)},je.prototype.readFloatBE=function(J,ae){return x(this,J,!1,ae)},je.prototype.readDoubleLE=function(J,ae){return A(this,J,!0,ae)},je.prototype.readDoubleBE=function(J,ae){return A(this,J,!1,ae)},je.prototype.writeUInt8=function(J,ae,_e){_e||(He(null!=J,"missing value"),He(null!=ae,"missing offset"),He(ae=this.length||(this[ae]=J)},je.prototype.writeUInt16LE=function(J,ae,_e){E(this,J,ae,!0,_e)},je.prototype.writeUInt16BE=function(J,ae,_e){E(this,J,ae,!1,_e)},je.prototype.writeUInt32LE=function(J,ae,_e){I(this,J,ae,!0,_e)},je.prototype.writeUInt32BE=function(J,ae,_e){I(this,J,ae,!1,_e)},je.prototype.writeInt8=function(J,ae,_e){_e||(He(null!=J,"missing value"),He(null!=ae,"missing offset"),He(ae=this.length||this.writeUInt8(0<=J?J:255+J+1,ae,_e)},je.prototype.writeInt16LE=function(J,ae,_e){H(this,J,ae,!0,_e)},je.prototype.writeInt16BE=function(J,ae,_e){H(this,J,ae,!1,_e)},je.prototype.writeInt32LE=function(J,ae,_e){M(this,J,ae,!0,_e)},je.prototype.writeInt32BE=function(J,ae,_e){M(this,J,ae,!1,_e)},je.prototype.writeFloatLE=function(J,ae,_e){P(this,J,ae,!0,_e)},je.prototype.writeFloatBE=function(J,ae,_e){P(this,J,ae,!1,_e)},je.prototype.writeDoubleLE=function(J,ae,_e){Z(this,J,ae,!0,_e)},je.prototype.writeDoubleBE=function(J,ae,_e){Z(this,J,ae,!1,_e)},je.prototype.fill=function(J,ae,_e){if(ae=ae||0,_e=_e||this.length,He("number"==typeof(J="string"==typeof(J=J||0)?J.charCodeAt(0):J)&&!isNaN(J),"value is not a number"),He(ae<=_e,"end < start"),_e!==ae&&0!==this.length){He(0<=ae&&ae"},je.prototype.toArrayBuffer=function(){if("undefined"==typeof Uint8Array)throw new Error("Buffer.toArrayBuffer not supported in this browser");if(je._useTypedArrays)return new je(this).buffer;for(var J=new Uint8Array(this.length),ae=0,_e=J.length;ae<_e;ae+=1)J[ae]=this[ae];return J.buffer};var S=je.prototype;function G(J,ae,_e){return"number"!=typeof J?_e:ae<=(J=~~J)?ae:0<=J||0<=(J+=ae)?J:0}function ne(J){return(J=~~Math.ceil(+J))<0?0:J}function ce(J){return(Array.isArray||function(ae){return"[object Array]"===Object.prototype.toString.call(ae)})(J)}function se(J){return J<16?"0"+J.toString(16):J.toString(16)}function te(J){for(var ae=[],_e=0;_e=ae.length||xe>=J.length);xe++)ae[xe+_e]=J[xe];return xe}function re(J){try{return decodeURIComponent(J)}catch(ae){return String.fromCharCode(65533)}}function ve(J,ae){He("number"==typeof J,"cannot write a non-number as a number"),He(0<=J,"specified a negative value for writing an unsigned value"),He(J<=ae,"value is larger than maximum value for type"),He(Math.floor(J)===J,"value has a fractional component")}function Fe(J,ae,_e){He("number"==typeof J,"cannot write a non-number as a number"),He(J<=ae,"value larger than maximum allowed value"),He(_e<=J,"value smaller than minimum allowed value"),He(Math.floor(J)===J,"value has a fractional component")}function Qe(J,ae,_e){He("number"==typeof J,"cannot write a non-number as a number"),He(J<=ae,"value larger than maximum allowed value"),He(_e<=J,"value smaller than minimum allowed value")}function He(J,ae){if(!J)throw new Error(ae||"Failed assertion")}je._augment=function(J){return J._isBuffer=!0,J._get=J.get,J._set=J.set,J.get=S.get,J.set=S.set,J.write=S.write,J.toString=S.toString,J.toLocaleString=S.toString,J.toJSON=S.toJSON,J.copy=S.copy,J.slice=S.slice,J.readUInt8=S.readUInt8,J.readUInt16LE=S.readUInt16LE,J.readUInt16BE=S.readUInt16BE,J.readUInt32LE=S.readUInt32LE,J.readUInt32BE=S.readUInt32BE,J.readInt8=S.readInt8,J.readInt16LE=S.readInt16LE,J.readInt16BE=S.readInt16BE,J.readInt32LE=S.readInt32LE,J.readInt32BE=S.readInt32BE,J.readFloatLE=S.readFloatLE,J.readFloatBE=S.readFloatBE,J.readDoubleLE=S.readDoubleLE,J.readDoubleBE=S.readDoubleBE,J.writeUInt8=S.writeUInt8,J.writeUInt16LE=S.writeUInt16LE,J.writeUInt16BE=S.writeUInt16BE,J.writeUInt32LE=S.writeUInt32LE,J.writeUInt32BE=S.writeUInt32BE,J.writeInt8=S.writeInt8,J.writeInt16LE=S.writeInt16LE,J.writeInt16BE=S.writeInt16BE,J.writeInt32LE=S.writeInt32LE,J.writeInt32BE=S.writeInt32BE,J.writeFloatLE=S.writeFloatLE,J.writeFloatBE=S.writeFloatBE,J.writeDoubleLE=S.writeDoubleLE,J.writeDoubleBE=S.writeDoubleBE,J.fill=S.fill,J.inspect=S.inspect,J.toArrayBuffer=S.toArrayBuffer,J}}).call(this,Ye("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Ye("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(Ye,Je,lt){(function(ee,Et,je,Q,we,fe,K,V,F){je=Ye("buffer").Buffer;var L=new je(4);L.fill(0),Je.exports={hash:function(w,C,R,T){for(var y=C(function(E,I){E.length%4!=0&&(E=je.concat([E,L],E.length+(4-E.length%4)));for(var M=[],P=I?E.readInt32BE:E.readInt32LE,Z=0;ZR?G=S(G):G.length>5]|=128<>>9<<4)]=x;for(var A=1732584193,E=-271733879,I=-1732584194,H=271733878,M=0;M>>32-I,A)}function C(b,x,A,E,I,H,M){return w(x&A|~x&E,b,x,I,H,M)}function R(b,x,A,E,I,H,M){return w(x&E|A&~E,b,x,I,H,M)}function T(b,x,A,E,I,H,M){return w(x^A^E,b,x,I,H,M)}function y(b,x,A,E,I,H,M){return w(A^(x|~E),b,x,I,H,M)}function v(b,x){var A=(65535&b)+(65535&x);return(b>>16)+(x>>16)+(A>>16)<<16|65535&A}Je.exports=function(b){return Y.hash(b,L,16)}}).call(this,Ye("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Ye("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(Ye,Je,lt){(function(ee,Et,je,Q,we,fe,K,V,F){Je.exports=function(L){for(var w,C=new Array(L),R=0;R>>((3&R)<<3)&255;return C}}).call(this,Ye("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Ye("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(Ye,Je,lt){(function(ee,Et,je,Q,we,fe,K,V,F){var Y=Ye("./helpers");function L(R,T){R[T>>5]|=128<<24-T%32,R[15+(T+64>>9<<4)]=T;for(var y,v,b,x=Array(80),A=1732584193,E=-271733879,I=-1732584194,H=271733878,M=-1009589776,P=0;P>16)+(T>>16)+(y>>16)<<16|65535&y}function C(R,T){return R<>>32-T}Je.exports=function(R){return Y.hash(R,L,20,!0)}}).call(this,Ye("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Ye("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(Ye,Je,lt){(function(ee,Et,je,Q,we,fe,K,V,F){function Y(T,y){var v=(65535&T)+(65535&y);return(T>>16)+(y>>16)+(v>>16)<<16|65535&v}function L(T,y){var v,b=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),x=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),A=new Array(64);T[y>>5]|=128<<24-y%32,T[15+(y+64>>9<<4)]=y;for(var E,I,H=0;H>>y|T<<32-y},R=function(T,y){return T>>>y};Je.exports=function(T){return w.hash(T,L,32,!0)}}).call(this,Ye("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Ye("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(Ye,Je,lt){(function(ee,Et,je,Q,we,fe,K,V,F){lt.read=function(Y,L,w,C,R){var T,y,v=8*R-C-1,b=(1<>1,A=-7,E=w?R-1:0,I=w?-1:1;for(R=Y[L+E],E+=I,T=R&(1<<-A)-1,R>>=-A,A+=v;0>=-A,A+=C;0>1,E=23===R?Math.pow(2,-24)-Math.pow(2,-77):0,I=C?0:T-1,H=C?1:-1;for(T=L<0||0===L&&1/L<0?1:0,L=Math.abs(L),isNaN(L)||L===1/0?(v=isNaN(L)?1:0,y=x):(y=Math.floor(Math.log(L)/Math.LN2),L*(C=Math.pow(2,-y))<1&&(y--,C*=2),2<=(L+=1<=y+A?E/C:E*Math.pow(2,1-A))*C&&(y++,C/=2),x<=y+A?(v=0,y=x):1<=y+A?(v=(L*C-1)*Math.pow(2,R),y+=A):(v=L*Math.pow(2,A-1)*Math.pow(2,R),y=0));8<=R;Y[w+I]=255&v,I+=H,v/=256,R-=8);for(y=y<{var Ye="undefined"!=typeof ArrayBuffer,Je="undefined"!=typeof Symbol;function lt(ee,Et){var je,Q,we,fe,K;if(!ee)throw new Error("obliterator/forEach: invalid iterable.");if("function"!=typeof Et)throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(ee)||Ye&&ArrayBuffer.isView(ee)||"string"==typeof ee||"[object Arguments]"===ee.toString())for(we=0,fe=ee.length;we{function Ye(Je){Object.defineProperty(this,"_next",{writable:!1,enumerable:!1,value:Je}),this.done=!1}Ye.prototype.next=function(){if(this.done)return{done:!0};var Je=this._next();return Je.done&&(this.done=!0),Je},"undefined"!=typeof Symbol&&(Ye.prototype[Symbol.iterator]=function(){return this}),Ye.of=function(){var Je=arguments,lt=Je.length,ee=0;return new Ye(function(){return ee>=lt?{done:!0}:{done:!1,value:Je[ee++]}})},Ye.empty=function(){var Je=new Ye(null);return Je.done=!0,Je},Ye.is=function(Je){return Je instanceof Ye||"object"==typeof Je&&null!==Je&&"function"==typeof Je.next},jt.exports=Ye},310:(jt,Ye,Je)=>{"use strict";var lt=Je(948);Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.isMobile=function(){return void 0!==ee.window.orientation},Ye.default=function(fe){if(!fe&&!(0,Et.default)())return"Node";if((0,je.default)(fe))return"Electron";var K="undefined"!=typeof navigator?navigator:{},V=fe||K.userAgent||"";if(V.indexOf("Edge")>-1)return"Edge";var F=-1!==V.indexOf("MSIE "),Y=-1!==V.indexOf("Trident/");return F||Y?"IE":ee.window.chrome?"Chrome":ee.window.safari?"Safari":ee.window.mozInnerScreenX?"Firefox":"Unknown"};var ee=Je(151),Et=lt(Je(602)),je=lt(Je(344))},151:(jt,Ye,Je)=>{"use strict";var lt=Je(948);Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.console=Ye.process=Ye.document=Ye.global=Ye.window=Ye.self=void 0;var ee=lt(Je(321)),Et={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&process};Ye.self=Et.self||Et.window||Et.global,Ye.window=Et.window||Et.self||Et.global,Ye.global=Et.global||Et.self||Et.window,Ye.document=Et.document||{},Ye.process=Et.process||{};var V=console;Ye.console=V},761:(jt,Ye,Je)=>{"use strict";var ee=Je(948),Et=Je(321);Object.defineProperty(Ye,"CO",{enumerable:!0,get:function(){return je.global}}),Object.defineProperty(Ye,"qs",{enumerable:!0,get:function(){return we.default}});var je=Je(151),we=(V(Je(602)),V(Je(310)));ee(Je(344));function K(F){if("function"!=typeof WeakMap)return null;var Y=new WeakMap,L=new WeakMap;return(K=function(C){return C?L:Y})(F)}function V(F,Y){if(!Y&&F&&F.__esModule)return F;if(null===F||"object"!==Et(F)&&"function"!=typeof F)return{default:F};var L=K(Y);if(L&&L.has(F))return L.get(F);var w={},C=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in F)if("default"!==R&&Object.prototype.hasOwnProperty.call(F,R)){var T=C?Object.getOwnPropertyDescriptor(F,R):null;T&&(T.get||T.set)?Object.defineProperty(w,R,T):w[R]=F[R]}return w.default=F,L&&L.set(F,w),w}},602:(jt,Ye,Je)=>{"use strict";var lt=Je(948);Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.default=je,Ye.isBrowserMainThread=function(){return je()&&"undefined"!=typeof document};var ee=lt(Je(321)),Et=lt(Je(344));function je(){return!("object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,Et.default)()}},344:(jt,Ye,Je)=>{"use strict";var lt=Je(948);Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.default=function(je){if("undefined"!=typeof window&&"object"===(0,ee.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,ee.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Q="object"===("undefined"==typeof navigator?"undefined":(0,ee.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,we=je||Q;return!!(we&&we.indexOf("Electron")>=0)};var ee=lt(Je(321))},991:function(jt,Ye,Je){"use strict";var lt=this&&this.__createBinding||(Object.create?function(Et,je,Q,we){void 0===we&&(we=Q),Object.defineProperty(Et,we,{enumerable:!0,get:function(){return je[Q]}})}:function(Et,je,Q,we){void 0===we&&(we=Q),Et[we]=je[Q]}),ee=this&&this.__exportStar||function(Et,je){for(var Q in Et)"default"!==Q&&!Object.prototype.hasOwnProperty.call(je,Q)&<(je,Et,Q)};Object.defineProperty(Ye,"__esModule",{value:!0}),ee(Je(180),Ye),ee(Je(103),Ye),ee(Je(965),Ye),ee(Je(595),Ye),ee(Je(417),Ye),ee(Je(451),Ye),ee(Je(735),Ye)},180:(jt,Ye)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.BlankNode=void 0,Ye.BlankNode=class{constructor(ee){this.termType="BlankNode",this.value=ee}equals(ee){return!!ee&&"BlankNode"===ee.termType&&ee.value===this.value}}},103:(jt,Ye,Je)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.DataFactory=void 0;const lt=Je(180),ee=Je(965),Et=Je(595),je=Je(417),Q=Je(451),we=Je(735);let fe=0;Ye.DataFactory=class{constructor(F){this.blankNodeCounter=0,this.blankNodePrefix=(F=F||{}).blankNodePrefix||`df_${fe++}_`}namedNode(F){return new je.NamedNode(F)}blankNode(F){return new lt.BlankNode(F||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(F,Y){return new Et.Literal(F,Y)}variable(F){return new we.Variable(F)}defaultGraph(){return ee.DefaultGraph.INSTANCE}quad(F,Y,L,w){return new Q.Quad(F,Y,L,w||this.defaultGraph())}fromTerm(F){switch(F.termType){case"NamedNode":return this.namedNode(F.value);case"BlankNode":return this.blankNode(F.value);case"Literal":return F.language?this.literal(F.value,F.language):F.datatype.equals(Et.Literal.XSD_STRING)?this.literal(F.value):this.literal(F.value,this.fromTerm(F.datatype));case"Variable":return this.variable(F.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(F.subject),this.fromTerm(F.predicate),this.fromTerm(F.object),this.fromTerm(F.graph))}}fromQuad(F){return this.fromTerm(F)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},965:(jt,Ye)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.DefaultGraph=void 0;class Je{constructor(){this.termType="DefaultGraph",this.value=""}equals(ee){return!!ee&&"DefaultGraph"===ee.termType}}Ye.DefaultGraph=Je,Je.INSTANCE=new Je},595:(jt,Ye,Je)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.Literal=void 0;const lt=Je(417);class ee{constructor(je,Q){this.termType="Literal",this.value=je,"string"==typeof Q?(this.language=Q,this.datatype=ee.RDF_LANGUAGE_STRING):Q?(this.language="",this.datatype=Q):(this.language="",this.datatype=ee.XSD_STRING)}equals(je){return!!je&&"Literal"===je.termType&&je.value===this.value&&je.language===this.language&&je.datatype.equals(this.datatype)}}Ye.Literal=ee,ee.RDF_LANGUAGE_STRING=new lt.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),ee.XSD_STRING=new lt.NamedNode("http://www.w3.org/2001/XMLSchema#string")},417:(jt,Ye)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.NamedNode=void 0,Ye.NamedNode=class{constructor(ee){this.termType="NamedNode",this.value=ee}equals(ee){return!!ee&&"NamedNode"===ee.termType&&ee.value===this.value}}},451:(jt,Ye)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.Quad=void 0,Ye.Quad=class{constructor(ee,Et,je,Q){this.termType="Quad",this.value="",this.subject=ee,this.predicate=Et,this.object=je,this.graph=Q}equals(ee){return!!ee&&("Quad"===ee.termType||!ee.termType)&&this.subject.equals(ee.subject)&&this.predicate.equals(ee.predicate)&&this.object.equals(ee.object)&&this.graph.equals(ee.graph)}}},735:(jt,Ye)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.Variable=void 0,Ye.Variable=class{constructor(ee){this.termType="Variable",this.value=ee}equals(ee){return!!ee&&"Variable"===ee.termType&&ee.value===this.value}}},609:function(jt,Ye,Je){"use strict";var lt=this&&this.__createBinding||(Object.create?function(w,C,R,T){void 0===T&&(T=R),Object.defineProperty(w,T,{enumerable:!0,get:function(){return C[R]}})}:function(w,C,R,T){void 0===T&&(T=R),w[T]=C[R]}),ee=this&&this.__exportStar||function(w,C){for(var R in w)"default"!==R&&!Object.prototype.hasOwnProperty.call(C,R)&<(C,w,R)};Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.getSupportedJavaScriptPrimitives=Ye.getSupportedRdfDatatypes=Ye.getTermRaw=Ye.toRdf=Ye.fromRdf=void 0;const Et=Je(991),je=Je(938),Q=Je(60);ee(Je(938),Ye),ee(Je(871),Ye),ee(Je(60),Ye);const we=new Et.DataFactory,fe=new Q.Translator;function K(w,C){return fe.fromRdf(w,C)}fe.registerHandler(new je.TypeHandlerString,je.TypeHandlerString.TYPES.map(w=>we.namedNode(w)),["string"]),fe.registerHandler(new je.TypeHandlerBoolean,[je.TypeHandlerBoolean.TYPE].map(w=>we.namedNode(w)),["boolean"]),fe.registerHandler(new je.TypeHandlerNumberDouble,je.TypeHandlerNumberDouble.TYPES.map(w=>we.namedNode(w)),["number"]),fe.registerHandler(new je.TypeHandlerNumberInteger,je.TypeHandlerNumberInteger.TYPES.map(w=>we.namedNode(w)),["number"]),fe.registerHandler(new je.TypeHandlerDate,je.TypeHandlerDate.TYPES.map(w=>we.namedNode(w)),["object"]),Ye.fromRdf=K,Ye.toRdf=function(w,C){return C&&"namedNode"in C&&(C={dataFactory:C}),(C=C||{})&&!C.dataFactory&&(C.dataFactory=we),fe.toRdf(w,C)},Ye.getTermRaw=function(w,C){return"Literal"===w.termType?K(w,C):w.value},Ye.getSupportedRdfDatatypes=function(){return fe.getSupportedRdfDatatypes()},Ye.getSupportedJavaScriptPrimitives=function(){return fe.getSupportedJavaScriptPrimitives()}},871:(jt,Ye)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0})},60:(jt,Ye)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.Translator=void 0,Ye.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(ee){throw new Error(`Invalid RDF ${ee.datatype.value} value: '${ee.value}'`)}registerHandler(ee,Et,je){for(const Q of Et)this.supportedRdfDatatypes.push(Q),this.fromRdfHandlers[Q.value]=ee;for(const Q of je){let we=this.toRdfHandlers[Q];we||(this.toRdfHandlers[Q]=we=[]),we.push(ee)}}fromRdf(ee,Et){const je=this.fromRdfHandlers[ee.datatype.value];return je?je.fromRdf(ee,Et):ee.value}toRdf(ee,Et){const je=this.toRdfHandlers[typeof ee];if(je)for(const Q of je){const we=Q.toRdf(ee,Et);if(we)return we}throw new Error(`Invalid JavaScript value: '${ee}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},727:(jt,Ye,Je)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.TypeHandlerBoolean=void 0;const lt=Je(60);class ee{fromRdf(je,Q){switch(je.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return Q&<.Translator.incorrectRdfDataType(je),!1}toRdf(je,{datatype:Q,dataFactory:we}){return we.literal(je?"true":"false",Q||we.namedNode(ee.TYPE))}}Ye.TypeHandlerBoolean=ee,ee.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},525:(jt,Ye,Je)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.TypeHandlerDate=void 0;const lt=Je(60);class ee{fromRdf(je,Q){switch(Q&&!je.value.match(ee.VALIDATORS[je.datatype.value.substr(33,je.datatype.value.length)])&<.Translator.incorrectRdfDataType(je),je.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(je.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const we=je.value.split("-");return new Date(0,parseInt(we[0],10)-1,parseInt(we[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(je.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(je.value+"-01");default:return new Date(je.value)}}toRdf(je,{datatype:Q,dataFactory:we}){if(Q=Q||we.namedNode(ee.TYPES[0]),!(je instanceof Date))return null;const fe=je;let K;switch(Q.value){case"http://www.w3.org/2001/XMLSchema#gDay":K=String(fe.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":K=fe.getUTCMonth()+1+"-"+fe.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":K=String(fe.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":K=fe.getUTCFullYear()+"-"+(fe.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":K=fe.toISOString().replace(/T.*$/,"");break;default:K=fe.toISOString()}return we.literal(K,Q)}}Ye.TypeHandlerDate=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],ee.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},554:(jt,Ye,Je)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.TypeHandlerNumberDouble=void 0;const lt=Je(60);class ee{fromRdf(je,Q){const we=parseFloat(je.value);return Q&&isNaN(we)&<.Translator.incorrectRdfDataType(je),we}toRdf(je,{datatype:Q,dataFactory:we}){return Q=Q||we.namedNode(ee.TYPES[0]),isNaN(je)?we.literal("NaN",Q):isFinite(je)?je%1==0?null:we.literal(je.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Q):we.literal(je>0?"INF":"-INF",Q)}}Ye.TypeHandlerNumberDouble=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},750:(jt,Ye,Je)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.TypeHandlerNumberInteger=void 0;const lt=Je(60);class ee{fromRdf(je,Q){const we=parseInt(je.value,10);return Q&&(isNaN(we)||je.value.indexOf(".")>=0)&<.Translator.incorrectRdfDataType(je),we}toRdf(je,{datatype:Q,dataFactory:we}){return we.literal(String(je),Q||we.namedNode(je<=ee.MAX_INT&&je>=ee.MIN_INT?ee.TYPES[0]:ee.TYPES[1]))}}Ye.TypeHandlerNumberInteger=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],ee.MAX_INT=2147483647,ee.MIN_INT=-2147483648},608:(jt,Ye)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.TypeHandlerString=void 0;class Je{fromRdf(ee){return ee.value}toRdf(ee,{datatype:Et,dataFactory:je}){return je.literal(ee,Et)}}Ye.TypeHandlerString=Je,Je.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},938:function(jt,Ye,Je){"use strict";var lt=this&&this.__createBinding||(Object.create?function(Et,je,Q,we){void 0===we&&(we=Q),Object.defineProperty(Et,we,{enumerable:!0,get:function(){return je[Q]}})}:function(Et,je,Q,we){void 0===we&&(we=Q),Et[we]=je[Q]}),ee=this&&this.__exportStar||function(Et,je){for(var Q in Et)"default"!==Q&&!Object.prototype.hasOwnProperty.call(je,Q)&<(je,Et,Q)};Object.defineProperty(Ye,"__esModule",{value:!0}),ee(Je(727),Ye),ee(Je(525),Ye),ee(Je(554),Ye),ee(Je(750),Ye),ee(Je(608),Ye)},303:(jt,Ye,Je)=>{"use strict";var lt={};Je.r(lt),Je.d(lt,{decode:()=>Xme,encode:()=>Qme});var ee={};Je.r(ee),Je.d(ee,{decode:()=>n_e,encode:()=>i_e});var Et={};Je.r(Et),Je.d(Et,{decode:()=>r_e,encode:()=>s_e});var je={};function Q(n){return"function"==typeof n}Je.r(je),Je.d(je,{decode:()=>o_e,encode:()=>a_e});let we=!1;const fe={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else we&&console.log("RxJS: Back to a better error behavior. Thank you. <3");we=n},get useDeprecatedSynchronousErrorHandling(){return we}};function K(n){setTimeout(()=>{throw n},0)}const V={closed:!0,next(n){},error(n){if(fe.useDeprecatedSynchronousErrorHandling)throw n;K(n)},complete(){}},F=Array.isArray||(n=>n&&"number"==typeof n.length);function Y(n){return null!==n&&"object"==typeof n}const w=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class C{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof C)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof w?t.errors:t),[])}C.EMPTY=((n=new C).closed=!0,n);const T="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class v extends C{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=V;break;case 1:if(!e){this.destination=V;break}if("object"==typeof e){e instanceof v?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new b(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new b(this,e,t,i)}}[T](){return this}static create(e,t,i){const r=new v(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class b extends v{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Q(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==V&&(o=Object.create(t),Q(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;fe.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=fe;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):K(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;K(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);fe.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),fe.useDeprecatedSynchronousErrorHandling)throw i;K(i)}}__tryOrSetError(e,t,i){if(!fe.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return fe.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(K(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const E="function"==typeof Symbol&&Symbol.observable||"@@observable";function I(n){return n}function H(...n){return M(n)}function M(n){return 0===n.length?I:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let P=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof v)return n;if(n[T])return n[T]()}return n||e||t?new v(n,e,t):new v(V)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||fe.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),fe.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){fe.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof v?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=Z(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[E](){return this}pipe(...t){return 0===t.length?this:M(t)(this)}toPromise(t){return new(t=Z(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function Z(n){if(n||(n=fe.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const G=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class ne extends C{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class ce extends v{constructor(e){super(e),this.destination=e}}let se=(()=>{class n extends P{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[T](){return new ce(this)}lift(t){const i=new te(this,this);return i.operator=t,i}next(t){if(this.closed)throw new G;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew te(e,t),n})();class te extends se{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):C.EMPTY}}function Ie(n){return n&&"function"==typeof n.schedule}function ye(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new re(n,e))}}class re{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new ve(e,this.project,this.thisArg))}}class ve extends v{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const Fe=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ge(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Se=n=>{if(n&&"function"==typeof n[E])return(n=>e=>{const t=n[E]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(xe(n))return Fe(n);if(Ge(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,K),e))(n);if(n&&"function"==typeof n[J])return(n=>e=>{const t=n[J]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${Y(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function Be(n,e){return new P(t=>{const i=new C;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function qe(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[E]}(n))return function(n,e){return new P(t=>{const i=new C;return i.add(e.schedule(()=>{const r=n[E]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ge(n))return function(n,e){return new P(t=>{const i=new C;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(xe(n))return Be(n,e);if(function(n){return n&&"function"==typeof n[J]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new P(t=>{const i=new C;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[J](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof P?n:new P(Se(n))}class _t extends v{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class Ae extends v{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function k(n,e){if(e.closed)return;if(n instanceof P)return n.subscribe(e);let t;try{t=Se(n)(e)}catch(i){e.error(i)}return t}function z(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(z((r,s)=>qe(n(r,s)).pipe(ye((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Le(n,t)))}class Le{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new nt(e,this.project,this.concurrent))}}class nt extends Ae{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Nt(n=Number.POSITIVE_INFINITY){return z(I,n)}function On(n,e){return e?Be(n,e):new P(Fe(n))}function kn(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Ie(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof P?n[0]:Nt(e)(On(n,t))}function Yn(){return function(e){return e.lift(new Ti(e))}}class Ti{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new wi(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class wi extends v{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Xr extends P{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new C,e.add(this.source.subscribe(new gs(this.getSubject(),this))),e.closed&&(this._connection=null,e=C.EMPTY)),e}refCount(){return Yn()(this)}}const Ls=(()=>{const n=Xr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class gs extends ce{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function el(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new kl(r,e));const s=Object.create(i,Ls);return s.source=i,s.subjectFactory=r,s}}class kl{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function Sa(){return new se}function Es(){return n=>Yn()(el(Sa)(n))}function Jt(n){for(let e in n)if(n[e]===Jt)return e;throw Error("Could not find renamed property on target object.")}function tl(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function ot(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(ot).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function ut(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const ft=Jt({__forward_ref__:Jt});function be(n){return n.__forward_ref__=be,n.toString=function(){return ot(this())},n}function Ce(n){return $e(n)?n():n}function $e(n){return"function"==typeof n&&n.hasOwnProperty(ft)&&n.__forward_ref__===be}class it extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function Dt(n){return"string"==typeof n?n:null==n?"":String(n)}function Xt(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Dt(n)}function bn(n,e){const t=e?` in ${e}`:"";throw new it("201",`No provider for ${Xt(n)} found${t}`)}function ie(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function et(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function Ct(n){return{providers:n.providers||[],imports:n.imports||[]}}function vn(n){return Ss(n,po)||Ss(n,js)}function Ss(n,e){return n.hasOwnProperty(e)?n[e]:null}function Ll(n){return n&&(n.hasOwnProperty(jr)||n.hasOwnProperty(xc))?n[jr]:null}const po=Jt({\u0275prov:Jt}),jr=Jt({\u0275inj:Jt}),js=Jt({ngInjectableDef:Jt}),xc=Jt({ngInjectorDef:Jt});var Sn=(()=>((Sn=Sn||{})[Sn.Default=0]="Default",Sn[Sn.Host=1]="Host",Sn[Sn.Self=2]="Self",Sn[Sn.SkipSelf=4]="SkipSelf",Sn[Sn.Optional=8]="Optional",Sn))();let go;function Ca(n){const e=go;return go=n,e}function wd(n,e,t){const i=vn(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&Sn.Optional?null:void 0!==e?e:void bn(ot(n),"Injector")}function Pe(n){return{toString:n}.toString()}var Ze=(()=>((Ze=Ze||{})[Ze.OnPush=0]="OnPush",Ze[Ze.Default=1]="Default",Ze))(),Yt=(()=>((Yt=Yt||{})[Yt.Emulated=0]="Emulated",Yt[Yt.None=2]="None",Yt[Yt.ShadowDom=3]="ShadowDom",Yt))();const li="undefined"!=typeof globalThis&&globalThis,Vr="undefined"!=typeof window&&window,es="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,xs="undefined"!=typeof global&&global,Qn=li||xs||Vr||es,Ed={},tr=[],fp=Jt({\u0275cmp:Jt}),Jm=Jt({\u0275dir:Jt}),Dh=Jt({\u0275pipe:Jt}),sv=Jt({\u0275mod:Jt}),TC=Jt({\u0275loc:Jt}),jl=Jt({\u0275fac:Jt}),Ih=Jt({__NG_ELEMENT_ID__:Jt});let MC=0;function ln(n){return Pe(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===Ze.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||tr,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Yt.Emulated,id:"c",styles:n.styles||tr,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=MC++,i.inputs=cv(n.inputs,t),i.outputs=cv(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(ov):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(av):null,i})}function ov(n){return Vi(n)||function(n){return n[Jm]||null}(n)}function av(n){return function(n){return n[Dh]||null}(n)}const lv={};function on(n){return Pe(()=>{const e={type:n.type,bootstrap:n.bootstrap||tr,declarations:n.declarations||tr,imports:n.imports||tr,exports:n.exports||tr,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(lv[n.id]=n.type),e})}function cv(n,e){if(null==n)return Ed;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const Rt=ln;function Vs(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function Vi(n){return n[fp]||null}function Oo(n,e){const t=n[sv]||null;if(!t&&!0===e)throw new Error(`Type ${ot(n)} does not have '\u0275mod' property.`);return t}function Qo(n){return Array.isArray(n)&&"object"==typeof n[1]}function Zo(n){return Array.isArray(n)&&!0===n[1]}function n_(n){return 0!=(8&n.flags)}function Ad(n){return 2==(2&n.flags)}function Td(n){return 1==(1&n.flags)}function Ma(n){return null!==n.template}function uv(n){return 0!=(512&n[2])}function Tc(n,e){return n.hasOwnProperty(jl)?n[jl]:null}class o_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Ui(){return fv}function fv(n){return n.type.prototype.ngOnChanges&&(n.setInput=kC),FC}function FC(){const n=ct(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===Ed)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function kC(n,e,t,i){const r=ct(n)||function(n,e){return n[kh]=e}(n,{previous:Ed,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new o_(l&&l.currentValue,e,o===Ed),n[i]=e}Ui.ngInherit=!0;const kh="__ngSimpleChanges__";function ct(n){return n[kh]||null}let Ki;function gr(n){return!!n.listen}const bu={createRenderer:(n,e)=>void 0!==Ki?Ki:"undefined"!=typeof document?document:void 0};function xr(n){for(;Array.isArray(n);)n=n[0];return n}function Lh(n,e){return xr(e[n])}function Zs(n,e){return xr(e[n.index])}function c_(n,e){return n.data[e]}function zs(n,e){const t=e[n];return Qo(t)?t:t[0]}function zl(n){return 4==(4&n[2])}function Dd(n){return 128==(128&n[2])}function Ia(n,e){return null==e?null:n[e]}function u_(n){n[18]=0}function mp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Bn={lFrame:wu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function gv(){return Bn.bindingsEnabled}function Vt(){return Bn.lFrame.lView}function Ei(){return Bn.lFrame.tView}function Cr(n){return Bn.lFrame.contextLView=n,n[8]}function cs(){let n=d_();for(;null!==n&&64===n.type;)n=n.parent;return n}function d_(){return Bn.lFrame.currentTNode}function rl(n,e){const t=Bn.lFrame;t.currentTNode=n,t.isParent=e}function Hr(){return Bn.lFrame.isParent}function ms(){Bn.lFrame.isParent=!1}function Vh(){return Bn.isInCheckNoChangesMode}function yp(n){Bn.isInCheckNoChangesMode=n}function Oa(){return Bn.lFrame.bindingIndex++}function No(n){const e=Bn.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Id(n,e){const t=Bn.lFrame;t.bindingIndex=t.bindingRootIndex=n,h_(e)}function h_(n){Bn.lFrame.currentDirectiveIndex=n}function f_(n){const e=Bn.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function mv(){return Bn.lFrame.currentQueryIndex}function p_(n){Bn.lFrame.currentQueryIndex=n}function vp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Od(n,e,t){if(t&Sn.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&Sn.Host||(r=vp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Bn.lFrame=De();return i.currentTNode=e,i.lView=n,!0}function Hh(n){const e=De(),t=n[1];Bn.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function De(){const n=Bn.lFrame,e=null===n?null:n.child;return null===e?wu(n):e}function wu(n){const 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:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Gh(){const n=Bn.lFrame;return Bn.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Po=Gh;function fi(){const n=Gh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function Js(){return Bn.lFrame.selectedIndex}function yo(n){Bn.lFrame.selectedIndex=n}function kr(){const n=Bn.lFrame;return c_(n.tView,n.selectedIndex)}function wp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class $h{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function xp(n,e,t){const i=gr(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Nd=!0;function Cp(n){const e=Nd;return Nd=n,e}let v_=0;function Hs(n,e){const t=Ap(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,w_(i.data,n),w_(e,null),w_(i.blueprint,null));const r=qh(n,e),s=n.injectorIndex;if(vv(r)){const o=Rd(r),a=ol(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function w_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Ap(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function qh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Dc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Ih)&&(i=t[Ih]),null==i&&(i=t[Ih]=v_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:xv:e}(t);if("function"==typeof s){if(!Od(e,n,i))return i&Sn.Host?E_(r,t,i):Ev(e,t,i,r);try{const o=s(i);if(null!=o||i&Sn.Optional)return o;bn(t)}finally{Po()}}else if("number"==typeof s){let o=null,a=Ap(n,e),l=-1,c=i&Sn.Host?e[16][6]:null;for((-1===a||i&Sn.SkipSelf)&&(l=-1===a?qh(n,e):e[a+8],-1!==l&&Kh(i,!1)?(o=e[1],a=Rd(l),e=ol(l,e)):a=-1);-1!==a;){const u=e[1];if(Tp(s,a,u.data)){const h=Ts(a,e,t,o,i,c);if(h!==Sv)return h}l=e[a+8],-1!==l&&Kh(i,e[1].data[a+8]===c)&&Tp(s,a,e)?(o=u,a=Rd(l),e=ol(l,e)):a=-1}}}return Ev(e,t,i,r)}const Sv={};function xv(){return new ea(cs(),Vt())}function Ts(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=Pd(a,o,t,null==i?Ad(a)&&Nd:i!=o&&0!=(3&a.type),r&Sn.Host&&s===a);return null!==u?Fd(e,o,u,a):Sv}function Pd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,p=r?a+u:n.directiveEnd;for(let g=i?a:a+u;g=l&&m.type===t)return g}if(r){const g=o[l];if(g&&Ma(g)&&g.type===t)return l}return null}function Fd(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof $h}(r)){const o=r;o.resolving&&function(n,e){throw new it("200",`Circular dependency in DI detected for ${n}`)}(Xt(s[t]));const a=Cp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Ca(o.injectImpl):null;Od(n,i,Sn.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=fv(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&Ca(l),Cp(a),o.resolving=!1,Po()}}return r}function Tp(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[jl]||Ms(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[jl]||Ms(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Ms(n){return $e(n)?()=>{const e=Ms(Ce(n));return e&&e()}:Tc(n)}function Fo(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Ld)?l[Ld]:Object.defineProperty(l,Ld,{value:[]})[Ld];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class Ht{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=et({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const xu=Function;function ta(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?na(t,e):e(t))}function Qh(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Gl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Oc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function M_(n,e){const t=Ds(n,e);if(t>=0)return n[1|t]}function Ds(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):ot(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Pc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Nc]=null,n}const zd=Ud(Pa("Inject",n=>({token:n})),-1),ns=Ud(Pa("Optional"),8),ul=Ud(Pa("SkipSelf"),4);let Gd;function Ou(n){var e;return(null===(e=function(){if(void 0===Gd&&(Gd=null,Qn.trustedTypes))try{Gd=Qn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return Gd}())||void 0===e?void 0:e.createHTML(n))||n}class Yl{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class P_ extends Yl{getTypeName(){return"HTML"}}class F_ extends Yl{getTypeName(){return"Style"}}class Vp extends Yl{getTypeName(){return"Script"}}class $d extends Yl{getTypeName(){return"URL"}}class Fn extends Yl{getTypeName(){return"ResourceURL"}}function Gs(n){return n instanceof Yl?n.changingThisBreaksApplicationSecurity:n}function ia(n,e){const t=Lc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function Lc(n){return n instanceof Yl&&n.getTypeName()||null}class zv{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Ou(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class pA{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Ou(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Ou(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0Bo(e.trim())).join(", ")}function ra(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function Jh(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const Up=ra("area,br,col,hr,img,wbr"),Gv=ra("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),$v=ra("rp,rt"),L_=Jh(Up,Jh(Gv,ra("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")),Jh($v,ra("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")),Jh($v,Gv)),B_=ra("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),j_=ra("srcset"),V_=Jh(B_,j_,ra("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),ra("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")),vA=ra("script,style,template");class U_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!L_.hasOwnProperty(t))return this.sanitizedSomething=!0,!vA.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();L_.hasOwnProperty(t)&&!Up.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(Hp(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const Wv=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ef=/([^\#-~ |!])/g;function Hp(n){return n.replace(/&/g,"&").replace(Wv,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(ef,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let tf;function z_(n,e){let t=null;try{tf=tf||function(n){const e=new pA(n);return function(){try{return!!(new window.DOMParser).parseFromString(Ou(""),"text/html")}catch(n){return!1}}()?new zv(e):e}(n);let i=e?String(e):"";t=tf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=tf.getInertBodyElement(i)}while(i!==s);return Ou((new U_).sanitizeChildren(Wd(t)||t))}finally{if(t){const i=Wd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function Wd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var ni=(()=>((ni=ni||{})[ni.NONE=0]="NONE",ni[ni.HTML=1]="HTML",ni[ni.STYLE=2]="STYLE",ni[ni.SCRIPT=3]="SCRIPT",ni[ni.URL=4]="URL",ni[ni.RESOURCE_URL=5]="RESOURCE_URL",ni))();function nf(n){const e=function(){const n=Vt();return n&&n[12]}();return e?e.sanitize(ni.URL,n)||"":ia(n,"URL")?Gs(n):Bo(Dt(n))}const $_="__ngContext__";function Is(n,e){n[$_]=e}function W_(n){const e=function(n){return n[$_]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function Gp(n){return n.ngOriginalError}function NA(n,...e){n.error(...e)}class oa{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||NA}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(Gp(e)):null}_findOriginalError(e){let t=e&&Gp(e);for(;t&&Gp(t);)t=Gp(t);return t||null}}const iw=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Qn))();function hl(n){return n instanceof Function?n():n}var jo=(()=>((jo=jo||{})[jo.Important=1]="Important",jo[jo.DashCase=2]="DashCase",jo))();function Q_(n,e){return undefined(n,e)}function of(n){const e=n[3];return Zo(e)?e[3]:e}function Yd(n){return lw(n[13])}function J_(n){return lw(n[4])}function lw(n){for(;null!==n&&!Zo(n);)n=n[4];return n}function Kd(n,e,t,i,r){if(null!=i){let s,o=!1;Zo(i)?s=i:Qo(i)&&(o=!0,i=i[0]);const a=xr(i);0===n&&null!==t?null==r?fw(e,t,a):fl(e,t,a,r||null,!0):1===n&&null!==t?fl(e,t,a,r||null,!0):2===n?function(n,e,t){const i=qp(n,e);i&&function(n,e,t,i){gr(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==xr(t)&&Kd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=Gl(n,10+e);!function(n,e){Xd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function iy(n,e){if(!(256&e[2])){const t=e[11];gr(t)&&t.destroyNode&&Xd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return Wp(n[1],n);for(;e;){let t=null;if(Qo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Qo(e)&&Wp(e[1],e),e=e[3];null===e&&(e=n),Qo(e)&&Wp(e[1],e),t=e&&e[4]}e=t}}(e)}}function Wp(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[h+1].toLowerCase();const g=8&i?p:null;if(g&&-1!==lf(g,c,0)||2&i&&c!==p){if(ka(i))return!1;o=!0}}}}else{if(!o&&!ka(i)&&!ka(l))return!1;if(o&&ka(l))continue;o=!1,i=l|1&i}}return ka(i)||o}function ka(n){return 0==(1&n)}function oT(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!ka(o)&&(e+=Aw(s,r),r=""),i=o,s=s||!ka(i);t++}return""!==r&&(e+=Aw(s,r)),e}const In={};function Zt(n){Tw(Ei(),Vt(),Js()+n,Vh())}function Tw(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Ep(e,s,t)}else{const s=n.preOrderHooks;null!==s&&Sp(e,s,0,t)}yo(t)}function pl(n,e){return n<<17|e<<2}function Rn(n){return n>>17&32767}function Ar(n){return 2|n}function Kl(n){return(131068&n)>>2}function gl(n,e){return-131069&n|e<<2}function cy(n){return 1|n}function kw(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&Tw(n,e,20,Vh()),t(i,r)}finally{yo(s)}}function hf(n,e,t){!gv()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||Hs(t,e),Is(i,e);const o=t.initialInputs;for(let a=r;a0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function qw(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function Yw(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function PT(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&wy(t)}}function wy(n){for(let i=Yd(n);null!==i;i=J_(i))for(let r=10;r0&&wy(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&wy(r)}}function UT(n,e){const t=zs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function Qw(n){return n[7]||(n[7]=[])}function ig(n){return n.cleanup||(n.cleanup=[])}function Ay(n,e,t){return(null===n||Ma(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function Ty(n,e){const t=n[9],i=t?t.get(oa,null):null;i&&i.handleError(e)}function Zw(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),na([e],a=>this.processInjectorType(a,[],s)),this.records.set(Pu,ku(void 0,this));const o=this.records.get(Fu);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:ot(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Tu,i=Sn.Default){this.assertNotDestroyed();const r=Vd(this),s=Ca(void 0);try{if(!(i&Sn.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof Ht}(e)&&vn(e);a=l&&this.injectableDefInScope(l)?ku(Ry(e),ff):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&Sn.Self?Jw():this.parent).get(e,t=i&Sn.Optional&&t===Tu?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Nc]=o[Nc]||[]).unshift(ot(e)),r)throw o;return eo(o,e,"R3InjectorError",this.source)}throw o}finally{Ca(s),Vd(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(ot(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=Ce(e)))return!1;let r=Ll(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Ll(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{na(r.imports,h=>{this.processInjectorType(h,t,i)&&(void 0===u&&(u=[]),u.push(h))})}finally{}if(void 0!==u)for(let h=0;hthis.processProvider(m,p,g||tr))}}this.injectorDefTypes.add(o);const l=Tc(o)||(()=>new o);this.records.set(o,ku(l,ff));const c=r.providers;if(null!=c&&!a){const u=e;na(c,h=>this.processProvider(h,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Vc(e=Ce(e))?e:Ce(e&&e.provide);const s=function(n,e,t){return nE(n)?ku(void 0,n.useValue):ku(tE(n),ff)}(e);if(Vc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=ku(void 0,ff,!0),o.factory=()=>Du(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===ff&&(t.value=KT,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=Ce(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Ry(n){const e=vn(n),t=null!==e?e.factory:Tc(n);if(null!==t)return t;if(n instanceof Ht)throw new Error(`Token ${ot(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=Oc(e,"?");throw new Error(`Can't resolve all parameters for ${ot(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[po]||n[js]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function tE(n,e,t){let i;if(Vc(n)){const r=Ce(n);return Tc(r)||Ry(r)}if(nE(n))i=()=>Ce(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Du(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>ke(Ce(n.useExisting));else{const r=Ce(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Tc(r)||Ry(r);i=()=>new r(...Du(n.deps))}return i}function ku(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function nE(n){return null!==n&&"object"==typeof n&&Np in n}function Vc(n){return"function"==typeof n}const iE=function(n,e,t){return function(n,e=null,t=null,i){const r=eE(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Wn{static create(e,t){return Array.isArray(e)?iE(e,t,""):iE(e.providers,e.parent,e.name||"")}}function Gq(n,e){wp(W_(n)[1],cs())}function An(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(Ma(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=cM(n.inputs),o.declaredInputs=cM(n.declaredInputs),o.outputs=cM(n.outputs);const a=r.hostBindings;a&&Yq(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&Wq(n,l),c&&qq(n,c),tl(n.inputs,r.inputs),tl(n.declaredInputs,r.declaredInputs),tl(n.outputs,r.outputs),Ma(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Wh(r.hostAttrs,t=Wh(t,r.hostAttrs))}}(i)}function cM(n){return n===Ed?{}:n===tr?[]:n}function Wq(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function qq(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function Yq(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Wn.THROW_IF_NOT_FOUND=Tu,Wn.NULL=new io,Wn.\u0275prov=et({token:Wn,providedIn:"any",factory:()=>ke(Pu)}),Wn.__NG_ELEMENT_ID__=-1;let lE=null;function sg(){if(!lE){const n=Qn.Symbol;if(n&&n.iterator)lE=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(xr(Re[i.index])):i.index;if(gr(t)){let Re=null;if(!a&&l&&(Re=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==Re)(Re.__ngLastListenerFn__||Re).__ngNextListenerFn__=s,Re.__ngLastListenerFn__=s,g=!1;else{s=mM(i,e,h,s,!1);const Ve=t.listen(W,r,s);p.push(s,Ve),u&&u.push(r,pe,$,$+1)}}else s=mM(i,e,h,s,!0),W.addEventListener(r,s,o),p.push(s),u&&u.push(r,pe,$,o)}else s=mM(i,e,h,s,!1);const m=i.outputs;let D;if(g&&null!==m&&(D=m[r])){const O=D.length;if(O)for(let W=0;W0;)e=e[15],n--;return e}(n,Bn.lFrame.contextLView))[8]}(n)}function MY(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const Rs={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function jk(n){return n.substring(Rs.key,Rs.keyEnd)}function Vk(n,e){const t=Rs.textEnd;return t===e?-1:(e=Rs.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,Rs.key=e,t),bg(n,e,t))}function bg(n,e,t){for(;e=0;t=Vk(e,t))ko(n,jk(e),!0)}function ec(n,e,t,i){const r=Vt(),s=Ei(),o=No(2);s.firstUpdatePass&&Wk(s,n,o,i),e!==In&&Eo(r,o,e)&&Yk(s,s.data[Js()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=ot(Gs(n)))),n}(e,t),i,o)}function $k(n,e){return e>=n.expandoStartIndex}function Wk(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[Js()],o=$k(n,t);Xk(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=f_(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=Vy(t=yM(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=yM(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Kl(i))return n[Rn(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=yM(null,n,e,l[1],i),l=Vy(l,e.attrs,i),function(n,e,t,i){n[Rn(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else u=t;if(r)if(0!==l){const p=Rn(n[a+1]);n[i+1]=pl(p,a),0!==p&&(n[p+1]=gl(n[p+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=pl(a,0),0!==a&&(n[a+1]=gl(n[a+1],i)),a=i;else n[i+1]=pl(l,0),0===a?a=i:n[l+1]=gl(n[l+1],i),l=i;c&&(n[i+1]=Ar(n[i+1])),Bk(n,u,i,!0),Bk(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Ds(s,e)>=0&&(t[i+1]=cy(t[i+1]))}(e,u,n,i,s),o=pl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function yM(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let p=t[r+1];p===In&&(p=h?tr:void 0);let g=h?M_(p,i):u===i?p:void 0;if(c&&!gE(g)&&(g=M_(l,i)),gE(g)&&(a=g,o))return a;const m=n[r+1];r=o?Rn(m):Kl(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=M_(l,i))}return a}function gE(n){return void 0!==n}function Xk(n,e){return 0!=(n.flags&(e?16:32))}function Oi(n,e=""){const t=Vt(),i=Ei(),r=n+20,s=i.firstCreatePass?Zd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return gr(n)?n.createText(e):n.createTextNode(e)}(t[11],e);Yp(i,t,o,s),rl(s,!1)}function da(n){return ha("",n,""),da}function ha(n,e,t){const i=Vt(),r=ag(i,n,e,t);return r!==In&&Xl(i,Js(),r),ha}function Lu(n,e,t){const i=Vt();return Eo(i,Oa(),e)&&Vo(Ei(),kr(),i,n,e,i[11],t,!0),Lu}function mE(n,e,t){const i=Vt();if(Eo(i,Oa(),e)){const s=Ei(),o=kr();Vo(s,o,i,n,e,Ay(f_(s.data),o,i),t,!0)}return mE}const gf=void 0;var dK=["en",[["a","p"],["AM","PM"],gf],[["AM","PM"],gf,gf],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],gf,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],gf,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",gf,"{1} 'at' {0}",gf],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let vg={};function pL(n){return n in vg||(vg[n]=Qn.ng&&Qn.ng.common&&Qn.ng.common.locales&&Qn.ng.common.locales[n]),vg[n]}var cn=(()=>((cn=cn||{})[cn.LocaleId=0]="LocaleId",cn[cn.DayPeriodsFormat=1]="DayPeriodsFormat",cn[cn.DayPeriodsStandalone=2]="DayPeriodsStandalone",cn[cn.DaysFormat=3]="DaysFormat",cn[cn.DaysStandalone=4]="DaysStandalone",cn[cn.MonthsFormat=5]="MonthsFormat",cn[cn.MonthsStandalone=6]="MonthsStandalone",cn[cn.Eras=7]="Eras",cn[cn.FirstDayOfWeek=8]="FirstDayOfWeek",cn[cn.WeekendRange=9]="WeekendRange",cn[cn.DateFormat=10]="DateFormat",cn[cn.TimeFormat=11]="TimeFormat",cn[cn.DateTimeFormat=12]="DateTimeFormat",cn[cn.NumberSymbols=13]="NumberSymbols",cn[cn.NumberFormats=14]="NumberFormats",cn[cn.CurrencyCode=15]="CurrencyCode",cn[cn.CurrencySymbol=16]="CurrencySymbol",cn[cn.CurrencyName=17]="CurrencyName",cn[cn.Currencies=18]="Currencies",cn[cn.Directionality=19]="Directionality",cn[cn.PluralCase=20]="PluralCase",cn[cn.ExtraData=21]="ExtraData",cn))();const _E="en-US";let gL=_E;function vM(n){ie(n,"Expected localeId to be defined"),"string"==typeof n&&(gL=n.toLowerCase().replace(/_/g,"-"))}function SM(n,e,t,i,r){if(n=Ce(n),Array.isArray(n))for(let s=0;s>20;if(Vc(n)||!n.multi){const g=new $h(l,r,Oe),m=CM(a,e,r?u:u+p,h);-1===m?(Dc(Hs(c,o),s,a),xM(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[m]=g,o[m]=g)}else{const g=CM(a,e,u+p,h),m=CM(a,e,u,u+p),D=g>=0&&t[g],O=m>=0&&t[m];if(r&&!O||!r&&!D){Dc(Hs(c,o),s,a);const W=function(n,e,t,i,r){const s=new $h(n,t,Oe);return s.multi=[],s.index=e,s.componentProviders=0,jL(s,r,i&&!t),s}(r?lX:aX,t.length,r,i,l);!r&&O&&(t[m].providerFactory=W),xM(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(W),o.push(W)}else xM(s,n,g>-1?g:m,jL(t[r?m:g],l,!r&&i));!r&&i&&O&&t[m].componentProviders++}}}function xM(n,e,t,i){const r=Vc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function jL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function CM(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Ei();if(i.firstCreatePass){const r=Ma(n);SM(t,i.data,i.blueprint,r,!0),SM(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class VL{}const zL="ngComponent";class dX{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${ot(n)}. Did you add it to @NgModule.entryComponents?`);return e[zL]=n,e}(e)}}class wl{}function EE(...n){}function Eg(n,e){return new En(Zs(n,e))}wl.NULL=new dX;const pX=function(){return Eg(cs(),Vt())};let En=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=pX,n})();function HL(n){return n instanceof En?n.nativeElement:n}class mf{}let MM=(()=>{class n{}return n.\u0275prov=et({token:n,providedIn:"root",factory:()=>null}),n})();class ju{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const GL=new ju("12.2.5");class $L{constructor(){}supports(e){return Ly(e)}create(e){return new vX(e)}}const bX=(n,e)=>e;class vX{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||bX}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;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,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new wX(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new WL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new WL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(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._nextIdentityChange=e,e}}class wX{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}}class EX{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(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 i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class WL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new EX,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function qL(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new xX(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class xX{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function KL(){return new Sg([new $L])}let Sg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||KL()),deps:[[n,new ul,new ns]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=et({token:n,providedIn:"root",factory:KL}),n})();function XL(){return new xg([new YL])}let xg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||XL()),deps:[[n,new ul,new ns]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=et({token:n,providedIn:"root",factory:XL}),n})();function SE(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(xr(s)),Zo(s))for(let a=10;a-1&&(ny(e,i),Gl(t,i))}this._attachedToViewContainer=!1}iy(this._lView[1],this._lView)}onDestroy(e){Vw(this._lView[1],this._lView,null,e)}markForCheck(){Ey(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){xy(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){yp(!0);try{xy(n,e,t)}finally{yp(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Xd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class AX extends $y{constructor(e){super(e),this._view=e}detectChanges(){Xw(this._view)}checkNoChanges(){!function(n){yp(!0);try{Xw(n)}finally{yp(!1)}}(this._view)}get context(){return null}}const MX=function(n){return function(n,e,t){if(Ad(n)&&!t){const i=zs(n.index,e);return new $y(i,i)}return 47&n.type?new $y(e[16],e):null}(cs(),Vt(),16==(16&n))};let Dr=(()=>{class n{}return n.__NG_ELEMENT_ID__=MX,n})();const OX=[new YL],NX=new Sg([new $L]),PX=new xg(OX),kX=function(){return xE(cs(),Vt())};let zo=(()=>{class n{}return n.__NG_ELEMENT_ID__=kX,n})();const LX=zo,BX=class extends LX{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=uf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),df(t,i,e),new $y(i)}};function xE(n,e){return 4&n.type?new BX(e,n,Eg(n,e)):null}class $c{}const UX=function(){return e3(cs(),Vt())};let Ns=(()=>{class n{}return n.__NG_ELEMENT_ID__=UX,n})();const HX=Ns,ZL=class extends HX{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Eg(this._hostTNode,this._hostLView)}get injector(){return new ea(this._hostTNode,this._hostLView)}get parentInjector(){const e=qh(this._hostTNode,this._hostLView);if(vv(e)){const t=ol(e,this._hostLView),i=Rd(e);return new ea(t[1].data[i+8],t)}return new ea(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=JL(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get($c,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return Zo(n[3])}(i)){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const h=i[3],p=new ZL(h,h[6],h[3]);p.detach(p.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),iiw});class S3 extends VL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(dT).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return E3(this.componentDef.inputs)}get outputs(){return E3(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,Mg,r);return s!==Mg||i===Mg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(mf,bu),a=s.get(MM,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(gr(n))return n.selectRootElement(e,t===Yt.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):ty(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),h=this.componentDef.onPush?576:528,p=function(n,e){return{components:[],scheduler:n||iw,clean:WT,playerHandler:e||null,flags:0}}(),g=tg(0,null,null,1,0,null,null,null,null,null),m=uf(null,g,p,h,null,null,o,l,a,s);let D,O;Hh(m);try{const W=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Zd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(rg(l,c,!0),null!==n&&(xp(r,n,c),null!==l.classes&&ay(r,n,l.classes),null!==l.styles&&Ew(r,n,l.styles)));const u=i.createRenderer(n,e),h=uf(t,eg(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Dc(Hs(l,t),o,e.type),Yw(o,l),yy(l,t.length,1)),ng(t,h),t[20]=h}(u,this.componentDef,m,o,l);if(u)if(i)xp(l,u,["ng-version",GL.full]);else{const{attrs:$,classes:pe}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&ay(l,u,pe.join(" "))}if(O=c_(g,20),void 0!==t){const $=O.projection=[];for(let pe=0;pel(o,e)),e.contentQueries){const l=cs();e.contentQueries(1,o,l.directiveStart)}const a=cs();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(yo(a.index),Ww(t[1],a,0,a.directiveStart,a.directiveEnd,e),qw(e,o)),o}(W,this.componentDef,m,p,[Gq]),df(g,m,null)}finally{fi()}return new zQ(this.componentType,D,Eg(O,m),m,O)}}class zQ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new AX(r),this.componentType=e}get injector(){return new ea(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Dg=new Map;class $Q extends $c{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new w3(this);const i=Oo(e),r=function(n){return n[TC]||null}(e);r&&vM(r),this._bootstrapComponents=hl(i.bootstrap),this._r3Injector=eE(e,t,[{provide:$c,useValue:this},{provide:wl,useValue:this.componentFactoryResolver}],ot(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Wn.THROW_IF_NOT_FOUND,i=Sn.Default){return e===Wn||e===$c||e===Pu?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class zM extends class{}{constructor(e){super(),this.moduleType=e,null!==Oo(e)&&function(n){const e=new Set;!function t(i){const r=Oo(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${ot(e)} vs ${ot(e.name)}`)}(s,Dg.get(s),i),Dg.set(s,i));const o=hl(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new $Q(this.moduleType,e)}}function T3(n,e,t,i,r,s){const o=e+t;return Eo(n,o,r)?function(n,e,t){return n[e]=t}(n,o+1,s?i.call(s,r):i(r)):function(n,e){const t=n[e];return t===In?void 0:t}(n,o+1)}function xl(n,e){const t=Ei();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new it("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=Tc(i.type)),o=Ca(Oe);try{const a=Cp(!1),l=s();return Cp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,Vt(),r,l),l}finally{Ca(o)}}function Vu(n,e,t){const i=n+20,r=Vt(),s=function(n,e){return n[e]}(r,i);return function(n,e){Zl.isWrapped(e)&&(e=Zl.unwrap(e),n[Bn.lFrame.bindingIndex]=In);return e}(r,function(n,e){return n[1].data[e].pure}(r,i)?T3(r,function(){const n=Bn.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}(),e,s.transform,t,s):s.transform(t))}function HM(n){return e=>{setTimeout(n,void 0,e)}}const sn=class extends se{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const h=e;a=null===(r=h.next)||void 0===r?void 0:r.bind(h),l=null===(s=h.error)||void 0===s?void 0:s.bind(h),c=null===(o=h.complete)||void 0===o?void 0:o.bind(h)}this.__isAsync&&(l=HM(l),a&&(a=HM(a)),c&&(c=HM(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof C&&e.add(u),u}};function oZ(){return this._results[sg()]()}class bf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=sg(),i=bf.prototype;i[t]||(i[t]=oZ)}get changes(){return this._changes||(this._changes=new sn)}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){const i=this;i.dirty=!1;const r=ta(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],u=e[-l];for(let h=10;h{class n{constructor(t){this.appInits=t,this.resolve=EE,this.reject=EE,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(ke(vf,8))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const r0=new Ht("AppId"),zZ={provide:r0,useFactory:function(){return`${eD()}${eD()}${eD()}`},deps:[]};function eD(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const eB=new Ht("Platform Initializer"),Wc=new Ht("Platform ID"),RE=new Ht("appBootstrapListener");let NE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const Uu=new Ht("LocaleId"),tB=new Ht("DefaultCurrencyCode");class GZ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const tD=function(n){return new zM(n)},$Z=tD,WZ=function(n){return Promise.resolve(tD(n))},nB=function(n){const e=tD(n),i=hl(Oo(n).declarations).reduce((r,s)=>{const o=Vi(s);return o&&r.push(new S3(o)),r},[]);return new GZ(e,i)},qZ=nB,YZ=function(n){return Promise.resolve(nB(n))};let wf=(()=>{class n{constructor(){this.compileModuleSync=$Z,this.compileModuleAsync=WZ,this.compileModuleAndAllComponentsSync=qZ,this.compileModuleAndAllComponentsAsync=YZ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const iB=new Ht("compilerOptions"),XZ=(()=>Promise.resolve(0))();function nD(n){"undefined"==typeof Zone?XZ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class gn{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new sn(!1),this.onMicrotaskEmpty=new sn(!1),this.onStable=new sn(!1),this.onError=new sn(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const 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=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=Qn.requestAnimationFrame,e=Qn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(Qn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,rD(n),n.isCheckStableRunning=!0,iD(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),rD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return rB(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),sB(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return rB(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),sB(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,rD(n),iD(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!gn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(gn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,ZZ,EE,EE);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const ZZ={};function iD(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function rD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function rB(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function sB(n){n._nesting--,iD(n)}class tJ{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new sn,this.onMicrotaskEmpty=new sn,this.onStable=new sn,this.onError=new sn}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let sD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{gn.assertNotInAngularZone(),nD(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())nD(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(ke(gn))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),oB=(()=>{class n{constructor(){this._applications=new Map,oD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return oD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();class nJ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let oD=new nJ,aB=!0,lB=!1;function Ba(){return lB=!0,aB}let rc;const cB=new Ht("AllowMultipleToken");function uB(n,e,t=[]){const i=`Platform: ${e}`,r=new Ht(i);return(s=[])=>{let o=lD();if(!o||o.injector.get(cB,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:Fu,useValue:"platform"});!function(n){if(rc&&!rc.destroyed&&!rc.injector.get(cB,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");rc=n.get(dB);const e=n.get(eB,null);e&&e.forEach(t=>t())}(Wn.create({providers:a,name:i}))}return function(n){const e=lD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function lD(){return rc&&!rc.destroyed?rc:null}let dB=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new tJ:("zone.js"===n?void 0:n)||new gn({enableLongStackTrace:Ba(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:gn,useValue:a}];return a.run(()=>{const c=Wn.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),h=u.injector.get(oa,null);if(!h)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const p=a.onError.subscribe({next:g=>{h.handleError(g)}});u.onDestroy(()=>{cD(this._modules,u),p.unsubscribe()})}),function(n,e,t){try{const i=t();return yg(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(h,a,()=>{const p=u.injector.get(Og);return p.runInitializers(),p.donePromise.then(()=>(vM(u.injector.get(Uu,_E)||_E),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=hB({},i);return function(n,e,t){const i=new zM(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(ih);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${ot(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(ke(Wn))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();function hB(n,e){return Array.isArray(e)?e.reduce(hB,n):Object.assign(Object.assign({},n),e)}let ih=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new P(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new P(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{gn.assertNotInAngularZone(),nD(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const h=this._zone.onUnstable.subscribe(()=>{gn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),h.unsubscribe()}});this.isStable=kn(a,l.pipe(Es()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof VL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get($c),a=r.create(Wn.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(sD,null),u=c&&a.injector.get(oB);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),cD(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;cD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(RE,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(ke(gn),ke(Wn),ke(oa),ke(wl),ke(Og))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();function cD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const DJ=uB(null,"core",[{provide:Wc,useValue:"unknown"},{provide:dB,deps:[Wn]},{provide:oB,deps:[]},{provide:NE,deps:[]}]),PJ=[{provide:ih,useClass:ih,deps:[gn,Wn,oa,wl,Og]},{provide:jQ,deps:[gn],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Og,useClass:Og,deps:[[new ns,vf]]},{provide:wf,useClass:wf,deps:[]},zZ,{provide:Sg,useFactory:function(){return NX},deps:[]},{provide:xg,useFactory:function(){return PX},deps:[]},{provide:Uu,useFactory:function(n){return vM(n=n||"undefined"!=typeof $localize&&$localize.locale||_E),n},deps:[[new zd(Uu),new ns,new ul]]},{provide:tB,useValue:"USD"}];let kJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(ke(ih))},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({providers:PJ}),n})(),GE=null;function qc(){return GE}const pn=new Ht("DocumentToken");let xf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({factory:Fee,token:n,providedIn:"platform"}),n})();function Fee(){return ke(VB)}let VB=(()=>{class n extends xf{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return qc().getBaseHref(this._doc)}onPopState(t){const i=qc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=qc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}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(t){this.location.pathname=t}pushState(t,i,r){UB()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){UB()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(ke(pn))},n.\u0275prov=et({factory:Lee,token:n,providedIn:"platform"}),n})();function UB(){return!!window.history.pushState}function Lee(){return new VB(ke(pn))}function xD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function zB(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function Hu(n){return n&&"?"!==n[0]?"?"+n:n}let Cf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({factory:Bee,token:n,providedIn:"root"}),n})();function Bee(n){const e=ke(pn).location;return new HB(ke(xf),e&&e.origin||"")}const CD=new Ht("appBaseHref");let HB=(()=>{class n extends Cf{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return xD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Hu(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+Hu(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+Hu(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(ke(xf),ke(CD,8))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),Pg=(()=>{class n{constructor(t,i){this._subject=new sn,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=zB(GB(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Hu(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,GB(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Hu(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Hu(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(ke(Cf),ke(xf))},n.normalizeQueryParams=Hu,n.joinWithSlash=xD,n.stripTrailingSlash=zB,n.\u0275prov=et({factory:Vee,token:n,providedIn:"root"}),n})();function Vee(){return new Pg(ke(Cf),ke(xf))}function GB(n){return n.replace(/\/index.html$/,"")}var _s=(()=>((_s=_s||{})[_s.Zero=0]="Zero",_s[_s.One=1]="One",_s[_s.Two=2]="Two",_s[_s.Few=3]="Few",_s[_s.Many=4]="Many",_s[_s.Other=5]="Other",_s))();const Yee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=pL(e);if(t)return t;const i=e.split("-")[0];if(t=pL(i),t)return t;if("en"===i)return dK;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[cn.PluralCase]};class eS{}let Ste=(()=>{class n extends eS{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(Yee(i||this.locale)(t)){case _s.Zero:return"zero";case _s.One:return"one";case _s.Two:return"two";case _s.Few:return"few";case _s.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(ke(Uu))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();class Cte{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Af=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new Cte(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new ej(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new ej(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Oe(Ns),Oe(zo),Oe(Sg))},n.\u0275dir=Rt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class ej{constructor(e,t){this.record=e,this.view=t}}let lc=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new Tte,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){tj("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){tj("ngIfElse",t),this._elseTemplateRef=t,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(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Oe(Ns),Oe(zo))},n.\u0275dir=Rt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class Tte{constructor(){this.$implicit=null,this.ngIf=null}}function tj(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${ot(e)}'.`)}class Ote{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class Rte{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const Nte=new Rte,Pte=new Ote;let h0=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(yg(t))return Nte;if(Tk(t))return Pte;throw function(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${ot(n)}'`)}(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(Oe(Dr,16))},n.\u0275pipe=Vs({name:"async",type:n,pure:!1}),n})(),qr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({providers:[{provide:eS,useClass:Ste}]}),n})();const lj="browser";function Tf(n){return n===lj}class BD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){GE||(GE=n)}(new BD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).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"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(f0=f0||document.querySelector("base"),f0?f0.getAttribute("href"):null);return null==t?null:function(n){nS=nS||document.createElement("a"),nS.setAttribute("href",n);const e=nS.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){f0=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return function(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}(document.cookie,e)}}let nS,f0=null;const hj=new Ht("TRANSITION_ID"),rne=[{provide:vf,useFactory:function(n,e,t){return()=>{t.get(Og).donePromise.then(()=>{const i=qc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},Qn.getAllAngularTestabilities=()=>e.getAllTestabilities(),Qn.getAllAngularRootElements=()=>e.getAllRootElements(),Qn.frameworkStabilizers||(Qn.frameworkStabilizers=[]),Qn.frameworkStabilizers.push(i=>{const r=Qn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?qc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let sne=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const p0=new Ht("EventManagerPlugins");let rS=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),g0=(()=>{class n extends pj{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(gj),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(gj))}}return n.\u0275fac=function(t){return new(t||n)(ke(pn))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();function gj(n){qc().remove(n)}const UD={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/"},zD=/%COMP%/g;function sS(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let oS=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new HD(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Yt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new vne(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Yt.ShadowDom:return new wne(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=sS(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(ke(rS),ke(g0),ke(r0))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();class HD{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(UD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=UD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=UD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(jo.DashCase|jo.Important)?e.style.setProperty(t,i,r&jo.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&jo.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,yj(i)):this.eventManager.addEventListener(e,t,yj(i))}}class vne extends HD{constructor(e,t,i,r){super(e),this.component=i;const s=sS(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(zD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(zD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class wne extends HD{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=sS(r.id,r.styles,[]);for(let o=0;o{class n extends VD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(ke(pn))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const wj=["alt","control","meta","shift"],Dne={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Ej={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},Ine={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let One=(()=>{class n extends VD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>qc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(wj.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&Ej.hasOwnProperty(e)&&(e=Ej[e]))}return Dne[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),wj.forEach(s=>{s!=r&&Ine[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(ke(pn))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),Mf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({factory:function(){return ke($D)},token:n,providedIn:"root"}),n})(),$D=(()=>{class n extends Mf{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case ni.NONE:return i;case ni.HTML:return ia(i,"HTML")?Gs(i):z_(this._doc,String(i)).toString();case ni.STYLE:return ia(i,"Style")?Gs(i):i;case ni.SCRIPT:if(ia(i,"Script"))return Gs(i);throw new Error("unsafe value used in a script context");case ni.URL:return Lc(i),ia(i,"URL")?Gs(i):Bo(String(i));case ni.RESOURCE_URL:if(ia(i,"ResourceURL"))return Gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new P_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new F_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new Vp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new $d(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new Fn(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(ke(pn))},n.\u0275prov=et({factory:function(){return function(n){return new $D(n.get(pn))}(ke(Pu))},token:n,providedIn:"root"}),n})();const jne=uB(DJ,"browser",[{provide:Wc,useValue:lj},{provide:eB,useValue:function(){BD.makeCurrent(),jD.init()},multi:!0},{provide:pn,useFactory:function(){return function(n){Ki=n}(document),document},deps:[]}]),Vne=[[],{provide:Fu,useValue:"root"},{provide:oa,useFactory:function(){return new oa},deps:[]},{provide:p0,useClass:Ene,multi:!0,deps:[pn,gn,Wc]},{provide:p0,useClass:One,multi:!0,deps:[pn]},[],{provide:oS,useClass:oS,deps:[rS,g0,r0]},{provide:mf,useExisting:oS},{provide:pj,useExisting:g0},{provide:g0,useClass:g0,deps:[pn]},{provide:sD,useClass:sD,deps:[gn]},{provide:rS,useClass:rS,deps:[p0,gn]},{provide:class{},useClass:sne,deps:[]},[]];let WD=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:r0,useValue:t.appId},{provide:hj,useExisting:r0},rne]}}}return n.\u0275fac=function(t){return new(t||n)(ke(n,12))},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({providers:Vne,imports:[qr,kJ]}),n})();"undefined"!=typeof window&&window;class Yne extends C{constructor(e,t){super()}schedule(e,t=0){return this}}class aS extends Yne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let xj=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class uc extends xj{constructor(e,t=xj.now){super(e,()=>uc.delegate&&uc.delegate!==this?uc.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return uc.delegate&&uc.delegate!==this?uc.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const Qne=new class extends uc{}(class extends aS{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),Yc=new P(n=>n.complete());function lS(n){return n?function(n){return new P(e=>n.schedule(()=>e.complete()))}(n):Yc}function fn(...n){let e=n[n.length-1];return Ie(e)?(n.pop(),Be(n,e)):On(n)}function Fg(n,e){return new P(e?t=>e.schedule(Jne,0,{error:n,subscriber:t}):t=>t.error(n))}function Jne({error:n,subscriber:e}){e.error(n)}class pa{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return fn(this.value);case"E":return Fg(this.error);case"C":return lS()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new pa("N",e):pa.undefinedValueNotification}static createError(e){return new pa("E",void 0,e)}static createComplete(){return pa.completeNotification}}pa.completeNotification=new pa("C"),pa.undefinedValueNotification=new pa("N",void 0);class cS extends v{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(cS.dispatch,this.delay,new tie(e,this.destination)))}_next(e){this.scheduleMessage(pa.createNext(e))}_error(e){this.scheduleMessage(pa.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(pa.createComplete()),this.unsubscribe()}}class tie{constructor(e,t){this.notification=e,this.destination=t}}class kg extends se{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new nie(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new G;if(this.isStopped||this.hasError?o=C.EMPTY:(this.observers.push(e),o=new ne(this,e)),r&&e.add(e=new cS(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class nie{constructor(e,t){this.time=e,this.value=t}}function Ir(n,e){return"function"==typeof e?t=>t.pipe(Ir((i,r)=>qe(n(i,r)).pipe(ye((s,o)=>e(i,s,r,o))))):t=>t.lift(new iie(n))}class iie{constructor(e){this.project=e}call(e,t){return t.subscribe(new rie(e,this.project))}}class rie extends Ae{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new _t(this),r=this.destination;r.add(i),this.innerSubscription=k(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const uS={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return uS.schedule(n,0);if(void 0===window.requestAnimationFrame)return uS.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let YD;function pie(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!YD){const t=Element.prototype;YD=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&YD.call(n,e)}(n,r)||(i=s,0))),i}class mie{constructor(e,t){this.componentFactory=t.get(wl).resolveComponentFactory(e)}create(e){return new _ie(this.componentFactory,e)}}class _ie{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new kg(1),this.events=this.eventEmitters.pipe(Ir(i=>kn(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(gn),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=uS.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Wn.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(ye(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=uS.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new o_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class yie extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}const vie={initialConfig:{},parse:{},rename:{}};class wie{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},vie),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,u=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(u)try{i[l]=u(c)}catch(h){console.warn(`Failed to parse ${e} = ${c}`,h.message)}else i[l]=c}}let Eie=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new wie(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=Rt({type:n,features:[Ui]}),n})();var KD;const m0={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://ccf-api.hubmapconsortium.org/v1/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld",dataSources:["https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/kpmp/data/rui_locations.jsonld","https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/sparc/data/rui_locations.jsonld"],hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"https://search.api.hubmapconsortium.org/v3/entities/search",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==(KD=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==KD?KD:""},googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};function rr(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function Aj(n,e){return function(t,i){e(t,i,n)}}function dc(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function Fi(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function Dj(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function QD(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Dj()}const Ij="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",hS=QD();class Aie{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function ZD(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const Oj={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Rj(n){return"string"==typeof n?Oj[n.toUpperCase()]||Oj.WHITE:n}function fS(n,e){if(!n)throw new Error(e||"Assertion failed")}const hc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},_0=hc.window||hc.self||hc.global,Nj=hc.process||{};function Lg(){let n;if(hS&&_0.performance)n=_0.performance.now();else if(Nj.hrtime){const e=Nj.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const Bg={debug:hS&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Nie={enabled:!0,level:0};function Tl(){}const Pj={},Fj={once:!0};function Pie(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let JD=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=Ij,this._startTs=Lg(),this._deltaTs=Lg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Aie("__probe-".concat(this.id,"__"),Nie),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Lg()-this._startTs).toPrecision(10))}getDelta(){return Number((Lg()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){fS(t,i)}warn(t){return this._getLogFunction(0,t,Bg.warn,arguments,Fj)}error(t){return this._getLogFunction(0,t,Bg.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,Bg.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,Bg.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,Bg.debug||Bg.info,arguments,Fj)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||Tl,r&&[r],{tag:Pie(i)}):Tl}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?hS?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=ZD(r,e,t);console.log(...s)},r.src=n,Tl}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...ZD(n,e,t)),Tl;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...ZD(r,e,t)),r.src=n.toDataURL(),Tl}return Tl}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=Je(307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):Tl}({image:r,message:s,scale:o}):Tl}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||Tl)}group(t,i,r={collapsed:!1}){r=Lj({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Tl)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=kj(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=Lj({logLevel:t,message:i,args:s,opts:o}),fS(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Lg();const a=o.tag||o.message;if(o.once){if(Pj[a])return Tl;Pj[a]=Lg()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!hS&&"string"==typeof n&&(e&&(e=Rj(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=Rj(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return Tl}}return n.VERSION=Ij,n})();function kj(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return fS(Number.isFinite(e)&&e>=0),e}function Lj(n){const{logLevel:e,message:t}=n;n.logLevel=kj(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return fS("string"===r||"object"===r),Object.assign(n,n.opts)}const Ri=new JD({id:"deck"}),ji={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(ji,"IDENTITY",{get:()=>Ri.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Kc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},Bj={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},mn=new JD({id:"luma.gl"});function $o(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function pS(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function Si(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function gS(n){return $o(pS(n),"Invalid WebGLRenderingContext"),n}function Co(n){return $o(Si(n),"Requires WebGL2"),n}const y0={};const b0=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Df.prototype.VERTEX_ARRAY_BINDING_OES=34229,Df.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iSi(n)?void 0:0,tre={3074:n=>Si(n)?void 0:36064,35723:n=>Si(n)?void 0:4352,35977:br,32937:br,36795:(n,e)=>{const t=Si(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(Uj);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(Uj);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:br,35071:br,37447:br,36063:(n,e)=>{if(!Si(n)){const t=n.getExtension(Vj);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:br,35374:br,35377:br,34852:n=>{if(!Si(n)){const e=n.getExtension(Vj);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(jj)?2147483647:65535,33001:n=>n.getExtension(jj)?16777216:65535,33e3:n=>16777216,37157:br,35373:br,35657:br,36183:br,37137:br,34045:br,35978:br,35979:br,35968:br,35376:br,35375:br,35659:br,37154:br,35371:br,35658:br,35076:br,35077:br,35380:br},zj="ANGLE_instanced_arrays",Hj={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{$o(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[zj]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){$o(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{$o(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{$o(!1)},deleteQuery:()=>{$o(!1)},beginQuery:()=>{$o(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},eI={readBuffer:(n,e,t)=>{Si(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:Si(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!Si(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!Si(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=tre[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function fre(n,{extension:e,target:t,target2:i}){const r=Hj[e];$o(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let u=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?u=(...h)=>a[c](...h):"function"==typeof r[l]&&(u=r[l].bind(t))),u&&(t[l]=u,i[l]=u)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Df(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&fre(n,{extension:t,target:n.luma,target2:n})}(n,Hj),function(n,{target:e,target2:t}){Object.keys(eI).forEach(i=>{if("function"==typeof eI[i]){const r=n[i]?n[i].bind(n):()=>{},s=eI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const tI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},oh=(n,e,t)=>e?n.enable(t):n.disable(t),Gj=(n,e,t)=>n.hint(t,e),ja=(n,e,t)=>n.pixelStorei(t,e);function v0(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const mre={3042:oh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:oh,2885:(n,e)=>n.cullFace(e),2929:oh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:oh,35723:Gj,36006:(n,e)=>{const t=Si(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:Gj,2849:(n,e)=>n.lineWidth(e),32823:oh,32824:"polygonOffset",10752:"polygonOffset",35977:oh,32938:"sampleCoverage",32939:"sampleCoverage",3089:oh,3088:(n,e)=>n.scissor(...e),2960:oh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:ja,3317:ja,37440:ja,37441:ja,37443:ja,3330:ja,3332:ja,3331:ja,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:ja,32878:ja,3316:ja,3315:ja,32877:ja,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=v0(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=v0(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=v0(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=v0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=v0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function os(n,e,t){return void 0!==e[n]?e[n]:t[n]}const _re={blendEquation:(n,e,t)=>n.blendEquationSeparate(os(32777,e,t),os(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(os(32969,e,t),os(32968,e,t),os(32971,e,t),os(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(os(32824,e,t),os(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(os(32938,e,t),os(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,os(2962,e,t),os(2967,e,t),os(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,os(34816,e,t),os(36003,e,t),os(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,os(2964,e,t),os(2965,e,t),os(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,os(34817,e,t),os(34818,e,t),os(34819,e,t))},$j={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Xc=(n,e)=>n.isEnabled(e),Wj={3042:Xc,2884:Xc,2929:Xc,3024:Xc,32823:Xc,32926:Xc,32928:Xc,3089:Xc,2960:Xc,35977:Xc};function qj(n){for(const e in n)return!1;return!0}function yre(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||tI)){const r=e,s=Wj[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=Wj[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},tI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){$o(this.stateStack.length>0),$u(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){$o(void 0!==s);const o=e[s],a=this.cache[s];yre(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function Kj(n,e={}){const{enable:t=!0,copyState:i}=e;if($o(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new wre(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in $j)bre(n,s,$j[s]);Yj(n,"getParameter"),Yj(n,"isEnabled")}return n.state.enable=t,n}function Xj(n){$o(n.state),n.state.pop()}function $u(n,e){if($o(pS(n),"setParameters requires a WebGL context"),qj(e))return;const t={};for(const r in e){const s=Number(r),o=mre[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)_re[r](n,e,i)}function fc(n,e,t){if(qj(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||Kj(n,{copyState:!1}),n.state.push()}(n),$u(n,e),i)r=t(n),Xj(n);else try{r=t(n)}finally{Xj(n)}return r}function mS(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function jg(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function nI(n,e,t=!0){return function(n,e,t,i,r){const s=Qj(n[0],e,t);let o=Zj(n[1],e,i,r),a=Qj(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=Zj(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,jg(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function Qj(n,e,t){return Math.min(Math.round(n*e),t-1)}function Zj(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const iI=mS(),Mre=iI&&"undefined"!=typeof document,Jj={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function eV(n={}){$o(iI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},Jj,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(Mre&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=rI(r,n),function(n){const e=Si(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);mn.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function rI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},Jj,e);const{manageState:t,debug:i}=e;return t&&Kj(n,{copyState:!1,log:(...r)=>mn.log(1,...r)()}),iI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),mn.level=Math.max(mn.level,1)):mn.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function tV(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class nV{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=tV(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(tV()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class sI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof nV?e:new nV(t,i)),this.stats[t]}}const w0="8.5.12",If=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new sI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==w0)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${w0}`);function tn(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function oI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return tn(void 0!==i,`Accessing undefined constant GL.${e}`),i}function ah(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(mS()&&mn.log(1,`luma.gl ${w0} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:w0,version:w0,log:mn,stats:If,globals:{modules:{},nodeIO:{}}}),globalThis;const aI={};function ga(n="id"){return aI[n]=aI[n]||1,`${n}-${aI[n]++}`}function iV(n){return tn("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function Vg(n){let e=!0;for(const t in n){e=!1;break}return e}function rV(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw mn.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const Ug="Resource subclass must define virtual methods";class Wu{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){gS(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ga(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){tn(e=oI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Si(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=Si(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const h=i?ah(this.gl,l):l;o[h]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[h]=ah(this.gl,o[h]))}}return o}setParameter(e,t){tn(e=oI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Si(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=oI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return rV(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(Ug)}_deleteHandle(){throw new Error(Ug)}_bindHandle(e){throw new Error(Ug)}_getOptsFromHandle(){throw new Error(Ug)}_getParameter(e,t){throw new Error(Ug)}_setParameter(e,t){throw new Error(Ug)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=If.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];If.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=If.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=If.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function lI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function E0(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function Vre({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return ma.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return ma.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=cI("Accessor",e,zre)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const oV={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},Hre={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:oV},Gre={removedProps:oV};class hr extends Wu{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/ma.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/ma.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=cI("Buffer",e,Hre),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=cI("Buffer",e,Gre))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new ma(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;tn(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(Co(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return Co(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){Co(this.gl);const s=E0(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const u=Math.min(o,l);return tn((r=r||u)<=u),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(tn(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){tn(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=lI(e);return tn(s),this.setAccessor(new ma(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){tn(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/E0(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new ma(this.accessor,{type:lI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return mn.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return mn.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return mn.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return mn.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new ma(this.accessor,e),this}}const uI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},aV={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},lV={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},qre=[9729,9728],cV=globalThis.WebGLBuffer||function(){};class Of extends Wu{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=uI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=Si(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=uI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ga("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then($=>this.initialize(Object.assign({},e,{pixels:$,data:$}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:u}=e;t||(t=r);let{width:h,height:p,dataFormat:g,type:m,compressed:D=!1,mipmaps:O=!0}=e;const{depth:W=0}=e;return({width:h,height:p,compressed:D,dataFormat:g,type:m}=this._deduceParameters({format:s,type:m,dataFormat:g,compressed:D,data:t,width:h,height:p})),this.width=h,this.height=p,this.depth=W,this.format=s,this.type=m,this.dataFormat=g,this.border=o,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),O&&this._isNPOT()&&(mn.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),O=!1,this._updateForNPOT(l)),this.mipmaps=O,this.setImageData({data:t,width:h,height:p,depth:W,format:s,type:m,dataFormat:g,border:o,mipmaps:O,parameters:c,compressed:D}),O&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:u=this.type,width:h=this.width,height:p=this.height,dataFormat:g=this.dataFormat,compressed:m=!1}=e;c||(c=i),({type:u,dataFormat:g,compressed:m,width:h,height:p}=this._deduceParameters({format:s,type:u,dataFormat:g,compressed:m,data:c,width:h,height:p}));const{gl:D}=this;D.bindTexture(this.target,this.handle);let O=null;({data:c,dataType:O}=this._getDataType({data:c,compressed:m}));let W,$=0;return fc(this.gl,l,()=>{switch(O){case"null":D.texImage2D(t,r,s,h,p,o,g,u,c);break;case"typed-array":D.texImage2D(t,r,s,h,p,o,g,u,c,a);break;case"buffer":W=Co(D),W.bindBuffer(35052,c.handle||c),W.texImage2D(t,r,s,h,p,o,g,u,a),W.bindBuffer(35052,null);break;case"browser-object":Si(D)?D.texImage2D(t,r,s,h,p,o,g,u,c):D.texImage2D(t,r,s,g,u,c);break;case"compressed":for(const[pe,Re]of c.entries())D.compressedTexImage2D(t,pe,Re.format,Re.width,Re.height,o,Re.data),$+=Re.levelSize;break;default:tn(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===O?$:c&&c.byteLength?c.byteLength:this.width*this.height*(aV[this.dataFormat]||4)*(lV[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:u=this.type,dataFormat:h=this.dataFormat,compressed:p=!1,offset:g=0,border:m=this.border,parameters:D={}}){if(({type:u,dataFormat:h,compressed:p,width:o,height:a}=this._deduceParameters({format:c,type:u,dataFormat:h,compressed:p,data:i,width:o,height:a})),tn(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const O=i;i=O.data,o=O.shape[0],a=O.shape[1]}i instanceof hr&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),fc(this.gl,D,()=>{if(p)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,h,u,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,h,u,i,g);else if(i instanceof cV){const O=Co(this.gl);O.bindBuffer(35052,i),O.texSubImage2D(e,l,r,s,o,a,h,u,g),O.bindBuffer(35052,null)}else Si(this.gl)?Co(this.gl).texSubImage2D(e,l,r,s,o,a,h,u,i):this.gl.texSubImage2D(e,l,r,s,h,u,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return mn.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof hr?{data:e.handle,dataType:"buffer"}:e instanceof cV?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=uI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},tn(r,"Could not deduced texture size"),tn(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),tn(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:tn(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Si(this.gl)||!this.width||!this.height||iV(this.width)&&iV(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===qre.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function Yre(n,e){return tn("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class _a extends Of{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return Of.isSupported(e,t)}constructor(e,t={}){gS(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:Yre(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const Rf="EXT_color_buffer_float",uV={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Rf,bpp:2},33327:{gl2:Rf,bpp:4},34842:{gl2:Rf,bpp:8},33326:{gl2:Rf,bpp:4},33328:{gl2:Rf,bpp:8},34836:{gl2:Rf,bpp:16},35898:{gl2:Rf,bpp:4}};class zg extends Wu{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=Si(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,uV)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return tn(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&Si(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*uV[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const gV="clear: bad arguments";function hI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),tn(0!==o,gV),fc(n,s,()=>{n.clear(o)})}function mV(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function oi(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){mV(s,i,r,o,a,"next",l)}function a(l){mV(s,i,r,o,a,"throw",l)}o(void 0)})}}const fI=[34069,34070,34071,34072,34073,34074];let tse=(()=>{class n extends Of{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){gS(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return oi(function*(){const{gl:u}=c,h=r||s,p=yield Promise.all(fI.map(g=>{const m=h[g];return Promise.all(Array.isArray(m)?m:[m])}));c.bind(),fI.forEach((g,m)=>{p[m].length>1&&!1!==c.opts.mipmaps&&mn.warn(`${c.id} has mipmap and multiple LODs.`)(),p[m].forEach((D,O)=>{t&&i?u.texImage2D(g,O,a,t,i,o,a,l,D):u.texImage2D(g,O,a,a,l,D)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:u=5121}=t,{gl:h}=this,p=o||a;return this.bind(),p instanceof Promise?p.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?h.texImage2D(i,0,c,r,s,l,c,u,p):h.texImage2D(i,0,c,c,u,p),this}}return n.FACES=fI,n})();class nse extends Of{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return Si(e)}constructor(e,t={}){Co(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:u,parameters:h={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),fc(this.gl,h,()=>{ArrayBuffer.isView(u)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,u),u instanceof hr&&(this.gl.bindBuffer(35052,u.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(u&&u.byteLength?u.byteLength:this.width*this.height*this.depth*(aV[this.dataFormat]||4)*(lV[this.type]||1),"Texture"),this.loaded=!0,this}}function _V(n,e){tn(n instanceof _a||n instanceof tse||n instanceof nse);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function ise(n,e){const{gl:t,width:i,height:r,id:s}=n;return new Fs(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function _S(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=S0(n);tn(u);const{gl:p,handle:g,attachments:m}=u;a=a||u.width,l=l||u.height,36064===s&&null===g&&(s=1028),tn(m[s]),c=c||m[s].type,o=function(n,e,t,i,r){if(n)return n;return new(E0(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return tn(!1),0}}(t))}(o,c,r,a,l),c=c||lI(o);const D=p.bindFramebuffer(36160,g);return p.readPixels(t,i,a,l,r,c,o),p.bindFramebuffer(36160,D||null),h&&u.delete(),o}function pI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=_S(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=Vre({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const u in i){const h=i[u];(Array.isArray(h)?h[0]:h).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return tn(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&mn.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){tn(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof zg)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[u,h=0,p=0]=l;c=u,this._attachTexture({attachment:a,texture:u,layer:h,level:p})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(Fs.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&hI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){Co(n),fc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:tn(!1,gV)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return mn.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return mn.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return mn.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return mn.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return mn.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return mn.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=Co(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=ah(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?ah(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?ah(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(pI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>mn.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=pI(this,{targetMaxHeight:100});return mn.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new _a(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new zg(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new zg(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&tn(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof zg?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:Co(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:tn(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return Si(n)?n:null}(this.gl);t?t.readBuffer(e):tn(36064===e||1029===e,yV),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=Co(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):tn(1===e.length&&(36064===e[0]||1029===e[0]),yV)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in bV)void 0===n.luma.caps[e]&&(n.luma.caps[e]=wV(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}Fs.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const bV={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new _a(n,{format:6408,type:5126,dataFormat:6408}),t=new Fs(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function gI(n,e){return vV(n,e)}function vV(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>wV(n,t))}function wV(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=bV[e];let i;tn(t,e);const r=Si(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:tn(!1);return i}(n,e)),n.luma.caps[e]||mn.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class mI{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},gse=1/Math.PI*180,mse=1/180*Math.PI,Or={};function yse(n,{precision:e=Or.precision||4}={}){return n=function(n){return Math.round(n/Or.EPSILON)*Or.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function lh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function qu(n,e,t){if(lh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*mse,void 0)}(n)}function vse(n){return function(n,e){return qu(n,t=>t*gse,void 0)}(n)}function Va(n,e,t){return qu(n,i=>Math.max(e,Math.min(t,i)))}function yS(n,e,t){return lh(n)?n.map((i,r)=>yS(i,e[r],t)):t*e+(1-t)*n}function C0(n,e,t){const i=Or.EPSILON;t&&(Or.EPSILON=t);try{if(n===e)return!0;if(lh(n)&&lh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+yse(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(LV.length=n.length,i=LV):i=kV,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function BV(n){return n&&n[Symbol.asyncIterator]}function EI(n,e=(()=>!0)){return Array.isArray(n)?jV(n,e,[]):e(n)?[n]:[]}function jV(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function VV(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",at(at(at({},qse[n.type]),e),n)):null}function UV(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function zV(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function HV(n){n.push(n.shift())}function xI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function GV({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,u=r&&c,h=xI(t,e),p=t.state.constant;if(!u&&i>=h)return;const g=p?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!p){const W=s;s=($,pe)=>t._normalizeConstant(W($,pe))}const m=p?(W,$)=>s(g,$):(W,$)=>s(g.subarray(W,W+a),$),D=n.getData({length:i}),O=new Float32Array(h);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return SI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((u,h)=>i(u+a,h)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===SS||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=SS}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=Gse}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==SS}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,u]of s)o.call(r,this,{data:t,startRow:c,endRow:u,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const O=h*a+l;for(let W=0;Wu?c.set(pe,D):(e._normalizeValue(pe,W.target,0),Hse({target:c,source:W.target,start:D,count:Re}));D+=Re*u}else e._normalizeValue(pe,c,D),D+=u}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let AI={};function To(n){Ri.level>0&&AI[n]&&AI[n].call(...arguments)}function Ua(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const $V="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",Xse=`#version 300 es\n${$V}`;function WV(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function qV(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?Xse:e>300?`#version ${e}\n${$V}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return Ua(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class YV extends Wu{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return Si(e)}constructor(e,t={}){Co(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,Vg(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,mn.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof hr?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class eoe{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof hr?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&tn(Si(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new YV(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],tn(i[s]instanceof hr)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new hr(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function KV(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const D0="vs",ioe={[D0]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},xS="__LUMA_INJECT_DECLARATIONS__",XV=/void\s+main\s*\([^)]*\)\s*\{\n?/,QV=/}\n?[^{}]*$/,MI=[];function ZV(n,e,t,i=!1){const r=e===D0;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),MI.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(QV,l=>a+l));break;case"fs:#decl":r||(n=n.replace(xS,a));break;case"fs:#main-start":r||(n=n.replace(XV,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(QV,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(xS,""),i&&(n=n.replace(/\}\s*$/,s=>s+ioe[e])),n}function DI(n){const e={};return Ua(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const roe={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},CS="transform_uSize_",JV="transform_position";const hoe={10241:9728,10240:9728,10242:33071,10243:33071};class poe{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const h in this.samplerTextureMap)a[h]=i[this.samplerTextureMap[h]];this._setSourceTextureParameters();const u=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${CS}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${CS}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,u)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=_S(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return Ua(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new hr(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new Fs(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters(hoe)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=_V(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const u=l.split("\n"),h=u.slice();if(u.forEach((p,g,m)=>{if(s>0){const D=function(n,e){const t={},i=function(n){return WV(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${CS}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),h=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return Ua(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":h},samplerTextureMap:t}}return null}(p,e);if(D){const{updatedLine:O,inject:W}=D;h[g]=O,c=DI([c,W]),Object.assign(a,D.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=WV(n,["varying","out"]);return t&&t.name===e?t.type:null}(p,t))}),t){tn(i);const p=`${CS}${t}`;c=DI([c,{"vs:#decl":`uniform vec2 ${p};\n`,"vs:#main-start":` vec2 ${JV} = transform_getPos(${p});\n gl_Position = vec4(${JV}, 0, 1.);\n`}])}l=h.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=DI([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||qV({version:KV(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[roe].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const II={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function moe(n){let e=eU(n);return"object"===e?n?"type"in n?Object.assign({},n,II[n.type]):"value"in n?(e=eU(n.value),Object.assign({type:e},n,II[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},II[e])}function eU(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class OI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:u,fragmentShader:h}){Ua("string"==typeof e),this.name=e,this.vs=t||u,this.fs=i||h,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=moe(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:Ua(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&Ua(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function voe(n){return function(n){const e={},t={};return RI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}(nU(n))}function RI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof OI||(Ua("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),Ua(t.name,"shader module has no name"),(t=new OI(t)).dependencies=nU(t.dependencies)),t))}const NI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},Nf={};function Moe(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(NI).forEach(n=>{Nf[n]=n});const PI={};function iU(n,e,t={}){const i=NI[e];if(Ua(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in PI)return PI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),PI[e]=l,l}function AS(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=NI[e];Ua(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return Ua(!1===r||!0===r),r}(n,t))}function Gg(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const rU=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],Roe=[...rU,[Gg("attribute"),"in $1"],[Gg("varying"),"out $1"]],Noe=[...rU,[Gg("varying"),"in $1"]],sU=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Poe=[...sU,[Gg("in"),"attribute $1"],[Gg("out"),"varying $1"]],Foe=[...sU,[Gg("in"),"varying $1"]],FI="gl_FragColor",kI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,koe=/void\s+main\s*\([^)]*\)\s*\{\n?/;function TS(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const Voe=`\n\n${xS}\n\n`,oU={[D0]:"vertex",fs:"fragment"};function aU(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){Ua("string"==typeof t,"shader source must be a string");const h=i===D0,p=t.split("\n");let g=100,m="",D=t;0===p[0].indexOf("#version ")?(g=300,m=p[0],D=p.slice(1).join("\n")):m=`#version ${g}`;const O={};r.forEach(We=>{Object.assign(O,We.getDefines())}),Object.assign(O,s);let W=c?`${m}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${oU[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${oU[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:Moe(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return AS(n,Nf.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),AS(n,Nf.GLSL_DERIVATIVES)&&iU(n,Nf.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),AS(n,Nf.GLSL_FRAG_DATA)&&iU(n,Nf.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),AS(n,Nf.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(O)}\n${h?"":"precision highp float;\n\n"}\n`:`${m}\n`;const $=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),pe={},Re={},Ve={};for(const We in a){const rt="string"==typeof a[We]?{injection:a[We],order:0}:a[We],wt=We.match(/^(v|f)s:(#)?([\w-]+)$/);if(wt){const At=wt[3];wt[2]?"decl"===At?Re[We]=[rt]:Ve[We]=[rt]:pe[We]=[rt]}else Ve[We]=[rt]}for(const We of r){u&&We.checkDeprecations(D,u),W+=We.getModuleSource(i,g);const wt=We.injections[i];for(const vt in wt){const At=vt.match(/^(v|f)s:#([\w-]+)$/);if(At){const $t="decl"===At[2]?Re:Ve;$t[vt]=$t[vt]||[],$t[vt].push(wt[vt])}else pe[vt]=pe[vt]||[],pe[vt].push(wt[vt])}}return W+=Voe,W=ZV(W,i,Re),W+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}($[i],pe),W+=D,W=ZV(W,i,Ve),W=function(n,e,t){switch(e){case 300:return t?TS(n,Roe):function(n){const e=(n=TS(n,Noe)).match(kI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${FI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(koe,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${FI}\\b`,"g"),t)}return n}(n);case 100:return t?TS(n,Poe):function(n){const e=(n=TS(n,Foe)).match(kI);if(e){const t=e[1];n=n.replace(kI,"").replace(new RegExp(`\\b${t}\\b`,"g"),FI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(W,l?100:g,h),W}function Hoe(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const Koe={5126:Rr.bind(null,"uniform1fv",za,1,Mo),35664:Rr.bind(null,"uniform2fv",za,2,Mo),35665:Rr.bind(null,"uniform3fv",za,3,Mo),35666:Rr.bind(null,"uniform4fv",za,4,Mo),5124:Rr.bind(null,"uniform1iv",ch,1,Mo),35667:Rr.bind(null,"uniform2iv",ch,2,Mo),35668:Rr.bind(null,"uniform3iv",ch,3,Mo),35669:Rr.bind(null,"uniform4iv",ch,4,Mo),35670:Rr.bind(null,"uniform1iv",ch,1,Mo),35671:Rr.bind(null,"uniform2iv",ch,2,Mo),35672:Rr.bind(null,"uniform3iv",ch,3,Mo),35673:Rr.bind(null,"uniform4iv",ch,4,Mo),35674:Rr.bind(null,"uniformMatrix2fv",za,4,Ku),35675:Rr.bind(null,"uniformMatrix3fv",za,9,Ku),35676:Rr.bind(null,"uniformMatrix4fv",za,16,Ku),35678:ro,35680:ro,5125:Rr.bind(null,"uniform1uiv",MS,1,Mo),36294:Rr.bind(null,"uniform2uiv",MS,2,Mo),36295:Rr.bind(null,"uniform3uiv",MS,3,Mo),36296:Rr.bind(null,"uniform4uiv",MS,4,Mo),35685:Rr.bind(null,"uniformMatrix2x3fv",za,6,Ku),35686:Rr.bind(null,"uniformMatrix2x4fv",za,8,Ku),35687:Rr.bind(null,"uniformMatrix3x2fv",za,6,Ku),35688:Rr.bind(null,"uniformMatrix3x4fv",za,12,Ku),35689:Rr.bind(null,"uniformMatrix4x2fv",za,8,Ku),35690:Rr.bind(null,"uniformMatrix4x3fv",za,12,Ku),35678:ro,35680:ro,35679:ro,35682:ro,36289:ro,36292:ro,36293:ro,36298:ro,36299:ro,36300:ro,36303:ro,36306:ro,36307:ro,36308:ro,36311:ro},Xoe={},Qoe={},Zoe={},lU=[0];function LI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(lU[0]=n,n=lU);const r=n.length;if(r%e&&mn.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function Rr(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{tn(s===u,"Uniform length cannot change.");for(let p=0;p{const a=String(o+e);return hU(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:dU(s,c),warnings:dU(o,c)}}(i,this.source,this.shaderType,this.id);throw mn.error(`GLSL compilation errors in ${r}\n${s}`)(),mn.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class BI extends I0{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class jI extends I0{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const ks=5126,O0=5124,R0=5125,VI={[ks]:[ks,1,"float"],35664:[ks,2,"vec2"],35665:[ks,3,"vec3"],35666:[ks,4,"vec4"],[O0]:[O0,1,"int"],35667:[O0,2,"ivec2"],35668:[O0,3,"ivec3"],35669:[O0,4,"ivec4"],[R0]:[R0,1,"uint"],36294:[R0,2,"uvec2"],36295:[R0,3,"uvec3"],36296:[R0,4,"uvec4"],35670:[ks,1,"bool"],35671:[ks,2,"bvec2"],35672:[ks,3,"bvec3"],35673:[ks,4,"bvec4"],35674:[ks,8,"mat2"],35685:[ks,8,"mat2x3"],35686:[ks,8,"mat2x4"],35675:[ks,12,"mat3"],35687:[ks,12,"mat3x2"],35688:[ks,12,"mat3x4"],35676:[ks,16,"mat4"],35689:[ks,16,"mat4x2"],35690:[ks,16,"mat4x3"]};function yU(n){const e=VI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function bU(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=ks}for(const t in VI){const[i,r,s]=VI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class kae{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!Si(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=yU(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new ma(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=yU(i),l={location:e,name:t,accessor:new ma({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const Lae=35981,Bae=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class wU extends Wu{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",Bae),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=Lae}=e;return this.hash=t||"",this.vs="string"==typeof i?new BI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new jI(this.gl,{id:`${e.id}-fs`,source:r}):r,tn(this.vs instanceof BI),tn(this.fs instanceof jI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(Co(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new kae(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:u=c>0,vertexArray:h=null,transformFeedback:p,framebuffer:g,parameters:m={},uniforms:D,samplers:O}){if((D||O)&&(mn.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(D||{})),mn.priority>=e){const W=g?g.id:"default",$=`mode=${ah(this.gl,t)} verts=${i} instances=${c} indexType=${ah(this.gl,l)} isInstanced=${u} isIndexed=${a} Framebuffer=${W}`;mn.log(e,$)()}return tn(h),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||u&&0===c||(h.bindForDraw(i,c,()=>{if(void 0!==g&&(m=Object.assign({},m,{framebuffer:g})),p){const W=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return tn(!1),0}}(t);p.begin(W)}this._bindTextures(),fc(this.gl,m,()=>{a&&u?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&Si(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):u?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),p&&p.end()}),0))}setUniforms(e={}){mn.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!tae(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof Fs&&(s=s.texture),s instanceof Of)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&nae(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new BI({handle:r});break;case 35632:i.fs=new jI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ga(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),mn.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),mn.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||mn.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),u=this._getHash(t),h=this._getHash(i),p=c.map(pe=>this._getHash(pe.name)).sort(),g=o.map(pe=>this._getHash(pe)),m=Object.keys(r).sort(),D=Object.keys(s).sort(),O=[],W=[];for(const pe of m)O.push(this._getHash(pe)),O.push(this._getHash(r[pe]));for(const pe of D)W.push(this._getHash(pe)),W.push(this._getHash(s[pe]));const $=`${u}/${h}D${O.join("/")}M${p.join("/")}I${W.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[$]){const pe=function(n,e){const{vs:t,fs:i}=e,r=voe(e.modules||[]);return{gl:n,vs:aU(n,Object.assign({},e,{source:t,type:D0,modules:r})),fs:aU(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:Hoe(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[$]=new wU(this.gl,{hash:$,vs:pe.vs,fs:pe.fs,varyings:o,bufferMode:a}),this._getUniforms[$]=pe.getUniforms||(Re=>{}),this._useCounts[$]=0}return this._useCounts[$]++,this._programCache[$]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":_0.chrome?"Chrome":_0.safari?"Safari":_0.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ha(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ha.MAX_ATTRIBUTES=Ha.MAX_ATTRIBUTES||e.getParameter(34921),Ha.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ha._setConstantFloatArray(e,t,i);break;case Int32Array:Ha._setConstantIntArray(e,t,i);break;case Uint32Array:Ha._setConstantUintArray(e,t,i);break;default:tn(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ha.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return tn(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:u}=i,{gl:h,gl2:p}=this;return e=Number(e),this.bind(()=>{h.bindBuffer(34962,t.handle),c?(tn(Si(h)),p.vertexAttribIPointer(e,r,s,o,a)):h.vertexAttribPointer(e,r,s,l,o,a),h.enableVertexAttribArray(e),p.vertexAttribDivisor(e,u||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ha.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new hr(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!OS||OS.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const $ae=/^(.+)__LOCATION_([0-9]+)$/,Wae=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class qae{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ha(e),rV(this,"VertexArray","v6.0",Wae),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new hr(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,mn.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const u=ma.resolve(l.accessor,this.accessors[o]||{},i,r),{size:h,type:p}=u;return tn(Number.isFinite(h)&&Number.isFinite(p)),{location:o,accessor:u}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=$ae.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof hr)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof hr)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof hr))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof hr){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return mn.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function P0(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=P0(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function EU(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,u,h,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof hr){const p=e,{data:g,changed:m}=p.getDebugData();let D;return u=m?"*":"",h=g,l=p.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?D=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${ah(r,s)})`:(c=!0,D=`${l} bytes`),{[i]:`${u}${P0(h,{size:o,isInteger:c})}`,"Format ":D}}return h=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${P0(h,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function Xae(n,e){const{type:t,size:i}=e,r=bU(t,i);return r?`${n} (${r.name})`:n}function SU({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){tn(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const p of l)!p.match(".*_.*")&&!p.match(s)&&UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)p.match(s)&&UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)a[p]||UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;let u=0;const h={};if(!i)for(const p in t){const g=t[p];a[p]||(u++,h[p]={Type:`NOT USED: ${g}`,[n]:P0(g)})}return{table:a,count:c,unusedTable:h,unusedCount:u}}function UI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?P0(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function xU(n){const{type:e,size:t}=n.accessor,i=bU(e,t);return i?`${i.name} ${n.name}`:n.name}const Jae={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function tle(n,e){const{attributeMap:t=Jae}=e||{};return t&&t[n]||n}function nle(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}tn(Number.isFinite(e.size),`attribute ${n} needs size`)}const CU=()=>{},sle={};class Yg{constructor(e,t={}){const{id:i=ga("model")}=t;tn(pS(e)),this.id=i,this.gl=e,this.id=t.id||ga("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||N0.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},tn(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return tn(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return tn(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=tle(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=at({},o);delete c.value,i[a]=[new hr(n,l),c],nle(s,c)}}if(r){const s=r.value||r;tn(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new hr(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(Vg(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return hI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),mn.priority>=2&&(c=this._logDrawCallStart(2));const u=this.vertexArray.getDrawParams(),{isIndexed:h=u.isIndexed,indexType:p=u.indexType,indexOffset:g=u.indexOffset,vertexArrayInstanced:m=u.isInstanced}=this.props;m&&!this.isInstanced&&mn.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:D,instanceCount:O}=this,{onBeforeRender:W=CU,onAfterRender:$=CU}=this.props;W(),this.program.setUniforms(this.uniforms);const pe=this.program.draw(Object.assign(sle,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:h,indexType:p,isInstanced:D,instanceCount:O,offset:h?g:0}));return $(),mn.priority>=2&&this._logDrawCallEnd(c,l,i),pe}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return mn.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}tn(t instanceof wU,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new qae(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof hr&&t.delete()}}_setAnimationProps(e){this.animated&&tn(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(Vg(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new YV(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:mn.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=EU(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${Xae(s.name,a)}`),t[o]=EU(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=SU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:u}=SU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});u>0&&mn.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&mn.log("UNUSED UNIFORMS",Object.keys(a))();const h=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${xU(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${xU(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);mn.table(e,s)(),mn.table(e,o)(),mn.table(e+1,h)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),mn.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class zI{static isSupported(e){return Si(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();tn(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Yg(t,Object.assign({},e,{fs:e.fs||qV({version:KV(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(Vg(n.feedbackBuffers)&&Vg(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new eoe(e,t)),function(n){return!(Vg(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new poe(e,t)),tn(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function RS(){}const lle={onStart:RS,onUpdate:RS,onInterrupt:RS,onEnd:RS};class F0{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=at(at({},lle),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const mle={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new F0(i),this.attribute=t,this.attributeInTransition=new CI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=zV(e.size);return new zI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new hr(e,r),new hr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;HV(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)GV(at({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=xI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:UV(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new F0(i),this.attribute=t,this.attributeInTransition=new CI(e,Cn(at({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new _a(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new Fs(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=zV(e.size);return new zI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new hr(e,r),new hr(e,r),new hr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)GV(at({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=xI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:UV(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),HV(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),_S(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class _le{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=zI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void Ri.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=mle[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(Ri.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const AU="attributeManager.invalidate";class Sle{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new _le(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;To("attribute.updateStart",t),t.allocate(i)&&To("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,To("attribute.updateEnd",t,i))}}function MU(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function DU(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=VV(r)))return;const o=Tle[r.type];if(!o)return void Ri.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(Cn(at({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const NS={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:Dle}=NS;function Rle(n,e){if(!n.transitions)return null;const t={},i=GI(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&HI(n[r],e[r],s)&&(t[r]=!0)}return t}function IU({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=HI(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=HI(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function HI(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function Fle(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!Ule(i[r],e[r])){t=n(i),e=i;break}return t}}function zle(n,e){if(!e)return n;const t=at(at({},n),e);if("defines"in e&&(t.defines=at(at({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=at({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function $I(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],p=e[10],g=e[11],m=e[12],D=e[13],O=e[14],W=e[15],$=t*a-i*o,pe=t*l-r*o,Re=t*c-s*o,Ve=i*l-r*a,We=i*c-s*a,rt=r*c-s*l,wt=u*D-h*m,vt=u*O-p*m,At=u*W-g*m,Bt=h*O-p*D,$t=h*W-g*D,mt=p*W-g*O,yt=$*mt-pe*$t+Re*Bt+Ve*At-We*vt+rt*wt;return yt?(n[0]=(a*mt-l*$t+c*Bt)*(yt=1/yt),n[1]=(r*$t-i*mt-s*Bt)*yt,n[2]=(D*rt-O*We+W*Ve)*yt,n[3]=(p*We-h*rt-g*Ve)*yt,n[4]=(l*At-o*mt-c*vt)*yt,n[5]=(t*mt-r*At+s*vt)*yt,n[6]=(O*Re-m*rt-W*pe)*yt,n[7]=(u*rt-p*Re+g*pe)*yt,n[8]=(o*$t-a*At+c*wt)*yt,n[9]=(i*At-t*$t-s*wt)*yt,n[10]=(m*We-D*Re+W*$)*yt,n[11]=(h*Re-u*We-g*$)*yt,n[12]=(a*vt-o*Bt-l*wt)*yt,n[13]=(t*Bt-i*vt+r*wt)*yt,n[14]=(D*pe-m*Ve-O*$)*yt,n[15]=(u*Ve-h*pe+p*$)*yt,n):null}function Pf(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=e[9],g=e[10],m=e[11],D=e[12],O=e[13],W=e[14],$=e[15],pe=t[0],Re=t[1],Ve=t[2],We=t[3];return n[0]=pe*i+Re*a+Ve*h+We*D,n[1]=pe*r+Re*l+Ve*p+We*O,n[2]=pe*s+Re*c+Ve*g+We*W,n[3]=pe*o+Re*u+Ve*m+We*$,n[4]=(pe=t[4])*i+(Re=t[5])*a+(Ve=t[6])*h+(We=t[7])*D,n[5]=pe*r+Re*l+Ve*p+We*O,n[6]=pe*s+Re*c+Ve*g+We*W,n[7]=pe*o+Re*u+Ve*m+We*$,n[8]=(pe=t[8])*i+(Re=t[9])*a+(Ve=t[10])*h+(We=t[11])*D,n[9]=pe*r+Re*l+Ve*p+We*O,n[10]=pe*s+Re*c+Ve*g+We*W,n[11]=pe*o+Re*u+Ve*m+We*$,n[12]=(pe=t[12])*i+(Re=t[13])*a+(Ve=t[14])*h+(We=t[15])*D,n[13]=pe*r+Re*l+Ve*p+We*O,n[14]=pe*s+Re*c+Ve*g+We*W,n[15]=pe*o+Re*u+Ve*m+We*$,n}function FS(n,e,t){var o,a,l,c,u,h,p,g,m,D,O,W,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],u=e[4],h=e[5],p=e[6],g=e[7],m=e[8],D=e[9],O=e[10],W=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=p,n[7]=g,n[8]=m,n[9]=D,n[10]=O,n[11]=W,n[12]=o*i+u*r+m*s+e[12],n[13]=a*i+h*r+D*s+e[13],n[14]=l*i+p*r+O*s+e[14],n[15]=c*i+g*r+W*s+e[15]),n}function kS(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function RU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],p=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+u*i,n[6]=a*r+h*i,n[7]=l*r+p*i,n[8]=c*r-s*i,n[9]=u*r-o*i,n[10]=h*r-a*i,n[11]=p*r-l*i,n}function NU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],p=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+u*i,n[2]=a*r+h*i,n[3]=l*r+p*i,n[4]=c*r-s*i,n[5]=u*r-o*i,n[6]=h*r-a*i,n[7]=p*r-l*i,n}function FU(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function LS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}function kU(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return n[0]=u*c+g*-o+h*-l-p*-a,n[1]=h*c+g*-a+p*-o-u*-l,n[2]=p*c+g*-l+u*-a-h*-o,n[3]=e[3],n}!function(){var n=new ya(4);ya!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const LU=[0,0,0,0],fce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],pce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],gce=[0,0,0],mce=[0,0,0],_ce=PS(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=LU,l=LU,c=n.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:p}=BU(n,e,t);return p&&(l=n.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=LS([],l,o),s=i||s,o=Pf([],r,s),o=Pf([],o,fce)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(n,t,i),u=n.getDistanceScales(),h=[n.width*e,n.height*e],p=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:p,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:gce,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const m=n.getDistanceScales(c);switch(t){case ji.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerMeter2;break;case ji.LNGLAT:case ji.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerDegree2;break;case ji.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,m.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,m.unitsPerMeter2[2]]}}return g});function BU(n,e,t=mce){let r,i=t,s=!0;switch(r=e===ji.LNGLAT_OFFSETS||e===ji.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Kc.WEB_MERCATOR:(e===ji.LNGLAT||e===ji.CARTESIAN)&&(s=!1);break;case Kc.WEB_MERCATOR_AUTO_OFFSET:e===ji.LNGLAT?i=r:e===ji.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Kc.IDENTITY:i=n.position.map(Math.fround);break;case Kc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class wce extends bS{get ELEMENTS(){return Yu(!1),0}get RANK(){return Yu(!1),0}toString(){let e="[";if(Or.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new qn).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],u=n[9],h=n[10],p=n[11],g=n[12],m=n[13],D=n[14],O=n[15];return(e*o-t*s)*(h*O-p*D)-(e*a-i*s)*(u*O-p*m)+(e*l-r*s)*(u*D-h*m)+(t*a-i*o)*(c*O-p*g)-(t*l-r*o)*(c*D-h*g)+(i*l-r*a)*(c*m-u*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return $I(this,this),this.check()}multiplyLeft(e){return Pf(this,e,this),this.check()}multiplyRight(e){return Pf(this,this,e),this.check()}rotateX(e){return RU(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],p=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-u*i,n[2]=a*r-h*i,n[3]=l*r-p*i,n[8]=s*i+c*r,n[9]=o*i+u*r,n[10]=a*i+h*r,n[11]=l*i+p*r}(this,this,e),this.check()}rotateZ(e){return NU(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,u,h,p,g,m,D,O,W,$,pe,Re,Ve,We,rt,wt,vt,At,Bt,$t,mt,yt,Ut,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const WI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function Xu(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const gc=Math.PI,GU=gc/4,mc=gc/180,qI=180/gc,YI=4003e4,jS=85.051129;function VS([n,e]){return Xu(Number.isFinite(n)),Xu(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*mc+gc)/(2*gc),512*(gc+Math.log(Math.tan(GU+e*mc*.5)))/(2*gc)]}function Zg([n,e]){const t=n/512*(2*gc)-gc,i=2*(Math.atan(Math.exp(e/512*(2*gc)-gc))-GU);return[t*qI,i*qI]}function KI({latitude:n,longitude:e,highPrecision:t=!1}){Xu(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*mc),o=512/360,a=o/s,l=512/YI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=mc*Math.tan(n*mc)/s,h=512/YI*c,p=h/a*l;i.unitsPerDegree2=[0,o*c/2,h],i.unitsPerMeter2=[p,0,p]}return i}function $U(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=KI({longitude:t,latitude:i,highPrecision:!0}),u=VS(n);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=Zg(u),p=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],p]:h}function qU(n){return 2*Math.atan(.5/n)*qI}function YU(n,e){const[t,i,r=0]=n;return Xu(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Qg(e,[t,i,r,1])}function L0(n,e,t=0){const[i,r,s]=n;if(Xu(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Qg(e,[i,r,s,1]);const o=Qg(e,[i,r,0,1]),a=Qg(e,[i,r,1,1]),l=o[2],c=a[2];return VU([],o,a,l===c?0:((t||0)-l)/(c-l))}const KU=Math.PI/180;function XU(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Qg(i,[e,0,1,1]),s=Qg(i,[e,n.height,1,1]),c=Zg(VU([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const Bce=Math.PI/180,jce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],QI=[0,0,0],Uce={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Jg=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Kc.WEB_MERCATOR:Kc.WEB_MERCATOR_AUTO_OFFSET:Kc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&C0(t.projectionMatrix,this.projectionMatrix)&&C0(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=YU(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,u=L0([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[h,p,g]=this.unprojectPosition(u);return Number.isFinite(a)?[h,p,g]:Number.isFinite(r)?[h,p,r]:[h,p]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?VS(t):t}unprojectFlat(t){return this.isGeospatial?Zg(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?KI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Jg{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:u=!1,repeat:h=!1,worldOffset:p=0}=t;let{width:g,height:m,altitude:D=1.5}=t;const O=Math.pow(2,s);g=g||1,m=m||1,D=Math.max(.75,D);const{fov:W,aspect:$,focalDistance:pe,near:Re,far:Ve}=function({width:n,height:e,fovy:t=qU(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=qU(i));const a=.5*t*mc,l=function(n){return.5/Math.tan(.5*n*mc)}(t),c=r*mc,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:g,height:m,pitch:o,altitude:D,nearZMultiplier:l,farZMultiplier:c});let We=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return FS(o,o,[0,0,-i]),RU(o,o,-e*mc),NU(o,o,t*mc),kS(o,o,[r/=n,r,r]),s&&FS(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:m,pitch:o,bearing:a,scale:O,altitude:D});p&&(We=(new qn).translate([512*p,0,0]).multiplyLeft(We)),super(Cn(at({},t),{width:g,height:m,viewMatrix:We,longitude:r,latitude:i,zoom:s,orthographic:u,fovyRadians:W,aspect:$,focalDistance:pe,near:Re,far:Ve})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=D,this.orthographic=u,this._subViewports=h?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(Cn(at({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return $U(t,i)}panByPosition(t,i){const r=L0(i,this.pixelUnprojectionMatrix),o=BS([],this.projectFlat(t),jU([],r)),a=BS([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*KU:Math.atan(.5/n.altitude))>(90-n.pitch)*KU-.01?(l=XU(n,0,e),c=XU(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:Xu(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=VS([a,HU(u,-jS,jS)]),p=VS([c,HU(l,-jS,jS)]),g=[Math.max(Math.abs(p[0]-h[0]),i),Math.max(Math.abs(p[1]-h[1]),i)],m=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];Xu(m[0]>0&&m[1]>0);const D=m[0]/g[0],O=m[1]/g[1],Re=Zg([(p[0]+h[0])/2+(s.right-s.left)/2/D,(p[1]+h[1])/2+(s.bottom-s.top)/2/O]),Ve=Math.min(r,WI(Math.abs(Math.min(D,O))));return Xu(Number.isFinite(Ve)),{longitude:Re[0],latitude:Re[1],zoom:Ve}}(at({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function ZI(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof t4){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function n4(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=LS([],[o,a,l,1],t)),i){case ji.LNGLAT:return ZI([o,a,l],e,s);case ji.LNGLAT_OFFSETS:return ZI([o+r[0],a+r[1],l+(r[2]||0)],e,s);case ji.METER_OFFSETS:return ZI($U(r,[o,a,l]),e,s);case ji.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const Gce={10241:9987,10240:9729,10242:33071,10243:33071},JI={},qce={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||j0(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>eO(n,e)},accessor:{validate(n,e){const t=US(n);return"function"===t||t===US(e.value)},equal:(n,e,t)=>"function"==typeof e||eO(n,e)},array:{validate:(n,e)=>e.optional&&!n||j0(n),equal:(n,e,t)=>t.compare?eO(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof _a)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new _a(t,Cn(at({},e),{parameters:at(at(at({},Gce),i),n.props.textureParameters)}));return JI[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof _a)||JI[n.id]&&(n.delete(),delete JI[n.id])}(n)}}};function eO(n,e){if(n===e)return!0;if(!j0(n)||!j0(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=oue,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[rue]||{},i=e[iue]||e,r=e[sue]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(BV(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return oi(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var h,c=!0,u=!1;try{for(var g,m,p=nO(t);c=(g=yield p.next()).done,m=yield g.value,!c;c=!0){const O=m,{dataTransform:W}=i.component?i.component.props:{};a=W?W(O,a):a.concat(O),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(O){u=!0,h=O}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(u)throw h}}const D=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;D&&D(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:o4,ASYNC_RESOLVED:a4,ASYNC_DEFAULTS:aue}=NS,lue={};let cue=0,uue=(()=>{class n{constructor(){this.props=Xce.apply(this,arguments),this.id=this.props.id,this.count=cue++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[aue])s in i[a4]?r[s]=i[a4][s]:s in i[o4]&&(r[s]=i[o4][s]);return new this.constructor(at(at(at({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new s4({})}}return n.componentName="Component",n.defaultProps=lue,n})();class due extends s4{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const _c=n=>"function"==typeof n,uh=n=>null!==n&&"object"==typeof n,c4=n=>uh(n)&&n.constructor==={}.constructor,hue=n=>n&&"function"==typeof n[Symbol.iterator],fue=n=>n&&"function"==typeof n[Symbol.asyncIterator],U0=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,em=n=>"undefined"!=typeof Blob&&n instanceof Blob,u4=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||uh(n)&&_c(n.tee)&&_c(n.cancel)&&_c(n.getReader))(n)||(n=>uh(n)&&_c(n.read)&&_c(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function Ff(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function iO(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function rO(n){var e,t;let i;return Ff(n,"null loader"),Ff(iO(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=Cn(at({},n=n[0]),{options:at(at({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const Zc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},sO=Zc.global||Zc.self||Zc.window||{},bue="object"!=typeof process||"[object process]"!==String(process)||process.browser,d4="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);d4&&parseFloat(d4[1]);const aO={};function vue(n){for(const e in aO)n.startsWith(e)&&(n=n.replace(e,aO[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const wue=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Eue=/^([-\w.]+\/[-\w.+]+)/;function Sue(n){const e=Eue.exec(n);return e?e[1]:n}function h4(n){const e=wue.exec(n);return e?e[1]:""}const xue=/\?.*/;function $S(n){if(U0(n)){const e=lO(n.url||"");return{url:e,type:Sue(n.headers.get("content-type")||"")||h4(e)}}return em(n)?{url:lO(n.name||""),type:n.type||""}:"string"==typeof n?{url:lO(n),type:h4(n)}:{url:"",type:""}}function Cue(n){return U0(n)?n.headers["content-length"]||-1:em(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function lO(n){return n.replace(xue,"")}function f4(n){return cO.apply(this,arguments)}function cO(){return(cO=oi(function*(n){if(U0(n))return n;const e={},t=Cue(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=$S(n);r&&(e["content-type"]=r);const s=yield Mue(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function Aue(n){return uO.apply(this,arguments)}function uO(){return(uO=oi(function*(n){if(!n.ok){const e=yield Tue(n);throw new Error(e)}})).apply(this,arguments)}function Tue(n){return dO.apply(this,arguments)}function dO(){return(dO=oi(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function Mue(n){return hO.apply(this,arguments)}function hO(){return(hO=oi(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${Due(n.slice(0,5))}`:null})).apply(this,arguments)}function Due(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const m4={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){Kn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},Rue={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function pO(){sO.loaders=sO.loaders||{};const{loaders:n}=sO;return n._state=n._state||{},n._state}const gO=()=>{const n=pO();return n.globalOptions=n.globalOptions||at({},m4),n.globalOptions};function Nue(n,e,t,i){return t=t||[],function(n,e){y4(n,null,m4,Rue,e);for(const t of e)y4(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=at({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new Iue),v4(r,gO()),v4(r,e),r}(e,n,i)}function _4(n,e){const t=gO(),i=n||t;return"function"==typeof i.fetch?i.fetch:uh(i.fetch)?r=>p4(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:p4}function y4(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&uh(n[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in t)&&!c&&!u)if(a in i)g4.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const h=Fue(a,r);g4.warn(`${s} loader option '${o}${a}' not recognized. ${h}`)()}}}function Fue(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function v4(n,e){for(const t in e)t in e&&(n[t]=c4(e[t])&&c4(n[t])?at(at({},n[t]),e[t]):e[t])}function Jc(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function Bue(n,e="3.0.12"){return Jc(n,"no worker provided"),!(!e||!n.version)}const eu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},jue=eu.global||eu.self||eu.window||{},mO="object"!=typeof process||"[object process]"!==String(process)||process.browser,_O="function"==typeof importScripts,Vue="undefined"!=typeof window&&void 0!==window.orientation,w4="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),yO=(w4&&parseFloat(w4[1]),new Map);function E4(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function S4(n,e=!0,t){const i=t||new Set;if(n)if(x4(n))i.add(n);else if(x4(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)S4(n[r],e,i);return void 0===t?Array.from(i):[]}function x4(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const bO=()=>{};class C4{static isSupported(){return"undefined"!=typeof Worker}constructor(e){Kn(this,"name",void 0),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"terminated",!1),Kn(this,"worker",void 0),Kn(this,"onMessage",void 0),Kn(this,"onError",void 0),Kn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;Jc(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=bO,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=bO,this.onError=bO,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||S4(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){Jc(n.source&&!n.url||!n.source&&n.url);let e=yO.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?E4(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),yO.set(n.url,e)),n.source&&(e=E4(n.source),yO.set(n.source,e))),Jc(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class Gue{constructor(e,t){Kn(this,"name",void 0),Kn(this,"workerThread",void 0),Kn(this,"isRunning",void 0),Kn(this,"result",void 0),Kn(this,"_resolve",void 0),Kn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){Jc(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){Jc(this.isRunning),this.isRunning=!1,this._reject(e)}}class $ue{constructor(e){Kn(this,"name","unnamed"),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"maxConcurrency",1),Kn(this,"maxMobileConcurrency",1),Kn(this,"onDebug",()=>{}),Kn(this,"reuseWorkers",!0),Kn(this,"props",{}),Kn(this,"jobQueue",[]),Kn(this,"idleQueue",[]),Kn(this,"count",0),Kn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=at(at({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return oi(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return oi(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new Gue(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class Qu{static isSupported(){return C4.isSupported()}static getWorkerFarm(e={}){return Qu._workerFarm=Qu._workerFarm||new Qu({}),Qu._workerFarm.setProps(e),Qu._workerFarm}constructor(e){Kn(this,"props",void 0),Kn(this,"workerPools",new Map),this.props=at({},Wue),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=at(at({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new $ue({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function Yue(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return Jc(r),r}function Kue(n,e){return!!Qu.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function Xue(n,e,t,i,r){return vO.apply(this,arguments)}function vO(){return(vO=oi(function*(n,e,t,i,r){const s=n.id,o=Yue(n,t),l=Qu.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",Que.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function Que(n,e,t,i){return wO.apply(this,arguments)}function wO(){return(wO=oi(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}Kn(Qu,"_workerFarm",void 0);var T4=Je(521);function M4(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return T4.toArrayBuffer?T4.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function tde(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function D4(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function nde(n){return SO.apply(this,arguments)}function SO(){return(SO=oi(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=nO(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return tde(...e)})).apply(this,arguments)}const sde=262144;function I4(n){this.wrapped=n}function z0(n){return new I4(n)}function H0(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,u=c instanceof I4;Promise.resolve(u?c.wrapped:c).then(function(h){u?r("return"===o?"return":"next",h):s(l.done?"return":"normal",h)},function(h){r("throw",h)})}catch(h){s("throw",h)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var u={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=u:(e=t=u,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function CO(n){return function(){return new H0(n.apply(this,arguments))}}function AO(){return(AO=CO(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(DO)}function fde(n,e,t){return IO.apply(this,arguments)}function IO(){return(IO=oi(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return hde(n,e);if(em(n)&&(n=yield f4(n)),U0(n)){const r=n;return yield Aue(r),e.binary?yield r.arrayBuffer():yield r.text()}if(u4(n)&&(n=dde(n,t)),hue(n)||fue(n))return nde(n);throw new Error(DO)})).apply(this,arguments)}function gde(n,e,t=null){if(t)return t;const i=at({fetch:_4(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function mde(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const R4=()=>{const n=pO();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function N4(n){const e=R4();n=Array.isArray(n)?n:[n];for(const t of n){const i=rO(t);e.find(r=>i===r)||e.unshift(i)}}const yde=/\.([^.]+)$/;function bde(n){return NO.apply(this,arguments)}function NO(){return(NO=oi(function*(n,e=[],t,i){if(!F4(n))return null;let r=P4(n,e,Cn(at({},t),{nothrow:!0}),i);if(r)return r;if(em(n)&&(r=P4(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(k4(n));return r})).apply(this,arguments)}function P4(n,e=[],t,i){if(!F4(n))return null;if(e&&!Array.isArray(e))return rO(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...R4()),function(n){for(const e of n)rO(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=$S(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=PO(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&yde.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||PO(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(Cde(e,t))return t}else if(ArrayBuffer.isView(e)){if(L4(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&L4(e,0,t))return t;return null}(e,n),a=a||PO(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(k4(n));return s}function F4(n){return!(n instanceof Response&&204===n.status)}function k4(n){const{url:e,type:t}=$S(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?FO(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?FO(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function PO(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function Cde(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function L4(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let tu=new Uint8ClampedArray(0);const kde={data:{type:"data",value:Pde,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=Cn(at({},r),{fetch:Cn(at({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:G0(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):G0(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:ji.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let $0=(()=>{class n extends uue{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=n4(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=YU(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=at({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===ji.DEFAULT&&(t=i.isGeospatial?ji.LNGLAT:ji.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=BU(t,i,r),h=n4(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(h,h,t.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===ji.DEFAULT||t===ji.LNGLAT||t===ji.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){pc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=zle(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const u of c)o.invalidateAll(u);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:u}=o.attributes,h=c||u;h&&(l&&h.constant&&(h.constant=!1,o.invalidate(h.id)),!h.value&&!l&&(h.constant=!0,h.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!Fde({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(tu.length/3);if(this.internalState.usesPickingColorCache=!0,rB4&&Ri.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),tu=x0.allocate(tu,i,{size:3,copy:!0,maxCount:Math.max(i,B4)});const s=Math.floor(tu.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const u of this.props.extensions)u.draw.call(this,c,u);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&To("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=IU({newProps:n,oldProps:e,propTypes:GI(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&OU(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&OU(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:Fle(n,e),transitionsChanged:Rle(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=GI(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new Sle(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){pc(!this.internalState&&!this.state),pc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new due({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Ri.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new Mle(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){To("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=kde,n})(),j4=(()=>{class n extends $0{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:p,wrapLongitude:g,positionFormat:m,modelMatrix:D,extensions:O,fetch:W,_subLayerProps:$}=this.props,pe={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:p,wrapLongitude:g,positionFormat:m,modelMatrix:D,extensions:O,fetch:W},Re=$&&$[t.id],Ve=Re&&Re.updateTriggers,We=t.id||"sublayer";if(Re){const rt=this.constructor._propTypes,wt=t.type?t.type._propTypes:{};for(const vt in Re){const At=wt[vt]||rt[vt];At&&"accessor"===At.type&&(Re[vt]=this.getSubLayerAccessor(Re[vt]))}}Object.assign(pe,t,Re),pe.id="".concat(this.props.id,"-").concat(We),pe.updateTriggers=at(at({all:this.props.updateTriggers.all},t.updateTriggers),Ve);for(const rt of O){const wt=rt.getSubLayerProps.call(this,rt);wt&&Object.assign(pe,wt,{updateTriggers:Object.assign(pe.updateTriggers,wt.updateTriggers)})}return pe}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=EI(t,Boolean),this.internalState.subLayers=t),To("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const Bde=/([0-9]+\.?[0-9]*)(%|px)/;function qS(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(Bde);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function YS(n,e){return n.relative?Math.round(n.position*e):n.position}function W0(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&W0(i,r)))return!1}return!0}class jO{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:u=1e3,modelMatrix:h=null,viewportInstance:p=null,type:g=Jg}=e;pc(!p||p instanceof Jg),this.viewportInstance=p,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=Cn(at({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:u,modelMatrix:h}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):W0(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=at({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:YS(this._x,e),y:YS(this._y,t),width:YS(this._width,e),height:YS(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),at(at({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(at(at(at({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=qS(e),this._y=qS(t),this._width=qS(i),this._height=qS(r)}}const q0=()=>{},V4={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:q0,onTransitionInterrupt:q0,onTransitionEnd:q0};class jde{constructor(e,t={}){this.ControllerState=e,this.props=at(at({},V4),t),this.propsInTransition=null,this.transition=new F0(t.timeline),this.onViewStateChange=t.onViewStateChange||q0,this.onStateChange=t.onStateChange||q0,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=at(at({},V4),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=at(at({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(at(at({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const U4=["longitude","latitude","zoom","bearing","pitch"],Ude=["longitude","latitude","zoom"];class z4 extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!C0(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];pc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:U4,extract:U4,required:Ude}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=yS(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(at(at({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,yS(e.around,t.around,i)))}return r}}const dh={transitionDuration:0},zde={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},XS=n=>1-(1-n)*(1-n),tm_WHEEL=["wheel"],tm_PAN=["panstart","panmove","panend"],tm_PINCH=["pinchstart","pinchmove","pinchend"],tm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],tm_DOUBLE_TAP=["doubletap"],tm_KEYBOARD=["keydown"];class VO{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new jde(e,Cn(at({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&Cn(at({},zde),{transitionInterpolator:new z4({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(at(at({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,u=Boolean(this.onViewStateChange);this.toggleEvents(tm_WHEEL,u&&i),this.toggleEvents(tm_PAN,u&&(r||s)),this.toggleEvents(tm_PINCH,u&&(a||l)),this.toggleEvents(tm_TRIPLE_PAN,u&&l),this.toggleEvents(tm_DOUBLE_TAP,u&&o),this.toggleEvents(tm_KEYBOARD,u&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=at(at({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,dh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,Cn(at({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:XS}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,Cn(at({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:XS}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,Cn(at({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,dh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,Cn(at({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:XS}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,dh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,dh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,Cn(at({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:XS}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?Cn(at({},t),{transitionInterpolator:new z4(Cn(at({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:dh}}class H4{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const hh_target=[0,0,0];class QS extends H4{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=hh_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:u=-(1/0),maxZoom:h=Infinity,startPanPosition:p,startRotatePos:g,startRotationX:m,startRotationOrbit:D,startZoomPosition:O,startZoom:W}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:u,maxZoom:h}),this._state={startPanPosition:p,startRotatePos:g,startRotationX:m,startRotationOrbit:D,startZoomPosition:O,startZoom:W},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let u=(e[0]-r[0])/a;(s<-90||s>90)&&(u*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*u}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=at({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(Cn(at({},this._viewportProps),{zoom:a}));return this._getUpdatedState(at({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),Va(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new QS(at(at(at({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=Va(r,i,t),e.rotationX=Va(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class Gde extends VO{constructor(e){super(QS,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class $de extends VO{constructor(e){e.dragMode=e.dragMode||"pan",super(QS,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const Wde=(new qn).lookAt({eye:[0,0,1]});function qde({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new qn).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class Yde extends Jg{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(Cn(at({},e),{longitude:null,position:a,viewMatrix:Wde.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:qde({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=BS([],e,jU([],L0(t,this.pixelUnprojectionMatrix)));return{target:BS([],this.center,r)}}}let Kde=(()=>{class n extends jO{constructor(t){super(Cn(at({},t),{type:Yde}))}get controller(){return this._getControllerProps({type:$de})}}return n.displayName="OrthographicView",n})();const ZS=Math.PI/180;function Xde({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*ZS/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new qn).lookAt({eye:l,up:a});c.rotateX(i*ZS),"Z"===t?c.rotateZ(r*ZS):c.rotateY(r*ZS);const u=Math.pow(2,s)/(n||1);return c.scale(u),c}class Qde extends Jg{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(Cn(at({},e),{longitude:null,viewMatrix:Xde({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=L0([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let Zde=(()=>{class n extends jO{constructor(t={}){const{orbitAxis:i="Z"}=t;super(Cn(at({},t),{orbitAxis:i,type:Qde}))}get controller(){return this._getControllerProps({type:Gde})}}return n.displayName="OrbitView",n})();const Jde=[255,255,255],ehe=1;let the=0;class G4{constructor(e={}){const{color:t=Jde}=e,{intensity:i=ehe}=e;this.id=e.id||"ambient-".concat(the++),this.color=t,this.intensity=i,this.type="ambient"}}const nhe=[255,255,255],ihe=1,rhe=[0,0,-1];let she=0;class $4{constructor(e={}){const{color:t=nhe}=e,{intensity:i=ihe}=e,{direction:r=rhe}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(she++),this.color=t,this.intensity=i,this.type="directional",this.direction=new Ao(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class W4{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=at({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class UO extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=at({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return $u(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){$u(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,u=i&&i[c.id];r(c);const h=this._getDrawLayerParams(c,e);e.view=u;const p=c.subViewports||[c];for(const g of p){e.viewport=g;const m=this._drawLayersInViewport(o,e,h);a.push(m)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=q4(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let u=0;uhI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};$u(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const u=t[l]=t[l]||q4(e[l],e);c=u(r,s),t[a]=u}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class che extends UO{constructor(e,t){super(e,t),this.shadowMap=new _a(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new zg(e,{format:33189,width:1,height:1}),this.fbo=new Fs(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;fc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=jg(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(Cn(at({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const dhe=Object.keys(ji).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(ji[n],";")).join(""),hhe=Object.keys(Kc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Kc[n],";")).join(""),fhe="".concat(dhe,"\n").concat(hhe,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),phe={},zO={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:fhe,getUniforms:function(n=phe){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=ji.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===ji.DEFAULT&&(i=n.isGeospatial?ji.LNGLAT:ji.CARTESIAN);const o=_ce({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||pce,o}(n):{}}},yhe=PS(function({viewport:n,center:e}){return new qn(n.viewProjectionMatrix).invert().transform(e)}),bhe=PS(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=L0([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new Ao(n.center).negate()),l=s.map(u=>a.transform(u)),c=(new qn).ortho({left:Math.min(...l.map(u=>u[0])),right:Math.max(...l.map(u=>u[0])),bottom:Math.min(...l.map(u=>u[1])),top:Math.max(...l.map(u=>u[1])),near:Math.min(...l.map(u=>-u[2])),far:Math.max(...l.map(u=>-u[2]))});t.push(c.multiplyRight(o))}return t}),vhe=[0,0,0,1],whe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],HO={name:"shadow",dependencies:[zO],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||vhe,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=yhe({viewport:n.viewport,center:e.project_uCenter}),r=[],s=bhe({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},Ahe={color:[255,255,255],intensity:1},Y4=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],The=[0,0,0,200/255];class GO extends W4{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=The,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=N0.getDefaultProgramManager(e),HO&&this.programManager.addDefaultModule(HO)),this.dummyShadowMap||(this.dummyShadowMap=new _a(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(HO),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new qn).lookAt({eye:new Ao(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=Dhe++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class Ihe{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=G0(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class Ohe{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new Ihe(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const Rhe=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},zO],Nhe=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function Phe(n){const e=N0.getDefaultProgramManager(n);for(const t of Rhe)e.addDefaultModule(t);for(const t of Nhe)e.addShaderHook(t);return e}const Lhe=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class Bhe{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new Ohe({gl:e,protocol:"deck://"}),this.context=Cn(at({},Lhe),{layerManager:this,gl:e,deck:t,programManager:e&&Phe(e),stats:i||new sI({id:"deck.gl"}),viewport:r||new Jg({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new K4,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){To("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=EI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return To("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?Ri.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&Ri.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class jhe{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=EI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!W0(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):Ri.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(at({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=Cn(at(at(at({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let u=r[a.id];a.controller&&!u&&(s=!0),(s||!a.controller)&&u&&(u.finalize(),u=null),this.controllers[a.id]=this._updateController(a,l,c,u),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class Uhe extends H4{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:u=20,minZoom:h=0,maxPitch:p=60,minPitch:g=0,startPanLngLat:m,startZoomLngLat:D,startRotatePos:O,startBearing:W,startPitch:$,startZoom:pe,normalize:Re}={}){pc(Number.isFinite(s)),pc(Number.isFinite(r)),pc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:u,minZoom:h,maxPitch:p,minPitch:g,normalize:Re}),this._state={startPanLngLat:m,startZoomLngLat:D,startRotatePos:O,startBearing:W,startPitch:$,startZoom:pe},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(Cn(at({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(Cn(at({},this._viewportProps),{zoom:o}));return this._getUpdatedState(at({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=at({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(at(at(at({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=Va(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=Va(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=zU(t+180,360)-180),(o<-180||o>180)&&(o=zU(o+180,360)-180);const a=WI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Zg([0,l])[1];if(iu&&(i=u)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Va(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=Va(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let u=0;return r>0?Math.abs(l-o)>5&&(u=r/(o-l)*1.2):r<0&&o>5&&(u=1-s/o),u=Math.min(1,Math.max(-1,u)),{deltaScaleX:c,deltaScaleY:u}}}class zhe extends VO{constructor(e){e.dragMode=e.dragMode||"pan",super(Uhe,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(at(at({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let Hhe=(()=>{class n extends jO{constructor(t){super(Cn(at({},t),{type:t4}))}get controller(){return this._getControllerProps({type:zhe})}}return n.displayName="MapView",n})();const Ghe=new GO;class $he{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!W0(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof GO)||this._internalEffects.push(Ghe)}}class Whe extends UO{}const Q4={blendFunc:[1,0,32771,0],blendEquation:32774};class Z4 extends UO{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:u},pass:h="picking",redrawReason:p,pickZ:g}){const m=this.gl;return this.pickZ=g,fc(m,Cn(at({scissorTest:!0,scissor:[a,l,c,u],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},Q4),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:h,redrawReason:p})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:Cn(at({},Q4),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return at(at({},e.props.parameters),i)}}class Yhe{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new Whe(e),this.pickLayersPass=new Z4(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||Fs.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(Cn(at({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,To("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new Fs(this.gl),new Fs(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const Khe={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function Xhe({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,p=0;for(let g=0;gu)p+=4*l;else for(let O=0;O=0){const $=O+o-t,pe=$*$+D;pe<=u&&(u=pe,h=p)}p+=4}}if(h>=0){const g=n[h+3]-1,m=n.slice(h,h+4),D=e[g];if(D){const O=D.decodePickingColor(m),W=Math.floor(h/4/l);return{pickedColor:m,pickedLayer:D,pickedObjectIndex:O,pickedX:o+(h/4-W*l),pickedY:a+W}}Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return Khe}function J4({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,u=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(p=>i({layer:l,viewport:p,isPicking:!0,renderPass:"picking:".concat(e)}))),h=u&&u.unproject([s-u.x,o-u.y],{targetZ:a});return{color:null,layer:null,viewport:u,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:h,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function Zhe(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const h=t.index,p=t.layerId,g=o&&o.props.id;if(g!==p||a!==h){if(g!==p){const m=r.find(D=>D.props.id===p);m&&l.unshift(m)}t.layerId=g,t.index=a,t.info=null}}const c=J4(n),u=new Map;return u.set(null,c),l.forEach(h=>{let p=at({},c);h===o&&(p.color=s,p.index=a,p.picked=!0),p=e5({layer:h,info:p,mode:i}),h===o&&"hover"===i&&(t.info=p),u.set(p.layer.id,p),"hover"===i&&p.layer.updateAutoHighlight(p)}),u}function e5({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class efe{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new Z4(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(p=>p.id===o):null,c=a&&r.find(p=>p.id===a)||r[0],u=c&&c.unproject([e-c.x,t-c.y]),h={x:e,y:t,viewport:c,coordinate:u,layer:l};return l?at(at({},s),h):Object.assign(h,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new Fs(e),Fs.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new Fs(e),this.depthFBO.attach({36064:new _a(e,{format:Si(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(Ri.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:u}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:J4({viewports:i,x:r,y:s})};this._resizeBuffer();const h=jg(this.gl),p=nI(this.gl,[r,s],!0),g=[p.x+Math.floor(p.width/2),p.y+Math.floor(p.height/2)],m=Math.round(o*h),{width:D,height:O}=this.pickingFBO,W=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:m,deviceWidth:D,deviceHeight:O});let $;const pe=[],Re={};for(let Ve=0;Ve=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:u,deviceRect:{x:g,y:W,width:D.x+D.width-g,height:m-W},pass:"picking:".concat(l),redrawReason:l}),layers:e}),Ve=new Map,We=Number.isFinite(c);for(let rt=0;rt=c);rt++){const wt=Re[rt];let vt={color:wt.pickedColor,layer:null,index:wt.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:h};vt=e5({layer:wt.pickedLayer,info:vt,mode:l}),Ve.has(vt.object)||Ve.set(vt.object,vt)}return Array.from(Ve.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:u,y:h,width:p,height:g}=s,m=new(l?Float32Array:Uint8Array)(p*g*4);return _S(c,{sourceX:u,sourceY:h,sourceWidth:p,sourceHeight:g,target:m}),m}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const tfe={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class nfe{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,tfe),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function t5(n,e){if(!n)throw new Error(e)}const nu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},n5=nu.global||nu.self||nu.window,rfe="object"!=typeof process||"[object process]"!==String(process)||process.browser,i5="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:sfe}=(i5&&parseFloat(i5[1]),n5),$O="undefined"!=typeof Image,WO="undefined"!=typeof ImageBitmap,ofe=Boolean(sfe),qO=!!rfe||ofe;function r5(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function s5(n){switch(r5(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const cfe=/^data:image\/svg\+xml/,ufe=/\.svg((\?|#).*)?$/;function YO(n){return n&&(cfe.test(n)||ufe.test(n))}function dfe(n,e){if(YO(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return a5(n,e)}function a5(n,e){if(YO(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function l5(n,e,t){return KO.apply(this,arguments)}function KO(){return(KO=oi(function*(n,e,t){const i=dfe(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield hfe(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function hfe(n,e){return XO.apply(this,arguments)}function XO(){return(XO=oi(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const ffe={};let c5=!0;function pfe(n,e,t){return QO.apply(this,arguments)}function QO(){return(QO=oi(function*(n,e,t){let i;i=YO(t)?yield l5(n,e,t):a5(n,t);const r=e&&e.imagebitmap;return yield gfe(i,r)})).apply(this,arguments)}function gfe(n){return ZO.apply(this,arguments)}function ZO(){return(ZO=oi(function*(n,e=null){if((mfe(e)||!c5)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),c5=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function mfe(n){for(const e in n||ffe)return!1;return!0}const iu=!1,Y0=!0;function JO(n){const e=K0(n);return function(n){const e=K0(n);return e.byteLength>=24&&2303741511===e.getUint32(0,iu)?{mimeType:"image/png",width:e.getUint32(16,iu),height:e.getUint32(20,iu)}:null}(e)||function(n){const e=K0(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,iu)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,iu)?{mimeType:"image/gif",width:e.getUint16(6,Y0),height:e.getUint16(8,Y0)}:null}(e)||function(n){const e=K0(n);return e.byteLength>=14&&16973===e.getUint16(0,iu)&&e.getUint32(2,Y0)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Y0),height:e.getUint32(22,Y0)}:null}(e)}function K0(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function Efe(n,e){const{mimeType:t}=JO(n)||{},{_parseImageNode:i}=n5;return t5(i),i(n,t,e)}function eR(){return(eR=oi(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(xfe(r)){case"imagebitmap":a=yield pfe(n,e,s);break;case"image":a=yield l5(n,e,s);break;case"data":a=yield Efe(n,e);break;default:t5(!1)}return"data"===r&&(a=s5(a)),a})).apply(this,arguments)}function xfe(n){switch(n){case"auto":case"data":return function(){if(WO)return"imagebitmap";if($O)return"image";if(qO)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return WO||$O||qO;case"imagebitmap":return WO;case"image":return $O;case"data":return qO;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const tR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return eR.apply(this,arguments)},tests:[n=>Boolean(JO(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var nm=Je(761);const Afe={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},X0="8.5.8",JS=nm.CO.deck&&nm.CO.deck.VERSION;if(JS&&JS!==X0)throw new Error("deck.gl - multiple versions detected: ".concat(JS," vs ").concat(X0));JS||(Ri.log(1,"deck.gl ".concat(X0))(),nm.CO.deck=Object.assign(nm.CO.deck||{},{VERSION:X0,version:X0,log:Ri,_registerLoggers:function(n){AI=n}}),N4([Afe,[tR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const Tfe=nm.CO.deck;class ex extends Wu{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=Si(e),r=vV(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:tn(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return ex.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const u5=mS()&&"undefined"!=typeof document;let Lfe=0;class Bfe{constructor(e={}){const{onCreateContext:t=(O=>eV(O)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:u=!1,createFramebuffer:h=!1,autoResizeViewport:p=!0,autoResizeDrawingBuffer:g=!0,stats:m=If.get("animation-loop-"+Lfe++)}=e;let{useDevicePixels:D=!0}=e;"useDevicePixelRatio"in e&&(mn.deprecated("useDevicePixelRatio","useDevicePixels")(),D=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:u,createFramebuffer:h},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=m,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:p,autoResizeDrawingBuffer:g,useDevicePixels:D}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return tn("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=ex.isSupported(this.gl,["timers"])?new ex(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return oi(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return mn.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=u5?new Promise((e,t)=>{u5&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?rI(this.props.gl,e):this.onCreateContext(e),!pS(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){$u(n,tI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(mn.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(mn.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new Fs(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var jfe=Je(524),tx=Je.n(jfe);const Vfe={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(tx().MouseInput);const Gfe=tx().Manager,ru=tx(),$fe=ru?[[ru.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[ru.Rotate,{enable:!1}],[ru.Pinch,{enable:!1}],[ru.Swipe,{enable:!1}],[ru.Pan,{threshold:0,enable:!1}],[ru.Press,{enable:!1}],[ru.Tap,{event:"doubletap",taps:2,enable:!1}],[ru.Tap,{event:"anytap",enable:!1}],[ru.Tap,{enable:!1}]]:null,f5={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},Wfe={doubletap:["tap"]},qfe={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},iR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},Yfe={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},p5={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},Kfe="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",im="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let g5=!1;try{const n={get passive(){return g5=!0,!0}};im.addEventListener("test",n,n),im.removeEventListener("test",n,n)}catch(n){}const Xfe=-1!==Kfe.indexOf("firefox"),{WHEEL_EVENTS:Qfe}=iR,_5=4.000244140625;class epe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=Qfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!g5&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;im.WheelEvent&&(Xfe&&e.deltaMode===im.WheelEvent.DOM_DELTA_PIXEL&&(t/=im.devicePixelRatio),e.deltaMode===im.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%_5==0&&(t=Math.floor(t/_5)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:tpe}=iR,y5="pointermove",b5="pointerover",v5="pointerout",w5="pointerleave";class npe{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=tpe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===y5&&(this.enableMoveEvent=t),e===b5&&(this.enableOverEvent=t),e===v5&&(this.enableOutEvent=t),e===w5&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:b5,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:v5,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:w5,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:y5,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:ipe}=iR,E5="keydown";class rpe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=ipe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===E5&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:E5,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const x5="contextmenu";class spe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===x5&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:x5,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const ope={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},C5={srcElement:"root",priority:0};class ype{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},C5,i):C5;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let u=l.length-1;for(;u>=0&&!(l[u].priority>=c.priority);)u--;l.splice(u+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&f5[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new epe(e,this._onOtherEvent,{enable:!1}),this.moveInput=new npe(e,this._onOtherEvent,{enable:!1}),this.keyInput=new rpe(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new spe(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=Wfe[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const u in e)this._addEventHandler(u,e[u],i,r,s);return}const{manager:o,events:a}=this,l=p5[e]||e;let c=a.get(l);c||(c=new ype(this),a.set(l,c),c.recognizerName=Yfe[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(p5[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=qfe[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function Lf(){}const A5={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:Lf,onResize:Lf,onViewStateChange:Lf,onInteractionStateChange:Lf,onBeforeRender:Lf,onAfterRender:Lf,onLoad:Lf,onError:(n,e)=>Ri.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class ix{constructor(e){e=at(at({},A5),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&Ri.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,nm.qs)()&&Ri.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new sI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&x0.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&Ri.removed("onLayerHover","onHover")(),"onLayerClick"in e&&Ri.removed("onLayerClick","onClick")(),e.initialViewState&&!W0(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](at({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),pc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:u,autoResizeDrawingBuffer:h}=e;return new Bfe({width:t,height:i,useDevicePixels:u,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:p=>eV(Cn(at(at({},s),p),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:p=>this._setGLContext(p.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new Hhe({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,rI(e,{enable:!0,copyState:!0})),this.tooltip=new nfe(this.canvas),$u(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new K4;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new vpe(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in Bj)this.eventManager.on(r,this._onEvent);this.viewManager=new jhe({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new Bhe(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new $he,this.deckRenderer=new Yhe(e),this.deckPicker=new efe(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;$u(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(at({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Ri.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Cn(at({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=Bj[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=If.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}ix.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(W4)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},ix.defaultProps=A5,ix.VERSION=Tfe.VERSION;const rx={name:"project32",dependencies:[zO],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},xpe={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},sx=at({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=xpe){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),T5={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class fh{static get DRAW_MODE(){return T5}constructor(e={}){const{id:t=ga("geometry"),drawMode:i=T5.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?at({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,tn(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(tn(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return tn(Number.isFinite(i)),i}}const M5=()=>{},Ipe={10241:9987,10240:9729,10242:33071,10243:33071};function Ope(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function Rpe(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function Q0(n){return n&&(n.id||n.url)}function D5(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(D5(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+p+e,s=Math.max(s,h)}}return a.length>0&&D5(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:Ope(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new _a(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:Ipe})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=_V(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=t;const{framebuffer:p,deleteFramebuffer:g}=S0(n);tn(p);const{gl:m,handle:D}=p,O=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const W=m.bindFramebuffer(36160,D);tn(e);let $=null;if(e instanceof Of&&($=e,u=Number.isFinite(u)?u:$.width,h=Number.isFinite(h)?h:$.height,$.bind(0),e=$.target),O)switch(e){case 3553:case 34067:m.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:Co(m).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else m.copyTexImage2D(e,s,o,i,r,u,h,0);$&&$.unbind(),m.bindFramebuffer(36160,W||null),g&&p.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,G0(i.url,tR,this._loadOptions).then(r=>{const s=Q0(i),{x:o,y:a,width:l,height:c}=this._mapping[s],u=Rpe(t,r,l,c);this._texture.setSubImageData({data:u,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const I5=[0,0,0,255],Lpe={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:I5},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let Bpe=(()=>{class n extends $0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[rx,sx]})}initializeState(){this.state={iconManager:new kpe(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:I5},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:u}=this.state;u.setProps({loadOptions:i.loadOptions});let h=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&u.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(u.setProps({iconMapping:a}),h=!0)):u.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&u.setProps({data:l,getIcon:c}),h&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:m}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(m),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:u}=this.context,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===o?u.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Yg(t,Cn(at({},this.getShaders()),{id:this.props.id,geometry:new fh({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):Ri.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=Lpe,n})();const R5=[],Vpe={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let Upe=(()=>{class n extends Bpe{getShaders(){return Cn(at({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&Ri.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=Cn(at({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):R5}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):R5}}return n.layerName="MultiIconLayer",n.defaultProps=Vpe,n})();var zpe=Je(2),Hpe=Je.n(zpe);const $pe=[];function Wpe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function N5(n,e,t,i){let r=0;for(let s=e;si&&(oa){let h=N5(n,a,l,r);c+h>i&&(oi&&(h=P5(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=h}}(n,r,s,t,i,o),o}function Xpe(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let p=0,g=0,m=0;for(let D=0;D<=s;D++){const O=n[D];if(("\n"===O||D===s)&&(m=D),m>g){const W=c?Kpe(n,t,i,r,g,m):$pe;for(let $=0;$<=W.length;$++){const pe=0===$?g:W[$-1],Re=$i===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),nge=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function rge(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=oR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=oR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,oR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:u}=this.props;let h=i&&i.data;h||(h=document.createElement("canvas"),h.width=1024);const p=h.getContext("2d");$5(p,r,o,s);const{mapping:g,canvasHeight:m,xOffset:D,yOffset:O}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const p of n)if(!s[p]){const g=e(p,u++);c+g+2*i>r&&(c=0,l++),s[p]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const h=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:Wpe(a+(l+1)*h)}}(at({getFontWidth:W=>p.measureText(W).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(h.height!==m){const W=p.getImageData(0,0,h.width,h.height);h.height=m,p.putImageData(W,0,0)}if($5(p,r,o,s),l){const W=new(Hpe())(o,a,c,u,r,s),$=p.getImageData(0,0,W.size,W.size);for(const pe of t)rge(W.draw(pe),$),p.putImageData($,g[pe].x-a,g[pe].y+a)}else for(const W of t)p.fillText(W,g[W].x,g[W].y+.9*o);return{xOffset:D,yOffset:O,mapping:g,data:h,width:h.width,height:h.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const lge={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let cge=(()=>{class n extends $0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[rx,sx]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:u}=this.props;const h="pixels"===o?i.metersPerPixel:1;u.length<4&&(u=[u[0],u[1],u[0],u[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:u,sizeScale:s*h,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Yg(t,Cn(at({},this.getShaders()),{id:this.props.id,geometry:new fh({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=lge,n})();const W5={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},q5={start:1,middle:0,end:-1},Y5={top:1,center:0,bottom:-1},aR=[0,0,0,255],dge=["fontSize","buffer","sdf","radius","cutoff"],hge={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:aR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:k5},fontFamily:L5,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:aR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:aR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let fge=(()=>{class n extends j4{initializeState(){this.state={styleVersion:0,fontAtlasManager:new sge}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(Cn(at(at({},W5),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return dge.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:u}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),u=s&&new Set,h=new Array(e);let p=n;if(a>1||l>0){p=new n.constructor(c);for(let g=0;gc[p]}else{const{iterable:c,objectInfo:u}=ES(t);o=[0],a=0;for(const h of c){u.index++;const p=Array.from(s(h,u)||"");l&&p.forEach(l.add,l),a+=p.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{size:[p,g]}=F5(h,l,o,a,r);return[(q5["function"==typeof c?c(t,i):c]-1)*p/2,(Y5["function"==typeof u?u(t,i):u]-1)*g/2,p,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{x:p,y:g,rowWidth:m,size:[D,O]}=F5(h,l,o,a,r),W=q5["function"==typeof c?c(t,i):c],$=Y5["function"==typeof u?u(t,i):u],pe=p.length,Re=new Array(2*pe);let Ve=0;for(let We=0;Wet*e/255)}const cR={name:"lights",vs:K5,fs:K5,getUniforms:function X5(n=pge){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?lR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=lR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=lR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return X5({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},mge={};const yge={name:"phong-lighting",dependencies:[cR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=mge){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},uR=Math.PI/180,ox=new Float32Array(16),J5=new Float32Array(12);function ez(n,e,t){const i=e[0]*uR,r=e[1]*uR,s=e[2]*uR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),p=t[0],g=t[1],m=t[2];n[0]=p*h*u,n[1]=p*l*u,n[2]=p*-a,n[3]=g*(-l*c+h*a*o),n[4]=g*(h*c+l*a*o),n[5]=g*u*o,n[6]=m*(l*o+h*a*c),n[7]=m*(-h*o+l*a*c),n[8]=m*u*c}function tz(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const nz={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),p=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:h&&u&&p;const m=n.value;if(n.constant){let D;g?(ox.set(a),D=tz(ox)):(D=J5,ez(D,r,s),D.set(o,9)),n.value=new Float32Array(D)}else{let D=e*n.size;const{iterable:O,objectInfo:W}=ES(i,e,t);for(const $ of O){let pe;W.index++,g?(ox.set(c?a:a($,W)),pe=tz(ox)):(pe=J5,ez(pe,h?r:r($,W),u?s:s($,W)),pe.set(p?o:o($,W),9)),m[D++]=pe[0],m[D++]=pe[1],m[D++]=pe[2],m[D++]=pe[3],m[D++]=pe[4],m[D++]=pe[5],m[D++]=pe[6],m[D++]=pe[7],m[D++]=pe[8],m[D++]=pe[9],m[D++]=pe[10],m[D++]=pe[11]}}}};function iz(n,e){return e===ji.CARTESIAN||e===ji.METER_OFFSETS||e===ji.DEFAULT&&!n.isGeospatial}function rz(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),Ri.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function wge(n,e){if(n.attributes)return rz(n.attributes,e),n instanceof fh?n:new fh(n);if(n.positions||n.POSITION)return rz(n,e),new fh({attributes:n});throw Error("Invalid mesh")}const Ege={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let Sge=(()=>{class n extends $0{getShaders(){const t=!Si(this.context.gl),i={};return gI(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[rx,yge,sx],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:nz}),this.setState({emptyTexture:new _a(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||iz(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Yg(this.context.gl,Cn(at({},this.getShaders()),{id:this.props.id,geometry:wge(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=Ege,n})();const sz={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[cR]};class rm{constructor(e={}){const{id:t}=e;this.id=t||ga(this.constructor.name),this.display=!0,this.position=new Ao,this.rotation=new Ao,this.scale=new Ao(1,1,1),this.matrix=new qn,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return tn(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return tn(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return tn(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){tn(e),t=t||this.matrix;const i=new qn(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class Z0 extends rm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;mn.assert(t.every(i=>i instanceof rm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new qn}={}){const i=new qn(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof Z0?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function oz(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=t[0],g=t[1],m=t[2],D=t[3],O=t[4],W=t[5],$=t[6],pe=t[7],Re=t[8];return n[0]=p*i+g*o+m*c,n[1]=p*r+g*a+m*u,n[2]=p*s+g*l+m*h,n[3]=D*i+O*o+W*c,n[4]=D*r+O*a+W*u,n[5]=D*s+O*l+W*h,n[6]=$*i+pe*o+Re*c,n[7]=$*r+pe*a+Re*u,n[8]=$*s+pe*l+Re*h,n}function az(n,e,t){var i=t[0],r=t[1];return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=r*e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n}function lz(){var n=new ya(4);return ya!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function cz(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function dR(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function ax(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],u=t[3];return n[0]=i*u+o*a+r*c-s*l,n[1]=r*u+o*l+s*a-i*c,n[2]=s*u+o*c+i*l-r*a,n[3]=o*u-i*a-r*l-s*c,n}function uz(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a,n}function dz(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a,n}function hz(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a,n}function fz(n,e){var t=e[0],i=e[1],r=e[2];return n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r)),n}function J0(n,e,t,i){var p,g,m,D,O,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],u=t[2],h=t[3];return(g=r*l+s*c+o*u+a*h)<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>Qc?(p=Math.acos(g),m=Math.sin(p),D=Math.sin((1-i)*p)/m,O=Math.sin(i*p)/m):(D=1-i,O=i),n[0]=D*r+O*l,n[1]=D*s+O*c,n[2]=D*o+O*u,n[3]=D*a+O*h,n}function pz(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;return n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a,n}function gz(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3],n}function hR(n,e){var i,t=e[0]+e[4]+e[8];if(t>0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}return n}var mz=function(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},fR=FU,pR=function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},_z=function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];return n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a),n},yz=function(n){return Math.hypot(n[0],n[1],n[2],n[3])},bz=function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r},wz=function(){var n=xV(),e=CV(1,0,0),t=CV(0,1,0);return function(i,r,s){var o=AV(r,s);return o<-.999999?(A0(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&A0(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),dR(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(A0(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();lz(),lz(),function(){var n=new ya(9);ya!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const Nge=[0,0,0,1];class gR extends bS{constructor(e=0,t=0,i=0,r=1){super(-0,-0,-0,-0),Array.isArray(e)&&1===arguments.length?this.copy(e):this.set(e,t,i,r)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,i,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=r,this.check()}fromMatrix3(e){return hR(this,e),this.check()}identity(){return cz(this),this.check()}fromAxisRotation(e,t){return dR(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=sr(e)}get y(){return this[1]}set y(e){this[1]=sr(e)}get z(){return this[2]}set z(e){this[2]=sr(e)}get w(){return this[3]}set w(e){this[3]=sr(e)}len(){return yz(this)}lengthSquared(){return bz(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return pR(this,e)}rotationTo(e,t){return wz(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return mz(this,this,e),this.check()}calculateW(){return fz(this,this),this.check()}conjugate(){return gz(this,this),this.check()}invert(){return pz(this,this),this.check()}lerp(e,t,i){return _z(this,e,t,i),this.check()}multiplyRight(e,t){return Yu(!t),ax(this,this,e),this.check()}multiplyLeft(e,t){return Yu(!t),ax(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return uz(this,this,e),this.check()}rotateY(e){return dz(this,this,e),this.check()}rotateZ(e){return hz(this,this,e),this.check()}scale(e){return fR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=Nge,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return J0(this,e,t,i),this.check()}transformVector4(e,t=e){return kU(t,e,this),vS(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const Pge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Fge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function Ez(n){if(!n._animation){const e=Fge[n.componentType],t=Pge[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(p=>p>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:mn.warn(`Bad animation path ${s}`)()}tn(r[s].length===i[c].length);const u=e[c],h=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;iu&&function(n,e,t,i,r){if("rotation"===e){mR.slerp({start:t,target:i,ratio:r});for(let s=0;su&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:Ez(e.accessors[a]),interpolation:l,output:Ez(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new zge({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class Gge extends rm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Yg?(this.model=e,this._setModelNodeProps(t)):this.model=new Yg(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class $ge{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},gI(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new _a(this.gl,at({id:e.name||e.id,parameters:at(at({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(mn.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function Sz(n,e){return Si(n)?`#version 300 es\n${e}`:e}const Kge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Xge={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class Qge{constructor(e,t={}){this.gl=e,this.options=Object.assign({},Xge,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new Hge(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new Z0({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new Z0({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new qn).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new Z0({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){mn.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new $ge(n,e);mn.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(u=>u.buffer));const c=new Gge(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[sz],defines:a.defines,parameters:a.parameters,vs:Sz(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:Sz(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),mn.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new hr(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new ma({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Kge[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function xz(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new sm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new sm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof sm){const o=e;t=o.fields,i=Mz(Mz(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new sm(s,i)}}function Mz(n,e){return new Map([...n||new Map,...e||new Map])}let Lr,Dz,Iz,Oz,Rz,Nz,Pz,Fz;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(Lr||(Lr={}));class _R{static isNull(e){return e&&e.typeId===Lr.Null}static isInt(e){return e&&e.typeId===Lr.Int}static isFloat(e){return e&&e.typeId===Lr.Float}static isBinary(e){return e&&e.typeId===Lr.Binary}static isUtf8(e){return e&&e.typeId===Lr.Utf8}static isBool(e){return e&&e.typeId===Lr.Bool}static isDecimal(e){return e&&e.typeId===Lr.Decimal}static isDate(e){return e&&e.typeId===Lr.Date}static isTime(e){return e&&e.typeId===Lr.Time}static isTimestamp(e){return e&&e.typeId===Lr.Timestamp}static isInterval(e){return e&&e.typeId===Lr.Interval}static isList(e){return e&&e.typeId===Lr.List}static isStruct(e){return e&&e.typeId===Lr.Struct}static isUnion(e){return e&&e.typeId===Lr.Union}static isFixedSizeBinary(e){return e&&e.typeId===Lr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===Lr.FixedSizeList}static isMap(e){return e&&e.typeId===Lr.Map}static isDictionary(e){return e&&e.typeId===Lr.Dictionary}get typeId(){return Lr.NONE}compareTo(e){return this===e}}Symbol,Symbol,Dz=Symbol.toStringTag;class om extends _R{constructor(e,t){super(),Kn(this,"isSigned",void 0),Kn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return Lr.Int}get[Dz](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class ame extends om{constructor(){super(!0,8)}}class lme extends om{constructor(){super(!0,16)}}class cme extends om{constructor(){super(!0,32)}}class ume extends om{constructor(){super(!1,8)}}class dme extends om{constructor(){super(!1,16)}}class hme extends om{constructor(){super(!1,32)}}Iz=Symbol.toStringTag;class kz extends _R{constructor(e){super(),Kn(this,"precision",void 0),this.precision=e}get typeId(){return Lr.Float}get[Iz](){return"Float"}toString(){return`Float${this.precision}`}}class fme extends kz{constructor(){super(32)}}class pme extends kz{constructor(){super(64)}}Symbol,Symbol,Oz=Symbol.toStringTag,Rz=Symbol.toStringTag,Nz=Symbol.toStringTag,Pz=Symbol.toStringTag,Fz=Symbol.toStringTag;class gme extends _R{constructor(e,t){super(),Kn(this,"listSize",void 0),Kn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return Lr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[Fz](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class lx{constructor(e,t,i=!1,r=new Map){Kn(this,"name",void 0),Kn(this,"type",void 0),Kn(this,"nullable",void 0),Kn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new lx(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function Lz(n,e,t){const i=t?Bz(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new ame;case Uint8Array:return new ume;case Int16Array:return new lme;case Uint16Array:return new dme;case Int32Array:return new cme;case Uint32Array:return new hme;case Float32Array:return new fme;case Float64Array:return new pme;default:throw new Error("array type not supported")}}(e.value);return new lx(n,new gme(e.size,new lx("value",r)),!1,i)}function Bz(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const jz={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},bme={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class wme{constructor(e){Kn(this,"draco",void 0),Kn(this,"decoder",void 0),Kn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?u:r,s=h>s?h:s,o=p>o?p:o}return[[e,t,i],[r,s,o]]}(l.attributes),u=function(n,e,t){const i=Bz(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=Lz(o,n[o],s[o]);r.push(l)}if(t){const o=Lz("indices",t);r.push(o)}return new sm(r,i)}(l.attributes,a,l.indices);return Cn(at({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:u})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var cx=Je(125);const wR={};function ER(n){return SR.apply(this,arguments)}function SR(){return(SR=oi(function*(n,e=null,t={}){return e&&(n=Ame(n,e,t)),wR[n]=wR[n]||Tme(n),yield wR[n]})).apply(this,arguments)}function Ame(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:mO?t.CDN?(Jc(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):_O?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function Tme(n){return xR.apply(this,arguments)}function xR(){return(xR=oi(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():mO?_O?importScripts(n):Mme(yield(yield fetch(n)).text(),n):cx.requireFromFile&&(yield cx.requireFromFile(n))})).apply(this,arguments)}function Mme(n,e){if(!mO)return cx.requireFromString&&cx.requireFromString(n,e);if(_O)return eval.call(jue,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const Dme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",Ime="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",Ome="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let eb;function Nme(n){return CR.apply(this,arguments)}function CR(){return(CR=oi(function*(n){const e=n.modules||{};return eb=e.draco3d?eb||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):eb||Pme(n),yield eb})).apply(this,arguments)}function Pme(n){return TR.apply(this,arguments)}function TR(){return(TR=oi(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield ER(Dme,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield ER(Ime,"draco",n),yield ER(Ome,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield Fme(e,t)})).apply(this,arguments)}function Fme(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(Cn(at({},t),{onModuleLoaded:r=>i({draco:r})}))})}const DR=Cn(at({},Tz),{parse:function(n,e){return IR.apply(this,arguments)}});function IR(){return(IR=oi(function*(n,e){const{draco:t}=yield Nme(e),i=new wme(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function nb(n,e){return Ff(n>=0),Ff(e>0),n+(e-1)&~(e-1)}function Bme(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+nb(i.byteLength,4)}const Vz=["SCALAR","VEC2","VEC3","VEC4"],jme=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],Vme=new Map(jme),Ume={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},zme={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Hme={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function Uz(n){return Vz[n-1]||Vz[0]}function zz(n){const e=Vme.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function Hz(n,e){const t=Hme[n.componentType],i=Ume[n.type],s=n.count*i,o=n.count*i*zme[n.componentType];return Ga(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const Gme={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class gh{constructor(e){Kn(this,"gltf",void 0),Kn(this,"sourceBuffers",void 0),Kn(this,"byteLength",void 0),this.gltf=e||{json:at({},Gme),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return Ga(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=Hz(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return Ga(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return Ga(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=JO(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;Ga(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=nb(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:Uz(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:zz(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=Bme(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*t_e(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function n_e(n){return NR.apply(this,arguments)}function NR(){return(NR=oi(function*(n){const e=new gh(n),{json:t}=e;e.removeExtension(dx);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,dx)})).apply(this,arguments)}function i_e(n){const e=new gh(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,dx,{}),e.addExtension(dx))}function r_e(n){return PR.apply(this,arguments)}function PR(){return(PR=oi(function*(n){const e=new gh(n),{json:t}=e,i=e.getExtension(am);i&&(e.json.lights=i.lights,e.removeExtension(am));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,am);s&&(r.light=s.light),e.removeObjectExtension(r,am)}})).apply(this,arguments)}function s_e(n){return FR.apply(this,arguments)}function FR(){return(FR=oi(function*(n){const e=new gh(n),{json:t}=e;if(t.lights){const i=e.addExtension(am);Ga(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,am,i);delete e.json.lights}})).apply(this,arguments)}function o_e(n){return kR.apply(this,arguments)}function kR(){return(kR=oi(function*(n){const e=new gh(n),{json:t}=e,i=e.getExtension(hx);if(i){const r=l_e(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,hx);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=c_e(s.technique,e)),e.removeObjectExtension(s,hx)}e.removeExtension(hx)}})).apply(this,arguments)}function a_e(n,e){return LR.apply(this,arguments)}function LR(){return(LR=oi(function*(n,e){})).apply(this,arguments)}function l_e(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function c_e(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const Wz={KHR_draco_mesh_compression:lt,KHR_materials_unlit:ee,KHR_lights_punctual:Et,KHR_techniques_webgl:je};function u_e(n){return BR.apply(this,arguments)}function BR(){return(BR=oi(function*(n,e={},t){for(const r in Wz){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield Wz[r].decode(n,e,t))}})).apply(this,arguments)}const qz={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},h_e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class f_e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new gh(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,Gz);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(Gz)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in qz)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in qz)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=h_e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function p_e(n,e={}){return(new f_e).normalize(n,e)}const g_e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},m_e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Ml={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},__e={magFilter:Ml.TEXTURE_MAG_FILTER,minFilter:Ml.TEXTURE_MIN_FILTER,wrapS:Ml.TEXTURE_WRAP_S,wrapT:Ml.TEXTURE_WRAP_T},y_e={[Ml.TEXTURE_MAG_FILTER]:Ml.LINEAR,[Ml.TEXTURE_MIN_FILTER]:Ml.NEAREST_MIPMAP_LINEAR,[Ml.TEXTURE_WRAP_S]:Ml.REPEAT,[Ml.TEXTURE_WRAP_]:Ml.REPEAT};class w_e{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return Ga(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=at({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=at({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=at({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=at({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=at({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=at({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=at({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return m_e[n]}(e.componentType),e.components=function(n){return g_e[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=Hz(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):y_e,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return __e[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function E_e(n,e){return(new w_e).postProcess(n,e)}const Yz=1735152710,lm=!0;function VR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),nb(i,4)}function UR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),nb(i,4)}function P_e(n,e){return zR.apply(this,arguments)}function zR(){return(zR=oi(function*(n,e,t=0,i,r){var s,o,a,l;F_e(n,e,t,i),p_e(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield k_e(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const h=L_e(n,i,r);c.push(h)}const u=u_e(n,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?E_e(n,i):n})).apply(this,arguments)}function F_e(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=Yz}=t,s=i.getUint32(e,!1);return s===r||s===Yz}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?xz(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?xz(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,lm),a=r.getUint32(t+8,lm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){Ff(n.header.byteLength>20);const i=e.getUint32(t+0,lm),r=e.getUint32(t+4,lm);return t+=8,Ff(0===r),VR(n,e,t,i),(t+=i)+UR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return Ff(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,lm),s=e.getUint32(t+4,lm);switch(t+=8,s){case 1313821514:VR(n,e,t,r);break;case 5130562:UR(n,e,t,r);break;case 0:i.strict||VR(n,e,t,r);break;case 1:i.strict||UR(n,e,t,r)}t+=nb(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),Ga("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else Ga(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function k_e(n,e,t){return HR.apply(this,arguments)}function HR(){return(HR=oi(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield U_e(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function U_e(n){return YR.apply(this,arguments)}function YR(){return(YR=oi(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const Kz=[255,255,255,255],G_e={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:Kz},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[cm]};let $_e=(()=>{class n extends $0{getShaders(){const t=[rx,sx];return"pbr"===this.props._lighting&&t.push(sz),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:Kz,transition:!0},instanceModelMatrix:nz})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof rm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new Qge(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=at({gltf:l},c),function(n){return qR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Ri.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof rm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&Ri.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):Ri.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof rm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:at({isInstanced:!0,transpileToGLSL100:!Si(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:u}=this.props,h=this.getNumInstances();this.state.scenegraph.traverse((p,{worldMatrix:g})=>{p.model.setInstanceCount(h),p.updateModuleSettings(t),p.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:iz(s,u),sceneModelMatrix:g,u_Camera:p.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=G_e,n})();class W_e extends fh{constructor(e={}){const{id:t=ga("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,u=(e+1)*(t+1);if("number"==typeof i){const W=i;i=($,pe,Re,Ve,We)=>W}const h=new Float32Array(3*u),p=new Float32Array(3*u),g=new Float32Array(2*u),D=new(u>65535?Uint32Array:Uint16Array)(e*t*6);for(let W=0;W<=e;W++)for(let $=0;$<=t;$++){const pe=$/t,Re=W/e,Ve=$+W*(t+1),We=2*Ve,rt=3*Ve,wt=c*pe,vt=o*Re,At=Math.sin(wt),Bt=Math.cos(wt),$t=Math.sin(vt),yt=Bt*$t,Ut=Math.cos(vt),pt=At*$t,qt=i(yt,Ut,pt,pe,Re);h[rt+0]=qt*yt,h[rt+1]=qt*Ut,h[rt+2]=qt*pt,p[rt+0]=yt,p[rt+1]=Ut,p[rt+2]=pt,g[We+0]=pe,g[We+1]=1-Re}const O=t+1;for(let W=0;Ws?(mt=i,$t=1,yt=t):yt=e+Bt/s*(t-e),(-2===Bt||Bt===s+2)&&(yt=0,$t=0),mt-=i/2;for(let Ut=0;Uts?0:pt*D,rt[vt+Ve[1]]=Bt<0?-1:Bt>s?1:O,rt[vt+Ve[2]]=Bt<0||Bt>s?0:qt*D,wt[At+0]=Ut/r,wt[At+1]=$t,At+=2,vt+=3}}for(let Bt=0;Bt0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new he){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new he){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new he){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new he){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new he){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=sye,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=oye;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(Qz),Qz.almostEquals(e,t)}clone(){return new he(this.x,this.y,this.z)}}he.ZERO=void 0,he.UNIT_X=void 0,he.UNIT_Y=void 0,he.UNIT_Z=void 0,he.ZERO=new he(0,0,0),he.UNIT_X=new he(1,0,0),he.UNIT_Y=new he(0,1,0),he.UNIT_Z=new he(0,0,1);const sye=new he,oye=new he,Qz=new he;class mr{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new he,this.upperBound=new he,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),r.set(c.x,u.y,u.z),s.set(u.x,c.y,u.z),o.set(c.x,u.y,c.z),a.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){const i=Jz;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=Jz;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,u=(this.upperBound.y-i.y)*s,h=(this.lowerBound.z-i.z)*o,p=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,u)),Math.min(h,p)),m=Math.min(Math.min(Math.max(a,l),Math.max(c,u)),Math.max(h,p));return!(m<0||g>m)}}const Zz=new he,Jz=[new he,new he,new he,new he,new he,new he,new he,new he];class hs{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new he){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=lye;e.tangents(i,cye),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Er(e.length(),2)*Er(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new hs){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,u=e.w;return t.x=i*u+o*a+r*c-s*l,t.y=r*u+o*l+s*a-i*c,t.z=s*u+o*c+i*l-r*a,t.w=o*u-i*a-r*l-s*c,t}inverse(e=new hs){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new hs){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new he){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,u=c*i+a*s-l*r,h=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=u*c+g*-o+h*-l-p*-a,t.y=h*c+g*-a+p*-o-u*-l,t.z=p*c+g*-l+u*-a-h*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const u=o*a+l*c;if(u>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),u<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const h=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*u),s=Math.atan2(2*o*c-2*a*l,1-2*h-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"YXZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"ZXY"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"ZYX"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"YZX"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a-l*c*u):"XZY"===r&&(this.x=l*o*a-s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a+l*c*u),this}clone(){return new hs(this.x,this.y,this.z,this.w)}slerp(e,t,i=new hs){const r=this.x,s=this.y,o=this.z,a=this.w;let p,g,m,D,O,l=e.x,c=e.y,u=e.z,h=e.w;return g=r*l+s*c+o*u+a*h,g<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>1e-6?(p=Math.acos(g),m=Math.sin(p),D=Math.sin((1-t)*p)/m,O=Math.sin(t*p)/m):(D=1-t,O=t),i.x=D*r+O*l,i.y=D*s+O*c,i.z=D*o+O*u,i.w=D*a+O*h,i}integrate(e,t,i,r=new hs){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,u=this.z,h=this.w,p=.5*t;return r.x+=p*(s*h+o*u-a*c),r.y+=p*(o*h+a*l-s*u),r.z+=p*(a*h+s*c-o*l),r.w+=p*(-s*l-o*c-a*u),r}}const lye=new he,cye=new he,uye={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let _n=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=uye,n})();class Gi{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new he,this.quaternion=new hs,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return Gi.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return Gi.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new he){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new he){return i.vsub(e,r),t.conjugate(t8),t8.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new he){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new he){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new he){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const t8=new hs;class Bf extends _n{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:_n.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new he;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let u=!1;for(let h=0;h!==i.length;h++)if(i[h].almostEquals(r)||i[h].almostEquals(r)){u=!0;break}u||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ep&&(p=D,h=m)}const g=[];for(let m=0;m=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new he,u=new he,h=new he,p=new he,g=new he,m=new he;let D=Number.MAX_VALUE;const O=this;if(O.uniqueAxes)for(let W=0;W!==O.uniqueAxes.length;W++){i.vmult(O.uniqueAxes[W],c);const $=O.testSepAxis(c,e,t,i,r,s);if(!1===$)return!1;$0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){Bf.project(this,e,i,r,KR),Bf.project(t,e,s,o,XR);const l=KR[0],c=KR[1],u=XR[0],h=XR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?yn.STATIC:yn.DYNAMIC,typeof e.type==typeof yn.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=yn.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new he,this.quaternion=new hs,this.initQuaternion=new hs,this.previousQuaternion=new hs,this.interpolatedQuaternion=new hs,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new he,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new he,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new he,this.invInertia=new he,this.invInertiaWorld=new su,this.invMassSolve=0,this.invInertiaSolve=new he,this.invInertiaWorldSolve=new su,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new he(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new he(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new mr,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new he,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=yn.AWAKE,this.wakeUpAfterNarrowphase=!1,e===yn.SLEEPING&&this.dispatchEvent(yn.wakeupEvent)}sleep(){this.sleepState=yn.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Er(this.sleepSpeedLimit,2);t===yn.AWAKE&&ir?this.wakeUp():t===yn.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(yn.sleepEvent))}}updateSolveMassProperties(){this.sleepState===yn.SLEEPING||this.type===yn.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new he){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new he){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new he){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new he){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new he,s=new hs;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=fye,o=pye,a=this.quaternion,l=this.aabb,c=gye;for(let u=0;u!==r;u++){const h=e[u];a.vmult(t[u],s),s.vadd(this.position,s),a.mult(i[u],o),h.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===u?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=mye,r=_ye;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new he){if(this.type!==yn.DYNAMIC)return;this.sleepState===yn.SLEEPING&&this.wakeUp();const i=yye;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new he){if(this.type!==yn.DYNAMIC)return;const i=bye,r=vye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===yn.DYNAMIC&&(this.sleepState===yn.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new he){if(this.type!==yn.DYNAMIC)return;this.sleepState===yn.SLEEPING&&this.wakeUp();const i=t,r=wye;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=Eye;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new he){if(this.type!==yn.DYNAMIC)return;const i=Sye,r=xye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=Cye;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),px.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new he;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==yn.DYNAMIC&&this.type!==yn.KINEMATIC||this.sleepState===yn.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,h=this.invInertiaWorld,p=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*p.x,r.y+=a.y*g*p.y,r.z+=a.z*g*p.z;const m=h.elements,D=this.angularFactor,O=l.x*D.x,W=l.y*D.y,$=l.z*D.z;s.x+=e*(m[0]*O+m[1]*W+m[2]*$),s.y+=e*(m[3]*O+m[4]*W+m[5]*$),s.z+=e*(m[6]*O+m[7]*W+m[8]*$),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}yn.idCounter=0,yn.COLLIDE_EVENT_NAME="collide",yn.DYNAMIC=1,yn.STATIC=2,yn.KINEMATIC=4,yn.AWAKE=0,yn.SLEEPY=1,yn.SLEEPING=2,yn.wakeupEvent={type:"wakeup"},yn.sleepyEvent={type:"sleepy"},yn.sleepEvent={type:"sleep"};const fye=new he,pye=new hs,gye=new mr,mye=new su,_ye=new su,yye=new he,bye=new he,vye=new he,wye=new he,Eye=new he,Sye=new he,xye=new he,Cye=new he;new he,new he;class gx{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new he,this.rayToWorld=new he,this.hitNormalWorld=new he,this.hitPointWorld=new he,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let n8,i8,r8,s8,o8,a8,l8;n8=_n.types.SPHERE,i8=_n.types.PLANE,r8=_n.types.BOX,s8=_n.types.CYLINDER,o8=_n.types.CONVEXPOLYHEDRON,a8=_n.types.HEIGHTFIELD,l8=_n.types.TRIMESH;class bs{get[n8](){return this._intersectSphere}get[i8](){return this._intersectPlane}get[r8](){return this._intersectBox}get[s8](){return this._intersectConvex}get[o8](){return this._intersectConvex}get[a8](){return this._intersectHeightfield}get[l8](){return this._intersectTrimesh}constructor(e=new he,t=new he){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new he,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=bs.ANY,this.result=new gx,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||bs.ANY,this.result=t.result||new gx,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(c8),eN.length=0,e.broadphase.aabbQuery(e,c8,eN),this.intersectBodies(eN),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=Rye,s=Nye;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new he(0,0,1);t.vmult(c,c);const u=new he;o.vsub(i,u);const h=u.dot(c);if(a.vsub(i,u),h*u.dot(c)>0||o.distanceTo(a)=0&&D<=1&&(o.lerp(a,D,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1)),this.result.shouldStop)return;O>=0&&O<=1&&(o.lerp(a,O,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Bye,l=d8,c=o&&o.faceList||null,u=e.faces,h=e.vertices,p=e.faceNormals,g=this.direction,m=this.from,O=m.distanceTo(this.to),W=c?c.length:u.length,$=this.result;for(let pe=0;!$.shouldStop&&peO||this.reportIntersection(a,ba,s,r,Re)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=jye,l=$ye,c=Wye,u=d8,h=Vye,p=Uye,g=zye,m=Gye,D=Hye,O=e.indices,W=this.from,$=this.to,pe=this.direction;c.position.copy(i),c.quaternion.copy(t),Gi.vectorToLocalFrame(i,t,pe,h),Gi.pointToLocalFrame(i,t,W,p),Gi.pointToLocalFrame(i,t,$,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,p.x*=e.scale.x,p.y*=e.scale.y,p.z*=e.scale.z,g.vsub(p,h),h.normalize();const Re=p.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let Ve=0,We=l.length;!this.result.shouldStop&&Ve!==We;Ve++){const rt=l[Ve];e.getNormal(rt,a),e.getVertex(O[3*rt],yc),yc.vsub(p,u);const wt=h.dot(a),vt=a.dot(u)/wt;if(vt<0)continue;h.scale(vt,ba),ba.vadd(p,ba),e.getVertex(O[3*rt+1],au),e.getVertex(O[3*rt+2],lu);const At=ba.distanceSquared(p);!bs.pointInTriangle(ba,au,yc,lu)&&!bs.pointInTriangle(ba,yc,au,lu)||At>Re||(Gi.vectorToWorldFrame(t,a,D),Gi.pointToWorldFrame(i,t,ba,m),this.reportIntersection(D,m,s,r,rt))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case bs.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case bs.CLOSEST:(l=0&&(h=s*c-o*a)>=0&&u+hDate.now()-n}var Hf=Je(517);class Br extends se{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new G;return this._value}next(e){super.next(this._value=e)}}function fm(n,e,t){e||(e=new qn(qn.IDENTITY));const i=new qn(qn.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new qn(qn.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new qn(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===fm(s,r,t))return!1;return!0}function n6(){N4([Tz,cm])}function i6(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||fm(s,new qn(qn.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function rN(n,e){return Fi(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield WS(i,cm,{DracoLoader:DR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),i6(n.scenegraphNode,r)})}function qve(n,e){return Fi(this,void 0,void 0,function*(){return i6(n,yield e)})}function sN(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new W_e;break;case"cone":i=new X_e;break;case"cylinder":i=new Q_e;break;case"cube":default:i=new iye}return new Sge(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:ji.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function r6(n,e,t){if(e&&0!==e.length)return new fge(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new qn(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let Kve=(()=>{class n extends j4{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),n6()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=rN({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const u of c)a.push(new $_e({id:"models-"+u["@id"],opacity:u.zoomBasedOpacity?r.zoomOpacity:void 0!==u.opacity?u.opacity:1,pickable:!u.unpickable,coordinateSystem:ji.CARTESIAN,data:[u],scenegraph:u.scenegraphNode?qve(u.scenegraphNode,o[u.scenegraph]):u.scenegraph,_lighting:u._lighting,getTransformMatrix:u.transformMatrix,getColor:null!==(i=u.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!u.zoomBasedOpacity&&(void 0===u.opacity||1===u.opacity)}}));else"text"===l?(a.push(r6("text",c.filter(u=>u.unpickable),{pickable:!1})),a.push(r6("textPickable",c.filter(u=>!u.unpickable),{pickable:!0}))):"wireframe"===l?a.push(sN(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(sN(l,c.filter(u=>u.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(sN(`${l}Pickable`,c.filter(u=>!u.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){Fi(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new qn(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new mr({lowerBound:new he(...l.map((u,h)=>Math.min(u,c[h]))),upperBound:new he(...c.map((u,h)=>Math.max(u,l[h])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield G0(o.scenegraph,cm,{DracoLoader:DR,decompress:!0,postProcess:!0});for(const l of a.scenes)fm(l,new qn(o.transformMatrix),(c,u)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const h of c.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const p=u.transformAsPoint(h.attributes.POSITION.min,[]),g=u.transformAsPoint(h.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new mr({lowerBound:new he(...p.map((m,D)=>Math.min(m,g[D]))),upperBound:new he(...g.map((m,D)=>Math.max(m,p[D])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function s6(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),s6(t,e);return e}let Qve=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new Kve({}),this.nodeClickSubject=new se,this.nodeHoverStartSubject=new se,this.nodeHoverStopSubject=new se,this.sceneRotationSubject=new Br([0,0]),this.nodeDragStartSubject=new se,this.nodeDragSubject=new se,this.nodeDragEndSubject=new se,this.nodeClick$=this.nodeClickSubject.pipe(Es()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(Es()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(Es()),this.sceneRotation$=this.sceneRotationSubject.pipe(Es()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(Es()),this.nodeDrag$=this.nodeDragSubject.pipe(Es()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(Es());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new Kde({flipY:!1,near:-1e3}):new Zde({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var u;return null!==(u=this.cursor)&&void 0!==u?u:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new GO({ambientLight:new G4({color:[255,255,255],intensity:10})})]),this.deck=new ix(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return Fi(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new qn([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t,i){return Fi(this,void 0,void 0,function*(){n6();const r=yield rN({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"},undefined),s={},o=[];for(const a of r.scenes)fm(a,e=new qn(e||qn.IDENTITY),(l,c)=>{const u={"@id":l.name||l.id,"@type":"ProcessedNode",transformMatrix:new qn(c),geometry:"wireframe",node:l};if(o.push({"@id":`GLTF:${u["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:u["@id"],transformMatrix:new qn(e||qn.IDENTITY),tooltip:l.name||l.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:l}),l.mesh&&l.mesh.primitives&&l.mesh.primitives.length>0)for(const h of l.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const p=c.transformAsPoint(h.attributes.POSITION.min,[]),g=c.transformAsPoint(h.attributes.POSITION.max,[]);u.bbox=new mr({lowerBound:new he(...p.map((m,D)=>Math.min(m,g[D]))),upperBound:new he(...g.map((m,D)=>Math.max(m,p[D])))})}return s[u["@id"]]=u,!0});for(const a of Object.values(s).filter(l=>!l.bbox)){for(const l of s6(a.node).map(c=>s[c]).filter(c=>c.bbox))a.bbox?a.bbox.extend(l.bbox):a.bbox=l.bbox.clone();a.bbox||delete s[a["@id"]]}for(const a of Object.values(s)){const l=a.bbox.lowerBound,h=(a.size=a.bbox.upperBound.clone().vsub(l)).clone().vmul(new he(.5,.5,.5)),p=a.center=l.clone().vadd(h);a.transformMatrix=new qn(qn.IDENTITY).translate(p.toArray()).scale(h.toArray())}for(const a of o)s[a["@id"]]=a;return s})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new qn(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return rr([Hf.ZP],n.prototype,"_onHover",null),rr([Hf.ZP],n.prototype,"_onClick",null),rr([Hf.ZP],n.prototype,"_onViewStateChange",null),rr([Hf.ZP],n.prototype,"_onDragStart",null),rr([Hf.ZP],n.prototype,"_onDrag",null),rr([Hf.ZP],n.prototype,"_onDragEnd",null),n})();function Zve(n,e){return n===e}function Jve(n,e,t){if(null===e||null===t||e.length!==t.length)return!1;const i=e.length;for(let r=0;r(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let oN=(()=>{class n{constructor(){this.bootstrap$=new kg(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const aN=new Ht("INITIAL_STATE_TOKEN");let nwe=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const o6=new Ht("Internals.StateContextFactory"),a6=new Ht("Internals.StateFactory");function ub(...n){if(1===n.length){const e=n[0];if(F(e))return Cx(e,null);if(Y(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Cx(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return Cx(n=1===n.length&&F(n[0])?n[0]:n,null).pipe(ye(t=>e(...t)))}return Cx(n,null)}function Cx(n,e){return new P(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=u},error:u=>t.error(u),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((u,h,p)=>(u[h]=r[p],u),{}):r),t.complete())}}))}})}function Qi(n,e){return function(i){return i.lift(new iwe(n,e))}}class iwe{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new rwe(e,this.predicate,this.thisArg))}}class rwe extends v{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}function $a(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(u){let h;s++,!r||a?(a=!1,r=new kg(n,e,i),h=r.subscribe(this),o=u.subscribe({next(p){r.next(p)},error(p){a=!0,r.error(p)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):h=r.subscribe(this),this.add(()=>{s--,h.unsubscribe(),h=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}const l6=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function Wi(n){return e=>0===n?lS():e.lift(new owe(n))}class owe{constructor(e){if(this.total=e,this.total<0)throw new l6}call(e,t){return t.subscribe(new awe(e,this.total))}}class awe extends v{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function c6(n,e){return e?t=>t.pipe(c6((i,r)=>qe(n(i,r)).pipe(ye((s,o)=>e(i,s,r,o))))):t=>t.lift(new lwe(n))}class lwe{constructor(e){this.project=e}call(e,t){return t.subscribe(new cwe(e,this.project))}}class cwe extends Ae{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new _t(this),i=this.destination;i.add(t);const r=k(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function Ax(n=null){return e=>e.lift(new uwe(n))}class uwe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new dwe(e,this.defaultValue))}}class dwe extends v{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function bc(n){return function(t){const i=new hwe(n),r=t.lift(i);return i.caught=r}}class hwe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new fwe(e,this.selector,this.caught))}}class fwe extends Ae{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new _t(this);this.add(i);const r=k(t,i);r!==i&&this.add(r)}}}function _r(n){return e=>e.lift(new pwe(n))}class pwe{constructor(e){this.notifier=e}call(e,t){const i=new gwe(e),r=k(this.notifier,new _t(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class gwe extends Ae{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function _h(){}function Yr(n,e,t){return function(r){return r.lift(new mwe(n,e,t))}}class mwe{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new _we(e,this.nextOrObserver,this.error,this.complete))}}class _we extends v{constructor(e,t,i,r){super(e),this._tapNext=_h,this._tapError=_h,this._tapComplete=_h,this._tapError=i||_h,this._tapComplete=r||_h,Q(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||_h,this._tapError=t.error||_h,this._tapComplete=t.complete||_h)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function rd(n,e){return t=>t.lift(new ywe(n,e))}class ywe{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new bwe(e,this.compare,this.keySelector))}}class bwe extends v{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}const Wa={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let u6=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(n){return"server"===n}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return gn.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return gn.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof gn||console.warn(Wa.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(ke(gn),ke(Wc))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const d6=new Ht("ROOT_STATE_TOKEN"),h6=new Ht("FEATURE_STATE_TOKEN"),f6=new Ht("NGXS_PLUGINS"),p6=new Ht("NG_TEST_MODE"),g6=new Ht("NG_DEV_MODE"),sd="NGXS_META",m6="NGXS_OPTIONS_META",lN="NGXS_SELECTOR_META";let Gf=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=u6}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();class vwe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const _6=new Ht("NGXS_EXECUTION_STRATEGY");function $f(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const y6=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},Tx=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),cN=n=>n&&"object"==typeof n&&!Array.isArray(n),uN=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(cN(n)&&cN(t))for(const i in t)cN(t[i])?(n[i]||Object.assign(n,{[i]:{}}),uN(n[i],t[i])):Object.assign(n,{[i]:t[i]});return uN(n,...e)};function dN(n){if(!n.hasOwnProperty(sd)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,sd,{value:e})}return db(n)}function db(n){return n[sd]}function fN(n){return n[lN]}function b6(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[$f(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Qi(t=>{const i=$f(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function Owe(){return ye(n=>n.action)}function Mx(n){return e=>new P(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let Dx=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(ke(_6))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();class Pwe extends se{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let Ix=(()=>{class n extends Pwe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),Fwe=(()=>{class n extends P{constructor(t,i){super(r=>{const s=t.pipe(Mx(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(ke(Ix),ke(Dx))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const w6=n=>(...e)=>n.shift()(...e,(...i)=>w6(n)(...i));let Ox=(()=>{class n extends Br{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),pN=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(ke(n,12),ke(f6,8))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),gN=(()=>{class n extends se{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),E6=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(oa),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(Mx(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?fn(this._stateStream.getValue()):ub(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!$f(t))return Fg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return w6([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe($a())}getActionResultStream(t){return this._actionResults.pipe(Qi(i=>i.action===t&&"DISPATCHED"!==i.status),Wi(1),$a())}createDispatchObservable(t){return t.pipe(c6(i=>{switch(i.status){case"SUCCESSFUL":return fn(this._stateStream.getValue());case"ERRORED":return Fg(i.error);default:return Yc}})).pipe($a())}}return n.\u0275fac=function(t){return new(t||n)(ke(Wn),ke(Ix),ke(gN),ke(pN),ke(Ox),ke(Dx))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const S6=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&S6(n[i])}),n};let x6=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(ke(g6),ke(p6))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),C6=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(Wa.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(Wa.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(ke(x6),ke(Gf))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),gm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=S6(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(ke(Ox),ke(E6),ke(Gf),ke(C6))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),Rx=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return Tx(l,t.path)}function s(l,c){const u=y6(l,t.path,c),h=t.instance;if(h.ngxsOnChanges){const p=v6(t,{currentAppState:l,newAppState:u});h.ngxsOnChanges(p)}return i.setState(u),u}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(Wa.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(Wa.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(ke(gm))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();class Nx{static stateNameErrorMessage(e){return Wa.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(Wa.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(Wa.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=db(e);if(!t)throw new Error(Wa.STATE_DECORATOR());return t}}Nx.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let mm=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=xx(()=>{const c=this;function u(p){const g=c.statePaths[p];return g?b6(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(p){let g=u(p);return g||((...m)=>(g||(g=u(p)),g?g(...m):void 0))},getSelectorOptions:p=>Object.assign({},c._config.selectorOptions,p||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(Nx.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[sd].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[sd];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[sd].name]=t,e),{})}(i),l=[];for(const c of s){const u=a[c],h=o[c],p=u[sd];this.addRuntimeInfoToMeta(p,h);const g={name:c,path:h,isInitialised:!1,actions:p.actions,instance:this._injector.get(u),defaults:n.cloneDefaults(p.defaults)};this.hasBeenMountedAndBootstrapped(c,h)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>y6(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Qi(t=>"DISPATCHED"===t.status),z(({action:t})=>this.invokeActions(this._actions,t).pipe(ye(()=>({action:t,status:"SUCCESSFUL"})),Ax({action:t,status:"CANCELED"}),bc(i=>fn({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=$f(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let u=o.instance[l.fn](c,i);u instanceof Promise&&(u=qe(u)),u instanceof P?(u=u.pipe(Ax({})),l.options.cancelUncompleted&&(u=u.pipe(_r(t.pipe(Mwe(i)))))):u=fn({}).pipe($a()),s.push(u)}catch(u){s.push(Fg(u))}}}return s.length||s.push(fn({})),ub(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=Nx.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==Tx(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(ke(Wn),ke(Gf),ke(n,12),ke(Ix),ke(gN),ke(Rx),ke(aN,8))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),mN=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Qi(()=>!!i),Yr(()=>this.invokeInit(i.states)),z(()=>this.bootstrapper.appBootstrapped$),Qi(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=v6(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(ke(gm),ke(Rx),ke(oN))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const Px_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function Lwe(n,e,t){const i=t&&t.containerClass,s=xx(function(...c){const u=e.apply(i,c);return u instanceof Function?xx.apply(null,[u]):u});Object.setPrototypeOf(s,e);const o=function(n,e){const t=function(n){return n.hasOwnProperty(lN)||Object.defineProperty(n,lN,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),fN(n)}(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},Px_getOptions(n.containerClass)||{},Px_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:u}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&db(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>T6(a)(n))}}(l,o,n);return function(p){const g=c.map(m=>m(p));try{return s(...g)}catch(m){if(m instanceof TypeError&&u.suppressErrors)return;throw m}}},s}function T6(n){const e=fN(n)||db(n);return e&&e.makeRootSelector||(()=>n)}let cu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(ye(i),bc(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?fn(void 0):Fg(r)}),rd(),Mx(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(Wi(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(Mx(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return T6(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(ke(Ox),ke(gm),ke(Gf),ke(Dx),ke(mm),ke(aN,8))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),hb=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(ke(cu),ke(Gf))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class zwe{static get type(){return"@@INIT"}}class Hwe{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const Fx=new kg(1);let $we=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&Ba();Fx.next(t)}catch(n){Fx.next(!1)}finally{Fx.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new zwe,l)}}return n.\u0275fac=function(t){return new(t||n)(ke(mm),ke(gm),ke(cu),ke(hb),ke(d6,8),ke(mN))},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({}),n})(),Wwe=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new Hwe(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(ke(cu),ke(gm),ke(mm),ke(h6,8),ke(mN))},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({}),n})();class Wo{static forRoot(e=[],t={}){return{ngModule:$we,providers:[mm,Rx,Fwe,Ix,oN,C6,x6,mN,E6,gN,gm,Dx,cu,Ox,hb,pN,...e,...Wo.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:Wwe,providers:[mm,pN,...e,{provide:h6,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:p6,useValue:twe},{provide:g6,useValue:Ba},{provide:_6,useClass:t.executionStrategy||u6},{provide:d6,useValue:e},{provide:Wo.ROOT_OPTIONS,useValue:t},{provide:Gf,useFactory:Wo.ngxsConfigFactory,deps:[Wo.ROOT_OPTIONS]},{provide:RE,useFactory:Wo.appBootstrapListenerFactory,multi:!0,deps:[oN]},{provide:aN,useFactory:Wo.getInitialState},{provide:o6,useExisting:Rx},{provide:a6,useExisting:mm}]}static ngxsConfigFactory(e){return uN(new Gf,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return nwe.pop()}}function _N(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(Wa.ACTION_DECORATOR());const s=dN(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function M6(n){return i=>{!function(n){Fx.subscribe(e=>{e&&(n.\u0275prov||console.warn(Wa.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=dN(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[m6]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,u="string"==typeof c?c:c&&c.getName()||null;Nx.checkCorrectStateName(u),s.hasOwnProperty(sd)&&(r.actions=Object.assign({},r.actions,(s[sd]||{}).actions)),r.children=a,r.defaults=l,r.name=u})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[m6]=a}}function kx(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?b6(t.length?[e,...t]:e.split("."),hb.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!hb.store)throw new Error(Wa.SELECT_FACTORY_NOT_CONNECTED());return hb.store.select(n)}(o))}}})}}function _m(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(Wa.SELECTOR_DECORATOR());const s=i.value,o=Lwe(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}function Dl(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}Wo.\u0275fac=function(e){return new(e||Wo)},Wo.\u0275mod=on({type:Wo}),Wo.\u0275inj=Ct({}),Wo.ROOT_OPTIONS=new Ht("ROOT_OPTIONS");const Kx=new uc(aS);class iSe{constructor(e){this.total=e}call(e,t){return t.subscribe(new rSe(e,this.total))}}class rSe extends v{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function xi(n){return null!=n&&"false"!=`${n}`}function Xx(n){return Array.isArray(n)?n:[n]}function vs(n){return null==n?"":"string"==typeof n?n:`${n}px`}function ad(n){return n instanceof En?n.nativeElement:n}let zN;try{zN="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){zN=!1}let Eb,qf,HN,Zi=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Tf(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!zN)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(ke(Wc))},n.\u0275prov=et({factory:function(){return new n(ke(Wc))},token:n,providedIn:"root"}),n})();function vm(n){return function(){if(null==Eb&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Eb=!0}))}finally{Eb=Eb||!1}return Eb}()?n:!!n.capture}function LH(){if(null==qf){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return qf=!1,qf;if("scrollBehavior"in document.documentElement.style)qf=!0;else{const n=Element.prototype.scrollTo;qf=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return qf}function Zx(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Yf(n){return n.composedPath?n.composedPath()[0]:n.target}let qH=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===KH(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=KH(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||YH(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(ke(Zi))},n.\u0275prov=et({factory:function(){return new n(ke(Zi))},token:n,providedIn:"root"}),n})();function YH(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function KH(n){if(!YH(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class xSe{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}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))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(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}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const 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._ngZone.isStable?e():this._ngZone.onStable.pipe(Wi(1)).subscribe(e)}}let XH=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new xSe(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(ke(qH),ke(gn),ke(pn))},n.\u0275prov=et({factory:function(){return new n(ke(qH),ke(gn),ke(pn))},token:n,providedIn:"root"}),n})();"undefined"!=typeof Element&∈const JH=new Ht("cdk-input-modality-detector-options"),DSe={ignoreKeys:[18,17,224,91,16]},wm=vm({passive:!0,capture:!0});let tG=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new Br(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Yf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(function(n){return 0===n.offsetX&&0===n.offsetY}(o)?"keyboard":"mouse"),this._mostRecentTarget=Yf(o))},this._onTouchstart=o=>{!function(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}(o)?(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Yf(o)):this._modality.next("keyboard")},this._options=Object.assign(Object.assign({},DSe),s),this.modalityDetected=this._modality.pipe(function(n){return e=>e.lift(new iSe(n))}(1)),this.modalityChanged=this.modalityDetected.pipe(rd()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,wm),r.addEventListener("mousedown",this._onMousedown,wm),r.addEventListener("touchstart",this._onTouchstart,wm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,wm),document.removeEventListener("mousedown",this._onMousedown,wm),document.removeEventListener("touchstart",this._onTouchstart,wm))}}return n.\u0275fac=function(t){return new(t||n)(ke(Zi),ke(gn),ke(pn),ke(JH,8))},n.\u0275prov=et({factory:function(){return new n(ke(Zi),ke(gn),ke(pn),ke(JH,8))},token:n,providedIn:"root"}),n})();const rG=new Ht("cdk-focus-monitor-default-options"),t1=vm({passive:!0,capture:!0});let du=(()=>{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,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=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new se,this._rootNodeFocusAndBlurListener=a=>{const l=Yf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let u=l;u;u=u.parentElement)c.call(this,a,u)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=ad(t);if(!this._platform.isBrowser||1!==r.nodeType)return fn(null);const s=function(n){if(function(){if(null==HN){const n="undefined"!=typeof document?document.head:null;HN=!(!n||!n.createShadowRoot&&!n.attachShadow)}return HN}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new se,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=ad(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=ad(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Yf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,t1),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,t1)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(_r(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,t1),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,t1),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(ke(gn),ke(Zi),ke(tG),ke(pn,8),ke(rG,8))},n.\u0275prov=et({factory:function(){return new n(ke(gn),ke(Zi),ke(tG),ke(pn,8),ke(rG,8))},token:n,providedIn:"root"}),n})();const lG=new Ht("cdk-dir-doc",{providedIn:"root",factory:function(){return Fc(pn)}});let Il=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new sn,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(ke(lG,8))},n.\u0275prov=et({factory:function(){return new n(ke(lG,8))},token:n,providedIn:"root"}),n})();function n1(...n){return Nt(1)(fn(...n))}function ao(...n){const e=n[n.length-1];return Ie(e)?(n.pop(),t=>n1(n,t,e)):t=>n1(n,t)}function Em(n,e){return{type:7,name:n,definitions:e,options:{}}}function cd(n,e=null){return{type:4,styles:e,timings:n}}function fs(n){return{type:6,styles:n,offset:null}}function vc(n,e,t){return{type:0,name:n,styles:e,options:t}}function ud(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function hG(n){Promise.resolve(null).then(n)}class Sm{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],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._onStartFns.push(e)}onDone(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(){hG(()=>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}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function pG(){return"undefined"!=typeof window&&void 0!==window.document}function KN(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}let JN=(n,e)=>!1,eP=(n,e)=>!1,_G=(n,e,t)=>[];const yG=KN();(yG||"undefined"!=typeof Element)&&(JN=pG()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),eP=(()=>{if(yG||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):eP}})(),_G=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{class n{validateStyleProperty(t){return tP(t)}matchesElement(t,i){return nP(t,i)}containsElement(t,i){return iP(t,i)}query(t,i,r){return rP(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new Sm(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();class r1{}r1.NOOP=new wG;function CG(n,e,t){return t?e+":"+t+";":""}function AG(n){let e="";for(let t=0;t{const r=cP(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),KN()&&AG(n))}function Qf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=cP(t);n.style[i]=""}),KN()&&AG(n))}const HSe=/-+([a-z0-9])/g;function cP(n){return n.replace(HSe,(...e)=>e[1].toUpperCase())}function GSe(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Am{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=Am.initialStylesByElement.get(e);r||Am.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&hu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(hu(this._element,this._initialStyles),this._endStyles&&(hu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Am.initialStylesByElement.delete(this._element),this._startStyles&&(Qf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Qf(this._element,this._endStyles),this._endStyles=null),hu(this._element,this._initialStyles),this._state=3)}}Am.initialStylesByElement=new WeakMap;const Nl=new Ht("AnimationModuleType");function Mb(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function xP(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?function(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}(t):this.defaultTabIndex}}}let ep;try{ep="undefined"!=typeof Intl}catch(n){ep=!1}function hd(n,e,t,i){return Q(t)&&(i=t,t=void 0),i?hd(n,e,t).pipe(ye(r=>F(r)?i(...r):i(r))):new P(r=>{x$(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function x$(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let z1e=1;const H1e=Promise.resolve(),C1={};function C$(n){return n in C1&&(delete C1[n],!0)}const A$={setImmediate(n){const e=z1e++;return C1[e]=!0,H1e.then(()=>C$(e)&&n()),e},clearImmediate(n){C$(n)}};new class extends uc{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=A$.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(A$.clearImmediate(t),e.scheduled=void 0)}});function Tm(n){return!!n&&(n instanceof P||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class Y1e{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new K1e(e,this.durationSelector))}}class K1e extends Ae{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=k(t,new _t(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function T$(n){return!F(n)&&n-parseFloat(n)+1>=0}function Q1e(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function A1(n,e=Kx){return function(n){return function(t){return t.lift(new Y1e(n))}}(()=>function(n=0,e,t){let i=-1;return T$(e)?i=Number(e)<1?1:Number(e):Ie(e)&&(t=e),Ie(t)||(t=Kx),new P(r=>{const s=T$(n)?n:+n-t.now();return t.schedule(Q1e,s,{index:0,period:i,subscriber:r})})}(n,e))}let D$=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({factory:function(){return new n},token:n,providedIn:"root"}),n})(),Mm=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new se,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new P(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(A1(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):fn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Qi(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=ad(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>hd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(ke(gn),ke(Zi),ke(pn,8))},n.\u0275prov=et({factory:function(){return new n(ke(gn),ke(Zi),ke(pn,8))},token:n,providedIn:"root"}),n})(),Dm=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new se,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(A1(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(ke(Zi),ke(gn),ke(pn,8))},n.\u0275prov=et({factory:function(){return new n(ke(Zi),ke(gn),ke(pn,8))},token:n,providedIn:"root"}),n})();class DP{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class M1 extends DP{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Im extends DP{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}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()}}class pCe extends DP{constructor(e){super(),this.element=e instanceof En?e.nativeElement:e}}class D1{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof M1?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Im?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof pCe?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}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)}}class gCe extends D1{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let tp=(()=>{class n extends D1{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new sn,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(Oe(wl),Oe(Ns),Oe(pn))},n.\u0275dir=Rt({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[An]}),n})();const k$=LH();class bCe{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=vs(-this._previousScrollPosition.left),e.style.top=vs(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),k$&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),k$&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class vCe{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const 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}}class L${enable(){}disable(){}attach(){}}function IP(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function B$(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class wCe{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();IP(t,[{width:i,height:r,bottom:r,right:i,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}}let ECe=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new L$,this.close=o=>new vCe(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new bCe(this._viewportRuler,this._document),this.reposition=o=>new wCe(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(ke(Mm),ke(Dm),ke(gn),ke(pn))},n.\u0275prov=et({factory:function(){return new n(ke(Mm),ke(Dm),ke(gn),ke(pn))},token:n,providedIn:"root"}),n})();class O1{constructor(e){if(this.scrollStrategy=new L$,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class SCe{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class xCe{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let j$=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(ke(pn))},n.\u0275prov=et({factory:function(){return new n(ke(pn))},token:n,providedIn:"root"}),n})(),CCe=(()=>{class n extends j${constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(ke(pn))},n.\u0275prov=et({factory:function(){return new n(ke(pn))},token:n,providedIn:"root"}),n})(),ACe=(()=>{class n extends j${constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Yf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(ke(pn),ke(Zi))},n.\u0275prov=et({factory:function(){return new n(ke(pn),ke(Zi))},token:n,providedIn:"root"}),n})();const Sh="undefined"!=typeof window?window:{},V$=void 0!==Sh.__karma__&&!!Sh.__karma__||void 0!==Sh.jasmine&&!!Sh.jasmine||void 0!==Sh.jest&&!!Sh.jest||void 0!==Sh.Mocha&&!!Sh.Mocha;let Ob=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||V$){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(u),this._keydownEvents=new se,this._outsidePointerEvents=new se,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(Wi(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),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),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),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&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.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=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},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(){const e=this._config.direction;return e?"string"==typeof e?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;const e=this._pane.style;e.width=vs(this._config.width),e.height=vs(this._config.height),e.minWidth=vs(this._config.minWidth),e.minHeight=vs(this._config.minHeight),e.maxWidth=vs(this._config.maxWidth),e.maxHeight=vs(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),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),"undefined"!=typeof requestAnimationFrame?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)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;Xx(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(_r(kn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const U$="cdk-overlay-connected-position-bounding-box",MCe=/([A-Za-z%]+)$/;class z${constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,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 se,this._resizeSubscription=C.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(U$),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)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&np(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(U$),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(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){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=G$(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let p=0-a,g=a+s.height-i.height,m=this._subtractOverflows(s.width,0-o,o+s.width-i.width),D=this._subtractOverflows(s.height,p,g),O=m*D;return{visibleArea:O,isCompletelyWithinViewport:s.width*s.height===O,fitsInViewportVertically:D===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=H$(this._overlayRef.getConfig().minHeight),a=H$(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=G$(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let u=0,h=0;return u=r.width<=s.width?c||-o:e.xm&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-m/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)p=i.width-e.x+this._viewportMargin,u=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)h=e.x,u=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),m=this._lastBoundingBoxSize.width;u=2*g,h=e.x-g,u>m&&!this._isInitialRender&&!this._growAfterOpen&&(h=e.x-m/2)}return{top:o,left:h,bottom:a,right:p,width:u,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=vs(i.height),r.top=vs(i.top),r.bottom=vs(i.bottom),r.width=vs(i.width),r.left=vs(i.left),r.right=vs(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=vs(s)),o&&(r.maxWidth=vs(o))}this._lastBoundingBoxSize=i,np(this._boundingBox.style,r)}_resetBoundingBoxStyles(){np(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){np(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const u=this._viewportRuler.getViewportScrollPosition();np(i,this._getExactOverlayY(t,e,u)),np(i,this._getExactOverlayX(t,e,u))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=vs(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=vs(o.maxWidth):s&&(i.maxWidth="")),np(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=vs(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=vs(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:B$(e,i),isOriginOutsideView:IP(e,i),isOverlayClipped:B$(t,i),isOverlayOutsideView:IP(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&Xx(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof En)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function np(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function H$(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(MCe);return t&&"px"!==t?null:parseFloat(e)}return n||null}function G$(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class DCe{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new z$(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new SCe(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const W$="cdk-global-overlay-wrapper";class ICe{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const 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(W$),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-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._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(W$),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let OCe=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new ICe}connectedTo(t,i,r){return new DCe(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new z$(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(ke(Dm),ke(pn),ke(Zi),ke(Ob))},n.\u0275prov=et({factory:function(){return new n(ke(Dm),ke(pn),ke(Zi),ke(Ob))},token:n,providedIn:"root"}),n})(),RCe=0,wc=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u,h,p){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=h,this._outsideClickDispatcher=p}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new O1(t);return o.direction=o.direction||this._directionality.value,new TCe(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+RCe++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(ih)),new gCe(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(ke(ECe),ke(Ob),ke(wl),ke(OCe),ke(CCe),ke(Wn),ke(gn),ke(pn),ke(Il),ke(Pg),ke(ACe))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();function a7(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>ye(function(n,e){return i=>{let r=i;for(let s=0;s{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const 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 fd?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){const t=new fd;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof fd?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class iTe{encodeKey(e){return w7(e)}encodeValue(e){return w7(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const sTe=/%(\d[a-f0-9])/gi,oTe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function w7(n){return encodeURIComponent(n).replace(sTe,(e,t)=>{var i;return null!==(i=oTe[t])&&void 0!==i?i:e})}function E7(n){return`${n}`}class xh{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new iTe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const 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){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,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=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new xh({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(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":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(E7(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(E7(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class aTe{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}keys(){return this.map.keys()}}function S7(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function x7(n){return"undefined"!=typeof Blob&&n instanceof Blob}function C7(n){return"undefined"!=typeof FormData&&n instanceof FormData}class Rb{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new fd),this.context||(this.context=new aTe),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ap.set(g,e.setHeaders[g]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((p,g)=>p.set(g,e.setParams[g]),u)),new Rb(i,r,o,{params:u,headers:c,context:h,reportProgress:l,responseType:s,withCredentials:a})}}var ws=(()=>((ws=ws||{})[ws.Sent=0]="Sent",ws[ws.UploadProgress=1]="UploadProgress",ws[ws.ResponseHeader=2]="ResponseHeader",ws[ws.DownloadProgress=3]="DownloadProgress",ws[ws.Response=4]="Response",ws[ws.User=5]="User",ws))();class N1 extends class{constructor(e,t=200,i="OK"){this.headers=e.headers||new fd,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}{constructor(e={}){super(e),this.type=ws.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new N1({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}function LP(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let ip=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof Rb)s=t;else{let l,c;l=r.headers instanceof fd?r.headers:new fd(r.headers),r.params&&(c=r.params instanceof xh?r.params:new xh({fromObject:r.params})),s=new Rb(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=fn(s).pipe(function(n,e){return z(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof Rb||"events"===r.observe)return o;const a=o.pipe(Qi(l=>l instanceof N1));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(ye(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(ye(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(ye(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(ye(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new xh).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,LP(r,i))}post(t,i,r={}){return this.request("POST",t,LP(r,i))}put(t,i,r={}){return this.request("PUT",t,LP(r,i))}}return n.\u0275fac=function(t){return new(t||n)(ke(b7))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const _Te=["*"];function O7(n){return Error(`Unable to find icon with the name "${n}"`)}function R7(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function N7(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class rp{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let P1=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,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",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new rp(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(ni.HTML,r);if(!o)throw N7(r);return this._addSvgIconConfig(t,i,new rp("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new rp(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(ni.HTML,i);if(!s)throw N7(i);return this._addSvgIconSetConfig(t,new rp("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(ni.RESOURCE_URL,t);if(!i)throw R7(t);const r=this._cachedIconsByUrl.get(i);return r?fn(F1(r)):this._loadSvgIconFromConfig(new rp(t,null)).pipe(Yr(s=>this._cachedIconsByUrl.set(i,s)),ye(s=>F1(s)))}getNamedSvgIcon(t,i=""){const r=P7(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Fg(O7(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?fn(F1(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(ye(i=>F1(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?fn(r):ub(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(bc(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(ni.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),fn(null)})))).pipe(ye(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw O7(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(Yr(i=>t.svgText=i),ye(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?fn(null):this._fetchIcon(t).pipe(Yr(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;se.lift(new tTe(n))}(()=>this._inProgressUrlFetches.delete(a)),Es());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(P7(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),F7=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],CTe=F7.map(n=>`[${n}]`).join(", "),ATe=/^url\(['"]?#(.*?)['"]?\)$/;let Nm=(()=>{class n extends wTe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=C.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=xi(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(CTe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(ATe):null;if(c){let u=r.get(a);u||(u=[],r.set(a,u)),u.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(Wi(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(Oe(En),Oe(P1),Fo("aria-hidden"),Oe(ETe),Oe(oa))},n.\u0275cmp=ln({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(Bi("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),vi("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[An],ngContentSelectors:_Te,decls:1,vars:0,template:function(t,i){1&t&&(is(),si(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[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}\n"],encapsulation:2,changeDetection:0}),n})();function LTe(n,e){}class zP{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const BTe={dialogContainer:Em("dialogContainer",[vc("void, exit",fs({opacity:0,transform:"scale(0.7)"})),vc("enter",fs({transform:"none"})),ud("* => enter",cd("150ms cubic-bezier(0, 0, 0.2, 1)",fs({transform:"none",opacity:1}))),ud("* => void, * => exit",cd("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",fs({opacity:0})))])};let jTe=(()=>{class n extends D1{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new sn,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=Zx(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=Zx())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=Zx();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(Oe(En),Oe(XH),Oe(Dr),Oe(pn,8),Oe(zP),Oe(du))},n.\u0275dir=Rt({type:n,viewQuery:function(t,i){if(1&t&&ss(tp,7),2&t){let r;ii(r=ri())&&(i._portalOutlet=r.first)}},features:[An]}),n})(),VTe=(()=>{class n extends jTe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275cmp=ln({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&fE("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(Lu("id",i._id),Bi("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),mE("@dialogContainer",i._state))},features:[An],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&Di(0,LTe,0,0,"ng-template",0)},directives:[tp],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[BTe.dialogContainer]}}),n})(),UTe=0;class k1{constructor(e,t,i="mat-dialog-"+UTe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new se,this._afterClosed=new se,this._beforeClosed=new se,this._state=0,t._id=i,t._animationStateChanged.pipe(Qi(r=>"opened"===r.state),Wi(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Qi(r=>"closed"===r.state),Wi(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Qi(r=>27===r.keyCode&&!this.disableClose&&!Dl(r))).subscribe(r=>{r.preventDefault(),HP(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():HP(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Qi(t=>"closing"===t.state),Wi(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();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._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function HP(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const B7=new Ht("MatDialogData"),zTe=new Ht("mat-dialog-default-options"),j7=new Ht("mat-dialog-scroll-strategy");let $Te=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=u,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new se,this._afterOpenedAtThisLevel=new se,this._ariaHiddenElements=new Map,this.afterAllClosed=function(n){return new P(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?qe(t):lS()).subscribe(e)})}(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(ao(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new zP)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new O1({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Wn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:zP,useValue:i}]}),o=new M1(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof zo)i.attachTemplatePortal(new Im(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new M1(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Il,null,Sn.Optional))&&o.push({provide:Il,useValue:{value:t.direction,change:fn()}}),Wn.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(Oe(wc),Oe(Wn),Oe(void 0),Oe(void 0),Oe(Ob),Oe(void 0),Oe(xu),Oe(xu),Oe(Ht))},n.\u0275dir=Rt({type:n}),n})(),Pb=(()=>{class n extends $Te{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,k1,VTe,B7)}}return n.\u0275fac=function(t){return new(t||n)(ke(wc),ke(Wn),ke(Pg,8),ke(zTe,8),ke(j7),ke(n,12),ke(Ob))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),qTe=0,V7=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+qTe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(Oe(k1,8),Oe(En),Oe(Pb))},n.\u0275dir=Rt({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&Lu("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),U7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Rt({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();const $P=new Ht("CdkAccordion");let XTe=0,ZTe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=C.EMPTY,this.closed=new sn,this.opened=new sn,this.destroyed=new sn,this.expandedChange=new sn,this.id="cdk-accordion-child-"+XTe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=xi(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=xi(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(Oe($P,12),Oe(Dr),Oe(D$))},n.\u0275dir=Rt({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Hn([{provide:$P,useValue:void 0}])]}),n})();const eMe=["body"];function tMe(n,e){}const nMe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],iMe=["mat-expansion-panel-header","*","mat-action-row"];function rMe(n,e){1&n&&bi(0,"span",2),2&n&&rn("@indicatorRotate",ci()._getExpandedState())}const sMe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],oMe=["mat-panel-title","mat-panel-description","*"],WP=new Ht("MAT_ACCORDION"),H7="225ms cubic-bezier(0.4,0.0,0.2,1)",G7={indicatorRotate:Em("indicatorRotate",[vc("collapsed, void",fs({transform:"rotate(0deg)"})),vc("expanded",fs({transform:"rotate(180deg)"})),ud("expanded <=> collapsed, void => collapsed",cd(H7))]),bodyExpansion:Em("bodyExpansion",[vc("collapsed, void",fs({height:"0px",visibility:"hidden"})),vc("expanded",fs({height:"*",visibility:"visible"})),ud("expanded <=> collapsed, void => collapsed",cd(H7))])};let aMe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(Oe(zo))},n.\u0275dir=Rt({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),lMe=0;const $7=new Ht("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let W7=(()=>{class n extends ZTe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new sn,this.afterCollapse=new sn,this._inputChanges=new se,this._headerId="mat-expansion-panel-header-"+lMe++,this._bodyAnimationDone=new se,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(rd((c,u)=>c.fromState===u.fromState&&c.toState===u.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=xi(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(ao(null),Qi(()=>this.expanded&&!this._portal),Wi(1)).subscribe(()=>{this._portal=new Im(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(Oe(WP,12),Oe(Dr),Oe(D$),Oe(Ns),Oe(pn),Oe(Nl,8),Oe($7,8))},n.\u0275cmp=ln({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&function(n,e,t,i){const r=Ei();if(r.firstCreatePass){const s=cs();F3(r,new R3(e,t,i),s.index),function(n,e){const t=n.contentQueries||(n.contentQueries=[]);e!==(t.length?t[t.length-1]:-1)&&t.push(n.queries.length-1,e)}(r,n),2==(2&t)&&(r.staticContentQueries=!0)}P3(r,Vt(),t)}(r,aMe,5),2&t){let s;ii(s=ri())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&ss(eMe,5),2&t){let r;ii(r=ri())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&vi("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Hn([{provide:WP,useValue:void 0}]),An,Ui],ngContentSelectors:iMe,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(is(nMe),si(0),Pt(1,"div",0,1),Un("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),Pt(3,"div",2),si(4,1),Di(5,tMe,0,0,"ng-template",3),Ft(),si(6,2),Ft()),2&t&&(Zt(1),rn("@bodyExpansion",i._getExpandedState())("id",i.id),Bi("aria-labelledby",i._headerId),Zt(4),rn("cdkPortalOutlet",i._portal))},directives:[tp],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[G7.bodyExpansion]},changeDetection:0}),n})();class uMe{}const dMe=xP(uMe);let q7=(()=>{class n extends dMe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=C.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Qi(u=>!(!u.hideToggle&&!u.togglePosition))):Yc;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=kn(t.opened,t.closed,c,t._inputChanges.pipe(Qi(u=>!!(u.hideToggle||u.disabled||u.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Qi(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Dl(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(Oe(W7,1),Oe(En),Oe(du),Oe(Dr),Oe($7,8),Oe(Nl,8),Fo("tabindex"))},n.\u0275cmp=ln({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&Un("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(Bi("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),jy("height",i._getHeaderHeight()),vi("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[An],ngContentSelectors:oMe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(is(sMe),Pt(0,"span",0),si(1),si(2,1),si(3,2),Ft(),Di(4,rMe,1,1,"span",1)),2&t&&(Zt(4),rn("ngIf",i._showToggle()))},directives:[lc],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[G7.indicatorRotate]},changeDetection:0}),n})();var Y7=Je(478);Object.create(Error.prototype);const mMe=["*"];var B1=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(B1||(B1={})),B1))();class yMe{}const X7=new Ht("SECURITY_CONTEXT");let qP=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new Y7.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=Y7.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(ye(i=>this.handleExtension(t,i)))}highlight(t){if(Tf(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Tf(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Tf(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Tf(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(ke(Wc),ke(X7),ke(ip,8),ke(yMe,8),ke(Mf))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),Q7=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new sn,this.load=new sn,this.ready=new sn,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,B1.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;sF(i)?t(...i):t(i))):new P(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Q(e))return()=>e(r,s)})}function YP(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new CMe(n,t))}}class CMe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new AMe(e,this.observables,this.project))}}class AMe extends l7{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class TMe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new MMe(e,this.accumulator,this.seed,this.hasSeed))}}class MMe extends v{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class OMe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new RMe(e,this.predicate))}}class RMe extends v{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const NMe=["youtubeContainer"];let t9=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new se,this._destroyed=new se,this._playerChanges=new Br(void 0),this._videoId=new Br(void 0),this._height=new Br(390),this._width=new Br(640),this._startSeconds=new Br(void 0),this._endSeconds=new Br(void 0),this._suggestedQuality=new Br(void 0),this._playerVars=new Br(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Tf(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=fn(!0);if(!window.YT||!window.YT.Player){const r=new se;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(Wi(1),ao(!1))}const i=function(n,e,t,i,r,s,o){const a=Yo([e,s]).pipe(YP(Yo([i,r])),ye(([l,c])=>{const[u,h]=l,[p,g]=c;return u?{videoId:u,playerVars:h,width:p,height:g}:void 0}));return Yo([n,a,fn(o)]).pipe(function(n){return H(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&F(n[0])&&(n=n[0].slice()),t=>t.lift.call(qe([t,...n]),new d7(e))}(n),function(n){return e=>e.lift(new OMe(n))}(([e,t])=>!t),ye(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new TMe(n,e,t))}}(jMe,void 0),rd())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(Yr(r=>{this._playerChanges.next(r)}),z(e=>e?n9(e)?fn(e):new P(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{n9(r)||r.destroy()})(e)}}).pipe(Wi(1),ao(void 0)):fn(void 0)),_r(this._destroyed),el(new se));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){Yo([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){Yo([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=Yo([t,i]).pipe(ye(([u,h])=>({startSeconds:u,endSeconds:h}))),a=o.pipe(XP(n,u=>!!u&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(u))),l=e.pipe(XP(n,(u,h)=>!!u&&u.videoId!==h));kn(n.pipe(XP(Yo([e,o]),([u,h],p)=>!(!p||u==p.videoId&&!h.startSeconds&&!h.endSeconds))),l,a).pipe(YP(Yo([n,e,o,r])),ye(([u,h])=>h),_r(s)).subscribe(([u,h,p,g])=>{!h||!u||(u.videoId=h,u.cueVideoById(Object.assign({videoId:h,suggestedQuality:g},p)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(Ir(i=>i?Z7(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):fn()),i=>new P(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),_r(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(Wc))},n.\u0275cmp=ln({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&ss(NMe,5),2&t){let r;ii(r=ri())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&bi(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function jMe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function n9(n){return"getPlayerStatus"in n}function XP(n,e){return H(YP(n),Qi(([t,i])=>e(i,t)),ye(([t])=>t))}let KMe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Rt({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function kb(n){return!0===n}function Xa(n){return null==n}function Qa(n){return!Xa(n)}function QP(n){return Boolean(n)}function o9(n){return Xa(n)?n:JSON.parse(JSON.stringify(n))}const V1=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&V1(n[o])}),n};function a9(n){return Qa(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const u9="NGXS_DATA_META",JP="NGXS_META",d9="NGXS_ARGUMENT_REGISTRY_META";let h9=(()=>{class n{constructor(t){this.sequence$=new Br(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(ke(cu,8))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();function Lb(n){return n[u9]}let Za=(()=>{class n{constructor(t,i,r){n.store=t.get(cu),n.ngZone=t.get(gn),n.factory=i,n.context=r,n.computed=t.get(h9)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(ke(Wn),ke(a6),ke(o6))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();class ps{constructor(){ps.statesCachedMeta.clear()}static createStateContext(e){return Za.context.createStateContext(e)}static ensureMappedState(e){if(Xa(Za.factory)||Xa(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(Qa(e.name)?ps.statesCachedMeta.get(e.name):null)||ps.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=Lb(ps.getStateClassByInstance(e)))&&void 0!==t?t:null;if(Xa(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=ps.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=ps.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=Qa(e.name)?null===(t=Za.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return Qa(i)&&Qa(e.name)&&ps.statesCachedMeta.set(e.name,i),i}}ps.statesCachedMeta=new Map,ps.\u0275fac=function(e){return new(e||ps)},ps.\u0275prov=et({token:ps,factory:ps.\u0275fac}),new kg(1);class mDe extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${Qa(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function f9(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function p9(n){var e;const t=f9(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=o9(void 0===t.defaults?{}:t.defaults);if(i.length){if(a9(s))return function(n,e){return e.reduce((t,i)=>{const r=f9(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=p9(i),t},null!=n?n:{})}(s,i);throw new mDe(s)}return s}function m9(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function _9(){var n,e;return null!==(e=null===(n=null==Za?void 0:Za.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function vDe(n){let e=!1;return Tm(n)&&(e=!0),e}function e2(n){return n[d9]}class wDe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class EDe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(QP(this.argumentMap.has(e))||QP(this.payloadMap.has(e)))throw new wDe(e,t)}}function MDe(n){return{enumerable:!0,configurable:!0,get(){const e=Lb(n),t=ps.ensureMappedState(e.stateMeta);return ps.createStateContext(t)}}}function y9(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(a9(i))for(;null!==i;){if(kb(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return Xa(m9(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),m9(n)}(this),o=null==s?void 0:s.get(i);if(kb(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(Xa(o)||o.sequenceId!==_9()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:_9(),isObservable:vDe(l)}),l}return o.value},t}}const PDe={cancelUncompleted:!0,insideZone:!1};function t2(n=PDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=ps.getRepositoryByInstance(a),u=c.operations;let h=u[s];const p=c.stateMeta,g=e2(r);if(Xa(h)){const $=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),pe=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var $;return kb(n.insideZone)?null===($=Za.ngZone)||void 0===$||$.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),Tm(l)?fn(null).pipe(ye(()=>l)):l};const O=ps.createAction(h,o,g),W=Za.store.dispatch(O);return Tm(l)?function(n,e){return ub([n,e]).pipe(ye(t=>t.pop()))}(W,l):l},i}}function b9(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return Xa(e2(t))&&Object.defineProperties(t,{[d9]:{enumerable:!0,configurable:!0,value:new EDe}}),e2(t)})(e,t).createPayloadType(r,t,i)}}function kDe(){return n=>{const e=function(n){if(function(n){return!QP(n)}(n.hasOwnProperty(JP))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,JP,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[JP]}(n)}(n);if(Xa(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=Lb(n))&&void 0!==e?e:null;return(Xa(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,u9,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),Lb(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>o9(t)},context:MDe(n)})}(n,e,p9(n)),function(n){var e,t;const i=Lb(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(Qa(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(Qa(this[s]))return this[s];if(Xa(Za.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=Za.store.select(n).pipe(ye(o=>Ba()?V1(o):o),$a({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}let BDe=(()=>{class n{constructor(){this.browserStorageEvents$=new se,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),jDe=(()=>{class n extends BDe{get snapshot(){return function(n){return Ba()?V1(n):n}(this.getState())}get ctx(){return function(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>Ba()?V1(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275prov=et({token:n,factory:n.\u0275fac}),rr([y9(),dc("design:type",Object),dc("design:paramtypes",[])],n.prototype,"snapshot",null),rr([t2(),Aj(0,b9("patchValue")),dc("design:type",Function),dc("design:paramtypes",[Object]),dc("design:returntype",void 0)],n.prototype,"patchState",null),rr([t2(),Aj(0,b9("stateValue")),dc("design:type",Function),dc("design:paramtypes",[Object]),dc("design:returntype",void 0)],n.prototype,"setState",null),rr([t2(),dc("design:type",Function),dc("design:paramtypes",[]),dc("design:returntype",void 0)],n.prototype,"reset",null),n})();const jm=new Ht("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),C2=new Ht("ngx-window",{providedIn:"root",factory:()=>function(n){return Tf(n)?window:null}(Fc(Wc))}),ZOe=new Ht("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Fc(C2))}),A2=new Ht("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Fc(C2),Fc(ZOe))});let T2=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||Ba())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(ke(jm),ke(pn),ke(A2))},n.\u0275prov=et({factory:function(){return new n(ke(jm),ke(pn),ke(A2))},token:n,providedIn:"root"}),n})();new Ht("ngx-google-analytics-routing-settings",{factory:()=>({})}),new Ht("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"});class MW extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function bRe(){throw new MW}function vRe(){throw new MW}function I2(n,e,t){e.run(()=>n.dispatch(t))}function SRe(n,e,t,i){return yg(t)?function(n,e,t){return t.then(i=>(I2(n,e,i),i))}(n,e,t):Tm(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(_r(i.cancelUncompleted$))),t.subscribe({next:r=>I2(n,e,r)}),t}(n,e,t,i):(I2(n,e,t),t)}class xRe{constructor(){this.cancelUncompleted$=new se}cancelPreviousAction(){this.cancelUncompleted$.next()}}const O2="\u0275fac",DW=Symbol("InjectorInstance"),IW=Symbol("FactoryHasBeenDecorated");function OW(n,e){const t=n[DW];return t?t.get(e):null}const TRe={cancelUncompleted:!1};function RW(n=TRe){return(e,t,i)=>{let r;const s=function(n){return n?new xRe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=OW(this,cu)||bRe(),l=OW(this,gn)||vRe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>SRe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(IW in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[O2]&&function(n){const e=n[O2];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[DW]=Oe(Pu),r};t&&(t.factory=i),Object.defineProperty(n,O2,{get:()=>i})}(e),n.constructor.prototype[IW]=!0}(e)}}const tNe=["bodyCanvas"];let nNe=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new sn,this.nodeDrag=new sn,this.nodeClick=new sn,this.nodeHoverStart=new sn,this.nodeHoverStop=new sn,this.initialized=new sn,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return Fi(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new Qve({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&ss(tNe,5,En),2&t){let r;ii(r=ri())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&vl(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&bi(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),iNe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({imports:[[qr]]}),n})();function ENe(n,e){if(1&n&&(Pt(0,"div",16),bi(1,"youtube-player",17),Ft()),2&n){const t=ci(3);Zt(1),pE("videoId",t.videoID)}}function SNe(n,e){if(1&n&&(Pt(0,"mat-expansion-panel",11),Pt(1,"mat-expansion-panel-header"),Pt(2,"h2",12),Oi(3),Ft(),Ft(),Pt(4,"div",13),bi(5,"markdown",14),Di(6,ENe,2,1,"div",15),Ft(),Ft()),2&n){const t=ci(),i=t.index,r=t.$implicit;rn("expanded",0===i),Zt(3),da(r.title),Zt(2),vi("first",0===i),rn("data",r.content),Zt(1),rn("ngIf",0===i)}}function xNe(n,e){if(1&n&&(Pt(0,"div",9),Di(1,SNe,7,6,"mat-expansion-panel",10),Ft()),2&n){const t=e.$implicit;Zt(1),rn("ngIf",t)}}new Ht("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10}),[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name)).filter(n=>!0!==n.disabled);let GW=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(Oe(k1),Oe(B7))},n.\u0275cmp=ln({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(Pt(0,"div",0),Pt(1,"div",1),Pt(2,"div",2),Pt(3,"div",3),Pt(4,"h2",4),Oi(5),Ft(),Pt(6,"div",5),Pt(7,"mat-icon",6),Un("click",function(){return i.close()}),Oi(8,"clear"),Ft(),Ft(),Ft(),Pt(9,"mat-dialog-content",7),Di(10,xNe,2,1,"div",8),Ft(),Ft(),Ft(),Ft()),2&t&&(Zt(5),da(i.infoTitle),Zt(5),rn("ngForOf",i.documentationContents))},directives:[V7,Nm,U7,Af,lc,W7,q7,Q7,t9],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),$W=(()=>{class n{constructor(t){this.http=t,this.panelContent=new Br({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(ke(ip))},n.\u0275prov=et({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),ANe=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new sn,this.closeClicked=new sn}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&vl(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(Pt(0,"div",0),Pt(1,"div",1),Pt(2,"div",2),Pt(3,"div",3),Pt(4,"p",4),Oi(5),Ft(),Pt(6,"mat-icon",5),Un("click",function(){return i.close()}),Oi(7,"clear"),Ft(),Ft(),bi(8,"img",6),Pt(9,"mat-dialog-content",7),Pt(10,"div",8),Oi(11),Ft(),Pt(12,"a",9),Un("click",function(){return i.onDialogButtonClick()}),Ft(),Ft(),Ft(),Ft(),Ft()),2&t&&(Zt(5),da(i.infoTitle),Zt(3),rn("src",i.imageUrl,nf),Zt(3),ha(" ",i.message,""),Zt(1),rn("text",i.callToAction))},directives:[V7,Nm,KMe,U7],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),Yb=(()=>{let n=class extends jDe{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(Qi(n=>null!=n),$a(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(a7(...t),rd(),$a(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(a7(...t),rd(),$a(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275prov=et({token:n,factory:n.\u0275fac}),rr([y9()],n.prototype,"config$",null),n=rr([kDe(),M6({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}(),new se;let F2=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),k2=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),L2=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var B2;class wa{get length(){var e,t;return null!==(t=null===(e=wa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=wa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=wa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=wa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=wa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=wa.storage)||void 0===e||e.clear()}}wa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),wa.\u0275fac=function(e){return new(e||wa)},wa.\u0275prov=et({token:wa,factory:wa.\u0275fac,providedIn:"root"});const YW="callToActionPopupShown";let Do=B2=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(YW,`${i}`),s=B2.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new k2)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(ye(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open(GW,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(Yr(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(NNe,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(YW,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};Do.\u0275fac=function(e){return new(e||Do)(ke(Pb),ke(T2),ke(wa),ke($W),ke(ip))},Do.\u0275prov=et({token:Do,factory:Do.\u0275fac}),rr([_N(F2)],Do.prototype,"learnMore",null),rr([_N(k2)],Do.prototype,"open",null),rr([_N(L2)],Do.prototype,"close",null),Do=B2=rr([M6({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Do);let oC=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return rr([_m([Do])],n,"title",null),rr([_m([Do])],n,"message",null),rr([_m([Do])],n,"callToAction",null),rr([_m([Do])],n,"imageUrl",null),rr([_m([Do])],n,"expirationDate",null),rr([_m([Do])],n,"popupShown",null),n})(),NNe=(()=>{class n{constructor(){this.close=()=>new L2,this.learnMore=()=>new F2}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(Pt(0,"ccf-call-to-action",0),Un("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),xl(1,"async"),xl(2,"async"),xl(3,"async"),xl(4,"async"),Ft()),2&t&&rn("infoTitle",Vu(1,4,i.title$))("message",Vu(2,6,i.message$))("callToAction",Vu(3,8,i.callToAction$))("imageUrl",Vu(4,10,i.imageUrl$))},directives:[ANe],pipes:[h0],styles:[""],changeDetection:0}),rr([kx(oC.title)],n.prototype,"title$",void 0),rr([kx(oC.message)],n.prototype,"message$",void 0),rr([kx(oC.callToAction)],n.prototype,"callToAction$",void 0),rr([kx(oC.imageUrl)],n.prototype,"imageUrl$",void 0),rr([RW()],n.prototype,"close",void 0),rr([RW()],n.prototype,"learnMore",void 0),n})();const KW="http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity",BNe=[173,255,47,229.5];var HNe=Je(104),GNe=Je.n(HNe),xn=Je(440),$Ne=Je(698),WNe=Je(445),qNe=Je.n(WNe),fr=Je(815),Kb=Je(609);const or=xn.Util.prefixes({base:"http://purl.org/ccf/latest/ccf.owl#",ccf:"http://purl.org/ccf/",fma:"http://purl.org/sig/ont/fma/fma",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/"},xn.DataFactory),un=(or("rdf"),or("rdf")("type"),or("rdfs"),or("rdfs")("label"),or("rdfs")("comment"),or("rdfs")("isDefinedBy"),or("rdfs")("seeAlso"),or("ccf")),co_label=(or("ccf")("has_registration_location"),or("rdfs")("label")),co_description=or("rdfs")("comment"),co_link=un("url"),co_providerName=(un("sex"),un("age"),un("bmi"),xn.DataFactory.literal("Male"),xn.DataFactory.literal("Female"),un("consortium_name"),un("tissue_provider_name")),co_donor=(un("tissue_provider_uuid"),un("comes_from")),co_sections=un("subdivided_into_sections"),co_datasets=un("generates_dataset"),co_sampleType=un("sample_type"),co_sectionCount=(xn.DataFactory.literal("Tissue Block"),xn.DataFactory.literal("Tissue Section"),xn.DataFactory.literal("Non-standard"),un("section_count")),co_sectionSize=un("section_size"),co_sectionUnits=un("section_size_unit"),co_sectionNumber=un("section_number"),co_spatialEntity=un("has_registration_location"),co_technology=(un("has_ontology_term"),un("has_cell_type_term"),un("technology")),co_thumbnail=un("thumbnail"),md={x:un,base:or("base"),ontologyNode:{label:un("ccf_pref_label"),parent:un("ccf_part_of"),children:un("ccf_part_of"),rui_rank:un("rui_rank"),synonymLabels:xn.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:un("ccf_part_of"),ct_is_a:un("ccf_ct_isa"),located_in:un("ccf_located_in"),characterizes:un("ccf_characterizes")},spatial:{Female:or("base")("VHFemale"),Male:or("base")("VHMale"),BothSexes:or("base")("VHBothSexes"),FemaleOrgans:or("base")("VHFemaleOrgans"),MaleOrgans:or("base")("VHMaleOrgans")},SpatialObjectReference:un("spatial_object_reference"),SpatialEntity:un("spatial_entity"),SpatialPlacement:un("spatial_placement"),spatialObjectReference:{file:un("file_url"),file_format:un("file_format"),file_subpath:un("file_subpath")},extractionSet:{label:or("rdfs")("label"),rui_rank:un("rui_rank")},spatialEntity:{label:or("rdfs")("label"),description:or("rdfs")("comment"),creator:or("dcterms")("creator"),creator_first_name:un("creator_first_name"),creator_last_name:un("creator_last_name"),creator_orcid:un("creator_orcid"),creation_date:or("dcterms")("created"),updated_date:un("updated_date"),ccf_annotations:un("collides_with"),representation_of:un("representation_of"),reference_organ:un("has_reference_organ"),extraction_set_for:un("extraction_set_for"),extraction_set:un("has_extraction_set"),sex:un("organ_owner_sex"),side:un("organ_side"),rui_rank:un("rui_rank"),slice_thickness:un("slice_thickness"),slice_count:un("slice_count"),x_dimension:un("x_dimension"),y_dimension:un("y_dimension"),z_dimension:un("z_dimension"),dimension_units:un("dimension_unit"),object:un("has_object_reference")},spatialPlacement:{source:un("placement_for"),target:un("placement_relative_to"),placement_date:or("dcterms")("created"),x_scaling:un("x_scaling"),y_scaling:un("y_scaling"),z_scaling:un("z_scaling"),scaling_units:un("scaling_unit"),x_rotation:un("x_rotation"),y_rotation:un("y_rotation"),z_rotation:un("z_rotation"),w_rotation:un("theta_rotation"),rotation_order:un("rotation_order"),rotation_units:un("rotation_unit"),x_translation:un("x_translation"),y_translation:un("y_translation"),z_translation:un("z_translation"),translation_units:un("translation_unit")}},ui={x:or("uberon"),body:or("uberon")("0013702")},XNe={x:or("cl"),cell:or("cl")("0000000")},Xb={x:or("fma")},XW=(or("lmha"),{body:ui.body,cell:XNe.cell,respiratory_system:ui.x("0001004"),colon:ui.x("0001155"),left_lung:ui.x("0002168"),right_lung:ui.x("0002167"),left_bronchus:ui.x("0002178"),right_bronchus:ui.x("0002177"),kidney:ui.x("0002113"),ureter:ui.x("0000056"),eye:ui.x("0000970"),fallopian_tube:ui.x("0003889"),knee:ui.x("0001465"),ovary:ui.x("0000992"),trachea:ui.x("0003126"),aorta:ui.x("0000947"),blood:ui.x("0000178"),bone_marrow:ui.x("0002371"),male_reproductive_system:ui.x("0000079"),lymph_node:ui.x("0000029"),blood_vasculature:ui.x("0004537"),brain:ui.x("0000955"),eye_left:ui.x("0004548"),eye_right:Xb.x("54449"),fallopian_tube_left:ui.x("0001303"),fallopian_tube_right:ui.x("0001302"),heart:ui.x("0000948"),kidney_left:ui.x("0004538"),kidney_right:ui.x("0004539"),knee_left:Xb.x("24978"),knee_right:Xb.x("24977"),large_intestine:ui.x("0000059"),liver:ui.x("0002107"),lungs:ui.x("0002048"),mesenteric_lymph_node:ui.x("0002509"),ovary_left:Xb.x("7214"),ovary_right:Xb.x("7213"),pancreas:ui.x("0001264"),pelvis:ui.x("0001270"),prostate_gland:ui.x("0002367"),skin:ui.x("0002097"),small_intestine:ui.x("0002108"),spleen:ui.x("0002106"),thymus:ui.x("0002370"),ureter_left:ui.x("0001223"),ureter_right:ui.x("0001222"),urinary_bladder:ui.x("0001255"),uterus:ui.x("0000995")});function j2(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}j2(md.spatialObjectReference),j2(md.spatialEntity),j2(md.spatialPlacement),new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]);const zm=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Pr=(Math,Math,{});function dPe(n,{precision:e=Pr.precision||4}={}){return n=function(n){return Math.round(n/Pr.EPSILON)*Pr.EPSILON}(n),"".concat(parseFloat(n.toPrecision(e)))}function Ah(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Zb(n,e,t){const i=Pr.EPSILON;t&&(Pr.EPSILON=t);try{if(n===e)return!0;if(Ah(n)&&Ah(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+dPe(this[i],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e=a+s)return this.clone();if(s>=a+i)return e.clone();const l=.5*(i+a+s);return oq.copy(o).scale((-i+l)/a).add(t),this.center.copy(oq),this.radius=l,this}expand(e){const t=(e=Jb.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}transform(e){this.center.transform(e);const t=function(n,e){var s=e[4],o=e[5],a=e[6],l=e[8],c=e[9],u=e[10];return n[0]=Math.hypot(e[0],e[1],e[2]),n[1]=Math.hypot(s,o,a),n[2]=Math.hypot(l,c,u),n}(Jb,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const t=(e=Jb.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}intersectPlane(e){const i=this.radius,s=e.normal.dot(this.center)+e.distance;return s<-i?zm.OUTSIDE:s0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return uz(this,this,e),this.check()}rotateY(e){return dz(this,this,e),this.check()}rotateZ(e){return hz(this,this,e),this.check()}scale(e){return fR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=TPe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return J0(this,e,t,i),this.check()}transformVector4(e,t=e){return kU(t,e,this),tq(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const MPe=new Pn,DPe=new Pn,cC=new Pn,uC=new Pn,dC=new Pn,IPe=new Pn,OPe=new Pn;class $2{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=(new Pn).from(e),this.halfAxes=new Xo(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2);return[new Pn(e).len(),new Pn(t).len(),new Pn(i).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2),r=new Pn(e).normalize(),s=new Pn(t).normalize(),o=new Pn(i).normalize();return(new lq).fromMatrix3(new Xo([...r,...s,...o]))}fromCenterHalfSizeQuaternion(e,t,i){const r=new lq(i),s=(new Xo).fromQuaternion(r);return s[0]=s[0]*t[0],s[1]=s[1]*t[0],s[2]=s[2]*t[0],s[3]=s[3]*t[1],s[4]=s[4]*t[1],s[5]=s[5]*t[1],s[6]=s[6]*t[2],s[7]=s[7]*t[2],s[8]=s[8]*t[2],this.center=(new Pn).from(e),this.halfAxes=s,this}clone(){return new $2(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new G2){const t=this.halfAxes,i=t.getColumn(0,cC),r=t.getColumn(1,uC),s=t.getColumn(2,dC),o=MPe.copy(i).add(r).add(s);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){const t=this.center,i=e.normal,r=this.halfAxes,s=i.x,o=i.y,a=i.z,l=Math.abs(s*r[0]+o*r[1]+a*r[2])+Math.abs(s*r[3]+o*r[4]+a*r[5])+Math.abs(s*r[6]+o*r[7]+a*r[8]),c=i.dot(t)+e.distance;return c<=-l?zm.OUTSIDE:c>=l?zm.INSIDE:zm.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=DPe.from(e).subtract(this.center),i=this.halfAxes,r=i.getColumn(0,cC),s=i.getColumn(1,uC),o=i.getColumn(2,dC),a=r.magnitude(),l=s.magnitude(),c=o.magnitude();r.normalize(),s.normalize(),o.normalize();let h,u=0;return h=Math.abs(t.dot(r))-a,h>0&&(u+=h*h),h=Math.abs(t.dot(s))-l,h>0&&(u+=h*h),h=Math.abs(t.dot(o))-c,h>0&&(u+=h*h),u}computePlaneDistances(e,t,i=[-0,-0]){let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const o=this.center,a=this.halfAxes,l=a.getColumn(0,cC),c=a.getColumn(1,uC),u=a.getColumn(2,dC),h=IPe.copy(l).add(c).add(u).add(o),p=OPe.copy(h).subtract(e);let g=t.dot(p);return r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).add(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),i[0]=r,i[1]=s,i}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,cC);t.transformAsPoint(e);const i=this.halfAxes.getColumn(1,uC);i.transformAsPoint(e);const r=this.halfAxes.getColumn(2,dC);return r.transformAsPoint(e),this.halfAxes=new Xo([...t,...i,...r]),this}getTransform(){throw new Error("not implemented")}}const cq=new Pn,uq=new Pn;class W2{constructor(e=[0,0,1],t=0){this.normal=new Pn,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return Ec(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=cq.from(e),this.normal.from(t).normalize();const i=-this.normal.dot(e);return this.distance=i,this}fromCoefficients(e,t,i,r){return this.normal.set(e,t,i),Ec(Zb(this.normal.len(),1)),this.distance=r,this}clone(e){return new W2(this.normal,this.distance)}equals(e){return Zb(this.distance,e.distance)&&Zb(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=uq.copy(this.normal).transformAsVector(e).normalize(),i=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(i,t)}projectPointOntoPlane(e,t=[0,0,0]){e=cq.from(e);const i=this.getPointDistance(e),r=uq.copy(this.normal).scale(i);return e.subtract(r).to(t)}}function w2e(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[md.ontologyNode.label.id]:"label",[t]:"parent",[md.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of function*(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,xn.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,Kb.fromRdf)(s.object):s.object.id;yield[r,o]}}(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function mq(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,xn.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=w2e(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,_q(r),r}function _q(n,e,t=new Set){const i=n.nodes[null!=e?e:n.root];if(i){i.children=i.children.filter(r=>!t.has(r)),i.children.forEach(r=>t.add(r));for(const r of i.children)_q(n,r,t),n.nodes[r]&&(n.nodes[r].parent=i["@id"])}}new Pn([1,0,0]),new Pn([0,1,0]),new Pn([0,0,1]),new Pn,new Pn,new W2(new Pn(1,0,0),0),new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,Math,new Xo,new Xo,new Xo,new Xo,new Xo,new Pn,new Pn,new Pn,new Pn,new Pn,new Xo,new Xo,new Xo,(0,fr.memoize)(function(n){const e=mq(n,XW.body.id,"body",md.asctb.part_of.id);return e.nodes[XW.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>"");const pC={[co_label.id]:"label",[co_description.id]:"description",[co_link.id]:"link"};Object.assign(Object.assign({},pC),{[co_providerName.id]:"providerName"}),Object.assign(Object.assign({},pC),{[co_technology.id]:"technology",[co_thumbnail.id]:"thumbnail"}),Object.assign(Object.assign({},pC),{[co_sampleType.id]:"sampleType",[co_sectionNumber.id]:"sectionNumber",[co_datasets.id]:"datasets"}),Object.assign(Object.assign({},pC),{[co_sampleType.id]:"sampleType",[co_sectionCount.id]:"sectionCount",[co_sectionSize.id]:"sectionSize",[co_sectionUnits.id]:"sectionUnits",[co_donor.id]:"donor",[co_spatialEntity.id]:"spatialEntityId",[co_sections.id]:"sections",[co_datasets.id]:"datasets"});const bq={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};function mu(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}let J2;function Sc(){return J2||(J2=function(n,e){const t=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let e;return new Promise(t=>{const i=()=>indexedDB.databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}().then(()=>{const i=indexedDB.open("keyval-store");return i.onupgradeneeded=()=>i.result.createObjectStore(e),mu(i)});return(i,r)=>t.then(s=>r(s.transaction(e,i).objectStore(e)))}(0,"keyval")),J2}function vq(n,e=Sc()){return e("readonly",t=>mu(t.get(n)))}const gC="Unknown Euler angle order",$m=.99999;class Ji extends bS{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return Ji.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(e){return Ji.RotationOrders[e]}get ELEMENTS(){return 4}constructor(e=0,t=0,i=0,r=Ji.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(e,t,i,r)}fromQuaternion(e){const[t,i,r,s]=e,o=i*i,a=-2*(o+r*r)+1,l=2*(t*i+s*r);let c=-2*(t*r-s*i);c=c>1?1:c,c=c<-1?-1:c;const p=Math.atan2(2*(i*r+s*t),-2*(t*t+o)+1),g=Math.asin(c),m=Math.atan2(l,a);return new Ji(p,g,m,Ji.RollPitchYaw)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}set(e=0,t=0,i=0,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=Number.isFinite(r)?r:this[3],this.check()}validate(){return function(n){return n>=0&&n<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}toArray4(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}toVector3(e=[-0,-0,-0]){return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}get x(){return this[0]}set x(e){this[0]=sr(e)}get y(){return this[1]}set y(e){this[1]=sr(e)}get z(){return this[2]}set z(e){this[2]=sr(e)}get alpha(){return this[0]}set alpha(e){this[0]=sr(e)}get beta(){return this[1]}set beta(e){this[1]=sr(e)}get gamma(){return this[2]}set gamma(e){this[2]=sr(e)}get phi(){return this[0]}set phi(e){this[0]=sr(e)}get theta(){return this[1]}set theta(e){this[1]=sr(e)}get psi(){return this[2]}set psi(e){this[2]=sr(e)}get roll(){return this[0]}set roll(e){this[0]=sr(e)}get pitch(){return this[1]}set pitch(e){this[1]=sr(e)}get yaw(){return this[2]}set yaw(e){this[2]=sr(e)}get order(){return this[3]}set order(e){this[3]=function(n){if(n<0&&n>=6)throw new Error(gC);return n}(e)}fromVector3(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}fromArray(e,t=0){return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}fromRollPitchYaw(e,t,i){return this.set(e,t,i,Ji.ZYX)}fromRotationMatrix(e,t=Ji.DefaultOrder){return this._fromRotationMatrix(e,t),this.check()}getRotationMatrix(e){return this._getRotationMatrix(e)}getQuaternion(){const e=new gR;switch(this[4]){case Ji.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case Ji.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case Ji.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case Ji.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case Ji.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case Ji.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(gC)}}_fromRotationMatrix(e,t=Ji.DefaultOrder){const i=e.elements,r=i[0],s=i[4],o=i[8],a=i[1],l=i[5],c=i[9],u=i[2],h=i[6],p=i[10];switch(t=t||this[3]){case Ji.XYZ:this[1]=Math.asin(Va(o,-1,1)),Math.abs(o)<$m?(this[0]=Math.atan2(-c,p),this[2]=Math.atan2(-s,r)):(this[0]=Math.atan2(h,l),this[2]=0);break;case Ji.YXZ:this[0]=Math.asin(-Va(c,-1,1)),Math.abs(c)<$m?(this[1]=Math.atan2(o,p),this[2]=Math.atan2(a,l)):(this[1]=Math.atan2(-u,r),this[2]=0);break;case Ji.ZXY:this[0]=Math.asin(Va(h,-1,1)),Math.abs(h)<$m?(this[1]=Math.atan2(-u,p),this[2]=Math.atan2(-s,l)):(this[1]=0,this[2]=Math.atan2(a,r));break;case Ji.ZYX:this[1]=Math.asin(-Va(u,-1,1)),Math.abs(u)<$m?(this[0]=Math.atan2(h,p),this[2]=Math.atan2(a,r)):(this[0]=0,this[2]=Math.atan2(-s,l));break;case Ji.YZX:this[2]=Math.asin(Va(a,-1,1)),Math.abs(a)<$m?(this[0]=Math.atan2(-c,l),this[1]=Math.atan2(-u,r)):(this[0]=0,this[1]=Math.atan2(o,p));break;case Ji.XZY:this[2]=Math.asin(-Va(s,-1,1)),Math.abs(s)<$m?(this[0]=Math.atan2(h,l),this[1]=Math.atan2(o,r)):(this[0]=Math.atan2(-c,p),this[1]=0);break;default:throw new Error(gC)}return this[3]=t,this}_getRotationMatrix(e){const t=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],i=this.x,r=this.y,s=this.z,o=Math.cos(i),a=Math.cos(r),l=Math.cos(s),c=Math.sin(i),u=Math.sin(r),h=Math.sin(s);switch(this[3]){case Ji.XYZ:{const p=o*l,g=o*h,m=c*l,D=c*h;t[0]=a*l,t[4]=-a*h,t[8]=u,t[1]=g+m*u,t[5]=p-D*u,t[9]=-c*a,t[2]=D-p*u,t[6]=m+g*u,t[10]=o*a;break}case Ji.YXZ:{const p=a*l,g=a*h,m=u*l,D=u*h;t[0]=p+D*c,t[4]=m*c-g,t[8]=o*u,t[1]=o*h,t[5]=o*l,t[9]=-c,t[2]=g*c-m,t[6]=D+p*c,t[10]=o*a;break}case Ji.ZXY:{const p=a*l,g=a*h,m=u*l,D=u*h;t[0]=p-D*c,t[4]=-o*h,t[8]=m+g*c,t[1]=g+m*c,t[5]=o*l,t[9]=D-p*c,t[2]=-o*u,t[6]=c,t[10]=o*a;break}case Ji.ZYX:{const p=o*l,g=o*h,m=c*l,D=c*h;t[0]=a*l,t[4]=m*u-g,t[8]=p*u+D,t[1]=a*h,t[5]=D*u+p,t[9]=g*u-m,t[2]=-u,t[6]=c*a,t[10]=o*a;break}case Ji.YZX:{const p=o*a,g=o*u,m=c*a,D=c*u;t[0]=a*l,t[4]=D-p*h,t[8]=m*h+g,t[1]=h,t[5]=o*l,t[9]=-c*l,t[2]=-u*l,t[6]=g*h+m,t[10]=p-D*h;break}case Ji.XZY:{const p=o*a,g=o*u,m=c*a,D=c*u;t[0]=a*l,t[4]=-h,t[8]=u*l,t[1]=p*h+D,t[5]=o*l,t[9]=g*h-m,t[2]=m*h-g,t[6]=c*l,t[10]=D*h+p;break}default:throw new Error(gC)}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}toQuaternion(){const e=Math.cos(.5*this.yaw),t=Math.sin(.5*this.yaw),i=Math.cos(.5*this.roll),r=Math.sin(.5*this.roll),s=Math.cos(.5*this.pitch),o=Math.sin(.5*this.pitch);return new gR(e*r*s-t*i*o,e*i*o+t*r*s,t*i*s-e*r*o,e*i*s+t*r*o)}}var mC,L2e=new Uint8Array(16);function B2e(){if(!mC&&!(mC="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return mC(L2e)}const j2e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,U2e=function(n){return"string"==typeof n&&j2e.test(n)};for(var ho=[],tF=0;tF<256;++tF)ho.push((tF+256).toString(16).substr(1));const $2e=function(n,e,t){var i=(n=n||{}).random||(n.rng||B2e)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e){t=t||0;for(var r=0;r<16;++r)e[t+r]=i[r];return e}return function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(ho[n[e+0]]+ho[n[e+1]]+ho[n[e+2]]+ho[n[e+3]]+"-"+ho[n[e+4]]+ho[n[e+5]]+"-"+ho[n[e+6]]+ho[n[e+7]]+"-"+ho[n[e+8]]+ho[n[e+9]]+"-"+ho[n[e+10]]+ho[n[e+11]]+ho[n[e+12]]+ho[n[e+13]]+ho[n[e+14]]+ho[n[e+15]]).toLowerCase();if(!U2e(t))throw TypeError("Stringified UUID is invalid");return t}(i)};function*nF(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,xn.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,Kb.fromRdf)(s.object):s.object.id;yield[r,o]}}function dp(n,e,t,i){const r={"@id":e,"@type":t};for(const[s,o]of Object.entries(i))for(const a of(0,xn.readQuads)(n,r["@id"],s,null,null)){const l="Literal"===a.object.termType?(0,Kb.fromRdf)(a.object):a.object.id;r[o]=l}return r}const ar=xn.Util.prefixes({base:"http://purl.org/ccf/latest/ccf.owl#",ccf:"http://purl.org/ccf/",fma:"http://purl.org/sig/ont/fma/fma",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/"},xn.DataFactory),wq={x:ar("rdf"),type:ar("rdf")("type")},dn=(ar("rdfs"),ar("rdfs")("label"),ar("rdfs")("comment"),ar("rdfs")("isDefinedBy"),ar("rdfs")("seeAlso"),ar("ccf")),yi={id:ar("ccf")("has_registration_location"),label:ar("rdfs")("label"),description:ar("rdfs")("comment"),link:dn("url"),sex:dn("sex"),age:dn("age"),bmi:dn("bmi"),Male:xn.DataFactory.literal("Male"),Female:xn.DataFactory.literal("Female"),consortiumName:dn("consortium_name"),providerName:dn("tissue_provider_name"),providerUUID:dn("tissue_provider_uuid"),donor:dn("comes_from"),sections:dn("subdivided_into_sections"),datasets:dn("generates_dataset"),sampleType:dn("sample_type"),TissueBlock:xn.DataFactory.literal("Tissue Block"),TissueSection:xn.DataFactory.literal("Tissue Section"),NonStandard:xn.DataFactory.literal("Non-standard"),sectionCount:dn("section_count"),sectionSize:dn("section_size"),sectionUnits:dn("section_size_unit"),sectionNumber:dn("section_number"),spatialEntity:dn("has_registration_location"),ontologyTerms:dn("has_ontology_term"),cellTypeTerms:dn("has_cell_type_term"),technology:dn("technology"),thumbnail:dn("thumbnail")},ki={x:dn,base:ar("base"),ontologyNode:{label:dn("ccf_pref_label"),parent:dn("ccf_part_of"),children:dn("ccf_part_of"),rui_rank:dn("rui_rank"),synonymLabels:xn.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:dn("ccf_part_of"),ct_is_a:dn("ccf_ct_isa"),located_in:dn("ccf_located_in"),characterizes:dn("ccf_characterizes")},spatial:{Female:ar("base")("VHFemale"),Male:ar("base")("VHMale"),BothSexes:ar("base")("VHBothSexes"),FemaleOrgans:ar("base")("VHFemaleOrgans"),MaleOrgans:ar("base")("VHMaleOrgans")},SpatialObjectReference:dn("spatial_object_reference"),SpatialEntity:dn("spatial_entity"),SpatialPlacement:dn("spatial_placement"),spatialObjectReference:{file:dn("file_url"),file_format:dn("file_format"),file_subpath:dn("file_subpath")},extractionSet:{label:ar("rdfs")("label"),rui_rank:dn("rui_rank")},spatialEntity:{label:ar("rdfs")("label"),description:ar("rdfs")("comment"),creator:ar("dcterms")("creator"),creator_first_name:dn("creator_first_name"),creator_last_name:dn("creator_last_name"),creator_orcid:dn("creator_orcid"),creation_date:ar("dcterms")("created"),updated_date:dn("updated_date"),ccf_annotations:dn("collides_with"),representation_of:dn("representation_of"),reference_organ:dn("has_reference_organ"),extraction_set_for:dn("extraction_set_for"),extraction_set:dn("has_extraction_set"),sex:dn("organ_owner_sex"),side:dn("organ_side"),rui_rank:dn("rui_rank"),slice_thickness:dn("slice_thickness"),slice_count:dn("slice_count"),x_dimension:dn("x_dimension"),y_dimension:dn("y_dimension"),z_dimension:dn("z_dimension"),dimension_units:dn("dimension_unit"),object:dn("has_object_reference")},spatialPlacement:{source:dn("placement_for"),target:dn("placement_relative_to"),placement_date:ar("dcterms")("created"),x_scaling:dn("x_scaling"),y_scaling:dn("y_scaling"),z_scaling:dn("z_scaling"),scaling_units:dn("scaling_unit"),x_rotation:dn("x_rotation"),y_rotation:dn("y_rotation"),z_rotation:dn("z_rotation"),w_rotation:dn("theta_rotation"),rotation_order:dn("rotation_order"),rotation_units:dn("rotation_unit"),x_translation:dn("x_translation"),y_translation:dn("y_translation"),z_translation:dn("z_translation"),translation_units:dn("translation_unit")}},di={x:ar("uberon"),body:ar("uberon")("0013702")},q2e={x:ar("cl"),cell:ar("cl")("0000000")},nv={x:ar("fma")},bd=(ar("lmha"),{body:di.body,cell:q2e.cell,respiratory_system:di.x("0001004"),colon:di.x("0001155"),left_lung:di.x("0002168"),right_lung:di.x("0002167"),left_bronchus:di.x("0002178"),right_bronchus:di.x("0002177"),kidney:di.x("0002113"),ureter:di.x("0000056"),eye:di.x("0000970"),fallopian_tube:di.x("0003889"),knee:di.x("0001465"),ovary:di.x("0000992"),trachea:di.x("0003126"),aorta:di.x("0000947"),blood:di.x("0000178"),bone_marrow:di.x("0002371"),male_reproductive_system:di.x("0000079"),lymph_node:di.x("0000029"),blood_vasculature:di.x("0004537"),brain:di.x("0000955"),eye_left:di.x("0004548"),eye_right:nv.x("54449"),fallopian_tube_left:di.x("0001303"),fallopian_tube_right:di.x("0001302"),heart:di.x("0000948"),kidney_left:di.x("0004538"),kidney_right:di.x("0004539"),knee_left:nv.x("24978"),knee_right:nv.x("24977"),large_intestine:di.x("0000059"),liver:di.x("0002107"),lungs:di.x("0002048"),mesenteric_lymph_node:di.x("0002509"),ovary_left:nv.x("7214"),ovary_right:nv.x("7213"),pancreas:di.x("0001264"),pelvis:di.x("0001270"),prostate_gland:di.x("0002367"),skin:di.x("0002097"),small_intestine:di.x("0002108"),spleen:di.x("0002106"),thymus:di.x("0002370"),ureter_left:di.x("0001223"),ureter_right:di.x("0001222"),urinary_bladder:di.x("0001255"),uterus:di.x("0000995")});function iF(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}const _C={spatialObjectReference:iF(ki.spatialObjectReference),spatialEntity:iF(ki.spatialEntity),spatialPlacement:iF(ki.spatialPlacement)};function Eq(n,e){const t=dp(n,e,"ExtractionSet",_C.spatialEntity);return t.extractionSites=(0,fr.sortBy)(n.getSubjects(ki.spatialEntity.extraction_set,e,null).map(i=>hp(n,i.id)),["rui_rank"]),t}function hp(n,e){const t=dp(n,e,"SpatialEntity",_C.spatialEntity);return t.object&&(t.object=function(n,e){return dp(n,e,"SpatialObjectReference",_C.spatialObjectReference)}(n,t.object)),t.ccf_annotations&&(t.ccf_annotations=n.getObjects(e,ki.spatialEntity.ccf_annotations,null).map(i=>i.id)),n.forSubjects(i=>t.entityId=i.id,yi.spatialEntity,e,null),t}function Z2e(n,e){const t=dp(n,e,"SpatialPlacement",_C.spatialPlacement);return t.source&&(t.source=hp(n,t.source)),t.target&&(t.target=hp(n,t.target)),t}function Sq(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(EV),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}class xq{constructor(e){this.db=e,this.createGraph()}createGraph(){this.graph=new $Ne.DirectedGraph;const e=this.db.store;e.forSubjects(i=>{this.addNode(i.id,"SpatialObjectReference")},wq.type,ki.SpatialObjectReference,null),e.forSubjects(i=>{this.addNode(i.id,"SpatialEntity")},wq.type,ki.SpatialEntity,null);const t={};for(const i of(0,xn.readQuads)(e,null,ki.spatialPlacement.source,null,null))t[i.subject.id]=i.object.id;for(const i of(0,xn.readQuads)(e,null,ki.spatialPlacement.target,null,null)){const r=t[i.subject.id];r&&this.addEdge(i.subject.id,r,i.object.id,"SpatialPlacement")}}addNode(e,t){this.graph.mergeNode(e,{type:t})}addEdge(e,t,i,r){this.graph.mergeDirectedEdge(t,i,{type:r,id:e})}getTransformationMatrix(e,t){if(e===t)return new qn(qn.IDENTITY);if(!this.graph.hasNode(e)||!this.graph.hasNode(t))return;const i=this.db.store,r=new qn(qn.IDENTITY),s=qNe()(this.graph,e,t);if(s&&s.length>0){s.reverse();let o="";for(const a of s)o&&Sq(r,Z2e(i,this.graph.getEdgeAttribute(a,o,"id"))),o=a;return r}}getSpatialPlacement(e,t){const i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,fr.get)(e,"placement[0]",(0,fr.get)(e,"placement",void 0));let s;if(r&&this.graph.hasNode(r.target)?(s=this.getTransformationMatrix(r.target,t),s&&(s=Sq(s,r))):i&&(s=this.getTransformationMatrix(i,t)),s){const o=(new Ji).fromRotationMatrix(s,Ji.XYZ),a=s.getTranslation().map(u=>1e3*u),l=o.toVector3().map(vse),c=s.getScale().map(u=>u<1&&u>.999999?1:u);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${$2e()}_placement`,"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:c[0],y_scaling:c[1],z_scaling:c[2],scaling_units:"ratio",x_rotation:l[0],y_rotation:l[1],z_rotation:l[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}class Cq{constructor(e){this.db=e}getSpatialEntity(e){return hp(this.db.store,e)}getExtractionSets(e){return function(n,e){return(0,fr.sortBy)(n.getSubjects(ki.spatialEntity.extraction_set_for,e,null).map(t=>Eq(n,t.id)),["rui_rank"])}(this.db.store,e)}getExtractionSet(e){return Eq(this.db.store,e)}getAnatomicalStructures(e){return function(n,e){return(0,fr.sortBy)(n.getSubjects(ki.spatialEntity.reference_organ,e,null).map(t=>hp(n,t.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,e)}getReferenceOrgans(){return function(n){const e=[];return n.forEach(t=>{t.subject.id===t.object.id&&e.push(hp(n,t.subject.id))},null,ki.spatialEntity.reference_organ,null,null),(0,fr.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(e){let t;switch(null==e?void 0:e.sex){case"Male":t=ki.spatial.Male.id;break;case"Female":t=ki.spatial.Female.id;break;case"Both":default:t=ki.spatial.BothSexes.id}return this.getSpatialEntity(t)}getReferenceOrganSets(e){let t=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":t=t.filter(i=>"Male"===i.sex);break;case"Female":t=t.filter(i=>"Female"===i.sex)}return(null==e?void 0:e.debug)&&(t=t.map(i=>[[i],this.getAnatomicalStructures(i["@id"])]).reduce((i,[r,s])=>i.concat(s.length>0?s:r),[])),t}getReferenceSceneNodes(e){const t=this.getReferenceBody(e),i=[];let r=[...this.getReferenceOrganSets(e).map(s=>{const o="http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of,a=this.getSceneNode(s,t,{color:[255,255,255,255],opacity:o?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!o});return o&&a?void i.push(a):a})];return i.length>0&&(r=[...i,...r]),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(ki.base("VHRightKidney").id),t,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHLeftKidney").id),t,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC1").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC2").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC3").id),t,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(s=>void 0!==s)}getReferenceOrganScene(e,t){var i,r;const s=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(i=null==t?void 0:t.sex)||void 0===i?void 0:i.toLowerCase()),o=this.getReferenceOrgans().filter(a=>a.representation_of===e&&(!s||a.sex===(null==t?void 0:t.sex)));if(o.length>0){const a=o[0],c=this.getSceneNode(a,a,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===a.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),u=(null!==(r=this.db.getSpatialEntities(t))&&void 0!==r?r:[]).map(h=>this.getSceneNode(h,a,{color:[255,255,255,229.5]}));return[c].concat(u).filter(h=>void 0!==h)}return[]}getEntitySceneNodes(e){const t=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(i=>this.getSceneNode(i,t,{color:[255,255,255,229.5]})).filter(i=>void 0!==i)}getSceneNode(e,t,i={}){var r,s,o,a;const l=null===(s=null===(r=null==e?void 0:e.object)||void 0===r?void 0:r.file_format)||void 0===s?void 0:s.startsWith("model/gltf");let u=this.db.graph.getTransformationMatrix(l&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(l)u=new qn(qn.IDENTITY).rotateX(EV(90)).multiplyLeft(u);else{let h;switch(e.dimension_units){case"centimeter":h=.01;break;case"millimeter":h=.001;break;case"meter":default:h=1}const p=[e.x_dimension,e.y_dimension,e.z_dimension].map(g=>g*h/2);u.scale(p)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:l?null===(o=e.object)||void 0===o?void 0:o.file:void 0,scenegraphNode:l?null===(a=e.object)||void 0===a?void 0:a.file_subpath:void 0,transformMatrix:u,tooltip:e.label},i)}}getScene(e){return[...this.getReferenceSceneNodes(e),...this.getEntitySceneNodes(e)]}}const yC="https://entity.api.hubmapconsortium.org/entities/",Aq=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),eFe={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},Wm={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},Tq="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld";class iFe{constructor(e,t="",i="",r){var s,o;if(this.data=e,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const c=this.data.descendants||[],u=(this.data.ancestors||[]).find(We=>"Donor"===We.entity_type);this.donor=this.getDonor(u,i);const h=this.getRuiLocation(e,this.donor);h?this.rui_location=h:this.bad=!0,Wm[e.group_uuid]||(Wm[e.group_uuid]=e.group_name);const p=new Date(e.last_modified_timestamp).toLocaleDateString(),g=Wm[e.group_uuid]||e.group_name,m=e.created_by_user_displayname;this["@id"]=yC+e.uuid,this.label=`Registered ${p}, ${m}, ${g}`,this.link=`${i}browse/sample/${e.uuid}`;const D={},O=[];this.sections=O;const W=[];this.datasets=W;for(const We of c.filter(rt=>"Sample"===rt.entity_type)){const rt=this.getSection(We,e,i);D[We.submission_id]=rt,O.push(rt),rt.section_number=null!==(s=rt.section_number)&&void 0!==s?s:O.length}for(const We of c)if("Dataset"===We.entity_type){const rt=this.getDataset(We,t,i,r),wt=(0,fr.get)(We,["ingest_metadata","metadata","tissue_id"]);D[wt]?null===(o=D[wt].datasets)||void 0===o||o.push(rt):W.push(rt)}const $=null!=h?h:{},pe=`${$.x_dimension} x ${$.y_dimension} x ${$.z_dimension} ${$.dimension_units}`;this.section_count=$.slice_count||O.length;const Re=parseFloat(($.slice_thickness||($.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=Re;const Ve=$.dimension_units||"millimeter";this.section_units=Ve,this.description=`${pe}, ${Re} ${Ve}, ${this.section_count} Sections`,O.forEach((We,rt)=>{We.description=`${$.x_dimension} x ${$.y_dimension} x ${Re} ${Ve}, ${Re} ${Ve}, ${We.description}`,We.section_number=rt+1})}getSection(e,t,i){const r=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":yC+e.uuid,"@type":"Sample",label:`Registered ${r}, ${e.created_by_user_displayname}, ${Wm[e.group_uuid]||e.group_name}`,description:`${t.sample_category}`,link:`${i}browse/sample/${e.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(e,t="",i="",r){var s;const o=new Date(e.last_modified_timestamp).toLocaleDateString(),a=Wm[e.group_uuid]||e.group_name,l=e.created_by_user_displayname,c=[...e.data_types,(0,fr.get)(e,["ingest_metadata","metadata","assay_type"],"")],u=c.join("|").toLowerCase();let h,p="assets/icons/ico-unknown.svg";return-1!==u.indexOf("10x")?(h="10x",p="assets/icons/ico-bulk-10x.svg"):-1!==u.indexOf("af")?(h="AF",p="assets/icons/ico-spatial-af.svg"):-1!==u.indexOf("codex")?(h="CODEX",p="assets/icons/ico-spatial-codex.svg"):-1!==u.indexOf("imc")?(h="IMC",p="assets/icons/ico-spatial-imc.svg"):-1!==u.indexOf("lc")&&-1===u.indexOf("af")?(h="LC",p="assets/icons/ico-bulk-lc.svg"):h=-1!==u.indexOf("maldi")?"MALDI":-1!==u.indexOf("pas")?"PAS":"OTHER",p=null!==(s=this.getDatasetThumbnail(e,t,r))&&void 0!==s?s:p,{"@id":yC+e.uuid,"@type":"Dataset",label:`Registered ${o}, ${l}, ${a}`,description:`Data/Assay Types: ${c.join(", ")}`,link:`${i}browse/dataset/${e.uuid}`,technology:h,thumbnail:p}}getDatasetThumbnail(e,t,i){if(e.thumbnail_file){const r=e.thumbnail_file;return`${t}/${r.file_uuid}/${r.filename}`+(i?`?token=${i}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){const r=(0,fr.get)(e,"metadata.files",[]).filter(s=>/\.(ome\.tif|ome\.tiff)$/.test(s.rel_path)).filter(s=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(s.rel_path)).filter(s=>Aq.has(s.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(s=>`${t}/${e.uuid}/${s.rel_path}`+(i?`?token=${i}`:""));if(r.length>0){const s=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(Aq.has(s))return`assets/thumbnails/TMC-Vanderbilt/DR1/${s}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){const r=eFe[e.hubmap_id];if(r)return`assets/thumbnails/TMC-Florida/${r}`}}getDonor(e,t){const i=(e.description||"").toLowerCase();let r;i.includes("female")?r="Female":i.includes("male")&&(r="Male");const s=i.match(/age ([0-9]+)/);let o,a;s&&(o=(0,fr.toNumber)(s[1]));for(const p of(0,fr.get)(e,"metadata.organ_donor_data",(0,fr.get)(e,"metadata.living_donor_data",[])))"Feminine gender"===p.preferred_term||"Female"===p.preferred_term?r="Female":"Masculine gender"===p.preferred_term||"Male"===p.preferred_term?r="Male":"Current chronological age"===p.preferred_term||"Age"===p.preferred_term?o=(0,fr.toNumber)(p.data_value):"Body mass index"===p.preferred_term&&(a=(0,fr.toNumber)(p.data_value));let l="";r&&o&&(l+=`${r}, Age ${o}`,a&&(l+=`, BMI ${a.toFixed(1)}`));const c=new Date(e.last_modified_timestamp).toLocaleDateString(),u=Wm[e.group_uuid]||e.group_name;return{"@id":yC+e.uuid,"@type":"Donor",label:l,description:`Entered ${c}, ${e.created_by_user_displayname}, ${u}`,link:`${t}browse/donor/${e.uuid}`,age:o,sex:r,bmi:a,consortium_name:"HuBMAP",provider_name:u,provider_uuid:e.group_uuid,samples:[]}}getRuiLocation(e,t){var i;let r,s=e.rui_location;if(s&&("string"==typeof s&&(s=JSON.parse(s)),s.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):s["@id"]&&(r=s),s["@context"]="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"),r){const o=null!==(i=(0,fr.get)(r,["placement","target"]))&&void 0!==i?i:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,fr.set)(r,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,fr.set)(r,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return r}getTissueBlock(){return(0,fr.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const sFe=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.metadata.living_donor_data.preferred_term","ancestors.metadata.living_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","sample_category"],oFe={exists:{field:"rui_location"}};function Mq(n,e,t){return JSON.stringify({version:!0,from:n,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=t?t:oFe,_source:{includes:sFe}})}function rF(n,e){return Fi(this,void 0,void 0,function*(){try{const t=yield fetch(n,e),i=yield t.text();return t.ok||i.startsWith("https")?i.startsWith("https")?yield fetch(i).then(s=>s.json()):JSON.parse(i):void 0}catch(t){return}})}function Dq(n,e,t,i,r="",s=""){return Fi(this,void 0,void 0,function*(){let o;if("static"===e?o=yield rF(n):"search-api"===e&&(o=yield function(n,e,t){return Fi(this,void 0,void 0,function*(){const i=1e4,r=function(n){const e=new Headers;return e.append("Content-type","application/json"),n&&e.append("Authorization",`Bearer ${n}`),e}(e),s=Mq(0,i,t),o=yield rF(n,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let h=i;h!h))return;const u=c.map(h=>h.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(n,i,t)),o)return function(n,e="",t="",i,r=!1){const o={},a=(0,fr.get)(n,"hits.hits",[]).map(c=>(0,fr.get)(c,"_source",{})).sort((c,u)=>c.uuid.localeCompare(u.uuid)).map(c=>new iFe(c,e,t,i).toJsonLd());for(const c of a){const u=c["@id"];o[u]?o[u].samples.push(c.samples[0]):o[u]=c}const l=Object.values(o);return r&&(function(n){let e=[],t=0;for(const i of n.filter(r=>r.samples.length>1)){const r=i.samples;for(let s=0;sc["@id"]===o)&&(r[s].deleteMe=!0,t++)}i.samples=r.filter(s=>!0!==s.deleteMe)}t>0&&console.log(`\u26a0 ${t} sections identified as blocks`)}(l),console.log(l.map(c=>Object.assign({"@context":Tq},c)))),{"@context":Tq,"@graph":l}}(o,r,s,i);console.warn(`Unable to load ${n} as HuBMAP Data`)})}function iv(n,e,t){const i=new Set;for(const r of e)for(const s of(0,xn.readQuads)(n,r,t,null,null))i.add(s.object.id);return i}const hFe={[ki.spatialEntity.x_dimension.id]:"x",[ki.spatialEntity.y_dimension.id]:"y",[ki.spatialEntity.z_dimension.id]:"z"};function pFe(n,e,t,i){const r=e.getTransformationMatrix(t,i);let s;if(r){const o=r.getTranslation(),a=function(n,e){const t=dp(n,e,"Dimensions",hFe);return[t.x,t.y,t.z]}(n,t).map(c=>c/1e3/2),l=(new Ji).fromRotationMatrix(r,Ji.XYZ).toQuaternion().normalize().calculateW();s=(new $2).fromCenterHalfSizeQuaternion(o,a,l)}return s}function gFe(n,e,t,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of t){const p=pFe(n,e,h,l);p&&p.distanceSquaredTo([r,s,o].map(m=>m/1e3))<=u&&c.add(h)}return c}function bC(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,xn.readQuads)(n,c,yi.donor,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function sF(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,xn.readQuads)(n,c,yi.spatialEntity,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function rv(n,e){return function(t){n.has(t.id)&&e.add(t.id)}}function Iq(n,e,t){const i=new Set;for(const r of t){const s=xn.DataFactory.namedNode(r);n.forSubjects(rv(e,i),ki.spatialEntity.ccf_annotations,s,null)}return i}function Oq(n,e){const t=function(n,e){const t=new Map;for(const i of n)for(const r of(0,xn.readQuads)(e,i,yi.spatialEntity,null,null))t.has(r.object.id)?t.get(r.object.id).add(i):t.set(r.object.id,new Set([i]));return t}(n,e),i=new Map;for(const r of t.keys()){const s=t.get(r);for(const o of(0,xn.readQuads)(e,r,ki.spatialEntity.ccf_annotations,null,null))if(i.has(o.object.id)){const a=i.get(o.object.id);s.forEach(l=>a.add(l))}else i.set(o.object.id,new Set(s))}return i}function IFe(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[ki.ontologyNode.label.id]:"label",[t]:"parent",[ki.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of nF(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function Rq(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,xn.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=IFe(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,Nq(r),r}function Nq(n,e,t=new Set){const i=n.nodes[null!=e?e:n.root];if(i){i.children=i.children.filter(r=>!t.has(r)),i.children.forEach(r=>t.add(r));for(const r of i.children)Nq(n,r,t),n.nodes[r]&&(n.nodes[r].parent=i["@id"])}}const Pq=(0,fr.memoize)(function(n){const e=Rq(n,bd.body.id,"body",ki.asctb.part_of.id);return e.nodes[bd.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),vC={[yi.label.id]:"label",[yi.description.id]:"description",[yi.link.id]:"link"},NFe=Object.assign(Object.assign({},vC),{[yi.providerName.id]:"providerName"}),PFe=Object.assign(Object.assign({},vC),{[yi.technology.id]:"technology",[yi.thumbnail.id]:"thumbnail"}),FFe=Object.assign(Object.assign({},vC),{[yi.sampleType.id]:"sampleType",[yi.sectionNumber.id]:"sectionNumber",[yi.datasets.id]:"datasets"}),kFe=Object.assign(Object.assign({},vC),{[yi.sampleType.id]:"sampleType",[yi.sectionCount.id]:"sectionCount",[yi.sectionSize.id]:"sectionSize",[yi.sectionUnits.id]:"sectionUnits",[yi.donor.id]:"donor",[yi.spatialEntity.id]:"spatialEntityId",[yi.sections.id]:"sections",[yi.datasets.id]:"datasets"});function LFe(n,e){return dp(n,e,"Donor",NFe)}function Fq(n,e){return dp(n,e,"Dataset",PFe)}function BFe(n,e){const t={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of nF(n,e,FFe))if("datasets"===i){const s=Fq(n,r);t[i].push(s)}else t[i]=r;return t}class VFe{constructor(e){this.database=e,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const e=Date.now();return this.database.connect().then(t=>Fi(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var i;this.status="Error",this.message=null!==(i=null==t?void 0:t.message)&&void 0!==i?i:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-e})}}const UFe={"@context":{"@base":"http://purl.org/ccf/","@vocab":"http://purl.org/ccf/",ccf:"http://purl.org/ccf/",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dcterms:"http://purl.org/dc/terms/",label:"rdfs:label",description:"rdfs:comment",link:"ccf:url",sex:"ccf:sex",age:"ccf:age",bmi:"ccf:bmi",consortium_name:"ccf:consortium_name",provider_name:"ccf:tissue_provider_name",provider_uuid:"ccf:tissue_provider_uuid",donor:{"@id":"ccf:comes_from","@type":"@id"},samples:{"@reverse":"donor"},sections:{"@id":"ccf:subdivided_into_sections","@type":"@id"},datasets:{"@id":"ccf:generates_dataset","@type":"@id"},sample_type:"ccf:sample_type",section_count:"ccf:section_count",section_size:"ccf:section_size",section_units:"ccf:section_size_unit",section_number:"ccf:section_number",rui_location:{"@id":"ccf:has_registration_location","@type":"@id"},ccf_annotations:{"@id":"ccf:collides_with","@type":"@id","@container":"@set"},representation_of:{"@id":"ccf:representation_of","@type":"@id"},reference_organ:{"@id":"ccf:has_reference_organ","@type":"@id"},extraction_set_for:{"@id":"ccf:extraction_set_for","@type":"@id"},extraction_set:{"@id":"ccf:has_extraction_set","@type":"@id"},organ_owner_sex:"ccf:organ_owner_sex",side:"ccf:organ_side",rui_rank:"ccf:rui_rank",slice_thickness:"ccf:slice_thickness",slice_count:"ccf:slice_count",object:{"@id":"ccf:has_object_reference","@type":"@id"},creation_date:"dcterms:created",updated_date:"ccf:updated_date",creator:"dcterms:creator",creator_first_name:"ccf:creator_first_name",creator_last_name:"ccf:creator_last_name",placement:{"@reverse":"ccf:placement_for"},placement_date:"dcterms:created",rotation_order:"ccf:rotation_order",dimension_units:"ccf:dimension_unit",rotation_units:"ccf:rotation_unit",scaling_units:"ccf:scaling_unit",translation_units:"ccf:translation_unit",source:{"@id":"ccf:placement_for","@type":"@id"},target:{"@id":"ccf:placement_relative_to","@type":"@id"},x_rotation:"ccf:x_rotation",y_rotation:"ccf:y_rotation",z_rotation:"ccf:z_rotation",x_scaling:"ccf:x_scaling",y_scaling:"ccf:y_scaling",z_scaling:"ccf:z_scaling",x_translation:"ccf:x_translation",y_translation:"ccf:y_translation",z_translation:"ccf:z_translation",x_dimension:"ccf:x_dimension",y_dimension:"ccf:y_dimension",z_dimension:"ccf:z_dimension",ontology_terms:{"@id":"ccf:has_ontology_term","@type":"@id"},technology:"ccf:technology",thumbnail:"ccf:thumbnail",file:"ccf:file_url",file_format:"ccf:file_format",file_subpath:"ccf:file_subpath"}};function oF(n){return JSON.parse(n,(e,t)=>"ccf_annotations"===e&&Array.isArray(t)?t.map(i=>(null==i?void 0:i.startsWith("http://purl.obolibrary.org/obo/FMA_"))?i.replace("http://purl.obolibrary.org/obo/FMA_","http://purl.org/sig/ont/fma/fma"):i):"@context"!==e||!t||"https://hubmapconsortium.github.io/hubmap-ontology/ccf-entity-context.jsonld"!==t&&"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld"!==t&&"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"!==t&&"http://purl.org/ccf/latest/ccf-entity.owl#"!==t["@base"]?t:UFe)}const HFe={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class GFe{constructor(e=HFe){this.options=e,this.store=new xn.Store(void 0,{factory:xn.DataFactory}),this.graph=new xq(this),this.scene=new Cq(this)}connect(e,t=!1){return Fi(this,void 0,void 0,function*(){return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return Fi(this,void 0,void 0,function*(){const e=(new Date).getTime(),t=GNe()(this.options,{encoding:"base64",ignoreUnknown:!0,respectType:!1,unorderedArrays:!0,unorderedObjects:!0,unorderedSets:!0}),i=`ccf-database.last_modified.${t}`,r=`ccf-database.${t}`,s=yield vq(i).catch(()=>{});let o;s&&e-new Date(+s).getTime()>36e5?yield function(n,e=Sc()){return e("readwrite",t=>(n.forEach(i=>t.delete(i)),mu(t.transaction)))}([r,i]).catch(()=>{}):o=yield vq(r).catch(()=>{}),o?yield this.deserialize(o):(yield this.doConnect(),function(n,e=Sc()){return e("readwrite",t=>(n.forEach(i=>t.put(i[1],i[0])),mu(t.transaction)))}([[r,this.serialize()],[i,""+e]]).catch(()=>{}))})}doConnect(){var e,t;return Fi(this,void 0,void 0,function*(){const i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],s=this.options.ccfOwlUrl;if(s.startsWith("{"))this.store=(0,xn.deserializeN3Store)(s,xn.DataFactory);else if(s.endsWith(".n3store.json")){const o=yield fetch(s).then(a=>a.text()).catch(()=>console.log("Couldn't locate serialized store."));o&&(this.store=(0,xn.deserializeN3Store)(o,xn.DataFactory))}else(null==s?void 0:s.length)>0&&r.push(s);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(Dq(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(o=>{if(o)return this.addDataSources([o])}))),i.push(this.addDataSources(r)),yield Promise.all(i),yield this.synchronize()})}addDataSources(e,t){return Fi(this,void 0,void 0,function*(){const i=null!=t?t:this.store;return yield Promise.all(e.map(r=>Fi(this,void 0,void 0,function*(){"string"==typeof r?(r.startsWith("http")||r.startsWith("assets/"))&&r.includes("jsonld")?(r=oF(r=yield fetch(r).then(s=>s.text())),yield(0,xn.addJsonLdToStore)(r,i)):r.endsWith("n3")?yield(0,xn.addN3ToStore)(r,i):r.endsWith("rdf")||r.endsWith("owl")||r.endsWith("xml")?yield(0,xn.addRdfXmlToStore)(r,i):(r=oF(r),yield(0,xn.addJsonLdToStore)(r,i)):(r=oF(JSON.stringify(r)),yield(0,xn.addJsonLdToStore)(r,i))}))),this})}synchronize(){return Fi(this,void 0,void 0,function*(){return yield new Promise(e=>{setTimeout(e,500)}),this.graph.createGraph(),function(n){var e,t,i;const r=Pq(n),s=new Map;for(const{subject:o,object:a}of(0,xn.readQuads)(n,null,ki.spatialEntity.representation_of,null,null)){const l=new Set([a.id]);let c=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;c&&!l.has(c);)l.add(c),c=null===(t=r.nodes[c])||void 0===t?void 0:t.parent;s.set(o.id,[...l].map(u=>xn.DataFactory.namedNode(u)))}for(const{object:o}of(0,xn.readQuads)(n,null,yi.spatialEntity,null,null))for(const{subject:a}of(0,xn.readQuads)(n,null,ki.spatialPlacement.source,o,null))for(const{object:l}of(0,xn.readQuads)(n,a,ki.spatialPlacement.target,null,null))for(const c of null!==(i=s.get(l.id))&&void 0!==i?i:[])n.addQuad(xn.DataFactory.namedNode(o.id),ki.spatialEntity.ccf_annotations,c)}(this.store),this})}serialize(){return(0,xn.serializeN3Store)(this.store)}deserialize(e){return Fi(this,void 0,void 0,function*(){this.store=(0,xn.deserializeN3Store)(e,xn.DataFactory),this.graph=new xq(this),this.scene=new Cq(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(e={}){return function(n,e,t){var i,r,s,o,a,l,c;let u=function(n){const e=new Set;return n.forSubjects(t=>e.add(t.id),yi.spatialEntity,null,null),e}(n);if(u.size>0&&(u=function(n,e,t=!0){const i=new Set;if(n.forSubjects(rv(e,i),yi.spatialEntity,null,null),!t){const r=new Set;return e.forEach(s=>i.has(s)?void 0:r.add(s)),r}return i}(n,u)),u.size>0&&("Male"===t.sex||"Female"===t.sex)){const h=t.sex;u=bC(n,u,p=>function(n,e,t){const i=new Set;return n.forSubjects(rv(e,i),yi.sex,yi[t],null),i}(n,p,h))}if(u.size>0&&(null===(i=t.tmc)||void 0===i?void 0:i.length)>0&&(u=bC(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=xn.DataFactory.literal(r);n.forSubjects(rv(e,i),yi.providerName,s,null)}return i}(n,h,t.tmc))),u.size>0&&(null===(r=t.technologies)||void 0===r?void 0:r.length)>0&&(u=function(n,e,t){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const h of(0,xn.readQuads)(n,u,yi.sections,null,null))a.add(h.object.id);for(const u of a)for(const h of(0,xn.readQuads)(n,u,yi.datasets,null,null))o.add(h.object.id),s.has(h.object.id)?null===(i=s.get(h.object.id))||void 0===i||i.push(u):s.set(h.object.id,[u]);const l=t(o),c=new Set;for(const u of l)for(const h of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(h);return c}(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=xn.DataFactory.literal(r);n.forSubjects(rv(e,i),yi.technology,s,null)}return i}(n,h,t.technologies))),u.size>0&&(null===(s=t.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=sF(n,u,h=>function(n,e,t,i){const r=new Set;for(const s of i)gFe(n,e,t,s).forEach(a=>r.add(a));return r}(n,e,h,t.spatialSearches))),u.size>0&&(null===(o=t.ontologyTerms)||void 0===o?void 0:o.length)>0){const h=t.ontologyTerms;-1===h.indexOf(bd.body.id)&&(u=sF(n,u,p=>Iq(n,p,h)))}if(u.size>0&&(null===(a=t.cellTypeTerms)||void 0===a?void 0:a.length)>0){const h=t.cellTypeTerms;-1===h.indexOf(bd.cell.id)&&(u=sF(n,u,p=>function(n,e,t){const i=new Set;for(const r of t)n.forObjects(s=>{i.add(s.id)},r,ki.asctb.located_in,null),r===bd.cell.id&&i.add(bd.body.id);return Iq(n,e,[...i])}(n,p,h)))}if(u.size>0&&2===(null===(l=t.ageRange)||void 0===l?void 0:l.length)&&(0,fr.isFinite)(t.ageRange[0])&&(0,fr.isFinite)(t.ageRange[1])){const h=Math.max(...t.ageRange),p=Math.min(...t.ageRange);1===p&&110===h||(u=bC(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,xn.readQuads)(n,s,yi.age,null,null)){const a=(0,Kb.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,p,h)))}if(u.size>0&&2===(null===(c=t.bmiRange)||void 0===c?void 0:c.length)&&(0,fr.isFinite)(t.bmiRange[0])&&(0,fr.isFinite)(t.bmiRange[1])){const h=Math.max(...t.bmiRange),p=Math.min(...t.bmiRange);13===p&&83===h||(u=bC(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,xn.readQuads)(n,s,yi.bmi,null,null)){const a=(0,Kb.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,p,h)))}return u}(this.store,this.graph,e)}get(e){return this.store.getQuads(xn.DataFactory.namedNode(e),null,null,null)}search(e={}){return[...this.getIds(e)].map(t=>this.get(t))}getSpatialEntities(e){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t=n.getObjects(xn.DataFactory.namedNode(e),yi.spatialEntity,null);if(t.length>0)return hp(n,t[0].id)}(this.store,t))}getDatabaseStatus(){return Fi(this,void 0,void 0,function*(){return this.status||(this.status=new VFe(this)),this.status.toJson()})}getDatasetTechnologyNames(){return Fi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,xn.readQuads)(n,null,yi.technology,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return Fi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,xn.readQuads)(n,null,yi.providerName,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(e){return Fi(this,void 0,void 0,function*(){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of nF(n,e,kFe))if("sections"===i){const s=BFe(n,r);t[i].push(s)}else if("datasets"===i){const s=Fq(n,r);t[i].push(s)}else t[i]="donor"===i?LFe(n,r):r;return t}(this.store,t))})}getAggregateResults(e){return Fi(this,void 0,void 0,function*(){return function(n,e){const t=iv(e,n,yi.donor.id),i=iv(e,t,yi.providerUUID.id),r=new Set;for(const l of n)for(const c of(0,xn.readQuads)(e,l,yi.spatialEntity,null,null))r.add(c.subject.id);const s=iv(e,r,yi.sections.id),o=new Set([...iv(e,r,yi.datasets.id),...iv(e,s,yi.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:t.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([l,c])=>({label:l,count:c}))}(this.getIds(e),this.store)})}getOntologyTermOccurences(e){return Fi(this,void 0,void 0,function*(){return function(n,e){const t={};return Oq(n,e).forEach((r,s)=>{t[s]=r.size}),t}(this.getIds(e),this.store)})}getCellTypeTermOccurences(e){return Fi(this,void 0,void 0,function*(){return function(n,e){var t,i;const r=Oq(n,e),s=new Map;for(const a of r.keys()){const l=r.get(a);for(const c of(0,xn.readQuads)(e,null,ki.asctb.located_in,a,null)){const u=c.subject.id;if(s.has(u)){const h=s.get(u);l.forEach(p=>h.add(p))}else s.set(u,new Set(l))}}const o={};return s.forEach((a,l)=>{o[l]=a.size}),o[bd.cell.id]=null!==(i=null===(t=r.get(bd.body.id))||void 0===t?void 0:t.size)&&void 0!==i?i:0,o}(this.getIds(e),this.store)})}getOntologyTreeModel(){return Fi(this,void 0,void 0,function*(){return Pq(this.store)})}getCellTypeTreeModel(){return Fi(this,void 0,void 0,function*(){return function(n){return Rq(n,bd.cell.id,"cell",ki.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return Fi(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(e){return Fi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(e)})}getReferenceOrganScene(e,t){return Fi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)})}getSpatialPlacement(e,t){return Fi(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(e,t)})}}function YFe(n,e){return n===e}let KFe=(()=>{class n{constructor(t,i){this.locator=t,this.globalConfig=i,this.subscriptions=new C,this.dataSource=i.getOption("data").pipe(ye(r=>Object.assign(Object.assign({},bq),{dataSources:r})),Qi(r=>Object.keys(r).length>0),ye(r=>r),rd(YFe),Ir(r=>function(n,e){return new P(t=>{let i,r;try{i=n()}catch(a){return void t.error(a)}try{r=e(i)}catch(a){return void t.error(a)}const o=(r?qe(r):Yc).subscribe(t);return()=>{o.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDataSource(),s=>this.connectDataSource(s.source,r))),$a(1)),this.subscriptions.add(this.dataSource.subscribe())}ngOnDestroy(){this.subscriptions.unsubscribe()}getTissueBlockResults(t){return this.dataSource.pipe(Ir(i=>i.getTissueBlockResults(t)),Wi(1))}getAggregateResults(t){return this.dataSource.pipe(Ir(i=>i.getAggregateResults(t)),Wi(1))}getOntologyTermOccurences(t){return this.dataSource.pipe(Ir(i=>i.getOntologyTermOccurences(t)),Wi(1))}getCellTypeTermOccurences(t){return this.dataSource.pipe(Ir(i=>i.getCellTypeTermOccurences(t)),Wi(1))}getOntologyTreeModel(){return this.dataSource.pipe(Ir(t=>t.getOntologyTreeModel()),Wi(1))}getCellTypeTreeModel(){return this.dataSource.pipe(Ir(t=>t.getCellTypeTreeModel()),Wi(1))}getReferenceOrgans(){return this.dataSource.pipe(Ir(t=>t.getReferenceOrgans()),Wi(1))}getScene(t){return this.dataSource.pipe(Ir(i=>i.getScene(t)),Wi(1))}getOrganScene(t,i){return this.dataSource.pipe(Ir(r=>r.getReferenceOrganScene(t,i)),Wi(1))}createDataSource(){return{source:new GFe,unsubscribe:()=>{}}}connectDataSource(t,i){return Fi(this,void 0,void 0,function*(){const r=(new Date).getTime();return yield t.connect(i,!1),m0.production||(console.info(`Loaded CCF database in ${((new Date).getTime()-r)/1e3}s`),console.log(t)),t})}}return n.\u0275fac=function(t){return new(t||n)(ke(Cf),ke(Yb))},n.\u0275prov=et({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),XFe=(()=>{class n{constructor(t,i){this.configState=t,this.source=i,this.data$=this.configState.getOption("data"),this.zoomToID$=this.configState.getOption("zoomToID").pipe(ye(r=>`http://purl.org/ccf/1.5/entity/${r}`)),this.highlightID$=this.configState.getOption("highlightID").pipe(ye(r=>`http://purl.org/ccf/1.5/entity/${r}`)),this.referenceOrgans$=this.source.getReferenceOrgans(),this.scene$=Yo([this.data$,this.referenceOrgans$,this.source.dataSource]).pipe(Ir(([r,s,o])=>this.chooseScene(r,s))),this.organs$=this.configState.getOption("data").pipe(ye(r=>this.selectOrgans(r)),$a(1)),this.filteredOrgans$=Yo([this.organs$,this.referenceOrgans$]).pipe(ye(([r,s])=>this.getNeededReferenceOrgans(s,r)),$a(1)),this.filteredScene$=Yo([this.scene$,this.organs$,this.referenceOrgans$]).pipe(ye(([r,s,o])=>this.filterSceneNodes(r,s,o)),function(n,e){const t=n.pipe(ao(""));return i=>Yo([i,t]).pipe(ye(([r,s])=>r.map(o=>function(n,e,t){return n.entityId!==e?n:Object.assign(Object.assign({},n),{color:t})}(o,s,e))))}(this.highlightID$,BNe),function(n){const e=n.pipe(ao(""));return t=>Yo([t,e]).pipe(ye(([i,r])=>i.map(s=>function(n,e){return n.entityId!==e?n:Object.assign(Object.assign({},n),{zoomToOnLoad:!0})}(s,r))))}(this.zoomToID$),$a(1))}chooseScene(t,i){var r;const s=null!==(r=null==t?void 0:t.map(a=>{const l=a[KW];return null==l?void 0:l.placement.target}))&&void 0!==r?r:[];if(new Set(s).size>1)return this.source.getScene();if(i){const a=i.find(l=>l["@id"]===s[0]);if(a)return this.source.getOrganScene(a.representation_of,{ontologyTerms:[a.reference_organ],sex:a.sex})}return fn([])}selectOrgans(t){const r=(null!=t?t:[]).map(s=>s[KW].placement.target);return new Set(r)}filterSceneNodes(t,i,r){const s=this.getNeededReferenceOrgans(r,i),o=this.getNeededSkins(s),a=new Set([...i,...o]);return t.filter(c=>!c.reference_organ||a.has(c.reference_organ))}getNeededReferenceOrgans(t,i){return t.filter(r=>{var s;return i.has(null!==(s=r.reference_organ)&&void 0!==s?s:"")})}getNeededSkins(t){if(1===t.length)return[];const i=new Set;return t.forEach(r=>{"Female"===r.sex?i.add("http://purl.org/ccf/latest/ccf.owl#VHFSkin"):"Male"===r.sex&&i.add("http://purl.org/ccf/latest/ccf.owl#VHMSkin")}),[...i]}}return n.\u0275fac=function(t){return new(t||n)(ke(Yb),ke(KFe))},n.\u0275prov=et({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const QFe=["bodyUI"];let ZFe=(()=>{class n{constructor(t,i,r){this.configState=t,this.sceneSource=i,this.cdr=r,this.onMouseEnter=new sn,this.onMouseLeave=new sn,this.onClick=new sn,this.data$=this.configState.getOption("data"),this.organs$=this.sceneSource.filteredOrgans$,this.scene$=this.sceneSource.filteredScene$.pipe(Yr(s=>this.reset()))}reset(){var t,i;return Fi(this,void 0,void 0,function*(){const{bodyUI:r}=this;yield new Promise(a=>setTimeout(a,200));const s=yield this.organs$.pipe(Wi(1)).toPromise(),o=null!==(i=!!(null===(t=r.scene)||void 0===t?void 0:t.find(a=>a.zoomToOnLoad)))&&void 0!==i&&i;if(r.rotation=0,r.rotationX=0,!o)if(1===s.length){const{x_dimension:a,y_dimension:l,z_dimension:c}=s[0];r.bounds={x:1.25*a/1e3,y:1.25*l/1e3,z:1.25*c/1e3},r.target=[a/1e3/2,l/1e3/2,c/1e3/2]}else r.bounds={x:2.2,y:2,z:.4},r.target=[0,0,0];this.cdr.detectChanges()})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Yb),Oe(XFe),Oe(Dr))},n.\u0275cmp=ln({type:n,selectors:[["ccf-root"]],viewQuery:function(t,i){if(1&t&&ss(QFe,7),2&t){let r;ii(r=ri())&&(i.bodyUI=r.first)}},outputs:{onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave",onClick:"onClick"},decls:3,vars:4,consts:[["camera","perspective",1,"body-ui",3,"scene","interactive","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""]],template:function(t,i){1&t&&(Pt(0,"ccf-body-ui",0,1),Un("nodeClick",function(s){return i.onClick.emit(s)})("nodeHoverStart",function(s){return i.onMouseEnter.emit(s)})("nodeHoverStop",function(s){return i.onMouseLeave.emit(s)}),xl(2,"async"),Ft()),2&t&&rn("scene",Vu(2,2,i.scene$))("interactive",!0)},directives:[nNe],pipes:[h0],styles:[".body-ui[_ngcontent-%COMP%]{height:100%;width:100%}"],changeDetection:0}),n})();function JFe(n,e){if(1&n){const t=Vt();Pt(0,"ccf-root",1),Un("onMouseEnter",function(r){return Cr(t),ci().onMouseEnter.emit(r)})("onMouseLeave",function(r){return Cr(t),ci().onMouseLeave.emit(r)})("onClick",function(r){return Cr(t),ci().onClick.emit(r)}),Ft()}}function eke(n){return n.map(e=>({"@id":`http://purl.org/ccf/1.5/entity/${e.id}`,"@type":"http://purl.org/ccf/latest/ccf-entity.owl#Sample","http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity":e.rui_location}))}let tke=(()=>{class n extends Eie{constructor(t,i){super(t,i,{initialDelay:10,initialConfig:Object.assign(Object.assign({},m0.dbOptions),globalThis.dbOptions),parse:{data:eke}}),this.onMouseEnter=new sn,this.onMouseLeave=new sn,this.onClick=new sn}}return n.\u0275fac=function(t){return new(t||n)(Oe(Yb),Oe(Dr))},n.\u0275cmp=ln({type:n,selectors:[["ccf-root-wc"]],inputs:{data:"data",highlightID:"highlightID",zoomToID:"zoomToID"},outputs:{onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave",onClick:"onClick"},features:[An],decls:1,vars:1,consts:[[3,"onMouseEnter","onMouseLeave","onClick",4,"ngIf"],[3,"onMouseEnter","onMouseLeave","onClick"]],template:function(t,i){1&t&&Di(0,JFe,1,0,"ccf-root",0),2&t&&rn("ngIf",i.initialized)},directives:[lc,ZFe],encapsulation:2,changeDetection:0}),n})(),nke=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[ps,Za,h9,...t]}}}return n.\u0275fac=function(t){return new(t||n)(ke(ps,2),ke(Za,2))},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({}),n})();const xC=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class ske{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=$f(this.action),i=function(n){return xC(n.getHours(),2)+":"+xC(n.getMinutes(),2)+":"+xC(n.getSeconds(),2)+"."+xC(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class oke{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const kq=new Ht("NGXS_LOGGER_PLUGIN_OPTIONS");let ake=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new oke(this._options),this._store=this._store||this._injector.get(cu);const s=new ske(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(Yr(o=>{s.completed(o)}),bc(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(ke(kq),ke(Wn))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const Lq=new Ht("LOGGER_USER_OPTIONS");function lke(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let cke=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:f6,useClass:ake,multi:!0},{provide:Lq,useValue:t},{provide:kq,useFactory:lke,deps:[Lq]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({}),n})();const uke=[Yb];let dke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({imports:[[nke.forRoot(),Wo.forRoot(uke,{developmentMode:!m0.production}),cke.forRoot({disabled:m0.production})]]}),n})(),hke=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(wl).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new mie(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends yie{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(tke,{injector:this.injector});customElements.define("ccf-body-ui-wc",t)}}return n.\u0275fac=function(t){return new(t||n)(ke(Wn))},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({providers:[],imports:[[WD,dke,iNe]]}),n})();m0.production&&function(){if(lB)throw new Error("Cannot enable prod mode after platform setup.");aB=!1}(),jne().bootstrapModule(hke).catch(n=>console.error(n))},52:jt=>{function Ye(lt,ee,Et,je,Q,we,fe){try{var K=lt[we](fe),V=K.value}catch(F){return void Et(F)}K.done?ee(V):Promise.resolve(V).then(je,Q)}jt.exports=function(lt){return function(){var ee=this,Et=arguments;return new Promise(function(je,Q){var we=lt.apply(ee,Et);function fe(V){Ye(we,je,Q,fe,K,"next",V)}function K(V){Ye(we,je,Q,fe,K,"throw",V)}fe(void 0)})}},jt.exports.default=jt.exports,jt.exports.__esModule=!0},948:jt=>{jt.exports=function(Je){return Je&&Je.__esModule?Je:{default:Je}},jt.exports.default=jt.exports,jt.exports.__esModule=!0},321:jt=>{function Ye(Je){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(jt.exports=Ye=function(ee){return typeof ee},jt.exports.default=jt.exports,jt.exports.__esModule=!0):(jt.exports=Ye=function(ee){return ee&&"function"==typeof Symbol&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},jt.exports.default=jt.exports,jt.exports.__esModule=!0),Ye(Je)}jt.exports=Ye,jt.exports.default=jt.exports,jt.exports.__esModule=!0},380:jt=>{function Ye(Je){return Promise.resolve().then(()=>{var lt=new Error("Cannot find module '"+Je+"'");throw lt.code="MODULE_NOT_FOUND",lt})}Ye.keys=()=>[],Ye.resolve=Ye,Ye.id=380,jt.exports=Ye},521:()=>{},125:()=>{},307:()=>{}},jt=>{jt(jt.s=303)}]); \ No newline at end of file diff --git a/body-ui/wc.js b/body-ui/wc.js index bdbc9a616..47c121bb2 100644 --- a/body-ui/wc.js +++ b/body-ui/wc.js @@ -2,4 +2,4 @@ "use strict";(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[429],{277:()=>{!function(e){const n=e.performance;function i(I){n&&n.mark&&n.mark(I)}function r(I,p){n&&n.measure&&n.measure(I,p)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function u(I){return c+I}const f=!0===e[u("forceDuplicateZoneCheck")];if(e.Zone){if(f||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let _=(()=>{class I{constructor(t,o){this._parent=t,this._name=o?o.name||"unnamed":"",this._properties=o&&o.properties||{},this._zoneDelegate=new T(this,this._parent&&this._parent._zoneDelegate,o)}static assertZonePatched(){if(e.Promise!==J.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=I.current;for(;t.parent;)t=t.parent;return t}static get current(){return G.zone}static get currentTask(){return te}static __load_patch(t,o,y=!1){if(J.hasOwnProperty(t)){if(!y&&f)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const P="Zone:"+t;i(P),J[t]=o(e,I,le),r(P,P)}}get parent(){return this._parent}get name(){return this._name}get(t){const o=this.getZoneWith(t);if(o)return o._properties[t]}getZoneWith(t){let o=this;for(;o;){if(o._properties.hasOwnProperty(t))return o;o=o._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,o){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const y=this._zoneDelegate.intercept(this,t,o),P=this;return function(){return P.runGuarded(y,this,arguments,o)}}run(t,o,y,P){G={parent:G,zone:this};try{return this._zoneDelegate.invoke(this,t,o,y,P)}finally{G=G.parent}}runGuarded(t,o=null,y,P){G={parent:G,zone:this};try{try{return this._zoneDelegate.invoke(this,t,o,y,P)}catch(K){if(this._zoneDelegate.handleError(this,K))throw K}}finally{G=G.parent}}runTask(t,o,y){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");if(t.state===j&&(t.type===R||t.type===M))return;const P=t.state!=X;P&&t._transitionTo(X,O),t.runCount++;const K=te;te=t,G={parent:G,zone:this};try{t.type==M&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,o,y)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==j&&t.state!==Y&&(t.type==R||t.data&&t.data.isPeriodic?P&&t._transitionTo(O,X):(t.runCount=0,this._updateTaskCount(t,-1),P&&t._transitionTo(j,X,j))),G=G.parent,te=K}}scheduleTask(t){if(t.zone&&t.zone!==this){let y=this;for(;y;){if(y===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);y=y.parent}}t._transitionTo(q,j);const o=[];t._zoneDelegates=o,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(y){throw t._transitionTo(Y,q,j),this._zoneDelegate.handleError(this,y),y}return t._zoneDelegates===o&&this._updateTaskCount(t,1),t.state==q&&t._transitionTo(O,q),t}scheduleMicroTask(t,o,y,P){return this.scheduleTask(new m(v,t,o,y,P,void 0))}scheduleMacroTask(t,o,y,P,K){return this.scheduleTask(new m(M,t,o,y,P,K))}scheduleEventTask(t,o,y,P,K){return this.scheduleTask(new m(R,t,o,y,P,K))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");t._transitionTo(A,O,X);try{this._zoneDelegate.cancelTask(this,t)}catch(o){throw t._transitionTo(Y,A),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(t,-1),t._transitionTo(j,A),t.runCount=0,t}_updateTaskCount(t,o){const y=t._zoneDelegates;-1==o&&(t._zoneDelegates=null);for(let P=0;PI.hasTask(t,o),onScheduleTask:(I,p,t,o)=>I.scheduleTask(t,o),onInvokeTask:(I,p,t,o,y,P)=>I.invokeTask(t,o,y,P),onCancelTask:(I,p,t,o)=>I.cancelTask(t,o)};class T{constructor(p,t,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=p,this._parentDelegate=t,this._forkZS=o&&(o&&o.onFork?o:t._forkZS),this._forkDlgt=o&&(o.onFork?t:t._forkDlgt),this._forkCurrZone=o&&(o.onFork?this.zone:t._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:t._interceptZS),this._interceptDlgt=o&&(o.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:t._invokeZS),this._invokeDlgt=o&&(o.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:t._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:t._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:t._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:t._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const y=o&&o.onHasTask;(y||t&&t._hasTaskZS)&&(this._hasTaskZS=y?o:g,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=p,o.onScheduleTask||(this._scheduleTaskZS=g,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),o.onInvokeTask||(this._invokeTaskZS=g,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),o.onCancelTask||(this._cancelTaskZS=g,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(p,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,p,t):new _(p,t)}intercept(p,t,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,p,t,o):t}invoke(p,t,o,y,P){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,p,t,o,y,P):t.apply(o,y)}handleError(p,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,p,t)}scheduleTask(p,t){let o=t;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,p,t),o||(o=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=v)throw new Error("Task is missing scheduleFn.");d(t)}return o}invokeTask(p,t,o,y){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,p,t,o,y):t.callback.apply(o,y)}cancelTask(p,t){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,p,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");o=t.cancelFn(t)}return o}hasTask(p,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,p,t)}catch(o){this.handleError(p,o)}}_updateTaskCount(p,t){const o=this._taskCounts,y=o[p],P=o[p]=y+t;if(P<0)throw new Error("More tasks executed then were scheduled.");0!=y&&0!=P||this.hasTask(this.zone,{microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:p})}}class m{constructor(p,t,o,y,P,K){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=p,this.source=t,this.data=y,this.scheduleFn=P,this.cancelFn=K,!o)throw new Error("callback is not defined");this.callback=o;const l=this;this.invoke=p===R&&y&&y.useG?m.invokeTask:function(){return m.invokeTask.call(e,l,this,arguments)}}static invokeTask(p,t,o){p||(p=this),re++;try{return p.runCount++,p.zone.runTask(p,t,o)}finally{1==re&&L(),re--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(j,q)}_transitionTo(p,t,o){if(this._state!==t&&this._state!==o)throw new Error(`${this.type} '${this.source}': can not transition to '${p}', expecting state '${t}'${o?" or '"+o+"'":""}, was '${this._state}'.`);this._state=p,p==j&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const S=u("setTimeout"),D=u("Promise"),Z=u("then");let E,B=[],V=!1;function d(I){if(0===re&&0===B.length)if(E||e[D]&&(E=e[D].resolve(0)),E){let p=E[Z];p||(p=E.then),p.call(E,L)}else e[S](L,0);I&&B.push(I)}function L(){if(!V){for(V=!0;B.length;){const I=B;B=[];for(let p=0;pG,onUnhandledError:F,microtaskDrainDone:F,scheduleMicroTask:d,showUncaughtError:()=>!_[u("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:F,patchMethod:()=>F,bindArguments:()=>[],patchThen:()=>F,patchMacroTask:()=>F,patchEventPrototype:()=>F,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>F,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>F,wrapWithCurrentZone:()=>F,filterProperties:()=>[],attachOriginToPatched:()=>F,_redefineProperty:()=>F,patchCallbacks:()=>F};let G={parent:null,zone:new _(null,null)},te=null,re=0;function F(){}r("Zone","Zone"),e.Zone=_}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);const ue=Object.getOwnPropertyDescriptor,he=Object.defineProperty,de=Object.getPrototypeOf,Be=Object.create,ut=Array.prototype.slice,Se="addEventListener",Oe="removeEventListener",Ze=Zone.__symbol__(Se),Ie=Zone.__symbol__(Oe),se="true",ie="false",ke=Zone.__symbol__("");function Le(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,r,c){return Zone.current.scheduleMacroTask(e,n,i,r,c)}const x=Zone.__symbol__,Pe="undefined"!=typeof window,pe=Pe?window:void 0,$=Pe&&pe||"object"==typeof self&&self||global,ht=[null];function Ae(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Le(e[i],n+"_"+i));return e}function Fe(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}const Ue="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,Re=!("nw"in $)&&void 0!==$.process&&"[object process]"==={}.toString.call($.process),je=!Re&&!Ue&&!(!Pe||!pe.HTMLElement),We=void 0!==$.process&&"[object process]"==={}.toString.call($.process)&&!Ue&&!(!Pe||!pe.HTMLElement),Ce={},qe=function(e){if(!(e=e||$.event))return;let n=Ce[e.type];n||(n=Ce[e.type]=x("ON_PROPERTY"+e.type));const i=this||e.target||$,r=i[n];let c;if(je&&i===pe&&"error"===e.type){const u=e;c=r&&r.call(this,u.message,u.filename,u.lineno,u.colno,u.error),!0===c&&e.preventDefault()}else c=r&&r.apply(this,arguments),null!=c&&!c&&e.preventDefault();return c};function Xe(e,n,i){let r=ue(e,n);if(!r&&i&&ue(i,n)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;const c=x("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete r.writable,delete r.value;const u=r.get,f=r.set,_=n.substr(2);let g=Ce[_];g||(g=Ce[_]=x("ON_PROPERTY"+_)),r.set=function(T){let m=this;!m&&e===$&&(m=$),m&&(m[g]&&m.removeEventListener(_,qe),f&&f.apply(m,ht),"function"==typeof T?(m[g]=T,m.addEventListener(_,qe,!1)):m[g]=null)},r.get=function(){let T=this;if(!T&&e===$&&(T=$),!T)return null;const m=T[g];if(m)return m;if(u){let S=u&&u.call(this);if(S)return r.set.call(this,S),"function"==typeof T.removeAttribute&&T.removeAttribute(n),S}return null},he(e,n,r),e[c]=!0}function Ye(e,n,i){if(n)for(let r=0;rfunction(f,_){const g=i(f,_);return g.cbIdx>=0&&"function"==typeof _[g.cbIdx]?Me(g.name,_[g.cbIdx],g,c):u.apply(f,_)})}function ae(e,n){e[x("OriginalDelegate")]=n}let $e=!1,He=!1;function mt(){if($e)return He;$e=!0;try{const e=pe.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(He=!0)}catch(e){}return He}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const r=Object.getOwnPropertyDescriptor,c=Object.defineProperty,f=i.symbol,_=[],g=!0===e[f("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],T=f("Promise"),m=f("then");i.onUnhandledError=l=>{if(i.showUncaughtError()){const s=l&&l.rejection;s?console.error("Unhandled Promise rejection:",s instanceof Error?s.message:s,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",s,s instanceof Error?s.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;_.length;){const l=_.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(s){Z(s)}}};const D=f("unhandledPromiseRejectionHandler");function Z(l){i.onUnhandledError(l);try{const s=n[D];"function"==typeof s&&s.call(this,l)}catch(s){}}function B(l){return l&&l.then}function V(l){return l}function E(l){return t.reject(l)}const d=f("state"),L=f("value"),z=f("finally"),j=f("parentPromiseValue"),q=f("parentPromiseState"),X=null,A=!0,Y=!1;function M(l,s){return a=>{try{G(l,s,a)}catch(h){G(l,!1,h)}}}const le=f("currentTaskTrace");function G(l,s,a){const h=function(){let l=!1;return function(a){return function(){l||(l=!0,a.apply(null,arguments))}}}();if(l===a)throw new TypeError("Promise resolved with itself");if(l[d]===X){let w=null;try{("object"==typeof a||"function"==typeof a)&&(w=a&&a.then)}catch(C){return h(()=>{G(l,!1,C)})(),l}if(s!==Y&&a instanceof t&&a.hasOwnProperty(d)&&a.hasOwnProperty(L)&&a[d]!==X)re(a),G(l,a[d],a[L]);else if(s!==Y&&"function"==typeof w)try{w.call(a,h(M(l,s)),h(M(l,!1)))}catch(C){h(()=>{G(l,!1,C)})()}else{l[d]=s;const C=l[L];if(l[L]=a,l[z]===z&&s===A&&(l[d]=l[q],l[L]=l[j]),s===Y&&a instanceof Error){const k=n.currentTask&&n.currentTask.data&&n.currentTask.data.__creationTrace__;k&&c(a,le,{configurable:!0,enumerable:!1,writable:!0,value:k})}for(let k=0;k{try{const b=l[L],N=!!a&&z===a[z];N&&(a[j]=b,a[q]=C);const H=s.run(k,void 0,N&&k!==E&&k!==V?[]:[b]);G(a,!0,H)}catch(b){G(a,!1,b)}},a)}const p=function(){};class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(s){return G(new this(null),A,s)}static reject(s){return G(new this(null),Y,s)}static race(s){let a,h,w=new this((b,N)=>{a=b,h=N});function C(b){a(b)}function k(b){h(b)}for(let b of s)B(b)||(b=this.resolve(b)),b.then(C,k);return w}static all(s){return t.allWithCallback(s)}static allSettled(s){return(this&&this.prototype instanceof t?this:t).allWithCallback(s,{thenCallback:h=>({status:"fulfilled",value:h}),errorCallback:h=>({status:"rejected",reason:h})})}static allWithCallback(s,a){let h,w,C=new this((H,U)=>{h=H,w=U}),k=2,b=0;const N=[];for(let H of s){B(H)||(H=this.resolve(H));const U=b;try{H.then(Q=>{N[U]=a?a.thenCallback(Q):Q,k--,0===k&&h(N)},Q=>{a?(N[U]=a.errorCallback(Q),k--,0===k&&h(N)):w(Q)})}catch(Q){w(Q)}k++,b++}return k-=2,0===k&&h(N),C}constructor(s){const a=this;if(!(a instanceof t))throw new Error("Must be an instanceof Promise.");a[d]=X,a[L]=[];try{s&&s(M(a,A),M(a,Y))}catch(h){G(a,!1,h)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(s,a){let h=this.constructor[Symbol.species];(!h||"function"!=typeof h)&&(h=this.constructor||t);const w=new h(p),C=n.current;return this[d]==X?this[L].push(C,w,s,a):F(this,C,w,s,a),w}catch(s){return this.then(null,s)}finally(s){let a=this.constructor[Symbol.species];(!a||"function"!=typeof a)&&(a=t);const h=new a(p);h[z]=z;const w=n.current;return this[d]==X?this[L].push(w,h,s,s):F(this,w,h,s,s),h}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const o=e[T]=e.Promise;e.Promise=t;const y=f("thenPatched");function P(l){const s=l.prototype,a=r(s,"then");if(a&&(!1===a.writable||!a.configurable))return;const h=s.then;s[m]=h,l.prototype.then=function(w,C){return new t((b,N)=>{h.call(this,b,N)}).then(w,C)},l[y]=!0}return i.patchThen=P,o&&(P(o),ce(e,"fetch",l=>function(l){return function(s,a){let h=l.apply(s,a);if(h instanceof t)return h;let w=h.constructor;return w[y]||P(w),h}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=_,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=x("OriginalDelegate"),r=x("Promise"),c=x("Error"),u=function(){if("function"==typeof this){const T=this[i];if(T)return"function"==typeof T?n.call(T):Object.prototype.toString.call(T);if(this===Promise){const m=e[r];if(m)return n.call(m)}if(this===Error){const m=e[c];if(m)return n.call(m)}}return n.call(this)};u[i]=n,Function.prototype.toString=u;const f=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":f.call(this)}});let me=!1;if("undefined"!=typeof window)try{const e=Object.defineProperty({},"passive",{get:function(){me=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(e){me=!1}const Et={useG:!0},ee={},Ke={},Je=new RegExp("^"+ke+"(\\w+)(true|false)$"),xe=x("propagationStopped");function Qe(e,n){const i=(n?n(e):e)+ie,r=(n?n(e):e)+se,c=ke+i,u=ke+r;ee[e]={},ee[e][ie]=c,ee[e][se]=u}function Tt(e,n,i){const r=i&&i.add||Se,c=i&&i.rm||Oe,u=i&&i.listeners||"eventListeners",f=i&&i.rmAll||"removeAllListeners",_=x(r),g="."+r+":",S=function(E,d,L){if(E.isRemoved)return;const z=E.callback;"object"==typeof z&&z.handleEvent&&(E.callback=q=>z.handleEvent(q),E.originalDelegate=z),E.invoke(E,d,[L]);const j=E.options;j&&"object"==typeof j&&j.once&&d[c].call(d,L.type,E.originalDelegate?E.originalDelegate:E.callback,j)},D=function(E){if(!(E=E||e.event))return;const d=this||E.target||e,L=d[ee[E.type][ie]];if(L)if(1===L.length)S(L[0],d,E);else{const z=L.slice();for(let j=0;jfunction(c,u){c[xe]=!0,r&&r.apply(c,u)})}function gt(e,n,i,r,c){const u=Zone.__symbol__(r);if(n[u])return;const f=n[u]=n[r];n[r]=function(_,g,T){return g&&g.prototype&&c.forEach(function(m){const S=`${i}.${r}::`+m,D=g.prototype;if(D.hasOwnProperty(m)){const Z=e.ObjectGetOwnPropertyDescriptor(D,m);Z&&Z.value?(Z.value=e.wrapWithCurrentZone(Z.value,S),e._redefineProperty(g.prototype,m,Z)):D[m]&&(D[m]=e.wrapWithCurrentZone(D[m],S))}else D[m]&&(D[m]=e.wrapWithCurrentZone(D[m],S))}),f.call(n,_,g,T)},e.attachOriginToPatched(n[r],f)}const Ve=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],wt=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],tt=["load"],nt=["blur","error","focus","load","resize","scroll","messageerror"],Dt=["bounce","finish","start"],rt=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],Ee=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],St=["close","error","open","message"],Ot=["error","message"],Te=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],Ve,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function ot(e,n,i){if(!i||0===i.length)return n;const r=i.filter(u=>u.target===e);if(!r||0===r.length)return n;const c=r[0].ignoreProperties;return n.filter(u=>-1===c.indexOf(u))}function W(e,n,i,r){e&&Ye(e,ot(e,n,i),r)}Zone.__load_patch("util",(e,n,i)=>{i.patchOnProperties=Ye,i.patchMethod=ce,i.bindArguments=Ae,i.patchMacroTask=_t;const r=n.__symbol__("BLACK_LISTED_EVENTS"),c=n.__symbol__("UNPATCHED_EVENTS");e[c]&&(e[r]=e[c]),e[r]&&(n[r]=n[c]=e[r]),i.patchEventPrototype=yt,i.patchEventTarget=Tt,i.isIEOrEdge=mt,i.ObjectDefineProperty=he,i.ObjectGetOwnPropertyDescriptor=ue,i.ObjectCreate=Be,i.ArraySlice=ut,i.patchClass=ve,i.wrapWithCurrentZone=Le,i.filterProperties=ot,i.attachOriginToPatched=ae,i._redefineProperty=Object.defineProperty,i.patchCallbacks=gt,i.getGlobalObjects=()=>({globalSources:Ke,zoneSymbolEventNames:ee,eventNames:Te,isBrowser:je,isMix:We,isNode:Re,TRUE_STR:se,FALSE_STR:ie,ZONE_SYMBOL_PREFIX:ke,ADD_EVENT_LISTENER_STR:Se,REMOVE_EVENT_LISTENER_STR:Oe})});const Ne=x("zoneTask");function ye(e,n,i,r){let c=null,u=null;i+=r;const f={};function _(T){const m=T.data;return m.args[0]=function(){return T.invoke.apply(this,arguments)},m.handleId=c.apply(e,m.args),T}function g(T){return u.call(e,T.data.handleId)}c=ce(e,n+=r,T=>function(m,S){if("function"==typeof S[0]){const D={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?S[1]||0:void 0,args:S},Z=S[0];S[0]=function(){try{return Z.apply(this,arguments)}finally{D.isPeriodic||("number"==typeof D.handleId?delete f[D.handleId]:D.handleId&&(D.handleId[Ne]=null))}};const B=Me(n,S[0],D,_,g);if(!B)return B;const V=B.data.handleId;return"number"==typeof V?f[V]=B:V&&(V[Ne]=B),V&&V.ref&&V.unref&&"function"==typeof V.ref&&"function"==typeof V.unref&&(B.ref=V.ref.bind(V),B.unref=V.unref.bind(V)),"number"==typeof V||V?V:B}return T.apply(e,S)}),u=ce(e,i,T=>function(m,S){const D=S[0];let Z;"number"==typeof D?Z=f[D]:(Z=D&&D[Ne],Z||(Z=D)),Z&&"string"==typeof Z.type?"notScheduled"!==Z.state&&(Z.cancelFn&&Z.data.isPeriodic||0===Z.runCount)&&("number"==typeof D?delete f[D]:D&&(D[Ne]=null),Z.zone.cancelTask(Z)):T.apply(e,S)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{i.patchMethod(e,"queueMicrotask",r=>function(c,u){n.current.scheduleMicroTask("queueMicrotask",u[0])})}),Zone.__load_patch("timers",e=>{const n="set",i="clear";ye(e,n,i,"Timeout"),ye(e,n,i,"Interval"),ye(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{ye(e,"request","cancel","AnimationFrame"),ye(e,"mozRequest","mozCancel","AnimationFrame"),ye(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let r=0;rfunction(g,T){return n.current.run(u,e,T,_)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function(e,n){n.patchEventPrototype(e,n)})(e,i),function(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:r,TRUE_STR:c,FALSE_STR:u,ZONE_SYMBOL_PREFIX:f}=n.getGlobalObjects();for(let g=0;g{ve("MutationObserver"),ve("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ve("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ve("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function(e,n){if(Re&&!We||Zone[e.symbol("patchEvents")])return;const i="undefined"!=typeof WebSocket,r=n.__Zone_ignore_on_properties;if(je){const f=window,_=function(){try{const e=pe.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}()?[{target:f,ignoreProperties:["error"]}]:[];W(f,Te.concat(["messageerror"]),r&&r.concat(_),de(f)),W(Document.prototype,Te,r),void 0!==f.SVGElement&&W(f.SVGElement.prototype,Te,r),W(Element.prototype,Te,r),W(HTMLElement.prototype,Te,r),W(HTMLMediaElement.prototype,wt,r),W(HTMLFrameSetElement.prototype,Ve.concat(nt),r),W(HTMLBodyElement.prototype,Ve.concat(nt),r),W(HTMLFrameElement.prototype,tt,r),W(HTMLIFrameElement.prototype,tt,r);const g=f.HTMLMarqueeElement;g&&W(g.prototype,Dt,r);const T=f.Worker;T&&W(T.prototype,Ot,r)}const c=n.XMLHttpRequest;c&&W(c.prototype,rt,r);const u=n.XMLHttpRequestEventTarget;u&&W(u&&u.prototype,rt,r),"undefined"!=typeof IDBIndex&&(W(IDBIndex.prototype,Ee,r),W(IDBRequest.prototype,Ee,r),W(IDBOpenDBRequest.prototype,Ee,r),W(IDBDatabase.prototype,Ee,r),W(IDBTransaction.prototype,Ee,r),W(IDBCursor.prototype,Ee,r)),i&&W(WebSocket.prototype,St,r)}(i,e)}),Zone.__load_patch("customElements",(e,n,i)=>{!function(e,n){const{isBrowser:i,isMix:r}=n.getGlobalObjects();(i||r)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function(T){const m=T.XMLHttpRequest;if(!m)return;const S=m.prototype;let Z=S[Ze],B=S[Ie];if(!Z){const v=T.XMLHttpRequestEventTarget;if(v){const M=v.prototype;Z=M[Ze],B=M[Ie]}}const V="readystatechange",E="scheduled";function d(v){const M=v.data,R=M.target;R[u]=!1,R[_]=!1;const J=R[c];Z||(Z=R[Ze],B=R[Ie]),J&&B.call(R,V,J);const le=R[c]=()=>{if(R.readyState===R.DONE)if(!M.aborted&&R[u]&&v.state===E){const te=R[n.__symbol__("loadfalse")];if(0!==R.status&&te&&te.length>0){const re=v.invoke;v.invoke=function(){const F=R[n.__symbol__("loadfalse")];for(let I=0;Ifunction(v,M){return v[r]=0==M[2],v[f]=M[1],j.apply(v,M)}),O=x("fetchTaskAborting"),X=x("fetchTaskScheduling"),A=ce(S,"send",()=>function(v,M){if(!0===n.current[X]||v[r])return A.apply(v,M);{const R={target:v,url:v[f],isPeriodic:!1,args:M,aborted:!1},J=Me("XMLHttpRequest.send",L,R,d,z);v&&!0===v[_]&&!R.aborted&&J.state===E&&J.invoke()}}),Y=ce(S,"abort",()=>function(v,M){const R=function(v){return v[i]}(v);if(R&&"string"==typeof R.type){if(null==R.cancelFn||R.data&&R.data.aborted)return;R.zone.cancelTask(R)}else if(!0===n.current[O])return Y.apply(v,M)})}(e);const i=x("xhrTask"),r=x("xhrSync"),c=x("xhrListener"),u=x("xhrScheduled"),f=x("xhrURL"),_=x("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function(e,n){const i=e.constructor.name;for(let r=0;r{const g=function(){return _.apply(this,Ae(arguments,i+"."+c))};return ae(g,_),g})(u)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(r){return function(c){et(e,r).forEach(f=>{const _=e.PromiseRejectionEvent;if(_){const g=new _(r,{promise:c.promise,reason:c.rejection});f.invoke(g)}})}}e.PromiseRejectionEvent&&(n[x("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[x("rejectionHandledHandler")]=i("rejectionhandled"))})},416:(we,ue,he)=>{he(277)}},we=>{we(we.s=416)}]); /*! (C) Andrea Giammarchi - @WebReflection - ISC Style License */ !function(e,t){"use strict";function n(){var e=C.splice(0,C.length);for(We=0;e.length;)e.shift().call(null,e.shift())}function r(e,t){for(var n=0,r=e.length;n1)&&E(this)}}}),Pe(l,B,{value:function(e){-1>0,R="__"+V+P,U="addEventListener",_="attached",k="Callback",x="detached",q="extends",B="attributeChanged"+k,Z=_+k,j="connected"+k,G="disconnected"+k,z="created"+k,K=x+k,X="ADDITION",$="REMOVAL",Q="DOMAttrModified",W="DOMContentLoaded",Y="DOMSubtreeModified",J="<",ee="=",te=/^[A-Z][._A-Z0-9]*-[-._A-Z0-9]*$/,ne=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],re=[],oe=[],le="",ae=g.documentElement,ie=re.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},ue=b.prototype,ce=ue.hasOwnProperty,se=ue.isPrototypeOf,me=b.defineProperty,fe=[],de=b.getOwnPropertyDescriptor,pe=b.getOwnPropertyNames,he=b.getPrototypeOf,Te=b.setPrototypeOf,Le=!!b.__proto__,Me="__dreCEv1",Ee=e.customElements,ve=!/^force/.test(t.type)&&!!(Ee&&Ee.define&&Ee.get&&Ee.whenDefined),He=b.create||b,ge=e.Map||function(){var e,t=[],n=[];return{get:function(e){return n[ie.call(t,e)]},set:function(r,o){(e=ie.call(t,r))<0?n[t.push(r)-1]=o:n[e]=o}}},be=e.Promise||function(e){function t(e){for(r=!0;n.length;)n.shift()(e)}var n=[],r=!1,o={catch:function(){return o},then:function(e){return n.push(e),r&&setTimeout(t,1),o}};return e(t),o},ye=!1,Ce=He(null),we=He(null),Ae=new ge,Oe=function(e){return e.toLowerCase()},Ne=b.create||function e(t){return t?(e.prototype=t,new e):this},De=Te||(Le?function(e,t){return e.__proto__=t,e}:pe&&de?function(){function e(e,t){for(var n,r=pe(t),o=0,l=r.length;o
    ",new Ie(function(e,t){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var n=(S=de(Se,"innerHTML"))&&S.set;n&&me(Se,"innerHTML",{set:function(e){for(;this.lastChild;)this.removeChild(this.lastChild);n.call(this,e)}})}t.disconnect(),S=null}).observe(S,{childList:!0,subtree:!0}),S.innerHTML=""),Ye||(Te||Le?(I=function(e,t){se.call(t,e)||f(e,t)},F=f):F=I=function(e,t){e[R]||(e[R]=b(!0),f(e,t))},Ve?(tt=!1,function(){var e=de(Se,U),t=e.value,n=function(e){var t=new CustomEvent(Q,{bubbles:!0});t.attrName=e,t.prevValue=Be.call(this,e),t.newValue=null,t[$]=t.attrChange=2,je.call(this,e),qe.call(this,t)},r=function(e,t){var n=Ze.call(this,e),r=n&&Be.call(this,e),o=new CustomEvent(Q,{bubbles:!0});Ge.call(this,e,t),o.attrName=e,o.prevValue=n?r:null,o.newValue=t,n?o.MODIFICATION=o.attrChange=1:o[X]=o.attrChange=0,qe.call(this,o)},o=function(e){var t,n=e.currentTarget,r=n[R],o=e.propertyName;r.hasOwnProperty(o)&&(r=r[o],(t=new CustomEvent(Q,{bubbles:!0})).attrName=r.name,t.prevValue=r.value||null,t.newValue=r.value=n[o]||null,null==t.prevValue?t[X]=t.attrChange=0:t.MODIFICATION=t.attrChange=1,qe.call(n,t))};e.value=function(e,l,a){e===Q&&this[B]&&this.setAttribute!==r&&(this[R]={className:{name:"class",value:this.className}},this.setAttribute=r,this.removeAttribute=n,t.call(this,"propertychange",o)),t.call(this,e,l,a)},me(Se,U,e)}()):Ie||(ae[U](Q,Qe),ae.setAttribute(R,1),ae.removeAttribute(R),tt&&(w=function(e){var t,n,r,o=this;if(o===e.target){for(r in t=o[R],o[R]=n=O(o),n){if(!(r in t))return A(0,o,r,t[r],n[r],X);if(n[r]!==t[r])return A(1,o,r,t[r],n[r],"MODIFICATION")}for(r in t)if(!(r in n))return A(2,o,r,t[r],n[r],$)}},A=function(e,t,n,r,o,l){var a={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:o};a[l]=e,i(a)},O=function(e){for(var t,n,r={},o=e.attributes,l=0,a=o.length;l$");if(n[q]="a",(t.prototype=Ne(Fe.prototype)).constructor=t,e.customElements.define(r,t,n),!o.test(g.createElement("a",{is:r}).outerHTML)||!o.test((new t).outerHTML))throw n}(function e(){return Reflect.construct(Fe,[],e)},{},"document-register-element-a"+P)}catch(e){H()}if(!t.noBuiltIn)try{if(ze.call(g,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(e){Oe=function(e){return{is:e.toLowerCase()}}}}(window); -var dke=Object.defineProperty,hke=Object.defineProperties,fke=Object.getOwnPropertyDescriptors,C1=Object.getOwnPropertySymbols,jq=Object.prototype.hasOwnProperty,Vq=Object.prototype.propertyIsEnumerable,Er=Math.pow,Uq=(Ut,it,Je)=>it in Ut?dke(Ut,it,{enumerable:!0,configurable:!0,writable:!0,value:Je}):Ut[it]=Je,ot=(Ut,it)=>{for(var Je in it||(it={}))jq.call(it,Je)&&Uq(Ut,Je,it[Je]);if(C1)for(var Je of C1(it))Vq.call(it,Je)&&Uq(Ut,Je,it[Je]);return Ut},Cn=(Ut,it)=>hke(Ut,fke(it)),zq=(Ut,it)=>{var Je={};for(var yt in Ut)jq.call(Ut,yt)&&it.indexOf(yt)<0&&(Je[yt]=Ut[yt]);if(null!=Ut&&C1)for(var yt of C1(Ut))it.indexOf(yt)<0&&Vq.call(Ut,yt)&&(Je[yt]=Ut[yt]);return Je};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{440:(Ut,it,Je)=>{var yt=Je(52).default;Ut.exports=function Y(Se,he,W){function j(z,v){if(!he[z]){if(!Se[z]){if(P)return P(z,!0);var O=new Error("Cannot find module '"+z+"'");throw O.code="MODULE_NOT_FOUND",O}var A=he[z]={exports:{}};Se[z][0].call(A.exports,function(b){return j(Se[z][1][b]||b)},A,A.exports,Y,Se,he,W)}return he[z].exports}for(var P=void 0,Q=0;Q0&&G[G.length-1])&&(6===_t[0]||2===_t[0])){$e=0;continue}if(3===_t[0]&&(!G||_t[1]>G[0]&&_t[1]0?ce-4:ce;for($=0;$>16&255,I[X++]=R>>8&255,I[X++]=255&R;return 2===D&&(R=j[V.charCodeAt($)]<<2|j[V.charCodeAt($+1)]>>4,I[X++]=255&R),1===D&&(R=j[V.charCodeAt($)]<<10|j[V.charCodeAt($+1)]<<4|j[V.charCodeAt($+2)]>>2,I[X++]=R>>8&255,I[X++]=255&R),I},he.fromByteArray=function(V){for(var R,K=V.length,ce=K%3,D=[],I=16383,X=0,E=K-ce;XE?E:X+I));return 1===ce?D.push(W[(R=V[K-1])>>2]+W[R<<4&63]+"=="):2===ce&&D.push(W[(R=(V[K-2]<<8)+V[K-1])>>10]+W[R>>4&63]+W[R<<2&63]+"="),D.join("")};for(var W=[],j=[],P="undefined"!=typeof Uint8Array?Uint8Array:Array,Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",z=0,v=Q.length;z0)throw new Error("Invalid string. Length must be a multiple of 4");var K=V.indexOf("=");return-1===K&&(K=R),[K,K===R?0:4-K%4]}function y(V){return W[V>>18&63]+W[V>>12&63]+W[V>>6&63]+W[63&V]}function S(V,R,K){for(var D=[],I=R;I>5==6?2:D>>4==14?3:D>>3==30?4:D>>6==2?-1:-2}function A(D){var I=this.lastTotal-this.lastNeed,X=function(D,I,X){if(128!=(192&I[0]))return D.lastNeed=0,"\ufffd";if(D.lastNeed>1&&I.length>1){if(128!=(192&I[1]))return D.lastNeed=1,"\ufffd";if(D.lastNeed>2&&I.length>2&&128!=(192&I[2]))return D.lastNeed=2,"\ufffd"}}(this,D);return void 0!==X?X:this.lastNeed<=D.length?(D.copy(this.lastChar,I,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(D.copy(this.lastChar,I,0,D.length),void(this.lastNeed-=D.length))}function S(D,I){if((D.length-I)%2==0){var X=D.toString("utf16le",I);if(X){var E=X.charCodeAt(X.length-1);if(E>=55296&&E<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=D[D.length-2],this.lastChar[1]=D[D.length-1],X.slice(0,-1)}return X}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=D[D.length-1],D.toString("utf16le",I,D.length-1)}function T(D){var I=D&&D.length?this.write(D):"";return this.lastNeed?I+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):I}function V(D,I){var X=(D.length-I)%3;return 0===X?D.toString("base64",I):(this.lastNeed=3-X,this.lastTotal=3,1===X?this.lastChar[0]=D[D.length-1]:(this.lastChar[0]=D[D.length-2],this.lastChar[1]=D[D.length-1]),D.toString("base64",I,D.length-X))}function R(D){var I=D&&D.length?this.write(D):"";return this.lastNeed?I+this.lastChar.toString("base64",0,3-this.lastNeed):I}function K(D){return D.toString(this.encoding)}function ce(D){return D&&D.length?this.write(D):""}he.StringDecoder=z,z.prototype.write=function(D){if(0===D.length)return"";var I,X;if(this.lastNeed){if(void 0===(I=this.fillLast(D)))return"";X=this.lastNeed,this.lastNeed=0}else X=0;return X=0?($>0&&(D.lastNeed=$-1),$):--E=0?($>0&&(D.lastNeed=$-2),$):--E=0?($>0&&(2===$?$=0:D.lastNeed=$-3),$):0}(this,D,I);if(!this.lastNeed)return D.toString("utf8",I);this.lastTotal=X;var E=D.length-(X-this.lastNeed);return D.copy(this.lastChar,0,E),D.toString("utf8",I,E)},z.prototype.fillLast=function(D){if(this.lastNeed<=D.length)return D.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);D.copy(this.lastChar,this.lastTotal-this.lastNeed,0,D.length),this.lastNeed-=D.length}},{"safe-buffer":4}],6:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Y("base64-js"),P=Y("ieee754");he.Buffer=x,he.SlowBuffer=function(L){return+L!=L&&(L=0),x.alloc(+L)},he.INSPECT_MAX_BYTES=50;var Q=2147483647;function v(L){if(L>Q)throw new RangeError('The value "'+L+'" is invalid for option "size"');var N=new Uint8Array(L);return N.__proto__=x.prototype,N}function x(L,N,B){if("number"==typeof L){if("string"==typeof N)throw new TypeError('The "string" argument must be of type string. Received type number');return y(L)}return O(L,N,B)}function O(L,N,B){if("string"==typeof L)return function(L,N){if(("string"!=typeof N||""===N)&&(N="utf8"),!x.isEncoding(N))throw new TypeError("Unknown encoding: "+N);var B=0|D(L,N),Re=v(B),Qe=Re.write(L,N);return Qe!==B&&(Re=Re.slice(0,Qe)),Re}(L,N);if(ArrayBuffer.isView(L))return T(L);if(null==L)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof L);if(pt(L,ArrayBuffer)||L&&pt(L.buffer,ArrayBuffer))return function(L,N,B){if(N<0||L.byteLength=Q)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Q.toString(16)+" bytes");return 0|L}function D(L,N){if(x.isBuffer(L))return L.length;if(ArrayBuffer.isView(L)||pt(L,ArrayBuffer))return L.byteLength;if("string"!=typeof L)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof L);var B=L.length,Re=arguments.length>2&&!0===arguments[2];if(!Re&&0===B)return 0;for(var Qe=!1;;)switch(N){case"ascii":case"latin1":case"binary":return B;case"utf8":case"utf-8":return G(L).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*B;case"hex":return B>>>1;case"base64":return je(L).length;default:if(Qe)return Re?-1:G(L).length;N=(""+N).toLowerCase(),Qe=!0}}function I(L,N,B){var Re=!1;if((void 0===N||N<0)&&(N=0),N>this.length||((void 0===B||B>this.length)&&(B=this.length),B<=0)||(B>>>=0)<=(N>>>=0))return"";for(L||(L="utf8");;)switch(L){case"hex":return tt(this,N,B);case"utf8":case"utf-8":return _e(this,N,B);case"ascii":return st(this,N,B);case"latin1":case"binary":return Xe(this,N,B);case"base64":return ne(this,N,B);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ye(this,N,B);default:if(Re)throw new TypeError("Unknown encoding: "+L);L=(L+"").toLowerCase(),Re=!0}}function X(L,N,B){var Re=L[N];L[N]=L[B],L[B]=Re}function E(L,N,B,Re,Qe){if(0===L.length)return-1;if("string"==typeof B?(Re=B,B=0):B>2147483647?B=2147483647:B<-2147483648&&(B=-2147483648),ve(B=+B)&&(B=Qe?0:L.length-1),B<0&&(B=L.length+B),B>=L.length){if(Qe)return-1;B=L.length-1}else if(B<0){if(!Qe)return-1;B=0}if("string"==typeof N&&(N=x.from(N,Re)),x.isBuffer(N))return 0===N.length?-1:$(L,N,B,Re,Qe);if("number"==typeof N)return N&=255,"function"==typeof Uint8Array.prototype.indexOf?Qe?Uint8Array.prototype.indexOf.call(L,N,B):Uint8Array.prototype.lastIndexOf.call(L,N,B):$(L,[N],B,Re,Qe);throw new TypeError("val must be string, number or Buffer")}function $(L,N,B,Re,Qe){var Yn,St=1,Nt=L.length,On=N.length;if(void 0!==Re&&("ucs2"===(Re=String(Re).toLowerCase())||"ucs-2"===Re||"utf16le"===Re||"utf-16le"===Re)){if(L.length<2||N.length<2)return-1;St=2,Nt/=2,On/=2,B/=2}function kn(Ls,gs){return 1===St?Ls[gs]:Ls.readUInt16BE(gs*St)}if(Qe){var Ti=-1;for(Yn=B;YnNt&&(B=Nt-On),Yn=B;Yn>=0;Yn--){for(var wi=!0,Xr=0;XrQe&&(Re=Qe):Re=Qe;var St=N.length;Re>St/2&&(Re=St/2);for(var Nt=0;Nt>8,St.push(B%256),St.push(Re);return St}(N,L.length-B),L,B,Re)}function ne(L,N,B){return j.fromByteArray(0===N&&B===L.length?L:L.slice(N,B))}function _e(L,N,B){B=Math.min(L.length,B);for(var Re=[],Qe=N;Qe239?4:St>223?3:St>191?2:1;if(Qe+On<=B)switch(On){case 1:St<128&&(Nt=St);break;case 2:128==(192&(kn=L[Qe+1]))&&(wi=(31&St)<<6|63&kn)>127&&(Nt=wi);break;case 3:Yn=L[Qe+2],128==(192&(kn=L[Qe+1]))&&128==(192&Yn)&&(wi=(15&St)<<12|(63&kn)<<6|63&Yn)>2047&&(wi<55296||wi>57343)&&(Nt=wi);break;case 4:Yn=L[Qe+2],Ti=L[Qe+3],128==(192&(kn=L[Qe+1]))&&128==(192&Yn)&&128==(192&Ti)&&(wi=(15&St)<<18|(63&kn)<<12|(63&Yn)<<6|63&Ti)>65535&&wi<1114112&&(Nt=wi)}null===Nt?(Nt=65533,On=1):Nt>65535&&(Re.push((Nt-=65536)>>>10&1023|55296),Nt=56320|1023&Nt),Re.push(Nt),Qe+=On}return function(L){var N=L.length;if(N<=4096)return String.fromCharCode.apply(String,L);for(var B="",Re=0;ReB&&(N+=" ... "),""},x.prototype.compare=function(N,B,Re,Qe,St){if(pt(N,Uint8Array)&&(N=x.from(N,N.offset,N.byteLength)),!x.isBuffer(N))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof N);if(void 0===B&&(B=0),void 0===Re&&(Re=N?N.length:0),void 0===Qe&&(Qe=0),void 0===St&&(St=this.length),B<0||Re>N.length||Qe<0||St>this.length)throw new RangeError("out of range index");if(Qe>=St&&B>=Re)return 0;if(Qe>=St)return-1;if(B>=Re)return 1;if(this===N)return 0;for(var Nt=(St>>>=0)-(Qe>>>=0),On=(Re>>>=0)-(B>>>=0),kn=Math.min(Nt,On),Yn=this.slice(Qe,St),Ti=N.slice(B,Re),wi=0;wi>>=0,isFinite(Re)?(Re>>>=0,void 0===Qe&&(Qe="utf8")):(Qe=Re,Re=void 0)}var St=this.length-B;if((void 0===Re||Re>St)&&(Re=St),N.length>0&&(Re<0||B<0)||B>this.length)throw new RangeError("Attempt to write outside buffer bounds");Qe||(Qe="utf8");for(var Nt=!1;;)switch(Qe){case"hex":return Z(this,N,B,Re);case"utf8":case"utf-8":return oe(this,N,B,Re);case"ascii":return se(this,N,B,Re);case"latin1":case"binary":return te(this,N,B,Re);case"base64":return Ce(this,N,B,Re);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,N,B,Re);default:if(Nt)throw new TypeError("Unknown encoding: "+Qe);Qe=(""+Qe).toLowerCase(),Nt=!0}},x.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function st(L,N,B){var Re="";B=Math.min(L.length,B);for(var Qe=N;QeRe)&&(B=Re);for(var Qe="",St=N;StB)throw new RangeError("Trying to access beyond buffer length")}function ke(L,N,B,Re,Qe,St){if(!x.isBuffer(L))throw new TypeError('"buffer" argument must be a Buffer instance');if(N>Qe||NL.length)throw new RangeError("Index out of range")}function Ke(L,N,B,Re,Qe,St){if(B+Re>L.length)throw new RangeError("Index out of range");if(B<0)throw new RangeError("Index out of range")}function Me(L,N,B,Re,Qe){return N=+N,B>>>=0,Qe||Ke(L,0,B,4),P.write(L,N,B,Re,23,4),B+4}function Ve(L,N,B,Re,Qe){return N=+N,B>>>=0,Qe||Ke(L,0,B,8),P.write(L,N,B,Re,52,8),B+8}x.prototype.slice=function(N,B){var Re=this.length;(N=~~N)<0?(N+=Re)<0&&(N=0):N>Re&&(N=Re),(B=void 0===B?Re:~~B)<0?(B+=Re)<0&&(B=0):B>Re&&(B=Re),B>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N],St=1,Nt=0;++Nt>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N+--B],St=1;B>0&&(St*=256);)Qe+=this[N+--B]*St;return Qe},x.prototype.readUInt8=function(N,B){return N>>>=0,B||Ue(N,1,this.length),this[N]},x.prototype.readUInt16LE=function(N,B){return N>>>=0,B||Ue(N,2,this.length),this[N]|this[N+1]<<8},x.prototype.readUInt16BE=function(N,B){return N>>>=0,B||Ue(N,2,this.length),this[N]<<8|this[N+1]},x.prototype.readUInt32LE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),(this[N]|this[N+1]<<8|this[N+2]<<16)+16777216*this[N+3]},x.prototype.readUInt32BE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),16777216*this[N]+(this[N+1]<<16|this[N+2]<<8|this[N+3])},x.prototype.readIntLE=function(N,B,Re){N>>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=this[N],St=1,Nt=0;++Nt=(St*=128)&&(Qe-=Math.pow(2,8*B)),Qe},x.prototype.readIntBE=function(N,B,Re){N>>>=0,B>>>=0,Re||Ue(N,B,this.length);for(var Qe=B,St=1,Nt=this[N+--Qe];Qe>0&&(St*=256);)Nt+=this[N+--Qe]*St;return Nt>=(St*=128)&&(Nt-=Math.pow(2,8*B)),Nt},x.prototype.readInt8=function(N,B){return N>>>=0,B||Ue(N,1,this.length),128&this[N]?-1*(255-this[N]+1):this[N]},x.prototype.readInt16LE=function(N,B){N>>>=0,B||Ue(N,2,this.length);var Re=this[N]|this[N+1]<<8;return 32768&Re?4294901760|Re:Re},x.prototype.readInt16BE=function(N,B){N>>>=0,B||Ue(N,2,this.length);var Re=this[N+1]|this[N]<<8;return 32768&Re?4294901760|Re:Re},x.prototype.readInt32LE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),this[N]|this[N+1]<<8|this[N+2]<<16|this[N+3]<<24},x.prototype.readInt32BE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),this[N]<<24|this[N+1]<<16|this[N+2]<<8|this[N+3]},x.prototype.readFloatLE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),P.read(this,N,!0,23,4)},x.prototype.readFloatBE=function(N,B){return N>>>=0,B||Ue(N,4,this.length),P.read(this,N,!1,23,4)},x.prototype.readDoubleLE=function(N,B){return N>>>=0,B||Ue(N,8,this.length),P.read(this,N,!0,52,8)},x.prototype.readDoubleBE=function(N,B){return N>>>=0,B||Ue(N,8,this.length),P.read(this,N,!1,52,8)},x.prototype.writeUIntLE=function(N,B,Re,Qe){N=+N,B>>>=0,Re>>>=0,Qe||ke(this,N,B,Re,Math.pow(2,8*Re)-1,0);var Nt=1,On=0;for(this[B]=255&N;++On>>=0,Re>>>=0,Qe||ke(this,N,B,Re,Math.pow(2,8*Re)-1,0);var Nt=Re-1,On=1;for(this[B+Nt]=255&N;--Nt>=0&&(On*=256);)this[B+Nt]=N/On&255;return B+Re},x.prototype.writeUInt8=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,1,255,0),this[B]=255&N,B+1},x.prototype.writeUInt16LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,65535,0),this[B]=255&N,this[B+1]=N>>>8,B+2},x.prototype.writeUInt16BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,65535,0),this[B]=N>>>8,this[B+1]=255&N,B+2},x.prototype.writeUInt32LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,4294967295,0),this[B+3]=N>>>24,this[B+2]=N>>>16,this[B+1]=N>>>8,this[B]=255&N,B+4},x.prototype.writeUInt32BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,4294967295,0),this[B]=N>>>24,this[B+1]=N>>>16,this[B+2]=N>>>8,this[B+3]=255&N,B+4},x.prototype.writeIntLE=function(N,B,Re,Qe){if(N=+N,B>>>=0,!Qe){var St=Math.pow(2,8*Re-1);ke(this,N,B,Re,St-1,-St)}var Nt=0,On=1,kn=0;for(this[B]=255&N;++Nt>0)-kn&255;return B+Re},x.prototype.writeIntBE=function(N,B,Re,Qe){if(N=+N,B>>>=0,!Qe){var St=Math.pow(2,8*Re-1);ke(this,N,B,Re,St-1,-St)}var Nt=Re-1,On=1,kn=0;for(this[B+Nt]=255&N;--Nt>=0&&(On*=256);)N<0&&0===kn&&0!==this[B+Nt+1]&&(kn=1),this[B+Nt]=(N/On>>0)-kn&255;return B+Re},x.prototype.writeInt8=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,1,127,-128),N<0&&(N=255+N+1),this[B]=255&N,B+1},x.prototype.writeInt16LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,32767,-32768),this[B]=255&N,this[B+1]=N>>>8,B+2},x.prototype.writeInt16BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,2,32767,-32768),this[B]=N>>>8,this[B+1]=255&N,B+2},x.prototype.writeInt32LE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,2147483647,-2147483648),this[B]=255&N,this[B+1]=N>>>8,this[B+2]=N>>>16,this[B+3]=N>>>24,B+4},x.prototype.writeInt32BE=function(N,B,Re){return N=+N,B>>>=0,Re||ke(this,N,B,4,2147483647,-2147483648),N<0&&(N=4294967295+N+1),this[B]=N>>>24,this[B+1]=N>>>16,this[B+2]=N>>>8,this[B+3]=255&N,B+4},x.prototype.writeFloatLE=function(N,B,Re){return Me(this,N,B,!0,Re)},x.prototype.writeFloatBE=function(N,B,Re){return Me(this,N,B,!1,Re)},x.prototype.writeDoubleLE=function(N,B,Re){return Ve(this,N,B,!0,Re)},x.prototype.writeDoubleBE=function(N,B,Re){return Ve(this,N,B,!1,Re)},x.prototype.copy=function(N,B,Re,Qe){if(!x.isBuffer(N))throw new TypeError("argument should be a Buffer");if(Re||(Re=0),!Qe&&0!==Qe&&(Qe=this.length),B>=N.length&&(B=N.length),B||(B=0),Qe>0&&Qe=this.length)throw new RangeError("Index out of range");if(Qe<0)throw new RangeError("sourceEnd out of bounds");Qe>this.length&&(Qe=this.length),N.length-B=0;--Nt)N[Nt+B]=this[Nt+Re];else Uint8Array.prototype.set.call(N,this.subarray(Re,Qe),B);return St},x.prototype.fill=function(N,B,Re,Qe){if("string"==typeof N){if("string"==typeof B?(Qe=B,B=0,Re=this.length):"string"==typeof Re&&(Qe=Re,Re=this.length),void 0!==Qe&&"string"!=typeof Qe)throw new TypeError("encoding must be a string");if("string"==typeof Qe&&!x.isEncoding(Qe))throw new TypeError("Unknown encoding: "+Qe);if(1===N.length){var St=N.charCodeAt(0);("utf8"===Qe&&St<128||"latin1"===Qe)&&(N=St)}}else"number"==typeof N&&(N&=255);if(B<0||this.length>>=0,Re=void 0===Re?this.length:Re>>>0,N||(N=0),"number"==typeof N)for(Nt=B;Nt55295&&B<57344){if(!Qe){if(B>56319){(N-=3)>-1&&St.push(239,191,189);continue}if(Nt+1===Re){(N-=3)>-1&&St.push(239,191,189);continue}Qe=B;continue}if(B<56320){(N-=3)>-1&&St.push(239,191,189),Qe=B;continue}B=65536+(Qe-55296<<10|B-56320)}else Qe&&(N-=3)>-1&&St.push(239,191,189);if(Qe=null,B<128){if((N-=1)<0)break;St.push(B)}else if(B<2048){if((N-=2)<0)break;St.push(B>>6|192,63&B|128)}else if(B<65536){if((N-=3)<0)break;St.push(B>>12|224,B>>6&63|128,63&B|128)}else{if(!(B<1114112))throw new Error("Invalid code point");if((N-=4)<0)break;St.push(B>>18|240,B>>12&63|128,B>>6&63|128,63&B|128)}}return St}function je(L){return j.toByteArray(function(L){if((L=(L=L.split("=")[0]).trim().replace($e,"")).length<2)return"";for(;L.length%4!=0;)L+="=";return L}(L))}function _t(L,N,B,Re){for(var Qe=0;Qe=N.length||Qe>=L.length);++Qe)N[Qe+B]=L[Qe];return Qe}function pt(L,N){return L instanceof N||null!=L&&null!=L.constructor&&null!=L.constructor.name&&L.constructor.name===N.name}function ve(L){return L!=L}}).call(this)}).call(this,Y("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(Y,Se,he){"use strict";Se.exports=function W(j){return null===j||"object"!=typeof j||null!=j.toJSON?JSON.stringify(j):Array.isArray(j)?"["+j.reduce((P,Q,z)=>P+(0===z?"":",")+W(void 0===Q||"symbol"==typeof Q?null:Q),"")+"]":"{"+Object.keys(j).sort().reduce((P,Q,z)=>void 0===j[Q]||"symbol"==typeof j[Q]?P:P+(0===P.length?"":",")+W(Q)+":"+W(j[Q]),"")+"}"}},{}],8:[function(Y,Se,he){"use strict";var P,W="object"==typeof Reflect?Reflect:null,j=W&&"function"==typeof W.apply?W.apply:function($,Z,oe){return Function.prototype.apply.call($,Z,oe)};P=W&&"function"==typeof W.ownKeys?W.ownKeys:Object.getOwnPropertySymbols?function($){return Object.getOwnPropertyNames($).concat(Object.getOwnPropertySymbols($))}:function($){return Object.getOwnPropertyNames($)};var z=Number.isNaN||function($){return $!=$};function v(){v.init.call(this)}Se.exports=v,Se.exports.once=function(E,$){return new Promise(function(Z,oe){function se(Ce){E.removeListener($,te),oe(Ce)}function te(){"function"==typeof E.removeListener&&E.removeListener("error",se),Z([].slice.call(arguments))}X(E,$,te,{once:!0}),"error"!==$&&function(E,$,Z){"function"==typeof E.on&&X(E,"error",$,Z)}(E,se,{once:!0})})},v.EventEmitter=v,v.prototype._events=void 0,v.prototype._eventsCount=0,v.prototype._maxListeners=void 0;var x=10;function O(E){if("function"!=typeof E)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof E)}function A(E){return void 0===E._maxListeners?v.defaultMaxListeners:E._maxListeners}function b(E,$,Z,oe){var se,te,Ce;if(O(Z),void 0===(te=E._events)?(te=E._events=Object.create(null),E._eventsCount=0):(void 0!==te.newListener&&(E.emit("newListener",$,Z.listener?Z.listener:Z),te=E._events),Ce=te[$]),void 0===Ce)Ce=te[$]=Z,++E._eventsCount;else if("function"==typeof Ce?Ce=te[$]=oe?[Z,Ce]:[Ce,Z]:oe?Ce.unshift(Z):Ce.push(Z),(se=A(E))>0&&Ce.length>se&&!Ce.warned){Ce.warned=!0;var me=new Error("Possible EventEmitter memory leak detected. "+Ce.length+" "+String($)+" listeners added. Use emitter.setMaxListeners() to increase limit");me.name="MaxListenersExceededWarning",me.emitter=E,me.type=$,me.count=Ce.length,function(E){console&&console.warn&&console.warn(E)}(me)}return E}function y(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function S(E,$,Z){var oe={fired:!1,wrapFn:void 0,target:E,type:$,listener:Z},se=y.bind(oe);return se.listener=Z,oe.wrapFn=se,se}function T(E,$,Z){var oe=E._events;if(void 0===oe)return[];var se=oe[$];return void 0===se?[]:"function"==typeof se?Z?[se.listener||se]:[se]:Z?function(E){for(var $=new Array(E.length),Z=0;Z<$.length;++Z)$[Z]=E[Z].listener||E[Z];return $}(se):R(se,se.length)}function V(E){var $=this._events;if(void 0!==$){var Z=$[E];if("function"==typeof Z)return 1;if(void 0!==Z)return Z.length}return 0}function R(E,$){for(var Z=new Array($),oe=0;oe<$;++oe)Z[oe]=E[oe];return Z}function X(E,$,Z,oe){if("function"==typeof E.on)oe.once?E.once($,Z):E.on($,Z);else{if("function"!=typeof E.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof E);E.addEventListener($,function se(te){oe.once&&E.removeEventListener($,se),Z(te)})}}Object.defineProperty(v,"defaultMaxListeners",{enumerable:!0,get:function(){return x},set:function(E){if("number"!=typeof E||E<0||z(E))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+E+".");x=E}}),v.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},v.prototype.setMaxListeners=function($){if("number"!=typeof $||$<0||z($))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+$+".");return this._maxListeners=$,this},v.prototype.getMaxListeners=function(){return A(this)},v.prototype.emit=function($){for(var Z=[],oe=1;oe0&&(Ce=Z[0]),Ce instanceof Error)throw Ce;var me=new Error("Unhandled error."+(Ce?" ("+Ce.message+")":""));throw me.context=Ce,me}var ne=te[$];if(void 0===ne)return!1;if("function"==typeof ne)j(ne,this,Z);else{var _e=ne.length,Ie=R(ne,_e);for(oe=0;oe<_e;++oe)j(Ie[oe],this,Z)}return!0},v.prototype.on=v.prototype.addListener=function($,Z){return b(this,$,Z,!1)},v.prototype.prependListener=function($,Z){return b(this,$,Z,!0)},v.prototype.once=function($,Z){return O(Z),this.on($,S(this,$,Z)),this},v.prototype.prependOnceListener=function($,Z){return O(Z),this.prependListener($,S(this,$,Z)),this},v.prototype.off=v.prototype.removeListener=function($,Z){var oe,se,te,Ce,me;if(O(Z),void 0===(se=this._events))return this;if(void 0===(oe=se[$]))return this;if(oe===Z||oe.listener===Z)0==--this._eventsCount?this._events=Object.create(null):(delete se[$],se.removeListener&&this.emit("removeListener",$,oe.listener||Z));else if("function"!=typeof oe){for(te=-1,Ce=oe.length-1;Ce>=0;Ce--)if(oe[Ce]===Z||oe[Ce].listener===Z){me=oe[Ce].listener,te=Ce;break}if(te<0)return this;0===te?oe.shift():function(E,$){for(;$+1=0;se--)this.removeListener($,Z[se]);return this},v.prototype.listeners=function($){return T(this,$,!0)},v.prototype.rawListeners=function($){return T(this,$,!1)},v.listenerCount=function(E,$){return"function"==typeof E.listenerCount?E.listenerCount($):V.call(E,$)},v.prototype.listenerCount=V,v.prototype.eventNames=function(){return this._eventsCount>0?P(this._events):[]}},{}],9:[function(Y,Se,he){he.read=function(W,j,P,Q,z){var v,x,O=8*z-Q-1,A=(1<>1,y=-7,S=P?z-1:0,T=P?-1:1,V=W[j+S];for(S+=T,v=V&(1<<-y)-1,V>>=-y,y+=O;y>0;v=256*v+W[j+S],S+=T,y-=8);for(x=v&(1<<-y)-1,v>>=-y,y+=Q;y>0;x=256*x+W[j+S],S+=T,y-=8);if(0===v)v=1-b;else{if(v===A)return x?NaN:1/0*(V?-1:1);x+=Math.pow(2,Q),v-=b}return(V?-1:1)*x*Math.pow(2,v-Q)},he.write=function(W,j,P,Q,z,v){var x,O,A,b=8*v-z-1,y=(1<>1,T=23===z?Math.pow(2,-24)-Math.pow(2,-77):0,V=Q?0:v-1,R=Q?1:-1,K=j<0||0===j&&1/j<0?1:0;for(j=Math.abs(j),isNaN(j)||j===1/0?(O=isNaN(j)?1:0,x=y):(x=Math.floor(Math.log(j)/Math.LN2),j*(A=Math.pow(2,-x))<1&&(x--,A*=2),(j+=x+S>=1?T/A:T*Math.pow(2,1-S))*A>=2&&(x++,A/=2),x+S>=y?(O=0,x=y):x+S>=1?(O=(j*A-1)*Math.pow(2,z),x+=S):(O=j*Math.pow(2,S-1)*Math.pow(2,z),x=0));z>=8;W[P+V]=255&O,V+=R,O/=256,z-=8);for(x=x<0;W[P+V]=255&x,V+=R,x/=256,b-=8);W[P+V-R]|=128*K}},{}],10:[function(Y,Se,he){Se.exports="function"==typeof Object.create?function(j,P){P&&(j.super_=P,j.prototype=Object.create(P.prototype,{constructor:{value:j,enumerable:!1,writable:!0,configurable:!0}}))}:function(j,P){if(P){j.super_=P;var Q=function(){};Q.prototype=P.prototype,j.prototype=new Q,j.prototype.constructor=j}}},{}],11:[function(Y,Se,he){"use strict";const{isArray:W,isObject:j,isString:P}=Y("./types"),{asArray:Q}=Y("./util"),{prependBase:z}=Y("./url"),v=Y("./JsonLdError"),x=Y("./ResolvedContext");function A(y){throw new v("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:y})}function b({context:y,base:S}){if(!y)return;const T=y["@context"];if(P(T))y["@context"]=z(S,T);else if(W(T))for(let V=0;V10)throw new v("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"loading remote context failed":"context overflow",max:10});if(R.has(T))throw new v("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"recursive context inclusion":"context overflow",url:T});let K,ce;R.add(T);try{ce=yield V(T),K=ce.document||null,P(K)&&(K=JSON.parse(K))}catch(D){throw new v("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:T,cause:D})}if(!j(K))throw new v("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:T});return K="@context"in K?{"@context":K["@context"]}:{"@context":{}},ce.contextUrl&&(W(K["@context"])||(K["@context"]=[K["@context"]]),K["@context"].push(ce.contextUrl)),{context:K,remoteDoc:ce}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(Y,Se,he){"use strict";Se.exports=class extends Error{constructor(j="An unspecified JSON-LD error occurred.",P="jsonld.Error",Q={}){super(j),this.name=P,this.message=j,this.details=Q}}},{}],13:[function(Y,Se,he){"use strict";Se.exports=W=>{class j{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(j,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(j.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:j}),j.compact=function(P,Q){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):W.compact(P,Q)},j.expand=function(P){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):W.expand(P)},j.flatten=function(P){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):W.flatten(P)},j}},{}],14:[function(Y,Se,he){"use strict";Se.exports=Y("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(Y,Se,he){"use strict";Se.exports=class{constructor(){this._requests={}}wrapLoader(j){const P=this;return P._loader=j,function(){return P.add.apply(P,arguments)}}add(j){var P=this;return yt(function*(){let Q=P._requests[j];if(Q)return Promise.resolve(Q);Q=P._requests[j]=P._loader(j);try{return yield Q}finally{delete P._requests[j]}})()}}},{}],16:[function(Y,Se,he){"use strict";const W=Y("lru-cache");Se.exports=class{constructor({document:Q}){this.document=Q,this.cache=new W({max:10})}getProcessed(Q){return this.cache.get(Q)}setProcessed(Q,z){this.cache.set(Q,z)}}},{"lru-cache":33}],17:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:P,isString:Q,isUndefined:z}=Y("./types"),{isList:v,isValue:x,isGraph:O,isSimpleGraph:A,isSubjectReference:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:T,process:V,processingMode:R}=Y("./context"),{removeBase:K,prependBase:ce}=Y("./url"),{addValue:D,asArray:I,compareShortestLeast:X}=Y("./util"),E={};function Z(oe,se,te){if("@nest"!==y(oe,se,{vocab:!0},te))throw new W("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}Se.exports=E,E.compact=function(){var oe=yt(function*({activeCtx:se,activeProperty:te=null,element:Ce,options:me={},compactionMap:ne=(()=>{})}){if(j(Ce)){let Ie=[];for(let Ge=0;Ge1&&(tt=Array.from(tt).sort());const Ye=se;for(const ke of tt){const Ke=E.compactIri({activeCtx:Ye,iri:ke,relativeTo:{vocab:!0}}),Me=S(st,Ke,"@context");z(Me)||(se=yield V({activeCtx:se,localCtx:Me,options:me,propagate:!1}))}const Ue=Object.keys(Ce).sort();for(const ke of Ue){const Ke=Ce[ke];if("@id"!==ke)if("@type"!==ke)if("@reverse"!==ke)if("@preserve"!==ke)if("@index"!==ke)if("@graph"!==ke&&"@list"!==ke&&"@included"!==ke&&T(ke)){const Me=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Me,Ke)}else{if(!j(Ke))throw new W("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===Ke.length){const Me=E.compactIri({activeCtx:se,iri:ke,value:Ke,relativeTo:{vocab:!0},reverse:Ie}),Ve=se.mappings.has(Me)?se.mappings.get(Me)["@nest"]:null;let $e=Ge;Ve&&(Z(se,Ve,me),P(Ge[Ve])||(Ge[Ve]={}),$e=Ge[Ve]),D($e,Me,Ke,{propertyIsArray:!0})}for(const Me of Ke){const Ve=E.compactIri({activeCtx:se,iri:ke,value:Me,relativeTo:{vocab:!0},reverse:Ie}),$e=se.mappings.has(Ve)?se.mappings.get(Ve)["@nest"]:null;let Ne=Ge;$e&&(Z(se,$e,me),P(Ge[$e])||(Ge[$e]={}),Ne=Ge[$e]);const q=S(se,Ve,"@container")||[],G=O(Me),pe=v(Me);let ue;pe?ue=Me["@list"]:G&&(ue=Me["@graph"]);let je=yield E.compact({activeCtx:se,activeProperty:Ve,element:pe||G?ue:Me,options:me,compactionMap:ne});if(pe){if(j(je)||(je=[je]),q.includes("@list")){D(Ne,Ve,je,{valueIsArray:!0,allowDuplicate:!0});continue}je={[E.compactIri({activeCtx:se,iri:"@list",relativeTo:{vocab:!0}})]:je},"@index"in Me&&(je[E.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"])}if(G)if(q.includes("@graph")&&(q.includes("@id")||q.includes("@index")&&A(Me))){let _t;Ne.hasOwnProperty(Ve)?_t=Ne[Ve]:Ne[Ve]=_t={};const pt=(q.includes("@id")?Me["@id"]:Me["@index"])||E.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}});D(_t,pt,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})}else q.includes("@graph")&&A(Me)?(j(je)&&je.length>1&&(je={"@included":je}),D(Ne,Ve,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})):(j(je)&&1===je.length&&me.compactArrays&&(je=je[0]),je={[E.compactIri({activeCtx:se,iri:"@graph",relativeTo:{vocab:!0}})]:je},"@id"in Me&&(je[E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Me["@id"]),"@index"in Me&&(je[E.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"]),D(Ne,Ve,je,{propertyIsArray:!me.compactArrays||q.includes("@set")}));else if(q.includes("@language")||q.includes("@index")||q.includes("@id")||q.includes("@type")){let _t,pt;if(Ne.hasOwnProperty(Ve)?_t=Ne[Ve]:Ne[Ve]=_t={},q.includes("@language"))x(je)&&(je=je["@value"]),pt=Me["@language"];else if(q.includes("@index")){const ve=S(se,Ve,"@index")||"@index",L=E.compactIri({activeCtx:se,iri:ve,relativeTo:{vocab:!0}});if("@index"===ve)pt=Me["@index"],delete je[L];else{let N;if([pt,...N]=I(je[ve]||[]),Q(pt))switch(N.length){case 0:delete je[ve];break;case 1:je[ve]=N[0];break;default:je[ve]=N}else pt=null}}else if(q.includes("@id")){const ve=E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}});pt=je[ve],delete je[ve]}else if(q.includes("@type")){const ve=E.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}});let L;switch([pt,...L]=I(je[ve]||[]),L.length){case 0:delete je[ve];break;case 1:je[ve]=L[0];break;default:je[ve]=L}1===Object.keys(je).length&&"@id"in Me&&(je=yield E.compact({activeCtx:se,activeProperty:Ve,element:{"@id":Me["@id"]},options:me,compactionMap:ne}))}pt||(pt=E.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}})),D(_t,pt,je,{propertyIsArray:q.includes("@set")})}else{const _t=!me.compactArrays||q.includes("@set")||q.includes("@list")||j(je)&&0===je.length||"@list"===ke||"@graph"===ke;D(Ne,Ve,je,{propertyIsArray:_t})}}}else{if((S(se,te,"@container")||[]).includes("@index"))continue;const Ve=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Ve,Ke)}else{const Me=yield E.compact({activeCtx:se,activeProperty:te,element:Ke,options:me,compactionMap:ne});j(Me)&&0===Me.length||D(Ge,ke,Me)}else{const Me=yield E.compact({activeCtx:se,activeProperty:"@reverse",element:Ke,options:me,compactionMap:ne});for(const Ve in Me)if(se.mappings.has(Ve)&&se.mappings.get(Ve).reverse){const $e=Me[Ve],q=(S(se,Ve,"@container")||[]).includes("@set")||!me.compactArrays;D(Ge,Ve,$e,{propertyIsArray:q}),delete Me[Ve]}if(Object.keys(Me).length>0){const Ve=E.compactIri({activeCtx:se,iri:ke,relativeTo:{vocab:!0}});D(Ge,Ve,Me)}}else{let Me=I(Ke).map(G=>E.compactIri({activeCtx:st,iri:G,relativeTo:{vocab:!0}}));1===Me.length&&(Me=Me[0]);const Ve=E.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}}),q=(S(se,Ve,"@container")||[]).includes("@set")&&R(se,1.1)||j(Me)&&0===Ke.length;D(Ge,Ve,Me,{propertyIsArray:q})}else{let Me=I(Ke).map($e=>E.compactIri({activeCtx:se,iri:$e,relativeTo:{vocab:!1},base:me.base}));1===Me.length&&(Me=Me[0]),Ge[E.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Me}}return Ge}return Ce});return function(se){return oe.apply(this,arguments)}}(),E.compactIri=({activeCtx:oe,iri:se,value:te=null,relativeTo:Ce={vocab:!1},reverse:me=!1,base:ne=null})=>{if(null===se)return se;oe.isPropertyTermScoped&&oe.previousContext&&(oe=oe.previousContext);const _e=oe.getInverse();if(T(se)&&se in _e&&"@none"in _e[se]&&"@type"in _e[se]["@none"]&&"@none"in _e[se]["@none"]["@type"])return _e[se]["@none"]["@type"]["@none"];if(Ce.vocab&&se in _e){const tt=oe["@language"]||"@none",Ye=[];P(te)&&"@index"in te&&!("@graph"in te)&&Ye.push("@index","@index@set"),P(te)&&"@preserve"in te&&(te=te["@preserve"][0]),O(te)?("@index"in te&&Ye.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te&&Ye.push("@graph@id","@graph@id@set"),Ye.push("@graph","@graph@set","@set"),"@index"in te||Ye.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te||Ye.push("@graph@id","@graph@id@set")):P(te)&&!x(te)&&Ye.push("@id","@id@set","@type","@set@type");let Ue="@language",ke="@null";if(me)Ue="@type",ke="@reverse",Ye.push("@set");else if(v(te)){"@index"in te||Ye.push("@list");const Me=te["@list"];if(0===Me.length)Ue="@any",ke="@none";else{let Ve=0===Me.length?tt:null,$e=null;for(let Ne=0;Nest.includes("_"));Ge&&_e.push(Ge.replace(/^[^_]+_/,"_"))}_e.push("@none");const Ie=oe.inverse[se];for(const Ge of Ce){if(!(Ge in Ie))continue;const st=Ie[Ge][me];for(const Xe of _e)if(Xe in st)return st[Xe]}return null}(oe,se,te,Ye,Ue,ke);if(null!==Ke)return Ke}if(Ce.vocab&&"@vocab"in oe){const tt=oe["@vocab"];if(0===se.indexOf(tt)&&se!==tt){const Ye=se.substr(tt.length);if(!oe.mappings.has(Ye))return Ye}}let Ie=null;const Ge=[];let st=oe.fastCurieMap;const Xe=se.length-1;for(let tt=0;tt=0;--tt){const Ye=Ge[tt],Ue=Ye.terms;for(const ke of Ue){const Ke=ke+":"+se.substr(Ye.iri.length);oe.mappings.get(ke)._prefix&&(!oe.mappings.has(Ke)||null===te&&oe.mappings.get(Ke)["@id"]===se)&&(null===Ie||X(Ke,Ie)<0)&&(Ie=Ke)}}if(null!==Ie)return Ie;for(const[tt,Ye]of oe.mappings)if(Ye&&Ye._prefix&&se.startsWith(tt+":"))throw new W(`Absolute IRI "${se}" confused with prefix "${tt}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:oe});return Ce.vocab?se:"@base"in oe?oe["@base"]?K(ce(ne,oe["@base"]),se):se:K(ne,se)},E.compactValue=({activeCtx:oe,activeProperty:se,value:te,options:Ce})=>{if(x(te)){const Ie=S(oe,se,"@type"),Ge=S(oe,se,"@language"),st=S(oe,se,"@direction"),Xe=S(oe,se,"@container")||[],tt="@index"in te&&!Xe.includes("@index");if(!tt&&"@none"!==Ie&&(te["@type"]===Ie||"@language"in te&&te["@language"]===Ge&&"@direction"in te&&te["@direction"]===st||"@language"in te&&te["@language"]===Ge||"@direction"in te&&te["@direction"]===st))return te["@value"];const Ye=Object.keys(te).length,Ue=1===Ye||2===Ye&&"@index"in te&&!tt,ke="@language"in oe,Ke=Q(te["@value"]),Me=oe.mappings.has(se)&&null===oe.mappings.get(se)["@language"];if(Ue&&"@none"!==Ie&&(!ke||!Ke||Me))return te["@value"];const Ve={};return tt&&(Ve[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=te["@index"]),"@type"in te?Ve[E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}})]=E.compactIri({activeCtx:oe,iri:te["@type"],relativeTo:{vocab:!0}}):"@language"in te&&(Ve[E.compactIri({activeCtx:oe,iri:"@language",relativeTo:{vocab:!0}})]=te["@language"]),"@direction"in te&&(Ve[E.compactIri({activeCtx:oe,iri:"@direction",relativeTo:{vocab:!0}})]=te["@direction"]),Ve[E.compactIri({activeCtx:oe,iri:"@value",relativeTo:{vocab:!0}})]=te["@value"],Ve}const me=y(oe,se,{vocab:!0},Ce),ne=S(oe,se,"@type"),_e=E.compactIri({activeCtx:oe,iri:te["@id"],relativeTo:{vocab:"@vocab"===ne},base:Ce.base});return"@id"===ne||"@vocab"===ne||"@graph"===me?_e:{[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]:_e}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(Y,Se,he){"use strict";const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#";Se.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:W,RDF_LIST:W+"List",RDF_FIRST:W+"first",RDF_REST:W+"rest",RDF_NIL:W+"nil",RDF_TYPE:W+"type",RDF_PLAIN_LITERAL:W+"PlainLiteral",RDF_XML_LITERAL:W+"XMLLiteral",RDF_JSON_LITERAL:W+"JSON",RDF_OBJECT:W+"object",RDF_LANGSTRING:W+"langString",XSD:j,XSD_BOOLEAN:j+"boolean",XSD_DOUBLE:j+"double",XSD_INTEGER:j+"integer",XSD_STRING:j+"string"}},{}],19:[function(Y,Se,he){"use strict";const W=Y("./util"),j=Y("./JsonLdError"),{isArray:P,isObject:Q,isString:z,isUndefined:v}=Y("./types"),{isAbsolute:x,isRelative:O,prependBase:A}=Y("./url"),{asArray:b,compareShortestLeast:y}=Y("./util"),S=new Map,V=/^@[a-zA-Z]+$/,R={};function K(D,I,X,E,$,Z){if(null===I||!z(I)||R.isKeyword(I))return I;if(I.match(V))return null;if(E&&E.hasOwnProperty(I)&&!0!==$.get(I)&&R.createTermDefinition({activeCtx:D,localCtx:E,term:I,defined:$,options:Z}),(X=X||{}).vocab){const se=D.mappings.get(I);if(null===se)return null;if(Q(se)&&"@id"in se)return se["@id"]}const oe=I.indexOf(":");if(oe>0){const se=I.substr(0,oe),te=I.substr(oe+1);if("_"===se||0===te.indexOf("//"))return I;E&&E.hasOwnProperty(se)&&R.createTermDefinition({activeCtx:D,localCtx:E,term:se,defined:$,options:Z});const Ce=D.mappings.get(se);if(Ce&&Ce._prefix)return Ce["@id"]+te;if(x(I))return I}if(X.vocab&&"@vocab"in D)return D["@vocab"]+I;if(X.base&&"@base"in D){if(D["@base"])return A(A(Z.base,D["@base"]),I)}else if(X.base)return A(Z.base,I);return I}function ce(D,I){if(!D||"object"!=typeof D||!I||"object"!=typeof I)return D===I;const X=Array.isArray(D);if(X!==Array.isArray(I))return!1;if(X){if(D.length!==I.length)return!1;for(let Z=0;Z{if(E.has(X)){if(E.get(X))return;throw new j("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:I,term:X})}let oe;if(E.set(X,!1),I.hasOwnProperty(X)&&(oe=I[X]),"@type"===X&&Q(oe)&&"@set"===(oe["@container"]||"@set")&&R.processingMode(D,1.1)){const Ie=["@container","@id","@protected"],Ge=Object.keys(oe);if(0===Ge.length||Ge.some(st=>!Ie.includes(st)))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:I,term:X})}else{if(R.isKeyword(X))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:I,term:X});if(X.match(V))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:X});if(""===X)throw new j("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:I})}const se=D.mappings.get(X);D.mappings.has(X)&&D.mappings.delete(X);let te=!1;if((z(oe)||null===oe)&&(te=!0,oe={"@id":oe}),!Q(oe))throw new j("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:I});const Ce={};D.mappings.set(X,Ce),Ce.reverse=!1;const me=["@container","@id","@language","@reverse","@type"];R.processingMode(D,1.1)&&me.push("@context","@direction","@index","@nest","@prefix","@protected");for(const Ie in oe)if(!me.includes(Ie))throw new j("Invalid JSON-LD syntax; a term definition must not contain "+Ie,"jsonld.SyntaxError",{code:"invalid term definition",context:I});const ne=X.indexOf(":");if(Ce._termHasColon=ne>0,"@reverse"in oe){if("@id"in oe)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});if("@nest"in oe)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});const Ie=oe["@reverse"];if(!z(Ie))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(!R.isKeyword(Ie)&&Ie.match(V))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:Ie}),void(se?D.mappings.set(X,se):D.mappings.delete(X));const Ge=K(D,Ie,{vocab:!0,base:!1},I,E,$);if(!x(Ge))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});Ce["@id"]=Ge,Ce.reverse=!0}else if("@id"in oe){let Ie=oe["@id"];if(Ie&&!z(Ie))throw new j("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(null===Ie)Ce["@id"]=null;else{if(!R.isKeyword(Ie)&&Ie.match(V))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:Ie}),void(se?D.mappings.set(X,se):D.mappings.delete(X));if(Ie!==X){if(Ie=K(D,Ie,{vocab:!0,base:!1},I,E,$),!x(Ie)&&!R.isKeyword(Ie))throw new j("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});if(X.match(/(?::[^:])|\//)&&K(D,X,{vocab:!0,base:!1},I,new Map(E).set(X,!0),$)!==Ie)throw new j("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I});Ce["@id"]=Ie,Ce._prefix=te&&!Ce._termHasColon&&Ie.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in Ce))if(Ce._termHasColon){const Ie=X.substr(0,ne);if(I.hasOwnProperty(Ie)&&R.createTermDefinition({activeCtx:D,localCtx:I,term:Ie,defined:E,options:$}),D.mappings.has(Ie)){const Ge=X.substr(ne+1);Ce["@id"]=D.mappings.get(Ie)["@id"]+Ge}else Ce["@id"]=X}else if("@type"===X)Ce["@id"]=X;else{if(!("@vocab"in D))throw new j("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:I,term:X});Ce["@id"]=D["@vocab"]+X}if((!0===oe["@protected"]||!0===E.get("@protected")&&!1!==oe["@protected"])&&(D.protected[X]=!0,Ce.protected=!0),E.set(X,!0),"@type"in oe){let Ie=oe["@type"];if(!z(Ie))throw new j("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:I});if("@json"===Ie||"@none"===Ie){if(R.processingMode(D,1))throw new j(`Invalid JSON-LD syntax; an @context @type value must not be "${Ie}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:I})}else if("@id"!==Ie&&"@vocab"!==Ie){if(Ie=K(D,Ie,{vocab:!0,base:!1},I,E,$),!x(Ie))throw new j("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:I});if(0===Ie.indexOf("_:"))throw new j("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:I})}Ce["@type"]=Ie}if("@container"in oe){const Ie=z(oe["@container"])?[oe["@container"]]:oe["@container"]||[],Ge=["@list","@set","@index","@language"];let st=!0;const Xe=Ie.includes("@set");if(R.processingMode(D,1.1)){if(Ge.push("@graph","@id","@type"),Ie.includes("@list")){if(1!==Ie.length)throw new j("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:I})}else if(Ie.includes("@graph")){if(Ie.some(tt=>"@graph"!==tt&&"@id"!==tt&&"@index"!==tt&&"@set"!==tt))throw new j("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:I})}else st&=Ie.length<=(Xe?2:1);if(Ie.includes("@type")&&(Ce["@type"]=Ce["@type"]||"@id",!["@id","@vocab"].includes(Ce["@type"])))throw new j("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:I})}else st&=!P(oe["@container"]),st&=Ie.length<=1;if(st&=Ie.every(tt=>Ge.includes(tt)),st&=!(Xe&&Ie.includes("@list")),!st)throw new j("Invalid JSON-LD syntax; @context @container value must be one of the following: "+Ge.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:I});if(Ce.reverse&&!Ie.every(tt=>["@index","@set"].includes(tt)))throw new j("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:I});Ce["@container"]=Ie}if("@index"in oe){if(!("@container"in oe)||!Ce["@container"].includes("@index"))throw new j(`Invalid JSON-LD syntax; @index without @index in @container: "${oe["@index"]}" on term "${X}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:I});if(!z(oe["@index"])||0===oe["@index"].indexOf("@"))throw new j(`Invalid JSON-LD syntax; @index must expand to an IRI: "${oe["@index"]}" on term "${X}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:I});Ce["@index"]=oe["@index"]}if("@context"in oe&&(Ce["@context"]=oe["@context"]),"@language"in oe&&!("@type"in oe)){let Ie=oe["@language"];if(null!==Ie&&!z(Ie))throw new j("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:I});null!==Ie&&(Ie=Ie.toLowerCase()),Ce["@language"]=Ie}if("@prefix"in oe){if(X.match(/:|\//))throw new j("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:I});if(R.isKeyword(Ce["@id"]))throw new j("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:I});if("boolean"!=typeof oe["@prefix"])throw new j("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:I});Ce._prefix=!0===oe["@prefix"]}if("@direction"in oe){const Ie=oe["@direction"];if(null!==Ie&&"ltr"!==Ie&&"rtl"!==Ie)throw new j('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:I});Ce["@direction"]=Ie}if("@nest"in oe){const Ie=oe["@nest"];if(!z(Ie)||"@nest"!==Ie&&0===Ie.indexOf("@"))throw new j("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:I});Ce["@nest"]=Ie}const _e=Ce["@id"];if("@context"===_e||"@preserve"===_e)throw new j("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:I});if(se&&se.protected&&!Z&&(D.protected[X]=!0,Ce.protected=!0,!ce(se,Ce))){const Ie=$&&$.protectedMode||"error";if("error"===Ie)throw new j(`Invalid JSON-LD syntax; tried to redefine "${X}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:I,term:X});if("warn"===Ie)return void console.warn("WARNING: protected term redefinition",{term:X});throw new j("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:I,term:X,protectedMode:Ie})}},R.expandIri=(D,I,X,E)=>K(D,I,X,void 0,void 0,E),R.getInitialContext=D=>{const I=JSON.stringify({processingMode:D.processingMode}),X=S.get(I);if(X)return X;const E={processingMode:D.processingMode,mappings:new Map,inverse:null,getInverse:function(){const Ce=this;if(Ce.inverse)return Ce.inverse;const me=Ce.inverse={},ne=Ce.fastCurieMap={},_e={},Ie=(Ce["@language"]||"@none").toLowerCase(),Ge=Ce["@direction"],st=Ce.mappings,Xe=[...st.keys()].sort(y);for(const tt of Xe){const Ye=st.get(tt);if(null===Ye)continue;let Ue=Ye["@container"]||"@none";if(Ue=[].concat(Ue).sort().join(""),null===Ye["@id"])continue;const ke=b(Ye["@id"]);for(const Ke of ke){let Me=me[Ke];const Ve=R.isKeyword(Ke);if(Me)!Ve&&!Ye._termHasColon&&_e[Ke].push(tt);else if(me[Ke]=Me={},!Ve&&!Ye._termHasColon){_e[Ke]=[tt];const $e={iri:Ke,terms:_e[Ke]};Ke[0]in ne?ne[Ke[0]].push($e):ne[Ke[0]]=[$e]}if(Me[Ue]||(Me[Ue]={"@language":{},"@type":{},"@any":{}}),Me=Me[Ue],oe(tt,Me["@any"],"@none"),Ye.reverse)oe(tt,Me["@type"],"@reverse");else if("@none"===Ye["@type"])oe(tt,Me["@any"],"@none"),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none");else if("@type"in Ye)oe(tt,Me["@type"],Ye["@type"]);else if("@language"in Ye&&"@direction"in Ye){const $e=Ye["@language"],Ne=Ye["@direction"];oe(tt,Me["@language"],$e&&Ne?`${$e}_${Ne}`.toLowerCase():$e?$e.toLowerCase():Ne?`_${Ne}`:"@null")}else"@language"in Ye?oe(tt,Me["@language"],(Ye["@language"]||"@null").toLowerCase()):"@direction"in Ye?oe(tt,Me["@language"],Ye["@direction"]?`_${Ye["@direction"]}`:"@none"):Ge?(oe(tt,Me["@language"],`_${Ge}`),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none")):(oe(tt,Me["@language"],Ie),oe(tt,Me["@language"],"@none"),oe(tt,Me["@type"],"@none"))}}for(const tt in ne)Z(ne,tt,1);return me},clone:function(){const Ce={};return Ce.mappings=W.clone(this.mappings),Ce.clone=this.clone,Ce.inverse=null,Ce.getInverse=this.getInverse,Ce.protected=W.clone(this.protected),this.previousContext&&(Ce.previousContext=this.previousContext.clone()),Ce.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(Ce["@base"]=this["@base"]),"@language"in this&&(Ce["@language"]=this["@language"]),"@vocab"in this&&(Ce["@vocab"]=this["@vocab"]),Ce},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===S.size&&S.clear(),S.set(I,E),E;function Z(Ce,me,ne){const _e=Ce[me],Ie=Ce[me]={};let Ge,st;for(const Xe of _e)Ge=Xe.iri,st=ne>=Ge.length?"":Ge[ne],st in Ie?Ie[st].push(Xe):Ie[st]=[Xe];for(const Xe in Ie)""!==Xe&&Z(Ie,Xe,ne+1)}function oe(Ce,me,ne){me.hasOwnProperty(ne)||(me[ne]=Ce)}},R.getContextValue=(D,I,X)=>{if(null===I)return"@context"===X?void 0:null;if(D.mappings.has(I)){const E=D.mappings.get(I);if(v(X))return E;if(E.hasOwnProperty(X))return E[X]}return"@language"===X&&X in D||"@direction"===X&&X in D?D[X]:"@context"!==X?null:void 0},R.processingMode=(D,I)=>I.toString()>="1.1"?!D.processingMode||D.processingMode>="json-ld-"+I.toString():"json-ld-1.0"===D.processingMode,R.isKeyword=D=>{if(!z(D)||"@"!==D[0])return!1;switch(D){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(Y,Se,he){"use strict";const{parseLinkHeader:W,buildHeaders:j}=Y("../util"),{LINK_HEADER_CONTEXT:P}=Y("../constants"),Q=Y("../JsonLdError"),z=Y("../RequestQueue"),{prependBase:v}=Y("../url"),x=/(^|(\r\n))link:/i;function O(A,b,y){const S=new(A=A||XMLHttpRequest);return new Promise((T,V)=>{S.onload=()=>T(S),S.onerror=R=>V(R),S.open("GET",b,!0);for(const R in y)S.setRequestHeader(R,y[R]);S.send()})}Se.exports=({secure:A,headers:b={},xhr:y}={headers:{}})=>{return b=j(b),(new z).wrapLoader(T);function T(R){return V.apply(this,arguments)}function V(){return(V=yt(function*(R){if(0!==R.indexOf("http:")&&0!==R.indexOf("https:"))throw new Q('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:R});if(A&&0!==R.indexOf("https"))throw new Q('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:R});let K;try{K=yield O(y,R,b)}catch(E){throw new Q("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:R,cause:E})}if(K.status>=400)throw new Q("URL could not be dereferenced: "+K.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:R,httpStatusCode:K.status});let ce={contextUrl:null,documentUrl:R,document:K.response},D=null;const I=K.getResponseHeader("Content-Type");let X;if(x.test(K.getAllResponseHeaders())&&(X=K.getResponseHeader("Link")),X&&"application/ld+json"!==I){const E=W(X),$=E[P];if(Array.isArray($))throw new Q("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:R});$&&(ce.contextUrl=$.target),D=E.alternate,D&&"application/ld+json"==D.type&&!(I||"").match(/^application\/(\w*\+)?json$/)&&(ce=yield T(v(R,D.target)))}return ce})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:P,isEmptyObject:Q,isString:z,isUndefined:v}=Y("./types"),{isList:x,isValue:O,isGraph:A,isSubject:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:T,process:V,processingMode:R}=Y("./context"),{isAbsolute:K}=Y("./url"),{addValue:ce,asArray:D,getValues:I,validateTypeValue:X}=Y("./util"),E={};Se.exports=E;const $=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function Z(ne){return oe.apply(this,arguments)}function oe(){return(oe=yt(function*({activeCtx:ne,activeProperty:_e,expandedActiveProperty:Ie,element:Ge,expandedParent:st,options:Xe={},insideList:tt,typeKey:Ye,typeScopedContext:Ue,expansionMap:ke}){const Ke=Object.keys(Ge).sort(),Me=[];let Ve;const $e=Ge[Ye]&&"@json"===y(ne,j(Ge[Ye])?Ge[Ye][0]:Ge[Ye],{vocab:!0},Xe);for(const Ne of Ke){let G,q=Ge[Ne];if("@context"===Ne)continue;let pe=y(ne,Ne,{vocab:!0},Xe);if((null===pe||!K(pe)&&!T(pe))&&(pe=ke({unmappedProperty:Ne,activeCtx:ne,activeProperty:_e,parent:Ge,options:Xe,insideList:tt,value:q,expandedParent:st}),void 0===pe))continue;if(T(pe)){if("@reverse"===Ie)throw new W("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:q});if(pe in st&&"@included"!==pe&&"@type"!==pe)throw new W("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:pe})}if("@id"===pe){if(!z(q)){if(!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(P(q)){if(!Q(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}else{if(!j(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(!q.every(pt=>z(pt)))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}}ce(st,"@id",D(q).map(pt=>z(pt)?y(ne,pt,{base:!0},Xe):pt),{propertyIsArray:Xe.isFrame});continue}if("@type"===pe){P(q)&&(q=Object.fromEntries(Object.entries(q).map(([pt,ve])=>[y(Ue,pt,{vocab:!0}),D(ve).map(L=>y(Ue,L,{base:!0,vocab:!0}))]))),X(q,Xe.isFrame),ce(st,"@type",D(q).map(pt=>z(pt)?y(Ue,pt,{base:!0,vocab:!0},Xe):pt),{propertyIsArray:Xe.isFrame});continue}if("@included"===pe&&R(ne,1.1)){const pt=D(yield E.expand({activeCtx:ne,activeProperty:_e,element:q,options:Xe,expansionMap:ke}));if(!pt.every(ve=>b(ve)))throw new W("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:q});ce(st,"@included",pt,{propertyIsArray:!0});continue}if("@graph"===pe&&!P(q)&&!j(q))throw new W('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:q});if("@value"===pe){Ve=q,$e&&R(ne,1.1)?st["@value"]=q:ce(st,"@value",q,{propertyIsArray:Xe.isFrame});continue}if("@language"===pe){if(null===q)continue;if(!z(q)&&!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:q});q=D(q).map(pt=>z(pt)?pt.toLowerCase():pt);for(const pt of q)z(pt)&&!pt.match($)&&console.warn(`@language must be valid BCP47: ${pt}`);ce(st,"@language",q,{propertyIsArray:Xe.isFrame});continue}if("@direction"===pe){if(!z(q)&&!Xe.isFrame)throw new W('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:q});q=D(q);for(const pt of q)if(z(pt)&&"ltr"!==pt&&"rtl"!==pt)throw new W('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:q});ce(st,"@direction",q,{propertyIsArray:Xe.isFrame});continue}if("@index"===pe){if(!z(q))throw new W('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:q});ce(st,"@index",q);continue}if("@reverse"===pe){if(!P(q))throw new W('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:q});if(G=yield E.expand({activeCtx:ne,activeProperty:"@reverse",element:q,options:Xe,expansionMap:ke}),"@reverse"in G)for(const ve in G["@reverse"])ce(st,ve,G["@reverse"][ve],{propertyIsArray:!0});let pt=st["@reverse"]||null;for(const ve in G){if("@reverse"===ve)continue;null===pt&&(pt=st["@reverse"]={}),ce(pt,ve,[],{propertyIsArray:!0});const L=G[ve];for(let N=0;N"@id"===pt||"@index"===pt)&&(G=D(G).map(pt=>({"@graph":D(pt)}))),ue.mappings.has(Ne)&&ue.mappings.get(Ne).reverse){const pt=st["@reverse"]=st["@reverse"]||{};G=D(G);for(let ve=0;ve"@value"===y(ne,pe,{vocab:!0},Xe)))throw new W("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:G});yield Z({activeCtx:ne,activeProperty:_e,expandedActiveProperty:Ie,element:G,expandedParent:st,options:Xe,insideList:tt,typeScopedContext:Ue,typeKey:Ye,expansionMap:ke})}}})).apply(this,arguments)}function se({activeCtx:ne,activeProperty:_e,value:Ie,options:Ge}){if(null==Ie)return null;const st=y(ne,_e,{vocab:!0},Ge);if("@id"===st)return y(ne,Ie,{base:!0},Ge);if("@type"===st)return y(ne,Ie,{vocab:!0,base:!0},Ge);const Xe=S(ne,_e,"@type");if(("@id"===Xe||"@graph"===st)&&z(Ie))return{"@id":y(ne,Ie,{base:!0},Ge)};if("@vocab"===Xe&&z(Ie))return{"@id":y(ne,Ie,{vocab:!0,base:!0},Ge)};if(T(st))return Ie;const tt={};if(Xe&&!["@id","@vocab","@none"].includes(Xe))tt["@type"]=Xe;else if(z(Ie)){const Ye=S(ne,_e,"@language");null!==Ye&&(tt["@language"]=Ye);const Ue=S(ne,_e,"@direction");null!==Ue&&(tt["@direction"]=Ue)}return["boolean","number","string"].includes(typeof Ie)||(Ie=Ie.toString()),tt["@value"]=Ie,tt}function te(ne,_e,Ie,Ge){const st=[],Xe=Object.keys(_e).sort();for(const tt of Xe){const Ye=y(ne,tt,{vocab:!0},Ge);let Ue=_e[tt];j(Ue)||(Ue=[Ue]);for(const ke of Ue){if(null===ke)continue;if(!z(ke))throw new W("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:_e});const Ke={"@value":ke};"@none"!==Ye&&(Ke["@language"]=tt.toLowerCase()),Ie&&(Ke["@direction"]=Ie),st.push(Ke)}}return st}function Ce(ne){return me.apply(this,arguments)}function me(){return(me=yt(function*({activeCtx:ne,options:_e,activeProperty:Ie,value:Ge,expansionMap:st,asGraph:Xe,indexKey:tt,propertyIndex:Ye}){const Ue=[],ke=Object.keys(Ge).sort(),Ke="@type"===tt;for(let Me of ke){if(Ke){const Ne=S(ne,Me,"@context");v(Ne)||(ne=yield V({activeCtx:ne,localCtx:Ne,propagate:!1,options:_e}))}let $e,Ve=Ge[Me];j(Ve)||(Ve=[Ve]),Ve=yield E.expand({activeCtx:ne,activeProperty:Ie,element:Ve,options:_e,insideList:!1,insideIndex:!0,expansionMap:st}),$e=Ye?"@none"===Me?"@none":se({activeCtx:ne,activeProperty:tt,value:Me,options:_e}):y(ne,Me,{vocab:!0},_e),"@id"===tt?Me=y(ne,Me,{base:!0},_e):Ke&&(Me=$e);for(let Ne of Ve){if(Xe&&!A(Ne)&&(Ne={"@graph":[Ne]}),"@type"===tt)"@none"===$e||(Ne["@type"]=Ne["@type"]?[Me].concat(Ne["@type"]):[Me]);else{if(O(Ne)&&!["@language","@type","@index"].includes(tt))throw new W(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${tt}".`,"jsonld.SyntaxError",{code:"invalid value object",value:Ne});Ye?"@none"!==$e&&ce(Ne,Ye,$e,{propertyIsArray:!0,prependValue:!0}):"@none"!==$e&&!(tt in Ne)&&(Ne[tt]=Me)}Ue.push(Ne)}}return Ue})).apply(this,arguments)}E.expand=function(){var ne=yt(function*({activeCtx:_e,activeProperty:Ie=null,element:Ge,options:st={},insideList:Xe=!1,insideIndex:tt=!1,typeScopedContext:Ye=null,expansionMap:Ue=(()=>{})}){if(null==Ge)return null;if("@default"===Ie&&(st=Object.assign({},st,{isFrame:!1})),!j(Ge)&&!P(Ge)){if(!Xe&&(null===Ie||"@graph"===y(_e,Ie,{vocab:!0},st))){const G=yield Ue({unmappedValue:Ge,activeCtx:_e,activeProperty:Ie,options:st,insideList:Xe});return void 0===G?null:G}return se({activeCtx:_e,activeProperty:Ie,value:Ge,options:st})}if(j(Ge)){let G=[];const pe=S(_e,Ie,"@container")||[];Xe=Xe||pe.includes("@list");for(let ue=0;ue1?ue.slice().sort():ue:[ue];for(const _t of je){const pt=S(Ye,_t,"@context");v(pt)||(_e=yield V({activeCtx:_e,localCtx:pt,options:st,propagate:!1}))}}let Ne={};yield Z({activeCtx:_e,activeProperty:Ie,expandedActiveProperty:ke,element:Ge,expandedParent:Ne,options:st,insideList:Xe,typeKey:$e,typeScopedContext:Ye,expansionMap:Ue}),Me=Object.keys(Ne);let q=Me.length;if("@value"in Ne){if("@type"in Ne&&("@language"in Ne||"@direction"in Ne))throw new W('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Ne});let G=q-1;if("@type"in Ne&&(G-=1),"@index"in Ne&&(G-=1),"@language"in Ne&&(G-=1),"@direction"in Ne&&(G-=1),0!==G)throw new W('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Ne});const pe=null===Ne["@value"]?[]:D(Ne["@value"]),ue=I(Ne,"@type");if(!R(_e,1.1)||!ue.includes("@json")||1!==ue.length)if(0===pe.length){const je=yield Ue({unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==je?je:null}else{if(!pe.every(je=>z(je)||Q(je))&&"@language"in Ne)throw new W("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:Ne});if(!ue.every(je=>K(je)&&!(z(je)&&0===je.indexOf("_:"))||Q(je)))throw new W('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:Ne})}}else if("@type"in Ne&&!j(Ne["@type"]))Ne["@type"]=[Ne["@type"]];else if("@set"in Ne||"@list"in Ne){if(q>1&&(2!==q||!("@index"in Ne)))throw new W('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:Ne});"@set"in Ne&&(Ne=Ne["@set"],Me=Object.keys(Ne),q=Me.length)}else if(1===q&&"@language"in Ne){const G=yield Ue(Ne,{unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==G?G:null}if(P(Ne)&&!st.keepFreeFloatingNodes&&!Xe&&(null===Ie||"@graph"===ke)&&(0===q||"@value"in Ne||"@list"in Ne||1===q&&"@id"in Ne)){const G=yield Ue({unmappedValue:Ne,activeCtx:_e,activeProperty:Ie,element:Ge,options:st,insideList:Xe});Ne=void 0!==G?G:null}return Ne});return function(_e){return ne.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(Y,Se,he){"use strict";const{isSubjectReference:W}=Y("./graphTypes"),{createMergedNodeMap:j}=Y("./nodeMap"),P={};Se.exports=P,P.flatten=Q=>{const z=j(Q),v=[],x=Object.keys(z).sort();for(let O=0;O=0;--oe){const se=Z[oe];if(se.graph===$&&se.subject["@id"]===E["@id"])return!0}return!1}function S(E,$,Z){const oe="@"+Z;let se=oe in E?E[oe][0]:$[Z];if("embed"===Z)if(!0===se)se="@once";else if(!1===se)se="@never";else if("@always"!==se&&"@never"!==se&&"@link"!==se&&"@first"!==se&&"@last"!==se&&"@once"!==se)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:E});return se}function T(E){if(!P.isArray(E)||1!==E.length||!P.isObject(E[0]))throw new v("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:E});if("@id"in E[0])for(const $ of Q.asArray(E[0]["@id"]))if(!P.isObject($)&&!z.isAbsolute($)||P.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E});if("@type"in E[0])for(const $ of Q.asArray(E[0]["@type"]))if(!P.isObject($)&&!z.isAbsolute($)||P.isString($)&&0===$.indexOf("_:"))throw new v("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E})}function R(E,$,Z,oe){let se=!0,te=!1;for(const Ce in Z){let me=!1;const ne=Q.getValues($,Ce),_e=0===Q.getValues(Z,Ce).length;if("@id"===Ce){if(P.isEmptyObject(Z["@id"][0]||{})?me=!0:Z["@id"].length>=0&&(me=Z["@id"].includes(ne[0])),!oe.requireAll)return me}else if("@type"===Ce){if(se=!1,_e){if(ne.length>0)return!1;me=!0}else if(1===Z["@type"].length&&P.isEmptyObject(Z["@type"][0]))me=ne.length>0;else for(const Ie of Z["@type"])me=!(!P.isObject(Ie)||!("@default"in Ie))||me||ne.some(Ge=>Ge===Ie);if(!oe.requireAll)return me}else{if(W(Ce))continue;{const Ie=Q.getValues(Z,Ce)[0];let Ge=!1;if(Ie&&(T([Ie]),Ge="@default"in Ie),se=!1,0===ne.length&&Ge)continue;if(ne.length>0&&_e)return!1;if(void 0===Ie){if(ne.length>0)return!1;me=!0}else if(j.isList(Ie)){const st=Ie["@list"][0];if(j.isList(ne[0])){const Xe=ne[0]["@list"];j.isValue(st)?me=Xe.some(tt=>X(st,tt)):(j.isSubject(st)||j.isSubjectReference(st))&&(me=Xe.some(tt=>I(E,st,tt,oe)))}}else me=j.isValue(Ie)?ne.some(st=>X(Ie,st)):j.isSubjectReference(Ie)?ne.some(st=>I(E,Ie,st,oe)):!!P.isObject(Ie)&&ne.length>0}}if(!me&&oe.requireAll)return!1;te=te||me}return se||te}function K(E,$){const Z=E.uniqueEmbeds[E.graph],oe=Z[$],se=oe.parent,te=oe.property,Ce={"@id":$};if(P.isArray(se)){for(let ne=0;ne{const _e=Object.keys(Z);for(const Ie of _e)Ie in Z&&P.isObject(Z[Ie].parent)&&Z[Ie].parent["@id"]===ne&&(delete Z[Ie],me(Ie))};me($)}function ce(E,$){if(P.isArray(E))return E.map(Z=>ce(Z,$));if(P.isObject(E)){if("@preserve"in E)return E["@preserve"][0];if(j.isValue(E))return E;if(j.isList(E))return E["@list"]=ce(E["@list"],$),E;if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const oe=$.link[Z].indexOf(E);if(-1!==oe)return $.link[Z][oe];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)"@id"===Z&&$.bnodesToClear.includes(E[Z])?delete E["@id"]:E[Z]=ce(E[Z],$)}return E}function D(E,$,Z){P.isObject(E)?Q.addValue(E,$,Z,{propertyIsArray:!0}):E.push(Z)}function I(E,$,Z,oe){if(!("@id"in Z))return!1;const se=E.subjects[Z["@id"]];return se&&R(E,se,$,oe)}function X(E,$){const Z=$["@value"],oe=$["@type"],se=$["@language"],te=E["@value"]?P.isArray(E["@value"])?E["@value"]:[E["@value"]]:[],Ce=E["@type"]?P.isArray(E["@type"])?E["@type"]:[E["@type"]]:[],me=E["@language"]?P.isArray(E["@language"])?E["@language"]:[E["@language"]]:[];return 0===te.length&&0===Ce.length&&0===me.length||!(!te.includes(Z)&&!P.isEmptyObject(te[0])||!(!oe&&0===Ce.length||Ce.includes(oe)||oe&&P.isEmptyObject(Ce[0]))||!(!se&&0===me.length||me.includes(se)||se&&P.isEmptyObject(me[0])))}Se.exports=A,A.frameMergedOrDefault=(E,$,Z)=>{const oe={options:Z,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},se=new Q.IdentifierIssuer("_:b");x(E,oe.graphMap,"@default",se),Z.merged&&(oe.graphMap["@merged"]=O(oe.graphMap),oe.graph="@merged"),oe.subjects=oe.graphMap[oe.graph];const te=[];return A.frame(oe,Object.keys(oe.subjects).sort(),$,te),Z.pruneBlankNodeIdentifiers&&(Z.bnodesToClear=Object.keys(oe.bnodeMap).filter(Ce=>1===oe.bnodeMap[Ce].length)),Z.link={},ce(te,Z)},A.frame=(E,$,Z,oe,se=null)=>{T(Z);const te=E.options,Ce={embed:S(Z=Z[0],te,"embed"),explicit:S(Z,te,"explicit"),requireAll:S(Z,te,"requireAll")};E.link.hasOwnProperty(E.graph)||(E.link[E.graph]={});const me=E.link[E.graph],ne=function(E,$,Z,oe){const se={};for(const te of $){const Ce=E.graphMap[E.graph][te];R(E,Ce,Z,oe)&&(se[te]=Ce)}return se}(E,$,Z,Ce),_e=Object.keys(ne).sort();for(const Ie of _e){const Ge=ne[Ie];if(null===se?E.uniqueEmbeds={[E.graph]:{}}:E.uniqueEmbeds[E.graph]=E.uniqueEmbeds[E.graph]||{},"@link"===Ce.embed&&Ie in me){D(oe,se,me[Ie]);continue}const st={"@id":Ie};if(0===Ie.indexOf("_:")&&Q.addValue(E.bnodeMap,Ie,st,{propertyIsArray:!0}),me[Ie]=st,("@first"===Ce.embed||"@last"===Ce.embed)&&E.is11)throw new v("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:Z});if(E.embedded||!E.uniqueEmbeds[E.graph].hasOwnProperty(Ie)){if(E.embedded&&("@never"===Ce.embed||y(Ge,E.graph,E.subjectStack))){D(oe,se,st);continue}if(E.embedded&&("@first"==Ce.embed||"@once"==Ce.embed)&&E.uniqueEmbeds[E.graph].hasOwnProperty(Ie)){D(oe,se,st);continue}if("@last"===Ce.embed&&Ie in E.uniqueEmbeds[E.graph]&&K(E,Ie),E.uniqueEmbeds[E.graph][Ie]={parent:oe,property:se},E.subjectStack.push({subject:Ge,graph:E.graph}),Ie in E.graphMap){let Xe=!1,tt=null;"@graph"in Z?(tt=Z["@graph"][0],Xe=!("@merged"===Ie||"@default"===Ie),P.isObject(tt)||(tt={})):(Xe="@merged"!==E.graph,tt={}),Xe&&A.frame(Cn(ot({},E),{graph:Ie,embedded:!1}),Object.keys(E.graphMap[Ie]).sort(),[tt],st,"@graph")}"@included"in Z&&A.frame(Cn(ot({},E),{embedded:!1}),$,Z["@included"],st,"@included");for(const Xe of Object.keys(Ge).sort())if(W(Xe)){if(st[Xe]=Q.clone(Ge[Xe]),"@type"===Xe)for(const tt of Ge["@type"])0===tt.indexOf("_:")&&Q.addValue(E.bnodeMap,tt,st,{propertyIsArray:!0})}else if(!Ce.explicit||Xe in Z)for(const tt of Ge[Xe]){const Ye=Xe in Z?Z[Xe]:b(Ce);if(j.isList(tt)){const Ue=Z[Xe]&&Z[Xe][0]&&Z[Xe][0]["@list"]?Z[Xe][0]["@list"]:b(Ce),ke={"@list":[]};D(st,Xe,ke);const Ke=tt["@list"];for(const Me of Ke)j.isSubjectReference(Me)?A.frame(Cn(ot({},E),{embedded:!0}),[Me["@id"]],Ue,ke,"@list"):D(ke,"@list",Q.clone(Me))}else j.isSubjectReference(tt)?A.frame(Cn(ot({},E),{embedded:!0}),[tt["@id"]],Ye,st,Xe):X(Ye[0],tt)&&D(st,Xe,Q.clone(tt))}for(const Xe of Object.keys(Z).sort()){if("@type"===Xe){if(!P.isObject(Z[Xe][0])||!("@default"in Z[Xe][0]))continue}else if(W(Xe))continue;const tt=Z[Xe][0]||{};if(!S(tt,te,"omitDefault")&&!(Xe in st)){let Ue="@null";"@default"in tt&&(Ue=Q.clone(tt["@default"])),P.isArray(Ue)||(Ue=[Ue]),st[Xe]=[{"@preserve":Ue}]}}for(const Xe of Object.keys(Z["@reverse"]||{}).sort()){const tt=Z["@reverse"][Xe];for(const Ye of Object.keys(E.subjects))Q.getValues(E.subjects[Ye],Xe).some(ke=>ke["@id"]===Ie)&&(st["@reverse"]=st["@reverse"]||{},Q.addValue(st["@reverse"],Xe,[],{propertyIsArray:!0}),A.frame(Cn(ot({},E),{embedded:!0}),[Ye],tt,st["@reverse"][Xe],se))}D(oe,se,st),E.subjectStack.pop()}}},A.cleanupNull=(E,$)=>{if(P.isArray(E))return E.map(oe=>A.cleanupNull(oe,$)).filter(oe=>oe);if("@null"===E)return null;if(P.isObject(E)){if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const oe=$.link[Z].indexOf(E);if(-1!==oe)return $.link[Z][oe];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)E[Z]=A.cleanupNull(E[Z],$)}return E}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),j=Y("./graphTypes"),P=Y("./types"),Q=Y("./util"),{RDF_LIST:z,RDF_FIRST:v,RDF_REST:x,RDF_NIL:O,RDF_TYPE:A,RDF_JSON_LITERAL:b,XSD_BOOLEAN:y,XSD_DOUBLE:S,XSD_INTEGER:T,XSD_STRING:V}=Y("./constants"),R=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,K={};function ce(D,I,X){if(D.termType.endsWith("Node"))return{"@id":D.value};const E={"@value":D.value};if(D.language)E["@language"]=D.language;else{let $=D.datatype.value;if($||($=V),$===b){$="@json";try{E["@value"]=JSON.parse(E["@value"])}catch(Z){throw new W("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:E["@value"],cause:Z})}}if(I){if($===y)"true"===E["@value"]?E["@value"]=!0:"false"===E["@value"]&&(E["@value"]=!1);else if(P.isNumeric(E["@value"]))if($===T){const Z=parseInt(E["@value"],10);Z.toFixed(0)===E["@value"]&&(E["@value"]=Z)}else $===S&&(E["@value"]=parseFloat(E["@value"]));[y,T,S,V].includes($)||(E["@type"]=$)}else if("i18n-datatype"===X&&$.startsWith("https://www.w3.org/ns/i18n#")){const[,Z,oe]=$.split(/[#_]/);Z.length>0&&(E["@language"]=Z,Z.match(R)||console.warn(`@language must be valid BCP47: ${Z}`)),E["@direction"]=oe}else $!==V&&(E["@type"]=$)}return E}Se.exports=K,K.fromRDF=function(){var D=yt(function*(I,{useRdfType:X=!1,useNativeTypes:E=!1,rdfDirection:$=null}){const Z={},oe={"@default":Z},se={};for(const me of I){const ne="DefaultGraph"===me.graph.termType?"@default":me.graph.value;ne in oe||(oe[ne]={}),"@default"!==ne&&!(ne in Z)&&(Z[ne]={"@id":ne});const _e=oe[ne],Ie=me.subject.value,Ge=me.predicate.value,st=me.object;Ie in _e||(_e[Ie]={"@id":Ie});const Xe=_e[Ie],tt=st.termType.endsWith("Node");if(tt&&!(st.value in _e)&&(_e[st.value]={"@id":st.value}),Ge===A&&!X&&tt){Q.addValue(Xe,"@type",st.value,{propertyIsArray:!0});continue}const Ye=ce(st,E,$);if(Q.addValue(Xe,Ge,Ye,{propertyIsArray:!0}),tt)if(st.value===O){const Ue=_e[st.value];"usages"in Ue||(Ue.usages=[]),Ue.usages.push({node:Xe,property:Ge,value:Ye})}else se[st.value]=!(st.value in se)&&{node:Xe,property:Ge,value:Ye}}for(const me in oe){const ne=oe[me];if(!(O in ne))continue;const _e=ne[O];if(_e.usages){for(let Ie of _e.usages){let Ge=Ie.node,st=Ie.property,Xe=Ie.value;const tt=[],Ye=[];let Ue=Object.keys(Ge).length;for(;st===x&&P.isObject(se[Ge["@id"]])&&P.isArray(Ge[v])&&1===Ge[v].length&&P.isArray(Ge[x])&&1===Ge[x].length&&(3===Ue||4===Ue&&P.isArray(Ge["@type"])&&1===Ge["@type"].length&&Ge["@type"][0]===z)&&(tt.push(Ge[v][0]),Ye.push(Ge["@id"]),Ie=se[Ge["@id"]],Ge=Ie.node,st=Ie.property,Xe=Ie.value,Ue=Object.keys(Ge).length,j.isBlankNode(Ge)););delete Xe["@id"],Xe["@list"]=tt.reverse();for(const ke of Ye)delete ne[ke]}delete _e.usages}}const te=[],Ce=Object.keys(Z).sort();for(const me of Ce){const ne=Z[me];if(me in oe){const _e=ne["@graph"]=[],Ie=oe[me],Ge=Object.keys(Ie).sort();for(const st of Ge){const Xe=Ie[st];j.isSubjectReference(Xe)||_e.push(Xe)}}j.isSubjectReference(ne)||te.push(ne)}return te});return function(I,X){return D.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.isSubject=P=>!(!W.isObject(P)||"@value"in P||"@set"in P||"@list"in P)&&(Object.keys(P).length>1||!("@id"in P)),j.isSubjectReference=P=>W.isObject(P)&&1===Object.keys(P).length&&"@id"in P,j.isValue=P=>W.isObject(P)&&"@value"in P,j.isList=P=>W.isObject(P)&&"@list"in P,j.isGraph=P=>W.isObject(P)&&"@graph"in P&&1===Object.keys(P).filter(Q=>"@id"!==Q&&"@index"!==Q).length,j.isSimpleGraph=P=>j.isGraph(P)&&!("@id"in P),j.isBlankNode=P=>!!W.isObject(P)&&("@id"in P?0===P["@id"].indexOf("_:"):0===Object.keys(P).length||!("@value"in P||"@set"in P||"@list"in P))},{"./types":30}],26:[function(Y,Se,he){const W=Y("rdf-canonize"),j=Y("./platform"),P=Y("./util"),Q=Y("./ContextResolver"),z=P.IdentifierIssuer,v=Y("./JsonLdError"),x=Y("lru-cache"),O=Y("./NQuads"),{expand:A}=Y("./expand"),{flatten:b}=Y("./flatten"),{fromRDF:y}=Y("./fromRdf"),{toRDF:S}=Y("./toRdf"),{frameMergedOrDefault:T,cleanupNull:V}=Y("./frame"),{isArray:R,isObject:K,isString:ce}=Y("./types"),{isSubjectReference:D}=Y("./graphTypes"),{expandIri:I,getInitialContext:X,process:E,processingMode:$}=Y("./context"),{compact:Z,compactIri:oe}=Y("./compact"),{createNodeMap:se,createMergedNodeMap:te,mergeNodeMaps:Ce}=Y("./nodeMap"),me=function(_e){const Ie={},st=new x({max:100});function Xe(tt,ke){var Ke=ke,{documentLoader:Ye=_e.documentLoader}=Ke,Ue=zq(Ke,["documentLoader"]);return Object.assign({},{documentLoader:Ye},Ue,tt)}return _e.compact=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===Ue)throw new v("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===Ye)return null;let Ke;(ke=Xe(ke,{base:ce(Ye)?Ye:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new z("_:b"),contextResolver:new Q({sharedCache:st})})).link&&(ke.skipExpansion=!0),ke.compactToRelative||delete ke.base,Ke=ke.skipExpansion?Ye:yield _e.expand(Ye,ke);const Me=yield _e.processContext(X(ke),Ue,ke);let Ve=yield Z({activeCtx:Me,element:Ke,options:ke,compactionMap:ke.compactionMap});ke.compactArrays&&!ke.graph&&R(Ve)?1===Ve.length?Ve=Ve[0]:0===Ve.length&&(Ve={}):ke.graph&&K(Ve)&&(Ve=[Ve]),K(Ue)&&"@context"in Ue&&(Ue=Ue["@context"]),Ue=P.clone(Ue),R(Ue)||(Ue=[Ue]);const $e=Ue;Ue=[];for(let q=0;q<$e.length;++q)(!K($e[q])||Object.keys($e[q]).length>0)&&Ue.push($e[q]);const Ne=Ue.length>0;if(1===Ue.length&&(Ue=Ue[0]),R(Ve)){const q=oe({activeCtx:Me,iri:"@graph",relativeTo:{vocab:!0}}),G=Ve;Ve={},Ne&&(Ve["@context"]=Ue),Ve[q]=G}else if(K(Ve)&&Ne){const q=Ve;Ve={"@context":Ue};for(const G in q)Ve[G]=q[G]}return Ve});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.expand=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(Ue=Xe(Ue,{keepFreeFloatingNodes:!1,contextResolver:new Q({sharedCache:st})})).expansionMap&&(Ue.expansionMap=void 0);const ke={},Ke=[];if("expandContext"in Ue){const Ne=P.clone(Ue.expandContext);ke.expandContext=K(Ne)&&"@context"in Ne?Ne:{"@context":Ne},Ke.push(ke.expandContext)}let Me;if(ce(Ye)){const Ne=yield _e.get(Ye,Ue);Me=Ne.documentUrl,ke.input=Ne.document,Ne.contextUrl&&(ke.remoteContext={"@context":Ne.contextUrl},Ke.push(ke.remoteContext))}else ke.input=P.clone(Ye);"base"in Ue||(Ue.base=Me||"");let Ve=X(Ue);for(const Ne of Ke)Ve=yield E({activeCtx:Ve,localCtx:Ne,options:Ue});let $e=yield A({activeCtx:Ve,element:ke.input,options:Ue,expansionMap:Ue.expansionMap});return K($e)&&"@graph"in $e&&1===Object.keys($e).length?$e=$e["@graph"]:null===$e&&($e=[]),R($e)||($e=[$e]),$e});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.flatten=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");Ue="function"==typeof Ue?null:Ue||null,ke=Xe(ke,{base:ce(Ye)?Ye:"",contextResolver:new Q({sharedCache:st})});const Ke=yield _e.expand(Ye,ke),Me=b(Ke);return null===Ue?Me:(ke.graph=!0,ke.skipExpansion=!0,yield _e.compact(Me,Ue,ke))});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.frame=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(ke=Xe(ke,{base:ce(Ye)?Ye:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new Q({sharedCache:st})}),ce(Ue)){const ue=yield _e.get(Ue,ke);if(Ue=ue.document,ue.contextUrl){let je=Ue["@context"];je?R(je)?je.push(ue.contextUrl):je=[je,ue.contextUrl]:je=ue.contextUrl,Ue["@context"]=je}}const Ke=Ue&&Ue["@context"]||{},Me=yield _e.processContext(X(ke),Ke,ke);ke.hasOwnProperty("omitGraph")||(ke.omitGraph=$(Me,1.1)),ke.hasOwnProperty("pruneBlankNodeIdentifiers")||(ke.pruneBlankNodeIdentifiers=$(Me,1.1));const Ve=yield _e.expand(Ye,ke),$e=ot({},ke);$e.isFrame=!0,$e.keepFreeFloatingNodes=!0;const Ne=yield _e.expand(Ue,$e),q=Object.keys(Ue).map(ue=>I(Me,ue,{vocab:!0}));$e.merged=!q.includes("@graph"),$e.is11=$(Me,1.1);const G=T(Ve,Ne,$e);$e.graph=!ke.omitGraph,$e.skipExpansion=!0,$e.link={},$e.framing=!0;let pe=yield _e.compact(G,Ke,$e);return $e.link={},pe=V(pe,$e),pe});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.link=function(){var tt=yt(function*(Ye,Ue,ke){const Ke={};return Ue&&(Ke["@context"]=Ue),Ke["@embed"]="@link",_e.frame(Ye,Ke,ke)});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.normalize=_e.canonize=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(Ue=Xe(Ue,{base:ce(Ye)?Ye:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new Q({sharedCache:st})}))){if("application/n-quads"!==Ue.inputFormat&&"application/nquads"!==Ue.inputFormat)throw new v("Unknown canonicalization input format.","jsonld.CanonizeError");const Me=O.parse(Ye);return W.canonize(Me,Ue)}const ke=ot({},Ue);delete ke.format,ke.produceGeneralizedRdf=!1;const Ke=yield _e.toRDF(Ye,ke);return W.canonize(Ke,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.fromRDF=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");Ue=Xe(Ue,{format:ce(Ye)?"application/n-quads":void 0});const{format:ke}=Ue;let{rdfParser:Ke}=Ue;if(ke){if(Ke=Ke||Ie[ke],!Ke)throw new v("Unknown input format.","jsonld.UnknownFormat",{format:ke})}else Ke=()=>Ye;const Me=yield Ke(Ye);return y(Me,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.toRDF=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let ke;ke=(Ue=Xe(Ue,{base:ce(Ye)?Ye:"",skipExpansion:!1,contextResolver:new Q({sharedCache:st})})).skipExpansion?Ye:yield _e.expand(Ye,Ue);const Ke=S(ke,Ue);if(Ue.format){if("application/n-quads"===Ue.format||"application/nquads"===Ue.format)return O.serialize(Ke);throw new v("Unknown output format.","jsonld.UnknownFormat",{format:Ue.format})}return Ke});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.createNodeMap=function(){var tt=yt(function*(Ye,Ue){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");Ue=Xe(Ue,{base:ce(Ye)?Ye:"",contextResolver:new Q({sharedCache:st})});const ke=yield _e.expand(Ye,Ue);return te(ke,Ue)});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.merge=function(){var tt=yt(function*(Ye,Ue,ke){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!R(Ye))throw new TypeError('Could not merge, "docs" must be an array.');Ue="function"==typeof Ue?null:Ue||null,ke=Xe(ke,{contextResolver:new Q({sharedCache:st})});const Ke=yield Promise.all(Ye.map(ue=>{const je=ot({},ke);return _e.expand(ue,je)}));let Me=!0;"mergeNodes"in ke&&(Me=ke.mergeNodes);const Ve=ke.issuer||new z("_:b"),$e={"@default":{}};for(let ue=0;ue_e._documentLoader,set:tt=>_e._documentLoader=tt}),_e.documentLoader=function(){var tt=yt(function*(Ye){throw new v("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:Ye})});return function(Ye){return tt.apply(this,arguments)}}(),_e.get=function(){var tt=yt(function*(Ye,Ue){let ke;ke="function"==typeof Ue.documentLoader?Ue.documentLoader:_e.documentLoader;const Ke=yield ke(Ye);try{if(!Ke.document)throw new v("No remote document found at the given URL.","jsonld.NullRemoteDocument");ce(Ke.document)&&(Ke.document=JSON.parse(Ke.document))}catch(Me){throw new v("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:Me,remoteDoc:Ke})}return Ke});return function(Ye,Ue){return tt.apply(this,arguments)}}(),_e.processContext=function(){var tt=yt(function*(Ye,Ue,ke){return ke=Xe(ke,{base:"",contextResolver:new Q({sharedCache:st})}),null===Ue?X(ke):(Ue=P.clone(Ue),K(Ue)&&"@context"in Ue||(Ue={"@context":Ue}),E({activeCtx:Ye,localCtx:Ue,options:ke}))});return function(Ye,Ue,ke){return tt.apply(this,arguments)}}(),_e.getContextValue=Y("./context").getContextValue,_e.documentLoaders={},_e.useDocumentLoader=function(tt){if(!(tt in _e.documentLoaders))throw new v('Unknown document loader type: "'+tt+'"',"jsonld.UnknownDocumentLoader",{type:tt});_e.documentLoader=_e.documentLoaders[tt].apply(_e,Array.prototype.slice.call(arguments,1))},_e.registerRDFParser=function(tt,Ye){Ie[tt]=Ye},_e.unregisterRDFParser=function(tt){delete Ie[tt]},_e.registerRDFParser("application/n-quads",O.parse),_e.registerRDFParser("application/nquads",O.parse),_e.url=Y("./url"),_e.util=P,Object.assign(_e,P),_e.promises=_e,_e.RequestQueue=Y("./RequestQueue"),_e.JsonLdProcessor=Y("./JsonLdProcessor")(_e),j.setupGlobals(_e),j.setupDocumentLoaders(_e),_e},ne=function(){return me(function(){return ne()})};me(ne),Se.exports=ne},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(Y,Se,he){"use strict";const{isKeyword:W}=Y("./context"),j=Y("./graphTypes"),P=Y("./types"),Q=Y("./util"),z=Y("./JsonLdError"),v={};Se.exports=v,v.createMergedNodeMap=(x,O)=>{const A=(O=O||{}).issuer||new Q.IdentifierIssuer("_:b"),b={"@default":{}};return v.createNodeMap(x,b,"@default",A),v.mergeNodeMaps(b)},v.createNodeMap=(x,O,A,b,y,S)=>{if(P.isArray(x)){for(const K of x)v.createNodeMap(K,O,A,b,void 0,S);return}if(!P.isObject(x))return void(S&&S.push(x));if(j.isValue(x)){if("@type"in x){let K=x["@type"];0===K.indexOf("_:")&&(x["@type"]=K=b.getId(K))}return void(S&&S.push(x))}if(S&&j.isList(x)){const K=[];return v.createNodeMap(x["@list"],O,A,b,y,K),void S.push({"@list":K})}if("@type"in x){const K=x["@type"];for(const ce of K)0===ce.indexOf("_:")&&b.getId(ce)}P.isUndefined(y)&&(y=j.isBlankNode(x)?b.getId(x["@id"]):x["@id"]),S&&S.push({"@id":y});const T=O[A],V=T[y]=T[y]||{};V["@id"]=y;const R=Object.keys(x).sort();for(let K of R){if("@id"===K)continue;if("@reverse"===K){const D={"@id":y},I=x["@reverse"];for(const X in I){const E=I[X];for(const $ of E){let Z=$["@id"];j.isBlankNode($)&&(Z=b.getId(Z)),v.createNodeMap($,O,A,b,Z),Q.addValue(T[Z],X,D,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===K){y in O||(O[y]={}),v.createNodeMap(x[K],O,y,b);continue}if("@included"===K){v.createNodeMap(x[K],O,A,b);continue}if("@type"!==K&&W(K)){if("@index"===K&&K in V&&(x[K]!==V[K]||x[K]["@id"]!==V[K]["@id"]))throw new z("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:V});V[K]=x[K];continue}const ce=x[K];if(0===K.indexOf("_:")&&(K=b.getId(K)),0!==ce.length)for(let D of ce)if("@type"===K&&(D=0===D.indexOf("_:")?b.getId(D):D),j.isSubject(D)||j.isSubjectReference(D)){if("@id"in D&&!D["@id"])continue;const I=j.isBlankNode(D)?b.getId(D["@id"]):D["@id"];Q.addValue(V,K,{"@id":I},{propertyIsArray:!0,allowDuplicate:!1}),v.createNodeMap(D,O,A,b,I)}else if(j.isValue(D))Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1});else if(j.isList(D)){const I=[];v.createNodeMap(D["@list"],O,A,b,y,I),D={"@list":I},Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1})}else v.createNodeMap(D,O,A,b,y),Q.addValue(V,K,D,{propertyIsArray:!0,allowDuplicate:!1});else Q.addValue(V,K,[],{propertyIsArray:!0})}},v.mergeNodeMapGraphs=x=>{const O={};for(const A of Object.keys(x).sort())for(const b of Object.keys(x[A]).sort()){const y=x[A][b];b in O||(O[b]={"@id":b});const S=O[b];for(const T of Object.keys(y).sort())if(W(T)&&"@type"!==T)S[T]=Q.clone(y[T]);else for(const V of y[T])Q.addValue(S,T,Q.clone(V),{propertyIsArray:!0,allowDuplicate:!1})}return O},v.mergeNodeMaps=x=>{const O=x["@default"],A=Object.keys(x).sort();for(const b of A){if("@default"===b)continue;const y=x[b];let S=O[b];S?"@graph"in S||(S["@graph"]=[]):O[b]=S={"@id":b,"@graph":[]};const T=S["@graph"];for(const V of Object.keys(y).sort()){const R=y[V];j.isSubjectReference(R)||T.push(R)}}return O}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(Y,Se,he){"use strict";const W=Y("./documentLoaders/xhr"),j={};Se.exports=j,j.setupDocumentLoaders=function(P){"undefined"!=typeof XMLHttpRequest&&(P.documentLoaders.xhr=W,P.useDocumentLoader("xhr"))},j.setupGlobals=function(P){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:P.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(Y,Se,he){"use strict";const{createNodeMap:W}=Y("./nodeMap"),{isKeyword:j}=Y("./context"),P=Y("./graphTypes"),Q=Y("canonicalize"),z=Y("./types"),v=Y("./util"),{RDF_FIRST:x,RDF_REST:O,RDF_NIL:A,RDF_TYPE:b,RDF_JSON_LITERAL:y,RDF_LANGSTRING:S,XSD_BOOLEAN:T,XSD_DOUBLE:V,XSD_INTEGER:R,XSD_STRING:K}=Y("./constants"),{isAbsolute:ce}=Y("./url"),D={};function I($,Z,oe,se,te){const Ce=Object.keys(Z).sort();for(const me of Ce){const ne=Z[me],_e=Object.keys(ne).sort();for(let Ie of _e){const Ge=ne[Ie];if("@type"===Ie)Ie=b;else if(j(Ie))continue;for(const st of Ge){const Xe={termType:me.startsWith("_:")?"BlankNode":"NamedNode",value:me};if(!ce(me))continue;const tt={termType:Ie.startsWith("_:")?"BlankNode":"NamedNode",value:Ie};if(!ce(Ie)||"BlankNode"===tt.termType&&!te.produceGeneralizedRdf)continue;const Ye=E(st,se,$,oe,te.rdfDirection);Ye&&$.push({subject:Xe,predicate:tt,object:Ye,graph:oe})}}}}function E($,Z,oe,se,te){const Ce={};if(P.isValue($)){Ce.termType="Literal",Ce.value=void 0,Ce.datatype={termType:"NamedNode"};let me=$["@value"];const ne=$["@type"]||null;"@json"===ne?(Ce.value=Q(me),Ce.datatype.value=y):z.isBoolean(me)?(Ce.value=me.toString(),Ce.datatype.value=ne||T):z.isDouble(me)||ne===V?(z.isDouble(me)||(me=parseFloat(me)),Ce.value=me.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Ce.datatype.value=ne||V):z.isNumber(me)?(Ce.value=me.toFixed(0),Ce.datatype.value=ne||R):"i18n-datatype"===te&&"@direction"in $?(Ce.datatype.value="https://www.w3.org/ns/i18n#"+($["@language"]||"")+`_${$["@direction"]}`,Ce.value=me):"@language"in $?(Ce.value=me,Ce.datatype.value=ne||S,Ce.language=$["@language"]):(Ce.value=me,Ce.datatype.value=ne||K)}else if(P.isList($)){const me=function($,Z,oe,se,te){const Ce={termType:"NamedNode",value:x},me={termType:"NamedNode",value:O},ne={termType:"NamedNode",value:A},_e=$.pop(),Ie=_e?{termType:"BlankNode",value:Z.getId()}:ne;let Ge=Ie;for(const st of $){const Xe=E(st,Z,oe,se,te),tt={termType:"BlankNode",value:Z.getId()};oe.push({subject:Ge,predicate:Ce,object:Xe,graph:se}),oe.push({subject:Ge,predicate:me,object:tt,graph:se}),Ge=tt}if(_e){const st=E(_e,Z,oe,se,te);oe.push({subject:Ge,predicate:Ce,object:st,graph:se}),oe.push({subject:Ge,predicate:me,object:ne,graph:se})}return Ie}($["@list"],Z,oe,se,te);Ce.termType=me.termType,Ce.value=me.value}else{const me=z.isObject($)?$["@id"]:$;Ce.termType=me.startsWith("_:")?"BlankNode":"NamedNode",Ce.value=me}return"NamedNode"!==Ce.termType||ce(Ce.value)?Ce:null}Se.exports=D,D.toRDF=($,Z)=>{const oe=new v.IdentifierIssuer("_:b"),se={"@default":{}};W($,se,"@default",oe);const te=[],Ce=Object.keys(se).sort();for(const me of Ce){let ne;if("@default"===me)ne={termType:"DefaultGraph",value:""};else{if(!ce(me))continue;ne=me.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},ne.value=me}I(te,se[me],ne,oe,Z)}return te}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(Y,Se,he){"use strict";const W={};Se.exports=W,W.isArray=Array.isArray,W.isBoolean=j=>"boolean"==typeof j||"[object Boolean]"===Object.prototype.toString.call(j),W.isDouble=j=>W.isNumber(j)&&(-1!==String(j).indexOf(".")||Math.abs(j)>=1e21),W.isEmptyObject=j=>W.isObject(j)&&0===Object.keys(j).length,W.isNumber=j=>"number"==typeof j||"[object Number]"===Object.prototype.toString.call(j),W.isNumeric=j=>!isNaN(parseFloat(j))&&isFinite(j),W.isObject=j=>"[object Object]"===Object.prototype.toString.call(j),W.isString=j=>"string"==typeof j||"[object String]"===Object.prototype.toString.call(j),W.isUndefined=j=>void 0===j},{}],31:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},j.parse=(Q,z)=>{const v={},x=j.parsers[z||"full"],O=x.regex.exec(Q);let A=x.keys.length;for(;A--;)v[x.keys[A]]=void 0===O[A]?null:O[A];return("https"===v.scheme&&"443"===v.port||"http"===v.scheme&&"80"===v.port)&&(v.href=v.href.replace(":"+v.port,""),v.authority=v.authority.replace(":"+v.port,""),v.port=null),v.normalizedPath=j.removeDotSegments(v.path),v},j.prependBase=(Q,z)=>{if(null===Q||j.isAbsolute(z))return z;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));const v=j.parse(z),x={protocol:Q.protocol||""};if(null!==v.authority)x.authority=v.authority,x.path=v.path,x.query=v.query;else if(x.authority=Q.authority,""===v.path)x.path=Q.path,x.query=null!==v.query?v.query:Q.query;else{if(0===v.path.indexOf("/"))x.path=v.path;else{let A=Q.path;A=A.substr(0,A.lastIndexOf("/")+1),(A.length>0||Q.authority)&&"/"!==A.substr(-1)&&(A+="/"),A+=v.path,x.path=A}x.query=v.query}""!==v.path&&(x.path=j.removeDotSegments(x.path));let O=x.protocol;return null!==x.authority&&(O+="//"+x.authority),O+=x.path,null!==x.query&&(O+="?"+x.query),null!==v.fragment&&(O+="#"+v.fragment),""===O&&(O="./"),O},j.removeBase=(Q,z)=>{if(null===Q)return z;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));let v="";if(""!==Q.href?v+=(Q.protocol||"")+"//"+(Q.authority||""):z.indexOf("//")&&(v+="//"),0!==z.indexOf(v))return z;const x=j.parse(z.substr(v.length)),O=Q.normalizedPath.split("/"),A=x.normalizedPath.split("/"),b=x.fragment||x.query?0:1;for(;O.length>0&&A.length>b&&O[0]===A[0];)O.shift(),A.shift();let y="";if(O.length>0){O.pop();for(let S=0;S{if(0===Q.length)return"";const z=Q.split("/"),v=[];for(;z.length>0;){const x=z.shift(),O=0===z.length;"."!==x?".."!==x?v.push(x):(v.pop(),O&&v.push("")):O&&v.push("")}return"/"===Q[0]&&v.length>0&&""!==v[0]&&v.unshift(""),1===v.length&&""===v[0]?"/":v.join("/")};const P=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;j.isAbsolute=Q=>W.isString(Q)&&P.test(Q),j.isRelative=Q=>W.isString(Q)},{"./types":30}],32:[function(Y,Se,he){"use strict";const W=Y("./graphTypes"),j=Y("./types"),P=Y("rdf-canonize").IdentifierIssuer,Q=Y("./JsonLdError"),z=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,v=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,x=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,O_headers={accept:"application/ld+json, application/json"},A={};function b(y,S){if(j.isArray(S))for(let T=0;T{if(Object.keys(y).some(T=>"accept"===T.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+O_headers.accept+'" is supported.');return Object.assign({Accept:O_headers.accept},y)},A.parseLinkHeader=y=>{const S={},T=y.match(z);for(let V=0;V{if(!(j.isString(y)||j.isArray(y)&&y.every(T=>j.isString(T)))){if(S&&j.isObject(y))switch(Object.keys(y).length){case 0:return;case 1:if("@default"in y&&A.asArray(y["@default"]).every(T=>j.isString(T)))return}throw new Q('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:y})}},A.hasProperty=(y,S)=>{if(y.hasOwnProperty(S)){const T=y[S];return!j.isArray(T)||T.length>0}return!1},A.hasValue=(y,S,T)=>{if(A.hasProperty(y,S)){let V=y[S];const R=W.isList(V);if(j.isArray(V)||R){R&&(V=V["@list"]);for(let K=0;K{if("propertyIsArray"in(V=V||{})||(V.propertyIsArray=!1),"valueIsArray"in V||(V.valueIsArray=!1),"allowDuplicate"in V||(V.allowDuplicate=!0),"prependValue"in V||(V.prependValue=!1),V.valueIsArray)y[S]=T;else if(j.isArray(T)){0===T.length&&V.propertyIsArray&&!y.hasOwnProperty(S)&&(y[S]=[]),V.prependValue&&(T=T.concat(y[S]),y[S]=[]);for(let R=0;R[].concat(y[S]||[]),A.removeProperty=(y,S)=>{delete y[S]},A.removeValue=(y,S,T,V)=>{"propertyIsArray"in(V=V||{})||(V.propertyIsArray=!1);const R=A.getValues(y,S).filter(K=>!A.compareValues(K,T));0===R.length?A.removeProperty(y,S):y[S]=1!==R.length||V.propertyIsArray?R:R[0]},A.relabelBlankNodes=(y,S)=>b((S=S||{}).issuer||new P("_:b"),y),A.compareValues=(y,S)=>!!(y===S||W.isValue(y)&&W.isValue(S)&&y["@value"]===S["@value"]&&y["@type"]===S["@type"]&&y["@language"]===S["@language"]&&y["@index"]===S["@index"])||!!(j.isObject(y)&&"@id"in y&&j.isObject(S)&&"@id"in S)&&y["@id"]===S["@id"],A.compareShortestLeast=(y,S)=>y.length1;const V=(X,E,$)=>{const Z=X[b].get(E);if(Z){const oe=Z.value;if(R(X,oe)){if(ce(X,Z),!X[z])return}else $&&(X[y]&&(Z.value.now=Date.now()),X[A].unshiftNode(Z));return oe.value}},R=(X,E)=>{if(!E||!E.maxAge&&!X[v])return!1;const $=Date.now()-E.now;return E.maxAge?$>E.maxAge:X[v]&&$>X[v]},K=X=>{if(X[P]>X[j])for(let E=X[A].tail;X[P]>X[j]&&null!==E;){const $=E.prev;ce(X,E),E=$}},ce=(X,E)=>{if(E){const $=E.value;X[x]&&X[x]($.key,$.value),X[P]-=$.length,X[b].delete($.key),X[A].removeNode(E)}};class D{constructor(E,$,Z,oe,se){this.key=E,this.value=$,this.length=Z,this.now=oe,this.maxAge=se||0}}const I=(X,E,$,Z)=>{let oe=$.value;R(X,oe)&&(ce(X,$),X[z]||(oe=void 0)),oe&&E.call(Z,oe.value,oe.key,X)};Se.exports=class{constructor(E){if("number"==typeof E&&(E={max:E}),E||(E={}),E.max&&("number"!=typeof E.max||E.max<0))throw new TypeError("max must be a non-negative number");this[j]=E.max||1/0;const Z=E.length||S;if(this[Q]="function"!=typeof Z?S:Z,this[z]=E.stale||!1,E.maxAge&&"number"!=typeof E.maxAge)throw new TypeError("maxAge must be a number");this[v]=E.maxAge||0,this[x]=E.dispose,this[O]=E.noDisposeOnSet||!1,this[y]=E.updateAgeOnGet||!1,this.reset()}set max(E){if("number"!=typeof E||E<0)throw new TypeError("max must be a non-negative number");this[j]=E||1/0,K(this)}get max(){return this[j]}set allowStale(E){this[z]=!!E}get allowStale(){return this[z]}set maxAge(E){if("number"!=typeof E)throw new TypeError("maxAge must be a non-negative number");this[v]=E,K(this)}get maxAge(){return this[v]}set lengthCalculator(E){"function"!=typeof E&&(E=S),E!==this[Q]&&(this[Q]=E,this[P]=0,this[A].forEach($=>{$.length=this[Q]($.value,$.key),this[P]+=$.length})),K(this)}get lengthCalculator(){return this[Q]}get length(){return this[P]}get itemCount(){return this[A].length}rforEach(E,$){$=$||this;for(let Z=this[A].tail;null!==Z;){const oe=Z.prev;I(this,E,Z,$),Z=oe}}forEach(E,$){$=$||this;for(let Z=this[A].head;null!==Z;){const oe=Z.next;I(this,E,Z,$),Z=oe}}keys(){return this[A].toArray().map(E=>E.key)}values(){return this[A].toArray().map(E=>E.value)}reset(){this[x]&&this[A]&&this[A].length&&this[A].forEach(E=>this[x](E.key,E.value)),this[b]=new Map,this[A]=new W,this[P]=0}dump(){return this[A].map(E=>!R(this,E)&&{k:E.key,v:E.value,e:E.now+(E.maxAge||0)}).toArray().filter(E=>E)}dumpLru(){return this[A]}set(E,$,Z){if((Z=Z||this[v])&&"number"!=typeof Z)throw new TypeError("maxAge must be a number");const oe=Z?Date.now():0,se=this[Q]($,E);if(this[b].has(E)){if(se>this[j])return ce(this,this[b].get(E)),!1;const me=this[b].get(E).value;return this[x]&&(this[O]||this[x](E,me.value)),me.now=oe,me.maxAge=Z,me.value=$,this[P]+=se-me.length,me.length=se,this.get(E),K(this),!0}const te=new D(E,$,se,oe,Z);return te.length>this[j]?(this[x]&&this[x](E,$),!1):(this[P]+=te.length,this[A].unshift(te),this[b].set(E,this[A].head),K(this),!0)}has(E){if(!this[b].has(E))return!1;const $=this[b].get(E).value;return!R(this,$)}get(E){return V(this,E,!0)}peek(E){return V(this,E,!1)}pop(){const E=this[A].tail;return E?(ce(this,E),E.value):null}del(E){ce(this,this[b].get(E))}load(E){this.reset();const $=Date.now();for(let Z=E.length-1;Z>=0;Z--){const oe=E[Z],se=oe.e||0;if(0===se)this.set(oe.k,oe.v);else{const te=se-$;te>0&&this.set(oe.k,oe.v,te)}}}prune(){this[b].forEach((E,$)=>V(this,$,!1))}}},{yallist:92}],34:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#",P="http://www.w3.org/2000/10/swap/";he.default={xsd:{decimal:`${j}decimal`,boolean:`${j}boolean`,double:`${j}double`,integer:`${j}integer`,string:`${j}string`},rdf:{type:`${W}type`,nil:`${W}nil`,first:`${W}first`,rest:`${W}rest`,langString:`${W}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${P}reify#forSome`,forAll:`${P}reify#forAll`},log:{implies:`${P}log#implies`}}},{}],35:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=he.Variable=he.Triple=he.Term=he.Quad=he.NamedNode=he.Literal=he.DefaultGraph=he.BlankNode=void 0,he.escapeQuotes=E,he.termFromId=function D(ne,_e){if(_e=_e||b,!ne)return _e.defaultGraph();switch(ne[0]){case"?":return _e.variable(ne.substr(1));case"_":return _e.blankNode(ne.substr(2));case'"':if(_e===b)return new V(ne);if('"'===ne[ne.length-1])return _e.literal(ne.substr(1,ne.length-2));const Ie=ne.lastIndexOf('"',ne.length-1);return _e.literal(ne.substr(1,Ie-1),"@"===ne[Ie+1]?ne.substr(Ie+2):_e.namedNode(ne.substr(Ie+3)));case"<":const Ge=A.exec(ne);return _e.quad(D($(Ge[1]),_e),D($(Ge[2]),_e),D($(Ge[3]),_e),Ge[4]&&D($(Ge[4]),_e));default:return _e.namedNode(ne)}},he.termToId=function I(ne){if("string"==typeof ne)return ne;if(ne instanceof S&&"Quad"!==ne.termType)return ne.id;if(!ne)return v.id;switch(ne.termType){case"NamedNode":return ne.value;case"BlankNode":return`_:${ne.value}`;case"Variable":return`?${ne.value}`;case"DefaultGraph":return"";case"Literal":return`"${ne.value}"${ne.language?`@${ne.language}`:ne.datatype&&ne.datatype.value!==z.string?`^^${ne.datatype.value}`:""}`;case"Quad":return`<<${E(I(ne.subject))} ${E(I(ne.predicate))} ${E(I(ne.object))}${(0,j.isDefaultGraph)(ne.graph)?"":` ${I(ne.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${ne.termType}`)}},he.unescapeQuotes=$;var ne,W=(ne=Y("./IRIs"))&&ne.__esModule?ne:{default:ne},j=Y("./N3Util");const{rdf:Q,xsd:z}=W.default;let v,x=0;const O=/^"(.*".*)(?="[^"]*$)/,A=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,b={namedNode:function(ne){return new T(ne)},blankNode:function(ne){return new R(ne||"n3-"+x++)},variable:function(ne){return new K(ne)},literal:function(ne,_e){if("string"==typeof _e)return new V(`"${ne}"@${_e.toLowerCase()}`);let Ie=_e?_e.value:"";return""===Ie&&("boolean"==typeof ne?Ie=z.boolean:"number"==typeof ne&&(Number.isFinite(ne)?Ie=Number.isInteger(ne)?z.integer:z.double:(Ie=z.double,Number.isNaN(ne)||(ne=ne>0?"INF":"-INF")))),new V(""===Ie||Ie===z.string?`"${ne}"`:`"${ne}"^^${Ie}`)},defaultGraph:function(){return v},quad:me,triple:me};he.default=b;class S{constructor(_e){this.id=_e}get value(){return this.id}equals(_e){return _e instanceof S?this.id===_e.id:!!_e&&this.termType===_e.termType&&this.value===_e.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}he.Term=S;class T extends S{get termType(){return"NamedNode"}}he.NamedNode=T;class V extends S{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const _e=this.id;let Ie=_e.lastIndexOf('"')+1;return Ie<_e.length&&"@"===_e[Ie++]?_e.substr(Ie).toLowerCase():""}get datatype(){return new T(this.datatypeString)}get datatypeString(){const _e=this.id,Ie=_e.lastIndexOf('"')+1,Ge=Ie<_e.length?_e[Ie]:"";return"^"===Ge?_e.substr(Ie+2):"@"!==Ge?z.string:Q.langString}equals(_e){return _e instanceof V?this.id===_e.id:!!_e&&!!_e.datatype&&this.termType===_e.termType&&this.value===_e.value&&this.language===_e.language&&this.datatype.value===_e.datatype.value}toJSON(){return{termType:this.termType,value:this.value,language:this.language,datatype:{termType:"NamedNode",value:this.datatypeString}}}}he.Literal=V;class R extends S{constructor(_e){super(`_:${_e}`)}get termType(){return"BlankNode"}get value(){return this.id.substr(2)}}he.BlankNode=R;class K extends S{constructor(_e){super(`?${_e}`)}get termType(){return"Variable"}get value(){return this.id.substr(1)}}he.Variable=K;class ce extends S{constructor(){return super(""),v||this}get termType(){return"DefaultGraph"}equals(_e){return this===_e||!!_e&&this.termType===_e.termType}}he.DefaultGraph=ce,v=new ce;class X extends S{constructor(_e,Ie,Ge,st){super(""),this._subject=_e,this._predicate=Ie,this._object=Ge,this._graph=st||v}get termType(){return"Quad"}get subject(){return this._subject}get predicate(){return this._predicate}get object(){return this._object}get graph(){return this._graph}toJSON(){return{termType:this.termType,subject:this._subject.toJSON(),predicate:this._predicate.toJSON(),object:this._object.toJSON(),graph:this._graph.toJSON()}}equals(_e){return!!_e&&this._subject.equals(_e.subject)&&this._predicate.equals(_e.predicate)&&this._object.equals(_e.object)&&this._graph.equals(_e.graph)}}function E(ne){return ne.replace(O,(_e,Ie)=>`"${Ie.replace(/"/g,'""')}`)}function $(ne){return ne.replace(O,(_e,Ie)=>`"${Ie.replace(/""/g,'"')}`)}function me(ne,_e,Ie,Ge){return new X(ne,_e,Ie,Ge)}he.Triple=he.Quad=X},{"./IRIs":34,"./N3Util":41}],36:[function(Y,Se,he){(function(W){(function(){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var j=Q(Y("./IRIs")),P=Q(Y("queue-microtask"));function Q(S){return S&&S.__esModule?S:{default:S}}const{xsd:z}=j.default,v=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,x={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},O=/[\x00-\x20<>\\"\{\}\|\^\`]/,A={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},b=/$0^/;he.default=class{constructor(T){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(T=T||{}).lineMode){this._n3Mode=!1;for(const V in this)!(V in A)&&this[V]instanceof RegExp&&(this[V]=b)}else this._n3Mode=!1!==T.n3;this._comments=!!T.comments,this._literalClosingPos=0}_tokenizeToEnd(T,V){let R=this._input,K=R.length;for(;;){let I,X;for(;I=this._newline.exec(R);)this._comments&&(X=this._comment.exec(I[0]))&&ce("comment",X[1],"",this._line,I[0].length),R=R.substr(I[0].length,R.length),K=R.length,this._line++;if(!I&&(I=this._whitespace.exec(R))&&(R=R.substr(I[0].length,R.length)),this._endOfFile.test(R))return V&&(this._comments&&(X=this._comment.exec(R))&&ce("comment",X[1],"",this._line,R.length),R=null,ce("eof","","",this._line,0)),this._input=R;const E=this._line,$=R[0];let Z="",oe="",se="",te=null,Ce=0,me=!1;switch($){case"^":if(R.length<3)break;if("^"!==R[1]){this._n3Mode&&(Ce=1,Z="^");break}if(this._previousMarker="^^",R=R.substr(2),"<"!==R[0]){me=!0;break}case"<":if(te=this._unescapedIri.exec(R))Z="IRI",oe=te[1];else if(te=this._iri.exec(R)){if(oe=this._unescape(te[1]),null===oe||O.test(oe))return D(this);Z="IRI"}else R.length>1&&"<"===R[1]?(Z="<<",Ce=2):this._n3Mode&&R.length>1&&"="===R[1]&&(Z="inverse",Ce=2,oe=">");break;case">":R.length>1&&">"===R[1]&&(Z=">>",Ce=2);break;case"_":((te=this._blank.exec(R))||V&&(te=this._blank.exec(`${R} `)))&&(Z="blank",se="_",oe=te[1]);break;case'"':if(te=this._simpleQuotedString.exec(R))oe=te[1];else if(({value:oe,matchLength:Ce}=this._parseLiteral(R)),null===oe)return D(this);(null!==te||0!==Ce)&&(Z="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(te=this._simpleApostropheString.exec(R))oe=te[1];else if(({value:oe,matchLength:Ce}=this._parseLiteral(R)),null===oe)return D(this);(null!==te||0!==Ce)&&(Z="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(te=this._variable.exec(R))&&(Z="var",oe=te[0]);break;case"@":"literal"===this._previousMarker&&(te=this._langcode.exec(R))?(Z="langcode",oe=te[1]):(te=this._keyword.exec(R))&&(Z=te[0]);break;case".":if(1===R.length?V:R[1]<"0"||R[1]>"9"){Z=".",Ce=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(te=this._number.exec(R)||V&&(te=this._number.exec(`${R} `)))&&(Z="literal",oe=te[0],se="string"==typeof te[1]?z.double:"string"==typeof te[2]?z.decimal:z.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(te=this._sparqlKeyword.exec(R))?Z=te[0].toUpperCase():me=!0;break;case"f":case"t":(te=this._boolean.exec(R))?(Z="literal",oe=te[0],se=z.boolean):me=!0;break;case"a":(te=this._shortPredicates.exec(R))?(Z="abbreviation",oe="a"):me=!0;break;case"=":this._n3Mode&&R.length>1&&(Z="abbreviation",">"!==R[1]?(Ce=1,oe="="):(Ce=2,oe=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(Ce=1,Z=$);break;default:me=!0}if(me&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(te=this._prefix.exec(R))?((te=this._prefixed.exec(R))||V&&(te=this._prefixed.exec(`${R} `)))&&(Z="prefixed",se=te[1]||"",oe=this._unescape(te[2])):(Z="prefix",oe=te[1]||"")),"^^"===this._previousMarker)switch(Z){case"prefixed":Z="type";break;case"IRI":Z="typeIRI";break;default:Z=""}if(!Z)return V||!/^'''|^"""/.test(R)&&/\n|\r/.test(R)?D(this):this._input=R;const ne=Ce||te[0].length,_e=ce(Z,oe,se,E,ne);this.previousToken=_e,this._previousMarker=Z,R=R.substr(ne,R.length)}function ce(I,X,E,$,Z){const oe=R?K-R.length:K,te={type:I,value:X,prefix:E,line:$,start:oe,end:oe+Z};return T(null,te),te}function D(I){T(I._syntaxError(/^\S*/.exec(R)[0]))}}_unescape(T){let V=!1;const R=T.replace(v,(K,ce,D,I)=>{if("string"==typeof ce)return String.fromCharCode(Number.parseInt(ce,16));if("string"==typeof D){let X=Number.parseInt(D,16);return X<=65535?String.fromCharCode(Number.parseInt(D,16)):String.fromCharCode(55296+((X-=65536)>>10),56320+(1023&X))}return I in x?x[I]:(V=!0,"")});return V?null:R}_parseLiteral(T){if(T.length>=3){const V=T.match(/^(?:"""|"|'''|'|)/)[0],R=V.length;let K=Math.max(this._literalClosingPos,R);for(;(K=T.indexOf(V,K))>0;){let ce=0;for(;"\\"===T[K-ce-1];)ce++;if(ce%2==0){const D=T.substring(R,K),I=D.split(/\r\n|\r|\n/).length-1,X=K+R;if(1===R&&0!==I||3===R&&this._lineMode)break;return this._line+=I,{value:this._unescape(D),matchLength:X}}K++}this._literalClosingPos=T.length-R+1}return{value:"",matchLength:0}}_syntaxError(T){this._input=null;const V=new Error(`Unexpected "${T}" on line ${this._line}.`);return V.context={token:void 0,line:this._line,previousToken:this.previousToken},V}_readStartingBom(T){return T.startsWith("\ufeff")?T.substr(1):T}tokenize(T,V){if(this._line=1,"string"==typeof T){if(this._input=this._readStartingBom(T),"function"!=typeof V){const R=[];let K;if(this._tokenizeToEnd((ce,D)=>ce?K=ce:R.push(D),!0),K)throw K;return R}(0,P.default)(()=>this._tokenizeToEnd(V,!0))}else this._pendingBuffer=null,"function"==typeof T.setEncoding&&T.setEncoding("utf8"),T.on("data",R=>{null!==this._input&&0!==R.length&&(this._pendingBuffer&&(R=W.concat([this._pendingBuffer,R]),this._pendingBuffer=null),128&R[R.length-1]?this._pendingBuffer=R:(void 0===this._input?this._input=this._readStartingBom("string"==typeof R?R:R.toString()):this._input+=R,this._tokenizeToEnd(V,!1)))}),T.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(V,!0)}),T.on("error",V)}}}).call(this)}).call(this,Y("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var W=Q(Y("./N3Lexer")),j=Q(Y("./N3DataFactory")),P=Q(Y("./IRIs"));function Q(A){return A&&A.__esModule?A:{default:A}}let z=0;class v{constructor(b){this._contextStack=[],this._graph=null,this._setBase((b=b||{}).baseIRI),b.factory&&O(this,b.factory);const y="string"==typeof b.format?b.format.match(/\w*$/)[0].toLowerCase():"",S=/turtle/.test(y),T=/trig/.test(y),V=/triple/.test(y),R=/quad/.test(y),K=this._n3Mode=/n3/.test(y),ce=V||R;(this._supportsNamedGraphs=!(S||K))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(S||T||V||K),this._supportsRDFStar=""===y||/star|\*$/.test(y),ce&&(this._resolveRelativeIRI=D=>null),this._blankNodePrefix="string"!=typeof b.blankNodePrefix?"":b.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=b.lexer||new W.default({lineMode:ce,n3:K}),this._explicitQuantifiers=!!b.explicitQuantifiers}static _resetBlankNodePrefix(){z=0}_setBase(b){if(b){const y=b.indexOf("#");y>=0&&(b=b.substr(0,y)),this._base=b,this._basePath=b.indexOf("/")<0?b:b.replace(/[^\/?]*(?:\?.*)?$/,""),b=b.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=b[0],this._baseScheme=b[1]}else this._base="",this._basePath=""}_saveContext(b,y,S,T,V){const R=this._n3Mode;this._contextStack.push({subject:S,predicate:T,object:V,graph:y,type:b,inverse:!!R&&this._inversePredicate,blankPrefix:R?this._prefixes._:"",quantified:R?this._quantified:null}),R&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const b=this._contextStack.pop(),y=this._n3Mode;this._subject=b.subject,this._predicate=b.predicate,this._object=b.object,this._graph=b.graph,y&&(this._inversePredicate=b.inverse,this._prefixes._=b.blankPrefix,this._quantified=b.quantified)}_readInTopContext(b){switch(b.type){case"eof":return null!==this._graph?this._error("Unclosed graph",b):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(b)}}_readEntity(b,y){let S;switch(b.type){case"IRI":case"typeIRI":const T=this._resolveIRI(b.value);if(null===T)return this._error("Invalid IRI",b);S=this._namedNode(T);break;case"type":case"prefixed":const V=this._prefixes[b.prefix];if(void 0===V)return this._error(`Undefined prefix "${b.prefix}:"`,b);S=this._namedNode(V+b.value);break;case"blank":S=this._blankNode(this._prefixes[b.prefix]+b.value);break;case"var":S=this._variable(b.value.substr(1));break;default:return this._error(`Expected entity but got ${b.type}`,b)}return!y&&this._n3Mode&&S.id in this._quantified&&(S=this._quantified[S.id]),S}_readSubject(b){switch(this._predicate=null,b.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",b);case"}":return this._readPunctuation(b);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',b);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',b);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",b);if(0===b.prefix.length)return this._literalValue=b.value,this._completeSubjectLiteral;this._subject=this._literal(b.value,this._namedNode(b.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._subject=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(b){const y=b.type;switch(y){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[b.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${y}`,b):(this._subject=null,"]"===y?this._readBlankNodeTail(b):this._readPunctuation(b));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",b);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",b);default:if(void 0===(this._predicate=this._readEntity(b)))return}return this._readObject}_readObject(b){switch(b.type){case"literal":if(0===b.prefix.length)return this._literalValue=b.value,this._readDataTypeOrLang;this._object=this._literal(b.value,this._namedNode(b.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._object=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(b){return"{"===b.type?this._readGraph(b):this._readPredicate(b)}_readGraph(b){return"{"!==b.type?this._error(`Expected graph but got ${b.type}`,b):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(b){return"]"===b.type?(this._subject=null,this._readBlankNodeTail(b)):(this._predicate=null,this._readPredicate(b))}_readBlankNodeTail(b){if("]"!==b.type)return this._readBlankNodePunctuation(b);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const y=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:y?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(b){switch(b.type){case".":case"}":return this._subject=null,this._readPunctuation(b);default:return this._readPredicate(b)}}_readListItem(b){let y=null,S=null,T=this._readListItem;const V=this._subject,R=this._contextStack,K=R[R.length-1];switch(b.type){case"[":this._saveContext("blank",this._graph,S=this._blankNode(),this.RDF_FIRST,this._subject=y=this._blankNode()),T=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,S=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==R.length&&"list"===R[R.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(T=this._readPredicate,this._subject===this.RDF_NIL)return T}else if(T=this._getContextEndReader(),this._object===this.RDF_NIL)return T;S=this.RDF_NIL;break;case"literal":0===b.prefix.length?(this._literalValue=b.value,T=this._readListItemDataTypeOrLang):(y=this._literal(b.value,this._namedNode(b.prefix)),T=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);default:if(void 0===(y=this._readEntity(b)))return}if(null===S&&(this._subject=S=this._blankNode()),null===V?null===K.predicate?K.subject=S:K.object=S:this._emit(V,this.RDF_REST,S,this._graph),null!==y){if(this._n3Mode&&("IRI"===b.type||"prefixed"===b.type))return this._saveContext("item",this._graph,S,this.RDF_FIRST,y),this._subject=y,this._predicate=null,this._getPathReader(this._readListItem);this._emit(S,this.RDF_FIRST,y,this._graph)}return T}_readDataTypeOrLang(b){return this._completeObjectLiteral(b,!1)}_readListItemDataTypeOrLang(b){return this._completeObjectLiteral(b,!0)}_completeLiteral(b){let y=this._literal(this._literalValue);switch(b.type){case"type":case"typeIRI":const S=this._readEntity(b);if(void 0===S)return;y=this._literal(this._literalValue,S),b=null;break;case"langcode":y=this._literal(this._literalValue,b.value),b=null}return{token:b,literal:y}}_completeSubjectLiteral(b){return this._subject=this._completeLiteral(b).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(b,y){const S=this._completeLiteral(b);if(S)return this._object=S.literal,y&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===S.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(S.token))}_readFormulaTail(b){return"}"!==b.type?this._readPunctuation(b):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(b){let y,S=this._graph;const T=this._subject,V=this._inversePredicate;switch(b.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",b);if(this._n3Mode)return this._readFormulaTail(b);this._graph=null;case".":this._subject=null,y=this._contextStack.length?this._readSubject:this._readInTopContext,V&&(this._inversePredicate=!1);break;case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(S=this._readEntity(b))){y=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}if(null!==T){const R=this._predicate,K=this._object;V?this._emit(K,R,T,S):this._emit(T,R,K,S)}return y}_readBlankNodePunctuation(b){let y;switch(b.type){case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}return this._emit(this._subject,this._predicate,this._object,this._graph),y}_readQuadPunctuation(b){return"."!==b.type?this._error("Expected dot to follow quad",b):this._readInTopContext}_readPrefix(b){return"prefix"!==b.type?this._error("Expected prefix to follow @prefix",b):(this._prefix=b.value,this._readPrefixIRI)}_readPrefixIRI(b){if("IRI"!==b.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,b);const y=this._readEntity(b);return this._prefixes[this._prefix]=y.value,this._prefixCallback(this._prefix,y),this._readDeclarationPunctuation}_readBaseIRI(b){const y="IRI"===b.type&&this._resolveIRI(b.value);return y?(this._setBase(y),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",b)}_readNamedGraphLabel(b){switch(b.type){case"IRI":case"blank":case"prefixed":return this._readSubject(b),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",b)}}_readNamedGraphBlankLabel(b){return"]"!==b.type?this._error("Invalid graph label",b):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(b){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(b)):"."!==b.type?this._error("Expected declaration to end with a dot",b):this._readInTopContext}_readQuantifierList(b){let y;switch(b.type){case"IRI":case"prefixed":if(void 0!==(y=this._readEntity(b,!0)))break;default:return this._error(`Unexpected ${b.type}`,b)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,y,this.QUANTIFIERS_GRAPH)):this._quantified[y.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(b){return","===b.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(b))}_getPathReader(b){return this._afterPath=b,this._readPath}_readPath(b){switch(b.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const y=this._contextStack,S=y.length&&y[y.length-1];if(S&&"item"===S.type){const T=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,T,this._graph)}return this._afterPath(b)}}_readForwardPath(b){let y,S;const T=this._blankNode();if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(y=this._subject,this._subject=T):(y=this._object,this._object=T),this._emit(y,S,T,this._graph),this._readPath}_readBackwardPath(b){const y=this._blankNode();let S,T;if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(T=this._subject,this._subject=y):(T=this._object,this._object=y),this._emit(y,S,T,this._graph),this._readPath}_readRDFStarTailOrGraph(b){return">>"!==b.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(b))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,b):this._readRDFStarTail(b)}_readRDFStarTail(b){if(">>"!==b.type)return this._error(`Expected >> but got ${b.type}`,b);const y=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=y,this._readPredicate):(this._object=y,this._getContextEndReader())}_getContextEndReader(){const b=this._contextStack;if(!b.length)return this._readPunctuation;switch(b[b.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(b,y,S,T){this._callback(null,this._quad(b,y,S,T||this.DEFAULTGRAPH))}_error(b,y){const S=new Error(`${b} on line ${y.line}.`);S.context={token:y,line:y.line,previousToken:this._lexer.previousToken},this._callback(S),this._callback=x}_resolveIRI(b){return/^[a-z][a-z0-9+.-]*:/i.test(b)?b:this._resolveRelativeIRI(b)}_resolveRelativeIRI(b){if(!b.length)return this._base;switch(b[0]){case"#":return this._base+b;case"?":return this._base.replace(/(?:\?.*)?$/,b);case"/":return("/"===b[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(b);default:return/^[^/:]*:/.test(b)?null:this._removeDotSegments(this._basePath+b)}}_removeDotSegments(b){if(!/(^|\/)\.\.?($|[/#?])/.test(b))return b;const y=b.length;let S="",T=-1,V=-1,R=0,K="/";for(;T=V&&(S=S.substr(0,R)),"/"!==K)return`${S}/${b.substr(T+1)}`;R=T+1}}}K=b[++T]}return S+b.substring(R)}parse(b,y,S){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${z++}_`,this._prefixCallback=S||x,this._inversePredicate=!1,this._quantified=Object.create(null),!y){const T=[];let V;if(this._callback=(R,K)=>{R?V=R:K&&T.push(K)},this._lexer.tokenize(b).every(R=>this._readCallback=this._readCallback(R)),V)throw V;return T}this._callback=y,this._lexer.tokenize(b,(T,V)=>{null!==T?(this._callback(T),this._callback=x):this._readCallback&&(this._readCallback=this._readCallback(V))})}}function x(){}function O(A,b){const y=b.namedNode;A._namedNode=y,A._blankNode=b.blankNode,A._literal=b.literal,A._variable=b.variable,A._quad=b.quad,A.DEFAULTGRAPH=b.defaultGraph(),A.RDF_FIRST=y(P.default.rdf.first),A.RDF_REST=y(P.default.rdf.rest),A.RDF_NIL=y(P.default.rdf.nil),A.N3_FORALL=y(P.default.r.forAll),A.N3_FORSOME=y(P.default.r.forSome),A.ABBREVIATIONS={a:y(P.default.rdf.type),"=":y(P.default.owl.sameAs),">":y(P.default.log.implies)},A.QUANTIFIERS_GRAPH=y("urn:n3:quantifiers")}he.default=v,O(v.prototype,j.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var b,W=function(b,y){if(!y&&b&&b.__esModule)return b;if(null===b||"object"!=typeof b&&"function"!=typeof b)return{default:b};var S=z(y);if(S&&S.has(b))return S.get(b);var T={},V=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in b)if("default"!==R&&Object.prototype.hasOwnProperty.call(b,R)){var K=V?Object.getOwnPropertyDescriptor(b,R):null;K&&(K.get||K.set)?Object.defineProperty(T,R,K):T[R]=b[R]}return T.default=b,S&&S.set(b,T),T}(Y("./N3DataFactory")),j=Y("readable-stream"),P=(b=Y("./IRIs"))&&b.__esModule?b:{default:b};function z(b){if("function"!=typeof WeakMap)return null;var y=new WeakMap,S=new WeakMap;return(z=function(T){return T?S:y})(b)}class x{constructor(y,S){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!S&&y&&!y[0]&&(S=y,y=null),this._factory=(S=S||{}).factory||W.default,y&&this.addQuads(y)}get size(){let y=this._size;if(null!==y)return y;y=0;const S=this._graphs;let T,V;for(const R in S)for(const K in T=S[R].subjects)for(const ce in V=T[K])y+=Object.keys(V[ce]).length;return this._size=y}_addToIndex(y,S,T,V){const R=y[S]||(y[S]={}),K=R[T]||(R[T]={}),ce=V in K;return ce||(K[V]=null),!ce}_removeFromIndex(y,S,T,V){const R=y[S],K=R[T];delete K[V];for(const ce in K)return;delete R[T];for(const ce in R)return;delete y[S]}*_findInIndex(y,S,T,V,R,K,ce,D){let I,X,E;const Z=!S+!T+!V>1?Object.keys(this._ids):this._entities,oe=(0,W.termFromId)(D,this._factory);S&&((I=y,y={})[S]=I[S]);for(const se in y){const te=Z[se];if(X=y[se]){T&&((I=X,X={})[T]=I[T]);for(const Ce in X){const me=Z[Ce];if(E=X[Ce]){const ne=V?V in E?[V]:[]:Object.keys(E);for(let _e=0;_e{T in S||(S[T]=!0,y((0,W.termFromId)(this._entities[T],this._factory)))}}add(y){return this.addQuad(y),this}addQuad(y,S,T,V){S||(V=y.graph,T=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),T=(0,W.termToId)(T),V=(0,W.termToId)(V);let R=this._graphs[V];R||(R=this._graphs[V]={subjects:{},predicates:{},objects:{}},Object.freeze(R));const K=this._ids,ce=this._entities;y=K[y]||(K[ce[++this._id]=y]=this._id),S=K[S]||(K[ce[++this._id]=S]=this._id),T=K[T]||(K[ce[++this._id]=T]=this._id);const D=this._addToIndex(R.subjects,y,S,T);return this._addToIndex(R.predicates,S,T,y),this._addToIndex(R.objects,T,y,S),this._size=null,D}addQuads(y){for(let S=0;S{this.addQuad(S)}),y}removeQuad(y,S,T,V){S||(V=y.graph,T=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),T=(0,W.termToId)(T),V=(0,W.termToId)(V);const R=this._ids,K=this._graphs;let ce,D,I;if(!((y=R[y])&&(S=R[S])&&(T=R[T])&&(ce=K[V])&&(D=ce.subjects[y])&&(I=D[S])&&T in I))return!1;for(y in this._removeFromIndex(ce.subjects,y,S,T),this._removeFromIndex(ce.predicates,S,T,y),this._removeFromIndex(ce.objects,T,y,S),null!==this._size&&this._size--,ce.subjects)return!0;return delete K[V],!0}removeQuads(y){for(let S=0;S{this.removeQuad(S)}),y}removeMatches(y,S,T,V){const R=new j.Readable({objectMode:!0});return R._read=()=>{for(const K of this.readQuads(y,S,T,V))R.push(K);R.push(null)},this.remove(R)}deleteGraph(y){return this.removeMatches(null,null,null,y)}getQuads(y,S,T,V){return[...this.readQuads(y,S,T,V)]}*readQuads(y,S,T,V){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._getGraphs(V),K=this._ids;let ce,D,I,X;if(!(O(y)&&!(D=K[y])||O(S)&&!(I=K[S])||O(T)&&!(X=K[T])))for(const E in R)(ce=R[E])&&(D?X?yield*this._findInIndex(ce.objects,X,D,I,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ce.subjects,D,I,null,"subject","predicate","object",E,null,!0):I?yield*this._findInIndex(ce.predicates,I,X,null,"predicate","object","subject",E,null,!0):X?yield*this._findInIndex(ce.objects,X,null,null,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ce.subjects,null,null,null,"subject","predicate","object",E,null,!0))}match(y,S,T,V){return new A(this,y,S,T,V)}countQuads(y,S,T,V){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._getGraphs(V),K=this._ids;let D,I,X,E,ce=0;if(O(y)&&!(I=K[y])||O(S)&&!(X=K[S])||O(T)&&!(E=K[T]))return 0;for(const $ in R)(D=R[$])&&(ce+=y?T?this._countInIndex(D.objects,E,I,X):this._countInIndex(D.subjects,I,X,E):S?this._countInIndex(D.predicates,X,E,I):this._countInIndex(D.objects,E,I,X));return ce}forEach(y,S,T,V,R){this.some(K=>(y(K),!1),S,T,V,R)}every(y,S,T,V,R){let K=!1;const ce=!this.some(D=>(K=!0,!y(D)),S,T,V,R);return K&&ce}some(y,S,T,V,R){for(const K of this.readQuads(S,T,V,R))if(y(K))return!0;return!1}getSubjects(y,S,T){const V=[];return this.forSubjects(R=>{V.push(R)},y,S,T),V}forSubjects(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.predicates,D,I,y):this._loopByKey1(ce.subjects,D,y):I?this._loopByKey0(ce.objects,I,y):this._loop(ce.subjects,y))}getPredicates(y,S,T){const V=[];return this.forPredicates(R=>{V.push(R)},y,S,T),V}forPredicates(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.objects,I,D,y):this._loopByKey0(ce.subjects,D,y):I?this._loopByKey1(ce.predicates,I,y):this._loop(ce.predicates,y))}getObjects(y,S,T){const V=[];return this.forObjects(R=>{V.push(R)},y,S,T),V}forObjects(y,S,T,V){S=S&&(0,W.termToId)(S),T=T&&(0,W.termToId)(T),V=V&&(0,W.termToId)(V);const R=this._ids,K=this._getGraphs(V);let ce,D,I;if(y=this._uniqueEntities(y),!(O(S)&&!(D=R[S])||O(T)&&!(I=R[T])))for(V in K)(ce=K[V])&&(D?I?this._loopBy2Keys(ce.subjects,D,I,y):this._loopByKey1(ce.objects,D,y):I?this._loopByKey0(ce.predicates,I,y):this._loop(ce.objects,y))}getGraphs(y,S,T){const V=[];return this.forGraphs(R=>{V.push(R)},y,S,T),V}forGraphs(y,S,T,V){for(const R in this._graphs)this.some(K=>(y(K.graph),!0),S,T,V,R)}createBlankNode(y){let S,T;if(y)for(S=y=`_:${y}`,T=1;this._ids[S];)S=y+T++;else do{S="_:b"+this._blankNodeIndex++}while(this._ids[S]);return this._ids[S]=++this._id,this._entities[this._id]=S,this._factory.blankNode(S.substr(2))}extractLists({remove:y=!1,ignoreErrors:S=!1}={}){const T={},V=S?()=>!0:(ce,D)=>{throw new Error(`${ce.value} ${D}`)},R=this.getQuads(null,P.default.rdf.rest,P.default.rdf.nil,null),K=y?[...R]:[];return R.forEach(ce=>{const D=[];let X,E,I=!1;const $=ce.graph;let Z=ce.subject;for(;Z&&!I;){const oe=this.getQuads(null,null,Z,null),se=this.getQuads(Z,null,null,null);let te,Ce=null,me=null,ne=null;for(let _e=0;_e{switch(b){case"data":O=y;break;case"end":A=y}}},(b,y)=>{b&&this.emit("error",b)||y&&this.push(y)},(b,y)=>{this.emit("prefix",b,y)}),this._transform=(b,y,S)=>{O(b),S()},this._flush=b=>{A(),b()}}import(v){return v.on("data",x=>{this.write(x)}),v.on("end",()=>{this.end()}),v.on("error",x=>{this.emit("error",x)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var z,W=Y("readable-stream"),j=(z=Y("./N3Writer"))&&z.__esModule?z:{default:z};he.default=class extends W.Transform{constructor(v){super({encoding:"utf8",writableObjectMode:!0});const x=this._writer=new j.default({write:(O,A,b)=>{this.push(O),b&&b()},end:O=>{this.push(null),O&&O()}},v);this._transform=(O,A,b)=>{x.addQuad(O,b)},this._flush=O=>{x.end(O)}}import(v){return v.on("data",x=>{this.write(x)}),v.on("end",()=>{this.end()}),v.on("error",x=>{this.emit("error",x)}),v.on("prefix",(x,O)=>{this._writer.addPrefix(x,O)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.inDefaultGraph=function(y){return x(y.graph)},he.isBlankNode=function(y){return!!y&&"BlankNode"===y.termType},he.isDefaultGraph=x,he.isLiteral=function(y){return!!y&&"Literal"===y.termType},he.isNamedNode=function(y){return!!y&&"NamedNode"===y.termType},he.isVariable=function(y){return!!y&&"Variable"===y.termType},he.prefix=function(y,S){return b({"":y.value||y},S)("")},he.prefixes=b;var y,W=(y=Y("./N3DataFactory"))&&y.__esModule?y:{default:y};function x(y){return!!y&&"DefaultGraph"===y.termType}function b(y,S){const T=Object.create(null);for(const R in y)V(R,y[R]);function V(R,K){if("string"==typeof K){const ce=Object.create(null);T[R]=D=>ce[D]||(ce[D]=S.namedNode(K+D))}else if(!(R in T))throw new Error(`Unknown prefix: ${R}`);return T[R]}return S=S||W.default,V}},{"./N3DataFactory":35}],42:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var ce,W=(ce=Y("./IRIs"))&&ce.__esModule?ce:{default:ce},j=function(ce,D){if(!D&&ce&&ce.__esModule)return ce;if(null===ce||"object"!=typeof ce&&"function"!=typeof ce)return{default:ce};var I=Q(D);if(I&&I.has(ce))return I.get(ce);var X={},E=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var $ in ce)if("default"!==$&&Object.prototype.hasOwnProperty.call(ce,$)){var Z=E?Object.getOwnPropertyDescriptor(ce,$):null;Z&&(Z.get||Z.set)?Object.defineProperty(X,$,Z):X[$]=ce[$]}return X.default=ce,I&&I.set(ce,X),X}(Y("./N3DataFactory")),P=Y("./N3Util");function Q(ce){if("function"!=typeof WeakMap)return null;var D=new WeakMap,I=new WeakMap;return(Q=function(X){return X?I:D})(ce)}const x=j.default.defaultGraph(),{rdf:O,xsd:A}=W.default,b=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,y=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,S={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class T extends j.Term{equals(){return!1}}function R(ce){let D=S[ce];return void 0===D&&(1===ce.length?(D=ce.charCodeAt(0).toString(16),D="\\u0000".substr(0,6-D.length)+D):(D=(1024*(ce.charCodeAt(0)-55296)+ce.charCodeAt(1)+9216).toString(16),D="\\U00000000".substr(0,10-D.length)+D)),D}function K(ce){return ce.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}he.default=class{constructor(D,I){if(this._prefixRegex=/$0^/,D&&"function"!=typeof D.write&&(I=D,D=null),this._lists=(I=I||{}).lists,D)this._outputStream=D,this._endStream=void 0===I.end||!!I.end;else{let X="";this._outputStream={write(E,$,Z){X+=E,Z&&Z()},end:E=>{E&&E(null,X)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(I.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=x,this._prefixIRIs=Object.create(null),I.prefixes&&this.addPrefixes(I.prefixes),I.baseIRI&&(this._baseMatcher=new RegExp(`^${K(I.baseIRI)}${I.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=I.baseIRI.length))}get _inDefaultGraph(){return x.equals(this._graph)}_write(D,I){this._outputStream.write(D,"utf8",I)}_writeQuad(D,I,X,E,$){try{E.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(x.equals(E)?"":`${this._encodeIriOrBlank(E)} {\n`)),this._graph=E,this._subject=null),D.equals(this._subject)?I.equals(this._predicate)?this._write(`, ${this._encodeObject(X)}`,$):this._write(`;\n ${this._encodePredicate(this._predicate=I)} ${this._encodeObject(X)}`,$):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=D)} ${this._encodePredicate(this._predicate=I)} ${this._encodeObject(X)}`,$)}catch(Z){$&&$(Z)}}_writeQuadLine(D,I,X,E,$){delete this._prefixMatch,this._write(this.quadToString(D,I,X,E),$)}quadToString(D,I,X,E){return`${this._encodeSubject(D)} ${this._encodeIriOrBlank(I)} ${this._encodeObject(X)}${E&&E.value?` ${this._encodeIriOrBlank(E)} .\n`:" .\n"}`}quadsToString(D){return D.map(I=>this.quadToString(I.subject,I.predicate,I.object,I.graph)).join("")}_encodeSubject(D){return"Quad"===D.termType?this._encodeQuad(D):this._encodeIriOrBlank(D)}_encodeIriOrBlank(D){if("NamedNode"!==D.termType)return this._lists&&D.value in this._lists&&(D=this.list(this._lists[D.value])),"id"in D?D.id:`_:${D.value}`;let I=D.value;this._baseMatcher&&this._baseMatcher.test(I)&&(I=I.substr(this._baseLength)),b.test(I)&&(I=I.replace(y,R));const X=this._prefixRegex.exec(I);return X?X[1]?this._prefixIRIs[X[1]]+X[2]:I:`<${I}>`}_encodeLiteral(D){let I=D.value;if(b.test(I)&&(I=I.replace(y,R)),D.language)return`"${I}"@${D.language}`;if(this._lineMode){if(D.datatype.value===A.string)return`"${I}"`}else switch(D.datatype.value){case A.string:return`"${I}"`;case A.boolean:if("true"===I||"false"===I)return I;break;case A.integer:if(/^[+-]?\d+$/.test(I))return I;break;case A.decimal:if(/^[+-]?\d*\.\d+$/.test(I))return I;break;case A.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(I))return I}return`"${I}"^^${this._encodeIriOrBlank(D.datatype)}`}_encodePredicate(D){return D.value===O.type?"a":this._encodeIriOrBlank(D)}_encodeObject(D){switch(D.termType){case"Quad":return this._encodeQuad(D);case"Literal":return this._encodeLiteral(D);default:return this._encodeIriOrBlank(D)}}_encodeQuad({subject:D,predicate:I,object:X,graph:E}){return`<<${this._encodeSubject(D)} ${this._encodePredicate(I)} ${this._encodeObject(X)}${(0,P.isDefaultGraph)(E)?"":` ${this._encodeIriOrBlank(E)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(D,I,X,E,$){void 0===X?this._writeQuad(D.subject,D.predicate,D.object,D.graph,I):"function"==typeof E?this._writeQuad(D,I,X,x,E):this._writeQuad(D,I,X,E||x,$)}addQuads(D){for(let I=0;I.\n`)}if(X){let E="",$="";for(const Z in this._prefixIRIs)E+=E?`|${Z}`:Z,$+=($?"|":"")+this._prefixIRIs[Z];E=K(E),this._prefixRegex=new RegExp(`^(?:${$})[^/]*$|^(${E})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(X?"\n":"",I)}blank(D,I){let E,$,X=D;switch(void 0===D?X=[]:D.termType?X=[{predicate:D,object:I}]:"length"in D||(X=[D]),$=X.length){case 0:return new T("[]");case 1:if(E=X[0],!(E.object instanceof T))return new T(`[ ${this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)} ]`);default:let Z="[";for(let oe=0;oe<$;oe++)E=X[oe],E.predicate.equals(D)?Z+=`, ${this._encodeObject(E.object)}`:(Z+=`${(oe?";\n ":"\n ")+this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)}`,D=E.predicate);return new T(`${Z}\n]`)}}list(D){const I=D&&D.length||0,X=new Array(I);for(let E=0;E{I=null,D(X,E)});if(this._endStream)try{return this._outputStream.end(I)}catch(X){}I&&I()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),Object.defineProperty(he,"BlankNode",{enumerable:!0,get:function(){return O.BlankNode}}),Object.defineProperty(he,"DataFactory",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(he,"DefaultGraph",{enumerable:!0,get:function(){return O.DefaultGraph}}),Object.defineProperty(he,"Lexer",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(he,"Literal",{enumerable:!0,get:function(){return O.Literal}}),Object.defineProperty(he,"NamedNode",{enumerable:!0,get:function(){return O.NamedNode}}),Object.defineProperty(he,"Parser",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(he,"Quad",{enumerable:!0,get:function(){return O.Quad}}),Object.defineProperty(he,"Store",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(he,"StreamParser",{enumerable:!0,get:function(){return z.default}}),Object.defineProperty(he,"StreamWriter",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(he,"Term",{enumerable:!0,get:function(){return O.Term}}),Object.defineProperty(he,"Triple",{enumerable:!0,get:function(){return O.Triple}}),he.Util=void 0,Object.defineProperty(he,"Variable",{enumerable:!0,get:function(){return O.Variable}}),Object.defineProperty(he,"Writer",{enumerable:!0,get:function(){return P.default}}),he.default=void 0,Object.defineProperty(he,"termFromId",{enumerable:!0,get:function(){return O.termFromId}}),Object.defineProperty(he,"termToId",{enumerable:!0,get:function(){return O.termToId}});var W=y(Y("./N3Lexer")),j=y(Y("./N3Parser")),P=y(Y("./N3Writer")),Q=y(Y("./N3Store")),z=y(Y("./N3StreamParser")),v=y(Y("./N3StreamWriter")),x=b(Y("./N3Util"));he.Util=x;var O=b(Y("./N3DataFactory"));function A(T){if("function"!=typeof WeakMap)return null;var V=new WeakMap,R=new WeakMap;return(A=function(K){return K?R:V})(T)}function b(T,V){if(!V&&T&&T.__esModule)return T;if(null===T||"object"!=typeof T&&"function"!=typeof T)return{default:T};var R=A(V);if(R&&R.has(T))return R.get(T);var K={},ce=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var D in T)if("default"!==D&&Object.prototype.hasOwnProperty.call(T,D)){var I=ce?Object.getOwnPropertyDescriptor(T,D):null;I&&(I.get||I.set)?Object.defineProperty(K,D,I):K[D]=T[D]}return K.default=T,R&&R.set(T,K),K}function y(T){return T&&T.__esModule?T:{default:T}}he.default={Lexer:W.default,Parser:j.default,Writer:P.default,Store:Q.default,StreamParser:z.default,StreamWriter:v.default,Util:x,DataFactory:O.default,Term:O.Term,NamedNode:O.NamedNode,Literal:O.Literal,BlankNode:O.BlankNode,Variable:O.Variable,DefaultGraph:O.DefaultGraph,Quad:O.Quad,Triple:O.Triple,termFromId:O.termFromId,termToId:O.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(Y,Se,he){var j,P,W=Se.exports={};function Q(){throw new Error("setTimeout has not been defined")}function z(){throw new Error("clearTimeout has not been defined")}function v(K){if(j===setTimeout)return setTimeout(K,0);if((j===Q||!j)&&setTimeout)return j=setTimeout,setTimeout(K,0);try{return j(K,0)}catch(ce){try{return j.call(null,K,0)}catch(D){return j.call(this,K,0)}}}!function(){try{j="function"==typeof setTimeout?setTimeout:Q}catch(K){j=Q}try{P="function"==typeof clearTimeout?clearTimeout:z}catch(K){P=z}}();var b,O=[],A=!1,y=-1;function S(){!A||!b||(A=!1,b.length?O=b.concat(O):y=-1,O.length&&T())}function T(){if(!A){var K=v(S);A=!0;for(var ce=O.length;ce;){for(b=O,O=[];++y1)for(var D=1;D(j||(j=Promise.resolve())).then(P).catch(Q=>setTimeout(()=>{throw Q},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(Y,Se,he){Se.exports=Y("./lib")},{"./lib":55}],47:[function(Y,Se,he){"use strict";Se.exports=class Hq{constructor(j,P=new Map,Q=0){this.prefix=j,this._existing=P,this.counter=Q}clone(){const{prefix:j,_existing:P,counter:Q}=this;return new Hq(j,new Map(P),Q)}getId(j){const P=j&&this._existing.get(j);if(P)return P;const Q=this.prefix+this.counter;return this.counter++,j&&this._existing.set(j,Q),Q}hasId(j){return this._existing.has(j)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(Y,Se,he){"use strict";Y("setimmediate");const W=self.crypto||self.msCrypto;Se.exports=class{constructor(P){if(!W||!W.subtle)throw new Error("crypto.subtle not found.");if("sha256"===P)this.algorithm={name:"SHA-256"};else{if("sha1"!==P)throw new Error(`Unsupport algorithm "${P}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(P){this._content+=P}digest(){var P=this;return yt(function*(){const Q=(new TextEncoder).encode(P._content),z=new Uint8Array(yield W.subtle.digest(P.algorithm,Q));let v="";for(let x=0;x]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),Se.exports=class a2{static parse(K){const ce=[],D={},I=K.split(A.eoln);let X=0;for(const E of I){if(X++,A.empty.test(E))continue;const $=E.match(A.quad);if(null===$)throw new Error("N-Quads parse error on line "+X+".");const Z={subject:null,predicate:null,object:null,graph:null};if(Z.subject=void 0!==$[1]?{termType:z,value:$[1]}:{termType:v,value:$[2]},Z.predicate={termType:z,value:$[3]},void 0!==$[4]?Z.object={termType:z,value:$[4]}:void 0!==$[5]?Z.object={termType:v,value:$[5]}:(Z.object={termType:x,value:void 0,datatype:{termType:z}},void 0!==$[7]?Z.object.datatype.value=$[7]:void 0!==$[8]?(Z.object.datatype.value=P,Z.object.language=$[8]):Z.object.datatype.value=Q,Z.object.value=$[6].replace(T,function(K,ce,D,I){if(ce)switch(ce){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(D)return String.fromCharCode(parseInt(D,16));if(I)throw new Error("Unsupported U escape")})),Z.graph=void 0!==$[9]?{termType:z,value:$[9]}:void 0!==$[10]?{termType:v,value:$[10]}:{termType:O,value:""},Z.graph.value in D){let oe=!0;const se=D[Z.graph.value];for(const te of se)if(b(te,Z)){oe=!1;break}oe&&(se.push(Z),ce.push(Z))}else D[Z.graph.value]=[Z],ce.push(Z)}return ce}static serialize(K){Array.isArray(K)||(K=a2.legacyDatasetToQuads(K));const ce=[];for(const D of K)ce.push(a2.serializeQuad(D));return ce.sort().join("")}static serializeQuad(K){const ce=K.subject,I=K.object,X=K.graph;let E="";return E+=ce.termType===z?`<${ce.value}>`:`${ce.value}`,E+=` <${K.predicate.value}> `,I.termType===z?E+=`<${I.value}>`:I.termType===v?E+=I.value:(E+=`"${R=I.value,R.replace(y,function(K){switch(K){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,I.datatype.value===P?I.language&&(E+=`@${I.language}`):I.datatype.value!==Q&&(E+=`^^<${I.datatype.value}>`)),X.termType===z?E+=` <${X.value}>`:X.termType===v&&(E+=` ${X.value}`),E+=" .\n",E;var R}static legacyDatasetToQuads(K){const ce=[],D={"blank node":v,IRI:z,literal:x};for(const I in K)K[I].forEach(E=>{const $={};for(const Z in E){const oe=E[Z],se={termType:D[oe.type],value:oe.value};se.termType===x&&(se.datatype={termType:z},"datatype"in oe&&(se.datatype.value=oe.datatype),"language"in oe?("datatype"in oe||(se.datatype.value=P),se.language=oe.language):"datatype"in oe||(se.datatype.value=Q)),$[Z]=se}$.graph="@default"===I?{termType:O,value:""}:{termType:I.startsWith("_:")?v:z,value:I},ce.push($)});return ce}};const y=/["\\\n\r]/g;const T=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(Y,Se,he){"use strict";Se.exports=class{constructor(j){this.current=j.sort(),this.done=!1,this.dir=new Map;for(let P=0;Pz)&&(b&&O>0&&A>j[O-1]||!b&&Oj[O+1])&&(z=A,v=O)}if(null===z)this.done=!0;else{const O=P.get(z)?v-1:v+1;j[v]=j[O],j[O]=z;for(const A of j)A>z&&P.set(A,!P.get(A))}return Q}}},{}],51:[function(Y,Se,he){(function(W){(function(){"use strict";const j=Y("./IdentifierIssuer"),P=Y("./MessageDigest"),Q=Y("./Permuter"),z=Y("./NQuads");function v(x,O){return x.hashO.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new j("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(O){var A=this;return yt(function*(){A.quads=O;for(const K of O)A._addBlankNodeQuadInfo({quad:K,component:K.subject}),A._addBlankNodeQuadInfo({quad:K,component:K.object}),A._addBlankNodeQuadInfo({quad:K,component:K.graph});const b=new Map,y=[...A.blankNodeInfo.keys()];let S=0;for(const K of y)++S%100==0&&(yield A._yield()),yield A._hashAndTrackBlankNode({id:K,hashToBlankNodes:b});const T=[...b.keys()].sort(),V=[];for(const K of T){const ce=b.get(K);ce.length>1?V.push(ce):A.canonicalIssuer.getId(ce[0])}for(const K of V){const ce=[];for(const D of K){if(A.canonicalIssuer.hasId(D))continue;const I=new j("_:b");I.getId(D);const X=yield A.hashNDegreeQuads(D,I);ce.push(X)}ce.sort(v);for(const D of ce){const I=D.issuer.getOldIds();for(const X of I)A.canonicalIssuer.getId(X)}}const R=[];for(const K of A.quads){const ce=ot({},K);ce.subject=A._useCanonicalId({component:ce.subject}),ce.object=A._useCanonicalId({component:ce.object}),ce.graph=A._useCanonicalId({component:ce.graph}),R.push(z.serializeQuad(ce))}return R.sort(),R.join("")})()}hashFirstDegreeQuads(O){var A=this;return yt(function*(){const b=[],y=A.blankNodeInfo.get(O),S=y.quads;for(const V of S){const R={subject:null,predicate:V.predicate,object:null,graph:null};R.subject=A.modifyFirstDegreeComponent(O,V.subject,"subject"),R.object=A.modifyFirstDegreeComponent(O,V.object,"object"),R.graph=A.modifyFirstDegreeComponent(O,V.graph,"graph"),b.push(z.serializeQuad(R))}b.sort();const T=new P(A.hashAlgorithm);for(const V of b)T.update(V);return y.hash=yield T.digest(),y.hash})()}hashRelatedBlankNode(O,A,b,y){var S=this;return yt(function*(){let T;T=S.canonicalIssuer.hasId(O)?S.canonicalIssuer.getId(O):b.hasId(O)?b.getId(O):S.blankNodeInfo.get(O).hash;const V=new P(S.hashAlgorithm);return V.update(y),"g"!==y&&V.update(S.getRelatedPredicate(A)),V.update(T),V.digest()})()}hashNDegreeQuads(O,A){var b=this;return yt(function*(){const y=new P(b.hashAlgorithm),S=yield b.createHashToRelated(O,A),T=[...S.keys()].sort();for(const V of T){y.update(V);let K,R="";const ce=new Q(S.get(V));let D=0;for(;ce.hasNext();){const I=ce.next();++D%3==0&&(yield b._yield());let X=A.clone(),E="";const $=[];let Z=!1;for(const oe of I)if(b.canonicalIssuer.hasId(oe)?E+=b.canonicalIssuer.getId(oe):(X.hasId(oe)||$.push(oe),E+=X.getId(oe)),0!==R.length&&E>R){Z=!0;break}if(!Z){for(const oe of $){const se=yield b.hashNDegreeQuads(oe,X);if(E+=X.getId(oe),E+=`<${se.hash}>`,X=se.issuer,0!==R.length&&E>R){Z=!0;break}}Z||(0===R.length||E`}createHashToRelated(O,A){var b=this;return yt(function*(){const y=new Map,S=b.blankNodeInfo.get(O).quads;let T=0;for(const V of S)++T%100==0&&(yield b._yield()),yield Promise.all([b._addRelatedBlankNodeHash({quad:V,component:V.subject,position:"s",id:O,issuer:A,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:V,component:V.object,position:"o",id:O,issuer:A,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:V,component:V.graph,position:"g",id:O,issuer:A,hashToRelated:y})]);return y})()}_hashAndTrackBlankNode({id:O,hashToBlankNodes:A}){var b=this;return yt(function*(){const y=yield b.hashFirstDegreeQuads(O),S=A.get(y);S?S.push(O):A.set(y,[O])})()}_addBlankNodeQuadInfo({quad:O,component:A}){if("BlankNode"!==A.termType)return;const b=A.value,y=this.blankNodeInfo.get(b);y?y.quads.add(O):this.blankNodeInfo.set(b,{quads:new Set([O]),hash:null})}_addRelatedBlankNodeHash({quad:O,component:A,position:b,id:y,issuer:S,hashToRelated:T}){var V=this;return yt(function*(){if("BlankNode"!==A.termType||A.value===y)return;const R=A.value,K=yield V.hashRelatedBlankNode(R,O,S,b),ce=T.get(K);ce?ce.push(R):T.set(K,[R])})()}_useCanonicalId({component:O}){return"BlankNode"!==O.termType||O.value.startsWith(this.canonicalIssuer.prefix)?O:{termType:"BlankNode",value:this.canonicalIssuer.getId(O.value)}}_yield(){return yt(function*(){return new Promise(O=>W(O))})()}}}).call(this)}).call(this,Y("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(Y,Se,he){"use strict";const W=Y("./IdentifierIssuer"),j=Y("./MessageDigest"),P=Y("./Permuter"),Q=Y("./NQuads");function z(v,x){return v.hashx.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new W("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(x){this.quads=x;for(const T of x)this._addBlankNodeQuadInfo({quad:T,component:T.subject}),this._addBlankNodeQuadInfo({quad:T,component:T.object}),this._addBlankNodeQuadInfo({quad:T,component:T.graph});const O=new Map,A=[...this.blankNodeInfo.keys()];for(const T of A)this._hashAndTrackBlankNode({id:T,hashToBlankNodes:O});const b=[...O.keys()].sort(),y=[];for(const T of b){const V=O.get(T);V.length>1?y.push(V):this.canonicalIssuer.getId(V[0])}for(const T of y){const V=[];for(const R of T){if(this.canonicalIssuer.hasId(R))continue;const K=new W("_:b");K.getId(R);const ce=this.hashNDegreeQuads(R,K);V.push(ce)}V.sort(z);for(const R of V){const K=R.issuer.getOldIds();for(const ce of K)this.canonicalIssuer.getId(ce)}}const S=[];for(const T of this.quads){const V=ot({},T);V.subject=this._useCanonicalId({component:V.subject}),V.object=this._useCanonicalId({component:V.object}),V.graph=this._useCanonicalId({component:V.graph}),S.push(Q.serializeQuad(V))}return S.sort(),S.join("")}hashFirstDegreeQuads(x){const O=[],A=this.blankNodeInfo.get(x),b=A.quads;for(const S of b){const T={subject:null,predicate:S.predicate,object:null,graph:null};T.subject=this.modifyFirstDegreeComponent(x,S.subject,"subject"),T.object=this.modifyFirstDegreeComponent(x,S.object,"object"),T.graph=this.modifyFirstDegreeComponent(x,S.graph,"graph"),O.push(Q.serializeQuad(T))}O.sort();const y=new j(this.hashAlgorithm);for(const S of O)y.update(S);return A.hash=y.digest(),A.hash}hashRelatedBlankNode(x,O,A,b){let y;y=this.canonicalIssuer.hasId(x)?this.canonicalIssuer.getId(x):A.hasId(x)?A.getId(x):this.blankNodeInfo.get(x).hash;const S=new j(this.hashAlgorithm);return S.update(b),"g"!==b&&S.update(this.getRelatedPredicate(O)),S.update(y),S.digest()}hashNDegreeQuads(x,O){const A=new j(this.hashAlgorithm),b=this.createHashToRelated(x,O),y=[...b.keys()].sort();for(const S of y){A.update(S);let V,T="";const R=new P(b.get(S));for(;R.hasNext();){const K=R.next();let ce=O.clone(),D="";const I=[];let X=!1;for(const E of K)if(this.canonicalIssuer.hasId(E)?D+=this.canonicalIssuer.getId(E):(ce.hasId(E)||I.push(E),D+=ce.getId(E)),0!==T.length&&D>T){X=!0;break}if(!X){for(const E of I){const $=this.hashNDegreeQuads(E,ce);if(D+=ce.getId(E),D+=`<${$.hash}>`,ce=$.issuer,0!==T.length&&D>T){X=!0;break}}X||(0===T.length||D`}createHashToRelated(x,O){const A=new Map,b=this.blankNodeInfo.get(x).quads;for(const y of b)this._addRelatedBlankNodeHash({quad:y,component:y.subject,position:"s",id:x,issuer:O,hashToRelated:A}),this._addRelatedBlankNodeHash({quad:y,component:y.object,position:"o",id:x,issuer:O,hashToRelated:A}),this._addRelatedBlankNodeHash({quad:y,component:y.graph,position:"g",id:x,issuer:O,hashToRelated:A});return A}_hashAndTrackBlankNode({id:x,hashToBlankNodes:O}){const A=this.hashFirstDegreeQuads(x),b=O.get(A);b?b.push(x):O.set(A,[x])}_addBlankNodeQuadInfo({quad:x,component:O}){if("BlankNode"!==O.termType)return;const A=O.value,b=this.blankNodeInfo.get(A);b?b.quads.add(x):this.blankNodeInfo.set(A,{quads:new Set([x]),hash:null})}_addRelatedBlankNodeHash({quad:x,component:O,position:A,id:b,issuer:y,hashToRelated:S}){if("BlankNode"!==O.termType||O.value===b)return;const T=O.value,V=this.hashRelatedBlankNode(T,x,y,A),R=S.get(V);R?R.push(T):S.set(V,[T])}_useCanonicalId({component:x}){return"BlankNode"!==x.termType||x.value.startsWith(this.canonicalIssuer.prefix)?x:{termType:"BlankNode",value:this.canonicalIssuer.getId(x.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(P,Q,z){return"BlankNode"!==Q.termType?Q:"graph"===z?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===P?"_:a":"_:z"}}getRelatedPredicate(P){return P.predicate.value}createHashToRelated(P,Q){var z=this;return yt(function*(){const v=new Map,x=z.blankNodeInfo.get(P).quads;let O=0;for(const A of x){let b,y;if("BlankNode"===A.subject.termType&&A.subject.value!==P)y=A.subject.value,b="p";else{if("BlankNode"!==A.object.termType||A.object.value===P)continue;y=A.object.value,b="r"}++O%100==0&&(yield z._yield());const S=yield z.hashRelatedBlankNode(y,A,Q,b),T=v.get(S);T?T.push(y):v.set(S,[y])}return v})()}}},{"./URDNA2015":51}],54:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015Sync");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(P,Q,z){return"BlankNode"!==Q.termType?Q:"graph"===z?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===P?"_:a":"_:z"}}getRelatedPredicate(P){return P.predicate.value}createHashToRelated(P,Q){const z=new Map,v=this.blankNodeInfo.get(P).quads;for(const x of v){let O,A;if("BlankNode"===x.subject.termType&&x.subject.value!==P)A=x.subject.value,O="p";else{if("BlankNode"!==x.object.termType||x.object.value===P)continue;A=x.object.value,O="r"}const b=this.hashRelatedBlankNode(A,x,Q,O),y=z.get(b);y?y.push(A):z.set(b,[A])}return z}}},{"./URDNA2015Sync":52}],55:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015"),j=Y("./URGNA2012"),P=Y("./URDNA2015Sync"),Q=Y("./URGNA2012Sync");let z;try{z=Y("rdf-canonize-native")}catch(x){}const v={};Se.exports=v,v.NQuads=Y("./NQuads"),v.IdentifierIssuer=Y("./IdentifierIssuer"),v._rdfCanonizeNative=function(x){return x&&(z=x),z},v.canonize=function(){var x=yt(function*(O,A){if(Array.isArray(O)||(O=v.NQuads.legacyDatasetToQuads(O)),A.useNative){if(!z)throw new Error("rdf-canonize-native not available");return new Promise((b,y)=>z.canonize(O,A,(S,T)=>S?y(S):b(T)))}if("URDNA2015"===A.algorithm)return new W(A).main(O);if("URGNA2012"===A.algorithm)return new j(A).main(O);throw"algorithm"in A?new Error("Invalid RDF Dataset Canonicalization algorithm: "+A.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(O,A){return x.apply(this,arguments)}}(),v._canonizeSync=function(x,O){if(Array.isArray(x)||(x=v.NQuads.legacyDatasetToQuads(x)),O.useNative){if(z)return z.canonizeSync(x,O);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===O.algorithm)return new P(O).main(x);if("URGNA2012"===O.algorithm)return new Q(O).main(x);throw"algorithm"in O?new Error("Invalid RDF Dataset Canonicalization algorithm: "+O.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(P,Q,z,v){void 0===v&&(v=z),Object.defineProperty(P,v,{enumerable:!0,get:function(){return Q[z]}})}:function(P,Q,z,v){void 0===v&&(v=z),P[v]=Q[z]}),j=this&&this.__exportStar||function(P,Q){for(var z in P)"default"!==z&&!Object.prototype.hasOwnProperty.call(Q,z)&&W(Q,P,z)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/BlankNode"),he),j(Y("./lib/DataFactory"),he),j(Y("./lib/DefaultGraph"),he),j(Y("./lib/Literal"),he),j(Y("./lib/NamedNode"),he),j(Y("./lib/Quad"),he),j(Y("./lib/Variable"),he)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.BlankNode=void 0;he.BlankNode=class{constructor(P){this.termType="BlankNode",this.value=P}equals(P){return!!P&&"BlankNode"===P.termType&&P.value===this.value}}},{}],58:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DataFactory=void 0;const W=Y("./BlankNode"),j=Y("./DefaultGraph"),P=Y("./Literal"),Q=Y("./NamedNode"),z=Y("./Quad"),v=Y("./Variable");let x=0;he.DataFactory=class{constructor(b){this.blankNodeCounter=0,this.blankNodePrefix=(b=b||{}).blankNodePrefix||`df_${x++}_`}namedNode(b){return new Q.NamedNode(b)}blankNode(b){return new W.BlankNode(b||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(b,y){return new P.Literal(b,y)}variable(b){return new v.Variable(b)}defaultGraph(){return j.DefaultGraph.INSTANCE}quad(b,y,S,T){return new z.Quad(b,y,S,T||this.defaultGraph())}fromTerm(b){switch(b.termType){case"NamedNode":return this.namedNode(b.value);case"BlankNode":return this.blankNode(b.value);case"Literal":return b.language?this.literal(b.value,b.language):b.datatype.equals(P.Literal.XSD_STRING)?this.literal(b.value):this.literal(b.value,this.fromTerm(b.datatype));case"Variable":return this.variable(b.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(b.subject),this.fromTerm(b.predicate),this.fromTerm(b.object),this.fromTerm(b.graph))}}fromQuad(b){return this.fromTerm(b)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DefaultGraph=void 0;class W{constructor(){this.termType="DefaultGraph",this.value=""}equals(P){return!!P&&"DefaultGraph"===P.termType}}he.DefaultGraph=W,W.INSTANCE=new W},{}],60:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Literal=void 0;const W=Y("./NamedNode");class j{constructor(Q,z){this.termType="Literal",this.value=Q,"string"==typeof z?(this.language=z,this.datatype=j.RDF_LANGUAGE_STRING):z?(this.language="",this.datatype=z):(this.language="",this.datatype=j.XSD_STRING)}equals(Q){return!!Q&&"Literal"===Q.termType&&Q.value===this.value&&Q.language===this.language&&Q.datatype.equals(this.datatype)}}he.Literal=j,j.RDF_LANGUAGE_STRING=new W.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),j.XSD_STRING=new W.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.NamedNode=void 0;he.NamedNode=class{constructor(P){this.termType="NamedNode",this.value=P}equals(P){return!!P&&"NamedNode"===P.termType&&P.value===this.value}}},{}],62:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Quad=void 0;he.Quad=class{constructor(P,Q,z,v){this.termType="Quad",this.value="",this.subject=P,this.predicate=Q,this.object=z,this.graph=v}equals(P){return!!P&&("Quad"===P.termType||!P.termType)&&this.subject.equals(P.subject)&&this.predicate.equals(P.predicate)&&this.object.equals(P.object)&&this.graph.equals(P.graph)}}},{}],63:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Variable=void 0;he.Variable=class{constructor(P){this.termType="Variable",this.value=P}equals(P){return!!P&&"Variable"===P.termType&&P.value===this.value}}},{}],64:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(P,Q,z,v){void 0===v&&(v=z),Object.defineProperty(P,v,{enumerable:!0,get:function(){return Q[z]}})}:function(P,Q,z,v){void 0===v&&(v=z),P[v]=Q[z]}),j=this&&this.__exportStar||function(P,Q){for(var z in P)"default"!==z&&!Object.prototype.hasOwnProperty.call(Q,z)&&W(Q,P,z)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/RdfXmlParser"),he)},{"./lib/RdfXmlParser":66}],65:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseError=void 0;class W extends Error{constructor(P,Q){const z=P.saxStream._parser;super(P.trackPosition?`Line ${z.line+1} column ${z.column+1}: ${Q}`:Q)}}he.ParseError=W},{}],66:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseType=he.RdfXmlParser=void 0;const W=Y("relative-to-absolute-iri"),j=Y("sax"),P=Y("stream"),Q=Y("./ParseError"),z=Y("rdf-data-factory");class v extends P.Transform{constructor(A){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},A&&(Object.assign(this,A),this.options=A),this.dataFactory||(this.dataFactory=new z.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=j.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(A,b){const y={};let S=!1;for(const V in A.attributes)V.startsWith("xmlns")&&(5===V.length?(S=!0,y[""]=A.attributes[V]):":"===V.charAt(5)&&(S=!0,y[V.substr(6)]=A.attributes[V]));const T=b&&b.ns?b.ns:[v.DEFAULT_NS];return S?T.concat([y]):T}static expandPrefixedTerm(A,b,y){const S=A.indexOf(":");let T,V;S>=0?(T=A.substr(0,S),V=A.substr(S+1)):(T="",V=A);let R=null,K=null;for(let ce=b.length-1;ce>=0;ce--){const D=b[ce][T];if(D){R=D;break}K||(K=b[ce][""])}if(!R){if(T&&"xmlns"!==T)throw new Q.ParseError(y,`The prefix '${T}' in term '${A}' was not bound.`);R=K||""}return{prefix:T,local:V,uri:R}}static isValidIri(A){return v.IRI_REGEX.test(A)}import(A){const b=new P.PassThrough({readableObjectMode:!0});A.on("error",S=>y.emit("error",S)),A.on("data",S=>b.push(S)),A.on("end",()=>b.push(null));const y=b.pipe(new v(this.options));return y}_transform(A,b,y){try{this.saxStream.write(A,b)}catch(S){return y(S)}y()}newParseError(A){return new Q.ParseError(this,A)}valueToUri(A,b){return this.uriToNamedNode(W.resolve(A,b.baseIRI))}uriToNamedNode(A){if(!v.isValidIri(A))throw this.newParseError(`Invalid URI: ${A}`);return this.dataFactory.namedNode(A)}validateNcname(A){if(!v.NCNAME_MATCHER.test(A))throw this.newParseError(`Not a valid NCName: ${A}`)}attachSaxListeners(){this.saxStream.on("error",A=>this.emit("error",A)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(A){const b=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let y=x.RESOURCE;if(b&&(b.hadChildren=!0,y=b.childrenParseType),b&&b.childrenStringTags){const T=A.name;let V="";for(const D in A.attributes)V+=` ${D}="${A.attributes[D]}"`;b.childrenStringTags.push(`<${T}${V}>`);const ce={childrenStringTags:b.childrenStringTags};return ce.childrenStringEmitClosingTag=``,void this.activeTagStack.push(ce)}const S={};b?(S.language=b.language,S.baseIRI=b.baseIRI):S.baseIRI=this.baseIRI,this.activeTagStack.push(S),S.ns=v.parseNamespace(A,b),y===x.RESOURCE?this.onTagResource(A,S,b,!b):this.onTagProperty(A,S,b)}onTagResource(A,b,y,S){const T=v.expandPrefixedTerm(A.name,b.ns,this);b.childrenParseType=x.PROPERTY;let V=!0;if(T.uri===v.RDF){if(!S&&v.FORBIDDEN_NODE_ELEMENTS.indexOf(T.local)>=0)throw this.newParseError(`Illegal node element name: ${T.local}`);switch(T.local){case"RDF":b.childrenParseType=x.RESOURCE;case"Description":V=!1}}const R=[],K=[];let ce=null,D=!1,I=!1,X=null;for(const E in A.attributes){const $=A.attributes[E],Z=v.expandPrefixedTerm(E,b.ns,this);if(y&&Z.uri===v.RDF)switch(Z.local){case"about":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);ce=$;continue;case"ID":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);this.validateNcname($),ce="#"+$,D=!0;continue;case"nodeID":if(ce)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ce} where found.`);this.validateNcname($),ce=$,I=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":X=$;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(Z.uri===v.XML){if("lang"===Z.local){b.language=""===$?null:$.toLowerCase();continue}if("base"===Z.local){b.baseIRI=W.resolve($,b.baseIRI);continue}}"xml"!==Z.prefix&&Z.uri&&(R.push(this.uriToNamedNode(Z.uri+Z.local)),K.push($))}if(null!==ce&&(b.subject=I?this.dataFactory.blankNode(ce):this.valueToUri(ce,b),D&&this.claimNodeId(b.subject)),b.subject||(b.subject=this.dataFactory.blankNode()),V){const E=this.uriToNamedNode(T.uri+T.local);this.emitTriple(b.subject,this.dataFactory.namedNode(v.RDF+"type"),E,y?y.reifiedStatementId:null)}if(y){if(y.predicate)if(y.childrenCollectionSubject){const E=this.dataFactory.blankNode();this.emitTriple(y.childrenCollectionSubject,y.childrenCollectionPredicate,E,y.reifiedStatementId),this.emitTriple(E,this.dataFactory.namedNode(v.RDF+"first"),b.subject,b.reifiedStatementId),y.childrenCollectionSubject=E,y.childrenCollectionPredicate=this.dataFactory.namedNode(v.RDF+"rest")}else{this.emitTriple(y.subject,y.predicate,b.subject,y.reifiedStatementId);for(let E=0;E=0)throw this.newParseError(`Illegal property element name: ${S.local}`);b.predicateSubPredicates=[],b.predicateSubObjects=[];let T=!1,V=!1,R=null,K=!0;const ce=[],D=[];for(const I in A.attributes){const X=A.attributes[I],E=v.expandPrefixedTerm(I,b.ns,this);if(E.uri===v.RDF)switch(E.local){case"resource":if(R)throw this.newParseError(`Found both rdf:resource (${X}) and rdf:nodeID (${R}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${X})`);b.hadChildren=!0,R=X,K=!1;continue;case"datatype":if(V)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${X}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${X})`);b.datatype=this.valueToUri(X,b);continue;case"nodeID":if(V)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${X}).`);if(b.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${X}).`);if(T)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${X})`);this.validateNcname(X),b.hadChildren=!0,R=X,K=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(V)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(b.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${b.datatype.value})`);if(R)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${R})`);if("Resource"===X){T=!0,b.childrenParseType=x.PROPERTY;const $=this.dataFactory.blankNode();this.emitTriple(b.subject,b.predicate,$,b.reifiedStatementId),b.subject=$,b.predicate=null}else"Collection"===X?(T=!0,b.hadChildren=!0,b.childrenCollectionSubject=b.subject,b.childrenCollectionPredicate=b.predicate,K=!1):"Literal"===X&&(T=!0,b.childrenTagsToString=!0,b.childrenStringTags=[]);continue;case"ID":this.validateNcname(X),b.reifiedStatementId=this.valueToUri("#"+X,b),this.claimNodeId(b.reifiedStatementId);continue}else if(E.uri===v.XML&&"lang"===E.local){b.language=""===X?null:X.toLowerCase();continue}if("xml"!==E.prefix&&"xmlns"!==E.prefix&&E.uri){if(T||b.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${X}`);b.hadChildren=!0,V=!0,ce.push(this.uriToNamedNode(E.uri+E.local)),D.push(this.dataFactory.literal(X,b.datatype||b.language))}}if(null!==R){const I=b.subject;b.subject=K?this.dataFactory.blankNode(R):this.valueToUri(R,b),this.emitTriple(I,b.predicate,b.subject,b.reifiedStatementId);for(let X=0;X/g,(b,y,S)=>(this.saxStream._parser.ENTITIES[y]=S,""))}}var x,O;he.RdfXmlParser=v,v.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,v.MIME_TYPE="application/rdf+xml",v.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",v.XML="http://www.w3.org/XML/1998/namespace",v.XMLNS="http://www.w3.org/2000/xmlns/",v.DEFAULT_NS={xml:v.XML},v.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],v.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],v.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(O=x=he.ParseType||(he.ParseType={}))[O.RESOURCE=0]="RESOURCE",O[O.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(Y,Se,he){"use strict";var j={};function P(O,A,b){b||(b=Error);var S=function(T){function V(R,K,ce){return T.call(this,function(T,V,R){return"string"==typeof A?A:A(T,V,R)}(R,K,ce))||this}return function(O,A){O.prototype=Object.create(A.prototype),O.prototype.constructor=O,O.__proto__=A}(V,T),V}(b);S.prototype.name=b.name,S.prototype.code=O,j[O]=S}function Q(O,A){if(Array.isArray(O)){var b=O.length;return O=O.map(function(y){return String(y)}),b>2?"one of ".concat(A," ").concat(O.slice(0,b-1).join(", "),", or ")+O[b-1]:2===b?"one of ".concat(A," ").concat(O[0]," or ").concat(O[1]):"of ".concat(A," ").concat(O[0])}return"of ".concat(A," ").concat(String(O))}P("ERR_INVALID_OPT_VALUE",function(O,A){return'The value "'+A+'" is invalid for option "'+O+'"'},TypeError),P("ERR_INVALID_ARG_TYPE",function(O,A,b){var y,S;if("string"==typeof A&&function(O,A,b){return O.substr(!b||b<0?0:+b,A.length)===A}(A,"not ")?(y="must not be",A=A.replace(/^not /,"")):y="must be",function(O,A,b){return(void 0===b||b>O.length)&&(b=O.length),O.substring(b-A.length,b)===A}(O," argument"))S="The ".concat(O," ").concat(y," ").concat(Q(A,"type"));else{var T=function(O,A,b){return"number"!=typeof b&&(b=0),!(b+A.length>O.length)&&-1!==O.indexOf(A,b)}(O,".")?"property":"argument";S='The "'.concat(O,'" ').concat(T," ").concat(y," ").concat(Q(A,"type"))}return S+". Received type ".concat(typeof b)},TypeError),P("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),P("ERR_METHOD_NOT_IMPLEMENTED",function(O){return"The "+O+" method is not implemented"}),P("ERR_STREAM_PREMATURE_CLOSE","Premature close"),P("ERR_STREAM_DESTROYED",function(O){return"Cannot call "+O+" after a stream was destroyed"}),P("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),P("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),P("ERR_STREAM_WRITE_AFTER_END","write after end"),P("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),P("ERR_UNKNOWN_ENCODING",function(O){return"Unknown encoding: "+O},TypeError),P("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Se.exports.codes=j},{}],68:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Object.keys||function(y){var S=[];for(var T in y)S.push(T);return S};Se.exports=O;var P=Y("./_stream_readable"),Q=Y("./_stream_writable");Y("inherits")(O,P);for(var z=j(Q.prototype),v=0;v0)if("string"!=typeof L&&!Qe.objectMode&&Object.getPrototypeOf(L)!==x.prototype&&(L=function(ve){return x.from(ve)}(L)),B)Qe.endEmitted?se(ve,new E):Ie(ve,Qe,L,!0);else if(Qe.ended)se(ve,new I);else{if(Qe.destroyed)return!1;Qe.reading=!1,Qe.decoder&&!N?(L=Qe.decoder.write(L),Qe.objectMode||0!==L.length?Ie(ve,Qe,L,!1):Ke(ve,Qe)):Ie(ve,Qe,L,!1)}else B||(Qe.reading=!1,Ke(ve,Qe));return!Qe.ended&&(Qe.lengthL.highWaterMark&&(L.highWaterMark=function(ve){return ve>=st?ve=st:(ve--,ve|=ve>>>1,ve|=ve>>>2,ve|=ve>>>4,ve|=ve>>>8,ve|=ve>>>16,ve++),ve}(ve)),ve<=L.length?ve:L.ended?L.length:(L.needReadable=!0,0))}function Ue(ve){var L=ve._readableState;S("emitReadable",L.needReadable,L.emittedReadable),L.needReadable=!1,L.emittedReadable||(S("emitReadable",L.flowing),L.emittedReadable=!0,W.nextTick(ke,ve))}function ke(ve){var L=ve._readableState;S("emitReadable_",L.destroyed,L.length,L.ended),!L.destroyed&&(L.length||L.ended)&&(ve.emit("readable"),L.emittedReadable=!1),L.needReadable=!L.flowing&&!L.ended&&L.length<=L.highWaterMark,pe(ve)}function Ke(ve,L){L.readingMore||(L.readingMore=!0,W.nextTick(Me,ve,L))}function Me(ve,L){for(;!L.reading&&!L.ended&&(L.length0,L.resumeScheduled&&!L.paused?L.flowing=!0:ve.listenerCount("data")>0&&ve.resume()}function Ne(ve){S("readable nexttick read 0"),ve.read(0)}function G(ve,L){S("resume",L.reading),L.reading||ve.read(0),L.resumeScheduled=!1,ve.emit("resume"),pe(ve),L.flowing&&!L.reading&&ve.read(0)}function pe(ve){var L=ve._readableState;for(S("flow",L.flowing);L.flowing&&null!==ve.read(););}function ue(ve,L){return 0===L.length?null:(L.objectMode?N=L.buffer.shift():!ve||ve>=L.length?(N=L.decoder?L.buffer.join(""):1===L.buffer.length?L.buffer.first():L.buffer.concat(L.length),L.buffer.clear()):N=L.buffer.consume(ve,L.decoder),N);var N}function je(ve){var L=ve._readableState;S("endReadable",L.endEmitted),L.endEmitted||(L.ended=!0,W.nextTick(_t,L,ve))}function _t(ve,L){if(S("endReadableNT",ve.endEmitted,ve.length),!ve.endEmitted&&0===ve.length&&(ve.endEmitted=!0,L.readable=!1,L.emit("end"),ve.autoDestroy)){var N=L._writableState;(!N||N.autoDestroy&&N.finished)&&L.destroy()}}function pt(ve,L){for(var N=0,B=ve.length;N=L.highWaterMark:L.length>0)||L.ended))return S("read: emitReadable",L.length,L.ended),0===L.length&&L.ended?je(this):Ue(this),null;if(0===(ve=tt(ve,L))&&L.ended)return 0===L.length&&je(this),null;var Re,B=L.needReadable;return S("need readable",B),(0===L.length||L.length-ve0?ue(ve,L):null)?(L.needReadable=L.length<=L.highWaterMark,ve=0):(L.length-=ve,L.awaitDrain=0),0===L.length&&(L.ended||(L.needReadable=!0),N!==ve&&L.ended&&je(this)),null!==Re&&this.emit("data",Re),Re},ne.prototype._read=function(ve){se(this,new X("_read()"))},ne.prototype.pipe=function(ve,L){var N=this,B=this._readableState;switch(B.pipesCount){case 0:B.pipes=ve;break;case 1:B.pipes=[B.pipes,ve];break;default:B.pipes.push(ve)}B.pipesCount+=1,S("pipe count=%d opts=%j",B.pipesCount,L);var Qe=L&&!1===L.end||ve===W.stdout||ve===W.stderr?gs:Nt;function St(Bs,Qr){S("onunpipe"),Bs===N&&Qr&&!1===Qr.hasUnpiped&&(Qr.hasUnpiped=!0,S("cleanup"),ve.removeListener("close",Xr),ve.removeListener("finish",Ls),ve.removeListener("drain",On),ve.removeListener("error",wi),ve.removeListener("unpipe",St),N.removeListener("end",Nt),N.removeListener("end",gs),N.removeListener("data",Ti),kn=!0,B.awaitDrain&&(!ve._writableState||ve._writableState.needDrain)&&On())}function Nt(){S("onend"),ve.end()}B.endEmitted?W.nextTick(Qe):N.once("end",Qe),ve.on("unpipe",St);var On=function(ve){return function(){var N=ve._readableState;S("pipeOnDrain",N.awaitDrain),N.awaitDrain&&N.awaitDrain--,0===N.awaitDrain&&z(ve,"data")&&(N.flowing=!0,pe(ve))}}(N);ve.on("drain",On);var kn=!1;function Ti(Bs){S("ondata");var Qr=ve.write(Bs);S("dest.write",Qr),!1===Qr&&((1===B.pipesCount&&B.pipes===ve||B.pipesCount>1&&-1!==pt(B.pipes,ve))&&!kn&&(S("false write response, pause",B.awaitDrain),B.awaitDrain++),N.pause())}function wi(Bs){S("onerror",Bs),gs(),ve.removeListener("error",wi),0===z(ve,"error")&&se(ve,Bs)}function Xr(){ve.removeListener("finish",Ls),gs()}function Ls(){S("onfinish"),ve.removeListener("close",Xr),gs()}function gs(){S("unpipe"),N.unpipe(ve)}return N.on("data",Ti),function(ve,L,N){if("function"==typeof ve.prependListener)return ve.prependListener(L,N);ve._events&&ve._events[L]?Array.isArray(ve._events[L])?ve._events[L].unshift(N):ve._events[L]=[N,ve._events[L]]:ve.on(L,N)}(ve,"error",wi),ve.once("close",Xr),ve.once("finish",Ls),ve.emit("pipe",N),B.flowing||(S("pipe resume"),N.resume()),ve},ne.prototype.unpipe=function(ve){var L=this._readableState,N={hasUnpiped:!1};if(0===L.pipesCount)return this;if(1===L.pipesCount)return ve&&ve!==L.pipes||(ve||(ve=L.pipes),L.pipes=null,L.pipesCount=0,L.flowing=!1,ve&&ve.emit("unpipe",this,N)),this;if(!ve){var B=L.pipes,Re=L.pipesCount;L.pipes=null,L.pipesCount=0,L.flowing=!1;for(var Qe=0;Qe0,!1!==B.flowing&&this.resume()):"readable"===ve&&!B.endEmitted&&!B.readableListening&&(B.readableListening=B.needReadable=!0,B.flowing=!1,B.emittedReadable=!1,S("on readable",B.length,B.reading),B.length?Ue(this):B.reading||W.nextTick(Ne,this)),N},ne.prototype.removeListener=function(ve,L){var N=v.prototype.removeListener.call(this,ve,L);return"readable"===ve&&W.nextTick($e,this),N},ne.prototype.removeAllListeners=function(ve){var L=v.prototype.removeAllListeners.apply(this,arguments);return("readable"===ve||void 0===ve)&&W.nextTick($e,this),L},ne.prototype.resume=function(){var ve=this._readableState;return ve.flowing||(S("resume"),ve.flowing=!ve.readableListening,function(ve,L){L.resumeScheduled||(L.resumeScheduled=!0,W.nextTick(G,ve,L))}(this,ve)),ve.paused=!1,this},ne.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},ne.prototype.wrap=function(ve){var L=this,N=this._readableState,B=!1;for(var Re in ve.on("end",function(){if(S("wrapped end"),N.decoder&&!N.ended){var St=N.decoder.end();St&&St.length&&L.push(St)}L.push(null)}),ve.on("data",function(St){S("wrapped data"),N.decoder&&(St=N.decoder.write(St)),N.objectMode&&null==St||!(N.objectMode||St&&St.length)||L.push(St)||(B=!0,ve.pause())}),ve)void 0===this[Re]&&"function"==typeof ve[Re]&&(this[Re]=function(Nt){return function(){return ve[Nt].apply(ve,arguments)}}(Re));for(var Qe=0;Qe-1))throw new Z(ue);return this._writableState.defaultEncoding=ue,this},Object.defineProperty(me.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(me.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),me.prototype._write=function(pe,ue,je){je(new ce("_write()"))},me.prototype._writev=null,me.prototype.end=function(pe,ue,je){var _t=this._writableState;return"function"==typeof pe?(je=pe,pe=null,ue=null):"function"==typeof ue&&(je=ue,ue=null),null!=pe&&this.write(pe,ue),_t.corked&&(_t.corked=1,this.uncork()),_t.ending||function(pe,ue,je){ue.ending=!0,Ne(pe,ue),je&&(ue.finished?W.nextTick(je):pe.once("finish",je)),ue.ended=!0,pe.writable=!1}(this,_t,je),this},Object.defineProperty(me.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(me.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(ue){!this._writableState||(this._writableState.destroyed=ue)}}),me.prototype.destroy=S.destroy,me.prototype._undestroy=S.undestroy,me.prototype._destroy=function(pe,ue){ue(pe)}}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(Y,Se,he){(function(W){(function(){"use strict";var j;function P(I,X,E){return X in I?Object.defineProperty(I,X,{value:E,enumerable:!0,configurable:!0,writable:!0}):I[X]=E,I}var Q=Y("./end-of-stream"),z=Symbol("lastResolve"),v=Symbol("lastReject"),x=Symbol("error"),O=Symbol("ended"),A=Symbol("lastPromise"),b=Symbol("handlePromise"),y=Symbol("stream");function S(I,X){return{value:I,done:X}}function T(I){var X=I[z];if(null!==X){var E=I[y].read();null!==E&&(I[A]=null,I[z]=null,I[v]=null,X(S(E,!1)))}}function V(I){W.nextTick(T,I)}var K=Object.getPrototypeOf(function(){}),ce=Object.setPrototypeOf((P(j={get stream(){return this[y]},next:function(){var X=this,E=this[x];if(null!==E)return Promise.reject(E);if(this[O])return Promise.resolve(S(void 0,!0));if(this[y].destroyed)return new Promise(function(se,te){W.nextTick(function(){X[x]?te(X[x]):se(S(void 0,!0))})});var Z,$=this[A];if($)Z=new Promise(function(I,X){return function(E,$){I.then(function(){X[O]?E(S(void 0,!0)):X[b](E,$)},$)}}($,this));else{var oe=this[y].read();if(null!==oe)return Promise.resolve(S(oe,!1));Z=new Promise(this[b])}return this[A]=Z,Z}},Symbol.asyncIterator,function(){return this}),P(j,"return",function(){var X=this;return new Promise(function(E,$){X[y].destroy(null,function(Z){Z?$(Z):E(S(void 0,!0))})})}),j),K);Se.exports=function(X){var E,$=Object.create(ce,(P(E={},y,{value:X,writable:!0}),P(E,z,{value:null,writable:!0}),P(E,v,{value:null,writable:!0}),P(E,x,{value:null,writable:!0}),P(E,O,{value:X._readableState.endEmitted,writable:!0}),P(E,b,{value:function(oe,se){var te=$[y].read();te?($[A]=null,$[z]=null,$[v]=null,oe(S(te,!1))):($[z]=oe,$[v]=se)},writable:!0}),E));return $[A]=null,Q(X,function(Z){if(Z&&"ERR_STREAM_PREMATURE_CLOSE"!==Z.code){var oe=$[v];return null!==oe&&($[A]=null,$[z]=null,$[v]=null,oe(Z)),void($[x]=Z)}var se=$[z];null!==se&&($[A]=null,$[z]=null,$[v]=null,se(S(void 0,!0))),$[O]=!0}),X.on("readable",V.bind(null,$)),$}}).call(this)}).call(this,Y("_process"))},{"./end-of-stream":76,_process:44}],74:[function(Y,Se,he){"use strict";function W(T,V){var R=Object.keys(T);if(Object.getOwnPropertySymbols){var K=Object.getOwnPropertySymbols(T);V&&(K=K.filter(function(ce){return Object.getOwnPropertyDescriptor(T,ce).enumerable})),R.push.apply(R,K)}return R}function P(T,V,R){return V in T?Object.defineProperty(T,V,{value:R,enumerable:!0,configurable:!0,writable:!0}):T[V]=R,T}function z(T,V){for(var R=0;R0?this.tail.next=K:this.head=K,this.tail=K,++this.length}},{key:"unshift",value:function(R){var K={data:R,next:this.head};0===this.length&&(this.tail=K),this.head=K,++this.length}},{key:"shift",value:function(){if(0!==this.length){var R=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,R}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(R){if(0===this.length)return"";for(var K=this.head,ce=""+K.data;K=K.next;)ce+=R+K.data;return ce}},{key:"concat",value:function(R){if(0===this.length)return O.alloc(0);for(var K=O.allocUnsafe(R>>>0),ce=this.head,D=0;ce;)S(ce.data,K,D),D+=ce.data.length,ce=ce.next;return K}},{key:"consume",value:function(R,K){var ce;return RI.length?I.length:R;if(D+=X===I.length?I:I.slice(0,R),0==(R-=X)){X===I.length?(++ce,this.head=K.next?K.next:this.tail=null):(this.head=K,K.data=I.slice(X));break}++ce}return this.length-=ce,D}},{key:"_getBuffer",value:function(R){var K=O.allocUnsafe(R),ce=this.head,D=1;for(ce.data.copy(K),R-=ce.data.length;ce=ce.next;){var I=ce.data,X=R>I.length?I.length:R;if(I.copy(K,K.length-R,0,X),0==(R-=X)){X===I.length?(++D,this.head=ce.next?ce.next:this.tail=null):(this.head=ce,ce.data=I.slice(X));break}++D}return this.length-=D,K}},{key:y,value:function(R,K){return b(this,function(T){for(var V=1;V0,function(Z){ce||(ce=Z),Z&&D.forEach(A),!E&&(D.forEach(A),K(ce))})});return V.reduce(b)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(Y,Se,he){"use strict";var W=Y("../../../errors").codes.ERR_INVALID_OPT_VALUE;Se.exports={getHighWaterMark:function(Q,z,v,x){var O=function(Q,z,v){return null!=Q.highWaterMark?Q.highWaterMark:z?Q[v]:null}(z,x,v);if(null!=O){if(!isFinite(O)||Math.floor(O)!==O||O<0)throw new W(x?v:"highWaterMark",O);return Math.floor(O)}return Q.objectMode?16:16384}}},{"../../../errors":67}],80:[function(Y,Se,he){Se.exports=Y("events").EventEmitter},{events:8}],81:[function(Y,Se,he){(he=Se.exports=Y("./lib/_stream_readable.js")).Stream=he,he.Readable=he,he.Writable=Y("./lib/_stream_writable.js"),he.Duplex=Y("./lib/_stream_duplex.js"),he.Transform=Y("./lib/_stream_transform.js"),he.PassThrough=Y("./lib/_stream_passthrough.js"),he.finished=Y("./lib/internal/streams/end-of-stream.js"),he.pipeline=Y("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),function(j){for(var P in j)he.hasOwnProperty(P)||(he[P]=j[P])}(Y("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(Y,Se,he){"use strict";function j(z){const v=[];let x=0;for(;xO.join("")).join("/")}function P(z,v){let x=v+1;v>=0?"/"===z[v+1]&&"/"===z[v+2]&&(x=v+3):"/"===z[0]&&"/"===z[1]&&(x=2);const O=z.indexOf("/",x);return O<0?z:z.substr(0,O)+j(z.substr(O))}function Q(z){return!z||"#"===z||"?"===z||"/"===z}Object.defineProperty(he,"__esModule",{value:!0}),he.resolve=function(z,v){const x=(v=v||"").indexOf("#");if(x>0&&(v=v.substr(0,x)),!z.length){if(v.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${v}' for value '${z}'`);return v}if(z.startsWith("?")){const V=v.indexOf("?");return V>0&&(v=v.substr(0,V)),v+z}if(z.startsWith("#"))return v+z;if(!v.length){const V=z.indexOf(":");if(V<0)throw new Error(`Found invalid relative IRI '${z}' for a missing baseIRI`);return P(z,V)}const O=z.indexOf(":");if(O>=0)return P(z,O);const A=v.indexOf(":");if(A<0)throw new Error(`Found invalid baseIRI '${v}' for value '${z}'`);const b=v.substr(0,A+1);if(0===z.indexOf("//"))return b+P(z,O);let y;if(v.indexOf("//",A)===A+1){if(y=v.indexOf("/",A+3),y<0)return v.length>A+3?v+"/"+P(z,O):b+P(z,O)}else if(y=v.indexOf("/",A+1),y<0)return b+P(z,O);if(0===z.indexOf("/"))return v.substr(0,y)+j(z);let S=v.substr(y);const T=S.lastIndexOf("/");return T>=0&&T"===ue?(ne(G,"onsgmldeclaration",G.sgmlDecl),G.sgmlDecl="",G.state=te.TEXT):($(ue)&&(G.state=te.SGML_DECL_QUOTED),G.sgmlDecl+=ue);continue;case te.SGML_DECL_QUOTED:ue===G.q&&(G.state=te.SGML_DECL,G.q=""),G.sgmlDecl+=ue;continue;case te.DOCTYPE:">"===ue?(G.state=te.TEXT,ne(G,"ondoctype",G.doctype),G.doctype=!0):(G.doctype+=ue,"["===ue?G.state=te.DOCTYPE_DTD:$(ue)&&(G.state=te.DOCTYPE_QUOTED,G.q=ue));continue;case te.DOCTYPE_QUOTED:G.doctype+=ue,ue===G.q&&(G.q="",G.state=te.DOCTYPE);continue;case te.DOCTYPE_DTD:G.doctype+=ue,"]"===ue?G.state=te.DOCTYPE:$(ue)&&(G.state=te.DOCTYPE_DTD_QUOTED,G.q=ue);continue;case te.DOCTYPE_DTD_QUOTED:G.doctype+=ue,ue===G.q&&(G.state=te.DOCTYPE_DTD,G.q="");continue;case te.COMMENT:"-"===ue?G.state=te.COMMENT_ENDING:G.comment+=ue;continue;case te.COMMENT_ENDING:"-"===ue?(G.state=te.COMMENT_ENDED,G.comment=Ie(G.opt,G.comment),G.comment&&ne(G,"oncomment",G.comment),G.comment=""):(G.comment+="-"+ue,G.state=te.COMMENT);continue;case te.COMMENT_ENDED:">"!==ue?(Xe(G,"Malformed comment"),G.comment+="--"+ue,G.state=te.COMMENT):G.state=te.TEXT;continue;case te.CDATA:"]"===ue?G.state=te.CDATA_ENDING:G.cdata+=ue;continue;case te.CDATA_ENDING:"]"===ue?G.state=te.CDATA_ENDING_2:(G.cdata+="]"+ue,G.state=te.CDATA);continue;case te.CDATA_ENDING_2:">"===ue?(G.cdata&&ne(G,"oncdata",G.cdata),ne(G,"onclosecdata"),G.cdata="",G.state=te.TEXT):"]"===ue?G.cdata+="]":(G.cdata+="]]"+ue,G.state=te.CDATA);continue;case te.PROC_INST:"?"===ue?G.state=te.PROC_INST_ENDING:E(ue)?G.state=te.PROC_INST_BODY:G.procInstName+=ue;continue;case te.PROC_INST_BODY:if(!G.procInstBody&&E(ue))continue;"?"===ue?G.state=te.PROC_INST_ENDING:G.procInstBody+=ue;continue;case te.PROC_INST_ENDING:">"===ue?(ne(G,"onprocessinginstruction",{name:G.procInstName,body:G.procInstBody}),G.procInstName=G.procInstBody="",G.state=te.TEXT):(G.procInstBody+="?"+ue,G.state=te.PROC_INST_BODY);continue;case te.OPEN_TAG:oe(D,ue)?G.tagName+=ue:(tt(G),">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:(E(ue)||Xe(G,"Invalid character in tag name"),G.state=te.ATTRIB));continue;case te.OPEN_TAG_SLASH:">"===ue?(ke(G,!0),Ke(G)):(Xe(G,"Forward-slash in opening tag not followed by >"),G.state=te.ATTRIB);continue;case te.ATTRIB:if(E(ue))continue;">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:oe(ce,ue)?(G.attribName=ue,G.attribValue="",G.state=te.ATTRIB_NAME):Xe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME:"="===ue?G.state=te.ATTRIB_VALUE:">"===ue?(Xe(G,"Attribute without value"),G.attribValue=G.attribName,Ue(G),ke(G)):E(ue)?G.state=te.ATTRIB_NAME_SAW_WHITE:oe(D,ue)?G.attribName+=ue:Xe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME_SAW_WHITE:if("="===ue)G.state=te.ATTRIB_VALUE;else{if(E(ue))continue;Xe(G,"Attribute without value"),G.tag.attributes[G.attribName]="",G.attribValue="",ne(G,"onattribute",{name:G.attribName,value:""}),G.attribName="",">"===ue?ke(G):oe(ce,ue)?(G.attribName=ue,G.state=te.ATTRIB_NAME):(Xe(G,"Invalid attribute name"),G.state=te.ATTRIB)}continue;case te.ATTRIB_VALUE:if(E(ue))continue;$(ue)?(G.q=ue,G.state=te.ATTRIB_VALUE_QUOTED):(Xe(G,"Unquoted attribute value"),G.state=te.ATTRIB_VALUE_UNQUOTED,G.attribValue=ue);continue;case te.ATTRIB_VALUE_QUOTED:if(ue!==G.q){"&"===ue?G.state=te.ATTRIB_VALUE_ENTITY_Q:G.attribValue+=ue;continue}Ue(G),G.q="",G.state=te.ATTRIB_VALUE_CLOSED;continue;case te.ATTRIB_VALUE_CLOSED:E(ue)?G.state=te.ATTRIB:">"===ue?ke(G):"/"===ue?G.state=te.OPEN_TAG_SLASH:oe(ce,ue)?(Xe(G,"No whitespace between attributes"),G.attribName=ue,G.attribValue="",G.state=te.ATTRIB_NAME):Xe(G,"Invalid attribute name");continue;case te.ATTRIB_VALUE_UNQUOTED:if(!Z(ue)){"&"===ue?G.state=te.ATTRIB_VALUE_ENTITY_U:G.attribValue+=ue;continue}Ue(G),">"===ue?ke(G):G.state=te.ATTRIB;continue;case te.CLOSE_TAG:if(G.tagName)">"===ue?Ke(G):oe(D,ue)?G.tagName+=ue:G.script?(G.script+=""===ue?Ke(G):Xe(G,"Invalid characters in closing tag");continue;case te.TEXT_ENTITY:case te.ATTRIB_VALUE_ENTITY_Q:case te.ATTRIB_VALUE_ENTITY_U:var pt,ve;switch(G.state){case te.TEXT_ENTITY:pt=te.TEXT,ve="textNode";break;case te.ATTRIB_VALUE_ENTITY_Q:pt=te.ATTRIB_VALUE_QUOTED,ve="attribValue";break;case te.ATTRIB_VALUE_ENTITY_U:pt=te.ATTRIB_VALUE_UNQUOTED,ve="attribValue"}";"===ue?(G[ve]+=Me(G),G.entity="",G.state=pt):oe(G.entity.length?X:I,ue)?G.entity+=ue:(Xe(G,"Invalid character in entity name"),G[ve]+="&"+G.entity+ue,G.entity="",G.state=pt);continue;default:throw new Error(G,"Unknown state: "+G.state)}return G.position>=G.bufferCheckPosition&&function(q){for(var G=Math.max(j.MAX_BUFFER_LENGTH,10),pe=0,ue=0,je=P.length;ueG)switch(P[ue]){case"textNode":_e(q);break;case"cdata":ne(q,"oncdata",q.cdata),q.cdata="";break;case"script":ne(q,"onscript",q.script),q.script="";break;default:Ge(q,"Max buffer length exceeded: "+P[ue])}pe=Math.max(pe,_t)}q.bufferCheckPosition=j.MAX_BUFFER_LENGTH-pe+q.position}(G),G},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(q){_e(q),""!==q.cdata&&(ne(q,"oncdata",q.cdata),q.cdata=""),""!==q.script&&(ne(q,"onscript",q.script),q.script="")}(this)}};try{O=Y("stream").Stream}catch(q){O=function(){}}var A=j.EVENTS.filter(function(q){return"error"!==q&&"end"!==q});function y(q,G){if(!(this instanceof y))return new y(q,G);O.apply(this),this._parser=new Q(q,G),this.writable=!0,this.readable=!0;var pe=this;this._parser.onend=function(){pe.emit("end")},this._parser.onerror=function(ue){pe.emit("error",ue),pe._parser.error=null},this._decoder=null,A.forEach(function(ue){Object.defineProperty(pe,"on"+ue,{get:function(){return pe._parser["on"+ue]},set:function(je){if(!je)return pe.removeAllListeners(ue),pe._parser["on"+ue]=je,je;pe.on(ue,je)},enumerable:!0,configurable:!1})})}(y.prototype=Object.create(O.prototype,{constructor:{value:y}})).write=function(q){if("function"==typeof W&&"function"==typeof W.isBuffer&&W.isBuffer(q)){if(!this._decoder){var G=Y("string_decoder").StringDecoder;this._decoder=new G("utf8")}q=this._decoder.write(q)}return this._parser.write(q.toString()),this.emit("data",q),!0},y.prototype.end=function(q){return q&&q.length&&this.write(q),this._parser.end(),!0},y.prototype.on=function(q,G){var pe=this;return!pe._parser["on"+q]&&-1!==A.indexOf(q)&&(pe._parser["on"+q]=function(){var ue=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);ue.splice(0,0,q),pe.emit.apply(pe,ue)}),O.prototype.on.call(pe,q,G)};var V="http://www.w3.org/XML/1998/namespace",R="http://www.w3.org/2000/xmlns/",K={xml:V,xmlns:R},ce=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,D=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,I=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,X=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function E(q){return" "===q||"\n"===q||"\r"===q||"\t"===q}function $(q){return'"'===q||"'"===q}function Z(q){return">"===q||E(q)}function oe(q,G){return q.test(G)}function se(q,G){return!oe(q,G)}var q,G,pe,te=0;for(var Ce in j.STATE={BEGIN:te++,BEGIN_WHITESPACE:te++,TEXT:te++,TEXT_ENTITY:te++,OPEN_WAKA:te++,SGML_DECL:te++,SGML_DECL_QUOTED:te++,DOCTYPE:te++,DOCTYPE_QUOTED:te++,DOCTYPE_DTD:te++,DOCTYPE_DTD_QUOTED:te++,COMMENT_STARTING:te++,COMMENT:te++,COMMENT_ENDING:te++,COMMENT_ENDED:te++,CDATA:te++,CDATA_ENDING:te++,CDATA_ENDING_2:te++,PROC_INST:te++,PROC_INST_BODY:te++,PROC_INST_ENDING:te++,OPEN_TAG:te++,OPEN_TAG_SLASH:te++,ATTRIB:te++,ATTRIB_NAME:te++,ATTRIB_NAME_SAW_WHITE:te++,ATTRIB_VALUE:te++,ATTRIB_VALUE_QUOTED:te++,ATTRIB_VALUE_CLOSED:te++,ATTRIB_VALUE_UNQUOTED:te++,ATTRIB_VALUE_ENTITY_Q:te++,ATTRIB_VALUE_ENTITY_U:te++,CLOSE_TAG:te++,CLOSE_TAG_SAW_WHITE:te++,SCRIPT:te++,SCRIPT_ENDING:te++},j.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},j.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(j.ENTITIES).forEach(function(q){var G=j.ENTITIES[q],pe="number"==typeof G?String.fromCharCode(G):G;j.ENTITIES[q]=pe}),j.STATE)j.STATE[j.STATE[Ce]]=Ce;function me(q,G,pe){q[G]&&q[G](pe)}function ne(q,G,pe){q.textNode&&_e(q),me(q,G,pe)}function _e(q){q.textNode=Ie(q.opt,q.textNode),q.textNode&&me(q,"ontext",q.textNode),q.textNode=""}function Ie(q,G){return q.trim&&(G=G.trim()),q.normalize&&(G=G.replace(/\s+/g," ")),G}function Ge(q,G){return _e(q),q.trackPosition&&(G+="\nLine: "+q.line+"\nColumn: "+q.column+"\nChar: "+q.c),G=new Error(G),q.error=G,me(q,"onerror",G),q}function st(q){return q.sawRoot&&!q.closedRoot&&Xe(q,"Unclosed root tag"),q.state!==te.BEGIN&&q.state!==te.BEGIN_WHITESPACE&&q.state!==te.TEXT&&Ge(q,"Unexpected end"),_e(q),q.c="",q.closed=!0,me(q,"onend"),Q.call(q,q.strict,q.opt),q}function Xe(q,G){if("object"!=typeof q||!(q instanceof Q))throw new Error("bad call to strictFail");q.strict&&Ge(q,G)}function tt(q){q.strict||(q.tagName=q.tagName[q.looseCase]());var G=q.tags[q.tags.length-1]||q,pe=q.tag={name:q.tagName,attributes:{}};q.opt.xmlns&&(pe.ns=G.ns),q.attribList.length=0,ne(q,"onopentagstart",pe)}function Ye(q,G){var ue=q.indexOf(":")<0?["",q]:q.split(":"),je=ue[0],_t=ue[1];return G&&"xmlns"===q&&(je="xmlns",_t=""),{prefix:je,local:_t}}function Ue(q){if(q.strict||(q.attribName=q.attribName[q.looseCase]()),-1!==q.attribList.indexOf(q.attribName)||q.tag.attributes.hasOwnProperty(q.attribName))q.attribName=q.attribValue="";else{if(q.opt.xmlns){var G=Ye(q.attribName,!0),ue=G.local;if("xmlns"===G.prefix)if("xml"===ue&&q.attribValue!==V)Xe(q,"xml: prefix must be bound to "+V+"\nActual: "+q.attribValue);else if("xmlns"===ue&&q.attribValue!==R)Xe(q,"xmlns: prefix must be bound to "+R+"\nActual: "+q.attribValue);else{var je=q.tag,_t=q.tags[q.tags.length-1]||q;je.ns===_t.ns&&(je.ns=Object.create(_t.ns)),je.ns[ue]=q.attribValue}q.attribList.push([q.attribName,q.attribValue])}else q.tag.attributes[q.attribName]=q.attribValue,ne(q,"onattribute",{name:q.attribName,value:q.attribValue});q.attribName=q.attribValue=""}}function ke(q,G){if(q.opt.xmlns){var pe=q.tag,ue=Ye(q.tagName);pe.prefix=ue.prefix,pe.local=ue.local,pe.uri=pe.ns[ue.prefix]||"",pe.prefix&&!pe.uri&&(Xe(q,"Unbound namespace prefix: "+JSON.stringify(q.tagName)),pe.uri=ue.prefix),pe.ns&&(q.tags[q.tags.length-1]||q).ns!==pe.ns&&Object.keys(pe.ns).forEach(function(On){ne(q,"onopennamespace",{prefix:On,uri:pe.ns[On]})});for(var _t=0,pt=q.attribList.length;_t",q.tagName="",void(q.state=te.SCRIPT);ne(q,"onscript",q.script),q.script=""}var G=q.tags.length,pe=q.tagName;q.strict||(pe=pe[q.looseCase]());for(var ue=pe;G--&&q.tags[G].name!==ue;)Xe(q,"Unexpected close tag");if(G<0)return Xe(q,"Unmatched closing tag: "+q.tagName),q.textNode+="",void(q.state=te.TEXT);q.tagName=pe;for(var _t=q.tags.length;_t-- >G;){var pt=q.tag=q.tags.pop();q.tagName=q.tag.name,ne(q,"onclosetag",q.tagName);var ve={};for(var L in pt.ns)ve[L]=pt.ns[L];q.opt.xmlns&&pt.ns!==(q.tags[q.tags.length-1]||q).ns&&Object.keys(pt.ns).forEach(function(B){ne(q,"onclosenamespace",{prefix:B,uri:pt.ns[B]})})}0===G&&(q.closedRoot=!0),q.tagName=q.attribValue=q.attribName="",q.attribList.length=0,q.state=te.TEXT}function Me(q){var ue,G=q.entity,pe=G.toLowerCase(),je="";return q.ENTITIES[G]?q.ENTITIES[G]:q.ENTITIES[pe]?q.ENTITIES[pe]:("#"===(G=pe).charAt(0)&&("x"===G.charAt(1)?(G=G.slice(2),je=(ue=parseInt(G,16)).toString(16)):(G=G.slice(1),je=(ue=parseInt(G,10)).toString(10))),G=G.replace(/^0+/,""),isNaN(ue)||je.toLowerCase()!==G?(Xe(q,"Invalid character entity"),"&"+q.entity+";"):String.fromCodePoint(ue))}function Ve(q,G){"<"===G?(q.state=te.OPEN_WAKA,q.startTagPosition=q.position):E(G)||(Xe(q,"Non-whitespace before first tag."),q.textNode=G,q.state=te.TEXT)}function $e(q,G){var pe="";return G1114111||G(B)!==B)throw RangeError("Invalid code point: "+B);B<=65535?je.push(B):je.push(55296+((B-=65536)>>10),B%1024+56320),(ve+1===L||je.length>ue)&&(N+=q.apply(null,je),je.length=0)}return N},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:pe,configurable:!0,writable:!0}):String.fromCodePoint=pe)}(void 0===he?this.sax={}:he)}).call(this)}).call(this,Y("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(Y,Se,he){(function(W,j){(function(){!function(P,Q){"use strict";if(!P.setImmediate){var A,z=1,v={},x=!1,O=P.document,X=Object.getPrototypeOf&&Object.getPrototypeOf(P);X=X&&X.setTimeout?X:P,"[object process]"==={}.toString.call(P.process)?A=function(E){W.nextTick(function(){T(E)})}:function(){if(P.postMessage&&!P.importScripts){var E=!0,$=P.onmessage;return P.onmessage=function(){E=!1},P.postMessage("","*"),P.onmessage=$,E}}()?(E="setImmediate$"+Math.random()+"$",$=function(Z){Z.source===P&&"string"==typeof Z.data&&0===Z.data.indexOf(E)&&T(+Z.data.slice(E.length))},P.addEventListener?P.addEventListener("message",$,!1):P.attachEvent("onmessage",$),A=function(Z){P.postMessage(E+Z,"*")}):P.MessageChannel?function(){var E=new MessageChannel;E.port1.onmessage=function($){T($.data)},A=function($){E.port2.postMessage($)}}():O&&"onreadystatechange"in O.createElement("script")?function(){var E=O.documentElement;A=function($){var Z=O.createElement("script");Z.onreadystatechange=function(){T($),Z.onreadystatechange=null,E.removeChild(Z),Z=null},E.appendChild(Z)}}():A=function(E){setTimeout(T,0,E)},X.setImmediate=function(E){"function"!=typeof E&&(E=new Function(""+E));for(var $=new Array(arguments.length-1),Z=0;Z<$.length;Z++)$[Z]=arguments[Z+1];return v[z]={callback:E,args:$},A(z),z++},X.clearImmediate=y}var E,$;function y(E){delete v[E]}function T(E){if(x)setTimeout(T,0,E);else{var $=v[E];if($){x=!0;try{!function(E){var $=E.callback,Z=E.args;switch(Z.length){case 0:$();break;case 1:$(Z[0]);break;case 2:$(Z[0],Z[1]);break;case 3:$(Z[0],Z[1],Z[2]);break;default:$.apply(void 0,Z)}}($)}finally{y(E),x=!1}}}}}("undefined"==typeof self?void 0===j?this:j:self)}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:44}],87:[function(Y,Se,he){Se.exports=P;var W=Y("events").EventEmitter;function P(){W.call(this)}Y("inherits")(P,W),P.Readable=Y("readable-stream/lib/_stream_readable.js"),P.Writable=Y("readable-stream/lib/_stream_writable.js"),P.Duplex=Y("readable-stream/lib/_stream_duplex.js"),P.Transform=Y("readable-stream/lib/_stream_transform.js"),P.PassThrough=Y("readable-stream/lib/_stream_passthrough.js"),P.finished=Y("readable-stream/lib/internal/streams/end-of-stream.js"),P.pipeline=Y("readable-stream/lib/internal/streams/pipeline.js"),P.Stream=P,P.prototype.pipe=function(Q,z){var v=this;function x(V){Q.writable&&!1===Q.write(V)&&v.pause&&v.pause()}function O(){v.readable&&v.resume&&v.resume()}v.on("data",x),Q.on("drain",O),!Q._isStdio&&(!z||!1!==z.end)&&(v.on("end",b),v.on("close",y));var A=!1;function b(){A||(A=!0,Q.end())}function y(){A||(A=!0,"function"==typeof Q.destroy&&Q.destroy())}function S(V){if(T(),0===W.listenerCount(this,"error"))throw V}function T(){v.removeListener("data",x),Q.removeListener("drain",O),v.removeListener("end",b),v.removeListener("close",y),v.removeListener("error",S),Q.removeListener("error",S),v.removeListener("end",T),v.removeListener("close",T),Q.removeListener("close",T)}return v.on("error",S),Q.on("error",S),v.on("end",T),v.on("close",T),Q.on("close",T),Q.emit("pipe",v),Q}},{events:8,inherits:10,"readable-stream/lib/_stream_duplex.js":68,"readable-stream/lib/_stream_passthrough.js":69,"readable-stream/lib/_stream_readable.js":70,"readable-stream/lib/_stream_transform.js":71,"readable-stream/lib/_stream_writable.js":72,"readable-stream/lib/internal/streams/end-of-stream.js":76,"readable-stream/lib/internal/streams/pipeline.js":78}],88:[function(Y,Se,he){arguments[4][5][0].apply(he,arguments)},{dup:5,"safe-buffer":84}],89:[function(Y,Se,he){(function(W,j){(function(){var P=Y("process/browser.js").nextTick,Q=Function.prototype.apply,z=Array.prototype.slice,v={},x=0;function O(A,b){this._id=A,this._clearFn=b}he.setTimeout=function(){return new O(Q.call(setTimeout,window,arguments),clearTimeout)},he.setInterval=function(){return new O(Q.call(setInterval,window,arguments),clearInterval)},he.clearTimeout=he.clearInterval=function(A){A.close()},O.prototype.unref=O.prototype.ref=function(){},O.prototype.close=function(){this._clearFn.call(window,this._id)},he.enroll=function(A,b){clearTimeout(A._idleTimeoutId),A._idleTimeout=b},he.unenroll=function(A){clearTimeout(A._idleTimeoutId),A._idleTimeout=-1},he._unrefActive=he.active=function(A){clearTimeout(A._idleTimeoutId);var b=A._idleTimeout;b>=0&&(A._idleTimeoutId=setTimeout(function(){A._onTimeout&&A._onTimeout()},b))},he.setImmediate="function"==typeof W?W:function(A){var b=x++,y=!(arguments.length<2)&&z.call(arguments,1);return v[b]=!0,P(function(){v[b]&&(y?A.apply(null,y):A.call(null),he.clearImmediate(b))}),b},he.clearImmediate="function"==typeof j?j:function(A){delete v[A]}}).call(this)}).call(this,Y("timers").setImmediate,Y("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(Y,Se,he){(function(W){(function(){function P(Q){try{if(!W.localStorage)return!1}catch(v){return!1}var z=W.localStorage[Q];return null!=z&&"true"===String(z).toLowerCase()}Se.exports=function(Q,z){if(P("noDeprecation"))return Q;var v=!1;return function(){if(!v){if(P("throwDeprecation"))throw new Error(z);P("traceDeprecation")?console.trace(z):console.warn(z),v=!0}return Q.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(Y,Se,he){"use strict";Se.exports=function(W){W.prototype[Symbol.iterator]=function*(){for(let j=this.head;j;j=j.next)yield j.value}}},{}],92:[function(Y,Se,he){"use strict";function W(v){var x=this;if(x instanceof W||(x=new W),x.tail=null,x.head=null,x.length=0,v&&"function"==typeof v.forEach)v.forEach(function(b){x.push(b)});else if(arguments.length>0)for(var O=0,A=arguments.length;O1)O=x;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");A=this.head.next,O=this.head.value}for(var b=0;null!==A;b++)O=v(O,A.value,b),A=A.next;return O},W.prototype.reduceReverse=function(v,x){var O,A=this.tail;if(arguments.length>1)O=x;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");A=this.tail.prev,O=this.tail.value}for(var b=this.length-1;null!==A;b--)O=v(O,A.value,b),A=A.prev;return O},W.prototype.toArray=function(){for(var v=new Array(this.length),x=0,O=this.head;null!==O;x++)v[x]=O.value,O=O.next;return v},W.prototype.toArrayReverse=function(){for(var v=new Array(this.length),x=0,O=this.tail;null!==O;x++)v[x]=O.value,O=O.prev;return v},W.prototype.slice=function(v,x){(x=x||this.length)<0&&(x+=this.length),(v=v||0)<0&&(v+=this.length);var O=new W;if(xthis.length&&(x=this.length);for(var A=0,b=this.head;null!==b&&Athis.length&&(x=this.length);for(var A=this.length,b=this.tail;null!==b&&A>x;A--)b=b.prev;for(;null!==b&&A>v;A--,b=b.prev)O.push(b.value);return O},W.prototype.splice=function(v,x,...O){v>this.length&&(v=this.length-1),v<0&&(v=this.length+v);for(var A=0,b=this.head;null!==b&&A{"use strict";Ut.exports=Je,Ut.exports.default=Je;var it=1e20;function Je(Y,Se,he,W,j,P){this.fontSize=Y||24,this.buffer=void 0===Se?3:Se,this.cutoff=W||.25,this.fontFamily=j||"sans-serif",this.fontWeight=P||"normal",this.radius=he||8;var Q=this.size=this.fontSize+2*this.buffer,z=Q+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=Q,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(z*z),this.gridInner=new Float64Array(z*z),this.f=new Float64Array(z),this.z=new Float64Array(z+1),this.v=new Uint16Array(z),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(Q/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function Tt(Y,Se,he,W,j,P){for(var Q=0;Q-1);P[++v]=z,Q[v]=x,Q[v+1]=it}for(z=0,v=0;z{Ut.exports=function(Je,yt){var ee=yt.length;if(0!==ee){var Tt=Je.length;Je.length+=ee;for(var dt=0;dt{"use strict";var yt=(()=>{return(Tt=yt||(yt={})).typeOfFunction="function",Tt.boolTrue=!0,yt;var Tt})();function ee(Tt,dt,Y){if(!Y||typeof Y.value!==yt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+dt+"> is not a method!");return{configurable:yt.boolTrue,get:function(){var Se=Y.value.bind(this);return Object.defineProperty(this,dt,{value:Se,configurable:yt.boolTrue,writable:yt.boolTrue}),Se}}}it.ak=ee,it.ZP=ee},266:(Ut,it,Je)=>{Ut.exports={ResizeSensor:Je(835),ElementQueries:Je(845)}},845:function(Ut,it,Je){"use strict";var yt,ee,Tt;"undefined"!=typeof window&&window,ee=[Je(835)],void 0!==(Tt="function"==typeof(yt=function(dt){var Y=function(){var he,W={},j=[];function P(D){D||(D=document.documentElement);var I=window.getComputedStyle(D,null).fontSize;return parseFloat(I)||16}function z(D,I){var X=I.split(/\d/),E=X[X.length-1];switch(I=parseFloat(I),E){case"px":return I;case"em":return I*P(D);case"rem":return I*P();case"vw":return I*document.documentElement.clientWidth/100;case"vh":return I*document.documentElement.clientHeight/100;case"vmin":case"vmax":var $=document.documentElement.clientWidth/100,Z=document.documentElement.clientHeight/100;return I*(0,Math["vmin"===E?"min":"max"])($,Z);default:return I}}function v(D,I){this.element=D;var X,E,$,Z,oe,se,te,Ce,me=["min-width","min-height","max-width","max-height"];this.call=function(){for(X in $=function(D){if(!D.getBoundingClientRect)return{width:D.offsetWidth,height:D.offsetHeight};var I=D.getBoundingClientRect();return{width:Math.round(I.width),height:Math.round(I.height)}}(this.element),se={},W[I])!W[I].hasOwnProperty(X)||(Z=z(this.element,(E=W[I][X]).value),oe="width"===E.property?$.width:$.height,te="","min"===E.mode&&oe>=Z&&(te+=E.value),"max"===E.mode&&oe<=Z&&(te+=E.value),se[Ce=E.mode+"-"+E.property]||(se[Ce]=""),te&&-1===(" "+se[Ce]+" ").indexOf(" "+te+" ")&&(se[Ce]+=" "+te));for(var ne in me)!me.hasOwnProperty(ne)||(se[me[ne]]?this.element.setAttribute(me[ne],se[me[ne]].substr(1)):this.element.removeAttribute(me[ne]))}}function x(D,I){D.elementQueriesSetupInformation||(D.elementQueriesSetupInformation=new v(D,I)),D.elementQueriesSensor||(D.elementQueriesSensor=new dt(D,function(){D.elementQueriesSetupInformation.call()}))}function O(D,I,X,E){if(void 0===W[D]){W[D]=[];var $=j.length;he.innerHTML+="\n"+D+" {animation: 0.1s element-queries;}",he.innerHTML+="\n"+D+" > .resize-sensor {min-width: "+$+"px;}",j.push(D)}W[D].push({mode:I,property:X,value:E})}function A(D){var I;if(document.querySelectorAll&&(I=D?D.querySelectorAll.bind(D):document.querySelectorAll.bind(document)),!I&&"undefined"!=typeof $$&&(I=$$),!I&&"undefined"!=typeof jQuery&&(I=jQuery),!I)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return I}function y(D){var I=[],X=[],E=[],$=0,Z=-1,oe=[];for(var se in D.children)if(D.children.hasOwnProperty(se)&&D.children[se].tagName&&"img"===D.children[se].tagName.toLowerCase()){I.push(D.children[se]);var te=D.children[se].getAttribute("min-width")||D.children[se].getAttribute("data-min-width"),Ce=D.children[se].getAttribute("data-src")||D.children[se].getAttribute("url");E.push(Ce),X.push({minWidth:te}),te?D.children[se].style.display="none":($=I.length-1,D.children[se].style.display="block")}function ne(){var Ie,_e=!1;for(Ie in I)!I.hasOwnProperty(Ie)||X[Ie].minWidth&&D.offsetWidth>X[Ie].minWidth&&(_e=Ie);if(_e||(_e=$),Z!==_e)if(oe[_e])I[Z].style.display="none",I[_e].style.display="block",Z=_e;else{var Ge=new Image;Ge.onload=function(){I[_e].src=E[_e],I[Z].style.display="none",I[_e].style.display="block",oe[_e]=!0,Z=_e},Ge.src=E[_e]}else I[_e].src=E[_e]}Z=$,D.resizeSensorInstance=new dt(D,ne),ne()}var T=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,V=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function R(D){var I,X,E,$;for(D=D.replace(/'/g,'"');null!==(I=T.exec(D));)for(X=I[1]+I[3],E=I[2];null!==($=V.exec(E));)O(X,$[1],$[2],$[3])}function K(D){var I="";if(D)if("string"==typeof D)(-1!==(D=D.toLowerCase()).indexOf("min-width")||-1!==D.indexOf("max-width"))&&R(D);else for(var X=0,E=D.length;X img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",he.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(he),ce=!0);for(var I=0,X=document.styleSheets.length;I{var yt=Je(910),ee=Je(369),Tt=Je(322);function dt(Q,z,v){if(!yt(Q))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!Q.hasNode(z))throw new Error('graphology-shortest-path: the "'+z+'" source node does not exist in the given graph.');if(!Q.hasNode(v))throw new Error('graphology-shortest-path: the "'+v+'" target node does not exist in the given graph.');if((z=""+z)==(v=""+v))return[z];var x=Q.inboundNeighbors.bind(Q),O=Q.outboundNeighbors.bind(Q),A={},b={};A[z]=null,b[v]=null;var T,V,R,K,ce,D,I,X,y=[z],S=[v],E=!1;e:for(;y.length&&S.length;)if(y.length<=S.length){for(T=y,y=[],ce=0,I=T.length;ce{Ut.exports=function(Je){return null!==Je&&"object"==typeof Je&&"function"==typeof Je.addUndirectedEdgeWithKey&&"function"==typeof Je.dropNode&&"boolean"==typeof Je.multi}},698:function(Ut){Ut.exports=function(){"use strict";function it(ie){return(it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(fe){return typeof fe}:function(fe){return fe&&"function"==typeof Symbol&&fe.constructor===Symbol&&fe!==Symbol.prototype?"symbol":typeof fe})(ie)}function Je(ie,fe){ie.prototype=Object.create(fe.prototype),ie.prototype.constructor=ie,ee(ie,fe)}function yt(ie){return(yt=Object.setPrototypeOf?Object.getPrototypeOf:function(fe){return fe.__proto__||Object.getPrototypeOf(fe)})(ie)}function ee(ie,fe){return(ee=Object.setPrototypeOf||function(re,M){return re.__proto__=M,re})(ie,fe)}function Tt(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(ie){return!1}}function dt(ie,fe,re){return(dt=Tt()?Reflect.construct:function(M,k,J){var we=[null];we.push.apply(we,k);var Fe=new(Function.bind.apply(M,we));return J&&ee(Fe,J.prototype),Fe}).apply(null,arguments)}function Y(ie){var fe="function"==typeof Map?new Map:void 0;return(Y=function(re){if(null===re||-1===Function.toString.call(re).indexOf("[native code]"))return re;if("function"!=typeof re)throw new TypeError("Super expression must either be null or a function");if(void 0!==fe){if(fe.has(re))return fe.get(re);fe.set(re,k)}function k(){return dt(re,arguments,yt(this).constructor)}return k.prototype=Object.create(re.prototype,{constructor:{value:k,enumerable:!1,writable:!0,configurable:!0}}),ee(k,re)})(ie)}function Se(ie){if(void 0===ie)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ie}var he=function(){for(var ie=arguments[0],fe=1,re=arguments.length;fe0&&we.length>k&&!we.warned){we.warned=!0;var nt=new Error("Possible EventEmitter memory leak detected. "+we.length+" "+String(fe)+" listeners added. Use emitter.setMaxListeners() to increase limit");nt.name="MaxListenersExceededWarning",nt.emitter=ie,nt.type=fe,nt.count=we.length,console&&console.warn&&console.warn(nt)}return ie}function D(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function I(ie,fe,re){var M={fired:!1,wrapFn:void 0,target:ie,type:fe,listener:re},k=D.bind(M);return k.listener=re,M.wrapFn=k,k}function X(ie,fe,re){var M=ie._events;if(void 0===M)return[];var k=M[fe];return void 0===k?[]:"function"==typeof k?re?[k.listener||k]:[k]:re?function(J){for(var we=new Array(J.length),Fe=0;Fe0&&(J=fe[0]),J instanceof Error)throw J;var we=new Error("Unhandled error."+(J?" ("+J.message+")":""));throw we.context=J,we}var Fe=k[ie];if(void 0===Fe)return!1;if("function"==typeof Fe)y(Fe,this,fe);else{var nt=Fe.length,Ot=$(Fe,nt);for(re=0;re=0;J--)if(re[J]===fe||re[J].listener===fe){we=re[J].listener,k=J;break}if(k<0)return this;0===k?re.shift():function(Fe,nt){for(;nt+1=0;M--)this.removeListener(ie,fe[M]);return this},T.prototype.listeners=function(ie){return X(this,ie,!0)},T.prototype.rawListeners=function(ie){return X(this,ie,!1)},T.listenerCount=function(ie,fe){return"function"==typeof ie.listenerCount?ie.listenerCount(fe):E.call(ie,fe)},T.prototype.listenerCount=E,T.prototype.eventNames=function(){return this._eventsCount>0?O(this._events):[]},oe.prototype.next=function(){if(this.done)return{done:!0};var ie=this._next();return ie.done&&(this.done=!0),ie},"undefined"!=typeof Symbol&&(oe.prototype[Symbol.iterator]=function(){return this}),oe.of=function(){var ie=arguments,fe=ie.length,re=0;return new oe(function(){return re>=fe?{done:!0}:{done:!1,value:ie[re++]}})},oe.empty=function(){var ie=new oe(null);return ie.done=!0,ie},oe.is=function(ie){return ie instanceof oe||"object"==typeof ie&&null!==ie&&"function"==typeof ie.next};var se=oe,te=function(ie,fe){for(var re,M=arguments.length>1?fe:1/0,k=M!==1/0?new Array(M):[],J=0;;){if(J===M)return k;if((re=ie.next()).done)return J!==fe?k.slice(0,J):k;k[J++]=re.value}},Ce=function(ie){function fe(re,M){var k;return(k=ie.call(this)||this).name="GraphError",k.message=re||"",k.data=M||{},k}return Je(fe,ie),fe}(Y(Error)),me=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce),ne=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce),_e=function(ie){function fe(re,M){var k;return(k=ie.call(this,re,M)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(k),fe.prototype.constructor),k}return Je(fe,ie),fe}(Ce);function Ie(ie,fe){this.key=ie,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function Ge(ie,fe){this.key=ie,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function st(ie,fe){this.key=ie,this.attributes=fe,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function Xe(ie,fe,re,M,k,J){this.key=fe,this.attributes=J,this.undirected=ie,this.source=M,this.target=k,this.generatedKey=re}function tt(ie,fe,re,M,k,J,we){var Fe,nt,Ot="out",We="in";if(fe&&(Ot=We="undirected"),ie.multi){if(void 0===(nt=(Fe=J[Ot])[k])&&(nt=new Set,Fe[k]=nt),nt.add(re),M===k&&fe)return;void 0===(Fe=we[We])[M]&&(Fe[M]=nt)}else{if(J[Ot][k]=re,M===k&&fe)return;we[We][M]=re}}function Ye(ie,fe,re){var M=ie.multi,k=re.source,J=re.target,we=k.key,Fe=J.key,nt=k[fe?"undirected":"out"],Ot=fe?"undirected":"in";if(Fe in nt)if(M){var We=nt[Fe];1===We.size?(delete nt[Fe],delete J[Ot][we]):We.delete(re)}else delete nt[Fe];M||delete J[Ot][we]}Ge.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},st.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var Ue=[{name:function(ie){return"get".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes[k]}}},{name:function(ie){return"get".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M){var k;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var J=""+M,we=""+arguments[1];if(!(k=W(this,J,we,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(J,'" - "').concat(we,'").'))}else if(!(k=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&k.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return k.attributes}}},{name:function(ie){return"has".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes.hasOwnProperty(k)}}},{name:function(ie){return"set".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k,J){var we;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+k;if(k=arguments[2],J=arguments[3],!(we=W(this,Fe,nt,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(we=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&we.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return we.attributes[k]=J,this.emit("edgeAttributesUpdated",{key:we.key,type:"set",attributes:we.attributes,name:k}),this}}},{name:function(ie){return"update".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k,J){var we;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+k;if(k=arguments[2],J=arguments[3],!(we=W(this,Fe,nt,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(we=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("function"!=typeof J)throw new me("Graph.".concat(fe,": updater should be a function."));if("mixed"!==re&&we.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return we.attributes[k]=J(we.attributes[k]),this.emit("edgeAttributesUpdated",{key:we.key,type:"set",attributes:we.attributes,name:k}),this}}},{name:function(ie){return"remove".concat(ie,"Attribute")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return delete J.attributes[k],this.emit("edgeAttributesUpdated",{key:J.key,type:"remove",attributes:J.attributes,name:k}),this}}},{name:function(ie){return"replace".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!P(k))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return J.attributes=k,this.emit("edgeAttributesUpdated",{key:J.key,type:"replace",attributes:J.attributes}),this}}},{name:function(ie){return"merge".concat(ie,"Attributes")},attacher:function(ie,fe,re){ie.prototype[fe]=function(M,k){var J;if("mixed"!==this.type&&"mixed"!==re&&re!==this.type)throw new _e("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new _e("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var we=""+M,Fe=""+k;if(k=arguments[2],!(J=W(this,we,Fe,re)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(we,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!P(k))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==re&&J.undirected!==("undirected"===re))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(re," edge in the graph."));return he(J.attributes,k),this.emit("edgeAttributesUpdated",{key:J.key,type:"merge",attributes:J.attributes,data:k}),this}}}],ke=se,Ke=function(){var ie,fe=arguments,re=-1;return new ke(function M(){if(!ie){if(++re>=fe.length)return{done:!0};ie=fe[re]}var k=ie.next();return k.done?(ie=null,M()):k})},Me=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Ve(ie,fe){for(var re in fe)ie.push(fe[re].key)}function $e(ie,fe){for(var re in fe)fe[re].forEach(function(M){return ie.push(M.key)})}function Ne(ie,fe,re){for(var M in ie)if(M!==re){var k=ie[M];fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)}}function q(ie,fe,re){for(var M in ie)M!==re&&ie[M].forEach(function(k){return fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)})}function G(ie,fe,re){for(var M in ie)if(M!==re){var k=ie[M];if(fe(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey))return!0}return!1}function pe(ie,fe,re){var M,k,J,we,Fe;for(var nt in ie)if(nt!==re)for(M=ie[nt].values();!0!==(k=M.next()).done;)if(we=(J=k.value).source,fe(J.key,J.attributes,we.key,(Fe=J.target).key,we.attributes,Fe.attributes,J.undirected,J.generatedKey))return!0;return!1}function ue(ie,fe){var re=Object.keys(ie),M=re.length,k=null,J=0;return new se(function we(){var Fe;if(k){var nt=k.next();if(nt.done)return k=null,J++,we();Fe=nt.value}else{if(J>=M)return{done:!0};var Ot=re[J];if(Ot===fe)return J++,we();if((Fe=ie[Ot])instanceof Set)return k=Fe.values(),we();J++}return{done:!1,value:[Fe.key,Fe.attributes,Fe.source.key,Fe.target.key,Fe.source.attributes,Fe.target.attributes]}})}function je(ie,fe,re){var M=fe[re];M&&ie.push(M.key)}function _t(ie,fe,re){var M=fe[re];M&&M.forEach(function(k){return ie.push(k.key)})}function pt(ie,fe,re){var M=ie[fe];if(M){var k=M.source,J=M.target;re(M.key,M.attributes,k.key,J.key,k.attributes,J.attributes,M.undirected,M.generatedKey)}}function ve(ie,fe,re){var M=ie[fe];M&&M.forEach(function(k){return re(k.key,k.attributes,k.source.key,k.target.key,k.source.attributes,k.target.attributes,k.undirected,k.generatedKey)})}function L(ie,fe,re){var M=ie[fe];if(M){var k=M.source,J=M.target;return re(M.key,M.attributes,k.key,J.key,k.attributes,J.attributes,M.undirected,M.generatedKey)}}function N(ie,fe,re){var M=ie[fe];if(M){for(var k,J,we=M.values();!0!==(k=we.next()).done;)if(re((J=k.value).key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes,J.undirected,J.generatedKey))return!0;return!1}}function B(ie,fe){var re=ie[fe];if(re instanceof Set){var M=re.values();return new se(function(){var k=M.next();if(k.done)return k;var J=k.value;return{done:!1,value:[J.key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes]}})}return se.of([re.key,re.attributes,re.source.key,re.target.key,re.source.attributes,re.target.attributes])}function Re(ie,fe){if(0===ie.size)return[];if("mixed"===fe||fe===ie.type)return"function"==typeof Array.from?Array.from(ie._edges.keys()):te(ie._edges.keys(),ie._edges.size);for(var re,M,J=new Array("undirected"===fe?ie.undirectedSize:ie.directedSize),we="undirected"===fe,Fe=ie._edges.values(),nt=0;!0!==(re=Fe.next()).done;)(M=re.value).undirected===we&&(J[nt++]=M.key);return J}function Qe(ie,fe,re){if(0!==ie.size)for(var M,k,J="mixed"!==fe&&fe!==ie.type,we="undirected"===fe,Fe=ie._edges.values();!0!==(M=Fe.next()).done;)if(k=M.value,!J||k.undirected===we){var Wt=k.source,xt=k.target;re(k.key,k.attributes,Wt.key,xt.key,Wt.attributes,xt.attributes,k.undirected,k.generatedKey)}}function St(ie,fe,re){if(0!==ie.size)for(var M,k,J="mixed"!==fe&&fe!==ie.type,we="undirected"===fe,Fe=ie._edges.values();!0!==(M=Fe.next()).done;)if(k=M.value,!J||k.undirected===we){var Wt=k.source,xt=k.target;if(re(k.key,k.attributes,Wt.key,xt.key,Wt.attributes,xt.attributes,k.undirected,k.generatedKey))break}}function Nt(ie,fe){if(0===ie.size)return se.empty();var re="mixed"!==fe&&fe!==ie.type,M="undirected"===fe,k=ie._edges.values();return new se(function(){for(var J,we;;){if((J=k.next()).done)return J;if(we=J.value,!re||we.undirected===M)break}return{value:[we.key,we.attributes,we.source.key,we.target.key,we.source.attributes,we.target.attributes],done:!1}})}function On(ie,fe,re,M){var k=[],J=ie?$e:Ve;return"undirected"!==fe&&("out"!==re&&J(k,M.in),"in"!==re&&J(k,M.out),!re&&M.directedSelfLoops>0&&k.splice(k.lastIndexOf(M.key),1)),"directed"!==fe&&J(k,M.undirected),k}function kn(ie,fe,re,M,k){var J=ie?q:Ne;"undirected"!==fe&&("out"!==re&&J(M.in,k),"in"!==re&&J(M.out,k,re?null:M.key)),"directed"!==fe&&J(M.undirected,k)}function Yn(ie,fe,re,M,k){var J=ie?pe:G;"undirected"!==fe&&("out"!==re&&J(M.in,k)||"in"!==re&&J(M.out,k,re?null:M.key))||"directed"===fe||J(M.undirected,k)}function Ti(ie,fe,re){var M=se.empty();return"undirected"!==ie&&("out"!==fe&&void 0!==re.in&&(M=Ke(M,ue(re.in))),"in"!==fe&&void 0!==re.out&&(M=Ke(M,ue(re.out,fe?null:re.key)))),"directed"!==ie&&void 0!==re.undirected&&(M=Ke(M,ue(re.undirected))),M}function wi(ie,fe,re,M,k){var J=fe?_t:je,we=[];return"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&J(we,M.in,k),void 0!==M.out&&"in"!==re&&J(we,M.out,k),!re&&M.directedSelfLoops>0&&we.splice(we.lastIndexOf(M.key),1)),"directed"!==ie&&void 0!==M.undirected&&J(we,M.undirected,k),we}function Xr(ie,fe,re,M,k,J){var we=fe?ve:pt;"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&we(M.in,k,J),M.key!==k&&void 0!==M.out&&"in"!==re&&we(M.out,k,J)),"directed"!==ie&&void 0!==M.undirected&&we(M.undirected,k,J)}function Ls(ie,fe,re,M,k,J){var we=fe?N:L;"undirected"!==ie&&(void 0!==M.in&&"out"!==re&&we(M.in,k,J)||M.key!==k&&void 0!==M.out&&"in"!==re&&we(M.out,k,J,re?null:M.key))||"directed"===ie||void 0===M.undirected||we(M.undirected,k,J)}function gs(ie,fe,re,M){var k=se.empty();return"undirected"!==ie&&(void 0!==re.in&&"out"!==fe&&M in re.in&&(k=Ke(k,B(re.in,M))),void 0!==re.out&&"in"!==fe&&M in re.out&&(k=Ke(k,B(re.out,M)))),"directed"!==ie&&void 0!==re.undirected&&M in re.undirected&&(k=Ke(k,B(re.undirected,M))),k}var Bs=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Qr(ie,fe){if(void 0!==fe)for(var re in fe)ie.add(re)}function el(ie,fe,re){if("mixed"!==ie){if("undirected"===ie)return Object.keys(re.undirected);if("string"==typeof fe)return Object.keys(re[fe])}var M=new Set;return"undirected"!==ie&&("out"!==fe&&Qr(M,re.in),"in"!==fe&&Qr(M,re.out)),"directed"!==ie&&Qr(M,re.undirected),te(M.values(),M.size)}function kl(ie,fe,re){for(var M in fe){var k=fe[M];k instanceof Set&&(k=k.values().next().value);var J=k.source,Fe=J===ie?k.target:J;re(Fe.key,Fe.attributes)}}function Sa(ie,fe,re,M){for(var k in re){var J=re[k];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===fe?J.target:we;ie.has(nt.key)||(ie.add(nt.key),M(nt.key,nt.attributes))}}function Es(ie,fe,re){for(var M in fe){var k=fe[M];k instanceof Set&&(k=k.values().next().value);var J=k.source,Fe=J===ie?k.target:J;if(re(Fe.key,Fe.attributes))return!0}return!1}function Jt(ie,fe,re,M){for(var k in re){var J=re[k];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===fe?J.target:we;if(!ie.has(nt.key)&&(ie.add(nt.key),M(nt.key,nt.attributes)))return!0}return!1}function tl(ie,fe){var re=Object.keys(fe),M=re.length,k=0;return new se(function(){if(k>=M)return{done:!0};var J=fe[re[k++]];J instanceof Set&&(J=J.values().next().value);var we=J.source,nt=we===ie?J.target:we;return{done:!1,value:[nt.key,nt.attributes]}})}function rt(ie,fe,re){var M=Object.keys(re),k=M.length,J=0;return new se(function we(){if(J>=k)return{done:!0};var Fe=re[M[J++]];Fe instanceof Set&&(Fe=Fe.values().next().value);var nt=Fe.source,We=nt===fe?Fe.target:nt;return ie.has(We.key)?we():(ie.add(We.key),{done:!1,value:[We.key,We.attributes]})})}function lt(ie,fe,re,M,k){var J=ie._nodes.get(M);if("undirected"!==fe){if("out"!==re&&void 0!==J.in)for(var we in J.in)if(we===k)return!0;if("in"!==re&&void 0!==J.out)for(var Fe in J.out)if(Fe===k)return!0}if("directed"!==fe&&void 0!==J.undirected)for(var nt in J.undirected)if(nt===k)return!0;return!1}function Le(ie,fe,re){for(var M,k,J,we,Fe,nt,Ot,We=fe._nodes.values(),Wt=fe.type;!0!==(M=We.next()).done;){if(k=M.value,"undirected"!==Wt)for(J in we=k.out)if(nt=(Fe=we[J]).target,Ot=re(k.key,nt.key,k.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),ie&&Ot)return;if("directed"!==Wt)for(J in we=k.undirected)if((nt=(Fe=we[J]).target).key!==J&&(nt=Fe.source),Ot=re(k.key,nt.key,k.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),ie&&Ot)return}}function ut(ie,fe,re){for(var M,k,J,we,Fe,nt,Ot,We,Wt,xt=fe._nodes.values(),vn=fe.type;!0!==(M=xt.next()).done;){if(k=M.value,"undirected"!==vn)for(J in nt=k.out)for(we=nt[J].values();!0!==(Fe=we.next()).done;)if(We=(Ot=Fe.value).target,Wt=re(k.key,We.key,k.attributes,We.attributes,Ot.key,Ot.attributes,Ot.undirected,Ot.generatedKey),ie&&Wt)return;if("directed"!==vn)for(J in nt=k.undirected)for(we=nt[J].values();!0!==(Fe=we.next()).done;)if((We=(Ot=Fe.value).target).key!==J&&(We=Ot.source),Wt=re(k.key,We.key,k.attributes,We.attributes,Ot.key,Ot.attributes,Ot.undirected,Ot.generatedKey),ie&&Wt)return}}function Ze(ie,fe){var re={key:ie};return Q(fe.attributes)||(re.attributes=he({},fe.attributes)),re}function At(ie,fe){var re={source:fe.source.key,target:fe.target.key};return fe.generatedKey||(re.key=ie),Q(fe.attributes)||(re.attributes=he({},fe.attributes)),fe.undirected&&(re.undirected=!0),re}function Mt(ie){return P(ie)?"key"in ie?!("attributes"in ie)||P(ie.attributes)&&null!==ie.attributes?null:"invalid-attributes":"no-key":"not-object"}function Dt(ie){return P(ie)?"source"in ie?"target"in ie?!("attributes"in ie)||P(ie.attributes)&&null!==ie.attributes?"undirected"in ie&&"boolean"!=typeof ie.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var Xt=new Set(["directed","undirected","mixed"]),zn=new Set(["domain","_events","_eventsCount","_maxListeners"]),ai={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Nn(ie,fe,re){var M=new ie.NodeDataClass(fe,re);return ie._nodes.set(fe,M),ie.emit("nodeAdded",{key:fe,attributes:re}),M}function bn(ie,fe,re,M,k,J,we,Fe){if(!M&&"undirected"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe&&!P(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));if(J=""+J,we=""+we,Fe=Fe||{},!ie.allowSelfLoops&&J===we)throw new _e("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var nt=ie._nodes.get(J),Ot=ie._nodes.get(we);if(!nt)throw new ne("Graph.".concat(fe,': source node "').concat(J,'" not found.'));if(!Ot)throw new ne("Graph.".concat(fe,': target node "').concat(we,'" not found.'));var We={key:null,undirected:M,source:J,target:we,attributes:Fe};if(re&&(k=ie._edgeKeyGenerator(We)),ie._edges.has(k=""+k))throw new _e("Graph.".concat(fe,': the "').concat(k,'" edge already exists in the graph.'));if(!ie.multi&&(M?void 0!==nt.undirected[we]:void 0!==nt.out[we]))throw new _e("Graph.".concat(fe,': an edge linking "').concat(J,'" to "').concat(we,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var Wt=new Xe(M,k,re,nt,Ot,Fe);return ie._edges.set(k,Wt),J===we?M?(nt.undirectedSelfLoops++,ie._undirectedSelfLoopCount++):(nt.directedSelfLoops++,ie._directedSelfLoopCount++):M?(nt.undirectedDegree++,Ot.undirectedDegree++):(nt.outDegree++,Ot.inDegree++),tt(ie,M,Wt,J,we,nt,Ot),M?ie._undirectedSize++:ie._directedSize++,We.key=k,ie.emit("edgeAdded",We),k}function $n(ie,fe,re,M,k,J,we,Fe,nt){if(!M&&"undirected"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===ie.type)throw new _e("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe)if(nt){if("function"!=typeof Fe)throw new me("Graph.".concat(fe,': invalid updater function. Expecting a function but got "').concat(Fe,'"'))}else if(!P(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));var Ot;if(J=""+J,we=""+we,nt&&(Ot=Fe,Fe=void 0),!ie.allowSelfLoops&&J===we)throw new _e("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var We,Wt,xt=ie._nodes.get(J),vn=ie._nodes.get(we);if(!re&&(We=ie._edges.get(k))){if(We.source.key!==J||We.target.key!==we||M&&(We.source.key!==we||We.target.key!==J))throw new _e("Graph.".concat(fe,': inconsistency detected when attempting to merge the "').concat(k,'" edge with "').concat(J,'" source & "').concat(we,'" target vs. ("').concat(We.source.key,'", "').concat(We.target.key,'").'));Wt=We}if(Wt||ie.multi||!xt||(Wt=M?xt.undirected[we]:xt.out[we]),Wt)return(nt?Ot:Fe)?(nt?(Wt.attributes=Ot(Wt.attributes),ie.emit("edgeAttributesUpdated",{type:"replace",key:Wt.key,attributes:Wt.attributes})):(he(Wt.attributes,Fe),ie.emit("edgeAttributesUpdated",{type:"merge",key:Wt.key,attributes:Wt.attributes,data:Fe})),Wt.key):Wt.key;Fe=Fe||{},nt&&Ot&&(Fe=Ot(Fe));var Jr={key:null,undirected:M,source:J,target:we,attributes:Fe};if(re&&(k=ie._edgeKeyGenerator(Jr)),ie._edges.has(k=""+k))throw new _e("Graph.".concat(fe,': the "').concat(k,'" edge already exists in the graph.'));return xt||(xt=Nn(ie,J,{}),J===we&&(vn=xt)),vn||(vn=Nn(ie,we,{})),We=new Xe(M,k,re,xt,vn,Fe),ie._edges.set(k,We),J===we?M?(xt.undirectedSelfLoops++,ie._undirectedSelfLoopCount++):(xt.directedSelfLoops++,ie._directedSelfLoopCount++):M?(xt.undirectedDegree++,vn.undirectedDegree++):(xt.outDegree++,vn.inDegree++),tt(ie,M,We,J,we,xt,vn),M?ie._undirectedSize++:ie._directedSize++,Jr.key=k,ie.emit("edgeAdded",Jr),k}var ie,Tn=function(ie){function fe(M){var k;if(k=ie.call(this)||this,(M=he({},ai,M)).edgeKeyGenerator&&"function"!=typeof M.edgeKeyGenerator)throw new me("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(M.edgeKeyGenerator,'".'));if("boolean"!=typeof M.multi)throw new me("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(M.multi,'".'));if(!Xt.has(M.type))throw new me('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(M.type,'".'));if("boolean"!=typeof M.allowSelfLoops)throw new me("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(M.allowSelfLoops,'".'));var J,we="mixed"===M.type?Ie:"directed"===M.type?Ge:st;return z(Se(k),"NodeDataClass",we),z(Se(k),"_attributes",{}),z(Se(k),"_nodes",new Map),z(Se(k),"_edges",new Map),z(Se(k),"_directedSize",0),z(Se(k),"_undirectedSize",0),z(Se(k),"_directedSelfLoopCount",0),z(Se(k),"_undirectedSelfLoopCount",0),z(Se(k),"_edgeKeyGenerator",M.edgeKeyGenerator||(J=0,function(){return J++})),z(Se(k),"_options",M),zn.forEach(function(Fe){return z(Se(k),Fe,k[Fe])}),v(Se(k),"order",function(){return k._nodes.size}),v(Se(k),"size",function(){return k._edges.size}),v(Se(k),"directedSize",function(){return k._directedSize}),v(Se(k),"undirectedSize",function(){return k._undirectedSize}),v(Se(k),"selfLoopCount",function(){return k._directedSelfLoopCount+k._undirectedSelfLoopCount}),v(Se(k),"directedSelfLoopCount",function(){return k._directedSelfLoopCount}),v(Se(k),"undirectedSelfLoopCount",function(){return k._undirectedSelfLoopCount}),v(Se(k),"multi",k._options.multi),v(Se(k),"type",k._options.type),v(Se(k),"allowSelfLoops",k._options.allowSelfLoops),v(Se(k),"implementation",function(){return"graphology"}),k}Je(fe,ie);var re=fe.prototype;return re.hasNode=function(M){return this._nodes.has(""+M)},re.hasDirectedEdge=function(M,k){if("undirected"===this.type)return!1;if(1===arguments.length){var we=this._edges.get(""+M);return!!we&&!we.undirected}if(2===arguments.length){k=""+k;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.out[k];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.hasUndirectedEdge=function(M,k){if("directed"===this.type)return!1;if(1===arguments.length){var we=this._edges.get(""+M);return!!we&&we.undirected}if(2===arguments.length){k=""+k;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.undirected[k];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.hasEdge=function(M,k){if(1===arguments.length)return this._edges.has(""+M);if(2===arguments.length){k=""+k;var we=this._nodes.get(M=""+M);if(!we)return!1;var Fe=void 0!==we.out&&we.out[k];return Fe||(Fe=void 0!==we.undirected&&we.undirected[k]),!(!Fe||this.multi&&!Fe.size)}throw new me("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},re.directedEdge=function(M,k){if("undirected"!==this.type){if(M=""+M,k=""+k,this.multi)throw new _e("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.directedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.directedEdge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.out&&J.out[k]||void 0;return we?we.key:void 0}},re.undirectedEdge=function(M,k){if("directed"!==this.type){if(M=""+M,k=""+k,this.multi)throw new _e("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.undirectedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.undirectedEdge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.undirected&&J.undirected[k]||void 0;return we?we.key:void 0}},re.edge=function(M,k){if(this.multi)throw new _e("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");k=""+k;var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.edge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(k))throw new ne('Graph.edge: could not find the "'.concat(k,'" target node in the graph.'));var we=J.out&&J.out[k]||J.undirected&&J.undirected[k]||void 0;if(we)return we.key},re.inDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.inDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.inDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.inDegree+(k?J.directedSelfLoops:0)},re.outDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.outDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.outDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.outDegree+(k?J.directedSelfLoops:0)},re.directedDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.directedDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.directedDegree: could not find the "'.concat(M,'" node in the graph.'));if("undirected"===this.type)return 0;var we=k?J.directedSelfLoops:0;return J.inDegree+we+(J.outDegree+we)},re.undirectedDegree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.undirectedDegree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.undirectedDegree: could not find the "'.concat(M,'" node in the graph.'));return"directed"===this.type?0:J.undirectedDegree+2*(k?J.undirectedSelfLoops:0)},re.degree=function(M){var k=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof k)throw new me('Graph.degree: Expecting a boolean but got "'.concat(k,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.degree: could not find the "'.concat(M,'" node in the graph.'));var we=0,Fe=0;return"directed"!==this.type&&(k&&(Fe=J.undirectedSelfLoops),we+=J.undirectedDegree+2*Fe),"undirected"!==this.type&&(k&&(Fe=J.directedSelfLoops),we+=J.inDegree+J.outDegree+2*Fe),we},re.source=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.source: could not find the "'.concat(M,'" edge in the graph.'));return k.source.key},re.target=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.target: could not find the "'.concat(M,'" edge in the graph.'));return k.target.key},re.extremities=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.extremities: could not find the "'.concat(M,'" edge in the graph.'));return[k.source.key,k.target.key]},re.opposite=function(M,k){M=""+M;var J=this._edges.get(k=""+k);if(!J)throw new ne('Graph.opposite: could not find the "'.concat(k,'" edge in the graph.'));var we=J.source.key,Fe=J.target.key;if(M!==we&&M!==Fe)throw new ne('Graph.opposite: the "'.concat(M,'" node is not attached to the "').concat(k,'" edge (').concat(we,", ").concat(Fe,")."));return M===we?Fe:we},re.hasExtremity=function(M,k){k=""+k;var J=this._edges.get(M=""+M);if(!J)throw new ne('Graph.hasExtremity: could not find the "'.concat(M,'" edge in the graph.'));return J.source.key===k||J.target.key===k},re.isUndirected=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isUndirected: could not find the "'.concat(M,'" edge in the graph.'));return k.undirected},re.isDirected=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isDirected: could not find the "'.concat(M,'" edge in the graph.'));return!k.undirected},re.isSelfLoop=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.isSelfLoop: could not find the "'.concat(M,'" edge in the graph.'));return k.source===k.target},re.hasGeneratedKey=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.hasGeneratedKey: could not find the "'.concat(M,'" edge in the graph.'));return k.generatedKey},re.addNode=function(M,k){return function(J,we,Fe){if(Fe&&!P(Fe))throw new me('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(Fe,'"'));if(Fe=Fe||{},J._nodes.has(we=""+we))throw new _e('Graph.addNode: the "'.concat(we,'" node already exist in the graph.'));var nt=new J.NodeDataClass(we,Fe);return J._nodes.set(we,nt),J.emit("nodeAdded",{key:we,attributes:Fe}),nt}(this,M,k).key},re.mergeNode=function(M,k){if(k&&!P(k))throw new me('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(k,'"'));k=k||{};var J=this._nodes.get(M=""+M);return J?(k&&(he(J.attributes,k),this.emit("nodeAttributesUpdated",{type:"merge",key:M,attributes:J.attributes,data:k})),M):(J=new this.NodeDataClass(M,k),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:k}),M)},re.updateNode=function(M,k){if(k&&"function"!=typeof k)throw new me('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(k,'"'));var J=this._nodes.get(M=""+M);if(J)return k&&(J.attributes=k(J.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:M,attributes:J.attributes})),M;var Fe=k?k({}):{};return J=new this.NodeDataClass(M,Fe),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:Fe}),M},re.dropNode=function(M){var k=this,J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.dropNode: could not find the "'.concat(M,'" node in the graph.'));this.forEachEdge(M,function(we){k.dropEdge(we)}),this._nodes.delete(M),this.emit("nodeDropped",{key:M,attributes:J.attributes})},re.dropEdge=function(M){var k;if(arguments.length>1){var J=""+arguments[0],we=""+arguments[1];if(!(k=W(this,J,we,this.type)))throw new ne('Graph.dropEdge: could not find the "'.concat(J,'" -> "').concat(we,'" edge in the graph.'))}else if(!(k=this._edges.get(M=""+M)))throw new ne('Graph.dropEdge: could not find the "'.concat(M,'" edge in the graph.'));this._edges.delete(k.key);var nt=k.source,Ot=k.target,We=k.attributes,Wt=k.undirected;return nt===Ot?Wt?(nt.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(nt.directedSelfLoops--,this._directedSelfLoopCount--):Wt?(nt.undirectedDegree--,Ot.undirectedDegree--):(nt.outDegree--,Ot.inDegree--),Ye(this,Wt,k),Wt?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:M,attributes:We,source:nt.key,target:Ot.key,undirected:Wt}),this},re.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},re.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},re.getAttribute=function(M){return this._attributes[M]},re.getAttributes=function(){return this._attributes},re.hasAttribute=function(M){return this._attributes.hasOwnProperty(M)},re.setAttribute=function(M,k){return this._attributes[M]=k,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},re.updateAttribute=function(M,k){if("function"!=typeof k)throw new me("Graph.updateAttribute: updater should be a function.");return this._attributes[M]=k(this._attributes[M]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},re.removeAttribute=function(M){return delete this._attributes[M],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:M}),this},re.replaceAttributes=function(M){if(!P(M))throw new me("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=M,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},re.mergeAttributes=function(M){if(!P(M))throw new me("Graph.mergeAttributes: provided attributes are not a plain object.");return he(this._attributes,M),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:M}),this},re.getNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.getNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes[k]},re.getNodeAttributes=function(M){var k=this._nodes.get(M=""+M);if(!k)throw new ne('Graph.getNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));return k.attributes},re.hasNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes.hasOwnProperty(k)},re.setNodeAttribute=function(M,k,J){var we=this._nodes.get(M=""+M);if(!we)throw new ne('Graph.setNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return we.attributes[k]=J,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:we.attributes,name:k}),this},re.updateNodeAttribute=function(M,k,J){var we=this._nodes.get(M=""+M);if(!we)throw new ne('Graph.updateNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof J)throw new me("Graph.updateAttribute: updater should be a function.");var Fe=we.attributes,nt=J(Fe[k]);return Fe[k]=nt,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:we.attributes,name:k}),this},re.removeNodeAttribute=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return delete J.attributes[k],this.emit("nodeAttributesUpdated",{key:M,type:"remove",attributes:J.attributes,name:k}),this},re.replaceNodeAttributes=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.replaceNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!P(k))throw new me("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return J.attributes=k,this.emit("nodeAttributesUpdated",{key:M,type:"replace",attributes:J.attributes}),this},re.mergeNodeAttributes=function(M,k){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.mergeNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!P(k))throw new me("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return he(J.attributes,k),this.emit("nodeAttributesUpdated",{key:M,type:"merge",attributes:J.attributes,data:k}),this},re.updateEachNodeAttributes=function(M,k){if("function"!=typeof M)throw new me("Graph.updateEachNodeAttributes: expecting an updater function.");if(k&&!x(k))throw new me("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,we,Fe=this._nodes.values();!0!==(J=Fe.next()).done;)(we=J.value).attributes=M(we.key,we.attributes);this.emit("eachNodeAttributesUpdated",{hints:k||null})},re.updateEachEdgeAttributes=function(M,k){if("function"!=typeof M)throw new me("Graph.updateEachEdgeAttributes: expecting an updater function.");if(k&&!x(k))throw new me("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,we,Fe=this._edges.values();!0!==(J=Fe.next()).done;)(we=J.value).attributes=M(we.key,we.attributes);this.emit("eachEdgeAttributesUpdated",{hints:k||null})},re.forEach=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!1,this,M):Le(!1,this,M)},re.forEachUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!0,this,M):Le(!0,this,M)},re.adjacency=function(){return this.multi?(nt=(M=this)._nodes.values(),Ot=M.type,We="outer",Wt=null,new se(function xt(){var vn;if("outer"===We)return!0===(vn=nt.next()).done?vn:(k=vn.value,We="directed",xt());if("directed"===We)return"undirected"===Ot?(We="undirected",xt()):(we=k.out,J=Object.keys(k.out),Fe=0,We="inner-directed",xt());if("undirected"===We){if("directed"===Ot)return We="outer",xt();we=k.undirected,J=Object.keys(k.undirected),Fe=0,We="inner-undirected"}if(!Wt&&Fe>=J.length)return We="inner-undirected"===We?"outer":"undirected",xt();if(!Wt){var Ss=J[Fe++];return Wt=we[Ss].values(),xt()}if((vn=Wt.next()).done)return Wt=null,xt();var Jr=vn.value,Qs=Jr.target;return"inner-undirected"===We&&Qs.key===k.key&&(Qs=Jr.source),{done:!1,value:[k.key,Qs.key,k.attributes,Qs.attributes,Jr.key,Jr.attributes]}})):(Ll=(xt=this)._nodes.values(),po=xt.type,jr="outer",new se(function js(){var xc;if("outer"===jr)return!0===(xc=Ll.next()).done?xc:(vn=xc.value,jr="directed",js());if("directed"===jr)return"undirected"===po?(jr="undirected",js()):(Jr=vn.out,Ss=Object.keys(vn.out),Qs=0,jr="inner-directed",js());if("undirected"===jr){if("directed"===po)return jr="outer",js();Jr=vn.undirected,Ss=Object.keys(vn.undirected),Qs=0,jr="inner-undirected"}if(Qs>=Ss.length)return jr="inner-undirected"===jr?"outer":"undirected",js();var Sn=Ss[Qs++],go=Jr[Sn],Bl=go.target;return"inner-undirected"===jr&&Bl.key===vn.key&&(Bl=go.source),{done:!1,value:[vn.key,Bl.key,vn.attributes,Bl.attributes,go.key,go.attributes]}}));var xt,vn,Ss,Jr,Qs,Ll,po,jr,M,k,J,we,Fe,nt,Ot,We,Wt},re.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):te(this._nodes.keys(),this._nodes.size)},re.forEachNode=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(k,J){M(J,k.attributes)})},re.forEachNodeUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");for(var k,J,we=this._nodes.values();!0!==(k=we.next())&&!M((J=k.value).key,J.attributes););},re.nodeEntries=function(){var M=this._nodes.values();return new se(function(){var k=M.next();if(k.done)return k;var J=k.value;return{value:[J.key,J.attributes],done:!1}})},re.exportNode=function(M){var k=this._nodes.get(M=""+M);if(!k)throw new ne('Graph.exportNode: could not find the "'.concat(M,'" node in the graph.'));return Ze(M,k)},re.exportEdge=function(M){var k=this._edges.get(M=""+M);if(!k)throw new ne('Graph.exportEdge: could not find the "'.concat(M,'" edge in the graph.'));return At(M,k)},re.export=function(){var M=new Array(this._nodes.size),k=0;this._nodes.forEach(function(we,Fe){M[k++]=Ze(Fe,we)});var J=new Array(this._edges.size);return k=0,this._edges.forEach(function(we,Fe){J[k++]=At(Fe,we)}),{attributes:this.getAttributes(),nodes:M,edges:J,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},re.importNode=function(M){var k=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Mt(M);if(J){if("not-object"===J)throw new me('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===J)throw new me("Graph.importNode: no key provided.");if("invalid-attributes"===J)throw new me("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var we=M.key,Fe=M.attributes,nt=void 0===Fe?{}:Fe;return k?this.mergeNode(we,nt):this.addNode(we,nt),this},re.importEdge=function(M){var k=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Dt(M);if(J){if("not-object"===J)throw new me('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===J)throw new me("Graph.importEdge: missing souce.");if("no-target"===J)throw new me("Graph.importEdge: missing target.");if("invalid-attributes"===J)throw new me("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===J)throw new me("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var we=M.source,Fe=M.target,nt=M.attributes,Ot=void 0===nt?{}:nt,We=M.undirected,Wt=void 0!==We&&We;return"key"in M?(k?Wt?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:Wt?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,M.key,we,Fe,Ot):(k?Wt?this.mergeUndirectedEdge:this.mergeDirectedEdge:Wt?this.addUndirectedEdge:this.addDirectedEdge).call(this,we,Fe,Ot),this},re.import=function(M){var k,J,we,Fe=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(j(M))return this.import(M.export(),Fe),this;if(!P(M))throw new me("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(M.attributes){if(!P(M.attributes))throw new me("Graph.import: invalid attributes. Expecting a plain object.");Fe?this.mergeAttributes(M.attributes):this.replaceAttributes(M.attributes)}if(M.nodes){if(we=M.nodes,!Array.isArray(we))throw new me("Graph.import: invalid nodes. Expecting an array.");for(k=0,J=we.length;kJ)){var Ot=new Set;Ot.add(k.undirected[nt]),k.undirected[nt]=Ot,M._nodes.get(nt).undirected[J]=Ot}})),this;var M},re.clearIndex=function(){return this._nodes.forEach(function(M){void 0!==M.in&&(M.in={},M.out={}),void 0!==M.undirected&&(M.undirected={})}),this},re.toJSON=function(){return this.export()},re.toString=function(){return"[object Graph]"},re.inspect=function(){var M=this,k={};this._nodes.forEach(function(Ot,We){k[We]=Ot.attributes});var J={},we={};this._edges.forEach(function(Ot,We){var Wt=Ot.undirected?"--":"->",xt="",vn="(".concat(Ot.source.key,")").concat(Wt,"(").concat(Ot.target.key,")");Ot.generatedKey?M.multi&&(void 0===we[vn]?we[vn]=0:we[vn]++,xt+="".concat(we[vn],". ")):xt+="[".concat(We,"]: "),J[xt+=vn]=Ot.attributes});var Fe={};for(var nt in this)this.hasOwnProperty(nt)&&!zn.has(nt)&&"function"!=typeof this[nt]&&(Fe[nt]=this[nt]);return Fe.attributes=this._attributes,Fe.nodes=k,Fe.edges=J,z(Fe,"constructor",this.constructor),Fe},fe}(A.exports.EventEmitter);"undefined"!=typeof Symbol&&(Tn.prototype[Symbol.for("nodejs.util.inspect.custom")]=Tn.prototype.inspect),[{name:function(ie){return"".concat(ie,"Edge")},generateKey:!0},{name:function(ie){return"".concat(ie,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(ie){return"".concat(ie,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(ie){return"".concat(ie,"EdgeWithKey")}},{name:function(ie){return"".concat(ie,"DirectedEdgeWithKey")},type:"directed"},{name:function(ie){return"".concat(ie,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(ie){["add","merge","update"].forEach(function(fe){var re=ie.name(fe),M="add"===fe?bn:$n;Tn.prototype[re]=ie.generateKey?function(k,J,we){return M(this,re,!0,"undirected"===(ie.type||this.type),null,k,J,we,"update"===fe)}:function(k,J,we,Fe){return M(this,re,!1,"undirected"===(ie.type||this.type),k,J,we,Fe,"update"===fe)}})}),"undefined"!=typeof Symbol&&(Tn.prototype[Symbol.iterator]=Tn.prototype.adjacency),ie=Tn,Ue.forEach(function(fe){var re=fe.name,M=fe.attacher;M(ie,re("Edge"),"mixed"),M(ie,re("DirectedEdge"),"directed"),M(ie,re("UndirectedEdge"),"undirected")}),function(ie){Me.forEach(function(fe){var M,k,J,we;J=(M=fe).type,we=M.direction,ie.prototype[k=M.name]=function(Fe,nt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(!arguments.length)return Re(this,J);if(1===arguments.length){var Ot=this._nodes.get(Fe=""+Fe);if(void 0===Ot)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" node in the graph.'));return On(this.multi,"mixed"===J?this.type:J,we,Ot)}if(2===arguments.length){nt=""+nt;var We=this._nodes.get(Fe=""+Fe);if(!We)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" source node in the graph.'));if(!this._nodes.has(nt))throw new ne("Graph.".concat(k,': could not find the "').concat(nt,'" target node in the graph.'));return wi(J,this.multi,we,We,nt)}throw new me("Graph.".concat(k,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(re,M){var k=M.name,J=M.type,we=M.direction,Fe="forEach"+k[0].toUpperCase()+k.slice(1,-1);re.prototype[Fe]=function(nt,Ot,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Qe(this,J,We=nt);if(2===arguments.length){We=Ot;var Wt=this._nodes.get(nt=""+nt);if(void 0===Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return kn(this.multi,"mixed"===J?this.type:J,we,Wt,We)}if(3===arguments.length){Ot=""+Ot;var xt=this._nodes.get(nt=""+nt);if(!xt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return Xr(J,this.multi,we,xt,Ot,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(ie,fe),function(re,M){var k=M.name,J=M.type,we=M.direction,Fe="forEach"+k[0].toUpperCase()+k.slice(1,-1)+"Until";re.prototype[Fe]=function(nt,Ot,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return St(this,J,We=nt);if(2===arguments.length){We=Ot;var Wt=this._nodes.get(nt=""+nt);if(void 0===Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Yn(this.multi,"mixed"===J?this.type:J,we,Wt,We)}if(3===arguments.length){Ot=""+Ot;var xt=this._nodes.get(nt=""+nt);if(!xt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return Ls(J,this.multi,we,xt,Ot,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(ie,fe),function(re,M){var J=M.type,we=M.direction,Fe=M.name.slice(0,-1)+"Entries";re.prototype[Fe]=function(nt,Ot){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return se.empty();if(!arguments.length)return Nt(this,J);if(1===arguments.length){var We=this._nodes.get(nt=""+nt);if(!We)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Ti(J,we,We)}if(2===arguments.length){Ot=""+Ot;var Wt=this._nodes.get(nt=""+nt);if(!Wt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Ot,'" target node in the graph.'));return gs(J,we,Wt,Ot)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(ie,fe)})}(Tn),function(ie){Bs.forEach(function(fe){var M,k,J,we;J=(M=fe).type,we=M.direction,ie.prototype[k=M.name]=function(Fe){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(2===arguments.length){var nt=""+arguments[0],Ot=""+arguments[1];if(!this._nodes.has(nt))throw new ne("Graph.".concat(k,': could not find the "').concat(nt,'" node in the graph.'));if(!this._nodes.has(Ot))throw new ne("Graph.".concat(k,': could not find the "').concat(Ot,'" node in the graph.'));return lt(this,J,we,nt,Ot)}if(1===arguments.length){var We=this._nodes.get(Fe=""+Fe);if(void 0===We)throw new ne("Graph.".concat(k,': could not find the "').concat(Fe,'" node in the graph.'));return el("mixed"===J?this.type:J,we,We)}throw new me("Graph.".concat(k,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(ie,fe){var re=fe.name,M=fe.type,k=fe.direction,J="forEach"+re[0].toUpperCase()+re.slice(1,-1);ie.prototype[J]=function(we,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(we=""+we);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));!function(Ot,We,Wt,xt){if("mixed"!==Ot){if("undirected"===Ot)return kl(Wt,Wt.undirected,xt);if("string"==typeof We)return kl(Wt,Wt[We],xt)}var vn=new Set;"undirected"!==Ot&&("out"!==We&&Sa(vn,Wt,Wt.in,xt),"in"!==We&&Sa(vn,Wt,Wt.out,xt)),"directed"!==Ot&&Sa(vn,Wt,Wt.undirected,xt)}("mixed"===M?this.type:M,k,nt,Fe)}}}(ie,fe),function(ie,fe){var re=fe.name,M=fe.type,k=fe.direction,J="forEach"+re[0].toUpperCase()+re.slice(1,-1)+"Until";ie.prototype[J]=function(we,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(we=""+we);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));!function(Ot,We,Wt,xt){if("mixed"!==Ot){if("undirected"===Ot)return Es(Wt,Wt.undirected,xt);if("string"==typeof We)return Es(Wt,Wt[We],xt)}var vn=new Set;"undirected"!==Ot&&("out"!==We&&Jt(vn,Wt,Wt.in,xt)||"in"!==We&&Jt(vn,Wt,Wt.out,xt))||"directed"===Ot||Jt(vn,Wt,Wt.undirected,xt)}("mixed"===M?this.type:M,k,nt,Fe)}}}(ie,fe),function(ie,fe){var M=fe.type,k=fe.direction,J=fe.name.slice(0,-1)+"Entries";ie.prototype[J]=function(we){if("mixed"!==M&&"mixed"!==this.type&&M!==this.type)return se.empty();var Fe=this._nodes.get(we=""+we);if(void 0===Fe)throw new ne("Graph.".concat(J,': could not find the "').concat(we,'" node in the graph.'));return function(nt,Ot,We){if("mixed"!==nt){if("undirected"===nt)return tl(We,We.undirected);if("string"==typeof Ot)return tl(We,We[Ot])}var Wt=se.empty(),xt=new Set;return"undirected"!==nt&&("out"!==Ot&&(Wt=Ke(Wt,rt(xt,We,We.in))),"in"!==Ot&&(Wt=Ke(Wt,rt(xt,We,We.out)))),"directed"!==nt&&(Wt=Ke(Wt,rt(xt,We,We.undirected))),Wt}("mixed"===M?this.type:M,k,Fe)}}(ie,fe)})}(Tn);var lr=function(ie){function fe(re){var M=he({type:"directed"},re);if("multi"in M&&!1!==M.multi)throw new me("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==M.type)throw new me('DirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Tn),cr=function(ie){function fe(re){var M=he({type:"undirected"},re);if("multi"in M&&!1!==M.multi)throw new me("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==M.type)throw new me('UndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Tn),Xn=function(ie){function fe(re){var M=he({multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return ie.call(this,M)||this}return Je(fe,ie),fe}(Tn),$i=function(ie){function fe(re){var M=he({type:"directed",multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==M.type)throw new me('MultiDirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Tn),xa=function(ie){function fe(re){var M=he({type:"undirected",multi:!0},re);if("multi"in M&&!0!==M.multi)throw new me("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==M.type)throw new me('MultiUndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return ie.call(this,M)||this}return Je(fe,ie),fe}(Tn);function Zr(ie){ie.from=function(fe,re){var M=he({},fe.options,re),k=new ie(M);return k.import(fe),k}}return Zr(Tn),Zr(lr),Zr(cr),Zr(Xn),Zr($i),Zr(xa),Tn.Graph=Tn,Tn.DirectedGraph=lr,Tn.UndirectedGraph=cr,Tn.MultiGraph=Xn,Tn.MultiDirectedGraph=$i,Tn.MultiUndirectedGraph=xa,Tn.InvalidArgumentsGraphError=me,Tn.NotFoundGraphError=ne,Tn.UsageGraphError=_e,Tn}()},524:(Ut,it,Je)=>{var yt;!function(ee,Tt,dt,Y){"use strict";var A,Se=["","webkit","Moz","MS","ms","o"],he=Tt.createElement("div"),j=Math.round,P=Math.abs,Q=Date.now;function z(ye,De,He){return setTimeout(T(ye,He),De)}function v(ye,De,He){return!!Array.isArray(ye)&&(x(ye,He[De],He),!0)}function x(ye,De,He){var bt;if(ye)if(ye.forEach)ye.forEach(De,He);else if(ye.length!==Y)for(bt=0;bt\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",li=ee.console&&(ee.console.warn||ee.console.log);return li&&li.call(ee.console,bt,Yt),ye.apply(this,arguments)}}A="function"!=typeof Object.assign?function(De){if(De===Y||null===De)throw new TypeError("Cannot convert undefined or null to object");for(var He=Object(De),bt=1;bt-1}function X(ye){return ye.trim().split(/\s+/g)}function E(ye,De,He){if(ye.indexOf&&!He)return ye.indexOf(De);for(var bt=0;btxs[De]}):bt.sort()),bt}function oe(ye,De){for(var He,bt,Gt=De[0].toUpperCase()+De.slice(1),Yt=0;Yt1&&!He.firstMultiple?He.firstMultiple=St(De):1===Gt&&(He.firstMultiple=!1);var Yt=He.firstInput,li=He.firstMultiple,Vr=li?li.center:Yt.center,es=De.center=Nt(bt);De.timeStamp=Q(),De.deltaTime=De.timeStamp-Yt.timeStamp,De.angle=Ti(Vr,es),De.distance=Yn(Vr,es),function(ye,De){var He=De.center,bt=ye.offsetDelta||{},Gt=ye.prevDelta||{},Yt=ye.prevInput||{};(1===De.eventType||4===Yt.eventType)&&(Gt=ye.prevDelta={x:Yt.deltaX||0,y:Yt.deltaY||0},bt=ye.offsetDelta={x:He.x,y:He.y}),De.deltaX=Gt.x+(He.x-bt.x),De.deltaY=Gt.y+(He.y-bt.y)}(He,De),De.offsetDirection=kn(De.deltaX,De.deltaY);var xs=On(De.deltaTime,De.deltaX,De.deltaY);De.overallVelocityX=xs.x,De.overallVelocityY=xs.y,De.overallVelocity=P(xs.x)>P(xs.y)?xs.x:xs.y,De.scale=li?function(ye,De){return Yn(De[0],De[1],pt)/Yn(ye[0],ye[1],pt)}(li.pointers,bt):1,De.rotation=li?function(ye,De){return Ti(De[1],De[0],pt)+Ti(ye[1],ye[0],pt)}(li.pointers,bt):0,De.maxPointers=He.prevInput?De.pointers.length>He.prevInput.maxPointers?De.pointers.length:He.prevInput.maxPointers:De.pointers.length,function(ye,De){var Gt,Yt,li,Vr,He=ye.lastInterval||De,bt=De.timeStamp-He.timeStamp;if(8!=De.eventType&&(bt>25||He.velocity===Y)){var es=De.deltaX-He.deltaX,xs=De.deltaY-He.deltaY,Qn=On(bt,es,xs);Yt=Qn.x,li=Qn.y,Gt=P(Qn.x)>P(Qn.y)?Qn.x:Qn.y,Vr=kn(es,xs),ye.lastInterval=De}else Gt=He.velocity,Yt=He.velocityX,li=He.velocityY,Vr=He.direction;De.velocity=Gt,De.velocityX=Yt,De.velocityY=li,De.direction=Vr}(He,De);var Qn=ye.element;D(De.srcEvent.target,Qn)&&(Qn=De.srcEvent.target),De.target=Qn}(ye,He),ye.emit("hammer.input",He),ye.recognize(He),ye.session.prevInput=He}function St(ye){for(var De=[],He=0;He=P(De)?ye<0?2:4:De<0?8:16}function Yn(ye,De,He){He||(He=_t);var bt=De[He[0]]-ye[He[0]],Gt=De[He[1]]-ye[He[1]];return Math.sqrt(bt*bt+Gt*Gt)}function Ti(ye,De,He){return He||(He=_t),180*Math.atan2(De[He[1]]-ye[He[1]],De[He[0]]-ye[He[0]])/Math.PI}ve.prototype={handler:function(){},init:function(){this.evEl&&K(this.element,this.evEl,this.domHandler),this.evTarget&&K(this.target,this.evTarget,this.domHandler),this.evWin&&K(Ce(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&ce(this.element,this.evEl,this.domHandler),this.evTarget&&ce(this.target,this.evTarget,this.domHandler),this.evWin&&ce(Ce(this.element),this.evWin,this.domHandler)}};var Ls={mousedown:1,mousemove:2,mouseup:4},gs="mousedown",Bs="mousemove mouseup";function Qr(){this.evEl=gs,this.evWin=Bs,this.pressed=!1,ve.apply(this,arguments)}S(Qr,ve,{handler:function(De){var He=Ls[De.type];1&He&&0===De.button&&(this.pressed=!0),2&He&&1!==De.which&&(He=4),this.pressed&&(4&He&&(this.pressed=!1),this.callback(this.manager,He,{pointers:[De],changedPointers:[De],pointerType:Xe,srcEvent:De}))}});var el={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},kl={2:Ge,3:"pen",4:Xe,5:"kinect"},Sa="pointerdown",Es="pointermove pointerup pointercancel";function Jt(){this.evEl=Sa,this.evWin=Es,ve.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}ee.MSPointerEvent&&!ee.PointerEvent&&(Sa="MSPointerDown",Es="MSPointerMove MSPointerUp MSPointerCancel"),S(Jt,ve,{handler:function(De){var He=this.store,bt=!1,Gt=De.type.toLowerCase().replace("ms",""),Yt=el[Gt],li=kl[De.pointerType]||De.pointerType,Vr=li==Ge,es=E(He,De.pointerId,"pointerId");1&Yt&&(0===De.button||Vr)?es<0&&(He.push(De),es=He.length-1):12&Yt&&(bt=!0),!(es<0)&&(He[es]=De,this.callback(this.manager,Yt,{pointers:He,changedPointers:[De],pointerType:li,srcEvent:De}),bt&&He.splice(es,1))}});var tl={touchstart:1,touchmove:2,touchend:4,touchcancel:8},rt="touchstart",lt="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=rt,this.evWin=lt,this.started=!1,ve.apply(this,arguments)}function ge(ye,De){var He=$(ye.touches),bt=$(ye.changedTouches);return 12&De&&(He=Z(He.concat(bt),"identifier",!0)),[He,bt]}S(ht,ve,{handler:function(De){var He=tl[De.type];if(1===He&&(this.started=!0),this.started){var bt=ge.call(this,De,He);12&He&&bt[0].length-bt[1].length==0&&(this.started=!1),this.callback(this.manager,He,{pointers:bt[0],changedPointers:bt[1],pointerType:Ge,srcEvent:De})}}});var be={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Le="touchstart touchmove touchend touchcancel";function ut(){this.evTarget=Le,this.targetIds={},ve.apply(this,arguments)}function Ze(ye,De){var He=$(ye.touches),bt=this.targetIds;if(3&De&&1===He.length)return bt[He[0].identifier]=!0,[He,He];var Gt,Yt,li=$(ye.changedTouches),Vr=[],es=this.target;if(Yt=He.filter(function(xs){return D(xs.target,es)}),1===De)for(Gt=0;Gt-1&&bt.splice(Yt,1)},2500)}}function ai(ye){for(var De=ye.srcEvent.clientX,He=ye.srcEvent.clientY,bt=0;bt-1&&this.requireFail.splice(De,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(ye){return!!this.simultaneous[ye.id]},emit:function(ye){var De=this,He=this.state;function bt(Gt){De.manager.emit(Gt,ye)}He<8&&bt(De.options.event+We(He)),bt(De.options.event),ye.additionalEvent&&bt(ye.additionalEvent),He>=8&&bt(De.options.event+We(He))},tryEmit:function(ye){if(this.canEmit())return this.emit(ye);this.state=32},canEmit:function(){for(var ye=0;yeDe.threshold&&Gt&De.direction},attrTest:function(ye){return vn.prototype.attrTest.call(this,ye)&&(2&this.state||!(2&this.state)&&this.directionTest(ye))},emit:function(ye){this.pX=ye.deltaX,this.pY=ye.deltaY;var De=Wt(ye.direction);De&&(ye.additionalEvent=this.options.event+De),this._super.emit.call(this,ye)}}),S(Jr,vn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[cr]},attrTest:function(ye){return this._super.attrTest.call(this,ye)&&(Math.abs(ye.scale-1)>this.options.threshold||2&this.state)},emit:function(ye){1!==ye.scale&&(ye.additionalEvent=this.options.event+(ye.scale<1?"in":"out")),this._super.emit.call(this,ye)}}),S(Qs,Ot,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(ye){var De=this.options,He=ye.pointers.length===De.pointers,bt=ye.distanceDe.time;if(this._input=ye,!bt||!He||12&ye.eventType&&!Gt)this.reset();else if(1&ye.eventType)this.reset(),this._timer=z(function(){this.state=8,this.tryEmit()},De.time,this);else if(4&ye.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(ye){8===this.state&&(ye&&4&ye.eventType?this.manager.emit(this.options.event+"up",ye):(this._input.timeStamp=Q(),this.manager.emit(this.options.event,this._input)))}}),S(Ll,vn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[cr]},attrTest:function(ye){return this._super.attrTest.call(this,ye)&&(Math.abs(ye.rotation)>this.options.threshold||2&this.state)}}),S(po,vn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Ss.prototype.getTouchAction.call(this)},attrTest:function(ye){var He,De=this.options.direction;return 30&De?He=ye.overallVelocity:6&De?He=ye.overallVelocityX:24&De&&(He=ye.overallVelocityY),this._super.attrTest.call(this,ye)&&De&ye.offsetDirection&&ye.distance>this.options.threshold&&ye.maxPointers==this.options.pointers&&P(He)>this.options.velocity&&4&ye.eventType},emit:function(ye){var De=Wt(ye.offsetDirection);De&&this.manager.emit(this.options.event+De,ye),this.manager.emit(this.options.event,ye)}}),S(jr,Ot,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[lr]},process:function(ye){var De=this.options,He=ye.pointers.length===De.pointers,bt=ye.distance"']/g,Es=RegExp(kl.source),Jt=RegExp(Sa.source),tl=/<%-([\s\S]+?)%>/g,rt=/<%([\s\S]+?)%>/g,lt=/<%=([\s\S]+?)%>/g,ht=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ge=/^\w*$/,be=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Le=/[\\^$.*+?()[\]{}|]/g,ut=RegExp(Le.source),Ze=/^\s+/,At=/\s/,Mt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Dt=/\{\n\/\* \[wrapped with (.+)\] \*/,Xt=/,? & /,zn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ai=/[()=,{}\[\]\/\s]/,Nn=/\\(\\)?/g,bn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,$n=/\w*$/,Tn=/^[-+]0x[0-9a-f]+$/i,lr=/^0b[01]+$/i,cr=/^\[object .+?Constructor\]$/,Xn=/^0o[0-7]+$/i,$i=/^(?:0|[1-9]\d*)$/,xa=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Zr=/($^)/,ie=/['\n\r\u2028\u2029\\]/g,fe="\\ud800-\\udfff",J="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",we="\\u2700-\\u27bf",Fe="a-z\\xdf-\\xf6\\xf8-\\xff",xt="A-Z\\xc0-\\xd6\\xd8-\\xde",vn="\\ufe0e\\ufe0f",Ss="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Qs="["+fe+"]",Ll="["+Ss+"]",po="["+J+"]",jr="\\d+",js="["+we+"]",xc="["+Fe+"]",Sn="[^"+fe+Ss+jr+we+Fe+xt+"]",go="\\ud83c[\\udffb-\\udfff]",Ca="[^"+fe+"]",wd="(?:\\ud83c[\\udde6-\\uddff]){2}",ye="[\\ud800-\\udbff][\\udc00-\\udfff]",De="["+xt+"]",bt="(?:"+xc+"|"+Sn+")",Gt="(?:"+De+"|"+Sn+")",Yt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",li="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Vr="(?:"+po+"|"+go+")?",es="["+vn+"]?",A1=es+Vr+"(?:\\u200d(?:"+[Ca,wd,ye].join("|")+")"+es+Vr+")*",Ed="(?:"+[js,wd,ye].join("|")+")"+A1,tr="(?:"+[Ca+po+"?",po,wd,ye,Qs].join("|")+")",fp=RegExp("['\u2019]","g"),Jm=RegExp(po,"g"),Dh=RegExp(go+"(?="+go+")|"+tr+A1,"g"),sv=RegExp([De+"?"+xc+"+"+Yt+"(?="+[Ll,De,"$"].join("|")+")",Gt+"+"+li+"(?="+[Ll,De+bt,"$"].join("|")+")",De+"?"+bt+"+"+Yt,De+"+"+li,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",jr,Ed].join("|"),"g"),T1=RegExp("[\\u200d"+fe+J+vn+"]"),jl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ih=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],M1=-1,ln={};ln[Nt]=ln[On]=ln[kn]=ln[Yn]=ln[Ti]=ln[wi]=ln[Xr]=ln[Ls]=ln[gs]=!0,ln[Xe]=ln[tt]=ln[Qe]=ln[Ue]=ln[St]=ln[ke]=ln[Me]=ln[Ve]=ln[Ne]=ln[q]=ln[pe]=ln[_t]=ln[pt]=ln[ve]=ln[B]=!1;var ur={};ur[Xe]=ur[tt]=ur[Qe]=ur[St]=ur[Ue]=ur[ke]=ur[Nt]=ur[On]=ur[kn]=ur[Yn]=ur[Ti]=ur[Ne]=ur[q]=ur[pe]=ur[_t]=ur[pt]=ur[ve]=ur[L]=ur[wi]=ur[Xr]=ur[Ls]=ur[gs]=!0,ur[Me]=ur[Ve]=ur[B]=!1;var on={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},D1=parseFloat,cv=parseInt,Rt="object"==typeof global&&global&&global.Object===Object&&global,Vs="object"==typeof self&&self&&self.Object===Object&&self,Vi=Rt||Vs||Function("return this")(),Vl=it&&!it.nodeType&&it,Aa=Vl&&Ut&&!Ut.nodeType&&Ut,Oo=Aa&&Aa.exports===Vl,e_=Oo&&Rt.process,Sr=function(){try{return Aa&&Aa.require&&Aa.require("util").types||e_&&e_.binding&&e_.binding("util")}catch(It){}}(),nn=Sr&&Sr.isArrayBuffer,hi=Sr&&Sr.isDate,pr=Sr&&Sr.isMap,mo=Sr&&Sr.isRegExp,Cc=Sr&&Sr.isSet,as=Sr&&Sr.isTypedArray;function ls(at,It,Et){switch(Et.length){case 0:return at.call(It);case 1:return at.call(It,Et[0]);case 2:return at.call(It,Et[0],Et[1]);case 3:return at.call(It,Et[0],Et[1],Et[2])}return at.apply(It,Et)}function Ur(at,It,Et,hn){for(var Dn=-1,Li=null==at?0:at.length;++Dn-1}function Oh(at,It,Et){for(var hn=-1,Dn=null==at?0:at.length;++hn-1;);return Et}function N1(at,It){for(var Et=at.length;Et--&&nl(It,at[Et],0)>-1;);return Et}function c2(at,It){for(var Et=at.length,hn=0;Et--;)at[Et]===It&&++hn;return hn}var u2=Qo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),d2=Qo({"&":"&","<":"<",">":">",'"':""","'":"'"});function h2(at){return"\\"+on[at]}function Ph(at){return T1.test(at)}function dv(at){var It=-1,Et=Array(at.size);return at.forEach(function(hn,Dn){Et[++It]=[Dn,hn]}),Et}function P1(at,It){return function(Et){return at(It(Et))}}function yu(at,It){for(var Et=-1,hn=at.length,Dn=0,Li=[];++Et",""":'"',"'":"'"}),kh=function at(It){var d,Et=(It=null==It?Vi:kh.defaults(Vi.Object(),It,kh.pick(Vi,Ih))).Array,hn=It.Date,Dn=It.Error,Li=It.Function,ts=It.Math,Ki=It.Object,a_=It.RegExp,l_=It.String,Da=It.TypeError,gr=Et.prototype,bu=Ki.prototype,gp=It["__core-js_shared__"],xr=Li.prototype.toString,Xi=bu.hasOwnProperty,y2=0,Lh=(d=/[^.]+$/.exec(gp&&gp.keys&&gp.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",Zs=bu.toString,L1=xr.call(Ki),c_=Vi._,Md=a_("^"+xr.call(Xi).replace(Le,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zs=Oo?It.Buffer:ee,zl=It.Symbol,Dd=It.Uint8Array,pv=zs?zs.allocUnsafe:ee,Ia=P1(Ki.getPrototypeOf,Ki),u_=Ki.create,mp=bu.propertyIsEnumerable,Bn=gr.splice,B1=zl?zl.isConcatSpreadable:ee,Bh=zl?zl.iterator:ee,vu=zl?zl.toStringTag:ee,_p=function(){try{var d=Lc(Ki,"defineProperty");return d({},"",{}),d}catch(f){}}(),gv=It.clearTimeout!==Vi.clearTimeout&&It.clearTimeout,j1=hn&&hn.now!==Vi.Date.now&&hn.now,V1=It.setTimeout!==Vi.setTimeout&&It.setTimeout,jt=ts.ceil,Ei=ts.floor,Cr=Ki.getOwnPropertySymbols,cs=zs?zs.isBuffer:ee,d_=It.isFinite,jh=gr.join,rl=P1(Ki.keys,Ki),Hr=ts.max,ms=ts.min,b2=hn.now,U1=It.parseInt,Vh=ts.random,yp=gr.reverse,As=Lc(It,"DataView"),_o=Lc(It,"Map"),bp=Lc(It,"Promise"),Oa=Lc(It,"Set"),No=Lc(It,"WeakMap"),Uh=Lc(Ki,"create"),zh=No&&new No,Id={},z1=Ru(As),h_=Ru(_o),f_=Ru(bp),mv=Ru(Oa),p_=Ru(No),vp=zl?zl.prototype:ee,Od=vp?vp.valueOf:ee,Hh=vp?vp.toString:ee;function Ee(d){if(Mr(d)&&!Rn(d)&&!(d instanceof fi)){if(d instanceof Po)return d;if(Xi.call(d,"__wrapped__"))return nf(d)}return new Po(d)}var wu=function(){function d(){}return function(f){if(!Tr(f))return{};if(u_)return u_(f);d.prototype=f;var _=new d;return d.prototype=ee,_}}();function Gh(){}function Po(d,f){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!f,this.__index__=0,this.__values__=ee}function fi(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=_e,this.__views__=[]}function yo(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function Hl(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function sl(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var F=d[f];this.set(F[0],F[1])}}function Ra(d){var f=-1,_=null==d?0:d.length;for(this.__data__=new sl;++f<_;)this.add(d[f])}function Na(d){var f=this.__data__=new Hl(d);this.size=f.size}function Wh(d,f){var _=Rn(d),F=!_&&pl(d),ae=!_&&!F&&gl(d),Te=!_&&!F&&!ae&&cf(d),ze=_||F||ae||Te,qe=ze?Td(d.length,l_):[],ct=qe.length;for(var kt in d)(f||Xi.call(d,kt))&&(!ze||!("length"==kt||ae&&("offset"==kt||"parent"==kt)||Te&&("buffer"==kt||"byteLength"==kt||"byteOffset"==kt)||Bo(kt,ct)))&&qe.push(kt);return qe}function y_(d){var f=d.length;return f?d[Gl(0,f-1)]:ee}function vv(d,f){return Wd(eo(d),Eu(f,0,d.length))}function Rd(d){return Wd(eo(d))}function b_(d,f,_){(_!==ee&&!In(d[f],_)||_===ee&&!(f in d))&&al(d,f,_)}function ol(d,f,_){var F=d[f];(!Xi.call(d,f)||!In(F,_)||_===ee&&!(f in d))&&al(d,f,_)}function Nd(d,f){for(var _=d.length;_--;)if(In(d[_][0],f))return _;return-1}function Cp(d,f,_,F){return Ic(d,function(ae,Te,ze){f(F,ae,_(ae),ze)}),F}function Z1(d,f){return d&&Fa(f,Os(f),d)}function al(d,f,_){"__proto__"==f&&_p?_p(d,f,{configurable:!0,enumerable:!0,value:_,writable:!0}):d[f]=_}function v_(d,f){for(var _=-1,F=f.length,ae=Et(F),Te=null==d;++_=f?d:f)),d}function Hs(d,f,_,F,ae,Te){var ze,qe=1&f,ct=2&f,kt=4&f;if(_&&(ze=ae?_(d,F,ae,Te):_(d)),ze!==ee)return ze;if(!Tr(d))return d;var Lt=Rn(d);if(Lt){if(ze=function(d){var f=d.length,_=new d.constructor(f);return f&&"string"==typeof d[0]&&Xi.call(d,"index")&&(_.index=d.index,_.input=d.input),_}(d),!qe)return eo(d,ze)}else{var zt=$s(d),en=zt==Ve||zt==$e;if(gl(d))return Np(d,qe);if(zt==pe||zt==Xe||en&&!ae){if(ze=ct||en?{}:Hv(d),!qe)return ct?function(d,f){return Fa(d,Vv(d),f)}(d,function(d,f){return d&&Fa(f,no(f),d)}(ze,d)):function(d,f){return Fa(d,k_(d),f)}(d,Z1(ze,d))}else{if(!ur[zt])return ae?d:{};ze=function(d,f,_){var F=d.constructor;switch(f){case Qe:return Mu(d);case Ue:case ke:return new F(+d);case St:return function(d,f){var _=f?Mu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}(d,_);case Nt:case On:case kn:case Yn:case Ti:case wi:case Xr:case Ls:case gs:return O_(d,_);case Ne:return new F;case q:case ve:return new F(d);case _t:return function(d){var f=new d.constructor(d.source,$n.exec(d));return f.lastIndex=d.lastIndex,f}(d);case pt:return new F;case L:return function(d){return Od?Ki(Od.call(d)):{}}(d)}}(d,zt,qe)}}Te||(Te=new Na);var wn=Te.get(d);if(wn)return wn;Te.set(d,ze),yT(d)?d.forEach(function(jn){ze.add(Hs(jn,f,_,jn,d,Te))}):pT(d)&&d.forEach(function(jn,mi){ze.set(mi,Hs(jn,f,_,mi,d,Te))});var gi=Lt?ee:(kt?ct?P_:Yl:ct?no:Os)(d);return Us(gi||d,function(jn,mi){gi&&(jn=d[mi=jn]),ol(ze,mi,Hs(jn,f,_,mi,d,Te))}),ze}function Ap(d,f,_){var F=_.length;if(null==d)return!F;for(d=Ki(d);F--;){var ae=_[F],ze=d[ae];if(ze===ee&&!(ae in d)||!(0,f[ae])(ze))return!1}return!0}function qh(d,f,_){if("function"!=typeof d)throw new Da(Se);return ef(function(){d.apply(ee,_)},f)}function Dc(d,f,_,F){var ae=-1,Te=Ul,ze=!0,qe=d.length,ct=[],kt=f.length;if(!qe)return ct;_&&(f=Yi(f,Jo(_))),F?(Te=Oh,ze=!1):f.length>=200&&(Te=Nh,ze=!1,f=new Ra(f));e:for(;++ae-1},Hl.prototype.set=function(d,f){var _=this.__data__,F=Nd(_,d);return F<0?(++this.size,_.push([d,f])):_[F][1]=f,this},sl.prototype.clear=function(){this.size=0,this.__data__={hash:new yo,map:new(_o||Hl),string:new yo}},sl.prototype.delete=function(d){var f=Gs(this,d).delete(d);return this.size-=f?1:0,f},sl.prototype.get=function(d){return Gs(this,d).get(d)},sl.prototype.has=function(d){return Gs(this,d).has(d)},sl.prototype.set=function(d,f){var _=Gs(this,d),F=_.size;return _.set(d,f),this.size+=_.size==F?0:1,this},Ra.prototype.add=Ra.prototype.push=function(d){return this.__data__.set(d,W),this},Ra.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.clear=function(){this.__data__=new Hl,this.size=0},Na.prototype.delete=function(d){var f=this.__data__,_=f.delete(d);return this.size=f.size,_},Na.prototype.get=function(d){return this.__data__.get(d)},Na.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.set=function(d,f){var _=this.__data__;if(_ instanceof Hl){var F=_.__data__;if(!_o||F.length<199)return F.push([d,f]),this.size=++_.size,this;_=this.__data__=new sl(F)}return _.set(d,f),this.size=_.size,this};var Ic=ul(ll),E_=ul(Tp,!0);function Ev(d,f){var _=!0;return Ic(d,function(F,ae,Te){return _=!!f(F,ae,Te)}),_}function Yh(d,f,_){for(var F=-1,ae=d.length;++F0&&_(qe)?f>1?Ts(qe,f-1,_,F,ae):zr(ae,qe):F||(ae[ae.length]=qe)}return ae}var Pd=Ov(),Fd=Ov(!0);function ll(d,f){return d&&Pd(d,f,Os)}function Tp(d,f){return d&&Fd(d,f,Os)}function Kh(d,f){return Ta(f,function(_){return la(d[_])})}function ea(d,f){for(var _=0,F=(f=Pc(f,d)).length;null!=d&&_f}function kd(d,f){return null!=d&&Xi.call(d,f)}function Ld(d,f){return null!=d&&f in Ki(d)}function Su(d,f,_){for(var F=_?Oh:Ul,ae=d[0].length,Te=d.length,ze=Te,qe=Et(Te),ct=1/0,kt=[];ze--;){var Lt=d[ze];ze&&f&&(Lt=Yi(Lt,Jo(f))),ct=ms(Lt.length,ct),qe[ze]=!_&&(f||ae>=120&&Lt.length>=120)?new Ra(ze&&Lt):ee}Lt=d[0];var zt=-1,en=qe[0];e:for(;++zt=qe?ct:ct*("desc"==_[F]?-1:1)}return d.index-f.index}(Te,ze,_)});Et--;)at[Et]=at[Et].value;return at}(iA(d,function(Te,ze,qe){return{criteria:Yi(f,function(kt){return kt(Te)}),index:++F,value:Te}}))}function Tv(d,f,_){for(var F=-1,ae=f.length,Te={};++F-1;)qe!==d&&Bn.call(qe,ct,1),Bn.call(d,ct,1);return d}function Qh(d,f){for(var _=d?f.length:0,F=_-1;_--;){var ae=f[_];if(_==F||ae!==Te){var Te=ae;Bo(ae)?Bn.call(d,ae,1):Cu(d,ae)}}return d}function Gl(d,f){return d+Ei(Vh()*(f-d+1))}function Dp(d,f){var _="";if(!d||f<1||f>Ce)return _;do{f%2&&(_+=d),(f=Ei(f/2))&&(d+=d)}while(f);return _}function pi(d,f){return Hp(bA(d,f,io),d+"")}function sA(d){return y_(th(d))}function M2(d,f){var _=th(d);return Wd(_,Eu(f,0,_.length))}function Ip(d,f,_,F){if(!Tr(d))return d;for(var ae=-1,Te=(f=Pc(f,d)).length,ze=Te-1,qe=d;null!=qe&&++aeae?0:ae+f),(_=_>ae?ae:_)<0&&(_+=ae),ae=f>_?0:_-f>>>0,f>>>=0;for(var Te=Et(ae);++F>>1,ze=d[Te];null!==ze&&!ca(ze)&&(_?ze<=f:ze=200){var kt=f?null:N_(d);if(kt)return r_(kt);ze=!1,ae=Nh,ct=new Ra}else ct=f?[]:qe;e:for(;++F=F?d:Ds(d,f,_)}var lA=gv||function(d){return Vi.clearTimeout(d)};function Np(d,f){if(f)return d.slice();var _=d.length,F=pv?pv(_):new d.constructor(_);return d.copy(F),F}function Mu(d){var f=new d.constructor(d.byteLength);return new Dd(f).set(new Dd(d)),f}function O_(d,f){var _=f?Mu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function Fc(d,f){if(d!==f){var _=d!==ee,F=null===d,ae=d==d,Te=ca(d),ze=f!==ee,qe=null===f,ct=f==f,kt=ca(f);if(!qe&&!kt&&!Te&&d>f||Te&&ze&&ct&&!qe&&!kt||F&&ze&&ct||!_&&ct||!ae)return 1;if(!F&&!Te&&!kt&&d1?_[ae-1]:ee,ze=ae>2?_[2]:ee;for(Te=d.length>3&&"function"==typeof Te?(ae--,Te):ee,ze&&Ws(_[0],_[1],ze)&&(Te=ae<3?ee:Te,ae=1),f=Ki(f);++F-1?ae[Te?f[ze]:ze]:ee}}function Iu(d){return dl(function(f){var _=f.length,F=_,ae=Po.prototype.thru;for(d&&f.reverse();F--;){var Te=f[F];if("function"!=typeof Te)throw new Da(Se);if(ae&&!ze&&"wrapper"==Vp(Te))var ze=new Po([],!0)}for(F=ze?F:_;++F<_;){var qe=Vp(Te=f[F]),ct="wrapper"==qe?F_(Te):ee;ze=ct&&Up(ct[0])&&424==ct[1]&&!ct[4].length&&1==ct[9]?ze[Vp(ct[0])].apply(ze,ct[3]):1==Te.length&&Up(Te)?ze[qe]():ze.thru(Te)}return function(){var kt=arguments,Lt=kt[0];if(ze&&1==kt.length&&Rn(Lt))return ze.plant(Lt).value();for(var zt=0,en=_?f[zt].apply(this,kt):Lt;++zt<_;)en=f[zt].call(this,en);return en}})}function kc(d,f,_,F,ae,Te,ze,qe,ct,kt){var Lt=f&K,zt=1&f,en=2&f,wn=24&f,Ln=512&f,gi=en?ee:Hd(d);return function jn(){for(var mi=arguments.length,Mi=Et(mi),wo=mi;wo--;)Mi[wo]=arguments[wo];if(wn)var qs=$d(jn),ua=c2(Mi,qs);if(F&&(Mi=Ud(Mi,F,ae,wn)),Te&&(Mi=Iv(Mi,Te,ze,wn)),mi-=ua,wn&&mi1&&Mi.reverse(),Lt&&ctqe))return!1;var kt=Te.get(d),Lt=Te.get(f);if(kt&&Lt)return kt==f&&Lt==d;var zt=-1,en=!0,wn=2&_?new Ra:ee;for(Te.set(d,f),Te.set(f,d);++zt-1&&d%1==0&&d1?"& ":"")+f[F],f=f.join(_>2?", ":" "),d.replace(Mt,"{\n/* [wrapped with "+f+"] */\n")}(F,function(d,f){return Us(st,function(_){var F="_."+_[0];f&_[1]&&!Ul(d,F)&&d.push(F)}),d.sort()}(function(d){var f=d.match(Dt);return f?f[1].split(Xt):[]}(F),_)))}function z_(d){var f=0,_=0;return function(){var F=b2(),ae=16-(F-_);if(_=F,ae>0){if(++f>=800)return arguments[0]}else f=0;return d.apply(ee,arguments)}}function Wd(d,f){var _=-1,F=d.length,ae=F-1;for(f=f===ee?F:f;++_1?d[f-1]:ee;return _="function"==typeof _?(d.pop(),_):ee,GA(d,_)});function Z_(d){var f=Ee(d);return f.__chain__=!0,f}function Yd(d,f){return f(d)}var J_=dl(function(d){var f=d.length,_=f?d[0]:0,F=this.__wrapped__,ae=function(Te){return v_(Te,d)};return!(f>1||this.__actions__.length)&&F instanceof fi&&Bo(_)?((F=F.slice(_,+_+(f?1:0))).__actions__.push({func:Yd,args:[ae],thisArg:ee}),new Po(F,this.__chain__).thru(function(Te){return f&&!Te.length&&Te.push(ee),Te})):this.thru(ae)}),qA=ns(function(d,f,_){Xi.call(d,_)?++d[_]:al(d,_,1)}),XA=Nv(G_),QA=Nv($_);function iy(d,f){return(Rn(d)?Us:Ic)(d,Fn(f,3))}function Wp(d,f){return(Rn(d)?Sd:E_)(d,Fn(f,3))}var JA=ns(function(d,f,_){Xi.call(d,_)?d[_].push(f):al(d,_,[f])}),dw=pi(function(d,f,_){var F=-1,ae="function"==typeof f,Te=bo(d)?Et(d.length):[];return Ic(d,function(ze){Te[++F]=ae?ls(f,ze,_):Pa(ze,f,_)}),Te}),hw=ns(function(d,f,_){al(d,_,f)});function fl(d,f){return(Rn(d)?Yi:iA)(d,Fn(f,3))}var pw=ns(function(d,f,_){d[_?0:1].push(f)},function(){return[[],[]]}),Yp=pi(function(d,f){if(null==d)return[];var _=f.length;return _>1&&Ws(d,f[0],f[1])?f=[]:_>2&&Ws(f[0],f[1],f[2])&&(f=[f[0]]),Xh(d,Ts(f,1),[])}),Nu=j1||function(){return Vi.Date.now()};function Kp(d,f,_){return f=_?ee:f,ql(d,K,ee,ee,ee,ee,f=d&&null==f?d.length:f)}function sy(d,f){var _;if("function"!=typeof f)throw new Da(Se);return d=Jn(d),function(){return--d>0&&(_=f.apply(this,arguments)),d<=1&&(f=ee),_}}var af=pi(function(d,f,_){var F=1;if(_.length){var ae=yu(_,$d(af));F|=V}return ql(d,F,f,_,ae)}),Xd=pi(function(d,f,_){var F=3;if(_.length){var ae=yu(_,$d(Xd));F|=V}return ql(f,F,d,_,ae)});function ww(d,f,_){var F,ae,Te,ze,qe,ct,kt=0,Lt=!1,zt=!1,en=!0;if("function"!=typeof d)throw new Da(Se);function wn(Hi){var yl=F,Uc=ae;return F=ae=ee,kt=Hi,ze=d.apply(Uc,yl)}function Ln(Hi){return kt=Hi,qe=ef(mi,f),Lt?wn(Hi):ze}function jn(Hi){var yl=Hi-ct;return ct===ee||yl>=f||yl<0||zt&&Hi-kt>=Te}function mi(){var Hi=Nu();if(jn(Hi))return Mi(Hi);qe=ef(mi,function(Hi){var lM=f-(Hi-ct);return zt?ms(lM,Te-(Hi-kt)):lM}(Hi))}function Mi(Hi){return qe=ee,en&&F?wn(Hi):(F=ae=ee,ze)}function ua(){var Hi=Nu(),yl=jn(Hi);if(F=arguments,ae=this,ct=Hi,yl){if(qe===ee)return Ln(ct);if(zt)return lA(qe),qe=ef(mi,f),wn(ct)}return qe===ee&&(qe=ef(mi,f)),ze}return f=vo(f)||0,Tr(_)&&(Lt=!!_.leading,Te=(zt="maxWait"in _)?Hr(vo(_.maxWait)||0,f):Te,en="trailing"in _?!!_.trailing:en),ua.cancel=function(){qe!==ee&&lA(qe),kt=0,F=ct=ae=qe=ee},ua.flush=function(){return qe===ee?ze:Mi(Nu())},ua}var iT=pi(function(d,f){return qh(d,1,f)}),Ew=pi(function(d,f,_){return qh(d,vo(f)||0,_)});function lf(d,f){if("function"!=typeof d||null!=f&&"function"!=typeof f)throw new Da(Se);var _=function(){var F=arguments,ae=f?f.apply(this,F):F[0],Te=_.cache;if(Te.has(ae))return Te.get(ae);var ze=d.apply(this,F);return _.cache=Te.set(ae,ze)||Te,ze};return _.cache=new(lf.Cache||sl),_}function ly(d){if("function"!=typeof d)throw new Da(Se);return function(){var f=arguments;switch(f.length){case 0:return!d.call(this);case 1:return!d.call(this,f[0]);case 2:return!d.call(this,f[0],f[1]);case 3:return!d.call(this,f[0],f[1],f[2])}return!d.apply(this,f)}}lf.Cache=sl;var rT=aA(function(d,f){var _=(f=1==f.length&&Rn(f[0])?Yi(f[0],Jo(Fn())):Yi(Ts(f,1),Jo(Fn()))).length;return pi(function(F){for(var ae=-1,Te=ms(F.length,_);++ae=f}),pl=J1(function(){return arguments}())?J1:function(d){return Mr(d)&&Xi.call(d,"callee")&&!mp.call(d,"callee")},Rn=Et.isArray,Mw=nn?Jo(nn):function(d){return Mr(d)&&Ms(d)==Qe};function bo(d){return null!=d&&uy(d.length)&&!la(d)}function Ar(d){return Mr(d)&&bo(d)}var gl=cs||Ny,Dw=hi?Jo(hi):function(d){return Mr(d)&&Ms(d)==ke};function La(d){if(!Mr(d))return!1;var f=Ms(d);return f==Me||"[object DOMException]"==f||"string"==typeof d.message&&"string"==typeof d.name&&!Jp(d)}function la(d){if(!Tr(d))return!1;var f=Ms(d);return f==Ve||f==$e||"[object AsyncFunction]"==f||"[object Proxy]"==f}function Zp(d){return"number"==typeof d&&d==Jn(d)}function uy(d){return"number"==typeof d&&d>-1&&d%1==0&&d<=Ce}function Tr(d){var f=typeof d;return null!=d&&("object"==f||"function"==f)}function Mr(d){return null!=d&&"object"==typeof d}var pT=pr?Jo(pr):function(d){return Mr(d)&&$s(d)==Ne};function _T(d){return"number"==typeof d||Mr(d)&&Ms(d)==q}function Jp(d){if(!Mr(d)||Ms(d)!=pe)return!1;var f=Ia(d);if(null===f)return!0;var _=Xi.call(f,"constructor")&&f.constructor;return"function"==typeof _&&_ instanceof _&&xr.call(_)==L1}var Nw=mo?Jo(mo):function(d){return Mr(d)&&Ms(d)==_t},yT=Cc?Jo(Cc):function(d){return Mr(d)&&$s(d)==pt};function hy(d){return"string"==typeof d||!Rn(d)&&Mr(d)&&Ms(d)==ve}function ca(d){return"symbol"==typeof d||Mr(d)&&Ms(d)==L}var cf=as?Jo(as):function(d){return Mr(d)&&uy(d.length)&&!!ln[Ms(d)]},Bc=Lp(Av),fy=Lp(function(d,f){return d<=f});function Pw(d){if(!d)return[];if(bo(d))return hy(d)?il(d):eo(d);if(Bh&&d[Bh])return function(at){for(var It,Et=[];!(It=at.next()).done;)Et.push(It.value);return Et}(d[Bh]());var f=$s(d);return(f==Ne?dv:f==pt?r_:th)(d)}function ml(d){return d?(d=vo(d))===te||d===-te?17976931348623157e292*(d<0?-1:1):d==d?d:0:0===d?d:0}function Jn(d){var f=ml(d),_=f%1;return f==f?_?f-_:f:0}function py(d){return d?Eu(Jn(d),0,_e):0}function vo(d){if("number"==typeof d)return d;if(ca(d))return NaN;if(Tr(d)){var f="function"==typeof d.valueOf?d.valueOf():d;d=Tr(f)?f+"":f}if("string"!=typeof d)return 0===d?d:+d;d=uv(d);var _=lr.test(d);return _||Xn.test(d)?cv(d.slice(2),_?2:8):Tn.test(d)?NaN:+d}function Fw(d){return Fa(d,no(d))}function zi(d){return null==d?"":Lo(d)}var bT=$l(function(d,f){if(zp(f)||bo(f))Fa(f,Os(f),d);else for(var _ in f)Xi.call(f,_)&&ol(d,_,f[_])}),vT=$l(function(d,f){Fa(f,no(f),d)}),Qd=$l(function(d,f,_,F){Fa(f,no(f),d,F)}),wT=$l(function(d,f,_,F){Fa(f,Os(f),d,F)}),kw=dl(v_),ST=pi(function(d,f){d=Ki(d);var _=-1,F=f.length,ae=F>2?f[2]:ee;for(ae&&Ws(f[0],f[1],ae)&&(F=1);++_1),Te}),Fa(d,P_(d),_),F&&(_=Hs(_,7,Bp));for(var ae=f.length;ae--;)Cu(_,f[ae]);return _}),MT=dl(function(d,f){return null==d?{}:function(d,f){return Tv(d,f,function(_,F){return eg(d,F)})}(d,f)});function Hw(d,f){if(null==d)return{};var _=Yi(P_(d),function(F){return[F]});return f=Fn(f),Tv(d,_,function(F,ae){return f(F,ae[0])})}var DT=Ou(Os),$w=Ou(no);function th(d){return null==d?[]:i_(d,Os(d))}var PT=Wl(function(d,f,_){return f=f.toLowerCase(),d+(_?yy(f):f)});function yy(d){return ig(zi(d).toLowerCase())}function by(d){return(d=zi(d))&&d.replace(xa,u2).replace(Jm,"")}var kT=Wl(function(d,f,_){return d+(_?"-":"")+f.toLowerCase()}),LT=Wl(function(d,f,_){return d+(_?" ":"")+f.toLowerCase()}),K2=Pp("toLowerCase"),zT=Wl(function(d,f,_){return d+(_?"_":"")+f.toLowerCase()}),Ey=Wl(function(d,f,_){return d+(_?" ":"")+ig(f)}),Qw=Wl(function(d,f,_){return d+(_?" ":"")+f.toUpperCase()}),ig=Pp("toUpperCase");function Ay(d,f,_){return d=zi(d),(f=_?ee:f)===ee?function(at){return jl.test(at)}(d)?function(at){return at.match(sv)||[]}(d):function(at){return at.match(zn)||[]}(d):d.match(f)||[]}var Ty=pi(function(d,f){try{return ls(d,ee,f)}catch(_){return La(_)?_:new Dn(_)}}),Zw=dl(function(d,f){return Us(f,function(_){_=ni(_),al(d,_,af(d[_],d))}),d});function My(d){return function(){return d}}var Q2=Iu(),Pu=Iu(!0);function io(d){return d}function Fu(d){return nA("function"==typeof d?d:Hs(d,1))}var Dy=pi(function(d,f){return function(_){return Pa(_,d,f)}}),Jw=pi(function(d,f){return function(_){return Pa(d,_,f)}});function Iy(d,f,_){var F=Os(f),ae=Kh(f,F);null==_&&(!Tr(f)||!ae.length&&F.length)&&(_=f,f=d,d=this,ae=Kh(f,Os(f)));var Te=!(Tr(_)&&"chain"in _&&!_.chain),ze=la(d);return Us(ae,function(qe){var ct=f[qe];d[qe]=ct,ze&&(d.prototype[qe]=function(){var kt=this.__chain__;if(Te||kt){var Lt=d(this.__wrapped__),zt=Lt.__actions__=eo(this.__actions__);return zt.push({func:ct,args:arguments,thisArg:d}),Lt.__chain__=kt,Lt}return ct.apply(d,zr([this.value()],arguments))})}),d}function Oy(){}var XT=Fp(Yi),QT=Fp(ti),tE=Fp(Ro);function ku(d){return ra(d)?t_(ni(d)):function(d){return function(f){return ea(f,d)}}(d)}var ZT=Fv(),JT=Fv(!0);function Vc(){return[]}function Ny(){return!1}var Wn=R_(function(d,f){return d+f},0),Py=Gd("ceil"),J2=R_(function(d,f){return d/f},1),Ql=Gd("floor"),sE=R_(function(d,f){return d*f},1),oE=Gd("round"),aE=R_(function(d,f){return d-f},0);return Ee.after=function(d,f){if("function"!=typeof f)throw new Da(Se);return d=Jn(d),function(){if(--d<1)return f.apply(this,arguments)}},Ee.ary=Kp,Ee.assign=bT,Ee.assignIn=vT,Ee.assignInWith=Qd,Ee.assignWith=wT,Ee.at=kw,Ee.before=sy,Ee.bind=af,Ee.bindAll=Zw,Ee.bindKey=Xd,Ee.castArray=function(){if(!arguments.length)return[];var d=arguments[0];return Rn(d)?d:[d]},Ee.chain=Z_,Ee.chunk=function(d,f,_){f=(_?Ws(d,f,_):f===ee)?1:Hr(Jn(f),0);var F=null==d?0:d.length;if(!F||f<1)return[];for(var ae=0,Te=0,ze=Et(jt(F/f));aeae?0:ae+_),(F=F===ee||F>ae?ae:Jn(F))<0&&(F+=ae),F=_>F?0:py(F);_>>0)?(d=zi(d))&&("string"==typeof f||null!=f&&!Nw(f))&&!(f=Lo(f))&&Ph(d)?cl(il(d),0,_):d.split(f,_):[]},Ee.spread=function(d,f){if("function"!=typeof d)throw new Da(Se);return f=null==f?0:Hr(Jn(f),0),pi(function(_){var F=_[f],ae=cl(_,0,f);return F&&zr(ae,F),ls(d,this,ae)})},Ee.tail=function(d){var f=null==d?0:d.length;return f?Ds(d,1,f):[]},Ee.take=function(d,f,_){return d&&d.length?Ds(d,0,(f=_||f===ee?1:Jn(f))<0?0:f):[]},Ee.takeRight=function(d,f,_){var F=null==d?0:d.length;return F?Ds(d,(f=F-(f=_||f===ee?1:Jn(f)))<0?0:f,F):[]},Ee.takeRightWhile=function(d,f){return d&&d.length?Au(d,Fn(f,3),!1,!0):[]},Ee.takeWhile=function(d,f){return d&&d.length?Au(d,Fn(f,3)):[]},Ee.tap=function(d,f){return f(d),d},Ee.throttle=function(d,f,_){var F=!0,ae=!0;if("function"!=typeof d)throw new Da(Se);return Tr(_)&&(F="leading"in _?!!_.leading:F,ae="trailing"in _?!!_.trailing:ae),ww(d,f,{leading:F,maxWait:f,trailing:ae})},Ee.thru=Yd,Ee.toArray=Pw,Ee.toPairs=DT,Ee.toPairsIn=$w,Ee.toPath=function(d){return Rn(d)?Yi(d,ni):ca(d)?[d]:eo(qv(zi(d)))},Ee.toPlainObject=Fw,Ee.transform=function(d,f,_){var F=Rn(d),ae=F||gl(d)||cf(d);if(f=Fn(f,4),null==_){var Te=d&&d.constructor;_=ae?F?new Te:[]:Tr(d)&&la(Te)?wu(Ia(d)):{}}return(ae?Us:ll)(d,function(ze,qe,ct){return f(_,ze,qe,ct)}),_},Ee.unary=function(d){return Kp(d,1)},Ee.union=iw,Ee.unionBy=UA,Ee.unionWith=zA,Ee.uniq=function(d){return d&&d.length?Rc(d):[]},Ee.uniqBy=function(d,f){return d&&d.length?Rc(d,Fn(f,2)):[]},Ee.uniqWith=function(d,f){return f="function"==typeof f?f:ee,d&&d.length?Rc(d,ee,f):[]},Ee.unset=function(d,f){return null==d||Cu(d,f)},Ee.unzip=rw,Ee.unzipWith=GA,Ee.update=function(d,f,_){return null==d?d:Op(d,f,I_(_))},Ee.updateWith=function(d,f,_,F){return F="function"==typeof F?F:ee,null==d?d:Op(d,f,I_(_),F)},Ee.values=th,Ee.valuesIn=function(d){return null==d?[]:i_(d,no(d))},Ee.without=sw,Ee.words=Ay,Ee.wrap=function(d,f){return Xp(I_(f),d)},Ee.xor=B2,Ee.xorBy=jo,Ee.xorWith=X_,Ee.zip=Q_,Ee.zipObject=function(d,f){return Rp(d||[],f||[],ol)},Ee.zipObjectDeep=function(d,f){return Rp(d||[],f||[],Ip)},Ee.zipWith=of,Ee.entries=DT,Ee.entriesIn=$w,Ee.extend=vT,Ee.extendWith=Qd,Iy(Ee,Ee),Ee.add=Wn,Ee.attempt=Ty,Ee.camelCase=PT,Ee.capitalize=yy,Ee.ceil=Py,Ee.clamp=function(d,f,_){return _===ee&&(_=f,f=ee),_!==ee&&(_=(_=vo(_))==_?_:0),f!==ee&&(f=(f=vo(f))==f?f:0),Eu(vo(d),f,_)},Ee.clone=function(d){return Hs(d,4)},Ee.cloneDeep=function(d){return Hs(d,5)},Ee.cloneDeepWith=function(d,f){return Hs(d,5,f="function"==typeof f?f:ee)},Ee.cloneWith=function(d,f){return Hs(d,4,f="function"==typeof f?f:ee)},Ee.conformsTo=function(d,f){return null==f||Ap(d,f,Os(f))},Ee.deburr=by,Ee.defaultTo=function(d,f){return null==d||d!=d?f:d},Ee.divide=J2,Ee.endsWith=function(d,f,_){d=zi(d),f=Lo(f);var F=d.length,ae=_=_===ee?F:Eu(Jn(_),0,F);return(_-=f.length)>=0&&d.slice(_,ae)==f},Ee.eq=In,Ee.escape=function(d){return(d=zi(d))&&Jt.test(d)?d.replace(Sa,d2):d},Ee.escapeRegExp=function(d){return(d=zi(d))&&ut.test(d)?d.replace(Le,"\\$&"):d},Ee.every=function(d,f,_){var F=Rn(d)?ti:Ev;return _&&Ws(d,f,_)&&(f=ee),F(d,Fn(f,3))},Ee.find=XA,Ee.findIndex=G_,Ee.findKey=function(d,f){return Rh(d,Fn(f,3),ll)},Ee.findLast=QA,Ee.findLastIndex=$_,Ee.findLastKey=function(d,f){return Rh(d,Fn(f,3),Tp)},Ee.floor=Ql,Ee.forEach=iy,Ee.forEachRight=Wp,Ee.forIn=function(d,f){return null==d?d:Pd(d,Fn(f,3),no)},Ee.forInRight=function(d,f){return null==d?d:Fd(d,Fn(f,3),no)},Ee.forOwn=function(d,f){return d&&ll(d,Fn(f,3))},Ee.forOwnRight=function(d,f){return d&&Tp(d,Fn(f,3))},Ee.get=hf,Ee.gt=Zt,Ee.gte=Tw,Ee.has=function(d,f){return null!=d&&zv(d,f,kd)},Ee.hasIn=eg,Ee.head=Kv,Ee.identity=io,Ee.includes=function(d,f,_,F){d=bo(d)?d:th(d),_=_&&!F?Jn(_):0;var ae=d.length;return _<0&&(_=Hr(ae+_,0)),hy(d)?_<=ae&&d.indexOf(f,_)>-1:!!ae&&nl(d,f,_)>-1},Ee.indexOf=function(d,f,_){var F=null==d?0:d.length;if(!F)return-1;var ae=null==_?0:Jn(_);return ae<0&&(ae=Hr(F+ae,0)),nl(d,f,ae)},Ee.inRange=function(d,f,_){return f=ml(f),_===ee?(_=f,f=0):_=ml(_),function(d,f,_){return d>=ms(f,_)&&d=-Ce&&d<=Ce},Ee.isSet=yT,Ee.isString=hy,Ee.isSymbol=ca,Ee.isTypedArray=cf,Ee.isUndefined=function(d){return d===ee},Ee.isWeakMap=function(d){return Mr(d)&&$s(d)==B},Ee.isWeakSet=function(d){return Mr(d)&&"[object WeakSet]"==Ms(d)},Ee.join=function(d,f){return null==d?"":jh.call(d,f)},Ee.kebabCase=kT,Ee.last=sa,Ee.lastIndexOf=function(d,f,_){var F=null==d?0:d.length;if(!F)return-1;var ae=F;return _!==ee&&(ae=(ae=Jn(_))<0?Hr(F+ae,0):ms(ae,F-1)),f==f?function(at,It,Et){for(var hn=Et+1;hn--;)if(at[hn]===It)return hn;return hn}(d,f,ae):Cd(d,Ac,ae,!0)},Ee.lowerCase=LT,Ee.lowerFirst=K2,Ee.lt=Bc,Ee.lte=fy,Ee.max=function(d){return d&&d.length?Yh(d,io,Fo):ee},Ee.maxBy=function(d,f){return d&&d.length?Yh(d,Fn(f,2),Fo):ee},Ee.mean=function(d){return Cs(d,io)},Ee.meanBy=function(d,f){return Cs(d,Fn(f,2))},Ee.min=function(d){return d&&d.length?Yh(d,io,Av):ee},Ee.minBy=function(d,f){return d&&d.length?Yh(d,Fn(f,2),Av):ee},Ee.stubArray=Vc,Ee.stubFalse=Ny,Ee.stubObject=function(){return{}},Ee.stubString=function(){return""},Ee.stubTrue=function(){return!0},Ee.multiply=sE,Ee.nth=function(d,f){return d&&d.length?xu(d,Jn(f)):ee},Ee.noConflict=function(){return Vi._===this&&(Vi._=c_),this},Ee.noop=Oy,Ee.now=Nu,Ee.pad=function(d,f,_){d=zi(d);var F=(f=Jn(f))?Fh(d):0;if(!f||F>=f)return d;var ae=(f-F)/2;return kp(Ei(ae),_)+d+kp(jt(ae),_)},Ee.padEnd=function(d,f,_){d=zi(d);var F=(f=Jn(f))?Fh(d):0;return f&&Ff){var F=d;d=f,f=F}if(_||d%1||f%1){var ae=Vh();return ms(d+ae*(f-d+D1("1e-"+((ae+"").length-1))),f)}return Gl(d,f)},Ee.reduce=function(d,f,_){var F=Rn(d)?_u:Zo,ae=arguments.length<3;return F(d,Fn(f,4),_,ae,Ic)},Ee.reduceRight=function(d,f,_){var F=Rn(d)?xd:Zo,ae=arguments.length<3;return F(d,Fn(f,4),_,ae,E_)},Ee.repeat=function(d,f,_){return f=(_?Ws(d,f,_):f===ee)?1:Jn(f),Dp(zi(d),f)},Ee.replace=function(){var d=arguments,f=zi(d[0]);return d.length<3?f:f.replace(d[1],d[2])},Ee.result=function(d,f,_){var F=-1,ae=(f=Pc(f,d)).length;for(ae||(ae=1,d=ee);++FCe)return[];var _=_e,F=ms(d,_e);f=Fn(f),d-=_e;for(var ae=Td(F,f);++_=Te)return d;var qe=_-Fh(F);if(qe<1)return F;var ct=ze?cl(ze,0,qe).join(""):d.slice(0,qe);if(ae===ee)return ct+F;if(ze&&(qe+=ct.length-qe),Nw(ae)){if(d.slice(qe).search(ae)){var kt,Lt=ct;for(ae.global||(ae=a_(ae.source,zi($n.exec(ae))+"g")),ae.lastIndex=0;kt=ae.exec(Lt);)var zt=kt.index;ct=ct.slice(0,zt===ee?qe:zt)}}else if(d.indexOf(Lo(ae),qe)!=qe){var en=ct.lastIndexOf(ae);en>-1&&(ct=ct.slice(0,en))}return ct+F},Ee.unescape=function(d){return(d=zi(d))&&Es.test(d)?d.replace(kl,o_):d},Ee.uniqueId=function(d){var f=++y2;return zi(d)+f},Ee.upperCase=Qw,Ee.upperFirst=ig,Ee.each=iy,Ee.eachRight=Wp,Ee.first=Kv,Iy(Ee,function(){var d={};return ll(Ee,function(f,_){Xi.call(Ee.prototype,_)||(d[_]=f)}),d}(),{chain:!1}),Ee.VERSION="4.17.21",Us(["bind","bindKey","curry","curryRight","partial","partialRight"],function(d){Ee[d].placeholder=Ee}),Us(["drop","take"],function(d,f){fi.prototype[d]=function(_){_=_===ee?1:Hr(Jn(_),0);var F=this.__filtered__&&!f?new fi(this):this.clone();return F.__filtered__?F.__takeCount__=ms(_,F.__takeCount__):F.__views__.push({size:ms(_,_e),type:d+(F.__dir__<0?"Right":"")}),F},fi.prototype[d+"Right"]=function(_){return this.reverse()[d](_).reverse()}}),Us(["filter","map","takeWhile"],function(d,f){var _=f+1,F=1==_||3==_;fi.prototype[d]=function(ae){var Te=this.clone();return Te.__iteratees__.push({iteratee:Fn(ae,3),type:_}),Te.__filtered__=Te.__filtered__||F,Te}}),Us(["head","last"],function(d,f){var _="take"+(f?"Right":"");fi.prototype[d]=function(){return this[_](1).value()[0]}}),Us(["initial","tail"],function(d,f){var _="drop"+(f?"":"Right");fi.prototype[d]=function(){return this.__filtered__?new fi(this):this[_](1)}}),fi.prototype.compact=function(){return this.filter(io)},fi.prototype.find=function(d){return this.filter(d).head()},fi.prototype.findLast=function(d){return this.reverse().find(d)},fi.prototype.invokeMap=pi(function(d,f){return"function"==typeof d?new fi(this):this.map(function(_){return Pa(_,d,f)})}),fi.prototype.reject=function(d){return this.filter(ly(Fn(d)))},fi.prototype.slice=function(d,f){d=Jn(d);var _=this;return _.__filtered__&&(d>0||f<0)?new fi(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),f!==ee&&(_=(f=Jn(f))<0?_.dropRight(-f):_.take(f-d)),_)},fi.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},fi.prototype.toArray=function(){return this.take(_e)},ll(fi.prototype,function(d,f){var _=/^(?:filter|find|map|reject)|While$/.test(f),F=/^(?:head|last)$/.test(f),ae=Ee[F?"take"+("last"==f?"Right":""):f],Te=F||/^find/.test(f);!ae||(Ee.prototype[f]=function(){var ze=this.__wrapped__,qe=F?[1]:arguments,ct=ze instanceof fi,kt=qe[0],Lt=ct||Rn(ze),zt=function(mi){var Mi=ae.apply(Ee,zr([mi],qe));return F&&en?Mi[0]:Mi};Lt&&_&&"function"==typeof kt&&1!=kt.length&&(ct=Lt=!1);var en=this.__chain__,wn=!!this.__actions__.length,Ln=Te&&!en,gi=ct&&!wn;if(!Te&&Lt){ze=gi?ze:new fi(this);var jn=d.apply(ze,qe);return jn.__actions__.push({func:Yd,args:[zt],thisArg:ee}),new Po(jn,en)}return Ln&&gi?d.apply(this,qe):(jn=this.thru(zt),Ln?F?jn.value()[0]:jn.value():jn)})}),Us(["pop","push","shift","sort","splice","unshift"],function(d){var f=gr[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",F=/^(?:pop|shift)$/.test(d);Ee.prototype[d]=function(){var ae=arguments;if(F&&!this.__chain__){var Te=this.value();return f.apply(Rn(Te)?Te:[],ae)}return this[_](function(ze){return f.apply(Rn(ze)?ze:[],ae)})}}),ll(fi.prototype,function(d,f){var _=Ee[f];if(_){var F=_.name+"";Xi.call(Id,F)||(Id[F]=[]),Id[F].push({name:f,func:_})}}),Id[kc(ee,2).name]=[{name:"wrapper",func:ee}],fi.prototype.clone=function(){var d=new fi(this.__wrapped__);return d.__actions__=eo(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=eo(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=eo(this.__views__),d},fi.prototype.reverse=function(){if(this.__filtered__){var d=new fi(this);d.__dir__=-1,d.__filtered__=!0}else(d=this.clone()).__dir__*=-1;return d},fi.prototype.value=function(){var d=this.__wrapped__.value(),f=this.__dir__,_=Rn(d),F=f<0,ae=_?d.length:0,Te=function(d,f,_){for(var F=-1,ae=_.length;++F=this.__values__.length;return{done:d,value:d?ee:this.__values__[this.__index__++]}},Ee.prototype.plant=function(d){for(var f,_=this;_ instanceof Gh;){var F=nf(_);F.__index__=0,F.__values__=ee,f?ae.__wrapped__=F:f=F;var ae=F;_=_.__wrapped__}return ae.__wrapped__=d,f},Ee.prototype.reverse=function(){var d=this.__wrapped__;if(d instanceof fi){var f=d;return this.__actions__.length&&(f=new fi(this)),(f=f.reverse()).__actions__.push({func:Yd,args:[K_],thisArg:ee}),new Po(f,this.__chain__)}return this.thru(K_)},Ee.prototype.toJSON=Ee.prototype.valueOf=Ee.prototype.value=function(){return oA(this.__wrapped__,this.__actions__)},Ee.prototype.first=Ee.prototype.head,Bh&&(Ee.prototype[Bh]=function(){return this}),Ee}();Vi._=kh,(yt=function(){return kh}.call(it,Je,it,Ut))!==ee&&(Ut.exports=yt)}.call(this)},478:function(Ut){Ut.exports=function(){"use strict";function it(rt,lt){for(var ht=0;htrt.length)&&(lt=rt.length);for(var ht=0,ge=new Array(lt);ht=rt.length?{done:!0}:{done:!1,value:rt[ge++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var dt={exports:{}};function Y(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}dt.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Y,changeDefaults:function(rt){dt.exports.defaults=rt}};var he=/[&<>"']/,W=/[&<>"']/g,j=/[<>"']|&(?!#?\w+;)/,P=/[<>"']|&(?!#?\w+;)/g,Q={"&":"&","<":"<",">":">",'"':""","'":"'"},z=function(lt){return Q[lt]};var x=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function O(rt){return rt.replace(x,function(lt,ht){return"colon"===(ht=ht.toLowerCase())?":":"#"===ht.charAt(0)?"x"===ht.charAt(1)?String.fromCharCode(parseInt(ht.substring(2),16)):String.fromCharCode(+ht.substring(1)):""})}var A=/(^|[^\[])\^/g;var y=/[^\w:]/g,S=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var V={},R=/^[^:]+:\/*[^/]*$/,K=/^([^:]+:)[\s\S]*$/,ce=/^([^:]+:\/*[^/]*)[\s\S]*$/;function D(rt,lt){V[" "+rt]||(V[" "+rt]=R.test(rt)?rt+"/":$(rt,"/",!0));var ht=-1===(rt=V[" "+rt]).indexOf(":");return"//"===lt.substring(0,2)?ht?lt:rt.replace(K,"$1")+lt:"/"===lt.charAt(0)?ht?lt:rt.replace(ce,"$1")+lt:rt+lt}function $(rt,lt,ht){var ge=rt.length;if(0===ge)return"";for(var be=0;be1;)1<&&(ht+=rt),lt>>=1,rt+=rt;return ht+rt},Ce=dt.exports.defaults,me=$,ne=function(rt,lt){var ge=rt.replace(/\|/g,function(Le,ut,Ze){for(var At=!1,Mt=ut;--Mt>=0&&"\\"===Ze[Mt];)At=!At;return At?"|":" |"}).split(/ \|/),be=0;if(ge.length>lt)ge.splice(lt);else for(;ge.length1?{type:"space",raw:be[0]}:{raw:"\n"}},lt.code=function(ge){var be=this.rules.block.code.exec(ge);if(be){var Le=be[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:be[0],codeBlockStyle:"indented",text:this.options.pedantic?Le:me(Le,"\n")}}},lt.fences=function(ge){var be=this.rules.block.fences.exec(ge);if(be){var Le=be[0],ut=function(rt,lt){var ht=rt.match(/^(\s+)(?:```)/);if(null===ht)return lt;var ge=ht[1];return lt.split("\n").map(function(be){var Le=be.match(/^\s+/);return null===Le?be:Le[0].length>=ge.length?be.slice(ge.length):be}).join("\n")}(Le,be[3]||"");return{type:"code",raw:Le,lang:be[2]?be[2].trim():be[2],text:ut}}},lt.heading=function(ge){var be=this.rules.block.heading.exec(ge);if(be){var Le=be[2].trim();if(/#$/.test(Le)){var ut=me(Le,"#");(this.options.pedantic||!ut||/ $/.test(ut))&&(Le=ut.trim())}return{type:"heading",raw:be[0],depth:be[1].length,text:Le}}},lt.nptable=function(ge){var be=this.rules.block.nptable.exec(ge);if(be){var Le={type:"table",header:ne(be[1].replace(/^ *| *\| *$/g,"")),align:be[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:be[3]?be[3].replace(/\n$/,"").split("\n"):[],raw:be[0]};if(Le.header.length===Le.align.length){var Ze,ut=Le.align.length;for(Ze=0;Ze ?/gm,"");return{type:"blockquote",raw:be[0],text:Le}}},lt.list=function(ge){var be=this.rules.block.list.exec(ge);if(be){var Xt,zn,ai,Nn,bn,$n,Tn,lr,cr,Le=be[0],ut=be[2],Ze=ut.length>1,At={type:"list",raw:Le,ordered:Ze,start:Ze?+ut.slice(0,-1):"",loose:!1,items:[]},Mt=be[0].match(this.rules.block.item),Dt=!1,Xn=Mt.length;ai=this.rules.block.listItemStart.exec(Mt[0]);for(var $i=0;$iai[1].length:Nn[1].length>=ai[0].length||Nn[1].length>3){Mt.splice($i,2,Mt[$i]+(!this.options.pedantic&&Nn[1].length/i.test(ut[0])&&(be=!1),!Le&&/^<(pre|code|kbd|script)(\s|>)/i.test(ut[0])?Le=!0:Le&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ut[0])&&(Le=!1),{type:this.options.sanitize?"text":"html",raw:ut[0],inLink:be,inRawBlock:Le,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):_e(ut[0]):ut[0]}},lt.link=function(ge){var be=this.rules.inline.link.exec(ge);if(be){var Le=be[2].trim();if(!this.options.pedantic&&/^$/.test(Le))return;var ut=me(Le.slice(0,-1),"\\");if((Le.length-ut.length)%2==0)return}else{var Ze=Ie(be[2],"()");if(Ze>-1){var Mt=(0===be[0].indexOf("!")?5:4)+be[1].length+Ze;be[2]=be[2].substring(0,Ze),be[0]=be[0].substring(0,Mt).trim(),be[3]=""}}var Dt=be[2],Xt="";if(this.options.pedantic){var zn=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Dt);zn&&(Dt=zn[1],Xt=zn[3])}else Xt=be[3]?be[3].slice(1,-1):"";return Dt=Dt.trim(),/^$/.test(Le)?Dt.slice(1):Dt.slice(1,-1)),Ge(be,{href:Dt&&Dt.replace(this.rules.inline._escapes,"$1"),title:Xt&&Xt.replace(this.rules.inline._escapes,"$1")},be[0])}},lt.reflink=function(ge,be){var Le;if((Le=this.rules.inline.reflink.exec(ge))||(Le=this.rules.inline.nolink.exec(ge))){var ut=(Le[2]||Le[1]).replace(/\s+/g," ");if(!(ut=be[ut.toLowerCase()])||!ut.href){var Ze=Le[0].charAt(0);return{type:"text",raw:Ze,text:Ze}}return Ge(Le,ut,Le[0])}},lt.emStrong=function(ge,be,Le){void 0===Le&&(Le="");var ut=this.rules.inline.emStrong.lDelim.exec(ge);if(ut&&(!ut[3]||!Le.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var Ze=ut[1]||ut[2]||"";if(!Ze||Ze&&(""===Le||this.rules.inline.punctuation.exec(Le))){var Mt,Dt,At=ut[0].length-1,Xt=At,zn=0,ai="*"===ut[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ai.lastIndex=0,be=be.slice(-1*ge.length+At);null!=(ut=ai.exec(be));)if(Mt=ut[1]||ut[2]||ut[3]||ut[4]||ut[5]||ut[6]){if(Dt=Mt.length,ut[3]||ut[4]){Xt+=Dt;continue}if((ut[5]||ut[6])&&At%3&&!((At+Dt)%3)){zn+=Dt;continue}if(!((Xt-=Dt)>0))return Dt=Math.min(Dt,Dt+Xt+zn),Math.min(At,Dt)%2?{type:"em",raw:ge.slice(0,At+ut.index+Dt+1),text:ge.slice(1,At+ut.index+Dt)}:{type:"strong",raw:ge.slice(0,At+ut.index+Dt+1),text:ge.slice(2,At+ut.index+Dt-1)}}}}},lt.codespan=function(ge){var be=this.rules.inline.code.exec(ge);if(be){var Le=be[2].replace(/\n/g," "),ut=/[^ ]/.test(Le),Ze=/^ /.test(Le)&&/ $/.test(Le);return ut&&Ze&&(Le=Le.substring(1,Le.length-1)),Le=_e(Le,!0),{type:"codespan",raw:be[0],text:Le}}},lt.br=function(ge){var be=this.rules.inline.br.exec(ge);if(be)return{type:"br",raw:be[0]}},lt.del=function(ge){var be=this.rules.inline.del.exec(ge);if(be)return{type:"del",raw:be[0],text:be[2]}},lt.autolink=function(ge,be){var ut,Ze,Le=this.rules.inline.autolink.exec(ge);if(Le)return Ze="@"===Le[2]?"mailto:"+(ut=_e(this.options.mangle?be(Le[1]):Le[1])):ut=_e(Le[1]),{type:"link",raw:Le[0],text:ut,href:Ze,tokens:[{type:"text",raw:ut,text:ut}]}},lt.url=function(ge,be){var Le;if(Le=this.rules.inline.url.exec(ge)){var ut,Ze;if("@"===Le[2])Ze="mailto:"+(ut=_e(this.options.mangle?be(Le[0]):Le[0]));else{var At;do{At=Le[0],Le[0]=this.rules.inline._backpedal.exec(Le[0])[0]}while(At!==Le[0]);ut=_e(Le[0]),Ze="www."===Le[1]?"http://"+ut:ut}return{type:"link",raw:Le[0],text:ut,href:Ze,tokens:[{type:"text",raw:ut,text:ut}]}}},lt.inlineText=function(ge,be,Le){var Ze,ut=this.rules.inline.text.exec(ge);if(ut)return Ze=be?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):_e(ut[0]):ut[0]:_e(this.options.smartypants?Le(ut[0]):ut[0]),{type:"text",raw:ut[0],text:Ze}},rt}(),tt=te_noopTest,Ye=te_edit,Ue=te_merge,ke={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:tt,table:tt,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};ke.def=Ye(ke.def).replace("label",ke._label).replace("title",ke._title).getRegex(),ke.bullet=/(?:[*+-]|\d{1,9}[.)])/,ke.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,ke.item=Ye(ke.item,"gm").replace(/bull/g,ke.bullet).getRegex(),ke.listItemStart=Ye(/^( *)(bull) */).replace("bull",ke.bullet).getRegex(),ke.list=Ye(ke.list).replace(/bull/g,ke.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+ke.def.source+")").getRegex(),ke._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",ke._comment=/|$)/,ke.html=Ye(ke.html,"i").replace("comment",ke._comment).replace("tag",ke._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ke.paragraph=Ye(ke._paragraph).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.blockquote=Ye(ke.blockquote).replace("paragraph",ke.paragraph).getRegex(),ke.normal=Ue({},ke),ke.gfm=Ue({},ke.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),ke.gfm.nptable=Ye(ke.gfm.nptable).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.gfm.table=Ye(ke.gfm.table).replace("hr",ke.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ke._tag).getRegex(),ke.pedantic=Ue({},ke.normal,{html:Ye("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",ke._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:tt,paragraph:Ye(ke.normal._paragraph).replace("hr",ke.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",ke.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ke={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:tt,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:tt,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ke.punctuation=Ye(Ke.punctuation).replace(/punctuation/g,Ke._punctuation).getRegex(),Ke.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ke.escapedEmSt=/\\\*|\\_/g,Ke._comment=Ye(ke._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ke.emStrong.lDelim=Ye(Ke.emStrong.lDelim).replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimAst=Ye(Ke.emStrong.rDelimAst,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimUnd=Ye(Ke.emStrong.rDelimUnd,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ke._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ke._email=/[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])?)+(?![-_])/,Ke.autolink=Ye(Ke.autolink).replace("scheme",Ke._scheme).replace("email",Ke._email).getRegex(),Ke._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ke.tag=Ye(Ke.tag).replace("comment",Ke._comment).replace("attribute",Ke._attribute).getRegex(),Ke._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ke._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ke._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ke.link=Ye(Ke.link).replace("label",Ke._label).replace("href",Ke._href).replace("title",Ke._title).getRegex(),Ke.reflink=Ye(Ke.reflink).replace("label",Ke._label).getRegex(),Ke.reflinkSearch=Ye(Ke.reflinkSearch,"g").replace("reflink",Ke.reflink).replace("nolink",Ke.nolink).getRegex(),Ke.normal=Ue({},Ke),Ke.pedantic=Ue({},Ke.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Ye(/^!?\[(label)\]\((.*?)\)/).replace("label",Ke._label).getRegex(),reflink:Ye(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ke._label).getRegex()}),Ke.gfm=Ue({},Ke.normal,{escape:Ye(Ke.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(ge="x"+ge.toString(16)),lt+="&#"+ge+";";return lt}var je=function(){function rt(ht){this.tokens=[],this.tokens.links=Object.create(null),this.options=ht||$e,this.options.tokenizer=this.options.tokenizer||new Ve,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var ge={block:Ne.normal,inline:q.normal};this.options.pedantic?(ge.block=Ne.pedantic,ge.inline=q.pedantic):this.options.gfm&&(ge.block=Ne.gfm,ge.inline=this.options.breaks?q.breaks:q.gfm),this.tokenizer.rules=ge}rt.lex=function(ge,be){return new rt(be).lex(ge)},rt.lexInline=function(ge,be){return new rt(be).inlineTokens(ge)};var lt=rt.prototype;return lt.lex=function(ge){return ge=ge.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(ge,this.tokens,!0),this.inline(this.tokens),this.tokens},lt.blockTokens=function(ge,be,Le){var Ze,At,Mt,Dt,Xt,zn,ut=this;for(void 0===be&&(be=[]),void 0===Le&&(Le=!0),this.options.pedantic&&(ge=ge.replace(/^ +$/gm,""));ge;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Nn){return!!(Ze=Nn.call(ut,ge,be))&&(ge=ge.substring(Ze.raw.length),be.push(Ze),!0)}))){if(Ze=this.tokenizer.space(ge)){ge=ge.substring(Ze.raw.length),Ze.type&&be.push(Ze);continue}if(Ze=this.tokenizer.code(ge)){ge=ge.substring(Ze.raw.length),(Dt=be[be.length-1])&&"paragraph"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze);continue}if(Ze=this.tokenizer.fences(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.heading(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.nptable(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.hr(ge)){ge=ge.substring(Ze.raw.length),be.push(Ze);continue}if(Ze=this.tokenizer.blockquote(ge)){ge=ge.substring(Ze.raw.length),Ze.tokens=this.blockTokens(Ze.text,[],Le),be.push(Ze);continue}if(Ze=this.tokenizer.list(ge)){for(ge=ge.substring(Ze.raw.length),Mt=Ze.items.length,At=0;At=0&&(Nn=Math.min(Nn,$n))}),Nn<1/0&&Nn>=0&&(Xt=ge.substring(0,Nn+1))}(),Le&&(Ze=this.tokenizer.paragraph(Xt))){Dt=be[be.length-1],zn&&"paragraph"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze),zn=Xt.length!==ge.length,ge=ge.substring(Ze.raw.length);continue}if(Ze=this.tokenizer.text(ge)){ge=ge.substring(Ze.raw.length),(Dt=be[be.length-1])&&"text"===Dt.type?(Dt.raw+="\n"+Ze.raw,Dt.text+="\n"+Ze.text):be.push(Ze);continue}if(ge){var ai="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(ai);break}throw new Error(ai)}}return be},lt.inline=function(ge){var be,Le,ut,Ze,At,Mt,Dt=ge.length;for(be=0;be0)for(;null!=(zn=this.tokenizer.rules.inline.reflinkSearch.exec(Xt));)bn.includes(zn[0].slice(zn[0].lastIndexOf("[")+1,-1))&&(Xt=Xt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Xt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(zn=this.tokenizer.rules.inline.blockSkip.exec(Xt));)Xt=Xt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Xt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(zn=this.tokenizer.rules.inline.escapedEmSt.exec(Xt));)Xt=Xt.slice(0,zn.index)+"++"+Xt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;ge;)if(ai||(Nn=""),ai=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Tn){return!!(At=Tn.call(Ze,ge,be))&&(ge=ge.substring(At.raw.length),be.push(At),!0)}))){if(At=this.tokenizer.escape(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.tag(ge,Le,ut)){ge=ge.substring(At.raw.length),Le=At.inLink,ut=At.inRawBlock,(Mt=be[be.length-1])&&"text"===At.type&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(At=this.tokenizer.link(ge)){ge=ge.substring(At.raw.length),"link"===At.type&&(At.tokens=this.inlineTokens(At.text,[],!0,ut)),be.push(At);continue}if(At=this.tokenizer.reflink(ge,this.tokens.links)){ge=ge.substring(At.raw.length),Mt=be[be.length-1],"link"===At.type?(At.tokens=this.inlineTokens(At.text,[],!0,ut),be.push(At)):Mt&&"text"===At.type&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(At=this.tokenizer.emStrong(ge,Xt,Nn)){ge=ge.substring(At.raw.length),At.tokens=this.inlineTokens(At.text,[],Le,ut),be.push(At);continue}if(At=this.tokenizer.codespan(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.br(ge)){ge=ge.substring(At.raw.length),be.push(At);continue}if(At=this.tokenizer.del(ge)){ge=ge.substring(At.raw.length),At.tokens=this.inlineTokens(At.text,[],Le,ut),be.push(At);continue}if(At=this.tokenizer.autolink(ge,ue)){ge=ge.substring(At.raw.length),be.push(At);continue}if(!Le&&(At=this.tokenizer.url(ge,ue))){ge=ge.substring(At.raw.length),be.push(At);continue}if(Dt=ge,this.options.extensions&&this.options.extensions.startInline&&function(){var Tn=1/0,lr=ge.slice(1),cr=void 0;Ze.options.extensions.startInline.forEach(function(Xn){"number"==typeof(cr=Xn.call(this,lr))&&cr>=0&&(Tn=Math.min(Tn,cr))}),Tn<1/0&&Tn>=0&&(Dt=ge.substring(0,Tn+1))}(),At=this.tokenizer.inlineText(Dt,ut,pe)){ge=ge.substring(At.raw.length),"_"!==At.raw.slice(-1)&&(Nn=At.raw.slice(-1)),ai=!0,(Mt=be[be.length-1])&&"text"===Mt.type?(Mt.raw+=At.raw,Mt.text+=At.text):be.push(At);continue}if(ge){var $n="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error($n);break}throw new Error($n)}}return be},function(rt,lt,ht){lt&&it(rt.prototype,lt),ht&&it(rt,ht)}(rt,null,[{key:"rules",get:function(){return{block:Ne,inline:q}}}]),rt}(),_t=dt.exports.defaults,pt=te_cleanUrl,ve=te_escape,L=function(){function rt(ht){this.options=ht||_t}var lt=rt.prototype;return lt.code=function(ge,be,Le){var ut=(be||"").match(/\S*/)[0];if(this.options.highlight){var Ze=this.options.highlight(ge,ut);null!=Ze&&Ze!==ge&&(Le=!0,ge=Ze)}return ge=ge.replace(/\n$/,"")+"\n",ut?'
    '+(Le?ge:ve(ge,!0))+"
    \n":"
    "+(Le?ge:ve(ge,!0))+"
    \n"},lt.blockquote=function(ge){return"
    \n"+ge+"
    \n"},lt.html=function(ge){return ge},lt.heading=function(ge,be,Le,ut){return this.options.headerIds?"'+ge+"\n":""+ge+"\n"},lt.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},lt.list=function(ge,be,Le){var ut=be?"ol":"ul";return"<"+ut+(be&&1!==Le?' start="'+Le+'"':"")+">\n"+ge+"\n"},lt.listitem=function(ge){return"
  • "+ge+"
  • \n"},lt.checkbox=function(ge){return" "},lt.paragraph=function(ge){return"

    "+ge+"

    \n"},lt.table=function(ge,be){return be&&(be=""+be+""),"\n\n"+ge+"\n"+be+"
    \n"},lt.tablerow=function(ge){return"\n"+ge+"\n"},lt.tablecell=function(ge,be){var Le=be.header?"th":"td";return(be.align?"<"+Le+' align="'+be.align+'">':"<"+Le+">")+ge+"\n"},lt.strong=function(ge){return""+ge+""},lt.em=function(ge){return""+ge+""},lt.codespan=function(ge){return""+ge+""},lt.br=function(){return this.options.xhtml?"
    ":"
    "},lt.del=function(ge){return""+ge+""},lt.link=function(ge,be,Le){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Le;var ut='"+Le+""},lt.image=function(ge,be,Le){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Le;var ut=''+Le+'":">")},lt.text=function(ge){return ge},rt}(),N=function(){function rt(){}var lt=rt.prototype;return lt.strong=function(ge){return ge},lt.em=function(ge){return ge},lt.codespan=function(ge){return ge},lt.del=function(ge){return ge},lt.html=function(ge){return ge},lt.text=function(ge){return ge},lt.link=function(ge,be,Le){return""+Le},lt.image=function(ge,be,Le){return""+Le},lt.br=function(){return""},rt}(),B=function(){function rt(){this.seen={}}var lt=rt.prototype;return lt.serialize=function(ge){return ge.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},lt.getNextSafeSlug=function(ge,be){var Le=ge,ut=0;if(this.seen.hasOwnProperty(Le)){ut=this.seen[ge];do{Le=ge+"-"+ ++ut}while(this.seen.hasOwnProperty(Le))}return be||(this.seen[ge]=ut,this.seen[Le]=0),Le},lt.slug=function(ge,be){void 0===be&&(be={});var Le=this.serialize(ge);return this.getNextSafeSlug(Le,be.dryrun)},rt}(),Re=L,Qe=N,St=B,Nt=dt.exports.defaults,On=te_unescape,Yn=je,Ti=function(){function rt(ht){this.options=ht||Nt,this.options.renderer=this.options.renderer||new Re,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Qe,this.slugger=new St}rt.parse=function(ge,be){return new rt(be).parse(ge)},rt.parseInline=function(ge,be){return new rt(be).parseInline(ge)};var lt=rt.prototype;return lt.parse=function(ge,be){void 0===be&&(be=!0);var ut,Ze,At,Mt,Dt,Xt,zn,ai,Nn,bn,$n,Tn,lr,cr,Xn,$i,xa,Zr,ie,Le="",fe=ge.length;for(ut=0;ut0&&"text"===Xn.tokens[0].type?(Xn.tokens[0].text=Zr+" "+Xn.tokens[0].text,Xn.tokens[0].tokens&&Xn.tokens[0].tokens.length>0&&"text"===Xn.tokens[0].tokens[0].type&&(Xn.tokens[0].tokens[0].text=Zr+" "+Xn.tokens[0].tokens[0].text)):Xn.tokens.unshift({type:"text",text:Zr}):cr+=Zr),cr+=this.parse(Xn.tokens,lr),Nn+=this.renderer.listitem(cr,xa,$i);Le+=this.renderer.list(Nn,$n,Tn);continue;case"html":Le+=this.renderer.html(bn.text);continue;case"paragraph":Le+=this.renderer.paragraph(this.parseInline(bn.tokens));continue;case"text":for(Nn=bn.tokens?this.parseInline(bn.tokens):bn.text;ut+1An error occurred:

    "+el(At.message+"",!0)+"
    ";throw At}}return Jt.options=Jt.setOptions=function(rt){return Bs(Jt.defaults,rt),Sa(Jt.defaults),Jt},Jt.getDefaults=kl,Jt.defaults=Es,Jt.use=function(){for(var rt=this,lt=arguments.length,ht=new Array(lt),ge=0;geAn error occurred:

    "+el(ge.message+"",!0)+"
    ";throw ge}},Jt.Parser=Ti,Jt.parser=Ti.parse,Jt.Renderer=Xr,Jt.TextRenderer=Ls,Jt.Lexer=Yn,Jt.lexer=Yn.lex,Jt.Tokenizer=wi,Jt.Slugger=gs,Jt.parse=Jt,Jt}()},369:(Ut,it,Je)=>{var yt=Je(284),ee=Je(830);function Tt(){this.clear()}Tt.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},Tt.prototype.enqueue=function(dt){return this.items.push(dt),++this.size},Tt.prototype.dequeue=function(){if(this.size){var dt=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,dt}},Tt.prototype.peek=function(){if(this.size)return this.items[this.offset]},Tt.prototype.forEach=function(dt,Y){Y=arguments.length>1?Y:this;for(var Se=this.offset,he=0,W=this.items.length;Se=dt.length)return{done:!0};var Se=dt[Y];return Y++,{value:Se,done:!1}})},Tt.prototype.entries=function(){var dt=this.items,Y=this.offset,Se=0;return new yt(function(){if(Y>=dt.length)return{done:!0};var he=dt[Y];return Y++,{value:[Se++,he],done:!1}})},"undefined"!=typeof Symbol&&(Tt.prototype[Symbol.iterator]=Tt.prototype.values),Tt.prototype.toString=function(){return this.toArray().join(",")},Tt.prototype.toJSON=function(){return this.toArray()},Tt.prototype.inspect=function(){var dt=this.toArray();return Object.defineProperty(dt,"constructor",{value:Tt,enumerable:!1}),dt},"undefined"!=typeof Symbol&&(Tt.prototype[Symbol.for("nodejs.util.inspect.custom")]=Tt.prototype.inspect),Tt.from=function(dt){var Y=new Tt;return ee(dt,function(Se){Y.enqueue(Se)}),Y},Tt.of=function(){return Tt.from(arguments)},Ut.exports=Tt},830:Ut=>{var it="undefined"!=typeof ArrayBuffer,Je="undefined"!=typeof Symbol;function yt(ee,Tt){var dt,Y,Se,he,W;if(!ee)throw new Error("obliterator/forEach: invalid iterable.");if("function"!=typeof Tt)throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(ee)||it&&ArrayBuffer.isView(ee)||"string"==typeof ee||"[object Arguments]"===ee.toString())for(Se=0,he=ee.length;Se{function it(Je){Object.defineProperty(this,"_next",{writable:!1,enumerable:!1,value:Je}),this.done=!1}it.prototype.next=function(){if(this.done)return{done:!0};var Je=this._next();return Je.done&&(this.done=!0),Je},"undefined"!=typeof Symbol&&(it.prototype[Symbol.iterator]=function(){return this}),it.of=function(){var Je=arguments,yt=Je.length,ee=0;return new it(function(){return ee>=yt?{done:!0}:{done:!1,value:Je[ee++]}})},it.empty=function(){var Je=new it(null);return Je.done=!0,Je},it.is=function(Je){return Je instanceof it||"object"==typeof Je&&null!==Je&&"function"==typeof Je.next},Ut.exports=it},310:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.isMobile=function(){return void 0!==ee.window.orientation},it.default=function(he){if(!he&&!(0,Tt.default)())return"Node";if((0,dt.default)(he))return"Electron";var W="undefined"!=typeof navigator?navigator:{},j=he||W.userAgent||"";if(j.indexOf("Edge")>-1)return"Edge";var P=-1!==j.indexOf("MSIE "),Q=-1!==j.indexOf("Trident/");return P||Q?"IE":ee.window.chrome?"Chrome":ee.window.safari?"Safari":ee.window.mozInnerScreenX?"Firefox":"Unknown"};var ee=Je(151),Tt=yt(Je(602)),dt=yt(Je(344))},151:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.console=it.process=it.document=it.global=it.window=it.self=void 0;var ee=yt(Je(321)),Tt={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&process};it.self=Tt.self||Tt.window||Tt.global,it.window=Tt.window||Tt.self||Tt.global,it.global=Tt.global||Tt.self||Tt.window,it.document=Tt.document||{},it.process=Tt.process||{};var j=console;it.console=j},761:(Ut,it,Je)=>{"use strict";var ee=Je(948),Tt=Je(321);Object.defineProperty(it,"CO",{enumerable:!0,get:function(){return dt.global}}),Object.defineProperty(it,"qs",{enumerable:!0,get:function(){return Se.default}});var dt=Je(151),Se=(j(Je(602)),j(Je(310)));ee(Je(344));function W(P){if("function"!=typeof WeakMap)return null;var Q=new WeakMap,z=new WeakMap;return(W=function(x){return x?z:Q})(P)}function j(P,Q){if(!Q&&P&&P.__esModule)return P;if(null===P||"object"!==Tt(P)&&"function"!=typeof P)return{default:P};var z=W(Q);if(z&&z.has(P))return z.get(P);var v={},x=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var O in P)if("default"!==O&&Object.prototype.hasOwnProperty.call(P,O)){var A=x?Object.getOwnPropertyDescriptor(P,O):null;A&&(A.get||A.set)?Object.defineProperty(v,O,A):v[O]=P[O]}return v.default=P,z&&z.set(P,v),v}},602:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=dt,it.isBrowserMainThread=function(){return dt()&&"undefined"!=typeof document};var ee=yt(Je(321)),Tt=yt(Je(344));function dt(){return!("object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,Tt.default)()}},344:(Ut,it,Je)=>{"use strict";var yt=Je(948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=function(dt){if("undefined"!=typeof window&&"object"===(0,ee.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,ee.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Y="object"===("undefined"==typeof navigator?"undefined":(0,ee.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,Se=dt||Y;return!!(Se&&Se.indexOf("Electron")>=0)};var ee=yt(Je(321))},991:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Tt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Tt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Tt,dt){for(var Y in Tt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Tt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(Je(180),it),ee(Je(103),it),ee(Je(965),it),ee(Je(595),it),ee(Je(417),it),ee(Je(451),it),ee(Je(735),it)},180:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.BlankNode=void 0,it.BlankNode=class{constructor(ee){this.termType="BlankNode",this.value=ee}equals(ee){return!!ee&&"BlankNode"===ee.termType&&ee.value===this.value}}},103:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DataFactory=void 0;const yt=Je(180),ee=Je(965),Tt=Je(595),dt=Je(417),Y=Je(451),Se=Je(735);let he=0;it.DataFactory=class{constructor(P){this.blankNodeCounter=0,this.blankNodePrefix=(P=P||{}).blankNodePrefix||`df_${he++}_`}namedNode(P){return new dt.NamedNode(P)}blankNode(P){return new yt.BlankNode(P||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(P,Q){return new Tt.Literal(P,Q)}variable(P){return new Se.Variable(P)}defaultGraph(){return ee.DefaultGraph.INSTANCE}quad(P,Q,z,v){return new Y.Quad(P,Q,z,v||this.defaultGraph())}fromTerm(P){switch(P.termType){case"NamedNode":return this.namedNode(P.value);case"BlankNode":return this.blankNode(P.value);case"Literal":return P.language?this.literal(P.value,P.language):P.datatype.equals(Tt.Literal.XSD_STRING)?this.literal(P.value):this.literal(P.value,this.fromTerm(P.datatype));case"Variable":return this.variable(P.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(P.subject),this.fromTerm(P.predicate),this.fromTerm(P.object),this.fromTerm(P.graph))}}fromQuad(P){return this.fromTerm(P)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},965:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DefaultGraph=void 0;class Je{constructor(){this.termType="DefaultGraph",this.value=""}equals(ee){return!!ee&&"DefaultGraph"===ee.termType}}it.DefaultGraph=Je,Je.INSTANCE=new Je},595:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Literal=void 0;const yt=Je(417);class ee{constructor(dt,Y){this.termType="Literal",this.value=dt,"string"==typeof Y?(this.language=Y,this.datatype=ee.RDF_LANGUAGE_STRING):Y?(this.language="",this.datatype=Y):(this.language="",this.datatype=ee.XSD_STRING)}equals(dt){return!!dt&&"Literal"===dt.termType&&dt.value===this.value&&dt.language===this.language&&dt.datatype.equals(this.datatype)}}it.Literal=ee,ee.RDF_LANGUAGE_STRING=new yt.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),ee.XSD_STRING=new yt.NamedNode("http://www.w3.org/2001/XMLSchema#string")},417:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.NamedNode=void 0,it.NamedNode=class{constructor(ee){this.termType="NamedNode",this.value=ee}equals(ee){return!!ee&&"NamedNode"===ee.termType&&ee.value===this.value}}},451:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Quad=void 0,it.Quad=class{constructor(ee,Tt,dt,Y){this.termType="Quad",this.value="",this.subject=ee,this.predicate=Tt,this.object=dt,this.graph=Y}equals(ee){return!!ee&&("Quad"===ee.termType||!ee.termType)&&this.subject.equals(ee.subject)&&this.predicate.equals(ee.predicate)&&this.object.equals(ee.object)&&this.graph.equals(ee.graph)}}},735:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Variable=void 0,it.Variable=class{constructor(ee){this.termType="Variable",this.value=ee}equals(ee){return!!ee&&"Variable"===ee.termType&&ee.value===this.value}}},609:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(v,x,O,A){void 0===A&&(A=O),Object.defineProperty(v,A,{enumerable:!0,get:function(){return x[O]}})}:function(v,x,O,A){void 0===A&&(A=O),v[A]=x[O]}),ee=this&&this.__exportStar||function(v,x){for(var O in v)"default"!==O&&!Object.prototype.hasOwnProperty.call(x,O)&&yt(x,v,O)};Object.defineProperty(it,"__esModule",{value:!0}),it.getSupportedJavaScriptPrimitives=it.getSupportedRdfDatatypes=it.getTermRaw=it.toRdf=it.fromRdf=void 0;const Tt=Je(991),dt=Je(938),Y=Je(60);ee(Je(938),it),ee(Je(871),it),ee(Je(60),it);const Se=new Tt.DataFactory,he=new Y.Translator;function W(v,x){return he.fromRdf(v,x)}he.registerHandler(new dt.TypeHandlerString,dt.TypeHandlerString.TYPES.map(v=>Se.namedNode(v)),["string"]),he.registerHandler(new dt.TypeHandlerBoolean,[dt.TypeHandlerBoolean.TYPE].map(v=>Se.namedNode(v)),["boolean"]),he.registerHandler(new dt.TypeHandlerNumberDouble,dt.TypeHandlerNumberDouble.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerNumberInteger,dt.TypeHandlerNumberInteger.TYPES.map(v=>Se.namedNode(v)),["number"]),he.registerHandler(new dt.TypeHandlerDate,dt.TypeHandlerDate.TYPES.map(v=>Se.namedNode(v)),["object"]),it.fromRdf=W,it.toRdf=function(v,x){return x&&"namedNode"in x&&(x={dataFactory:x}),(x=x||{})&&!x.dataFactory&&(x.dataFactory=Se),he.toRdf(v,x)},it.getTermRaw=function(v,x){return"Literal"===v.termType?W(v,x):v.value},it.getSupportedRdfDatatypes=function(){return he.getSupportedRdfDatatypes()},it.getSupportedJavaScriptPrimitives=function(){return he.getSupportedJavaScriptPrimitives()}},871:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0})},60:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Translator=void 0,it.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(ee){throw new Error(`Invalid RDF ${ee.datatype.value} value: '${ee.value}'`)}registerHandler(ee,Tt,dt){for(const Y of Tt)this.supportedRdfDatatypes.push(Y),this.fromRdfHandlers[Y.value]=ee;for(const Y of dt){let Se=this.toRdfHandlers[Y];Se||(this.toRdfHandlers[Y]=Se=[]),Se.push(ee)}}fromRdf(ee,Tt){const dt=this.fromRdfHandlers[ee.datatype.value];return dt?dt.fromRdf(ee,Tt):ee.value}toRdf(ee,Tt){const dt=this.toRdfHandlers[typeof ee];if(dt)for(const Y of dt){const Se=Y.toRdf(ee,Tt);if(Se)return Se}throw new Error(`Invalid JavaScript value: '${ee}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},727:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerBoolean=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){switch(dt.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return Y&&yt.Translator.incorrectRdfDataType(dt),!1}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(dt?"true":"false",Y||Se.namedNode(ee.TYPE))}}it.TypeHandlerBoolean=ee,ee.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},525:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerDate=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){switch(Y&&!dt.value.match(ee.VALIDATORS[dt.datatype.value.substr(33,dt.datatype.value.length)])&&yt.Translator.incorrectRdfDataType(dt),dt.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(dt.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const Se=dt.value.split("-");return new Date(0,parseInt(Se[0],10)-1,parseInt(Se[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(dt.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(dt.value+"-01");default:return new Date(dt.value)}}toRdf(dt,{datatype:Y,dataFactory:Se}){if(Y=Y||Se.namedNode(ee.TYPES[0]),!(dt instanceof Date))return null;const he=dt;let W;switch(Y.value){case"http://www.w3.org/2001/XMLSchema#gDay":W=String(he.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":W=he.getUTCMonth()+1+"-"+he.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":W=String(he.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":W=he.getUTCFullYear()+"-"+(he.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":W=he.toISOString().replace(/T.*$/,"");break;default:W=he.toISOString()}return Se.literal(W,Y)}}it.TypeHandlerDate=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],ee.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},554:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberDouble=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){const Se=parseFloat(dt.value);return Y&&isNaN(Se)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Y=Y||Se.namedNode(ee.TYPES[0]),isNaN(dt)?Se.literal("NaN",Y):isFinite(dt)?dt%1==0?null:Se.literal(dt.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Y):Se.literal(dt>0?"INF":"-INF",Y)}}it.TypeHandlerNumberDouble=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},750:(Ut,it,Je)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberInteger=void 0;const yt=Je(60);class ee{fromRdf(dt,Y){const Se=parseInt(dt.value,10);return Y&&(isNaN(Se)||dt.value.indexOf(".")>=0)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(String(dt),Y||Se.namedNode(dt<=ee.MAX_INT&&dt>=ee.MIN_INT?ee.TYPES[0]:ee.TYPES[1]))}}it.TypeHandlerNumberInteger=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],ee.MAX_INT=2147483647,ee.MIN_INT=-2147483648},608:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerString=void 0;class Je{fromRdf(ee){return ee.value}toRdf(ee,{datatype:Tt,dataFactory:dt}){return dt.literal(ee,Tt)}}it.TypeHandlerString=Je,Je.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},938:function(Ut,it,Je){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Tt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Tt,dt,Y,Se){void 0===Se&&(Se=Y),Tt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Tt,dt){for(var Y in Tt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Tt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(Je(727),it),ee(Je(525),it),ee(Je(554),it),ee(Je(750),it),ee(Je(608),it)},303:(Ut,it,Je)=>{"use strict";var yt={};Je.r(yt),Je.d(yt,{decode:()=>Xme,encode:()=>Qme});var ee={};Je.r(ee),Je.d(ee,{decode:()=>n_e,encode:()=>i_e});var Tt={};Je.r(Tt),Je.d(Tt,{decode:()=>r_e,encode:()=>s_e});var dt={};function Y(n){return"function"==typeof n}Je.r(dt),Je.d(dt,{decode:()=>o_e,encode:()=>a_e});let Se=!1;const he={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else Se&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Se=n},get useDeprecatedSynchronousErrorHandling(){return Se}};function W(n){setTimeout(()=>{throw n},0)}const j={closed:!0,next(n){},error(n){if(he.useDeprecatedSynchronousErrorHandling)throw n;W(n)},complete(){}},P=Array.isArray||(n=>n&&"number"==typeof n.length);function Q(n){return null!==n&&"object"==typeof n}const v=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class x{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof x)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof v?t.errors:t),[])}x.EMPTY=((n=new x).closed=!0,n);const A="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class y extends x{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=j;break;case 1:if(!e){this.destination=j;break}if("object"==typeof e){e instanceof y?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new S(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new S(this,e,t,i)}}[A](){return this}static create(e,t,i){const r=new y(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class S extends y{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Y(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==j&&(o=Object.create(t),Y(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;he.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=he;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):W(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;W(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);he.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),he.useDeprecatedSynchronousErrorHandling)throw i;W(i)}}__tryOrSetError(e,t,i){if(!he.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return he.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(W(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const R="function"==typeof Symbol&&Symbol.observable||"@@observable";function K(n){return n}function ce(...n){return D(n)}function D(n){return 0===n.length?K:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let I=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof y)return n;if(n[A])return n[A]()}return n||e||t?new y(n,e,t):new y(j)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||he.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),he.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){he.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof y?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=X(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[R](){return this}pipe(...t){return 0===t.length?this:D(t)(this)}toPromise(t){return new(t=X(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function X(n){if(n||(n=he.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const $=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class Z extends x{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class oe extends y{constructor(e){super(e),this.destination=e}}let se=(()=>{class n extends I{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[A](){return new oe(this)}lift(t){const i=new te(this,this);return i.operator=t,i}next(t){if(this.closed)throw new $;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew te(e,t),n})();class te extends se{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):x.EMPTY}}function Ce(n){return n&&"function"==typeof n.schedule}function me(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new ne(n,e))}}class ne{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new _e(e,this.project,this.thisArg))}}class _e extends y{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const Ie=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ke(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Me=n=>{if(n&&"function"==typeof n[R])return(n=>e=>{const t=n[R]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(ke(n))return Ie(n);if(Ke(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,W),e))(n);if(n&&"function"==typeof n[Xe])return(n=>e=>{const t=n[Xe]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${Q(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function Ne(n,e){return new I(t=>{const i=new x;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function je(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[R]}(n))return function(n,e){return new I(t=>{const i=new x;return i.add(e.schedule(()=>{const r=n[R]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ke(n))return function(n,e){return new I(t=>{const i=new x;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(ke(n))return Ne(n,e);if(function(n){return n&&"function"==typeof n[Xe]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new I(t=>{const i=new x;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[Xe](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof I?n:new I(Me(n))}class _t extends y{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class ve extends y{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function N(n,e){if(e.closed)return;if(n instanceof I)return n.subscribe(e);let t;try{t=Me(n)(e)}catch(i){e.error(i)}return t}function B(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(B((r,s)=>je(n(r,s)).pipe(me((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Re(n,t)))}class Re{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new Qe(e,this.project,this.concurrent))}}class Qe extends ve{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Nt(n=Number.POSITIVE_INFINITY){return B(K,n)}function On(n,e){return e?Ne(n,e):new I(Ie(n))}function kn(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Ce(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof I?n[0]:Nt(e)(On(n,t))}function Yn(){return function(e){return e.lift(new Ti(e))}}class Ti{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new wi(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class wi extends y{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Xr extends I{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new x,e.add(this.source.subscribe(new gs(this.getSubject(),this))),e.closed&&(this._connection=null,e=x.EMPTY)),e}refCount(){return Yn()(this)}}const Ls=(()=>{const n=Xr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class gs extends oe{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function el(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new kl(r,e));const s=Object.create(i,Ls);return s.source=i,s.subjectFactory=r,s}}class kl{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function Sa(){return new se}function Es(){return n=>Yn()(el(Sa)(n))}function Jt(n){for(let e in n)if(n[e]===Jt)return e;throw Error("Could not find renamed property on target object.")}function tl(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function rt(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(rt).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function lt(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const ht=Jt({__forward_ref__:Jt});function ge(n){return n.__forward_ref__=ge,n.toString=function(){return rt(this())},n}function be(n){return Le(n)?n():n}function Le(n){return"function"==typeof n&&n.hasOwnProperty(ht)&&n.__forward_ref__===ge}class Ze extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function Dt(n){return"string"==typeof n?n:null==n?"":String(n)}function Xt(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Dt(n)}function bn(n,e){const t=e?` in ${e}`:"";throw new Ze("201",`No provider for ${Xt(n)} found${t}`)}function J(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function We(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function xt(n){return{providers:n.providers||[],imports:n.imports||[]}}function vn(n){return Ss(n,po)||Ss(n,js)}function Ss(n,e){return n.hasOwnProperty(e)?n[e]:null}function Ll(n){return n&&(n.hasOwnProperty(jr)||n.hasOwnProperty(xc))?n[jr]:null}const po=Jt({\u0275prov:Jt}),jr=Jt({\u0275inj:Jt}),js=Jt({ngInjectableDef:Jt}),xc=Jt({ngInjectorDef:Jt});var Sn=(()=>((Sn=Sn||{})[Sn.Default=0]="Default",Sn[Sn.Host=1]="Host",Sn[Sn.Self=2]="Self",Sn[Sn.SkipSelf=4]="SkipSelf",Sn[Sn.Optional=8]="Optional",Sn))();let go;function Ca(n){const e=go;return go=n,e}function wd(n,e,t){const i=vn(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&Sn.Optional?null:void 0!==e?e:void bn(rt(n),"Injector")}function De(n){return{toString:n}.toString()}var He=(()=>((He=He||{})[He.OnPush=0]="OnPush",He[He.Default=1]="Default",He))(),Yt=(()=>((Yt=Yt||{})[Yt.Emulated=0]="Emulated",Yt[Yt.None=2]="None",Yt[Yt.ShadowDom=3]="ShadowDom",Yt))();const li="undefined"!=typeof globalThis&&globalThis,Vr="undefined"!=typeof window&&window,es="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,xs="undefined"!=typeof global&&global,Qn=li||xs||Vr||es,Ed={},tr=[],fp=Jt({\u0275cmp:Jt}),Jm=Jt({\u0275dir:Jt}),Dh=Jt({\u0275pipe:Jt}),sv=Jt({\u0275mod:Jt}),T1=Jt({\u0275loc:Jt}),jl=Jt({\u0275fac:Jt}),Ih=Jt({__NG_ELEMENT_ID__:Jt});let M1=0;function ln(n){return De(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===He.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||tr,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Yt.Emulated,id:"c",styles:n.styles||tr,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=M1++,i.inputs=cv(n.inputs,t),i.outputs=cv(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(ov):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(av):null,i})}function ov(n){return Vi(n)||function(n){return n[Jm]||null}(n)}function av(n){return function(n){return n[Dh]||null}(n)}const lv={};function on(n){return De(()=>{const e={type:n.type,bootstrap:n.bootstrap||tr,declarations:n.declarations||tr,imports:n.imports||tr,exports:n.exports||tr,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(lv[n.id]=n.type),e})}function cv(n,e){if(null==n)return Ed;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const Rt=ln;function Vs(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function Vi(n){return n[fp]||null}function Oo(n,e){const t=n[sv]||null;if(!t&&!0===e)throw new Error(`Type ${rt(n)} does not have '\u0275mod' property.`);return t}function Qo(n){return Array.isArray(n)&&"object"==typeof n[1]}function Zo(n){return Array.isArray(n)&&!0===n[1]}function n_(n){return 0!=(8&n.flags)}function Ad(n){return 2==(2&n.flags)}function Td(n){return 1==(1&n.flags)}function Ma(n){return null!==n.template}function uv(n){return 0!=(512&n[2])}function Tc(n,e){return n.hasOwnProperty(jl)?n[jl]:null}class o_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Ui(){return fv}function fv(n){return n.type.prototype.ngOnChanges&&(n.setInput=k1),F1}function F1(){const n=at(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===Ed)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function k1(n,e,t,i){const r=at(n)||function(n,e){return n[kh]=e}(n,{previous:Ed,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new o_(l&&l.currentValue,e,o===Ed),n[i]=e}Ui.ngInherit=!0;const kh="__ngSimpleChanges__";function at(n){return n[kh]||null}let Ki;function gr(n){return!!n.listen}const bu={createRenderer:(n,e)=>void 0!==Ki?Ki:"undefined"!=typeof document?document:void 0};function xr(n){for(;Array.isArray(n);)n=n[0];return n}function Lh(n,e){return xr(e[n])}function Zs(n,e){return xr(e[n.index])}function c_(n,e){return n.data[e]}function zs(n,e){const t=e[n];return Qo(t)?t:t[0]}function zl(n){return 4==(4&n[2])}function Dd(n){return 128==(128&n[2])}function Ia(n,e){return null==e?null:n[e]}function u_(n){n[18]=0}function mp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Bn={lFrame:wu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function gv(){return Bn.bindingsEnabled}function jt(){return Bn.lFrame.lView}function Ei(){return Bn.lFrame.tView}function Cr(n){return Bn.lFrame.contextLView=n,n[8]}function cs(){let n=d_();for(;null!==n&&64===n.type;)n=n.parent;return n}function d_(){return Bn.lFrame.currentTNode}function rl(n,e){const t=Bn.lFrame;t.currentTNode=n,t.isParent=e}function Hr(){return Bn.lFrame.isParent}function ms(){Bn.lFrame.isParent=!1}function Vh(){return Bn.isInCheckNoChangesMode}function yp(n){Bn.isInCheckNoChangesMode=n}function Oa(){return Bn.lFrame.bindingIndex++}function No(n){const e=Bn.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Id(n,e){const t=Bn.lFrame;t.bindingIndex=t.bindingRootIndex=n,h_(e)}function h_(n){Bn.lFrame.currentDirectiveIndex=n}function f_(n){const e=Bn.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function mv(){return Bn.lFrame.currentQueryIndex}function p_(n){Bn.lFrame.currentQueryIndex=n}function vp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Od(n,e,t){if(t&Sn.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&Sn.Host||(r=vp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Bn.lFrame=Ee();return i.currentTNode=e,i.lView=n,!0}function Hh(n){const e=Ee(),t=n[1];Bn.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function Ee(){const n=Bn.lFrame,e=null===n?null:n.child;return null===e?wu(n):e}function wu(n){const 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:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Gh(){const n=Bn.lFrame;return Bn.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Po=Gh;function fi(){const n=Gh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function Js(){return Bn.lFrame.selectedIndex}function yo(n){Bn.lFrame.selectedIndex=n}function kr(){const n=Bn.lFrame;return c_(n.tView,n.selectedIndex)}function wp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class $h{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function xp(n,e,t){const i=gr(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Nd=!0;function Cp(n){const e=Nd;return Nd=n,e}let v_=0;function Hs(n,e){const t=Ap(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,w_(i.data,n),w_(e,null),w_(i.blueprint,null));const r=qh(n,e),s=n.injectorIndex;if(vv(r)){const o=Rd(r),a=ol(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function w_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Ap(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function qh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Dc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Ih)&&(i=t[Ih]),null==i&&(i=t[Ih]=v_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:xv:e}(t);if("function"==typeof s){if(!Od(e,n,i))return i&Sn.Host?E_(r,t,i):Ev(e,t,i,r);try{const o=s(i);if(null!=o||i&Sn.Optional)return o;bn(t)}finally{Po()}}else if("number"==typeof s){let o=null,a=Ap(n,e),l=-1,c=i&Sn.Host?e[16][6]:null;for((-1===a||i&Sn.SkipSelf)&&(l=-1===a?qh(n,e):e[a+8],-1!==l&&Kh(i,!1)?(o=e[1],a=Rd(l),e=ol(l,e)):a=-1);-1!==a;){const u=e[1];if(Tp(s,a,u.data)){const h=Ts(a,e,t,o,i,c);if(h!==Sv)return h}l=e[a+8],-1!==l&&Kh(i,e[1].data[a+8]===c)&&Tp(s,a,e)?(o=u,a=Rd(l),e=ol(l,e)):a=-1}}}return Ev(e,t,i,r)}const Sv={};function xv(){return new ea(cs(),jt())}function Ts(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=Pd(a,o,t,null==i?Ad(a)&&Nd:i!=o&&0!=(3&a.type),r&Sn.Host&&s===a);return null!==u?Fd(e,o,u,a):Sv}function Pd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,p=r?a+u:n.directiveEnd;for(let g=i?a:a+u;g=l&&m.type===t)return g}if(r){const g=o[l];if(g&&Ma(g)&&g.type===t)return l}return null}function Fd(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof $h}(r)){const o=r;o.resolving&&function(n,e){throw new Ze("200",`Circular dependency in DI detected for ${n}`)}(Xt(s[t]));const a=Cp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Ca(o.injectImpl):null;Od(n,i,Sn.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=fv(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&Ca(l),Cp(a),o.resolving=!1,Po()}}return r}function Tp(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[jl]||Ms(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[jl]||Ms(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Ms(n){return Le(n)?()=>{const e=Ms(be(n));return e&&e()}:Tc(n)}function Fo(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Ld)?l[Ld]:Object.defineProperty(l,Ld,{value:[]})[Ld];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class Ht{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=We({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const xu=Function;function ta(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?na(t,e):e(t))}function Qh(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Gl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Oc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function M_(n,e){const t=Ds(n,e);if(t>=0)return n[1|t]}function Ds(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):rt(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Pc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Nc]=null,n}const zd=Ud(Pa("Inject",n=>({token:n})),-1),ns=Ud(Pa("Optional"),8),ul=Ud(Pa("SkipSelf"),4);let Gd;function Ou(n){var e;return(null===(e=function(){if(void 0===Gd&&(Gd=null,Qn.trustedTypes))try{Gd=Qn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return Gd}())||void 0===e?void 0:e.createHTML(n))||n}class Yl{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class P_ extends Yl{getTypeName(){return"HTML"}}class F_ extends Yl{getTypeName(){return"Style"}}class Vp extends Yl{getTypeName(){return"Script"}}class $d extends Yl{getTypeName(){return"URL"}}class Fn extends Yl{getTypeName(){return"ResourceURL"}}function Gs(n){return n instanceof Yl?n.changingThisBreaksApplicationSecurity:n}function ia(n,e){const t=Lc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function Lc(n){return n instanceof Yl&&n.getTypeName()||null}class zv{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Ou(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class pA{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Ou(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Ou(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0Bo(e.trim())).join(", ")}function ra(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function Jh(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const Up=ra("area,br,col,hr,img,wbr"),Gv=ra("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),$v=ra("rp,rt"),L_=Jh(Up,Jh(Gv,ra("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")),Jh($v,ra("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")),Jh($v,Gv)),B_=ra("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),j_=ra("srcset"),V_=Jh(B_,j_,ra("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),ra("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")),vA=ra("script,style,template");class U_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!L_.hasOwnProperty(t))return this.sanitizedSomething=!0,!vA.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();L_.hasOwnProperty(t)&&!Up.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(Hp(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const Wv=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ef=/([^\#-~ |!])/g;function Hp(n){return n.replace(/&/g,"&").replace(Wv,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(ef,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let tf;function z_(n,e){let t=null;try{tf=tf||function(n){const e=new pA(n);return function(){try{return!!(new window.DOMParser).parseFromString(Ou(""),"text/html")}catch(n){return!1}}()?new zv(e):e}(n);let i=e?String(e):"";t=tf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=tf.getInertBodyElement(i)}while(i!==s);return Ou((new U_).sanitizeChildren(Wd(t)||t))}finally{if(t){const i=Wd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function Wd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var ni=(()=>((ni=ni||{})[ni.NONE=0]="NONE",ni[ni.HTML=1]="HTML",ni[ni.STYLE=2]="STYLE",ni[ni.SCRIPT=3]="SCRIPT",ni[ni.URL=4]="URL",ni[ni.RESOURCE_URL=5]="RESOURCE_URL",ni))();function nf(n){const e=function(){const n=jt();return n&&n[12]}();return e?e.sanitize(ni.URL,n)||"":ia(n,"URL")?Gs(n):Bo(Dt(n))}const $_="__ngContext__";function Is(n,e){n[$_]=e}function W_(n){const e=function(n){return n[$_]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function Gp(n){return n.ngOriginalError}function NA(n,...e){n.error(...e)}class oa{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||NA}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(Gp(e)):null}_findOriginalError(e){let t=e&&Gp(e);for(;t&&Gp(t);)t=Gp(t);return t||null}}const iw=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Qn))();function hl(n){return n instanceof Function?n():n}var jo=(()=>((jo=jo||{})[jo.Important=1]="Important",jo[jo.DashCase=2]="DashCase",jo))();function Q_(n,e){return undefined(n,e)}function of(n){const e=n[3];return Zo(e)?e[3]:e}function Yd(n){return lw(n[13])}function J_(n){return lw(n[4])}function lw(n){for(;null!==n&&!Zo(n);)n=n[4];return n}function Kd(n,e,t,i,r){if(null!=i){let s,o=!1;Zo(i)?s=i:Qo(i)&&(o=!0,i=i[0]);const a=xr(i);0===n&&null!==t?null==r?fw(e,t,a):fl(e,t,a,r||null,!0):1===n&&null!==t?fl(e,t,a,r||null,!0):2===n?function(n,e,t){const i=qp(n,e);i&&function(n,e,t,i){gr(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==xr(t)&&Kd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=Gl(n,10+e);!function(n,e){Xd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function iy(n,e){if(!(256&e[2])){const t=e[11];gr(t)&&t.destroyNode&&Xd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return Wp(n[1],n);for(;e;){let t=null;if(Qo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Qo(e)&&Wp(e[1],e),e=e[3];null===e&&(e=n),Qo(e)&&Wp(e[1],e),t=e&&e[4]}e=t}}(e)}}function Wp(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[h+1].toLowerCase();const g=8&i?p:null;if(g&&-1!==lf(g,c,0)||2&i&&c!==p){if(ka(i))return!1;o=!0}}}}else{if(!o&&!ka(i)&&!ka(l))return!1;if(o&&ka(l))continue;o=!1,i=l|1&i}}return ka(i)||o}function ka(n){return 0==(1&n)}function oT(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!ka(o)&&(e+=Aw(s,r),r=""),i=o,s=s||!ka(i);t++}return""!==r&&(e+=Aw(s,r)),e}const In={};function Zt(n){Tw(Ei(),jt(),Js()+n,Vh())}function Tw(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Ep(e,s,t)}else{const s=n.preOrderHooks;null!==s&&Sp(e,s,0,t)}yo(t)}function pl(n,e){return n<<17|e<<2}function Rn(n){return n>>17&32767}function Ar(n){return 2|n}function Kl(n){return(131068&n)>>2}function gl(n,e){return-131069&n|e<<2}function cy(n){return 1|n}function kw(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&Tw(n,e,20,Vh()),t(i,r)}finally{yo(s)}}function hf(n,e,t){!gv()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||Hs(t,e),Is(i,e);const o=t.initialInputs;for(let a=r;a0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function qw(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function Yw(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function PT(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&wy(t)}}function wy(n){for(let i=Yd(n);null!==i;i=J_(i))for(let r=10;r0&&wy(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&wy(r)}}function UT(n,e){const t=zs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function Qw(n){return n[7]||(n[7]=[])}function ig(n){return n.cleanup||(n.cleanup=[])}function Ay(n,e,t){return(null===n||Ma(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function Ty(n,e){const t=n[9],i=t?t.get(oa,null):null;i&&i.handleError(e)}function Zw(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),na([e],a=>this.processInjectorType(a,[],s)),this.records.set(Pu,ku(void 0,this));const o=this.records.get(Fu);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:rt(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Tu,i=Sn.Default){this.assertNotDestroyed();const r=Vd(this),s=Ca(void 0);try{if(!(i&Sn.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof Ht}(e)&&vn(e);a=l&&this.injectableDefInScope(l)?ku(Ry(e),ff):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&Sn.Self?Jw():this.parent).get(e,t=i&Sn.Optional&&t===Tu?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Nc]=o[Nc]||[]).unshift(rt(e)),r)throw o;return eo(o,e,"R3InjectorError",this.source)}throw o}finally{Ca(s),Vd(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(rt(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=be(e)))return!1;let r=Ll(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Ll(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{na(r.imports,h=>{this.processInjectorType(h,t,i)&&(void 0===u&&(u=[]),u.push(h))})}finally{}if(void 0!==u)for(let h=0;hthis.processProvider(m,p,g||tr))}}this.injectorDefTypes.add(o);const l=Tc(o)||(()=>new o);this.records.set(o,ku(l,ff));const c=r.providers;if(null!=c&&!a){const u=e;na(c,h=>this.processProvider(h,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Vc(e=be(e))?e:be(e&&e.provide);const s=function(n,e,t){return nE(n)?ku(void 0,n.useValue):ku(tE(n),ff)}(e);if(Vc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=ku(void 0,ff,!0),o.factory=()=>Du(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===ff&&(t.value=KT,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=be(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Ry(n){const e=vn(n),t=null!==e?e.factory:Tc(n);if(null!==t)return t;if(n instanceof Ht)throw new Error(`Token ${rt(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=Oc(e,"?");throw new Error(`Can't resolve all parameters for ${rt(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[po]||n[js]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function tE(n,e,t){let i;if(Vc(n)){const r=be(n);return Tc(r)||Ry(r)}if(nE(n))i=()=>be(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Du(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>Oe(be(n.useExisting));else{const r=be(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Tc(r)||Ry(r);i=()=>new r(...Du(n.deps))}return i}function ku(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function nE(n){return null!==n&&"object"==typeof n&&Np in n}function Vc(n){return"function"==typeof n}const iE=function(n,e,t){return function(n,e=null,t=null,i){const r=eE(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Wn{static create(e,t){return Array.isArray(e)?iE(e,t,""):iE(e.providers,e.parent,e.name||"")}}function Gq(n,e){wp(W_(n)[1],cs())}function An(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(Ma(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=cM(n.inputs),o.declaredInputs=cM(n.declaredInputs),o.outputs=cM(n.outputs);const a=r.hostBindings;a&&Yq(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&Wq(n,l),c&&qq(n,c),tl(n.inputs,r.inputs),tl(n.declaredInputs,r.declaredInputs),tl(n.outputs,r.outputs),Ma(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Wh(r.hostAttrs,t=Wh(t,r.hostAttrs))}}(i)}function cM(n){return n===Ed?{}:n===tr?[]:n}function Wq(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function qq(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function Yq(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Wn.THROW_IF_NOT_FOUND=Tu,Wn.NULL=new io,Wn.\u0275prov=We({token:Wn,providedIn:"any",factory:()=>Oe(Pu)}),Wn.__NG_ELEMENT_ID__=-1;let lE=null;function sg(){if(!lE){const n=Qn.Symbol;if(n&&n.iterator)lE=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(xr(Ae[i.index])):i.index;if(gr(t)){let Ae=null;if(!a&&l&&(Ae=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==Ae)(Ae.__ngLastListenerFn__||Ae).__ngNextListenerFn__=s,Ae.__ngLastListenerFn__=s,g=!1;else{s=mM(i,e,h,s,!1);const Pe=t.listen(H,r,s);p.push(s,Pe),u&&u.push(r,de,U,U+1)}}else s=mM(i,e,h,s,!0),H.addEventListener(r,s,o),p.push(s),u&&u.push(r,de,U,o)}else s=mM(i,e,h,s,!1);const m=i.outputs;let w;if(g&&null!==m&&(w=m[r])){const C=w.length;if(C)for(let H=0;H0;)e=e[15],n--;return e}(n,Bn.lFrame.contextLView))[8]}(n)}function MY(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const Rs={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function jk(n){return n.substring(Rs.key,Rs.keyEnd)}function Vk(n,e){const t=Rs.textEnd;return t===e?-1:(e=Rs.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,Rs.key=e,t),bg(n,e,t))}function bg(n,e,t){for(;e=0;t=Vk(e,t))ko(n,jk(e),!0)}function ec(n,e,t,i){const r=jt(),s=Ei(),o=No(2);s.firstUpdatePass&&Wk(s,n,o,i),e!==In&&Eo(r,o,e)&&Yk(s,s.data[Js()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=rt(Gs(n)))),n}(e,t),i,o)}function $k(n,e){return e>=n.expandoStartIndex}function Wk(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[Js()],o=$k(n,t);Xk(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=f_(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=Vy(t=yM(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=yM(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Kl(i))return n[Rn(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=yM(null,n,e,l[1],i),l=Vy(l,e.attrs,i),function(n,e,t,i){n[Rn(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else u=t;if(r)if(0!==l){const p=Rn(n[a+1]);n[i+1]=pl(p,a),0!==p&&(n[p+1]=gl(n[p+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=pl(a,0),0!==a&&(n[a+1]=gl(n[a+1],i)),a=i;else n[i+1]=pl(l,0),0===a?a=i:n[l+1]=gl(n[l+1],i),l=i;c&&(n[i+1]=Ar(n[i+1])),Bk(n,u,i,!0),Bk(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Ds(s,e)>=0&&(t[i+1]=cy(t[i+1]))}(e,u,n,i,s),o=pl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function yM(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let p=t[r+1];p===In&&(p=h?tr:void 0);let g=h?M_(p,i):u===i?p:void 0;if(c&&!gE(g)&&(g=M_(l,i)),gE(g)&&(a=g,o))return a;const m=n[r+1];r=o?Rn(m):Kl(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=M_(l,i))}return a}function gE(n){return void 0!==n}function Xk(n,e){return 0!=(n.flags&(e?16:32))}function Oi(n,e=""){const t=jt(),i=Ei(),r=n+20,s=i.firstCreatePass?Zd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return gr(n)?n.createText(e):n.createTextNode(e)}(t[11],e);Yp(i,t,o,s),rl(s,!1)}function da(n){return ha("",n,""),da}function ha(n,e,t){const i=jt(),r=ag(i,n,e,t);return r!==In&&Xl(i,Js(),r),ha}function Lu(n,e,t){const i=jt();return Eo(i,Oa(),e)&&Vo(Ei(),kr(),i,n,e,i[11],t,!0),Lu}function mE(n,e,t){const i=jt();if(Eo(i,Oa(),e)){const s=Ei(),o=kr();Vo(s,o,i,n,e,Ay(f_(s.data),o,i),t,!0)}return mE}const gf=void 0;var dK=["en",[["a","p"],["AM","PM"],gf],[["AM","PM"],gf,gf],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],gf,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],gf,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",gf,"{1} 'at' {0}",gf],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let vg={};function pL(n){return n in vg||(vg[n]=Qn.ng&&Qn.ng.common&&Qn.ng.common.locales&&Qn.ng.common.locales[n]),vg[n]}var cn=(()=>((cn=cn||{})[cn.LocaleId=0]="LocaleId",cn[cn.DayPeriodsFormat=1]="DayPeriodsFormat",cn[cn.DayPeriodsStandalone=2]="DayPeriodsStandalone",cn[cn.DaysFormat=3]="DaysFormat",cn[cn.DaysStandalone=4]="DaysStandalone",cn[cn.MonthsFormat=5]="MonthsFormat",cn[cn.MonthsStandalone=6]="MonthsStandalone",cn[cn.Eras=7]="Eras",cn[cn.FirstDayOfWeek=8]="FirstDayOfWeek",cn[cn.WeekendRange=9]="WeekendRange",cn[cn.DateFormat=10]="DateFormat",cn[cn.TimeFormat=11]="TimeFormat",cn[cn.DateTimeFormat=12]="DateTimeFormat",cn[cn.NumberSymbols=13]="NumberSymbols",cn[cn.NumberFormats=14]="NumberFormats",cn[cn.CurrencyCode=15]="CurrencyCode",cn[cn.CurrencySymbol=16]="CurrencySymbol",cn[cn.CurrencyName=17]="CurrencyName",cn[cn.Currencies=18]="Currencies",cn[cn.Directionality=19]="Directionality",cn[cn.PluralCase=20]="PluralCase",cn[cn.ExtraData=21]="ExtraData",cn))();const _E="en-US";let gL=_E;function vM(n){J(n,"Expected localeId to be defined"),"string"==typeof n&&(gL=n.toLowerCase().replace(/_/g,"-"))}function SM(n,e,t,i,r){if(n=be(n),Array.isArray(n))for(let s=0;s>20;if(Vc(n)||!n.multi){const g=new $h(l,r,xe),m=CM(a,e,r?u:u+p,h);-1===m?(Dc(Hs(c,o),s,a),xM(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[m]=g,o[m]=g)}else{const g=CM(a,e,u+p,h),m=CM(a,e,u,u+p),w=g>=0&&t[g],C=m>=0&&t[m];if(r&&!C||!r&&!w){Dc(Hs(c,o),s,a);const H=function(n,e,t,i,r){const s=new $h(n,t,xe);return s.multi=[],s.index=e,s.componentProviders=0,jL(s,r,i&&!t),s}(r?lX:aX,t.length,r,i,l);!r&&C&&(t[m].providerFactory=H),xM(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(H),o.push(H)}else xM(s,n,g>-1?g:m,jL(t[r?m:g],l,!r&&i));!r&&i&&C&&t[m].componentProviders++}}}function xM(n,e,t,i){const r=Vc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function jL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function CM(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Ei();if(i.firstCreatePass){const r=Ma(n);SM(t,i.data,i.blueprint,r,!0),SM(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class VL{}const zL="ngComponent";class dX{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${rt(n)}. Did you add it to @NgModule.entryComponents?`);return e[zL]=n,e}(e)}}class wl{}function EE(...n){}function Eg(n,e){return new En(Zs(n,e))}wl.NULL=new dX;const pX=function(){return Eg(cs(),jt())};let En=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=pX,n})();function HL(n){return n instanceof En?n.nativeElement:n}class mf{}let MM=(()=>{class n{}return n.\u0275prov=We({token:n,providedIn:"root",factory:()=>null}),n})();class ju{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const GL=new ju("12.2.5");class $L{constructor(){}supports(e){return Ly(e)}create(e){return new vX(e)}}const bX=(n,e)=>e;class vX{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||bX}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;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,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new wX(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new WL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new WL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(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._nextIdentityChange=e,e}}class wX{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}}class EX{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(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 i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class WL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new EX,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function qL(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new xX(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class xX{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function KL(){return new Sg([new $L])}let Sg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||KL()),deps:[[n,new ul,new ns]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:KL}),n})();function XL(){return new xg([new YL])}let xg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||XL()),deps:[[n,new ul,new ns]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:XL}),n})();function SE(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(xr(s)),Zo(s))for(let a=10;a-1&&(ny(e,i),Gl(t,i))}this._attachedToViewContainer=!1}iy(this._lView[1],this._lView)}onDestroy(e){Vw(this._lView[1],this._lView,null,e)}markForCheck(){Ey(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){xy(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){yp(!0);try{xy(n,e,t)}finally{yp(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Xd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class AX extends $y{constructor(e){super(e),this._view=e}detectChanges(){Xw(this._view)}checkNoChanges(){!function(n){yp(!0);try{Xw(n)}finally{yp(!1)}}(this._view)}get context(){return null}}const MX=function(n){return function(n,e,t){if(Ad(n)&&!t){const i=zs(n.index,e);return new $y(i,i)}return 47&n.type?new $y(e[16],e):null}(cs(),jt(),16==(16&n))};let Dr=(()=>{class n{}return n.__NG_ELEMENT_ID__=MX,n})();const OX=[new YL],NX=new Sg([new $L]),PX=new xg(OX),kX=function(){return xE(cs(),jt())};let zo=(()=>{class n{}return n.__NG_ELEMENT_ID__=kX,n})();const LX=zo,BX=class extends LX{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=uf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),df(t,i,e),new $y(i)}};function xE(n,e){return 4&n.type?new BX(e,n,Eg(n,e)):null}class $c{}const UX=function(){return e3(cs(),jt())};let Ns=(()=>{class n{}return n.__NG_ELEMENT_ID__=UX,n})();const HX=Ns,ZL=class extends HX{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Eg(this._hostTNode,this._hostLView)}get injector(){return new ea(this._hostTNode,this._hostLView)}get parentInjector(){const e=qh(this._hostTNode,this._hostLView);if(vv(e)){const t=ol(e,this._hostLView),i=Rd(e);return new ea(t[1].data[i+8],t)}return new ea(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=JL(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get($c,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return Zo(n[3])}(i)){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const h=i[3],p=new ZL(h,h[6],h[3]);p.detach(p.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),iiw});class S3 extends VL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(dT).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return E3(this.componentDef.inputs)}get outputs(){return E3(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,Mg,r);return s!==Mg||i===Mg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(mf,bu),a=s.get(MM,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(gr(n))return n.selectRootElement(e,t===Yt.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):ty(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),h=this.componentDef.onPush?576:528,p=function(n,e){return{components:[],scheduler:n||iw,clean:WT,playerHandler:e||null,flags:0}}(),g=tg(0,null,null,1,0,null,null,null,null,null),m=uf(null,g,p,h,null,null,o,l,a,s);let w,C;Hh(m);try{const H=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Zd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(rg(l,c,!0),null!==n&&(xp(r,n,c),null!==l.classes&&ay(r,n,l.classes),null!==l.styles&&Ew(r,n,l.styles)));const u=i.createRenderer(n,e),h=uf(t,eg(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Dc(Hs(l,t),o,e.type),Yw(o,l),yy(l,t.length,1)),ng(t,h),t[20]=h}(u,this.componentDef,m,o,l);if(u)if(i)xp(l,u,["ng-version",GL.full]);else{const{attrs:U,classes:de}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&ay(l,u,de.join(" "))}if(C=c_(g,20),void 0!==t){const U=C.projection=[];for(let de=0;del(o,e)),e.contentQueries){const l=cs();e.contentQueries(1,o,l.directiveStart)}const a=cs();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(yo(a.index),Ww(t[1],a,0,a.directiveStart,a.directiveEnd,e),qw(e,o)),o}(H,this.componentDef,m,p,[Gq]),df(g,m,null)}finally{fi()}return new zQ(this.componentType,w,Eg(C,m),m,C)}}class zQ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new AX(r),this.componentType=e}get injector(){return new ea(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Dg=new Map;class $Q extends $c{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new w3(this);const i=Oo(e),r=function(n){return n[T1]||null}(e);r&&vM(r),this._bootstrapComponents=hl(i.bootstrap),this._r3Injector=eE(e,t,[{provide:$c,useValue:this},{provide:wl,useValue:this.componentFactoryResolver}],rt(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Wn.THROW_IF_NOT_FOUND,i=Sn.Default){return e===Wn||e===$c||e===Pu?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class zM extends class{}{constructor(e){super(),this.moduleType=e,null!==Oo(e)&&function(n){const e=new Set;!function t(i){const r=Oo(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${rt(e)} vs ${rt(e.name)}`)}(s,Dg.get(s),i),Dg.set(s,i));const o=hl(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new $Q(this.moduleType,e)}}function T3(n,e,t,i,r,s){const o=e+t;return Eo(n,o,r)?function(n,e,t){return n[e]=t}(n,o+1,s?i.call(s,r):i(r)):function(n,e){const t=n[e];return t===In?void 0:t}(n,o+1)}function xl(n,e){const t=Ei();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new Ze("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=Tc(i.type)),o=Ca(xe);try{const a=Cp(!1),l=s();return Cp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,jt(),r,l),l}finally{Ca(o)}}function Vu(n,e,t){const i=n+20,r=jt(),s=function(n,e){return n[e]}(r,i);return function(n,e){Zl.isWrapped(e)&&(e=Zl.unwrap(e),n[Bn.lFrame.bindingIndex]=In);return e}(r,function(n,e){return n[1].data[e].pure}(r,i)?T3(r,function(){const n=Bn.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}(),e,s.transform,t,s):s.transform(t))}function HM(n){return e=>{setTimeout(n,void 0,e)}}const sn=class extends se{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const h=e;a=null===(r=h.next)||void 0===r?void 0:r.bind(h),l=null===(s=h.error)||void 0===s?void 0:s.bind(h),c=null===(o=h.complete)||void 0===o?void 0:o.bind(h)}this.__isAsync&&(l=HM(l),a&&(a=HM(a)),c&&(c=HM(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof x&&e.add(u),u}};function oZ(){return this._results[sg()]()}class bf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=sg(),i=bf.prototype;i[t]||(i[t]=oZ)}get changes(){return this._changes||(this._changes=new sn)}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){const i=this;i.dirty=!1;const r=ta(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],u=e[-l];for(let h=10;h{class n{constructor(t){this.appInits=t,this.resolve=EE,this.reject=EE,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(Oe(vf,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const r0=new Ht("AppId"),zZ={provide:r0,useFactory:function(){return`${eD()}${eD()}${eD()}`},deps:[]};function eD(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const eB=new Ht("Platform Initializer"),Wc=new Ht("Platform ID"),RE=new Ht("appBootstrapListener");let NE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Uu=new Ht("LocaleId"),tB=new Ht("DefaultCurrencyCode");class GZ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const tD=function(n){return new zM(n)},$Z=tD,WZ=function(n){return Promise.resolve(tD(n))},nB=function(n){const e=tD(n),i=hl(Oo(n).declarations).reduce((r,s)=>{const o=Vi(s);return o&&r.push(new S3(o)),r},[]);return new GZ(e,i)},qZ=nB,YZ=function(n){return Promise.resolve(nB(n))};let wf=(()=>{class n{constructor(){this.compileModuleSync=$Z,this.compileModuleAsync=WZ,this.compileModuleAndAllComponentsSync=qZ,this.compileModuleAndAllComponentsAsync=YZ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const iB=new Ht("compilerOptions"),XZ=(()=>Promise.resolve(0))();function nD(n){"undefined"==typeof Zone?XZ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class gn{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new sn(!1),this.onMicrotaskEmpty=new sn(!1),this.onStable=new sn(!1),this.onError=new sn(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const 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=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=Qn.requestAnimationFrame,e=Qn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(Qn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,rD(n),n.isCheckStableRunning=!0,iD(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),rD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return rB(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),sB(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return rB(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),sB(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,rD(n),iD(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!gn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(gn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,ZZ,EE,EE);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const ZZ={};function iD(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function rD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function rB(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function sB(n){n._nesting--,iD(n)}class tJ{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new sn,this.onMicrotaskEmpty=new sn,this.onStable=new sn,this.onError=new sn}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let sD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{gn.assertNotInAngularZone(),nD(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())nD(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),oB=(()=>{class n{constructor(){this._applications=new Map,oD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return oD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class nJ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let oD=new nJ,aB=!0,lB=!1;function Ba(){return lB=!0,aB}let rc;const cB=new Ht("AllowMultipleToken");function uB(n,e,t=[]){const i=`Platform: ${e}`,r=new Ht(i);return(s=[])=>{let o=lD();if(!o||o.injector.get(cB,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:Fu,useValue:"platform"});!function(n){if(rc&&!rc.destroyed&&!rc.injector.get(cB,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");rc=n.get(dB);const e=n.get(eB,null);e&&e.forEach(t=>t())}(Wn.create({providers:a,name:i}))}return function(n){const e=lD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function lD(){return rc&&!rc.destroyed?rc:null}let dB=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new tJ:("zone.js"===n?void 0:n)||new gn({enableLongStackTrace:Ba(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:gn,useValue:a}];return a.run(()=>{const c=Wn.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),h=u.injector.get(oa,null);if(!h)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const p=a.onError.subscribe({next:g=>{h.handleError(g)}});u.onDestroy(()=>{cD(this._modules,u),p.unsubscribe()})}),function(n,e,t){try{const i=t();return yg(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(h,a,()=>{const p=u.injector.get(Og);return p.runInitializers(),p.donePromise.then(()=>(vM(u.injector.get(Uu,_E)||_E),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=hB({},i);return function(n,e,t){const i=new zM(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(ih);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${rt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function hB(n,e){return Array.isArray(e)?e.reduce(hB,n):Object.assign(Object.assign({},n),e)}let ih=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new I(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new I(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{gn.assertNotInAngularZone(),nD(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const h=this._zone.onUnstable.subscribe(()=>{gn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),h.unsubscribe()}});this.isStable=kn(a,l.pipe(Es()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof VL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get($c),a=r.create(Wn.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(sD,null),u=c&&a.injector.get(oB);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),cD(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;cD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(RE,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(Wn),Oe(oa),Oe(wl),Oe(Og))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function cD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const DJ=uB(null,"core",[{provide:Wc,useValue:"unknown"},{provide:dB,deps:[Wn]},{provide:oB,deps:[]},{provide:NE,deps:[]}]),PJ=[{provide:ih,useClass:ih,deps:[gn,Wn,oa,wl,Og]},{provide:jQ,deps:[gn],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Og,useClass:Og,deps:[[new ns,vf]]},{provide:wf,useClass:wf,deps:[]},zZ,{provide:Sg,useFactory:function(){return NX},deps:[]},{provide:xg,useFactory:function(){return PX},deps:[]},{provide:Uu,useFactory:function(n){return vM(n=n||"undefined"!=typeof $localize&&$localize.locale||_E),n},deps:[[new zd(Uu),new ns,new ul]]},{provide:tB,useValue:"USD"}];let kJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(Oe(ih))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:PJ}),n})(),GE=null;function qc(){return GE}const pn=new Ht("DocumentToken");let xf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Fee,token:n,providedIn:"platform"}),n})();function Fee(){return Oe(VB)}let VB=(()=>{class n extends xf{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return qc().getBaseHref(this._doc)}onPopState(t){const i=qc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=qc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}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(t){this.location.pathname=t}pushState(t,i,r){UB()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){UB()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn))},n.\u0275prov=We({factory:Lee,token:n,providedIn:"platform"}),n})();function UB(){return!!window.history.pushState}function Lee(){return new VB(Oe(pn))}function xD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function zB(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function Hu(n){return n&&"?"!==n[0]?"?"+n:n}let Cf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Bee,token:n,providedIn:"root"}),n})();function Bee(n){const e=Oe(pn).location;return new HB(Oe(xf),e&&e.origin||"")}const CD=new Ht("appBaseHref");let HB=(()=>{class n extends Cf{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return xD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Hu(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+Hu(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+Hu(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(xf),Oe(CD,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Pg=(()=>{class n{constructor(t,i){this._subject=new sn,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=zB(GB(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Hu(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,GB(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Hu(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Hu(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Cf),Oe(xf))},n.normalizeQueryParams=Hu,n.joinWithSlash=xD,n.stripTrailingSlash=zB,n.\u0275prov=We({factory:Vee,token:n,providedIn:"root"}),n})();function Vee(){return new Pg(Oe(Cf),Oe(xf))}function GB(n){return n.replace(/\/index.html$/,"")}var _s=(()=>((_s=_s||{})[_s.Zero=0]="Zero",_s[_s.One=1]="One",_s[_s.Two=2]="Two",_s[_s.Few=3]="Few",_s[_s.Many=4]="Many",_s[_s.Other=5]="Other",_s))();const Yee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=pL(e);if(t)return t;const i=e.split("-")[0];if(t=pL(i),t)return t;if("en"===i)return dK;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[cn.PluralCase]};class eS{}let Ste=(()=>{class n extends eS{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(Yee(i||this.locale)(t)){case _s.Zero:return"zero";case _s.One:return"one";case _s.Two:return"two";case _s.Few:return"few";case _s.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(Oe(Uu))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Cte{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Af=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new Cte(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new ej(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new ej(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(xe(Ns),xe(zo),xe(Sg))},n.\u0275dir=Rt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class ej{constructor(e,t){this.record=e,this.view=t}}let lc=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new Tte,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){tj("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){tj("ngIfElse",t),this._elseTemplateRef=t,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(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(xe(Ns),xe(zo))},n.\u0275dir=Rt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class Tte{constructor(){this.$implicit=null,this.ngIf=null}}function tj(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${rt(e)}'.`)}class Ote{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class Rte{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const Nte=new Rte,Pte=new Ote;let h0=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(yg(t))return Nte;if(Tk(t))return Pte;throw function(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${rt(n)}'`)}(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(xe(Dr,16))},n.\u0275pipe=Vs({name:"async",type:n,pure:!1}),n})(),qr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:[{provide:eS,useClass:Ste}]}),n})();const lj="browser";function Tf(n){return n===lj}class BD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){GE||(GE=n)}(new BD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).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"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(f0=f0||document.querySelector("base"),f0?f0.getAttribute("href"):null);return null==t?null:function(n){nS=nS||document.createElement("a"),nS.setAttribute("href",n);const e=nS.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){f0=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return function(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}(document.cookie,e)}}let nS,f0=null;const hj=new Ht("TRANSITION_ID"),rne=[{provide:vf,useFactory:function(n,e,t){return()=>{t.get(Og).donePromise.then(()=>{const i=qc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},Qn.getAllAngularTestabilities=()=>e.getAllTestabilities(),Qn.getAllAngularRootElements=()=>e.getAllRootElements(),Qn.frameworkStabilizers||(Qn.frameworkStabilizers=[]),Qn.frameworkStabilizers.push(i=>{const r=Qn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?qc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let sne=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const p0=new Ht("EventManagerPlugins");let rS=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),g0=(()=>{class n extends pj{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(gj),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(gj))}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function gj(n){qc().remove(n)}const UD={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/"},zD=/%COMP%/g;function sS(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let oS=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new HD(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Yt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new vne(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Yt.ShadowDom:return new wne(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=sS(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(Oe(rS),Oe(g0),Oe(r0))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class HD{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(UD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=UD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=UD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(jo.DashCase|jo.Important)?e.style.setProperty(t,i,r&jo.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&jo.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,yj(i)):this.eventManager.addEventListener(e,t,yj(i))}}class vne extends HD{constructor(e,t,i,r){super(e),this.component=i;const s=sS(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(zD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(zD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class wne extends HD{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=sS(r.id,r.styles,[]);for(let o=0;o{class n extends VD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const wj=["alt","control","meta","shift"],Dne={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Ej={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},Ine={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let One=(()=>{class n extends VD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>qc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(wj.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&Ej.hasOwnProperty(e)&&(e=Ej[e]))}return Dne[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),wj.forEach(s=>{s!=r&&Ine[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Mf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return Oe($D)},token:n,providedIn:"root"}),n})(),$D=(()=>{class n extends Mf{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case ni.NONE:return i;case ni.HTML:return ia(i,"HTML")?Gs(i):z_(this._doc,String(i)).toString();case ni.STYLE:return ia(i,"Style")?Gs(i):i;case ni.SCRIPT:if(ia(i,"Script"))return Gs(i);throw new Error("unsafe value used in a script context");case ni.URL:return Lc(i),ia(i,"URL")?Gs(i):Bo(String(i));case ni.RESOURCE_URL:if(ia(i,"ResourceURL"))return Gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new P_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new F_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new Vp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new $d(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new Fn(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn))},n.\u0275prov=We({factory:function(){return function(n){return new $D(n.get(pn))}(Oe(Pu))},token:n,providedIn:"root"}),n})();const jne=uB(DJ,"browser",[{provide:Wc,useValue:lj},{provide:eB,useValue:function(){BD.makeCurrent(),jD.init()},multi:!0},{provide:pn,useFactory:function(){return function(n){Ki=n}(document),document},deps:[]}]),Vne=[[],{provide:Fu,useValue:"root"},{provide:oa,useFactory:function(){return new oa},deps:[]},{provide:p0,useClass:Ene,multi:!0,deps:[pn,gn,Wc]},{provide:p0,useClass:One,multi:!0,deps:[pn]},[],{provide:oS,useClass:oS,deps:[rS,g0,r0]},{provide:mf,useExisting:oS},{provide:pj,useExisting:g0},{provide:g0,useClass:g0,deps:[pn]},{provide:sD,useClass:sD,deps:[gn]},{provide:rS,useClass:rS,deps:[p0,gn]},{provide:class{},useClass:sne,deps:[]},[]];let WD=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:r0,useValue:t.appId},{provide:hj,useExisting:r0},rne]}}}return n.\u0275fac=function(t){return new(t||n)(Oe(n,12))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:Vne,imports:[qr,kJ]}),n})();"undefined"!=typeof window&&window;class Yne extends x{constructor(e,t){super()}schedule(e,t=0){return this}}class aS extends Yne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let xj=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class uc extends xj{constructor(e,t=xj.now){super(e,()=>uc.delegate&&uc.delegate!==this?uc.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return uc.delegate&&uc.delegate!==this?uc.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const Qne=new class extends uc{}(class extends aS{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),Yc=new I(n=>n.complete());function lS(n){return n?function(n){return new I(e=>n.schedule(()=>e.complete()))}(n):Yc}function fn(...n){let e=n[n.length-1];return Ce(e)?(n.pop(),Ne(n,e)):On(n)}function Fg(n,e){return new I(e?t=>e.schedule(Jne,0,{error:n,subscriber:t}):t=>t.error(n))}function Jne({error:n,subscriber:e}){e.error(n)}class pa{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return fn(this.value);case"E":return Fg(this.error);case"C":return lS()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new pa("N",e):pa.undefinedValueNotification}static createError(e){return new pa("E",void 0,e)}static createComplete(){return pa.completeNotification}}pa.completeNotification=new pa("C"),pa.undefinedValueNotification=new pa("N",void 0);class cS extends y{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(cS.dispatch,this.delay,new tie(e,this.destination)))}_next(e){this.scheduleMessage(pa.createNext(e))}_error(e){this.scheduleMessage(pa.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(pa.createComplete()),this.unsubscribe()}}class tie{constructor(e,t){this.notification=e,this.destination=t}}class kg extends se{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new nie(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new $;if(this.isStopped||this.hasError?o=x.EMPTY:(this.observers.push(e),o=new Z(this,e)),r&&e.add(e=new cS(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class nie{constructor(e,t){this.time=e,this.value=t}}function Ir(n,e){return"function"==typeof e?t=>t.pipe(Ir((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new iie(n))}class iie{constructor(e){this.project=e}call(e,t){return t.subscribe(new rie(e,this.project))}}class rie extends ve{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new _t(this),r=this.destination;r.add(i),this.innerSubscription=N(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const uS={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return uS.schedule(n,0);if(void 0===window.requestAnimationFrame)return uS.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let YD;function pie(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!YD){const t=Element.prototype;YD=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&YD.call(n,e)}(n,r)||(i=s,0))),i}class mie{constructor(e,t){this.componentFactory=t.get(wl).resolveComponentFactory(e)}create(e){return new _ie(this.componentFactory,e)}}class _ie{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new kg(1),this.events=this.eventEmitters.pipe(Ir(i=>kn(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(gn),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=uS.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Wn.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(me(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=uS.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new o_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class yie extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}const vie={initialConfig:{},parse:{},rename:{}};class wie{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},vie),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,u=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(u)try{i[l]=u(c)}catch(h){console.warn(`Failed to parse ${e} = ${c}`,h.message)}else i[l]=c}}let Eie=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new wie(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=Rt({type:n,features:[Ui]}),n})();var KD;const m0={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://ccf-api.hubmapconsortium.org/v1/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld",dataSources:["https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/kpmp/data/rui_locations.jsonld","https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/sparc/data/rui_locations.jsonld"],hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"https://search.api.hubmapconsortium.org/v3/entities/search",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==(KD=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==KD?KD:""},googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};function rr(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function Aj(n,e){return function(t,i){e(t,i,n)}}function dc(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function Fi(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function Dj(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function QD(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Dj()}const Ij="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",hS=QD();class Aie{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function ZD(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const Oj={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Rj(n){return"string"==typeof n?Oj[n.toUpperCase()]||Oj.WHITE:n}function fS(n,e){if(!n)throw new Error(e||"Assertion failed")}const hc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},_0=hc.window||hc.self||hc.global,Nj=hc.process||{};function Lg(){let n;if(hS&&_0.performance)n=_0.performance.now();else if(Nj.hrtime){const e=Nj.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const Bg={debug:hS&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Nie={enabled:!0,level:0};function Tl(){}const Pj={},Fj={once:!0};function Pie(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let JD=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=Ij,this._startTs=Lg(),this._deltaTs=Lg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Aie("__probe-".concat(this.id,"__"),Nie),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Lg()-this._startTs).toPrecision(10))}getDelta(){return Number((Lg()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){fS(t,i)}warn(t){return this._getLogFunction(0,t,Bg.warn,arguments,Fj)}error(t){return this._getLogFunction(0,t,Bg.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,Bg.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,Bg.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,Bg.debug||Bg.info,arguments,Fj)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||Tl,r&&[r],{tag:Pie(i)}):Tl}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?hS?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=ZD(r,e,t);console.log(...s)},r.src=n,Tl}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...ZD(n,e,t)),Tl;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...ZD(r,e,t)),r.src=n.toDataURL(),Tl}return Tl}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=Je(307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):Tl}({image:r,message:s,scale:o}):Tl}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||Tl)}group(t,i,r={collapsed:!1}){r=Lj({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Tl)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=kj(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=Lj({logLevel:t,message:i,args:s,opts:o}),fS(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Lg();const a=o.tag||o.message;if(o.once){if(Pj[a])return Tl;Pj[a]=Lg()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!hS&&"string"==typeof n&&(e&&(e=Rj(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=Rj(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return Tl}}return n.VERSION=Ij,n})();function kj(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return fS(Number.isFinite(e)&&e>=0),e}function Lj(n){const{logLevel:e,message:t}=n;n.logLevel=kj(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return fS("string"===r||"object"===r),Object.assign(n,n.opts)}const Ri=new JD({id:"deck"}),ji={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(ji,"IDENTITY",{get:()=>Ri.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Kc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},Bj={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},mn=new JD({id:"luma.gl"});function $o(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function pS(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function Si(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function gS(n){return $o(pS(n),"Invalid WebGLRenderingContext"),n}function Co(n){return $o(Si(n),"Requires WebGL2"),n}const y0={};const b0=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Df.prototype.VERTEX_ARRAY_BINDING_OES=34229,Df.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iSi(n)?void 0:0,tre={3074:n=>Si(n)?void 0:36064,35723:n=>Si(n)?void 0:4352,35977:br,32937:br,36795:(n,e)=>{const t=Si(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(Uj);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(Uj);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:br,35071:br,37447:br,36063:(n,e)=>{if(!Si(n)){const t=n.getExtension(Vj);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:br,35374:br,35377:br,34852:n=>{if(!Si(n)){const e=n.getExtension(Vj);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(jj)?2147483647:65535,33001:n=>n.getExtension(jj)?16777216:65535,33e3:n=>16777216,37157:br,35373:br,35657:br,36183:br,37137:br,34045:br,35978:br,35979:br,35968:br,35376:br,35375:br,35659:br,37154:br,35371:br,35658:br,35076:br,35077:br,35380:br},zj="ANGLE_instanced_arrays",Hj={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{$o(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[zj]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){$o(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{$o(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{$o(!1)},deleteQuery:()=>{$o(!1)},beginQuery:()=>{$o(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},eI={readBuffer:(n,e,t)=>{Si(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:Si(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!Si(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!Si(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=tre[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function fre(n,{extension:e,target:t,target2:i}){const r=Hj[e];$o(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let u=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?u=(...h)=>a[c](...h):"function"==typeof r[l]&&(u=r[l].bind(t))),u&&(t[l]=u,i[l]=u)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Df(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&fre(n,{extension:t,target:n.luma,target2:n})}(n,Hj),function(n,{target:e,target2:t}){Object.keys(eI).forEach(i=>{if("function"==typeof eI[i]){const r=n[i]?n[i].bind(n):()=>{},s=eI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const tI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},oh=(n,e,t)=>e?n.enable(t):n.disable(t),Gj=(n,e,t)=>n.hint(t,e),ja=(n,e,t)=>n.pixelStorei(t,e);function v0(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const mre={3042:oh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:oh,2885:(n,e)=>n.cullFace(e),2929:oh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:oh,35723:Gj,36006:(n,e)=>{const t=Si(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:Gj,2849:(n,e)=>n.lineWidth(e),32823:oh,32824:"polygonOffset",10752:"polygonOffset",35977:oh,32938:"sampleCoverage",32939:"sampleCoverage",3089:oh,3088:(n,e)=>n.scissor(...e),2960:oh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:ja,3317:ja,37440:ja,37441:ja,37443:ja,3330:ja,3332:ja,3331:ja,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:ja,32878:ja,3316:ja,3315:ja,32877:ja,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=v0(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=v0(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=v0(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=v0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=v0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function os(n,e,t){return void 0!==e[n]?e[n]:t[n]}const _re={blendEquation:(n,e,t)=>n.blendEquationSeparate(os(32777,e,t),os(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(os(32969,e,t),os(32968,e,t),os(32971,e,t),os(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(os(32824,e,t),os(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(os(32938,e,t),os(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,os(2962,e,t),os(2967,e,t),os(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,os(34816,e,t),os(36003,e,t),os(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,os(2964,e,t),os(2965,e,t),os(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,os(34817,e,t),os(34818,e,t),os(34819,e,t))},$j={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Xc=(n,e)=>n.isEnabled(e),Wj={3042:Xc,2884:Xc,2929:Xc,3024:Xc,32823:Xc,32926:Xc,32928:Xc,3089:Xc,2960:Xc,35977:Xc};function qj(n){for(const e in n)return!1;return!0}function yre(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||tI)){const r=e,s=Wj[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=Wj[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},tI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){$o(this.stateStack.length>0),$u(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){$o(void 0!==s);const o=e[s],a=this.cache[s];yre(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function Kj(n,e={}){const{enable:t=!0,copyState:i}=e;if($o(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new wre(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in $j)bre(n,s,$j[s]);Yj(n,"getParameter"),Yj(n,"isEnabled")}return n.state.enable=t,n}function Xj(n){$o(n.state),n.state.pop()}function $u(n,e){if($o(pS(n),"setParameters requires a WebGL context"),qj(e))return;const t={};for(const r in e){const s=Number(r),o=mre[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)_re[r](n,e,i)}function fc(n,e,t){if(qj(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||Kj(n,{copyState:!1}),n.state.push()}(n),$u(n,e),i)r=t(n),Xj(n);else try{r=t(n)}finally{Xj(n)}return r}function mS(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function jg(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function nI(n,e,t=!0){return function(n,e,t,i,r){const s=Qj(n[0],e,t);let o=Zj(n[1],e,i,r),a=Qj(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=Zj(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,jg(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function Qj(n,e,t){return Math.min(Math.round(n*e),t-1)}function Zj(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const iI=mS(),Mre=iI&&"undefined"!=typeof document,Jj={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function eV(n={}){$o(iI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},Jj,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(Mre&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=rI(r,n),function(n){const e=Si(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);mn.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function rI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},Jj,e);const{manageState:t,debug:i}=e;return t&&Kj(n,{copyState:!1,log:(...r)=>mn.log(1,...r)()}),iI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),mn.level=Math.max(mn.level,1)):mn.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function tV(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class nV{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=tV(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(tV()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class sI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof nV?e:new nV(t,i)),this.stats[t]}}const w0="8.5.12",If=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new sI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==w0)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${w0}`);function tn(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function oI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return tn(void 0!==i,`Accessing undefined constant GL.${e}`),i}function ah(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(mS()&&mn.log(1,`luma.gl ${w0} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:w0,version:w0,log:mn,stats:If,globals:{modules:{},nodeIO:{}}}),globalThis;const aI={};function ga(n="id"){return aI[n]=aI[n]||1,`${n}-${aI[n]++}`}function iV(n){return tn("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function Vg(n){let e=!0;for(const t in n){e=!1;break}return e}function rV(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw mn.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const Ug="Resource subclass must define virtual methods";class Wu{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){gS(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ga(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){tn(e=oI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Si(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=Si(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const h=i?ah(this.gl,l):l;o[h]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[h]=ah(this.gl,o[h]))}}return o}setParameter(e,t){tn(e=oI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Si(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=oI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return rV(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(Ug)}_deleteHandle(){throw new Error(Ug)}_bindHandle(e){throw new Error(Ug)}_getOptsFromHandle(){throw new Error(Ug)}_getParameter(e,t){throw new Error(Ug)}_setParameter(e,t){throw new Error(Ug)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=If.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];If.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=If.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=If.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function lI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function E0(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function Vre({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return ma.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return ma.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=cI("Accessor",e,zre)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const oV={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},Hre={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:oV},Gre={removedProps:oV};class hr extends Wu{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/ma.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/ma.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=cI("Buffer",e,Hre),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=cI("Buffer",e,Gre))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new ma(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;tn(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(Co(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return Co(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){Co(this.gl);const s=E0(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const u=Math.min(o,l);return tn((r=r||u)<=u),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(tn(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){tn(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=lI(e);return tn(s),this.setAccessor(new ma(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){tn(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/E0(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new ma(this.accessor,{type:lI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return mn.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return mn.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return mn.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return mn.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new ma(this.accessor,e),this}}const uI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},aV={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},lV={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},qre=[9729,9728],cV=globalThis.WebGLBuffer||function(){};class Of extends Wu{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=uI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=Si(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=uI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ga("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(U=>this.initialize(Object.assign({},e,{pixels:U,data:U}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:u}=e;t||(t=r);let{width:h,height:p,dataFormat:g,type:m,compressed:w=!1,mipmaps:C=!0}=e;const{depth:H=0}=e;return({width:h,height:p,compressed:w,dataFormat:g,type:m}=this._deduceParameters({format:s,type:m,dataFormat:g,compressed:w,data:t,width:h,height:p})),this.width=h,this.height=p,this.depth=H,this.format=s,this.type=m,this.dataFormat=g,this.border=o,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),C&&this._isNPOT()&&(mn.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),C=!1,this._updateForNPOT(l)),this.mipmaps=C,this.setImageData({data:t,width:h,height:p,depth:H,format:s,type:m,dataFormat:g,border:o,mipmaps:C,parameters:c,compressed:w}),C&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:u=this.type,width:h=this.width,height:p=this.height,dataFormat:g=this.dataFormat,compressed:m=!1}=e;c||(c=i),({type:u,dataFormat:g,compressed:m,width:h,height:p}=this._deduceParameters({format:s,type:u,dataFormat:g,compressed:m,data:c,width:h,height:p}));const{gl:w}=this;w.bindTexture(this.target,this.handle);let C=null;({data:c,dataType:C}=this._getDataType({data:c,compressed:m}));let H,U=0;return fc(this.gl,l,()=>{switch(C){case"null":w.texImage2D(t,r,s,h,p,o,g,u,c);break;case"typed-array":w.texImage2D(t,r,s,h,p,o,g,u,c,a);break;case"buffer":H=Co(w),H.bindBuffer(35052,c.handle||c),H.texImage2D(t,r,s,h,p,o,g,u,a),H.bindBuffer(35052,null);break;case"browser-object":Si(w)?w.texImage2D(t,r,s,h,p,o,g,u,c):w.texImage2D(t,r,s,g,u,c);break;case"compressed":for(const[de,Ae]of c.entries())w.compressedTexImage2D(t,de,Ae.format,Ae.width,Ae.height,o,Ae.data),U+=Ae.levelSize;break;default:tn(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===C?U:c&&c.byteLength?c.byteLength:this.width*this.height*(aV[this.dataFormat]||4)*(lV[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:u=this.type,dataFormat:h=this.dataFormat,compressed:p=!1,offset:g=0,border:m=this.border,parameters:w={}}){if(({type:u,dataFormat:h,compressed:p,width:o,height:a}=this._deduceParameters({format:c,type:u,dataFormat:h,compressed:p,data:i,width:o,height:a})),tn(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const C=i;i=C.data,o=C.shape[0],a=C.shape[1]}i instanceof hr&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),fc(this.gl,w,()=>{if(p)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,h,u,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,h,u,i,g);else if(i instanceof cV){const C=Co(this.gl);C.bindBuffer(35052,i),C.texSubImage2D(e,l,r,s,o,a,h,u,g),C.bindBuffer(35052,null)}else Si(this.gl)?Co(this.gl).texSubImage2D(e,l,r,s,o,a,h,u,i):this.gl.texSubImage2D(e,l,r,s,h,u,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return mn.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof hr?{data:e.handle,dataType:"buffer"}:e instanceof cV?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=uI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},tn(r,"Could not deduced texture size"),tn(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),tn(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:tn(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Si(this.gl)||!this.width||!this.height||iV(this.width)&&iV(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===qre.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function Yre(n,e){return tn("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class _a extends Of{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return Of.isSupported(e,t)}constructor(e,t={}){gS(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:Yre(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const Rf="EXT_color_buffer_float",uV={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Rf,bpp:2},33327:{gl2:Rf,bpp:4},34842:{gl2:Rf,bpp:8},33326:{gl2:Rf,bpp:4},33328:{gl2:Rf,bpp:8},34836:{gl2:Rf,bpp:16},35898:{gl2:Rf,bpp:4}};class zg extends Wu{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=Si(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,uV)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return tn(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&Si(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*uV[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const gV="clear: bad arguments";function hI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),tn(0!==o,gV),fc(n,s,()=>{n.clear(o)})}function mV(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function oi(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){mV(s,i,r,o,a,"next",l)}function a(l){mV(s,i,r,o,a,"throw",l)}o(void 0)})}}const fI=[34069,34070,34071,34072,34073,34074];let tse=(()=>{class n extends Of{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){gS(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return oi(function*(){const{gl:u}=c,h=r||s,p=yield Promise.all(fI.map(g=>{const m=h[g];return Promise.all(Array.isArray(m)?m:[m])}));c.bind(),fI.forEach((g,m)=>{p[m].length>1&&!1!==c.opts.mipmaps&&mn.warn(`${c.id} has mipmap and multiple LODs.`)(),p[m].forEach((w,C)=>{t&&i?u.texImage2D(g,C,a,t,i,o,a,l,w):u.texImage2D(g,C,a,a,l,w)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:u=5121}=t,{gl:h}=this,p=o||a;return this.bind(),p instanceof Promise?p.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?h.texImage2D(i,0,c,r,s,l,c,u,p):h.texImage2D(i,0,c,c,u,p),this}}return n.FACES=fI,n})();class nse extends Of{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return Si(e)}constructor(e,t={}){Co(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:u,parameters:h={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),fc(this.gl,h,()=>{ArrayBuffer.isView(u)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,u),u instanceof hr&&(this.gl.bindBuffer(35052,u.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(u&&u.byteLength?u.byteLength:this.width*this.height*this.depth*(aV[this.dataFormat]||4)*(lV[this.type]||1),"Texture"),this.loaded=!0,this}}function _V(n,e){tn(n instanceof _a||n instanceof tse||n instanceof nse);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function ise(n,e){const{gl:t,width:i,height:r,id:s}=n;return new Fs(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function _S(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=S0(n);tn(u);const{gl:p,handle:g,attachments:m}=u;a=a||u.width,l=l||u.height,36064===s&&null===g&&(s=1028),tn(m[s]),c=c||m[s].type,o=function(n,e,t,i,r){if(n)return n;return new(E0(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return tn(!1),0}}(t))}(o,c,r,a,l),c=c||lI(o);const w=p.bindFramebuffer(36160,g);return p.readPixels(t,i,a,l,r,c,o),p.bindFramebuffer(36160,w||null),h&&u.delete(),o}function pI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=_S(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=Vre({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const u in i){const h=i[u];(Array.isArray(h)?h[0]:h).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return tn(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&mn.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){tn(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof zg)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[u,h=0,p=0]=l;c=u,this._attachTexture({attachment:a,texture:u,layer:h,level:p})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(Fs.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&hI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){Co(n),fc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:tn(!1,gV)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return mn.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return mn.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return mn.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return mn.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return mn.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return mn.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=Co(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=ah(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?ah(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?ah(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(pI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>mn.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=pI(this,{targetMaxHeight:100});return mn.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new _a(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new zg(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new zg(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&tn(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof zg?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:Co(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:tn(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return Si(n)?n:null}(this.gl);t?t.readBuffer(e):tn(36064===e||1029===e,yV),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=Co(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):tn(1===e.length&&(36064===e[0]||1029===e[0]),yV)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in bV)void 0===n.luma.caps[e]&&(n.luma.caps[e]=wV(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}Fs.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const bV={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new _a(n,{format:6408,type:5126,dataFormat:6408}),t=new Fs(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function gI(n,e){return vV(n,e)}function vV(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>wV(n,t))}function wV(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=bV[e];let i;tn(t,e);const r=Si(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:tn(!1);return i}(n,e)),n.luma.caps[e]||mn.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class mI{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},gse=1/Math.PI*180,mse=1/180*Math.PI,Or={};function yse(n,{precision:e=Or.precision||4}={}){return n=function(n){return Math.round(n/Or.EPSILON)*Or.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function lh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function qu(n,e,t){if(lh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*mse,void 0)}(n)}function vse(n){return function(n,e){return qu(n,t=>t*gse,void 0)}(n)}function Va(n,e,t){return qu(n,i=>Math.max(e,Math.min(t,i)))}function yS(n,e,t){return lh(n)?n.map((i,r)=>yS(i,e[r],t)):t*e+(1-t)*n}function C0(n,e,t){const i=Or.EPSILON;t&&(Or.EPSILON=t);try{if(n===e)return!0;if(lh(n)&&lh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+yse(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(LV.length=n.length,i=LV):i=kV,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function BV(n){return n&&n[Symbol.asyncIterator]}function EI(n,e=(()=>!0)){return Array.isArray(n)?jV(n,e,[]):e(n)?[n]:[]}function jV(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function VV(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",ot(ot(ot({},qse[n.type]),e),n)):null}function UV(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function zV(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function HV(n){n.push(n.shift())}function xI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function GV({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,u=r&&c,h=xI(t,e),p=t.state.constant;if(!u&&i>=h)return;const g=p?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!p){const H=s;s=(U,de)=>t._normalizeConstant(H(U,de))}const m=p?(H,U)=>s(g,U):(H,U)=>s(g.subarray(H,H+a),U),w=n.getData({length:i}),C=new Float32Array(h);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return SI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((u,h)=>i(u+a,h)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===SS||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=SS}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=Gse}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==SS}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,u]of s)o.call(r,this,{data:t,startRow:c,endRow:u,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const C=h*a+l;for(let H=0;Hu?c.set(de,w):(e._normalizeValue(de,H.target,0),Hse({target:c,source:H.target,start:w,count:Ae}));w+=Ae*u}else e._normalizeValue(de,c,w),w+=u}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let AI={};function To(n){Ri.level>0&&AI[n]&&AI[n].call(...arguments)}function Ua(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const $V="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",Xse=`#version 300 es\n${$V}`;function WV(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function qV(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?Xse:e>300?`#version ${e}\n${$V}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return Ua(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class YV extends Wu{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return Si(e)}constructor(e,t={}){Co(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,Vg(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,mn.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof hr?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class eoe{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof hr?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&tn(Si(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new YV(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],tn(i[s]instanceof hr)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new hr(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function KV(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const D0="vs",ioe={[D0]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},xS="__LUMA_INJECT_DECLARATIONS__",XV=/void\s+main\s*\([^)]*\)\s*\{\n?/,QV=/}\n?[^{}]*$/,MI=[];function ZV(n,e,t,i=!1){const r=e===D0;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),MI.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(QV,l=>a+l));break;case"fs:#decl":r||(n=n.replace(xS,a));break;case"fs:#main-start":r||(n=n.replace(XV,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(QV,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(xS,""),i&&(n=n.replace(/\}\s*$/,s=>s+ioe[e])),n}function DI(n){const e={};return Ua(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const roe={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},CS="transform_uSize_",JV="transform_position";const hoe={10241:9728,10240:9728,10242:33071,10243:33071};class poe{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const h in this.samplerTextureMap)a[h]=i[this.samplerTextureMap[h]];this._setSourceTextureParameters();const u=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${CS}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${CS}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,u)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=_S(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return Ua(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new hr(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new Fs(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters(hoe)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=_V(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const u=l.split("\n"),h=u.slice();if(u.forEach((p,g,m)=>{if(s>0){const w=function(n,e){const t={},i=function(n){return WV(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${CS}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),h=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return Ua(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":h},samplerTextureMap:t}}return null}(p,e);if(w){const{updatedLine:C,inject:H}=w;h[g]=C,c=DI([c,H]),Object.assign(a,w.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=WV(n,["varying","out"]);return t&&t.name===e?t.type:null}(p,t))}),t){tn(i);const p=`${CS}${t}`;c=DI([c,{"vs:#decl":`uniform vec2 ${p};\n`,"vs:#main-start":` vec2 ${JV} = transform_getPos(${p});\n gl_Position = vec4(${JV}, 0, 1.);\n`}])}l=h.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=DI([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||qV({version:KV(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[roe].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const II={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function moe(n){let e=eU(n);return"object"===e?n?"type"in n?Object.assign({},n,II[n.type]):"value"in n?(e=eU(n.value),Object.assign({type:e},n,II[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},II[e])}function eU(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class OI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:u,fragmentShader:h}){Ua("string"==typeof e),this.name=e,this.vs=t||u,this.fs=i||h,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=moe(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:Ua(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&Ua(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function voe(n){return function(n){const e={},t={};return RI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}(nU(n))}function RI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof OI||(Ua("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),Ua(t.name,"shader module has no name"),(t=new OI(t)).dependencies=nU(t.dependencies)),t))}const NI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},Nf={};function Moe(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(NI).forEach(n=>{Nf[n]=n});const PI={};function iU(n,e,t={}){const i=NI[e];if(Ua(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in PI)return PI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),PI[e]=l,l}function AS(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=NI[e];Ua(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return Ua(!1===r||!0===r),r}(n,t))}function Gg(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const rU=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],Roe=[...rU,[Gg("attribute"),"in $1"],[Gg("varying"),"out $1"]],Noe=[...rU,[Gg("varying"),"in $1"]],sU=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Poe=[...sU,[Gg("in"),"attribute $1"],[Gg("out"),"varying $1"]],Foe=[...sU,[Gg("in"),"varying $1"]],FI="gl_FragColor",kI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,koe=/void\s+main\s*\([^)]*\)\s*\{\n?/;function TS(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const Voe=`\n\n${xS}\n\n`,oU={[D0]:"vertex",fs:"fragment"};function aU(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){Ua("string"==typeof t,"shader source must be a string");const h=i===D0,p=t.split("\n");let g=100,m="",w=t;0===p[0].indexOf("#version ")?(g=300,m=p[0],w=p.slice(1).join("\n")):m=`#version ${g}`;const C={};r.forEach(Be=>{Object.assign(C,Be.getDefines())}),Object.assign(C,s);let H=c?`${m}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${oU[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${oU[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:Moe(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return AS(n,Nf.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),AS(n,Nf.GLSL_DERIVATIVES)&&iU(n,Nf.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),AS(n,Nf.GLSL_FRAG_DATA)&&iU(n,Nf.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),AS(n,Nf.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(C)}\n${h?"":"precision highp float;\n\n"}\n`:`${m}\n`;const U=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),de={},Ae={},Pe={};for(const Be in a){const et="string"==typeof a[Be]?{injection:a[Be],order:0}:a[Be],wt=Be.match(/^(v|f)s:(#)?([\w-]+)$/);if(wt){const Ct=wt[3];wt[2]?"decl"===Ct?Ae[Be]=[et]:Pe[Be]=[et]:de[Be]=[et]}else Pe[Be]=[et]}for(const Be of r){u&&Be.checkDeprecations(w,u),H+=Be.getModuleSource(i,g);const wt=Be.injections[i];for(const vt in wt){const Ct=vt.match(/^(v|f)s:#([\w-]+)$/);if(Ct){const $t="decl"===Ct[2]?Ae:Pe;$t[vt]=$t[vt]||[],$t[vt].push(wt[vt])}else de[vt]=de[vt]||[],de[vt].push(wt[vt])}}return H+=Voe,H=ZV(H,i,Ae),H+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(U[i],de),H+=w,H=ZV(H,i,Pe),H=function(n,e,t){switch(e){case 300:return t?TS(n,Roe):function(n){const e=(n=TS(n,Noe)).match(kI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${FI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(koe,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${FI}\\b`,"g"),t)}return n}(n);case 100:return t?TS(n,Poe):function(n){const e=(n=TS(n,Foe)).match(kI);if(e){const t=e[1];n=n.replace(kI,"").replace(new RegExp(`\\b${t}\\b`,"g"),FI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(H,l?100:g,h),H}function Hoe(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const Koe={5126:Rr.bind(null,"uniform1fv",za,1,Mo),35664:Rr.bind(null,"uniform2fv",za,2,Mo),35665:Rr.bind(null,"uniform3fv",za,3,Mo),35666:Rr.bind(null,"uniform4fv",za,4,Mo),5124:Rr.bind(null,"uniform1iv",ch,1,Mo),35667:Rr.bind(null,"uniform2iv",ch,2,Mo),35668:Rr.bind(null,"uniform3iv",ch,3,Mo),35669:Rr.bind(null,"uniform4iv",ch,4,Mo),35670:Rr.bind(null,"uniform1iv",ch,1,Mo),35671:Rr.bind(null,"uniform2iv",ch,2,Mo),35672:Rr.bind(null,"uniform3iv",ch,3,Mo),35673:Rr.bind(null,"uniform4iv",ch,4,Mo),35674:Rr.bind(null,"uniformMatrix2fv",za,4,Ku),35675:Rr.bind(null,"uniformMatrix3fv",za,9,Ku),35676:Rr.bind(null,"uniformMatrix4fv",za,16,Ku),35678:ro,35680:ro,5125:Rr.bind(null,"uniform1uiv",MS,1,Mo),36294:Rr.bind(null,"uniform2uiv",MS,2,Mo),36295:Rr.bind(null,"uniform3uiv",MS,3,Mo),36296:Rr.bind(null,"uniform4uiv",MS,4,Mo),35685:Rr.bind(null,"uniformMatrix2x3fv",za,6,Ku),35686:Rr.bind(null,"uniformMatrix2x4fv",za,8,Ku),35687:Rr.bind(null,"uniformMatrix3x2fv",za,6,Ku),35688:Rr.bind(null,"uniformMatrix3x4fv",za,12,Ku),35689:Rr.bind(null,"uniformMatrix4x2fv",za,8,Ku),35690:Rr.bind(null,"uniformMatrix4x3fv",za,12,Ku),35678:ro,35680:ro,35679:ro,35682:ro,36289:ro,36292:ro,36293:ro,36298:ro,36299:ro,36300:ro,36303:ro,36306:ro,36307:ro,36308:ro,36311:ro},Xoe={},Qoe={},Zoe={},lU=[0];function LI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(lU[0]=n,n=lU);const r=n.length;if(r%e&&mn.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function Rr(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{tn(s===u,"Uniform length cannot change.");for(let p=0;p{const a=String(o+e);return hU(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:dU(s,c),warnings:dU(o,c)}}(i,this.source,this.shaderType,this.id);throw mn.error(`GLSL compilation errors in ${r}\n${s}`)(),mn.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class BI extends I0{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class jI extends I0{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const ks=5126,O0=5124,R0=5125,VI={[ks]:[ks,1,"float"],35664:[ks,2,"vec2"],35665:[ks,3,"vec3"],35666:[ks,4,"vec4"],[O0]:[O0,1,"int"],35667:[O0,2,"ivec2"],35668:[O0,3,"ivec3"],35669:[O0,4,"ivec4"],[R0]:[R0,1,"uint"],36294:[R0,2,"uvec2"],36295:[R0,3,"uvec3"],36296:[R0,4,"uvec4"],35670:[ks,1,"bool"],35671:[ks,2,"bvec2"],35672:[ks,3,"bvec3"],35673:[ks,4,"bvec4"],35674:[ks,8,"mat2"],35685:[ks,8,"mat2x3"],35686:[ks,8,"mat2x4"],35675:[ks,12,"mat3"],35687:[ks,12,"mat3x2"],35688:[ks,12,"mat3x4"],35676:[ks,16,"mat4"],35689:[ks,16,"mat4x2"],35690:[ks,16,"mat4x3"]};function yU(n){const e=VI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function bU(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=ks}for(const t in VI){const[i,r,s]=VI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class kae{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!Si(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=yU(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new ma(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=yU(i),l={location:e,name:t,accessor:new ma({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const Lae=35981,Bae=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class wU extends Wu{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",Bae),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=Lae}=e;return this.hash=t||"",this.vs="string"==typeof i?new BI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new jI(this.gl,{id:`${e.id}-fs`,source:r}):r,tn(this.vs instanceof BI),tn(this.fs instanceof jI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(Co(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new kae(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:u=c>0,vertexArray:h=null,transformFeedback:p,framebuffer:g,parameters:m={},uniforms:w,samplers:C}){if((w||C)&&(mn.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(w||{})),mn.priority>=e){const H=g?g.id:"default",U=`mode=${ah(this.gl,t)} verts=${i} instances=${c} indexType=${ah(this.gl,l)} isInstanced=${u} isIndexed=${a} Framebuffer=${H}`;mn.log(e,U)()}return tn(h),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||u&&0===c||(h.bindForDraw(i,c,()=>{if(void 0!==g&&(m=Object.assign({},m,{framebuffer:g})),p){const H=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return tn(!1),0}}(t);p.begin(H)}this._bindTextures(),fc(this.gl,m,()=>{a&&u?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&Si(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):u?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),p&&p.end()}),0))}setUniforms(e={}){mn.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!tae(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof Fs&&(s=s.texture),s instanceof Of)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&nae(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new BI({handle:r});break;case 35632:i.fs=new jI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ga(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),mn.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),mn.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||mn.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),u=this._getHash(t),h=this._getHash(i),p=c.map(de=>this._getHash(de.name)).sort(),g=o.map(de=>this._getHash(de)),m=Object.keys(r).sort(),w=Object.keys(s).sort(),C=[],H=[];for(const de of m)C.push(this._getHash(de)),C.push(this._getHash(r[de]));for(const de of w)H.push(this._getHash(de)),H.push(this._getHash(s[de]));const U=`${u}/${h}D${C.join("/")}M${p.join("/")}I${H.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[U]){const de=function(n,e){const{vs:t,fs:i}=e,r=voe(e.modules||[]);return{gl:n,vs:aU(n,Object.assign({},e,{source:t,type:D0,modules:r})),fs:aU(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:Hoe(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[U]=new wU(this.gl,{hash:U,vs:de.vs,fs:de.fs,varyings:o,bufferMode:a}),this._getUniforms[U]=de.getUniforms||(Ae=>{}),this._useCounts[U]=0}return this._useCounts[U]++,this._programCache[U]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":_0.chrome?"Chrome":_0.safari?"Safari":_0.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ha(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ha.MAX_ATTRIBUTES=Ha.MAX_ATTRIBUTES||e.getParameter(34921),Ha.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ha._setConstantFloatArray(e,t,i);break;case Int32Array:Ha._setConstantIntArray(e,t,i);break;case Uint32Array:Ha._setConstantUintArray(e,t,i);break;default:tn(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ha.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return tn(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:u}=i,{gl:h,gl2:p}=this;return e=Number(e),this.bind(()=>{h.bindBuffer(34962,t.handle),c?(tn(Si(h)),p.vertexAttribIPointer(e,r,s,o,a)):h.vertexAttribPointer(e,r,s,l,o,a),h.enableVertexAttribArray(e),p.vertexAttribDivisor(e,u||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ha.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new hr(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!OS||OS.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const $ae=/^(.+)__LOCATION_([0-9]+)$/,Wae=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class qae{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ha(e),rV(this,"VertexArray","v6.0",Wae),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new hr(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,mn.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const u=ma.resolve(l.accessor,this.accessors[o]||{},i,r),{size:h,type:p}=u;return tn(Number.isFinite(h)&&Number.isFinite(p)),{location:o,accessor:u}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=$ae.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof hr)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof hr)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof hr))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof hr){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return mn.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function P0(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=P0(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function EU(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,u,h,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof hr){const p=e,{data:g,changed:m}=p.getDebugData();let w;return u=m?"*":"",h=g,l=p.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?w=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${ah(r,s)})`:(c=!0,w=`${l} bytes`),{[i]:`${u}${P0(h,{size:o,isInteger:c})}`,"Format ":w}}return h=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${P0(h,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function Xae(n,e){const{type:t,size:i}=e,r=bU(t,i);return r?`${n} (${r.name})`:n}function SU({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){tn(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const p of l)!p.match(".*_.*")&&!p.match(s)&&UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)p.match(s)&&UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)a[p]||UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;let u=0;const h={};if(!i)for(const p in t){const g=t[p];a[p]||(u++,h[p]={Type:`NOT USED: ${g}`,[n]:P0(g)})}return{table:a,count:c,unusedTable:h,unusedCount:u}}function UI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?P0(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function xU(n){const{type:e,size:t}=n.accessor,i=bU(e,t);return i?`${i.name} ${n.name}`:n.name}const Jae={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function tle(n,e){const{attributeMap:t=Jae}=e||{};return t&&t[n]||n}function nle(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}tn(Number.isFinite(e.size),`attribute ${n} needs size`)}const CU=()=>{},sle={};class Yg{constructor(e,t={}){const{id:i=ga("model")}=t;tn(pS(e)),this.id=i,this.gl=e,this.id=t.id||ga("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||N0.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},tn(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return tn(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return tn(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=tle(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=ot({},o);delete c.value,i[a]=[new hr(n,l),c],nle(s,c)}}if(r){const s=r.value||r;tn(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new hr(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(Vg(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return hI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),mn.priority>=2&&(c=this._logDrawCallStart(2));const u=this.vertexArray.getDrawParams(),{isIndexed:h=u.isIndexed,indexType:p=u.indexType,indexOffset:g=u.indexOffset,vertexArrayInstanced:m=u.isInstanced}=this.props;m&&!this.isInstanced&&mn.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:w,instanceCount:C}=this,{onBeforeRender:H=CU,onAfterRender:U=CU}=this.props;H(),this.program.setUniforms(this.uniforms);const de=this.program.draw(Object.assign(sle,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:h,indexType:p,isInstanced:w,instanceCount:C,offset:h?g:0}));return U(),mn.priority>=2&&this._logDrawCallEnd(c,l,i),de}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return mn.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}tn(t instanceof wU,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new qae(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof hr&&t.delete()}}_setAnimationProps(e){this.animated&&tn(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(Vg(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new YV(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:mn.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=EU(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${Xae(s.name,a)}`),t[o]=EU(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=SU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:u}=SU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});u>0&&mn.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&mn.log("UNUSED UNIFORMS",Object.keys(a))();const h=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${xU(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${xU(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);mn.table(e,s)(),mn.table(e,o)(),mn.table(e+1,h)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),mn.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class zI{static isSupported(e){return Si(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();tn(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Yg(t,Object.assign({},e,{fs:e.fs||qV({version:KV(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(Vg(n.feedbackBuffers)&&Vg(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new eoe(e,t)),function(n){return!(Vg(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new poe(e,t)),tn(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function RS(){}const lle={onStart:RS,onUpdate:RS,onInterrupt:RS,onEnd:RS};class F0{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=ot(ot({},lle),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const mle={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new F0(i),this.attribute=t,this.attributeInTransition=new CI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=zV(e.size);return new zI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new hr(e,r),new hr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;HV(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)GV(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=xI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:UV(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new F0(i),this.attribute=t,this.attributeInTransition=new CI(e,Cn(ot({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new _a(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new Fs(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=zV(e.size);return new zI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new hr(e,r),new hr(e,r),new hr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)GV(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=xI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:UV(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),HV(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),_S(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class _le{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=zI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void Ri.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=mle[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(Ri.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const AU="attributeManager.invalidate";class Sle{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new _le(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;To("attribute.updateStart",t),t.allocate(i)&&To("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,To("attribute.updateEnd",t,i))}}function MU(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function DU(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=VV(r)))return;const o=Tle[r.type];if(!o)return void Ri.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(Cn(ot({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const NS={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:Dle}=NS;function Rle(n,e){if(!n.transitions)return null;const t={},i=GI(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&HI(n[r],e[r],s)&&(t[r]=!0)}return t}function IU({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=HI(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=HI(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function HI(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function Fle(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!Ule(i[r],e[r])){t=n(i),e=i;break}return t}}function zle(n,e){if(!e)return n;const t=ot(ot({},n),e);if("defines"in e&&(t.defines=ot(ot({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=ot({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function $I(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],p=e[10],g=e[11],m=e[12],w=e[13],C=e[14],H=e[15],U=t*a-i*o,de=t*l-r*o,Ae=t*c-s*o,Pe=i*l-r*a,Be=i*c-s*a,et=r*c-s*l,wt=u*w-h*m,vt=u*C-p*m,Ct=u*H-g*m,Bt=h*C-p*w,$t=h*H-g*w,gt=p*H-g*C,mt=U*gt-de*$t+Ae*Bt+Pe*Ct-Be*vt+et*wt;return mt?(n[0]=(a*gt-l*$t+c*Bt)*(mt=1/mt),n[1]=(r*$t-i*gt-s*Bt)*mt,n[2]=(w*et-C*Be+H*Pe)*mt,n[3]=(p*Be-h*et-g*Pe)*mt,n[4]=(l*Ct-o*gt-c*vt)*mt,n[5]=(t*gt-r*Ct+s*vt)*mt,n[6]=(C*Ae-m*et-H*de)*mt,n[7]=(u*et-p*Ae+g*de)*mt,n[8]=(o*$t-a*Ct+c*wt)*mt,n[9]=(i*Ct-t*$t-s*wt)*mt,n[10]=(m*Be-w*Ae+H*U)*mt,n[11]=(h*Ae-u*Be-g*U)*mt,n[12]=(a*vt-o*Bt-l*wt)*mt,n[13]=(t*Bt-i*vt+r*wt)*mt,n[14]=(w*de-m*Pe-C*U)*mt,n[15]=(u*Pe-h*de+p*U)*mt,n):null}function Pf(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=e[9],g=e[10],m=e[11],w=e[12],C=e[13],H=e[14],U=e[15],de=t[0],Ae=t[1],Pe=t[2],Be=t[3];return n[0]=de*i+Ae*a+Pe*h+Be*w,n[1]=de*r+Ae*l+Pe*p+Be*C,n[2]=de*s+Ae*c+Pe*g+Be*H,n[3]=de*o+Ae*u+Pe*m+Be*U,n[4]=(de=t[4])*i+(Ae=t[5])*a+(Pe=t[6])*h+(Be=t[7])*w,n[5]=de*r+Ae*l+Pe*p+Be*C,n[6]=de*s+Ae*c+Pe*g+Be*H,n[7]=de*o+Ae*u+Pe*m+Be*U,n[8]=(de=t[8])*i+(Ae=t[9])*a+(Pe=t[10])*h+(Be=t[11])*w,n[9]=de*r+Ae*l+Pe*p+Be*C,n[10]=de*s+Ae*c+Pe*g+Be*H,n[11]=de*o+Ae*u+Pe*m+Be*U,n[12]=(de=t[12])*i+(Ae=t[13])*a+(Pe=t[14])*h+(Be=t[15])*w,n[13]=de*r+Ae*l+Pe*p+Be*C,n[14]=de*s+Ae*c+Pe*g+Be*H,n[15]=de*o+Ae*u+Pe*m+Be*U,n}function FS(n,e,t){var o,a,l,c,u,h,p,g,m,w,C,H,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],u=e[4],h=e[5],p=e[6],g=e[7],m=e[8],w=e[9],C=e[10],H=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=p,n[7]=g,n[8]=m,n[9]=w,n[10]=C,n[11]=H,n[12]=o*i+u*r+m*s+e[12],n[13]=a*i+h*r+w*s+e[13],n[14]=l*i+p*r+C*s+e[14],n[15]=c*i+g*r+H*s+e[15]),n}function kS(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function RU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],p=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+u*i,n[6]=a*r+h*i,n[7]=l*r+p*i,n[8]=c*r-s*i,n[9]=u*r-o*i,n[10]=h*r-a*i,n[11]=p*r-l*i,n}function NU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],p=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+u*i,n[2]=a*r+h*i,n[3]=l*r+p*i,n[4]=c*r-s*i,n[5]=u*r-o*i,n[6]=h*r-a*i,n[7]=p*r-l*i,n}function FU(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function LS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}function kU(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return n[0]=u*c+g*-o+h*-l-p*-a,n[1]=h*c+g*-a+p*-o-u*-l,n[2]=p*c+g*-l+u*-a-h*-o,n[3]=e[3],n}!function(){var n=new ya(4);ya!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const LU=[0,0,0,0],fce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],pce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],gce=[0,0,0],mce=[0,0,0],_ce=PS(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=LU,l=LU,c=n.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:p}=BU(n,e,t);return p&&(l=n.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=LS([],l,o),s=i||s,o=Pf([],r,s),o=Pf([],o,fce)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(n,t,i),u=n.getDistanceScales(),h=[n.width*e,n.height*e],p=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:p,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:gce,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const m=n.getDistanceScales(c);switch(t){case ji.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerMeter2;break;case ji.LNGLAT:case ji.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerDegree2;break;case ji.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,m.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,m.unitsPerMeter2[2]]}}return g});function BU(n,e,t=mce){let r,i=t,s=!0;switch(r=e===ji.LNGLAT_OFFSETS||e===ji.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Kc.WEB_MERCATOR:(e===ji.LNGLAT||e===ji.CARTESIAN)&&(s=!1);break;case Kc.WEB_MERCATOR_AUTO_OFFSET:e===ji.LNGLAT?i=r:e===ji.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Kc.IDENTITY:i=n.position.map(Math.fround);break;case Kc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class wce extends bS{get ELEMENTS(){return Yu(!1),0}get RANK(){return Yu(!1),0}toString(){let e="[";if(Or.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new qn).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],u=n[9],h=n[10],p=n[11],g=n[12],m=n[13],w=n[14],C=n[15];return(e*o-t*s)*(h*C-p*w)-(e*a-i*s)*(u*C-p*m)+(e*l-r*s)*(u*w-h*m)+(t*a-i*o)*(c*C-p*g)-(t*l-r*o)*(c*w-h*g)+(i*l-r*a)*(c*m-u*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return $I(this,this),this.check()}multiplyLeft(e){return Pf(this,e,this),this.check()}multiplyRight(e){return Pf(this,this,e),this.check()}rotateX(e){return RU(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],p=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-u*i,n[2]=a*r-h*i,n[3]=l*r-p*i,n[8]=s*i+c*r,n[9]=o*i+u*r,n[10]=a*i+h*r,n[11]=l*i+p*r}(this,this,e),this.check()}rotateZ(e){return NU(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,u,h,p,g,m,w,C,H,U,de,Ae,Pe,Be,et,wt,vt,Ct,Bt,$t,gt,mt,Vt,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const WI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function Xu(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const gc=Math.PI,GU=gc/4,mc=gc/180,qI=180/gc,YI=4003e4,jS=85.051129;function VS([n,e]){return Xu(Number.isFinite(n)),Xu(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*mc+gc)/(2*gc),512*(gc+Math.log(Math.tan(GU+e*mc*.5)))/(2*gc)]}function Zg([n,e]){const t=n/512*(2*gc)-gc,i=2*(Math.atan(Math.exp(e/512*(2*gc)-gc))-GU);return[t*qI,i*qI]}function KI({latitude:n,longitude:e,highPrecision:t=!1}){Xu(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*mc),o=512/360,a=o/s,l=512/YI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=mc*Math.tan(n*mc)/s,h=512/YI*c,p=h/a*l;i.unitsPerDegree2=[0,o*c/2,h],i.unitsPerMeter2=[p,0,p]}return i}function $U(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=KI({longitude:t,latitude:i,highPrecision:!0}),u=VS(n);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=Zg(u),p=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],p]:h}function qU(n){return 2*Math.atan(.5/n)*qI}function YU(n,e){const[t,i,r=0]=n;return Xu(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Qg(e,[t,i,r,1])}function L0(n,e,t=0){const[i,r,s]=n;if(Xu(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Qg(e,[i,r,s,1]);const o=Qg(e,[i,r,0,1]),a=Qg(e,[i,r,1,1]),l=o[2],c=a[2];return VU([],o,a,l===c?0:((t||0)-l)/(c-l))}const KU=Math.PI/180;function XU(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Qg(i,[e,0,1,1]),s=Qg(i,[e,n.height,1,1]),c=Zg(VU([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const Bce=Math.PI/180,jce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],QI=[0,0,0],Uce={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Jg=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Kc.WEB_MERCATOR:Kc.WEB_MERCATOR_AUTO_OFFSET:Kc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&C0(t.projectionMatrix,this.projectionMatrix)&&C0(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=YU(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,u=L0([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[h,p,g]=this.unprojectPosition(u);return Number.isFinite(a)?[h,p,g]:Number.isFinite(r)?[h,p,r]:[h,p]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?VS(t):t}unprojectFlat(t){return this.isGeospatial?Zg(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?KI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Jg{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:u=!1,repeat:h=!1,worldOffset:p=0}=t;let{width:g,height:m,altitude:w=1.5}=t;const C=Math.pow(2,s);g=g||1,m=m||1,w=Math.max(.75,w);const{fov:H,aspect:U,focalDistance:de,near:Ae,far:Pe}=function({width:n,height:e,fovy:t=qU(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=qU(i));const a=.5*t*mc,l=function(n){return.5/Math.tan(.5*n*mc)}(t),c=r*mc,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:g,height:m,pitch:o,altitude:w,nearZMultiplier:l,farZMultiplier:c});let Be=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return FS(o,o,[0,0,-i]),RU(o,o,-e*mc),NU(o,o,t*mc),kS(o,o,[r/=n,r,r]),s&&FS(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:m,pitch:o,bearing:a,scale:C,altitude:w});p&&(Be=(new qn).translate([512*p,0,0]).multiplyLeft(Be)),super(Cn(ot({},t),{width:g,height:m,viewMatrix:Be,longitude:r,latitude:i,zoom:s,orthographic:u,fovyRadians:H,aspect:U,focalDistance:de,near:Ae,far:Pe})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=w,this.orthographic=u,this._subViewports=h?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(Cn(ot({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return $U(t,i)}panByPosition(t,i){const r=L0(i,this.pixelUnprojectionMatrix),o=BS([],this.projectFlat(t),jU([],r)),a=BS([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*KU:Math.atan(.5/n.altitude))>(90-n.pitch)*KU-.01?(l=XU(n,0,e),c=XU(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:Xu(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=VS([a,HU(u,-jS,jS)]),p=VS([c,HU(l,-jS,jS)]),g=[Math.max(Math.abs(p[0]-h[0]),i),Math.max(Math.abs(p[1]-h[1]),i)],m=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];Xu(m[0]>0&&m[1]>0);const w=m[0]/g[0],C=m[1]/g[1],Ae=Zg([(p[0]+h[0])/2+(s.right-s.left)/2/w,(p[1]+h[1])/2+(s.bottom-s.top)/2/C]),Pe=Math.min(r,WI(Math.abs(Math.min(w,C))));return Xu(Number.isFinite(Pe)),{longitude:Ae[0],latitude:Ae[1],zoom:Pe}}(ot({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function ZI(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof tz){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function nz(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=LS([],[o,a,l,1],t)),i){case ji.LNGLAT:return ZI([o,a,l],e,s);case ji.LNGLAT_OFFSETS:return ZI([o+r[0],a+r[1],l+(r[2]||0)],e,s);case ji.METER_OFFSETS:return ZI($U(r,[o,a,l]),e,s);case ji.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const Gce={10241:9987,10240:9729,10242:33071,10243:33071},JI={},qce={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||j0(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>eO(n,e)},accessor:{validate(n,e){const t=US(n);return"function"===t||t===US(e.value)},equal:(n,e,t)=>"function"==typeof e||eO(n,e)},array:{validate:(n,e)=>e.optional&&!n||j0(n),equal:(n,e,t)=>t.compare?eO(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof _a)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new _a(t,Cn(ot({},e),{parameters:ot(ot(ot({},Gce),i),n.props.textureParameters)}));return JI[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof _a)||JI[n.id]&&(n.delete(),delete JI[n.id])}(n)}}};function eO(n,e){if(n===e)return!0;if(!j0(n)||!j0(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=oue,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[rue]||{},i=e[iue]||e,r=e[sue]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(BV(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return oi(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var h,c=!0,u=!1;try{for(var g,m,p=nO(t);c=(g=yield p.next()).done,m=yield g.value,!c;c=!0){const C=m,{dataTransform:H}=i.component?i.component.props:{};a=H?H(C,a):a.concat(C),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(C){u=!0,h=C}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(u)throw h}}const w=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;w&&w(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:oz,ASYNC_RESOLVED:az,ASYNC_DEFAULTS:aue}=NS,lue={};let cue=0,uue=(()=>{class n{constructor(){this.props=Xce.apply(this,arguments),this.id=this.props.id,this.count=cue++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[aue])s in i[az]?r[s]=i[az][s]:s in i[oz]&&(r[s]=i[oz][s]);return new this.constructor(ot(ot(ot({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new sz({})}}return n.componentName="Component",n.defaultProps=lue,n})();class due extends sz{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const _c=n=>"function"==typeof n,uh=n=>null!==n&&"object"==typeof n,cz=n=>uh(n)&&n.constructor==={}.constructor,hue=n=>n&&"function"==typeof n[Symbol.iterator],fue=n=>n&&"function"==typeof n[Symbol.asyncIterator],U0=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,em=n=>"undefined"!=typeof Blob&&n instanceof Blob,uz=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||uh(n)&&_c(n.tee)&&_c(n.cancel)&&_c(n.getReader))(n)||(n=>uh(n)&&_c(n.read)&&_c(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function Ff(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function iO(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function rO(n){var e,t;let i;return Ff(n,"null loader"),Ff(iO(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=Cn(ot({},n=n[0]),{options:ot(ot({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const Zc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},sO=Zc.global||Zc.self||Zc.window||{},bue="object"!=typeof process||"[object process]"!==String(process)||process.browser,dz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);dz&&parseFloat(dz[1]);const aO={};function vue(n){for(const e in aO)n.startsWith(e)&&(n=n.replace(e,aO[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const wue=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Eue=/^([-\w.]+\/[-\w.+]+)/;function Sue(n){const e=Eue.exec(n);return e?e[1]:n}function hz(n){const e=wue.exec(n);return e?e[1]:""}const xue=/\?.*/;function $S(n){if(U0(n)){const e=lO(n.url||"");return{url:e,type:Sue(n.headers.get("content-type")||"")||hz(e)}}return em(n)?{url:lO(n.name||""),type:n.type||""}:"string"==typeof n?{url:lO(n),type:hz(n)}:{url:"",type:""}}function Cue(n){return U0(n)?n.headers["content-length"]||-1:em(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function lO(n){return n.replace(xue,"")}function fz(n){return cO.apply(this,arguments)}function cO(){return(cO=oi(function*(n){if(U0(n))return n;const e={},t=Cue(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=$S(n);r&&(e["content-type"]=r);const s=yield Mue(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function Aue(n){return uO.apply(this,arguments)}function uO(){return(uO=oi(function*(n){if(!n.ok){const e=yield Tue(n);throw new Error(e)}})).apply(this,arguments)}function Tue(n){return dO.apply(this,arguments)}function dO(){return(dO=oi(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function Mue(n){return hO.apply(this,arguments)}function hO(){return(hO=oi(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${Due(n.slice(0,5))}`:null})).apply(this,arguments)}function Due(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const mz={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){Kn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},Rue={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function pO(){sO.loaders=sO.loaders||{};const{loaders:n}=sO;return n._state=n._state||{},n._state}const gO=()=>{const n=pO();return n.globalOptions=n.globalOptions||ot({},mz),n.globalOptions};function Nue(n,e,t,i){return t=t||[],function(n,e){yz(n,null,mz,Rue,e);for(const t of e)yz(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=ot({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new Iue),vz(r,gO()),vz(r,e),r}(e,n,i)}function _z(n,e){const t=gO(),i=n||t;return"function"==typeof i.fetch?i.fetch:uh(i.fetch)?r=>pz(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:pz}function yz(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&uh(n[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in t)&&!c&&!u)if(a in i)gz.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const h=Fue(a,r);gz.warn(`${s} loader option '${o}${a}' not recognized. ${h}`)()}}}function Fue(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function vz(n,e){for(const t in e)t in e&&(n[t]=cz(e[t])&&cz(n[t])?ot(ot({},n[t]),e[t]):e[t])}function Jc(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function Bue(n,e="3.0.12"){return Jc(n,"no worker provided"),!(!e||!n.version)}const eu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},jue=eu.global||eu.self||eu.window||{},mO="object"!=typeof process||"[object process]"!==String(process)||process.browser,_O="function"==typeof importScripts,Vue="undefined"!=typeof window&&void 0!==window.orientation,wz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),yO=(wz&&parseFloat(wz[1]),new Map);function Ez(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function Sz(n,e=!0,t){const i=t||new Set;if(n)if(xz(n))i.add(n);else if(xz(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)Sz(n[r],e,i);return void 0===t?Array.from(i):[]}function xz(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const bO=()=>{};class Cz{static isSupported(){return"undefined"!=typeof Worker}constructor(e){Kn(this,"name",void 0),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"terminated",!1),Kn(this,"worker",void 0),Kn(this,"onMessage",void 0),Kn(this,"onError",void 0),Kn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;Jc(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=bO,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=bO,this.onError=bO,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||Sz(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){Jc(n.source&&!n.url||!n.source&&n.url);let e=yO.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?Ez(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),yO.set(n.url,e)),n.source&&(e=Ez(n.source),yO.set(n.source,e))),Jc(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class Gue{constructor(e,t){Kn(this,"name",void 0),Kn(this,"workerThread",void 0),Kn(this,"isRunning",void 0),Kn(this,"result",void 0),Kn(this,"_resolve",void 0),Kn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){Jc(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){Jc(this.isRunning),this.isRunning=!1,this._reject(e)}}class $ue{constructor(e){Kn(this,"name","unnamed"),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"maxConcurrency",1),Kn(this,"maxMobileConcurrency",1),Kn(this,"onDebug",()=>{}),Kn(this,"reuseWorkers",!0),Kn(this,"props",{}),Kn(this,"jobQueue",[]),Kn(this,"idleQueue",[]),Kn(this,"count",0),Kn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=ot(ot({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return oi(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return oi(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new Gue(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class Qu{static isSupported(){return Cz.isSupported()}static getWorkerFarm(e={}){return Qu._workerFarm=Qu._workerFarm||new Qu({}),Qu._workerFarm.setProps(e),Qu._workerFarm}constructor(e){Kn(this,"props",void 0),Kn(this,"workerPools",new Map),this.props=ot({},Wue),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=ot(ot({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new $ue({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function Yue(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return Jc(r),r}function Kue(n,e){return!!Qu.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function Xue(n,e,t,i,r){return vO.apply(this,arguments)}function vO(){return(vO=oi(function*(n,e,t,i,r){const s=n.id,o=Yue(n,t),l=Qu.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",Que.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function Que(n,e,t,i){return wO.apply(this,arguments)}function wO(){return(wO=oi(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}Kn(Qu,"_workerFarm",void 0);var Tz=Je(521);function Mz(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return Tz.toArrayBuffer?Tz.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function tde(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function Dz(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function nde(n){return SO.apply(this,arguments)}function SO(){return(SO=oi(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=nO(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return tde(...e)})).apply(this,arguments)}const sde=262144;function Iz(n){this.wrapped=n}function z0(n){return new Iz(n)}function H0(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,u=c instanceof Iz;Promise.resolve(u?c.wrapped:c).then(function(h){u?r("return"===o?"return":"next",h):s(l.done?"return":"normal",h)},function(h){r("throw",h)})}catch(h){s("throw",h)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var u={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=u:(e=t=u,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function CO(n){return function(){return new H0(n.apply(this,arguments))}}function AO(){return(AO=CO(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(DO)}function fde(n,e,t){return IO.apply(this,arguments)}function IO(){return(IO=oi(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return hde(n,e);if(em(n)&&(n=yield fz(n)),U0(n)){const r=n;return yield Aue(r),e.binary?yield r.arrayBuffer():yield r.text()}if(uz(n)&&(n=dde(n,t)),hue(n)||fue(n))return nde(n);throw new Error(DO)})).apply(this,arguments)}function gde(n,e,t=null){if(t)return t;const i=ot({fetch:_z(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function mde(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const Rz=()=>{const n=pO();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function Nz(n){const e=Rz();n=Array.isArray(n)?n:[n];for(const t of n){const i=rO(t);e.find(r=>i===r)||e.unshift(i)}}const yde=/\.([^.]+)$/;function bde(n){return NO.apply(this,arguments)}function NO(){return(NO=oi(function*(n,e=[],t,i){if(!Fz(n))return null;let r=Pz(n,e,Cn(ot({},t),{nothrow:!0}),i);if(r)return r;if(em(n)&&(r=Pz(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(kz(n));return r})).apply(this,arguments)}function Pz(n,e=[],t,i){if(!Fz(n))return null;if(e&&!Array.isArray(e))return rO(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...Rz()),function(n){for(const e of n)rO(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=$S(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=PO(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&yde.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||PO(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(Cde(e,t))return t}else if(ArrayBuffer.isView(e)){if(Lz(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&Lz(e,0,t))return t;return null}(e,n),a=a||PO(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(kz(n));return s}function Fz(n){return!(n instanceof Response&&204===n.status)}function kz(n){const{url:e,type:t}=$S(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?FO(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?FO(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function PO(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function Cde(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function Lz(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let tu=new Uint8ClampedArray(0);const kde={data:{type:"data",value:Pde,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=Cn(ot({},r),{fetch:Cn(ot({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:G0(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):G0(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:ji.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let $0=(()=>{class n extends uue{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=nz(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=YU(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=ot({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===ji.DEFAULT&&(t=i.isGeospatial?ji.LNGLAT:ji.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=BU(t,i,r),h=nz(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(h,h,t.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===ji.DEFAULT||t===ji.LNGLAT||t===ji.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){pc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=zle(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const u of c)o.invalidateAll(u);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:u}=o.attributes,h=c||u;h&&(l&&h.constant&&(h.constant=!1,o.invalidate(h.id)),!h.value&&!l&&(h.constant=!0,h.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!Fde({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(tu.length/3);if(this.internalState.usesPickingColorCache=!0,rBz&&Ri.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),tu=x0.allocate(tu,i,{size:3,copy:!0,maxCount:Math.max(i,Bz)});const s=Math.floor(tu.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const u of this.props.extensions)u.draw.call(this,c,u);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&To("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=IU({newProps:n,oldProps:e,propTypes:GI(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&OU(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&OU(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:Fle(n,e),transitionsChanged:Rle(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=GI(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new Sle(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){pc(!this.internalState&&!this.state),pc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new due({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Ri.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new Mle(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){To("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=kde,n})(),jz=(()=>{class n extends $0{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:p,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:C,fetch:H,_subLayerProps:U}=this.props,de={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:p,wrapLongitude:g,positionFormat:m,modelMatrix:w,extensions:C,fetch:H},Ae=U&&U[t.id],Pe=Ae&&Ae.updateTriggers,Be=t.id||"sublayer";if(Ae){const et=this.constructor._propTypes,wt=t.type?t.type._propTypes:{};for(const vt in Ae){const Ct=wt[vt]||et[vt];Ct&&"accessor"===Ct.type&&(Ae[vt]=this.getSubLayerAccessor(Ae[vt]))}}Object.assign(de,t,Ae),de.id="".concat(this.props.id,"-").concat(Be),de.updateTriggers=ot(ot({all:this.props.updateTriggers.all},t.updateTriggers),Pe);for(const et of C){const wt=et.getSubLayerProps.call(this,et);wt&&Object.assign(de,wt,{updateTriggers:Object.assign(de.updateTriggers,wt.updateTriggers)})}return de}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=EI(t,Boolean),this.internalState.subLayers=t),To("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const Bde=/([0-9]+\.?[0-9]*)(%|px)/;function qS(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(Bde);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function YS(n,e){return n.relative?Math.round(n.position*e):n.position}function W0(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&W0(i,r)))return!1}return!0}class jO{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:u=1e3,modelMatrix:h=null,viewportInstance:p=null,type:g=Jg}=e;pc(!p||p instanceof Jg),this.viewportInstance=p,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=Cn(ot({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:u,modelMatrix:h}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):W0(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=ot({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:YS(this._x,e),y:YS(this._y,t),width:YS(this._width,e),height:YS(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),ot(ot({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(ot(ot(ot({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=qS(e),this._y=qS(t),this._width=qS(i),this._height=qS(r)}}const q0=()=>{},Vz={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:q0,onTransitionInterrupt:q0,onTransitionEnd:q0};class jde{constructor(e,t={}){this.ControllerState=e,this.props=ot(ot({},Vz),t),this.propsInTransition=null,this.transition=new F0(t.timeline),this.onViewStateChange=t.onViewStateChange||q0,this.onStateChange=t.onStateChange||q0,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=ot(ot({},Vz),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=ot(ot({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(ot(ot({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const Uz=["longitude","latitude","zoom","bearing","pitch"],Ude=["longitude","latitude","zoom"];class zz extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!C0(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];pc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:Uz,extract:Uz,required:Ude}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=yS(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(ot(ot({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,yS(e.around,t.around,i)))}return r}}const dh={transitionDuration:0},zde={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},XS=n=>1-(1-n)*(1-n),tm_WHEEL=["wheel"],tm_PAN=["panstart","panmove","panend"],tm_PINCH=["pinchstart","pinchmove","pinchend"],tm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],tm_DOUBLE_TAP=["doubletap"],tm_KEYBOARD=["keydown"];class VO{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new jde(e,Cn(ot({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&Cn(ot({},zde),{transitionInterpolator:new zz({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,u=Boolean(this.onViewStateChange);this.toggleEvents(tm_WHEEL,u&&i),this.toggleEvents(tm_PAN,u&&(r||s)),this.toggleEvents(tm_PINCH,u&&(a||l)),this.toggleEvents(tm_TRIPLE_PAN,u&&l),this.toggleEvents(tm_DOUBLE_TAP,u&&o),this.toggleEvents(tm_KEYBOARD,u&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=ot(ot({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,dh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,Cn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:XS}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,Cn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:XS}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,Cn(ot({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,dh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,Cn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:XS}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,dh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,dh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,Cn(ot({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:XS}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?Cn(ot({},t),{transitionInterpolator:new zz(Cn(ot({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:dh}}class Hz{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const hh_target=[0,0,0];class QS extends Hz{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=hh_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:u=-(1/0),maxZoom:h=Infinity,startPanPosition:p,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:C,startZoom:H}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:u,maxZoom:h}),this._state={startPanPosition:p,startRotatePos:g,startRotationX:m,startRotationOrbit:w,startZoomPosition:C,startZoom:H},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let u=(e[0]-r[0])/a;(s<-90||s>90)&&(u*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*u}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(Cn(ot({},this._viewportProps),{zoom:a}));return this._getUpdatedState(ot({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),Va(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new QS(ot(ot(ot({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=Va(r,i,t),e.rotationX=Va(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class Gde extends VO{constructor(e){super(QS,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class $de extends VO{constructor(e){e.dragMode=e.dragMode||"pan",super(QS,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const Wde=(new qn).lookAt({eye:[0,0,1]});function qde({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new qn).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class Yde extends Jg{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(Cn(ot({},e),{longitude:null,position:a,viewMatrix:Wde.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:qde({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=BS([],e,jU([],L0(t,this.pixelUnprojectionMatrix)));return{target:BS([],this.center,r)}}}let Kde=(()=>{class n extends jO{constructor(t){super(Cn(ot({},t),{type:Yde}))}get controller(){return this._getControllerProps({type:$de})}}return n.displayName="OrthographicView",n})();const ZS=Math.PI/180;function Xde({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*ZS/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new qn).lookAt({eye:l,up:a});c.rotateX(i*ZS),"Z"===t?c.rotateZ(r*ZS):c.rotateY(r*ZS);const u=Math.pow(2,s)/(n||1);return c.scale(u),c}class Qde extends Jg{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(Cn(ot({},e),{longitude:null,viewMatrix:Xde({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=L0([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let Zde=(()=>{class n extends jO{constructor(t={}){const{orbitAxis:i="Z"}=t;super(Cn(ot({},t),{orbitAxis:i,type:Qde}))}get controller(){return this._getControllerProps({type:Gde})}}return n.displayName="OrbitView",n})();const Jde=[255,255,255],ehe=1;let the=0;class Gz{constructor(e={}){const{color:t=Jde}=e,{intensity:i=ehe}=e;this.id=e.id||"ambient-".concat(the++),this.color=t,this.intensity=i,this.type="ambient"}}const nhe=[255,255,255],ihe=1,rhe=[0,0,-1];let she=0;class $z{constructor(e={}){const{color:t=nhe}=e,{intensity:i=ihe}=e,{direction:r=rhe}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(she++),this.color=t,this.intensity=i,this.type="directional",this.direction=new Ao(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class Wz{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=ot({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class UO extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=ot({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return $u(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){$u(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,u=i&&i[c.id];r(c);const h=this._getDrawLayerParams(c,e);e.view=u;const p=c.subViewports||[c];for(const g of p){e.viewport=g;const m=this._drawLayersInViewport(o,e,h);a.push(m)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=qz(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let u=0;uhI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};$u(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const u=t[l]=t[l]||qz(e[l],e);c=u(r,s),t[a]=u}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class che extends UO{constructor(e,t){super(e,t),this.shadowMap=new _a(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new zg(e,{format:33189,width:1,height:1}),this.fbo=new Fs(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;fc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=jg(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(Cn(ot({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const dhe=Object.keys(ji).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(ji[n],";")).join(""),hhe=Object.keys(Kc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Kc[n],";")).join(""),fhe="".concat(dhe,"\n").concat(hhe,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),phe={},zO={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:fhe,getUniforms:function(n=phe){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=ji.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===ji.DEFAULT&&(i=n.isGeospatial?ji.LNGLAT:ji.CARTESIAN);const o=_ce({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||pce,o}(n):{}}},yhe=PS(function({viewport:n,center:e}){return new qn(n.viewProjectionMatrix).invert().transform(e)}),bhe=PS(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=L0([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new Ao(n.center).negate()),l=s.map(u=>a.transform(u)),c=(new qn).ortho({left:Math.min(...l.map(u=>u[0])),right:Math.max(...l.map(u=>u[0])),bottom:Math.min(...l.map(u=>u[1])),top:Math.max(...l.map(u=>u[1])),near:Math.min(...l.map(u=>-u[2])),far:Math.max(...l.map(u=>-u[2]))});t.push(c.multiplyRight(o))}return t}),vhe=[0,0,0,1],whe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],HO={name:"shadow",dependencies:[zO],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||vhe,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=yhe({viewport:n.viewport,center:e.project_uCenter}),r=[],s=bhe({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},Ahe={color:[255,255,255],intensity:1},Yz=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],The=[0,0,0,200/255];class GO extends Wz{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=The,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=N0.getDefaultProgramManager(e),HO&&this.programManager.addDefaultModule(HO)),this.dummyShadowMap||(this.dummyShadowMap=new _a(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(HO),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new qn).lookAt({eye:new Ao(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=Dhe++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class Ihe{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=G0(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class Ohe{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new Ihe(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const Rhe=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},zO],Nhe=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function Phe(n){const e=N0.getDefaultProgramManager(n);for(const t of Rhe)e.addDefaultModule(t);for(const t of Nhe)e.addShaderHook(t);return e}const Lhe=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class Bhe{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new Ohe({gl:e,protocol:"deck://"}),this.context=Cn(ot({},Lhe),{layerManager:this,gl:e,deck:t,programManager:e&&Phe(e),stats:i||new sI({id:"deck.gl"}),viewport:r||new Jg({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new Kz,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){To("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=EI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return To("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?Ri.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&Ri.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class jhe{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=EI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!W0(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):Ri.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(ot({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=Cn(ot(ot(ot({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let u=r[a.id];a.controller&&!u&&(s=!0),(s||!a.controller)&&u&&(u.finalize(),u=null),this.controllers[a.id]=this._updateController(a,l,c,u),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class Uhe extends Hz{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:u=20,minZoom:h=0,maxPitch:p=60,minPitch:g=0,startPanLngLat:m,startZoomLngLat:w,startRotatePos:C,startBearing:H,startPitch:U,startZoom:de,normalize:Ae}={}){pc(Number.isFinite(s)),pc(Number.isFinite(r)),pc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:u,minZoom:h,maxPitch:p,minPitch:g,normalize:Ae}),this._state={startPanLngLat:m,startZoomLngLat:w,startRotatePos:C,startBearing:H,startPitch:U,startZoom:de},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(Cn(ot({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(Cn(ot({},this._viewportProps),{zoom:o}));return this._getUpdatedState(ot({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(ot(ot(ot({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=Va(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=Va(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=zU(t+180,360)-180),(o<-180||o>180)&&(o=zU(o+180,360)-180);const a=WI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Zg([0,l])[1];if(iu&&(i=u)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Va(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=Va(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let u=0;return r>0?Math.abs(l-o)>5&&(u=r/(o-l)*1.2):r<0&&o>5&&(u=1-s/o),u=Math.min(1,Math.max(-1,u)),{deltaScaleX:c,deltaScaleY:u}}}class zhe extends VO{constructor(e){e.dragMode=e.dragMode||"pan",super(Uhe,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let Hhe=(()=>{class n extends jO{constructor(t){super(Cn(ot({},t),{type:tz}))}get controller(){return this._getControllerProps({type:zhe})}}return n.displayName="MapView",n})();const Ghe=new GO;class $he{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!W0(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof GO)||this._internalEffects.push(Ghe)}}class Whe extends UO{}const Qz={blendFunc:[1,0,32771,0],blendEquation:32774};class Zz extends UO{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:u},pass:h="picking",redrawReason:p,pickZ:g}){const m=this.gl;return this.pickZ=g,fc(m,Cn(ot({scissorTest:!0,scissor:[a,l,c,u],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},Qz),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:h,redrawReason:p})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:Cn(ot({},Qz),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return ot(ot({},e.props.parameters),i)}}class Yhe{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new Whe(e),this.pickLayersPass=new Zz(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||Fs.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(Cn(ot({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,To("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new Fs(this.gl),new Fs(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const Khe={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function Xhe({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,p=0;for(let g=0;gu)p+=4*l;else for(let C=0;C=0){const U=C+o-t,de=U*U+w;de<=u&&(u=de,h=p)}p+=4}}if(h>=0){const g=n[h+3]-1,m=n.slice(h,h+4),w=e[g];if(w){const C=w.decodePickingColor(m),H=Math.floor(h/4/l);return{pickedColor:m,pickedLayer:w,pickedObjectIndex:C,pickedX:o+(h/4-H*l),pickedY:a+H}}Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return Khe}function Jz({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,u=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(p=>i({layer:l,viewport:p,isPicking:!0,renderPass:"picking:".concat(e)}))),h=u&&u.unproject([s-u.x,o-u.y],{targetZ:a});return{color:null,layer:null,viewport:u,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:h,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function Zhe(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const h=t.index,p=t.layerId,g=o&&o.props.id;if(g!==p||a!==h){if(g!==p){const m=r.find(w=>w.props.id===p);m&&l.unshift(m)}t.layerId=g,t.index=a,t.info=null}}const c=Jz(n),u=new Map;return u.set(null,c),l.forEach(h=>{let p=ot({},c);h===o&&(p.color=s,p.index=a,p.picked=!0),p=e4({layer:h,info:p,mode:i}),h===o&&"hover"===i&&(t.info=p),u.set(p.layer.id,p),"hover"===i&&p.layer.updateAutoHighlight(p)}),u}function e4({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class efe{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new Zz(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(p=>p.id===o):null,c=a&&r.find(p=>p.id===a)||r[0],u=c&&c.unproject([e-c.x,t-c.y]),h={x:e,y:t,viewport:c,coordinate:u,layer:l};return l?ot(ot({},s),h):Object.assign(h,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new Fs(e),Fs.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new Fs(e),this.depthFBO.attach({36064:new _a(e,{format:Si(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(Ri.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:u}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:Jz({viewports:i,x:r,y:s})};this._resizeBuffer();const h=jg(this.gl),p=nI(this.gl,[r,s],!0),g=[p.x+Math.floor(p.width/2),p.y+Math.floor(p.height/2)],m=Math.round(o*h),{width:w,height:C}=this.pickingFBO,H=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:m,deviceWidth:w,deviceHeight:C});let U;const de=[],Ae={};for(let Pe=0;Pe=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:u,deviceRect:{x:g,y:H,width:w.x+w.width-g,height:m-H},pass:"picking:".concat(l),redrawReason:l}),layers:e}),Pe=new Map,Be=Number.isFinite(c);for(let et=0;et=c);et++){const wt=Ae[et];let vt={color:wt.pickedColor,layer:null,index:wt.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:h};vt=e4({layer:wt.pickedLayer,info:vt,mode:l}),Pe.has(vt.object)||Pe.set(vt.object,vt)}return Array.from(Pe.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:u,y:h,width:p,height:g}=s,m=new(l?Float32Array:Uint8Array)(p*g*4);return _S(c,{sourceX:u,sourceY:h,sourceWidth:p,sourceHeight:g,target:m}),m}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const tfe={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class nfe{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,tfe),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function t4(n,e){if(!n)throw new Error(e)}const nu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},n4=nu.global||nu.self||nu.window,rfe="object"!=typeof process||"[object process]"!==String(process)||process.browser,i4="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:sfe}=(i4&&parseFloat(i4[1]),n4),$O="undefined"!=typeof Image,WO="undefined"!=typeof ImageBitmap,ofe=Boolean(sfe),qO=!!rfe||ofe;function r4(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function s4(n){switch(r4(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const cfe=/^data:image\/svg\+xml/,ufe=/\.svg((\?|#).*)?$/;function YO(n){return n&&(cfe.test(n)||ufe.test(n))}function dfe(n,e){if(YO(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return a4(n,e)}function a4(n,e){if(YO(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function l4(n,e,t){return KO.apply(this,arguments)}function KO(){return(KO=oi(function*(n,e,t){const i=dfe(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield hfe(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function hfe(n,e){return XO.apply(this,arguments)}function XO(){return(XO=oi(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const ffe={};let c4=!0;function pfe(n,e,t){return QO.apply(this,arguments)}function QO(){return(QO=oi(function*(n,e,t){let i;i=YO(t)?yield l4(n,e,t):a4(n,t);const r=e&&e.imagebitmap;return yield gfe(i,r)})).apply(this,arguments)}function gfe(n){return ZO.apply(this,arguments)}function ZO(){return(ZO=oi(function*(n,e=null){if((mfe(e)||!c4)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),c4=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function mfe(n){for(const e in n||ffe)return!1;return!0}const iu=!1,Y0=!0;function JO(n){const e=K0(n);return function(n){const e=K0(n);return e.byteLength>=24&&2303741511===e.getUint32(0,iu)?{mimeType:"image/png",width:e.getUint32(16,iu),height:e.getUint32(20,iu)}:null}(e)||function(n){const e=K0(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,iu)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,iu)?{mimeType:"image/gif",width:e.getUint16(6,Y0),height:e.getUint16(8,Y0)}:null}(e)||function(n){const e=K0(n);return e.byteLength>=14&&16973===e.getUint16(0,iu)&&e.getUint32(2,Y0)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Y0),height:e.getUint32(22,Y0)}:null}(e)}function K0(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function Efe(n,e){const{mimeType:t}=JO(n)||{},{_parseImageNode:i}=n4;return t4(i),i(n,t,e)}function eR(){return(eR=oi(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(xfe(r)){case"imagebitmap":a=yield pfe(n,e,s);break;case"image":a=yield l4(n,e,s);break;case"data":a=yield Efe(n,e);break;default:t4(!1)}return"data"===r&&(a=s4(a)),a})).apply(this,arguments)}function xfe(n){switch(n){case"auto":case"data":return function(){if(WO)return"imagebitmap";if($O)return"image";if(qO)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return WO||$O||qO;case"imagebitmap":return WO;case"image":return $O;case"data":return qO;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const tR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return eR.apply(this,arguments)},tests:[n=>Boolean(JO(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var nm=Je(761);const Afe={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},X0="8.5.8",JS=nm.CO.deck&&nm.CO.deck.VERSION;if(JS&&JS!==X0)throw new Error("deck.gl - multiple versions detected: ".concat(JS," vs ").concat(X0));JS||(Ri.log(1,"deck.gl ".concat(X0))(),nm.CO.deck=Object.assign(nm.CO.deck||{},{VERSION:X0,version:X0,log:Ri,_registerLoggers:function(n){AI=n}}),Nz([Afe,[tR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const Tfe=nm.CO.deck;class ex extends Wu{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=Si(e),r=vV(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:tn(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return ex.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const u4=mS()&&"undefined"!=typeof document;let Lfe=0;class Bfe{constructor(e={}){const{onCreateContext:t=(C=>eV(C)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:u=!1,createFramebuffer:h=!1,autoResizeViewport:p=!0,autoResizeDrawingBuffer:g=!0,stats:m=If.get("animation-loop-"+Lfe++)}=e;let{useDevicePixels:w=!0}=e;"useDevicePixelRatio"in e&&(mn.deprecated("useDevicePixelRatio","useDevicePixels")(),w=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:u,createFramebuffer:h},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=m,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:p,autoResizeDrawingBuffer:g,useDevicePixels:w}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return tn("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=ex.isSupported(this.gl,["timers"])?new ex(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return oi(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return mn.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=u4?new Promise((e,t)=>{u4&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?rI(this.props.gl,e):this.onCreateContext(e),!pS(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){$u(n,tI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(mn.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(mn.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new Fs(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var jfe=Je(524),tx=Je.n(jfe);const Vfe={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(tx().MouseInput);const Gfe=tx().Manager,ru=tx(),$fe=ru?[[ru.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[ru.Rotate,{enable:!1}],[ru.Pinch,{enable:!1}],[ru.Swipe,{enable:!1}],[ru.Pan,{threshold:0,enable:!1}],[ru.Press,{enable:!1}],[ru.Tap,{event:"doubletap",taps:2,enable:!1}],[ru.Tap,{event:"anytap",enable:!1}],[ru.Tap,{enable:!1}]]:null,f4={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},Wfe={doubletap:["tap"]},qfe={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},iR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},Yfe={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},p4={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},Kfe="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",im="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let g4=!1;try{const n={get passive(){return g4=!0,!0}};im.addEventListener("test",n,n),im.removeEventListener("test",n,n)}catch(n){}const Xfe=-1!==Kfe.indexOf("firefox"),{WHEEL_EVENTS:Qfe}=iR,_4=4.000244140625;class epe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=Qfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!g4&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;im.WheelEvent&&(Xfe&&e.deltaMode===im.WheelEvent.DOM_DELTA_PIXEL&&(t/=im.devicePixelRatio),e.deltaMode===im.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%_4==0&&(t=Math.floor(t/_4)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:tpe}=iR,y4="pointermove",b4="pointerover",v4="pointerout",w4="pointerleave";class npe{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=tpe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===y4&&(this.enableMoveEvent=t),e===b4&&(this.enableOverEvent=t),e===v4&&(this.enableOutEvent=t),e===w4&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:b4,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:v4,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:w4,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:y4,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:ipe}=iR,E4="keydown";class rpe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=ipe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===E4&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:E4,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const x4="contextmenu";class spe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===x4&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:x4,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const ope={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},C4={srcElement:"root",priority:0};class ype{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},C4,i):C4;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let u=l.length-1;for(;u>=0&&!(l[u].priority>=c.priority);)u--;l.splice(u+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&f4[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new epe(e,this._onOtherEvent,{enable:!1}),this.moveInput=new npe(e,this._onOtherEvent,{enable:!1}),this.keyInput=new rpe(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new spe(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=Wfe[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const u in e)this._addEventHandler(u,e[u],i,r,s);return}const{manager:o,events:a}=this,l=p4[e]||e;let c=a.get(l);c||(c=new ype(this),a.set(l,c),c.recognizerName=Yfe[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(p4[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=qfe[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function Lf(){}const A4={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:Lf,onResize:Lf,onViewStateChange:Lf,onInteractionStateChange:Lf,onBeforeRender:Lf,onAfterRender:Lf,onLoad:Lf,onError:(n,e)=>Ri.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class ix{constructor(e){e=ot(ot({},A4),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&Ri.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,nm.qs)()&&Ri.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new sI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&x0.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&Ri.removed("onLayerHover","onHover")(),"onLayerClick"in e&&Ri.removed("onLayerClick","onClick")(),e.initialViewState&&!W0(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](ot({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),pc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:u,autoResizeDrawingBuffer:h}=e;return new Bfe({width:t,height:i,useDevicePixels:u,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:p=>eV(Cn(ot(ot({},s),p),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:p=>this._setGLContext(p.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new Hhe({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,rI(e,{enable:!0,copyState:!0})),this.tooltip=new nfe(this.canvas),$u(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new Kz;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new vpe(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in Bj)this.eventManager.on(r,this._onEvent);this.viewManager=new jhe({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new Bhe(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new $he,this.deckRenderer=new Yhe(e),this.deckPicker=new efe(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;$u(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(ot({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Ri.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Cn(ot({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=Bj[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=If.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}ix.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(Wz)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},ix.defaultProps=A4,ix.VERSION=Tfe.VERSION;const rx={name:"project32",dependencies:[zO],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},xpe={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},sx=ot({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=xpe){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),T4={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class fh{static get DRAW_MODE(){return T4}constructor(e={}){const{id:t=ga("geometry"),drawMode:i=T4.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?ot({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,tn(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(tn(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return tn(Number.isFinite(i)),i}}const M4=()=>{},Ipe={10241:9987,10240:9729,10242:33071,10243:33071};function Ope(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function Rpe(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function Q0(n){return n&&(n.id||n.url)}function D4(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(D4(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+p+e,s=Math.max(s,h)}}return a.length>0&&D4(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:Ope(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new _a(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:Ipe})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=_V(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=t;const{framebuffer:p,deleteFramebuffer:g}=S0(n);tn(p);const{gl:m,handle:w}=p,C=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const H=m.bindFramebuffer(36160,w);tn(e);let U=null;if(e instanceof Of&&(U=e,u=Number.isFinite(u)?u:U.width,h=Number.isFinite(h)?h:U.height,U.bind(0),e=U.target),C)switch(e){case 3553:case 34067:m.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:Co(m).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else m.copyTexImage2D(e,s,o,i,r,u,h,0);U&&U.unbind(),m.bindFramebuffer(36160,H||null),g&&p.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,G0(i.url,tR,this._loadOptions).then(r=>{const s=Q0(i),{x:o,y:a,width:l,height:c}=this._mapping[s],u=Rpe(t,r,l,c);this._texture.setSubImageData({data:u,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const I4=[0,0,0,255],Lpe={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:I4},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let Bpe=(()=>{class n extends $0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[rx,sx]})}initializeState(){this.state={iconManager:new kpe(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:I4},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:u}=this.state;u.setProps({loadOptions:i.loadOptions});let h=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&u.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(u.setProps({iconMapping:a}),h=!0)):u.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&u.setProps({data:l,getIcon:c}),h&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:m}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(m),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:u}=this.context,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===o?u.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Yg(t,Cn(ot({},this.getShaders()),{id:this.props.id,geometry:new fh({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):Ri.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=Lpe,n})();const R4=[],Vpe={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let Upe=(()=>{class n extends Bpe{getShaders(){return Cn(ot({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&Ri.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=Cn(ot({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):R4}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):R4}}return n.layerName="MultiIconLayer",n.defaultProps=Vpe,n})();var zpe=Je(2),Hpe=Je.n(zpe);const $pe=[];function Wpe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function N4(n,e,t,i){let r=0;for(let s=e;si&&(oa){let h=N4(n,a,l,r);c+h>i&&(oi&&(h=P4(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=h}}(n,r,s,t,i,o),o}function Xpe(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let p=0,g=0,m=0;for(let w=0;w<=s;w++){const C=n[w];if(("\n"===C||w===s)&&(m=w),m>g){const H=c?Kpe(n,t,i,r,g,m):$pe;for(let U=0;U<=H.length;U++){const de=0===U?g:H[U-1],Ae=Ui===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),nge=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function rge(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=oR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=oR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,oR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:u}=this.props;let h=i&&i.data;h||(h=document.createElement("canvas"),h.width=1024);const p=h.getContext("2d");$4(p,r,o,s);const{mapping:g,canvasHeight:m,xOffset:w,yOffset:C}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const p of n)if(!s[p]){const g=e(p,u++);c+g+2*i>r&&(c=0,l++),s[p]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const h=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:Wpe(a+(l+1)*h)}}(ot({getFontWidth:H=>p.measureText(H).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(h.height!==m){const H=p.getImageData(0,0,h.width,h.height);h.height=m,p.putImageData(H,0,0)}if($4(p,r,o,s),l){const H=new(Hpe())(o,a,c,u,r,s),U=p.getImageData(0,0,H.size,H.size);for(const de of t)rge(H.draw(de),U),p.putImageData(U,g[de].x-a,g[de].y+a)}else for(const H of t)p.fillText(H,g[H].x,g[H].y+.9*o);return{xOffset:w,yOffset:C,mapping:g,data:h,width:h.width,height:h.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const lge={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let cge=(()=>{class n extends $0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[rx,sx]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:u}=this.props;const h="pixels"===o?i.metersPerPixel:1;u.length<4&&(u=[u[0],u[1],u[0],u[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:u,sizeScale:s*h,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Yg(t,Cn(ot({},this.getShaders()),{id:this.props.id,geometry:new fh({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=lge,n})();const W4={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},q4={start:1,middle:0,end:-1},Y4={top:1,center:0,bottom:-1},aR=[0,0,0,255],dge=["fontSize","buffer","sdf","radius","cutoff"],hge={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:aR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:k4},fontFamily:L4,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:aR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:aR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let fge=(()=>{class n extends jz{initializeState(){this.state={styleVersion:0,fontAtlasManager:new sge}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(Cn(ot(ot({},W4),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return dge.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:u}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),u=s&&new Set,h=new Array(e);let p=n;if(a>1||l>0){p=new n.constructor(c);for(let g=0;gc[p]}else{const{iterable:c,objectInfo:u}=ES(t);o=[0],a=0;for(const h of c){u.index++;const p=Array.from(s(h,u)||"");l&&p.forEach(l.add,l),a+=p.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{size:[p,g]}=F4(h,l,o,a,r);return[(q4["function"==typeof c?c(t,i):c]-1)*p/2,(Y4["function"==typeof u?u(t,i):u]-1)*g/2,p,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{x:p,y:g,rowWidth:m,size:[w,C]}=F4(h,l,o,a,r),H=q4["function"==typeof c?c(t,i):c],U=Y4["function"==typeof u?u(t,i):u],de=p.length,Ae=new Array(2*de);let Pe=0;for(let Be=0;Bet*e/255)}const cR={name:"lights",vs:K4,fs:K4,getUniforms:function X4(n=pge){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?lR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=lR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=lR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return X4({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},mge={};const yge={name:"phong-lighting",dependencies:[cR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=mge){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},uR=Math.PI/180,ox=new Float32Array(16),J4=new Float32Array(12);function e8(n,e,t){const i=e[0]*uR,r=e[1]*uR,s=e[2]*uR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),p=t[0],g=t[1],m=t[2];n[0]=p*h*u,n[1]=p*l*u,n[2]=p*-a,n[3]=g*(-l*c+h*a*o),n[4]=g*(h*c+l*a*o),n[5]=g*u*o,n[6]=m*(l*o+h*a*c),n[7]=m*(-h*o+l*a*c),n[8]=m*u*c}function t8(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const n8={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),p=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:h&&u&&p;const m=n.value;if(n.constant){let w;g?(ox.set(a),w=t8(ox)):(w=J4,e8(w,r,s),w.set(o,9)),n.value=new Float32Array(w)}else{let w=e*n.size;const{iterable:C,objectInfo:H}=ES(i,e,t);for(const U of C){let de;H.index++,g?(ox.set(c?a:a(U,H)),de=t8(ox)):(de=J4,e8(de,h?r:r(U,H),u?s:s(U,H)),de.set(p?o:o(U,H),9)),m[w++]=de[0],m[w++]=de[1],m[w++]=de[2],m[w++]=de[3],m[w++]=de[4],m[w++]=de[5],m[w++]=de[6],m[w++]=de[7],m[w++]=de[8],m[w++]=de[9],m[w++]=de[10],m[w++]=de[11]}}}};function i8(n,e){return e===ji.CARTESIAN||e===ji.METER_OFFSETS||e===ji.DEFAULT&&!n.isGeospatial}function r8(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),Ri.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function wge(n,e){if(n.attributes)return r8(n.attributes,e),n instanceof fh?n:new fh(n);if(n.positions||n.POSITION)return r8(n,e),new fh({attributes:n});throw Error("Invalid mesh")}const Ege={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let Sge=(()=>{class n extends $0{getShaders(){const t=!Si(this.context.gl),i={};return gI(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[rx,yge,sx],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:n8}),this.setState({emptyTexture:new _a(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||i8(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Yg(this.context.gl,Cn(ot({},this.getShaders()),{id:this.props.id,geometry:wge(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=Ege,n})();const s8={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[cR]};class rm{constructor(e={}){const{id:t}=e;this.id=t||ga(this.constructor.name),this.display=!0,this.position=new Ao,this.rotation=new Ao,this.scale=new Ao(1,1,1),this.matrix=new qn,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return tn(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return tn(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return tn(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){tn(e),t=t||this.matrix;const i=new qn(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class Z0 extends rm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;mn.assert(t.every(i=>i instanceof rm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new qn}={}){const i=new qn(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof Z0?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function o8(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=t[0],g=t[1],m=t[2],w=t[3],C=t[4],H=t[5],U=t[6],de=t[7],Ae=t[8];return n[0]=p*i+g*o+m*c,n[1]=p*r+g*a+m*u,n[2]=p*s+g*l+m*h,n[3]=w*i+C*o+H*c,n[4]=w*r+C*a+H*u,n[5]=w*s+C*l+H*h,n[6]=U*i+de*o+Ae*c,n[7]=U*r+de*a+Ae*u,n[8]=U*s+de*l+Ae*h,n}function a8(n,e,t){var i=t[0],r=t[1];return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=r*e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n}function l8(){var n=new ya(4);return ya!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function c8(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function dR(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function ax(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],u=t[3];return n[0]=i*u+o*a+r*c-s*l,n[1]=r*u+o*l+s*a-i*c,n[2]=s*u+o*c+i*l-r*a,n[3]=o*u-i*a-r*l-s*c,n}function u8(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a,n}function d8(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a,n}function h8(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a,n}function f8(n,e){var t=e[0],i=e[1],r=e[2];return n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r)),n}function J0(n,e,t,i){var p,g,m,w,C,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],u=t[2],h=t[3];return(g=r*l+s*c+o*u+a*h)<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>Qc?(p=Math.acos(g),m=Math.sin(p),w=Math.sin((1-i)*p)/m,C=Math.sin(i*p)/m):(w=1-i,C=i),n[0]=w*r+C*l,n[1]=w*s+C*c,n[2]=w*o+C*u,n[3]=w*a+C*h,n}function p8(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;return n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a,n}function g8(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3],n}function hR(n,e){var i,t=e[0]+e[4]+e[8];if(t>0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}return n}var m8=function(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},fR=FU,pR=function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},_8=function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];return n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a),n},y8=function(n){return Math.hypot(n[0],n[1],n[2],n[3])},b8=function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r},w8=function(){var n=xV(),e=CV(1,0,0),t=CV(0,1,0);return function(i,r,s){var o=AV(r,s);return o<-.999999?(A0(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&A0(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),dR(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(A0(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();l8(),l8(),function(){var n=new ya(9);ya!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const Nge=[0,0,0,1];class gR extends bS{constructor(e=0,t=0,i=0,r=1){super(-0,-0,-0,-0),Array.isArray(e)&&1===arguments.length?this.copy(e):this.set(e,t,i,r)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,i,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=r,this.check()}fromMatrix3(e){return hR(this,e),this.check()}identity(){return c8(this),this.check()}fromAxisRotation(e,t){return dR(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=sr(e)}get y(){return this[1]}set y(e){this[1]=sr(e)}get z(){return this[2]}set z(e){this[2]=sr(e)}get w(){return this[3]}set w(e){this[3]=sr(e)}len(){return y8(this)}lengthSquared(){return b8(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return pR(this,e)}rotationTo(e,t){return w8(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return m8(this,this,e),this.check()}calculateW(){return f8(this,this),this.check()}conjugate(){return g8(this,this),this.check()}invert(){return p8(this,this),this.check()}lerp(e,t,i){return _8(this,e,t,i),this.check()}multiplyRight(e,t){return Yu(!t),ax(this,this,e),this.check()}multiplyLeft(e,t){return Yu(!t),ax(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return u8(this,this,e),this.check()}rotateY(e){return d8(this,this,e),this.check()}rotateZ(e){return h8(this,this,e),this.check()}scale(e){return fR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=Nge,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return J0(this,e,t,i),this.check()}transformVector4(e,t=e){return kU(t,e,this),vS(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const Pge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Fge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function E8(n){if(!n._animation){const e=Fge[n.componentType],t=Pge[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(p=>p>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:mn.warn(`Bad animation path ${s}`)()}tn(r[s].length===i[c].length);const u=e[c],h=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;iu&&function(n,e,t,i,r){if("rotation"===e){mR.slerp({start:t,target:i,ratio:r});for(let s=0;su&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:E8(e.accessors[a]),interpolation:l,output:E8(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new zge({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class Gge extends rm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Yg?(this.model=e,this._setModelNodeProps(t)):this.model=new Yg(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class $ge{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},gI(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new _a(this.gl,ot({id:e.name||e.id,parameters:ot(ot({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(mn.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function S8(n,e){return Si(n)?`#version 300 es\n${e}`:e}const Kge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Xge={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class Qge{constructor(e,t={}){this.gl=e,this.options=Object.assign({},Xge,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new Hge(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new Z0({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new Z0({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new qn).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new Z0({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){mn.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new $ge(n,e);mn.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(u=>u.buffer));const c=new Gge(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[s8],defines:a.defines,parameters:a.parameters,vs:S8(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:S8(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),mn.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new hr(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new ma({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Kge[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function x8(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new sm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new sm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof sm){const o=e;t=o.fields,i=M8(M8(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new sm(s,i)}}function M8(n,e){return new Map([...n||new Map,...e||new Map])}let Lr,D8,I8,O8,R8,N8,P8,F8;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(Lr||(Lr={}));class _R{static isNull(e){return e&&e.typeId===Lr.Null}static isInt(e){return e&&e.typeId===Lr.Int}static isFloat(e){return e&&e.typeId===Lr.Float}static isBinary(e){return e&&e.typeId===Lr.Binary}static isUtf8(e){return e&&e.typeId===Lr.Utf8}static isBool(e){return e&&e.typeId===Lr.Bool}static isDecimal(e){return e&&e.typeId===Lr.Decimal}static isDate(e){return e&&e.typeId===Lr.Date}static isTime(e){return e&&e.typeId===Lr.Time}static isTimestamp(e){return e&&e.typeId===Lr.Timestamp}static isInterval(e){return e&&e.typeId===Lr.Interval}static isList(e){return e&&e.typeId===Lr.List}static isStruct(e){return e&&e.typeId===Lr.Struct}static isUnion(e){return e&&e.typeId===Lr.Union}static isFixedSizeBinary(e){return e&&e.typeId===Lr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===Lr.FixedSizeList}static isMap(e){return e&&e.typeId===Lr.Map}static isDictionary(e){return e&&e.typeId===Lr.Dictionary}get typeId(){return Lr.NONE}compareTo(e){return this===e}}Symbol,Symbol,D8=Symbol.toStringTag;class om extends _R{constructor(e,t){super(),Kn(this,"isSigned",void 0),Kn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return Lr.Int}get[D8](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class ame extends om{constructor(){super(!0,8)}}class lme extends om{constructor(){super(!0,16)}}class cme extends om{constructor(){super(!0,32)}}class ume extends om{constructor(){super(!1,8)}}class dme extends om{constructor(){super(!1,16)}}class hme extends om{constructor(){super(!1,32)}}I8=Symbol.toStringTag;class k8 extends _R{constructor(e){super(),Kn(this,"precision",void 0),this.precision=e}get typeId(){return Lr.Float}get[I8](){return"Float"}toString(){return`Float${this.precision}`}}class fme extends k8{constructor(){super(32)}}class pme extends k8{constructor(){super(64)}}Symbol,Symbol,O8=Symbol.toStringTag,R8=Symbol.toStringTag,N8=Symbol.toStringTag,P8=Symbol.toStringTag,F8=Symbol.toStringTag;class gme extends _R{constructor(e,t){super(),Kn(this,"listSize",void 0),Kn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return Lr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[F8](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class lx{constructor(e,t,i=!1,r=new Map){Kn(this,"name",void 0),Kn(this,"type",void 0),Kn(this,"nullable",void 0),Kn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new lx(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function L8(n,e,t){const i=t?B8(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new ame;case Uint8Array:return new ume;case Int16Array:return new lme;case Uint16Array:return new dme;case Int32Array:return new cme;case Uint32Array:return new hme;case Float32Array:return new fme;case Float64Array:return new pme;default:throw new Error("array type not supported")}}(e.value);return new lx(n,new gme(e.size,new lx("value",r)),!1,i)}function B8(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const j8={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},bme={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class wme{constructor(e){Kn(this,"draco",void 0),Kn(this,"decoder",void 0),Kn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?u:r,s=h>s?h:s,o=p>o?p:o}return[[e,t,i],[r,s,o]]}(l.attributes),u=function(n,e,t){const i=B8(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=L8(o,n[o],s[o]);r.push(l)}if(t){const o=L8("indices",t);r.push(o)}return new sm(r,i)}(l.attributes,a,l.indices);return Cn(ot({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:u})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var cx=Je(125);const wR={};function ER(n){return SR.apply(this,arguments)}function SR(){return(SR=oi(function*(n,e=null,t={}){return e&&(n=Ame(n,e,t)),wR[n]=wR[n]||Tme(n),yield wR[n]})).apply(this,arguments)}function Ame(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:mO?t.CDN?(Jc(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):_O?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function Tme(n){return xR.apply(this,arguments)}function xR(){return(xR=oi(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():mO?_O?importScripts(n):Mme(yield(yield fetch(n)).text(),n):cx.requireFromFile&&(yield cx.requireFromFile(n))})).apply(this,arguments)}function Mme(n,e){if(!mO)return cx.requireFromString&&cx.requireFromString(n,e);if(_O)return eval.call(jue,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const Dme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",Ime="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",Ome="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let eb;function Nme(n){return CR.apply(this,arguments)}function CR(){return(CR=oi(function*(n){const e=n.modules||{};return eb=e.draco3d?eb||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):eb||Pme(n),yield eb})).apply(this,arguments)}function Pme(n){return TR.apply(this,arguments)}function TR(){return(TR=oi(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield ER(Dme,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield ER(Ime,"draco",n),yield ER(Ome,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield Fme(e,t)})).apply(this,arguments)}function Fme(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(Cn(ot({},t),{onModuleLoaded:r=>i({draco:r})}))})}const DR=Cn(ot({},T8),{parse:function(n,e){return IR.apply(this,arguments)}});function IR(){return(IR=oi(function*(n,e){const{draco:t}=yield Nme(e),i=new wme(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function nb(n,e){return Ff(n>=0),Ff(e>0),n+(e-1)&~(e-1)}function Bme(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+nb(i.byteLength,4)}const V8=["SCALAR","VEC2","VEC3","VEC4"],jme=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],Vme=new Map(jme),Ume={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},zme={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Hme={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function U8(n){return V8[n-1]||V8[0]}function z8(n){const e=Vme.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function H8(n,e){const t=Hme[n.componentType],i=Ume[n.type],s=n.count*i,o=n.count*i*zme[n.componentType];return Ga(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const Gme={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class gh{constructor(e){Kn(this,"gltf",void 0),Kn(this,"sourceBuffers",void 0),Kn(this,"byteLength",void 0),this.gltf=e||{json:ot({},Gme),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return Ga(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=H8(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return Ga(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return Ga(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=JO(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;Ga(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=nb(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:U8(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:z8(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=Bme(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*t_e(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function n_e(n){return NR.apply(this,arguments)}function NR(){return(NR=oi(function*(n){const e=new gh(n),{json:t}=e;e.removeExtension(dx);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,dx)})).apply(this,arguments)}function i_e(n){const e=new gh(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,dx,{}),e.addExtension(dx))}function r_e(n){return PR.apply(this,arguments)}function PR(){return(PR=oi(function*(n){const e=new gh(n),{json:t}=e,i=e.getExtension(am);i&&(e.json.lights=i.lights,e.removeExtension(am));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,am);s&&(r.light=s.light),e.removeObjectExtension(r,am)}})).apply(this,arguments)}function s_e(n){return FR.apply(this,arguments)}function FR(){return(FR=oi(function*(n){const e=new gh(n),{json:t}=e;if(t.lights){const i=e.addExtension(am);Ga(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,am,i);delete e.json.lights}})).apply(this,arguments)}function o_e(n){return kR.apply(this,arguments)}function kR(){return(kR=oi(function*(n){const e=new gh(n),{json:t}=e,i=e.getExtension(hx);if(i){const r=l_e(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,hx);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=c_e(s.technique,e)),e.removeObjectExtension(s,hx)}e.removeExtension(hx)}})).apply(this,arguments)}function a_e(n,e){return LR.apply(this,arguments)}function LR(){return(LR=oi(function*(n,e){})).apply(this,arguments)}function l_e(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function c_e(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const W8={KHR_draco_mesh_compression:yt,KHR_materials_unlit:ee,KHR_lights_punctual:Tt,KHR_techniques_webgl:dt};function u_e(n){return BR.apply(this,arguments)}function BR(){return(BR=oi(function*(n,e={},t){for(const r in W8){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield W8[r].decode(n,e,t))}})).apply(this,arguments)}const q8={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},h_e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class f_e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new gh(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,G8);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(G8)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in q8)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in q8)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=h_e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function p_e(n,e={}){return(new f_e).normalize(n,e)}const g_e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},m_e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Ml={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},__e={magFilter:Ml.TEXTURE_MAG_FILTER,minFilter:Ml.TEXTURE_MIN_FILTER,wrapS:Ml.TEXTURE_WRAP_S,wrapT:Ml.TEXTURE_WRAP_T},y_e={[Ml.TEXTURE_MAG_FILTER]:Ml.LINEAR,[Ml.TEXTURE_MIN_FILTER]:Ml.NEAREST_MIPMAP_LINEAR,[Ml.TEXTURE_WRAP_S]:Ml.REPEAT,[Ml.TEXTURE_WRAP_]:Ml.REPEAT};class w_e{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return Ga(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=ot({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=ot({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=ot({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=ot({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=ot({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=ot({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=ot({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return m_e[n]}(e.componentType),e.components=function(n){return g_e[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=H8(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):y_e,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return __e[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function E_e(n,e){return(new w_e).postProcess(n,e)}const Y8=1735152710,lm=!0;function VR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),nb(i,4)}function UR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),nb(i,4)}function P_e(n,e){return zR.apply(this,arguments)}function zR(){return(zR=oi(function*(n,e,t=0,i,r){var s,o,a,l;F_e(n,e,t,i),p_e(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield k_e(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const h=L_e(n,i,r);c.push(h)}const u=u_e(n,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?E_e(n,i):n})).apply(this,arguments)}function F_e(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=Y8}=t,s=i.getUint32(e,!1);return s===r||s===Y8}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?x8(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?x8(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,lm),a=r.getUint32(t+8,lm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){Ff(n.header.byteLength>20);const i=e.getUint32(t+0,lm),r=e.getUint32(t+4,lm);return t+=8,Ff(0===r),VR(n,e,t,i),(t+=i)+UR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return Ff(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,lm),s=e.getUint32(t+4,lm);switch(t+=8,s){case 1313821514:VR(n,e,t,r);break;case 5130562:UR(n,e,t,r);break;case 0:i.strict||VR(n,e,t,r);break;case 1:i.strict||UR(n,e,t,r)}t+=nb(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),Ga("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else Ga(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function k_e(n,e,t){return HR.apply(this,arguments)}function HR(){return(HR=oi(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield U_e(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function U_e(n){return YR.apply(this,arguments)}function YR(){return(YR=oi(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const K8=[255,255,255,255],G_e={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:K8},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[cm]};let $_e=(()=>{class n extends $0{getShaders(){const t=[rx,sx];return"pbr"===this.props._lighting&&t.push(s8),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:K8,transition:!0},instanceModelMatrix:n8})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof rm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new Qge(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=ot({gltf:l},c),function(n){return qR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Ri.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof rm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&Ri.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):Ri.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof rm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:ot({isInstanced:!0,transpileToGLSL100:!Si(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:u}=this.props,h=this.getNumInstances();this.state.scenegraph.traverse((p,{worldMatrix:g})=>{p.model.setInstanceCount(h),p.updateModuleSettings(t),p.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:i8(s,u),sceneModelMatrix:g,u_Camera:p.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=G_e,n})();class W_e extends fh{constructor(e={}){const{id:t=ga("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,u=(e+1)*(t+1);if("number"==typeof i){const H=i;i=(U,de,Ae,Pe,Be)=>H}const h=new Float32Array(3*u),p=new Float32Array(3*u),g=new Float32Array(2*u),w=new(u>65535?Uint32Array:Uint16Array)(e*t*6);for(let H=0;H<=e;H++)for(let U=0;U<=t;U++){const de=U/t,Ae=H/e,Pe=U+H*(t+1),Be=2*Pe,et=3*Pe,wt=c*de,vt=o*Ae,Ct=Math.sin(wt),Bt=Math.cos(wt),$t=Math.sin(vt),mt=Bt*$t,Vt=Math.cos(vt),ft=Ct*$t,qt=i(mt,Vt,ft,de,Ae);h[et+0]=qt*mt,h[et+1]=qt*Vt,h[et+2]=qt*ft,p[et+0]=mt,p[et+1]=Vt,p[et+2]=ft,g[Be+0]=de,g[Be+1]=1-Ae}const C=t+1;for(let H=0;Hs?(gt=i,$t=1,mt=t):mt=e+Bt/s*(t-e),(-2===Bt||Bt===s+2)&&(mt=0,$t=0),gt-=i/2;for(let Vt=0;Vts?0:ft*w,et[vt+Pe[1]]=Bt<0?-1:Bt>s?1:C,et[vt+Pe[2]]=Bt<0||Bt>s?0:qt*w,wt[Ct+0]=Vt/r,wt[Ct+1]=$t,Ct+=2,vt+=3}}for(let Bt=0;Bt0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new le){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new le){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new le){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new le){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new le){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=sye,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=oye;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(Q8),Q8.almostEquals(e,t)}clone(){return new le(this.x,this.y,this.z)}}le.ZERO=void 0,le.UNIT_X=void 0,le.UNIT_Y=void 0,le.UNIT_Z=void 0,le.ZERO=new le(0,0,0),le.UNIT_X=new le(1,0,0),le.UNIT_Y=new le(0,1,0),le.UNIT_Z=new le(0,0,1);const sye=new le,oye=new le,Q8=new le;class mr{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new le,this.upperBound=new le,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),r.set(c.x,u.y,u.z),s.set(u.x,c.y,u.z),o.set(c.x,u.y,c.z),a.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){const i=J8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=J8;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,u=(this.upperBound.y-i.y)*s,h=(this.lowerBound.z-i.z)*o,p=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,u)),Math.min(h,p)),m=Math.min(Math.min(Math.max(a,l),Math.max(c,u)),Math.max(h,p));return!(m<0||g>m)}}const Z8=new le,J8=[new le,new le,new le,new le,new le,new le,new le,new le];class hs{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new le){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=lye;e.tangents(i,cye),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Er(e.length(),2)*Er(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new hs){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,u=e.w;return t.x=i*u+o*a+r*c-s*l,t.y=r*u+o*l+s*a-i*c,t.z=s*u+o*c+i*l-r*a,t.w=o*u-i*a-r*l-s*c,t}inverse(e=new hs){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new hs){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new le){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,u=c*i+a*s-l*r,h=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=u*c+g*-o+h*-l-p*-a,t.y=h*c+g*-a+p*-o-u*-l,t.z=p*c+g*-l+u*-a-h*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const u=o*a+l*c;if(u>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),u<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const h=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*u),s=Math.atan2(2*o*c-2*a*l,1-2*h-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"YXZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"ZXY"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"ZYX"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"YZX"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a-l*c*u):"XZY"===r&&(this.x=l*o*a-s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a+l*c*u),this}clone(){return new hs(this.x,this.y,this.z,this.w)}slerp(e,t,i=new hs){const r=this.x,s=this.y,o=this.z,a=this.w;let p,g,m,w,C,l=e.x,c=e.y,u=e.z,h=e.w;return g=r*l+s*c+o*u+a*h,g<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>1e-6?(p=Math.acos(g),m=Math.sin(p),w=Math.sin((1-t)*p)/m,C=Math.sin(t*p)/m):(w=1-t,C=t),i.x=w*r+C*l,i.y=w*s+C*c,i.z=w*o+C*u,i.w=w*a+C*h,i}integrate(e,t,i,r=new hs){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,u=this.z,h=this.w,p=.5*t;return r.x+=p*(s*h+o*u-a*c),r.y+=p*(o*h+a*l-s*u),r.z+=p*(a*h+s*c-o*l),r.w+=p*(-s*l-o*c-a*u),r}}const lye=new le,cye=new le,uye={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let _n=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=uye,n})();class Gi{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new le,this.quaternion=new hs,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return Gi.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return Gi.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new le){return i.vsub(e,r),t.conjugate(t5),t5.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new le){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new le){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new le){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const t5=new hs;class Bf extends _n{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:_n.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new le;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let u=!1;for(let h=0;h!==i.length;h++)if(i[h].almostEquals(r)||i[h].almostEquals(r)){u=!0;break}u||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ep&&(p=w,h=m)}const g=[];for(let m=0;m=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new le,u=new le,h=new le,p=new le,g=new le,m=new le;let w=Number.MAX_VALUE;const C=this;if(C.uniqueAxes)for(let H=0;H!==C.uniqueAxes.length;H++){i.vmult(C.uniqueAxes[H],c);const U=C.testSepAxis(c,e,t,i,r,s);if(!1===U)return!1;U0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){Bf.project(this,e,i,r,KR),Bf.project(t,e,s,o,XR);const l=KR[0],c=KR[1],u=XR[0],h=XR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?yn.STATIC:yn.DYNAMIC,typeof e.type==typeof yn.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=yn.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new le,this.quaternion=new hs,this.initQuaternion=new hs,this.previousQuaternion=new hs,this.interpolatedQuaternion=new hs,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new le,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new le,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new le,this.invInertia=new le,this.invInertiaWorld=new su,this.invMassSolve=0,this.invInertiaSolve=new le,this.invInertiaWorldSolve=new su,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new le(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new le(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new mr,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new le,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=yn.AWAKE,this.wakeUpAfterNarrowphase=!1,e===yn.SLEEPING&&this.dispatchEvent(yn.wakeupEvent)}sleep(){this.sleepState=yn.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Er(this.sleepSpeedLimit,2);t===yn.AWAKE&&ir?this.wakeUp():t===yn.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(yn.sleepEvent))}}updateSolveMassProperties(){this.sleepState===yn.SLEEPING||this.type===yn.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new le){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new le){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new le){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new le,s=new hs;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=fye,o=pye,a=this.quaternion,l=this.aabb,c=gye;for(let u=0;u!==r;u++){const h=e[u];a.vmult(t[u],s),s.vadd(this.position,s),a.mult(i[u],o),h.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===u?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=mye,r=_ye;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new le){if(this.type!==yn.DYNAMIC)return;this.sleepState===yn.SLEEPING&&this.wakeUp();const i=yye;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new le){if(this.type!==yn.DYNAMIC)return;const i=bye,r=vye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===yn.DYNAMIC&&(this.sleepState===yn.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new le){if(this.type!==yn.DYNAMIC)return;this.sleepState===yn.SLEEPING&&this.wakeUp();const i=t,r=wye;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=Eye;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new le){if(this.type!==yn.DYNAMIC)return;const i=Sye,r=xye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=Cye;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),px.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new le;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==yn.DYNAMIC&&this.type!==yn.KINEMATIC||this.sleepState===yn.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,h=this.invInertiaWorld,p=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*p.x,r.y+=a.y*g*p.y,r.z+=a.z*g*p.z;const m=h.elements,w=this.angularFactor,C=l.x*w.x,H=l.y*w.y,U=l.z*w.z;s.x+=e*(m[0]*C+m[1]*H+m[2]*U),s.y+=e*(m[3]*C+m[4]*H+m[5]*U),s.z+=e*(m[6]*C+m[7]*H+m[8]*U),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}yn.idCounter=0,yn.COLLIDE_EVENT_NAME="collide",yn.DYNAMIC=1,yn.STATIC=2,yn.KINEMATIC=4,yn.AWAKE=0,yn.SLEEPY=1,yn.SLEEPING=2,yn.wakeupEvent={type:"wakeup"},yn.sleepyEvent={type:"sleepy"},yn.sleepEvent={type:"sleep"};const fye=new le,pye=new hs,gye=new mr,mye=new su,_ye=new su,yye=new le,bye=new le,vye=new le,wye=new le,Eye=new le,Sye=new le,xye=new le,Cye=new le;new le,new le;class gx{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new le,this.rayToWorld=new le,this.hitNormalWorld=new le,this.hitPointWorld=new le,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let n5,i5,r5,s5,o5,a5,l5;n5=_n.types.SPHERE,i5=_n.types.PLANE,r5=_n.types.BOX,s5=_n.types.CYLINDER,o5=_n.types.CONVEXPOLYHEDRON,a5=_n.types.HEIGHTFIELD,l5=_n.types.TRIMESH;class bs{get[n5](){return this._intersectSphere}get[i5](){return this._intersectPlane}get[r5](){return this._intersectBox}get[s5](){return this._intersectConvex}get[o5](){return this._intersectConvex}get[a5](){return this._intersectHeightfield}get[l5](){return this._intersectTrimesh}constructor(e=new le,t=new le){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new le,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=bs.ANY,this.result=new gx,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||bs.ANY,this.result=t.result||new gx,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(c5),eN.length=0,e.broadphase.aabbQuery(e,c5,eN),this.intersectBodies(eN),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=Rye,s=Nye;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new le(0,0,1);t.vmult(c,c);const u=new le;o.vsub(i,u);const h=u.dot(c);if(a.vsub(i,u),h*u.dot(c)>0||o.distanceTo(a)=0&&w<=1&&(o.lerp(a,w,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1)),this.result.shouldStop)return;C>=0&&C<=1&&(o.lerp(a,C,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Bye,l=d5,c=o&&o.faceList||null,u=e.faces,h=e.vertices,p=e.faceNormals,g=this.direction,m=this.from,C=m.distanceTo(this.to),H=c?c.length:u.length,U=this.result;for(let de=0;!U.shouldStop&&deC||this.reportIntersection(a,ba,s,r,Ae)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=jye,l=$ye,c=Wye,u=d5,h=Vye,p=Uye,g=zye,m=Gye,w=Hye,C=e.indices,H=this.from,U=this.to,de=this.direction;c.position.copy(i),c.quaternion.copy(t),Gi.vectorToLocalFrame(i,t,de,h),Gi.pointToLocalFrame(i,t,H,p),Gi.pointToLocalFrame(i,t,U,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,p.x*=e.scale.x,p.y*=e.scale.y,p.z*=e.scale.z,g.vsub(p,h),h.normalize();const Ae=p.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let Pe=0,Be=l.length;!this.result.shouldStop&&Pe!==Be;Pe++){const et=l[Pe];e.getNormal(et,a),e.getVertex(C[3*et],yc),yc.vsub(p,u);const wt=h.dot(a),vt=a.dot(u)/wt;if(vt<0)continue;h.scale(vt,ba),ba.vadd(p,ba),e.getVertex(C[3*et+1],au),e.getVertex(C[3*et+2],lu);const Ct=ba.distanceSquared(p);!bs.pointInTriangle(ba,au,yc,lu)&&!bs.pointInTriangle(ba,yc,au,lu)||Ct>Ae||(Gi.vectorToWorldFrame(t,a,w),Gi.pointToWorldFrame(i,t,ba,m),this.reportIntersection(w,m,s,r,et))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case bs.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case bs.CLOSEST:(l=0&&(h=s*c-o*a)>=0&&u+hDate.now()-n}var Hf=Je(517);class Br extends se{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new $;return this._value}next(e){super.next(this._value=e)}}function fm(n,e,t){e||(e=new qn(qn.IDENTITY));const i=new qn(qn.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new qn(qn.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new qn(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===fm(s,r,t))return!1;return!0}function n6(){Nz([T8,cm])}function i6(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||fm(s,new qn(qn.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function rN(n,e){return Fi(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield WS(i,cm,{DracoLoader:DR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),i6(n.scenegraphNode,r)})}function qve(n,e){return Fi(this,void 0,void 0,function*(){return i6(n,yield e)})}function sN(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new W_e;break;case"cone":i=new X_e;break;case"cylinder":i=new Q_e;break;case"cube":default:i=new iye}return new Sge(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:ji.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function r6(n,e,t){if(e&&0!==e.length)return new fge(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new qn(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let Kve=(()=>{class n extends jz{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),n6()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=rN({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const u of c)a.push(new $_e({id:"models-"+u["@id"],opacity:u.zoomBasedOpacity?r.zoomOpacity:void 0!==u.opacity?u.opacity:1,pickable:!u.unpickable,coordinateSystem:ji.CARTESIAN,data:[u],scenegraph:u.scenegraphNode?qve(u.scenegraphNode,o[u.scenegraph]):u.scenegraph,_lighting:u._lighting,getTransformMatrix:u.transformMatrix,getColor:null!==(i=u.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!u.zoomBasedOpacity&&(void 0===u.opacity||1===u.opacity)}}));else"text"===l?(a.push(r6("text",c.filter(u=>u.unpickable),{pickable:!1})),a.push(r6("textPickable",c.filter(u=>!u.unpickable),{pickable:!0}))):"wireframe"===l?a.push(sN(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(sN(l,c.filter(u=>u.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(sN(`${l}Pickable`,c.filter(u=>!u.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){Fi(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new qn(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new mr({lowerBound:new le(...l.map((u,h)=>Math.min(u,c[h]))),upperBound:new le(...c.map((u,h)=>Math.max(u,l[h])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield G0(o.scenegraph,cm,{DracoLoader:DR,decompress:!0,postProcess:!0});for(const l of a.scenes)fm(l,new qn(o.transformMatrix),(c,u)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const h of c.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const p=u.transformAsPoint(h.attributes.POSITION.min,[]),g=u.transformAsPoint(h.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new mr({lowerBound:new le(...p.map((m,w)=>Math.min(m,g[w]))),upperBound:new le(...g.map((m,w)=>Math.max(m,p[w])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function s6(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),s6(t,e);return e}let Qve=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new Kve({}),this.nodeClickSubject=new se,this.nodeHoverStartSubject=new se,this.nodeHoverStopSubject=new se,this.sceneRotationSubject=new Br([0,0]),this.nodeDragStartSubject=new se,this.nodeDragSubject=new se,this.nodeDragEndSubject=new se,this.nodeClick$=this.nodeClickSubject.pipe(Es()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(Es()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(Es()),this.sceneRotation$=this.sceneRotationSubject.pipe(Es()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(Es()),this.nodeDrag$=this.nodeDragSubject.pipe(Es()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(Es());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new Kde({flipY:!1,near:-1e3}):new Zde({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var u;return null!==(u=this.cursor)&&void 0!==u?u:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new GO({ambientLight:new Gz({color:[255,255,255],intensity:10})})]),this.deck=new ix(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return Fi(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new qn([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t,i){return Fi(this,void 0,void 0,function*(){n6();const r=yield rN({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"},undefined),s={},o=[];for(const a of r.scenes)fm(a,e=new qn(e||qn.IDENTITY),(l,c)=>{const u={"@id":l.name||l.id,"@type":"ProcessedNode",transformMatrix:new qn(c),geometry:"wireframe",node:l};if(o.push({"@id":`GLTF:${u["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:u["@id"],transformMatrix:new qn(e||qn.IDENTITY),tooltip:l.name||l.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:l}),l.mesh&&l.mesh.primitives&&l.mesh.primitives.length>0)for(const h of l.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const p=c.transformAsPoint(h.attributes.POSITION.min,[]),g=c.transformAsPoint(h.attributes.POSITION.max,[]);u.bbox=new mr({lowerBound:new le(...p.map((m,w)=>Math.min(m,g[w]))),upperBound:new le(...g.map((m,w)=>Math.max(m,p[w])))})}return s[u["@id"]]=u,!0});for(const a of Object.values(s).filter(l=>!l.bbox)){for(const l of s6(a.node).map(c=>s[c]).filter(c=>c.bbox))a.bbox?a.bbox.extend(l.bbox):a.bbox=l.bbox.clone();a.bbox||delete s[a["@id"]]}for(const a of Object.values(s)){const l=a.bbox.lowerBound,h=(a.size=a.bbox.upperBound.clone().vsub(l)).clone().vmul(new le(.5,.5,.5)),p=a.center=l.clone().vadd(h);a.transformMatrix=new qn(qn.IDENTITY).translate(p.toArray()).scale(h.toArray())}for(const a of o)s[a["@id"]]=a;return s})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new qn(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return rr([Hf.ZP],n.prototype,"_onHover",null),rr([Hf.ZP],n.prototype,"_onClick",null),rr([Hf.ZP],n.prototype,"_onViewStateChange",null),rr([Hf.ZP],n.prototype,"_onDragStart",null),rr([Hf.ZP],n.prototype,"_onDrag",null),rr([Hf.ZP],n.prototype,"_onDragEnd",null),n})();function Zve(n,e){return n===e}function Jve(n,e,t){if(null===e||null===t||e.length!==t.length)return!1;const i=e.length;for(let r=0;r(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let oN=(()=>{class n{constructor(){this.bootstrap$=new kg(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const aN=new Ht("INITIAL_STATE_TOKEN");let nwe=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const o6=new Ht("Internals.StateContextFactory"),a6=new Ht("Internals.StateFactory");function ub(...n){if(1===n.length){const e=n[0];if(P(e))return Cx(e,null);if(Q(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Cx(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return Cx(n=1===n.length&&P(n[0])?n[0]:n,null).pipe(me(t=>e(...t)))}return Cx(n,null)}function Cx(n,e){return new I(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=u},error:u=>t.error(u),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((u,h,p)=>(u[h]=r[p],u),{}):r),t.complete())}}))}})}function Qi(n,e){return function(i){return i.lift(new iwe(n,e))}}class iwe{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new rwe(e,this.predicate,this.thisArg))}}class rwe extends y{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}function $a(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(u){let h;s++,!r||a?(a=!1,r=new kg(n,e,i),h=r.subscribe(this),o=u.subscribe({next(p){r.next(p)},error(p){a=!0,r.error(p)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):h=r.subscribe(this),this.add(()=>{s--,h.unsubscribe(),h=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}const l6=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function Wi(n){return e=>0===n?lS():e.lift(new owe(n))}class owe{constructor(e){if(this.total=e,this.total<0)throw new l6}call(e,t){return t.subscribe(new awe(e,this.total))}}class awe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function c6(n,e){return e?t=>t.pipe(c6((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new lwe(n))}class lwe{constructor(e){this.project=e}call(e,t){return t.subscribe(new cwe(e,this.project))}}class cwe extends ve{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new _t(this),i=this.destination;i.add(t);const r=N(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function Ax(n=null){return e=>e.lift(new uwe(n))}class uwe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new dwe(e,this.defaultValue))}}class dwe extends y{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function bc(n){return function(t){const i=new hwe(n),r=t.lift(i);return i.caught=r}}class hwe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new fwe(e,this.selector,this.caught))}}class fwe extends ve{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new _t(this);this.add(i);const r=N(t,i);r!==i&&this.add(r)}}}function _r(n){return e=>e.lift(new pwe(n))}class pwe{constructor(e){this.notifier=e}call(e,t){const i=new gwe(e),r=N(this.notifier,new _t(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class gwe extends ve{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function _h(){}function Yr(n,e,t){return function(r){return r.lift(new mwe(n,e,t))}}class mwe{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new _we(e,this.nextOrObserver,this.error,this.complete))}}class _we extends y{constructor(e,t,i,r){super(e),this._tapNext=_h,this._tapError=_h,this._tapComplete=_h,this._tapError=i||_h,this._tapComplete=r||_h,Y(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||_h,this._tapError=t.error||_h,this._tapComplete=t.complete||_h)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function rd(n,e){return t=>t.lift(new ywe(n,e))}class ywe{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new bwe(e,this.compare,this.keySelector))}}class bwe extends y{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}const Wa={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let u6=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(n){return"server"===n}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return gn.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return gn.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof gn||console.warn(Wa.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(Wc))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const d6=new Ht("ROOT_STATE_TOKEN"),h6=new Ht("FEATURE_STATE_TOKEN"),f6=new Ht("NGXS_PLUGINS"),p6=new Ht("NG_TEST_MODE"),g6=new Ht("NG_DEV_MODE"),sd="NGXS_META",m6="NGXS_OPTIONS_META",lN="NGXS_SELECTOR_META";let Gf=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=u6}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class vwe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const _6=new Ht("NGXS_EXECUTION_STRATEGY");function $f(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const y6=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},Tx=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),cN=n=>n&&"object"==typeof n&&!Array.isArray(n),uN=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(cN(n)&&cN(t))for(const i in t)cN(t[i])?(n[i]||Object.assign(n,{[i]:{}}),uN(n[i],t[i])):Object.assign(n,{[i]:t[i]});return uN(n,...e)};function dN(n){if(!n.hasOwnProperty(sd)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,sd,{value:e})}return db(n)}function db(n){return n[sd]}function fN(n){return n[lN]}function b6(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[$f(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Qi(t=>{const i=$f(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function Owe(){return me(n=>n.action)}function Mx(n){return e=>new I(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let Dx=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(_6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Pwe extends se{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let Ix=(()=>{class n extends Pwe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Fwe=(()=>{class n extends I{constructor(t,i){super(r=>{const s=t.pipe(Mx(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Ix),Oe(Dx))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const w6=n=>(...e)=>n.shift()(...e,(...i)=>w6(n)(...i));let Ox=(()=>{class n extends Br{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),pN=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(Oe(n,12),Oe(f6,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gN=(()=>{class n extends se{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),E6=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(oa),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(Mx(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?fn(this._stateStream.getValue()):ub(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!$f(t))return Fg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return w6([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe($a())}getActionResultStream(t){return this._actionResults.pipe(Qi(i=>i.action===t&&"DISPATCHED"!==i.status),Wi(1),$a())}createDispatchObservable(t){return t.pipe(c6(i=>{switch(i.status){case"SUCCESSFUL":return fn(this._stateStream.getValue());case"ERRORED":return Fg(i.error);default:return Yc}})).pipe($a())}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(Ix),Oe(gN),Oe(pN),Oe(Ox),Oe(Dx))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const S6=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&S6(n[i])}),n};let x6=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(Oe(g6),Oe(p6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),C6=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(Wa.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(Wa.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(Oe(x6),Oe(Gf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=S6(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(Oe(Ox),Oe(E6),Oe(Gf),Oe(C6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Rx=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return Tx(l,t.path)}function s(l,c){const u=y6(l,t.path,c),h=t.instance;if(h.ngxsOnChanges){const p=v6(t,{currentAppState:l,newAppState:u});h.ngxsOnChanges(p)}return i.setState(u),u}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(Wa.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(Wa.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(gm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Nx{static stateNameErrorMessage(e){return Wa.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(Wa.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(Wa.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=db(e);if(!t)throw new Error(Wa.STATE_DECORATOR());return t}}Nx.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let mm=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=xx(()=>{const c=this;function u(p){const g=c.statePaths[p];return g?b6(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(p){let g=u(p);return g||((...m)=>(g||(g=u(p)),g?g(...m):void 0))},getSelectorOptions:p=>Object.assign({},c._config.selectorOptions,p||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(Nx.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[sd].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[sd];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[sd].name]=t,e),{})}(i),l=[];for(const c of s){const u=a[c],h=o[c],p=u[sd];this.addRuntimeInfoToMeta(p,h);const g={name:c,path:h,isInitialised:!1,actions:p.actions,instance:this._injector.get(u),defaults:n.cloneDefaults(p.defaults)};this.hasBeenMountedAndBootstrapped(c,h)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>y6(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Qi(t=>"DISPATCHED"===t.status),B(({action:t})=>this.invokeActions(this._actions,t).pipe(me(()=>({action:t,status:"SUCCESSFUL"})),Ax({action:t,status:"CANCELED"}),bc(i=>fn({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=$f(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let u=o.instance[l.fn](c,i);u instanceof Promise&&(u=je(u)),u instanceof I?(u=u.pipe(Ax({})),l.options.cancelUncompleted&&(u=u.pipe(_r(t.pipe(Mwe(i)))))):u=fn({}).pipe($a()),s.push(u)}catch(u){s.push(Fg(u))}}}return s.length||s.push(fn({})),ub(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=Nx.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==Tx(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(Gf),Oe(n,12),Oe(Ix),Oe(gN),Oe(Rx),Oe(aN,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),mN=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Qi(()=>!!i),Yr(()=>this.invokeInit(i.states)),B(()=>this.bootstrapper.appBootstrapped$),Qi(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=v6(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(gm),Oe(Rx),Oe(oN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Px_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function Lwe(n,e,t){const i=t&&t.containerClass,s=xx(function(...c){const u=e.apply(i,c);return u instanceof Function?xx.apply(null,[u]):u});Object.setPrototypeOf(s,e);const o=function(n,e){const t=function(n){return n.hasOwnProperty(lN)||Object.defineProperty(n,lN,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),fN(n)}(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},Px_getOptions(n.containerClass)||{},Px_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:u}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&db(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>T6(a)(n))}}(l,o,n);return function(p){const g=c.map(m=>m(p));try{return s(...g)}catch(m){if(m instanceof TypeError&&u.suppressErrors)return;throw m}}},s}function T6(n){const e=fN(n)||db(n);return e&&e.makeRootSelector||(()=>n)}let cu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(me(i),bc(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?fn(void 0):Fg(r)}),rd(),Mx(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(Wi(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(Mx(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return T6(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(Ox),Oe(gm),Oe(Gf),Oe(Dx),Oe(mm),Oe(aN,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),hb=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu),Oe(Gf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class zwe{static get type(){return"@@INIT"}}class Hwe{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const Fx=new kg(1);let $we=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&Ba();Fx.next(t)}catch(n){Fx.next(!1)}finally{Fx.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new zwe,l)}}return n.\u0275fac=function(t){return new(t||n)(Oe(mm),Oe(gm),Oe(cu),Oe(hb),Oe(d6,8),Oe(mN))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})(),Wwe=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new Hwe(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu),Oe(gm),Oe(mm),Oe(h6,8),Oe(mN))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();class Wo{static forRoot(e=[],t={}){return{ngModule:$we,providers:[mm,Rx,Fwe,Ix,oN,C6,x6,mN,E6,gN,gm,Dx,cu,Ox,hb,pN,...e,...Wo.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:Wwe,providers:[mm,pN,...e,{provide:h6,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:p6,useValue:twe},{provide:g6,useValue:Ba},{provide:_6,useClass:t.executionStrategy||u6},{provide:d6,useValue:e},{provide:Wo.ROOT_OPTIONS,useValue:t},{provide:Gf,useFactory:Wo.ngxsConfigFactory,deps:[Wo.ROOT_OPTIONS]},{provide:RE,useFactory:Wo.appBootstrapListenerFactory,multi:!0,deps:[oN]},{provide:aN,useFactory:Wo.getInitialState},{provide:o6,useExisting:Rx},{provide:a6,useExisting:mm}]}static ngxsConfigFactory(e){return uN(new Gf,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return nwe.pop()}}function _N(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(Wa.ACTION_DECORATOR());const s=dN(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function M6(n){return i=>{!function(n){Fx.subscribe(e=>{e&&(n.\u0275prov||console.warn(Wa.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=dN(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[m6]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,u="string"==typeof c?c:c&&c.getName()||null;Nx.checkCorrectStateName(u),s.hasOwnProperty(sd)&&(r.actions=Object.assign({},r.actions,(s[sd]||{}).actions)),r.children=a,r.defaults=l,r.name=u})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[m6]=a}}function kx(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?b6(t.length?[e,...t]:e.split("."),hb.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!hb.store)throw new Error(Wa.SELECT_FACTORY_NOT_CONNECTED());return hb.store.select(n)}(o))}}})}}function _m(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(Wa.SELECTOR_DECORATOR());const s=i.value,o=Lwe(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}function Dl(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}Wo.\u0275fac=function(e){return new(e||Wo)},Wo.\u0275mod=on({type:Wo}),Wo.\u0275inj=xt({}),Wo.ROOT_OPTIONS=new Ht("ROOT_OPTIONS");const Kx=new uc(aS);class iSe{constructor(e){this.total=e}call(e,t){return t.subscribe(new rSe(e,this.total))}}class rSe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function xi(n){return null!=n&&"false"!=`${n}`}function Xx(n){return Array.isArray(n)?n:[n]}function vs(n){return null==n?"":"string"==typeof n?n:`${n}px`}function ad(n){return n instanceof En?n.nativeElement:n}let zN;try{zN="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){zN=!1}let Eb,qf,HN,Zi=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Tf(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!zN)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wc))},n.\u0275prov=We({factory:function(){return new n(Oe(Wc))},token:n,providedIn:"root"}),n})();function vm(n){return function(){if(null==Eb&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Eb=!0}))}finally{Eb=Eb||!1}return Eb}()?n:!!n.capture}function LH(){if(null==qf){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return qf=!1,qf;if("scrollBehavior"in document.documentElement.style)qf=!0;else{const n=Element.prototype.scrollTo;qf=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return qf}function Zx(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Yf(n){return n.composedPath?n.composedPath()[0]:n.target}let qH=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===KH(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=KH(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||YH(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(Oe(Zi))},n.\u0275prov=We({factory:function(){return new n(Oe(Zi))},token:n,providedIn:"root"}),n})();function YH(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function KH(n){if(!YH(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class xSe{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}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))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(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}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const 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._ngZone.isStable?e():this._ngZone.onStable.pipe(Wi(1)).subscribe(e)}}let XH=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new xSe(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(Oe(qH),Oe(gn),Oe(pn))},n.\u0275prov=We({factory:function(){return new n(Oe(qH),Oe(gn),Oe(pn))},token:n,providedIn:"root"}),n})();"undefined"!=typeof Element&∈const JH=new Ht("cdk-input-modality-detector-options"),DSe={ignoreKeys:[18,17,224,91,16]},wm=vm({passive:!0,capture:!0});let tG=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new Br(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Yf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(function(n){return 0===n.offsetX&&0===n.offsetY}(o)?"keyboard":"mouse"),this._mostRecentTarget=Yf(o))},this._onTouchstart=o=>{!function(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}(o)?(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Yf(o)):this._modality.next("keyboard")},this._options=Object.assign(Object.assign({},DSe),s),this.modalityDetected=this._modality.pipe(function(n){return e=>e.lift(new iSe(n))}(1)),this.modalityChanged=this.modalityDetected.pipe(rd()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,wm),r.addEventListener("mousedown",this._onMousedown,wm),r.addEventListener("touchstart",this._onTouchstart,wm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,wm),document.removeEventListener("mousedown",this._onMousedown,wm),document.removeEventListener("touchstart",this._onTouchstart,wm))}}return n.\u0275fac=function(t){return new(t||n)(Oe(Zi),Oe(gn),Oe(pn),Oe(JH,8))},n.\u0275prov=We({factory:function(){return new n(Oe(Zi),Oe(gn),Oe(pn),Oe(JH,8))},token:n,providedIn:"root"}),n})();const rG=new Ht("cdk-focus-monitor-default-options"),tC=vm({passive:!0,capture:!0});let du=(()=>{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,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=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new se,this._rootNodeFocusAndBlurListener=a=>{const l=Yf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let u=l;u;u=u.parentElement)c.call(this,a,u)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=ad(t);if(!this._platform.isBrowser||1!==r.nodeType)return fn(null);const s=function(n){if(function(){if(null==HN){const n="undefined"!=typeof document?document.head:null;HN=!(!n||!n.createShadowRoot&&!n.attachShadow)}return HN}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new se,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=ad(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=ad(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Yf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,tC),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,tC)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(_r(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,tC),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,tC),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(Zi),Oe(tG),Oe(pn,8),Oe(rG,8))},n.\u0275prov=We({factory:function(){return new n(Oe(gn),Oe(Zi),Oe(tG),Oe(pn,8),Oe(rG,8))},token:n,providedIn:"root"}),n})();const lG=new Ht("cdk-dir-doc",{providedIn:"root",factory:function(){return Fc(pn)}});let Il=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new sn,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(Oe(lG,8))},n.\u0275prov=We({factory:function(){return new n(Oe(lG,8))},token:n,providedIn:"root"}),n})();function nC(...n){return Nt(1)(fn(...n))}function ao(...n){const e=n[n.length-1];return Ce(e)?(n.pop(),t=>nC(n,t,e)):t=>nC(n,t)}function Em(n,e){return{type:7,name:n,definitions:e,options:{}}}function cd(n,e=null){return{type:4,styles:e,timings:n}}function fs(n){return{type:6,styles:n,offset:null}}function vc(n,e,t){return{type:0,name:n,styles:e,options:t}}function ud(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function hG(n){Promise.resolve(null).then(n)}class Sm{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],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._onStartFns.push(e)}onDone(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(){hG(()=>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}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function pG(){return"undefined"!=typeof window&&void 0!==window.document}function KN(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}let JN=(n,e)=>!1,eP=(n,e)=>!1,_G=(n,e,t)=>[];const yG=KN();(yG||"undefined"!=typeof Element)&&(JN=pG()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),eP=(()=>{if(yG||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):eP}})(),_G=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{class n{validateStyleProperty(t){return tP(t)}matchesElement(t,i){return nP(t,i)}containsElement(t,i){return iP(t,i)}query(t,i,r){return rP(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new Sm(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class iC{}iC.NOOP=new wG;function CG(n,e,t){return t?e+":"+t+";":""}function AG(n){let e="";for(let t=0;t{const r=cP(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),KN()&&AG(n))}function Qf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=cP(t);n.style[i]=""}),KN()&&AG(n))}const HSe=/-+([a-z0-9])/g;function cP(n){return n.replace(HSe,(...e)=>e[1].toUpperCase())}function GSe(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Am{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=Am.initialStylesByElement.get(e);r||Am.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&hu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(hu(this._element,this._initialStyles),this._endStyles&&(hu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Am.initialStylesByElement.delete(this._element),this._startStyles&&(Qf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Qf(this._element,this._endStyles),this._endStyles=null),hu(this._element,this._initialStyles),this._state=3)}}Am.initialStylesByElement=new WeakMap;const Nl=new Ht("AnimationModuleType");function Mb(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function xP(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?function(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}(t):this.defaultTabIndex}}}let ep;try{ep="undefined"!=typeof Intl}catch(n){ep=!1}function hd(n,e,t,i){return Y(t)&&(i=t,t=void 0),i?hd(n,e,t).pipe(me(r=>P(r)?i(...r):i(r))):new I(r=>{x$(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function x$(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let zCe=1;const HCe=Promise.resolve(),xC={};function C$(n){return n in xC&&(delete xC[n],!0)}const A$={setImmediate(n){const e=zCe++;return xC[e]=!0,HCe.then(()=>C$(e)&&n()),e},clearImmediate(n){C$(n)}};new class extends uc{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=A$.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(A$.clearImmediate(t),e.scheduled=void 0)}});function Tm(n){return!!n&&(n instanceof I||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class YCe{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new KCe(e,this.durationSelector))}}class KCe extends ve{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=N(t,new _t(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function T$(n){return!P(n)&&n-parseFloat(n)+1>=0}function QCe(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function CC(n,e=Kx){return function(n){return function(t){return t.lift(new YCe(n))}}(()=>function(n=0,e,t){let i=-1;return T$(e)?i=Number(e)<1?1:Number(e):Ce(e)&&(t=e),Ce(t)||(t=Kx),new I(r=>{const s=T$(n)?n:+n-t.now();return t.schedule(QCe,s,{index:0,period:i,subscriber:r})})}(n,e))}let D$=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),Mm=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new se,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new I(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(CC(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):fn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Qi(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=ad(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>hd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(Zi),Oe(pn,8))},n.\u0275prov=We({factory:function(){return new n(Oe(gn),Oe(Zi),Oe(pn,8))},token:n,providedIn:"root"}),n})(),Dm=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new se,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(CC(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(Oe(Zi),Oe(gn),Oe(pn,8))},n.\u0275prov=We({factory:function(){return new n(Oe(Zi),Oe(gn),Oe(pn,8))},token:n,providedIn:"root"}),n})();class DP{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class TC extends DP{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Im extends DP{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}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()}}class p1e extends DP{constructor(e){super(),this.element=e instanceof En?e.nativeElement:e}}class MC{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof TC?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Im?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof p1e?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}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)}}class g1e extends MC{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let tp=(()=>{class n extends MC{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new sn,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(xe(wl),xe(Ns),xe(pn))},n.\u0275dir=Rt({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[An]}),n})();const k$=LH();class b1e{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=vs(-this._previousScrollPosition.left),e.style.top=vs(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),k$&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),k$&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class v1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const 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}}class L${enable(){}disable(){}attach(){}}function IP(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function B$(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class w1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();IP(t,[{width:i,height:r,bottom:r,right:i,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}}let E1e=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new L$,this.close=o=>new v1e(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new b1e(this._viewportRuler,this._document),this.reposition=o=>new w1e(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(Oe(Mm),Oe(Dm),Oe(gn),Oe(pn))},n.\u0275prov=We({factory:function(){return new n(Oe(Mm),Oe(Dm),Oe(gn),Oe(pn))},token:n,providedIn:"root"}),n})();class IC{constructor(e){if(this.scrollStrategy=new L$,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class S1e{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class x1e{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let j$=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn))},n.\u0275prov=We({factory:function(){return new n(Oe(pn))},token:n,providedIn:"root"}),n})(),C1e=(()=>{class n extends j${constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn))},n.\u0275prov=We({factory:function(){return new n(Oe(pn))},token:n,providedIn:"root"}),n})(),A1e=(()=>{class n extends j${constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Yf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn),Oe(Zi))},n.\u0275prov=We({factory:function(){return new n(Oe(pn),Oe(Zi))},token:n,providedIn:"root"}),n})();const Sh="undefined"!=typeof window?window:{},V$=void 0!==Sh.__karma__&&!!Sh.__karma__||void 0!==Sh.jasmine&&!!Sh.jasmine||void 0!==Sh.jest&&!!Sh.jest||void 0!==Sh.Mocha&&!!Sh.Mocha;let Ob=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||V$){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(u),this._keydownEvents=new se,this._outsidePointerEvents=new se,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(Wi(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),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),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),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&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.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=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},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(){const e=this._config.direction;return e?"string"==typeof e?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;const e=this._pane.style;e.width=vs(this._config.width),e.height=vs(this._config.height),e.minWidth=vs(this._config.minWidth),e.minHeight=vs(this._config.minHeight),e.maxWidth=vs(this._config.maxWidth),e.maxHeight=vs(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),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),"undefined"!=typeof requestAnimationFrame?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)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;Xx(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(_r(kn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const U$="cdk-overlay-connected-position-bounding-box",M1e=/([A-Za-z%]+)$/;class z${constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,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 se,this._resizeSubscription=x.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(U$),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)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&np(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(U$),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(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){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=G$(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let p=0-a,g=a+s.height-i.height,m=this._subtractOverflows(s.width,0-o,o+s.width-i.width),w=this._subtractOverflows(s.height,p,g),C=m*w;return{visibleArea:C,isCompletelyWithinViewport:s.width*s.height===C,fitsInViewportVertically:w===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=H$(this._overlayRef.getConfig().minHeight),a=H$(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=G$(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let u=0,h=0;return u=r.width<=s.width?c||-o:e.xm&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-m/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)p=i.width-e.x+this._viewportMargin,u=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)h=e.x,u=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),m=this._lastBoundingBoxSize.width;u=2*g,h=e.x-g,u>m&&!this._isInitialRender&&!this._growAfterOpen&&(h=e.x-m/2)}return{top:o,left:h,bottom:a,right:p,width:u,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=vs(i.height),r.top=vs(i.top),r.bottom=vs(i.bottom),r.width=vs(i.width),r.left=vs(i.left),r.right=vs(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=vs(s)),o&&(r.maxWidth=vs(o))}this._lastBoundingBoxSize=i,np(this._boundingBox.style,r)}_resetBoundingBoxStyles(){np(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){np(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const u=this._viewportRuler.getViewportScrollPosition();np(i,this._getExactOverlayY(t,e,u)),np(i,this._getExactOverlayX(t,e,u))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=vs(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=vs(o.maxWidth):s&&(i.maxWidth="")),np(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=vs(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=vs(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:B$(e,i),isOriginOutsideView:IP(e,i),isOverlayClipped:B$(t,i),isOverlayOutsideView:IP(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&Xx(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof En)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function np(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function H$(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(M1e);return t&&"px"!==t?null:parseFloat(e)}return n||null}function G$(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class D1e{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new z$(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new S1e(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const W$="cdk-global-overlay-wrapper";class I1e{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const 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(W$),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-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._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(W$),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let O1e=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new I1e}connectedTo(t,i,r){return new D1e(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new z$(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(Oe(Dm),Oe(pn),Oe(Zi),Oe(Ob))},n.\u0275prov=We({factory:function(){return new n(Oe(Dm),Oe(pn),Oe(Zi),Oe(Ob))},token:n,providedIn:"root"}),n})(),R1e=0,wc=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u,h,p){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=h,this._outsideClickDispatcher=p}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new IC(t);return o.direction=o.direction||this._directionality.value,new T1e(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+R1e++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(ih)),new g1e(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(Oe(E1e),Oe(Ob),Oe(wl),Oe(O1e),Oe(C1e),Oe(Wn),Oe(gn),Oe(pn),Oe(Il),Oe(Pg),Oe(A1e))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function a7(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>me(function(n,e){return i=>{let r=i;for(let s=0;s{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const 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 fd?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){const t=new fd;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof fd?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class iTe{encodeKey(e){return w7(e)}encodeValue(e){return w7(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const sTe=/%(\d[a-f0-9])/gi,oTe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function w7(n){return encodeURIComponent(n).replace(sTe,(e,t)=>{var i;return null!==(i=oTe[t])&&void 0!==i?i:e})}function E7(n){return`${n}`}class xh{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new iTe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const 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){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,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=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new xh({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(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":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(E7(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(E7(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class aTe{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}keys(){return this.map.keys()}}function S7(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function x7(n){return"undefined"!=typeof Blob&&n instanceof Blob}function C7(n){return"undefined"!=typeof FormData&&n instanceof FormData}class Rb{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new fd),this.context||(this.context=new aTe),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ap.set(g,e.setHeaders[g]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((p,g)=>p.set(g,e.setParams[g]),u)),new Rb(i,r,o,{params:u,headers:c,context:h,reportProgress:l,responseType:s,withCredentials:a})}}var ws=(()=>((ws=ws||{})[ws.Sent=0]="Sent",ws[ws.UploadProgress=1]="UploadProgress",ws[ws.ResponseHeader=2]="ResponseHeader",ws[ws.DownloadProgress=3]="DownloadProgress",ws[ws.Response=4]="Response",ws[ws.User=5]="User",ws))();class RC extends class{constructor(e,t=200,i="OK"){this.headers=e.headers||new fd,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}{constructor(e={}){super(e),this.type=ws.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new RC({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}function LP(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let ip=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof Rb)s=t;else{let l,c;l=r.headers instanceof fd?r.headers:new fd(r.headers),r.params&&(c=r.params instanceof xh?r.params:new xh({fromObject:r.params})),s=new Rb(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=fn(s).pipe(function(n,e){return B(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof Rb||"events"===r.observe)return o;const a=o.pipe(Qi(l=>l instanceof RC));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(me(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(me(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new xh).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,LP(r,i))}post(t,i,r={}){return this.request("POST",t,LP(r,i))}put(t,i,r={}){return this.request("PUT",t,LP(r,i))}}return n.\u0275fac=function(t){return new(t||n)(Oe(b7))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const _Te=["*"];function O7(n){return Error(`Unable to find icon with the name "${n}"`)}function R7(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function N7(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class rp{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let NC=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,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",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new rp(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(ni.HTML,r);if(!o)throw N7(r);return this._addSvgIconConfig(t,i,new rp("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new rp(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(ni.HTML,i);if(!s)throw N7(i);return this._addSvgIconSetConfig(t,new rp("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(ni.RESOURCE_URL,t);if(!i)throw R7(t);const r=this._cachedIconsByUrl.get(i);return r?fn(PC(r)):this._loadSvgIconFromConfig(new rp(t,null)).pipe(Yr(s=>this._cachedIconsByUrl.set(i,s)),me(s=>PC(s)))}getNamedSvgIcon(t,i=""){const r=P7(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Fg(O7(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?fn(PC(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(me(i=>PC(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?fn(r):ub(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(bc(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(ni.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),fn(null)})))).pipe(me(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw O7(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(Yr(i=>t.svgText=i),me(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?fn(null):this._fetchIcon(t).pipe(Yr(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;se.lift(new tTe(n))}(()=>this._inProgressUrlFetches.delete(a)),Es());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(P7(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),F7=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],CTe=F7.map(n=>`[${n}]`).join(", "),ATe=/^url\(['"]?#(.*?)['"]?\)$/;let Nm=(()=>{class n extends wTe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=x.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=xi(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(CTe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(ATe):null;if(c){let u=r.get(a);u||(u=[],r.set(a,u)),u.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(Wi(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(xe(En),xe(NC),Fo("aria-hidden"),xe(ETe),xe(oa))},n.\u0275cmp=ln({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(Bi("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),vi("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[An],ngContentSelectors:_Te,decls:1,vars:0,template:function(t,i){1&t&&(is(),si(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[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}\n"],encapsulation:2,changeDetection:0}),n})();function LTe(n,e){}class zP{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const BTe={dialogContainer:Em("dialogContainer",[vc("void, exit",fs({opacity:0,transform:"scale(0.7)"})),vc("enter",fs({transform:"none"})),ud("* => enter",cd("150ms cubic-bezier(0, 0, 0.2, 1)",fs({transform:"none",opacity:1}))),ud("* => void, * => exit",cd("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",fs({opacity:0})))])};let jTe=(()=>{class n extends MC{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new sn,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=Zx(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=Zx())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=Zx();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(xe(En),xe(XH),xe(Dr),xe(pn,8),xe(zP),xe(du))},n.\u0275dir=Rt({type:n,viewQuery:function(t,i){if(1&t&&ss(tp,7),2&t){let r;ii(r=ri())&&(i._portalOutlet=r.first)}},features:[An]}),n})(),VTe=(()=>{class n extends jTe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275cmp=ln({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&fE("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(Lu("id",i._id),Bi("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),mE("@dialogContainer",i._state))},features:[An],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&Di(0,LTe,0,0,"ng-template",0)},directives:[tp],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[BTe.dialogContainer]}}),n})(),UTe=0;class FC{constructor(e,t,i="mat-dialog-"+UTe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new se,this._afterClosed=new se,this._beforeClosed=new se,this._state=0,t._id=i,t._animationStateChanged.pipe(Qi(r=>"opened"===r.state),Wi(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Qi(r=>"closed"===r.state),Wi(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Qi(r=>27===r.keyCode&&!this.disableClose&&!Dl(r))).subscribe(r=>{r.preventDefault(),HP(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():HP(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Qi(t=>"closing"===t.state),Wi(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();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._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function HP(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const B7=new Ht("MatDialogData"),zTe=new Ht("mat-dialog-default-options"),j7=new Ht("mat-dialog-scroll-strategy");let $Te=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=u,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new se,this._afterOpenedAtThisLevel=new se,this._ariaHiddenElements=new Map,this.afterAllClosed=function(n){return new I(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?je(t):lS()).subscribe(e)})}(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(ao(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new zP)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new IC({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Wn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:zP,useValue:i}]}),o=new TC(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof zo)i.attachTemplatePortal(new Im(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new TC(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Il,null,Sn.Optional))&&o.push({provide:Il,useValue:{value:t.direction,change:fn()}}),Wn.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(xe(wc),xe(Wn),xe(void 0),xe(void 0),xe(Ob),xe(void 0),xe(xu),xe(xu),xe(Ht))},n.\u0275dir=Rt({type:n}),n})(),Pb=(()=>{class n extends $Te{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,FC,VTe,B7)}}return n.\u0275fac=function(t){return new(t||n)(Oe(wc),Oe(Wn),Oe(Pg,8),Oe(zTe,8),Oe(j7),Oe(n,12),Oe(Ob))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),qTe=0,V7=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+qTe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(xe(FC,8),xe(En),xe(Pb))},n.\u0275dir=Rt({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&Lu("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),U7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Rt({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();const $P=new Ht("CdkAccordion");let XTe=0,ZTe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=x.EMPTY,this.closed=new sn,this.opened=new sn,this.destroyed=new sn,this.expandedChange=new sn,this.id="cdk-accordion-child-"+XTe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=xi(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=xi(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(xe($P,12),xe(Dr),xe(D$))},n.\u0275dir=Rt({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Hn([{provide:$P,useValue:void 0}])]}),n})();const eMe=["body"];function tMe(n,e){}const nMe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],iMe=["mat-expansion-panel-header","*","mat-action-row"];function rMe(n,e){1&n&&bi(0,"span",2),2&n&&rn("@indicatorRotate",ci()._getExpandedState())}const sMe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],oMe=["mat-panel-title","mat-panel-description","*"],WP=new Ht("MAT_ACCORDION"),H7="225ms cubic-bezier(0.4,0.0,0.2,1)",G7={indicatorRotate:Em("indicatorRotate",[vc("collapsed, void",fs({transform:"rotate(0deg)"})),vc("expanded",fs({transform:"rotate(180deg)"})),ud("expanded <=> collapsed, void => collapsed",cd(H7))]),bodyExpansion:Em("bodyExpansion",[vc("collapsed, void",fs({height:"0px",visibility:"hidden"})),vc("expanded",fs({height:"*",visibility:"visible"})),ud("expanded <=> collapsed, void => collapsed",cd(H7))])};let aMe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(xe(zo))},n.\u0275dir=Rt({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),lMe=0;const $7=new Ht("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let W7=(()=>{class n extends ZTe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new sn,this.afterCollapse=new sn,this._inputChanges=new se,this._headerId="mat-expansion-panel-header-"+lMe++,this._bodyAnimationDone=new se,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(rd((c,u)=>c.fromState===u.fromState&&c.toState===u.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=xi(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(ao(null),Qi(()=>this.expanded&&!this._portal),Wi(1)).subscribe(()=>{this._portal=new Im(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(xe(WP,12),xe(Dr),xe(D$),xe(Ns),xe(pn),xe(Nl,8),xe($7,8))},n.\u0275cmp=ln({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&function(n,e,t,i){const r=Ei();if(r.firstCreatePass){const s=cs();F3(r,new R3(e,t,i),s.index),function(n,e){const t=n.contentQueries||(n.contentQueries=[]);e!==(t.length?t[t.length-1]:-1)&&t.push(n.queries.length-1,e)}(r,n),2==(2&t)&&(r.staticContentQueries=!0)}P3(r,jt(),t)}(r,aMe,5),2&t){let s;ii(s=ri())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&ss(eMe,5),2&t){let r;ii(r=ri())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&vi("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Hn([{provide:WP,useValue:void 0}]),An,Ui],ngContentSelectors:iMe,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(is(nMe),si(0),Pt(1,"div",0,1),Un("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),Pt(3,"div",2),si(4,1),Di(5,tMe,0,0,"ng-template",3),Ft(),si(6,2),Ft()),2&t&&(Zt(1),rn("@bodyExpansion",i._getExpandedState())("id",i.id),Bi("aria-labelledby",i._headerId),Zt(4),rn("cdkPortalOutlet",i._portal))},directives:[tp],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[G7.bodyExpansion]},changeDetection:0}),n})();class uMe{}const dMe=xP(uMe);let q7=(()=>{class n extends dMe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=x.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Qi(u=>!(!u.hideToggle&&!u.togglePosition))):Yc;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=kn(t.opened,t.closed,c,t._inputChanges.pipe(Qi(u=>!!(u.hideToggle||u.disabled||u.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Qi(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Dl(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(xe(W7,1),xe(En),xe(du),xe(Dr),xe($7,8),xe(Nl,8),Fo("tabindex"))},n.\u0275cmp=ln({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&Un("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(Bi("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),jy("height",i._getHeaderHeight()),vi("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[An],ngContentSelectors:oMe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(is(sMe),Pt(0,"span",0),si(1),si(2,1),si(3,2),Ft(),Di(4,rMe,1,1,"span",1)),2&t&&(Zt(4),rn("ngIf",i._showToggle()))},directives:[lc],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[G7.indicatorRotate]},changeDetection:0}),n})();var Y7=Je(478);Object.create(Error.prototype);const mMe=["*"];var LC=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(LC||(LC={})),LC))();class yMe{}const X7=new Ht("SECURITY_CONTEXT");let qP=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new Y7.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=Y7.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(me(i=>this.handleExtension(t,i)))}highlight(t){if(Tf(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Tf(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Tf(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Tf(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wc),Oe(X7),Oe(ip,8),Oe(yMe,8),Oe(Mf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Q7=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new sn,this.load=new sn,this.ready=new sn,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,LC.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;sP(i)?t(...i):t(i))):new I(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Y(e))return()=>e(r,s)})}function YP(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new CMe(n,t))}}class CMe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new AMe(e,this.observables,this.project))}}class AMe extends l7{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class TMe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new MMe(e,this.accumulator,this.seed,this.hasSeed))}}class MMe extends y{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class OMe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new RMe(e,this.predicate))}}class RMe extends y{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const NMe=["youtubeContainer"];let tW=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new se,this._destroyed=new se,this._playerChanges=new Br(void 0),this._videoId=new Br(void 0),this._height=new Br(390),this._width=new Br(640),this._startSeconds=new Br(void 0),this._endSeconds=new Br(void 0),this._suggestedQuality=new Br(void 0),this._playerVars=new Br(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Tf(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=fn(!0);if(!window.YT||!window.YT.Player){const r=new se;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(Wi(1),ao(!1))}const i=function(n,e,t,i,r,s,o){const a=Yo([e,s]).pipe(YP(Yo([i,r])),me(([l,c])=>{const[u,h]=l,[p,g]=c;return u?{videoId:u,playerVars:h,width:p,height:g}:void 0}));return Yo([n,a,fn(o)]).pipe(function(n){return ce(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&P(n[0])&&(n=n[0].slice()),t=>t.lift.call(je([t,...n]),new d7(e))}(n),function(n){return e=>e.lift(new OMe(n))}(([e,t])=>!t),me(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new TMe(n,e,t))}}(jMe,void 0),rd())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(Yr(r=>{this._playerChanges.next(r)}),B(e=>e?nW(e)?fn(e):new I(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{nW(r)||r.destroy()})(e)}}).pipe(Wi(1),ao(void 0)):fn(void 0)),_r(this._destroyed),el(new se));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){Yo([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){Yo([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=Yo([t,i]).pipe(me(([u,h])=>({startSeconds:u,endSeconds:h}))),a=o.pipe(XP(n,u=>!!u&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(u))),l=e.pipe(XP(n,(u,h)=>!!u&&u.videoId!==h));kn(n.pipe(XP(Yo([e,o]),([u,h],p)=>!(!p||u==p.videoId&&!h.startSeconds&&!h.endSeconds))),l,a).pipe(YP(Yo([n,e,o,r])),me(([u,h])=>h),_r(s)).subscribe(([u,h,p,g])=>{!h||!u||(u.videoId=h,u.cueVideoById(Object.assign({videoId:h,suggestedQuality:g},p)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(Ir(i=>i?Z7(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):fn()),i=>new I(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),_r(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(xe(gn),xe(Wc))},n.\u0275cmp=ln({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&ss(NMe,5),2&t){let r;ii(r=ri())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&bi(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function jMe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function nW(n){return"getPlayerStatus"in n}function XP(n,e){return ce(YP(n),Qi(([t,i])=>e(i,t)),me(([t])=>t))}let KMe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Rt({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function kb(n){return!0===n}function Xa(n){return null==n}function Qa(n){return!Xa(n)}function QP(n){return Boolean(n)}function oW(n){return Xa(n)?n:JSON.parse(JSON.stringify(n))}const jC=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&jC(n[o])}),n};function aW(n){return Qa(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const uW="NGXS_DATA_META",JP="NGXS_META",dW="NGXS_ARGUMENT_REGISTRY_META";let hW=(()=>{class n{constructor(t){this.sequence$=new Br(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(Oe(cu,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function Lb(n){return n[uW]}let Za=(()=>{class n{constructor(t,i,r){n.store=t.get(cu),n.ngZone=t.get(gn),n.factory=i,n.context=r,n.computed=t.get(hW)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(Oe(Wn),Oe(a6),Oe(o6))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class ps{constructor(){ps.statesCachedMeta.clear()}static createStateContext(e){return Za.context.createStateContext(e)}static ensureMappedState(e){if(Xa(Za.factory)||Xa(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(Qa(e.name)?ps.statesCachedMeta.get(e.name):null)||ps.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=Lb(ps.getStateClassByInstance(e)))&&void 0!==t?t:null;if(Xa(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=ps.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=ps.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=Qa(e.name)?null===(t=Za.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return Qa(i)&&Qa(e.name)&&ps.statesCachedMeta.set(e.name,i),i}}ps.statesCachedMeta=new Map,ps.\u0275fac=function(e){return new(e||ps)},ps.\u0275prov=We({token:ps,factory:ps.\u0275fac}),new kg(1);class mDe extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${Qa(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function fW(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function pW(n){var e;const t=fW(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=oW(void 0===t.defaults?{}:t.defaults);if(i.length){if(aW(s))return function(n,e){return e.reduce((t,i)=>{const r=fW(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=pW(i),t},null!=n?n:{})}(s,i);throw new mDe(s)}return s}function mW(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function _W(){var n,e;return null!==(e=null===(n=null==Za?void 0:Za.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function vDe(n){let e=!1;return Tm(n)&&(e=!0),e}function eF(n){return n[dW]}class wDe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class EDe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(QP(this.argumentMap.has(e))||QP(this.payloadMap.has(e)))throw new wDe(e,t)}}function MDe(n){return{enumerable:!0,configurable:!0,get(){const e=Lb(n),t=ps.ensureMappedState(e.stateMeta);return ps.createStateContext(t)}}}function yW(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(aW(i))for(;null!==i;){if(kb(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return Xa(mW(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),mW(n)}(this),o=null==s?void 0:s.get(i);if(kb(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(Xa(o)||o.sequenceId!==_W()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:_W(),isObservable:vDe(l)}),l}return o.value},t}}const PDe={cancelUncompleted:!0,insideZone:!1};function tF(n=PDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=ps.getRepositoryByInstance(a),u=c.operations;let h=u[s];const p=c.stateMeta,g=eF(r);if(Xa(h)){const U=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),de=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var U;return kb(n.insideZone)?null===(U=Za.ngZone)||void 0===U||U.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),Tm(l)?fn(null).pipe(me(()=>l)):l};const C=ps.createAction(h,o,g),H=Za.store.dispatch(C);return Tm(l)?function(n,e){return ub([n,e]).pipe(me(t=>t.pop()))}(H,l):l},i}}function bW(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return Xa(eF(t))&&Object.defineProperties(t,{[dW]:{enumerable:!0,configurable:!0,value:new EDe}}),eF(t)})(e,t).createPayloadType(r,t,i)}}function kDe(){return n=>{const e=function(n){if(function(n){return!QP(n)}(n.hasOwnProperty(JP))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,JP,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[JP]}(n)}(n);if(Xa(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=Lb(n))&&void 0!==e?e:null;return(Xa(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,uW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),Lb(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>oW(t)},context:MDe(n)})}(n,e,pW(n)),function(n){var e,t;const i=Lb(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(Qa(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(Qa(this[s]))return this[s];if(Xa(Za.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=Za.store.select(n).pipe(me(o=>Ba()?jC(o):o),$a({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}let BDe=(()=>{class n{constructor(){this.browserStorageEvents$=new se,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),jDe=(()=>{class n extends BDe{get snapshot(){return function(n){return Ba()?jC(n):n}(this.getState())}get ctx(){return function(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>Ba()?jC(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),rr([yW(),dc("design:type",Object),dc("design:paramtypes",[])],n.prototype,"snapshot",null),rr([tF(),Aj(0,bW("patchValue")),dc("design:type",Function),dc("design:paramtypes",[Object]),dc("design:returntype",void 0)],n.prototype,"patchState",null),rr([tF(),Aj(0,bW("stateValue")),dc("design:type",Function),dc("design:paramtypes",[Object]),dc("design:returntype",void 0)],n.prototype,"setState",null),rr([tF(),dc("design:type",Function),dc("design:paramtypes",[]),dc("design:returntype",void 0)],n.prototype,"reset",null),n})();const jm=new Ht("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),xF=new Ht("ngx-window",{providedIn:"root",factory:()=>function(n){return Tf(n)?window:null}(Fc(Wc))}),ZOe=new Ht("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Fc(xF))}),CF=new Ht("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Fc(xF),Fc(ZOe))});let AF=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||Ba())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(Oe(jm),Oe(pn),Oe(CF))},n.\u0275prov=We({factory:function(){return new n(Oe(jm),Oe(pn),Oe(CF))},token:n,providedIn:"root"}),n})();new Ht("ngx-google-analytics-routing-settings",{factory:()=>({})}),new Ht("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"});class M9 extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function bRe(){throw new M9}function vRe(){throw new M9}function DF(n,e,t){e.run(()=>n.dispatch(t))}function SRe(n,e,t,i){return yg(t)?function(n,e,t){return t.then(i=>(DF(n,e,i),i))}(n,e,t):Tm(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(_r(i.cancelUncompleted$))),t.subscribe({next:r=>DF(n,e,r)}),t}(n,e,t,i):(DF(n,e,t),t)}class xRe{constructor(){this.cancelUncompleted$=new se}cancelPreviousAction(){this.cancelUncompleted$.next()}}const IF="\u0275fac",D9=Symbol("InjectorInstance"),I9=Symbol("FactoryHasBeenDecorated");function O9(n,e){const t=n[D9];return t?t.get(e):null}const TRe={cancelUncompleted:!1};function R9(n=TRe){return(e,t,i)=>{let r;const s=function(n){return n?new xRe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=O9(this,cu)||bRe(),l=O9(this,gn)||vRe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>SRe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(I9 in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[IF]&&function(n){const e=n[IF];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[D9]=xe(Pu),r};t&&(t.factory=i),Object.defineProperty(n,IF,{get:()=>i})}(e),n.constructor.prototype[I9]=!0}(e)}}const tNe=["bodyCanvas"];let nNe=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new sn,this.nodeDrag=new sn,this.nodeClick=new sn,this.nodeHoverStart=new sn,this.nodeHoverStop=new sn,this.initialized=new sn,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return Fi(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new Qve({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&ss(tNe,5,En),2&t){let r;ii(r=ri())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&vl(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&bi(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),iNe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({imports:[[qr]]}),n})();function ENe(n,e){if(1&n&&(Pt(0,"div",16),bi(1,"youtube-player",17),Ft()),2&n){const t=ci(3);Zt(1),pE("videoId",t.videoID)}}function SNe(n,e){if(1&n&&(Pt(0,"mat-expansion-panel",11),Pt(1,"mat-expansion-panel-header"),Pt(2,"h2",12),Oi(3),Ft(),Ft(),Pt(4,"div",13),bi(5,"markdown",14),Di(6,ENe,2,1,"div",15),Ft(),Ft()),2&n){const t=ci(),i=t.index,r=t.$implicit;rn("expanded",0===i),Zt(3),da(r.title),Zt(2),vi("first",0===i),rn("data",r.content),Zt(1),rn("ngIf",0===i)}}function xNe(n,e){if(1&n&&(Pt(0,"div",9),Di(1,SNe,7,6,"mat-expansion-panel",10),Ft()),2&n){const t=e.$implicit;Zt(1),rn("ngIf",t)}}new Ht("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10}),[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name)).filter(n=>!0!==n.disabled);let G9=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(xe(FC),xe(B7))},n.\u0275cmp=ln({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(Pt(0,"div",0),Pt(1,"div",1),Pt(2,"div",2),Pt(3,"div",3),Pt(4,"h2",4),Oi(5),Ft(),Pt(6,"div",5),Pt(7,"mat-icon",6),Un("click",function(){return i.close()}),Oi(8,"clear"),Ft(),Ft(),Ft(),Pt(9,"mat-dialog-content",7),Di(10,xNe,2,1,"div",8),Ft(),Ft(),Ft(),Ft()),2&t&&(Zt(5),da(i.infoTitle),Zt(5),rn("ngForOf",i.documentationContents))},directives:[V7,Nm,U7,Af,lc,W7,q7,Q7,tW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),$9=(()=>{class n{constructor(t){this.http=t,this.panelContent=new Br({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(Oe(ip))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),ANe=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new sn,this.closeClicked=new sn}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&vl(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(Pt(0,"div",0),Pt(1,"div",1),Pt(2,"div",2),Pt(3,"div",3),Pt(4,"p",4),Oi(5),Ft(),Pt(6,"mat-icon",5),Un("click",function(){return i.close()}),Oi(7,"clear"),Ft(),Ft(),bi(8,"img",6),Pt(9,"mat-dialog-content",7),Pt(10,"div",8),Oi(11),Ft(),Pt(12,"a",9),Un("click",function(){return i.onDialogButtonClick()}),Ft(),Ft(),Ft(),Ft(),Ft()),2&t&&(Zt(5),da(i.infoTitle),Zt(3),rn("src",i.imageUrl,nf),Zt(3),ha(" ",i.message,""),Zt(1),rn("text",i.callToAction))},directives:[V7,Nm,KMe,U7],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),Yb=(()=>{let n=class extends jDe{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(Qi(n=>null!=n),$a(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(a7(...t),rd(),$a(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(a7(...t),rd(),$a(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),rr([yW()],n.prototype,"config$",null),n=rr([kDe(),M6({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}(),new se;let PF=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),FF=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),kF=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var LF;class wa{get length(){var e,t;return null!==(t=null===(e=wa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=wa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=wa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=wa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=wa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=wa.storage)||void 0===e||e.clear()}}wa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),wa.\u0275fac=function(e){return new(e||wa)},wa.\u0275prov=We({token:wa,factory:wa.\u0275fac,providedIn:"root"});const Y9="callToActionPopupShown";let Do=LF=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(Y9,`${i}`),s=LF.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new FF)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(me(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open(G9,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(Yr(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(NNe,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(Y9,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};Do.\u0275fac=function(e){return new(e||Do)(Oe(Pb),Oe(AF),Oe(wa),Oe($9),Oe(ip))},Do.\u0275prov=We({token:Do,factory:Do.\u0275fac}),rr([_N(PF)],Do.prototype,"learnMore",null),rr([_N(FF)],Do.prototype,"open",null),rr([_N(kF)],Do.prototype,"close",null),Do=LF=rr([M6({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Do);let o1=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return rr([_m([Do])],n,"title",null),rr([_m([Do])],n,"message",null),rr([_m([Do])],n,"callToAction",null),rr([_m([Do])],n,"imageUrl",null),rr([_m([Do])],n,"expirationDate",null),rr([_m([Do])],n,"popupShown",null),n})(),NNe=(()=>{class n{constructor(){this.close=()=>new kF,this.learnMore=()=>new PF}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(Pt(0,"ccf-call-to-action",0),Un("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),xl(1,"async"),xl(2,"async"),xl(3,"async"),xl(4,"async"),Ft()),2&t&&rn("infoTitle",Vu(1,4,i.title$))("message",Vu(2,6,i.message$))("callToAction",Vu(3,8,i.callToAction$))("imageUrl",Vu(4,10,i.imageUrl$))},directives:[ANe],pipes:[h0],styles:[""],changeDetection:0}),rr([kx(o1.title)],n.prototype,"title$",void 0),rr([kx(o1.message)],n.prototype,"message$",void 0),rr([kx(o1.callToAction)],n.prototype,"callToAction$",void 0),rr([kx(o1.imageUrl)],n.prototype,"imageUrl$",void 0),rr([R9()],n.prototype,"close",void 0),rr([R9()],n.prototype,"learnMore",void 0),n})();const K9="http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity",BNe=[173,255,47,229.5];var xn=Je(440),HNe=Je(698),GNe=Je(445),$Ne=Je.n(GNe),fr=Je(815),Kb=Je(609);const or=xn.Util.prefixes({base:"http://purl.org/ccf/latest/ccf.owl#",ccf:"http://purl.org/ccf/",fma:"http://purl.org/sig/ont/fma/fma",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/"},xn.DataFactory),un=(or("rdf"),or("rdf")("type"),or("rdfs"),or("rdfs")("label"),or("rdfs")("comment"),or("rdfs")("isDefinedBy"),or("rdfs")("seeAlso"),or("ccf")),co_label=(or("ccf")("has_registration_location"),or("rdfs")("label")),co_description=or("rdfs")("comment"),co_link=un("url"),co_providerName=(un("sex"),un("age"),un("bmi"),xn.DataFactory.literal("Male"),xn.DataFactory.literal("Female"),un("consortium_name"),un("tissue_provider_name")),co_donor=(un("tissue_provider_uuid"),un("comes_from")),co_sections=un("subdivided_into_sections"),co_datasets=un("generates_dataset"),co_sampleType=un("sample_type"),co_sectionCount=(xn.DataFactory.literal("Tissue Block"),xn.DataFactory.literal("Tissue Section"),xn.DataFactory.literal("Non-standard"),un("section_count")),co_sectionSize=un("section_size"),co_sectionUnits=un("section_size_unit"),co_sectionNumber=un("section_number"),co_spatialEntity=un("has_registration_location"),co_technology=(un("has_ontology_term"),un("has_cell_type_term"),un("technology")),co_thumbnail=un("thumbnail"),md={x:un,base:or("base"),ontologyNode:{label:un("ccf_pref_label"),parent:un("ccf_part_of"),children:un("ccf_part_of"),rui_rank:un("rui_rank"),synonymLabels:xn.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:un("ccf_part_of"),ct_is_a:un("ccf_ct_isa"),located_in:un("ccf_located_in"),characterizes:un("ccf_characterizes")},spatial:{Female:or("base")("VHFemale"),Male:or("base")("VHMale"),BothSexes:or("base")("VHBothSexes"),FemaleOrgans:or("base")("VHFemaleOrgans"),MaleOrgans:or("base")("VHMaleOrgans")},SpatialObjectReference:un("spatial_object_reference"),SpatialEntity:un("spatial_entity"),SpatialPlacement:un("spatial_placement"),spatialObjectReference:{file:un("file_url"),file_format:un("file_format"),file_subpath:un("file_subpath")},extractionSet:{label:or("rdfs")("label"),rui_rank:un("rui_rank")},spatialEntity:{label:or("rdfs")("label"),description:or("rdfs")("comment"),creator:or("dcterms")("creator"),creator_first_name:un("creator_first_name"),creator_last_name:un("creator_last_name"),creator_orcid:un("creator_orcid"),creation_date:or("dcterms")("created"),updated_date:un("updated_date"),ccf_annotations:un("collides_with"),representation_of:un("representation_of"),reference_organ:un("has_reference_organ"),extraction_set_for:un("extraction_set_for"),extraction_set:un("has_extraction_set"),sex:un("organ_owner_sex"),side:un("organ_side"),rui_rank:un("rui_rank"),slice_thickness:un("slice_thickness"),slice_count:un("slice_count"),x_dimension:un("x_dimension"),y_dimension:un("y_dimension"),z_dimension:un("z_dimension"),dimension_units:un("dimension_unit"),object:un("has_object_reference")},spatialPlacement:{source:un("placement_for"),target:un("placement_relative_to"),placement_date:or("dcterms")("created"),x_scaling:un("x_scaling"),y_scaling:un("y_scaling"),z_scaling:un("z_scaling"),scaling_units:un("scaling_unit"),x_rotation:un("x_rotation"),y_rotation:un("y_rotation"),z_rotation:un("z_rotation"),w_rotation:un("theta_rotation"),rotation_order:un("rotation_order"),rotation_units:un("rotation_unit"),x_translation:un("x_translation"),y_translation:un("y_translation"),z_translation:un("z_translation"),translation_units:un("translation_unit")}},ui={x:or("uberon"),body:or("uberon")("0013702")},YNe={x:or("cl"),cell:or("cl")("0000000")},Xb={x:or("fma")},X9=(or("lmha"),{body:ui.body,cell:YNe.cell,respiratory_system:ui.x("0001004"),colon:ui.x("0001155"),left_lung:ui.x("0002168"),right_lung:ui.x("0002167"),left_bronchus:ui.x("0002178"),right_bronchus:ui.x("0002177"),kidney:ui.x("0002113"),ureter:ui.x("0000056"),eye:ui.x("0000970"),fallopian_tube:ui.x("0003889"),knee:ui.x("0001465"),ovary:ui.x("0000992"),trachea:ui.x("0003126"),aorta:ui.x("0000947"),blood:ui.x("0000178"),bone_marrow:ui.x("0002371"),male_reproductive_system:ui.x("0000079"),lymph_node:ui.x("0000029"),blood_vasculature:ui.x("0004537"),brain:ui.x("0000955"),eye_left:ui.x("0004548"),eye_right:Xb.x("54449"),fallopian_tube_left:ui.x("0001303"),fallopian_tube_right:ui.x("0001302"),heart:ui.x("0000948"),kidney_left:ui.x("0004538"),kidney_right:ui.x("0004539"),knee_left:Xb.x("24978"),knee_right:Xb.x("24977"),large_intestine:ui.x("0000059"),liver:ui.x("0002107"),lungs:ui.x("0002048"),mesenteric_lymph_node:ui.x("0002509"),ovary_left:Xb.x("7214"),ovary_right:Xb.x("7213"),pancreas:ui.x("0001264"),pelvis:ui.x("0001270"),prostate_gland:ui.x("0002367"),skin:ui.x("0002097"),small_intestine:ui.x("0002108"),spleen:ui.x("0002106"),thymus:ui.x("0002370"),ureter_left:ui.x("0001223"),ureter_right:ui.x("0001222"),urinary_bladder:ui.x("0001255"),uterus:ui.x("0000995")});function BF(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}BF(md.spatialObjectReference),BF(md.spatialEntity),BF(md.spatialPlacement),new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]);const zm=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Pr=(Math,Math,{});function cPe(n,{precision:e=Pr.precision||4}={}){return n=function(n){return Math.round(n/Pr.EPSILON)*Pr.EPSILON}(n),"".concat(parseFloat(n.toPrecision(e)))}function Ah(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Zb(n,e,t){const i=Pr.EPSILON;t&&(Pr.EPSILON=t);try{if(n===e)return!0;if(Ah(n)&&Ah(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+cPe(this[i],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e=a+s)return this.clone();if(s>=a+i)return e.clone();const l=.5*(i+a+s);return oq.copy(o).scale((-i+l)/a).add(t),this.center.copy(oq),this.radius=l,this}expand(e){const t=(e=Jb.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}transform(e){this.center.transform(e);const t=function(n,e){var s=e[4],o=e[5],a=e[6],l=e[8],c=e[9],u=e[10];return n[0]=Math.hypot(e[0],e[1],e[2]),n[1]=Math.hypot(s,o,a),n[2]=Math.hypot(l,c,u),n}(Jb,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const t=(e=Jb.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}intersectPlane(e){const i=this.radius,s=e.normal.dot(this.center)+e.distance;return s<-i?zm.OUTSIDE:s0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return u8(this,this,e),this.check()}rotateY(e){return d8(this,this,e),this.check()}rotateZ(e){return h8(this,this,e),this.check()}scale(e){return fR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=CPe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return J0(this,e,t,i),this.check()}transformVector4(e,t=e){return kU(t,e,this),tq(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const APe=new Pn,TPe=new Pn,c1=new Pn,u1=new Pn,d1=new Pn,MPe=new Pn,DPe=new Pn;class GF{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=(new Pn).from(e),this.halfAxes=new Xo(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2);return[new Pn(e).len(),new Pn(t).len(),new Pn(i).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2),r=new Pn(e).normalize(),s=new Pn(t).normalize(),o=new Pn(i).normalize();return(new lq).fromMatrix3(new Xo([...r,...s,...o]))}fromCenterHalfSizeQuaternion(e,t,i){const r=new lq(i),s=(new Xo).fromQuaternion(r);return s[0]=s[0]*t[0],s[1]=s[1]*t[0],s[2]=s[2]*t[0],s[3]=s[3]*t[1],s[4]=s[4]*t[1],s[5]=s[5]*t[1],s[6]=s[6]*t[2],s[7]=s[7]*t[2],s[8]=s[8]*t[2],this.center=(new Pn).from(e),this.halfAxes=s,this}clone(){return new GF(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new HF){const t=this.halfAxes,i=t.getColumn(0,c1),r=t.getColumn(1,u1),s=t.getColumn(2,d1),o=APe.copy(i).add(r).add(s);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){const t=this.center,i=e.normal,r=this.halfAxes,s=i.x,o=i.y,a=i.z,l=Math.abs(s*r[0]+o*r[1]+a*r[2])+Math.abs(s*r[3]+o*r[4]+a*r[5])+Math.abs(s*r[6]+o*r[7]+a*r[8]),c=i.dot(t)+e.distance;return c<=-l?zm.OUTSIDE:c>=l?zm.INSIDE:zm.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=TPe.from(e).subtract(this.center),i=this.halfAxes,r=i.getColumn(0,c1),s=i.getColumn(1,u1),o=i.getColumn(2,d1),a=r.magnitude(),l=s.magnitude(),c=o.magnitude();r.normalize(),s.normalize(),o.normalize();let h,u=0;return h=Math.abs(t.dot(r))-a,h>0&&(u+=h*h),h=Math.abs(t.dot(s))-l,h>0&&(u+=h*h),h=Math.abs(t.dot(o))-c,h>0&&(u+=h*h),u}computePlaneDistances(e,t,i=[-0,-0]){let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const o=this.center,a=this.halfAxes,l=a.getColumn(0,c1),c=a.getColumn(1,u1),u=a.getColumn(2,d1),h=MPe.copy(l).add(c).add(u).add(o),p=DPe.copy(h).subtract(e);let g=t.dot(p);return r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).add(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),i[0]=r,i[1]=s,i}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,c1);t.transformAsPoint(e);const i=this.halfAxes.getColumn(1,u1);i.transformAsPoint(e);const r=this.halfAxes.getColumn(2,d1);return r.transformAsPoint(e),this.halfAxes=new Xo([...t,...i,...r]),this}getTransform(){throw new Error("not implemented")}}const cq=new Pn,uq=new Pn;class $F{constructor(e=[0,0,1],t=0){this.normal=new Pn,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return Ec(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=cq.from(e),this.normal.from(t).normalize();const i=-this.normal.dot(e);return this.distance=i,this}fromCoefficients(e,t,i,r){return this.normal.set(e,t,i),Ec(Zb(this.normal.len(),1)),this.distance=r,this}clone(e){return new $F(this.normal,this.distance)}equals(e){return Zb(this.distance,e.distance)&&Zb(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=uq.copy(this.normal).transformAsVector(e).normalize(),i=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(i,t)}projectPointOntoPlane(e,t=[0,0,0]){e=cq.from(e);const i=this.getPointDistance(e),r=uq.copy(this.normal).scale(i);return e.subtract(r).to(t)}}function bFe(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[md.ontologyNode.label.id]:"label",[t]:"parent",[md.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of function*(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,xn.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,Kb.fromRdf)(s.object):s.object.id;yield[r,o]}}(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function mq(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,xn.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=bFe(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,_q(r),r}function _q(n,e,t=new Set){const i=n.nodes[null!=e?e:n.root];if(i){i.children=i.children.filter(r=>!t.has(r)),i.children.forEach(r=>t.add(r));for(const r of i.children)_q(n,r,t),n.nodes[r]&&(n.nodes[r].parent=i["@id"])}}new Pn([1,0,0]),new Pn([0,1,0]),new Pn([0,0,1]),new Pn,new Pn,new $F(new Pn(1,0,0),0),new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,Math,new Xo,new Xo,new Xo,new Xo,new Xo,new Pn,new Pn,new Pn,new Pn,new Pn,new Xo,new Xo,new Xo,(0,fr.memoize)(function(n){const e=mq(n,X9.body.id,"body",md.asctb.part_of.id);return e.nodes[X9.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>"");const p1={[co_label.id]:"label",[co_description.id]:"description",[co_link.id]:"link"};Object.assign(Object.assign({},p1),{[co_providerName.id]:"providerName"}),Object.assign(Object.assign({},p1),{[co_technology.id]:"technology",[co_thumbnail.id]:"thumbnail"}),Object.assign(Object.assign({},p1),{[co_sampleType.id]:"sampleType",[co_sectionNumber.id]:"sectionNumber",[co_datasets.id]:"datasets"}),Object.assign(Object.assign({},p1),{[co_sampleType.id]:"sampleType",[co_sectionCount.id]:"sectionCount",[co_sectionSize.id]:"sectionSize",[co_sectionUnits.id]:"sectionUnits",[co_donor.id]:"donor",[co_spatialEntity.id]:"spatialEntityId",[co_sections.id]:"sections",[co_datasets.id]:"datasets"});const bq={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};function mu(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}let ZF;function Sc(){return ZF||(ZF=function(n,e){const t=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let e;return new Promise(t=>{const i=()=>indexedDB.databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}().then(()=>{const i=indexedDB.open("keyval-store");return i.onupgradeneeded=()=>i.result.createObjectStore(e),mu(i)});return(i,r)=>t.then(s=>r(s.transaction(e,i).objectStore(e)))}(0,"keyval")),ZF}function vq(n,e=Sc()){return e("readonly",t=>mu(t.get(n)))}const g1="Unknown Euler angle order",$m=.99999;class Ji extends bS{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return Ji.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(e){return Ji.RotationOrders[e]}get ELEMENTS(){return 4}constructor(e=0,t=0,i=0,r=Ji.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(e,t,i,r)}fromQuaternion(e){const[t,i,r,s]=e,o=i*i,a=-2*(o+r*r)+1,l=2*(t*i+s*r);let c=-2*(t*r-s*i);c=c>1?1:c,c=c<-1?-1:c;const p=Math.atan2(2*(i*r+s*t),-2*(t*t+o)+1),g=Math.asin(c),m=Math.atan2(l,a);return new Ji(p,g,m,Ji.RollPitchYaw)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}set(e=0,t=0,i=0,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=Number.isFinite(r)?r:this[3],this.check()}validate(){return function(n){return n>=0&&n<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}toArray4(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}toVector3(e=[-0,-0,-0]){return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}get x(){return this[0]}set x(e){this[0]=sr(e)}get y(){return this[1]}set y(e){this[1]=sr(e)}get z(){return this[2]}set z(e){this[2]=sr(e)}get alpha(){return this[0]}set alpha(e){this[0]=sr(e)}get beta(){return this[1]}set beta(e){this[1]=sr(e)}get gamma(){return this[2]}set gamma(e){this[2]=sr(e)}get phi(){return this[0]}set phi(e){this[0]=sr(e)}get theta(){return this[1]}set theta(e){this[1]=sr(e)}get psi(){return this[2]}set psi(e){this[2]=sr(e)}get roll(){return this[0]}set roll(e){this[0]=sr(e)}get pitch(){return this[1]}set pitch(e){this[1]=sr(e)}get yaw(){return this[2]}set yaw(e){this[2]=sr(e)}get order(){return this[3]}set order(e){this[3]=function(n){if(n<0&&n>=6)throw new Error(g1);return n}(e)}fromVector3(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}fromArray(e,t=0){return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}fromRollPitchYaw(e,t,i){return this.set(e,t,i,Ji.ZYX)}fromRotationMatrix(e,t=Ji.DefaultOrder){return this._fromRotationMatrix(e,t),this.check()}getRotationMatrix(e){return this._getRotationMatrix(e)}getQuaternion(){const e=new gR;switch(this[4]){case Ji.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case Ji.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case Ji.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case Ji.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case Ji.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case Ji.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(g1)}}_fromRotationMatrix(e,t=Ji.DefaultOrder){const i=e.elements,r=i[0],s=i[4],o=i[8],a=i[1],l=i[5],c=i[9],u=i[2],h=i[6],p=i[10];switch(t=t||this[3]){case Ji.XYZ:this[1]=Math.asin(Va(o,-1,1)),Math.abs(o)<$m?(this[0]=Math.atan2(-c,p),this[2]=Math.atan2(-s,r)):(this[0]=Math.atan2(h,l),this[2]=0);break;case Ji.YXZ:this[0]=Math.asin(-Va(c,-1,1)),Math.abs(c)<$m?(this[1]=Math.atan2(o,p),this[2]=Math.atan2(a,l)):(this[1]=Math.atan2(-u,r),this[2]=0);break;case Ji.ZXY:this[0]=Math.asin(Va(h,-1,1)),Math.abs(h)<$m?(this[1]=Math.atan2(-u,p),this[2]=Math.atan2(-s,l)):(this[1]=0,this[2]=Math.atan2(a,r));break;case Ji.ZYX:this[1]=Math.asin(-Va(u,-1,1)),Math.abs(u)<$m?(this[0]=Math.atan2(h,p),this[2]=Math.atan2(a,r)):(this[0]=0,this[2]=Math.atan2(-s,l));break;case Ji.YZX:this[2]=Math.asin(Va(a,-1,1)),Math.abs(a)<$m?(this[0]=Math.atan2(-c,l),this[1]=Math.atan2(-u,r)):(this[0]=0,this[1]=Math.atan2(o,p));break;case Ji.XZY:this[2]=Math.asin(-Va(s,-1,1)),Math.abs(s)<$m?(this[0]=Math.atan2(h,l),this[1]=Math.atan2(o,r)):(this[0]=Math.atan2(-c,p),this[1]=0);break;default:throw new Error(g1)}return this[3]=t,this}_getRotationMatrix(e){const t=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],i=this.x,r=this.y,s=this.z,o=Math.cos(i),a=Math.cos(r),l=Math.cos(s),c=Math.sin(i),u=Math.sin(r),h=Math.sin(s);switch(this[3]){case Ji.XYZ:{const p=o*l,g=o*h,m=c*l,w=c*h;t[0]=a*l,t[4]=-a*h,t[8]=u,t[1]=g+m*u,t[5]=p-w*u,t[9]=-c*a,t[2]=w-p*u,t[6]=m+g*u,t[10]=o*a;break}case Ji.YXZ:{const p=a*l,g=a*h,m=u*l,w=u*h;t[0]=p+w*c,t[4]=m*c-g,t[8]=o*u,t[1]=o*h,t[5]=o*l,t[9]=-c,t[2]=g*c-m,t[6]=w+p*c,t[10]=o*a;break}case Ji.ZXY:{const p=a*l,g=a*h,m=u*l,w=u*h;t[0]=p-w*c,t[4]=-o*h,t[8]=m+g*c,t[1]=g+m*c,t[5]=o*l,t[9]=w-p*c,t[2]=-o*u,t[6]=c,t[10]=o*a;break}case Ji.ZYX:{const p=o*l,g=o*h,m=c*l,w=c*h;t[0]=a*l,t[4]=m*u-g,t[8]=p*u+w,t[1]=a*h,t[5]=w*u+p,t[9]=g*u-m,t[2]=-u,t[6]=c*a,t[10]=o*a;break}case Ji.YZX:{const p=o*a,g=o*u,m=c*a,w=c*u;t[0]=a*l,t[4]=w-p*h,t[8]=m*h+g,t[1]=h,t[5]=o*l,t[9]=-c*l,t[2]=-u*l,t[6]=g*h+m,t[10]=p-w*h;break}case Ji.XZY:{const p=o*a,g=o*u,m=c*a,w=c*u;t[0]=a*l,t[4]=-h,t[8]=u*l,t[1]=p*h+w,t[5]=o*l,t[9]=g*h-m,t[2]=m*h-g,t[6]=c*l,t[10]=w*h+p;break}default:throw new Error(g1)}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}toQuaternion(){const e=Math.cos(.5*this.yaw),t=Math.sin(.5*this.yaw),i=Math.cos(.5*this.roll),r=Math.sin(.5*this.roll),s=Math.cos(.5*this.pitch),o=Math.sin(.5*this.pitch);return new gR(e*r*s-t*i*o,e*i*o+t*r*s,t*i*s-e*r*o,e*i*s+t*r*o)}}var m1,FFe=new Uint8Array(16);function kFe(){if(!m1&&!(m1="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return m1(FFe)}const LFe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,jFe=function(n){return"string"==typeof n&&LFe.test(n)};for(var ho=[],e2=0;e2<256;++e2)ho.push((e2+256).toString(16).substr(1));const HFe=function(n,e,t){var i=(n=n||{}).random||(n.rng||kFe)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e){t=t||0;for(var r=0;r<16;++r)e[t+r]=i[r];return e}return function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(ho[n[e+0]]+ho[n[e+1]]+ho[n[e+2]]+ho[n[e+3]]+"-"+ho[n[e+4]]+ho[n[e+5]]+"-"+ho[n[e+6]]+ho[n[e+7]]+"-"+ho[n[e+8]]+ho[n[e+9]]+"-"+ho[n[e+10]]+ho[n[e+11]]+ho[n[e+12]]+ho[n[e+13]]+ho[n[e+14]]+ho[n[e+15]]).toLowerCase();if(!jFe(t))throw TypeError("Stringified UUID is invalid");return t}(i)};function*t2(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,xn.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,Kb.fromRdf)(s.object):s.object.id;yield[r,o]}}function dp(n,e,t,i){const r={"@id":e,"@type":t};for(const[s,o]of Object.entries(i))for(const a of(0,xn.readQuads)(n,r["@id"],s,null,null)){const l="Literal"===a.object.termType?(0,Kb.fromRdf)(a.object):a.object.id;r[o]=l}return r}const ar=xn.Util.prefixes({base:"http://purl.org/ccf/latest/ccf.owl#",ccf:"http://purl.org/ccf/",fma:"http://purl.org/sig/ont/fma/fma",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/"},xn.DataFactory),wq={x:ar("rdf"),type:ar("rdf")("type")},dn=(ar("rdfs"),ar("rdfs")("label"),ar("rdfs")("comment"),ar("rdfs")("isDefinedBy"),ar("rdfs")("seeAlso"),ar("ccf")),yi={id:ar("ccf")("has_registration_location"),label:ar("rdfs")("label"),description:ar("rdfs")("comment"),link:dn("url"),sex:dn("sex"),age:dn("age"),bmi:dn("bmi"),Male:xn.DataFactory.literal("Male"),Female:xn.DataFactory.literal("Female"),consortiumName:dn("consortium_name"),providerName:dn("tissue_provider_name"),providerUUID:dn("tissue_provider_uuid"),donor:dn("comes_from"),sections:dn("subdivided_into_sections"),datasets:dn("generates_dataset"),sampleType:dn("sample_type"),TissueBlock:xn.DataFactory.literal("Tissue Block"),TissueSection:xn.DataFactory.literal("Tissue Section"),NonStandard:xn.DataFactory.literal("Non-standard"),sectionCount:dn("section_count"),sectionSize:dn("section_size"),sectionUnits:dn("section_size_unit"),sectionNumber:dn("section_number"),spatialEntity:dn("has_registration_location"),ontologyTerms:dn("has_ontology_term"),cellTypeTerms:dn("has_cell_type_term"),technology:dn("technology"),thumbnail:dn("thumbnail")},ki={x:dn,base:ar("base"),ontologyNode:{label:dn("ccf_pref_label"),parent:dn("ccf_part_of"),children:dn("ccf_part_of"),rui_rank:dn("rui_rank"),synonymLabels:xn.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:dn("ccf_part_of"),ct_is_a:dn("ccf_ct_isa"),located_in:dn("ccf_located_in"),characterizes:dn("ccf_characterizes")},spatial:{Female:ar("base")("VHFemale"),Male:ar("base")("VHMale"),BothSexes:ar("base")("VHBothSexes"),FemaleOrgans:ar("base")("VHFemaleOrgans"),MaleOrgans:ar("base")("VHMaleOrgans")},SpatialObjectReference:dn("spatial_object_reference"),SpatialEntity:dn("spatial_entity"),SpatialPlacement:dn("spatial_placement"),spatialObjectReference:{file:dn("file_url"),file_format:dn("file_format"),file_subpath:dn("file_subpath")},extractionSet:{label:ar("rdfs")("label"),rui_rank:dn("rui_rank")},spatialEntity:{label:ar("rdfs")("label"),description:ar("rdfs")("comment"),creator:ar("dcterms")("creator"),creator_first_name:dn("creator_first_name"),creator_last_name:dn("creator_last_name"),creator_orcid:dn("creator_orcid"),creation_date:ar("dcterms")("created"),updated_date:dn("updated_date"),ccf_annotations:dn("collides_with"),representation_of:dn("representation_of"),reference_organ:dn("has_reference_organ"),extraction_set_for:dn("extraction_set_for"),extraction_set:dn("has_extraction_set"),sex:dn("organ_owner_sex"),side:dn("organ_side"),rui_rank:dn("rui_rank"),slice_thickness:dn("slice_thickness"),slice_count:dn("slice_count"),x_dimension:dn("x_dimension"),y_dimension:dn("y_dimension"),z_dimension:dn("z_dimension"),dimension_units:dn("dimension_unit"),object:dn("has_object_reference")},spatialPlacement:{source:dn("placement_for"),target:dn("placement_relative_to"),placement_date:ar("dcterms")("created"),x_scaling:dn("x_scaling"),y_scaling:dn("y_scaling"),z_scaling:dn("z_scaling"),scaling_units:dn("scaling_unit"),x_rotation:dn("x_rotation"),y_rotation:dn("y_rotation"),z_rotation:dn("z_rotation"),w_rotation:dn("theta_rotation"),rotation_order:dn("rotation_order"),rotation_units:dn("rotation_unit"),x_translation:dn("x_translation"),y_translation:dn("y_translation"),z_translation:dn("z_translation"),translation_units:dn("translation_unit")}},di={x:ar("uberon"),body:ar("uberon")("0013702")},$Fe={x:ar("cl"),cell:ar("cl")("0000000")},nv={x:ar("fma")},bd=(ar("lmha"),{body:di.body,cell:$Fe.cell,respiratory_system:di.x("0001004"),colon:di.x("0001155"),left_lung:di.x("0002168"),right_lung:di.x("0002167"),left_bronchus:di.x("0002178"),right_bronchus:di.x("0002177"),kidney:di.x("0002113"),ureter:di.x("0000056"),eye:di.x("0000970"),fallopian_tube:di.x("0003889"),knee:di.x("0001465"),ovary:di.x("0000992"),trachea:di.x("0003126"),aorta:di.x("0000947"),blood:di.x("0000178"),bone_marrow:di.x("0002371"),male_reproductive_system:di.x("0000079"),lymph_node:di.x("0000029"),blood_vasculature:di.x("0004537"),brain:di.x("0000955"),eye_left:di.x("0004548"),eye_right:nv.x("54449"),fallopian_tube_left:di.x("0001303"),fallopian_tube_right:di.x("0001302"),heart:di.x("0000948"),kidney_left:di.x("0004538"),kidney_right:di.x("0004539"),knee_left:nv.x("24978"),knee_right:nv.x("24977"),large_intestine:di.x("0000059"),liver:di.x("0002107"),lungs:di.x("0002048"),mesenteric_lymph_node:di.x("0002509"),ovary_left:nv.x("7214"),ovary_right:nv.x("7213"),pancreas:di.x("0001264"),pelvis:di.x("0001270"),prostate_gland:di.x("0002367"),skin:di.x("0002097"),small_intestine:di.x("0002108"),spleen:di.x("0002106"),thymus:di.x("0002370"),ureter_left:di.x("0001223"),ureter_right:di.x("0001222"),urinary_bladder:di.x("0001255"),uterus:di.x("0000995")});function n2(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}const _1={spatialObjectReference:n2(ki.spatialObjectReference),spatialEntity:n2(ki.spatialEntity),spatialPlacement:n2(ki.spatialPlacement)};function Eq(n,e){const t=dp(n,e,"ExtractionSet",_1.spatialEntity);return t.extractionSites=(0,fr.sortBy)(n.getSubjects(ki.spatialEntity.extraction_set,e,null).map(i=>hp(n,i.id)),["rui_rank"]),t}function hp(n,e){const t=dp(n,e,"SpatialEntity",_1.spatialEntity);return t.object&&(t.object=function(n,e){return dp(n,e,"SpatialObjectReference",_1.spatialObjectReference)}(n,t.object)),t.ccf_annotations&&(t.ccf_annotations=n.getObjects(e,ki.spatialEntity.ccf_annotations,null).map(i=>i.id)),n.forSubjects(i=>t.entityId=i.id,yi.spatialEntity,e,null),t}function XFe(n,e){const t=dp(n,e,"SpatialPlacement",_1.spatialPlacement);return t.source&&(t.source=hp(n,t.source)),t.target&&(t.target=hp(n,t.target)),t}function Sq(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(EV),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}class xq{constructor(e){this.db=e,this.createGraph()}createGraph(){this.graph=new HNe.DirectedGraph;const e=this.db.store;e.forSubjects(i=>{this.addNode(i.id,"SpatialObjectReference")},wq.type,ki.SpatialObjectReference,null),e.forSubjects(i=>{this.addNode(i.id,"SpatialEntity")},wq.type,ki.SpatialEntity,null);const t={};for(const i of(0,xn.readQuads)(e,null,ki.spatialPlacement.source,null,null))t[i.subject.id]=i.object.id;for(const i of(0,xn.readQuads)(e,null,ki.spatialPlacement.target,null,null)){const r=t[i.subject.id];r&&this.addEdge(i.subject.id,r,i.object.id,"SpatialPlacement")}}addNode(e,t){this.graph.mergeNode(e,{type:t})}addEdge(e,t,i,r){this.graph.mergeDirectedEdge(t,i,{type:r,id:e})}getTransformationMatrix(e,t){if(e===t)return new qn(qn.IDENTITY);if(!this.graph.hasNode(e)||!this.graph.hasNode(t))return;const i=this.db.store,r=new qn(qn.IDENTITY),s=$Ne()(this.graph,e,t);if(s&&s.length>0){s.reverse();let o="";for(const a of s)o&&Sq(r,XFe(i,this.graph.getEdgeAttribute(a,o,"id"))),o=a;return r}}getSpatialPlacement(e,t){const i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,fr.get)(e,"placement[0]",(0,fr.get)(e,"placement",void 0));let s;if(r&&this.graph.hasNode(r.target)?(s=this.getTransformationMatrix(r.target,t),s&&(s=Sq(s,r))):i&&(s=this.getTransformationMatrix(i,t)),s){const o=(new Ji).fromRotationMatrix(s,Ji.XYZ),a=s.getTranslation().map(u=>1e3*u),l=o.toVector3().map(vse),c=s.getScale().map(u=>u<1&&u>.999999?1:u);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${HFe()}_placement`,"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:c[0],y_scaling:c[1],z_scaling:c[2],scaling_units:"ratio",x_rotation:l[0],y_rotation:l[1],z_rotation:l[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}class Cq{constructor(e){this.db=e}getSpatialEntity(e){return hp(this.db.store,e)}getExtractionSets(e){return function(n,e){return(0,fr.sortBy)(n.getSubjects(ki.spatialEntity.extraction_set_for,e,null).map(t=>Eq(n,t.id)),["rui_rank"])}(this.db.store,e)}getExtractionSet(e){return Eq(this.db.store,e)}getAnatomicalStructures(e){return function(n,e){return(0,fr.sortBy)(n.getSubjects(ki.spatialEntity.reference_organ,e,null).map(t=>hp(n,t.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,e)}getReferenceOrgans(){return function(n){const e=[];return n.forEach(t=>{t.subject.id===t.object.id&&e.push(hp(n,t.subject.id))},null,ki.spatialEntity.reference_organ,null,null),(0,fr.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(e){let t;switch(null==e?void 0:e.sex){case"Male":t=ki.spatial.Male.id;break;case"Female":t=ki.spatial.Female.id;break;case"Both":default:t=ki.spatial.BothSexes.id}return this.getSpatialEntity(t)}getReferenceOrganSets(e){let t=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":t=t.filter(i=>"Male"===i.sex);break;case"Female":t=t.filter(i=>"Female"===i.sex)}return(null==e?void 0:e.debug)&&(t=t.map(i=>[[i],this.getAnatomicalStructures(i["@id"])]).reduce((i,[r,s])=>i.concat(s.length>0?s:r),[])),t}getReferenceSceneNodes(e){const t=this.getReferenceBody(e),i=[];let r=[...this.getReferenceOrganSets(e).map(s=>{const o="http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of,a=this.getSceneNode(s,t,{color:[255,255,255,255],opacity:o?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!o});return o&&a?void i.push(a):a})];return i.length>0&&(r=[...i,...r]),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(ki.base("VHRightKidney").id),t,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHLeftKidney").id),t,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC1").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC2").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC3").id),t,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(s=>void 0!==s)}getReferenceOrganScene(e,t){var i,r;const s=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(i=null==t?void 0:t.sex)||void 0===i?void 0:i.toLowerCase()),o=this.getReferenceOrgans().filter(a=>a.representation_of===e&&(!s||a.sex===(null==t?void 0:t.sex)));if(o.length>0){const a=o[0],c=this.getSceneNode(a,a,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===a.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),u=(null!==(r=this.db.getSpatialEntities(t))&&void 0!==r?r:[]).map(h=>this.getSceneNode(h,a,{color:[255,255,255,229.5]}));return[c].concat(u).filter(h=>void 0!==h)}return[]}getEntitySceneNodes(e){const t=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(i=>this.getSceneNode(i,t,{color:[255,255,255,229.5]})).filter(i=>void 0!==i)}getSceneNode(e,t,i={}){var r,s,o,a;const l=null===(s=null===(r=null==e?void 0:e.object)||void 0===r?void 0:r.file_format)||void 0===s?void 0:s.startsWith("model/gltf");let u=this.db.graph.getTransformationMatrix(l&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(l)u=new qn(qn.IDENTITY).rotateX(EV(90)).multiplyLeft(u);else{let h;switch(e.dimension_units){case"centimeter":h=.01;break;case"millimeter":h=.001;break;case"meter":default:h=1}const p=[e.x_dimension,e.y_dimension,e.z_dimension].map(g=>g*h/2);u.scale(p)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:l?null===(o=e.object)||void 0===o?void 0:o.file:void 0,scenegraphNode:l?null===(a=e.object)||void 0===a?void 0:a.file_subpath:void 0,transformMatrix:u,tooltip:e.label},i)}}getScene(e){return[...this.getReferenceSceneNodes(e),...this.getEntitySceneNodes(e)]}}const y1="https://entity.api.hubmapconsortium.org/entities/",Aq=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),ZFe={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},Wm={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},Tq="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld";class t2e{constructor(e,t="",i="",r){var s,o;if(this.data=e,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const c=this.data.descendants||[],u=(this.data.ancestors||[]).find(Be=>"Donor"===Be.entity_type);this.donor=this.getDonor(u,i);const h=this.getRuiLocation(e,this.donor);h?this.rui_location=h:this.bad=!0,Wm[e.group_uuid]||(Wm[e.group_uuid]=e.group_name);const p=new Date(e.last_modified_timestamp).toLocaleDateString(),g=Wm[e.group_uuid]||e.group_name,m=e.created_by_user_displayname;this["@id"]=y1+e.uuid,this.label=`Registered ${p}, ${m}, ${g}`,this.link=`${i}browse/sample/${e.uuid}`;const w={},C=[];this.sections=C;const H=[];this.datasets=H;for(const Be of c.filter(et=>"Sample"===et.entity_type)){const et=this.getSection(Be,e,i);w[Be.submission_id]=et,C.push(et),et.section_number=null!==(s=et.section_number)&&void 0!==s?s:C.length}for(const Be of c)if("Dataset"===Be.entity_type){const et=this.getDataset(Be,t,i,r),wt=(0,fr.get)(Be,["ingest_metadata","metadata","tissue_id"]);w[wt]?null===(o=w[wt].datasets)||void 0===o||o.push(et):H.push(et)}const U=null!=h?h:{},de=`${U.x_dimension} x ${U.y_dimension} x ${U.z_dimension} ${U.dimension_units}`;this.section_count=U.slice_count||C.length;const Ae=parseFloat((U.slice_thickness||(U.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=Ae;const Pe=U.dimension_units||"millimeter";this.section_units=Pe,this.description=`${de}, ${Ae} ${Pe}, ${this.section_count} Sections`,C.forEach((Be,et)=>{Be.description=`${U.x_dimension} x ${U.y_dimension} x ${Ae} ${Pe}, ${Ae} ${Pe}, ${Be.description}`,Be.section_number=et+1})}getSection(e,t,i){const r=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":y1+e.uuid,"@type":"Sample",label:`Registered ${r}, ${e.created_by_user_displayname}, ${Wm[e.group_uuid]||e.group_name}`,description:`${t.sample_category}`,link:`${i}browse/sample/${e.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(e,t="",i="",r){var s;const o=new Date(e.last_modified_timestamp).toLocaleDateString(),a=Wm[e.group_uuid]||e.group_name,l=e.created_by_user_displayname,c=[...e.data_types,(0,fr.get)(e,["ingest_metadata","metadata","assay_type"],"")],u=c.join("|").toLowerCase();let h,p="assets/icons/ico-unknown.svg";return-1!==u.indexOf("10x")?(h="10x",p="assets/icons/ico-bulk-10x.svg"):-1!==u.indexOf("af")?(h="AF",p="assets/icons/ico-spatial-af.svg"):-1!==u.indexOf("codex")?(h="CODEX",p="assets/icons/ico-spatial-codex.svg"):-1!==u.indexOf("imc")?(h="IMC",p="assets/icons/ico-spatial-imc.svg"):-1!==u.indexOf("lc")&&-1===u.indexOf("af")?(h="LC",p="assets/icons/ico-bulk-lc.svg"):h=-1!==u.indexOf("maldi")?"MALDI":-1!==u.indexOf("pas")?"PAS":"OTHER",p=null!==(s=this.getDatasetThumbnail(e,t,r))&&void 0!==s?s:p,{"@id":y1+e.uuid,"@type":"Dataset",label:`Registered ${o}, ${l}, ${a}`,description:`Data/Assay Types: ${c.join(", ")}`,link:`${i}browse/dataset/${e.uuid}`,technology:h,thumbnail:p}}getDatasetThumbnail(e,t,i){if(e.thumbnail_file){const r=e.thumbnail_file;return`${t}/${r.file_uuid}/${r.filename}`+(i?`?token=${i}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){const r=(0,fr.get)(e,"metadata.files",[]).filter(s=>/\.(ome\.tif|ome\.tiff)$/.test(s.rel_path)).filter(s=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(s.rel_path)).filter(s=>Aq.has(s.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(s=>`${t}/${e.uuid}/${s.rel_path}`+(i?`?token=${i}`:""));if(r.length>0){const s=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(Aq.has(s))return`assets/thumbnails/TMC-Vanderbilt/DR1/${s}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){const r=ZFe[e.hubmap_id];if(r)return`assets/thumbnails/TMC-Florida/${r}`}}getDonor(e,t){const i=(e.description||"").toLowerCase();let r;i.includes("female")?r="Female":i.includes("male")&&(r="Male");const s=i.match(/age ([0-9]+)/);let o,a;s&&(o=(0,fr.toNumber)(s[1]));for(const p of(0,fr.get)(e,"metadata.organ_donor_data",(0,fr.get)(e,"metadata.living_donor_data",[])))"Feminine gender"===p.preferred_term||"Female"===p.preferred_term?r="Female":"Masculine gender"===p.preferred_term||"Male"===p.preferred_term?r="Male":"Current chronological age"===p.preferred_term||"Age"===p.preferred_term?o=(0,fr.toNumber)(p.data_value):"Body mass index"===p.preferred_term&&(a=(0,fr.toNumber)(p.data_value));let l="";r&&o&&(l+=`${r}, Age ${o}`,a&&(l+=`, BMI ${a.toFixed(1)}`));const c=new Date(e.last_modified_timestamp).toLocaleDateString(),u=Wm[e.group_uuid]||e.group_name;return{"@id":y1+e.uuid,"@type":"Donor",label:l,description:`Entered ${c}, ${e.created_by_user_displayname}, ${u}`,link:`${t}browse/donor/${e.uuid}`,age:o,sex:r,bmi:a,consortium_name:"HuBMAP",provider_name:u,provider_uuid:e.group_uuid,samples:[]}}getRuiLocation(e,t){var i;let r,s=e.rui_location;if(s&&("string"==typeof s&&(s=JSON.parse(s)),s.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):s["@id"]&&(r=s),s["@context"]="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"),r){const o=null!==(i=(0,fr.get)(r,["placement","target"]))&&void 0!==i?i:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,fr.set)(r,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,fr.set)(r,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return r}getTissueBlock(){return(0,fr.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const i2e=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.metadata.living_donor_data.preferred_term","ancestors.metadata.living_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","sample_category"],r2e={exists:{field:"rui_location"}};function Mq(n,e,t){return JSON.stringify({version:!0,from:n,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=t?t:r2e,_source:{includes:i2e}})}function r2(n,e){return Fi(this,void 0,void 0,function*(){try{const t=yield fetch(n,e),i=yield t.text();return t.ok||i.startsWith("https")?i.startsWith("https")?yield fetch(i).then(s=>s.json()):JSON.parse(i):void 0}catch(t){return}})}function Dq(n,e,t,i,r="",s=""){return Fi(this,void 0,void 0,function*(){let o;if("static"===e?o=yield r2(n):"search-api"===e&&(o=yield function(n,e,t){return Fi(this,void 0,void 0,function*(){const i=1e4,r=function(n){const e=new Headers;return e.append("Content-type","application/json"),n&&e.append("Authorization",`Bearer ${n}`),e}(e),s=Mq(0,i,t),o=yield r2(n,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let h=i;h!h))return;const u=c.map(h=>h.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(n,i,t)),o)return function(n,e="",t="",i,r=!1){const o={},a=(0,fr.get)(n,"hits.hits",[]).map(c=>(0,fr.get)(c,"_source",{})).sort((c,u)=>c.uuid.localeCompare(u.uuid)).map(c=>new t2e(c,e,t,i).toJsonLd());for(const c of a){const u=c["@id"];o[u]?o[u].samples.push(c.samples[0]):o[u]=c}const l=Object.values(o);return r&&(function(n){let e=[],t=0;for(const i of n.filter(r=>r.samples.length>1)){const r=i.samples;for(let s=0;sc["@id"]===o)&&(r[s].deleteMe=!0,t++)}i.samples=r.filter(s=>!0!==s.deleteMe)}t>0&&console.log(`\u26a0 ${t} sections identified as blocks`)}(l),console.log(l.map(c=>Object.assign({"@context":Tq},c)))),{"@context":Tq,"@graph":l}}(o,r,s,i);console.warn(`Unable to load ${n} as HuBMAP Data`)})}function iv(n,e,t){const i=new Set;for(const r of e)for(const s of(0,xn.readQuads)(n,r,t,null,null))i.add(s.object.id);return i}const u2e={[ki.spatialEntity.x_dimension.id]:"x",[ki.spatialEntity.y_dimension.id]:"y",[ki.spatialEntity.z_dimension.id]:"z"};function h2e(n,e,t,i){const r=e.getTransformationMatrix(t,i);let s;if(r){const o=r.getTranslation(),a=function(n,e){const t=dp(n,e,"Dimensions",u2e);return[t.x,t.y,t.z]}(n,t).map(c=>c/1e3/2),l=(new Ji).fromRotationMatrix(r,Ji.XYZ).toQuaternion().normalize().calculateW();s=(new GF).fromCenterHalfSizeQuaternion(o,a,l)}return s}function f2e(n,e,t,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of t){const p=h2e(n,e,h,l);p&&p.distanceSquaredTo([r,s,o].map(m=>m/1e3))<=u&&c.add(h)}return c}function b1(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,xn.readQuads)(n,c,yi.donor,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function s2(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,xn.readQuads)(n,c,yi.spatialEntity,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function rv(n,e){return function(t){n.has(t.id)&&e.add(t.id)}}function Iq(n,e,t){const i=new Set;for(const r of t){const s=xn.DataFactory.namedNode(r);n.forSubjects(rv(e,i),ki.spatialEntity.ccf_annotations,s,null)}return i}function Oq(n,e){const t=function(n,e){const t=new Map;for(const i of n)for(const r of(0,xn.readQuads)(e,i,yi.spatialEntity,null,null))t.has(r.object.id)?t.get(r.object.id).add(i):t.set(r.object.id,new Set([i]));return t}(n,e),i=new Map;for(const r of t.keys()){const s=t.get(r);for(const o of(0,xn.readQuads)(e,r,ki.spatialEntity.ccf_annotations,null,null))if(i.has(o.object.id)){const a=i.get(o.object.id);s.forEach(l=>a.add(l))}else i.set(o.object.id,new Set(s))}return i}function M2e(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[ki.ontologyNode.label.id]:"label",[t]:"parent",[ki.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of t2(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function Rq(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,xn.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=M2e(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,Nq(r),r}function Nq(n,e,t=new Set){const i=n.nodes[null!=e?e:n.root];if(i){i.children=i.children.filter(r=>!t.has(r)),i.children.forEach(r=>t.add(r));for(const r of i.children)Nq(n,r,t),n.nodes[r]&&(n.nodes[r].parent=i["@id"])}}const Pq=(0,fr.memoize)(function(n){const e=Rq(n,bd.body.id,"body",ki.asctb.part_of.id);return e.nodes[bd.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),v1={[yi.label.id]:"label",[yi.description.id]:"description",[yi.link.id]:"link"},O2e=Object.assign(Object.assign({},v1),{[yi.providerName.id]:"providerName"}),R2e=Object.assign(Object.assign({},v1),{[yi.technology.id]:"technology",[yi.thumbnail.id]:"thumbnail"}),N2e=Object.assign(Object.assign({},v1),{[yi.sampleType.id]:"sampleType",[yi.sectionNumber.id]:"sectionNumber",[yi.datasets.id]:"datasets"}),P2e=Object.assign(Object.assign({},v1),{[yi.sampleType.id]:"sampleType",[yi.sectionCount.id]:"sectionCount",[yi.sectionSize.id]:"sectionSize",[yi.sectionUnits.id]:"sectionUnits",[yi.donor.id]:"donor",[yi.spatialEntity.id]:"spatialEntityId",[yi.sections.id]:"sections",[yi.datasets.id]:"datasets"});function F2e(n,e){return dp(n,e,"Donor",O2e)}function Fq(n,e){return dp(n,e,"Dataset",R2e)}function k2e(n,e){const t={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of t2(n,e,N2e))if("datasets"===i){const s=Fq(n,r);t[i].push(s)}else t[i]=r;return t}class B2e{constructor(e){this.database=e,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const e=Date.now();return this.database.connect().then(t=>Fi(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var i;this.status="Error",this.message=null!==(i=null==t?void 0:t.message)&&void 0!==i?i:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-e})}}const j2e={"@context":{"@base":"http://purl.org/ccf/","@vocab":"http://purl.org/ccf/",ccf:"http://purl.org/ccf/",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dcterms:"http://purl.org/dc/terms/",label:"rdfs:label",description:"rdfs:comment",link:"ccf:url",sex:"ccf:sex",age:"ccf:age",bmi:"ccf:bmi",consortium_name:"ccf:consortium_name",provider_name:"ccf:tissue_provider_name",provider_uuid:"ccf:tissue_provider_uuid",donor:{"@id":"ccf:comes_from","@type":"@id"},samples:{"@reverse":"donor"},sections:{"@id":"ccf:subdivided_into_sections","@type":"@id"},datasets:{"@id":"ccf:generates_dataset","@type":"@id"},sample_type:"ccf:sample_type",section_count:"ccf:section_count",section_size:"ccf:section_size",section_units:"ccf:section_size_unit",section_number:"ccf:section_number",rui_location:{"@id":"ccf:has_registration_location","@type":"@id"},ccf_annotations:{"@id":"ccf:collides_with","@type":"@id","@container":"@set"},representation_of:{"@id":"ccf:representation_of","@type":"@id"},reference_organ:{"@id":"ccf:has_reference_organ","@type":"@id"},extraction_set_for:{"@id":"ccf:extraction_set_for","@type":"@id"},extraction_set:{"@id":"ccf:has_extraction_set","@type":"@id"},organ_owner_sex:"ccf:organ_owner_sex",side:"ccf:organ_side",rui_rank:"ccf:rui_rank",slice_thickness:"ccf:slice_thickness",slice_count:"ccf:slice_count",object:{"@id":"ccf:has_object_reference","@type":"@id"},creation_date:"dcterms:created",updated_date:"ccf:updated_date",creator:"dcterms:creator",creator_first_name:"ccf:creator_first_name",creator_last_name:"ccf:creator_last_name",placement:{"@reverse":"ccf:placement_for"},placement_date:"dcterms:created",rotation_order:"ccf:rotation_order",dimension_units:"ccf:dimension_unit",rotation_units:"ccf:rotation_unit",scaling_units:"ccf:scaling_unit",translation_units:"ccf:translation_unit",source:{"@id":"ccf:placement_for","@type":"@id"},target:{"@id":"ccf:placement_relative_to","@type":"@id"},x_rotation:"ccf:x_rotation",y_rotation:"ccf:y_rotation",z_rotation:"ccf:z_rotation",x_scaling:"ccf:x_scaling",y_scaling:"ccf:y_scaling",z_scaling:"ccf:z_scaling",x_translation:"ccf:x_translation",y_translation:"ccf:y_translation",z_translation:"ccf:z_translation",x_dimension:"ccf:x_dimension",y_dimension:"ccf:y_dimension",z_dimension:"ccf:z_dimension",ontology_terms:{"@id":"ccf:has_ontology_term","@type":"@id"},technology:"ccf:technology",thumbnail:"ccf:thumbnail",file:"ccf:file_url",file_format:"ccf:file_format",file_subpath:"ccf:file_subpath"}};function o2(n){return JSON.parse(n,(e,t)=>"ccf_annotations"===e&&Array.isArray(t)?t.map(i=>(null==i?void 0:i.startsWith("http://purl.obolibrary.org/obo/FMA_"))?i.replace("http://purl.obolibrary.org/obo/FMA_","http://purl.org/sig/ont/fma/fma"):i):"@context"!==e||!t||"https://hubmapconsortium.github.io/hubmap-ontology/ccf-entity-context.jsonld"!==t&&"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld"!==t&&"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"!==t&&"http://purl.org/ccf/latest/ccf-entity.owl#"!==t["@base"]?t:j2e)}const U2e={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class z2e{constructor(e=U2e){this.options=e,this.store=new xn.Store(void 0,{factory:xn.DataFactory}),this.graph=new xq(this),this.scene=new Cq(this)}connect(e,t=!1){return Fi(this,void 0,void 0,function*(){return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return Fi(this,void 0,void 0,function*(){const e=(new Date).getTime(),t="ccf-database.last_modified",i="ccf-database",r=yield vq(t).catch(()=>{});let s;r&&e-new Date(+r).getTime()>36e5?yield function(n,e=Sc()){return e("readwrite",t=>(n.forEach(i=>t.delete(i)),mu(t.transaction)))}([i,t]).catch(()=>{}):s=yield vq(i).catch(()=>{}),s?yield this.deserialize(s):(yield this.doConnect(),function(n,e=Sc()){return e("readwrite",t=>(n.forEach(i=>t.put(i[1],i[0])),mu(t.transaction)))}([[i,this.serialize()],[t,""+e]]).catch(()=>{}))})}doConnect(){var e,t;return Fi(this,void 0,void 0,function*(){const i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],s=this.options.ccfOwlUrl;if(s.startsWith("{"))this.store=(0,xn.deserializeN3Store)(s,xn.DataFactory);else if(s.endsWith(".n3store.json")){const o=yield fetch(s).then(a=>a.text()).catch(()=>console.log("Couldn't locate serialized store."));o&&(this.store=(0,xn.deserializeN3Store)(o,xn.DataFactory))}else(null==s?void 0:s.length)>0&&r.push(s);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(Dq(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(o=>{if(o)return this.addDataSources([o])}))),i.push(this.addDataSources(r)),yield Promise.all(i),yield this.synchronize()})}addDataSources(e,t){return Fi(this,void 0,void 0,function*(){const i=null!=t?t:this.store;return yield Promise.all(e.map(r=>Fi(this,void 0,void 0,function*(){"string"==typeof r?(r.startsWith("http")||r.startsWith("assets/"))&&r.includes("jsonld")?(r=o2(r=yield fetch(r).then(s=>s.text())),yield(0,xn.addJsonLdToStore)(r,i)):r.endsWith("n3")?yield(0,xn.addN3ToStore)(r,i):r.endsWith("rdf")||r.endsWith("owl")||r.endsWith("xml")?yield(0,xn.addRdfXmlToStore)(r,i):(r=o2(r),yield(0,xn.addJsonLdToStore)(r,i)):(r=o2(JSON.stringify(r)),yield(0,xn.addJsonLdToStore)(r,i))}))),this})}synchronize(){return Fi(this,void 0,void 0,function*(){return yield new Promise(e=>{setTimeout(e,500)}),this.graph.createGraph(),function(n){var e,t,i;const r=Pq(n),s=new Map;for(const{subject:o,object:a}of(0,xn.readQuads)(n,null,ki.spatialEntity.representation_of,null,null)){const l=new Set([a.id]);let c=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;c&&!l.has(c);)l.add(c),c=null===(t=r.nodes[c])||void 0===t?void 0:t.parent;s.set(o.id,[...l].map(u=>xn.DataFactory.namedNode(u)))}for(const{object:o}of(0,xn.readQuads)(n,null,yi.spatialEntity,null,null))for(const{subject:a}of(0,xn.readQuads)(n,null,ki.spatialPlacement.source,o,null))for(const{object:l}of(0,xn.readQuads)(n,a,ki.spatialPlacement.target,null,null))for(const c of null!==(i=s.get(l.id))&&void 0!==i?i:[])n.addQuad(xn.DataFactory.namedNode(o.id),ki.spatialEntity.ccf_annotations,c)}(this.store),this})}serialize(){return(0,xn.serializeN3Store)(this.store)}deserialize(e){return Fi(this,void 0,void 0,function*(){this.store=(0,xn.deserializeN3Store)(e,xn.DataFactory),this.graph=new xq(this),this.scene=new Cq(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(e={}){return function(n,e,t){var i,r,s,o,a,l,c;let u=function(n){const e=new Set;return n.forSubjects(t=>e.add(t.id),yi.spatialEntity,null,null),e}(n);if(u.size>0&&(u=function(n,e,t=!0){const i=new Set;if(n.forSubjects(rv(e,i),yi.spatialEntity,null,null),!t){const r=new Set;return e.forEach(s=>i.has(s)?void 0:r.add(s)),r}return i}(n,u)),u.size>0&&("Male"===t.sex||"Female"===t.sex)){const h=t.sex;u=b1(n,u,p=>function(n,e,t){const i=new Set;return n.forSubjects(rv(e,i),yi.sex,yi[t],null),i}(n,p,h))}if(u.size>0&&(null===(i=t.tmc)||void 0===i?void 0:i.length)>0&&(u=b1(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=xn.DataFactory.literal(r);n.forSubjects(rv(e,i),yi.providerName,s,null)}return i}(n,h,t.tmc))),u.size>0&&(null===(r=t.technologies)||void 0===r?void 0:r.length)>0&&(u=function(n,e,t){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const h of(0,xn.readQuads)(n,u,yi.sections,null,null))a.add(h.object.id);for(const u of a)for(const h of(0,xn.readQuads)(n,u,yi.datasets,null,null))o.add(h.object.id),s.has(h.object.id)?null===(i=s.get(h.object.id))||void 0===i||i.push(u):s.set(h.object.id,[u]);const l=t(o),c=new Set;for(const u of l)for(const h of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(h);return c}(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=xn.DataFactory.literal(r);n.forSubjects(rv(e,i),yi.technology,s,null)}return i}(n,h,t.technologies))),u.size>0&&(null===(s=t.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=s2(n,u,h=>function(n,e,t,i){const r=new Set;for(const s of i)f2e(n,e,t,s).forEach(a=>r.add(a));return r}(n,e,h,t.spatialSearches))),u.size>0&&(null===(o=t.ontologyTerms)||void 0===o?void 0:o.length)>0){const h=t.ontologyTerms;-1===h.indexOf(bd.body.id)&&(u=s2(n,u,p=>Iq(n,p,h)))}if(u.size>0&&(null===(a=t.cellTypeTerms)||void 0===a?void 0:a.length)>0){const h=t.cellTypeTerms;-1===h.indexOf(bd.cell.id)&&(u=s2(n,u,p=>function(n,e,t){const i=new Set;for(const r of t)n.forObjects(s=>{i.add(s.id)},r,ki.asctb.located_in,null),r===bd.cell.id&&i.add(bd.body.id);return Iq(n,e,[...i])}(n,p,h)))}if(u.size>0&&2===(null===(l=t.ageRange)||void 0===l?void 0:l.length)&&(0,fr.isFinite)(t.ageRange[0])&&(0,fr.isFinite)(t.ageRange[1])){const h=Math.max(...t.ageRange),p=Math.min(...t.ageRange);1===p&&110===h||(u=b1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,xn.readQuads)(n,s,yi.age,null,null)){const a=(0,Kb.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,p,h)))}if(u.size>0&&2===(null===(c=t.bmiRange)||void 0===c?void 0:c.length)&&(0,fr.isFinite)(t.bmiRange[0])&&(0,fr.isFinite)(t.bmiRange[1])){const h=Math.max(...t.bmiRange),p=Math.min(...t.bmiRange);13===p&&83===h||(u=b1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,xn.readQuads)(n,s,yi.bmi,null,null)){const a=(0,Kb.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,p,h)))}return u}(this.store,this.graph,e)}get(e){return this.store.getQuads(xn.DataFactory.namedNode(e),null,null,null)}search(e={}){return[...this.getIds(e)].map(t=>this.get(t))}getSpatialEntities(e){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t=n.getObjects(xn.DataFactory.namedNode(e),yi.spatialEntity,null);if(t.length>0)return hp(n,t[0].id)}(this.store,t))}getDatabaseStatus(){return Fi(this,void 0,void 0,function*(){return this.status||(this.status=new B2e(this)),this.status.toJson()})}getDatasetTechnologyNames(){return Fi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,xn.readQuads)(n,null,yi.technology,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return Fi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,xn.readQuads)(n,null,yi.providerName,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(e){return Fi(this,void 0,void 0,function*(){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of t2(n,e,P2e))if("sections"===i){const s=k2e(n,r);t[i].push(s)}else if("datasets"===i){const s=Fq(n,r);t[i].push(s)}else t[i]="donor"===i?F2e(n,r):r;return t}(this.store,t))})}getAggregateResults(e){return Fi(this,void 0,void 0,function*(){return function(n,e){const t=iv(e,n,yi.donor.id),i=iv(e,t,yi.providerUUID.id),r=new Set;for(const l of n)for(const c of(0,xn.readQuads)(e,l,yi.spatialEntity,null,null))r.add(c.subject.id);const s=iv(e,r,yi.sections.id),o=new Set([...iv(e,r,yi.datasets.id),...iv(e,s,yi.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:t.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([l,c])=>({label:l,count:c}))}(this.getIds(e),this.store)})}getOntologyTermOccurences(e){return Fi(this,void 0,void 0,function*(){return function(n,e){const t={};return Oq(n,e).forEach((r,s)=>{t[s]=r.size}),t}(this.getIds(e),this.store)})}getCellTypeTermOccurences(e){return Fi(this,void 0,void 0,function*(){return function(n,e){var t,i;const r=Oq(n,e),s=new Map;for(const a of r.keys()){const l=r.get(a);for(const c of(0,xn.readQuads)(e,null,ki.asctb.located_in,a,null)){const u=c.subject.id;if(s.has(u)){const h=s.get(u);l.forEach(p=>h.add(p))}else s.set(u,new Set(l))}}const o={};return s.forEach((a,l)=>{o[l]=a.size}),o[bd.cell.id]=null!==(i=null===(t=r.get(bd.body.id))||void 0===t?void 0:t.size)&&void 0!==i?i:0,o}(this.getIds(e),this.store)})}getOntologyTreeModel(){return Fi(this,void 0,void 0,function*(){return Pq(this.store)})}getCellTypeTreeModel(){return Fi(this,void 0,void 0,function*(){return function(n){return Rq(n,bd.cell.id,"cell",ki.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return Fi(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(e){return Fi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(e)})}getReferenceOrganScene(e,t){return Fi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)})}getSpatialPlacement(e,t){return Fi(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(e,t)})}}function W2e(n,e){return n===e}let q2e=(()=>{class n{constructor(t,i){this.locator=t,this.globalConfig=i,this.subscriptions=new x,this.dataSource=i.getOption("data").pipe(me(r=>Object.assign(Object.assign({},bq),{dataSources:r})),Qi(r=>Object.keys(r).length>0),me(r=>r),rd(W2e),Ir(r=>function(n,e){return new I(t=>{let i,r;try{i=n()}catch(a){return void t.error(a)}try{r=e(i)}catch(a){return void t.error(a)}const o=(r?je(r):Yc).subscribe(t);return()=>{o.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDataSource(),s=>this.connectDataSource(s.source,r))),$a(1)),this.subscriptions.add(this.dataSource.subscribe())}ngOnDestroy(){this.subscriptions.unsubscribe()}getTissueBlockResults(t){return this.dataSource.pipe(Ir(i=>i.getTissueBlockResults(t)),Wi(1))}getAggregateResults(t){return this.dataSource.pipe(Ir(i=>i.getAggregateResults(t)),Wi(1))}getOntologyTermOccurences(t){return this.dataSource.pipe(Ir(i=>i.getOntologyTermOccurences(t)),Wi(1))}getCellTypeTermOccurences(t){return this.dataSource.pipe(Ir(i=>i.getCellTypeTermOccurences(t)),Wi(1))}getOntologyTreeModel(){return this.dataSource.pipe(Ir(t=>t.getOntologyTreeModel()),Wi(1))}getCellTypeTreeModel(){return this.dataSource.pipe(Ir(t=>t.getCellTypeTreeModel()),Wi(1))}getReferenceOrgans(){return this.dataSource.pipe(Ir(t=>t.getReferenceOrgans()),Wi(1))}getScene(t){return this.dataSource.pipe(Ir(i=>i.getScene(t)),Wi(1))}getOrganScene(t,i){return this.dataSource.pipe(Ir(r=>r.getReferenceOrganScene(t,i)),Wi(1))}createDataSource(){return{source:new z2e,unsubscribe:()=>{}}}connectDataSource(t,i){return Fi(this,void 0,void 0,function*(){const r=(new Date).getTime();return yield t.connect(i,!1),m0.production||(console.info(`Loaded CCF database in ${((new Date).getTime()-r)/1e3}s`),console.log(t)),t})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Cf),Oe(Yb))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Y2e=(()=>{class n{constructor(t,i){this.configState=t,this.source=i,this.data$=this.configState.getOption("data"),this.zoomToID$=this.configState.getOption("zoomToID").pipe(me(r=>`http://purl.org/ccf/1.5/entity/${r}`)),this.highlightID$=this.configState.getOption("highlightID").pipe(me(r=>`http://purl.org/ccf/1.5/entity/${r}`)),this.referenceOrgans$=this.source.getReferenceOrgans(),this.scene$=Yo([this.data$,this.referenceOrgans$,this.source.dataSource]).pipe(Ir(([r,s,o])=>this.chooseScene(r,s))),this.organs$=this.configState.getOption("data").pipe(me(r=>this.selectOrgans(r)),$a(1)),this.filteredOrgans$=Yo([this.organs$,this.referenceOrgans$]).pipe(me(([r,s])=>this.getNeededReferenceOrgans(s,r)),$a(1)),this.filteredScene$=Yo([this.scene$,this.organs$,this.referenceOrgans$]).pipe(me(([r,s,o])=>this.filterSceneNodes(r,s,o)),function(n,e){const t=n.pipe(ao(""));return i=>Yo([i,t]).pipe(me(([r,s])=>r.map(o=>function(n,e,t){return n.entityId!==e?n:Object.assign(Object.assign({},n),{color:t})}(o,s,e))))}(this.highlightID$,BNe),function(n){const e=n.pipe(ao(""));return t=>Yo([t,e]).pipe(me(([i,r])=>i.map(s=>function(n,e){return n.entityId!==e?n:Object.assign(Object.assign({},n),{zoomToOnLoad:!0})}(s,r))))}(this.zoomToID$),$a(1))}chooseScene(t,i){var r;const s=null!==(r=null==t?void 0:t.map(a=>{const l=a[K9];return null==l?void 0:l.placement.target}))&&void 0!==r?r:[];if(new Set(s).size>1)return this.source.getScene();if(i){const a=i.find(l=>l["@id"]===s[0]);if(a)return this.source.getOrganScene(a.representation_of,{ontologyTerms:[a.reference_organ],sex:a.sex})}return fn([])}selectOrgans(t){const r=(null!=t?t:[]).map(s=>s[K9].placement.target);return new Set(r)}filterSceneNodes(t,i,r){const s=this.getNeededReferenceOrgans(r,i),o=this.getNeededSkins(s),a=new Set([...i,...o]);return t.filter(c=>!c.reference_organ||a.has(c.reference_organ))}getNeededReferenceOrgans(t,i){return t.filter(r=>{var s;return i.has(null!==(s=r.reference_organ)&&void 0!==s?s:"")})}getNeededSkins(t){if(1===t.length)return[];const i=new Set;return t.forEach(r=>{"Female"===r.sex?i.add("http://purl.org/ccf/latest/ccf.owl#VHFSkin"):"Male"===r.sex&&i.add("http://purl.org/ccf/latest/ccf.owl#VHMSkin")}),[...i]}}return n.\u0275fac=function(t){return new(t||n)(Oe(Yb),Oe(q2e))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const K2e=["bodyUI"];let X2e=(()=>{class n{constructor(t,i,r){this.configState=t,this.sceneSource=i,this.cdr=r,this.onMouseEnter=new sn,this.onMouseLeave=new sn,this.onClick=new sn,this.data$=this.configState.getOption("data"),this.organs$=this.sceneSource.filteredOrgans$,this.scene$=this.sceneSource.filteredScene$.pipe(Yr(s=>this.reset()))}reset(){var t,i;return Fi(this,void 0,void 0,function*(){const{bodyUI:r}=this;yield new Promise(a=>setTimeout(a,200));const s=yield this.organs$.pipe(Wi(1)).toPromise(),o=null!==(i=!!(null===(t=r.scene)||void 0===t?void 0:t.find(a=>a.zoomToOnLoad)))&&void 0!==i&&i;if(r.rotation=0,r.rotationX=0,!o)if(1===s.length){const{x_dimension:a,y_dimension:l,z_dimension:c}=s[0];r.bounds={x:1.25*a/1e3,y:1.25*l/1e3,z:1.25*c/1e3},r.target=[a/1e3/2,l/1e3/2,c/1e3/2]}else r.bounds={x:2.2,y:2,z:.4},r.target=[0,0,0];this.cdr.detectChanges()})}}return n.\u0275fac=function(t){return new(t||n)(xe(Yb),xe(Y2e),xe(Dr))},n.\u0275cmp=ln({type:n,selectors:[["ccf-root"]],viewQuery:function(t,i){if(1&t&&ss(K2e,7),2&t){let r;ii(r=ri())&&(i.bodyUI=r.first)}},outputs:{onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave",onClick:"onClick"},decls:3,vars:4,consts:[["camera","perspective",1,"body-ui",3,"scene","interactive","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""]],template:function(t,i){1&t&&(Pt(0,"ccf-body-ui",0,1),Un("nodeClick",function(s){return i.onClick.emit(s)})("nodeHoverStart",function(s){return i.onMouseEnter.emit(s)})("nodeHoverStop",function(s){return i.onMouseLeave.emit(s)}),xl(2,"async"),Ft()),2&t&&rn("scene",Vu(2,2,i.scene$))("interactive",!0)},directives:[nNe],pipes:[h0],styles:[".body-ui[_ngcontent-%COMP%]{height:100%;width:100%}"],changeDetection:0}),n})();function Q2e(n,e){if(1&n){const t=jt();Pt(0,"ccf-root",1),Un("onMouseEnter",function(r){return Cr(t),ci().onMouseEnter.emit(r)})("onMouseLeave",function(r){return Cr(t),ci().onMouseLeave.emit(r)})("onClick",function(r){return Cr(t),ci().onClick.emit(r)}),Ft()}}function Z2e(n){return n.map(e=>({"@id":`http://purl.org/ccf/1.5/entity/${e.id}`,"@type":"http://purl.org/ccf/latest/ccf-entity.owl#Sample","http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity":e.rui_location}))}let J2e=(()=>{class n extends Eie{constructor(t,i){super(t,i,{initialDelay:10,initialConfig:Object.assign(Object.assign({},m0.dbOptions),globalThis.dbOptions),parse:{data:Z2e}}),this.onMouseEnter=new sn,this.onMouseLeave=new sn,this.onClick=new sn}}return n.\u0275fac=function(t){return new(t||n)(xe(Yb),xe(Dr))},n.\u0275cmp=ln({type:n,selectors:[["ccf-root-wc"]],inputs:{data:"data",highlightID:"highlightID",zoomToID:"zoomToID"},outputs:{onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave",onClick:"onClick"},features:[An],decls:1,vars:1,consts:[[3,"onMouseEnter","onMouseLeave","onClick",4,"ngIf"],[3,"onMouseEnter","onMouseLeave","onClick"]],template:function(t,i){1&t&&Di(0,Q2e,1,0,"ccf-root",0),2&t&&rn("ngIf",i.initialized)},directives:[lc,X2e],encapsulation:2,changeDetection:0}),n})(),eke=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[ps,Za,hW,...t]}}}return n.\u0275fac=function(t){return new(t||n)(Oe(ps,2),Oe(Za,2))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();const x1=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class ike{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=$f(this.action),i=function(n){return x1(n.getHours(),2)+":"+x1(n.getMinutes(),2)+":"+x1(n.getSeconds(),2)+"."+x1(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class rke{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const kq=new Ht("NGXS_LOGGER_PLUGIN_OPTIONS");let ske=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new rke(this._options),this._store=this._store||this._injector.get(cu);const s=new ike(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(Yr(o=>{s.completed(o)}),bc(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(Oe(kq),Oe(Wn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Lq=new Ht("LOGGER_USER_OPTIONS");function oke(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let ake=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:f6,useClass:ske,multi:!0},{provide:Lq,useValue:t},{provide:kq,useFactory:oke,deps:[Lq]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({}),n})();const lke=[Yb];let cke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=xt({imports:[[eke.forRoot(),Wo.forRoot(lke,{developmentMode:!m0.production}),ake.forRoot({disabled:m0.production})]]}),n})(),uke=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(wl).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new mie(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends yie{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(J2e,{injector:this.injector});customElements.define("ccf-body-ui-wc",t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(Wn))},n.\u0275mod=on({type:n}),n.\u0275inj=xt({providers:[],imports:[[WD,cke,iNe]]}),n})();m0.production&&function(){if(lB)throw new Error("Cannot enable prod mode after platform setup.");aB=!1}(),jne().bootstrapModule(uke).catch(n=>console.error(n))},52:Ut=>{function it(yt,ee,Tt,dt,Y,Se,he){try{var W=yt[Se](he),j=W.value}catch(P){return void Tt(P)}W.done?ee(j):Promise.resolve(j).then(dt,Y)}Ut.exports=function(yt){return function(){var ee=this,Tt=arguments;return new Promise(function(dt,Y){var Se=yt.apply(ee,Tt);function he(j){it(Se,dt,Y,he,W,"next",j)}function W(j){it(Se,dt,Y,he,W,"throw",j)}he(void 0)})}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},948:Ut=>{Ut.exports=function(Je){return Je&&Je.__esModule?Je:{default:Je}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},321:Ut=>{function it(Je){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(Ut.exports=it=function(ee){return typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0):(Ut.exports=it=function(ee){return ee&&"function"==typeof Symbol&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0),it(Je)}Ut.exports=it,Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},380:Ut=>{function it(Je){return Promise.resolve().then(()=>{var yt=new Error("Cannot find module '"+Je+"'");throw yt.code="MODULE_NOT_FOUND",yt})}it.keys=()=>[],it.resolve=it,it.id=380,Ut.exports=it},521:()=>{},125:()=>{},307:()=>{}},Ut=>{Ut(Ut.s=303)}]); \ No newline at end of file +var fke=Object.defineProperty,pke=Object.defineProperties,gke=Object.getOwnPropertyDescriptors,CC=Object.getOwnPropertySymbols,jq=Object.prototype.hasOwnProperty,Vq=Object.prototype.propertyIsEnumerable,Er=Math.pow,Uq=(jt,Ye,Je)=>Ye in jt?fke(jt,Ye,{enumerable:!0,configurable:!0,writable:!0,value:Je}):jt[Ye]=Je,at=(jt,Ye)=>{for(var Je in Ye||(Ye={}))jq.call(Ye,Je)&&Uq(jt,Je,Ye[Je]);if(CC)for(var Je of CC(Ye))Vq.call(Ye,Je)&&Uq(jt,Je,Ye[Je]);return jt},Cn=(jt,Ye)=>pke(jt,gke(Ye)),zq=(jt,Ye)=>{var Je={};for(var lt in jt)jq.call(jt,lt)&&Ye.indexOf(lt)<0&&(Je[lt]=jt[lt]);if(null!=jt&&CC)for(var lt of CC(jt))Ye.indexOf(lt)<0&&Vq.call(jt,lt)&&(Je[lt]=jt[lt]);return Je};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{440:(jt,Ye,Je)=>{var lt=Je(52).default;jt.exports=function Q(we,fe,K){function V(L,w){if(!fe[L]){if(!we[L]){if(F)return F(L,!0);var R=new Error("Cannot find module '"+L+"'");throw R.code="MODULE_NOT_FOUND",R}var T=fe[L]={exports:{}};we[L][0].call(T.exports,function(y){return V(we[L][1][y]||y)},T,T.exports,Q,we,fe,K)}return fe[L].exports}for(var F=void 0,Y=0;Y0&&q[q.length-1])&&(6===_t[0]||2===_t[0])){Ke=0;continue}if(3===_t[0]&&(!q||_t[1]>q[0]&&_t[1]0?H-4:H;for(G=0;G>16&255,P[Z++]=E>>8&255,P[Z++]=255&E;return 2===M&&(E=V[A.charCodeAt(G)]<<2|V[A.charCodeAt(G+1)]>>4,P[Z++]=255&E),1===M&&(E=V[A.charCodeAt(G)]<<10|V[A.charCodeAt(G+1)]<<4|V[A.charCodeAt(G+2)]>>2,P[Z++]=E>>8&255,P[Z++]=255&E),P},fe.fromByteArray=function(A){for(var E,I=A.length,H=I%3,M=[],P=16383,Z=0,S=I-H;ZS?S:Z+P));return 1===H?M.push(K[(E=A[I-1])>>2]+K[E<<4&63]+"=="):2===H&&M.push(K[(E=(A[I-2]<<8)+A[I-1])>>10]+K[E>>4&63]+K[E<<2&63]+"="),M.join("")};for(var K=[],V=[],F="undefined"!=typeof Uint8Array?Uint8Array:Array,Y="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",L=0,w=Y.length;L0)throw new Error("Invalid string. Length must be a multiple of 4");var I=A.indexOf("=");return-1===I&&(I=E),[I,I===E?0:4-I%4]}function v(A){return K[A>>18&63]+K[A>>12&63]+K[A>>6&63]+K[63&A]}function b(A,E,I){for(var M=[],P=E;P>5==6?2:M>>4==14?3:M>>3==30?4:M>>6==2?-1:-2}function T(M){var P=this.lastTotal-this.lastNeed,Z=function(M,P,Z){if(128!=(192&P[0]))return M.lastNeed=0,"\ufffd";if(M.lastNeed>1&&P.length>1){if(128!=(192&P[1]))return M.lastNeed=1,"\ufffd";if(M.lastNeed>2&&P.length>2&&128!=(192&P[2]))return M.lastNeed=2,"\ufffd"}}(this,M);return void 0!==Z?Z:this.lastNeed<=M.length?(M.copy(this.lastChar,P,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(M.copy(this.lastChar,P,0,M.length),void(this.lastNeed-=M.length))}function b(M,P){if((M.length-P)%2==0){var Z=M.toString("utf16le",P);if(Z){var S=Z.charCodeAt(Z.length-1);if(S>=55296&&S<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=M[M.length-2],this.lastChar[1]=M[M.length-1],Z.slice(0,-1)}return Z}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=M[M.length-1],M.toString("utf16le",P,M.length-1)}function x(M){var P=M&&M.length?this.write(M):"";return this.lastNeed?P+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):P}function A(M,P){var Z=(M.length-P)%3;return 0===Z?M.toString("base64",P):(this.lastNeed=3-Z,this.lastTotal=3,1===Z?this.lastChar[0]=M[M.length-1]:(this.lastChar[0]=M[M.length-2],this.lastChar[1]=M[M.length-1]),M.toString("base64",P,M.length-Z))}function E(M){var P=M&&M.length?this.write(M):"";return this.lastNeed?P+this.lastChar.toString("base64",0,3-this.lastNeed):P}function I(M){return M.toString(this.encoding)}function H(M){return M&&M.length?this.write(M):""}fe.StringDecoder=L,L.prototype.write=function(M){if(0===M.length)return"";var P,Z;if(this.lastNeed){if(void 0===(P=this.fillLast(M)))return"";Z=this.lastNeed,this.lastNeed=0}else Z=0;return Z=0?(G>0&&(M.lastNeed=G-1),G):--S=0?(G>0&&(M.lastNeed=G-2),G):--S=0?(G>0&&(2===G?G=0:M.lastNeed=G-3),G):0}(this,M,P);if(!this.lastNeed)return M.toString("utf8",P);this.lastTotal=Z;var S=M.length-(Z-this.lastNeed);return M.copy(this.lastChar,0,S),M.toString("utf8",P,S)},L.prototype.fillLast=function(M){if(this.lastNeed<=M.length)return M.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);M.copy(this.lastChar,this.lastTotal-this.lastNeed,0,M.length),this.lastNeed-=M.length}},{"safe-buffer":4}],6:[function(Q,we,fe){(function(K){(function(){"use strict";var V=Q("base64-js"),F=Q("ieee754");fe.Buffer=C,fe.SlowBuffer=function(U){return+U!=U&&(U=0),C.alloc(+U)},fe.INSPECT_MAX_BYTES=50;var Y=2147483647;function w(U){if(U>Y)throw new RangeError('The value "'+U+'" is invalid for option "size"');var k=new Uint8Array(U);return k.__proto__=C.prototype,k}function C(U,k,z){if("number"==typeof U){if("string"==typeof k)throw new TypeError('The "string" argument must be of type string. Received type number');return v(U)}return R(U,k,z)}function R(U,k,z){if("string"==typeof U)return function(U,k){if(("string"!=typeof k||""===k)&&(k="utf8"),!C.isEncoding(k))throw new TypeError("Unknown encoding: "+k);var z=0|M(U,k),Le=w(z),nt=Le.write(U,k);return nt!==z&&(Le=Le.slice(0,nt)),Le}(U,k);if(ArrayBuffer.isView(U))return x(U);if(null==U)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof U);if(gt(U,ArrayBuffer)||U&>(U.buffer,ArrayBuffer))return function(U,k,z){if(k<0||U.byteLength=Y)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Y.toString(16)+" bytes");return 0|U}function M(U,k){if(C.isBuffer(U))return U.length;if(ArrayBuffer.isView(U)||gt(U,ArrayBuffer))return U.byteLength;if("string"!=typeof U)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof U);var z=U.length,Le=arguments.length>2&&!0===arguments[2];if(!Le&&0===z)return 0;for(var nt=!1;;)switch(k){case"ascii":case"latin1":case"binary":return z;case"utf8":case"utf-8":return q(U).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*z;case"hex":return z>>>1;case"base64":return qe(U).length;default:if(nt)return Le?-1:q(U).length;k=(""+k).toLowerCase(),nt=!0}}function P(U,k,z){var Le=!1;if((void 0===k||k<0)&&(k=0),k>this.length||((void 0===z||z>this.length)&&(z=this.length),z<=0)||(z>>>=0)<=(k>>>=0))return"";for(U||(U="utf8");;)switch(U){case"hex":return ae(this,k,z);case"utf8":case"utf-8":return ve(this,k,z);case"ascii":return He(this,k,z);case"latin1":case"binary":return J(this,k,z);case"base64":return re(this,k,z);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _e(this,k,z);default:if(Le)throw new TypeError("Unknown encoding: "+U);U=(U+"").toLowerCase(),Le=!0}}function Z(U,k,z){var Le=U[k];U[k]=U[z],U[z]=Le}function S(U,k,z,Le,nt){if(0===U.length)return-1;if("string"==typeof z?(Le=z,z=0):z>2147483647?z=2147483647:z<-2147483648&&(z=-2147483648),Ae(z=+z)&&(z=nt?0:U.length-1),z<0&&(z=U.length+z),z>=U.length){if(nt)return-1;z=U.length-1}else if(z<0){if(!nt)return-1;z=0}if("string"==typeof k&&(k=C.from(k,Le)),C.isBuffer(k))return 0===k.length?-1:G(U,k,z,Le,nt);if("number"==typeof k)return k&=255,"function"==typeof Uint8Array.prototype.indexOf?nt?Uint8Array.prototype.indexOf.call(U,k,z):Uint8Array.prototype.lastIndexOf.call(U,k,z):G(U,[k],z,Le,nt);throw new TypeError("val must be string, number or Buffer")}function G(U,k,z,Le,nt){var Yn,xt=1,Nt=U.length,On=k.length;if(void 0!==Le&&("ucs2"===(Le=String(Le).toLowerCase())||"ucs-2"===Le||"utf16le"===Le||"utf-16le"===Le)){if(U.length<2||k.length<2)return-1;xt=2,Nt/=2,On/=2,z/=2}function kn(Ls,gs){return 1===xt?Ls[gs]:Ls.readUInt16BE(gs*xt)}if(nt){var Ti=-1;for(Yn=z;YnNt&&(z=Nt-On),Yn=z;Yn>=0;Yn--){for(var wi=!0,Xr=0;Xrnt&&(Le=nt):Le=nt;var xt=k.length;Le>xt/2&&(Le=xt/2);for(var Nt=0;Nt>8,xt.push(z%256),xt.push(Le);return xt}(k,U.length-z),U,z,Le)}function re(U,k,z){return V.fromByteArray(0===k&&z===U.length?U:U.slice(k,z))}function ve(U,k,z){z=Math.min(U.length,z);for(var Le=[],nt=k;nt239?4:xt>223?3:xt>191?2:1;if(nt+On<=z)switch(On){case 1:xt<128&&(Nt=xt);break;case 2:128==(192&(kn=U[nt+1]))&&(wi=(31&xt)<<6|63&kn)>127&&(Nt=wi);break;case 3:Yn=U[nt+2],128==(192&(kn=U[nt+1]))&&128==(192&Yn)&&(wi=(15&xt)<<12|(63&kn)<<6|63&Yn)>2047&&(wi<55296||wi>57343)&&(Nt=wi);break;case 4:Yn=U[nt+2],Ti=U[nt+3],128==(192&(kn=U[nt+1]))&&128==(192&Yn)&&128==(192&Ti)&&(wi=(15&xt)<<18|(63&kn)<<12|(63&Yn)<<6|63&Ti)>65535&&wi<1114112&&(Nt=wi)}null===Nt?(Nt=65533,On=1):Nt>65535&&(Le.push((Nt-=65536)>>>10&1023|55296),Nt=56320|1023&Nt),Le.push(Nt),nt+=On}return function(U){var k=U.length;if(k<=4096)return String.fromCharCode.apply(String,U);for(var z="",Le=0;Lez&&(k+=" ... "),""},C.prototype.compare=function(k,z,Le,nt,xt){if(gt(k,Uint8Array)&&(k=C.from(k,k.offset,k.byteLength)),!C.isBuffer(k))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof k);if(void 0===z&&(z=0),void 0===Le&&(Le=k?k.length:0),void 0===nt&&(nt=0),void 0===xt&&(xt=this.length),z<0||Le>k.length||nt<0||xt>this.length)throw new RangeError("out of range index");if(nt>=xt&&z>=Le)return 0;if(nt>=xt)return-1;if(z>=Le)return 1;if(this===k)return 0;for(var Nt=(xt>>>=0)-(nt>>>=0),On=(Le>>>=0)-(z>>>=0),kn=Math.min(Nt,On),Yn=this.slice(nt,xt),Ti=k.slice(z,Le),wi=0;wi>>=0,isFinite(Le)?(Le>>>=0,void 0===nt&&(nt="utf8")):(nt=Le,Le=void 0)}var xt=this.length-z;if((void 0===Le||Le>xt)&&(Le=xt),k.length>0&&(Le<0||z<0)||z>this.length)throw new RangeError("Attempt to write outside buffer bounds");nt||(nt="utf8");for(var Nt=!1;;)switch(nt){case"hex":return ne(this,k,z,Le);case"utf8":case"utf-8":return ce(this,k,z,Le);case"ascii":return se(this,k,z,Le);case"latin1":case"binary":return te(this,k,z,Le);case"base64":return Ie(this,k,z,Le);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ye(this,k,z,Le);default:if(Nt)throw new TypeError("Unknown encoding: "+nt);nt=(""+nt).toLowerCase(),Nt=!0}},C.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function He(U,k,z){var Le="";z=Math.min(U.length,z);for(var nt=k;ntLe)&&(z=Le);for(var nt="",xt=k;xtz)throw new RangeError("Trying to access beyond buffer length")}function xe(U,k,z,Le,nt,xt){if(!C.isBuffer(U))throw new TypeError('"buffer" argument must be a Buffer instance');if(k>nt||kU.length)throw new RangeError("Index out of range")}function Ge(U,k,z,Le,nt,xt){if(z+Le>U.length)throw new RangeError("Index out of range");if(z<0)throw new RangeError("Index out of range")}function Se(U,k,z,Le,nt){return k=+k,z>>>=0,nt||Ge(U,0,z,4),F.write(U,k,z,Le,23,4),z+4}function Ue(U,k,z,Le,nt){return k=+k,z>>>=0,nt||Ge(U,0,z,8),F.write(U,k,z,Le,52,8),z+8}C.prototype.slice=function(k,z){var Le=this.length;(k=~~k)<0?(k+=Le)<0&&(k=0):k>Le&&(k=Le),(z=void 0===z?Le:~~z)<0?(z+=Le)<0&&(z=0):z>Le&&(z=Le),z>>=0,z>>>=0,Le||Te(k,z,this.length);for(var nt=this[k],xt=1,Nt=0;++Nt>>=0,z>>>=0,Le||Te(k,z,this.length);for(var nt=this[k+--z],xt=1;z>0&&(xt*=256);)nt+=this[k+--z]*xt;return nt},C.prototype.readUInt8=function(k,z){return k>>>=0,z||Te(k,1,this.length),this[k]},C.prototype.readUInt16LE=function(k,z){return k>>>=0,z||Te(k,2,this.length),this[k]|this[k+1]<<8},C.prototype.readUInt16BE=function(k,z){return k>>>=0,z||Te(k,2,this.length),this[k]<<8|this[k+1]},C.prototype.readUInt32LE=function(k,z){return k>>>=0,z||Te(k,4,this.length),(this[k]|this[k+1]<<8|this[k+2]<<16)+16777216*this[k+3]},C.prototype.readUInt32BE=function(k,z){return k>>>=0,z||Te(k,4,this.length),16777216*this[k]+(this[k+1]<<16|this[k+2]<<8|this[k+3])},C.prototype.readIntLE=function(k,z,Le){k>>>=0,z>>>=0,Le||Te(k,z,this.length);for(var nt=this[k],xt=1,Nt=0;++Nt=(xt*=128)&&(nt-=Math.pow(2,8*z)),nt},C.prototype.readIntBE=function(k,z,Le){k>>>=0,z>>>=0,Le||Te(k,z,this.length);for(var nt=z,xt=1,Nt=this[k+--nt];nt>0&&(xt*=256);)Nt+=this[k+--nt]*xt;return Nt>=(xt*=128)&&(Nt-=Math.pow(2,8*z)),Nt},C.prototype.readInt8=function(k,z){return k>>>=0,z||Te(k,1,this.length),128&this[k]?-1*(255-this[k]+1):this[k]},C.prototype.readInt16LE=function(k,z){k>>>=0,z||Te(k,2,this.length);var Le=this[k]|this[k+1]<<8;return 32768&Le?4294901760|Le:Le},C.prototype.readInt16BE=function(k,z){k>>>=0,z||Te(k,2,this.length);var Le=this[k+1]|this[k]<<8;return 32768&Le?4294901760|Le:Le},C.prototype.readInt32LE=function(k,z){return k>>>=0,z||Te(k,4,this.length),this[k]|this[k+1]<<8|this[k+2]<<16|this[k+3]<<24},C.prototype.readInt32BE=function(k,z){return k>>>=0,z||Te(k,4,this.length),this[k]<<24|this[k+1]<<16|this[k+2]<<8|this[k+3]},C.prototype.readFloatLE=function(k,z){return k>>>=0,z||Te(k,4,this.length),F.read(this,k,!0,23,4)},C.prototype.readFloatBE=function(k,z){return k>>>=0,z||Te(k,4,this.length),F.read(this,k,!1,23,4)},C.prototype.readDoubleLE=function(k,z){return k>>>=0,z||Te(k,8,this.length),F.read(this,k,!0,52,8)},C.prototype.readDoubleBE=function(k,z){return k>>>=0,z||Te(k,8,this.length),F.read(this,k,!1,52,8)},C.prototype.writeUIntLE=function(k,z,Le,nt){k=+k,z>>>=0,Le>>>=0,nt||xe(this,k,z,Le,Math.pow(2,8*Le)-1,0);var Nt=1,On=0;for(this[z]=255&k;++On>>=0,Le>>>=0,nt||xe(this,k,z,Le,Math.pow(2,8*Le)-1,0);var Nt=Le-1,On=1;for(this[z+Nt]=255&k;--Nt>=0&&(On*=256);)this[z+Nt]=k/On&255;return z+Le},C.prototype.writeUInt8=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,1,255,0),this[z]=255&k,z+1},C.prototype.writeUInt16LE=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,2,65535,0),this[z]=255&k,this[z+1]=k>>>8,z+2},C.prototype.writeUInt16BE=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,2,65535,0),this[z]=k>>>8,this[z+1]=255&k,z+2},C.prototype.writeUInt32LE=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,4,4294967295,0),this[z+3]=k>>>24,this[z+2]=k>>>16,this[z+1]=k>>>8,this[z]=255&k,z+4},C.prototype.writeUInt32BE=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,4,4294967295,0),this[z]=k>>>24,this[z+1]=k>>>16,this[z+2]=k>>>8,this[z+3]=255&k,z+4},C.prototype.writeIntLE=function(k,z,Le,nt){if(k=+k,z>>>=0,!nt){var xt=Math.pow(2,8*Le-1);xe(this,k,z,Le,xt-1,-xt)}var Nt=0,On=1,kn=0;for(this[z]=255&k;++Nt>0)-kn&255;return z+Le},C.prototype.writeIntBE=function(k,z,Le,nt){if(k=+k,z>>>=0,!nt){var xt=Math.pow(2,8*Le-1);xe(this,k,z,Le,xt-1,-xt)}var Nt=Le-1,On=1,kn=0;for(this[z+Nt]=255&k;--Nt>=0&&(On*=256);)k<0&&0===kn&&0!==this[z+Nt+1]&&(kn=1),this[z+Nt]=(k/On>>0)-kn&255;return z+Le},C.prototype.writeInt8=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,1,127,-128),k<0&&(k=255+k+1),this[z]=255&k,z+1},C.prototype.writeInt16LE=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,2,32767,-32768),this[z]=255&k,this[z+1]=k>>>8,z+2},C.prototype.writeInt16BE=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,2,32767,-32768),this[z]=k>>>8,this[z+1]=255&k,z+2},C.prototype.writeInt32LE=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,4,2147483647,-2147483648),this[z]=255&k,this[z+1]=k>>>8,this[z+2]=k>>>16,this[z+3]=k>>>24,z+4},C.prototype.writeInt32BE=function(k,z,Le){return k=+k,z>>>=0,Le||xe(this,k,z,4,2147483647,-2147483648),k<0&&(k=4294967295+k+1),this[z]=k>>>24,this[z+1]=k>>>16,this[z+2]=k>>>8,this[z+3]=255&k,z+4},C.prototype.writeFloatLE=function(k,z,Le){return Se(this,k,z,!0,Le)},C.prototype.writeFloatBE=function(k,z,Le){return Se(this,k,z,!1,Le)},C.prototype.writeDoubleLE=function(k,z,Le){return Ue(this,k,z,!0,Le)},C.prototype.writeDoubleBE=function(k,z,Le){return Ue(this,k,z,!1,Le)},C.prototype.copy=function(k,z,Le,nt){if(!C.isBuffer(k))throw new TypeError("argument should be a Buffer");if(Le||(Le=0),!nt&&0!==nt&&(nt=this.length),z>=k.length&&(z=k.length),z||(z=0),nt>0&&nt=this.length)throw new RangeError("Index out of range");if(nt<0)throw new RangeError("sourceEnd out of bounds");nt>this.length&&(nt=this.length),k.length-z=0;--Nt)k[Nt+z]=this[Nt+Le];else Uint8Array.prototype.set.call(k,this.subarray(Le,nt),z);return xt},C.prototype.fill=function(k,z,Le,nt){if("string"==typeof k){if("string"==typeof z?(nt=z,z=0,Le=this.length):"string"==typeof Le&&(nt=Le,Le=this.length),void 0!==nt&&"string"!=typeof nt)throw new TypeError("encoding must be a string");if("string"==typeof nt&&!C.isEncoding(nt))throw new TypeError("Unknown encoding: "+nt);if(1===k.length){var xt=k.charCodeAt(0);("utf8"===nt&&xt<128||"latin1"===nt)&&(k=xt)}}else"number"==typeof k&&(k&=255);if(z<0||this.length>>=0,Le=void 0===Le?this.length:Le>>>0,k||(k=0),"number"==typeof k)for(Nt=z;Nt55295&&z<57344){if(!nt){if(z>56319){(k-=3)>-1&&xt.push(239,191,189);continue}if(Nt+1===Le){(k-=3)>-1&&xt.push(239,191,189);continue}nt=z;continue}if(z<56320){(k-=3)>-1&&xt.push(239,191,189),nt=z;continue}z=65536+(nt-55296<<10|z-56320)}else nt&&(k-=3)>-1&&xt.push(239,191,189);if(nt=null,z<128){if((k-=1)<0)break;xt.push(z)}else if(z<2048){if((k-=2)<0)break;xt.push(z>>6|192,63&z|128)}else if(z<65536){if((k-=3)<0)break;xt.push(z>>12|224,z>>6&63|128,63&z|128)}else{if(!(z<1114112))throw new Error("Invalid code point");if((k-=4)<0)break;xt.push(z>>18|240,z>>12&63|128,z>>6&63|128,63&z|128)}}return xt}function qe(U){return V.toByteArray(function(U){if((U=(U=U.split("=")[0]).trim().replace(Ke,"")).length<2)return"";for(;U.length%4!=0;)U+="=";return U}(U))}function _t(U,k,z,Le){for(var nt=0;nt=k.length||nt>=U.length);++nt)k[nt+z]=U[nt];return nt}function gt(U,k){return U instanceof k||null!=U&&null!=U.constructor&&null!=U.constructor.name&&U.constructor.name===k.name}function Ae(U){return U!=U}}).call(this)}).call(this,Q("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(Q,we,fe){"use strict";we.exports=function K(V){return null===V||"object"!=typeof V||null!=V.toJSON?JSON.stringify(V):Array.isArray(V)?"["+V.reduce((F,Y,L)=>F+(0===L?"":",")+K(void 0===Y||"symbol"==typeof Y?null:Y),"")+"]":"{"+Object.keys(V).sort().reduce((F,Y,L)=>void 0===V[Y]||"symbol"==typeof V[Y]?F:F+(0===F.length?"":",")+K(Y)+":"+K(V[Y]),"")+"}"}},{}],8:[function(Q,we,fe){"use strict";var F,K="object"==typeof Reflect?Reflect:null,V=K&&"function"==typeof K.apply?K.apply:function(G,ne,ce){return Function.prototype.apply.call(G,ne,ce)};F=K&&"function"==typeof K.ownKeys?K.ownKeys:Object.getOwnPropertySymbols?function(G){return Object.getOwnPropertyNames(G).concat(Object.getOwnPropertySymbols(G))}:function(G){return Object.getOwnPropertyNames(G)};var L=Number.isNaN||function(G){return G!=G};function w(){w.init.call(this)}we.exports=w,we.exports.once=function(S,G){return new Promise(function(ne,ce){function se(Ie){S.removeListener(G,te),ce(Ie)}function te(){"function"==typeof S.removeListener&&S.removeListener("error",se),ne([].slice.call(arguments))}Z(S,G,te,{once:!0}),"error"!==G&&function(S,G,ne){"function"==typeof S.on&&Z(S,"error",G,ne)}(S,se,{once:!0})})},w.EventEmitter=w,w.prototype._events=void 0,w.prototype._eventsCount=0,w.prototype._maxListeners=void 0;var C=10;function R(S){if("function"!=typeof S)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof S)}function T(S){return void 0===S._maxListeners?w.defaultMaxListeners:S._maxListeners}function y(S,G,ne,ce){var se,te,Ie;if(R(ne),void 0===(te=S._events)?(te=S._events=Object.create(null),S._eventsCount=0):(void 0!==te.newListener&&(S.emit("newListener",G,ne.listener?ne.listener:ne),te=S._events),Ie=te[G]),void 0===Ie)Ie=te[G]=ne,++S._eventsCount;else if("function"==typeof Ie?Ie=te[G]=ce?[ne,Ie]:[Ie,ne]:ce?Ie.unshift(ne):Ie.push(ne),(se=T(S))>0&&Ie.length>se&&!Ie.warned){Ie.warned=!0;var ye=new Error("Possible EventEmitter memory leak detected. "+Ie.length+" "+String(G)+" listeners added. Use emitter.setMaxListeners() to increase limit");ye.name="MaxListenersExceededWarning",ye.emitter=S,ye.type=G,ye.count=Ie.length,function(S){console&&console.warn&&console.warn(S)}(ye)}return S}function v(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function b(S,G,ne){var ce={fired:!1,wrapFn:void 0,target:S,type:G,listener:ne},se=v.bind(ce);return se.listener=ne,ce.wrapFn=se,se}function x(S,G,ne){var ce=S._events;if(void 0===ce)return[];var se=ce[G];return void 0===se?[]:"function"==typeof se?ne?[se.listener||se]:[se]:ne?function(S){for(var G=new Array(S.length),ne=0;ne0&&(Ie=ne[0]),Ie instanceof Error)throw Ie;var ye=new Error("Unhandled error."+(Ie?" ("+Ie.message+")":""));throw ye.context=Ie,ye}var re=te[G];if(void 0===re)return!1;if("function"==typeof re)V(re,this,ne);else{var ve=re.length,Fe=E(re,ve);for(ce=0;ce=0;Ie--)if(ce[Ie]===ne||ce[Ie].listener===ne){ye=ce[Ie].listener,te=Ie;break}if(te<0)return this;0===te?ce.shift():function(S,G){for(;G+1=0;se--)this.removeListener(G,ne[se]);return this},w.prototype.listeners=function(G){return x(this,G,!0)},w.prototype.rawListeners=function(G){return x(this,G,!1)},w.listenerCount=function(S,G){return"function"==typeof S.listenerCount?S.listenerCount(G):A.call(S,G)},w.prototype.listenerCount=A,w.prototype.eventNames=function(){return this._eventsCount>0?F(this._events):[]}},{}],9:[function(Q,we,fe){fe.read=function(K,V,F,Y,L){var w,C,R=8*L-Y-1,T=(1<>1,v=-7,b=F?L-1:0,x=F?-1:1,A=K[V+b];for(b+=x,w=A&(1<<-v)-1,A>>=-v,v+=R;v>0;w=256*w+K[V+b],b+=x,v-=8);for(C=w&(1<<-v)-1,w>>=-v,v+=Y;v>0;C=256*C+K[V+b],b+=x,v-=8);if(0===w)w=1-y;else{if(w===T)return C?NaN:1/0*(A?-1:1);C+=Math.pow(2,Y),w-=y}return(A?-1:1)*C*Math.pow(2,w-Y)},fe.write=function(K,V,F,Y,L,w){var C,R,T,y=8*w-L-1,v=(1<>1,x=23===L?Math.pow(2,-24)-Math.pow(2,-77):0,A=Y?0:w-1,E=Y?1:-1,I=V<0||0===V&&1/V<0?1:0;for(V=Math.abs(V),isNaN(V)||V===1/0?(R=isNaN(V)?1:0,C=v):(C=Math.floor(Math.log(V)/Math.LN2),V*(T=Math.pow(2,-C))<1&&(C--,T*=2),(V+=C+b>=1?x/T:x*Math.pow(2,1-b))*T>=2&&(C++,T/=2),C+b>=v?(R=0,C=v):C+b>=1?(R=(V*T-1)*Math.pow(2,L),C+=b):(R=V*Math.pow(2,b-1)*Math.pow(2,L),C=0));L>=8;K[F+A]=255&R,A+=E,R/=256,L-=8);for(C=C<0;K[F+A]=255&C,A+=E,C/=256,y-=8);K[F+A-E]|=128*I}},{}],10:[function(Q,we,fe){we.exports="function"==typeof Object.create?function(V,F){F&&(V.super_=F,V.prototype=Object.create(F.prototype,{constructor:{value:V,enumerable:!1,writable:!0,configurable:!0}}))}:function(V,F){if(F){V.super_=F;var Y=function(){};Y.prototype=F.prototype,V.prototype=new Y,V.prototype.constructor=V}}},{}],11:[function(Q,we,fe){"use strict";const{isArray:K,isObject:V,isString:F}=Q("./types"),{asArray:Y}=Q("./util"),{prependBase:L}=Q("./url"),w=Q("./JsonLdError"),C=Q("./ResolvedContext");function T(v){throw new w("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:v})}function y({context:v,base:b}){if(!v)return;const x=v["@context"];if(F(x))v["@context"]=L(b,x);else if(K(x))for(let A=0;A10)throw new w("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===b.processingMode?"loading remote context failed":"context overflow",max:10});if(E.has(x))throw new w("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===b.processingMode?"recursive context inclusion":"context overflow",url:x});let I,H;E.add(x);try{H=yield A(x),I=H.document||null,F(I)&&(I=JSON.parse(I))}catch(M){throw new w("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:x,cause:M})}if(!V(I))throw new w("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:x});return I="@context"in I?{"@context":I["@context"]}:{"@context":{}},H.contextUrl&&(K(I["@context"])||(I["@context"]=[I["@context"]]),I["@context"].push(H.contextUrl)),{context:I,remoteDoc:H}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(Q,we,fe){"use strict";we.exports=class extends Error{constructor(V="An unspecified JSON-LD error occurred.",F="jsonld.Error",Y={}){super(V),this.name=F,this.message=V,this.details=Y}}},{}],13:[function(Q,we,fe){"use strict";we.exports=K=>{class V{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(V,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(V.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:V}),V.compact=function(F,Y){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):K.compact(F,Y)},V.expand=function(F){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):K.expand(F)},V.flatten=function(F){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):K.flatten(F)},V}},{}],14:[function(Q,we,fe){"use strict";we.exports=Q("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(Q,we,fe){"use strict";we.exports=class{constructor(){this._requests={}}wrapLoader(V){const F=this;return F._loader=V,function(){return F.add.apply(F,arguments)}}add(V){var F=this;return lt(function*(){let Y=F._requests[V];if(Y)return Promise.resolve(Y);Y=F._requests[V]=F._loader(V);try{return yield Y}finally{delete F._requests[V]}})()}}},{}],16:[function(Q,we,fe){"use strict";const K=Q("lru-cache");we.exports=class{constructor({document:Y}){this.document=Y,this.cache=new K({max:10})}getProcessed(Y){return this.cache.get(Y)}setProcessed(Y,L){this.cache.set(Y,L)}}},{"lru-cache":33}],17:[function(Q,we,fe){"use strict";const K=Q("./JsonLdError"),{isArray:V,isObject:F,isString:Y,isUndefined:L}=Q("./types"),{isList:w,isValue:C,isGraph:R,isSimpleGraph:T,isSubjectReference:y}=Q("./graphTypes"),{expandIri:v,getContextValue:b,isKeyword:x,process:A,processingMode:E}=Q("./context"),{removeBase:I,prependBase:H}=Q("./url"),{addValue:M,asArray:P,compareShortestLeast:Z}=Q("./util"),S={};function ne(ce,se,te){if("@nest"!==v(ce,se,{vocab:!0},te))throw new K("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}we.exports=S,S.compact=function(){var ce=lt(function*({activeCtx:se,activeProperty:te=null,element:Ie,options:ye={},compactionMap:re=(()=>{})}){if(V(Ie)){let Fe=[];for(let Qe=0;Qe1&&(ae=Array.from(ae).sort());const _e=se;for(const xe of ae){const Ge=S.compactIri({activeCtx:_e,iri:xe,relativeTo:{vocab:!0}}),Se=b(He,Ge,"@context");L(Se)||(se=yield A({activeCtx:se,localCtx:Se,options:ye,propagate:!1}))}const Te=Object.keys(Ie).sort();for(const xe of Te){const Ge=Ie[xe];if("@id"!==xe)if("@type"!==xe)if("@reverse"!==xe)if("@preserve"!==xe)if("@index"!==xe)if("@graph"!==xe&&"@list"!==xe&&"@included"!==xe&&x(xe)){const Se=S.compactIri({activeCtx:se,iri:xe,relativeTo:{vocab:!0}});M(Qe,Se,Ge)}else{if(!V(Ge))throw new K("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===Ge.length){const Se=S.compactIri({activeCtx:se,iri:xe,value:Ge,relativeTo:{vocab:!0},reverse:Fe}),Ue=se.mappings.has(Se)?se.mappings.get(Se)["@nest"]:null;let Ke=Qe;Ue&&(ne(se,Ue,ye),F(Qe[Ue])||(Qe[Ue]={}),Ke=Qe[Ue]),M(Ke,Se,Ge,{propertyIsArray:!0})}for(const Se of Ge){const Ue=S.compactIri({activeCtx:se,iri:xe,value:Se,relativeTo:{vocab:!0},reverse:Fe}),Ke=se.mappings.has(Ue)?se.mappings.get(Ue)["@nest"]:null;let Be=Qe;Ke&&(ne(se,Ke,ye),F(Qe[Ke])||(Qe[Ke]={}),Be=Qe[Ke]);const X=b(se,Ue,"@container")||[],q=R(Se),ge=w(Se);let le;ge?le=Se["@list"]:q&&(le=Se["@graph"]);let qe=yield S.compact({activeCtx:se,activeProperty:Ue,element:ge||q?le:Se,options:ye,compactionMap:re});if(ge){if(V(qe)||(qe=[qe]),X.includes("@list")){M(Be,Ue,qe,{valueIsArray:!0,allowDuplicate:!0});continue}qe={[S.compactIri({activeCtx:se,iri:"@list",relativeTo:{vocab:!0}})]:qe},"@index"in Se&&(qe[S.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Se["@index"])}if(q)if(X.includes("@graph")&&(X.includes("@id")||X.includes("@index")&&T(Se))){let _t;Be.hasOwnProperty(Ue)?_t=Be[Ue]:Be[Ue]=_t={};const gt=(X.includes("@id")?Se["@id"]:Se["@index"])||S.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}});M(_t,gt,qe,{propertyIsArray:!ye.compactArrays||X.includes("@set")})}else X.includes("@graph")&&T(Se)?(V(qe)&&qe.length>1&&(qe={"@included":qe}),M(Be,Ue,qe,{propertyIsArray:!ye.compactArrays||X.includes("@set")})):(V(qe)&&1===qe.length&&ye.compactArrays&&(qe=qe[0]),qe={[S.compactIri({activeCtx:se,iri:"@graph",relativeTo:{vocab:!0}})]:qe},"@id"in Se&&(qe[S.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Se["@id"]),"@index"in Se&&(qe[S.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Se["@index"]),M(Be,Ue,qe,{propertyIsArray:!ye.compactArrays||X.includes("@set")}));else if(X.includes("@language")||X.includes("@index")||X.includes("@id")||X.includes("@type")){let _t,gt;if(Be.hasOwnProperty(Ue)?_t=Be[Ue]:Be[Ue]=_t={},X.includes("@language"))C(qe)&&(qe=qe["@value"]),gt=Se["@language"];else if(X.includes("@index")){const Ae=b(se,Ue,"@index")||"@index",U=S.compactIri({activeCtx:se,iri:Ae,relativeTo:{vocab:!0}});if("@index"===Ae)gt=Se["@index"],delete qe[U];else{let k;if([gt,...k]=P(qe[Ae]||[]),Y(gt))switch(k.length){case 0:delete qe[Ae];break;case 1:qe[Ae]=k[0];break;default:qe[Ae]=k}else gt=null}}else if(X.includes("@id")){const Ae=S.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}});gt=qe[Ae],delete qe[Ae]}else if(X.includes("@type")){const Ae=S.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}});let U;switch([gt,...U]=P(qe[Ae]||[]),U.length){case 0:delete qe[Ae];break;case 1:qe[Ae]=U[0];break;default:qe[Ae]=U}1===Object.keys(qe).length&&"@id"in Se&&(qe=yield S.compact({activeCtx:se,activeProperty:Ue,element:{"@id":Se["@id"]},options:ye,compactionMap:re}))}gt||(gt=S.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}})),M(_t,gt,qe,{propertyIsArray:X.includes("@set")})}else{const _t=!ye.compactArrays||X.includes("@set")||X.includes("@list")||V(qe)&&0===qe.length||"@list"===xe||"@graph"===xe;M(Be,Ue,qe,{propertyIsArray:_t})}}}else{if((b(se,te,"@container")||[]).includes("@index"))continue;const Ue=S.compactIri({activeCtx:se,iri:xe,relativeTo:{vocab:!0}});M(Qe,Ue,Ge)}else{const Se=yield S.compact({activeCtx:se,activeProperty:te,element:Ge,options:ye,compactionMap:re});V(Se)&&0===Se.length||M(Qe,xe,Se)}else{const Se=yield S.compact({activeCtx:se,activeProperty:"@reverse",element:Ge,options:ye,compactionMap:re});for(const Ue in Se)if(se.mappings.has(Ue)&&se.mappings.get(Ue).reverse){const Ke=Se[Ue],X=(b(se,Ue,"@container")||[]).includes("@set")||!ye.compactArrays;M(Qe,Ue,Ke,{propertyIsArray:X}),delete Se[Ue]}if(Object.keys(Se).length>0){const Ue=S.compactIri({activeCtx:se,iri:xe,relativeTo:{vocab:!0}});M(Qe,Ue,Se)}}else{let Se=P(Ge).map(q=>S.compactIri({activeCtx:He,iri:q,relativeTo:{vocab:!0}}));1===Se.length&&(Se=Se[0]);const Ue=S.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}}),X=(b(se,Ue,"@container")||[]).includes("@set")&&E(se,1.1)||V(Se)&&0===Ge.length;M(Qe,Ue,Se,{propertyIsArray:X})}else{let Se=P(Ge).map(Ke=>S.compactIri({activeCtx:se,iri:Ke,relativeTo:{vocab:!1},base:ye.base}));1===Se.length&&(Se=Se[0]),Qe[S.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Se}}return Qe}return Ie});return function(se){return ce.apply(this,arguments)}}(),S.compactIri=({activeCtx:ce,iri:se,value:te=null,relativeTo:Ie={vocab:!1},reverse:ye=!1,base:re=null})=>{if(null===se)return se;ce.isPropertyTermScoped&&ce.previousContext&&(ce=ce.previousContext);const ve=ce.getInverse();if(x(se)&&se in ve&&"@none"in ve[se]&&"@type"in ve[se]["@none"]&&"@none"in ve[se]["@none"]["@type"])return ve[se]["@none"]["@type"]["@none"];if(Ie.vocab&&se in ve){const ae=ce["@language"]||"@none",_e=[];F(te)&&"@index"in te&&!("@graph"in te)&&_e.push("@index","@index@set"),F(te)&&"@preserve"in te&&(te=te["@preserve"][0]),R(te)?("@index"in te&&_e.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te&&_e.push("@graph@id","@graph@id@set"),_e.push("@graph","@graph@set","@set"),"@index"in te||_e.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te||_e.push("@graph@id","@graph@id@set")):F(te)&&!C(te)&&_e.push("@id","@id@set","@type","@set@type");let Te="@language",xe="@null";if(ye)Te="@type",xe="@reverse",_e.push("@set");else if(w(te)){"@index"in te||_e.push("@list");const Se=te["@list"];if(0===Se.length)Te="@any",xe="@none";else{let Ue=0===Se.length?ae:null,Ke=null;for(let Be=0;BeHe.includes("_"));Qe&&ve.push(Qe.replace(/^[^_]+_/,"_"))}ve.push("@none");const Fe=ce.inverse[se];for(const Qe of Ie){if(!(Qe in Fe))continue;const He=Fe[Qe][ye];for(const J of ve)if(J in He)return He[J]}return null}(ce,se,te,_e,Te,xe);if(null!==Ge)return Ge}if(Ie.vocab&&"@vocab"in ce){const ae=ce["@vocab"];if(0===se.indexOf(ae)&&se!==ae){const _e=se.substr(ae.length);if(!ce.mappings.has(_e))return _e}}let Fe=null;const Qe=[];let He=ce.fastCurieMap;const J=se.length-1;for(let ae=0;ae=0;--ae){const _e=Qe[ae],Te=_e.terms;for(const xe of Te){const Ge=xe+":"+se.substr(_e.iri.length);ce.mappings.get(xe)._prefix&&(!ce.mappings.has(Ge)||null===te&&ce.mappings.get(Ge)["@id"]===se)&&(null===Fe||Z(Ge,Fe)<0)&&(Fe=Ge)}}if(null!==Fe)return Fe;for(const[ae,_e]of ce.mappings)if(_e&&_e._prefix&&se.startsWith(ae+":"))throw new K(`Absolute IRI "${se}" confused with prefix "${ae}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:ce});return Ie.vocab?se:"@base"in ce?ce["@base"]?I(H(re,ce["@base"]),se):se:I(re,se)},S.compactValue=({activeCtx:ce,activeProperty:se,value:te,options:Ie})=>{if(C(te)){const Fe=b(ce,se,"@type"),Qe=b(ce,se,"@language"),He=b(ce,se,"@direction"),J=b(ce,se,"@container")||[],ae="@index"in te&&!J.includes("@index");if(!ae&&"@none"!==Fe&&(te["@type"]===Fe||"@language"in te&&te["@language"]===Qe&&"@direction"in te&&te["@direction"]===He||"@language"in te&&te["@language"]===Qe||"@direction"in te&&te["@direction"]===He))return te["@value"];const _e=Object.keys(te).length,Te=1===_e||2===_e&&"@index"in te&&!ae,xe="@language"in ce,Ge=Y(te["@value"]),Se=ce.mappings.has(se)&&null===ce.mappings.get(se)["@language"];if(Te&&"@none"!==Fe&&(!xe||!Ge||Se))return te["@value"];const Ue={};return ae&&(Ue[S.compactIri({activeCtx:ce,iri:"@index",relativeTo:{vocab:!0}})]=te["@index"]),"@type"in te?Ue[S.compactIri({activeCtx:ce,iri:"@type",relativeTo:{vocab:!0}})]=S.compactIri({activeCtx:ce,iri:te["@type"],relativeTo:{vocab:!0}}):"@language"in te&&(Ue[S.compactIri({activeCtx:ce,iri:"@language",relativeTo:{vocab:!0}})]=te["@language"]),"@direction"in te&&(Ue[S.compactIri({activeCtx:ce,iri:"@direction",relativeTo:{vocab:!0}})]=te["@direction"]),Ue[S.compactIri({activeCtx:ce,iri:"@value",relativeTo:{vocab:!0}})]=te["@value"],Ue}const ye=v(ce,se,{vocab:!0},Ie),re=b(ce,se,"@type"),ve=S.compactIri({activeCtx:ce,iri:te["@id"],relativeTo:{vocab:"@vocab"===re},base:Ie.base});return"@id"===re||"@vocab"===re||"@graph"===ye?ve:{[S.compactIri({activeCtx:ce,iri:"@id",relativeTo:{vocab:!0}})]:ve}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(Q,we,fe){"use strict";const K="http://www.w3.org/1999/02/22-rdf-syntax-ns#",V="http://www.w3.org/2001/XMLSchema#";we.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:K,RDF_LIST:K+"List",RDF_FIRST:K+"first",RDF_REST:K+"rest",RDF_NIL:K+"nil",RDF_TYPE:K+"type",RDF_PLAIN_LITERAL:K+"PlainLiteral",RDF_XML_LITERAL:K+"XMLLiteral",RDF_JSON_LITERAL:K+"JSON",RDF_OBJECT:K+"object",RDF_LANGSTRING:K+"langString",XSD:V,XSD_BOOLEAN:V+"boolean",XSD_DOUBLE:V+"double",XSD_INTEGER:V+"integer",XSD_STRING:V+"string"}},{}],19:[function(Q,we,fe){"use strict";const K=Q("./util"),V=Q("./JsonLdError"),{isArray:F,isObject:Y,isString:L,isUndefined:w}=Q("./types"),{isAbsolute:C,isRelative:R,prependBase:T}=Q("./url"),{asArray:y,compareShortestLeast:v}=Q("./util"),b=new Map,A=/^@[a-zA-Z]+$/,E={};function I(M,P,Z,S,G,ne){if(null===P||!L(P)||E.isKeyword(P))return P;if(P.match(A))return null;if(S&&S.hasOwnProperty(P)&&!0!==G.get(P)&&E.createTermDefinition({activeCtx:M,localCtx:S,term:P,defined:G,options:ne}),(Z=Z||{}).vocab){const se=M.mappings.get(P);if(null===se)return null;if(Y(se)&&"@id"in se)return se["@id"]}const ce=P.indexOf(":");if(ce>0){const se=P.substr(0,ce),te=P.substr(ce+1);if("_"===se||0===te.indexOf("//"))return P;S&&S.hasOwnProperty(se)&&E.createTermDefinition({activeCtx:M,localCtx:S,term:se,defined:G,options:ne});const Ie=M.mappings.get(se);if(Ie&&Ie._prefix)return Ie["@id"]+te;if(C(P))return P}if(Z.vocab&&"@vocab"in M)return M["@vocab"]+P;if(Z.base&&"@base"in M){if(M["@base"])return T(T(ne.base,M["@base"]),P)}else if(Z.base)return T(ne.base,P);return P}function H(M,P){if(!M||"object"!=typeof M||!P||"object"!=typeof P)return M===P;const Z=Array.isArray(M);if(Z!==Array.isArray(P))return!1;if(Z){if(M.length!==P.length)return!1;for(let ne=0;ne{if(S.has(Z)){if(S.get(Z))return;throw new V("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:P,term:Z})}let ce;if(S.set(Z,!1),P.hasOwnProperty(Z)&&(ce=P[Z]),"@type"===Z&&Y(ce)&&"@set"===(ce["@container"]||"@set")&&E.processingMode(M,1.1)){const Fe=["@container","@id","@protected"],Qe=Object.keys(ce);if(0===Qe.length||Qe.some(He=>!Fe.includes(He)))throw new V("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:P,term:Z})}else{if(E.isKeyword(Z))throw new V("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:P,term:Z});if(Z.match(A))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:Z});if(""===Z)throw new V("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:P})}const se=M.mappings.get(Z);M.mappings.has(Z)&&M.mappings.delete(Z);let te=!1;if((L(ce)||null===ce)&&(te=!0,ce={"@id":ce}),!Y(ce))throw new V("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:P});const Ie={};M.mappings.set(Z,Ie),Ie.reverse=!1;const ye=["@container","@id","@language","@reverse","@type"];E.processingMode(M,1.1)&&ye.push("@context","@direction","@index","@nest","@prefix","@protected");for(const Fe in ce)if(!ye.includes(Fe))throw new V("Invalid JSON-LD syntax; a term definition must not contain "+Fe,"jsonld.SyntaxError",{code:"invalid term definition",context:P});const re=Z.indexOf(":");if(Ie._termHasColon=re>0,"@reverse"in ce){if("@id"in ce)throw new V("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:P});if("@nest"in ce)throw new V("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:P});const Fe=ce["@reverse"];if(!L(Fe))throw new V("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});if(!E.isKeyword(Fe)&&Fe.match(A))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:Fe}),void(se?M.mappings.set(Z,se):M.mappings.delete(Z));const Qe=I(M,Fe,{vocab:!0,base:!1},P,S,G);if(!C(Qe))throw new V("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});Ie["@id"]=Qe,Ie.reverse=!0}else if("@id"in ce){let Fe=ce["@id"];if(Fe&&!L(Fe))throw new V("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});if(null===Fe)Ie["@id"]=null;else{if(!E.isKeyword(Fe)&&Fe.match(A))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:Fe}),void(se?M.mappings.set(Z,se):M.mappings.delete(Z));if(Fe!==Z){if(Fe=I(M,Fe,{vocab:!0,base:!1},P,S,G),!C(Fe)&&!E.isKeyword(Fe))throw new V("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});if(Z.match(/(?::[^:])|\//)&&I(M,Z,{vocab:!0,base:!1},P,new Map(S).set(Z,!0),G)!==Fe)throw new V("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});Ie["@id"]=Fe,Ie._prefix=te&&!Ie._termHasColon&&Fe.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in Ie))if(Ie._termHasColon){const Fe=Z.substr(0,re);if(P.hasOwnProperty(Fe)&&E.createTermDefinition({activeCtx:M,localCtx:P,term:Fe,defined:S,options:G}),M.mappings.has(Fe)){const Qe=Z.substr(re+1);Ie["@id"]=M.mappings.get(Fe)["@id"]+Qe}else Ie["@id"]=Z}else if("@type"===Z)Ie["@id"]=Z;else{if(!("@vocab"in M))throw new V("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P,term:Z});Ie["@id"]=M["@vocab"]+Z}if((!0===ce["@protected"]||!0===S.get("@protected")&&!1!==ce["@protected"])&&(M.protected[Z]=!0,Ie.protected=!0),S.set(Z,!0),"@type"in ce){let Fe=ce["@type"];if(!L(Fe))throw new V("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:P});if("@json"===Fe||"@none"===Fe){if(E.processingMode(M,1))throw new V(`Invalid JSON-LD syntax; an @context @type value must not be "${Fe}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:P})}else if("@id"!==Fe&&"@vocab"!==Fe){if(Fe=I(M,Fe,{vocab:!0,base:!1},P,S,G),!C(Fe))throw new V("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:P});if(0===Fe.indexOf("_:"))throw new V("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:P})}Ie["@type"]=Fe}if("@container"in ce){const Fe=L(ce["@container"])?[ce["@container"]]:ce["@container"]||[],Qe=["@list","@set","@index","@language"];let He=!0;const J=Fe.includes("@set");if(E.processingMode(M,1.1)){if(Qe.push("@graph","@id","@type"),Fe.includes("@list")){if(1!==Fe.length)throw new V("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:P})}else if(Fe.includes("@graph")){if(Fe.some(ae=>"@graph"!==ae&&"@id"!==ae&&"@index"!==ae&&"@set"!==ae))throw new V("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:P})}else He&=Fe.length<=(J?2:1);if(Fe.includes("@type")&&(Ie["@type"]=Ie["@type"]||"@id",!["@id","@vocab"].includes(Ie["@type"])))throw new V("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:P})}else He&=!F(ce["@container"]),He&=Fe.length<=1;if(He&=Fe.every(ae=>Qe.includes(ae)),He&=!(J&&Fe.includes("@list")),!He)throw new V("Invalid JSON-LD syntax; @context @container value must be one of the following: "+Qe.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:P});if(Ie.reverse&&!Fe.every(ae=>["@index","@set"].includes(ae)))throw new V("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:P});Ie["@container"]=Fe}if("@index"in ce){if(!("@container"in ce)||!Ie["@container"].includes("@index"))throw new V(`Invalid JSON-LD syntax; @index without @index in @container: "${ce["@index"]}" on term "${Z}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:P});if(!L(ce["@index"])||0===ce["@index"].indexOf("@"))throw new V(`Invalid JSON-LD syntax; @index must expand to an IRI: "${ce["@index"]}" on term "${Z}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:P});Ie["@index"]=ce["@index"]}if("@context"in ce&&(Ie["@context"]=ce["@context"]),"@language"in ce&&!("@type"in ce)){let Fe=ce["@language"];if(null!==Fe&&!L(Fe))throw new V("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:P});null!==Fe&&(Fe=Fe.toLowerCase()),Ie["@language"]=Fe}if("@prefix"in ce){if(Z.match(/:|\//))throw new V("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:P});if(E.isKeyword(Ie["@id"]))throw new V("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:P});if("boolean"!=typeof ce["@prefix"])throw new V("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:P});Ie._prefix=!0===ce["@prefix"]}if("@direction"in ce){const Fe=ce["@direction"];if(null!==Fe&&"ltr"!==Fe&&"rtl"!==Fe)throw new V('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:P});Ie["@direction"]=Fe}if("@nest"in ce){const Fe=ce["@nest"];if(!L(Fe)||"@nest"!==Fe&&0===Fe.indexOf("@"))throw new V("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:P});Ie["@nest"]=Fe}const ve=Ie["@id"];if("@context"===ve||"@preserve"===ve)throw new V("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:P});if(se&&se.protected&&!ne&&(M.protected[Z]=!0,Ie.protected=!0,!H(se,Ie))){const Fe=G&&G.protectedMode||"error";if("error"===Fe)throw new V(`Invalid JSON-LD syntax; tried to redefine "${Z}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:P,term:Z});if("warn"===Fe)return void console.warn("WARNING: protected term redefinition",{term:Z});throw new V("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:P,term:Z,protectedMode:Fe})}},E.expandIri=(M,P,Z,S)=>I(M,P,Z,void 0,void 0,S),E.getInitialContext=M=>{const P=JSON.stringify({processingMode:M.processingMode}),Z=b.get(P);if(Z)return Z;const S={processingMode:M.processingMode,mappings:new Map,inverse:null,getInverse:function(){const Ie=this;if(Ie.inverse)return Ie.inverse;const ye=Ie.inverse={},re=Ie.fastCurieMap={},ve={},Fe=(Ie["@language"]||"@none").toLowerCase(),Qe=Ie["@direction"],He=Ie.mappings,J=[...He.keys()].sort(v);for(const ae of J){const _e=He.get(ae);if(null===_e)continue;let Te=_e["@container"]||"@none";if(Te=[].concat(Te).sort().join(""),null===_e["@id"])continue;const xe=y(_e["@id"]);for(const Ge of xe){let Se=ye[Ge];const Ue=E.isKeyword(Ge);if(Se)!Ue&&!_e._termHasColon&&ve[Ge].push(ae);else if(ye[Ge]=Se={},!Ue&&!_e._termHasColon){ve[Ge]=[ae];const Ke={iri:Ge,terms:ve[Ge]};Ge[0]in re?re[Ge[0]].push(Ke):re[Ge[0]]=[Ke]}if(Se[Te]||(Se[Te]={"@language":{},"@type":{},"@any":{}}),Se=Se[Te],ce(ae,Se["@any"],"@none"),_e.reverse)ce(ae,Se["@type"],"@reverse");else if("@none"===_e["@type"])ce(ae,Se["@any"],"@none"),ce(ae,Se["@language"],"@none"),ce(ae,Se["@type"],"@none");else if("@type"in _e)ce(ae,Se["@type"],_e["@type"]);else if("@language"in _e&&"@direction"in _e){const Ke=_e["@language"],Be=_e["@direction"];ce(ae,Se["@language"],Ke&&Be?`${Ke}_${Be}`.toLowerCase():Ke?Ke.toLowerCase():Be?`_${Be}`:"@null")}else"@language"in _e?ce(ae,Se["@language"],(_e["@language"]||"@null").toLowerCase()):"@direction"in _e?ce(ae,Se["@language"],_e["@direction"]?`_${_e["@direction"]}`:"@none"):Qe?(ce(ae,Se["@language"],`_${Qe}`),ce(ae,Se["@language"],"@none"),ce(ae,Se["@type"],"@none")):(ce(ae,Se["@language"],Fe),ce(ae,Se["@language"],"@none"),ce(ae,Se["@type"],"@none"))}}for(const ae in re)ne(re,ae,1);return ye},clone:function(){const Ie={};return Ie.mappings=K.clone(this.mappings),Ie.clone=this.clone,Ie.inverse=null,Ie.getInverse=this.getInverse,Ie.protected=K.clone(this.protected),this.previousContext&&(Ie.previousContext=this.previousContext.clone()),Ie.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(Ie["@base"]=this["@base"]),"@language"in this&&(Ie["@language"]=this["@language"]),"@vocab"in this&&(Ie["@vocab"]=this["@vocab"]),Ie},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===b.size&&b.clear(),b.set(P,S),S;function ne(Ie,ye,re){const ve=Ie[ye],Fe=Ie[ye]={};let Qe,He;for(const J of ve)Qe=J.iri,He=re>=Qe.length?"":Qe[re],He in Fe?Fe[He].push(J):Fe[He]=[J];for(const J in Fe)""!==J&&ne(Fe,J,re+1)}function ce(Ie,ye,re){ye.hasOwnProperty(re)||(ye[re]=Ie)}},E.getContextValue=(M,P,Z)=>{if(null===P)return"@context"===Z?void 0:null;if(M.mappings.has(P)){const S=M.mappings.get(P);if(w(Z))return S;if(S.hasOwnProperty(Z))return S[Z]}return"@language"===Z&&Z in M||"@direction"===Z&&Z in M?M[Z]:"@context"!==Z?null:void 0},E.processingMode=(M,P)=>P.toString()>="1.1"?!M.processingMode||M.processingMode>="json-ld-"+P.toString():"json-ld-1.0"===M.processingMode,E.isKeyword=M=>{if(!L(M)||"@"!==M[0])return!1;switch(M){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(Q,we,fe){"use strict";const{parseLinkHeader:K,buildHeaders:V}=Q("../util"),{LINK_HEADER_CONTEXT:F}=Q("../constants"),Y=Q("../JsonLdError"),L=Q("../RequestQueue"),{prependBase:w}=Q("../url"),C=/(^|(\r\n))link:/i;function R(T,y,v){const b=new(T=T||XMLHttpRequest);return new Promise((x,A)=>{b.onload=()=>x(b),b.onerror=E=>A(E),b.open("GET",y,!0);for(const E in v)b.setRequestHeader(E,v[E]);b.send()})}we.exports=({secure:T,headers:y={},xhr:v}={headers:{}})=>{return y=V(y),(new L).wrapLoader(x);function x(E){return A.apply(this,arguments)}function A(){return(A=lt(function*(E){if(0!==E.indexOf("http:")&&0!==E.indexOf("https:"))throw new Y('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:E});if(T&&0!==E.indexOf("https"))throw new Y('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:E});let I;try{I=yield R(v,E,y)}catch(S){throw new Y("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:E,cause:S})}if(I.status>=400)throw new Y("URL could not be dereferenced: "+I.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:E,httpStatusCode:I.status});let H={contextUrl:null,documentUrl:E,document:I.response},M=null;const P=I.getResponseHeader("Content-Type");let Z;if(C.test(I.getAllResponseHeaders())&&(Z=I.getResponseHeader("Link")),Z&&"application/ld+json"!==P){const S=K(Z),G=S[F];if(Array.isArray(G))throw new Y("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:E});G&&(H.contextUrl=G.target),M=S.alternate,M&&"application/ld+json"==M.type&&!(P||"").match(/^application\/(\w*\+)?json$/)&&(H=yield x(w(E,M.target)))}return H})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(Q,we,fe){"use strict";const K=Q("./JsonLdError"),{isArray:V,isObject:F,isEmptyObject:Y,isString:L,isUndefined:w}=Q("./types"),{isList:C,isValue:R,isGraph:T,isSubject:y}=Q("./graphTypes"),{expandIri:v,getContextValue:b,isKeyword:x,process:A,processingMode:E}=Q("./context"),{isAbsolute:I}=Q("./url"),{addValue:H,asArray:M,getValues:P,validateTypeValue:Z}=Q("./util"),S={};we.exports=S;const G=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function ne(re){return ce.apply(this,arguments)}function ce(){return(ce=lt(function*({activeCtx:re,activeProperty:ve,expandedActiveProperty:Fe,element:Qe,expandedParent:He,options:J={},insideList:ae,typeKey:_e,typeScopedContext:Te,expansionMap:xe}){const Ge=Object.keys(Qe).sort(),Se=[];let Ue;const Ke=Qe[_e]&&"@json"===v(re,V(Qe[_e])?Qe[_e][0]:Qe[_e],{vocab:!0},J);for(const Be of Ge){let q,X=Qe[Be];if("@context"===Be)continue;let ge=v(re,Be,{vocab:!0},J);if((null===ge||!I(ge)&&!x(ge))&&(ge=xe({unmappedProperty:Be,activeCtx:re,activeProperty:ve,parent:Qe,options:J,insideList:ae,value:X,expandedParent:He}),void 0===ge))continue;if(x(ge)){if("@reverse"===Fe)throw new K("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:X});if(ge in He&&"@included"!==ge&&"@type"!==ge)throw new K("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:ge})}if("@id"===ge){if(!L(X)){if(!J.isFrame)throw new K('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:X});if(F(X)){if(!Y(X))throw new K('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:X})}else{if(!V(X))throw new K('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:X});if(!X.every(gt=>L(gt)))throw new K('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:X})}}H(He,"@id",M(X).map(gt=>L(gt)?v(re,gt,{base:!0},J):gt),{propertyIsArray:J.isFrame});continue}if("@type"===ge){F(X)&&(X=Object.fromEntries(Object.entries(X).map(([gt,Ae])=>[v(Te,gt,{vocab:!0}),M(Ae).map(U=>v(Te,U,{base:!0,vocab:!0}))]))),Z(X,J.isFrame),H(He,"@type",M(X).map(gt=>L(gt)?v(Te,gt,{base:!0,vocab:!0},J):gt),{propertyIsArray:J.isFrame});continue}if("@included"===ge&&E(re,1.1)){const gt=M(yield S.expand({activeCtx:re,activeProperty:ve,element:X,options:J,expansionMap:xe}));if(!gt.every(Ae=>y(Ae)))throw new K("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:X});H(He,"@included",gt,{propertyIsArray:!0});continue}if("@graph"===ge&&!F(X)&&!V(X))throw new K('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:X});if("@value"===ge){Ue=X,Ke&&E(re,1.1)?He["@value"]=X:H(He,"@value",X,{propertyIsArray:J.isFrame});continue}if("@language"===ge){if(null===X)continue;if(!L(X)&&!J.isFrame)throw new K('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:X});X=M(X).map(gt=>L(gt)?gt.toLowerCase():gt);for(const gt of X)L(gt)&&!gt.match(G)&&console.warn(`@language must be valid BCP47: ${gt}`);H(He,"@language",X,{propertyIsArray:J.isFrame});continue}if("@direction"===ge){if(!L(X)&&!J.isFrame)throw new K('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:X});X=M(X);for(const gt of X)if(L(gt)&&"ltr"!==gt&&"rtl"!==gt)throw new K('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:X});H(He,"@direction",X,{propertyIsArray:J.isFrame});continue}if("@index"===ge){if(!L(X))throw new K('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:X});H(He,"@index",X);continue}if("@reverse"===ge){if(!F(X))throw new K('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:X});if(q=yield S.expand({activeCtx:re,activeProperty:"@reverse",element:X,options:J,expansionMap:xe}),"@reverse"in q)for(const Ae in q["@reverse"])H(He,Ae,q["@reverse"][Ae],{propertyIsArray:!0});let gt=He["@reverse"]||null;for(const Ae in q){if("@reverse"===Ae)continue;null===gt&&(gt=He["@reverse"]={}),H(gt,Ae,[],{propertyIsArray:!0});const U=q[Ae];for(let k=0;k"@id"===gt||"@index"===gt)&&(q=M(q).map(gt=>({"@graph":M(gt)}))),le.mappings.has(Be)&&le.mappings.get(Be).reverse){const gt=He["@reverse"]=He["@reverse"]||{};q=M(q);for(let Ae=0;Ae"@value"===v(re,ge,{vocab:!0},J)))throw new K("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:q});yield ne({activeCtx:re,activeProperty:ve,expandedActiveProperty:Fe,element:q,expandedParent:He,options:J,insideList:ae,typeScopedContext:Te,typeKey:_e,expansionMap:xe})}}})).apply(this,arguments)}function se({activeCtx:re,activeProperty:ve,value:Fe,options:Qe}){if(null==Fe)return null;const He=v(re,ve,{vocab:!0},Qe);if("@id"===He)return v(re,Fe,{base:!0},Qe);if("@type"===He)return v(re,Fe,{vocab:!0,base:!0},Qe);const J=b(re,ve,"@type");if(("@id"===J||"@graph"===He)&&L(Fe))return{"@id":v(re,Fe,{base:!0},Qe)};if("@vocab"===J&&L(Fe))return{"@id":v(re,Fe,{vocab:!0,base:!0},Qe)};if(x(He))return Fe;const ae={};if(J&&!["@id","@vocab","@none"].includes(J))ae["@type"]=J;else if(L(Fe)){const _e=b(re,ve,"@language");null!==_e&&(ae["@language"]=_e);const Te=b(re,ve,"@direction");null!==Te&&(ae["@direction"]=Te)}return["boolean","number","string"].includes(typeof Fe)||(Fe=Fe.toString()),ae["@value"]=Fe,ae}function te(re,ve,Fe,Qe){const He=[],J=Object.keys(ve).sort();for(const ae of J){const _e=v(re,ae,{vocab:!0},Qe);let Te=ve[ae];V(Te)||(Te=[Te]);for(const xe of Te){if(null===xe)continue;if(!L(xe))throw new K("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:ve});const Ge={"@value":xe};"@none"!==_e&&(Ge["@language"]=ae.toLowerCase()),Fe&&(Ge["@direction"]=Fe),He.push(Ge)}}return He}function Ie(re){return ye.apply(this,arguments)}function ye(){return(ye=lt(function*({activeCtx:re,options:ve,activeProperty:Fe,value:Qe,expansionMap:He,asGraph:J,indexKey:ae,propertyIndex:_e}){const Te=[],xe=Object.keys(Qe).sort(),Ge="@type"===ae;for(let Se of xe){if(Ge){const Be=b(re,Se,"@context");w(Be)||(re=yield A({activeCtx:re,localCtx:Be,propagate:!1,options:ve}))}let Ke,Ue=Qe[Se];V(Ue)||(Ue=[Ue]),Ue=yield S.expand({activeCtx:re,activeProperty:Fe,element:Ue,options:ve,insideList:!1,insideIndex:!0,expansionMap:He}),Ke=_e?"@none"===Se?"@none":se({activeCtx:re,activeProperty:ae,value:Se,options:ve}):v(re,Se,{vocab:!0},ve),"@id"===ae?Se=v(re,Se,{base:!0},ve):Ge&&(Se=Ke);for(let Be of Ue){if(J&&!T(Be)&&(Be={"@graph":[Be]}),"@type"===ae)"@none"===Ke||(Be["@type"]=Be["@type"]?[Se].concat(Be["@type"]):[Se]);else{if(R(Be)&&!["@language","@type","@index"].includes(ae))throw new K(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${ae}".`,"jsonld.SyntaxError",{code:"invalid value object",value:Be});_e?"@none"!==Ke&&H(Be,_e,Ke,{propertyIsArray:!0,prependValue:!0}):"@none"!==Ke&&!(ae in Be)&&(Be[ae]=Se)}Te.push(Be)}}return Te})).apply(this,arguments)}S.expand=function(){var re=lt(function*({activeCtx:ve,activeProperty:Fe=null,element:Qe,options:He={},insideList:J=!1,insideIndex:ae=!1,typeScopedContext:_e=null,expansionMap:Te=(()=>{})}){if(null==Qe)return null;if("@default"===Fe&&(He=Object.assign({},He,{isFrame:!1})),!V(Qe)&&!F(Qe)){if(!J&&(null===Fe||"@graph"===v(ve,Fe,{vocab:!0},He))){const q=yield Te({unmappedValue:Qe,activeCtx:ve,activeProperty:Fe,options:He,insideList:J});return void 0===q?null:q}return se({activeCtx:ve,activeProperty:Fe,value:Qe,options:He})}if(V(Qe)){let q=[];const ge=b(ve,Fe,"@container")||[];J=J||ge.includes("@list");for(let le=0;le1?le.slice().sort():le:[le];for(const _t of qe){const gt=b(_e,_t,"@context");w(gt)||(ve=yield A({activeCtx:ve,localCtx:gt,options:He,propagate:!1}))}}let Be={};yield ne({activeCtx:ve,activeProperty:Fe,expandedActiveProperty:xe,element:Qe,expandedParent:Be,options:He,insideList:J,typeKey:Ke,typeScopedContext:_e,expansionMap:Te}),Se=Object.keys(Be);let X=Se.length;if("@value"in Be){if("@type"in Be&&("@language"in Be||"@direction"in Be))throw new K('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Be});let q=X-1;if("@type"in Be&&(q-=1),"@index"in Be&&(q-=1),"@language"in Be&&(q-=1),"@direction"in Be&&(q-=1),0!==q)throw new K('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Be});const ge=null===Be["@value"]?[]:M(Be["@value"]),le=P(Be,"@type");if(!E(ve,1.1)||!le.includes("@json")||1!==le.length)if(0===ge.length){const qe=yield Te({unmappedValue:Be,activeCtx:ve,activeProperty:Fe,element:Qe,options:He,insideList:J});Be=void 0!==qe?qe:null}else{if(!ge.every(qe=>L(qe)||Y(qe))&&"@language"in Be)throw new K("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:Be});if(!le.every(qe=>I(qe)&&!(L(qe)&&0===qe.indexOf("_:"))||Y(qe)))throw new K('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:Be})}}else if("@type"in Be&&!V(Be["@type"]))Be["@type"]=[Be["@type"]];else if("@set"in Be||"@list"in Be){if(X>1&&(2!==X||!("@index"in Be)))throw new K('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:Be});"@set"in Be&&(Be=Be["@set"],Se=Object.keys(Be),X=Se.length)}else if(1===X&&"@language"in Be){const q=yield Te(Be,{unmappedValue:Be,activeCtx:ve,activeProperty:Fe,element:Qe,options:He,insideList:J});Be=void 0!==q?q:null}if(F(Be)&&!He.keepFreeFloatingNodes&&!J&&(null===Fe||"@graph"===xe)&&(0===X||"@value"in Be||"@list"in Be||1===X&&"@id"in Be)){const q=yield Te({unmappedValue:Be,activeCtx:ve,activeProperty:Fe,element:Qe,options:He,insideList:J});Be=void 0!==q?q:null}return Be});return function(ve){return re.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(Q,we,fe){"use strict";const{isSubjectReference:K}=Q("./graphTypes"),{createMergedNodeMap:V}=Q("./nodeMap"),F={};we.exports=F,F.flatten=Y=>{const L=V(Y),w=[],C=Object.keys(L).sort();for(let R=0;R=0;--ce){const se=ne[ce];if(se.graph===G&&se.subject["@id"]===S["@id"])return!0}return!1}function b(S,G,ne){const ce="@"+ne;let se=ce in S?S[ce][0]:G[ne];if("embed"===ne)if(!0===se)se="@once";else if(!1===se)se="@never";else if("@always"!==se&&"@never"!==se&&"@link"!==se&&"@first"!==se&&"@last"!==se&&"@once"!==se)throw new w("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:S});return se}function x(S){if(!F.isArray(S)||1!==S.length||!F.isObject(S[0]))throw new w("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:S});if("@id"in S[0])for(const G of Y.asArray(S[0]["@id"]))if(!F.isObject(G)&&!L.isAbsolute(G)||F.isString(G)&&0===G.indexOf("_:"))throw new w("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:S});if("@type"in S[0])for(const G of Y.asArray(S[0]["@type"]))if(!F.isObject(G)&&!L.isAbsolute(G)||F.isString(G)&&0===G.indexOf("_:"))throw new w("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:S})}function E(S,G,ne,ce){let se=!0,te=!1;for(const Ie in ne){let ye=!1;const re=Y.getValues(G,Ie),ve=0===Y.getValues(ne,Ie).length;if("@id"===Ie){if(F.isEmptyObject(ne["@id"][0]||{})?ye=!0:ne["@id"].length>=0&&(ye=ne["@id"].includes(re[0])),!ce.requireAll)return ye}else if("@type"===Ie){if(se=!1,ve){if(re.length>0)return!1;ye=!0}else if(1===ne["@type"].length&&F.isEmptyObject(ne["@type"][0]))ye=re.length>0;else for(const Fe of ne["@type"])ye=!(!F.isObject(Fe)||!("@default"in Fe))||ye||re.some(Qe=>Qe===Fe);if(!ce.requireAll)return ye}else{if(K(Ie))continue;{const Fe=Y.getValues(ne,Ie)[0];let Qe=!1;if(Fe&&(x([Fe]),Qe="@default"in Fe),se=!1,0===re.length&&Qe)continue;if(re.length>0&&ve)return!1;if(void 0===Fe){if(re.length>0)return!1;ye=!0}else if(V.isList(Fe)){const He=Fe["@list"][0];if(V.isList(re[0])){const J=re[0]["@list"];V.isValue(He)?ye=J.some(ae=>Z(He,ae)):(V.isSubject(He)||V.isSubjectReference(He))&&(ye=J.some(ae=>P(S,He,ae,ce)))}}else ye=V.isValue(Fe)?re.some(He=>Z(Fe,He)):V.isSubjectReference(Fe)?re.some(He=>P(S,Fe,He,ce)):!!F.isObject(Fe)&&re.length>0}}if(!ye&&ce.requireAll)return!1;te=te||ye}return se||te}function I(S,G){const ne=S.uniqueEmbeds[S.graph],ce=ne[G],se=ce.parent,te=ce.property,Ie={"@id":G};if(F.isArray(se)){for(let re=0;re{const ve=Object.keys(ne);for(const Fe of ve)Fe in ne&&F.isObject(ne[Fe].parent)&&ne[Fe].parent["@id"]===re&&(delete ne[Fe],ye(Fe))};ye(G)}function H(S,G){if(F.isArray(S))return S.map(ne=>H(ne,G));if(F.isObject(S)){if("@preserve"in S)return S["@preserve"][0];if(V.isValue(S))return S;if(V.isList(S))return S["@list"]=H(S["@list"],G),S;if("@id"in S){const ne=S["@id"];if(G.link.hasOwnProperty(ne)){const ce=G.link[ne].indexOf(S);if(-1!==ce)return G.link[ne][ce];G.link[ne].push(S)}else G.link[ne]=[S]}for(const ne in S)"@id"===ne&&G.bnodesToClear.includes(S[ne])?delete S["@id"]:S[ne]=H(S[ne],G)}return S}function M(S,G,ne){F.isObject(S)?Y.addValue(S,G,ne,{propertyIsArray:!0}):S.push(ne)}function P(S,G,ne,ce){if(!("@id"in ne))return!1;const se=S.subjects[ne["@id"]];return se&&E(S,se,G,ce)}function Z(S,G){const ne=G["@value"],ce=G["@type"],se=G["@language"],te=S["@value"]?F.isArray(S["@value"])?S["@value"]:[S["@value"]]:[],Ie=S["@type"]?F.isArray(S["@type"])?S["@type"]:[S["@type"]]:[],ye=S["@language"]?F.isArray(S["@language"])?S["@language"]:[S["@language"]]:[];return 0===te.length&&0===Ie.length&&0===ye.length||!(!te.includes(ne)&&!F.isEmptyObject(te[0])||!(!ce&&0===Ie.length||Ie.includes(ce)||ce&&F.isEmptyObject(Ie[0]))||!(!se&&0===ye.length||ye.includes(se)||se&&F.isEmptyObject(ye[0])))}we.exports=T,T.frameMergedOrDefault=(S,G,ne)=>{const ce={options:ne,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},se=new Y.IdentifierIssuer("_:b");C(S,ce.graphMap,"@default",se),ne.merged&&(ce.graphMap["@merged"]=R(ce.graphMap),ce.graph="@merged"),ce.subjects=ce.graphMap[ce.graph];const te=[];return T.frame(ce,Object.keys(ce.subjects).sort(),G,te),ne.pruneBlankNodeIdentifiers&&(ne.bnodesToClear=Object.keys(ce.bnodeMap).filter(Ie=>1===ce.bnodeMap[Ie].length)),ne.link={},H(te,ne)},T.frame=(S,G,ne,ce,se=null)=>{x(ne);const te=S.options,Ie={embed:b(ne=ne[0],te,"embed"),explicit:b(ne,te,"explicit"),requireAll:b(ne,te,"requireAll")};S.link.hasOwnProperty(S.graph)||(S.link[S.graph]={});const ye=S.link[S.graph],re=function(S,G,ne,ce){const se={};for(const te of G){const Ie=S.graphMap[S.graph][te];E(S,Ie,ne,ce)&&(se[te]=Ie)}return se}(S,G,ne,Ie),ve=Object.keys(re).sort();for(const Fe of ve){const Qe=re[Fe];if(null===se?S.uniqueEmbeds={[S.graph]:{}}:S.uniqueEmbeds[S.graph]=S.uniqueEmbeds[S.graph]||{},"@link"===Ie.embed&&Fe in ye){M(ce,se,ye[Fe]);continue}const He={"@id":Fe};if(0===Fe.indexOf("_:")&&Y.addValue(S.bnodeMap,Fe,He,{propertyIsArray:!0}),ye[Fe]=He,("@first"===Ie.embed||"@last"===Ie.embed)&&S.is11)throw new w("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:ne});if(S.embedded||!S.uniqueEmbeds[S.graph].hasOwnProperty(Fe)){if(S.embedded&&("@never"===Ie.embed||v(Qe,S.graph,S.subjectStack))){M(ce,se,He);continue}if(S.embedded&&("@first"==Ie.embed||"@once"==Ie.embed)&&S.uniqueEmbeds[S.graph].hasOwnProperty(Fe)){M(ce,se,He);continue}if("@last"===Ie.embed&&Fe in S.uniqueEmbeds[S.graph]&&I(S,Fe),S.uniqueEmbeds[S.graph][Fe]={parent:ce,property:se},S.subjectStack.push({subject:Qe,graph:S.graph}),Fe in S.graphMap){let J=!1,ae=null;"@graph"in ne?(ae=ne["@graph"][0],J=!("@merged"===Fe||"@default"===Fe),F.isObject(ae)||(ae={})):(J="@merged"!==S.graph,ae={}),J&&T.frame(Cn(at({},S),{graph:Fe,embedded:!1}),Object.keys(S.graphMap[Fe]).sort(),[ae],He,"@graph")}"@included"in ne&&T.frame(Cn(at({},S),{embedded:!1}),G,ne["@included"],He,"@included");for(const J of Object.keys(Qe).sort())if(K(J)){if(He[J]=Y.clone(Qe[J]),"@type"===J)for(const ae of Qe["@type"])0===ae.indexOf("_:")&&Y.addValue(S.bnodeMap,ae,He,{propertyIsArray:!0})}else if(!Ie.explicit||J in ne)for(const ae of Qe[J]){const _e=J in ne?ne[J]:y(Ie);if(V.isList(ae)){const Te=ne[J]&&ne[J][0]&&ne[J][0]["@list"]?ne[J][0]["@list"]:y(Ie),xe={"@list":[]};M(He,J,xe);const Ge=ae["@list"];for(const Se of Ge)V.isSubjectReference(Se)?T.frame(Cn(at({},S),{embedded:!0}),[Se["@id"]],Te,xe,"@list"):M(xe,"@list",Y.clone(Se))}else V.isSubjectReference(ae)?T.frame(Cn(at({},S),{embedded:!0}),[ae["@id"]],_e,He,J):Z(_e[0],ae)&&M(He,J,Y.clone(ae))}for(const J of Object.keys(ne).sort()){if("@type"===J){if(!F.isObject(ne[J][0])||!("@default"in ne[J][0]))continue}else if(K(J))continue;const ae=ne[J][0]||{};if(!b(ae,te,"omitDefault")&&!(J in He)){let Te="@null";"@default"in ae&&(Te=Y.clone(ae["@default"])),F.isArray(Te)||(Te=[Te]),He[J]=[{"@preserve":Te}]}}for(const J of Object.keys(ne["@reverse"]||{}).sort()){const ae=ne["@reverse"][J];for(const _e of Object.keys(S.subjects))Y.getValues(S.subjects[_e],J).some(xe=>xe["@id"]===Fe)&&(He["@reverse"]=He["@reverse"]||{},Y.addValue(He["@reverse"],J,[],{propertyIsArray:!0}),T.frame(Cn(at({},S),{embedded:!0}),[_e],ae,He["@reverse"][J],se))}M(ce,se,He),S.subjectStack.pop()}}},T.cleanupNull=(S,G)=>{if(F.isArray(S))return S.map(ce=>T.cleanupNull(ce,G)).filter(ce=>ce);if("@null"===S)return null;if(F.isObject(S)){if("@id"in S){const ne=S["@id"];if(G.link.hasOwnProperty(ne)){const ce=G.link[ne].indexOf(S);if(-1!==ce)return G.link[ne][ce];G.link[ne].push(S)}else G.link[ne]=[S]}for(const ne in S)S[ne]=T.cleanupNull(S[ne],G)}return S}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(Q,we,fe){"use strict";const K=Q("./JsonLdError"),V=Q("./graphTypes"),F=Q("./types"),Y=Q("./util"),{RDF_LIST:L,RDF_FIRST:w,RDF_REST:C,RDF_NIL:R,RDF_TYPE:T,RDF_JSON_LITERAL:y,XSD_BOOLEAN:v,XSD_DOUBLE:b,XSD_INTEGER:x,XSD_STRING:A}=Q("./constants"),E=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,I={};function H(M,P,Z){if(M.termType.endsWith("Node"))return{"@id":M.value};const S={"@value":M.value};if(M.language)S["@language"]=M.language;else{let G=M.datatype.value;if(G||(G=A),G===y){G="@json";try{S["@value"]=JSON.parse(S["@value"])}catch(ne){throw new K("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:S["@value"],cause:ne})}}if(P){if(G===v)"true"===S["@value"]?S["@value"]=!0:"false"===S["@value"]&&(S["@value"]=!1);else if(F.isNumeric(S["@value"]))if(G===x){const ne=parseInt(S["@value"],10);ne.toFixed(0)===S["@value"]&&(S["@value"]=ne)}else G===b&&(S["@value"]=parseFloat(S["@value"]));[v,x,b,A].includes(G)||(S["@type"]=G)}else if("i18n-datatype"===Z&&G.startsWith("https://www.w3.org/ns/i18n#")){const[,ne,ce]=G.split(/[#_]/);ne.length>0&&(S["@language"]=ne,ne.match(E)||console.warn(`@language must be valid BCP47: ${ne}`)),S["@direction"]=ce}else G!==A&&(S["@type"]=G)}return S}we.exports=I,I.fromRDF=function(){var M=lt(function*(P,{useRdfType:Z=!1,useNativeTypes:S=!1,rdfDirection:G=null}){const ne={},ce={"@default":ne},se={};for(const ye of P){const re="DefaultGraph"===ye.graph.termType?"@default":ye.graph.value;re in ce||(ce[re]={}),"@default"!==re&&!(re in ne)&&(ne[re]={"@id":re});const ve=ce[re],Fe=ye.subject.value,Qe=ye.predicate.value,He=ye.object;Fe in ve||(ve[Fe]={"@id":Fe});const J=ve[Fe],ae=He.termType.endsWith("Node");if(ae&&!(He.value in ve)&&(ve[He.value]={"@id":He.value}),Qe===T&&!Z&&ae){Y.addValue(J,"@type",He.value,{propertyIsArray:!0});continue}const _e=H(He,S,G);if(Y.addValue(J,Qe,_e,{propertyIsArray:!0}),ae)if(He.value===R){const Te=ve[He.value];"usages"in Te||(Te.usages=[]),Te.usages.push({node:J,property:Qe,value:_e})}else se[He.value]=!(He.value in se)&&{node:J,property:Qe,value:_e}}for(const ye in ce){const re=ce[ye];if(!(R in re))continue;const ve=re[R];if(ve.usages){for(let Fe of ve.usages){let Qe=Fe.node,He=Fe.property,J=Fe.value;const ae=[],_e=[];let Te=Object.keys(Qe).length;for(;He===C&&F.isObject(se[Qe["@id"]])&&F.isArray(Qe[w])&&1===Qe[w].length&&F.isArray(Qe[C])&&1===Qe[C].length&&(3===Te||4===Te&&F.isArray(Qe["@type"])&&1===Qe["@type"].length&&Qe["@type"][0]===L)&&(ae.push(Qe[w][0]),_e.push(Qe["@id"]),Fe=se[Qe["@id"]],Qe=Fe.node,He=Fe.property,J=Fe.value,Te=Object.keys(Qe).length,V.isBlankNode(Qe)););delete J["@id"],J["@list"]=ae.reverse();for(const xe of _e)delete re[xe]}delete ve.usages}}const te=[],Ie=Object.keys(ne).sort();for(const ye of Ie){const re=ne[ye];if(ye in ce){const ve=re["@graph"]=[],Fe=ce[ye],Qe=Object.keys(Fe).sort();for(const He of Qe){const J=Fe[He];V.isSubjectReference(J)||ve.push(J)}}V.isSubjectReference(re)||te.push(re)}return te});return function(P,Z){return M.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(Q,we,fe){"use strict";const K=Q("./types"),V={};we.exports=V,V.isSubject=F=>!(!K.isObject(F)||"@value"in F||"@set"in F||"@list"in F)&&(Object.keys(F).length>1||!("@id"in F)),V.isSubjectReference=F=>K.isObject(F)&&1===Object.keys(F).length&&"@id"in F,V.isValue=F=>K.isObject(F)&&"@value"in F,V.isList=F=>K.isObject(F)&&"@list"in F,V.isGraph=F=>K.isObject(F)&&"@graph"in F&&1===Object.keys(F).filter(Y=>"@id"!==Y&&"@index"!==Y).length,V.isSimpleGraph=F=>V.isGraph(F)&&!("@id"in F),V.isBlankNode=F=>!!K.isObject(F)&&("@id"in F?0===F["@id"].indexOf("_:"):0===Object.keys(F).length||!("@value"in F||"@set"in F||"@list"in F))},{"./types":30}],26:[function(Q,we,fe){const K=Q("rdf-canonize"),V=Q("./platform"),F=Q("./util"),Y=Q("./ContextResolver"),L=F.IdentifierIssuer,w=Q("./JsonLdError"),C=Q("lru-cache"),R=Q("./NQuads"),{expand:T}=Q("./expand"),{flatten:y}=Q("./flatten"),{fromRDF:v}=Q("./fromRdf"),{toRDF:b}=Q("./toRdf"),{frameMergedOrDefault:x,cleanupNull:A}=Q("./frame"),{isArray:E,isObject:I,isString:H}=Q("./types"),{isSubjectReference:M}=Q("./graphTypes"),{expandIri:P,getInitialContext:Z,process:S,processingMode:G}=Q("./context"),{compact:ne,compactIri:ce}=Q("./compact"),{createNodeMap:se,createMergedNodeMap:te,mergeNodeMaps:Ie}=Q("./nodeMap"),ye=function(ve){const Fe={},He=new C({max:100});function J(ae,xe){var Ge=xe,{documentLoader:_e=ve.documentLoader}=Ge,Te=zq(Ge,["documentLoader"]);return Object.assign({},{documentLoader:_e},Te,ae)}return ve.compact=function(){var ae=lt(function*(_e,Te,xe){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===Te)throw new w("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===_e)return null;let Ge;(xe=J(xe,{base:H(_e)?_e:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new L("_:b"),contextResolver:new Y({sharedCache:He})})).link&&(xe.skipExpansion=!0),xe.compactToRelative||delete xe.base,Ge=xe.skipExpansion?_e:yield ve.expand(_e,xe);const Se=yield ve.processContext(Z(xe),Te,xe);let Ue=yield ne({activeCtx:Se,element:Ge,options:xe,compactionMap:xe.compactionMap});xe.compactArrays&&!xe.graph&&E(Ue)?1===Ue.length?Ue=Ue[0]:0===Ue.length&&(Ue={}):xe.graph&&I(Ue)&&(Ue=[Ue]),I(Te)&&"@context"in Te&&(Te=Te["@context"]),Te=F.clone(Te),E(Te)||(Te=[Te]);const Ke=Te;Te=[];for(let X=0;X0)&&Te.push(Ke[X]);const Be=Te.length>0;if(1===Te.length&&(Te=Te[0]),E(Ue)){const X=ce({activeCtx:Se,iri:"@graph",relativeTo:{vocab:!0}}),q=Ue;Ue={},Be&&(Ue["@context"]=Te),Ue[X]=q}else if(I(Ue)&&Be){const X=Ue;Ue={"@context":Te};for(const q in X)Ue[q]=X[q]}return Ue});return function(_e,Te,xe){return ae.apply(this,arguments)}}(),ve.expand=function(){var ae=lt(function*(_e,Te){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(Te=J(Te,{keepFreeFloatingNodes:!1,contextResolver:new Y({sharedCache:He})})).expansionMap&&(Te.expansionMap=void 0);const xe={},Ge=[];if("expandContext"in Te){const Be=F.clone(Te.expandContext);xe.expandContext=I(Be)&&"@context"in Be?Be:{"@context":Be},Ge.push(xe.expandContext)}let Se;if(H(_e)){const Be=yield ve.get(_e,Te);Se=Be.documentUrl,xe.input=Be.document,Be.contextUrl&&(xe.remoteContext={"@context":Be.contextUrl},Ge.push(xe.remoteContext))}else xe.input=F.clone(_e);"base"in Te||(Te.base=Se||"");let Ue=Z(Te);for(const Be of Ge)Ue=yield S({activeCtx:Ue,localCtx:Be,options:Te});let Ke=yield T({activeCtx:Ue,element:xe.input,options:Te,expansionMap:Te.expansionMap});return I(Ke)&&"@graph"in Ke&&1===Object.keys(Ke).length?Ke=Ke["@graph"]:null===Ke&&(Ke=[]),E(Ke)||(Ke=[Ke]),Ke});return function(_e,Te){return ae.apply(this,arguments)}}(),ve.flatten=function(){var ae=lt(function*(_e,Te,xe){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");Te="function"==typeof Te?null:Te||null,xe=J(xe,{base:H(_e)?_e:"",contextResolver:new Y({sharedCache:He})});const Ge=yield ve.expand(_e,xe),Se=y(Ge);return null===Te?Se:(xe.graph=!0,xe.skipExpansion=!0,yield ve.compact(Se,Te,xe))});return function(_e,Te,xe){return ae.apply(this,arguments)}}(),ve.frame=function(){var ae=lt(function*(_e,Te,xe){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(xe=J(xe,{base:H(_e)?_e:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new Y({sharedCache:He})}),H(Te)){const le=yield ve.get(Te,xe);if(Te=le.document,le.contextUrl){let qe=Te["@context"];qe?E(qe)?qe.push(le.contextUrl):qe=[qe,le.contextUrl]:qe=le.contextUrl,Te["@context"]=qe}}const Ge=Te&&Te["@context"]||{},Se=yield ve.processContext(Z(xe),Ge,xe);xe.hasOwnProperty("omitGraph")||(xe.omitGraph=G(Se,1.1)),xe.hasOwnProperty("pruneBlankNodeIdentifiers")||(xe.pruneBlankNodeIdentifiers=G(Se,1.1));const Ue=yield ve.expand(_e,xe),Ke=at({},xe);Ke.isFrame=!0,Ke.keepFreeFloatingNodes=!0;const Be=yield ve.expand(Te,Ke),X=Object.keys(Te).map(le=>P(Se,le,{vocab:!0}));Ke.merged=!X.includes("@graph"),Ke.is11=G(Se,1.1);const q=x(Ue,Be,Ke);Ke.graph=!xe.omitGraph,Ke.skipExpansion=!0,Ke.link={},Ke.framing=!0;let ge=yield ve.compact(q,Ge,Ke);return Ke.link={},ge=A(ge,Ke),ge});return function(_e,Te,xe){return ae.apply(this,arguments)}}(),ve.link=function(){var ae=lt(function*(_e,Te,xe){const Ge={};return Te&&(Ge["@context"]=Te),Ge["@embed"]="@link",ve.frame(_e,Ge,xe)});return function(_e,Te,xe){return ae.apply(this,arguments)}}(),ve.normalize=ve.canonize=function(){var ae=lt(function*(_e,Te){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(Te=J(Te,{base:H(_e)?_e:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new Y({sharedCache:He})}))){if("application/n-quads"!==Te.inputFormat&&"application/nquads"!==Te.inputFormat)throw new w("Unknown canonicalization input format.","jsonld.CanonizeError");const Se=R.parse(_e);return K.canonize(Se,Te)}const xe=at({},Te);delete xe.format,xe.produceGeneralizedRdf=!1;const Ge=yield ve.toRDF(_e,xe);return K.canonize(Ge,Te)});return function(_e,Te){return ae.apply(this,arguments)}}(),ve.fromRDF=function(){var ae=lt(function*(_e,Te){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");Te=J(Te,{format:H(_e)?"application/n-quads":void 0});const{format:xe}=Te;let{rdfParser:Ge}=Te;if(xe){if(Ge=Ge||Fe[xe],!Ge)throw new w("Unknown input format.","jsonld.UnknownFormat",{format:xe})}else Ge=()=>_e;const Se=yield Ge(_e);return v(Se,Te)});return function(_e,Te){return ae.apply(this,arguments)}}(),ve.toRDF=function(){var ae=lt(function*(_e,Te){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let xe;xe=(Te=J(Te,{base:H(_e)?_e:"",skipExpansion:!1,contextResolver:new Y({sharedCache:He})})).skipExpansion?_e:yield ve.expand(_e,Te);const Ge=b(xe,Te);if(Te.format){if("application/n-quads"===Te.format||"application/nquads"===Te.format)return R.serialize(Ge);throw new w("Unknown output format.","jsonld.UnknownFormat",{format:Te.format})}return Ge});return function(_e,Te){return ae.apply(this,arguments)}}(),ve.createNodeMap=function(){var ae=lt(function*(_e,Te){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");Te=J(Te,{base:H(_e)?_e:"",contextResolver:new Y({sharedCache:He})});const xe=yield ve.expand(_e,Te);return te(xe,Te)});return function(_e,Te){return ae.apply(this,arguments)}}(),ve.merge=function(){var ae=lt(function*(_e,Te,xe){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!E(_e))throw new TypeError('Could not merge, "docs" must be an array.');Te="function"==typeof Te?null:Te||null,xe=J(xe,{contextResolver:new Y({sharedCache:He})});const Ge=yield Promise.all(_e.map(le=>{const qe=at({},xe);return ve.expand(le,qe)}));let Se=!0;"mergeNodes"in xe&&(Se=xe.mergeNodes);const Ue=xe.issuer||new L("_:b"),Ke={"@default":{}};for(let le=0;leve._documentLoader,set:ae=>ve._documentLoader=ae}),ve.documentLoader=function(){var ae=lt(function*(_e){throw new w("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:_e})});return function(_e){return ae.apply(this,arguments)}}(),ve.get=function(){var ae=lt(function*(_e,Te){let xe;xe="function"==typeof Te.documentLoader?Te.documentLoader:ve.documentLoader;const Ge=yield xe(_e);try{if(!Ge.document)throw new w("No remote document found at the given URL.","jsonld.NullRemoteDocument");H(Ge.document)&&(Ge.document=JSON.parse(Ge.document))}catch(Se){throw new w("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:Se,remoteDoc:Ge})}return Ge});return function(_e,Te){return ae.apply(this,arguments)}}(),ve.processContext=function(){var ae=lt(function*(_e,Te,xe){return xe=J(xe,{base:"",contextResolver:new Y({sharedCache:He})}),null===Te?Z(xe):(Te=F.clone(Te),I(Te)&&"@context"in Te||(Te={"@context":Te}),S({activeCtx:_e,localCtx:Te,options:xe}))});return function(_e,Te,xe){return ae.apply(this,arguments)}}(),ve.getContextValue=Q("./context").getContextValue,ve.documentLoaders={},ve.useDocumentLoader=function(ae){if(!(ae in ve.documentLoaders))throw new w('Unknown document loader type: "'+ae+'"',"jsonld.UnknownDocumentLoader",{type:ae});ve.documentLoader=ve.documentLoaders[ae].apply(ve,Array.prototype.slice.call(arguments,1))},ve.registerRDFParser=function(ae,_e){Fe[ae]=_e},ve.unregisterRDFParser=function(ae){delete Fe[ae]},ve.registerRDFParser("application/n-quads",R.parse),ve.registerRDFParser("application/nquads",R.parse),ve.url=Q("./url"),ve.util=F,Object.assign(ve,F),ve.promises=ve,ve.RequestQueue=Q("./RequestQueue"),ve.JsonLdProcessor=Q("./JsonLdProcessor")(ve),V.setupGlobals(ve),V.setupDocumentLoaders(ve),ve},re=function(){return ye(function(){return re()})};ye(re),we.exports=re},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(Q,we,fe){"use strict";const{isKeyword:K}=Q("./context"),V=Q("./graphTypes"),F=Q("./types"),Y=Q("./util"),L=Q("./JsonLdError"),w={};we.exports=w,w.createMergedNodeMap=(C,R)=>{const T=(R=R||{}).issuer||new Y.IdentifierIssuer("_:b"),y={"@default":{}};return w.createNodeMap(C,y,"@default",T),w.mergeNodeMaps(y)},w.createNodeMap=(C,R,T,y,v,b)=>{if(F.isArray(C)){for(const I of C)w.createNodeMap(I,R,T,y,void 0,b);return}if(!F.isObject(C))return void(b&&b.push(C));if(V.isValue(C)){if("@type"in C){let I=C["@type"];0===I.indexOf("_:")&&(C["@type"]=I=y.getId(I))}return void(b&&b.push(C))}if(b&&V.isList(C)){const I=[];return w.createNodeMap(C["@list"],R,T,y,v,I),void b.push({"@list":I})}if("@type"in C){const I=C["@type"];for(const H of I)0===H.indexOf("_:")&&y.getId(H)}F.isUndefined(v)&&(v=V.isBlankNode(C)?y.getId(C["@id"]):C["@id"]),b&&b.push({"@id":v});const x=R[T],A=x[v]=x[v]||{};A["@id"]=v;const E=Object.keys(C).sort();for(let I of E){if("@id"===I)continue;if("@reverse"===I){const M={"@id":v},P=C["@reverse"];for(const Z in P){const S=P[Z];for(const G of S){let ne=G["@id"];V.isBlankNode(G)&&(ne=y.getId(ne)),w.createNodeMap(G,R,T,y,ne),Y.addValue(x[ne],Z,M,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===I){v in R||(R[v]={}),w.createNodeMap(C[I],R,v,y);continue}if("@included"===I){w.createNodeMap(C[I],R,T,y);continue}if("@type"!==I&&K(I)){if("@index"===I&&I in A&&(C[I]!==A[I]||C[I]["@id"]!==A[I]["@id"]))throw new L("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:A});A[I]=C[I];continue}const H=C[I];if(0===I.indexOf("_:")&&(I=y.getId(I)),0!==H.length)for(let M of H)if("@type"===I&&(M=0===M.indexOf("_:")?y.getId(M):M),V.isSubject(M)||V.isSubjectReference(M)){if("@id"in M&&!M["@id"])continue;const P=V.isBlankNode(M)?y.getId(M["@id"]):M["@id"];Y.addValue(A,I,{"@id":P},{propertyIsArray:!0,allowDuplicate:!1}),w.createNodeMap(M,R,T,y,P)}else if(V.isValue(M))Y.addValue(A,I,M,{propertyIsArray:!0,allowDuplicate:!1});else if(V.isList(M)){const P=[];w.createNodeMap(M["@list"],R,T,y,v,P),M={"@list":P},Y.addValue(A,I,M,{propertyIsArray:!0,allowDuplicate:!1})}else w.createNodeMap(M,R,T,y,v),Y.addValue(A,I,M,{propertyIsArray:!0,allowDuplicate:!1});else Y.addValue(A,I,[],{propertyIsArray:!0})}},w.mergeNodeMapGraphs=C=>{const R={};for(const T of Object.keys(C).sort())for(const y of Object.keys(C[T]).sort()){const v=C[T][y];y in R||(R[y]={"@id":y});const b=R[y];for(const x of Object.keys(v).sort())if(K(x)&&"@type"!==x)b[x]=Y.clone(v[x]);else for(const A of v[x])Y.addValue(b,x,Y.clone(A),{propertyIsArray:!0,allowDuplicate:!1})}return R},w.mergeNodeMaps=C=>{const R=C["@default"],T=Object.keys(C).sort();for(const y of T){if("@default"===y)continue;const v=C[y];let b=R[y];b?"@graph"in b||(b["@graph"]=[]):R[y]=b={"@id":y,"@graph":[]};const x=b["@graph"];for(const A of Object.keys(v).sort()){const E=v[A];V.isSubjectReference(E)||x.push(E)}}return R}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(Q,we,fe){"use strict";const K=Q("./documentLoaders/xhr"),V={};we.exports=V,V.setupDocumentLoaders=function(F){"undefined"!=typeof XMLHttpRequest&&(F.documentLoaders.xhr=K,F.useDocumentLoader("xhr"))},V.setupGlobals=function(F){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:F.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(Q,we,fe){"use strict";const{createNodeMap:K}=Q("./nodeMap"),{isKeyword:V}=Q("./context"),F=Q("./graphTypes"),Y=Q("canonicalize"),L=Q("./types"),w=Q("./util"),{RDF_FIRST:C,RDF_REST:R,RDF_NIL:T,RDF_TYPE:y,RDF_JSON_LITERAL:v,RDF_LANGSTRING:b,XSD_BOOLEAN:x,XSD_DOUBLE:A,XSD_INTEGER:E,XSD_STRING:I}=Q("./constants"),{isAbsolute:H}=Q("./url"),M={};function P(G,ne,ce,se,te){const Ie=Object.keys(ne).sort();for(const ye of Ie){const re=ne[ye],ve=Object.keys(re).sort();for(let Fe of ve){const Qe=re[Fe];if("@type"===Fe)Fe=y;else if(V(Fe))continue;for(const He of Qe){const J={termType:ye.startsWith("_:")?"BlankNode":"NamedNode",value:ye};if(!H(ye))continue;const ae={termType:Fe.startsWith("_:")?"BlankNode":"NamedNode",value:Fe};if(!H(Fe)||"BlankNode"===ae.termType&&!te.produceGeneralizedRdf)continue;const _e=S(He,se,G,ce,te.rdfDirection);_e&&G.push({subject:J,predicate:ae,object:_e,graph:ce})}}}}function S(G,ne,ce,se,te){const Ie={};if(F.isValue(G)){Ie.termType="Literal",Ie.value=void 0,Ie.datatype={termType:"NamedNode"};let ye=G["@value"];const re=G["@type"]||null;"@json"===re?(Ie.value=Y(ye),Ie.datatype.value=v):L.isBoolean(ye)?(Ie.value=ye.toString(),Ie.datatype.value=re||x):L.isDouble(ye)||re===A?(L.isDouble(ye)||(ye=parseFloat(ye)),Ie.value=ye.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Ie.datatype.value=re||A):L.isNumber(ye)?(Ie.value=ye.toFixed(0),Ie.datatype.value=re||E):"i18n-datatype"===te&&"@direction"in G?(Ie.datatype.value="https://www.w3.org/ns/i18n#"+(G["@language"]||"")+`_${G["@direction"]}`,Ie.value=ye):"@language"in G?(Ie.value=ye,Ie.datatype.value=re||b,Ie.language=G["@language"]):(Ie.value=ye,Ie.datatype.value=re||I)}else if(F.isList(G)){const ye=function(G,ne,ce,se,te){const Ie={termType:"NamedNode",value:C},ye={termType:"NamedNode",value:R},re={termType:"NamedNode",value:T},ve=G.pop(),Fe=ve?{termType:"BlankNode",value:ne.getId()}:re;let Qe=Fe;for(const He of G){const J=S(He,ne,ce,se,te),ae={termType:"BlankNode",value:ne.getId()};ce.push({subject:Qe,predicate:Ie,object:J,graph:se}),ce.push({subject:Qe,predicate:ye,object:ae,graph:se}),Qe=ae}if(ve){const He=S(ve,ne,ce,se,te);ce.push({subject:Qe,predicate:Ie,object:He,graph:se}),ce.push({subject:Qe,predicate:ye,object:re,graph:se})}return Fe}(G["@list"],ne,ce,se,te);Ie.termType=ye.termType,Ie.value=ye.value}else{const ye=L.isObject(G)?G["@id"]:G;Ie.termType=ye.startsWith("_:")?"BlankNode":"NamedNode",Ie.value=ye}return"NamedNode"!==Ie.termType||H(Ie.value)?Ie:null}we.exports=M,M.toRDF=(G,ne)=>{const ce=new w.IdentifierIssuer("_:b"),se={"@default":{}};K(G,se,"@default",ce);const te=[],Ie=Object.keys(se).sort();for(const ye of Ie){let re;if("@default"===ye)re={termType:"DefaultGraph",value:""};else{if(!H(ye))continue;re=ye.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},re.value=ye}P(te,se[ye],re,ce,ne)}return te}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(Q,we,fe){"use strict";const K={};we.exports=K,K.isArray=Array.isArray,K.isBoolean=V=>"boolean"==typeof V||"[object Boolean]"===Object.prototype.toString.call(V),K.isDouble=V=>K.isNumber(V)&&(-1!==String(V).indexOf(".")||Math.abs(V)>=1e21),K.isEmptyObject=V=>K.isObject(V)&&0===Object.keys(V).length,K.isNumber=V=>"number"==typeof V||"[object Number]"===Object.prototype.toString.call(V),K.isNumeric=V=>!isNaN(parseFloat(V))&&isFinite(V),K.isObject=V=>"[object Object]"===Object.prototype.toString.call(V),K.isString=V=>"string"==typeof V||"[object String]"===Object.prototype.toString.call(V),K.isUndefined=V=>void 0===V},{}],31:[function(Q,we,fe){"use strict";const K=Q("./types"),V={};we.exports=V,V.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},V.parse=(Y,L)=>{const w={},C=V.parsers[L||"full"],R=C.regex.exec(Y);let T=C.keys.length;for(;T--;)w[C.keys[T]]=void 0===R[T]?null:R[T];return("https"===w.scheme&&"443"===w.port||"http"===w.scheme&&"80"===w.port)&&(w.href=w.href.replace(":"+w.port,""),w.authority=w.authority.replace(":"+w.port,""),w.port=null),w.normalizedPath=V.removeDotSegments(w.path),w},V.prependBase=(Y,L)=>{if(null===Y||V.isAbsolute(L))return L;(!Y||K.isString(Y))&&(Y=V.parse(Y||""));const w=V.parse(L),C={protocol:Y.protocol||""};if(null!==w.authority)C.authority=w.authority,C.path=w.path,C.query=w.query;else if(C.authority=Y.authority,""===w.path)C.path=Y.path,C.query=null!==w.query?w.query:Y.query;else{if(0===w.path.indexOf("/"))C.path=w.path;else{let T=Y.path;T=T.substr(0,T.lastIndexOf("/")+1),(T.length>0||Y.authority)&&"/"!==T.substr(-1)&&(T+="/"),T+=w.path,C.path=T}C.query=w.query}""!==w.path&&(C.path=V.removeDotSegments(C.path));let R=C.protocol;return null!==C.authority&&(R+="//"+C.authority),R+=C.path,null!==C.query&&(R+="?"+C.query),null!==w.fragment&&(R+="#"+w.fragment),""===R&&(R="./"),R},V.removeBase=(Y,L)=>{if(null===Y)return L;(!Y||K.isString(Y))&&(Y=V.parse(Y||""));let w="";if(""!==Y.href?w+=(Y.protocol||"")+"//"+(Y.authority||""):L.indexOf("//")&&(w+="//"),0!==L.indexOf(w))return L;const C=V.parse(L.substr(w.length)),R=Y.normalizedPath.split("/"),T=C.normalizedPath.split("/"),y=C.fragment||C.query?0:1;for(;R.length>0&&T.length>y&&R[0]===T[0];)R.shift(),T.shift();let v="";if(R.length>0){R.pop();for(let b=0;b{if(0===Y.length)return"";const L=Y.split("/"),w=[];for(;L.length>0;){const C=L.shift(),R=0===L.length;"."!==C?".."!==C?w.push(C):(w.pop(),R&&w.push("")):R&&w.push("")}return"/"===Y[0]&&w.length>0&&""!==w[0]&&w.unshift(""),1===w.length&&""===w[0]?"/":w.join("/")};const F=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;V.isAbsolute=Y=>K.isString(Y)&&F.test(Y),V.isRelative=Y=>K.isString(Y)},{"./types":30}],32:[function(Q,we,fe){"use strict";const K=Q("./graphTypes"),V=Q("./types"),F=Q("rdf-canonize").IdentifierIssuer,Y=Q("./JsonLdError"),L=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,w=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,C=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,R_headers={accept:"application/ld+json, application/json"},T={};function y(v,b){if(V.isArray(b))for(let x=0;x{if(Object.keys(v).some(x=>"accept"===x.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+R_headers.accept+'" is supported.');return Object.assign({Accept:R_headers.accept},v)},T.parseLinkHeader=v=>{const b={},x=v.match(L);for(let A=0;A{if(!(V.isString(v)||V.isArray(v)&&v.every(x=>V.isString(x)))){if(b&&V.isObject(v))switch(Object.keys(v).length){case 0:return;case 1:if("@default"in v&&T.asArray(v["@default"]).every(x=>V.isString(x)))return}throw new Y('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:v})}},T.hasProperty=(v,b)=>{if(v.hasOwnProperty(b)){const x=v[b];return!V.isArray(x)||x.length>0}return!1},T.hasValue=(v,b,x)=>{if(T.hasProperty(v,b)){let A=v[b];const E=K.isList(A);if(V.isArray(A)||E){E&&(A=A["@list"]);for(let I=0;I{if("propertyIsArray"in(A=A||{})||(A.propertyIsArray=!1),"valueIsArray"in A||(A.valueIsArray=!1),"allowDuplicate"in A||(A.allowDuplicate=!0),"prependValue"in A||(A.prependValue=!1),A.valueIsArray)v[b]=x;else if(V.isArray(x)){0===x.length&&A.propertyIsArray&&!v.hasOwnProperty(b)&&(v[b]=[]),A.prependValue&&(x=x.concat(v[b]),v[b]=[]);for(let E=0;E[].concat(v[b]||[]),T.removeProperty=(v,b)=>{delete v[b]},T.removeValue=(v,b,x,A)=>{"propertyIsArray"in(A=A||{})||(A.propertyIsArray=!1);const E=T.getValues(v,b).filter(I=>!T.compareValues(I,x));0===E.length?T.removeProperty(v,b):v[b]=1!==E.length||A.propertyIsArray?E:E[0]},T.relabelBlankNodes=(v,b)=>y((b=b||{}).issuer||new F("_:b"),v),T.compareValues=(v,b)=>!!(v===b||K.isValue(v)&&K.isValue(b)&&v["@value"]===b["@value"]&&v["@type"]===b["@type"]&&v["@language"]===b["@language"]&&v["@index"]===b["@index"])||!!(V.isObject(v)&&"@id"in v&&V.isObject(b)&&"@id"in b)&&v["@id"]===b["@id"],T.compareShortestLeast=(v,b)=>v.length1;const A=(Z,S,G)=>{const ne=Z[y].get(S);if(ne){const ce=ne.value;if(E(Z,ce)){if(H(Z,ne),!Z[L])return}else G&&(Z[v]&&(ne.value.now=Date.now()),Z[T].unshiftNode(ne));return ce.value}},E=(Z,S)=>{if(!S||!S.maxAge&&!Z[w])return!1;const G=Date.now()-S.now;return S.maxAge?G>S.maxAge:Z[w]&&G>Z[w]},I=Z=>{if(Z[F]>Z[V])for(let S=Z[T].tail;Z[F]>Z[V]&&null!==S;){const G=S.prev;H(Z,S),S=G}},H=(Z,S)=>{if(S){const G=S.value;Z[C]&&Z[C](G.key,G.value),Z[F]-=G.length,Z[y].delete(G.key),Z[T].removeNode(S)}};class M{constructor(S,G,ne,ce,se){this.key=S,this.value=G,this.length=ne,this.now=ce,this.maxAge=se||0}}const P=(Z,S,G,ne)=>{let ce=G.value;E(Z,ce)&&(H(Z,G),Z[L]||(ce=void 0)),ce&&S.call(ne,ce.value,ce.key,Z)};we.exports=class{constructor(S){if("number"==typeof S&&(S={max:S}),S||(S={}),S.max&&("number"!=typeof S.max||S.max<0))throw new TypeError("max must be a non-negative number");this[V]=S.max||1/0;const ne=S.length||b;if(this[Y]="function"!=typeof ne?b:ne,this[L]=S.stale||!1,S.maxAge&&"number"!=typeof S.maxAge)throw new TypeError("maxAge must be a number");this[w]=S.maxAge||0,this[C]=S.dispose,this[R]=S.noDisposeOnSet||!1,this[v]=S.updateAgeOnGet||!1,this.reset()}set max(S){if("number"!=typeof S||S<0)throw new TypeError("max must be a non-negative number");this[V]=S||1/0,I(this)}get max(){return this[V]}set allowStale(S){this[L]=!!S}get allowStale(){return this[L]}set maxAge(S){if("number"!=typeof S)throw new TypeError("maxAge must be a non-negative number");this[w]=S,I(this)}get maxAge(){return this[w]}set lengthCalculator(S){"function"!=typeof S&&(S=b),S!==this[Y]&&(this[Y]=S,this[F]=0,this[T].forEach(G=>{G.length=this[Y](G.value,G.key),this[F]+=G.length})),I(this)}get lengthCalculator(){return this[Y]}get length(){return this[F]}get itemCount(){return this[T].length}rforEach(S,G){G=G||this;for(let ne=this[T].tail;null!==ne;){const ce=ne.prev;P(this,S,ne,G),ne=ce}}forEach(S,G){G=G||this;for(let ne=this[T].head;null!==ne;){const ce=ne.next;P(this,S,ne,G),ne=ce}}keys(){return this[T].toArray().map(S=>S.key)}values(){return this[T].toArray().map(S=>S.value)}reset(){this[C]&&this[T]&&this[T].length&&this[T].forEach(S=>this[C](S.key,S.value)),this[y]=new Map,this[T]=new K,this[F]=0}dump(){return this[T].map(S=>!E(this,S)&&{k:S.key,v:S.value,e:S.now+(S.maxAge||0)}).toArray().filter(S=>S)}dumpLru(){return this[T]}set(S,G,ne){if((ne=ne||this[w])&&"number"!=typeof ne)throw new TypeError("maxAge must be a number");const ce=ne?Date.now():0,se=this[Y](G,S);if(this[y].has(S)){if(se>this[V])return H(this,this[y].get(S)),!1;const ye=this[y].get(S).value;return this[C]&&(this[R]||this[C](S,ye.value)),ye.now=ce,ye.maxAge=ne,ye.value=G,this[F]+=se-ye.length,ye.length=se,this.get(S),I(this),!0}const te=new M(S,G,se,ce,ne);return te.length>this[V]?(this[C]&&this[C](S,G),!1):(this[F]+=te.length,this[T].unshift(te),this[y].set(S,this[T].head),I(this),!0)}has(S){if(!this[y].has(S))return!1;const G=this[y].get(S).value;return!E(this,G)}get(S){return A(this,S,!0)}peek(S){return A(this,S,!1)}pop(){const S=this[T].tail;return S?(H(this,S),S.value):null}del(S){H(this,this[y].get(S))}load(S){this.reset();const G=Date.now();for(let ne=S.length-1;ne>=0;ne--){const ce=S[ne],se=ce.e||0;if(0===se)this.set(ce.k,ce.v);else{const te=se-G;te>0&&this.set(ce.k,ce.v,te)}}}prune(){this[y].forEach((S,G)=>A(this,G,!1))}}},{yallist:92}],34:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.default=void 0;const K="http://www.w3.org/1999/02/22-rdf-syntax-ns#",V="http://www.w3.org/2001/XMLSchema#",F="http://www.w3.org/2000/10/swap/";fe.default={xsd:{decimal:`${V}decimal`,boolean:`${V}boolean`,double:`${V}double`,integer:`${V}integer`,string:`${V}string`},rdf:{type:`${K}type`,nil:`${K}nil`,first:`${K}first`,rest:`${K}rest`,langString:`${K}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${F}reify#forSome`,forAll:`${F}reify#forAll`},log:{implies:`${F}log#implies`}}},{}],35:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.default=fe.Variable=fe.Triple=fe.Term=fe.Quad=fe.NamedNode=fe.Literal=fe.DefaultGraph=fe.BlankNode=void 0,fe.escapeQuotes=S,fe.termFromId=function M(re,ve){if(ve=ve||y,!re)return ve.defaultGraph();switch(re[0]){case"?":return ve.variable(re.substr(1));case"_":return ve.blankNode(re.substr(2));case'"':if(ve===y)return new A(re);if('"'===re[re.length-1])return ve.literal(re.substr(1,re.length-2));const Fe=re.lastIndexOf('"',re.length-1);return ve.literal(re.substr(1,Fe-1),"@"===re[Fe+1]?re.substr(Fe+2):ve.namedNode(re.substr(Fe+3)));case"<":const Qe=T.exec(re);return ve.quad(M(G(Qe[1]),ve),M(G(Qe[2]),ve),M(G(Qe[3]),ve),Qe[4]&&M(G(Qe[4]),ve));default:return ve.namedNode(re)}},fe.termToId=function P(re){if("string"==typeof re)return re;if(re instanceof b&&"Quad"!==re.termType)return re.id;if(!re)return w.id;switch(re.termType){case"NamedNode":return re.value;case"BlankNode":return`_:${re.value}`;case"Variable":return`?${re.value}`;case"DefaultGraph":return"";case"Literal":return`"${re.value}"${re.language?`@${re.language}`:re.datatype&&re.datatype.value!==L.string?`^^${re.datatype.value}`:""}`;case"Quad":return`<<${S(P(re.subject))} ${S(P(re.predicate))} ${S(P(re.object))}${(0,V.isDefaultGraph)(re.graph)?"":` ${P(re.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${re.termType}`)}},fe.unescapeQuotes=G;var re,K=(re=Q("./IRIs"))&&re.__esModule?re:{default:re},V=Q("./N3Util");const{rdf:Y,xsd:L}=K.default;let w,C=0;const R=/^"(.*".*)(?="[^"]*$)/,T=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,y={namedNode:function(re){return new x(re)},blankNode:function(re){return new E(re||"n3-"+C++)},variable:function(re){return new I(re)},literal:function(re,ve){if("string"==typeof ve)return new A(`"${re}"@${ve.toLowerCase()}`);let Fe=ve?ve.value:"";return""===Fe&&("boolean"==typeof re?Fe=L.boolean:"number"==typeof re&&(Number.isFinite(re)?Fe=Number.isInteger(re)?L.integer:L.double:(Fe=L.double,Number.isNaN(re)||(re=re>0?"INF":"-INF")))),new A(""===Fe||Fe===L.string?`"${re}"`:`"${re}"^^${Fe}`)},defaultGraph:function(){return w},quad:ye,triple:ye};fe.default=y;class b{constructor(ve){this.id=ve}get value(){return this.id}equals(ve){return ve instanceof b?this.id===ve.id:!!ve&&this.termType===ve.termType&&this.value===ve.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}fe.Term=b;class x extends b{get termType(){return"NamedNode"}}fe.NamedNode=x;class A extends b{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const ve=this.id;let Fe=ve.lastIndexOf('"')+1;return Fe`"${Fe.replace(/"/g,'""')}`)}function G(re){return re.replace(R,(ve,Fe)=>`"${Fe.replace(/""/g,'"')}`)}function ye(re,ve,Fe,Qe){return new Z(re,ve,Fe,Qe)}fe.Triple=fe.Quad=Z},{"./IRIs":34,"./N3Util":41}],36:[function(Q,we,fe){(function(K){(function(){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.default=void 0;var V=Y(Q("./IRIs")),F=Y(Q("queue-microtask"));function Y(b){return b&&b.__esModule?b:{default:b}}const{xsd:L}=V.default,w=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,C={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},R=/[\x00-\x20<>\\"\{\}\|\^\`]/,T={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},y=/$0^/;fe.default=class{constructor(x){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(x=x||{}).lineMode){this._n3Mode=!1;for(const A in this)!(A in T)&&this[A]instanceof RegExp&&(this[A]=y)}else this._n3Mode=!1!==x.n3;this._comments=!!x.comments,this._literalClosingPos=0}_tokenizeToEnd(x,A){let E=this._input,I=E.length;for(;;){let P,Z;for(;P=this._newline.exec(E);)this._comments&&(Z=this._comment.exec(P[0]))&&H("comment",Z[1],"",this._line,P[0].length),E=E.substr(P[0].length,E.length),I=E.length,this._line++;if(!P&&(P=this._whitespace.exec(E))&&(E=E.substr(P[0].length,E.length)),this._endOfFile.test(E))return A&&(this._comments&&(Z=this._comment.exec(E))&&H("comment",Z[1],"",this._line,E.length),E=null,H("eof","","",this._line,0)),this._input=E;const S=this._line,G=E[0];let ne="",ce="",se="",te=null,Ie=0,ye=!1;switch(G){case"^":if(E.length<3)break;if("^"!==E[1]){this._n3Mode&&(Ie=1,ne="^");break}if(this._previousMarker="^^",E=E.substr(2),"<"!==E[0]){ye=!0;break}case"<":if(te=this._unescapedIri.exec(E))ne="IRI",ce=te[1];else if(te=this._iri.exec(E)){if(ce=this._unescape(te[1]),null===ce||R.test(ce))return M(this);ne="IRI"}else E.length>1&&"<"===E[1]?(ne="<<",Ie=2):this._n3Mode&&E.length>1&&"="===E[1]&&(ne="inverse",Ie=2,ce=">");break;case">":E.length>1&&">"===E[1]&&(ne=">>",Ie=2);break;case"_":((te=this._blank.exec(E))||A&&(te=this._blank.exec(`${E} `)))&&(ne="blank",se="_",ce=te[1]);break;case'"':if(te=this._simpleQuotedString.exec(E))ce=te[1];else if(({value:ce,matchLength:Ie}=this._parseLiteral(E)),null===ce)return M(this);(null!==te||0!==Ie)&&(ne="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(te=this._simpleApostropheString.exec(E))ce=te[1];else if(({value:ce,matchLength:Ie}=this._parseLiteral(E)),null===ce)return M(this);(null!==te||0!==Ie)&&(ne="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(te=this._variable.exec(E))&&(ne="var",ce=te[0]);break;case"@":"literal"===this._previousMarker&&(te=this._langcode.exec(E))?(ne="langcode",ce=te[1]):(te=this._keyword.exec(E))&&(ne=te[0]);break;case".":if(1===E.length?A:E[1]<"0"||E[1]>"9"){ne=".",Ie=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(te=this._number.exec(E)||A&&(te=this._number.exec(`${E} `)))&&(ne="literal",ce=te[0],se="string"==typeof te[1]?L.double:"string"==typeof te[2]?L.decimal:L.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(te=this._sparqlKeyword.exec(E))?ne=te[0].toUpperCase():ye=!0;break;case"f":case"t":(te=this._boolean.exec(E))?(ne="literal",ce=te[0],se=L.boolean):ye=!0;break;case"a":(te=this._shortPredicates.exec(E))?(ne="abbreviation",ce="a"):ye=!0;break;case"=":this._n3Mode&&E.length>1&&(ne="abbreviation",">"!==E[1]?(Ie=1,ce="="):(Ie=2,ce=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(Ie=1,ne=G);break;default:ye=!0}if(ye&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(te=this._prefix.exec(E))?((te=this._prefixed.exec(E))||A&&(te=this._prefixed.exec(`${E} `)))&&(ne="prefixed",se=te[1]||"",ce=this._unescape(te[2])):(ne="prefix",ce=te[1]||"")),"^^"===this._previousMarker)switch(ne){case"prefixed":ne="type";break;case"IRI":ne="typeIRI";break;default:ne=""}if(!ne)return A||!/^'''|^"""/.test(E)&&/\n|\r/.test(E)?M(this):this._input=E;const re=Ie||te[0].length,ve=H(ne,ce,se,S,re);this.previousToken=ve,this._previousMarker=ne,E=E.substr(re,E.length)}function H(P,Z,S,G,ne){const ce=E?I-E.length:I,te={type:P,value:Z,prefix:S,line:G,start:ce,end:ce+ne};return x(null,te),te}function M(P){x(P._syntaxError(/^\S*/.exec(E)[0]))}}_unescape(x){let A=!1;const E=x.replace(w,(I,H,M,P)=>{if("string"==typeof H)return String.fromCharCode(Number.parseInt(H,16));if("string"==typeof M){let Z=Number.parseInt(M,16);return Z<=65535?String.fromCharCode(Number.parseInt(M,16)):String.fromCharCode(55296+((Z-=65536)>>10),56320+(1023&Z))}return P in C?C[P]:(A=!0,"")});return A?null:E}_parseLiteral(x){if(x.length>=3){const A=x.match(/^(?:"""|"|'''|'|)/)[0],E=A.length;let I=Math.max(this._literalClosingPos,E);for(;(I=x.indexOf(A,I))>0;){let H=0;for(;"\\"===x[I-H-1];)H++;if(H%2==0){const M=x.substring(E,I),P=M.split(/\r\n|\r|\n/).length-1,Z=I+E;if(1===E&&0!==P||3===E&&this._lineMode)break;return this._line+=P,{value:this._unescape(M),matchLength:Z}}I++}this._literalClosingPos=x.length-E+1}return{value:"",matchLength:0}}_syntaxError(x){this._input=null;const A=new Error(`Unexpected "${x}" on line ${this._line}.`);return A.context={token:void 0,line:this._line,previousToken:this.previousToken},A}_readStartingBom(x){return x.startsWith("\ufeff")?x.substr(1):x}tokenize(x,A){if(this._line=1,"string"==typeof x){if(this._input=this._readStartingBom(x),"function"!=typeof A){const E=[];let I;if(this._tokenizeToEnd((H,M)=>H?I=H:E.push(M),!0),I)throw I;return E}(0,F.default)(()=>this._tokenizeToEnd(A,!0))}else this._pendingBuffer=null,"function"==typeof x.setEncoding&&x.setEncoding("utf8"),x.on("data",E=>{null!==this._input&&0!==E.length&&(this._pendingBuffer&&(E=K.concat([this._pendingBuffer,E]),this._pendingBuffer=null),128&E[E.length-1]?this._pendingBuffer=E:(void 0===this._input?this._input=this._readStartingBom("string"==typeof E?E:E.toString()):this._input+=E,this._tokenizeToEnd(A,!1)))}),x.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(A,!0)}),x.on("error",A)}}}).call(this)}).call(this,Q("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.default=void 0;var K=Y(Q("./N3Lexer")),V=Y(Q("./N3DataFactory")),F=Y(Q("./IRIs"));function Y(T){return T&&T.__esModule?T:{default:T}}let L=0;class w{constructor(y){this._contextStack=[],this._graph=null,this._setBase((y=y||{}).baseIRI),y.factory&&R(this,y.factory);const v="string"==typeof y.format?y.format.match(/\w*$/)[0].toLowerCase():"",b=/turtle/.test(v),x=/trig/.test(v),A=/triple/.test(v),E=/quad/.test(v),I=this._n3Mode=/n3/.test(v),H=A||E;(this._supportsNamedGraphs=!(b||I))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(b||x||A||I),this._supportsRDFStar=""===v||/star|\*$/.test(v),H&&(this._resolveRelativeIRI=M=>null),this._blankNodePrefix="string"!=typeof y.blankNodePrefix?"":y.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=y.lexer||new K.default({lineMode:H,n3:I}),this._explicitQuantifiers=!!y.explicitQuantifiers}static _resetBlankNodePrefix(){L=0}_setBase(y){if(y){const v=y.indexOf("#");v>=0&&(y=y.substr(0,v)),this._base=y,this._basePath=y.indexOf("/")<0?y:y.replace(/[^\/?]*(?:\?.*)?$/,""),y=y.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=y[0],this._baseScheme=y[1]}else this._base="",this._basePath=""}_saveContext(y,v,b,x,A){const E=this._n3Mode;this._contextStack.push({subject:b,predicate:x,object:A,graph:v,type:y,inverse:!!E&&this._inversePredicate,blankPrefix:E?this._prefixes._:"",quantified:E?this._quantified:null}),E&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const y=this._contextStack.pop(),v=this._n3Mode;this._subject=y.subject,this._predicate=y.predicate,this._object=y.object,this._graph=y.graph,v&&(this._inversePredicate=y.inverse,this._prefixes._=y.blankPrefix,this._quantified=y.quantified)}_readInTopContext(y){switch(y.type){case"eof":return null!==this._graph?this._error("Unclosed graph",y):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(y)}}_readEntity(y,v){let b;switch(y.type){case"IRI":case"typeIRI":const x=this._resolveIRI(y.value);if(null===x)return this._error("Invalid IRI",y);b=this._namedNode(x);break;case"type":case"prefixed":const A=this._prefixes[y.prefix];if(void 0===A)return this._error(`Undefined prefix "${y.prefix}:"`,y);b=this._namedNode(A+y.value);break;case"blank":b=this._blankNode(this._prefixes[y.prefix]+y.value);break;case"var":b=this._variable(y.value.substr(1));break;default:return this._error(`Expected entity but got ${y.type}`,y)}return!v&&this._n3Mode&&b.id in this._quantified&&(b=this._quantified[b.id]),b}_readSubject(y){switch(this._predicate=null,y.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",y);case"}":return this._readPunctuation(y);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',y);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',y);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",y);if(0===y.prefix.length)return this._literalValue=y.value,this._completeSubjectLiteral;this._subject=this._literal(y.value,this._namedNode(y.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",y);default:if(void 0===(this._subject=this._readEntity(y)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(y){const v=y.type;switch(v){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[y.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${v}`,y):(this._subject=null,"]"===v?this._readBlankNodeTail(y):this._readPunctuation(y));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",y);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",y);default:if(void 0===(this._predicate=this._readEntity(y)))return}return this._readObject}_readObject(y){switch(y.type){case"literal":if(0===y.prefix.length)return this._literalValue=y.value,this._readDataTypeOrLang;this._object=this._literal(y.value,this._namedNode(y.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",y);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",y);default:if(void 0===(this._object=this._readEntity(y)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(y){return"{"===y.type?this._readGraph(y):this._readPredicate(y)}_readGraph(y){return"{"!==y.type?this._error(`Expected graph but got ${y.type}`,y):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(y){return"]"===y.type?(this._subject=null,this._readBlankNodeTail(y)):(this._predicate=null,this._readPredicate(y))}_readBlankNodeTail(y){if("]"!==y.type)return this._readBlankNodePunctuation(y);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const v=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:v?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(y){switch(y.type){case".":case"}":return this._subject=null,this._readPunctuation(y);default:return this._readPredicate(y)}}_readListItem(y){let v=null,b=null,x=this._readListItem;const A=this._subject,E=this._contextStack,I=E[E.length-1];switch(y.type){case"[":this._saveContext("blank",this._graph,b=this._blankNode(),this.RDF_FIRST,this._subject=v=this._blankNode()),x=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,b=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==E.length&&"list"===E[E.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(x=this._readPredicate,this._subject===this.RDF_NIL)return x}else if(x=this._getContextEndReader(),this._object===this.RDF_NIL)return x;b=this.RDF_NIL;break;case"literal":0===y.prefix.length?(this._literalValue=y.value,x=this._readListItemDataTypeOrLang):(v=this._literal(y.value,this._namedNode(y.prefix)),x=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",y);default:if(void 0===(v=this._readEntity(y)))return}if(null===b&&(this._subject=b=this._blankNode()),null===A?null===I.predicate?I.subject=b:I.object=b:this._emit(A,this.RDF_REST,b,this._graph),null!==v){if(this._n3Mode&&("IRI"===y.type||"prefixed"===y.type))return this._saveContext("item",this._graph,b,this.RDF_FIRST,v),this._subject=v,this._predicate=null,this._getPathReader(this._readListItem);this._emit(b,this.RDF_FIRST,v,this._graph)}return x}_readDataTypeOrLang(y){return this._completeObjectLiteral(y,!1)}_readListItemDataTypeOrLang(y){return this._completeObjectLiteral(y,!0)}_completeLiteral(y){let v=this._literal(this._literalValue);switch(y.type){case"type":case"typeIRI":const b=this._readEntity(y);if(void 0===b)return;v=this._literal(this._literalValue,b),y=null;break;case"langcode":v=this._literal(this._literalValue,y.value),y=null}return{token:y,literal:v}}_completeSubjectLiteral(y){return this._subject=this._completeLiteral(y).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(y,v){const b=this._completeLiteral(y);if(b)return this._object=b.literal,v&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===b.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(b.token))}_readFormulaTail(y){return"}"!==y.type?this._readPunctuation(y):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(y){let v,b=this._graph;const x=this._subject,A=this._inversePredicate;switch(y.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",y);if(this._n3Mode)return this._readFormulaTail(y);this._graph=null;case".":this._subject=null,v=this._contextStack.length?this._readSubject:this._readInTopContext,A&&(this._inversePredicate=!1);break;case";":v=this._readPredicate;break;case",":v=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(b=this._readEntity(y))){v=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,y)}if(null!==x){const E=this._predicate,I=this._object;A?this._emit(I,E,x,b):this._emit(x,E,I,b)}return v}_readBlankNodePunctuation(y){let v;switch(y.type){case";":v=this._readPredicate;break;case",":v=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,y)}return this._emit(this._subject,this._predicate,this._object,this._graph),v}_readQuadPunctuation(y){return"."!==y.type?this._error("Expected dot to follow quad",y):this._readInTopContext}_readPrefix(y){return"prefix"!==y.type?this._error("Expected prefix to follow @prefix",y):(this._prefix=y.value,this._readPrefixIRI)}_readPrefixIRI(y){if("IRI"!==y.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,y);const v=this._readEntity(y);return this._prefixes[this._prefix]=v.value,this._prefixCallback(this._prefix,v),this._readDeclarationPunctuation}_readBaseIRI(y){const v="IRI"===y.type&&this._resolveIRI(y.value);return v?(this._setBase(v),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",y)}_readNamedGraphLabel(y){switch(y.type){case"IRI":case"blank":case"prefixed":return this._readSubject(y),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",y)}}_readNamedGraphBlankLabel(y){return"]"!==y.type?this._error("Invalid graph label",y):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(y){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(y)):"."!==y.type?this._error("Expected declaration to end with a dot",y):this._readInTopContext}_readQuantifierList(y){let v;switch(y.type){case"IRI":case"prefixed":if(void 0!==(v=this._readEntity(y,!0)))break;default:return this._error(`Unexpected ${y.type}`,y)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,v,this.QUANTIFIERS_GRAPH)):this._quantified[v.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(y){return","===y.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(y))}_getPathReader(y){return this._afterPath=y,this._readPath}_readPath(y){switch(y.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const v=this._contextStack,b=v.length&&v[v.length-1];if(b&&"item"===b.type){const x=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,x,this._graph)}return this._afterPath(y)}}_readForwardPath(y){let v,b;const x=this._blankNode();if(void 0!==(b=this._readEntity(y)))return null===this._predicate?(v=this._subject,this._subject=x):(v=this._object,this._object=x),this._emit(v,b,x,this._graph),this._readPath}_readBackwardPath(y){const v=this._blankNode();let b,x;if(void 0!==(b=this._readEntity(y)))return null===this._predicate?(x=this._subject,this._subject=v):(x=this._object,this._object=v),this._emit(v,b,x,this._graph),this._readPath}_readRDFStarTailOrGraph(y){return">>"!==y.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(y))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,y):this._readRDFStarTail(y)}_readRDFStarTail(y){if(">>"!==y.type)return this._error(`Expected >> but got ${y.type}`,y);const v=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=v,this._readPredicate):(this._object=v,this._getContextEndReader())}_getContextEndReader(){const y=this._contextStack;if(!y.length)return this._readPunctuation;switch(y[y.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(y,v,b,x){this._callback(null,this._quad(y,v,b,x||this.DEFAULTGRAPH))}_error(y,v){const b=new Error(`${y} on line ${v.line}.`);b.context={token:v,line:v.line,previousToken:this._lexer.previousToken},this._callback(b),this._callback=C}_resolveIRI(y){return/^[a-z][a-z0-9+.-]*:/i.test(y)?y:this._resolveRelativeIRI(y)}_resolveRelativeIRI(y){if(!y.length)return this._base;switch(y[0]){case"#":return this._base+y;case"?":return this._base.replace(/(?:\?.*)?$/,y);case"/":return("/"===y[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(y);default:return/^[^/:]*:/.test(y)?null:this._removeDotSegments(this._basePath+y)}}_removeDotSegments(y){if(!/(^|\/)\.\.?($|[/#?])/.test(y))return y;const v=y.length;let b="",x=-1,A=-1,E=0,I="/";for(;x=A&&(b=b.substr(0,E)),"/"!==I)return`${b}/${y.substr(x+1)}`;E=x+1}}}I=y[++x]}return b+y.substring(E)}parse(y,v,b){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${L++}_`,this._prefixCallback=b||C,this._inversePredicate=!1,this._quantified=Object.create(null),!v){const x=[];let A;if(this._callback=(E,I)=>{E?A=E:I&&x.push(I)},this._lexer.tokenize(y).every(E=>this._readCallback=this._readCallback(E)),A)throw A;return x}this._callback=v,this._lexer.tokenize(y,(x,A)=>{null!==x?(this._callback(x),this._callback=C):this._readCallback&&(this._readCallback=this._readCallback(A))})}}function C(){}function R(T,y){const v=y.namedNode;T._namedNode=v,T._blankNode=y.blankNode,T._literal=y.literal,T._variable=y.variable,T._quad=y.quad,T.DEFAULTGRAPH=y.defaultGraph(),T.RDF_FIRST=v(F.default.rdf.first),T.RDF_REST=v(F.default.rdf.rest),T.RDF_NIL=v(F.default.rdf.nil),T.N3_FORALL=v(F.default.r.forAll),T.N3_FORSOME=v(F.default.r.forSome),T.ABBREVIATIONS={a:v(F.default.rdf.type),"=":v(F.default.owl.sameAs),">":v(F.default.log.implies)},T.QUANTIFIERS_GRAPH=v("urn:n3:quantifiers")}fe.default=w,R(w.prototype,V.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.default=void 0;var y,K=function(y,v){if(!v&&y&&y.__esModule)return y;if(null===y||"object"!=typeof y&&"function"!=typeof y)return{default:y};var b=L(v);if(b&&b.has(y))return b.get(y);var x={},A=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var E in y)if("default"!==E&&Object.prototype.hasOwnProperty.call(y,E)){var I=A?Object.getOwnPropertyDescriptor(y,E):null;I&&(I.get||I.set)?Object.defineProperty(x,E,I):x[E]=y[E]}return x.default=y,b&&b.set(y,x),x}(Q("./N3DataFactory")),V=Q("readable-stream"),F=(y=Q("./IRIs"))&&y.__esModule?y:{default:y};function L(y){if("function"!=typeof WeakMap)return null;var v=new WeakMap,b=new WeakMap;return(L=function(x){return x?b:v})(y)}class C{constructor(v,b){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!b&&v&&!v[0]&&(b=v,v=null),this._factory=(b=b||{}).factory||K.default,v&&this.addQuads(v)}get size(){let v=this._size;if(null!==v)return v;v=0;const b=this._graphs;let x,A;for(const E in b)for(const I in x=b[E].subjects)for(const H in A=x[I])v+=Object.keys(A[H]).length;return this._size=v}_addToIndex(v,b,x,A){const E=v[b]||(v[b]={}),I=E[x]||(E[x]={}),H=A in I;return H||(I[A]=null),!H}_removeFromIndex(v,b,x,A){const E=v[b],I=E[x];delete I[A];for(const H in I)return;delete E[x];for(const H in E)return;delete v[b]}*_findInIndex(v,b,x,A,E,I,H,M){let P,Z,S;const ne=!b+!x+!A>1?Object.keys(this._ids):this._entities,ce=(0,K.termFromId)(M,this._factory);b&&((P=v,v={})[b]=P[b]);for(const se in v){const te=ne[se];if(Z=v[se]){x&&((P=Z,Z={})[x]=P[x]);for(const Ie in Z){const ye=ne[Ie];if(S=Z[Ie]){const re=A?A in S?[A]:[]:Object.keys(S);for(let ve=0;ve{x in b||(b[x]=!0,v((0,K.termFromId)(this._entities[x],this._factory)))}}add(v){return this.addQuad(v),this}addQuad(v,b,x,A){b||(A=v.graph,x=v.object,b=v.predicate,v=v.subject),v=(0,K.termToId)(v),b=(0,K.termToId)(b),x=(0,K.termToId)(x),A=(0,K.termToId)(A);let E=this._graphs[A];E||(E=this._graphs[A]={subjects:{},predicates:{},objects:{}},Object.freeze(E));const I=this._ids,H=this._entities;v=I[v]||(I[H[++this._id]=v]=this._id),b=I[b]||(I[H[++this._id]=b]=this._id),x=I[x]||(I[H[++this._id]=x]=this._id);const M=this._addToIndex(E.subjects,v,b,x);return this._addToIndex(E.predicates,b,x,v),this._addToIndex(E.objects,x,v,b),this._size=null,M}addQuads(v){for(let b=0;b{this.addQuad(b)}),v}removeQuad(v,b,x,A){b||(A=v.graph,x=v.object,b=v.predicate,v=v.subject),v=(0,K.termToId)(v),b=(0,K.termToId)(b),x=(0,K.termToId)(x),A=(0,K.termToId)(A);const E=this._ids,I=this._graphs;let H,M,P;if(!((v=E[v])&&(b=E[b])&&(x=E[x])&&(H=I[A])&&(M=H.subjects[v])&&(P=M[b])&&x in P))return!1;for(v in this._removeFromIndex(H.subjects,v,b,x),this._removeFromIndex(H.predicates,b,x,v),this._removeFromIndex(H.objects,x,v,b),null!==this._size&&this._size--,H.subjects)return!0;return delete I[A],!0}removeQuads(v){for(let b=0;b{this.removeQuad(b)}),v}removeMatches(v,b,x,A){const E=new V.Readable({objectMode:!0});return E._read=()=>{for(const I of this.readQuads(v,b,x,A))E.push(I);E.push(null)},this.remove(E)}deleteGraph(v){return this.removeMatches(null,null,null,v)}getQuads(v,b,x,A){return[...this.readQuads(v,b,x,A)]}*readQuads(v,b,x,A){v=v&&(0,K.termToId)(v),b=b&&(0,K.termToId)(b),x=x&&(0,K.termToId)(x),A=A&&(0,K.termToId)(A);const E=this._getGraphs(A),I=this._ids;let H,M,P,Z;if(!(R(v)&&!(M=I[v])||R(b)&&!(P=I[b])||R(x)&&!(Z=I[x])))for(const S in E)(H=E[S])&&(M?Z?yield*this._findInIndex(H.objects,Z,M,P,"object","subject","predicate",S,null,!0):yield*this._findInIndex(H.subjects,M,P,null,"subject","predicate","object",S,null,!0):P?yield*this._findInIndex(H.predicates,P,Z,null,"predicate","object","subject",S,null,!0):Z?yield*this._findInIndex(H.objects,Z,null,null,"object","subject","predicate",S,null,!0):yield*this._findInIndex(H.subjects,null,null,null,"subject","predicate","object",S,null,!0))}match(v,b,x,A){return new T(this,v,b,x,A)}countQuads(v,b,x,A){v=v&&(0,K.termToId)(v),b=b&&(0,K.termToId)(b),x=x&&(0,K.termToId)(x),A=A&&(0,K.termToId)(A);const E=this._getGraphs(A),I=this._ids;let M,P,Z,S,H=0;if(R(v)&&!(P=I[v])||R(b)&&!(Z=I[b])||R(x)&&!(S=I[x]))return 0;for(const G in E)(M=E[G])&&(H+=v?x?this._countInIndex(M.objects,S,P,Z):this._countInIndex(M.subjects,P,Z,S):b?this._countInIndex(M.predicates,Z,S,P):this._countInIndex(M.objects,S,P,Z));return H}forEach(v,b,x,A,E){this.some(I=>(v(I),!1),b,x,A,E)}every(v,b,x,A,E){let I=!1;const H=!this.some(M=>(I=!0,!v(M)),b,x,A,E);return I&&H}some(v,b,x,A,E){for(const I of this.readQuads(b,x,A,E))if(v(I))return!0;return!1}getSubjects(v,b,x){const A=[];return this.forSubjects(E=>{A.push(E)},v,b,x),A}forSubjects(v,b,x,A){b=b&&(0,K.termToId)(b),x=x&&(0,K.termToId)(x),A=A&&(0,K.termToId)(A);const E=this._ids,I=this._getGraphs(A);let H,M,P;if(v=this._uniqueEntities(v),!(R(b)&&!(M=E[b])||R(x)&&!(P=E[x])))for(A in I)(H=I[A])&&(M?P?this._loopBy2Keys(H.predicates,M,P,v):this._loopByKey1(H.subjects,M,v):P?this._loopByKey0(H.objects,P,v):this._loop(H.subjects,v))}getPredicates(v,b,x){const A=[];return this.forPredicates(E=>{A.push(E)},v,b,x),A}forPredicates(v,b,x,A){b=b&&(0,K.termToId)(b),x=x&&(0,K.termToId)(x),A=A&&(0,K.termToId)(A);const E=this._ids,I=this._getGraphs(A);let H,M,P;if(v=this._uniqueEntities(v),!(R(b)&&!(M=E[b])||R(x)&&!(P=E[x])))for(A in I)(H=I[A])&&(M?P?this._loopBy2Keys(H.objects,P,M,v):this._loopByKey0(H.subjects,M,v):P?this._loopByKey1(H.predicates,P,v):this._loop(H.predicates,v))}getObjects(v,b,x){const A=[];return this.forObjects(E=>{A.push(E)},v,b,x),A}forObjects(v,b,x,A){b=b&&(0,K.termToId)(b),x=x&&(0,K.termToId)(x),A=A&&(0,K.termToId)(A);const E=this._ids,I=this._getGraphs(A);let H,M,P;if(v=this._uniqueEntities(v),!(R(b)&&!(M=E[b])||R(x)&&!(P=E[x])))for(A in I)(H=I[A])&&(M?P?this._loopBy2Keys(H.subjects,M,P,v):this._loopByKey1(H.objects,M,v):P?this._loopByKey0(H.predicates,P,v):this._loop(H.objects,v))}getGraphs(v,b,x){const A=[];return this.forGraphs(E=>{A.push(E)},v,b,x),A}forGraphs(v,b,x,A){for(const E in this._graphs)this.some(I=>(v(I.graph),!0),b,x,A,E)}createBlankNode(v){let b,x;if(v)for(b=v=`_:${v}`,x=1;this._ids[b];)b=v+x++;else do{b="_:b"+this._blankNodeIndex++}while(this._ids[b]);return this._ids[b]=++this._id,this._entities[this._id]=b,this._factory.blankNode(b.substr(2))}extractLists({remove:v=!1,ignoreErrors:b=!1}={}){const x={},A=b?()=>!0:(H,M)=>{throw new Error(`${H.value} ${M}`)},E=this.getQuads(null,F.default.rdf.rest,F.default.rdf.nil,null),I=v?[...E]:[];return E.forEach(H=>{const M=[];let Z,S,P=!1;const G=H.graph;let ne=H.subject;for(;ne&&!P;){const ce=this.getQuads(null,null,ne,null),se=this.getQuads(ne,null,null,null);let te,Ie=null,ye=null,re=null;for(let ve=0;ve{switch(y){case"data":R=v;break;case"end":T=v}}},(y,v)=>{y&&this.emit("error",y)||v&&this.push(v)},(y,v)=>{this.emit("prefix",y,v)}),this._transform=(y,v,b)=>{R(y),b()},this._flush=y=>{T(),y()}}import(w){return w.on("data",C=>{this.write(C)}),w.on("end",()=>{this.end()}),w.on("error",C=>{this.emit("error",C)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.default=void 0;var L,K=Q("readable-stream"),V=(L=Q("./N3Writer"))&&L.__esModule?L:{default:L};fe.default=class extends K.Transform{constructor(w){super({encoding:"utf8",writableObjectMode:!0});const C=this._writer=new V.default({write:(R,T,y)=>{this.push(R),y&&y()},end:R=>{this.push(null),R&&R()}},w);this._transform=(R,T,y)=>{C.addQuad(R,y)},this._flush=R=>{C.end(R)}}import(w){return w.on("data",C=>{this.write(C)}),w.on("end",()=>{this.end()}),w.on("error",C=>{this.emit("error",C)}),w.on("prefix",(C,R)=>{this._writer.addPrefix(C,R)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.inDefaultGraph=function(v){return C(v.graph)},fe.isBlankNode=function(v){return!!v&&"BlankNode"===v.termType},fe.isDefaultGraph=C,fe.isLiteral=function(v){return!!v&&"Literal"===v.termType},fe.isNamedNode=function(v){return!!v&&"NamedNode"===v.termType},fe.isVariable=function(v){return!!v&&"Variable"===v.termType},fe.prefix=function(v,b){return y({"":v.value||v},b)("")},fe.prefixes=y;var v,K=(v=Q("./N3DataFactory"))&&v.__esModule?v:{default:v};function C(v){return!!v&&"DefaultGraph"===v.termType}function y(v,b){const x=Object.create(null);for(const E in v)A(E,v[E]);function A(E,I){if("string"==typeof I){const H=Object.create(null);x[E]=M=>H[M]||(H[M]=b.namedNode(I+M))}else if(!(E in x))throw new Error(`Unknown prefix: ${E}`);return x[E]}return b=b||K.default,A}},{"./N3DataFactory":35}],42:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.default=void 0;var H,K=(H=Q("./IRIs"))&&H.__esModule?H:{default:H},V=function(H,M){if(!M&&H&&H.__esModule)return H;if(null===H||"object"!=typeof H&&"function"!=typeof H)return{default:H};var P=Y(M);if(P&&P.has(H))return P.get(H);var Z={},S=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var G in H)if("default"!==G&&Object.prototype.hasOwnProperty.call(H,G)){var ne=S?Object.getOwnPropertyDescriptor(H,G):null;ne&&(ne.get||ne.set)?Object.defineProperty(Z,G,ne):Z[G]=H[G]}return Z.default=H,P&&P.set(H,Z),Z}(Q("./N3DataFactory")),F=Q("./N3Util");function Y(H){if("function"!=typeof WeakMap)return null;var M=new WeakMap,P=new WeakMap;return(Y=function(Z){return Z?P:M})(H)}const C=V.default.defaultGraph(),{rdf:R,xsd:T}=K.default,y=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,v=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,b={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class x extends V.Term{equals(){return!1}}function E(H){let M=b[H];return void 0===M&&(1===H.length?(M=H.charCodeAt(0).toString(16),M="\\u0000".substr(0,6-M.length)+M):(M=(1024*(H.charCodeAt(0)-55296)+H.charCodeAt(1)+9216).toString(16),M="\\U00000000".substr(0,10-M.length)+M)),M}function I(H){return H.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}fe.default=class{constructor(M,P){if(this._prefixRegex=/$0^/,M&&"function"!=typeof M.write&&(P=M,M=null),this._lists=(P=P||{}).lists,M)this._outputStream=M,this._endStream=void 0===P.end||!!P.end;else{let Z="";this._outputStream={write(S,G,ne){Z+=S,ne&&ne()},end:S=>{S&&S(null,Z)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(P.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=C,this._prefixIRIs=Object.create(null),P.prefixes&&this.addPrefixes(P.prefixes),P.baseIRI&&(this._baseMatcher=new RegExp(`^${I(P.baseIRI)}${P.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=P.baseIRI.length))}get _inDefaultGraph(){return C.equals(this._graph)}_write(M,P){this._outputStream.write(M,"utf8",P)}_writeQuad(M,P,Z,S,G){try{S.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(C.equals(S)?"":`${this._encodeIriOrBlank(S)} {\n`)),this._graph=S,this._subject=null),M.equals(this._subject)?P.equals(this._predicate)?this._write(`, ${this._encodeObject(Z)}`,G):this._write(`;\n ${this._encodePredicate(this._predicate=P)} ${this._encodeObject(Z)}`,G):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=M)} ${this._encodePredicate(this._predicate=P)} ${this._encodeObject(Z)}`,G)}catch(ne){G&&G(ne)}}_writeQuadLine(M,P,Z,S,G){delete this._prefixMatch,this._write(this.quadToString(M,P,Z,S),G)}quadToString(M,P,Z,S){return`${this._encodeSubject(M)} ${this._encodeIriOrBlank(P)} ${this._encodeObject(Z)}${S&&S.value?` ${this._encodeIriOrBlank(S)} .\n`:" .\n"}`}quadsToString(M){return M.map(P=>this.quadToString(P.subject,P.predicate,P.object,P.graph)).join("")}_encodeSubject(M){return"Quad"===M.termType?this._encodeQuad(M):this._encodeIriOrBlank(M)}_encodeIriOrBlank(M){if("NamedNode"!==M.termType)return this._lists&&M.value in this._lists&&(M=this.list(this._lists[M.value])),"id"in M?M.id:`_:${M.value}`;let P=M.value;this._baseMatcher&&this._baseMatcher.test(P)&&(P=P.substr(this._baseLength)),y.test(P)&&(P=P.replace(v,E));const Z=this._prefixRegex.exec(P);return Z?Z[1]?this._prefixIRIs[Z[1]]+Z[2]:P:`<${P}>`}_encodeLiteral(M){let P=M.value;if(y.test(P)&&(P=P.replace(v,E)),M.language)return`"${P}"@${M.language}`;if(this._lineMode){if(M.datatype.value===T.string)return`"${P}"`}else switch(M.datatype.value){case T.string:return`"${P}"`;case T.boolean:if("true"===P||"false"===P)return P;break;case T.integer:if(/^[+-]?\d+$/.test(P))return P;break;case T.decimal:if(/^[+-]?\d*\.\d+$/.test(P))return P;break;case T.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(P))return P}return`"${P}"^^${this._encodeIriOrBlank(M.datatype)}`}_encodePredicate(M){return M.value===R.type?"a":this._encodeIriOrBlank(M)}_encodeObject(M){switch(M.termType){case"Quad":return this._encodeQuad(M);case"Literal":return this._encodeLiteral(M);default:return this._encodeIriOrBlank(M)}}_encodeQuad({subject:M,predicate:P,object:Z,graph:S}){return`<<${this._encodeSubject(M)} ${this._encodePredicate(P)} ${this._encodeObject(Z)}${(0,F.isDefaultGraph)(S)?"":` ${this._encodeIriOrBlank(S)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(M,P,Z,S,G){void 0===Z?this._writeQuad(M.subject,M.predicate,M.object,M.graph,P):"function"==typeof S?this._writeQuad(M,P,Z,C,S):this._writeQuad(M,P,Z,S||C,G)}addQuads(M){for(let P=0;P.\n`)}if(Z){let S="",G="";for(const ne in this._prefixIRIs)S+=S?`|${ne}`:ne,G+=(G?"|":"")+this._prefixIRIs[ne];S=I(S),this._prefixRegex=new RegExp(`^(?:${G})[^/]*$|^(${S})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(Z?"\n":"",P)}blank(M,P){let S,G,Z=M;switch(void 0===M?Z=[]:M.termType?Z=[{predicate:M,object:P}]:"length"in M||(Z=[M]),G=Z.length){case 0:return new x("[]");case 1:if(S=Z[0],!(S.object instanceof x))return new x(`[ ${this._encodePredicate(S.predicate)} ${this._encodeObject(S.object)} ]`);default:let ne="[";for(let ce=0;ce{P=null,M(Z,S)});if(this._endStream)try{return this._outputStream.end(P)}catch(Z){}P&&P()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),Object.defineProperty(fe,"BlankNode",{enumerable:!0,get:function(){return R.BlankNode}}),Object.defineProperty(fe,"DataFactory",{enumerable:!0,get:function(){return R.default}}),Object.defineProperty(fe,"DefaultGraph",{enumerable:!0,get:function(){return R.DefaultGraph}}),Object.defineProperty(fe,"Lexer",{enumerable:!0,get:function(){return K.default}}),Object.defineProperty(fe,"Literal",{enumerable:!0,get:function(){return R.Literal}}),Object.defineProperty(fe,"NamedNode",{enumerable:!0,get:function(){return R.NamedNode}}),Object.defineProperty(fe,"Parser",{enumerable:!0,get:function(){return V.default}}),Object.defineProperty(fe,"Quad",{enumerable:!0,get:function(){return R.Quad}}),Object.defineProperty(fe,"Store",{enumerable:!0,get:function(){return Y.default}}),Object.defineProperty(fe,"StreamParser",{enumerable:!0,get:function(){return L.default}}),Object.defineProperty(fe,"StreamWriter",{enumerable:!0,get:function(){return w.default}}),Object.defineProperty(fe,"Term",{enumerable:!0,get:function(){return R.Term}}),Object.defineProperty(fe,"Triple",{enumerable:!0,get:function(){return R.Triple}}),fe.Util=void 0,Object.defineProperty(fe,"Variable",{enumerable:!0,get:function(){return R.Variable}}),Object.defineProperty(fe,"Writer",{enumerable:!0,get:function(){return F.default}}),fe.default=void 0,Object.defineProperty(fe,"termFromId",{enumerable:!0,get:function(){return R.termFromId}}),Object.defineProperty(fe,"termToId",{enumerable:!0,get:function(){return R.termToId}});var K=v(Q("./N3Lexer")),V=v(Q("./N3Parser")),F=v(Q("./N3Writer")),Y=v(Q("./N3Store")),L=v(Q("./N3StreamParser")),w=v(Q("./N3StreamWriter")),C=y(Q("./N3Util"));fe.Util=C;var R=y(Q("./N3DataFactory"));function T(x){if("function"!=typeof WeakMap)return null;var A=new WeakMap,E=new WeakMap;return(T=function(I){return I?E:A})(x)}function y(x,A){if(!A&&x&&x.__esModule)return x;if(null===x||"object"!=typeof x&&"function"!=typeof x)return{default:x};var E=T(A);if(E&&E.has(x))return E.get(x);var I={},H=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var M in x)if("default"!==M&&Object.prototype.hasOwnProperty.call(x,M)){var P=H?Object.getOwnPropertyDescriptor(x,M):null;P&&(P.get||P.set)?Object.defineProperty(I,M,P):I[M]=x[M]}return I.default=x,E&&E.set(x,I),I}function v(x){return x&&x.__esModule?x:{default:x}}fe.default={Lexer:K.default,Parser:V.default,Writer:F.default,Store:Y.default,StreamParser:L.default,StreamWriter:w.default,Util:C,DataFactory:R.default,Term:R.Term,NamedNode:R.NamedNode,Literal:R.Literal,BlankNode:R.BlankNode,Variable:R.Variable,DefaultGraph:R.DefaultGraph,Quad:R.Quad,Triple:R.Triple,termFromId:R.termFromId,termToId:R.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(Q,we,fe){var V,F,K=we.exports={};function Y(){throw new Error("setTimeout has not been defined")}function L(){throw new Error("clearTimeout has not been defined")}function w(I){if(V===setTimeout)return setTimeout(I,0);if((V===Y||!V)&&setTimeout)return V=setTimeout,setTimeout(I,0);try{return V(I,0)}catch(H){try{return V.call(null,I,0)}catch(M){return V.call(this,I,0)}}}!function(){try{V="function"==typeof setTimeout?setTimeout:Y}catch(I){V=Y}try{F="function"==typeof clearTimeout?clearTimeout:L}catch(I){F=L}}();var y,R=[],T=!1,v=-1;function b(){!T||!y||(T=!1,y.length?R=y.concat(R):v=-1,R.length&&x())}function x(){if(!T){var I=w(b);T=!0;for(var H=R.length;H;){for(y=R,R=[];++v1)for(var M=1;M(V||(V=Promise.resolve())).then(F).catch(Y=>setTimeout(()=>{throw Y},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(Q,we,fe){we.exports=Q("./lib")},{"./lib":55}],47:[function(Q,we,fe){"use strict";we.exports=class Hq{constructor(V,F=new Map,Y=0){this.prefix=V,this._existing=F,this.counter=Y}clone(){const{prefix:V,_existing:F,counter:Y}=this;return new Hq(V,new Map(F),Y)}getId(V){const F=V&&this._existing.get(V);if(F)return F;const Y=this.prefix+this.counter;return this.counter++,V&&this._existing.set(V,Y),Y}hasId(V){return this._existing.has(V)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(Q,we,fe){"use strict";Q("setimmediate");const K=self.crypto||self.msCrypto;we.exports=class{constructor(F){if(!K||!K.subtle)throw new Error("crypto.subtle not found.");if("sha256"===F)this.algorithm={name:"SHA-256"};else{if("sha1"!==F)throw new Error(`Unsupport algorithm "${F}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(F){this._content+=F}digest(){var F=this;return lt(function*(){const Y=(new TextEncoder).encode(F._content),L=new Uint8Array(yield K.subtle.digest(F.algorithm,Y));let w="";for(let C=0;C]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),we.exports=class aF{static parse(I){const H=[],M={},P=I.split(T.eoln);let Z=0;for(const S of P){if(Z++,T.empty.test(S))continue;const G=S.match(T.quad);if(null===G)throw new Error("N-Quads parse error on line "+Z+".");const ne={subject:null,predicate:null,object:null,graph:null};if(ne.subject=void 0!==G[1]?{termType:L,value:G[1]}:{termType:w,value:G[2]},ne.predicate={termType:L,value:G[3]},void 0!==G[4]?ne.object={termType:L,value:G[4]}:void 0!==G[5]?ne.object={termType:w,value:G[5]}:(ne.object={termType:C,value:void 0,datatype:{termType:L}},void 0!==G[7]?ne.object.datatype.value=G[7]:void 0!==G[8]?(ne.object.datatype.value=F,ne.object.language=G[8]):ne.object.datatype.value=Y,ne.object.value=G[6].replace(x,function(I,H,M,P){if(H)switch(H){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(M)return String.fromCharCode(parseInt(M,16));if(P)throw new Error("Unsupported U escape")})),ne.graph=void 0!==G[9]?{termType:L,value:G[9]}:void 0!==G[10]?{termType:w,value:G[10]}:{termType:R,value:""},ne.graph.value in M){let ce=!0;const se=M[ne.graph.value];for(const te of se)if(y(te,ne)){ce=!1;break}ce&&(se.push(ne),H.push(ne))}else M[ne.graph.value]=[ne],H.push(ne)}return H}static serialize(I){Array.isArray(I)||(I=aF.legacyDatasetToQuads(I));const H=[];for(const M of I)H.push(aF.serializeQuad(M));return H.sort().join("")}static serializeQuad(I){const H=I.subject,P=I.object,Z=I.graph;let S="";return S+=H.termType===L?`<${H.value}>`:`${H.value}`,S+=` <${I.predicate.value}> `,P.termType===L?S+=`<${P.value}>`:P.termType===w?S+=P.value:(S+=`"${E=P.value,E.replace(v,function(I){switch(I){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,P.datatype.value===F?P.language&&(S+=`@${P.language}`):P.datatype.value!==Y&&(S+=`^^<${P.datatype.value}>`)),Z.termType===L?S+=` <${Z.value}>`:Z.termType===w&&(S+=` ${Z.value}`),S+=" .\n",S;var E}static legacyDatasetToQuads(I){const H=[],M={"blank node":w,IRI:L,literal:C};for(const P in I)I[P].forEach(S=>{const G={};for(const ne in S){const ce=S[ne],se={termType:M[ce.type],value:ce.value};se.termType===C&&(se.datatype={termType:L},"datatype"in ce&&(se.datatype.value=ce.datatype),"language"in ce?("datatype"in ce||(se.datatype.value=F),se.language=ce.language):"datatype"in ce||(se.datatype.value=Y)),G[ne]=se}G.graph="@default"===P?{termType:R,value:""}:{termType:P.startsWith("_:")?w:L,value:P},H.push(G)});return H}};const v=/["\\\n\r]/g;const x=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(Q,we,fe){"use strict";we.exports=class{constructor(V){this.current=V.sort(),this.done=!1,this.dir=new Map;for(let F=0;FL)&&(y&&R>0&&T>V[R-1]||!y&&RV[R+1])&&(L=T,w=R)}if(null===L)this.done=!0;else{const R=F.get(L)?w-1:w+1;V[w]=V[R],V[R]=L;for(const T of V)T>L&&F.set(T,!F.get(T))}return Y}}},{}],51:[function(Q,we,fe){(function(K){(function(){"use strict";const V=Q("./IdentifierIssuer"),F=Q("./MessageDigest"),Y=Q("./Permuter"),L=Q("./NQuads");function w(C,R){return C.hashR.hash?1:0}we.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new V("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(R){var T=this;return lt(function*(){T.quads=R;for(const I of R)T._addBlankNodeQuadInfo({quad:I,component:I.subject}),T._addBlankNodeQuadInfo({quad:I,component:I.object}),T._addBlankNodeQuadInfo({quad:I,component:I.graph});const y=new Map,v=[...T.blankNodeInfo.keys()];let b=0;for(const I of v)++b%100==0&&(yield T._yield()),yield T._hashAndTrackBlankNode({id:I,hashToBlankNodes:y});const x=[...y.keys()].sort(),A=[];for(const I of x){const H=y.get(I);H.length>1?A.push(H):T.canonicalIssuer.getId(H[0])}for(const I of A){const H=[];for(const M of I){if(T.canonicalIssuer.hasId(M))continue;const P=new V("_:b");P.getId(M);const Z=yield T.hashNDegreeQuads(M,P);H.push(Z)}H.sort(w);for(const M of H){const P=M.issuer.getOldIds();for(const Z of P)T.canonicalIssuer.getId(Z)}}const E=[];for(const I of T.quads){const H=at({},I);H.subject=T._useCanonicalId({component:H.subject}),H.object=T._useCanonicalId({component:H.object}),H.graph=T._useCanonicalId({component:H.graph}),E.push(L.serializeQuad(H))}return E.sort(),E.join("")})()}hashFirstDegreeQuads(R){var T=this;return lt(function*(){const y=[],v=T.blankNodeInfo.get(R),b=v.quads;for(const A of b){const E={subject:null,predicate:A.predicate,object:null,graph:null};E.subject=T.modifyFirstDegreeComponent(R,A.subject,"subject"),E.object=T.modifyFirstDegreeComponent(R,A.object,"object"),E.graph=T.modifyFirstDegreeComponent(R,A.graph,"graph"),y.push(L.serializeQuad(E))}y.sort();const x=new F(T.hashAlgorithm);for(const A of y)x.update(A);return v.hash=yield x.digest(),v.hash})()}hashRelatedBlankNode(R,T,y,v){var b=this;return lt(function*(){let x;x=b.canonicalIssuer.hasId(R)?b.canonicalIssuer.getId(R):y.hasId(R)?y.getId(R):b.blankNodeInfo.get(R).hash;const A=new F(b.hashAlgorithm);return A.update(v),"g"!==v&&A.update(b.getRelatedPredicate(T)),A.update(x),A.digest()})()}hashNDegreeQuads(R,T){var y=this;return lt(function*(){const v=new F(y.hashAlgorithm),b=yield y.createHashToRelated(R,T),x=[...b.keys()].sort();for(const A of x){v.update(A);let I,E="";const H=new Y(b.get(A));let M=0;for(;H.hasNext();){const P=H.next();++M%3==0&&(yield y._yield());let Z=T.clone(),S="";const G=[];let ne=!1;for(const ce of P)if(y.canonicalIssuer.hasId(ce)?S+=y.canonicalIssuer.getId(ce):(Z.hasId(ce)||G.push(ce),S+=Z.getId(ce)),0!==E.length&&S>E){ne=!0;break}if(!ne){for(const ce of G){const se=yield y.hashNDegreeQuads(ce,Z);if(S+=Z.getId(ce),S+=`<${se.hash}>`,Z=se.issuer,0!==E.length&&S>E){ne=!0;break}}ne||(0===E.length||S`}createHashToRelated(R,T){var y=this;return lt(function*(){const v=new Map,b=y.blankNodeInfo.get(R).quads;let x=0;for(const A of b)++x%100==0&&(yield y._yield()),yield Promise.all([y._addRelatedBlankNodeHash({quad:A,component:A.subject,position:"s",id:R,issuer:T,hashToRelated:v}),y._addRelatedBlankNodeHash({quad:A,component:A.object,position:"o",id:R,issuer:T,hashToRelated:v}),y._addRelatedBlankNodeHash({quad:A,component:A.graph,position:"g",id:R,issuer:T,hashToRelated:v})]);return v})()}_hashAndTrackBlankNode({id:R,hashToBlankNodes:T}){var y=this;return lt(function*(){const v=yield y.hashFirstDegreeQuads(R),b=T.get(v);b?b.push(R):T.set(v,[R])})()}_addBlankNodeQuadInfo({quad:R,component:T}){if("BlankNode"!==T.termType)return;const y=T.value,v=this.blankNodeInfo.get(y);v?v.quads.add(R):this.blankNodeInfo.set(y,{quads:new Set([R]),hash:null})}_addRelatedBlankNodeHash({quad:R,component:T,position:y,id:v,issuer:b,hashToRelated:x}){var A=this;return lt(function*(){if("BlankNode"!==T.termType||T.value===v)return;const E=T.value,I=yield A.hashRelatedBlankNode(E,R,b,y),H=x.get(I);H?H.push(E):x.set(I,[E])})()}_useCanonicalId({component:R}){return"BlankNode"!==R.termType||R.value.startsWith(this.canonicalIssuer.prefix)?R:{termType:"BlankNode",value:this.canonicalIssuer.getId(R.value)}}_yield(){return lt(function*(){return new Promise(R=>K(R))})()}}}).call(this)}).call(this,Q("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(Q,we,fe){"use strict";const K=Q("./IdentifierIssuer"),V=Q("./MessageDigest"),F=Q("./Permuter"),Y=Q("./NQuads");function L(w,C){return w.hashC.hash?1:0}we.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new K("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(C){this.quads=C;for(const x of C)this._addBlankNodeQuadInfo({quad:x,component:x.subject}),this._addBlankNodeQuadInfo({quad:x,component:x.object}),this._addBlankNodeQuadInfo({quad:x,component:x.graph});const R=new Map,T=[...this.blankNodeInfo.keys()];for(const x of T)this._hashAndTrackBlankNode({id:x,hashToBlankNodes:R});const y=[...R.keys()].sort(),v=[];for(const x of y){const A=R.get(x);A.length>1?v.push(A):this.canonicalIssuer.getId(A[0])}for(const x of v){const A=[];for(const E of x){if(this.canonicalIssuer.hasId(E))continue;const I=new K("_:b");I.getId(E);const H=this.hashNDegreeQuads(E,I);A.push(H)}A.sort(L);for(const E of A){const I=E.issuer.getOldIds();for(const H of I)this.canonicalIssuer.getId(H)}}const b=[];for(const x of this.quads){const A=at({},x);A.subject=this._useCanonicalId({component:A.subject}),A.object=this._useCanonicalId({component:A.object}),A.graph=this._useCanonicalId({component:A.graph}),b.push(Y.serializeQuad(A))}return b.sort(),b.join("")}hashFirstDegreeQuads(C){const R=[],T=this.blankNodeInfo.get(C),y=T.quads;for(const b of y){const x={subject:null,predicate:b.predicate,object:null,graph:null};x.subject=this.modifyFirstDegreeComponent(C,b.subject,"subject"),x.object=this.modifyFirstDegreeComponent(C,b.object,"object"),x.graph=this.modifyFirstDegreeComponent(C,b.graph,"graph"),R.push(Y.serializeQuad(x))}R.sort();const v=new V(this.hashAlgorithm);for(const b of R)v.update(b);return T.hash=v.digest(),T.hash}hashRelatedBlankNode(C,R,T,y){let v;v=this.canonicalIssuer.hasId(C)?this.canonicalIssuer.getId(C):T.hasId(C)?T.getId(C):this.blankNodeInfo.get(C).hash;const b=new V(this.hashAlgorithm);return b.update(y),"g"!==y&&b.update(this.getRelatedPredicate(R)),b.update(v),b.digest()}hashNDegreeQuads(C,R){const T=new V(this.hashAlgorithm),y=this.createHashToRelated(C,R),v=[...y.keys()].sort();for(const b of v){T.update(b);let A,x="";const E=new F(y.get(b));for(;E.hasNext();){const I=E.next();let H=R.clone(),M="";const P=[];let Z=!1;for(const S of I)if(this.canonicalIssuer.hasId(S)?M+=this.canonicalIssuer.getId(S):(H.hasId(S)||P.push(S),M+=H.getId(S)),0!==x.length&&M>x){Z=!0;break}if(!Z){for(const S of P){const G=this.hashNDegreeQuads(S,H);if(M+=H.getId(S),M+=`<${G.hash}>`,H=G.issuer,0!==x.length&&M>x){Z=!0;break}}Z||(0===x.length||M`}createHashToRelated(C,R){const T=new Map,y=this.blankNodeInfo.get(C).quads;for(const v of y)this._addRelatedBlankNodeHash({quad:v,component:v.subject,position:"s",id:C,issuer:R,hashToRelated:T}),this._addRelatedBlankNodeHash({quad:v,component:v.object,position:"o",id:C,issuer:R,hashToRelated:T}),this._addRelatedBlankNodeHash({quad:v,component:v.graph,position:"g",id:C,issuer:R,hashToRelated:T});return T}_hashAndTrackBlankNode({id:C,hashToBlankNodes:R}){const T=this.hashFirstDegreeQuads(C),y=R.get(T);y?y.push(C):R.set(T,[C])}_addBlankNodeQuadInfo({quad:C,component:R}){if("BlankNode"!==R.termType)return;const T=R.value,y=this.blankNodeInfo.get(T);y?y.quads.add(C):this.blankNodeInfo.set(T,{quads:new Set([C]),hash:null})}_addRelatedBlankNodeHash({quad:C,component:R,position:T,id:y,issuer:v,hashToRelated:b}){if("BlankNode"!==R.termType||R.value===y)return;const x=R.value,A=this.hashRelatedBlankNode(x,C,v,T),E=b.get(A);E?E.push(x):b.set(A,[x])}_useCanonicalId({component:C}){return"BlankNode"!==C.termType||C.value.startsWith(this.canonicalIssuer.prefix)?C:{termType:"BlankNode",value:this.canonicalIssuer.getId(C.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(Q,we,fe){"use strict";const K=Q("./URDNA2015");we.exports=class extends K{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(F,Y,L){return"BlankNode"!==Y.termType?Y:"graph"===L?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Y.value===F?"_:a":"_:z"}}getRelatedPredicate(F){return F.predicate.value}createHashToRelated(F,Y){var L=this;return lt(function*(){const w=new Map,C=L.blankNodeInfo.get(F).quads;let R=0;for(const T of C){let y,v;if("BlankNode"===T.subject.termType&&T.subject.value!==F)v=T.subject.value,y="p";else{if("BlankNode"!==T.object.termType||T.object.value===F)continue;v=T.object.value,y="r"}++R%100==0&&(yield L._yield());const b=yield L.hashRelatedBlankNode(v,T,Y,y),x=w.get(b);x?x.push(v):w.set(b,[v])}return w})()}}},{"./URDNA2015":51}],54:[function(Q,we,fe){"use strict";const K=Q("./URDNA2015Sync");we.exports=class extends K{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(F,Y,L){return"BlankNode"!==Y.termType?Y:"graph"===L?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Y.value===F?"_:a":"_:z"}}getRelatedPredicate(F){return F.predicate.value}createHashToRelated(F,Y){const L=new Map,w=this.blankNodeInfo.get(F).quads;for(const C of w){let R,T;if("BlankNode"===C.subject.termType&&C.subject.value!==F)T=C.subject.value,R="p";else{if("BlankNode"!==C.object.termType||C.object.value===F)continue;T=C.object.value,R="r"}const y=this.hashRelatedBlankNode(T,C,Y,R),v=L.get(y);v?v.push(T):L.set(y,[T])}return L}}},{"./URDNA2015Sync":52}],55:[function(Q,we,fe){"use strict";const K=Q("./URDNA2015"),V=Q("./URGNA2012"),F=Q("./URDNA2015Sync"),Y=Q("./URGNA2012Sync");let L;try{L=Q("rdf-canonize-native")}catch(C){}const w={};we.exports=w,w.NQuads=Q("./NQuads"),w.IdentifierIssuer=Q("./IdentifierIssuer"),w._rdfCanonizeNative=function(C){return C&&(L=C),L},w.canonize=function(){var C=lt(function*(R,T){if(Array.isArray(R)||(R=w.NQuads.legacyDatasetToQuads(R)),T.useNative){if(!L)throw new Error("rdf-canonize-native not available");return new Promise((y,v)=>L.canonize(R,T,(b,x)=>b?v(b):y(x)))}if("URDNA2015"===T.algorithm)return new K(T).main(R);if("URGNA2012"===T.algorithm)return new V(T).main(R);throw"algorithm"in T?new Error("Invalid RDF Dataset Canonicalization algorithm: "+T.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(R,T){return C.apply(this,arguments)}}(),w._canonizeSync=function(C,R){if(Array.isArray(C)||(C=w.NQuads.legacyDatasetToQuads(C)),R.useNative){if(L)return L.canonizeSync(C,R);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===R.algorithm)return new F(R).main(C);if("URGNA2012"===R.algorithm)return new Y(R).main(C);throw"algorithm"in R?new Error("Invalid RDF Dataset Canonicalization algorithm: "+R.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(Q,we,fe){"use strict";var K=this&&this.__createBinding||(Object.create?function(F,Y,L,w){void 0===w&&(w=L),Object.defineProperty(F,w,{enumerable:!0,get:function(){return Y[L]}})}:function(F,Y,L,w){void 0===w&&(w=L),F[w]=Y[L]}),V=this&&this.__exportStar||function(F,Y){for(var L in F)"default"!==L&&!Object.prototype.hasOwnProperty.call(Y,L)&&K(Y,F,L)};Object.defineProperty(fe,"__esModule",{value:!0}),V(Q("./lib/BlankNode"),fe),V(Q("./lib/DataFactory"),fe),V(Q("./lib/DefaultGraph"),fe),V(Q("./lib/Literal"),fe),V(Q("./lib/NamedNode"),fe),V(Q("./lib/Quad"),fe),V(Q("./lib/Variable"),fe)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.BlankNode=void 0;fe.BlankNode=class{constructor(F){this.termType="BlankNode",this.value=F}equals(F){return!!F&&"BlankNode"===F.termType&&F.value===this.value}}},{}],58:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.DataFactory=void 0;const K=Q("./BlankNode"),V=Q("./DefaultGraph"),F=Q("./Literal"),Y=Q("./NamedNode"),L=Q("./Quad"),w=Q("./Variable");let C=0;fe.DataFactory=class{constructor(y){this.blankNodeCounter=0,this.blankNodePrefix=(y=y||{}).blankNodePrefix||`df_${C++}_`}namedNode(y){return new Y.NamedNode(y)}blankNode(y){return new K.BlankNode(y||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(y,v){return new F.Literal(y,v)}variable(y){return new w.Variable(y)}defaultGraph(){return V.DefaultGraph.INSTANCE}quad(y,v,b,x){return new L.Quad(y,v,b,x||this.defaultGraph())}fromTerm(y){switch(y.termType){case"NamedNode":return this.namedNode(y.value);case"BlankNode":return this.blankNode(y.value);case"Literal":return y.language?this.literal(y.value,y.language):y.datatype.equals(F.Literal.XSD_STRING)?this.literal(y.value):this.literal(y.value,this.fromTerm(y.datatype));case"Variable":return this.variable(y.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(y.subject),this.fromTerm(y.predicate),this.fromTerm(y.object),this.fromTerm(y.graph))}}fromQuad(y){return this.fromTerm(y)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.DefaultGraph=void 0;class K{constructor(){this.termType="DefaultGraph",this.value=""}equals(F){return!!F&&"DefaultGraph"===F.termType}}fe.DefaultGraph=K,K.INSTANCE=new K},{}],60:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.Literal=void 0;const K=Q("./NamedNode");class V{constructor(Y,L){this.termType="Literal",this.value=Y,"string"==typeof L?(this.language=L,this.datatype=V.RDF_LANGUAGE_STRING):L?(this.language="",this.datatype=L):(this.language="",this.datatype=V.XSD_STRING)}equals(Y){return!!Y&&"Literal"===Y.termType&&Y.value===this.value&&Y.language===this.language&&Y.datatype.equals(this.datatype)}}fe.Literal=V,V.RDF_LANGUAGE_STRING=new K.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),V.XSD_STRING=new K.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.NamedNode=void 0;fe.NamedNode=class{constructor(F){this.termType="NamedNode",this.value=F}equals(F){return!!F&&"NamedNode"===F.termType&&F.value===this.value}}},{}],62:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.Quad=void 0;fe.Quad=class{constructor(F,Y,L,w){this.termType="Quad",this.value="",this.subject=F,this.predicate=Y,this.object=L,this.graph=w}equals(F){return!!F&&("Quad"===F.termType||!F.termType)&&this.subject.equals(F.subject)&&this.predicate.equals(F.predicate)&&this.object.equals(F.object)&&this.graph.equals(F.graph)}}},{}],63:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.Variable=void 0;fe.Variable=class{constructor(F){this.termType="Variable",this.value=F}equals(F){return!!F&&"Variable"===F.termType&&F.value===this.value}}},{}],64:[function(Q,we,fe){"use strict";var K=this&&this.__createBinding||(Object.create?function(F,Y,L,w){void 0===w&&(w=L),Object.defineProperty(F,w,{enumerable:!0,get:function(){return Y[L]}})}:function(F,Y,L,w){void 0===w&&(w=L),F[w]=Y[L]}),V=this&&this.__exportStar||function(F,Y){for(var L in F)"default"!==L&&!Object.prototype.hasOwnProperty.call(Y,L)&&K(Y,F,L)};Object.defineProperty(fe,"__esModule",{value:!0}),V(Q("./lib/RdfXmlParser"),fe)},{"./lib/RdfXmlParser":66}],65:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.ParseError=void 0;class K extends Error{constructor(F,Y){const L=F.saxStream._parser;super(F.trackPosition?`Line ${L.line+1} column ${L.column+1}: ${Y}`:Y)}}fe.ParseError=K},{}],66:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),fe.ParseType=fe.RdfXmlParser=void 0;const K=Q("relative-to-absolute-iri"),V=Q("sax"),F=Q("stream"),Y=Q("./ParseError"),L=Q("rdf-data-factory");class w extends F.Transform{constructor(T){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},T&&(Object.assign(this,T),this.options=T),this.dataFactory||(this.dataFactory=new L.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=V.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(T,y){const v={};let b=!1;for(const A in T.attributes)A.startsWith("xmlns")&&(5===A.length?(b=!0,v[""]=T.attributes[A]):":"===A.charAt(5)&&(b=!0,v[A.substr(6)]=T.attributes[A]));const x=y&&y.ns?y.ns:[w.DEFAULT_NS];return b?x.concat([v]):x}static expandPrefixedTerm(T,y,v){const b=T.indexOf(":");let x,A;b>=0?(x=T.substr(0,b),A=T.substr(b+1)):(x="",A=T);let E=null,I=null;for(let H=y.length-1;H>=0;H--){const M=y[H][x];if(M){E=M;break}I||(I=y[H][""])}if(!E){if(x&&"xmlns"!==x)throw new Y.ParseError(v,`The prefix '${x}' in term '${T}' was not bound.`);E=I||""}return{prefix:x,local:A,uri:E}}static isValidIri(T){return w.IRI_REGEX.test(T)}import(T){const y=new F.PassThrough({readableObjectMode:!0});T.on("error",b=>v.emit("error",b)),T.on("data",b=>y.push(b)),T.on("end",()=>y.push(null));const v=y.pipe(new w(this.options));return v}_transform(T,y,v){try{this.saxStream.write(T,y)}catch(b){return v(b)}v()}newParseError(T){return new Y.ParseError(this,T)}valueToUri(T,y){return this.uriToNamedNode(K.resolve(T,y.baseIRI))}uriToNamedNode(T){if(!w.isValidIri(T))throw this.newParseError(`Invalid URI: ${T}`);return this.dataFactory.namedNode(T)}validateNcname(T){if(!w.NCNAME_MATCHER.test(T))throw this.newParseError(`Not a valid NCName: ${T}`)}attachSaxListeners(){this.saxStream.on("error",T=>this.emit("error",T)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(T){const y=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let v=C.RESOURCE;if(y&&(y.hadChildren=!0,v=y.childrenParseType),y&&y.childrenStringTags){const x=T.name;let A="";for(const M in T.attributes)A+=` ${M}="${T.attributes[M]}"`;y.childrenStringTags.push(`<${x}${A}>`);const H={childrenStringTags:y.childrenStringTags};return H.childrenStringEmitClosingTag=``,void this.activeTagStack.push(H)}const b={};y?(b.language=y.language,b.baseIRI=y.baseIRI):b.baseIRI=this.baseIRI,this.activeTagStack.push(b),b.ns=w.parseNamespace(T,y),v===C.RESOURCE?this.onTagResource(T,b,y,!y):this.onTagProperty(T,b,y)}onTagResource(T,y,v,b){const x=w.expandPrefixedTerm(T.name,y.ns,this);y.childrenParseType=C.PROPERTY;let A=!0;if(x.uri===w.RDF){if(!b&&w.FORBIDDEN_NODE_ELEMENTS.indexOf(x.local)>=0)throw this.newParseError(`Illegal node element name: ${x.local}`);switch(x.local){case"RDF":y.childrenParseType=C.RESOURCE;case"Description":A=!1}}const E=[],I=[];let H=null,M=!1,P=!1,Z=null;for(const S in T.attributes){const G=T.attributes[S],ne=w.expandPrefixedTerm(S,y.ns,this);if(v&&ne.uri===w.RDF)switch(ne.local){case"about":if(H)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${G} and ${H} where found.`);H=G;continue;case"ID":if(H)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${G} and ${H} where found.`);this.validateNcname(G),H="#"+G,M=!0;continue;case"nodeID":if(H)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${G} and ${H} where found.`);this.validateNcname(G),H=G,P=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":Z=G;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(ne.uri===w.XML){if("lang"===ne.local){y.language=""===G?null:G.toLowerCase();continue}if("base"===ne.local){y.baseIRI=K.resolve(G,y.baseIRI);continue}}"xml"!==ne.prefix&&ne.uri&&(E.push(this.uriToNamedNode(ne.uri+ne.local)),I.push(G))}if(null!==H&&(y.subject=P?this.dataFactory.blankNode(H):this.valueToUri(H,y),M&&this.claimNodeId(y.subject)),y.subject||(y.subject=this.dataFactory.blankNode()),A){const S=this.uriToNamedNode(x.uri+x.local);this.emitTriple(y.subject,this.dataFactory.namedNode(w.RDF+"type"),S,v?v.reifiedStatementId:null)}if(v){if(v.predicate)if(v.childrenCollectionSubject){const S=this.dataFactory.blankNode();this.emitTriple(v.childrenCollectionSubject,v.childrenCollectionPredicate,S,v.reifiedStatementId),this.emitTriple(S,this.dataFactory.namedNode(w.RDF+"first"),y.subject,y.reifiedStatementId),v.childrenCollectionSubject=S,v.childrenCollectionPredicate=this.dataFactory.namedNode(w.RDF+"rest")}else{this.emitTriple(v.subject,v.predicate,y.subject,v.reifiedStatementId);for(let S=0;S=0)throw this.newParseError(`Illegal property element name: ${b.local}`);y.predicateSubPredicates=[],y.predicateSubObjects=[];let x=!1,A=!1,E=null,I=!0;const H=[],M=[];for(const P in T.attributes){const Z=T.attributes[P],S=w.expandPrefixedTerm(P,y.ns,this);if(S.uri===w.RDF)switch(S.local){case"resource":if(E)throw this.newParseError(`Found both rdf:resource (${Z}) and rdf:nodeID (${E}).`);if(x)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${Z})`);y.hadChildren=!0,E=Z,I=!1;continue;case"datatype":if(A)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${Z}).`);if(x)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${Z})`);y.datatype=this.valueToUri(Z,y);continue;case"nodeID":if(A)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${Z}).`);if(y.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${Z}).`);if(x)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${Z})`);this.validateNcname(Z),y.hadChildren=!0,E=Z,I=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(A)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(y.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${y.datatype.value})`);if(E)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${E})`);if("Resource"===Z){x=!0,y.childrenParseType=C.PROPERTY;const G=this.dataFactory.blankNode();this.emitTriple(y.subject,y.predicate,G,y.reifiedStatementId),y.subject=G,y.predicate=null}else"Collection"===Z?(x=!0,y.hadChildren=!0,y.childrenCollectionSubject=y.subject,y.childrenCollectionPredicate=y.predicate,I=!1):"Literal"===Z&&(x=!0,y.childrenTagsToString=!0,y.childrenStringTags=[]);continue;case"ID":this.validateNcname(Z),y.reifiedStatementId=this.valueToUri("#"+Z,y),this.claimNodeId(y.reifiedStatementId);continue}else if(S.uri===w.XML&&"lang"===S.local){y.language=""===Z?null:Z.toLowerCase();continue}if("xml"!==S.prefix&&"xmlns"!==S.prefix&&S.uri){if(x||y.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${Z}`);y.hadChildren=!0,A=!0,H.push(this.uriToNamedNode(S.uri+S.local)),M.push(this.dataFactory.literal(Z,y.datatype||y.language))}}if(null!==E){const P=y.subject;y.subject=I?this.dataFactory.blankNode(E):this.valueToUri(E,y),this.emitTriple(P,y.predicate,y.subject,y.reifiedStatementId);for(let Z=0;Z/g,(y,v,b)=>(this.saxStream._parser.ENTITIES[v]=b,""))}}var C,R;fe.RdfXmlParser=w,w.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,w.MIME_TYPE="application/rdf+xml",w.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",w.XML="http://www.w3.org/XML/1998/namespace",w.XMLNS="http://www.w3.org/2000/xmlns/",w.DEFAULT_NS={xml:w.XML},w.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],w.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],w.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(R=C=fe.ParseType||(fe.ParseType={}))[R.RESOURCE=0]="RESOURCE",R[R.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(Q,we,fe){"use strict";var V={};function F(R,T,y){y||(y=Error);var b=function(x){function A(E,I,H){return x.call(this,function(x,A,E){return"string"==typeof T?T:T(x,A,E)}(E,I,H))||this}return function(R,T){R.prototype=Object.create(T.prototype),R.prototype.constructor=R,R.__proto__=T}(A,x),A}(y);b.prototype.name=y.name,b.prototype.code=R,V[R]=b}function Y(R,T){if(Array.isArray(R)){var y=R.length;return R=R.map(function(v){return String(v)}),y>2?"one of ".concat(T," ").concat(R.slice(0,y-1).join(", "),", or ")+R[y-1]:2===y?"one of ".concat(T," ").concat(R[0]," or ").concat(R[1]):"of ".concat(T," ").concat(R[0])}return"of ".concat(T," ").concat(String(R))}F("ERR_INVALID_OPT_VALUE",function(R,T){return'The value "'+T+'" is invalid for option "'+R+'"'},TypeError),F("ERR_INVALID_ARG_TYPE",function(R,T,y){var v,b;if("string"==typeof T&&function(R,T,y){return R.substr(!y||y<0?0:+y,T.length)===T}(T,"not ")?(v="must not be",T=T.replace(/^not /,"")):v="must be",function(R,T,y){return(void 0===y||y>R.length)&&(y=R.length),R.substring(y-T.length,y)===T}(R," argument"))b="The ".concat(R," ").concat(v," ").concat(Y(T,"type"));else{var x=function(R,T,y){return"number"!=typeof y&&(y=0),!(y+T.length>R.length)&&-1!==R.indexOf(T,y)}(R,".")?"property":"argument";b='The "'.concat(R,'" ').concat(x," ").concat(v," ").concat(Y(T,"type"))}return b+". Received type ".concat(typeof y)},TypeError),F("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),F("ERR_METHOD_NOT_IMPLEMENTED",function(R){return"The "+R+" method is not implemented"}),F("ERR_STREAM_PREMATURE_CLOSE","Premature close"),F("ERR_STREAM_DESTROYED",function(R){return"Cannot call "+R+" after a stream was destroyed"}),F("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),F("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),F("ERR_STREAM_WRITE_AFTER_END","write after end"),F("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),F("ERR_UNKNOWN_ENCODING",function(R){return"Unknown encoding: "+R},TypeError),F("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),we.exports.codes=V},{}],68:[function(Q,we,fe){(function(K){(function(){"use strict";var V=Object.keys||function(v){var b=[];for(var x in v)b.push(x);return b};we.exports=R;var F=Q("./_stream_readable"),Y=Q("./_stream_writable");Q("inherits")(R,F);for(var L=V(Y.prototype),w=0;w0)if("string"!=typeof U&&!nt.objectMode&&Object.getPrototypeOf(U)!==C.prototype&&(U=function(Ae){return C.from(Ae)}(U)),z)nt.endEmitted?se(Ae,new S):Fe(Ae,nt,U,!0);else if(nt.ended)se(Ae,new P);else{if(nt.destroyed)return!1;nt.reading=!1,nt.decoder&&!k?(U=nt.decoder.write(U),nt.objectMode||0!==U.length?Fe(Ae,nt,U,!1):Ge(Ae,nt)):Fe(Ae,nt,U,!1)}else z||(nt.reading=!1,Ge(Ae,nt));return!nt.ended&&(nt.lengthU.highWaterMark&&(U.highWaterMark=function(Ae){return Ae>=He?Ae=He:(Ae--,Ae|=Ae>>>1,Ae|=Ae>>>2,Ae|=Ae>>>4,Ae|=Ae>>>8,Ae|=Ae>>>16,Ae++),Ae}(Ae)),Ae<=U.length?Ae:U.ended?U.length:(U.needReadable=!0,0))}function Te(Ae){var U=Ae._readableState;b("emitReadable",U.needReadable,U.emittedReadable),U.needReadable=!1,U.emittedReadable||(b("emitReadable",U.flowing),U.emittedReadable=!0,K.nextTick(xe,Ae))}function xe(Ae){var U=Ae._readableState;b("emitReadable_",U.destroyed,U.length,U.ended),!U.destroyed&&(U.length||U.ended)&&(Ae.emit("readable"),U.emittedReadable=!1),U.needReadable=!U.flowing&&!U.ended&&U.length<=U.highWaterMark,ge(Ae)}function Ge(Ae,U){U.readingMore||(U.readingMore=!0,K.nextTick(Se,Ae,U))}function Se(Ae,U){for(;!U.reading&&!U.ended&&(U.length0,U.resumeScheduled&&!U.paused?U.flowing=!0:Ae.listenerCount("data")>0&&Ae.resume()}function Be(Ae){b("readable nexttick read 0"),Ae.read(0)}function q(Ae,U){b("resume",U.reading),U.reading||Ae.read(0),U.resumeScheduled=!1,Ae.emit("resume"),ge(Ae),U.flowing&&!U.reading&&Ae.read(0)}function ge(Ae){var U=Ae._readableState;for(b("flow",U.flowing);U.flowing&&null!==Ae.read(););}function le(Ae,U){return 0===U.length?null:(U.objectMode?k=U.buffer.shift():!Ae||Ae>=U.length?(k=U.decoder?U.buffer.join(""):1===U.buffer.length?U.buffer.first():U.buffer.concat(U.length),U.buffer.clear()):k=U.buffer.consume(Ae,U.decoder),k);var k}function qe(Ae){var U=Ae._readableState;b("endReadable",U.endEmitted),U.endEmitted||(U.ended=!0,K.nextTick(_t,U,Ae))}function _t(Ae,U){if(b("endReadableNT",Ae.endEmitted,Ae.length),!Ae.endEmitted&&0===Ae.length&&(Ae.endEmitted=!0,U.readable=!1,U.emit("end"),Ae.autoDestroy)){var k=U._writableState;(!k||k.autoDestroy&&k.finished)&&U.destroy()}}function gt(Ae,U){for(var k=0,z=Ae.length;k=U.highWaterMark:U.length>0)||U.ended))return b("read: emitReadable",U.length,U.ended),0===U.length&&U.ended?qe(this):Te(this),null;if(0===(Ae=ae(Ae,U))&&U.ended)return 0===U.length&&qe(this),null;var Le,z=U.needReadable;return b("need readable",z),(0===U.length||U.length-Ae0?le(Ae,U):null)?(U.needReadable=U.length<=U.highWaterMark,Ae=0):(U.length-=Ae,U.awaitDrain=0),0===U.length&&(U.ended||(U.needReadable=!0),k!==Ae&&U.ended&&qe(this)),null!==Le&&this.emit("data",Le),Le},re.prototype._read=function(Ae){se(this,new Z("_read()"))},re.prototype.pipe=function(Ae,U){var k=this,z=this._readableState;switch(z.pipesCount){case 0:z.pipes=Ae;break;case 1:z.pipes=[z.pipes,Ae];break;default:z.pipes.push(Ae)}z.pipesCount+=1,b("pipe count=%d opts=%j",z.pipesCount,U);var nt=U&&!1===U.end||Ae===K.stdout||Ae===K.stderr?gs:Nt;function xt(Bs,Qr){b("onunpipe"),Bs===k&&Qr&&!1===Qr.hasUnpiped&&(Qr.hasUnpiped=!0,b("cleanup"),Ae.removeListener("close",Xr),Ae.removeListener("finish",Ls),Ae.removeListener("drain",On),Ae.removeListener("error",wi),Ae.removeListener("unpipe",xt),k.removeListener("end",Nt),k.removeListener("end",gs),k.removeListener("data",Ti),kn=!0,z.awaitDrain&&(!Ae._writableState||Ae._writableState.needDrain)&&On())}function Nt(){b("onend"),Ae.end()}z.endEmitted?K.nextTick(nt):k.once("end",nt),Ae.on("unpipe",xt);var On=function(Ae){return function(){var k=Ae._readableState;b("pipeOnDrain",k.awaitDrain),k.awaitDrain&&k.awaitDrain--,0===k.awaitDrain&&L(Ae,"data")&&(k.flowing=!0,ge(Ae))}}(k);Ae.on("drain",On);var kn=!1;function Ti(Bs){b("ondata");var Qr=Ae.write(Bs);b("dest.write",Qr),!1===Qr&&((1===z.pipesCount&&z.pipes===Ae||z.pipesCount>1&&-1!==gt(z.pipes,Ae))&&!kn&&(b("false write response, pause",z.awaitDrain),z.awaitDrain++),k.pause())}function wi(Bs){b("onerror",Bs),gs(),Ae.removeListener("error",wi),0===L(Ae,"error")&&se(Ae,Bs)}function Xr(){Ae.removeListener("finish",Ls),gs()}function Ls(){b("onfinish"),Ae.removeListener("close",Xr),gs()}function gs(){b("unpipe"),k.unpipe(Ae)}return k.on("data",Ti),function(Ae,U,k){if("function"==typeof Ae.prependListener)return Ae.prependListener(U,k);Ae._events&&Ae._events[U]?Array.isArray(Ae._events[U])?Ae._events[U].unshift(k):Ae._events[U]=[k,Ae._events[U]]:Ae.on(U,k)}(Ae,"error",wi),Ae.once("close",Xr),Ae.once("finish",Ls),Ae.emit("pipe",k),z.flowing||(b("pipe resume"),k.resume()),Ae},re.prototype.unpipe=function(Ae){var U=this._readableState,k={hasUnpiped:!1};if(0===U.pipesCount)return this;if(1===U.pipesCount)return Ae&&Ae!==U.pipes||(Ae||(Ae=U.pipes),U.pipes=null,U.pipesCount=0,U.flowing=!1,Ae&&Ae.emit("unpipe",this,k)),this;if(!Ae){var z=U.pipes,Le=U.pipesCount;U.pipes=null,U.pipesCount=0,U.flowing=!1;for(var nt=0;nt0,!1!==z.flowing&&this.resume()):"readable"===Ae&&!z.endEmitted&&!z.readableListening&&(z.readableListening=z.needReadable=!0,z.flowing=!1,z.emittedReadable=!1,b("on readable",z.length,z.reading),z.length?Te(this):z.reading||K.nextTick(Be,this)),k},re.prototype.removeListener=function(Ae,U){var k=w.prototype.removeListener.call(this,Ae,U);return"readable"===Ae&&K.nextTick(Ke,this),k},re.prototype.removeAllListeners=function(Ae){var U=w.prototype.removeAllListeners.apply(this,arguments);return("readable"===Ae||void 0===Ae)&&K.nextTick(Ke,this),U},re.prototype.resume=function(){var Ae=this._readableState;return Ae.flowing||(b("resume"),Ae.flowing=!Ae.readableListening,function(Ae,U){U.resumeScheduled||(U.resumeScheduled=!0,K.nextTick(q,Ae,U))}(this,Ae)),Ae.paused=!1,this},re.prototype.pause=function(){return b("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(b("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},re.prototype.wrap=function(Ae){var U=this,k=this._readableState,z=!1;for(var Le in Ae.on("end",function(){if(b("wrapped end"),k.decoder&&!k.ended){var xt=k.decoder.end();xt&&xt.length&&U.push(xt)}U.push(null)}),Ae.on("data",function(xt){b("wrapped data"),k.decoder&&(xt=k.decoder.write(xt)),k.objectMode&&null==xt||!(k.objectMode||xt&&xt.length)||U.push(xt)||(z=!0,Ae.pause())}),Ae)void 0===this[Le]&&"function"==typeof Ae[Le]&&(this[Le]=function(Nt){return function(){return Ae[Nt].apply(Ae,arguments)}}(Le));for(var nt=0;nt-1))throw new ne(le);return this._writableState.defaultEncoding=le,this},Object.defineProperty(ye.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(ye.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),ye.prototype._write=function(ge,le,qe){qe(new H("_write()"))},ye.prototype._writev=null,ye.prototype.end=function(ge,le,qe){var _t=this._writableState;return"function"==typeof ge?(qe=ge,ge=null,le=null):"function"==typeof le&&(qe=le,le=null),null!=ge&&this.write(ge,le),_t.corked&&(_t.corked=1,this.uncork()),_t.ending||function(ge,le,qe){le.ending=!0,Be(ge,le),qe&&(le.finished?K.nextTick(qe):ge.once("finish",qe)),le.ended=!0,ge.writable=!1}(this,_t,qe),this},Object.defineProperty(ye.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(ye.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(le){!this._writableState||(this._writableState.destroyed=le)}}),ye.prototype.destroy=b.destroy,ye.prototype._undestroy=b.undestroy,ye.prototype._destroy=function(ge,le){le(ge)}}).call(this)}).call(this,Q("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(Q,we,fe){(function(K){(function(){"use strict";var V;function F(P,Z,S){return Z in P?Object.defineProperty(P,Z,{value:S,enumerable:!0,configurable:!0,writable:!0}):P[Z]=S,P}var Y=Q("./end-of-stream"),L=Symbol("lastResolve"),w=Symbol("lastReject"),C=Symbol("error"),R=Symbol("ended"),T=Symbol("lastPromise"),y=Symbol("handlePromise"),v=Symbol("stream");function b(P,Z){return{value:P,done:Z}}function x(P){var Z=P[L];if(null!==Z){var S=P[v].read();null!==S&&(P[T]=null,P[L]=null,P[w]=null,Z(b(S,!1)))}}function A(P){K.nextTick(x,P)}var I=Object.getPrototypeOf(function(){}),H=Object.setPrototypeOf((F(V={get stream(){return this[v]},next:function(){var Z=this,S=this[C];if(null!==S)return Promise.reject(S);if(this[R])return Promise.resolve(b(void 0,!0));if(this[v].destroyed)return new Promise(function(se,te){K.nextTick(function(){Z[C]?te(Z[C]):se(b(void 0,!0))})});var ne,G=this[T];if(G)ne=new Promise(function(P,Z){return function(S,G){P.then(function(){Z[R]?S(b(void 0,!0)):Z[y](S,G)},G)}}(G,this));else{var ce=this[v].read();if(null!==ce)return Promise.resolve(b(ce,!1));ne=new Promise(this[y])}return this[T]=ne,ne}},Symbol.asyncIterator,function(){return this}),F(V,"return",function(){var Z=this;return new Promise(function(S,G){Z[v].destroy(null,function(ne){ne?G(ne):S(b(void 0,!0))})})}),V),I);we.exports=function(Z){var S,G=Object.create(H,(F(S={},v,{value:Z,writable:!0}),F(S,L,{value:null,writable:!0}),F(S,w,{value:null,writable:!0}),F(S,C,{value:null,writable:!0}),F(S,R,{value:Z._readableState.endEmitted,writable:!0}),F(S,y,{value:function(ce,se){var te=G[v].read();te?(G[T]=null,G[L]=null,G[w]=null,ce(b(te,!1))):(G[L]=ce,G[w]=se)},writable:!0}),S));return G[T]=null,Y(Z,function(ne){if(ne&&"ERR_STREAM_PREMATURE_CLOSE"!==ne.code){var ce=G[w];return null!==ce&&(G[T]=null,G[L]=null,G[w]=null,ce(ne)),void(G[C]=ne)}var se=G[L];null!==se&&(G[T]=null,G[L]=null,G[w]=null,se(b(void 0,!0))),G[R]=!0}),Z.on("readable",A.bind(null,G)),G}}).call(this)}).call(this,Q("_process"))},{"./end-of-stream":76,_process:44}],74:[function(Q,we,fe){"use strict";function K(x,A){var E=Object.keys(x);if(Object.getOwnPropertySymbols){var I=Object.getOwnPropertySymbols(x);A&&(I=I.filter(function(H){return Object.getOwnPropertyDescriptor(x,H).enumerable})),E.push.apply(E,I)}return E}function F(x,A,E){return A in x?Object.defineProperty(x,A,{value:E,enumerable:!0,configurable:!0,writable:!0}):x[A]=E,x}function L(x,A){for(var E=0;E0?this.tail.next=I:this.head=I,this.tail=I,++this.length}},{key:"unshift",value:function(E){var I={data:E,next:this.head};0===this.length&&(this.tail=I),this.head=I,++this.length}},{key:"shift",value:function(){if(0!==this.length){var E=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,E}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(E){if(0===this.length)return"";for(var I=this.head,H=""+I.data;I=I.next;)H+=E+I.data;return H}},{key:"concat",value:function(E){if(0===this.length)return R.alloc(0);for(var I=R.allocUnsafe(E>>>0),H=this.head,M=0;H;)b(H.data,I,M),M+=H.data.length,H=H.next;return I}},{key:"consume",value:function(E,I){var H;return EP.length?P.length:E;if(M+=Z===P.length?P:P.slice(0,E),0==(E-=Z)){Z===P.length?(++H,this.head=I.next?I.next:this.tail=null):(this.head=I,I.data=P.slice(Z));break}++H}return this.length-=H,M}},{key:"_getBuffer",value:function(E){var I=R.allocUnsafe(E),H=this.head,M=1;for(H.data.copy(I),E-=H.data.length;H=H.next;){var P=H.data,Z=E>P.length?P.length:E;if(P.copy(I,I.length-E,0,Z),0==(E-=Z)){Z===P.length?(++M,this.head=H.next?H.next:this.tail=null):(this.head=H,H.data=P.slice(Z));break}++M}return this.length-=M,I}},{key:v,value:function(E,I){return y(this,function(x){for(var A=1;A0,function(ne){H||(H=ne),ne&&M.forEach(T),!S&&(M.forEach(T),I(H))})});return A.reduce(y)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(Q,we,fe){"use strict";var K=Q("../../../errors").codes.ERR_INVALID_OPT_VALUE;we.exports={getHighWaterMark:function(Y,L,w,C){var R=function(Y,L,w){return null!=Y.highWaterMark?Y.highWaterMark:L?Y[w]:null}(L,C,w);if(null!=R){if(!isFinite(R)||Math.floor(R)!==R||R<0)throw new K(C?w:"highWaterMark",R);return Math.floor(R)}return Y.objectMode?16:16384}}},{"../../../errors":67}],80:[function(Q,we,fe){we.exports=Q("events").EventEmitter},{events:8}],81:[function(Q,we,fe){(fe=we.exports=Q("./lib/_stream_readable.js")).Stream=fe,fe.Readable=fe,fe.Writable=Q("./lib/_stream_writable.js"),fe.Duplex=Q("./lib/_stream_duplex.js"),fe.Transform=Q("./lib/_stream_transform.js"),fe.PassThrough=Q("./lib/_stream_passthrough.js"),fe.finished=Q("./lib/internal/streams/end-of-stream.js"),fe.pipeline=Q("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(Q,we,fe){"use strict";Object.defineProperty(fe,"__esModule",{value:!0}),function(V){for(var F in V)fe.hasOwnProperty(F)||(fe[F]=V[F])}(Q("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(Q,we,fe){"use strict";function V(L){const w=[];let C=0;for(;CR.join("")).join("/")}function F(L,w){let C=w+1;w>=0?"/"===L[w+1]&&"/"===L[w+2]&&(C=w+3):"/"===L[0]&&"/"===L[1]&&(C=2);const R=L.indexOf("/",C);return R<0?L:L.substr(0,R)+V(L.substr(R))}function Y(L){return!L||"#"===L||"?"===L||"/"===L}Object.defineProperty(fe,"__esModule",{value:!0}),fe.resolve=function(L,w){const C=(w=w||"").indexOf("#");if(C>0&&(w=w.substr(0,C)),!L.length){if(w.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${w}' for value '${L}'`);return w}if(L.startsWith("?")){const A=w.indexOf("?");return A>0&&(w=w.substr(0,A)),w+L}if(L.startsWith("#"))return w+L;if(!w.length){const A=L.indexOf(":");if(A<0)throw new Error(`Found invalid relative IRI '${L}' for a missing baseIRI`);return F(L,A)}const R=L.indexOf(":");if(R>=0)return F(L,R);const T=w.indexOf(":");if(T<0)throw new Error(`Found invalid baseIRI '${w}' for value '${L}'`);const y=w.substr(0,T+1);if(0===L.indexOf("//"))return y+F(L,R);let v;if(w.indexOf("//",T)===T+1){if(v=w.indexOf("/",T+3),v<0)return w.length>T+3?w+"/"+F(L,R):y+F(L,R)}else if(v=w.indexOf("/",T+1),v<0)return y+F(L,R);if(0===L.indexOf("/"))return w.substr(0,v)+V(L);let b=w.substr(v);const x=b.lastIndexOf("/");return x>=0&&x"===le?(re(q,"onsgmldeclaration",q.sgmlDecl),q.sgmlDecl="",q.state=te.TEXT):(G(le)&&(q.state=te.SGML_DECL_QUOTED),q.sgmlDecl+=le);continue;case te.SGML_DECL_QUOTED:le===q.q&&(q.state=te.SGML_DECL,q.q=""),q.sgmlDecl+=le;continue;case te.DOCTYPE:">"===le?(q.state=te.TEXT,re(q,"ondoctype",q.doctype),q.doctype=!0):(q.doctype+=le,"["===le?q.state=te.DOCTYPE_DTD:G(le)&&(q.state=te.DOCTYPE_QUOTED,q.q=le));continue;case te.DOCTYPE_QUOTED:q.doctype+=le,le===q.q&&(q.q="",q.state=te.DOCTYPE);continue;case te.DOCTYPE_DTD:q.doctype+=le,"]"===le?q.state=te.DOCTYPE:G(le)&&(q.state=te.DOCTYPE_DTD_QUOTED,q.q=le);continue;case te.DOCTYPE_DTD_QUOTED:q.doctype+=le,le===q.q&&(q.state=te.DOCTYPE_DTD,q.q="");continue;case te.COMMENT:"-"===le?q.state=te.COMMENT_ENDING:q.comment+=le;continue;case te.COMMENT_ENDING:"-"===le?(q.state=te.COMMENT_ENDED,q.comment=Fe(q.opt,q.comment),q.comment&&re(q,"oncomment",q.comment),q.comment=""):(q.comment+="-"+le,q.state=te.COMMENT);continue;case te.COMMENT_ENDED:">"!==le?(J(q,"Malformed comment"),q.comment+="--"+le,q.state=te.COMMENT):q.state=te.TEXT;continue;case te.CDATA:"]"===le?q.state=te.CDATA_ENDING:q.cdata+=le;continue;case te.CDATA_ENDING:"]"===le?q.state=te.CDATA_ENDING_2:(q.cdata+="]"+le,q.state=te.CDATA);continue;case te.CDATA_ENDING_2:">"===le?(q.cdata&&re(q,"oncdata",q.cdata),re(q,"onclosecdata"),q.cdata="",q.state=te.TEXT):"]"===le?q.cdata+="]":(q.cdata+="]]"+le,q.state=te.CDATA);continue;case te.PROC_INST:"?"===le?q.state=te.PROC_INST_ENDING:S(le)?q.state=te.PROC_INST_BODY:q.procInstName+=le;continue;case te.PROC_INST_BODY:if(!q.procInstBody&&S(le))continue;"?"===le?q.state=te.PROC_INST_ENDING:q.procInstBody+=le;continue;case te.PROC_INST_ENDING:">"===le?(re(q,"onprocessinginstruction",{name:q.procInstName,body:q.procInstBody}),q.procInstName=q.procInstBody="",q.state=te.TEXT):(q.procInstBody+="?"+le,q.state=te.PROC_INST_BODY);continue;case te.OPEN_TAG:ce(M,le)?q.tagName+=le:(ae(q),">"===le?xe(q):"/"===le?q.state=te.OPEN_TAG_SLASH:(S(le)||J(q,"Invalid character in tag name"),q.state=te.ATTRIB));continue;case te.OPEN_TAG_SLASH:">"===le?(xe(q,!0),Ge(q)):(J(q,"Forward-slash in opening tag not followed by >"),q.state=te.ATTRIB);continue;case te.ATTRIB:if(S(le))continue;">"===le?xe(q):"/"===le?q.state=te.OPEN_TAG_SLASH:ce(H,le)?(q.attribName=le,q.attribValue="",q.state=te.ATTRIB_NAME):J(q,"Invalid attribute name");continue;case te.ATTRIB_NAME:"="===le?q.state=te.ATTRIB_VALUE:">"===le?(J(q,"Attribute without value"),q.attribValue=q.attribName,Te(q),xe(q)):S(le)?q.state=te.ATTRIB_NAME_SAW_WHITE:ce(M,le)?q.attribName+=le:J(q,"Invalid attribute name");continue;case te.ATTRIB_NAME_SAW_WHITE:if("="===le)q.state=te.ATTRIB_VALUE;else{if(S(le))continue;J(q,"Attribute without value"),q.tag.attributes[q.attribName]="",q.attribValue="",re(q,"onattribute",{name:q.attribName,value:""}),q.attribName="",">"===le?xe(q):ce(H,le)?(q.attribName=le,q.state=te.ATTRIB_NAME):(J(q,"Invalid attribute name"),q.state=te.ATTRIB)}continue;case te.ATTRIB_VALUE:if(S(le))continue;G(le)?(q.q=le,q.state=te.ATTRIB_VALUE_QUOTED):(J(q,"Unquoted attribute value"),q.state=te.ATTRIB_VALUE_UNQUOTED,q.attribValue=le);continue;case te.ATTRIB_VALUE_QUOTED:if(le!==q.q){"&"===le?q.state=te.ATTRIB_VALUE_ENTITY_Q:q.attribValue+=le;continue}Te(q),q.q="",q.state=te.ATTRIB_VALUE_CLOSED;continue;case te.ATTRIB_VALUE_CLOSED:S(le)?q.state=te.ATTRIB:">"===le?xe(q):"/"===le?q.state=te.OPEN_TAG_SLASH:ce(H,le)?(J(q,"No whitespace between attributes"),q.attribName=le,q.attribValue="",q.state=te.ATTRIB_NAME):J(q,"Invalid attribute name");continue;case te.ATTRIB_VALUE_UNQUOTED:if(!ne(le)){"&"===le?q.state=te.ATTRIB_VALUE_ENTITY_U:q.attribValue+=le;continue}Te(q),">"===le?xe(q):q.state=te.ATTRIB;continue;case te.CLOSE_TAG:if(q.tagName)">"===le?Ge(q):ce(M,le)?q.tagName+=le:q.script?(q.script+=""===le?Ge(q):J(q,"Invalid characters in closing tag");continue;case te.TEXT_ENTITY:case te.ATTRIB_VALUE_ENTITY_Q:case te.ATTRIB_VALUE_ENTITY_U:var gt,Ae;switch(q.state){case te.TEXT_ENTITY:gt=te.TEXT,Ae="textNode";break;case te.ATTRIB_VALUE_ENTITY_Q:gt=te.ATTRIB_VALUE_QUOTED,Ae="attribValue";break;case te.ATTRIB_VALUE_ENTITY_U:gt=te.ATTRIB_VALUE_UNQUOTED,Ae="attribValue"}";"===le?(q[Ae]+=Se(q),q.entity="",q.state=gt):ce(q.entity.length?Z:P,le)?q.entity+=le:(J(q,"Invalid character in entity name"),q[Ae]+="&"+q.entity+le,q.entity="",q.state=gt);continue;default:throw new Error(q,"Unknown state: "+q.state)}return q.position>=q.bufferCheckPosition&&function(X){for(var q=Math.max(V.MAX_BUFFER_LENGTH,10),ge=0,le=0,qe=F.length;leq)switch(F[le]){case"textNode":ve(X);break;case"cdata":re(X,"oncdata",X.cdata),X.cdata="";break;case"script":re(X,"onscript",X.script),X.script="";break;default:Qe(X,"Max buffer length exceeded: "+F[le])}ge=Math.max(ge,_t)}X.bufferCheckPosition=V.MAX_BUFFER_LENGTH-ge+X.position}(q),q},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(X){ve(X),""!==X.cdata&&(re(X,"oncdata",X.cdata),X.cdata=""),""!==X.script&&(re(X,"onscript",X.script),X.script="")}(this)}};try{R=Q("stream").Stream}catch(X){R=function(){}}var T=V.EVENTS.filter(function(X){return"error"!==X&&"end"!==X});function v(X,q){if(!(this instanceof v))return new v(X,q);R.apply(this),this._parser=new Y(X,q),this.writable=!0,this.readable=!0;var ge=this;this._parser.onend=function(){ge.emit("end")},this._parser.onerror=function(le){ge.emit("error",le),ge._parser.error=null},this._decoder=null,T.forEach(function(le){Object.defineProperty(ge,"on"+le,{get:function(){return ge._parser["on"+le]},set:function(qe){if(!qe)return ge.removeAllListeners(le),ge._parser["on"+le]=qe,qe;ge.on(le,qe)},enumerable:!0,configurable:!1})})}(v.prototype=Object.create(R.prototype,{constructor:{value:v}})).write=function(X){if("function"==typeof K&&"function"==typeof K.isBuffer&&K.isBuffer(X)){if(!this._decoder){var q=Q("string_decoder").StringDecoder;this._decoder=new q("utf8")}X=this._decoder.write(X)}return this._parser.write(X.toString()),this.emit("data",X),!0},v.prototype.end=function(X){return X&&X.length&&this.write(X),this._parser.end(),!0},v.prototype.on=function(X,q){var ge=this;return!ge._parser["on"+X]&&-1!==T.indexOf(X)&&(ge._parser["on"+X]=function(){var le=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);le.splice(0,0,X),ge.emit.apply(ge,le)}),R.prototype.on.call(ge,X,q)};var A="http://www.w3.org/XML/1998/namespace",E="http://www.w3.org/2000/xmlns/",I={xml:A,xmlns:E},H=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,M=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,P=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,Z=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function S(X){return" "===X||"\n"===X||"\r"===X||"\t"===X}function G(X){return'"'===X||"'"===X}function ne(X){return">"===X||S(X)}function ce(X,q){return X.test(q)}function se(X,q){return!ce(X,q)}var X,q,ge,te=0;for(var Ie in V.STATE={BEGIN:te++,BEGIN_WHITESPACE:te++,TEXT:te++,TEXT_ENTITY:te++,OPEN_WAKA:te++,SGML_DECL:te++,SGML_DECL_QUOTED:te++,DOCTYPE:te++,DOCTYPE_QUOTED:te++,DOCTYPE_DTD:te++,DOCTYPE_DTD_QUOTED:te++,COMMENT_STARTING:te++,COMMENT:te++,COMMENT_ENDING:te++,COMMENT_ENDED:te++,CDATA:te++,CDATA_ENDING:te++,CDATA_ENDING_2:te++,PROC_INST:te++,PROC_INST_BODY:te++,PROC_INST_ENDING:te++,OPEN_TAG:te++,OPEN_TAG_SLASH:te++,ATTRIB:te++,ATTRIB_NAME:te++,ATTRIB_NAME_SAW_WHITE:te++,ATTRIB_VALUE:te++,ATTRIB_VALUE_QUOTED:te++,ATTRIB_VALUE_CLOSED:te++,ATTRIB_VALUE_UNQUOTED:te++,ATTRIB_VALUE_ENTITY_Q:te++,ATTRIB_VALUE_ENTITY_U:te++,CLOSE_TAG:te++,CLOSE_TAG_SAW_WHITE:te++,SCRIPT:te++,SCRIPT_ENDING:te++},V.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},V.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(V.ENTITIES).forEach(function(X){var q=V.ENTITIES[X],ge="number"==typeof q?String.fromCharCode(q):q;V.ENTITIES[X]=ge}),V.STATE)V.STATE[V.STATE[Ie]]=Ie;function ye(X,q,ge){X[q]&&X[q](ge)}function re(X,q,ge){X.textNode&&ve(X),ye(X,q,ge)}function ve(X){X.textNode=Fe(X.opt,X.textNode),X.textNode&&ye(X,"ontext",X.textNode),X.textNode=""}function Fe(X,q){return X.trim&&(q=q.trim()),X.normalize&&(q=q.replace(/\s+/g," ")),q}function Qe(X,q){return ve(X),X.trackPosition&&(q+="\nLine: "+X.line+"\nColumn: "+X.column+"\nChar: "+X.c),q=new Error(q),X.error=q,ye(X,"onerror",q),X}function He(X){return X.sawRoot&&!X.closedRoot&&J(X,"Unclosed root tag"),X.state!==te.BEGIN&&X.state!==te.BEGIN_WHITESPACE&&X.state!==te.TEXT&&Qe(X,"Unexpected end"),ve(X),X.c="",X.closed=!0,ye(X,"onend"),Y.call(X,X.strict,X.opt),X}function J(X,q){if("object"!=typeof X||!(X instanceof Y))throw new Error("bad call to strictFail");X.strict&&Qe(X,q)}function ae(X){X.strict||(X.tagName=X.tagName[X.looseCase]());var q=X.tags[X.tags.length-1]||X,ge=X.tag={name:X.tagName,attributes:{}};X.opt.xmlns&&(ge.ns=q.ns),X.attribList.length=0,re(X,"onopentagstart",ge)}function _e(X,q){var le=X.indexOf(":")<0?["",X]:X.split(":"),qe=le[0],_t=le[1];return q&&"xmlns"===X&&(qe="xmlns",_t=""),{prefix:qe,local:_t}}function Te(X){if(X.strict||(X.attribName=X.attribName[X.looseCase]()),-1!==X.attribList.indexOf(X.attribName)||X.tag.attributes.hasOwnProperty(X.attribName))X.attribName=X.attribValue="";else{if(X.opt.xmlns){var q=_e(X.attribName,!0),le=q.local;if("xmlns"===q.prefix)if("xml"===le&&X.attribValue!==A)J(X,"xml: prefix must be bound to "+A+"\nActual: "+X.attribValue);else if("xmlns"===le&&X.attribValue!==E)J(X,"xmlns: prefix must be bound to "+E+"\nActual: "+X.attribValue);else{var qe=X.tag,_t=X.tags[X.tags.length-1]||X;qe.ns===_t.ns&&(qe.ns=Object.create(_t.ns)),qe.ns[le]=X.attribValue}X.attribList.push([X.attribName,X.attribValue])}else X.tag.attributes[X.attribName]=X.attribValue,re(X,"onattribute",{name:X.attribName,value:X.attribValue});X.attribName=X.attribValue=""}}function xe(X,q){if(X.opt.xmlns){var ge=X.tag,le=_e(X.tagName);ge.prefix=le.prefix,ge.local=le.local,ge.uri=ge.ns[le.prefix]||"",ge.prefix&&!ge.uri&&(J(X,"Unbound namespace prefix: "+JSON.stringify(X.tagName)),ge.uri=le.prefix),ge.ns&&(X.tags[X.tags.length-1]||X).ns!==ge.ns&&Object.keys(ge.ns).forEach(function(On){re(X,"onopennamespace",{prefix:On,uri:ge.ns[On]})});for(var _t=0,gt=X.attribList.length;_t",X.tagName="",void(X.state=te.SCRIPT);re(X,"onscript",X.script),X.script=""}var q=X.tags.length,ge=X.tagName;X.strict||(ge=ge[X.looseCase]());for(var le=ge;q--&&X.tags[q].name!==le;)J(X,"Unexpected close tag");if(q<0)return J(X,"Unmatched closing tag: "+X.tagName),X.textNode+="",void(X.state=te.TEXT);X.tagName=ge;for(var _t=X.tags.length;_t-- >q;){var gt=X.tag=X.tags.pop();X.tagName=X.tag.name,re(X,"onclosetag",X.tagName);var Ae={};for(var U in gt.ns)Ae[U]=gt.ns[U];X.opt.xmlns&>.ns!==(X.tags[X.tags.length-1]||X).ns&&Object.keys(gt.ns).forEach(function(z){re(X,"onclosenamespace",{prefix:z,uri:gt.ns[z]})})}0===q&&(X.closedRoot=!0),X.tagName=X.attribValue=X.attribName="",X.attribList.length=0,X.state=te.TEXT}function Se(X){var le,q=X.entity,ge=q.toLowerCase(),qe="";return X.ENTITIES[q]?X.ENTITIES[q]:X.ENTITIES[ge]?X.ENTITIES[ge]:("#"===(q=ge).charAt(0)&&("x"===q.charAt(1)?(q=q.slice(2),qe=(le=parseInt(q,16)).toString(16)):(q=q.slice(1),qe=(le=parseInt(q,10)).toString(10))),q=q.replace(/^0+/,""),isNaN(le)||qe.toLowerCase()!==q?(J(X,"Invalid character entity"),"&"+X.entity+";"):String.fromCodePoint(le))}function Ue(X,q){"<"===q?(X.state=te.OPEN_WAKA,X.startTagPosition=X.position):S(q)||(J(X,"Non-whitespace before first tag."),X.textNode=q,X.state=te.TEXT)}function Ke(X,q){var ge="";return q1114111||q(z)!==z)throw RangeError("Invalid code point: "+z);z<=65535?qe.push(z):qe.push(55296+((z-=65536)>>10),z%1024+56320),(Ae+1===U||qe.length>le)&&(k+=X.apply(null,qe),qe.length=0)}return k},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:ge,configurable:!0,writable:!0}):String.fromCodePoint=ge)}(void 0===fe?this.sax={}:fe)}).call(this)}).call(this,Q("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(Q,we,fe){(function(K,V){(function(){!function(F,Y){"use strict";if(!F.setImmediate){var T,L=1,w={},C=!1,R=F.document,Z=Object.getPrototypeOf&&Object.getPrototypeOf(F);Z=Z&&Z.setTimeout?Z:F,"[object process]"==={}.toString.call(F.process)?T=function(S){K.nextTick(function(){x(S)})}:function(){if(F.postMessage&&!F.importScripts){var S=!0,G=F.onmessage;return F.onmessage=function(){S=!1},F.postMessage("","*"),F.onmessage=G,S}}()?(S="setImmediate$"+Math.random()+"$",G=function(ne){ne.source===F&&"string"==typeof ne.data&&0===ne.data.indexOf(S)&&x(+ne.data.slice(S.length))},F.addEventListener?F.addEventListener("message",G,!1):F.attachEvent("onmessage",G),T=function(ne){F.postMessage(S+ne,"*")}):F.MessageChannel?function(){var S=new MessageChannel;S.port1.onmessage=function(G){x(G.data)},T=function(G){S.port2.postMessage(G)}}():R&&"onreadystatechange"in R.createElement("script")?function(){var S=R.documentElement;T=function(G){var ne=R.createElement("script");ne.onreadystatechange=function(){x(G),ne.onreadystatechange=null,S.removeChild(ne),ne=null},S.appendChild(ne)}}():T=function(S){setTimeout(x,0,S)},Z.setImmediate=function(S){"function"!=typeof S&&(S=new Function(""+S));for(var G=new Array(arguments.length-1),ne=0;ne=0&&(T._idleTimeoutId=setTimeout(function(){T._onTimeout&&T._onTimeout()},y))},fe.setImmediate="function"==typeof K?K:function(T){var y=C++,v=!(arguments.length<2)&&L.call(arguments,1);return w[y]=!0,F(function(){w[y]&&(v?T.apply(null,v):T.call(null),fe.clearImmediate(y))}),y},fe.clearImmediate="function"==typeof V?V:function(T){delete w[T]}}).call(this)}).call(this,Q("timers").setImmediate,Q("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(Q,we,fe){(function(K){(function(){function F(Y){try{if(!K.localStorage)return!1}catch(w){return!1}var L=K.localStorage[Y];return null!=L&&"true"===String(L).toLowerCase()}we.exports=function(Y,L){if(F("noDeprecation"))return Y;var w=!1;return function(){if(!w){if(F("throwDeprecation"))throw new Error(L);F("traceDeprecation")?console.trace(L):console.warn(L),w=!0}return Y.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(Q,we,fe){"use strict";we.exports=function(K){K.prototype[Symbol.iterator]=function*(){for(let V=this.head;V;V=V.next)yield V.value}}},{}],92:[function(Q,we,fe){"use strict";function K(w){var C=this;if(C instanceof K||(C=new K),C.tail=null,C.head=null,C.length=0,w&&"function"==typeof w.forEach)w.forEach(function(y){C.push(y)});else if(arguments.length>0)for(var R=0,T=arguments.length;R1)R=C;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");T=this.head.next,R=this.head.value}for(var y=0;null!==T;y++)R=w(R,T.value,y),T=T.next;return R},K.prototype.reduceReverse=function(w,C){var R,T=this.tail;if(arguments.length>1)R=C;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");T=this.tail.prev,R=this.tail.value}for(var y=this.length-1;null!==T;y--)R=w(R,T.value,y),T=T.prev;return R},K.prototype.toArray=function(){for(var w=new Array(this.length),C=0,R=this.head;null!==R;C++)w[C]=R.value,R=R.next;return w},K.prototype.toArrayReverse=function(){for(var w=new Array(this.length),C=0,R=this.tail;null!==R;C++)w[C]=R.value,R=R.prev;return w},K.prototype.slice=function(w,C){(C=C||this.length)<0&&(C+=this.length),(w=w||0)<0&&(w+=this.length);var R=new K;if(Cthis.length&&(C=this.length);for(var T=0,y=this.head;null!==y&&Tthis.length&&(C=this.length);for(var T=this.length,y=this.tail;null!==y&&T>C;T--)y=y.prev;for(;null!==y&&T>w;T--,y=y.prev)R.push(y.value);return R},K.prototype.splice=function(w,C,...R){w>this.length&&(w=this.length-1),w<0&&(w=this.length+w);for(var T=0,y=this.head;null!==y&&T{"use strict";jt.exports=Je,jt.exports.default=Je;var Ye=1e20;function Je(Q,we,fe,K,V,F){this.fontSize=Q||24,this.buffer=void 0===we?3:we,this.cutoff=K||.25,this.fontFamily=V||"sans-serif",this.fontWeight=F||"normal",this.radius=fe||8;var Y=this.size=this.fontSize+2*this.buffer,L=Y+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=Y,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(L*L),this.gridInner=new Float64Array(L*L),this.f=new Float64Array(L),this.z=new Float64Array(L+1),this.v=new Uint16Array(L),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(Y/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function Et(Q,we,fe,K,V,F){for(var Y=0;Y-1);F[++w]=L,Y[w]=C,Y[w+1]=Ye}for(L=0,w=0;L{jt.exports=function(Je,lt){var ee=lt.length;if(0!==ee){var Et=Je.length;Je.length+=ee;for(var je=0;je{"use strict";var lt=(()=>{return(Et=lt||(lt={})).typeOfFunction="function",Et.boolTrue=!0,lt;var Et})();function ee(Et,je,Q){if(!Q||typeof Q.value!==lt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+je+"> is not a method!");return{configurable:lt.boolTrue,get:function(){var we=Q.value.bind(this);return Object.defineProperty(this,je,{value:we,configurable:lt.boolTrue,writable:lt.boolTrue}),we}}}Ye.ak=ee,Ye.ZP=ee},266:(jt,Ye,Je)=>{jt.exports={ResizeSensor:Je(835),ElementQueries:Je(845)}},845:function(jt,Ye,Je){"use strict";var lt,ee,Et;"undefined"!=typeof window&&window,ee=[Je(835)],void 0!==(Et="function"==typeof(lt=function(je){var Q=function(){var fe,K={},V=[];function F(M){M||(M=document.documentElement);var P=window.getComputedStyle(M,null).fontSize;return parseFloat(P)||16}function L(M,P){var Z=P.split(/\d/),S=Z[Z.length-1];switch(P=parseFloat(P),S){case"px":return P;case"em":return P*F(M);case"rem":return P*F();case"vw":return P*document.documentElement.clientWidth/100;case"vh":return P*document.documentElement.clientHeight/100;case"vmin":case"vmax":var G=document.documentElement.clientWidth/100,ne=document.documentElement.clientHeight/100;return P*(0,Math["vmin"===S?"min":"max"])(G,ne);default:return P}}function w(M,P){this.element=M;var Z,S,G,ne,ce,se,te,Ie,ye=["min-width","min-height","max-width","max-height"];this.call=function(){for(Z in G=function(M){if(!M.getBoundingClientRect)return{width:M.offsetWidth,height:M.offsetHeight};var P=M.getBoundingClientRect();return{width:Math.round(P.width),height:Math.round(P.height)}}(this.element),se={},K[P])!K[P].hasOwnProperty(Z)||(ne=L(this.element,(S=K[P][Z]).value),ce="width"===S.property?G.width:G.height,te="","min"===S.mode&&ce>=ne&&(te+=S.value),"max"===S.mode&&ce<=ne&&(te+=S.value),se[Ie=S.mode+"-"+S.property]||(se[Ie]=""),te&&-1===(" "+se[Ie]+" ").indexOf(" "+te+" ")&&(se[Ie]+=" "+te));for(var re in ye)!ye.hasOwnProperty(re)||(se[ye[re]]?this.element.setAttribute(ye[re],se[ye[re]].substr(1)):this.element.removeAttribute(ye[re]))}}function C(M,P){M.elementQueriesSetupInformation||(M.elementQueriesSetupInformation=new w(M,P)),M.elementQueriesSensor||(M.elementQueriesSensor=new je(M,function(){M.elementQueriesSetupInformation.call()}))}function R(M,P,Z,S){if(void 0===K[M]){K[M]=[];var G=V.length;fe.innerHTML+="\n"+M+" {animation: 0.1s element-queries;}",fe.innerHTML+="\n"+M+" > .resize-sensor {min-width: "+G+"px;}",V.push(M)}K[M].push({mode:P,property:Z,value:S})}function T(M){var P;if(document.querySelectorAll&&(P=M?M.querySelectorAll.bind(M):document.querySelectorAll.bind(document)),!P&&"undefined"!=typeof $$&&(P=$$),!P&&"undefined"!=typeof jQuery&&(P=jQuery),!P)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return P}function v(M){var P=[],Z=[],S=[],G=0,ne=-1,ce=[];for(var se in M.children)if(M.children.hasOwnProperty(se)&&M.children[se].tagName&&"img"===M.children[se].tagName.toLowerCase()){P.push(M.children[se]);var te=M.children[se].getAttribute("min-width")||M.children[se].getAttribute("data-min-width"),Ie=M.children[se].getAttribute("data-src")||M.children[se].getAttribute("url");S.push(Ie),Z.push({minWidth:te}),te?M.children[se].style.display="none":(G=P.length-1,M.children[se].style.display="block")}function re(){var Fe,ve=!1;for(Fe in P)!P.hasOwnProperty(Fe)||Z[Fe].minWidth&&M.offsetWidth>Z[Fe].minWidth&&(ve=Fe);if(ve||(ve=G),ne!==ve)if(ce[ve])P[ne].style.display="none",P[ve].style.display="block",ne=ve;else{var Qe=new Image;Qe.onload=function(){P[ve].src=S[ve],P[ne].style.display="none",P[ve].style.display="block",ce[ve]=!0,ne=ve},Qe.src=S[ve]}else P[ve].src=S[ve]}ne=G,M.resizeSensorInstance=new je(M,re),re()}var x=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,A=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function E(M){var P,Z,S,G;for(M=M.replace(/'/g,'"');null!==(P=x.exec(M));)for(Z=P[1]+P[3],S=P[2];null!==(G=A.exec(S));)R(Z,G[1],G[2],G[3])}function I(M){var P="";if(M)if("string"==typeof M)(-1!==(M=M.toLowerCase()).indexOf("min-width")||-1!==M.indexOf("max-width"))&&E(M);else for(var Z=0,S=M.length;Z img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",fe.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(fe),H=!0);for(var P=0,Z=document.styleSheets.length;P{var lt=Je(910),ee=Je(369),Et=Je(322);function je(Y,L,w){if(!lt(Y))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!Y.hasNode(L))throw new Error('graphology-shortest-path: the "'+L+'" source node does not exist in the given graph.');if(!Y.hasNode(w))throw new Error('graphology-shortest-path: the "'+w+'" target node does not exist in the given graph.');if((L=""+L)==(w=""+w))return[L];var C=Y.inboundNeighbors.bind(Y),R=Y.outboundNeighbors.bind(Y),T={},y={};T[L]=null,y[w]=null;var x,A,E,I,H,M,P,Z,v=[L],b=[w],S=!1;e:for(;v.length&&b.length;)if(v.length<=b.length){for(x=v,v=[],H=0,P=x.length;H{jt.exports=function(Je){return null!==Je&&"object"==typeof Je&&"function"==typeof Je.addUndirectedEdgeWithKey&&"function"==typeof Je.dropNode&&"boolean"==typeof Je.multi}},698:function(jt){jt.exports=function(){"use strict";function Ye(oe){return(Ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(me){return typeof me}:function(me){return me&&"function"==typeof Symbol&&me.constructor===Symbol&&me!==Symbol.prototype?"symbol":typeof me})(oe)}function Je(oe,me){oe.prototype=Object.create(me.prototype),oe.prototype.constructor=oe,ee(oe,me)}function lt(oe){return(lt=Object.setPrototypeOf?Object.getPrototypeOf:function(me){return me.__proto__||Object.getPrototypeOf(me)})(oe)}function ee(oe,me){return(ee=Object.setPrototypeOf||function(ue,N){return ue.__proto__=N,ue})(oe,me)}function Et(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(oe){return!1}}function je(oe,me,ue){return(je=Et()?Reflect.construct:function(N,j,ie){var Me=[null];Me.push.apply(Me,j);var ze=new(Function.bind.apply(N,Me));return ie&&ee(ze,ie.prototype),ze}).apply(null,arguments)}function Q(oe){var me="function"==typeof Map?new Map:void 0;return(Q=function(ue){if(null===ue||-1===Function.toString.call(ue).indexOf("[native code]"))return ue;if("function"!=typeof ue)throw new TypeError("Super expression must either be null or a function");if(void 0!==me){if(me.has(ue))return me.get(ue);me.set(ue,j)}function j(){return je(ue,arguments,lt(this).constructor)}return j.prototype=Object.create(ue.prototype,{constructor:{value:j,enumerable:!1,writable:!0,configurable:!0}}),ee(j,ue)})(oe)}function we(oe){if(void 0===oe)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return oe}var fe=function(){for(var oe=arguments[0],me=1,ue=arguments.length;me0&&Me.length>j&&!Me.warned){Me.warned=!0;var st=new Error("Possible EventEmitter memory leak detected. "+Me.length+" "+String(me)+" listeners added. Use emitter.setMaxListeners() to increase limit");st.name="MaxListenersExceededWarning",st.emitter=oe,st.type=me,st.count=Me.length,console&&console.warn&&console.warn(st)}return oe}function M(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function P(oe,me,ue){var N={fired:!1,wrapFn:void 0,target:oe,type:me,listener:ue},j=M.bind(N);return j.listener=ue,N.wrapFn=j,j}function Z(oe,me,ue){var N=oe._events;if(void 0===N)return[];var j=N[me];return void 0===j?[]:"function"==typeof j?ue?[j.listener||j]:[j]:ue?function(ie){for(var Me=new Array(ie.length),ze=0;ze0&&(ie=me[0]),ie instanceof Error)throw ie;var Me=new Error("Unhandled error."+(ie?" ("+ie.message+")":""));throw Me.context=ie,Me}var ze=j[oe];if(void 0===ze)return!1;if("function"==typeof ze)v(ze,this,me);else{var st=ze.length,Ot=G(ze,st);for(ue=0;ue=0;ie--)if(ue[ie]===me||ue[ie].listener===me){Me=ue[ie].listener,j=ie;break}if(j<0)return this;0===j?ue.shift():function(ze,st){for(;st+1=0;N--)this.removeListener(oe,me[N]);return this},x.prototype.listeners=function(oe){return Z(this,oe,!0)},x.prototype.rawListeners=function(oe){return Z(this,oe,!1)},x.listenerCount=function(oe,me){return"function"==typeof oe.listenerCount?oe.listenerCount(me):S.call(oe,me)},x.prototype.listenerCount=S,x.prototype.eventNames=function(){return this._eventsCount>0?R(this._events):[]},ce.prototype.next=function(){if(this.done)return{done:!0};var oe=this._next();return oe.done&&(this.done=!0),oe},"undefined"!=typeof Symbol&&(ce.prototype[Symbol.iterator]=function(){return this}),ce.of=function(){var oe=arguments,me=oe.length,ue=0;return new ce(function(){return ue>=me?{done:!0}:{done:!1,value:oe[ue++]}})},ce.empty=function(){var oe=new ce(null);return oe.done=!0,oe},ce.is=function(oe){return oe instanceof ce||"object"==typeof oe&&null!==oe&&"function"==typeof oe.next};var se=ce,te=function(oe,me){for(var ue,N=arguments.length>1?me:1/0,j=N!==1/0?new Array(N):[],ie=0;;){if(ie===N)return j;if((ue=oe.next()).done)return ie!==me?j.slice(0,ie):j;j[ie++]=ue.value}},Ie=function(oe){function me(ue,N){var j;return(j=oe.call(this)||this).name="GraphError",j.message=ue||"",j.data=N||{},j}return Je(me,oe),me}(Q(Error)),ye=function(oe){function me(ue,N){var j;return(j=oe.call(this,ue,N)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(we(j),me.prototype.constructor),j}return Je(me,oe),me}(Ie),re=function(oe){function me(ue,N){var j;return(j=oe.call(this,ue,N)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(we(j),me.prototype.constructor),j}return Je(me,oe),me}(Ie),ve=function(oe){function me(ue,N){var j;return(j=oe.call(this,ue,N)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(we(j),me.prototype.constructor),j}return Je(me,oe),me}(Ie);function Fe(oe,me){this.key=oe,this.attributes=me,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function Qe(oe,me){this.key=oe,this.attributes=me,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function He(oe,me){this.key=oe,this.attributes=me,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function J(oe,me,ue,N,j,ie){this.key=me,this.attributes=ie,this.undirected=oe,this.source=N,this.target=j,this.generatedKey=ue}function ae(oe,me,ue,N,j,ie,Me){var ze,st,Ot="out",et="in";if(me&&(Ot=et="undirected"),oe.multi){if(void 0===(st=(ze=ie[Ot])[j])&&(st=new Set,ze[j]=st),st.add(ue),N===j&&me)return;void 0===(ze=Me[et])[N]&&(ze[N]=st)}else{if(ie[Ot][j]=ue,N===j&&me)return;Me[et][N]=ue}}function _e(oe,me,ue){var N=oe.multi,j=ue.source,ie=ue.target,Me=j.key,ze=ie.key,st=j[me?"undirected":"out"],Ot=me?"undirected":"in";if(ze in st)if(N){var et=st[ze];1===et.size?(delete st[ze],delete ie[Ot][Me]):et.delete(ue)}else delete st[ze];N||delete ie[Ot][Me]}Qe.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},He.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var Te=[{name:function(oe){return"get".concat(oe,"Attribute")},attacher:function(oe,me,ue){oe.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==ue&&ue!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Me=""+N,ze=""+j;if(j=arguments[2],!(ie=K(this,Me,ze,ue)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(Me,'" - "').concat(ze,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==ue&&ie.undirected!==("undirected"===ue))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(ue," edge in the graph."));return ie.attributes[j]}}},{name:function(oe){return"get".concat(oe,"Attributes")},attacher:function(oe,me,ue){oe.prototype[me]=function(N){var j;if("mixed"!==this.type&&"mixed"!==ue&&ue!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var ie=""+N,Me=""+arguments[1];if(!(j=K(this,ie,Me,ue)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(ie,'" - "').concat(Me,'").'))}else if(!(j=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==ue&&j.undirected!==("undirected"===ue))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(ue," edge in the graph."));return j.attributes}}},{name:function(oe){return"has".concat(oe,"Attribute")},attacher:function(oe,me,ue){oe.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==ue&&ue!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Me=""+N,ze=""+j;if(j=arguments[2],!(ie=K(this,Me,ze,ue)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(Me,'" - "').concat(ze,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==ue&&ie.undirected!==("undirected"===ue))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(ue," edge in the graph."));return ie.attributes.hasOwnProperty(j)}}},{name:function(oe){return"set".concat(oe,"Attribute")},attacher:function(oe,me,ue){oe.prototype[me]=function(N,j,ie){var Me;if("mixed"!==this.type&&"mixed"!==ue&&ue!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var ze=""+N,st=""+j;if(j=arguments[2],ie=arguments[3],!(Me=K(this,ze,st,ue)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(ze,'" - "').concat(st,'").'))}else if(!(Me=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==ue&&Me.undirected!==("undirected"===ue))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(ue," edge in the graph."));return Me.attributes[j]=ie,this.emit("edgeAttributesUpdated",{key:Me.key,type:"set",attributes:Me.attributes,name:j}),this}}},{name:function(oe){return"update".concat(oe,"Attribute")},attacher:function(oe,me,ue){oe.prototype[me]=function(N,j,ie){var Me;if("mixed"!==this.type&&"mixed"!==ue&&ue!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var ze=""+N,st=""+j;if(j=arguments[2],ie=arguments[3],!(Me=K(this,ze,st,ue)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(ze,'" - "').concat(st,'").'))}else if(!(Me=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("function"!=typeof ie)throw new ye("Graph.".concat(me,": updater should be a function."));if("mixed"!==ue&&Me.undirected!==("undirected"===ue))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(ue," edge in the graph."));return Me.attributes[j]=ie(Me.attributes[j]),this.emit("edgeAttributesUpdated",{key:Me.key,type:"set",attributes:Me.attributes,name:j}),this}}},{name:function(oe){return"remove".concat(oe,"Attribute")},attacher:function(oe,me,ue){oe.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==ue&&ue!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Me=""+N,ze=""+j;if(j=arguments[2],!(ie=K(this,Me,ze,ue)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(Me,'" - "').concat(ze,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==ue&&ie.undirected!==("undirected"===ue))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(ue," edge in the graph."));return delete ie.attributes[j],this.emit("edgeAttributesUpdated",{key:ie.key,type:"remove",attributes:ie.attributes,name:j}),this}}},{name:function(oe){return"replace".concat(oe,"Attributes")},attacher:function(oe,me,ue){oe.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==ue&&ue!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Me=""+N,ze=""+j;if(j=arguments[2],!(ie=K(this,Me,ze,ue)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(Me,'" - "').concat(ze,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if(!F(j))throw new ye("Graph.".concat(me,": provided attributes are not a plain object."));if("mixed"!==ue&&ie.undirected!==("undirected"===ue))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(ue," edge in the graph."));return ie.attributes=j,this.emit("edgeAttributesUpdated",{key:ie.key,type:"replace",attributes:ie.attributes}),this}}},{name:function(oe){return"merge".concat(oe,"Attributes")},attacher:function(oe,me,ue){oe.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==ue&&ue!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Me=""+N,ze=""+j;if(j=arguments[2],!(ie=K(this,Me,ze,ue)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(Me,'" - "').concat(ze,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if(!F(j))throw new ye("Graph.".concat(me,": provided attributes are not a plain object."));if("mixed"!==ue&&ie.undirected!==("undirected"===ue))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(ue," edge in the graph."));return fe(ie.attributes,j),this.emit("edgeAttributesUpdated",{key:ie.key,type:"merge",attributes:ie.attributes,data:j}),this}}}],xe=se,Ge=function(){var oe,me=arguments,ue=-1;return new xe(function N(){if(!oe){if(++ue>=me.length)return{done:!0};oe=me[ue]}var j=oe.next();return j.done?(oe=null,N()):j})},Se=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Ue(oe,me){for(var ue in me)oe.push(me[ue].key)}function Ke(oe,me){for(var ue in me)me[ue].forEach(function(N){return oe.push(N.key)})}function Be(oe,me,ue){for(var N in oe)if(N!==ue){var j=oe[N];me(j.key,j.attributes,j.source.key,j.target.key,j.source.attributes,j.target.attributes,j.undirected,j.generatedKey)}}function X(oe,me,ue){for(var N in oe)N!==ue&&oe[N].forEach(function(j){return me(j.key,j.attributes,j.source.key,j.target.key,j.source.attributes,j.target.attributes,j.undirected,j.generatedKey)})}function q(oe,me,ue){for(var N in oe)if(N!==ue){var j=oe[N];if(me(j.key,j.attributes,j.source.key,j.target.key,j.source.attributes,j.target.attributes,j.undirected,j.generatedKey))return!0}return!1}function ge(oe,me,ue){var N,j,ie,Me,ze;for(var st in oe)if(st!==ue)for(N=oe[st].values();!0!==(j=N.next()).done;)if(Me=(ie=j.value).source,me(ie.key,ie.attributes,Me.key,(ze=ie.target).key,Me.attributes,ze.attributes,ie.undirected,ie.generatedKey))return!0;return!1}function le(oe,me){var ue=Object.keys(oe),N=ue.length,j=null,ie=0;return new se(function Me(){var ze;if(j){var st=j.next();if(st.done)return j=null,ie++,Me();ze=st.value}else{if(ie>=N)return{done:!0};var Ot=ue[ie];if(Ot===me)return ie++,Me();if((ze=oe[Ot])instanceof Set)return j=ze.values(),Me();ie++}return{done:!1,value:[ze.key,ze.attributes,ze.source.key,ze.target.key,ze.source.attributes,ze.target.attributes]}})}function qe(oe,me,ue){var N=me[ue];N&&oe.push(N.key)}function _t(oe,me,ue){var N=me[ue];N&&N.forEach(function(j){return oe.push(j.key)})}function gt(oe,me,ue){var N=oe[me];if(N){var j=N.source,ie=N.target;ue(N.key,N.attributes,j.key,ie.key,j.attributes,ie.attributes,N.undirected,N.generatedKey)}}function Ae(oe,me,ue){var N=oe[me];N&&N.forEach(function(j){return ue(j.key,j.attributes,j.source.key,j.target.key,j.source.attributes,j.target.attributes,j.undirected,j.generatedKey)})}function U(oe,me,ue){var N=oe[me];if(N){var j=N.source,ie=N.target;return ue(N.key,N.attributes,j.key,ie.key,j.attributes,ie.attributes,N.undirected,N.generatedKey)}}function k(oe,me,ue){var N=oe[me];if(N){for(var j,ie,Me=N.values();!0!==(j=Me.next()).done;)if(ue((ie=j.value).key,ie.attributes,ie.source.key,ie.target.key,ie.source.attributes,ie.target.attributes,ie.undirected,ie.generatedKey))return!0;return!1}}function z(oe,me){var ue=oe[me];if(ue instanceof Set){var N=ue.values();return new se(function(){var j=N.next();if(j.done)return j;var ie=j.value;return{done:!1,value:[ie.key,ie.attributes,ie.source.key,ie.target.key,ie.source.attributes,ie.target.attributes]}})}return se.of([ue.key,ue.attributes,ue.source.key,ue.target.key,ue.source.attributes,ue.target.attributes])}function Le(oe,me){if(0===oe.size)return[];if("mixed"===me||me===oe.type)return"function"==typeof Array.from?Array.from(oe._edges.keys()):te(oe._edges.keys(),oe._edges.size);for(var ue,N,ie=new Array("undirected"===me?oe.undirectedSize:oe.directedSize),Me="undirected"===me,ze=oe._edges.values(),st=0;!0!==(ue=ze.next()).done;)(N=ue.value).undirected===Me&&(ie[st++]=N.key);return ie}function nt(oe,me,ue){if(0!==oe.size)for(var N,j,ie="mixed"!==me&&me!==oe.type,Me="undirected"===me,ze=oe._edges.values();!0!==(N=ze.next()).done;)if(j=N.value,!ie||j.undirected===Me){var Wt=j.source,Ct=j.target;ue(j.key,j.attributes,Wt.key,Ct.key,Wt.attributes,Ct.attributes,j.undirected,j.generatedKey)}}function xt(oe,me,ue){if(0!==oe.size)for(var N,j,ie="mixed"!==me&&me!==oe.type,Me="undirected"===me,ze=oe._edges.values();!0!==(N=ze.next()).done;)if(j=N.value,!ie||j.undirected===Me){var Wt=j.source,Ct=j.target;if(ue(j.key,j.attributes,Wt.key,Ct.key,Wt.attributes,Ct.attributes,j.undirected,j.generatedKey))break}}function Nt(oe,me){if(0===oe.size)return se.empty();var ue="mixed"!==me&&me!==oe.type,N="undirected"===me,j=oe._edges.values();return new se(function(){for(var ie,Me;;){if((ie=j.next()).done)return ie;if(Me=ie.value,!ue||Me.undirected===N)break}return{value:[Me.key,Me.attributes,Me.source.key,Me.target.key,Me.source.attributes,Me.target.attributes],done:!1}})}function On(oe,me,ue,N){var j=[],ie=oe?Ke:Ue;return"undirected"!==me&&("out"!==ue&&ie(j,N.in),"in"!==ue&&ie(j,N.out),!ue&&N.directedSelfLoops>0&&j.splice(j.lastIndexOf(N.key),1)),"directed"!==me&&ie(j,N.undirected),j}function kn(oe,me,ue,N,j){var ie=oe?X:Be;"undirected"!==me&&("out"!==ue&&ie(N.in,j),"in"!==ue&&ie(N.out,j,ue?null:N.key)),"directed"!==me&&ie(N.undirected,j)}function Yn(oe,me,ue,N,j){var ie=oe?ge:q;"undirected"!==me&&("out"!==ue&&ie(N.in,j)||"in"!==ue&&ie(N.out,j,ue?null:N.key))||"directed"===me||ie(N.undirected,j)}function Ti(oe,me,ue){var N=se.empty();return"undirected"!==oe&&("out"!==me&&void 0!==ue.in&&(N=Ge(N,le(ue.in))),"in"!==me&&void 0!==ue.out&&(N=Ge(N,le(ue.out,me?null:ue.key)))),"directed"!==oe&&void 0!==ue.undirected&&(N=Ge(N,le(ue.undirected))),N}function wi(oe,me,ue,N,j){var ie=me?_t:qe,Me=[];return"undirected"!==oe&&(void 0!==N.in&&"out"!==ue&&ie(Me,N.in,j),void 0!==N.out&&"in"!==ue&&ie(Me,N.out,j),!ue&&N.directedSelfLoops>0&&Me.splice(Me.lastIndexOf(N.key),1)),"directed"!==oe&&void 0!==N.undirected&&ie(Me,N.undirected,j),Me}function Xr(oe,me,ue,N,j,ie){var Me=me?Ae:gt;"undirected"!==oe&&(void 0!==N.in&&"out"!==ue&&Me(N.in,j,ie),N.key!==j&&void 0!==N.out&&"in"!==ue&&Me(N.out,j,ie)),"directed"!==oe&&void 0!==N.undirected&&Me(N.undirected,j,ie)}function Ls(oe,me,ue,N,j,ie){var Me=me?k:U;"undirected"!==oe&&(void 0!==N.in&&"out"!==ue&&Me(N.in,j,ie)||N.key!==j&&void 0!==N.out&&"in"!==ue&&Me(N.out,j,ie,ue?null:N.key))||"directed"===oe||void 0===N.undirected||Me(N.undirected,j,ie)}function gs(oe,me,ue,N){var j=se.empty();return"undirected"!==oe&&(void 0!==ue.in&&"out"!==me&&N in ue.in&&(j=Ge(j,z(ue.in,N))),void 0!==ue.out&&"in"!==me&&N in ue.out&&(j=Ge(j,z(ue.out,N)))),"directed"!==oe&&void 0!==ue.undirected&&N in ue.undirected&&(j=Ge(j,z(ue.undirected,N))),j}var Bs=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Qr(oe,me){if(void 0!==me)for(var ue in me)oe.add(ue)}function el(oe,me,ue){if("mixed"!==oe){if("undirected"===oe)return Object.keys(ue.undirected);if("string"==typeof me)return Object.keys(ue[me])}var N=new Set;return"undirected"!==oe&&("out"!==me&&Qr(N,ue.in),"in"!==me&&Qr(N,ue.out)),"directed"!==oe&&Qr(N,ue.undirected),te(N.values(),N.size)}function kl(oe,me,ue){for(var N in me){var j=me[N];j instanceof Set&&(j=j.values().next().value);var ie=j.source,ze=ie===oe?j.target:ie;ue(ze.key,ze.attributes)}}function Sa(oe,me,ue,N){for(var j in ue){var ie=ue[j];ie instanceof Set&&(ie=ie.values().next().value);var Me=ie.source,st=Me===me?ie.target:Me;oe.has(st.key)||(oe.add(st.key),N(st.key,st.attributes))}}function Es(oe,me,ue){for(var N in me){var j=me[N];j instanceof Set&&(j=j.values().next().value);var ie=j.source,ze=ie===oe?j.target:ie;if(ue(ze.key,ze.attributes))return!0}return!1}function Jt(oe,me,ue,N){for(var j in ue){var ie=ue[j];ie instanceof Set&&(ie=ie.values().next().value);var Me=ie.source,st=Me===me?ie.target:Me;if(!oe.has(st.key)&&(oe.add(st.key),N(st.key,st.attributes)))return!0}return!1}function tl(oe,me){var ue=Object.keys(me),N=ue.length,j=0;return new se(function(){if(j>=N)return{done:!0};var ie=me[ue[j++]];ie instanceof Set&&(ie=ie.values().next().value);var Me=ie.source,st=Me===oe?ie.target:Me;return{done:!1,value:[st.key,st.attributes]}})}function ot(oe,me,ue){var N=Object.keys(ue),j=N.length,ie=0;return new se(function Me(){if(ie>=j)return{done:!0};var ze=ue[N[ie++]];ze instanceof Set&&(ze=ze.values().next().value);var st=ze.source,et=st===me?ze.target:st;return oe.has(et.key)?Me():(oe.add(et.key),{done:!1,value:[et.key,et.attributes]})})}function ut(oe,me,ue,N,j){var ie=oe._nodes.get(N);if("undirected"!==me){if("out"!==ue&&void 0!==ie.in)for(var Me in ie.in)if(Me===j)return!0;if("in"!==ue&&void 0!==ie.out)for(var ze in ie.out)if(ze===j)return!0}if("directed"!==me&&void 0!==ie.undirected)for(var st in ie.undirected)if(st===j)return!0;return!1}function $e(oe,me,ue){for(var N,j,ie,Me,ze,st,Ot,et=me._nodes.values(),Wt=me.type;!0!==(N=et.next()).done;){if(j=N.value,"undirected"!==Wt)for(ie in Me=j.out)if(st=(ze=Me[ie]).target,Ot=ue(j.key,st.key,j.attributes,st.attributes,ze.key,ze.attributes,ze.undirected,ze.generatedKey),oe&&Ot)return;if("directed"!==Wt)for(ie in Me=j.undirected)if((st=(ze=Me[ie]).target).key!==ie&&(st=ze.source),Ot=ue(j.key,st.key,j.attributes,st.attributes,ze.key,ze.attributes,ze.undirected,ze.generatedKey),oe&&Ot)return}}function ht(oe,me,ue){for(var N,j,ie,Me,ze,st,Ot,et,Wt,Ct=me._nodes.values(),vn=me.type;!0!==(N=Ct.next()).done;){if(j=N.value,"undirected"!==vn)for(ie in st=j.out)for(Me=st[ie].values();!0!==(ze=Me.next()).done;)if(et=(Ot=ze.value).target,Wt=ue(j.key,et.key,j.attributes,et.attributes,Ot.key,Ot.attributes,Ot.undirected,Ot.generatedKey),oe&&Wt)return;if("directed"!==vn)for(ie in st=j.undirected)for(Me=st[ie].values();!0!==(ze=Me.next()).done;)if((et=(Ot=ze.value).target).key!==ie&&(et=Ot.source),Wt=ue(j.key,et.key,j.attributes,et.attributes,Ot.key,Ot.attributes,Ot.undirected,Ot.generatedKey),oe&&Wt)return}}function it(oe,me){var ue={key:oe};return Y(me.attributes)||(ue.attributes=fe({},me.attributes)),ue}function Tt(oe,me){var ue={source:me.source.key,target:me.target.key};return me.generatedKey||(ue.key=oe),Y(me.attributes)||(ue.attributes=fe({},me.attributes)),me.undirected&&(ue.undirected=!0),ue}function Mt(oe){return F(oe)?"key"in oe?!("attributes"in oe)||F(oe.attributes)&&null!==oe.attributes?null:"invalid-attributes":"no-key":"not-object"}function Dt(oe){return F(oe)?"source"in oe?"target"in oe?!("attributes"in oe)||F(oe.attributes)&&null!==oe.attributes?"undirected"in oe&&"boolean"!=typeof oe.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var Xt=new Set(["directed","undirected","mixed"]),zn=new Set(["domain","_events","_eventsCount","_maxListeners"]),ai={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Nn(oe,me,ue){var N=new oe.NodeDataClass(me,ue);return oe._nodes.set(me,N),oe.emit("nodeAdded",{key:me,attributes:ue}),N}function bn(oe,me,ue,N,j,ie,Me,ze){if(!N&&"undirected"===oe.type)throw new ve("Graph.".concat(me,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(N&&"directed"===oe.type)throw new ve("Graph.".concat(me,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(ze&&!F(ze))throw new ye("Graph.".concat(me,': invalid attributes. Expecting an object but got "').concat(ze,'"'));if(ie=""+ie,Me=""+Me,ze=ze||{},!oe.allowSelfLoops&&ie===Me)throw new ve("Graph.".concat(me,': source & target are the same ("').concat(ie,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var st=oe._nodes.get(ie),Ot=oe._nodes.get(Me);if(!st)throw new re("Graph.".concat(me,': source node "').concat(ie,'" not found.'));if(!Ot)throw new re("Graph.".concat(me,': target node "').concat(Me,'" not found.'));var et={key:null,undirected:N,source:ie,target:Me,attributes:ze};if(ue&&(j=oe._edgeKeyGenerator(et)),oe._edges.has(j=""+j))throw new ve("Graph.".concat(me,': the "').concat(j,'" edge already exists in the graph.'));if(!oe.multi&&(N?void 0!==st.undirected[Me]:void 0!==st.out[Me]))throw new ve("Graph.".concat(me,': an edge linking "').concat(ie,'" to "').concat(Me,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var Wt=new J(N,j,ue,st,Ot,ze);return oe._edges.set(j,Wt),ie===Me?N?(st.undirectedSelfLoops++,oe._undirectedSelfLoopCount++):(st.directedSelfLoops++,oe._directedSelfLoopCount++):N?(st.undirectedDegree++,Ot.undirectedDegree++):(st.outDegree++,Ot.inDegree++),ae(oe,N,Wt,ie,Me,st,Ot),N?oe._undirectedSize++:oe._directedSize++,et.key=j,oe.emit("edgeAdded",et),j}function $n(oe,me,ue,N,j,ie,Me,ze,st){if(!N&&"undirected"===oe.type)throw new ve("Graph.".concat(me,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(N&&"directed"===oe.type)throw new ve("Graph.".concat(me,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(ze)if(st){if("function"!=typeof ze)throw new ye("Graph.".concat(me,': invalid updater function. Expecting a function but got "').concat(ze,'"'))}else if(!F(ze))throw new ye("Graph.".concat(me,': invalid attributes. Expecting an object but got "').concat(ze,'"'));var Ot;if(ie=""+ie,Me=""+Me,st&&(Ot=ze,ze=void 0),!oe.allowSelfLoops&&ie===Me)throw new ve("Graph.".concat(me,': source & target are the same ("').concat(ie,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var et,Wt,Ct=oe._nodes.get(ie),vn=oe._nodes.get(Me);if(!ue&&(et=oe._edges.get(j))){if(et.source.key!==ie||et.target.key!==Me||N&&(et.source.key!==Me||et.target.key!==ie))throw new ve("Graph.".concat(me,': inconsistency detected when attempting to merge the "').concat(j,'" edge with "').concat(ie,'" source & "').concat(Me,'" target vs. ("').concat(et.source.key,'", "').concat(et.target.key,'").'));Wt=et}if(Wt||oe.multi||!Ct||(Wt=N?Ct.undirected[Me]:Ct.out[Me]),Wt)return(st?Ot:ze)?(st?(Wt.attributes=Ot(Wt.attributes),oe.emit("edgeAttributesUpdated",{type:"replace",key:Wt.key,attributes:Wt.attributes})):(fe(Wt.attributes,ze),oe.emit("edgeAttributesUpdated",{type:"merge",key:Wt.key,attributes:Wt.attributes,data:ze})),Wt.key):Wt.key;ze=ze||{},st&&Ot&&(ze=Ot(ze));var Jr={key:null,undirected:N,source:ie,target:Me,attributes:ze};if(ue&&(j=oe._edgeKeyGenerator(Jr)),oe._edges.has(j=""+j))throw new ve("Graph.".concat(me,': the "').concat(j,'" edge already exists in the graph.'));return Ct||(Ct=Nn(oe,ie,{}),ie===Me&&(vn=Ct)),vn||(vn=Nn(oe,Me,{})),et=new J(N,j,ue,Ct,vn,ze),oe._edges.set(j,et),ie===Me?N?(Ct.undirectedSelfLoops++,oe._undirectedSelfLoopCount++):(Ct.directedSelfLoops++,oe._directedSelfLoopCount++):N?(Ct.undirectedDegree++,vn.undirectedDegree++):(Ct.outDegree++,vn.inDegree++),ae(oe,N,et,ie,Me,Ct,vn),N?oe._undirectedSize++:oe._directedSize++,Jr.key=j,oe.emit("edgeAdded",Jr),j}var oe,Tn=function(oe){function me(N){var j;if(j=oe.call(this)||this,(N=fe({},ai,N)).edgeKeyGenerator&&"function"!=typeof N.edgeKeyGenerator)throw new ye("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(N.edgeKeyGenerator,'".'));if("boolean"!=typeof N.multi)throw new ye("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(N.multi,'".'));if(!Xt.has(N.type))throw new ye('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(N.type,'".'));if("boolean"!=typeof N.allowSelfLoops)throw new ye("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(N.allowSelfLoops,'".'));var ie,Me="mixed"===N.type?Fe:"directed"===N.type?Qe:He;return L(we(j),"NodeDataClass",Me),L(we(j),"_attributes",{}),L(we(j),"_nodes",new Map),L(we(j),"_edges",new Map),L(we(j),"_directedSize",0),L(we(j),"_undirectedSize",0),L(we(j),"_directedSelfLoopCount",0),L(we(j),"_undirectedSelfLoopCount",0),L(we(j),"_edgeKeyGenerator",N.edgeKeyGenerator||(ie=0,function(){return ie++})),L(we(j),"_options",N),zn.forEach(function(ze){return L(we(j),ze,j[ze])}),w(we(j),"order",function(){return j._nodes.size}),w(we(j),"size",function(){return j._edges.size}),w(we(j),"directedSize",function(){return j._directedSize}),w(we(j),"undirectedSize",function(){return j._undirectedSize}),w(we(j),"selfLoopCount",function(){return j._directedSelfLoopCount+j._undirectedSelfLoopCount}),w(we(j),"directedSelfLoopCount",function(){return j._directedSelfLoopCount}),w(we(j),"undirectedSelfLoopCount",function(){return j._undirectedSelfLoopCount}),w(we(j),"multi",j._options.multi),w(we(j),"type",j._options.type),w(we(j),"allowSelfLoops",j._options.allowSelfLoops),w(we(j),"implementation",function(){return"graphology"}),j}Je(me,oe);var ue=me.prototype;return ue.hasNode=function(N){return this._nodes.has(""+N)},ue.hasDirectedEdge=function(N,j){if("undirected"===this.type)return!1;if(1===arguments.length){var Me=this._edges.get(""+N);return!!Me&&!Me.undirected}if(2===arguments.length){j=""+j;var ze=this._nodes.get(N=""+N);if(!ze)return!1;var st=ze.out[j];return!(!st||this.multi&&!st.size)}throw new ye("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},ue.hasUndirectedEdge=function(N,j){if("directed"===this.type)return!1;if(1===arguments.length){var Me=this._edges.get(""+N);return!!Me&&Me.undirected}if(2===arguments.length){j=""+j;var ze=this._nodes.get(N=""+N);if(!ze)return!1;var st=ze.undirected[j];return!(!st||this.multi&&!st.size)}throw new ye("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},ue.hasEdge=function(N,j){if(1===arguments.length)return this._edges.has(""+N);if(2===arguments.length){j=""+j;var Me=this._nodes.get(N=""+N);if(!Me)return!1;var ze=void 0!==Me.out&&Me.out[j];return ze||(ze=void 0!==Me.undirected&&Me.undirected[j]),!(!ze||this.multi&&!ze.size)}throw new ye("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},ue.directedEdge=function(N,j){if("undirected"!==this.type){if(N=""+N,j=""+j,this.multi)throw new ve("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var ie=this._nodes.get(N);if(!ie)throw new re('Graph.directedEdge: could not find the "'.concat(N,'" source node in the graph.'));if(!this._nodes.has(j))throw new re('Graph.directedEdge: could not find the "'.concat(j,'" target node in the graph.'));var Me=ie.out&&ie.out[j]||void 0;return Me?Me.key:void 0}},ue.undirectedEdge=function(N,j){if("directed"!==this.type){if(N=""+N,j=""+j,this.multi)throw new ve("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var ie=this._nodes.get(N);if(!ie)throw new re('Graph.undirectedEdge: could not find the "'.concat(N,'" source node in the graph.'));if(!this._nodes.has(j))throw new re('Graph.undirectedEdge: could not find the "'.concat(j,'" target node in the graph.'));var Me=ie.undirected&&ie.undirected[j]||void 0;return Me?Me.key:void 0}},ue.edge=function(N,j){if(this.multi)throw new ve("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");j=""+j;var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.edge: could not find the "'.concat(N,'" source node in the graph.'));if(!this._nodes.has(j))throw new re('Graph.edge: could not find the "'.concat(j,'" target node in the graph.'));var Me=ie.out&&ie.out[j]||ie.undirected&&ie.undirected[j]||void 0;if(Me)return Me.key},ue.inDegree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new ye('Graph.inDegree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.inDegree: could not find the "'.concat(N,'" node in the graph.'));return"undirected"===this.type?0:ie.inDegree+(j?ie.directedSelfLoops:0)},ue.outDegree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new ye('Graph.outDegree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.outDegree: could not find the "'.concat(N,'" node in the graph.'));return"undirected"===this.type?0:ie.outDegree+(j?ie.directedSelfLoops:0)},ue.directedDegree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new ye('Graph.directedDegree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.directedDegree: could not find the "'.concat(N,'" node in the graph.'));if("undirected"===this.type)return 0;var Me=j?ie.directedSelfLoops:0;return ie.inDegree+Me+(ie.outDegree+Me)},ue.undirectedDegree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new ye('Graph.undirectedDegree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.undirectedDegree: could not find the "'.concat(N,'" node in the graph.'));return"directed"===this.type?0:ie.undirectedDegree+2*(j?ie.undirectedSelfLoops:0)},ue.degree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new ye('Graph.degree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.degree: could not find the "'.concat(N,'" node in the graph.'));var Me=0,ze=0;return"directed"!==this.type&&(j&&(ze=ie.undirectedSelfLoops),Me+=ie.undirectedDegree+2*ze),"undirected"!==this.type&&(j&&(ze=ie.directedSelfLoops),Me+=ie.inDegree+ie.outDegree+2*ze),Me},ue.source=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.source: could not find the "'.concat(N,'" edge in the graph.'));return j.source.key},ue.target=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.target: could not find the "'.concat(N,'" edge in the graph.'));return j.target.key},ue.extremities=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.extremities: could not find the "'.concat(N,'" edge in the graph.'));return[j.source.key,j.target.key]},ue.opposite=function(N,j){N=""+N;var ie=this._edges.get(j=""+j);if(!ie)throw new re('Graph.opposite: could not find the "'.concat(j,'" edge in the graph.'));var Me=ie.source.key,ze=ie.target.key;if(N!==Me&&N!==ze)throw new re('Graph.opposite: the "'.concat(N,'" node is not attached to the "').concat(j,'" edge (').concat(Me,", ").concat(ze,")."));return N===Me?ze:Me},ue.hasExtremity=function(N,j){j=""+j;var ie=this._edges.get(N=""+N);if(!ie)throw new re('Graph.hasExtremity: could not find the "'.concat(N,'" edge in the graph.'));return ie.source.key===j||ie.target.key===j},ue.isUndirected=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.isUndirected: could not find the "'.concat(N,'" edge in the graph.'));return j.undirected},ue.isDirected=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.isDirected: could not find the "'.concat(N,'" edge in the graph.'));return!j.undirected},ue.isSelfLoop=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.isSelfLoop: could not find the "'.concat(N,'" edge in the graph.'));return j.source===j.target},ue.hasGeneratedKey=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.hasGeneratedKey: could not find the "'.concat(N,'" edge in the graph.'));return j.generatedKey},ue.addNode=function(N,j){return function(ie,Me,ze){if(ze&&!F(ze))throw new ye('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(ze,'"'));if(ze=ze||{},ie._nodes.has(Me=""+Me))throw new ve('Graph.addNode: the "'.concat(Me,'" node already exist in the graph.'));var st=new ie.NodeDataClass(Me,ze);return ie._nodes.set(Me,st),ie.emit("nodeAdded",{key:Me,attributes:ze}),st}(this,N,j).key},ue.mergeNode=function(N,j){if(j&&!F(j))throw new ye('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(j,'"'));j=j||{};var ie=this._nodes.get(N=""+N);return ie?(j&&(fe(ie.attributes,j),this.emit("nodeAttributesUpdated",{type:"merge",key:N,attributes:ie.attributes,data:j})),N):(ie=new this.NodeDataClass(N,j),this._nodes.set(N,ie),this.emit("nodeAdded",{key:N,attributes:j}),N)},ue.updateNode=function(N,j){if(j&&"function"!=typeof j)throw new ye('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(j,'"'));var ie=this._nodes.get(N=""+N);if(ie)return j&&(ie.attributes=j(ie.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:N,attributes:ie.attributes})),N;var ze=j?j({}):{};return ie=new this.NodeDataClass(N,ze),this._nodes.set(N,ie),this.emit("nodeAdded",{key:N,attributes:ze}),N},ue.dropNode=function(N){var j=this,ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.dropNode: could not find the "'.concat(N,'" node in the graph.'));this.forEachEdge(N,function(Me){j.dropEdge(Me)}),this._nodes.delete(N),this.emit("nodeDropped",{key:N,attributes:ie.attributes})},ue.dropEdge=function(N){var j;if(arguments.length>1){var ie=""+arguments[0],Me=""+arguments[1];if(!(j=K(this,ie,Me,this.type)))throw new re('Graph.dropEdge: could not find the "'.concat(ie,'" -> "').concat(Me,'" edge in the graph.'))}else if(!(j=this._edges.get(N=""+N)))throw new re('Graph.dropEdge: could not find the "'.concat(N,'" edge in the graph.'));this._edges.delete(j.key);var st=j.source,Ot=j.target,et=j.attributes,Wt=j.undirected;return st===Ot?Wt?(st.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(st.directedSelfLoops--,this._directedSelfLoopCount--):Wt?(st.undirectedDegree--,Ot.undirectedDegree--):(st.outDegree--,Ot.inDegree--),_e(this,Wt,j),Wt?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:N,attributes:et,source:st.key,target:Ot.key,undirected:Wt}),this},ue.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},ue.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},ue.getAttribute=function(N){return this._attributes[N]},ue.getAttributes=function(){return this._attributes},ue.hasAttribute=function(N){return this._attributes.hasOwnProperty(N)},ue.setAttribute=function(N,j){return this._attributes[N]=j,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:N}),this},ue.updateAttribute=function(N,j){if("function"!=typeof j)throw new ye("Graph.updateAttribute: updater should be a function.");return this._attributes[N]=j(this._attributes[N]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:N}),this},ue.removeAttribute=function(N){return delete this._attributes[N],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:N}),this},ue.replaceAttributes=function(N){if(!F(N))throw new ye("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=N,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},ue.mergeAttributes=function(N){if(!F(N))throw new ye("Graph.mergeAttributes: provided attributes are not a plain object.");return fe(this._attributes,N),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:N}),this},ue.getNodeAttribute=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.getNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));return ie.attributes[j]},ue.getNodeAttributes=function(N){var j=this._nodes.get(N=""+N);if(!j)throw new re('Graph.getNodeAttributes: could not find the "'.concat(N,'" node in the graph.'));return j.attributes},ue.hasNodeAttribute=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.hasNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));return ie.attributes.hasOwnProperty(j)},ue.setNodeAttribute=function(N,j,ie){var Me=this._nodes.get(N=""+N);if(!Me)throw new re('Graph.setNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));if(arguments.length<3)throw new ye("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return Me.attributes[j]=ie,this.emit("nodeAttributesUpdated",{key:N,type:"set",attributes:Me.attributes,name:j}),this},ue.updateNodeAttribute=function(N,j,ie){var Me=this._nodes.get(N=""+N);if(!Me)throw new re('Graph.updateNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));if(arguments.length<3)throw new ye("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof ie)throw new ye("Graph.updateAttribute: updater should be a function.");var ze=Me.attributes,st=ie(ze[j]);return ze[j]=st,this.emit("nodeAttributesUpdated",{key:N,type:"set",attributes:Me.attributes,name:j}),this},ue.removeNodeAttribute=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.hasNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));return delete ie.attributes[j],this.emit("nodeAttributesUpdated",{key:N,type:"remove",attributes:ie.attributes,name:j}),this},ue.replaceNodeAttributes=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.replaceNodeAttributes: could not find the "'.concat(N,'" node in the graph.'));if(!F(j))throw new ye("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return ie.attributes=j,this.emit("nodeAttributesUpdated",{key:N,type:"replace",attributes:ie.attributes}),this},ue.mergeNodeAttributes=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.mergeNodeAttributes: could not find the "'.concat(N,'" node in the graph.'));if(!F(j))throw new ye("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return fe(ie.attributes,j),this.emit("nodeAttributesUpdated",{key:N,type:"merge",attributes:ie.attributes,data:j}),this},ue.updateEachNodeAttributes=function(N,j){if("function"!=typeof N)throw new ye("Graph.updateEachNodeAttributes: expecting an updater function.");if(j&&!C(j))throw new ye("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var ie,Me,ze=this._nodes.values();!0!==(ie=ze.next()).done;)(Me=ie.value).attributes=N(Me.key,Me.attributes);this.emit("eachNodeAttributesUpdated",{hints:j||null})},ue.updateEachEdgeAttributes=function(N,j){if("function"!=typeof N)throw new ye("Graph.updateEachEdgeAttributes: expecting an updater function.");if(j&&!C(j))throw new ye("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var ie,Me,ze=this._edges.values();!0!==(ie=ze.next()).done;)(Me=ie.value).attributes=N(Me.key,Me.attributes);this.emit("eachEdgeAttributesUpdated",{hints:j||null})},ue.forEach=function(N){if("function"!=typeof N)throw new ye("Graph.forEach: expecting a callback.");this.multi?ht(!1,this,N):$e(!1,this,N)},ue.forEachUntil=function(N){if("function"!=typeof N)throw new ye("Graph.forEach: expecting a callback.");this.multi?ht(!0,this,N):$e(!0,this,N)},ue.adjacency=function(){return this.multi?(st=(N=this)._nodes.values(),Ot=N.type,et="outer",Wt=null,new se(function Ct(){var vn;if("outer"===et)return!0===(vn=st.next()).done?vn:(j=vn.value,et="directed",Ct());if("directed"===et)return"undirected"===Ot?(et="undirected",Ct()):(Me=j.out,ie=Object.keys(j.out),ze=0,et="inner-directed",Ct());if("undirected"===et){if("directed"===Ot)return et="outer",Ct();Me=j.undirected,ie=Object.keys(j.undirected),ze=0,et="inner-undirected"}if(!Wt&&ze>=ie.length)return et="inner-undirected"===et?"outer":"undirected",Ct();if(!Wt){var Ss=ie[ze++];return Wt=Me[Ss].values(),Ct()}if((vn=Wt.next()).done)return Wt=null,Ct();var Jr=vn.value,Qs=Jr.target;return"inner-undirected"===et&&Qs.key===j.key&&(Qs=Jr.source),{done:!1,value:[j.key,Qs.key,j.attributes,Qs.attributes,Jr.key,Jr.attributes]}})):(Ll=(Ct=this)._nodes.values(),po=Ct.type,jr="outer",new se(function js(){var xc;if("outer"===jr)return!0===(xc=Ll.next()).done?xc:(vn=xc.value,jr="directed",js());if("directed"===jr)return"undirected"===po?(jr="undirected",js()):(Jr=vn.out,Ss=Object.keys(vn.out),Qs=0,jr="inner-directed",js());if("undirected"===jr){if("directed"===po)return jr="outer",js();Jr=vn.undirected,Ss=Object.keys(vn.undirected),Qs=0,jr="inner-undirected"}if(Qs>=Ss.length)return jr="inner-undirected"===jr?"outer":"undirected",js();var Sn=Ss[Qs++],go=Jr[Sn],Bl=go.target;return"inner-undirected"===jr&&Bl.key===vn.key&&(Bl=go.source),{done:!1,value:[vn.key,Bl.key,vn.attributes,Bl.attributes,go.key,go.attributes]}}));var Ct,vn,Ss,Jr,Qs,Ll,po,jr,N,j,ie,Me,ze,st,Ot,et,Wt},ue.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):te(this._nodes.keys(),this._nodes.size)},ue.forEachNode=function(N){if("function"!=typeof N)throw new ye("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(j,ie){N(ie,j.attributes)})},ue.forEachNodeUntil=function(N){if("function"!=typeof N)throw new ye("Graph.forEachNode: expecting a callback.");for(var j,ie,Me=this._nodes.values();!0!==(j=Me.next())&&!N((ie=j.value).key,ie.attributes););},ue.nodeEntries=function(){var N=this._nodes.values();return new se(function(){var j=N.next();if(j.done)return j;var ie=j.value;return{value:[ie.key,ie.attributes],done:!1}})},ue.exportNode=function(N){var j=this._nodes.get(N=""+N);if(!j)throw new re('Graph.exportNode: could not find the "'.concat(N,'" node in the graph.'));return it(N,j)},ue.exportEdge=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.exportEdge: could not find the "'.concat(N,'" edge in the graph.'));return Tt(N,j)},ue.export=function(){var N=new Array(this._nodes.size),j=0;this._nodes.forEach(function(Me,ze){N[j++]=it(ze,Me)});var ie=new Array(this._edges.size);return j=0,this._edges.forEach(function(Me,ze){ie[j++]=Tt(ze,Me)}),{attributes:this.getAttributes(),nodes:N,edges:ie,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},ue.importNode=function(N){var j=arguments.length>1&&void 0!==arguments[1]&&arguments[1],ie=Mt(N);if(ie){if("not-object"===ie)throw new ye('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===ie)throw new ye("Graph.importNode: no key provided.");if("invalid-attributes"===ie)throw new ye("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var Me=N.key,ze=N.attributes,st=void 0===ze?{}:ze;return j?this.mergeNode(Me,st):this.addNode(Me,st),this},ue.importEdge=function(N){var j=arguments.length>1&&void 0!==arguments[1]&&arguments[1],ie=Dt(N);if(ie){if("not-object"===ie)throw new ye('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===ie)throw new ye("Graph.importEdge: missing souce.");if("no-target"===ie)throw new ye("Graph.importEdge: missing target.");if("invalid-attributes"===ie)throw new ye("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===ie)throw new ye("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var Me=N.source,ze=N.target,st=N.attributes,Ot=void 0===st?{}:st,et=N.undirected,Wt=void 0!==et&&et;return"key"in N?(j?Wt?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:Wt?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,N.key,Me,ze,Ot):(j?Wt?this.mergeUndirectedEdge:this.mergeDirectedEdge:Wt?this.addUndirectedEdge:this.addDirectedEdge).call(this,Me,ze,Ot),this},ue.import=function(N){var j,ie,Me,ze=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(V(N))return this.import(N.export(),ze),this;if(!F(N))throw new ye("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(N.attributes){if(!F(N.attributes))throw new ye("Graph.import: invalid attributes. Expecting a plain object.");ze?this.mergeAttributes(N.attributes):this.replaceAttributes(N.attributes)}if(N.nodes){if(Me=N.nodes,!Array.isArray(Me))throw new ye("Graph.import: invalid nodes. Expecting an array.");for(j=0,ie=Me.length;jie)){var Ot=new Set;Ot.add(j.undirected[st]),j.undirected[st]=Ot,N._nodes.get(st).undirected[ie]=Ot}})),this;var N},ue.clearIndex=function(){return this._nodes.forEach(function(N){void 0!==N.in&&(N.in={},N.out={}),void 0!==N.undirected&&(N.undirected={})}),this},ue.toJSON=function(){return this.export()},ue.toString=function(){return"[object Graph]"},ue.inspect=function(){var N=this,j={};this._nodes.forEach(function(Ot,et){j[et]=Ot.attributes});var ie={},Me={};this._edges.forEach(function(Ot,et){var Wt=Ot.undirected?"--":"->",Ct="",vn="(".concat(Ot.source.key,")").concat(Wt,"(").concat(Ot.target.key,")");Ot.generatedKey?N.multi&&(void 0===Me[vn]?Me[vn]=0:Me[vn]++,Ct+="".concat(Me[vn],". ")):Ct+="[".concat(et,"]: "),ie[Ct+=vn]=Ot.attributes});var ze={};for(var st in this)this.hasOwnProperty(st)&&!zn.has(st)&&"function"!=typeof this[st]&&(ze[st]=this[st]);return ze.attributes=this._attributes,ze.nodes=j,ze.edges=ie,L(ze,"constructor",this.constructor),ze},me}(T.exports.EventEmitter);"undefined"!=typeof Symbol&&(Tn.prototype[Symbol.for("nodejs.util.inspect.custom")]=Tn.prototype.inspect),[{name:function(oe){return"".concat(oe,"Edge")},generateKey:!0},{name:function(oe){return"".concat(oe,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(oe){return"".concat(oe,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(oe){return"".concat(oe,"EdgeWithKey")}},{name:function(oe){return"".concat(oe,"DirectedEdgeWithKey")},type:"directed"},{name:function(oe){return"".concat(oe,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(oe){["add","merge","update"].forEach(function(me){var ue=oe.name(me),N="add"===me?bn:$n;Tn.prototype[ue]=oe.generateKey?function(j,ie,Me){return N(this,ue,!0,"undirected"===(oe.type||this.type),null,j,ie,Me,"update"===me)}:function(j,ie,Me,ze){return N(this,ue,!1,"undirected"===(oe.type||this.type),j,ie,Me,ze,"update"===me)}})}),"undefined"!=typeof Symbol&&(Tn.prototype[Symbol.iterator]=Tn.prototype.adjacency),oe=Tn,Te.forEach(function(me){var ue=me.name,N=me.attacher;N(oe,ue("Edge"),"mixed"),N(oe,ue("DirectedEdge"),"directed"),N(oe,ue("UndirectedEdge"),"undirected")}),function(oe){Se.forEach(function(me){var N,j,ie,Me;ie=(N=me).type,Me=N.direction,oe.prototype[j=N.name]=function(ze,st){if("mixed"!==ie&&"mixed"!==this.type&&ie!==this.type)return[];if(!arguments.length)return Le(this,ie);if(1===arguments.length){var Ot=this._nodes.get(ze=""+ze);if(void 0===Ot)throw new re("Graph.".concat(j,': could not find the "').concat(ze,'" node in the graph.'));return On(this.multi,"mixed"===ie?this.type:ie,Me,Ot)}if(2===arguments.length){st=""+st;var et=this._nodes.get(ze=""+ze);if(!et)throw new re("Graph.".concat(j,': could not find the "').concat(ze,'" source node in the graph.'));if(!this._nodes.has(st))throw new re("Graph.".concat(j,': could not find the "').concat(st,'" target node in the graph.'));return wi(ie,this.multi,Me,et,st)}throw new ye("Graph.".concat(j,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(ue,N){var j=N.name,ie=N.type,Me=N.direction,ze="forEach"+j[0].toUpperCase()+j.slice(1,-1);ue.prototype[ze]=function(st,Ot,et){if("mixed"===ie||"mixed"===this.type||ie===this.type){if(1===arguments.length)return nt(this,ie,et=st);if(2===arguments.length){et=Ot;var Wt=this._nodes.get(st=""+st);if(void 0===Wt)throw new re("Graph.".concat(ze,': could not find the "').concat(st,'" node in the graph.'));return kn(this.multi,"mixed"===ie?this.type:ie,Me,Wt,et)}if(3===arguments.length){Ot=""+Ot;var Ct=this._nodes.get(st=""+st);if(!Ct)throw new re("Graph.".concat(ze,': could not find the "').concat(st,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new re("Graph.".concat(ze,': could not find the "').concat(Ot,'" target node in the graph.'));return Xr(ie,this.multi,Me,Ct,Ot,et)}throw new ye("Graph.".concat(ze,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(oe,me),function(ue,N){var j=N.name,ie=N.type,Me=N.direction,ze="forEach"+j[0].toUpperCase()+j.slice(1,-1)+"Until";ue.prototype[ze]=function(st,Ot,et){if("mixed"===ie||"mixed"===this.type||ie===this.type){if(1===arguments.length)return xt(this,ie,et=st);if(2===arguments.length){et=Ot;var Wt=this._nodes.get(st=""+st);if(void 0===Wt)throw new re("Graph.".concat(ze,': could not find the "').concat(st,'" node in the graph.'));return Yn(this.multi,"mixed"===ie?this.type:ie,Me,Wt,et)}if(3===arguments.length){Ot=""+Ot;var Ct=this._nodes.get(st=""+st);if(!Ct)throw new re("Graph.".concat(ze,': could not find the "').concat(st,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new re("Graph.".concat(ze,': could not find the "').concat(Ot,'" target node in the graph.'));return Ls(ie,this.multi,Me,Ct,Ot,et)}throw new ye("Graph.".concat(ze,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(oe,me),function(ue,N){var ie=N.type,Me=N.direction,ze=N.name.slice(0,-1)+"Entries";ue.prototype[ze]=function(st,Ot){if("mixed"!==ie&&"mixed"!==this.type&&ie!==this.type)return se.empty();if(!arguments.length)return Nt(this,ie);if(1===arguments.length){var et=this._nodes.get(st=""+st);if(!et)throw new re("Graph.".concat(ze,': could not find the "').concat(st,'" node in the graph.'));return Ti(ie,Me,et)}if(2===arguments.length){Ot=""+Ot;var Wt=this._nodes.get(st=""+st);if(!Wt)throw new re("Graph.".concat(ze,': could not find the "').concat(st,'" source node in the graph.'));if(!this._nodes.has(Ot))throw new re("Graph.".concat(ze,': could not find the "').concat(Ot,'" target node in the graph.'));return gs(ie,Me,Wt,Ot)}throw new ye("Graph.".concat(ze,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(oe,me)})}(Tn),function(oe){Bs.forEach(function(me){var N,j,ie,Me;ie=(N=me).type,Me=N.direction,oe.prototype[j=N.name]=function(ze){if("mixed"!==ie&&"mixed"!==this.type&&ie!==this.type)return[];if(2===arguments.length){var st=""+arguments[0],Ot=""+arguments[1];if(!this._nodes.has(st))throw new re("Graph.".concat(j,': could not find the "').concat(st,'" node in the graph.'));if(!this._nodes.has(Ot))throw new re("Graph.".concat(j,': could not find the "').concat(Ot,'" node in the graph.'));return ut(this,ie,Me,st,Ot)}if(1===arguments.length){var et=this._nodes.get(ze=""+ze);if(void 0===et)throw new re("Graph.".concat(j,': could not find the "').concat(ze,'" node in the graph.'));return el("mixed"===ie?this.type:ie,Me,et)}throw new ye("Graph.".concat(j,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(oe,me){var ue=me.name,N=me.type,j=me.direction,ie="forEach"+ue[0].toUpperCase()+ue.slice(1,-1);oe.prototype[ie]=function(Me,ze){if("mixed"===N||"mixed"===this.type||N===this.type){var st=this._nodes.get(Me=""+Me);if(void 0===st)throw new re("Graph.".concat(ie,': could not find the "').concat(Me,'" node in the graph.'));!function(Ot,et,Wt,Ct){if("mixed"!==Ot){if("undirected"===Ot)return kl(Wt,Wt.undirected,Ct);if("string"==typeof et)return kl(Wt,Wt[et],Ct)}var vn=new Set;"undirected"!==Ot&&("out"!==et&&Sa(vn,Wt,Wt.in,Ct),"in"!==et&&Sa(vn,Wt,Wt.out,Ct)),"directed"!==Ot&&Sa(vn,Wt,Wt.undirected,Ct)}("mixed"===N?this.type:N,j,st,ze)}}}(oe,me),function(oe,me){var ue=me.name,N=me.type,j=me.direction,ie="forEach"+ue[0].toUpperCase()+ue.slice(1,-1)+"Until";oe.prototype[ie]=function(Me,ze){if("mixed"===N||"mixed"===this.type||N===this.type){var st=this._nodes.get(Me=""+Me);if(void 0===st)throw new re("Graph.".concat(ie,': could not find the "').concat(Me,'" node in the graph.'));!function(Ot,et,Wt,Ct){if("mixed"!==Ot){if("undirected"===Ot)return Es(Wt,Wt.undirected,Ct);if("string"==typeof et)return Es(Wt,Wt[et],Ct)}var vn=new Set;"undirected"!==Ot&&("out"!==et&&Jt(vn,Wt,Wt.in,Ct)||"in"!==et&&Jt(vn,Wt,Wt.out,Ct))||"directed"===Ot||Jt(vn,Wt,Wt.undirected,Ct)}("mixed"===N?this.type:N,j,st,ze)}}}(oe,me),function(oe,me){var N=me.type,j=me.direction,ie=me.name.slice(0,-1)+"Entries";oe.prototype[ie]=function(Me){if("mixed"!==N&&"mixed"!==this.type&&N!==this.type)return se.empty();var ze=this._nodes.get(Me=""+Me);if(void 0===ze)throw new re("Graph.".concat(ie,': could not find the "').concat(Me,'" node in the graph.'));return function(st,Ot,et){if("mixed"!==st){if("undirected"===st)return tl(et,et.undirected);if("string"==typeof Ot)return tl(et,et[Ot])}var Wt=se.empty(),Ct=new Set;return"undirected"!==st&&("out"!==Ot&&(Wt=Ge(Wt,ot(Ct,et,et.in))),"in"!==Ot&&(Wt=Ge(Wt,ot(Ct,et,et.out)))),"directed"!==st&&(Wt=Ge(Wt,ot(Ct,et,et.undirected))),Wt}("mixed"===N?this.type:N,j,ze)}}(oe,me)})}(Tn);var lr=function(oe){function me(ue){var N=fe({type:"directed"},ue);if("multi"in N&&!1!==N.multi)throw new ye("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==N.type)throw new ye('DirectedGraph.from: inconsistent "'+N.type+'" type in given options!');return oe.call(this,N)||this}return Je(me,oe),me}(Tn),cr=function(oe){function me(ue){var N=fe({type:"undirected"},ue);if("multi"in N&&!1!==N.multi)throw new ye("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==N.type)throw new ye('UndirectedGraph.from: inconsistent "'+N.type+'" type in given options!');return oe.call(this,N)||this}return Je(me,oe),me}(Tn),Xn=function(oe){function me(ue){var N=fe({multi:!0},ue);if("multi"in N&&!0!==N.multi)throw new ye("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return oe.call(this,N)||this}return Je(me,oe),me}(Tn),$i=function(oe){function me(ue){var N=fe({type:"directed",multi:!0},ue);if("multi"in N&&!0!==N.multi)throw new ye("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==N.type)throw new ye('MultiDirectedGraph.from: inconsistent "'+N.type+'" type in given options!');return oe.call(this,N)||this}return Je(me,oe),me}(Tn),xa=function(oe){function me(ue){var N=fe({type:"undirected",multi:!0},ue);if("multi"in N&&!0!==N.multi)throw new ye("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==N.type)throw new ye('MultiUndirectedGraph.from: inconsistent "'+N.type+'" type in given options!');return oe.call(this,N)||this}return Je(me,oe),me}(Tn);function Zr(oe){oe.from=function(me,ue){var N=fe({},me.options,ue),j=new oe(N);return j.import(me),j}}return Zr(Tn),Zr(lr),Zr(cr),Zr(Xn),Zr($i),Zr(xa),Tn.Graph=Tn,Tn.DirectedGraph=lr,Tn.UndirectedGraph=cr,Tn.MultiGraph=Xn,Tn.MultiDirectedGraph=$i,Tn.MultiUndirectedGraph=xa,Tn.InvalidArgumentsGraphError=ye,Tn.NotFoundGraphError=re,Tn.UsageGraphError=ve,Tn}()},524:(jt,Ye,Je)=>{var lt;!function(ee,Et,je,Q){"use strict";var T,we=["","webkit","Moz","MS","ms","o"],fe=Et.createElement("div"),V=Math.round,F=Math.abs,Y=Date.now;function L(Ee,Pe,Ze){return setTimeout(x(Ee,Ze),Pe)}function w(Ee,Pe,Ze){return!!Array.isArray(Ee)&&(C(Ee,Ze[Pe],Ze),!0)}function C(Ee,Pe,Ze){var bt;if(Ee)if(Ee.forEach)Ee.forEach(Pe,Ze);else if(Ee.length!==Q)for(bt=0;bt\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",li=ee.console&&(ee.console.warn||ee.console.log);return li&&li.call(ee.console,bt,Yt),Ee.apply(this,arguments)}}T="function"!=typeof Object.assign?function(Pe){if(Pe===Q||null===Pe)throw new TypeError("Cannot convert undefined or null to object");for(var Ze=Object(Pe),bt=1;bt-1}function Z(Ee){return Ee.trim().split(/\s+/g)}function S(Ee,Pe,Ze){if(Ee.indexOf&&!Ze)return Ee.indexOf(Pe);for(var bt=0;btxs[Pe]}):bt.sort()),bt}function ce(Ee,Pe){for(var Ze,bt,Gt=Pe[0].toUpperCase()+Pe.slice(1),Yt=0;Yt1&&!Ze.firstMultiple?Ze.firstMultiple=xt(Pe):1===Gt&&(Ze.firstMultiple=!1);var Yt=Ze.firstInput,li=Ze.firstMultiple,Vr=li?li.center:Yt.center,es=Pe.center=Nt(bt);Pe.timeStamp=Y(),Pe.deltaTime=Pe.timeStamp-Yt.timeStamp,Pe.angle=Ti(Vr,es),Pe.distance=Yn(Vr,es),function(Ee,Pe){var Ze=Pe.center,bt=Ee.offsetDelta||{},Gt=Ee.prevDelta||{},Yt=Ee.prevInput||{};(1===Pe.eventType||4===Yt.eventType)&&(Gt=Ee.prevDelta={x:Yt.deltaX||0,y:Yt.deltaY||0},bt=Ee.offsetDelta={x:Ze.x,y:Ze.y}),Pe.deltaX=Gt.x+(Ze.x-bt.x),Pe.deltaY=Gt.y+(Ze.y-bt.y)}(Ze,Pe),Pe.offsetDirection=kn(Pe.deltaX,Pe.deltaY);var xs=On(Pe.deltaTime,Pe.deltaX,Pe.deltaY);Pe.overallVelocityX=xs.x,Pe.overallVelocityY=xs.y,Pe.overallVelocity=F(xs.x)>F(xs.y)?xs.x:xs.y,Pe.scale=li?function(Ee,Pe){return Yn(Pe[0],Pe[1],gt)/Yn(Ee[0],Ee[1],gt)}(li.pointers,bt):1,Pe.rotation=li?function(Ee,Pe){return Ti(Pe[1],Pe[0],gt)+Ti(Ee[1],Ee[0],gt)}(li.pointers,bt):0,Pe.maxPointers=Ze.prevInput?Pe.pointers.length>Ze.prevInput.maxPointers?Pe.pointers.length:Ze.prevInput.maxPointers:Pe.pointers.length,function(Ee,Pe){var Gt,Yt,li,Vr,Ze=Ee.lastInterval||Pe,bt=Pe.timeStamp-Ze.timeStamp;if(8!=Pe.eventType&&(bt>25||Ze.velocity===Q)){var es=Pe.deltaX-Ze.deltaX,xs=Pe.deltaY-Ze.deltaY,Qn=On(bt,es,xs);Yt=Qn.x,li=Qn.y,Gt=F(Qn.x)>F(Qn.y)?Qn.x:Qn.y,Vr=kn(es,xs),Ee.lastInterval=Pe}else Gt=Ze.velocity,Yt=Ze.velocityX,li=Ze.velocityY,Vr=Ze.direction;Pe.velocity=Gt,Pe.velocityX=Yt,Pe.velocityY=li,Pe.direction=Vr}(Ze,Pe);var Qn=Ee.element;M(Pe.srcEvent.target,Qn)&&(Qn=Pe.srcEvent.target),Pe.target=Qn}(Ee,Ze),Ee.emit("hammer.input",Ze),Ee.recognize(Ze),Ee.session.prevInput=Ze}function xt(Ee){for(var Pe=[],Ze=0;Ze=F(Pe)?Ee<0?2:4:Pe<0?8:16}function Yn(Ee,Pe,Ze){Ze||(Ze=_t);var bt=Pe[Ze[0]]-Ee[Ze[0]],Gt=Pe[Ze[1]]-Ee[Ze[1]];return Math.sqrt(bt*bt+Gt*Gt)}function Ti(Ee,Pe,Ze){return Ze||(Ze=_t),180*Math.atan2(Pe[Ze[1]]-Ee[Ze[1]],Pe[Ze[0]]-Ee[Ze[0]])/Math.PI}Ae.prototype={handler:function(){},init:function(){this.evEl&&I(this.element,this.evEl,this.domHandler),this.evTarget&&I(this.target,this.evTarget,this.domHandler),this.evWin&&I(Ie(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&H(this.element,this.evEl,this.domHandler),this.evTarget&&H(this.target,this.evTarget,this.domHandler),this.evWin&&H(Ie(this.element),this.evWin,this.domHandler)}};var Ls={mousedown:1,mousemove:2,mouseup:4},gs="mousedown",Bs="mousemove mouseup";function Qr(){this.evEl=gs,this.evWin=Bs,this.pressed=!1,Ae.apply(this,arguments)}b(Qr,Ae,{handler:function(Pe){var Ze=Ls[Pe.type];1&Ze&&0===Pe.button&&(this.pressed=!0),2&Ze&&1!==Pe.which&&(Ze=4),this.pressed&&(4&Ze&&(this.pressed=!1),this.callback(this.manager,Ze,{pointers:[Pe],changedPointers:[Pe],pointerType:J,srcEvent:Pe}))}});var el={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},kl={2:Qe,3:"pen",4:J,5:"kinect"},Sa="pointerdown",Es="pointermove pointerup pointercancel";function Jt(){this.evEl=Sa,this.evWin=Es,Ae.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}ee.MSPointerEvent&&!ee.PointerEvent&&(Sa="MSPointerDown",Es="MSPointerMove MSPointerUp MSPointerCancel"),b(Jt,Ae,{handler:function(Pe){var Ze=this.store,bt=!1,Gt=Pe.type.toLowerCase().replace("ms",""),Yt=el[Gt],li=kl[Pe.pointerType]||Pe.pointerType,Vr=li==Qe,es=S(Ze,Pe.pointerId,"pointerId");1&Yt&&(0===Pe.button||Vr)?es<0&&(Ze.push(Pe),es=Ze.length-1):12&Yt&&(bt=!0),!(es<0)&&(Ze[es]=Pe,this.callback(this.manager,Yt,{pointers:Ze,changedPointers:[Pe],pointerType:li,srcEvent:Pe}),bt&&Ze.splice(es,1))}});var tl={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ot="touchstart",ut="touchstart touchmove touchend touchcancel";function ft(){this.evTarget=ot,this.evWin=ut,this.started=!1,Ae.apply(this,arguments)}function be(Ee,Pe){var Ze=G(Ee.touches),bt=G(Ee.changedTouches);return 12&Pe&&(Ze=ne(Ze.concat(bt),"identifier",!0)),[Ze,bt]}b(ft,Ae,{handler:function(Pe){var Ze=tl[Pe.type];if(1===Ze&&(this.started=!0),this.started){var bt=be.call(this,Pe,Ze);12&Ze&&bt[0].length-bt[1].length==0&&(this.started=!1),this.callback(this.manager,Ze,{pointers:bt[0],changedPointers:bt[1],pointerType:Qe,srcEvent:Pe})}}});var Ce={touchstart:1,touchmove:2,touchend:4,touchcancel:8},$e="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=$e,this.targetIds={},Ae.apply(this,arguments)}function it(Ee,Pe){var Ze=G(Ee.touches),bt=this.targetIds;if(3&Pe&&1===Ze.length)return bt[Ze[0].identifier]=!0,[Ze,Ze];var Gt,Yt,li=G(Ee.changedTouches),Vr=[],es=this.target;if(Yt=Ze.filter(function(xs){return M(xs.target,es)}),1===Pe)for(Gt=0;Gt-1&&bt.splice(Yt,1)},2500)}}function ai(Ee){for(var Pe=Ee.srcEvent.clientX,Ze=Ee.srcEvent.clientY,bt=0;bt-1&&this.requireFail.splice(Pe,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(Ee){return!!this.simultaneous[Ee.id]},emit:function(Ee){var Pe=this,Ze=this.state;function bt(Gt){Pe.manager.emit(Gt,Ee)}Ze<8&&bt(Pe.options.event+et(Ze)),bt(Pe.options.event),Ee.additionalEvent&&bt(Ee.additionalEvent),Ze>=8&&bt(Pe.options.event+et(Ze))},tryEmit:function(Ee){if(this.canEmit())return this.emit(Ee);this.state=32},canEmit:function(){for(var Ee=0;EePe.threshold&&Gt&Pe.direction},attrTest:function(Ee){return vn.prototype.attrTest.call(this,Ee)&&(2&this.state||!(2&this.state)&&this.directionTest(Ee))},emit:function(Ee){this.pX=Ee.deltaX,this.pY=Ee.deltaY;var Pe=Wt(Ee.direction);Pe&&(Ee.additionalEvent=this.options.event+Pe),this._super.emit.call(this,Ee)}}),b(Jr,vn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[cr]},attrTest:function(Ee){return this._super.attrTest.call(this,Ee)&&(Math.abs(Ee.scale-1)>this.options.threshold||2&this.state)},emit:function(Ee){1!==Ee.scale&&(Ee.additionalEvent=this.options.event+(Ee.scale<1?"in":"out")),this._super.emit.call(this,Ee)}}),b(Qs,Ot,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(Ee){var Pe=this.options,Ze=Ee.pointers.length===Pe.pointers,bt=Ee.distancePe.time;if(this._input=Ee,!bt||!Ze||12&Ee.eventType&&!Gt)this.reset();else if(1&Ee.eventType)this.reset(),this._timer=L(function(){this.state=8,this.tryEmit()},Pe.time,this);else if(4&Ee.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(Ee){8===this.state&&(Ee&&4&Ee.eventType?this.manager.emit(this.options.event+"up",Ee):(this._input.timeStamp=Y(),this.manager.emit(this.options.event,this._input)))}}),b(Ll,vn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[cr]},attrTest:function(Ee){return this._super.attrTest.call(this,Ee)&&(Math.abs(Ee.rotation)>this.options.threshold||2&this.state)}}),b(po,vn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Ss.prototype.getTouchAction.call(this)},attrTest:function(Ee){var Ze,Pe=this.options.direction;return 30&Pe?Ze=Ee.overallVelocity:6&Pe?Ze=Ee.overallVelocityX:24&Pe&&(Ze=Ee.overallVelocityY),this._super.attrTest.call(this,Ee)&&Pe&Ee.offsetDirection&&Ee.distance>this.options.threshold&&Ee.maxPointers==this.options.pointers&&F(Ze)>this.options.velocity&&4&Ee.eventType},emit:function(Ee){var Pe=Wt(Ee.offsetDirection);Pe&&this.manager.emit(this.options.event+Pe,Ee),this.manager.emit(this.options.event,Ee)}}),b(jr,Ot,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[lr]},process:function(Ee){var Pe=this.options,Ze=Ee.pointers.length===Pe.pointers,bt=Ee.distance"']/g,Es=RegExp(kl.source),Jt=RegExp(Sa.source),tl=/<%-([\s\S]+?)%>/g,ot=/<%([\s\S]+?)%>/g,ut=/<%=([\s\S]+?)%>/g,ft=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,be=/^\w*$/,Ce=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,$e=/[\\^$.*+?()[\]{}|]/g,ht=RegExp($e.source),it=/^\s+/,Tt=/\s/,Mt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Dt=/\{\n\/\* \[wrapped with (.+)\] \*/,Xt=/,? & /,zn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ai=/[()=,{}\[\]\/\s]/,Nn=/\\(\\)?/g,bn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,$n=/\w*$/,Tn=/^[-+]0x[0-9a-f]+$/i,lr=/^0b[01]+$/i,cr=/^\[object .+?Constructor\]$/,Xn=/^0o[0-7]+$/i,$i=/^(?:0|[1-9]\d*)$/,xa=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Zr=/($^)/,oe=/['\n\r\u2028\u2029\\]/g,me="\\ud800-\\udfff",ie="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Me="\\u2700-\\u27bf",ze="a-z\\xdf-\\xf6\\xf8-\\xff",Ct="A-Z\\xc0-\\xd6\\xd8-\\xde",vn="\\ufe0e\\ufe0f",Ss="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Qs="["+me+"]",Ll="["+Ss+"]",po="["+ie+"]",jr="\\d+",js="["+Me+"]",xc="["+ze+"]",Sn="[^"+me+Ss+jr+Me+ze+Ct+"]",go="\\ud83c[\\udffb-\\udfff]",Ca="[^"+me+"]",wd="(?:\\ud83c[\\udde6-\\uddff]){2}",Ee="[\\ud800-\\udbff][\\udc00-\\udfff]",Pe="["+Ct+"]",bt="(?:"+xc+"|"+Sn+")",Gt="(?:"+Pe+"|"+Sn+")",Yt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",li="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Vr="(?:"+po+"|"+go+")?",es="["+vn+"]?",AC=es+Vr+"(?:\\u200d(?:"+[Ca,wd,Ee].join("|")+")"+es+Vr+")*",Ed="(?:"+[js,wd,Ee].join("|")+")"+AC,tr="(?:"+[Ca+po+"?",po,wd,Ee,Qs].join("|")+")",fp=RegExp("['\u2019]","g"),Jm=RegExp(po,"g"),Dh=RegExp(go+"(?="+go+")|"+tr+AC,"g"),sv=RegExp([Pe+"?"+xc+"+"+Yt+"(?="+[Ll,Pe,"$"].join("|")+")",Gt+"+"+li+"(?="+[Ll,Pe+bt,"$"].join("|")+")",Pe+"?"+bt+"+"+Yt,Pe+"+"+li,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",jr,Ed].join("|"),"g"),TC=RegExp("[\\u200d"+me+ie+vn+"]"),jl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ih=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],MC=-1,ln={};ln[Nt]=ln[On]=ln[kn]=ln[Yn]=ln[Ti]=ln[wi]=ln[Xr]=ln[Ls]=ln[gs]=!0,ln[J]=ln[ae]=ln[nt]=ln[Te]=ln[xt]=ln[xe]=ln[Se]=ln[Ue]=ln[Be]=ln[X]=ln[ge]=ln[_t]=ln[gt]=ln[Ae]=ln[z]=!1;var ur={};ur[J]=ur[ae]=ur[nt]=ur[xt]=ur[Te]=ur[xe]=ur[Nt]=ur[On]=ur[kn]=ur[Yn]=ur[Ti]=ur[Be]=ur[X]=ur[ge]=ur[_t]=ur[gt]=ur[Ae]=ur[U]=ur[wi]=ur[Xr]=ur[Ls]=ur[gs]=!0,ur[Se]=ur[Ue]=ur[z]=!1;var on={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},DC=parseFloat,cv=parseInt,Rt="object"==typeof global&&global&&global.Object===Object&&global,Vs="object"==typeof self&&self&&self.Object===Object&&self,Vi=Rt||Vs||Function("return this")(),Vl=Ye&&!Ye.nodeType&&Ye,Aa=Vl&&jt&&!jt.nodeType&&jt,Oo=Aa&&Aa.exports===Vl,e_=Oo&&Rt.process,Sr=function(){try{return Aa&&Aa.require&&Aa.require("util").types||e_&&e_.binding&&e_.binding("util")}catch(It){}}(),nn=Sr&&Sr.isArrayBuffer,hi=Sr&&Sr.isDate,pr=Sr&&Sr.isMap,mo=Sr&&Sr.isRegExp,Cc=Sr&&Sr.isSet,as=Sr&&Sr.isTypedArray;function ls(ct,It,St){switch(St.length){case 0:return ct.call(It);case 1:return ct.call(It,St[0]);case 2:return ct.call(It,St[0],St[1]);case 3:return ct.call(It,St[0],St[1],St[2])}return ct.apply(It,St)}function Ur(ct,It,St,hn){for(var Dn=-1,Li=null==ct?0:ct.length;++Dn-1}function Oh(ct,It,St){for(var hn=-1,Dn=null==ct?0:ct.length;++hn-1;);return St}function NC(ct,It){for(var St=ct.length;St--&&nl(It,ct[St],0)>-1;);return St}function cF(ct,It){for(var St=ct.length,hn=0;St--;)ct[St]===It&&++hn;return hn}var uF=Qo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),dF=Qo({"&":"&","<":"<",">":">",'"':""","'":"'"});function hF(ct){return"\\"+on[ct]}function Ph(ct){return TC.test(ct)}function dv(ct){var It=-1,St=Array(ct.size);return ct.forEach(function(hn,Dn){St[++It]=[Dn,hn]}),St}function PC(ct,It){return function(St){return ct(It(St))}}function yu(ct,It){for(var St=-1,hn=ct.length,Dn=0,Li=[];++St",""":'"',"'":"'"}),kh=function ct(It){var d,St=(It=null==It?Vi:kh.defaults(Vi.Object(),It,kh.pick(Vi,Ih))).Array,hn=It.Date,Dn=It.Error,Li=It.Function,ts=It.Math,Ki=It.Object,a_=It.RegExp,l_=It.String,Da=It.TypeError,gr=St.prototype,bu=Ki.prototype,gp=It["__core-js_shared__"],xr=Li.prototype.toString,Xi=bu.hasOwnProperty,yF=0,Lh=(d=/[^.]+$/.exec(gp&&gp.keys&&gp.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",Zs=bu.toString,LC=xr.call(Ki),c_=Vi._,Md=a_("^"+xr.call(Xi).replace($e,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zs=Oo?It.Buffer:ee,zl=It.Symbol,Dd=It.Uint8Array,pv=zs?zs.allocUnsafe:ee,Ia=PC(Ki.getPrototypeOf,Ki),u_=Ki.create,mp=bu.propertyIsEnumerable,Bn=gr.splice,BC=zl?zl.isConcatSpreadable:ee,Bh=zl?zl.iterator:ee,vu=zl?zl.toStringTag:ee,_p=function(){try{var d=Lc(Ki,"defineProperty");return d({},"",{}),d}catch(f){}}(),gv=It.clearTimeout!==Vi.clearTimeout&&It.clearTimeout,jC=hn&&hn.now!==Vi.Date.now&&hn.now,VC=It.setTimeout!==Vi.setTimeout&&It.setTimeout,Vt=ts.ceil,Ei=ts.floor,Cr=Ki.getOwnPropertySymbols,cs=zs?zs.isBuffer:ee,d_=It.isFinite,jh=gr.join,rl=PC(Ki.keys,Ki),Hr=ts.max,ms=ts.min,bF=hn.now,UC=It.parseInt,Vh=ts.random,yp=gr.reverse,As=Lc(It,"DataView"),_o=Lc(It,"Map"),bp=Lc(It,"Promise"),Oa=Lc(It,"Set"),No=Lc(It,"WeakMap"),Uh=Lc(Ki,"create"),zh=No&&new No,Id={},zC=Ru(As),h_=Ru(_o),f_=Ru(bp),mv=Ru(Oa),p_=Ru(No),vp=zl?zl.prototype:ee,Od=vp?vp.valueOf:ee,Hh=vp?vp.toString:ee;function De(d){if(Mr(d)&&!Rn(d)&&!(d instanceof fi)){if(d instanceof Po)return d;if(Xi.call(d,"__wrapped__"))return nf(d)}return new Po(d)}var wu=function(){function d(){}return function(f){if(!Tr(f))return{};if(u_)return u_(f);d.prototype=f;var _=new d;return d.prototype=ee,_}}();function Gh(){}function Po(d,f){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!f,this.__index__=0,this.__values__=ee}function fi(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ve,this.__views__=[]}function yo(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var B=d[f];this.set(B[0],B[1])}}function Hl(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var B=d[f];this.set(B[0],B[1])}}function sl(d){var f=-1,_=null==d?0:d.length;for(this.clear();++f<_;){var B=d[f];this.set(B[0],B[1])}}function Ra(d){var f=-1,_=null==d?0:d.length;for(this.__data__=new sl;++f<_;)this.add(d[f])}function Na(d){var f=this.__data__=new Hl(d);this.size=f.size}function Wh(d,f){var _=Rn(d),B=!_&&pl(d),de=!_&&!B&&gl(d),Ne=!_&&!B&&!de&&cf(d),Xe=_||B||de||Ne,tt=Xe?Td(d.length,l_):[],dt=tt.length;for(var kt in d)(f||Xi.call(d,kt))&&(!Xe||!("length"==kt||de&&("offset"==kt||"parent"==kt)||Ne&&("buffer"==kt||"byteLength"==kt||"byteOffset"==kt)||Bo(kt,dt)))&&tt.push(kt);return tt}function y_(d){var f=d.length;return f?d[Gl(0,f-1)]:ee}function vv(d,f){return Wd(eo(d),Eu(f,0,d.length))}function Rd(d){return Wd(eo(d))}function b_(d,f,_){(_!==ee&&!In(d[f],_)||_===ee&&!(f in d))&&al(d,f,_)}function ol(d,f,_){var B=d[f];(!Xi.call(d,f)||!In(B,_)||_===ee&&!(f in d))&&al(d,f,_)}function Nd(d,f){for(var _=d.length;_--;)if(In(d[_][0],f))return _;return-1}function Cp(d,f,_,B){return Ic(d,function(de,Ne,Xe){f(B,de,_(de),Xe)}),B}function ZC(d,f){return d&&Fa(f,Os(f),d)}function al(d,f,_){"__proto__"==f&&_p?_p(d,f,{configurable:!0,enumerable:!0,value:_,writable:!0}):d[f]=_}function v_(d,f){for(var _=-1,B=f.length,de=St(B),Ne=null==d;++_=f?d:f)),d}function Hs(d,f,_,B,de,Ne){var Xe,tt=1&f,dt=2&f,kt=4&f;if(_&&(Xe=de?_(d,B,de,Ne):_(d)),Xe!==ee)return Xe;if(!Tr(d))return d;var Lt=Rn(d);if(Lt){if(Xe=function(d){var f=d.length,_=new d.constructor(f);return f&&"string"==typeof d[0]&&Xi.call(d,"index")&&(_.index=d.index,_.input=d.input),_}(d),!tt)return eo(d,Xe)}else{var zt=$s(d),en=zt==Ue||zt==Ke;if(gl(d))return Np(d,tt);if(zt==ge||zt==J||en&&!de){if(Xe=dt||en?{}:Hv(d),!tt)return dt?function(d,f){return Fa(d,Vv(d),f)}(d,function(d,f){return d&&Fa(f,no(f),d)}(Xe,d)):function(d,f){return Fa(d,k_(d),f)}(d,ZC(Xe,d))}else{if(!ur[zt])return de?d:{};Xe=function(d,f,_){var B=d.constructor;switch(f){case nt:return Mu(d);case Te:case xe:return new B(+d);case xt:return function(d,f){var _=f?Mu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}(d,_);case Nt:case On:case kn:case Yn:case Ti:case wi:case Xr:case Ls:case gs:return O_(d,_);case Be:return new B;case X:case Ae:return new B(d);case _t:return function(d){var f=new d.constructor(d.source,$n.exec(d));return f.lastIndex=d.lastIndex,f}(d);case gt:return new B;case U:return function(d){return Od?Ki(Od.call(d)):{}}(d)}}(d,zt,tt)}}Ne||(Ne=new Na);var wn=Ne.get(d);if(wn)return wn;Ne.set(d,Xe),yT(d)?d.forEach(function(jn){Xe.add(Hs(jn,f,_,jn,d,Ne))}):pT(d)&&d.forEach(function(jn,mi){Xe.set(mi,Hs(jn,f,_,mi,d,Ne))});var gi=Lt?ee:(kt?dt?P_:Yl:dt?no:Os)(d);return Us(gi||d,function(jn,mi){gi&&(jn=d[mi=jn]),ol(Xe,mi,Hs(jn,f,_,mi,d,Ne))}),Xe}function Ap(d,f,_){var B=_.length;if(null==d)return!B;for(d=Ki(d);B--;){var de=_[B],Xe=d[de];if(Xe===ee&&!(de in d)||!(0,f[de])(Xe))return!1}return!0}function qh(d,f,_){if("function"!=typeof d)throw new Da(we);return ef(function(){d.apply(ee,_)},f)}function Dc(d,f,_,B){var de=-1,Ne=Ul,Xe=!0,tt=d.length,dt=[],kt=f.length;if(!tt)return dt;_&&(f=Yi(f,Jo(_))),B?(Ne=Oh,Xe=!1):f.length>=200&&(Ne=Nh,Xe=!1,f=new Ra(f));e:for(;++de-1},Hl.prototype.set=function(d,f){var _=this.__data__,B=Nd(_,d);return B<0?(++this.size,_.push([d,f])):_[B][1]=f,this},sl.prototype.clear=function(){this.size=0,this.__data__={hash:new yo,map:new(_o||Hl),string:new yo}},sl.prototype.delete=function(d){var f=Gs(this,d).delete(d);return this.size-=f?1:0,f},sl.prototype.get=function(d){return Gs(this,d).get(d)},sl.prototype.has=function(d){return Gs(this,d).has(d)},sl.prototype.set=function(d,f){var _=Gs(this,d),B=_.size;return _.set(d,f),this.size+=_.size==B?0:1,this},Ra.prototype.add=Ra.prototype.push=function(d){return this.__data__.set(d,K),this},Ra.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.clear=function(){this.__data__=new Hl,this.size=0},Na.prototype.delete=function(d){var f=this.__data__,_=f.delete(d);return this.size=f.size,_},Na.prototype.get=function(d){return this.__data__.get(d)},Na.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.set=function(d,f){var _=this.__data__;if(_ instanceof Hl){var B=_.__data__;if(!_o||B.length<199)return B.push([d,f]),this.size=++_.size,this;_=this.__data__=new sl(B)}return _.set(d,f),this.size=_.size,this};var Ic=ul(ll),E_=ul(Tp,!0);function Ev(d,f){var _=!0;return Ic(d,function(B,de,Ne){return _=!!f(B,de,Ne)}),_}function Yh(d,f,_){for(var B=-1,de=d.length;++B0&&_(tt)?f>1?Ts(tt,f-1,_,B,de):zr(de,tt):B||(de[de.length]=tt)}return de}var Pd=Ov(),Fd=Ov(!0);function ll(d,f){return d&&Pd(d,f,Os)}function Tp(d,f){return d&&Fd(d,f,Os)}function Kh(d,f){return Ta(f,function(_){return la(d[_])})}function ea(d,f){for(var _=0,B=(f=Pc(f,d)).length;null!=d&&_f}function kd(d,f){return null!=d&&Xi.call(d,f)}function Ld(d,f){return null!=d&&f in Ki(d)}function Su(d,f,_){for(var B=_?Oh:Ul,de=d[0].length,Ne=d.length,Xe=Ne,tt=St(Ne),dt=1/0,kt=[];Xe--;){var Lt=d[Xe];Xe&&f&&(Lt=Yi(Lt,Jo(f))),dt=ms(Lt.length,dt),tt[Xe]=!_&&(f||de>=120&&Lt.length>=120)?new Ra(Xe&&Lt):ee}Lt=d[0];var zt=-1,en=tt[0];e:for(;++zt=tt?dt:dt*("desc"==_[B]?-1:1)}return d.index-f.index}(Ne,Xe,_)});St--;)ct[St]=ct[St].value;return ct}(iA(d,function(Ne,Xe,tt){return{criteria:Yi(f,function(kt){return kt(Ne)}),index:++B,value:Ne}}))}function Tv(d,f,_){for(var B=-1,de=f.length,Ne={};++B-1;)tt!==d&&Bn.call(tt,dt,1),Bn.call(d,dt,1);return d}function Qh(d,f){for(var _=d?f.length:0,B=_-1;_--;){var de=f[_];if(_==B||de!==Ne){var Ne=de;Bo(de)?Bn.call(d,de,1):Cu(d,de)}}return d}function Gl(d,f){return d+Ei(Vh()*(f-d+1))}function Dp(d,f){var _="";if(!d||f<1||f>Ie)return _;do{f%2&&(_+=d),(f=Ei(f/2))&&(d+=d)}while(f);return _}function pi(d,f){return Hp(bA(d,f,io),d+"")}function sA(d){return y_(th(d))}function MF(d,f){var _=th(d);return Wd(_,Eu(f,0,_.length))}function Ip(d,f,_,B){if(!Tr(d))return d;for(var de=-1,Ne=(f=Pc(f,d)).length,Xe=Ne-1,tt=d;null!=tt&&++dede?0:de+f),(_=_>de?de:_)<0&&(_+=de),de=f>_?0:_-f>>>0,f>>>=0;for(var Ne=St(de);++B>>1,Xe=d[Ne];null!==Xe&&!ca(Xe)&&(_?Xe<=f:Xe=200){var kt=f?null:N_(d);if(kt)return r_(kt);Xe=!1,de=Nh,dt=new Ra}else dt=f?[]:tt;e:for(;++B=B?d:Ds(d,f,_)}var lA=gv||function(d){return Vi.clearTimeout(d)};function Np(d,f){if(f)return d.slice();var _=d.length,B=pv?pv(_):new d.constructor(_);return d.copy(B),B}function Mu(d){var f=new d.constructor(d.byteLength);return new Dd(f).set(new Dd(d)),f}function O_(d,f){var _=f?Mu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function Fc(d,f){if(d!==f){var _=d!==ee,B=null===d,de=d==d,Ne=ca(d),Xe=f!==ee,tt=null===f,dt=f==f,kt=ca(f);if(!tt&&!kt&&!Ne&&d>f||Ne&&Xe&&dt&&!tt&&!kt||B&&Xe&&dt||!_&&dt||!de)return 1;if(!B&&!Ne&&!kt&&d1?_[de-1]:ee,Xe=de>2?_[2]:ee;for(Ne=d.length>3&&"function"==typeof Ne?(de--,Ne):ee,Xe&&Ws(_[0],_[1],Xe)&&(Ne=de<3?ee:Ne,de=1),f=Ki(f);++B-1?de[Ne?f[Xe]:Xe]:ee}}function Iu(d){return dl(function(f){var _=f.length,B=_,de=Po.prototype.thru;for(d&&f.reverse();B--;){var Ne=f[B];if("function"!=typeof Ne)throw new Da(we);if(de&&!Xe&&"wrapper"==Vp(Ne))var Xe=new Po([],!0)}for(B=Xe?B:_;++B<_;){var tt=Vp(Ne=f[B]),dt="wrapper"==tt?F_(Ne):ee;Xe=dt&&Up(dt[0])&&424==dt[1]&&!dt[4].length&&1==dt[9]?Xe[Vp(dt[0])].apply(Xe,dt[3]):1==Ne.length&&Up(Ne)?Xe[tt]():Xe.thru(Ne)}return function(){var kt=arguments,Lt=kt[0];if(Xe&&1==kt.length&&Rn(Lt))return Xe.plant(Lt).value();for(var zt=0,en=_?f[zt].apply(this,kt):Lt;++zt<_;)en=f[zt].call(this,en);return en}})}function kc(d,f,_,B,de,Ne,Xe,tt,dt,kt){var Lt=f&I,zt=1&f,en=2&f,wn=24&f,Ln=512&f,gi=en?ee:Hd(d);return function jn(){for(var mi=arguments.length,Mi=St(mi),wo=mi;wo--;)Mi[wo]=arguments[wo];if(wn)var qs=$d(jn),ua=cF(Mi,qs);if(B&&(Mi=Ud(Mi,B,de,wn)),Ne&&(Mi=Iv(Mi,Ne,Xe,wn)),mi-=ua,wn&&mi1&&Mi.reverse(),Lt&&dttt))return!1;var kt=Ne.get(d),Lt=Ne.get(f);if(kt&&Lt)return kt==f&&Lt==d;var zt=-1,en=!0,wn=2&_?new Ra:ee;for(Ne.set(d,f),Ne.set(f,d);++zt-1&&d%1==0&&d1?"& ":"")+f[B],f=f.join(_>2?", ":" "),d.replace(Mt,"{\n/* [wrapped with "+f+"] */\n")}(B,function(d,f){return Us(He,function(_){var B="_."+_[0];f&_[1]&&!Ul(d,B)&&d.push(B)}),d.sort()}(function(d){var f=d.match(Dt);return f?f[1].split(Xt):[]}(B),_)))}function z_(d){var f=0,_=0;return function(){var B=bF(),de=16-(B-_);if(_=B,de>0){if(++f>=800)return arguments[0]}else f=0;return d.apply(ee,arguments)}}function Wd(d,f){var _=-1,B=d.length,de=B-1;for(f=f===ee?B:f;++_1?d[f-1]:ee;return _="function"==typeof _?(d.pop(),_):ee,GA(d,_)});function Z_(d){var f=De(d);return f.__chain__=!0,f}function Yd(d,f){return f(d)}var J_=dl(function(d){var f=d.length,_=f?d[0]:0,B=this.__wrapped__,de=function(Ne){return v_(Ne,d)};return!(f>1||this.__actions__.length)&&B instanceof fi&&Bo(_)?((B=B.slice(_,+_+(f?1:0))).__actions__.push({func:Yd,args:[de],thisArg:ee}),new Po(B,this.__chain__).thru(function(Ne){return f&&!Ne.length&&Ne.push(ee),Ne})):this.thru(de)}),qA=ns(function(d,f,_){Xi.call(d,_)?++d[_]:al(d,_,1)}),XA=Nv(G_),QA=Nv($_);function iy(d,f){return(Rn(d)?Us:Ic)(d,Fn(f,3))}function Wp(d,f){return(Rn(d)?Sd:E_)(d,Fn(f,3))}var JA=ns(function(d,f,_){Xi.call(d,_)?d[_].push(f):al(d,_,[f])}),dw=pi(function(d,f,_){var B=-1,de="function"==typeof f,Ne=bo(d)?St(d.length):[];return Ic(d,function(Xe){Ne[++B]=de?ls(f,Xe,_):Pa(Xe,f,_)}),Ne}),hw=ns(function(d,f,_){al(d,_,f)});function fl(d,f){return(Rn(d)?Yi:iA)(d,Fn(f,3))}var pw=ns(function(d,f,_){d[_?0:1].push(f)},function(){return[[],[]]}),Yp=pi(function(d,f){if(null==d)return[];var _=f.length;return _>1&&Ws(d,f[0],f[1])?f=[]:_>2&&Ws(f[0],f[1],f[2])&&(f=[f[0]]),Xh(d,Ts(f,1),[])}),Nu=jC||function(){return Vi.Date.now()};function Kp(d,f,_){return f=_?ee:f,ql(d,I,ee,ee,ee,ee,f=d&&null==f?d.length:f)}function sy(d,f){var _;if("function"!=typeof f)throw new Da(we);return d=Jn(d),function(){return--d>0&&(_=f.apply(this,arguments)),d<=1&&(f=ee),_}}var af=pi(function(d,f,_){var B=1;if(_.length){var de=yu(_,$d(af));B|=A}return ql(d,B,f,_,de)}),Xd=pi(function(d,f,_){var B=3;if(_.length){var de=yu(_,$d(Xd));B|=A}return ql(f,B,d,_,de)});function ww(d,f,_){var B,de,Ne,Xe,tt,dt,kt=0,Lt=!1,zt=!1,en=!0;if("function"!=typeof d)throw new Da(we);function wn(Hi){var yl=B,Uc=de;return B=de=ee,kt=Hi,Xe=d.apply(Uc,yl)}function Ln(Hi){return kt=Hi,tt=ef(mi,f),Lt?wn(Hi):Xe}function jn(Hi){var yl=Hi-dt;return dt===ee||yl>=f||yl<0||zt&&Hi-kt>=Ne}function mi(){var Hi=Nu();if(jn(Hi))return Mi(Hi);tt=ef(mi,function(Hi){var lM=f-(Hi-dt);return zt?ms(lM,Ne-(Hi-kt)):lM}(Hi))}function Mi(Hi){return tt=ee,en&&B?wn(Hi):(B=de=ee,Xe)}function ua(){var Hi=Nu(),yl=jn(Hi);if(B=arguments,de=this,dt=Hi,yl){if(tt===ee)return Ln(dt);if(zt)return lA(tt),tt=ef(mi,f),wn(dt)}return tt===ee&&(tt=ef(mi,f)),Xe}return f=vo(f)||0,Tr(_)&&(Lt=!!_.leading,Ne=(zt="maxWait"in _)?Hr(vo(_.maxWait)||0,f):Ne,en="trailing"in _?!!_.trailing:en),ua.cancel=function(){tt!==ee&&lA(tt),kt=0,B=dt=de=tt=ee},ua.flush=function(){return tt===ee?Xe:Mi(Nu())},ua}var iT=pi(function(d,f){return qh(d,1,f)}),Ew=pi(function(d,f,_){return qh(d,vo(f)||0,_)});function lf(d,f){if("function"!=typeof d||null!=f&&"function"!=typeof f)throw new Da(we);var _=function(){var B=arguments,de=f?f.apply(this,B):B[0],Ne=_.cache;if(Ne.has(de))return Ne.get(de);var Xe=d.apply(this,B);return _.cache=Ne.set(de,Xe)||Ne,Xe};return _.cache=new(lf.Cache||sl),_}function ly(d){if("function"!=typeof d)throw new Da(we);return function(){var f=arguments;switch(f.length){case 0:return!d.call(this);case 1:return!d.call(this,f[0]);case 2:return!d.call(this,f[0],f[1]);case 3:return!d.call(this,f[0],f[1],f[2])}return!d.apply(this,f)}}lf.Cache=sl;var rT=aA(function(d,f){var _=(f=1==f.length&&Rn(f[0])?Yi(f[0],Jo(Fn())):Yi(Ts(f,1),Jo(Fn()))).length;return pi(function(B){for(var de=-1,Ne=ms(B.length,_);++de=f}),pl=JC(function(){return arguments}())?JC:function(d){return Mr(d)&&Xi.call(d,"callee")&&!mp.call(d,"callee")},Rn=St.isArray,Mw=nn?Jo(nn):function(d){return Mr(d)&&Ms(d)==nt};function bo(d){return null!=d&&uy(d.length)&&!la(d)}function Ar(d){return Mr(d)&&bo(d)}var gl=cs||Ny,Dw=hi?Jo(hi):function(d){return Mr(d)&&Ms(d)==xe};function La(d){if(!Mr(d))return!1;var f=Ms(d);return f==Se||"[object DOMException]"==f||"string"==typeof d.message&&"string"==typeof d.name&&!Jp(d)}function la(d){if(!Tr(d))return!1;var f=Ms(d);return f==Ue||f==Ke||"[object AsyncFunction]"==f||"[object Proxy]"==f}function Zp(d){return"number"==typeof d&&d==Jn(d)}function uy(d){return"number"==typeof d&&d>-1&&d%1==0&&d<=Ie}function Tr(d){var f=typeof d;return null!=d&&("object"==f||"function"==f)}function Mr(d){return null!=d&&"object"==typeof d}var pT=pr?Jo(pr):function(d){return Mr(d)&&$s(d)==Be};function _T(d){return"number"==typeof d||Mr(d)&&Ms(d)==X}function Jp(d){if(!Mr(d)||Ms(d)!=ge)return!1;var f=Ia(d);if(null===f)return!0;var _=Xi.call(f,"constructor")&&f.constructor;return"function"==typeof _&&_ instanceof _&&xr.call(_)==LC}var Nw=mo?Jo(mo):function(d){return Mr(d)&&Ms(d)==_t},yT=Cc?Jo(Cc):function(d){return Mr(d)&&$s(d)==gt};function hy(d){return"string"==typeof d||!Rn(d)&&Mr(d)&&Ms(d)==Ae}function ca(d){return"symbol"==typeof d||Mr(d)&&Ms(d)==U}var cf=as?Jo(as):function(d){return Mr(d)&&uy(d.length)&&!!ln[Ms(d)]},Bc=Lp(Av),fy=Lp(function(d,f){return d<=f});function Pw(d){if(!d)return[];if(bo(d))return hy(d)?il(d):eo(d);if(Bh&&d[Bh])return function(ct){for(var It,St=[];!(It=ct.next()).done;)St.push(It.value);return St}(d[Bh]());var f=$s(d);return(f==Be?dv:f==gt?r_:th)(d)}function ml(d){return d?(d=vo(d))===te||d===-te?17976931348623157e292*(d<0?-1:1):d==d?d:0:0===d?d:0}function Jn(d){var f=ml(d),_=f%1;return f==f?_?f-_:f:0}function py(d){return d?Eu(Jn(d),0,ve):0}function vo(d){if("number"==typeof d)return d;if(ca(d))return NaN;if(Tr(d)){var f="function"==typeof d.valueOf?d.valueOf():d;d=Tr(f)?f+"":f}if("string"!=typeof d)return 0===d?d:+d;d=uv(d);var _=lr.test(d);return _||Xn.test(d)?cv(d.slice(2),_?2:8):Tn.test(d)?NaN:+d}function Fw(d){return Fa(d,no(d))}function zi(d){return null==d?"":Lo(d)}var bT=$l(function(d,f){if(zp(f)||bo(f))Fa(f,Os(f),d);else for(var _ in f)Xi.call(f,_)&&ol(d,_,f[_])}),vT=$l(function(d,f){Fa(f,no(f),d)}),Qd=$l(function(d,f,_,B){Fa(f,no(f),d,B)}),wT=$l(function(d,f,_,B){Fa(f,Os(f),d,B)}),kw=dl(v_),ST=pi(function(d,f){d=Ki(d);var _=-1,B=f.length,de=B>2?f[2]:ee;for(de&&Ws(f[0],f[1],de)&&(B=1);++_1),Ne}),Fa(d,P_(d),_),B&&(_=Hs(_,7,Bp));for(var de=f.length;de--;)Cu(_,f[de]);return _}),MT=dl(function(d,f){return null==d?{}:function(d,f){return Tv(d,f,function(_,B){return eg(d,B)})}(d,f)});function Hw(d,f){if(null==d)return{};var _=Yi(P_(d),function(B){return[B]});return f=Fn(f),Tv(d,_,function(B,de){return f(B,de[0])})}var DT=Ou(Os),$w=Ou(no);function th(d){return null==d?[]:i_(d,Os(d))}var PT=Wl(function(d,f,_){return f=f.toLowerCase(),d+(_?yy(f):f)});function yy(d){return ig(zi(d).toLowerCase())}function by(d){return(d=zi(d))&&d.replace(xa,uF).replace(Jm,"")}var kT=Wl(function(d,f,_){return d+(_?"-":"")+f.toLowerCase()}),LT=Wl(function(d,f,_){return d+(_?" ":"")+f.toLowerCase()}),KF=Pp("toLowerCase"),zT=Wl(function(d,f,_){return d+(_?"_":"")+f.toLowerCase()}),Ey=Wl(function(d,f,_){return d+(_?" ":"")+ig(f)}),Qw=Wl(function(d,f,_){return d+(_?" ":"")+f.toUpperCase()}),ig=Pp("toUpperCase");function Ay(d,f,_){return d=zi(d),(f=_?ee:f)===ee?function(ct){return jl.test(ct)}(d)?function(ct){return ct.match(sv)||[]}(d):function(ct){return ct.match(zn)||[]}(d):d.match(f)||[]}var Ty=pi(function(d,f){try{return ls(d,ee,f)}catch(_){return La(_)?_:new Dn(_)}}),Zw=dl(function(d,f){return Us(f,function(_){_=ni(_),al(d,_,af(d[_],d))}),d});function My(d){return function(){return d}}var QF=Iu(),Pu=Iu(!0);function io(d){return d}function Fu(d){return nA("function"==typeof d?d:Hs(d,1))}var Dy=pi(function(d,f){return function(_){return Pa(_,d,f)}}),Jw=pi(function(d,f){return function(_){return Pa(d,_,f)}});function Iy(d,f,_){var B=Os(f),de=Kh(f,B);null==_&&(!Tr(f)||!de.length&&B.length)&&(_=f,f=d,d=this,de=Kh(f,Os(f)));var Ne=!(Tr(_)&&"chain"in _&&!_.chain),Xe=la(d);return Us(de,function(tt){var dt=f[tt];d[tt]=dt,Xe&&(d.prototype[tt]=function(){var kt=this.__chain__;if(Ne||kt){var Lt=d(this.__wrapped__),zt=Lt.__actions__=eo(this.__actions__);return zt.push({func:dt,args:arguments,thisArg:d}),Lt.__chain__=kt,Lt}return dt.apply(d,zr([this.value()],arguments))})}),d}function Oy(){}var XT=Fp(Yi),QT=Fp(ti),tE=Fp(Ro);function ku(d){return ra(d)?t_(ni(d)):function(d){return function(f){return ea(f,d)}}(d)}var ZT=Fv(),JT=Fv(!0);function Vc(){return[]}function Ny(){return!1}var Wn=R_(function(d,f){return d+f},0),Py=Gd("ceil"),JF=R_(function(d,f){return d/f},1),Ql=Gd("floor"),sE=R_(function(d,f){return d*f},1),oE=Gd("round"),aE=R_(function(d,f){return d-f},0);return De.after=function(d,f){if("function"!=typeof f)throw new Da(we);return d=Jn(d),function(){if(--d<1)return f.apply(this,arguments)}},De.ary=Kp,De.assign=bT,De.assignIn=vT,De.assignInWith=Qd,De.assignWith=wT,De.at=kw,De.before=sy,De.bind=af,De.bindAll=Zw,De.bindKey=Xd,De.castArray=function(){if(!arguments.length)return[];var d=arguments[0];return Rn(d)?d:[d]},De.chain=Z_,De.chunk=function(d,f,_){f=(_?Ws(d,f,_):f===ee)?1:Hr(Jn(f),0);var B=null==d?0:d.length;if(!B||f<1)return[];for(var de=0,Ne=0,Xe=St(Vt(B/f));dede?0:de+_),(B=B===ee||B>de?de:Jn(B))<0&&(B+=de),B=_>B?0:py(B);_>>0)?(d=zi(d))&&("string"==typeof f||null!=f&&!Nw(f))&&!(f=Lo(f))&&Ph(d)?cl(il(d),0,_):d.split(f,_):[]},De.spread=function(d,f){if("function"!=typeof d)throw new Da(we);return f=null==f?0:Hr(Jn(f),0),pi(function(_){var B=_[f],de=cl(_,0,f);return B&&zr(de,B),ls(d,this,de)})},De.tail=function(d){var f=null==d?0:d.length;return f?Ds(d,1,f):[]},De.take=function(d,f,_){return d&&d.length?Ds(d,0,(f=_||f===ee?1:Jn(f))<0?0:f):[]},De.takeRight=function(d,f,_){var B=null==d?0:d.length;return B?Ds(d,(f=B-(f=_||f===ee?1:Jn(f)))<0?0:f,B):[]},De.takeRightWhile=function(d,f){return d&&d.length?Au(d,Fn(f,3),!1,!0):[]},De.takeWhile=function(d,f){return d&&d.length?Au(d,Fn(f,3)):[]},De.tap=function(d,f){return f(d),d},De.throttle=function(d,f,_){var B=!0,de=!0;if("function"!=typeof d)throw new Da(we);return Tr(_)&&(B="leading"in _?!!_.leading:B,de="trailing"in _?!!_.trailing:de),ww(d,f,{leading:B,maxWait:f,trailing:de})},De.thru=Yd,De.toArray=Pw,De.toPairs=DT,De.toPairsIn=$w,De.toPath=function(d){return Rn(d)?Yi(d,ni):ca(d)?[d]:eo(qv(zi(d)))},De.toPlainObject=Fw,De.transform=function(d,f,_){var B=Rn(d),de=B||gl(d)||cf(d);if(f=Fn(f,4),null==_){var Ne=d&&d.constructor;_=de?B?new Ne:[]:Tr(d)&&la(Ne)?wu(Ia(d)):{}}return(de?Us:ll)(d,function(Xe,tt,dt){return f(_,Xe,tt,dt)}),_},De.unary=function(d){return Kp(d,1)},De.union=iw,De.unionBy=UA,De.unionWith=zA,De.uniq=function(d){return d&&d.length?Rc(d):[]},De.uniqBy=function(d,f){return d&&d.length?Rc(d,Fn(f,2)):[]},De.uniqWith=function(d,f){return f="function"==typeof f?f:ee,d&&d.length?Rc(d,ee,f):[]},De.unset=function(d,f){return null==d||Cu(d,f)},De.unzip=rw,De.unzipWith=GA,De.update=function(d,f,_){return null==d?d:Op(d,f,I_(_))},De.updateWith=function(d,f,_,B){return B="function"==typeof B?B:ee,null==d?d:Op(d,f,I_(_),B)},De.values=th,De.valuesIn=function(d){return null==d?[]:i_(d,no(d))},De.without=sw,De.words=Ay,De.wrap=function(d,f){return Xp(I_(f),d)},De.xor=BF,De.xorBy=jo,De.xorWith=X_,De.zip=Q_,De.zipObject=function(d,f){return Rp(d||[],f||[],ol)},De.zipObjectDeep=function(d,f){return Rp(d||[],f||[],Ip)},De.zipWith=of,De.entries=DT,De.entriesIn=$w,De.extend=vT,De.extendWith=Qd,Iy(De,De),De.add=Wn,De.attempt=Ty,De.camelCase=PT,De.capitalize=yy,De.ceil=Py,De.clamp=function(d,f,_){return _===ee&&(_=f,f=ee),_!==ee&&(_=(_=vo(_))==_?_:0),f!==ee&&(f=(f=vo(f))==f?f:0),Eu(vo(d),f,_)},De.clone=function(d){return Hs(d,4)},De.cloneDeep=function(d){return Hs(d,5)},De.cloneDeepWith=function(d,f){return Hs(d,5,f="function"==typeof f?f:ee)},De.cloneWith=function(d,f){return Hs(d,4,f="function"==typeof f?f:ee)},De.conformsTo=function(d,f){return null==f||Ap(d,f,Os(f))},De.deburr=by,De.defaultTo=function(d,f){return null==d||d!=d?f:d},De.divide=JF,De.endsWith=function(d,f,_){d=zi(d),f=Lo(f);var B=d.length,de=_=_===ee?B:Eu(Jn(_),0,B);return(_-=f.length)>=0&&d.slice(_,de)==f},De.eq=In,De.escape=function(d){return(d=zi(d))&&Jt.test(d)?d.replace(Sa,dF):d},De.escapeRegExp=function(d){return(d=zi(d))&&ht.test(d)?d.replace($e,"\\$&"):d},De.every=function(d,f,_){var B=Rn(d)?ti:Ev;return _&&Ws(d,f,_)&&(f=ee),B(d,Fn(f,3))},De.find=XA,De.findIndex=G_,De.findKey=function(d,f){return Rh(d,Fn(f,3),ll)},De.findLast=QA,De.findLastIndex=$_,De.findLastKey=function(d,f){return Rh(d,Fn(f,3),Tp)},De.floor=Ql,De.forEach=iy,De.forEachRight=Wp,De.forIn=function(d,f){return null==d?d:Pd(d,Fn(f,3),no)},De.forInRight=function(d,f){return null==d?d:Fd(d,Fn(f,3),no)},De.forOwn=function(d,f){return d&&ll(d,Fn(f,3))},De.forOwnRight=function(d,f){return d&&Tp(d,Fn(f,3))},De.get=hf,De.gt=Zt,De.gte=Tw,De.has=function(d,f){return null!=d&&zv(d,f,kd)},De.hasIn=eg,De.head=Kv,De.identity=io,De.includes=function(d,f,_,B){d=bo(d)?d:th(d),_=_&&!B?Jn(_):0;var de=d.length;return _<0&&(_=Hr(de+_,0)),hy(d)?_<=de&&d.indexOf(f,_)>-1:!!de&&nl(d,f,_)>-1},De.indexOf=function(d,f,_){var B=null==d?0:d.length;if(!B)return-1;var de=null==_?0:Jn(_);return de<0&&(de=Hr(B+de,0)),nl(d,f,de)},De.inRange=function(d,f,_){return f=ml(f),_===ee?(_=f,f=0):_=ml(_),function(d,f,_){return d>=ms(f,_)&&d=-Ie&&d<=Ie},De.isSet=yT,De.isString=hy,De.isSymbol=ca,De.isTypedArray=cf,De.isUndefined=function(d){return d===ee},De.isWeakMap=function(d){return Mr(d)&&$s(d)==z},De.isWeakSet=function(d){return Mr(d)&&"[object WeakSet]"==Ms(d)},De.join=function(d,f){return null==d?"":jh.call(d,f)},De.kebabCase=kT,De.last=sa,De.lastIndexOf=function(d,f,_){var B=null==d?0:d.length;if(!B)return-1;var de=B;return _!==ee&&(de=(de=Jn(_))<0?Hr(B+de,0):ms(de,B-1)),f==f?function(ct,It,St){for(var hn=St+1;hn--;)if(ct[hn]===It)return hn;return hn}(d,f,de):Cd(d,Ac,de,!0)},De.lowerCase=LT,De.lowerFirst=KF,De.lt=Bc,De.lte=fy,De.max=function(d){return d&&d.length?Yh(d,io,Fo):ee},De.maxBy=function(d,f){return d&&d.length?Yh(d,Fn(f,2),Fo):ee},De.mean=function(d){return Cs(d,io)},De.meanBy=function(d,f){return Cs(d,Fn(f,2))},De.min=function(d){return d&&d.length?Yh(d,io,Av):ee},De.minBy=function(d,f){return d&&d.length?Yh(d,Fn(f,2),Av):ee},De.stubArray=Vc,De.stubFalse=Ny,De.stubObject=function(){return{}},De.stubString=function(){return""},De.stubTrue=function(){return!0},De.multiply=sE,De.nth=function(d,f){return d&&d.length?xu(d,Jn(f)):ee},De.noConflict=function(){return Vi._===this&&(Vi._=c_),this},De.noop=Oy,De.now=Nu,De.pad=function(d,f,_){d=zi(d);var B=(f=Jn(f))?Fh(d):0;if(!f||B>=f)return d;var de=(f-B)/2;return kp(Ei(de),_)+d+kp(Vt(de),_)},De.padEnd=function(d,f,_){d=zi(d);var B=(f=Jn(f))?Fh(d):0;return f&&Bf){var B=d;d=f,f=B}if(_||d%1||f%1){var de=Vh();return ms(d+de*(f-d+DC("1e-"+((de+"").length-1))),f)}return Gl(d,f)},De.reduce=function(d,f,_){var B=Rn(d)?_u:Zo,de=arguments.length<3;return B(d,Fn(f,4),_,de,Ic)},De.reduceRight=function(d,f,_){var B=Rn(d)?xd:Zo,de=arguments.length<3;return B(d,Fn(f,4),_,de,E_)},De.repeat=function(d,f,_){return f=(_?Ws(d,f,_):f===ee)?1:Jn(f),Dp(zi(d),f)},De.replace=function(){var d=arguments,f=zi(d[0]);return d.length<3?f:f.replace(d[1],d[2])},De.result=function(d,f,_){var B=-1,de=(f=Pc(f,d)).length;for(de||(de=1,d=ee);++BIe)return[];var _=ve,B=ms(d,ve);f=Fn(f),d-=ve;for(var de=Td(B,f);++_=Ne)return d;var tt=_-Fh(B);if(tt<1)return B;var dt=Xe?cl(Xe,0,tt).join(""):d.slice(0,tt);if(de===ee)return dt+B;if(Xe&&(tt+=dt.length-tt),Nw(de)){if(d.slice(tt).search(de)){var kt,Lt=dt;for(de.global||(de=a_(de.source,zi($n.exec(de))+"g")),de.lastIndex=0;kt=de.exec(Lt);)var zt=kt.index;dt=dt.slice(0,zt===ee?tt:zt)}}else if(d.indexOf(Lo(de),tt)!=tt){var en=dt.lastIndexOf(de);en>-1&&(dt=dt.slice(0,en))}return dt+B},De.unescape=function(d){return(d=zi(d))&&Es.test(d)?d.replace(kl,o_):d},De.uniqueId=function(d){var f=++yF;return zi(d)+f},De.upperCase=Qw,De.upperFirst=ig,De.each=iy,De.eachRight=Wp,De.first=Kv,Iy(De,function(){var d={};return ll(De,function(f,_){Xi.call(De.prototype,_)||(d[_]=f)}),d}(),{chain:!1}),De.VERSION="4.17.21",Us(["bind","bindKey","curry","curryRight","partial","partialRight"],function(d){De[d].placeholder=De}),Us(["drop","take"],function(d,f){fi.prototype[d]=function(_){_=_===ee?1:Hr(Jn(_),0);var B=this.__filtered__&&!f?new fi(this):this.clone();return B.__filtered__?B.__takeCount__=ms(_,B.__takeCount__):B.__views__.push({size:ms(_,ve),type:d+(B.__dir__<0?"Right":"")}),B},fi.prototype[d+"Right"]=function(_){return this.reverse()[d](_).reverse()}}),Us(["filter","map","takeWhile"],function(d,f){var _=f+1,B=1==_||3==_;fi.prototype[d]=function(de){var Ne=this.clone();return Ne.__iteratees__.push({iteratee:Fn(de,3),type:_}),Ne.__filtered__=Ne.__filtered__||B,Ne}}),Us(["head","last"],function(d,f){var _="take"+(f?"Right":"");fi.prototype[d]=function(){return this[_](1).value()[0]}}),Us(["initial","tail"],function(d,f){var _="drop"+(f?"":"Right");fi.prototype[d]=function(){return this.__filtered__?new fi(this):this[_](1)}}),fi.prototype.compact=function(){return this.filter(io)},fi.prototype.find=function(d){return this.filter(d).head()},fi.prototype.findLast=function(d){return this.reverse().find(d)},fi.prototype.invokeMap=pi(function(d,f){return"function"==typeof d?new fi(this):this.map(function(_){return Pa(_,d,f)})}),fi.prototype.reject=function(d){return this.filter(ly(Fn(d)))},fi.prototype.slice=function(d,f){d=Jn(d);var _=this;return _.__filtered__&&(d>0||f<0)?new fi(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),f!==ee&&(_=(f=Jn(f))<0?_.dropRight(-f):_.take(f-d)),_)},fi.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},fi.prototype.toArray=function(){return this.take(ve)},ll(fi.prototype,function(d,f){var _=/^(?:filter|find|map|reject)|While$/.test(f),B=/^(?:head|last)$/.test(f),de=De[B?"take"+("last"==f?"Right":""):f],Ne=B||/^find/.test(f);!de||(De.prototype[f]=function(){var Xe=this.__wrapped__,tt=B?[1]:arguments,dt=Xe instanceof fi,kt=tt[0],Lt=dt||Rn(Xe),zt=function(mi){var Mi=de.apply(De,zr([mi],tt));return B&&en?Mi[0]:Mi};Lt&&_&&"function"==typeof kt&&1!=kt.length&&(dt=Lt=!1);var en=this.__chain__,wn=!!this.__actions__.length,Ln=Ne&&!en,gi=dt&&!wn;if(!Ne&&Lt){Xe=gi?Xe:new fi(this);var jn=d.apply(Xe,tt);return jn.__actions__.push({func:Yd,args:[zt],thisArg:ee}),new Po(jn,en)}return Ln&&gi?d.apply(this,tt):(jn=this.thru(zt),Ln?B?jn.value()[0]:jn.value():jn)})}),Us(["pop","push","shift","sort","splice","unshift"],function(d){var f=gr[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",B=/^(?:pop|shift)$/.test(d);De.prototype[d]=function(){var de=arguments;if(B&&!this.__chain__){var Ne=this.value();return f.apply(Rn(Ne)?Ne:[],de)}return this[_](function(Xe){return f.apply(Rn(Xe)?Xe:[],de)})}}),ll(fi.prototype,function(d,f){var _=De[f];if(_){var B=_.name+"";Xi.call(Id,B)||(Id[B]=[]),Id[B].push({name:f,func:_})}}),Id[kc(ee,2).name]=[{name:"wrapper",func:ee}],fi.prototype.clone=function(){var d=new fi(this.__wrapped__);return d.__actions__=eo(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=eo(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=eo(this.__views__),d},fi.prototype.reverse=function(){if(this.__filtered__){var d=new fi(this);d.__dir__=-1,d.__filtered__=!0}else(d=this.clone()).__dir__*=-1;return d},fi.prototype.value=function(){var d=this.__wrapped__.value(),f=this.__dir__,_=Rn(d),B=f<0,de=_?d.length:0,Ne=function(d,f,_){for(var B=-1,de=_.length;++B=this.__values__.length;return{done:d,value:d?ee:this.__values__[this.__index__++]}},De.prototype.plant=function(d){for(var f,_=this;_ instanceof Gh;){var B=nf(_);B.__index__=0,B.__values__=ee,f?de.__wrapped__=B:f=B;var de=B;_=_.__wrapped__}return de.__wrapped__=d,f},De.prototype.reverse=function(){var d=this.__wrapped__;if(d instanceof fi){var f=d;return this.__actions__.length&&(f=new fi(this)),(f=f.reverse()).__actions__.push({func:Yd,args:[K_],thisArg:ee}),new Po(f,this.__chain__)}return this.thru(K_)},De.prototype.toJSON=De.prototype.valueOf=De.prototype.value=function(){return oA(this.__wrapped__,this.__actions__)},De.prototype.first=De.prototype.head,Bh&&(De.prototype[Bh]=function(){return this}),De}();Vi._=kh,(lt=function(){return kh}.call(Ye,Je,Ye,jt))!==ee&&(jt.exports=lt)}.call(this)},478:function(jt){jt.exports=function(){"use strict";function Ye(ot,ut){for(var ft=0;ftot.length)&&(ut=ot.length);for(var ft=0,be=new Array(ut);ft=ot.length?{done:!0}:{done:!1,value:ot[be++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var je={exports:{}};function Q(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}je.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Q,changeDefaults:function(ot){je.exports.defaults=ot}};var fe=/[&<>"']/,K=/[&<>"']/g,V=/[<>"']|&(?!#?\w+;)/,F=/[<>"']|&(?!#?\w+;)/g,Y={"&":"&","<":"<",">":">",'"':""","'":"'"},L=function(ut){return Y[ut]};var C=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function R(ot){return ot.replace(C,function(ut,ft){return"colon"===(ft=ft.toLowerCase())?":":"#"===ft.charAt(0)?"x"===ft.charAt(1)?String.fromCharCode(parseInt(ft.substring(2),16)):String.fromCharCode(+ft.substring(1)):""})}var T=/(^|[^\[])\^/g;var v=/[^\w:]/g,b=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var A={},E=/^[^:]+:\/*[^/]*$/,I=/^([^:]+:)[\s\S]*$/,H=/^([^:]+:\/*[^/]*)[\s\S]*$/;function M(ot,ut){A[" "+ot]||(A[" "+ot]=E.test(ot)?ot+"/":G(ot,"/",!0));var ft=-1===(ot=A[" "+ot]).indexOf(":");return"//"===ut.substring(0,2)?ft?ut:ot.replace(I,"$1")+ut:"/"===ut.charAt(0)?ft?ut:ot.replace(H,"$1")+ut:ot+ut}function G(ot,ut,ft){var be=ot.length;if(0===be)return"";for(var Ce=0;Ce1;)1&ut&&(ft+=ot),ut>>=1,ot+=ot;return ft+ot},Ie=je.exports.defaults,ye=G,re=function(ot,ut){var be=ot.replace(/\|/g,function($e,ht,it){for(var Tt=!1,Mt=ht;--Mt>=0&&"\\"===it[Mt];)Tt=!Tt;return Tt?"|":" |"}).split(/ \|/),Ce=0;if(be.length>ut)be.splice(ut);else for(;be.length1?{type:"space",raw:Ce[0]}:{raw:"\n"}},ut.code=function(be){var Ce=this.rules.block.code.exec(be);if(Ce){var $e=Ce[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:Ce[0],codeBlockStyle:"indented",text:this.options.pedantic?$e:ye($e,"\n")}}},ut.fences=function(be){var Ce=this.rules.block.fences.exec(be);if(Ce){var $e=Ce[0],ht=function(ot,ut){var ft=ot.match(/^(\s+)(?:```)/);if(null===ft)return ut;var be=ft[1];return ut.split("\n").map(function(Ce){var $e=Ce.match(/^\s+/);return null===$e?Ce:$e[0].length>=be.length?Ce.slice(be.length):Ce}).join("\n")}($e,Ce[3]||"");return{type:"code",raw:$e,lang:Ce[2]?Ce[2].trim():Ce[2],text:ht}}},ut.heading=function(be){var Ce=this.rules.block.heading.exec(be);if(Ce){var $e=Ce[2].trim();if(/#$/.test($e)){var ht=ye($e,"#");(this.options.pedantic||!ht||/ $/.test(ht))&&($e=ht.trim())}return{type:"heading",raw:Ce[0],depth:Ce[1].length,text:$e}}},ut.nptable=function(be){var Ce=this.rules.block.nptable.exec(be);if(Ce){var $e={type:"table",header:re(Ce[1].replace(/^ *| *\| *$/g,"")),align:Ce[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:Ce[3]?Ce[3].replace(/\n$/,"").split("\n"):[],raw:Ce[0]};if($e.header.length===$e.align.length){var it,ht=$e.align.length;for(it=0;it ?/gm,"");return{type:"blockquote",raw:Ce[0],text:$e}}},ut.list=function(be){var Ce=this.rules.block.list.exec(be);if(Ce){var Xt,zn,ai,Nn,bn,$n,Tn,lr,cr,$e=Ce[0],ht=Ce[2],it=ht.length>1,Tt={type:"list",raw:$e,ordered:it,start:it?+ht.slice(0,-1):"",loose:!1,items:[]},Mt=Ce[0].match(this.rules.block.item),Dt=!1,Xn=Mt.length;ai=this.rules.block.listItemStart.exec(Mt[0]);for(var $i=0;$iai[1].length:Nn[1].length>=ai[0].length||Nn[1].length>3){Mt.splice($i,2,Mt[$i]+(!this.options.pedantic&&Nn[1].length/i.test(ht[0])&&(Ce=!1),!$e&&/^<(pre|code|kbd|script)(\s|>)/i.test(ht[0])?$e=!0:$e&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ht[0])&&($e=!1),{type:this.options.sanitize?"text":"html",raw:ht[0],inLink:Ce,inRawBlock:$e,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ht[0]):ve(ht[0]):ht[0]}},ut.link=function(be){var Ce=this.rules.inline.link.exec(be);if(Ce){var $e=Ce[2].trim();if(!this.options.pedantic&&/^$/.test($e))return;var ht=ye($e.slice(0,-1),"\\");if(($e.length-ht.length)%2==0)return}else{var it=Fe(Ce[2],"()");if(it>-1){var Mt=(0===Ce[0].indexOf("!")?5:4)+Ce[1].length+it;Ce[2]=Ce[2].substring(0,it),Ce[0]=Ce[0].substring(0,Mt).trim(),Ce[3]=""}}var Dt=Ce[2],Xt="";if(this.options.pedantic){var zn=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Dt);zn&&(Dt=zn[1],Xt=zn[3])}else Xt=Ce[3]?Ce[3].slice(1,-1):"";return Dt=Dt.trim(),/^$/.test($e)?Dt.slice(1):Dt.slice(1,-1)),Qe(Ce,{href:Dt&&Dt.replace(this.rules.inline._escapes,"$1"),title:Xt&&Xt.replace(this.rules.inline._escapes,"$1")},Ce[0])}},ut.reflink=function(be,Ce){var $e;if(($e=this.rules.inline.reflink.exec(be))||($e=this.rules.inline.nolink.exec(be))){var ht=($e[2]||$e[1]).replace(/\s+/g," ");if(!(ht=Ce[ht.toLowerCase()])||!ht.href){var it=$e[0].charAt(0);return{type:"text",raw:it,text:it}}return Qe($e,ht,$e[0])}},ut.emStrong=function(be,Ce,$e){void 0===$e&&($e="");var ht=this.rules.inline.emStrong.lDelim.exec(be);if(ht&&(!ht[3]||!$e.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var it=ht[1]||ht[2]||"";if(!it||it&&(""===$e||this.rules.inline.punctuation.exec($e))){var Mt,Dt,Tt=ht[0].length-1,Xt=Tt,zn=0,ai="*"===ht[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ai.lastIndex=0,Ce=Ce.slice(-1*be.length+Tt);null!=(ht=ai.exec(Ce));)if(Mt=ht[1]||ht[2]||ht[3]||ht[4]||ht[5]||ht[6]){if(Dt=Mt.length,ht[3]||ht[4]){Xt+=Dt;continue}if((ht[5]||ht[6])&&Tt%3&&!((Tt+Dt)%3)){zn+=Dt;continue}if(!((Xt-=Dt)>0))return Dt=Math.min(Dt,Dt+Xt+zn),Math.min(Tt,Dt)%2?{type:"em",raw:be.slice(0,Tt+ht.index+Dt+1),text:be.slice(1,Tt+ht.index+Dt)}:{type:"strong",raw:be.slice(0,Tt+ht.index+Dt+1),text:be.slice(2,Tt+ht.index+Dt-1)}}}}},ut.codespan=function(be){var Ce=this.rules.inline.code.exec(be);if(Ce){var $e=Ce[2].replace(/\n/g," "),ht=/[^ ]/.test($e),it=/^ /.test($e)&&/ $/.test($e);return ht&&it&&($e=$e.substring(1,$e.length-1)),$e=ve($e,!0),{type:"codespan",raw:Ce[0],text:$e}}},ut.br=function(be){var Ce=this.rules.inline.br.exec(be);if(Ce)return{type:"br",raw:Ce[0]}},ut.del=function(be){var Ce=this.rules.inline.del.exec(be);if(Ce)return{type:"del",raw:Ce[0],text:Ce[2]}},ut.autolink=function(be,Ce){var ht,it,$e=this.rules.inline.autolink.exec(be);if($e)return it="@"===$e[2]?"mailto:"+(ht=ve(this.options.mangle?Ce($e[1]):$e[1])):ht=ve($e[1]),{type:"link",raw:$e[0],text:ht,href:it,tokens:[{type:"text",raw:ht,text:ht}]}},ut.url=function(be,Ce){var $e;if($e=this.rules.inline.url.exec(be)){var ht,it;if("@"===$e[2])it="mailto:"+(ht=ve(this.options.mangle?Ce($e[0]):$e[0]));else{var Tt;do{Tt=$e[0],$e[0]=this.rules.inline._backpedal.exec($e[0])[0]}while(Tt!==$e[0]);ht=ve($e[0]),it="www."===$e[1]?"http://"+ht:ht}return{type:"link",raw:$e[0],text:ht,href:it,tokens:[{type:"text",raw:ht,text:ht}]}}},ut.inlineText=function(be,Ce,$e){var it,ht=this.rules.inline.text.exec(be);if(ht)return it=Ce?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ht[0]):ve(ht[0]):ht[0]:ve(this.options.smartypants?$e(ht[0]):ht[0]),{type:"text",raw:ht[0],text:it}},ot}(),ae=te_noopTest,_e=te_edit,Te=te_merge,xe={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:ae,table:ae,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};xe.def=_e(xe.def).replace("label",xe._label).replace("title",xe._title).getRegex(),xe.bullet=/(?:[*+-]|\d{1,9}[.)])/,xe.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,xe.item=_e(xe.item,"gm").replace(/bull/g,xe.bullet).getRegex(),xe.listItemStart=_e(/^( *)(bull) */).replace("bull",xe.bullet).getRegex(),xe.list=_e(xe.list).replace(/bull/g,xe.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+xe.def.source+")").getRegex(),xe._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",xe._comment=/|$)/,xe.html=_e(xe.html,"i").replace("comment",xe._comment).replace("tag",xe._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),xe.paragraph=_e(xe._paragraph).replace("hr",xe.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",xe._tag).getRegex(),xe.blockquote=_e(xe.blockquote).replace("paragraph",xe.paragraph).getRegex(),xe.normal=Te({},xe),xe.gfm=Te({},xe.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),xe.gfm.nptable=_e(xe.gfm.nptable).replace("hr",xe.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",xe._tag).getRegex(),xe.gfm.table=_e(xe.gfm.table).replace("hr",xe.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",xe._tag).getRegex(),xe.pedantic=Te({},xe.normal,{html:_e("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",xe._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:ae,paragraph:_e(xe.normal._paragraph).replace("hr",xe.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",xe.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ge={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:ae,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:ae,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ge.punctuation=_e(Ge.punctuation).replace(/punctuation/g,Ge._punctuation).getRegex(),Ge.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ge.escapedEmSt=/\\\*|\\_/g,Ge._comment=_e(xe._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ge.emStrong.lDelim=_e(Ge.emStrong.lDelim).replace(/punct/g,Ge._punctuation).getRegex(),Ge.emStrong.rDelimAst=_e(Ge.emStrong.rDelimAst,"g").replace(/punct/g,Ge._punctuation).getRegex(),Ge.emStrong.rDelimUnd=_e(Ge.emStrong.rDelimUnd,"g").replace(/punct/g,Ge._punctuation).getRegex(),Ge._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ge._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ge._email=/[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])?)+(?![-_])/,Ge.autolink=_e(Ge.autolink).replace("scheme",Ge._scheme).replace("email",Ge._email).getRegex(),Ge._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ge.tag=_e(Ge.tag).replace("comment",Ge._comment).replace("attribute",Ge._attribute).getRegex(),Ge._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ge._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ge._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ge.link=_e(Ge.link).replace("label",Ge._label).replace("href",Ge._href).replace("title",Ge._title).getRegex(),Ge.reflink=_e(Ge.reflink).replace("label",Ge._label).getRegex(),Ge.reflinkSearch=_e(Ge.reflinkSearch,"g").replace("reflink",Ge.reflink).replace("nolink",Ge.nolink).getRegex(),Ge.normal=Te({},Ge),Ge.pedantic=Te({},Ge.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:_e(/^!?\[(label)\]\((.*?)\)/).replace("label",Ge._label).getRegex(),reflink:_e(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ge._label).getRegex()}),Ge.gfm=Te({},Ge.normal,{escape:_e(Ge.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(be="x"+be.toString(16)),ut+="&#"+be+";";return ut}var qe=function(){function ot(ft){this.tokens=[],this.tokens.links=Object.create(null),this.options=ft||Ke,this.options.tokenizer=this.options.tokenizer||new Ue,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var be={block:Be.normal,inline:X.normal};this.options.pedantic?(be.block=Be.pedantic,be.inline=X.pedantic):this.options.gfm&&(be.block=Be.gfm,be.inline=this.options.breaks?X.breaks:X.gfm),this.tokenizer.rules=be}ot.lex=function(be,Ce){return new ot(Ce).lex(be)},ot.lexInline=function(be,Ce){return new ot(Ce).inlineTokens(be)};var ut=ot.prototype;return ut.lex=function(be){return be=be.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(be,this.tokens,!0),this.inline(this.tokens),this.tokens},ut.blockTokens=function(be,Ce,$e){var it,Tt,Mt,Dt,Xt,zn,ht=this;for(void 0===Ce&&(Ce=[]),void 0===$e&&($e=!0),this.options.pedantic&&(be=be.replace(/^ +$/gm,""));be;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Nn){return!!(it=Nn.call(ht,be,Ce))&&(be=be.substring(it.raw.length),Ce.push(it),!0)}))){if(it=this.tokenizer.space(be)){be=be.substring(it.raw.length),it.type&&Ce.push(it);continue}if(it=this.tokenizer.code(be)){be=be.substring(it.raw.length),(Dt=Ce[Ce.length-1])&&"paragraph"===Dt.type?(Dt.raw+="\n"+it.raw,Dt.text+="\n"+it.text):Ce.push(it);continue}if(it=this.tokenizer.fences(be)){be=be.substring(it.raw.length),Ce.push(it);continue}if(it=this.tokenizer.heading(be)){be=be.substring(it.raw.length),Ce.push(it);continue}if(it=this.tokenizer.nptable(be)){be=be.substring(it.raw.length),Ce.push(it);continue}if(it=this.tokenizer.hr(be)){be=be.substring(it.raw.length),Ce.push(it);continue}if(it=this.tokenizer.blockquote(be)){be=be.substring(it.raw.length),it.tokens=this.blockTokens(it.text,[],$e),Ce.push(it);continue}if(it=this.tokenizer.list(be)){for(be=be.substring(it.raw.length),Mt=it.items.length,Tt=0;Tt=0&&(Nn=Math.min(Nn,$n))}),Nn<1/0&&Nn>=0&&(Xt=be.substring(0,Nn+1))}(),$e&&(it=this.tokenizer.paragraph(Xt))){Dt=Ce[Ce.length-1],zn&&"paragraph"===Dt.type?(Dt.raw+="\n"+it.raw,Dt.text+="\n"+it.text):Ce.push(it),zn=Xt.length!==be.length,be=be.substring(it.raw.length);continue}if(it=this.tokenizer.text(be)){be=be.substring(it.raw.length),(Dt=Ce[Ce.length-1])&&"text"===Dt.type?(Dt.raw+="\n"+it.raw,Dt.text+="\n"+it.text):Ce.push(it);continue}if(be){var ai="Infinite loop on byte: "+be.charCodeAt(0);if(this.options.silent){console.error(ai);break}throw new Error(ai)}}return Ce},ut.inline=function(be){var Ce,$e,ht,it,Tt,Mt,Dt=be.length;for(Ce=0;Ce0)for(;null!=(zn=this.tokenizer.rules.inline.reflinkSearch.exec(Xt));)bn.includes(zn[0].slice(zn[0].lastIndexOf("[")+1,-1))&&(Xt=Xt.slice(0,zn.index)+"["+q("a",zn[0].length-2)+"]"+Xt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(zn=this.tokenizer.rules.inline.blockSkip.exec(Xt));)Xt=Xt.slice(0,zn.index)+"["+q("a",zn[0].length-2)+"]"+Xt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(zn=this.tokenizer.rules.inline.escapedEmSt.exec(Xt));)Xt=Xt.slice(0,zn.index)+"++"+Xt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;be;)if(ai||(Nn=""),ai=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Tn){return!!(Tt=Tn.call(it,be,Ce))&&(be=be.substring(Tt.raw.length),Ce.push(Tt),!0)}))){if(Tt=this.tokenizer.escape(be)){be=be.substring(Tt.raw.length),Ce.push(Tt);continue}if(Tt=this.tokenizer.tag(be,$e,ht)){be=be.substring(Tt.raw.length),$e=Tt.inLink,ht=Tt.inRawBlock,(Mt=Ce[Ce.length-1])&&"text"===Tt.type&&"text"===Mt.type?(Mt.raw+=Tt.raw,Mt.text+=Tt.text):Ce.push(Tt);continue}if(Tt=this.tokenizer.link(be)){be=be.substring(Tt.raw.length),"link"===Tt.type&&(Tt.tokens=this.inlineTokens(Tt.text,[],!0,ht)),Ce.push(Tt);continue}if(Tt=this.tokenizer.reflink(be,this.tokens.links)){be=be.substring(Tt.raw.length),Mt=Ce[Ce.length-1],"link"===Tt.type?(Tt.tokens=this.inlineTokens(Tt.text,[],!0,ht),Ce.push(Tt)):Mt&&"text"===Tt.type&&"text"===Mt.type?(Mt.raw+=Tt.raw,Mt.text+=Tt.text):Ce.push(Tt);continue}if(Tt=this.tokenizer.emStrong(be,Xt,Nn)){be=be.substring(Tt.raw.length),Tt.tokens=this.inlineTokens(Tt.text,[],$e,ht),Ce.push(Tt);continue}if(Tt=this.tokenizer.codespan(be)){be=be.substring(Tt.raw.length),Ce.push(Tt);continue}if(Tt=this.tokenizer.br(be)){be=be.substring(Tt.raw.length),Ce.push(Tt);continue}if(Tt=this.tokenizer.del(be)){be=be.substring(Tt.raw.length),Tt.tokens=this.inlineTokens(Tt.text,[],$e,ht),Ce.push(Tt);continue}if(Tt=this.tokenizer.autolink(be,le)){be=be.substring(Tt.raw.length),Ce.push(Tt);continue}if(!$e&&(Tt=this.tokenizer.url(be,le))){be=be.substring(Tt.raw.length),Ce.push(Tt);continue}if(Dt=be,this.options.extensions&&this.options.extensions.startInline&&function(){var Tn=1/0,lr=be.slice(1),cr=void 0;it.options.extensions.startInline.forEach(function(Xn){"number"==typeof(cr=Xn.call(this,lr))&&cr>=0&&(Tn=Math.min(Tn,cr))}),Tn<1/0&&Tn>=0&&(Dt=be.substring(0,Tn+1))}(),Tt=this.tokenizer.inlineText(Dt,ht,ge)){be=be.substring(Tt.raw.length),"_"!==Tt.raw.slice(-1)&&(Nn=Tt.raw.slice(-1)),ai=!0,(Mt=Ce[Ce.length-1])&&"text"===Mt.type?(Mt.raw+=Tt.raw,Mt.text+=Tt.text):Ce.push(Tt);continue}if(be){var $n="Infinite loop on byte: "+be.charCodeAt(0);if(this.options.silent){console.error($n);break}throw new Error($n)}}return Ce},function(ot,ut,ft){ut&&Ye(ot.prototype,ut),ft&&Ye(ot,ft)}(ot,null,[{key:"rules",get:function(){return{block:Be,inline:X}}}]),ot}(),_t=je.exports.defaults,gt=te_cleanUrl,Ae=te_escape,U=function(){function ot(ft){this.options=ft||_t}var ut=ot.prototype;return ut.code=function(be,Ce,$e){var ht=(Ce||"").match(/\S*/)[0];if(this.options.highlight){var it=this.options.highlight(be,ht);null!=it&&it!==be&&($e=!0,be=it)}return be=be.replace(/\n$/,"")+"\n",ht?'
    '+($e?be:Ae(be,!0))+"
    \n":"
    "+($e?be:Ae(be,!0))+"
    \n"},ut.blockquote=function(be){return"
    \n"+be+"
    \n"},ut.html=function(be){return be},ut.heading=function(be,Ce,$e,ht){return this.options.headerIds?"'+be+"\n":""+be+"\n"},ut.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},ut.list=function(be,Ce,$e){var ht=Ce?"ol":"ul";return"<"+ht+(Ce&&1!==$e?' start="'+$e+'"':"")+">\n"+be+"\n"},ut.listitem=function(be){return"
  • "+be+"
  • \n"},ut.checkbox=function(be){return" "},ut.paragraph=function(be){return"

    "+be+"

    \n"},ut.table=function(be,Ce){return Ce&&(Ce=""+Ce+""),"\n\n"+be+"\n"+Ce+"
    \n"},ut.tablerow=function(be){return"\n"+be+"\n"},ut.tablecell=function(be,Ce){var $e=Ce.header?"th":"td";return(Ce.align?"<"+$e+' align="'+Ce.align+'">':"<"+$e+">")+be+"\n"},ut.strong=function(be){return""+be+""},ut.em=function(be){return""+be+""},ut.codespan=function(be){return""+be+""},ut.br=function(){return this.options.xhtml?"
    ":"
    "},ut.del=function(be){return""+be+""},ut.link=function(be,Ce,$e){if(null===(be=gt(this.options.sanitize,this.options.baseUrl,be)))return $e;var ht='"+$e+""},ut.image=function(be,Ce,$e){if(null===(be=gt(this.options.sanitize,this.options.baseUrl,be)))return $e;var ht=''+$e+'":">")},ut.text=function(be){return be},ot}(),k=function(){function ot(){}var ut=ot.prototype;return ut.strong=function(be){return be},ut.em=function(be){return be},ut.codespan=function(be){return be},ut.del=function(be){return be},ut.html=function(be){return be},ut.text=function(be){return be},ut.link=function(be,Ce,$e){return""+$e},ut.image=function(be,Ce,$e){return""+$e},ut.br=function(){return""},ot}(),z=function(){function ot(){this.seen={}}var ut=ot.prototype;return ut.serialize=function(be){return be.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},ut.getNextSafeSlug=function(be,Ce){var $e=be,ht=0;if(this.seen.hasOwnProperty($e)){ht=this.seen[be];do{$e=be+"-"+ ++ht}while(this.seen.hasOwnProperty($e))}return Ce||(this.seen[be]=ht,this.seen[$e]=0),$e},ut.slug=function(be,Ce){void 0===Ce&&(Ce={});var $e=this.serialize(be);return this.getNextSafeSlug($e,Ce.dryrun)},ot}(),Le=U,nt=k,xt=z,Nt=je.exports.defaults,On=te_unescape,Yn=qe,Ti=function(){function ot(ft){this.options=ft||Nt,this.options.renderer=this.options.renderer||new Le,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new nt,this.slugger=new xt}ot.parse=function(be,Ce){return new ot(Ce).parse(be)},ot.parseInline=function(be,Ce){return new ot(Ce).parseInline(be)};var ut=ot.prototype;return ut.parse=function(be,Ce){void 0===Ce&&(Ce=!0);var ht,it,Tt,Mt,Dt,Xt,zn,ai,Nn,bn,$n,Tn,lr,cr,Xn,$i,xa,Zr,oe,$e="",me=be.length;for(ht=0;ht0&&"text"===Xn.tokens[0].type?(Xn.tokens[0].text=Zr+" "+Xn.tokens[0].text,Xn.tokens[0].tokens&&Xn.tokens[0].tokens.length>0&&"text"===Xn.tokens[0].tokens[0].type&&(Xn.tokens[0].tokens[0].text=Zr+" "+Xn.tokens[0].tokens[0].text)):Xn.tokens.unshift({type:"text",text:Zr}):cr+=Zr),cr+=this.parse(Xn.tokens,lr),Nn+=this.renderer.listitem(cr,xa,$i);$e+=this.renderer.list(Nn,$n,Tn);continue;case"html":$e+=this.renderer.html(bn.text);continue;case"paragraph":$e+=this.renderer.paragraph(this.parseInline(bn.tokens));continue;case"text":for(Nn=bn.tokens?this.parseInline(bn.tokens):bn.text;ht+1An error occurred:

    "+el(Tt.message+"",!0)+"
    ";throw Tt}}return Jt.options=Jt.setOptions=function(ot){return Bs(Jt.defaults,ot),Sa(Jt.defaults),Jt},Jt.getDefaults=kl,Jt.defaults=Es,Jt.use=function(){for(var ot=this,ut=arguments.length,ft=new Array(ut),be=0;beAn error occurred:

    "+el(be.message+"",!0)+"
    ";throw be}},Jt.Parser=Ti,Jt.parser=Ti.parse,Jt.Renderer=Xr,Jt.TextRenderer=Ls,Jt.Lexer=Yn,Jt.lexer=Yn.lex,Jt.Tokenizer=wi,Jt.Slugger=gs,Jt.parse=Jt,Jt}()},369:(jt,Ye,Je)=>{var lt=Je(284),ee=Je(830);function Et(){this.clear()}Et.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},Et.prototype.enqueue=function(je){return this.items.push(je),++this.size},Et.prototype.dequeue=function(){if(this.size){var je=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,je}},Et.prototype.peek=function(){if(this.size)return this.items[this.offset]},Et.prototype.forEach=function(je,Q){Q=arguments.length>1?Q:this;for(var we=this.offset,fe=0,K=this.items.length;we=je.length)return{done:!0};var we=je[Q];return Q++,{value:we,done:!1}})},Et.prototype.entries=function(){var je=this.items,Q=this.offset,we=0;return new lt(function(){if(Q>=je.length)return{done:!0};var fe=je[Q];return Q++,{value:[we++,fe],done:!1}})},"undefined"!=typeof Symbol&&(Et.prototype[Symbol.iterator]=Et.prototype.values),Et.prototype.toString=function(){return this.toArray().join(",")},Et.prototype.toJSON=function(){return this.toArray()},Et.prototype.inspect=function(){var je=this.toArray();return Object.defineProperty(je,"constructor",{value:Et,enumerable:!1}),je},"undefined"!=typeof Symbol&&(Et.prototype[Symbol.for("nodejs.util.inspect.custom")]=Et.prototype.inspect),Et.from=function(je){var Q=new Et;return ee(je,function(we){Q.enqueue(we)}),Q},Et.of=function(){return Et.from(arguments)},jt.exports=Et},104:jt=>{jt.exports=function Ye(Je,lt,ee){function Et(we,fe){if(!lt[we]){if(!Je[we]){if(je)return je(we,!0);throw new Error("Cannot find module '"+we+"'")}fe=lt[we]={exports:{}},Je[we][0].call(fe.exports,function(V){return Et(Je[we][1][V]||V)},fe,fe.exports,Ye,Je,lt,ee)}return lt[we].exports}for(var je=void 0,Q=0;Q>16),S((65280&I)>>8),S(255&I);return 2==H?S(255&(I=x(A.charAt(E))<<2|x(A.charAt(E+1))>>4)):1==H&&(S((I=x(A.charAt(E))<<10|x(A.charAt(E+1))<<4|x(A.charAt(E+2))>>2)>>8&255),S(255&I)),M},Y.fromByteArray=function(A){var E,I,H,M,P=A.length%3,Z="";function S(G){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(G)}for(E=0,H=A.length-P;E>18&63)+S(M>>12&63)+S(M>>6&63)+S(63&M);switch(P){case 1:Z=(Z+=S((I=A[A.length-1])>>2))+S(I<<4&63)+"==";break;case 2:Z=(Z=(Z+=S((I=(A[A.length-2]<<8)+A[A.length-1])>>10))+S(I>>4&63))+S(I<<2&63)+"="}return Z}}(void 0===lt?this.base64js={}:lt)}).call(this,Ye("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Ye("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(Ye,Je,lt){(function(ee,Et,je,Q,we,fe,K,V,F){var Y=Ye("base64-js"),L=Ye("ieee754");function je(J,ae,_e){if(!(this instanceof je))return new je(J,ae,_e);var Te,xe,Ge,Se,Ue=typeof J;if("base64"===ae&&"string"==Ue)for(J=(Se=J).trim?Se.trim():Se.replace(/^\s+|\s+$/g,"");J.length%4!=0;)J+="=";if("number"==Ue)Te=ne(J);else if("string"==Ue)Te=je.byteLength(J,ae);else{if("object"!=Ue)throw new Error("First argument needs to be a number, array or string.");Te=ne(J.length)}if(je._useTypedArrays?xe=je._augment(new Uint8Array(Te)):((xe=this).length=Te,xe._isBuffer=!0),je._useTypedArrays&&"number"==typeof J.byteLength)xe._set(J);else if(ce(Se=J)||je.isBuffer(Se)||Se&&"object"==typeof Se&&"number"==typeof Se.length)for(Ge=0;Ge>>0)):(ae+1>>0),xe}function v(J,ae,_e,Te){if(Te||(He("boolean"==typeof _e,"missing or invalid endian"),He(null!=ae,"missing offset"),He(ae+1>>8*(Te?Ge:1-Ge)}function I(J,ae,_e,Te,xe){if(xe||(He(null!=ae,"missing value"),He("boolean"==typeof Te,"missing or invalid endian"),He(null!=_e,"missing offset"),He(_e+3>>8*(Te?Ge:3-Ge)&255}function H(J,ae,_e,Te,xe){xe||(He(null!=ae,"missing value"),He("boolean"==typeof Te,"missing or invalid endian"),He(null!=_e,"missing offset"),He(_e+1>8,Ue.push(Se%=256),Ue.push(Ge);return Ue}(ae),J,_e,Te)}(this,J,ae,_e);break;default:throw new Error("Unknown encoding")}return xe},je.prototype.toString=function(J,ae,_e){var Te,xe,Ge,Se,Ue=this;if(J=String(J||"utf8").toLowerCase(),ae=Number(ae)||0,(_e=void 0!==_e?Number(_e):Ue.length)===ae)return"";switch(J){case"hex":Te=function(Ke,Be,X){var q=Ke.length;(!Be||Be<0)&&(Be=0),(!X||X<0||qthis.length&&(Te=this.length);var xe=(Te=J.length-ae=this.length))return this[J]},je.prototype.readUInt16LE=function(J,ae){return T(this,J,!0,ae)},je.prototype.readUInt16BE=function(J,ae){return T(this,J,!1,ae)},je.prototype.readUInt32LE=function(J,ae){return y(this,J,!0,ae)},je.prototype.readUInt32BE=function(J,ae){return y(this,J,!1,ae)},je.prototype.readInt8=function(J,ae){if(ae||(He(null!=J,"missing offset"),He(J=this.length))return 128&this[J]?-1*(255-this[J]+1):this[J]},je.prototype.readInt16LE=function(J,ae){return v(this,J,!0,ae)},je.prototype.readInt16BE=function(J,ae){return v(this,J,!1,ae)},je.prototype.readInt32LE=function(J,ae){return b(this,J,!0,ae)},je.prototype.readInt32BE=function(J,ae){return b(this,J,!1,ae)},je.prototype.readFloatLE=function(J,ae){return x(this,J,!0,ae)},je.prototype.readFloatBE=function(J,ae){return x(this,J,!1,ae)},je.prototype.readDoubleLE=function(J,ae){return A(this,J,!0,ae)},je.prototype.readDoubleBE=function(J,ae){return A(this,J,!1,ae)},je.prototype.writeUInt8=function(J,ae,_e){_e||(He(null!=J,"missing value"),He(null!=ae,"missing offset"),He(ae=this.length||(this[ae]=J)},je.prototype.writeUInt16LE=function(J,ae,_e){E(this,J,ae,!0,_e)},je.prototype.writeUInt16BE=function(J,ae,_e){E(this,J,ae,!1,_e)},je.prototype.writeUInt32LE=function(J,ae,_e){I(this,J,ae,!0,_e)},je.prototype.writeUInt32BE=function(J,ae,_e){I(this,J,ae,!1,_e)},je.prototype.writeInt8=function(J,ae,_e){_e||(He(null!=J,"missing value"),He(null!=ae,"missing offset"),He(ae=this.length||this.writeUInt8(0<=J?J:255+J+1,ae,_e)},je.prototype.writeInt16LE=function(J,ae,_e){H(this,J,ae,!0,_e)},je.prototype.writeInt16BE=function(J,ae,_e){H(this,J,ae,!1,_e)},je.prototype.writeInt32LE=function(J,ae,_e){M(this,J,ae,!0,_e)},je.prototype.writeInt32BE=function(J,ae,_e){M(this,J,ae,!1,_e)},je.prototype.writeFloatLE=function(J,ae,_e){P(this,J,ae,!0,_e)},je.prototype.writeFloatBE=function(J,ae,_e){P(this,J,ae,!1,_e)},je.prototype.writeDoubleLE=function(J,ae,_e){Z(this,J,ae,!0,_e)},je.prototype.writeDoubleBE=function(J,ae,_e){Z(this,J,ae,!1,_e)},je.prototype.fill=function(J,ae,_e){if(ae=ae||0,_e=_e||this.length,He("number"==typeof(J="string"==typeof(J=J||0)?J.charCodeAt(0):J)&&!isNaN(J),"value is not a number"),He(ae<=_e,"end < start"),_e!==ae&&0!==this.length){He(0<=ae&&ae"},je.prototype.toArrayBuffer=function(){if("undefined"==typeof Uint8Array)throw new Error("Buffer.toArrayBuffer not supported in this browser");if(je._useTypedArrays)return new je(this).buffer;for(var J=new Uint8Array(this.length),ae=0,_e=J.length;ae<_e;ae+=1)J[ae]=this[ae];return J.buffer};var S=je.prototype;function G(J,ae,_e){return"number"!=typeof J?_e:ae<=(J=~~J)?ae:0<=J||0<=(J+=ae)?J:0}function ne(J){return(J=~~Math.ceil(+J))<0?0:J}function ce(J){return(Array.isArray||function(ae){return"[object Array]"===Object.prototype.toString.call(ae)})(J)}function se(J){return J<16?"0"+J.toString(16):J.toString(16)}function te(J){for(var ae=[],_e=0;_e=ae.length||xe>=J.length);xe++)ae[xe+_e]=J[xe];return xe}function re(J){try{return decodeURIComponent(J)}catch(ae){return String.fromCharCode(65533)}}function ve(J,ae){He("number"==typeof J,"cannot write a non-number as a number"),He(0<=J,"specified a negative value for writing an unsigned value"),He(J<=ae,"value is larger than maximum value for type"),He(Math.floor(J)===J,"value has a fractional component")}function Fe(J,ae,_e){He("number"==typeof J,"cannot write a non-number as a number"),He(J<=ae,"value larger than maximum allowed value"),He(_e<=J,"value smaller than minimum allowed value"),He(Math.floor(J)===J,"value has a fractional component")}function Qe(J,ae,_e){He("number"==typeof J,"cannot write a non-number as a number"),He(J<=ae,"value larger than maximum allowed value"),He(_e<=J,"value smaller than minimum allowed value")}function He(J,ae){if(!J)throw new Error(ae||"Failed assertion")}je._augment=function(J){return J._isBuffer=!0,J._get=J.get,J._set=J.set,J.get=S.get,J.set=S.set,J.write=S.write,J.toString=S.toString,J.toLocaleString=S.toString,J.toJSON=S.toJSON,J.copy=S.copy,J.slice=S.slice,J.readUInt8=S.readUInt8,J.readUInt16LE=S.readUInt16LE,J.readUInt16BE=S.readUInt16BE,J.readUInt32LE=S.readUInt32LE,J.readUInt32BE=S.readUInt32BE,J.readInt8=S.readInt8,J.readInt16LE=S.readInt16LE,J.readInt16BE=S.readInt16BE,J.readInt32LE=S.readInt32LE,J.readInt32BE=S.readInt32BE,J.readFloatLE=S.readFloatLE,J.readFloatBE=S.readFloatBE,J.readDoubleLE=S.readDoubleLE,J.readDoubleBE=S.readDoubleBE,J.writeUInt8=S.writeUInt8,J.writeUInt16LE=S.writeUInt16LE,J.writeUInt16BE=S.writeUInt16BE,J.writeUInt32LE=S.writeUInt32LE,J.writeUInt32BE=S.writeUInt32BE,J.writeInt8=S.writeInt8,J.writeInt16LE=S.writeInt16LE,J.writeInt16BE=S.writeInt16BE,J.writeInt32LE=S.writeInt32LE,J.writeInt32BE=S.writeInt32BE,J.writeFloatLE=S.writeFloatLE,J.writeFloatBE=S.writeFloatBE,J.writeDoubleLE=S.writeDoubleLE,J.writeDoubleBE=S.writeDoubleBE,J.fill=S.fill,J.inspect=S.inspect,J.toArrayBuffer=S.toArrayBuffer,J}}).call(this,Ye("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Ye("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(Ye,Je,lt){(function(ee,Et,je,Q,we,fe,K,V,F){je=Ye("buffer").Buffer;var L=new je(4);L.fill(0),Je.exports={hash:function(w,C,R,T){for(var y=C(function(E,I){E.length%4!=0&&(E=je.concat([E,L],E.length+(4-E.length%4)));for(var M=[],P=I?E.readInt32BE:E.readInt32LE,Z=0;ZR?G=S(G):G.length>5]|=128<>>9<<4)]=x;for(var A=1732584193,E=-271733879,I=-1732584194,H=271733878,M=0;M>>32-I,A)}function C(b,x,A,E,I,H,M){return w(x&A|~x&E,b,x,I,H,M)}function R(b,x,A,E,I,H,M){return w(x&E|A&~E,b,x,I,H,M)}function T(b,x,A,E,I,H,M){return w(x^A^E,b,x,I,H,M)}function y(b,x,A,E,I,H,M){return w(A^(x|~E),b,x,I,H,M)}function v(b,x){var A=(65535&b)+(65535&x);return(b>>16)+(x>>16)+(A>>16)<<16|65535&A}Je.exports=function(b){return Y.hash(b,L,16)}}).call(this,Ye("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Ye("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(Ye,Je,lt){(function(ee,Et,je,Q,we,fe,K,V,F){Je.exports=function(L){for(var w,C=new Array(L),R=0;R>>((3&R)<<3)&255;return C}}).call(this,Ye("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Ye("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(Ye,Je,lt){(function(ee,Et,je,Q,we,fe,K,V,F){var Y=Ye("./helpers");function L(R,T){R[T>>5]|=128<<24-T%32,R[15+(T+64>>9<<4)]=T;for(var y,v,b,x=Array(80),A=1732584193,E=-271733879,I=-1732584194,H=271733878,M=-1009589776,P=0;P>16)+(T>>16)+(y>>16)<<16|65535&y}function C(R,T){return R<>>32-T}Je.exports=function(R){return Y.hash(R,L,20,!0)}}).call(this,Ye("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Ye("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(Ye,Je,lt){(function(ee,Et,je,Q,we,fe,K,V,F){function Y(T,y){var v=(65535&T)+(65535&y);return(T>>16)+(y>>16)+(v>>16)<<16|65535&v}function L(T,y){var v,b=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),x=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),A=new Array(64);T[y>>5]|=128<<24-y%32,T[15+(y+64>>9<<4)]=y;for(var E,I,H=0;H>>y|T<<32-y},R=function(T,y){return T>>>y};Je.exports=function(T){return w.hash(T,L,32,!0)}}).call(this,Ye("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Ye("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(Ye,Je,lt){(function(ee,Et,je,Q,we,fe,K,V,F){lt.read=function(Y,L,w,C,R){var T,y,v=8*R-C-1,b=(1<>1,A=-7,E=w?R-1:0,I=w?-1:1;for(R=Y[L+E],E+=I,T=R&(1<<-A)-1,R>>=-A,A+=v;0>=-A,A+=C;0>1,E=23===R?Math.pow(2,-24)-Math.pow(2,-77):0,I=C?0:T-1,H=C?1:-1;for(T=L<0||0===L&&1/L<0?1:0,L=Math.abs(L),isNaN(L)||L===1/0?(v=isNaN(L)?1:0,y=x):(y=Math.floor(Math.log(L)/Math.LN2),L*(C=Math.pow(2,-y))<1&&(y--,C*=2),2<=(L+=1<=y+A?E/C:E*Math.pow(2,1-A))*C&&(y++,C/=2),x<=y+A?(v=0,y=x):1<=y+A?(v=(L*C-1)*Math.pow(2,R),y+=A):(v=L*Math.pow(2,A-1)*Math.pow(2,R),y=0));8<=R;Y[w+I]=255&v,I+=H,v/=256,R-=8);for(y=y<{var Ye="undefined"!=typeof ArrayBuffer,Je="undefined"!=typeof Symbol;function lt(ee,Et){var je,Q,we,fe,K;if(!ee)throw new Error("obliterator/forEach: invalid iterable.");if("function"!=typeof Et)throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(ee)||Ye&&ArrayBuffer.isView(ee)||"string"==typeof ee||"[object Arguments]"===ee.toString())for(we=0,fe=ee.length;we{function Ye(Je){Object.defineProperty(this,"_next",{writable:!1,enumerable:!1,value:Je}),this.done=!1}Ye.prototype.next=function(){if(this.done)return{done:!0};var Je=this._next();return Je.done&&(this.done=!0),Je},"undefined"!=typeof Symbol&&(Ye.prototype[Symbol.iterator]=function(){return this}),Ye.of=function(){var Je=arguments,lt=Je.length,ee=0;return new Ye(function(){return ee>=lt?{done:!0}:{done:!1,value:Je[ee++]}})},Ye.empty=function(){var Je=new Ye(null);return Je.done=!0,Je},Ye.is=function(Je){return Je instanceof Ye||"object"==typeof Je&&null!==Je&&"function"==typeof Je.next},jt.exports=Ye},310:(jt,Ye,Je)=>{"use strict";var lt=Je(948);Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.isMobile=function(){return void 0!==ee.window.orientation},Ye.default=function(fe){if(!fe&&!(0,Et.default)())return"Node";if((0,je.default)(fe))return"Electron";var K="undefined"!=typeof navigator?navigator:{},V=fe||K.userAgent||"";if(V.indexOf("Edge")>-1)return"Edge";var F=-1!==V.indexOf("MSIE "),Y=-1!==V.indexOf("Trident/");return F||Y?"IE":ee.window.chrome?"Chrome":ee.window.safari?"Safari":ee.window.mozInnerScreenX?"Firefox":"Unknown"};var ee=Je(151),Et=lt(Je(602)),je=lt(Je(344))},151:(jt,Ye,Je)=>{"use strict";var lt=Je(948);Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.console=Ye.process=Ye.document=Ye.global=Ye.window=Ye.self=void 0;var ee=lt(Je(321)),Et={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&process};Ye.self=Et.self||Et.window||Et.global,Ye.window=Et.window||Et.self||Et.global,Ye.global=Et.global||Et.self||Et.window,Ye.document=Et.document||{},Ye.process=Et.process||{};var V=console;Ye.console=V},761:(jt,Ye,Je)=>{"use strict";var ee=Je(948),Et=Je(321);Object.defineProperty(Ye,"CO",{enumerable:!0,get:function(){return je.global}}),Object.defineProperty(Ye,"qs",{enumerable:!0,get:function(){return we.default}});var je=Je(151),we=(V(Je(602)),V(Je(310)));ee(Je(344));function K(F){if("function"!=typeof WeakMap)return null;var Y=new WeakMap,L=new WeakMap;return(K=function(C){return C?L:Y})(F)}function V(F,Y){if(!Y&&F&&F.__esModule)return F;if(null===F||"object"!==Et(F)&&"function"!=typeof F)return{default:F};var L=K(Y);if(L&&L.has(F))return L.get(F);var w={},C=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in F)if("default"!==R&&Object.prototype.hasOwnProperty.call(F,R)){var T=C?Object.getOwnPropertyDescriptor(F,R):null;T&&(T.get||T.set)?Object.defineProperty(w,R,T):w[R]=F[R]}return w.default=F,L&&L.set(F,w),w}},602:(jt,Ye,Je)=>{"use strict";var lt=Je(948);Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.default=je,Ye.isBrowserMainThread=function(){return je()&&"undefined"!=typeof document};var ee=lt(Je(321)),Et=lt(Je(344));function je(){return!("object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,Et.default)()}},344:(jt,Ye,Je)=>{"use strict";var lt=Je(948);Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.default=function(je){if("undefined"!=typeof window&&"object"===(0,ee.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,ee.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Q="object"===("undefined"==typeof navigator?"undefined":(0,ee.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,we=je||Q;return!!(we&&we.indexOf("Electron")>=0)};var ee=lt(Je(321))},991:function(jt,Ye,Je){"use strict";var lt=this&&this.__createBinding||(Object.create?function(Et,je,Q,we){void 0===we&&(we=Q),Object.defineProperty(Et,we,{enumerable:!0,get:function(){return je[Q]}})}:function(Et,je,Q,we){void 0===we&&(we=Q),Et[we]=je[Q]}),ee=this&&this.__exportStar||function(Et,je){for(var Q in Et)"default"!==Q&&!Object.prototype.hasOwnProperty.call(je,Q)&<(je,Et,Q)};Object.defineProperty(Ye,"__esModule",{value:!0}),ee(Je(180),Ye),ee(Je(103),Ye),ee(Je(965),Ye),ee(Je(595),Ye),ee(Je(417),Ye),ee(Je(451),Ye),ee(Je(735),Ye)},180:(jt,Ye)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.BlankNode=void 0,Ye.BlankNode=class{constructor(ee){this.termType="BlankNode",this.value=ee}equals(ee){return!!ee&&"BlankNode"===ee.termType&&ee.value===this.value}}},103:(jt,Ye,Je)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.DataFactory=void 0;const lt=Je(180),ee=Je(965),Et=Je(595),je=Je(417),Q=Je(451),we=Je(735);let fe=0;Ye.DataFactory=class{constructor(F){this.blankNodeCounter=0,this.blankNodePrefix=(F=F||{}).blankNodePrefix||`df_${fe++}_`}namedNode(F){return new je.NamedNode(F)}blankNode(F){return new lt.BlankNode(F||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(F,Y){return new Et.Literal(F,Y)}variable(F){return new we.Variable(F)}defaultGraph(){return ee.DefaultGraph.INSTANCE}quad(F,Y,L,w){return new Q.Quad(F,Y,L,w||this.defaultGraph())}fromTerm(F){switch(F.termType){case"NamedNode":return this.namedNode(F.value);case"BlankNode":return this.blankNode(F.value);case"Literal":return F.language?this.literal(F.value,F.language):F.datatype.equals(Et.Literal.XSD_STRING)?this.literal(F.value):this.literal(F.value,this.fromTerm(F.datatype));case"Variable":return this.variable(F.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(F.subject),this.fromTerm(F.predicate),this.fromTerm(F.object),this.fromTerm(F.graph))}}fromQuad(F){return this.fromTerm(F)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},965:(jt,Ye)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.DefaultGraph=void 0;class Je{constructor(){this.termType="DefaultGraph",this.value=""}equals(ee){return!!ee&&"DefaultGraph"===ee.termType}}Ye.DefaultGraph=Je,Je.INSTANCE=new Je},595:(jt,Ye,Je)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.Literal=void 0;const lt=Je(417);class ee{constructor(je,Q){this.termType="Literal",this.value=je,"string"==typeof Q?(this.language=Q,this.datatype=ee.RDF_LANGUAGE_STRING):Q?(this.language="",this.datatype=Q):(this.language="",this.datatype=ee.XSD_STRING)}equals(je){return!!je&&"Literal"===je.termType&&je.value===this.value&&je.language===this.language&&je.datatype.equals(this.datatype)}}Ye.Literal=ee,ee.RDF_LANGUAGE_STRING=new lt.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),ee.XSD_STRING=new lt.NamedNode("http://www.w3.org/2001/XMLSchema#string")},417:(jt,Ye)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.NamedNode=void 0,Ye.NamedNode=class{constructor(ee){this.termType="NamedNode",this.value=ee}equals(ee){return!!ee&&"NamedNode"===ee.termType&&ee.value===this.value}}},451:(jt,Ye)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.Quad=void 0,Ye.Quad=class{constructor(ee,Et,je,Q){this.termType="Quad",this.value="",this.subject=ee,this.predicate=Et,this.object=je,this.graph=Q}equals(ee){return!!ee&&("Quad"===ee.termType||!ee.termType)&&this.subject.equals(ee.subject)&&this.predicate.equals(ee.predicate)&&this.object.equals(ee.object)&&this.graph.equals(ee.graph)}}},735:(jt,Ye)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.Variable=void 0,Ye.Variable=class{constructor(ee){this.termType="Variable",this.value=ee}equals(ee){return!!ee&&"Variable"===ee.termType&&ee.value===this.value}}},609:function(jt,Ye,Je){"use strict";var lt=this&&this.__createBinding||(Object.create?function(w,C,R,T){void 0===T&&(T=R),Object.defineProperty(w,T,{enumerable:!0,get:function(){return C[R]}})}:function(w,C,R,T){void 0===T&&(T=R),w[T]=C[R]}),ee=this&&this.__exportStar||function(w,C){for(var R in w)"default"!==R&&!Object.prototype.hasOwnProperty.call(C,R)&<(C,w,R)};Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.getSupportedJavaScriptPrimitives=Ye.getSupportedRdfDatatypes=Ye.getTermRaw=Ye.toRdf=Ye.fromRdf=void 0;const Et=Je(991),je=Je(938),Q=Je(60);ee(Je(938),Ye),ee(Je(871),Ye),ee(Je(60),Ye);const we=new Et.DataFactory,fe=new Q.Translator;function K(w,C){return fe.fromRdf(w,C)}fe.registerHandler(new je.TypeHandlerString,je.TypeHandlerString.TYPES.map(w=>we.namedNode(w)),["string"]),fe.registerHandler(new je.TypeHandlerBoolean,[je.TypeHandlerBoolean.TYPE].map(w=>we.namedNode(w)),["boolean"]),fe.registerHandler(new je.TypeHandlerNumberDouble,je.TypeHandlerNumberDouble.TYPES.map(w=>we.namedNode(w)),["number"]),fe.registerHandler(new je.TypeHandlerNumberInteger,je.TypeHandlerNumberInteger.TYPES.map(w=>we.namedNode(w)),["number"]),fe.registerHandler(new je.TypeHandlerDate,je.TypeHandlerDate.TYPES.map(w=>we.namedNode(w)),["object"]),Ye.fromRdf=K,Ye.toRdf=function(w,C){return C&&"namedNode"in C&&(C={dataFactory:C}),(C=C||{})&&!C.dataFactory&&(C.dataFactory=we),fe.toRdf(w,C)},Ye.getTermRaw=function(w,C){return"Literal"===w.termType?K(w,C):w.value},Ye.getSupportedRdfDatatypes=function(){return fe.getSupportedRdfDatatypes()},Ye.getSupportedJavaScriptPrimitives=function(){return fe.getSupportedJavaScriptPrimitives()}},871:(jt,Ye)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0})},60:(jt,Ye)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.Translator=void 0,Ye.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(ee){throw new Error(`Invalid RDF ${ee.datatype.value} value: '${ee.value}'`)}registerHandler(ee,Et,je){for(const Q of Et)this.supportedRdfDatatypes.push(Q),this.fromRdfHandlers[Q.value]=ee;for(const Q of je){let we=this.toRdfHandlers[Q];we||(this.toRdfHandlers[Q]=we=[]),we.push(ee)}}fromRdf(ee,Et){const je=this.fromRdfHandlers[ee.datatype.value];return je?je.fromRdf(ee,Et):ee.value}toRdf(ee,Et){const je=this.toRdfHandlers[typeof ee];if(je)for(const Q of je){const we=Q.toRdf(ee,Et);if(we)return we}throw new Error(`Invalid JavaScript value: '${ee}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},727:(jt,Ye,Je)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.TypeHandlerBoolean=void 0;const lt=Je(60);class ee{fromRdf(je,Q){switch(je.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return Q&<.Translator.incorrectRdfDataType(je),!1}toRdf(je,{datatype:Q,dataFactory:we}){return we.literal(je?"true":"false",Q||we.namedNode(ee.TYPE))}}Ye.TypeHandlerBoolean=ee,ee.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},525:(jt,Ye,Je)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.TypeHandlerDate=void 0;const lt=Je(60);class ee{fromRdf(je,Q){switch(Q&&!je.value.match(ee.VALIDATORS[je.datatype.value.substr(33,je.datatype.value.length)])&<.Translator.incorrectRdfDataType(je),je.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(je.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const we=je.value.split("-");return new Date(0,parseInt(we[0],10)-1,parseInt(we[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(je.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(je.value+"-01");default:return new Date(je.value)}}toRdf(je,{datatype:Q,dataFactory:we}){if(Q=Q||we.namedNode(ee.TYPES[0]),!(je instanceof Date))return null;const fe=je;let K;switch(Q.value){case"http://www.w3.org/2001/XMLSchema#gDay":K=String(fe.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":K=fe.getUTCMonth()+1+"-"+fe.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":K=String(fe.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":K=fe.getUTCFullYear()+"-"+(fe.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":K=fe.toISOString().replace(/T.*$/,"");break;default:K=fe.toISOString()}return we.literal(K,Q)}}Ye.TypeHandlerDate=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],ee.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},554:(jt,Ye,Je)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.TypeHandlerNumberDouble=void 0;const lt=Je(60);class ee{fromRdf(je,Q){const we=parseFloat(je.value);return Q&&isNaN(we)&<.Translator.incorrectRdfDataType(je),we}toRdf(je,{datatype:Q,dataFactory:we}){return Q=Q||we.namedNode(ee.TYPES[0]),isNaN(je)?we.literal("NaN",Q):isFinite(je)?je%1==0?null:we.literal(je.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Q):we.literal(je>0?"INF":"-INF",Q)}}Ye.TypeHandlerNumberDouble=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},750:(jt,Ye,Je)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.TypeHandlerNumberInteger=void 0;const lt=Je(60);class ee{fromRdf(je,Q){const we=parseInt(je.value,10);return Q&&(isNaN(we)||je.value.indexOf(".")>=0)&<.Translator.incorrectRdfDataType(je),we}toRdf(je,{datatype:Q,dataFactory:we}){return we.literal(String(je),Q||we.namedNode(je<=ee.MAX_INT&&je>=ee.MIN_INT?ee.TYPES[0]:ee.TYPES[1]))}}Ye.TypeHandlerNumberInteger=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],ee.MAX_INT=2147483647,ee.MIN_INT=-2147483648},608:(jt,Ye)=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.TypeHandlerString=void 0;class Je{fromRdf(ee){return ee.value}toRdf(ee,{datatype:Et,dataFactory:je}){return je.literal(ee,Et)}}Ye.TypeHandlerString=Je,Je.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},938:function(jt,Ye,Je){"use strict";var lt=this&&this.__createBinding||(Object.create?function(Et,je,Q,we){void 0===we&&(we=Q),Object.defineProperty(Et,we,{enumerable:!0,get:function(){return je[Q]}})}:function(Et,je,Q,we){void 0===we&&(we=Q),Et[we]=je[Q]}),ee=this&&this.__exportStar||function(Et,je){for(var Q in Et)"default"!==Q&&!Object.prototype.hasOwnProperty.call(je,Q)&<(je,Et,Q)};Object.defineProperty(Ye,"__esModule",{value:!0}),ee(Je(727),Ye),ee(Je(525),Ye),ee(Je(554),Ye),ee(Je(750),Ye),ee(Je(608),Ye)},303:(jt,Ye,Je)=>{"use strict";var lt={};Je.r(lt),Je.d(lt,{decode:()=>Xme,encode:()=>Qme});var ee={};Je.r(ee),Je.d(ee,{decode:()=>n_e,encode:()=>i_e});var Et={};Je.r(Et),Je.d(Et,{decode:()=>r_e,encode:()=>s_e});var je={};function Q(n){return"function"==typeof n}Je.r(je),Je.d(je,{decode:()=>o_e,encode:()=>a_e});let we=!1;const fe={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else we&&console.log("RxJS: Back to a better error behavior. Thank you. <3");we=n},get useDeprecatedSynchronousErrorHandling(){return we}};function K(n){setTimeout(()=>{throw n},0)}const V={closed:!0,next(n){},error(n){if(fe.useDeprecatedSynchronousErrorHandling)throw n;K(n)},complete(){}},F=Array.isArray||(n=>n&&"number"==typeof n.length);function Y(n){return null!==n&&"object"==typeof n}const w=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class C{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof C)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof w?t.errors:t),[])}C.EMPTY=((n=new C).closed=!0,n);const T="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class v extends C{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=V;break;case 1:if(!e){this.destination=V;break}if("object"==typeof e){e instanceof v?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new b(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new b(this,e,t,i)}}[T](){return this}static create(e,t,i){const r=new v(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class b extends v{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Q(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==V&&(o=Object.create(t),Q(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;fe.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=fe;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):K(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;K(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);fe.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),fe.useDeprecatedSynchronousErrorHandling)throw i;K(i)}}__tryOrSetError(e,t,i){if(!fe.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return fe.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(K(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const E="function"==typeof Symbol&&Symbol.observable||"@@observable";function I(n){return n}function H(...n){return M(n)}function M(n){return 0===n.length?I:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let P=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof v)return n;if(n[T])return n[T]()}return n||e||t?new v(n,e,t):new v(V)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||fe.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),fe.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){fe.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof v?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=Z(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[E](){return this}pipe(...t){return 0===t.length?this:M(t)(this)}toPromise(t){return new(t=Z(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function Z(n){if(n||(n=fe.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const G=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class ne extends C{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class ce extends v{constructor(e){super(e),this.destination=e}}let se=(()=>{class n extends P{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[T](){return new ce(this)}lift(t){const i=new te(this,this);return i.operator=t,i}next(t){if(this.closed)throw new G;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew te(e,t),n})();class te extends se{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):C.EMPTY}}function Ie(n){return n&&"function"==typeof n.schedule}function ye(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new re(n,e))}}class re{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new ve(e,this.project,this.thisArg))}}class ve extends v{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const Fe=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ge(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Se=n=>{if(n&&"function"==typeof n[E])return(n=>e=>{const t=n[E]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(xe(n))return Fe(n);if(Ge(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,K),e))(n);if(n&&"function"==typeof n[J])return(n=>e=>{const t=n[J]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${Y(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function Be(n,e){return new P(t=>{const i=new C;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function qe(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[E]}(n))return function(n,e){return new P(t=>{const i=new C;return i.add(e.schedule(()=>{const r=n[E]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ge(n))return function(n,e){return new P(t=>{const i=new C;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(xe(n))return Be(n,e);if(function(n){return n&&"function"==typeof n[J]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new P(t=>{const i=new C;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[J](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof P?n:new P(Se(n))}class _t extends v{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class Ae extends v{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function k(n,e){if(e.closed)return;if(n instanceof P)return n.subscribe(e);let t;try{t=Se(n)(e)}catch(i){e.error(i)}return t}function z(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(z((r,s)=>qe(n(r,s)).pipe(ye((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Le(n,t)))}class Le{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new nt(e,this.project,this.concurrent))}}class nt extends Ae{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Nt(n=Number.POSITIVE_INFINITY){return z(I,n)}function On(n,e){return e?Be(n,e):new P(Fe(n))}function kn(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Ie(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof P?n[0]:Nt(e)(On(n,t))}function Yn(){return function(e){return e.lift(new Ti(e))}}class Ti{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new wi(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class wi extends v{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Xr extends P{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new C,e.add(this.source.subscribe(new gs(this.getSubject(),this))),e.closed&&(this._connection=null,e=C.EMPTY)),e}refCount(){return Yn()(this)}}const Ls=(()=>{const n=Xr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class gs extends ce{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function el(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new kl(r,e));const s=Object.create(i,Ls);return s.source=i,s.subjectFactory=r,s}}class kl{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function Sa(){return new se}function Es(){return n=>Yn()(el(Sa)(n))}function Jt(n){for(let e in n)if(n[e]===Jt)return e;throw Error("Could not find renamed property on target object.")}function tl(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function ot(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(ot).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function ut(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const ft=Jt({__forward_ref__:Jt});function be(n){return n.__forward_ref__=be,n.toString=function(){return ot(this())},n}function Ce(n){return $e(n)?n():n}function $e(n){return"function"==typeof n&&n.hasOwnProperty(ft)&&n.__forward_ref__===be}class it extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function Dt(n){return"string"==typeof n?n:null==n?"":String(n)}function Xt(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Dt(n)}function bn(n,e){const t=e?` in ${e}`:"";throw new it("201",`No provider for ${Xt(n)} found${t}`)}function ie(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function et(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function Ct(n){return{providers:n.providers||[],imports:n.imports||[]}}function vn(n){return Ss(n,po)||Ss(n,js)}function Ss(n,e){return n.hasOwnProperty(e)?n[e]:null}function Ll(n){return n&&(n.hasOwnProperty(jr)||n.hasOwnProperty(xc))?n[jr]:null}const po=Jt({\u0275prov:Jt}),jr=Jt({\u0275inj:Jt}),js=Jt({ngInjectableDef:Jt}),xc=Jt({ngInjectorDef:Jt});var Sn=(()=>((Sn=Sn||{})[Sn.Default=0]="Default",Sn[Sn.Host=1]="Host",Sn[Sn.Self=2]="Self",Sn[Sn.SkipSelf=4]="SkipSelf",Sn[Sn.Optional=8]="Optional",Sn))();let go;function Ca(n){const e=go;return go=n,e}function wd(n,e,t){const i=vn(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&Sn.Optional?null:void 0!==e?e:void bn(ot(n),"Injector")}function Pe(n){return{toString:n}.toString()}var Ze=(()=>((Ze=Ze||{})[Ze.OnPush=0]="OnPush",Ze[Ze.Default=1]="Default",Ze))(),Yt=(()=>((Yt=Yt||{})[Yt.Emulated=0]="Emulated",Yt[Yt.None=2]="None",Yt[Yt.ShadowDom=3]="ShadowDom",Yt))();const li="undefined"!=typeof globalThis&&globalThis,Vr="undefined"!=typeof window&&window,es="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,xs="undefined"!=typeof global&&global,Qn=li||xs||Vr||es,Ed={},tr=[],fp=Jt({\u0275cmp:Jt}),Jm=Jt({\u0275dir:Jt}),Dh=Jt({\u0275pipe:Jt}),sv=Jt({\u0275mod:Jt}),TC=Jt({\u0275loc:Jt}),jl=Jt({\u0275fac:Jt}),Ih=Jt({__NG_ELEMENT_ID__:Jt});let MC=0;function ln(n){return Pe(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===Ze.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||tr,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Yt.Emulated,id:"c",styles:n.styles||tr,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=MC++,i.inputs=cv(n.inputs,t),i.outputs=cv(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(ov):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(av):null,i})}function ov(n){return Vi(n)||function(n){return n[Jm]||null}(n)}function av(n){return function(n){return n[Dh]||null}(n)}const lv={};function on(n){return Pe(()=>{const e={type:n.type,bootstrap:n.bootstrap||tr,declarations:n.declarations||tr,imports:n.imports||tr,exports:n.exports||tr,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(lv[n.id]=n.type),e})}function cv(n,e){if(null==n)return Ed;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const Rt=ln;function Vs(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function Vi(n){return n[fp]||null}function Oo(n,e){const t=n[sv]||null;if(!t&&!0===e)throw new Error(`Type ${ot(n)} does not have '\u0275mod' property.`);return t}function Qo(n){return Array.isArray(n)&&"object"==typeof n[1]}function Zo(n){return Array.isArray(n)&&!0===n[1]}function n_(n){return 0!=(8&n.flags)}function Ad(n){return 2==(2&n.flags)}function Td(n){return 1==(1&n.flags)}function Ma(n){return null!==n.template}function uv(n){return 0!=(512&n[2])}function Tc(n,e){return n.hasOwnProperty(jl)?n[jl]:null}class o_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Ui(){return fv}function fv(n){return n.type.prototype.ngOnChanges&&(n.setInput=kC),FC}function FC(){const n=ct(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===Ed)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function kC(n,e,t,i){const r=ct(n)||function(n,e){return n[kh]=e}(n,{previous:Ed,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new o_(l&&l.currentValue,e,o===Ed),n[i]=e}Ui.ngInherit=!0;const kh="__ngSimpleChanges__";function ct(n){return n[kh]||null}let Ki;function gr(n){return!!n.listen}const bu={createRenderer:(n,e)=>void 0!==Ki?Ki:"undefined"!=typeof document?document:void 0};function xr(n){for(;Array.isArray(n);)n=n[0];return n}function Lh(n,e){return xr(e[n])}function Zs(n,e){return xr(e[n.index])}function c_(n,e){return n.data[e]}function zs(n,e){const t=e[n];return Qo(t)?t:t[0]}function zl(n){return 4==(4&n[2])}function Dd(n){return 128==(128&n[2])}function Ia(n,e){return null==e?null:n[e]}function u_(n){n[18]=0}function mp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Bn={lFrame:wu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function gv(){return Bn.bindingsEnabled}function Vt(){return Bn.lFrame.lView}function Ei(){return Bn.lFrame.tView}function Cr(n){return Bn.lFrame.contextLView=n,n[8]}function cs(){let n=d_();for(;null!==n&&64===n.type;)n=n.parent;return n}function d_(){return Bn.lFrame.currentTNode}function rl(n,e){const t=Bn.lFrame;t.currentTNode=n,t.isParent=e}function Hr(){return Bn.lFrame.isParent}function ms(){Bn.lFrame.isParent=!1}function Vh(){return Bn.isInCheckNoChangesMode}function yp(n){Bn.isInCheckNoChangesMode=n}function Oa(){return Bn.lFrame.bindingIndex++}function No(n){const e=Bn.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Id(n,e){const t=Bn.lFrame;t.bindingIndex=t.bindingRootIndex=n,h_(e)}function h_(n){Bn.lFrame.currentDirectiveIndex=n}function f_(n){const e=Bn.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function mv(){return Bn.lFrame.currentQueryIndex}function p_(n){Bn.lFrame.currentQueryIndex=n}function vp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Od(n,e,t){if(t&Sn.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&Sn.Host||(r=vp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Bn.lFrame=De();return i.currentTNode=e,i.lView=n,!0}function Hh(n){const e=De(),t=n[1];Bn.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function De(){const n=Bn.lFrame,e=null===n?null:n.child;return null===e?wu(n):e}function wu(n){const 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:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Gh(){const n=Bn.lFrame;return Bn.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Po=Gh;function fi(){const n=Gh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function Js(){return Bn.lFrame.selectedIndex}function yo(n){Bn.lFrame.selectedIndex=n}function kr(){const n=Bn.lFrame;return c_(n.tView,n.selectedIndex)}function wp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class $h{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function xp(n,e,t){const i=gr(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Nd=!0;function Cp(n){const e=Nd;return Nd=n,e}let v_=0;function Hs(n,e){const t=Ap(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,w_(i.data,n),w_(e,null),w_(i.blueprint,null));const r=qh(n,e),s=n.injectorIndex;if(vv(r)){const o=Rd(r),a=ol(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function w_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Ap(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function qh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Dc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Ih)&&(i=t[Ih]),null==i&&(i=t[Ih]=v_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:xv:e}(t);if("function"==typeof s){if(!Od(e,n,i))return i&Sn.Host?E_(r,t,i):Ev(e,t,i,r);try{const o=s(i);if(null!=o||i&Sn.Optional)return o;bn(t)}finally{Po()}}else if("number"==typeof s){let o=null,a=Ap(n,e),l=-1,c=i&Sn.Host?e[16][6]:null;for((-1===a||i&Sn.SkipSelf)&&(l=-1===a?qh(n,e):e[a+8],-1!==l&&Kh(i,!1)?(o=e[1],a=Rd(l),e=ol(l,e)):a=-1);-1!==a;){const u=e[1];if(Tp(s,a,u.data)){const h=Ts(a,e,t,o,i,c);if(h!==Sv)return h}l=e[a+8],-1!==l&&Kh(i,e[1].data[a+8]===c)&&Tp(s,a,e)?(o=u,a=Rd(l),e=ol(l,e)):a=-1}}}return Ev(e,t,i,r)}const Sv={};function xv(){return new ea(cs(),Vt())}function Ts(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=Pd(a,o,t,null==i?Ad(a)&&Nd:i!=o&&0!=(3&a.type),r&Sn.Host&&s===a);return null!==u?Fd(e,o,u,a):Sv}function Pd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,p=r?a+u:n.directiveEnd;for(let g=i?a:a+u;g=l&&m.type===t)return g}if(r){const g=o[l];if(g&&Ma(g)&&g.type===t)return l}return null}function Fd(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof $h}(r)){const o=r;o.resolving&&function(n,e){throw new it("200",`Circular dependency in DI detected for ${n}`)}(Xt(s[t]));const a=Cp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Ca(o.injectImpl):null;Od(n,i,Sn.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=fv(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&Ca(l),Cp(a),o.resolving=!1,Po()}}return r}function Tp(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[jl]||Ms(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[jl]||Ms(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Ms(n){return $e(n)?()=>{const e=Ms(Ce(n));return e&&e()}:Tc(n)}function Fo(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Ld)?l[Ld]:Object.defineProperty(l,Ld,{value:[]})[Ld];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class Ht{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=et({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const xu=Function;function ta(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?na(t,e):e(t))}function Qh(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Gl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Oc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function M_(n,e){const t=Ds(n,e);if(t>=0)return n[1|t]}function Ds(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):ot(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Pc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Nc]=null,n}const zd=Ud(Pa("Inject",n=>({token:n})),-1),ns=Ud(Pa("Optional"),8),ul=Ud(Pa("SkipSelf"),4);let Gd;function Ou(n){var e;return(null===(e=function(){if(void 0===Gd&&(Gd=null,Qn.trustedTypes))try{Gd=Qn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return Gd}())||void 0===e?void 0:e.createHTML(n))||n}class Yl{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class P_ extends Yl{getTypeName(){return"HTML"}}class F_ extends Yl{getTypeName(){return"Style"}}class Vp extends Yl{getTypeName(){return"Script"}}class $d extends Yl{getTypeName(){return"URL"}}class Fn extends Yl{getTypeName(){return"ResourceURL"}}function Gs(n){return n instanceof Yl?n.changingThisBreaksApplicationSecurity:n}function ia(n,e){const t=Lc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function Lc(n){return n instanceof Yl&&n.getTypeName()||null}class zv{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Ou(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class pA{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Ou(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Ou(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0Bo(e.trim())).join(", ")}function ra(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function Jh(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const Up=ra("area,br,col,hr,img,wbr"),Gv=ra("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),$v=ra("rp,rt"),L_=Jh(Up,Jh(Gv,ra("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")),Jh($v,ra("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")),Jh($v,Gv)),B_=ra("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),j_=ra("srcset"),V_=Jh(B_,j_,ra("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),ra("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")),vA=ra("script,style,template");class U_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!L_.hasOwnProperty(t))return this.sanitizedSomething=!0,!vA.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();L_.hasOwnProperty(t)&&!Up.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(Hp(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const Wv=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ef=/([^\#-~ |!])/g;function Hp(n){return n.replace(/&/g,"&").replace(Wv,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(ef,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let tf;function z_(n,e){let t=null;try{tf=tf||function(n){const e=new pA(n);return function(){try{return!!(new window.DOMParser).parseFromString(Ou(""),"text/html")}catch(n){return!1}}()?new zv(e):e}(n);let i=e?String(e):"";t=tf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=tf.getInertBodyElement(i)}while(i!==s);return Ou((new U_).sanitizeChildren(Wd(t)||t))}finally{if(t){const i=Wd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function Wd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var ni=(()=>((ni=ni||{})[ni.NONE=0]="NONE",ni[ni.HTML=1]="HTML",ni[ni.STYLE=2]="STYLE",ni[ni.SCRIPT=3]="SCRIPT",ni[ni.URL=4]="URL",ni[ni.RESOURCE_URL=5]="RESOURCE_URL",ni))();function nf(n){const e=function(){const n=Vt();return n&&n[12]}();return e?e.sanitize(ni.URL,n)||"":ia(n,"URL")?Gs(n):Bo(Dt(n))}const $_="__ngContext__";function Is(n,e){n[$_]=e}function W_(n){const e=function(n){return n[$_]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function Gp(n){return n.ngOriginalError}function NA(n,...e){n.error(...e)}class oa{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||NA}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(Gp(e)):null}_findOriginalError(e){let t=e&&Gp(e);for(;t&&Gp(t);)t=Gp(t);return t||null}}const iw=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Qn))();function hl(n){return n instanceof Function?n():n}var jo=(()=>((jo=jo||{})[jo.Important=1]="Important",jo[jo.DashCase=2]="DashCase",jo))();function Q_(n,e){return undefined(n,e)}function of(n){const e=n[3];return Zo(e)?e[3]:e}function Yd(n){return lw(n[13])}function J_(n){return lw(n[4])}function lw(n){for(;null!==n&&!Zo(n);)n=n[4];return n}function Kd(n,e,t,i,r){if(null!=i){let s,o=!1;Zo(i)?s=i:Qo(i)&&(o=!0,i=i[0]);const a=xr(i);0===n&&null!==t?null==r?fw(e,t,a):fl(e,t,a,r||null,!0):1===n&&null!==t?fl(e,t,a,r||null,!0):2===n?function(n,e,t){const i=qp(n,e);i&&function(n,e,t,i){gr(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==xr(t)&&Kd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=Gl(n,10+e);!function(n,e){Xd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function iy(n,e){if(!(256&e[2])){const t=e[11];gr(t)&&t.destroyNode&&Xd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return Wp(n[1],n);for(;e;){let t=null;if(Qo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Qo(e)&&Wp(e[1],e),e=e[3];null===e&&(e=n),Qo(e)&&Wp(e[1],e),t=e&&e[4]}e=t}}(e)}}function Wp(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[h+1].toLowerCase();const g=8&i?p:null;if(g&&-1!==lf(g,c,0)||2&i&&c!==p){if(ka(i))return!1;o=!0}}}}else{if(!o&&!ka(i)&&!ka(l))return!1;if(o&&ka(l))continue;o=!1,i=l|1&i}}return ka(i)||o}function ka(n){return 0==(1&n)}function oT(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!ka(o)&&(e+=Aw(s,r),r=""),i=o,s=s||!ka(i);t++}return""!==r&&(e+=Aw(s,r)),e}const In={};function Zt(n){Tw(Ei(),Vt(),Js()+n,Vh())}function Tw(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Ep(e,s,t)}else{const s=n.preOrderHooks;null!==s&&Sp(e,s,0,t)}yo(t)}function pl(n,e){return n<<17|e<<2}function Rn(n){return n>>17&32767}function Ar(n){return 2|n}function Kl(n){return(131068&n)>>2}function gl(n,e){return-131069&n|e<<2}function cy(n){return 1|n}function kw(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&Tw(n,e,20,Vh()),t(i,r)}finally{yo(s)}}function hf(n,e,t){!gv()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||Hs(t,e),Is(i,e);const o=t.initialInputs;for(let a=r;a0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function qw(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function Yw(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function PT(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&wy(t)}}function wy(n){for(let i=Yd(n);null!==i;i=J_(i))for(let r=10;r0&&wy(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&wy(r)}}function UT(n,e){const t=zs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function Qw(n){return n[7]||(n[7]=[])}function ig(n){return n.cleanup||(n.cleanup=[])}function Ay(n,e,t){return(null===n||Ma(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function Ty(n,e){const t=n[9],i=t?t.get(oa,null):null;i&&i.handleError(e)}function Zw(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),na([e],a=>this.processInjectorType(a,[],s)),this.records.set(Pu,ku(void 0,this));const o=this.records.get(Fu);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:ot(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Tu,i=Sn.Default){this.assertNotDestroyed();const r=Vd(this),s=Ca(void 0);try{if(!(i&Sn.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof Ht}(e)&&vn(e);a=l&&this.injectableDefInScope(l)?ku(Ry(e),ff):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&Sn.Self?Jw():this.parent).get(e,t=i&Sn.Optional&&t===Tu?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Nc]=o[Nc]||[]).unshift(ot(e)),r)throw o;return eo(o,e,"R3InjectorError",this.source)}throw o}finally{Ca(s),Vd(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(ot(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=Ce(e)))return!1;let r=Ll(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Ll(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{na(r.imports,h=>{this.processInjectorType(h,t,i)&&(void 0===u&&(u=[]),u.push(h))})}finally{}if(void 0!==u)for(let h=0;hthis.processProvider(m,p,g||tr))}}this.injectorDefTypes.add(o);const l=Tc(o)||(()=>new o);this.records.set(o,ku(l,ff));const c=r.providers;if(null!=c&&!a){const u=e;na(c,h=>this.processProvider(h,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Vc(e=Ce(e))?e:Ce(e&&e.provide);const s=function(n,e,t){return nE(n)?ku(void 0,n.useValue):ku(tE(n),ff)}(e);if(Vc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=ku(void 0,ff,!0),o.factory=()=>Du(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===ff&&(t.value=KT,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=Ce(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Ry(n){const e=vn(n),t=null!==e?e.factory:Tc(n);if(null!==t)return t;if(n instanceof Ht)throw new Error(`Token ${ot(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=Oc(e,"?");throw new Error(`Can't resolve all parameters for ${ot(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[po]||n[js]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function tE(n,e,t){let i;if(Vc(n)){const r=Ce(n);return Tc(r)||Ry(r)}if(nE(n))i=()=>Ce(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Du(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>ke(Ce(n.useExisting));else{const r=Ce(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Tc(r)||Ry(r);i=()=>new r(...Du(n.deps))}return i}function ku(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function nE(n){return null!==n&&"object"==typeof n&&Np in n}function Vc(n){return"function"==typeof n}const iE=function(n,e,t){return function(n,e=null,t=null,i){const r=eE(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Wn{static create(e,t){return Array.isArray(e)?iE(e,t,""):iE(e.providers,e.parent,e.name||"")}}function Gq(n,e){wp(W_(n)[1],cs())}function An(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(Ma(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=cM(n.inputs),o.declaredInputs=cM(n.declaredInputs),o.outputs=cM(n.outputs);const a=r.hostBindings;a&&Yq(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&Wq(n,l),c&&qq(n,c),tl(n.inputs,r.inputs),tl(n.declaredInputs,r.declaredInputs),tl(n.outputs,r.outputs),Ma(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Wh(r.hostAttrs,t=Wh(t,r.hostAttrs))}}(i)}function cM(n){return n===Ed?{}:n===tr?[]:n}function Wq(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function qq(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function Yq(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Wn.THROW_IF_NOT_FOUND=Tu,Wn.NULL=new io,Wn.\u0275prov=et({token:Wn,providedIn:"any",factory:()=>ke(Pu)}),Wn.__NG_ELEMENT_ID__=-1;let lE=null;function sg(){if(!lE){const n=Qn.Symbol;if(n&&n.iterator)lE=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(xr(Re[i.index])):i.index;if(gr(t)){let Re=null;if(!a&&l&&(Re=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==Re)(Re.__ngLastListenerFn__||Re).__ngNextListenerFn__=s,Re.__ngLastListenerFn__=s,g=!1;else{s=mM(i,e,h,s,!1);const Ve=t.listen(W,r,s);p.push(s,Ve),u&&u.push(r,pe,$,$+1)}}else s=mM(i,e,h,s,!0),W.addEventListener(r,s,o),p.push(s),u&&u.push(r,pe,$,o)}else s=mM(i,e,h,s,!1);const m=i.outputs;let D;if(g&&null!==m&&(D=m[r])){const O=D.length;if(O)for(let W=0;W0;)e=e[15],n--;return e}(n,Bn.lFrame.contextLView))[8]}(n)}function MY(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const Rs={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function jk(n){return n.substring(Rs.key,Rs.keyEnd)}function Vk(n,e){const t=Rs.textEnd;return t===e?-1:(e=Rs.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,Rs.key=e,t),bg(n,e,t))}function bg(n,e,t){for(;e=0;t=Vk(e,t))ko(n,jk(e),!0)}function ec(n,e,t,i){const r=Vt(),s=Ei(),o=No(2);s.firstUpdatePass&&Wk(s,n,o,i),e!==In&&Eo(r,o,e)&&Yk(s,s.data[Js()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=ot(Gs(n)))),n}(e,t),i,o)}function $k(n,e){return e>=n.expandoStartIndex}function Wk(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[Js()],o=$k(n,t);Xk(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=f_(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=Vy(t=yM(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=yM(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Kl(i))return n[Rn(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=yM(null,n,e,l[1],i),l=Vy(l,e.attrs,i),function(n,e,t,i){n[Rn(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else u=t;if(r)if(0!==l){const p=Rn(n[a+1]);n[i+1]=pl(p,a),0!==p&&(n[p+1]=gl(n[p+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=pl(a,0),0!==a&&(n[a+1]=gl(n[a+1],i)),a=i;else n[i+1]=pl(l,0),0===a?a=i:n[l+1]=gl(n[l+1],i),l=i;c&&(n[i+1]=Ar(n[i+1])),Bk(n,u,i,!0),Bk(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Ds(s,e)>=0&&(t[i+1]=cy(t[i+1]))}(e,u,n,i,s),o=pl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function yM(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let p=t[r+1];p===In&&(p=h?tr:void 0);let g=h?M_(p,i):u===i?p:void 0;if(c&&!gE(g)&&(g=M_(l,i)),gE(g)&&(a=g,o))return a;const m=n[r+1];r=o?Rn(m):Kl(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=M_(l,i))}return a}function gE(n){return void 0!==n}function Xk(n,e){return 0!=(n.flags&(e?16:32))}function Oi(n,e=""){const t=Vt(),i=Ei(),r=n+20,s=i.firstCreatePass?Zd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return gr(n)?n.createText(e):n.createTextNode(e)}(t[11],e);Yp(i,t,o,s),rl(s,!1)}function da(n){return ha("",n,""),da}function ha(n,e,t){const i=Vt(),r=ag(i,n,e,t);return r!==In&&Xl(i,Js(),r),ha}function Lu(n,e,t){const i=Vt();return Eo(i,Oa(),e)&&Vo(Ei(),kr(),i,n,e,i[11],t,!0),Lu}function mE(n,e,t){const i=Vt();if(Eo(i,Oa(),e)){const s=Ei(),o=kr();Vo(s,o,i,n,e,Ay(f_(s.data),o,i),t,!0)}return mE}const gf=void 0;var dK=["en",[["a","p"],["AM","PM"],gf],[["AM","PM"],gf,gf],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],gf,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],gf,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",gf,"{1} 'at' {0}",gf],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let vg={};function pL(n){return n in vg||(vg[n]=Qn.ng&&Qn.ng.common&&Qn.ng.common.locales&&Qn.ng.common.locales[n]),vg[n]}var cn=(()=>((cn=cn||{})[cn.LocaleId=0]="LocaleId",cn[cn.DayPeriodsFormat=1]="DayPeriodsFormat",cn[cn.DayPeriodsStandalone=2]="DayPeriodsStandalone",cn[cn.DaysFormat=3]="DaysFormat",cn[cn.DaysStandalone=4]="DaysStandalone",cn[cn.MonthsFormat=5]="MonthsFormat",cn[cn.MonthsStandalone=6]="MonthsStandalone",cn[cn.Eras=7]="Eras",cn[cn.FirstDayOfWeek=8]="FirstDayOfWeek",cn[cn.WeekendRange=9]="WeekendRange",cn[cn.DateFormat=10]="DateFormat",cn[cn.TimeFormat=11]="TimeFormat",cn[cn.DateTimeFormat=12]="DateTimeFormat",cn[cn.NumberSymbols=13]="NumberSymbols",cn[cn.NumberFormats=14]="NumberFormats",cn[cn.CurrencyCode=15]="CurrencyCode",cn[cn.CurrencySymbol=16]="CurrencySymbol",cn[cn.CurrencyName=17]="CurrencyName",cn[cn.Currencies=18]="Currencies",cn[cn.Directionality=19]="Directionality",cn[cn.PluralCase=20]="PluralCase",cn[cn.ExtraData=21]="ExtraData",cn))();const _E="en-US";let gL=_E;function vM(n){ie(n,"Expected localeId to be defined"),"string"==typeof n&&(gL=n.toLowerCase().replace(/_/g,"-"))}function SM(n,e,t,i,r){if(n=Ce(n),Array.isArray(n))for(let s=0;s>20;if(Vc(n)||!n.multi){const g=new $h(l,r,Oe),m=CM(a,e,r?u:u+p,h);-1===m?(Dc(Hs(c,o),s,a),xM(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[m]=g,o[m]=g)}else{const g=CM(a,e,u+p,h),m=CM(a,e,u,u+p),D=g>=0&&t[g],O=m>=0&&t[m];if(r&&!O||!r&&!D){Dc(Hs(c,o),s,a);const W=function(n,e,t,i,r){const s=new $h(n,t,Oe);return s.multi=[],s.index=e,s.componentProviders=0,jL(s,r,i&&!t),s}(r?lX:aX,t.length,r,i,l);!r&&O&&(t[m].providerFactory=W),xM(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(W),o.push(W)}else xM(s,n,g>-1?g:m,jL(t[r?m:g],l,!r&&i));!r&&i&&O&&t[m].componentProviders++}}}function xM(n,e,t,i){const r=Vc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function jL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function CM(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Ei();if(i.firstCreatePass){const r=Ma(n);SM(t,i.data,i.blueprint,r,!0),SM(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class VL{}const zL="ngComponent";class dX{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${ot(n)}. Did you add it to @NgModule.entryComponents?`);return e[zL]=n,e}(e)}}class wl{}function EE(...n){}function Eg(n,e){return new En(Zs(n,e))}wl.NULL=new dX;const pX=function(){return Eg(cs(),Vt())};let En=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=pX,n})();function HL(n){return n instanceof En?n.nativeElement:n}class mf{}let MM=(()=>{class n{}return n.\u0275prov=et({token:n,providedIn:"root",factory:()=>null}),n})();class ju{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const GL=new ju("12.2.5");class $L{constructor(){}supports(e){return Ly(e)}create(e){return new vX(e)}}const bX=(n,e)=>e;class vX{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||bX}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;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,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new wX(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new WL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new WL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(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._nextIdentityChange=e,e}}class wX{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}}class EX{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(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 i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class WL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new EX,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function qL(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new xX(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class xX{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function KL(){return new Sg([new $L])}let Sg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||KL()),deps:[[n,new ul,new ns]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=et({token:n,providedIn:"root",factory:KL}),n})();function XL(){return new xg([new YL])}let xg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||XL()),deps:[[n,new ul,new ns]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=et({token:n,providedIn:"root",factory:XL}),n})();function SE(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(xr(s)),Zo(s))for(let a=10;a-1&&(ny(e,i),Gl(t,i))}this._attachedToViewContainer=!1}iy(this._lView[1],this._lView)}onDestroy(e){Vw(this._lView[1],this._lView,null,e)}markForCheck(){Ey(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){xy(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){yp(!0);try{xy(n,e,t)}finally{yp(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Xd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class AX extends $y{constructor(e){super(e),this._view=e}detectChanges(){Xw(this._view)}checkNoChanges(){!function(n){yp(!0);try{Xw(n)}finally{yp(!1)}}(this._view)}get context(){return null}}const MX=function(n){return function(n,e,t){if(Ad(n)&&!t){const i=zs(n.index,e);return new $y(i,i)}return 47&n.type?new $y(e[16],e):null}(cs(),Vt(),16==(16&n))};let Dr=(()=>{class n{}return n.__NG_ELEMENT_ID__=MX,n})();const OX=[new YL],NX=new Sg([new $L]),PX=new xg(OX),kX=function(){return xE(cs(),Vt())};let zo=(()=>{class n{}return n.__NG_ELEMENT_ID__=kX,n})();const LX=zo,BX=class extends LX{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=uf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),df(t,i,e),new $y(i)}};function xE(n,e){return 4&n.type?new BX(e,n,Eg(n,e)):null}class $c{}const UX=function(){return e3(cs(),Vt())};let Ns=(()=>{class n{}return n.__NG_ELEMENT_ID__=UX,n})();const HX=Ns,ZL=class extends HX{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Eg(this._hostTNode,this._hostLView)}get injector(){return new ea(this._hostTNode,this._hostLView)}get parentInjector(){const e=qh(this._hostTNode,this._hostLView);if(vv(e)){const t=ol(e,this._hostLView),i=Rd(e);return new ea(t[1].data[i+8],t)}return new ea(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=JL(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get($c,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return Zo(n[3])}(i)){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const h=i[3],p=new ZL(h,h[6],h[3]);p.detach(p.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),iiw});class S3 extends VL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(dT).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return E3(this.componentDef.inputs)}get outputs(){return E3(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,Mg,r);return s!==Mg||i===Mg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(mf,bu),a=s.get(MM,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(gr(n))return n.selectRootElement(e,t===Yt.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):ty(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),h=this.componentDef.onPush?576:528,p=function(n,e){return{components:[],scheduler:n||iw,clean:WT,playerHandler:e||null,flags:0}}(),g=tg(0,null,null,1,0,null,null,null,null,null),m=uf(null,g,p,h,null,null,o,l,a,s);let D,O;Hh(m);try{const W=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Zd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(rg(l,c,!0),null!==n&&(xp(r,n,c),null!==l.classes&&ay(r,n,l.classes),null!==l.styles&&Ew(r,n,l.styles)));const u=i.createRenderer(n,e),h=uf(t,eg(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Dc(Hs(l,t),o,e.type),Yw(o,l),yy(l,t.length,1)),ng(t,h),t[20]=h}(u,this.componentDef,m,o,l);if(u)if(i)xp(l,u,["ng-version",GL.full]);else{const{attrs:$,classes:pe}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&ay(l,u,pe.join(" "))}if(O=c_(g,20),void 0!==t){const $=O.projection=[];for(let pe=0;pel(o,e)),e.contentQueries){const l=cs();e.contentQueries(1,o,l.directiveStart)}const a=cs();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(yo(a.index),Ww(t[1],a,0,a.directiveStart,a.directiveEnd,e),qw(e,o)),o}(W,this.componentDef,m,p,[Gq]),df(g,m,null)}finally{fi()}return new zQ(this.componentType,D,Eg(O,m),m,O)}}class zQ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new AX(r),this.componentType=e}get injector(){return new ea(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Dg=new Map;class $Q extends $c{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new w3(this);const i=Oo(e),r=function(n){return n[TC]||null}(e);r&&vM(r),this._bootstrapComponents=hl(i.bootstrap),this._r3Injector=eE(e,t,[{provide:$c,useValue:this},{provide:wl,useValue:this.componentFactoryResolver}],ot(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Wn.THROW_IF_NOT_FOUND,i=Sn.Default){return e===Wn||e===$c||e===Pu?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class zM extends class{}{constructor(e){super(),this.moduleType=e,null!==Oo(e)&&function(n){const e=new Set;!function t(i){const r=Oo(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${ot(e)} vs ${ot(e.name)}`)}(s,Dg.get(s),i),Dg.set(s,i));const o=hl(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new $Q(this.moduleType,e)}}function T3(n,e,t,i,r,s){const o=e+t;return Eo(n,o,r)?function(n,e,t){return n[e]=t}(n,o+1,s?i.call(s,r):i(r)):function(n,e){const t=n[e];return t===In?void 0:t}(n,o+1)}function xl(n,e){const t=Ei();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new it("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=Tc(i.type)),o=Ca(Oe);try{const a=Cp(!1),l=s();return Cp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,Vt(),r,l),l}finally{Ca(o)}}function Vu(n,e,t){const i=n+20,r=Vt(),s=function(n,e){return n[e]}(r,i);return function(n,e){Zl.isWrapped(e)&&(e=Zl.unwrap(e),n[Bn.lFrame.bindingIndex]=In);return e}(r,function(n,e){return n[1].data[e].pure}(r,i)?T3(r,function(){const n=Bn.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}(),e,s.transform,t,s):s.transform(t))}function HM(n){return e=>{setTimeout(n,void 0,e)}}const sn=class extends se{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const h=e;a=null===(r=h.next)||void 0===r?void 0:r.bind(h),l=null===(s=h.error)||void 0===s?void 0:s.bind(h),c=null===(o=h.complete)||void 0===o?void 0:o.bind(h)}this.__isAsync&&(l=HM(l),a&&(a=HM(a)),c&&(c=HM(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof C&&e.add(u),u}};function oZ(){return this._results[sg()]()}class bf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=sg(),i=bf.prototype;i[t]||(i[t]=oZ)}get changes(){return this._changes||(this._changes=new sn)}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){const i=this;i.dirty=!1;const r=ta(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],u=e[-l];for(let h=10;h{class n{constructor(t){this.appInits=t,this.resolve=EE,this.reject=EE,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(ke(vf,8))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const r0=new Ht("AppId"),zZ={provide:r0,useFactory:function(){return`${eD()}${eD()}${eD()}`},deps:[]};function eD(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const eB=new Ht("Platform Initializer"),Wc=new Ht("Platform ID"),RE=new Ht("appBootstrapListener");let NE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const Uu=new Ht("LocaleId"),tB=new Ht("DefaultCurrencyCode");class GZ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const tD=function(n){return new zM(n)},$Z=tD,WZ=function(n){return Promise.resolve(tD(n))},nB=function(n){const e=tD(n),i=hl(Oo(n).declarations).reduce((r,s)=>{const o=Vi(s);return o&&r.push(new S3(o)),r},[]);return new GZ(e,i)},qZ=nB,YZ=function(n){return Promise.resolve(nB(n))};let wf=(()=>{class n{constructor(){this.compileModuleSync=$Z,this.compileModuleAsync=WZ,this.compileModuleAndAllComponentsSync=qZ,this.compileModuleAndAllComponentsAsync=YZ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const iB=new Ht("compilerOptions"),XZ=(()=>Promise.resolve(0))();function nD(n){"undefined"==typeof Zone?XZ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class gn{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new sn(!1),this.onMicrotaskEmpty=new sn(!1),this.onStable=new sn(!1),this.onError=new sn(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const 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=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=Qn.requestAnimationFrame,e=Qn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(Qn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,rD(n),n.isCheckStableRunning=!0,iD(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),rD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return rB(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),sB(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return rB(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),sB(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,rD(n),iD(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!gn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(gn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,ZZ,EE,EE);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const ZZ={};function iD(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function rD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function rB(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function sB(n){n._nesting--,iD(n)}class tJ{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new sn,this.onMicrotaskEmpty=new sn,this.onStable=new sn,this.onError=new sn}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let sD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{gn.assertNotInAngularZone(),nD(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())nD(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(ke(gn))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),oB=(()=>{class n{constructor(){this._applications=new Map,oD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return oD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();class nJ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let oD=new nJ,aB=!0,lB=!1;function Ba(){return lB=!0,aB}let rc;const cB=new Ht("AllowMultipleToken");function uB(n,e,t=[]){const i=`Platform: ${e}`,r=new Ht(i);return(s=[])=>{let o=lD();if(!o||o.injector.get(cB,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:Fu,useValue:"platform"});!function(n){if(rc&&!rc.destroyed&&!rc.injector.get(cB,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");rc=n.get(dB);const e=n.get(eB,null);e&&e.forEach(t=>t())}(Wn.create({providers:a,name:i}))}return function(n){const e=lD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function lD(){return rc&&!rc.destroyed?rc:null}let dB=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new tJ:("zone.js"===n?void 0:n)||new gn({enableLongStackTrace:Ba(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:gn,useValue:a}];return a.run(()=>{const c=Wn.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),h=u.injector.get(oa,null);if(!h)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const p=a.onError.subscribe({next:g=>{h.handleError(g)}});u.onDestroy(()=>{cD(this._modules,u),p.unsubscribe()})}),function(n,e,t){try{const i=t();return yg(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(h,a,()=>{const p=u.injector.get(Og);return p.runInitializers(),p.donePromise.then(()=>(vM(u.injector.get(Uu,_E)||_E),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=hB({},i);return function(n,e,t){const i=new zM(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(ih);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${ot(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(ke(Wn))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();function hB(n,e){return Array.isArray(e)?e.reduce(hB,n):Object.assign(Object.assign({},n),e)}let ih=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new P(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new P(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{gn.assertNotInAngularZone(),nD(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const h=this._zone.onUnstable.subscribe(()=>{gn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),h.unsubscribe()}});this.isStable=kn(a,l.pipe(Es()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof VL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get($c),a=r.create(Wn.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(sD,null),u=c&&a.injector.get(oB);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),cD(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;cD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(RE,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(ke(gn),ke(Wn),ke(oa),ke(wl),ke(Og))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();function cD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const DJ=uB(null,"core",[{provide:Wc,useValue:"unknown"},{provide:dB,deps:[Wn]},{provide:oB,deps:[]},{provide:NE,deps:[]}]),PJ=[{provide:ih,useClass:ih,deps:[gn,Wn,oa,wl,Og]},{provide:jQ,deps:[gn],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Og,useClass:Og,deps:[[new ns,vf]]},{provide:wf,useClass:wf,deps:[]},zZ,{provide:Sg,useFactory:function(){return NX},deps:[]},{provide:xg,useFactory:function(){return PX},deps:[]},{provide:Uu,useFactory:function(n){return vM(n=n||"undefined"!=typeof $localize&&$localize.locale||_E),n},deps:[[new zd(Uu),new ns,new ul]]},{provide:tB,useValue:"USD"}];let kJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(ke(ih))},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({providers:PJ}),n})(),GE=null;function qc(){return GE}const pn=new Ht("DocumentToken");let xf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({factory:Fee,token:n,providedIn:"platform"}),n})();function Fee(){return ke(VB)}let VB=(()=>{class n extends xf{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return qc().getBaseHref(this._doc)}onPopState(t){const i=qc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=qc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}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(t){this.location.pathname=t}pushState(t,i,r){UB()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){UB()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(ke(pn))},n.\u0275prov=et({factory:Lee,token:n,providedIn:"platform"}),n})();function UB(){return!!window.history.pushState}function Lee(){return new VB(ke(pn))}function xD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function zB(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function Hu(n){return n&&"?"!==n[0]?"?"+n:n}let Cf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({factory:Bee,token:n,providedIn:"root"}),n})();function Bee(n){const e=ke(pn).location;return new HB(ke(xf),e&&e.origin||"")}const CD=new Ht("appBaseHref");let HB=(()=>{class n extends Cf{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return xD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Hu(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+Hu(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+Hu(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(ke(xf),ke(CD,8))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),Pg=(()=>{class n{constructor(t,i){this._subject=new sn,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=zB(GB(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Hu(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,GB(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Hu(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Hu(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(ke(Cf),ke(xf))},n.normalizeQueryParams=Hu,n.joinWithSlash=xD,n.stripTrailingSlash=zB,n.\u0275prov=et({factory:Vee,token:n,providedIn:"root"}),n})();function Vee(){return new Pg(ke(Cf),ke(xf))}function GB(n){return n.replace(/\/index.html$/,"")}var _s=(()=>((_s=_s||{})[_s.Zero=0]="Zero",_s[_s.One=1]="One",_s[_s.Two=2]="Two",_s[_s.Few=3]="Few",_s[_s.Many=4]="Many",_s[_s.Other=5]="Other",_s))();const Yee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=pL(e);if(t)return t;const i=e.split("-")[0];if(t=pL(i),t)return t;if("en"===i)return dK;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[cn.PluralCase]};class eS{}let Ste=(()=>{class n extends eS{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(Yee(i||this.locale)(t)){case _s.Zero:return"zero";case _s.One:return"one";case _s.Two:return"two";case _s.Few:return"few";case _s.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(ke(Uu))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();class Cte{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Af=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new Cte(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new ej(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new ej(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Oe(Ns),Oe(zo),Oe(Sg))},n.\u0275dir=Rt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class ej{constructor(e,t){this.record=e,this.view=t}}let lc=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new Tte,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){tj("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){tj("ngIfElse",t),this._elseTemplateRef=t,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(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Oe(Ns),Oe(zo))},n.\u0275dir=Rt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class Tte{constructor(){this.$implicit=null,this.ngIf=null}}function tj(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${ot(e)}'.`)}class Ote{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class Rte{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const Nte=new Rte,Pte=new Ote;let h0=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(yg(t))return Nte;if(Tk(t))return Pte;throw function(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${ot(n)}'`)}(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(Oe(Dr,16))},n.\u0275pipe=Vs({name:"async",type:n,pure:!1}),n})(),qr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({providers:[{provide:eS,useClass:Ste}]}),n})();const lj="browser";function Tf(n){return n===lj}class BD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){GE||(GE=n)}(new BD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).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"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(f0=f0||document.querySelector("base"),f0?f0.getAttribute("href"):null);return null==t?null:function(n){nS=nS||document.createElement("a"),nS.setAttribute("href",n);const e=nS.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){f0=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return function(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}(document.cookie,e)}}let nS,f0=null;const hj=new Ht("TRANSITION_ID"),rne=[{provide:vf,useFactory:function(n,e,t){return()=>{t.get(Og).donePromise.then(()=>{const i=qc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},Qn.getAllAngularTestabilities=()=>e.getAllTestabilities(),Qn.getAllAngularRootElements=()=>e.getAllRootElements(),Qn.frameworkStabilizers||(Qn.frameworkStabilizers=[]),Qn.frameworkStabilizers.push(i=>{const r=Qn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?qc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let sne=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const p0=new Ht("EventManagerPlugins");let rS=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),g0=(()=>{class n extends pj{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(gj),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(gj))}}return n.\u0275fac=function(t){return new(t||n)(ke(pn))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();function gj(n){qc().remove(n)}const UD={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/"},zD=/%COMP%/g;function sS(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let oS=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new HD(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Yt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new vne(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Yt.ShadowDom:return new wne(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=sS(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(ke(rS),ke(g0),ke(r0))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();class HD{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(UD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=UD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=UD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(jo.DashCase|jo.Important)?e.style.setProperty(t,i,r&jo.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&jo.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,yj(i)):this.eventManager.addEventListener(e,t,yj(i))}}class vne extends HD{constructor(e,t,i,r){super(e),this.component=i;const s=sS(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(zD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(zD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class wne extends HD{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=sS(r.id,r.styles,[]);for(let o=0;o{class n extends VD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(ke(pn))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const wj=["alt","control","meta","shift"],Dne={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Ej={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},Ine={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let One=(()=>{class n extends VD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>qc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(wj.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&Ej.hasOwnProperty(e)&&(e=Ej[e]))}return Dne[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),wj.forEach(s=>{s!=r&&Ine[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(ke(pn))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),Mf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({factory:function(){return ke($D)},token:n,providedIn:"root"}),n})(),$D=(()=>{class n extends Mf{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case ni.NONE:return i;case ni.HTML:return ia(i,"HTML")?Gs(i):z_(this._doc,String(i)).toString();case ni.STYLE:return ia(i,"Style")?Gs(i):i;case ni.SCRIPT:if(ia(i,"Script"))return Gs(i);throw new Error("unsafe value used in a script context");case ni.URL:return Lc(i),ia(i,"URL")?Gs(i):Bo(String(i));case ni.RESOURCE_URL:if(ia(i,"ResourceURL"))return Gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new P_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new F_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new Vp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new $d(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new Fn(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(ke(pn))},n.\u0275prov=et({factory:function(){return function(n){return new $D(n.get(pn))}(ke(Pu))},token:n,providedIn:"root"}),n})();const jne=uB(DJ,"browser",[{provide:Wc,useValue:lj},{provide:eB,useValue:function(){BD.makeCurrent(),jD.init()},multi:!0},{provide:pn,useFactory:function(){return function(n){Ki=n}(document),document},deps:[]}]),Vne=[[],{provide:Fu,useValue:"root"},{provide:oa,useFactory:function(){return new oa},deps:[]},{provide:p0,useClass:Ene,multi:!0,deps:[pn,gn,Wc]},{provide:p0,useClass:One,multi:!0,deps:[pn]},[],{provide:oS,useClass:oS,deps:[rS,g0,r0]},{provide:mf,useExisting:oS},{provide:pj,useExisting:g0},{provide:g0,useClass:g0,deps:[pn]},{provide:sD,useClass:sD,deps:[gn]},{provide:rS,useClass:rS,deps:[p0,gn]},{provide:class{},useClass:sne,deps:[]},[]];let WD=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:r0,useValue:t.appId},{provide:hj,useExisting:r0},rne]}}}return n.\u0275fac=function(t){return new(t||n)(ke(n,12))},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({providers:Vne,imports:[qr,kJ]}),n})();"undefined"!=typeof window&&window;class Yne extends C{constructor(e,t){super()}schedule(e,t=0){return this}}class aS extends Yne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let xj=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class uc extends xj{constructor(e,t=xj.now){super(e,()=>uc.delegate&&uc.delegate!==this?uc.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return uc.delegate&&uc.delegate!==this?uc.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const Qne=new class extends uc{}(class extends aS{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),Yc=new P(n=>n.complete());function lS(n){return n?function(n){return new P(e=>n.schedule(()=>e.complete()))}(n):Yc}function fn(...n){let e=n[n.length-1];return Ie(e)?(n.pop(),Be(n,e)):On(n)}function Fg(n,e){return new P(e?t=>e.schedule(Jne,0,{error:n,subscriber:t}):t=>t.error(n))}function Jne({error:n,subscriber:e}){e.error(n)}class pa{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return fn(this.value);case"E":return Fg(this.error);case"C":return lS()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new pa("N",e):pa.undefinedValueNotification}static createError(e){return new pa("E",void 0,e)}static createComplete(){return pa.completeNotification}}pa.completeNotification=new pa("C"),pa.undefinedValueNotification=new pa("N",void 0);class cS extends v{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(cS.dispatch,this.delay,new tie(e,this.destination)))}_next(e){this.scheduleMessage(pa.createNext(e))}_error(e){this.scheduleMessage(pa.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(pa.createComplete()),this.unsubscribe()}}class tie{constructor(e,t){this.notification=e,this.destination=t}}class kg extends se{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new nie(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new G;if(this.isStopped||this.hasError?o=C.EMPTY:(this.observers.push(e),o=new ne(this,e)),r&&e.add(e=new cS(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class nie{constructor(e,t){this.time=e,this.value=t}}function Ir(n,e){return"function"==typeof e?t=>t.pipe(Ir((i,r)=>qe(n(i,r)).pipe(ye((s,o)=>e(i,s,r,o))))):t=>t.lift(new iie(n))}class iie{constructor(e){this.project=e}call(e,t){return t.subscribe(new rie(e,this.project))}}class rie extends Ae{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new _t(this),r=this.destination;r.add(i),this.innerSubscription=k(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const uS={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return uS.schedule(n,0);if(void 0===window.requestAnimationFrame)return uS.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let YD;function pie(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!YD){const t=Element.prototype;YD=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&YD.call(n,e)}(n,r)||(i=s,0))),i}class mie{constructor(e,t){this.componentFactory=t.get(wl).resolveComponentFactory(e)}create(e){return new _ie(this.componentFactory,e)}}class _ie{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new kg(1),this.events=this.eventEmitters.pipe(Ir(i=>kn(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(gn),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=uS.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Wn.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(ye(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=uS.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new o_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class yie extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}const vie={initialConfig:{},parse:{},rename:{}};class wie{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},vie),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,u=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(u)try{i[l]=u(c)}catch(h){console.warn(`Failed to parse ${e} = ${c}`,h.message)}else i[l]=c}}let Eie=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new wie(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=Rt({type:n,features:[Ui]}),n})();var KD;const m0={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://ccf-api.hubmapconsortium.org/v1/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld",dataSources:["https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/kpmp/data/rui_locations.jsonld","https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@1/assets/sparc/data/rui_locations.jsonld"],hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"https://search.api.hubmapconsortium.org/v3/entities/search",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==(KD=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==KD?KD:""},googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};function rr(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function Aj(n,e){return function(t,i){e(t,i,n)}}function dc(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function Fi(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function Dj(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function QD(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Dj()}const Ij="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",hS=QD();class Aie{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function ZD(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const Oj={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Rj(n){return"string"==typeof n?Oj[n.toUpperCase()]||Oj.WHITE:n}function fS(n,e){if(!n)throw new Error(e||"Assertion failed")}const hc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},_0=hc.window||hc.self||hc.global,Nj=hc.process||{};function Lg(){let n;if(hS&&_0.performance)n=_0.performance.now();else if(Nj.hrtime){const e=Nj.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const Bg={debug:hS&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Nie={enabled:!0,level:0};function Tl(){}const Pj={},Fj={once:!0};function Pie(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let JD=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=Ij,this._startTs=Lg(),this._deltaTs=Lg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Aie("__probe-".concat(this.id,"__"),Nie),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Lg()-this._startTs).toPrecision(10))}getDelta(){return Number((Lg()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){fS(t,i)}warn(t){return this._getLogFunction(0,t,Bg.warn,arguments,Fj)}error(t){return this._getLogFunction(0,t,Bg.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,Bg.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,Bg.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,Bg.debug||Bg.info,arguments,Fj)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||Tl,r&&[r],{tag:Pie(i)}):Tl}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?hS?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=ZD(r,e,t);console.log(...s)},r.src=n,Tl}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...ZD(n,e,t)),Tl;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...ZD(r,e,t)),r.src=n.toDataURL(),Tl}return Tl}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=Je(307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):Tl}({image:r,message:s,scale:o}):Tl}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||Tl)}group(t,i,r={collapsed:!1}){r=Lj({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Tl)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=kj(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=Lj({logLevel:t,message:i,args:s,opts:o}),fS(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Lg();const a=o.tag||o.message;if(o.once){if(Pj[a])return Tl;Pj[a]=Lg()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!hS&&"string"==typeof n&&(e&&(e=Rj(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=Rj(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return Tl}}return n.VERSION=Ij,n})();function kj(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return fS(Number.isFinite(e)&&e>=0),e}function Lj(n){const{logLevel:e,message:t}=n;n.logLevel=kj(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return fS("string"===r||"object"===r),Object.assign(n,n.opts)}const Ri=new JD({id:"deck"}),ji={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(ji,"IDENTITY",{get:()=>Ri.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Kc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},Bj={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},mn=new JD({id:"luma.gl"});function $o(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function pS(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function Si(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function gS(n){return $o(pS(n),"Invalid WebGLRenderingContext"),n}function Co(n){return $o(Si(n),"Requires WebGL2"),n}const y0={};const b0=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Df.prototype.VERTEX_ARRAY_BINDING_OES=34229,Df.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iSi(n)?void 0:0,tre={3074:n=>Si(n)?void 0:36064,35723:n=>Si(n)?void 0:4352,35977:br,32937:br,36795:(n,e)=>{const t=Si(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(Uj);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(Uj);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:br,35071:br,37447:br,36063:(n,e)=>{if(!Si(n)){const t=n.getExtension(Vj);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:br,35374:br,35377:br,34852:n=>{if(!Si(n)){const e=n.getExtension(Vj);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(jj)?2147483647:65535,33001:n=>n.getExtension(jj)?16777216:65535,33e3:n=>16777216,37157:br,35373:br,35657:br,36183:br,37137:br,34045:br,35978:br,35979:br,35968:br,35376:br,35375:br,35659:br,37154:br,35371:br,35658:br,35076:br,35077:br,35380:br},zj="ANGLE_instanced_arrays",Hj={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{$o(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[zj]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){$o(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{$o(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{$o(!1)},deleteQuery:()=>{$o(!1)},beginQuery:()=>{$o(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},eI={readBuffer:(n,e,t)=>{Si(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:Si(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!Si(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!Si(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=tre[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function fre(n,{extension:e,target:t,target2:i}){const r=Hj[e];$o(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let u=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?u=(...h)=>a[c](...h):"function"==typeof r[l]&&(u=r[l].bind(t))),u&&(t[l]=u,i[l]=u)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Df(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&fre(n,{extension:t,target:n.luma,target2:n})}(n,Hj),function(n,{target:e,target2:t}){Object.keys(eI).forEach(i=>{if("function"==typeof eI[i]){const r=n[i]?n[i].bind(n):()=>{},s=eI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const tI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},oh=(n,e,t)=>e?n.enable(t):n.disable(t),Gj=(n,e,t)=>n.hint(t,e),ja=(n,e,t)=>n.pixelStorei(t,e);function v0(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const mre={3042:oh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:oh,2885:(n,e)=>n.cullFace(e),2929:oh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:oh,35723:Gj,36006:(n,e)=>{const t=Si(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:Gj,2849:(n,e)=>n.lineWidth(e),32823:oh,32824:"polygonOffset",10752:"polygonOffset",35977:oh,32938:"sampleCoverage",32939:"sampleCoverage",3089:oh,3088:(n,e)=>n.scissor(...e),2960:oh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:ja,3317:ja,37440:ja,37441:ja,37443:ja,3330:ja,3332:ja,3331:ja,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:ja,32878:ja,3316:ja,3315:ja,32877:ja,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=v0(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=v0(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=v0(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=v0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=v0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function os(n,e,t){return void 0!==e[n]?e[n]:t[n]}const _re={blendEquation:(n,e,t)=>n.blendEquationSeparate(os(32777,e,t),os(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(os(32969,e,t),os(32968,e,t),os(32971,e,t),os(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(os(32824,e,t),os(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(os(32938,e,t),os(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,os(2962,e,t),os(2967,e,t),os(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,os(34816,e,t),os(36003,e,t),os(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,os(2964,e,t),os(2965,e,t),os(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,os(34817,e,t),os(34818,e,t),os(34819,e,t))},$j={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Xc=(n,e)=>n.isEnabled(e),Wj={3042:Xc,2884:Xc,2929:Xc,3024:Xc,32823:Xc,32926:Xc,32928:Xc,3089:Xc,2960:Xc,35977:Xc};function qj(n){for(const e in n)return!1;return!0}function yre(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||tI)){const r=e,s=Wj[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=Wj[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},tI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){$o(this.stateStack.length>0),$u(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){$o(void 0!==s);const o=e[s],a=this.cache[s];yre(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function Kj(n,e={}){const{enable:t=!0,copyState:i}=e;if($o(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new wre(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in $j)bre(n,s,$j[s]);Yj(n,"getParameter"),Yj(n,"isEnabled")}return n.state.enable=t,n}function Xj(n){$o(n.state),n.state.pop()}function $u(n,e){if($o(pS(n),"setParameters requires a WebGL context"),qj(e))return;const t={};for(const r in e){const s=Number(r),o=mre[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)_re[r](n,e,i)}function fc(n,e,t){if(qj(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||Kj(n,{copyState:!1}),n.state.push()}(n),$u(n,e),i)r=t(n),Xj(n);else try{r=t(n)}finally{Xj(n)}return r}function mS(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function jg(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function nI(n,e,t=!0){return function(n,e,t,i,r){const s=Qj(n[0],e,t);let o=Zj(n[1],e,i,r),a=Qj(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=Zj(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,jg(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function Qj(n,e,t){return Math.min(Math.round(n*e),t-1)}function Zj(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const iI=mS(),Mre=iI&&"undefined"!=typeof document,Jj={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function eV(n={}){$o(iI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},Jj,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(Mre&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=rI(r,n),function(n){const e=Si(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);mn.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function rI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},Jj,e);const{manageState:t,debug:i}=e;return t&&Kj(n,{copyState:!1,log:(...r)=>mn.log(1,...r)()}),iI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),mn.level=Math.max(mn.level,1)):mn.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function tV(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class nV{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=tV(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(tV()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class sI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof nV?e:new nV(t,i)),this.stats[t]}}const w0="8.5.12",If=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new sI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==w0)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${w0}`);function tn(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function oI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return tn(void 0!==i,`Accessing undefined constant GL.${e}`),i}function ah(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(mS()&&mn.log(1,`luma.gl ${w0} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:w0,version:w0,log:mn,stats:If,globals:{modules:{},nodeIO:{}}}),globalThis;const aI={};function ga(n="id"){return aI[n]=aI[n]||1,`${n}-${aI[n]++}`}function iV(n){return tn("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function Vg(n){let e=!0;for(const t in n){e=!1;break}return e}function rV(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw mn.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const Ug="Resource subclass must define virtual methods";class Wu{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){gS(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ga(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){tn(e=oI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Si(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=Si(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const h=i?ah(this.gl,l):l;o[h]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[h]=ah(this.gl,o[h]))}}return o}setParameter(e,t){tn(e=oI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Si(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=oI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return rV(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(Ug)}_deleteHandle(){throw new Error(Ug)}_bindHandle(e){throw new Error(Ug)}_getOptsFromHandle(){throw new Error(Ug)}_getParameter(e,t){throw new Error(Ug)}_setParameter(e,t){throw new Error(Ug)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=If.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];If.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=If.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=If.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function lI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function E0(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function Vre({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return ma.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return ma.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=cI("Accessor",e,zre)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const oV={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},Hre={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:oV},Gre={removedProps:oV};class hr extends Wu{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/ma.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/ma.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=cI("Buffer",e,Hre),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=cI("Buffer",e,Gre))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new ma(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;tn(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(Co(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return Co(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){Co(this.gl);const s=E0(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const u=Math.min(o,l);return tn((r=r||u)<=u),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(tn(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){tn(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=lI(e);return tn(s),this.setAccessor(new ma(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){tn(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/E0(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new ma(this.accessor,{type:lI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return mn.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return mn.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return mn.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return mn.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new ma(this.accessor,e),this}}const uI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},aV={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},lV={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},qre=[9729,9728],cV=globalThis.WebGLBuffer||function(){};class Of extends Wu{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=uI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=Si(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=uI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ga("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then($=>this.initialize(Object.assign({},e,{pixels:$,data:$}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:u}=e;t||(t=r);let{width:h,height:p,dataFormat:g,type:m,compressed:D=!1,mipmaps:O=!0}=e;const{depth:W=0}=e;return({width:h,height:p,compressed:D,dataFormat:g,type:m}=this._deduceParameters({format:s,type:m,dataFormat:g,compressed:D,data:t,width:h,height:p})),this.width=h,this.height=p,this.depth=W,this.format=s,this.type=m,this.dataFormat=g,this.border=o,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),O&&this._isNPOT()&&(mn.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),O=!1,this._updateForNPOT(l)),this.mipmaps=O,this.setImageData({data:t,width:h,height:p,depth:W,format:s,type:m,dataFormat:g,border:o,mipmaps:O,parameters:c,compressed:D}),O&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:u=this.type,width:h=this.width,height:p=this.height,dataFormat:g=this.dataFormat,compressed:m=!1}=e;c||(c=i),({type:u,dataFormat:g,compressed:m,width:h,height:p}=this._deduceParameters({format:s,type:u,dataFormat:g,compressed:m,data:c,width:h,height:p}));const{gl:D}=this;D.bindTexture(this.target,this.handle);let O=null;({data:c,dataType:O}=this._getDataType({data:c,compressed:m}));let W,$=0;return fc(this.gl,l,()=>{switch(O){case"null":D.texImage2D(t,r,s,h,p,o,g,u,c);break;case"typed-array":D.texImage2D(t,r,s,h,p,o,g,u,c,a);break;case"buffer":W=Co(D),W.bindBuffer(35052,c.handle||c),W.texImage2D(t,r,s,h,p,o,g,u,a),W.bindBuffer(35052,null);break;case"browser-object":Si(D)?D.texImage2D(t,r,s,h,p,o,g,u,c):D.texImage2D(t,r,s,g,u,c);break;case"compressed":for(const[pe,Re]of c.entries())D.compressedTexImage2D(t,pe,Re.format,Re.width,Re.height,o,Re.data),$+=Re.levelSize;break;default:tn(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===O?$:c&&c.byteLength?c.byteLength:this.width*this.height*(aV[this.dataFormat]||4)*(lV[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:u=this.type,dataFormat:h=this.dataFormat,compressed:p=!1,offset:g=0,border:m=this.border,parameters:D={}}){if(({type:u,dataFormat:h,compressed:p,width:o,height:a}=this._deduceParameters({format:c,type:u,dataFormat:h,compressed:p,data:i,width:o,height:a})),tn(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const O=i;i=O.data,o=O.shape[0],a=O.shape[1]}i instanceof hr&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),fc(this.gl,D,()=>{if(p)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,h,u,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,h,u,i,g);else if(i instanceof cV){const O=Co(this.gl);O.bindBuffer(35052,i),O.texSubImage2D(e,l,r,s,o,a,h,u,g),O.bindBuffer(35052,null)}else Si(this.gl)?Co(this.gl).texSubImage2D(e,l,r,s,o,a,h,u,i):this.gl.texSubImage2D(e,l,r,s,h,u,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return mn.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof hr?{data:e.handle,dataType:"buffer"}:e instanceof cV?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=uI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},tn(r,"Could not deduced texture size"),tn(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),tn(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:tn(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Si(this.gl)||!this.width||!this.height||iV(this.width)&&iV(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===qre.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function Yre(n,e){return tn("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class _a extends Of{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return Of.isSupported(e,t)}constructor(e,t={}){gS(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:Yre(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const Rf="EXT_color_buffer_float",uV={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Rf,bpp:2},33327:{gl2:Rf,bpp:4},34842:{gl2:Rf,bpp:8},33326:{gl2:Rf,bpp:4},33328:{gl2:Rf,bpp:8},34836:{gl2:Rf,bpp:16},35898:{gl2:Rf,bpp:4}};class zg extends Wu{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=Si(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,uV)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return tn(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&Si(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*uV[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const gV="clear: bad arguments";function hI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),tn(0!==o,gV),fc(n,s,()=>{n.clear(o)})}function mV(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function oi(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){mV(s,i,r,o,a,"next",l)}function a(l){mV(s,i,r,o,a,"throw",l)}o(void 0)})}}const fI=[34069,34070,34071,34072,34073,34074];let tse=(()=>{class n extends Of{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){gS(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return oi(function*(){const{gl:u}=c,h=r||s,p=yield Promise.all(fI.map(g=>{const m=h[g];return Promise.all(Array.isArray(m)?m:[m])}));c.bind(),fI.forEach((g,m)=>{p[m].length>1&&!1!==c.opts.mipmaps&&mn.warn(`${c.id} has mipmap and multiple LODs.`)(),p[m].forEach((D,O)=>{t&&i?u.texImage2D(g,O,a,t,i,o,a,l,D):u.texImage2D(g,O,a,a,l,D)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:u=5121}=t,{gl:h}=this,p=o||a;return this.bind(),p instanceof Promise?p.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?h.texImage2D(i,0,c,r,s,l,c,u,p):h.texImage2D(i,0,c,c,u,p),this}}return n.FACES=fI,n})();class nse extends Of{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return Si(e)}constructor(e,t={}){Co(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:u,parameters:h={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),fc(this.gl,h,()=>{ArrayBuffer.isView(u)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,u),u instanceof hr&&(this.gl.bindBuffer(35052,u.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(u&&u.byteLength?u.byteLength:this.width*this.height*this.depth*(aV[this.dataFormat]||4)*(lV[this.type]||1),"Texture"),this.loaded=!0,this}}function _V(n,e){tn(n instanceof _a||n instanceof tse||n instanceof nse);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function ise(n,e){const{gl:t,width:i,height:r,id:s}=n;return new Fs(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function _S(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=S0(n);tn(u);const{gl:p,handle:g,attachments:m}=u;a=a||u.width,l=l||u.height,36064===s&&null===g&&(s=1028),tn(m[s]),c=c||m[s].type,o=function(n,e,t,i,r){if(n)return n;return new(E0(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return tn(!1),0}}(t))}(o,c,r,a,l),c=c||lI(o);const D=p.bindFramebuffer(36160,g);return p.readPixels(t,i,a,l,r,c,o),p.bindFramebuffer(36160,D||null),h&&u.delete(),o}function pI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=_S(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=Vre({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const u in i){const h=i[u];(Array.isArray(h)?h[0]:h).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return tn(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&mn.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){tn(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof zg)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[u,h=0,p=0]=l;c=u,this._attachTexture({attachment:a,texture:u,layer:h,level:p})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(Fs.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&hI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){Co(n),fc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:tn(!1,gV)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return mn.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return mn.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return mn.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return mn.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return mn.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return mn.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=Co(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=ah(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?ah(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?ah(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(pI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>mn.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=pI(this,{targetMaxHeight:100});return mn.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new _a(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new zg(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new zg(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&tn(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof zg?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:Co(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:tn(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return Si(n)?n:null}(this.gl);t?t.readBuffer(e):tn(36064===e||1029===e,yV),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=Co(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):tn(1===e.length&&(36064===e[0]||1029===e[0]),yV)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in bV)void 0===n.luma.caps[e]&&(n.luma.caps[e]=wV(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}Fs.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const bV={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new _a(n,{format:6408,type:5126,dataFormat:6408}),t=new Fs(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function gI(n,e){return vV(n,e)}function vV(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>wV(n,t))}function wV(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=bV[e];let i;tn(t,e);const r=Si(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:tn(!1);return i}(n,e)),n.luma.caps[e]||mn.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class mI{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},gse=1/Math.PI*180,mse=1/180*Math.PI,Or={};function yse(n,{precision:e=Or.precision||4}={}){return n=function(n){return Math.round(n/Or.EPSILON)*Or.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function lh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function qu(n,e,t){if(lh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*mse,void 0)}(n)}function vse(n){return function(n,e){return qu(n,t=>t*gse,void 0)}(n)}function Va(n,e,t){return qu(n,i=>Math.max(e,Math.min(t,i)))}function yS(n,e,t){return lh(n)?n.map((i,r)=>yS(i,e[r],t)):t*e+(1-t)*n}function C0(n,e,t){const i=Or.EPSILON;t&&(Or.EPSILON=t);try{if(n===e)return!0;if(lh(n)&&lh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+yse(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(LV.length=n.length,i=LV):i=kV,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function BV(n){return n&&n[Symbol.asyncIterator]}function EI(n,e=(()=>!0)){return Array.isArray(n)?jV(n,e,[]):e(n)?[n]:[]}function jV(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function VV(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",at(at(at({},qse[n.type]),e),n)):null}function UV(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function zV(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function HV(n){n.push(n.shift())}function xI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function GV({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,u=r&&c,h=xI(t,e),p=t.state.constant;if(!u&&i>=h)return;const g=p?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!p){const W=s;s=($,pe)=>t._normalizeConstant(W($,pe))}const m=p?(W,$)=>s(g,$):(W,$)=>s(g.subarray(W,W+a),$),D=n.getData({length:i}),O=new Float32Array(h);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return SI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((u,h)=>i(u+a,h)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===SS||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=SS}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=Gse}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==SS}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,u]of s)o.call(r,this,{data:t,startRow:c,endRow:u,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const O=h*a+l;for(let W=0;Wu?c.set(pe,D):(e._normalizeValue(pe,W.target,0),Hse({target:c,source:W.target,start:D,count:Re}));D+=Re*u}else e._normalizeValue(pe,c,D),D+=u}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let AI={};function To(n){Ri.level>0&&AI[n]&&AI[n].call(...arguments)}function Ua(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const $V="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",Xse=`#version 300 es\n${$V}`;function WV(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function qV(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?Xse:e>300?`#version ${e}\n${$V}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return Ua(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class YV extends Wu{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return Si(e)}constructor(e,t={}){Co(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,Vg(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,mn.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof hr?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class eoe{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof hr?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&tn(Si(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new YV(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],tn(i[s]instanceof hr)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new hr(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function KV(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const D0="vs",ioe={[D0]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},xS="__LUMA_INJECT_DECLARATIONS__",XV=/void\s+main\s*\([^)]*\)\s*\{\n?/,QV=/}\n?[^{}]*$/,MI=[];function ZV(n,e,t,i=!1){const r=e===D0;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),MI.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(QV,l=>a+l));break;case"fs:#decl":r||(n=n.replace(xS,a));break;case"fs:#main-start":r||(n=n.replace(XV,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(QV,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(xS,""),i&&(n=n.replace(/\}\s*$/,s=>s+ioe[e])),n}function DI(n){const e={};return Ua(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const roe={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},CS="transform_uSize_",JV="transform_position";const hoe={10241:9728,10240:9728,10242:33071,10243:33071};class poe{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const h in this.samplerTextureMap)a[h]=i[this.samplerTextureMap[h]];this._setSourceTextureParameters();const u=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${CS}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${CS}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,u)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=_S(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return Ua(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new hr(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new Fs(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters(hoe)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=_V(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const u=l.split("\n"),h=u.slice();if(u.forEach((p,g,m)=>{if(s>0){const D=function(n,e){const t={},i=function(n){return WV(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${CS}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),h=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return Ua(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":h},samplerTextureMap:t}}return null}(p,e);if(D){const{updatedLine:O,inject:W}=D;h[g]=O,c=DI([c,W]),Object.assign(a,D.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=WV(n,["varying","out"]);return t&&t.name===e?t.type:null}(p,t))}),t){tn(i);const p=`${CS}${t}`;c=DI([c,{"vs:#decl":`uniform vec2 ${p};\n`,"vs:#main-start":` vec2 ${JV} = transform_getPos(${p});\n gl_Position = vec4(${JV}, 0, 1.);\n`}])}l=h.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=DI([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||qV({version:KV(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[roe].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const II={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function moe(n){let e=eU(n);return"object"===e?n?"type"in n?Object.assign({},n,II[n.type]):"value"in n?(e=eU(n.value),Object.assign({type:e},n,II[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},II[e])}function eU(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class OI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:u,fragmentShader:h}){Ua("string"==typeof e),this.name=e,this.vs=t||u,this.fs=i||h,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=moe(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:Ua(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&Ua(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function voe(n){return function(n){const e={},t={};return RI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}(nU(n))}function RI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof OI||(Ua("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),Ua(t.name,"shader module has no name"),(t=new OI(t)).dependencies=nU(t.dependencies)),t))}const NI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},Nf={};function Moe(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(NI).forEach(n=>{Nf[n]=n});const PI={};function iU(n,e,t={}){const i=NI[e];if(Ua(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in PI)return PI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),PI[e]=l,l}function AS(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=NI[e];Ua(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return Ua(!1===r||!0===r),r}(n,t))}function Gg(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const rU=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],Roe=[...rU,[Gg("attribute"),"in $1"],[Gg("varying"),"out $1"]],Noe=[...rU,[Gg("varying"),"in $1"]],sU=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Poe=[...sU,[Gg("in"),"attribute $1"],[Gg("out"),"varying $1"]],Foe=[...sU,[Gg("in"),"varying $1"]],FI="gl_FragColor",kI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,koe=/void\s+main\s*\([^)]*\)\s*\{\n?/;function TS(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const Voe=`\n\n${xS}\n\n`,oU={[D0]:"vertex",fs:"fragment"};function aU(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){Ua("string"==typeof t,"shader source must be a string");const h=i===D0,p=t.split("\n");let g=100,m="",D=t;0===p[0].indexOf("#version ")?(g=300,m=p[0],D=p.slice(1).join("\n")):m=`#version ${g}`;const O={};r.forEach(We=>{Object.assign(O,We.getDefines())}),Object.assign(O,s);let W=c?`${m}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${oU[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${oU[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:Moe(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return AS(n,Nf.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),AS(n,Nf.GLSL_DERIVATIVES)&&iU(n,Nf.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),AS(n,Nf.GLSL_FRAG_DATA)&&iU(n,Nf.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),AS(n,Nf.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(O)}\n${h?"":"precision highp float;\n\n"}\n`:`${m}\n`;const $=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),pe={},Re={},Ve={};for(const We in a){const rt="string"==typeof a[We]?{injection:a[We],order:0}:a[We],wt=We.match(/^(v|f)s:(#)?([\w-]+)$/);if(wt){const At=wt[3];wt[2]?"decl"===At?Re[We]=[rt]:Ve[We]=[rt]:pe[We]=[rt]}else Ve[We]=[rt]}for(const We of r){u&&We.checkDeprecations(D,u),W+=We.getModuleSource(i,g);const wt=We.injections[i];for(const vt in wt){const At=vt.match(/^(v|f)s:#([\w-]+)$/);if(At){const $t="decl"===At[2]?Re:Ve;$t[vt]=$t[vt]||[],$t[vt].push(wt[vt])}else pe[vt]=pe[vt]||[],pe[vt].push(wt[vt])}}return W+=Voe,W=ZV(W,i,Re),W+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}($[i],pe),W+=D,W=ZV(W,i,Ve),W=function(n,e,t){switch(e){case 300:return t?TS(n,Roe):function(n){const e=(n=TS(n,Noe)).match(kI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${FI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(koe,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${FI}\\b`,"g"),t)}return n}(n);case 100:return t?TS(n,Poe):function(n){const e=(n=TS(n,Foe)).match(kI);if(e){const t=e[1];n=n.replace(kI,"").replace(new RegExp(`\\b${t}\\b`,"g"),FI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(W,l?100:g,h),W}function Hoe(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const Koe={5126:Rr.bind(null,"uniform1fv",za,1,Mo),35664:Rr.bind(null,"uniform2fv",za,2,Mo),35665:Rr.bind(null,"uniform3fv",za,3,Mo),35666:Rr.bind(null,"uniform4fv",za,4,Mo),5124:Rr.bind(null,"uniform1iv",ch,1,Mo),35667:Rr.bind(null,"uniform2iv",ch,2,Mo),35668:Rr.bind(null,"uniform3iv",ch,3,Mo),35669:Rr.bind(null,"uniform4iv",ch,4,Mo),35670:Rr.bind(null,"uniform1iv",ch,1,Mo),35671:Rr.bind(null,"uniform2iv",ch,2,Mo),35672:Rr.bind(null,"uniform3iv",ch,3,Mo),35673:Rr.bind(null,"uniform4iv",ch,4,Mo),35674:Rr.bind(null,"uniformMatrix2fv",za,4,Ku),35675:Rr.bind(null,"uniformMatrix3fv",za,9,Ku),35676:Rr.bind(null,"uniformMatrix4fv",za,16,Ku),35678:ro,35680:ro,5125:Rr.bind(null,"uniform1uiv",MS,1,Mo),36294:Rr.bind(null,"uniform2uiv",MS,2,Mo),36295:Rr.bind(null,"uniform3uiv",MS,3,Mo),36296:Rr.bind(null,"uniform4uiv",MS,4,Mo),35685:Rr.bind(null,"uniformMatrix2x3fv",za,6,Ku),35686:Rr.bind(null,"uniformMatrix2x4fv",za,8,Ku),35687:Rr.bind(null,"uniformMatrix3x2fv",za,6,Ku),35688:Rr.bind(null,"uniformMatrix3x4fv",za,12,Ku),35689:Rr.bind(null,"uniformMatrix4x2fv",za,8,Ku),35690:Rr.bind(null,"uniformMatrix4x3fv",za,12,Ku),35678:ro,35680:ro,35679:ro,35682:ro,36289:ro,36292:ro,36293:ro,36298:ro,36299:ro,36300:ro,36303:ro,36306:ro,36307:ro,36308:ro,36311:ro},Xoe={},Qoe={},Zoe={},lU=[0];function LI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(lU[0]=n,n=lU);const r=n.length;if(r%e&&mn.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function Rr(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{tn(s===u,"Uniform length cannot change.");for(let p=0;p{const a=String(o+e);return hU(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:dU(s,c),warnings:dU(o,c)}}(i,this.source,this.shaderType,this.id);throw mn.error(`GLSL compilation errors in ${r}\n${s}`)(),mn.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class BI extends I0{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class jI extends I0{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const ks=5126,O0=5124,R0=5125,VI={[ks]:[ks,1,"float"],35664:[ks,2,"vec2"],35665:[ks,3,"vec3"],35666:[ks,4,"vec4"],[O0]:[O0,1,"int"],35667:[O0,2,"ivec2"],35668:[O0,3,"ivec3"],35669:[O0,4,"ivec4"],[R0]:[R0,1,"uint"],36294:[R0,2,"uvec2"],36295:[R0,3,"uvec3"],36296:[R0,4,"uvec4"],35670:[ks,1,"bool"],35671:[ks,2,"bvec2"],35672:[ks,3,"bvec3"],35673:[ks,4,"bvec4"],35674:[ks,8,"mat2"],35685:[ks,8,"mat2x3"],35686:[ks,8,"mat2x4"],35675:[ks,12,"mat3"],35687:[ks,12,"mat3x2"],35688:[ks,12,"mat3x4"],35676:[ks,16,"mat4"],35689:[ks,16,"mat4x2"],35690:[ks,16,"mat4x3"]};function yU(n){const e=VI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function bU(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=ks}for(const t in VI){const[i,r,s]=VI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class kae{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!Si(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=yU(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new ma(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=yU(i),l={location:e,name:t,accessor:new ma({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const Lae=35981,Bae=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class wU extends Wu{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",Bae),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=Lae}=e;return this.hash=t||"",this.vs="string"==typeof i?new BI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new jI(this.gl,{id:`${e.id}-fs`,source:r}):r,tn(this.vs instanceof BI),tn(this.fs instanceof jI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(Co(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new kae(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:u=c>0,vertexArray:h=null,transformFeedback:p,framebuffer:g,parameters:m={},uniforms:D,samplers:O}){if((D||O)&&(mn.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(D||{})),mn.priority>=e){const W=g?g.id:"default",$=`mode=${ah(this.gl,t)} verts=${i} instances=${c} indexType=${ah(this.gl,l)} isInstanced=${u} isIndexed=${a} Framebuffer=${W}`;mn.log(e,$)()}return tn(h),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||u&&0===c||(h.bindForDraw(i,c,()=>{if(void 0!==g&&(m=Object.assign({},m,{framebuffer:g})),p){const W=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return tn(!1),0}}(t);p.begin(W)}this._bindTextures(),fc(this.gl,m,()=>{a&&u?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&Si(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):u?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),p&&p.end()}),0))}setUniforms(e={}){mn.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!tae(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof Fs&&(s=s.texture),s instanceof Of)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&nae(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new BI({handle:r});break;case 35632:i.fs=new jI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ga(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),mn.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),mn.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||mn.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),u=this._getHash(t),h=this._getHash(i),p=c.map(pe=>this._getHash(pe.name)).sort(),g=o.map(pe=>this._getHash(pe)),m=Object.keys(r).sort(),D=Object.keys(s).sort(),O=[],W=[];for(const pe of m)O.push(this._getHash(pe)),O.push(this._getHash(r[pe]));for(const pe of D)W.push(this._getHash(pe)),W.push(this._getHash(s[pe]));const $=`${u}/${h}D${O.join("/")}M${p.join("/")}I${W.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[$]){const pe=function(n,e){const{vs:t,fs:i}=e,r=voe(e.modules||[]);return{gl:n,vs:aU(n,Object.assign({},e,{source:t,type:D0,modules:r})),fs:aU(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:Hoe(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[$]=new wU(this.gl,{hash:$,vs:pe.vs,fs:pe.fs,varyings:o,bufferMode:a}),this._getUniforms[$]=pe.getUniforms||(Re=>{}),this._useCounts[$]=0}return this._useCounts[$]++,this._programCache[$]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":_0.chrome?"Chrome":_0.safari?"Safari":_0.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ha(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ha.MAX_ATTRIBUTES=Ha.MAX_ATTRIBUTES||e.getParameter(34921),Ha.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ha._setConstantFloatArray(e,t,i);break;case Int32Array:Ha._setConstantIntArray(e,t,i);break;case Uint32Array:Ha._setConstantUintArray(e,t,i);break;default:tn(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ha.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return tn(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:u}=i,{gl:h,gl2:p}=this;return e=Number(e),this.bind(()=>{h.bindBuffer(34962,t.handle),c?(tn(Si(h)),p.vertexAttribIPointer(e,r,s,o,a)):h.vertexAttribPointer(e,r,s,l,o,a),h.enableVertexAttribArray(e),p.vertexAttribDivisor(e,u||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ha.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new hr(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!OS||OS.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const $ae=/^(.+)__LOCATION_([0-9]+)$/,Wae=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class qae{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ha(e),rV(this,"VertexArray","v6.0",Wae),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new hr(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,mn.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const u=ma.resolve(l.accessor,this.accessors[o]||{},i,r),{size:h,type:p}=u;return tn(Number.isFinite(h)&&Number.isFinite(p)),{location:o,accessor:u}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=$ae.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof hr)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof hr)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof hr))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof hr){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return mn.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function P0(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=P0(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function EU(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,u,h,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof hr){const p=e,{data:g,changed:m}=p.getDebugData();let D;return u=m?"*":"",h=g,l=p.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?D=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${ah(r,s)})`:(c=!0,D=`${l} bytes`),{[i]:`${u}${P0(h,{size:o,isInteger:c})}`,"Format ":D}}return h=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${P0(h,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function Xae(n,e){const{type:t,size:i}=e,r=bU(t,i);return r?`${n} (${r.name})`:n}function SU({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){tn(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const p of l)!p.match(".*_.*")&&!p.match(s)&&UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)p.match(s)&&UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;for(const p of l)a[p]||UI({table:a,header:n,uniforms:t,uniformName:p,undefinedOnly:i})&&c++;let u=0;const h={};if(!i)for(const p in t){const g=t[p];a[p]||(u++,h[p]={Type:`NOT USED: ${g}`,[n]:P0(g)})}return{table:a,count:c,unusedTable:h,unusedCount:u}}function UI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?P0(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function xU(n){const{type:e,size:t}=n.accessor,i=bU(e,t);return i?`${i.name} ${n.name}`:n.name}const Jae={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function tle(n,e){const{attributeMap:t=Jae}=e||{};return t&&t[n]||n}function nle(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}tn(Number.isFinite(e.size),`attribute ${n} needs size`)}const CU=()=>{},sle={};class Yg{constructor(e,t={}){const{id:i=ga("model")}=t;tn(pS(e)),this.id=i,this.gl=e,this.id=t.id||ga("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||N0.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},tn(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return tn(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return tn(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=tle(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=at({},o);delete c.value,i[a]=[new hr(n,l),c],nle(s,c)}}if(r){const s=r.value||r;tn(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new hr(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(Vg(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return hI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),mn.priority>=2&&(c=this._logDrawCallStart(2));const u=this.vertexArray.getDrawParams(),{isIndexed:h=u.isIndexed,indexType:p=u.indexType,indexOffset:g=u.indexOffset,vertexArrayInstanced:m=u.isInstanced}=this.props;m&&!this.isInstanced&&mn.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:D,instanceCount:O}=this,{onBeforeRender:W=CU,onAfterRender:$=CU}=this.props;W(),this.program.setUniforms(this.uniforms);const pe=this.program.draw(Object.assign(sle,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:h,indexType:p,isInstanced:D,instanceCount:O,offset:h?g:0}));return $(),mn.priority>=2&&this._logDrawCallEnd(c,l,i),pe}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return mn.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}tn(t instanceof wU,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new qae(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof hr&&t.delete()}}_setAnimationProps(e){this.animated&&tn(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(Vg(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new YV(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:mn.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=EU(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${Xae(s.name,a)}`),t[o]=EU(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=SU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:u}=SU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});u>0&&mn.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&mn.log("UNUSED UNIFORMS",Object.keys(a))();const h=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${xU(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${xU(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);mn.table(e,s)(),mn.table(e,o)(),mn.table(e+1,h)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),mn.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class zI{static isSupported(e){return Si(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();tn(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Yg(t,Object.assign({},e,{fs:e.fs||qV({version:KV(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(Vg(n.feedbackBuffers)&&Vg(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new eoe(e,t)),function(n){return!(Vg(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new poe(e,t)),tn(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function RS(){}const lle={onStart:RS,onUpdate:RS,onInterrupt:RS,onEnd:RS};class F0{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=at(at({},lle),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const mle={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new F0(i),this.attribute=t,this.attributeInTransition=new CI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=zV(e.size);return new zI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new hr(e,r),new hr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;HV(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)GV(at({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=xI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:UV(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new F0(i),this.attribute=t,this.attributeInTransition=new CI(e,Cn(at({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new _a(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new Fs(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=zV(e.size);return new zI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new hr(e,r),new hr(e,r),new hr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)GV(at({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=xI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:UV(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),HV(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),_S(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class _le{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=zI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void Ri.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=mle[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(Ri.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const AU="attributeManager.invalidate";class Sle{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new _le(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;To("attribute.updateStart",t),t.allocate(i)&&To("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,To("attribute.updateEnd",t,i))}}function MU(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function DU(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=VV(r)))return;const o=Tle[r.type];if(!o)return void Ri.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(Cn(at({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const NS={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:Dle}=NS;function Rle(n,e){if(!n.transitions)return null;const t={},i=GI(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&HI(n[r],e[r],s)&&(t[r]=!0)}return t}function IU({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=HI(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=HI(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function HI(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function Fle(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!Ule(i[r],e[r])){t=n(i),e=i;break}return t}}function zle(n,e){if(!e)return n;const t=at(at({},n),e);if("defines"in e&&(t.defines=at(at({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=at({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function $I(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],p=e[10],g=e[11],m=e[12],D=e[13],O=e[14],W=e[15],$=t*a-i*o,pe=t*l-r*o,Re=t*c-s*o,Ve=i*l-r*a,We=i*c-s*a,rt=r*c-s*l,wt=u*D-h*m,vt=u*O-p*m,At=u*W-g*m,Bt=h*O-p*D,$t=h*W-g*D,mt=p*W-g*O,yt=$*mt-pe*$t+Re*Bt+Ve*At-We*vt+rt*wt;return yt?(n[0]=(a*mt-l*$t+c*Bt)*(yt=1/yt),n[1]=(r*$t-i*mt-s*Bt)*yt,n[2]=(D*rt-O*We+W*Ve)*yt,n[3]=(p*We-h*rt-g*Ve)*yt,n[4]=(l*At-o*mt-c*vt)*yt,n[5]=(t*mt-r*At+s*vt)*yt,n[6]=(O*Re-m*rt-W*pe)*yt,n[7]=(u*rt-p*Re+g*pe)*yt,n[8]=(o*$t-a*At+c*wt)*yt,n[9]=(i*At-t*$t-s*wt)*yt,n[10]=(m*We-D*Re+W*$)*yt,n[11]=(h*Re-u*We-g*$)*yt,n[12]=(a*vt-o*Bt-l*wt)*yt,n[13]=(t*Bt-i*vt+r*wt)*yt,n[14]=(D*pe-m*Ve-O*$)*yt,n[15]=(u*Ve-h*pe+p*$)*yt,n):null}function Pf(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=e[9],g=e[10],m=e[11],D=e[12],O=e[13],W=e[14],$=e[15],pe=t[0],Re=t[1],Ve=t[2],We=t[3];return n[0]=pe*i+Re*a+Ve*h+We*D,n[1]=pe*r+Re*l+Ve*p+We*O,n[2]=pe*s+Re*c+Ve*g+We*W,n[3]=pe*o+Re*u+Ve*m+We*$,n[4]=(pe=t[4])*i+(Re=t[5])*a+(Ve=t[6])*h+(We=t[7])*D,n[5]=pe*r+Re*l+Ve*p+We*O,n[6]=pe*s+Re*c+Ve*g+We*W,n[7]=pe*o+Re*u+Ve*m+We*$,n[8]=(pe=t[8])*i+(Re=t[9])*a+(Ve=t[10])*h+(We=t[11])*D,n[9]=pe*r+Re*l+Ve*p+We*O,n[10]=pe*s+Re*c+Ve*g+We*W,n[11]=pe*o+Re*u+Ve*m+We*$,n[12]=(pe=t[12])*i+(Re=t[13])*a+(Ve=t[14])*h+(We=t[15])*D,n[13]=pe*r+Re*l+Ve*p+We*O,n[14]=pe*s+Re*c+Ve*g+We*W,n[15]=pe*o+Re*u+Ve*m+We*$,n}function FS(n,e,t){var o,a,l,c,u,h,p,g,m,D,O,W,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],u=e[4],h=e[5],p=e[6],g=e[7],m=e[8],D=e[9],O=e[10],W=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=p,n[7]=g,n[8]=m,n[9]=D,n[10]=O,n[11]=W,n[12]=o*i+u*r+m*s+e[12],n[13]=a*i+h*r+D*s+e[13],n[14]=l*i+p*r+O*s+e[14],n[15]=c*i+g*r+W*s+e[15]),n}function kS(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function RU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],p=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+u*i,n[6]=a*r+h*i,n[7]=l*r+p*i,n[8]=c*r-s*i,n[9]=u*r-o*i,n[10]=h*r-a*i,n[11]=p*r-l*i,n}function NU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],p=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+u*i,n[2]=a*r+h*i,n[3]=l*r+p*i,n[4]=c*r-s*i,n[5]=u*r-o*i,n[6]=h*r-a*i,n[7]=p*r-l*i,n}function FU(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function LS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}function kU(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return n[0]=u*c+g*-o+h*-l-p*-a,n[1]=h*c+g*-a+p*-o-u*-l,n[2]=p*c+g*-l+u*-a-h*-o,n[3]=e[3],n}!function(){var n=new ya(4);ya!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const LU=[0,0,0,0],fce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],pce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],gce=[0,0,0],mce=[0,0,0],_ce=PS(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=LU,l=LU,c=n.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:p}=BU(n,e,t);return p&&(l=n.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=LS([],l,o),s=i||s,o=Pf([],r,s),o=Pf([],o,fce)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(n,t,i),u=n.getDistanceScales(),h=[n.width*e,n.height*e],p=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:p,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:gce,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const m=n.getDistanceScales(c);switch(t){case ji.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerMeter2;break;case ji.LNGLAT:case ji.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerDegree2;break;case ji.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,m.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,m.unitsPerMeter2[2]]}}return g});function BU(n,e,t=mce){let r,i=t,s=!0;switch(r=e===ji.LNGLAT_OFFSETS||e===ji.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Kc.WEB_MERCATOR:(e===ji.LNGLAT||e===ji.CARTESIAN)&&(s=!1);break;case Kc.WEB_MERCATOR_AUTO_OFFSET:e===ji.LNGLAT?i=r:e===ji.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Kc.IDENTITY:i=n.position.map(Math.fround);break;case Kc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class wce extends bS{get ELEMENTS(){return Yu(!1),0}get RANK(){return Yu(!1),0}toString(){let e="[";if(Or.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new qn).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],u=n[9],h=n[10],p=n[11],g=n[12],m=n[13],D=n[14],O=n[15];return(e*o-t*s)*(h*O-p*D)-(e*a-i*s)*(u*O-p*m)+(e*l-r*s)*(u*D-h*m)+(t*a-i*o)*(c*O-p*g)-(t*l-r*o)*(c*D-h*g)+(i*l-r*a)*(c*m-u*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return $I(this,this),this.check()}multiplyLeft(e){return Pf(this,e,this),this.check()}multiplyRight(e){return Pf(this,this,e),this.check()}rotateX(e){return RU(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],p=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-u*i,n[2]=a*r-h*i,n[3]=l*r-p*i,n[8]=s*i+c*r,n[9]=o*i+u*r,n[10]=a*i+h*r,n[11]=l*i+p*r}(this,this,e),this.check()}rotateZ(e){return NU(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,u,h,p,g,m,D,O,W,$,pe,Re,Ve,We,rt,wt,vt,At,Bt,$t,mt,yt,Ut,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const WI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function Xu(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const gc=Math.PI,GU=gc/4,mc=gc/180,qI=180/gc,YI=4003e4,jS=85.051129;function VS([n,e]){return Xu(Number.isFinite(n)),Xu(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*mc+gc)/(2*gc),512*(gc+Math.log(Math.tan(GU+e*mc*.5)))/(2*gc)]}function Zg([n,e]){const t=n/512*(2*gc)-gc,i=2*(Math.atan(Math.exp(e/512*(2*gc)-gc))-GU);return[t*qI,i*qI]}function KI({latitude:n,longitude:e,highPrecision:t=!1}){Xu(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*mc),o=512/360,a=o/s,l=512/YI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=mc*Math.tan(n*mc)/s,h=512/YI*c,p=h/a*l;i.unitsPerDegree2=[0,o*c/2,h],i.unitsPerMeter2=[p,0,p]}return i}function $U(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=KI({longitude:t,latitude:i,highPrecision:!0}),u=VS(n);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=Zg(u),p=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],p]:h}function qU(n){return 2*Math.atan(.5/n)*qI}function YU(n,e){const[t,i,r=0]=n;return Xu(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Qg(e,[t,i,r,1])}function L0(n,e,t=0){const[i,r,s]=n;if(Xu(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Qg(e,[i,r,s,1]);const o=Qg(e,[i,r,0,1]),a=Qg(e,[i,r,1,1]),l=o[2],c=a[2];return VU([],o,a,l===c?0:((t||0)-l)/(c-l))}const KU=Math.PI/180;function XU(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Qg(i,[e,0,1,1]),s=Qg(i,[e,n.height,1,1]),c=Zg(VU([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const Bce=Math.PI/180,jce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],QI=[0,0,0],Uce={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Jg=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Kc.WEB_MERCATOR:Kc.WEB_MERCATOR_AUTO_OFFSET:Kc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&C0(t.projectionMatrix,this.projectionMatrix)&&C0(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=YU(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,u=L0([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[h,p,g]=this.unprojectPosition(u);return Number.isFinite(a)?[h,p,g]:Number.isFinite(r)?[h,p,r]:[h,p]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?VS(t):t}unprojectFlat(t){return this.isGeospatial?Zg(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?KI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Jg{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:u=!1,repeat:h=!1,worldOffset:p=0}=t;let{width:g,height:m,altitude:D=1.5}=t;const O=Math.pow(2,s);g=g||1,m=m||1,D=Math.max(.75,D);const{fov:W,aspect:$,focalDistance:pe,near:Re,far:Ve}=function({width:n,height:e,fovy:t=qU(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=qU(i));const a=.5*t*mc,l=function(n){return.5/Math.tan(.5*n*mc)}(t),c=r*mc,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:g,height:m,pitch:o,altitude:D,nearZMultiplier:l,farZMultiplier:c});let We=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return FS(o,o,[0,0,-i]),RU(o,o,-e*mc),NU(o,o,t*mc),kS(o,o,[r/=n,r,r]),s&&FS(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:m,pitch:o,bearing:a,scale:O,altitude:D});p&&(We=(new qn).translate([512*p,0,0]).multiplyLeft(We)),super(Cn(at({},t),{width:g,height:m,viewMatrix:We,longitude:r,latitude:i,zoom:s,orthographic:u,fovyRadians:W,aspect:$,focalDistance:pe,near:Re,far:Ve})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=D,this.orthographic=u,this._subViewports=h?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(Cn(at({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return $U(t,i)}panByPosition(t,i){const r=L0(i,this.pixelUnprojectionMatrix),o=BS([],this.projectFlat(t),jU([],r)),a=BS([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*KU:Math.atan(.5/n.altitude))>(90-n.pitch)*KU-.01?(l=XU(n,0,e),c=XU(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:Xu(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=VS([a,HU(u,-jS,jS)]),p=VS([c,HU(l,-jS,jS)]),g=[Math.max(Math.abs(p[0]-h[0]),i),Math.max(Math.abs(p[1]-h[1]),i)],m=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];Xu(m[0]>0&&m[1]>0);const D=m[0]/g[0],O=m[1]/g[1],Re=Zg([(p[0]+h[0])/2+(s.right-s.left)/2/D,(p[1]+h[1])/2+(s.bottom-s.top)/2/O]),Ve=Math.min(r,WI(Math.abs(Math.min(D,O))));return Xu(Number.isFinite(Ve)),{longitude:Re[0],latitude:Re[1],zoom:Ve}}(at({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function ZI(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof t4){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function n4(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=LS([],[o,a,l,1],t)),i){case ji.LNGLAT:return ZI([o,a,l],e,s);case ji.LNGLAT_OFFSETS:return ZI([o+r[0],a+r[1],l+(r[2]||0)],e,s);case ji.METER_OFFSETS:return ZI($U(r,[o,a,l]),e,s);case ji.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const Gce={10241:9987,10240:9729,10242:33071,10243:33071},JI={},qce={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||j0(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>eO(n,e)},accessor:{validate(n,e){const t=US(n);return"function"===t||t===US(e.value)},equal:(n,e,t)=>"function"==typeof e||eO(n,e)},array:{validate:(n,e)=>e.optional&&!n||j0(n),equal:(n,e,t)=>t.compare?eO(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof _a)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new _a(t,Cn(at({},e),{parameters:at(at(at({},Gce),i),n.props.textureParameters)}));return JI[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof _a)||JI[n.id]&&(n.delete(),delete JI[n.id])}(n)}}};function eO(n,e){if(n===e)return!0;if(!j0(n)||!j0(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=oue,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[rue]||{},i=e[iue]||e,r=e[sue]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(BV(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return oi(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var h,c=!0,u=!1;try{for(var g,m,p=nO(t);c=(g=yield p.next()).done,m=yield g.value,!c;c=!0){const O=m,{dataTransform:W}=i.component?i.component.props:{};a=W?W(O,a):a.concat(O),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(O){u=!0,h=O}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(u)throw h}}const D=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;D&&D(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:o4,ASYNC_RESOLVED:a4,ASYNC_DEFAULTS:aue}=NS,lue={};let cue=0,uue=(()=>{class n{constructor(){this.props=Xce.apply(this,arguments),this.id=this.props.id,this.count=cue++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[aue])s in i[a4]?r[s]=i[a4][s]:s in i[o4]&&(r[s]=i[o4][s]);return new this.constructor(at(at(at({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new s4({})}}return n.componentName="Component",n.defaultProps=lue,n})();class due extends s4{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const _c=n=>"function"==typeof n,uh=n=>null!==n&&"object"==typeof n,c4=n=>uh(n)&&n.constructor==={}.constructor,hue=n=>n&&"function"==typeof n[Symbol.iterator],fue=n=>n&&"function"==typeof n[Symbol.asyncIterator],U0=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,em=n=>"undefined"!=typeof Blob&&n instanceof Blob,u4=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||uh(n)&&_c(n.tee)&&_c(n.cancel)&&_c(n.getReader))(n)||(n=>uh(n)&&_c(n.read)&&_c(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function Ff(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function iO(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function rO(n){var e,t;let i;return Ff(n,"null loader"),Ff(iO(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=Cn(at({},n=n[0]),{options:at(at({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const Zc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},sO=Zc.global||Zc.self||Zc.window||{},bue="object"!=typeof process||"[object process]"!==String(process)||process.browser,d4="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);d4&&parseFloat(d4[1]);const aO={};function vue(n){for(const e in aO)n.startsWith(e)&&(n=n.replace(e,aO[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const wue=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Eue=/^([-\w.]+\/[-\w.+]+)/;function Sue(n){const e=Eue.exec(n);return e?e[1]:n}function h4(n){const e=wue.exec(n);return e?e[1]:""}const xue=/\?.*/;function $S(n){if(U0(n)){const e=lO(n.url||"");return{url:e,type:Sue(n.headers.get("content-type")||"")||h4(e)}}return em(n)?{url:lO(n.name||""),type:n.type||""}:"string"==typeof n?{url:lO(n),type:h4(n)}:{url:"",type:""}}function Cue(n){return U0(n)?n.headers["content-length"]||-1:em(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function lO(n){return n.replace(xue,"")}function f4(n){return cO.apply(this,arguments)}function cO(){return(cO=oi(function*(n){if(U0(n))return n;const e={},t=Cue(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=$S(n);r&&(e["content-type"]=r);const s=yield Mue(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function Aue(n){return uO.apply(this,arguments)}function uO(){return(uO=oi(function*(n){if(!n.ok){const e=yield Tue(n);throw new Error(e)}})).apply(this,arguments)}function Tue(n){return dO.apply(this,arguments)}function dO(){return(dO=oi(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function Mue(n){return hO.apply(this,arguments)}function hO(){return(hO=oi(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${Due(n.slice(0,5))}`:null})).apply(this,arguments)}function Due(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const m4={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){Kn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},Rue={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function pO(){sO.loaders=sO.loaders||{};const{loaders:n}=sO;return n._state=n._state||{},n._state}const gO=()=>{const n=pO();return n.globalOptions=n.globalOptions||at({},m4),n.globalOptions};function Nue(n,e,t,i){return t=t||[],function(n,e){y4(n,null,m4,Rue,e);for(const t of e)y4(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=at({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new Iue),v4(r,gO()),v4(r,e),r}(e,n,i)}function _4(n,e){const t=gO(),i=n||t;return"function"==typeof i.fetch?i.fetch:uh(i.fetch)?r=>p4(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:p4}function y4(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&uh(n[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in t)&&!c&&!u)if(a in i)g4.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const h=Fue(a,r);g4.warn(`${s} loader option '${o}${a}' not recognized. ${h}`)()}}}function Fue(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function v4(n,e){for(const t in e)t in e&&(n[t]=c4(e[t])&&c4(n[t])?at(at({},n[t]),e[t]):e[t])}function Jc(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function Bue(n,e="3.0.12"){return Jc(n,"no worker provided"),!(!e||!n.version)}const eu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},jue=eu.global||eu.self||eu.window||{},mO="object"!=typeof process||"[object process]"!==String(process)||process.browser,_O="function"==typeof importScripts,Vue="undefined"!=typeof window&&void 0!==window.orientation,w4="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),yO=(w4&&parseFloat(w4[1]),new Map);function E4(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function S4(n,e=!0,t){const i=t||new Set;if(n)if(x4(n))i.add(n);else if(x4(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)S4(n[r],e,i);return void 0===t?Array.from(i):[]}function x4(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const bO=()=>{};class C4{static isSupported(){return"undefined"!=typeof Worker}constructor(e){Kn(this,"name",void 0),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"terminated",!1),Kn(this,"worker",void 0),Kn(this,"onMessage",void 0),Kn(this,"onError",void 0),Kn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;Jc(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=bO,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=bO,this.onError=bO,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||S4(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){Jc(n.source&&!n.url||!n.source&&n.url);let e=yO.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?E4(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),yO.set(n.url,e)),n.source&&(e=E4(n.source),yO.set(n.source,e))),Jc(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class Gue{constructor(e,t){Kn(this,"name",void 0),Kn(this,"workerThread",void 0),Kn(this,"isRunning",void 0),Kn(this,"result",void 0),Kn(this,"_resolve",void 0),Kn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){Jc(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){Jc(this.isRunning),this.isRunning=!1,this._reject(e)}}class $ue{constructor(e){Kn(this,"name","unnamed"),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"maxConcurrency",1),Kn(this,"maxMobileConcurrency",1),Kn(this,"onDebug",()=>{}),Kn(this,"reuseWorkers",!0),Kn(this,"props",{}),Kn(this,"jobQueue",[]),Kn(this,"idleQueue",[]),Kn(this,"count",0),Kn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=at(at({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return oi(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return oi(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new Gue(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class Qu{static isSupported(){return C4.isSupported()}static getWorkerFarm(e={}){return Qu._workerFarm=Qu._workerFarm||new Qu({}),Qu._workerFarm.setProps(e),Qu._workerFarm}constructor(e){Kn(this,"props",void 0),Kn(this,"workerPools",new Map),this.props=at({},Wue),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=at(at({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new $ue({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function Yue(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return Jc(r),r}function Kue(n,e){return!!Qu.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function Xue(n,e,t,i,r){return vO.apply(this,arguments)}function vO(){return(vO=oi(function*(n,e,t,i,r){const s=n.id,o=Yue(n,t),l=Qu.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",Que.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function Que(n,e,t,i){return wO.apply(this,arguments)}function wO(){return(wO=oi(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}Kn(Qu,"_workerFarm",void 0);var T4=Je(521);function M4(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return T4.toArrayBuffer?T4.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function tde(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function D4(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function nde(n){return SO.apply(this,arguments)}function SO(){return(SO=oi(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=nO(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return tde(...e)})).apply(this,arguments)}const sde=262144;function I4(n){this.wrapped=n}function z0(n){return new I4(n)}function H0(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,u=c instanceof I4;Promise.resolve(u?c.wrapped:c).then(function(h){u?r("return"===o?"return":"next",h):s(l.done?"return":"normal",h)},function(h){r("throw",h)})}catch(h){s("throw",h)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var u={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=u:(e=t=u,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function CO(n){return function(){return new H0(n.apply(this,arguments))}}function AO(){return(AO=CO(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(DO)}function fde(n,e,t){return IO.apply(this,arguments)}function IO(){return(IO=oi(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return hde(n,e);if(em(n)&&(n=yield f4(n)),U0(n)){const r=n;return yield Aue(r),e.binary?yield r.arrayBuffer():yield r.text()}if(u4(n)&&(n=dde(n,t)),hue(n)||fue(n))return nde(n);throw new Error(DO)})).apply(this,arguments)}function gde(n,e,t=null){if(t)return t;const i=at({fetch:_4(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function mde(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const R4=()=>{const n=pO();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function N4(n){const e=R4();n=Array.isArray(n)?n:[n];for(const t of n){const i=rO(t);e.find(r=>i===r)||e.unshift(i)}}const yde=/\.([^.]+)$/;function bde(n){return NO.apply(this,arguments)}function NO(){return(NO=oi(function*(n,e=[],t,i){if(!F4(n))return null;let r=P4(n,e,Cn(at({},t),{nothrow:!0}),i);if(r)return r;if(em(n)&&(r=P4(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(k4(n));return r})).apply(this,arguments)}function P4(n,e=[],t,i){if(!F4(n))return null;if(e&&!Array.isArray(e))return rO(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...R4()),function(n){for(const e of n)rO(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=$S(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=PO(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&yde.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||PO(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(Cde(e,t))return t}else if(ArrayBuffer.isView(e)){if(L4(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&L4(e,0,t))return t;return null}(e,n),a=a||PO(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(k4(n));return s}function F4(n){return!(n instanceof Response&&204===n.status)}function k4(n){const{url:e,type:t}=$S(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?FO(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?FO(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function PO(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function Cde(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function L4(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let tu=new Uint8ClampedArray(0);const kde={data:{type:"data",value:Pde,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=Cn(at({},r),{fetch:Cn(at({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:G0(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):G0(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:ji.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let $0=(()=>{class n extends uue{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=n4(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=YU(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=at({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===ji.DEFAULT&&(t=i.isGeospatial?ji.LNGLAT:ji.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=BU(t,i,r),h=n4(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(h,h,t.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===ji.DEFAULT||t===ji.LNGLAT||t===ji.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){pc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=zle(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const u of c)o.invalidateAll(u);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:u}=o.attributes,h=c||u;h&&(l&&h.constant&&(h.constant=!1,o.invalidate(h.id)),!h.value&&!l&&(h.constant=!0,h.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!Fde({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(tu.length/3);if(this.internalState.usesPickingColorCache=!0,rB4&&Ri.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),tu=x0.allocate(tu,i,{size:3,copy:!0,maxCount:Math.max(i,B4)});const s=Math.floor(tu.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const u of this.props.extensions)u.draw.call(this,c,u);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&To("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=IU({newProps:n,oldProps:e,propTypes:GI(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&OU(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&OU(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:Fle(n,e),transitionsChanged:Rle(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=GI(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new Sle(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){pc(!this.internalState&&!this.state),pc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new due({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Ri.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new Mle(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){To("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=kde,n})(),j4=(()=>{class n extends $0{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:p,wrapLongitude:g,positionFormat:m,modelMatrix:D,extensions:O,fetch:W,_subLayerProps:$}=this.props,pe={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:p,wrapLongitude:g,positionFormat:m,modelMatrix:D,extensions:O,fetch:W},Re=$&&$[t.id],Ve=Re&&Re.updateTriggers,We=t.id||"sublayer";if(Re){const rt=this.constructor._propTypes,wt=t.type?t.type._propTypes:{};for(const vt in Re){const At=wt[vt]||rt[vt];At&&"accessor"===At.type&&(Re[vt]=this.getSubLayerAccessor(Re[vt]))}}Object.assign(pe,t,Re),pe.id="".concat(this.props.id,"-").concat(We),pe.updateTriggers=at(at({all:this.props.updateTriggers.all},t.updateTriggers),Ve);for(const rt of O){const wt=rt.getSubLayerProps.call(this,rt);wt&&Object.assign(pe,wt,{updateTriggers:Object.assign(pe.updateTriggers,wt.updateTriggers)})}return pe}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=EI(t,Boolean),this.internalState.subLayers=t),To("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const Bde=/([0-9]+\.?[0-9]*)(%|px)/;function qS(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(Bde);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function YS(n,e){return n.relative?Math.round(n.position*e):n.position}function W0(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&W0(i,r)))return!1}return!0}class jO{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:u=1e3,modelMatrix:h=null,viewportInstance:p=null,type:g=Jg}=e;pc(!p||p instanceof Jg),this.viewportInstance=p,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=Cn(at({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:u,modelMatrix:h}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):W0(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=at({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:YS(this._x,e),y:YS(this._y,t),width:YS(this._width,e),height:YS(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),at(at({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(at(at(at({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=qS(e),this._y=qS(t),this._width=qS(i),this._height=qS(r)}}const q0=()=>{},V4={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:q0,onTransitionInterrupt:q0,onTransitionEnd:q0};class jde{constructor(e,t={}){this.ControllerState=e,this.props=at(at({},V4),t),this.propsInTransition=null,this.transition=new F0(t.timeline),this.onViewStateChange=t.onViewStateChange||q0,this.onStateChange=t.onStateChange||q0,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=at(at({},V4),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=at(at({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(at(at({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const U4=["longitude","latitude","zoom","bearing","pitch"],Ude=["longitude","latitude","zoom"];class z4 extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!C0(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];pc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:U4,extract:U4,required:Ude}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=yS(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(at(at({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,yS(e.around,t.around,i)))}return r}}const dh={transitionDuration:0},zde={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},XS=n=>1-(1-n)*(1-n),tm_WHEEL=["wheel"],tm_PAN=["panstart","panmove","panend"],tm_PINCH=["pinchstart","pinchmove","pinchend"],tm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],tm_DOUBLE_TAP=["doubletap"],tm_KEYBOARD=["keydown"];class VO{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new jde(e,Cn(at({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&Cn(at({},zde),{transitionInterpolator:new z4({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(at(at({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,u=Boolean(this.onViewStateChange);this.toggleEvents(tm_WHEEL,u&&i),this.toggleEvents(tm_PAN,u&&(r||s)),this.toggleEvents(tm_PINCH,u&&(a||l)),this.toggleEvents(tm_TRIPLE_PAN,u&&l),this.toggleEvents(tm_DOUBLE_TAP,u&&o),this.toggleEvents(tm_KEYBOARD,u&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=at(at({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,dh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,Cn(at({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:XS}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,Cn(at({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:XS}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,Cn(at({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,dh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,dh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,Cn(at({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:XS}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,dh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,dh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,Cn(at({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:XS}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?Cn(at({},t),{transitionInterpolator:new z4(Cn(at({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:dh}}class H4{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const hh_target=[0,0,0];class QS extends H4{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=hh_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:u=-(1/0),maxZoom:h=Infinity,startPanPosition:p,startRotatePos:g,startRotationX:m,startRotationOrbit:D,startZoomPosition:O,startZoom:W}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:u,maxZoom:h}),this._state={startPanPosition:p,startRotatePos:g,startRotationX:m,startRotationOrbit:D,startZoomPosition:O,startZoom:W},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let u=(e[0]-r[0])/a;(s<-90||s>90)&&(u*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*u}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=at({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(Cn(at({},this._viewportProps),{zoom:a}));return this._getUpdatedState(at({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),Va(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new QS(at(at(at({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=Va(r,i,t),e.rotationX=Va(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class Gde extends VO{constructor(e){super(QS,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class $de extends VO{constructor(e){e.dragMode=e.dragMode||"pan",super(QS,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const Wde=(new qn).lookAt({eye:[0,0,1]});function qde({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new qn).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class Yde extends Jg{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(Cn(at({},e),{longitude:null,position:a,viewMatrix:Wde.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:qde({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=BS([],e,jU([],L0(t,this.pixelUnprojectionMatrix)));return{target:BS([],this.center,r)}}}let Kde=(()=>{class n extends jO{constructor(t){super(Cn(at({},t),{type:Yde}))}get controller(){return this._getControllerProps({type:$de})}}return n.displayName="OrthographicView",n})();const ZS=Math.PI/180;function Xde({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*ZS/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new qn).lookAt({eye:l,up:a});c.rotateX(i*ZS),"Z"===t?c.rotateZ(r*ZS):c.rotateY(r*ZS);const u=Math.pow(2,s)/(n||1);return c.scale(u),c}class Qde extends Jg{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(Cn(at({},e),{longitude:null,viewMatrix:Xde({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=L0([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let Zde=(()=>{class n extends jO{constructor(t={}){const{orbitAxis:i="Z"}=t;super(Cn(at({},t),{orbitAxis:i,type:Qde}))}get controller(){return this._getControllerProps({type:Gde})}}return n.displayName="OrbitView",n})();const Jde=[255,255,255],ehe=1;let the=0;class G4{constructor(e={}){const{color:t=Jde}=e,{intensity:i=ehe}=e;this.id=e.id||"ambient-".concat(the++),this.color=t,this.intensity=i,this.type="ambient"}}const nhe=[255,255,255],ihe=1,rhe=[0,0,-1];let she=0;class $4{constructor(e={}){const{color:t=nhe}=e,{intensity:i=ihe}=e,{direction:r=rhe}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(she++),this.color=t,this.intensity=i,this.type="directional",this.direction=new Ao(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class W4{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=at({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class UO extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=at({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return $u(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){$u(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,u=i&&i[c.id];r(c);const h=this._getDrawLayerParams(c,e);e.view=u;const p=c.subViewports||[c];for(const g of p){e.viewport=g;const m=this._drawLayersInViewport(o,e,h);a.push(m)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=q4(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let u=0;uhI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};$u(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const u=t[l]=t[l]||q4(e[l],e);c=u(r,s),t[a]=u}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class che extends UO{constructor(e,t){super(e,t),this.shadowMap=new _a(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new zg(e,{format:33189,width:1,height:1}),this.fbo=new Fs(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;fc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=jg(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(Cn(at({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const dhe=Object.keys(ji).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(ji[n],";")).join(""),hhe=Object.keys(Kc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Kc[n],";")).join(""),fhe="".concat(dhe,"\n").concat(hhe,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),phe={},zO={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:fhe,getUniforms:function(n=phe){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=ji.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===ji.DEFAULT&&(i=n.isGeospatial?ji.LNGLAT:ji.CARTESIAN);const o=_ce({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||pce,o}(n):{}}},yhe=PS(function({viewport:n,center:e}){return new qn(n.viewProjectionMatrix).invert().transform(e)}),bhe=PS(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=L0([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new Ao(n.center).negate()),l=s.map(u=>a.transform(u)),c=(new qn).ortho({left:Math.min(...l.map(u=>u[0])),right:Math.max(...l.map(u=>u[0])),bottom:Math.min(...l.map(u=>u[1])),top:Math.max(...l.map(u=>u[1])),near:Math.min(...l.map(u=>-u[2])),far:Math.max(...l.map(u=>-u[2]))});t.push(c.multiplyRight(o))}return t}),vhe=[0,0,0,1],whe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],HO={name:"shadow",dependencies:[zO],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||vhe,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=yhe({viewport:n.viewport,center:e.project_uCenter}),r=[],s=bhe({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},Ahe={color:[255,255,255],intensity:1},Y4=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],The=[0,0,0,200/255];class GO extends W4{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=The,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=N0.getDefaultProgramManager(e),HO&&this.programManager.addDefaultModule(HO)),this.dummyShadowMap||(this.dummyShadowMap=new _a(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(HO),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new qn).lookAt({eye:new Ao(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=Dhe++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class Ihe{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=G0(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class Ohe{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new Ihe(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const Rhe=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},zO],Nhe=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function Phe(n){const e=N0.getDefaultProgramManager(n);for(const t of Rhe)e.addDefaultModule(t);for(const t of Nhe)e.addShaderHook(t);return e}const Lhe=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class Bhe{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new Ohe({gl:e,protocol:"deck://"}),this.context=Cn(at({},Lhe),{layerManager:this,gl:e,deck:t,programManager:e&&Phe(e),stats:i||new sI({id:"deck.gl"}),viewport:r||new Jg({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new K4,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){To("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=EI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return To("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?Ri.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&Ri.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class jhe{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=EI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!W0(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):Ri.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(at({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=Cn(at(at(at({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let u=r[a.id];a.controller&&!u&&(s=!0),(s||!a.controller)&&u&&(u.finalize(),u=null),this.controllers[a.id]=this._updateController(a,l,c,u),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class Uhe extends H4{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:u=20,minZoom:h=0,maxPitch:p=60,minPitch:g=0,startPanLngLat:m,startZoomLngLat:D,startRotatePos:O,startBearing:W,startPitch:$,startZoom:pe,normalize:Re}={}){pc(Number.isFinite(s)),pc(Number.isFinite(r)),pc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:u,minZoom:h,maxPitch:p,minPitch:g,normalize:Re}),this._state={startPanLngLat:m,startZoomLngLat:D,startRotatePos:O,startBearing:W,startPitch:$,startZoom:pe},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(Cn(at({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(Cn(at({},this._viewportProps),{zoom:o}));return this._getUpdatedState(at({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=at({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(at(at(at({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=Va(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=Va(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=zU(t+180,360)-180),(o<-180||o>180)&&(o=zU(o+180,360)-180);const a=WI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Zg([0,l])[1];if(iu&&(i=u)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Va(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=Va(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let u=0;return r>0?Math.abs(l-o)>5&&(u=r/(o-l)*1.2):r<0&&o>5&&(u=1-s/o),u=Math.min(1,Math.max(-1,u)),{deltaScaleX:c,deltaScaleY:u}}}class zhe extends VO{constructor(e){e.dragMode=e.dragMode||"pan",super(Uhe,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(at(at({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let Hhe=(()=>{class n extends jO{constructor(t){super(Cn(at({},t),{type:t4}))}get controller(){return this._getControllerProps({type:zhe})}}return n.displayName="MapView",n})();const Ghe=new GO;class $he{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!W0(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof GO)||this._internalEffects.push(Ghe)}}class Whe extends UO{}const Q4={blendFunc:[1,0,32771,0],blendEquation:32774};class Z4 extends UO{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:u},pass:h="picking",redrawReason:p,pickZ:g}){const m=this.gl;return this.pickZ=g,fc(m,Cn(at({scissorTest:!0,scissor:[a,l,c,u],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},Q4),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:h,redrawReason:p})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:Cn(at({},Q4),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return at(at({},e.props.parameters),i)}}class Yhe{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new Whe(e),this.pickLayersPass=new Z4(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||Fs.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(Cn(at({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,To("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new Fs(this.gl),new Fs(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const Khe={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function Xhe({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,p=0;for(let g=0;gu)p+=4*l;else for(let O=0;O=0){const $=O+o-t,pe=$*$+D;pe<=u&&(u=pe,h=p)}p+=4}}if(h>=0){const g=n[h+3]-1,m=n.slice(h,h+4),D=e[g];if(D){const O=D.decodePickingColor(m),W=Math.floor(h/4/l);return{pickedColor:m,pickedLayer:D,pickedObjectIndex:O,pickedX:o+(h/4-W*l),pickedY:a+W}}Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return Khe}function J4({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,u=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(p=>i({layer:l,viewport:p,isPicking:!0,renderPass:"picking:".concat(e)}))),h=u&&u.unproject([s-u.x,o-u.y],{targetZ:a});return{color:null,layer:null,viewport:u,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:h,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function Zhe(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const h=t.index,p=t.layerId,g=o&&o.props.id;if(g!==p||a!==h){if(g!==p){const m=r.find(D=>D.props.id===p);m&&l.unshift(m)}t.layerId=g,t.index=a,t.info=null}}const c=J4(n),u=new Map;return u.set(null,c),l.forEach(h=>{let p=at({},c);h===o&&(p.color=s,p.index=a,p.picked=!0),p=e5({layer:h,info:p,mode:i}),h===o&&"hover"===i&&(t.info=p),u.set(p.layer.id,p),"hover"===i&&p.layer.updateAutoHighlight(p)}),u}function e5({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class efe{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new Z4(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(p=>p.id===o):null,c=a&&r.find(p=>p.id===a)||r[0],u=c&&c.unproject([e-c.x,t-c.y]),h={x:e,y:t,viewport:c,coordinate:u,layer:l};return l?at(at({},s),h):Object.assign(h,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new Fs(e),Fs.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new Fs(e),this.depthFBO.attach({36064:new _a(e,{format:Si(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(Ri.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:u}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:J4({viewports:i,x:r,y:s})};this._resizeBuffer();const h=jg(this.gl),p=nI(this.gl,[r,s],!0),g=[p.x+Math.floor(p.width/2),p.y+Math.floor(p.height/2)],m=Math.round(o*h),{width:D,height:O}=this.pickingFBO,W=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:m,deviceWidth:D,deviceHeight:O});let $;const pe=[],Re={};for(let Ve=0;Ve=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:u,deviceRect:{x:g,y:W,width:D.x+D.width-g,height:m-W},pass:"picking:".concat(l),redrawReason:l}),layers:e}),Ve=new Map,We=Number.isFinite(c);for(let rt=0;rt=c);rt++){const wt=Re[rt];let vt={color:wt.pickedColor,layer:null,index:wt.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:h};vt=e5({layer:wt.pickedLayer,info:vt,mode:l}),Ve.has(vt.object)||Ve.set(vt.object,vt)}return Array.from(Ve.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:u,y:h,width:p,height:g}=s,m=new(l?Float32Array:Uint8Array)(p*g*4);return _S(c,{sourceX:u,sourceY:h,sourceWidth:p,sourceHeight:g,target:m}),m}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const tfe={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class nfe{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,tfe),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function t5(n,e){if(!n)throw new Error(e)}const nu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},n5=nu.global||nu.self||nu.window,rfe="object"!=typeof process||"[object process]"!==String(process)||process.browser,i5="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:sfe}=(i5&&parseFloat(i5[1]),n5),$O="undefined"!=typeof Image,WO="undefined"!=typeof ImageBitmap,ofe=Boolean(sfe),qO=!!rfe||ofe;function r5(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function s5(n){switch(r5(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const cfe=/^data:image\/svg\+xml/,ufe=/\.svg((\?|#).*)?$/;function YO(n){return n&&(cfe.test(n)||ufe.test(n))}function dfe(n,e){if(YO(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return a5(n,e)}function a5(n,e){if(YO(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function l5(n,e,t){return KO.apply(this,arguments)}function KO(){return(KO=oi(function*(n,e,t){const i=dfe(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield hfe(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function hfe(n,e){return XO.apply(this,arguments)}function XO(){return(XO=oi(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const ffe={};let c5=!0;function pfe(n,e,t){return QO.apply(this,arguments)}function QO(){return(QO=oi(function*(n,e,t){let i;i=YO(t)?yield l5(n,e,t):a5(n,t);const r=e&&e.imagebitmap;return yield gfe(i,r)})).apply(this,arguments)}function gfe(n){return ZO.apply(this,arguments)}function ZO(){return(ZO=oi(function*(n,e=null){if((mfe(e)||!c5)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),c5=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function mfe(n){for(const e in n||ffe)return!1;return!0}const iu=!1,Y0=!0;function JO(n){const e=K0(n);return function(n){const e=K0(n);return e.byteLength>=24&&2303741511===e.getUint32(0,iu)?{mimeType:"image/png",width:e.getUint32(16,iu),height:e.getUint32(20,iu)}:null}(e)||function(n){const e=K0(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,iu)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,iu)?{mimeType:"image/gif",width:e.getUint16(6,Y0),height:e.getUint16(8,Y0)}:null}(e)||function(n){const e=K0(n);return e.byteLength>=14&&16973===e.getUint16(0,iu)&&e.getUint32(2,Y0)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Y0),height:e.getUint32(22,Y0)}:null}(e)}function K0(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function Efe(n,e){const{mimeType:t}=JO(n)||{},{_parseImageNode:i}=n5;return t5(i),i(n,t,e)}function eR(){return(eR=oi(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(xfe(r)){case"imagebitmap":a=yield pfe(n,e,s);break;case"image":a=yield l5(n,e,s);break;case"data":a=yield Efe(n,e);break;default:t5(!1)}return"data"===r&&(a=s5(a)),a})).apply(this,arguments)}function xfe(n){switch(n){case"auto":case"data":return function(){if(WO)return"imagebitmap";if($O)return"image";if(qO)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return WO||$O||qO;case"imagebitmap":return WO;case"image":return $O;case"data":return qO;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const tR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return eR.apply(this,arguments)},tests:[n=>Boolean(JO(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var nm=Je(761);const Afe={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},X0="8.5.8",JS=nm.CO.deck&&nm.CO.deck.VERSION;if(JS&&JS!==X0)throw new Error("deck.gl - multiple versions detected: ".concat(JS," vs ").concat(X0));JS||(Ri.log(1,"deck.gl ".concat(X0))(),nm.CO.deck=Object.assign(nm.CO.deck||{},{VERSION:X0,version:X0,log:Ri,_registerLoggers:function(n){AI=n}}),N4([Afe,[tR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const Tfe=nm.CO.deck;class ex extends Wu{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=Si(e),r=vV(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:tn(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return ex.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const u5=mS()&&"undefined"!=typeof document;let Lfe=0;class Bfe{constructor(e={}){const{onCreateContext:t=(O=>eV(O)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:u=!1,createFramebuffer:h=!1,autoResizeViewport:p=!0,autoResizeDrawingBuffer:g=!0,stats:m=If.get("animation-loop-"+Lfe++)}=e;let{useDevicePixels:D=!0}=e;"useDevicePixelRatio"in e&&(mn.deprecated("useDevicePixelRatio","useDevicePixels")(),D=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:u,createFramebuffer:h},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=m,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:p,autoResizeDrawingBuffer:g,useDevicePixels:D}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return tn("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=ex.isSupported(this.gl,["timers"])?new ex(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return oi(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return mn.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=u5?new Promise((e,t)=>{u5&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?rI(this.props.gl,e):this.onCreateContext(e),!pS(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){$u(n,tI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(mn.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(mn.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new Fs(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var jfe=Je(524),tx=Je.n(jfe);const Vfe={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(tx().MouseInput);const Gfe=tx().Manager,ru=tx(),$fe=ru?[[ru.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[ru.Rotate,{enable:!1}],[ru.Pinch,{enable:!1}],[ru.Swipe,{enable:!1}],[ru.Pan,{threshold:0,enable:!1}],[ru.Press,{enable:!1}],[ru.Tap,{event:"doubletap",taps:2,enable:!1}],[ru.Tap,{event:"anytap",enable:!1}],[ru.Tap,{enable:!1}]]:null,f5={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},Wfe={doubletap:["tap"]},qfe={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},iR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},Yfe={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},p5={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},Kfe="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",im="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let g5=!1;try{const n={get passive(){return g5=!0,!0}};im.addEventListener("test",n,n),im.removeEventListener("test",n,n)}catch(n){}const Xfe=-1!==Kfe.indexOf("firefox"),{WHEEL_EVENTS:Qfe}=iR,_5=4.000244140625;class epe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=Qfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!g5&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;im.WheelEvent&&(Xfe&&e.deltaMode===im.WheelEvent.DOM_DELTA_PIXEL&&(t/=im.devicePixelRatio),e.deltaMode===im.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%_5==0&&(t=Math.floor(t/_5)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:tpe}=iR,y5="pointermove",b5="pointerover",v5="pointerout",w5="pointerleave";class npe{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=tpe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===y5&&(this.enableMoveEvent=t),e===b5&&(this.enableOverEvent=t),e===v5&&(this.enableOutEvent=t),e===w5&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:b5,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:v5,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:w5,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:y5,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:ipe}=iR,E5="keydown";class rpe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=ipe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===E5&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:E5,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const x5="contextmenu";class spe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===x5&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:x5,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const ope={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},C5={srcElement:"root",priority:0};class ype{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},C5,i):C5;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let u=l.length-1;for(;u>=0&&!(l[u].priority>=c.priority);)u--;l.splice(u+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&f5[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new epe(e,this._onOtherEvent,{enable:!1}),this.moveInput=new npe(e,this._onOtherEvent,{enable:!1}),this.keyInput=new rpe(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new spe(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=Wfe[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const u in e)this._addEventHandler(u,e[u],i,r,s);return}const{manager:o,events:a}=this,l=p5[e]||e;let c=a.get(l);c||(c=new ype(this),a.set(l,c),c.recognizerName=Yfe[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(p5[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=qfe[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function Lf(){}const A5={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:Lf,onResize:Lf,onViewStateChange:Lf,onInteractionStateChange:Lf,onBeforeRender:Lf,onAfterRender:Lf,onLoad:Lf,onError:(n,e)=>Ri.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class ix{constructor(e){e=at(at({},A5),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&Ri.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,nm.qs)()&&Ri.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new sI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&x0.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&Ri.removed("onLayerHover","onHover")(),"onLayerClick"in e&&Ri.removed("onLayerClick","onClick")(),e.initialViewState&&!W0(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](at({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),pc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:u,autoResizeDrawingBuffer:h}=e;return new Bfe({width:t,height:i,useDevicePixels:u,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:p=>eV(Cn(at(at({},s),p),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:p=>this._setGLContext(p.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new Hhe({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,rI(e,{enable:!0,copyState:!0})),this.tooltip=new nfe(this.canvas),$u(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new K4;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new vpe(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in Bj)this.eventManager.on(r,this._onEvent);this.viewManager=new jhe({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new Bhe(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new $he,this.deckRenderer=new Yhe(e),this.deckPicker=new efe(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;$u(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(at({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Ri.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Cn(at({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=Bj[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=If.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}ix.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(W4)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},ix.defaultProps=A5,ix.VERSION=Tfe.VERSION;const rx={name:"project32",dependencies:[zO],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},xpe={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},sx=at({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=xpe){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),T5={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class fh{static get DRAW_MODE(){return T5}constructor(e={}){const{id:t=ga("geometry"),drawMode:i=T5.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?at({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,tn(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(tn(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return tn(Number.isFinite(i)),i}}const M5=()=>{},Ipe={10241:9987,10240:9729,10242:33071,10243:33071};function Ope(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function Rpe(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function Q0(n){return n&&(n.id||n.url)}function D5(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(D5(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+p+e,s=Math.max(s,h)}}return a.length>0&&D5(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:Ope(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new _a(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:Ipe})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=_V(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=t;const{framebuffer:p,deleteFramebuffer:g}=S0(n);tn(p);const{gl:m,handle:D}=p,O=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const W=m.bindFramebuffer(36160,D);tn(e);let $=null;if(e instanceof Of&&($=e,u=Number.isFinite(u)?u:$.width,h=Number.isFinite(h)?h:$.height,$.bind(0),e=$.target),O)switch(e){case 3553:case 34067:m.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:Co(m).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else m.copyTexImage2D(e,s,o,i,r,u,h,0);$&&$.unbind(),m.bindFramebuffer(36160,W||null),g&&p.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,G0(i.url,tR,this._loadOptions).then(r=>{const s=Q0(i),{x:o,y:a,width:l,height:c}=this._mapping[s],u=Rpe(t,r,l,c);this._texture.setSubImageData({data:u,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const I5=[0,0,0,255],Lpe={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:I5},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let Bpe=(()=>{class n extends $0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[rx,sx]})}initializeState(){this.state={iconManager:new kpe(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:I5},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:u}=this.state;u.setProps({loadOptions:i.loadOptions});let h=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&u.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(u.setProps({iconMapping:a}),h=!0)):u.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&u.setProps({data:l,getIcon:c}),h&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:m}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(m),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:u}=this.context,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===o?u.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Yg(t,Cn(at({},this.getShaders()),{id:this.props.id,geometry:new fh({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):Ri.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=Lpe,n})();const R5=[],Vpe={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let Upe=(()=>{class n extends Bpe{getShaders(){return Cn(at({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&Ri.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=Cn(at({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):R5}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):R5}}return n.layerName="MultiIconLayer",n.defaultProps=Vpe,n})();var zpe=Je(2),Hpe=Je.n(zpe);const $pe=[];function Wpe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function N5(n,e,t,i){let r=0;for(let s=e;si&&(oa){let h=N5(n,a,l,r);c+h>i&&(oi&&(h=P5(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=h}}(n,r,s,t,i,o),o}function Xpe(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let p=0,g=0,m=0;for(let D=0;D<=s;D++){const O=n[D];if(("\n"===O||D===s)&&(m=D),m>g){const W=c?Kpe(n,t,i,r,g,m):$pe;for(let $=0;$<=W.length;$++){const pe=0===$?g:W[$-1],Re=$i===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),nge=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function rge(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=oR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=oR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,oR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:u}=this.props;let h=i&&i.data;h||(h=document.createElement("canvas"),h.width=1024);const p=h.getContext("2d");$5(p,r,o,s);const{mapping:g,canvasHeight:m,xOffset:D,yOffset:O}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const p of n)if(!s[p]){const g=e(p,u++);c+g+2*i>r&&(c=0,l++),s[p]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const h=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:Wpe(a+(l+1)*h)}}(at({getFontWidth:W=>p.measureText(W).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(h.height!==m){const W=p.getImageData(0,0,h.width,h.height);h.height=m,p.putImageData(W,0,0)}if($5(p,r,o,s),l){const W=new(Hpe())(o,a,c,u,r,s),$=p.getImageData(0,0,W.size,W.size);for(const pe of t)rge(W.draw(pe),$),p.putImageData($,g[pe].x-a,g[pe].y+a)}else for(const W of t)p.fillText(W,g[W].x,g[W].y+.9*o);return{xOffset:D,yOffset:O,mapping:g,data:h,width:h.width,height:h.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const lge={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let cge=(()=>{class n extends $0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[rx,sx]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:u}=this.props;const h="pixels"===o?i.metersPerPixel:1;u.length<4&&(u=[u[0],u[1],u[0],u[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:u,sizeScale:s*h,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Yg(t,Cn(at({},this.getShaders()),{id:this.props.id,geometry:new fh({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=lge,n})();const W5={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},q5={start:1,middle:0,end:-1},Y5={top:1,center:0,bottom:-1},aR=[0,0,0,255],dge=["fontSize","buffer","sdf","radius","cutoff"],hge={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:aR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:k5},fontFamily:L5,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:aR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:aR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let fge=(()=>{class n extends j4{initializeState(){this.state={styleVersion:0,fontAtlasManager:new sge}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(Cn(at(at({},W5),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return dge.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:u}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),u=s&&new Set,h=new Array(e);let p=n;if(a>1||l>0){p=new n.constructor(c);for(let g=0;gc[p]}else{const{iterable:c,objectInfo:u}=ES(t);o=[0],a=0;for(const h of c){u.index++;const p=Array.from(s(h,u)||"");l&&p.forEach(l.add,l),a+=p.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{size:[p,g]}=F5(h,l,o,a,r);return[(q5["function"==typeof c?c(t,i):c]-1)*p/2,(Y5["function"==typeof u?u(t,i):u]-1)*g/2,p,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{x:p,y:g,rowWidth:m,size:[D,O]}=F5(h,l,o,a,r),W=q5["function"==typeof c?c(t,i):c],$=Y5["function"==typeof u?u(t,i):u],pe=p.length,Re=new Array(2*pe);let Ve=0;for(let We=0;Wet*e/255)}const cR={name:"lights",vs:K5,fs:K5,getUniforms:function X5(n=pge){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?lR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=lR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=lR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return X5({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},mge={};const yge={name:"phong-lighting",dependencies:[cR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=mge){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},uR=Math.PI/180,ox=new Float32Array(16),J5=new Float32Array(12);function ez(n,e,t){const i=e[0]*uR,r=e[1]*uR,s=e[2]*uR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),p=t[0],g=t[1],m=t[2];n[0]=p*h*u,n[1]=p*l*u,n[2]=p*-a,n[3]=g*(-l*c+h*a*o),n[4]=g*(h*c+l*a*o),n[5]=g*u*o,n[6]=m*(l*o+h*a*c),n[7]=m*(-h*o+l*a*c),n[8]=m*u*c}function tz(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const nz={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),p=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:h&&u&&p;const m=n.value;if(n.constant){let D;g?(ox.set(a),D=tz(ox)):(D=J5,ez(D,r,s),D.set(o,9)),n.value=new Float32Array(D)}else{let D=e*n.size;const{iterable:O,objectInfo:W}=ES(i,e,t);for(const $ of O){let pe;W.index++,g?(ox.set(c?a:a($,W)),pe=tz(ox)):(pe=J5,ez(pe,h?r:r($,W),u?s:s($,W)),pe.set(p?o:o($,W),9)),m[D++]=pe[0],m[D++]=pe[1],m[D++]=pe[2],m[D++]=pe[3],m[D++]=pe[4],m[D++]=pe[5],m[D++]=pe[6],m[D++]=pe[7],m[D++]=pe[8],m[D++]=pe[9],m[D++]=pe[10],m[D++]=pe[11]}}}};function iz(n,e){return e===ji.CARTESIAN||e===ji.METER_OFFSETS||e===ji.DEFAULT&&!n.isGeospatial}function rz(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),Ri.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function wge(n,e){if(n.attributes)return rz(n.attributes,e),n instanceof fh?n:new fh(n);if(n.positions||n.POSITION)return rz(n,e),new fh({attributes:n});throw Error("Invalid mesh")}const Ege={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let Sge=(()=>{class n extends $0{getShaders(){const t=!Si(this.context.gl),i={};return gI(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[rx,yge,sx],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:nz}),this.setState({emptyTexture:new _a(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||iz(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Yg(this.context.gl,Cn(at({},this.getShaders()),{id:this.props.id,geometry:wge(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=Ege,n})();const sz={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[cR]};class rm{constructor(e={}){const{id:t}=e;this.id=t||ga(this.constructor.name),this.display=!0,this.position=new Ao,this.rotation=new Ao,this.scale=new Ao(1,1,1),this.matrix=new qn,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return tn(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return tn(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return tn(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){tn(e),t=t||this.matrix;const i=new qn(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class Z0 extends rm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;mn.assert(t.every(i=>i instanceof rm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new qn}={}){const i=new qn(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof Z0?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function oz(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=t[0],g=t[1],m=t[2],D=t[3],O=t[4],W=t[5],$=t[6],pe=t[7],Re=t[8];return n[0]=p*i+g*o+m*c,n[1]=p*r+g*a+m*u,n[2]=p*s+g*l+m*h,n[3]=D*i+O*o+W*c,n[4]=D*r+O*a+W*u,n[5]=D*s+O*l+W*h,n[6]=$*i+pe*o+Re*c,n[7]=$*r+pe*a+Re*u,n[8]=$*s+pe*l+Re*h,n}function az(n,e,t){var i=t[0],r=t[1];return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=r*e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n}function lz(){var n=new ya(4);return ya!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function cz(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function dR(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function ax(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],u=t[3];return n[0]=i*u+o*a+r*c-s*l,n[1]=r*u+o*l+s*a-i*c,n[2]=s*u+o*c+i*l-r*a,n[3]=o*u-i*a-r*l-s*c,n}function uz(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a,n}function dz(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a,n}function hz(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a,n}function fz(n,e){var t=e[0],i=e[1],r=e[2];return n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r)),n}function J0(n,e,t,i){var p,g,m,D,O,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],u=t[2],h=t[3];return(g=r*l+s*c+o*u+a*h)<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>Qc?(p=Math.acos(g),m=Math.sin(p),D=Math.sin((1-i)*p)/m,O=Math.sin(i*p)/m):(D=1-i,O=i),n[0]=D*r+O*l,n[1]=D*s+O*c,n[2]=D*o+O*u,n[3]=D*a+O*h,n}function pz(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;return n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a,n}function gz(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3],n}function hR(n,e){var i,t=e[0]+e[4]+e[8];if(t>0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}return n}var mz=function(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},fR=FU,pR=function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},_z=function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];return n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a),n},yz=function(n){return Math.hypot(n[0],n[1],n[2],n[3])},bz=function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r},wz=function(){var n=xV(),e=CV(1,0,0),t=CV(0,1,0);return function(i,r,s){var o=AV(r,s);return o<-.999999?(A0(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&A0(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),dR(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(A0(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();lz(),lz(),function(){var n=new ya(9);ya!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const Nge=[0,0,0,1];class gR extends bS{constructor(e=0,t=0,i=0,r=1){super(-0,-0,-0,-0),Array.isArray(e)&&1===arguments.length?this.copy(e):this.set(e,t,i,r)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,i,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=r,this.check()}fromMatrix3(e){return hR(this,e),this.check()}identity(){return cz(this),this.check()}fromAxisRotation(e,t){return dR(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=sr(e)}get y(){return this[1]}set y(e){this[1]=sr(e)}get z(){return this[2]}set z(e){this[2]=sr(e)}get w(){return this[3]}set w(e){this[3]=sr(e)}len(){return yz(this)}lengthSquared(){return bz(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return pR(this,e)}rotationTo(e,t){return wz(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return mz(this,this,e),this.check()}calculateW(){return fz(this,this),this.check()}conjugate(){return gz(this,this),this.check()}invert(){return pz(this,this),this.check()}lerp(e,t,i){return _z(this,e,t,i),this.check()}multiplyRight(e,t){return Yu(!t),ax(this,this,e),this.check()}multiplyLeft(e,t){return Yu(!t),ax(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return uz(this,this,e),this.check()}rotateY(e){return dz(this,this,e),this.check()}rotateZ(e){return hz(this,this,e),this.check()}scale(e){return fR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=Nge,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return J0(this,e,t,i),this.check()}transformVector4(e,t=e){return kU(t,e,this),vS(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const Pge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Fge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function Ez(n){if(!n._animation){const e=Fge[n.componentType],t=Pge[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(p=>p>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:mn.warn(`Bad animation path ${s}`)()}tn(r[s].length===i[c].length);const u=e[c],h=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;iu&&function(n,e,t,i,r){if("rotation"===e){mR.slerp({start:t,target:i,ratio:r});for(let s=0;su&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:Ez(e.accessors[a]),interpolation:l,output:Ez(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new zge({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class Gge extends rm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Yg?(this.model=e,this._setModelNodeProps(t)):this.model=new Yg(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class $ge{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},gI(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new _a(this.gl,at({id:e.name||e.id,parameters:at(at({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(mn.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function Sz(n,e){return Si(n)?`#version 300 es\n${e}`:e}const Kge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Xge={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class Qge{constructor(e,t={}){this.gl=e,this.options=Object.assign({},Xge,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new Hge(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new Z0({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new Z0({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new qn).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new Z0({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){mn.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new $ge(n,e);mn.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(u=>u.buffer));const c=new Gge(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[sz],defines:a.defines,parameters:a.parameters,vs:Sz(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:Sz(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),mn.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new hr(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new ma({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:Kge[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function xz(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new sm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new sm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof sm){const o=e;t=o.fields,i=Mz(Mz(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new sm(s,i)}}function Mz(n,e){return new Map([...n||new Map,...e||new Map])}let Lr,Dz,Iz,Oz,Rz,Nz,Pz,Fz;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(Lr||(Lr={}));class _R{static isNull(e){return e&&e.typeId===Lr.Null}static isInt(e){return e&&e.typeId===Lr.Int}static isFloat(e){return e&&e.typeId===Lr.Float}static isBinary(e){return e&&e.typeId===Lr.Binary}static isUtf8(e){return e&&e.typeId===Lr.Utf8}static isBool(e){return e&&e.typeId===Lr.Bool}static isDecimal(e){return e&&e.typeId===Lr.Decimal}static isDate(e){return e&&e.typeId===Lr.Date}static isTime(e){return e&&e.typeId===Lr.Time}static isTimestamp(e){return e&&e.typeId===Lr.Timestamp}static isInterval(e){return e&&e.typeId===Lr.Interval}static isList(e){return e&&e.typeId===Lr.List}static isStruct(e){return e&&e.typeId===Lr.Struct}static isUnion(e){return e&&e.typeId===Lr.Union}static isFixedSizeBinary(e){return e&&e.typeId===Lr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===Lr.FixedSizeList}static isMap(e){return e&&e.typeId===Lr.Map}static isDictionary(e){return e&&e.typeId===Lr.Dictionary}get typeId(){return Lr.NONE}compareTo(e){return this===e}}Symbol,Symbol,Dz=Symbol.toStringTag;class om extends _R{constructor(e,t){super(),Kn(this,"isSigned",void 0),Kn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return Lr.Int}get[Dz](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class ame extends om{constructor(){super(!0,8)}}class lme extends om{constructor(){super(!0,16)}}class cme extends om{constructor(){super(!0,32)}}class ume extends om{constructor(){super(!1,8)}}class dme extends om{constructor(){super(!1,16)}}class hme extends om{constructor(){super(!1,32)}}Iz=Symbol.toStringTag;class kz extends _R{constructor(e){super(),Kn(this,"precision",void 0),this.precision=e}get typeId(){return Lr.Float}get[Iz](){return"Float"}toString(){return`Float${this.precision}`}}class fme extends kz{constructor(){super(32)}}class pme extends kz{constructor(){super(64)}}Symbol,Symbol,Oz=Symbol.toStringTag,Rz=Symbol.toStringTag,Nz=Symbol.toStringTag,Pz=Symbol.toStringTag,Fz=Symbol.toStringTag;class gme extends _R{constructor(e,t){super(),Kn(this,"listSize",void 0),Kn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return Lr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[Fz](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class lx{constructor(e,t,i=!1,r=new Map){Kn(this,"name",void 0),Kn(this,"type",void 0),Kn(this,"nullable",void 0),Kn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new lx(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function Lz(n,e,t){const i=t?Bz(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new ame;case Uint8Array:return new ume;case Int16Array:return new lme;case Uint16Array:return new dme;case Int32Array:return new cme;case Uint32Array:return new hme;case Float32Array:return new fme;case Float64Array:return new pme;default:throw new Error("array type not supported")}}(e.value);return new lx(n,new gme(e.size,new lx("value",r)),!1,i)}function Bz(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const jz={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},bme={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class wme{constructor(e){Kn(this,"draco",void 0),Kn(this,"decoder",void 0),Kn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const p=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(p)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?u:r,s=h>s?h:s,o=p>o?p:o}return[[e,t,i],[r,s,o]]}(l.attributes),u=function(n,e,t){const i=Bz(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=Lz(o,n[o],s[o]);r.push(l)}if(t){const o=Lz("indices",t);r.push(o)}return new sm(r,i)}(l.attributes,a,l.indices);return Cn(at({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:u})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var cx=Je(125);const wR={};function ER(n){return SR.apply(this,arguments)}function SR(){return(SR=oi(function*(n,e=null,t={}){return e&&(n=Ame(n,e,t)),wR[n]=wR[n]||Tme(n),yield wR[n]})).apply(this,arguments)}function Ame(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:mO?t.CDN?(Jc(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):_O?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function Tme(n){return xR.apply(this,arguments)}function xR(){return(xR=oi(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():mO?_O?importScripts(n):Mme(yield(yield fetch(n)).text(),n):cx.requireFromFile&&(yield cx.requireFromFile(n))})).apply(this,arguments)}function Mme(n,e){if(!mO)return cx.requireFromString&&cx.requireFromString(n,e);if(_O)return eval.call(jue,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const Dme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",Ime="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",Ome="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let eb;function Nme(n){return CR.apply(this,arguments)}function CR(){return(CR=oi(function*(n){const e=n.modules||{};return eb=e.draco3d?eb||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):eb||Pme(n),yield eb})).apply(this,arguments)}function Pme(n){return TR.apply(this,arguments)}function TR(){return(TR=oi(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield ER(Dme,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield ER(Ime,"draco",n),yield ER(Ome,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield Fme(e,t)})).apply(this,arguments)}function Fme(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(Cn(at({},t),{onModuleLoaded:r=>i({draco:r})}))})}const DR=Cn(at({},Tz),{parse:function(n,e){return IR.apply(this,arguments)}});function IR(){return(IR=oi(function*(n,e){const{draco:t}=yield Nme(e),i=new wme(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function nb(n,e){return Ff(n>=0),Ff(e>0),n+(e-1)&~(e-1)}function Bme(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+nb(i.byteLength,4)}const Vz=["SCALAR","VEC2","VEC3","VEC4"],jme=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],Vme=new Map(jme),Ume={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},zme={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Hme={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function Uz(n){return Vz[n-1]||Vz[0]}function zz(n){const e=Vme.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function Hz(n,e){const t=Hme[n.componentType],i=Ume[n.type],s=n.count*i,o=n.count*i*zme[n.componentType];return Ga(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const Gme={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class gh{constructor(e){Kn(this,"gltf",void 0),Kn(this,"sourceBuffers",void 0),Kn(this,"byteLength",void 0),this.gltf=e||{json:at({},Gme),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return Ga(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=Hz(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return Ga(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return Ga(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=JO(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;Ga(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=nb(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:Uz(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:zz(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=Bme(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*t_e(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function n_e(n){return NR.apply(this,arguments)}function NR(){return(NR=oi(function*(n){const e=new gh(n),{json:t}=e;e.removeExtension(dx);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,dx)})).apply(this,arguments)}function i_e(n){const e=new gh(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,dx,{}),e.addExtension(dx))}function r_e(n){return PR.apply(this,arguments)}function PR(){return(PR=oi(function*(n){const e=new gh(n),{json:t}=e,i=e.getExtension(am);i&&(e.json.lights=i.lights,e.removeExtension(am));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,am);s&&(r.light=s.light),e.removeObjectExtension(r,am)}})).apply(this,arguments)}function s_e(n){return FR.apply(this,arguments)}function FR(){return(FR=oi(function*(n){const e=new gh(n),{json:t}=e;if(t.lights){const i=e.addExtension(am);Ga(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,am,i);delete e.json.lights}})).apply(this,arguments)}function o_e(n){return kR.apply(this,arguments)}function kR(){return(kR=oi(function*(n){const e=new gh(n),{json:t}=e,i=e.getExtension(hx);if(i){const r=l_e(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,hx);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=c_e(s.technique,e)),e.removeObjectExtension(s,hx)}e.removeExtension(hx)}})).apply(this,arguments)}function a_e(n,e){return LR.apply(this,arguments)}function LR(){return(LR=oi(function*(n,e){})).apply(this,arguments)}function l_e(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function c_e(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const Wz={KHR_draco_mesh_compression:lt,KHR_materials_unlit:ee,KHR_lights_punctual:Et,KHR_techniques_webgl:je};function u_e(n){return BR.apply(this,arguments)}function BR(){return(BR=oi(function*(n,e={},t){for(const r in Wz){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield Wz[r].decode(n,e,t))}})).apply(this,arguments)}const qz={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},h_e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class f_e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new gh(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,Gz);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(Gz)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in qz)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in qz)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=h_e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function p_e(n,e={}){return(new f_e).normalize(n,e)}const g_e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},m_e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Ml={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},__e={magFilter:Ml.TEXTURE_MAG_FILTER,minFilter:Ml.TEXTURE_MIN_FILTER,wrapS:Ml.TEXTURE_WRAP_S,wrapT:Ml.TEXTURE_WRAP_T},y_e={[Ml.TEXTURE_MAG_FILTER]:Ml.LINEAR,[Ml.TEXTURE_MIN_FILTER]:Ml.NEAREST_MIPMAP_LINEAR,[Ml.TEXTURE_WRAP_S]:Ml.REPEAT,[Ml.TEXTURE_WRAP_]:Ml.REPEAT};class w_e{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return Ga(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=at({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=at({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=at({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=at({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=at({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=at({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=at({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return m_e[n]}(e.componentType),e.components=function(n){return g_e[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=Hz(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):y_e,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return __e[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function E_e(n,e){return(new w_e).postProcess(n,e)}const Yz=1735152710,lm=!0;function VR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),nb(i,4)}function UR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),nb(i,4)}function P_e(n,e){return zR.apply(this,arguments)}function zR(){return(zR=oi(function*(n,e,t=0,i,r){var s,o,a,l;F_e(n,e,t,i),p_e(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield k_e(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const h=L_e(n,i,r);c.push(h)}const u=u_e(n,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?E_e(n,i):n})).apply(this,arguments)}function F_e(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=Yz}=t,s=i.getUint32(e,!1);return s===r||s===Yz}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?xz(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?xz(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,lm),a=r.getUint32(t+8,lm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){Ff(n.header.byteLength>20);const i=e.getUint32(t+0,lm),r=e.getUint32(t+4,lm);return t+=8,Ff(0===r),VR(n,e,t,i),(t+=i)+UR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return Ff(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,lm),s=e.getUint32(t+4,lm);switch(t+=8,s){case 1313821514:VR(n,e,t,r);break;case 5130562:UR(n,e,t,r);break;case 0:i.strict||VR(n,e,t,r);break;case 1:i.strict||UR(n,e,t,r)}t+=nb(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),Ga("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else Ga(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function k_e(n,e,t){return HR.apply(this,arguments)}function HR(){return(HR=oi(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield U_e(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function U_e(n){return YR.apply(this,arguments)}function YR(){return(YR=oi(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const Kz=[255,255,255,255],G_e={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:Kz},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[cm]};let $_e=(()=>{class n extends $0{getShaders(){const t=[rx,sx];return"pbr"===this.props._lighting&&t.push(sz),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:Kz,transition:!0},instanceModelMatrix:nz})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof rm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new Qge(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=at({gltf:l},c),function(n){return qR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Ri.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof rm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&Ri.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):Ri.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof rm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:at({isInstanced:!0,transpileToGLSL100:!Si(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:u}=this.props,h=this.getNumInstances();this.state.scenegraph.traverse((p,{worldMatrix:g})=>{p.model.setInstanceCount(h),p.updateModuleSettings(t),p.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:iz(s,u),sceneModelMatrix:g,u_Camera:p.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=G_e,n})();class W_e extends fh{constructor(e={}){const{id:t=ga("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,u=(e+1)*(t+1);if("number"==typeof i){const W=i;i=($,pe,Re,Ve,We)=>W}const h=new Float32Array(3*u),p=new Float32Array(3*u),g=new Float32Array(2*u),D=new(u>65535?Uint32Array:Uint16Array)(e*t*6);for(let W=0;W<=e;W++)for(let $=0;$<=t;$++){const pe=$/t,Re=W/e,Ve=$+W*(t+1),We=2*Ve,rt=3*Ve,wt=c*pe,vt=o*Re,At=Math.sin(wt),Bt=Math.cos(wt),$t=Math.sin(vt),yt=Bt*$t,Ut=Math.cos(vt),pt=At*$t,qt=i(yt,Ut,pt,pe,Re);h[rt+0]=qt*yt,h[rt+1]=qt*Ut,h[rt+2]=qt*pt,p[rt+0]=yt,p[rt+1]=Ut,p[rt+2]=pt,g[We+0]=pe,g[We+1]=1-Re}const O=t+1;for(let W=0;Ws?(mt=i,$t=1,yt=t):yt=e+Bt/s*(t-e),(-2===Bt||Bt===s+2)&&(yt=0,$t=0),mt-=i/2;for(let Ut=0;Uts?0:pt*D,rt[vt+Ve[1]]=Bt<0?-1:Bt>s?1:O,rt[vt+Ve[2]]=Bt<0||Bt>s?0:qt*D,wt[At+0]=Ut/r,wt[At+1]=$t,At+=2,vt+=3}}for(let Bt=0;Bt0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new he){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new he){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new he){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new he){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new he){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=sye,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=oye;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(Qz),Qz.almostEquals(e,t)}clone(){return new he(this.x,this.y,this.z)}}he.ZERO=void 0,he.UNIT_X=void 0,he.UNIT_Y=void 0,he.UNIT_Z=void 0,he.ZERO=new he(0,0,0),he.UNIT_X=new he(1,0,0),he.UNIT_Y=new he(0,1,0),he.UNIT_Z=new he(0,0,1);const sye=new he,oye=new he,Qz=new he;class mr{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new he,this.upperBound=new he,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),r.set(c.x,u.y,u.z),s.set(u.x,c.y,u.z),o.set(c.x,u.y,c.z),a.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){const i=Jz;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=Jz;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let p=0;8!==p;p++){const g=i[p];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,u=(this.upperBound.y-i.y)*s,h=(this.lowerBound.z-i.z)*o,p=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,u)),Math.min(h,p)),m=Math.min(Math.min(Math.max(a,l),Math.max(c,u)),Math.max(h,p));return!(m<0||g>m)}}const Zz=new he,Jz=[new he,new he,new he,new he,new he,new he,new he,new he];class hs{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new he){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=lye;e.tangents(i,cye),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Er(e.length(),2)*Er(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new hs){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,u=e.w;return t.x=i*u+o*a+r*c-s*l,t.y=r*u+o*l+s*a-i*c,t.z=s*u+o*c+i*l-r*a,t.w=o*u-i*a-r*l-s*c,t}inverse(e=new hs){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new hs){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new he){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,u=c*i+a*s-l*r,h=c*r+l*i-o*s,p=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=u*c+g*-o+h*-l-p*-a,t.y=h*c+g*-a+p*-o-u*-l,t.z=p*c+g*-l+u*-a-h*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const u=o*a+l*c;if(u>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),u<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const h=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*u),s=Math.atan2(2*o*c-2*a*l,1-2*h-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"YXZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"ZXY"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"ZYX"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"YZX"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a-l*c*u):"XZY"===r&&(this.x=l*o*a-s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a+l*c*u),this}clone(){return new hs(this.x,this.y,this.z,this.w)}slerp(e,t,i=new hs){const r=this.x,s=this.y,o=this.z,a=this.w;let p,g,m,D,O,l=e.x,c=e.y,u=e.z,h=e.w;return g=r*l+s*c+o*u+a*h,g<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>1e-6?(p=Math.acos(g),m=Math.sin(p),D=Math.sin((1-t)*p)/m,O=Math.sin(t*p)/m):(D=1-t,O=t),i.x=D*r+O*l,i.y=D*s+O*c,i.z=D*o+O*u,i.w=D*a+O*h,i}integrate(e,t,i,r=new hs){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,u=this.z,h=this.w,p=.5*t;return r.x+=p*(s*h+o*u-a*c),r.y+=p*(o*h+a*l-s*u),r.z+=p*(a*h+s*c-o*l),r.w+=p*(-s*l-o*c-a*u),r}}const lye=new he,cye=new he,uye={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let _n=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=uye,n})();class Gi{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new he,this.quaternion=new hs,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return Gi.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return Gi.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new he){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new he){return i.vsub(e,r),t.conjugate(t8),t8.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new he){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new he){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new he){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const t8=new hs;class Bf extends _n{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:_n.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new he;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let u=!1;for(let h=0;h!==i.length;h++)if(i[h].almostEquals(r)||i[h].almostEquals(r)){u=!0;break}u||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ep&&(p=D,h=m)}const g=[];for(let m=0;m=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new he,u=new he,h=new he,p=new he,g=new he,m=new he;let D=Number.MAX_VALUE;const O=this;if(O.uniqueAxes)for(let W=0;W!==O.uniqueAxes.length;W++){i.vmult(O.uniqueAxes[W],c);const $=O.testSepAxis(c,e,t,i,r,s);if(!1===$)return!1;$0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){Bf.project(this,e,i,r,KR),Bf.project(t,e,s,o,XR);const l=KR[0],c=KR[1],u=XR[0],h=XR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?yn.STATIC:yn.DYNAMIC,typeof e.type==typeof yn.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=yn.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new he,this.quaternion=new hs,this.initQuaternion=new hs,this.previousQuaternion=new hs,this.interpolatedQuaternion=new hs,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new he,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new he,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new he,this.invInertia=new he,this.invInertiaWorld=new su,this.invMassSolve=0,this.invInertiaSolve=new he,this.invInertiaWorldSolve=new su,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new he(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new he(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new mr,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new he,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=yn.AWAKE,this.wakeUpAfterNarrowphase=!1,e===yn.SLEEPING&&this.dispatchEvent(yn.wakeupEvent)}sleep(){this.sleepState=yn.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Er(this.sleepSpeedLimit,2);t===yn.AWAKE&&ir?this.wakeUp():t===yn.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(yn.sleepEvent))}}updateSolveMassProperties(){this.sleepState===yn.SLEEPING||this.type===yn.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new he){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new he){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new he){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new he){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new he,s=new hs;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=fye,o=pye,a=this.quaternion,l=this.aabb,c=gye;for(let u=0;u!==r;u++){const h=e[u];a.vmult(t[u],s),s.vadd(this.position,s),a.mult(i[u],o),h.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===u?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=mye,r=_ye;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new he){if(this.type!==yn.DYNAMIC)return;this.sleepState===yn.SLEEPING&&this.wakeUp();const i=yye;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new he){if(this.type!==yn.DYNAMIC)return;const i=bye,r=vye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===yn.DYNAMIC&&(this.sleepState===yn.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new he){if(this.type!==yn.DYNAMIC)return;this.sleepState===yn.SLEEPING&&this.wakeUp();const i=t,r=wye;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=Eye;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new he){if(this.type!==yn.DYNAMIC)return;const i=Sye,r=xye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=Cye;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),px.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new he;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==yn.DYNAMIC&&this.type!==yn.KINEMATIC||this.sleepState===yn.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,h=this.invInertiaWorld,p=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*p.x,r.y+=a.y*g*p.y,r.z+=a.z*g*p.z;const m=h.elements,D=this.angularFactor,O=l.x*D.x,W=l.y*D.y,$=l.z*D.z;s.x+=e*(m[0]*O+m[1]*W+m[2]*$),s.y+=e*(m[3]*O+m[4]*W+m[5]*$),s.z+=e*(m[6]*O+m[7]*W+m[8]*$),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}yn.idCounter=0,yn.COLLIDE_EVENT_NAME="collide",yn.DYNAMIC=1,yn.STATIC=2,yn.KINEMATIC=4,yn.AWAKE=0,yn.SLEEPY=1,yn.SLEEPING=2,yn.wakeupEvent={type:"wakeup"},yn.sleepyEvent={type:"sleepy"},yn.sleepEvent={type:"sleep"};const fye=new he,pye=new hs,gye=new mr,mye=new su,_ye=new su,yye=new he,bye=new he,vye=new he,wye=new he,Eye=new he,Sye=new he,xye=new he,Cye=new he;new he,new he;class gx{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new he,this.rayToWorld=new he,this.hitNormalWorld=new he,this.hitPointWorld=new he,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let n8,i8,r8,s8,o8,a8,l8;n8=_n.types.SPHERE,i8=_n.types.PLANE,r8=_n.types.BOX,s8=_n.types.CYLINDER,o8=_n.types.CONVEXPOLYHEDRON,a8=_n.types.HEIGHTFIELD,l8=_n.types.TRIMESH;class bs{get[n8](){return this._intersectSphere}get[i8](){return this._intersectPlane}get[r8](){return this._intersectBox}get[s8](){return this._intersectConvex}get[o8](){return this._intersectConvex}get[a8](){return this._intersectHeightfield}get[l8](){return this._intersectTrimesh}constructor(e=new he,t=new he){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new he,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=bs.ANY,this.result=new gx,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||bs.ANY,this.result=t.result||new gx,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(c8),eN.length=0,e.broadphase.aabbQuery(e,c8,eN),this.intersectBodies(eN),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=Rye,s=Nye;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new he(0,0,1);t.vmult(c,c);const u=new he;o.vsub(i,u);const h=u.dot(c);if(a.vsub(i,u),h*u.dot(c)>0||o.distanceTo(a)=0&&D<=1&&(o.lerp(a,D,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1)),this.result.shouldStop)return;O>=0&&O<=1&&(o.lerp(a,O,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Bye,l=d8,c=o&&o.faceList||null,u=e.faces,h=e.vertices,p=e.faceNormals,g=this.direction,m=this.from,O=m.distanceTo(this.to),W=c?c.length:u.length,$=this.result;for(let pe=0;!$.shouldStop&&peO||this.reportIntersection(a,ba,s,r,Re)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=jye,l=$ye,c=Wye,u=d8,h=Vye,p=Uye,g=zye,m=Gye,D=Hye,O=e.indices,W=this.from,$=this.to,pe=this.direction;c.position.copy(i),c.quaternion.copy(t),Gi.vectorToLocalFrame(i,t,pe,h),Gi.pointToLocalFrame(i,t,W,p),Gi.pointToLocalFrame(i,t,$,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,p.x*=e.scale.x,p.y*=e.scale.y,p.z*=e.scale.z,g.vsub(p,h),h.normalize();const Re=p.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let Ve=0,We=l.length;!this.result.shouldStop&&Ve!==We;Ve++){const rt=l[Ve];e.getNormal(rt,a),e.getVertex(O[3*rt],yc),yc.vsub(p,u);const wt=h.dot(a),vt=a.dot(u)/wt;if(vt<0)continue;h.scale(vt,ba),ba.vadd(p,ba),e.getVertex(O[3*rt+1],au),e.getVertex(O[3*rt+2],lu);const At=ba.distanceSquared(p);!bs.pointInTriangle(ba,au,yc,lu)&&!bs.pointInTriangle(ba,yc,au,lu)||At>Re||(Gi.vectorToWorldFrame(t,a,D),Gi.pointToWorldFrame(i,t,ba,m),this.reportIntersection(D,m,s,r,rt))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case bs.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case bs.CLOSEST:(l=0&&(h=s*c-o*a)>=0&&u+hDate.now()-n}var Hf=Je(517);class Br extends se{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new G;return this._value}next(e){super.next(this._value=e)}}function fm(n,e,t){e||(e=new qn(qn.IDENTITY));const i=new qn(qn.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new qn(qn.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new qn(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===fm(s,r,t))return!1;return!0}function n6(){N4([Tz,cm])}function i6(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||fm(s,new qn(qn.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function rN(n,e){return Fi(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield WS(i,cm,{DracoLoader:DR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),i6(n.scenegraphNode,r)})}function qve(n,e){return Fi(this,void 0,void 0,function*(){return i6(n,yield e)})}function sN(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new W_e;break;case"cone":i=new X_e;break;case"cylinder":i=new Q_e;break;case"cube":default:i=new iye}return new Sge(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:ji.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function r6(n,e,t){if(e&&0!==e.length)return new fge(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new qn(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let Kve=(()=>{class n extends j4{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),n6()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=rN({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const u of c)a.push(new $_e({id:"models-"+u["@id"],opacity:u.zoomBasedOpacity?r.zoomOpacity:void 0!==u.opacity?u.opacity:1,pickable:!u.unpickable,coordinateSystem:ji.CARTESIAN,data:[u],scenegraph:u.scenegraphNode?qve(u.scenegraphNode,o[u.scenegraph]):u.scenegraph,_lighting:u._lighting,getTransformMatrix:u.transformMatrix,getColor:null!==(i=u.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!u.zoomBasedOpacity&&(void 0===u.opacity||1===u.opacity)}}));else"text"===l?(a.push(r6("text",c.filter(u=>u.unpickable),{pickable:!1})),a.push(r6("textPickable",c.filter(u=>!u.unpickable),{pickable:!0}))):"wireframe"===l?a.push(sN(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(sN(l,c.filter(u=>u.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(sN(`${l}Pickable`,c.filter(u=>!u.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){Fi(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new qn(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new mr({lowerBound:new he(...l.map((u,h)=>Math.min(u,c[h]))),upperBound:new he(...c.map((u,h)=>Math.max(u,l[h])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield G0(o.scenegraph,cm,{DracoLoader:DR,decompress:!0,postProcess:!0});for(const l of a.scenes)fm(l,new qn(o.transformMatrix),(c,u)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const h of c.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const p=u.transformAsPoint(h.attributes.POSITION.min,[]),g=u.transformAsPoint(h.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new mr({lowerBound:new he(...p.map((m,D)=>Math.min(m,g[D]))),upperBound:new he(...g.map((m,D)=>Math.max(m,p[D])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function s6(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),s6(t,e);return e}let Qve=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new Kve({}),this.nodeClickSubject=new se,this.nodeHoverStartSubject=new se,this.nodeHoverStopSubject=new se,this.sceneRotationSubject=new Br([0,0]),this.nodeDragStartSubject=new se,this.nodeDragSubject=new se,this.nodeDragEndSubject=new se,this.nodeClick$=this.nodeClickSubject.pipe(Es()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(Es()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(Es()),this.sceneRotation$=this.sceneRotationSubject.pipe(Es()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(Es()),this.nodeDrag$=this.nodeDragSubject.pipe(Es()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(Es());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new Kde({flipY:!1,near:-1e3}):new Zde({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var u;return null!==(u=this.cursor)&&void 0!==u?u:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new GO({ambientLight:new G4({color:[255,255,255],intensity:10})})]),this.deck=new ix(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return Fi(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new qn([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t,i){return Fi(this,void 0,void 0,function*(){n6();const r=yield rN({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"},undefined),s={},o=[];for(const a of r.scenes)fm(a,e=new qn(e||qn.IDENTITY),(l,c)=>{const u={"@id":l.name||l.id,"@type":"ProcessedNode",transformMatrix:new qn(c),geometry:"wireframe",node:l};if(o.push({"@id":`GLTF:${u["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:u["@id"],transformMatrix:new qn(e||qn.IDENTITY),tooltip:l.name||l.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:l}),l.mesh&&l.mesh.primitives&&l.mesh.primitives.length>0)for(const h of l.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const p=c.transformAsPoint(h.attributes.POSITION.min,[]),g=c.transformAsPoint(h.attributes.POSITION.max,[]);u.bbox=new mr({lowerBound:new he(...p.map((m,D)=>Math.min(m,g[D]))),upperBound:new he(...g.map((m,D)=>Math.max(m,p[D])))})}return s[u["@id"]]=u,!0});for(const a of Object.values(s).filter(l=>!l.bbox)){for(const l of s6(a.node).map(c=>s[c]).filter(c=>c.bbox))a.bbox?a.bbox.extend(l.bbox):a.bbox=l.bbox.clone();a.bbox||delete s[a["@id"]]}for(const a of Object.values(s)){const l=a.bbox.lowerBound,h=(a.size=a.bbox.upperBound.clone().vsub(l)).clone().vmul(new he(.5,.5,.5)),p=a.center=l.clone().vadd(h);a.transformMatrix=new qn(qn.IDENTITY).translate(p.toArray()).scale(h.toArray())}for(const a of o)s[a["@id"]]=a;return s})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new qn(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return rr([Hf.ZP],n.prototype,"_onHover",null),rr([Hf.ZP],n.prototype,"_onClick",null),rr([Hf.ZP],n.prototype,"_onViewStateChange",null),rr([Hf.ZP],n.prototype,"_onDragStart",null),rr([Hf.ZP],n.prototype,"_onDrag",null),rr([Hf.ZP],n.prototype,"_onDragEnd",null),n})();function Zve(n,e){return n===e}function Jve(n,e,t){if(null===e||null===t||e.length!==t.length)return!1;const i=e.length;for(let r=0;r(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let oN=(()=>{class n{constructor(){this.bootstrap$=new kg(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const aN=new Ht("INITIAL_STATE_TOKEN");let nwe=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const o6=new Ht("Internals.StateContextFactory"),a6=new Ht("Internals.StateFactory");function ub(...n){if(1===n.length){const e=n[0];if(F(e))return Cx(e,null);if(Y(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Cx(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return Cx(n=1===n.length&&F(n[0])?n[0]:n,null).pipe(ye(t=>e(...t)))}return Cx(n,null)}function Cx(n,e){return new P(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=u},error:u=>t.error(u),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((u,h,p)=>(u[h]=r[p],u),{}):r),t.complete())}}))}})}function Qi(n,e){return function(i){return i.lift(new iwe(n,e))}}class iwe{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new rwe(e,this.predicate,this.thisArg))}}class rwe extends v{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}function $a(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(u){let h;s++,!r||a?(a=!1,r=new kg(n,e,i),h=r.subscribe(this),o=u.subscribe({next(p){r.next(p)},error(p){a=!0,r.error(p)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):h=r.subscribe(this),this.add(()=>{s--,h.unsubscribe(),h=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}const l6=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function Wi(n){return e=>0===n?lS():e.lift(new owe(n))}class owe{constructor(e){if(this.total=e,this.total<0)throw new l6}call(e,t){return t.subscribe(new awe(e,this.total))}}class awe extends v{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function c6(n,e){return e?t=>t.pipe(c6((i,r)=>qe(n(i,r)).pipe(ye((s,o)=>e(i,s,r,o))))):t=>t.lift(new lwe(n))}class lwe{constructor(e){this.project=e}call(e,t){return t.subscribe(new cwe(e,this.project))}}class cwe extends Ae{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new _t(this),i=this.destination;i.add(t);const r=k(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function Ax(n=null){return e=>e.lift(new uwe(n))}class uwe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new dwe(e,this.defaultValue))}}class dwe extends v{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function bc(n){return function(t){const i=new hwe(n),r=t.lift(i);return i.caught=r}}class hwe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new fwe(e,this.selector,this.caught))}}class fwe extends Ae{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new _t(this);this.add(i);const r=k(t,i);r!==i&&this.add(r)}}}function _r(n){return e=>e.lift(new pwe(n))}class pwe{constructor(e){this.notifier=e}call(e,t){const i=new gwe(e),r=k(this.notifier,new _t(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class gwe extends Ae{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function _h(){}function Yr(n,e,t){return function(r){return r.lift(new mwe(n,e,t))}}class mwe{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new _we(e,this.nextOrObserver,this.error,this.complete))}}class _we extends v{constructor(e,t,i,r){super(e),this._tapNext=_h,this._tapError=_h,this._tapComplete=_h,this._tapError=i||_h,this._tapComplete=r||_h,Q(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||_h,this._tapError=t.error||_h,this._tapComplete=t.complete||_h)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function rd(n,e){return t=>t.lift(new ywe(n,e))}class ywe{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new bwe(e,this.compare,this.keySelector))}}class bwe extends v{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}const Wa={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let u6=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(n){return"server"===n}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return gn.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return gn.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof gn||console.warn(Wa.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(ke(gn),ke(Wc))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const d6=new Ht("ROOT_STATE_TOKEN"),h6=new Ht("FEATURE_STATE_TOKEN"),f6=new Ht("NGXS_PLUGINS"),p6=new Ht("NG_TEST_MODE"),g6=new Ht("NG_DEV_MODE"),sd="NGXS_META",m6="NGXS_OPTIONS_META",lN="NGXS_SELECTOR_META";let Gf=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=u6}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();class vwe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const _6=new Ht("NGXS_EXECUTION_STRATEGY");function $f(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const y6=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},Tx=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),cN=n=>n&&"object"==typeof n&&!Array.isArray(n),uN=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(cN(n)&&cN(t))for(const i in t)cN(t[i])?(n[i]||Object.assign(n,{[i]:{}}),uN(n[i],t[i])):Object.assign(n,{[i]:t[i]});return uN(n,...e)};function dN(n){if(!n.hasOwnProperty(sd)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,sd,{value:e})}return db(n)}function db(n){return n[sd]}function fN(n){return n[lN]}function b6(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[$f(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Qi(t=>{const i=$f(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function Owe(){return ye(n=>n.action)}function Mx(n){return e=>new P(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let Dx=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(ke(_6))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();class Pwe extends se{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let Ix=(()=>{class n extends Pwe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),Fwe=(()=>{class n extends P{constructor(t,i){super(r=>{const s=t.pipe(Mx(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(ke(Ix),ke(Dx))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const w6=n=>(...e)=>n.shift()(...e,(...i)=>w6(n)(...i));let Ox=(()=>{class n extends Br{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),pN=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(ke(n,12),ke(f6,8))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),gN=(()=>{class n extends se{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),E6=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(oa),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(Mx(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?fn(this._stateStream.getValue()):ub(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!$f(t))return Fg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return w6([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe($a())}getActionResultStream(t){return this._actionResults.pipe(Qi(i=>i.action===t&&"DISPATCHED"!==i.status),Wi(1),$a())}createDispatchObservable(t){return t.pipe(c6(i=>{switch(i.status){case"SUCCESSFUL":return fn(this._stateStream.getValue());case"ERRORED":return Fg(i.error);default:return Yc}})).pipe($a())}}return n.\u0275fac=function(t){return new(t||n)(ke(Wn),ke(Ix),ke(gN),ke(pN),ke(Ox),ke(Dx))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const S6=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&S6(n[i])}),n};let x6=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(ke(g6),ke(p6))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),C6=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(Wa.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(Wa.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(ke(x6),ke(Gf))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),gm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=S6(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(ke(Ox),ke(E6),ke(Gf),ke(C6))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),Rx=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return Tx(l,t.path)}function s(l,c){const u=y6(l,t.path,c),h=t.instance;if(h.ngxsOnChanges){const p=v6(t,{currentAppState:l,newAppState:u});h.ngxsOnChanges(p)}return i.setState(u),u}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(Wa.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(Wa.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(ke(gm))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();class Nx{static stateNameErrorMessage(e){return Wa.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(Wa.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(Wa.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=db(e);if(!t)throw new Error(Wa.STATE_DECORATOR());return t}}Nx.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let mm=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=xx(()=>{const c=this;function u(p){const g=c.statePaths[p];return g?b6(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(p){let g=u(p);return g||((...m)=>(g||(g=u(p)),g?g(...m):void 0))},getSelectorOptions:p=>Object.assign({},c._config.selectorOptions,p||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(Nx.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[sd].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[sd];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[sd].name]=t,e),{})}(i),l=[];for(const c of s){const u=a[c],h=o[c],p=u[sd];this.addRuntimeInfoToMeta(p,h);const g={name:c,path:h,isInitialised:!1,actions:p.actions,instance:this._injector.get(u),defaults:n.cloneDefaults(p.defaults)};this.hasBeenMountedAndBootstrapped(c,h)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>y6(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Qi(t=>"DISPATCHED"===t.status),z(({action:t})=>this.invokeActions(this._actions,t).pipe(ye(()=>({action:t,status:"SUCCESSFUL"})),Ax({action:t,status:"CANCELED"}),bc(i=>fn({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=$f(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let u=o.instance[l.fn](c,i);u instanceof Promise&&(u=qe(u)),u instanceof P?(u=u.pipe(Ax({})),l.options.cancelUncompleted&&(u=u.pipe(_r(t.pipe(Mwe(i)))))):u=fn({}).pipe($a()),s.push(u)}catch(u){s.push(Fg(u))}}}return s.length||s.push(fn({})),ub(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=Nx.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==Tx(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(ke(Wn),ke(Gf),ke(n,12),ke(Ix),ke(gN),ke(Rx),ke(aN,8))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),mN=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Qi(()=>!!i),Yr(()=>this.invokeInit(i.states)),z(()=>this.bootstrapper.appBootstrapped$),Qi(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=v6(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(ke(gm),ke(Rx),ke(oN))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const Px_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function Lwe(n,e,t){const i=t&&t.containerClass,s=xx(function(...c){const u=e.apply(i,c);return u instanceof Function?xx.apply(null,[u]):u});Object.setPrototypeOf(s,e);const o=function(n,e){const t=function(n){return n.hasOwnProperty(lN)||Object.defineProperty(n,lN,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),fN(n)}(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},Px_getOptions(n.containerClass)||{},Px_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:u}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&db(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>T6(a)(n))}}(l,o,n);return function(p){const g=c.map(m=>m(p));try{return s(...g)}catch(m){if(m instanceof TypeError&&u.suppressErrors)return;throw m}}},s}function T6(n){const e=fN(n)||db(n);return e&&e.makeRootSelector||(()=>n)}let cu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(ye(i),bc(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?fn(void 0):Fg(r)}),rd(),Mx(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(Wi(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(Mx(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return T6(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(ke(Ox),ke(gm),ke(Gf),ke(Dx),ke(mm),ke(aN,8))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),hb=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(ke(cu),ke(Gf))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class zwe{static get type(){return"@@INIT"}}class Hwe{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const Fx=new kg(1);let $we=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&Ba();Fx.next(t)}catch(n){Fx.next(!1)}finally{Fx.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new zwe,l)}}return n.\u0275fac=function(t){return new(t||n)(ke(mm),ke(gm),ke(cu),ke(hb),ke(d6,8),ke(mN))},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({}),n})(),Wwe=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new Hwe(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(ke(cu),ke(gm),ke(mm),ke(h6,8),ke(mN))},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({}),n})();class Wo{static forRoot(e=[],t={}){return{ngModule:$we,providers:[mm,Rx,Fwe,Ix,oN,C6,x6,mN,E6,gN,gm,Dx,cu,Ox,hb,pN,...e,...Wo.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:Wwe,providers:[mm,pN,...e,{provide:h6,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:p6,useValue:twe},{provide:g6,useValue:Ba},{provide:_6,useClass:t.executionStrategy||u6},{provide:d6,useValue:e},{provide:Wo.ROOT_OPTIONS,useValue:t},{provide:Gf,useFactory:Wo.ngxsConfigFactory,deps:[Wo.ROOT_OPTIONS]},{provide:RE,useFactory:Wo.appBootstrapListenerFactory,multi:!0,deps:[oN]},{provide:aN,useFactory:Wo.getInitialState},{provide:o6,useExisting:Rx},{provide:a6,useExisting:mm}]}static ngxsConfigFactory(e){return uN(new Gf,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return nwe.pop()}}function _N(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(Wa.ACTION_DECORATOR());const s=dN(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function M6(n){return i=>{!function(n){Fx.subscribe(e=>{e&&(n.\u0275prov||console.warn(Wa.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=dN(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[m6]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,u="string"==typeof c?c:c&&c.getName()||null;Nx.checkCorrectStateName(u),s.hasOwnProperty(sd)&&(r.actions=Object.assign({},r.actions,(s[sd]||{}).actions)),r.children=a,r.defaults=l,r.name=u})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[m6]=a}}function kx(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?b6(t.length?[e,...t]:e.split("."),hb.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!hb.store)throw new Error(Wa.SELECT_FACTORY_NOT_CONNECTED());return hb.store.select(n)}(o))}}})}}function _m(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(Wa.SELECTOR_DECORATOR());const s=i.value,o=Lwe(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}function Dl(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}Wo.\u0275fac=function(e){return new(e||Wo)},Wo.\u0275mod=on({type:Wo}),Wo.\u0275inj=Ct({}),Wo.ROOT_OPTIONS=new Ht("ROOT_OPTIONS");const Kx=new uc(aS);class iSe{constructor(e){this.total=e}call(e,t){return t.subscribe(new rSe(e,this.total))}}class rSe extends v{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function xi(n){return null!=n&&"false"!=`${n}`}function Xx(n){return Array.isArray(n)?n:[n]}function vs(n){return null==n?"":"string"==typeof n?n:`${n}px`}function ad(n){return n instanceof En?n.nativeElement:n}let zN;try{zN="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){zN=!1}let Eb,qf,HN,Zi=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Tf(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!zN)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(ke(Wc))},n.\u0275prov=et({factory:function(){return new n(ke(Wc))},token:n,providedIn:"root"}),n})();function vm(n){return function(){if(null==Eb&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Eb=!0}))}finally{Eb=Eb||!1}return Eb}()?n:!!n.capture}function LH(){if(null==qf){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return qf=!1,qf;if("scrollBehavior"in document.documentElement.style)qf=!0;else{const n=Element.prototype.scrollTo;qf=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return qf}function Zx(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Yf(n){return n.composedPath?n.composedPath()[0]:n.target}let qH=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===KH(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=KH(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||YH(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(ke(Zi))},n.\u0275prov=et({factory:function(){return new n(ke(Zi))},token:n,providedIn:"root"}),n})();function YH(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function KH(n){if(!YH(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class xSe{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}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))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(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}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const 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._ngZone.isStable?e():this._ngZone.onStable.pipe(Wi(1)).subscribe(e)}}let XH=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new xSe(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(ke(qH),ke(gn),ke(pn))},n.\u0275prov=et({factory:function(){return new n(ke(qH),ke(gn),ke(pn))},token:n,providedIn:"root"}),n})();"undefined"!=typeof Element&∈const JH=new Ht("cdk-input-modality-detector-options"),DSe={ignoreKeys:[18,17,224,91,16]},wm=vm({passive:!0,capture:!0});let tG=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new Br(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Yf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(function(n){return 0===n.offsetX&&0===n.offsetY}(o)?"keyboard":"mouse"),this._mostRecentTarget=Yf(o))},this._onTouchstart=o=>{!function(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}(o)?(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Yf(o)):this._modality.next("keyboard")},this._options=Object.assign(Object.assign({},DSe),s),this.modalityDetected=this._modality.pipe(function(n){return e=>e.lift(new iSe(n))}(1)),this.modalityChanged=this.modalityDetected.pipe(rd()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,wm),r.addEventListener("mousedown",this._onMousedown,wm),r.addEventListener("touchstart",this._onTouchstart,wm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,wm),document.removeEventListener("mousedown",this._onMousedown,wm),document.removeEventListener("touchstart",this._onTouchstart,wm))}}return n.\u0275fac=function(t){return new(t||n)(ke(Zi),ke(gn),ke(pn),ke(JH,8))},n.\u0275prov=et({factory:function(){return new n(ke(Zi),ke(gn),ke(pn),ke(JH,8))},token:n,providedIn:"root"}),n})();const rG=new Ht("cdk-focus-monitor-default-options"),t1=vm({passive:!0,capture:!0});let du=(()=>{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,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=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new se,this._rootNodeFocusAndBlurListener=a=>{const l=Yf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let u=l;u;u=u.parentElement)c.call(this,a,u)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=ad(t);if(!this._platform.isBrowser||1!==r.nodeType)return fn(null);const s=function(n){if(function(){if(null==HN){const n="undefined"!=typeof document?document.head:null;HN=!(!n||!n.createShadowRoot&&!n.attachShadow)}return HN}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new se,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=ad(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=ad(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Yf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,t1),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,t1)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(_r(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,t1),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,t1),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(ke(gn),ke(Zi),ke(tG),ke(pn,8),ke(rG,8))},n.\u0275prov=et({factory:function(){return new n(ke(gn),ke(Zi),ke(tG),ke(pn,8),ke(rG,8))},token:n,providedIn:"root"}),n})();const lG=new Ht("cdk-dir-doc",{providedIn:"root",factory:function(){return Fc(pn)}});let Il=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new sn,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(ke(lG,8))},n.\u0275prov=et({factory:function(){return new n(ke(lG,8))},token:n,providedIn:"root"}),n})();function n1(...n){return Nt(1)(fn(...n))}function ao(...n){const e=n[n.length-1];return Ie(e)?(n.pop(),t=>n1(n,t,e)):t=>n1(n,t)}function Em(n,e){return{type:7,name:n,definitions:e,options:{}}}function cd(n,e=null){return{type:4,styles:e,timings:n}}function fs(n){return{type:6,styles:n,offset:null}}function vc(n,e,t){return{type:0,name:n,styles:e,options:t}}function ud(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function hG(n){Promise.resolve(null).then(n)}class Sm{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],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._onStartFns.push(e)}onDone(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(){hG(()=>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}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function pG(){return"undefined"!=typeof window&&void 0!==window.document}function KN(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}let JN=(n,e)=>!1,eP=(n,e)=>!1,_G=(n,e,t)=>[];const yG=KN();(yG||"undefined"!=typeof Element)&&(JN=pG()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),eP=(()=>{if(yG||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):eP}})(),_G=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{class n{validateStyleProperty(t){return tP(t)}matchesElement(t,i){return nP(t,i)}containsElement(t,i){return iP(t,i)}query(t,i,r){return rP(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new Sm(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();class r1{}r1.NOOP=new wG;function CG(n,e,t){return t?e+":"+t+";":""}function AG(n){let e="";for(let t=0;t{const r=cP(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),KN()&&AG(n))}function Qf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=cP(t);n.style[i]=""}),KN()&&AG(n))}const HSe=/-+([a-z0-9])/g;function cP(n){return n.replace(HSe,(...e)=>e[1].toUpperCase())}function GSe(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Am{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=Am.initialStylesByElement.get(e);r||Am.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&hu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(hu(this._element,this._initialStyles),this._endStyles&&(hu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Am.initialStylesByElement.delete(this._element),this._startStyles&&(Qf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Qf(this._element,this._endStyles),this._endStyles=null),hu(this._element,this._initialStyles),this._state=3)}}Am.initialStylesByElement=new WeakMap;const Nl=new Ht("AnimationModuleType");function Mb(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function xP(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?function(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}(t):this.defaultTabIndex}}}let ep;try{ep="undefined"!=typeof Intl}catch(n){ep=!1}function hd(n,e,t,i){return Q(t)&&(i=t,t=void 0),i?hd(n,e,t).pipe(ye(r=>F(r)?i(...r):i(r))):new P(r=>{x$(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function x$(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let z1e=1;const H1e=Promise.resolve(),C1={};function C$(n){return n in C1&&(delete C1[n],!0)}const A$={setImmediate(n){const e=z1e++;return C1[e]=!0,H1e.then(()=>C$(e)&&n()),e},clearImmediate(n){C$(n)}};new class extends uc{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=A$.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(A$.clearImmediate(t),e.scheduled=void 0)}});function Tm(n){return!!n&&(n instanceof P||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class Y1e{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new K1e(e,this.durationSelector))}}class K1e extends Ae{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=k(t,new _t(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function T$(n){return!F(n)&&n-parseFloat(n)+1>=0}function Q1e(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function A1(n,e=Kx){return function(n){return function(t){return t.lift(new Y1e(n))}}(()=>function(n=0,e,t){let i=-1;return T$(e)?i=Number(e)<1?1:Number(e):Ie(e)&&(t=e),Ie(t)||(t=Kx),new P(r=>{const s=T$(n)?n:+n-t.now();return t.schedule(Q1e,s,{index:0,period:i,subscriber:r})})}(n,e))}let D$=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({factory:function(){return new n},token:n,providedIn:"root"}),n})(),Mm=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new se,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new P(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(A1(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):fn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Qi(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=ad(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>hd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(ke(gn),ke(Zi),ke(pn,8))},n.\u0275prov=et({factory:function(){return new n(ke(gn),ke(Zi),ke(pn,8))},token:n,providedIn:"root"}),n})(),Dm=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new se,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(A1(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(ke(Zi),ke(gn),ke(pn,8))},n.\u0275prov=et({factory:function(){return new n(ke(Zi),ke(gn),ke(pn,8))},token:n,providedIn:"root"}),n})();class DP{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class M1 extends DP{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Im extends DP{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}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()}}class pCe extends DP{constructor(e){super(),this.element=e instanceof En?e.nativeElement:e}}class D1{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof M1?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Im?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof pCe?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}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)}}class gCe extends D1{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let tp=(()=>{class n extends D1{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new sn,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(Oe(wl),Oe(Ns),Oe(pn))},n.\u0275dir=Rt({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[An]}),n})();const k$=LH();class bCe{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=vs(-this._previousScrollPosition.left),e.style.top=vs(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),k$&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),k$&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class vCe{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const 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}}class L${enable(){}disable(){}attach(){}}function IP(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function B$(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class wCe{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();IP(t,[{width:i,height:r,bottom:r,right:i,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}}let ECe=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new L$,this.close=o=>new vCe(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new bCe(this._viewportRuler,this._document),this.reposition=o=>new wCe(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(ke(Mm),ke(Dm),ke(gn),ke(pn))},n.\u0275prov=et({factory:function(){return new n(ke(Mm),ke(Dm),ke(gn),ke(pn))},token:n,providedIn:"root"}),n})();class O1{constructor(e){if(this.scrollStrategy=new L$,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class SCe{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class xCe{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let j$=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(ke(pn))},n.\u0275prov=et({factory:function(){return new n(ke(pn))},token:n,providedIn:"root"}),n})(),CCe=(()=>{class n extends j${constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(ke(pn))},n.\u0275prov=et({factory:function(){return new n(ke(pn))},token:n,providedIn:"root"}),n})(),ACe=(()=>{class n extends j${constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Yf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(ke(pn),ke(Zi))},n.\u0275prov=et({factory:function(){return new n(ke(pn),ke(Zi))},token:n,providedIn:"root"}),n})();const Sh="undefined"!=typeof window?window:{},V$=void 0!==Sh.__karma__&&!!Sh.__karma__||void 0!==Sh.jasmine&&!!Sh.jasmine||void 0!==Sh.jest&&!!Sh.jest||void 0!==Sh.Mocha&&!!Sh.Mocha;let Ob=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||V$){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(u),this._keydownEvents=new se,this._outsidePointerEvents=new se,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(Wi(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),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),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),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&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.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=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},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(){const e=this._config.direction;return e?"string"==typeof e?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;const e=this._pane.style;e.width=vs(this._config.width),e.height=vs(this._config.height),e.minWidth=vs(this._config.minWidth),e.minHeight=vs(this._config.minHeight),e.maxWidth=vs(this._config.maxWidth),e.maxHeight=vs(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),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),"undefined"!=typeof requestAnimationFrame?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)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;Xx(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(_r(kn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const U$="cdk-overlay-connected-position-bounding-box",MCe=/([A-Za-z%]+)$/;class z${constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,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 se,this._resizeSubscription=C.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(U$),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)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&np(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(U$),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(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){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=G$(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let p=0-a,g=a+s.height-i.height,m=this._subtractOverflows(s.width,0-o,o+s.width-i.width),D=this._subtractOverflows(s.height,p,g),O=m*D;return{visibleArea:O,isCompletelyWithinViewport:s.width*s.height===O,fitsInViewportVertically:D===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=H$(this._overlayRef.getConfig().minHeight),a=H$(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=G$(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let u=0,h=0;return u=r.width<=s.width?c||-o:e.xm&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-m/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)p=i.width-e.x+this._viewportMargin,u=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)h=e.x,u=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),m=this._lastBoundingBoxSize.width;u=2*g,h=e.x-g,u>m&&!this._isInitialRender&&!this._growAfterOpen&&(h=e.x-m/2)}return{top:o,left:h,bottom:a,right:p,width:u,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=vs(i.height),r.top=vs(i.top),r.bottom=vs(i.bottom),r.width=vs(i.width),r.left=vs(i.left),r.right=vs(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=vs(s)),o&&(r.maxWidth=vs(o))}this._lastBoundingBoxSize=i,np(this._boundingBox.style,r)}_resetBoundingBoxStyles(){np(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){np(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const u=this._viewportRuler.getViewportScrollPosition();np(i,this._getExactOverlayY(t,e,u)),np(i,this._getExactOverlayX(t,e,u))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=vs(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=vs(o.maxWidth):s&&(i.maxWidth="")),np(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=vs(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=vs(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:B$(e,i),isOriginOutsideView:IP(e,i),isOverlayClipped:B$(t,i),isOverlayOutsideView:IP(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&Xx(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof En)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function np(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function H$(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(MCe);return t&&"px"!==t?null:parseFloat(e)}return n||null}function G$(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class DCe{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new z$(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new SCe(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const W$="cdk-global-overlay-wrapper";class ICe{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const 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(W$),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-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._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(W$),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let OCe=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new ICe}connectedTo(t,i,r){return new DCe(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new z$(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(ke(Dm),ke(pn),ke(Zi),ke(Ob))},n.\u0275prov=et({factory:function(){return new n(ke(Dm),ke(pn),ke(Zi),ke(Ob))},token:n,providedIn:"root"}),n})(),RCe=0,wc=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u,h,p){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=h,this._outsideClickDispatcher=p}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new O1(t);return o.direction=o.direction||this._directionality.value,new TCe(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+RCe++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(ih)),new gCe(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(ke(ECe),ke(Ob),ke(wl),ke(OCe),ke(CCe),ke(Wn),ke(gn),ke(pn),ke(Il),ke(Pg),ke(ACe))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();function a7(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>ye(function(n,e){return i=>{let r=i;for(let s=0;s{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const 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 fd?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){const t=new fd;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof fd?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class iTe{encodeKey(e){return w7(e)}encodeValue(e){return w7(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const sTe=/%(\d[a-f0-9])/gi,oTe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function w7(n){return encodeURIComponent(n).replace(sTe,(e,t)=>{var i;return null!==(i=oTe[t])&&void 0!==i?i:e})}function E7(n){return`${n}`}class xh{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new iTe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const 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){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,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=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new xh({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(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":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(E7(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(E7(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class aTe{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}keys(){return this.map.keys()}}function S7(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function x7(n){return"undefined"!=typeof Blob&&n instanceof Blob}function C7(n){return"undefined"!=typeof FormData&&n instanceof FormData}class Rb{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new fd),this.context||(this.context=new aTe),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ap.set(g,e.setHeaders[g]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((p,g)=>p.set(g,e.setParams[g]),u)),new Rb(i,r,o,{params:u,headers:c,context:h,reportProgress:l,responseType:s,withCredentials:a})}}var ws=(()=>((ws=ws||{})[ws.Sent=0]="Sent",ws[ws.UploadProgress=1]="UploadProgress",ws[ws.ResponseHeader=2]="ResponseHeader",ws[ws.DownloadProgress=3]="DownloadProgress",ws[ws.Response=4]="Response",ws[ws.User=5]="User",ws))();class N1 extends class{constructor(e,t=200,i="OK"){this.headers=e.headers||new fd,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}{constructor(e={}){super(e),this.type=ws.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new N1({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}function LP(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let ip=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof Rb)s=t;else{let l,c;l=r.headers instanceof fd?r.headers:new fd(r.headers),r.params&&(c=r.params instanceof xh?r.params:new xh({fromObject:r.params})),s=new Rb(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=fn(s).pipe(function(n,e){return z(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof Rb||"events"===r.observe)return o;const a=o.pipe(Qi(l=>l instanceof N1));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(ye(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(ye(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(ye(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(ye(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new xh).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,LP(r,i))}post(t,i,r={}){return this.request("POST",t,LP(r,i))}put(t,i,r={}){return this.request("PUT",t,LP(r,i))}}return n.\u0275fac=function(t){return new(t||n)(ke(b7))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const _Te=["*"];function O7(n){return Error(`Unable to find icon with the name "${n}"`)}function R7(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function N7(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class rp{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let P1=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,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",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new rp(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(ni.HTML,r);if(!o)throw N7(r);return this._addSvgIconConfig(t,i,new rp("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new rp(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(ni.HTML,i);if(!s)throw N7(i);return this._addSvgIconSetConfig(t,new rp("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(ni.RESOURCE_URL,t);if(!i)throw R7(t);const r=this._cachedIconsByUrl.get(i);return r?fn(F1(r)):this._loadSvgIconFromConfig(new rp(t,null)).pipe(Yr(s=>this._cachedIconsByUrl.set(i,s)),ye(s=>F1(s)))}getNamedSvgIcon(t,i=""){const r=P7(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Fg(O7(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?fn(F1(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(ye(i=>F1(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?fn(r):ub(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(bc(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(ni.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),fn(null)})))).pipe(ye(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw O7(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(Yr(i=>t.svgText=i),ye(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?fn(null):this._fetchIcon(t).pipe(Yr(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;se.lift(new tTe(n))}(()=>this._inProgressUrlFetches.delete(a)),Es());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(P7(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),F7=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],CTe=F7.map(n=>`[${n}]`).join(", "),ATe=/^url\(['"]?#(.*?)['"]?\)$/;let Nm=(()=>{class n extends wTe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=C.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=xi(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(CTe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(ATe):null;if(c){let u=r.get(a);u||(u=[],r.set(a,u)),u.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(Wi(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(Oe(En),Oe(P1),Fo("aria-hidden"),Oe(ETe),Oe(oa))},n.\u0275cmp=ln({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(Bi("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),vi("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[An],ngContentSelectors:_Te,decls:1,vars:0,template:function(t,i){1&t&&(is(),si(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[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}\n"],encapsulation:2,changeDetection:0}),n})();function LTe(n,e){}class zP{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const BTe={dialogContainer:Em("dialogContainer",[vc("void, exit",fs({opacity:0,transform:"scale(0.7)"})),vc("enter",fs({transform:"none"})),ud("* => enter",cd("150ms cubic-bezier(0, 0, 0.2, 1)",fs({transform:"none",opacity:1}))),ud("* => void, * => exit",cd("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",fs({opacity:0})))])};let jTe=(()=>{class n extends D1{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new sn,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=Zx(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=Zx())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=Zx();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(Oe(En),Oe(XH),Oe(Dr),Oe(pn,8),Oe(zP),Oe(du))},n.\u0275dir=Rt({type:n,viewQuery:function(t,i){if(1&t&&ss(tp,7),2&t){let r;ii(r=ri())&&(i._portalOutlet=r.first)}},features:[An]}),n})(),VTe=(()=>{class n extends jTe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275cmp=ln({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&fE("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(Lu("id",i._id),Bi("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),mE("@dialogContainer",i._state))},features:[An],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&Di(0,LTe,0,0,"ng-template",0)},directives:[tp],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[BTe.dialogContainer]}}),n})(),UTe=0;class k1{constructor(e,t,i="mat-dialog-"+UTe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new se,this._afterClosed=new se,this._beforeClosed=new se,this._state=0,t._id=i,t._animationStateChanged.pipe(Qi(r=>"opened"===r.state),Wi(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Qi(r=>"closed"===r.state),Wi(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Qi(r=>27===r.keyCode&&!this.disableClose&&!Dl(r))).subscribe(r=>{r.preventDefault(),HP(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():HP(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Qi(t=>"closing"===t.state),Wi(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();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._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function HP(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const B7=new Ht("MatDialogData"),zTe=new Ht("mat-dialog-default-options"),j7=new Ht("mat-dialog-scroll-strategy");let $Te=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=u,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new se,this._afterOpenedAtThisLevel=new se,this._ariaHiddenElements=new Map,this.afterAllClosed=function(n){return new P(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?qe(t):lS()).subscribe(e)})}(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(ao(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new zP)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new O1({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Wn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:zP,useValue:i}]}),o=new M1(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof zo)i.attachTemplatePortal(new Im(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new M1(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Il,null,Sn.Optional))&&o.push({provide:Il,useValue:{value:t.direction,change:fn()}}),Wn.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(Oe(wc),Oe(Wn),Oe(void 0),Oe(void 0),Oe(Ob),Oe(void 0),Oe(xu),Oe(xu),Oe(Ht))},n.\u0275dir=Rt({type:n}),n})(),Pb=(()=>{class n extends $Te{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,k1,VTe,B7)}}return n.\u0275fac=function(t){return new(t||n)(ke(wc),ke(Wn),ke(Pg,8),ke(zTe,8),ke(j7),ke(n,12),ke(Ob))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),qTe=0,V7=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+qTe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(Oe(k1,8),Oe(En),Oe(Pb))},n.\u0275dir=Rt({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&Lu("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),U7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Rt({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();const $P=new Ht("CdkAccordion");let XTe=0,ZTe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=C.EMPTY,this.closed=new sn,this.opened=new sn,this.destroyed=new sn,this.expandedChange=new sn,this.id="cdk-accordion-child-"+XTe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=xi(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=xi(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(Oe($P,12),Oe(Dr),Oe(D$))},n.\u0275dir=Rt({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Hn([{provide:$P,useValue:void 0}])]}),n})();const eMe=["body"];function tMe(n,e){}const nMe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],iMe=["mat-expansion-panel-header","*","mat-action-row"];function rMe(n,e){1&n&&bi(0,"span",2),2&n&&rn("@indicatorRotate",ci()._getExpandedState())}const sMe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],oMe=["mat-panel-title","mat-panel-description","*"],WP=new Ht("MAT_ACCORDION"),H7="225ms cubic-bezier(0.4,0.0,0.2,1)",G7={indicatorRotate:Em("indicatorRotate",[vc("collapsed, void",fs({transform:"rotate(0deg)"})),vc("expanded",fs({transform:"rotate(180deg)"})),ud("expanded <=> collapsed, void => collapsed",cd(H7))]),bodyExpansion:Em("bodyExpansion",[vc("collapsed, void",fs({height:"0px",visibility:"hidden"})),vc("expanded",fs({height:"*",visibility:"visible"})),ud("expanded <=> collapsed, void => collapsed",cd(H7))])};let aMe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(Oe(zo))},n.\u0275dir=Rt({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),lMe=0;const $7=new Ht("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let W7=(()=>{class n extends ZTe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new sn,this.afterCollapse=new sn,this._inputChanges=new se,this._headerId="mat-expansion-panel-header-"+lMe++,this._bodyAnimationDone=new se,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(rd((c,u)=>c.fromState===u.fromState&&c.toState===u.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=xi(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(ao(null),Qi(()=>this.expanded&&!this._portal),Wi(1)).subscribe(()=>{this._portal=new Im(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(Oe(WP,12),Oe(Dr),Oe(D$),Oe(Ns),Oe(pn),Oe(Nl,8),Oe($7,8))},n.\u0275cmp=ln({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&function(n,e,t,i){const r=Ei();if(r.firstCreatePass){const s=cs();F3(r,new R3(e,t,i),s.index),function(n,e){const t=n.contentQueries||(n.contentQueries=[]);e!==(t.length?t[t.length-1]:-1)&&t.push(n.queries.length-1,e)}(r,n),2==(2&t)&&(r.staticContentQueries=!0)}P3(r,Vt(),t)}(r,aMe,5),2&t){let s;ii(s=ri())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&ss(eMe,5),2&t){let r;ii(r=ri())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&vi("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Hn([{provide:WP,useValue:void 0}]),An,Ui],ngContentSelectors:iMe,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(is(nMe),si(0),Pt(1,"div",0,1),Un("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),Pt(3,"div",2),si(4,1),Di(5,tMe,0,0,"ng-template",3),Ft(),si(6,2),Ft()),2&t&&(Zt(1),rn("@bodyExpansion",i._getExpandedState())("id",i.id),Bi("aria-labelledby",i._headerId),Zt(4),rn("cdkPortalOutlet",i._portal))},directives:[tp],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[G7.bodyExpansion]},changeDetection:0}),n})();class uMe{}const dMe=xP(uMe);let q7=(()=>{class n extends dMe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=C.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Qi(u=>!(!u.hideToggle&&!u.togglePosition))):Yc;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=kn(t.opened,t.closed,c,t._inputChanges.pipe(Qi(u=>!!(u.hideToggle||u.disabled||u.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Qi(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Dl(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(Oe(W7,1),Oe(En),Oe(du),Oe(Dr),Oe($7,8),Oe(Nl,8),Fo("tabindex"))},n.\u0275cmp=ln({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&Un("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(Bi("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),jy("height",i._getHeaderHeight()),vi("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[An],ngContentSelectors:oMe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(is(sMe),Pt(0,"span",0),si(1),si(2,1),si(3,2),Ft(),Di(4,rMe,1,1,"span",1)),2&t&&(Zt(4),rn("ngIf",i._showToggle()))},directives:[lc],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[G7.indicatorRotate]},changeDetection:0}),n})();var Y7=Je(478);Object.create(Error.prototype);const mMe=["*"];var B1=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(B1||(B1={})),B1))();class yMe{}const X7=new Ht("SECURITY_CONTEXT");let qP=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new Y7.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=Y7.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(ye(i=>this.handleExtension(t,i)))}highlight(t){if(Tf(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Tf(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Tf(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Tf(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(ke(Wc),ke(X7),ke(ip,8),ke(yMe,8),ke(Mf))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),Q7=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new sn,this.load=new sn,this.ready=new sn,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,B1.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;sF(i)?t(...i):t(i))):new P(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Q(e))return()=>e(r,s)})}function YP(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new CMe(n,t))}}class CMe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new AMe(e,this.observables,this.project))}}class AMe extends l7{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class TMe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new MMe(e,this.accumulator,this.seed,this.hasSeed))}}class MMe extends v{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class OMe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new RMe(e,this.predicate))}}class RMe extends v{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const NMe=["youtubeContainer"];let t9=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new se,this._destroyed=new se,this._playerChanges=new Br(void 0),this._videoId=new Br(void 0),this._height=new Br(390),this._width=new Br(640),this._startSeconds=new Br(void 0),this._endSeconds=new Br(void 0),this._suggestedQuality=new Br(void 0),this._playerVars=new Br(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Tf(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=fn(!0);if(!window.YT||!window.YT.Player){const r=new se;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(Wi(1),ao(!1))}const i=function(n,e,t,i,r,s,o){const a=Yo([e,s]).pipe(YP(Yo([i,r])),ye(([l,c])=>{const[u,h]=l,[p,g]=c;return u?{videoId:u,playerVars:h,width:p,height:g}:void 0}));return Yo([n,a,fn(o)]).pipe(function(n){return H(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&F(n[0])&&(n=n[0].slice()),t=>t.lift.call(qe([t,...n]),new d7(e))}(n),function(n){return e=>e.lift(new OMe(n))}(([e,t])=>!t),ye(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new TMe(n,e,t))}}(jMe,void 0),rd())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(Yr(r=>{this._playerChanges.next(r)}),z(e=>e?n9(e)?fn(e):new P(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{n9(r)||r.destroy()})(e)}}).pipe(Wi(1),ao(void 0)):fn(void 0)),_r(this._destroyed),el(new se));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){Yo([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){Yo([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=Yo([t,i]).pipe(ye(([u,h])=>({startSeconds:u,endSeconds:h}))),a=o.pipe(XP(n,u=>!!u&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(u))),l=e.pipe(XP(n,(u,h)=>!!u&&u.videoId!==h));kn(n.pipe(XP(Yo([e,o]),([u,h],p)=>!(!p||u==p.videoId&&!h.startSeconds&&!h.endSeconds))),l,a).pipe(YP(Yo([n,e,o,r])),ye(([u,h])=>h),_r(s)).subscribe(([u,h,p,g])=>{!h||!u||(u.videoId=h,u.cueVideoById(Object.assign({videoId:h,suggestedQuality:g},p)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(Ir(i=>i?Z7(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):fn()),i=>new P(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),_r(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(Wc))},n.\u0275cmp=ln({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&ss(NMe,5),2&t){let r;ii(r=ri())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&bi(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function jMe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function n9(n){return"getPlayerStatus"in n}function XP(n,e){return H(YP(n),Qi(([t,i])=>e(i,t)),ye(([t])=>t))}let KMe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Rt({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function kb(n){return!0===n}function Xa(n){return null==n}function Qa(n){return!Xa(n)}function QP(n){return Boolean(n)}function o9(n){return Xa(n)?n:JSON.parse(JSON.stringify(n))}const V1=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&V1(n[o])}),n};function a9(n){return Qa(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const u9="NGXS_DATA_META",JP="NGXS_META",d9="NGXS_ARGUMENT_REGISTRY_META";let h9=(()=>{class n{constructor(t){this.sequence$=new Br(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(ke(cu,8))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();function Lb(n){return n[u9]}let Za=(()=>{class n{constructor(t,i,r){n.store=t.get(cu),n.ngZone=t.get(gn),n.factory=i,n.context=r,n.computed=t.get(h9)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(ke(Wn),ke(a6),ke(o6))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();class ps{constructor(){ps.statesCachedMeta.clear()}static createStateContext(e){return Za.context.createStateContext(e)}static ensureMappedState(e){if(Xa(Za.factory)||Xa(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(Qa(e.name)?ps.statesCachedMeta.get(e.name):null)||ps.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=Lb(ps.getStateClassByInstance(e)))&&void 0!==t?t:null;if(Xa(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=ps.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=ps.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=Qa(e.name)?null===(t=Za.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return Qa(i)&&Qa(e.name)&&ps.statesCachedMeta.set(e.name,i),i}}ps.statesCachedMeta=new Map,ps.\u0275fac=function(e){return new(e||ps)},ps.\u0275prov=et({token:ps,factory:ps.\u0275fac}),new kg(1);class mDe extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${Qa(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function f9(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function p9(n){var e;const t=f9(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=o9(void 0===t.defaults?{}:t.defaults);if(i.length){if(a9(s))return function(n,e){return e.reduce((t,i)=>{const r=f9(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=p9(i),t},null!=n?n:{})}(s,i);throw new mDe(s)}return s}function m9(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function _9(){var n,e;return null!==(e=null===(n=null==Za?void 0:Za.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function vDe(n){let e=!1;return Tm(n)&&(e=!0),e}function e2(n){return n[d9]}class wDe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class EDe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(QP(this.argumentMap.has(e))||QP(this.payloadMap.has(e)))throw new wDe(e,t)}}function MDe(n){return{enumerable:!0,configurable:!0,get(){const e=Lb(n),t=ps.ensureMappedState(e.stateMeta);return ps.createStateContext(t)}}}function y9(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(a9(i))for(;null!==i;){if(kb(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return Xa(m9(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),m9(n)}(this),o=null==s?void 0:s.get(i);if(kb(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(Xa(o)||o.sequenceId!==_9()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:_9(),isObservable:vDe(l)}),l}return o.value},t}}const PDe={cancelUncompleted:!0,insideZone:!1};function t2(n=PDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=ps.getRepositoryByInstance(a),u=c.operations;let h=u[s];const p=c.stateMeta,g=e2(r);if(Xa(h)){const $=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),pe=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var $;return kb(n.insideZone)?null===($=Za.ngZone)||void 0===$||$.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),Tm(l)?fn(null).pipe(ye(()=>l)):l};const O=ps.createAction(h,o,g),W=Za.store.dispatch(O);return Tm(l)?function(n,e){return ub([n,e]).pipe(ye(t=>t.pop()))}(W,l):l},i}}function b9(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return Xa(e2(t))&&Object.defineProperties(t,{[d9]:{enumerable:!0,configurable:!0,value:new EDe}}),e2(t)})(e,t).createPayloadType(r,t,i)}}function kDe(){return n=>{const e=function(n){if(function(n){return!QP(n)}(n.hasOwnProperty(JP))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,JP,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[JP]}(n)}(n);if(Xa(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=Lb(n))&&void 0!==e?e:null;return(Xa(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,u9,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),Lb(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>o9(t)},context:MDe(n)})}(n,e,p9(n)),function(n){var e,t;const i=Lb(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(Qa(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(Qa(this[s]))return this[s];if(Xa(Za.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=Za.store.select(n).pipe(ye(o=>Ba()?V1(o):o),$a({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}let BDe=(()=>{class n{constructor(){this.browserStorageEvents$=new se,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})(),jDe=(()=>{class n extends BDe{get snapshot(){return function(n){return Ba()?V1(n):n}(this.getState())}get ctx(){return function(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>Ba()?V1(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275prov=et({token:n,factory:n.\u0275fac}),rr([y9(),dc("design:type",Object),dc("design:paramtypes",[])],n.prototype,"snapshot",null),rr([t2(),Aj(0,b9("patchValue")),dc("design:type",Function),dc("design:paramtypes",[Object]),dc("design:returntype",void 0)],n.prototype,"patchState",null),rr([t2(),Aj(0,b9("stateValue")),dc("design:type",Function),dc("design:paramtypes",[Object]),dc("design:returntype",void 0)],n.prototype,"setState",null),rr([t2(),dc("design:type",Function),dc("design:paramtypes",[]),dc("design:returntype",void 0)],n.prototype,"reset",null),n})();const jm=new Ht("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),C2=new Ht("ngx-window",{providedIn:"root",factory:()=>function(n){return Tf(n)?window:null}(Fc(Wc))}),ZOe=new Ht("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Fc(C2))}),A2=new Ht("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Fc(C2),Fc(ZOe))});let T2=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||Ba())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(ke(jm),ke(pn),ke(A2))},n.\u0275prov=et({factory:function(){return new n(ke(jm),ke(pn),ke(A2))},token:n,providedIn:"root"}),n})();new Ht("ngx-google-analytics-routing-settings",{factory:()=>({})}),new Ht("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"});class MW extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function bRe(){throw new MW}function vRe(){throw new MW}function I2(n,e,t){e.run(()=>n.dispatch(t))}function SRe(n,e,t,i){return yg(t)?function(n,e,t){return t.then(i=>(I2(n,e,i),i))}(n,e,t):Tm(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(_r(i.cancelUncompleted$))),t.subscribe({next:r=>I2(n,e,r)}),t}(n,e,t,i):(I2(n,e,t),t)}class xRe{constructor(){this.cancelUncompleted$=new se}cancelPreviousAction(){this.cancelUncompleted$.next()}}const O2="\u0275fac",DW=Symbol("InjectorInstance"),IW=Symbol("FactoryHasBeenDecorated");function OW(n,e){const t=n[DW];return t?t.get(e):null}const TRe={cancelUncompleted:!1};function RW(n=TRe){return(e,t,i)=>{let r;const s=function(n){return n?new xRe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=OW(this,cu)||bRe(),l=OW(this,gn)||vRe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>SRe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(IW in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[O2]&&function(n){const e=n[O2];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[DW]=Oe(Pu),r};t&&(t.factory=i),Object.defineProperty(n,O2,{get:()=>i})}(e),n.constructor.prototype[IW]=!0}(e)}}const tNe=["bodyCanvas"];let nNe=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new sn,this.nodeDrag=new sn,this.nodeClick=new sn,this.nodeHoverStart=new sn,this.nodeHoverStop=new sn,this.initialized=new sn,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return Fi(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new Qve({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&ss(tNe,5,En),2&t){let r;ii(r=ri())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&vl(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&bi(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),iNe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({imports:[[qr]]}),n})();function ENe(n,e){if(1&n&&(Pt(0,"div",16),bi(1,"youtube-player",17),Ft()),2&n){const t=ci(3);Zt(1),pE("videoId",t.videoID)}}function SNe(n,e){if(1&n&&(Pt(0,"mat-expansion-panel",11),Pt(1,"mat-expansion-panel-header"),Pt(2,"h2",12),Oi(3),Ft(),Ft(),Pt(4,"div",13),bi(5,"markdown",14),Di(6,ENe,2,1,"div",15),Ft(),Ft()),2&n){const t=ci(),i=t.index,r=t.$implicit;rn("expanded",0===i),Zt(3),da(r.title),Zt(2),vi("first",0===i),rn("data",r.content),Zt(1),rn("ngIf",0===i)}}function xNe(n,e){if(1&n&&(Pt(0,"div",9),Di(1,SNe,7,6,"mat-expansion-panel",10),Ft()),2&n){const t=e.$implicit;Zt(1),rn("ngIf",t)}}new Ht("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10}),[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name)).filter(n=>!0!==n.disabled);let GW=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(Oe(k1),Oe(B7))},n.\u0275cmp=ln({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(Pt(0,"div",0),Pt(1,"div",1),Pt(2,"div",2),Pt(3,"div",3),Pt(4,"h2",4),Oi(5),Ft(),Pt(6,"div",5),Pt(7,"mat-icon",6),Un("click",function(){return i.close()}),Oi(8,"clear"),Ft(),Ft(),Ft(),Pt(9,"mat-dialog-content",7),Di(10,xNe,2,1,"div",8),Ft(),Ft(),Ft(),Ft()),2&t&&(Zt(5),da(i.infoTitle),Zt(5),rn("ngForOf",i.documentationContents))},directives:[V7,Nm,U7,Af,lc,W7,q7,Q7,t9],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),$W=(()=>{class n{constructor(t){this.http=t,this.panelContent=new Br({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(ke(ip))},n.\u0275prov=et({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),ANe=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new sn,this.closeClicked=new sn}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&vl(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(Pt(0,"div",0),Pt(1,"div",1),Pt(2,"div",2),Pt(3,"div",3),Pt(4,"p",4),Oi(5),Ft(),Pt(6,"mat-icon",5),Un("click",function(){return i.close()}),Oi(7,"clear"),Ft(),Ft(),bi(8,"img",6),Pt(9,"mat-dialog-content",7),Pt(10,"div",8),Oi(11),Ft(),Pt(12,"a",9),Un("click",function(){return i.onDialogButtonClick()}),Ft(),Ft(),Ft(),Ft(),Ft()),2&t&&(Zt(5),da(i.infoTitle),Zt(3),rn("src",i.imageUrl,nf),Zt(3),ha(" ",i.message,""),Zt(1),rn("text",i.callToAction))},directives:[V7,Nm,KMe,U7],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),Yb=(()=>{let n=class extends jDe{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(Qi(n=>null!=n),$a(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(a7(...t),rd(),$a(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(a7(...t),rd(),$a(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=nr(n)))(i||n)}}(),n.\u0275prov=et({token:n,factory:n.\u0275fac}),rr([y9()],n.prototype,"config$",null),n=rr([kDe(),M6({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}(),new se;let F2=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),k2=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),L2=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var B2;class wa{get length(){var e,t;return null!==(t=null===(e=wa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=wa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=wa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=wa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=wa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=wa.storage)||void 0===e||e.clear()}}wa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),wa.\u0275fac=function(e){return new(e||wa)},wa.\u0275prov=et({token:wa,factory:wa.\u0275fac,providedIn:"root"});const YW="callToActionPopupShown";let Do=B2=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(YW,`${i}`),s=B2.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new k2)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(ye(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open(GW,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(Yr(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(NNe,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(YW,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};Do.\u0275fac=function(e){return new(e||Do)(ke(Pb),ke(T2),ke(wa),ke($W),ke(ip))},Do.\u0275prov=et({token:Do,factory:Do.\u0275fac}),rr([_N(F2)],Do.prototype,"learnMore",null),rr([_N(k2)],Do.prototype,"open",null),rr([_N(L2)],Do.prototype,"close",null),Do=B2=rr([M6({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Do);let oC=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return rr([_m([Do])],n,"title",null),rr([_m([Do])],n,"message",null),rr([_m([Do])],n,"callToAction",null),rr([_m([Do])],n,"imageUrl",null),rr([_m([Do])],n,"expirationDate",null),rr([_m([Do])],n,"popupShown",null),n})(),NNe=(()=>{class n{constructor(){this.close=()=>new L2,this.learnMore=()=>new F2}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=ln({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(Pt(0,"ccf-call-to-action",0),Un("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),xl(1,"async"),xl(2,"async"),xl(3,"async"),xl(4,"async"),Ft()),2&t&&rn("infoTitle",Vu(1,4,i.title$))("message",Vu(2,6,i.message$))("callToAction",Vu(3,8,i.callToAction$))("imageUrl",Vu(4,10,i.imageUrl$))},directives:[ANe],pipes:[h0],styles:[""],changeDetection:0}),rr([kx(oC.title)],n.prototype,"title$",void 0),rr([kx(oC.message)],n.prototype,"message$",void 0),rr([kx(oC.callToAction)],n.prototype,"callToAction$",void 0),rr([kx(oC.imageUrl)],n.prototype,"imageUrl$",void 0),rr([RW()],n.prototype,"close",void 0),rr([RW()],n.prototype,"learnMore",void 0),n})();const KW="http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity",BNe=[173,255,47,229.5];var HNe=Je(104),GNe=Je.n(HNe),xn=Je(440),$Ne=Je(698),WNe=Je(445),qNe=Je.n(WNe),fr=Je(815),Kb=Je(609);const or=xn.Util.prefixes({base:"http://purl.org/ccf/latest/ccf.owl#",ccf:"http://purl.org/ccf/",fma:"http://purl.org/sig/ont/fma/fma",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/"},xn.DataFactory),un=(or("rdf"),or("rdf")("type"),or("rdfs"),or("rdfs")("label"),or("rdfs")("comment"),or("rdfs")("isDefinedBy"),or("rdfs")("seeAlso"),or("ccf")),co_label=(or("ccf")("has_registration_location"),or("rdfs")("label")),co_description=or("rdfs")("comment"),co_link=un("url"),co_providerName=(un("sex"),un("age"),un("bmi"),xn.DataFactory.literal("Male"),xn.DataFactory.literal("Female"),un("consortium_name"),un("tissue_provider_name")),co_donor=(un("tissue_provider_uuid"),un("comes_from")),co_sections=un("subdivided_into_sections"),co_datasets=un("generates_dataset"),co_sampleType=un("sample_type"),co_sectionCount=(xn.DataFactory.literal("Tissue Block"),xn.DataFactory.literal("Tissue Section"),xn.DataFactory.literal("Non-standard"),un("section_count")),co_sectionSize=un("section_size"),co_sectionUnits=un("section_size_unit"),co_sectionNumber=un("section_number"),co_spatialEntity=un("has_registration_location"),co_technology=(un("has_ontology_term"),un("has_cell_type_term"),un("technology")),co_thumbnail=un("thumbnail"),md={x:un,base:or("base"),ontologyNode:{label:un("ccf_pref_label"),parent:un("ccf_part_of"),children:un("ccf_part_of"),rui_rank:un("rui_rank"),synonymLabels:xn.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:un("ccf_part_of"),ct_is_a:un("ccf_ct_isa"),located_in:un("ccf_located_in"),characterizes:un("ccf_characterizes")},spatial:{Female:or("base")("VHFemale"),Male:or("base")("VHMale"),BothSexes:or("base")("VHBothSexes"),FemaleOrgans:or("base")("VHFemaleOrgans"),MaleOrgans:or("base")("VHMaleOrgans")},SpatialObjectReference:un("spatial_object_reference"),SpatialEntity:un("spatial_entity"),SpatialPlacement:un("spatial_placement"),spatialObjectReference:{file:un("file_url"),file_format:un("file_format"),file_subpath:un("file_subpath")},extractionSet:{label:or("rdfs")("label"),rui_rank:un("rui_rank")},spatialEntity:{label:or("rdfs")("label"),description:or("rdfs")("comment"),creator:or("dcterms")("creator"),creator_first_name:un("creator_first_name"),creator_last_name:un("creator_last_name"),creator_orcid:un("creator_orcid"),creation_date:or("dcterms")("created"),updated_date:un("updated_date"),ccf_annotations:un("collides_with"),representation_of:un("representation_of"),reference_organ:un("has_reference_organ"),extraction_set_for:un("extraction_set_for"),extraction_set:un("has_extraction_set"),sex:un("organ_owner_sex"),side:un("organ_side"),rui_rank:un("rui_rank"),slice_thickness:un("slice_thickness"),slice_count:un("slice_count"),x_dimension:un("x_dimension"),y_dimension:un("y_dimension"),z_dimension:un("z_dimension"),dimension_units:un("dimension_unit"),object:un("has_object_reference")},spatialPlacement:{source:un("placement_for"),target:un("placement_relative_to"),placement_date:or("dcterms")("created"),x_scaling:un("x_scaling"),y_scaling:un("y_scaling"),z_scaling:un("z_scaling"),scaling_units:un("scaling_unit"),x_rotation:un("x_rotation"),y_rotation:un("y_rotation"),z_rotation:un("z_rotation"),w_rotation:un("theta_rotation"),rotation_order:un("rotation_order"),rotation_units:un("rotation_unit"),x_translation:un("x_translation"),y_translation:un("y_translation"),z_translation:un("z_translation"),translation_units:un("translation_unit")}},ui={x:or("uberon"),body:or("uberon")("0013702")},XNe={x:or("cl"),cell:or("cl")("0000000")},Xb={x:or("fma")},XW=(or("lmha"),{body:ui.body,cell:XNe.cell,respiratory_system:ui.x("0001004"),colon:ui.x("0001155"),left_lung:ui.x("0002168"),right_lung:ui.x("0002167"),left_bronchus:ui.x("0002178"),right_bronchus:ui.x("0002177"),kidney:ui.x("0002113"),ureter:ui.x("0000056"),eye:ui.x("0000970"),fallopian_tube:ui.x("0003889"),knee:ui.x("0001465"),ovary:ui.x("0000992"),trachea:ui.x("0003126"),aorta:ui.x("0000947"),blood:ui.x("0000178"),bone_marrow:ui.x("0002371"),male_reproductive_system:ui.x("0000079"),lymph_node:ui.x("0000029"),blood_vasculature:ui.x("0004537"),brain:ui.x("0000955"),eye_left:ui.x("0004548"),eye_right:Xb.x("54449"),fallopian_tube_left:ui.x("0001303"),fallopian_tube_right:ui.x("0001302"),heart:ui.x("0000948"),kidney_left:ui.x("0004538"),kidney_right:ui.x("0004539"),knee_left:Xb.x("24978"),knee_right:Xb.x("24977"),large_intestine:ui.x("0000059"),liver:ui.x("0002107"),lungs:ui.x("0002048"),mesenteric_lymph_node:ui.x("0002509"),ovary_left:Xb.x("7214"),ovary_right:Xb.x("7213"),pancreas:ui.x("0001264"),pelvis:ui.x("0001270"),prostate_gland:ui.x("0002367"),skin:ui.x("0002097"),small_intestine:ui.x("0002108"),spleen:ui.x("0002106"),thymus:ui.x("0002370"),ureter_left:ui.x("0001223"),ureter_right:ui.x("0001222"),urinary_bladder:ui.x("0001255"),uterus:ui.x("0000995")});function j2(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}j2(md.spatialObjectReference),j2(md.spatialEntity),j2(md.spatialPlacement),new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]);const zm=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Pr=(Math,Math,{});function dPe(n,{precision:e=Pr.precision||4}={}){return n=function(n){return Math.round(n/Pr.EPSILON)*Pr.EPSILON}(n),"".concat(parseFloat(n.toPrecision(e)))}function Ah(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Zb(n,e,t){const i=Pr.EPSILON;t&&(Pr.EPSILON=t);try{if(n===e)return!0;if(Ah(n)&&Ah(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+dPe(this[i],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e=a+s)return this.clone();if(s>=a+i)return e.clone();const l=.5*(i+a+s);return oq.copy(o).scale((-i+l)/a).add(t),this.center.copy(oq),this.radius=l,this}expand(e){const t=(e=Jb.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}transform(e){this.center.transform(e);const t=function(n,e){var s=e[4],o=e[5],a=e[6],l=e[8],c=e[9],u=e[10];return n[0]=Math.hypot(e[0],e[1],e[2]),n[1]=Math.hypot(s,o,a),n[2]=Math.hypot(l,c,u),n}(Jb,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const t=(e=Jb.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}intersectPlane(e){const i=this.radius,s=e.normal.dot(this.center)+e.distance;return s<-i?zm.OUTSIDE:s0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return uz(this,this,e),this.check()}rotateY(e){return dz(this,this,e),this.check()}rotateZ(e){return hz(this,this,e),this.check()}scale(e){return fR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=TPe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return J0(this,e,t,i),this.check()}transformVector4(e,t=e){return kU(t,e,this),tq(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const MPe=new Pn,DPe=new Pn,cC=new Pn,uC=new Pn,dC=new Pn,IPe=new Pn,OPe=new Pn;class $2{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=(new Pn).from(e),this.halfAxes=new Xo(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2);return[new Pn(e).len(),new Pn(t).len(),new Pn(i).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2),r=new Pn(e).normalize(),s=new Pn(t).normalize(),o=new Pn(i).normalize();return(new lq).fromMatrix3(new Xo([...r,...s,...o]))}fromCenterHalfSizeQuaternion(e,t,i){const r=new lq(i),s=(new Xo).fromQuaternion(r);return s[0]=s[0]*t[0],s[1]=s[1]*t[0],s[2]=s[2]*t[0],s[3]=s[3]*t[1],s[4]=s[4]*t[1],s[5]=s[5]*t[1],s[6]=s[6]*t[2],s[7]=s[7]*t[2],s[8]=s[8]*t[2],this.center=(new Pn).from(e),this.halfAxes=s,this}clone(){return new $2(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new G2){const t=this.halfAxes,i=t.getColumn(0,cC),r=t.getColumn(1,uC),s=t.getColumn(2,dC),o=MPe.copy(i).add(r).add(s);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){const t=this.center,i=e.normal,r=this.halfAxes,s=i.x,o=i.y,a=i.z,l=Math.abs(s*r[0]+o*r[1]+a*r[2])+Math.abs(s*r[3]+o*r[4]+a*r[5])+Math.abs(s*r[6]+o*r[7]+a*r[8]),c=i.dot(t)+e.distance;return c<=-l?zm.OUTSIDE:c>=l?zm.INSIDE:zm.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=DPe.from(e).subtract(this.center),i=this.halfAxes,r=i.getColumn(0,cC),s=i.getColumn(1,uC),o=i.getColumn(2,dC),a=r.magnitude(),l=s.magnitude(),c=o.magnitude();r.normalize(),s.normalize(),o.normalize();let h,u=0;return h=Math.abs(t.dot(r))-a,h>0&&(u+=h*h),h=Math.abs(t.dot(s))-l,h>0&&(u+=h*h),h=Math.abs(t.dot(o))-c,h>0&&(u+=h*h),u}computePlaneDistances(e,t,i=[-0,-0]){let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const o=this.center,a=this.halfAxes,l=a.getColumn(0,cC),c=a.getColumn(1,uC),u=a.getColumn(2,dC),h=IPe.copy(l).add(c).add(u).add(o),p=OPe.copy(h).subtract(e);let g=t.dot(p);return r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).add(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).add(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).subtract(u),p.copy(h).subtract(e),g=t.dot(p),r=Math.min(g,r),s=Math.max(g,s),i[0]=r,i[1]=s,i}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,cC);t.transformAsPoint(e);const i=this.halfAxes.getColumn(1,uC);i.transformAsPoint(e);const r=this.halfAxes.getColumn(2,dC);return r.transformAsPoint(e),this.halfAxes=new Xo([...t,...i,...r]),this}getTransform(){throw new Error("not implemented")}}const cq=new Pn,uq=new Pn;class W2{constructor(e=[0,0,1],t=0){this.normal=new Pn,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return Ec(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=cq.from(e),this.normal.from(t).normalize();const i=-this.normal.dot(e);return this.distance=i,this}fromCoefficients(e,t,i,r){return this.normal.set(e,t,i),Ec(Zb(this.normal.len(),1)),this.distance=r,this}clone(e){return new W2(this.normal,this.distance)}equals(e){return Zb(this.distance,e.distance)&&Zb(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=uq.copy(this.normal).transformAsVector(e).normalize(),i=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(i,t)}projectPointOntoPlane(e,t=[0,0,0]){e=cq.from(e);const i=this.getPointDistance(e),r=uq.copy(this.normal).scale(i);return e.subtract(r).to(t)}}function w2e(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[md.ontologyNode.label.id]:"label",[t]:"parent",[md.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of function*(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,xn.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,Kb.fromRdf)(s.object):s.object.id;yield[r,o]}}(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function mq(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,xn.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=w2e(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,_q(r),r}function _q(n,e,t=new Set){const i=n.nodes[null!=e?e:n.root];if(i){i.children=i.children.filter(r=>!t.has(r)),i.children.forEach(r=>t.add(r));for(const r of i.children)_q(n,r,t),n.nodes[r]&&(n.nodes[r].parent=i["@id"])}}new Pn([1,0,0]),new Pn([0,1,0]),new Pn([0,0,1]),new Pn,new Pn,new W2(new Pn(1,0,0),0),new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,Math,new Xo,new Xo,new Xo,new Xo,new Xo,new Pn,new Pn,new Pn,new Pn,new Pn,new Xo,new Xo,new Xo,(0,fr.memoize)(function(n){const e=mq(n,XW.body.id,"body",md.asctb.part_of.id);return e.nodes[XW.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>"");const pC={[co_label.id]:"label",[co_description.id]:"description",[co_link.id]:"link"};Object.assign(Object.assign({},pC),{[co_providerName.id]:"providerName"}),Object.assign(Object.assign({},pC),{[co_technology.id]:"technology",[co_thumbnail.id]:"thumbnail"}),Object.assign(Object.assign({},pC),{[co_sampleType.id]:"sampleType",[co_sectionNumber.id]:"sectionNumber",[co_datasets.id]:"datasets"}),Object.assign(Object.assign({},pC),{[co_sampleType.id]:"sampleType",[co_sectionCount.id]:"sectionCount",[co_sectionSize.id]:"sectionSize",[co_sectionUnits.id]:"sectionUnits",[co_donor.id]:"donor",[co_spatialEntity.id]:"spatialEntityId",[co_sections.id]:"sections",[co_datasets.id]:"datasets"});const bq={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};function mu(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}let J2;function Sc(){return J2||(J2=function(n,e){const t=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let e;return new Promise(t=>{const i=()=>indexedDB.databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}().then(()=>{const i=indexedDB.open("keyval-store");return i.onupgradeneeded=()=>i.result.createObjectStore(e),mu(i)});return(i,r)=>t.then(s=>r(s.transaction(e,i).objectStore(e)))}(0,"keyval")),J2}function vq(n,e=Sc()){return e("readonly",t=>mu(t.get(n)))}const gC="Unknown Euler angle order",$m=.99999;class Ji extends bS{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return Ji.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(e){return Ji.RotationOrders[e]}get ELEMENTS(){return 4}constructor(e=0,t=0,i=0,r=Ji.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(e,t,i,r)}fromQuaternion(e){const[t,i,r,s]=e,o=i*i,a=-2*(o+r*r)+1,l=2*(t*i+s*r);let c=-2*(t*r-s*i);c=c>1?1:c,c=c<-1?-1:c;const p=Math.atan2(2*(i*r+s*t),-2*(t*t+o)+1),g=Math.asin(c),m=Math.atan2(l,a);return new Ji(p,g,m,Ji.RollPitchYaw)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}set(e=0,t=0,i=0,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=Number.isFinite(r)?r:this[3],this.check()}validate(){return function(n){return n>=0&&n<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}toArray4(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}toVector3(e=[-0,-0,-0]){return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}get x(){return this[0]}set x(e){this[0]=sr(e)}get y(){return this[1]}set y(e){this[1]=sr(e)}get z(){return this[2]}set z(e){this[2]=sr(e)}get alpha(){return this[0]}set alpha(e){this[0]=sr(e)}get beta(){return this[1]}set beta(e){this[1]=sr(e)}get gamma(){return this[2]}set gamma(e){this[2]=sr(e)}get phi(){return this[0]}set phi(e){this[0]=sr(e)}get theta(){return this[1]}set theta(e){this[1]=sr(e)}get psi(){return this[2]}set psi(e){this[2]=sr(e)}get roll(){return this[0]}set roll(e){this[0]=sr(e)}get pitch(){return this[1]}set pitch(e){this[1]=sr(e)}get yaw(){return this[2]}set yaw(e){this[2]=sr(e)}get order(){return this[3]}set order(e){this[3]=function(n){if(n<0&&n>=6)throw new Error(gC);return n}(e)}fromVector3(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}fromArray(e,t=0){return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}fromRollPitchYaw(e,t,i){return this.set(e,t,i,Ji.ZYX)}fromRotationMatrix(e,t=Ji.DefaultOrder){return this._fromRotationMatrix(e,t),this.check()}getRotationMatrix(e){return this._getRotationMatrix(e)}getQuaternion(){const e=new gR;switch(this[4]){case Ji.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case Ji.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case Ji.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case Ji.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case Ji.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case Ji.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(gC)}}_fromRotationMatrix(e,t=Ji.DefaultOrder){const i=e.elements,r=i[0],s=i[4],o=i[8],a=i[1],l=i[5],c=i[9],u=i[2],h=i[6],p=i[10];switch(t=t||this[3]){case Ji.XYZ:this[1]=Math.asin(Va(o,-1,1)),Math.abs(o)<$m?(this[0]=Math.atan2(-c,p),this[2]=Math.atan2(-s,r)):(this[0]=Math.atan2(h,l),this[2]=0);break;case Ji.YXZ:this[0]=Math.asin(-Va(c,-1,1)),Math.abs(c)<$m?(this[1]=Math.atan2(o,p),this[2]=Math.atan2(a,l)):(this[1]=Math.atan2(-u,r),this[2]=0);break;case Ji.ZXY:this[0]=Math.asin(Va(h,-1,1)),Math.abs(h)<$m?(this[1]=Math.atan2(-u,p),this[2]=Math.atan2(-s,l)):(this[1]=0,this[2]=Math.atan2(a,r));break;case Ji.ZYX:this[1]=Math.asin(-Va(u,-1,1)),Math.abs(u)<$m?(this[0]=Math.atan2(h,p),this[2]=Math.atan2(a,r)):(this[0]=0,this[2]=Math.atan2(-s,l));break;case Ji.YZX:this[2]=Math.asin(Va(a,-1,1)),Math.abs(a)<$m?(this[0]=Math.atan2(-c,l),this[1]=Math.atan2(-u,r)):(this[0]=0,this[1]=Math.atan2(o,p));break;case Ji.XZY:this[2]=Math.asin(-Va(s,-1,1)),Math.abs(s)<$m?(this[0]=Math.atan2(h,l),this[1]=Math.atan2(o,r)):(this[0]=Math.atan2(-c,p),this[1]=0);break;default:throw new Error(gC)}return this[3]=t,this}_getRotationMatrix(e){const t=e||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],i=this.x,r=this.y,s=this.z,o=Math.cos(i),a=Math.cos(r),l=Math.cos(s),c=Math.sin(i),u=Math.sin(r),h=Math.sin(s);switch(this[3]){case Ji.XYZ:{const p=o*l,g=o*h,m=c*l,D=c*h;t[0]=a*l,t[4]=-a*h,t[8]=u,t[1]=g+m*u,t[5]=p-D*u,t[9]=-c*a,t[2]=D-p*u,t[6]=m+g*u,t[10]=o*a;break}case Ji.YXZ:{const p=a*l,g=a*h,m=u*l,D=u*h;t[0]=p+D*c,t[4]=m*c-g,t[8]=o*u,t[1]=o*h,t[5]=o*l,t[9]=-c,t[2]=g*c-m,t[6]=D+p*c,t[10]=o*a;break}case Ji.ZXY:{const p=a*l,g=a*h,m=u*l,D=u*h;t[0]=p-D*c,t[4]=-o*h,t[8]=m+g*c,t[1]=g+m*c,t[5]=o*l,t[9]=D-p*c,t[2]=-o*u,t[6]=c,t[10]=o*a;break}case Ji.ZYX:{const p=o*l,g=o*h,m=c*l,D=c*h;t[0]=a*l,t[4]=m*u-g,t[8]=p*u+D,t[1]=a*h,t[5]=D*u+p,t[9]=g*u-m,t[2]=-u,t[6]=c*a,t[10]=o*a;break}case Ji.YZX:{const p=o*a,g=o*u,m=c*a,D=c*u;t[0]=a*l,t[4]=D-p*h,t[8]=m*h+g,t[1]=h,t[5]=o*l,t[9]=-c*l,t[2]=-u*l,t[6]=g*h+m,t[10]=p-D*h;break}case Ji.XZY:{const p=o*a,g=o*u,m=c*a,D=c*u;t[0]=a*l,t[4]=-h,t[8]=u*l,t[1]=p*h+D,t[5]=o*l,t[9]=g*h-m,t[2]=m*h-g,t[6]=c*l,t[10]=D*h+p;break}default:throw new Error(gC)}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}toQuaternion(){const e=Math.cos(.5*this.yaw),t=Math.sin(.5*this.yaw),i=Math.cos(.5*this.roll),r=Math.sin(.5*this.roll),s=Math.cos(.5*this.pitch),o=Math.sin(.5*this.pitch);return new gR(e*r*s-t*i*o,e*i*o+t*r*s,t*i*s-e*r*o,e*i*s+t*r*o)}}var mC,L2e=new Uint8Array(16);function B2e(){if(!mC&&!(mC="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return mC(L2e)}const j2e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,U2e=function(n){return"string"==typeof n&&j2e.test(n)};for(var ho=[],tF=0;tF<256;++tF)ho.push((tF+256).toString(16).substr(1));const $2e=function(n,e,t){var i=(n=n||{}).random||(n.rng||B2e)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e){t=t||0;for(var r=0;r<16;++r)e[t+r]=i[r];return e}return function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=(ho[n[e+0]]+ho[n[e+1]]+ho[n[e+2]]+ho[n[e+3]]+"-"+ho[n[e+4]]+ho[n[e+5]]+"-"+ho[n[e+6]]+ho[n[e+7]]+"-"+ho[n[e+8]]+ho[n[e+9]]+"-"+ho[n[e+10]]+ho[n[e+11]]+ho[n[e+12]]+ho[n[e+13]]+ho[n[e+14]]+ho[n[e+15]]).toLowerCase();if(!U2e(t))throw TypeError("Stringified UUID is invalid");return t}(i)};function*nF(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,xn.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,Kb.fromRdf)(s.object):s.object.id;yield[r,o]}}function dp(n,e,t,i){const r={"@id":e,"@type":t};for(const[s,o]of Object.entries(i))for(const a of(0,xn.readQuads)(n,r["@id"],s,null,null)){const l="Literal"===a.object.termType?(0,Kb.fromRdf)(a.object):a.object.id;r[o]=l}return r}const ar=xn.Util.prefixes({base:"http://purl.org/ccf/latest/ccf.owl#",ccf:"http://purl.org/ccf/",fma:"http://purl.org/sig/ont/fma/fma",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/"},xn.DataFactory),wq={x:ar("rdf"),type:ar("rdf")("type")},dn=(ar("rdfs"),ar("rdfs")("label"),ar("rdfs")("comment"),ar("rdfs")("isDefinedBy"),ar("rdfs")("seeAlso"),ar("ccf")),yi={id:ar("ccf")("has_registration_location"),label:ar("rdfs")("label"),description:ar("rdfs")("comment"),link:dn("url"),sex:dn("sex"),age:dn("age"),bmi:dn("bmi"),Male:xn.DataFactory.literal("Male"),Female:xn.DataFactory.literal("Female"),consortiumName:dn("consortium_name"),providerName:dn("tissue_provider_name"),providerUUID:dn("tissue_provider_uuid"),donor:dn("comes_from"),sections:dn("subdivided_into_sections"),datasets:dn("generates_dataset"),sampleType:dn("sample_type"),TissueBlock:xn.DataFactory.literal("Tissue Block"),TissueSection:xn.DataFactory.literal("Tissue Section"),NonStandard:xn.DataFactory.literal("Non-standard"),sectionCount:dn("section_count"),sectionSize:dn("section_size"),sectionUnits:dn("section_size_unit"),sectionNumber:dn("section_number"),spatialEntity:dn("has_registration_location"),ontologyTerms:dn("has_ontology_term"),cellTypeTerms:dn("has_cell_type_term"),technology:dn("technology"),thumbnail:dn("thumbnail")},ki={x:dn,base:ar("base"),ontologyNode:{label:dn("ccf_pref_label"),parent:dn("ccf_part_of"),children:dn("ccf_part_of"),rui_rank:dn("rui_rank"),synonymLabels:xn.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:dn("ccf_part_of"),ct_is_a:dn("ccf_ct_isa"),located_in:dn("ccf_located_in"),characterizes:dn("ccf_characterizes")},spatial:{Female:ar("base")("VHFemale"),Male:ar("base")("VHMale"),BothSexes:ar("base")("VHBothSexes"),FemaleOrgans:ar("base")("VHFemaleOrgans"),MaleOrgans:ar("base")("VHMaleOrgans")},SpatialObjectReference:dn("spatial_object_reference"),SpatialEntity:dn("spatial_entity"),SpatialPlacement:dn("spatial_placement"),spatialObjectReference:{file:dn("file_url"),file_format:dn("file_format"),file_subpath:dn("file_subpath")},extractionSet:{label:ar("rdfs")("label"),rui_rank:dn("rui_rank")},spatialEntity:{label:ar("rdfs")("label"),description:ar("rdfs")("comment"),creator:ar("dcterms")("creator"),creator_first_name:dn("creator_first_name"),creator_last_name:dn("creator_last_name"),creator_orcid:dn("creator_orcid"),creation_date:ar("dcterms")("created"),updated_date:dn("updated_date"),ccf_annotations:dn("collides_with"),representation_of:dn("representation_of"),reference_organ:dn("has_reference_organ"),extraction_set_for:dn("extraction_set_for"),extraction_set:dn("has_extraction_set"),sex:dn("organ_owner_sex"),side:dn("organ_side"),rui_rank:dn("rui_rank"),slice_thickness:dn("slice_thickness"),slice_count:dn("slice_count"),x_dimension:dn("x_dimension"),y_dimension:dn("y_dimension"),z_dimension:dn("z_dimension"),dimension_units:dn("dimension_unit"),object:dn("has_object_reference")},spatialPlacement:{source:dn("placement_for"),target:dn("placement_relative_to"),placement_date:ar("dcterms")("created"),x_scaling:dn("x_scaling"),y_scaling:dn("y_scaling"),z_scaling:dn("z_scaling"),scaling_units:dn("scaling_unit"),x_rotation:dn("x_rotation"),y_rotation:dn("y_rotation"),z_rotation:dn("z_rotation"),w_rotation:dn("theta_rotation"),rotation_order:dn("rotation_order"),rotation_units:dn("rotation_unit"),x_translation:dn("x_translation"),y_translation:dn("y_translation"),z_translation:dn("z_translation"),translation_units:dn("translation_unit")}},di={x:ar("uberon"),body:ar("uberon")("0013702")},q2e={x:ar("cl"),cell:ar("cl")("0000000")},nv={x:ar("fma")},bd=(ar("lmha"),{body:di.body,cell:q2e.cell,respiratory_system:di.x("0001004"),colon:di.x("0001155"),left_lung:di.x("0002168"),right_lung:di.x("0002167"),left_bronchus:di.x("0002178"),right_bronchus:di.x("0002177"),kidney:di.x("0002113"),ureter:di.x("0000056"),eye:di.x("0000970"),fallopian_tube:di.x("0003889"),knee:di.x("0001465"),ovary:di.x("0000992"),trachea:di.x("0003126"),aorta:di.x("0000947"),blood:di.x("0000178"),bone_marrow:di.x("0002371"),male_reproductive_system:di.x("0000079"),lymph_node:di.x("0000029"),blood_vasculature:di.x("0004537"),brain:di.x("0000955"),eye_left:di.x("0004548"),eye_right:nv.x("54449"),fallopian_tube_left:di.x("0001303"),fallopian_tube_right:di.x("0001302"),heart:di.x("0000948"),kidney_left:di.x("0004538"),kidney_right:di.x("0004539"),knee_left:nv.x("24978"),knee_right:nv.x("24977"),large_intestine:di.x("0000059"),liver:di.x("0002107"),lungs:di.x("0002048"),mesenteric_lymph_node:di.x("0002509"),ovary_left:nv.x("7214"),ovary_right:nv.x("7213"),pancreas:di.x("0001264"),pelvis:di.x("0001270"),prostate_gland:di.x("0002367"),skin:di.x("0002097"),small_intestine:di.x("0002108"),spleen:di.x("0002106"),thymus:di.x("0002370"),ureter_left:di.x("0001223"),ureter_right:di.x("0001222"),urinary_bladder:di.x("0001255"),uterus:di.x("0000995")});function iF(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}const _C={spatialObjectReference:iF(ki.spatialObjectReference),spatialEntity:iF(ki.spatialEntity),spatialPlacement:iF(ki.spatialPlacement)};function Eq(n,e){const t=dp(n,e,"ExtractionSet",_C.spatialEntity);return t.extractionSites=(0,fr.sortBy)(n.getSubjects(ki.spatialEntity.extraction_set,e,null).map(i=>hp(n,i.id)),["rui_rank"]),t}function hp(n,e){const t=dp(n,e,"SpatialEntity",_C.spatialEntity);return t.object&&(t.object=function(n,e){return dp(n,e,"SpatialObjectReference",_C.spatialObjectReference)}(n,t.object)),t.ccf_annotations&&(t.ccf_annotations=n.getObjects(e,ki.spatialEntity.ccf_annotations,null).map(i=>i.id)),n.forSubjects(i=>t.entityId=i.id,yi.spatialEntity,e,null),t}function Z2e(n,e){const t=dp(n,e,"SpatialPlacement",_C.spatialPlacement);return t.source&&(t.source=hp(n,t.source)),t.target&&(t.target=hp(n,t.target)),t}function Sq(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(EV),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}class xq{constructor(e){this.db=e,this.createGraph()}createGraph(){this.graph=new $Ne.DirectedGraph;const e=this.db.store;e.forSubjects(i=>{this.addNode(i.id,"SpatialObjectReference")},wq.type,ki.SpatialObjectReference,null),e.forSubjects(i=>{this.addNode(i.id,"SpatialEntity")},wq.type,ki.SpatialEntity,null);const t={};for(const i of(0,xn.readQuads)(e,null,ki.spatialPlacement.source,null,null))t[i.subject.id]=i.object.id;for(const i of(0,xn.readQuads)(e,null,ki.spatialPlacement.target,null,null)){const r=t[i.subject.id];r&&this.addEdge(i.subject.id,r,i.object.id,"SpatialPlacement")}}addNode(e,t){this.graph.mergeNode(e,{type:t})}addEdge(e,t,i,r){this.graph.mergeDirectedEdge(t,i,{type:r,id:e})}getTransformationMatrix(e,t){if(e===t)return new qn(qn.IDENTITY);if(!this.graph.hasNode(e)||!this.graph.hasNode(t))return;const i=this.db.store,r=new qn(qn.IDENTITY),s=qNe()(this.graph,e,t);if(s&&s.length>0){s.reverse();let o="";for(const a of s)o&&Sq(r,Z2e(i,this.graph.getEdgeAttribute(a,o,"id"))),o=a;return r}}getSpatialPlacement(e,t){const i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,fr.get)(e,"placement[0]",(0,fr.get)(e,"placement",void 0));let s;if(r&&this.graph.hasNode(r.target)?(s=this.getTransformationMatrix(r.target,t),s&&(s=Sq(s,r))):i&&(s=this.getTransformationMatrix(i,t)),s){const o=(new Ji).fromRotationMatrix(s,Ji.XYZ),a=s.getTranslation().map(u=>1e3*u),l=o.toVector3().map(vse),c=s.getScale().map(u=>u<1&&u>.999999?1:u);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${$2e()}_placement`,"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:c[0],y_scaling:c[1],z_scaling:c[2],scaling_units:"ratio",x_rotation:l[0],y_rotation:l[1],z_rotation:l[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}class Cq{constructor(e){this.db=e}getSpatialEntity(e){return hp(this.db.store,e)}getExtractionSets(e){return function(n,e){return(0,fr.sortBy)(n.getSubjects(ki.spatialEntity.extraction_set_for,e,null).map(t=>Eq(n,t.id)),["rui_rank"])}(this.db.store,e)}getExtractionSet(e){return Eq(this.db.store,e)}getAnatomicalStructures(e){return function(n,e){return(0,fr.sortBy)(n.getSubjects(ki.spatialEntity.reference_organ,e,null).map(t=>hp(n,t.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,e)}getReferenceOrgans(){return function(n){const e=[];return n.forEach(t=>{t.subject.id===t.object.id&&e.push(hp(n,t.subject.id))},null,ki.spatialEntity.reference_organ,null,null),(0,fr.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(e){let t;switch(null==e?void 0:e.sex){case"Male":t=ki.spatial.Male.id;break;case"Female":t=ki.spatial.Female.id;break;case"Both":default:t=ki.spatial.BothSexes.id}return this.getSpatialEntity(t)}getReferenceOrganSets(e){let t=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":t=t.filter(i=>"Male"===i.sex);break;case"Female":t=t.filter(i=>"Female"===i.sex)}return(null==e?void 0:e.debug)&&(t=t.map(i=>[[i],this.getAnatomicalStructures(i["@id"])]).reduce((i,[r,s])=>i.concat(s.length>0?s:r),[])),t}getReferenceSceneNodes(e){const t=this.getReferenceBody(e),i=[];let r=[...this.getReferenceOrganSets(e).map(s=>{const o="http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of,a=this.getSceneNode(s,t,{color:[255,255,255,255],opacity:o?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!o});return o&&a?void i.push(a):a})];return i.length>0&&(r=[...i,...r]),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(ki.base("VHRightKidney").id),t,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHLeftKidney").id),t,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC1").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC2").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC3").id),t,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(s=>void 0!==s)}getReferenceOrganScene(e,t){var i,r;const s=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(i=null==t?void 0:t.sex)||void 0===i?void 0:i.toLowerCase()),o=this.getReferenceOrgans().filter(a=>a.representation_of===e&&(!s||a.sex===(null==t?void 0:t.sex)));if(o.length>0){const a=o[0],c=this.getSceneNode(a,a,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===a.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),u=(null!==(r=this.db.getSpatialEntities(t))&&void 0!==r?r:[]).map(h=>this.getSceneNode(h,a,{color:[255,255,255,229.5]}));return[c].concat(u).filter(h=>void 0!==h)}return[]}getEntitySceneNodes(e){const t=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(i=>this.getSceneNode(i,t,{color:[255,255,255,229.5]})).filter(i=>void 0!==i)}getSceneNode(e,t,i={}){var r,s,o,a;const l=null===(s=null===(r=null==e?void 0:e.object)||void 0===r?void 0:r.file_format)||void 0===s?void 0:s.startsWith("model/gltf");let u=this.db.graph.getTransformationMatrix(l&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(l)u=new qn(qn.IDENTITY).rotateX(EV(90)).multiplyLeft(u);else{let h;switch(e.dimension_units){case"centimeter":h=.01;break;case"millimeter":h=.001;break;case"meter":default:h=1}const p=[e.x_dimension,e.y_dimension,e.z_dimension].map(g=>g*h/2);u.scale(p)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:l?null===(o=e.object)||void 0===o?void 0:o.file:void 0,scenegraphNode:l?null===(a=e.object)||void 0===a?void 0:a.file_subpath:void 0,transformMatrix:u,tooltip:e.label},i)}}getScene(e){return[...this.getReferenceSceneNodes(e),...this.getEntitySceneNodes(e)]}}const yC="https://entity.api.hubmapconsortium.org/entities/",Aq=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),eFe={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},Wm={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},Tq="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld";class iFe{constructor(e,t="",i="",r){var s,o;if(this.data=e,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const c=this.data.descendants||[],u=(this.data.ancestors||[]).find(We=>"Donor"===We.entity_type);this.donor=this.getDonor(u,i);const h=this.getRuiLocation(e,this.donor);h?this.rui_location=h:this.bad=!0,Wm[e.group_uuid]||(Wm[e.group_uuid]=e.group_name);const p=new Date(e.last_modified_timestamp).toLocaleDateString(),g=Wm[e.group_uuid]||e.group_name,m=e.created_by_user_displayname;this["@id"]=yC+e.uuid,this.label=`Registered ${p}, ${m}, ${g}`,this.link=`${i}browse/sample/${e.uuid}`;const D={},O=[];this.sections=O;const W=[];this.datasets=W;for(const We of c.filter(rt=>"Sample"===rt.entity_type)){const rt=this.getSection(We,e,i);D[We.submission_id]=rt,O.push(rt),rt.section_number=null!==(s=rt.section_number)&&void 0!==s?s:O.length}for(const We of c)if("Dataset"===We.entity_type){const rt=this.getDataset(We,t,i,r),wt=(0,fr.get)(We,["ingest_metadata","metadata","tissue_id"]);D[wt]?null===(o=D[wt].datasets)||void 0===o||o.push(rt):W.push(rt)}const $=null!=h?h:{},pe=`${$.x_dimension} x ${$.y_dimension} x ${$.z_dimension} ${$.dimension_units}`;this.section_count=$.slice_count||O.length;const Re=parseFloat(($.slice_thickness||($.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=Re;const Ve=$.dimension_units||"millimeter";this.section_units=Ve,this.description=`${pe}, ${Re} ${Ve}, ${this.section_count} Sections`,O.forEach((We,rt)=>{We.description=`${$.x_dimension} x ${$.y_dimension} x ${Re} ${Ve}, ${Re} ${Ve}, ${We.description}`,We.section_number=rt+1})}getSection(e,t,i){const r=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":yC+e.uuid,"@type":"Sample",label:`Registered ${r}, ${e.created_by_user_displayname}, ${Wm[e.group_uuid]||e.group_name}`,description:`${t.sample_category}`,link:`${i}browse/sample/${e.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(e,t="",i="",r){var s;const o=new Date(e.last_modified_timestamp).toLocaleDateString(),a=Wm[e.group_uuid]||e.group_name,l=e.created_by_user_displayname,c=[...e.data_types,(0,fr.get)(e,["ingest_metadata","metadata","assay_type"],"")],u=c.join("|").toLowerCase();let h,p="assets/icons/ico-unknown.svg";return-1!==u.indexOf("10x")?(h="10x",p="assets/icons/ico-bulk-10x.svg"):-1!==u.indexOf("af")?(h="AF",p="assets/icons/ico-spatial-af.svg"):-1!==u.indexOf("codex")?(h="CODEX",p="assets/icons/ico-spatial-codex.svg"):-1!==u.indexOf("imc")?(h="IMC",p="assets/icons/ico-spatial-imc.svg"):-1!==u.indexOf("lc")&&-1===u.indexOf("af")?(h="LC",p="assets/icons/ico-bulk-lc.svg"):h=-1!==u.indexOf("maldi")?"MALDI":-1!==u.indexOf("pas")?"PAS":"OTHER",p=null!==(s=this.getDatasetThumbnail(e,t,r))&&void 0!==s?s:p,{"@id":yC+e.uuid,"@type":"Dataset",label:`Registered ${o}, ${l}, ${a}`,description:`Data/Assay Types: ${c.join(", ")}`,link:`${i}browse/dataset/${e.uuid}`,technology:h,thumbnail:p}}getDatasetThumbnail(e,t,i){if(e.thumbnail_file){const r=e.thumbnail_file;return`${t}/${r.file_uuid}/${r.filename}`+(i?`?token=${i}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){const r=(0,fr.get)(e,"metadata.files",[]).filter(s=>/\.(ome\.tif|ome\.tiff)$/.test(s.rel_path)).filter(s=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(s.rel_path)).filter(s=>Aq.has(s.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(s=>`${t}/${e.uuid}/${s.rel_path}`+(i?`?token=${i}`:""));if(r.length>0){const s=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(Aq.has(s))return`assets/thumbnails/TMC-Vanderbilt/DR1/${s}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){const r=eFe[e.hubmap_id];if(r)return`assets/thumbnails/TMC-Florida/${r}`}}getDonor(e,t){const i=(e.description||"").toLowerCase();let r;i.includes("female")?r="Female":i.includes("male")&&(r="Male");const s=i.match(/age ([0-9]+)/);let o,a;s&&(o=(0,fr.toNumber)(s[1]));for(const p of(0,fr.get)(e,"metadata.organ_donor_data",(0,fr.get)(e,"metadata.living_donor_data",[])))"Feminine gender"===p.preferred_term||"Female"===p.preferred_term?r="Female":"Masculine gender"===p.preferred_term||"Male"===p.preferred_term?r="Male":"Current chronological age"===p.preferred_term||"Age"===p.preferred_term?o=(0,fr.toNumber)(p.data_value):"Body mass index"===p.preferred_term&&(a=(0,fr.toNumber)(p.data_value));let l="";r&&o&&(l+=`${r}, Age ${o}`,a&&(l+=`, BMI ${a.toFixed(1)}`));const c=new Date(e.last_modified_timestamp).toLocaleDateString(),u=Wm[e.group_uuid]||e.group_name;return{"@id":yC+e.uuid,"@type":"Donor",label:l,description:`Entered ${c}, ${e.created_by_user_displayname}, ${u}`,link:`${t}browse/donor/${e.uuid}`,age:o,sex:r,bmi:a,consortium_name:"HuBMAP",provider_name:u,provider_uuid:e.group_uuid,samples:[]}}getRuiLocation(e,t){var i;let r,s=e.rui_location;if(s&&("string"==typeof s&&(s=JSON.parse(s)),s.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):s["@id"]&&(r=s),s["@context"]="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"),r){const o=null!==(i=(0,fr.get)(r,["placement","target"]))&&void 0!==i?i:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,fr.set)(r,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,fr.set)(r,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return r}getTissueBlock(){return(0,fr.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const sFe=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.metadata.living_donor_data.preferred_term","ancestors.metadata.living_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","sample_category"],oFe={exists:{field:"rui_location"}};function Mq(n,e,t){return JSON.stringify({version:!0,from:n,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=t?t:oFe,_source:{includes:sFe}})}function rF(n,e){return Fi(this,void 0,void 0,function*(){try{const t=yield fetch(n,e),i=yield t.text();return t.ok||i.startsWith("https")?i.startsWith("https")?yield fetch(i).then(s=>s.json()):JSON.parse(i):void 0}catch(t){return}})}function Dq(n,e,t,i,r="",s=""){return Fi(this,void 0,void 0,function*(){let o;if("static"===e?o=yield rF(n):"search-api"===e&&(o=yield function(n,e,t){return Fi(this,void 0,void 0,function*(){const i=1e4,r=function(n){const e=new Headers;return e.append("Content-type","application/json"),n&&e.append("Authorization",`Bearer ${n}`),e}(e),s=Mq(0,i,t),o=yield rF(n,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let h=i;h!h))return;const u=c.map(h=>h.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(n,i,t)),o)return function(n,e="",t="",i,r=!1){const o={},a=(0,fr.get)(n,"hits.hits",[]).map(c=>(0,fr.get)(c,"_source",{})).sort((c,u)=>c.uuid.localeCompare(u.uuid)).map(c=>new iFe(c,e,t,i).toJsonLd());for(const c of a){const u=c["@id"];o[u]?o[u].samples.push(c.samples[0]):o[u]=c}const l=Object.values(o);return r&&(function(n){let e=[],t=0;for(const i of n.filter(r=>r.samples.length>1)){const r=i.samples;for(let s=0;sc["@id"]===o)&&(r[s].deleteMe=!0,t++)}i.samples=r.filter(s=>!0!==s.deleteMe)}t>0&&console.log(`\u26a0 ${t} sections identified as blocks`)}(l),console.log(l.map(c=>Object.assign({"@context":Tq},c)))),{"@context":Tq,"@graph":l}}(o,r,s,i);console.warn(`Unable to load ${n} as HuBMAP Data`)})}function iv(n,e,t){const i=new Set;for(const r of e)for(const s of(0,xn.readQuads)(n,r,t,null,null))i.add(s.object.id);return i}const hFe={[ki.spatialEntity.x_dimension.id]:"x",[ki.spatialEntity.y_dimension.id]:"y",[ki.spatialEntity.z_dimension.id]:"z"};function pFe(n,e,t,i){const r=e.getTransformationMatrix(t,i);let s;if(r){const o=r.getTranslation(),a=function(n,e){const t=dp(n,e,"Dimensions",hFe);return[t.x,t.y,t.z]}(n,t).map(c=>c/1e3/2),l=(new Ji).fromRotationMatrix(r,Ji.XYZ).toQuaternion().normalize().calculateW();s=(new $2).fromCenterHalfSizeQuaternion(o,a,l)}return s}function gFe(n,e,t,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of t){const p=pFe(n,e,h,l);p&&p.distanceSquaredTo([r,s,o].map(m=>m/1e3))<=u&&c.add(h)}return c}function bC(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,xn.readQuads)(n,c,yi.donor,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function sF(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,xn.readQuads)(n,c,yi.spatialEntity,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function rv(n,e){return function(t){n.has(t.id)&&e.add(t.id)}}function Iq(n,e,t){const i=new Set;for(const r of t){const s=xn.DataFactory.namedNode(r);n.forSubjects(rv(e,i),ki.spatialEntity.ccf_annotations,s,null)}return i}function Oq(n,e){const t=function(n,e){const t=new Map;for(const i of n)for(const r of(0,xn.readQuads)(e,i,yi.spatialEntity,null,null))t.has(r.object.id)?t.get(r.object.id).add(i):t.set(r.object.id,new Set([i]));return t}(n,e),i=new Map;for(const r of t.keys()){const s=t.get(r);for(const o of(0,xn.readQuads)(e,r,ki.spatialEntity.ccf_annotations,null,null))if(i.has(o.object.id)){const a=i.get(o.object.id);s.forEach(l=>a.add(l))}else i.set(o.object.id,new Set(s))}return i}function IFe(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[ki.ontologyNode.label.id]:"label",[t]:"parent",[ki.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of nF(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function Rq(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,xn.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=IFe(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,Nq(r),r}function Nq(n,e,t=new Set){const i=n.nodes[null!=e?e:n.root];if(i){i.children=i.children.filter(r=>!t.has(r)),i.children.forEach(r=>t.add(r));for(const r of i.children)Nq(n,r,t),n.nodes[r]&&(n.nodes[r].parent=i["@id"])}}const Pq=(0,fr.memoize)(function(n){const e=Rq(n,bd.body.id,"body",ki.asctb.part_of.id);return e.nodes[bd.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),vC={[yi.label.id]:"label",[yi.description.id]:"description",[yi.link.id]:"link"},NFe=Object.assign(Object.assign({},vC),{[yi.providerName.id]:"providerName"}),PFe=Object.assign(Object.assign({},vC),{[yi.technology.id]:"technology",[yi.thumbnail.id]:"thumbnail"}),FFe=Object.assign(Object.assign({},vC),{[yi.sampleType.id]:"sampleType",[yi.sectionNumber.id]:"sectionNumber",[yi.datasets.id]:"datasets"}),kFe=Object.assign(Object.assign({},vC),{[yi.sampleType.id]:"sampleType",[yi.sectionCount.id]:"sectionCount",[yi.sectionSize.id]:"sectionSize",[yi.sectionUnits.id]:"sectionUnits",[yi.donor.id]:"donor",[yi.spatialEntity.id]:"spatialEntityId",[yi.sections.id]:"sections",[yi.datasets.id]:"datasets"});function LFe(n,e){return dp(n,e,"Donor",NFe)}function Fq(n,e){return dp(n,e,"Dataset",PFe)}function BFe(n,e){const t={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of nF(n,e,FFe))if("datasets"===i){const s=Fq(n,r);t[i].push(s)}else t[i]=r;return t}class VFe{constructor(e){this.database=e,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const e=Date.now();return this.database.connect().then(t=>Fi(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var i;this.status="Error",this.message=null!==(i=null==t?void 0:t.message)&&void 0!==i?i:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-e})}}const UFe={"@context":{"@base":"http://purl.org/ccf/","@vocab":"http://purl.org/ccf/",ccf:"http://purl.org/ccf/",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dcterms:"http://purl.org/dc/terms/",label:"rdfs:label",description:"rdfs:comment",link:"ccf:url",sex:"ccf:sex",age:"ccf:age",bmi:"ccf:bmi",consortium_name:"ccf:consortium_name",provider_name:"ccf:tissue_provider_name",provider_uuid:"ccf:tissue_provider_uuid",donor:{"@id":"ccf:comes_from","@type":"@id"},samples:{"@reverse":"donor"},sections:{"@id":"ccf:subdivided_into_sections","@type":"@id"},datasets:{"@id":"ccf:generates_dataset","@type":"@id"},sample_type:"ccf:sample_type",section_count:"ccf:section_count",section_size:"ccf:section_size",section_units:"ccf:section_size_unit",section_number:"ccf:section_number",rui_location:{"@id":"ccf:has_registration_location","@type":"@id"},ccf_annotations:{"@id":"ccf:collides_with","@type":"@id","@container":"@set"},representation_of:{"@id":"ccf:representation_of","@type":"@id"},reference_organ:{"@id":"ccf:has_reference_organ","@type":"@id"},extraction_set_for:{"@id":"ccf:extraction_set_for","@type":"@id"},extraction_set:{"@id":"ccf:has_extraction_set","@type":"@id"},organ_owner_sex:"ccf:organ_owner_sex",side:"ccf:organ_side",rui_rank:"ccf:rui_rank",slice_thickness:"ccf:slice_thickness",slice_count:"ccf:slice_count",object:{"@id":"ccf:has_object_reference","@type":"@id"},creation_date:"dcterms:created",updated_date:"ccf:updated_date",creator:"dcterms:creator",creator_first_name:"ccf:creator_first_name",creator_last_name:"ccf:creator_last_name",placement:{"@reverse":"ccf:placement_for"},placement_date:"dcterms:created",rotation_order:"ccf:rotation_order",dimension_units:"ccf:dimension_unit",rotation_units:"ccf:rotation_unit",scaling_units:"ccf:scaling_unit",translation_units:"ccf:translation_unit",source:{"@id":"ccf:placement_for","@type":"@id"},target:{"@id":"ccf:placement_relative_to","@type":"@id"},x_rotation:"ccf:x_rotation",y_rotation:"ccf:y_rotation",z_rotation:"ccf:z_rotation",x_scaling:"ccf:x_scaling",y_scaling:"ccf:y_scaling",z_scaling:"ccf:z_scaling",x_translation:"ccf:x_translation",y_translation:"ccf:y_translation",z_translation:"ccf:z_translation",x_dimension:"ccf:x_dimension",y_dimension:"ccf:y_dimension",z_dimension:"ccf:z_dimension",ontology_terms:{"@id":"ccf:has_ontology_term","@type":"@id"},technology:"ccf:technology",thumbnail:"ccf:thumbnail",file:"ccf:file_url",file_format:"ccf:file_format",file_subpath:"ccf:file_subpath"}};function oF(n){return JSON.parse(n,(e,t)=>"ccf_annotations"===e&&Array.isArray(t)?t.map(i=>(null==i?void 0:i.startsWith("http://purl.obolibrary.org/obo/FMA_"))?i.replace("http://purl.obolibrary.org/obo/FMA_","http://purl.org/sig/ont/fma/fma"):i):"@context"!==e||!t||"https://hubmapconsortium.github.io/hubmap-ontology/ccf-entity-context.jsonld"!==t&&"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld"!==t&&"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"!==t&&"http://purl.org/ccf/latest/ccf-entity.owl#"!==t["@base"]?t:UFe)}const HFe={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class GFe{constructor(e=HFe){this.options=e,this.store=new xn.Store(void 0,{factory:xn.DataFactory}),this.graph=new xq(this),this.scene=new Cq(this)}connect(e,t=!1){return Fi(this,void 0,void 0,function*(){return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return Fi(this,void 0,void 0,function*(){const e=(new Date).getTime(),t=GNe()(this.options,{encoding:"base64",ignoreUnknown:!0,respectType:!1,unorderedArrays:!0,unorderedObjects:!0,unorderedSets:!0}),i=`ccf-database.last_modified.${t}`,r=`ccf-database.${t}`,s=yield vq(i).catch(()=>{});let o;s&&e-new Date(+s).getTime()>36e5?yield function(n,e=Sc()){return e("readwrite",t=>(n.forEach(i=>t.delete(i)),mu(t.transaction)))}([r,i]).catch(()=>{}):o=yield vq(r).catch(()=>{}),o?yield this.deserialize(o):(yield this.doConnect(),function(n,e=Sc()){return e("readwrite",t=>(n.forEach(i=>t.put(i[1],i[0])),mu(t.transaction)))}([[r,this.serialize()],[i,""+e]]).catch(()=>{}))})}doConnect(){var e,t;return Fi(this,void 0,void 0,function*(){const i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],s=this.options.ccfOwlUrl;if(s.startsWith("{"))this.store=(0,xn.deserializeN3Store)(s,xn.DataFactory);else if(s.endsWith(".n3store.json")){const o=yield fetch(s).then(a=>a.text()).catch(()=>console.log("Couldn't locate serialized store."));o&&(this.store=(0,xn.deserializeN3Store)(o,xn.DataFactory))}else(null==s?void 0:s.length)>0&&r.push(s);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(Dq(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(o=>{if(o)return this.addDataSources([o])}))),i.push(this.addDataSources(r)),yield Promise.all(i),yield this.synchronize()})}addDataSources(e,t){return Fi(this,void 0,void 0,function*(){const i=null!=t?t:this.store;return yield Promise.all(e.map(r=>Fi(this,void 0,void 0,function*(){"string"==typeof r?(r.startsWith("http")||r.startsWith("assets/"))&&r.includes("jsonld")?(r=oF(r=yield fetch(r).then(s=>s.text())),yield(0,xn.addJsonLdToStore)(r,i)):r.endsWith("n3")?yield(0,xn.addN3ToStore)(r,i):r.endsWith("rdf")||r.endsWith("owl")||r.endsWith("xml")?yield(0,xn.addRdfXmlToStore)(r,i):(r=oF(r),yield(0,xn.addJsonLdToStore)(r,i)):(r=oF(JSON.stringify(r)),yield(0,xn.addJsonLdToStore)(r,i))}))),this})}synchronize(){return Fi(this,void 0,void 0,function*(){return yield new Promise(e=>{setTimeout(e,500)}),this.graph.createGraph(),function(n){var e,t,i;const r=Pq(n),s=new Map;for(const{subject:o,object:a}of(0,xn.readQuads)(n,null,ki.spatialEntity.representation_of,null,null)){const l=new Set([a.id]);let c=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;c&&!l.has(c);)l.add(c),c=null===(t=r.nodes[c])||void 0===t?void 0:t.parent;s.set(o.id,[...l].map(u=>xn.DataFactory.namedNode(u)))}for(const{object:o}of(0,xn.readQuads)(n,null,yi.spatialEntity,null,null))for(const{subject:a}of(0,xn.readQuads)(n,null,ki.spatialPlacement.source,o,null))for(const{object:l}of(0,xn.readQuads)(n,a,ki.spatialPlacement.target,null,null))for(const c of null!==(i=s.get(l.id))&&void 0!==i?i:[])n.addQuad(xn.DataFactory.namedNode(o.id),ki.spatialEntity.ccf_annotations,c)}(this.store),this})}serialize(){return(0,xn.serializeN3Store)(this.store)}deserialize(e){return Fi(this,void 0,void 0,function*(){this.store=(0,xn.deserializeN3Store)(e,xn.DataFactory),this.graph=new xq(this),this.scene=new Cq(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(e={}){return function(n,e,t){var i,r,s,o,a,l,c;let u=function(n){const e=new Set;return n.forSubjects(t=>e.add(t.id),yi.spatialEntity,null,null),e}(n);if(u.size>0&&(u=function(n,e,t=!0){const i=new Set;if(n.forSubjects(rv(e,i),yi.spatialEntity,null,null),!t){const r=new Set;return e.forEach(s=>i.has(s)?void 0:r.add(s)),r}return i}(n,u)),u.size>0&&("Male"===t.sex||"Female"===t.sex)){const h=t.sex;u=bC(n,u,p=>function(n,e,t){const i=new Set;return n.forSubjects(rv(e,i),yi.sex,yi[t],null),i}(n,p,h))}if(u.size>0&&(null===(i=t.tmc)||void 0===i?void 0:i.length)>0&&(u=bC(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=xn.DataFactory.literal(r);n.forSubjects(rv(e,i),yi.providerName,s,null)}return i}(n,h,t.tmc))),u.size>0&&(null===(r=t.technologies)||void 0===r?void 0:r.length)>0&&(u=function(n,e,t){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const h of(0,xn.readQuads)(n,u,yi.sections,null,null))a.add(h.object.id);for(const u of a)for(const h of(0,xn.readQuads)(n,u,yi.datasets,null,null))o.add(h.object.id),s.has(h.object.id)?null===(i=s.get(h.object.id))||void 0===i||i.push(u):s.set(h.object.id,[u]);const l=t(o),c=new Set;for(const u of l)for(const h of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(h);return c}(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=xn.DataFactory.literal(r);n.forSubjects(rv(e,i),yi.technology,s,null)}return i}(n,h,t.technologies))),u.size>0&&(null===(s=t.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=sF(n,u,h=>function(n,e,t,i){const r=new Set;for(const s of i)gFe(n,e,t,s).forEach(a=>r.add(a));return r}(n,e,h,t.spatialSearches))),u.size>0&&(null===(o=t.ontologyTerms)||void 0===o?void 0:o.length)>0){const h=t.ontologyTerms;-1===h.indexOf(bd.body.id)&&(u=sF(n,u,p=>Iq(n,p,h)))}if(u.size>0&&(null===(a=t.cellTypeTerms)||void 0===a?void 0:a.length)>0){const h=t.cellTypeTerms;-1===h.indexOf(bd.cell.id)&&(u=sF(n,u,p=>function(n,e,t){const i=new Set;for(const r of t)n.forObjects(s=>{i.add(s.id)},r,ki.asctb.located_in,null),r===bd.cell.id&&i.add(bd.body.id);return Iq(n,e,[...i])}(n,p,h)))}if(u.size>0&&2===(null===(l=t.ageRange)||void 0===l?void 0:l.length)&&(0,fr.isFinite)(t.ageRange[0])&&(0,fr.isFinite)(t.ageRange[1])){const h=Math.max(...t.ageRange),p=Math.min(...t.ageRange);1===p&&110===h||(u=bC(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,xn.readQuads)(n,s,yi.age,null,null)){const a=(0,Kb.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,p,h)))}if(u.size>0&&2===(null===(c=t.bmiRange)||void 0===c?void 0:c.length)&&(0,fr.isFinite)(t.bmiRange[0])&&(0,fr.isFinite)(t.bmiRange[1])){const h=Math.max(...t.bmiRange),p=Math.min(...t.bmiRange);13===p&&83===h||(u=bC(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,xn.readQuads)(n,s,yi.bmi,null,null)){const a=(0,Kb.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,p,h)))}return u}(this.store,this.graph,e)}get(e){return this.store.getQuads(xn.DataFactory.namedNode(e),null,null,null)}search(e={}){return[...this.getIds(e)].map(t=>this.get(t))}getSpatialEntities(e){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t=n.getObjects(xn.DataFactory.namedNode(e),yi.spatialEntity,null);if(t.length>0)return hp(n,t[0].id)}(this.store,t))}getDatabaseStatus(){return Fi(this,void 0,void 0,function*(){return this.status||(this.status=new VFe(this)),this.status.toJson()})}getDatasetTechnologyNames(){return Fi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,xn.readQuads)(n,null,yi.technology,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return Fi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,xn.readQuads)(n,null,yi.providerName,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(e){return Fi(this,void 0,void 0,function*(){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of nF(n,e,kFe))if("sections"===i){const s=BFe(n,r);t[i].push(s)}else if("datasets"===i){const s=Fq(n,r);t[i].push(s)}else t[i]="donor"===i?LFe(n,r):r;return t}(this.store,t))})}getAggregateResults(e){return Fi(this,void 0,void 0,function*(){return function(n,e){const t=iv(e,n,yi.donor.id),i=iv(e,t,yi.providerUUID.id),r=new Set;for(const l of n)for(const c of(0,xn.readQuads)(e,l,yi.spatialEntity,null,null))r.add(c.subject.id);const s=iv(e,r,yi.sections.id),o=new Set([...iv(e,r,yi.datasets.id),...iv(e,s,yi.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:t.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([l,c])=>({label:l,count:c}))}(this.getIds(e),this.store)})}getOntologyTermOccurences(e){return Fi(this,void 0,void 0,function*(){return function(n,e){const t={};return Oq(n,e).forEach((r,s)=>{t[s]=r.size}),t}(this.getIds(e),this.store)})}getCellTypeTermOccurences(e){return Fi(this,void 0,void 0,function*(){return function(n,e){var t,i;const r=Oq(n,e),s=new Map;for(const a of r.keys()){const l=r.get(a);for(const c of(0,xn.readQuads)(e,null,ki.asctb.located_in,a,null)){const u=c.subject.id;if(s.has(u)){const h=s.get(u);l.forEach(p=>h.add(p))}else s.set(u,new Set(l))}}const o={};return s.forEach((a,l)=>{o[l]=a.size}),o[bd.cell.id]=null!==(i=null===(t=r.get(bd.body.id))||void 0===t?void 0:t.size)&&void 0!==i?i:0,o}(this.getIds(e),this.store)})}getOntologyTreeModel(){return Fi(this,void 0,void 0,function*(){return Pq(this.store)})}getCellTypeTreeModel(){return Fi(this,void 0,void 0,function*(){return function(n){return Rq(n,bd.cell.id,"cell",ki.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return Fi(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(e){return Fi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(e)})}getReferenceOrganScene(e,t){return Fi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)})}getSpatialPlacement(e,t){return Fi(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(e,t)})}}function YFe(n,e){return n===e}let KFe=(()=>{class n{constructor(t,i){this.locator=t,this.globalConfig=i,this.subscriptions=new C,this.dataSource=i.getOption("data").pipe(ye(r=>Object.assign(Object.assign({},bq),{dataSources:r})),Qi(r=>Object.keys(r).length>0),ye(r=>r),rd(YFe),Ir(r=>function(n,e){return new P(t=>{let i,r;try{i=n()}catch(a){return void t.error(a)}try{r=e(i)}catch(a){return void t.error(a)}const o=(r?qe(r):Yc).subscribe(t);return()=>{o.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDataSource(),s=>this.connectDataSource(s.source,r))),$a(1)),this.subscriptions.add(this.dataSource.subscribe())}ngOnDestroy(){this.subscriptions.unsubscribe()}getTissueBlockResults(t){return this.dataSource.pipe(Ir(i=>i.getTissueBlockResults(t)),Wi(1))}getAggregateResults(t){return this.dataSource.pipe(Ir(i=>i.getAggregateResults(t)),Wi(1))}getOntologyTermOccurences(t){return this.dataSource.pipe(Ir(i=>i.getOntologyTermOccurences(t)),Wi(1))}getCellTypeTermOccurences(t){return this.dataSource.pipe(Ir(i=>i.getCellTypeTermOccurences(t)),Wi(1))}getOntologyTreeModel(){return this.dataSource.pipe(Ir(t=>t.getOntologyTreeModel()),Wi(1))}getCellTypeTreeModel(){return this.dataSource.pipe(Ir(t=>t.getCellTypeTreeModel()),Wi(1))}getReferenceOrgans(){return this.dataSource.pipe(Ir(t=>t.getReferenceOrgans()),Wi(1))}getScene(t){return this.dataSource.pipe(Ir(i=>i.getScene(t)),Wi(1))}getOrganScene(t,i){return this.dataSource.pipe(Ir(r=>r.getReferenceOrganScene(t,i)),Wi(1))}createDataSource(){return{source:new GFe,unsubscribe:()=>{}}}connectDataSource(t,i){return Fi(this,void 0,void 0,function*(){const r=(new Date).getTime();return yield t.connect(i,!1),m0.production||(console.info(`Loaded CCF database in ${((new Date).getTime()-r)/1e3}s`),console.log(t)),t})}}return n.\u0275fac=function(t){return new(t||n)(ke(Cf),ke(Yb))},n.\u0275prov=et({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),XFe=(()=>{class n{constructor(t,i){this.configState=t,this.source=i,this.data$=this.configState.getOption("data"),this.zoomToID$=this.configState.getOption("zoomToID").pipe(ye(r=>`http://purl.org/ccf/1.5/entity/${r}`)),this.highlightID$=this.configState.getOption("highlightID").pipe(ye(r=>`http://purl.org/ccf/1.5/entity/${r}`)),this.referenceOrgans$=this.source.getReferenceOrgans(),this.scene$=Yo([this.data$,this.referenceOrgans$,this.source.dataSource]).pipe(Ir(([r,s,o])=>this.chooseScene(r,s))),this.organs$=this.configState.getOption("data").pipe(ye(r=>this.selectOrgans(r)),$a(1)),this.filteredOrgans$=Yo([this.organs$,this.referenceOrgans$]).pipe(ye(([r,s])=>this.getNeededReferenceOrgans(s,r)),$a(1)),this.filteredScene$=Yo([this.scene$,this.organs$,this.referenceOrgans$]).pipe(ye(([r,s,o])=>this.filterSceneNodes(r,s,o)),function(n,e){const t=n.pipe(ao(""));return i=>Yo([i,t]).pipe(ye(([r,s])=>r.map(o=>function(n,e,t){return n.entityId!==e?n:Object.assign(Object.assign({},n),{color:t})}(o,s,e))))}(this.highlightID$,BNe),function(n){const e=n.pipe(ao(""));return t=>Yo([t,e]).pipe(ye(([i,r])=>i.map(s=>function(n,e){return n.entityId!==e?n:Object.assign(Object.assign({},n),{zoomToOnLoad:!0})}(s,r))))}(this.zoomToID$),$a(1))}chooseScene(t,i){var r;const s=null!==(r=null==t?void 0:t.map(a=>{const l=a[KW];return null==l?void 0:l.placement.target}))&&void 0!==r?r:[];if(new Set(s).size>1)return this.source.getScene();if(i){const a=i.find(l=>l["@id"]===s[0]);if(a)return this.source.getOrganScene(a.representation_of,{ontologyTerms:[a.reference_organ],sex:a.sex})}return fn([])}selectOrgans(t){const r=(null!=t?t:[]).map(s=>s[KW].placement.target);return new Set(r)}filterSceneNodes(t,i,r){const s=this.getNeededReferenceOrgans(r,i),o=this.getNeededSkins(s),a=new Set([...i,...o]);return t.filter(c=>!c.reference_organ||a.has(c.reference_organ))}getNeededReferenceOrgans(t,i){return t.filter(r=>{var s;return i.has(null!==(s=r.reference_organ)&&void 0!==s?s:"")})}getNeededSkins(t){if(1===t.length)return[];const i=new Set;return t.forEach(r=>{"Female"===r.sex?i.add("http://purl.org/ccf/latest/ccf.owl#VHFSkin"):"Male"===r.sex&&i.add("http://purl.org/ccf/latest/ccf.owl#VHMSkin")}),[...i]}}return n.\u0275fac=function(t){return new(t||n)(ke(Yb),ke(KFe))},n.\u0275prov=et({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const QFe=["bodyUI"];let ZFe=(()=>{class n{constructor(t,i,r){this.configState=t,this.sceneSource=i,this.cdr=r,this.onMouseEnter=new sn,this.onMouseLeave=new sn,this.onClick=new sn,this.data$=this.configState.getOption("data"),this.organs$=this.sceneSource.filteredOrgans$,this.scene$=this.sceneSource.filteredScene$.pipe(Yr(s=>this.reset()))}reset(){var t,i;return Fi(this,void 0,void 0,function*(){const{bodyUI:r}=this;yield new Promise(a=>setTimeout(a,200));const s=yield this.organs$.pipe(Wi(1)).toPromise(),o=null!==(i=!!(null===(t=r.scene)||void 0===t?void 0:t.find(a=>a.zoomToOnLoad)))&&void 0!==i&&i;if(r.rotation=0,r.rotationX=0,!o)if(1===s.length){const{x_dimension:a,y_dimension:l,z_dimension:c}=s[0];r.bounds={x:1.25*a/1e3,y:1.25*l/1e3,z:1.25*c/1e3},r.target=[a/1e3/2,l/1e3/2,c/1e3/2]}else r.bounds={x:2.2,y:2,z:.4},r.target=[0,0,0];this.cdr.detectChanges()})}}return n.\u0275fac=function(t){return new(t||n)(Oe(Yb),Oe(XFe),Oe(Dr))},n.\u0275cmp=ln({type:n,selectors:[["ccf-root"]],viewQuery:function(t,i){if(1&t&&ss(QFe,7),2&t){let r;ii(r=ri())&&(i.bodyUI=r.first)}},outputs:{onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave",onClick:"onClick"},decls:3,vars:4,consts:[["camera","perspective",1,"body-ui",3,"scene","interactive","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""]],template:function(t,i){1&t&&(Pt(0,"ccf-body-ui",0,1),Un("nodeClick",function(s){return i.onClick.emit(s)})("nodeHoverStart",function(s){return i.onMouseEnter.emit(s)})("nodeHoverStop",function(s){return i.onMouseLeave.emit(s)}),xl(2,"async"),Ft()),2&t&&rn("scene",Vu(2,2,i.scene$))("interactive",!0)},directives:[nNe],pipes:[h0],styles:[".body-ui[_ngcontent-%COMP%]{height:100%;width:100%}"],changeDetection:0}),n})();function JFe(n,e){if(1&n){const t=Vt();Pt(0,"ccf-root",1),Un("onMouseEnter",function(r){return Cr(t),ci().onMouseEnter.emit(r)})("onMouseLeave",function(r){return Cr(t),ci().onMouseLeave.emit(r)})("onClick",function(r){return Cr(t),ci().onClick.emit(r)}),Ft()}}function eke(n){return n.map(e=>({"@id":`http://purl.org/ccf/1.5/entity/${e.id}`,"@type":"http://purl.org/ccf/latest/ccf-entity.owl#Sample","http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity":e.rui_location}))}let tke=(()=>{class n extends Eie{constructor(t,i){super(t,i,{initialDelay:10,initialConfig:Object.assign(Object.assign({},m0.dbOptions),globalThis.dbOptions),parse:{data:eke}}),this.onMouseEnter=new sn,this.onMouseLeave=new sn,this.onClick=new sn}}return n.\u0275fac=function(t){return new(t||n)(Oe(Yb),Oe(Dr))},n.\u0275cmp=ln({type:n,selectors:[["ccf-root-wc"]],inputs:{data:"data",highlightID:"highlightID",zoomToID:"zoomToID"},outputs:{onMouseEnter:"onMouseEnter",onMouseLeave:"onMouseLeave",onClick:"onClick"},features:[An],decls:1,vars:1,consts:[[3,"onMouseEnter","onMouseLeave","onClick",4,"ngIf"],[3,"onMouseEnter","onMouseLeave","onClick"]],template:function(t,i){1&t&&Di(0,JFe,1,0,"ccf-root",0),2&t&&rn("ngIf",i.initialized)},directives:[lc,ZFe],encapsulation:2,changeDetection:0}),n})(),nke=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[ps,Za,h9,...t]}}}return n.\u0275fac=function(t){return new(t||n)(ke(ps,2),ke(Za,2))},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({}),n})();const xC=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class ske{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=$f(this.action),i=function(n){return xC(n.getHours(),2)+":"+xC(n.getMinutes(),2)+":"+xC(n.getSeconds(),2)+"."+xC(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class oke{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const kq=new Ht("NGXS_LOGGER_PLUGIN_OPTIONS");let ake=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new oke(this._options),this._store=this._store||this._injector.get(cu);const s=new ske(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(Yr(o=>{s.completed(o)}),bc(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(ke(kq),ke(Wn))},n.\u0275prov=et({token:n,factory:n.\u0275fac}),n})();const Lq=new Ht("LOGGER_USER_OPTIONS");function lke(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let cke=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:f6,useClass:ake,multi:!0},{provide:Lq,useValue:t},{provide:kq,useFactory:lke,deps:[Lq]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({}),n})();const uke=[Yb];let dke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({imports:[[nke.forRoot(),Wo.forRoot(uke,{developmentMode:!m0.production}),cke.forRoot({disabled:m0.production})]]}),n})(),hke=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(wl).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new mie(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends yie{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(tke,{injector:this.injector});customElements.define("ccf-body-ui-wc",t)}}return n.\u0275fac=function(t){return new(t||n)(ke(Wn))},n.\u0275mod=on({type:n}),n.\u0275inj=Ct({providers:[],imports:[[WD,dke,iNe]]}),n})();m0.production&&function(){if(lB)throw new Error("Cannot enable prod mode after platform setup.");aB=!1}(),jne().bootstrapModule(hke).catch(n=>console.error(n))},52:jt=>{function Ye(lt,ee,Et,je,Q,we,fe){try{var K=lt[we](fe),V=K.value}catch(F){return void Et(F)}K.done?ee(V):Promise.resolve(V).then(je,Q)}jt.exports=function(lt){return function(){var ee=this,Et=arguments;return new Promise(function(je,Q){var we=lt.apply(ee,Et);function fe(V){Ye(we,je,Q,fe,K,"next",V)}function K(V){Ye(we,je,Q,fe,K,"throw",V)}fe(void 0)})}},jt.exports.default=jt.exports,jt.exports.__esModule=!0},948:jt=>{jt.exports=function(Je){return Je&&Je.__esModule?Je:{default:Je}},jt.exports.default=jt.exports,jt.exports.__esModule=!0},321:jt=>{function Ye(Je){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(jt.exports=Ye=function(ee){return typeof ee},jt.exports.default=jt.exports,jt.exports.__esModule=!0):(jt.exports=Ye=function(ee){return ee&&"function"==typeof Symbol&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},jt.exports.default=jt.exports,jt.exports.__esModule=!0),Ye(Je)}jt.exports=Ye,jt.exports.default=jt.exports,jt.exports.__esModule=!0},380:jt=>{function Ye(Je){return Promise.resolve().then(()=>{var lt=new Error("Cannot find module '"+Je+"'");throw lt.code="MODULE_NOT_FOUND",lt})}Ye.keys=()=>[],Ye.resolve=Ye,Ye.id=380,jt.exports=Ye},521:()=>{},125:()=>{},307:()=>{}},jt=>{jt(jt.s=303)}]); \ No newline at end of file diff --git a/docs/ccf-api/changelog.html b/docs/ccf-api/changelog.html index 88d7b76e3..389facb51 100644 --- a/docs/ccf-api/changelog.html +++ b/docs/ccf-api/changelog.html @@ -33,6 +33,11 @@

    Changelog

    Changelog for the Human Reference Atlas (HRA) User Interfaces

    +

    3.7.2 - 2023-07-12

    +

    Added in 3.7.2

    +
      +
    • Client side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1
    • +

    3.7.0 - 2023-06-15

    Added in 3.7.0

      diff --git a/docs/ccf-api/dependencies.html b/docs/ccf-api/dependencies.html index 3d979a355..8dd3abc9e 100644 --- a/docs/ccf-api/dependencies.html +++ b/docs/ccf-api/dependencies.html @@ -162,6 +162,8 @@ ngx-markdown : ^12.0.1
    • node-fetch : ^2.6.7
    • +
    • + object-hash : ^3.0.0
    • qs : ^6.10.2
    • diff --git a/docs/ccf-api/js/search/search_index.js b/docs/ccf-api/js/search/search_index.js index 162577a7b..11bb38044 100644 --- a/docs/ccf-api/js/search/search_index.js +++ b/docs/ccf-api/js/search/search_index.js @@ -1,4 +1,4 @@ var COMPODOC_SEARCH_INDEX = { - "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/interfaces/AppOptions.html",[0,0.246,1,1.69]],["body/interfaces/AppOptions.html",[0,0.296,1,2.81,2,0.891,3,0.748,4,1.051,5,0.619,6,0.619,7,2.463,8,3.938,9,2.006,10,0.619,11,1.327,12,1.327,13,3.58,14,4.316,15,0.502,16,0.064,17,1.653,18,2.463,19,3.119,20,1.708,21,3.11,22,3.11,23,1.576,24,3.11,25,3.11,26,3.938,27,2.463,28,3.119,29,3.119,30,2.564,31,3.938,32,3.119,33,3.938,34,3.119,35,1.327,36,0.944,37,3.119,38,0.891,39,3.938,40,3.119,41,1.051,42,2.03,43,3.119,44,3.119,45,1.235,46,1.124,47,3.119,48,3.119,49,2.564,50,3.119,51,3.119,52,3.119,53,3.119,54,3.119,55,3.119,56,3.119,57,3.119,58,3.938,59,3.119,60,3.119,61,3.119,62,3.119,63,2.463,64,3.119,65,3.119,66,3.119,67,3.119,68,3.119,69,3.119,70,0.038,71,0.048,72,0.038]],["title/classes/CCFDatabaseInstance.html",[73,1.206,74,1.206]],["body/classes/CCFDatabaseInstance.html",[3,0.691,4,0.972,5,0.572,6,0.928,10,0.572,11,1.262,12,0.972,15,0.735,16,0.064,17,1.484,35,1.402,36,0.997,38,1.069,41,0.972,45,1.483,46,0.823,70,0.035,71,0.046,72,0.035,73,1.34,74,1.933,75,1.877,76,3.044,77,1.671,78,1.877,79,3.811,80,2.97,81,4.563,82,3.284,83,3.284,84,2.276,85,2.883,86,4.676,87,3.603,88,1.877,89,2.97,90,3.744,91,2.276,92,2.276,93,4.159,94,1.877,95,1.877,96,1.484,97,3.744,98,2.05,99,2.883,100,0.972,101,2.883,102,2.883,103,2.276,104,2.883,105,2.883,106,2.883,107,2.438,108,2.883,109,1.877,110,2.883,111,1.933,112,2.883,113,1.74,114,2.883,115,2.883,116,2.276,117,2.883,118,2.883,119,2.883,120,2.883,121,2.883,122,1.877,123,2.883,124,2.883,125,1.34,126,2.883]],["title/interfaces/CacheOptions.html",[0,0.246,127,1.69]],["body/interfaces/CacheOptions.html",[0,0.287,2,0.864,3,0.725,4,1.02,5,0.601,6,0.601,10,0.601,11,1.302,12,1.511,15,0.622,16,0.065,17,1.302,20,2.33,23,1.02,35,1.302,36,0.926,38,1.352,41,1.02,46,1.28,49,2.515,70,0.037,71,0.048,72,0.037,95,1.97,96,1.02,109,1.97,122,1.97,127,2.77,128,2.389,129,1.407,130,2.153,131,2.153,132,2.202,133,1.796,134,1.53,135,1.657,136,1.02,137,0.725,138,1.302,139,3.026,140,3.863,141,1.97,142,2.389,143,1.796,144,3.026,145,3.026,146,3.026,147,2.115,148,1.657,149,2.115,150,1.97,151,1.978,152,3.863,153,3.05,154,3.863,155,3.026,156,2.389,157,3.026,158,3.863,159,2.389,160,3.026,161,3.026,162,3.863,163,2.389,164,3.026]],["title/interfaces/DatabaseCacheOptions.html",[0,0.246,165,1.421]],["body/interfaces/DatabaseCacheOptions.html",[0,0.33,2,0.736,3,0.618,4,0.869,5,0.512,6,0.512,9,1.616,10,0.512,11,1.172,12,1.42,15,0.633,16,0.065,17,1.482,23,0.869,35,1.42,36,1.01,38,1.256,41,1.172,42,1.678,45,1.865,46,1.294,70,0.032,71,0.043,72,0.032,74,1.198,77,1.326,80,1.678,96,1.172,98,2.154,100,0.869,107,1.678,111,1.829,113,1.198,125,1.616,130,2.044,131,2.044,132,2.106,133,1.616,134,1.377,135,1.411,136,0.869,137,0.618,138,1.42,141,1.678,143,1.829,147,1.904,148,1.411,149,2.154,151,1.829,165,2.154,166,1.411,167,1.411,168,2.562,169,2.264,170,2.035,171,1.377,172,1.678,173,2.264,174,3.015,175,2.035,176,2.745,177,2.035,178,2.745,179,2.745,180,2.035,181,2.035,182,2.035,183,2.035,184,3.326,185,1.678,186,2.264,187,2.745,188,2.035,189,2.035,190,2.035,191,1.411,192,2.035,193,2.035,194,2.035,195,2.745,196,2.035,197,2.035,198,1.021,199,2.035,200,1.678,201,1.198,202,1.411,203,1.678,204,2.035,205,2.035,206,2.745,207,2.035,208,2.035,209,2.035,210,1.411,211,2.035,212,2.035,213,2.035,214,2.035,215,2.035,216,1.678,217,2.035]],["title/interfaces/DatabaseLoaderOptions.html",[0,0.246,9,1.206]],["body/interfaces/DatabaseLoaderOptions.html",[0,0.331,2,0.738,3,0.62,4,0.871,5,0.513,6,0.513,9,1.832,10,0.513,11,1.174,12,1.174,15,0.634,16,0.065,17,1.484,23,0.871,35,1.421,36,1.011,38,1.257,41,1.174,42,1.683,45,1.866,46,1.295,70,0.032,71,0.043,72,0.032,74,1.201,77,1.529,80,1.683,96,1.174,98,2.41,100,0.871,107,1.683,111,1.832,113,1.201,125,1.619,130,1.619,131,1.619,132,1.619,133,1.619,134,1.38,135,1.415,136,0.871,137,0.62,138,1.562,141,1.683,143,1.832,147,1.907,148,1.415,149,2.157,151,1.832,165,2.309,166,1.415,167,1.415,168,2.565,169,2.268,170,2.041,171,1.38,172,1.683,173,2.268,174,3.017,175,2.041,176,2.751,177,2.041,178,2.751,179,2.751,180,2.041,181,2.041,182,2.041,183,2.041,184,3.33,185,1.683,186,2.268,187,2.751,188,2.041,189,2.041,190,2.041,191,1.415,192,2.041,193,2.041,194,2.041,195,2.751,196,2.041,197,2.041,198,1.024,199,2.041,200,1.683,201,1.201,202,1.415,203,1.683,204,2.041,205,2.041,206,2.751,207,2.041,208,2.041,209,2.041,210,1.415,211,2.041,212,2.041,213,2.041,214,2.041,215,2.041,216,1.683,217,2.041]],["title/interfaces/GtexTissue.html",[0,0.246,218,1.69]],["body/interfaces/GtexTissue.html",[0,0.222,2,0.667,3,0.56,4,1.26,5,0.645,6,0.645,10,0.645,11,1.096,15,0.684,16,0.065,17,1.551,23,0.788,35,1.26,36,0.896,38,1.418,41,1.26,45,1.601,46,1.067,70,0.046,71,0.04,72,0.04,77,0.788,88,1.521,96,1.096,98,1.78,100,0.788,111,1.086,113,1.511,125,1.511,130,1.086,131,1.086,132,2.172,133,1.511,134,1.287,135,1.279,136,0.788,137,0.56,138,1.26,142,2.952,143,1.086,147,1.78,148,1.279,149,1.279,150,1.521,153,1.845,171,1.287,172,1.521,174,1.521,185,1.521,186,1.521,198,0.925,202,1.78,210,1.279,218,2.631,219,1.521,220,1.521,221,4.042,222,4.042,223,4.042,224,2.567,225,2.337,226,1.845,227,2.567,228,1.845,229,4.042,230,2.337,231,1.845,232,2.337,233,1.521,234,1.279,235,3.251,236,1.845,237,1.521,238,2.337,239,2.337,240,2.337,241,2.337,242,1.845,243,2.337,244,3.739,245,3.251,246,3.251,247,3.251,248,3.251,249,4.042,250,2.116,251,1.845,252,1.521,253,1.845,254,2.567,255,1.521,256,2.337,257,2.337,258,1.521,259,2.337,260,2.337,261,2.337,262,2.337,263,1.845,264,2.567,265,2.337,266,2.337,267,2.337,268,2.337,269,3.251,270,2.337,271,2.337,272,2.952,273,3.251,274,1.845,275,1.845,276,2.337,277,2.337,278,2.434,279,3.251,280,2.337,281,2.337,282,2.337,283,2.337,284,2.337,285,2.337,286,2.337,287,2.337,288,2.337,289,2.337,290,2.337,291,2.337,292,1.845,293,2.337,294,2.337,295,2.337,296,2.337,297,2.337,298,1.521,299,1.845,300,2.337,301,3.739,302,2.337,303,2.337,304,2.337]],["title/classes/RequestCache.html",[73,1.206,171,1.028]],["body/classes/RequestCache.html",[3,0.673,4,0.946,5,0.557,6,0.898,10,0.557,12,1.469,15,0.702,16,0.064,17,0.946,35,0.946,36,0.673,38,1.051,46,1.051,70,0.058,71,0.045,72,0.035,73,1.305,75,1.828,82,2.906,84,2.906,88,1.828,89,2.837,91,3.441,92,3.441,111,2.277,113,2.158,122,2.673,125,1.305,129,1.305,137,0.673,138,1.525,156,3.572,159,2.906,163,2.217,168,2.945,171,1.457,255,1.828,274,2.217,275,2.217,305,3.572,306,2.396,307,4.643,308,3.68,309,3.68,310,2.807,311,4.358,312,4.106,313,2.807,314,2.807,315,3.68,316,4.899,317,4.854,318,2.807,319,4.106,320,3.68,321,2.807,322,3.68,323,2.807,324,2.807,325,2.807,326,2.807,327,2.807,328,2.807]],["title/changelog.html",[329,1.427,330,1.2,331,1.427]],["body/changelog.html",[0,0.303,2,0.239,3,0.725,5,0.166,11,0.283,12,0.283,13,0.662,15,0.135,16,0.044,18,0.662,20,1.831,41,0.489,63,0.662,70,0.01,71,0.018,72,0.041,77,0.868,79,0.662,89,0.546,94,0.546,96,1.21,100,1.561,109,0.546,132,0.39,151,1.405,191,0.794,198,0.758,200,0.546,201,1.615,202,2.39,203,0.546,210,1.655,231,2.387,233,1.246,234,2.114,236,1.145,237,1.677,242,0.662,255,0.944,258,1.484,263,1.145,272,3.048,278,0.944,292,1.145,330,1.048,331,0.944,332,1.512,333,3.205,334,1.512,335,1.512,336,2.641,337,1.45,338,0.839,339,2.28,340,1.45,341,5.027,342,4.293,343,1.915,344,0.839,345,1.45,346,0.839,347,3.78,348,0.839,349,1.45,350,0.662,351,0.839,352,1.145,353,1.145,354,1.145,355,3.196,356,0.839,357,0.839,358,0.839,359,1.45,360,1.915,361,3.589,362,0.839,363,0.794,364,0.662,365,0.839,366,0.839,367,3.345,368,1.45,369,2.575,370,1.915,371,1.915,372,0.839,373,1.145,374,1.45,375,3.729,376,1.45,377,0.839,378,0.839,379,3.999,380,0.839,381,1.45,382,2.424,383,1.915,384,2.575,385,1.45,386,1.915,387,1.915,388,1.484,389,1.915,390,0.839,391,1.45,392,1.45,393,0.839,394,3.023,395,2.819,396,3.023,397,1.45,398,0.839,399,0.839,400,3.999,401,2.641,402,1.8,403,0.839,404,1.45,405,0.839,406,0.839,407,1.45,408,1.915,409,2.034,410,0.839,411,1.45,412,0.839,413,0.839,414,0.839,415,1.45,416,3.106,417,0.839,418,2.819,419,0.839,420,0.839,421,0.839,422,1.915,423,1.512,424,0.839,425,0.839,426,1.145,427,0.839,428,2.819,429,3.589,430,3.69,431,1.45,432,2.575,433,0.839,434,1.45,435,2.819,436,1.45,437,0.839,438,0.839,439,0.839,440,1.45,441,2.387,442,2.819,443,1.8,444,0.839,445,3.023,446,3.539,447,0.839,448,0.839,449,1.45,450,0.839,451,2.28,452,0.839,453,1.45,454,1.915,455,0.839,456,0.839,457,1.915,458,0.839,459,1.915,460,1.45,461,0.839,462,1.45,463,0.839,464,0.839,465,0.839,466,3.861,467,0.839,468,0.662,469,1.677,470,0.839,471,1.45,472,0.662,473,0.839,474,1.45,475,2.28,476,2.28,477,0.839,478,1.45,479,1.915,480,0.839,481,0.839,482,1.45,483,0.839,484,0.839,485,2.819,486,1.543,487,2.034,488,1.512,489,0.839,490,2.034,491,0.839,492,1.915,493,2.524,494,3.78,495,0.839,496,0.839,497,1.45,498,1.512,499,0.839,500,0.839,501,0.839,502,2.575,503,0.839,504,0.839,505,0.839,506,0.839,507,1.915,508,0.839,509,1.145,510,1.145,511,0.839,512,2.524,513,0.839,514,0.839,515,2.834,516,0.839,517,0.839,518,0.839,519,2.034,520,2.034,521,0.839,522,1.45,523,0.839,524,0.839,525,1.915,526,1.45,527,0.839,528,0.839,529,1.45,530,1.45,531,1.45,532,1.45,533,0.839,534,1.915,535,0.839,536,0.839,537,0.662,538,0.839,539,1.512,540,0.662,541,1.45,542,1.45,543,0.839,544,0.839,545,1.45,546,1.45,547,1.45,548,1.45,549,0.839,550,0.839,551,0.839,552,0.839,553,1.915,554,0.839,555,1.45,556,0.839,557,0.839,558,1.145,559,2.819,560,1.145,561,0.839,562,0.662,563,0.839,564,0.839,565,2.575,566,2.28,567,0.839,568,1.915,569,1.45,570,2.819,571,1.145,572,1.45,573,2.28,574,0.839,575,0.839,576,2.28,577,0.839,578,0.839,579,0.839,580,0.839,581,0.839,582,1.45,583,1.45,584,0.839,585,1.45,586,0.839,587,0.662,588,1.45,589,0.839,590,1.45,591,0.839,592,0.839,593,1.8,594,0.839,595,0.839,596,0.839,597,0.839,598,1.45,599,0.839,600,0.839,601,0.662,602,0.839,603,0.839,604,0.839,605,0.839,606,1.45,607,0.839,608,0.839,609,0.839,610,0.839,611,0.839,612,1.45,613,0.839,614,2.819,615,0.839,616,0.839,617,1.915,618,1.915,619,1.45,620,0.662,621,1.45,622,0.839,623,0.662,624,0.662,625,0.839,626,1.45,627,0.839,628,0.839,629,1.484,630,0.839,631,0.839,632,1.45,633,1.45,634,0.839,635,0.839,636,1.45,637,1.45,638,0.839,639,1.45,640,2.28,641,1.915,642,0.839,643,0.839,644,0.839,645,0.839,646,0.662,647,0.662,648,0.839,649,1.45,650,0.839,651,0.839,652,0.839,653,0.839,654,1.45,655,2.28,656,0.839,657,0.839,658,0.839,659,0.839,660,2.819,661,1.915,662,0.839,663,0.839,664,1.915,665,1.45,666,1.45,667,1.45,668,2.28,669,0.839,670,2.28,671,0.839,672,0.839,673,1.45,674,0.839,675,0.839,676,0.839,677,0.839,678,0.839,679,2.28,680,0.839,681,1.915,682,2.28,683,0.839,684,1.915,685,2.575,686,1.45,687,1.45,688,1.45,689,1.45,690,1.915,691,2.28,692,2.575,693,1.45,694,1.915,695,0.839,696,0.839,697,3.023,698,1.915,699,0.839,700,2.28,701,2.28,702,3.345,703,0.839,704,0.839,705,0.839,706,0.839,707,0.839,708,0.839,709,1.45,710,0.839,711,1.45,712,0.839,713,0.839,714,0.839,715,0.839,716,1.45,717,0.839,718,1.915,719,0.839,720,0.839,721,1.45,722,1.512,723,1.45,724,1.915,725,0.839,726,0.839,727,0.839,728,1.45,729,0.839,730,0.839,731,0.839,732,0.839,733,0.839,734,0.839,735,0.839,736,1.45,737,0.839,738,0.839,739,2.28,740,2.819,741,1.45,742,1.915,743,1.45,744,2.28,745,0.839,746,0.839,747,0.839,748,0.839,749,1.915,750,0.839,751,0.839,752,0.839,753,1.45,754,1.45,755,1.45,756,1.45,757,1.915,758,0.839,759,0.839,760,0.839,761,0.839,762,0.839,763,0.839,764,0.662,765,0.839,766,0.839,767,0.839,768,1.45,769,0.839,770,0.839,771,1.45,772,0.839,773,0.839,774,0.839,775,0.839,776,0.839,777,0.839,778,0.839,779,0.839,780,0.839,781,3.196,782,0.839,783,1.512,784,3.196,785,1.915,786,2.28,787,1.45,788,1.915,789,0.839,790,1.45,791,0.839,792,0.839,793,1.45,794,1.45,795,0.839,796,0.839,797,0.839,798,0.839,799,1.45,800,0.839,801,1.915,802,0.839,803,0.839,804,0.839,805,1.8,806,0.839,807,0.662,808,0.839,809,0.839,810,0.839,811,0.839,812,0.839,813,0.839,814,0.839,815,0.839,816,0.839,817,0.839,818,2.575,819,0.839,820,0.839,821,0.839,822,0.839,823,0.839,824,0.839,825,0.839,826,0.839,827,0.839,828,0.839,829,0.839,830,0.839,831,0.839,832,0.839,833,0.839,834,1.45,835,0.839,836,1.45,837,0.839,838,1.45,839,1.45,840,2.28,841,2.28,842,1.45,843,1.45,844,0.839,845,0.839,846,0.839,847,1.915,848,0.839,849,0.662,850,0.839,851,0.839,852,0.839,853,0.839,854,0.839,855,0.839,856,1.45,857,3.475,858,1.915,859,0.839,860,1.45,861,0.839,862,0.839,863,0.839,864,0.839,865,1.45,866,0.839,867,0.839,868,0.839,869,0.839,870,1.45,871,2.387,872,1.45,873,0.839,874,0.839,875,0.944,876,0.839,877,2.28,878,0.839,879,1.45,880,0.839,881,0.839,882,0.839,883,1.484,884,0.839,885,1.45,886,0.839,887,0.839,888,0.839,889,1.45,890,1.45,891,0.839,892,0.839,893,0.839,894,0.839,895,1.45,896,1.915,897,1.45,898,0.839,899,0.662,900,1.145,901,0.839,902,0.839,903,0.839,904,0.839,905,0.839,906,0.839,907,0.839,908,0.839,909,0.839,910,0.662,911,0.839,912,0.839,913,1.45,914,0.839,915,0.839,916,0.839,917,0.839,918,0.839,919,0.839,920,0.839,921,1.45,922,0.839,923,0.662,924,0.839,925,0.662,926,0.662,927,0.839,928,0.839,929,0.839,930,1.45,931,0.839,932,0.839,933,0.839,934,0.839,935,0.839,936,0.839,937,0.839,938,0.839,939,0.839,940,0.839,941,0.839,942,1.45,943,0.662,944,0.839,945,0.839,946,1.45,947,0.662,948,0.662,949,0.839,950,0.839,951,0.839,952,0.839,953,0.839,954,0.839,955,0.839]],["title/coverage.html",[883,2.274]],["body/coverage.html",[0,0.36,1,1.139,5,0.347,6,1.032,7,2.082,9,0.813,15,0.282,16,0.064,27,1.382,30,2.298,36,1.232,70,0.022,71,0.032,72,0.022,73,1.225,74,0.813,76,1.716,77,1.069,78,1.716,96,0.59,127,1.139,128,2.504,129,1.92,136,1.069,137,0.76,165,0.958,166,2.179,167,2.179,169,1.139,171,0.693,218,1.139,219,2.591,220,2.767,250,1.139,252,1.139,254,2.082,298,1.716,305,1.382,306,1.139,363,0.958,382,1.443,388,1.716,486,0.958,883,1.139,956,1.75,957,1.75,958,5.201,959,1.75,960,1.75,961,5.187,962,3.032,963,1.75,964,3.172,965,1.75,966,2.636,967,1.75,968,4.766,969,1.382,970,1.382,971,3.172,972,1.75,973,1.75,974,1.75,975,1.75,976,1.382,977,1.75,978,2.504,979,1.382,980,1.382,981,2.082,982,2.082,983,1.382,984,3.53,985,2.636,986,2.636,987,1.382,988,2.082,989,2.082,990,1.75,991,1.75,992,2.082,993,2.636,994,1.382,995,2.636,996,2.636,997,1.382,998,2.636,999,1.382,1000,1.382,1001,1.75,1002,3.499,1003,3.499,1004,1.75,1005,1.75,1006,1.75,1007,1.75,1008,1.75,1009,1.75,1010,1.75,1011,1.75,1012,1.75,1013,1.382,1014,2.082,1015,2.082,1016,2.082,1017,1.75,1018,1.382,1019,3.261,1020,1.75,1021,1.75,1022,1.75,1023,1.75,1024,1.75,1025,1.75,1026,1.75,1027,2.065,1028,1.382,1029,1.382,1030,1.75,1031,1.75,1032,1.75,1033,1.75]],["title/dependencies.html",[472,1.731,629,2.023]],["body/dependencies.html",[5,0.522,16,0.065,20,1.44,21,2.782,22,2.076,23,0.886,24,2.076,25,2.076,70,0.032,71,0.043,72,0.032,103,2.076,137,0.63,138,1.188,224,2.076,226,2.076,227,2.076,228,2.076,264,2.076,354,2.076,363,1.44,364,2.076,469,1.712,490,2.076,509,2.076,560,2.076,571,2.076,623,2.076,624,2.076,629,1.712,647,2.782,722,2.076,783,2.782,875,2.294,1034,2.629,1035,2.629,1036,2.629,1037,4.883,1038,2.629,1039,2.629,1040,2.629,1041,2.629,1042,2.629,1043,2.629,1044,2.629,1045,2.629,1046,3.524,1047,2.629,1048,2.629,1049,2.629,1050,2.629,1051,2.629,1052,2.629,1053,2.629,1054,3.975,1055,2.629,1056,3.524,1057,2.629,1058,2.629,1059,2.629,1060,2.629,1061,3.975,1062,2.629,1063,2.629,1064,2.629,1065,2.629,1066,2.629,1067,2.629,1068,2.629,1069,2.629,1070,3.524,1071,2.629,1072,2.629,1073,2.629,1074,3.524,1075,2.629,1076,2.629,1077,3.524,1078,3.524,1079,2.629,1080,2.629,1081,2.629,1082,2.629,1083,2.076,1084,2.629,1085,2.629,1086,2.629,1087,2.629,1088,2.629,1089,2.629,1090,2.629,1091,2.629,1092,2.629,1093,2.629,1094,2.629,1095,2.629,1096,2.629,1097,2.629,1098,2.629,1099,2.629,1100,2.629,1101,2.629,1102,2.629,1103,2.629,1104,2.629,1105,2.629,1106,2.629,1107,2.629,1108,3.524,1109,2.629,1110,2.629,1111,2.629,1112,2.629,1113,2.629,1114,2.629,1115,2.629,1116,2.629,1117,2.629,1118,2.629,1119,2.629,1120,2.629,1121,2.629,1122,2.629,1123,2.629,1124,2.629,1125,2.629,1126,2.629,1127,2.629,1128,3.524,1129,2.629,1130,2.629,1131,2.629,1132,2.629,1133,2.629,1134,2.629,1135,2.629,1136,2.629,1137,2.629,1138,3.524,1139,2.629,1140,2.629,1141,2.629,1142,2.629,1143,2.629,1144,2.629,1145,2.629,1146,2.629,1147,2.629,1148,2.629,1149,2.629,1150,2.629,1151,2.629]],["title/index.html",[10,0.435,329,1.427,330,1.2]],["body/index.html",[0,0.349,2,0.802,3,1.084,16,0.045,70,0.035,71,0.045,72,0.035,100,1.742,191,1.537,198,1.457,201,2.026,234,2.628,237,2.396,331,1.828,332,2.906,333,2.906,334,2.906,335,3.242,336,3.242,350,2.906,352,2.906,353,3.441,375,2.906,382,2.248,409,2.217,423,2.906,426,2.906,441,2.217,443,2.217,446,3.242,468,2.217,469,1.828,486,1.537,487,3.572,488,3.441,493,2.906,498,2.217,510,2.906,512,2.217,515,2.217,520,2.217,539,2.217,540,2.906,620,2.906,646,2.217,807,2.217,900,2.217,910,2.217,923,2.217,947,2.217,1152,3.68,1153,3.68,1154,3.68,1155,2.807,1156,2.807,1157,2.807,1158,2.807,1159,2.906,1160,2.807,1161,2.807,1162,2.807,1163,3.68,1164,3.68,1165,3.68,1166,4.106,1167,2.807,1168,2.807,1169,4.106,1170,4.106,1171,2.807,1172,2.807,1173,3.68,1174,2.807,1175,2.807,1176,2.807,1177,2.807,1178,2.807,1179,2.807,1180,2.807,1181,2.807,1182,2.807,1183,2.217,1184,4.358,1185,2.807,1186,2.807,1187,2.807,1188,3.68,1189,2.807,1190,2.807,1191,3.68,1192,3.68,1193,2.807,1194,3.68,1195,3.68,1196,2.807,1197,2.807,1198,2.807,1199,2.807,1200,2.807,1201,2.807,1202,2.807,1203,2.807,1204,2.807,1205,2.807,1206,2.807,1207,2.807,1208,2.807,1209,2.807,1210,2.807]],["title/license.html",[329,1.427,330,1.2,1211,1.731]],["body/license.html",[16,0.051,23,1.133,70,0.041,71,0.051,72,0.041,198,1.634,201,1.562,486,1.84,519,3.257,537,3.525,562,2.653,764,3.257,849,2.653,871,2.653,926,2.653,948,2.653,1159,3.958,1211,2.653,1212,3.36,1213,4.464,1214,3.36,1215,3.36,1216,4.125,1217,3.36,1218,3.36,1219,3.36,1220,3.36,1221,3.36,1222,3.36,1223,4.125,1224,3.36,1225,3.36,1226,3.36,1227,3.36,1228,3.36,1229,3.36,1230,3.36,1231,3.36,1232,3.36,1233,3.36,1234,3.36,1235,3.36,1236,4.125,1237,3.36,1238,3.36,1239,3.36,1240,3.36,1241,3.36,1242,3.36,1243,4.125,1244,3.36,1245,3.36,1246,3.36,1247,3.36,1248,3.36,1249,3.36,1250,3.36,1251,3.36,1252,3.36,1253,3.36,1254,3.36,1255,3.36,1256,3.36,1257,3.36,1258,3.36,1259,3.36,1260,3.36,1261,3.36,1262,3.36,1263,3.36,1264,3.36,1265,3.36,1266,3.36,1267,3.36,1268,3.36,1269,3.36,1270,3.36,1271,3.36]],["title/modules.html",[1272,2.758]],["body/modules.html",[16,0.057,70,0.05,71,0.057,72,0.05,1272,3.194]],["title/overview.html",[1273,2.758]],["body/overview.html",[2,1.145,16,0.056,70,0.049,71,0.056,72,0.049,75,2.61,805,3.166,1273,3.166,1274,4.009]],["title/miscellaneous/typealiases.html",[1275,1.2,1276,3.108]],["body/miscellaneous/typealiases.html",[6,0.994,10,0.691,15,0.561,16,0.052,36,1.087,70,0.043,71,0.052,72,0.043,76,2.267,77,1.627,78,2.744,87,3.329,129,1.959,134,1.379,136,1.421,137,1.01,166,1.906,167,2.308,173,3.067,962,2.267,976,2.749,981,2.749,982,3.329,999,2.749,1000,3.58,1019,2.749,1027,2.267,1275,1.906,1277,3.482,1278,4.215,1279,2.749,1280,4.215,1281,4.215,1282,4.215,1283,4.215,1284,4.215,1285,4.215,1286,4.215,1287,3.482,1288,4.215,1289,3.482,1290,4.215,1291,2.749]],["title/miscellaneous/variables.html",[1275,1.2,1292,2.454]],["body/miscellaneous/variables.html",[6,0.939,10,0.44,15,0.776,16,0.064,30,2.956,38,1.037,45,1.24,46,0.632,49,2.038,70,0.027,71,0.039,72,0.039,83,1.749,94,3.21,95,3.21,100,0.747,116,1.749,129,1.835,130,1.029,131,1.029,133,1.835,134,0.877,136,1.404,137,0.946,138,0.747,143,1.455,150,2.038,151,1.835,216,2.038,219,1.442,220,2.364,233,1.442,234,1.988,250,2.038,251,1.749,252,2.038,253,1.749,258,1.442,278,1.442,298,2.038,299,2.472,306,2.038,363,1.213,373,1.749,382,1.213,388,1.442,401,1.749,402,1.749,416,1.749,558,1.749,587,1.749,593,1.749,601,2.472,875,1.442,899,3.117,925,1.749,943,1.749,962,1.442,969,2.472,970,2.472,978,1.749,979,2.868,980,2.868,983,1.749,987,1.749,988,1.749,989,3.117,992,1.749,994,1.749,997,1.749,1002,1.749,1003,2.472,1013,2.472,1014,1.749,1015,2.472,1016,2.472,1018,2.472,1027,1.442,1028,2.472,1029,2.472,1083,2.472,1183,2.472,1275,1.213,1279,2.868,1291,2.472,1292,1.749,1293,3.632,1294,2.215,1295,4.165,1296,3.131,1297,2.215,1298,3.948,1299,2.215,1300,2.215,1301,2.215,1302,2.215,1303,3.948,1304,2.215,1305,2.215,1306,3.948,1307,2.215,1308,3.131,1309,3.131,1310,3.131,1311,2.215,1312,2.215,1313,2.215,1314,2.215,1315,2.215,1316,2.215,1317,2.215,1318,2.215,1319,2.215,1320,2.215,1321,2.215,1322,2.215,1323,2.215,1324,2.215,1325,2.215,1326,2.215,1327,2.215,1328,2.215,1329,2.215,1330,2.215,1331,2.215,1332,2.215,1333,2.215,1334,2.215,1335,2.215,1336,2.215,1337,2.215,1338,2.215,1339,2.215,1340,2.215,1341,2.215,1342,2.215,1343,2.215,1344,2.215,1345,2.215,1346,2.215,1347,2.215,1348,2.215,1349,2.215,1350,2.215,1351,2.215,1352,2.215,1353,2.215,1354,3.131,1355,3.131,1356,3.131,1357,2.215,1358,3.131,1359,2.215,1360,2.215,1361,3.131,1362,2.215,1363,2.215,1364,2.215,1365,3.131,1366,2.215,1367,2.215,1368,2.215,1369,2.215,1370,2.215]]],"invertedIndex":[["",{"_index":16,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":958,"title":{},"body":{"coverage.html":{}}}],["0.1.0",{"_index":946,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":1151,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":1091,"title":{},"body":{"dependencies.html":{}}}],["0.2.0",{"_index":942,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":1109,"title":{},"body":{"dependencies.html":{}}}],["0.5.0",{"_index":930,"title":{},"body":{"changelog.html":{}}}],["0.6.0",{"_index":900,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0/1",{"_index":961,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":959,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":971,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":990,"title":{},"body":{"coverage.html":{}}}],["0/5",{"_index":1031,"title":{},"body":{"coverage.html":{}}}],["0/6",{"_index":1030,"title":{},"body":{"coverage.html":{}}}],["01",{"_index":385,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":750,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":685,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":432,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":655,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":339,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":384,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":872,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":369,"title":{},"body":{"changelog.html":{}}}],["1",{"_index":865,"title":{},"body":{"changelog.html":{}}}],["1.0",{"_index":784,"title":{},"body":{"changelog.html":{}}}],["1.0.0",{"_index":857,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":1087,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":1094,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":1146,"title":{},"body":{"dependencies.html":{}}}],["1.1.0",{"_index":834,"title":{},"body":{"changelog.html":{}}}],["1.16.0",{"_index":1124,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":1088,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":783,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":1097,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":1127,"title":{},"body":{"dependencies.html":{}}}],["1.3.5",{"_index":749,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":722,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":1112,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":684,"title":{},"body":{"changelog.html":{}}}],["1.6.0",{"_index":668,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":654,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":1100,"title":{},"body":{"dependencies.html":{}}}],["10",{"_index":210,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["10.0.0",{"_index":1107,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":146,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["1000",{"_index":148,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["10x",{"_index":846,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":724,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":1129,"title":{},"body":{"dependencies.html":{}}}],["12",{"_index":441,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":1131,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":1037,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":1045,"title":{},"body":{"dependencies.html":{}}}],["13",{"_index":548,"title":{},"body":{"changelog.html":{}}}],["14",{"_index":433,"title":{},"body":{"changelog.html":{}}}],["15",{"_index":340,"title":{},"body":{"changelog.html":{}}}],["15.126.1",{"_index":1035,"title":{},"body":{"dependencies.html":{}}}],["16",{"_index":619,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":1102,"title":{},"body":{"dependencies.html":{}}}],["17",{"_index":408,"title":{},"body":{"changelog.html":{}}}],["2",{"_index":805,"title":{},"body":{"changelog.html":{},"overview.html":{}}}],["2.0.0",{"_index":618,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":1105,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":571,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":560,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.3.0",{"_index":555,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":547,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":531,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":509,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.6.7",{"_index":1132,"title":{},"body":{"dependencies.html":{}}}],["2.8.5",{"_index":1095,"title":{},"body":{"dependencies.html":{}}}],["2.awsapprunner.com",{"_index":1181,"title":{},"body":{"index.html":{}}}],["2019",{"_index":871,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":786,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":494,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":355,"title":{},"body":{"changelog.html":{}}}],["2023",{"_index":338,"title":{},"body":{"changelog.html":{}}}],["21",{"_index":656,"title":{},"body":{"changelog.html":{}}}],["22",{"_index":859,"title":{},"body":{"changelog.html":{}}}],["24",{"_index":931,"title":{},"body":{"changelog.html":{}}}],["26",{"_index":686,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":727,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":370,"title":{},"body":{"changelog.html":{}}}],["3",{"_index":771,"title":{},"body":{"changelog.html":{}}}],["3.0.0",{"_index":490,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":1061,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":449,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":440,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":431,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":407,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":383,"title":{},"body":{"changelog.html":{}}}],["3.5.0",{"_index":368,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":1067,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":1069,"title":{},"body":{"dependencies.html":{}}}],["3.6",{"_index":1188,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":354,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.7.0",{"_index":337,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":1078,"title":{},"body":{"dependencies.html":{}}}],["3.7.3",{"_index":1081,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":572,"title":{},"body":{"changelog.html":{}}}],["31",{"_index":835,"title":{},"body":{"changelog.html":{}}}],["3d",{"_index":400,"title":{},"body":{"changelog.html":{}}}],["4",{"_index":804,"title":{},"body":{"changelog.html":{}}}],["4.0",{"_index":1164,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":1075,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":1103,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":1122,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":1092,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":1113,"title":{},"body":{"dependencies.html":{}}}],["4th",{"_index":357,"title":{},"body":{"changelog.html":{}}}],["5",{"_index":1274,"title":{},"body":{"overview.html":{}}}],["5.0.0",{"_index":1116,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":1120,"title":{},"body":{"dependencies.html":{}}}],["5th",{"_index":346,"title":{},"body":{"changelog.html":{}}}],["6.0.1",{"_index":1119,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":1133,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":1072,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":1143,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":1140,"title":{},"body":{"dependencies.html":{}}}],["60",{"_index":147,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["8",{"_index":263,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["8.3.2",{"_index":1149,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":1065,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":1054,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":1057,"title":{},"body":{"dependencies.html":{}}}],["85",{"_index":941,"title":{},"body":{"changelog.html":{}}}],["90",{"_index":882,"title":{},"body":{"changelog.html":{}}}],["95",{"_index":436,"title":{},"body":{"changelog.html":{}}}],["9th",{"_index":696,"title":{},"body":{"changelog.html":{}}}],["__",{"_index":157,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["_error",{"_index":275,"title":{},"body":{"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["_key",{"_index":211,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["_next",{"_index":299,"title":{},"body":{"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["_req",{"_index":1298,"title":{},"body":{"miscellaneous/variables.html":{}}}],["_res",{"_index":216,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"miscellaneous/variables.html":{}}}],["ability",{"_index":588,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":926,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["accurate",{"_index":683,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":1264,"title":{},"body":{"license.html":{}}}],["actions",{"_index":775,"title":{},"body":{"changelog.html":{}}}],["actually",{"_index":241,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["adapter",{"_index":106,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["added",{"_index":341,"title":{},"body":{"changelog.html":{}}}],["additional",{"_index":927,"title":{},"body":{"changelog.html":{}}}],["addressed",{"_index":827,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":411,"title":{},"body":{"changelog.html":{}}}],["adjusting",{"_index":820,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":720,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":622,"title":{},"body":{"changelog.html":{}}}],["again",{"_index":794,"title":{},"body":{"changelog.html":{}}}],["age",{"_index":292,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["agemax",{"_index":245,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["agemean",{"_index":247,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["agemin",{"_index":246,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["agerange",{"_index":1317,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ala",{"_index":552,"title":{},"body":{"changelog.html":{}}}],["aliases",{"_index":1277,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["allowdots",{"_index":48,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["allows",{"_index":703,"title":{},"body":{"changelog.html":{}}}],["allowstale",{"_index":1333,"title":{},"body":{"miscellaneous/variables.html":{}}}],["alpha",{"_index":912,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":890,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":885,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":870,"title":{},"body":{"changelog.html":{}}}],["alt",{"_index":1168,"title":{},"body":{"index.html":{}}}],["analytics",{"_index":624,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["anatomical",{"_index":718,"title":{},"body":{"changelog.html":{}}}],["and/or",{"_index":1234,"title":{},"body":{"license.html":{}}}],["angular",{"_index":469,"title":{},"body":{"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":1036,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":1038,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":1039,"title":{},"body":{"dependencies.html":{}}}],["angular/compiler",{"_index":1040,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":1041,"title":{},"body":{"dependencies.html":{}}}],["angular/elements",{"_index":1042,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":1043,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":1044,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":1046,"title":{},"body":{"dependencies.html":{}}}],["angular/router",{"_index":1048,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":1049,"title":{},"body":{"dependencies.html":{}}}],["anyautoprunelrucache",{"_index":1278,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["api",{"_index":234,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["api.hubmapconsortium.org",{"_index":1178,"title":{},"body":{"index.html":{}}}],["api/ccf",{"_index":116,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/app.ts",{"_index":7,"title":{},"body":{"interfaces/AppOptions.html":{},"coverage.html":{}}}],["api/src/lib/environment.ts",{"_index":962,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/middleware/database",{"_index":166,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["api/src/lib/middleware/response",{"_index":128,"title":{},"body":{"interfaces/CacheOptions.html":{},"coverage.html":{}}}],["api/src/lib/polyfills.ts",{"_index":976,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["api/src/lib/routes/browser.ts",{"_index":978,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/routes/v1/database",{"_index":981,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["api/src/lib/routes/v1/get",{"_index":985,"title":{},"body":{"coverage.html":{}}}],["api/src/lib/routes/v1/gtex/index.ts",{"_index":988,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/routes/v1/gtex/rui",{"_index":219,"title":{},"body":{"interfaces/GtexTissue.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/routes/v1/hubmap/index.ts",{"_index":992,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/routes/v1/hubmap/rui",{"_index":993,"title":{},"body":{"coverage.html":{}}}],["api/src/lib/routes/v1/index.ts",{"_index":994,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/routes/v1/reference",{"_index":995,"title":{},"body":{"coverage.html":{}}}],["api/src/lib/routes/v1/sparql.ts",{"_index":998,"title":{},"body":{"coverage.html":{}}}],["api/src/lib/routes/v1/utils/forward",{"_index":999,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["api/src/lib/routes/v1/utils/parse",{"_index":1002,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/routes/v1/utils/use",{"_index":1014,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/server.ts",{"_index":1019,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["api/src/lib/utils/auto",{"_index":1027,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/utils/ccf",{"_index":76,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["api/src/lib/utils/request",{"_index":305,"title":{},"body":{"classes/RequestCache.html":{},"coverage.html":{}}}],["apifile",{"_index":1300,"title":{},"body":{"miscellaneous/variables.html":{}}}],["app",{"_index":39,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.set('database",{"_index":40,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.set('query",{"_index":43,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.use",{"_index":68,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.use('/v1",{"_index":69,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.use(cors",{"_index":64,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.use(databaseloader(options",{"_index":67,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.use(helmet",{"_index":53,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.use(json",{"_index":66,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.use(urlencoded",{"_index":65,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["appear",{"_index":503,"title":{},"body":{"changelog.html":{}}}],["application",{"_index":707,"title":{},"body":{"changelog.html":{}}}],["applied",{"_index":758,"title":{},"body":{"changelog.html":{}}}],["appoptions",{"_index":1,"title":{"interfaces/AppOptions.html":{}},"body":{"interfaces/AppOptions.html":{},"coverage.html":{}}}],["appropriate",{"_index":471,"title":{},"body":{"changelog.html":{}}}],["april",{"_index":695,"title":{},"body":{"changelog.html":{}}}],["args",{"_index":317,"title":{},"body":{"classes/RequestCache.html":{}}}],["arising",{"_index":1268,"title":{},"body":{"license.html":{}}}],["asct+b",{"_index":495,"title":{},"body":{"changelog.html":{}}}],["assignment/selection",{"_index":671,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":562,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["async",{"_index":113,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["atlas",{"_index":334,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["attempt",{"_index":257,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["attempts",{"_index":535,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":1257,"title":{},"body":{"license.html":{}}}],["automatic",{"_index":809,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":759,"title":{},"body":{"changelog.html":{}}}],["autoprunelrucache",{"_index":134,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["available",{"_index":801,"title":{},"body":{"changelog.html":{}}}],["avoid",{"_index":607,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":125,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["award",{"_index":1209,"title":{},"body":{"index.html":{}}}],["backend",{"_index":514,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":923,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["base",{"_index":895,"title":{},"body":{"changelog.html":{}}}],["based",{"_index":595,"title":{},"body":{"changelog.html":{}}}],["basic",{"_index":620,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["before",{"_index":507,"title":{},"body":{"changelog.html":{}}}],["being",{"_index":653,"title":{},"body":{"changelog.html":{}}}],["beta",{"_index":493,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":573,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":863,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":1086,"title":{},"body":{"dependencies.html":{}}}],["block",{"_index":457,"title":{},"body":{"changelog.html":{}}}],["blocks",{"_index":402,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["bmi",{"_index":528,"title":{},"body":{"changelog.html":{}}}],["bmirange",{"_index":1318,"title":{},"body":{"miscellaneous/variables.html":{}}}],["board",{"_index":887,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":20,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/CacheOptions.html":{},"changelog.html":{},"dependencies.html":{}}}],["boolean",{"_index":142,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/GtexTissue.html":{}}}],["both",{"_index":558,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["box",{"_index":606,"title":{},"body":{"changelog.html":{}}}],["breaking",{"_index":643,"title":{},"body":{"changelog.html":{}}}],["bringing",{"_index":662,"title":{},"body":{"changelog.html":{}}}],["browser",{"_index":875,"title":{},"body":{"changelog.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["browserify",{"_index":1141,"title":{},"body":{"dependencies.html":{}}}],["browserroute",{"_index":979,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["browserroutes",{"_index":31,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["browsing",{"_index":950,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":429,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":1160,"title":{},"body":{"index.html":{}}}],["builds",{"_index":489,"title":{},"body":{"changelog.html":{}}}],["button",{"_index":889,"title":{},"body":{"changelog.html":{}}}],["c",{"_index":1214,"title":{},"body":{"license.html":{}}}],["cache",{"_index":138,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["cache.del(key",{"_index":328,"title":{},"body":{"classes/RequestCache.html":{}}}],["cache.get(key",{"_index":159,"title":{},"body":{"interfaces/CacheOptions.html":{},"classes/RequestCache.html":{}}}],["cache.get(selecttoken(token",{"_index":217,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["cache.get(token",{"_index":302,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["cache.set(key",{"_index":163,"title":{},"body":{"interfaces/CacheOptions.html":{},"classes/RequestCache.html":{}}}],["cache.ts",{"_index":129,"title":{},"body":{"interfaces/CacheOptions.html":{},"classes/RequestCache.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["cache.ts:10",{"_index":318,"title":{},"body":{"classes/RequestCache.html":{}}}],["cache.ts:23",{"_index":323,"title":{},"body":{"classes/RequestCache.html":{}}}],["cache.ts:27",{"_index":321,"title":{},"body":{"classes/RequestCache.html":{}}}],["cache.ts:4",{"_index":314,"title":{},"body":{"classes/RequestCache.html":{}}}],["cache_dir",{"_index":1018,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["cacheable",{"_index":1145,"title":{},"body":{"dependencies.html":{}}}],["cached",{"_index":1015,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["cachedresponse",{"_index":158,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["cacheoptions",{"_index":127,"title":{"interfaces/CacheOptions.html":{}},"body":{"interfaces/CacheOptions.html":{},"coverage.html":{}}}],["cacheresponses",{"_index":975,"title":{},"body":{"coverage.html":{}}}],["cacheresponses(options",{"_index":145,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["callback",{"_index":592,"title":{},"body":{"changelog.html":{}}}],["called",{"_index":649,"title":{},"body":{"changelog.html":{}}}],["calls",{"_index":366,"title":{},"body":{"changelog.html":{}}}],["cancelregistration",{"_index":591,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":861,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":1089,"title":{},"body":{"dependencies.html":{}}}],["card",{"_index":627,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":632,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":1191,"title":{},"body":{"index.html":{}}}],["cases",{"_index":833,"title":{},"body":{"changelog.html":{}}}],["catch",{"_index":274,"title":{},"body":{"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["ccf",{"_index":100,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["ccf's",{"_index":780,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":343,"title":{},"body":{"changelog.html":{}}}],["ccfdatabase",{"_index":86,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["ccfdatabaseinstance",{"_index":74,"title":{"classes/CCFDatabaseInstance.html":{}},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"coverage.html":{}}}],["ccfdatabaseoptions",{"_index":98,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["ccfdatabasestatustracker",{"_index":99,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["ccfdatabasestatustracker(this.database",{"_index":97,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["cdn.jsdelivr.net",{"_index":62,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["cell",{"_index":451,"title":{},"body":{"changelog.html":{}}}],["celltypeterms",{"_index":1320,"title":{},"body":{"miscellaneous/variables.html":{}}}],["center",{"_index":1204,"title":{},"body":{"index.html":{}}}],["change",{"_index":646,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["changed",{"_index":360,"title":{},"body":{"changelog.html":{}}}],["changelog",{"_index":331,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changes",{"_index":459,"title":{},"body":{"changelog.html":{}}}],["charge",{"_index":1220,"title":{},"body":{"license.html":{}}}],["checkroutesenabled",{"_index":989,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["choose",{"_index":802,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":778,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":1260,"title":{},"body":{"license.html":{}}}],["clamp",{"_index":1004,"title":{},"body":{"coverage.html":{}}}],["class",{"_index":73,"title":{"classes/CCFDatabaseInstance.html":{},"classes/RequestCache.html":{}},"body":{"classes/CCFDatabaseInstance.html":{},"classes/RequestCache.html":{},"coverage.html":{}}}],["classes",{"_index":75,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"classes/RequestCache.html":{},"overview.html":{}}}],["clean",{"_index":427,"title":{},"body":{"changelog.html":{}}}],["cleanup",{"_index":492,"title":{},"body":{"changelog.html":{}}}],["click",{"_index":543,"title":{},"body":{"changelog.html":{}}}],["clicking",{"_index":639,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":1184,"title":{},"body":{"index.html":{}}}],["coalescing",{"_index":194,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["code",{"_index":485,"title":{},"body":{"changelog.html":{}}}],["codebase",{"_index":789,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":845,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":905,"title":{},"body":{"changelog.html":{}}}],["collaboration",{"_index":787,"title":{},"body":{"changelog.html":{}}}],["collisions",{"_index":811,"title":{},"body":{"changelog.html":{}}}],["color",{"_index":670,"title":{},"body":{"changelog.html":{}}}],["colorizing",{"_index":854,"title":{},"body":{"changelog.html":{}}}],["combination",{"_index":803,"title":{},"body":{"changelog.html":{}}}],["come",{"_index":850,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":842,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":103,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"dependencies.html":{}}}],["comlink/dist/umd/node",{"_index":105,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["common",{"_index":540,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["complexity",{"_index":678,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":483,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":443,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["components",{"_index":621,"title":{},"body":{"changelog.html":{}}}],["comunica/query",{"_index":1051,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":1093,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":1242,"title":{},"body":{"license.html":{}}}],["config",{"_index":587,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["configuration",{"_index":576,"title":{},"body":{"changelog.html":{}}}],["configurations",{"_index":586,"title":{},"body":{"changelog.html":{}}}],["confirmation",{"_index":533,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":599,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":63,"title":{},"body":{"interfaces/AppOptions.html":{},"changelog.html":{}}}],["connection",{"_index":1270,"title":{},"body":{"license.html":{}}}],["console.log(err",{"_index":182,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["consortium",{"_index":1215,"title":{},"body":{"license.html":{}}}],["const",{"_index":38,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"miscellaneous/variables.html":{}}}],["constructor",{"_index":84,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"classes/RequestCache.html":{}}}],["constructor(cache",{"_index":310,"title":{},"body":{"classes/RequestCache.html":{}}}],["constructor(database",{"_index":85,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["constructor(public",{"_index":112,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["container",{"_index":634,"title":{},"body":{"changelog.html":{}}}],["containers",{"_index":575,"title":{},"body":{"changelog.html":{}}}],["containing",{"_index":1158,"title":{},"body":{"index.html":{}}}],["contentsecuritypolicy",{"_index":54,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["contract",{"_index":1265,"title":{},"body":{"license.html":{}}}],["control",{"_index":745,"title":{},"body":{"changelog.html":{}}}],["coordinate",{"_index":1152,"title":{},"body":{"index.html":{}}}],["copies",{"_index":1236,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1223,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":1213,"title":{},"body":{"license.html":{}}}],["cord",{"_index":414,"title":{},"body":{"changelog.html":{}}}],["cors",{"_index":22,"title":{},"body":{"interfaces/AppOptions.html":{},"dependencies.html":{}}}],["count",{"_index":248,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["coverage",{"_index":883,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["createapp",{"_index":960,"title":{},"body":{"coverage.html":{}}}],["createapp(options",{"_index":37,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["createccfdatabaseworker",{"_index":169,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"coverage.html":{}}}],["createccfdatabaseworker(options",{"_index":114,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["created",{"_index":754,"title":{},"body":{"changelog.html":{}}}],["createdatabase",{"_index":972,"title":{},"body":{"coverage.html":{}}}],["createdatabase(token",{"_index":187,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["credits",{"_index":1199,"title":{},"body":{"index.html":{}}}],["css",{"_index":1096,"title":{},"body":{"dependencies.html":{}}}],["cuboid",{"_index":881,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":878,"title":{},"body":{"changelog.html":{}}}],["currently",{"_index":525,"title":{},"body":{"changelog.html":{}}}],["cyberinfrastructure",{"_index":1201,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":689,"title":{},"body":{"changelog.html":{}}}],["damages",{"_index":1261,"title":{},"body":{"license.html":{}}}],["dark/light",{"_index":594,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":202,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["database",{"_index":77,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["database.worker.js",{"_index":117,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["databasecacheoptions",{"_index":165,"title":{"interfaces/DatabaseCacheOptions.html":{}},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"coverage.html":{}}}],["databasegetter",{"_index":173,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"miscellaneous/typealiases.html":{}}}],["databaseloader",{"_index":27,"title":{},"body":{"interfaces/AppOptions.html":{},"coverage.html":{}}}],["databaseloader(options",{"_index":209,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["databaseloaderoptions",{"_index":9,"title":{"interfaces/DatabaseLoaderOptions.html":{}},"body":{"interfaces/AppOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"coverage.html":{}}}],["databasequerymethods",{"_index":1281,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["databasesource",{"_index":1283,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["databasesources",{"_index":1285,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["datasets",{"_index":701,"title":{},"body":{"changelog.html":{}}}],["datasources",{"_index":204,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["dbinstance",{"_index":179,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["dbinstance.database.connect().catch((err",{"_index":181,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["dbworker",{"_index":119,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["dbworker.database",{"_index":121,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["dbworker.sparqlquery",{"_index":123,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["dbworker[releaseproxy",{"_index":124,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["deal",{"_index":1225,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1271,"title":{},"body":{"license.html":{}}}],["december",{"_index":795,"title":{},"body":{"changelog.html":{}}}],["deck.gl/core",{"_index":1053,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":1055,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":1058,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":1059,"title":{},"body":{"dependencies.html":{}}}],["decorator",{"_index":1074,"title":{},"body":{"dependencies.html":{}}}],["deeply",{"_index":517,"title":{},"body":{"changelog.html":{}}}],["default",{"_index":94,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["default_gtex_rui_locations",{"_index":250,"title":{},"body":{"interfaces/GtexTissue.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defaultvalue",{"_index":140,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["defined",{"_index":89,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"classes/RequestCache.html":{},"changelog.html":{}}}],["del",{"_index":1324,"title":{},"body":{"miscellaneous/variables.html":{}}}],["demo",{"_index":545,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":629,"title":{"dependencies.html":{}},"body":{"changelog.html":{},"dependencies.html":{}}}],["depending",{"_index":652,"title":{},"body":{"changelog.html":{}}}],["deprecated",{"_index":199,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["descrepancies",{"_index":398,"title":{},"body":{"changelog.html":{}}}],["details",{"_index":929,"title":{},"body":{"changelog.html":{}}}],["developed",{"_index":1200,"title":{},"body":{"index.html":{}}}],["developments",{"_index":910,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":534,"title":{},"body":{"changelog.html":{}}}],["different",{"_index":574,"title":{},"body":{"changelog.html":{}}}],["digits",{"_index":772,"title":{},"body":{"changelog.html":{}}}],["direct",{"_index":938,"title":{},"body":{"changelog.html":{}}}],["directives",{"_index":56,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["directly",{"_index":843,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":189,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["display",{"_index":565,"title":{},"body":{"changelog.html":{}}}],["displayed",{"_index":879,"title":{},"body":{"changelog.html":{}}}],["displaying",{"_index":561,"title":{},"body":{"changelog.html":{}}}],["dispose",{"_index":80,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["distribute",{"_index":1232,"title":{},"body":{"license.html":{}}}],["doc",{"_index":893,"title":{},"body":{"changelog.html":{}}}],["doconnect",{"_index":176,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["docs",{"_index":425,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":1098,"title":{},"body":{"dependencies.html":{}}}],["documentation",{"_index":486,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["done",{"_index":644,"title":{},"body":{"changelog.html":{}}}],["donor",{"_index":626,"title":{},"body":{"changelog.html":{}}}],["donors",{"_index":704,"title":{},"body":{"changelog.html":{}}}],["dorequest",{"_index":312,"title":{},"body":{"classes/RequestCache.html":{}}}],["dotenv",{"_index":1101,"title":{},"body":{"dependencies.html":{}}}],["download",{"_index":921,"title":{},"body":{"changelog.html":{}}}],["dump",{"_index":1331,"title":{},"body":{"miscellaneous/variables.html":{}}}],["during",{"_index":688,"title":{},"body":{"changelog.html":{}}}],["dynamic",{"_index":1047,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":391,"title":{},"body":{"changelog.html":{}}}],["easier",{"_index":464,"title":{},"body":{"changelog.html":{}}}],["east",{"_index":1180,"title":{},"body":{"index.html":{}}}],["effect",{"_index":824,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":732,"title":{},"body":{"changelog.html":{}}}],["element",{"_index":647,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["embedded",{"_index":583,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":570,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":568,"title":{},"body":{"changelog.html":{}}}],["enabled",{"_index":1306,"title":{},"body":{"miscellaneous/variables.html":{}}}],["encoding",{"_index":261,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["entry.label",{"_index":282,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["entry.mappedinhubmap",{"_index":271,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["entry['@id']?.includes(tissueinfo.tissuesitedetailid",{"_index":281,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["env",{"_index":969,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["env.gtex_routes",{"_index":1307,"title":{},"body":{"miscellaneous/variables.html":{}}}],["env.hubmap_routes",{"_index":1311,"title":{},"body":{"miscellaneous/variables.html":{}}}],["environment",{"_index":232,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["error",{"_index":1314,"title":{},"body":{"miscellaneous/variables.html":{}}}],["es",{"_index":1090,"title":{},"body":{"dependencies.html":{}}}],["eslint",{"_index":188,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["eslint/prefer",{"_index":192,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["etc",{"_index":604,"title":{},"body":{"changelog.html":{}}}],["eui",{"_index":446,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":479,"title":{},"body":{"changelog.html":{}}}],["eui/src/assets/gtex/data/rui_locations.jsonld",{"_index":251,"title":{},"body":{"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["eval",{"_index":61,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["event",{"_index":1256,"title":{},"body":{"license.html":{}}}],["expanded",{"_index":389,"title":{},"body":{"changelog.html":{}}}],["exploration",{"_index":1162,"title":{},"body":{"index.html":{}}}],["export",{"_index":35,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["express",{"_index":23,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"dependencies.html":{},"license.html":{}}}],["extends",{"_index":8,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["external",{"_index":590,"title":{},"body":{"changelog.html":{}}}],["extra",{"_index":1106,"title":{},"body":{"dependencies.html":{}}}],["extraction",{"_index":541,"title":{},"body":{"changelog.html":{}}}],["fail",{"_index":792,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":829,"title":{},"body":{"changelog.html":{}}}],["false",{"_index":141,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["favor",{"_index":782,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":387,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":690,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":730,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":244,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["fetch",{"_index":227,"title":{},"body":{"interfaces/GtexTissue.html":{},"dependencies.html":{}}}],["fetch(gtex_api_url).then(r",{"_index":267,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["field",{"_index":600,"title":{},"body":{"changelog.html":{}}}],["fields",{"_index":238,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["file",{"_index":5,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{}}}],["files",{"_index":1224,"title":{},"body":{"license.html":{}}}],["filter",{"_index":744,"title":{},"body":{"changelog.html":{}}}],["filter.ts",{"_index":1003,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["filter_defaults",{"_index":1013,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["filters",{"_index":406,"title":{},"body":{"changelog.html":{}}}],["final",{"_index":785,"title":{},"body":{"changelog.html":{}}}],["finishing",{"_index":538,"title":{},"body":{"changelog.html":{}}}],["first",{"_index":796,"title":{},"body":{"changelog.html":{}}}],["fit",{"_index":698,"title":{},"body":{"changelog.html":{}}}],["fitness",{"_index":1252,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":680,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":430,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":855,"title":{},"body":{"changelog.html":{}}}],["flexible",{"_index":420,"title":{},"body":{"changelog.html":{}}}],["fly",{"_index":945,"title":{},"body":{"changelog.html":{}}}],["following",{"_index":1241,"title":{},"body":{"license.html":{}}}],["foreach",{"_index":1328,"title":{},"body":{"miscellaneous/variables.html":{}}}],["form",{"_index":733,"title":{},"body":{"changelog.html":{}}}],["format",{"_index":814,"title":{},"body":{"changelog.html":{}}}],["forwarddatabasequery",{"_index":1001,"title":{},"body":{"coverage.html":{}}}],["forwarddatabasequery('getaggregateresults",{"_index":1353,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('getcelltypetermoccurences",{"_index":1359,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('getcelltypetreemodel",{"_index":1364,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('getdatasettechnologynames",{"_index":1349,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('getontologytermoccurences",{"_index":1357,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('getontologytreemodel",{"_index":1362,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('getprovidernames",{"_index":1351,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('getreferenceorgans",{"_index":1368,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('getscene",{"_index":1370,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('gettissueblockresults",{"_index":1347,"title":{},"body":{"miscellaneous/variables.html":{}}}],["frame",{"_index":705,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":1153,"title":{},"body":{"index.html":{}}}],["free",{"_index":1219,"title":{},"body":{"license.html":{}}}],["fs",{"_index":226,"title":{},"body":{"interfaces/GtexTissue.html":{},"dependencies.html":{}}}],["full",{"_index":637,"title":{},"body":{"changelog.html":{}}}],["fullscreen",{"_index":888,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":691,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":36,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["funded",{"_index":1207,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":1239,"title":{},"body":{"license.html":{}}}],["further",{"_index":884,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":681,"title":{},"body":{"changelog.html":{}}}],["generate",{"_index":453,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":484,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":392,"title":{},"body":{"changelog.html":{}}}],["get('/aggregate",{"_index":1352,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/ccf",{"_index":1304,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/cell",{"_index":1358,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/ontology",{"_index":1354,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/provider",{"_index":1350,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/reference",{"_index":1365,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/rui_locations.jsonld",{"_index":1310,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/scene",{"_index":1369,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/technology",{"_index":1348,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/tissue",{"_index":1346,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('ccf_api_cache",{"_index":1305,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('gtex_rui_locations",{"_index":256,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["get(key",{"_index":315,"title":{},"body":{"classes/RequestCache.html":{}}}],["getboolean",{"_index":963,"title":{},"body":{"coverage.html":{}}}],["getcacheoptions",{"_index":1020,"title":{},"body":{"coverage.html":{}}}],["getdatabaseinstance",{"_index":973,"title":{},"body":{"coverage.html":{}}}],["getdatabaseinstance(req",{"_index":175,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["getdatabaseoptions",{"_index":1021,"title":{},"body":{"coverage.html":{}}}],["getdatabasestatus",{"_index":983,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["getdbinstance",{"_index":177,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["getdbinstance(token",{"_index":180,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["getlocations",{"_index":254,"title":{},"body":{"interfaces/GtexTissue.html":{},"coverage.html":{}}}],["getnumber",{"_index":964,"title":{},"body":{"coverage.html":{}}}],["getport",{"_index":1022,"title":{},"body":{"coverage.html":{}}}],["getreferenceorganscenehandler",{"_index":997,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["getspatialplacement",{"_index":987,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["getting",{"_index":329,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["github",{"_index":774,"title":{},"body":{"changelog.html":{}}}],["gizmo",{"_index":610,"title":{},"body":{"changelog.html":{}}}],["globalconfig",{"_index":579,"title":{},"body":{"changelog.html":{}}}],["globalthis",{"_index":1286,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["good",{"_index":826,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":623,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["granted",{"_index":1218,"title":{},"body":{"license.html":{}}}],["graphical",{"_index":439,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":1108,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":556,"title":{},"body":{"changelog.html":{}}}],["gtex",{"_index":454,"title":{},"body":{"changelog.html":{}}}],["gtex_api_url",{"_index":252,"title":{},"body":{"interfaces/GtexTissue.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["gtexroutes",{"_index":1345,"title":{},"body":{"miscellaneous/variables.html":{}}}],["gtextissue",{"_index":218,"title":{"interfaces/GtexTissue.html":{}},"body":{"interfaces/GtexTissue.html":{},"coverage.html":{}}}],["guide",{"_index":817,"title":{},"body":{"changelog.html":{}}}],["hand",{"_index":822,"title":{},"body":{"changelog.html":{}}}],["handleerrors",{"_index":308,"title":{},"body":{"classes/RequestCache.html":{}}}],["handleerrors(key",{"_index":320,"title":{},"body":{"classes/RequestCache.html":{}}}],["happen",{"_index":862,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":793,"title":{},"body":{"changelog.html":{}}}],["helmet",{"_index":24,"title":{},"body":{"interfaces/AppOptions.html":{},"dependencies.html":{}}}],["help",{"_index":816,"title":{},"body":{"changelog.html":{}}}],["here",{"_index":242,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["hereby",{"_index":1217,"title":{},"body":{"license.html":{}}}],["hex",{"_index":1114,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":911,"title":{},"body":{"changelog.html":{}}}],["highlight",{"_index":523,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":403,"title":{},"body":{"changelog.html":{}}}],["highlights",{"_index":526,"title":{},"body":{"changelog.html":{}}}],["holders",{"_index":1258,"title":{},"body":{"license.html":{}}}],["hooked",{"_index":742,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":417,"title":{},"body":{"changelog.html":{}}}],["hovering",{"_index":628,"title":{},"body":{"changelog.html":{}}}],["hra",{"_index":335,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["http://expressjs.com/en/advanced/best",{"_index":50,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["https://beta",{"_index":1165,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":1177,"title":{},"body":{"index.html":{}}}],["https://gtexportal.org/api/v2/dataset/tissuesitedetail",{"_index":253,"title":{},"body":{"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["https://hubmap",{"_index":1170,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":1169,"title":{},"body":{"index.html":{}}}],["https://humanatlas.io",{"_index":1197,"title":{},"body":{"index.html":{}}}],["https://observablehq.com/@cns",{"_index":1194,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":1172,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":1167,"title":{},"body":{"index.html":{}}}],["https://r5i95k35v5.us",{"_index":1179,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":940,"title":{},"body":{"changelog.html":{}}}],["hubmap",{"_index":201,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["hubmapdataurl",{"_index":197,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["hubmaproutes",{"_index":1343,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hubmaptoken",{"_index":195,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["human",{"_index":332,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["icon",{"_index":922,"title":{},"body":{"changelog.html":{}}}],["icons",{"_index":638,"title":{},"body":{"changelog.html":{}}}],["id",{"_index":580,"title":{},"body":{"changelog.html":{}}}],["idb",{"_index":1117,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":956,"title":{},"body":{"coverage.html":{}}}],["iec",{"_index":788,"title":{},"body":{"changelog.html":{}}}],["image",{"_index":781,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":841,"title":{},"body":{"changelog.html":{}}}],["implementation",{"_index":511,"title":{},"body":{"changelog.html":{}}}],["implemented",{"_index":740,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":892,"title":{},"body":{"changelog.html":{}}}],["implied",{"_index":1249,"title":{},"body":{"license.html":{}}}],["import",{"_index":17,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["improve",{"_index":731,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":475,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":435,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":557,"title":{},"body":{"changelog.html":{}}}],["include",{"_index":798,"title":{},"body":{"changelog.html":{}}}],["included",{"_index":1244,"title":{},"body":{"license.html":{}}}],["includes",{"_index":236,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["including",{"_index":519,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":767,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":886,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":10,"title":{"index.html":{}},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indexes",{"_index":345,"title":{},"body":{"changelog.html":{}}}],["indiana",{"_index":1205,"title":{},"body":{"index.html":{}}}],["individual",{"_index":747,"title":{},"body":{"changelog.html":{}}}],["info",{"_index":3,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{},"index.html":{}}}],["information",{"_index":426,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":844,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":800,"title":{},"body":{"changelog.html":{}}}],["initial",{"_index":660,"title":{},"body":{"changelog.html":{}}}],["instance",{"_index":212,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["instance.then((r",{"_index":213,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["instead",{"_index":651,"title":{},"body":{"changelog.html":{}}}],["instructions",{"_index":569,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":692,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":516,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":799,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":712,"title":{},"body":{"changelog.html":{}}}],["interact",{"_index":675,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":867,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":937,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":0,"title":{"interfaces/AppOptions.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}},"body":{"interfaces/AppOptions.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":2,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":200,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"changelog.html":{}}}],["isdebug",{"_index":965,"title":{},"body":{"coverage.html":{}}}],["issue",{"_index":763,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":395,"title":{},"body":{"changelog.html":{}}}],["it's",{"_index":513,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":919,"title":{},"body":{"changelog.html":{}}}],["itemcount",{"_index":1335,"title":{},"body":{"miscellaneous/variables.html":{}}}],["iu",{"_index":908,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":1195,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":353,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["json",{"_index":18,"title":{},"body":{"interfaces/AppOptions.html":{},"changelog.html":{}}}],["json.parse(data",{"_index":265,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["jsonld",{"_index":264,"title":{},"body":{"interfaces/GtexTissue.html":{},"dependencies.html":{}}}],["jsonld/jsonld",{"_index":230,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["jsonld['@graph",{"_index":266,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["jsonldobj",{"_index":229,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["july",{"_index":866,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":917,"title":{},"body":{"changelog.html":{}}}],["k",{"_index":316,"title":{},"body":{"classes/RequestCache.html":{}}}],["k,args",{"_index":313,"title":{},"body":{"classes/RequestCache.html":{}}}],["key",{"_index":156,"title":{},"body":{"interfaces/CacheOptions.html":{},"classes/RequestCache.html":{}}}],["keyboard",{"_index":915,"title":{},"body":{"changelog.html":{}}}],["keys",{"_index":1326,"title":{},"body":{"miscellaneous/variables.html":{}}}],["keyval",{"_index":1118,"title":{},"body":{"dependencies.html":{}}}],["kidney",{"_index":553,"title":{},"body":{"changelog.html":{}}}],["kind",{"_index":1248,"title":{},"body":{"license.html":{}}}],["known",{"_index":394,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":374,"title":{},"body":{"changelog.html":{}}}],["labs/data",{"_index":1071,"title":{},"body":{"dependencies.html":{}}}],["labs/dispatch",{"_index":1073,"title":{},"body":{"dependencies.html":{}}}],["landmarks",{"_index":415,"title":{},"body":{"changelog.html":{}}}],["larger",{"_index":465,"title":{},"body":{"changelog.html":{}}}],["latest",{"_index":409,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["layers",{"_index":1056,"title":{},"body":{"dependencies.html":{}}}],["ld",{"_index":813,"title":{},"body":{"changelog.html":{}}}],["leak",{"_index":762,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":536,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":821,"title":{},"body":{"changelog.html":{}}}],["left/right",{"_index":554,"title":{},"body":{"changelog.html":{}}}],["length",{"_index":1334,"title":{},"body":{"miscellaneous/variables.html":{}}}],["lengthcalculator",{"_index":1332,"title":{},"body":{"miscellaneous/variables.html":{}}}],["level",{"_index":913,"title":{},"body":{"changelog.html":{}}}],["levels",{"_index":934,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":1262,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1259,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":468,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":723,"title":{},"body":{"changelog.html":{}}}],["license",{"_index":1211,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":530,"title":{},"body":{"changelog.html":{}}}],["limitation",{"_index":1227,"title":{},"body":{"license.html":{}}}],["limited",{"_index":849,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":190,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["link",{"_index":546,"title":{},"body":{"changelog.html":{}}}],["linkage",{"_index":868,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":422,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":498,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":667,"title":{},"body":{"changelog.html":{}}}],["literal",{"_index":224,"title":{},"body":{"interfaces/GtexTissue.html":{},"dependencies.html":{}}}],["little",{"_index":673,"title":{},"body":{"changelog.html":{}}}],["load",{"_index":258,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["loaddatabasesource",{"_index":1023,"title":{},"body":{"coverage.html":{}}}],["loaded",{"_index":869,"title":{},"body":{"changelog.html":{}}}],["loader",{"_index":29,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["loader.ts",{"_index":167,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["loaders.gl/core",{"_index":1060,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":1062,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":1063,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":203,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"changelog.html":{}}}],["local",{"_index":259,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["location",{"_index":768,"title":{},"body":{"changelog.html":{}}}],["locations",{"_index":376,"title":{},"body":{"changelog.html":{}}}],["locations.ts",{"_index":220,"title":{},"body":{"interfaces/GtexTissue.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["lodash",{"_index":1121,"title":{},"body":{"dependencies.html":{}}}],["log",{"_index":1198,"title":{},"body":{"index.html":{}}}],["logging",{"_index":456,"title":{},"body":{"changelog.html":{}}}],["longer",{"_index":648,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":729,"title":{},"body":{"changelog.html":{}}}],["lru",{"_index":137,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["lrucache",{"_index":311,"title":{},"body":{"classes/RequestCache.html":{}}}],["luma.gl/core",{"_index":1064,"title":{},"body":{"dependencies.html":{}}}],["made",{"_index":790,"title":{},"body":{"changelog.html":{}}}],["major",{"_index":386,"title":{},"body":{"changelog.html":{}}}],["makes",{"_index":461,"title":{},"body":{"changelog.html":{}}}],["making",{"_index":508,"title":{},"body":{"changelog.html":{}}}],["male",{"_index":249,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["managers",{"_index":473,"title":{},"body":{"changelog.html":{}}}],["map",{"_index":239,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["mappedentries",{"_index":269,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["mappedinhubmap",{"_index":221,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["march",{"_index":726,"title":{},"body":{"changelog.html":{}}}],["markdown",{"_index":1130,"title":{},"body":{"dependencies.html":{}}}],["match",{"_index":728,"title":{},"body":{"changelog.html":{}}}],["matching",{"_index":71,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["matchingentry",{"_index":279,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["math.gl/core",{"_index":1066,"title":{},"body":{"dependencies.html":{}}}],["math.gl/culling",{"_index":1068,"title":{},"body":{"dependencies.html":{}}}],["max",{"_index":130,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["maxage",{"_index":131,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["mc",{"_index":907,"title":{},"body":{"changelog.html":{}}}],["mean",{"_index":291,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["memory",{"_index":761,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":823,"title":{},"body":{"changelog.html":{}}}],["merchantability",{"_index":1251,"title":{},"body":{"license.html":{}}}],["merge",{"_index":1230,"title":{},"body":{"license.html":{}}}],["metadata",{"_index":877,"title":{},"body":{"changelog.html":{}}}],["method",{"_index":1322,"title":{},"body":{"miscellaneous/variables.html":{}}}],["methods",{"_index":306,"title":{},"body":{"classes/RequestCache.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["middleware/database",{"_index":28,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["mimetype",{"_index":110,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["minor",{"_index":396,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":1275,"title":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":1212,"title":{},"body":{"license.html":{}}}],["mock",{"_index":903,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":658,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":585,"title":{},"body":{"changelog.html":{}}}],["model",{"_index":1083,"title":{},"body":{"dependencies.html":{},"miscellaneous/variables.html":{}}}],["model.json",{"_index":1361,"title":{},"body":{"miscellaneous/variables.html":{}}}],["modify",{"_index":1229,"title":{},"body":{"license.html":{}}}],["modules",{"_index":1272,"title":{"modules.html":{}},"body":{"modules.html":{}}}],["monorepo",{"_index":1155,"title":{},"body":{"index.html":{}}}],["more",{"_index":237,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{},"index.html":{}}}],["moved",{"_index":924,"title":{},"body":{"changelog.html":{}}}],["much",{"_index":463,"title":{},"body":{"changelog.html":{}}}],["multiple",{"_index":1156,"title":{},"body":{"index.html":{}}}],["mutableproperties",{"_index":1028,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["n3",{"_index":1123,"title":{},"body":{"dependencies.html":{}}}],["n=${sexstats.count",{"_index":290,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["name",{"_index":92,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"classes/RequestCache.html":{}}}],["names",{"_index":601,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["navigation",{"_index":916,"title":{},"body":{"changelog.html":{}}}],["need",{"_index":365,"title":{},"body":{"changelog.html":{}}}],["needed",{"_index":734,"title":{},"body":{"changelog.html":{}}}],["needs",{"_index":741,"title":{},"body":{"changelog.html":{}}}],["network",{"_index":1202,"title":{},"body":{"index.html":{}}}],["never",{"_index":14,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["new",{"_index":96,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{},"coverage.html":{}}}],["next",{"_index":151,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["next('router",{"_index":1308,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ng5",{"_index":1125,"title":{},"body":{"dependencies.html":{}}}],["ngx",{"_index":1128,"title":{},"body":{"dependencies.html":{}}}],["ngxs",{"_index":1070,"title":{},"body":{"dependencies.html":{}}}],["ngxs/logger",{"_index":1076,"title":{},"body":{"dependencies.html":{}}}],["ngxs/storage",{"_index":1079,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":1080,"title":{},"body":{"dependencies.html":{}}}],["nih",{"_index":1208,"title":{},"body":{"index.html":{}}}],["node",{"_index":228,"title":{},"body":{"interfaces/GtexTissue.html":{},"dependencies.html":{}}}],["nodeendpoint",{"_index":104,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["noninfringement",{"_index":1255,"title":{},"body":{"license.html":{}}}],["note",{"_index":233,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["notebooks",{"_index":351,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":1189,"title":{},"body":{"index.html":{}}}],["notice",{"_index":764,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":466,"title":{},"body":{"changelog.html":{}}}],["nullish",{"_index":193,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["number",{"_index":132,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["numeric",{"_index":769,"title":{},"body":{"changelog.html":{}}}],["obtaining",{"_index":1222,"title":{},"body":{"license.html":{}}}],["occurences",{"_index":1356,"title":{},"body":{"miscellaneous/variables.html":{}}}],["off/on",{"_index":738,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":864,"title":{},"body":{"changelog.html":{}}}],["old",{"_index":1171,"title":{},"body":{"index.html":{}}}],["one",{"_index":807,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["ones",{"_index":240,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["online",{"_index":874,"title":{},"body":{"changelog.html":{}}}],["ontological",{"_index":944,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":815,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":361,"title":{},"body":{"changelog.html":{}}}],["ontologyterms",{"_index":1319,"title":{},"body":{"miscellaneous/variables.html":{}}}],["opacities",{"_index":746,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":719,"title":{},"body":{"changelog.html":{}}}],["openapi",{"_index":510,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/js",{"_index":1185,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":1187,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":1186,"title":{},"body":{"index.html":{}}}],["openapiroute",{"_index":980,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["optimization",{"_index":672,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":856,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":710,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":522,"title":{},"body":{"changelog.html":{}}}],["optional",{"_index":12,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"classes/RequestCache.html":{},"changelog.html":{}}}],["options",{"_index":41,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["options.cache",{"_index":215,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["options.database",{"_index":42,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["options.datasources.map(s",{"_index":205,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["options.hubmaptoken",{"_index":196,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["organ",{"_index":382,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["organs",{"_index":416,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["organs.json",{"_index":1367,"title":{},"body":{"miscellaneous/variables.html":{}}}],["organs/anatomical",{"_index":748,"title":{},"body":{"changelog.html":{}}}],["originalsend",{"_index":161,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["originalsend.call(res",{"_index":164,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["originalurl",{"_index":152,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["orthographic",{"_index":616,"title":{},"body":{"changelog.html":{}}}],["ot2od026671",{"_index":1210,"title":{},"body":{"index.html":{}}}],["otherwise",{"_index":1267,"title":{},"body":{"license.html":{}}}],["out",{"_index":1269,"title":{},"body":{"license.html":{}}}],["over",{"_index":776,"title":{},"body":{"changelog.html":{}}}],["overall",{"_index":405,"title":{},"body":{"changelog.html":{}}}],["overlays",{"_index":935,"title":{},"body":{"changelog.html":{}}}],["overview",{"_index":1273,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["overwritten",{"_index":1323,"title":{},"body":{"miscellaneous/variables.html":{}}}],["p",{"_index":898,"title":{},"body":{"changelog.html":{}}}],["package",{"_index":472,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["pages",{"_index":567,"title":{},"body":{"changelog.html":{}}}],["paired",{"_index":549,"title":{},"body":{"changelog.html":{}}}],["pane",{"_index":699,"title":{},"body":{"changelog.html":{}}}],["panel",{"_index":564,"title":{},"body":{"changelog.html":{}}}],["parameters",{"_index":91,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"classes/RequestCache.html":{}}}],["parent",{"_index":551,"title":{},"body":{"changelog.html":{}}}],["parsearray",{"_index":1005,"title":{},"body":{"coverage.html":{}}}],["parseboolean",{"_index":966,"title":{},"body":{"coverage.html":{}}}],["parseboolean(query.cache",{"_index":155,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["parseboolean(value",{"_index":139,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["parsedatabasesources",{"_index":1024,"title":{},"body":{"coverage.html":{}}}],["parsedqs",{"_index":26,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["parseminmaxrange",{"_index":1006,"title":{},"body":{"coverage.html":{}}}],["parsenumber",{"_index":967,"title":{},"body":{"coverage.html":{}}}],["parser",{"_index":21,"title":{},"body":{"interfaces/AppOptions.html":{},"dependencies.html":{}}}],["parserange",{"_index":1007,"title":{},"body":{"coverage.html":{}}}],["parsesex",{"_index":1008,"title":{},"body":{"coverage.html":{}}}],["parsespatial",{"_index":1009,"title":{},"body":{"coverage.html":{}}}],["parsestring",{"_index":984,"title":{},"body":{"coverage.html":{}}}],["partial",{"_index":1316,"title":{},"body":{"miscellaneous/variables.html":{}}}],["particular",{"_index":1253,"title":{},"body":{"license.html":{}}}],["partly",{"_index":725,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":641,"title":{},"body":{"changelog.html":{}}}],["patchglobal",{"_index":977,"title":{},"body":{"coverage.html":{}}}],["path",{"_index":1111,"title":{},"body":{"dependencies.html":{}}}],["peek",{"_index":1325,"title":{},"body":{"miscellaneous/variables.html":{}}}],["performance",{"_index":476,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":1216,"title":{},"body":{"license.html":{}}}],["permit",{"_index":1237,"title":{},"body":{"license.html":{}}}],["person",{"_index":1221,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1238,"title":{},"body":{"license.html":{}}}],["pick",{"_index":380,"title":{},"body":{"changelog.html":{}}}],["pickbytype",{"_index":1288,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["placeholder",{"_index":13,"title":{},"body":{"interfaces/AppOptions.html":{},"changelog.html":{}}}],["placement",{"_index":373,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["placement.ts",{"_index":986,"title":{},"body":{"coverage.html":{}}}],["placenta",{"_index":412,"title":{},"body":{"changelog.html":{}}}],["player",{"_index":1050,"title":{},"body":{"dependencies.html":{}}}],["plugin",{"_index":1077,"title":{},"body":{"dependencies.html":{}}}],["plus",{"_index":390,"title":{},"body":{"changelog.html":{}}}],["popup",{"_index":876,"title":{},"body":{"changelog.html":{}}}],["portal",{"_index":520,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["portal's",{"_index":848,"title":{},"body":{"changelog.html":{}}}],["portions",{"_index":1246,"title":{},"body":{"license.html":{}}}],["position",{"_index":458,"title":{},"body":{"changelog.html":{}}}],["possible",{"_index":791,"title":{},"body":{"changelog.html":{}}}],["post('/get",{"_index":1337,"title":{},"body":{"miscellaneous/variables.html":{}}}],["practice",{"_index":51,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["preferences",{"_index":597,"title":{},"body":{"changelog.html":{}}}],["preparation",{"_index":909,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":933,"title":{},"body":{"changelog.html":{}}}],["prevent",{"_index":447,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":613,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":753,"title":{},"body":{"changelog.html":{}}}],["previously",{"_index":500,"title":{},"body":{"changelog.html":{}}}],["private",{"_index":307,"title":{},"body":{"classes/RequestCache.html":{}}}],["process",{"_index":891,"title":{},"body":{"changelog.html":{}}}],["process.env",{"_index":1312,"title":{},"body":{"miscellaneous/variables.html":{}}}],["processed",{"_index":839,"title":{},"body":{"changelog.html":{}}}],["processing",{"_index":598,"title":{},"body":{"changelog.html":{}}}],["processparameter",{"_index":1010,"title":{},"body":{"coverage.html":{}}}],["production",{"_index":487,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":467,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":896,"title":{},"body":{"changelog.html":{}}}],["projects",{"_index":1157,"title":{},"body":{"index.html":{}}}],["projects/.../auto",{"_index":1279,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../browser.ts",{"_index":1293,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../ccf",{"_index":1289,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../database",{"_index":1280,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../environment.ts",{"_index":1291,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../forward",{"_index":1282,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../index.ts",{"_index":1295,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../parse",{"_index":1297,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../polyfills.ts",{"_index":1287,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../rui",{"_index":1296,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../server.ts",{"_index":1284,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../use",{"_index":1294,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/ccf",{"_index":6,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":111,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["promisifieddorequest",{"_index":309,"title":{},"body":{"classes/RequestCache.html":{}}}],["promisifieddorequest(key",{"_index":322,"title":{},"body":{"classes/RequestCache.html":{}}}],["properties",{"_index":11,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["provided",{"_index":948,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["providers",{"_index":527,"title":{},"body":{"changelog.html":{}}}],["prune",{"_index":136,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["public",{"_index":79,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"changelog.html":{}}}],["publish",{"_index":1231,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":470,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":1254,"title":{},"body":{"license.html":{}}}],["pushed",{"_index":687,"title":{},"body":{"changelog.html":{}}}],["python",{"_index":352,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["qs",{"_index":25,"title":{},"body":{"interfaces/AppOptions.html":{},"dependencies.html":{}}}],["qs.parse(str",{"_index":47,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["qtoken",{"_index":184,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["qualitative",{"_index":852,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":529,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":364,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["query",{"_index":109,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"changelog.html":{}}}],["query.ts",{"_index":1000,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["querying",{"_index":421,"title":{},"body":{"changelog.html":{}}}],["queryparameterstofilter",{"_index":1011,"title":{},"body":{"coverage.html":{}}}],["quickly",{"_index":831,"title":{},"body":{"changelog.html":{}}}],["r.dispose",{"_index":214,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["r.json",{"_index":268,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["range",{"_index":294,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["rawtoken",{"_index":301,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["rc.1",{"_index":858,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":1134,"title":{},"body":{"dependencies.html":{}}}],["rdfjs",{"_index":1052,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":1082,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":1135,"title":{},"body":{"dependencies.html":{}}}],["readable",{"_index":1137,"title":{},"body":{"dependencies.html":{}}}],["readfilesync",{"_index":225,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["readfilesync(source",{"_index":260,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["readonly",{"_index":82,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"classes/RequestCache.html":{}}}],["readonlyproperties",{"_index":1029,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["real",{"_index":873,"title":{},"body":{"changelog.html":{}}}],["rectify",{"_index":506,"title":{},"body":{"changelog.html":{}}}],["reduce",{"_index":677,"title":{},"body":{"changelog.html":{}}}],["reduction",{"_index":437,"title":{},"body":{"changelog.html":{}}}],["reference",{"_index":333,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["refernced",{"_index":550,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":640,"title":{},"body":{"changelog.html":{}}}],["regions",{"_index":936,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":1099,"title":{},"body":{"dependencies.html":{}}}],["registered",{"_index":501,"title":{},"body":{"changelog.html":{}}}],["registration",{"_index":539,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["registrations",{"_index":664,"title":{},"body":{"changelog.html":{}}}],["related",{"_index":716,"title":{},"body":{"changelog.html":{}}}],["release",{"_index":347,"title":{},"body":{"changelog.html":{}}}],["releaseproxy",{"_index":101,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["reliability",{"_index":766,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":609,"title":{},"body":{"changelog.html":{}}}],["removed",{"_index":582,"title":{},"body":{"changelog.html":{}}}],["removes",{"_index":715,"title":{},"body":{"changelog.html":{}}}],["repository",{"_index":1154,"title":{},"body":{"index.html":{}}}],["req",{"_index":149,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["req.app.get('database",{"_index":300,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["req.query.token",{"_index":185,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["req['getdatabase",{"_index":178,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["request",{"_index":168,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"classes/RequestCache.html":{}}}],["requestcache",{"_index":171,"title":{"classes/RequestCache.html":{}},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"coverage.html":{}}}],["requesthandler",{"_index":133,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["required",{"_index":819,"title":{},"body":{"changelog.html":{}}}],["res",{"_index":150,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["res.json",{"_index":162,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["res.json(cachedresponse",{"_index":160,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["res.json(result",{"_index":303,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["res.send",{"_index":1299,"title":{},"body":{"miscellaneous/variables.html":{}}}],["res.sendfile(apifile",{"_index":1302,"title":{},"body":{"miscellaneous/variables.html":{}}}],["res.status(500).json",{"_index":304,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["reset",{"_index":1330,"title":{},"body":{"miscellaneous/variables.html":{}}}],["resets",{"_index":642,"title":{},"body":{"changelog.html":{}}}],["resolve('ccf",{"_index":1301,"title":{},"body":{"miscellaneous/variables.html":{}}}],["resolved",{"_index":693,"title":{},"body":{"changelog.html":{}}}],["respond",{"_index":633,"title":{},"body":{"changelog.html":{}}}],["response",{"_index":235,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["response?.data?.filter(entry",{"_index":270,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["restriction",{"_index":1226,"title":{},"body":{"license.html":{}}}],["result",{"_index":70,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["result.ts",{"_index":1016,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["results",{"_index":72,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["resultslist.find(entry",{"_index":280,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["resultslist.indexof(matchingentry",{"_index":284,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["resultslist[index].label",{"_index":288,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["resultslist[index].sex",{"_index":297,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["return",{"_index":46,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"miscellaneous/variables.html":{}}}],["returns",{"_index":319,"title":{},"body":{"classes/RequestCache.html":{}}}],["rforeach",{"_index":1329,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rgb",{"_index":1115,"title":{},"body":{"dependencies.html":{}}}],["right",{"_index":381,"title":{},"body":{"changelog.html":{}}}],["rights",{"_index":1228,"title":{},"body":{"license.html":{}}}],["rnaseqsamplesummary",{"_index":222,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["root",{"_index":650,"title":{},"body":{"changelog.html":{}}}],["rotates",{"_index":611,"title":{},"body":{"changelog.html":{}}}],["round",{"_index":751,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":770,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":419,"title":{},"body":{"changelog.html":{}}}],["router",{"_index":1303,"title":{},"body":{"miscellaneous/variables.html":{}}}],["routes",{"_index":30,"title":{},"body":{"interfaces/AppOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["routes/browser",{"_index":32,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["routes/v1",{"_index":34,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ru/common",{"_index":1034,"title":{},"body":{"dependencies.html":{}}}],["rui",{"_index":375,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["rui_locations.jsonld",{"_index":455,"title":{},"body":{"changelog.html":{}}}],["ruilocations",{"_index":298,"title":{},"body":{"interfaces/GtexTissue.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rxjs",{"_index":1139,"title":{},"body":{"dependencies.html":{}}}],["s",{"_index":206,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["s.endswith('hubmap/rui_locations.jsonld",{"_index":207,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["sample",{"_index":947,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["samples",{"_index":679,"title":{},"body":{"changelog.html":{}}}],["saver",{"_index":1104,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":897,"title":{},"body":{"changelog.html":{}}}],["scene",{"_index":401,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["scene.ts",{"_index":996,"title":{},"body":{"coverage.html":{}}}],["scheduled",{"_index":694,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":901,"title":{},"body":{"changelog.html":{}}}],["schemes",{"_index":853,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":1203,"title":{},"body":{"index.html":{}}}],["script",{"_index":57,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["search",{"_index":379,"title":{},"body":{"changelog.html":{}}}],["searches",{"_index":393,"title":{},"body":{"changelog.html":{}}}],["section",{"_index":665,"title":{},"body":{"changelog.html":{}}}],["security.html",{"_index":52,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["see",{"_index":423,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["select",{"_index":581,"title":{},"body":{"changelog.html":{}}}],["selected",{"_index":404,"title":{},"body":{"changelog.html":{}}}],["selecting",{"_index":462,"title":{},"body":{"changelog.html":{}}}],["selector",{"_index":460,"title":{},"body":{"changelog.html":{}}}],["selects",{"_index":918,"title":{},"body":{"changelog.html":{}}}],["selecttoken",{"_index":974,"title":{},"body":{"coverage.html":{}}}],["selecttoken(token",{"_index":183,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["self",{"_index":59,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["sell",{"_index":1235,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":932,"title":{},"body":{"changelog.html":{}}}],["sennet",{"_index":481,"title":{},"body":{"changelog.html":{}}}],["server",{"_index":904,"title":{},"body":{"changelog.html":{}}}],["set",{"_index":593,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["setifdefined",{"_index":1012,"title":{},"body":{"coverage.html":{}}}],["setup",{"_index":661,"title":{},"body":{"changelog.html":{}}}],["sex",{"_index":278,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["sexes",{"_index":806,"title":{},"body":{"changelog.html":{}}}],["sexstats",{"_index":285,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["sexstats.agemax",{"_index":296,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["sexstats.agemean",{"_index":293,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["sexstats.agemin",{"_index":295,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["sex}s",{"_index":289,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["shall",{"_index":1243,"title":{},"body":{"license.html":{}}}],["shared",{"_index":602,"title":{},"body":{"changelog.html":{}}}],["shortest",{"_index":1110,"title":{},"body":{"dependencies.html":{}}}],["show",{"_index":636,"title":{},"body":{"changelog.html":{}}}],["showing",{"_index":838,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":847,"title":{},"body":{"changelog.html":{}}}],["shows",{"_index":532,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":832,"title":{},"body":{"changelog.html":{}}}],["sides",{"_index":808,"title":{},"body":{"changelog.html":{}}}],["significant",{"_index":645,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":563,"title":{},"body":{"changelog.html":{}}}],["simplifies",{"_index":659,"title":{},"body":{"changelog.html":{}}}],["sites",{"_index":542,"title":{},"body":{"changelog.html":{}}}],["sizable",{"_index":765,"title":{},"body":{"changelog.html":{}}}],["slider",{"_index":1126,"title":{},"body":{"dependencies.html":{}}}],["slightly",{"_index":504,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":674,"title":{},"body":{"changelog.html":{}}}],["software",{"_index":1159,"title":{},"body":{"index.html":{},"license.html":{}}}],["solved",{"_index":760,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":828,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":474,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":669,"title":{},"body":{"changelog.html":{}}}],["source",{"_index":4,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["sources",{"_index":589,"title":{},"body":{"changelog.html":{}}}],["sparc",{"_index":663,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":363,"title":{},"body":{"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["sparqlquery",{"_index":81,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["sparqlqueryfunction",{"_index":87,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"miscellaneous/typealiases.html":{}}}],["spatial",{"_index":388,"title":{},"body":{"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialsearches",{"_index":1321,"title":{},"body":{"miscellaneous/variables.html":{}}}],["spec",{"_index":231,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["spec.yaml",{"_index":1183,"title":{},"body":{"index.html":{},"miscellaneous/variables.html":{}}}],["specific",{"_index":524,"title":{},"body":{"changelog.html":{}}}],["specification",{"_index":1182,"title":{},"body":{"index.html":{}}}],["speed",{"_index":434,"title":{},"body":{"changelog.html":{}}}],["spinal",{"_index":413,"title":{},"body":{"changelog.html":{}}}],["spinning",{"_index":902,"title":{},"body":{"changelog.html":{}}}],["sprint",{"_index":697,"title":{},"body":{"changelog.html":{}}}],["src",{"_index":58,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["stage",{"_index":739,"title":{},"body":{"changelog.html":{}}}],["staging",{"_index":488,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["standalone",{"_index":755,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":812,"title":{},"body":{"changelog.html":{}}}],["standards",{"_index":906,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":1163,"title":{},"body":{"index.html":{}}}],["started",{"_index":330,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["starts",{"_index":954,"title":{},"body":{"changelog.html":{}}}],["startserver",{"_index":1025,"title":{},"body":{"coverage.html":{}}}],["startup",{"_index":657,"title":{},"body":{"changelog.html":{}}}],["statements",{"_index":957,"title":{},"body":{"coverage.html":{}}}],["status",{"_index":83,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"miscellaneous/variables.html":{}}}],["status.ts",{"_index":982,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["stay",{"_index":952,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":682,"title":{},"body":{"changelog.html":{}}}],["stories",{"_index":894,"title":{},"body":{"changelog.html":{}}}],["str",{"_index":44,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["stream",{"_index":1138,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":1136,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":45,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["string).includes(sex",{"_index":283,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["structure",{"_index":711,"title":{},"body":{"changelog.html":{}}}],["structures",{"_index":700,"title":{},"body":{"changelog.html":{}}}],["styles",{"_index":928,"title":{},"body":{"changelog.html":{}}}],["styling",{"_index":559,"title":{},"body":{"changelog.html":{}}}],["subject",{"_index":1240,"title":{},"body":{"license.html":{}}}],["sublicense",{"_index":1233,"title":{},"body":{"license.html":{}}}],["substantial",{"_index":1245,"title":{},"body":{"license.html":{}}}],["such",{"_index":362,"title":{},"body":{"changelog.html":{}}}],["support",{"_index":367,"title":{},"body":{"changelog.html":{}}}],["swiper",{"_index":1142,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":377,"title":{},"body":{"changelog.html":{}}}],["switched",{"_index":773,"title":{},"body":{"changelog.html":{}}}],["symbol('indicator",{"_index":1313,"title":{},"body":{"miscellaneous/variables.html":{}}}],["sync",{"_index":612,"title":{},"body":{"changelog.html":{}}}],["s}?token=${hubmaptoken",{"_index":208,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["table",{"_index":1033,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":496,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":1032,"title":{},"body":{"coverage.html":{}}}],["tagging",{"_index":810,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":521,"title":{},"body":{"changelog.html":{}}}],["technologies",{"_index":925,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["technology",{"_index":743,"title":{},"body":{"changelog.html":{}}}],["telemetry",{"_index":605,"title":{},"body":{"changelog.html":{}}}],["term",{"_index":1355,"title":{},"body":{"miscellaneous/variables.html":{}}}],["terms",{"_index":359,"title":{},"body":{"changelog.html":{}}}],["test",{"_index":880,"title":{},"body":{"changelog.html":{}}}],["testing",{"_index":818,"title":{},"body":{"changelog.html":{}}}],["theme",{"_index":482,"title":{},"body":{"changelog.html":{}}}],["themes",{"_index":480,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":477,"title":{},"body":{"changelog.html":{}}}],["this.dorequest(key",{"_index":327,"title":{},"body":{"classes/RequestCache.html":{}}}],["this.handleerrors(key",{"_index":326,"title":{},"body":{"classes/RequestCache.html":{}}}],["this.promisifieddorequest(key",{"_index":325,"title":{},"body":{"classes/RequestCache.html":{}}}],["through",{"_index":830,"title":{},"body":{"changelog.html":{}}}],["throw_if_not_found",{"_index":970,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["throwindicator",{"_index":1290,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["thrown",{"_index":1315,"title":{},"body":{"miscellaneous/variables.html":{}}}],["thumbnails",{"_index":709,"title":{},"body":{"changelog.html":{}}}],["tied",{"_index":713,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":840,"title":{},"body":{"changelog.html":{}}}],["timeouts",{"_index":448,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":438,"title":{},"body":{"changelog.html":{}}}],["tissue",{"_index":272,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["tissueinfo",{"_index":277,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["tissueinfo.rnaseqsamplesummary.female",{"_index":287,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["tissueinfo.rnaseqsamplesummary.male",{"_index":286,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["tissues",{"_index":502,"title":{},"body":{"changelog.html":{}}}],["tissuesitedetailid",{"_index":223,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["tmc",{"_index":943,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["toggle",{"_index":478,"title":{},"body":{"changelog.html":{}}}],["token",{"_index":174,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["tool",{"_index":756,"title":{},"body":{"changelog.html":{}}}],["tort",{"_index":1266,"title":{},"body":{"license.html":{}}}],["totalcount",{"_index":243,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["tracking/telemetry",{"_index":625,"title":{},"body":{"changelog.html":{}}}],["transparency",{"_index":757,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":777,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":899,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["true",{"_index":49,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/CacheOptions.html":{},"miscellaneous/variables.html":{}}}],["try",{"_index":255,"title":{},"body":{"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{}}}],["tryjsonparse",{"_index":1026,"title":{},"body":{"coverage.html":{}}}],["ts",{"_index":1144,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":1147,"title":{},"body":{"dependencies.html":{}}}],["tuned",{"_index":953,"title":{},"body":{"changelog.html":{}}}],["turn",{"_index":737,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":717,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":714,"title":{},"body":{"changelog.html":{}}}],["tutorial",{"_index":584,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":851,"title":{},"body":{"changelog.html":{}}}],["type",{"_index":15,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":1276,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typeof",{"_index":186,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["types",{"_index":452,"title":{},"body":{"changelog.html":{}}}],["types/lru",{"_index":1084,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":191,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":914,"title":{},"body":{"changelog.html":{}}}],["ufl",{"_index":708,"title":{},"body":{"changelog.html":{}}}],["ui",{"_index":515,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["ui.netlify.app",{"_index":1166,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":1176,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":1173,"title":{},"body":{"index.html":{}}}],["ui/organ",{"_index":1175,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":1174,"title":{},"body":{"index.html":{}}}],["uis",{"_index":349,"title":{},"body":{"changelog.html":{}}}],["undefined",{"_index":143,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["university",{"_index":1206,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":122,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"classes/RequestCache.html":{}}}],["unnecessary",{"_index":608,"title":{},"body":{"changelog.html":{}}}],["unsafe",{"_index":60,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["unselect",{"_index":676,"title":{},"body":{"changelog.html":{}}}],["until",{"_index":721,"title":{},"body":{"changelog.html":{}}}],["up",{"_index":428,"title":{},"body":{"changelog.html":{}}}],["update",{"_index":371,"title":{},"body":{"changelog.html":{}}}],["updated",{"_index":342,"title":{},"body":{"changelog.html":{}}}],["updateentry",{"_index":991,"title":{},"body":{"coverage.html":{}}}],["updateentry(results",{"_index":273,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["updateentry(resultslist",{"_index":276,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["updates",{"_index":418,"title":{},"body":{"changelog.html":{}}}],["upgraded",{"_index":836,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":920,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":630,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":752,"title":{},"body":{"changelog.html":{}}}],["url",{"_index":153,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/GtexTissue.html":{}}}],["urlencoded",{"_index":19,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["usage",{"_index":350,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":1190,"title":{},"body":{"index.html":{}}}],["use",{"_index":198,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["use('/ccf.owl.n3store.json",{"_index":1339,"title":{},"body":{"miscellaneous/variables.html":{}}}],["use('/db",{"_index":1336,"title":{},"body":{"miscellaneous/variables.html":{}}}],["use('/gtex",{"_index":1344,"title":{},"body":{"miscellaneous/variables.html":{}}}],["use('/hubmap",{"_index":1342,"title":{},"body":{"miscellaneous/variables.html":{}}}],["use('/sparql",{"_index":1338,"title":{},"body":{"miscellaneous/variables.html":{}}}],["use(cacheresponses",{"_index":1341,"title":{},"body":{"miscellaneous/variables.html":{}}}],["use(checkroutesenabled",{"_index":1309,"title":{},"body":{"miscellaneous/variables.html":{}}}],["usecache",{"_index":154,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["usecachedresult",{"_index":1017,"title":{},"body":{"coverage.html":{}}}],["usecachedresult('ccf.owl.n3store.json",{"_index":1340,"title":{},"body":{"miscellaneous/variables.html":{}}}],["usecachedresult('cell",{"_index":1363,"title":{},"body":{"miscellaneous/variables.html":{}}}],["usecachedresult('ontology",{"_index":1360,"title":{},"body":{"miscellaneous/variables.html":{}}}],["usecachedresult('reference",{"_index":1366,"title":{},"body":{"miscellaneous/variables.html":{}}}],["usecase",{"_index":1196,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":1193,"title":{},"body":{"index.html":{}}}],["used",{"_index":736,"title":{},"body":{"changelog.html":{}}}],["usedefaults",{"_index":55,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["user",{"_index":336,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["user/os",{"_index":596,"title":{},"body":{"changelog.html":{}}}],["users",{"_index":939,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":615,"title":{},"body":{"changelog.html":{}}}],["using",{"_index":566,"title":{},"body":{"changelog.html":{}}}],["utf",{"_index":262,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["utilities",{"_index":603,"title":{},"body":{"changelog.html":{}}}],["utils/auto",{"_index":135,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["utils/ccf",{"_index":170,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["utils/request",{"_index":172,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["uuid",{"_index":1148,"title":{},"body":{"dependencies.html":{}}}],["v",{"_index":324,"title":{},"body":{"classes/RequestCache.html":{}}}],["v1.1",{"_index":497,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":358,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":348,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":735,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":499,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":491,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":450,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":410,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":372,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":424,"title":{},"body":{"changelog.html":{}}}],["v1routes",{"_index":33,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["v2.1.0",{"_index":356,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":344,"title":{},"body":{"changelog.html":{}}}],["v3",{"_index":378,"title":{},"body":{"changelog.html":{}}}],["value",{"_index":95,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"miscellaneous/variables.html":{}}}],["values",{"_index":1327,"title":{},"body":{"miscellaneous/variables.html":{}}}],["value}`.tolowercase",{"_index":144,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["variable",{"_index":968,"title":{},"body":{"coverage.html":{}}}],["variables",{"_index":1292,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["version",{"_index":512,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["very",{"_index":825,"title":{},"body":{"changelog.html":{}}}],["via",{"_index":445,"title":{},"body":{"changelog.html":{}}}],["video",{"_index":631,"title":{},"body":{"changelog.html":{}}}],["view",{"_index":614,"title":{},"body":{"changelog.html":{}}}],["viewer",{"_index":702,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":399,"title":{},"body":{"changelog.html":{}}}],["views",{"_index":617,"title":{},"body":{"changelog.html":{}}}],["visual",{"_index":397,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":666,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":837,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":88,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["vs",{"_index":578,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":949,"title":{},"body":{"changelog.html":{}}}],["walkthrough",{"_index":1192,"title":{},"body":{"index.html":{}}}],["warming",{"_index":444,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":860,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":1250,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1247,"title":{},"body":{"license.html":{}}}],["web",{"_index":442,"title":{},"body":{"changelog.html":{}}}],["webcomponent",{"_index":577,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":1085,"title":{},"body":{"dependencies.html":{}}}],["webpages",{"_index":518,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":1161,"title":{},"body":{"index.html":{}}}],["week",{"_index":955,"title":{},"body":{"changelog.html":{}}}],["whether",{"_index":1263,"title":{},"body":{"license.html":{}}}],["whole",{"_index":951,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":635,"title":{},"body":{"changelog.html":{}}}],["within",{"_index":706,"title":{},"body":{"changelog.html":{}}}],["without",{"_index":537,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["worker",{"_index":107,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["worker('./projects/ccf",{"_index":115,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["worker.terminate",{"_index":126,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["worker.ts",{"_index":78,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["worker.ts:10",{"_index":90,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["worker.ts:12",{"_index":93,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["worker_threads",{"_index":108,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["workerdata",{"_index":118,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["workflows",{"_index":779,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":505,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":797,"title":{},"body":{"changelog.html":{}}}],["wrap",{"_index":102,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["wrap(nodeendpoint(worker",{"_index":120,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["youtube",{"_index":544,"title":{},"body":{"changelog.html":{}}}],["zone.js",{"_index":1150,"title":{},"body":{"dependencies.html":{}}}]],"pipeline":["stemmer"]}, - "store": {"interfaces/AppOptions.html":{"url":"interfaces/AppOptions.html","title":"interface - AppOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AppOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-api/src/lib/app.ts\n \n\n\n\n \n Extends\n \n \n DatabaseLoaderOptions\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n placeholder\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n placeholder\n \n \n \n \n \n \n \n \n placeholder: never\n\n \n \n\n\n \n \n Type : never\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { json, urlencoded } from 'body-parser';\nimport cors from 'cors';\nimport express, { Express } from 'express';\nimport helmet from 'helmet';\nimport qs, { ParsedQs } from 'qs';\n\nimport { databaseLoader, DatabaseLoaderOptions } from './middleware/database-loader';\nimport { routes as browserRoutes } from './routes/browser';\nimport { routes as v1Routes } from './routes/v1';\n\n\nexport interface AppOptions extends DatabaseLoaderOptions {\n placeholder?: never;\n}\n\n\nexport function createApp(options: AppOptions): Express {\n const app = express();\n\n app.set('database-options', options.database);\n\n app.set('query parser', function (str: string): ParsedQs {\n return qs.parse(str, { allowDots: true });\n });\n\n // http://expressjs.com/en/advanced/best-practice-security.html\n app.use(helmet({\n contentSecurityPolicy: {\n useDefaults: true,\n directives: {\n 'script-src': ['\\'self\\'', '\\'unsafe-eval\\'', 'cdn.jsdelivr.net'],\n 'connect-src': ['*'],\n }\n }\n }));\n app.use(cors());\n\n app.use(urlencoded());\n app.use(json());\n\n app.use(databaseLoader(options));\n\n app.use('/', browserRoutes);\n app.use('/v1', v1Routes);\n\n return app;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CCFDatabaseInstance.html":{"url":"classes/CCFDatabaseInstance.html","title":"class - CCFDatabaseInstance","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CCFDatabaseInstance\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-api/src/lib/utils/ccf-database-worker.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n database\n \n \n Public\n dispose\n \n \n Public\n sparqlQuery\n \n \n Readonly\n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(database: CCFDatabase, sparqlQuery: SparqlQueryFunction, dispose: () => void)\n \n \n \n \n Defined in projects/ccf-api/src/lib/utils/ccf-database-worker.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n database\n \n \n CCFDatabase\n \n \n \n No\n \n \n \n \n sparqlQuery\n \n \n SparqlQueryFunction\n \n \n \n No\n \n \n \n \n dispose\n \n \n function\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n database\n \n \n \n \n \n \n Type : CCFDatabase\n\n \n \n \n \n Defined in projects/ccf-api/src/lib/utils/ccf-database-worker.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n dispose\n \n \n \n \n \n \n Type : function\n\n \n \n \n \n Defined in projects/ccf-api/src/lib/utils/ccf-database-worker.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n sparqlQuery\n \n \n \n \n \n \n Type : SparqlQueryFunction\n\n \n \n \n \n Defined in projects/ccf-api/src/lib/utils/ccf-database-worker.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n status\n \n \n \n \n \n \n Default value : new CCFDatabaseStatusTracker(this.database)\n \n \n \n \n Defined in projects/ccf-api/src/lib/utils/ccf-database-worker.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { CCFDatabase, CCFDatabaseOptions, CCFDatabaseStatusTracker } from 'ccf-database';\nimport { releaseProxy, wrap } from 'comlink';\nimport nodeEndpoint from 'comlink/dist/umd/node-adapter';\nimport { Worker } from 'worker_threads';\n\n\nexport type SparqlQueryFunction = (query: string, mimetype: string) => Promise;\n\nexport class CCFDatabaseInstance {\n readonly status = new CCFDatabaseStatusTracker(this.database);\n\n constructor(public database: CCFDatabase, public sparqlQuery: SparqlQueryFunction, public dispose: () => Promise) { }\n}\n\nexport async function createCCFDatabaseWorker(options: CCFDatabaseOptions): Promise {\n const worker = new Worker('./projects/ccf-api/ccf-database.worker.js', { workerData: { options } });\n const dbWorker = wrap(nodeEndpoint(worker));\n return new CCFDatabaseInstance(\n dbWorker.database as unknown as CCFDatabase,\n dbWorker.sparqlQuery,\n async () => {\n dbWorker[releaseProxy]();\n await worker.terminate();\n });\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CacheOptions.html":{"url":"interfaces/CacheOptions.html","title":"interface - CacheOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CacheOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-api/src/lib/middleware/response-cache.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n max\n \n \n \n Optional\n \n maxAge\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n max\n \n \n \n \n \n \n \n \n max: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n maxAge\n \n \n \n \n \n \n \n \n maxAge: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { RequestHandler } from 'express';\nimport { AutoPruneLRUCache } from '../utils/auto-prune-lru-cache';\n\n\nexport interface CacheOptions {\n max?: number;\n maxAge?: number;\n}\n\n\nfunction parseBoolean(value: unknown, defaultValue = false): boolean {\n if (value === undefined) {\n return defaultValue;\n }\n\n return `${value}`.toLowerCase() === 'true';\n}\n\n\nexport function cacheResponses(options?: CacheOptions): RequestHandler {\n const cache = new AutoPruneLRUCache({\n max: 100,\n maxAge: 60 * 60 * 1000,\n ...options\n });\n\n return (req, res, next) => {\n const { query, originalUrl, url } = req;\n const useCache = parseBoolean(query.cache, true);\n const key = `__${ originalUrl || url }`;\n const cachedResponse = cache.get(key);\n\n if (!useCache) {\n next();\n } else if (cachedResponse !== undefined) {\n res.json(cachedResponse);\n } else {\n const originalSend = res.json;\n res.json = body => {\n cache.set(key, body);\n return originalSend.call(res, body);\n };\n\n next();\n }\n };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DatabaseCacheOptions.html":{"url":"interfaces/DatabaseCacheOptions.html","title":"interface - DatabaseCacheOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DatabaseCacheOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n max\n \n \n \n Optional\n \n maxAge\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n max\n \n \n \n \n \n \n \n \n max: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n maxAge\n \n \n \n \n \n \n \n \n maxAge: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { CCFDatabaseOptions } from 'ccf-database';\nimport { Request, RequestHandler } from 'express';\n\nimport { AutoPruneLRUCache } from '../utils/auto-prune-lru-cache';\nimport { CCFDatabaseInstance, createCCFDatabaseWorker } from '../utils/ccf-database-worker';\nimport { RequestCache } from '../utils/request-cache';\n\n\nexport interface DatabaseCacheOptions {\n max?: number;\n maxAge?: number;\n}\n\nexport interface DatabaseLoaderOptions {\n database: CCFDatabaseOptions;\n cache?: DatabaseCacheOptions;\n}\n\ntype DatabaseGetter = (token?: string) => Promise;\n\nexport async function getDatabaseInstance(req: Request, token: string | undefined, doConnect = false): Promise {\n const getDBInstance = req['getDatabase'] as DatabaseGetter;\n const dbInstance = await getDBInstance(token);\n if (doConnect) {\n await dbInstance.database.connect().catch((err) => console.log(err));\n }\n return dbInstance;\n}\n\nfunction selectToken(token: string | undefined, req: Request): string {\n const qtoken = req.query.token;\n\n if (token) {\n return token;\n } else if (typeof qtoken === 'string' && qtoken) {\n return qtoken;\n }\n\n return '';\n}\n\nfunction createDatabase(token: string, options: CCFDatabaseOptions): Promise {\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const hubmapToken = token || options.hubmapToken || undefined;\n\n return createCCFDatabaseWorker({\n ...options,\n hubmapDataUrl: '', // Do not use deprecated internal hubmap data loading\n dataSources: options.dataSources.map(s =>\n hubmapToken && typeof s === 'string' && s.endsWith('hubmap/rui_locations.jsonld') ? `${s}?token=${hubmapToken}` : s\n )\n });\n}\n\nexport function databaseLoader(options: DatabaseLoaderOptions): RequestHandler {\n const cache = new RequestCache(\n new AutoPruneLRUCache({\n max: 10,\n maxAge: 60 * 60 * 1000,\n dispose: (_key, instance) => instance.then((r) => r.dispose()),\n ...options.cache\n }),\n token => createDatabase(token, options.database)\n );\n\n return (req, _res, next) => {\n req['getDatabase'] = (token?: string) => cache.get(selectToken(token, req));\n next();\n };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DatabaseLoaderOptions.html":{"url":"interfaces/DatabaseLoaderOptions.html","title":"interface - DatabaseLoaderOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DatabaseLoaderOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n cache\n \n \n \n \n database\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n cache\n \n \n \n \n \n \n \n \n cache: DatabaseCacheOptions\n\n \n \n\n\n \n \n Type : DatabaseCacheOptions\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n database\n \n \n \n \n \n \n \n \n database: CCFDatabaseOptions\n\n \n \n\n\n \n \n Type : CCFDatabaseOptions\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CCFDatabaseOptions } from 'ccf-database';\nimport { Request, RequestHandler } from 'express';\n\nimport { AutoPruneLRUCache } from '../utils/auto-prune-lru-cache';\nimport { CCFDatabaseInstance, createCCFDatabaseWorker } from '../utils/ccf-database-worker';\nimport { RequestCache } from '../utils/request-cache';\n\n\nexport interface DatabaseCacheOptions {\n max?: number;\n maxAge?: number;\n}\n\nexport interface DatabaseLoaderOptions {\n database: CCFDatabaseOptions;\n cache?: DatabaseCacheOptions;\n}\n\ntype DatabaseGetter = (token?: string) => Promise;\n\nexport async function getDatabaseInstance(req: Request, token: string | undefined, doConnect = false): Promise {\n const getDBInstance = req['getDatabase'] as DatabaseGetter;\n const dbInstance = await getDBInstance(token);\n if (doConnect) {\n await dbInstance.database.connect().catch((err) => console.log(err));\n }\n return dbInstance;\n}\n\nfunction selectToken(token: string | undefined, req: Request): string {\n const qtoken = req.query.token;\n\n if (token) {\n return token;\n } else if (typeof qtoken === 'string' && qtoken) {\n return qtoken;\n }\n\n return '';\n}\n\nfunction createDatabase(token: string, options: CCFDatabaseOptions): Promise {\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const hubmapToken = token || options.hubmapToken || undefined;\n\n return createCCFDatabaseWorker({\n ...options,\n hubmapDataUrl: '', // Do not use deprecated internal hubmap data loading\n dataSources: options.dataSources.map(s =>\n hubmapToken && typeof s === 'string' && s.endsWith('hubmap/rui_locations.jsonld') ? `${s}?token=${hubmapToken}` : s\n )\n });\n}\n\nexport function databaseLoader(options: DatabaseLoaderOptions): RequestHandler {\n const cache = new RequestCache(\n new AutoPruneLRUCache({\n max: 10,\n maxAge: 60 * 60 * 1000,\n dispose: (_key, instance) => instance.then((r) => r.dispose()),\n ...options.cache\n }),\n token => createDatabase(token, options.database)\n );\n\n return (req, _res, next) => {\n req['getDatabase'] = (token?: string) => cache.get(selectToken(token, req));\n next();\n };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GtexTissue.html":{"url":"interfaces/GtexTissue.html","title":"interface - GtexTissue","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GtexTissue\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-api/src/lib/routes/v1/gtex/rui-locations.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n mappedInHubmap\n \n \n \n \n rnaSeqSampleSummary\n \n \n \n \n tissueSiteDetailId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n mappedInHubmap\n \n \n \n \n \n \n \n \n mappedInHubmap: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rnaSeqSampleSummary\n \n \n \n \n \n \n \n \n rnaSeqSampleSummary: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n tissueSiteDetailId\n \n \n \n \n \n \n \n \n tissueSiteDetailId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CCFDatabaseOptions } from 'ccf-database';\nimport { RequestHandler } from 'express';\nimport { readFileSync } from 'fs';\nimport fetch from 'node-fetch';\n\nimport { AutoPruneLRUCache } from '../../../utils/auto-prune-lru-cache';\nimport { RequestCache } from '../../../utils/request-cache';\nimport { JsonLdObj } from 'jsonld/jsonld-spec';\nimport { get } from '../../../environment';\n\nexport interface GtexTissue {\n // NOTE: The API response includes more fields, but we only map the ones we actually use here\n tissueSiteDetailId: string;\n mappedInHubmap: boolean;\n rnaSeqSampleSummary: {\n totalCount: number;\n female: {\n ageMax: number;\n ageMin: number;\n ageMean: number;\n count: number;\n };\n male: {\n ageMax: number;\n ageMin: number;\n ageMean: number;\n count: number;\n };\n };\n}\n\nconst DEFAULT_GTEX_RUI_LOCATIONS = 'projects/ccf-eui/src/assets/gtex/data/rui_locations.jsonld';\nconst GTEX_API_URL = 'https://gtexportal.org/api/v2/dataset/tissueSiteDetail';\n\nasync function getLocations(): Promise {\n try {\n const source = get('GTEX_RUI_LOCATIONS', DEFAULT_GTEX_RUI_LOCATIONS);\n // Attempt to load the source url as a local file\n const data = readFileSync(source, { encoding: 'utf-8' });\n const jsonld: JsonLdObj = JSON.parse(data);\n const results = jsonld['@graph'] as JsonLdObj[];\n\n const response: { data: GtexTissue[] } = await fetch(GTEX_API_URL).then(r => r.json());\n const mappedEntries = response?.data?.filter(entry => entry.mappedInHubmap) ?? [];\n for (const tissue of mappedEntries) {\n updateEntry(results, tissue, 'Female');\n updateEntry(results, tissue, 'Male');\n }\n\n return jsonld;\n } catch (_error) {\n return undefined;\n }\n}\n\nexport function updateEntry(resultsList: JsonLdObj[], tissueInfo: GtexTissue, sex: 'Male' | 'Female'): void {\n const matchingEntry = resultsList.find(entry => entry['@id']?.includes(tissueInfo.tissueSiteDetailId) && (entry.label as string).includes(sex));\n if (matchingEntry) {\n const index = resultsList.indexOf(matchingEntry);\n const sexStats = sex === 'Male' ? tissueInfo.rnaSeqSampleSummary.male : tissueInfo.rnaSeqSampleSummary.female;\n resultsList[index].label = `${sex}s (n=${sexStats.count}) Mean Age ${sexStats.ageMean} (range ${sexStats.ageMin} - ${sexStats.ageMax})`;\n resultsList[index].sex = sex;\n }\n}\n\nexport function ruiLocations(): RequestHandler {\n const cache = new RequestCache(\n new AutoPruneLRUCache({\n max: 10,\n maxAge: 60 * 60 * 1000\n }),\n getLocations\n );\n\n return async (req, res, _next) => {\n const options: CCFDatabaseOptions = req.app.get('database-options');\n const rawToken = req.query.token;\n const token = typeof rawToken === 'string' ? rawToken : '';\n const result = await cache.get(token, options);\n\n if (result) {\n res.json(result);\n } else {\n res.status(500).json([]);\n }\n };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RequestCache.html":{"url":"classes/RequestCache.html","title":"class - RequestCache","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RequestCache\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-api/src/lib/utils/request-cache.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n get\n \n \n Private\n Async\n handleErrors\n \n \n Private\n Async\n promisifiedDoRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(cache: LRUCache>, doRequest: (key: K,args: []) => void)\n \n \n \n \n Defined in projects/ccf-api/src/lib/utils/request-cache.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n cache\n \n \n LRUCache>\n \n \n \n No\n \n \n \n \n doRequest\n \n \n function\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n get\n \n \n \n \n \n \nget(key: K, ...args: [])\n \n \n\n\n \n \n Defined in projects/ccf-api/src/lib/utils/request-cache.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n K\n \n\n \n No\n \n\n\n \n \n args\n \n []\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n handleErrors\n \n \n \n \n \n \n \n handleErrors(key: K, request: Promise)\n \n \n\n\n \n \n Defined in projects/ccf-api/src/lib/utils/request-cache.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n K\n \n\n \n No\n \n\n\n \n \n request\n \n Promise\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n promisifiedDoRequest\n \n \n \n \n \n \n \n promisifiedDoRequest(key: K, ...args: [])\n \n \n\n\n \n \n Defined in projects/ccf-api/src/lib/utils/request-cache.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n K\n \n\n \n No\n \n\n\n \n \n args\n \n []\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import LRUCache from 'lru-cache';\n\n\nexport class RequestCache {\n constructor(\n readonly cache: LRUCache>,\n readonly doRequest: (key: K, ...args: unknown[]) => V | Promise\n ) { }\n\n get(key: K, ...args: unknown[]): Promise {\n const { cache } = this;\n let result = cache.get(key);\n\n if (!result) {\n result = this.promisifiedDoRequest(key, ...args);\n cache.set(key, result);\n this.handleErrors(key, result);\n }\n\n return result;\n }\n\n private async promisifiedDoRequest(key: K, ...args: unknown[]): Promise {\n return this.doRequest(key, ...args);\n }\n\n private async handleErrors(key: K, request: Promise): Promise {\n const { cache } = this;\n\n try {\n await request;\n } catch (_error) {\n if (cache.get(key) === request) {\n cache.del(key);\n }\n }\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-api/src/lib/app.ts\n \n interface\n AppOptions\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-api/src/lib/app.ts\n \n function\n createApp\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n get\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n get\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n get\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n get\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n getBoolean\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n getNumber\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n getNumber\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n getNumber\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n has\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n isDebug\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n parseBoolean\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n parseNumber\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n variable\n env\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n variable\n THROW_IF_NOT_FOUND\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n interface\n DatabaseCacheOptions\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n interface\n DatabaseLoaderOptions\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n function\n createDatabase\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n function\n databaseLoader\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n function\n getDatabaseInstance\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n function\n selectToken\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/response-cache.ts\n \n interface\n CacheOptions\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/response-cache.ts\n \n function\n cacheResponses\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/response-cache.ts\n \n function\n parseBoolean\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/polyfills.ts\n \n function\n patchGlobal\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/browser.ts\n \n variable\n browserRoute\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/browser.ts\n \n variable\n openApiRoute\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/browser.ts\n \n variable\n routes\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/database-status.ts\n \n function\n getDatabaseStatus\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/database-status.ts\n \n function\n parseString\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/get-spatial-placement.ts\n \n function\n getSpatialPlacement\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/get-spatial-placement.ts\n \n function\n parseString\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/gtex/index.ts\n \n variable\n checkRoutesEnabled\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/gtex/index.ts\n \n variable\n routes\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/gtex/rui-locations.ts\n \n interface\n GtexTissue\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/gtex/rui-locations.ts\n \n function\n getLocations\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/gtex/rui-locations.ts\n \n function\n ruiLocations\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/gtex/rui-locations.ts\n \n function\n updateEntry\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/gtex/rui-locations.ts\n \n variable\n DEFAULT_GTEX_RUI_LOCATIONS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/gtex/rui-locations.ts\n \n variable\n GTEX_API_URL\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/hubmap/index.ts\n \n variable\n checkRoutesEnabled\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/hubmap/index.ts\n \n variable\n routes\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/hubmap/rui-locations.ts\n \n function\n getLocations\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/hubmap/rui-locations.ts\n \n function\n ruiLocations\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/index.ts\n \n variable\n routes\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/reference-organ-scene.ts\n \n function\n getReferenceOrganSceneHandler\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/reference-organ-scene.ts\n \n function\n parseString\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/sparql.ts\n \n function\n parseString\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/sparql.ts\n \n function\n sparql\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/forward-database-query.ts\n \n function\n forwardDatabaseQuery\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n clamp\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n parseArray\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n parseMinMaxRange\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n parseRange\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n parseSex\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n parseSpatial\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n processParameter\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n queryParametersToFilter\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n setIfDefined\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n variable\n FILTER_DEFAULTS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/use-cached-result.ts\n \n function\n useCachedResult\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/use-cached-result.ts\n \n variable\n CACHE_DIR\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/server.ts\n \n function\n getCacheOptions\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/server.ts\n \n function\n getDatabaseOptions\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/server.ts\n \n function\n getPort\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/server.ts\n \n function\n loadDatabaseSource\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/server.ts\n \n function\n parseDatabaseSources\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/server.ts\n \n function\n startServer\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/server.ts\n \n function\n tryJsonParse\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/utils/auto-prune-lru-cache.ts\n \n variable\n methods\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/utils/auto-prune-lru-cache.ts\n \n variable\n mutableProperties\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/utils/auto-prune-lru-cache.ts\n \n variable\n readonlyProperties\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/utils/ccf-database-worker.ts\n \n class\n CCFDatabaseInstance\n \n 0 %\n (0/6)\n \n \n \n \n \n projects/ccf-api/src/lib/utils/ccf-database-worker.ts\n \n function\n createCCFDatabaseWorker\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/utils/request-cache.ts\n \n class\n RequestCache\n \n 0 %\n (0/5)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n \n \n \n 2 Classes\n \n \n \n \n \n \n \n 5 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n AnyAutoPruneLRUCache   (projects/.../auto-prune-lru-cache.ts)\n \n \n DatabaseGetter   (projects/.../database-loader.ts)\n \n \n DatabaseGetter   (projects/.../database-status.ts)\n \n \n DatabaseQueryMethods   (projects/.../forward-database-query.ts)\n \n \n DatabaseSource   (projects/.../server.ts)\n \n \n DatabaseSources   (projects/.../server.ts)\n \n \n GlobalThis   (projects/.../polyfills.ts)\n \n \n PickByType   (projects/.../forward-database-query.ts)\n \n \n SparqlQueryFunction   (projects/.../ccf-database-worker.ts)\n \n \n ThrowIndicator   (projects/.../environment.ts)\n \n \n \n \n \n \n\n\n projects/ccf-api/src/lib/utils/auto-prune-lru-cache.ts\n \n \n \n \n \n \n AnyAutoPruneLRUCache\n \n \n \n \n AutoPruneLRUCache\n\n \n \n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n \n \n \n \n \n DatabaseGetter\n \n \n \n \n function\n\n \n \n \n \n projects/ccf-api/src/lib/routes/v1/database-status.ts\n \n \n \n \n \n \n DatabaseGetter\n \n \n \n \n function\n\n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/forward-database-query.ts\n \n \n \n \n \n \n DatabaseQueryMethods\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n PickByType\n \n \n \n \n \n\n \n \n \n \n projects/ccf-api/src/lib/server.ts\n \n \n \n \n \n \n DatabaseSource\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n DatabaseSources\n \n \n \n \n \n\n \n \n \n \n projects/ccf-api/src/lib/polyfills.ts\n \n \n \n \n \n \n GlobalThis\n \n \n \n \n \n\n \n \n \n \n projects/ccf-api/src/lib/utils/ccf-database-worker.ts\n \n \n \n \n \n \n SparqlQueryFunction\n \n \n \n \n function\n\n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n \n \n \n \n \n ThrowIndicator\n \n \n \n \n \n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n browserRoute   (projects/.../browser.ts)\n \n \n CACHE_DIR   (projects/.../use-cached-result.ts)\n \n \n checkRoutesEnabled   (projects/.../index.ts)\n \n \n checkRoutesEnabled   (projects/.../index.ts)\n \n \n DEFAULT_GTEX_RUI_LOCATIONS   (projects/.../rui-locations.ts)\n \n \n env   (projects/.../environment.ts)\n \n \n FILTER_DEFAULTS   (projects/.../parse-filter.ts)\n \n \n GTEX_API_URL   (projects/.../rui-locations.ts)\n \n \n methods   (projects/.../auto-prune-lru-cache.ts)\n \n \n mutableProperties   (projects/.../auto-prune-lru-cache.ts)\n \n \n openApiRoute   (projects/.../browser.ts)\n \n \n readonlyProperties   (projects/.../auto-prune-lru-cache.ts)\n \n \n routes   (projects/.../browser.ts)\n \n \n routes   (projects/.../index.ts)\n \n \n routes   (projects/.../index.ts)\n \n \n routes   (projects/.../index.ts)\n \n \n THROW_IF_NOT_FOUND   (projects/.../environment.ts)\n \n \n \n \n \n \n\n\n projects/ccf-api/src/lib/routes/browser.ts\n \n \n \n \n \n \n \n browserRoute\n \n \n \n \n \n \n Type : RequestHandler\n\n \n \n \n \n Default value : (_req, res, _next) => {\n\n res.send(`\n\n \n \n \n CCF-API Browser\n\n \n \n \n \n \n \n`);\n\n}\n \n \n\n\n \n \n \n \n \n \n \n \n openApiRoute\n \n \n \n \n \n \n Type : RequestHandler\n\n \n \n \n \n Default value : (_req, res, _next) => {\n const apiFile = resolve('ccf-api-spec.yaml');\n res.sendFile(apiFile);\n}\n \n \n\n\n \n \n \n \n \n \n \n \n routes\n \n \n \n \n \n \n Default value : Router()\n .get('/', browserRoute)\n .get('/ccf-api-spec.yaml', openApiRoute)\n \n \n\n\n \n \n\n projects/ccf-api/src/lib/routes/v1/utils/use-cached-result.ts\n \n \n \n \n \n \n \n CACHE_DIR\n \n \n \n \n \n \n Default value : get('CCF_API_CACHE', 'projects/ccf-api/ccf-cache')\n \n \n\n\n \n \n\n projects/ccf-api/src/lib/routes/v1/gtex/index.ts\n \n \n \n \n \n \n \n checkRoutesEnabled\n \n \n \n \n \n \n Type : RequestHandler\n\n \n \n \n \n Default value : (_req, _res, next) => {\n const enabled = env.GTEX_ROUTES === 'true';\n enabled ? next() : next('router');\n}\n \n \n\n\n \n \n \n \n \n \n \n \n routes\n \n \n \n \n \n \n Default value : Router()\n .use(checkRoutesEnabled)\n .get('/rui_locations.jsonld', ruiLocations())\n \n \n\n\n \n \n\n projects/ccf-api/src/lib/routes/v1/hubmap/index.ts\n \n \n \n \n \n \n \n checkRoutesEnabled\n \n \n \n \n \n \n Type : RequestHandler\n\n \n \n \n \n Default value : (_req, _res, next) => {\n const enabled = env.HUBMAP_ROUTES === 'true';\n enabled ? next() : next('router');\n}\n \n \n\n\n \n \n \n \n \n \n \n \n routes\n \n \n \n \n \n \n Default value : Router()\n .use(checkRoutesEnabled)\n .get('/rui_locations.jsonld', ruiLocations())\n \n \n\n\n \n \n\n projects/ccf-api/src/lib/routes/v1/gtex/rui-locations.ts\n \n \n \n \n \n \n \n DEFAULT_GTEX_RUI_LOCATIONS\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'projects/ccf-eui/src/assets/gtex/data/rui_locations.jsonld'\n \n \n\n\n \n \n \n \n \n \n \n \n GTEX_API_URL\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'https://gtexportal.org/api/v2/dataset/tissueSiteDetail'\n \n \n\n\n \n \n\n projects/ccf-api/src/lib/environment.ts\n \n \n \n \n \n \n \n env\n \n \n \n \n \n \n Default value : (() => {\n config();\n return process.env;\n})()\n \n \n\n\n \n \n \n \n \n \n \n \n THROW_IF_NOT_FOUND\n \n \n \n \n \n \n Default value : Symbol('Indicator that an error should be thrown')\n \n \n\n\n \n \n\n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n \n \n \n \n \n \n FILTER_DEFAULTS\n \n \n \n \n \n \n Type : Partial\n\n \n \n \n \n Default value : {\n sex: 'Both',\n ageRange: undefined,\n bmiRange: undefined,\n tmc: [],\n technologies: [],\n ontologyTerms: [],\n cellTypeTerms: [],\n spatialSearches: []\n}\n \n \n\n\n \n \n\n projects/ccf-api/src/lib/utils/auto-prune-lru-cache.ts\n \n \n \n \n \n \n \n methods\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n // NOTE: No set method as it is overwritten by AutoPruneLRUCache\n 'has', 'get', 'del', 'peek',\n 'keys', 'values',\n 'forEach', 'rforEach',\n 'prune', 'reset',\n 'dump', 'load'\n]\n \n \n\n\n \n \n \n \n \n \n \n \n mutableProperties\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n 'lengthCalculator', 'allowStale', 'max', 'maxAge'\n]\n \n \n\n\n \n \n \n \n \n \n \n \n readonlyProperties\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n 'length', 'itemCount'\n]\n \n \n\n\n \n \n\n projects/ccf-api/src/lib/routes/v1/index.ts\n \n \n \n \n \n \n \n routes\n \n \n \n \n \n \n Default value : Router()\n .use('/db-status', getDatabaseStatus())\n .post('/get-spatial-placement', getSpatialPlacement())\n .use('/sparql', sparql())\n .use('/ccf.owl.n3store.json', useCachedResult('ccf.owl.n3store.json'))\n .use(cacheResponses())\n .use('/hubmap', hubmapRoutes)\n .use('/gtex', gtexRoutes)\n .get('/tissue-blocks', forwardDatabaseQuery('getTissueBlockResults'))\n .get('/technology-names', forwardDatabaseQuery('getDatasetTechnologyNames'))\n .get('/provider-names', forwardDatabaseQuery('getProviderNames'))\n .get('/aggregate-results', forwardDatabaseQuery('getAggregateResults'))\n .get('/ontology-term-occurences', forwardDatabaseQuery('getOntologyTermOccurences'))\n .get('/cell-type-term-occurences', forwardDatabaseQuery('getCellTypeTermOccurences'))\n .get('/ontology-tree-model', useCachedResult('ontology-tree-model.json'), forwardDatabaseQuery('getOntologyTreeModel'))\n .get('/cell-type-tree-model', useCachedResult('cell-type-tree-model.json'), forwardDatabaseQuery('getCellTypeTreeModel'))\n .get('/reference-organs', useCachedResult('reference-organs.json'), forwardDatabaseQuery('getReferenceOrgans'))\n .get('/scene', forwardDatabaseQuery('getScene'))\n .get('/reference-organ-scene', getReferenceOrganSceneHandler())\n \n \n\n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} + "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/interfaces/AppOptions.html",[0,0.246,1,1.69]],["body/interfaces/AppOptions.html",[0,0.296,1,2.811,2,0.891,3,0.748,4,1.052,5,0.62,6,0.62,7,2.465,8,3.941,9,2.007,10,0.62,11,1.328,12,1.328,13,3.581,14,4.318,15,0.503,16,0.064,17,1.653,18,2.465,19,3.122,20,1.709,21,3.112,22,3.112,23,1.576,24,3.112,25,3.112,26,3.941,27,2.465,28,3.122,29,3.122,30,2.565,31,3.941,32,3.122,33,3.941,34,3.122,35,1.328,36,0.945,37,3.122,38,0.891,39,3.941,40,3.122,41,1.052,42,2.033,43,3.122,44,3.122,45,1.236,46,1.125,47,3.122,48,3.122,49,2.565,50,3.122,51,3.122,52,3.122,53,3.122,54,3.122,55,3.122,56,3.122,57,3.122,58,3.941,59,3.122,60,3.122,61,3.122,62,3.122,63,2.465,64,3.122,65,3.122,66,3.122,67,3.122,68,3.122,69,3.122,70,0.038,71,0.048,72,0.038]],["title/classes/CCFDatabaseInstance.html",[73,1.206,74,1.206]],["body/classes/CCFDatabaseInstance.html",[3,0.692,4,0.973,5,0.573,6,0.928,10,0.573,11,1.263,12,0.973,15,0.735,16,0.064,17,1.485,35,1.403,36,0.997,38,1.07,41,0.973,45,1.484,46,0.824,70,0.035,71,0.046,72,0.035,73,1.342,74,1.934,75,1.879,76,3.045,77,1.671,78,1.879,79,3.812,80,2.972,81,4.565,82,3.286,83,3.286,84,2.279,85,2.886,86,4.678,87,3.604,88,1.879,89,2.972,90,3.747,91,2.279,92,2.279,93,4.161,94,1.879,95,1.879,96,1.485,97,3.747,98,2.052,99,2.886,100,0.973,101,2.886,102,2.886,103,2.279,104,2.886,105,2.886,106,2.886,107,2.44,108,2.886,109,1.879,110,2.886,111,1.934,112,2.886,113,1.742,114,2.886,115,2.886,116,2.279,117,2.886,118,2.886,119,2.886,120,2.886,121,2.886,122,1.879,123,2.886,124,2.886,125,1.342,126,2.886]],["title/interfaces/CacheOptions.html",[0,0.246,127,1.69]],["body/interfaces/CacheOptions.html",[0,0.288,2,0.865,3,0.726,4,1.021,5,0.601,6,0.601,10,0.601,11,1.303,12,1.512,15,0.622,16,0.065,17,1.303,20,2.331,23,1.021,35,1.303,36,0.927,38,1.353,41,1.021,46,1.281,49,2.517,70,0.037,71,0.048,72,0.037,95,1.972,96,1.021,109,1.972,122,1.972,127,2.772,128,2.392,129,1.408,130,2.154,131,2.154,132,2.202,133,1.797,134,1.531,135,1.658,136,1.021,137,0.726,138,1.104,139,3.029,140,3.866,141,1.972,142,2.392,143,1.797,144,3.029,145,3.029,146,3.029,147,2.117,148,1.658,149,2.117,150,1.972,151,1.979,152,3.866,153,3.053,154,3.866,155,3.029,156,2.392,157,3.029,158,3.866,159,2.392,160,3.029,161,3.029,162,3.866,163,2.392,164,3.029]],["title/interfaces/DatabaseCacheOptions.html",[0,0.246,165,1.421]],["body/interfaces/DatabaseCacheOptions.html",[0,0.331,2,0.737,3,0.619,4,0.87,5,0.512,6,0.512,9,1.618,10,0.512,11,1.173,12,1.421,15,0.634,16,0.065,17,1.483,23,0.87,35,1.421,36,1.01,38,1.256,41,1.173,42,1.681,45,1.866,46,1.294,70,0.032,71,0.043,72,0.032,74,1.2,77,1.327,80,1.681,96,1.173,98,2.156,100,0.87,107,1.681,111,1.83,113,1.2,125,1.618,130,2.045,131,2.045,132,2.107,133,1.618,134,1.378,135,1.413,136,0.87,137,0.619,138,1.203,141,1.681,143,1.83,147,1.906,148,1.413,149,2.156,151,1.83,165,2.156,166,1.413,167,1.413,168,2.564,169,2.266,170,2.038,171,1.378,172,1.681,173,2.266,174,3.016,175,2.038,176,2.748,177,2.038,178,2.748,179,2.748,180,2.038,181,2.038,182,2.038,183,2.038,184,3.328,185,1.681,186,2.266,187,2.748,188,2.038,189,2.038,190,2.038,191,1.413,192,2.038,193,2.038,194,2.038,195,2.748,196,2.038,197,2.038,198,1.022,199,2.038,200,1.681,201,1.2,202,1.413,203,1.681,204,2.038,205,2.038,206,2.748,207,2.038,208,2.038,209,2.038,210,1.413,211,2.038,212,2.038,213,2.038,214,2.038,215,2.038,216,1.681,217,2.038]],["title/interfaces/DatabaseLoaderOptions.html",[0,0.246,9,1.206]],["body/interfaces/DatabaseLoaderOptions.html",[0,0.331,2,0.739,3,0.621,4,0.873,5,0.514,6,0.514,9,1.833,10,0.514,11,1.175,12,1.175,15,0.635,16,0.065,17,1.485,23,0.873,35,1.422,36,1.011,38,1.258,41,1.175,42,1.685,45,1.867,46,1.295,70,0.032,71,0.043,72,0.032,74,1.203,77,1.529,80,1.685,96,1.175,98,2.411,100,0.873,107,1.685,111,1.833,113,1.203,125,1.621,130,1.621,131,1.621,132,1.621,133,1.621,134,1.381,135,1.417,136,0.873,137,0.621,138,1.324,141,1.685,143,1.833,147,1.909,148,1.417,149,2.159,151,1.833,165,2.31,166,1.417,167,1.417,168,2.567,169,2.27,170,2.044,171,1.381,172,1.685,173,2.27,174,3.019,175,2.044,176,2.754,177,2.044,178,2.754,179,2.754,180,2.044,181,2.044,182,2.044,183,2.044,184,3.332,185,1.685,186,2.27,187,2.754,188,2.044,189,2.044,190,2.044,191,1.417,192,2.044,193,2.044,194,2.044,195,2.754,196,2.044,197,2.044,198,1.025,199,2.044,200,1.685,201,1.203,202,1.417,203,1.685,204,2.044,205,2.044,206,2.754,207,2.044,208,2.044,209,2.044,210,1.417,211,2.044,212,2.044,213,2.044,214,2.044,215,2.044,216,1.685,217,2.044]],["title/interfaces/GtexTissue.html",[0,0.246,218,1.69]],["body/interfaces/GtexTissue.html",[0,0.222,2,0.668,3,0.561,4,1.261,5,0.646,6,0.646,10,0.646,11,1.097,15,0.684,16,0.065,17,1.552,23,0.789,35,1.261,36,0.897,38,1.418,41,1.261,45,1.602,46,1.068,70,0.046,71,0.04,72,0.04,77,0.789,88,1.524,96,1.097,98,1.782,100,0.789,111,1.088,113,1.513,125,1.513,130,1.088,131,1.088,132,2.173,133,1.513,134,1.289,135,1.282,136,0.789,137,0.561,138,1.068,142,2.955,143,1.088,147,1.782,148,1.282,149,1.282,150,1.524,153,1.848,171,1.289,172,1.524,174,1.524,185,1.524,186,1.524,198,0.927,202,1.782,210,1.282,218,2.633,219,1.524,220,1.524,221,4.045,222,4.045,223,4.045,224,2.57,225,2.341,226,1.848,227,2.57,228,1.848,229,4.045,230,2.341,231,1.848,232,2.341,233,1.524,234,1.282,235,3.255,236,1.848,237,1.524,238,2.341,239,2.341,240,2.341,241,2.341,242,1.848,243,2.341,244,3.742,245,3.255,246,3.255,247,3.255,248,3.255,249,4.045,250,2.119,251,1.848,252,1.524,253,1.848,254,2.57,255,1.524,256,2.341,257,2.341,258,1.524,259,2.341,260,2.341,261,2.341,262,2.341,263,1.848,264,2.57,265,2.341,266,2.341,267,2.341,268,2.341,269,3.255,270,2.341,271,2.341,272,2.955,273,3.255,274,1.848,275,1.848,276,2.341,277,2.341,278,2.436,279,3.255,280,2.341,281,2.341,282,2.341,283,2.341,284,2.341,285,2.341,286,2.341,287,2.341,288,2.341,289,2.341,290,2.341,291,2.341,292,1.848,293,2.341,294,2.341,295,2.341,296,2.341,297,2.341,298,1.524,299,1.848,300,2.341,301,3.742,302,2.341,303,2.341,304,2.341]],["title/classes/RequestCache.html",[73,1.206,171,1.028]],["body/classes/RequestCache.html",[3,0.674,4,0.948,5,0.558,6,0.898,10,0.558,12,1.47,15,0.702,16,0.064,17,0.948,35,0.948,36,0.674,38,1.052,46,1.052,70,0.058,71,0.045,72,0.035,73,1.307,75,1.83,82,2.908,84,2.908,88,1.83,89,2.838,91,3.443,92,3.443,111,2.278,113,2.159,122,2.675,125,1.307,129,1.307,137,0.674,138,1.292,156,3.574,159,2.908,163,2.22,168,2.947,171,1.459,255,1.83,274,2.22,275,2.22,305,3.574,306,2.398,307,4.644,308,3.683,309,3.683,310,2.811,311,4.36,312,4.108,313,2.811,314,2.811,315,3.683,316,4.9,317,4.855,318,2.811,319,4.108,320,3.683,321,2.811,322,3.683,323,2.811,324,2.811,325,2.811,326,2.811,327,2.811,328,2.811]],["title/changelog.html",[329,1.427,330,1.2,331,1.427]],["body/changelog.html",[0,0.303,2,0.238,3,0.723,5,0.166,11,0.281,12,0.281,13,0.659,15,0.134,16,0.044,18,0.659,20,1.828,41,0.487,63,0.659,70,0.01,71,0.018,72,0.041,77,0.866,79,0.659,89,0.544,94,0.544,96,1.208,100,1.56,109,0.544,132,0.388,138,0.238,151,1.402,191,0.791,198,0.756,200,0.544,201,1.612,202,2.387,203,0.544,210,1.651,231,2.381,233,1.242,234,2.11,236,1.14,237,1.83,242,0.659,255,0.94,258,1.48,263,1.14,272,3.044,278,0.94,292,1.14,330,1.045,331,0.94,332,1.507,333,3.201,334,1.507,335,1.795,336,2.636,337,1.444,338,1.444,339,2.812,340,2.518,341,5.029,342,0.659,343,1.444,344,4.326,345,0.835,346,2.569,347,2.273,348,3.774,349,0.835,350,1.444,351,2.273,352,1.444,353,1.908,354,0.835,355,1.444,356,0.835,357,3.774,358,0.835,359,1.444,360,0.659,361,0.835,362,1.14,363,1.14,364,1.14,365,3.189,366,0.835,367,0.835,368,0.835,369,1.444,370,1.908,371,3.583,372,0.835,373,0.791,374,0.659,375,0.835,376,0.835,377,3.339,378,1.444,379,2.569,380,1.908,381,1.908,382,0.835,383,1.14,384,1.444,385,3.727,386,1.444,387,0.835,388,0.835,389,3.994,390,0.835,391,1.444,392,2.421,393,1.908,394,1.444,395,1.908,396,1.908,397,1.48,398,1.908,399,0.835,400,1.444,401,1.444,402,0.835,403,3.016,404,2.812,405,3.016,406,1.444,407,0.835,408,0.835,409,3.994,410,2.636,411,1.795,412,0.835,413,1.444,414,0.835,415,0.835,416,1.444,417,1.908,418,2.028,419,0.835,420,1.444,421,0.835,422,0.835,423,0.835,424,1.444,425,3.101,426,0.835,427,2.812,428,0.835,429,0.835,430,0.835,431,1.908,432,1.507,433,0.835,434,0.835,435,1.14,436,0.835,437,2.812,438,3.583,439,1.444,440,2.569,441,0.835,442,1.444,443,2.812,444,1.444,445,0.835,446,0.835,447,0.835,448,1.444,449,2.812,450,1.795,451,0.835,452,3.016,453,3.536,454,0.835,455,0.835,456,1.444,457,0.835,458,2.273,459,0.835,460,1.444,461,1.908,462,0.835,463,0.835,464,1.908,465,0.835,466,1.444,467,0.835,468,1.444,469,0.835,470,0.835,471,0.835,472,3.855,473,0.835,474,0.659,475,1.672,476,0.835,477,1.444,478,0.659,479,0.835,480,1.444,481,2.273,482,2.273,483,0.835,484,1.444,485,1.908,486,0.835,487,0.835,488,1.444,489,0.835,490,0.835,491,2.812,492,1.539,493,2.028,494,1.507,495,0.835,496,2.028,497,0.835,498,1.908,499,2.518,500,3.774,501,0.835,502,0.835,503,1.444,504,1.507,505,0.835,506,0.835,507,0.835,508,2.569,509,0.835,510,0.835,511,0.835,512,0.835,513,1.908,514,0.835,515,1.14,516,1.14,517,0.835,518,2.518,519,0.835,520,0.835,521,2.829,522,0.835,523,0.835,524,0.835,525,2.028,526,2.028,527,0.835,528,1.444,529,0.835,530,0.835,531,1.908,532,1.444,533,0.835,534,0.835,535,1.444,536,1.444,537,1.444,538,1.444,539,0.835,540,1.908,541,0.835,542,0.835,543,0.659,544,0.835,545,1.507,546,0.659,547,1.444,548,1.444,549,0.835,550,0.835,551,1.444,552,1.444,553,1.444,554,1.444,555,0.835,556,0.835,557,0.835,558,0.835,559,1.908,560,0.835,561,1.444,562,0.835,563,0.835,564,1.14,565,2.812,566,1.14,567,0.835,568,0.659,569,0.835,570,0.835,571,2.569,572,2.273,573,0.835,574,1.908,575,1.444,576,2.812,577,1.14,578,1.444,579,2.273,580,0.835,581,0.835,582,0.835,583,0.835,584,0.835,585,0.835,586,0.835,587,1.444,588,1.444,589,0.835,590,1.444,591,0.835,592,0.659,593,1.444,594,0.835,595,1.444,596,0.835,597,0.835,598,1.795,599,0.835,600,0.835,601,0.835,602,0.835,603,1.444,604,0.835,605,0.835,606,0.659,607,0.835,608,0.835,609,0.835,610,0.835,611,1.444,612,0.835,613,0.835,614,0.835,615,0.835,616,0.835,617,1.444,618,0.835,619,2.812,620,0.835,621,0.835,622,1.908,623,1.908,624,1.444,625,0.659,626,1.444,627,0.835,628,0.659,629,0.659,630,0.835,631,1.444,632,0.835,633,0.835,634,1.48,635,0.835,636,0.835,637,1.444,638,1.444,639,0.835,640,0.835,641,1.444,642,1.444,643,0.835,644,1.444,645,2.273,646,1.908,647,0.835,648,0.835,649,0.835,650,0.835,651,0.659,652,0.659,653,0.835,654,1.444,655,0.835,656,0.835,657,0.835,658,0.835,659,1.444,660,2.273,661,0.835,662,0.835,663,0.835,664,0.835,665,2.812,666,1.908,667,0.835,668,0.835,669,1.908,670,1.444,671,1.444,672,1.444,673,2.273,674,0.835,675,2.273,676,0.835,677,0.835,678,1.444,679,0.835,680,0.835,681,0.835,682,0.835,683,0.835,684,2.273,685,0.835,686,1.908,687,2.273,688,0.835,689,1.908,690,2.569,691,1.444,692,1.444,693,1.444,694,1.444,695,1.908,696,2.273,697,2.569,698,1.444,699,1.908,700,0.835,701,0.835,702,3.016,703,1.908,704,0.835,705,2.273,706,2.273,707,3.339,708,0.835,709,0.835,710,0.835,711,0.835,712,0.835,713,0.835,714,1.444,715,0.835,716,1.444,717,0.835,718,0.835,719,0.835,720,0.835,721,1.444,722,0.835,723,1.908,724,0.835,725,0.835,726,1.444,727,1.507,728,1.444,729,1.908,730,0.835,731,0.835,732,0.835,733,1.444,734,0.835,735,0.835,736,0.835,737,0.835,738,0.835,739,0.835,740,0.835,741,1.444,742,0.835,743,0.835,744,2.273,745,2.812,746,1.444,747,1.908,748,1.444,749,2.273,750,0.835,751,0.835,752,0.835,753,0.835,754,1.908,755,0.835,756,0.835,757,0.835,758,1.444,759,1.444,760,1.444,761,1.444,762,1.908,763,0.835,764,0.835,765,0.835,766,0.835,767,0.835,768,0.835,769,0.659,770,0.835,771,0.835,772,0.835,773,1.444,774,0.835,775,0.835,776,1.444,777,0.835,778,0.835,779,0.835,780,0.835,781,0.835,782,0.835,783,0.835,784,0.835,785,0.835,786,3.189,787,0.835,788,1.507,789,3.189,790,1.908,791,2.273,792,1.444,793,1.908,794,0.835,795,1.444,796,0.835,797,0.835,798,1.444,799,1.444,800,0.835,801,0.835,802,0.835,803,0.835,804,1.444,805,0.835,806,1.908,807,0.835,808,0.835,809,0.835,810,1.795,811,0.835,812,0.659,813,0.835,814,0.835,815,0.835,816,0.835,817,0.835,818,0.835,819,0.835,820,0.835,821,0.835,822,0.835,823,2.569,824,0.835,825,0.835,826,0.835,827,0.835,828,0.835,829,0.835,830,0.835,831,0.835,832,0.835,833,0.835,834,0.835,835,0.835,836,0.835,837,0.835,838,1.444,839,0.835,840,1.444,841,0.835,842,1.444,843,1.444,844,2.273,845,2.273,846,1.444,847,1.444,848,0.835,849,0.835,850,0.835,851,1.908,852,0.835,853,0.659,854,0.835,855,0.835,856,0.835,857,0.835,858,0.835,859,0.835,860,1.444,861,3.469,862,1.908,863,0.835,864,1.444,865,0.835,866,0.835,867,0.835,868,0.835,869,1.444,870,0.835,871,0.835,872,0.835,873,0.835,874,1.444,875,2.381,876,1.444,877,0.835,878,0.835,879,0.94,880,0.835,881,2.273,882,0.835,883,1.444,884,0.835,885,0.835,886,0.835,887,1.48,888,0.835,889,1.444,890,0.835,891,0.835,892,0.835,893,1.444,894,1.444,895,0.835,896,0.835,897,0.835,898,0.835,899,1.444,900,1.908,901,1.444,902,0.835,903,0.659,904,1.14,905,0.835,906,0.835,907,0.835,908,0.835,909,0.835,910,0.835,911,0.835,912,0.835,913,0.835,914,0.659,915,0.835,916,0.835,917,1.444,918,0.835,919,0.835,920,0.835,921,0.835,922,0.835,923,0.835,924,0.835,925,1.444,926,0.835,927,0.659,928,0.835,929,0.659,930,0.659,931,0.835,932,0.835,933,0.835,934,1.444,935,0.835,936,0.835,937,0.835,938,0.835,939,0.835,940,0.835,941,0.835,942,0.835,943,0.835,944,0.835,945,0.835,946,1.444,947,0.659,948,0.835,949,0.835,950,1.444,951,0.659,952,0.659,953,0.835,954,0.835,955,0.835,956,0.835,957,0.835,958,0.835,959,0.835]],["title/coverage.html",[887,2.274]],["body/coverage.html",[0,0.36,1,1.142,5,0.348,6,1.032,7,2.085,9,0.815,15,0.282,16,0.064,27,1.385,30,2.301,36,1.232,70,0.022,71,0.032,72,0.022,73,1.228,74,0.815,76,1.719,77,1.071,78,1.719,96,0.591,127,1.142,128,2.508,129,1.921,136,1.071,137,0.761,165,0.96,166,2.181,167,2.181,169,1.142,171,0.695,218,1.142,219,2.593,220,2.769,250,1.142,252,1.142,254,2.085,298,1.719,305,1.385,306,1.142,373,0.96,392,1.446,397,1.719,492,0.96,887,1.142,960,1.754,961,1.754,962,5.201,963,1.754,964,1.754,965,5.187,966,3.034,967,1.754,968,3.176,969,1.754,970,2.641,971,1.754,972,4.768,973,1.385,974,1.385,975,3.176,976,1.754,977,1.754,978,1.754,979,1.754,980,1.385,981,1.754,982,2.508,983,1.385,984,1.385,985,2.085,986,2.085,987,1.385,988,3.534,989,2.641,990,2.641,991,1.385,992,2.085,993,2.085,994,1.754,995,1.754,996,2.085,997,2.641,998,1.385,999,2.641,1000,2.641,1001,1.385,1002,2.641,1003,1.385,1004,1.385,1005,1.754,1006,3.501,1007,3.501,1008,1.754,1009,1.754,1010,1.754,1011,1.754,1012,1.754,1013,1.754,1014,1.754,1015,1.754,1016,1.754,1017,1.385,1018,2.085,1019,2.085,1020,2.085,1021,1.754,1022,1.385,1023,3.264,1024,1.754,1025,1.754,1026,1.754,1027,1.754,1028,1.754,1029,1.754,1030,1.754,1031,2.068,1032,1.385,1033,1.385,1034,1.754,1035,1.754,1036,1.754,1037,1.754]],["title/dependencies.html",[478,1.731,634,2.023]],["body/dependencies.html",[5,0.52,16,0.065,20,1.434,21,2.775,22,2.067,23,0.883,24,2.067,25,2.067,70,0.032,71,0.043,72,0.032,103,2.067,137,0.628,138,1.003,224,2.067,226,2.067,227,2.067,228,2.067,264,2.067,364,2.067,373,1.434,374,2.067,475,1.705,496,2.775,515,2.067,566,2.067,577,2.067,628,2.067,629,2.067,634,1.705,652,2.775,727,2.067,788,2.775,879,2.288,1038,2.618,1039,2.618,1040,2.618,1041,4.88,1042,2.618,1043,2.618,1044,2.618,1045,2.618,1046,2.618,1047,2.618,1048,2.618,1049,2.618,1050,3.514,1051,2.618,1052,2.618,1053,2.618,1054,2.618,1055,2.618,1056,2.618,1057,2.618,1058,3.966,1059,2.618,1060,3.514,1061,2.618,1062,2.618,1063,2.618,1064,2.618,1065,3.966,1066,2.618,1067,2.618,1068,2.618,1069,2.618,1070,2.618,1071,2.618,1072,2.618,1073,2.618,1074,3.514,1075,2.618,1076,2.618,1077,2.618,1078,3.514,1079,2.618,1080,2.618,1081,3.514,1082,3.514,1083,2.618,1084,2.618,1085,2.618,1086,2.618,1087,2.067,1088,2.618,1089,2.618,1090,2.618,1091,2.618,1092,2.618,1093,2.618,1094,2.618,1095,2.618,1096,2.618,1097,2.618,1098,2.618,1099,2.618,1100,2.618,1101,2.618,1102,2.618,1103,2.618,1104,2.618,1105,2.618,1106,2.618,1107,2.618,1108,2.618,1109,2.618,1110,2.618,1111,2.618,1112,3.514,1113,2.618,1114,2.618,1115,2.618,1116,2.618,1117,2.618,1118,2.618,1119,2.618,1120,2.618,1121,2.618,1122,2.618,1123,2.618,1124,2.618,1125,2.618,1126,2.618,1127,2.618,1128,2.618,1129,2.618,1130,2.618,1131,2.618,1132,3.514,1133,2.618,1134,2.618,1135,2.618,1136,2.618,1137,2.618,1138,2.618,1139,2.618,1140,2.618,1141,2.618,1142,2.618,1143,2.618,1144,3.514,1145,2.618,1146,2.618,1147,2.618,1148,2.618,1149,2.618,1150,2.618,1151,2.618,1152,2.618,1153,2.618,1154,2.618,1155,2.618,1156,2.618,1157,2.618]],["title/index.html",[10,0.435,329,1.427,330,1.2]],["body/index.html",[0,0.35,2,0.803,3,1.085,16,0.045,70,0.035,71,0.045,72,0.035,100,1.742,191,1.539,198,1.459,201,2.027,234,2.628,237,2.398,331,1.83,332,2.908,333,2.908,334,2.908,335,3.244,336,3.244,340,2.22,342,3.443,360,2.908,362,2.908,363,3.443,385,2.908,392,2.249,418,2.22,432,2.908,435,2.908,450,2.22,453,3.244,474,2.22,475,1.83,492,1.539,493,3.574,494,3.443,499,2.908,504,2.22,516,2.908,518,2.22,521,2.22,526,2.22,545,2.22,546,2.908,625,2.908,651,2.22,812,2.22,904,2.22,914,2.22,927,2.22,951,2.22,1158,3.683,1159,3.683,1160,3.683,1161,2.811,1162,2.811,1163,2.811,1164,2.811,1165,2.908,1166,2.811,1167,2.811,1168,2.811,1169,3.683,1170,3.683,1171,3.683,1172,4.108,1173,2.811,1174,2.811,1175,4.108,1176,4.108,1177,2.811,1178,2.811,1179,3.683,1180,2.811,1181,2.811,1182,2.811,1183,2.811,1184,2.811,1185,2.811,1186,2.811,1187,2.811,1188,2.811,1189,2.22,1190,2.811,1191,2.811,1192,2.811,1193,3.683,1194,2.811,1195,2.811,1196,3.683,1197,3.683,1198,2.811,1199,3.683,1200,3.683,1201,2.811,1202,2.811,1203,2.811,1204,2.811,1205,2.811,1206,2.811,1207,2.811,1208,2.811,1209,2.811,1210,2.811,1211,2.811,1212,2.811,1213,2.811,1214,2.811,1215,2.811]],["title/license.html",[329,1.427,330,1.2,1216,1.731]],["body/license.html",[16,0.051,23,1.133,70,0.041,71,0.051,72,0.041,198,1.634,201,1.563,492,1.841,525,3.259,543,3.526,568,2.655,769,3.259,853,2.655,875,2.655,930,2.655,952,2.655,1165,3.958,1216,2.655,1217,3.363,1218,4.465,1219,3.363,1220,3.363,1221,4.127,1222,3.363,1223,3.363,1224,3.363,1225,3.363,1226,3.363,1227,3.363,1228,4.127,1229,3.363,1230,3.363,1231,3.363,1232,3.363,1233,3.363,1234,3.363,1235,3.363,1236,3.363,1237,3.363,1238,3.363,1239,3.363,1240,3.363,1241,4.127,1242,3.363,1243,3.363,1244,3.363,1245,3.363,1246,3.363,1247,3.363,1248,4.127,1249,3.363,1250,3.363,1251,3.363,1252,3.363,1253,3.363,1254,3.363,1255,3.363,1256,3.363,1257,3.363,1258,3.363,1259,3.363,1260,3.363,1261,3.363,1262,3.363,1263,3.363,1264,3.363,1265,3.363,1266,3.363,1267,3.363,1268,3.363,1269,3.363,1270,3.363,1271,3.363,1272,3.363,1273,3.363,1274,3.363,1275,3.363,1276,3.363]],["title/modules.html",[1277,2.758]],["body/modules.html",[16,0.057,70,0.05,71,0.057,72,0.05,1277,3.194]],["title/overview.html",[1278,2.758]],["body/overview.html",[2,1.145,16,0.056,70,0.049,71,0.056,72,0.049,75,2.61,810,3.166,1278,3.166,1279,4.01]],["title/miscellaneous/typealiases.html",[1280,1.2,1281,3.108]],["body/miscellaneous/typealiases.html",[6,0.994,10,0.691,15,0.561,16,0.052,36,1.087,70,0.043,71,0.052,72,0.043,76,2.268,77,1.627,78,2.745,87,3.33,129,1.96,134,1.38,136,1.421,137,1.011,166,1.907,167,2.309,173,3.068,966,2.268,980,2.751,985,2.751,986,3.33,1003,2.751,1004,3.581,1023,2.751,1031,2.268,1280,1.907,1282,3.484,1283,4.217,1284,2.751,1285,4.217,1286,4.217,1287,4.217,1288,4.217,1289,4.217,1290,4.217,1291,4.217,1292,3.484,1293,4.217,1294,3.484,1295,4.217,1296,2.751]],["title/miscellaneous/variables.html",[1280,1.2,1297,2.454]],["body/miscellaneous/variables.html",[6,0.94,10,0.44,15,0.776,16,0.064,30,2.957,38,1.038,45,1.242,46,0.634,49,2.041,70,0.027,71,0.039,72,0.039,83,1.752,94,3.211,95,3.211,100,0.748,116,1.752,129,1.837,130,1.032,131,1.032,133,1.837,134,0.879,136,1.405,137,0.947,138,0.634,143,1.457,150,2.041,151,1.837,216,2.041,219,1.445,220,2.367,233,1.445,234,1.991,250,2.041,251,1.752,252,2.041,253,1.752,258,1.445,278,1.445,298,2.041,299,2.476,306,2.041,373,1.215,383,1.752,392,1.215,397,1.445,410,1.752,411,1.752,425,1.752,564,1.752,592,1.752,598,1.752,606,2.476,879,1.445,903,3.12,929,1.752,947,1.752,966,1.445,973,2.476,974,2.476,982,1.752,983,2.871,984,2.871,987,1.752,991,1.752,992,1.752,993,3.12,996,1.752,998,1.752,1001,1.752,1006,1.752,1007,2.476,1017,2.476,1018,1.752,1019,2.476,1020,2.476,1022,2.476,1031,1.445,1032,2.476,1033,2.476,1087,2.476,1189,2.476,1280,1.215,1284,2.871,1296,2.476,1297,1.752,1298,3.636,1299,2.219,1300,4.168,1301,3.136,1302,2.219,1303,3.951,1304,2.219,1305,2.219,1306,2.219,1307,2.219,1308,3.951,1309,2.219,1310,2.219,1311,3.951,1312,2.219,1313,3.136,1314,3.136,1315,3.136,1316,2.219,1317,2.219,1318,2.219,1319,2.219,1320,2.219,1321,2.219,1322,2.219,1323,2.219,1324,2.219,1325,2.219,1326,2.219,1327,2.219,1328,2.219,1329,2.219,1330,2.219,1331,2.219,1332,2.219,1333,2.219,1334,2.219,1335,2.219,1336,2.219,1337,2.219,1338,2.219,1339,2.219,1340,2.219,1341,2.219,1342,2.219,1343,2.219,1344,2.219,1345,2.219,1346,2.219,1347,2.219,1348,2.219,1349,2.219,1350,2.219,1351,2.219,1352,2.219,1353,2.219,1354,2.219,1355,2.219,1356,2.219,1357,2.219,1358,2.219,1359,3.136,1360,3.136,1361,3.136,1362,2.219,1363,3.136,1364,2.219,1365,2.219,1366,3.136,1367,2.219,1368,2.219,1369,2.219,1370,3.136,1371,2.219,1372,2.219,1373,2.219,1374,2.219,1375,2.219]]],"invertedIndex":[["",{"_index":16,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":962,"title":{},"body":{"coverage.html":{}}}],["0.1.0",{"_index":950,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":1157,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":1095,"title":{},"body":{"dependencies.html":{}}}],["0.2.0",{"_index":946,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":1113,"title":{},"body":{"dependencies.html":{}}}],["0.5.0",{"_index":934,"title":{},"body":{"changelog.html":{}}}],["0.6.0",{"_index":904,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0/1",{"_index":965,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":963,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":975,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":994,"title":{},"body":{"coverage.html":{}}}],["0/5",{"_index":1035,"title":{},"body":{"coverage.html":{}}}],["0/6",{"_index":1034,"title":{},"body":{"coverage.html":{}}}],["01",{"_index":394,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":755,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":690,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":440,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":660,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":351,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":339,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":876,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":379,"title":{},"body":{"changelog.html":{}}}],["1",{"_index":869,"title":{},"body":{"changelog.html":{}}}],["1.0",{"_index":789,"title":{},"body":{"changelog.html":{}}}],["1.0.0",{"_index":861,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":1091,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":1098,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":1152,"title":{},"body":{"dependencies.html":{}}}],["1.1.0",{"_index":838,"title":{},"body":{"changelog.html":{}}}],["1.16.0",{"_index":1128,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":1092,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":788,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":1101,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":1131,"title":{},"body":{"dependencies.html":{}}}],["1.3.5",{"_index":754,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":727,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":1116,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":689,"title":{},"body":{"changelog.html":{}}}],["1.6.0",{"_index":673,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":659,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":1104,"title":{},"body":{"dependencies.html":{}}}],["10",{"_index":210,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["10.0.0",{"_index":1111,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":146,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["1000",{"_index":148,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["10x",{"_index":850,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":729,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":1133,"title":{},"body":{"dependencies.html":{}}}],["12",{"_index":340,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":1135,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":1041,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":1049,"title":{},"body":{"dependencies.html":{}}}],["13",{"_index":554,"title":{},"body":{"changelog.html":{}}}],["14",{"_index":441,"title":{},"body":{"changelog.html":{}}}],["15",{"_index":352,"title":{},"body":{"changelog.html":{}}}],["15.126.1",{"_index":1039,"title":{},"body":{"dependencies.html":{}}}],["16",{"_index":624,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":1106,"title":{},"body":{"dependencies.html":{}}}],["17",{"_index":417,"title":{},"body":{"changelog.html":{}}}],["2",{"_index":810,"title":{},"body":{"changelog.html":{},"overview.html":{}}}],["2.0.0",{"_index":623,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":1109,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":577,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":566,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.3.0",{"_index":561,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":553,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":537,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":515,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.6.7",{"_index":1136,"title":{},"body":{"dependencies.html":{}}}],["2.8.5",{"_index":1099,"title":{},"body":{"dependencies.html":{}}}],["2.awsapprunner.com",{"_index":1187,"title":{},"body":{"index.html":{}}}],["2019",{"_index":875,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":791,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":500,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":365,"title":{},"body":{"changelog.html":{}}}],["2023",{"_index":338,"title":{},"body":{"changelog.html":{}}}],["21",{"_index":661,"title":{},"body":{"changelog.html":{}}}],["22",{"_index":863,"title":{},"body":{"changelog.html":{}}}],["24",{"_index":935,"title":{},"body":{"changelog.html":{}}}],["26",{"_index":691,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":732,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":380,"title":{},"body":{"changelog.html":{}}}],["3",{"_index":776,"title":{},"body":{"changelog.html":{}}}],["3.0.0",{"_index":496,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":1065,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":456,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":448,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":439,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":416,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":393,"title":{},"body":{"changelog.html":{}}}],["3.5.0",{"_index":378,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":1071,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":1073,"title":{},"body":{"dependencies.html":{}}}],["3.6",{"_index":1193,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":364,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.7.0",{"_index":350,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":1082,"title":{},"body":{"dependencies.html":{}}}],["3.7.2",{"_index":337,"title":{},"body":{"changelog.html":{}}}],["3.7.3",{"_index":1085,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":578,"title":{},"body":{"changelog.html":{}}}],["31",{"_index":839,"title":{},"body":{"changelog.html":{}}}],["3d",{"_index":409,"title":{},"body":{"changelog.html":{}}}],["4",{"_index":809,"title":{},"body":{"changelog.html":{}}}],["4.0",{"_index":1170,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":1079,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":1107,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":1126,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":1096,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":1117,"title":{},"body":{"dependencies.html":{}}}],["4th",{"_index":367,"title":{},"body":{"changelog.html":{}}}],["5",{"_index":1279,"title":{},"body":{"overview.html":{}}}],["5.0.0",{"_index":1120,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":1124,"title":{},"body":{"dependencies.html":{}}}],["5th",{"_index":356,"title":{},"body":{"changelog.html":{}}}],["6.0.1",{"_index":1123,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":1139,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":1076,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":1149,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":1146,"title":{},"body":{"dependencies.html":{}}}],["60",{"_index":147,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["8",{"_index":263,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["8.3.2",{"_index":1155,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":1069,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":1058,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":1061,"title":{},"body":{"dependencies.html":{}}}],["85",{"_index":945,"title":{},"body":{"changelog.html":{}}}],["90",{"_index":886,"title":{},"body":{"changelog.html":{}}}],["95",{"_index":444,"title":{},"body":{"changelog.html":{}}}],["9th",{"_index":701,"title":{},"body":{"changelog.html":{}}}],["__",{"_index":157,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["_error",{"_index":275,"title":{},"body":{"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["_key",{"_index":211,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["_next",{"_index":299,"title":{},"body":{"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["_req",{"_index":1303,"title":{},"body":{"miscellaneous/variables.html":{}}}],["_res",{"_index":216,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"miscellaneous/variables.html":{}}}],["ability",{"_index":593,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":930,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["accurate",{"_index":688,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":1269,"title":{},"body":{"license.html":{}}}],["actions",{"_index":780,"title":{},"body":{"changelog.html":{}}}],["actually",{"_index":241,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["adapter",{"_index":106,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["added",{"_index":341,"title":{},"body":{"changelog.html":{}}}],["additional",{"_index":931,"title":{},"body":{"changelog.html":{}}}],["addressed",{"_index":832,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":420,"title":{},"body":{"changelog.html":{}}}],["adjusting",{"_index":825,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":725,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":627,"title":{},"body":{"changelog.html":{}}}],["again",{"_index":799,"title":{},"body":{"changelog.html":{}}}],["age",{"_index":292,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["agemax",{"_index":245,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["agemean",{"_index":247,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["agemin",{"_index":246,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["agerange",{"_index":1322,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ala",{"_index":558,"title":{},"body":{"changelog.html":{}}}],["aliases",{"_index":1282,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["allowdots",{"_index":48,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["allows",{"_index":708,"title":{},"body":{"changelog.html":{}}}],["allowstale",{"_index":1338,"title":{},"body":{"miscellaneous/variables.html":{}}}],["alpha",{"_index":916,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":894,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":889,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":874,"title":{},"body":{"changelog.html":{}}}],["alt",{"_index":1174,"title":{},"body":{"index.html":{}}}],["analytics",{"_index":629,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["anatomical",{"_index":723,"title":{},"body":{"changelog.html":{}}}],["and/or",{"_index":1239,"title":{},"body":{"license.html":{}}}],["angular",{"_index":475,"title":{},"body":{"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":1040,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":1042,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":1043,"title":{},"body":{"dependencies.html":{}}}],["angular/compiler",{"_index":1044,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":1045,"title":{},"body":{"dependencies.html":{}}}],["angular/elements",{"_index":1046,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":1047,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":1048,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":1050,"title":{},"body":{"dependencies.html":{}}}],["angular/router",{"_index":1052,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":1053,"title":{},"body":{"dependencies.html":{}}}],["anyautoprunelrucache",{"_index":1283,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["api",{"_index":234,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["api.hubmapconsortium.org",{"_index":1184,"title":{},"body":{"index.html":{}}}],["api/ccf",{"_index":116,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/app.ts",{"_index":7,"title":{},"body":{"interfaces/AppOptions.html":{},"coverage.html":{}}}],["api/src/lib/environment.ts",{"_index":966,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/middleware/database",{"_index":166,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["api/src/lib/middleware/response",{"_index":128,"title":{},"body":{"interfaces/CacheOptions.html":{},"coverage.html":{}}}],["api/src/lib/polyfills.ts",{"_index":980,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["api/src/lib/routes/browser.ts",{"_index":982,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/routes/v1/database",{"_index":985,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["api/src/lib/routes/v1/get",{"_index":989,"title":{},"body":{"coverage.html":{}}}],["api/src/lib/routes/v1/gtex/index.ts",{"_index":992,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/routes/v1/gtex/rui",{"_index":219,"title":{},"body":{"interfaces/GtexTissue.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/routes/v1/hubmap/index.ts",{"_index":996,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/routes/v1/hubmap/rui",{"_index":997,"title":{},"body":{"coverage.html":{}}}],["api/src/lib/routes/v1/index.ts",{"_index":998,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/routes/v1/reference",{"_index":999,"title":{},"body":{"coverage.html":{}}}],["api/src/lib/routes/v1/sparql.ts",{"_index":1002,"title":{},"body":{"coverage.html":{}}}],["api/src/lib/routes/v1/utils/forward",{"_index":1003,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["api/src/lib/routes/v1/utils/parse",{"_index":1006,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/routes/v1/utils/use",{"_index":1018,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/server.ts",{"_index":1023,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["api/src/lib/utils/auto",{"_index":1031,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["api/src/lib/utils/ccf",{"_index":76,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["api/src/lib/utils/request",{"_index":305,"title":{},"body":{"classes/RequestCache.html":{},"coverage.html":{}}}],["apifile",{"_index":1305,"title":{},"body":{"miscellaneous/variables.html":{}}}],["app",{"_index":39,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.set('database",{"_index":40,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.set('query",{"_index":43,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.use",{"_index":68,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.use('/v1",{"_index":69,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.use(cors",{"_index":64,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.use(databaseloader(options",{"_index":67,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.use(helmet",{"_index":53,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.use(json",{"_index":66,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.use(urlencoded",{"_index":65,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["appear",{"_index":509,"title":{},"body":{"changelog.html":{}}}],["application",{"_index":712,"title":{},"body":{"changelog.html":{}}}],["applied",{"_index":763,"title":{},"body":{"changelog.html":{}}}],["appoptions",{"_index":1,"title":{"interfaces/AppOptions.html":{}},"body":{"interfaces/AppOptions.html":{},"coverage.html":{}}}],["appropriate",{"_index":477,"title":{},"body":{"changelog.html":{}}}],["april",{"_index":700,"title":{},"body":{"changelog.html":{}}}],["args",{"_index":317,"title":{},"body":{"classes/RequestCache.html":{}}}],["arising",{"_index":1273,"title":{},"body":{"license.html":{}}}],["asct+b",{"_index":501,"title":{},"body":{"changelog.html":{}}}],["assignment/selection",{"_index":676,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":568,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["async",{"_index":113,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["atlas",{"_index":334,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["attempt",{"_index":257,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["attempts",{"_index":541,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":1262,"title":{},"body":{"license.html":{}}}],["automatic",{"_index":814,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":764,"title":{},"body":{"changelog.html":{}}}],["autoprunelrucache",{"_index":134,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["available",{"_index":806,"title":{},"body":{"changelog.html":{}}}],["avoid",{"_index":612,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":125,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["award",{"_index":1214,"title":{},"body":{"index.html":{}}}],["backend",{"_index":520,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":927,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["base",{"_index":899,"title":{},"body":{"changelog.html":{}}}],["based",{"_index":600,"title":{},"body":{"changelog.html":{}}}],["basic",{"_index":625,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["before",{"_index":513,"title":{},"body":{"changelog.html":{}}}],["being",{"_index":658,"title":{},"body":{"changelog.html":{}}}],["beta",{"_index":499,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":579,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":867,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":1090,"title":{},"body":{"dependencies.html":{}}}],["block",{"_index":464,"title":{},"body":{"changelog.html":{}}}],["blocks",{"_index":411,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["bmi",{"_index":534,"title":{},"body":{"changelog.html":{}}}],["bmirange",{"_index":1323,"title":{},"body":{"miscellaneous/variables.html":{}}}],["board",{"_index":891,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":20,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/CacheOptions.html":{},"changelog.html":{},"dependencies.html":{}}}],["boolean",{"_index":142,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/GtexTissue.html":{}}}],["both",{"_index":564,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["box",{"_index":611,"title":{},"body":{"changelog.html":{}}}],["breaking",{"_index":648,"title":{},"body":{"changelog.html":{}}}],["bringing",{"_index":667,"title":{},"body":{"changelog.html":{}}}],["browser",{"_index":879,"title":{},"body":{"changelog.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["browserify",{"_index":1147,"title":{},"body":{"dependencies.html":{}}}],["browserroute",{"_index":983,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["browserroutes",{"_index":31,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["browsing",{"_index":954,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":438,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":1166,"title":{},"body":{"index.html":{}}}],["builds",{"_index":495,"title":{},"body":{"changelog.html":{}}}],["button",{"_index":893,"title":{},"body":{"changelog.html":{}}}],["c",{"_index":1219,"title":{},"body":{"license.html":{}}}],["cache",{"_index":138,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["cache.del(key",{"_index":328,"title":{},"body":{"classes/RequestCache.html":{}}}],["cache.get(key",{"_index":159,"title":{},"body":{"interfaces/CacheOptions.html":{},"classes/RequestCache.html":{}}}],["cache.get(selecttoken(token",{"_index":217,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["cache.get(token",{"_index":302,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["cache.set(key",{"_index":163,"title":{},"body":{"interfaces/CacheOptions.html":{},"classes/RequestCache.html":{}}}],["cache.ts",{"_index":129,"title":{},"body":{"interfaces/CacheOptions.html":{},"classes/RequestCache.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["cache.ts:10",{"_index":318,"title":{},"body":{"classes/RequestCache.html":{}}}],["cache.ts:23",{"_index":323,"title":{},"body":{"classes/RequestCache.html":{}}}],["cache.ts:27",{"_index":321,"title":{},"body":{"classes/RequestCache.html":{}}}],["cache.ts:4",{"_index":314,"title":{},"body":{"classes/RequestCache.html":{}}}],["cache_dir",{"_index":1022,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["cacheable",{"_index":1151,"title":{},"body":{"dependencies.html":{}}}],["cached",{"_index":1019,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["cachedresponse",{"_index":158,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["cacheoptions",{"_index":127,"title":{"interfaces/CacheOptions.html":{}},"body":{"interfaces/CacheOptions.html":{},"coverage.html":{}}}],["cacheresponses",{"_index":979,"title":{},"body":{"coverage.html":{}}}],["cacheresponses(options",{"_index":145,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["callback",{"_index":597,"title":{},"body":{"changelog.html":{}}}],["called",{"_index":654,"title":{},"body":{"changelog.html":{}}}],["calls",{"_index":376,"title":{},"body":{"changelog.html":{}}}],["cancelregistration",{"_index":596,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":865,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":1093,"title":{},"body":{"dependencies.html":{}}}],["card",{"_index":632,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":637,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":1196,"title":{},"body":{"index.html":{}}}],["cases",{"_index":837,"title":{},"body":{"changelog.html":{}}}],["catch",{"_index":274,"title":{},"body":{"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["ccf",{"_index":100,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["ccf's",{"_index":785,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":353,"title":{},"body":{"changelog.html":{}}}],["ccfdatabase",{"_index":86,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["ccfdatabaseinstance",{"_index":74,"title":{"classes/CCFDatabaseInstance.html":{}},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"coverage.html":{}}}],["ccfdatabaseoptions",{"_index":98,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["ccfdatabasestatustracker",{"_index":99,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["ccfdatabasestatustracker(this.database",{"_index":97,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["cdn.jsdelivr.net",{"_index":62,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["cell",{"_index":458,"title":{},"body":{"changelog.html":{}}}],["celltypeterms",{"_index":1325,"title":{},"body":{"miscellaneous/variables.html":{}}}],["center",{"_index":1209,"title":{},"body":{"index.html":{}}}],["change",{"_index":651,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["changed",{"_index":370,"title":{},"body":{"changelog.html":{}}}],["changelog",{"_index":331,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changes",{"_index":347,"title":{},"body":{"changelog.html":{}}}],["charge",{"_index":1225,"title":{},"body":{"license.html":{}}}],["checkroutesenabled",{"_index":993,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["choose",{"_index":807,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":783,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":1265,"title":{},"body":{"license.html":{}}}],["clamp",{"_index":1008,"title":{},"body":{"coverage.html":{}}}],["class",{"_index":73,"title":{"classes/CCFDatabaseInstance.html":{},"classes/RequestCache.html":{}},"body":{"classes/CCFDatabaseInstance.html":{},"classes/RequestCache.html":{},"coverage.html":{}}}],["classes",{"_index":75,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"classes/RequestCache.html":{},"overview.html":{}}}],["clean",{"_index":436,"title":{},"body":{"changelog.html":{}}}],["cleanup",{"_index":498,"title":{},"body":{"changelog.html":{}}}],["click",{"_index":549,"title":{},"body":{"changelog.html":{}}}],["clicking",{"_index":644,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":342,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["coalescing",{"_index":194,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["code",{"_index":491,"title":{},"body":{"changelog.html":{}}}],["codebase",{"_index":794,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":849,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":909,"title":{},"body":{"changelog.html":{}}}],["collaboration",{"_index":792,"title":{},"body":{"changelog.html":{}}}],["collisions",{"_index":816,"title":{},"body":{"changelog.html":{}}}],["color",{"_index":675,"title":{},"body":{"changelog.html":{}}}],["colorizing",{"_index":858,"title":{},"body":{"changelog.html":{}}}],["combination",{"_index":808,"title":{},"body":{"changelog.html":{}}}],["come",{"_index":854,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":846,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":103,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"dependencies.html":{}}}],["comlink/dist/umd/node",{"_index":105,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["common",{"_index":546,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["complexity",{"_index":683,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":489,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":450,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["components",{"_index":626,"title":{},"body":{"changelog.html":{}}}],["comunica/query",{"_index":1055,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":1097,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":1247,"title":{},"body":{"license.html":{}}}],["config",{"_index":592,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["configuration",{"_index":346,"title":{},"body":{"changelog.html":{}}}],["configurations",{"_index":591,"title":{},"body":{"changelog.html":{}}}],["confirmation",{"_index":539,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":604,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":63,"title":{},"body":{"interfaces/AppOptions.html":{},"changelog.html":{}}}],["connection",{"_index":1275,"title":{},"body":{"license.html":{}}}],["console.log(err",{"_index":182,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["consortium",{"_index":1220,"title":{},"body":{"license.html":{}}}],["const",{"_index":38,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"miscellaneous/variables.html":{}}}],["constructor",{"_index":84,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"classes/RequestCache.html":{}}}],["constructor(cache",{"_index":310,"title":{},"body":{"classes/RequestCache.html":{}}}],["constructor(database",{"_index":85,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["constructor(public",{"_index":112,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["container",{"_index":639,"title":{},"body":{"changelog.html":{}}}],["containers",{"_index":581,"title":{},"body":{"changelog.html":{}}}],["containing",{"_index":1164,"title":{},"body":{"index.html":{}}}],["contentsecuritypolicy",{"_index":54,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["contract",{"_index":1270,"title":{},"body":{"license.html":{}}}],["control",{"_index":750,"title":{},"body":{"changelog.html":{}}}],["coordinate",{"_index":1158,"title":{},"body":{"index.html":{}}}],["copies",{"_index":1241,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1228,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":1218,"title":{},"body":{"license.html":{}}}],["cord",{"_index":423,"title":{},"body":{"changelog.html":{}}}],["cors",{"_index":22,"title":{},"body":{"interfaces/AppOptions.html":{},"dependencies.html":{}}}],["count",{"_index":248,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["coverage",{"_index":887,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["createapp",{"_index":964,"title":{},"body":{"coverage.html":{}}}],["createapp(options",{"_index":37,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["createccfdatabaseworker",{"_index":169,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"coverage.html":{}}}],["createccfdatabaseworker(options",{"_index":114,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["created",{"_index":759,"title":{},"body":{"changelog.html":{}}}],["createdatabase",{"_index":976,"title":{},"body":{"coverage.html":{}}}],["createdatabase(token",{"_index":187,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["credits",{"_index":1204,"title":{},"body":{"index.html":{}}}],["css",{"_index":1100,"title":{},"body":{"dependencies.html":{}}}],["cuboid",{"_index":885,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":882,"title":{},"body":{"changelog.html":{}}}],["currently",{"_index":531,"title":{},"body":{"changelog.html":{}}}],["cyberinfrastructure",{"_index":1206,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":694,"title":{},"body":{"changelog.html":{}}}],["damages",{"_index":1266,"title":{},"body":{"license.html":{}}}],["dark/light",{"_index":599,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":202,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["database",{"_index":77,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["database.worker.js",{"_index":117,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["databasecacheoptions",{"_index":165,"title":{"interfaces/DatabaseCacheOptions.html":{}},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"coverage.html":{}}}],["databasegetter",{"_index":173,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"miscellaneous/typealiases.html":{}}}],["databaseloader",{"_index":27,"title":{},"body":{"interfaces/AppOptions.html":{},"coverage.html":{}}}],["databaseloader(options",{"_index":209,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["databaseloaderoptions",{"_index":9,"title":{"interfaces/DatabaseLoaderOptions.html":{}},"body":{"interfaces/AppOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"coverage.html":{}}}],["databasequerymethods",{"_index":1286,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["databasesource",{"_index":1288,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["databasesources",{"_index":1290,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["datasets",{"_index":706,"title":{},"body":{"changelog.html":{}}}],["datasources",{"_index":204,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["dbinstance",{"_index":179,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["dbinstance.database.connect().catch((err",{"_index":181,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["dbworker",{"_index":119,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["dbworker.database",{"_index":121,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["dbworker.sparqlquery",{"_index":123,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["dbworker[releaseproxy",{"_index":124,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["deal",{"_index":1230,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1276,"title":{},"body":{"license.html":{}}}],["december",{"_index":800,"title":{},"body":{"changelog.html":{}}}],["deck.gl/core",{"_index":1057,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":1059,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":1062,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":1063,"title":{},"body":{"dependencies.html":{}}}],["decorator",{"_index":1078,"title":{},"body":{"dependencies.html":{}}}],["deeply",{"_index":523,"title":{},"body":{"changelog.html":{}}}],["default",{"_index":94,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["default_gtex_rui_locations",{"_index":250,"title":{},"body":{"interfaces/GtexTissue.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defaultvalue",{"_index":140,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["defined",{"_index":89,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"classes/RequestCache.html":{},"changelog.html":{}}}],["del",{"_index":1329,"title":{},"body":{"miscellaneous/variables.html":{}}}],["demo",{"_index":551,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":634,"title":{"dependencies.html":{}},"body":{"changelog.html":{},"dependencies.html":{}}}],["depending",{"_index":657,"title":{},"body":{"changelog.html":{}}}],["deprecated",{"_index":199,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["descrepancies",{"_index":407,"title":{},"body":{"changelog.html":{}}}],["details",{"_index":933,"title":{},"body":{"changelog.html":{}}}],["developed",{"_index":1205,"title":{},"body":{"index.html":{}}}],["developments",{"_index":914,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":540,"title":{},"body":{"changelog.html":{}}}],["different",{"_index":580,"title":{},"body":{"changelog.html":{}}}],["digits",{"_index":777,"title":{},"body":{"changelog.html":{}}}],["direct",{"_index":942,"title":{},"body":{"changelog.html":{}}}],["directives",{"_index":56,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["directly",{"_index":847,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":189,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["display",{"_index":571,"title":{},"body":{"changelog.html":{}}}],["displayed",{"_index":883,"title":{},"body":{"changelog.html":{}}}],["displaying",{"_index":567,"title":{},"body":{"changelog.html":{}}}],["dispose",{"_index":80,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["distribute",{"_index":1237,"title":{},"body":{"license.html":{}}}],["doc",{"_index":897,"title":{},"body":{"changelog.html":{}}}],["doconnect",{"_index":176,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["docs",{"_index":434,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":1102,"title":{},"body":{"dependencies.html":{}}}],["documentation",{"_index":492,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["done",{"_index":649,"title":{},"body":{"changelog.html":{}}}],["donor",{"_index":631,"title":{},"body":{"changelog.html":{}}}],["donors",{"_index":709,"title":{},"body":{"changelog.html":{}}}],["dorequest",{"_index":312,"title":{},"body":{"classes/RequestCache.html":{}}}],["dotenv",{"_index":1105,"title":{},"body":{"dependencies.html":{}}}],["download",{"_index":925,"title":{},"body":{"changelog.html":{}}}],["dump",{"_index":1336,"title":{},"body":{"miscellaneous/variables.html":{}}}],["during",{"_index":693,"title":{},"body":{"changelog.html":{}}}],["dynamic",{"_index":1051,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":400,"title":{},"body":{"changelog.html":{}}}],["easier",{"_index":470,"title":{},"body":{"changelog.html":{}}}],["east",{"_index":1186,"title":{},"body":{"index.html":{}}}],["effect",{"_index":829,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":737,"title":{},"body":{"changelog.html":{}}}],["element",{"_index":652,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["embedded",{"_index":588,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":576,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":574,"title":{},"body":{"changelog.html":{}}}],["enabled",{"_index":1311,"title":{},"body":{"miscellaneous/variables.html":{}}}],["encoding",{"_index":261,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["entry.label",{"_index":282,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["entry.mappedinhubmap",{"_index":271,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["entry['@id']?.includes(tissueinfo.tissuesitedetailid",{"_index":281,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["env",{"_index":973,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["env.gtex_routes",{"_index":1312,"title":{},"body":{"miscellaneous/variables.html":{}}}],["env.hubmap_routes",{"_index":1316,"title":{},"body":{"miscellaneous/variables.html":{}}}],["environment",{"_index":232,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["error",{"_index":1319,"title":{},"body":{"miscellaneous/variables.html":{}}}],["es",{"_index":1094,"title":{},"body":{"dependencies.html":{}}}],["eslint",{"_index":188,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["eslint/prefer",{"_index":192,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["etc",{"_index":609,"title":{},"body":{"changelog.html":{}}}],["eui",{"_index":453,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":485,"title":{},"body":{"changelog.html":{}}}],["eui/src/assets/gtex/data/rui_locations.jsonld",{"_index":251,"title":{},"body":{"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["eval",{"_index":61,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["event",{"_index":1261,"title":{},"body":{"license.html":{}}}],["expanded",{"_index":398,"title":{},"body":{"changelog.html":{}}}],["exploration",{"_index":1168,"title":{},"body":{"index.html":{}}}],["export",{"_index":35,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["express",{"_index":23,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"dependencies.html":{},"license.html":{}}}],["extends",{"_index":8,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["external",{"_index":595,"title":{},"body":{"changelog.html":{}}}],["extra",{"_index":1110,"title":{},"body":{"dependencies.html":{}}}],["extraction",{"_index":547,"title":{},"body":{"changelog.html":{}}}],["fail",{"_index":797,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":834,"title":{},"body":{"changelog.html":{}}}],["false",{"_index":141,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["favor",{"_index":787,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":396,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":695,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":735,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":244,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["fetch",{"_index":227,"title":{},"body":{"interfaces/GtexTissue.html":{},"dependencies.html":{}}}],["fetch(gtex_api_url).then(r",{"_index":267,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["field",{"_index":605,"title":{},"body":{"changelog.html":{}}}],["fields",{"_index":238,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["file",{"_index":5,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{}}}],["files",{"_index":1229,"title":{},"body":{"license.html":{}}}],["filter",{"_index":749,"title":{},"body":{"changelog.html":{}}}],["filter.ts",{"_index":1007,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["filter_defaults",{"_index":1017,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["filters",{"_index":415,"title":{},"body":{"changelog.html":{}}}],["final",{"_index":790,"title":{},"body":{"changelog.html":{}}}],["finishing",{"_index":544,"title":{},"body":{"changelog.html":{}}}],["first",{"_index":801,"title":{},"body":{"changelog.html":{}}}],["fit",{"_index":703,"title":{},"body":{"changelog.html":{}}}],["fitness",{"_index":1257,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":685,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":348,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":859,"title":{},"body":{"changelog.html":{}}}],["flexible",{"_index":429,"title":{},"body":{"changelog.html":{}}}],["fly",{"_index":949,"title":{},"body":{"changelog.html":{}}}],["following",{"_index":1246,"title":{},"body":{"license.html":{}}}],["foreach",{"_index":1333,"title":{},"body":{"miscellaneous/variables.html":{}}}],["form",{"_index":738,"title":{},"body":{"changelog.html":{}}}],["format",{"_index":819,"title":{},"body":{"changelog.html":{}}}],["forwarddatabasequery",{"_index":1005,"title":{},"body":{"coverage.html":{}}}],["forwarddatabasequery('getaggregateresults",{"_index":1358,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('getcelltypetermoccurences",{"_index":1364,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('getcelltypetreemodel",{"_index":1369,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('getdatasettechnologynames",{"_index":1354,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('getontologytermoccurences",{"_index":1362,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('getontologytreemodel",{"_index":1367,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('getprovidernames",{"_index":1356,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('getreferenceorgans",{"_index":1373,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('getscene",{"_index":1375,"title":{},"body":{"miscellaneous/variables.html":{}}}],["forwarddatabasequery('gettissueblockresults",{"_index":1352,"title":{},"body":{"miscellaneous/variables.html":{}}}],["frame",{"_index":710,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":1159,"title":{},"body":{"index.html":{}}}],["free",{"_index":1224,"title":{},"body":{"license.html":{}}}],["fs",{"_index":226,"title":{},"body":{"interfaces/GtexTissue.html":{},"dependencies.html":{}}}],["full",{"_index":642,"title":{},"body":{"changelog.html":{}}}],["fullscreen",{"_index":892,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":696,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":36,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["funded",{"_index":1212,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":1244,"title":{},"body":{"license.html":{}}}],["further",{"_index":888,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":686,"title":{},"body":{"changelog.html":{}}}],["generate",{"_index":460,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":490,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":401,"title":{},"body":{"changelog.html":{}}}],["get('/aggregate",{"_index":1357,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/ccf",{"_index":1309,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/cell",{"_index":1363,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/ontology",{"_index":1359,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/provider",{"_index":1355,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/reference",{"_index":1370,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/rui_locations.jsonld",{"_index":1315,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/scene",{"_index":1374,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/technology",{"_index":1353,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('/tissue",{"_index":1351,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('ccf_api_cache",{"_index":1310,"title":{},"body":{"miscellaneous/variables.html":{}}}],["get('gtex_rui_locations",{"_index":256,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["get(key",{"_index":315,"title":{},"body":{"classes/RequestCache.html":{}}}],["getboolean",{"_index":967,"title":{},"body":{"coverage.html":{}}}],["getcacheoptions",{"_index":1024,"title":{},"body":{"coverage.html":{}}}],["getdatabaseinstance",{"_index":977,"title":{},"body":{"coverage.html":{}}}],["getdatabaseinstance(req",{"_index":175,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["getdatabaseoptions",{"_index":1025,"title":{},"body":{"coverage.html":{}}}],["getdatabasestatus",{"_index":987,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["getdbinstance",{"_index":177,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["getdbinstance(token",{"_index":180,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["getlocations",{"_index":254,"title":{},"body":{"interfaces/GtexTissue.html":{},"coverage.html":{}}}],["getnumber",{"_index":968,"title":{},"body":{"coverage.html":{}}}],["getport",{"_index":1026,"title":{},"body":{"coverage.html":{}}}],["getreferenceorganscenehandler",{"_index":1001,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["getspatialplacement",{"_index":991,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["getting",{"_index":329,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["github",{"_index":779,"title":{},"body":{"changelog.html":{}}}],["gizmo",{"_index":615,"title":{},"body":{"changelog.html":{}}}],["globalconfig",{"_index":584,"title":{},"body":{"changelog.html":{}}}],["globalthis",{"_index":1291,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["good",{"_index":831,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":628,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["granted",{"_index":1223,"title":{},"body":{"license.html":{}}}],["graphical",{"_index":447,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":1112,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":562,"title":{},"body":{"changelog.html":{}}}],["gtex",{"_index":461,"title":{},"body":{"changelog.html":{}}}],["gtex_api_url",{"_index":252,"title":{},"body":{"interfaces/GtexTissue.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["gtexroutes",{"_index":1350,"title":{},"body":{"miscellaneous/variables.html":{}}}],["gtextissue",{"_index":218,"title":{"interfaces/GtexTissue.html":{}},"body":{"interfaces/GtexTissue.html":{},"coverage.html":{}}}],["guide",{"_index":822,"title":{},"body":{"changelog.html":{}}}],["hand",{"_index":827,"title":{},"body":{"changelog.html":{}}}],["handleerrors",{"_index":308,"title":{},"body":{"classes/RequestCache.html":{}}}],["handleerrors(key",{"_index":320,"title":{},"body":{"classes/RequestCache.html":{}}}],["happen",{"_index":866,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":798,"title":{},"body":{"changelog.html":{}}}],["hash",{"_index":1138,"title":{},"body":{"dependencies.html":{}}}],["helmet",{"_index":24,"title":{},"body":{"interfaces/AppOptions.html":{},"dependencies.html":{}}}],["help",{"_index":821,"title":{},"body":{"changelog.html":{}}}],["here",{"_index":242,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["hereby",{"_index":1222,"title":{},"body":{"license.html":{}}}],["hex",{"_index":1118,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":915,"title":{},"body":{"changelog.html":{}}}],["highlight",{"_index":529,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":412,"title":{},"body":{"changelog.html":{}}}],["highlights",{"_index":532,"title":{},"body":{"changelog.html":{}}}],["holders",{"_index":1263,"title":{},"body":{"license.html":{}}}],["hooked",{"_index":747,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":426,"title":{},"body":{"changelog.html":{}}}],["hovering",{"_index":633,"title":{},"body":{"changelog.html":{}}}],["hra",{"_index":335,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["http://expressjs.com/en/advanced/best",{"_index":50,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["https://beta",{"_index":1171,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":1183,"title":{},"body":{"index.html":{}}}],["https://gtexportal.org/api/v2/dataset/tissuesitedetail",{"_index":253,"title":{},"body":{"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["https://hubmap",{"_index":1176,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":1175,"title":{},"body":{"index.html":{}}}],["https://humanatlas.io",{"_index":1202,"title":{},"body":{"index.html":{}}}],["https://observablehq.com/@cns",{"_index":1199,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":1178,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":1173,"title":{},"body":{"index.html":{}}}],["https://r5i95k35v5.us",{"_index":1185,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":944,"title":{},"body":{"changelog.html":{}}}],["hubmap",{"_index":201,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["hubmapdataurl",{"_index":197,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["hubmaproutes",{"_index":1348,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hubmaptoken",{"_index":195,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["human",{"_index":332,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["icon",{"_index":926,"title":{},"body":{"changelog.html":{}}}],["icons",{"_index":643,"title":{},"body":{"changelog.html":{}}}],["id",{"_index":585,"title":{},"body":{"changelog.html":{}}}],["idb",{"_index":1121,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":960,"title":{},"body":{"coverage.html":{}}}],["iec",{"_index":793,"title":{},"body":{"changelog.html":{}}}],["image",{"_index":786,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":845,"title":{},"body":{"changelog.html":{}}}],["implementation",{"_index":517,"title":{},"body":{"changelog.html":{}}}],["implemented",{"_index":745,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":896,"title":{},"body":{"changelog.html":{}}}],["implied",{"_index":1254,"title":{},"body":{"license.html":{}}}],["import",{"_index":17,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["improve",{"_index":736,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":481,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":443,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":563,"title":{},"body":{"changelog.html":{}}}],["include",{"_index":803,"title":{},"body":{"changelog.html":{}}}],["included",{"_index":1249,"title":{},"body":{"license.html":{}}}],["includes",{"_index":236,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["including",{"_index":525,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":772,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":890,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":10,"title":{"index.html":{}},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indexes",{"_index":355,"title":{},"body":{"changelog.html":{}}}],["indiana",{"_index":1210,"title":{},"body":{"index.html":{}}}],["individual",{"_index":752,"title":{},"body":{"changelog.html":{}}}],["info",{"_index":3,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{},"index.html":{}}}],["information",{"_index":435,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":848,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":805,"title":{},"body":{"changelog.html":{}}}],["initial",{"_index":665,"title":{},"body":{"changelog.html":{}}}],["instance",{"_index":212,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["instance.then((r",{"_index":213,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["instead",{"_index":656,"title":{},"body":{"changelog.html":{}}}],["instructions",{"_index":575,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":697,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":522,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":804,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":717,"title":{},"body":{"changelog.html":{}}}],["interact",{"_index":680,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":871,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":941,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":0,"title":{"interfaces/AppOptions.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}},"body":{"interfaces/AppOptions.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":2,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":200,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"changelog.html":{}}}],["isdebug",{"_index":969,"title":{},"body":{"coverage.html":{}}}],["issue",{"_index":768,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":404,"title":{},"body":{"changelog.html":{}}}],["it's",{"_index":519,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":923,"title":{},"body":{"changelog.html":{}}}],["itemcount",{"_index":1340,"title":{},"body":{"miscellaneous/variables.html":{}}}],["iu",{"_index":912,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":1200,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":363,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["json",{"_index":18,"title":{},"body":{"interfaces/AppOptions.html":{},"changelog.html":{}}}],["json.parse(data",{"_index":265,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["jsonld",{"_index":264,"title":{},"body":{"interfaces/GtexTissue.html":{},"dependencies.html":{}}}],["jsonld/jsonld",{"_index":230,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["jsonld['@graph",{"_index":266,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["jsonldobj",{"_index":229,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["july",{"_index":870,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":921,"title":{},"body":{"changelog.html":{}}}],["k",{"_index":316,"title":{},"body":{"classes/RequestCache.html":{}}}],["k,args",{"_index":313,"title":{},"body":{"classes/RequestCache.html":{}}}],["key",{"_index":156,"title":{},"body":{"interfaces/CacheOptions.html":{},"classes/RequestCache.html":{}}}],["keyboard",{"_index":919,"title":{},"body":{"changelog.html":{}}}],["keys",{"_index":1331,"title":{},"body":{"miscellaneous/variables.html":{}}}],["keyval",{"_index":1122,"title":{},"body":{"dependencies.html":{}}}],["kidney",{"_index":559,"title":{},"body":{"changelog.html":{}}}],["kind",{"_index":1253,"title":{},"body":{"license.html":{}}}],["known",{"_index":403,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":384,"title":{},"body":{"changelog.html":{}}}],["labs/data",{"_index":1075,"title":{},"body":{"dependencies.html":{}}}],["labs/dispatch",{"_index":1077,"title":{},"body":{"dependencies.html":{}}}],["landmarks",{"_index":424,"title":{},"body":{"changelog.html":{}}}],["larger",{"_index":471,"title":{},"body":{"changelog.html":{}}}],["latest",{"_index":418,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["layers",{"_index":1060,"title":{},"body":{"dependencies.html":{}}}],["ld",{"_index":818,"title":{},"body":{"changelog.html":{}}}],["leak",{"_index":767,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":542,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":826,"title":{},"body":{"changelog.html":{}}}],["left/right",{"_index":560,"title":{},"body":{"changelog.html":{}}}],["length",{"_index":1339,"title":{},"body":{"miscellaneous/variables.html":{}}}],["lengthcalculator",{"_index":1337,"title":{},"body":{"miscellaneous/variables.html":{}}}],["level",{"_index":917,"title":{},"body":{"changelog.html":{}}}],["levels",{"_index":938,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":1267,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1264,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":474,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":728,"title":{},"body":{"changelog.html":{}}}],["license",{"_index":1216,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":536,"title":{},"body":{"changelog.html":{}}}],["limitation",{"_index":1232,"title":{},"body":{"license.html":{}}}],["limited",{"_index":853,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":190,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["link",{"_index":552,"title":{},"body":{"changelog.html":{}}}],["linkage",{"_index":872,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":431,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":504,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":672,"title":{},"body":{"changelog.html":{}}}],["literal",{"_index":224,"title":{},"body":{"interfaces/GtexTissue.html":{},"dependencies.html":{}}}],["little",{"_index":678,"title":{},"body":{"changelog.html":{}}}],["load",{"_index":258,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["loaddatabasesource",{"_index":1027,"title":{},"body":{"coverage.html":{}}}],["loaded",{"_index":873,"title":{},"body":{"changelog.html":{}}}],["loader",{"_index":29,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["loader.ts",{"_index":167,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["loaders.gl/core",{"_index":1064,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":1066,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":1067,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":203,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"changelog.html":{}}}],["local",{"_index":259,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["location",{"_index":773,"title":{},"body":{"changelog.html":{}}}],["locations",{"_index":386,"title":{},"body":{"changelog.html":{}}}],["locations.ts",{"_index":220,"title":{},"body":{"interfaces/GtexTissue.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["lodash",{"_index":1125,"title":{},"body":{"dependencies.html":{}}}],["log",{"_index":1203,"title":{},"body":{"index.html":{}}}],["logging",{"_index":463,"title":{},"body":{"changelog.html":{}}}],["longer",{"_index":653,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":734,"title":{},"body":{"changelog.html":{}}}],["lru",{"_index":137,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["lrucache",{"_index":311,"title":{},"body":{"classes/RequestCache.html":{}}}],["luma.gl/core",{"_index":1068,"title":{},"body":{"dependencies.html":{}}}],["made",{"_index":795,"title":{},"body":{"changelog.html":{}}}],["major",{"_index":395,"title":{},"body":{"changelog.html":{}}}],["makes",{"_index":467,"title":{},"body":{"changelog.html":{}}}],["making",{"_index":514,"title":{},"body":{"changelog.html":{}}}],["male",{"_index":249,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["managers",{"_index":479,"title":{},"body":{"changelog.html":{}}}],["map",{"_index":239,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["mappedentries",{"_index":269,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["mappedinhubmap",{"_index":221,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["march",{"_index":731,"title":{},"body":{"changelog.html":{}}}],["markdown",{"_index":1134,"title":{},"body":{"dependencies.html":{}}}],["match",{"_index":733,"title":{},"body":{"changelog.html":{}}}],["matching",{"_index":71,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["matchingentry",{"_index":279,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["math.gl/core",{"_index":1070,"title":{},"body":{"dependencies.html":{}}}],["math.gl/culling",{"_index":1072,"title":{},"body":{"dependencies.html":{}}}],["max",{"_index":130,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["maxage",{"_index":131,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["mc",{"_index":911,"title":{},"body":{"changelog.html":{}}}],["mean",{"_index":291,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["memory",{"_index":766,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":828,"title":{},"body":{"changelog.html":{}}}],["merchantability",{"_index":1256,"title":{},"body":{"license.html":{}}}],["merge",{"_index":1235,"title":{},"body":{"license.html":{}}}],["metadata",{"_index":881,"title":{},"body":{"changelog.html":{}}}],["method",{"_index":1327,"title":{},"body":{"miscellaneous/variables.html":{}}}],["methods",{"_index":306,"title":{},"body":{"classes/RequestCache.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["middleware/database",{"_index":28,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["mimetype",{"_index":110,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["minor",{"_index":405,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":1280,"title":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":1217,"title":{},"body":{"license.html":{}}}],["mock",{"_index":907,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":663,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":590,"title":{},"body":{"changelog.html":{}}}],["model",{"_index":1087,"title":{},"body":{"dependencies.html":{},"miscellaneous/variables.html":{}}}],["model.json",{"_index":1366,"title":{},"body":{"miscellaneous/variables.html":{}}}],["modify",{"_index":1234,"title":{},"body":{"license.html":{}}}],["modules",{"_index":1277,"title":{"modules.html":{}},"body":{"modules.html":{}}}],["monorepo",{"_index":1161,"title":{},"body":{"index.html":{}}}],["more",{"_index":237,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{},"index.html":{}}}],["moved",{"_index":928,"title":{},"body":{"changelog.html":{}}}],["much",{"_index":469,"title":{},"body":{"changelog.html":{}}}],["multiple",{"_index":1162,"title":{},"body":{"index.html":{}}}],["mutableproperties",{"_index":1032,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["n3",{"_index":1127,"title":{},"body":{"dependencies.html":{}}}],["n=${sexstats.count",{"_index":290,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["name",{"_index":92,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"classes/RequestCache.html":{}}}],["names",{"_index":606,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["navigation",{"_index":920,"title":{},"body":{"changelog.html":{}}}],["need",{"_index":375,"title":{},"body":{"changelog.html":{}}}],["needed",{"_index":739,"title":{},"body":{"changelog.html":{}}}],["needs",{"_index":746,"title":{},"body":{"changelog.html":{}}}],["network",{"_index":1207,"title":{},"body":{"index.html":{}}}],["never",{"_index":14,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["new",{"_index":96,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{},"coverage.html":{}}}],["next",{"_index":151,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["next('router",{"_index":1313,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ng5",{"_index":1129,"title":{},"body":{"dependencies.html":{}}}],["ngx",{"_index":1132,"title":{},"body":{"dependencies.html":{}}}],["ngxs",{"_index":1074,"title":{},"body":{"dependencies.html":{}}}],["ngxs/logger",{"_index":1080,"title":{},"body":{"dependencies.html":{}}}],["ngxs/storage",{"_index":1083,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":1084,"title":{},"body":{"dependencies.html":{}}}],["nih",{"_index":1213,"title":{},"body":{"index.html":{}}}],["node",{"_index":228,"title":{},"body":{"interfaces/GtexTissue.html":{},"dependencies.html":{}}}],["nodeendpoint",{"_index":104,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["noninfringement",{"_index":1260,"title":{},"body":{"license.html":{}}}],["note",{"_index":233,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["notebooks",{"_index":361,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":1194,"title":{},"body":{"index.html":{}}}],["notice",{"_index":769,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":472,"title":{},"body":{"changelog.html":{}}}],["nullish",{"_index":193,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["number",{"_index":132,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["numeric",{"_index":774,"title":{},"body":{"changelog.html":{}}}],["object",{"_index":1137,"title":{},"body":{"dependencies.html":{}}}],["obtaining",{"_index":1227,"title":{},"body":{"license.html":{}}}],["occurences",{"_index":1361,"title":{},"body":{"miscellaneous/variables.html":{}}}],["off/on",{"_index":743,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":868,"title":{},"body":{"changelog.html":{}}}],["old",{"_index":1177,"title":{},"body":{"index.html":{}}}],["one",{"_index":812,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["ones",{"_index":240,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["online",{"_index":878,"title":{},"body":{"changelog.html":{}}}],["ontological",{"_index":948,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":820,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":371,"title":{},"body":{"changelog.html":{}}}],["ontologyterms",{"_index":1324,"title":{},"body":{"miscellaneous/variables.html":{}}}],["opacities",{"_index":751,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":724,"title":{},"body":{"changelog.html":{}}}],["openapi",{"_index":516,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/js",{"_index":1190,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":1192,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":1191,"title":{},"body":{"index.html":{}}}],["openapiroute",{"_index":984,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["optimization",{"_index":677,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":860,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":715,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":528,"title":{},"body":{"changelog.html":{}}}],["optional",{"_index":12,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"classes/RequestCache.html":{},"changelog.html":{}}}],["options",{"_index":41,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["options.cache",{"_index":215,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["options.database",{"_index":42,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["options.datasources.map(s",{"_index":205,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["options.hubmaptoken",{"_index":196,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["organ",{"_index":392,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["organs",{"_index":425,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["organs.json",{"_index":1372,"title":{},"body":{"miscellaneous/variables.html":{}}}],["organs/anatomical",{"_index":753,"title":{},"body":{"changelog.html":{}}}],["originalsend",{"_index":161,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["originalsend.call(res",{"_index":164,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["originalurl",{"_index":152,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["orthographic",{"_index":621,"title":{},"body":{"changelog.html":{}}}],["ot2od026671",{"_index":1215,"title":{},"body":{"index.html":{}}}],["otherwise",{"_index":1272,"title":{},"body":{"license.html":{}}}],["out",{"_index":1274,"title":{},"body":{"license.html":{}}}],["over",{"_index":781,"title":{},"body":{"changelog.html":{}}}],["overall",{"_index":414,"title":{},"body":{"changelog.html":{}}}],["overlays",{"_index":939,"title":{},"body":{"changelog.html":{}}}],["overview",{"_index":1278,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["overwritten",{"_index":1328,"title":{},"body":{"miscellaneous/variables.html":{}}}],["p",{"_index":902,"title":{},"body":{"changelog.html":{}}}],["package",{"_index":478,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["pages",{"_index":573,"title":{},"body":{"changelog.html":{}}}],["paired",{"_index":555,"title":{},"body":{"changelog.html":{}}}],["pane",{"_index":704,"title":{},"body":{"changelog.html":{}}}],["panel",{"_index":570,"title":{},"body":{"changelog.html":{}}}],["parameters",{"_index":91,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"classes/RequestCache.html":{}}}],["parent",{"_index":557,"title":{},"body":{"changelog.html":{}}}],["parsearray",{"_index":1009,"title":{},"body":{"coverage.html":{}}}],["parseboolean",{"_index":970,"title":{},"body":{"coverage.html":{}}}],["parseboolean(query.cache",{"_index":155,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["parseboolean(value",{"_index":139,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["parsedatabasesources",{"_index":1028,"title":{},"body":{"coverage.html":{}}}],["parsedqs",{"_index":26,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["parseminmaxrange",{"_index":1010,"title":{},"body":{"coverage.html":{}}}],["parsenumber",{"_index":971,"title":{},"body":{"coverage.html":{}}}],["parser",{"_index":21,"title":{},"body":{"interfaces/AppOptions.html":{},"dependencies.html":{}}}],["parserange",{"_index":1011,"title":{},"body":{"coverage.html":{}}}],["parsesex",{"_index":1012,"title":{},"body":{"coverage.html":{}}}],["parsespatial",{"_index":1013,"title":{},"body":{"coverage.html":{}}}],["parsestring",{"_index":988,"title":{},"body":{"coverage.html":{}}}],["partial",{"_index":1321,"title":{},"body":{"miscellaneous/variables.html":{}}}],["particular",{"_index":1258,"title":{},"body":{"license.html":{}}}],["partly",{"_index":730,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":646,"title":{},"body":{"changelog.html":{}}}],["patchglobal",{"_index":981,"title":{},"body":{"coverage.html":{}}}],["path",{"_index":1115,"title":{},"body":{"dependencies.html":{}}}],["peek",{"_index":1330,"title":{},"body":{"miscellaneous/variables.html":{}}}],["performance",{"_index":482,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":1221,"title":{},"body":{"license.html":{}}}],["permit",{"_index":1242,"title":{},"body":{"license.html":{}}}],["person",{"_index":1226,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1243,"title":{},"body":{"license.html":{}}}],["pick",{"_index":390,"title":{},"body":{"changelog.html":{}}}],["pickbytype",{"_index":1293,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["placeholder",{"_index":13,"title":{},"body":{"interfaces/AppOptions.html":{},"changelog.html":{}}}],["placement",{"_index":383,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["placement.ts",{"_index":990,"title":{},"body":{"coverage.html":{}}}],["placenta",{"_index":421,"title":{},"body":{"changelog.html":{}}}],["player",{"_index":1054,"title":{},"body":{"dependencies.html":{}}}],["plugin",{"_index":1081,"title":{},"body":{"dependencies.html":{}}}],["plus",{"_index":399,"title":{},"body":{"changelog.html":{}}}],["popup",{"_index":880,"title":{},"body":{"changelog.html":{}}}],["portal",{"_index":526,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["portal's",{"_index":852,"title":{},"body":{"changelog.html":{}}}],["portions",{"_index":1251,"title":{},"body":{"license.html":{}}}],["position",{"_index":465,"title":{},"body":{"changelog.html":{}}}],["possible",{"_index":796,"title":{},"body":{"changelog.html":{}}}],["post('/get",{"_index":1342,"title":{},"body":{"miscellaneous/variables.html":{}}}],["practice",{"_index":51,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["preferences",{"_index":602,"title":{},"body":{"changelog.html":{}}}],["preparation",{"_index":913,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":937,"title":{},"body":{"changelog.html":{}}}],["prevent",{"_index":454,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":618,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":758,"title":{},"body":{"changelog.html":{}}}],["previously",{"_index":506,"title":{},"body":{"changelog.html":{}}}],["private",{"_index":307,"title":{},"body":{"classes/RequestCache.html":{}}}],["process",{"_index":895,"title":{},"body":{"changelog.html":{}}}],["process.env",{"_index":1317,"title":{},"body":{"miscellaneous/variables.html":{}}}],["processed",{"_index":843,"title":{},"body":{"changelog.html":{}}}],["processing",{"_index":603,"title":{},"body":{"changelog.html":{}}}],["processparameter",{"_index":1014,"title":{},"body":{"coverage.html":{}}}],["production",{"_index":493,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":473,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":900,"title":{},"body":{"changelog.html":{}}}],["projects",{"_index":1163,"title":{},"body":{"index.html":{}}}],["projects/.../auto",{"_index":1284,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../browser.ts",{"_index":1298,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../ccf",{"_index":1294,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../database",{"_index":1285,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../environment.ts",{"_index":1296,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../forward",{"_index":1287,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../index.ts",{"_index":1300,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../parse",{"_index":1302,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../polyfills.ts",{"_index":1292,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../rui",{"_index":1301,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../server.ts",{"_index":1289,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../use",{"_index":1299,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/ccf",{"_index":6,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":111,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["promisifieddorequest",{"_index":309,"title":{},"body":{"classes/RequestCache.html":{}}}],["promisifieddorequest(key",{"_index":322,"title":{},"body":{"classes/RequestCache.html":{}}}],["properties",{"_index":11,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["provided",{"_index":952,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["providers",{"_index":533,"title":{},"body":{"changelog.html":{}}}],["prune",{"_index":136,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["public",{"_index":79,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"changelog.html":{}}}],["publish",{"_index":1236,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":476,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":1259,"title":{},"body":{"license.html":{}}}],["pushed",{"_index":692,"title":{},"body":{"changelog.html":{}}}],["python",{"_index":362,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["qs",{"_index":25,"title":{},"body":{"interfaces/AppOptions.html":{},"dependencies.html":{}}}],["qs.parse(str",{"_index":47,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["qtoken",{"_index":184,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["qualitative",{"_index":856,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":535,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":374,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["query",{"_index":109,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"changelog.html":{}}}],["query.ts",{"_index":1004,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["querying",{"_index":430,"title":{},"body":{"changelog.html":{}}}],["queryparameterstofilter",{"_index":1015,"title":{},"body":{"coverage.html":{}}}],["quickly",{"_index":836,"title":{},"body":{"changelog.html":{}}}],["r.dispose",{"_index":214,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["r.json",{"_index":268,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["range",{"_index":294,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["rawtoken",{"_index":301,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["rc.1",{"_index":862,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":1140,"title":{},"body":{"dependencies.html":{}}}],["rdfjs",{"_index":1056,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":1086,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":1141,"title":{},"body":{"dependencies.html":{}}}],["readable",{"_index":1143,"title":{},"body":{"dependencies.html":{}}}],["readfilesync",{"_index":225,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["readfilesync(source",{"_index":260,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["readonly",{"_index":82,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"classes/RequestCache.html":{}}}],["readonlyproperties",{"_index":1033,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["real",{"_index":877,"title":{},"body":{"changelog.html":{}}}],["rectify",{"_index":512,"title":{},"body":{"changelog.html":{}}}],["reduce",{"_index":682,"title":{},"body":{"changelog.html":{}}}],["reduction",{"_index":445,"title":{},"body":{"changelog.html":{}}}],["reference",{"_index":333,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["refernced",{"_index":556,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":645,"title":{},"body":{"changelog.html":{}}}],["regions",{"_index":940,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":1103,"title":{},"body":{"dependencies.html":{}}}],["registered",{"_index":507,"title":{},"body":{"changelog.html":{}}}],["registration",{"_index":545,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["registrations",{"_index":669,"title":{},"body":{"changelog.html":{}}}],["registrations#1",{"_index":349,"title":{},"body":{"changelog.html":{}}}],["related",{"_index":721,"title":{},"body":{"changelog.html":{}}}],["release",{"_index":357,"title":{},"body":{"changelog.html":{}}}],["releaseproxy",{"_index":101,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["reliability",{"_index":771,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":614,"title":{},"body":{"changelog.html":{}}}],["removed",{"_index":587,"title":{},"body":{"changelog.html":{}}}],["removes",{"_index":720,"title":{},"body":{"changelog.html":{}}}],["repository",{"_index":1160,"title":{},"body":{"index.html":{}}}],["req",{"_index":149,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["req.app.get('database",{"_index":300,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["req.query.token",{"_index":185,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["req['getdatabase",{"_index":178,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["request",{"_index":168,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"classes/RequestCache.html":{}}}],["requestcache",{"_index":171,"title":{"classes/RequestCache.html":{}},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"coverage.html":{}}}],["requesthandler",{"_index":133,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["required",{"_index":824,"title":{},"body":{"changelog.html":{}}}],["res",{"_index":150,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["res.json",{"_index":162,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["res.json(cachedresponse",{"_index":160,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["res.json(result",{"_index":303,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["res.send",{"_index":1304,"title":{},"body":{"miscellaneous/variables.html":{}}}],["res.sendfile(apifile",{"_index":1307,"title":{},"body":{"miscellaneous/variables.html":{}}}],["res.status(500).json",{"_index":304,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["reset",{"_index":1335,"title":{},"body":{"miscellaneous/variables.html":{}}}],["resets",{"_index":647,"title":{},"body":{"changelog.html":{}}}],["resolve('ccf",{"_index":1306,"title":{},"body":{"miscellaneous/variables.html":{}}}],["resolved",{"_index":698,"title":{},"body":{"changelog.html":{}}}],["respond",{"_index":638,"title":{},"body":{"changelog.html":{}}}],["response",{"_index":235,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["response?.data?.filter(entry",{"_index":270,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["restriction",{"_index":1231,"title":{},"body":{"license.html":{}}}],["result",{"_index":70,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["result.ts",{"_index":1020,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["results",{"_index":72,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["resultslist.find(entry",{"_index":280,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["resultslist.indexof(matchingentry",{"_index":284,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["resultslist[index].label",{"_index":288,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["resultslist[index].sex",{"_index":297,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["return",{"_index":46,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"miscellaneous/variables.html":{}}}],["returns",{"_index":319,"title":{},"body":{"classes/RequestCache.html":{}}}],["rforeach",{"_index":1334,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rgb",{"_index":1119,"title":{},"body":{"dependencies.html":{}}}],["right",{"_index":391,"title":{},"body":{"changelog.html":{}}}],["rights",{"_index":1233,"title":{},"body":{"license.html":{}}}],["rnaseqsamplesummary",{"_index":222,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["root",{"_index":655,"title":{},"body":{"changelog.html":{}}}],["rotates",{"_index":616,"title":{},"body":{"changelog.html":{}}}],["round",{"_index":756,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":775,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":428,"title":{},"body":{"changelog.html":{}}}],["router",{"_index":1308,"title":{},"body":{"miscellaneous/variables.html":{}}}],["routes",{"_index":30,"title":{},"body":{"interfaces/AppOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["routes/browser",{"_index":32,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["routes/v1",{"_index":34,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ru/common",{"_index":1038,"title":{},"body":{"dependencies.html":{}}}],["rui",{"_index":385,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["rui_locations.jsonld",{"_index":462,"title":{},"body":{"changelog.html":{}}}],["ruilocations",{"_index":298,"title":{},"body":{"interfaces/GtexTissue.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rxjs",{"_index":1145,"title":{},"body":{"dependencies.html":{}}}],["s",{"_index":206,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["s.endswith('hubmap/rui_locations.jsonld",{"_index":207,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["sample",{"_index":951,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["samples",{"_index":684,"title":{},"body":{"changelog.html":{}}}],["saver",{"_index":1108,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":901,"title":{},"body":{"changelog.html":{}}}],["scene",{"_index":410,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["scene.ts",{"_index":1000,"title":{},"body":{"coverage.html":{}}}],["scheduled",{"_index":699,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":905,"title":{},"body":{"changelog.html":{}}}],["schemes",{"_index":857,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":1208,"title":{},"body":{"index.html":{}}}],["script",{"_index":57,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["search",{"_index":389,"title":{},"body":{"changelog.html":{}}}],["searches",{"_index":402,"title":{},"body":{"changelog.html":{}}}],["section",{"_index":670,"title":{},"body":{"changelog.html":{}}}],["security.html",{"_index":52,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["see",{"_index":432,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["select",{"_index":586,"title":{},"body":{"changelog.html":{}}}],["selected",{"_index":413,"title":{},"body":{"changelog.html":{}}}],["selecting",{"_index":468,"title":{},"body":{"changelog.html":{}}}],["selector",{"_index":466,"title":{},"body":{"changelog.html":{}}}],["selects",{"_index":922,"title":{},"body":{"changelog.html":{}}}],["selecttoken",{"_index":978,"title":{},"body":{"coverage.html":{}}}],["selecttoken(token",{"_index":183,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["self",{"_index":59,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["sell",{"_index":1240,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":936,"title":{},"body":{"changelog.html":{}}}],["sennet",{"_index":487,"title":{},"body":{"changelog.html":{}}}],["sensitive",{"_index":345,"title":{},"body":{"changelog.html":{}}}],["server",{"_index":908,"title":{},"body":{"changelog.html":{}}}],["set",{"_index":598,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["setifdefined",{"_index":1016,"title":{},"body":{"coverage.html":{}}}],["setup",{"_index":666,"title":{},"body":{"changelog.html":{}}}],["sex",{"_index":278,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["sexes",{"_index":811,"title":{},"body":{"changelog.html":{}}}],["sexstats",{"_index":285,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["sexstats.agemax",{"_index":296,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["sexstats.agemean",{"_index":293,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["sexstats.agemin",{"_index":295,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["sex}s",{"_index":289,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["shall",{"_index":1248,"title":{},"body":{"license.html":{}}}],["shared",{"_index":607,"title":{},"body":{"changelog.html":{}}}],["shortest",{"_index":1114,"title":{},"body":{"dependencies.html":{}}}],["show",{"_index":641,"title":{},"body":{"changelog.html":{}}}],["showing",{"_index":842,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":851,"title":{},"body":{"changelog.html":{}}}],["shows",{"_index":538,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":343,"title":{},"body":{"changelog.html":{}}}],["sides",{"_index":813,"title":{},"body":{"changelog.html":{}}}],["significant",{"_index":650,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":569,"title":{},"body":{"changelog.html":{}}}],["simplifies",{"_index":664,"title":{},"body":{"changelog.html":{}}}],["sites",{"_index":548,"title":{},"body":{"changelog.html":{}}}],["sizable",{"_index":770,"title":{},"body":{"changelog.html":{}}}],["slider",{"_index":1130,"title":{},"body":{"dependencies.html":{}}}],["slightly",{"_index":510,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":679,"title":{},"body":{"changelog.html":{}}}],["software",{"_index":1165,"title":{},"body":{"index.html":{},"license.html":{}}}],["solved",{"_index":765,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":833,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":480,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":674,"title":{},"body":{"changelog.html":{}}}],["source",{"_index":4,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["sources",{"_index":594,"title":{},"body":{"changelog.html":{}}}],["sparc",{"_index":668,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":373,"title":{},"body":{"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["sparqlquery",{"_index":81,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["sparqlqueryfunction",{"_index":87,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"miscellaneous/typealiases.html":{}}}],["spatial",{"_index":397,"title":{},"body":{"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialsearches",{"_index":1326,"title":{},"body":{"miscellaneous/variables.html":{}}}],["spec",{"_index":231,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["spec.yaml",{"_index":1189,"title":{},"body":{"index.html":{},"miscellaneous/variables.html":{}}}],["specific",{"_index":530,"title":{},"body":{"changelog.html":{}}}],["specification",{"_index":1188,"title":{},"body":{"index.html":{}}}],["speed",{"_index":442,"title":{},"body":{"changelog.html":{}}}],["spinal",{"_index":422,"title":{},"body":{"changelog.html":{}}}],["spinning",{"_index":906,"title":{},"body":{"changelog.html":{}}}],["sprint",{"_index":702,"title":{},"body":{"changelog.html":{}}}],["src",{"_index":58,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["stage",{"_index":744,"title":{},"body":{"changelog.html":{}}}],["staging",{"_index":494,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["standalone",{"_index":760,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":817,"title":{},"body":{"changelog.html":{}}}],["standards",{"_index":910,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":1169,"title":{},"body":{"index.html":{}}}],["started",{"_index":330,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["starts",{"_index":958,"title":{},"body":{"changelog.html":{}}}],["startserver",{"_index":1029,"title":{},"body":{"coverage.html":{}}}],["startup",{"_index":662,"title":{},"body":{"changelog.html":{}}}],["statements",{"_index":961,"title":{},"body":{"coverage.html":{}}}],["status",{"_index":83,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"miscellaneous/variables.html":{}}}],["status.ts",{"_index":986,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["stay",{"_index":956,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":687,"title":{},"body":{"changelog.html":{}}}],["stories",{"_index":898,"title":{},"body":{"changelog.html":{}}}],["str",{"_index":44,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["stream",{"_index":1144,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":1142,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":45,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["string).includes(sex",{"_index":283,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["structure",{"_index":716,"title":{},"body":{"changelog.html":{}}}],["structures",{"_index":705,"title":{},"body":{"changelog.html":{}}}],["styles",{"_index":932,"title":{},"body":{"changelog.html":{}}}],["styling",{"_index":565,"title":{},"body":{"changelog.html":{}}}],["subject",{"_index":1245,"title":{},"body":{"license.html":{}}}],["sublicense",{"_index":1238,"title":{},"body":{"license.html":{}}}],["substantial",{"_index":1250,"title":{},"body":{"license.html":{}}}],["such",{"_index":372,"title":{},"body":{"changelog.html":{}}}],["support",{"_index":377,"title":{},"body":{"changelog.html":{}}}],["swiper",{"_index":1148,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":387,"title":{},"body":{"changelog.html":{}}}],["switched",{"_index":778,"title":{},"body":{"changelog.html":{}}}],["symbol('indicator",{"_index":1318,"title":{},"body":{"miscellaneous/variables.html":{}}}],["sync",{"_index":617,"title":{},"body":{"changelog.html":{}}}],["s}?token=${hubmaptoken",{"_index":208,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["table",{"_index":1037,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":502,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":1036,"title":{},"body":{"coverage.html":{}}}],["tagging",{"_index":815,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":527,"title":{},"body":{"changelog.html":{}}}],["technologies",{"_index":929,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["technology",{"_index":748,"title":{},"body":{"changelog.html":{}}}],["telemetry",{"_index":610,"title":{},"body":{"changelog.html":{}}}],["term",{"_index":1360,"title":{},"body":{"miscellaneous/variables.html":{}}}],["terms",{"_index":369,"title":{},"body":{"changelog.html":{}}}],["test",{"_index":884,"title":{},"body":{"changelog.html":{}}}],["testing",{"_index":823,"title":{},"body":{"changelog.html":{}}}],["theme",{"_index":488,"title":{},"body":{"changelog.html":{}}}],["themes",{"_index":486,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":483,"title":{},"body":{"changelog.html":{}}}],["this.dorequest(key",{"_index":327,"title":{},"body":{"classes/RequestCache.html":{}}}],["this.handleerrors(key",{"_index":326,"title":{},"body":{"classes/RequestCache.html":{}}}],["this.promisifieddorequest(key",{"_index":325,"title":{},"body":{"classes/RequestCache.html":{}}}],["through",{"_index":835,"title":{},"body":{"changelog.html":{}}}],["throw_if_not_found",{"_index":974,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["throwindicator",{"_index":1295,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["thrown",{"_index":1320,"title":{},"body":{"miscellaneous/variables.html":{}}}],["thumbnails",{"_index":714,"title":{},"body":{"changelog.html":{}}}],["tied",{"_index":718,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":844,"title":{},"body":{"changelog.html":{}}}],["timeouts",{"_index":455,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":446,"title":{},"body":{"changelog.html":{}}}],["tissue",{"_index":272,"title":{},"body":{"interfaces/GtexTissue.html":{},"changelog.html":{}}}],["tissueinfo",{"_index":277,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["tissueinfo.rnaseqsamplesummary.female",{"_index":287,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["tissueinfo.rnaseqsamplesummary.male",{"_index":286,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["tissues",{"_index":508,"title":{},"body":{"changelog.html":{}}}],["tissuesitedetailid",{"_index":223,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["tmc",{"_index":947,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["toggle",{"_index":484,"title":{},"body":{"changelog.html":{}}}],["token",{"_index":174,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["tool",{"_index":761,"title":{},"body":{"changelog.html":{}}}],["tort",{"_index":1271,"title":{},"body":{"license.html":{}}}],["totalcount",{"_index":243,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["tracking/telemetry",{"_index":630,"title":{},"body":{"changelog.html":{}}}],["transparency",{"_index":762,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":782,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":903,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["true",{"_index":49,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/CacheOptions.html":{},"miscellaneous/variables.html":{}}}],["try",{"_index":255,"title":{},"body":{"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{}}}],["tryjsonparse",{"_index":1030,"title":{},"body":{"coverage.html":{}}}],["ts",{"_index":1150,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":1153,"title":{},"body":{"dependencies.html":{}}}],["tuned",{"_index":957,"title":{},"body":{"changelog.html":{}}}],["turn",{"_index":742,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":722,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":719,"title":{},"body":{"changelog.html":{}}}],["tutorial",{"_index":589,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":855,"title":{},"body":{"changelog.html":{}}}],["type",{"_index":15,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":1281,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typeof",{"_index":186,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["types",{"_index":459,"title":{},"body":{"changelog.html":{}}}],["types/lru",{"_index":1088,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":191,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":918,"title":{},"body":{"changelog.html":{}}}],["ufl",{"_index":713,"title":{},"body":{"changelog.html":{}}}],["ui",{"_index":521,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["ui.netlify.app",{"_index":1172,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":1182,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":1179,"title":{},"body":{"index.html":{}}}],["ui/organ",{"_index":1181,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":1180,"title":{},"body":{"index.html":{}}}],["uis",{"_index":359,"title":{},"body":{"changelog.html":{}}}],["undefined",{"_index":143,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"miscellaneous/variables.html":{}}}],["university",{"_index":1211,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":122,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"classes/RequestCache.html":{}}}],["unnecessary",{"_index":613,"title":{},"body":{"changelog.html":{}}}],["unsafe",{"_index":60,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["unselect",{"_index":681,"title":{},"body":{"changelog.html":{}}}],["until",{"_index":726,"title":{},"body":{"changelog.html":{}}}],["up",{"_index":437,"title":{},"body":{"changelog.html":{}}}],["update",{"_index":381,"title":{},"body":{"changelog.html":{}}}],["updated",{"_index":344,"title":{},"body":{"changelog.html":{}}}],["updateentry",{"_index":995,"title":{},"body":{"coverage.html":{}}}],["updateentry(results",{"_index":273,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["updateentry(resultslist",{"_index":276,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["updates",{"_index":427,"title":{},"body":{"changelog.html":{}}}],["upgraded",{"_index":840,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":924,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":635,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":757,"title":{},"body":{"changelog.html":{}}}],["url",{"_index":153,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/GtexTissue.html":{}}}],["urlencoded",{"_index":19,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["usage",{"_index":360,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":1195,"title":{},"body":{"index.html":{}}}],["use",{"_index":198,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["use('/ccf.owl.n3store.json",{"_index":1344,"title":{},"body":{"miscellaneous/variables.html":{}}}],["use('/db",{"_index":1341,"title":{},"body":{"miscellaneous/variables.html":{}}}],["use('/gtex",{"_index":1349,"title":{},"body":{"miscellaneous/variables.html":{}}}],["use('/hubmap",{"_index":1347,"title":{},"body":{"miscellaneous/variables.html":{}}}],["use('/sparql",{"_index":1343,"title":{},"body":{"miscellaneous/variables.html":{}}}],["use(cacheresponses",{"_index":1346,"title":{},"body":{"miscellaneous/variables.html":{}}}],["use(checkroutesenabled",{"_index":1314,"title":{},"body":{"miscellaneous/variables.html":{}}}],["usecache",{"_index":154,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["usecachedresult",{"_index":1021,"title":{},"body":{"coverage.html":{}}}],["usecachedresult('ccf.owl.n3store.json",{"_index":1345,"title":{},"body":{"miscellaneous/variables.html":{}}}],["usecachedresult('cell",{"_index":1368,"title":{},"body":{"miscellaneous/variables.html":{}}}],["usecachedresult('ontology",{"_index":1365,"title":{},"body":{"miscellaneous/variables.html":{}}}],["usecachedresult('reference",{"_index":1371,"title":{},"body":{"miscellaneous/variables.html":{}}}],["usecase",{"_index":1201,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":1198,"title":{},"body":{"index.html":{}}}],["used",{"_index":741,"title":{},"body":{"changelog.html":{}}}],["usedefaults",{"_index":55,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["user",{"_index":336,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["user/os",{"_index":601,"title":{},"body":{"changelog.html":{}}}],["users",{"_index":943,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":620,"title":{},"body":{"changelog.html":{}}}],["using",{"_index":572,"title":{},"body":{"changelog.html":{}}}],["utf",{"_index":262,"title":{},"body":{"interfaces/GtexTissue.html":{}}}],["utilities",{"_index":608,"title":{},"body":{"changelog.html":{}}}],["utils/auto",{"_index":135,"title":{},"body":{"interfaces/CacheOptions.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["utils/ccf",{"_index":170,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["utils/request",{"_index":172,"title":{},"body":{"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{},"interfaces/GtexTissue.html":{}}}],["uuid",{"_index":1154,"title":{},"body":{"dependencies.html":{}}}],["v",{"_index":324,"title":{},"body":{"classes/RequestCache.html":{}}}],["v1.1",{"_index":503,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":368,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":358,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":740,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":505,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":497,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":457,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":419,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":382,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":433,"title":{},"body":{"changelog.html":{}}}],["v1routes",{"_index":33,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["v2.1.0",{"_index":366,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":354,"title":{},"body":{"changelog.html":{}}}],["v3",{"_index":388,"title":{},"body":{"changelog.html":{}}}],["value",{"_index":95,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/CacheOptions.html":{},"miscellaneous/variables.html":{}}}],["values",{"_index":1332,"title":{},"body":{"miscellaneous/variables.html":{}}}],["value}`.tolowercase",{"_index":144,"title":{},"body":{"interfaces/CacheOptions.html":{}}}],["variable",{"_index":972,"title":{},"body":{"coverage.html":{}}}],["variables",{"_index":1297,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["version",{"_index":518,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["very",{"_index":830,"title":{},"body":{"changelog.html":{}}}],["via",{"_index":452,"title":{},"body":{"changelog.html":{}}}],["video",{"_index":636,"title":{},"body":{"changelog.html":{}}}],["view",{"_index":619,"title":{},"body":{"changelog.html":{}}}],["viewer",{"_index":707,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":408,"title":{},"body":{"changelog.html":{}}}],["views",{"_index":622,"title":{},"body":{"changelog.html":{}}}],["visual",{"_index":406,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":671,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":841,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":88,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/GtexTissue.html":{},"classes/RequestCache.html":{}}}],["vs",{"_index":583,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":953,"title":{},"body":{"changelog.html":{}}}],["walkthrough",{"_index":1197,"title":{},"body":{"index.html":{}}}],["warming",{"_index":451,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":864,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":1255,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1252,"title":{},"body":{"license.html":{}}}],["web",{"_index":449,"title":{},"body":{"changelog.html":{}}}],["webcomponent",{"_index":582,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":1089,"title":{},"body":{"dependencies.html":{}}}],["webpages",{"_index":524,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":1167,"title":{},"body":{"index.html":{}}}],["week",{"_index":959,"title":{},"body":{"changelog.html":{}}}],["whether",{"_index":1268,"title":{},"body":{"license.html":{}}}],["whole",{"_index":955,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":640,"title":{},"body":{"changelog.html":{}}}],["within",{"_index":711,"title":{},"body":{"changelog.html":{}}}],["without",{"_index":543,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["worker",{"_index":107,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"interfaces/DatabaseCacheOptions.html":{},"interfaces/DatabaseLoaderOptions.html":{}}}],["worker('./projects/ccf",{"_index":115,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["worker.terminate",{"_index":126,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["worker.ts",{"_index":78,"title":{},"body":{"classes/CCFDatabaseInstance.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["worker.ts:10",{"_index":90,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["worker.ts:12",{"_index":93,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["worker_threads",{"_index":108,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["workerdata",{"_index":118,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["workflows",{"_index":784,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":511,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":802,"title":{},"body":{"changelog.html":{}}}],["wrap",{"_index":102,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["wrap(nodeendpoint(worker",{"_index":120,"title":{},"body":{"classes/CCFDatabaseInstance.html":{}}}],["youtube",{"_index":550,"title":{},"body":{"changelog.html":{}}}],["zone.js",{"_index":1156,"title":{},"body":{"dependencies.html":{}}}]],"pipeline":["stemmer"]}, + "store": {"interfaces/AppOptions.html":{"url":"interfaces/AppOptions.html","title":"interface - AppOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AppOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-api/src/lib/app.ts\n \n\n\n\n \n Extends\n \n \n DatabaseLoaderOptions\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n placeholder\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n placeholder\n \n \n \n \n \n \n \n \n placeholder: never\n\n \n \n\n\n \n \n Type : never\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { json, urlencoded } from 'body-parser';\nimport cors from 'cors';\nimport express, { Express } from 'express';\nimport helmet from 'helmet';\nimport qs, { ParsedQs } from 'qs';\n\nimport { databaseLoader, DatabaseLoaderOptions } from './middleware/database-loader';\nimport { routes as browserRoutes } from './routes/browser';\nimport { routes as v1Routes } from './routes/v1';\n\n\nexport interface AppOptions extends DatabaseLoaderOptions {\n placeholder?: never;\n}\n\n\nexport function createApp(options: AppOptions): Express {\n const app = express();\n\n app.set('database-options', options.database);\n\n app.set('query parser', function (str: string): ParsedQs {\n return qs.parse(str, { allowDots: true });\n });\n\n // http://expressjs.com/en/advanced/best-practice-security.html\n app.use(helmet({\n contentSecurityPolicy: {\n useDefaults: true,\n directives: {\n 'script-src': ['\\'self\\'', '\\'unsafe-eval\\'', 'cdn.jsdelivr.net'],\n 'connect-src': ['*'],\n }\n }\n }));\n app.use(cors());\n\n app.use(urlencoded());\n app.use(json());\n\n app.use(databaseLoader(options));\n\n app.use('/', browserRoutes);\n app.use('/v1', v1Routes);\n\n return app;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CCFDatabaseInstance.html":{"url":"classes/CCFDatabaseInstance.html","title":"class - CCFDatabaseInstance","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CCFDatabaseInstance\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-api/src/lib/utils/ccf-database-worker.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n database\n \n \n Public\n dispose\n \n \n Public\n sparqlQuery\n \n \n Readonly\n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(database: CCFDatabase, sparqlQuery: SparqlQueryFunction, dispose: () => void)\n \n \n \n \n Defined in projects/ccf-api/src/lib/utils/ccf-database-worker.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n database\n \n \n CCFDatabase\n \n \n \n No\n \n \n \n \n sparqlQuery\n \n \n SparqlQueryFunction\n \n \n \n No\n \n \n \n \n dispose\n \n \n function\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n database\n \n \n \n \n \n \n Type : CCFDatabase\n\n \n \n \n \n Defined in projects/ccf-api/src/lib/utils/ccf-database-worker.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n dispose\n \n \n \n \n \n \n Type : function\n\n \n \n \n \n Defined in projects/ccf-api/src/lib/utils/ccf-database-worker.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n sparqlQuery\n \n \n \n \n \n \n Type : SparqlQueryFunction\n\n \n \n \n \n Defined in projects/ccf-api/src/lib/utils/ccf-database-worker.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n status\n \n \n \n \n \n \n Default value : new CCFDatabaseStatusTracker(this.database)\n \n \n \n \n Defined in projects/ccf-api/src/lib/utils/ccf-database-worker.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { CCFDatabase, CCFDatabaseOptions, CCFDatabaseStatusTracker } from 'ccf-database';\nimport { releaseProxy, wrap } from 'comlink';\nimport nodeEndpoint from 'comlink/dist/umd/node-adapter';\nimport { Worker } from 'worker_threads';\n\n\nexport type SparqlQueryFunction = (query: string, mimetype: string) => Promise;\n\nexport class CCFDatabaseInstance {\n readonly status = new CCFDatabaseStatusTracker(this.database);\n\n constructor(public database: CCFDatabase, public sparqlQuery: SparqlQueryFunction, public dispose: () => Promise) { }\n}\n\nexport async function createCCFDatabaseWorker(options: CCFDatabaseOptions): Promise {\n const worker = new Worker('./projects/ccf-api/ccf-database.worker.js', { workerData: { options } });\n const dbWorker = wrap(nodeEndpoint(worker));\n return new CCFDatabaseInstance(\n dbWorker.database as unknown as CCFDatabase,\n dbWorker.sparqlQuery,\n async () => {\n dbWorker[releaseProxy]();\n await worker.terminate();\n });\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CacheOptions.html":{"url":"interfaces/CacheOptions.html","title":"interface - CacheOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CacheOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-api/src/lib/middleware/response-cache.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n max\n \n \n \n Optional\n \n maxAge\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n max\n \n \n \n \n \n \n \n \n max: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n maxAge\n \n \n \n \n \n \n \n \n maxAge: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { RequestHandler } from 'express';\nimport { AutoPruneLRUCache } from '../utils/auto-prune-lru-cache';\n\n\nexport interface CacheOptions {\n max?: number;\n maxAge?: number;\n}\n\n\nfunction parseBoolean(value: unknown, defaultValue = false): boolean {\n if (value === undefined) {\n return defaultValue;\n }\n\n return `${value}`.toLowerCase() === 'true';\n}\n\n\nexport function cacheResponses(options?: CacheOptions): RequestHandler {\n const cache = new AutoPruneLRUCache({\n max: 100,\n maxAge: 60 * 60 * 1000,\n ...options\n });\n\n return (req, res, next) => {\n const { query, originalUrl, url } = req;\n const useCache = parseBoolean(query.cache, true);\n const key = `__${ originalUrl || url }`;\n const cachedResponse = cache.get(key);\n\n if (!useCache) {\n next();\n } else if (cachedResponse !== undefined) {\n res.json(cachedResponse);\n } else {\n const originalSend = res.json;\n res.json = body => {\n cache.set(key, body);\n return originalSend.call(res, body);\n };\n\n next();\n }\n };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DatabaseCacheOptions.html":{"url":"interfaces/DatabaseCacheOptions.html","title":"interface - DatabaseCacheOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DatabaseCacheOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n max\n \n \n \n Optional\n \n maxAge\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n max\n \n \n \n \n \n \n \n \n max: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n maxAge\n \n \n \n \n \n \n \n \n maxAge: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { CCFDatabaseOptions } from 'ccf-database';\nimport { Request, RequestHandler } from 'express';\n\nimport { AutoPruneLRUCache } from '../utils/auto-prune-lru-cache';\nimport { CCFDatabaseInstance, createCCFDatabaseWorker } from '../utils/ccf-database-worker';\nimport { RequestCache } from '../utils/request-cache';\n\n\nexport interface DatabaseCacheOptions {\n max?: number;\n maxAge?: number;\n}\n\nexport interface DatabaseLoaderOptions {\n database: CCFDatabaseOptions;\n cache?: DatabaseCacheOptions;\n}\n\ntype DatabaseGetter = (token?: string) => Promise;\n\nexport async function getDatabaseInstance(req: Request, token: string | undefined, doConnect = false): Promise {\n const getDBInstance = req['getDatabase'] as DatabaseGetter;\n const dbInstance = await getDBInstance(token);\n if (doConnect) {\n await dbInstance.database.connect().catch((err) => console.log(err));\n }\n return dbInstance;\n}\n\nfunction selectToken(token: string | undefined, req: Request): string {\n const qtoken = req.query.token;\n\n if (token) {\n return token;\n } else if (typeof qtoken === 'string' && qtoken) {\n return qtoken;\n }\n\n return '';\n}\n\nfunction createDatabase(token: string, options: CCFDatabaseOptions): Promise {\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const hubmapToken = token || options.hubmapToken || undefined;\n\n return createCCFDatabaseWorker({\n ...options,\n hubmapDataUrl: '', // Do not use deprecated internal hubmap data loading\n dataSources: options.dataSources.map(s =>\n hubmapToken && typeof s === 'string' && s.endsWith('hubmap/rui_locations.jsonld') ? `${s}?token=${hubmapToken}` : s\n )\n });\n}\n\nexport function databaseLoader(options: DatabaseLoaderOptions): RequestHandler {\n const cache = new RequestCache(\n new AutoPruneLRUCache({\n max: 10,\n maxAge: 60 * 60 * 1000,\n dispose: (_key, instance) => instance.then((r) => r.dispose()),\n ...options.cache\n }),\n token => createDatabase(token, options.database)\n );\n\n return (req, _res, next) => {\n req['getDatabase'] = (token?: string) => cache.get(selectToken(token, req));\n next();\n };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DatabaseLoaderOptions.html":{"url":"interfaces/DatabaseLoaderOptions.html","title":"interface - DatabaseLoaderOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DatabaseLoaderOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n cache\n \n \n \n \n database\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n cache\n \n \n \n \n \n \n \n \n cache: DatabaseCacheOptions\n\n \n \n\n\n \n \n Type : DatabaseCacheOptions\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n database\n \n \n \n \n \n \n \n \n database: CCFDatabaseOptions\n\n \n \n\n\n \n \n Type : CCFDatabaseOptions\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CCFDatabaseOptions } from 'ccf-database';\nimport { Request, RequestHandler } from 'express';\n\nimport { AutoPruneLRUCache } from '../utils/auto-prune-lru-cache';\nimport { CCFDatabaseInstance, createCCFDatabaseWorker } from '../utils/ccf-database-worker';\nimport { RequestCache } from '../utils/request-cache';\n\n\nexport interface DatabaseCacheOptions {\n max?: number;\n maxAge?: number;\n}\n\nexport interface DatabaseLoaderOptions {\n database: CCFDatabaseOptions;\n cache?: DatabaseCacheOptions;\n}\n\ntype DatabaseGetter = (token?: string) => Promise;\n\nexport async function getDatabaseInstance(req: Request, token: string | undefined, doConnect = false): Promise {\n const getDBInstance = req['getDatabase'] as DatabaseGetter;\n const dbInstance = await getDBInstance(token);\n if (doConnect) {\n await dbInstance.database.connect().catch((err) => console.log(err));\n }\n return dbInstance;\n}\n\nfunction selectToken(token: string | undefined, req: Request): string {\n const qtoken = req.query.token;\n\n if (token) {\n return token;\n } else if (typeof qtoken === 'string' && qtoken) {\n return qtoken;\n }\n\n return '';\n}\n\nfunction createDatabase(token: string, options: CCFDatabaseOptions): Promise {\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const hubmapToken = token || options.hubmapToken || undefined;\n\n return createCCFDatabaseWorker({\n ...options,\n hubmapDataUrl: '', // Do not use deprecated internal hubmap data loading\n dataSources: options.dataSources.map(s =>\n hubmapToken && typeof s === 'string' && s.endsWith('hubmap/rui_locations.jsonld') ? `${s}?token=${hubmapToken}` : s\n )\n });\n}\n\nexport function databaseLoader(options: DatabaseLoaderOptions): RequestHandler {\n const cache = new RequestCache(\n new AutoPruneLRUCache({\n max: 10,\n maxAge: 60 * 60 * 1000,\n dispose: (_key, instance) => instance.then((r) => r.dispose()),\n ...options.cache\n }),\n token => createDatabase(token, options.database)\n );\n\n return (req, _res, next) => {\n req['getDatabase'] = (token?: string) => cache.get(selectToken(token, req));\n next();\n };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GtexTissue.html":{"url":"interfaces/GtexTissue.html","title":"interface - GtexTissue","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GtexTissue\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-api/src/lib/routes/v1/gtex/rui-locations.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n mappedInHubmap\n \n \n \n \n rnaSeqSampleSummary\n \n \n \n \n tissueSiteDetailId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n mappedInHubmap\n \n \n \n \n \n \n \n \n mappedInHubmap: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rnaSeqSampleSummary\n \n \n \n \n \n \n \n \n rnaSeqSampleSummary: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n tissueSiteDetailId\n \n \n \n \n \n \n \n \n tissueSiteDetailId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CCFDatabaseOptions } from 'ccf-database';\nimport { RequestHandler } from 'express';\nimport { readFileSync } from 'fs';\nimport fetch from 'node-fetch';\n\nimport { AutoPruneLRUCache } from '../../../utils/auto-prune-lru-cache';\nimport { RequestCache } from '../../../utils/request-cache';\nimport { JsonLdObj } from 'jsonld/jsonld-spec';\nimport { get } from '../../../environment';\n\nexport interface GtexTissue {\n // NOTE: The API response includes more fields, but we only map the ones we actually use here\n tissueSiteDetailId: string;\n mappedInHubmap: boolean;\n rnaSeqSampleSummary: {\n totalCount: number;\n female: {\n ageMax: number;\n ageMin: number;\n ageMean: number;\n count: number;\n };\n male: {\n ageMax: number;\n ageMin: number;\n ageMean: number;\n count: number;\n };\n };\n}\n\nconst DEFAULT_GTEX_RUI_LOCATIONS = 'projects/ccf-eui/src/assets/gtex/data/rui_locations.jsonld';\nconst GTEX_API_URL = 'https://gtexportal.org/api/v2/dataset/tissueSiteDetail';\n\nasync function getLocations(): Promise {\n try {\n const source = get('GTEX_RUI_LOCATIONS', DEFAULT_GTEX_RUI_LOCATIONS);\n // Attempt to load the source url as a local file\n const data = readFileSync(source, { encoding: 'utf-8' });\n const jsonld: JsonLdObj = JSON.parse(data);\n const results = jsonld['@graph'] as JsonLdObj[];\n\n const response: { data: GtexTissue[] } = await fetch(GTEX_API_URL).then(r => r.json());\n const mappedEntries = response?.data?.filter(entry => entry.mappedInHubmap) ?? [];\n for (const tissue of mappedEntries) {\n updateEntry(results, tissue, 'Female');\n updateEntry(results, tissue, 'Male');\n }\n\n return jsonld;\n } catch (_error) {\n return undefined;\n }\n}\n\nexport function updateEntry(resultsList: JsonLdObj[], tissueInfo: GtexTissue, sex: 'Male' | 'Female'): void {\n const matchingEntry = resultsList.find(entry => entry['@id']?.includes(tissueInfo.tissueSiteDetailId) && (entry.label as string).includes(sex));\n if (matchingEntry) {\n const index = resultsList.indexOf(matchingEntry);\n const sexStats = sex === 'Male' ? tissueInfo.rnaSeqSampleSummary.male : tissueInfo.rnaSeqSampleSummary.female;\n resultsList[index].label = `${sex}s (n=${sexStats.count}) Mean Age ${sexStats.ageMean} (range ${sexStats.ageMin} - ${sexStats.ageMax})`;\n resultsList[index].sex = sex;\n }\n}\n\nexport function ruiLocations(): RequestHandler {\n const cache = new RequestCache(\n new AutoPruneLRUCache({\n max: 10,\n maxAge: 60 * 60 * 1000\n }),\n getLocations\n );\n\n return async (req, res, _next) => {\n const options: CCFDatabaseOptions = req.app.get('database-options');\n const rawToken = req.query.token;\n const token = typeof rawToken === 'string' ? rawToken : '';\n const result = await cache.get(token, options);\n\n if (result) {\n res.json(result);\n } else {\n res.status(500).json([]);\n }\n };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RequestCache.html":{"url":"classes/RequestCache.html","title":"class - RequestCache","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RequestCache\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-api/src/lib/utils/request-cache.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n get\n \n \n Private\n Async\n handleErrors\n \n \n Private\n Async\n promisifiedDoRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(cache: LRUCache>, doRequest: (key: K,args: []) => void)\n \n \n \n \n Defined in projects/ccf-api/src/lib/utils/request-cache.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n cache\n \n \n LRUCache>\n \n \n \n No\n \n \n \n \n doRequest\n \n \n function\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n get\n \n \n \n \n \n \nget(key: K, ...args: [])\n \n \n\n\n \n \n Defined in projects/ccf-api/src/lib/utils/request-cache.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n K\n \n\n \n No\n \n\n\n \n \n args\n \n []\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n handleErrors\n \n \n \n \n \n \n \n handleErrors(key: K, request: Promise)\n \n \n\n\n \n \n Defined in projects/ccf-api/src/lib/utils/request-cache.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n K\n \n\n \n No\n \n\n\n \n \n request\n \n Promise\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n promisifiedDoRequest\n \n \n \n \n \n \n \n promisifiedDoRequest(key: K, ...args: [])\n \n \n\n\n \n \n Defined in projects/ccf-api/src/lib/utils/request-cache.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n K\n \n\n \n No\n \n\n\n \n \n args\n \n []\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import LRUCache from 'lru-cache';\n\n\nexport class RequestCache {\n constructor(\n readonly cache: LRUCache>,\n readonly doRequest: (key: K, ...args: unknown[]) => V | Promise\n ) { }\n\n get(key: K, ...args: unknown[]): Promise {\n const { cache } = this;\n let result = cache.get(key);\n\n if (!result) {\n result = this.promisifiedDoRequest(key, ...args);\n cache.set(key, result);\n this.handleErrors(key, result);\n }\n\n return result;\n }\n\n private async promisifiedDoRequest(key: K, ...args: unknown[]): Promise {\n return this.doRequest(key, ...args);\n }\n\n private async handleErrors(key: K, request: Promise): Promise {\n const { cache } = this;\n\n try {\n await request;\n } catch (_error) {\n if (cache.get(key) === request) {\n cache.del(key);\n }\n }\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.2 - 2023-07-12\nAdded in 3.7.2\n\nClient side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1\n\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-api/src/lib/app.ts\n \n interface\n AppOptions\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-api/src/lib/app.ts\n \n function\n createApp\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n get\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n get\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n get\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n get\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n getBoolean\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n getNumber\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n getNumber\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n getNumber\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n has\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n isDebug\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n parseBoolean\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n function\n parseNumber\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n variable\n env\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n variable\n THROW_IF_NOT_FOUND\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n interface\n DatabaseCacheOptions\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n interface\n DatabaseLoaderOptions\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n function\n createDatabase\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n function\n databaseLoader\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n function\n getDatabaseInstance\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n function\n selectToken\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/response-cache.ts\n \n interface\n CacheOptions\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/response-cache.ts\n \n function\n cacheResponses\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/middleware/response-cache.ts\n \n function\n parseBoolean\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/polyfills.ts\n \n function\n patchGlobal\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/browser.ts\n \n variable\n browserRoute\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/browser.ts\n \n variable\n openApiRoute\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/browser.ts\n \n variable\n routes\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/database-status.ts\n \n function\n getDatabaseStatus\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/database-status.ts\n \n function\n parseString\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/get-spatial-placement.ts\n \n function\n getSpatialPlacement\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/get-spatial-placement.ts\n \n function\n parseString\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/gtex/index.ts\n \n variable\n checkRoutesEnabled\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/gtex/index.ts\n \n variable\n routes\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/gtex/rui-locations.ts\n \n interface\n GtexTissue\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/gtex/rui-locations.ts\n \n function\n getLocations\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/gtex/rui-locations.ts\n \n function\n ruiLocations\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/gtex/rui-locations.ts\n \n function\n updateEntry\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/gtex/rui-locations.ts\n \n variable\n DEFAULT_GTEX_RUI_LOCATIONS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/gtex/rui-locations.ts\n \n variable\n GTEX_API_URL\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/hubmap/index.ts\n \n variable\n checkRoutesEnabled\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/hubmap/index.ts\n \n variable\n routes\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/hubmap/rui-locations.ts\n \n function\n getLocations\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/hubmap/rui-locations.ts\n \n function\n ruiLocations\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/index.ts\n \n variable\n routes\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/reference-organ-scene.ts\n \n function\n getReferenceOrganSceneHandler\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/reference-organ-scene.ts\n \n function\n parseString\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/sparql.ts\n \n function\n parseString\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/sparql.ts\n \n function\n sparql\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/forward-database-query.ts\n \n function\n forwardDatabaseQuery\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n clamp\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n parseArray\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n parseMinMaxRange\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n parseRange\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n parseSex\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n parseSpatial\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n processParameter\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n queryParametersToFilter\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n function\n setIfDefined\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n variable\n FILTER_DEFAULTS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/use-cached-result.ts\n \n function\n useCachedResult\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/use-cached-result.ts\n \n variable\n CACHE_DIR\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/server.ts\n \n function\n getCacheOptions\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/server.ts\n \n function\n getDatabaseOptions\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/server.ts\n \n function\n getPort\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/server.ts\n \n function\n loadDatabaseSource\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/server.ts\n \n function\n parseDatabaseSources\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/server.ts\n \n function\n startServer\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/server.ts\n \n function\n tryJsonParse\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/utils/auto-prune-lru-cache.ts\n \n variable\n methods\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/utils/auto-prune-lru-cache.ts\n \n variable\n mutableProperties\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/utils/auto-prune-lru-cache.ts\n \n variable\n readonlyProperties\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/utils/ccf-database-worker.ts\n \n class\n CCFDatabaseInstance\n \n 0 %\n (0/6)\n \n \n \n \n \n projects/ccf-api/src/lib/utils/ccf-database-worker.ts\n \n function\n createCCFDatabaseWorker\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-api/src/lib/utils/request-cache.ts\n \n class\n RequestCache\n \n 0 %\n (0/5)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n object-hash : ^3.0.0\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n \n \n \n 2 Classes\n \n \n \n \n \n \n \n 5 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n AnyAutoPruneLRUCache   (projects/.../auto-prune-lru-cache.ts)\n \n \n DatabaseGetter   (projects/.../database-loader.ts)\n \n \n DatabaseGetter   (projects/.../database-status.ts)\n \n \n DatabaseQueryMethods   (projects/.../forward-database-query.ts)\n \n \n DatabaseSource   (projects/.../server.ts)\n \n \n DatabaseSources   (projects/.../server.ts)\n \n \n GlobalThis   (projects/.../polyfills.ts)\n \n \n PickByType   (projects/.../forward-database-query.ts)\n \n \n SparqlQueryFunction   (projects/.../ccf-database-worker.ts)\n \n \n ThrowIndicator   (projects/.../environment.ts)\n \n \n \n \n \n \n\n\n projects/ccf-api/src/lib/utils/auto-prune-lru-cache.ts\n \n \n \n \n \n \n AnyAutoPruneLRUCache\n \n \n \n \n AutoPruneLRUCache\n\n \n \n \n \n projects/ccf-api/src/lib/middleware/database-loader.ts\n \n \n \n \n \n \n DatabaseGetter\n \n \n \n \n function\n\n \n \n \n \n projects/ccf-api/src/lib/routes/v1/database-status.ts\n \n \n \n \n \n \n DatabaseGetter\n \n \n \n \n function\n\n \n \n \n \n projects/ccf-api/src/lib/routes/v1/utils/forward-database-query.ts\n \n \n \n \n \n \n DatabaseQueryMethods\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n PickByType\n \n \n \n \n \n\n \n \n \n \n projects/ccf-api/src/lib/server.ts\n \n \n \n \n \n \n DatabaseSource\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n DatabaseSources\n \n \n \n \n \n\n \n \n \n \n projects/ccf-api/src/lib/polyfills.ts\n \n \n \n \n \n \n GlobalThis\n \n \n \n \n \n\n \n \n \n \n projects/ccf-api/src/lib/utils/ccf-database-worker.ts\n \n \n \n \n \n \n SparqlQueryFunction\n \n \n \n \n function\n\n \n \n \n \n projects/ccf-api/src/lib/environment.ts\n \n \n \n \n \n \n ThrowIndicator\n \n \n \n \n \n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n browserRoute   (projects/.../browser.ts)\n \n \n CACHE_DIR   (projects/.../use-cached-result.ts)\n \n \n checkRoutesEnabled   (projects/.../index.ts)\n \n \n checkRoutesEnabled   (projects/.../index.ts)\n \n \n DEFAULT_GTEX_RUI_LOCATIONS   (projects/.../rui-locations.ts)\n \n \n env   (projects/.../environment.ts)\n \n \n FILTER_DEFAULTS   (projects/.../parse-filter.ts)\n \n \n GTEX_API_URL   (projects/.../rui-locations.ts)\n \n \n methods   (projects/.../auto-prune-lru-cache.ts)\n \n \n mutableProperties   (projects/.../auto-prune-lru-cache.ts)\n \n \n openApiRoute   (projects/.../browser.ts)\n \n \n readonlyProperties   (projects/.../auto-prune-lru-cache.ts)\n \n \n routes   (projects/.../browser.ts)\n \n \n routes   (projects/.../index.ts)\n \n \n routes   (projects/.../index.ts)\n \n \n routes   (projects/.../index.ts)\n \n \n THROW_IF_NOT_FOUND   (projects/.../environment.ts)\n \n \n \n \n \n \n\n\n projects/ccf-api/src/lib/routes/browser.ts\n \n \n \n \n \n \n \n browserRoute\n \n \n \n \n \n \n Type : RequestHandler\n\n \n \n \n \n Default value : (_req, res, _next) => {\n\n res.send(`\n\n \n \n \n CCF-API Browser\n\n \n \n \n \n \n \n`);\n\n}\n \n \n\n\n \n \n \n \n \n \n \n \n openApiRoute\n \n \n \n \n \n \n Type : RequestHandler\n\n \n \n \n \n Default value : (_req, res, _next) => {\n const apiFile = resolve('ccf-api-spec.yaml');\n res.sendFile(apiFile);\n}\n \n \n\n\n \n \n \n \n \n \n \n \n routes\n \n \n \n \n \n \n Default value : Router()\n .get('/', browserRoute)\n .get('/ccf-api-spec.yaml', openApiRoute)\n \n \n\n\n \n \n\n projects/ccf-api/src/lib/routes/v1/utils/use-cached-result.ts\n \n \n \n \n \n \n \n CACHE_DIR\n \n \n \n \n \n \n Default value : get('CCF_API_CACHE', 'projects/ccf-api/ccf-cache')\n \n \n\n\n \n \n\n projects/ccf-api/src/lib/routes/v1/gtex/index.ts\n \n \n \n \n \n \n \n checkRoutesEnabled\n \n \n \n \n \n \n Type : RequestHandler\n\n \n \n \n \n Default value : (_req, _res, next) => {\n const enabled = env.GTEX_ROUTES === 'true';\n enabled ? next() : next('router');\n}\n \n \n\n\n \n \n \n \n \n \n \n \n routes\n \n \n \n \n \n \n Default value : Router()\n .use(checkRoutesEnabled)\n .get('/rui_locations.jsonld', ruiLocations())\n \n \n\n\n \n \n\n projects/ccf-api/src/lib/routes/v1/hubmap/index.ts\n \n \n \n \n \n \n \n checkRoutesEnabled\n \n \n \n \n \n \n Type : RequestHandler\n\n \n \n \n \n Default value : (_req, _res, next) => {\n const enabled = env.HUBMAP_ROUTES === 'true';\n enabled ? next() : next('router');\n}\n \n \n\n\n \n \n \n \n \n \n \n \n routes\n \n \n \n \n \n \n Default value : Router()\n .use(checkRoutesEnabled)\n .get('/rui_locations.jsonld', ruiLocations())\n \n \n\n\n \n \n\n projects/ccf-api/src/lib/routes/v1/gtex/rui-locations.ts\n \n \n \n \n \n \n \n DEFAULT_GTEX_RUI_LOCATIONS\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'projects/ccf-eui/src/assets/gtex/data/rui_locations.jsonld'\n \n \n\n\n \n \n \n \n \n \n \n \n GTEX_API_URL\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'https://gtexportal.org/api/v2/dataset/tissueSiteDetail'\n \n \n\n\n \n \n\n projects/ccf-api/src/lib/environment.ts\n \n \n \n \n \n \n \n env\n \n \n \n \n \n \n Default value : (() => {\n config();\n return process.env;\n})()\n \n \n\n\n \n \n \n \n \n \n \n \n THROW_IF_NOT_FOUND\n \n \n \n \n \n \n Default value : Symbol('Indicator that an error should be thrown')\n \n \n\n\n \n \n\n projects/ccf-api/src/lib/routes/v1/utils/parse-filter.ts\n \n \n \n \n \n \n \n FILTER_DEFAULTS\n \n \n \n \n \n \n Type : Partial\n\n \n \n \n \n Default value : {\n sex: 'Both',\n ageRange: undefined,\n bmiRange: undefined,\n tmc: [],\n technologies: [],\n ontologyTerms: [],\n cellTypeTerms: [],\n spatialSearches: []\n}\n \n \n\n\n \n \n\n projects/ccf-api/src/lib/utils/auto-prune-lru-cache.ts\n \n \n \n \n \n \n \n methods\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n // NOTE: No set method as it is overwritten by AutoPruneLRUCache\n 'has', 'get', 'del', 'peek',\n 'keys', 'values',\n 'forEach', 'rforEach',\n 'prune', 'reset',\n 'dump', 'load'\n]\n \n \n\n\n \n \n \n \n \n \n \n \n mutableProperties\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n 'lengthCalculator', 'allowStale', 'max', 'maxAge'\n]\n \n \n\n\n \n \n \n \n \n \n \n \n readonlyProperties\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n 'length', 'itemCount'\n]\n \n \n\n\n \n \n\n projects/ccf-api/src/lib/routes/v1/index.ts\n \n \n \n \n \n \n \n routes\n \n \n \n \n \n \n Default value : Router()\n .use('/db-status', getDatabaseStatus())\n .post('/get-spatial-placement', getSpatialPlacement())\n .use('/sparql', sparql())\n .use('/ccf.owl.n3store.json', useCachedResult('ccf.owl.n3store.json'))\n .use(cacheResponses())\n .use('/hubmap', hubmapRoutes)\n .use('/gtex', gtexRoutes)\n .get('/tissue-blocks', forwardDatabaseQuery('getTissueBlockResults'))\n .get('/technology-names', forwardDatabaseQuery('getDatasetTechnologyNames'))\n .get('/provider-names', forwardDatabaseQuery('getProviderNames'))\n .get('/aggregate-results', forwardDatabaseQuery('getAggregateResults'))\n .get('/ontology-term-occurences', forwardDatabaseQuery('getOntologyTermOccurences'))\n .get('/cell-type-term-occurences', forwardDatabaseQuery('getCellTypeTermOccurences'))\n .get('/ontology-tree-model', useCachedResult('ontology-tree-model.json'), forwardDatabaseQuery('getOntologyTreeModel'))\n .get('/cell-type-tree-model', useCachedResult('cell-type-tree-model.json'), forwardDatabaseQuery('getCellTypeTreeModel'))\n .get('/reference-organs', useCachedResult('reference-organs.json'), forwardDatabaseQuery('getReferenceOrgans'))\n .get('/scene', forwardDatabaseQuery('getScene'))\n .get('/reference-organ-scene', getReferenceOrganSceneHandler())\n \n \n\n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} } diff --git a/docs/ccf-body-ui-wc/changelog.html b/docs/ccf-body-ui-wc/changelog.html index c52461069..2a643d0dd 100644 --- a/docs/ccf-body-ui-wc/changelog.html +++ b/docs/ccf-body-ui-wc/changelog.html @@ -33,6 +33,11 @@

      Changelog

      Changelog for the Human Reference Atlas (HRA) User Interfaces

      +

      3.7.2 - 2023-07-12

      +

      Added in 3.7.2

      +
        +
      • Client side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1
      • +

      3.7.0 - 2023-06-15

      Added in 3.7.0

        diff --git a/docs/ccf-body-ui-wc/dependencies.html b/docs/ccf-body-ui-wc/dependencies.html index c39bd3290..99fcc39c5 100644 --- a/docs/ccf-body-ui-wc/dependencies.html +++ b/docs/ccf-body-ui-wc/dependencies.html @@ -162,6 +162,8 @@ ngx-markdown : ^12.0.1
      • node-fetch : ^2.6.7
      • +
      • + object-hash : ^3.0.0
      • qs : ^6.10.2
      • diff --git a/docs/ccf-body-ui-wc/js/search/search_index.js b/docs/ccf-body-ui-wc/js/search/search_index.js index 56210433a..0bf8d02ea 100644 --- a/docs/ccf-body-ui-wc/js/search/search_index.js +++ b/docs/ccf-body-ui-wc/js/search/search_index.js @@ -1,4 +1,4 @@ var COMPODOC_SEARCH_INDEX = { - "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/components/AppComponent.html",[0,0.743,1,0.996]],["body/components/AppComponent.html",[0,1.012,1,1.482,2,1.55,3,0.518,4,0.703,5,1.478,6,1.771,7,1.771,8,1.258,9,0.439,10,0.8,11,0.522,12,0.522,13,1.478,14,1.478,15,1.801,16,1.478,17,2.104,18,1.001,19,1.358,20,2.536,21,2.962,22,2.536,23,2.536,24,0.518,25,1.162,26,1.815,27,3.234,28,1.105,29,1.977,30,1.811,31,1.801,32,2.529,33,2.471,34,2.297,35,2.536,36,2.104,37,2.104,38,2.104,39,1.341,40,1.771,41,1.283,42,2.962,43,1.977,44,2.104,45,2.297,46,2.019,47,2.218,48,1.083,49,0.058,50,1.811,51,1.001,52,0.812,53,2.115,54,2.604,55,2.218,56,2.218,57,2.218,58,2.218,59,1.083,60,2.471,61,2.962,62,2.218,63,2.536,64,2.536,65,2.536,66,2.218,67,1.811,68,2.104,69,2.115,70,2.218,71,2.536,72,2.218,73,2.536,74,2.536,75,2.536,76,2.218,77,1.357,78,1.771,79,1.258,80,1.771,81,2.297,82,1.771,83,1.258,84,0.605,85,0.518,86,1.258,87,1.771,88,1.258,89,1.341,90,1.083,91,0.937,92,1.006,93,0.605,94,0.812,95,1.083,96,1.162,97,1.083,98,1.771,99,0.703,100,1.283,101,1.71,102,0.937,103,0.937,104,0.812,105,0.937,106,1.771,107,0.937,108,2.115,109,1.771,110,1.771,111,1.771,112,1.771,113,2.536,114,1.771,115,1.771,116,1.478,117,1.771,118,2.43,119,1.771,120,1.478,121,1.258,122,1.771,123,3.422,124,1.771,125,3.422,126,1.771,127,3.422,128,1.771,129,2.536,130,2.962,131,2.97,132,2.536,133,2.297,134,1.771,135,1.771,136,1.771,137,2.218,138,2.536,139,1.771,140,1.771,141,2.536,142,1.801,143,1.771,144,3.234,145,1.771,146,1.771,147,0.812,148,1.258,149,1.771,150,1.771,151,0.023,152,0.033,153,0.023]],["title/modules/AppModule.html",[154,1.812,155,1.543]],["body/modules/AppModule.html",[1,1.878,3,0.763,4,1.035,9,0.646,10,0.68,11,0.481,12,0.481,18,0.763,26,1.196,31,1.853,34,1.853,46,1.38,49,0.057,59,1.595,77,1.607,84,0.892,85,0.763,92,1.035,99,1.035,101,1.38,147,1.829,148,1.853,151,0.034,152,0.043,153,0.034,155,2.959,156,1.595,157,2.013,158,2.609,159,2.609,160,2.609,161,2.439,162,2.747,163,2.176,164,3.267,165,4.122,166,4.122,167,3.293,168,4.517,169,3.267,170,3.293,171,4.122,172,4.744,173,3.293,174,3.267,175,2.609,176,4.122,177,2.609,178,1.853,179,2.609,180,2.176,181,1.38,182,3.267,183,3.267,184,4.122,185,2.609,186,2.609,187,3.267,188,4.122,189,3.267,190,3.267,191,3.267]],["title/components/AppWebComponent.html",[0,0.743,147,0.996]],["body/components/AppWebComponent.html",[0,1.089,1,0.929,2,1.948,3,0.593,4,0.804,5,2.326,7,2.028,8,1.44,9,0.502,10,0.813,11,0.525,12,0.525,14,1.691,15,1.98,16,2.326,17,2.437,18,1.087,19,1.461,24,0.593,25,1.278,26,1.461,28,1.173,35,2.788,36,2.263,37,2.263,38,2.263,39,1.475,41,1.361,44,2.437,45,2.437,46,2.052,48,1.24,49,0.057,50,1.948,51,1.151,52,0.929,54,2.705,77,1.427,81,2.437,83,1.44,84,0.693,85,0.593,89,1.815,90,1.24,91,1.072,92,1.106,93,0.693,95,1.948,96,1.649,97,1.948,99,0.804,100,1.264,102,1.475,103,1.475,104,1.278,105,1.475,107,1.072,140,2.028,141,2.788,142,1.98,143,2.028,144,3.432,145,2.028,146,2.028,147,1.573,148,2.263,149,2.028,150,2.028,151,0.027,152,0.037,153,0.027,181,2.082,192,2.796,193,1.44,194,2.788,195,3.187,196,3.187,197,3.491,198,2.539,199,3.491,200,2.788,201,2.437,202,2.539,203,2.539,204,2.539,205,2.539,206,2.539,207,2.539,208,1.98,209,3.432,210,2.028,211,2.028,212,1.44,213,1.44,214,1.98,215,1.475,216,2.788,217,2.788,218,2.028,219,1.44,220,1.691,221,2.028,222,2.028,223,2.326,224,2.028,225,1.691,226,2.028,227,1.691,228,2.028,229,2.028,230,1.691,231,2.028,232,2.028,233,2.028,234,2.028,235,1.44]],["title/injectables/DataSourceService.html",[236,1.328,237,1.543]],["body/injectables/DataSourceService.html",[3,0.343,4,1.382,8,1.862,9,0.29,10,0.791,11,0.51,12,0.51,18,0.767,19,0.537,24,0.343,25,0.851,26,1.31,28,0.977,29,1.135,30,1.135,31,1.318,32,2.525,33,1.923,39,0.982,41,1.04,46,2.008,48,2.019,49,0.058,50,2.019,51,1.099,52,1.514,59,2.376,60,1.548,67,0.716,68,0.832,77,1.349,84,0.401,85,0.343,86,0.832,88,0.832,92,0.465,94,1.056,96,1.056,99,0.465,100,1.133,101,1.219,102,1.219,103,1.219,104,0.851,105,0.982,107,1.912,108,0.978,116,0.978,118,0.832,131,0.978,151,0.015,152,0.024,153,0.05,170,2.305,186,1.172,208,0.832,212,0.832,213,0.832,215,0.62,219,0.832,227,1.548,236,1.135,237,1.318,238,0.978,239,2.72,240,2.341,241,0.832,242,3.805,243,1.856,244,3.016,245,3.401,246,2.886,247,2.886,248,2.324,249,3.282,250,2.324,251,2.324,252,3.282,253,2.324,254,3.282,255,2.324,256,3.282,257,2.324,258,2.324,259,3.282,260,1.467,261,3.282,262,2.324,263,2.324,264,2.324,265,2.324,266,2.324,267,2.324,268,2.858,269,4.258,270,1.467,271,1.467,272,2.324,273,3.498,274,1.467,275,2.324,276,3.282,277,3.04,278,3.484,279,3.484,280,4.147,281,4.752,282,2.324,283,1.467,284,2.622,285,3.282,286,3.282,287,1.467,288,2.622,289,2.324,290,1.467,291,2.622,292,1.467,293,2.324,294,1.467,295,0.832,296,1.467,297,1.548,298,2.324,299,1.467,300,1.856,301,1.856,302,2.324,303,1.467,304,1.856,305,1.548,306,1.467,307,1.467,308,2.324,309,2.656,310,1.467,311,2.324,312,1.856,313,2.886,314,2.324,315,1.467,316,1.172,317,1.467,318,1.172,319,2.324,320,1.467,321,2.305,322,1.467,323,1.172,324,0.978,325,1.467,326,1.856,327,1.172,328,2.324,329,1.856,330,0.978,331,1.467,332,1.172,333,1.172,334,1.172,335,1.172,336,1.856,337,0.978,338,1.172,339,1.467,340,1.467,341,1.172,342,1.467,343,1.467,344,1.467,345,1.467,346,1.467,347,1.467,348,1.467,349,1.467,350,1.467,351,1.172,352,1.467,353,1.467,354,3.577,355,4.258,356,4.258,357,1.467,358,4.258,359,1.467,360,1.467,361,1.467,362,1.467,363,1.467,364,1.467,365,1.467,366,1.467,367,2.324,368,1.172,369,2.324,370,1.467,371,1.467,372,1.172,373,2.324,374,1.467,375,1.467,376,1.467,377,1.467]],["title/injectables/FilteredSceneService.html",[43,1.328,236,1.328]],["body/injectables/FilteredSceneService.html",[3,0.402,4,1.134,9,0.341,10,0.801,11,0.517,12,0.517,18,0.615,19,0.631,24,0.402,25,0.964,26,1.883,28,1.155,29,2.475,30,1.561,31,1.494,32,2.8,39,1.113,40,1.376,41,1.134,43,1.286,46,2.034,48,1.985,49,0.058,50,1.985,51,0.95,52,1.489,53,1.755,59,1.883,67,2.13,68,2.475,69,1.755,77,1.491,79,2.757,84,0.47,85,0.402,88,0.977,89,1.512,90,0.841,91,0.728,92,0.546,94,0.631,95,1.561,96,1.31,97,1.561,99,0.546,100,1.134,101,1.96,102,1.113,103,1.113,104,0.964,105,1.113,107,1.889,120,1.148,121,1.494,151,0.018,152,0.028,153,0.018,162,1.148,179,1.376,215,1.113,236,1.286,237,2.031,238,1.148,240,0.841,273,1.755,277,2.104,280,2.554,295,1.494,300,1.376,305,1.148,309,1.148,316,2.104,323,3.882,324,2.709,330,1.148,332,1.376,333,1.376,334,1.376,338,1.376,341,2.104,351,3.248,368,2.554,378,3.882,379,1.376,380,3.197,381,3.197,382,4.935,383,2.634,384,2.634,385,2.634,386,2.634,387,2.634,388,1.723,389,2.634,390,1.723,391,2.634,392,3.572,393,1.723,394,2.634,395,1.723,396,2.634,397,1.723,398,2.634,399,1.723,400,1.723,401,2.634,402,3.58,403,2.634,404,3.197,405,1.723,406,2.634,407,2.634,408,2.634,409,2.634,410,2.634,411,2.13,412,2.634,413,1.723,414,2.634,415,3.58,416,3.58,417,1.723,418,2.634,419,2.634,420,1.723,421,2.634,422,1.723,423,2.634,424,2.634,425,2.634,426,2.634,427,2.634,428,2.634,429,1.723,430,2.634,431,1.723,432,1.723,433,1.723,434,0.977,435,1.723,436,1.148,437,1.148,438,1.148,439,1.723,440,1.148,441,1.723,442,1.148,443,1.723,444,1.723,445,1.723,446,1.723,447,2.634,448,2.634,449,2.634,450,1.723,451,1.723,452,1.723,453,1.723,454,1.723,455,1.723,456,1.723,457,1.723,458,1.723,459,1.723,460,1.723,461,1.376,462,3.197,463,1.723,464,1.376,465,1.723,466,1.723,467,1.723,468,1.723,469,2.634,470,1.723,471,1.723,472,1.723,473,2.634,474,1.723,475,1.723,476,1.723,477,1.723,478,1.723,479,2.634,480,1.723,481,1.723,482,1.723,483,1.723,484,1.723]],["title/interfaces/GlobalConfig.html",[93,0.743,94,0.996]],["body/interfaces/GlobalConfig.html",[0,0.989,1,0.981,3,0.626,4,0.849,9,0.53,10,0.442,11,0.285,12,0.285,13,1.786,15,1.521,18,0.846,19,0.981,20,2.141,21,2.141,22,2.141,23,2.141,24,0.626,25,1.326,26,1.801,27,2.894,28,1.253,29,1.769,30,1.309,32,2.493,33,1.786,34,1.521,36,1.521,37,1.521,38,1.521,39,1.132,41,1.148,42,2.141,43,1.769,44,1.521,45,2.055,49,0.058,51,0.958,52,1.732,53,1.786,54,2.493,60,2.414,61,2.894,63,2.141,64,2.141,65,2.141,69,1.786,71,2.141,73,2.141,74,2.141,75,2.141,77,1.454,78,2.141,79,1.521,80,2.141,81,2.493,82,2.141,83,1.521,84,0.732,85,0.626,86,1.521,87,2.141,88,1.521,89,1.857,90,1.309,91,1.132,92,1.148,93,0.732,94,1.326,95,2.146,96,1.732,97,2.146,98,2.141,99,0.849,100,1.392,101,1.857,102,1.132,103,1.132,104,0.981,105,1.132,106,2.141,107,1.132,108,2.414,109,2.141,110,2.141,111,2.141,112,2.141,113,2.894,114,2.141,115,2.141,116,1.786,117,2.141,118,2.604,119,2.141,120,1.786,121,1.521,122,2.141,123,3.667,124,2.141,125,3.667,126,2.141,127,3.667,128,2.141,129,2.894,130,3.278,131,3.152,132,2.894,133,2.493,134,2.141,135,2.141,136,2.141,151,0.028,152,0.038,153,0.028,485,1.309]],["title/interfaces/InputDataFormat.html",[93,0.743,201,1.543]],["body/interfaces/InputDataFormat.html",[0,1.084,2,1.505,3,0.72,4,0.976,5,2.053,9,0.609,10,0.508,11,0.328,12,0.328,15,1.748,16,2.053,17,1.748,18,1.027,19,1.128,24,0.72,25,1.454,26,1.609,28,1.084,36,1.748,37,1.748,38,1.748,39,1.302,41,1.258,44,2.253,45,2.253,49,0.057,51,1.027,54,2.634,77,1.522,81,2.634,83,1.748,84,0.841,85,0.72,89,2.078,90,1.505,91,1.302,92,1.258,93,0.841,95,1.505,96,1.759,97,1.505,99,0.976,100,1.392,102,1.678,103,1.678,104,1.454,105,1.678,107,1.302,147,1.128,148,1.748,151,0.032,152,0.042,153,0.032,181,1.302,192,1.748,193,1.748,194,2.462,195,3.173,196,2.462,200,2.462,201,2.634,208,1.748,209,3.709,210,2.462,211,2.462,212,1.748,213,1.748,214,2.726,215,1.678,216,3.173,217,3.173,218,3.709,219,1.748,220,2.053,221,2.462,222,2.462,223,2.647,224,2.462,225,2.053,226,2.462,227,2.053,228,2.462,229,2.462,230,2.053,231,2.462,232,2.462,233,2.462,234,2.462,235,1.748,485,1.505]],["title/modules/StoreModule.html",[154,1.812,161,1.328]],["body/modules/StoreModule.html",[3,0.823,4,1.116,9,0.697,10,0.581,11,0.375,12,0.375,18,0.823,28,0.962,41,1.369,49,0.058,77,1.612,84,0.962,85,1.009,92,1.369,99,1.116,101,1.489,151,0.037,152,0.045,153,0.037,154,2.348,156,1.72,161,2.11,167,2.815,173,3.452,180,2.348,212,1.999,213,1.999,372,3.452,486,2.348,487,3.523,488,2.815,489,2.815,490,3.523,491,2.815,492,3.733,493,3.523,494,2.815,495,2.815,496,2.815,497,2.348,498,3.523,499,3.523,500,3.523,501,2.815,502,3.523,503,3.523,504,3.523,505,3.523,506,3.523,507,3.523,508,3.523,509,3.523,510,3.523,511,3.523,512,3.523,513,3.523,514,3.523,515,3.523]],["title/changelog.html",[516,1.531,517,1.304,518,1.531]],["body/changelog.html",[0,0.67,2,0.768,3,0.755,6,0.731,8,0.519,9,0.181,11,0.38,12,0.406,14,1.636,17,0.893,18,1.139,19,0.335,25,0.335,28,1.258,29,2.035,30,1.741,46,0.387,49,0.04,51,0.214,52,0.335,67,0.447,85,0.214,86,0.519,91,1.365,93,0.931,94,0.335,100,1.209,104,1.183,121,0.893,133,1.393,139,0.731,142,0.519,151,0.01,152,0.017,153,0.037,157,1.199,178,0.893,181,1.275,185,0.731,214,0.519,215,0.665,230,2.153,243,0.731,244,0.61,268,0.731,273,1.636,278,1.652,279,0.731,284,1.961,291,3.048,295,2.649,297,2.863,301,2.209,304,3.27,305,1.378,309,1.842,312,1.257,329,1.961,337,1.048,392,1.961,434,1.569,461,1.257,464,0.731,485,0.447,501,0.731,517,1.174,518,1.048,519,1.652,520,1.652,521,1.652,522,2.848,523,1.573,524,0.916,525,2.455,526,1.573,527,5.273,528,4.534,529,2.069,530,0.916,531,1.573,532,0.916,533,4.012,534,0.916,535,1.378,536,1.573,537,3.27,538,0.731,539,0.916,540,1.257,541,1.257,542,1.257,543,3.411,544,0.916,545,0.916,546,0.916,547,2.069,548,1.573,549,2.069,550,0.916,551,1.257,552,0.916,553,0.916,554,2.848,555,1.573,556,2.765,557,2.069,558,2.069,559,0.916,560,1.573,561,1.573,562,3.968,563,1.573,564,0.916,565,2.465,566,0.916,567,4.235,568,0.916,569,1.573,570,0.916,571,2.069,572,2.765,573,1.573,574,2.069,575,2.069,576,2.455,577,1.573,578,2.069,579,0.916,580,1.573,581,1.573,582,0.916,583,3.231,584,3.019,585,3.231,586,1.573,587,0.916,588,0.916,589,4.235,590,2.455,591,0.916,592,1.573,593,0.916,594,0.916,595,1.573,596,2.069,597,2.209,598,0.916,599,1.573,600,0.916,601,0.916,602,0.916,603,1.573,604,0.916,605,3.019,606,0.916,607,0.916,608,0.916,609,2.069,610,1.652,611,0.916,612,0.916,613,2.209,614,1.257,615,0.916,616,3.019,617,3.816,618,3.92,619,1.573,620,2.765,621,0.916,622,1.573,623,3.019,624,1.573,625,0.916,626,2.455,627,0.916,628,0.916,629,1.573,630,2.581,631,0.916,632,3.231,633,3.774,634,0.916,635,0.916,636,1.573,637,0.916,638,0.916,639,1.573,640,2.069,641,0.916,642,0.916,643,0.916,644,2.069,645,0.916,646,1.573,647,0.916,648,0.916,649,0.916,650,0.731,651,4.094,652,0.916,653,0.731,654,0.916,655,1.573,656,0.731,657,0.916,658,1.573,659,2.455,660,2.455,661,0.916,662,1.573,663,2.069,664,0.916,665,0.916,666,1.573,667,0.916,668,0.916,669,3.019,670,1.713,671,2.209,672,1.652,673,0.916,674,2.209,675,0.916,676,2.069,677,2.725,678,4.012,679,0.916,680,0.916,681,1.573,682,1.652,683,0.916,684,0.916,685,0.916,686,2.765,687,0.916,688,0.916,689,0.916,690,0.916,691,2.069,692,0.916,693,1.257,694,1.257,695,0.916,696,2.725,697,0.916,698,0.916,699,0.916,700,0.916,701,0.916,702,2.209,703,2.209,704,1.573,705,0.916,706,0.916,707,1.573,708,1.573,709,0.916,710,1.573,711,1.573,712,1.573,713,1.573,714,0.916,715,2.069,716,0.916,717,0.916,718,0.731,719,0.916,720,1.652,721,0.731,722,1.573,723,1.573,724,0.916,725,0.916,726,1.573,727,1.573,728,1.573,729,1.573,730,0.916,731,0.916,732,0.916,733,0.916,734,2.069,735,0.916,736,1.573,737,0.916,738,0.916,739,1.573,740,3.019,741,1.257,742,0.916,743,0.731,744,0.916,745,0.916,746,0.916,747,2.069,748,1.573,749,3.019,750,1.257,751,1.573,752,2.455,753,0.916,754,0.916,755,2.455,756,0.916,757,0.916,758,0.916,759,1.573,760,1.573,761,0.916,762,1.573,763,0.916,764,1.573,765,0.916,766,1.573,767,0.916,768,0.916,769,0.916,770,0.916,771,0.916,772,0.916,773,1.573,774,0.916,775,0.916,776,0.916,777,0.916,778,0.916,779,0.916,780,1.573,781,0.916,782,0.916,783,0.916,784,0.916,785,0.916,786,1.573,787,0.916,788,3.019,789,0.916,790,0.916,791,2.069,792,2.069,793,1.573,794,0.731,795,0.916,796,0.731,797,0.731,798,0.916,799,1.573,800,0.916,801,0.916,802,0.916,803,0.916,804,1.573,805,1.573,806,0.916,807,1.573,808,1.573,809,0.916,810,1.573,811,2.455,812,2.069,813,0.916,814,0.916,815,0.916,816,0.916,817,0.731,818,0.916,819,1.573,820,0.916,821,0.916,822,1.573,823,2.455,824,0.916,825,0.916,826,0.916,827,0.916,828,3.019,829,2.069,830,1.573,831,0.916,832,0.916,833,2.069,834,1.573,835,1.573,836,1.573,837,2.455,838,0.916,839,1.393,840,0.916,841,0.916,842,1.573,843,0.916,844,0.916,845,0.916,846,0.916,847,0.916,848,2.455,849,0.916,850,2.069,851,2.455,852,0.916,853,2.069,854,2.765,855,1.573,856,1.573,857,1.573,858,1.573,859,2.069,860,2.455,861,2.765,862,1.573,863,2.069,864,0.916,865,0.916,866,3.231,867,2.069,868,0.916,869,2.455,870,2.455,871,3.565,872,0.916,873,0.916,874,0.916,875,0.916,876,0.916,877,0.916,878,1.573,879,0.916,880,1.573,881,0.916,882,0.916,883,0.916,884,0.916,885,1.573,886,0.916,887,2.069,888,0.916,889,0.916,890,1.573,891,1.652,892,1.573,893,2.069,894,0.916,895,0.916,896,0.916,897,1.573,898,0.916,899,0.916,900,0.916,901,0.916,902,0.916,903,0.916,904,0.916,905,1.573,906,0.916,907,0.916,908,2.455,909,3.019,910,1.573,911,2.069,912,1.573,913,0.916,914,0.916,915,0.916,916,0.916,917,2.069,918,0.916,919,0.916,920,0.916,921,1.573,922,1.573,923,1.573,924,2.069,925,0.916,926,0.916,927,0.916,928,0.916,929,0.916,930,0.731,931,0.916,932,0.916,933,0.916,934,1.573,935,0.916,936,0.916,937,1.573,938,0.916,939,0.916,940,0.916,941,0.916,942,0.916,943,0.916,944,0.916,945,0.916,946,0.916,947,0.916,948,3.411,949,0.916,950,1.652,951,3.411,952,2.069,953,2.455,954,1.573,955,2.069,956,0.916,957,1.573,958,0.916,959,0.916,960,1.573,961,1.573,962,1.573,963,0.916,964,0.916,965,0.916,966,0.916,967,1.573,968,0.916,969,1.652,970,0.916,971,0.916,972,0.916,973,0.916,974,0.731,975,0.916,976,0.916,977,0.916,978,0.916,979,0.916,980,0.916,981,0.916,982,0.916,983,0.916,984,0.916,985,0.916,986,2.765,987,0.916,988,0.916,989,0.916,990,0.916,991,0.916,992,0.916,993,0.916,994,0.916,995,0.916,996,0.916,997,0.916,998,0.916,999,0.916,1000,0.916,1001,0.916,1002,0.916,1003,1.573,1004,0.916,1005,1.573,1006,0.916,1007,1.573,1008,1.573,1009,2.455,1010,2.455,1011,1.573,1012,1.573,1013,0.916,1014,0.916,1015,0.916,1016,2.069,1017,0.916,1018,0.731,1019,0.916,1020,0.916,1021,0.916,1022,0.916,1023,0.916,1024,0.916,1025,1.573,1026,3.699,1027,2.069,1028,0.916,1029,1.573,1030,0.916,1031,0.916,1032,0.916,1033,0.916,1034,0.916,1035,0.916,1036,0.916,1037,0.916,1038,0.916,1039,1.573,1040,2.581,1041,1.573,1042,0.916,1043,0.916,1044,0.916,1045,0.916,1046,0.916,1047,1.573,1048,0.916,1049,0.916,1050,0.916,1051,1.636,1052,0.916,1053,1.573,1054,0.916,1055,0.916,1056,0.916,1057,1.573,1058,1.573,1059,0.916,1060,0.916,1061,0.916,1062,0.916,1063,1.573,1064,2.069,1065,1.573,1066,0.916,1067,1.257,1068,0.916,1069,0.916,1070,0.916,1071,0.916,1072,0.916,1073,0.916,1074,0.916,1075,0.916,1076,0.916,1077,0.731,1078,0.916,1079,0.916,1080,1.573,1081,0.916,1082,0.916,1083,0.916,1084,0.916,1085,0.916,1086,0.916,1087,1.573,1088,0.916,1089,0.731,1090,0.916,1091,0.916,1092,0.731,1093,0.916,1094,0.916,1095,1.573,1096,0.916,1097,0.916,1098,0.916,1099,0.916,1100,0.916,1101,0.916,1102,0.916,1103,0.916,1104,0.916,1105,0.916,1106,0.916,1107,1.573,1108,0.916,1109,0.916,1110,0.916,1111,0.916,1112,1.573,1113,0.731,1114,0.731,1115,0.916,1116,0.916,1117,0.916,1118,0.916,1119,0.916,1120,0.916,1121,0.916]],["title/coverage.html",[1051,2.438]],["body/coverage.html",[0,1.088,1,1.133,9,0.612,10,0.88,11,0.568,12,0.568,13,2.654,43,1.512,49,0.056,51,0.723,79,1.756,93,1.088,94,1.133,100,0.981,118,3.008,138,2.473,147,1.133,151,0.033,152,0.042,153,0.033,181,1.861,192,2.499,193,2.499,201,1.756,219,2.794,235,1.756,236,1.945,237,1.756,239,2.26,240,1.945,241,2.26,378,2.473,379,2.473,411,2.063,436,2.063,437,2.063,438,2.063,440,2.063,442,2.063,486,2.063,497,2.063,670,1.756,1051,2.063,1122,3.096,1123,3.096,1124,3.096,1125,3.096,1126,5.17,1127,3.096,1128,3.096,1129,3.715,1130,4.812,1131,2.654,1132,2.473,1133,3.096,1134,3.096,1135,2.473,1136,3.096,1137,3.096,1138,3.182,1139,3.182,1140,2.473,1141,3.096,1142,3.096]],["title/dependencies.html",[157,1.59,656,1.836]],["body/dependencies.html",[9,0.554,11,0.298,49,0.058,84,0.765,142,2.118,151,0.029,152,0.039,153,0.029,157,1.369,175,2.239,177,2.982,178,2.118,244,1.868,288,2.239,318,2.239,327,2.239,330,1.868,434,1.59,488,2.982,489,2.239,491,2.239,492,2.982,494,2.239,542,2.239,551,2.239,674,2.239,693,2.239,741,2.239,750,2.239,796,2.239,797,2.239,891,2.239,950,2.982,1143,2.803,1144,2.803,1145,2.803,1146,5.123,1147,2.803,1148,2.803,1149,2.803,1150,2.803,1151,2.803,1152,2.803,1153,2.803,1154,2.803,1155,2.803,1156,2.803,1157,2.803,1158,2.803,1159,4.197,1160,2.803,1161,3.733,1162,2.803,1163,2.803,1164,2.803,1165,2.803,1166,4.197,1167,2.803,1168,2.803,1169,2.803,1170,2.803,1171,2.803,1172,2.803,1173,2.803,1174,2.803,1175,2.803,1176,2.803,1177,3.733,1178,2.803,1179,3.733,1180,2.803,1181,2.803,1182,2.803,1183,2.803,1184,3.733,1185,2.803,1186,2.803,1187,2.803,1188,3.733,1189,2.803,1190,2.803,1191,2.803,1192,2.803,1193,2.803,1194,2.803,1195,2.803,1196,2.803,1197,2.803,1198,2.803,1199,2.803,1200,2.803,1201,2.803,1202,2.803,1203,2.803,1204,2.803,1205,2.239,1206,2.803,1207,2.803,1208,2.803,1209,2.803,1210,2.803,1211,2.803,1212,3.733,1213,2.803,1214,2.803,1215,2.803,1216,2.803,1217,2.803,1218,2.803,1219,2.803,1220,2.803,1221,2.803,1222,2.803,1223,2.803,1224,2.803,1225,2.803,1226,2.803,1227,2.803,1228,2.803,1229,2.803,1230,2.803,1231,2.803,1232,2.803,1233,2.803,1234,2.803,1235,3.733,1236,2.803,1237,2.803,1238,2.803,1239,2.803,1240,2.803,1241,2.803,1242,2.803,1243,2.803,1244,2.803,1245,2.803,1246,2.803,1247,2.803,1248,2.803,1249,3.733,1250,2.803,1251,2.803,1252,2.803,1253,2.803,1254,2.803,1255,2.803,1256,2.803,1257,2.803,1258,2.803,1259,2.803,1260,2.803,1261,2.803]],["title/miscellaneous/functions.html",[1262,0.971,1263,2.602]],["body/miscellaneous/functions.html",[10,0.797,11,0.514,12,0.514,24,0.803,28,0.939,48,2.47,49,0.056,50,2.47,52,1.852,59,2.47,89,1.453,151,0.036,152,0.045,153,0.036,181,1.799,192,1.951,193,2.415,208,1.951,214,2.87,220,2.292,235,2.415,239,1.951,240,1.679,241,2.415,324,2.837,335,2.747,336,3.401,337,2.292,440,2.837,442,2.837,839,2.741,1131,2.292,1132,3.401,1135,3.401,1138,2.747,1139,3.694,1140,3.401,1262,1.453,1263,2.747,1264,2.747,1265,3.401,1266,4.257,1267,3.439,1268,3.439,1269,4.257,1270,3.439,1271,4.257,1272,3.439,1273,3.439]],["title/index.html",[24,0.537,516,1.531,517,1.304]],["body/index.html",[0,0.815,3,1.111,12,0.318,18,1.264,49,0.041,93,1.062,151,0.031,152,0.041,153,0.031,215,1.261,295,2.456,297,2.593,434,1.694,485,1.458,518,1.99,519,3.109,520,3.109,521,3.458,522,3.458,535,2.593,537,4.024,538,3.109,540,3.109,541,3.664,562,3.109,565,3.056,597,2.385,610,3.109,613,3.109,614,3.109,630,2.385,633,3.458,653,2.385,670,1.694,671,3.8,672,3.664,677,3.109,682,2.385,694,3.109,696,2.385,703,2.385,720,2.385,721,3.109,794,3.109,817,2.385,974,2.385,1067,2.385,1077,2.385,1089,2.385,1113,2.385,1274,3.892,1275,3.892,1276,3.892,1277,2.986,1278,2.986,1279,2.986,1280,2.986,1281,3.109,1282,2.986,1283,2.986,1284,2.986,1285,3.892,1286,3.892,1287,3.892,1288,4.329,1289,2.986,1290,2.986,1291,4.329,1292,4.329,1293,2.986,1294,2.986,1295,3.892,1296,2.986,1297,2.986,1298,2.986,1299,2.986,1300,2.986,1301,2.986,1302,2.986,1303,2.986,1304,2.986,1305,2.986,1306,4.587,1307,2.986,1308,2.986,1309,2.986,1310,3.892,1311,2.986,1312,2.986,1313,3.892,1314,3.892,1315,2.986,1316,3.892,1317,3.892,1318,2.986,1319,2.986,1320,2.986,1321,2.986,1322,2.986,1323,2.986,1324,2.986,1325,2.986,1326,2.986,1327,2.986,1328,2.986,1329,2.986,1330,2.986,1331,2.986,1332,2.986]],["title/license.html",[516,1.531,517,1.304,1333,1.836]],["body/license.html",[49,0.046,151,0.037,152,0.046,153,0.037,163,2.364,535,2.891,565,2.364,670,2.013,702,3.467,718,3.745,743,2.834,930,3.467,1018,2.834,1040,2.834,1092,2.834,1114,2.834,1205,2.834,1281,4.194,1333,2.834,1334,3.548,1335,4.688,1336,3.548,1337,3.548,1338,4.34,1339,3.548,1340,3.548,1341,3.548,1342,3.548,1343,3.548,1344,3.548,1345,4.34,1346,3.548,1347,3.548,1348,3.548,1349,3.548,1350,3.548,1351,3.548,1352,3.548,1353,3.548,1354,3.548,1355,3.548,1356,3.548,1357,3.548,1358,4.34,1359,3.548,1360,3.548,1361,3.548,1362,3.548,1363,3.548,1364,3.548,1365,4.34,1366,3.548,1367,3.548,1368,3.548,1369,3.548,1370,3.548,1371,3.548,1372,3.548,1373,3.548,1374,3.548,1375,3.548,1376,3.548,1377,3.548,1378,3.548,1379,3.548,1380,3.548,1381,3.548,1382,3.548,1383,3.548,1384,3.548,1385,3.548,1386,3.548,1387,3.548,1388,3.548,1389,3.548,1390,3.548,1391,3.548,1392,3.548]],["title/modules.html",[156,1.786]],["body/modules.html",[49,0.05,151,0.044,152,0.05,153,0.044,155,2.357,156,2.029,161,2.029,178,2.357,554,3.319,969,3.319,1393,4.155,1394,4.765,1395,4.155]],["title/overview.html",[1396,2.923]],["body/overview.html",[1,1.793,2,1.918,34,2.229,49,0.054,133,2.866,147,1.793,151,0.041,152,0.048,153,0.041,155,3.01,156,1.918,157,2.252,158,3.138,159,3.138,160,3.138,161,2.391,162,3.073,163,2.617,238,2.617,485,1.918,1396,3.138]],["title/miscellaneous/typealiases.html",[1262,0.971,1397,3.257]],["body/miscellaneous/typealiases.html",[10,0.769,11,0.497,12,0.497,24,0.936,49,0.052,51,0.936,151,0.042,152,0.049,153,0.042,239,2.273,240,1.956,241,2.647,245,3.727,321,3.2,326,3.2,650,4.062,839,2.647,1131,2.669,1262,1.693,1264,3.2,1265,3.2,1398,4.006]],["title/miscellaneous/variables.html",[1262,0.971,1399,2.602]],["body/miscellaneous/variables.html",[10,0.733,11,0.473,12,0.473,24,0.862,41,1.169,49,0.057,51,1.183,67,2.473,68,2.874,85,0.862,96,1.746,151,0.039,152,0.047,153,0.039,180,2.459,223,2.459,225,2.459,411,2.962,436,2.962,437,2.962,438,2.962,486,2.459,495,2.948,496,2.948,497,2.962,839,2.094,1129,2.948,1262,1.559,1399,2.948,1400,4.95,1401,3.691,1402,3.691,1403,3.691,1404,3.691,1405,3.691,1406,3.691,1407,3.691]]],"invertedIndex":[["",{"_index":49,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":118,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{}}}],["0.1.0",{"_index":1112,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":1261,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":1192,"title":{},"body":{"dependencies.html":{}}}],["0.2.0",{"_index":1107,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":1213,"title":{},"body":{"dependencies.html":{}}}],["0.4",{"_index":135,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["0.5.0",{"_index":1095,"title":{},"body":{"changelog.html":{}}}],["0.6.0",{"_index":1067,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0/1",{"_index":1126,"title":{},"body":{"coverage.html":{}}}],["0/10",{"_index":1127,"title":{},"body":{"coverage.html":{}}}],["0/15",{"_index":1136,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":1125,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":1128,"title":{},"body":{"coverage.html":{}}}],["0/9",{"_index":1124,"title":{},"body":{"coverage.html":{}}}],["01",{"_index":573,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":918,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":854,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":620,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":823,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":525,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":572,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":1041,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":556,"title":{},"body":{"changelog.html":{}}}],["1",{"_index":121,"title":{},"body":{"components/AppComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{}}}],["1.0",{"_index":951,"title":{},"body":{"changelog.html":{}}}],["1.0.0",{"_index":1026,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":1187,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":1195,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":1256,"title":{},"body":{"dependencies.html":{}}}],["1.1.0",{"_index":1003,"title":{},"body":{"changelog.html":{}}}],["1.16.0",{"_index":1231,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":1189,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":950,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":1199,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":1234,"title":{},"body":{"dependencies.html":{}}}],["1.25",{"_index":130,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["1.3.5",{"_index":917,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":891,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":1216,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":853,"title":{},"body":{"changelog.html":{}}}],["1.6.0",{"_index":837,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":822,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":1202,"title":{},"body":{"dependencies.html":{}}}],["1/1",{"_index":1137,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":230,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{}}}],["10.0.0",{"_index":1211,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":138,"title":{},"body":{"components/AppComponent.html":{},"coverage.html":{}}}],["1000",{"_index":131,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/GlobalConfig.html":{}}}],["10x",{"_index":1015,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":893,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":1236,"title":{},"body":{"dependencies.html":{}}}],["12",{"_index":630,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":1238,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":1146,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":1151,"title":{},"body":{"dependencies.html":{}}}],["12/17",{"_index":1134,"title":{},"body":{"coverage.html":{}}}],["13",{"_index":729,"title":{},"body":{"changelog.html":{}}}],["14",{"_index":621,"title":{},"body":{"changelog.html":{}}}],["15",{"_index":526,"title":{},"body":{"changelog.html":{}}}],["15.126.1",{"_index":1144,"title":{},"body":{"dependencies.html":{}}}],["16",{"_index":793,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":1204,"title":{},"body":{"dependencies.html":{}}}],["17",{"_index":596,"title":{},"body":{"changelog.html":{}}}],["173",{"_index":1403,"title":{},"body":{"miscellaneous/variables.html":{}}}],["2",{"_index":133,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{},"overview.html":{}}}],["2.0.0",{"_index":792,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":1208,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":750,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2",{"_index":134,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["2.2.0",{"_index":741,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.3.0",{"_index":736,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":728,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":712,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":693,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.6.7",{"_index":1241,"title":{},"body":{"dependencies.html":{}}}],["2.8.5",{"_index":1197,"title":{},"body":{"dependencies.html":{}}}],["2.awsapprunner.com",{"_index":1303,"title":{},"body":{"index.html":{}}}],["200",{"_index":111,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["2019",{"_index":1040,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":953,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":678,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":543,"title":{},"body":{"changelog.html":{}}}],["2023",{"_index":524,"title":{},"body":{"changelog.html":{}}}],["21",{"_index":824,"title":{},"body":{"changelog.html":{}}}],["22",{"_index":1028,"title":{},"body":{"changelog.html":{}}}],["229.5",{"_index":1406,"title":{},"body":{"miscellaneous/variables.html":{}}}],["24",{"_index":1096,"title":{},"body":{"changelog.html":{}}}],["255",{"_index":1404,"title":{},"body":{"miscellaneous/variables.html":{}}}],["26",{"_index":855,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":896,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":557,"title":{},"body":{"changelog.html":{}}}],["3",{"_index":937,"title":{},"body":{"changelog.html":{}}}],["3.0.0",{"_index":674,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":1166,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":636,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":629,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":619,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":595,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":571,"title":{},"body":{"changelog.html":{}}}],["3.5.0",{"_index":555,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":1172,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":1174,"title":{},"body":{"dependencies.html":{}}}],["3.6",{"_index":1310,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":542,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.7.0",{"_index":523,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":1179,"title":{},"body":{"dependencies.html":{}}}],["3.7.3",{"_index":1181,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":751,"title":{},"body":{"changelog.html":{}}}],["31",{"_index":1004,"title":{},"body":{"changelog.html":{}}}],["3d",{"_index":589,"title":{},"body":{"changelog.html":{}}}],["4",{"_index":972,"title":{},"body":{"changelog.html":{}}}],["4.0",{"_index":1286,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":1178,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":1206,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":1228,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":1193,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":1218,"title":{},"body":{"dependencies.html":{}}}],["47",{"_index":1405,"title":{},"body":{"miscellaneous/variables.html":{}}}],["4th",{"_index":545,"title":{},"body":{"changelog.html":{}}}],["5.0.0",{"_index":1221,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":1226,"title":{},"body":{"dependencies.html":{}}}],["5th",{"_index":532,"title":{},"body":{"changelog.html":{}}}],["6.0.1",{"_index":1224,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":1243,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":1175,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":1253,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":1250,"title":{},"body":{"dependencies.html":{}}}],["70",{"_index":1133,"title":{},"body":{"coverage.html":{}}}],["8",{"_index":830,"title":{},"body":{"changelog.html":{}}}],["8.3.2",{"_index":1259,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":1170,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":1159,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":1162,"title":{},"body":{"dependencies.html":{}}}],["85",{"_index":1106,"title":{},"body":{"changelog.html":{}}}],["90",{"_index":1050,"title":{},"body":{"changelog.html":{}}}],["95",{"_index":624,"title":{},"body":{"changelog.html":{}}}],["9th",{"_index":865,"title":{},"body":{"changelog.html":{}}}],["_",{"_index":427,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["ability",{"_index":764,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":1092,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["access",{"_index":449,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["accurate",{"_index":852,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":1386,"title":{},"body":{"license.html":{}}}],["actions",{"_index":941,"title":{},"body":{"changelog.html":{}}}],["actual_component",{"_index":150,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["added",{"_index":527,"title":{},"body":{"changelog.html":{}}}],["additional",{"_index":1093,"title":{},"body":{"changelog.html":{}}}],["addressed",{"_index":996,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":599,"title":{},"body":{"changelog.html":{}}}],["adjusting",{"_index":989,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":889,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":795,"title":{},"body":{"changelog.html":{}}}],["again",{"_index":962,"title":{},"body":{"changelog.html":{}}}],["age",{"_index":708,"title":{},"body":{"changelog.html":{}}}],["aggregate",{"_index":275,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["aggregateresult",{"_index":320,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["ala",{"_index":733,"title":{},"body":{"changelog.html":{}}}],["aliases",{"_index":1398,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["allows",{"_index":872,"title":{},"body":{"changelog.html":{}}}],["alpha",{"_index":1079,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":1058,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":1053,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":1039,"title":{},"body":{"changelog.html":{}}}],["alt",{"_index":1290,"title":{},"body":{"index.html":{}}}],["analytics",{"_index":797,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["anatomical",{"_index":887,"title":{},"body":{"changelog.html":{}}}],["and/or",{"_index":1356,"title":{},"body":{"license.html":{}}}],["angular",{"_index":434,"title":{},"body":{"injectables/FilteredSceneService.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":1145,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":1147,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":318,"title":{},"body":{"injectables/DataSourceService.html":{},"dependencies.html":{}}}],["angular/compiler",{"_index":1148,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":84,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"dependencies.html":{}}}],["angular/elements",{"_index":175,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/forms",{"_index":1149,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":1150,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":177,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/router",{"_index":1153,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":1154,"title":{},"body":{"dependencies.html":{}}}],["api",{"_index":537,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":1300,"title":{},"body":{"index.html":{}}}],["app",{"_index":180,"title":{},"body":{"modules/AppModule.html":{},"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["app.component",{"_index":179,"title":{},"body":{"modules/AppModule.html":{},"injectables/FilteredSceneService.html":{}}}],["app.component.html",{"_index":23,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["app.component.scss",{"_index":21,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["appcomponent",{"_index":1,"title":{"components/AppComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{},"overview.html":{}}}],["appear",{"_index":687,"title":{},"body":{"changelog.html":{}}}],["appelement",{"_index":188,"title":{},"body":{"modules/AppModule.html":{}}}],["application",{"_index":876,"title":{},"body":{"changelog.html":{}}}],["applied",{"_index":279,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["appmodule",{"_index":155,"title":{"modules/AppModule.html":{}},"body":{"modules/AppModule.html":{},"modules.html":{},"overview.html":{}}}],["appropriate",{"_index":655,"title":{},"body":{"changelog.html":{}}}],["appwebcomponent",{"_index":147,"title":{"components/AppWebComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"coverage.html":{},"overview.html":{}}}],["april",{"_index":864,"title":{},"body":{"changelog.html":{}}}],["arising",{"_index":1390,"title":{},"body":{"license.html":{}}}],["asct+b",{"_index":679,"title":{},"body":{"changelog.html":{}}}],["assignment/selection",{"_index":840,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":743,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["async",{"_index":33,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/GlobalConfig.html":{}}}],["atlas",{"_index":520,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["attempts",{"_index":716,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":1379,"title":{},"body":{"license.html":{}}}],["automatic",{"_index":976,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":925,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":969,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["avoid",{"_index":781,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":108,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/GlobalConfig.html":{}}}],["award",{"_index":1331,"title":{},"body":{"index.html":{}}}],["backend",{"_index":243,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["background",{"_index":1089,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["base",{"_index":1063,"title":{},"body":{"changelog.html":{}}}],["based",{"_index":770,"title":{},"body":{"changelog.html":{}}}],["basewebcomponent",{"_index":195,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["basic",{"_index":794,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["before",{"_index":691,"title":{},"body":{"changelog.html":{}}}],["being",{"_index":501,"title":{},"body":{"modules/StoreModule.html":{},"changelog.html":{}}}],["beta",{"_index":677,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":752,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":1032,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":1186,"title":{},"body":{"dependencies.html":{}}}],["block",{"_index":305,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"changelog.html":{}}}],["block?.placement.target",{"_index":450,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["blocks",{"_index":590,"title":{},"body":{"changelog.html":{}}}],["bmi",{"_index":709,"title":{},"body":{"changelog.html":{}}}],["board",{"_index":1055,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":11,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["bodyui",{"_index":27,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["bodyui.bounds",{"_index":129,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["bodyui.rotation",{"_index":117,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["bodyui.rotationx",{"_index":119,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["bodyui.scene?.find((node",{"_index":114,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["bodyui.target",{"_index":132,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["bodyuicomponent",{"_index":61,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["bodyuimodule",{"_index":184,"title":{},"body":{"modules/AppModule.html":{}}}],["boolean",{"_index":208,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/InputDataFormat.html":{},"miscellaneous/functions.html":{}}}],["both",{"_index":739,"title":{},"body":{"changelog.html":{}}}],["box",{"_index":780,"title":{},"body":{"changelog.html":{}}}],["breaking",{"_index":814,"title":{},"body":{"changelog.html":{}}}],["bringing",{"_index":831,"title":{},"body":{"changelog.html":{}}}],["browse",{"_index":1394,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":178,"title":{},"body":{"modules/AppModule.html":{},"changelog.html":{},"dependencies.html":{},"modules.html":{}}}],["browserify",{"_index":1251,"title":{},"body":{"dependencies.html":{}}}],["browsermodule",{"_index":176,"title":{},"body":{"modules/AppModule.html":{}}}],["browsing",{"_index":1116,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":617,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":1282,"title":{},"body":{"index.html":{}}}],["builds",{"_index":673,"title":{},"body":{"changelog.html":{}}}],["button",{"_index":1057,"title":{},"body":{"changelog.html":{}}}],["c",{"_index":1336,"title":{},"body":{"license.html":{}}}],["cache",{"_index":1184,"title":{},"body":{"dependencies.html":{}}}],["cacheable",{"_index":1255,"title":{},"body":{"dependencies.html":{}}}],["callback",{"_index":768,"title":{},"body":{"changelog.html":{}}}],["called",{"_index":819,"title":{},"body":{"changelog.html":{}}}],["calls",{"_index":553,"title":{},"body":{"changelog.html":{}}}],["cancelregistration",{"_index":767,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":1030,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":1190,"title":{},"body":{"dependencies.html":{}}}],["card",{"_index":800,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":804,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":1313,"title":{},"body":{"index.html":{}}}],["cases",{"_index":1002,"title":{},"body":{"changelog.html":{}}}],["ccf",{"_index":18,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"index.html":{}}}],["ccf's",{"_index":946,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":529,"title":{},"body":{"changelog.html":{}}}],["ccfdatabase",{"_index":321,"title":{},"body":{"injectables/DataSourceService.html":{},"miscellaneous/typealiases.html":{}}}],["ccfdatabaseoptions",{"_index":269,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["cdr",{"_index":44,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["cell",{"_index":284,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["center",{"_index":1326,"title":{},"body":{"index.html":{}}}],["change",{"_index":817,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["changed",{"_index":549,"title":{},"body":{"changelog.html":{}}}],["changedetection",{"_index":15,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["changedetectionstrategy",{"_index":83,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["changedetectionstrategy.onpush",{"_index":16,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["changedetectionstrategy.onpush,selector",{"_index":98,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["changedetectorref",{"_index":45,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["changelog",{"_index":518,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changes",{"_index":644,"title":{},"body":{"changelog.html":{}}}],["charge",{"_index":1342,"title":{},"body":{"license.html":{}}}],["choose",{"_index":970,"title":{},"body":{"changelog.html":{}}}],["choosescene",{"_index":383,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["choosescene(data",{"_index":389,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["ci/cd",{"_index":944,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":1382,"title":{},"body":{"license.html":{}}}],["class",{"_index":99,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{}}}],["clean",{"_index":615,"title":{},"body":{"changelog.html":{}}}],["cleanup",{"_index":676,"title":{},"body":{"changelog.html":{}}}],["click",{"_index":724,"title":{},"body":{"changelog.html":{}}}],["clicking",{"_index":810,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":1306,"title":{},"body":{"index.html":{}}}],["cluster_appmodule",{"_index":158,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_declarations",{"_index":160,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_imports",{"_index":159,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["code",{"_index":669,"title":{},"body":{"changelog.html":{}}}],["codebase",{"_index":956,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":1014,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":1072,"title":{},"body":{"changelog.html":{}}}],["collaboration",{"_index":954,"title":{},"body":{"changelog.html":{}}}],["collisions",{"_index":978,"title":{},"body":{"changelog.html":{}}}],["color",{"_index":839,"title":{},"body":{"changelog.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["colorizing",{"_index":1023,"title":{},"body":{"changelog.html":{}}}],["combination",{"_index":971,"title":{},"body":{"changelog.html":{}}}],["combinelatest",{"_index":432,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["combinelatest([this.data",{"_index":423,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["combinelatest([this.organs",{"_index":401,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["combinelatest([this.scene",{"_index":406,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["come",{"_index":1019,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":1011,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":327,"title":{},"body":{"injectables/DataSourceService.html":{},"dependencies.html":{}}}],["common",{"_index":721,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["compareconfig",{"_index":1135,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["compareconfig(previous",{"_index":335,"title":{},"body":{"injectables/DataSourceService.html":{},"miscellaneous/functions.html":{}}}],["compatibility",{"_index":509,"title":{},"body":{"modules/StoreModule.html":{}}}],["complexity",{"_index":847,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":667,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":0,"title":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["component.component",{"_index":182,"title":{},"body":{"modules/AppModule.html":{}}}],["component.component.ts",{"_index":193,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["component.component.ts:32",{"_index":202,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:33",{"_index":203,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:34",{"_index":204,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:36",{"_index":206,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:37",{"_index":207,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:38",{"_index":205,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:40",{"_index":199,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component_template",{"_index":145,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["components",{"_index":2,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"overview.html":{}}}],["comunica/query",{"_index":1156,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":1194,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":1364,"title":{},"body":{"license.html":{}}}],["config",{"_index":268,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["configstate",{"_index":53,"title":{},"body":{"components/AppComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{}}}],["configstore",{"_index":200,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["configuration",{"_index":755,"title":{},"body":{"changelog.html":{}}}],["configurations",{"_index":763,"title":{},"body":{"changelog.html":{}}}],["confirmation",{"_index":714,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":774,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":697,"title":{},"body":{"changelog.html":{}}}],["connectdatasource",{"_index":248,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["connectdatasource(source",{"_index":267,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["connection",{"_index":1391,"title":{},"body":{"license.html":{}}}],["consider",{"_index":507,"title":{},"body":{"modules/StoreModule.html":{}}}],["console",{"_index":373,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["console.info(`loaded",{"_index":374,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["console.log(source",{"_index":377,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["consortium",{"_index":1337,"title":{},"body":{"license.html":{}}}],["const",{"_index":101,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"modules/StoreModule.html":{}}}],["constants",{"_index":439,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["constructor",{"_index":39,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["constructor(configstate",{"_index":40,"title":{},"body":{"components/AppComponent.html":{},"injectables/FilteredSceneService.html":{}}}],["constructor(configstore",{"_index":198,"title":{},"body":{"components/AppWebComponent.html":{}}}],["constructor(locator",{"_index":260,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["constructor(private",{"_index":187,"title":{},"body":{"modules/AppModule.html":{}}}],["container",{"_index":806,"title":{},"body":{"changelog.html":{}}}],["containers",{"_index":754,"title":{},"body":{"changelog.html":{}}}],["containing",{"_index":1280,"title":{},"body":{"index.html":{}}}],["contract",{"_index":1387,"title":{},"body":{"license.html":{}}}],["control",{"_index":913,"title":{},"body":{"changelog.html":{}}}],["convention",{"_index":217,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["coordinate",{"_index":1274,"title":{},"body":{"index.html":{}}}],["copies",{"_index":1358,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1345,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":1335,"title":{},"body":{"license.html":{}}}],["cord",{"_index":602,"title":{},"body":{"changelog.html":{}}}],["core/services/filtered",{"_index":78,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["core/store/store.module",{"_index":183,"title":{},"body":{"modules/AppModule.html":{}}}],["cors",{"_index":1196,"title":{},"body":{"dependencies.html":{}}}],["counts",{"_index":286,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["coverage",{"_index":1051,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["createcustomelement",{"_index":174,"title":{},"body":{"modules/AppModule.html":{}}}],["createcustomelement(appwebcomponent",{"_index":189,"title":{},"body":{"modules/AppModule.html":{}}}],["created",{"_index":921,"title":{},"body":{"changelog.html":{}}}],["createdatasource",{"_index":249,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["creates",{"_index":263,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["credits",{"_index":1321,"title":{},"body":{"index.html":{}}}],["css",{"_index":1198,"title":{},"body":{"dependencies.html":{}}}],["cuboid",{"_index":1049,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":1046,"title":{},"body":{"changelog.html":{}}}],["current",{"_index":336,"title":{},"body":{"injectables/DataSourceService.html":{},"miscellaneous/functions.html":{}}}],["currently",{"_index":278,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["customelements.define('ccf",{"_index":191,"title":{},"body":{"modules/AppModule.html":{}}}],["cyberinfrastructure",{"_index":1323,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":858,"title":{},"body":{"changelog.html":{}}}],["d.rui_location",{"_index":226,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["damages",{"_index":1383,"title":{},"body":{"license.html":{}}}],["dark/light",{"_index":769,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":28,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["data.map(d",{"_index":221,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["data?.map(obj",{"_index":445,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["database",{"_index":309,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"changelog.html":{}}}],["database/src/lib/ccf",{"_index":315,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["datasets",{"_index":870,"title":{},"body":{"changelog.html":{}}}],["datasource",{"_index":245,"title":{},"body":{"injectables/DataSourceService.html":{},"miscellaneous/typealiases.html":{}}}],["datasources",{"_index":342,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["datasourceservice",{"_index":237,"title":{"injectables/DataSourceService.html":{}},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"coverage.html":{}}}],["date()).gettime",{"_index":375,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["date().gettime",{"_index":370,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.getaggregateresults(filter",{"_index":359,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.getcelltypetermoccurences(filter",{"_index":361,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.getcelltypetreemodel",{"_index":363,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.getontologytermoccurences(filter",{"_index":360,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.getontologytreemodel",{"_index":362,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.getreferenceorgans",{"_index":364,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.getreferenceorganscene(organ",{"_index":366,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.getscene(filter",{"_index":365,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.gettissueblockresults(filter",{"_index":357,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["dboptions",{"_index":246,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["deal",{"_index":1347,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1392,"title":{},"body":{"license.html":{}}}],["december",{"_index":963,"title":{},"body":{"changelog.html":{}}}],["deck.gl/core",{"_index":1158,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":1160,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":1163,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":1164,"title":{},"body":{"dependencies.html":{}}}],["declarations",{"_index":165,"title":{},"body":{"modules/AppModule.html":{}}}],["decorator",{"_index":1177,"title":{},"body":{"dependencies.html":{}}}],["decorators",{"_index":62,"title":{},"body":{"components/AppComponent.html":{}}}],["deeply",{"_index":700,"title":{},"body":{"changelog.html":{}}}],["default",{"_index":67,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["default_ccf_db_options",{"_index":314,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["defined",{"_index":46,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"changelog.html":{}}}],["demo",{"_index":726,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":157,"title":{"dependencies.html":{}},"body":{"modules/AppModule.html":{},"changelog.html":{},"dependencies.html":{},"overview.html":{}}}],["depending",{"_index":821,"title":{},"body":{"changelog.html":{}}}],["descrepancies",{"_index":587,"title":{},"body":{"changelog.html":{}}}],["description",{"_index":242,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["details",{"_index":1094,"title":{},"body":{"changelog.html":{}}}],["developed",{"_index":1322,"title":{},"body":{"index.html":{}}}],["developmentmode",{"_index":506,"title":{},"body":{"modules/StoreModule.html":{}}}],["developments",{"_index":1077,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":715,"title":{},"body":{"changelog.html":{}}}],["different",{"_index":753,"title":{},"body":{"changelog.html":{}}}],["digits",{"_index":938,"title":{},"body":{"changelog.html":{}}}],["direct",{"_index":1103,"title":{},"body":{"changelog.html":{}}}],["directive",{"_index":143,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["directives",{"_index":149,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["directly",{"_index":1012,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":103,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["disabled",{"_index":515,"title":{},"body":{"modules/StoreModule.html":{}}}],["display",{"_index":301,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["displayed",{"_index":1047,"title":{},"body":{"changelog.html":{}}}],["displaying",{"_index":742,"title":{},"body":{"changelog.html":{}}}],["distinctuntilchanged",{"_index":331,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["distinctuntilchanged(compareconfig",{"_index":346,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["distribute",{"_index":1354,"title":{},"body":{"license.html":{}}}],["dobootstrap",{"_index":171,"title":{},"body":{"modules/AppModule.html":{}}}],["doc",{"_index":1061,"title":{},"body":{"changelog.html":{}}}],["docs",{"_index":612,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":1200,"title":{},"body":{"dependencies.html":{}}}],["documentation",{"_index":670,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["dom",{"_index":7,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["done",{"_index":815,"title":{},"body":{"changelog.html":{}}}],["donor",{"_index":799,"title":{},"body":{"changelog.html":{}}}],["donors",{"_index":873,"title":{},"body":{"changelog.html":{}}}],["dotenv",{"_index":1203,"title":{},"body":{"dependencies.html":{}}}],["download",{"_index":1087,"title":{},"body":{"changelog.html":{}}}],["during",{"_index":857,"title":{},"body":{"changelog.html":{}}}],["dynamic",{"_index":1152,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":580,"title":{},"body":{"changelog.html":{}}}],["easier",{"_index":648,"title":{},"body":{"changelog.html":{}}}],["east",{"_index":1302,"title":{},"body":{"index.html":{}}}],["effect",{"_index":993,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":901,"title":{},"body":{"changelog.html":{}}}],["element",{"_index":142,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["embedded",{"_index":760,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":749,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":747,"title":{},"body":{"changelog.html":{}}}],["emitting",{"_index":281,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["entire",{"_index":496,"title":{},"body":{"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["entity",{"_index":1269,"title":{},"body":{"miscellaneous/functions.html":{}}}],["entity.owl#has_spatial_entity",{"_index":225,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"miscellaneous/variables.html":{}}}],["entity.owl#sample",{"_index":224,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["entrycomponents",{"_index":166,"title":{},"body":{"modules/AppModule.html":{}}}],["environment",{"_index":212,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{}}}],["environment.dboptions",{"_index":232,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["environment.production",{"_index":372,"title":{},"body":{"injectables/DataSourceService.html":{},"modules/StoreModule.html":{}}}],["environments/environment",{"_index":213,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{}}}],["es",{"_index":1191,"title":{},"body":{"dependencies.html":{}}}],["eslint",{"_index":102,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["eslint/naming",{"_index":216,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["eslint/no",{"_index":316,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["etc",{"_index":778,"title":{},"body":{"changelog.html":{}}}],["eui",{"_index":633,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":663,"title":{},"body":{"changelog.html":{}}}],["event",{"_index":1378,"title":{},"body":{"license.html":{}}}],["eventemitter",{"_index":54,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["executionstrategy",{"_index":510,"title":{},"body":{"modules/StoreModule.html":{}}}],["executor",{"_index":106,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["expanded",{"_index":578,"title":{},"body":{"changelog.html":{}}}],["exploration",{"_index":1284,"title":{},"body":{"index.html":{}}}],["export",{"_index":92,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{}}}],["express",{"_index":1205,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["extends",{"_index":194,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["external",{"_index":766,"title":{},"body":{"changelog.html":{}}}],["extra",{"_index":1210,"title":{},"body":{"dependencies.html":{}}}],["extraction",{"_index":722,"title":{},"body":{"changelog.html":{}}}],["fail",{"_index":959,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":998,"title":{},"body":{"changelog.html":{}}}],["false",{"_index":116,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/GlobalConfig.html":{}}}],["favor",{"_index":949,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":575,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":859,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":899,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":481,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["female_skin_url",{"_index":436,"title":{},"body":{"injectables/FilteredSceneService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["fetch",{"_index":1240,"title":{},"body":{"dependencies.html":{}}}],["field",{"_index":775,"title":{},"body":{"changelog.html":{}}}],["file",{"_index":9,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{}}}],["files",{"_index":1346,"title":{},"body":{"license.html":{}}}],["filter",{"_index":273,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"changelog.html":{}}}],["filter(config",{"_index":343,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["filterednodes",{"_index":473,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["filteredorgans",{"_index":380,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["filteredscene",{"_index":381,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["filteredsceneservice",{"_index":43,"title":{"injectables/FilteredSceneService.html":{}},"body":{"components/AppComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{}}}],["filters",{"_index":594,"title":{},"body":{"changelog.html":{}}}],["filterscenenodes",{"_index":384,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["filterscenenodes(nodes",{"_index":391,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["final",{"_index":952,"title":{},"body":{"changelog.html":{}}}],["finishing",{"_index":719,"title":{},"body":{"changelog.html":{}}}],["first",{"_index":964,"title":{},"body":{"changelog.html":{}}}],["fit",{"_index":867,"title":{},"body":{"changelog.html":{}}}],["fitness",{"_index":1374,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":849,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":618,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":1024,"title":{},"body":{"changelog.html":{}}}],["flexible",{"_index":607,"title":{},"body":{"changelog.html":{}}}],["fly",{"_index":1111,"title":{},"body":{"changelog.html":{}}}],["following",{"_index":1363,"title":{},"body":{"license.html":{}}}],["form",{"_index":902,"title":{},"body":{"changelog.html":{}}}],["format",{"_index":982,"title":{},"body":{"changelog.html":{}}}],["frame",{"_index":874,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":1275,"title":{},"body":{"index.html":{}}}],["free",{"_index":1341,"title":{},"body":{"license.html":{}}}],["fs",{"_index":1209,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":808,"title":{},"body":{"changelog.html":{}}}],["fullscreen",{"_index":1056,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":860,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":219,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/InputDataFormat.html":{},"coverage.html":{}}}],["functions",{"_index":1263,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["funded",{"_index":1329,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":1361,"title":{},"body":{"license.html":{}}}],["further",{"_index":1052,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":850,"title":{},"body":{"changelog.html":{}}}],["generate",{"_index":639,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":668,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":581,"title":{},"body":{"changelog.html":{}}}],["genericglobalconfig",{"_index":210,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["getaggregateresults",{"_index":250,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getaggregateresults(filter",{"_index":272,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getcelltypetermoccurences",{"_index":251,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getcelltypetermoccurences(filter",{"_index":282,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getcelltypetreemodel",{"_index":252,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getneededreferenceorgans",{"_index":385,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["getneededreferenceorgans(referenceorgans",{"_index":394,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["getneededskins",{"_index":386,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["getneededskins(organs",{"_index":396,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["getontologytermoccurences",{"_index":253,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getontologytermoccurences(filter",{"_index":289,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getontologytreemodel",{"_index":254,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getorganscene",{"_index":255,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getorganscene(organ",{"_index":293,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getreferenceorgans",{"_index":256,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getscene",{"_index":257,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getscene(filter",{"_index":298,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getting",{"_index":516,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["gettissueblockresults",{"_index":258,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["gettissueblockresults(filter",{"_index":302,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["github",{"_index":940,"title":{},"body":{"changelog.html":{}}}],["gizmo",{"_index":784,"title":{},"body":{"changelog.html":{}}}],["globalconfig",{"_index":94,"title":{"interfaces/GlobalConfig.html":{}},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{},"coverage.html":{}}}],["globalconfig.getoption('data').pipe",{"_index":340,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["globalconfigstate",{"_index":41,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["globalthis['dboptions",{"_index":233,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["good",{"_index":995,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":796,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["granted",{"_index":1340,"title":{},"body":{"license.html":{}}}],["graph",{"_index":1395,"title":{},"body":{"modules.html":{}}}],["graphical",{"_index":628,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":1212,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":737,"title":{},"body":{"changelog.html":{}}}],["gtex",{"_index":640,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":985,"title":{},"body":{"changelog.html":{}}}],["hand",{"_index":991,"title":{},"body":{"changelog.html":{}}}],["happen",{"_index":1031,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":960,"title":{},"body":{"changelog.html":{}}}],["happy",{"_index":500,"title":{},"body":{"modules/StoreModule.html":{}}}],["haszoomingnode",{"_index":113,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["height",{"_index":137,"title":{},"body":{"components/AppComponent.html":{}}}],["helmet",{"_index":1217,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":984,"title":{},"body":{"changelog.html":{}}}],["here",{"_index":988,"title":{},"body":{"changelog.html":{}}}],["hereby",{"_index":1339,"title":{},"body":{"license.html":{}}}],["hex",{"_index":1219,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":1078,"title":{},"body":{"changelog.html":{}}}],["highlight",{"_index":705,"title":{},"body":{"changelog.html":{}}}],["highlight.operator",{"_index":441,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["highlight_yellow",{"_index":411,"title":{},"body":{"injectables/FilteredSceneService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["highlighted",{"_index":591,"title":{},"body":{"changelog.html":{}}}],["highlightid",{"_index":95,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["highlightifmatching",{"_index":1132,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["highlightifmatching(entity",{"_index":1268,"title":{},"body":{"miscellaneous/functions.html":{}}}],["highlights",{"_index":707,"title":{},"body":{"changelog.html":{}}}],["hightlight",{"_index":440,"title":{},"body":{"injectables/FilteredSceneService.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["hightlight(id",{"_index":1270,"title":{},"body":{"miscellaneous/functions.html":{}}}],["hightlight(this.highlightid",{"_index":410,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["holders",{"_index":1380,"title":{},"body":{"license.html":{}}}],["hooked",{"_index":911,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":604,"title":{},"body":{"changelog.html":{}}}],["hovering",{"_index":801,"title":{},"body":{"changelog.html":{}}}],["hra",{"_index":521,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["html",{"_index":141,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["http://purl.org/ccf/1.5/entity/${d.id",{"_index":222,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["http://purl.org/ccf/1.5/entity/${id",{"_index":416,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["http://purl.org/ccf/latest/ccf",{"_index":223,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/ccf/latest/ccf.owl#vhfskin",{"_index":1402,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.org/ccf/latest/ccf.owl#vhmskin",{"_index":1407,"title":{},"body":{"miscellaneous/variables.html":{}}}],["https://beta",{"_index":1287,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":1299,"title":{},"body":{"index.html":{}}}],["https://hubmap",{"_index":1292,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":1291,"title":{},"body":{"index.html":{}}}],["https://humanatlas.io",{"_index":1319,"title":{},"body":{"index.html":{}}}],["https://observablehq.com/@cns",{"_index":1316,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":1294,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":1289,"title":{},"body":{"index.html":{}}}],["https://r5i95k35v5.us",{"_index":1301,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":1105,"title":{},"body":{"changelog.html":{}}}],["https://www.ngxs.io/advanced/options",{"_index":511,"title":{},"body":{"modules/StoreModule.html":{}}}],["hubmap",{"_index":565,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["human",{"_index":519,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["icon",{"_index":1088,"title":{},"body":{"changelog.html":{}}}],["icons",{"_index":809,"title":{},"body":{"changelog.html":{}}}],["id",{"_index":214,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["idb",{"_index":1222,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":1122,"title":{},"body":{"coverage.html":{}}}],["iec",{"_index":955,"title":{},"body":{"changelog.html":{}}}],["image",{"_index":948,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":1010,"title":{},"body":{"changelog.html":{}}}],["implementation",{"_index":695,"title":{},"body":{"changelog.html":{}}}],["implemented",{"_index":909,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":1060,"title":{},"body":{"changelog.html":{}}}],["implements",{"_index":186,"title":{},"body":{"modules/AppModule.html":{},"injectables/DataSourceService.html":{}}}],["implied",{"_index":1371,"title":{},"body":{"license.html":{}}}],["import",{"_index":77,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{}}}],["imports",{"_index":167,"title":{},"body":{"modules/AppModule.html":{},"modules/StoreModule.html":{}}}],["improve",{"_index":900,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":659,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":623,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":738,"title":{},"body":{"changelog.html":{}}}],["include",{"_index":966,"title":{},"body":{"changelog.html":{}}}],["included",{"_index":1366,"title":{},"body":{"license.html":{}}}],["includes",{"_index":577,"title":{},"body":{"changelog.html":{}}}],["including",{"_index":702,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":933,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":1054,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":24,"title":{"index.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indexes",{"_index":531,"title":{},"body":{"changelog.html":{}}}],["indiana",{"_index":1327,"title":{},"body":{"index.html":{}}}],["individual",{"_index":915,"title":{},"body":{"changelog.html":{}}}],["info",{"_index":3,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"index.html":{}}}],["information",{"_index":614,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":1013,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":968,"title":{},"body":{"changelog.html":{}}}],["initial",{"_index":828,"title":{},"body":{"changelog.html":{}}}],["initialconfig",{"_index":231,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["initialdelay",{"_index":229,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["initialization",{"_index":311,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["initialized",{"_index":196,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["injectable",{"_index":236,"title":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"coverage.html":{}}}],["injectables",{"_index":238,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"overview.html":{}}}],["injector",{"_index":172,"title":{},"body":{"modules/AppModule.html":{}}}],["input",{"_index":209,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["inputdataformat",{"_index":201,"title":{"interfaces/InputDataFormat.html":{}},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"coverage.html":{}}}],["inputs",{"_index":197,"title":{},"body":{"components/AppWebComponent.html":{}}}],["instance",{"_index":264,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["instead",{"_index":820,"title":{},"body":{"changelog.html":{}}}],["instructions",{"_index":748,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":861,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":699,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":967,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":881,"title":{},"body":{"changelog.html":{}}}],["interact",{"_index":844,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":1035,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":1102,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":93,"title":{"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":485,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":947,"title":{},"body":{"changelog.html":{}}}],["issue",{"_index":929,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":584,"title":{},"body":{"changelog.html":{}}}],["it's",{"_index":698,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":464,"title":{},"body":{"injectables/FilteredSceneService.html":{},"changelog.html":{}}}],["item[spatial_entity_url].placement.target",{"_index":465,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["iu",{"_index":1075,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":1317,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":541,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["json",{"_index":980,"title":{},"body":{"changelog.html":{}}}],["jsonld",{"_index":1225,"title":{},"body":{"dependencies.html":{}}}],["jsonld/jsonld",{"_index":90,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["jsonldobj",{"_index":89,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"miscellaneous/functions.html":{}}}],["july",{"_index":1034,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":1084,"title":{},"body":{"changelog.html":{}}}],["keyboard",{"_index":1082,"title":{},"body":{"changelog.html":{}}}],["keyval",{"_index":1223,"title":{},"body":{"dependencies.html":{}}}],["kidney",{"_index":734,"title":{},"body":{"changelog.html":{}}}],["kind",{"_index":1370,"title":{},"body":{"license.html":{}}}],["known",{"_index":583,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":561,"title":{},"body":{"changelog.html":{}}}],["labs/data",{"_index":489,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["labs/dispatch",{"_index":1176,"title":{},"body":{"dependencies.html":{}}}],["landmarks",{"_index":603,"title":{},"body":{"changelog.html":{}}}],["larger",{"_index":649,"title":{},"body":{"changelog.html":{}}}],["last",{"_index":513,"title":{},"body":{"modules/StoreModule.html":{}}}],["latest",{"_index":597,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["layers",{"_index":1161,"title":{},"body":{"dependencies.html":{}}}],["ld",{"_index":981,"title":{},"body":{"changelog.html":{}}}],["leak",{"_index":928,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":717,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":990,"title":{},"body":{"changelog.html":{}}}],["left/right",{"_index":735,"title":{},"body":{"changelog.html":{}}}],["legend",{"_index":140,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["level",{"_index":1080,"title":{},"body":{"changelog.html":{}}}],["levels",{"_index":1099,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":1384,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1381,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":653,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":892,"title":{},"body":{"changelog.html":{}}}],["license",{"_index":1333,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":711,"title":{},"body":{"changelog.html":{}}}],["limitation",{"_index":1349,"title":{},"body":{"license.html":{}}}],["limited",{"_index":1018,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":105,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["link",{"_index":727,"title":{},"body":{"changelog.html":{}}}],["linkage",{"_index":1036,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":609,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":682,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":836,"title":{},"body":{"changelog.html":{}}}],["literal",{"_index":1245,"title":{},"body":{"dependencies.html":{}}}],["little",{"_index":842,"title":{},"body":{"changelog.html":{}}}],["load",{"_index":626,"title":{},"body":{"changelog.html":{}}}],["loaded",{"_index":1038,"title":{},"body":{"changelog.html":{}}}],["loaders.gl/core",{"_index":1165,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":1167,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":1168,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":570,"title":{},"body":{"changelog.html":{}}}],["location",{"_index":934,"title":{},"body":{"changelog.html":{}}}],["locations",{"_index":563,"title":{},"body":{"changelog.html":{}}}],["locationstrategy",{"_index":261,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["locator",{"_index":266,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["lodash",{"_index":1227,"title":{},"body":{"dependencies.html":{}}}],["log",{"_index":1320,"title":{},"body":{"index.html":{}}}],["logger",{"_index":512,"title":{},"body":{"modules/StoreModule.html":{}}}],["logging",{"_index":642,"title":{},"body":{"changelog.html":{}}}],["longer",{"_index":818,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":898,"title":{},"body":{"changelog.html":{}}}],["lru",{"_index":1229,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":1169,"title":{},"body":{"dependencies.html":{}}}],["made",{"_index":957,"title":{},"body":{"changelog.html":{}}}],["major",{"_index":574,"title":{},"body":{"changelog.html":{}}}],["makes",{"_index":645,"title":{},"body":{"changelog.html":{}}}],["making",{"_index":692,"title":{},"body":{"changelog.html":{}}}],["male",{"_index":483,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["male_skin_url",{"_index":437,"title":{},"body":{"injectables/FilteredSceneService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["managers",{"_index":657,"title":{},"body":{"changelog.html":{}}}],["map",{"_index":332,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["map(([nodes",{"_index":408,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["map(([organs",{"_index":403,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["map((config",{"_index":345,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["map(data",{"_index":341,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["map(id",{"_index":415,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["map(selectorgan",{"_index":466,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["march",{"_index":895,"title":{},"body":{"changelog.html":{}}}],["markdown",{"_index":1237,"title":{},"body":{"dependencies.html":{}}}],["match",{"_index":897,"title":{},"body":{"changelog.html":{}}}],["matching",{"_index":152,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["math.gl/core",{"_index":1171,"title":{},"body":{"dependencies.html":{}}}],["math.gl/culling",{"_index":1173,"title":{},"body":{"dependencies.html":{}}}],["mc",{"_index":1074,"title":{},"body":{"changelog.html":{}}}],["member",{"_index":448,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["memory",{"_index":927,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":992,"title":{},"body":{"changelog.html":{}}}],["merchantability",{"_index":1373,"title":{},"body":{"license.html":{}}}],["merge",{"_index":1352,"title":{},"body":{"license.html":{}}}],["metadata",{"_index":14,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"changelog.html":{}}}],["methods",{"_index":31,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["minor",{"_index":585,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":1262,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":1334,"title":{},"body":{"license.html":{}}}],["mock",{"_index":1070,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":826,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":762,"title":{},"body":{"changelog.html":{}}}],["model",{"_index":288,"title":{},"body":{"injectables/DataSourceService.html":{},"dependencies.html":{}}}],["modify",{"_index":1351,"title":{},"body":{"license.html":{}}}],["module",{"_index":154,"title":{"modules/AppModule.html":{},"modules/StoreModule.html":{}},"body":{"modules/StoreModule.html":{}}}],["modules",{"_index":156,"title":{"modules.html":{}},"body":{"modules/AppModule.html":{},"modules/StoreModule.html":{},"modules.html":{},"overview.html":{}}}],["monorepo",{"_index":1277,"title":{},"body":{"index.html":{}}}],["monotypeoperatorfunction",{"_index":1271,"title":{},"body":{"miscellaneous/functions.html":{}}}],["more",{"_index":613,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["moved",{"_index":1090,"title":{},"body":{"changelog.html":{}}}],["much",{"_index":647,"title":{},"body":{"changelog.html":{}}}],["multiple",{"_index":1278,"title":{},"body":{"index.html":{}}}],["n3",{"_index":1230,"title":{},"body":{"dependencies.html":{}}}],["name",{"_index":50,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"miscellaneous/functions.html":{}}}],["names",{"_index":776,"title":{},"body":{"changelog.html":{}}}],["navigation",{"_index":1083,"title":{},"body":{"changelog.html":{}}}],["need",{"_index":552,"title":{},"body":{"changelog.html":{}}}],["needed",{"_index":903,"title":{},"body":{"changelog.html":{}}}],["neededorgans",{"_index":471,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["neededorgans.has(node.reference_organ",{"_index":476,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["neededreferenceorgans",{"_index":468,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["neededskins",{"_index":469,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["needs",{"_index":910,"title":{},"body":{"changelog.html":{}}}],["network",{"_index":1324,"title":{},"body":{"index.html":{}}}],["new",{"_index":100,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"coverage.html":{}}}],["next",{"_index":104,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{}}}],["ng5",{"_index":1232,"title":{},"body":{"dependencies.html":{}}}],["ngdobootstrap",{"_index":168,"title":{},"body":{"modules/AppModule.html":{}}}],["ngmodule",{"_index":173,"title":{},"body":{"modules/AppModule.html":{},"modules/StoreModule.html":{}}}],["ngondestroy",{"_index":259,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["ngx",{"_index":1235,"title":{},"body":{"dependencies.html":{}}}],["ngxs",{"_index":488,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/logger",{"_index":491,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/storage",{"_index":1180,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":494,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxsdatapluginmodule",{"_index":487,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdatapluginmodule.forroot",{"_index":504,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsloggerpluginmodule",{"_index":490,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsloggerpluginmodule.forroot",{"_index":514,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule",{"_index":493,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule.forroot(root_states",{"_index":505,"title":{},"body":{"modules/StoreModule.html":{}}}],["nih",{"_index":1330,"title":{},"body":{"index.html":{}}}],["node",{"_index":1239,"title":{},"body":{"dependencies.html":{}}}],["node.reference_organ",{"_index":475,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["node.zoomtoonload",{"_index":115,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["nodes",{"_index":300,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["nodes.filter(node",{"_index":474,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["noninfringement",{"_index":1377,"title":{},"body":{"license.html":{}}}],["note",{"_index":547,"title":{},"body":{"changelog.html":{}}}],["notebooks",{"_index":539,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":1311,"title":{},"body":{"index.html":{}}}],["notice",{"_index":930,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":651,"title":{},"body":{"changelog.html":{}}}],["number",{"_index":650,"title":{},"body":{"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["numeric",{"_index":935,"title":{},"body":{"changelog.html":{}}}],["obj[spatial_entity_url",{"_index":446,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["object.keys(config).length",{"_index":344,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["observable",{"_index":280,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["obtaining",{"_index":1344,"title":{},"body":{"license.html":{}}}],["off/on",{"_index":907,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":1033,"title":{},"body":{"changelog.html":{}}}],["old",{"_index":1293,"title":{},"body":{"index.html":{}}}],["onclick",{"_index":36,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["ondestroy",{"_index":319,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["one",{"_index":974,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["online",{"_index":1043,"title":{},"body":{"changelog.html":{}}}],["onmouseenter",{"_index":37,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["onmouseleave",{"_index":38,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["ontological",{"_index":1110,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":983,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":291,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["ontologyterms",{"_index":459,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["ontologytreemodel",{"_index":322,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["opacities",{"_index":914,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":888,"title":{},"body":{"changelog.html":{}}}],["openapi",{"_index":694,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/js",{"_index":1307,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":1309,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":1308,"title":{},"body":{"index.html":{}}}],["optimization",{"_index":841,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":1025,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":879,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":704,"title":{},"body":{"changelog.html":{}}}],["optional",{"_index":52,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["options",{"_index":312,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["organ",{"_index":295,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"changelog.html":{},"index.html":{}}}],["organ.reference_organ",{"_index":460,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["organ.sex",{"_index":462,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["organs",{"_index":29,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{}}}],["organs.find(temporgan",{"_index":455,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["organs.foreach(organ",{"_index":480,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["organs.has(organ.reference_organ",{"_index":478,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["organs.length",{"_index":120,"title":{},"body":{"components/AppComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{}}}],["organs/anatomical",{"_index":916,"title":{},"body":{"changelog.html":{}}}],["organs[0",{"_index":128,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["organurls",{"_index":444,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["organurls[0",{"_index":457,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["orthographic",{"_index":790,"title":{},"body":{"changelog.html":{}}}],["ot2od026671",{"_index":1332,"title":{},"body":{"index.html":{}}}],["otherwise",{"_index":1389,"title":{},"body":{"license.html":{}}}],["out",{"_index":163,"title":{},"body":{"modules/AppModule.html":{},"license.html":{},"overview.html":{}}}],["output",{"_index":81,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["outputs",{"_index":35,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["over",{"_index":942,"title":{},"body":{"changelog.html":{}}}],["overall",{"_index":593,"title":{},"body":{"changelog.html":{}}}],["overlays",{"_index":1100,"title":{},"body":{"changelog.html":{}}}],["overview",{"_index":1396,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["p",{"_index":1066,"title":{},"body":{"changelog.html":{}}}],["package",{"_index":656,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["pages",{"_index":746,"title":{},"body":{"changelog.html":{}}}],["paired",{"_index":730,"title":{},"body":{"changelog.html":{}}}],["pane",{"_index":868,"title":{},"body":{"changelog.html":{}}}],["panel",{"_index":745,"title":{},"body":{"changelog.html":{}}}],["param",{"_index":354,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["parameters",{"_index":48,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"miscellaneous/functions.html":{}}}],["parent",{"_index":732,"title":{},"body":{"changelog.html":{}}}],["parse",{"_index":234,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["parser",{"_index":1188,"title":{},"body":{"dependencies.html":{}}}],["particular",{"_index":1375,"title":{},"body":{"license.html":{}}}],["partly",{"_index":894,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":812,"title":{},"body":{"changelog.html":{}}}],["path",{"_index":1215,"title":{},"body":{"dependencies.html":{}}}],["performance",{"_index":660,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":1338,"title":{},"body":{"license.html":{}}}],["permit",{"_index":1359,"title":{},"body":{"license.html":{}}}],["person",{"_index":1343,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1360,"title":{},"body":{"license.html":{}}}],["pick",{"_index":568,"title":{},"body":{"changelog.html":{}}}],["placed",{"_index":502,"title":{},"body":{"modules/StoreModule.html":{}}}],["placeholder",{"_index":1037,"title":{},"body":{"changelog.html":{}}}],["placement",{"_index":560,"title":{},"body":{"changelog.html":{}}}],["placenta",{"_index":600,"title":{},"body":{"changelog.html":{}}}],["player",{"_index":1155,"title":{},"body":{"dependencies.html":{}}}],["plugin",{"_index":492,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["plus",{"_index":579,"title":{},"body":{"changelog.html":{}}}],["popup",{"_index":1045,"title":{},"body":{"changelog.html":{}}}],["portal",{"_index":703,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["portal's",{"_index":1017,"title":{},"body":{"changelog.html":{}}}],["portions",{"_index":1368,"title":{},"body":{"license.html":{}}}],["position",{"_index":643,"title":{},"body":{"changelog.html":{}}}],["possible",{"_index":958,"title":{},"body":{"changelog.html":{}}}],["preferences",{"_index":772,"title":{},"body":{"changelog.html":{}}}],["preparation",{"_index":1076,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":1098,"title":{},"body":{"changelog.html":{}}}],["prevent",{"_index":634,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":787,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":337,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["previously",{"_index":684,"title":{},"body":{"changelog.html":{}}}],["private",{"_index":32,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{}}}],["process",{"_index":1059,"title":{},"body":{"changelog.html":{}}}],["processed",{"_index":1008,"title":{},"body":{"changelog.html":{}}}],["processing",{"_index":773,"title":{},"body":{"changelog.html":{}}}],["production",{"_index":671,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":652,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":1064,"title":{},"body":{"changelog.html":{}}}],["projects",{"_index":1279,"title":{},"body":{"index.html":{}}}],["projects/.../app",{"_index":1267,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../constants.ts",{"_index":1400,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../data",{"_index":1264,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["projects/.../highlight.operator.ts",{"_index":1265,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["projects/.../store.module.ts",{"_index":1401,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../zoom",{"_index":1266,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/ccf",{"_index":10,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":60,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/GlobalConfig.html":{}}}],["promise((resolve",{"_index":109,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["properties",{"_index":25,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{}}}],["provided",{"_index":1114,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["providedin",{"_index":338,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["providers",{"_index":185,"title":{},"body":{"modules/AppModule.html":{},"changelog.html":{}}}],["public",{"_index":1044,"title":{},"body":{"changelog.html":{}}}],["publish",{"_index":1353,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":654,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":1376,"title":{},"body":{"license.html":{}}}],["pushed",{"_index":856,"title":{},"body":{"changelog.html":{}}}],["python",{"_index":540,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["qs",{"_index":1242,"title":{},"body":{"dependencies.html":{}}}],["qualitative",{"_index":1021,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":710,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":244,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{},"dependencies.html":{}}}],["query",{"_index":1108,"title":{},"body":{"changelog.html":{}}}],["querying",{"_index":608,"title":{},"body":{"changelog.html":{}}}],["quickly",{"_index":1000,"title":{},"body":{"changelog.html":{}}}],["rc.1",{"_index":1027,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":1244,"title":{},"body":{"dependencies.html":{}}}],["rdfjs",{"_index":1157,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":1182,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":1246,"title":{},"body":{"dependencies.html":{}}}],["readable",{"_index":1248,"title":{},"body":{"dependencies.html":{}}}],["readonly",{"_index":26,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["real",{"_index":1042,"title":{},"body":{"changelog.html":{}}}],["reason",{"_index":499,"title":{},"body":{"modules/StoreModule.html":{}}}],["rectify",{"_index":690,"title":{},"body":{"changelog.html":{}}}],["reduce",{"_index":846,"title":{},"body":{"changelog.html":{}}}],["reduction",{"_index":625,"title":{},"body":{"changelog.html":{}}}],["reference",{"_index":297,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{},"index.html":{}}}],["referenceorgans",{"_index":382,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["referenceorgans.filter(organ",{"_index":477,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["refernced",{"_index":731,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":811,"title":{},"body":{"changelog.html":{}}}],["regions",{"_index":1101,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":1201,"title":{},"body":{"dependencies.html":{}}}],["registered",{"_index":685,"title":{},"body":{"changelog.html":{}}}],["registration",{"_index":720,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["registrations",{"_index":833,"title":{},"body":{"changelog.html":{}}}],["related",{"_index":885,"title":{},"body":{"changelog.html":{}}}],["release",{"_index":533,"title":{},"body":{"changelog.html":{}}}],["reliability",{"_index":932,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":783,"title":{},"body":{"changelog.html":{}}}],["remote",{"_index":326,"title":{},"body":{"injectables/DataSourceService.html":{},"miscellaneous/typealiases.html":{}}}],["removed",{"_index":759,"title":{},"body":{"changelog.html":{}}}],["removes",{"_index":884,"title":{},"body":{"changelog.html":{}}}],["repository",{"_index":1276,"title":{},"body":{"index.html":{}}}],["required",{"_index":987,"title":{},"body":{"changelog.html":{}}}],["reset",{"_index":34,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/GlobalConfig.html":{},"overview.html":{}}}],["resets",{"_index":813,"title":{},"body":{"changelog.html":{}}}],["resolved",{"_index":862,"title":{},"body":{"changelog.html":{}}}],["resource",{"_index":349,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["respond",{"_index":805,"title":{},"body":{"changelog.html":{}}}],["restriction",{"_index":1348,"title":{},"body":{"license.html":{}}}],["result",{"_index":151,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["results",{"_index":153,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["return",{"_index":107,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["returns",{"_index":59,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"miscellaneous/functions.html":{}}}],["rgb",{"_index":1220,"title":{},"body":{"dependencies.html":{}}}],["right",{"_index":569,"title":{},"body":{"changelog.html":{}}}],["rights",{"_index":1350,"title":{},"body":{"license.html":{}}}],["root",{"_index":19,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{}}}],["root'},{'name",{"_index":146,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["root_states",{"_index":497,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rotates",{"_index":785,"title":{},"body":{"changelog.html":{}}}],["round",{"_index":919,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":936,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":606,"title":{},"body":{"changelog.html":{}}}],["ru/common",{"_index":1143,"title":{},"body":{"dependencies.html":{}}}],["ru/common/typings",{"_index":435,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["rui",{"_index":562,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["rui_location",{"_index":218,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["rui_locations.jsonld",{"_index":641,"title":{},"body":{"changelog.html":{}}}],["rxjs",{"_index":330,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":88,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{}}}],["s",{"_index":376,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["sample",{"_index":1113,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["samples",{"_index":848,"title":{},"body":{"changelog.html":{}}}],["saver",{"_index":1207,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":1065,"title":{},"body":{"changelog.html":{}}}],["scene",{"_index":30,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{}}}],["scene.service",{"_index":80,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["scene.service.ts",{"_index":379,"title":{},"body":{"injectables/FilteredSceneService.html":{},"coverage.html":{}}}],["scene.service.ts:18",{"_index":400,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:19",{"_index":431,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:22",{"_index":417,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:26",{"_index":422,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:28",{"_index":429,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:32",{"_index":420,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:37",{"_index":405,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:42",{"_index":413,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:47",{"_index":388,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:54",{"_index":390,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:73",{"_index":399,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:82",{"_index":393,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:91",{"_index":395,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:95",{"_index":397,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene/filtered",{"_index":79,"title":{},"body":{"components/AppComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{}}}],["scenesource",{"_index":42,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["scheduled",{"_index":863,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":1068,"title":{},"body":{"changelog.html":{}}}],["schemes",{"_index":1022,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":1325,"title":{},"body":{"index.html":{}}}],["search",{"_index":567,"title":{},"body":{"changelog.html":{}}}],["searches",{"_index":582,"title":{},"body":{"changelog.html":{}}}],["section",{"_index":834,"title":{},"body":{"changelog.html":{}}}],["see",{"_index":610,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["select",{"_index":758,"title":{},"body":{"changelog.html":{}}}],["selected",{"_index":592,"title":{},"body":{"changelog.html":{}}}],["selecting",{"_index":646,"title":{},"body":{"changelog.html":{}}}],["selector",{"_index":17,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{}}}],["selectorgan",{"_index":463,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["selectorgans",{"_index":387,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["selectorgans(data",{"_index":398,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["selects",{"_index":1085,"title":{},"body":{"changelog.html":{}}}],["sell",{"_index":1357,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":1097,"title":{},"body":{"changelog.html":{}}}],["sennet",{"_index":665,"title":{},"body":{"changelog.html":{}}}],["server",{"_index":1071,"title":{},"body":{"changelog.html":{}}}],["service",{"_index":265,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["set",{"_index":392,"title":{},"body":{"injectables/FilteredSceneService.html":{},"changelog.html":{}}}],["set([...organs",{"_index":472,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["set(organs",{"_index":467,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["set(organurls",{"_index":452,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["settimeout(resolve",{"_index":110,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["setting",{"_index":508,"title":{},"body":{"modules/StoreModule.html":{}}}],["setup",{"_index":829,"title":{},"body":{"changelog.html":{}}}],["setzoomtoifmatching",{"_index":1140,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["setzoomtoifmatching(entity",{"_index":1272,"title":{},"body":{"miscellaneous/functions.html":{}}}],["sex",{"_index":461,"title":{},"body":{"injectables/FilteredSceneService.html":{},"changelog.html":{}}}],["sexes",{"_index":973,"title":{},"body":{"changelog.html":{}}}],["shadow",{"_index":317,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["shall",{"_index":1365,"title":{},"body":{"license.html":{}}}],["shared",{"_index":85,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["shared/web",{"_index":211,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["sharereplay",{"_index":333,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["sharereplay(1",{"_index":351,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["shortest",{"_index":1214,"title":{},"body":{"dependencies.html":{}}}],["show",{"_index":807,"title":{},"body":{"changelog.html":{}}}],["showing",{"_index":1007,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":1016,"title":{},"body":{"changelog.html":{}}}],["shows",{"_index":713,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":1001,"title":{},"body":{"changelog.html":{}}}],["sides",{"_index":975,"title":{},"body":{"changelog.html":{}}}],["significant",{"_index":816,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":744,"title":{},"body":{"changelog.html":{}}}],["simplifies",{"_index":827,"title":{},"body":{"changelog.html":{}}}],["sites",{"_index":723,"title":{},"body":{"changelog.html":{}}}],["sizable",{"_index":931,"title":{},"body":{"changelog.html":{}}}],["skins",{"_index":479,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["skins.add(female_skin_url",{"_index":482,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["skins.add(male_skin_url",{"_index":484,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["slider",{"_index":1233,"title":{},"body":{"dependencies.html":{}}}],["slightly",{"_index":688,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":843,"title":{},"body":{"changelog.html":{}}}],["software",{"_index":1281,"title":{},"body":{"index.html":{},"license.html":{}}}],["solved",{"_index":926,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":997,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":658,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":838,"title":{},"body":{"changelog.html":{}}}],["source",{"_index":4,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{}}}],["source.connect(config",{"_index":371,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service",{"_index":433,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["source.service.ts",{"_index":241,"title":{},"body":{"injectables/DataSourceService.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["source.service.ts:103",{"_index":290,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:116",{"_index":283,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:128",{"_index":292,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:140",{"_index":287,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:153",{"_index":296,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:166",{"_index":299,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:173",{"_index":294,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:180",{"_index":271,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:187",{"_index":270,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:39",{"_index":307,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:41",{"_index":310,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:43",{"_index":262,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:67",{"_index":306,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:77",{"_index":303,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:90",{"_index":274,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source/data",{"_index":240,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["sources",{"_index":765,"title":{},"body":{"changelog.html":{}}}],["sparc",{"_index":832,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":551,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":576,"title":{},"body":{"changelog.html":{}}}],["spatial_entity_url",{"_index":438,"title":{},"body":{"injectables/FilteredSceneService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialentity",{"_index":323,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["spatialscenenode",{"_index":324,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"miscellaneous/functions.html":{}}}],["spec",{"_index":91,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{}}}],["spec.yaml",{"_index":1305,"title":{},"body":{"index.html":{}}}],["specific",{"_index":706,"title":{},"body":{"changelog.html":{}}}],["specification",{"_index":1304,"title":{},"body":{"index.html":{}}}],["speed",{"_index":622,"title":{},"body":{"changelog.html":{}}}],["spinal",{"_index":601,"title":{},"body":{"changelog.html":{}}}],["spinning",{"_index":1069,"title":{},"body":{"changelog.html":{}}}],["sprint",{"_index":866,"title":{},"body":{"changelog.html":{}}}],["stage",{"_index":908,"title":{},"body":{"changelog.html":{}}}],["staging",{"_index":672,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["standalone",{"_index":922,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":979,"title":{},"body":{"changelog.html":{}}}],["standards",{"_index":1073,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":1285,"title":{},"body":{"index.html":{}}}],["start",{"_index":369,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["started",{"_index":517,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["starts",{"_index":1120,"title":{},"body":{"changelog.html":{}}}],["startup",{"_index":825,"title":{},"body":{"changelog.html":{}}}],["statements",{"_index":1123,"title":{},"body":{"coverage.html":{}}}],["states",{"_index":495,"title":{},"body":{"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["static",{"_index":64,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["stay",{"_index":1118,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":851,"title":{},"body":{"changelog.html":{}}}],["store",{"_index":503,"title":{},"body":{"modules/StoreModule.html":{}}}],["storemodule",{"_index":161,"title":{"modules/StoreModule.html":{}},"body":{"modules/AppModule.html":{},"modules/StoreModule.html":{},"modules.html":{},"overview.html":{}}}],["stories",{"_index":1062,"title":{},"body":{"changelog.html":{}}}],["strange",{"_index":498,"title":{},"body":{"modules/StoreModule.html":{}}}],["stream",{"_index":1249,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":1247,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":96,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"miscellaneous/variables.html":{}}}],["structure",{"_index":880,"title":{},"body":{"changelog.html":{}}}],["structures",{"_index":869,"title":{},"body":{"changelog.html":{}}}],["styles",{"_index":6,"title":{},"body":{"components/AppComponent.html":{},"changelog.html":{}}}],["styleurls",{"_index":20,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["styling",{"_index":740,"title":{},"body":{"changelog.html":{}}}],["subject",{"_index":1362,"title":{},"body":{"license.html":{}}}],["sublicense",{"_index":1355,"title":{},"body":{"license.html":{}}}],["subscription",{"_index":313,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["subscriptions",{"_index":247,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["substantial",{"_index":1367,"title":{},"body":{"license.html":{}}}],["such",{"_index":550,"title":{},"body":{"changelog.html":{}}}],["super(configstore",{"_index":228,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["support",{"_index":554,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["svg",{"_index":1393,"title":{},"body":{"modules.html":{}}}],["swiper",{"_index":1252,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":564,"title":{},"body":{"changelog.html":{}}}],["switched",{"_index":939,"title":{},"body":{"changelog.html":{}}}],["switchmap",{"_index":334,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["switchmap(([data",{"_index":426,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["switchmap(config",{"_index":347,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["switchmap(db",{"_index":356,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["sync",{"_index":786,"title":{},"body":{"changelog.html":{}}}],["table",{"_index":1142,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":680,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":1141,"title":{},"body":{"coverage.html":{}}}],["tagging",{"_index":977,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":86,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{}}}],["take(1",{"_index":358,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["tap",{"_index":87,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["tap((_",{"_index":74,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["technologies",{"_index":1091,"title":{},"body":{"changelog.html":{}}}],["technology",{"_index":912,"title":{},"body":{"changelog.html":{}}}],["telemetry",{"_index":779,"title":{},"body":{"changelog.html":{}}}],["template",{"_index":5,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["templateurl",{"_index":22,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["temporgan['@id",{"_index":456,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["term",{"_index":285,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["terms",{"_index":548,"title":{},"body":{"changelog.html":{}}}],["test",{"_index":1048,"title":{},"body":{"changelog.html":{}}}],["testing",{"_index":986,"title":{},"body":{"changelog.html":{}}}],["theme",{"_index":666,"title":{},"body":{"changelog.html":{}}}],["themes",{"_index":664,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":661,"title":{},"body":{"changelog.html":{}}}],["this.cdr.detectchanges",{"_index":136,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.choosescene(data",{"_index":428,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.configstate.getoption('data",{"_index":69,"title":{},"body":{"components/AppComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{}}}],["this.configstate.getoption('data').pipe",{"_index":418,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.configstate.getoption('highlightid').pipe",{"_index":414,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.configstate.getoption('zoomtoid').pipe",{"_index":430,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.connectdatasource((resource",{"_index":350,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["this.createdatasource",{"_index":348,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["this.datasource",{"_index":339,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["this.datasource.pipe",{"_index":355,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["this.filterscenenodes(nodes",{"_index":409,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.getneededreferenceorgans(referenceorgans",{"_index":404,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.getneededskins(neededreferenceorgans",{"_index":470,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.injector",{"_index":190,"title":{},"body":{"modules/AppModule.html":{}}}],["this.organs",{"_index":407,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.organs$.pipe(take(1)).topromise",{"_index":112,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.referenceorgans",{"_index":424,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.referenceorgans$]).pipe",{"_index":402,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.reset",{"_index":75,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.scenesource.filteredorgans",{"_index":71,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.scenesource.filteredscene$.pipe",{"_index":73,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.selectorgans(data",{"_index":419,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.source.datasource]).pipe",{"_index":425,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.source.getorganscene(organ.representation_of",{"_index":458,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.source.getreferenceorgans",{"_index":421,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.source.getscene",{"_index":454,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.subscriptions.add(this.datasource.subscribe",{"_index":352,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["this.subscriptions.unsubscribe",{"_index":353,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["through",{"_index":999,"title":{},"body":{"changelog.html":{}}}],["thumbnails",{"_index":878,"title":{},"body":{"changelog.html":{}}}],["tied",{"_index":882,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":1009,"title":{},"body":{"changelog.html":{}}}],["timeouts",{"_index":635,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":627,"title":{},"body":{"changelog.html":{}}}],["tissue",{"_index":304,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["tissueblockresult",{"_index":325,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["tissues",{"_index":686,"title":{},"body":{"changelog.html":{}}}],["tmc",{"_index":1109,"title":{},"body":{"changelog.html":{}}}],["to.operator",{"_index":443,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["to.operator.ts",{"_index":1139,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["toggle",{"_index":662,"title":{},"body":{"changelog.html":{}}}],["tojsonld",{"_index":235,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["tojsonld(data",{"_index":220,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"miscellaneous/functions.html":{}}}],["tool",{"_index":923,"title":{},"body":{"changelog.html":{}}}],["tort",{"_index":1388,"title":{},"body":{"license.html":{}}}],["tracking/telemetry",{"_index":798,"title":{},"body":{"changelog.html":{}}}],["transparency",{"_index":924,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":943,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":8,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"changelog.html":{}}}],["true",{"_index":65,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["try",{"_index":961,"title":{},"body":{"changelog.html":{}}}],["ts",{"_index":1254,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":1257,"title":{},"body":{"dependencies.html":{}}}],["tuned",{"_index":1119,"title":{},"body":{"changelog.html":{}}}],["turn",{"_index":906,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":886,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":883,"title":{},"body":{"changelog.html":{}}}],["tutorial",{"_index":761,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":1020,"title":{},"body":{"changelog.html":{}}}],["type",{"_index":51,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":1397,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["types",{"_index":638,"title":{},"body":{"changelog.html":{}}}],["types/lru",{"_index":1183,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":215,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":1081,"title":{},"body":{"changelog.html":{}}}],["ufl",{"_index":877,"title":{},"body":{"changelog.html":{}}}],["ui",{"_index":12,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"index.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["ui.netlify.app",{"_index":1288,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":1298,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":1295,"title":{},"body":{"index.html":{}}}],["ui/organ",{"_index":1297,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":1296,"title":{},"body":{"index.html":{}}}],["uis",{"_index":536,"title":{},"body":{"changelog.html":{}}}],["undefined",{"_index":368,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["underlying",{"_index":308,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["uniqueorganurls",{"_index":451,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["uniqueorganurls.size",{"_index":453,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["university",{"_index":1328,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":227,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/InputDataFormat.html":{}}}],["unnecessary",{"_index":782,"title":{},"body":{"changelog.html":{}}}],["unsafe",{"_index":447,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["unselect",{"_index":845,"title":{},"body":{"changelog.html":{}}}],["unsubscribable",{"_index":328,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["unsubscribe",{"_index":367,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["until",{"_index":890,"title":{},"body":{"changelog.html":{}}}],["up",{"_index":616,"title":{},"body":{"changelog.html":{}}}],["update",{"_index":558,"title":{},"body":{"changelog.html":{}}}],["updated",{"_index":528,"title":{},"body":{"changelog.html":{}}}],["updates",{"_index":605,"title":{},"body":{"changelog.html":{}}}],["upgraded",{"_index":1005,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":1086,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":802,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":920,"title":{},"body":{"changelog.html":{}}}],["usage",{"_index":538,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":1312,"title":{},"body":{"index.html":{}}}],["use",{"_index":535,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["usecase",{"_index":1318,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":1315,"title":{},"body":{"index.html":{}}}],["used",{"_index":905,"title":{},"body":{"changelog.html":{}}}],["user",{"_index":522,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["user/os",{"_index":771,"title":{},"body":{"changelog.html":{}}}],["users",{"_index":1104,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":789,"title":{},"body":{"changelog.html":{}}}],["using",{"_index":329,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["utilities",{"_index":777,"title":{},"body":{"changelog.html":{}}}],["uuid",{"_index":1258,"title":{},"body":{"dependencies.html":{}}}],["v1.1",{"_index":681,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":546,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":534,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":904,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":683,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":675,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":637,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":598,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":559,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":611,"title":{},"body":{"changelog.html":{}}}],["v2.1.0",{"_index":544,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":530,"title":{},"body":{"changelog.html":{}}}],["v3",{"_index":566,"title":{},"body":{"changelog.html":{}}}],["value",{"_index":68,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"miscellaneous/variables.html":{}}}],["values",{"_index":276,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["var",{"_index":144,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["variable",{"_index":1130,"title":{},"body":{"coverage.html":{}}}],["variables",{"_index":1399,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["version",{"_index":696,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["very",{"_index":994,"title":{},"body":{"changelog.html":{}}}],["via",{"_index":632,"title":{},"body":{"changelog.html":{}}}],["video",{"_index":803,"title":{},"body":{"changelog.html":{}}}],["view",{"_index":788,"title":{},"body":{"changelog.html":{}}}],["viewchild",{"_index":82,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["viewchild('bodyui",{"_index":63,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["viewer",{"_index":871,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":588,"title":{},"body":{"changelog.html":{}}}],["views",{"_index":791,"title":{},"body":{"changelog.html":{}}}],["visual",{"_index":586,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":835,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":1006,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":170,"title":{},"body":{"modules/AppModule.html":{},"injectables/DataSourceService.html":{}}}],["vs",{"_index":757,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":1115,"title":{},"body":{"changelog.html":{}}}],["walkthrough",{"_index":1314,"title":{},"body":{"index.html":{}}}],["warming",{"_index":631,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":1029,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":1372,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1369,"title":{},"body":{"license.html":{}}}],["wc",{"_index":148,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["wc/src/app/app",{"_index":192,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["wc/src/app/app.component.ts",{"_index":13,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{}}}],["wc/src/app/app.component.ts:21",{"_index":66,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.component.ts:23",{"_index":56,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.component.ts:24",{"_index":57,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.component.ts:25",{"_index":55,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.component.ts:27",{"_index":70,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.component.ts:28",{"_index":72,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.component.ts:29",{"_index":76,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.component.ts:31",{"_index":47,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.component.ts:39",{"_index":58,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.module.ts",{"_index":164,"title":{},"body":{"modules/AppModule.html":{}}}],["wc/src/app/app.module.ts:23",{"_index":169,"title":{},"body":{"modules/AppModule.html":{}}}],["wc/src/app/core/constants.ts",{"_index":1129,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["wc/src/app/core/highlight.operator.ts",{"_index":1131,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["wc/src/app/core/services/data",{"_index":239,"title":{},"body":{"injectables/DataSourceService.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["wc/src/app/core/services/filtered",{"_index":378,"title":{},"body":{"injectables/FilteredSceneService.html":{},"coverage.html":{}}}],["wc/src/app/core/store/store.module.ts",{"_index":486,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["wc/src/app/core/zoom",{"_index":1138,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["web",{"_index":181,"title":{},"body":{"modules/AppModule.html":{},"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["webcomponent",{"_index":756,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":1185,"title":{},"body":{"dependencies.html":{}}}],["webpages",{"_index":701,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":1283,"title":{},"body":{"index.html":{}}}],["week",{"_index":1121,"title":{},"body":{"changelog.html":{}}}],["whether",{"_index":1385,"title":{},"body":{"license.html":{}}}],["whole",{"_index":1117,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":139,"title":{},"body":{"components/AppComponent.html":{},"changelog.html":{}}}],["within",{"_index":875,"title":{},"body":{"changelog.html":{}}}],["without",{"_index":718,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["workflows",{"_index":945,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":689,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":965,"title":{},"body":{"changelog.html":{}}}],["x",{"_index":123,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["x_dimension",{"_index":122,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["y",{"_index":125,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["y_dimension",{"_index":124,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["yes",{"_index":277,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["youtube",{"_index":725,"title":{},"body":{"changelog.html":{}}}],["z",{"_index":127,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["z_dimension",{"_index":126,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["zone.js",{"_index":1260,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":162,"title":{},"body":{"modules/AppModule.html":{},"injectables/FilteredSceneService.html":{},"overview.html":{}}}],["zoomto",{"_index":442,"title":{},"body":{"injectables/FilteredSceneService.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["zoomto(id",{"_index":1273,"title":{},"body":{"miscellaneous/functions.html":{}}}],["zoomto(this.zoomtoid",{"_index":412,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["zoomtoid",{"_index":97,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}]],"pipeline":["stemmer"]}, - "store": {"components/AppComponent.html":{"url":"components/AppComponent.html","title":"component - AppComponent","body":"\n \n\n\n\n\n\n Components\n \n AppComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-body-ui-wc/src/app/app.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root\n \n\n \n styleUrls\n ./app.component.scss\n \n\n\n\n \n templateUrl\n ./app.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n bodyUI\n \n \n Readonly\n data$\n \n \n organs$\n \n \n scene$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n reset\n \n \n \n \n\n\n \n \n Outputs\n \n \n \n \n \n \n onClick\n \n \n onMouseEnter\n \n \n onMouseLeave\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configState: GlobalConfigState, sceneSource: FilteredSceneService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:31\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configState\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n sceneSource\n \n \n FilteredSceneService\n \n \n \n No\n \n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n Outputs\n \n \n \n \n \n onClick\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:25\n \n \n \n \n \n \n \n \n \n onMouseEnter\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:23\n \n \n \n \n \n \n \n \n \n onMouseLeave\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:24\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n reset\n \n \n \n \n \n \n \n reset()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:39\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n bodyUI\n \n \n \n \n \n \n Type : BodyUiComponent\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('bodyUI', {static: true})\n \n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n data$\n \n \n \n \n \n \n Default value : this.configState.getOption('data')\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n organs$\n \n \n \n \n \n \n Default value : this.sceneSource.filteredOrgans$\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n scene$\n \n \n \n \n \n \n Default value : this.sceneSource.filteredScene$.pipe(\n tap((_) => this.reset())\n )\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:29\n \n \n\n\n \n \n\n\n\n\n\n \n import { FilteredSceneService } from './core/services/filtered-scene/filtered-scene.service';\nimport { Component, EventEmitter, Output, ViewChild, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { BodyUiComponent, GlobalConfigState } from 'ccf-shared';\nimport { take, tap } from 'rxjs/operators';\nimport { JsonLdObj } from 'jsonld/jsonld-spec';\n\n\nexport interface GlobalConfig {\n highlightID?: string;\n zoomToID?: string;\n data?: JsonLdObj[];\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n @ViewChild('bodyUI', { static: true }) readonly bodyUI!: BodyUiComponent;\n\n @Output() readonly onMouseEnter = new EventEmitter();\n @Output() readonly onMouseLeave = new EventEmitter();\n @Output() readonly onClick = new EventEmitter();\n\n readonly data$ = this.configState.getOption('data');\n organs$ = this.sceneSource.filteredOrgans$;\n scene$ = this.sceneSource.filteredScene$.pipe(\n tap((_) => this.reset())\n );\n\n constructor(\n private readonly configState: GlobalConfigState,\n private readonly sceneSource: FilteredSceneService,\n private readonly cdr: ChangeDetectorRef\n ) { }\n\n private async reset(): Promise {\n const { bodyUI } = this;\n\n // eslint-disable-next-line no-promise-executor-return\n await new Promise((resolve) => setTimeout(resolve, 200));\n const organs = await this.organs$.pipe(take(1)).toPromise();\n const hasZoomingNode = !!bodyUI.scene?.find((node) => node.zoomToOnLoad) ?? false;\n\n bodyUI.rotation = 0;\n bodyUI.rotationX = 0;\n\n if (!hasZoomingNode) {\n if (organs.length === 1) {\n const { x_dimension: x, y_dimension: y, z_dimension: z } = organs[0];\n bodyUI.bounds = { x: 1.25 * x / 1000, y: 1.25 * y / 1000, z: 1.25 * z / 1000 };\n bodyUI.target = [x / 1000 / 2, y / 1000 / 2, z / 1000 / 2];\n } else {\n bodyUI.bounds = { x: 2.2, y: 2, z: 0.4 };\n bodyUI.target = [0, 0, 0];\n }\n }\n\n this.cdr.detectChanges();\n }\n}\n\n \n\n \n \n\n \n\n \n \n ./app.component.scss\n \n .body-ui {\n height: 100%;\n width: 100%;\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AppModule.html":{"url":"modules/AppModule.html","title":"module - AppModule","body":"\n \n\n\n\n\n Modules\n AppModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_AppModule_declarations\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nStoreModule\n\nStoreModule\n\nAppModule -->\n\nStoreModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-body-ui-wc/src/app/app.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n AppComponent\n \n \n AppWebComponent\n \n \n \n \n EntryComponents\n \n \n AppComponent\n \n \n \n \n Imports\n \n \n StoreModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngDoBootstrap\n \n \n \n \n \n \nngDoBootstrap()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.module.ts:23\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { DoBootstrap, Injector, NgModule } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { AppComponent } from './app.component';\nimport { AppWebComponent } from './app-web-component.component';\nimport { StoreModule } from './core/store/store.module';\nimport { BodyUiModule } from 'ccf-shared';\n\n@NgModule({\n imports: [\n BrowserModule,\n StoreModule,\n BodyUiModule\n ],\n declarations: [AppComponent, AppWebComponent],\n providers: [],\n entryComponents: [AppComponent]\n})\nexport class AppModule implements DoBootstrap {\n constructor(private readonly injector: Injector) { }\n\n ngDoBootstrap(): void {\n const appElement = createCustomElement(AppWebComponent, {\n injector: this.injector\n });\n\n customElements.define('ccf-body-ui-wc', appElement);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppWebComponent.html":{"url":"components/AppWebComponent.html","title":"component - AppWebComponent","body":"\n \n\n\n\n\n\n Components\n \n AppWebComponent\n\n\n\n \n Info\n \n \n Source\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-body-ui-wc/src/app/app-web-component.component.ts\n\n\n\n\n \n Extends\n \n \n BaseWebComponent\n \n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root-wc\n \n\n\n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n initialized\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n data\n \n \n highlightID\n \n \n zoomToID\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n onClick\n \n \n onMouseEnter\n \n \n onMouseLeave\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configStore: GlobalConfigState, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app-web-component.component.ts:40\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configStore\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n data\n \n \n \n \n Type : InputDataFormat[]\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app-web-component.component.ts:32\n \n \n \n \n \n \n \n \n \n highlightID\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app-web-component.component.ts:33\n \n \n \n \n \n \n \n \n \n zoomToID\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app-web-component.component.ts:34\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n onClick\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app-web-component.component.ts:38\n \n \n \n \n \n \n \n \n \n onMouseEnter\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app-web-component.component.ts:36\n \n \n \n \n \n \n \n \n \n onMouseLeave\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app-web-component.component.ts:37\n \n \n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n initialized\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app-web-component.component.ts:40\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { BaseWebComponent, GenericGlobalConfig } from 'ccf-shared/web-components';\nimport { JsonLdObj } from 'jsonld/jsonld-spec';\n\nimport { environment } from '../environments/environment';\n\n\nexport interface InputDataFormat {\n id: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n rui_location: JsonLdObj;\n}\n\n\nfunction toJsonLd(data: InputDataFormat[]): JsonLdObj[] {\n return data.map(d => ({\n '@id': `http://purl.org/ccf/1.5/entity/${d.id}`,\n '@type': 'http://purl.org/ccf/latest/ccf-entity.owl#Sample',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity': d.rui_location\n })) as unknown as JsonLdObj[];\n}\n\n@Component({\n selector: 'ccf-root-wc',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppWebComponent extends BaseWebComponent {\n @Input() data: InputDataFormat[];\n @Input() highlightID: string;\n @Input() zoomToID: string;\n\n @Output() readonly onMouseEnter = new EventEmitter();\n @Output() readonly onMouseLeave = new EventEmitter();\n @Output() readonly onClick = new EventEmitter();\n\n initialized: boolean;\n\n constructor(\n configStore: GlobalConfigState,\n cdr: ChangeDetectorRef\n ) {\n super(configStore, cdr, {\n initialDelay: 10,\n\n initialConfig: {\n ...environment.dbOptions,\n ...globalThis['dbOptions']\n },\n parse: {\n data: toJsonLd\n }\n });\n }\n}\n\n \n\n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppWebComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DataSourceService.html":{"url":"injectables/DataSourceService.html","title":"injectable - DataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n DataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts\n \n\n\n \n Description\n \n \n Backend data queries.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n dataSource\n \n \n dbOptions\n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n connectDataSource\n \n \n Private\n createDataSource\n \n \n getAggregateResults\n \n \n getCellTypeTermOccurences\n \n \n getCellTypeTreeModel\n \n \n getOntologyTermOccurences\n \n \n getOntologyTreeModel\n \n \n getOrganScene\n \n \n getReferenceOrgans\n \n \n getScene\n \n \n getTissueBlockResults\n \n \n ngOnDestroy\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(locator: LocationStrategy, globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:43\n \n \n\n \n \n Creates an instance of data source service.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n locator\n \n \n LocationStrategy\n \n \n \n No\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n connectDataSource\n \n \n \n \n \n \n \n connectDataSource(source: DataSource, config: CCFDatabaseOptions)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:187\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n DataSource\n \n\n \n No\n \n\n\n \n \n config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createDataSource\n \n \n \n \n \n \n \n createDataSource()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:180\n \n \n\n\n \n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:90\n \n \n\n\n \n \n Queries for aggregate values.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n Currently applied filter.\n\n \n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n An observable emitting the results.\n\n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:116\n \n \n\n\n \n \n Queries for cell type term counts.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n Currently applied filter.\n\n \n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n An observable emitting the results.\n\n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:140\n \n \n\n\n \n \n Get the cell type tree model.\n\n\n \n \n \n Returns : Observable\n\n \n \n An observable emitting the results.\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:103\n \n \n\n\n \n \n Queries for ontology term counts.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n Currently applied filter.\n\n \n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n An observable emitting the results.\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:128\n \n \n\n\n \n \n Get the ontology tree model.\n\n\n \n \n \n Returns : Observable\n\n \n \n An observable emitting the results.\n\n \n \n \n \n \n \n \n \n \n \n \n getOrganScene\n \n \n \n \n \n \ngetOrganScene(organ: string, filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:173\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organ\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:153\n \n \n\n\n \n \n Get the reference organs.\n\n\n \n \n \n Returns : Observable\n\n \n \n An observable emitting the results.\n\n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:166\n \n \n\n\n \n \n Queries for scene nodes to display.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n Currently applied filter.\n\n \n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n An observable emitting the results.\n\n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:77\n \n \n\n\n \n \n Queries for tissue block values.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n Currently applied filter.\n\n \n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n An observable emitting the results.\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:67\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n dataSource\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:39\n \n \n\n \n \n The underlying database.\n\n \n \n\n \n \n \n \n \n \n \n \n dbOptions\n \n \n \n \n \n \n Type : CCFDatabaseOptions\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:41\n \n \n\n \n \n Database initialization options.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:43\n \n \n\n\n \n \n\n\n \n\n\n \n import { DEFAULT_CCF_DB_OPTIONS } from './../../../../../../ccf-database/src/lib/ccf-database';\n/* eslint-disable @typescript-eslint/no-shadow */\nimport { LocationStrategy } from '@angular/common';\nimport { Injectable, OnDestroy } from '@angular/core';\nimport {\n AggregateResult,\n CCFDatabase,\n CCFDatabaseOptions,\n Filter,\n OntologyTreeModel,\n SpatialEntity,\n SpatialSceneNode,\n TissueBlockResult\n} from 'ccf-database';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { Remote } from 'comlink';\nimport { Observable, Subscription, Unsubscribable, using } from 'rxjs';\nimport { distinctUntilChanged, filter, map, shareReplay, switchMap, take } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\n\n\ntype DataSource = Remote | CCFDatabase;\n\n\nfunction compareConfig(previous: CCFDatabaseOptions, current: CCFDatabaseOptions): boolean {\n return previous === current;\n}\n\n\n/**\n * Backend data queries.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DataSourceService implements OnDestroy {\n /** The underlying database. */\n dataSource: Observable;\n /** Database initialization options. */\n dbOptions: CCFDatabaseOptions;\n\n private readonly subscriptions = new Subscription();\n\n /**\n * Creates an instance of data source service.\n */\n constructor(\n private readonly locator: LocationStrategy,\n private readonly globalConfig: GlobalConfigState\n ) {\n this.dataSource = globalConfig.getOption('data').pipe(\n map(data => ({ ...DEFAULT_CCF_DB_OPTIONS, dataSources: data })),\n filter(config => Object.keys(config).length > 0),\n map((config) => config as unknown as CCFDatabaseOptions),\n distinctUntilChanged(compareConfig),\n switchMap(config => using(\n () => this.createDataSource(),\n (resource) => this.connectDataSource((resource as unknown as { source: DataSource }).source, config)\n )),\n shareReplay(1)\n );\n\n this.subscriptions.add(this.dataSource.subscribe());\n }\n\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Queries for tissue block values.\n *\n * @param [filter] Currently applied filter.\n * @returns An observable emitting the results.\n */\n getTissueBlockResults(filter?: Filter): Observable {\n return this.dataSource.pipe(\n switchMap(db => db.getTissueBlockResults(filter)),\n take(1)\n );\n }\n\n /**\n * Queries for aggregate values.\n *\n * @param [filter] Currently applied filter.\n * @returns An observable emitting the results.\n */\n getAggregateResults(filter?: Filter): Observable {\n return this.dataSource.pipe(\n switchMap(db => db.getAggregateResults(filter)),\n take(1)\n );\n }\n\n /**\n * Queries for ontology term counts.\n *\n * @param [filter] Currently applied filter.\n * @returns An observable emitting the results.\n */\n getOntologyTermOccurences(filter?: Filter): Observable> {\n return this.dataSource.pipe(\n switchMap(db => db.getOntologyTermOccurences(filter)),\n take(1)\n );\n }\n\n /**\n * Queries for cell type term counts.\n *\n * @param [filter] Currently applied filter.\n * @returns An observable emitting the results.\n */\n getCellTypeTermOccurences(filter?: Filter): Observable> {\n return this.dataSource.pipe(\n switchMap(db => db.getCellTypeTermOccurences(filter)),\n take(1)\n );\n }\n\n /**\n * Get the ontology tree model.\n *\n * @returns An observable emitting the results.\n */\n getOntologyTreeModel(): Observable {\n return this.dataSource.pipe(\n switchMap(db => db.getOntologyTreeModel()),\n take(1)\n );\n }\n\n /**\n * Get the cell type tree model.\n *\n * @returns An observable emitting the results.\n */\n getCellTypeTreeModel(): Observable {\n return this.dataSource.pipe(\n switchMap(db => db.getCellTypeTreeModel()),\n take(1)\n );\n }\n\n\n /**\n * Get the reference organs.\n *\n * @returns An observable emitting the results.\n */\n getReferenceOrgans(): Observable {\n return this.dataSource.pipe(\n switchMap(db => db.getReferenceOrgans()),\n take(1)\n );\n }\n\n /**\n * Queries for scene nodes to display.\n *\n * @param [filter] Currently applied filter.\n * @returns An observable emitting the results.\n */\n getScene(filter?: Filter): Observable {\n return this.dataSource.pipe(\n switchMap(db => db.getScene(filter)),\n take(1)\n );\n }\n\n getOrganScene(organ: string, filter?: Filter): Observable {\n return this.dataSource.pipe(\n switchMap(db => db.getReferenceOrganScene(organ, filter)),\n take(1)\n );\n }\n\n private createDataSource(): { source: DataSource } & Unsubscribable {\n const unsubscribe: () => void = () => undefined;\n const source = new CCFDatabase();\n\n return { source, unsubscribe };\n }\n\n private async connectDataSource(source: DataSource, config: CCFDatabaseOptions): Promise {\n const start = new Date().getTime();\n\n await source.connect(config, false);\n\n if (!environment.production) {\n // eslint-disable-next-line no-console\n console.info(`Loaded CCF database in ${ ((new Date()).getTime() - start) / 1000 }s`);\n // eslint-disable-next-line no-console\n console.log(source);\n }\n return source;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilteredSceneService.html":{"url":"injectables/FilteredSceneService.html","title":"injectable - FilteredSceneService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n FilteredSceneService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n data$\n \n \n Readonly\n filteredOrgans$\n \n \n Readonly\n filteredScene$\n \n \n Readonly\n highlightID$\n \n \n Readonly\n organs$\n \n \n Readonly\n referenceOrgans$\n \n \n Readonly\n scene$\n \n \n Readonly\n zoomToID$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n chooseScene\n \n \n Private\n filterSceneNodes\n \n \n Private\n getNeededReferenceOrgans\n \n \n Private\n getNeededSkins\n \n \n Private\n selectOrgans\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configState: GlobalConfigState, source: DataSourceService)\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:47\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configState\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n source\n \n \n DataSourceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n chooseScene\n \n \n \n \n \n \n \n chooseScene(data?: JsonLdObj[], organs?: SpatialEntity[])\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n JsonLdObj[]\n \n\n \n Yes\n \n\n\n \n \n organs\n \n SpatialEntity[]\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n filterSceneNodes\n \n \n \n \n \n \n \n filterSceneNodes(nodes: SpatialSceneNode[], organs: Set, referenceOrgans: SpatialEntity[])\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n nodes\n \n SpatialSceneNode[]\n \n\n \n No\n \n\n\n \n \n organs\n \n Set\n \n\n \n No\n \n\n\n \n \n referenceOrgans\n \n SpatialEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getNeededReferenceOrgans\n \n \n \n \n \n \n \n getNeededReferenceOrgans(referenceOrgans: SpatialEntity[], organs: Set)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n referenceOrgans\n \n SpatialEntity[]\n \n\n \n No\n \n\n\n \n \n organs\n \n Set\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getNeededSkins\n \n \n \n \n \n \n \n getNeededSkins(organs: SpatialEntity[])\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organs\n \n SpatialEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n selectOrgans\n \n \n \n \n \n \n \n selectOrgans(data: Any[] | undefined)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n Any[] | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Set\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n data$\n \n \n \n \n \n \n Default value : this.configState.getOption('data')\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n filteredOrgans$\n \n \n \n \n \n \n Default value : combineLatest([this.organs$, this.referenceOrgans$]).pipe(\n map(([organs, referenceOrgans]) => this.getNeededReferenceOrgans(referenceOrgans, organs)),\n shareReplay(1)\n )\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n filteredScene$\n \n \n \n \n \n \n Default value : combineLatest([this.scene$, this.organs$, this.referenceOrgans$]).pipe(\n map(([nodes, organs, referenceOrgans]) => this.filterSceneNodes(nodes, organs, referenceOrgans)),\n hightlight(this.highlightID$, HIGHLIGHT_YELLOW),\n zoomTo(this.zoomToID$),\n shareReplay(1)\n )\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n highlightID$\n \n \n \n \n \n \n Default value : this.configState.getOption('highlightID').pipe(\n map(id => `http://purl.org/ccf/1.5/entity/${id}`)\n )\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n organs$\n \n \n \n \n \n \n Default value : this.configState.getOption('data').pipe(\n map(data => this.selectOrgans(data)),\n shareReplay(1)\n )\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n referenceOrgans$\n \n \n \n \n \n \n Default value : this.source.getReferenceOrgans()\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n scene$\n \n \n \n \n \n \n Default value : combineLatest([this.data$, this.referenceOrgans$, this.source.dataSource]).pipe(\n switchMap(([data, referenceOrgans, _]) => this.chooseScene(data, referenceOrgans))\n )\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n zoomToID$\n \n \n \n \n \n \n Default value : this.configState.getOption('zoomToID').pipe(\n map(id => `http://purl.org/ccf/1.5/entity/${id}`)\n )\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:19\n \n \n\n\n \n \n\n\n \n\n\n \n import { SpatialSceneNode, SpatialEntity, Filter } from 'ccf-database';\nimport { combineLatest, Observable, of } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { DataSourceService } from '../data-source/data-source.service';\nimport { map, shareReplay, switchMap } from 'rxjs/operators';\nimport { Any } from '@angular-ru/common/typings';\nimport { FEMALE_SKIN_URL, HIGHLIGHT_YELLOW, MALE_SKIN_URL, SPATIAL_ENTITY_URL } from '../../constants';\nimport { hightlight } from '../../highlight.operator';\nimport { GlobalConfig } from '../../../app.component';\nimport { zoomTo } from '../../zoom-to.operator';\nimport { JsonLdObj } from 'jsonld/jsonld-spec';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FilteredSceneService {\n readonly data$ = this.configState.getOption('data');\n readonly zoomToID$ = this.configState.getOption('zoomToID').pipe(\n map(id => `http://purl.org/ccf/1.5/entity/${id}`)\n );\n readonly highlightID$ = this.configState.getOption('highlightID').pipe(\n map(id => `http://purl.org/ccf/1.5/entity/${id}`)\n );\n\n readonly referenceOrgans$ = this.source.getReferenceOrgans();\n\n readonly scene$ = combineLatest([this.data$, this.referenceOrgans$, this.source.dataSource]).pipe(\n switchMap(([data, referenceOrgans, _]) => this.chooseScene(data, referenceOrgans))\n );\n\n readonly organs$ = this.configState.getOption('data').pipe(\n map(data => this.selectOrgans(data)),\n shareReplay(1)\n );\n\n readonly filteredOrgans$ = combineLatest([this.organs$, this.referenceOrgans$]).pipe(\n map(([organs, referenceOrgans]) => this.getNeededReferenceOrgans(referenceOrgans, organs)),\n shareReplay(1)\n );\n\n readonly filteredScene$ = combineLatest([this.scene$, this.organs$, this.referenceOrgans$]).pipe(\n map(([nodes, organs, referenceOrgans]) => this.filterSceneNodes(nodes, organs, referenceOrgans)),\n hightlight(this.highlightID$, HIGHLIGHT_YELLOW),\n zoomTo(this.zoomToID$),\n shareReplay(1)\n );\n\n constructor(\n private readonly configState: GlobalConfigState,\n private readonly source: DataSourceService\n ) { }\n\n private chooseScene(data?: JsonLdObj[], organs?: SpatialEntity[]): Observable {\n const organUrls = data?.map(obj => {\n const block: Any = obj[SPATIAL_ENTITY_URL];\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return block?.placement.target;\n }) ?? [];\n const uniqueOrganUrls = new Set(organUrls);\n\n if (uniqueOrganUrls.size > 1) {\n return this.source.getScene();\n } else if (organs) {\n const organ = organs.find(tempOrgan => tempOrgan['@id'] === organUrls[0]);\n if (organ) {\n return this.source.getOrganScene(organ.representation_of as string, { ontologyTerms: [organ.reference_organ as string], sex: organ.sex } as Filter);\n }\n }\n return of([]);\n }\n\n private selectOrgans(data: Any[] | undefined): Set {\n const selectOrgan = (item: Any) =>\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n item[SPATIAL_ENTITY_URL].placement.target;\n\n const organs = (data ?? []).map(selectOrgan);\n return new Set(organs);\n }\n\n private filterSceneNodes(nodes: SpatialSceneNode[], organs: Set, referenceOrgans: SpatialEntity[]): SpatialSceneNode[] {\n const neededReferenceOrgans = this.getNeededReferenceOrgans(referenceOrgans, organs);\n const neededSkins = this.getNeededSkins(neededReferenceOrgans);\n const neededOrgans = new Set([...organs, ...neededSkins]);\n const filteredNodes = nodes.filter(node => !node.reference_organ || neededOrgans.has(node.reference_organ));\n\n return filteredNodes;\n }\n\n private getNeededReferenceOrgans(referenceOrgans: SpatialEntity[], organs: Set): SpatialEntity[] {\n return referenceOrgans.filter(organ => organs.has(organ.reference_organ ?? ''));\n }\n\n private getNeededSkins(organs: SpatialEntity[]): string[] {\n if (organs.length === 1) {\n return [];\n }\n\n const skins = new Set();\n organs.forEach(organ => {\n if (organ.sex === 'Female') {\n skins.add(FEMALE_SKIN_URL);\n } else if (organ.sex === 'Male') {\n skins.add(MALE_SKIN_URL);\n }\n });\n\n return [...skins];\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GlobalConfig.html":{"url":"interfaces/GlobalConfig.html","title":"interface - GlobalConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GlobalConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui-wc/src/app/app.component.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n data\n \n \n \n Optional\n \n highlightID\n \n \n \n Optional\n \n zoomToID\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: JsonLdObj[]\n\n \n \n\n\n \n \n Type : JsonLdObj[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n highlightID\n \n \n \n \n \n \n \n \n highlightID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n zoomToID\n \n \n \n \n \n \n \n \n zoomToID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { FilteredSceneService } from './core/services/filtered-scene/filtered-scene.service';\nimport { Component, EventEmitter, Output, ViewChild, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { BodyUiComponent, GlobalConfigState } from 'ccf-shared';\nimport { take, tap } from 'rxjs/operators';\nimport { JsonLdObj } from 'jsonld/jsonld-spec';\n\n\nexport interface GlobalConfig {\n highlightID?: string;\n zoomToID?: string;\n data?: JsonLdObj[];\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n @ViewChild('bodyUI', { static: true }) readonly bodyUI!: BodyUiComponent;\n\n @Output() readonly onMouseEnter = new EventEmitter();\n @Output() readonly onMouseLeave = new EventEmitter();\n @Output() readonly onClick = new EventEmitter();\n\n readonly data$ = this.configState.getOption('data');\n organs$ = this.sceneSource.filteredOrgans$;\n scene$ = this.sceneSource.filteredScene$.pipe(\n tap((_) => this.reset())\n );\n\n constructor(\n private readonly configState: GlobalConfigState,\n private readonly sceneSource: FilteredSceneService,\n private readonly cdr: ChangeDetectorRef\n ) { }\n\n private async reset(): Promise {\n const { bodyUI } = this;\n\n // eslint-disable-next-line no-promise-executor-return\n await new Promise((resolve) => setTimeout(resolve, 200));\n const organs = await this.organs$.pipe(take(1)).toPromise();\n const hasZoomingNode = !!bodyUI.scene?.find((node) => node.zoomToOnLoad) ?? false;\n\n bodyUI.rotation = 0;\n bodyUI.rotationX = 0;\n\n if (!hasZoomingNode) {\n if (organs.length === 1) {\n const { x_dimension: x, y_dimension: y, z_dimension: z } = organs[0];\n bodyUI.bounds = { x: 1.25 * x / 1000, y: 1.25 * y / 1000, z: 1.25 * z / 1000 };\n bodyUI.target = [x / 1000 / 2, y / 1000 / 2, z / 1000 / 2];\n } else {\n bodyUI.bounds = { x: 2.2, y: 2, z: 0.4 };\n bodyUI.target = [0, 0, 0];\n }\n }\n\n this.cdr.detectChanges();\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/InputDataFormat.html":{"url":"interfaces/InputDataFormat.html","title":"interface - InputDataFormat","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n InputDataFormat\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui-wc/src/app/app-web-component.component.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n rui_location\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rui_location\n \n \n \n \n \n \n \n \n rui_location: JsonLdObj\n\n \n \n\n\n \n \n Type : JsonLdObj\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { BaseWebComponent, GenericGlobalConfig } from 'ccf-shared/web-components';\nimport { JsonLdObj } from 'jsonld/jsonld-spec';\n\nimport { environment } from '../environments/environment';\n\n\nexport interface InputDataFormat {\n id: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n rui_location: JsonLdObj;\n}\n\n\nfunction toJsonLd(data: InputDataFormat[]): JsonLdObj[] {\n return data.map(d => ({\n '@id': `http://purl.org/ccf/1.5/entity/${d.id}`,\n '@type': 'http://purl.org/ccf/latest/ccf-entity.owl#Sample',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity': d.rui_location\n })) as unknown as JsonLdObj[];\n}\n\n@Component({\n selector: 'ccf-root-wc',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppWebComponent extends BaseWebComponent {\n @Input() data: InputDataFormat[];\n @Input() highlightID: string;\n @Input() zoomToID: string;\n\n @Output() readonly onMouseEnter = new EventEmitter();\n @Output() readonly onMouseLeave = new EventEmitter();\n @Output() readonly onClick = new EventEmitter();\n\n initialized: boolean;\n\n constructor(\n configStore: GlobalConfigState,\n cdr: ChangeDetectorRef\n ) {\n super(configStore, cdr, {\n initialDelay: 10,\n\n initialConfig: {\n ...environment.dbOptions,\n ...globalThis['dbOptions']\n },\n parse: {\n data: toJsonLd\n }\n });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StoreModule.html":{"url":"modules/StoreModule.html","title":"module - StoreModule","body":"\n \n\n\n\n\n Modules\n StoreModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-body-ui-wc/src/app/core/store/store.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { NgxsDataPluginModule } from '@ngxs-labs/data';\nimport { NgxsLoggerPluginModule } from '@ngxs/logger-plugin';\nimport { NgxsModule } from '@ngxs/store';\nimport { GlobalConfigState } from 'ccf-shared';\n\nimport { environment } from '../../../environments/environment';\n\n\n/**\n * States shared across the entire app.\n */\nexport const ROOT_STATES = [\n GlobalConfigState\n];\n\n@NgModule({\n imports: [\n // For some strange reason the data plugin is not happy being placed after the store module!?\n NgxsDataPluginModule.forRoot(),\n\n NgxsModule.forRoot(ROOT_STATES, {\n developmentMode: !environment.production\n // Consider setting compatibility and executionStrategy\n // https://www.ngxs.io/advanced/options\n }),\n\n // Logger plugin must be last!\n NgxsLoggerPluginModule.forRoot({\n disabled: environment.production\n })\n ]\n})\nexport class StoreModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/app-web-component.component.ts\n \n component\n AppWebComponent\n \n 0 %\n (0/9)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/app-web-component.component.ts\n \n interface\n InputDataFormat\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/app-web-component.component.ts\n \n function\n toJsonLd\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/app.component.ts\n \n component\n AppComponent\n \n 0 %\n (0/10)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/app.component.ts\n \n interface\n GlobalConfig\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/constants.ts\n \n variable\n FEMALE_SKIN_URL\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/constants.ts\n \n variable\n HIGHLIGHT_YELLOW\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/constants.ts\n \n variable\n MALE_SKIN_URL\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/constants.ts\n \n variable\n SPATIAL_ENTITY_URL\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/highlight.operator.ts\n \n function\n highlightIfMatching\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/highlight.operator.ts\n \n function\n hightlight\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts\n \n injectable\n DataSourceService\n \n 70 %\n (12/17)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts\n \n function\n compareConfig\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts\n \n injectable\n FilteredSceneService\n \n 0 %\n (0/15)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/store/store.module.ts\n \n variable\n ROOT_STATES\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/zoom-to.operator.ts\n \n function\n setZoomToIfMatching\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/zoom-to.operator.ts\n \n function\n zoomTo\n \n 0 %\n (0/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n compareConfig   (projects/.../data-source.service.ts)\n \n \n highlightIfMatching   (projects/.../highlight.operator.ts)\n \n \n hightlight   (projects/.../highlight.operator.ts)\n \n \n setZoomToIfMatching   (projects/.../zoom-to.operator.ts)\n \n \n toJsonLd   (projects/.../app-web-component.component.ts)\n \n \n zoomTo   (projects/.../zoom-to.operator.ts)\n \n \n \n \n \n \n\n\n projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts\n \n \n \n \n \n \n \n compareConfig\n \n \n \n \n \n \ncompareConfig(previous, current)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n previous\n\n \n No\n \n\n\n \n \n current\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/highlight.operator.ts\n \n \n \n \n \n \n \n highlightIfMatching\n \n \n \n \n \n \nhighlightIfMatching(entity, id, color)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n entity\n\n \n No\n \n\n\n \n \n id\n\n \n No\n \n\n\n \n \n color\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hightlight\n \n \n \n \n \n \nhightlight(id, color)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n id\n\n \n No\n \n\n\n \n \n color\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : MonoTypeOperatorFunction\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/zoom-to.operator.ts\n \n \n \n \n \n \n \n setZoomToIfMatching\n \n \n \n \n \n \nsetZoomToIfMatching(entity, id)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n entity\n\n \n No\n \n\n\n \n \n id\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n zoomTo\n \n \n \n \n \n \nzoomTo(id)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n id\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : MonoTypeOperatorFunction\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/app-web-component.component.ts\n \n \n \n \n \n \n \n toJsonLd\n \n \n \n \n \n \ntoJsonLd(data)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n data\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : JsonLdObj[]\n\n \n \n \n \n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AppModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StoreModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nStoreModule\n\nStoreModule\n\nAppModule -->\n\nStoreModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n \n\n \n \n \n \n \n \n 2 Modules\n \n \n \n \n \n \n \n \n 2 Components\n \n \n \n \n \n \n \n 2 Injectables\n \n \n \n \n \n \n \n 2 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n Color   (projects/.../highlight.operator.ts)\n \n \n DataSource   (projects/.../data-source.service.ts)\n \n \n \n \n \n \n\n\n projects/ccf-body-ui-wc/src/app/core/highlight.operator.ts\n \n \n \n \n \n \n Color\n \n \n \n \n [number, number, number, number]\n\n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts\n \n \n \n \n \n \n DataSource\n \n \n \n \n Remote | CCFDatabase\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n FEMALE_SKIN_URL   (projects/.../constants.ts)\n \n \n HIGHLIGHT_YELLOW   (projects/.../constants.ts)\n \n \n MALE_SKIN_URL   (projects/.../constants.ts)\n \n \n ROOT_STATES   (projects/.../store.module.ts)\n \n \n SPATIAL_ENTITY_URL   (projects/.../constants.ts)\n \n \n \n \n \n \n\n\n projects/ccf-body-ui-wc/src/app/core/constants.ts\n \n \n \n \n \n \n \n FEMALE_SKIN_URL\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'http://purl.org/ccf/latest/ccf.owl#VHFSkin'\n \n \n\n\n \n \n \n \n \n \n \n \n HIGHLIGHT_YELLOW\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [173, 255, 47, 229.5]\n \n \n\n\n \n \n \n \n \n \n \n \n MALE_SKIN_URL\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'http://purl.org/ccf/latest/ccf.owl#VHMSkin'\n \n \n\n\n \n \n \n \n \n \n \n \n SPATIAL_ENTITY_URL\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity'\n \n \n\n\n \n \n\n projects/ccf-body-ui-wc/src/app/core/store/store.module.ts\n \n \n \n \n \n \n \n ROOT_STATES\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n GlobalConfigState\n]\n \n \n\n \n \n States shared across the entire app.\n\n \n \n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} + "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/components/AppComponent.html",[0,0.743,1,0.996]],["body/components/AppComponent.html",[0,1.013,1,1.483,2,1.552,3,0.519,4,0.704,5,1.48,6,1.774,7,1.774,8,1.26,9,0.439,10,0.8,11,0.523,12,0.523,13,1.48,14,1.48,15,1.803,16,1.48,17,2.106,18,1.001,19,1.359,20,2.539,21,2.965,22,2.539,23,2.539,24,0.519,25,1.164,26,1.816,27,3.236,28,1.106,29,1.978,30,1.812,31,1.803,32,2.53,33,2.473,34,2.299,35,2.539,36,2.106,37,2.106,38,2.106,39,1.343,40,1.774,41,1.284,42,2.965,43,1.978,44,2.106,45,2.299,46,2.02,47,2.221,48,1.085,49,0.058,50,1.812,51,1.001,52,0.813,53,2.118,54,2.605,55,2.221,56,2.221,57,2.221,58,2.221,59,1.085,60,2.473,61,2.965,62,2.221,63,2.539,64,2.539,65,2.539,66,2.221,67,1.812,68,2.106,69,2.118,70,2.221,71,2.539,72,2.221,73,2.539,74,2.539,75,2.539,76,2.221,77,1.358,78,1.774,79,1.26,80,1.774,81,2.299,82,1.774,83,1.26,84,0.606,85,0.519,86,1.26,87,1.774,88,1.26,89,1.343,90,1.085,91,0.938,92,1.007,93,0.606,94,0.813,95,1.085,96,1.164,97,1.085,98,1.774,99,0.704,100,1.284,101,1.712,102,0.938,103,0.938,104,0.813,105,0.938,106,1.774,107,0.938,108,2.118,109,1.774,110,1.774,111,1.774,112,1.774,113,2.539,114,1.774,115,1.774,116,1.48,117,1.774,118,2.432,119,1.774,120,1.48,121,1.26,122,1.774,123,3.425,124,1.774,125,3.425,126,1.774,127,3.425,128,1.774,129,2.539,130,2.965,131,2.972,132,2.539,133,2.299,134,1.774,135,1.774,136,1.774,137,2.221,138,2.539,139,1.774,140,1.774,141,2.539,142,1.803,143,1.774,144,3.236,145,1.774,146,1.774,147,0.813,148,1.26,149,1.774,150,1.774,151,0.023,152,0.033,153,0.023]],["title/modules/AppModule.html",[154,1.812,155,1.543]],["body/modules/AppModule.html",[1,1.879,3,0.764,4,1.036,9,0.647,10,0.68,11,0.481,12,0.481,18,0.764,26,1.197,31,1.855,34,1.855,46,1.381,49,0.057,59,1.596,77,1.607,84,0.893,85,0.764,92,1.036,99,1.036,101,1.381,147,1.829,148,1.855,151,0.034,152,0.043,153,0.034,155,2.959,156,1.596,157,2.014,158,2.612,159,2.612,160,2.612,161,2.439,162,2.748,163,2.178,164,3.269,165,4.125,166,4.125,167,3.295,168,4.519,169,3.269,170,3.295,171,4.125,172,4.745,173,3.295,174,3.269,175,2.612,176,4.125,177,2.612,178,1.855,179,2.612,180,2.178,181,1.381,182,3.269,183,3.269,184,4.125,185,2.612,186,2.612,187,3.269,188,4.125,189,3.269,190,3.269,191,3.269]],["title/components/AppWebComponent.html",[0,0.743,147,0.996]],["body/components/AppWebComponent.html",[0,1.09,1,0.931,2,1.949,3,0.594,4,0.805,5,2.328,7,2.031,8,1.442,9,0.503,10,0.813,11,0.525,12,0.525,14,1.694,15,1.982,16,2.328,17,2.439,18,1.088,19,1.462,24,0.594,25,1.279,26,1.462,28,1.174,35,2.791,36,2.265,37,2.265,38,2.265,39,1.476,41,1.362,44,2.439,45,2.439,46,2.053,48,1.241,49,0.057,50,1.949,51,1.152,52,0.931,54,2.706,77,1.428,81,2.439,83,1.442,84,0.694,85,0.594,89,1.816,90,1.241,91,1.074,92,1.107,93,0.694,95,1.949,96,1.65,97,1.949,99,0.805,100,1.265,102,1.476,103,1.476,104,1.279,105,1.476,107,1.074,140,2.031,141,2.791,142,1.982,143,2.031,144,3.434,145,2.031,146,2.031,147,1.574,148,2.265,149,2.031,150,2.031,151,0.027,152,0.037,153,0.027,181,2.083,192,2.797,193,1.442,194,2.791,195,3.189,196,3.189,197,3.494,198,2.542,199,3.494,200,2.791,201,2.439,202,2.542,203,2.542,204,2.542,205,2.542,206,2.542,207,2.542,208,1.982,209,3.434,210,2.031,211,2.031,212,1.442,213,1.442,214,1.982,215,1.476,216,2.791,217,2.791,218,2.031,219,1.442,220,1.694,221,2.031,222,2.031,223,2.328,224,2.031,225,1.694,226,2.031,227,1.694,228,2.031,229,2.031,230,1.694,231,2.031,232,2.031,233,2.031,234,2.031,235,1.442]],["title/injectables/DataSourceService.html",[236,1.328,237,1.543]],["body/injectables/DataSourceService.html",[3,0.344,4,1.383,8,1.865,9,0.291,10,0.791,11,0.511,12,0.511,18,0.768,19,0.538,24,0.344,25,0.852,26,1.311,28,0.978,29,1.137,30,1.137,31,1.321,32,2.526,33,1.926,39,0.984,41,1.041,46,2.009,48,2.021,49,0.058,50,2.021,51,1.1,52,1.515,59,2.377,60,1.551,67,0.718,68,0.834,77,1.35,84,0.402,85,0.344,86,0.834,88,0.834,92,0.466,94,1.058,96,1.058,99,0.466,100,1.135,101,1.221,102,1.221,103,1.221,104,0.852,105,0.984,107,1.914,108,0.98,116,0.98,118,0.834,131,0.98,151,0.015,152,0.024,153,0.05,170,2.309,186,1.175,208,0.834,212,0.834,213,0.834,215,0.621,219,0.834,227,1.551,236,1.137,237,1.321,238,0.98,239,2.721,240,2.342,241,0.834,242,3.809,243,1.86,244,3.018,245,3.404,246,2.89,247,2.89,248,2.328,249,3.287,250,2.328,251,2.328,252,3.287,253,2.328,254,3.287,255,2.328,256,3.287,257,2.328,258,2.328,259,3.287,260,1.471,261,3.287,262,2.328,263,2.328,264,2.328,265,2.328,266,2.328,267,2.328,268,2.861,269,4.261,270,1.471,271,1.471,272,2.328,273,3.499,274,1.471,275,2.328,276,3.287,277,3.043,278,3.486,279,3.486,280,4.148,281,4.754,282,2.328,283,1.471,284,2.625,285,3.287,286,3.287,287,1.471,288,2.625,289,2.328,290,1.471,291,2.625,292,1.471,293,2.328,294,1.471,295,0.834,296,1.471,297,1.551,298,2.328,299,1.471,300,1.86,301,1.86,302,2.328,303,1.471,304,1.86,305,1.551,306,1.471,307,1.471,308,2.328,309,2.659,310,1.471,311,2.328,312,1.86,313,2.89,314,2.328,315,1.471,316,1.175,317,1.471,318,1.175,319,2.328,320,1.471,321,2.309,322,1.471,323,1.175,324,0.98,325,1.471,326,1.86,327,1.175,328,2.328,329,1.86,330,0.98,331,1.471,332,1.175,333,1.175,334,1.175,335,1.175,336,1.86,337,0.98,338,1.175,339,1.471,340,1.471,341,1.175,342,1.471,343,1.471,344,1.471,345,1.471,346,1.471,347,1.471,348,1.471,349,1.471,350,1.471,351,1.175,352,1.471,353,1.471,354,3.582,355,4.261,356,4.261,357,1.471,358,4.261,359,1.471,360,1.471,361,1.471,362,1.471,363,1.471,364,1.471,365,1.471,366,1.471,367,2.328,368,1.175,369,2.328,370,1.471,371,1.471,372,1.175,373,2.328,374,1.471,375,1.471,376,1.471,377,1.471]],["title/injectables/FilteredSceneService.html",[43,1.328,236,1.328]],["body/injectables/FilteredSceneService.html",[3,0.403,4,1.135,9,0.341,10,0.802,11,0.518,12,0.518,18,0.616,19,0.632,24,0.403,25,0.966,26,1.883,28,1.156,29,2.476,30,1.563,31,1.496,32,2.801,39,1.114,40,1.379,41,1.135,43,1.288,46,2.035,48,1.987,49,0.058,50,1.987,51,0.951,52,1.49,53,1.758,59,1.885,67,2.132,68,2.477,69,1.758,77,1.492,79,2.758,84,0.471,85,0.403,88,0.98,89,1.514,90,0.843,91,0.729,92,0.547,94,0.632,95,1.563,96,1.312,97,1.563,99,0.547,100,1.135,101,1.961,102,1.114,103,1.114,104,0.966,105,1.114,107,1.89,120,1.15,121,1.496,151,0.018,152,0.028,153,0.018,162,1.15,179,1.379,215,1.114,236,1.288,237,2.033,238,1.15,240,0.843,273,1.758,277,2.107,280,2.557,295,1.496,300,1.379,305,1.15,309,1.15,316,2.107,323,3.883,324,2.712,330,1.15,332,1.379,333,1.379,334,1.379,338,1.379,341,2.107,351,3.251,368,2.557,378,3.883,379,1.379,380,3.201,381,3.201,382,4.937,383,2.638,384,2.638,385,2.638,386,2.638,387,2.638,388,1.727,389,2.638,390,1.727,391,2.638,392,3.574,393,1.727,394,2.638,395,1.727,396,2.638,397,1.727,398,2.638,399,1.727,400,1.727,401,2.638,402,3.584,403,2.638,404,3.201,405,1.727,406,2.638,407,2.638,408,2.638,409,2.638,410,2.638,411,2.133,412,2.638,413,1.727,414,2.638,415,3.584,416,3.584,417,1.727,418,2.638,419,2.638,420,1.727,421,2.638,422,1.727,423,2.638,424,2.638,425,2.638,426,2.638,427,2.638,428,2.638,429,1.727,430,2.638,431,1.727,432,1.727,433,1.727,434,0.98,435,1.727,436,1.15,437,1.15,438,1.15,439,1.727,440,1.15,441,1.727,442,1.15,443,1.727,444,1.727,445,1.727,446,1.727,447,2.638,448,2.638,449,2.638,450,1.727,451,1.727,452,1.727,453,1.727,454,1.727,455,1.727,456,1.727,457,1.727,458,1.727,459,1.727,460,1.727,461,1.379,462,3.201,463,1.727,464,1.379,465,1.727,466,1.727,467,1.727,468,1.727,469,2.638,470,1.727,471,1.727,472,1.727,473,2.638,474,1.727,475,1.727,476,1.727,477,1.727,478,1.727,479,2.638,480,1.727,481,1.727,482,1.727,483,1.727,484,1.727]],["title/interfaces/GlobalConfig.html",[93,0.743,94,0.996]],["body/interfaces/GlobalConfig.html",[0,0.99,1,0.983,3,0.627,4,0.85,9,0.531,10,0.443,11,0.286,12,0.286,13,1.788,15,1.523,18,0.847,19,0.983,20,2.144,21,2.144,22,2.144,23,2.144,24,0.627,25,1.327,26,1.802,27,2.896,28,1.254,29,1.77,30,1.31,32,2.495,33,1.788,34,1.523,36,1.523,37,1.523,38,1.523,39,1.134,41,1.149,42,2.144,43,1.77,44,1.523,45,2.057,49,0.058,51,0.959,52,1.733,53,1.788,54,2.495,60,2.416,61,2.896,63,2.144,64,2.144,65,2.144,69,1.788,71,2.144,73,2.144,74,2.144,75,2.144,77,1.455,78,2.144,79,1.523,80,2.144,81,2.495,82,2.144,83,1.523,84,0.733,85,0.627,86,1.523,87,2.144,88,1.523,89,1.858,90,1.31,91,1.134,92,1.149,93,0.733,94,1.327,95,2.147,96,1.733,97,2.147,98,2.144,99,0.85,100,1.393,101,1.858,102,1.134,103,1.134,104,0.983,105,1.134,106,2.144,107,1.134,108,2.416,109,2.144,110,2.144,111,2.144,112,2.144,113,2.896,114,2.144,115,2.144,116,1.788,117,2.144,118,2.605,119,2.144,120,1.788,121,1.523,122,2.144,123,3.669,124,2.144,125,3.669,126,2.144,127,3.669,128,2.144,129,2.896,130,3.28,131,3.153,132,2.896,133,2.495,134,2.144,135,2.144,136,2.144,151,0.028,152,0.038,153,0.028,485,1.31]],["title/interfaces/InputDataFormat.html",[93,0.743,201,1.543]],["body/interfaces/InputDataFormat.html",[0,1.085,2,1.506,3,0.721,4,0.977,5,2.055,9,0.61,10,0.509,11,0.328,12,0.328,15,1.75,16,2.055,17,1.75,18,1.027,19,1.129,24,0.721,25,1.455,26,1.61,28,1.085,36,1.75,37,1.75,38,1.75,39,1.303,41,1.259,44,2.255,45,2.255,49,0.057,51,1.027,54,2.635,77,1.523,81,2.635,83,1.75,84,0.842,85,0.721,89,2.079,90,1.506,91,1.303,92,1.259,93,0.842,95,1.506,96,1.76,97,1.506,99,0.977,100,1.393,102,1.679,103,1.679,104,1.455,105,1.679,107,1.303,147,1.129,148,1.75,151,0.032,152,0.042,153,0.032,181,1.303,192,1.75,193,1.75,194,2.464,195,3.175,196,2.464,200,2.464,201,2.635,208,1.75,209,3.71,210,2.464,211,2.464,212,1.75,213,1.75,214,2.727,215,1.679,216,3.175,217,3.175,218,3.71,219,1.75,220,2.055,221,2.464,222,2.464,223,2.648,224,2.464,225,2.055,226,2.464,227,2.055,228,2.464,229,2.464,230,2.055,231,2.464,232,2.464,233,2.464,234,2.464,235,1.75,485,1.506]],["title/modules/StoreModule.html",[154,1.812,161,1.328]],["body/modules/StoreModule.html",[3,0.824,4,1.117,9,0.697,10,0.581,11,0.375,12,0.375,18,0.824,28,0.963,41,1.37,49,0.058,77,1.613,84,0.963,85,1.01,92,1.37,99,1.117,101,1.489,151,0.037,152,0.045,153,0.037,154,2.349,156,1.721,161,2.111,167,2.816,173,3.453,180,2.349,212,2,213,2,372,3.453,486,2.349,487,3.526,488,2.816,489,2.816,490,3.526,491,2.816,492,3.735,493,3.526,494,2.816,495,2.816,496,2.816,497,2.349,498,3.526,499,3.526,500,3.526,501,2.816,502,3.526,503,3.526,504,3.526,505,3.526,506,3.526,507,3.526,508,3.526,509,3.526,510,3.526,511,3.526,512,3.526,513,3.526,514,3.526,515,3.526]],["title/changelog.html",[516,1.531,517,1.304,518,1.531]],["body/changelog.html",[0,0.668,2,0.765,3,0.753,6,0.728,8,0.517,9,0.18,11,0.379,12,0.406,14,1.63,17,0.889,18,1.138,19,0.334,25,0.334,28,1.256,29,2.032,30,1.737,46,0.385,49,0.04,51,0.213,52,0.334,67,0.445,85,0.213,86,0.517,91,1.362,93,0.929,94,0.334,100,1.207,104,1.18,121,0.889,133,1.388,139,0.728,142,0.517,151,0.01,152,0.016,153,0.037,157,1.195,178,0.889,181,1.272,185,0.728,214,0.517,215,0.662,230,2.148,243,0.728,244,0.607,268,0.728,273,1.63,278,1.646,279,0.728,284,1.955,291,3.043,295,2.647,297,2.859,301,2.202,304,3.265,305,1.373,309,1.837,312,1.252,329,1.955,337,1.044,392,1.955,434,1.564,461,1.252,464,0.728,485,0.445,501,0.728,517,1.169,518,1.044,519,1.646,520,1.646,521,1.955,522,2.842,523,1.567,524,1.567,525,3.011,526,2.719,527,5.275,528,0.728,529,1.567,530,0.728,531,4.567,532,2.405,533,0.911,534,2.757,535,2.447,536,4.005,537,0.911,538,1.567,539,2.447,540,1.567,541,2.061,542,0.911,543,1.567,544,0.911,545,4.005,546,0.911,547,1.373,548,1.567,549,3.265,550,0.728,551,0.911,552,1.252,553,1.252,554,1.252,555,3.403,556,0.911,557,0.911,558,0.911,559,2.061,560,1.567,561,2.061,562,0.911,563,1.252,564,0.911,565,0.911,566,2.842,567,1.567,568,2.757,569,2.061,570,2.061,571,0.911,572,1.567,573,1.567,574,3.966,575,1.567,576,0.911,577,2.46,578,0.911,579,4.23,580,0.911,581,1.567,582,0.911,583,2.061,584,1.567,585,2.061,586,2.061,587,2.447,588,1.567,589,2.061,590,0.911,591,1.567,592,1.567,593,0.911,594,3.223,595,3.011,596,3.223,597,1.567,598,0.911,599,0.911,600,4.23,601,2.447,602,0.911,603,1.567,604,0.911,605,0.911,606,1.567,607,2.061,608,2.202,609,0.911,610,1.567,611,0.911,612,0.911,613,0.911,614,1.567,615,0.911,616,3.011,617,0.911,618,0.911,619,0.911,620,2.061,621,1.646,622,0.911,623,0.911,624,1.252,625,0.911,626,3.011,627,3.809,628,1.567,629,2.757,630,0.911,631,1.567,632,3.011,633,1.567,634,0.911,635,2.447,636,0.911,637,0.911,638,1.567,639,0.911,640,3.223,641,3.771,642,0.911,643,0.911,644,1.567,645,0.911,646,0.911,647,1.567,648,2.061,649,0.911,650,0.911,651,0.911,652,0.911,653,1.567,654,0.911,655,0.911,656,0.911,657,0.728,658,4.088,659,0.911,660,0.728,661,0.911,662,1.567,663,0.728,664,0.911,665,1.567,666,2.447,667,2.447,668,0.911,669,1.567,670,2.061,671,0.911,672,0.911,673,1.567,674,0.911,675,0.911,676,3.011,677,1.708,678,2.202,679,1.646,680,0.911,681,2.202,682,0.911,683,2.061,684,2.719,685,4.005,686,0.911,687,0.911,688,1.567,689,1.646,690,0.911,691,0.911,692,0.911,693,2.757,694,0.911,695,0.911,696,0.911,697,0.911,698,2.061,699,0.911,700,1.252,701,1.252,702,0.911,703,2.719,704,0.911,705,0.911,706,0.911,707,0.911,708,0.911,709,2.202,710,2.202,711,1.567,712,0.911,713,0.911,714,1.567,715,1.567,716,0.911,717,1.567,718,1.567,719,1.567,720,1.567,721,0.911,722,2.061,723,0.911,724,0.911,725,0.728,726,0.911,727,1.646,728,0.728,729,1.567,730,1.567,731,0.911,732,0.911,733,1.567,734,1.567,735,1.567,736,1.567,737,0.911,738,0.911,739,0.911,740,0.911,741,2.061,742,0.911,743,1.567,744,0.911,745,0.911,746,1.567,747,3.011,748,1.252,749,0.911,750,0.728,751,0.911,752,0.911,753,0.911,754,2.061,755,1.567,756,3.011,757,1.252,758,1.567,759,2.447,760,0.911,761,0.911,762,0.911,763,0.911,764,0.911,765,1.567,766,1.567,767,0.911,768,1.567,769,0.911,770,1.567,771,0.911,772,1.567,773,0.911,774,0.911,775,0.911,776,0.911,777,0.911,778,0.911,779,1.567,780,0.911,781,0.911,782,0.911,783,0.911,784,0.911,785,0.911,786,1.567,787,0.911,788,0.911,789,0.911,790,0.911,791,0.911,792,1.567,793,0.911,794,3.011,795,0.911,796,0.911,797,2.061,798,2.061,799,1.567,800,0.728,801,0.911,802,0.728,803,0.728,804,0.911,805,1.567,806,0.911,807,0.911,808,0.911,809,0.911,810,1.567,811,1.567,812,0.911,813,1.567,814,1.567,815,0.911,816,1.567,817,2.447,818,2.061,819,0.911,820,0.911,821,0.911,822,0.911,823,0.728,824,0.911,825,1.567,826,0.911,827,0.911,828,1.567,829,2.447,830,0.911,831,0.911,832,0.911,833,0.911,834,3.011,835,2.061,836,1.567,837,0.911,838,0.911,839,2.061,840,1.567,841,1.567,842,1.567,843,2.447,844,0.911,845,1.388,846,0.911,847,0.911,848,1.567,849,0.911,850,0.911,851,0.911,852,0.911,853,0.911,854,2.447,855,0.911,856,2.061,857,2.447,858,0.911,859,2.061,860,2.757,861,1.567,862,1.567,863,1.567,864,1.567,865,2.061,866,2.447,867,2.757,868,1.567,869,2.061,870,0.911,871,0.911,872,3.223,873,2.061,874,0.911,875,2.447,876,2.447,877,3.558,878,0.911,879,0.911,880,0.911,881,0.911,882,0.911,883,0.911,884,1.567,885,0.911,886,1.567,887,0.911,888,0.911,889,0.911,890,0.911,891,1.567,892,0.911,893,2.061,894,0.911,895,0.911,896,1.567,897,1.646,898,1.567,899,2.061,900,0.911,901,0.911,902,0.911,903,1.567,904,0.911,905,0.911,906,0.911,907,0.911,908,0.911,909,0.911,910,0.911,911,1.567,912,0.911,913,0.911,914,2.447,915,3.011,916,1.567,917,2.061,918,1.567,919,0.911,920,0.911,921,0.911,922,0.911,923,2.061,924,0.911,925,0.911,926,0.911,927,1.567,928,1.567,929,1.567,930,2.061,931,0.911,932,0.911,933,0.911,934,0.911,935,0.911,936,0.728,937,0.911,938,0.911,939,0.911,940,1.567,941,0.911,942,0.911,943,1.567,944,0.911,945,0.911,946,0.911,947,0.911,948,0.911,949,0.911,950,0.911,951,0.911,952,0.911,953,0.911,954,3.403,955,0.911,956,1.646,957,3.403,958,2.061,959,2.447,960,1.567,961,2.061,962,0.911,963,1.567,964,0.911,965,0.911,966,1.567,967,1.567,968,1.567,969,0.911,970,0.911,971,0.911,972,0.911,973,1.567,974,0.911,975,1.646,976,0.911,977,0.911,978,0.911,979,0.911,980,0.728,981,0.911,982,0.911,983,0.911,984,0.911,985,0.911,986,0.911,987,0.911,988,0.911,989,0.911,990,0.911,991,0.911,992,2.757,993,0.911,994,0.911,995,0.911,996,0.911,997,0.911,998,0.911,999,0.911,1000,0.911,1001,0.911,1002,0.911,1003,0.911,1004,0.911,1005,0.911,1006,0.911,1007,0.911,1008,1.567,1009,0.911,1010,1.567,1011,0.911,1012,1.567,1013,1.567,1014,2.447,1015,2.447,1016,1.567,1017,1.567,1018,0.911,1019,0.911,1020,0.911,1021,2.061,1022,0.911,1023,0.728,1024,0.911,1025,0.911,1026,0.911,1027,0.911,1028,0.911,1029,0.911,1030,1.567,1031,3.692,1032,2.061,1033,0.911,1034,1.567,1035,0.911,1036,0.911,1037,0.911,1038,0.911,1039,0.911,1040,0.911,1041,0.911,1042,0.911,1043,0.911,1044,1.567,1045,2.575,1046,1.567,1047,0.911,1048,0.911,1049,0.911,1050,0.911,1051,0.911,1052,1.567,1053,0.911,1054,0.911,1055,0.911,1056,1.63,1057,0.911,1058,1.567,1059,0.911,1060,0.911,1061,0.911,1062,1.567,1063,1.567,1064,0.911,1065,0.911,1066,0.911,1067,0.911,1068,1.567,1069,2.061,1070,1.567,1071,0.911,1072,1.252,1073,0.911,1074,0.911,1075,0.911,1076,0.911,1077,0.911,1078,0.911,1079,0.911,1080,0.911,1081,0.911,1082,0.728,1083,0.911,1084,0.911,1085,1.567,1086,0.911,1087,0.911,1088,0.911,1089,0.911,1090,0.911,1091,0.911,1092,1.567,1093,0.911,1094,0.728,1095,0.911,1096,0.911,1097,0.728,1098,0.911,1099,0.911,1100,1.567,1101,0.911,1102,0.911,1103,0.911,1104,0.911,1105,0.911,1106,0.911,1107,0.911,1108,0.911,1109,0.911,1110,0.911,1111,0.911,1112,1.567,1113,0.911,1114,0.911,1115,0.911,1116,0.911,1117,1.567,1118,0.728,1119,0.728,1120,0.911,1121,0.911,1122,0.911,1123,0.911,1124,0.911,1125,0.911,1126,0.911]],["title/coverage.html",[1056,2.438]],["body/coverage.html",[0,1.088,1,1.135,9,0.613,10,0.88,11,0.568,12,0.568,13,2.656,43,1.513,49,0.056,51,0.724,79,1.758,93,1.088,94,1.135,100,0.982,118,3.008,138,2.476,147,1.135,151,0.033,152,0.042,153,0.033,181,1.862,192,2.5,193,2.5,201,1.758,219,2.795,235,1.758,236,1.946,237,1.758,239,2.262,240,1.946,241,2.262,378,2.476,379,2.476,411,2.065,436,2.065,437,2.065,438,2.065,440,2.065,442,2.065,486,2.065,497,2.065,677,1.758,1056,2.065,1127,3.099,1128,3.099,1129,3.099,1130,3.099,1131,5.171,1132,3.099,1133,3.099,1134,3.716,1135,4.813,1136,2.656,1137,2.476,1138,3.099,1139,3.099,1140,2.476,1141,3.099,1142,3.099,1143,3.184,1144,3.184,1145,2.476,1146,3.099,1147,3.099]],["title/dependencies.html",[157,1.59,663,1.836]],["body/dependencies.html",[9,0.552,11,0.297,49,0.058,84,0.762,142,2.112,151,0.029,152,0.039,153,0.029,157,1.363,175,2.23,177,2.974,178,2.112,244,1.86,288,2.23,318,2.23,327,2.23,330,1.86,434,1.584,488,2.974,489,2.23,491,2.23,492,2.974,494,2.23,530,2.974,554,2.23,563,2.23,681,2.974,700,2.23,748,2.23,757,2.23,802,2.23,803,2.23,897,2.23,956,2.974,1148,2.791,1149,2.791,1150,2.791,1151,5.12,1152,2.791,1153,2.791,1154,2.791,1155,2.791,1156,2.791,1157,2.791,1158,2.791,1159,2.791,1160,2.791,1161,2.791,1162,2.791,1163,2.791,1164,4.188,1165,2.791,1166,3.722,1167,2.791,1168,2.791,1169,2.791,1170,2.791,1171,4.188,1172,2.791,1173,2.791,1174,2.791,1175,2.791,1176,2.791,1177,2.791,1178,2.791,1179,2.791,1180,2.791,1181,2.791,1182,3.722,1183,2.791,1184,3.722,1185,2.791,1186,2.791,1187,2.791,1188,2.791,1189,2.791,1190,2.791,1191,2.791,1192,3.722,1193,2.791,1194,2.791,1195,2.791,1196,2.791,1197,2.791,1198,2.791,1199,2.791,1200,2.791,1201,2.791,1202,2.791,1203,2.791,1204,2.791,1205,2.791,1206,2.791,1207,2.791,1208,2.791,1209,2.23,1210,2.791,1211,2.791,1212,2.791,1213,2.791,1214,2.791,1215,2.791,1216,3.722,1217,2.791,1218,2.791,1219,2.791,1220,2.791,1221,2.791,1222,2.791,1223,2.791,1224,2.791,1225,2.791,1226,2.791,1227,2.791,1228,2.791,1229,2.791,1230,2.791,1231,2.791,1232,2.791,1233,2.791,1234,2.791,1235,2.791,1236,2.791,1237,2.791,1238,2.791,1239,3.722,1240,2.791,1241,2.791,1242,2.791,1243,2.791,1244,2.791,1245,2.791,1246,2.791,1247,2.791,1248,2.791,1249,2.791,1250,2.791,1251,2.791,1252,2.791,1253,2.791,1254,2.791,1255,3.722,1256,2.791,1257,2.791,1258,2.791,1259,2.791,1260,2.791,1261,2.791,1262,2.791,1263,2.791,1264,2.791,1265,2.791,1266,2.791,1267,2.791]],["title/miscellaneous/functions.html",[1268,0.971,1269,2.602]],["body/miscellaneous/functions.html",[10,0.797,11,0.515,12,0.515,24,0.804,28,0.94,48,2.471,49,0.056,50,2.471,52,1.853,59,2.471,89,1.454,151,0.036,152,0.045,153,0.036,181,1.799,192,1.952,193,2.416,208,1.952,214,2.871,220,2.293,235,2.416,239,1.952,240,1.68,241,2.416,324,2.838,335,2.749,336,3.402,337,2.293,440,2.838,442,2.838,845,2.742,1136,2.293,1137,3.402,1140,3.402,1143,2.749,1144,3.695,1145,3.402,1268,1.454,1269,2.749,1270,2.749,1271,3.402,1272,4.259,1273,3.442,1274,3.442,1275,4.259,1276,3.442,1277,4.259,1278,3.442,1279,3.442]],["title/index.html",[24,0.537,516,1.531,517,1.304]],["body/index.html",[0,0.816,3,1.112,12,0.318,18,1.264,49,0.041,93,1.063,151,0.031,152,0.041,153,0.031,215,1.263,295,2.457,297,2.595,434,1.696,485,1.46,518,1.992,519,3.111,520,3.111,521,3.46,522,3.46,526,2.388,528,3.666,532,3.111,547,2.595,549,4.025,550,3.111,552,3.111,553,3.666,574,3.111,577,3.058,608,2.388,621,3.111,624,3.111,641,3.46,660,2.388,677,1.696,678,3.802,679,3.666,684,3.111,689,2.388,701,3.111,703,2.388,710,2.388,727,2.388,728,3.111,800,3.111,823,2.388,980,2.388,1072,2.388,1082,2.388,1094,2.388,1118,2.388,1280,3.894,1281,3.894,1282,3.894,1283,2.989,1284,2.989,1285,2.989,1286,2.989,1287,3.111,1288,2.989,1289,2.989,1290,2.989,1291,3.894,1292,3.894,1293,3.894,1294,4.332,1295,2.989,1296,2.989,1297,4.332,1298,4.332,1299,2.989,1300,2.989,1301,3.894,1302,2.989,1303,2.989,1304,2.989,1305,2.989,1306,2.989,1307,2.989,1308,2.989,1309,2.989,1310,2.989,1311,2.989,1312,2.989,1313,2.989,1314,2.989,1315,3.894,1316,2.989,1317,2.989,1318,3.894,1319,3.894,1320,2.989,1321,3.894,1322,3.894,1323,2.989,1324,2.989,1325,2.989,1326,2.989,1327,2.989,1328,2.989,1329,2.989,1330,2.989,1331,2.989,1332,2.989,1333,2.989,1334,2.989,1335,2.989,1336,2.989,1337,2.989]],["title/license.html",[516,1.531,517,1.304,1338,1.836]],["body/license.html",[49,0.046,151,0.037,152,0.046,153,0.037,163,2.366,547,2.893,577,2.366,677,2.014,709,3.468,725,3.746,750,2.836,936,3.468,1023,2.836,1045,2.836,1097,2.836,1119,2.836,1209,2.836,1287,4.195,1338,2.836,1339,3.55,1340,4.69,1341,3.55,1342,3.55,1343,4.341,1344,3.55,1345,3.55,1346,3.55,1347,3.55,1348,3.55,1349,3.55,1350,4.341,1351,3.55,1352,3.55,1353,3.55,1354,3.55,1355,3.55,1356,3.55,1357,3.55,1358,3.55,1359,3.55,1360,3.55,1361,3.55,1362,3.55,1363,4.341,1364,3.55,1365,3.55,1366,3.55,1367,3.55,1368,3.55,1369,3.55,1370,4.341,1371,3.55,1372,3.55,1373,3.55,1374,3.55,1375,3.55,1376,3.55,1377,3.55,1378,3.55,1379,3.55,1380,3.55,1381,3.55,1382,3.55,1383,3.55,1384,3.55,1385,3.55,1386,3.55,1387,3.55,1388,3.55,1389,3.55,1390,3.55,1391,3.55,1392,3.55,1393,3.55,1394,3.55,1395,3.55,1396,3.55,1397,3.55]],["title/modules.html",[156,1.786]],["body/modules.html",[49,0.05,151,0.044,152,0.05,153,0.044,155,2.357,156,2.029,161,2.029,178,2.357,566,3.319,975,3.319,1398,4.156,1399,4.766,1400,4.156]],["title/overview.html",[1401,2.923]],["body/overview.html",[1,1.793,2,1.919,34,2.229,49,0.054,133,2.867,147,1.793,151,0.041,152,0.048,153,0.041,155,3.01,156,1.919,157,2.253,158,3.139,159,3.139,160,3.139,161,2.391,162,3.074,163,2.618,238,2.618,485,1.919,1401,3.139]],["title/miscellaneous/typealiases.html",[1268,0.971,1402,3.257]],["body/miscellaneous/typealiases.html",[10,0.77,11,0.497,12,0.497,24,0.936,49,0.052,51,0.936,151,0.042,152,0.049,153,0.042,239,2.273,240,1.957,241,2.647,245,3.728,321,3.201,326,3.201,657,4.062,845,2.647,1136,2.67,1268,1.693,1270,3.201,1271,3.201,1403,4.007]],["title/miscellaneous/variables.html",[1268,0.971,1404,2.602]],["body/miscellaneous/variables.html",[10,0.733,11,0.473,12,0.473,24,0.863,41,1.17,49,0.057,51,1.183,67,2.474,68,2.874,85,0.863,96,1.747,151,0.039,152,0.047,153,0.039,180,2.461,223,2.461,225,2.461,411,2.962,436,2.962,437,2.962,438,2.962,486,2.461,495,2.95,496,2.95,497,2.962,845,2.095,1134,2.95,1268,1.56,1404,2.95,1405,4.951,1406,3.693,1407,3.693,1408,3.693,1409,3.693,1410,3.693,1411,3.693,1412,3.693]]],"invertedIndex":[["",{"_index":49,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":118,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{}}}],["0.1.0",{"_index":1117,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":1267,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":1196,"title":{},"body":{"dependencies.html":{}}}],["0.2.0",{"_index":1112,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":1217,"title":{},"body":{"dependencies.html":{}}}],["0.4",{"_index":135,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["0.5.0",{"_index":1100,"title":{},"body":{"changelog.html":{}}}],["0.6.0",{"_index":1072,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0/1",{"_index":1131,"title":{},"body":{"coverage.html":{}}}],["0/10",{"_index":1132,"title":{},"body":{"coverage.html":{}}}],["0/15",{"_index":1141,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":1130,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":1133,"title":{},"body":{"coverage.html":{}}}],["0/9",{"_index":1129,"title":{},"body":{"coverage.html":{}}}],["01",{"_index":584,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":924,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":860,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":629,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":829,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":539,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":525,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":1046,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":568,"title":{},"body":{"changelog.html":{}}}],["1",{"_index":121,"title":{},"body":{"components/AppComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{}}}],["1.0",{"_index":957,"title":{},"body":{"changelog.html":{}}}],["1.0.0",{"_index":1031,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":1191,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":1199,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":1262,"title":{},"body":{"dependencies.html":{}}}],["1.1.0",{"_index":1008,"title":{},"body":{"changelog.html":{}}}],["1.16.0",{"_index":1235,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":1193,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":956,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":1203,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":1238,"title":{},"body":{"dependencies.html":{}}}],["1.25",{"_index":130,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["1.3.5",{"_index":923,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":897,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":1220,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":859,"title":{},"body":{"changelog.html":{}}}],["1.6.0",{"_index":843,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":828,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":1206,"title":{},"body":{"dependencies.html":{}}}],["1/1",{"_index":1142,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":230,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{}}}],["10.0.0",{"_index":1215,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":138,"title":{},"body":{"components/AppComponent.html":{},"coverage.html":{}}}],["1000",{"_index":131,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/GlobalConfig.html":{}}}],["10x",{"_index":1020,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":899,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":1240,"title":{},"body":{"dependencies.html":{}}}],["12",{"_index":526,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":1242,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":1151,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":1156,"title":{},"body":{"dependencies.html":{}}}],["12/17",{"_index":1139,"title":{},"body":{"coverage.html":{}}}],["13",{"_index":736,"title":{},"body":{"changelog.html":{}}}],["14",{"_index":630,"title":{},"body":{"changelog.html":{}}}],["15",{"_index":540,"title":{},"body":{"changelog.html":{}}}],["15.126.1",{"_index":1149,"title":{},"body":{"dependencies.html":{}}}],["16",{"_index":799,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":1208,"title":{},"body":{"dependencies.html":{}}}],["17",{"_index":607,"title":{},"body":{"changelog.html":{}}}],["173",{"_index":1408,"title":{},"body":{"miscellaneous/variables.html":{}}}],["2",{"_index":133,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{},"overview.html":{}}}],["2.0.0",{"_index":798,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":1212,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":757,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2",{"_index":134,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["2.2.0",{"_index":748,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.3.0",{"_index":743,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":735,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":719,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":700,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.6.7",{"_index":1245,"title":{},"body":{"dependencies.html":{}}}],["2.8.5",{"_index":1201,"title":{},"body":{"dependencies.html":{}}}],["2.awsapprunner.com",{"_index":1309,"title":{},"body":{"index.html":{}}}],["200",{"_index":111,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["2019",{"_index":1045,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":959,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":685,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":555,"title":{},"body":{"changelog.html":{}}}],["2023",{"_index":524,"title":{},"body":{"changelog.html":{}}}],["21",{"_index":830,"title":{},"body":{"changelog.html":{}}}],["22",{"_index":1033,"title":{},"body":{"changelog.html":{}}}],["229.5",{"_index":1411,"title":{},"body":{"miscellaneous/variables.html":{}}}],["24",{"_index":1101,"title":{},"body":{"changelog.html":{}}}],["255",{"_index":1409,"title":{},"body":{"miscellaneous/variables.html":{}}}],["26",{"_index":861,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":902,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":569,"title":{},"body":{"changelog.html":{}}}],["3",{"_index":943,"title":{},"body":{"changelog.html":{}}}],["3.0.0",{"_index":681,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":1171,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":644,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":638,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":628,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":606,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":583,"title":{},"body":{"changelog.html":{}}}],["3.5.0",{"_index":567,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":1177,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":1179,"title":{},"body":{"dependencies.html":{}}}],["3.6",{"_index":1315,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":554,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.7.0",{"_index":538,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":1184,"title":{},"body":{"dependencies.html":{}}}],["3.7.2",{"_index":523,"title":{},"body":{"changelog.html":{}}}],["3.7.3",{"_index":1186,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":758,"title":{},"body":{"changelog.html":{}}}],["31",{"_index":1009,"title":{},"body":{"changelog.html":{}}}],["3d",{"_index":600,"title":{},"body":{"changelog.html":{}}}],["4",{"_index":978,"title":{},"body":{"changelog.html":{}}}],["4.0",{"_index":1292,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":1183,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":1210,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":1232,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":1197,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":1222,"title":{},"body":{"dependencies.html":{}}}],["47",{"_index":1410,"title":{},"body":{"miscellaneous/variables.html":{}}}],["4th",{"_index":557,"title":{},"body":{"changelog.html":{}}}],["5.0.0",{"_index":1225,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":1230,"title":{},"body":{"dependencies.html":{}}}],["5th",{"_index":544,"title":{},"body":{"changelog.html":{}}}],["6.0.1",{"_index":1228,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":1249,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":1180,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":1259,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":1256,"title":{},"body":{"dependencies.html":{}}}],["70",{"_index":1138,"title":{},"body":{"coverage.html":{}}}],["8",{"_index":836,"title":{},"body":{"changelog.html":{}}}],["8.3.2",{"_index":1265,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":1175,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":1164,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":1167,"title":{},"body":{"dependencies.html":{}}}],["85",{"_index":1111,"title":{},"body":{"changelog.html":{}}}],["90",{"_index":1055,"title":{},"body":{"changelog.html":{}}}],["95",{"_index":633,"title":{},"body":{"changelog.html":{}}}],["9th",{"_index":871,"title":{},"body":{"changelog.html":{}}}],["_",{"_index":427,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["ability",{"_index":770,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":1097,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["access",{"_index":449,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["accurate",{"_index":858,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":1391,"title":{},"body":{"license.html":{}}}],["actions",{"_index":947,"title":{},"body":{"changelog.html":{}}}],["actual_component",{"_index":150,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["added",{"_index":527,"title":{},"body":{"changelog.html":{}}}],["additional",{"_index":1098,"title":{},"body":{"changelog.html":{}}}],["addressed",{"_index":1002,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":610,"title":{},"body":{"changelog.html":{}}}],["adjusting",{"_index":995,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":895,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":801,"title":{},"body":{"changelog.html":{}}}],["again",{"_index":968,"title":{},"body":{"changelog.html":{}}}],["age",{"_index":715,"title":{},"body":{"changelog.html":{}}}],["aggregate",{"_index":275,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["aggregateresult",{"_index":320,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["ala",{"_index":740,"title":{},"body":{"changelog.html":{}}}],["aliases",{"_index":1403,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["allows",{"_index":878,"title":{},"body":{"changelog.html":{}}}],["alpha",{"_index":1084,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":1063,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":1058,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":1044,"title":{},"body":{"changelog.html":{}}}],["alt",{"_index":1296,"title":{},"body":{"index.html":{}}}],["analytics",{"_index":803,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["anatomical",{"_index":893,"title":{},"body":{"changelog.html":{}}}],["and/or",{"_index":1361,"title":{},"body":{"license.html":{}}}],["angular",{"_index":434,"title":{},"body":{"injectables/FilteredSceneService.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":1150,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":1152,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":318,"title":{},"body":{"injectables/DataSourceService.html":{},"dependencies.html":{}}}],["angular/compiler",{"_index":1153,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":84,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"dependencies.html":{}}}],["angular/elements",{"_index":175,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/forms",{"_index":1154,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":1155,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":177,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/router",{"_index":1158,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":1159,"title":{},"body":{"dependencies.html":{}}}],["api",{"_index":549,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":1306,"title":{},"body":{"index.html":{}}}],["app",{"_index":180,"title":{},"body":{"modules/AppModule.html":{},"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["app.component",{"_index":179,"title":{},"body":{"modules/AppModule.html":{},"injectables/FilteredSceneService.html":{}}}],["app.component.html",{"_index":23,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["app.component.scss",{"_index":21,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["appcomponent",{"_index":1,"title":{"components/AppComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{},"overview.html":{}}}],["appear",{"_index":694,"title":{},"body":{"changelog.html":{}}}],["appelement",{"_index":188,"title":{},"body":{"modules/AppModule.html":{}}}],["application",{"_index":882,"title":{},"body":{"changelog.html":{}}}],["applied",{"_index":279,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["appmodule",{"_index":155,"title":{"modules/AppModule.html":{}},"body":{"modules/AppModule.html":{},"modules.html":{},"overview.html":{}}}],["appropriate",{"_index":662,"title":{},"body":{"changelog.html":{}}}],["appwebcomponent",{"_index":147,"title":{"components/AppWebComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"coverage.html":{},"overview.html":{}}}],["april",{"_index":870,"title":{},"body":{"changelog.html":{}}}],["arising",{"_index":1395,"title":{},"body":{"license.html":{}}}],["asct+b",{"_index":686,"title":{},"body":{"changelog.html":{}}}],["assignment/selection",{"_index":846,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":750,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["async",{"_index":33,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/GlobalConfig.html":{}}}],["atlas",{"_index":520,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["attempts",{"_index":723,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":1384,"title":{},"body":{"license.html":{}}}],["automatic",{"_index":982,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":931,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":975,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["avoid",{"_index":787,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":108,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/GlobalConfig.html":{}}}],["award",{"_index":1336,"title":{},"body":{"index.html":{}}}],["backend",{"_index":243,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["background",{"_index":1094,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["base",{"_index":1068,"title":{},"body":{"changelog.html":{}}}],["based",{"_index":776,"title":{},"body":{"changelog.html":{}}}],["basewebcomponent",{"_index":195,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["basic",{"_index":800,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["before",{"_index":698,"title":{},"body":{"changelog.html":{}}}],["being",{"_index":501,"title":{},"body":{"modules/StoreModule.html":{},"changelog.html":{}}}],["beta",{"_index":684,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":759,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":1037,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":1190,"title":{},"body":{"dependencies.html":{}}}],["block",{"_index":305,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"changelog.html":{}}}],["block?.placement.target",{"_index":450,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["blocks",{"_index":601,"title":{},"body":{"changelog.html":{}}}],["bmi",{"_index":716,"title":{},"body":{"changelog.html":{}}}],["board",{"_index":1060,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":11,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["bodyui",{"_index":27,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["bodyui.bounds",{"_index":129,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["bodyui.rotation",{"_index":117,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["bodyui.rotationx",{"_index":119,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["bodyui.scene?.find((node",{"_index":114,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["bodyui.target",{"_index":132,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["bodyuicomponent",{"_index":61,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["bodyuimodule",{"_index":184,"title":{},"body":{"modules/AppModule.html":{}}}],["boolean",{"_index":208,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/InputDataFormat.html":{},"miscellaneous/functions.html":{}}}],["both",{"_index":746,"title":{},"body":{"changelog.html":{}}}],["box",{"_index":786,"title":{},"body":{"changelog.html":{}}}],["breaking",{"_index":820,"title":{},"body":{"changelog.html":{}}}],["bringing",{"_index":837,"title":{},"body":{"changelog.html":{}}}],["browse",{"_index":1399,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":178,"title":{},"body":{"modules/AppModule.html":{},"changelog.html":{},"dependencies.html":{},"modules.html":{}}}],["browserify",{"_index":1257,"title":{},"body":{"dependencies.html":{}}}],["browsermodule",{"_index":176,"title":{},"body":{"modules/AppModule.html":{}}}],["browsing",{"_index":1121,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":627,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":1288,"title":{},"body":{"index.html":{}}}],["builds",{"_index":680,"title":{},"body":{"changelog.html":{}}}],["button",{"_index":1062,"title":{},"body":{"changelog.html":{}}}],["c",{"_index":1341,"title":{},"body":{"license.html":{}}}],["cache",{"_index":530,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["cacheable",{"_index":1261,"title":{},"body":{"dependencies.html":{}}}],["callback",{"_index":774,"title":{},"body":{"changelog.html":{}}}],["called",{"_index":825,"title":{},"body":{"changelog.html":{}}}],["calls",{"_index":565,"title":{},"body":{"changelog.html":{}}}],["cancelregistration",{"_index":773,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":1035,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":1194,"title":{},"body":{"dependencies.html":{}}}],["card",{"_index":806,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":810,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":1318,"title":{},"body":{"index.html":{}}}],["cases",{"_index":1007,"title":{},"body":{"changelog.html":{}}}],["ccf",{"_index":18,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"index.html":{}}}],["ccf's",{"_index":952,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":541,"title":{},"body":{"changelog.html":{}}}],["ccfdatabase",{"_index":321,"title":{},"body":{"injectables/DataSourceService.html":{},"miscellaneous/typealiases.html":{}}}],["ccfdatabaseoptions",{"_index":269,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["cdr",{"_index":44,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["cell",{"_index":284,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["center",{"_index":1331,"title":{},"body":{"index.html":{}}}],["change",{"_index":823,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["changed",{"_index":561,"title":{},"body":{"changelog.html":{}}}],["changedetection",{"_index":15,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["changedetectionstrategy",{"_index":83,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["changedetectionstrategy.onpush",{"_index":16,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["changedetectionstrategy.onpush,selector",{"_index":98,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["changedetectorref",{"_index":45,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["changelog",{"_index":518,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changes",{"_index":535,"title":{},"body":{"changelog.html":{}}}],["charge",{"_index":1347,"title":{},"body":{"license.html":{}}}],["choose",{"_index":976,"title":{},"body":{"changelog.html":{}}}],["choosescene",{"_index":383,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["choosescene(data",{"_index":389,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["ci/cd",{"_index":950,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":1387,"title":{},"body":{"license.html":{}}}],["class",{"_index":99,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{}}}],["clean",{"_index":625,"title":{},"body":{"changelog.html":{}}}],["cleanup",{"_index":683,"title":{},"body":{"changelog.html":{}}}],["click",{"_index":731,"title":{},"body":{"changelog.html":{}}}],["clicking",{"_index":816,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":528,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["cluster_appmodule",{"_index":158,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_declarations",{"_index":160,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_imports",{"_index":159,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["code",{"_index":676,"title":{},"body":{"changelog.html":{}}}],["codebase",{"_index":962,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":1019,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":1077,"title":{},"body":{"changelog.html":{}}}],["collaboration",{"_index":960,"title":{},"body":{"changelog.html":{}}}],["collisions",{"_index":984,"title":{},"body":{"changelog.html":{}}}],["color",{"_index":845,"title":{},"body":{"changelog.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["colorizing",{"_index":1028,"title":{},"body":{"changelog.html":{}}}],["combination",{"_index":977,"title":{},"body":{"changelog.html":{}}}],["combinelatest",{"_index":432,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["combinelatest([this.data",{"_index":423,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["combinelatest([this.organs",{"_index":401,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["combinelatest([this.scene",{"_index":406,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["come",{"_index":1024,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":1016,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":327,"title":{},"body":{"injectables/DataSourceService.html":{},"dependencies.html":{}}}],["common",{"_index":728,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["compareconfig",{"_index":1140,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["compareconfig(previous",{"_index":335,"title":{},"body":{"injectables/DataSourceService.html":{},"miscellaneous/functions.html":{}}}],["compatibility",{"_index":509,"title":{},"body":{"modules/StoreModule.html":{}}}],["complexity",{"_index":853,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":674,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":0,"title":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["component.component",{"_index":182,"title":{},"body":{"modules/AppModule.html":{}}}],["component.component.ts",{"_index":193,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["component.component.ts:32",{"_index":202,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:33",{"_index":203,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:34",{"_index":204,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:36",{"_index":206,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:37",{"_index":207,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:38",{"_index":205,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:40",{"_index":199,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component_template",{"_index":145,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["components",{"_index":2,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"overview.html":{}}}],["comunica/query",{"_index":1161,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":1198,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":1369,"title":{},"body":{"license.html":{}}}],["config",{"_index":268,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["configstate",{"_index":53,"title":{},"body":{"components/AppComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{}}}],["configstore",{"_index":200,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["configuration",{"_index":534,"title":{},"body":{"changelog.html":{}}}],["configurations",{"_index":769,"title":{},"body":{"changelog.html":{}}}],["confirmation",{"_index":721,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":780,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":704,"title":{},"body":{"changelog.html":{}}}],["connectdatasource",{"_index":248,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["connectdatasource(source",{"_index":267,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["connection",{"_index":1396,"title":{},"body":{"license.html":{}}}],["consider",{"_index":507,"title":{},"body":{"modules/StoreModule.html":{}}}],["console",{"_index":373,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["console.info(`loaded",{"_index":374,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["console.log(source",{"_index":377,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["consortium",{"_index":1342,"title":{},"body":{"license.html":{}}}],["const",{"_index":101,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"modules/StoreModule.html":{}}}],["constants",{"_index":439,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["constructor",{"_index":39,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["constructor(configstate",{"_index":40,"title":{},"body":{"components/AppComponent.html":{},"injectables/FilteredSceneService.html":{}}}],["constructor(configstore",{"_index":198,"title":{},"body":{"components/AppWebComponent.html":{}}}],["constructor(locator",{"_index":260,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["constructor(private",{"_index":187,"title":{},"body":{"modules/AppModule.html":{}}}],["container",{"_index":812,"title":{},"body":{"changelog.html":{}}}],["containers",{"_index":761,"title":{},"body":{"changelog.html":{}}}],["containing",{"_index":1286,"title":{},"body":{"index.html":{}}}],["contract",{"_index":1392,"title":{},"body":{"license.html":{}}}],["control",{"_index":919,"title":{},"body":{"changelog.html":{}}}],["convention",{"_index":217,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["coordinate",{"_index":1280,"title":{},"body":{"index.html":{}}}],["copies",{"_index":1363,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1350,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":1340,"title":{},"body":{"license.html":{}}}],["cord",{"_index":613,"title":{},"body":{"changelog.html":{}}}],["core/services/filtered",{"_index":78,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["core/store/store.module",{"_index":183,"title":{},"body":{"modules/AppModule.html":{}}}],["cors",{"_index":1200,"title":{},"body":{"dependencies.html":{}}}],["counts",{"_index":286,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["coverage",{"_index":1056,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["createcustomelement",{"_index":174,"title":{},"body":{"modules/AppModule.html":{}}}],["createcustomelement(appwebcomponent",{"_index":189,"title":{},"body":{"modules/AppModule.html":{}}}],["created",{"_index":927,"title":{},"body":{"changelog.html":{}}}],["createdatasource",{"_index":249,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["creates",{"_index":263,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["credits",{"_index":1326,"title":{},"body":{"index.html":{}}}],["css",{"_index":1202,"title":{},"body":{"dependencies.html":{}}}],["cuboid",{"_index":1054,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":1051,"title":{},"body":{"changelog.html":{}}}],["current",{"_index":336,"title":{},"body":{"injectables/DataSourceService.html":{},"miscellaneous/functions.html":{}}}],["currently",{"_index":278,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["customelements.define('ccf",{"_index":191,"title":{},"body":{"modules/AppModule.html":{}}}],["cyberinfrastructure",{"_index":1328,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":864,"title":{},"body":{"changelog.html":{}}}],["d.rui_location",{"_index":226,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["damages",{"_index":1388,"title":{},"body":{"license.html":{}}}],["dark/light",{"_index":775,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":28,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["data.map(d",{"_index":221,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["data?.map(obj",{"_index":445,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["database",{"_index":309,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"changelog.html":{}}}],["database/src/lib/ccf",{"_index":315,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["datasets",{"_index":876,"title":{},"body":{"changelog.html":{}}}],["datasource",{"_index":245,"title":{},"body":{"injectables/DataSourceService.html":{},"miscellaneous/typealiases.html":{}}}],["datasources",{"_index":342,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["datasourceservice",{"_index":237,"title":{"injectables/DataSourceService.html":{}},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"coverage.html":{}}}],["date()).gettime",{"_index":375,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["date().gettime",{"_index":370,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.getaggregateresults(filter",{"_index":359,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.getcelltypetermoccurences(filter",{"_index":361,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.getcelltypetreemodel",{"_index":363,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.getontologytermoccurences(filter",{"_index":360,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.getontologytreemodel",{"_index":362,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.getreferenceorgans",{"_index":364,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.getreferenceorganscene(organ",{"_index":366,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.getscene(filter",{"_index":365,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["db.gettissueblockresults(filter",{"_index":357,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["dboptions",{"_index":246,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["deal",{"_index":1352,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1397,"title":{},"body":{"license.html":{}}}],["december",{"_index":969,"title":{},"body":{"changelog.html":{}}}],["deck.gl/core",{"_index":1163,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":1165,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":1168,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":1169,"title":{},"body":{"dependencies.html":{}}}],["declarations",{"_index":165,"title":{},"body":{"modules/AppModule.html":{}}}],["decorator",{"_index":1182,"title":{},"body":{"dependencies.html":{}}}],["decorators",{"_index":62,"title":{},"body":{"components/AppComponent.html":{}}}],["deeply",{"_index":707,"title":{},"body":{"changelog.html":{}}}],["default",{"_index":67,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["default_ccf_db_options",{"_index":314,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["defined",{"_index":46,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"changelog.html":{}}}],["demo",{"_index":733,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":157,"title":{"dependencies.html":{}},"body":{"modules/AppModule.html":{},"changelog.html":{},"dependencies.html":{},"overview.html":{}}}],["depending",{"_index":827,"title":{},"body":{"changelog.html":{}}}],["descrepancies",{"_index":598,"title":{},"body":{"changelog.html":{}}}],["description",{"_index":242,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["details",{"_index":1099,"title":{},"body":{"changelog.html":{}}}],["developed",{"_index":1327,"title":{},"body":{"index.html":{}}}],["developmentmode",{"_index":506,"title":{},"body":{"modules/StoreModule.html":{}}}],["developments",{"_index":1082,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":722,"title":{},"body":{"changelog.html":{}}}],["different",{"_index":760,"title":{},"body":{"changelog.html":{}}}],["digits",{"_index":944,"title":{},"body":{"changelog.html":{}}}],["direct",{"_index":1108,"title":{},"body":{"changelog.html":{}}}],["directive",{"_index":143,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["directives",{"_index":149,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["directly",{"_index":1017,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":103,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["disabled",{"_index":515,"title":{},"body":{"modules/StoreModule.html":{}}}],["display",{"_index":301,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["displayed",{"_index":1052,"title":{},"body":{"changelog.html":{}}}],["displaying",{"_index":749,"title":{},"body":{"changelog.html":{}}}],["distinctuntilchanged",{"_index":331,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["distinctuntilchanged(compareconfig",{"_index":346,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["distribute",{"_index":1359,"title":{},"body":{"license.html":{}}}],["dobootstrap",{"_index":171,"title":{},"body":{"modules/AppModule.html":{}}}],["doc",{"_index":1066,"title":{},"body":{"changelog.html":{}}}],["docs",{"_index":623,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":1204,"title":{},"body":{"dependencies.html":{}}}],["documentation",{"_index":677,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["dom",{"_index":7,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["done",{"_index":821,"title":{},"body":{"changelog.html":{}}}],["donor",{"_index":805,"title":{},"body":{"changelog.html":{}}}],["donors",{"_index":879,"title":{},"body":{"changelog.html":{}}}],["dotenv",{"_index":1207,"title":{},"body":{"dependencies.html":{}}}],["download",{"_index":1092,"title":{},"body":{"changelog.html":{}}}],["during",{"_index":863,"title":{},"body":{"changelog.html":{}}}],["dynamic",{"_index":1157,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":591,"title":{},"body":{"changelog.html":{}}}],["easier",{"_index":655,"title":{},"body":{"changelog.html":{}}}],["east",{"_index":1308,"title":{},"body":{"index.html":{}}}],["effect",{"_index":999,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":907,"title":{},"body":{"changelog.html":{}}}],["element",{"_index":142,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["embedded",{"_index":766,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":756,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":754,"title":{},"body":{"changelog.html":{}}}],["emitting",{"_index":281,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["entire",{"_index":496,"title":{},"body":{"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["entity",{"_index":1275,"title":{},"body":{"miscellaneous/functions.html":{}}}],["entity.owl#has_spatial_entity",{"_index":225,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"miscellaneous/variables.html":{}}}],["entity.owl#sample",{"_index":224,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["entrycomponents",{"_index":166,"title":{},"body":{"modules/AppModule.html":{}}}],["environment",{"_index":212,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{}}}],["environment.dboptions",{"_index":232,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["environment.production",{"_index":372,"title":{},"body":{"injectables/DataSourceService.html":{},"modules/StoreModule.html":{}}}],["environments/environment",{"_index":213,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{}}}],["es",{"_index":1195,"title":{},"body":{"dependencies.html":{}}}],["eslint",{"_index":102,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["eslint/naming",{"_index":216,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["eslint/no",{"_index":316,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["etc",{"_index":784,"title":{},"body":{"changelog.html":{}}}],["eui",{"_index":641,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":670,"title":{},"body":{"changelog.html":{}}}],["event",{"_index":1383,"title":{},"body":{"license.html":{}}}],["eventemitter",{"_index":54,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["executionstrategy",{"_index":510,"title":{},"body":{"modules/StoreModule.html":{}}}],["executor",{"_index":106,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["expanded",{"_index":589,"title":{},"body":{"changelog.html":{}}}],["exploration",{"_index":1290,"title":{},"body":{"index.html":{}}}],["export",{"_index":92,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{}}}],["express",{"_index":1209,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["extends",{"_index":194,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["external",{"_index":772,"title":{},"body":{"changelog.html":{}}}],["extra",{"_index":1214,"title":{},"body":{"dependencies.html":{}}}],["extraction",{"_index":729,"title":{},"body":{"changelog.html":{}}}],["fail",{"_index":965,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":1004,"title":{},"body":{"changelog.html":{}}}],["false",{"_index":116,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/GlobalConfig.html":{}}}],["favor",{"_index":955,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":586,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":865,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":905,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":481,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["female_skin_url",{"_index":436,"title":{},"body":{"injectables/FilteredSceneService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["fetch",{"_index":1244,"title":{},"body":{"dependencies.html":{}}}],["field",{"_index":781,"title":{},"body":{"changelog.html":{}}}],["file",{"_index":9,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{}}}],["files",{"_index":1351,"title":{},"body":{"license.html":{}}}],["filter",{"_index":273,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"changelog.html":{}}}],["filter(config",{"_index":343,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["filterednodes",{"_index":473,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["filteredorgans",{"_index":380,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["filteredscene",{"_index":381,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["filteredsceneservice",{"_index":43,"title":{"injectables/FilteredSceneService.html":{}},"body":{"components/AppComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{}}}],["filters",{"_index":605,"title":{},"body":{"changelog.html":{}}}],["filterscenenodes",{"_index":384,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["filterscenenodes(nodes",{"_index":391,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["final",{"_index":958,"title":{},"body":{"changelog.html":{}}}],["finishing",{"_index":726,"title":{},"body":{"changelog.html":{}}}],["first",{"_index":970,"title":{},"body":{"changelog.html":{}}}],["fit",{"_index":873,"title":{},"body":{"changelog.html":{}}}],["fitness",{"_index":1379,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":855,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":536,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":1029,"title":{},"body":{"changelog.html":{}}}],["flexible",{"_index":618,"title":{},"body":{"changelog.html":{}}}],["fly",{"_index":1116,"title":{},"body":{"changelog.html":{}}}],["following",{"_index":1368,"title":{},"body":{"license.html":{}}}],["form",{"_index":908,"title":{},"body":{"changelog.html":{}}}],["format",{"_index":988,"title":{},"body":{"changelog.html":{}}}],["frame",{"_index":880,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":1281,"title":{},"body":{"index.html":{}}}],["free",{"_index":1346,"title":{},"body":{"license.html":{}}}],["fs",{"_index":1213,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":814,"title":{},"body":{"changelog.html":{}}}],["fullscreen",{"_index":1061,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":866,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":219,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/InputDataFormat.html":{},"coverage.html":{}}}],["functions",{"_index":1269,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["funded",{"_index":1334,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":1366,"title":{},"body":{"license.html":{}}}],["further",{"_index":1057,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":856,"title":{},"body":{"changelog.html":{}}}],["generate",{"_index":647,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":675,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":592,"title":{},"body":{"changelog.html":{}}}],["genericglobalconfig",{"_index":210,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["getaggregateresults",{"_index":250,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getaggregateresults(filter",{"_index":272,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getcelltypetermoccurences",{"_index":251,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getcelltypetermoccurences(filter",{"_index":282,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getcelltypetreemodel",{"_index":252,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getneededreferenceorgans",{"_index":385,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["getneededreferenceorgans(referenceorgans",{"_index":394,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["getneededskins",{"_index":386,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["getneededskins(organs",{"_index":396,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["getontologytermoccurences",{"_index":253,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getontologytermoccurences(filter",{"_index":289,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getontologytreemodel",{"_index":254,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getorganscene",{"_index":255,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getorganscene(organ",{"_index":293,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getreferenceorgans",{"_index":256,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getscene",{"_index":257,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getscene(filter",{"_index":298,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["getting",{"_index":516,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["gettissueblockresults",{"_index":258,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["gettissueblockresults(filter",{"_index":302,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["github",{"_index":946,"title":{},"body":{"changelog.html":{}}}],["gizmo",{"_index":790,"title":{},"body":{"changelog.html":{}}}],["globalconfig",{"_index":94,"title":{"interfaces/GlobalConfig.html":{}},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{},"coverage.html":{}}}],["globalconfig.getoption('data').pipe",{"_index":340,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["globalconfigstate",{"_index":41,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["globalthis['dboptions",{"_index":233,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["good",{"_index":1001,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":802,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["granted",{"_index":1345,"title":{},"body":{"license.html":{}}}],["graph",{"_index":1400,"title":{},"body":{"modules.html":{}}}],["graphical",{"_index":637,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":1216,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":744,"title":{},"body":{"changelog.html":{}}}],["gtex",{"_index":648,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":991,"title":{},"body":{"changelog.html":{}}}],["hand",{"_index":997,"title":{},"body":{"changelog.html":{}}}],["happen",{"_index":1036,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":966,"title":{},"body":{"changelog.html":{}}}],["happy",{"_index":500,"title":{},"body":{"modules/StoreModule.html":{}}}],["hash",{"_index":1247,"title":{},"body":{"dependencies.html":{}}}],["haszoomingnode",{"_index":113,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["height",{"_index":137,"title":{},"body":{"components/AppComponent.html":{}}}],["helmet",{"_index":1221,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":990,"title":{},"body":{"changelog.html":{}}}],["here",{"_index":994,"title":{},"body":{"changelog.html":{}}}],["hereby",{"_index":1344,"title":{},"body":{"license.html":{}}}],["hex",{"_index":1223,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":1083,"title":{},"body":{"changelog.html":{}}}],["highlight",{"_index":712,"title":{},"body":{"changelog.html":{}}}],["highlight.operator",{"_index":441,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["highlight_yellow",{"_index":411,"title":{},"body":{"injectables/FilteredSceneService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["highlighted",{"_index":602,"title":{},"body":{"changelog.html":{}}}],["highlightid",{"_index":95,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["highlightifmatching",{"_index":1137,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["highlightifmatching(entity",{"_index":1274,"title":{},"body":{"miscellaneous/functions.html":{}}}],["highlights",{"_index":714,"title":{},"body":{"changelog.html":{}}}],["hightlight",{"_index":440,"title":{},"body":{"injectables/FilteredSceneService.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["hightlight(id",{"_index":1276,"title":{},"body":{"miscellaneous/functions.html":{}}}],["hightlight(this.highlightid",{"_index":410,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["holders",{"_index":1385,"title":{},"body":{"license.html":{}}}],["hooked",{"_index":917,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":615,"title":{},"body":{"changelog.html":{}}}],["hovering",{"_index":807,"title":{},"body":{"changelog.html":{}}}],["hra",{"_index":521,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["html",{"_index":141,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["http://purl.org/ccf/1.5/entity/${d.id",{"_index":222,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["http://purl.org/ccf/1.5/entity/${id",{"_index":416,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["http://purl.org/ccf/latest/ccf",{"_index":223,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/ccf/latest/ccf.owl#vhfskin",{"_index":1407,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.org/ccf/latest/ccf.owl#vhmskin",{"_index":1412,"title":{},"body":{"miscellaneous/variables.html":{}}}],["https://beta",{"_index":1293,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":1305,"title":{},"body":{"index.html":{}}}],["https://hubmap",{"_index":1298,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":1297,"title":{},"body":{"index.html":{}}}],["https://humanatlas.io",{"_index":1324,"title":{},"body":{"index.html":{}}}],["https://observablehq.com/@cns",{"_index":1321,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":1300,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":1295,"title":{},"body":{"index.html":{}}}],["https://r5i95k35v5.us",{"_index":1307,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":1110,"title":{},"body":{"changelog.html":{}}}],["https://www.ngxs.io/advanced/options",{"_index":511,"title":{},"body":{"modules/StoreModule.html":{}}}],["hubmap",{"_index":577,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["human",{"_index":519,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["icon",{"_index":1093,"title":{},"body":{"changelog.html":{}}}],["icons",{"_index":815,"title":{},"body":{"changelog.html":{}}}],["id",{"_index":214,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["idb",{"_index":1226,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":1127,"title":{},"body":{"coverage.html":{}}}],["iec",{"_index":961,"title":{},"body":{"changelog.html":{}}}],["image",{"_index":954,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":1015,"title":{},"body":{"changelog.html":{}}}],["implementation",{"_index":702,"title":{},"body":{"changelog.html":{}}}],["implemented",{"_index":915,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":1065,"title":{},"body":{"changelog.html":{}}}],["implements",{"_index":186,"title":{},"body":{"modules/AppModule.html":{},"injectables/DataSourceService.html":{}}}],["implied",{"_index":1376,"title":{},"body":{"license.html":{}}}],["import",{"_index":77,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{}}}],["imports",{"_index":167,"title":{},"body":{"modules/AppModule.html":{},"modules/StoreModule.html":{}}}],["improve",{"_index":906,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":666,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":632,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":745,"title":{},"body":{"changelog.html":{}}}],["include",{"_index":972,"title":{},"body":{"changelog.html":{}}}],["included",{"_index":1371,"title":{},"body":{"license.html":{}}}],["includes",{"_index":588,"title":{},"body":{"changelog.html":{}}}],["including",{"_index":709,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":939,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":1059,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":24,"title":{"index.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indexes",{"_index":543,"title":{},"body":{"changelog.html":{}}}],["indiana",{"_index":1332,"title":{},"body":{"index.html":{}}}],["individual",{"_index":921,"title":{},"body":{"changelog.html":{}}}],["info",{"_index":3,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"index.html":{}}}],["information",{"_index":624,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":1018,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":974,"title":{},"body":{"changelog.html":{}}}],["initial",{"_index":834,"title":{},"body":{"changelog.html":{}}}],["initialconfig",{"_index":231,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["initialdelay",{"_index":229,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["initialization",{"_index":311,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["initialized",{"_index":196,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["injectable",{"_index":236,"title":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"coverage.html":{}}}],["injectables",{"_index":238,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"overview.html":{}}}],["injector",{"_index":172,"title":{},"body":{"modules/AppModule.html":{}}}],["input",{"_index":209,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["inputdataformat",{"_index":201,"title":{"interfaces/InputDataFormat.html":{}},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"coverage.html":{}}}],["inputs",{"_index":197,"title":{},"body":{"components/AppWebComponent.html":{}}}],["instance",{"_index":264,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["instead",{"_index":826,"title":{},"body":{"changelog.html":{}}}],["instructions",{"_index":755,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":867,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":706,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":973,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":887,"title":{},"body":{"changelog.html":{}}}],["interact",{"_index":850,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":1040,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":1107,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":93,"title":{"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":485,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":953,"title":{},"body":{"changelog.html":{}}}],["issue",{"_index":935,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":595,"title":{},"body":{"changelog.html":{}}}],["it's",{"_index":705,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":464,"title":{},"body":{"injectables/FilteredSceneService.html":{},"changelog.html":{}}}],["item[spatial_entity_url].placement.target",{"_index":465,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["iu",{"_index":1080,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":1322,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":553,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["json",{"_index":986,"title":{},"body":{"changelog.html":{}}}],["jsonld",{"_index":1229,"title":{},"body":{"dependencies.html":{}}}],["jsonld/jsonld",{"_index":90,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["jsonldobj",{"_index":89,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"miscellaneous/functions.html":{}}}],["july",{"_index":1039,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":1089,"title":{},"body":{"changelog.html":{}}}],["keyboard",{"_index":1087,"title":{},"body":{"changelog.html":{}}}],["keyval",{"_index":1227,"title":{},"body":{"dependencies.html":{}}}],["kidney",{"_index":741,"title":{},"body":{"changelog.html":{}}}],["kind",{"_index":1375,"title":{},"body":{"license.html":{}}}],["known",{"_index":594,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":573,"title":{},"body":{"changelog.html":{}}}],["labs/data",{"_index":489,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["labs/dispatch",{"_index":1181,"title":{},"body":{"dependencies.html":{}}}],["landmarks",{"_index":614,"title":{},"body":{"changelog.html":{}}}],["larger",{"_index":656,"title":{},"body":{"changelog.html":{}}}],["last",{"_index":513,"title":{},"body":{"modules/StoreModule.html":{}}}],["latest",{"_index":608,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["layers",{"_index":1166,"title":{},"body":{"dependencies.html":{}}}],["ld",{"_index":987,"title":{},"body":{"changelog.html":{}}}],["leak",{"_index":934,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":724,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":996,"title":{},"body":{"changelog.html":{}}}],["left/right",{"_index":742,"title":{},"body":{"changelog.html":{}}}],["legend",{"_index":140,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["level",{"_index":1085,"title":{},"body":{"changelog.html":{}}}],["levels",{"_index":1104,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":1389,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1386,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":660,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":898,"title":{},"body":{"changelog.html":{}}}],["license",{"_index":1338,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":718,"title":{},"body":{"changelog.html":{}}}],["limitation",{"_index":1354,"title":{},"body":{"license.html":{}}}],["limited",{"_index":1023,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":105,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["link",{"_index":734,"title":{},"body":{"changelog.html":{}}}],["linkage",{"_index":1041,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":620,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":689,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":842,"title":{},"body":{"changelog.html":{}}}],["literal",{"_index":1251,"title":{},"body":{"dependencies.html":{}}}],["little",{"_index":848,"title":{},"body":{"changelog.html":{}}}],["load",{"_index":635,"title":{},"body":{"changelog.html":{}}}],["loaded",{"_index":1043,"title":{},"body":{"changelog.html":{}}}],["loaders.gl/core",{"_index":1170,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":1172,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":1173,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":582,"title":{},"body":{"changelog.html":{}}}],["location",{"_index":940,"title":{},"body":{"changelog.html":{}}}],["locations",{"_index":575,"title":{},"body":{"changelog.html":{}}}],["locationstrategy",{"_index":261,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["locator",{"_index":266,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["lodash",{"_index":1231,"title":{},"body":{"dependencies.html":{}}}],["log",{"_index":1325,"title":{},"body":{"index.html":{}}}],["logger",{"_index":512,"title":{},"body":{"modules/StoreModule.html":{}}}],["logging",{"_index":650,"title":{},"body":{"changelog.html":{}}}],["longer",{"_index":824,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":904,"title":{},"body":{"changelog.html":{}}}],["lru",{"_index":1233,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":1174,"title":{},"body":{"dependencies.html":{}}}],["made",{"_index":963,"title":{},"body":{"changelog.html":{}}}],["major",{"_index":585,"title":{},"body":{"changelog.html":{}}}],["makes",{"_index":652,"title":{},"body":{"changelog.html":{}}}],["making",{"_index":699,"title":{},"body":{"changelog.html":{}}}],["male",{"_index":483,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["male_skin_url",{"_index":437,"title":{},"body":{"injectables/FilteredSceneService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["managers",{"_index":664,"title":{},"body":{"changelog.html":{}}}],["map",{"_index":332,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["map(([nodes",{"_index":408,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["map(([organs",{"_index":403,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["map((config",{"_index":345,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["map(data",{"_index":341,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["map(id",{"_index":415,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["map(selectorgan",{"_index":466,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["march",{"_index":901,"title":{},"body":{"changelog.html":{}}}],["markdown",{"_index":1241,"title":{},"body":{"dependencies.html":{}}}],["match",{"_index":903,"title":{},"body":{"changelog.html":{}}}],["matching",{"_index":152,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["math.gl/core",{"_index":1176,"title":{},"body":{"dependencies.html":{}}}],["math.gl/culling",{"_index":1178,"title":{},"body":{"dependencies.html":{}}}],["mc",{"_index":1079,"title":{},"body":{"changelog.html":{}}}],["member",{"_index":448,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["memory",{"_index":933,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":998,"title":{},"body":{"changelog.html":{}}}],["merchantability",{"_index":1378,"title":{},"body":{"license.html":{}}}],["merge",{"_index":1357,"title":{},"body":{"license.html":{}}}],["metadata",{"_index":14,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"changelog.html":{}}}],["methods",{"_index":31,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["minor",{"_index":596,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":1268,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":1339,"title":{},"body":{"license.html":{}}}],["mock",{"_index":1075,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":832,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":768,"title":{},"body":{"changelog.html":{}}}],["model",{"_index":288,"title":{},"body":{"injectables/DataSourceService.html":{},"dependencies.html":{}}}],["modify",{"_index":1356,"title":{},"body":{"license.html":{}}}],["module",{"_index":154,"title":{"modules/AppModule.html":{},"modules/StoreModule.html":{}},"body":{"modules/StoreModule.html":{}}}],["modules",{"_index":156,"title":{"modules.html":{}},"body":{"modules/AppModule.html":{},"modules/StoreModule.html":{},"modules.html":{},"overview.html":{}}}],["monorepo",{"_index":1283,"title":{},"body":{"index.html":{}}}],["monotypeoperatorfunction",{"_index":1277,"title":{},"body":{"miscellaneous/functions.html":{}}}],["more",{"_index":532,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["moved",{"_index":1095,"title":{},"body":{"changelog.html":{}}}],["much",{"_index":654,"title":{},"body":{"changelog.html":{}}}],["multiple",{"_index":1284,"title":{},"body":{"index.html":{}}}],["n3",{"_index":1234,"title":{},"body":{"dependencies.html":{}}}],["name",{"_index":50,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"miscellaneous/functions.html":{}}}],["names",{"_index":782,"title":{},"body":{"changelog.html":{}}}],["navigation",{"_index":1088,"title":{},"body":{"changelog.html":{}}}],["need",{"_index":564,"title":{},"body":{"changelog.html":{}}}],["needed",{"_index":909,"title":{},"body":{"changelog.html":{}}}],["neededorgans",{"_index":471,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["neededorgans.has(node.reference_organ",{"_index":476,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["neededreferenceorgans",{"_index":468,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["neededskins",{"_index":469,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["needs",{"_index":916,"title":{},"body":{"changelog.html":{}}}],["network",{"_index":1329,"title":{},"body":{"index.html":{}}}],["new",{"_index":100,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"coverage.html":{}}}],["next",{"_index":104,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{}}}],["ng5",{"_index":1236,"title":{},"body":{"dependencies.html":{}}}],["ngdobootstrap",{"_index":168,"title":{},"body":{"modules/AppModule.html":{}}}],["ngmodule",{"_index":173,"title":{},"body":{"modules/AppModule.html":{},"modules/StoreModule.html":{}}}],["ngondestroy",{"_index":259,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["ngx",{"_index":1239,"title":{},"body":{"dependencies.html":{}}}],["ngxs",{"_index":488,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/logger",{"_index":491,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/storage",{"_index":1185,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":494,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxsdatapluginmodule",{"_index":487,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdatapluginmodule.forroot",{"_index":504,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsloggerpluginmodule",{"_index":490,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsloggerpluginmodule.forroot",{"_index":514,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule",{"_index":493,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule.forroot(root_states",{"_index":505,"title":{},"body":{"modules/StoreModule.html":{}}}],["nih",{"_index":1335,"title":{},"body":{"index.html":{}}}],["node",{"_index":1243,"title":{},"body":{"dependencies.html":{}}}],["node.reference_organ",{"_index":475,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["node.zoomtoonload",{"_index":115,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["nodes",{"_index":300,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["nodes.filter(node",{"_index":474,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["noninfringement",{"_index":1382,"title":{},"body":{"license.html":{}}}],["note",{"_index":559,"title":{},"body":{"changelog.html":{}}}],["notebooks",{"_index":551,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":1316,"title":{},"body":{"index.html":{}}}],["notice",{"_index":936,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":658,"title":{},"body":{"changelog.html":{}}}],["number",{"_index":657,"title":{},"body":{"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["numeric",{"_index":941,"title":{},"body":{"changelog.html":{}}}],["obj[spatial_entity_url",{"_index":446,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["object",{"_index":1246,"title":{},"body":{"dependencies.html":{}}}],["object.keys(config).length",{"_index":344,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["observable",{"_index":280,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["obtaining",{"_index":1349,"title":{},"body":{"license.html":{}}}],["off/on",{"_index":913,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":1038,"title":{},"body":{"changelog.html":{}}}],["old",{"_index":1299,"title":{},"body":{"index.html":{}}}],["onclick",{"_index":36,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["ondestroy",{"_index":319,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["one",{"_index":980,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["online",{"_index":1048,"title":{},"body":{"changelog.html":{}}}],["onmouseenter",{"_index":37,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["onmouseleave",{"_index":38,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["ontological",{"_index":1115,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":989,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":291,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["ontologyterms",{"_index":459,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["ontologytreemodel",{"_index":322,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["opacities",{"_index":920,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":894,"title":{},"body":{"changelog.html":{}}}],["openapi",{"_index":701,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/js",{"_index":1312,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":1314,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":1313,"title":{},"body":{"index.html":{}}}],["optimization",{"_index":847,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":1030,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":885,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":711,"title":{},"body":{"changelog.html":{}}}],["optional",{"_index":52,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["options",{"_index":312,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["organ",{"_index":295,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"changelog.html":{},"index.html":{}}}],["organ.reference_organ",{"_index":460,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["organ.sex",{"_index":462,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["organs",{"_index":29,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{}}}],["organs.find(temporgan",{"_index":455,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["organs.foreach(organ",{"_index":480,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["organs.has(organ.reference_organ",{"_index":478,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["organs.length",{"_index":120,"title":{},"body":{"components/AppComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{}}}],["organs/anatomical",{"_index":922,"title":{},"body":{"changelog.html":{}}}],["organs[0",{"_index":128,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["organurls",{"_index":444,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["organurls[0",{"_index":457,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["orthographic",{"_index":796,"title":{},"body":{"changelog.html":{}}}],["ot2od026671",{"_index":1337,"title":{},"body":{"index.html":{}}}],["otherwise",{"_index":1394,"title":{},"body":{"license.html":{}}}],["out",{"_index":163,"title":{},"body":{"modules/AppModule.html":{},"license.html":{},"overview.html":{}}}],["output",{"_index":81,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["outputs",{"_index":35,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["over",{"_index":948,"title":{},"body":{"changelog.html":{}}}],["overall",{"_index":604,"title":{},"body":{"changelog.html":{}}}],["overlays",{"_index":1105,"title":{},"body":{"changelog.html":{}}}],["overview",{"_index":1401,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["p",{"_index":1071,"title":{},"body":{"changelog.html":{}}}],["package",{"_index":663,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["pages",{"_index":753,"title":{},"body":{"changelog.html":{}}}],["paired",{"_index":737,"title":{},"body":{"changelog.html":{}}}],["pane",{"_index":874,"title":{},"body":{"changelog.html":{}}}],["panel",{"_index":752,"title":{},"body":{"changelog.html":{}}}],["param",{"_index":354,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["parameters",{"_index":48,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"miscellaneous/functions.html":{}}}],["parent",{"_index":739,"title":{},"body":{"changelog.html":{}}}],["parse",{"_index":234,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["parser",{"_index":1192,"title":{},"body":{"dependencies.html":{}}}],["particular",{"_index":1380,"title":{},"body":{"license.html":{}}}],["partly",{"_index":900,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":818,"title":{},"body":{"changelog.html":{}}}],["path",{"_index":1219,"title":{},"body":{"dependencies.html":{}}}],["performance",{"_index":667,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":1343,"title":{},"body":{"license.html":{}}}],["permit",{"_index":1364,"title":{},"body":{"license.html":{}}}],["person",{"_index":1348,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1365,"title":{},"body":{"license.html":{}}}],["pick",{"_index":580,"title":{},"body":{"changelog.html":{}}}],["placed",{"_index":502,"title":{},"body":{"modules/StoreModule.html":{}}}],["placeholder",{"_index":1042,"title":{},"body":{"changelog.html":{}}}],["placement",{"_index":572,"title":{},"body":{"changelog.html":{}}}],["placenta",{"_index":611,"title":{},"body":{"changelog.html":{}}}],["player",{"_index":1160,"title":{},"body":{"dependencies.html":{}}}],["plugin",{"_index":492,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["plus",{"_index":590,"title":{},"body":{"changelog.html":{}}}],["popup",{"_index":1050,"title":{},"body":{"changelog.html":{}}}],["portal",{"_index":710,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["portal's",{"_index":1022,"title":{},"body":{"changelog.html":{}}}],["portions",{"_index":1373,"title":{},"body":{"license.html":{}}}],["position",{"_index":651,"title":{},"body":{"changelog.html":{}}}],["possible",{"_index":964,"title":{},"body":{"changelog.html":{}}}],["preferences",{"_index":778,"title":{},"body":{"changelog.html":{}}}],["preparation",{"_index":1081,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":1103,"title":{},"body":{"changelog.html":{}}}],["prevent",{"_index":642,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":793,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":337,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["previously",{"_index":691,"title":{},"body":{"changelog.html":{}}}],["private",{"_index":32,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{}}}],["process",{"_index":1064,"title":{},"body":{"changelog.html":{}}}],["processed",{"_index":1013,"title":{},"body":{"changelog.html":{}}}],["processing",{"_index":779,"title":{},"body":{"changelog.html":{}}}],["production",{"_index":678,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":659,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":1069,"title":{},"body":{"changelog.html":{}}}],["projects",{"_index":1285,"title":{},"body":{"index.html":{}}}],["projects/.../app",{"_index":1273,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../constants.ts",{"_index":1405,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../data",{"_index":1270,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["projects/.../highlight.operator.ts",{"_index":1271,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["projects/.../store.module.ts",{"_index":1406,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../zoom",{"_index":1272,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/ccf",{"_index":10,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":60,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/GlobalConfig.html":{}}}],["promise((resolve",{"_index":109,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["properties",{"_index":25,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{}}}],["provided",{"_index":1119,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["providedin",{"_index":338,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["providers",{"_index":185,"title":{},"body":{"modules/AppModule.html":{},"changelog.html":{}}}],["public",{"_index":1049,"title":{},"body":{"changelog.html":{}}}],["publish",{"_index":1358,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":661,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":1381,"title":{},"body":{"license.html":{}}}],["pushed",{"_index":862,"title":{},"body":{"changelog.html":{}}}],["python",{"_index":552,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["qs",{"_index":1248,"title":{},"body":{"dependencies.html":{}}}],["qualitative",{"_index":1026,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":717,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":244,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{},"dependencies.html":{}}}],["query",{"_index":1113,"title":{},"body":{"changelog.html":{}}}],["querying",{"_index":619,"title":{},"body":{"changelog.html":{}}}],["quickly",{"_index":1006,"title":{},"body":{"changelog.html":{}}}],["rc.1",{"_index":1032,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":1250,"title":{},"body":{"dependencies.html":{}}}],["rdfjs",{"_index":1162,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":1187,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":1252,"title":{},"body":{"dependencies.html":{}}}],["readable",{"_index":1254,"title":{},"body":{"dependencies.html":{}}}],["readonly",{"_index":26,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["real",{"_index":1047,"title":{},"body":{"changelog.html":{}}}],["reason",{"_index":499,"title":{},"body":{"modules/StoreModule.html":{}}}],["rectify",{"_index":697,"title":{},"body":{"changelog.html":{}}}],["reduce",{"_index":852,"title":{},"body":{"changelog.html":{}}}],["reduction",{"_index":634,"title":{},"body":{"changelog.html":{}}}],["reference",{"_index":297,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{},"index.html":{}}}],["referenceorgans",{"_index":382,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["referenceorgans.filter(organ",{"_index":477,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["refernced",{"_index":738,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":817,"title":{},"body":{"changelog.html":{}}}],["regions",{"_index":1106,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":1205,"title":{},"body":{"dependencies.html":{}}}],["registered",{"_index":692,"title":{},"body":{"changelog.html":{}}}],["registration",{"_index":727,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["registrations",{"_index":839,"title":{},"body":{"changelog.html":{}}}],["registrations#1",{"_index":537,"title":{},"body":{"changelog.html":{}}}],["related",{"_index":891,"title":{},"body":{"changelog.html":{}}}],["release",{"_index":545,"title":{},"body":{"changelog.html":{}}}],["reliability",{"_index":938,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":789,"title":{},"body":{"changelog.html":{}}}],["remote",{"_index":326,"title":{},"body":{"injectables/DataSourceService.html":{},"miscellaneous/typealiases.html":{}}}],["removed",{"_index":765,"title":{},"body":{"changelog.html":{}}}],["removes",{"_index":890,"title":{},"body":{"changelog.html":{}}}],["repository",{"_index":1282,"title":{},"body":{"index.html":{}}}],["required",{"_index":993,"title":{},"body":{"changelog.html":{}}}],["reset",{"_index":34,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/GlobalConfig.html":{},"overview.html":{}}}],["resets",{"_index":819,"title":{},"body":{"changelog.html":{}}}],["resolved",{"_index":868,"title":{},"body":{"changelog.html":{}}}],["resource",{"_index":349,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["respond",{"_index":811,"title":{},"body":{"changelog.html":{}}}],["restriction",{"_index":1353,"title":{},"body":{"license.html":{}}}],["result",{"_index":151,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["results",{"_index":153,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["return",{"_index":107,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}],["returns",{"_index":59,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"miscellaneous/functions.html":{}}}],["rgb",{"_index":1224,"title":{},"body":{"dependencies.html":{}}}],["right",{"_index":581,"title":{},"body":{"changelog.html":{}}}],["rights",{"_index":1355,"title":{},"body":{"license.html":{}}}],["root",{"_index":19,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{}}}],["root'},{'name",{"_index":146,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["root_states",{"_index":497,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rotates",{"_index":791,"title":{},"body":{"changelog.html":{}}}],["round",{"_index":925,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":942,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":617,"title":{},"body":{"changelog.html":{}}}],["ru/common",{"_index":1148,"title":{},"body":{"dependencies.html":{}}}],["ru/common/typings",{"_index":435,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["rui",{"_index":574,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["rui_location",{"_index":218,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["rui_locations.jsonld",{"_index":649,"title":{},"body":{"changelog.html":{}}}],["rxjs",{"_index":330,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":88,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{}}}],["s",{"_index":376,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["sample",{"_index":1118,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["samples",{"_index":854,"title":{},"body":{"changelog.html":{}}}],["saver",{"_index":1211,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":1070,"title":{},"body":{"changelog.html":{}}}],["scene",{"_index":30,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{}}}],["scene.service",{"_index":80,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["scene.service.ts",{"_index":379,"title":{},"body":{"injectables/FilteredSceneService.html":{},"coverage.html":{}}}],["scene.service.ts:18",{"_index":400,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:19",{"_index":431,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:22",{"_index":417,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:26",{"_index":422,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:28",{"_index":429,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:32",{"_index":420,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:37",{"_index":405,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:42",{"_index":413,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:47",{"_index":388,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:54",{"_index":390,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:73",{"_index":399,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:82",{"_index":393,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:91",{"_index":395,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene.service.ts:95",{"_index":397,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["scene/filtered",{"_index":79,"title":{},"body":{"components/AppComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{}}}],["scenesource",{"_index":42,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["scheduled",{"_index":869,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":1073,"title":{},"body":{"changelog.html":{}}}],["schemes",{"_index":1027,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":1330,"title":{},"body":{"index.html":{}}}],["search",{"_index":579,"title":{},"body":{"changelog.html":{}}}],["searches",{"_index":593,"title":{},"body":{"changelog.html":{}}}],["section",{"_index":840,"title":{},"body":{"changelog.html":{}}}],["see",{"_index":621,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["select",{"_index":764,"title":{},"body":{"changelog.html":{}}}],["selected",{"_index":603,"title":{},"body":{"changelog.html":{}}}],["selecting",{"_index":653,"title":{},"body":{"changelog.html":{}}}],["selector",{"_index":17,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{}}}],["selectorgan",{"_index":463,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["selectorgans",{"_index":387,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["selectorgans(data",{"_index":398,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["selects",{"_index":1090,"title":{},"body":{"changelog.html":{}}}],["sell",{"_index":1362,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":1102,"title":{},"body":{"changelog.html":{}}}],["sennet",{"_index":672,"title":{},"body":{"changelog.html":{}}}],["sensitive",{"_index":533,"title":{},"body":{"changelog.html":{}}}],["server",{"_index":1076,"title":{},"body":{"changelog.html":{}}}],["service",{"_index":265,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["set",{"_index":392,"title":{},"body":{"injectables/FilteredSceneService.html":{},"changelog.html":{}}}],["set([...organs",{"_index":472,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["set(organs",{"_index":467,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["set(organurls",{"_index":452,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["settimeout(resolve",{"_index":110,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["setting",{"_index":508,"title":{},"body":{"modules/StoreModule.html":{}}}],["setup",{"_index":835,"title":{},"body":{"changelog.html":{}}}],["setzoomtoifmatching",{"_index":1145,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["setzoomtoifmatching(entity",{"_index":1278,"title":{},"body":{"miscellaneous/functions.html":{}}}],["sex",{"_index":461,"title":{},"body":{"injectables/FilteredSceneService.html":{},"changelog.html":{}}}],["sexes",{"_index":979,"title":{},"body":{"changelog.html":{}}}],["shadow",{"_index":317,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["shall",{"_index":1370,"title":{},"body":{"license.html":{}}}],["shared",{"_index":85,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["shared/web",{"_index":211,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["sharereplay",{"_index":333,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["sharereplay(1",{"_index":351,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["shortest",{"_index":1218,"title":{},"body":{"dependencies.html":{}}}],["show",{"_index":813,"title":{},"body":{"changelog.html":{}}}],["showing",{"_index":1012,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":1021,"title":{},"body":{"changelog.html":{}}}],["shows",{"_index":720,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":529,"title":{},"body":{"changelog.html":{}}}],["sides",{"_index":981,"title":{},"body":{"changelog.html":{}}}],["significant",{"_index":822,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":751,"title":{},"body":{"changelog.html":{}}}],["simplifies",{"_index":833,"title":{},"body":{"changelog.html":{}}}],["sites",{"_index":730,"title":{},"body":{"changelog.html":{}}}],["sizable",{"_index":937,"title":{},"body":{"changelog.html":{}}}],["skins",{"_index":479,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["skins.add(female_skin_url",{"_index":482,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["skins.add(male_skin_url",{"_index":484,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["slider",{"_index":1237,"title":{},"body":{"dependencies.html":{}}}],["slightly",{"_index":695,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":849,"title":{},"body":{"changelog.html":{}}}],["software",{"_index":1287,"title":{},"body":{"index.html":{},"license.html":{}}}],["solved",{"_index":932,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":1003,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":665,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":844,"title":{},"body":{"changelog.html":{}}}],["source",{"_index":4,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{}}}],["source.connect(config",{"_index":371,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service",{"_index":433,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["source.service.ts",{"_index":241,"title":{},"body":{"injectables/DataSourceService.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["source.service.ts:103",{"_index":290,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:116",{"_index":283,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:128",{"_index":292,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:140",{"_index":287,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:153",{"_index":296,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:166",{"_index":299,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:173",{"_index":294,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:180",{"_index":271,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:187",{"_index":270,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:39",{"_index":307,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:41",{"_index":310,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:43",{"_index":262,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:67",{"_index":306,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:77",{"_index":303,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:90",{"_index":274,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source/data",{"_index":240,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["sources",{"_index":771,"title":{},"body":{"changelog.html":{}}}],["sparc",{"_index":838,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":563,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":587,"title":{},"body":{"changelog.html":{}}}],["spatial_entity_url",{"_index":438,"title":{},"body":{"injectables/FilteredSceneService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialentity",{"_index":323,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["spatialscenenode",{"_index":324,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"miscellaneous/functions.html":{}}}],["spec",{"_index":91,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{}}}],["spec.yaml",{"_index":1311,"title":{},"body":{"index.html":{}}}],["specific",{"_index":713,"title":{},"body":{"changelog.html":{}}}],["specification",{"_index":1310,"title":{},"body":{"index.html":{}}}],["speed",{"_index":631,"title":{},"body":{"changelog.html":{}}}],["spinal",{"_index":612,"title":{},"body":{"changelog.html":{}}}],["spinning",{"_index":1074,"title":{},"body":{"changelog.html":{}}}],["sprint",{"_index":872,"title":{},"body":{"changelog.html":{}}}],["stage",{"_index":914,"title":{},"body":{"changelog.html":{}}}],["staging",{"_index":679,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["standalone",{"_index":928,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":985,"title":{},"body":{"changelog.html":{}}}],["standards",{"_index":1078,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":1291,"title":{},"body":{"index.html":{}}}],["start",{"_index":369,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["started",{"_index":517,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["starts",{"_index":1125,"title":{},"body":{"changelog.html":{}}}],["startup",{"_index":831,"title":{},"body":{"changelog.html":{}}}],["statements",{"_index":1128,"title":{},"body":{"coverage.html":{}}}],["states",{"_index":495,"title":{},"body":{"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["static",{"_index":64,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["stay",{"_index":1123,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":857,"title":{},"body":{"changelog.html":{}}}],["store",{"_index":503,"title":{},"body":{"modules/StoreModule.html":{}}}],["storemodule",{"_index":161,"title":{"modules/StoreModule.html":{}},"body":{"modules/AppModule.html":{},"modules/StoreModule.html":{},"modules.html":{},"overview.html":{}}}],["stories",{"_index":1067,"title":{},"body":{"changelog.html":{}}}],["strange",{"_index":498,"title":{},"body":{"modules/StoreModule.html":{}}}],["stream",{"_index":1255,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":1253,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":96,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"miscellaneous/variables.html":{}}}],["structure",{"_index":886,"title":{},"body":{"changelog.html":{}}}],["structures",{"_index":875,"title":{},"body":{"changelog.html":{}}}],["styles",{"_index":6,"title":{},"body":{"components/AppComponent.html":{},"changelog.html":{}}}],["styleurls",{"_index":20,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["styling",{"_index":747,"title":{},"body":{"changelog.html":{}}}],["subject",{"_index":1367,"title":{},"body":{"license.html":{}}}],["sublicense",{"_index":1360,"title":{},"body":{"license.html":{}}}],["subscription",{"_index":313,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["subscriptions",{"_index":247,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["substantial",{"_index":1372,"title":{},"body":{"license.html":{}}}],["such",{"_index":562,"title":{},"body":{"changelog.html":{}}}],["super(configstore",{"_index":228,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["support",{"_index":566,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["svg",{"_index":1398,"title":{},"body":{"modules.html":{}}}],["swiper",{"_index":1258,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":576,"title":{},"body":{"changelog.html":{}}}],["switched",{"_index":945,"title":{},"body":{"changelog.html":{}}}],["switchmap",{"_index":334,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["switchmap(([data",{"_index":426,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["switchmap(config",{"_index":347,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["switchmap(db",{"_index":356,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["sync",{"_index":792,"title":{},"body":{"changelog.html":{}}}],["table",{"_index":1147,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":687,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":1146,"title":{},"body":{"coverage.html":{}}}],["tagging",{"_index":983,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":86,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{}}}],["take(1",{"_index":358,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["tap",{"_index":87,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["tap((_",{"_index":74,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["technologies",{"_index":1096,"title":{},"body":{"changelog.html":{}}}],["technology",{"_index":918,"title":{},"body":{"changelog.html":{}}}],["telemetry",{"_index":785,"title":{},"body":{"changelog.html":{}}}],["template",{"_index":5,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["templateurl",{"_index":22,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["temporgan['@id",{"_index":456,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["term",{"_index":285,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["terms",{"_index":560,"title":{},"body":{"changelog.html":{}}}],["test",{"_index":1053,"title":{},"body":{"changelog.html":{}}}],["testing",{"_index":992,"title":{},"body":{"changelog.html":{}}}],["theme",{"_index":673,"title":{},"body":{"changelog.html":{}}}],["themes",{"_index":671,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":668,"title":{},"body":{"changelog.html":{}}}],["this.cdr.detectchanges",{"_index":136,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.choosescene(data",{"_index":428,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.configstate.getoption('data",{"_index":69,"title":{},"body":{"components/AppComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{}}}],["this.configstate.getoption('data').pipe",{"_index":418,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.configstate.getoption('highlightid').pipe",{"_index":414,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.configstate.getoption('zoomtoid').pipe",{"_index":430,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.connectdatasource((resource",{"_index":350,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["this.createdatasource",{"_index":348,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["this.datasource",{"_index":339,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["this.datasource.pipe",{"_index":355,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["this.filterscenenodes(nodes",{"_index":409,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.getneededreferenceorgans(referenceorgans",{"_index":404,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.getneededskins(neededreferenceorgans",{"_index":470,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.injector",{"_index":190,"title":{},"body":{"modules/AppModule.html":{}}}],["this.organs",{"_index":407,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.organs$.pipe(take(1)).topromise",{"_index":112,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.referenceorgans",{"_index":424,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.referenceorgans$]).pipe",{"_index":402,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.reset",{"_index":75,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.scenesource.filteredorgans",{"_index":71,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.scenesource.filteredscene$.pipe",{"_index":73,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.selectorgans(data",{"_index":419,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.source.datasource]).pipe",{"_index":425,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.source.getorganscene(organ.representation_of",{"_index":458,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.source.getreferenceorgans",{"_index":421,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.source.getscene",{"_index":454,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["this.subscriptions.add(this.datasource.subscribe",{"_index":352,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["this.subscriptions.unsubscribe",{"_index":353,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["through",{"_index":1005,"title":{},"body":{"changelog.html":{}}}],["thumbnails",{"_index":884,"title":{},"body":{"changelog.html":{}}}],["tied",{"_index":888,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":1014,"title":{},"body":{"changelog.html":{}}}],["timeouts",{"_index":643,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":636,"title":{},"body":{"changelog.html":{}}}],["tissue",{"_index":304,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["tissueblockresult",{"_index":325,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["tissues",{"_index":693,"title":{},"body":{"changelog.html":{}}}],["tmc",{"_index":1114,"title":{},"body":{"changelog.html":{}}}],["to.operator",{"_index":443,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["to.operator.ts",{"_index":1144,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["toggle",{"_index":669,"title":{},"body":{"changelog.html":{}}}],["tojsonld",{"_index":235,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["tojsonld(data",{"_index":220,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"miscellaneous/functions.html":{}}}],["tool",{"_index":929,"title":{},"body":{"changelog.html":{}}}],["tort",{"_index":1393,"title":{},"body":{"license.html":{}}}],["tracking/telemetry",{"_index":804,"title":{},"body":{"changelog.html":{}}}],["transparency",{"_index":930,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":949,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":8,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"changelog.html":{}}}],["true",{"_index":65,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["try",{"_index":967,"title":{},"body":{"changelog.html":{}}}],["ts",{"_index":1260,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":1263,"title":{},"body":{"dependencies.html":{}}}],["tuned",{"_index":1124,"title":{},"body":{"changelog.html":{}}}],["turn",{"_index":912,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":892,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":889,"title":{},"body":{"changelog.html":{}}}],["tutorial",{"_index":767,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":1025,"title":{},"body":{"changelog.html":{}}}],["type",{"_index":51,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":1402,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["types",{"_index":646,"title":{},"body":{"changelog.html":{}}}],["types/lru",{"_index":1188,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":215,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":1086,"title":{},"body":{"changelog.html":{}}}],["ufl",{"_index":883,"title":{},"body":{"changelog.html":{}}}],["ui",{"_index":12,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"index.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["ui.netlify.app",{"_index":1294,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":1304,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":1301,"title":{},"body":{"index.html":{}}}],["ui/organ",{"_index":1303,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":1302,"title":{},"body":{"index.html":{}}}],["uis",{"_index":548,"title":{},"body":{"changelog.html":{}}}],["undefined",{"_index":368,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["underlying",{"_index":308,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["uniqueorganurls",{"_index":451,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["uniqueorganurls.size",{"_index":453,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["university",{"_index":1333,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":227,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/DataSourceService.html":{},"interfaces/InputDataFormat.html":{}}}],["unnecessary",{"_index":788,"title":{},"body":{"changelog.html":{}}}],["unsafe",{"_index":447,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["unselect",{"_index":851,"title":{},"body":{"changelog.html":{}}}],["unsubscribable",{"_index":328,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["unsubscribe",{"_index":367,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["until",{"_index":896,"title":{},"body":{"changelog.html":{}}}],["up",{"_index":626,"title":{},"body":{"changelog.html":{}}}],["update",{"_index":570,"title":{},"body":{"changelog.html":{}}}],["updated",{"_index":531,"title":{},"body":{"changelog.html":{}}}],["updates",{"_index":616,"title":{},"body":{"changelog.html":{}}}],["upgraded",{"_index":1010,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":1091,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":808,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":926,"title":{},"body":{"changelog.html":{}}}],["usage",{"_index":550,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":1317,"title":{},"body":{"index.html":{}}}],["use",{"_index":547,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["usecase",{"_index":1323,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":1320,"title":{},"body":{"index.html":{}}}],["used",{"_index":911,"title":{},"body":{"changelog.html":{}}}],["user",{"_index":522,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["user/os",{"_index":777,"title":{},"body":{"changelog.html":{}}}],["users",{"_index":1109,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":795,"title":{},"body":{"changelog.html":{}}}],["using",{"_index":329,"title":{},"body":{"injectables/DataSourceService.html":{},"changelog.html":{}}}],["utilities",{"_index":783,"title":{},"body":{"changelog.html":{}}}],["uuid",{"_index":1264,"title":{},"body":{"dependencies.html":{}}}],["v1.1",{"_index":688,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":558,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":546,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":910,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":690,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":682,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":645,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":609,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":571,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":622,"title":{},"body":{"changelog.html":{}}}],["v2.1.0",{"_index":556,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":542,"title":{},"body":{"changelog.html":{}}}],["v3",{"_index":578,"title":{},"body":{"changelog.html":{}}}],["value",{"_index":68,"title":{},"body":{"components/AppComponent.html":{},"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{},"miscellaneous/variables.html":{}}}],["values",{"_index":276,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["var",{"_index":144,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{}}}],["variable",{"_index":1135,"title":{},"body":{"coverage.html":{}}}],["variables",{"_index":1404,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["version",{"_index":703,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["very",{"_index":1000,"title":{},"body":{"changelog.html":{}}}],["via",{"_index":640,"title":{},"body":{"changelog.html":{}}}],["video",{"_index":809,"title":{},"body":{"changelog.html":{}}}],["view",{"_index":794,"title":{},"body":{"changelog.html":{}}}],["viewchild",{"_index":82,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["viewchild('bodyui",{"_index":63,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["viewer",{"_index":877,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":599,"title":{},"body":{"changelog.html":{}}}],["views",{"_index":797,"title":{},"body":{"changelog.html":{}}}],["visual",{"_index":597,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":841,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":1011,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":170,"title":{},"body":{"modules/AppModule.html":{},"injectables/DataSourceService.html":{}}}],["vs",{"_index":763,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":1120,"title":{},"body":{"changelog.html":{}}}],["walkthrough",{"_index":1319,"title":{},"body":{"index.html":{}}}],["warming",{"_index":639,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":1034,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":1377,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1374,"title":{},"body":{"license.html":{}}}],["wc",{"_index":148,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{}}}],["wc/src/app/app",{"_index":192,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["wc/src/app/app.component.ts",{"_index":13,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{}}}],["wc/src/app/app.component.ts:21",{"_index":66,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.component.ts:23",{"_index":56,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.component.ts:24",{"_index":57,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.component.ts:25",{"_index":55,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.component.ts:27",{"_index":70,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.component.ts:28",{"_index":72,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.component.ts:29",{"_index":76,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.component.ts:31",{"_index":47,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.component.ts:39",{"_index":58,"title":{},"body":{"components/AppComponent.html":{}}}],["wc/src/app/app.module.ts",{"_index":164,"title":{},"body":{"modules/AppModule.html":{}}}],["wc/src/app/app.module.ts:23",{"_index":169,"title":{},"body":{"modules/AppModule.html":{}}}],["wc/src/app/core/constants.ts",{"_index":1134,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["wc/src/app/core/highlight.operator.ts",{"_index":1136,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["wc/src/app/core/services/data",{"_index":239,"title":{},"body":{"injectables/DataSourceService.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["wc/src/app/core/services/filtered",{"_index":378,"title":{},"body":{"injectables/FilteredSceneService.html":{},"coverage.html":{}}}],["wc/src/app/core/store/store.module.ts",{"_index":486,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["wc/src/app/core/zoom",{"_index":1143,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["web",{"_index":181,"title":{},"body":{"modules/AppModule.html":{},"components/AppWebComponent.html":{},"interfaces/InputDataFormat.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["webcomponent",{"_index":762,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":1189,"title":{},"body":{"dependencies.html":{}}}],["webpages",{"_index":708,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":1289,"title":{},"body":{"index.html":{}}}],["week",{"_index":1126,"title":{},"body":{"changelog.html":{}}}],["whether",{"_index":1390,"title":{},"body":{"license.html":{}}}],["whole",{"_index":1122,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":139,"title":{},"body":{"components/AppComponent.html":{},"changelog.html":{}}}],["within",{"_index":881,"title":{},"body":{"changelog.html":{}}}],["without",{"_index":725,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["workflows",{"_index":951,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":696,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":971,"title":{},"body":{"changelog.html":{}}}],["x",{"_index":123,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["x_dimension",{"_index":122,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["y",{"_index":125,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["y_dimension",{"_index":124,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["yes",{"_index":277,"title":{},"body":{"injectables/DataSourceService.html":{},"injectables/FilteredSceneService.html":{}}}],["youtube",{"_index":732,"title":{},"body":{"changelog.html":{}}}],["z",{"_index":127,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["z_dimension",{"_index":126,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["zone.js",{"_index":1266,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":162,"title":{},"body":{"modules/AppModule.html":{},"injectables/FilteredSceneService.html":{},"overview.html":{}}}],["zoomto",{"_index":442,"title":{},"body":{"injectables/FilteredSceneService.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["zoomto(id",{"_index":1279,"title":{},"body":{"miscellaneous/functions.html":{}}}],["zoomto(this.zoomtoid",{"_index":412,"title":{},"body":{"injectables/FilteredSceneService.html":{}}}],["zoomtoid",{"_index":97,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/FilteredSceneService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/InputDataFormat.html":{}}}]],"pipeline":["stemmer"]}, + "store": {"components/AppComponent.html":{"url":"components/AppComponent.html","title":"component - AppComponent","body":"\n \n\n\n\n\n\n Components\n \n AppComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-body-ui-wc/src/app/app.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root\n \n\n \n styleUrls\n ./app.component.scss\n \n\n\n\n \n templateUrl\n ./app.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n bodyUI\n \n \n Readonly\n data$\n \n \n organs$\n \n \n scene$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n reset\n \n \n \n \n\n\n \n \n Outputs\n \n \n \n \n \n \n onClick\n \n \n onMouseEnter\n \n \n onMouseLeave\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configState: GlobalConfigState, sceneSource: FilteredSceneService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:31\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configState\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n sceneSource\n \n \n FilteredSceneService\n \n \n \n No\n \n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n Outputs\n \n \n \n \n \n onClick\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:25\n \n \n \n \n \n \n \n \n \n onMouseEnter\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:23\n \n \n \n \n \n \n \n \n \n onMouseLeave\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:24\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n reset\n \n \n \n \n \n \n \n reset()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:39\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n bodyUI\n \n \n \n \n \n \n Type : BodyUiComponent\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('bodyUI', {static: true})\n \n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n data$\n \n \n \n \n \n \n Default value : this.configState.getOption('data')\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n organs$\n \n \n \n \n \n \n Default value : this.sceneSource.filteredOrgans$\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n scene$\n \n \n \n \n \n \n Default value : this.sceneSource.filteredScene$.pipe(\n tap((_) => this.reset())\n )\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.component.ts:29\n \n \n\n\n \n \n\n\n\n\n\n \n import { FilteredSceneService } from './core/services/filtered-scene/filtered-scene.service';\nimport { Component, EventEmitter, Output, ViewChild, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { BodyUiComponent, GlobalConfigState } from 'ccf-shared';\nimport { take, tap } from 'rxjs/operators';\nimport { JsonLdObj } from 'jsonld/jsonld-spec';\n\n\nexport interface GlobalConfig {\n highlightID?: string;\n zoomToID?: string;\n data?: JsonLdObj[];\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n @ViewChild('bodyUI', { static: true }) readonly bodyUI!: BodyUiComponent;\n\n @Output() readonly onMouseEnter = new EventEmitter();\n @Output() readonly onMouseLeave = new EventEmitter();\n @Output() readonly onClick = new EventEmitter();\n\n readonly data$ = this.configState.getOption('data');\n organs$ = this.sceneSource.filteredOrgans$;\n scene$ = this.sceneSource.filteredScene$.pipe(\n tap((_) => this.reset())\n );\n\n constructor(\n private readonly configState: GlobalConfigState,\n private readonly sceneSource: FilteredSceneService,\n private readonly cdr: ChangeDetectorRef\n ) { }\n\n private async reset(): Promise {\n const { bodyUI } = this;\n\n // eslint-disable-next-line no-promise-executor-return\n await new Promise((resolve) => setTimeout(resolve, 200));\n const organs = await this.organs$.pipe(take(1)).toPromise();\n const hasZoomingNode = !!bodyUI.scene?.find((node) => node.zoomToOnLoad) ?? false;\n\n bodyUI.rotation = 0;\n bodyUI.rotationX = 0;\n\n if (!hasZoomingNode) {\n if (organs.length === 1) {\n const { x_dimension: x, y_dimension: y, z_dimension: z } = organs[0];\n bodyUI.bounds = { x: 1.25 * x / 1000, y: 1.25 * y / 1000, z: 1.25 * z / 1000 };\n bodyUI.target = [x / 1000 / 2, y / 1000 / 2, z / 1000 / 2];\n } else {\n bodyUI.bounds = { x: 2.2, y: 2, z: 0.4 };\n bodyUI.target = [0, 0, 0];\n }\n }\n\n this.cdr.detectChanges();\n }\n}\n\n \n\n \n \n\n \n\n \n \n ./app.component.scss\n \n .body-ui {\n height: 100%;\n width: 100%;\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AppModule.html":{"url":"modules/AppModule.html","title":"module - AppModule","body":"\n \n\n\n\n\n Modules\n AppModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_AppModule_declarations\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nStoreModule\n\nStoreModule\n\nAppModule -->\n\nStoreModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-body-ui-wc/src/app/app.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n AppComponent\n \n \n AppWebComponent\n \n \n \n \n EntryComponents\n \n \n AppComponent\n \n \n \n \n Imports\n \n \n StoreModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngDoBootstrap\n \n \n \n \n \n \nngDoBootstrap()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/app.module.ts:23\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { DoBootstrap, Injector, NgModule } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { AppComponent } from './app.component';\nimport { AppWebComponent } from './app-web-component.component';\nimport { StoreModule } from './core/store/store.module';\nimport { BodyUiModule } from 'ccf-shared';\n\n@NgModule({\n imports: [\n BrowserModule,\n StoreModule,\n BodyUiModule\n ],\n declarations: [AppComponent, AppWebComponent],\n providers: [],\n entryComponents: [AppComponent]\n})\nexport class AppModule implements DoBootstrap {\n constructor(private readonly injector: Injector) { }\n\n ngDoBootstrap(): void {\n const appElement = createCustomElement(AppWebComponent, {\n injector: this.injector\n });\n\n customElements.define('ccf-body-ui-wc', appElement);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppWebComponent.html":{"url":"components/AppWebComponent.html","title":"component - AppWebComponent","body":"\n \n\n\n\n\n\n Components\n \n AppWebComponent\n\n\n\n \n Info\n \n \n Source\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-body-ui-wc/src/app/app-web-component.component.ts\n\n\n\n\n \n Extends\n \n \n BaseWebComponent\n \n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root-wc\n \n\n\n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n initialized\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n data\n \n \n highlightID\n \n \n zoomToID\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n onClick\n \n \n onMouseEnter\n \n \n onMouseLeave\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configStore: GlobalConfigState, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app-web-component.component.ts:40\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configStore\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n data\n \n \n \n \n Type : InputDataFormat[]\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app-web-component.component.ts:32\n \n \n \n \n \n \n \n \n \n highlightID\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app-web-component.component.ts:33\n \n \n \n \n \n \n \n \n \n zoomToID\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app-web-component.component.ts:34\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n onClick\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app-web-component.component.ts:38\n \n \n \n \n \n \n \n \n \n onMouseEnter\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app-web-component.component.ts:36\n \n \n \n \n \n \n \n \n \n onMouseLeave\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app-web-component.component.ts:37\n \n \n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n initialized\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/app-web-component.component.ts:40\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { BaseWebComponent, GenericGlobalConfig } from 'ccf-shared/web-components';\nimport { JsonLdObj } from 'jsonld/jsonld-spec';\n\nimport { environment } from '../environments/environment';\n\n\nexport interface InputDataFormat {\n id: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n rui_location: JsonLdObj;\n}\n\n\nfunction toJsonLd(data: InputDataFormat[]): JsonLdObj[] {\n return data.map(d => ({\n '@id': `http://purl.org/ccf/1.5/entity/${d.id}`,\n '@type': 'http://purl.org/ccf/latest/ccf-entity.owl#Sample',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity': d.rui_location\n })) as unknown as JsonLdObj[];\n}\n\n@Component({\n selector: 'ccf-root-wc',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppWebComponent extends BaseWebComponent {\n @Input() data: InputDataFormat[];\n @Input() highlightID: string;\n @Input() zoomToID: string;\n\n @Output() readonly onMouseEnter = new EventEmitter();\n @Output() readonly onMouseLeave = new EventEmitter();\n @Output() readonly onClick = new EventEmitter();\n\n initialized: boolean;\n\n constructor(\n configStore: GlobalConfigState,\n cdr: ChangeDetectorRef\n ) {\n super(configStore, cdr, {\n initialDelay: 10,\n\n initialConfig: {\n ...environment.dbOptions,\n ...globalThis['dbOptions']\n },\n parse: {\n data: toJsonLd\n }\n });\n }\n}\n\n \n\n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppWebComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DataSourceService.html":{"url":"injectables/DataSourceService.html","title":"injectable - DataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n DataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts\n \n\n\n \n Description\n \n \n Backend data queries.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n dataSource\n \n \n dbOptions\n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n connectDataSource\n \n \n Private\n createDataSource\n \n \n getAggregateResults\n \n \n getCellTypeTermOccurences\n \n \n getCellTypeTreeModel\n \n \n getOntologyTermOccurences\n \n \n getOntologyTreeModel\n \n \n getOrganScene\n \n \n getReferenceOrgans\n \n \n getScene\n \n \n getTissueBlockResults\n \n \n ngOnDestroy\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(locator: LocationStrategy, globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:43\n \n \n\n \n \n Creates an instance of data source service.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n locator\n \n \n LocationStrategy\n \n \n \n No\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n connectDataSource\n \n \n \n \n \n \n \n connectDataSource(source: DataSource, config: CCFDatabaseOptions)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:187\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n DataSource\n \n\n \n No\n \n\n\n \n \n config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createDataSource\n \n \n \n \n \n \n \n createDataSource()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:180\n \n \n\n\n \n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:90\n \n \n\n\n \n \n Queries for aggregate values.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n Currently applied filter.\n\n \n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n An observable emitting the results.\n\n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:116\n \n \n\n\n \n \n Queries for cell type term counts.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n Currently applied filter.\n\n \n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n An observable emitting the results.\n\n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:140\n \n \n\n\n \n \n Get the cell type tree model.\n\n\n \n \n \n Returns : Observable\n\n \n \n An observable emitting the results.\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:103\n \n \n\n\n \n \n Queries for ontology term counts.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n Currently applied filter.\n\n \n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n An observable emitting the results.\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:128\n \n \n\n\n \n \n Get the ontology tree model.\n\n\n \n \n \n Returns : Observable\n\n \n \n An observable emitting the results.\n\n \n \n \n \n \n \n \n \n \n \n \n getOrganScene\n \n \n \n \n \n \ngetOrganScene(organ: string, filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:173\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organ\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:153\n \n \n\n\n \n \n Get the reference organs.\n\n\n \n \n \n Returns : Observable\n\n \n \n An observable emitting the results.\n\n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:166\n \n \n\n\n \n \n Queries for scene nodes to display.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n Currently applied filter.\n\n \n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n An observable emitting the results.\n\n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:77\n \n \n\n\n \n \n Queries for tissue block values.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n Currently applied filter.\n\n \n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n An observable emitting the results.\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:67\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n dataSource\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:39\n \n \n\n \n \n The underlying database.\n\n \n \n\n \n \n \n \n \n \n \n \n dbOptions\n \n \n \n \n \n \n Type : CCFDatabaseOptions\n\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:41\n \n \n\n \n \n Database initialization options.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts:43\n \n \n\n\n \n \n\n\n \n\n\n \n import { DEFAULT_CCF_DB_OPTIONS } from './../../../../../../ccf-database/src/lib/ccf-database';\n/* eslint-disable @typescript-eslint/no-shadow */\nimport { LocationStrategy } from '@angular/common';\nimport { Injectable, OnDestroy } from '@angular/core';\nimport {\n AggregateResult,\n CCFDatabase,\n CCFDatabaseOptions,\n Filter,\n OntologyTreeModel,\n SpatialEntity,\n SpatialSceneNode,\n TissueBlockResult\n} from 'ccf-database';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { Remote } from 'comlink';\nimport { Observable, Subscription, Unsubscribable, using } from 'rxjs';\nimport { distinctUntilChanged, filter, map, shareReplay, switchMap, take } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\n\n\ntype DataSource = Remote | CCFDatabase;\n\n\nfunction compareConfig(previous: CCFDatabaseOptions, current: CCFDatabaseOptions): boolean {\n return previous === current;\n}\n\n\n/**\n * Backend data queries.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DataSourceService implements OnDestroy {\n /** The underlying database. */\n dataSource: Observable;\n /** Database initialization options. */\n dbOptions: CCFDatabaseOptions;\n\n private readonly subscriptions = new Subscription();\n\n /**\n * Creates an instance of data source service.\n */\n constructor(\n private readonly locator: LocationStrategy,\n private readonly globalConfig: GlobalConfigState\n ) {\n this.dataSource = globalConfig.getOption('data').pipe(\n map(data => ({ ...DEFAULT_CCF_DB_OPTIONS, dataSources: data })),\n filter(config => Object.keys(config).length > 0),\n map((config) => config as unknown as CCFDatabaseOptions),\n distinctUntilChanged(compareConfig),\n switchMap(config => using(\n () => this.createDataSource(),\n (resource) => this.connectDataSource((resource as unknown as { source: DataSource }).source, config)\n )),\n shareReplay(1)\n );\n\n this.subscriptions.add(this.dataSource.subscribe());\n }\n\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Queries for tissue block values.\n *\n * @param [filter] Currently applied filter.\n * @returns An observable emitting the results.\n */\n getTissueBlockResults(filter?: Filter): Observable {\n return this.dataSource.pipe(\n switchMap(db => db.getTissueBlockResults(filter)),\n take(1)\n );\n }\n\n /**\n * Queries for aggregate values.\n *\n * @param [filter] Currently applied filter.\n * @returns An observable emitting the results.\n */\n getAggregateResults(filter?: Filter): Observable {\n return this.dataSource.pipe(\n switchMap(db => db.getAggregateResults(filter)),\n take(1)\n );\n }\n\n /**\n * Queries for ontology term counts.\n *\n * @param [filter] Currently applied filter.\n * @returns An observable emitting the results.\n */\n getOntologyTermOccurences(filter?: Filter): Observable> {\n return this.dataSource.pipe(\n switchMap(db => db.getOntologyTermOccurences(filter)),\n take(1)\n );\n }\n\n /**\n * Queries for cell type term counts.\n *\n * @param [filter] Currently applied filter.\n * @returns An observable emitting the results.\n */\n getCellTypeTermOccurences(filter?: Filter): Observable> {\n return this.dataSource.pipe(\n switchMap(db => db.getCellTypeTermOccurences(filter)),\n take(1)\n );\n }\n\n /**\n * Get the ontology tree model.\n *\n * @returns An observable emitting the results.\n */\n getOntologyTreeModel(): Observable {\n return this.dataSource.pipe(\n switchMap(db => db.getOntologyTreeModel()),\n take(1)\n );\n }\n\n /**\n * Get the cell type tree model.\n *\n * @returns An observable emitting the results.\n */\n getCellTypeTreeModel(): Observable {\n return this.dataSource.pipe(\n switchMap(db => db.getCellTypeTreeModel()),\n take(1)\n );\n }\n\n\n /**\n * Get the reference organs.\n *\n * @returns An observable emitting the results.\n */\n getReferenceOrgans(): Observable {\n return this.dataSource.pipe(\n switchMap(db => db.getReferenceOrgans()),\n take(1)\n );\n }\n\n /**\n * Queries for scene nodes to display.\n *\n * @param [filter] Currently applied filter.\n * @returns An observable emitting the results.\n */\n getScene(filter?: Filter): Observable {\n return this.dataSource.pipe(\n switchMap(db => db.getScene(filter)),\n take(1)\n );\n }\n\n getOrganScene(organ: string, filter?: Filter): Observable {\n return this.dataSource.pipe(\n switchMap(db => db.getReferenceOrganScene(organ, filter)),\n take(1)\n );\n }\n\n private createDataSource(): { source: DataSource } & Unsubscribable {\n const unsubscribe: () => void = () => undefined;\n const source = new CCFDatabase();\n\n return { source, unsubscribe };\n }\n\n private async connectDataSource(source: DataSource, config: CCFDatabaseOptions): Promise {\n const start = new Date().getTime();\n\n await source.connect(config, false);\n\n if (!environment.production) {\n // eslint-disable-next-line no-console\n console.info(`Loaded CCF database in ${ ((new Date()).getTime() - start) / 1000 }s`);\n // eslint-disable-next-line no-console\n console.log(source);\n }\n return source;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilteredSceneService.html":{"url":"injectables/FilteredSceneService.html","title":"injectable - FilteredSceneService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n FilteredSceneService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n data$\n \n \n Readonly\n filteredOrgans$\n \n \n Readonly\n filteredScene$\n \n \n Readonly\n highlightID$\n \n \n Readonly\n organs$\n \n \n Readonly\n referenceOrgans$\n \n \n Readonly\n scene$\n \n \n Readonly\n zoomToID$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n chooseScene\n \n \n Private\n filterSceneNodes\n \n \n Private\n getNeededReferenceOrgans\n \n \n Private\n getNeededSkins\n \n \n Private\n selectOrgans\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configState: GlobalConfigState, source: DataSourceService)\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:47\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configState\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n source\n \n \n DataSourceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n chooseScene\n \n \n \n \n \n \n \n chooseScene(data?: JsonLdObj[], organs?: SpatialEntity[])\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n JsonLdObj[]\n \n\n \n Yes\n \n\n\n \n \n organs\n \n SpatialEntity[]\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n filterSceneNodes\n \n \n \n \n \n \n \n filterSceneNodes(nodes: SpatialSceneNode[], organs: Set, referenceOrgans: SpatialEntity[])\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n nodes\n \n SpatialSceneNode[]\n \n\n \n No\n \n\n\n \n \n organs\n \n Set\n \n\n \n No\n \n\n\n \n \n referenceOrgans\n \n SpatialEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getNeededReferenceOrgans\n \n \n \n \n \n \n \n getNeededReferenceOrgans(referenceOrgans: SpatialEntity[], organs: Set)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n referenceOrgans\n \n SpatialEntity[]\n \n\n \n No\n \n\n\n \n \n organs\n \n Set\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getNeededSkins\n \n \n \n \n \n \n \n getNeededSkins(organs: SpatialEntity[])\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organs\n \n SpatialEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n selectOrgans\n \n \n \n \n \n \n \n selectOrgans(data: Any[] | undefined)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n Any[] | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Set\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n data$\n \n \n \n \n \n \n Default value : this.configState.getOption('data')\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n filteredOrgans$\n \n \n \n \n \n \n Default value : combineLatest([this.organs$, this.referenceOrgans$]).pipe(\n map(([organs, referenceOrgans]) => this.getNeededReferenceOrgans(referenceOrgans, organs)),\n shareReplay(1)\n )\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n filteredScene$\n \n \n \n \n \n \n Default value : combineLatest([this.scene$, this.organs$, this.referenceOrgans$]).pipe(\n map(([nodes, organs, referenceOrgans]) => this.filterSceneNodes(nodes, organs, referenceOrgans)),\n hightlight(this.highlightID$, HIGHLIGHT_YELLOW),\n zoomTo(this.zoomToID$),\n shareReplay(1)\n )\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n highlightID$\n \n \n \n \n \n \n Default value : this.configState.getOption('highlightID').pipe(\n map(id => `http://purl.org/ccf/1.5/entity/${id}`)\n )\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n organs$\n \n \n \n \n \n \n Default value : this.configState.getOption('data').pipe(\n map(data => this.selectOrgans(data)),\n shareReplay(1)\n )\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n referenceOrgans$\n \n \n \n \n \n \n Default value : this.source.getReferenceOrgans()\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n scene$\n \n \n \n \n \n \n Default value : combineLatest([this.data$, this.referenceOrgans$, this.source.dataSource]).pipe(\n switchMap(([data, referenceOrgans, _]) => this.chooseScene(data, referenceOrgans))\n )\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n zoomToID$\n \n \n \n \n \n \n Default value : this.configState.getOption('zoomToID').pipe(\n map(id => `http://purl.org/ccf/1.5/entity/${id}`)\n )\n \n \n \n \n Defined in projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts:19\n \n \n\n\n \n \n\n\n \n\n\n \n import { SpatialSceneNode, SpatialEntity, Filter } from 'ccf-database';\nimport { combineLatest, Observable, of } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { DataSourceService } from '../data-source/data-source.service';\nimport { map, shareReplay, switchMap } from 'rxjs/operators';\nimport { Any } from '@angular-ru/common/typings';\nimport { FEMALE_SKIN_URL, HIGHLIGHT_YELLOW, MALE_SKIN_URL, SPATIAL_ENTITY_URL } from '../../constants';\nimport { hightlight } from '../../highlight.operator';\nimport { GlobalConfig } from '../../../app.component';\nimport { zoomTo } from '../../zoom-to.operator';\nimport { JsonLdObj } from 'jsonld/jsonld-spec';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FilteredSceneService {\n readonly data$ = this.configState.getOption('data');\n readonly zoomToID$ = this.configState.getOption('zoomToID').pipe(\n map(id => `http://purl.org/ccf/1.5/entity/${id}`)\n );\n readonly highlightID$ = this.configState.getOption('highlightID').pipe(\n map(id => `http://purl.org/ccf/1.5/entity/${id}`)\n );\n\n readonly referenceOrgans$ = this.source.getReferenceOrgans();\n\n readonly scene$ = combineLatest([this.data$, this.referenceOrgans$, this.source.dataSource]).pipe(\n switchMap(([data, referenceOrgans, _]) => this.chooseScene(data, referenceOrgans))\n );\n\n readonly organs$ = this.configState.getOption('data').pipe(\n map(data => this.selectOrgans(data)),\n shareReplay(1)\n );\n\n readonly filteredOrgans$ = combineLatest([this.organs$, this.referenceOrgans$]).pipe(\n map(([organs, referenceOrgans]) => this.getNeededReferenceOrgans(referenceOrgans, organs)),\n shareReplay(1)\n );\n\n readonly filteredScene$ = combineLatest([this.scene$, this.organs$, this.referenceOrgans$]).pipe(\n map(([nodes, organs, referenceOrgans]) => this.filterSceneNodes(nodes, organs, referenceOrgans)),\n hightlight(this.highlightID$, HIGHLIGHT_YELLOW),\n zoomTo(this.zoomToID$),\n shareReplay(1)\n );\n\n constructor(\n private readonly configState: GlobalConfigState,\n private readonly source: DataSourceService\n ) { }\n\n private chooseScene(data?: JsonLdObj[], organs?: SpatialEntity[]): Observable {\n const organUrls = data?.map(obj => {\n const block: Any = obj[SPATIAL_ENTITY_URL];\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return block?.placement.target;\n }) ?? [];\n const uniqueOrganUrls = new Set(organUrls);\n\n if (uniqueOrganUrls.size > 1) {\n return this.source.getScene();\n } else if (organs) {\n const organ = organs.find(tempOrgan => tempOrgan['@id'] === organUrls[0]);\n if (organ) {\n return this.source.getOrganScene(organ.representation_of as string, { ontologyTerms: [organ.reference_organ as string], sex: organ.sex } as Filter);\n }\n }\n return of([]);\n }\n\n private selectOrgans(data: Any[] | undefined): Set {\n const selectOrgan = (item: Any) =>\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n item[SPATIAL_ENTITY_URL].placement.target;\n\n const organs = (data ?? []).map(selectOrgan);\n return new Set(organs);\n }\n\n private filterSceneNodes(nodes: SpatialSceneNode[], organs: Set, referenceOrgans: SpatialEntity[]): SpatialSceneNode[] {\n const neededReferenceOrgans = this.getNeededReferenceOrgans(referenceOrgans, organs);\n const neededSkins = this.getNeededSkins(neededReferenceOrgans);\n const neededOrgans = new Set([...organs, ...neededSkins]);\n const filteredNodes = nodes.filter(node => !node.reference_organ || neededOrgans.has(node.reference_organ));\n\n return filteredNodes;\n }\n\n private getNeededReferenceOrgans(referenceOrgans: SpatialEntity[], organs: Set): SpatialEntity[] {\n return referenceOrgans.filter(organ => organs.has(organ.reference_organ ?? ''));\n }\n\n private getNeededSkins(organs: SpatialEntity[]): string[] {\n if (organs.length === 1) {\n return [];\n }\n\n const skins = new Set();\n organs.forEach(organ => {\n if (organ.sex === 'Female') {\n skins.add(FEMALE_SKIN_URL);\n } else if (organ.sex === 'Male') {\n skins.add(MALE_SKIN_URL);\n }\n });\n\n return [...skins];\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GlobalConfig.html":{"url":"interfaces/GlobalConfig.html","title":"interface - GlobalConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GlobalConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui-wc/src/app/app.component.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n data\n \n \n \n Optional\n \n highlightID\n \n \n \n Optional\n \n zoomToID\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: JsonLdObj[]\n\n \n \n\n\n \n \n Type : JsonLdObj[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n highlightID\n \n \n \n \n \n \n \n \n highlightID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n zoomToID\n \n \n \n \n \n \n \n \n zoomToID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { FilteredSceneService } from './core/services/filtered-scene/filtered-scene.service';\nimport { Component, EventEmitter, Output, ViewChild, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { BodyUiComponent, GlobalConfigState } from 'ccf-shared';\nimport { take, tap } from 'rxjs/operators';\nimport { JsonLdObj } from 'jsonld/jsonld-spec';\n\n\nexport interface GlobalConfig {\n highlightID?: string;\n zoomToID?: string;\n data?: JsonLdObj[];\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n @ViewChild('bodyUI', { static: true }) readonly bodyUI!: BodyUiComponent;\n\n @Output() readonly onMouseEnter = new EventEmitter();\n @Output() readonly onMouseLeave = new EventEmitter();\n @Output() readonly onClick = new EventEmitter();\n\n readonly data$ = this.configState.getOption('data');\n organs$ = this.sceneSource.filteredOrgans$;\n scene$ = this.sceneSource.filteredScene$.pipe(\n tap((_) => this.reset())\n );\n\n constructor(\n private readonly configState: GlobalConfigState,\n private readonly sceneSource: FilteredSceneService,\n private readonly cdr: ChangeDetectorRef\n ) { }\n\n private async reset(): Promise {\n const { bodyUI } = this;\n\n // eslint-disable-next-line no-promise-executor-return\n await new Promise((resolve) => setTimeout(resolve, 200));\n const organs = await this.organs$.pipe(take(1)).toPromise();\n const hasZoomingNode = !!bodyUI.scene?.find((node) => node.zoomToOnLoad) ?? false;\n\n bodyUI.rotation = 0;\n bodyUI.rotationX = 0;\n\n if (!hasZoomingNode) {\n if (organs.length === 1) {\n const { x_dimension: x, y_dimension: y, z_dimension: z } = organs[0];\n bodyUI.bounds = { x: 1.25 * x / 1000, y: 1.25 * y / 1000, z: 1.25 * z / 1000 };\n bodyUI.target = [x / 1000 / 2, y / 1000 / 2, z / 1000 / 2];\n } else {\n bodyUI.bounds = { x: 2.2, y: 2, z: 0.4 };\n bodyUI.target = [0, 0, 0];\n }\n }\n\n this.cdr.detectChanges();\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/InputDataFormat.html":{"url":"interfaces/InputDataFormat.html","title":"interface - InputDataFormat","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n InputDataFormat\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui-wc/src/app/app-web-component.component.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n rui_location\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rui_location\n \n \n \n \n \n \n \n \n rui_location: JsonLdObj\n\n \n \n\n\n \n \n Type : JsonLdObj\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { BaseWebComponent, GenericGlobalConfig } from 'ccf-shared/web-components';\nimport { JsonLdObj } from 'jsonld/jsonld-spec';\n\nimport { environment } from '../environments/environment';\n\n\nexport interface InputDataFormat {\n id: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n rui_location: JsonLdObj;\n}\n\n\nfunction toJsonLd(data: InputDataFormat[]): JsonLdObj[] {\n return data.map(d => ({\n '@id': `http://purl.org/ccf/1.5/entity/${d.id}`,\n '@type': 'http://purl.org/ccf/latest/ccf-entity.owl#Sample',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity': d.rui_location\n })) as unknown as JsonLdObj[];\n}\n\n@Component({\n selector: 'ccf-root-wc',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppWebComponent extends BaseWebComponent {\n @Input() data: InputDataFormat[];\n @Input() highlightID: string;\n @Input() zoomToID: string;\n\n @Output() readonly onMouseEnter = new EventEmitter();\n @Output() readonly onMouseLeave = new EventEmitter();\n @Output() readonly onClick = new EventEmitter();\n\n initialized: boolean;\n\n constructor(\n configStore: GlobalConfigState,\n cdr: ChangeDetectorRef\n ) {\n super(configStore, cdr, {\n initialDelay: 10,\n\n initialConfig: {\n ...environment.dbOptions,\n ...globalThis['dbOptions']\n },\n parse: {\n data: toJsonLd\n }\n });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StoreModule.html":{"url":"modules/StoreModule.html","title":"module - StoreModule","body":"\n \n\n\n\n\n Modules\n StoreModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-body-ui-wc/src/app/core/store/store.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { NgxsDataPluginModule } from '@ngxs-labs/data';\nimport { NgxsLoggerPluginModule } from '@ngxs/logger-plugin';\nimport { NgxsModule } from '@ngxs/store';\nimport { GlobalConfigState } from 'ccf-shared';\n\nimport { environment } from '../../../environments/environment';\n\n\n/**\n * States shared across the entire app.\n */\nexport const ROOT_STATES = [\n GlobalConfigState\n];\n\n@NgModule({\n imports: [\n // For some strange reason the data plugin is not happy being placed after the store module!?\n NgxsDataPluginModule.forRoot(),\n\n NgxsModule.forRoot(ROOT_STATES, {\n developmentMode: !environment.production\n // Consider setting compatibility and executionStrategy\n // https://www.ngxs.io/advanced/options\n }),\n\n // Logger plugin must be last!\n NgxsLoggerPluginModule.forRoot({\n disabled: environment.production\n })\n ]\n})\nexport class StoreModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.2 - 2023-07-12\nAdded in 3.7.2\n\nClient side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1\n\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/app-web-component.component.ts\n \n component\n AppWebComponent\n \n 0 %\n (0/9)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/app-web-component.component.ts\n \n interface\n InputDataFormat\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/app-web-component.component.ts\n \n function\n toJsonLd\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/app.component.ts\n \n component\n AppComponent\n \n 0 %\n (0/10)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/app.component.ts\n \n interface\n GlobalConfig\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/constants.ts\n \n variable\n FEMALE_SKIN_URL\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/constants.ts\n \n variable\n HIGHLIGHT_YELLOW\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/constants.ts\n \n variable\n MALE_SKIN_URL\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/constants.ts\n \n variable\n SPATIAL_ENTITY_URL\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/highlight.operator.ts\n \n function\n highlightIfMatching\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/highlight.operator.ts\n \n function\n hightlight\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts\n \n injectable\n DataSourceService\n \n 70 %\n (12/17)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts\n \n function\n compareConfig\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/services/filtered-scene/filtered-scene.service.ts\n \n injectable\n FilteredSceneService\n \n 0 %\n (0/15)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/store/store.module.ts\n \n variable\n ROOT_STATES\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/zoom-to.operator.ts\n \n function\n setZoomToIfMatching\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/zoom-to.operator.ts\n \n function\n zoomTo\n \n 0 %\n (0/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n object-hash : ^3.0.0\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n compareConfig   (projects/.../data-source.service.ts)\n \n \n highlightIfMatching   (projects/.../highlight.operator.ts)\n \n \n hightlight   (projects/.../highlight.operator.ts)\n \n \n setZoomToIfMatching   (projects/.../zoom-to.operator.ts)\n \n \n toJsonLd   (projects/.../app-web-component.component.ts)\n \n \n zoomTo   (projects/.../zoom-to.operator.ts)\n \n \n \n \n \n \n\n\n projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts\n \n \n \n \n \n \n \n compareConfig\n \n \n \n \n \n \ncompareConfig(previous, current)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n previous\n\n \n No\n \n\n\n \n \n current\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/highlight.operator.ts\n \n \n \n \n \n \n \n highlightIfMatching\n \n \n \n \n \n \nhighlightIfMatching(entity, id, color)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n entity\n\n \n No\n \n\n\n \n \n id\n\n \n No\n \n\n\n \n \n color\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hightlight\n \n \n \n \n \n \nhightlight(id, color)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n id\n\n \n No\n \n\n\n \n \n color\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : MonoTypeOperatorFunction\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/zoom-to.operator.ts\n \n \n \n \n \n \n \n setZoomToIfMatching\n \n \n \n \n \n \nsetZoomToIfMatching(entity, id)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n entity\n\n \n No\n \n\n\n \n \n id\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n zoomTo\n \n \n \n \n \n \nzoomTo(id)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n id\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : MonoTypeOperatorFunction\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui-wc/src/app/app-web-component.component.ts\n \n \n \n \n \n \n \n toJsonLd\n \n \n \n \n \n \ntoJsonLd(data)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n data\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : JsonLdObj[]\n\n \n \n \n \n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AppModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StoreModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nStoreModule\n\nStoreModule\n\nAppModule -->\n\nStoreModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n \n\n \n \n \n \n \n \n 2 Modules\n \n \n \n \n \n \n \n \n 2 Components\n \n \n \n \n \n \n \n 2 Injectables\n \n \n \n \n \n \n \n 2 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n Color   (projects/.../highlight.operator.ts)\n \n \n DataSource   (projects/.../data-source.service.ts)\n \n \n \n \n \n \n\n\n projects/ccf-body-ui-wc/src/app/core/highlight.operator.ts\n \n \n \n \n \n \n Color\n \n \n \n \n [number, number, number, number]\n\n \n \n \n \n projects/ccf-body-ui-wc/src/app/core/services/data-source/data-source.service.ts\n \n \n \n \n \n \n DataSource\n \n \n \n \n Remote | CCFDatabase\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n FEMALE_SKIN_URL   (projects/.../constants.ts)\n \n \n HIGHLIGHT_YELLOW   (projects/.../constants.ts)\n \n \n MALE_SKIN_URL   (projects/.../constants.ts)\n \n \n ROOT_STATES   (projects/.../store.module.ts)\n \n \n SPATIAL_ENTITY_URL   (projects/.../constants.ts)\n \n \n \n \n \n \n\n\n projects/ccf-body-ui-wc/src/app/core/constants.ts\n \n \n \n \n \n \n \n FEMALE_SKIN_URL\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'http://purl.org/ccf/latest/ccf.owl#VHFSkin'\n \n \n\n\n \n \n \n \n \n \n \n \n HIGHLIGHT_YELLOW\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [173, 255, 47, 229.5]\n \n \n\n\n \n \n \n \n \n \n \n \n MALE_SKIN_URL\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'http://purl.org/ccf/latest/ccf.owl#VHMSkin'\n \n \n\n\n \n \n \n \n \n \n \n \n SPATIAL_ENTITY_URL\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'http://purl.org/ccf/latest/ccf-entity.owl#has_spatial_entity'\n \n \n\n\n \n \n\n projects/ccf-body-ui-wc/src/app/core/store/store.module.ts\n \n \n \n \n \n \n \n ROOT_STATES\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n GlobalConfigState\n]\n \n \n\n \n \n States shared across the entire app.\n\n \n \n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} } diff --git a/docs/ccf-body-ui/changelog.html b/docs/ccf-body-ui/changelog.html index 04f03f3ae..342ac6708 100644 --- a/docs/ccf-body-ui/changelog.html +++ b/docs/ccf-body-ui/changelog.html @@ -33,6 +33,11 @@

        Changelog

        Changelog for the Human Reference Atlas (HRA) User Interfaces

        +

        3.7.2 - 2023-07-12

        +

        Added in 3.7.2

        +
          +
        • Client side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1
        • +

        3.7.0 - 2023-06-15

        Added in 3.7.0

          diff --git a/docs/ccf-body-ui/dependencies.html b/docs/ccf-body-ui/dependencies.html index a0cb006a6..00a167932 100644 --- a/docs/ccf-body-ui/dependencies.html +++ b/docs/ccf-body-ui/dependencies.html @@ -162,6 +162,8 @@ ngx-markdown : ^12.0.1
        • node-fetch : ^2.6.7
        • +
        • + object-hash : ^3.0.0
        • qs : ^6.10.2
        • diff --git a/docs/ccf-body-ui/js/search/search_index.js b/docs/ccf-body-ui/js/search/search_index.js index 1e4e5a298..996c1d548 100644 --- a/docs/ccf-body-ui/js/search/search_index.js +++ b/docs/ccf-body-ui/js/search/search_index.js @@ -1,4 +1,4 @@ var COMPODOC_SEARCH_INDEX = { - "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/classes/BodyUILayer.html",[0,1.249,1,1.249]],["body/classes/BodyUILayer.html",[0,0.947,1,1.803,2,1.719,3,0.419,4,0.56,5,0.357,6,0.633,7,0.412,8,1.76,9,1.546,10,1.447,11,1.069,12,3.687,13,0.299,14,0.711,15,4.51,16,2.633,17,2.503,18,3.687,19,3.118,20,3.687,21,4.057,22,4.057,23,0.517,24,0.053,25,1.244,26,2.503,27,1.386,28,3.482,29,2.131,30,1.112,31,2.131,32,2.131,33,2.131,34,2.515,35,1.244,36,0.73,37,1.82,38,2.973,39,2.131,40,2.131,41,1.583,42,2.131,43,1.255,44,2.131,45,1.082,46,2.503,47,1.719,48,3.118,49,2.973,50,1.719,51,1.583,52,3.118,53,3.118,54,3.118,55,3.362,56,3.118,57,1.719,58,0.832,59,0.73,60,1.298,61,0.947,62,0.711,63,1.217,64,1.82,65,1.447,66,1.82,67,2.131,68,1.244,69,2.503,70,2.131,71,2.131,72,1.583,73,1.719,74,2.23,75,2.755,76,3.118,77,2.004,78,1.637,79,3.118,80,1.583,81,3.062,82,4.659,83,1.719,84,2.131,85,3.272,86,2.117,87,1.637,88,4.057,89,2.117,90,2.117,91,2.503,92,0.725,93,4.777,94,1.919,95,2.131,96,2.788,97,2.131,98,1.719,99,2.131,100,2.131,101,2.192,102,3.118,103,3.118,104,1.638,105,1.638,106,1.872,107,2.152,108,1.638,109,1.82,110,1.82,111,2.29,112,3.118,113,2.93,114,1.386,115,1.541,116,3.687,117,1.583,118,2.131,119,1.719,120,2.131,121,2.973,122,2.131,123,2.131,124,2.755,125,2.131,126,0.56,127,2.973,128,1.217,129,2.201,130,2.131,131,2.131,132,1.82,133,2.131,134,2.131,135,2.131,136,0.947,137,2.131,138,2.131,139,1.803,140,2.131,141,2.131,142,2.131,143,2.131,144,2.131,145,2.131,146,2.131,147,2.131,148,2.131,149,3.687,150,2.131,151,2.131,152,2.131,153,2.131,154,1.638,155,2.131,156,1.82,157,2.131,158,1.719,159,1.719,160,1.447,161,3.118,162,2.131,163,4.057,164,1.082,165,2.131,166,2.131,167,2.131,168,2.131,169,2.131,170,1.244,171,1.244,172,0.947,173,2.131,174,1.082,175,2.131,176,2.131,177,2.131,178,2.131,179,1.447,180,2.131,181,4.057,182,4.057,183,2.131,184,3.118,185,2.131,186,2.131,187,2.131,188,2.131,189,2.131,190,2.131,191,2.131,192,2.131,193,0.019,194,0.028,195,0.019]],["title/interfaces/BodyUIProps.html",[196,0.024,197,1.427]],["body/interfaces/BodyUIProps.html",[0,1.18,1,1.441,3,0.637,4,0.452,5,0.288,6,0.242,7,0.296,8,0.672,9,0.91,11,0.59,13,0.373,14,0.606,16,2.926,23,0.704,24,0.053,27,1.75,30,1.106,36,1.249,37,2.788,41,2.567,43,1.207,45,0.874,51,0.874,58,1.536,59,0.59,60,1.346,61,0.765,62,0.606,63,1.624,74,1.99,77,1.441,78,1.249,80,1.747,87,1.733,92,0.774,94,1.18,96,1.893,101,2.113,104,1.75,105,1.75,106,1.999,107,2.299,108,1.18,109,1.005,110,1.005,113,1.005,114,0.765,115,1.613,117,1.036,126,1.034,128,0.672,129,2.085,132,2.866,136,2.247,139,0.765,154,0.765,164,0.874,170,1.005,171,1.005,172,0.765,174,0.874,193,0.016,194,0.024,195,0.024,196,0.028,197,1.349,198,0.339,199,0.874,200,2.825,201,2.475,202,2.475,203,2.475,204,2.475,205,2.674,206,2.674,207,1.851,208,2.475,209,1.747,210,3.041,211,2.202,212,2.202,213,2.202,214,2.202,215,1.804,216,1.804,217,1.804,218,1.804,219,1.169,220,2.614,221,1.005,222,1.169,223,2.682,224,1.005,225,1.169,226,1.169,227,1.804,228,0.874,229,1.169,230,2.274,231,2.202,232,2.475,233,2.475,234,2.202,235,1.422,236,1.169,237,2.202,238,1.005,239,1.804,240,1.005,241,2.674,242,1.005,243,1.804,244,1.169,245,1.169,246,0.874,247,1.005,248,3.459,249,1.169,250,1.169,251,1.169,252,1.169,253,1.169,254,1.169,255,1.169,256,1.169,257,1.169,258,1.169,259,1.169,260,1.169,261,1.169,262,1.169,263,1.169,264,1.169,265,1.169,266,1.169,267,1.169,268,1.169,269,1.169,270,1.169,271,1.169,272,2.674,273,1.169,274,1.804,275,1.169,276,1.169,277,1.005,278,1.804,279,1.005,280,1.169,281,1.169,282,1.169,283,1.804,284,1.804,285,1.169,286,1.169,287,1.169,288,1.169,289,1.169,290,1.169,291,1.169,292,1.169,293,1.169,294,1.169,295,1.169,296,1.169,297,1.169,298,1.169,299,1.169,300,1.804,301,1.169,302,1.169,303,1.169,304,1.169,305,1.169,306,1.169,307,1.169,308,1.169,309,1.169,310,3.041,311,3.041,312,1.169,313,1.551,314,1.169,315,1.169,316,1.551,317,1.804,318,1.169,319,1.169,320,1.169,321,0.874,322,1.169,323,2.202,324,1.349,325,1.169,326,1.169,327,1.169,328,1.804,329,1.169,330,1.169,331,1.169,332,1.169,333,2.202,334,1.169,335,1.169,336,1.804,337,1.169,338,2.202,339,1.169,340,1.169,341,1.851,342,1.551,343,1.349,344,0.91,345,1.169,346,1.169,347,1.169,348,1.169,349,2.202,350,1.169,351,1.169,352,1.169,353,1.169,354,0.874,355,1.169,356,1.169,357,1.169,358,1.169,359,1.169,360,1.169,361,1.551,362,0.765,363,1.169,364,0.874,365,1.169,366,1.169,367,1.169,368,2.674,369,1.169,370,1.169,371,1.169,372,1.169,373,1.169,374,1.169,375,1.169,376,1.169,377,1.804,378,1.169,379,2.202,380,1.169,381,1.804,382,1.804,383,1.169,384,1.169,385,1.169,386,1.169,387,1.169,388,2.202,389,1.169,390,1.169,391,1.169,392,1.169,393,1.169,394,1.169,395,1.169,396,1.169,397,1.169,398,1.169,399,1.169,400,0.765,401,1.169,402,1.169,403,1.169,404,1.169,405,1.169,406,1.169,407,2.202,408,1.169,409,1.169,410,1.169,411,1.169,412,1.169,413,1.169,414,1.169,415,1.169]],["title/interfaces/BodyUIViewStateProps.html",[196,0.024,230,1.427]],["body/interfaces/BodyUIViewStateProps.html",[0,1.207,1,1.467,3,0.649,4,0.465,5,0.297,6,0.249,7,0.302,8,0.691,9,0.931,11,0.931,13,0.381,14,0.62,16,2.942,23,0.65,24,0.053,27,1.773,30,1.079,36,1.268,37,2.808,41,2.58,43,1.217,45,0.9,51,0.9,58,1.557,59,0.607,60,1.359,61,0.787,62,0.62,63,1.642,74,2.008,77,1.467,78,1.268,80,1.763,87,1.742,92,0.534,94,1.207,96,1.927,101,2.137,104,1.773,105,1.773,106,2.025,107,2.329,108,1.207,109,1.034,110,1.034,113,1.034,114,0.787,115,1.609,117,1.059,126,1.048,128,0.691,129,2.102,132,2.884,136,2.102,139,0.787,154,0.787,164,0.9,170,1.034,171,1.034,172,0.787,174,0.9,193,0.016,194,0.025,195,0.025,196,0.029,197,0.9,198,0.348,199,0.9,200,2.858,201,1.203,202,1.203,203,1.203,204,1.203,205,1.844,206,1.844,207,0.9,208,1.203,209,1.763,210,3.069,211,1.203,212,1.203,213,2.241,214,2.241,215,1.844,216,1.844,217,1.844,218,2.241,219,1.203,220,2.638,221,1.034,222,1.203,223,2.705,224,1.034,225,1.203,226,1.203,227,1.844,228,0.9,229,1.203,230,2.353,231,2.858,232,2.975,233,2.975,234,2.224,235,1.444,236,1.203,237,2.241,238,1.034,239,1.844,240,1.034,241,2.709,242,1.034,243,1.844,244,1.203,245,1.203,246,0.9,247,1.034,248,3.476,249,1.203,250,1.203,251,1.203,252,1.203,253,1.203,254,1.203,255,1.203,256,1.203,257,1.203,258,1.203,259,1.203,260,1.203,261,1.203,262,1.203,263,1.203,264,1.203,265,1.203,266,1.203,267,1.203,268,1.203,269,1.203,270,1.203,271,1.203,272,2.709,273,1.203,274,1.844,275,1.203,276,1.203,277,1.034,278,1.844,279,1.034,280,1.203,281,1.203,282,1.203,283,1.844,284,1.844,285,1.203,286,1.203,287,1.203,288,1.203,289,1.203,290,1.203,291,1.203,292,1.203,293,1.203,294,1.203,295,1.203,296,1.203,297,1.203,298,1.203,299,1.203,300,1.844,301,1.203,302,1.203,303,1.203,304,1.203,305,1.203,306,1.203,307,1.203,308,1.203,309,1.203,310,3.069,311,3.069,312,1.203,313,1.585,314,1.203,315,1.203,316,1.585,317,1.844,318,1.203,319,1.203,320,1.203,321,0.9,322,1.203,323,2.241,324,1.379,325,1.203,326,1.203,327,1.203,328,1.844,329,1.203,330,1.203,331,1.203,332,1.203,333,2.241,334,1.203,335,1.203,336,1.844,337,1.203,338,2.241,339,1.203,340,1.203,341,1.879,342,1.585,343,1.379,344,0.931,345,1.203,346,1.203,347,1.203,348,1.203,349,2.241,350,1.203,351,1.203,352,1.203,353,1.203,354,0.9,355,1.203,356,1.203,357,1.203,358,1.203,359,1.203,360,1.203,361,1.585,362,0.787,363,1.203,364,0.9,365,1.203,366,1.203,367,1.203,368,2.709,369,1.203,370,1.203,371,1.203,372,1.203,373,1.203,374,1.203,375,1.203,376,1.203,377,1.844,378,1.203,379,2.241,380,1.203,381,1.844,382,1.844,383,1.203,384,1.203,385,1.203,386,1.203,387,1.203,388,2.241,389,1.203,390,1.203,391,1.203,392,1.203,393,1.203,394,1.203,395,1.203,396,1.203,397,1.203,398,1.203,399,1.203,400,0.787,401,1.203,402,1.203,403,1.203,404,1.203,405,1.203,406,1.203,407,2.241,408,1.203,409,1.203,410,1.203,411,1.203,412,1.203,413,1.203,414,1.203,415,1.203]],["title/interfaces/Collision.html",[196,0.024,416,1.908]],["body/interfaces/Collision.html",[3,0.536,4,0.716,5,0.456,6,0.382,7,0.249,13,0.382,14,0.846,23,0.665,24,0.052,25,2.165,30,1.237,35,3.151,43,1.313,58,1.063,59,0.934,60,1.115,61,1.211,62,1.033,63,1.447,68,2.461,72,1.383,77,1.874,80,1.447,81,2.863,87,1.743,92,1.056,94,1.874,104,1.648,105,1.211,111,1.383,126,0.716,128,1.063,129,2.435,156,1.591,159,2.991,179,3.215,193,0.025,194,0.034,195,0.025,196,0.024,198,0.536,209,1.063,321,1.383,324,1.383,416,2.863,417,1.85,418,1.85,419,4.885,420,1.85,421,2.198,422,3.709,423,2.198,424,3.709,425,2.198,426,3.65,427,2.198,428,1.85,429,1.85,430,1.591,431,2.198,432,2.198,433,2.725,434,2.725,435,4.217,436,2.725,437,3.709,438,2.725,439,2.725,440,2.725,441,3.709,442,3.65,443,2.725,444,3.65,445,2.725,446,2.725,447,3.401,448,3.709,449,3.401,450,2.991,451,2.991,452,2.991,453,2.991,454,2.991,455,2.991,456,4.217,457,2.725,458,2.725,459,2.725,460,2.725,461,2.725,462,2.198,463,2.725,464,2.198,465,2.198,466,2.991,467,2.198,468,2.198,469,2.198,470,2.198,471,2.198,472,2.198,473,2.725,474,2.198,475,4.526,476,3.709,477,2.725,478,2.725,479,2.725,480,2.725,481,2.725,482,2.725,483,2.725,484,2.725,485,2.725,486,2.725,487,2.725,488,2.725,489,2.725,490,2.725,491,2.725,492,4.735,493,3.709,494,3.65,495,3.709,496,3.709,497,2.725,498,2.725,499,2.725,500,2.725,501,2.725,502,2.198]],["title/interfaces/PickInfo.html",[196,0.024,234,1.427]],["body/interfaces/PickInfo.html",[0,1.211,1,1.471,3,0.651,4,0.468,5,0.298,6,0.25,7,0.303,8,0.695,9,0.934,11,0.61,13,0.561,14,0.622,16,2.945,23,0.635,24,0.053,27,1.777,30,0.962,36,1.271,37,2.811,41,2.583,43,1.219,45,0.904,51,0.904,58,1.292,59,0.61,60,1.361,61,0.791,62,0.622,63,1.645,74,2.011,77,1.471,78,1.271,80,1.766,87,1.743,92,0.536,94,1.211,96,1.932,101,2.141,104,1.777,105,1.777,106,2.03,107,2.334,108,1.211,109,1.039,110,1.039,113,1.932,114,0.791,115,1.6,117,1.063,126,1.05,128,0.695,129,2.104,132,2.887,136,2.171,139,0.791,154,0.791,164,0.904,170,1.039,171,1.039,172,0.791,174,0.904,193,0.016,194,0.025,195,0.025,196,0.029,197,0.904,198,0.35,199,0.904,200,2.248,201,1.209,202,1.209,203,1.209,204,1.209,205,1.85,206,1.85,207,0.904,208,1.209,209,1.56,210,2.714,211,1.209,212,1.209,213,2.248,214,2.248,215,1.85,216,1.85,217,1.85,218,1.85,219,1.209,220,2.642,221,1.039,222,1.209,223,2.708,224,1.039,225,1.209,226,1.209,227,2.714,228,0.904,229,1.209,230,2.298,231,2.248,232,2.518,233,2.518,234,2.298,235,1.712,236,2.518,237,2.863,238,2.165,239,2.714,240,1.039,241,2.714,242,1.039,243,1.85,244,1.209,245,1.209,246,0.904,247,1.039,248,3.479,249,1.209,250,1.209,251,1.209,252,1.209,253,1.209,254,1.209,255,1.209,256,1.209,257,1.209,258,1.209,259,1.209,260,1.209,261,1.209,262,1.209,263,1.209,264,1.209,265,1.209,266,1.209,267,1.209,268,1.209,269,1.209,270,1.209,271,1.209,272,2.714,273,1.209,274,1.85,275,1.209,276,1.209,277,1.039,278,1.85,279,1.039,280,1.209,281,1.209,282,1.209,283,1.85,284,1.85,285,1.209,286,1.209,287,1.209,288,1.209,289,1.209,290,1.209,291,1.209,292,1.209,293,1.209,294,1.209,295,1.209,296,1.209,297,1.209,298,1.209,299,1.209,300,1.85,301,1.209,302,1.209,303,1.209,304,1.209,305,1.209,306,1.209,307,1.209,308,1.209,309,1.209,310,3.073,311,3.073,312,1.209,313,1.591,314,1.209,315,1.209,316,1.591,317,1.85,318,1.209,319,1.209,320,1.209,321,0.904,322,1.209,323,2.248,324,1.383,325,1.209,326,1.209,327,1.209,328,1.85,329,1.209,330,1.209,331,1.209,332,1.209,333,2.248,334,1.209,335,1.209,336,1.85,337,1.209,338,2.248,339,1.209,340,1.209,341,1.883,342,1.591,343,1.383,344,0.934,345,1.209,346,1.209,347,1.209,348,1.209,349,2.248,350,1.209,351,1.209,352,1.209,353,1.209,354,0.904,355,1.209,356,1.209,357,1.209,358,1.209,359,1.209,360,1.209,361,1.591,362,0.791,363,1.209,364,0.904,365,1.209,366,1.209,367,1.209,368,2.714,369,1.209,370,1.209,371,1.209,372,1.209,373,1.209,374,1.209,375,1.209,376,1.209,377,1.85,378,1.209,379,2.248,380,1.209,381,1.85,382,1.85,383,1.209,384,1.209,385,1.209,386,1.209,387,1.209,388,2.248,389,1.209,390,1.209,391,1.209,392,1.209,393,1.209,394,1.209,395,1.209,396,1.209,397,1.209,398,1.209,399,1.209,400,0.791,401,1.209,402,1.209,403,1.209,404,1.209,405,1.209,406,1.209,407,2.248,408,1.209,409,1.209,410,1.209,411,1.209,412,1.209,413,1.209,414,1.209,415,1.209]],["title/interfaces/ProcessedNode.html",[196,0.024,503,1.908]],["body/interfaces/ProcessedNode.html",[3,0.546,4,0.729,5,0.465,6,0.39,7,0.254,11,1.287,13,0.39,14,0.857,17,2.55,23,0.669,24,0.052,30,1.166,43,1.252,55,1.884,58,1.661,59,0.951,60,1.371,61,1.233,62,1.041,63,2.09,64,1.62,66,2.192,68,2.192,72,1.907,77,1.669,80,1.083,81,2.89,87,1.721,92,0.738,94,1.669,101,2.315,104,1.669,105,1.233,111,1.409,114,1.669,117,1.083,126,0.986,127,2.238,128,1.465,129,2.432,139,1.233,154,1.669,172,1.233,174,1.409,193,0.025,194,0.034,195,0.025,196,0.024,198,0.546,316,2.192,321,1.409,324,1.409,341,1.907,354,1.409,362,1.892,364,1.409,420,1.884,426,3.843,427,4.05,428,1.884,429,1.884,430,1.62,431,2.238,442,3.029,444,3.029,449,3.678,450,2.238,451,2.238,452,2.238,453,2.238,454,2.238,455,2.238,462,2.238,464,2.238,465,2.238,466,3.029,467,2.238,468,2.238,469,2.238,470,2.238,471,2.238,472,2.238,474,3.029,502,2.238,503,3.554,504,1.62,505,1.884,506,3.843,507,3.678,508,4.765,509,2.238,510,2.89,511,3.756,512,2.776,513,2.776,514,2.776,515,2.776,516,3.433,517,2.776,518,3.756,519,3.756,520,3.756,521,2.238,522,3.756,523,2.776,524,2.776,525,2.776,526,2.776,527,2.776,528,2.238,529,2.776,530,2.776,531,2.776,532,3.756,533,2.776,534,2.776,535,4.257,536,2.776,537,2.776,538,2.776,539,3.756,540,2.776,541,2.776,542,2.776,543,2.776,544,2.776,545,2.776,546,2.776,547,2.776,548,2.776,549,2.776,550,2.776,551,2.776,552,2.776,553,2.776,554,2.776,555,2.776]],["title/interfaces/SpatialEntityJsonLd.html",[196,0.024,556,1.427]],["body/interfaces/SpatialEntityJsonLd.html",[3,0.552,4,0.995,5,0.634,6,0.394,7,0.257,11,1.571,13,0.394,14,0.864,23,0.788,24,0.052,30,1.302,43,0.738,78,1.69,92,0.969,115,1.679,126,1.125,193,0.026,194,0.035,195,0.026,196,0.037,198,0.552,209,1.096,235,1.789,556,1.923,557,1.64,558,1.249,559,1.64,560,3.249,561,3.249,562,3.112,563,3.112,564,3.112,565,3.112,566,3.112,567,3.112,568,3.112,569,3.112,570,3.112,571,2.793,572,2.676,573,2.676,574,3.112,575,2.676,576,2.676,577,3.112,578,3.112,579,3.112,580,3.112,581,3.112,582,3.112,583,2.327,584,2.601,585,2.908,586,2.908,587,2.501,588,2.501,589,1.908,590,1.64,591,1.908,592,1.908,593,1.908,594,1.908,595,1.908,596,1.908,597,1.908,598,1.908,599,1.908,600,1.908,601,1.908,602,1.908,603,1.908,604,1.908]],["title/interfaces/SpatialObjectReferenceJsonLd.html",[196,0.024,583,1.427]],["body/interfaces/SpatialObjectReferenceJsonLd.html",[3,0.667,4,1.125,5,0.851,6,0.476,7,0.31,11,1.689,13,0.476,14,0.977,23,0.765,24,0.051,30,1.3,43,0.891,78,1.467,92,1.02,115,1.666,126,1.232,193,0.031,194,0.039,195,0.031,196,0.041,198,0.667,209,1.323,235,1.323,556,1.722,557,1.979,558,1.507,559,1.979,560,3.45,561,2.907,562,2.302,563,2.302,564,2.302,565,2.302,566,2.302,567,2.302,568,2.302,569,2.302,570,2.302,571,2.967,572,1.979,573,1.979,574,2.302,575,1.979,576,1.979,577,2.302,578,2.302,579,2.302,580,2.302,581,2.302,582,2.302,583,2.382,584,2.635,585,2.302,586,2.302,587,1.979,588,1.979,589,2.302,590,1.979,591,2.302,592,2.302,593,2.302,594,2.302,595,2.302,596,2.302,597,2.302,598,2.302,599,2.302,600,2.302,601,2.302,602,2.302,603,2.302,604,3.346]],["title/interfaces/SpatialPlacementJsonLd.html",[196,0.024,584,1.427]],["body/interfaces/SpatialPlacementJsonLd.html",[3,0.595,4,1.289,5,0.666,6,0.425,7,0.277,11,1.619,13,0.425,14,0.908,23,0.785,24,0.052,30,1.299,36,1.619,43,0.795,78,1.364,92,0.99,115,1.698,126,1.168,193,0.028,194,0.036,195,0.028,196,0.039,198,0.595,209,1.843,235,1.182,556,1.538,557,1.768,558,1.346,559,1.768,560,3.331,561,3.331,562,2.056,563,2.056,564,2.056,565,2.056,566,2.056,567,2.056,568,2.056,569,2.056,570,2.056,571,2.324,572,1.768,573,1.768,574,2.056,575,1.768,576,1.768,577,2.056,578,2.056,579,2.056,580,2.056,581,2.056,582,2.056,583,2.021,584,2.491,585,2.056,586,2.056,587,1.768,588,1.768,589,2.056,590,1.768,591,3.207,592,3.207,593,3.207,594,3.207,595,3.207,596,3.207,597,3.207,598,3.207,599,3.207,600,3.207,601,3.207,602,3.207,603,3.207,604,2.056]],["title/interfaces/SpatialSceneNode.html",[60,0.845,196,0.024]],["body/interfaces/SpatialSceneNode.html",[3,0.616,4,0.823,5,0.525,6,0.44,7,0.286,13,0.44,14,0.929,23,0.787,24,0.052,30,1.291,35,2.794,36,1.938,43,0.823,55,3.249,58,1.867,59,1.074,60,1.224,62,0.715,86,2.128,89,2.128,90,2.128,91,2.128,92,0.941,111,1.591,114,2.127,115,1.666,117,1.867,124,3.368,126,1.069,136,2.357,139,2.127,160,3.249,172,2.127,193,0.029,194,0.037,195,0.029,196,0.027,198,0.616,362,2.127,364,2.43,447,3.86,528,3.86,572,2.794,573,2.794,605,2.128,606,2.128,607,4.786,608,4.786,609,4.786,610,3.86]],["title/changelog.html",[611,1.61,612,1.384,613,1.61]],["body/changelog.html",[3,0.724,5,0.193,7,0.366,9,1.455,14,0.263,23,0.162,24,0.039,26,0.782,28,0.929,36,0.395,62,0.914,74,2.208,75,1.305,83,0.929,87,1.455,92,0.227,98,1.551,106,1.869,108,0.854,115,0.346,117,1.127,121,0.929,160,0.782,164,1.959,179,1.305,193,0.011,194,0.018,195,0.037,196,0.034,198,0.227,207,0.585,246,2.643,277,1.444,279,0.673,313,1.122,343,2.353,344,1.608,361,0.673,400,1.284,420,1.961,494,3.634,510,0.782,558,1.284,571,1.122,575,1.122,576,0.673,587,0.673,588,1.122,590,2.149,612,1.444,613,1.305,614,1.996,615,1.996,616,1.996,617,3.232,618,1.923,619,1.152,620,2.889,621,5.545,622,4.905,623,2.474,624,1.152,625,1.923,626,1.152,627,4.43,628,1.152,629,1.68,630,1.923,631,3.634,632,0.929,633,1.152,634,1.551,635,1.551,636,1.551,637,3.858,638,3.682,639,1.152,640,1.152,641,1.152,642,2.474,643,1.923,644,2.474,645,4.247,646,1.152,647,1.551,648,0.929,649,1.152,650,1.152,651,4.007,652,1.923,653,3.212,654,2.474,655,2.474,656,1.152,657,1.923,658,4.262,659,1.923,660,2.808,661,1.152,662,4.636,663,1.152,664,3.412,665,1.152,666,2.474,667,3.212,668,1.923,669,2.474,670,2.474,671,1.923,672,2.474,673,1.152,674,1.923,675,1.923,676,1.152,677,3.682,678,3.47,679,3.682,680,1.923,681,1.152,682,1.152,683,2.889,684,1.152,685,1.923,686,1.152,687,1.152,688,1.923,689,2.474,690,2.59,691,1.152,692,1.923,693,1.152,694,1.152,695,1.152,696,1.923,697,4.574,698,1.152,699,3.47,700,1.152,701,1.152,702,1.152,703,2.474,704,1.996,705,1.152,706,1.152,707,2.59,708,1.551,709,1.152,710,3.47,711,4.247,712,4.344,713,1.923,714,3.212,715,1.152,716,3.212,717,1.923,718,3.47,719,1.923,720,1.152,721,1.152,722,1.152,723,1.923,724,2.969,725,3.47,726,2.33,727,1.152,728,3.682,729,4.092,730,1.152,731,1.152,732,1.923,733,1.152,734,2.889,735,1.152,736,1.923,737,2.474,738,1.152,739,1.152,740,2.474,741,2.474,742,1.923,743,1.152,744,1.923,745,1.152,746,1.152,747,1.152,748,4.506,749,1.152,750,0.929,751,2.18,752,1.152,753,1.923,754,0.929,755,1.152,756,1.923,757,2.889,758,2.889,759,1.152,760,1.923,761,2.474,762,1.152,763,1.152,764,1.923,765,1.152,766,1.152,767,3.47,768,2.025,769,2.59,770,1.996,771,1.152,772,2.59,773,1.152,774,2.474,775,3.111,776,4.43,777,1.152,778,1.152,779,1.923,780,1.996,781,1.152,782,1.152,783,1.152,784,3.212,785,1.152,786,1.152,787,1.152,788,1.152,789,2.474,790,1.152,791,1.551,792,1.551,793,1.152,794,3.111,795,1.152,796,1.152,797,1.152,798,1.152,799,1.152,800,1.152,801,2.59,802,2.59,803,1.152,804,1.923,805,1.152,806,1.152,807,2.474,808,1.923,809,1.152,810,1.923,811,1.152,812,1.923,813,1.923,814,1.923,815,1.923,816,1.152,817,2.474,818,1.152,819,1.152,820,0.929,821,1.152,822,1.996,823,0.929,824,1.305,825,1.923,826,1.152,827,1.152,828,1.923,829,1.923,830,1.923,831,1.923,832,1.152,833,1.152,834,1.152,835,2.474,836,1.152,837,1.923,838,1.152,839,1.152,840,1.923,841,3.47,842,1.551,843,1.152,844,0.929,845,1.152,846,1.152,847,3.212,848,2.889,849,1.152,850,2.474,851,1.923,852,3.47,853,1.551,854,2.889,855,1.152,856,1.152,857,2.889,858,1.152,859,1.152,860,1.152,861,1.152,862,1.923,863,1.923,864,1.152,865,1.923,866,1.152,867,0.929,868,1.923,869,1.152,870,1.923,871,1.152,872,1.152,873,2.889,874,1.152,875,1.152,876,1.152,877,1.152,878,1.923,879,1.152,880,1.152,881,1.152,882,1.152,883,1.152,884,1.152,885,1.923,886,1.152,887,1.152,888,1.152,889,1.152,890,1.152,891,1.923,892,1.152,893,3.47,894,1.152,895,2.474,896,1.923,897,0.929,898,1.923,899,1.152,900,0.929,901,0.929,902,1.152,903,1.923,904,1.152,905,1.152,906,1.961,907,1.152,908,1.152,909,1.923,910,1.923,911,1.152,912,1.152,913,1.923,914,1.923,915,1.152,916,1.923,917,2.889,918,2.474,919,1.152,920,1.152,921,1.152,922,1.152,923,0.929,924,0.929,925,1.152,926,1.923,927,1.152,928,1.152,929,1.152,930,1.152,931,1.923,932,2.889,933,1.152,934,1.152,935,1.152,936,1.152,937,3.47,938,2.474,939,1.923,940,1.152,941,1.152,942,2.474,943,1.923,944,1.923,945,1.923,946,2.889,947,1.152,948,1.152,949,1.152,950,1.923,951,1.152,952,1.152,953,1.152,954,1.152,955,1.152,956,2.889,957,1.152,958,2.474,959,2.889,960,1.152,961,2.474,962,3.212,963,1.923,964,1.923,965,1.923,966,1.923,967,2.474,968,2.889,969,3.212,970,1.923,971,2.474,972,1.152,973,1.152,974,3.682,975,2.474,976,1.152,977,2.889,978,2.889,979,4.007,980,1.152,981,1.152,982,1.152,983,1.152,984,1.152,985,1.152,986,1.923,987,1.152,988,1.923,989,1.152,990,1.152,991,1.152,992,1.152,993,1.923,994,1.152,995,1.68,996,1.152,997,1.923,998,1.996,999,1.923,1000,2.474,1001,1.152,1002,1.152,1003,1.152,1004,1.923,1005,1.152,1006,1.152,1007,1.152,1008,1.152,1009,1.152,1010,1.152,1011,1.152,1012,1.923,1013,1.152,1014,1.152,1015,2.889,1016,3.47,1017,1.923,1018,2.474,1019,1.923,1020,2.889,1021,1.152,1022,1.152,1023,1.152,1024,1.152,1025,2.474,1026,1.152,1027,1.152,1028,1.152,1029,1.923,1030,1.923,1031,1.923,1032,1.923,1033,2.474,1034,1.152,1035,1.152,1036,1.152,1037,1.152,1038,1.152,1039,1.152,1040,0.929,1041,1.152,1042,1.152,1043,1.152,1044,1.923,1045,1.152,1046,1.152,1047,1.923,1048,1.152,1049,1.152,1050,1.152,1051,1.152,1052,1.152,1053,1.152,1054,1.152,1055,1.152,1056,1.152,1057,1.152,1058,3.858,1059,1.152,1060,1.996,1061,2.474,1062,2.889,1063,1.923,1064,2.474,1065,1.152,1066,1.923,1067,1.152,1068,1.152,1069,1.923,1070,1.923,1071,1.923,1072,1.152,1073,1.152,1074,1.152,1075,1.152,1076,1.923,1077,1.152,1078,2.474,1079,1.152,1080,1.152,1081,1.152,1082,1.152,1083,0.929,1084,1.152,1085,1.152,1086,1.152,1087,1.152,1088,1.152,1089,1.152,1090,1.152,1091,1.152,1092,1.152,1093,1.152,1094,1.152,1095,3.212,1096,1.152,1097,1.152,1098,1.152,1099,1.152,1100,1.152,1101,1.152,1102,1.152,1103,1.152,1104,1.152,1105,1.152,1106,1.152,1107,1.152,1108,1.152,1109,1.152,1110,1.923,1111,1.152,1112,1.923,1113,1.152,1114,1.923,1115,1.923,1116,2.889,1117,2.889,1118,1.923,1119,1.923,1120,1.152,1121,1.152,1122,1.152,1123,2.474,1124,1.152,1125,0.929,1126,1.152,1127,1.152,1128,1.152,1129,1.152,1130,1.152,1131,1.152,1132,1.923,1133,4.136,1134,2.474,1135,1.152,1136,1.923,1137,1.152,1138,1.152,1139,1.152,1140,1.152,1141,1.152,1142,1.152,1143,1.152,1144,1.152,1145,1.152,1146,1.923,1147,2.969,1148,1.923,1149,1.152,1150,1.152,1151,1.152,1152,1.551,1153,1.152,1154,2.889,1155,1.152,1156,1.923,1157,1.152,1158,1.152,1159,1.961,1160,1.152,1161,1.923,1162,1.152,1163,1.152,1164,1.152,1165,1.923,1166,1.923,1167,1.152,1168,1.152,1169,1.152,1170,1.152,1171,1.923,1172,2.474,1173,1.923,1174,1.152,1175,1.152,1176,1.551,1177,1.152,1178,1.152,1179,1.152,1180,1.152,1181,1.152,1182,1.152,1183,1.152,1184,1.152,1185,1.152,1186,0.929,1187,1.152,1188,1.152,1189,1.923,1190,1.152,1191,1.152,1192,1.152,1193,1.152,1194,1.152,1195,1.152,1196,1.152,1197,1.923,1198,1.152,1199,0.929,1200,1.152,1201,1.152,1202,0.929,1203,1.152,1204,1.152,1205,1.152,1206,1.923,1207,1.152,1208,1.152,1209,1.152,1210,1.152,1211,1.152,1212,1.152,1213,1.152,1214,1.152,1215,1.152,1216,1.152,1217,1.152,1218,1.923,1219,1.152,1220,1.152,1221,1.152,1222,1.152,1223,1.923,1224,0.929,1225,0.929,1226,1.152,1227,1.152,1228,1.152,1229,1.152,1230,1.152,1231,1.152,1232,1.152]],["title/coverage.html",[1159,2.571]],["body/coverage.html",[0,1.748,1,1.322,5,0.498,6,0.79,7,0.514,8,1.994,9,1.511,10,2.993,23,0.418,24,0.051,46,2.02,60,0.894,62,1.143,64,1.737,65,2.02,66,1.737,69,2.02,72,2.8,80,2.193,87,1.02,193,0.027,194,0.036,195,0.027,196,0.046,197,1.51,199,2.381,228,1.51,230,1.51,234,1.51,247,1.737,344,1.348,400,1.322,416,2.02,417,2.671,418,2.671,430,1.737,503,2.02,504,3.029,505,2.993,556,1.51,557,2.573,558,2.084,559,2.573,583,1.51,584,1.51,605,2.02,606,2.02,768,1.737,824,2.02,995,2.02,1159,2.02,1233,2.975,1234,2.975,1235,2.399,1236,2.399,1237,2.399,1238,5.529,1239,4.408,1240,2.399,1241,2.975,1242,2.975,1243,2.975,1244,2.975,1245,2.975,1246,2.975,1247,2.975,1248,3.782,1249,3.782,1250,2.399,1251,3.173,1252,3.173,1253,2.399,1254,2.399,1255,2.399,1256,2.399,1257,2.399,1258,2.399,1259,2.671,1260,2.399,1261,2.975,1262,2.399,1263,2.399,1264,2.399,1265,2.399,1266,2.02,1267,2.02,1268,2.399,1269,2.399,1270,2.399,1271,2.975,1272,2.975,1273,2.975]],["title/dependencies.html",[754,1.912,906,2.286]],["body/dependencies.html",[5,0.528,7,0.288,24,0.052,25,1.842,45,1.602,47,2.545,50,2.545,51,2.076,57,2.545,59,1.082,63,1.231,156,1.842,193,0.029,194,0.037,195,0.029,220,1.842,221,2.387,224,1.842,421,2.545,423,2.545,425,2.545,428,2.143,429,2.143,507,2.545,636,2.545,647,2.545,648,2.545,751,2.143,772,2.545,791,2.545,842,2.545,853,2.545,900,2.545,901,2.545,906,2.143,924,3.298,998,2.545,1060,3.298,1152,3.298,1274,3.156,1275,3.156,1276,3.156,1277,5.394,1278,3.156,1279,3.156,1280,3.156,1281,3.156,1282,3.156,1283,3.156,1284,3.156,1285,3.156,1286,4.09,1287,3.156,1288,3.156,1289,3.156,1290,3.156,1291,3.156,1292,3.156,1293,4.537,1294,3.156,1295,3.156,1296,4.537,1297,3.156,1298,3.156,1299,3.156,1300,3.156,1301,4.09,1302,3.156,1303,3.156,1304,3.156,1305,3.156,1306,3.156,1307,4.09,1308,4.09,1309,3.156,1310,3.156,1311,3.156,1312,3.156,1313,3.156,1314,3.298,1315,3.156,1316,3.156,1317,4.09,1318,3.156,1319,3.156,1320,3.156,1321,3.156,1322,3.156,1323,3.156,1324,3.156,1325,3.156,1326,3.156,1327,3.156,1328,3.156,1329,3.156,1330,3.156,1331,3.156,1332,3.156,1333,2.545,1334,3.156,1335,3.156,1336,3.156,1337,3.156,1338,3.156,1339,3.156,1340,4.09,1341,3.156,1342,3.156,1343,3.156,1344,3.156,1345,3.156,1346,3.156,1347,3.156,1348,3.156,1349,3.156,1350,3.156,1351,3.156,1352,3.156,1353,3.156,1354,3.156,1355,3.156,1356,3.156,1357,3.156,1358,3.156,1359,3.156,1360,3.156,1361,3.156,1362,4.09,1363,3.156,1364,3.156,1365,3.156,1366,3.156,1367,3.156,1368,3.156,1369,3.156,1370,3.156,1371,3.156,1372,3.156,1373,3.156,1374,4.09,1375,3.156,1376,3.156,1377,3.156,1378,3.156,1379,3.156,1380,3.156,1381,3.156,1382,3.156,1383,3.156,1384,3.156,1385,3.156,1386,3.156]],["title/miscellaneous/functions.html",[1387,1.054,1388,2.715]],["body/miscellaneous/functions.html",[6,0.749,7,0.488,8,1.106,9,1.474,10,2.921,13,0.398,17,2.586,24,0.052,27,1.259,30,0.647,34,4.41,35,3.192,36,1.874,38,4.41,41,1.439,46,2.921,49,2.285,62,1.171,64,2.223,65,2.586,66,2.511,68,2.223,69,2.586,73,2.285,74,2.044,75,3.123,78,1.305,92,0.749,119,2.285,128,2.068,136,1.259,154,1.259,156,1.654,193,0.026,194,0.035,195,0.026,207,1.439,228,1.934,341,1.439,344,1.305,354,1.439,362,1.693,417,1.924,418,2.586,430,2.223,432,2.285,504,2.801,505,2.921,509,2.285,510,2.586,516,3.71,521,2.285,558,1.693,824,2.586,867,3.072,995,2.586,1235,2.285,1236,3.072,1237,3.072,1240,3.072,1248,2.285,1249,3.87,1250,3.072,1251,2.285,1252,3.469,1253,3.072,1254,3.072,1255,3.072,1256,3.072,1257,3.072,1258,3.072,1259,2.586,1260,3.072,1263,3.072,1264,3.072,1265,3.072,1266,1.924,1267,2.586,1268,2.285,1269,3.072,1270,3.072,1314,3.072,1387,1.259,1388,2.285,1389,2.834,1390,3.986,1391,4.6,1392,2.285,1393,3.072,1394,3.809,1395,2.834,1396,2.285,1397,2.834,1398,5.049,1399,2.834,1400,3.809,1401,2.834,1402,2.834,1403,3.809,1404,2.834,1405,4.6,1406,4.302,1407,2.834,1408,2.834,1409,2.834,1410,4.6,1411,2.834,1412,2.834,1413,2.834,1414,2.834,1415,3.809,1416,2.834,1417,3.809]],["title/index.html",[13,0.333,611,1.61,612,1.384]],["body/index.html",[3,0.993,9,1.141,24,0.039,85,3.412,108,1.479,193,0.03,194,0.039,195,0.03,196,0.037,198,0.654,238,2.47,246,2.868,342,2.715,344,1.45,506,2.684,613,2.26,614,3.412,615,3.412,616,3.751,617,3.751,629,2.873,631,4.284,632,3.412,634,3.412,635,3.947,658,3.412,660,3.323,664,3.158,690,2.684,704,3.412,707,3.412,708,3.412,724,2.684,726,2.684,729,3.751,750,2.684,751,2.26,768,1.943,769,4.075,770,3.947,775,3.412,780,2.684,792,3.412,794,2.684,802,2.684,822,2.684,823,3.412,897,3.412,923,2.684,1083,2.684,1176,2.684,1186,2.684,1199,2.684,1224,2.684,1418,4.231,1419,4.231,1420,3.328,1421,3.328,1422,3.328,1423,3.328,1424,3.412,1425,3.328,1426,3.328,1427,3.328,1428,4.231,1429,4.231,1430,4.231,1431,4.652,1432,3.328,1433,3.328,1434,4.652,1435,3.328,1436,3.328,1437,4.231,1438,3.328,1439,3.328,1440,3.328,1441,3.328,1442,3.328,1443,3.328,1444,3.328,1445,3.328,1446,3.328,1447,3.328,1448,4.895,1449,3.328,1450,3.328,1451,3.328,1452,4.231,1453,3.328,1454,3.328,1455,4.231,1456,3.328,1457,4.231,1458,4.231,1459,3.328,1460,3.328,1461,3.328,1462,3.328,1463,3.328,1464,3.328,1465,3.328,1466,3.328,1467,3.328,1468,3.328,1469,3.328,1470,3.328,1471,3.328,1472,3.328]],["title/license.html",[611,1.61,612,1.384,1473,1.912]],["body/license.html",[24,0.042,193,0.035,194,0.042,195,0.035,223,2.239,629,3.136,660,2.604,768,2.239,801,3.725,820,3.998,844,3.093,1040,3.725,1125,3.093,1147,3.093,1202,3.093,1225,3.093,1333,3.093,1424,4.429,1473,3.093,1474,3.836,1475,4.957,1476,3.836,1477,3.836,1478,4.62,1479,3.836,1480,3.836,1481,3.836,1482,3.836,1483,3.836,1484,3.836,1485,4.62,1486,3.836,1487,3.836,1488,3.836,1489,3.836,1490,3.836,1491,3.836,1492,3.836,1493,3.836,1494,3.836,1495,3.836,1496,3.836,1497,3.836,1498,4.62,1499,3.836,1500,3.836,1501,3.836,1502,3.836,1503,3.836,1504,4.62,1505,3.836,1506,3.836,1507,3.836,1508,3.836,1509,3.836,1510,3.836,1511,3.836,1512,3.836,1513,3.836,1514,3.836,1515,3.836,1516,3.836,1517,3.836,1518,3.836,1519,3.836,1520,3.836,1521,3.836,1522,3.836,1523,3.836,1524,3.836,1525,3.836,1526,3.836,1527,3.836,1528,3.836,1529,3.836,1530,3.836,1531,3.836,1532,3.836]],["title/modules.html",[1533,3.054]],["body/modules.html",[24,0.046,193,0.04,194,0.046,195,0.04,1533,3.56]],["title/overview.html",[1534,3.054]],["body/overview.html",[2,3.537,24,0.046,193,0.04,194,0.046,195,0.04,198,0.862,400,1.949,1534,3.537,1535,4.386]],["title/miscellaneous/typealiases.html",[1387,1.054,1536,3.367]],["body/miscellaneous/typealiases.html",[6,0.715,7,0.465,8,1.594,13,0.573,23,0.715,24,0.05,25,2.8,62,1.094,72,2.075,86,2.774,89,2.774,90,2.774,91,2.774,111,2.075,124,2.774,193,0.037,194,0.044,195,0.037,199,2.585,240,2.8,242,2.8,605,2.774,606,3.257,610,3.868,1266,2.774,1267,3.257,1387,1.816,1392,3.295,1393,3.868,1396,3.295,1537,4.086,1538,4.797]],["title/miscellaneous/variables.html",[1387,1.054,1539,2.715]],["body/miscellaneous/variables.html",[6,0.581,7,0.379,13,0.581,23,0.581,24,0.05,26,2.813,27,1.841,158,3.899,193,0.038,194,0.044,195,0.038,235,1.616,343,2.455,344,1.657,504,2.418,664,2.813,1259,3.283,1262,3.899,1387,1.841,1390,3.341,1539,3.341,1540,4.143,1541,4.835,1542,4.835,1543,4.143,1544,4.143,1545,4.143,1546,4.143,1547,4.835,1548,4.143,1549,4.143,1550,4.143,1551,4.143]]],"invertedIndex":[["",{"_index":24,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":80,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"coverage.html":{}}}],["0.05",{"_index":336,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["0.1.0",{"_index":1223,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":1386,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":1319,"title":{},"body":{"dependencies.html":{}}}],["0.2.0",{"_index":1218,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":1341,"title":{},"body":{"dependencies.html":{}}}],["0.5",{"_index":316,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["0.5*255",{"_index":177,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["0.5.0",{"_index":1206,"title":{},"body":{"changelog.html":{}}}],["0.6.0",{"_index":1176,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0.8",{"_index":133,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["0.9*255",{"_index":118,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["0/1",{"_index":1238,"title":{},"body":{"coverage.html":{}}}],["0/13",{"_index":1242,"title":{},"body":{"coverage.html":{}}}],["0/19",{"_index":1246,"title":{},"body":{"coverage.html":{}}}],["0/20",{"_index":1247,"title":{},"body":{"coverage.html":{}}}],["0/26",{"_index":1245,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":1271,"title":{},"body":{"coverage.html":{}}}],["0/6",{"_index":1239,"title":{},"body":{"coverage.html":{}}}],["0/7",{"_index":1243,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":1244,"title":{},"body":{"coverage.html":{}}}],["01",{"_index":668,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":1026,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":962,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":714,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":932,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":620,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":667,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":1148,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":653,"title":{},"body":{"changelog.html":{}}}],["1",{"_index":179,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{},"changelog.html":{}}}],["1.0",{"_index":164,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{}}}],["1.0.0",{"_index":1133,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":1316,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":1323,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":1381,"title":{},"body":{"dependencies.html":{}}}],["1.1.0",{"_index":1110,"title":{},"body":{"changelog.html":{}}}],["1.16.0",{"_index":1358,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":1318,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":1060,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":1327,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":1361,"title":{},"body":{"dependencies.html":{}}}],["1.3.5",{"_index":1025,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":998,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":1344,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":961,"title":{},"body":{"changelog.html":{}}}],["1.6.0",{"_index":946,"title":{},"body":{"changelog.html":{}}}],["1.6875389974302382e",{"_index":352,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["1.7.0",{"_index":931,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":1330,"title":{},"body":{"dependencies.html":{}}}],["1/37",{"_index":1241,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":638,"title":{},"body":{"changelog.html":{}}}],["10.0",{"_index":307,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["10.0.0",{"_index":1339,"title":{},"body":{"dependencies.html":{}}}],["1000",{"_index":282,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["10x",{"_index":1122,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":1000,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":1363,"title":{},"body":{"dependencies.html":{}}}],["11.5",{"_index":370,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["12",{"_index":724,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":1365,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":1277,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":1285,"title":{},"body":{"dependencies.html":{}}}],["13",{"_index":831,"title":{},"body":{"changelog.html":{}}}],["136",{"_index":99,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["14",{"_index":715,"title":{},"body":{"changelog.html":{}}}],["15",{"_index":313,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{}}}],["15.126.1",{"_index":1275,"title":{},"body":{"dependencies.html":{}}}],["16",{"_index":896,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":1332,"title":{},"body":{"dependencies.html":{}}}],["17",{"_index":689,"title":{},"body":{"changelog.html":{}}}],["17,0,0",{"_index":351,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["17,0.076,0,0.49,0.034,0.11,1",{"_index":353,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["2",{"_index":400,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{},"coverage.html":{},"overview.html":{}}}],["2.0.0",{"_index":895,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":1336,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":853,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":842,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.3.0",{"_index":837,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":830,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":814,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":791,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.6.7",{"_index":1367,"title":{},"body":{"dependencies.html":{}}}],["2.8.5",{"_index":1325,"title":{},"body":{"dependencies.html":{}}}],["2.awsapprunner.com",{"_index":1445,"title":{},"body":{"index.html":{}}}],["200",{"_index":328,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["2019",{"_index":1147,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":1062,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":776,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":637,"title":{},"body":{"changelog.html":{}}}],["2023",{"_index":619,"title":{},"body":{"changelog.html":{}}}],["21",{"_index":933,"title":{},"body":{"changelog.html":{}}}],["22",{"_index":1135,"title":{},"body":{"changelog.html":{}}}],["229",{"_index":100,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["24",{"_index":1207,"title":{},"body":{"changelog.html":{}}}],["255",{"_index":101,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["26",{"_index":963,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":1003,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":654,"title":{},"body":{"changelog.html":{}}}],["3",{"_index":1047,"title":{},"body":{"changelog.html":{}}}],["3.0.0",{"_index":772,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":1296,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":732,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":723,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":713,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":688,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":666,"title":{},"body":{"changelog.html":{}}}],["3.5.0",{"_index":652,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":1298,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":1300,"title":{},"body":{"dependencies.html":{}}}],["3.6",{"_index":1452,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":636,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.7.0",{"_index":618,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":1308,"title":{},"body":{"dependencies.html":{}}}],["3.7.3",{"_index":1311,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":98,"title":{},"body":{"classes/BodyUILayer.html":{},"changelog.html":{}}}],["31",{"_index":1111,"title":{},"body":{"changelog.html":{}}}],["3d",{"_index":343,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["4",{"_index":1081,"title":{},"body":{"changelog.html":{}}}],["4.0",{"_index":1429,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":1305,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":1334,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":1355,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":1321,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":1346,"title":{},"body":{"dependencies.html":{}}}],["4th",{"_index":640,"title":{},"body":{"changelog.html":{}}}],["5.0.0",{"_index":1349,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":1353,"title":{},"body":{"dependencies.html":{}}}],["5th",{"_index":626,"title":{},"body":{"changelog.html":{}}}],["6.0.1",{"_index":1352,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":1369,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":1303,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":1378,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":1375,"title":{},"body":{"dependencies.html":{}}}],["8",{"_index":939,"title":{},"body":{"changelog.html":{}}}],["8.3.2",{"_index":1384,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":1297,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":1293,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":1295,"title":{},"body":{"dependencies.html":{}}}],["8.9",{"_index":399,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["85",{"_index":1217,"title":{},"body":{"changelog.html":{}}}],["9",{"_index":1535,"title":{},"body":{"overview.html":{}}}],["9.5",{"_index":319,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["90",{"_index":1158,"title":{},"body":{"changelog.html":{}}}],["95",{"_index":719,"title":{},"body":{"changelog.html":{}}}],["9th",{"_index":973,"title":{},"body":{"changelog.html":{}}}],["_dragevent(info",{"_index":413,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["_lighting",{"_index":172,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{}}}],["_onclick(info",{"_index":384,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["_ondrag(info",{"_index":409,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["_ondragend(info",{"_index":411,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["_ondragstart(info",{"_index":406,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["_onhover(e",{"_index":376,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["_onviewstatechange(event",{"_index":392,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["aabb",{"_index":426,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["ability",{"_index":868,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":1202,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["accurate",{"_index":960,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":1525,"title":{},"body":{"license.html":{}}}],["actions",{"_index":1051,"title":{},"body":{"changelog.html":{}}}],["added",{"_index":621,"title":{},"body":{"changelog.html":{}}}],["additional",{"_index":1203,"title":{},"body":{"changelog.html":{}}}],["addressed",{"_index":1104,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":692,"title":{},"body":{"changelog.html":{}}}],["adjusting",{"_index":1098,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":996,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":899,"title":{},"body":{"changelog.html":{}}}],["again",{"_index":1071,"title":{},"body":{"changelog.html":{}}}],["age",{"_index":810,"title":{},"body":{"changelog.html":{}}}],["ala",{"_index":834,"title":{},"body":{"changelog.html":{}}}],["aliases",{"_index":1537,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["allows",{"_index":980,"title":{},"body":{"changelog.html":{}}}],["alpha",{"_index":1188,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":1166,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":1161,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":1146,"title":{},"body":{"changelog.html":{}}}],["alt",{"_index":1433,"title":{},"body":{"index.html":{}}}],["ambientlight",{"_index":213,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["analytics",{"_index":901,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["anatomical",{"_index":995,"title":{},"body":{"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["anatomicalstructuresurl",{"_index":1548,"title":{},"body":{"miscellaneous/variables.html":{}}}],["and/or",{"_index":1496,"title":{},"body":{"license.html":{}}}],["angular",{"_index":751,"title":{},"body":{"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":1276,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":1278,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":1279,"title":{},"body":{"dependencies.html":{}}}],["angular/compiler",{"_index":1280,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":1281,"title":{},"body":{"dependencies.html":{}}}],["angular/elements",{"_index":1282,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":1283,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":1284,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":1286,"title":{},"body":{"dependencies.html":{}}}],["angular/router",{"_index":1288,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":1289,"title":{},"body":{"dependencies.html":{}}}],["api",{"_index":631,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":1442,"title":{},"body":{"index.html":{}}}],["appear",{"_index":785,"title":{},"body":{"changelog.html":{}}}],["application",{"_index":984,"title":{},"body":{"changelog.html":{}}}],["applied",{"_index":1034,"title":{},"body":{"changelog.html":{}}}],["appropriate",{"_index":753,"title":{},"body":{"changelog.html":{}}}],["april",{"_index":972,"title":{},"body":{"changelog.html":{}}}],["arising",{"_index":1529,"title":{},"body":{"license.html":{}}}],["asct+b",{"_index":777,"title":{},"body":{"changelog.html":{}}}],["assignment/selection",{"_index":948,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":844,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["async",{"_index":321,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["atlas",{"_index":615,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["attempts",{"_index":818,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":1518,"title":{},"body":{"license.html":{}}}],["autohighlight",{"_index":95,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["automatic",{"_index":1085,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":1035,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":1078,"title":{},"body":{"changelog.html":{}}}],["avoid",{"_index":886,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":324,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["award",{"_index":1471,"title":{},"body":{"index.html":{}}}],["b",{"_index":1542,"title":{},"body":{"miscellaneous/variables.html":{}}}],["backend",{"_index":797,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":1199,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["base",{"_index":1171,"title":{},"body":{"changelog.html":{}}}],["based",{"_index":875,"title":{},"body":{"changelog.html":{}}}],["basic",{"_index":897,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["bbox",{"_index":449,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["before",{"_index":789,"title":{},"body":{"changelog.html":{}}}],["behaviorsubject",{"_index":222,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["behaviorsubject([0",{"_index":253,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["being",{"_index":930,"title":{},"body":{"changelog.html":{}}}],["beta",{"_index":775,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":854,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":1139,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":220,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"dependencies.html":{}}}],["block",{"_index":740,"title":{},"body":{"changelog.html":{}}}],["blocks",{"_index":683,"title":{},"body":{"changelog.html":{}}}],["bmi",{"_index":811,"title":{},"body":{"changelog.html":{}}}],["board",{"_index":1163,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":7,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["bodyui",{"_index":247,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{}}}],["bodyuilayer",{"_index":1,"title":{"classes/BodyUILayer.html":{}},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{}}}],["bodyuilayer.gltfcache",{"_index":153,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["bodyuiprops",{"_index":197,"title":{"interfaces/BodyUIProps.html":{}},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{}}}],["bodyuiviewstateprops",{"_index":230,"title":{"interfaces/BodyUIViewStateProps.html":{}},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{}}}],["boolean",{"_index":136,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/functions.html":{}}}],["both",{"_index":840,"title":{},"body":{"changelog.html":{}}}],["box",{"_index":885,"title":{},"body":{"changelog.html":{}}}],["break",{"_index":88,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["breaking",{"_index":920,"title":{},"body":{"changelog.html":{}}}],["bringing",{"_index":940,"title":{},"body":{"changelog.html":{}}}],["browser",{"_index":1152,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["browserify",{"_index":1376,"title":{},"body":{"dependencies.html":{}}}],["browsing",{"_index":1227,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":711,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":1425,"title":{},"body":{"index.html":{}}}],["builds",{"_index":771,"title":{},"body":{"changelog.html":{}}}],["button",{"_index":1165,"title":{},"body":{"changelog.html":{}}}],["c",{"_index":1476,"title":{},"body":{"license.html":{}}}],["cache",{"_index":1314,"title":{},"body":{"dependencies.html":{},"miscellaneous/functions.html":{}}}],["cacheable",{"_index":1380,"title":{},"body":{"dependencies.html":{}}}],["callback",{"_index":872,"title":{},"body":{"changelog.html":{}}}],["called",{"_index":926,"title":{},"body":{"changelog.html":{}}}],["calls",{"_index":650,"title":{},"body":{"changelog.html":{}}}],["camera",{"_index":200,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["cancelregistration",{"_index":871,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":1137,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":428,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{},"dependencies.html":{}}}],["canvas",{"_index":201,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["card",{"_index":904,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":909,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":85,"title":{},"body":{"classes/BodyUILayer.html":{},"index.html":{}}}],["cases",{"_index":1109,"title":{},"body":{"changelog.html":{}}}],["casttoglobaltype",{"_index":1237,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["casttoglobaltype(value",{"_index":1397,"title":{},"body":{"miscellaneous/functions.html":{}}}],["ccf",{"_index":246,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{},"index.html":{}}}],["ccf's",{"_index":1056,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":623,"title":{},"body":{"changelog.html":{}}}],["ccf_annotations",{"_index":562,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["cell",{"_index":734,"title":{},"body":{"changelog.html":{}}}],["center",{"_index":506,"title":{},"body":{"interfaces/ProcessedNode.html":{},"index.html":{}}}],["change",{"_index":923,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["changed",{"_index":644,"title":{},"body":{"changelog.html":{}}}],["changelog",{"_index":613,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changes",{"_index":741,"title":{},"body":{"changelog.html":{}}}],["charge",{"_index":1482,"title":{},"body":{"license.html":{}}}],["child",{"_index":511,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["child.bbox.clone",{"_index":536,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["childnames",{"_index":1263,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["childnames(child",{"_index":515,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["childnames(node.node).map(n",{"_index":533,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["childnames(scene",{"_index":509,"title":{},"body":{"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["choose",{"_index":1079,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":1054,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":1521,"title":{},"body":{"license.html":{}}}],["class",{"_index":0,"title":{"classes/BodyUILayer.html":{}},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{}}}],["classes",{"_index":2,"title":{},"body":{"classes/BodyUILayer.html":{},"overview.html":{}}}],["clean",{"_index":709,"title":{},"body":{"changelog.html":{}}}],["cleanup",{"_index":774,"title":{},"body":{"changelog.html":{}}}],["click",{"_index":826,"title":{},"body":{"changelog.html":{}}}],["clicking",{"_index":916,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":1448,"title":{},"body":{"index.html":{}}}],["code",{"_index":767,"title":{},"body":{"changelog.html":{}}}],["codebase",{"_index":1065,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":1121,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":1181,"title":{},"body":{"changelog.html":{}}}],["collaboration",{"_index":1063,"title":{},"body":{"changelog.html":{}}}],["collider",{"_index":71,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["collider.ts",{"_index":418,"title":{},"body":{"interfaces/Collision.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["collision",{"_index":416,"title":{"interfaces/Collision.html":{}},"body":{"interfaces/Collision.html":{},"coverage.html":{}}}],["collisioning",{"_index":434,"title":{},"body":{"interfaces/Collision.html":{}}}],["collisions",{"_index":1087,"title":{},"body":{"changelog.html":{}}}],["color",{"_index":117,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["colorizing",{"_index":1130,"title":{},"body":{"changelog.html":{}}}],["combination",{"_index":1080,"title":{},"body":{"changelog.html":{}}}],["come",{"_index":1126,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":1118,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":1320,"title":{},"body":{"dependencies.html":{}}}],["comment",{"_index":563,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["common",{"_index":823,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["complexity",{"_index":955,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":765,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":726,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["components",{"_index":898,"title":{},"body":{"changelog.html":{}}}],["compositelayer",{"_index":12,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["comunica/query",{"_index":1291,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":1322,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":1503,"title":{},"body":{"license.html":{}}}],["cone",{"_index":89,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["conegeometry",{"_index":52,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["config",{"_index":867,"title":{},"body":{"changelog.html":{},"miscellaneous/functions.html":{}}}],["config.csv",{"_index":1547,"title":{},"body":{"miscellaneous/variables.html":{}}}],["configuration",{"_index":857,"title":{},"body":{"changelog.html":{}}}],["configurations",{"_index":866,"title":{},"body":{"changelog.html":{}}}],["confirmation",{"_index":816,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":879,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":795,"title":{},"body":{"changelog.html":{}}}],["connection",{"_index":1531,"title":{},"body":{"license.html":{}}}],["console.log",{"_index":487,"title":{},"body":{"interfaces/Collision.html":{}}}],["console.log('data",{"_index":357,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["console.log('results",{"_index":356,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["console.log('starting",{"_index":433,"title":{},"body":{"interfaces/Collision.html":{}}}],["console.log(csvreport",{"_index":501,"title":{},"body":{"interfaces/Collision.html":{}}}],["consortium",{"_index":1477,"title":{},"body":{"license.html":{}}}],["const",{"_index":129,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["constructor(private",{"_index":273,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["container",{"_index":911,"title":{},"body":{"changelog.html":{}}}],["containers",{"_index":856,"title":{},"body":{"changelog.html":{}}}],["containing",{"_index":1423,"title":{},"body":{"index.html":{}}}],["context",{"_index":561,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["contract",{"_index":1526,"title":{},"body":{"license.html":{}}}],["control",{"_index":1021,"title":{},"body":{"changelog.html":{}}}],["controller",{"_index":283,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["convenience",{"_index":244,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["convention",{"_index":171,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["coordinate",{"_index":238,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"index.html":{}}}],["coordinate_system",{"_index":44,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["coordinate_system.cartesian",{"_index":103,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["coordinatesystem",{"_index":102,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["copies",{"_index":1498,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1485,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":1475,"title":{},"body":{"license.html":{}}}],["cord",{"_index":695,"title":{},"body":{"changelog.html":{}}}],["cors",{"_index":1324,"title":{},"body":{"dependencies.html":{}}}],["coverage",{"_index":1159,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["created",{"_index":1030,"title":{},"body":{"changelog.html":{}}}],["creation_date",{"_index":564,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["creator",{"_index":565,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["creator_first_name",{"_index":566,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["creator_last_name",{"_index":567,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["credits",{"_index":1462,"title":{},"body":{"index.html":{}}}],["crosswalk.csv",{"_index":1549,"title":{},"body":{"miscellaneous/variables.html":{}}}],["css",{"_index":1326,"title":{},"body":{"dependencies.html":{}}}],["csv.ts",{"_index":1252,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["csvreport",{"_index":491,"title":{},"body":{"interfaces/Collision.html":{}}}],["csvreport.push",{"_index":493,"title":{},"body":{"interfaces/Collision.html":{}}}],["csvtext",{"_index":1408,"title":{},"body":{"miscellaneous/functions.html":{}}}],["ctrlclick",{"_index":243,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["ctrlkey",{"_index":386,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["cube",{"_index":91,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["cubegeometry",{"_index":53,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["cuboid",{"_index":1157,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":1155,"title":{},"body":{"changelog.html":{}}}],["currently",{"_index":807,"title":{},"body":{"changelog.html":{}}}],["currentstate",{"_index":396,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["currentstate.data",{"_index":402,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["currentstate.zoomopacity",{"_index":401,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["cursor",{"_index":271,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["cyberinfrastructure",{"_index":1464,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":966,"title":{},"body":{"changelog.html":{}}}],["cylinder",{"_index":90,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["cylindergeometry",{"_index":54,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["d",{"_index":113,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["d.geometry",{"_index":438,"title":{},"body":{"interfaces/Collision.html":{}}}],["d.scenegraph",{"_index":437,"title":{},"body":{"interfaces/Collision.html":{}}}],["damages",{"_index":1522,"title":{},"body":{"license.html":{}}}],["dark/light",{"_index":874,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":74,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["data.concat(object.values(results",{"_index":359,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["data.length",{"_index":79,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["data.map(d",{"_index":120,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["data.push",{"_index":360,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["data.ts",{"_index":1259,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["data?.length",{"_index":332,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["database",{"_index":716,"title":{},"body":{"changelog.html":{}}}],["datasets",{"_index":978,"title":{},"body":{"changelog.html":{}}}],["deal",{"_index":1487,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1532,"title":{},"body":{"license.html":{}}}],["debugscenenodeprocessing",{"_index":202,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["debugscenenodeprocessing(data",{"_index":340,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["december",{"_index":1072,"title":{},"body":{"changelog.html":{}}}],["deck",{"_index":214,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deck(props",{"_index":309,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deck.gl/core",{"_index":45,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"dependencies.html":{}}}],["deck.gl/core/lib/deck",{"_index":219,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deck.gl/geo",{"_index":1294,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":47,"title":{},"body":{"classes/BodyUILayer.html":{},"dependencies.html":{}}}],["deck.gl/mesh",{"_index":50,"title":{},"body":{"classes/BodyUILayer.html":{},"dependencies.html":{}}}],["deckprops",{"_index":274,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deckprops.camera",{"_index":278,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deckprops.interactive",{"_index":284,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deckprops.legacylighting",{"_index":304,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deckprops.maxrotationx",{"_index":314,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deckprops.minrotationx",{"_index":312,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deckprops.rotation",{"_index":317,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deckprops.target",{"_index":315,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deckprops.zoom",{"_index":318,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["decompress",{"_index":459,"title":{},"body":{"interfaces/Collision.html":{}}}],["decorator",{"_index":221,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"dependencies.html":{}}}],["deeply",{"_index":799,"title":{},"body":{"changelog.html":{}}}],["default",{"_index":26,"title":{},"body":{"classes/BodyUILayer.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["defined",{"_index":28,"title":{},"body":{"classes/BodyUILayer.html":{},"changelog.html":{}}}],["delete",{"_index":538,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["demo",{"_index":828,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":906,"title":{"dependencies.html":{}},"body":{"changelog.html":{},"dependencies.html":{}}}],["depending",{"_index":929,"title":{},"body":{"changelog.html":{}}}],["depthmask",{"_index":178,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["derivescenegraph",{"_index":1250,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["derivescenegraph(scenegraphnodename",{"_index":1399,"title":{},"body":{"miscellaneous/functions.html":{}}}],["descrepancies",{"_index":681,"title":{},"body":{"changelog.html":{}}}],["details",{"_index":1205,"title":{},"body":{"changelog.html":{}}}],["developed",{"_index":1463,"title":{},"body":{"index.html":{}}}],["developments",{"_index":1186,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":817,"title":{},"body":{"changelog.html":{}}}],["didzoom",{"_index":333,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["different",{"_index":855,"title":{},"body":{"changelog.html":{}}}],["digits",{"_index":1048,"title":{},"body":{"changelog.html":{}}}],["dimension_units",{"_index":568,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["direct",{"_index":1214,"title":{},"body":{"changelog.html":{}}}],["directly",{"_index":1119,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":105,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["display",{"_index":847,"title":{},"body":{"changelog.html":{}}}],["displayed",{"_index":1156,"title":{},"body":{"changelog.html":{}}}],["displaying",{"_index":843,"title":{},"body":{"changelog.html":{}}}],["distribute",{"_index":1494,"title":{},"body":{"license.html":{}}}],["doc",{"_index":1169,"title":{},"body":{"changelog.html":{}}}],["docollisions",{"_index":69,"title":{},"body":{"classes/BodyUILayer.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["docollisions(scene",{"_index":432,"title":{},"body":{"interfaces/Collision.html":{},"miscellaneous/functions.html":{}}}],["docollisions(state.data",{"_index":187,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["docs",{"_index":706,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":1328,"title":{},"body":{"dependencies.html":{}}}],["documentation",{"_index":768,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["done",{"_index":921,"title":{},"body":{"changelog.html":{}}}],["donor",{"_index":903,"title":{},"body":{"changelog.html":{}}}],["donors",{"_index":981,"title":{},"body":{"changelog.html":{}}}],["dotenv",{"_index":1331,"title":{},"body":{"dependencies.html":{}}}],["download",{"_index":1197,"title":{},"body":{"changelog.html":{}}}],["dracoloader",{"_index":422,"title":{},"body":{"interfaces/Collision.html":{}}}],["during",{"_index":965,"title":{},"body":{"changelog.html":{}}}],["dynamic",{"_index":1287,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":674,"title":{},"body":{"changelog.html":{}}}],["e",{"_index":37,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["e.info",{"_index":192,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["e.isdragging",{"_index":301,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["e.object",{"_index":379,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["e.object['@id",{"_index":380,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["e.picked",{"_index":377,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["e?.srcevent?.ctrlkey",{"_index":391,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["easier",{"_index":746,"title":{},"body":{"changelog.html":{}}}],["east",{"_index":1444,"title":{},"body":{"index.html":{}}}],["effect",{"_index":1101,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":1008,"title":{},"body":{"changelog.html":{}}}],["element",{"_index":924,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["embedded",{"_index":863,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":852,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":850,"title":{},"body":{"changelog.html":{}}}],["enable",{"_index":502,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["entities",{"_index":1410,"title":{},"body":{"miscellaneous/functions.html":{}}}],["entities.ts",{"_index":1264,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["entityid",{"_index":447,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/SpatialSceneNode.html":{}}}],["es",{"_index":429,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{},"dependencies.html":{}}}],["eslint",{"_index":104,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["eslint/naming",{"_index":170,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["eslint/no",{"_index":109,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["etc",{"_index":883,"title":{},"body":{"changelog.html":{}}}],["eui",{"_index":729,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":761,"title":{},"body":{"changelog.html":{}}}],["event",{"_index":1517,"title":{},"body":{"license.html":{}}}],["event.interactionstate?.iszooming",{"_index":395,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["event.viewstate",{"_index":403,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["event.viewstate.rotationx",{"_index":405,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["event.viewstate.zoom",{"_index":398,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["expanded",{"_index":672,"title":{},"body":{"changelog.html":{}}}],["explicit",{"_index":110,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["exploration",{"_index":1427,"title":{},"body":{"index.html":{}}}],["export",{"_index":126,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{}}}],["express",{"_index":1333,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["extends",{"_index":11,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["external",{"_index":870,"title":{},"body":{"changelog.html":{}}}],["extra",{"_index":1338,"title":{},"body":{"dependencies.html":{}}}],["extraction",{"_index":824,"title":{},"body":{"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["extraction_set",{"_index":569,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["extractionsitesconfigurl",{"_index":1544,"title":{},"body":{"miscellaneous/variables.html":{}}}],["extractionsitesurl",{"_index":1540,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fail",{"_index":1068,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":1106,"title":{},"body":{"changelog.html":{}}}],["false",{"_index":96,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["favor",{"_index":1059,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":670,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":967,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":1006,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":586,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["fetch",{"_index":1366,"title":{},"body":{"dependencies.html":{}}}],["field",{"_index":880,"title":{},"body":{"changelog.html":{}}}],["file",{"_index":5,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{}}}],["file_format",{"_index":604,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["files",{"_index":1486,"title":{},"body":{"license.html":{}}}],["filter",{"_index":1020,"title":{},"body":{"changelog.html":{}}}],["filter(d",{"_index":436,"title":{},"body":{"interfaces/Collision.html":{}}}],["filters",{"_index":687,"title":{},"body":{"changelog.html":{}}}],["final",{"_index":1061,"title":{},"body":{"changelog.html":{}}}],["finalize",{"_index":329,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["finishing",{"_index":821,"title":{},"body":{"changelog.html":{}}}],["first",{"_index":1073,"title":{},"body":{"changelog.html":{}}}],["firstfieldname",{"_index":1405,"title":{},"body":{"miscellaneous/functions.html":{}}}],["fit",{"_index":975,"title":{},"body":{"changelog.html":{}}}],["fitness",{"_index":1513,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":957,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":712,"title":{},"body":{"changelog.html":{}}}],["fixes.ts",{"_index":1236,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["fixes/performance",{"_index":1131,"title":{},"body":{"changelog.html":{}}}],["flexible",{"_index":701,"title":{},"body":{"changelog.html":{}}}],["flipy",{"_index":280,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["fly",{"_index":1222,"title":{},"body":{"changelog.html":{}}}],["following",{"_index":1502,"title":{},"body":{"license.html":{}}}],["form",{"_index":1009,"title":{},"body":{"changelog.html":{}}}],["format",{"_index":1091,"title":{},"body":{"changelog.html":{}}}],["frame",{"_index":982,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":1418,"title":{},"body":{"index.html":{}}}],["free",{"_index":1481,"title":{},"body":{"license.html":{}}}],["fs",{"_index":1337,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":914,"title":{},"body":{"changelog.html":{}}}],["fullscreen",{"_index":1164,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":968,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":72,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["functions",{"_index":1388,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["funded",{"_index":1469,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":1501,"title":{},"body":{"license.html":{}}}],["further",{"_index":1160,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":958,"title":{},"body":{"changelog.html":{}}}],["generate",{"_index":736,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":766,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":675,"title":{},"body":{"changelog.html":{}}}],["geometries",{"_index":137,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["geometries.scenegraph",{"_index":148,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["geometries.scenegraph.push(node",{"_index":143,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["geometries[geometry",{"_index":144,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["geometries[geometry].push(node",{"_index":145,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["geometry",{"_index":55,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getcolor",{"_index":116,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["getcursor",{"_index":298,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["getpickinginfo",{"_index":20,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["getpickinginfo(e",{"_index":32,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["getposition",{"_index":125,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["gettext",{"_index":123,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["getting",{"_index":611,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["gettransformmatrix",{"_index":112,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["github",{"_index":1050,"title":{},"body":{"changelog.html":{}}}],["gizmo",{"_index":889,"title":{},"body":{"changelog.html":{}}}],["globalconfig",{"_index":860,"title":{},"body":{"changelog.html":{}}}],["gltf",{"_index":68,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["gltf.scenes",{"_index":462,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["gltf.ts",{"_index":1249,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["gltf:${processednode['@id",{"_index":525,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["gltfcache",{"_index":17,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["gltfloader",{"_index":424,"title":{},"body":{"interfaces/Collision.html":{}}}],["gltfnode",{"_index":526,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["gltfnodes",{"_index":518,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["gltfnodes.push",{"_index":524,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["gltfoverride",{"_index":1415,"title":{},"body":{"miscellaneous/functions.html":{}}}],["gltfpromise",{"_index":1403,"title":{},"body":{"miscellaneous/functions.html":{}}}],["gltfscene",{"_index":461,"title":{},"body":{"interfaces/Collision.html":{}}}],["gltftransform",{"_index":349,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["gltfurl",{"_index":341,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["good",{"_index":1103,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":900,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["grab",{"_index":303,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["grabbing",{"_index":302,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["granted",{"_index":1480,"title":{},"body":{"license.html":{}}}],["graphical",{"_index":722,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":1340,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":838,"title":{},"body":{"changelog.html":{}}}],["gtex",{"_index":737,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":1094,"title":{},"body":{"changelog.html":{}}}],["h",{"_index":497,"title":{},"body":{"interfaces/Collision.html":{}}}],["h.name",{"_index":500,"title":{},"body":{"interfaces/Collision.html":{}}}],["h['@id",{"_index":499,"title":{},"body":{"interfaces/Collision.html":{}}}],["halfsize",{"_index":547,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["hand",{"_index":1099,"title":{},"body":{"changelog.html":{}}}],["happen",{"_index":1138,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":1069,"title":{},"body":{"changelog.html":{}}}],["helmet",{"_index":1345,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":1093,"title":{},"body":{"changelog.html":{}}}],["here",{"_index":1097,"title":{},"body":{"changelog.html":{}}}],["hereby",{"_index":1479,"title":{},"body":{"license.html":{}}}],["hex",{"_index":1347,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":1187,"title":{},"body":{"changelog.html":{}}}],["highlight",{"_index":805,"title":{},"body":{"changelog.html":{}}}],["highlightcolor",{"_index":97,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["highlighted",{"_index":684,"title":{},"body":{"changelog.html":{}}}],["highlights",{"_index":808,"title":{},"body":{"changelog.html":{}}}],["hit",{"_index":492,"title":{},"body":{"interfaces/Collision.html":{}}}],["hit.hits",{"_index":498,"title":{},"body":{"interfaces/Collision.html":{}}}],["hit.name",{"_index":496,"title":{},"body":{"interfaces/Collision.html":{}}}],["hit['@id",{"_index":495,"title":{},"body":{"interfaces/Collision.html":{}}}],["hits",{"_index":419,"title":{},"body":{"interfaces/Collision.html":{}}}],["hits.length",{"_index":482,"title":{},"body":{"interfaces/Collision.html":{}}}],["hits.push({'@id",{"_index":479,"title":{},"body":{"interfaces/Collision.html":{}}}],["holders",{"_index":1519,"title":{},"body":{"license.html":{}}}],["hooked",{"_index":1018,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":698,"title":{},"body":{"changelog.html":{}}}],["hovering",{"_index":905,"title":{},"body":{"changelog.html":{}}}],["hra",{"_index":616,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["htmlcanvaselement",{"_index":211,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["htmlelement",{"_index":212,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["http://localhost:8080/source_data/asct",{"_index":1541,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://localhost:8080/source_data/extraction",{"_index":1545,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://localhost:8080/source_data/reference",{"_index":1551,"title":{},"body":{"miscellaneous/variables.html":{}}}],["https://beta",{"_index":1430,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":1441,"title":{},"body":{"index.html":{}}}],["https://hubmap",{"_index":1434,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":342,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"index.html":{}}}],["https://hubmapconsortium.github.io/hubmap",{"_index":347,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["https://humanatlas.io",{"_index":1460,"title":{},"body":{"index.html":{}}}],["https://observablehq.com/@cns",{"_index":1457,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":1436,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":1432,"title":{},"body":{"index.html":{}}}],["https://r5i95k35v5.us",{"_index":1443,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":1216,"title":{},"body":{"changelog.html":{}}}],["hubmap",{"_index":660,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["human",{"_index":614,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["icon",{"_index":1198,"title":{},"body":{"changelog.html":{}}}],["icons",{"_index":915,"title":{},"body":{"changelog.html":{}}}],["id",{"_index":92,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["idb",{"_index":1350,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":1233,"title":{},"body":{"coverage.html":{}}}],["iec",{"_index":1064,"title":{},"body":{"changelog.html":{}}}],["image",{"_index":1058,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":1117,"title":{},"body":{"changelog.html":{}}}],["implementation",{"_index":793,"title":{},"body":{"changelog.html":{}}}],["implemented",{"_index":1016,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":1168,"title":{},"body":{"changelog.html":{}}}],["implied",{"_index":1510,"title":{},"body":{"license.html":{}}}],["import",{"_index":43,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{}}}],["improve",{"_index":1007,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":757,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":718,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":839,"title":{},"body":{"changelog.html":{}}}],["include",{"_index":1075,"title":{},"body":{"changelog.html":{}}}],["included",{"_index":1505,"title":{},"body":{"license.html":{}}}],["includes",{"_index":671,"title":{},"body":{"changelog.html":{}}}],["including",{"_index":801,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":1043,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":1162,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":13,"title":{"index.html":{}},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indexes",{"_index":625,"title":{},"body":{"changelog.html":{}}}],["indiana",{"_index":1467,"title":{},"body":{"index.html":{}}}],["individual",{"_index":1023,"title":{},"body":{"changelog.html":{}}}],["info",{"_index":3,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"index.html":{}}}],["info.object",{"_index":388,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["info.object['@id",{"_index":389,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["info.picked",{"_index":387,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["info?.object?.['@id",{"_index":414,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["information",{"_index":708,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":1120,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":1077,"title":{},"body":{"changelog.html":{}}}],["initial",{"_index":937,"title":{},"body":{"changelog.html":{}}}],["initialize",{"_index":322,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["initializestate",{"_index":21,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["instead",{"_index":928,"title":{},"body":{"changelog.html":{}}}],["instructions",{"_index":851,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":969,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":798,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":1076,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":989,"title":{},"body":{"changelog.html":{}}}],["intensity",{"_index":306,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["interact",{"_index":952,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":1142,"title":{},"body":{"changelog.html":{}}}],["interactionstate",{"_index":393,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["interactive",{"_index":203,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["interest",{"_index":1213,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":196,"title":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{}},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":198,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":1057,"title":{},"body":{"changelog.html":{}}}],["isdragging",{"_index":299,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["issue",{"_index":1039,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":678,"title":{},"body":{"changelog.html":{}}}],["iszooming",{"_index":394,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["it's",{"_index":796,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":1195,"title":{},"body":{"changelog.html":{}}}],["iu",{"_index":1184,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":1458,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":635,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["json",{"_index":1089,"title":{},"body":{"changelog.html":{}}}],["jsonld",{"_index":507,"title":{},"body":{"interfaces/ProcessedNode.html":{},"dependencies.html":{}}}],["jsonld.ts",{"_index":559,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"coverage.html":{}}}],["jsonld/jsonld",{"_index":589,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["jsonldobj",{"_index":560,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["july",{"_index":1141,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":1193,"title":{},"body":{"changelog.html":{}}}],["key",{"_index":76,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["keyboard",{"_index":1191,"title":{},"body":{"changelog.html":{}}}],["keyval",{"_index":1351,"title":{},"body":{"dependencies.html":{}}}],["kidney",{"_index":835,"title":{},"body":{"changelog.html":{}}}],["kind",{"_index":1509,"title":{},"body":{"license.html":{}}}],["known",{"_index":677,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":657,"title":{},"body":{"changelog.html":{}}}],["l",{"_index":189,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["label",{"_index":570,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["labs/data",{"_index":1302,"title":{},"body":{"dependencies.html":{}}}],["labs/dispatch",{"_index":1304,"title":{},"body":{"dependencies.html":{}}}],["landmarks",{"_index":696,"title":{},"body":{"changelog.html":{}}}],["landmarks.csv",{"_index":1543,"title":{},"body":{"miscellaneous/variables.html":{}}}],["larger",{"_index":747,"title":{},"body":{"changelog.html":{}}}],["lasthovered",{"_index":272,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["latest",{"_index":690,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["layer",{"_index":227,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["layer.ts",{"_index":10,"title":{},"body":{"classes/BodyUILayer.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["layer.ts:143",{"_index":33,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layer.ts:71",{"_index":31,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layer.ts:72",{"_index":29,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layer.ts:74",{"_index":40,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layer.ts:80",{"_index":42,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layername",{"_index":18,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layers",{"_index":51,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"dependencies.html":{}}}],["layers.filter(l",{"_index":188,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layers.push",{"_index":157,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layers.push(meshlayer(`${geometry}pickable",{"_index":185,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layers.push(meshlayer(geometry",{"_index":184,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layers.push(textlayer('text",{"_index":180,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layers.push(textlayer('textpickable",{"_index":183,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["lb",{"_index":541,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["lb.clone().vadd(halfsize",{"_index":551,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["ld",{"_index":1090,"title":{},"body":{"changelog.html":{}}}],["leak",{"_index":1038,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":819,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":587,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"changelog.html":{}}}],["left/right",{"_index":836,"title":{},"body":{"changelog.html":{}}}],["legacylighting",{"_index":204,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["level",{"_index":1189,"title":{},"body":{"changelog.html":{}}}],["levels",{"_index":1210,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":1523,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1520,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":750,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":999,"title":{},"body":{"changelog.html":{}}}],["library/vh_female/united/vhf_united_color.glb",{"_index":346,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["library/vh_male/united/vhm_united_color.glb",{"_index":345,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["license",{"_index":1473,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":813,"title":{},"body":{"changelog.html":{}}}],["lightingeffect",{"_index":215,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["limitation",{"_index":1489,"title":{},"body":{"license.html":{}}}],["limited",{"_index":1125,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":107,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["link",{"_index":829,"title":{},"body":{"changelog.html":{}}}],["linkage",{"_index":1143,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":703,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":780,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":945,"title":{},"body":{"changelog.html":{}}}],["literal",{"_index":25,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{},"dependencies.html":{},"miscellaneous/typealiases.html":{}}}],["little",{"_index":950,"title":{},"body":{"changelog.html":{}}}],["load",{"_index":420,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{},"changelog.html":{}}}],["load(model.scenegraph",{"_index":458,"title":{},"body":{"interfaces/Collision.html":{}}}],["loaded",{"_index":1145,"title":{},"body":{"changelog.html":{}}}],["loaders.gl/core",{"_index":421,"title":{},"body":{"interfaces/Collision.html":{},"dependencies.html":{}}}],["loaders.gl/draco",{"_index":423,"title":{},"body":{"interfaces/Collision.html":{},"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":425,"title":{},"body":{"interfaces/Collision.html":{},"dependencies.html":{}}}],["loadgltf",{"_index":64,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/ProcessedNode.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["loadgltf(model",{"_index":1401,"title":{},"body":{"miscellaneous/functions.html":{}}}],["loadgltf({scenegraph",{"_index":517,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["loadgltf2",{"_index":65,"title":{},"body":{"classes/BodyUILayer.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["loadgltf2(model.scenegraphnode",{"_index":167,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["loadgltf2(scenegraphnodename",{"_index":1402,"title":{},"body":{"miscellaneous/functions.html":{}}}],["loading",{"_index":665,"title":{},"body":{"changelog.html":{}}}],["location",{"_index":1044,"title":{},"body":{"changelog.html":{}}}],["locations",{"_index":659,"title":{},"body":{"changelog.html":{}}}],["lodash",{"_index":1354,"title":{},"body":{"dependencies.html":{}}}],["log",{"_index":1461,"title":{},"body":{"index.html":{}}}],["logging",{"_index":739,"title":{},"body":{"changelog.html":{}}}],["longer",{"_index":925,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":1005,"title":{},"body":{"changelog.html":{}}}],["loop",{"_index":325,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["lowerbound",{"_index":442,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["lowerbound[i",{"_index":455,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["lru",{"_index":1356,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":57,"title":{},"body":{"classes/BodyUILayer.html":{},"dependencies.html":{}}}],["m",{"_index":147,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["m.scenegraph",{"_index":149,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["m.scenegraphnode",{"_index":150,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["made",{"_index":1066,"title":{},"body":{"changelog.html":{}}}],["major",{"_index":669,"title":{},"body":{"changelog.html":{}}}],["makes",{"_index":743,"title":{},"body":{"changelog.html":{}}}],["making",{"_index":790,"title":{},"body":{"changelog.html":{}}}],["male",{"_index":585,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["managers",{"_index":755,"title":{},"body":{"changelog.html":{}}}],["map(model",{"_index":439,"title":{},"body":{"interfaces/Collision.html":{}}}],["march",{"_index":1002,"title":{},"body":{"changelog.html":{}}}],["markdown",{"_index":1364,"title":{},"body":{"dependencies.html":{}}}],["mat",{"_index":440,"title":{},"body":{"interfaces/Collision.html":{}}}],["mat.transformaspoint",{"_index":443,"title":{},"body":{"interfaces/Collision.html":{}}}],["mat.transformaspoint([1",{"_index":445,"title":{},"body":{"interfaces/Collision.html":{}}}],["match",{"_index":1004,"title":{},"body":{"changelog.html":{}}}],["matching",{"_index":194,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["math.gl/core",{"_index":59,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{},"dependencies.html":{}}}],["math.gl/culling",{"_index":1299,"title":{},"body":{"dependencies.html":{}}}],["math.max(...report.map(r",{"_index":489,"title":{},"body":{"interfaces/Collision.html":{}}}],["math.max(n",{"_index":454,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["math.min(math.max(1",{"_index":397,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["math.min(n",{"_index":451,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["matrix",{"_index":366,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["matrix.gettranslation",{"_index":369,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["matrix4",{"_index":58,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{}}}],["matrix4([0.076,0,0,0,0,0.076,1.6875389974302382e",{"_index":350,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["matrix4(d.transformmatrix).gettranslation",{"_index":122,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["matrix4(matrix4.identity",{"_index":553,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["matrix4(model.transformmatrix",{"_index":441,"title":{},"body":{"interfaces/Collision.html":{}}}],["matrix4(modelmatrix",{"_index":523,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["matrix4(node.transformmatrix",{"_index":367,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["matrix4(worldmatrix",{"_index":519,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["matrix4.identity",{"_index":520,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["maxhits",{"_index":488,"title":{},"body":{"interfaces/Collision.html":{}}}],["maxrotationx",{"_index":205,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["mc",{"_index":1183,"title":{},"body":{"changelog.html":{}}}],["memory",{"_index":1037,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":1100,"title":{},"body":{"changelog.html":{}}}],["merchantability",{"_index":1512,"title":{},"body":{"license.html":{}}}],["merge",{"_index":1492,"title":{},"body":{"license.html":{}}}],["mesh",{"_index":82,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["meshlayer",{"_index":1240,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["meshlayer(id",{"_index":73,"title":{},"body":{"classes/BodyUILayer.html":{},"miscellaneous/functions.html":{}}}],["metadata",{"_index":1154,"title":{},"body":{"changelog.html":{}}}],["methods",{"_index":19,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["minor",{"_index":679,"title":{},"body":{"changelog.html":{}}}],["minrotationx",{"_index":206,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["miscellaneous",{"_index":1387,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":1474,"title":{},"body":{"license.html":{}}}],["mock",{"_index":1179,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":935,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":865,"title":{},"body":{"changelog.html":{}}}],["model",{"_index":156,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{},"dependencies.html":{},"miscellaneous/functions.html":{}}}],["model._lighting",{"_index":173,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["model.color",{"_index":176,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["model.entityid",{"_index":448,"title":{},"body":{"interfaces/Collision.html":{}}}],["model.opacity",{"_index":163,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["model.scenegraph",{"_index":169,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["model.scenegraphnode",{"_index":166,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["model.tooltip",{"_index":446,"title":{},"body":{"interfaces/Collision.html":{}}}],["model.transformmatrix",{"_index":175,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["model.unpickable",{"_index":165,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["model.zoombasedopacity",{"_index":161,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["model['@id",{"_index":159,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{}}}],["modelmatrix",{"_index":464,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["modelmatrix.transformaspoint(primitive.attributes.position.max",{"_index":472,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["modelmatrix.transformaspoint(primitive.attributes.position.min",{"_index":471,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["models",{"_index":158,"title":{},"body":{"classes/BodyUILayer.html":{},"miscellaneous/variables.html":{}}}],["modify",{"_index":1491,"title":{},"body":{"license.html":{}}}],["modules",{"_index":1533,"title":{"modules.html":{}},"body":{"modules.html":{}}}],["monorepo",{"_index":1420,"title":{},"body":{"index.html":{}}}],["more",{"_index":707,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["mouseevent",{"_index":241,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["moved",{"_index":1200,"title":{},"body":{"changelog.html":{}}}],["much",{"_index":745,"title":{},"body":{"changelog.html":{}}}],["multiple",{"_index":1421,"title":{},"body":{"index.html":{}}}],["n.bbox",{"_index":532,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["n.unpickable",{"_index":182,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["n3",{"_index":1357,"title":{},"body":{"dependencies.html":{}}}],["name",{"_index":35,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/functions.html":{}}}],["names",{"_index":510,"title":{},"body":{"interfaces/ProcessedNode.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["names.push(child.name",{"_index":514,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["navigation",{"_index":1192,"title":{},"body":{"changelog.html":{}}}],["near",{"_index":281,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["need",{"_index":649,"title":{},"body":{"changelog.html":{}}}],["needed",{"_index":1010,"title":{},"body":{"changelog.html":{}}}],["needs",{"_index":1017,"title":{},"body":{"changelog.html":{}}}],["network",{"_index":1465,"title":{},"body":{"index.html":{}}}],["new",{"_index":87,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"changelog.html":{},"coverage.html":{}}}],["next",{"_index":106,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{}}}],["ng5",{"_index":1359,"title":{},"body":{"dependencies.html":{}}}],["ngx",{"_index":1362,"title":{},"body":{"dependencies.html":{}}}],["ngxs",{"_index":1301,"title":{},"body":{"dependencies.html":{}}}],["ngxs/logger",{"_index":1306,"title":{},"body":{"dependencies.html":{}}}],["ngxs/storage",{"_index":1309,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":1310,"title":{},"body":{"dependencies.html":{}}}],["nih",{"_index":1470,"title":{},"body":{"index.html":{}}}],["node",{"_index":63,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"dependencies.html":{}}}],["node.bbox",{"_index":535,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["node.bbox.extend(child.bbox",{"_index":537,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["node.bbox.lowerbound",{"_index":542,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["node.bbox.upperbound",{"_index":544,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["node.center",{"_index":550,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["node.geometry",{"_index":141,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["node.id",{"_index":522,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["node.mesh",{"_index":465,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["node.mesh.primitives",{"_index":466,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["node.mesh.primitives.length",{"_index":467,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["node.name",{"_index":474,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["node.scenegraph",{"_index":142,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["node.size",{"_index":545,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["node.transformmatrix",{"_index":552,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["node.ts",{"_index":606,"title":{},"body":{"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["node.zoomtoonload",{"_index":334,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodeclick",{"_index":257,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodeclickevent",{"_index":242,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"miscellaneous/typealiases.html":{}}}],["nodeclicksubject",{"_index":249,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodedrag",{"_index":267,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodedragend",{"_index":269,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodedragendsubject",{"_index":256,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodedragevent",{"_index":240,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"miscellaneous/typealiases.html":{}}}],["nodedragstart",{"_index":265,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodedragstartsubject",{"_index":254,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodedragsubject",{"_index":255,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodehoverstart",{"_index":259,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodehoverstartsubject",{"_index":250,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodehoverstop",{"_index":261,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodehoverstopsubject",{"_index":251,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodes",{"_index":154,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["nodes.filter(n",{"_index":181,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["nodes.ts",{"_index":505,"title":{},"body":{"interfaces/ProcessedNode.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["nodes[n]).filter(n",{"_index":534,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["nodes[node['@id",{"_index":539,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["nodes[processednode['@id",{"_index":530,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["noninfringement",{"_index":1516,"title":{},"body":{"license.html":{}}}],["note",{"_index":642,"title":{},"body":{"changelog.html":{}}}],["notebooks",{"_index":633,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":1453,"title":{},"body":{"index.html":{}}}],["notice",{"_index":1040,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":748,"title":{},"body":{"changelog.html":{}}}],["number",{"_index":115,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["numeric",{"_index":1045,"title":{},"body":{"changelog.html":{}}}],["object",{"_index":235,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"miscellaneous/variables.html":{}}}],["object.entries(geometries",{"_index":155,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["object.prototype.hasownproperty.call(url2gltf",{"_index":151,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["object.values(nodes",{"_index":540,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["object.values(nodes).filter(n",{"_index":531,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["object.values(results",{"_index":358,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["obtaining",{"_index":1484,"title":{},"body":{"license.html":{}}}],["off/on",{"_index":1014,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":1140,"title":{},"body":{"changelog.html":{}}}],["old",{"_index":1435,"title":{},"body":{"index.html":{}}}],["onclick",{"_index":288,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["ondrag",{"_index":294,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["ondragend",{"_index":296,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["ondragstart",{"_index":292,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["one",{"_index":1083,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["onhover",{"_index":286,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["online",{"_index":1150,"title":{},"body":{"changelog.html":{}}}],["ontological",{"_index":1221,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":1092,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":645,"title":{},"body":{"changelog.html":{}}}],["ontology/objects/vhf_united_v01_060420.glb",{"_index":348,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["onviewstatechange",{"_index":290,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["opacities",{"_index":1022,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":160,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["openapi",{"_index":792,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/js",{"_index":1449,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":1451,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":1450,"title":{},"body":{"index.html":{}}}],["optimization",{"_index":949,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":1132,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":987,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":804,"title":{},"body":{"changelog.html":{}}}],["optional",{"_index":36,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["options",{"_index":75,"title":{},"body":{"classes/BodyUILayer.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["options.geometry",{"_index":84,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["orbitaxis",{"_index":231,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["orbitview",{"_index":216,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["organ",{"_index":664,"title":{},"body":{"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["organs",{"_index":697,"title":{},"body":{"changelog.html":{}}}],["organs/anatomical",{"_index":1024,"title":{},"body":{"changelog.html":{}}}],["orthographic",{"_index":279,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{}}}],["orthographicview",{"_index":217,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["ot2od026671",{"_index":1472,"title":{},"body":{"index.html":{}}}],["otherwise",{"_index":1528,"title":{},"body":{"license.html":{}}}],["out",{"_index":1530,"title":{},"body":{"license.html":{}}}],["over",{"_index":1052,"title":{},"body":{"changelog.html":{}}}],["overall",{"_index":686,"title":{},"body":{"changelog.html":{}}}],["overlays",{"_index":1211,"title":{},"body":{"changelog.html":{}}}],["overview",{"_index":1534,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["p",{"_index":1174,"title":{},"body":{"changelog.html":{}}}],["package",{"_index":754,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["pages",{"_index":849,"title":{},"body":{"changelog.html":{}}}],["paired",{"_index":832,"title":{},"body":{"changelog.html":{}}}],["pane",{"_index":976,"title":{},"body":{"changelog.html":{}}}],["panel",{"_index":846,"title":{},"body":{"changelog.html":{}}}],["parameters",{"_index":34,"title":{},"body":{"classes/BodyUILayer.html":{},"miscellaneous/functions.html":{}}}],["parameters['getpickinginfo']>[0",{"_index":190,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["parent",{"_index":207,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["parsecsv",{"_index":1253,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["parsecsv(sourceurl",{"_index":1404,"title":{},"body":{"miscellaneous/functions.html":{}}}],["parsecsvtext",{"_index":1254,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["parsecsvtext(csvtext",{"_index":1407,"title":{},"body":{"miscellaneous/functions.html":{}}}],["parser",{"_index":1317,"title":{},"body":{"dependencies.html":{}}}],["partial",{"_index":275,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["particular",{"_index":1514,"title":{},"body":{"license.html":{}}}],["partly",{"_index":1001,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":918,"title":{},"body":{"changelog.html":{}}}],["path",{"_index":1343,"title":{},"body":{"dependencies.html":{}}}],["pbr",{"_index":174,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["performance",{"_index":758,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":1478,"title":{},"body":{"license.html":{}}}],["permit",{"_index":1499,"title":{},"body":{"license.html":{}}}],["person",{"_index":1483,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1500,"title":{},"body":{"license.html":{}}}],["pick",{"_index":663,"title":{},"body":{"changelog.html":{}}}],["pickable",{"_index":93,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["picked",{"_index":239,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["pickinfo",{"_index":234,"title":{"interfaces/PickInfo.html":{}},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{}}}],["placeholder",{"_index":1144,"title":{},"body":{"changelog.html":{}}}],["placement",{"_index":571,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"changelog.html":{}}}],["placement_date",{"_index":591,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["placenta",{"_index":693,"title":{},"body":{"changelog.html":{}}}],["player",{"_index":1290,"title":{},"body":{"dependencies.html":{}}}],["plugin",{"_index":1307,"title":{},"body":{"dependencies.html":{}}}],["plus",{"_index":673,"title":{},"body":{"changelog.html":{}}}],["pointer",{"_index":378,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["popup",{"_index":1153,"title":{},"body":{"changelog.html":{}}}],["portal",{"_index":802,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["portal's",{"_index":1124,"title":{},"body":{"changelog.html":{}}}],["portions",{"_index":1507,"title":{},"body":{"license.html":{}}}],["position",{"_index":121,"title":{},"body":{"classes/BodyUILayer.html":{},"changelog.html":{}}}],["possible",{"_index":1067,"title":{},"body":{"changelog.html":{}}}],["postprocess",{"_index":460,"title":{},"body":{"interfaces/Collision.html":{}}}],["preferences",{"_index":877,"title":{},"body":{"changelog.html":{}}}],["preparation",{"_index":1185,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":1209,"title":{},"body":{"changelog.html":{}}}],["prevent",{"_index":730,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":892,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":1029,"title":{},"body":{"changelog.html":{}}}],["previously",{"_index":782,"title":{},"body":{"changelog.html":{}}}],["primitive",{"_index":468,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["primitive.attributes.position",{"_index":469,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["primitive.attributes.position.min",{"_index":470,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["priority",{"_index":607,"title":{},"body":{"interfaces/SpatialSceneNode.html":{}}}],["private",{"_index":248,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["process",{"_index":1167,"title":{},"body":{"changelog.html":{}}}],["processanatomicalstructures",{"_index":1256,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["processanatomicalstructures(sourceurl",{"_index":1409,"title":{},"body":{"miscellaneous/functions.html":{}}}],["processed",{"_index":1115,"title":{},"body":{"changelog.html":{}}}],["processednode",{"_index":503,"title":{"interfaces/ProcessedNode.html":{}},"body":{"interfaces/ProcessedNode.html":{},"coverage.html":{}}}],["processednode.bbox",{"_index":529,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["processednode['@id",{"_index":527,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["processextractionsites",{"_index":1258,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["processextractionsites(sourceurl",{"_index":1411,"title":{},"body":{"miscellaneous/functions.html":{}}}],["processing",{"_index":878,"title":{},"body":{"changelog.html":{}}}],["processreferencedata",{"_index":1260,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["processreferencedata(refentities",{"_index":1412,"title":{},"body":{"miscellaneous/functions.html":{}}}],["processscenenodes",{"_index":228,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["processscenenodes(gltfurl",{"_index":354,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["processspatialentities",{"_index":1265,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["processspatialentities(parent",{"_index":1414,"title":{},"body":{"miscellaneous/functions.html":{}}}],["production",{"_index":769,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":749,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":1172,"title":{},"body":{"changelog.html":{}}}],["projects",{"_index":1422,"title":{},"body":{"index.html":{}}}],["projects/.../body",{"_index":1393,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["projects/.../global",{"_index":1389,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../load",{"_index":1391,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../parse",{"_index":1394,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../process",{"_index":1390,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/.../scene",{"_index":1396,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["projects/.../simplify",{"_index":1395,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../spatial",{"_index":1392,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["projects/ccf",{"_index":6,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":128,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["promise(r",{"_index":326,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["properties",{"_index":14,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["props",{"_index":276,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["props.effects",{"_index":305,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["provided",{"_index":1225,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["providers",{"_index":809,"title":{},"body":{"changelog.html":{}}}],["public",{"_index":1151,"title":{},"body":{"changelog.html":{}}}],["publish",{"_index":1493,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":752,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":1515,"title":{},"body":{"license.html":{}}}],["pushed",{"_index":964,"title":{},"body":{"changelog.html":{}}}],["python",{"_index":634,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["qs",{"_index":1368,"title":{},"body":{"dependencies.html":{}}}],["qualitative",{"_index":1128,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":812,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":648,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["query",{"_index":1219,"title":{},"body":{"changelog.html":{}}}],["querying",{"_index":702,"title":{},"body":{"changelog.html":{}}}],["quickly",{"_index":1108,"title":{},"body":{"changelog.html":{}}}],["r.hits.length",{"_index":490,"title":{},"body":{"interfaces/Collision.html":{}}}],["rc.1",{"_index":1134,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":1370,"title":{},"body":{"dependencies.html":{}}}],["rdfjs",{"_index":1292,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":1312,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":1371,"title":{},"body":{"dependencies.html":{}}}],["readable",{"_index":1373,"title":{},"body":{"dependencies.html":{}}}],["readonly",{"_index":16,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["real",{"_index":1149,"title":{},"body":{"changelog.html":{}}}],["record",{"_index":138,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["rectify",{"_index":788,"title":{},"body":{"changelog.html":{}}}],["reduce",{"_index":954,"title":{},"body":{"changelog.html":{}}}],["reduction",{"_index":720,"title":{},"body":{"changelog.html":{}}}],["refentities",{"_index":1413,"title":{},"body":{"miscellaneous/functions.html":{}}}],["reference",{"_index":344,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["reference_organ",{"_index":572,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{}}}],["referencedataconfig",{"_index":1262,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["referenceorganconfigurl",{"_index":1550,"title":{},"body":{"miscellaneous/variables.html":{}}}],["refernced",{"_index":833,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":917,"title":{},"body":{"changelog.html":{}}}],["regions",{"_index":1212,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":1329,"title":{},"body":{"dependencies.html":{}}}],["registered",{"_index":783,"title":{},"body":{"changelog.html":{}}}],["registergltfloaders",{"_index":66,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/ProcessedNode.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["registration",{"_index":822,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["registrations",{"_index":942,"title":{},"body":{"changelog.html":{}}}],["related",{"_index":993,"title":{},"body":{"changelog.html":{}}}],["release",{"_index":627,"title":{},"body":{"changelog.html":{}}}],["reliability",{"_index":1042,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":888,"title":{},"body":{"changelog.html":{}}}],["removed",{"_index":862,"title":{},"body":{"changelog.html":{}}}],["removes",{"_index":992,"title":{},"body":{"changelog.html":{}}}],["renderlayers",{"_index":22,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["report",{"_index":475,"title":{},"body":{"interfaces/Collision.html":{}}}],["report.push",{"_index":483,"title":{},"body":{"interfaces/Collision.html":{}}}],["repository",{"_index":1419,"title":{},"body":{"index.html":{}}}],["representation_of",{"_index":573,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{}}}],["required",{"_index":1096,"title":{},"body":{"changelog.html":{}}}],["resets",{"_index":919,"title":{},"body":{"changelog.html":{}}}],["resolved",{"_index":970,"title":{},"body":{"changelog.html":{}}}],["respond",{"_index":910,"title":{},"body":{"changelog.html":{}}}],["restriction",{"_index":1488,"title":{},"body":{"license.html":{}}}],["result",{"_index":193,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["results",{"_index":195,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["return",{"_index":81,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["returns",{"_index":38,"title":{},"body":{"classes/BodyUILayer.html":{},"miscellaneous/functions.html":{}}}],["returntype",{"_index":39,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["returntype['getpickinginfo",{"_index":191,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["rgb",{"_index":1348,"title":{},"body":{"dependencies.html":{}}}],["right",{"_index":588,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"changelog.html":{}}}],["rights",{"_index":1490,"title":{},"body":{"license.html":{}}}],["root",{"_index":927,"title":{},"body":{"changelog.html":{}}}],["rotates",{"_index":890,"title":{},"body":{"changelog.html":{}}}],["rotation",{"_index":208,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["rotation_units",{"_index":599,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["rotationorbit",{"_index":232,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["rotationx",{"_index":233,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["round",{"_index":1027,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":1046,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":700,"title":{},"body":{"changelog.html":{}}}],["ru/common",{"_index":1274,"title":{},"body":{"dependencies.html":{}}}],["rui",{"_index":658,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["rui_locations.jsonld",{"_index":738,"title":{},"body":{"changelog.html":{}}}],["rui_rank",{"_index":574,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["rxjs",{"_index":224,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":226,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["sad",{"_index":476,"title":{},"body":{"interfaces/Collision.html":{}}}],["sad.push(src",{"_index":486,"title":{},"body":{"interfaces/Collision.html":{}}}],["sample",{"_index":1224,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["samples",{"_index":956,"title":{},"body":{"changelog.html":{}}}],["saver",{"_index":1335,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":1173,"title":{},"body":{"changelog.html":{}}}],["scale(halfsize.toarray",{"_index":555,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["scaling_units",{"_index":595,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["scene",{"_index":62,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["scene.children",{"_index":513,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["scene.filter(d",{"_index":457,"title":{},"body":{"interfaces/Collision.html":{}}}],["scene.nodes",{"_index":512,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["scene.ts",{"_index":1269,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["scenegraph",{"_index":139,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scenegraphlayer",{"_index":48,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["scenegraphnode",{"_index":362,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/functions.html":{}}}],["scenegraphnodename",{"_index":1400,"title":{},"body":{"miscellaneous/functions.html":{}}}],["scenerotation",{"_index":263,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["scenerotationsubject",{"_index":252,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["scenetraversalvisitor",{"_index":1538,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["scheduled",{"_index":971,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":1177,"title":{},"body":{"changelog.html":{}}}],["schemes",{"_index":1129,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":1466,"title":{},"body":{"index.html":{}}}],["search",{"_index":662,"title":{},"body":{"changelog.html":{}}}],["searches",{"_index":676,"title":{},"body":{"changelog.html":{}}}],["section",{"_index":943,"title":{},"body":{"changelog.html":{}}}],["see",{"_index":704,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["select",{"_index":861,"title":{},"body":{"changelog.html":{}}}],["selected",{"_index":685,"title":{},"body":{"changelog.html":{}}}],["selecting",{"_index":744,"title":{},"body":{"changelog.html":{}}}],["selector",{"_index":742,"title":{},"body":{"changelog.html":{}}}],["selects",{"_index":1194,"title":{},"body":{"changelog.html":{}}}],["sell",{"_index":1497,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":1208,"title":{},"body":{"changelog.html":{}}}],["sennet",{"_index":763,"title":{},"body":{"changelog.html":{}}}],["server",{"_index":1180,"title":{},"body":{"changelog.html":{}}}],["set",{"_index":873,"title":{},"body":{"changelog.html":{}}}],["setinteractive(value",{"_index":375,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["setrotation(value",{"_index":371,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["setrotationx(value",{"_index":372,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["setscene(data",{"_index":331,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["settarget(value",{"_index":374,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["settimeout(r",{"_index":327,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["setup",{"_index":938,"title":{},"body":{"changelog.html":{}}}],["setzoom(value",{"_index":373,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["sex",{"_index":575,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"changelog.html":{}}}],["sexes",{"_index":1082,"title":{},"body":{"changelog.html":{}}}],["shall",{"_index":1504,"title":{},"body":{"license.html":{}}}],["share",{"_index":225,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["shared",{"_index":881,"title":{},"body":{"changelog.html":{}}}],["shared/spatial",{"_index":61,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["shortest",{"_index":1342,"title":{},"body":{"dependencies.html":{}}}],["show",{"_index":913,"title":{},"body":{"changelog.html":{}}}],["showing",{"_index":1114,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":1123,"title":{},"body":{"changelog.html":{}}}],["shows",{"_index":815,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":576,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"changelog.html":{}}}],["sides",{"_index":1084,"title":{},"body":{"changelog.html":{}}}],["significant",{"_index":922,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":845,"title":{},"body":{"changelog.html":{}}}],["simplemeshlayer",{"_index":49,"title":{},"body":{"classes/BodyUILayer.html":{},"miscellaneous/functions.html":{}}}],["simplifies",{"_index":936,"title":{},"body":{"changelog.html":{}}}],["simplifyscene",{"_index":1270,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["simplifyscene(nodes",{"_index":1416,"title":{},"body":{"miscellaneous/functions.html":{}}}],["site",{"_index":1546,"title":{},"body":{"miscellaneous/variables.html":{}}}],["sites",{"_index":825,"title":{},"body":{"changelog.html":{}}}],["sites.ts",{"_index":1257,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["sizable",{"_index":1041,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":508,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["size.clone().vmul(new",{"_index":548,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["slice_count",{"_index":577,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["slice_thickness",{"_index":578,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["slider",{"_index":1360,"title":{},"body":{"dependencies.html":{}}}],["slightly",{"_index":786,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":951,"title":{},"body":{"changelog.html":{}}}],["software",{"_index":1424,"title":{},"body":{"index.html":{},"license.html":{}}}],["solved",{"_index":1036,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":1105,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":756,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":947,"title":{},"body":{"changelog.html":{}}}],["source",{"_index":4,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{}}}],["sourceboxes",{"_index":435,"title":{},"body":{"interfaces/Collision.html":{}}}],["sources",{"_index":869,"title":{},"body":{"changelog.html":{}}}],["sourceurl",{"_index":1406,"title":{},"body":{"miscellaneous/functions.html":{}}}],["sparc",{"_index":941,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":647,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":558,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["spatialentityjsonld",{"_index":556,"title":{"interfaces/SpatialEntityJsonLd.html":{}},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"coverage.html":{}}}],["spatialobjectreferencejsonld",{"_index":583,"title":{"interfaces/SpatialObjectReferenceJsonLd.html":{}},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"coverage.html":{}}}],["spatialplacementjsonld",{"_index":584,"title":{"interfaces/SpatialPlacementJsonLd.html":{}},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"coverage.html":{}}}],["spatialscenegeometry",{"_index":610,"title":{},"body":{"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["spatialscenenode",{"_index":60,"title":{"interfaces/SpatialSceneNode.html":{}},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["spec",{"_index":590,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"changelog.html":{}}}],["spec.yaml",{"_index":1447,"title":{},"body":{"index.html":{}}}],["specific",{"_index":806,"title":{},"body":{"changelog.html":{}}}],["specification",{"_index":1446,"title":{},"body":{"index.html":{}}}],["speed",{"_index":717,"title":{},"body":{"changelog.html":{}}}],["sphere",{"_index":86,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["spheregeometry",{"_index":56,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["spinal",{"_index":694,"title":{},"body":{"changelog.html":{}}}],["spinning",{"_index":1178,"title":{},"body":{"changelog.html":{}}}],["sprint",{"_index":974,"title":{},"body":{"changelog.html":{}}}],["src",{"_index":477,"title":{},"body":{"interfaces/Collision.html":{}}}],["src.bbox.overlaps(target.bbox",{"_index":478,"title":{},"body":{"interfaces/Collision.html":{}}}],["src.entityid",{"_index":484,"title":{},"body":{"interfaces/Collision.html":{}}}],["src.name",{"_index":485,"title":{},"body":{"interfaces/Collision.html":{}}}],["srcevent",{"_index":385,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["stage",{"_index":1015,"title":{},"body":{"changelog.html":{}}}],["staging",{"_index":770,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["standalone",{"_index":1031,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":1088,"title":{},"body":{"changelog.html":{}}}],["standards",{"_index":1182,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":1428,"title":{},"body":{"index.html":{}}}],["started",{"_index":612,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["starts",{"_index":1231,"title":{},"body":{"changelog.html":{}}}],["startup",{"_index":934,"title":{},"body":{"changelog.html":{}}}],["state",{"_index":134,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["state.data",{"_index":140,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["state.docollisions",{"_index":186,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["state.zoomopacity",{"_index":162,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["statements",{"_index":1234,"title":{},"body":{"coverage.html":{}}}],["static",{"_index":15,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["stay",{"_index":1229,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":959,"title":{},"body":{"changelog.html":{}}}],["stories",{"_index":1170,"title":{},"body":{"changelog.html":{}}}],["stream",{"_index":1374,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":1372,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":30,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/functions.html":{}}}],["structure",{"_index":988,"title":{},"body":{"changelog.html":{}}}],["structures",{"_index":977,"title":{},"body":{"changelog.html":{}}}],["structures.ts",{"_index":1255,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["styles",{"_index":1204,"title":{},"body":{"changelog.html":{}}}],["styling",{"_index":841,"title":{},"body":{"changelog.html":{}}}],["subject",{"_index":223,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"license.html":{}}}],["subject.next",{"_index":415,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["sublicense",{"_index":1495,"title":{},"body":{"license.html":{}}}],["substantial",{"_index":1506,"title":{},"body":{"license.html":{}}}],["such",{"_index":646,"title":{},"body":{"changelog.html":{}}}],["support",{"_index":651,"title":{},"body":{"changelog.html":{}}}],["swiper",{"_index":1377,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":83,"title":{},"body":{"classes/BodyUILayer.html":{},"changelog.html":{}}}],["switched",{"_index":1049,"title":{},"body":{"changelog.html":{}}}],["sync",{"_index":891,"title":{},"body":{"changelog.html":{}}}],["table",{"_index":1273,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":778,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":1272,"title":{},"body":{"coverage.html":{}}}],["tagging",{"_index":1086,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":803,"title":{},"body":{"changelog.html":{}}}],["target",{"_index":209,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["target.name",{"_index":481,"title":{},"body":{"interfaces/Collision.html":{}}}],["target['@id",{"_index":480,"title":{},"body":{"interfaces/Collision.html":{}}}],["targetboxes",{"_index":456,"title":{},"body":{"interfaces/Collision.html":{}}}],["targetboxes.push",{"_index":473,"title":{},"body":{"interfaces/Collision.html":{}}}],["technologies",{"_index":1201,"title":{},"body":{"changelog.html":{}}}],["technology",{"_index":1019,"title":{},"body":{"changelog.html":{}}}],["telemetry",{"_index":884,"title":{},"body":{"changelog.html":{}}}],["terms",{"_index":643,"title":{},"body":{"changelog.html":{}}}],["test",{"_index":361,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{}}}],["testing",{"_index":1095,"title":{},"body":{"changelog.html":{}}}],["text",{"_index":124,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["textlayer",{"_index":46,"title":{},"body":{"classes/BodyUILayer.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["textlayer(id",{"_index":119,"title":{},"body":{"classes/BodyUILayer.html":{},"miscellaneous/functions.html":{}}}],["theme",{"_index":764,"title":{},"body":{"changelog.html":{}}}],["themes",{"_index":762,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":759,"title":{},"body":{"changelog.html":{}}}],["this._dragevent(info",{"_index":407,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this._onclick",{"_index":289,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this._ondrag",{"_index":295,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this._ondragend",{"_index":297,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this._ondragstart",{"_index":293,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this._onhover",{"_index":287,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this._onviewstatechange",{"_index":291,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.bodyuilayer",{"_index":285,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.bodyuilayer.setstate",{"_index":338,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.bodyuilayer.state",{"_index":323,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.cursor",{"_index":300,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.debugscenenodeprocessing(data",{"_index":339,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.deck",{"_index":308,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.deck.finalize",{"_index":330,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.deck.props.viewstate",{"_index":368,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.deck.setprops",{"_index":310,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.deckprops.debugscenenodeprocessing",{"_index":337,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.lasthovered",{"_index":382,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodeclicksubject.next",{"_index":390,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodeclicksubject.pipe(share",{"_index":258,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodedragendsubject",{"_index":412,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodedragendsubject.pipe(share",{"_index":270,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodedragstartsubject",{"_index":408,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodedragstartsubject.pipe(share",{"_index":266,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodedragsubject",{"_index":410,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodedragsubject.pipe(share",{"_index":268,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodehoverstartsubject.next(e.object",{"_index":383,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodehoverstartsubject.pipe(share",{"_index":260,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodehoverstopsubject.next(lasthovered",{"_index":381,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodehoverstopsubject.pipe(share",{"_index":262,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.props",{"_index":130,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["this.scenerotationsubject.next([deckprops.rotation",{"_index":320,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.scenerotationsubject.next([event.viewstate.rotationorbit",{"_index":404,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.scenerotationsubject.pipe(share",{"_index":264,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.setstate",{"_index":131,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["this.state",{"_index":135,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["this.zoomto(node",{"_index":335,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["through",{"_index":1107,"title":{},"body":{"changelog.html":{}}}],["thumbnails",{"_index":986,"title":{},"body":{"changelog.html":{}}}],["tied",{"_index":990,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":1116,"title":{},"body":{"changelog.html":{}}}],["timeouts",{"_index":731,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":721,"title":{},"body":{"changelog.html":{}}}],["tissue",{"_index":494,"title":{},"body":{"interfaces/Collision.html":{},"changelog.html":{}}}],["tissues",{"_index":784,"title":{},"body":{"changelog.html":{}}}],["tmc",{"_index":1220,"title":{},"body":{"changelog.html":{}}}],["toggle",{"_index":760,"title":{},"body":{"changelog.html":{}}}],["tool",{"_index":1032,"title":{},"body":{"changelog.html":{}}}],["tooltip",{"_index":528,"title":{},"body":{"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{}}}],["tort",{"_index":1527,"title":{},"body":{"license.html":{}}}],["tracking/telemetry",{"_index":902,"title":{},"body":{"changelog.html":{}}}],["transformmatrix",{"_index":114,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{}}}],["translate(center.toarray",{"_index":554,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["translation_units",{"_index":603,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["transparency",{"_index":1033,"title":{},"body":{"changelog.html":{}}}],["traversal",{"_index":431,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["traversal.ts",{"_index":1267,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["traversescene",{"_index":430,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["traversescene(gltfscene",{"_index":463,"title":{},"body":{"interfaces/Collision.html":{}}}],["traversescene(scene",{"_index":521,"title":{},"body":{"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["travisci",{"_index":1053,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":1175,"title":{},"body":{"changelog.html":{}}}],["true",{"_index":94,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["try",{"_index":1070,"title":{},"body":{"changelog.html":{}}}],["ts",{"_index":1379,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":1382,"title":{},"body":{"dependencies.html":{}}}],["tuned",{"_index":1230,"title":{},"body":{"changelog.html":{}}}],["turn",{"_index":1013,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":994,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":991,"title":{},"body":{"changelog.html":{}}}],["tutorial",{"_index":864,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":1127,"title":{},"body":{"changelog.html":{}}}],["type",{"_index":23,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":1536,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["types",{"_index":735,"title":{},"body":{"changelog.html":{}}}],["types/lru",{"_index":1313,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":108,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":1190,"title":{},"body":{"changelog.html":{}}}],["ub",{"_index":543,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["ub.clone().vsub(lb",{"_index":546,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["ufl",{"_index":985,"title":{},"body":{"changelog.html":{}}}],["ui",{"_index":9,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"index.html":{}}}],["ui.netlify.app",{"_index":1431,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":1440,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":1437,"title":{},"body":{"index.html":{}}}],["ui.ts",{"_index":199,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["ui/organ",{"_index":1439,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":1438,"title":{},"body":{"index.html":{}}}],["ui/src/global",{"_index":1235,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["ui/src/lib/body",{"_index":8,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["ui/src/lib/shared/ccf",{"_index":557,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"coverage.html":{}}}],["ui/src/lib/shared/spatial",{"_index":605,"title":{},"body":{"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["ui/src/lib/util/load",{"_index":1248,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["ui/src/lib/util/parse",{"_index":1251,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["ui/src/lib/util/process",{"_index":504,"title":{},"body":{"interfaces/ProcessedNode.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["ui/src/lib/util/scene",{"_index":1266,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["ui/src/lib/util/simplify",{"_index":1268,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["ui/src/lib/util/spatial",{"_index":417,"title":{},"body":{"interfaces/Collision.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["uis",{"_index":630,"title":{},"body":{"changelog.html":{}}}],["undefined",{"_index":78,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"miscellaneous/functions.html":{}}}],["university",{"_index":1468,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":77,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["unnecessary",{"_index":887,"title":{},"body":{"changelog.html":{}}}],["unpickable",{"_index":608,"title":{},"body":{"interfaces/SpatialSceneNode.html":{}}}],["unselect",{"_index":953,"title":{},"body":{"changelog.html":{}}}],["until",{"_index":997,"title":{},"body":{"changelog.html":{}}}],["up",{"_index":710,"title":{},"body":{"changelog.html":{}}}],["update",{"_index":655,"title":{},"body":{"changelog.html":{}}}],["updated",{"_index":622,"title":{},"body":{"changelog.html":{}}}],["updated_date",{"_index":579,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["updates",{"_index":699,"title":{},"body":{"changelog.html":{}}}],["upgraded",{"_index":1112,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":1196,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":907,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":1028,"title":{},"body":{"changelog.html":{}}}],["upperbound",{"_index":444,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["upperbound[i",{"_index":452,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["url",{"_index":127,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/ProcessedNode.html":{}}}],["url2gltf",{"_index":146,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["url2gltf[m.scenegraph",{"_index":152,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["url2gltf[model.scenegraph",{"_index":168,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["usage",{"_index":632,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":1454,"title":{},"body":{"index.html":{}}}],["use",{"_index":629,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["usecase",{"_index":1459,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":1456,"title":{},"body":{"index.html":{}}}],["used",{"_index":1012,"title":{},"body":{"changelog.html":{}}}],["user",{"_index":617,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["user/os",{"_index":876,"title":{},"body":{"changelog.html":{}}}],["users",{"_index":1215,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":894,"title":{},"body":{"changelog.html":{}}}],["using",{"_index":848,"title":{},"body":{"changelog.html":{}}}],["util/load",{"_index":67,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["util/process",{"_index":229,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["util/spatial",{"_index":70,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["utilities",{"_index":882,"title":{},"body":{"changelog.html":{}}}],["uuid",{"_index":1383,"title":{},"body":{"dependencies.html":{}}}],["v1.1",{"_index":779,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":641,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":628,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":1011,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":781,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":773,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":733,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":691,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":656,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":705,"title":{},"body":{"changelog.html":{}}}],["v2.1.0",{"_index":639,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":624,"title":{},"body":{"changelog.html":{}}}],["v3",{"_index":661,"title":{},"body":{"changelog.html":{}}}],["value",{"_index":27,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["variable",{"_index":1261,"title":{},"body":{"coverage.html":{}}}],["variables",{"_index":1539,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["vec3",{"_index":427,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["vec3(...lowerbound.map((n",{"_index":450,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["vec3(...upperbound.map((n",{"_index":453,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["vec3(0.5",{"_index":549,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["version",{"_index":794,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["very",{"_index":1102,"title":{},"body":{"changelog.html":{}}}],["vhf_kidney_l_low1').then((results",{"_index":355,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["vhf_kidney_r_low",{"_index":363,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["via",{"_index":728,"title":{},"body":{"changelog.html":{}}}],["video",{"_index":908,"title":{},"body":{"changelog.html":{}}}],["view",{"_index":893,"title":{},"body":{"changelog.html":{}}}],["viewer",{"_index":979,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":682,"title":{},"body":{"changelog.html":{}}}],["views",{"_index":277,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{}}}],["viewstate",{"_index":311,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["viewstateprops",{"_index":218,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["visitor",{"_index":1417,"title":{},"body":{"miscellaneous/functions.html":{}}}],["visual",{"_index":680,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":944,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":1113,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":41,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"miscellaneous/functions.html":{}}}],["vs",{"_index":859,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":1226,"title":{},"body":{"changelog.html":{}}}],["walkthrough",{"_index":1455,"title":{},"body":{"index.html":{}}}],["warming",{"_index":727,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":1136,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":1511,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1508,"title":{},"body":{"license.html":{}}}],["web",{"_index":725,"title":{},"body":{"changelog.html":{}}}],["webcomponent",{"_index":858,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":1315,"title":{},"body":{"dependencies.html":{}}}],["webpages",{"_index":800,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":1426,"title":{},"body":{"index.html":{}}}],["week",{"_index":1232,"title":{},"body":{"changelog.html":{}}}],["whether",{"_index":1524,"title":{},"body":{"license.html":{}}}],["whole",{"_index":1228,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":912,"title":{},"body":{"changelog.html":{}}}],["wireframe",{"_index":111,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["within",{"_index":983,"title":{},"body":{"changelog.html":{}}}],["without",{"_index":820,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["workflows",{"_index":1055,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":787,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":1074,"title":{},"body":{"changelog.html":{}}}],["worldmatrix",{"_index":516,"title":{},"body":{"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["wrapper",{"_index":245,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["x",{"_index":236,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["x_dimension",{"_index":580,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["x_rotation",{"_index":596,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["x_scaling",{"_index":592,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["x_translation",{"_index":600,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["y",{"_index":237,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["y_dimension",{"_index":581,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["y_rotation",{"_index":597,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["y_scaling",{"_index":593,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["y_translation",{"_index":601,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["yes",{"_index":1398,"title":{},"body":{"miscellaneous/functions.html":{}}}],["youtube",{"_index":827,"title":{},"body":{"changelog.html":{}}}],["z_dimension",{"_index":582,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["z_rotation",{"_index":598,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["z_scaling",{"_index":594,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["z_translation",{"_index":602,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["zone.js",{"_index":1385,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":210,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["zoombasedopacity",{"_index":364,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{}}}],["zoomopacity",{"_index":132,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["zoomto(node",{"_index":365,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["zoomtoonload",{"_index":609,"title":{},"body":{"interfaces/SpatialSceneNode.html":{}}}]],"pipeline":["stemmer"]}, - "store": {"classes/BodyUILayer.html":{"url":"classes/BodyUILayer.html","title":"class - BodyUILayer","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BodyUILayer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/body-ui-layer.ts\n \n\n\n\n \n Extends\n \n \n CompositeLayer\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n gltfCache\n \n \n Static\n Readonly\n layerName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getPickingInfo\n \n \n initializeState\n \n \n renderLayers\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n gltfCache\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in projects/ccf-body-ui/src/lib/body-ui-layer.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n Static\n Readonly\n layerName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'BodyUILayer'\n \n \n \n \n Defined in projects/ccf-body-ui/src/lib/body-ui-layer.ts:71\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getPickingInfo\n \n \n \n \n \n \ngetPickingInfo(e)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui/src/lib/body-ui-layer.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n e\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ReturnType<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n initializeState\n \n \n \n \n \n \ninitializeState()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui/src/lib/body-ui-layer.ts:74\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n renderLayers\n \n \n \n \n \n \nrenderLayers()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui/src/lib/body-ui-layer.ts:80\n \n \n\n\n \n \n\n \n Returns : []\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CompositeLayer, COORDINATE_SYSTEM } from '@deck.gl/core';\nimport { TextLayer } from '@deck.gl/layers';\nimport { ScenegraphLayer, SimpleMeshLayer } from '@deck.gl/mesh-layers';\nimport { ConeGeometry, CubeGeometry, CylinderGeometry, Geometry, SphereGeometry } from '@luma.gl/core';\nimport { Matrix4 } from '@math.gl/core';\n\nimport { SpatialSceneNode } from './shared/spatial-scene-node';\nimport { loadGLTF, loadGLTF2, registerGLTFLoaders } from './util/load-gltf';\nimport { doCollisions } from './util/spatial-scene-collider';\n\n\nfunction meshLayer(id: string, data: SpatialSceneNode[], options: { [key: string]: unknown }): SimpleMeshLayer | undefined {\n if (!data || data.length === 0) {\n return undefined;\n } else {\n let mesh: Geometry;\n switch (options.geometry) {\n case 'sphere':\n mesh = new SphereGeometry();\n break;\n case 'cone':\n mesh = new ConeGeometry();\n break;\n case 'cylinder':\n mesh = new CylinderGeometry();\n break;\n case 'cube':\n default:\n mesh = new CubeGeometry();\n break;\n }\n return new SimpleMeshLayer({\n ...{\n id,\n pickable: true,\n autoHighlight: false,\n highlightColor: [30, 136, 229, 255],\n coordinateSystem: COORDINATE_SYSTEM.CARTESIAN,\n data,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mesh: mesh as any,\n wireframe: false,\n getTransformMatrix: (d) => (d as { transformMatrix: number[][] }).transformMatrix,\n getColor: (d) => (d as { color: [number, number, number, number] }).color || [255, 255, 255, 0.9*255]\n },\n ...options\n });\n }\n}\n\nfunction textLayer(id: string, data: SpatialSceneNode[], options: { [key: string]: unknown }): TextLayer | undefined {\n if (!data || data.length === 0) {\n return undefined;\n } else {\n return new TextLayer({\n ...{\n id,\n pickable: true,\n data: data.map(d => ({ ...d, position: new Matrix4(d.transformMatrix).getTranslation() })),\n getText: (d) => (d as { text: string }).text,\n getPosition: (d) => (d as { position: [number, number] }).position,\n getColor: (d) => (d as { color: [number, number, number, number] }).color\n },\n ...options\n });\n }\n}\n\nexport class BodyUILayer extends CompositeLayer {\n static readonly layerName = 'BodyUILayer';\n static readonly gltfCache: { [url: string]: Promise } = {};\n\n initializeState(): void {\n const { data } = this.props;\n this.setState({ data: data ?? [], zoomOpacity: 0.8, doCollisions: false });\n registerGLTFLoaders();\n }\n\n renderLayers(): unknown[] {\n const state = this.state as { data: SpatialSceneNode[]; zoomOpacity: number; doCollisions: boolean };\n const geometries: Record = {\n 'sphere': [], 'cone': [], 'cylinder': [], 'cube': [], 'text': [], 'wireframe': [], 'scenegraph': []\n };\n\n for (const node of state.data) {\n const geometry = node.geometry ?? 'cube';\n if (node.scenegraph) {\n geometries.scenegraph.push(node);\n } else if (geometries[geometry] !== undefined) {\n geometries[geometry].push(node);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const url2gltf: { [url: string]: Promise } = {};\n for (const m of geometries.scenegraph) {\n if (m.scenegraph && m.scenegraphNode && !Object.prototype.hasOwnProperty.call(url2gltf, m.scenegraph)) {\n url2gltf[m.scenegraph] = loadGLTF({ scenegraph: m.scenegraph } as SpatialSceneNode, BodyUILayer.gltfCache);\n }\n }\n\n const layers: unknown[] = [];\n for (const [geometry, nodes] of Object.entries(geometries)) {\n if (geometry === 'scenegraph') {\n for (const model of nodes) {\n layers.push(\n new ScenegraphLayer({\n id: 'models-' + model['@id'],\n opacity: model.zoomBasedOpacity ? state.zoomOpacity : (model.opacity !== undefined ? model.opacity : 1.0),\n pickable: !model.unpickable,\n coordinateSystem: COORDINATE_SYSTEM.CARTESIAN,\n data: [model],\n scenegraph: model.scenegraphNode ?\n loadGLTF2(model.scenegraphNode, url2gltf[model.scenegraph as string]) :\n model.scenegraph as unknown as URL,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: model._lighting, // 'pbr' | undefined\n getTransformMatrix: model.transformMatrix as unknown as number[][],\n getColor: model.color ?? [0, 255, 0, 0.5*255],\n parameters: { depthMask: !model.zoomBasedOpacity && (model.opacity === undefined || model.opacity === 1) }\n })\n );\n }\n } else if (geometry === 'text') {\n layers.push(textLayer('text', nodes.filter(n => n.unpickable), { pickable: false }));\n layers.push(textLayer('textPickable', nodes.filter(n => !n.unpickable), { pickable: true }));\n } else if (geometry === 'wireframe') {\n layers.push(meshLayer(geometry, nodes, { wireframe: true, pickable: false, geometry }));\n } else {\n layers.push(meshLayer(geometry, nodes.filter(n => n.unpickable), { wireframe: false, pickable: false, geometry }));\n layers.push(meshLayer(`${geometry}Pickable`, nodes.filter(n => !n.unpickable), { wireframe: false, pickable: true, geometry }));\n }\n }\n\n if (state.doCollisions) {\n doCollisions(state.data);\n }\n\n return layers.filter(l => !!l);\n }\n\n getPickingInfo(\n e: Parameters['getPickingInfo']>[0]\n ): ReturnType['getPickingInfo']> {\n return e.info;\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BodyUIProps.html":{"url":"interfaces/BodyUIProps.html","title":"interface - BodyUIProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BodyUIProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/body-ui.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n camera\n \n \n \n \n canvas\n \n \n \n Optional\n \n debugSceneNodeProcessing\n \n \n \n \n id\n \n \n \n \n interactive\n \n \n \n Optional\n \n legacyLighting\n \n \n \n \n maxRotationX\n \n \n \n \n minRotationX\n \n \n \n \n parent\n \n \n \n \n rotation\n \n \n \n \n target\n \n \n \n \n zoom\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n camera\n \n \n \n \n \n \n \n \n camera: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n canvas\n \n \n \n \n \n \n \n \n canvas: string | HTMLCanvasElement\n\n \n \n\n\n \n \n Type : string | HTMLCanvasElement\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n debugSceneNodeProcessing\n \n \n \n \n \n \n \n \n debugSceneNodeProcessing: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n interactive\n \n \n \n \n \n \n \n \n interactive: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n legacyLighting\n \n \n \n \n \n \n \n \n legacyLighting: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n maxRotationX\n \n \n \n \n \n \n \n \n maxRotationX: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n minRotationX\n \n \n \n \n \n \n \n \n minRotationX: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parent\n \n \n \n \n \n \n \n \n parent: HTMLElement\n\n \n \n\n\n \n \n Type : HTMLElement\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rotation\n \n \n \n \n \n \n \n \n rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: Matrix4 | number[]\n\n \n \n\n\n \n \n Type : Matrix4 | number[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n zoom\n \n \n \n \n \n \n \n \n zoom: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AmbientLight, Deck, LightingEffect, OrbitView, OrthographicView } from '@deck.gl/core';\nimport { ViewStateProps } from '@deck.gl/core/lib/deck';\nimport { Matrix4 } from '@math.gl/core';\nimport bind from 'bind-decorator';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { share } from 'rxjs/operators';\n\nimport { BodyUILayer } from './body-ui-layer';\nimport { SpatialSceneNode } from './shared/spatial-scene-node';\nimport { processSceneNodes } from './util/process-scene-nodes';\n\n\ninterface BodyUIViewStateProps extends ViewStateProps {\n orbitAxis?: string;\n target?: Matrix4 | number[];\n zoom: number;\n rotationOrbit: number;\n rotationX: number;\n camera: string;\n}\n\nexport interface BodyUIProps {\n id: string;\n canvas: string | HTMLCanvasElement;\n parent: HTMLElement;\n debugSceneNodeProcessing?: boolean;\n target: Matrix4 | number[];\n interactive: boolean;\n rotation: number;\n minRotationX: number;\n maxRotationX: number;\n zoom: number;\n legacyLighting?: boolean;\n camera: string;\n}\n\nexport interface PickInfo {\n layer: unknown;\n index: number;\n object: D;\n x: number;\n y: number;\n coordinate?: unknown;\n picked?: boolean;\n}\n\nexport type NodeDragEvent = { node: SpatialSceneNode; info: PickInfo; e: MouseEvent };\n\nexport type NodeClickEvent = { node: SpatialSceneNode; ctrlClick: boolean };\n\n/**\n * A convenience wrapper class for the CCF Body UI\n */\nexport class BodyUI {\n deck: Deck;\n private readonly bodyUILayer = new BodyUILayer({});\n\n private readonly nodeClickSubject = new Subject();\n private readonly nodeHoverStartSubject = new Subject();\n private readonly nodeHoverStopSubject = new Subject();\n private readonly sceneRotationSubject = new BehaviorSubject([0, 0]);\n private readonly nodeDragStartSubject = new Subject();\n private readonly nodeDragSubject = new Subject();\n private readonly nodeDragEndSubject = new Subject();\n\n readonly nodeClick$ = this.nodeClickSubject.pipe(share());\n readonly nodeHoverStart$ = this.nodeHoverStartSubject.pipe(share());\n readonly nodeHoverStop$ = this.nodeHoverStopSubject.pipe(share());\n readonly sceneRotation$ = this.sceneRotationSubject.pipe(share());\n readonly nodeDragStart$ = this.nodeDragStartSubject.pipe(share());\n readonly nodeDrag$ = this.nodeDragSubject.pipe(share());\n readonly nodeDragEnd$ = this.nodeDragEndSubject.pipe(share());\n\n private cursor?: string;\n private lastHovered?: SpatialSceneNode;\n\n constructor(private deckProps: Partial) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const props: any = {\n ...deckProps,\n views: [ deckProps.camera === 'orthographic' ? new OrthographicView({\n flipY: false,\n near: -1000\n }) : new OrbitView({ orbitAxis: 'Y' }) ],\n controller: deckProps.interactive !== undefined ? deckProps.interactive : true,\n layers: [ this.bodyUILayer ],\n onHover: this._onHover,\n onClick: this._onClick,\n onViewStateChange: this._onViewStateChange,\n onDragStart: this._onDragStart,\n onDrag: this._onDrag,\n onDragEnd: this._onDragEnd,\n getCursor: (e: { isDragging: boolean }) => this.cursor ?? (e.isDragging ? 'grabbing' : 'grab')\n };\n if (deckProps.legacyLighting) {\n // eslint-disable-next-line\n props.effects = [\n new LightingEffect({\n ambientLight: new AmbientLight({\n color: [255, 255, 255],\n intensity: 10.0\n })\n })\n ];\n }\n // eslint-disable-next-line\n this.deck = new Deck(props);\n this.deck.setProps({\n viewState: {\n orbitAxis: 'Y',\n minRotationX: deckProps.minRotationX ?? -15,\n maxRotationX: deckProps.maxRotationX ?? 15,\n target: deckProps.target ?? [0.5, 0.5, 0],\n rotationX: 0,\n rotationOrbit: deckProps.rotation ?? 0,\n zoom: deckProps.zoom ?? 9.5,\n camera: deckProps.camera\n } as BodyUIViewStateProps\n });\n if (deckProps.rotation) {\n this.sceneRotationSubject.next([deckProps.rotation, 0]);\n }\n }\n\n async initialize(): Promise {\n while (!this.bodyUILayer.state) {\n // eslint-disable-next-line no-await-in-loop\n await new Promise(r => {\n setTimeout(r, 200);\n });\n }\n }\n\n finalize(): void {\n this.deck.finalize();\n }\n\n setScene(data: SpatialSceneNode[]): void {\n if (data?.length > 0) {\n let zoomOpacity = (this.bodyUILayer.state as { zoomOpacity: number }).zoomOpacity;\n let didZoom = false;\n for (const node of data) {\n if (node.zoomToOnLoad) {\n this.zoomTo(node);\n didZoom = true;\n }\n }\n zoomOpacity = didZoom ? 0.05 : zoomOpacity;\n if (!this.deckProps.debugSceneNodeProcessing) {\n this.bodyUILayer.setState({ data, zoomOpacity });\n } else {\n this.debugSceneNodeProcessing(data, zoomOpacity);\n }\n }\n }\n\n debugSceneNodeProcessing(data: SpatialSceneNode[], zoomOpacity: number): void {\n // const gltfUrl = 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Male/United/VHM_United_Color.glb';\n const gltfUrl = 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb';\n // const gltfUrl = 'https://hubmapconsortium.github.io/hubmap-ontology/objects/VHF_United_v01_060420.glb';\n const gltfTransform = new Matrix4([0.076,0,0,0,0,0.076,1.6875389974302382e-17,0,0,-1.6875389974302382e-17,0.076,0,0.49,0.034,0.11,1]);\n processSceneNodes(gltfUrl, gltfTransform, 'VHF_Kidney_L_Low1').then((results) => {\n console.log('results', results);\n console.log('data', data);\n // data = Object.values(results);\n data = data.concat(Object.values(results));\n data.push({\n '@id': 'TEST',\n '@type': 'TEST',\n scenegraph: gltfUrl,\n scenegraphNode: 'VHF_Kidney_R_Low',\n transformMatrix: gltfTransform,\n color: [255, 255, 255, 200],\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false\n });\n this.bodyUILayer.setState({ data, zoomOpacity });\n });\n }\n\n zoomTo(node: SpatialSceneNode): void {\n const matrix = new Matrix4(node.transformMatrix);\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n target: matrix.getTranslation(),\n rotationX: 0,\n rotationOrbit: 0,\n zoom: 11.5,\n } as BodyUIViewStateProps\n });\n }\n\n setRotation(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n rotationOrbit: value\n } as BodyUIViewStateProps\n });\n }\n\n setRotationX(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n rotationX: value\n } as BodyUIViewStateProps\n });\n }\n\n setZoom(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n zoom: value\n } as BodyUIViewStateProps\n });\n }\n\n setTarget(value: number[]): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n target: value\n } as BodyUIViewStateProps\n });\n }\n\n setInteractive(value: boolean): void {\n this.deck.setProps({\n controller: value\n });\n }\n\n @bind\n private _onHover(e: { picked: boolean; object: SpatialSceneNode }): void {\n const { lastHovered } = this;\n this.cursor = e.picked ? 'pointer' : undefined;\n if (e.picked && e.object && e.object['@id']) {\n if (lastHovered !== e.object) {\n if (lastHovered) {\n this.nodeHoverStopSubject.next(lastHovered);\n }\n this.lastHovered = e.object;\n this.nodeHoverStartSubject.next(e.object);\n }\n } else if (lastHovered) {\n this.nodeHoverStopSubject.next(lastHovered);\n this.lastHovered = undefined;\n }\n }\n\n @bind\n private _onClick(info: PickInfo, e: { srcEvent: { ctrlKey: boolean } }): void {\n if (info.picked && info.object && info.object['@id']) {\n this.nodeClickSubject.next({ node: info.object, ctrlClick: e?.srcEvent?.ctrlKey ?? undefined });\n }\n }\n\n @bind\n private _onViewStateChange(event: { interactionState: { isZooming: boolean }; viewState: BodyUIViewStateProps }): void {\n if (event.interactionState?.isZooming) {\n const currentState = this.bodyUILayer.state as { zoomOpacity: number; data: unknown };\n const zoomOpacity = Math.min(Math.max(1 - (event.viewState.zoom - 8.9) / 2, 0.05), 1.0);\n if (currentState.zoomOpacity !== zoomOpacity) {\n this.bodyUILayer.setState({ data: currentState.data, zoomOpacity });\n }\n }\n this.deck.setProps({ viewState: { ...event.viewState } });\n this.sceneRotationSubject.next([event.viewState.rotationOrbit, event.viewState.rotationX]);\n }\n\n @bind\n private _onDragStart(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragStartSubject);\n }\n\n @bind\n private _onDrag(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragSubject);\n }\n\n @bind\n private _onDragEnd(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragEndSubject);\n }\n\n private _dragEvent(info: PickInfo, e: MouseEvent, subject: Subject): void {\n if (info?.object?.['@id']) {\n subject.next({ node: info.object, info, e });\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BodyUIViewStateProps.html":{"url":"interfaces/BodyUIViewStateProps.html","title":"interface - BodyUIViewStateProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BodyUIViewStateProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/body-ui.ts\n \n\n\n\n \n Extends\n \n \n ViewStateProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n camera\n \n \n \n Optional\n \n orbitAxis\n \n \n \n \n rotationOrbit\n \n \n \n \n rotationX\n \n \n \n Optional\n \n target\n \n \n \n \n zoom\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n camera\n \n \n \n \n \n \n \n \n camera: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n orbitAxis\n \n \n \n \n \n \n \n \n orbitAxis: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n rotationOrbit\n \n \n \n \n \n \n \n \n rotationOrbit: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rotationX\n \n \n \n \n \n \n \n \n rotationX: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: Matrix4 | number[]\n\n \n \n\n\n \n \n Type : Matrix4 | number[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n zoom\n \n \n \n \n \n \n \n \n zoom: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AmbientLight, Deck, LightingEffect, OrbitView, OrthographicView } from '@deck.gl/core';\nimport { ViewStateProps } from '@deck.gl/core/lib/deck';\nimport { Matrix4 } from '@math.gl/core';\nimport bind from 'bind-decorator';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { share } from 'rxjs/operators';\n\nimport { BodyUILayer } from './body-ui-layer';\nimport { SpatialSceneNode } from './shared/spatial-scene-node';\nimport { processSceneNodes } from './util/process-scene-nodes';\n\n\ninterface BodyUIViewStateProps extends ViewStateProps {\n orbitAxis?: string;\n target?: Matrix4 | number[];\n zoom: number;\n rotationOrbit: number;\n rotationX: number;\n camera: string;\n}\n\nexport interface BodyUIProps {\n id: string;\n canvas: string | HTMLCanvasElement;\n parent: HTMLElement;\n debugSceneNodeProcessing?: boolean;\n target: Matrix4 | number[];\n interactive: boolean;\n rotation: number;\n minRotationX: number;\n maxRotationX: number;\n zoom: number;\n legacyLighting?: boolean;\n camera: string;\n}\n\nexport interface PickInfo {\n layer: unknown;\n index: number;\n object: D;\n x: number;\n y: number;\n coordinate?: unknown;\n picked?: boolean;\n}\n\nexport type NodeDragEvent = { node: SpatialSceneNode; info: PickInfo; e: MouseEvent };\n\nexport type NodeClickEvent = { node: SpatialSceneNode; ctrlClick: boolean };\n\n/**\n * A convenience wrapper class for the CCF Body UI\n */\nexport class BodyUI {\n deck: Deck;\n private readonly bodyUILayer = new BodyUILayer({});\n\n private readonly nodeClickSubject = new Subject();\n private readonly nodeHoverStartSubject = new Subject();\n private readonly nodeHoverStopSubject = new Subject();\n private readonly sceneRotationSubject = new BehaviorSubject([0, 0]);\n private readonly nodeDragStartSubject = new Subject();\n private readonly nodeDragSubject = new Subject();\n private readonly nodeDragEndSubject = new Subject();\n\n readonly nodeClick$ = this.nodeClickSubject.pipe(share());\n readonly nodeHoverStart$ = this.nodeHoverStartSubject.pipe(share());\n readonly nodeHoverStop$ = this.nodeHoverStopSubject.pipe(share());\n readonly sceneRotation$ = this.sceneRotationSubject.pipe(share());\n readonly nodeDragStart$ = this.nodeDragStartSubject.pipe(share());\n readonly nodeDrag$ = this.nodeDragSubject.pipe(share());\n readonly nodeDragEnd$ = this.nodeDragEndSubject.pipe(share());\n\n private cursor?: string;\n private lastHovered?: SpatialSceneNode;\n\n constructor(private deckProps: Partial) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const props: any = {\n ...deckProps,\n views: [ deckProps.camera === 'orthographic' ? new OrthographicView({\n flipY: false,\n near: -1000\n }) : new OrbitView({ orbitAxis: 'Y' }) ],\n controller: deckProps.interactive !== undefined ? deckProps.interactive : true,\n layers: [ this.bodyUILayer ],\n onHover: this._onHover,\n onClick: this._onClick,\n onViewStateChange: this._onViewStateChange,\n onDragStart: this._onDragStart,\n onDrag: this._onDrag,\n onDragEnd: this._onDragEnd,\n getCursor: (e: { isDragging: boolean }) => this.cursor ?? (e.isDragging ? 'grabbing' : 'grab')\n };\n if (deckProps.legacyLighting) {\n // eslint-disable-next-line\n props.effects = [\n new LightingEffect({\n ambientLight: new AmbientLight({\n color: [255, 255, 255],\n intensity: 10.0\n })\n })\n ];\n }\n // eslint-disable-next-line\n this.deck = new Deck(props);\n this.deck.setProps({\n viewState: {\n orbitAxis: 'Y',\n minRotationX: deckProps.minRotationX ?? -15,\n maxRotationX: deckProps.maxRotationX ?? 15,\n target: deckProps.target ?? [0.5, 0.5, 0],\n rotationX: 0,\n rotationOrbit: deckProps.rotation ?? 0,\n zoom: deckProps.zoom ?? 9.5,\n camera: deckProps.camera\n } as BodyUIViewStateProps\n });\n if (deckProps.rotation) {\n this.sceneRotationSubject.next([deckProps.rotation, 0]);\n }\n }\n\n async initialize(): Promise {\n while (!this.bodyUILayer.state) {\n // eslint-disable-next-line no-await-in-loop\n await new Promise(r => {\n setTimeout(r, 200);\n });\n }\n }\n\n finalize(): void {\n this.deck.finalize();\n }\n\n setScene(data: SpatialSceneNode[]): void {\n if (data?.length > 0) {\n let zoomOpacity = (this.bodyUILayer.state as { zoomOpacity: number }).zoomOpacity;\n let didZoom = false;\n for (const node of data) {\n if (node.zoomToOnLoad) {\n this.zoomTo(node);\n didZoom = true;\n }\n }\n zoomOpacity = didZoom ? 0.05 : zoomOpacity;\n if (!this.deckProps.debugSceneNodeProcessing) {\n this.bodyUILayer.setState({ data, zoomOpacity });\n } else {\n this.debugSceneNodeProcessing(data, zoomOpacity);\n }\n }\n }\n\n debugSceneNodeProcessing(data: SpatialSceneNode[], zoomOpacity: number): void {\n // const gltfUrl = 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Male/United/VHM_United_Color.glb';\n const gltfUrl = 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb';\n // const gltfUrl = 'https://hubmapconsortium.github.io/hubmap-ontology/objects/VHF_United_v01_060420.glb';\n const gltfTransform = new Matrix4([0.076,0,0,0,0,0.076,1.6875389974302382e-17,0,0,-1.6875389974302382e-17,0.076,0,0.49,0.034,0.11,1]);\n processSceneNodes(gltfUrl, gltfTransform, 'VHF_Kidney_L_Low1').then((results) => {\n console.log('results', results);\n console.log('data', data);\n // data = Object.values(results);\n data = data.concat(Object.values(results));\n data.push({\n '@id': 'TEST',\n '@type': 'TEST',\n scenegraph: gltfUrl,\n scenegraphNode: 'VHF_Kidney_R_Low',\n transformMatrix: gltfTransform,\n color: [255, 255, 255, 200],\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false\n });\n this.bodyUILayer.setState({ data, zoomOpacity });\n });\n }\n\n zoomTo(node: SpatialSceneNode): void {\n const matrix = new Matrix4(node.transformMatrix);\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n target: matrix.getTranslation(),\n rotationX: 0,\n rotationOrbit: 0,\n zoom: 11.5,\n } as BodyUIViewStateProps\n });\n }\n\n setRotation(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n rotationOrbit: value\n } as BodyUIViewStateProps\n });\n }\n\n setRotationX(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n rotationX: value\n } as BodyUIViewStateProps\n });\n }\n\n setZoom(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n zoom: value\n } as BodyUIViewStateProps\n });\n }\n\n setTarget(value: number[]): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n target: value\n } as BodyUIViewStateProps\n });\n }\n\n setInteractive(value: boolean): void {\n this.deck.setProps({\n controller: value\n });\n }\n\n @bind\n private _onHover(e: { picked: boolean; object: SpatialSceneNode }): void {\n const { lastHovered } = this;\n this.cursor = e.picked ? 'pointer' : undefined;\n if (e.picked && e.object && e.object['@id']) {\n if (lastHovered !== e.object) {\n if (lastHovered) {\n this.nodeHoverStopSubject.next(lastHovered);\n }\n this.lastHovered = e.object;\n this.nodeHoverStartSubject.next(e.object);\n }\n } else if (lastHovered) {\n this.nodeHoverStopSubject.next(lastHovered);\n this.lastHovered = undefined;\n }\n }\n\n @bind\n private _onClick(info: PickInfo, e: { srcEvent: { ctrlKey: boolean } }): void {\n if (info.picked && info.object && info.object['@id']) {\n this.nodeClickSubject.next({ node: info.object, ctrlClick: e?.srcEvent?.ctrlKey ?? undefined });\n }\n }\n\n @bind\n private _onViewStateChange(event: { interactionState: { isZooming: boolean }; viewState: BodyUIViewStateProps }): void {\n if (event.interactionState?.isZooming) {\n const currentState = this.bodyUILayer.state as { zoomOpacity: number; data: unknown };\n const zoomOpacity = Math.min(Math.max(1 - (event.viewState.zoom - 8.9) / 2, 0.05), 1.0);\n if (currentState.zoomOpacity !== zoomOpacity) {\n this.bodyUILayer.setState({ data: currentState.data, zoomOpacity });\n }\n }\n this.deck.setProps({ viewState: { ...event.viewState } });\n this.sceneRotationSubject.next([event.viewState.rotationOrbit, event.viewState.rotationX]);\n }\n\n @bind\n private _onDragStart(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragStartSubject);\n }\n\n @bind\n private _onDrag(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragSubject);\n }\n\n @bind\n private _onDragEnd(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragEndSubject);\n }\n\n private _dragEvent(info: PickInfo, e: MouseEvent, subject: Subject): void {\n if (info?.object?.['@id']) {\n subject.next({ node: info.object, info, e });\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Collision.html":{"url":"interfaces/Collision.html","title":"interface - Collision","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Collision\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/util/spatial-scene-collider.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n hits\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hits\n \n \n \n \n \n \n \n \n hits: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { load } from '@loaders.gl/core';\nimport { DracoLoader } from '@loaders.gl/draco';\nimport { GLTFLoader } from '@loaders.gl/gltf';\nimport { Matrix4 } from '@math.gl/core';\nimport { AABB, Vec3 } from 'cannon-es';\n\nimport { SpatialSceneNode } from '../shared/spatial-scene-node';\nimport { traverseScene } from './scene-traversal';\n\n\ninterface Collision {\n '@id': string;\n name: string;\n hits: { '@id': string; name: string }[];\n}\n\n/* eslint-disable */\nexport async function doCollisions(scene: SpatialSceneNode[]): Promise {\n console.log('Starting Collisioning');\n const sourceBoxes = scene\n .filter(d => !d.scenegraph && d.geometry !== 'wireframe')\n .map(model => {\n const mat = new Matrix4(model.transformMatrix);\n const lowerBound = mat.transformAsPoint([-1, -1, -1], []);\n const upperBound = mat.transformAsPoint([1, 1, 1], []);\n return {\n '@id': model['@id'],\n name: model.tooltip,\n entityId: model.entityId,\n bbox: new AABB({\n lowerBound: new Vec3(...lowerBound.map((n, i) => Math.min(n, upperBound[i]))),\n upperBound: new Vec3(...upperBound.map((n, i) => Math.max(n, lowerBound[i])))\n })\n };\n });\n\n const targetBoxes: {'@id': string, name: string, entityId?: string; bbox: AABB, gltf: unknown}[] = [];\n for (const model of scene.filter(d => !!d.scenegraph)) {\n const gltf = await load(model.scenegraph as string, GLTFLoader, {DracoLoader, decompress: true, postProcess: true});\n for (const gltfScene of gltf.scenes) {\n traverseScene(gltfScene, new Matrix4(model.transformMatrix), (node, modelMatrix) => {\n if (node.mesh && node.mesh.primitives && node.mesh.primitives.length > 0) {\n for (const primitive of node.mesh.primitives) {\n if (primitive.attributes.POSITION && primitive.attributes.POSITION.min) {\n const lowerBound = modelMatrix.transformAsPoint(primitive.attributes.POSITION.min, []);\n const upperBound = modelMatrix.transformAsPoint(primitive.attributes.POSITION.max, []);\n targetBoxes.push({\n '@id': model['@id'],\n name: node.name,\n entityId: model.entityId,\n bbox: new AABB({\n lowerBound: new Vec3(...lowerBound.map((n, i) => Math.min(n, upperBound[i]))),\n upperBound: new Vec3(...upperBound.map((n, i) => Math.max(n, lowerBound[i])))\n }),\n gltf\n });\n }\n }\n }\n return true;\n });\n }\n }\n\n const report: Collision[] = [];\n const sad: unknown[] = [];\n for (const src of sourceBoxes) {\n const hits: {'@id': string, name: string}[] = [];\n for (const target of targetBoxes) {\n if (src.bbox.overlaps(target.bbox)) {\n hits.push({'@id': target['@id'], name: target.name});\n }\n }\n if (hits.length > 0) {\n report.push({\n '@id': src.entityId as string,\n name: src.name as string,\n hits\n });\n } else {\n sad.push(src);\n }\n }\n\n console.log({ sourceBoxes, targetBoxes, report, sad, maxHits: Math.max(...report.map(r => r.hits.length)) });\n\n const csvReport: unknown[] = [];\n for (const hit of report) {\n csvReport.push({\n 'Tissue ID': hit['@id'],\n 'Tissue Name': hit.name,\n 'Hit ID': '',\n 'Hit Name': ''\n });\n for (const h of hit.hits) {\n csvReport.push({\n 'Tissue ID': hit['@id'],\n 'Tissue Name': hit.name,\n 'Hit ID': h['@id'],\n 'Hit Name': h.name\n });\n }\n }\n console.log(csvReport);\n\n return report;\n}\n/* eslint-enable */\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PickInfo.html":{"url":"interfaces/PickInfo.html","title":"interface - PickInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PickInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/body-ui.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n coordinate\n \n \n \n \n index\n \n \n \n \n layer\n \n \n \n \n object\n \n \n \n Optional\n \n picked\n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n coordinate\n \n \n \n \n \n \n \n \n coordinate: \n\n \n \n\n\n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n index\n \n \n \n \n \n \n \n \n index: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n layer\n \n \n \n \n \n \n \n \n layer: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n object\n \n \n \n \n \n \n \n \n object: D\n\n \n \n\n\n \n \n Type : D\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n picked\n \n \n \n \n \n \n \n \n picked: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AmbientLight, Deck, LightingEffect, OrbitView, OrthographicView } from '@deck.gl/core';\nimport { ViewStateProps } from '@deck.gl/core/lib/deck';\nimport { Matrix4 } from '@math.gl/core';\nimport bind from 'bind-decorator';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { share } from 'rxjs/operators';\n\nimport { BodyUILayer } from './body-ui-layer';\nimport { SpatialSceneNode } from './shared/spatial-scene-node';\nimport { processSceneNodes } from './util/process-scene-nodes';\n\n\ninterface BodyUIViewStateProps extends ViewStateProps {\n orbitAxis?: string;\n target?: Matrix4 | number[];\n zoom: number;\n rotationOrbit: number;\n rotationX: number;\n camera: string;\n}\n\nexport interface BodyUIProps {\n id: string;\n canvas: string | HTMLCanvasElement;\n parent: HTMLElement;\n debugSceneNodeProcessing?: boolean;\n target: Matrix4 | number[];\n interactive: boolean;\n rotation: number;\n minRotationX: number;\n maxRotationX: number;\n zoom: number;\n legacyLighting?: boolean;\n camera: string;\n}\n\nexport interface PickInfo {\n layer: unknown;\n index: number;\n object: D;\n x: number;\n y: number;\n coordinate?: unknown;\n picked?: boolean;\n}\n\nexport type NodeDragEvent = { node: SpatialSceneNode; info: PickInfo; e: MouseEvent };\n\nexport type NodeClickEvent = { node: SpatialSceneNode; ctrlClick: boolean };\n\n/**\n * A convenience wrapper class for the CCF Body UI\n */\nexport class BodyUI {\n deck: Deck;\n private readonly bodyUILayer = new BodyUILayer({});\n\n private readonly nodeClickSubject = new Subject();\n private readonly nodeHoverStartSubject = new Subject();\n private readonly nodeHoverStopSubject = new Subject();\n private readonly sceneRotationSubject = new BehaviorSubject([0, 0]);\n private readonly nodeDragStartSubject = new Subject();\n private readonly nodeDragSubject = new Subject();\n private readonly nodeDragEndSubject = new Subject();\n\n readonly nodeClick$ = this.nodeClickSubject.pipe(share());\n readonly nodeHoverStart$ = this.nodeHoverStartSubject.pipe(share());\n readonly nodeHoverStop$ = this.nodeHoverStopSubject.pipe(share());\n readonly sceneRotation$ = this.sceneRotationSubject.pipe(share());\n readonly nodeDragStart$ = this.nodeDragStartSubject.pipe(share());\n readonly nodeDrag$ = this.nodeDragSubject.pipe(share());\n readonly nodeDragEnd$ = this.nodeDragEndSubject.pipe(share());\n\n private cursor?: string;\n private lastHovered?: SpatialSceneNode;\n\n constructor(private deckProps: Partial) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const props: any = {\n ...deckProps,\n views: [ deckProps.camera === 'orthographic' ? new OrthographicView({\n flipY: false,\n near: -1000\n }) : new OrbitView({ orbitAxis: 'Y' }) ],\n controller: deckProps.interactive !== undefined ? deckProps.interactive : true,\n layers: [ this.bodyUILayer ],\n onHover: this._onHover,\n onClick: this._onClick,\n onViewStateChange: this._onViewStateChange,\n onDragStart: this._onDragStart,\n onDrag: this._onDrag,\n onDragEnd: this._onDragEnd,\n getCursor: (e: { isDragging: boolean }) => this.cursor ?? (e.isDragging ? 'grabbing' : 'grab')\n };\n if (deckProps.legacyLighting) {\n // eslint-disable-next-line\n props.effects = [\n new LightingEffect({\n ambientLight: new AmbientLight({\n color: [255, 255, 255],\n intensity: 10.0\n })\n })\n ];\n }\n // eslint-disable-next-line\n this.deck = new Deck(props);\n this.deck.setProps({\n viewState: {\n orbitAxis: 'Y',\n minRotationX: deckProps.minRotationX ?? -15,\n maxRotationX: deckProps.maxRotationX ?? 15,\n target: deckProps.target ?? [0.5, 0.5, 0],\n rotationX: 0,\n rotationOrbit: deckProps.rotation ?? 0,\n zoom: deckProps.zoom ?? 9.5,\n camera: deckProps.camera\n } as BodyUIViewStateProps\n });\n if (deckProps.rotation) {\n this.sceneRotationSubject.next([deckProps.rotation, 0]);\n }\n }\n\n async initialize(): Promise {\n while (!this.bodyUILayer.state) {\n // eslint-disable-next-line no-await-in-loop\n await new Promise(r => {\n setTimeout(r, 200);\n });\n }\n }\n\n finalize(): void {\n this.deck.finalize();\n }\n\n setScene(data: SpatialSceneNode[]): void {\n if (data?.length > 0) {\n let zoomOpacity = (this.bodyUILayer.state as { zoomOpacity: number }).zoomOpacity;\n let didZoom = false;\n for (const node of data) {\n if (node.zoomToOnLoad) {\n this.zoomTo(node);\n didZoom = true;\n }\n }\n zoomOpacity = didZoom ? 0.05 : zoomOpacity;\n if (!this.deckProps.debugSceneNodeProcessing) {\n this.bodyUILayer.setState({ data, zoomOpacity });\n } else {\n this.debugSceneNodeProcessing(data, zoomOpacity);\n }\n }\n }\n\n debugSceneNodeProcessing(data: SpatialSceneNode[], zoomOpacity: number): void {\n // const gltfUrl = 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Male/United/VHM_United_Color.glb';\n const gltfUrl = 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb';\n // const gltfUrl = 'https://hubmapconsortium.github.io/hubmap-ontology/objects/VHF_United_v01_060420.glb';\n const gltfTransform = new Matrix4([0.076,0,0,0,0,0.076,1.6875389974302382e-17,0,0,-1.6875389974302382e-17,0.076,0,0.49,0.034,0.11,1]);\n processSceneNodes(gltfUrl, gltfTransform, 'VHF_Kidney_L_Low1').then((results) => {\n console.log('results', results);\n console.log('data', data);\n // data = Object.values(results);\n data = data.concat(Object.values(results));\n data.push({\n '@id': 'TEST',\n '@type': 'TEST',\n scenegraph: gltfUrl,\n scenegraphNode: 'VHF_Kidney_R_Low',\n transformMatrix: gltfTransform,\n color: [255, 255, 255, 200],\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false\n });\n this.bodyUILayer.setState({ data, zoomOpacity });\n });\n }\n\n zoomTo(node: SpatialSceneNode): void {\n const matrix = new Matrix4(node.transformMatrix);\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n target: matrix.getTranslation(),\n rotationX: 0,\n rotationOrbit: 0,\n zoom: 11.5,\n } as BodyUIViewStateProps\n });\n }\n\n setRotation(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n rotationOrbit: value\n } as BodyUIViewStateProps\n });\n }\n\n setRotationX(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n rotationX: value\n } as BodyUIViewStateProps\n });\n }\n\n setZoom(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n zoom: value\n } as BodyUIViewStateProps\n });\n }\n\n setTarget(value: number[]): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n target: value\n } as BodyUIViewStateProps\n });\n }\n\n setInteractive(value: boolean): void {\n this.deck.setProps({\n controller: value\n });\n }\n\n @bind\n private _onHover(e: { picked: boolean; object: SpatialSceneNode }): void {\n const { lastHovered } = this;\n this.cursor = e.picked ? 'pointer' : undefined;\n if (e.picked && e.object && e.object['@id']) {\n if (lastHovered !== e.object) {\n if (lastHovered) {\n this.nodeHoverStopSubject.next(lastHovered);\n }\n this.lastHovered = e.object;\n this.nodeHoverStartSubject.next(e.object);\n }\n } else if (lastHovered) {\n this.nodeHoverStopSubject.next(lastHovered);\n this.lastHovered = undefined;\n }\n }\n\n @bind\n private _onClick(info: PickInfo, e: { srcEvent: { ctrlKey: boolean } }): void {\n if (info.picked && info.object && info.object['@id']) {\n this.nodeClickSubject.next({ node: info.object, ctrlClick: e?.srcEvent?.ctrlKey ?? undefined });\n }\n }\n\n @bind\n private _onViewStateChange(event: { interactionState: { isZooming: boolean }; viewState: BodyUIViewStateProps }): void {\n if (event.interactionState?.isZooming) {\n const currentState = this.bodyUILayer.state as { zoomOpacity: number; data: unknown };\n const zoomOpacity = Math.min(Math.max(1 - (event.viewState.zoom - 8.9) / 2, 0.05), 1.0);\n if (currentState.zoomOpacity !== zoomOpacity) {\n this.bodyUILayer.setState({ data: currentState.data, zoomOpacity });\n }\n }\n this.deck.setProps({ viewState: { ...event.viewState } });\n this.sceneRotationSubject.next([event.viewState.rotationOrbit, event.viewState.rotationX]);\n }\n\n @bind\n private _onDragStart(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragStartSubject);\n }\n\n @bind\n private _onDrag(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragSubject);\n }\n\n @bind\n private _onDragEnd(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragEndSubject);\n }\n\n private _dragEvent(info: PickInfo, e: MouseEvent, subject: Subject): void {\n if (info?.object?.['@id']) {\n subject.next({ node: info.object, info, e });\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProcessedNode.html":{"url":"interfaces/ProcessedNode.html","title":"interface - ProcessedNode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProcessedNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/util/process-scene-nodes.ts\n \n\n\n\n \n Extends\n \n \n SpatialSceneNode\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n bbox\n \n \n \n \n center\n \n \n \n \n jsonld\n \n \n \n \n node\n \n \n \n \n size\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bbox\n \n \n \n \n \n \n \n \n bbox: AABB\n\n \n \n\n\n \n \n Type : AABB\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n center\n \n \n \n \n \n \n \n \n center: Vec3\n\n \n \n\n\n \n \n Type : Vec3\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n jsonld\n \n \n \n \n \n \n \n \n jsonld: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n node\n \n \n \n \n \n \n \n \n node: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: Vec3\n\n \n \n\n\n \n \n Type : Vec3\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Matrix4 } from '@math.gl/core';\nimport { AABB, Vec3 } from 'cannon-es';\n\nimport { loadGLTF, registerGLTFLoaders } from './load-gltf';\nimport { traverseScene } from './scene-traversal';\nimport { SpatialSceneNode } from '../shared/spatial-scene-node';\n\n\nexport interface ProcessedNode extends SpatialSceneNode {\n bbox: AABB;\n jsonld: unknown;\n node: unknown;\n size: Vec3;\n center: Vec3;\n}\n\n/* eslint-disable */\nfunction childNames(scene, names: string[] = []): string[] {\n for (const child of (scene.nodes || scene.children || [])) {\n names.push(child.name);\n childNames(child, names);\n }\n return names;\n}\n\nexport async function processSceneNodes(gltfUrl: string, worldMatrix?: Matrix4, scenegraphNode?: string, \n gltfCache?: { [url: string]: Promise }): Promise {\n registerGLTFLoaders();\n const gltf = await loadGLTF({scenegraph: gltfUrl, scenegraphNode} as SpatialSceneNode, gltfCache);\n const nodes: {[node: string]: ProcessedNode} = {};\n const gltfNodes: ProcessedNode[] = [];\n for (const scene of gltf.scenes) {\n worldMatrix = new Matrix4(worldMatrix || Matrix4.IDENTITY);\n traverseScene(scene, worldMatrix, (node, modelMatrix: Matrix4) => {\n const processedNode: ProcessedNode = {\n '@id': (node.name || node.id) as string,\n '@type': 'ProcessedNode',\n transformMatrix: new Matrix4(modelMatrix),\n geometry: 'wireframe',\n node\n } as ProcessedNode;\n gltfNodes.push({\n '@id': `GLTF:${processedNode['@id']}`,\n '@type': 'GLTFNode',\n scenegraph: gltfUrl,\n scenegraphNode: processedNode['@id'],\n transformMatrix: new Matrix4(worldMatrix || Matrix4.IDENTITY),\n tooltip: (node.name || node.id) as string,\n color: [255, 255, 255, 255],\n _lighting: 'pbr',\n zoomBasedOpacity: true,\n node\n } as ProcessedNode);\n if (node.mesh && node.mesh.primitives && node.mesh.primitives.length > 0) {\n for (const primitive of node.mesh.primitives) {\n if (primitive.attributes.POSITION && primitive.attributes.POSITION.min) {\n const lowerBound = modelMatrix.transformAsPoint(primitive.attributes.POSITION.min, []);\n const upperBound = modelMatrix.transformAsPoint(primitive.attributes.POSITION.max, []);\n processedNode.bbox = new AABB({\n lowerBound: new Vec3(...lowerBound.map((n, i) => Math.min(n, upperBound[i]))),\n upperBound: new Vec3(...upperBound.map((n, i) => Math.max(n, lowerBound[i])))\n });\n }\n }\n }\n nodes[processedNode['@id']] = processedNode;\n return true;\n });\n }\n\n for (const node of Object.values(nodes).filter(n => !n.bbox)) {\n for (const child of childNames(node.node).map(n => nodes[n]).filter(n => n.bbox)) {\n if (!node.bbox) {\n node.bbox = child.bbox.clone();\n } else {\n node.bbox.extend(child.bbox);\n }\n }\n if (!node.bbox) {\n delete nodes[node['@id']];\n }\n }\n for (const node of Object.values(nodes)) {\n const lb = node.bbox.lowerBound;\n const ub = node.bbox.upperBound;\n const size = node.size = ub.clone().vsub(lb);\n const halfSize = size.clone().vmul(new Vec3(0.5, 0.5, 0.5));\n const center = node.center = lb.clone().vadd(halfSize);\n\n node.transformMatrix = new Matrix4(Matrix4.IDENTITY)\n .translate(center.toArray())\n .scale(halfSize.toArray());\n }\n for (const node of gltfNodes) {\n nodes[node['@id']] = node;\n }\n return nodes;\n}\n/* eslint-enable */\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialEntityJsonLd.html":{"url":"interfaces/SpatialEntityJsonLd.html","title":"interface - SpatialEntityJsonLd","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialEntityJsonLd\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/shared/ccf-spatial-jsonld.ts\n \n\n\n\n \n Extends\n \n \n JsonLdObj\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @context\n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n ccf_annotations\n \n \n \n \n comment\n \n \n \n \n creation_date\n \n \n \n \n creator\n \n \n \n \n creator_first_name\n \n \n \n \n creator_last_name\n \n \n \n \n dimension_units\n \n \n \n \n extraction_set\n \n \n \n \n label\n \n \n \n \n object\n \n \n \n \n placement\n \n \n \n \n reference_organ\n \n \n \n \n representation_of\n \n \n \n \n rui_rank\n \n \n \n \n sex\n \n \n \n \n side\n \n \n \n \n slice_count\n \n \n \n \n slice_thickness\n \n \n \n \n updated_date\n \n \n \n \n x_dimension\n \n \n \n \n y_dimension\n \n \n \n \n z_dimension\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @context\n \n \n \n \n \n \n \n \n @context: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: string | string[]\n\n \n \n\n\n \n \n Type : string | string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ccf_annotations\n \n \n \n \n \n \n \n \n ccf_annotations: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n comment\n \n \n \n \n \n \n \n \n comment: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n creation_date\n \n \n \n \n \n \n \n \n creation_date: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n \n \n creator: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n creator_first_name\n \n \n \n \n \n \n \n \n creator_first_name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n creator_last_name\n \n \n \n \n \n \n \n \n creator_last_name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n dimension_units\n \n \n \n \n \n \n \n \n dimension_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n extraction_set\n \n \n \n \n \n \n \n \n extraction_set: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n object\n \n \n \n \n \n \n \n \n object: SpatialObjectReferenceJsonLd\n\n \n \n\n\n \n \n Type : SpatialObjectReferenceJsonLd\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n placement\n \n \n \n \n \n \n \n \n placement: SpatialPlacementJsonLd | SpatialPlacementJsonLd[]\n\n \n \n\n\n \n \n Type : SpatialPlacementJsonLd | SpatialPlacementJsonLd[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n reference_organ\n \n \n \n \n \n \n \n \n reference_organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n representation_of\n \n \n \n \n \n \n \n \n representation_of: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rui_rank\n \n \n \n \n \n \n \n \n rui_rank: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"Male\" | \"Female\" | undefined\n\n \n \n\n\n \n \n Type : \"Male\" | \"Female\" | undefined\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: \"Left\" | \"Right\" | undefined\n\n \n \n\n\n \n \n Type : \"Left\" | \"Right\" | undefined\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n slice_count\n \n \n \n \n \n \n \n \n slice_count: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n slice_thickness\n \n \n \n \n \n \n \n \n slice_thickness: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updated_date\n \n \n \n \n \n \n \n \n updated_date: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n x_dimension\n \n \n \n \n \n \n \n \n x_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n y_dimension\n \n \n \n \n \n \n \n \n y_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n z_dimension\n \n \n \n \n \n \n \n \n z_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { JsonLdObj } from 'jsonld/jsonld-spec';\n\n\nexport interface SpatialPlacementJsonLd extends JsonLdObj {\n '@context'?: string;\n '@id': string;\n '@type': string;\n source?: string;\n target: string;\n placement_date: string;\n x_scaling: number;\n y_scaling: number;\n z_scaling: number;\n scaling_units: string;\n x_rotation: number;\n y_rotation: number;\n z_rotation: number;\n rotation_units: string;\n x_translation: number;\n y_translation: number;\n z_translation: number;\n translation_units: string;\n}\n\nexport interface SpatialObjectReferenceJsonLd extends JsonLdObj {\n '@id': string;\n '@type': string;\n file: string;\n file_format: string;\n placement: SpatialPlacementJsonLd;\n}\n\nexport interface SpatialEntityJsonLd extends JsonLdObj {\n '@context': string;\n '@id': string;\n '@type': string | string[];\n label: string;\n comment: string;\n creator: string;\n creator_first_name: string;\n creator_last_name: string;\n creation_date: string;\n updated_date: string;\n ccf_annotations: string[];\n representation_of: string;\n reference_organ: string;\n extraction_set: string;\n sex: 'Male' | 'Female' | undefined;\n side: 'Left' | 'Right' | undefined;\n rui_rank: number;\n slice_thickness: number;\n slice_count: number;\n x_dimension: number;\n y_dimension: number;\n z_dimension: number;\n dimension_units: string;\n object: SpatialObjectReferenceJsonLd;\n placement: SpatialPlacementJsonLd | SpatialPlacementJsonLd[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialObjectReferenceJsonLd.html":{"url":"interfaces/SpatialObjectReferenceJsonLd.html","title":"interface - SpatialObjectReferenceJsonLd","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialObjectReferenceJsonLd\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/shared/ccf-spatial-jsonld.ts\n \n\n\n\n \n Extends\n \n \n JsonLdObj\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n file\n \n \n \n \n file_format\n \n \n \n \n placement\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n file\n \n \n \n \n \n \n \n \n file: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n file_format\n \n \n \n \n \n \n \n \n file_format: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n placement\n \n \n \n \n \n \n \n \n placement: SpatialPlacementJsonLd\n\n \n \n\n\n \n \n Type : SpatialPlacementJsonLd\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { JsonLdObj } from 'jsonld/jsonld-spec';\n\n\nexport interface SpatialPlacementJsonLd extends JsonLdObj {\n '@context'?: string;\n '@id': string;\n '@type': string;\n source?: string;\n target: string;\n placement_date: string;\n x_scaling: number;\n y_scaling: number;\n z_scaling: number;\n scaling_units: string;\n x_rotation: number;\n y_rotation: number;\n z_rotation: number;\n rotation_units: string;\n x_translation: number;\n y_translation: number;\n z_translation: number;\n translation_units: string;\n}\n\nexport interface SpatialObjectReferenceJsonLd extends JsonLdObj {\n '@id': string;\n '@type': string;\n file: string;\n file_format: string;\n placement: SpatialPlacementJsonLd;\n}\n\nexport interface SpatialEntityJsonLd extends JsonLdObj {\n '@context': string;\n '@id': string;\n '@type': string | string[];\n label: string;\n comment: string;\n creator: string;\n creator_first_name: string;\n creator_last_name: string;\n creation_date: string;\n updated_date: string;\n ccf_annotations: string[];\n representation_of: string;\n reference_organ: string;\n extraction_set: string;\n sex: 'Male' | 'Female' | undefined;\n side: 'Left' | 'Right' | undefined;\n rui_rank: number;\n slice_thickness: number;\n slice_count: number;\n x_dimension: number;\n y_dimension: number;\n z_dimension: number;\n dimension_units: string;\n object: SpatialObjectReferenceJsonLd;\n placement: SpatialPlacementJsonLd | SpatialPlacementJsonLd[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialPlacementJsonLd.html":{"url":"interfaces/SpatialPlacementJsonLd.html","title":"interface - SpatialPlacementJsonLd","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialPlacementJsonLd\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/shared/ccf-spatial-jsonld.ts\n \n\n\n\n \n Extends\n \n \n JsonLdObj\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n @context\n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n placement_date\n \n \n \n \n rotation_units\n \n \n \n \n scaling_units\n \n \n \n Optional\n \n source\n \n \n \n \n target\n \n \n \n \n translation_units\n \n \n \n \n x_rotation\n \n \n \n \n x_scaling\n \n \n \n \n x_translation\n \n \n \n \n y_rotation\n \n \n \n \n y_scaling\n \n \n \n \n y_translation\n \n \n \n \n z_rotation\n \n \n \n \n z_scaling\n \n \n \n \n z_translation\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @context\n \n \n \n \n \n \n \n \n @context: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n placement_date\n \n \n \n \n \n \n \n \n placement_date: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rotation_units\n \n \n \n \n \n \n \n \n rotation_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n scaling_units\n \n \n \n \n \n \n \n \n scaling_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n translation_units\n \n \n \n \n \n \n \n \n translation_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n x_rotation\n \n \n \n \n \n \n \n \n x_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n x_scaling\n \n \n \n \n \n \n \n \n x_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n x_translation\n \n \n \n \n \n \n \n \n x_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n y_rotation\n \n \n \n \n \n \n \n \n y_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n y_scaling\n \n \n \n \n \n \n \n \n y_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n y_translation\n \n \n \n \n \n \n \n \n y_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n z_rotation\n \n \n \n \n \n \n \n \n z_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n z_scaling\n \n \n \n \n \n \n \n \n z_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n z_translation\n \n \n \n \n \n \n \n \n z_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { JsonLdObj } from 'jsonld/jsonld-spec';\n\n\nexport interface SpatialPlacementJsonLd extends JsonLdObj {\n '@context'?: string;\n '@id': string;\n '@type': string;\n source?: string;\n target: string;\n placement_date: string;\n x_scaling: number;\n y_scaling: number;\n z_scaling: number;\n scaling_units: string;\n x_rotation: number;\n y_rotation: number;\n z_rotation: number;\n rotation_units: string;\n x_translation: number;\n y_translation: number;\n z_translation: number;\n translation_units: string;\n}\n\nexport interface SpatialObjectReferenceJsonLd extends JsonLdObj {\n '@id': string;\n '@type': string;\n file: string;\n file_format: string;\n placement: SpatialPlacementJsonLd;\n}\n\nexport interface SpatialEntityJsonLd extends JsonLdObj {\n '@context': string;\n '@id': string;\n '@type': string | string[];\n label: string;\n comment: string;\n creator: string;\n creator_first_name: string;\n creator_last_name: string;\n creation_date: string;\n updated_date: string;\n ccf_annotations: string[];\n representation_of: string;\n reference_organ: string;\n extraction_set: string;\n sex: 'Male' | 'Female' | undefined;\n side: 'Left' | 'Right' | undefined;\n rui_rank: number;\n slice_thickness: number;\n slice_count: number;\n x_dimension: number;\n y_dimension: number;\n z_dimension: number;\n dimension_units: string;\n object: SpatialObjectReferenceJsonLd;\n placement: SpatialPlacementJsonLd | SpatialPlacementJsonLd[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialSceneNode.html":{"url":"interfaces/SpatialSceneNode.html","title":"interface - SpatialSceneNode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialSceneNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/shared/spatial-scene-node.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n _lighting\n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n Optional\n \n color\n \n \n \n Optional\n \n entityId\n \n \n \n Optional\n \n geometry\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n opacity\n \n \n \n Optional\n \n priority\n \n \n \n Optional\n \n reference_organ\n \n \n \n Optional\n \n representation_of\n \n \n \n Optional\n \n scenegraph\n \n \n \n Optional\n \n scenegraphNode\n \n \n \n Optional\n \n text\n \n \n \n Optional\n \n tooltip\n \n \n \n \n transformMatrix\n \n \n \n Optional\n \n unpickable\n \n \n \n Optional\n \n zoomBasedOpacity\n \n \n \n Optional\n \n zoomToOnLoad\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _lighting\n \n \n \n \n \n \n \n \n _lighting: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: [number, number, number, number]\n\n \n \n\n\n \n \n Type : [number, number, number, number]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n entityId\n \n \n \n \n \n \n \n \n entityId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n geometry\n \n \n \n \n \n \n \n \n geometry: SpatialSceneGeometry\n\n \n \n\n\n \n \n Type : SpatialSceneGeometry\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n opacity\n \n \n \n \n \n \n \n \n opacity: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n priority\n \n \n \n \n \n \n \n \n priority: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n reference_organ\n \n \n \n \n \n \n \n \n reference_organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n representation_of\n \n \n \n \n \n \n \n \n representation_of: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n scenegraph\n \n \n \n \n \n \n \n \n scenegraph: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n scenegraphNode\n \n \n \n \n \n \n \n \n scenegraphNode: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n tooltip\n \n \n \n \n \n \n \n \n tooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n transformMatrix\n \n \n \n \n \n \n \n \n transformMatrix: Matrix4\n\n \n \n\n\n \n \n Type : Matrix4\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n unpickable\n \n \n \n \n \n \n \n \n unpickable: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n zoomBasedOpacity\n \n \n \n \n \n \n \n \n zoomBasedOpacity: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n zoomToOnLoad\n \n \n \n \n \n \n \n \n zoomToOnLoad: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Matrix4 } from '@math.gl/core';\n\nexport type SpatialSceneGeometry = 'sphere' | 'cube' | 'wireframe' | 'text' | 'cone' | 'cylinder';\n\nexport interface SpatialSceneNode {\n '@id': string;\n '@type': string;\n entityId?: string;\n representation_of?: string;\n reference_organ?: string;\n unpickable?: boolean;\n geometry?: SpatialSceneGeometry;\n text?: string;\n _lighting?: string;\n scenegraph?: string;\n scenegraphNode?: string;\n zoomBasedOpacity?: boolean;\n zoomToOnLoad?: boolean;\n color?: [number, number, number, number];\n opacity?: number;\n transformMatrix: Matrix4;\n name?: string;\n tooltip?: string;\n priority?: number;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-body-ui/src/global-fixes.ts\n \n function\n castToGlobalType\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/body-ui-layer.ts\n \n class\n BodyUILayer\n \n 0 %\n (0/6)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/body-ui-layer.ts\n \n function\n meshLayer\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/body-ui-layer.ts\n \n function\n textLayer\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/body-ui.ts\n \n class\n BodyUI\n \n 2 %\n (1/37)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/body-ui.ts\n \n interface\n BodyUIProps\n \n 0 %\n (0/13)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/body-ui.ts\n \n interface\n BodyUIViewStateProps\n \n 0 %\n (0/7)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/body-ui.ts\n \n interface\n PickInfo\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/shared/ccf-spatial-jsonld.ts\n \n interface\n SpatialEntityJsonLd\n \n 0 %\n (0/26)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/shared/ccf-spatial-jsonld.ts\n \n interface\n SpatialObjectReferenceJsonLd\n \n 0 %\n (0/6)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/shared/ccf-spatial-jsonld.ts\n \n interface\n SpatialPlacementJsonLd\n \n 0 %\n (0/19)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/shared/spatial-scene-node.ts\n \n interface\n SpatialSceneNode\n \n 0 %\n (0/20)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/load-gltf.ts\n \n function\n deriveScenegraph\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/load-gltf.ts\n \n function\n loadGLTF\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/load-gltf.ts\n \n function\n loadGLTF2\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/load-gltf.ts\n \n function\n registerGLTFLoaders\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/parse-csv.ts\n \n function\n parseCSV\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/parse-csv.ts\n \n function\n parseCSVText\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-anatomical-structures.ts\n \n function\n processAnatomicalStructures\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-extraction-sites.ts\n \n function\n processExtractionSites\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-reference-data.ts\n \n function\n processReferenceData\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-reference-data.ts\n \n variable\n referenceDataConfig\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-scene-nodes.ts\n \n interface\n ProcessedNode\n \n 0 %\n (0/6)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-scene-nodes.ts\n \n function\n childNames\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-scene-nodes.ts\n \n function\n processSceneNodes\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-spatial-entities.ts\n \n function\n processSpatialEntities\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/scene-traversal.ts\n \n function\n traverseScene\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/simplify-scene.ts\n \n function\n simplifyScene\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/spatial-scene-collider.ts\n \n interface\n Collision\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/spatial-scene-collider.ts\n \n function\n doCollisions\n \n 0 %\n (0/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n castToGlobalType   (projects/.../global-fixes.ts)\n \n \n childNames   (projects/.../process-scene-nodes.ts)\n \n \n deriveScenegraph   (projects/.../load-gltf.ts)\n \n \n doCollisions   (projects/.../spatial-scene-collider.ts)\n \n \n loadGLTF   (projects/.../load-gltf.ts)\n \n \n loadGLTF2   (projects/.../load-gltf.ts)\n \n \n meshLayer   (projects/.../body-ui-layer.ts)\n \n \n parseCSV   (projects/.../parse-csv.ts)\n \n \n parseCSVText   (projects/.../parse-csv.ts)\n \n \n processAnatomicalStructures   (projects/.../process-anatomical-structures.ts)\n \n \n processExtractionSites   (projects/.../process-extraction-sites.ts)\n \n \n processReferenceData   (projects/.../process-reference-data.ts)\n \n \n processSceneNodes   (projects/.../process-scene-nodes.ts)\n \n \n processSpatialEntities   (projects/.../process-spatial-entities.ts)\n \n \n registerGLTFLoaders   (projects/.../load-gltf.ts)\n \n \n simplifyScene   (projects/.../simplify-scene.ts)\n \n \n textLayer   (projects/.../body-ui-layer.ts)\n \n \n traverseScene   (projects/.../scene-traversal.ts)\n \n \n \n \n \n \n\n\n projects/ccf-body-ui/src/global-fixes.ts\n \n \n \n \n \n \n \n castToGlobalType\n \n \n \n \n \n \ncastToGlobalType(value)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n value\n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-scene-nodes.ts\n \n \n \n \n \n \n \n childNames\n \n \n \n \n \n \nchildNames(scene, names)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n scene\n\n \n No\n \n\n\n \n \n names\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n processSceneNodes\n \n \n \n \n \n \nprocessSceneNodes(gltfUrl, worldMatrix?, scenegraphNode?, gltfCache?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n gltfUrl\n\n \n No\n \n\n\n \n \n worldMatrix\n\n \n Yes\n \n\n\n \n \n scenegraphNode\n\n \n Yes\n \n\n\n \n \n gltfCache\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/load-gltf.ts\n \n \n \n \n \n \n \n deriveScenegraph\n \n \n \n \n \n \nderiveScenegraph(scenegraphNodeName, gltf)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n scenegraphNodeName\n\n \n No\n \n\n\n \n \n gltf\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n loadGLTF\n \n \n \n \n \n \nloadGLTF(model, cache?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n model\n\n \n No\n \n\n\n \n \n cache\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n loadGLTF2\n \n \n \n \n \n \nloadGLTF2(scenegraphNodeName, gltfPromise)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n scenegraphNodeName\n\n \n No\n \n\n\n \n \n gltfPromise\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n registerGLTFLoaders\n \n \n \n \n \n \nregisterGLTFLoaders()\n \n \n\n\n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/spatial-scene-collider.ts\n \n \n \n \n \n \n \n doCollisions\n \n \n \n \n \n \ndoCollisions(scene)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n scene\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/body-ui-layer.ts\n \n \n \n \n \n \n \n meshLayer\n \n \n \n \n \n \nmeshLayer(id, data, options)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n id\n\n \n No\n \n\n\n \n \n data\n\n \n No\n \n\n\n \n \n options\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SimpleMeshLayer | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n textLayer\n \n \n \n \n \n \ntextLayer(id, data, options)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n id\n\n \n No\n \n\n\n \n \n data\n\n \n No\n \n\n\n \n \n options\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : TextLayer | undefined\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/parse-csv.ts\n \n \n \n \n \n \n \n parseCSV\n \n \n \n \n \n \nparseCSV(sourceUrl, firstFieldName?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n sourceUrl\n\n \n No\n \n\n\n \n \n firstFieldName\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n parseCSVText\n \n \n \n \n \n \nparseCSVText(csvText, firstFieldName?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n csvText\n\n \n No\n \n\n\n \n \n firstFieldName\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-anatomical-structures.ts\n \n \n \n \n \n \n \n processAnatomicalStructures\n \n \n \n \n \n \nprocessAnatomicalStructures(sourceUrl, entities)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n sourceUrl\n\n \n No\n \n\n\n \n \n entities\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-extraction-sites.ts\n \n \n \n \n \n \n \n processExtractionSites\n \n \n \n \n \n \nprocessExtractionSites(sourceUrl, entities)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n sourceUrl\n\n \n No\n \n\n\n \n \n entities\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-reference-data.ts\n \n \n \n \n \n \n \n processReferenceData\n \n \n \n \n \n \nprocessReferenceData(refEntities, config)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n refEntities\n\n \n No\n \n\n\n \n \n config\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-spatial-entities.ts\n \n \n \n \n \n \n \n processSpatialEntities\n \n \n \n \n \n \nprocessSpatialEntities(parent, gltfOverride?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n parent\n\n \n No\n \n\n\n \n \n gltfOverride\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/simplify-scene.ts\n \n \n \n \n \n \n \n simplifyScene\n \n \n \n \n \n \nsimplifyScene(nodes)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n nodes\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/scene-traversal.ts\n \n \n \n \n \n \n \n traverseScene\n \n \n \n \n \n \ntraverseScene(scene, worldMatrix, visitor)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n scene\n\n \n No\n \n\n\n \n \n worldMatrix\n\n \n No\n \n\n\n \n \n visitor\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n \n \n \n 2 Classes\n \n \n \n \n \n \n \n 9 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n NodeClickEvent   (projects/.../body-ui.ts)\n \n \n NodeDragEvent   (projects/.../body-ui.ts)\n \n \n SceneTraversalVisitor   (projects/.../scene-traversal.ts)\n \n \n SpatialSceneGeometry   (projects/.../spatial-scene-node.ts)\n \n \n \n \n \n \n\n\n projects/ccf-body-ui/src/lib/body-ui.ts\n \n \n \n \n \n \n NodeClickEvent\n \n \n \n \n literal type\n\n \n \n \n \n \n \n \n \n \n NodeDragEvent\n \n \n \n \n literal type\n\n \n \n \n \n projects/ccf-body-ui/src/lib/util/scene-traversal.ts\n \n \n \n \n \n \n SceneTraversalVisitor\n \n \n \n \n function\n\n \n \n \n \n projects/ccf-body-ui/src/lib/shared/spatial-scene-node.ts\n \n \n \n \n \n \n SpatialSceneGeometry\n \n \n \n \n \"sphere\" | \"cube\" | \"wireframe\" | \"text\" | \"cone\" | \"cylinder\"\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n referenceDataConfig   (projects/.../process-reference-data.ts)\n \n \n \n \n \n \n\n\n projects/ccf-body-ui/src/lib/util/process-reference-data.ts\n \n \n \n \n \n \n \n referenceDataConfig\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n extractionSitesUrl: 'http://localhost:8080/source_data/asct-b-3d-models-landmarks.csv',\n extractionSitesConfigUrl: 'http://localhost:8080/source_data/extraction-site-config.csv',\n anatomicalStructuresUrl: 'http://localhost:8080/source_data/asct-b-3d-models-crosswalk.csv',\n referenceOrganConfigUrl: 'http://localhost:8080/source_data/reference-organ-config.csv'\n}\n \n \n\n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} + "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/classes/BodyUILayer.html",[0,1.249,1,1.249]],["body/classes/BodyUILayer.html",[0,0.948,1,1.804,2,1.721,3,0.42,4,0.561,5,0.357,6,0.633,7,0.412,8,1.76,9,1.546,10,1.449,11,1.07,12,3.69,13,0.3,14,0.712,15,4.512,16,2.634,17,2.505,18,3.69,19,3.121,20,3.69,21,4.06,22,4.06,23,0.518,24,0.053,25,1.246,26,2.505,27,1.387,28,3.484,29,2.134,30,1.112,31,2.134,32,2.134,33,2.134,34,2.517,35,1.246,36,0.731,37,1.822,38,2.976,39,2.134,40,2.134,41,1.585,42,2.134,43,1.255,44,2.134,45,1.083,46,2.505,47,1.721,48,3.121,49,2.976,50,1.721,51,1.585,52,3.121,53,3.121,54,3.121,55,3.363,56,3.121,57,1.721,58,0.833,59,0.731,60,1.298,61,0.948,62,0.712,63,1.218,64,1.822,65,1.449,66,1.822,67,2.134,68,1.246,69,2.505,70,2.134,71,2.134,72,1.585,73,1.721,74,2.231,75,2.756,76,3.121,77,2.005,78,1.638,79,3.121,80,1.584,81,3.063,82,4.661,83,1.721,84,2.134,85,3.274,86,2.119,87,1.638,88,4.06,89,2.119,90,2.119,91,2.505,92,0.725,93,4.778,94,1.92,95,2.134,96,2.789,97,2.134,98,1.721,99,2.134,100,2.134,101,2.193,102,3.121,103,3.121,104,1.64,105,1.64,106,1.873,107,2.154,108,1.64,109,1.822,110,1.822,111,2.291,112,3.121,113,2.931,114,1.387,115,1.541,116,3.69,117,1.584,118,2.134,119,1.721,120,2.134,121,2.976,122,2.134,123,2.134,124,2.756,125,2.134,126,0.561,127,2.976,128,1.218,129,2.201,130,2.134,131,2.134,132,1.822,133,2.134,134,2.134,135,2.134,136,0.948,137,2.134,138,2.134,139,1.804,140,2.134,141,2.134,142,2.134,143,2.134,144,2.134,145,2.134,146,2.134,147,2.134,148,2.134,149,3.69,150,2.134,151,2.134,152,2.134,153,2.134,154,1.64,155,2.134,156,1.822,157,2.134,158,1.721,159,1.721,160,1.449,161,3.121,162,2.134,163,4.06,164,1.083,165,2.134,166,2.134,167,2.134,168,2.134,169,2.134,170,1.246,171,1.246,172,0.948,173,2.134,174,1.083,175,2.134,176,2.134,177,2.134,178,2.134,179,1.449,180,2.134,181,4.06,182,4.06,183,2.134,184,3.121,185,2.134,186,2.134,187,2.134,188,2.134,189,2.134,190,2.134,191,2.134,192,2.134,193,0.019,194,0.028,195,0.019]],["title/interfaces/BodyUIProps.html",[196,0.024,197,1.427]],["body/interfaces/BodyUIProps.html",[0,1.182,1,1.442,3,0.638,4,0.453,5,0.289,6,0.242,7,0.297,8,0.673,9,0.912,11,0.591,13,0.373,14,0.607,16,2.927,23,0.704,24,0.053,27,1.751,30,1.107,36,1.25,37,2.789,41,2.568,43,1.207,45,0.876,51,0.876,58,1.538,59,0.591,60,1.347,61,0.766,62,0.607,63,1.625,74,1.991,77,1.442,78,1.25,80,1.748,87,1.733,92,0.775,94,1.182,96,1.895,101,2.114,104,1.751,105,1.751,106,2.001,107,2.3,108,1.182,109,1.007,110,1.007,113,1.007,114,0.766,115,1.613,117,1.038,126,1.035,128,0.673,129,2.086,132,2.867,136,2.248,139,0.766,154,0.766,164,0.876,170,1.007,171,1.007,172,0.766,174,0.876,193,0.016,194,0.024,195,0.024,196,0.028,197,1.35,198,0.339,199,0.876,200,2.827,201,2.477,202,2.477,203,2.477,204,2.477,205,2.676,206,2.676,207,1.852,208,2.477,209,1.748,210,3.042,211,2.204,212,2.204,213,2.204,214,2.204,215,1.806,216,1.806,217,1.806,218,1.806,219,1.171,220,2.615,221,1.007,222,1.171,223,2.684,224,1.007,225,1.171,226,1.171,227,1.806,228,0.876,229,1.171,230,2.275,231,2.204,232,2.477,233,2.477,234,2.203,235,1.25,236,1.171,237,2.204,238,1.007,239,1.806,240,1.007,241,2.676,242,1.007,243,1.806,244,1.171,245,1.171,246,0.876,247,1.007,248,3.46,249,1.171,250,1.171,251,1.171,252,1.171,253,1.171,254,1.171,255,1.171,256,1.171,257,1.171,258,1.171,259,1.171,260,1.171,261,1.171,262,1.171,263,1.171,264,1.171,265,1.171,266,1.171,267,1.171,268,1.171,269,1.171,270,1.171,271,1.171,272,2.676,273,1.171,274,1.806,275,1.171,276,1.171,277,1.007,278,1.806,279,1.007,280,1.171,281,1.171,282,1.171,283,1.806,284,1.806,285,1.171,286,1.171,287,1.171,288,1.171,289,1.171,290,1.171,291,1.171,292,1.171,293,1.171,294,1.171,295,1.171,296,1.171,297,1.171,298,1.171,299,1.171,300,1.806,301,1.171,302,1.171,303,1.171,304,1.171,305,1.171,306,1.171,307,1.171,308,1.171,309,1.171,310,3.042,311,3.042,312,1.171,313,1.552,314,1.171,315,1.171,316,1.552,317,1.806,318,1.171,319,1.171,320,1.171,321,0.876,322,1.171,323,2.204,324,1.35,325,1.171,326,1.171,327,1.171,328,1.806,329,1.171,330,1.171,331,1.171,332,1.171,333,2.204,334,1.171,335,1.171,336,1.806,337,1.171,338,2.204,339,1.171,340,1.171,341,1.852,342,1.552,343,1.35,344,0.912,345,1.171,346,1.171,347,1.171,348,1.171,349,2.204,350,1.171,351,1.171,352,1.171,353,1.171,354,0.876,355,1.171,356,1.171,357,1.171,358,1.171,359,1.171,360,1.171,361,1.552,362,0.766,363,1.171,364,0.876,365,1.171,366,1.171,367,1.171,368,2.676,369,1.171,370,1.171,371,1.171,372,1.171,373,1.171,374,1.171,375,1.171,376,1.171,377,1.806,378,1.171,379,2.204,380,1.171,381,1.806,382,1.806,383,1.171,384,1.171,385,1.171,386,1.171,387,1.171,388,2.204,389,1.171,390,1.171,391,1.171,392,1.171,393,1.171,394,1.171,395,1.171,396,1.171,397,1.171,398,1.171,399,1.171,400,0.766,401,1.171,402,1.171,403,1.171,404,1.171,405,1.171,406,1.171,407,2.204,408,1.171,409,1.171,410,1.171,411,1.171,412,1.171,413,1.171,414,1.171,415,1.171]],["title/interfaces/BodyUIViewStateProps.html",[196,0.024,230,1.427]],["body/interfaces/BodyUIViewStateProps.html",[0,1.208,1,1.468,3,0.65,4,0.466,5,0.297,6,0.249,7,0.302,8,0.692,9,0.932,11,0.932,13,0.382,14,0.62,16,2.943,23,0.651,24,0.053,27,1.774,30,1.08,36,1.269,37,2.809,41,2.581,43,1.218,45,0.901,51,0.901,58,1.558,59,0.608,60,1.359,61,0.789,62,0.62,63,1.643,74,2.009,77,1.468,78,1.269,80,1.764,87,1.742,92,0.534,94,1.208,96,1.929,101,2.138,104,1.774,105,1.774,106,2.027,107,2.33,108,1.208,109,1.036,110,1.036,113,1.036,114,0.789,115,1.61,117,1.061,126,1.049,128,0.692,129,2.102,132,2.885,136,2.102,139,0.789,154,0.789,164,0.901,170,1.036,171,1.036,172,0.789,174,0.901,193,0.016,194,0.025,195,0.025,196,0.029,197,0.901,198,0.349,199,0.901,200,2.859,201,1.205,202,1.205,203,1.205,204,1.205,205,1.846,206,1.846,207,0.901,208,1.205,209,1.764,210,3.07,211,1.205,212,1.205,213,2.243,214,2.243,215,1.846,216,1.846,217,1.846,218,2.243,219,1.205,220,2.64,221,1.036,222,1.205,223,2.706,224,1.036,225,1.205,226,1.205,227,1.846,228,0.901,229,1.205,230,2.354,231,2.859,232,2.976,233,2.976,234,2.225,235,1.269,236,1.205,237,2.243,238,1.036,239,1.846,240,1.036,241,2.711,242,1.036,243,1.846,244,1.205,245,1.205,246,0.901,247,1.036,248,3.477,249,1.205,250,1.205,251,1.205,252,1.205,253,1.205,254,1.205,255,1.205,256,1.205,257,1.205,258,1.205,259,1.205,260,1.205,261,1.205,262,1.205,263,1.205,264,1.205,265,1.205,266,1.205,267,1.205,268,1.205,269,1.205,270,1.205,271,1.205,272,2.711,273,1.205,274,1.846,275,1.205,276,1.205,277,1.036,278,1.846,279,1.036,280,1.205,281,1.205,282,1.205,283,1.846,284,1.846,285,1.205,286,1.205,287,1.205,288,1.205,289,1.205,290,1.205,291,1.205,292,1.205,293,1.205,294,1.205,295,1.205,296,1.205,297,1.205,298,1.205,299,1.205,300,1.846,301,1.205,302,1.205,303,1.205,304,1.205,305,1.205,306,1.205,307,1.205,308,1.205,309,1.205,310,3.07,311,3.07,312,1.205,313,1.587,314,1.205,315,1.205,316,1.587,317,1.846,318,1.205,319,1.205,320,1.205,321,0.901,322,1.205,323,2.243,324,1.38,325,1.205,326,1.205,327,1.205,328,1.846,329,1.205,330,1.205,331,1.205,332,1.205,333,2.243,334,1.205,335,1.205,336,1.846,337,1.205,338,2.243,339,1.205,340,1.205,341,1.88,342,1.587,343,1.38,344,0.932,345,1.205,346,1.205,347,1.205,348,1.205,349,2.243,350,1.205,351,1.205,352,1.205,353,1.205,354,0.901,355,1.205,356,1.205,357,1.205,358,1.205,359,1.205,360,1.205,361,1.587,362,0.789,363,1.205,364,0.901,365,1.205,366,1.205,367,1.205,368,2.711,369,1.205,370,1.205,371,1.205,372,1.205,373,1.205,374,1.205,375,1.205,376,1.205,377,1.846,378,1.205,379,2.243,380,1.205,381,1.846,382,1.846,383,1.205,384,1.205,385,1.205,386,1.205,387,1.205,388,2.243,389,1.205,390,1.205,391,1.205,392,1.205,393,1.205,394,1.205,395,1.205,396,1.205,397,1.205,398,1.205,399,1.205,400,0.789,401,1.205,402,1.205,403,1.205,404,1.205,405,1.205,406,1.205,407,2.243,408,1.205,409,1.205,410,1.205,411,1.205,412,1.205,413,1.205,414,1.205,415,1.205]],["title/interfaces/Collision.html",[196,0.024,416,1.908]],["body/interfaces/Collision.html",[3,0.536,4,0.716,5,0.457,6,0.383,7,0.249,13,0.383,14,0.847,23,0.665,24,0.052,25,2.166,30,1.237,35,3.152,43,1.313,58,1.064,59,0.935,60,1.116,61,1.212,62,1.033,63,1.448,68,2.463,72,1.385,77,1.875,80,1.448,81,2.864,87,1.744,92,1.056,94,1.875,104,1.649,105,1.212,111,1.385,126,0.716,128,1.064,129,2.435,156,1.592,159,2.993,179,3.216,193,0.025,194,0.034,195,0.025,196,0.024,198,0.536,209,1.064,321,1.385,324,1.385,416,2.864,417,1.852,418,1.852,419,4.887,420,1.852,421,2.2,422,3.712,423,2.2,424,3.712,425,2.2,426,3.652,427,2.2,428,1.852,429,1.852,430,1.592,431,2.2,432,2.2,433,2.728,434,2.728,435,4.219,436,2.728,437,3.712,438,2.728,439,2.728,440,2.728,441,3.712,442,3.652,443,2.728,444,3.652,445,2.728,446,2.728,447,3.402,448,3.712,449,3.402,450,2.993,451,2.993,452,2.993,453,2.993,454,2.993,455,2.993,456,4.219,457,2.728,458,2.728,459,2.728,460,2.728,461,2.728,462,2.2,463,2.728,464,2.2,465,2.2,466,2.993,467,2.2,468,2.2,469,2.2,470,2.2,471,2.2,472,2.2,473,2.728,474,2.2,475,4.528,476,3.712,477,2.728,478,2.728,479,2.728,480,2.728,481,2.728,482,2.728,483,2.728,484,2.728,485,2.728,486,2.728,487,2.728,488,2.728,489,2.728,490,2.728,491,2.728,492,4.737,493,3.712,494,3.652,495,3.712,496,3.712,497,2.728,498,2.728,499,2.728,500,2.728,501,2.728,502,2.2]],["title/interfaces/PickInfo.html",[196,0.024,234,1.427]],["body/interfaces/PickInfo.html",[0,1.212,1,1.473,3,0.651,4,0.468,5,0.299,6,0.25,7,0.303,8,0.696,9,0.935,11,0.611,13,0.561,14,0.623,16,2.946,23,0.636,24,0.053,27,1.778,30,0.963,36,1.272,37,2.812,41,2.583,43,1.219,45,0.905,51,0.905,58,1.293,59,0.611,60,1.361,61,0.792,62,0.623,63,1.646,74,2.012,77,1.473,78,1.272,80,1.767,87,1.744,92,0.536,94,1.212,96,1.934,101,2.142,104,1.778,105,1.778,106,2.031,107,2.335,108,1.212,109,1.041,110,1.041,113,1.934,114,0.792,115,1.601,117,1.064,126,1.051,128,0.696,129,2.105,132,2.888,136,2.172,139,0.792,154,0.792,164,0.905,170,1.041,171,1.041,172,0.792,174,0.905,193,0.016,194,0.025,195,0.025,196,0.029,197,0.905,198,0.351,199,0.905,200,2.25,201,1.211,202,1.211,203,1.211,204,1.211,205,1.852,206,1.852,207,0.905,208,1.211,209,1.561,210,2.716,211,1.211,212,1.211,213,2.25,214,2.25,215,1.852,216,1.852,217,1.852,218,1.852,219,1.211,220,2.643,221,1.041,222,1.211,223,2.71,224,1.041,225,1.211,226,1.211,227,2.716,228,0.905,229,1.211,230,2.299,231,2.25,232,2.52,233,2.52,234,2.299,235,1.505,236,2.52,237,2.865,238,2.167,239,2.716,240,1.041,241,2.716,242,1.041,243,1.852,244,1.211,245,1.211,246,0.905,247,1.041,248,3.48,249,1.211,250,1.211,251,1.211,252,1.211,253,1.211,254,1.211,255,1.211,256,1.211,257,1.211,258,1.211,259,1.211,260,1.211,261,1.211,262,1.211,263,1.211,264,1.211,265,1.211,266,1.211,267,1.211,268,1.211,269,1.211,270,1.211,271,1.211,272,2.716,273,1.211,274,1.852,275,1.211,276,1.211,277,1.041,278,1.852,279,1.041,280,1.211,281,1.211,282,1.211,283,1.852,284,1.852,285,1.211,286,1.211,287,1.211,288,1.211,289,1.211,290,1.211,291,1.211,292,1.211,293,1.211,294,1.211,295,1.211,296,1.211,297,1.211,298,1.211,299,1.211,300,1.852,301,1.211,302,1.211,303,1.211,304,1.211,305,1.211,306,1.211,307,1.211,308,1.211,309,1.211,310,3.075,311,3.075,312,1.211,313,1.592,314,1.211,315,1.211,316,1.592,317,1.852,318,1.211,319,1.211,320,1.211,321,0.905,322,1.211,323,2.25,324,1.385,325,1.211,326,1.211,327,1.211,328,1.852,329,1.211,330,1.211,331,1.211,332,1.211,333,2.25,334,1.211,335,1.211,336,1.852,337,1.211,338,2.25,339,1.211,340,1.211,341,1.885,342,1.592,343,1.385,344,0.935,345,1.211,346,1.211,347,1.211,348,1.211,349,2.25,350,1.211,351,1.211,352,1.211,353,1.211,354,0.905,355,1.211,356,1.211,357,1.211,358,1.211,359,1.211,360,1.211,361,1.592,362,0.792,363,1.211,364,0.905,365,1.211,366,1.211,367,1.211,368,2.716,369,1.211,370,1.211,371,1.211,372,1.211,373,1.211,374,1.211,375,1.211,376,1.211,377,1.852,378,1.211,379,2.25,380,1.211,381,1.852,382,1.852,383,1.211,384,1.211,385,1.211,386,1.211,387,1.211,388,2.25,389,1.211,390,1.211,391,1.211,392,1.211,393,1.211,394,1.211,395,1.211,396,1.211,397,1.211,398,1.211,399,1.211,400,0.792,401,1.211,402,1.211,403,1.211,404,1.211,405,1.211,406,1.211,407,2.25,408,1.211,409,1.211,410,1.211,411,1.211,412,1.211,413,1.211,414,1.211,415,1.211]],["title/interfaces/ProcessedNode.html",[196,0.024,503,1.908]],["body/interfaces/ProcessedNode.html",[3,0.546,4,0.73,5,0.465,6,0.39,7,0.254,11,1.288,13,0.39,14,0.858,17,2.552,23,0.669,24,0.052,30,1.166,43,1.252,55,1.886,58,1.662,59,0.952,60,1.371,61,1.235,62,1.041,63,2.09,64,1.622,66,2.194,68,2.194,72,1.908,77,1.67,80,1.084,81,2.891,87,1.722,92,0.739,94,1.67,101,2.316,104,1.67,105,1.235,111,1.41,114,1.67,117,1.084,126,0.987,127,2.24,128,1.466,129,2.433,139,1.235,154,1.67,172,1.235,174,1.41,193,0.025,194,0.034,195,0.025,196,0.024,198,0.546,316,2.194,321,1.41,324,1.41,341,1.908,354,1.41,362,1.892,364,1.41,420,1.886,426,3.844,427,4.051,428,1.886,429,1.886,430,1.622,431,2.24,442,3.031,444,3.031,449,3.68,450,2.24,451,2.24,452,2.24,453,2.24,454,2.24,455,2.24,462,2.24,464,2.24,465,2.24,466,3.031,467,2.24,468,2.24,469,2.24,470,2.24,471,2.24,472,2.24,474,3.031,502,2.24,503,3.554,504,1.622,505,1.886,506,3.844,507,3.68,508,4.767,509,2.24,510,2.891,511,3.758,512,2.778,513,2.778,514,2.778,515,2.778,516,3.434,517,2.778,518,3.758,519,3.758,520,3.758,521,2.24,522,3.758,523,2.778,524,2.778,525,2.778,526,2.778,527,2.778,528,2.24,529,2.778,530,2.778,531,2.778,532,3.758,533,2.778,534,2.778,535,4.259,536,2.778,537,2.778,538,2.778,539,3.758,540,2.778,541,2.778,542,2.778,543,2.778,544,2.778,545,2.778,546,2.778,547,2.778,548,2.778,549,2.778,550,2.778,551,2.778,552,2.778,553,2.778,554,2.778,555,2.778]],["title/interfaces/SpatialEntityJsonLd.html",[196,0.024,556,1.427]],["body/interfaces/SpatialEntityJsonLd.html",[3,0.553,4,0.995,5,0.634,6,0.395,7,0.257,11,1.572,13,0.395,14,0.865,23,0.788,24,0.052,30,1.302,43,0.739,78,1.69,92,0.969,115,1.679,126,1.126,193,0.026,194,0.035,195,0.026,196,0.037,198,0.553,209,1.097,235,1.572,556,1.924,557,1.642,558,1.25,559,1.642,560,3.25,561,3.25,562,3.114,563,3.114,564,3.114,565,3.114,566,3.114,567,3.114,568,3.114,569,3.114,570,3.114,571,2.794,572,2.677,573,2.677,574,3.114,575,2.677,576,2.677,577,3.114,578,3.114,579,3.114,580,3.114,581,3.114,582,3.114,583,2.328,584,2.602,585,2.91,586,2.91,587,2.502,588,2.502,589,1.91,590,1.642,591,1.91,592,1.91,593,1.91,594,1.91,595,1.91,596,1.91,597,1.91,598,1.91,599,1.91,600,1.91,601,1.91,602,1.91,603,1.91,604,1.91]],["title/interfaces/SpatialObjectReferenceJsonLd.html",[196,0.024,583,1.427]],["body/interfaces/SpatialObjectReferenceJsonLd.html",[3,0.667,4,1.125,5,0.851,6,0.476,7,0.31,11,1.689,13,0.476,14,0.977,23,0.765,24,0.051,30,1.3,43,0.891,78,1.468,92,1.02,115,1.666,126,1.233,193,0.031,194,0.039,195,0.031,196,0.041,198,0.667,209,1.324,235,1.163,556,1.723,557,1.981,558,1.508,559,1.981,560,3.451,561,2.908,562,2.304,563,2.304,564,2.304,565,2.304,566,2.304,567,2.304,568,2.304,569,2.304,570,2.304,571,2.967,572,1.981,573,1.981,574,2.304,575,1.981,576,1.981,577,2.304,578,2.304,579,2.304,580,2.304,581,2.304,582,2.304,583,2.383,584,2.635,585,2.304,586,2.304,587,1.981,588,1.981,589,2.304,590,1.981,591,2.304,592,2.304,593,2.304,594,2.304,595,2.304,596,2.304,597,2.304,598,2.304,599,2.304,600,2.304,601,2.304,602,2.304,603,2.304,604,3.347]],["title/interfaces/SpatialPlacementJsonLd.html",[196,0.024,584,1.427]],["body/interfaces/SpatialPlacementJsonLd.html",[3,0.596,4,1.289,5,0.667,6,0.425,7,0.277,11,1.619,13,0.425,14,0.909,23,0.785,24,0.052,30,1.299,36,1.619,43,0.796,78,1.365,92,0.99,115,1.698,126,1.168,193,0.028,194,0.036,195,0.028,196,0.039,198,0.596,209,1.843,235,1.039,556,1.539,557,1.769,558,1.347,559,1.769,560,3.332,561,3.332,562,2.058,563,2.058,564,2.058,565,2.058,566,2.058,567,2.058,568,2.058,569,2.058,570,2.058,571,2.325,572,1.769,573,1.769,574,2.058,575,1.769,576,1.769,577,2.058,578,2.058,579,2.058,580,2.058,581,2.058,582,2.058,583,2.022,584,2.491,585,2.058,586,2.058,587,1.769,588,1.769,589,2.058,590,1.769,591,3.208,592,3.208,593,3.208,594,3.208,595,3.208,596,3.208,597,3.208,598,3.208,599,3.208,600,3.208,601,3.208,602,3.208,603,3.208,604,2.058]],["title/interfaces/SpatialSceneNode.html",[60,0.845,196,0.024]],["body/interfaces/SpatialSceneNode.html",[3,0.617,4,0.824,5,0.525,6,0.44,7,0.287,13,0.44,14,0.929,23,0.787,24,0.052,30,1.291,35,2.794,36,1.938,43,0.824,55,3.25,58,1.868,59,1.075,60,1.224,62,0.716,86,2.13,89,2.13,90,2.13,91,2.13,92,0.941,111,1.592,114,2.127,115,1.666,117,1.868,124,3.369,126,1.07,136,2.357,139,2.127,160,3.25,172,2.127,193,0.029,194,0.037,195,0.029,196,0.027,198,0.617,362,2.127,364,2.43,447,3.861,528,3.861,572,2.794,573,2.794,605,2.13,606,2.13,607,4.787,608,4.787,609,4.787,610,3.861]],["title/changelog.html",[611,1.61,612,1.384,613,1.61]],["body/changelog.html",[3,0.722,5,0.192,7,0.365,9,1.453,14,0.261,23,0.161,24,0.039,26,0.778,28,0.924,36,0.393,62,0.913,74,2.206,75,1.3,83,0.924,87,1.453,92,0.225,98,1.544,106,1.864,108,0.851,115,0.344,117,1.123,121,0.924,160,0.778,164,1.954,179,1.3,193,0.01,194,0.017,195,0.037,196,0.034,198,0.225,207,0.582,246,2.641,277,1.439,279,0.669,313,1.117,343,2.35,344,1.606,361,0.669,400,1.279,420,1.955,494,3.628,510,0.778,558,1.279,571,1.117,575,1.117,576,1.117,587,0.669,588,1.117,590,2.144,612,1.439,613,1.3,614,1.988,615,1.988,616,2.322,617,3.225,618,1.914,619,1.914,620,3.461,621,3.104,622,5.547,623,0.924,624,0.778,625,4.934,626,2.791,627,1.146,628,3.202,629,2.879,630,4.423,631,1.146,632,1.914,633,2.879,634,2.465,635,1.146,636,1.914,637,1.146,638,4.423,639,1.146,640,1.674,641,1.914,642,3.628,643,0.924,644,1.146,645,1.544,646,1.544,647,1.544,648,3.849,649,3.673,650,1.146,651,1.146,652,1.146,653,2.465,654,1.914,655,2.465,656,4.239,657,1.146,658,1.544,659,0.924,660,1.146,661,1.146,662,3.999,663,1.914,664,3.202,665,2.465,666,2.465,667,1.146,668,1.914,669,4.26,670,1.914,671,2.802,672,1.146,673,4.629,674,1.146,675,3.409,676,1.146,677,2.465,678,1.914,679,2.465,680,2.465,681,1.914,682,2.465,683,1.146,684,1.914,685,1.914,686,1.146,687,3.673,688,3.461,689,3.673,690,1.914,691,1.146,692,1.146,693,2.879,694,1.146,695,1.914,696,1.146,697,1.146,698,1.914,699,2.465,700,2.582,701,1.146,702,1.914,703,1.146,704,1.146,705,1.146,706,1.914,707,4.568,708,1.146,709,3.461,710,1.146,711,1.146,712,1.146,713,2.465,714,1.988,715,1.146,716,1.146,717,1.544,718,1.146,719,3.461,720,4.239,721,1.914,722,3.202,723,1.146,724,3.202,725,1.914,726,3.461,727,1.914,728,1.146,729,1.146,730,1.146,731,1.914,732,3.461,733,2.322,734,1.146,735,3.673,736,4.088,737,1.146,738,1.146,739,1.914,740,1.146,741,2.879,742,1.146,743,1.914,744,2.465,745,1.146,746,1.146,747,2.465,748,1.914,749,1.146,750,1.914,751,1.146,752,1.146,753,1.146,754,4.499,755,1.146,756,0.924,757,2.174,758,1.146,759,1.914,760,0.924,761,1.146,762,1.914,763,2.879,764,2.879,765,1.146,766,1.914,767,2.465,768,1.146,769,1.146,770,1.914,771,1.146,772,1.146,773,3.461,774,2.02,775,2.582,776,1.988,777,1.146,778,2.582,779,1.146,780,2.465,781,3.104,782,4.423,783,1.146,784,1.146,785,1.914,786,1.988,787,1.146,788,1.146,789,1.146,790,3.202,791,1.146,792,1.146,793,1.146,794,1.146,795,2.465,796,1.146,797,1.544,798,1.544,799,1.146,800,3.104,801,1.146,802,1.146,803,1.146,804,1.146,805,1.146,806,1.146,807,2.582,808,2.582,809,1.146,810,1.914,811,1.146,812,1.146,813,2.465,814,1.914,815,1.146,816,1.914,817,1.146,818,1.914,819,1.914,820,1.914,821,1.914,822,1.146,823,2.465,824,1.146,825,1.146,826,0.924,827,1.146,828,1.988,829,0.924,830,1.3,831,1.914,832,1.146,833,1.146,834,1.914,835,1.914,836,1.914,837,1.914,838,1.146,839,1.146,840,1.146,841,2.465,842,1.146,843,1.914,844,1.146,845,1.146,846,1.914,847,3.461,848,1.544,849,1.146,850,0.924,851,1.146,852,1.146,853,3.202,854,2.879,855,1.146,856,2.465,857,1.914,858,3.461,859,1.544,860,2.879,861,1.146,862,1.146,863,1.146,864,1.146,865,1.146,866,1.146,867,1.914,868,1.914,869,1.146,870,1.914,871,1.146,872,0.924,873,1.914,874,1.146,875,1.914,876,1.146,877,1.146,878,2.879,879,1.146,880,1.146,881,1.146,882,1.146,883,1.914,884,1.146,885,1.146,886,1.146,887,1.146,888,1.146,889,1.146,890,1.914,891,1.146,892,1.146,893,1.146,894,1.146,895,1.146,896,1.914,897,1.146,898,3.461,899,1.146,900,2.465,901,1.914,902,0.924,903,1.914,904,1.146,905,0.924,906,0.924,907,1.146,908,1.914,909,1.146,910,1.146,911,1.955,912,1.146,913,1.146,914,1.914,915,1.914,916,1.146,917,1.146,918,1.914,919,1.914,920,1.146,921,1.914,922,2.879,923,2.465,924,1.146,925,1.146,926,1.146,927,1.146,928,0.924,929,0.924,930,1.146,931,1.914,932,1.146,933,1.146,934,1.146,935,1.146,936,1.914,937,2.879,938,1.146,939,1.146,940,1.146,941,1.146,942,3.461,943,2.465,944,1.914,945,1.146,946,1.146,947,2.465,948,1.914,949,1.914,950,1.914,951,2.879,952,1.146,953,1.146,954,1.146,955,1.914,956,1.146,957,1.146,958,1.146,959,1.146,960,1.146,961,2.879,962,1.146,963,2.465,964,2.879,965,1.146,966,2.465,967,3.202,968,1.914,969,1.914,970,1.914,971,1.914,972,2.465,973,2.879,974,3.202,975,1.914,976,2.465,977,1.146,978,1.146,979,3.673,980,2.465,981,1.146,982,2.879,983,2.879,984,3.999,985,1.146,986,1.146,987,1.146,988,1.146,989,1.146,990,1.146,991,1.914,992,1.146,993,1.914,994,1.146,995,1.146,996,1.146,997,1.146,998,1.914,999,1.146,1000,1.674,1001,1.146,1002,1.914,1003,1.988,1004,1.914,1005,2.465,1006,1.146,1007,1.146,1008,1.146,1009,1.914,1010,1.146,1011,1.146,1012,1.146,1013,1.146,1014,1.146,1015,1.146,1016,1.146,1017,1.914,1018,1.146,1019,1.146,1020,2.879,1021,3.461,1022,1.914,1023,2.465,1024,1.914,1025,2.879,1026,1.146,1027,1.146,1028,1.146,1029,1.146,1030,2.465,1031,1.146,1032,1.146,1033,1.146,1034,1.914,1035,1.914,1036,1.914,1037,1.914,1038,2.465,1039,1.146,1040,1.146,1041,1.146,1042,1.146,1043,1.146,1044,1.146,1045,0.924,1046,1.146,1047,1.146,1048,1.146,1049,1.914,1050,1.146,1051,1.146,1052,1.914,1053,1.146,1054,1.146,1055,1.146,1056,1.146,1057,1.146,1058,1.146,1059,1.146,1060,1.146,1061,1.146,1062,1.146,1063,3.849,1064,1.146,1065,1.988,1066,2.465,1067,2.879,1068,1.914,1069,2.465,1070,1.146,1071,1.914,1072,1.146,1073,1.146,1074,1.914,1075,1.914,1076,1.914,1077,1.146,1078,1.146,1079,1.146,1080,1.146,1081,1.914,1082,1.146,1083,2.465,1084,1.146,1085,1.146,1086,1.146,1087,1.146,1088,0.924,1089,1.146,1090,1.146,1091,1.146,1092,1.146,1093,1.146,1094,1.146,1095,1.146,1096,1.146,1097,1.146,1098,1.146,1099,1.146,1100,3.202,1101,1.146,1102,1.146,1103,1.146,1104,1.146,1105,1.146,1106,1.146,1107,1.146,1108,1.146,1109,1.146,1110,1.146,1111,1.146,1112,1.146,1113,1.146,1114,1.146,1115,1.914,1116,1.146,1117,1.914,1118,1.146,1119,1.914,1120,1.914,1121,2.879,1122,2.879,1123,1.914,1124,1.914,1125,1.146,1126,1.146,1127,1.146,1128,2.465,1129,1.146,1130,0.924,1131,1.146,1132,1.146,1133,1.146,1134,1.146,1135,1.146,1136,1.146,1137,1.914,1138,4.128,1139,2.465,1140,1.146,1141,1.914,1142,1.146,1143,1.146,1144,1.146,1145,1.146,1146,1.146,1147,1.146,1148,1.146,1149,1.146,1150,1.146,1151,1.914,1152,2.962,1153,1.914,1154,1.146,1155,1.146,1156,1.146,1157,1.544,1158,1.146,1159,2.879,1160,1.146,1161,1.914,1162,1.146,1163,1.146,1164,1.955,1165,1.146,1166,1.914,1167,1.146,1168,1.146,1169,1.146,1170,1.914,1171,1.914,1172,1.146,1173,1.146,1174,1.146,1175,1.146,1176,1.914,1177,2.465,1178,1.914,1179,1.146,1180,1.146,1181,1.544,1182,1.146,1183,1.146,1184,1.146,1185,1.146,1186,1.146,1187,1.146,1188,1.146,1189,1.146,1190,1.146,1191,0.924,1192,1.146,1193,1.146,1194,1.914,1195,1.146,1196,1.146,1197,1.146,1198,1.146,1199,1.146,1200,1.146,1201,1.146,1202,1.914,1203,1.146,1204,0.924,1205,1.146,1206,1.146,1207,0.924,1208,1.146,1209,1.146,1210,1.146,1211,1.914,1212,1.146,1213,1.146,1214,1.146,1215,1.146,1216,1.146,1217,1.146,1218,1.146,1219,1.146,1220,1.146,1221,1.146,1222,1.146,1223,1.914,1224,1.146,1225,1.146,1226,1.146,1227,1.146,1228,1.914,1229,0.924,1230,0.924,1231,1.146,1232,1.146,1233,1.146,1234,1.146,1235,1.146,1236,1.146,1237,1.146]],["title/coverage.html",[1164,2.571]],["body/coverage.html",[0,1.749,1,1.323,5,0.498,6,0.79,7,0.514,8,1.995,9,1.511,10,2.994,23,0.418,24,0.051,46,2.022,60,0.895,62,1.144,64,1.738,65,2.022,66,1.738,69,2.022,72,2.8,80,2.193,87,1.02,193,0.027,194,0.036,195,0.027,196,0.046,197,1.512,199,2.382,228,1.512,230,1.512,234,1.512,247,1.738,344,1.349,400,1.323,416,2.022,417,2.673,418,2.673,430,1.738,503,2.022,504,3.029,505,2.994,556,1.512,557,2.574,558,2.085,559,2.574,583,1.512,584,1.512,605,2.022,606,2.022,774,1.738,830,2.022,1000,2.022,1164,2.022,1238,2.978,1239,2.978,1240,2.401,1241,2.401,1242,2.401,1243,5.529,1244,4.41,1245,2.401,1246,2.978,1247,2.978,1248,2.978,1249,2.978,1250,2.978,1251,2.978,1252,2.978,1253,3.784,1254,3.784,1255,2.401,1256,3.174,1257,3.174,1258,2.401,1259,2.401,1260,2.401,1261,2.401,1262,2.401,1263,2.401,1264,2.673,1265,2.401,1266,2.978,1267,2.401,1268,2.401,1269,2.401,1270,2.401,1271,2.022,1272,2.022,1273,2.401,1274,2.401,1275,2.401,1276,2.978,1277,2.978,1278,2.978]],["title/dependencies.html",[760,1.912,911,2.286]],["body/dependencies.html",[5,0.526,7,0.287,24,0.052,25,1.835,45,1.596,47,2.535,50,2.535,51,2.071,57,2.535,59,1.078,63,1.227,156,1.835,193,0.029,194,0.037,195,0.029,220,1.835,221,2.381,224,1.835,235,1.078,421,2.535,423,2.535,425,2.535,428,2.135,429,2.135,507,2.535,624,2.77,647,2.535,658,2.535,659,2.535,757,2.135,778,3.29,797,2.535,848,2.535,859,2.535,905,2.535,906,2.535,911,2.135,929,3.29,1003,2.535,1065,3.29,1157,3.29,1279,3.144,1280,3.144,1281,3.144,1282,5.391,1283,3.144,1284,3.144,1285,3.144,1286,3.144,1287,3.144,1288,3.144,1289,3.144,1290,3.144,1291,4.079,1292,3.144,1293,3.144,1294,3.144,1295,3.144,1296,3.144,1297,3.144,1298,4.528,1299,3.144,1300,3.144,1301,4.528,1302,3.144,1303,3.144,1304,3.144,1305,3.144,1306,4.079,1307,3.144,1308,3.144,1309,3.144,1310,3.144,1311,3.144,1312,4.079,1313,4.079,1314,3.144,1315,3.144,1316,3.144,1317,3.144,1318,3.144,1319,3.144,1320,3.144,1321,4.079,1322,3.144,1323,3.144,1324,3.144,1325,3.144,1326,3.144,1327,3.144,1328,3.144,1329,3.144,1330,3.144,1331,3.144,1332,3.144,1333,3.144,1334,3.144,1335,3.144,1336,3.144,1337,2.535,1338,3.144,1339,3.144,1340,3.144,1341,3.144,1342,3.144,1343,3.144,1344,4.079,1345,3.144,1346,3.144,1347,3.144,1348,3.144,1349,3.144,1350,3.144,1351,3.144,1352,3.144,1353,3.144,1354,3.144,1355,3.144,1356,3.144,1357,3.144,1358,3.144,1359,3.144,1360,3.144,1361,3.144,1362,3.144,1363,3.144,1364,3.144,1365,3.144,1366,4.079,1367,3.144,1368,3.144,1369,3.144,1370,3.144,1371,3.144,1372,3.144,1373,3.144,1374,3.144,1375,3.144,1376,3.144,1377,3.144,1378,3.144,1379,4.079,1380,3.144,1381,3.144,1382,3.144,1383,3.144,1384,3.144,1385,3.144,1386,3.144,1387,3.144,1388,3.144,1389,3.144,1390,3.144,1391,3.144]],["title/miscellaneous/functions.html",[1392,1.054,1393,2.715]],["body/miscellaneous/functions.html",[6,0.749,7,0.488,8,1.107,9,1.475,10,2.922,13,0.398,17,2.588,24,0.052,27,1.261,30,0.647,34,4.411,35,3.192,36,1.874,38,4.411,41,1.44,46,2.922,49,2.288,62,1.171,64,2.225,65,2.588,66,2.512,68,2.225,69,2.588,73,2.288,74,2.045,75,3.124,78,1.306,92,0.749,119,2.288,128,2.068,136,1.261,154,1.261,156,1.656,193,0.026,194,0.035,195,0.026,207,1.44,228,1.935,341,1.44,344,1.306,354,1.44,362,1.694,417,1.926,418,2.588,430,2.225,432,2.288,504,2.802,505,2.922,509,2.288,510,2.588,516,3.711,521,2.288,558,1.694,624,2.588,830,2.588,872,3.073,1000,2.588,1240,2.288,1241,3.073,1242,3.073,1245,3.073,1253,2.288,1254,3.872,1255,3.073,1256,2.288,1257,3.471,1258,3.073,1259,3.073,1260,3.073,1261,3.073,1262,3.073,1263,3.073,1264,2.588,1265,3.073,1268,3.073,1269,3.073,1270,3.073,1271,1.926,1272,2.588,1273,2.288,1274,3.073,1275,3.073,1392,1.261,1393,2.288,1394,2.837,1395,3.987,1396,4.602,1397,2.288,1398,3.073,1399,3.811,1400,2.837,1401,2.288,1402,2.837,1403,5.051,1404,2.837,1405,3.811,1406,2.837,1407,2.837,1408,3.811,1409,2.837,1410,4.602,1411,4.304,1412,2.837,1413,2.837,1414,2.837,1415,4.602,1416,2.837,1417,2.837,1418,2.837,1419,2.837,1420,3.811,1421,2.837,1422,3.811]],["title/index.html",[13,0.333,611,1.61,612,1.384]],["body/index.html",[3,0.994,9,1.141,24,0.039,85,3.413,108,1.48,193,0.03,194,0.039,195,0.03,196,0.037,198,0.655,238,2.471,246,2.869,342,2.716,344,1.451,506,2.686,613,2.261,614,3.413,615,3.413,616,3.752,617,3.752,621,2.686,623,3.948,626,3.413,640,2.874,642,4.284,643,3.413,645,3.413,646,3.948,669,3.413,671,3.324,675,3.159,700,2.686,714,3.413,717,3.413,733,2.686,736,3.752,756,2.686,757,2.261,774,1.944,775,4.076,776,3.948,781,3.413,786,2.686,798,3.413,800,2.686,808,2.686,828,2.686,829,3.413,902,3.413,928,2.686,1088,2.686,1181,2.686,1191,2.686,1204,2.686,1229,2.686,1423,4.233,1424,4.233,1425,3.33,1426,3.33,1427,3.33,1428,3.33,1429,3.413,1430,3.33,1431,3.33,1432,3.33,1433,4.233,1434,4.233,1435,4.233,1436,4.653,1437,3.33,1438,3.33,1439,4.653,1440,3.33,1441,3.33,1442,4.233,1443,3.33,1444,3.33,1445,3.33,1446,3.33,1447,3.33,1448,3.33,1449,3.33,1450,3.33,1451,3.33,1452,3.33,1453,3.33,1454,3.33,1455,3.33,1456,4.233,1457,3.33,1458,3.33,1459,4.233,1460,3.33,1461,4.233,1462,4.233,1463,3.33,1464,3.33,1465,3.33,1466,3.33,1467,3.33,1468,3.33,1469,3.33,1470,3.33,1471,3.33,1472,3.33,1473,3.33,1474,3.33,1475,3.33,1476,3.33]],["title/license.html",[611,1.61,612,1.384,1477,1.912]],["body/license.html",[24,0.042,193,0.035,194,0.042,195,0.035,223,2.24,640,3.137,671,2.605,774,2.24,807,3.726,826,3.998,850,3.094,1045,3.726,1130,3.094,1152,3.094,1207,3.094,1230,3.094,1337,3.094,1429,4.43,1477,3.094,1478,3.837,1479,4.958,1480,3.837,1481,3.837,1482,4.621,1483,3.837,1484,3.837,1485,3.837,1486,3.837,1487,3.837,1488,3.837,1489,4.621,1490,3.837,1491,3.837,1492,3.837,1493,3.837,1494,3.837,1495,3.837,1496,3.837,1497,3.837,1498,3.837,1499,3.837,1500,3.837,1501,3.837,1502,4.621,1503,3.837,1504,3.837,1505,3.837,1506,3.837,1507,3.837,1508,4.621,1509,3.837,1510,3.837,1511,3.837,1512,3.837,1513,3.837,1514,3.837,1515,3.837,1516,3.837,1517,3.837,1518,3.837,1519,3.837,1520,3.837,1521,3.837,1522,3.837,1523,3.837,1524,3.837,1525,3.837,1526,3.837,1527,3.837,1528,3.837,1529,3.837,1530,3.837,1531,3.837,1532,3.837,1533,3.837,1534,3.837,1535,3.837,1536,3.837]],["title/modules.html",[1537,3.054]],["body/modules.html",[24,0.046,193,0.04,194,0.046,195,0.04,1537,3.56]],["title/overview.html",[1538,3.054]],["body/overview.html",[2,3.537,24,0.046,193,0.04,194,0.046,195,0.04,198,0.862,400,1.949,1538,3.537,1539,4.386]],["title/miscellaneous/typealiases.html",[1392,1.054,1540,3.367]],["body/miscellaneous/typealiases.html",[6,0.715,7,0.465,8,1.595,13,0.574,23,0.715,24,0.05,25,2.8,62,1.095,72,2.075,86,2.775,89,2.775,90,2.775,91,2.775,111,2.075,124,2.775,193,0.037,194,0.044,195,0.037,199,2.585,240,2.8,242,2.8,605,2.775,606,3.257,610,3.869,1271,2.775,1272,3.257,1392,1.816,1397,3.296,1398,3.869,1401,3.296,1541,4.087,1542,4.797]],["title/miscellaneous/variables.html",[1392,1.054,1543,2.715]],["body/miscellaneous/variables.html",[6,0.582,7,0.379,13,0.582,23,0.582,24,0.05,26,2.813,27,1.841,158,3.9,193,0.038,194,0.044,195,0.038,235,1.42,343,2.455,344,1.657,504,2.419,675,2.813,1264,3.283,1267,3.9,1392,1.841,1395,3.342,1543,3.342,1544,4.144,1545,4.836,1546,4.836,1547,4.144,1548,4.144,1549,4.144,1550,4.144,1551,4.836,1552,4.144,1553,4.144,1554,4.144,1555,4.144]]],"invertedIndex":[["",{"_index":24,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":80,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"coverage.html":{}}}],["0.05",{"_index":336,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["0.1.0",{"_index":1228,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":1391,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":1323,"title":{},"body":{"dependencies.html":{}}}],["0.2.0",{"_index":1223,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":1345,"title":{},"body":{"dependencies.html":{}}}],["0.5",{"_index":316,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["0.5*255",{"_index":177,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["0.5.0",{"_index":1211,"title":{},"body":{"changelog.html":{}}}],["0.6.0",{"_index":1181,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0.8",{"_index":133,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["0.9*255",{"_index":118,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["0/1",{"_index":1243,"title":{},"body":{"coverage.html":{}}}],["0/13",{"_index":1247,"title":{},"body":{"coverage.html":{}}}],["0/19",{"_index":1251,"title":{},"body":{"coverage.html":{}}}],["0/20",{"_index":1252,"title":{},"body":{"coverage.html":{}}}],["0/26",{"_index":1250,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":1276,"title":{},"body":{"coverage.html":{}}}],["0/6",{"_index":1244,"title":{},"body":{"coverage.html":{}}}],["0/7",{"_index":1248,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":1249,"title":{},"body":{"coverage.html":{}}}],["01",{"_index":678,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":1031,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":967,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":722,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":937,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":633,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":620,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":1153,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":664,"title":{},"body":{"changelog.html":{}}}],["1",{"_index":179,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{},"changelog.html":{}}}],["1.0",{"_index":164,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{}}}],["1.0.0",{"_index":1138,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":1320,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":1327,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":1386,"title":{},"body":{"dependencies.html":{}}}],["1.1.0",{"_index":1115,"title":{},"body":{"changelog.html":{}}}],["1.16.0",{"_index":1362,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":1322,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":1065,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":1331,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":1365,"title":{},"body":{"dependencies.html":{}}}],["1.3.5",{"_index":1030,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":1003,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":1348,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":966,"title":{},"body":{"changelog.html":{}}}],["1.6.0",{"_index":951,"title":{},"body":{"changelog.html":{}}}],["1.6875389974302382e",{"_index":352,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["1.7.0",{"_index":936,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":1334,"title":{},"body":{"dependencies.html":{}}}],["1/37",{"_index":1246,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":649,"title":{},"body":{"changelog.html":{}}}],["10.0",{"_index":307,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["10.0.0",{"_index":1343,"title":{},"body":{"dependencies.html":{}}}],["1000",{"_index":282,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["10x",{"_index":1127,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":1005,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":1367,"title":{},"body":{"dependencies.html":{}}}],["11.5",{"_index":370,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["12",{"_index":621,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":1369,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":1282,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":1290,"title":{},"body":{"dependencies.html":{}}}],["13",{"_index":837,"title":{},"body":{"changelog.html":{}}}],["136",{"_index":99,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["14",{"_index":723,"title":{},"body":{"changelog.html":{}}}],["15",{"_index":313,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{}}}],["15.126.1",{"_index":1280,"title":{},"body":{"dependencies.html":{}}}],["16",{"_index":901,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":1336,"title":{},"body":{"dependencies.html":{}}}],["17",{"_index":699,"title":{},"body":{"changelog.html":{}}}],["17,0,0",{"_index":351,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["17,0.076,0,0.49,0.034,0.11,1",{"_index":353,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["2",{"_index":400,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{},"coverage.html":{},"overview.html":{}}}],["2.0.0",{"_index":900,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":1340,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":859,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":848,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.3.0",{"_index":843,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":836,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":820,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":797,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.6.7",{"_index":1371,"title":{},"body":{"dependencies.html":{}}}],["2.8.5",{"_index":1329,"title":{},"body":{"dependencies.html":{}}}],["2.awsapprunner.com",{"_index":1450,"title":{},"body":{"index.html":{}}}],["200",{"_index":328,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["2019",{"_index":1152,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":1067,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":782,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":648,"title":{},"body":{"changelog.html":{}}}],["2023",{"_index":619,"title":{},"body":{"changelog.html":{}}}],["21",{"_index":938,"title":{},"body":{"changelog.html":{}}}],["22",{"_index":1140,"title":{},"body":{"changelog.html":{}}}],["229",{"_index":100,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["24",{"_index":1212,"title":{},"body":{"changelog.html":{}}}],["255",{"_index":101,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["26",{"_index":968,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":1008,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":665,"title":{},"body":{"changelog.html":{}}}],["3",{"_index":1052,"title":{},"body":{"changelog.html":{}}}],["3.0.0",{"_index":778,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":1301,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":739,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":731,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":721,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":698,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":677,"title":{},"body":{"changelog.html":{}}}],["3.5.0",{"_index":663,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":1303,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":1305,"title":{},"body":{"dependencies.html":{}}}],["3.6",{"_index":1456,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":647,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.7.0",{"_index":632,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":1313,"title":{},"body":{"dependencies.html":{}}}],["3.7.2",{"_index":618,"title":{},"body":{"changelog.html":{}}}],["3.7.3",{"_index":1316,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":98,"title":{},"body":{"classes/BodyUILayer.html":{},"changelog.html":{}}}],["31",{"_index":1116,"title":{},"body":{"changelog.html":{}}}],["3d",{"_index":343,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["4",{"_index":1086,"title":{},"body":{"changelog.html":{}}}],["4.0",{"_index":1434,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":1310,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":1338,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":1359,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":1325,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":1350,"title":{},"body":{"dependencies.html":{}}}],["4th",{"_index":651,"title":{},"body":{"changelog.html":{}}}],["5.0.0",{"_index":1353,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":1357,"title":{},"body":{"dependencies.html":{}}}],["5th",{"_index":637,"title":{},"body":{"changelog.html":{}}}],["6.0.1",{"_index":1356,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":1374,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":1308,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":1383,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":1380,"title":{},"body":{"dependencies.html":{}}}],["8",{"_index":944,"title":{},"body":{"changelog.html":{}}}],["8.3.2",{"_index":1389,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":1302,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":1298,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":1300,"title":{},"body":{"dependencies.html":{}}}],["8.9",{"_index":399,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["85",{"_index":1222,"title":{},"body":{"changelog.html":{}}}],["9",{"_index":1539,"title":{},"body":{"overview.html":{}}}],["9.5",{"_index":319,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["90",{"_index":1163,"title":{},"body":{"changelog.html":{}}}],["95",{"_index":727,"title":{},"body":{"changelog.html":{}}}],["9th",{"_index":978,"title":{},"body":{"changelog.html":{}}}],["_dragevent(info",{"_index":413,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["_lighting",{"_index":172,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{}}}],["_onclick(info",{"_index":384,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["_ondrag(info",{"_index":409,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["_ondragend(info",{"_index":411,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["_ondragstart(info",{"_index":406,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["_onhover(e",{"_index":376,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["_onviewstatechange(event",{"_index":392,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["aabb",{"_index":426,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["ability",{"_index":873,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":1207,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["accurate",{"_index":965,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":1529,"title":{},"body":{"license.html":{}}}],["actions",{"_index":1056,"title":{},"body":{"changelog.html":{}}}],["added",{"_index":622,"title":{},"body":{"changelog.html":{}}}],["additional",{"_index":1208,"title":{},"body":{"changelog.html":{}}}],["addressed",{"_index":1109,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":702,"title":{},"body":{"changelog.html":{}}}],["adjusting",{"_index":1103,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":1001,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":904,"title":{},"body":{"changelog.html":{}}}],["again",{"_index":1076,"title":{},"body":{"changelog.html":{}}}],["age",{"_index":816,"title":{},"body":{"changelog.html":{}}}],["ala",{"_index":840,"title":{},"body":{"changelog.html":{}}}],["aliases",{"_index":1541,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["allows",{"_index":985,"title":{},"body":{"changelog.html":{}}}],["alpha",{"_index":1193,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":1171,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":1166,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":1151,"title":{},"body":{"changelog.html":{}}}],["alt",{"_index":1438,"title":{},"body":{"index.html":{}}}],["ambientlight",{"_index":213,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["analytics",{"_index":906,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["anatomical",{"_index":1000,"title":{},"body":{"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["anatomicalstructuresurl",{"_index":1552,"title":{},"body":{"miscellaneous/variables.html":{}}}],["and/or",{"_index":1500,"title":{},"body":{"license.html":{}}}],["angular",{"_index":757,"title":{},"body":{"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":1281,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":1283,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":1284,"title":{},"body":{"dependencies.html":{}}}],["angular/compiler",{"_index":1285,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":1286,"title":{},"body":{"dependencies.html":{}}}],["angular/elements",{"_index":1287,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":1288,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":1289,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":1291,"title":{},"body":{"dependencies.html":{}}}],["angular/router",{"_index":1293,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":1294,"title":{},"body":{"dependencies.html":{}}}],["api",{"_index":642,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":1447,"title":{},"body":{"index.html":{}}}],["appear",{"_index":791,"title":{},"body":{"changelog.html":{}}}],["application",{"_index":989,"title":{},"body":{"changelog.html":{}}}],["applied",{"_index":1039,"title":{},"body":{"changelog.html":{}}}],["appropriate",{"_index":759,"title":{},"body":{"changelog.html":{}}}],["april",{"_index":977,"title":{},"body":{"changelog.html":{}}}],["arising",{"_index":1533,"title":{},"body":{"license.html":{}}}],["asct+b",{"_index":783,"title":{},"body":{"changelog.html":{}}}],["assignment/selection",{"_index":953,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":850,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["async",{"_index":321,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["atlas",{"_index":615,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["attempts",{"_index":824,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":1522,"title":{},"body":{"license.html":{}}}],["autohighlight",{"_index":95,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["automatic",{"_index":1090,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":1040,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":1083,"title":{},"body":{"changelog.html":{}}}],["avoid",{"_index":891,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":324,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["award",{"_index":1475,"title":{},"body":{"index.html":{}}}],["b",{"_index":1546,"title":{},"body":{"miscellaneous/variables.html":{}}}],["backend",{"_index":803,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":1204,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["base",{"_index":1176,"title":{},"body":{"changelog.html":{}}}],["based",{"_index":880,"title":{},"body":{"changelog.html":{}}}],["basic",{"_index":902,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["bbox",{"_index":449,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["before",{"_index":795,"title":{},"body":{"changelog.html":{}}}],["behaviorsubject",{"_index":222,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["behaviorsubject([0",{"_index":253,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["being",{"_index":935,"title":{},"body":{"changelog.html":{}}}],["beta",{"_index":781,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":860,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":1144,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":220,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"dependencies.html":{}}}],["block",{"_index":747,"title":{},"body":{"changelog.html":{}}}],["blocks",{"_index":693,"title":{},"body":{"changelog.html":{}}}],["bmi",{"_index":817,"title":{},"body":{"changelog.html":{}}}],["board",{"_index":1168,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":7,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["bodyui",{"_index":247,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{}}}],["bodyuilayer",{"_index":1,"title":{"classes/BodyUILayer.html":{}},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{}}}],["bodyuilayer.gltfcache",{"_index":153,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["bodyuiprops",{"_index":197,"title":{"interfaces/BodyUIProps.html":{}},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{}}}],["bodyuiviewstateprops",{"_index":230,"title":{"interfaces/BodyUIViewStateProps.html":{}},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{}}}],["boolean",{"_index":136,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/functions.html":{}}}],["both",{"_index":846,"title":{},"body":{"changelog.html":{}}}],["box",{"_index":890,"title":{},"body":{"changelog.html":{}}}],["break",{"_index":88,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["breaking",{"_index":925,"title":{},"body":{"changelog.html":{}}}],["bringing",{"_index":945,"title":{},"body":{"changelog.html":{}}}],["browser",{"_index":1157,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["browserify",{"_index":1381,"title":{},"body":{"dependencies.html":{}}}],["browsing",{"_index":1232,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":720,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":1430,"title":{},"body":{"index.html":{}}}],["builds",{"_index":777,"title":{},"body":{"changelog.html":{}}}],["button",{"_index":1170,"title":{},"body":{"changelog.html":{}}}],["c",{"_index":1480,"title":{},"body":{"license.html":{}}}],["cache",{"_index":624,"title":{},"body":{"changelog.html":{},"dependencies.html":{},"miscellaneous/functions.html":{}}}],["cacheable",{"_index":1385,"title":{},"body":{"dependencies.html":{}}}],["callback",{"_index":877,"title":{},"body":{"changelog.html":{}}}],["called",{"_index":931,"title":{},"body":{"changelog.html":{}}}],["calls",{"_index":661,"title":{},"body":{"changelog.html":{}}}],["camera",{"_index":200,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["cancelregistration",{"_index":876,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":1142,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":428,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{},"dependencies.html":{}}}],["canvas",{"_index":201,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["card",{"_index":909,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":914,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":85,"title":{},"body":{"classes/BodyUILayer.html":{},"index.html":{}}}],["cases",{"_index":1114,"title":{},"body":{"changelog.html":{}}}],["casttoglobaltype",{"_index":1242,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["casttoglobaltype(value",{"_index":1402,"title":{},"body":{"miscellaneous/functions.html":{}}}],["ccf",{"_index":246,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{},"index.html":{}}}],["ccf's",{"_index":1061,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":634,"title":{},"body":{"changelog.html":{}}}],["ccf_annotations",{"_index":562,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["cell",{"_index":741,"title":{},"body":{"changelog.html":{}}}],["center",{"_index":506,"title":{},"body":{"interfaces/ProcessedNode.html":{},"index.html":{}}}],["change",{"_index":928,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["changed",{"_index":655,"title":{},"body":{"changelog.html":{}}}],["changelog",{"_index":613,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changes",{"_index":629,"title":{},"body":{"changelog.html":{}}}],["charge",{"_index":1486,"title":{},"body":{"license.html":{}}}],["child",{"_index":511,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["child.bbox.clone",{"_index":536,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["childnames",{"_index":1268,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["childnames(child",{"_index":515,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["childnames(node.node).map(n",{"_index":533,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["childnames(scene",{"_index":509,"title":{},"body":{"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["choose",{"_index":1084,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":1059,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":1525,"title":{},"body":{"license.html":{}}}],["class",{"_index":0,"title":{"classes/BodyUILayer.html":{}},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{}}}],["classes",{"_index":2,"title":{},"body":{"classes/BodyUILayer.html":{},"overview.html":{}}}],["clean",{"_index":718,"title":{},"body":{"changelog.html":{}}}],["cleanup",{"_index":780,"title":{},"body":{"changelog.html":{}}}],["click",{"_index":832,"title":{},"body":{"changelog.html":{}}}],["clicking",{"_index":921,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":623,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["code",{"_index":773,"title":{},"body":{"changelog.html":{}}}],["codebase",{"_index":1070,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":1126,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":1186,"title":{},"body":{"changelog.html":{}}}],["collaboration",{"_index":1068,"title":{},"body":{"changelog.html":{}}}],["collider",{"_index":71,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["collider.ts",{"_index":418,"title":{},"body":{"interfaces/Collision.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["collision",{"_index":416,"title":{"interfaces/Collision.html":{}},"body":{"interfaces/Collision.html":{},"coverage.html":{}}}],["collisioning",{"_index":434,"title":{},"body":{"interfaces/Collision.html":{}}}],["collisions",{"_index":1092,"title":{},"body":{"changelog.html":{}}}],["color",{"_index":117,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["colorizing",{"_index":1135,"title":{},"body":{"changelog.html":{}}}],["combination",{"_index":1085,"title":{},"body":{"changelog.html":{}}}],["come",{"_index":1131,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":1123,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":1324,"title":{},"body":{"dependencies.html":{}}}],["comment",{"_index":563,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["common",{"_index":829,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["complexity",{"_index":960,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":771,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":733,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["components",{"_index":903,"title":{},"body":{"changelog.html":{}}}],["compositelayer",{"_index":12,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["comunica/query",{"_index":1296,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":1326,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":1507,"title":{},"body":{"license.html":{}}}],["cone",{"_index":89,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["conegeometry",{"_index":52,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["config",{"_index":872,"title":{},"body":{"changelog.html":{},"miscellaneous/functions.html":{}}}],["config.csv",{"_index":1551,"title":{},"body":{"miscellaneous/variables.html":{}}}],["configuration",{"_index":628,"title":{},"body":{"changelog.html":{}}}],["configurations",{"_index":871,"title":{},"body":{"changelog.html":{}}}],["confirmation",{"_index":822,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":884,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":801,"title":{},"body":{"changelog.html":{}}}],["connection",{"_index":1535,"title":{},"body":{"license.html":{}}}],["console.log",{"_index":487,"title":{},"body":{"interfaces/Collision.html":{}}}],["console.log('data",{"_index":357,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["console.log('results",{"_index":356,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["console.log('starting",{"_index":433,"title":{},"body":{"interfaces/Collision.html":{}}}],["console.log(csvreport",{"_index":501,"title":{},"body":{"interfaces/Collision.html":{}}}],["consortium",{"_index":1481,"title":{},"body":{"license.html":{}}}],["const",{"_index":129,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["constructor(private",{"_index":273,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["container",{"_index":916,"title":{},"body":{"changelog.html":{}}}],["containers",{"_index":862,"title":{},"body":{"changelog.html":{}}}],["containing",{"_index":1428,"title":{},"body":{"index.html":{}}}],["context",{"_index":561,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["contract",{"_index":1530,"title":{},"body":{"license.html":{}}}],["control",{"_index":1026,"title":{},"body":{"changelog.html":{}}}],["controller",{"_index":283,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["convenience",{"_index":244,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["convention",{"_index":171,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["coordinate",{"_index":238,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"index.html":{}}}],["coordinate_system",{"_index":44,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["coordinate_system.cartesian",{"_index":103,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["coordinatesystem",{"_index":102,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["copies",{"_index":1502,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1489,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":1479,"title":{},"body":{"license.html":{}}}],["cord",{"_index":705,"title":{},"body":{"changelog.html":{}}}],["cors",{"_index":1328,"title":{},"body":{"dependencies.html":{}}}],["coverage",{"_index":1164,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["created",{"_index":1035,"title":{},"body":{"changelog.html":{}}}],["creation_date",{"_index":564,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["creator",{"_index":565,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["creator_first_name",{"_index":566,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["creator_last_name",{"_index":567,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["credits",{"_index":1466,"title":{},"body":{"index.html":{}}}],["crosswalk.csv",{"_index":1553,"title":{},"body":{"miscellaneous/variables.html":{}}}],["css",{"_index":1330,"title":{},"body":{"dependencies.html":{}}}],["csv.ts",{"_index":1257,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["csvreport",{"_index":491,"title":{},"body":{"interfaces/Collision.html":{}}}],["csvreport.push",{"_index":493,"title":{},"body":{"interfaces/Collision.html":{}}}],["csvtext",{"_index":1413,"title":{},"body":{"miscellaneous/functions.html":{}}}],["ctrlclick",{"_index":243,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["ctrlkey",{"_index":386,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["cube",{"_index":91,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["cubegeometry",{"_index":53,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["cuboid",{"_index":1162,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":1160,"title":{},"body":{"changelog.html":{}}}],["currently",{"_index":813,"title":{},"body":{"changelog.html":{}}}],["currentstate",{"_index":396,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["currentstate.data",{"_index":402,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["currentstate.zoomopacity",{"_index":401,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["cursor",{"_index":271,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["cyberinfrastructure",{"_index":1468,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":971,"title":{},"body":{"changelog.html":{}}}],["cylinder",{"_index":90,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["cylindergeometry",{"_index":54,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["d",{"_index":113,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["d.geometry",{"_index":438,"title":{},"body":{"interfaces/Collision.html":{}}}],["d.scenegraph",{"_index":437,"title":{},"body":{"interfaces/Collision.html":{}}}],["damages",{"_index":1526,"title":{},"body":{"license.html":{}}}],["dark/light",{"_index":879,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":74,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["data.concat(object.values(results",{"_index":359,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["data.length",{"_index":79,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["data.map(d",{"_index":120,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["data.push",{"_index":360,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["data.ts",{"_index":1264,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["data?.length",{"_index":332,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["database",{"_index":724,"title":{},"body":{"changelog.html":{}}}],["datasets",{"_index":983,"title":{},"body":{"changelog.html":{}}}],["deal",{"_index":1491,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1536,"title":{},"body":{"license.html":{}}}],["debugscenenodeprocessing",{"_index":202,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["debugscenenodeprocessing(data",{"_index":340,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["december",{"_index":1077,"title":{},"body":{"changelog.html":{}}}],["deck",{"_index":214,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deck(props",{"_index":309,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deck.gl/core",{"_index":45,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"dependencies.html":{}}}],["deck.gl/core/lib/deck",{"_index":219,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deck.gl/geo",{"_index":1299,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":47,"title":{},"body":{"classes/BodyUILayer.html":{},"dependencies.html":{}}}],["deck.gl/mesh",{"_index":50,"title":{},"body":{"classes/BodyUILayer.html":{},"dependencies.html":{}}}],["deckprops",{"_index":274,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deckprops.camera",{"_index":278,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deckprops.interactive",{"_index":284,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deckprops.legacylighting",{"_index":304,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deckprops.maxrotationx",{"_index":314,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deckprops.minrotationx",{"_index":312,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deckprops.rotation",{"_index":317,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deckprops.target",{"_index":315,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["deckprops.zoom",{"_index":318,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["decompress",{"_index":459,"title":{},"body":{"interfaces/Collision.html":{}}}],["decorator",{"_index":221,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"dependencies.html":{}}}],["deeply",{"_index":805,"title":{},"body":{"changelog.html":{}}}],["default",{"_index":26,"title":{},"body":{"classes/BodyUILayer.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["defined",{"_index":28,"title":{},"body":{"classes/BodyUILayer.html":{},"changelog.html":{}}}],["delete",{"_index":538,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["demo",{"_index":834,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":911,"title":{"dependencies.html":{}},"body":{"changelog.html":{},"dependencies.html":{}}}],["depending",{"_index":934,"title":{},"body":{"changelog.html":{}}}],["depthmask",{"_index":178,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["derivescenegraph",{"_index":1255,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["derivescenegraph(scenegraphnodename",{"_index":1404,"title":{},"body":{"miscellaneous/functions.html":{}}}],["descrepancies",{"_index":691,"title":{},"body":{"changelog.html":{}}}],["details",{"_index":1210,"title":{},"body":{"changelog.html":{}}}],["developed",{"_index":1467,"title":{},"body":{"index.html":{}}}],["developments",{"_index":1191,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":823,"title":{},"body":{"changelog.html":{}}}],["didzoom",{"_index":333,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["different",{"_index":861,"title":{},"body":{"changelog.html":{}}}],["digits",{"_index":1053,"title":{},"body":{"changelog.html":{}}}],["dimension_units",{"_index":568,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["direct",{"_index":1219,"title":{},"body":{"changelog.html":{}}}],["directly",{"_index":1124,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":105,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["display",{"_index":853,"title":{},"body":{"changelog.html":{}}}],["displayed",{"_index":1161,"title":{},"body":{"changelog.html":{}}}],["displaying",{"_index":849,"title":{},"body":{"changelog.html":{}}}],["distribute",{"_index":1498,"title":{},"body":{"license.html":{}}}],["doc",{"_index":1174,"title":{},"body":{"changelog.html":{}}}],["docollisions",{"_index":69,"title":{},"body":{"classes/BodyUILayer.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["docollisions(scene",{"_index":432,"title":{},"body":{"interfaces/Collision.html":{},"miscellaneous/functions.html":{}}}],["docollisions(state.data",{"_index":187,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["docs",{"_index":716,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":1332,"title":{},"body":{"dependencies.html":{}}}],["documentation",{"_index":774,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["done",{"_index":926,"title":{},"body":{"changelog.html":{}}}],["donor",{"_index":908,"title":{},"body":{"changelog.html":{}}}],["donors",{"_index":986,"title":{},"body":{"changelog.html":{}}}],["dotenv",{"_index":1335,"title":{},"body":{"dependencies.html":{}}}],["download",{"_index":1202,"title":{},"body":{"changelog.html":{}}}],["dracoloader",{"_index":422,"title":{},"body":{"interfaces/Collision.html":{}}}],["during",{"_index":970,"title":{},"body":{"changelog.html":{}}}],["dynamic",{"_index":1292,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":684,"title":{},"body":{"changelog.html":{}}}],["e",{"_index":37,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["e.info",{"_index":192,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["e.isdragging",{"_index":301,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["e.object",{"_index":379,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["e.object['@id",{"_index":380,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["e.picked",{"_index":377,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["e?.srcevent?.ctrlkey",{"_index":391,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["easier",{"_index":752,"title":{},"body":{"changelog.html":{}}}],["east",{"_index":1449,"title":{},"body":{"index.html":{}}}],["effect",{"_index":1106,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":1013,"title":{},"body":{"changelog.html":{}}}],["element",{"_index":929,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["embedded",{"_index":868,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":858,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":856,"title":{},"body":{"changelog.html":{}}}],["enable",{"_index":502,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["entities",{"_index":1415,"title":{},"body":{"miscellaneous/functions.html":{}}}],["entities.ts",{"_index":1269,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["entityid",{"_index":447,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/SpatialSceneNode.html":{}}}],["es",{"_index":429,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{},"dependencies.html":{}}}],["eslint",{"_index":104,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["eslint/naming",{"_index":170,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["eslint/no",{"_index":109,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["etc",{"_index":888,"title":{},"body":{"changelog.html":{}}}],["eui",{"_index":736,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":767,"title":{},"body":{"changelog.html":{}}}],["event",{"_index":1521,"title":{},"body":{"license.html":{}}}],["event.interactionstate?.iszooming",{"_index":395,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["event.viewstate",{"_index":403,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["event.viewstate.rotationx",{"_index":405,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["event.viewstate.zoom",{"_index":398,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["expanded",{"_index":682,"title":{},"body":{"changelog.html":{}}}],["explicit",{"_index":110,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["exploration",{"_index":1432,"title":{},"body":{"index.html":{}}}],["export",{"_index":126,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{}}}],["express",{"_index":1337,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["extends",{"_index":11,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["external",{"_index":875,"title":{},"body":{"changelog.html":{}}}],["extra",{"_index":1342,"title":{},"body":{"dependencies.html":{}}}],["extraction",{"_index":830,"title":{},"body":{"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["extraction_set",{"_index":569,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["extractionsitesconfigurl",{"_index":1548,"title":{},"body":{"miscellaneous/variables.html":{}}}],["extractionsitesurl",{"_index":1544,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fail",{"_index":1073,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":1111,"title":{},"body":{"changelog.html":{}}}],["false",{"_index":96,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["favor",{"_index":1064,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":680,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":972,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":1011,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":586,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["fetch",{"_index":1370,"title":{},"body":{"dependencies.html":{}}}],["field",{"_index":885,"title":{},"body":{"changelog.html":{}}}],["file",{"_index":5,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{}}}],["file_format",{"_index":604,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["files",{"_index":1490,"title":{},"body":{"license.html":{}}}],["filter",{"_index":1025,"title":{},"body":{"changelog.html":{}}}],["filter(d",{"_index":436,"title":{},"body":{"interfaces/Collision.html":{}}}],["filters",{"_index":697,"title":{},"body":{"changelog.html":{}}}],["final",{"_index":1066,"title":{},"body":{"changelog.html":{}}}],["finalize",{"_index":329,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["finishing",{"_index":827,"title":{},"body":{"changelog.html":{}}}],["first",{"_index":1078,"title":{},"body":{"changelog.html":{}}}],["firstfieldname",{"_index":1410,"title":{},"body":{"miscellaneous/functions.html":{}}}],["fit",{"_index":980,"title":{},"body":{"changelog.html":{}}}],["fitness",{"_index":1517,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":962,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":630,"title":{},"body":{"changelog.html":{}}}],["fixes.ts",{"_index":1241,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["fixes/performance",{"_index":1136,"title":{},"body":{"changelog.html":{}}}],["flexible",{"_index":711,"title":{},"body":{"changelog.html":{}}}],["flipy",{"_index":280,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["fly",{"_index":1227,"title":{},"body":{"changelog.html":{}}}],["following",{"_index":1506,"title":{},"body":{"license.html":{}}}],["form",{"_index":1014,"title":{},"body":{"changelog.html":{}}}],["format",{"_index":1096,"title":{},"body":{"changelog.html":{}}}],["frame",{"_index":987,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":1423,"title":{},"body":{"index.html":{}}}],["free",{"_index":1485,"title":{},"body":{"license.html":{}}}],["fs",{"_index":1341,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":919,"title":{},"body":{"changelog.html":{}}}],["fullscreen",{"_index":1169,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":973,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":72,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["functions",{"_index":1393,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["funded",{"_index":1473,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":1505,"title":{},"body":{"license.html":{}}}],["further",{"_index":1165,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":963,"title":{},"body":{"changelog.html":{}}}],["generate",{"_index":743,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":772,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":685,"title":{},"body":{"changelog.html":{}}}],["geometries",{"_index":137,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["geometries.scenegraph",{"_index":148,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["geometries.scenegraph.push(node",{"_index":143,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["geometries[geometry",{"_index":144,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["geometries[geometry].push(node",{"_index":145,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["geometry",{"_index":55,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getcolor",{"_index":116,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["getcursor",{"_index":298,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["getpickinginfo",{"_index":20,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["getpickinginfo(e",{"_index":32,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["getposition",{"_index":125,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["gettext",{"_index":123,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["getting",{"_index":611,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["gettransformmatrix",{"_index":112,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["github",{"_index":1055,"title":{},"body":{"changelog.html":{}}}],["gizmo",{"_index":894,"title":{},"body":{"changelog.html":{}}}],["globalconfig",{"_index":865,"title":{},"body":{"changelog.html":{}}}],["gltf",{"_index":68,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["gltf.scenes",{"_index":462,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["gltf.ts",{"_index":1254,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["gltf:${processednode['@id",{"_index":525,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["gltfcache",{"_index":17,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["gltfloader",{"_index":424,"title":{},"body":{"interfaces/Collision.html":{}}}],["gltfnode",{"_index":526,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["gltfnodes",{"_index":518,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["gltfnodes.push",{"_index":524,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["gltfoverride",{"_index":1420,"title":{},"body":{"miscellaneous/functions.html":{}}}],["gltfpromise",{"_index":1408,"title":{},"body":{"miscellaneous/functions.html":{}}}],["gltfscene",{"_index":461,"title":{},"body":{"interfaces/Collision.html":{}}}],["gltftransform",{"_index":349,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["gltfurl",{"_index":341,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["good",{"_index":1108,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":905,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["grab",{"_index":303,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["grabbing",{"_index":302,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["granted",{"_index":1484,"title":{},"body":{"license.html":{}}}],["graphical",{"_index":730,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":1344,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":844,"title":{},"body":{"changelog.html":{}}}],["gtex",{"_index":744,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":1099,"title":{},"body":{"changelog.html":{}}}],["h",{"_index":497,"title":{},"body":{"interfaces/Collision.html":{}}}],["h.name",{"_index":500,"title":{},"body":{"interfaces/Collision.html":{}}}],["h['@id",{"_index":499,"title":{},"body":{"interfaces/Collision.html":{}}}],["halfsize",{"_index":547,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["hand",{"_index":1104,"title":{},"body":{"changelog.html":{}}}],["happen",{"_index":1143,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":1074,"title":{},"body":{"changelog.html":{}}}],["hash",{"_index":1372,"title":{},"body":{"dependencies.html":{}}}],["helmet",{"_index":1349,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":1098,"title":{},"body":{"changelog.html":{}}}],["here",{"_index":1102,"title":{},"body":{"changelog.html":{}}}],["hereby",{"_index":1483,"title":{},"body":{"license.html":{}}}],["hex",{"_index":1351,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":1192,"title":{},"body":{"changelog.html":{}}}],["highlight",{"_index":811,"title":{},"body":{"changelog.html":{}}}],["highlightcolor",{"_index":97,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["highlighted",{"_index":694,"title":{},"body":{"changelog.html":{}}}],["highlights",{"_index":814,"title":{},"body":{"changelog.html":{}}}],["hit",{"_index":492,"title":{},"body":{"interfaces/Collision.html":{}}}],["hit.hits",{"_index":498,"title":{},"body":{"interfaces/Collision.html":{}}}],["hit.name",{"_index":496,"title":{},"body":{"interfaces/Collision.html":{}}}],["hit['@id",{"_index":495,"title":{},"body":{"interfaces/Collision.html":{}}}],["hits",{"_index":419,"title":{},"body":{"interfaces/Collision.html":{}}}],["hits.length",{"_index":482,"title":{},"body":{"interfaces/Collision.html":{}}}],["hits.push({'@id",{"_index":479,"title":{},"body":{"interfaces/Collision.html":{}}}],["holders",{"_index":1523,"title":{},"body":{"license.html":{}}}],["hooked",{"_index":1023,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":708,"title":{},"body":{"changelog.html":{}}}],["hovering",{"_index":910,"title":{},"body":{"changelog.html":{}}}],["hra",{"_index":616,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["htmlcanvaselement",{"_index":211,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["htmlelement",{"_index":212,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["http://localhost:8080/source_data/asct",{"_index":1545,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://localhost:8080/source_data/extraction",{"_index":1549,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://localhost:8080/source_data/reference",{"_index":1555,"title":{},"body":{"miscellaneous/variables.html":{}}}],["https://beta",{"_index":1435,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":1446,"title":{},"body":{"index.html":{}}}],["https://hubmap",{"_index":1439,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":342,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"index.html":{}}}],["https://hubmapconsortium.github.io/hubmap",{"_index":347,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["https://humanatlas.io",{"_index":1464,"title":{},"body":{"index.html":{}}}],["https://observablehq.com/@cns",{"_index":1461,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":1441,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":1437,"title":{},"body":{"index.html":{}}}],["https://r5i95k35v5.us",{"_index":1448,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":1221,"title":{},"body":{"changelog.html":{}}}],["hubmap",{"_index":671,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["human",{"_index":614,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["icon",{"_index":1203,"title":{},"body":{"changelog.html":{}}}],["icons",{"_index":920,"title":{},"body":{"changelog.html":{}}}],["id",{"_index":92,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["idb",{"_index":1354,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":1238,"title":{},"body":{"coverage.html":{}}}],["iec",{"_index":1069,"title":{},"body":{"changelog.html":{}}}],["image",{"_index":1063,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":1122,"title":{},"body":{"changelog.html":{}}}],["implementation",{"_index":799,"title":{},"body":{"changelog.html":{}}}],["implemented",{"_index":1021,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":1173,"title":{},"body":{"changelog.html":{}}}],["implied",{"_index":1514,"title":{},"body":{"license.html":{}}}],["import",{"_index":43,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{}}}],["improve",{"_index":1012,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":763,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":726,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":845,"title":{},"body":{"changelog.html":{}}}],["include",{"_index":1080,"title":{},"body":{"changelog.html":{}}}],["included",{"_index":1509,"title":{},"body":{"license.html":{}}}],["includes",{"_index":681,"title":{},"body":{"changelog.html":{}}}],["including",{"_index":807,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":1048,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":1167,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":13,"title":{"index.html":{}},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indexes",{"_index":636,"title":{},"body":{"changelog.html":{}}}],["indiana",{"_index":1471,"title":{},"body":{"index.html":{}}}],["individual",{"_index":1028,"title":{},"body":{"changelog.html":{}}}],["info",{"_index":3,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"index.html":{}}}],["info.object",{"_index":388,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["info.object['@id",{"_index":389,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["info.picked",{"_index":387,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["info?.object?.['@id",{"_index":414,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["information",{"_index":717,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":1125,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":1082,"title":{},"body":{"changelog.html":{}}}],["initial",{"_index":942,"title":{},"body":{"changelog.html":{}}}],["initialize",{"_index":322,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["initializestate",{"_index":21,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["instead",{"_index":933,"title":{},"body":{"changelog.html":{}}}],["instructions",{"_index":857,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":974,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":804,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":1081,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":994,"title":{},"body":{"changelog.html":{}}}],["intensity",{"_index":306,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["interact",{"_index":957,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":1147,"title":{},"body":{"changelog.html":{}}}],["interactionstate",{"_index":393,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["interactive",{"_index":203,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["interest",{"_index":1218,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":196,"title":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{}},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":198,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":1062,"title":{},"body":{"changelog.html":{}}}],["isdragging",{"_index":299,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["issue",{"_index":1044,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":688,"title":{},"body":{"changelog.html":{}}}],["iszooming",{"_index":394,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["it's",{"_index":802,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":1200,"title":{},"body":{"changelog.html":{}}}],["iu",{"_index":1189,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":1462,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":646,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["json",{"_index":1094,"title":{},"body":{"changelog.html":{}}}],["jsonld",{"_index":507,"title":{},"body":{"interfaces/ProcessedNode.html":{},"dependencies.html":{}}}],["jsonld.ts",{"_index":559,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"coverage.html":{}}}],["jsonld/jsonld",{"_index":589,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["jsonldobj",{"_index":560,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["july",{"_index":1146,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":1198,"title":{},"body":{"changelog.html":{}}}],["key",{"_index":76,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["keyboard",{"_index":1196,"title":{},"body":{"changelog.html":{}}}],["keyval",{"_index":1355,"title":{},"body":{"dependencies.html":{}}}],["kidney",{"_index":841,"title":{},"body":{"changelog.html":{}}}],["kind",{"_index":1513,"title":{},"body":{"license.html":{}}}],["known",{"_index":687,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":668,"title":{},"body":{"changelog.html":{}}}],["l",{"_index":189,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["label",{"_index":570,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["labs/data",{"_index":1307,"title":{},"body":{"dependencies.html":{}}}],["labs/dispatch",{"_index":1309,"title":{},"body":{"dependencies.html":{}}}],["landmarks",{"_index":706,"title":{},"body":{"changelog.html":{}}}],["landmarks.csv",{"_index":1547,"title":{},"body":{"miscellaneous/variables.html":{}}}],["larger",{"_index":753,"title":{},"body":{"changelog.html":{}}}],["lasthovered",{"_index":272,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["latest",{"_index":700,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["layer",{"_index":227,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["layer.ts",{"_index":10,"title":{},"body":{"classes/BodyUILayer.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["layer.ts:143",{"_index":33,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layer.ts:71",{"_index":31,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layer.ts:72",{"_index":29,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layer.ts:74",{"_index":40,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layer.ts:80",{"_index":42,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layername",{"_index":18,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layers",{"_index":51,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"dependencies.html":{}}}],["layers.filter(l",{"_index":188,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layers.push",{"_index":157,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layers.push(meshlayer(`${geometry}pickable",{"_index":185,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layers.push(meshlayer(geometry",{"_index":184,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layers.push(textlayer('text",{"_index":180,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["layers.push(textlayer('textpickable",{"_index":183,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["lb",{"_index":541,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["lb.clone().vadd(halfsize",{"_index":551,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["ld",{"_index":1095,"title":{},"body":{"changelog.html":{}}}],["leak",{"_index":1043,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":825,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":587,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"changelog.html":{}}}],["left/right",{"_index":842,"title":{},"body":{"changelog.html":{}}}],["legacylighting",{"_index":204,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["level",{"_index":1194,"title":{},"body":{"changelog.html":{}}}],["levels",{"_index":1215,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":1527,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1524,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":756,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":1004,"title":{},"body":{"changelog.html":{}}}],["library/vh_female/united/vhf_united_color.glb",{"_index":346,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["library/vh_male/united/vhm_united_color.glb",{"_index":345,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["license",{"_index":1477,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":819,"title":{},"body":{"changelog.html":{}}}],["lightingeffect",{"_index":215,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["limitation",{"_index":1493,"title":{},"body":{"license.html":{}}}],["limited",{"_index":1130,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":107,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["link",{"_index":835,"title":{},"body":{"changelog.html":{}}}],["linkage",{"_index":1148,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":713,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":786,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":950,"title":{},"body":{"changelog.html":{}}}],["literal",{"_index":25,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{},"dependencies.html":{},"miscellaneous/typealiases.html":{}}}],["little",{"_index":955,"title":{},"body":{"changelog.html":{}}}],["load",{"_index":420,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{},"changelog.html":{}}}],["load(model.scenegraph",{"_index":458,"title":{},"body":{"interfaces/Collision.html":{}}}],["loaded",{"_index":1150,"title":{},"body":{"changelog.html":{}}}],["loaders.gl/core",{"_index":421,"title":{},"body":{"interfaces/Collision.html":{},"dependencies.html":{}}}],["loaders.gl/draco",{"_index":423,"title":{},"body":{"interfaces/Collision.html":{},"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":425,"title":{},"body":{"interfaces/Collision.html":{},"dependencies.html":{}}}],["loadgltf",{"_index":64,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/ProcessedNode.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["loadgltf(model",{"_index":1406,"title":{},"body":{"miscellaneous/functions.html":{}}}],["loadgltf({scenegraph",{"_index":517,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["loadgltf2",{"_index":65,"title":{},"body":{"classes/BodyUILayer.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["loadgltf2(model.scenegraphnode",{"_index":167,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["loadgltf2(scenegraphnodename",{"_index":1407,"title":{},"body":{"miscellaneous/functions.html":{}}}],["loading",{"_index":676,"title":{},"body":{"changelog.html":{}}}],["location",{"_index":1049,"title":{},"body":{"changelog.html":{}}}],["locations",{"_index":670,"title":{},"body":{"changelog.html":{}}}],["lodash",{"_index":1358,"title":{},"body":{"dependencies.html":{}}}],["log",{"_index":1465,"title":{},"body":{"index.html":{}}}],["logging",{"_index":746,"title":{},"body":{"changelog.html":{}}}],["longer",{"_index":930,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":1010,"title":{},"body":{"changelog.html":{}}}],["loop",{"_index":325,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["lowerbound",{"_index":442,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["lowerbound[i",{"_index":455,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["lru",{"_index":1360,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":57,"title":{},"body":{"classes/BodyUILayer.html":{},"dependencies.html":{}}}],["m",{"_index":147,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["m.scenegraph",{"_index":149,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["m.scenegraphnode",{"_index":150,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["made",{"_index":1071,"title":{},"body":{"changelog.html":{}}}],["major",{"_index":679,"title":{},"body":{"changelog.html":{}}}],["makes",{"_index":749,"title":{},"body":{"changelog.html":{}}}],["making",{"_index":796,"title":{},"body":{"changelog.html":{}}}],["male",{"_index":585,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["managers",{"_index":761,"title":{},"body":{"changelog.html":{}}}],["map(model",{"_index":439,"title":{},"body":{"interfaces/Collision.html":{}}}],["march",{"_index":1007,"title":{},"body":{"changelog.html":{}}}],["markdown",{"_index":1368,"title":{},"body":{"dependencies.html":{}}}],["mat",{"_index":440,"title":{},"body":{"interfaces/Collision.html":{}}}],["mat.transformaspoint",{"_index":443,"title":{},"body":{"interfaces/Collision.html":{}}}],["mat.transformaspoint([1",{"_index":445,"title":{},"body":{"interfaces/Collision.html":{}}}],["match",{"_index":1009,"title":{},"body":{"changelog.html":{}}}],["matching",{"_index":194,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["math.gl/core",{"_index":59,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{},"dependencies.html":{}}}],["math.gl/culling",{"_index":1304,"title":{},"body":{"dependencies.html":{}}}],["math.max(...report.map(r",{"_index":489,"title":{},"body":{"interfaces/Collision.html":{}}}],["math.max(n",{"_index":454,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["math.min(math.max(1",{"_index":397,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["math.min(n",{"_index":451,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["matrix",{"_index":366,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["matrix.gettranslation",{"_index":369,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["matrix4",{"_index":58,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{}}}],["matrix4([0.076,0,0,0,0,0.076,1.6875389974302382e",{"_index":350,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["matrix4(d.transformmatrix).gettranslation",{"_index":122,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["matrix4(matrix4.identity",{"_index":553,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["matrix4(model.transformmatrix",{"_index":441,"title":{},"body":{"interfaces/Collision.html":{}}}],["matrix4(modelmatrix",{"_index":523,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["matrix4(node.transformmatrix",{"_index":367,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["matrix4(worldmatrix",{"_index":519,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["matrix4.identity",{"_index":520,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["maxhits",{"_index":488,"title":{},"body":{"interfaces/Collision.html":{}}}],["maxrotationx",{"_index":205,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["mc",{"_index":1188,"title":{},"body":{"changelog.html":{}}}],["memory",{"_index":1042,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":1105,"title":{},"body":{"changelog.html":{}}}],["merchantability",{"_index":1516,"title":{},"body":{"license.html":{}}}],["merge",{"_index":1496,"title":{},"body":{"license.html":{}}}],["mesh",{"_index":82,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["meshlayer",{"_index":1245,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["meshlayer(id",{"_index":73,"title":{},"body":{"classes/BodyUILayer.html":{},"miscellaneous/functions.html":{}}}],["metadata",{"_index":1159,"title":{},"body":{"changelog.html":{}}}],["methods",{"_index":19,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["minor",{"_index":689,"title":{},"body":{"changelog.html":{}}}],["minrotationx",{"_index":206,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["miscellaneous",{"_index":1392,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":1478,"title":{},"body":{"license.html":{}}}],["mock",{"_index":1184,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":940,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":870,"title":{},"body":{"changelog.html":{}}}],["model",{"_index":156,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{},"dependencies.html":{},"miscellaneous/functions.html":{}}}],["model._lighting",{"_index":173,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["model.color",{"_index":176,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["model.entityid",{"_index":448,"title":{},"body":{"interfaces/Collision.html":{}}}],["model.opacity",{"_index":163,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["model.scenegraph",{"_index":169,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["model.scenegraphnode",{"_index":166,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["model.tooltip",{"_index":446,"title":{},"body":{"interfaces/Collision.html":{}}}],["model.transformmatrix",{"_index":175,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["model.unpickable",{"_index":165,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["model.zoombasedopacity",{"_index":161,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["model['@id",{"_index":159,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{}}}],["modelmatrix",{"_index":464,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["modelmatrix.transformaspoint(primitive.attributes.position.max",{"_index":472,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["modelmatrix.transformaspoint(primitive.attributes.position.min",{"_index":471,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["models",{"_index":158,"title":{},"body":{"classes/BodyUILayer.html":{},"miscellaneous/variables.html":{}}}],["modify",{"_index":1495,"title":{},"body":{"license.html":{}}}],["modules",{"_index":1537,"title":{"modules.html":{}},"body":{"modules.html":{}}}],["monorepo",{"_index":1425,"title":{},"body":{"index.html":{}}}],["more",{"_index":626,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["mouseevent",{"_index":241,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["moved",{"_index":1205,"title":{},"body":{"changelog.html":{}}}],["much",{"_index":751,"title":{},"body":{"changelog.html":{}}}],["multiple",{"_index":1426,"title":{},"body":{"index.html":{}}}],["n.bbox",{"_index":532,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["n.unpickable",{"_index":182,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["n3",{"_index":1361,"title":{},"body":{"dependencies.html":{}}}],["name",{"_index":35,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/functions.html":{}}}],["names",{"_index":510,"title":{},"body":{"interfaces/ProcessedNode.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["names.push(child.name",{"_index":514,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["navigation",{"_index":1197,"title":{},"body":{"changelog.html":{}}}],["near",{"_index":281,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["need",{"_index":660,"title":{},"body":{"changelog.html":{}}}],["needed",{"_index":1015,"title":{},"body":{"changelog.html":{}}}],["needs",{"_index":1022,"title":{},"body":{"changelog.html":{}}}],["network",{"_index":1469,"title":{},"body":{"index.html":{}}}],["new",{"_index":87,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"changelog.html":{},"coverage.html":{}}}],["next",{"_index":106,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{}}}],["ng5",{"_index":1363,"title":{},"body":{"dependencies.html":{}}}],["ngx",{"_index":1366,"title":{},"body":{"dependencies.html":{}}}],["ngxs",{"_index":1306,"title":{},"body":{"dependencies.html":{}}}],["ngxs/logger",{"_index":1311,"title":{},"body":{"dependencies.html":{}}}],["ngxs/storage",{"_index":1314,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":1315,"title":{},"body":{"dependencies.html":{}}}],["nih",{"_index":1474,"title":{},"body":{"index.html":{}}}],["node",{"_index":63,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"dependencies.html":{}}}],["node.bbox",{"_index":535,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["node.bbox.extend(child.bbox",{"_index":537,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["node.bbox.lowerbound",{"_index":542,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["node.bbox.upperbound",{"_index":544,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["node.center",{"_index":550,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["node.geometry",{"_index":141,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["node.id",{"_index":522,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["node.mesh",{"_index":465,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["node.mesh.primitives",{"_index":466,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["node.mesh.primitives.length",{"_index":467,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["node.name",{"_index":474,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["node.scenegraph",{"_index":142,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["node.size",{"_index":545,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["node.transformmatrix",{"_index":552,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["node.ts",{"_index":606,"title":{},"body":{"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["node.zoomtoonload",{"_index":334,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodeclick",{"_index":257,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodeclickevent",{"_index":242,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"miscellaneous/typealiases.html":{}}}],["nodeclicksubject",{"_index":249,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodedrag",{"_index":267,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodedragend",{"_index":269,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodedragendsubject",{"_index":256,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodedragevent",{"_index":240,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"miscellaneous/typealiases.html":{}}}],["nodedragstart",{"_index":265,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodedragstartsubject",{"_index":254,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodedragsubject",{"_index":255,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodehoverstart",{"_index":259,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodehoverstartsubject",{"_index":250,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodehoverstop",{"_index":261,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodehoverstopsubject",{"_index":251,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["nodes",{"_index":154,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["nodes.filter(n",{"_index":181,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["nodes.ts",{"_index":505,"title":{},"body":{"interfaces/ProcessedNode.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["nodes[n]).filter(n",{"_index":534,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["nodes[node['@id",{"_index":539,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["nodes[processednode['@id",{"_index":530,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["noninfringement",{"_index":1520,"title":{},"body":{"license.html":{}}}],["note",{"_index":653,"title":{},"body":{"changelog.html":{}}}],["notebooks",{"_index":644,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":1457,"title":{},"body":{"index.html":{}}}],["notice",{"_index":1045,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":754,"title":{},"body":{"changelog.html":{}}}],["number",{"_index":115,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["numeric",{"_index":1050,"title":{},"body":{"changelog.html":{}}}],["object",{"_index":235,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["object.entries(geometries",{"_index":155,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["object.prototype.hasownproperty.call(url2gltf",{"_index":151,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["object.values(nodes",{"_index":540,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["object.values(nodes).filter(n",{"_index":531,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["object.values(results",{"_index":358,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["obtaining",{"_index":1488,"title":{},"body":{"license.html":{}}}],["off/on",{"_index":1019,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":1145,"title":{},"body":{"changelog.html":{}}}],["old",{"_index":1440,"title":{},"body":{"index.html":{}}}],["onclick",{"_index":288,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["ondrag",{"_index":294,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["ondragend",{"_index":296,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["ondragstart",{"_index":292,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["one",{"_index":1088,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["onhover",{"_index":286,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["online",{"_index":1155,"title":{},"body":{"changelog.html":{}}}],["ontological",{"_index":1226,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":1097,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":656,"title":{},"body":{"changelog.html":{}}}],["ontology/objects/vhf_united_v01_060420.glb",{"_index":348,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["onviewstatechange",{"_index":290,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["opacities",{"_index":1027,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":160,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["openapi",{"_index":798,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/js",{"_index":1453,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":1455,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":1454,"title":{},"body":{"index.html":{}}}],["optimization",{"_index":954,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":1137,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":992,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":810,"title":{},"body":{"changelog.html":{}}}],["optional",{"_index":36,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["options",{"_index":75,"title":{},"body":{"classes/BodyUILayer.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["options.geometry",{"_index":84,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["orbitaxis",{"_index":231,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["orbitview",{"_index":216,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["organ",{"_index":675,"title":{},"body":{"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["organs",{"_index":707,"title":{},"body":{"changelog.html":{}}}],["organs/anatomical",{"_index":1029,"title":{},"body":{"changelog.html":{}}}],["orthographic",{"_index":279,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{}}}],["orthographicview",{"_index":217,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["ot2od026671",{"_index":1476,"title":{},"body":{"index.html":{}}}],["otherwise",{"_index":1532,"title":{},"body":{"license.html":{}}}],["out",{"_index":1534,"title":{},"body":{"license.html":{}}}],["over",{"_index":1057,"title":{},"body":{"changelog.html":{}}}],["overall",{"_index":696,"title":{},"body":{"changelog.html":{}}}],["overlays",{"_index":1216,"title":{},"body":{"changelog.html":{}}}],["overview",{"_index":1538,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["p",{"_index":1179,"title":{},"body":{"changelog.html":{}}}],["package",{"_index":760,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["pages",{"_index":855,"title":{},"body":{"changelog.html":{}}}],["paired",{"_index":838,"title":{},"body":{"changelog.html":{}}}],["pane",{"_index":981,"title":{},"body":{"changelog.html":{}}}],["panel",{"_index":852,"title":{},"body":{"changelog.html":{}}}],["parameters",{"_index":34,"title":{},"body":{"classes/BodyUILayer.html":{},"miscellaneous/functions.html":{}}}],["parameters['getpickinginfo']>[0",{"_index":190,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["parent",{"_index":207,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["parsecsv",{"_index":1258,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["parsecsv(sourceurl",{"_index":1409,"title":{},"body":{"miscellaneous/functions.html":{}}}],["parsecsvtext",{"_index":1259,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["parsecsvtext(csvtext",{"_index":1412,"title":{},"body":{"miscellaneous/functions.html":{}}}],["parser",{"_index":1321,"title":{},"body":{"dependencies.html":{}}}],["partial",{"_index":275,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["particular",{"_index":1518,"title":{},"body":{"license.html":{}}}],["partly",{"_index":1006,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":923,"title":{},"body":{"changelog.html":{}}}],["path",{"_index":1347,"title":{},"body":{"dependencies.html":{}}}],["pbr",{"_index":174,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["performance",{"_index":764,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":1482,"title":{},"body":{"license.html":{}}}],["permit",{"_index":1503,"title":{},"body":{"license.html":{}}}],["person",{"_index":1487,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1504,"title":{},"body":{"license.html":{}}}],["pick",{"_index":674,"title":{},"body":{"changelog.html":{}}}],["pickable",{"_index":93,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["picked",{"_index":239,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["pickinfo",{"_index":234,"title":{"interfaces/PickInfo.html":{}},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{}}}],["placeholder",{"_index":1149,"title":{},"body":{"changelog.html":{}}}],["placement",{"_index":571,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"changelog.html":{}}}],["placement_date",{"_index":591,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["placenta",{"_index":703,"title":{},"body":{"changelog.html":{}}}],["player",{"_index":1295,"title":{},"body":{"dependencies.html":{}}}],["plugin",{"_index":1312,"title":{},"body":{"dependencies.html":{}}}],["plus",{"_index":683,"title":{},"body":{"changelog.html":{}}}],["pointer",{"_index":378,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["popup",{"_index":1158,"title":{},"body":{"changelog.html":{}}}],["portal",{"_index":808,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["portal's",{"_index":1129,"title":{},"body":{"changelog.html":{}}}],["portions",{"_index":1511,"title":{},"body":{"license.html":{}}}],["position",{"_index":121,"title":{},"body":{"classes/BodyUILayer.html":{},"changelog.html":{}}}],["possible",{"_index":1072,"title":{},"body":{"changelog.html":{}}}],["postprocess",{"_index":460,"title":{},"body":{"interfaces/Collision.html":{}}}],["preferences",{"_index":882,"title":{},"body":{"changelog.html":{}}}],["preparation",{"_index":1190,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":1214,"title":{},"body":{"changelog.html":{}}}],["prevent",{"_index":737,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":897,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":1034,"title":{},"body":{"changelog.html":{}}}],["previously",{"_index":788,"title":{},"body":{"changelog.html":{}}}],["primitive",{"_index":468,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["primitive.attributes.position",{"_index":469,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["primitive.attributes.position.min",{"_index":470,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["priority",{"_index":607,"title":{},"body":{"interfaces/SpatialSceneNode.html":{}}}],["private",{"_index":248,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["process",{"_index":1172,"title":{},"body":{"changelog.html":{}}}],["processanatomicalstructures",{"_index":1261,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["processanatomicalstructures(sourceurl",{"_index":1414,"title":{},"body":{"miscellaneous/functions.html":{}}}],["processed",{"_index":1120,"title":{},"body":{"changelog.html":{}}}],["processednode",{"_index":503,"title":{"interfaces/ProcessedNode.html":{}},"body":{"interfaces/ProcessedNode.html":{},"coverage.html":{}}}],["processednode.bbox",{"_index":529,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["processednode['@id",{"_index":527,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["processextractionsites",{"_index":1263,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["processextractionsites(sourceurl",{"_index":1416,"title":{},"body":{"miscellaneous/functions.html":{}}}],["processing",{"_index":883,"title":{},"body":{"changelog.html":{}}}],["processreferencedata",{"_index":1265,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["processreferencedata(refentities",{"_index":1417,"title":{},"body":{"miscellaneous/functions.html":{}}}],["processscenenodes",{"_index":228,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["processscenenodes(gltfurl",{"_index":354,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["processspatialentities",{"_index":1270,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["processspatialentities(parent",{"_index":1419,"title":{},"body":{"miscellaneous/functions.html":{}}}],["production",{"_index":775,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":755,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":1177,"title":{},"body":{"changelog.html":{}}}],["projects",{"_index":1427,"title":{},"body":{"index.html":{}}}],["projects/.../body",{"_index":1398,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["projects/.../global",{"_index":1394,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../load",{"_index":1396,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../parse",{"_index":1399,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../process",{"_index":1395,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/.../scene",{"_index":1401,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["projects/.../simplify",{"_index":1400,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../spatial",{"_index":1397,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["projects/ccf",{"_index":6,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":128,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["promise(r",{"_index":326,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["properties",{"_index":14,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["props",{"_index":276,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["props.effects",{"_index":305,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["provided",{"_index":1230,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["providers",{"_index":815,"title":{},"body":{"changelog.html":{}}}],["public",{"_index":1156,"title":{},"body":{"changelog.html":{}}}],["publish",{"_index":1497,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":758,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":1519,"title":{},"body":{"license.html":{}}}],["pushed",{"_index":969,"title":{},"body":{"changelog.html":{}}}],["python",{"_index":645,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["qs",{"_index":1373,"title":{},"body":{"dependencies.html":{}}}],["qualitative",{"_index":1133,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":818,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":659,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["query",{"_index":1224,"title":{},"body":{"changelog.html":{}}}],["querying",{"_index":712,"title":{},"body":{"changelog.html":{}}}],["quickly",{"_index":1113,"title":{},"body":{"changelog.html":{}}}],["r.hits.length",{"_index":490,"title":{},"body":{"interfaces/Collision.html":{}}}],["rc.1",{"_index":1139,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":1375,"title":{},"body":{"dependencies.html":{}}}],["rdfjs",{"_index":1297,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":1317,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":1376,"title":{},"body":{"dependencies.html":{}}}],["readable",{"_index":1378,"title":{},"body":{"dependencies.html":{}}}],["readonly",{"_index":16,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["real",{"_index":1154,"title":{},"body":{"changelog.html":{}}}],["record",{"_index":138,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["rectify",{"_index":794,"title":{},"body":{"changelog.html":{}}}],["reduce",{"_index":959,"title":{},"body":{"changelog.html":{}}}],["reduction",{"_index":728,"title":{},"body":{"changelog.html":{}}}],["refentities",{"_index":1418,"title":{},"body":{"miscellaneous/functions.html":{}}}],["reference",{"_index":344,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["reference_organ",{"_index":572,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{}}}],["referencedataconfig",{"_index":1267,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["referenceorganconfigurl",{"_index":1554,"title":{},"body":{"miscellaneous/variables.html":{}}}],["refernced",{"_index":839,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":922,"title":{},"body":{"changelog.html":{}}}],["regions",{"_index":1217,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":1333,"title":{},"body":{"dependencies.html":{}}}],["registered",{"_index":789,"title":{},"body":{"changelog.html":{}}}],["registergltfloaders",{"_index":66,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/ProcessedNode.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["registration",{"_index":828,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["registrations",{"_index":947,"title":{},"body":{"changelog.html":{}}}],["registrations#1",{"_index":631,"title":{},"body":{"changelog.html":{}}}],["related",{"_index":998,"title":{},"body":{"changelog.html":{}}}],["release",{"_index":638,"title":{},"body":{"changelog.html":{}}}],["reliability",{"_index":1047,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":893,"title":{},"body":{"changelog.html":{}}}],["removed",{"_index":867,"title":{},"body":{"changelog.html":{}}}],["removes",{"_index":997,"title":{},"body":{"changelog.html":{}}}],["renderlayers",{"_index":22,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["report",{"_index":475,"title":{},"body":{"interfaces/Collision.html":{}}}],["report.push",{"_index":483,"title":{},"body":{"interfaces/Collision.html":{}}}],["repository",{"_index":1424,"title":{},"body":{"index.html":{}}}],["representation_of",{"_index":573,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{}}}],["required",{"_index":1101,"title":{},"body":{"changelog.html":{}}}],["resets",{"_index":924,"title":{},"body":{"changelog.html":{}}}],["resolved",{"_index":975,"title":{},"body":{"changelog.html":{}}}],["respond",{"_index":915,"title":{},"body":{"changelog.html":{}}}],["restriction",{"_index":1492,"title":{},"body":{"license.html":{}}}],["result",{"_index":193,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["results",{"_index":195,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["return",{"_index":81,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["returns",{"_index":38,"title":{},"body":{"classes/BodyUILayer.html":{},"miscellaneous/functions.html":{}}}],["returntype",{"_index":39,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["returntype['getpickinginfo",{"_index":191,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["rgb",{"_index":1352,"title":{},"body":{"dependencies.html":{}}}],["right",{"_index":588,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"changelog.html":{}}}],["rights",{"_index":1494,"title":{},"body":{"license.html":{}}}],["root",{"_index":932,"title":{},"body":{"changelog.html":{}}}],["rotates",{"_index":895,"title":{},"body":{"changelog.html":{}}}],["rotation",{"_index":208,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["rotation_units",{"_index":599,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["rotationorbit",{"_index":232,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["rotationx",{"_index":233,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["round",{"_index":1032,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":1051,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":710,"title":{},"body":{"changelog.html":{}}}],["ru/common",{"_index":1279,"title":{},"body":{"dependencies.html":{}}}],["rui",{"_index":669,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["rui_locations.jsonld",{"_index":745,"title":{},"body":{"changelog.html":{}}}],["rui_rank",{"_index":574,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["rxjs",{"_index":224,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":226,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["sad",{"_index":476,"title":{},"body":{"interfaces/Collision.html":{}}}],["sad.push(src",{"_index":486,"title":{},"body":{"interfaces/Collision.html":{}}}],["sample",{"_index":1229,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["samples",{"_index":961,"title":{},"body":{"changelog.html":{}}}],["saver",{"_index":1339,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":1178,"title":{},"body":{"changelog.html":{}}}],["scale(halfsize.toarray",{"_index":555,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["scaling_units",{"_index":595,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["scene",{"_index":62,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["scene.children",{"_index":513,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["scene.filter(d",{"_index":457,"title":{},"body":{"interfaces/Collision.html":{}}}],["scene.nodes",{"_index":512,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["scene.ts",{"_index":1274,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["scenegraph",{"_index":139,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scenegraphlayer",{"_index":48,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["scenegraphnode",{"_index":362,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/functions.html":{}}}],["scenegraphnodename",{"_index":1405,"title":{},"body":{"miscellaneous/functions.html":{}}}],["scenerotation",{"_index":263,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["scenerotationsubject",{"_index":252,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["scenetraversalvisitor",{"_index":1542,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["scheduled",{"_index":976,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":1182,"title":{},"body":{"changelog.html":{}}}],["schemes",{"_index":1134,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":1470,"title":{},"body":{"index.html":{}}}],["search",{"_index":673,"title":{},"body":{"changelog.html":{}}}],["searches",{"_index":686,"title":{},"body":{"changelog.html":{}}}],["section",{"_index":948,"title":{},"body":{"changelog.html":{}}}],["see",{"_index":714,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["select",{"_index":866,"title":{},"body":{"changelog.html":{}}}],["selected",{"_index":695,"title":{},"body":{"changelog.html":{}}}],["selecting",{"_index":750,"title":{},"body":{"changelog.html":{}}}],["selector",{"_index":748,"title":{},"body":{"changelog.html":{}}}],["selects",{"_index":1199,"title":{},"body":{"changelog.html":{}}}],["sell",{"_index":1501,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":1213,"title":{},"body":{"changelog.html":{}}}],["sennet",{"_index":769,"title":{},"body":{"changelog.html":{}}}],["sensitive",{"_index":627,"title":{},"body":{"changelog.html":{}}}],["server",{"_index":1185,"title":{},"body":{"changelog.html":{}}}],["set",{"_index":878,"title":{},"body":{"changelog.html":{}}}],["setinteractive(value",{"_index":375,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["setrotation(value",{"_index":371,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["setrotationx(value",{"_index":372,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["setscene(data",{"_index":331,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["settarget(value",{"_index":374,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["settimeout(r",{"_index":327,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["setup",{"_index":943,"title":{},"body":{"changelog.html":{}}}],["setzoom(value",{"_index":373,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["sex",{"_index":575,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"changelog.html":{}}}],["sexes",{"_index":1087,"title":{},"body":{"changelog.html":{}}}],["shall",{"_index":1508,"title":{},"body":{"license.html":{}}}],["share",{"_index":225,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["shared",{"_index":886,"title":{},"body":{"changelog.html":{}}}],["shared/spatial",{"_index":61,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["shortest",{"_index":1346,"title":{},"body":{"dependencies.html":{}}}],["show",{"_index":918,"title":{},"body":{"changelog.html":{}}}],["showing",{"_index":1119,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":1128,"title":{},"body":{"changelog.html":{}}}],["shows",{"_index":821,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":576,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"changelog.html":{}}}],["sides",{"_index":1089,"title":{},"body":{"changelog.html":{}}}],["significant",{"_index":927,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":851,"title":{},"body":{"changelog.html":{}}}],["simplemeshlayer",{"_index":49,"title":{},"body":{"classes/BodyUILayer.html":{},"miscellaneous/functions.html":{}}}],["simplifies",{"_index":941,"title":{},"body":{"changelog.html":{}}}],["simplifyscene",{"_index":1275,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["simplifyscene(nodes",{"_index":1421,"title":{},"body":{"miscellaneous/functions.html":{}}}],["site",{"_index":1550,"title":{},"body":{"miscellaneous/variables.html":{}}}],["sites",{"_index":831,"title":{},"body":{"changelog.html":{}}}],["sites.ts",{"_index":1262,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["sizable",{"_index":1046,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":508,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["size.clone().vmul(new",{"_index":548,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["slice_count",{"_index":577,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["slice_thickness",{"_index":578,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["slider",{"_index":1364,"title":{},"body":{"dependencies.html":{}}}],["slightly",{"_index":792,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":956,"title":{},"body":{"changelog.html":{}}}],["software",{"_index":1429,"title":{},"body":{"index.html":{},"license.html":{}}}],["solved",{"_index":1041,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":1110,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":762,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":952,"title":{},"body":{"changelog.html":{}}}],["source",{"_index":4,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{}}}],["sourceboxes",{"_index":435,"title":{},"body":{"interfaces/Collision.html":{}}}],["sources",{"_index":874,"title":{},"body":{"changelog.html":{}}}],["sourceurl",{"_index":1411,"title":{},"body":{"miscellaneous/functions.html":{}}}],["sparc",{"_index":946,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":658,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":558,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["spatialentityjsonld",{"_index":556,"title":{"interfaces/SpatialEntityJsonLd.html":{}},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"coverage.html":{}}}],["spatialobjectreferencejsonld",{"_index":583,"title":{"interfaces/SpatialObjectReferenceJsonLd.html":{}},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"coverage.html":{}}}],["spatialplacementjsonld",{"_index":584,"title":{"interfaces/SpatialPlacementJsonLd.html":{}},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"coverage.html":{}}}],["spatialscenegeometry",{"_index":610,"title":{},"body":{"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["spatialscenenode",{"_index":60,"title":{"interfaces/SpatialSceneNode.html":{}},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["spec",{"_index":590,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"changelog.html":{}}}],["spec.yaml",{"_index":1452,"title":{},"body":{"index.html":{}}}],["specific",{"_index":812,"title":{},"body":{"changelog.html":{}}}],["specification",{"_index":1451,"title":{},"body":{"index.html":{}}}],["speed",{"_index":725,"title":{},"body":{"changelog.html":{}}}],["sphere",{"_index":86,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["spheregeometry",{"_index":56,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["spinal",{"_index":704,"title":{},"body":{"changelog.html":{}}}],["spinning",{"_index":1183,"title":{},"body":{"changelog.html":{}}}],["sprint",{"_index":979,"title":{},"body":{"changelog.html":{}}}],["src",{"_index":477,"title":{},"body":{"interfaces/Collision.html":{}}}],["src.bbox.overlaps(target.bbox",{"_index":478,"title":{},"body":{"interfaces/Collision.html":{}}}],["src.entityid",{"_index":484,"title":{},"body":{"interfaces/Collision.html":{}}}],["src.name",{"_index":485,"title":{},"body":{"interfaces/Collision.html":{}}}],["srcevent",{"_index":385,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["stage",{"_index":1020,"title":{},"body":{"changelog.html":{}}}],["staging",{"_index":776,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["standalone",{"_index":1036,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":1093,"title":{},"body":{"changelog.html":{}}}],["standards",{"_index":1187,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":1433,"title":{},"body":{"index.html":{}}}],["started",{"_index":612,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["starts",{"_index":1236,"title":{},"body":{"changelog.html":{}}}],["startup",{"_index":939,"title":{},"body":{"changelog.html":{}}}],["state",{"_index":134,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["state.data",{"_index":140,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["state.docollisions",{"_index":186,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["state.zoomopacity",{"_index":162,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["statements",{"_index":1239,"title":{},"body":{"coverage.html":{}}}],["static",{"_index":15,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["stay",{"_index":1234,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":964,"title":{},"body":{"changelog.html":{}}}],["stories",{"_index":1175,"title":{},"body":{"changelog.html":{}}}],["stream",{"_index":1379,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":1377,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":30,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/functions.html":{}}}],["structure",{"_index":993,"title":{},"body":{"changelog.html":{}}}],["structures",{"_index":982,"title":{},"body":{"changelog.html":{}}}],["structures.ts",{"_index":1260,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["styles",{"_index":1209,"title":{},"body":{"changelog.html":{}}}],["styling",{"_index":847,"title":{},"body":{"changelog.html":{}}}],["subject",{"_index":223,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"license.html":{}}}],["subject.next",{"_index":415,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["sublicense",{"_index":1499,"title":{},"body":{"license.html":{}}}],["substantial",{"_index":1510,"title":{},"body":{"license.html":{}}}],["such",{"_index":657,"title":{},"body":{"changelog.html":{}}}],["support",{"_index":662,"title":{},"body":{"changelog.html":{}}}],["swiper",{"_index":1382,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":83,"title":{},"body":{"classes/BodyUILayer.html":{},"changelog.html":{}}}],["switched",{"_index":1054,"title":{},"body":{"changelog.html":{}}}],["sync",{"_index":896,"title":{},"body":{"changelog.html":{}}}],["table",{"_index":1278,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":784,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":1277,"title":{},"body":{"coverage.html":{}}}],["tagging",{"_index":1091,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":809,"title":{},"body":{"changelog.html":{}}}],["target",{"_index":209,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["target.name",{"_index":481,"title":{},"body":{"interfaces/Collision.html":{}}}],["target['@id",{"_index":480,"title":{},"body":{"interfaces/Collision.html":{}}}],["targetboxes",{"_index":456,"title":{},"body":{"interfaces/Collision.html":{}}}],["targetboxes.push",{"_index":473,"title":{},"body":{"interfaces/Collision.html":{}}}],["technologies",{"_index":1206,"title":{},"body":{"changelog.html":{}}}],["technology",{"_index":1024,"title":{},"body":{"changelog.html":{}}}],["telemetry",{"_index":889,"title":{},"body":{"changelog.html":{}}}],["terms",{"_index":654,"title":{},"body":{"changelog.html":{}}}],["test",{"_index":361,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{}}}],["testing",{"_index":1100,"title":{},"body":{"changelog.html":{}}}],["text",{"_index":124,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["textlayer",{"_index":46,"title":{},"body":{"classes/BodyUILayer.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["textlayer(id",{"_index":119,"title":{},"body":{"classes/BodyUILayer.html":{},"miscellaneous/functions.html":{}}}],["theme",{"_index":770,"title":{},"body":{"changelog.html":{}}}],["themes",{"_index":768,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":765,"title":{},"body":{"changelog.html":{}}}],["this._dragevent(info",{"_index":407,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this._onclick",{"_index":289,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this._ondrag",{"_index":295,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this._ondragend",{"_index":297,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this._ondragstart",{"_index":293,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this._onhover",{"_index":287,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this._onviewstatechange",{"_index":291,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.bodyuilayer",{"_index":285,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.bodyuilayer.setstate",{"_index":338,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.bodyuilayer.state",{"_index":323,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.cursor",{"_index":300,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.debugscenenodeprocessing(data",{"_index":339,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.deck",{"_index":308,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.deck.finalize",{"_index":330,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.deck.props.viewstate",{"_index":368,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.deck.setprops",{"_index":310,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.deckprops.debugscenenodeprocessing",{"_index":337,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.lasthovered",{"_index":382,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodeclicksubject.next",{"_index":390,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodeclicksubject.pipe(share",{"_index":258,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodedragendsubject",{"_index":412,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodedragendsubject.pipe(share",{"_index":270,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodedragstartsubject",{"_index":408,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodedragstartsubject.pipe(share",{"_index":266,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodedragsubject",{"_index":410,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodedragsubject.pipe(share",{"_index":268,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodehoverstartsubject.next(e.object",{"_index":383,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodehoverstartsubject.pipe(share",{"_index":260,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodehoverstopsubject.next(lasthovered",{"_index":381,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.nodehoverstopsubject.pipe(share",{"_index":262,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.props",{"_index":130,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["this.scenerotationsubject.next([deckprops.rotation",{"_index":320,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.scenerotationsubject.next([event.viewstate.rotationorbit",{"_index":404,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.scenerotationsubject.pipe(share",{"_index":264,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["this.setstate",{"_index":131,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["this.state",{"_index":135,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["this.zoomto(node",{"_index":335,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["through",{"_index":1112,"title":{},"body":{"changelog.html":{}}}],["thumbnails",{"_index":991,"title":{},"body":{"changelog.html":{}}}],["tied",{"_index":995,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":1121,"title":{},"body":{"changelog.html":{}}}],["timeouts",{"_index":738,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":729,"title":{},"body":{"changelog.html":{}}}],["tissue",{"_index":494,"title":{},"body":{"interfaces/Collision.html":{},"changelog.html":{}}}],["tissues",{"_index":790,"title":{},"body":{"changelog.html":{}}}],["tmc",{"_index":1225,"title":{},"body":{"changelog.html":{}}}],["toggle",{"_index":766,"title":{},"body":{"changelog.html":{}}}],["tool",{"_index":1037,"title":{},"body":{"changelog.html":{}}}],["tooltip",{"_index":528,"title":{},"body":{"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{}}}],["tort",{"_index":1531,"title":{},"body":{"license.html":{}}}],["tracking/telemetry",{"_index":907,"title":{},"body":{"changelog.html":{}}}],["transformmatrix",{"_index":114,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{}}}],["translate(center.toarray",{"_index":554,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["translation_units",{"_index":603,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["transparency",{"_index":1038,"title":{},"body":{"changelog.html":{}}}],["traversal",{"_index":431,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["traversal.ts",{"_index":1272,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["traversescene",{"_index":430,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["traversescene(gltfscene",{"_index":463,"title":{},"body":{"interfaces/Collision.html":{}}}],["traversescene(scene",{"_index":521,"title":{},"body":{"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["travisci",{"_index":1058,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":1180,"title":{},"body":{"changelog.html":{}}}],["true",{"_index":94,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["try",{"_index":1075,"title":{},"body":{"changelog.html":{}}}],["ts",{"_index":1384,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":1387,"title":{},"body":{"dependencies.html":{}}}],["tuned",{"_index":1235,"title":{},"body":{"changelog.html":{}}}],["turn",{"_index":1018,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":999,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":996,"title":{},"body":{"changelog.html":{}}}],["tutorial",{"_index":869,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":1132,"title":{},"body":{"changelog.html":{}}}],["type",{"_index":23,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":1540,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["types",{"_index":742,"title":{},"body":{"changelog.html":{}}}],["types/lru",{"_index":1318,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":108,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":1195,"title":{},"body":{"changelog.html":{}}}],["ub",{"_index":543,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["ub.clone().vsub(lb",{"_index":546,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["ufl",{"_index":990,"title":{},"body":{"changelog.html":{}}}],["ui",{"_index":9,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"index.html":{}}}],["ui.netlify.app",{"_index":1436,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":1445,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":1442,"title":{},"body":{"index.html":{}}}],["ui.ts",{"_index":199,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["ui/organ",{"_index":1444,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":1443,"title":{},"body":{"index.html":{}}}],["ui/src/global",{"_index":1240,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["ui/src/lib/body",{"_index":8,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["ui/src/lib/shared/ccf",{"_index":557,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"coverage.html":{}}}],["ui/src/lib/shared/spatial",{"_index":605,"title":{},"body":{"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["ui/src/lib/util/load",{"_index":1253,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["ui/src/lib/util/parse",{"_index":1256,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["ui/src/lib/util/process",{"_index":504,"title":{},"body":{"interfaces/ProcessedNode.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["ui/src/lib/util/scene",{"_index":1271,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["ui/src/lib/util/simplify",{"_index":1273,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["ui/src/lib/util/spatial",{"_index":417,"title":{},"body":{"interfaces/Collision.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["uis",{"_index":641,"title":{},"body":{"changelog.html":{}}}],["undefined",{"_index":78,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{},"miscellaneous/functions.html":{}}}],["university",{"_index":1472,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":77,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/Collision.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{}}}],["unnecessary",{"_index":892,"title":{},"body":{"changelog.html":{}}}],["unpickable",{"_index":608,"title":{},"body":{"interfaces/SpatialSceneNode.html":{}}}],["unselect",{"_index":958,"title":{},"body":{"changelog.html":{}}}],["until",{"_index":1002,"title":{},"body":{"changelog.html":{}}}],["up",{"_index":719,"title":{},"body":{"changelog.html":{}}}],["update",{"_index":666,"title":{},"body":{"changelog.html":{}}}],["updated",{"_index":625,"title":{},"body":{"changelog.html":{}}}],["updated_date",{"_index":579,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["updates",{"_index":709,"title":{},"body":{"changelog.html":{}}}],["upgraded",{"_index":1117,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":1201,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":912,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":1033,"title":{},"body":{"changelog.html":{}}}],["upperbound",{"_index":444,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["upperbound[i",{"_index":452,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["url",{"_index":127,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/ProcessedNode.html":{}}}],["url2gltf",{"_index":146,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["url2gltf[m.scenegraph",{"_index":152,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["url2gltf[model.scenegraph",{"_index":168,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["usage",{"_index":643,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":1458,"title":{},"body":{"index.html":{}}}],["use",{"_index":640,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["usecase",{"_index":1463,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":1460,"title":{},"body":{"index.html":{}}}],["used",{"_index":1017,"title":{},"body":{"changelog.html":{}}}],["user",{"_index":617,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["user/os",{"_index":881,"title":{},"body":{"changelog.html":{}}}],["users",{"_index":1220,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":899,"title":{},"body":{"changelog.html":{}}}],["using",{"_index":854,"title":{},"body":{"changelog.html":{}}}],["util/load",{"_index":67,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["util/process",{"_index":229,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["util/spatial",{"_index":70,"title":{},"body":{"classes/BodyUILayer.html":{}}}],["utilities",{"_index":887,"title":{},"body":{"changelog.html":{}}}],["uuid",{"_index":1388,"title":{},"body":{"dependencies.html":{}}}],["v1.1",{"_index":785,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":652,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":639,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":1016,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":787,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":779,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":740,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":701,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":667,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":715,"title":{},"body":{"changelog.html":{}}}],["v2.1.0",{"_index":650,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":635,"title":{},"body":{"changelog.html":{}}}],["v3",{"_index":672,"title":{},"body":{"changelog.html":{}}}],["value",{"_index":27,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["variable",{"_index":1266,"title":{},"body":{"coverage.html":{}}}],["variables",{"_index":1543,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["vec3",{"_index":427,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["vec3(...lowerbound.map((n",{"_index":450,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["vec3(...upperbound.map((n",{"_index":453,"title":{},"body":{"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{}}}],["vec3(0.5",{"_index":549,"title":{},"body":{"interfaces/ProcessedNode.html":{}}}],["version",{"_index":800,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["very",{"_index":1107,"title":{},"body":{"changelog.html":{}}}],["vhf_kidney_l_low1').then((results",{"_index":355,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["vhf_kidney_r_low",{"_index":363,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["via",{"_index":735,"title":{},"body":{"changelog.html":{}}}],["video",{"_index":913,"title":{},"body":{"changelog.html":{}}}],["view",{"_index":898,"title":{},"body":{"changelog.html":{}}}],["viewer",{"_index":984,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":692,"title":{},"body":{"changelog.html":{}}}],["views",{"_index":277,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"changelog.html":{}}}],["viewstate",{"_index":311,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["viewstateprops",{"_index":218,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["visitor",{"_index":1422,"title":{},"body":{"miscellaneous/functions.html":{}}}],["visual",{"_index":690,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":949,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":1118,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":41,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"miscellaneous/functions.html":{}}}],["vs",{"_index":864,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":1231,"title":{},"body":{"changelog.html":{}}}],["walkthrough",{"_index":1459,"title":{},"body":{"index.html":{}}}],["warming",{"_index":734,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":1141,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":1515,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1512,"title":{},"body":{"license.html":{}}}],["web",{"_index":732,"title":{},"body":{"changelog.html":{}}}],["webcomponent",{"_index":863,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":1319,"title":{},"body":{"dependencies.html":{}}}],["webpages",{"_index":806,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":1431,"title":{},"body":{"index.html":{}}}],["week",{"_index":1237,"title":{},"body":{"changelog.html":{}}}],["whether",{"_index":1528,"title":{},"body":{"license.html":{}}}],["whole",{"_index":1233,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":917,"title":{},"body":{"changelog.html":{}}}],["wireframe",{"_index":111,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/Collision.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["within",{"_index":988,"title":{},"body":{"changelog.html":{}}}],["without",{"_index":826,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["workflows",{"_index":1060,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":793,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":1079,"title":{},"body":{"changelog.html":{}}}],["worldmatrix",{"_index":516,"title":{},"body":{"interfaces/ProcessedNode.html":{},"miscellaneous/functions.html":{}}}],["wrapper",{"_index":245,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["x",{"_index":236,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["x_dimension",{"_index":580,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["x_rotation",{"_index":596,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["x_scaling",{"_index":592,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["x_translation",{"_index":600,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["y",{"_index":237,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["y_dimension",{"_index":581,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["y_rotation",{"_index":597,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["y_scaling",{"_index":593,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["y_translation",{"_index":601,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["yes",{"_index":1403,"title":{},"body":{"miscellaneous/functions.html":{}}}],["youtube",{"_index":833,"title":{},"body":{"changelog.html":{}}}],["z_dimension",{"_index":582,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["z_rotation",{"_index":598,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["z_scaling",{"_index":594,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["z_translation",{"_index":602,"title":{},"body":{"interfaces/SpatialEntityJsonLd.html":{},"interfaces/SpatialObjectReferenceJsonLd.html":{},"interfaces/SpatialPlacementJsonLd.html":{}}}],["zone.js",{"_index":1390,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":210,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["zoombasedopacity",{"_index":364,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{},"interfaces/ProcessedNode.html":{},"interfaces/SpatialSceneNode.html":{}}}],["zoomopacity",{"_index":132,"title":{},"body":{"classes/BodyUILayer.html":{},"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["zoomto(node",{"_index":365,"title":{},"body":{"interfaces/BodyUIProps.html":{},"interfaces/BodyUIViewStateProps.html":{},"interfaces/PickInfo.html":{}}}],["zoomtoonload",{"_index":609,"title":{},"body":{"interfaces/SpatialSceneNode.html":{}}}]],"pipeline":["stemmer"]}, + "store": {"classes/BodyUILayer.html":{"url":"classes/BodyUILayer.html","title":"class - BodyUILayer","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BodyUILayer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/body-ui-layer.ts\n \n\n\n\n \n Extends\n \n \n CompositeLayer\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n gltfCache\n \n \n Static\n Readonly\n layerName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getPickingInfo\n \n \n initializeState\n \n \n renderLayers\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n gltfCache\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in projects/ccf-body-ui/src/lib/body-ui-layer.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n Static\n Readonly\n layerName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'BodyUILayer'\n \n \n \n \n Defined in projects/ccf-body-ui/src/lib/body-ui-layer.ts:71\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getPickingInfo\n \n \n \n \n \n \ngetPickingInfo(e)\n \n \n\n\n \n \n Defined in projects/ccf-body-ui/src/lib/body-ui-layer.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n e\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ReturnType<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n initializeState\n \n \n \n \n \n \ninitializeState()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui/src/lib/body-ui-layer.ts:74\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n renderLayers\n \n \n \n \n \n \nrenderLayers()\n \n \n\n\n \n \n Defined in projects/ccf-body-ui/src/lib/body-ui-layer.ts:80\n \n \n\n\n \n \n\n \n Returns : []\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CompositeLayer, COORDINATE_SYSTEM } from '@deck.gl/core';\nimport { TextLayer } from '@deck.gl/layers';\nimport { ScenegraphLayer, SimpleMeshLayer } from '@deck.gl/mesh-layers';\nimport { ConeGeometry, CubeGeometry, CylinderGeometry, Geometry, SphereGeometry } from '@luma.gl/core';\nimport { Matrix4 } from '@math.gl/core';\n\nimport { SpatialSceneNode } from './shared/spatial-scene-node';\nimport { loadGLTF, loadGLTF2, registerGLTFLoaders } from './util/load-gltf';\nimport { doCollisions } from './util/spatial-scene-collider';\n\n\nfunction meshLayer(id: string, data: SpatialSceneNode[], options: { [key: string]: unknown }): SimpleMeshLayer | undefined {\n if (!data || data.length === 0) {\n return undefined;\n } else {\n let mesh: Geometry;\n switch (options.geometry) {\n case 'sphere':\n mesh = new SphereGeometry();\n break;\n case 'cone':\n mesh = new ConeGeometry();\n break;\n case 'cylinder':\n mesh = new CylinderGeometry();\n break;\n case 'cube':\n default:\n mesh = new CubeGeometry();\n break;\n }\n return new SimpleMeshLayer({\n ...{\n id,\n pickable: true,\n autoHighlight: false,\n highlightColor: [30, 136, 229, 255],\n coordinateSystem: COORDINATE_SYSTEM.CARTESIAN,\n data,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mesh: mesh as any,\n wireframe: false,\n getTransformMatrix: (d) => (d as { transformMatrix: number[][] }).transformMatrix,\n getColor: (d) => (d as { color: [number, number, number, number] }).color || [255, 255, 255, 0.9*255]\n },\n ...options\n });\n }\n}\n\nfunction textLayer(id: string, data: SpatialSceneNode[], options: { [key: string]: unknown }): TextLayer | undefined {\n if (!data || data.length === 0) {\n return undefined;\n } else {\n return new TextLayer({\n ...{\n id,\n pickable: true,\n data: data.map(d => ({ ...d, position: new Matrix4(d.transformMatrix).getTranslation() })),\n getText: (d) => (d as { text: string }).text,\n getPosition: (d) => (d as { position: [number, number] }).position,\n getColor: (d) => (d as { color: [number, number, number, number] }).color\n },\n ...options\n });\n }\n}\n\nexport class BodyUILayer extends CompositeLayer {\n static readonly layerName = 'BodyUILayer';\n static readonly gltfCache: { [url: string]: Promise } = {};\n\n initializeState(): void {\n const { data } = this.props;\n this.setState({ data: data ?? [], zoomOpacity: 0.8, doCollisions: false });\n registerGLTFLoaders();\n }\n\n renderLayers(): unknown[] {\n const state = this.state as { data: SpatialSceneNode[]; zoomOpacity: number; doCollisions: boolean };\n const geometries: Record = {\n 'sphere': [], 'cone': [], 'cylinder': [], 'cube': [], 'text': [], 'wireframe': [], 'scenegraph': []\n };\n\n for (const node of state.data) {\n const geometry = node.geometry ?? 'cube';\n if (node.scenegraph) {\n geometries.scenegraph.push(node);\n } else if (geometries[geometry] !== undefined) {\n geometries[geometry].push(node);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const url2gltf: { [url: string]: Promise } = {};\n for (const m of geometries.scenegraph) {\n if (m.scenegraph && m.scenegraphNode && !Object.prototype.hasOwnProperty.call(url2gltf, m.scenegraph)) {\n url2gltf[m.scenegraph] = loadGLTF({ scenegraph: m.scenegraph } as SpatialSceneNode, BodyUILayer.gltfCache);\n }\n }\n\n const layers: unknown[] = [];\n for (const [geometry, nodes] of Object.entries(geometries)) {\n if (geometry === 'scenegraph') {\n for (const model of nodes) {\n layers.push(\n new ScenegraphLayer({\n id: 'models-' + model['@id'],\n opacity: model.zoomBasedOpacity ? state.zoomOpacity : (model.opacity !== undefined ? model.opacity : 1.0),\n pickable: !model.unpickable,\n coordinateSystem: COORDINATE_SYSTEM.CARTESIAN,\n data: [model],\n scenegraph: model.scenegraphNode ?\n loadGLTF2(model.scenegraphNode, url2gltf[model.scenegraph as string]) :\n model.scenegraph as unknown as URL,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: model._lighting, // 'pbr' | undefined\n getTransformMatrix: model.transformMatrix as unknown as number[][],\n getColor: model.color ?? [0, 255, 0, 0.5*255],\n parameters: { depthMask: !model.zoomBasedOpacity && (model.opacity === undefined || model.opacity === 1) }\n })\n );\n }\n } else if (geometry === 'text') {\n layers.push(textLayer('text', nodes.filter(n => n.unpickable), { pickable: false }));\n layers.push(textLayer('textPickable', nodes.filter(n => !n.unpickable), { pickable: true }));\n } else if (geometry === 'wireframe') {\n layers.push(meshLayer(geometry, nodes, { wireframe: true, pickable: false, geometry }));\n } else {\n layers.push(meshLayer(geometry, nodes.filter(n => n.unpickable), { wireframe: false, pickable: false, geometry }));\n layers.push(meshLayer(`${geometry}Pickable`, nodes.filter(n => !n.unpickable), { wireframe: false, pickable: true, geometry }));\n }\n }\n\n if (state.doCollisions) {\n doCollisions(state.data);\n }\n\n return layers.filter(l => !!l);\n }\n\n getPickingInfo(\n e: Parameters['getPickingInfo']>[0]\n ): ReturnType['getPickingInfo']> {\n return e.info;\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BodyUIProps.html":{"url":"interfaces/BodyUIProps.html","title":"interface - BodyUIProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BodyUIProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/body-ui.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n camera\n \n \n \n \n canvas\n \n \n \n Optional\n \n debugSceneNodeProcessing\n \n \n \n \n id\n \n \n \n \n interactive\n \n \n \n Optional\n \n legacyLighting\n \n \n \n \n maxRotationX\n \n \n \n \n minRotationX\n \n \n \n \n parent\n \n \n \n \n rotation\n \n \n \n \n target\n \n \n \n \n zoom\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n camera\n \n \n \n \n \n \n \n \n camera: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n canvas\n \n \n \n \n \n \n \n \n canvas: string | HTMLCanvasElement\n\n \n \n\n\n \n \n Type : string | HTMLCanvasElement\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n debugSceneNodeProcessing\n \n \n \n \n \n \n \n \n debugSceneNodeProcessing: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n interactive\n \n \n \n \n \n \n \n \n interactive: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n legacyLighting\n \n \n \n \n \n \n \n \n legacyLighting: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n maxRotationX\n \n \n \n \n \n \n \n \n maxRotationX: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n minRotationX\n \n \n \n \n \n \n \n \n minRotationX: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parent\n \n \n \n \n \n \n \n \n parent: HTMLElement\n\n \n \n\n\n \n \n Type : HTMLElement\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rotation\n \n \n \n \n \n \n \n \n rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: Matrix4 | number[]\n\n \n \n\n\n \n \n Type : Matrix4 | number[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n zoom\n \n \n \n \n \n \n \n \n zoom: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AmbientLight, Deck, LightingEffect, OrbitView, OrthographicView } from '@deck.gl/core';\nimport { ViewStateProps } from '@deck.gl/core/lib/deck';\nimport { Matrix4 } from '@math.gl/core';\nimport bind from 'bind-decorator';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { share } from 'rxjs/operators';\n\nimport { BodyUILayer } from './body-ui-layer';\nimport { SpatialSceneNode } from './shared/spatial-scene-node';\nimport { processSceneNodes } from './util/process-scene-nodes';\n\n\ninterface BodyUIViewStateProps extends ViewStateProps {\n orbitAxis?: string;\n target?: Matrix4 | number[];\n zoom: number;\n rotationOrbit: number;\n rotationX: number;\n camera: string;\n}\n\nexport interface BodyUIProps {\n id: string;\n canvas: string | HTMLCanvasElement;\n parent: HTMLElement;\n debugSceneNodeProcessing?: boolean;\n target: Matrix4 | number[];\n interactive: boolean;\n rotation: number;\n minRotationX: number;\n maxRotationX: number;\n zoom: number;\n legacyLighting?: boolean;\n camera: string;\n}\n\nexport interface PickInfo {\n layer: unknown;\n index: number;\n object: D;\n x: number;\n y: number;\n coordinate?: unknown;\n picked?: boolean;\n}\n\nexport type NodeDragEvent = { node: SpatialSceneNode; info: PickInfo; e: MouseEvent };\n\nexport type NodeClickEvent = { node: SpatialSceneNode; ctrlClick: boolean };\n\n/**\n * A convenience wrapper class for the CCF Body UI\n */\nexport class BodyUI {\n deck: Deck;\n private readonly bodyUILayer = new BodyUILayer({});\n\n private readonly nodeClickSubject = new Subject();\n private readonly nodeHoverStartSubject = new Subject();\n private readonly nodeHoverStopSubject = new Subject();\n private readonly sceneRotationSubject = new BehaviorSubject([0, 0]);\n private readonly nodeDragStartSubject = new Subject();\n private readonly nodeDragSubject = new Subject();\n private readonly nodeDragEndSubject = new Subject();\n\n readonly nodeClick$ = this.nodeClickSubject.pipe(share());\n readonly nodeHoverStart$ = this.nodeHoverStartSubject.pipe(share());\n readonly nodeHoverStop$ = this.nodeHoverStopSubject.pipe(share());\n readonly sceneRotation$ = this.sceneRotationSubject.pipe(share());\n readonly nodeDragStart$ = this.nodeDragStartSubject.pipe(share());\n readonly nodeDrag$ = this.nodeDragSubject.pipe(share());\n readonly nodeDragEnd$ = this.nodeDragEndSubject.pipe(share());\n\n private cursor?: string;\n private lastHovered?: SpatialSceneNode;\n\n constructor(private deckProps: Partial) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const props: any = {\n ...deckProps,\n views: [ deckProps.camera === 'orthographic' ? new OrthographicView({\n flipY: false,\n near: -1000\n }) : new OrbitView({ orbitAxis: 'Y' }) ],\n controller: deckProps.interactive !== undefined ? deckProps.interactive : true,\n layers: [ this.bodyUILayer ],\n onHover: this._onHover,\n onClick: this._onClick,\n onViewStateChange: this._onViewStateChange,\n onDragStart: this._onDragStart,\n onDrag: this._onDrag,\n onDragEnd: this._onDragEnd,\n getCursor: (e: { isDragging: boolean }) => this.cursor ?? (e.isDragging ? 'grabbing' : 'grab')\n };\n if (deckProps.legacyLighting) {\n // eslint-disable-next-line\n props.effects = [\n new LightingEffect({\n ambientLight: new AmbientLight({\n color: [255, 255, 255],\n intensity: 10.0\n })\n })\n ];\n }\n // eslint-disable-next-line\n this.deck = new Deck(props);\n this.deck.setProps({\n viewState: {\n orbitAxis: 'Y',\n minRotationX: deckProps.minRotationX ?? -15,\n maxRotationX: deckProps.maxRotationX ?? 15,\n target: deckProps.target ?? [0.5, 0.5, 0],\n rotationX: 0,\n rotationOrbit: deckProps.rotation ?? 0,\n zoom: deckProps.zoom ?? 9.5,\n camera: deckProps.camera\n } as BodyUIViewStateProps\n });\n if (deckProps.rotation) {\n this.sceneRotationSubject.next([deckProps.rotation, 0]);\n }\n }\n\n async initialize(): Promise {\n while (!this.bodyUILayer.state) {\n // eslint-disable-next-line no-await-in-loop\n await new Promise(r => {\n setTimeout(r, 200);\n });\n }\n }\n\n finalize(): void {\n this.deck.finalize();\n }\n\n setScene(data: SpatialSceneNode[]): void {\n if (data?.length > 0) {\n let zoomOpacity = (this.bodyUILayer.state as { zoomOpacity: number }).zoomOpacity;\n let didZoom = false;\n for (const node of data) {\n if (node.zoomToOnLoad) {\n this.zoomTo(node);\n didZoom = true;\n }\n }\n zoomOpacity = didZoom ? 0.05 : zoomOpacity;\n if (!this.deckProps.debugSceneNodeProcessing) {\n this.bodyUILayer.setState({ data, zoomOpacity });\n } else {\n this.debugSceneNodeProcessing(data, zoomOpacity);\n }\n }\n }\n\n debugSceneNodeProcessing(data: SpatialSceneNode[], zoomOpacity: number): void {\n // const gltfUrl = 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Male/United/VHM_United_Color.glb';\n const gltfUrl = 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb';\n // const gltfUrl = 'https://hubmapconsortium.github.io/hubmap-ontology/objects/VHF_United_v01_060420.glb';\n const gltfTransform = new Matrix4([0.076,0,0,0,0,0.076,1.6875389974302382e-17,0,0,-1.6875389974302382e-17,0.076,0,0.49,0.034,0.11,1]);\n processSceneNodes(gltfUrl, gltfTransform, 'VHF_Kidney_L_Low1').then((results) => {\n console.log('results', results);\n console.log('data', data);\n // data = Object.values(results);\n data = data.concat(Object.values(results));\n data.push({\n '@id': 'TEST',\n '@type': 'TEST',\n scenegraph: gltfUrl,\n scenegraphNode: 'VHF_Kidney_R_Low',\n transformMatrix: gltfTransform,\n color: [255, 255, 255, 200],\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false\n });\n this.bodyUILayer.setState({ data, zoomOpacity });\n });\n }\n\n zoomTo(node: SpatialSceneNode): void {\n const matrix = new Matrix4(node.transformMatrix);\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n target: matrix.getTranslation(),\n rotationX: 0,\n rotationOrbit: 0,\n zoom: 11.5,\n } as BodyUIViewStateProps\n });\n }\n\n setRotation(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n rotationOrbit: value\n } as BodyUIViewStateProps\n });\n }\n\n setRotationX(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n rotationX: value\n } as BodyUIViewStateProps\n });\n }\n\n setZoom(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n zoom: value\n } as BodyUIViewStateProps\n });\n }\n\n setTarget(value: number[]): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n target: value\n } as BodyUIViewStateProps\n });\n }\n\n setInteractive(value: boolean): void {\n this.deck.setProps({\n controller: value\n });\n }\n\n @bind\n private _onHover(e: { picked: boolean; object: SpatialSceneNode }): void {\n const { lastHovered } = this;\n this.cursor = e.picked ? 'pointer' : undefined;\n if (e.picked && e.object && e.object['@id']) {\n if (lastHovered !== e.object) {\n if (lastHovered) {\n this.nodeHoverStopSubject.next(lastHovered);\n }\n this.lastHovered = e.object;\n this.nodeHoverStartSubject.next(e.object);\n }\n } else if (lastHovered) {\n this.nodeHoverStopSubject.next(lastHovered);\n this.lastHovered = undefined;\n }\n }\n\n @bind\n private _onClick(info: PickInfo, e: { srcEvent: { ctrlKey: boolean } }): void {\n if (info.picked && info.object && info.object['@id']) {\n this.nodeClickSubject.next({ node: info.object, ctrlClick: e?.srcEvent?.ctrlKey ?? undefined });\n }\n }\n\n @bind\n private _onViewStateChange(event: { interactionState: { isZooming: boolean }; viewState: BodyUIViewStateProps }): void {\n if (event.interactionState?.isZooming) {\n const currentState = this.bodyUILayer.state as { zoomOpacity: number; data: unknown };\n const zoomOpacity = Math.min(Math.max(1 - (event.viewState.zoom - 8.9) / 2, 0.05), 1.0);\n if (currentState.zoomOpacity !== zoomOpacity) {\n this.bodyUILayer.setState({ data: currentState.data, zoomOpacity });\n }\n }\n this.deck.setProps({ viewState: { ...event.viewState } });\n this.sceneRotationSubject.next([event.viewState.rotationOrbit, event.viewState.rotationX]);\n }\n\n @bind\n private _onDragStart(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragStartSubject);\n }\n\n @bind\n private _onDrag(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragSubject);\n }\n\n @bind\n private _onDragEnd(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragEndSubject);\n }\n\n private _dragEvent(info: PickInfo, e: MouseEvent, subject: Subject): void {\n if (info?.object?.['@id']) {\n subject.next({ node: info.object, info, e });\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BodyUIViewStateProps.html":{"url":"interfaces/BodyUIViewStateProps.html","title":"interface - BodyUIViewStateProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BodyUIViewStateProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/body-ui.ts\n \n\n\n\n \n Extends\n \n \n ViewStateProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n camera\n \n \n \n Optional\n \n orbitAxis\n \n \n \n \n rotationOrbit\n \n \n \n \n rotationX\n \n \n \n Optional\n \n target\n \n \n \n \n zoom\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n camera\n \n \n \n \n \n \n \n \n camera: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n orbitAxis\n \n \n \n \n \n \n \n \n orbitAxis: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n rotationOrbit\n \n \n \n \n \n \n \n \n rotationOrbit: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rotationX\n \n \n \n \n \n \n \n \n rotationX: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: Matrix4 | number[]\n\n \n \n\n\n \n \n Type : Matrix4 | number[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n zoom\n \n \n \n \n \n \n \n \n zoom: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AmbientLight, Deck, LightingEffect, OrbitView, OrthographicView } from '@deck.gl/core';\nimport { ViewStateProps } from '@deck.gl/core/lib/deck';\nimport { Matrix4 } from '@math.gl/core';\nimport bind from 'bind-decorator';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { share } from 'rxjs/operators';\n\nimport { BodyUILayer } from './body-ui-layer';\nimport { SpatialSceneNode } from './shared/spatial-scene-node';\nimport { processSceneNodes } from './util/process-scene-nodes';\n\n\ninterface BodyUIViewStateProps extends ViewStateProps {\n orbitAxis?: string;\n target?: Matrix4 | number[];\n zoom: number;\n rotationOrbit: number;\n rotationX: number;\n camera: string;\n}\n\nexport interface BodyUIProps {\n id: string;\n canvas: string | HTMLCanvasElement;\n parent: HTMLElement;\n debugSceneNodeProcessing?: boolean;\n target: Matrix4 | number[];\n interactive: boolean;\n rotation: number;\n minRotationX: number;\n maxRotationX: number;\n zoom: number;\n legacyLighting?: boolean;\n camera: string;\n}\n\nexport interface PickInfo {\n layer: unknown;\n index: number;\n object: D;\n x: number;\n y: number;\n coordinate?: unknown;\n picked?: boolean;\n}\n\nexport type NodeDragEvent = { node: SpatialSceneNode; info: PickInfo; e: MouseEvent };\n\nexport type NodeClickEvent = { node: SpatialSceneNode; ctrlClick: boolean };\n\n/**\n * A convenience wrapper class for the CCF Body UI\n */\nexport class BodyUI {\n deck: Deck;\n private readonly bodyUILayer = new BodyUILayer({});\n\n private readonly nodeClickSubject = new Subject();\n private readonly nodeHoverStartSubject = new Subject();\n private readonly nodeHoverStopSubject = new Subject();\n private readonly sceneRotationSubject = new BehaviorSubject([0, 0]);\n private readonly nodeDragStartSubject = new Subject();\n private readonly nodeDragSubject = new Subject();\n private readonly nodeDragEndSubject = new Subject();\n\n readonly nodeClick$ = this.nodeClickSubject.pipe(share());\n readonly nodeHoverStart$ = this.nodeHoverStartSubject.pipe(share());\n readonly nodeHoverStop$ = this.nodeHoverStopSubject.pipe(share());\n readonly sceneRotation$ = this.sceneRotationSubject.pipe(share());\n readonly nodeDragStart$ = this.nodeDragStartSubject.pipe(share());\n readonly nodeDrag$ = this.nodeDragSubject.pipe(share());\n readonly nodeDragEnd$ = this.nodeDragEndSubject.pipe(share());\n\n private cursor?: string;\n private lastHovered?: SpatialSceneNode;\n\n constructor(private deckProps: Partial) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const props: any = {\n ...deckProps,\n views: [ deckProps.camera === 'orthographic' ? new OrthographicView({\n flipY: false,\n near: -1000\n }) : new OrbitView({ orbitAxis: 'Y' }) ],\n controller: deckProps.interactive !== undefined ? deckProps.interactive : true,\n layers: [ this.bodyUILayer ],\n onHover: this._onHover,\n onClick: this._onClick,\n onViewStateChange: this._onViewStateChange,\n onDragStart: this._onDragStart,\n onDrag: this._onDrag,\n onDragEnd: this._onDragEnd,\n getCursor: (e: { isDragging: boolean }) => this.cursor ?? (e.isDragging ? 'grabbing' : 'grab')\n };\n if (deckProps.legacyLighting) {\n // eslint-disable-next-line\n props.effects = [\n new LightingEffect({\n ambientLight: new AmbientLight({\n color: [255, 255, 255],\n intensity: 10.0\n })\n })\n ];\n }\n // eslint-disable-next-line\n this.deck = new Deck(props);\n this.deck.setProps({\n viewState: {\n orbitAxis: 'Y',\n minRotationX: deckProps.minRotationX ?? -15,\n maxRotationX: deckProps.maxRotationX ?? 15,\n target: deckProps.target ?? [0.5, 0.5, 0],\n rotationX: 0,\n rotationOrbit: deckProps.rotation ?? 0,\n zoom: deckProps.zoom ?? 9.5,\n camera: deckProps.camera\n } as BodyUIViewStateProps\n });\n if (deckProps.rotation) {\n this.sceneRotationSubject.next([deckProps.rotation, 0]);\n }\n }\n\n async initialize(): Promise {\n while (!this.bodyUILayer.state) {\n // eslint-disable-next-line no-await-in-loop\n await new Promise(r => {\n setTimeout(r, 200);\n });\n }\n }\n\n finalize(): void {\n this.deck.finalize();\n }\n\n setScene(data: SpatialSceneNode[]): void {\n if (data?.length > 0) {\n let zoomOpacity = (this.bodyUILayer.state as { zoomOpacity: number }).zoomOpacity;\n let didZoom = false;\n for (const node of data) {\n if (node.zoomToOnLoad) {\n this.zoomTo(node);\n didZoom = true;\n }\n }\n zoomOpacity = didZoom ? 0.05 : zoomOpacity;\n if (!this.deckProps.debugSceneNodeProcessing) {\n this.bodyUILayer.setState({ data, zoomOpacity });\n } else {\n this.debugSceneNodeProcessing(data, zoomOpacity);\n }\n }\n }\n\n debugSceneNodeProcessing(data: SpatialSceneNode[], zoomOpacity: number): void {\n // const gltfUrl = 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Male/United/VHM_United_Color.glb';\n const gltfUrl = 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb';\n // const gltfUrl = 'https://hubmapconsortium.github.io/hubmap-ontology/objects/VHF_United_v01_060420.glb';\n const gltfTransform = new Matrix4([0.076,0,0,0,0,0.076,1.6875389974302382e-17,0,0,-1.6875389974302382e-17,0.076,0,0.49,0.034,0.11,1]);\n processSceneNodes(gltfUrl, gltfTransform, 'VHF_Kidney_L_Low1').then((results) => {\n console.log('results', results);\n console.log('data', data);\n // data = Object.values(results);\n data = data.concat(Object.values(results));\n data.push({\n '@id': 'TEST',\n '@type': 'TEST',\n scenegraph: gltfUrl,\n scenegraphNode: 'VHF_Kidney_R_Low',\n transformMatrix: gltfTransform,\n color: [255, 255, 255, 200],\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false\n });\n this.bodyUILayer.setState({ data, zoomOpacity });\n });\n }\n\n zoomTo(node: SpatialSceneNode): void {\n const matrix = new Matrix4(node.transformMatrix);\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n target: matrix.getTranslation(),\n rotationX: 0,\n rotationOrbit: 0,\n zoom: 11.5,\n } as BodyUIViewStateProps\n });\n }\n\n setRotation(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n rotationOrbit: value\n } as BodyUIViewStateProps\n });\n }\n\n setRotationX(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n rotationX: value\n } as BodyUIViewStateProps\n });\n }\n\n setZoom(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n zoom: value\n } as BodyUIViewStateProps\n });\n }\n\n setTarget(value: number[]): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n target: value\n } as BodyUIViewStateProps\n });\n }\n\n setInteractive(value: boolean): void {\n this.deck.setProps({\n controller: value\n });\n }\n\n @bind\n private _onHover(e: { picked: boolean; object: SpatialSceneNode }): void {\n const { lastHovered } = this;\n this.cursor = e.picked ? 'pointer' : undefined;\n if (e.picked && e.object && e.object['@id']) {\n if (lastHovered !== e.object) {\n if (lastHovered) {\n this.nodeHoverStopSubject.next(lastHovered);\n }\n this.lastHovered = e.object;\n this.nodeHoverStartSubject.next(e.object);\n }\n } else if (lastHovered) {\n this.nodeHoverStopSubject.next(lastHovered);\n this.lastHovered = undefined;\n }\n }\n\n @bind\n private _onClick(info: PickInfo, e: { srcEvent: { ctrlKey: boolean } }): void {\n if (info.picked && info.object && info.object['@id']) {\n this.nodeClickSubject.next({ node: info.object, ctrlClick: e?.srcEvent?.ctrlKey ?? undefined });\n }\n }\n\n @bind\n private _onViewStateChange(event: { interactionState: { isZooming: boolean }; viewState: BodyUIViewStateProps }): void {\n if (event.interactionState?.isZooming) {\n const currentState = this.bodyUILayer.state as { zoomOpacity: number; data: unknown };\n const zoomOpacity = Math.min(Math.max(1 - (event.viewState.zoom - 8.9) / 2, 0.05), 1.0);\n if (currentState.zoomOpacity !== zoomOpacity) {\n this.bodyUILayer.setState({ data: currentState.data, zoomOpacity });\n }\n }\n this.deck.setProps({ viewState: { ...event.viewState } });\n this.sceneRotationSubject.next([event.viewState.rotationOrbit, event.viewState.rotationX]);\n }\n\n @bind\n private _onDragStart(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragStartSubject);\n }\n\n @bind\n private _onDrag(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragSubject);\n }\n\n @bind\n private _onDragEnd(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragEndSubject);\n }\n\n private _dragEvent(info: PickInfo, e: MouseEvent, subject: Subject): void {\n if (info?.object?.['@id']) {\n subject.next({ node: info.object, info, e });\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Collision.html":{"url":"interfaces/Collision.html","title":"interface - Collision","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Collision\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/util/spatial-scene-collider.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n hits\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hits\n \n \n \n \n \n \n \n \n hits: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { load } from '@loaders.gl/core';\nimport { DracoLoader } from '@loaders.gl/draco';\nimport { GLTFLoader } from '@loaders.gl/gltf';\nimport { Matrix4 } from '@math.gl/core';\nimport { AABB, Vec3 } from 'cannon-es';\n\nimport { SpatialSceneNode } from '../shared/spatial-scene-node';\nimport { traverseScene } from './scene-traversal';\n\n\ninterface Collision {\n '@id': string;\n name: string;\n hits: { '@id': string; name: string }[];\n}\n\n/* eslint-disable */\nexport async function doCollisions(scene: SpatialSceneNode[]): Promise {\n console.log('Starting Collisioning');\n const sourceBoxes = scene\n .filter(d => !d.scenegraph && d.geometry !== 'wireframe')\n .map(model => {\n const mat = new Matrix4(model.transformMatrix);\n const lowerBound = mat.transformAsPoint([-1, -1, -1], []);\n const upperBound = mat.transformAsPoint([1, 1, 1], []);\n return {\n '@id': model['@id'],\n name: model.tooltip,\n entityId: model.entityId,\n bbox: new AABB({\n lowerBound: new Vec3(...lowerBound.map((n, i) => Math.min(n, upperBound[i]))),\n upperBound: new Vec3(...upperBound.map((n, i) => Math.max(n, lowerBound[i])))\n })\n };\n });\n\n const targetBoxes: {'@id': string, name: string, entityId?: string; bbox: AABB, gltf: unknown}[] = [];\n for (const model of scene.filter(d => !!d.scenegraph)) {\n const gltf = await load(model.scenegraph as string, GLTFLoader, {DracoLoader, decompress: true, postProcess: true});\n for (const gltfScene of gltf.scenes) {\n traverseScene(gltfScene, new Matrix4(model.transformMatrix), (node, modelMatrix) => {\n if (node.mesh && node.mesh.primitives && node.mesh.primitives.length > 0) {\n for (const primitive of node.mesh.primitives) {\n if (primitive.attributes.POSITION && primitive.attributes.POSITION.min) {\n const lowerBound = modelMatrix.transformAsPoint(primitive.attributes.POSITION.min, []);\n const upperBound = modelMatrix.transformAsPoint(primitive.attributes.POSITION.max, []);\n targetBoxes.push({\n '@id': model['@id'],\n name: node.name,\n entityId: model.entityId,\n bbox: new AABB({\n lowerBound: new Vec3(...lowerBound.map((n, i) => Math.min(n, upperBound[i]))),\n upperBound: new Vec3(...upperBound.map((n, i) => Math.max(n, lowerBound[i])))\n }),\n gltf\n });\n }\n }\n }\n return true;\n });\n }\n }\n\n const report: Collision[] = [];\n const sad: unknown[] = [];\n for (const src of sourceBoxes) {\n const hits: {'@id': string, name: string}[] = [];\n for (const target of targetBoxes) {\n if (src.bbox.overlaps(target.bbox)) {\n hits.push({'@id': target['@id'], name: target.name});\n }\n }\n if (hits.length > 0) {\n report.push({\n '@id': src.entityId as string,\n name: src.name as string,\n hits\n });\n } else {\n sad.push(src);\n }\n }\n\n console.log({ sourceBoxes, targetBoxes, report, sad, maxHits: Math.max(...report.map(r => r.hits.length)) });\n\n const csvReport: unknown[] = [];\n for (const hit of report) {\n csvReport.push({\n 'Tissue ID': hit['@id'],\n 'Tissue Name': hit.name,\n 'Hit ID': '',\n 'Hit Name': ''\n });\n for (const h of hit.hits) {\n csvReport.push({\n 'Tissue ID': hit['@id'],\n 'Tissue Name': hit.name,\n 'Hit ID': h['@id'],\n 'Hit Name': h.name\n });\n }\n }\n console.log(csvReport);\n\n return report;\n}\n/* eslint-enable */\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PickInfo.html":{"url":"interfaces/PickInfo.html","title":"interface - PickInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PickInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/body-ui.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n coordinate\n \n \n \n \n index\n \n \n \n \n layer\n \n \n \n \n object\n \n \n \n Optional\n \n picked\n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n coordinate\n \n \n \n \n \n \n \n \n coordinate: \n\n \n \n\n\n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n index\n \n \n \n \n \n \n \n \n index: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n layer\n \n \n \n \n \n \n \n \n layer: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n object\n \n \n \n \n \n \n \n \n object: D\n\n \n \n\n\n \n \n Type : D\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n picked\n \n \n \n \n \n \n \n \n picked: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AmbientLight, Deck, LightingEffect, OrbitView, OrthographicView } from '@deck.gl/core';\nimport { ViewStateProps } from '@deck.gl/core/lib/deck';\nimport { Matrix4 } from '@math.gl/core';\nimport bind from 'bind-decorator';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { share } from 'rxjs/operators';\n\nimport { BodyUILayer } from './body-ui-layer';\nimport { SpatialSceneNode } from './shared/spatial-scene-node';\nimport { processSceneNodes } from './util/process-scene-nodes';\n\n\ninterface BodyUIViewStateProps extends ViewStateProps {\n orbitAxis?: string;\n target?: Matrix4 | number[];\n zoom: number;\n rotationOrbit: number;\n rotationX: number;\n camera: string;\n}\n\nexport interface BodyUIProps {\n id: string;\n canvas: string | HTMLCanvasElement;\n parent: HTMLElement;\n debugSceneNodeProcessing?: boolean;\n target: Matrix4 | number[];\n interactive: boolean;\n rotation: number;\n minRotationX: number;\n maxRotationX: number;\n zoom: number;\n legacyLighting?: boolean;\n camera: string;\n}\n\nexport interface PickInfo {\n layer: unknown;\n index: number;\n object: D;\n x: number;\n y: number;\n coordinate?: unknown;\n picked?: boolean;\n}\n\nexport type NodeDragEvent = { node: SpatialSceneNode; info: PickInfo; e: MouseEvent };\n\nexport type NodeClickEvent = { node: SpatialSceneNode; ctrlClick: boolean };\n\n/**\n * A convenience wrapper class for the CCF Body UI\n */\nexport class BodyUI {\n deck: Deck;\n private readonly bodyUILayer = new BodyUILayer({});\n\n private readonly nodeClickSubject = new Subject();\n private readonly nodeHoverStartSubject = new Subject();\n private readonly nodeHoverStopSubject = new Subject();\n private readonly sceneRotationSubject = new BehaviorSubject([0, 0]);\n private readonly nodeDragStartSubject = new Subject();\n private readonly nodeDragSubject = new Subject();\n private readonly nodeDragEndSubject = new Subject();\n\n readonly nodeClick$ = this.nodeClickSubject.pipe(share());\n readonly nodeHoverStart$ = this.nodeHoverStartSubject.pipe(share());\n readonly nodeHoverStop$ = this.nodeHoverStopSubject.pipe(share());\n readonly sceneRotation$ = this.sceneRotationSubject.pipe(share());\n readonly nodeDragStart$ = this.nodeDragStartSubject.pipe(share());\n readonly nodeDrag$ = this.nodeDragSubject.pipe(share());\n readonly nodeDragEnd$ = this.nodeDragEndSubject.pipe(share());\n\n private cursor?: string;\n private lastHovered?: SpatialSceneNode;\n\n constructor(private deckProps: Partial) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const props: any = {\n ...deckProps,\n views: [ deckProps.camera === 'orthographic' ? new OrthographicView({\n flipY: false,\n near: -1000\n }) : new OrbitView({ orbitAxis: 'Y' }) ],\n controller: deckProps.interactive !== undefined ? deckProps.interactive : true,\n layers: [ this.bodyUILayer ],\n onHover: this._onHover,\n onClick: this._onClick,\n onViewStateChange: this._onViewStateChange,\n onDragStart: this._onDragStart,\n onDrag: this._onDrag,\n onDragEnd: this._onDragEnd,\n getCursor: (e: { isDragging: boolean }) => this.cursor ?? (e.isDragging ? 'grabbing' : 'grab')\n };\n if (deckProps.legacyLighting) {\n // eslint-disable-next-line\n props.effects = [\n new LightingEffect({\n ambientLight: new AmbientLight({\n color: [255, 255, 255],\n intensity: 10.0\n })\n })\n ];\n }\n // eslint-disable-next-line\n this.deck = new Deck(props);\n this.deck.setProps({\n viewState: {\n orbitAxis: 'Y',\n minRotationX: deckProps.minRotationX ?? -15,\n maxRotationX: deckProps.maxRotationX ?? 15,\n target: deckProps.target ?? [0.5, 0.5, 0],\n rotationX: 0,\n rotationOrbit: deckProps.rotation ?? 0,\n zoom: deckProps.zoom ?? 9.5,\n camera: deckProps.camera\n } as BodyUIViewStateProps\n });\n if (deckProps.rotation) {\n this.sceneRotationSubject.next([deckProps.rotation, 0]);\n }\n }\n\n async initialize(): Promise {\n while (!this.bodyUILayer.state) {\n // eslint-disable-next-line no-await-in-loop\n await new Promise(r => {\n setTimeout(r, 200);\n });\n }\n }\n\n finalize(): void {\n this.deck.finalize();\n }\n\n setScene(data: SpatialSceneNode[]): void {\n if (data?.length > 0) {\n let zoomOpacity = (this.bodyUILayer.state as { zoomOpacity: number }).zoomOpacity;\n let didZoom = false;\n for (const node of data) {\n if (node.zoomToOnLoad) {\n this.zoomTo(node);\n didZoom = true;\n }\n }\n zoomOpacity = didZoom ? 0.05 : zoomOpacity;\n if (!this.deckProps.debugSceneNodeProcessing) {\n this.bodyUILayer.setState({ data, zoomOpacity });\n } else {\n this.debugSceneNodeProcessing(data, zoomOpacity);\n }\n }\n }\n\n debugSceneNodeProcessing(data: SpatialSceneNode[], zoomOpacity: number): void {\n // const gltfUrl = 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Male/United/VHM_United_Color.glb';\n const gltfUrl = 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb';\n // const gltfUrl = 'https://hubmapconsortium.github.io/hubmap-ontology/objects/VHF_United_v01_060420.glb';\n const gltfTransform = new Matrix4([0.076,0,0,0,0,0.076,1.6875389974302382e-17,0,0,-1.6875389974302382e-17,0.076,0,0.49,0.034,0.11,1]);\n processSceneNodes(gltfUrl, gltfTransform, 'VHF_Kidney_L_Low1').then((results) => {\n console.log('results', results);\n console.log('data', data);\n // data = Object.values(results);\n data = data.concat(Object.values(results));\n data.push({\n '@id': 'TEST',\n '@type': 'TEST',\n scenegraph: gltfUrl,\n scenegraphNode: 'VHF_Kidney_R_Low',\n transformMatrix: gltfTransform,\n color: [255, 255, 255, 200],\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false\n });\n this.bodyUILayer.setState({ data, zoomOpacity });\n });\n }\n\n zoomTo(node: SpatialSceneNode): void {\n const matrix = new Matrix4(node.transformMatrix);\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n target: matrix.getTranslation(),\n rotationX: 0,\n rotationOrbit: 0,\n zoom: 11.5,\n } as BodyUIViewStateProps\n });\n }\n\n setRotation(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n rotationOrbit: value\n } as BodyUIViewStateProps\n });\n }\n\n setRotationX(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n rotationX: value\n } as BodyUIViewStateProps\n });\n }\n\n setZoom(value: number): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n zoom: value\n } as BodyUIViewStateProps\n });\n }\n\n setTarget(value: number[]): void {\n this.deck.setProps({\n viewState: {\n ...this.deck.props.viewState,\n target: value\n } as BodyUIViewStateProps\n });\n }\n\n setInteractive(value: boolean): void {\n this.deck.setProps({\n controller: value\n });\n }\n\n @bind\n private _onHover(e: { picked: boolean; object: SpatialSceneNode }): void {\n const { lastHovered } = this;\n this.cursor = e.picked ? 'pointer' : undefined;\n if (e.picked && e.object && e.object['@id']) {\n if (lastHovered !== e.object) {\n if (lastHovered) {\n this.nodeHoverStopSubject.next(lastHovered);\n }\n this.lastHovered = e.object;\n this.nodeHoverStartSubject.next(e.object);\n }\n } else if (lastHovered) {\n this.nodeHoverStopSubject.next(lastHovered);\n this.lastHovered = undefined;\n }\n }\n\n @bind\n private _onClick(info: PickInfo, e: { srcEvent: { ctrlKey: boolean } }): void {\n if (info.picked && info.object && info.object['@id']) {\n this.nodeClickSubject.next({ node: info.object, ctrlClick: e?.srcEvent?.ctrlKey ?? undefined });\n }\n }\n\n @bind\n private _onViewStateChange(event: { interactionState: { isZooming: boolean }; viewState: BodyUIViewStateProps }): void {\n if (event.interactionState?.isZooming) {\n const currentState = this.bodyUILayer.state as { zoomOpacity: number; data: unknown };\n const zoomOpacity = Math.min(Math.max(1 - (event.viewState.zoom - 8.9) / 2, 0.05), 1.0);\n if (currentState.zoomOpacity !== zoomOpacity) {\n this.bodyUILayer.setState({ data: currentState.data, zoomOpacity });\n }\n }\n this.deck.setProps({ viewState: { ...event.viewState } });\n this.sceneRotationSubject.next([event.viewState.rotationOrbit, event.viewState.rotationX]);\n }\n\n @bind\n private _onDragStart(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragStartSubject);\n }\n\n @bind\n private _onDrag(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragSubject);\n }\n\n @bind\n private _onDragEnd(info: PickInfo, e: MouseEvent): void {\n this._dragEvent(info, e, this.nodeDragEndSubject);\n }\n\n private _dragEvent(info: PickInfo, e: MouseEvent, subject: Subject): void {\n if (info?.object?.['@id']) {\n subject.next({ node: info.object, info, e });\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProcessedNode.html":{"url":"interfaces/ProcessedNode.html","title":"interface - ProcessedNode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProcessedNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/util/process-scene-nodes.ts\n \n\n\n\n \n Extends\n \n \n SpatialSceneNode\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n bbox\n \n \n \n \n center\n \n \n \n \n jsonld\n \n \n \n \n node\n \n \n \n \n size\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bbox\n \n \n \n \n \n \n \n \n bbox: AABB\n\n \n \n\n\n \n \n Type : AABB\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n center\n \n \n \n \n \n \n \n \n center: Vec3\n\n \n \n\n\n \n \n Type : Vec3\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n jsonld\n \n \n \n \n \n \n \n \n jsonld: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n node\n \n \n \n \n \n \n \n \n node: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: Vec3\n\n \n \n\n\n \n \n Type : Vec3\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Matrix4 } from '@math.gl/core';\nimport { AABB, Vec3 } from 'cannon-es';\n\nimport { loadGLTF, registerGLTFLoaders } from './load-gltf';\nimport { traverseScene } from './scene-traversal';\nimport { SpatialSceneNode } from '../shared/spatial-scene-node';\n\n\nexport interface ProcessedNode extends SpatialSceneNode {\n bbox: AABB;\n jsonld: unknown;\n node: unknown;\n size: Vec3;\n center: Vec3;\n}\n\n/* eslint-disable */\nfunction childNames(scene, names: string[] = []): string[] {\n for (const child of (scene.nodes || scene.children || [])) {\n names.push(child.name);\n childNames(child, names);\n }\n return names;\n}\n\nexport async function processSceneNodes(gltfUrl: string, worldMatrix?: Matrix4, scenegraphNode?: string, \n gltfCache?: { [url: string]: Promise }): Promise {\n registerGLTFLoaders();\n const gltf = await loadGLTF({scenegraph: gltfUrl, scenegraphNode} as SpatialSceneNode, gltfCache);\n const nodes: {[node: string]: ProcessedNode} = {};\n const gltfNodes: ProcessedNode[] = [];\n for (const scene of gltf.scenes) {\n worldMatrix = new Matrix4(worldMatrix || Matrix4.IDENTITY);\n traverseScene(scene, worldMatrix, (node, modelMatrix: Matrix4) => {\n const processedNode: ProcessedNode = {\n '@id': (node.name || node.id) as string,\n '@type': 'ProcessedNode',\n transformMatrix: new Matrix4(modelMatrix),\n geometry: 'wireframe',\n node\n } as ProcessedNode;\n gltfNodes.push({\n '@id': `GLTF:${processedNode['@id']}`,\n '@type': 'GLTFNode',\n scenegraph: gltfUrl,\n scenegraphNode: processedNode['@id'],\n transformMatrix: new Matrix4(worldMatrix || Matrix4.IDENTITY),\n tooltip: (node.name || node.id) as string,\n color: [255, 255, 255, 255],\n _lighting: 'pbr',\n zoomBasedOpacity: true,\n node\n } as ProcessedNode);\n if (node.mesh && node.mesh.primitives && node.mesh.primitives.length > 0) {\n for (const primitive of node.mesh.primitives) {\n if (primitive.attributes.POSITION && primitive.attributes.POSITION.min) {\n const lowerBound = modelMatrix.transformAsPoint(primitive.attributes.POSITION.min, []);\n const upperBound = modelMatrix.transformAsPoint(primitive.attributes.POSITION.max, []);\n processedNode.bbox = new AABB({\n lowerBound: new Vec3(...lowerBound.map((n, i) => Math.min(n, upperBound[i]))),\n upperBound: new Vec3(...upperBound.map((n, i) => Math.max(n, lowerBound[i])))\n });\n }\n }\n }\n nodes[processedNode['@id']] = processedNode;\n return true;\n });\n }\n\n for (const node of Object.values(nodes).filter(n => !n.bbox)) {\n for (const child of childNames(node.node).map(n => nodes[n]).filter(n => n.bbox)) {\n if (!node.bbox) {\n node.bbox = child.bbox.clone();\n } else {\n node.bbox.extend(child.bbox);\n }\n }\n if (!node.bbox) {\n delete nodes[node['@id']];\n }\n }\n for (const node of Object.values(nodes)) {\n const lb = node.bbox.lowerBound;\n const ub = node.bbox.upperBound;\n const size = node.size = ub.clone().vsub(lb);\n const halfSize = size.clone().vmul(new Vec3(0.5, 0.5, 0.5));\n const center = node.center = lb.clone().vadd(halfSize);\n\n node.transformMatrix = new Matrix4(Matrix4.IDENTITY)\n .translate(center.toArray())\n .scale(halfSize.toArray());\n }\n for (const node of gltfNodes) {\n nodes[node['@id']] = node;\n }\n return nodes;\n}\n/* eslint-enable */\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialEntityJsonLd.html":{"url":"interfaces/SpatialEntityJsonLd.html","title":"interface - SpatialEntityJsonLd","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialEntityJsonLd\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/shared/ccf-spatial-jsonld.ts\n \n\n\n\n \n Extends\n \n \n JsonLdObj\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @context\n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n ccf_annotations\n \n \n \n \n comment\n \n \n \n \n creation_date\n \n \n \n \n creator\n \n \n \n \n creator_first_name\n \n \n \n \n creator_last_name\n \n \n \n \n dimension_units\n \n \n \n \n extraction_set\n \n \n \n \n label\n \n \n \n \n object\n \n \n \n \n placement\n \n \n \n \n reference_organ\n \n \n \n \n representation_of\n \n \n \n \n rui_rank\n \n \n \n \n sex\n \n \n \n \n side\n \n \n \n \n slice_count\n \n \n \n \n slice_thickness\n \n \n \n \n updated_date\n \n \n \n \n x_dimension\n \n \n \n \n y_dimension\n \n \n \n \n z_dimension\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @context\n \n \n \n \n \n \n \n \n @context: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: string | string[]\n\n \n \n\n\n \n \n Type : string | string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ccf_annotations\n \n \n \n \n \n \n \n \n ccf_annotations: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n comment\n \n \n \n \n \n \n \n \n comment: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n creation_date\n \n \n \n \n \n \n \n \n creation_date: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n \n \n creator: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n creator_first_name\n \n \n \n \n \n \n \n \n creator_first_name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n creator_last_name\n \n \n \n \n \n \n \n \n creator_last_name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n dimension_units\n \n \n \n \n \n \n \n \n dimension_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n extraction_set\n \n \n \n \n \n \n \n \n extraction_set: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n object\n \n \n \n \n \n \n \n \n object: SpatialObjectReferenceJsonLd\n\n \n \n\n\n \n \n Type : SpatialObjectReferenceJsonLd\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n placement\n \n \n \n \n \n \n \n \n placement: SpatialPlacementJsonLd | SpatialPlacementJsonLd[]\n\n \n \n\n\n \n \n Type : SpatialPlacementJsonLd | SpatialPlacementJsonLd[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n reference_organ\n \n \n \n \n \n \n \n \n reference_organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n representation_of\n \n \n \n \n \n \n \n \n representation_of: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rui_rank\n \n \n \n \n \n \n \n \n rui_rank: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"Male\" | \"Female\" | undefined\n\n \n \n\n\n \n \n Type : \"Male\" | \"Female\" | undefined\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: \"Left\" | \"Right\" | undefined\n\n \n \n\n\n \n \n Type : \"Left\" | \"Right\" | undefined\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n slice_count\n \n \n \n \n \n \n \n \n slice_count: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n slice_thickness\n \n \n \n \n \n \n \n \n slice_thickness: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updated_date\n \n \n \n \n \n \n \n \n updated_date: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n x_dimension\n \n \n \n \n \n \n \n \n x_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n y_dimension\n \n \n \n \n \n \n \n \n y_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n z_dimension\n \n \n \n \n \n \n \n \n z_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { JsonLdObj } from 'jsonld/jsonld-spec';\n\n\nexport interface SpatialPlacementJsonLd extends JsonLdObj {\n '@context'?: string;\n '@id': string;\n '@type': string;\n source?: string;\n target: string;\n placement_date: string;\n x_scaling: number;\n y_scaling: number;\n z_scaling: number;\n scaling_units: string;\n x_rotation: number;\n y_rotation: number;\n z_rotation: number;\n rotation_units: string;\n x_translation: number;\n y_translation: number;\n z_translation: number;\n translation_units: string;\n}\n\nexport interface SpatialObjectReferenceJsonLd extends JsonLdObj {\n '@id': string;\n '@type': string;\n file: string;\n file_format: string;\n placement: SpatialPlacementJsonLd;\n}\n\nexport interface SpatialEntityJsonLd extends JsonLdObj {\n '@context': string;\n '@id': string;\n '@type': string | string[];\n label: string;\n comment: string;\n creator: string;\n creator_first_name: string;\n creator_last_name: string;\n creation_date: string;\n updated_date: string;\n ccf_annotations: string[];\n representation_of: string;\n reference_organ: string;\n extraction_set: string;\n sex: 'Male' | 'Female' | undefined;\n side: 'Left' | 'Right' | undefined;\n rui_rank: number;\n slice_thickness: number;\n slice_count: number;\n x_dimension: number;\n y_dimension: number;\n z_dimension: number;\n dimension_units: string;\n object: SpatialObjectReferenceJsonLd;\n placement: SpatialPlacementJsonLd | SpatialPlacementJsonLd[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialObjectReferenceJsonLd.html":{"url":"interfaces/SpatialObjectReferenceJsonLd.html","title":"interface - SpatialObjectReferenceJsonLd","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialObjectReferenceJsonLd\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/shared/ccf-spatial-jsonld.ts\n \n\n\n\n \n Extends\n \n \n JsonLdObj\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n file\n \n \n \n \n file_format\n \n \n \n \n placement\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n file\n \n \n \n \n \n \n \n \n file: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n file_format\n \n \n \n \n \n \n \n \n file_format: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n placement\n \n \n \n \n \n \n \n \n placement: SpatialPlacementJsonLd\n\n \n \n\n\n \n \n Type : SpatialPlacementJsonLd\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { JsonLdObj } from 'jsonld/jsonld-spec';\n\n\nexport interface SpatialPlacementJsonLd extends JsonLdObj {\n '@context'?: string;\n '@id': string;\n '@type': string;\n source?: string;\n target: string;\n placement_date: string;\n x_scaling: number;\n y_scaling: number;\n z_scaling: number;\n scaling_units: string;\n x_rotation: number;\n y_rotation: number;\n z_rotation: number;\n rotation_units: string;\n x_translation: number;\n y_translation: number;\n z_translation: number;\n translation_units: string;\n}\n\nexport interface SpatialObjectReferenceJsonLd extends JsonLdObj {\n '@id': string;\n '@type': string;\n file: string;\n file_format: string;\n placement: SpatialPlacementJsonLd;\n}\n\nexport interface SpatialEntityJsonLd extends JsonLdObj {\n '@context': string;\n '@id': string;\n '@type': string | string[];\n label: string;\n comment: string;\n creator: string;\n creator_first_name: string;\n creator_last_name: string;\n creation_date: string;\n updated_date: string;\n ccf_annotations: string[];\n representation_of: string;\n reference_organ: string;\n extraction_set: string;\n sex: 'Male' | 'Female' | undefined;\n side: 'Left' | 'Right' | undefined;\n rui_rank: number;\n slice_thickness: number;\n slice_count: number;\n x_dimension: number;\n y_dimension: number;\n z_dimension: number;\n dimension_units: string;\n object: SpatialObjectReferenceJsonLd;\n placement: SpatialPlacementJsonLd | SpatialPlacementJsonLd[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialPlacementJsonLd.html":{"url":"interfaces/SpatialPlacementJsonLd.html","title":"interface - SpatialPlacementJsonLd","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialPlacementJsonLd\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/shared/ccf-spatial-jsonld.ts\n \n\n\n\n \n Extends\n \n \n JsonLdObj\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n @context\n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n placement_date\n \n \n \n \n rotation_units\n \n \n \n \n scaling_units\n \n \n \n Optional\n \n source\n \n \n \n \n target\n \n \n \n \n translation_units\n \n \n \n \n x_rotation\n \n \n \n \n x_scaling\n \n \n \n \n x_translation\n \n \n \n \n y_rotation\n \n \n \n \n y_scaling\n \n \n \n \n y_translation\n \n \n \n \n z_rotation\n \n \n \n \n z_scaling\n \n \n \n \n z_translation\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @context\n \n \n \n \n \n \n \n \n @context: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n placement_date\n \n \n \n \n \n \n \n \n placement_date: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rotation_units\n \n \n \n \n \n \n \n \n rotation_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n scaling_units\n \n \n \n \n \n \n \n \n scaling_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n translation_units\n \n \n \n \n \n \n \n \n translation_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n x_rotation\n \n \n \n \n \n \n \n \n x_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n x_scaling\n \n \n \n \n \n \n \n \n x_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n x_translation\n \n \n \n \n \n \n \n \n x_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n y_rotation\n \n \n \n \n \n \n \n \n y_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n y_scaling\n \n \n \n \n \n \n \n \n y_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n y_translation\n \n \n \n \n \n \n \n \n y_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n z_rotation\n \n \n \n \n \n \n \n \n z_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n z_scaling\n \n \n \n \n \n \n \n \n z_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n z_translation\n \n \n \n \n \n \n \n \n z_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { JsonLdObj } from 'jsonld/jsonld-spec';\n\n\nexport interface SpatialPlacementJsonLd extends JsonLdObj {\n '@context'?: string;\n '@id': string;\n '@type': string;\n source?: string;\n target: string;\n placement_date: string;\n x_scaling: number;\n y_scaling: number;\n z_scaling: number;\n scaling_units: string;\n x_rotation: number;\n y_rotation: number;\n z_rotation: number;\n rotation_units: string;\n x_translation: number;\n y_translation: number;\n z_translation: number;\n translation_units: string;\n}\n\nexport interface SpatialObjectReferenceJsonLd extends JsonLdObj {\n '@id': string;\n '@type': string;\n file: string;\n file_format: string;\n placement: SpatialPlacementJsonLd;\n}\n\nexport interface SpatialEntityJsonLd extends JsonLdObj {\n '@context': string;\n '@id': string;\n '@type': string | string[];\n label: string;\n comment: string;\n creator: string;\n creator_first_name: string;\n creator_last_name: string;\n creation_date: string;\n updated_date: string;\n ccf_annotations: string[];\n representation_of: string;\n reference_organ: string;\n extraction_set: string;\n sex: 'Male' | 'Female' | undefined;\n side: 'Left' | 'Right' | undefined;\n rui_rank: number;\n slice_thickness: number;\n slice_count: number;\n x_dimension: number;\n y_dimension: number;\n z_dimension: number;\n dimension_units: string;\n object: SpatialObjectReferenceJsonLd;\n placement: SpatialPlacementJsonLd | SpatialPlacementJsonLd[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialSceneNode.html":{"url":"interfaces/SpatialSceneNode.html","title":"interface - SpatialSceneNode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialSceneNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-body-ui/src/lib/shared/spatial-scene-node.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n _lighting\n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n Optional\n \n color\n \n \n \n Optional\n \n entityId\n \n \n \n Optional\n \n geometry\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n opacity\n \n \n \n Optional\n \n priority\n \n \n \n Optional\n \n reference_organ\n \n \n \n Optional\n \n representation_of\n \n \n \n Optional\n \n scenegraph\n \n \n \n Optional\n \n scenegraphNode\n \n \n \n Optional\n \n text\n \n \n \n Optional\n \n tooltip\n \n \n \n \n transformMatrix\n \n \n \n Optional\n \n unpickable\n \n \n \n Optional\n \n zoomBasedOpacity\n \n \n \n Optional\n \n zoomToOnLoad\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _lighting\n \n \n \n \n \n \n \n \n _lighting: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: [number, number, number, number]\n\n \n \n\n\n \n \n Type : [number, number, number, number]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n entityId\n \n \n \n \n \n \n \n \n entityId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n geometry\n \n \n \n \n \n \n \n \n geometry: SpatialSceneGeometry\n\n \n \n\n\n \n \n Type : SpatialSceneGeometry\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n opacity\n \n \n \n \n \n \n \n \n opacity: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n priority\n \n \n \n \n \n \n \n \n priority: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n reference_organ\n \n \n \n \n \n \n \n \n reference_organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n representation_of\n \n \n \n \n \n \n \n \n representation_of: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n scenegraph\n \n \n \n \n \n \n \n \n scenegraph: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n scenegraphNode\n \n \n \n \n \n \n \n \n scenegraphNode: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n tooltip\n \n \n \n \n \n \n \n \n tooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n transformMatrix\n \n \n \n \n \n \n \n \n transformMatrix: Matrix4\n\n \n \n\n\n \n \n Type : Matrix4\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n unpickable\n \n \n \n \n \n \n \n \n unpickable: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n zoomBasedOpacity\n \n \n \n \n \n \n \n \n zoomBasedOpacity: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n zoomToOnLoad\n \n \n \n \n \n \n \n \n zoomToOnLoad: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Matrix4 } from '@math.gl/core';\n\nexport type SpatialSceneGeometry = 'sphere' | 'cube' | 'wireframe' | 'text' | 'cone' | 'cylinder';\n\nexport interface SpatialSceneNode {\n '@id': string;\n '@type': string;\n entityId?: string;\n representation_of?: string;\n reference_organ?: string;\n unpickable?: boolean;\n geometry?: SpatialSceneGeometry;\n text?: string;\n _lighting?: string;\n scenegraph?: string;\n scenegraphNode?: string;\n zoomBasedOpacity?: boolean;\n zoomToOnLoad?: boolean;\n color?: [number, number, number, number];\n opacity?: number;\n transformMatrix: Matrix4;\n name?: string;\n tooltip?: string;\n priority?: number;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.2 - 2023-07-12\nAdded in 3.7.2\n\nClient side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1\n\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-body-ui/src/global-fixes.ts\n \n function\n castToGlobalType\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/body-ui-layer.ts\n \n class\n BodyUILayer\n \n 0 %\n (0/6)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/body-ui-layer.ts\n \n function\n meshLayer\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/body-ui-layer.ts\n \n function\n textLayer\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/body-ui.ts\n \n class\n BodyUI\n \n 2 %\n (1/37)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/body-ui.ts\n \n interface\n BodyUIProps\n \n 0 %\n (0/13)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/body-ui.ts\n \n interface\n BodyUIViewStateProps\n \n 0 %\n (0/7)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/body-ui.ts\n \n interface\n PickInfo\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/shared/ccf-spatial-jsonld.ts\n \n interface\n SpatialEntityJsonLd\n \n 0 %\n (0/26)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/shared/ccf-spatial-jsonld.ts\n \n interface\n SpatialObjectReferenceJsonLd\n \n 0 %\n (0/6)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/shared/ccf-spatial-jsonld.ts\n \n interface\n SpatialPlacementJsonLd\n \n 0 %\n (0/19)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/shared/spatial-scene-node.ts\n \n interface\n SpatialSceneNode\n \n 0 %\n (0/20)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/load-gltf.ts\n \n function\n deriveScenegraph\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/load-gltf.ts\n \n function\n loadGLTF\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/load-gltf.ts\n \n function\n loadGLTF2\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/load-gltf.ts\n \n function\n registerGLTFLoaders\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/parse-csv.ts\n \n function\n parseCSV\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/parse-csv.ts\n \n function\n parseCSVText\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-anatomical-structures.ts\n \n function\n processAnatomicalStructures\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-extraction-sites.ts\n \n function\n processExtractionSites\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-reference-data.ts\n \n function\n processReferenceData\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-reference-data.ts\n \n variable\n referenceDataConfig\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-scene-nodes.ts\n \n interface\n ProcessedNode\n \n 0 %\n (0/6)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-scene-nodes.ts\n \n function\n childNames\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-scene-nodes.ts\n \n function\n processSceneNodes\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-spatial-entities.ts\n \n function\n processSpatialEntities\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/scene-traversal.ts\n \n function\n traverseScene\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/simplify-scene.ts\n \n function\n simplifyScene\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/spatial-scene-collider.ts\n \n interface\n Collision\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/spatial-scene-collider.ts\n \n function\n doCollisions\n \n 0 %\n (0/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n object-hash : ^3.0.0\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n castToGlobalType   (projects/.../global-fixes.ts)\n \n \n childNames   (projects/.../process-scene-nodes.ts)\n \n \n deriveScenegraph   (projects/.../load-gltf.ts)\n \n \n doCollisions   (projects/.../spatial-scene-collider.ts)\n \n \n loadGLTF   (projects/.../load-gltf.ts)\n \n \n loadGLTF2   (projects/.../load-gltf.ts)\n \n \n meshLayer   (projects/.../body-ui-layer.ts)\n \n \n parseCSV   (projects/.../parse-csv.ts)\n \n \n parseCSVText   (projects/.../parse-csv.ts)\n \n \n processAnatomicalStructures   (projects/.../process-anatomical-structures.ts)\n \n \n processExtractionSites   (projects/.../process-extraction-sites.ts)\n \n \n processReferenceData   (projects/.../process-reference-data.ts)\n \n \n processSceneNodes   (projects/.../process-scene-nodes.ts)\n \n \n processSpatialEntities   (projects/.../process-spatial-entities.ts)\n \n \n registerGLTFLoaders   (projects/.../load-gltf.ts)\n \n \n simplifyScene   (projects/.../simplify-scene.ts)\n \n \n textLayer   (projects/.../body-ui-layer.ts)\n \n \n traverseScene   (projects/.../scene-traversal.ts)\n \n \n \n \n \n \n\n\n projects/ccf-body-ui/src/global-fixes.ts\n \n \n \n \n \n \n \n castToGlobalType\n \n \n \n \n \n \ncastToGlobalType(value)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n value\n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-scene-nodes.ts\n \n \n \n \n \n \n \n childNames\n \n \n \n \n \n \nchildNames(scene, names)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n scene\n\n \n No\n \n\n\n \n \n names\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n processSceneNodes\n \n \n \n \n \n \nprocessSceneNodes(gltfUrl, worldMatrix?, scenegraphNode?, gltfCache?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n gltfUrl\n\n \n No\n \n\n\n \n \n worldMatrix\n\n \n Yes\n \n\n\n \n \n scenegraphNode\n\n \n Yes\n \n\n\n \n \n gltfCache\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/load-gltf.ts\n \n \n \n \n \n \n \n deriveScenegraph\n \n \n \n \n \n \nderiveScenegraph(scenegraphNodeName, gltf)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n scenegraphNodeName\n\n \n No\n \n\n\n \n \n gltf\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n loadGLTF\n \n \n \n \n \n \nloadGLTF(model, cache?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n model\n\n \n No\n \n\n\n \n \n cache\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n loadGLTF2\n \n \n \n \n \n \nloadGLTF2(scenegraphNodeName, gltfPromise)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n scenegraphNodeName\n\n \n No\n \n\n\n \n \n gltfPromise\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n registerGLTFLoaders\n \n \n \n \n \n \nregisterGLTFLoaders()\n \n \n\n\n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/spatial-scene-collider.ts\n \n \n \n \n \n \n \n doCollisions\n \n \n \n \n \n \ndoCollisions(scene)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n scene\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/body-ui-layer.ts\n \n \n \n \n \n \n \n meshLayer\n \n \n \n \n \n \nmeshLayer(id, data, options)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n id\n\n \n No\n \n\n\n \n \n data\n\n \n No\n \n\n\n \n \n options\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SimpleMeshLayer | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n textLayer\n \n \n \n \n \n \ntextLayer(id, data, options)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n id\n\n \n No\n \n\n\n \n \n data\n\n \n No\n \n\n\n \n \n options\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : TextLayer | undefined\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/parse-csv.ts\n \n \n \n \n \n \n \n parseCSV\n \n \n \n \n \n \nparseCSV(sourceUrl, firstFieldName?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n sourceUrl\n\n \n No\n \n\n\n \n \n firstFieldName\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n parseCSVText\n \n \n \n \n \n \nparseCSVText(csvText, firstFieldName?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n csvText\n\n \n No\n \n\n\n \n \n firstFieldName\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-anatomical-structures.ts\n \n \n \n \n \n \n \n processAnatomicalStructures\n \n \n \n \n \n \nprocessAnatomicalStructures(sourceUrl, entities)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n sourceUrl\n\n \n No\n \n\n\n \n \n entities\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-extraction-sites.ts\n \n \n \n \n \n \n \n processExtractionSites\n \n \n \n \n \n \nprocessExtractionSites(sourceUrl, entities)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n sourceUrl\n\n \n No\n \n\n\n \n \n entities\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-reference-data.ts\n \n \n \n \n \n \n \n processReferenceData\n \n \n \n \n \n \nprocessReferenceData(refEntities, config)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n refEntities\n\n \n No\n \n\n\n \n \n config\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/process-spatial-entities.ts\n \n \n \n \n \n \n \n processSpatialEntities\n \n \n \n \n \n \nprocessSpatialEntities(parent, gltfOverride?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n parent\n\n \n No\n \n\n\n \n \n gltfOverride\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/simplify-scene.ts\n \n \n \n \n \n \n \n simplifyScene\n \n \n \n \n \n \nsimplifyScene(nodes)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n nodes\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n projects/ccf-body-ui/src/lib/util/scene-traversal.ts\n \n \n \n \n \n \n \n traverseScene\n \n \n \n \n \n \ntraverseScene(scene, worldMatrix, visitor)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n scene\n\n \n No\n \n\n\n \n \n worldMatrix\n\n \n No\n \n\n\n \n \n visitor\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n \n \n \n 2 Classes\n \n \n \n \n \n \n \n 9 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n NodeClickEvent   (projects/.../body-ui.ts)\n \n \n NodeDragEvent   (projects/.../body-ui.ts)\n \n \n SceneTraversalVisitor   (projects/.../scene-traversal.ts)\n \n \n SpatialSceneGeometry   (projects/.../spatial-scene-node.ts)\n \n \n \n \n \n \n\n\n projects/ccf-body-ui/src/lib/body-ui.ts\n \n \n \n \n \n \n NodeClickEvent\n \n \n \n \n literal type\n\n \n \n \n \n \n \n \n \n \n NodeDragEvent\n \n \n \n \n literal type\n\n \n \n \n \n projects/ccf-body-ui/src/lib/util/scene-traversal.ts\n \n \n \n \n \n \n SceneTraversalVisitor\n \n \n \n \n function\n\n \n \n \n \n projects/ccf-body-ui/src/lib/shared/spatial-scene-node.ts\n \n \n \n \n \n \n SpatialSceneGeometry\n \n \n \n \n \"sphere\" | \"cube\" | \"wireframe\" | \"text\" | \"cone\" | \"cylinder\"\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n referenceDataConfig   (projects/.../process-reference-data.ts)\n \n \n \n \n \n \n\n\n projects/ccf-body-ui/src/lib/util/process-reference-data.ts\n \n \n \n \n \n \n \n referenceDataConfig\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n extractionSitesUrl: 'http://localhost:8080/source_data/asct-b-3d-models-landmarks.csv',\n extractionSitesConfigUrl: 'http://localhost:8080/source_data/extraction-site-config.csv',\n anatomicalStructuresUrl: 'http://localhost:8080/source_data/asct-b-3d-models-crosswalk.csv',\n referenceOrganConfigUrl: 'http://localhost:8080/source_data/reference-organ-config.csv'\n}\n \n \n\n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} } diff --git a/docs/ccf-database/changelog.html b/docs/ccf-database/changelog.html index 9a88b5cfd..6823e34fd 100644 --- a/docs/ccf-database/changelog.html +++ b/docs/ccf-database/changelog.html @@ -33,6 +33,11 @@

          Changelog

          Changelog for the Human Reference Atlas (HRA) User Interfaces

          +

          3.7.2 - 2023-07-12

          +

          Added in 3.7.2

          +
            +
          • Client side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1
          • +

          3.7.0 - 2023-06-15

          Added in 3.7.0

            diff --git a/docs/ccf-database/classes/CCFDatabase.html b/docs/ccf-database/classes/CCFDatabase.html index 14587559c..def8d0eb5 100644 --- a/docs/ccf-database/classes/CCFDatabase.html +++ b/docs/ccf-database/classes/CCFDatabase.html @@ -238,7 +238,7 @@

            Constructor

            - + @@ -307,7 +307,7 @@

            - + @@ -341,7 +341,7 @@

            - + @@ -379,7 +379,7 @@

            - + @@ -410,7 +410,7 @@

            - + @@ -443,7 +443,7 @@

            - + @@ -469,7 +469,7 @@

            - + @@ -511,8 +511,8 @@

            - + @@ -594,8 +594,8 @@

            - + @@ -633,8 +633,8 @@

            - + @@ -730,8 +730,8 @@

            - + @@ -801,8 +801,8 @@

            - + @@ -846,8 +846,8 @@

            - + @@ -924,8 +924,8 @@

            - + @@ -1002,8 +1002,8 @@

            - + @@ -1080,8 +1080,8 @@

            - + @@ -1127,8 +1127,8 @@

            - + @@ -1166,8 +1166,8 @@

            - + @@ -1211,8 +1211,8 @@

            - + @@ -1293,8 +1293,8 @@

            - + @@ -1371,8 +1371,8 @@

            - + @@ -1418,8 +1418,8 @@

            - + @@ -1465,8 +1465,8 @@

            - + @@ -1512,8 +1512,8 @@

            - + @@ -1606,8 +1606,8 @@

            - + @@ -1682,8 +1682,8 @@

            - + @@ -1760,8 +1760,8 @@

            - + @@ -1842,8 +1842,8 @@

            - + @@ -1918,8 +1918,8 @@

            - + @@ -1998,8 +1998,8 @@

            - + @@ -2037,8 +2037,8 @@

            - + @@ -2066,6 +2066,7 @@

            import { delMany, get, setMany } from 'idb-keyval';
             import { JsonLd } from 'jsonld/jsonld-spec';
            +import hash from 'object-hash';
             import {
               addJsonLdToStore, addN3ToStore, addRdfXmlToStore, DataFactory, deserializeN3Store, Quad, serializeN3Store, Store
             } from 'triple-store-utils';
            @@ -2166,8 +2167,16 @@ 

            private async cachedConnect(): Promise<void> { const start = new Date().getTime(); - const lastModifiedKey = 'ccf-database.last_modified'; - const ccfDatabaseKey = 'ccf-database'; + const optionsHash = hash(this.options, { + encoding: 'base64', + ignoreUnknown: true, + respectType: false, + unorderedArrays: true, + unorderedObjects: true, + unorderedSets: true + }); + const lastModifiedKey = `ccf-database.last_modified.${optionsHash}`; + const ccfDatabaseKey = `ccf-database.${optionsHash}`; const lastModified = await get(lastModifiedKey).catch(() => undefined); let serializedDb: string | undefined; diff --git a/docs/ccf-database/dependencies.html b/docs/ccf-database/dependencies.html index 6cd022707..2ddf3b608 100644 --- a/docs/ccf-database/dependencies.html +++ b/docs/ccf-database/dependencies.html @@ -162,6 +162,8 @@ ngx-markdown : ^12.0.1
          • node-fetch : ^2.6.7
          • +
          • + object-hash : ^3.0.0
          • qs : ^6.10.2
          • diff --git a/docs/ccf-database/interfaces/CCFDatabaseOptions.html b/docs/ccf-database/interfaces/CCFDatabaseOptions.html index 1c8d62818..40881a769 100644 --- a/docs/ccf-database/interfaces/CCFDatabaseOptions.html +++ b/docs/ccf-database/interfaces/CCFDatabaseOptions.html @@ -518,6 +518,7 @@

            Properties

            import { delMany, get, setMany } from 'idb-keyval';
             import { JsonLd } from 'jsonld/jsonld-spec';
            +import hash from 'object-hash';
             import {
               addJsonLdToStore, addN3ToStore, addRdfXmlToStore, DataFactory, deserializeN3Store, Quad, serializeN3Store, Store
             } from 'triple-store-utils';
            @@ -618,8 +619,16 @@ 

            Properties

            private async cachedConnect(): Promise<void> { const start = new Date().getTime(); - const lastModifiedKey = 'ccf-database.last_modified'; - const ccfDatabaseKey = 'ccf-database'; + const optionsHash = hash(this.options, { + encoding: 'base64', + ignoreUnknown: true, + respectType: false, + unorderedArrays: true, + unorderedObjects: true, + unorderedSets: true + }); + const lastModifiedKey = `ccf-database.last_modified.${optionsHash}`; + const ccfDatabaseKey = `ccf-database.${optionsHash}`; const lastModified = await get(lastModifiedKey).catch(() => undefined); let serializedDb: string | undefined; diff --git a/docs/ccf-database/js/search/search_index.js b/docs/ccf-database/js/search/search_index.js index 5b6d4b27a..c1e9ba0bb 100644 --- a/docs/ccf-database/js/search/search_index.js +++ b/docs/ccf-database/js/search/search_index.js @@ -1,4 +1,4 @@ var COMPODOC_SEARCH_INDEX = { - "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/interfaces/AggregateResult.html",[0,0.246,1,0.813]],["body/interfaces/AggregateResult.html",[0,0.478,1,1.1,2,0.256,3,0.256,4,0.295,5,0.181,6,0.218,7,0.949,8,1.041,9,1.581,10,1.1,11,0.029,12,0.297,13,0.459,14,1.712,15,1.07,16,0.61,17,0.032,18,0.44,19,0.359,20,1.1,21,1.401,22,1.1,23,0.658,24,0.742,25,1.344,26,0.778,27,0.949,28,0.875,29,0.875,30,1.028,31,1.028,32,1.401,33,0.949,34,1.028,35,0.949,36,0.949,37,1.028,38,1.028,39,0.625,40,0.807,41,0.949,42,0.875,43,0.949,44,1.028,45,0.949,46,0.906,47,1.526,48,0.951,49,0.606,50,1.193,51,1.193,52,0.875,53,1.458,54,1.193,55,1.041,56,0.739,57,0.739,58,0.949,59,0.424,60,0.949,61,1.401,62,1.358,63,1.1,64,0.471,65,0.379,66,1.028,67,1.293,68,1.566,69,1.575,70,1.193,71,1.458,72,1.293,73,1.401,74,1.193,75,1.028,76,1.581,77,1.358,78,1.297,79,0.949,80,1.344,81,1.472,82,0.807,83,1.401,84,0.949,85,1.472,86,1.028,87,0.949,88,0.625,89,1.028,90,1.792,91,0.949,92,0.426,93,0.708,94,0.875,95,0.949,96,0.949,97,1.028,98,0.875,99,0.866,100,0.642,101,0.642,102,1.358,103,1.358,104,1.641,105,1.458,106,1.293,107,0.642,108,1.401,109,1.293,110,0.949,111,0.93,112,0.949,113,1.401,114,0.93,115,1.193,116,0.778,117,1.472,118,1.594,119,0.739,120,0.778,121,0.778,122,1.028,123,0.658,124,0.807,125,0.571,126,0.949,127,0.875,128,0.625,129,0.807,130,1.401,131,1.028,132,1.028,133,1.193,134,1.293,135,1.028,136,0.949,137,0.471,138,1.028,139,0.875,140,0.875,141,0.875,142,1.581,143,1.358,144,0.875,145,1.028,146,1.1,147,0.949,148,1.028,149,1.028,150,0.949,151,0.742,152,0.949,153,0.807,154,1.293,155,0.949,156,1.028,157,0.949,158,0.021,159,0.015]],["title/interfaces/CCFDatabaseOptions.html",[0,0.246,160,2.094]],["body/interfaces/CCFDatabaseOptions.html",[0,0.168,1,0.553,2,0.266,3,0.175,4,0.485,5,0.124,6,0.149,8,0.428,9,0.985,10,0.838,11,0.019,12,0.149,13,0.349,16,0.588,17,0.032,18,0.226,19,0.34,23,0.422,24,0.509,25,0.838,26,1.009,40,0.838,46,0.933,49,0.349,51,1.481,56,0.29,57,0.29,58,1.189,63,0.838,64,0.489,65,0.722,68,0.553,78,0.708,80,0.553,82,0.553,92,0.433,104,1.384,105,0.909,107,0.658,111,1.025,123,0.29,124,1.425,128,1.277,137,0.658,146,1.276,151,0.931,153,0.553,157,0.65,158,0.023,159,0.023,160,3.121,161,1.064,162,1.6,163,3.749,164,4.029,165,4.404,166,4.029,167,4.029,168,4.029,169,4.029,170,4.029,171,4.483,172,4.483,173,1.36,174,3.836,175,3.36,176,3.242,177,1.942,178,3.328,179,3.328,180,1.478,181,3.305,182,2.783,183,2.812,184,3.266,185,3.749,186,2.156,187,2.783,188,2.783,189,3.255,190,2.196,191,3.328,192,1.837,193,1.837,194,1.837,195,1.6,196,1.837,197,2.196,198,2.196,199,4.029,200,2.196,201,3.36,202,2.196,203,4.415,204,2.927,205,1.6,206,2.156,207,1.688,208,3.36,209,1.942,210,1.282,211,3.166,212,1.6,213,2.196,214,1.837,215,2.783,216,2.783,217,2.196,218,1.837,219,2.196,220,3.509,221,1.837,222,1.837,223,3.328,224,4.536,225,1.837,226,1.6,227,2.783,228,1.837,229,1.423,230,1.837,231,2.196,232,0.827,233,1.426,234,1.282,235,2.156,236,2.196,237,2.196,238,1.837,239,2.196,240,1.837,241,2.196,242,0.763,243,1.837,244,4.018,245,1.423,246,1.164,247,3.002,248,2.424,249,1.837,250,1.837,251,1.6,252,1.837,253,1.837,254,0.897,255,1.764,256,3.328,257,2.196,258,2.196,259,3.749,260,2.196,261,4.579,262,4.935,263,1.837,264,5.424,265,2.515,266,2.196,267,1.837,268,3.36,269,3.328,270,3.328,271,3.328,272,3.328,273,2.196,274,3.562,275,3.328,276,2.604,277,1.6,278,5.164,279,2.196,280,3.328,281,2.196,282,2.196,283,4.483,284,2.196,285,3.328,286,4.473,287,3.332,288,2.196,289,1.764,290,2.196,291,4.018,292,2.196,293,3.328,294,2.196,295,3.328,296,3.328,297,2.196,298,1.761,299,4.018,300,2.196,301,2.196,302,2.196,303,2.196,304,2.196,305,2.196,306,2.196,307,2.783,308,2.196,309,1.837,310,2.196,311,2.196,312,2.196,313,2.196,314,2.196,315,2.196,316,3.328,317,1.6,318,2.196,319,2.196,320,3.328,321,2.196,322,3.328,323,2.196,324,2.196,325,2.196,326,2.196,327,2.196,328,3.328,329,2.196,330,2.196,331,2.196,332,2.196,333,2.196,334,2.196,335,2.196,336,2.196,337,2.196,338,2.196,339,2.196,340,2.196,341,2.196,342,2.196,343,3.328,344,2.196,345,2.196,346,2.196,347,2.196,348,2.196,349,2.196,350,2.196,351,3.328,352,4.018,353,2.196,354,2.196,355,2.196,356,2.196,357,2.196,358,2.196,359,2.196,360,2.196,361,1.837,362,2.196,363,2.196,364,1.837,365,2.196,366,2.196,367,2.196,368,2.196,369,3.328,370,3.328,371,2.196,372,4.018,373,2.196,374,2.196,375,2.196,376,2.196,377,2.196,378,1.6,379,5.069,380,2.196,381,2.196,382,1.642,383,2.196,384,2.196,385,2.196,386,3.36,387,1.837,388,2.196,389,2.196,390,4.018,391,2.196,392,2.783,393,2.196,394,2.783,395,2.783,396,2.424,397,2.783,398,2.156,399,3.328,400,3.328,401,3.328,402,2.196,403,2.156,404,2.196,405,2.783,406,2.196,407,2.196,408,3.749,409,3.328,410,2.196,411,2.196,412,2.196,413,2.196,414,2.196,415,2.196,416,3.328,417,4.817,418,2.196,419,2.196,420,2.927,421,2.196,422,2.196,423,1.837,424,2.196,425,2.196,426,2.905,427,2.156,428,1.423,429,2.196,430,2.783,431,3.749,432,1.064,433,2.783,434,1.6,435,2.196,436,1.156,437,1.6,438,1.6,439,2.196,440,1.837,441,2.783,442,2.196]],["title/classes/CCFDatabaseStatusTracker.html",[235,2.094,254,1.32]],["body/classes/CCFDatabaseStatusTracker.html",[2,0.325,3,0.325,4,0.375,5,0.23,6,0.43,11,0.019,12,0.276,13,0.536,16,0.515,17,0.032,18,0.347,19,0.341,23,0.427,24,1.294,25,1.634,26,1.178,27,1.734,28,1.682,29,1.707,36,1.203,41,1.734,45,1.786,59,0.538,68,1.023,78,0.865,137,0.886,158,0.024,159,0.027,189,2.708,207,1.531,211,2.373,235,3.31,245,3.31,247,2.156,254,1.661,255,3.199,259,4.67,261,3.721,263,3.401,274,2.981,277,4.068,286,4.068,287,2.708,405,5.228,443,2.635,444,5.287,445,3.401,446,4.272,447,3.721,448,4.899,449,5.858,450,2.962,451,4.066,452,4.051,453,5.108,454,2.962,455,4.066,456,4.066,457,4.066,458,4.066,459,4.066,460,4.066,461,6.322,462,5.108,463,2.635,464,4.066,465,5.108,466,5.108,467,5.108,468,4.066,469,4.066,470,4.066,471,3.401,472,5.108,473,4.066,474,4.066,475,4.066,476,4.066,477,4.066,478,4.066,479,4.066,480,4.066]],["title/classes/CCFSpatialGraph.html",[206,2.094,254,1.32]],["body/classes/CCFSpatialGraph.html",[3,0.247,4,0.57,5,0.175,6,0.405,11,0.02,12,0.21,13,0.448,16,0.607,17,0.032,18,0.429,19,0.359,23,0.448,26,0.552,49,0.58,59,0.73,92,0.498,119,0.8,137,0.811,158,0.02,159,0.015,161,2.886,173,1.265,176,1.807,177,1.807,189,3.245,201,3.569,203,3.558,204,2.256,205,2.256,206,2.765,207,1.607,208,4.084,229,2.006,232,1.839,233,1.634,234,1.807,245,2.006,246,1.641,247,3.441,251,2.256,254,1.265,255,2.791,265,2.453,268,2.589,274,3.223,287,3.101,289,1.641,298,2.126,309,4.774,364,4.084,382,1.265,386,4.984,392,2.589,394,2.589,395,2.589,396,2.256,397,2.589,398,2.006,403,2.765,440,3.569,441,5.17,443,2.006,447,3.109,450,2.256,452,3.79,454,4.022,463,2.765,481,2.589,482,4.268,483,4.268,484,5.264,485,4.084,486,4.268,487,2.589,488,4.268,489,3.109,490,4.268,491,3.096,492,4.268,493,3.096,494,3.096,495,3.096,496,4.268,497,3.096,498,5.521,499,4.158,500,4.268,501,3.096,502,2.256,503,2.006,504,4.268,505,3.569,506,3.096,507,2.589,508,3.096,509,2.589,510,3.096,511,3.096,512,3.096,513,2.006,514,2.079,515,2.256,516,2.256,517,4.268,518,2.435,519,2.589,520,4.022,521,2.006,522,3.096,523,3.165,524,2.256,525,3.072,526,1.807,527,3.558,528,3.109,529,2.256,530,4.884,531,3.096,532,3.096,533,3.096,534,4.268,535,3.096,536,3.096,537,3.096,538,3.096,539,3.096,540,3.096,541,3.096,542,3.096,543,3.096,544,2.256,545,3.096,546,4.268,547,1.5,548,4.268,549,4.268,550,1.166,551,4.268,552,3.096,553,3.096,554,3.096,555,3.096,556,2.589,557,4.268,558,3.096,559,4.268,560,4.268,561,3.096,562,3.096,563,3.096,564,3.096,565,4.268,566,3.096,567,3.096,568,3.096,569,4.268,570,3.558,571,3.096,572,3.096,573,3.096,574,4.268,575,3.096,576,3.096,577,3.096,578,3.109,579,4.268,580,3.096,581,5.708,582,3.096,583,3.096,584,3.096,585,3.096,586,3.096,587,3.096,588,3.096,589,3.558,590,3.096,591,3.096,592,3.096,593,3.096,594,2.589,595,3.096,596,1.375,597,3.096,598,1.375,599,3.096,600,1.375,601,3.096,602,1.375,603,3.096,604,1.375,605,3.096,606,1.375,607,3.096,608,1.375,609,3.096,610,1.375,611,3.096,612,1.375,613,3.096,614,1.375,615,3.096,616,1.375,617,3.096,618,1.375,619,3.096,620,1.375,621,3.096,622,1.375]],["title/classes/CCFSpatialScene.html",[209,1.886,254,1.32]],["body/classes/CCFSpatialScene.html",[0,0.2,2,0.209,3,0.209,4,0.35,5,0.148,6,0.418,11,0.018,12,0.178,16,0.598,17,0.032,18,0.379,19,0.35,20,0.66,23,0.468,26,0.467,49,0.399,59,0.808,92,0.495,100,0.655,101,0.655,114,0.558,119,0.59,123,0.756,128,1.263,129,1.123,137,0.889,140,0.716,141,1.218,146,1.231,158,0.018,159,0.012,161,2.981,176,1.531,189,2.867,207,1.429,209,2.216,210,3.677,211,1.531,229,1.7,233,1.856,234,1.531,246,2.592,247,3.263,254,1.072,255,2.592,265,1.165,274,3.532,276,2.46,287,3.306,289,3.237,298,2.079,403,2.46,427,1.7,428,3.362,432,2.819,434,2.765,436,1.802,437,2.765,438,2.765,443,1.7,447,2.765,450,1.911,452,3.957,454,4.408,463,1.7,487,2.194,489,2.765,499,2.765,502,1.911,503,1.7,515,1.911,520,3.779,521,2.891,523,3.771,524,1.911,525,2.604,526,1.531,527,4.24,528,1.911,529,1.911,544,1.911,578,2.765,589,1.911,623,1.531,624,3.25,625,3.796,626,3.25,627,3.25,628,3.796,629,3.796,630,3.796,631,3.796,632,3.796,633,3.796,634,3.25,635,2.623,636,3.175,637,2.623,638,3.175,639,2.623,640,5.408,641,3.175,642,2.623,643,1.802,644,3.175,645,2.623,646,3.175,647,2.623,648,2.623,649,2.623,650,3.175,651,2.623,652,3.175,653,2.623,654,2.623,655,3.175,656,4.089,657,3.731,658,2.623,659,3.175,660,2.623,661,2.765,662,1.911,663,3.94,664,2.46,665,1.911,666,1.911,667,1.686,668,1.551,669,1.551,670,1.551,671,3.731,672,4.523,673,3.731,674,3.175,675,3.175,676,3.175,677,2.194,678,2.053,679,3.25,680,3.175,681,3.175,682,2.194,683,2.194,684,2.194,685,2.194,686,2.194,687,2.194,688,4.089,689,4.089,690,2.194,691,2.194,692,2.194,693,2.194,694,4.339,695,2.194,696,3.175,697,3.175,698,3.175,699,2.194,700,2.194,701,2.194,702,2.194,703,2.765,704,2.194,705,3.175,706,3.175,707,2.194,708,4.523,709,3.175,710,3.175,711,3.731,712,3.175,713,4.61,714,3.175,715,3.175,716,3.175,717,2.194,718,2.194,719,3.175,720,3.175,721,2.194,722,2.194,723,4.339,724,2.194,725,2.194,726,2.194,727,2.194,728,2.194,729,3.175,730,2.194,731,2.194,732,2.194,733,2.194,734,2.194,735,2.194,736,2.194,737,2.194,738,2.194,739,3.175,740,3.175,741,2.194,742,2.194,743,2.194,744,4.339,745,2.194,746,2.194,747,2.194,748,2.194,749,4.089,750,2.194,751,2.194,752,2.194,753,3.175,754,2.194,755,2.194,756,1.165,757,2.194,758,2.194,759,2.194,760,2.194,761,2.194,762,1.7,763,2.194,764,2.194,765,2.194,766,2.194,767,2.194,768,2.194,769,2.194,770,2.194,771,2.194,772,2.194]],["title/interfaces/DatabaseStatus.html",[0,0.246,24,0.749]],["body/interfaces/DatabaseStatus.html",[0,0.476,1,0.786,2,0.249,3,0.249,4,0.288,5,0.177,6,0.212,7,0.925,8,1.08,9,1.271,10,0.786,11,0.028,12,0.292,13,0.451,14,1.002,15,0.987,16,0.607,17,0.032,18,0.442,19,0.361,20,0.786,21,1.002,22,0.786,23,0.655,24,0.995,25,1.558,26,0.987,27,1.452,28,1.34,29,1.34,30,1.377,31,1.377,32,1.694,33,1.271,34,1.377,35,1.271,36,1.564,37,1.377,38,1.377,39,0.837,40,1.081,41,1.564,42,1.173,43,1.271,44,1.377,45,1.564,46,0.898,47,1.513,48,0.941,49,0.601,50,1.173,51,1.173,52,0.853,53,1.443,54,1.173,55,1.03,56,0.733,57,0.733,58,0.925,59,0.413,60,0.925,61,1.377,62,1.34,63,1.081,64,0.459,65,0.37,66,1.002,67,1.271,68,1.558,69,1.563,70,1.173,71,1.443,72,1.271,73,1.377,74,1.173,75,1.002,76,1.564,77,1.34,78,1.29,79,0.925,80,1.33,81,1.452,82,0.786,83,1.377,84,0.925,85,1.452,86,1.002,87,0.925,88,0.609,89,1.002,90,1.776,91,0.925,92,0.422,93,0.696,94,0.853,95,0.925,96,0.925,97,1.002,98,0.853,99,0.857,100,0.631,101,0.631,102,1.34,103,1.34,104,1.631,105,1.443,106,1.271,107,0.631,108,1.377,109,1.271,110,0.925,111,0.914,112,0.925,113,1.377,114,0.914,115,1.173,116,0.765,117,1.452,118,1.573,119,0.733,120,0.765,121,0.765,122,1.002,123,0.649,124,0.786,125,0.557,126,0.925,127,0.853,128,0.609,129,0.786,130,1.377,131,1.002,132,1.002,133,1.173,134,1.271,135,1.002,136,0.925,137,0.861,138,1.002,139,0.853,140,0.853,141,0.853,142,1.564,143,1.34,144,0.853,145,1.002,146,1.081,147,0.925,148,1.002,149,1.002,150,0.925,151,0.724,152,0.925,153,0.786,154,1.271,155,0.925,156,1.002,157,0.925,158,0.02,159,0.015]],["title/interfaces/DatasetResult.html",[0,0.246,62,0.882]],["body/interfaces/DatasetResult.html",[0,0.478,1,0.803,2,0.255,3,0.255,4,0.294,5,0.18,6,0.217,7,0.945,8,1.04,9,1.29,10,0.803,11,0.028,12,0.296,13,0.458,14,1.023,15,0.994,16,0.61,17,0.032,18,0.437,19,0.365,20,0.803,21,1.023,22,0.803,23,0.658,24,0.74,25,1.342,26,0.776,27,0.945,28,0.872,29,0.872,30,1.023,31,1.023,32,1.397,33,0.945,34,1.023,35,0.945,36,0.945,37,1.023,38,1.023,39,0.622,40,0.803,41,0.945,42,0.872,43,0.945,44,1.023,45,0.945,46,0.934,47,1.573,48,0.95,49,0.605,50,1.19,51,1.355,52,0.872,53,1.456,54,1.19,55,1.088,56,0.762,57,0.762,58,0.945,59,0.422,60,0.945,61,1.591,62,1.456,63,1.45,64,0.64,65,0.516,66,1.397,67,1.705,68,1.564,69,1.573,70,1.19,71,1.456,72,1.29,73,1.397,74,1.19,75,1.023,76,1.578,77,1.355,78,1.295,79,0.945,80,1.342,81,1.469,82,0.803,83,1.397,84,0.945,85,1.469,86,1.023,87,0.945,88,0.622,89,1.023,90,1.789,91,0.945,92,0.426,93,0.707,94,0.872,95,0.945,96,0.945,97,1.023,98,0.872,99,0.864,100,0.64,101,0.64,102,1.355,103,1.355,104,1.639,105,1.456,106,1.29,107,0.64,108,1.397,109,1.29,110,0.945,111,0.927,112,0.945,113,1.397,114,0.927,115,1.19,116,0.776,117,1.469,118,1.591,119,0.738,120,0.776,121,0.776,122,1.023,123,0.656,124,0.803,125,0.569,126,0.945,127,0.872,128,0.622,129,0.803,130,1.397,131,1.023,132,1.023,133,1.19,134,1.29,135,1.023,136,0.945,137,0.469,138,1.023,139,0.872,140,0.872,141,0.872,142,1.578,143,1.355,144,0.872,145,1.023,146,1.097,147,0.945,148,1.023,149,1.023,150,0.945,151,0.74,152,0.945,153,0.803,154,1.29,155,0.945,156,1.023,157,0.945,158,0.021,159,0.015]],["title/interfaces/DonorResult.html",[0,0.246,54,0.882]],["body/interfaces/DonorResult.html",[0,0.479,1,0.809,2,0.257,3,0.257,4,0.296,5,0.182,6,0.219,7,0.952,8,1.043,9,1.296,10,0.809,11,0.029,12,0.298,13,0.46,14,1.031,15,0.997,16,0.608,17,0.032,18,0.438,19,0.364,20,0.809,21,1.031,22,0.809,23,0.659,24,0.745,25,1.346,26,0.78,27,0.952,28,0.878,29,0.878,30,1.031,31,1.031,32,1.404,33,0.952,34,1.031,35,0.952,36,0.952,37,1.031,38,1.031,39,0.627,40,0.809,41,0.952,42,0.878,43,0.952,44,1.031,45,0.952,46,0.936,47,1.577,48,0.953,49,0.606,50,1.196,51,1.196,52,0.878,53,1.528,54,1.36,55,1.091,56,0.764,57,0.764,58,1.296,59,0.579,60,1.583,61,1.404,62,1.36,63,1.102,64,0.472,65,0.381,66,1.031,67,1.296,68,1.566,69,1.577,70,1.196,71,1.46,72,1.296,73,1.404,74,1.196,75,1.031,76,1.583,77,1.36,78,1.297,79,0.952,80,1.346,81,1.474,82,0.809,83,1.404,84,0.952,85,1.474,86,1.031,87,0.952,88,0.627,89,1.031,90,1.794,91,0.952,92,0.427,93,0.71,94,0.878,95,0.952,96,0.952,97,1.031,98,0.878,99,0.867,100,0.643,101,0.643,102,1.36,103,1.36,104,1.642,105,1.46,106,1.296,107,0.643,108,1.404,109,1.296,110,0.952,111,0.932,112,0.952,113,1.404,114,0.932,115,1.196,116,0.78,117,1.474,118,1.597,119,0.74,120,0.78,121,0.78,122,1.031,123,0.659,124,0.809,125,0.573,126,0.952,127,0.878,128,0.627,129,0.809,130,1.404,131,1.031,132,1.031,133,1.196,134,1.296,135,1.031,136,0.952,137,0.472,138,1.031,139,0.878,140,0.878,141,0.878,142,1.583,143,1.36,144,0.878,145,1.031,146,1.102,147,0.952,148,1.031,149,1.031,150,0.952,151,0.745,152,0.952,153,0.809,154,1.296,155,0.952,156,1.031,157,0.952,158,0.021,159,0.015]],["title/interfaces/ExtractionSet.html",[0,0.246,643,1.122]],["body/interfaces/ExtractionSet.html",[0,0.449,2,0.274,3,0.274,4,0.527,5,0.311,6,0.233,8,0.669,11,0.016,12,0.233,13,0.481,15,1.087,16,0.614,17,0.032,18,0.446,19,0.364,23,0.618,39,0.892,46,0.742,48,1.048,49,0.631,55,0.892,56,0.454,57,0.454,59,0.807,64,0.504,65,0.609,88,1.071,92,0.439,93,1.051,99,0.556,100,0.672,101,0.672,107,0.84,116,0.978,119,0.727,120,0.978,121,0.978,123,0.757,125,0.611,158,0.022,159,0.016,173,1.87,180,1.524,232,1.292,233,1.778,242,1.192,298,1.59,382,1.87,436,1.59,514,1.723,518,1.87,547,1.662,550,2.068,596,1.524,598,1.524,600,1.524,602,1.524,604,1.524,606,1.524,608,1.524,610,1.524,612,1.524,614,1.524,616,1.524,618,1.524,620,1.524,622,1.524,643,1.788,667,1.524,668,1.402,669,1.402,670,1.402,678,1.192,756,1.524,773,1.662,774,1.662,775,2.66,776,2.66,777,2.912,778,1.662,779,1.82,780,1.662,781,2.426,782,2.216,783,2.771,784,1.662,785,1.662,786,1.82,787,1.662,788,1.662,789,1.82,790,2.426,791,1.662,792,1.82,793,1.82,794,1.82,795,2.73,796,1.662,797,1.662,798,2.426,799,2.426,800,2.216,801,2.216,802,2.033,803,1.82,804,1.82,805,1.82,806,1.662,807,1.82,808,1.82,809,2.426,810,2.216,811,1.662,812,1.662,813,3.38,814,1.662,815,1.662,816,1.662,817,1.662,818,1.82,819,1.82,820,2.287,821,1.662,822,2.912,823,2.73,824,3.033,825,1.82,826,1.662,827,1.82,828,1.82,829,2.912]],["title/interfaces/Filter.html",[0,0.246,128,0.63]],["body/interfaces/Filter.html",[0,0.475,1,0.769,2,0.244,3,0.244,4,0.282,5,0.173,6,0.208,7,0.905,8,1.021,9,1.252,10,0.769,11,0.028,12,0.288,13,0.444,14,0.98,15,0.979,16,0.611,17,0.032,18,0.445,19,0.366,20,0.769,21,0.98,22,0.769,23,0.653,24,0.708,25,1.318,26,0.754,27,0.905,28,0.835,29,0.835,30,0.98,31,0.98,32,1.356,33,0.905,34,0.98,35,0.905,36,0.905,37,0.98,38,0.98,39,0.596,40,0.769,41,0.905,42,0.835,43,0.905,44,0.98,45,0.905,46,0.891,47,1.501,48,0.933,49,0.597,50,1.155,51,1.155,52,0.835,53,1.43,54,1.155,55,1.021,56,0.727,57,0.727,58,0.905,59,0.404,60,0.905,61,1.356,62,1.325,63,1.065,64,0.449,65,0.362,66,0.98,67,1.252,68,1.552,69,1.552,70,1.155,71,1.43,72,1.252,73,1.356,74,1.155,75,0.98,76,1.549,77,1.325,78,1.283,79,0.905,80,1.318,81,1.436,82,0.769,83,1.356,84,0.905,85,1.436,86,0.98,87,0.905,88,0.596,89,0.98,90,1.762,91,0.905,92,0.439,93,0.686,94,0.835,95,0.905,96,0.905,97,0.98,98,0.835,99,0.963,100,0.769,101,0.769,102,1.43,103,1.43,104,1.647,105,1.552,106,1.627,107,0.621,108,1.555,109,1.627,110,0.905,111,1.032,112,0.905,113,1.356,114,0.9,115,1.43,116,0.754,117,1.436,118,1.555,119,0.727,120,0.754,121,0.754,122,0.98,123,0.642,124,1.065,125,0.754,126,1.252,127,1.155,128,0.825,129,1.221,130,1.679,131,1.679,132,1.679,133,1.552,134,1.683,135,1.679,136,1.252,137,0.769,138,1.356,139,1.155,140,1.43,141,1.325,142,1.549,143,1.325,144,0.835,145,0.98,146,1.065,147,0.905,148,0.98,149,0.98,150,0.905,151,0.708,152,0.905,153,0.769,154,1.252,155,0.905,156,0.98,157,0.905,158,0.02,159,0.015]],["title/interfaces/FlatSpatialPlacement.html",[0,0.246,232,1.216]],["body/interfaces/FlatSpatialPlacement.html",[0,0.45,2,0.277,3,0.277,4,0.571,5,0.312,6,0.236,11,0.016,12,0.236,13,0.484,15,0.983,16,0.614,17,0.032,18,0.446,19,0.354,23,0.62,39,0.899,46,0.562,48,1.023,49,0.579,55,1.009,56,0.459,57,0.459,59,0.797,64,0.509,65,0.613,88,1.076,92,0.44,93,1.056,99,0.562,100,0.677,101,0.677,107,0.76,116,0.983,119,0.809,120,0.983,121,0.983,123,0.797,125,0.618,158,0.022,159,0.016,173,1.883,180,1.541,232,1.735,233,1.699,242,1.205,298,1.601,382,1.883,436,1.601,514,1.735,518,1.883,547,1.68,550,2.077,596,1.541,598,1.541,600,1.541,602,1.541,604,1.541,606,1.541,608,1.541,610,1.541,612,1.541,614,1.541,616,1.541,618,1.541,620,1.541,622,1.541,643,1.601,667,1.541,668,1.417,669,1.417,670,1.417,678,1.205,756,1.541,773,1.68,774,1.68,775,2.232,776,2.232,777,1.839,778,1.68,779,1.839,780,1.68,781,2.444,782,2.232,783,2.781,784,1.68,785,1.68,786,1.839,787,1.68,788,1.68,789,1.839,790,2.444,791,1.68,792,1.839,793,1.839,794,1.839,795,2.744,796,1.68,797,1.68,798,2.444,799,2.444,800,2.232,801,2.232,802,2.047,803,1.839,804,1.839,805,1.839,806,1.68,807,1.839,808,1.839,809,2.444,810,2.232,811,1.68,812,1.68,813,3.385,814,1.68,815,1.68,816,1.68,817,1.68,818,1.839,819,1.839,820,2.45,821,1.68,822,2.924,823,2.744,824,3.044,825,1.839,826,1.68,827,1.839,828,1.839,829,2.924]],["title/interfaces/ListResultItem.html",[0,0.246,47,0.882]],["body/interfaces/ListResultItem.html",[0,0.478,1,0.801,2,0.254,3,0.254,4,0.293,5,0.18,6,0.216,7,0.942,8,1.17,9,1.288,10,0.801,11,0.028,12,0.296,13,0.457,14,1.021,15,1.084,16,0.612,17,0.032,18,0.437,19,0.362,20,0.801,21,1.021,22,0.801,23,0.658,24,0.738,25,1.341,26,0.775,27,0.942,28,0.869,29,0.869,30,1.021,31,1.021,32,1.395,33,0.942,34,1.021,35,0.942,36,0.942,37,1.021,38,1.021,39,0.621,40,0.801,41,0.942,42,0.869,43,0.942,44,1.021,45,0.942,46,0.933,47,1.572,48,0.993,49,0.639,50,1.353,51,1.353,52,1.454,53,1.454,54,1.188,55,1.039,56,0.738,57,0.738,58,0.942,59,0.421,60,0.942,61,1.395,62,1.353,63,1.095,64,0.468,65,0.377,66,1.021,67,1.288,68,1.564,69,1.572,70,1.188,71,1.454,72,1.288,73,1.395,74,1.188,75,1.021,76,1.576,77,1.353,78,1.295,79,0.942,80,1.341,81,1.467,82,0.801,83,1.395,84,0.942,85,1.467,86,1.021,87,0.942,88,0.621,89,1.021,90,1.788,91,0.942,92,0.425,93,0.705,94,0.869,95,0.942,96,0.942,97,1.021,98,0.869,99,0.863,100,0.639,101,0.639,102,1.353,103,1.353,104,1.638,105,1.454,106,1.288,107,0.639,108,1.395,109,1.288,110,0.942,111,0.926,112,0.942,113,1.395,114,0.926,115,1.188,116,0.775,117,1.467,118,1.589,119,0.738,120,0.775,121,0.775,122,1.021,123,0.656,124,0.801,125,0.567,126,0.942,127,0.869,128,0.621,129,0.801,130,1.395,131,1.021,132,1.021,133,1.188,134,1.288,135,1.021,136,0.942,137,0.468,138,1.021,139,0.869,140,0.869,141,0.869,142,1.576,143,1.353,144,0.869,145,1.021,146,1.095,147,0.942,148,1.021,149,1.021,150,0.942,151,0.738,152,0.942,153,0.801,154,1.288,155,0.942,156,1.021,157,0.942,158,0.021,159,0.015]],["title/interfaces/OntologyTreeModel.html",[0,0.246,153,0.813]],["body/interfaces/OntologyTreeModel.html",[0,0.478,1,0.805,2,0.255,3,0.255,4,0.295,5,0.181,6,0.217,7,0.947,8,1.041,9,1.292,10,0.805,11,0.028,12,0.297,13,0.458,14,1.026,15,0.995,16,0.608,17,0.032,18,0.437,19,0.362,20,0.805,21,1.026,22,0.805,23,0.658,24,0.741,25,1.343,26,0.777,27,0.947,28,0.873,29,0.873,30,1.026,31,1.026,32,1.399,33,0.947,34,1.026,35,0.947,36,0.947,37,1.026,38,1.026,39,0.624,40,0.805,41,0.947,42,0.873,43,0.947,44,1.026,45,0.947,46,0.905,47,1.525,48,0.951,49,0.619,50,1.192,51,1.192,52,0.873,53,1.457,54,1.192,55,1.041,56,0.739,57,0.739,58,0.947,59,0.423,60,0.947,61,1.399,62,1.356,63,1.098,64,0.47,65,0.379,66,1.026,67,1.292,68,1.565,69,1.574,70,1.192,71,1.457,72,1.292,73,1.399,74,1.192,75,1.026,76,1.579,77,1.356,78,1.296,79,0.947,80,1.343,81,1.47,82,0.805,83,1.399,84,0.947,85,1.47,86,1.026,87,0.947,88,0.624,89,1.026,90,1.791,91,0.947,92,0.426,93,0.707,94,0.873,95,0.947,96,0.947,97,1.026,98,0.873,99,0.865,100,0.641,101,0.641,102,1.356,103,1.356,104,1.698,105,1.457,106,1.292,107,0.641,108,1.399,109,1.292,110,0.947,111,0.929,112,0.947,113,1.399,114,0.929,115,1.192,116,0.777,117,1.47,118,1.593,119,0.739,120,0.777,121,0.777,122,1.026,123,0.657,124,0.805,125,0.57,126,0.947,127,0.873,128,0.624,129,0.805,130,1.399,131,1.026,132,1.026,133,1.192,134,1.292,135,1.026,136,0.947,137,0.47,138,1.026,139,0.873,140,0.873,141,0.873,142,1.706,143,1.356,144,0.873,145,1.026,146,1.406,147,0.947,148,1.026,149,1.026,150,0.947,151,1.011,152,1.292,153,1.098,154,1.706,155,1.292,156,1.399,157,1.292,158,0.021,159,0.015,830,2.828]],["title/interfaces/OntologyTreeNode.html",[0,0.246,143,0.882]],["body/interfaces/OntologyTreeNode.html",[0,0.476,1,0.785,2,0.249,3,0.249,4,0.288,5,0.176,6,0.212,7,0.923,8,1.03,9,1.27,10,0.785,11,0.028,12,0.292,13,0.45,14,1,15,1.079,16,0.614,17,0.032,18,0.436,19,0.368,20,0.785,21,1,22,0.785,23,0.655,24,0.723,25,1.329,26,0.764,27,0.923,28,0.852,29,0.852,30,1,31,1,32,1.376,33,0.923,34,1,35,0.923,36,0.923,37,1,38,1,39,0.608,40,0.785,41,0.923,42,0.852,43,0.923,44,1,45,0.923,46,0.898,47,1.512,48,1.019,49,0.655,50,1.172,51,1.172,52,0.852,53,1.442,54,1.172,55,1.03,56,0.757,57,0.757,58,0.923,59,0.413,60,0.923,61,1.376,62,1.339,63,1.08,64,0.458,65,0.369,66,1,67,1.27,68,1.558,69,1.562,70,1.172,71,1.442,72,1.27,73,1.376,74,1.172,75,1,76,1.563,77,1.6,78,1.289,79,0.923,80,1.329,81,1.451,82,0.785,83,1.376,84,0.923,85,1.451,86,1,87,0.923,88,0.608,89,1,90,1.775,91,0.923,92,0.422,93,0.696,94,0.852,95,0.923,96,0.923,97,1,98,0.852,99,0.856,100,0.63,101,0.63,102,1.339,103,1.339,104,1.69,105,1.442,106,1.27,107,0.63,108,1.376,109,1.27,110,0.923,111,0.913,112,0.923,113,1.376,114,0.913,115,1.172,116,0.764,117,1.451,118,1.572,119,0.732,120,0.764,121,0.764,122,1,123,0.732,124,0.785,125,0.556,126,0.923,127,0.852,128,0.608,129,0.785,130,1.376,131,1,132,1,133,1.172,134,1.27,135,1,136,0.923,137,0.458,138,1,139,0.852,140,0.852,141,0.852,142,1.693,143,1.442,144,1.172,145,1.376,146,1.234,147,1.563,148,1.376,149,1.376,150,1.563,151,0.723,152,0.923,153,0.785,154,1.27,155,0.923,156,1,157,0.923,158,0.02,159,0.015]],["title/interfaces/SearchResultJson.html",[0,0.246,831,2.354]],["body/interfaces/SearchResultJson.html",[0,0.26,2,0.272,3,0.272,4,0.314,5,0.193,6,0.232,10,1.553,11,0.016,12,0.232,13,0.478,16,0.569,17,0.032,18,0.349,19,0.323,20,1.146,22,0.858,23,0.478,29,0.931,40,0.858,51,1.604,56,0.603,57,0.603,65,0.721,85,1.348,94,1.244,111,1.327,158,0.022,159,0.016,174,2.483,181,3.197,182,2.85,183,3.638,184,3.99,185,2.85,186,2.208,187,2.85,188,4.291,189,2.72,194,2.85,195,2.483,196,2.85,203,4.439,204,3.738,205,2.483,207,1.715,212,2.483,245,3.698,247,3.409,261,3.99,262,5.16,265,1.514,274,1.989,276,2.208,278,4.58,286,4.439,287,3.356,298,2.116,307,2.85,361,2.85,432,2.206,513,2.208,516,4.278,664,2.208,830,2.952,831,3.738,832,2.208,833,2.483,834,5.997,835,2.85,836,3.408,837,2.85,838,2.483,839,2.483,840,3.408,841,3.318,842,2.85,843,3.318,844,2.85,845,2.85,846,2.85,847,2.85,848,2.85,849,2.85,850,2.85,851,2.85,852,2.85,853,2.85,854,2.85,855,2.85,856,2.85,857,2.85,858,2.85,859,2.85,860,2.85,861,2.85,862,2.85,863,2.85,864,2.85,865,2.85,866,2.85,867,2.85,868,2.85,869,2.85,870,2.85,871,2.85,872,3.318,873,2.85,874,4.555,875,5.873,876,3.408,877,3.408,878,3.408,879,3.408,880,3.408,881,3.408,882,2.483,883,3.408,884,3.408,885,3.408,886,3.408,887,2.85,888,3.408,889,2.85,890,4.555,891,3.408,892,2.85,893,4.555,894,3.408,895,3.408,896,4.555,897,3.408,898,4.555,899,3.408,900,3.408,901,3.408,902,3.408,903,2.85,904,5.131,905,3.408,906,5.131,907,3.408,908,3.408,909,3.408,910,4.555,911,3.408,912,3.408,913,3.408,914,3.408,915,3.408,916,3.408,917,4.555,918,5.708,919,5.997,920,3.408,921,3.408,922,2.85,923,3.408,924,2.208,925,5.873,926,3.408,927,5.708,928,3.408,929,5.708,930,3.408,931,5.873,932,3.408,933,3.408,934,3.408,935,3.408,936,2.85,937,2.85,938,3.408,939,3.408]],["title/interfaces/SearchableItem.html",[0,0.246,98,0.882]],["body/interfaces/SearchableItem.html",[0,0.476,1,0.785,2,0.249,3,0.249,4,0.288,5,0.176,6,0.212,7,0.923,8,1.03,9,1.27,10,0.785,11,0.028,12,0.292,13,0.45,14,1,15,0.986,16,0.607,17,0.032,18,0.442,19,0.364,20,0.785,21,1,22,0.785,23,0.655,24,0.723,25,1.329,26,0.764,27,0.923,28,0.852,29,0.852,30,1,31,1,32,1.376,33,0.923,34,1,35,0.923,36,0.923,37,1,38,1,39,0.608,40,0.785,41,0.923,42,0.852,43,0.923,44,1,45,0.923,46,0.898,47,1.512,48,0.986,49,0.636,50,1.172,51,1.172,52,0.852,53,1.442,54,1.172,55,1.03,56,0.732,57,0.732,58,0.923,59,0.413,60,0.923,61,1.376,62,1.339,63,1.08,64,0.458,65,0.369,66,1,67,1.27,68,1.558,69,1.562,70,1.172,71,1.442,72,1.27,73,1.376,74,1.172,75,1,76,1.563,77,1.339,78,1.289,79,0.923,80,1.329,81,1.451,82,0.785,83,1.376,84,0.923,85,1.451,86,1,87,0.923,88,0.608,89,1,90,1.775,91,0.923,92,0.422,93,0.696,94,0.852,95,0.923,96,1.27,97,1.376,98,1.172,99,0.968,100,0.776,101,0.776,102,1.6,103,1.6,104,1.654,105,1.562,106,1.639,107,0.84,108,1.572,109,1.639,110,0.923,111,0.913,112,0.923,113,1.376,114,0.913,115,1.172,116,0.764,117,1.451,118,1.572,119,0.732,120,0.764,121,0.764,122,1,123,0.649,124,0.785,125,0.556,126,0.923,127,0.852,128,0.608,129,0.785,130,1.376,131,1,132,1,133,1.172,134,1.27,135,1,136,0.923,137,0.909,138,1,139,0.852,140,0.852,141,0.852,142,1.563,143,1.339,144,0.852,145,1,146,1.08,147,0.923,148,1,149,1,150,0.923,151,0.723,152,0.923,153,0.785,154,1.27,155,0.923,156,1,157,0.923,158,0.02,159,0.015]],["title/interfaces/SpatialEntity.html",[0,0.246,233,0.956]],["body/interfaces/SpatialEntity.html",[0,0.426,2,0.231,3,0.231,4,0.497,5,0.289,6,0.197,8,0.564,11,0.014,12,0.197,13,0.428,15,1.044,16,0.617,17,0.032,18,0.452,19,0.374,23,0.587,39,0.997,46,0.469,48,1.023,49,0.603,55,0.794,56,0.383,57,0.383,59,0.799,64,0.598,65,0.605,88,1.051,92,0.468,93,1.057,99,0.829,100,0.791,101,0.791,107,0.751,116,0.96,119,0.676,120,0.96,121,0.96,123,0.775,125,0.516,137,0.967,158,0.019,159,0.014,173,1.664,180,1.286,232,1.09,233,1.654,242,1.414,298,1.941,382,2.201,436,1.776,514,1.533,518,1.664,547,1.972,550,2.104,596,1.286,598,1.286,600,1.286,602,1.286,604,1.286,606,1.286,608,1.286,610,1.286,612,1.286,614,1.286,616,1.286,618,1.286,620,1.286,622,1.286,643,1.414,667,2.271,668,2.089,669,2.089,670,2.089,678,1.776,756,1.809,773,1.402,774,1.402,775,1.972,776,1.972,777,1.535,778,1.402,779,1.535,780,1.402,781,2.71,782,2.706,783,2.984,784,1.972,785,2.476,786,2.159,787,2.476,788,2.476,789,2.159,790,2.498,791,2.476,792,2.159,793,2.159,794,2.159,795,2.963,796,1.972,797,1.972,798,2.71,799,2.71,800,2.609,801,2.609,802,2.482,803,2.159,804,2.159,805,2.159,806,2.476,807,2.159,808,2.159,809,2.71,810,2.476,811,2.476,812,2.476,813,3.353,814,2.476,815,2.476,816,2.476,817,2.476,818,2.159,819,1.535,820,2.093,821,1.402,822,2.71,823,2.498,824,2.856,825,1.535,826,1.402,827,1.535,828,1.535,829,2.71]],["title/interfaces/SpatialObjectReference.html",[0,0.246,550,1.216]],["body/interfaces/SpatialObjectReference.html",[0,0.448,2,0.272,3,0.272,4,0.526,5,0.349,6,0.232,8,0.665,11,0.016,12,0.232,13,0.478,15,0.976,16,0.616,17,0.032,18,0.445,19,0.365,23,0.617,39,0.888,46,0.552,48,1.046,49,0.63,55,0.888,56,0.451,57,0.451,59,0.816,64,0.5,65,0.676,88,1.068,92,0.456,93,1.047,99,0.552,100,0.669,101,0.669,107,0.753,116,0.976,119,0.724,120,0.976,121,0.976,123,0.755,125,0.607,137,0.669,158,0.022,159,0.016,173,1.861,180,2.023,232,1.283,233,1.689,242,1.184,298,1.582,382,2.096,426,2.208,436,1.582,514,1.715,518,1.861,547,1.65,550,2.149,596,1.514,598,1.514,600,1.514,602,1.514,604,1.514,606,1.514,608,1.514,610,1.514,612,1.514,614,1.514,616,1.514,618,1.514,620,1.514,622,1.514,643,1.582,667,1.514,668,1.392,669,1.392,670,1.392,678,1.184,756,1.514,773,1.65,774,1.65,775,2.206,776,2.206,777,1.807,778,2.652,779,2.415,780,2.652,781,2.415,782,2.206,783,2.764,784,1.65,785,1.65,786,1.807,787,1.65,788,1.65,789,1.807,790,2.415,791,1.65,792,1.807,793,1.807,794,1.807,795,2.72,796,1.65,797,1.65,798,2.415,799,2.415,800,2.206,801,2.206,802,2.023,803,1.807,804,1.807,805,1.807,806,1.65,807,1.807,808,1.807,809,2.415,810,2.206,811,1.65,812,1.65,813,3.376,814,1.65,815,1.65,816,1.65,817,1.65,818,1.807,819,1.807,820,2.279,821,1.65,822,2.903,823,2.72,824,3.026,825,1.807,826,1.65,827,1.807,828,1.807,829,2.903]],["title/interfaces/SpatialPlacement.html",[0,0.246,514,1.216]],["body/interfaces/SpatialPlacement.html",[0,0.45,2,0.277,3,0.277,4,0.571,5,0.312,6,0.235,11,0.016,12,0.235,13,0.483,15,0.982,16,0.611,17,0.032,18,0.446,19,0.353,23,0.62,39,0.898,46,0.562,48,1.022,49,0.579,55,1.009,56,0.458,57,0.458,59,0.797,64,0.509,65,0.612,88,1.075,92,0.44,93,1.055,99,0.562,100,0.676,101,0.676,107,0.76,116,0.982,119,0.809,120,0.982,121,0.982,123,0.759,125,0.617,158,0.022,159,0.016,173,1.881,180,1.539,232,1.304,233,1.832,242,1.203,298,1.599,382,1.881,436,1.599,514,1.947,518,1.881,547,1.678,550,2.221,596,1.539,598,1.539,600,1.539,602,1.539,604,1.539,606,1.539,608,1.539,610,1.539,612,1.539,614,1.539,616,1.539,618,1.539,620,1.539,622,1.539,643,1.599,667,1.539,668,1.415,669,1.415,670,1.415,678,1.203,756,1.539,773,1.678,774,1.678,775,2.23,776,2.23,777,1.836,778,1.678,779,1.836,780,1.678,781,2.441,782,2.23,783,2.779,784,1.678,785,1.678,786,1.836,787,1.678,788,1.678,789,1.836,790,2.441,791,1.678,792,1.836,793,1.836,794,1.836,795,2.742,796,1.678,797,1.678,798,2.441,799,2.441,800,2.23,801,2.23,802,2.045,803,1.836,804,1.836,805,1.836,806,1.678,807,1.836,808,1.836,809,2.441,810,2.23,811,1.678,812,1.678,813,3.384,814,1.678,815,1.678,816,1.678,817,1.678,818,1.836,819,1.836,820,2.449,821,1.678,822,2.922,823,2.742,824,3.042,825,1.836,826,1.678,827,1.836,828,1.836,829,2.922]],["title/interfaces/SpatialPlacementCommon.html",[0,0.246,820,1.435]],["body/interfaces/SpatialPlacementCommon.html",[0,0.436,2,0.248,3,0.248,4,0.51,5,0.298,6,0.211,8,0.606,11,0.015,12,0.211,13,0.449,15,0.939,16,0.615,17,0.032,18,0.453,19,0.373,23,0.6,39,0.834,46,0.504,48,1.018,49,0.615,55,0.834,56,0.566,57,0.566,59,0.789,64,0.456,65,0.579,88,1.142,92,0.421,93,1.039,99,0.504,100,0.628,101,0.628,107,0.719,116,1.043,119,0.697,120,1.043,121,1.043,123,0.731,125,0.762,137,0.839,158,0.02,159,0.015,173,2.335,180,1.381,232,1.17,233,1.636,242,1.08,298,1.486,382,1.999,436,1.486,514,1.611,518,2.154,547,1.505,550,1.985,596,2.342,598,2.342,600,2.342,602,2.342,604,2.342,606,2.342,608,2.342,610,2.342,612,2.342,614,2.342,616,2.342,618,2.342,620,2.342,622,2.342,643,1.486,667,1.381,668,1.27,669,1.27,670,1.27,678,1.08,756,1.381,773,1.505,774,1.505,775,2.072,776,2.072,777,1.648,778,1.505,779,1.648,780,1.505,781,2.269,782,2.072,783,2.678,784,1.505,785,1.505,786,1.648,787,1.505,788,1.505,789,1.648,790,2.594,791,1.505,792,1.648,793,1.648,794,1.648,795,2.594,796,1.505,797,1.505,798,2.269,799,2.269,800,2.072,801,2.072,802,1.901,803,1.648,804,1.648,805,1.648,806,1.505,807,1.648,808,1.648,809,2.269,810,2.072,811,1.505,812,1.505,813,3.458,814,1.505,815,1.505,816,1.505,817,1.505,818,1.648,819,2.269,820,2.342,821,2.072,822,3.162,823,3.03,824,3.247,825,2.269,826,2.553,827,2.269,828,2.269,829,3.162]],["title/interfaces/SpatialSceneNode.html",[0,0.246,210,1.886]],["body/interfaces/SpatialSceneNode.html",[0,0.209,2,0.313,3,0.219,4,0.252,5,0.155,6,0.186,11,0.019,12,0.186,13,0.411,16,0.611,17,0.032,18,0.432,19,0.367,23,0.48,26,0.488,49,0.554,59,0.66,92,0.313,100,0.671,101,0.671,114,0.583,119,0.362,123,0.66,128,1.127,129,1.15,137,0.965,140,0.748,141,1.606,146,1.255,158,0.019,159,0.013,161,1.326,176,1.599,189,2.909,207,1.474,209,1.599,210,3.618,211,1.599,229,1.775,233,1.71,234,1.599,246,2.423,247,3.286,254,1.119,255,2.076,265,1.217,276,2.537,287,3.327,289,3.262,298,2.073,403,2.537,427,1.775,428,2.537,432,2.848,434,1.995,436,1.833,437,1.995,438,1.995,463,1.775,489,1.995,499,3.633,502,1.995,503,1.775,515,1.995,520,3.844,521,2.962,523,3.811,524,1.995,525,2.668,526,1.599,527,4.285,528,1.995,529,1.995,544,1.995,578,2.853,589,1.995,623,1.599,624,1.995,626,1.995,627,1.995,634,1.995,636,2.291,638,2.291,641,2.291,643,1.587,644,2.291,646,2.291,650,2.291,652,2.291,655,2.291,656,3.275,657,2.291,659,2.291,661,3.633,662,1.995,663,3.998,664,3.419,665,1.995,666,1.995,667,2.344,668,2.156,669,2.156,670,2.156,671,4.59,672,4.919,673,4.59,674,4.412,675,4.412,676,4.412,677,4.171,678,2.137,679,3.998,680,4.412,681,4.412,682,4.171,683,2.291,684,2.291,685,2.291,686,2.291,687,2.291,688,4.171,689,4.171,690,2.291,691,2.291,692,2.291,693,2.291,694,4.412,695,2.291,696,3.275,697,3.275,698,3.275,699,2.291,700,2.291,701,2.291,702,2.291,703,2.853,704,2.291,705,3.275,706,3.275,707,2.291,708,4.59,709,3.275,710,3.275,711,3.822,712,3.275,713,4.634,714,3.275,715,3.275,716,3.275,717,2.291,718,2.291,719,3.275,720,3.275,721,2.291,722,2.291,723,4.412,724,2.291,725,2.291,726,2.291,727,2.291,728,2.291,729,3.275,730,2.291,731,2.291,732,2.291,733,2.291,734,2.291,735,2.291,736,2.291,737,2.291,738,2.291,739,3.275,740,3.275,741,2.291,742,2.291,743,2.291,744,4.412,745,2.291,746,2.291,747,2.291,748,2.291,749,4.171,750,2.291,751,2.291,752,2.291,753,3.275,754,2.291,755,2.291,756,1.217,757,2.291,758,2.291,759,2.291,760,2.291,761,2.291,762,1.775,763,2.291,764,2.291,765,2.291,766,2.291,767,2.291,768,2.291,769,2.291,770,2.291,771,2.291,772,2.291]],["title/interfaces/SpatialSearch.html",[0,0.246,115,0.882]],["body/interfaces/SpatialSearch.html",[0,0.476,1,0.786,2,0.249,3,0.249,4,0.288,5,0.177,6,0.212,7,0.925,8,1.03,9,1.271,10,0.786,11,0.028,12,0.292,13,0.451,14,1.002,15,0.987,16,0.607,17,0.032,18,0.445,19,0.363,20,0.786,21,1.002,22,0.786,23,0.655,24,0.724,25,1.33,26,0.765,27,0.925,28,0.853,29,0.853,30,1.002,31,1.002,32,1.377,33,0.925,34,1.002,35,0.925,36,0.925,37,1.002,38,1.002,39,0.609,40,0.786,41,0.925,42,0.853,43,0.925,44,1.002,45,0.925,46,0.898,47,1.513,48,0.941,49,0.601,50,1.173,51,1.173,52,0.853,53,1.443,54,1.173,55,1.03,56,0.733,57,0.733,58,0.925,59,0.413,60,0.925,61,1.377,62,1.34,63,1.081,64,0.459,65,0.37,66,1.002,67,1.271,68,1.558,69,1.563,70,1.173,71,1.443,72,1.271,73,1.377,74,1.173,75,1.002,76,1.564,77,1.34,78,1.29,79,0.925,80,1.33,81,1.452,82,0.786,83,1.377,84,0.925,85,1.564,86,1.002,87,0.925,88,0.609,89,1.002,90,1.943,91,0.925,92,0.457,93,0.795,94,0.853,95,0.925,96,0.925,97,1.002,98,0.853,99,0.857,100,0.631,101,0.631,102,1.34,103,1.34,104,1.631,105,1.443,106,1.271,107,0.631,108,1.377,109,1.271,110,1.271,111,1.044,112,1.271,113,1.694,114,1.124,115,1.34,116,1.02,117,1.694,118,1.835,119,0.826,120,1.02,121,1.02,122,1.694,123,0.699,124,0.786,125,0.557,126,0.925,127,0.853,128,0.609,129,0.786,130,1.377,131,1.002,132,1.002,133,1.173,134,1.271,135,1.002,136,0.925,137,0.459,138,1.002,139,0.853,140,0.853,141,0.853,142,1.564,143,1.34,144,0.853,145,1.002,146,1.081,147,0.925,148,1.002,149,1.002,150,0.925,151,0.724,152,0.925,153,0.786,154,1.271,155,0.925,156,1.002,157,0.925,158,0.02,159,0.015]],["title/interfaces/TissueBlockResult.html",[0,0.246,82,0.813]],["body/interfaces/TissueBlockResult.html",[0,0.474,1,0.764,2,0.242,3,0.242,4,0.28,5,0.172,6,0.206,7,0.898,8,1.018,9,1.246,10,0.764,11,0.028,12,0.286,13,0.442,14,0.973,15,0.976,16,0.607,17,0.032,18,0.441,19,0.37,20,0.764,21,0.973,22,0.764,23,0.652,24,0.703,25,1.313,26,0.75,27,0.898,28,0.829,29,0.829,30,0.973,31,0.973,32,1.349,33,0.898,34,0.973,35,0.898,36,0.898,37,0.973,38,0.973,39,0.592,40,0.764,41,0.898,42,0.829,43,0.898,44,0.973,45,0.898,46,0.92,47,1.549,48,0.93,49,0.596,50,1.319,51,1.149,52,0.829,53,1.619,54,1.425,55,1.069,56,0.75,57,0.75,58,0.898,59,0.401,60,0.898,61,1.349,62,1.497,63,1.059,64,0.446,65,0.359,66,0.973,67,1.246,68,1.62,69,1.619,70,1.425,71,1.497,72,1.622,73,1.673,74,1.425,75,0.973,76,1.782,77,1.319,78,1.365,79,0.898,80,1.493,81,1.622,82,1.059,83,1.673,84,1.544,85,1.622,86,1.349,87,1.544,88,0.821,89,1.349,90,1.819,91,1.544,92,0.438,93,0.783,94,1.149,95,1.544,96,0.898,97,0.973,98,0.829,99,0.846,100,0.618,101,0.618,102,1.319,103,1.319,104,1.619,105,1.425,106,1.246,107,0.618,108,1.349,109,1.246,110,0.898,111,0.896,112,0.898,113,1.349,114,0.896,115,1.149,116,0.75,117,1.43,118,1.549,119,0.725,120,0.75,121,0.75,122,0.973,123,0.639,124,0.764,125,0.54,126,0.898,127,0.829,128,0.592,129,0.764,130,1.349,131,0.973,132,0.973,133,1.149,134,1.246,135,0.973,136,0.898,137,0.446,138,0.973,139,0.829,140,0.829,141,0.829,142,1.544,143,1.319,144,0.829,145,0.973,146,1.059,147,0.898,148,0.973,149,0.973,150,0.898,151,0.703,152,0.898,153,0.764,154,1.246,155,0.898,156,0.973,157,0.898,158,0.02,159,0.014]],["title/interfaces/TissueSectionResult.html",[0,0.246,70,0.882]],["body/interfaces/TissueSectionResult.html",[0,0.477,1,0.791,2,0.251,3,0.251,4,0.29,5,0.178,6,0.214,7,0.931,8,1.033,9,1.277,10,0.791,11,0.028,12,0.335,13,0.453,14,1.008,15,0.989,16,0.605,17,0.032,18,0.439,19,0.367,20,0.791,21,1.008,22,0.791,23,0.656,24,0.728,25,1.334,26,0.768,27,0.931,28,0.859,29,0.859,30,1.008,31,1.008,32,1.383,33,0.931,34,1.008,35,0.931,36,0.931,37,1.008,38,1.008,39,0.613,40,0.791,41,0.931,42,0.859,43,0.931,44,1.008,45,0.931,46,0.93,47,1.566,48,0.944,49,0.602,50,1.178,51,1.178,52,0.859,53,1.447,54,1.178,55,1.083,56,0.759,57,0.759,58,0.931,59,0.416,60,0.931,61,1.383,62,1.516,63,1.086,64,0.462,65,0.372,66,1.008,67,1.277,68,1.609,69,1.693,70,1.344,71,1.516,72,1.643,73,1.699,74,1.447,75,1.383,76,1.643,77,1.447,78,1.307,79,1.568,80,1.505,81,1.568,82,0.791,83,1.383,84,0.931,85,1.457,86,1.008,87,0.931,88,0.613,89,1.008,90,1.78,91,0.931,92,0.423,93,0.699,94,0.859,95,0.931,96,0.931,97,1.008,98,0.859,99,0.859,100,0.633,101,0.633,102,1.344,103,1.344,104,1.633,105,1.447,106,1.277,107,0.633,108,1.383,109,1.277,110,0.931,111,0.918,112,0.931,113,1.383,114,0.918,115,1.178,116,0.768,117,1.457,118,1.579,119,0.734,120,0.768,121,0.768,122,1.008,123,0.651,124,0.791,125,0.56,126,0.931,127,0.859,128,0.613,129,0.791,130,1.383,131,1.008,132,1.008,133,1.178,134,1.277,135,1.008,136,0.931,137,0.462,138,1.008,139,0.859,140,0.859,141,0.859,142,1.568,143,1.344,144,0.859,145,1.008,146,1.086,147,0.931,148,1.008,149,1.008,150,0.931,151,0.728,152,0.931,153,0.791,154,1.277,155,0.931,156,1.008,157,0.931,158,0.02,159,0.015]],["title/changelog.html",[940,1.971,941,1.753,942,1.971]],["body/changelog.html",[0,0.39,2,0.146,3,0.393,5,0.103,10,0.46,11,0.009,13,0.192,17,0.026,18,0.124,19,0.103,22,0.46,26,0.788,28,0.499,33,1.059,35,0.854,40,1.023,42,0.977,46,0.468,49,0.192,50,0.499,52,0.788,53,0.788,56,0.242,57,0.242,63,0.726,64,0.424,65,0.729,68,1.444,69,0.788,71,0.499,74,0.499,77,0.499,78,0.761,80,1.023,92,0.325,96,0.541,99,0.468,102,0.788,103,0.499,104,1.499,105,0.788,107,0.597,111,1.246,112,1.458,124,0.726,125,0.325,126,0.854,127,0.499,128,0.793,129,0.726,133,0.499,134,0.541,136,0.541,137,0.268,139,0.788,151,0.423,154,0.541,158,0.014,159,0.025,175,1.528,180,0.812,181,3.141,183,3.348,186,2.868,195,3.588,207,2.396,211,3.068,234,1.067,242,2.235,243,2.414,246,0.969,265,2.439,277,1.331,317,1.331,378,3.588,396,3.588,398,1.87,408,1.528,420,2.961,426,3.828,427,3.758,430,1.528,431,4.898,432,2.545,433,3.701,436,2.156,446,1.528,448,1.528,452,1.184,471,3.934,518,1.179,519,1.528,521,1.184,525,1.685,678,1.412,679,1.331,703,2.961,762,2.633,775,1.398,776,1.398,784,0.885,796,1.733,797,1.398,800,0.885,801,1.398,802,0.812,821,1.398,837,1.528,838,3.224,839,3.224,882,3.72,887,2.414,892,2.414,922,1.528,924,2.318,936,2.414,941,2.318,942,2.103,943,2.992,944,2.992,945,4.395,946,2.886,947,1.827,948,4.064,949,2.886,950,6.653,951,6.101,952,3.577,953,1.827,954,2.886,955,1.827,956,5.664,957,1.827,958,2.886,959,1.528,960,1.827,961,2.414,962,2.414,963,2.414,964,5.106,965,1.827,966,1.827,967,1.827,968,3.577,969,3.577,970,1.827,971,2.414,972,1.827,973,1.827,974,5.256,975,2.886,976,4.425,977,3.577,978,3.577,979,1.827,980,2.886,981,1.827,982,1.827,983,3.577,984,4.425,985,2.886,986,3.577,987,3.577,988,3.577,989,1.827,990,2.886,991,2.886,992,1.827,993,4.926,994,4.704,995,4.926,996,2.886,997,1.827,998,1.827,999,4.064,1000,1.827,1001,2.886,1002,1.827,1003,1.827,1004,2.886,1005,3.577,1006,3.701,1007,1.827,1008,1.827,1009,1.827,1010,1.827,1011,2.886,1012,1.827,1013,4.704,1014,1.827,1015,1.827,1016,3.577,1017,2.992,1018,1.827,1019,1.827,1020,1.827,1021,5.49,1022,5.583,1023,2.886,1024,4.425,1025,1.827,1026,2.886,1027,4.704,1028,2.886,1029,1.827,1030,1.827,1031,1.827,1032,2.886,1033,4.119,1034,4.704,1035,3.399,1036,1.827,1037,5.227,1038,1.827,1039,1.827,1040,2.886,1041,1.827,1042,2.886,1043,3.577,1044,1.827,1045,1.827,1046,1.827,1047,3.577,1048,2.886,1049,1.827,1050,2.886,1051,1.827,1052,1.827,1053,1.827,1054,5.736,1055,1.827,1056,1.528,1057,3.224,1058,1.827,1059,2.886,1060,1.528,1061,1.827,1062,2.886,1063,4.064,1064,4.064,1065,1.827,1066,2.886,1067,3.577,1068,1.827,1069,1.827,1070,2.886,1071,1.827,1072,1.827,1073,4.704,1074,3.048,1075,3.701,1076,2.992,1077,1.827,1078,3.701,1079,1.827,1080,3.577,1081,4.27,1082,5.664,1083,1.827,1084,1.827,1085,2.886,1086,2.992,1087,1.827,1088,1.827,1089,1.827,1090,1.827,1091,1.827,1092,1.827,1093,1.827,1094,1.827,1095,2.414,1096,2.414,1097,1.827,1098,1.827,1099,1.827,1100,4.591,1101,1.827,1102,1.827,1103,1.827,1104,1.827,1105,2.886,1106,1.827,1107,1.528,1108,3.577,1109,2.886,1110,1.827,1111,2.886,1112,2.886,1113,2.886,1114,2.886,1115,1.827,1116,3.577,1117,1.827,1118,1.827,1119,1.528,1120,1.827,1121,2.992,1122,1.331,1123,1.827,1124,1.827,1125,2.886,1126,2.886,1127,2.886,1128,1.827,1129,1.827,1130,1.827,1131,2.992,1132,1.827,1133,2.886,1134,1.827,1135,1.827,1136,4.704,1137,2.414,1138,1.827,1139,1.827,1140,1.827,1141,4.425,1142,3.399,1143,1.827,1144,3.577,1145,2.886,1146,4.704,1147,2.414,1148,2.886,1149,4.064,1150,1.827,1151,1.827,1152,4.064,1153,1.827,1154,1.827,1155,1.827,1156,1.827,1157,2.886,1158,2.886,1159,1.827,1160,2.886,1161,1.827,1162,1.827,1163,2.886,1164,2.886,1165,1.827,1166,1.827,1167,1.827,1168,1.827,1169,1.827,1170,1.827,1171,2.886,1172,1.827,1173,1.827,1174,1.827,1175,1.827,1176,1.827,1177,2.886,1178,1.827,1179,1.827,1180,1.827,1181,1.827,1182,1.827,1183,2.886,1184,1.827,1185,4.704,1186,1.827,1187,1.827,1188,3.577,1189,3.577,1190,2.886,1191,1.528,1192,2.886,1193,1.827,1194,1.528,1195,1.528,1196,1.827,1197,1.827,1198,1.827,1199,2.961,1200,1.827,1201,1.827,1202,2.886,1203,2.886,1204,1.528,1205,1.827,1206,2.886,1207,2.886,1208,1.827,1209,2.886,1210,4.064,1211,3.577,1212,1.827,1213,1.827,1214,1.827,1215,1.827,1216,1.528,1217,1.528,1218,1.827,1219,2.886,1220,1.827,1221,1.827,1222,1.827,1223,2.886,1224,4.064,1225,1.331,1226,1.827,1227,1.827,1228,1.827,1229,4.704,1230,3.577,1231,2.414,1232,1.827,1233,1.827,1234,3.577,1235,2.886,1236,4.064,1237,1.827,1238,1.827,1239,1.827,1240,2.886,1241,1.827,1242,1.827,1243,1.827,1244,1.827,1245,3.399,1246,1.827,1247,3.577,1248,4.064,1249,1.827,1250,3.577,1251,4.425,1252,2.886,1253,2.886,1254,2.886,1255,3.577,1256,4.064,1257,4.425,1258,2.886,1259,3.577,1260,1.827,1261,1.827,1262,4.926,1263,3.577,1264,1.827,1265,5.256,1266,1.827,1267,1.827,1268,1.827,1269,1.827,1270,1.827,1271,1.827,1272,2.886,1273,1.827,1274,1.827,1275,1.827,1276,1.827,1277,1.827,1278,2.886,1279,1.827,1280,1.827,1281,2.886,1282,2.992,1283,2.886,1284,2.992,1285,1.827,1286,1.827,1287,1.827,1288,2.886,1289,1.827,1290,1.827,1291,1.827,1292,1.827,1293,1.827,1294,1.827,1295,1.827,1296,1.827,1297,4.064,1298,4.704,1299,2.886,1300,3.577,1301,1.827,1302,1.827,1303,1.827,1304,1.827,1305,3.577,1306,1.827,1307,1.827,1308,1.827,1309,2.886,1310,2.886,1311,2.886,1312,2.886,1313,3.577,1314,1.827,1315,1.827,1316,1.827,1317,1.827,1318,1.827,1319,1.528,1320,1.827,1321,1.827,1322,1.827,1323,2.886,1324,1.827,1325,1.827,1326,2.414,1327,1.827,1328,1.827,1329,1.827,1330,1.827,1331,1.827,1332,1.827,1333,1.827,1334,1.827,1335,1.827,1336,1.827,1337,5.106,1338,1.827,1339,2.992,1340,5.106,1341,3.577,1342,4.064,1343,2.886,1344,3.577,1345,1.827,1346,1.827,1347,1.827,1348,2.886,1349,1.827,1350,1.827,1351,2.886,1352,1.827,1353,3.577,1354,1.827,1355,1.827,1356,1.528,1357,1.827,1358,1.528,1359,1.827,1360,1.827,1361,1.827,1362,1.827,1363,1.827,1364,1.827,1365,1.827,1366,4.425,1367,1.827,1368,1.827,1369,1.827,1370,1.827,1371,1.827,1372,1.827,1373,1.827,1374,1.827,1375,1.827,1376,1.827,1377,1.827,1378,1.827,1379,1.827,1380,1.827,1381,2.886,1382,1.827,1383,2.886,1384,1.827,1385,2.886,1386,2.886,1387,4.064,1388,4.064,1389,2.886,1390,2.886,1391,1.827,1392,1.827,1393,1.827,1394,3.577,1395,1.827,1396,1.528,1397,1.827,1398,1.827,1399,1.827,1400,1.827,1401,1.827,1402,1.827,1403,2.886,1404,5.382,1405,3.577,1406,1.528,1407,2.886,1408,1.827,1409,1.827,1410,1.827,1411,1.827,1412,1.827,1413,1.827,1414,1.827,1415,1.827,1416,2.886,1417,4.119,1418,2.886,1419,1.827,1420,1.827,1421,2.414,1422,1.827,1423,4.064,1424,1.827,1425,2.886,1426,1.827,1427,1.827,1428,1.827,1429,2.961,1430,1.827,1431,2.886,1432,1.827,1433,1.827,1434,1.827,1435,2.886,1436,2.886,1437,1.827,1438,1.827,1439,1.827,1440,1.827,1441,2.414,1442,3.577,1443,2.886,1444,2.414,1445,1.528,1446,1.827,1447,1.827,1448,1.827,1449,1.827,1450,1.827,1451,1.827,1452,1.827,1453,1.827,1454,1.528,1455,1.827,1456,1.827,1457,2.886,1458,1.827,1459,1.827,1460,1.827,1461,1.827,1462,1.827,1463,1.827,1464,2.886,1465,1.827,1466,1.528,1467,1.827,1468,1.528,1469,1.827,1470,1.827,1471,1.827,1472,2.886,1473,1.827,1474,1.827,1475,1.827,1476,1.827,1477,1.827,1478,1.827,1479,1.827,1480,1.827,1481,1.827,1482,1.827,1483,1.528,1484,2.886,1485,1.827,1486,1.827,1487,2.886,1488,1.827,1489,1.827,1490,1.827,1491,1.827,1492,1.827,1493,1.827,1494,1.827]],["title/coverage.html",[1429,3.201]],["body/coverage.html",[0,0.482,1,0.613,5,0.138,6,0.46,7,1.764,11,0.03,17,0.032,19,0.138,24,0.564,25,0.613,26,0.434,47,0.665,48,0.434,54,0.665,62,0.665,65,0.687,70,0.665,78,1.215,82,0.613,92,0.377,93,0.395,98,0.665,111,1.004,114,1.071,115,0.665,128,0.475,143,0.665,144,0.665,151,1.22,153,0.613,158,0.017,159,0.024,160,1.578,161,2.639,162,3.113,177,1.421,183,1.421,206,1.578,207,1.353,209,1.421,210,1.421,212,1.774,214,2.036,215,2.036,216,2.036,218,2.036,220,4.461,221,2.036,222,2.036,224,3.946,225,3.946,226,1.774,227,2.036,228,2.036,230,2.036,232,0.917,233,0.721,235,1.578,238,2.036,240,2.036,242,1.249,248,1.774,254,2.056,255,1.291,265,1.081,289,3.512,423,2.036,428,1.578,444,2.036,445,2.036,481,3.006,485,2.036,514,0.917,516,4.855,526,3.907,550,0.917,623,3.48,624,1.774,626,1.774,627,1.774,634,1.774,643,0.846,773,2.551,774,2.551,820,1.081,831,1.774,832,4.04,833,4.232,835,2.036,841,1.774,843,1.774,872,1.774,889,2.036,903,2.036,937,2.036,1074,1.578,1429,1.774,1495,2.435,1496,2.435,1497,4.16,1498,2.435,1499,6.593,1500,2.036,1501,2.435,1502,4.273,1503,6.552,1504,6.642,1505,3.595,1506,2.435,1507,2.435,1508,2.435,1509,2.435,1510,2.435,1511,2.435,1512,2.435,1513,2.435,1514,2.435,1515,2.036,1516,2.036,1517,2.036,1518,2.036,1519,2.036,1520,4.273,1521,4.719,1522,2.435,1523,2.435,1524,2.435,1525,3.595,1526,4.719,1527,5.548,1528,2.435,1529,6.123,1530,2.435,1531,2.435,1532,2.435,1533,2.435,1534,2.435,1535,2.435,1536,2.435,1537,2.435,1538,2.435,1539,2.435,1540,2.435,1541,2.435,1542,2.435,1543,2.435,1544,4.858,1545,2.435,1546,2.435,1547,2.435,1548,2.435,1549,2.435,1550,5.081,1551,2.435,1552,2.435,1553,2.036,1554,2.435,1555,2.435,1556,2.435,1557,2.036,1558,4.776,1559,2.435,1560,2.435,1561,2.435,1562,2.036,1563,2.036,1564,2.036,1565,2.036,1566,2.036,1567,3.595,1568,3.595,1569,2.435,1570,2.435,1571,2.435,1572,2.435,1573,3.595,1574,3.595,1575,2.435,1576,2.435,1577,3.667,1578,2.435,1579,3.006,1580,2.036,1581,3.006,1582,3.006,1583,3.006,1584,3.006,1585,2.036,1586,4.986,1587,2.036,1588,2.036,1589,2.036,1590,2.036,1591,2.036,1592,2.036,1593,2.036,1594,3.667,1595,2.435,1596,2.036,1597,2.435,1598,2.435]],["title/dependencies.html",[1060,2.263,1199,2.828]],["body/dependencies.html",[5,0.235,11,0.02,17,0.032,43,1.228,127,1.133,142,1.228,152,1.228,158,0.025,159,0.02,174,3.023,176,2.422,177,2.422,192,3.471,193,3.471,432,2.01,503,2.689,505,4.326,507,3.471,509,3.471,513,2.689,570,3.023,830,2.689,963,3.471,971,3.471,1057,3.023,1078,3.471,1095,3.471,1137,3.471,1147,3.471,1194,3.471,1195,3.471,1199,3.023,1217,4.326,1282,3.471,1339,4.326,1421,4.326,1599,4.15,1600,4.15,1601,4.15,1602,6.48,1603,4.15,1604,4.15,1605,4.15,1606,4.15,1607,4.15,1608,4.15,1609,4.15,1610,4.15,1611,5.173,1612,4.15,1613,4.15,1614,4.15,1615,4.15,1616,4.15,1617,4.15,1618,4.15,1619,5.636,1620,4.15,1621,5.173,1622,4.15,1623,4.15,1624,4.15,1625,4.15,1626,5.636,1627,4.15,1628,4.15,1629,4.15,1630,4.15,1631,4.15,1632,4.15,1633,4.15,1634,5.173,1635,4.15,1636,4.15,1637,4.15,1638,5.173,1639,4.15,1640,4.15,1641,5.173,1642,5.173,1643,4.15,1644,4.15,1645,4.15,1646,4.15,1647,4.15,1648,5.173,1649,4.15,1650,4.15,1651,4.15,1652,5.173,1653,4.15,1654,4.15,1655,4.15,1656,4.15,1657,4.15,1658,4.15,1659,4.15,1660,4.15,1661,4.15,1662,4.15,1663,4.15,1664,4.15,1665,4.15,1666,4.15,1667,4.15,1668,4.15,1669,4.15,1670,3.471,1671,4.15,1672,4.15,1673,4.15,1674,4.15,1675,4.15,1676,4.15,1677,4.15,1678,4.15,1679,4.15,1680,4.15,1681,4.15,1682,4.15,1683,4.15,1684,4.15,1685,4.15,1686,4.15,1687,4.15,1688,4.15,1689,4.15,1690,4.15,1691,4.15,1692,5.173,1693,4.15,1694,4.15,1695,4.15,1696,4.15,1697,4.15,1698,4.15,1699,4.15,1700,4.15,1701,4.15,1702,5.173,1703,4.15,1704,4.15,1705,4.15,1706,4.15,1707,4.15,1708,4.15,1709,4.15,1710,4.15,1711,4.15,1712,4.15,1713,4.15,1714,4.15]],["title/index.html",[12,0.184,940,1.971,941,1.753]],["body/index.html",[0,0.404,2,0.344,3,0.49,11,0.02,17,0.025,42,1.447,71,1.178,110,1.276,117,1.568,139,1.447,158,0.025,159,0.02,181,3.491,183,3.731,186,2.794,207,2.529,242,1.84,398,2.794,426,3.433,436,1.992,523,3.433,839,3.859,882,3.142,924,3.433,942,3.142,943,4.43,944,4.796,945,4.796,959,4.43,961,4.43,962,5.002,1006,3.607,1017,4.43,1033,3.607,1035,3.607,1037,4.796,1056,3.607,1057,3.142,1074,2.794,1075,5.134,1076,5.002,1081,4.43,1086,3.607,1096,4.43,1100,3.607,1121,3.607,1122,3.859,1191,4.43,1216,3.607,1358,3.607,1444,3.607,1454,3.607,1466,3.607,1715,5.298,1716,5.298,1717,4.312,1718,4.312,1719,4.312,1720,4.312,1721,4.43,1722,4.312,1723,4.312,1724,4.312,1725,5.298,1726,5.298,1727,5.298,1728,5.734,1729,4.312,1730,4.312,1731,4.796,1732,5.734,1733,4.312,1734,4.312,1735,5.298,1736,4.312,1737,4.312,1738,4.312,1739,4.312,1740,4.312,1741,4.312,1742,4.312,1743,4.312,1744,4.312,1745,5.981,1746,4.312,1747,4.312,1748,4.312,1749,5.298,1750,4.312,1751,4.312,1752,5.298,1753,4.312,1754,5.298,1755,5.298,1756,4.312,1757,4.312,1758,4.312,1759,4.312,1760,4.312,1761,4.312,1762,4.312,1763,4.312,1764,4.312,1765,4.312,1766,4.312,1767,4.312,1768,4.312,1769,4.312,1770,4.312]],["title/license.html",[940,1.971,941,1.753,1771,2.263]],["body/license.html",[11,0.023,17,0.027,50,1.302,158,0.027,159,0.023,181,2.782,317,3.473,810,2.309,838,4.099,924,3.646,1074,3.089,1119,5.007,1319,4.706,1396,3.987,1417,3.987,1468,3.987,1670,3.987,1721,5.474,1771,3.987,1772,4.767,1773,5.987,1774,4.767,1775,4.767,1776,5.627,1777,4.767,1778,4.767,1779,4.767,1780,4.767,1781,4.767,1782,4.767,1783,5.627,1784,4.767,1785,4.767,1786,4.767,1787,4.767,1788,4.767,1789,4.767,1790,4.767,1791,4.767,1792,4.767,1793,4.767,1794,4.767,1795,4.767,1796,5.627,1797,4.767,1798,4.767,1799,4.767,1800,4.767,1801,4.767,1802,4.767,1803,5.627,1804,4.767,1805,4.767,1806,4.767,1807,4.767,1808,4.767,1809,4.767,1810,4.767,1811,4.767,1812,4.767,1813,4.767,1814,4.767,1815,4.767,1816,4.767,1817,4.767,1818,4.767,1819,4.767,1820,4.767,1821,4.767,1822,4.767,1823,4.767,1824,4.767,1825,4.767,1826,4.767,1827,4.767,1828,4.767,1829,4.767,1830,4.767]],["title/modules.html",[1831,3.675]],["body/modules.html",[11,0.025,17,0.028,158,0.028,159,0.025,1831,4.384]],["title/overview.html",[1832,3.675]],["body/overview.html",[2,0.417,11,0.025,17,0.028,158,0.028,159,0.025,443,3.382,1225,3.802,1832,4.365,1833,4.365]],["title/miscellaneous/typealiases.html",[1834,1.753,1835,3.882]],["body/miscellaneous/typealiases.html",[6,0.426,11,0.023,12,0.336,17,0.031,18,0.445,19,0.28,92,0.459,114,1.294,158,0.027,159,0.023,161,2.396,556,4.137,623,3.764,661,4.189,662,3.604,663,3.604,664,3.206,665,3.604,666,3.604,678,2.174,832,3.206,1497,4.189,1577,3.604,1594,3.604,1834,3.206,1836,4.947,1837,4.137,1838,4.137,1839,5.751,1840,4.137,1841,4.137]],["title/miscellaneous/variables.html",[1834,1.753,1842,3.246]],["body/miscellaneous/variables.html",[4,0.236,5,0.145,6,0.357,8,0.727,11,0.024,12,0.107,15,0.825,16,0.236,17,0.032,18,0.107,19,0.365,20,1.587,22,0.395,49,0.643,52,0.883,53,1.017,56,0.208,57,0.208,60,0.757,63,0.814,64,0.231,65,0.441,67,0.957,69,0.429,72,0.957,74,0.429,76,0.957,77,0.429,78,0.986,79,0.757,80,0.938,81,0.465,84,0.757,87,0.757,91,0.757,92,0.204,93,0.665,94,0.883,95,0.465,99,0.524,100,0.375,101,0.375,102,0.698,103,0.698,106,0.465,107,0.231,109,0.465,111,0.544,114,0.873,116,0.86,119,0.338,120,0.28,121,0.28,123,0.208,124,0.395,133,1.265,144,1.017,147,0.465,150,0.465,151,0.592,155,0.757,158,0.012,159,0.007,160,1.018,161,0.761,162,1.862,163,1.313,164,1.313,165,1.313,166,1.313,167,1.313,168,1.313,169,1.313,170,1.313,173,1.044,177,2.175,184,1.144,199,1.313,207,1.745,220,3.202,226,1.862,233,1.103,242,1.123,246,3.35,248,1.862,249,1.313,250,1.313,251,1.862,252,1.313,253,1.313,265,0.698,267,1.313,289,1.975,378,3.519,382,2.317,387,1.313,420,1.862,432,1.238,513,1.656,514,1.217,518,0.642,525,3.739,526,2.819,550,1.217,570,1.144,594,1.313,596,1.136,598,1.136,600,1.136,602,1.136,604,1.136,606,1.136,608,1.136,610,1.136,612,1.136,614,1.136,616,1.136,618,1.136,620,1.136,622,1.136,623,2.997,643,0.546,668,1.044,669,1.044,670,1.044,678,1.678,713,3.741,762,4.077,778,1.238,780,1.238,782,0.761,783,1.238,785,1.238,787,1.238,788,0.761,791,1.238,802,1.136,806,1.804,811,1.238,812,1.238,814,1.238,815,1.238,816,1.238,817,1.238,826,0.761,830,2.848,832,1.656,833,2.714,841,1.862,842,1.313,843,1.862,844,1.313,845,1.313,846,1.313,847,1.313,848,1.313,849,1.313,850,1.313,851,1.313,852,1.313,853,1.313,854,1.313,855,1.313,856,1.313,857,1.313,858,1.313,859,1.313,860,1.313,861,1.313,862,1.313,863,1.313,864,1.313,865,1.313,866,1.313,867,1.313,868,1.313,869,1.313,870,1.313,871,1.313,872,1.862,873,1.313,1107,3.43,1122,1.144,1131,1.313,1142,1.313,1204,1.313,1225,3.519,1231,1.313,1245,1.313,1284,4.04,1326,4.979,1356,4.56,1406,4.04,1441,2.704,1445,2.138,1483,4.04,1497,3.202,1500,4.04,1515,2.138,1516,2.138,1517,2.138,1518,2.138,1519,2.138,1527,4.483,1544,1.313,1550,2.138,1553,2.138,1557,2.138,1558,1.313,1562,2.138,1563,2.138,1564,3.676,1565,2.138,1566,2.138,1577,1.144,1579,3.116,1580,2.138,1581,3.116,1582,3.116,1583,1.313,1584,2.138,1585,2.138,1586,1.313,1587,2.704,1588,3.116,1589,3.116,1590,3.116,1591,2.138,1592,2.138,1593,3.116,1594,1.144,1596,2.138,1731,1.313,1833,1.313,1834,1.018,1837,3.116,1838,3.116,1840,4.04,1841,1.313,1842,1.313,1843,5.36,1844,1.571,1845,4.101,1846,1.571,1847,2.556,1848,2.556,1849,2.556,1850,4.101,1851,2.556,1852,5.135,1853,2.556,1854,1.571,1855,1.571,1856,1.571,1857,1.571,1858,1.571,1859,1.571,1860,3.233,1861,3.233,1862,1.571,1863,1.571,1864,1.571,1865,1.571,1866,1.571,1867,1.571,1868,1.571,1869,1.571,1870,1.571,1871,1.571,1872,1.571,1873,1.571,1874,1.571,1875,1.571,1876,1.571,1877,1.571,1878,1.571,1879,1.571,1880,1.571,1881,1.571,1882,1.571,1883,1.571,1884,1.571,1885,3.726,1886,3.233,1887,1.571,1888,1.571,1889,1.571,1890,1.571,1891,2.556,1892,2.556,1893,1.571,1894,1.571,1895,1.571,1896,1.571,1897,2.556,1898,1.571,1899,2.556,1900,1.571,1901,1.571,1902,1.571,1903,1.571,1904,1.571,1905,1.571,1906,1.571,1907,1.571,1908,1.571,1909,1.571,1910,1.571,1911,1.571,1912,1.571,1913,1.571,1914,1.571,1915,1.571,1916,1.571,1917,1.571,1918,1.571,1919,1.571,1920,1.571,1921,1.571,1922,1.571,1923,1.571,1924,1.571,1925,1.571,1926,1.571,1927,1.571,1928,1.571,1929,1.571,1930,1.571,1931,1.571,1932,1.571,1933,1.571,1934,1.571,1935,1.571,1936,1.571,1937,1.571,1938,1.571,1939,1.571,1940,1.571,1941,1.571,1942,1.571,1943,1.571,1944,1.571,1945,1.571,1946,1.571,1947,2.556,1948,1.571,1949,1.571,1950,1.571,1951,1.571,1952,1.571,1953,1.571,1954,1.571,1955,1.571,1956,1.571,1957,1.571,1958,1.571,1959,1.571,1960,1.571,1961,1.571,1962,1.571,1963,1.571,1964,1.571,1965,3.726,1966,1.571,1967,1.571,1968,1.571,1969,1.571,1970,1.571,1971,1.571,1972,1.571,1973,1.571,1974,1.571,1975,2.556,1976,1.571,1977,1.571,1978,2.556,1979,2.556,1980,1.571,1981,1.571,1982,2.556,1983,1.571,1984,1.571,1985,1.571,1986,1.571,1987,1.571,1988,1.571,1989,1.571,1990,1.571,1991,1.571,1992,1.571,1993,1.571,1994,1.571,1995,1.571,1996,1.571,1997,1.571,1998,1.571,1999,1.571,2000,1.571,2001,1.571,2002,1.571,2003,1.571,2004,1.571,2005,1.571,2006,1.571,2007,1.571,2008,1.571,2009,1.571,2010,1.571,2011,1.571,2012,1.571,2013,1.571,2014,1.571,2015,1.571,2016,1.571,2017,1.571,2018,1.571,2019,1.571,2020,1.571,2021,1.571,2022,1.571,2023,1.571,2024,1.571,2025,1.571,2026,1.571,2027,1.571,2028,1.571,2029,1.571,2030,1.571,2031,1.571,2032,1.571,2033,1.571,2034,1.571,2035,1.571,2036,1.571,2037,1.571,2038,1.571,2039,1.571,2040,1.571,2041,1.571,2042,1.571,2043,1.571,2044,1.571,2045,1.571,2046,1.571,2047,1.571,2048,1.571,2049,1.571,2050,1.571,2051,1.571,2052,1.571,2053,1.571,2054,1.571,2055,1.571,2056,1.571,2057,1.571,2058,1.571,2059,1.571,2060,1.571,2061,1.571,2062,1.571,2063,1.571,2064,1.571,2065,1.571,2066,1.571,2067,1.571,2068,1.571,2069,1.571,2070,1.571,2071,1.571,2072,1.571,2073,1.571,2074,1.571,2075,1.571,2076,1.571,2077,1.571,2078,1.571,2079,1.571,2080,1.571,2081,1.571,2082,1.571,2083,1.571,2084,1.571,2085,1.571,2086,1.571,2087,1.571,2088,1.571,2089,1.571,2090,1.571,2091,1.571,2092,1.571,2093,1.571,2094,1.571,2095,1.571,2096,1.571,2097,1.571,2098,1.571,2099,1.571,2100,1.571,2101,1.571,2102,1.571,2103,1.571,2104,1.571,2105,1.571,2106,1.571,2107,2.556,2108,1.571,2109,1.571,2110,1.571,2111,1.571,2112,1.571,2113,1.571,2114,1.571,2115,1.571,2116,1.571,2117,1.571,2118,1.571,2119,1.571,2120,1.571,2121,1.571,2122,1.571,2123,1.571,2124,1.571,2125,1.571,2126,1.571,2127,1.571,2128,1.571,2129,1.571,2130,1.571,2131,1.571,2132,1.571,2133,2.556,2134,1.571,2135,1.571,2136,1.571,2137,1.571,2138,2.556,2139,1.571,2140,1.571,2141,1.571,2142,1.571,2143,1.571,2144,1.571,2145,1.571,2146,1.571,2147,1.571,2148,1.571,2149,1.571,2150,1.571,2151,1.571,2152,1.571,2153,1.571,2154,1.571,2155,1.571,2156,1.571,2157,1.571,2158,1.571,2159,1.571,2160,1.571,2161,1.571,2162,1.571,2163,1.571,2164,1.571,2165,1.571,2166,1.571,2167,1.571,2168,1.571,2169,1.571,2170,1.571,2171,1.571,2172,2.556,2173,1.571,2174,1.571,2175,1.571,2176,1.571,2177,1.571,2178,1.571,2179,2.556,2180,1.571,2181,1.571,2182,6.522,2183,5.671,2184,5.916,2185,5.606,2186,5.916,2187,5.916,2188,5.916,2189,5.255,2190,5.255,2191,5.255,2192,5.255,2193,5.671,2194,6.522,2195,4.83,2196,5.671,2197,4.83,2198,4.83,2199,5.36,2200,6.02,2201,5.671,2202,5.671,2203,3.726,2204,3.726,2205,3.726,2206,3.726,2207,3.726,2208,3.726,2209,5.671,2210,5.671,2211,4.83,2212,4.83,2213,5.36,2214,3.726,2215,3.726,2216,3.726,2217,3.726,2218,3.726,2219,3.726,2220,1.571,2221,1.571,2222,4.396,2223,1.571,2224,2.556,2225,1.571,2226,1.571,2227,3.726,2228,3.233,2229,3.233,2230,1.571,2231,1.571,2232,1.571,2233,1.571,2234,1.571,2235,1.571,2236,1.571,2237,1.571,2238,1.571,2239,1.571,2240,1.571,2241,1.571,2242,1.571,2243,1.571,2244,1.571,2245,1.571,2246,1.571,2247,1.571,2248,1.571,2249,1.571,2250,1.571,2251,1.571,2252,1.571,2253,1.571,2254,1.571,2255,1.571,2256,1.571,2257,1.571,2258,1.571,2259,1.571,2260,1.571,2261,5.954,2262,6.306,2263,1.571,2264,1.571,2265,1.571,2266,1.571,2267,1.571,2268,1.571,2269,1.571,2270,1.571,2271,1.571,2272,1.571,2273,1.571,2274,1.571,2275,1.571,2276,1.571,2277,1.571,2278,1.571,2279,4.396,2280,1.571,2281,1.571,2282,1.571,2283,1.571,2284,1.571,2285,1.571,2286,3.233,2287,1.571,2288,1.571,2289,1.571,2290,1.571,2291,1.571,2292,1.571,2293,1.571,2294,1.571,2295,2.556,2296,1.571,2297,1.571,2298,1.571,2299,1.571,2300,1.571,2301,1.571,2302,1.571,2303,1.571,2304,1.571,2305,2.556,2306,1.571,2307,1.571,2308,1.571,2309,1.571,2310,1.571,2311,1.571,2312,1.571,2313,1.571,2314,1.571,2315,2.556,2316,1.571,2317,1.571,2318,1.571,2319,1.571,2320,1.571,2321,1.571,2322,1.571,2323,1.571,2324,1.571,2325,1.571,2326,1.571,2327,1.571,2328,1.571,2329,1.571,2330,1.571,2331,1.571,2332,1.571,2333,1.571,2334,1.571,2335,1.571,2336,1.571,2337,1.571,2338,1.571,2339,1.571,2340,1.571,2341,1.571,2342,1.571,2343,1.571,2344,1.571,2345,1.571,2346,1.571,2347,1.571,2348,1.571,2349,1.571,2350,1.571,2351,1.571,2352,1.571,2353,1.571,2354,1.571,2355,1.571]]],"invertedIndex":[["",{"_index":17,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":289,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["0.1.0",{"_index":1487,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":1714,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":1656,"title":{},"body":{"dependencies.html":{}}}],["0.2",{"_index":715,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["0.2.0",{"_index":1484,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":1677,"title":{},"body":{"dependencies.html":{}}}],["0.5",{"_index":714,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["0.5*255",{"_index":723,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["0.5.0",{"_index":1472,"title":{},"body":{"changelog.html":{}}}],["0.6.0",{"_index":1444,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0.9*255",{"_index":740,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["0.999999",{"_index":592,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["0/1",{"_index":1499,"title":{},"body":{"coverage.html":{}}}],["0/14",{"_index":1507,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":1509,"title":{},"body":{"coverage.html":{}}}],["0/21",{"_index":1508,"title":{},"body":{"coverage.html":{}}}],["0/24",{"_index":1513,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":1505,"title":{},"body":{"coverage.html":{}}}],["01",{"_index":985,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":1306,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":1251,"title":{},"body":{"changelog.html":{}}}],["03b3d854",{"_index":2220,"title":{},"body":{"miscellaneous/variables.html":{}}}],["04",{"_index":1024,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":1224,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":948,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":984,"title":{},"body":{"changelog.html":{}}}],["07a29e4c",{"_index":2226,"title":{},"body":{"miscellaneous/variables.html":{}}}],["08",{"_index":1418,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":976,"title":{},"body":{"changelog.html":{}}}],["0a7c1eab007a",{"_index":2240,"title":{},"body":{"miscellaneous/variables.html":{}}}],["0e368f3075e8",{"_index":2224,"title":{},"body":{"miscellaneous/variables.html":{}}}],["0e8017bdda58",{"_index":2229,"title":{},"body":{"miscellaneous/variables.html":{}}}],["0efb3ba9a670",{"_index":2248,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1",{"_index":525,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["1)[0].split('_')[0].tolowercase()}.x('${o.id.split('_').slice",{"_index":2033,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1)[0]}'),`).join('\\n",{"_index":2034,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1.0",{"_index":1340,"title":{},"body":{"changelog.html":{}}}],["1.0.0",{"_index":1404,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":1651,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":1660,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":1710,"title":{},"body":{"dependencies.html":{}}}],["1.1.0",{"_index":1381,"title":{},"body":{"changelog.html":{}}}],["1.16.0",{"_index":1688,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":1653,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":1339,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":1664,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":1691,"title":{},"body":{"dependencies.html":{}}}],["1.3.5",{"_index":1305,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":1282,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":1678,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":1250,"title":{},"body":{"changelog.html":{}}}],["1.6.0",{"_index":1236,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":1223,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":1667,"title":{},"body":{"dependencies.html":{}}}],["1.jpg",{"_index":2262,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1/1",{"_index":1504,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":378,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["10.0.0",{"_index":1676,"title":{},"body":{"dependencies.html":{}}}],["10/10",{"_index":1502,"title":{},"body":{"coverage.html":{}}}],["100",{"_index":526,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["1000",{"_index":463,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["10000",{"_index":842,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["101",{"_index":1852,"title":{},"body":{"miscellaneous/variables.html":{}}}],["102",{"_index":2204,"title":{},"body":{"miscellaneous/variables.html":{}}}],["103",{"_index":2200,"title":{},"body":{"miscellaneous/variables.html":{}}}],["108",{"_index":2217,"title":{},"body":{"miscellaneous/variables.html":{}}}],["10x",{"_index":1393,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":1284,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["11.2.1",{"_index":1693,"title":{},"body":{"dependencies.html":{}}}],["11e8",{"_index":2222,"title":{},"body":{"miscellaneous/variables.html":{}}}],["11e9",{"_index":2246,"title":{},"body":{"miscellaneous/variables.html":{}}}],["11eb",{"_index":2254,"title":{},"body":{"miscellaneous/variables.html":{}}}],["12",{"_index":1033,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":1695,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":1602,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":1610,"title":{},"body":{"dependencies.html":{}}}],["121",{"_index":1849,"title":{},"body":{"miscellaneous/variables.html":{}}}],["13",{"_index":1127,"title":{},"body":{"changelog.html":{}}}],["14",{"_index":1025,"title":{},"body":{"changelog.html":{}}}],["15",{"_index":949,"title":{},"body":{"changelog.html":{}}}],["15.126.1",{"_index":1600,"title":{},"body":{"dependencies.html":{}}}],["155",{"_index":2207,"title":{},"body":{"miscellaneous/variables.html":{}}}],["16",{"_index":1190,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":1669,"title":{},"body":{"dependencies.html":{}}}],["17",{"_index":1005,"title":{},"body":{"changelog.html":{}}}],["172",{"_index":2195,"title":{},"body":{"miscellaneous/variables.html":{}}}],["183",{"_index":1855,"title":{},"body":{"miscellaneous/variables.html":{}}}],["19/19",{"_index":1570,"title":{},"body":{"coverage.html":{}}}],["2",{"_index":762,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["2.0.0",{"_index":1189,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":1673,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":1147,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":1137,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.3.0",{"_index":1133,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":1126,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":1113,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":1095,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.6.7",{"_index":1697,"title":{},"body":{"dependencies.html":{}}}],["2.8.5",{"_index":1662,"title":{},"body":{"dependencies.html":{}}}],["2.awsapprunner.com",{"_index":1743,"title":{},"body":{"index.html":{}}}],["2.jpg",{"_index":2344,"title":{},"body":{"miscellaneous/variables.html":{}}}],["2/3",{"_index":1568,"title":{},"body":{"coverage.html":{}}}],["2000",{"_index":464,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["2019",{"_index":1417,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["202",{"_index":2213,"title":{},"body":{"miscellaneous/variables.html":{}}}],["2020",{"_index":1342,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":1082,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":964,"title":{},"body":{"changelog.html":{}}}],["2023",{"_index":947,"title":{},"body":{"changelog.html":{}}}],["203",{"_index":2199,"title":{},"body":{"miscellaneous/variables.html":{}}}],["204",{"_index":1850,"title":{},"body":{"miscellaneous/variables.html":{}}}],["21",{"_index":1225,"title":{},"body":{"changelog.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["213",{"_index":1853,"title":{},"body":{"miscellaneous/variables.html":{}}}],["22",{"_index":1406,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["24",{"_index":1473,"title":{},"body":{"changelog.html":{}}}],["24/32",{"_index":1501,"title":{},"body":{"coverage.html":{}}}],["240",{"_index":1854,"title":{},"body":{"miscellaneous/variables.html":{}}}],["25/25",{"_index":1569,"title":{},"body":{"coverage.html":{}}}],["255",{"_index":713,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/variables.html":{}}}],["26",{"_index":1252,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":1287,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":977,"title":{},"body":{"changelog.html":{}}}],["29",{"_index":1851,"title":{},"body":{"miscellaneous/variables.html":{}}}],["3",{"_index":1326,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["3.0.0",{"_index":1078,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":1626,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":1040,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":1032,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":1023,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":1004,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":983,"title":{},"body":{"changelog.html":{}}}],["3.5.0",{"_index":975,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":1631,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":1633,"title":{},"body":{"dependencies.html":{}}}],["3.6",{"_index":1749,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":963,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.7.0",{"_index":946,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":1642,"title":{},"body":{"dependencies.html":{}}}],["3.7.3",{"_index":1645,"title":{},"body":{"dependencies.html":{}}}],["3/3",{"_index":1520,"title":{},"body":{"coverage.html":{}}}],["30",{"_index":1148,"title":{},"body":{"changelog.html":{}}}],["301615f9",{"_index":2252,"title":{},"body":{"miscellaneous/variables.html":{}}}],["308f5ffc",{"_index":2231,"title":{},"body":{"miscellaneous/variables.html":{}}}],["31",{"_index":1382,"title":{},"body":{"changelog.html":{}}}],["32",{"_index":2183,"title":{},"body":{"miscellaneous/variables.html":{}}}],["35ce3d8786fe",{"_index":2256,"title":{},"body":{"miscellaneous/variables.html":{}}}],["3d",{"_index":431,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["4",{"_index":1356,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["4.0",{"_index":1726,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":1639,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":1671,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":1686,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":1658,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":1680,"title":{},"body":{"dependencies.html":{}}}],["4/4",{"_index":1522,"title":{},"body":{"coverage.html":{}}}],["40",{"_index":2208,"title":{},"body":{"miscellaneous/variables.html":{}}}],["403",{"_index":2202,"title":{},"body":{"miscellaneous/variables.html":{}}}],["41",{"_index":1848,"title":{},"body":{"miscellaneous/variables.html":{}}}],["4th",{"_index":966,"title":{},"body":{"changelog.html":{}}}],["5",{"_index":1833,"title":{},"body":{"overview.html":{},"miscellaneous/variables.html":{}}}],["5.0.0",{"_index":1683,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":1685,"title":{},"body":{"dependencies.html":{}}}],["5/5",{"_index":1521,"title":{},"body":{"coverage.html":{}}}],["500",{"_index":371,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["5bd084c8",{"_index":2233,"title":{},"body":{"miscellaneous/variables.html":{}}}],["5c106f29",{"_index":2244,"title":{},"body":{"miscellaneous/variables.html":{}}}],["5th",{"_index":955,"title":{},"body":{"changelog.html":{}}}],["6",{"_index":2315,"title":{},"body":{"miscellaneous/variables.html":{}}}],["6.0.1",{"_index":1684,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":1699,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":1636,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":1707,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":1704,"title":{},"body":{"dependencies.html":{}}}],["6/6",{"_index":1525,"title":{},"body":{"coverage.html":{}}}],["60",{"_index":462,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["60*60*1000",{"_index":301,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["66",{"_index":1567,"title":{},"body":{"coverage.html":{}}}],["7",{"_index":2205,"title":{},"body":{"miscellaneous/variables.html":{}}}],["7/7",{"_index":1524,"title":{},"body":{"coverage.html":{}}}],["73bb26e4",{"_index":2238,"title":{},"body":{"miscellaneous/variables.html":{}}}],["75",{"_index":1500,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["76",{"_index":2211,"title":{},"body":{"miscellaneous/variables.html":{}}}],["8",{"_index":1231,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["8.3.2",{"_index":1712,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":1630,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":1619,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":1622,"title":{},"body":{"dependencies.html":{}}}],["8/8",{"_index":1523,"title":{},"body":{"coverage.html":{}}}],["802f",{"_index":2235,"title":{},"body":{"miscellaneous/variables.html":{}}}],["85",{"_index":1483,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["85e8",{"_index":2247,"title":{},"body":{"miscellaneous/variables.html":{}}}],["86",{"_index":2197,"title":{},"body":{"miscellaneous/variables.html":{}}}],["89",{"_index":2219,"title":{},"body":{"miscellaneous/variables.html":{}}}],["8bce",{"_index":2223,"title":{},"body":{"miscellaneous/variables.html":{}}}],["8f19",{"_index":2239,"title":{},"body":{"miscellaneous/variables.html":{}}}],["90",{"_index":1428,"title":{},"body":{"changelog.html":{}}}],["95",{"_index":1028,"title":{},"body":{"changelog.html":{}}}],["96",{"_index":2214,"title":{},"body":{"miscellaneous/variables.html":{}}}],["97",{"_index":2215,"title":{},"body":{"miscellaneous/variables.html":{}}}],["98",{"_index":1856,"title":{},"body":{"miscellaneous/variables.html":{}}}],["9th",{"_index":1261,"title":{},"body":{"changelog.html":{}}}],["_",{"_index":2031,"title":{},"body":{"miscellaneous/variables.html":{}}}],["_error",{"_index":902,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["_lighting",{"_index":673,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["_source",{"_index":886,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["a8dc",{"_index":2255,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ability",{"_index":1163,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":1468,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["acc.concat(structures.length",{"_index":704,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["accessors",{"_index":1982,"title":{},"body":{"miscellaneous/variables.html":{}}}],["accurate",{"_index":1249,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":1824,"title":{},"body":{"license.html":{}}}],["actions",{"_index":1330,"title":{},"body":{"changelog.html":{}}}],["actually",{"_index":308,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["add",{"_index":364,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["adddatasources(sources",{"_index":342,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["added",{"_index":950,"title":{},"body":{"changelog.html":{}}}],["addedge",{"_index":482,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["addedge(id",{"_index":490,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["addhubmapdatatostore",{"_index":937,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["additional",{"_index":1469,"title":{},"body":{"changelog.html":{}}}],["addjsonldtostore",{"_index":196,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["addjsonldtostore(hubmapdata",{"_index":939,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["addjsonldtostore(source",{"_index":352,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addn3tostore",{"_index":197,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addn3tostore(source",{"_index":354,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addnode",{"_index":483,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["addnode(id",{"_index":492,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["addrdfxmltostore",{"_index":198,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addrdfxmltostore(source",{"_index":358,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addressed",{"_index":1375,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":936,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["adjusting",{"_index":1369,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":1280,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":1193,"title":{},"body":{"changelog.html":{}}}],["af_preims_registered_thumbnail.jpg",{"_index":2184,"title":{},"body":{"miscellaneous/variables.html":{}}}],["af_premxif_registered_thumbnail.jpg",{"_index":2189,"title":{},"body":{"miscellaneous/variables.html":{}}}],["again",{"_index":35,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["age",{"_index":102,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["agerange",{"_index":131,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["aggregate",{"_index":9,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["aggregateresult",{"_index":1,"title":{"interfaces/AggregateResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["aggregating",{"_index":475,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["ala",{"_index":1130,"title":{},"body":{"changelog.html":{}}}],["aliases",{"_index":1836,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["allow",{"_index":367,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["allows",{"_index":1266,"title":{},"body":{"changelog.html":{}}}],["alpha",{"_index":1456,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":1436,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":1431,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":1416,"title":{},"body":{"changelog.html":{}}}],["alt",{"_index":1730,"title":{},"body":{"index.html":{}}}],["amount",{"_index":37,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["analytics",{"_index":1195,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["anatomical",{"_index":796,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["ancestors.created_by_user_displayname",{"_index":858,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.description",{"_index":850,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.entity_type",{"_index":849,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.group_name",{"_index":857,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.group_uuid",{"_index":856,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.last_modified_timestamp",{"_index":855,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.metadata.living_donor_data.data_value",{"_index":854,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.metadata.living_donor_data.preferred_term",{"_index":853,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.metadata.organ_donor_data.data_value",{"_index":852,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.metadata.organ_donor_data.preferred_term",{"_index":851,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.uuid",{"_index":859,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["and/or",{"_index":1794,"title":{},"body":{"license.html":{}}}],["angular",{"_index":1057,"title":{},"body":{"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":1601,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":1603,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":1604,"title":{},"body":{"dependencies.html":{}}}],["angular/compiler",{"_index":1605,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":1606,"title":{},"body":{"dependencies.html":{}}}],["angular/elements",{"_index":1607,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":1608,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":1609,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":1611,"title":{},"body":{"dependencies.html":{}}}],["angular/router",{"_index":1613,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":1614,"title":{},"body":{"dependencies.html":{}}}],["annotation",{"_index":794,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["annotations",{"_index":792,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["aorta",{"_index":2017,"title":{},"body":{"miscellaneous/variables.html":{}}}],["api",{"_index":183,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":1740,"title":{},"body":{"index.html":{}}}],["appear",{"_index":1090,"title":{},"body":{"changelog.html":{}}}],["applicable",{"_index":798,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["application",{"_index":1270,"title":{},"body":{"changelog.html":{}}}],["application/json",{"_index":877,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["applied",{"_index":125,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["applyspatialplacement",{"_index":1506,"title":{},"body":{"coverage.html":{}}}],["applyspatialplacement(matrix",{"_index":584,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["applyspatialplacement(tx",{"_index":517,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["appropriate",{"_index":1059,"title":{},"body":{"changelog.html":{}}}],["april",{"_index":1260,"title":{},"body":{"changelog.html":{}}}],["arising",{"_index":1828,"title":{},"body":{"license.html":{}}}],["array",{"_index":388,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["asct+b",{"_index":1083,"title":{},"body":{"changelog.html":{}}}],["asctb",{"_index":1863,"title":{},"body":{"miscellaneous/variables.html":{}}}],["assertions",{"_index":400,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["assets",{"_index":182,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["assetsapi",{"_index":927,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["assignment/selection",{"_index":1238,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":50,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"license.html":{}}}],["assumes",{"_index":360,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["async",{"_index":278,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["atlas",{"_index":943,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["attempts",{"_index":1117,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":1817,"title":{},"body":{"license.html":{}}}],["automatic",{"_index":1360,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":1314,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":1353,"title":{},"body":{"changelog.html":{}}}],["avoid",{"_index":1178,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":286,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/SearchResultJson.html":{}}}],["award",{"_index":1769,"title":{},"body":{"index.html":{}}}],["b56a",{"_index":2228,"title":{},"body":{"miscellaneous/variables.html":{}}}],["backend",{"_index":1099,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":1466,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["base",{"_index":1441,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["based",{"_index":1168,"title":{},"body":{"changelog.html":{}}}],["basic",{"_index":1191,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["bearer",{"_index":879,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["before",{"_index":33,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["being",{"_index":1222,"title":{},"body":{"changelog.html":{}}}],["beta",{"_index":1081,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":1149,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":1410,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":1650,"title":{},"body":{"dependencies.html":{}}}],["block",{"_index":78,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["blocks",{"_index":999,"title":{},"body":{"changelog.html":{}}}],["blood",{"_index":2019,"title":{},"body":{"miscellaneous/variables.html":{}}}],["blood_vasculature",{"_index":2035,"title":{},"body":{"miscellaneous/variables.html":{}}}],["blue",{"_index":1579,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["bmi",{"_index":103,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["bmirange",{"_index":132,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["board",{"_index":1433,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":432,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["bodyid",{"_index":688,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["bodyobj",{"_index":881,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["bone_marrow",{"_index":2021,"title":{},"body":{"miscellaneous/variables.html":{}}}],["boolean",{"_index":141,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["both",{"_index":129,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["bothsexes",{"_index":1873,"title":{},"body":{"miscellaneous/variables.html":{}}}],["bounding",{"_index":719,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["box",{"_index":1177,"title":{},"body":{"changelog.html":{}}}],["boxes",{"_index":720,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["brain",{"_index":2037,"title":{},"body":{"miscellaneous/variables.html":{}}}],["break",{"_index":527,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["breaking",{"_index":1213,"title":{},"body":{"changelog.html":{}}}],["bringing",{"_index":1232,"title":{},"body":{"changelog.html":{}}}],["browser",{"_index":1421,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["browserify",{"_index":1705,"title":{},"body":{"dependencies.html":{}}}],["browsing",{"_index":1489,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":1021,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":1722,"title":{},"body":{"index.html":{}}}],["building",{"_index":472,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["builds",{"_index":1077,"title":{},"body":{"changelog.html":{}}}],["button",{"_index":1435,"title":{},"body":{"changelog.html":{}}}],["c",{"_index":1774,"title":{},"body":{"license.html":{}}}],["c870",{"_index":2253,"title":{},"body":{"miscellaneous/variables.html":{}}}],["cache",{"_index":1648,"title":{},"body":{"dependencies.html":{}}}],["cacheable",{"_index":1709,"title":{},"body":{"dependencies.html":{}}}],["cached",{"_index":280,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["cachedconnect",{"_index":290,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["callback",{"_index":1166,"title":{},"body":{"changelog.html":{}}}],["called",{"_index":1219,"title":{},"body":{"changelog.html":{}}}],["calls",{"_index":973,"title":{},"body":{"changelog.html":{}}}],["caltech",{"_index":2232,"title":{},"body":{"miscellaneous/variables.html":{}}}],["came",{"_index":799,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["cancelregistration",{"_index":1165,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":1408,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":1654,"title":{},"body":{"dependencies.html":{}}}],["card",{"_index":1197,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":1202,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":523,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"index.html":{}}}],["cases",{"_index":1380,"title":{},"body":{"changelog.html":{}}}],["catch",{"_index":307,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["catch((error",{"_index":478,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["ccf",{"_index":207,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["ccf's",{"_index":1335,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":952,"title":{},"body":{"changelog.html":{}}}],["ccf.spatial.bothsexes.id",{"_index":692,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["ccf.spatial.female.id",{"_index":691,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["ccf.spatial.male.id",{"_index":690,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["ccf.spatialentity",{"_index":553,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ccf.spatialentity.x_dimension.id",{"_index":2353,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf.spatialentity.y_dimension.id",{"_index":2354,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf.spatialentity.z_dimension.id",{"_index":2355,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf.spatialobjectreference",{"_index":552,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ccf.spatialplacement.source",{"_index":558,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ccf.spatialplacement.target",{"_index":561,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ccf:age",{"_index":2098,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:bmi",{"_index":2099,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:collides_with",{"_index":2121,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:comes_from",{"_index":2106,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:consortium_name",{"_index":2101,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:creator_first_name",{"_index":2136,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:creator_last_name",{"_index":2137,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:dimension_unit",{"_index":2140,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:extraction_set_for",{"_index":2124,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:file_format",{"_index":2162,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:file_subpath",{"_index":2163,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:file_url",{"_index":2161,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:generates_dataset",{"_index":2109,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:has_extraction_set",{"_index":2125,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:has_object_reference",{"_index":2132,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:has_ontology_term",{"_index":2158,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:has_reference_organ",{"_index":2123,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:has_registration_location",{"_index":2120,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:organ_owner_sex",{"_index":2127,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:organ_side",{"_index":2128,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:placement_for",{"_index":2138,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:placement_relative_to",{"_index":2144,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:representation_of",{"_index":2122,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:rotation_order",{"_index":2139,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:rotation_unit",{"_index":2141,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:rui_rank",{"_index":2129,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:sample_type",{"_index":2111,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:scaling_unit",{"_index":2142,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:section_count",{"_index":2113,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:section_number",{"_index":2119,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:section_size",{"_index":2115,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:section_size_unit",{"_index":2117,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:sex",{"_index":2097,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:slice_count",{"_index":2131,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:slice_thickness",{"_index":2130,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:subdivided_into_sections",{"_index":2108,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:technology",{"_index":2159,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:thumbnail",{"_index":2160,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:tissue_provider_name",{"_index":2103,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:tissue_provider_uuid",{"_index":2105,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:translation_unit",{"_index":2143,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:updated_date",{"_index":2134,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:url",{"_index":2096,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:x_dimension",{"_index":2154,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:x_rotation",{"_index":2145,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:x_scaling",{"_index":2148,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:x_translation",{"_index":2151,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:y_dimension",{"_index":2155,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:y_rotation",{"_index":2146,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:y_scaling",{"_index":2149,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:y_translation",{"_index":2152,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:z_dimension",{"_index":2156,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:z_rotation",{"_index":2147,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:z_scaling",{"_index":2150,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:z_translation",{"_index":2153,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf_annotations",{"_index":668,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/variables.html":{}}}],["ccf_context",{"_index":1585,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["ccfcontexturl",{"_index":164,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["ccfdatabase",{"_index":255,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["ccfdatabasekey",{"_index":295,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfdatabaseoptions",{"_index":160,"title":{"interfaces/CCFDatabaseOptions.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["ccfdatabasestatustracker",{"_index":235,"title":{"classes/CCFDatabaseStatusTracker.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"coverage.html":{}}}],["ccfdatabasestatustracker(this",{"_index":406,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfowlurl",{"_index":165,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["ccfowlurl.endswith('.n3store.json",{"_index":319,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfowlurl.startswith",{"_index":315,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfowlurl?.length",{"_index":326,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfspatialgraph",{"_index":206,"title":{"classes/CCFSpatialGraph.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"coverage.html":{}}}],["ccfspatialgraph(this",{"_index":269,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfspatialscene",{"_index":209,"title":{"classes/CCFSpatialScene.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["ccfspatialscene(this",{"_index":271,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfx",{"_index":1587,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["ccfx('age",{"_index":1933,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('bmi",{"_index":1934,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_characterizes",{"_index":1870,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_ct_isa",{"_index":1866,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_located_in",{"_index":1868,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_part_of",{"_index":1860,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_pref_label",{"_index":1859,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('collides_with",{"_index":1894,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('comes_from",{"_index":1942,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('consortium_name",{"_index":1938,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('creator_first_name",{"_index":1888,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('creator_last_name",{"_index":1889,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('creator_orcid",{"_index":1890,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('dimension_unit",{"_index":1908,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('extraction_set_for",{"_index":1898,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('file_format",{"_index":1883,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('file_subpath",{"_index":1884,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('file_url",{"_index":1882,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('generates_dataset",{"_index":1944,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_cell_type_term",{"_index":1957,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_extraction_set",{"_index":1900,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_object_reference",{"_index":1909,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_ontology_term",{"_index":1956,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_reference_organ",{"_index":1896,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_registration_location",{"_index":1955,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('organ_owner_sex",{"_index":1901,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('organ_side",{"_index":1902,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('placement_for",{"_index":1910,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('placement_relative_to",{"_index":1911,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('representation_of",{"_index":1895,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('rotation_order",{"_index":1920,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('rotation_unit",{"_index":1921,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('rui_rank",{"_index":1861,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('sample_type",{"_index":1945,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('scaling_unit",{"_index":1915,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('section_count",{"_index":1951,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('section_number",{"_index":1954,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('section_size",{"_index":1952,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('section_size_unit",{"_index":1953,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('sex",{"_index":1932,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('slice_count",{"_index":1904,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('slice_thickness",{"_index":1903,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('spatial_entity",{"_index":1880,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('spatial_object_reference",{"_index":1879,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('spatial_placement",{"_index":1881,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('subdivided_into_sections",{"_index":1943,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('technology",{"_index":1958,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('theta_rotation",{"_index":1919,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('thumbnail",{"_index":1959,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('tissue_provider_name",{"_index":1939,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('tissue_provider_uuid",{"_index":1941,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('translation_unit",{"_index":1925,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('updated_date",{"_index":1893,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('url",{"_index":1931,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('x_dimension",{"_index":1905,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('x_rotation",{"_index":1916,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('x_scaling",{"_index":1912,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('x_translation",{"_index":1922,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('y_dimension",{"_index":1906,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('y_rotation",{"_index":1917,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('y_scaling",{"_index":1913,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('y_translation",{"_index":1923,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('z_dimension",{"_index":1907,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('z_rotation",{"_index":1918,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('z_scaling",{"_index":1914,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('z_translation",{"_index":1924,"title":{},"body":{"miscellaneous/variables.html":{}}}],["cell",{"_index":420,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["celltype",{"_index":108,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["celltypeterms",{"_index":109,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["center",{"_index":1764,"title":{},"body":{"index.html":{}}}],["centimeter",{"_index":524,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["change",{"_index":1216,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["changed",{"_index":969,"title":{},"body":{"changelog.html":{}}}],["changelog",{"_index":942,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changes",{"_index":1047,"title":{},"body":{"changelog.html":{}}}],["characterizes",{"_index":1869,"title":{},"body":{"miscellaneous/variables.html":{}}}],["charge",{"_index":1780,"title":{},"body":{"license.html":{}}}],["checkback",{"_index":36,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["checking",{"_index":34,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["child",{"_index":145,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["children",{"_index":147,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["choose",{"_index":1354,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":1333,"title":{},"body":{"changelog.html":{}}}],["cl",{"_index":1588,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["cl.cell",{"_index":1991,"title":{},"body":{"miscellaneous/variables.html":{}}}],["claim",{"_index":1820,"title":{},"body":{"license.html":{}}}],["class",{"_index":254,"title":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["classes",{"_index":443,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"overview.html":{}}}],["clean",{"_index":1020,"title":{},"body":{"changelog.html":{}}}],["cleanup",{"_index":1080,"title":{},"body":{"changelog.html":{}}}],["click",{"_index":1123,"title":{},"body":{"changelog.html":{}}}],["clicking",{"_index":1209,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":1745,"title":{},"body":{"index.html":{}}}],["code",{"_index":1073,"title":{},"body":{"changelog.html":{}}}],["codebase",{"_index":1345,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":1392,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":1449,"title":{},"body":{"changelog.html":{}}}],["collaboration",{"_index":1343,"title":{},"body":{"changelog.html":{}}}],["collisions",{"_index":1362,"title":{},"body":{"changelog.html":{}}}],["colon",{"_index":1994,"title":{},"body":{"miscellaneous/variables.html":{}}}],["color",{"_index":678,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["coloring",{"_index":818,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["colorizing",{"_index":1401,"title":{},"body":{"changelog.html":{}}}],["combination",{"_index":1355,"title":{},"body":{"changelog.html":{}}}],["come",{"_index":1397,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":1389,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":1657,"title":{},"body":{"dependencies.html":{}}}],["comment",{"_index":782,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["common",{"_index":1122,"title":{},"body":{"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["compatible",{"_index":917,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["complexity",{"_index":1244,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":1071,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":1035,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["components",{"_index":1192,"title":{},"body":{"changelog.html":{}}}],["comunica/query",{"_index":1616,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":1659,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":1802,"title":{},"body":{"license.html":{}}}],["cone",{"_index":665,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["config",{"_index":1162,"title":{},"body":{"changelog.html":{}}}],["configuration",{"_index":1152,"title":{},"body":{"changelog.html":{}}}],["configurations",{"_index":1161,"title":{},"body":{"changelog.html":{}}}],["confirmation",{"_index":1115,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":1172,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":448,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"changelog.html":{}}}],["connect(options",{"_index":279,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["connected",{"_index":310,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["connection",{"_index":1829,"title":{},"body":{"license.html":{}}}],["connects",{"_index":272,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["console.log('couldn\\'t",{"_index":323,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["console.log(all_possible_organs.map(o",{"_index":2027,"title":{},"body":{"miscellaneous/variables.html":{}}}],["console.warn(`unable",{"_index":935,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["consortium",{"_index":1775,"title":{},"body":{"license.html":{}}}],["consortium_name",{"_index":2100,"title":{},"body":{"miscellaneous/variables.html":{}}}],["consortiumname",{"_index":1937,"title":{},"body":{"miscellaneous/variables.html":{}}}],["const",{"_index":247,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{}}}],["constants",{"_index":1980,"title":{},"body":{"miscellaneous/variables.html":{}}}],["constructor",{"_index":450,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}}}],["constructor(database",{"_index":451,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["constructor(db",{"_index":487,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}}}],["constructor(private",{"_index":544,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["constructor(public",{"_index":263,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{}}}],["container",{"_index":1204,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["containers",{"_index":1151,"title":{},"body":{"changelog.html":{}}}],["containing",{"_index":1720,"title":{},"body":{"index.html":{}}}],["context",{"_index":173,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["context.jsonld",{"_index":251,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"miscellaneous/variables.html":{}}}],["contract",{"_index":1825,"title":{},"body":{"license.html":{}}}],["control",{"_index":1301,"title":{},"body":{"changelog.html":{}}}],["coordinate",{"_index":117,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"index.html":{}}}],["copies",{"_index":1796,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1783,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":1773,"title":{},"body":{"license.html":{}}}],["cord",{"_index":1010,"title":{},"body":{"changelog.html":{}}}],["cors",{"_index":1661,"title":{},"body":{"dependencies.html":{}}}],["count",{"_index":14,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["counts",{"_index":417,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["coverage",{"_index":1429,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["create",{"_index":1981,"title":{},"body":{"miscellaneous/variables.html":{}}}],["created",{"_index":1310,"title":{},"body":{"changelog.html":{}}}],["created_by_user_displayname",{"_index":848,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["creategraph",{"_index":484,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["creates",{"_index":256,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["creation",{"_index":789,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["creation_date",{"_index":791,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["creator",{"_index":783,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["creator_first_name",{"_index":785,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["creator_last_name",{"_index":787,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["creator_orcid",{"_index":788,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["credits",{"_index":1759,"title":{},"body":{"index.html":{}}}],["css",{"_index":1663,"title":{},"body":{"dependencies.html":{}}}],["ct_is_a",{"_index":1865,"title":{},"body":{"miscellaneous/variables.html":{}}}],["cube",{"_index":662,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["cuboid",{"_index":1427,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":1424,"title":{},"body":{"changelog.html":{}}}],["current",{"_index":44,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["currently",{"_index":1108,"title":{},"body":{"changelog.html":{}}}],["cyberinfrastructure",{"_index":1761,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":1254,"title":{},"body":{"changelog.html":{}}}],["cylinder",{"_index":666,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["damages",{"_index":1821,"title":{},"body":{"license.html":{}}}],["dark/light",{"_index":1167,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":65,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["data.ts",{"_index":1497,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["database",{"_index":26,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{}}}],["database.last_modified",{"_index":294,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["database.ts",{"_index":162,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/cache",{"_index":1496,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/ccf",{"_index":161,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/hubmap/hubmap",{"_index":832,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/interfaces.ts",{"_index":7,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["database/src/lib/queries/aggregate",{"_index":1526,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/queries/find",{"_index":1529,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/queries/ontology",{"_index":1544,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/queries/spatial",{"_index":1550,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/queries/tissue",{"_index":1558,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/spatial",{"_index":773,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{}}}],["database/src/lib/util/ccf",{"_index":444,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"coverage.html":{}}}],["database/src/lib/util/enrich",{"_index":1571,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/util/n3",{"_index":1573,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/util/origin",{"_index":1577,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/util/patch",{"_index":1583,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/util/prefixes.ts",{"_index":1586,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/util/probing",{"_index":1594,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["databasestatus",{"_index":24,"title":{"interfaces/DatabaseStatus.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["datafactory",{"_index":199,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["datafactory.literal('female",{"_index":1936,"title":{},"body":{"miscellaneous/variables.html":{}}}],["datafactory.literal('male",{"_index":1935,"title":{},"body":{"miscellaneous/variables.html":{}}}],["datafactory.literal('non",{"_index":1950,"title":{},"body":{"miscellaneous/variables.html":{}}}],["datafactory.literal('tissue",{"_index":1947,"title":{},"body":{"miscellaneous/variables.html":{}}}],["datafactory.namednode('http://www.geneontology.org/formats/oboinowl#hasexactsynonym",{"_index":1862,"title":{},"body":{"miscellaneous/variables.html":{}}}],["dataset",{"_index":61,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["datasetresult",{"_index":62,"title":{"interfaces/DatasetResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["datasetresultset",{"_index":1562,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["datasets",{"_index":80,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["datasources",{"_index":166,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["dataurl",{"_index":918,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["date",{"_index":790,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["date().gettime",{"_index":292,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["date().toisostring().split('t')[0",{"_index":597,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["date(+lastmodified).gettime",{"_index":300,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["date.now",{"_index":467,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["db",{"_index":489,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["dc",{"_index":1976,"title":{},"body":{"miscellaneous/variables.html":{}}}],["dcterms",{"_index":1978,"title":{},"body":{"miscellaneous/variables.html":{}}}],["dcterms:created",{"_index":2133,"title":{},"body":{"miscellaneous/variables.html":{}}}],["dcterms:creator",{"_index":2135,"title":{},"body":{"miscellaneous/variables.html":{}}}],["deal",{"_index":1785,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1830,"title":{},"body":{"license.html":{}}}],["debug",{"_index":140,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["debugdonors",{"_index":1514,"title":{},"body":{"coverage.html":{}}}],["debugging",{"_index":138,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["december",{"_index":1349,"title":{},"body":{"changelog.html":{}}}],["deck.gl/core",{"_index":1618,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":1620,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":1623,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":1624,"title":{},"body":{"dependencies.html":{}}}],["decorator",{"_index":1638,"title":{},"body":{"dependencies.html":{}}}],["deeply",{"_index":1102,"title":{},"body":{"changelog.html":{}}}],["def5fd76",{"_index":2242,"title":{},"body":{"miscellaneous/variables.html":{}}}],["default",{"_index":246,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["default_api_search_query",{"_index":872,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_ccf_db_options",{"_index":248,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defined",{"_index":452,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"changelog.html":{}}}],["degree",{"_index":615,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["delay",{"_index":366,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["delmany",{"_index":190,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["delmany([ccfdatabasekey",{"_index":302,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["demo",{"_index":1125,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":1199,"title":{"dependencies.html":{}},"body":{"changelog.html":{},"dependencies.html":{}}}],["depending",{"_index":1221,"title":{},"body":{"changelog.html":{}}}],["derived",{"_index":81,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["descendants.created_by_user_displayname",{"_index":865,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.data_types",{"_index":867,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.entity_type",{"_index":860,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.group_name",{"_index":864,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.group_uuid",{"_index":863,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.ingest_metadata.metadata.assay_type",{"_index":868,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.ingest_metadata.metadata.tissue_id",{"_index":861,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.last_modified_timestamp",{"_index":862,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.metadata.files.rel_path",{"_index":870,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.thumbnail_file",{"_index":869,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.uuid",{"_index":866,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descrepancies",{"_index":997,"title":{},"body":{"changelog.html":{}}}],["describing",{"_index":819,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["description",{"_index":8,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["deserialize(value",{"_index":376,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["deserializen3store",{"_index":200,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["deserializen3store(ccfowlurl",{"_index":318,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["deserializen3store(storestring",{"_index":325,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["deserializen3store(value",{"_index":377,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["desired",{"_index":755,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["details",{"_index":1471,"title":{},"body":{"changelog.html":{}}}],["developed",{"_index":1760,"title":{},"body":{"index.html":{}}}],["developments",{"_index":1454,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":1116,"title":{},"body":{"changelog.html":{}}}],["differencecallback",{"_index":1530,"title":{},"body":{"coverage.html":{}}}],["different",{"_index":1150,"title":{},"body":{"changelog.html":{}}}],["digits",{"_index":1327,"title":{},"body":{"changelog.html":{}}}],["dim",{"_index":761,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["dimension",{"_index":813,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["dimension_units",{"_index":817,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["dimensions",{"_index":756,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{}}}],["direct",{"_index":1480,"title":{},"body":{"changelog.html":{}}}],["directedgraph",{"_index":504,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["directly",{"_index":1390,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":395,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["display",{"_index":1141,"title":{},"body":{"changelog.html":{}}}],["displayed",{"_index":1425,"title":{},"body":{"changelog.html":{}}}],["displaying",{"_index":1138,"title":{},"body":{"changelog.html":{}}}],["distribute",{"_index":1792,"title":{},"body":{"license.html":{}}}],["doapisearch",{"_index":903,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["doapisearch(dataurl",{"_index":933,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["doc",{"_index":1439,"title":{},"body":{"changelog.html":{}}}],["doconnect",{"_index":311,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["docs",{"_index":1019,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":1665,"title":{},"body":{"dependencies.html":{}}}],["documentation",{"_index":1074,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["docvalue_fields",{"_index":885,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["done",{"_index":1214,"title":{},"body":{"changelog.html":{}}}],["donor",{"_index":53,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["donorresult",{"_index":54,"title":{"interfaces/DonorResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["donorresultset",{"_index":1563,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["donors",{"_index":1267,"title":{},"body":{"changelog.html":{}}}],["dosearchrequest",{"_index":889,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["dosearchrequest(dataurl",{"_index":932,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["dosearchrequest(url",{"_index":907,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["dotenv",{"_index":1668,"title":{},"body":{"dependencies.html":{}}}],["download",{"_index":1464,"title":{},"body":{"changelog.html":{}}}],["dr1_vu_thumbs",{"_index":1515,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["during",{"_index":126,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["dynamic",{"_index":1612,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":990,"title":{},"body":{"changelog.html":{}}}],["ea2d",{"_index":2245,"title":{},"body":{"miscellaneous/variables.html":{}}}],["each",{"_index":86,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["easier",{"_index":1052,"title":{},"body":{"changelog.html":{}}}],["east",{"_index":1742,"title":{},"body":{"index.html":{}}}],["ed43",{"_index":2227,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ed44",{"_index":2221,"title":{},"body":{"miscellaneous/variables.html":{}}}],["edc2",{"_index":2234,"title":{},"body":{"miscellaneous/variables.html":{}}}],["edgesource",{"_index":555,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["edgesource[quad.subject.id",{"_index":559,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["effect",{"_index":1372,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":1292,"title":{},"body":{"changelog.html":{}}}],["elastic",{"_index":187,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["electric",{"_index":2251,"title":{},"body":{"miscellaneous/variables.html":{}}}],["element",{"_index":1217,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["embedded",{"_index":1158,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":1146,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":1144,"title":{},"body":{"changelog.html":{}}}],["endpoint",{"_index":928,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["enrichruilocations",{"_index":240,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["enrichruilocations(this.store",{"_index":373,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["entities",{"_index":392,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["entity",{"_index":93,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["entity.datasets.id",{"_index":2179,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.description.id",{"_index":2169,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.donor.id",{"_index":2176,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.label.id",{"_index":2168,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.link.id",{"_index":2170,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.providername.id",{"_index":2167,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sampletype.id",{"_index":2172,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sectioncount.id",{"_index":2173,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sectionnumber.id",{"_index":2180,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sections.id",{"_index":2178,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sectionsize.id",{"_index":2174,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sectionunits.id",{"_index":2175,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.spatialentity.id",{"_index":2177,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.technology.id",{"_index":2165,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.thumbnail.id",{"_index":2166,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity_context",{"_index":1516,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["entity_type",{"_index":844,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["entityid",{"_index":667,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{}}}],["error",{"_index":29,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["error?.message",{"_index":479,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["es",{"_index":1655,"title":{},"body":{"dependencies.html":{}}}],["eslint",{"_index":394,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["eslint/consistent",{"_index":399,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["eslint/no",{"_index":542,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["etc",{"_index":1175,"title":{},"body":{"changelog.html":{}}}],["eui",{"_index":1037,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":1067,"title":{},"body":{"changelog.html":{}}}],["euler",{"_index":500,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["euler().fromrotationmatrix(matrix",{"_index":586,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["euler.tovector3().map(todegrees",{"_index":590,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["euler.xyz",{"_index":587,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["event",{"_index":1816,"title":{},"body":{"license.html":{}}}],["exists",{"_index":873,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["expanded",{"_index":988,"title":{},"body":{"changelog.html":{}}}],["explicit",{"_index":543,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["exploration",{"_index":1724,"title":{},"body":{"index.html":{}}}],["export",{"_index":23,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["express",{"_index":1670,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["expressed",{"_index":823,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["extends",{"_index":55,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["external",{"_index":1164,"title":{},"body":{"changelog.html":{}}}],["extra",{"_index":1675,"title":{},"body":{"dependencies.html":{}}}],["extracted",{"_index":83,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["extraction",{"_index":775,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["extraction_set",{"_index":1899,"title":{},"body":{"miscellaneous/variables.html":{}}}],["extraction_set_for",{"_index":1897,"title":{},"body":{"miscellaneous/variables.html":{}}}],["extractionset",{"_index":643,"title":{"interfaces/ExtractionSet.html":{}},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["extractionsites",{"_index":777,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["eye",{"_index":2007,"title":{},"body":{"miscellaneous/variables.html":{}}}],["eye_left",{"_index":2039,"title":{},"body":{"miscellaneous/variables.html":{}}}],["eye_right",{"_index":2041,"title":{},"body":{"miscellaneous/variables.html":{}}}],["factor",{"_index":520,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["factory",{"_index":267,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["fail",{"_index":1347,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":1377,"title":{},"body":{"changelog.html":{}}}],["fallopian_tube",{"_index":2009,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fallopian_tube_left",{"_index":2043,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fallopian_tube_right",{"_index":2045,"title":{},"body":{"miscellaneous/variables.html":{}}}],["false",{"_index":281,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["favor",{"_index":1338,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":987,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":1255,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":1290,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":101,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["femaleorgans",{"_index":1875,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fetch",{"_index":1696,"title":{},"body":{"dependencies.html":{}}}],["fetch(ccfowlurl).then(r",{"_index":321,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["fetch(source).then(r",{"_index":350,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["fetch(text).then((r",{"_index":899,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["fetch(url",{"_index":894,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["field",{"_index":22,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["fields",{"_index":840,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["file",{"_index":5,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["file_format",{"_index":778,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["file_subpath",{"_index":780,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["files",{"_index":1784,"title":{},"body":{"license.html":{}}}],["filter",{"_index":128,"title":{"interfaces/Filter.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{}}}],["filter(s",{"_index":743,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["filter?.debug",{"_index":698,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["filter?.sex",{"_index":689,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["filter?.sex?.tolowercase",{"_index":730,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["filterbyage",{"_index":1531,"title":{},"body":{"coverage.html":{}}}],["filterbybmi",{"_index":1532,"title":{},"body":{"coverage.html":{}}}],["filterbycelltypeterms",{"_index":1533,"title":{},"body":{"coverage.html":{}}}],["filterbygroupname",{"_index":1534,"title":{},"body":{"coverage.html":{}}}],["filterbyhasspatialentity",{"_index":1535,"title":{},"body":{"coverage.html":{}}}],["filterbyontologyterms",{"_index":1536,"title":{},"body":{"coverage.html":{}}}],["filterbyprobingsphere",{"_index":1554,"title":{},"body":{"coverage.html":{}}}],["filterbysex",{"_index":1537,"title":{},"body":{"coverage.html":{}}}],["filterbyspatialsearches",{"_index":1538,"title":{},"body":{"coverage.html":{}}}],["filterbytechnology",{"_index":1539,"title":{},"body":{"coverage.html":{}}}],["filters",{"_index":1003,"title":{},"body":{"changelog.html":{}}}],["filterwithdataset",{"_index":1540,"title":{},"body":{"coverage.html":{}}}],["filterwithdonor",{"_index":1541,"title":{},"body":{"coverage.html":{}}}],["filterwithspatialentity",{"_index":1542,"title":{},"body":{"coverage.html":{}}}],["final",{"_index":1341,"title":{},"body":{"changelog.html":{}}}],["finally",{"_index":480,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["findids",{"_index":218,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["findids(this.store",{"_index":381,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["finishing",{"_index":1120,"title":{},"body":{"changelog.html":{}}}],["first",{"_index":784,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["firstresult",{"_index":906,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["firstresult.hits",{"_index":915,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["firstresult.hits.hits.concat(...items",{"_index":916,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["firstresult.hits.total.value",{"_index":911,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["fit",{"_index":1263,"title":{},"body":{"changelog.html":{}}}],["fitness",{"_index":1812,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":1246,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":1022,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":1402,"title":{},"body":{"changelog.html":{}}}],["flatspatialplacement",{"_index":232,"title":{"interfaces/FlatSpatialPlacement.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{}}}],["flexible",{"_index":1015,"title":{},"body":{"changelog.html":{}}}],["florida",{"_index":2230,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fly",{"_index":1486,"title":{},"body":{"changelog.html":{}}}],["fma",{"_index":1589,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["fma.x('24977",{"_index":2056,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fma.x('24978",{"_index":2054,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fma.x('54449",{"_index":2042,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fma.x('7213",{"_index":2068,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fma.x('7214",{"_index":2066,"title":{},"body":{"miscellaneous/variables.html":{}}}],["following",{"_index":1801,"title":{},"body":{"license.html":{}}}],["form",{"_index":430,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["format",{"_index":180,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["frame",{"_index":1268,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":1715,"title":{},"body":{"index.html":{}}}],["free",{"_index":1779,"title":{},"body":{"license.html":{}}}],["fs",{"_index":1674,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":1207,"title":{},"body":{"changelog.html":{}}}],["fullscreen",{"_index":1434,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":1256,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":516,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["functions.ts",{"_index":1574,"title":{},"body":{"coverage.html":{}}}],["funded",{"_index":1767,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":1799,"title":{},"body":{"license.html":{}}}],["further",{"_index":1430,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":1247,"title":{},"body":{"changelog.html":{}}}],["g",{"_index":2030,"title":{},"body":{"miscellaneous/variables.html":{}}}],["general",{"_index":2250,"title":{},"body":{"miscellaneous/variables.html":{}}}],["generally",{"_index":89,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["generate",{"_index":1042,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":1072,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":991,"title":{},"body":{"changelog.html":{}}}],["geometry",{"_index":672,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["get(ccfdatabasekey).catch",{"_index":304,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["get(id",{"_index":384,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["get(lastmodifiedkey).catch",{"_index":297,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["get(source",{"_index":579,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["getaggregateresults",{"_index":214,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getaggregateresults(filter",{"_index":414,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getaggregateresults(this.getids(filter",{"_index":415,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getallentities",{"_index":1543,"title":{},"body":{"coverage.html":{}}}],["getanatomicalstructuremapping",{"_index":1545,"title":{},"body":{"coverage.html":{}}}],["getanatomicalstructures",{"_index":624,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getanatomicalstructures(iri",{"_index":636,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getanatomicalstructures(this.db.store",{"_index":686,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getanatomicalstructuretreemodel",{"_index":226,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["getanatomicalstructuretreemodel(this.store",{"_index":424,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getanatomicalstructuretreemodelslowly",{"_index":1547,"title":{},"body":{"coverage.html":{}}}],["getapisearchbody",{"_index":1510,"title":{},"body":{"coverage.html":{}}}],["getapisearchbody(0",{"_index":905,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["getapisearchbody(from",{"_index":880,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["getapisearchheaders",{"_index":1511,"title":{},"body":{"coverage.html":{}}}],["getapisearchheaders(token",{"_index":874,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["getcelltypetermoccurences",{"_index":221,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getcelltypetermoccurences(filter",{"_index":421,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getcelltypetermoccurences(this.getids(filter",{"_index":422,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getcelltypetreemodel",{"_index":227,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getcelltypetreemodel(this.store",{"_index":425,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getdatabasestatus",{"_index":404,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getdatasetresult",{"_index":1559,"title":{},"body":{"coverage.html":{}}}],["getdatasettechnologynames",{"_index":215,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getdatasettechnologynames(this.store",{"_index":410,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getdonorresult",{"_index":1560,"title":{},"body":{"coverage.html":{}}}],["getentityscenenodes",{"_index":625,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getentityscenenodes(filter",{"_index":638,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getentries",{"_index":1575,"title":{},"body":{"coverage.html":{}}}],["getextractionset",{"_index":626,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getextractionset(iri",{"_index":641,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getextractionset(this.db.store",{"_index":685,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getextractionsets",{"_index":627,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getextractionsets(iri",{"_index":644,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getextractionsets(this.db.store",{"_index":684,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getids(filter",{"_index":380,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getmappedresult",{"_index":1576,"title":{},"body":{"coverage.html":{}}}],["getobjects",{"_index":1528,"title":{},"body":{"coverage.html":{}}}],["getontologytermoccurences",{"_index":222,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getontologytermoccurences(filter",{"_index":418,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getontologytermoccurences(this.getids(filter",{"_index":419,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getontologytreemodel",{"_index":423,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getontologytreenode",{"_index":1548,"title":{},"body":{"coverage.html":{}}}],["getorientedboundingbox",{"_index":1555,"title":{},"body":{"coverage.html":{}}}],["getoriginscene",{"_index":1578,"title":{},"body":{"coverage.html":{}}}],["getprobingspherescene",{"_index":1595,"title":{},"body":{"coverage.html":{}}}],["getprovidernames",{"_index":216,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getprovidernames(this.store",{"_index":411,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getreferencebody",{"_index":628,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getreferencebody(filter",{"_index":646,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getreferenceorgans",{"_index":428,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getreferenceorgans(this.db.store",{"_index":687,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getreferenceorganscene",{"_index":629,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getreferenceorganscene(organiri",{"_index":438,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getreferenceorgansets",{"_index":630,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getreferenceorgansets(filter",{"_index":650,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getreferencescenenodes",{"_index":631,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getreferencescenenodes(filter",{"_index":652,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["gets",{"_index":379,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getscene",{"_index":632,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getscene(filter",{"_index":434,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getscenenode",{"_index":633,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getscenenode(source",{"_index":655,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getspatialentities(filter",{"_index":393,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getspatialentity",{"_index":634,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getspatialentity(iri",{"_index":659,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getspatialentity(this.db.store",{"_index":683,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getspatialentitydimensions",{"_index":1556,"title":{},"body":{"coverage.html":{}}}],["getspatialentityforentity",{"_index":228,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getspatialentityforentity(this.store",{"_index":402,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getspatialentitymapping",{"_index":1546,"title":{},"body":{"coverage.html":{}}}],["getspatialobjectreference",{"_index":1551,"title":{},"body":{"coverage.html":{}}}],["getspatialplacement",{"_index":485,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"coverage.html":{}}}],["getspatialplacement(source",{"_index":440,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["getspatialplacement(store",{"_index":576,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["getting",{"_index":940,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["gettissueblockresult",{"_index":230,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["gettissueblockresult(this.store",{"_index":413,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["gettissueblockresults(filter",{"_index":412,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["gettissuesectionresult",{"_index":1561,"title":{},"body":{"coverage.html":{}}}],["gettransformationmatrix",{"_index":486,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["gettransformationmatrix(sourceiri",{"_index":496,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["github",{"_index":1329,"title":{},"body":{"changelog.html":{}}}],["gizmo",{"_index":1181,"title":{},"body":{"changelog.html":{}}}],["globalconfig",{"_index":1155,"title":{},"body":{"changelog.html":{}}}],["gold",{"_index":1596,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["good",{"_index":1374,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":1194,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["granted",{"_index":1778,"title":{},"body":{"license.html":{}}}],["graph",{"_index":208,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["graph.ts",{"_index":481,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"coverage.html":{}}}],["graph.ts:110",{"_index":495,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:41",{"_index":488,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:47",{"_index":494,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:74",{"_index":493,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:78",{"_index":491,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:82",{"_index":497,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graphical",{"_index":1031,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":505,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"dependencies.html":{}}}],["gray",{"_index":1580,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["greatly",{"_index":1134,"title":{},"body":{"changelog.html":{}}}],["green",{"_index":1581,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["group_name",{"_index":846,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["group_uuid",{"_index":845,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["group_uuid_mapping",{"_index":1517,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["gtex",{"_index":1043,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":1365,"title":{},"body":{"changelog.html":{}}}],["hand",{"_index":1370,"title":{},"body":{"changelog.html":{}}}],["happen",{"_index":1409,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":1348,"title":{},"body":{"changelog.html":{}}}],["has3dobject",{"_index":744,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["hassexfilter",{"_index":729,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["hasspatialentity",{"_index":401,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["hbm",{"_index":2236,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm237.ggpr.739",{"_index":2293,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm237.ggpr.739_ufl0006",{"_index":2294,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm239.cbwr.263",{"_index":2330,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm239.cbwr.263_ufl0008",{"_index":2331,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm244.tjlk.223",{"_index":2322,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm244.tjlk.223_ufl0003",{"_index":2323,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm255.srpr.985",{"_index":2282,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm255.srpr.985_ufl0005",{"_index":2283,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm267.bzkt.867",{"_index":2338,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm267.bzkt.867_ufl0003",{"_index":2339,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm278.sfqw.627",{"_index":2268,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm278.sfqw.627_ufl0008",{"_index":2269,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm283.dqxd.546",{"_index":2334,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm283.dqxd.546_ufl0003",{"_index":2335,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm285.xmbt.542",{"_index":2277,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm285.xmbt.542_ufl0006",{"_index":2278,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm288.tpbd.654",{"_index":2296,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm288.tpbd.654_ufl0003",{"_index":2297,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm289.bwjw.663",{"_index":2280,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm289.bwjw.663_ufl0006",{"_index":2281,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm294.rzfn.624",{"_index":2287,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm294.rzfn.624_ufl0005",{"_index":2288,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm337.fsxl.564",{"_index":2342,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm337.fsxl.564_ufl0001",{"_index":2343,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm342.prqb.739",{"_index":2310,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm342.prqb.739_ufl0003",{"_index":2311,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm343.jqkm.578",{"_index":2316,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm343.jqkm.578_ufl0009",{"_index":2317,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm355.jdlk.244",{"_index":2345,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm355.jdlk.244_ufl0004",{"_index":2346,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm372.bqsr.778",{"_index":2306,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm372.bqsr.778_ufl0007",{"_index":2307,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm383.trqg.424",{"_index":2289,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm383.trqg.424_ufl0006",{"_index":2290,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm427.smgb.866",{"_index":2271,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm427.smgb.866_ufl0004",{"_index":2272,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm432.llcf.677",{"_index":2273,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm432.llcf.677_ufl0001",{"_index":2274,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm499.tkdw.458",{"_index":2308,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm499.tkdw.458_ufl0009",{"_index":2309,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm558.srzg.629",{"_index":2259,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm558.srzg.629_ufl0002",{"_index":2260,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm562.ntmh.548",{"_index":2263,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm562.ntmh.548_ufl0006",{"_index":2264,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm572.gxsb.234",{"_index":2326,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm572.gxsb.234_ufl0003",{"_index":2327,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm586.zsvs.996",{"_index":2275,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm586.zsvs.996_ufl0008",{"_index":2276,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm589.slvv.423",{"_index":2300,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm589.slvv.423_ufl0008",{"_index":2301,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm599.pszg.737",{"_index":2347,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm599.pszg.737_ufl0006",{"_index":2348,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm633.clvn.674",{"_index":2313,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm633.clvn.674_ufl0003",{"_index":2314,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm646.fsbq.966",{"_index":2324,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm646.fsbq.966_ufl0007",{"_index":2325,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm647.mfqb.496",{"_index":2291,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm647.mfqb.496_ufl0001",{"_index":2292,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm685.khrq.684",{"_index":2265,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm685.khrq.684_ufl0008",{"_index":2266,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm772.tkgj.794",{"_index":2328,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm772.tkgj.794_ufl0008",{"_index":2329,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm794.rlfn.358",{"_index":2303,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm794.rlfn.358_ufl0006",{"_index":2304,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm795.jhnd.856",{"_index":2336,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm795.jhnd.856_ufl0007",{"_index":2337,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm799.wxhd.535",{"_index":2284,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm799.wxhd.535_ufl0009",{"_index":2285,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm838.dlmj.782",{"_index":2340,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm838.dlmj.782_ufl0008",{"_index":2341,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm964.cwcp.788",{"_index":2320,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm964.cwcp.788_ufl0006",{"_index":2321,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm974.ndxt.675",{"_index":2298,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm974.ndxt.675_ufl0008",{"_index":2299,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm987.xgth.368",{"_index":2318,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm987.xgth.368_ufl0002",{"_index":2319,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm992.nrtt.383",{"_index":2332,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm992.nrtt.383_ufl0006",{"_index":2333,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm_prefix",{"_index":1518,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["headers",{"_index":875,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["headers.append('authorization",{"_index":878,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["headers.append('content",{"_index":876,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["heart",{"_index":2047,"title":{},"body":{"miscellaneous/variables.html":{}}}],["helmet",{"_index":1679,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":1364,"title":{},"body":{"changelog.html":{}}}],["helper",{"_index":1927,"title":{},"body":{"miscellaneous/variables.html":{}}}],["here",{"_index":1368,"title":{},"body":{"changelog.html":{}}}],["hereby",{"_index":1777,"title":{},"body":{"license.html":{}}}],["hex",{"_index":1681,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":1455,"title":{},"body":{"changelog.html":{}}}],["highlight",{"_index":1106,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":1000,"title":{},"body":{"changelog.html":{}}}],["highlights",{"_index":1109,"title":{},"body":{"changelog.html":{}}}],["hits",{"_index":834,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["holders",{"_index":1818,"title":{},"body":{"license.html":{}}}],["hooked",{"_index":1300,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":1012,"title":{},"body":{"changelog.html":{}}}],["hovering",{"_index":1198,"title":{},"body":{"changelog.html":{}}}],["hra",{"_index":944,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["http://purl.obolibrary.org/obo",{"_index":1968,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/cl_",{"_index":1970,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/lmha_",{"_index":1971,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_",{"_index":1969,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002097",{"_index":710,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["http://purl.org/ccf",{"_index":1965,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.org/ccf/1.5/${uuidv4()}_placement",{"_index":595,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["http://purl.org/ccf/latest/ccf.owl",{"_index":1964,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.org/dc/elements/1.1",{"_index":1977,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.org/dc/terms",{"_index":1979,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma",{"_index":1966,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://www.w3.org/1999/02/22",{"_index":1972,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://www.w3.org/2000/01/rdf",{"_index":1975,"title":{},"body":{"miscellaneous/variables.html":{}}}],["https://assets.hubmapconsortium.org",{"_index":253,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["https://beta",{"_index":1727,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":1739,"title":{},"body":{"index.html":{}}}],["https://entity.api.hubmapconsortium.org/entities",{"_index":2258,"title":{},"body":{"miscellaneous/variables.html":{}}}],["https://hubmap",{"_index":1732,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":1731,"title":{},"body":{"index.html":{},"miscellaneous/variables.html":{}}}],["https://hubmapconsortium.github.io/hubmap",{"_index":593,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["https://humanatlas.io",{"_index":1757,"title":{},"body":{"index.html":{}}}],["https://observablehq.com/@cns",{"_index":1754,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":1734,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org",{"_index":252,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":1729,"title":{},"body":{"index.html":{}}}],["https://purl.org/ccf/latest/ccf",{"_index":250,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["https://purl.org/ccf/latest/ccf.owl",{"_index":249,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["https://r5i95k35v5.us",{"_index":1741,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":1482,"title":{},"body":{"changelog.html":{}}}],["hubmap",{"_index":181,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["hubmap/hubmap",{"_index":213,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["hubmapassetsurl",{"_index":167,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["hubmapdata",{"_index":931,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["hubmapdataservice",{"_index":168,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["hubmapdataurl",{"_index":169,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["hubmapportalurl",{"_index":170,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["hubmapquery",{"_index":171,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["hubmapresponseasjsonld",{"_index":835,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["hubmapresponseasjsonld(hubmapdata",{"_index":934,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["hubmaptissueblock",{"_index":1512,"title":{},"body":{"coverage.html":{}}}],["hubmaptoken",{"_index":172,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["human",{"_index":42,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{}}}],["icon",{"_index":1465,"title":{},"body":{"changelog.html":{}}}],["icons",{"_index":1208,"title":{},"body":{"changelog.html":{}}}],["id",{"_index":49,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["id/iri",{"_index":156,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["idb",{"_index":192,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"dependencies.html":{}}}],["identifier",{"_index":48,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["identity",{"_index":566,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ids",{"_index":220,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["iec",{"_index":1344,"title":{},"body":{"changelog.html":{}}}],["image",{"_index":1337,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":1388,"title":{},"body":{"changelog.html":{}}}],["implementation",{"_index":1097,"title":{},"body":{"changelog.html":{}}}],["implemented",{"_index":1298,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":1438,"title":{},"body":{"changelog.html":{}}}],["implied",{"_index":1809,"title":{},"body":{"license.html":{}}}],["import",{"_index":189,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{}}}],["import.ts",{"_index":833,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["improve",{"_index":1291,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":1063,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":1027,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":1135,"title":{},"body":{"changelog.html":{}}}],["ims_negmode_multilayer_thumbnail.jpg",{"_index":2186,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ims_posmode_multilayer_thumbnail.jpg",{"_index":2187,"title":{},"body":{"miscellaneous/variables.html":{}}}],["include",{"_index":136,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["included",{"_index":1804,"title":{},"body":{"license.html":{}}}],["included_data_fields",{"_index":843,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["includes",{"_index":887,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["including",{"_index":838,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{},"license.html":{}}}],["increase",{"_index":1322,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":1432,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":12,"title":{"index.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indexes",{"_index":954,"title":{},"body":{"changelog.html":{}}}],["indiana",{"_index":1765,"title":{},"body":{"index.html":{}}}],["individual",{"_index":1303,"title":{},"body":{"changelog.html":{}}}],["info",{"_index":3,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{}}}],["information",{"_index":139,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":1391,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":1352,"title":{},"body":{"changelog.html":{}}}],["init",{"_index":890,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["initial",{"_index":1229,"title":{},"body":{"changelog.html":{}}}],["initialization",{"_index":163,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["initialize",{"_index":273,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["initialized",{"_index":258,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["initializing",{"_index":260,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["inputstore",{"_index":343,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["instance",{"_index":157,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["instead",{"_index":1220,"title":{},"body":{"changelog.html":{}}}],["instructions",{"_index":1145,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":1257,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":1101,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":1351,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":1274,"title":{},"body":{"changelog.html":{}}}],["interact",{"_index":1242,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":1413,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":1479,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":0,"title":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":2,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":1336,"title":{},"body":{"changelog.html":{}}}],["iri",{"_index":123,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["iris",{"_index":793,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["isdefinedby",{"_index":1986,"title":{},"body":{"miscellaneous/variables.html":{}}}],["isskin",{"_index":708,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["issue",{"_index":1318,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":994,"title":{},"body":{"changelog.html":{}}}],["it's",{"_index":1098,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":96,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["items",{"_index":912,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["iu",{"_index":1452,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":1755,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":962,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["json",{"_index":56,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["json.parse(text",{"_index":901,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["json.stringify(bodyobj",{"_index":888,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["jsondict",{"_index":1839,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["jsonld",{"_index":174,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"dependencies.html":{}}}],["jsonld.ts",{"_index":1584,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["jsonld/jsonld",{"_index":194,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["july",{"_index":1412,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":1461,"title":{},"body":{"changelog.html":{}}}],["key",{"_index":926,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["keyboard",{"_index":1459,"title":{},"body":{"changelog.html":{}}}],["keyval",{"_index":193,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"dependencies.html":{}}}],["kidney",{"_index":1131,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["kidney_left",{"_index":2049,"title":{},"body":{"miscellaneous/variables.html":{}}}],["kidney_right",{"_index":2051,"title":{},"body":{"miscellaneous/variables.html":{}}}],["kind",{"_index":1808,"title":{},"body":{"license.html":{}}}],["knee",{"_index":2011,"title":{},"body":{"miscellaneous/variables.html":{}}}],["knee_left",{"_index":2053,"title":{},"body":{"miscellaneous/variables.html":{}}}],["knee_right",{"_index":2055,"title":{},"body":{"miscellaneous/variables.html":{}}}],["known",{"_index":993,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":980,"title":{},"body":{"changelog.html":{}}}],["label",{"_index":15,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["labels",{"_index":149,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["labs/data",{"_index":1635,"title":{},"body":{"dependencies.html":{}}}],["labs/dispatch",{"_index":1637,"title":{},"body":{"dependencies.html":{}}}],["landmarks",{"_index":1011,"title":{},"body":{"changelog.html":{}}}],["large_intestine",{"_index":2057,"title":{},"body":{"miscellaneous/variables.html":{}}}],["larger",{"_index":1053,"title":{},"body":{"changelog.html":{}}}],["last",{"_index":786,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["last_modified_timestamp",{"_index":847,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["lastmodified",{"_index":296,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["lastmodifiedkey",{"_index":293,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["lastmodifiedkey]).catch",{"_index":303,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["latest",{"_index":1006,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["layers",{"_index":1621,"title":{},"body":{"dependencies.html":{}}}],["ld",{"_index":57,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["leak",{"_index":1317,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":1118,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":800,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["left/right",{"_index":1132,"title":{},"body":{"changelog.html":{}}}],["left_bronchus",{"_index":2000,"title":{},"body":{"miscellaneous/variables.html":{}}}],["left_lung",{"_index":1996,"title":{},"body":{"miscellaneous/variables.html":{}}}],["level",{"_index":1457,"title":{},"body":{"changelog.html":{}}}],["levels",{"_index":1476,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":1822,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1819,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":1056,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":1283,"title":{},"body":{"changelog.html":{}}}],["license",{"_index":1771,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":1112,"title":{},"body":{"changelog.html":{}}}],["limitation",{"_index":1787,"title":{},"body":{"license.html":{}}}],["limited",{"_index":1396,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":397,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["link",{"_index":52,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["linkage",{"_index":1414,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":1016,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":1086,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":46,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["listresultitem",{"_index":47,"title":{"interfaces/ListResultItem.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["listresultset",{"_index":1564,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["lists",{"_index":805,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["literal",{"_index":830,"title":{},"body":{"interfaces/OntologyTreeModel.html":{},"interfaces/SearchResultJson.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["little",{"_index":1240,"title":{},"body":{"changelog.html":{}}}],["live",{"_index":923,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["liver",{"_index":2059,"title":{},"body":{"miscellaneous/variables.html":{}}}],["lk",{"_index":2182,"title":{},"body":{"miscellaneous/variables.html":{}}}],["lmha",{"_index":1590,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["load",{"_index":40,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["loaded",{"_index":277,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"changelog.html":{}}}],["loaders.gl/core",{"_index":1625,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":1627,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":1628,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":28,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["loadtime",{"_index":41,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["locate",{"_index":324,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["located_in",{"_index":1867,"title":{},"body":{"miscellaneous/variables.html":{}}}],["location",{"_index":1323,"title":{},"body":{"changelog.html":{}}}],["locations",{"_index":243,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["locations.ts",{"_index":1572,"title":{},"body":{"coverage.html":{}}}],["lodash",{"_index":509,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"dependencies.html":{}}}],["log",{"_index":1758,"title":{},"body":{"index.html":{}}}],["logging",{"_index":1045,"title":{},"body":{"changelog.html":{}}}],["long",{"_index":30,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["longer",{"_index":1218,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":1289,"title":{},"body":{"changelog.html":{}}}],["lru",{"_index":1687,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":1629,"title":{},"body":{"dependencies.html":{}}}],["lungs",{"_index":2061,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly01",{"_index":2295,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly02",{"_index":2286,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly03",{"_index":2305,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly06",{"_index":2312,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly07",{"_index":2267,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly09",{"_index":2270,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly10",{"_index":2302,"title":{},"body":{"miscellaneous/variables.html":{}}}],["lymph_node",{"_index":2025,"title":{},"body":{"miscellaneous/variables.html":{}}}],["made",{"_index":821,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["main",{"_index":1498,"title":{},"body":{"coverage.html":{}}}],["major",{"_index":986,"title":{},"body":{"changelog.html":{}}}],["makes",{"_index":1049,"title":{},"body":{"changelog.html":{}}}],["making",{"_index":1094,"title":{},"body":{"changelog.html":{}}}],["male",{"_index":100,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["male_reproductive_system",{"_index":2023,"title":{},"body":{"miscellaneous/variables.html":{}}}],["maleorgans",{"_index":1877,"title":{},"body":{"miscellaneous/variables.html":{}}}],["managers",{"_index":1061,"title":{},"body":{"changelog.html":{}}}],["map((entity",{"_index":738,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["mapping",{"_index":155,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["mappings",{"_index":1553,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["march",{"_index":1286,"title":{},"body":{"changelog.html":{}}}],["markdown",{"_index":1694,"title":{},"body":{"dependencies.html":{}}}],["match",{"_index":1288,"title":{},"body":{"changelog.html":{}}}],["matching",{"_index":158,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["math.gl/core",{"_index":503,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"dependencies.html":{}}}],["math.gl/culling",{"_index":1632,"title":{},"body":{"dependencies.html":{}}}],["matrix",{"_index":581,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["matrix.getscale().map(n",{"_index":591,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["matrix.gettranslation().map(n",{"_index":588,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["matrix4",{"_index":499,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["matrix4(matrix4.identity",{"_index":565,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["matrix4(matrix4.identity).rotatex(toradians(90)).multiplyleft(transform",{"_index":752,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["mc",{"_index":1451,"title":{},"body":{"changelog.html":{}}}],["memoize(getanatomicalstructuretreemodelslowly",{"_index":2349,"title":{},"body":{"miscellaneous/variables.html":{}}}],["memory",{"_index":1316,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":1371,"title":{},"body":{"changelog.html":{}}}],["merchantability",{"_index":1811,"title":{},"body":{"license.html":{}}}],["merge",{"_index":1790,"title":{},"body":{"license.html":{}}}],["mesenteric_lymph_node",{"_index":2063,"title":{},"body":{"miscellaneous/variables.html":{}}}],["message",{"_index":45,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["metadata",{"_index":1423,"title":{},"body":{"changelog.html":{}}}],["meter",{"_index":529,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["method",{"_index":908,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["methods",{"_index":447,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}}}],["millimeter",{"_index":528,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["millimeters",{"_index":90,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["milliseconds",{"_index":32,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["minor",{"_index":995,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":1834,"title":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":1772,"title":{},"body":{"license.html":{}}}],["mock",{"_index":1447,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":1227,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":1160,"title":{},"body":{"changelog.html":{}}}],["model",{"_index":152,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"dependencies.html":{}}}],["modify",{"_index":1789,"title":{},"body":{"license.html":{}}}],["modules",{"_index":1831,"title":{"modules.html":{}},"body":{"modules.html":{}}}],["monorepo",{"_index":1717,"title":{},"body":{"index.html":{}}}],["more",{"_index":839,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{}}}],["moved",{"_index":1467,"title":{},"body":{"changelog.html":{}}}],["much",{"_index":1051,"title":{},"body":{"changelog.html":{}}}],["multiple",{"_index":1718,"title":{},"body":{"index.html":{}}}],["mxif_cyc1_registered_thumbnail.jpg",{"_index":2190,"title":{},"body":{"miscellaneous/variables.html":{}}}],["mxif_cyc2_registered_thumbnail.jpg",{"_index":2191,"title":{},"body":{"miscellaneous/variables.html":{}}}],["mxif_cyc3_registered_thumbnail.jpg",{"_index":2192,"title":{},"body":{"miscellaneous/variables.html":{}}}],["n",{"_index":589,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["n3",{"_index":176,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"dependencies.html":{}}}],["n3.ts",{"_index":1527,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["name",{"_index":59,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["names",{"_index":408,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["nanometers",{"_index":808,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["navigation",{"_index":1460,"title":{},"body":{"changelog.html":{}}}],["need",{"_index":972,"title":{},"body":{"changelog.html":{}}}],["needed",{"_index":1293,"title":{},"body":{"changelog.html":{}}}],["needs",{"_index":1299,"title":{},"body":{"changelog.html":{}}}],["network",{"_index":1762,"title":{},"body":{"index.html":{}}}],["new",{"_index":265,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["next",{"_index":396,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"changelog.html":{}}}],["ng5",{"_index":1689,"title":{},"body":{"dependencies.html":{}}}],["ngx",{"_index":1692,"title":{},"body":{"dependencies.html":{}}}],["ngxs",{"_index":1634,"title":{},"body":{"dependencies.html":{}}}],["ngxs/logger",{"_index":1640,"title":{},"body":{"dependencies.html":{}}}],["ngxs/storage",{"_index":1643,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":1644,"title":{},"body":{"dependencies.html":{}}}],["nih",{"_index":1768,"title":{},"body":{"index.html":{}}}],["node",{"_index":142,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"dependencies.html":{}}}],["nodeattrs",{"_index":656,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["nodes",{"_index":146,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["nodes.concat",{"_index":721,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["nodes.filter(s",{"_index":728,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["non",{"_index":73,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["noninfringement",{"_index":1815,"title":{},"body":{"license.html":{}}}],["nonstandard",{"_index":1949,"title":{},"body":{"miscellaneous/variables.html":{}}}],["note",{"_index":968,"title":{},"body":{"changelog.html":{}}}],["notebooks",{"_index":960,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":1750,"title":{},"body":{"index.html":{}}}],["notice",{"_index":1319,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":1054,"title":{},"body":{"changelog.html":{}}}],["ns",{"_index":1974,"title":{},"body":{"miscellaneous/variables.html":{}}}],["null",{"_index":386,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["number",{"_index":18,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["numeric",{"_index":1324,"title":{},"body":{"changelog.html":{}}}],["o",{"_index":700,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["o.id.split('/').slice",{"_index":2032,"title":{},"body":{"miscellaneous/variables.html":{}}}],["o.name.tolowercase().replace",{"_index":2028,"title":{},"body":{"miscellaneous/variables.html":{}}}],["o.representation_of",{"_index":732,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["o.sex",{"_index":733,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["object",{"_index":382,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["objects",{"_index":387,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["obo",{"_index":1967,"title":{},"body":{"miscellaneous/variables.html":{}}}],["obtaining",{"_index":1782,"title":{},"body":{"license.html":{}}}],["occurences",{"_index":225,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["occurrences",{"_index":416,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["off/on",{"_index":1296,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":1411,"title":{},"body":{"changelog.html":{}}}],["old",{"_index":1733,"title":{},"body":{"index.html":{}}}],["one",{"_index":1358,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["online",{"_index":1420,"title":{},"body":{"changelog.html":{}}}],["ontological",{"_index":1485,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":1363,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":104,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["ontology/ccf",{"_index":594,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"miscellaneous/variables.html":{}}}],["ontology_terms",{"_index":2157,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ontologynode",{"_index":1858,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ontologyterms",{"_index":106,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["ontologytreemodel",{"_index":153,"title":{"interfaces/OntologyTreeModel.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["ontologytreenode",{"_index":143,"title":{"interfaces/OntologyTreeNode.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["opacities",{"_index":1302,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":679,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["openapi",{"_index":1096,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/js",{"_index":1746,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":1748,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":1747,"title":{},"body":{"index.html":{}}}],["ops",{"_index":312,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ops.push(searchhubmap",{"_index":331,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ops.push(this.adddatasources(sources",{"_index":339,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["optimization",{"_index":1239,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":1403,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":1273,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":1105,"title":{},"body":{"changelog.html":{}}}],["optional",{"_index":137,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["options",{"_index":124,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["order",{"_index":827,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["ordering",{"_index":804,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["organ",{"_index":436,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"index.html":{}}}],["organ.representation_of",{"_index":709,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organ_owner_sex",{"_index":2126,"title":{},"body":{"miscellaneous/variables.html":{}}}],["organiri",{"_index":437,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organnode",{"_index":736,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organnode].concat(scene).filter(n",{"_index":741,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organs",{"_index":427,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["organs.length",{"_index":734,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organs/anatomical",{"_index":1304,"title":{},"body":{"changelog.html":{}}}],["organs[0",{"_index":735,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organset",{"_index":694,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organset.filter(s",{"_index":696,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organset.map(o",{"_index":699,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["orthographic",{"_index":1187,"title":{},"body":{"changelog.html":{}}}],["ot2od026671",{"_index":1770,"title":{},"body":{"index.html":{}}}],["otherwise",{"_index":1827,"title":{},"body":{"license.html":{}}}],["out",{"_index":810,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"license.html":{}}}],["ovary",{"_index":2013,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ovary_left",{"_index":2065,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ovary_right",{"_index":2067,"title":{},"body":{"miscellaneous/variables.html":{}}}],["over",{"_index":1331,"title":{},"body":{"changelog.html":{}}}],["overall",{"_index":1002,"title":{},"body":{"changelog.html":{}}}],["overlays",{"_index":1477,"title":{},"body":{"changelog.html":{}}}],["overview",{"_index":1832,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["owl",{"_index":179,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["p",{"_index":519,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"changelog.html":{}}}],["p.translation_units",{"_index":522,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.x_rotation",{"_index":535,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.x_scaling",{"_index":538,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.x_translation",{"_index":531,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.y_rotation",{"_index":536,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.y_scaling",{"_index":539,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.y_translation",{"_index":532,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.z_rotation].map(toradians",{"_index":537,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.z_scaling",{"_index":540,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.z_translation].map(t",{"_index":533,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["package",{"_index":1060,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["pages",{"_index":1143,"title":{},"body":{"changelog.html":{}}}],["paired",{"_index":1128,"title":{},"body":{"changelog.html":{}}}],["pancreas",{"_index":2069,"title":{},"body":{"miscellaneous/variables.html":{}}}],["pane",{"_index":1264,"title":{},"body":{"changelog.html":{}}}],["panel",{"_index":1140,"title":{},"body":{"changelog.html":{}}}],["param",{"_index":262,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["parameters",{"_index":454,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}}}],["parent",{"_index":77,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["parser",{"_index":1652,"title":{},"body":{"dependencies.html":{}}}],["part_of",{"_index":1864,"title":{},"body":{"miscellaneous/variables.html":{}}}],["partial",{"_index":657,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["particular",{"_index":1813,"title":{},"body":{"license.html":{}}}],["partly",{"_index":1285,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":1211,"title":{},"body":{"changelog.html":{}}}],["pas_registered_thumbnail.jpg",{"_index":2188,"title":{},"body":{"miscellaneous/variables.html":{}}}],["passthrough",{"_index":359,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["patchjsonld",{"_index":238,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["patchjsonld(json.stringify(source",{"_index":362,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["patchjsonld(source",{"_index":351,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["path",{"_index":570,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["path.length",{"_index":572,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["path.reverse",{"_index":573,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["path/unweighted",{"_index":508,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["pbr",{"_index":716,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["pelvis",{"_index":2071,"title":{},"body":{"miscellaneous/variables.html":{}}}],["per_api_search_request_count",{"_index":841,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["performance",{"_index":1064,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":1776,"title":{},"body":{"license.html":{}}}],["permit",{"_index":1797,"title":{},"body":{"license.html":{}}}],["perreqcount",{"_index":904,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["person",{"_index":1781,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1798,"title":{},"body":{"license.html":{}}}],["pick",{"_index":982,"title":{},"body":{"changelog.html":{}}}],["placeholder",{"_index":1415,"title":{},"body":{"changelog.html":{}}}],["placement",{"_index":518,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["placement[0",{"_index":580,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["placement_date",{"_index":596,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["placementid",{"_index":574,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["placements",{"_index":554,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["placenta",{"_index":1008,"title":{},"body":{"changelog.html":{}}}],["player",{"_index":1615,"title":{},"body":{"dependencies.html":{}}}],["plugin",{"_index":1641,"title":{},"body":{"dependencies.html":{}}}],["plus",{"_index":989,"title":{},"body":{"changelog.html":{}}}],["point",{"_index":930,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["popup",{"_index":1422,"title":{},"body":{"changelog.html":{}}}],["portal",{"_index":186,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{}}}],["portal's",{"_index":1395,"title":{},"body":{"changelog.html":{}}}],["portalurl",{"_index":929,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["portions",{"_index":1806,"title":{},"body":{"license.html":{}}}],["position",{"_index":1046,"title":{},"body":{"changelog.html":{}}}],["possible",{"_index":1346,"title":{},"body":{"changelog.html":{}}}],["post",{"_index":909,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["preferences",{"_index":1170,"title":{},"body":{"changelog.html":{}}}],["prefix",{"_index":1963,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer",{"_index":1591,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["prefixer('base",{"_index":1857,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('base')('vhbothsexes",{"_index":1874,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('base')('vhfemale",{"_index":1871,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('base')('vhfemaleorgans",{"_index":1876,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('base')('vhmale",{"_index":1872,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('base')('vhmaleorgans",{"_index":1878,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('ccf",{"_index":1926,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('ccf')('has_registration_location",{"_index":1930,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('cl",{"_index":1928,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('cl')('0000000",{"_index":1929,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('dcterms')('created",{"_index":1891,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('dcterms')('creator",{"_index":1887,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('fma",{"_index":1960,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('lmha",{"_index":1961,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdf",{"_index":1983,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdf')('type",{"_index":1984,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs",{"_index":1985,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs')('comment",{"_index":1886,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs')('isdefinedby",{"_index":1987,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs')('label",{"_index":1885,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs')('seealso",{"_index":1989,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('uberon",{"_index":2091,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('uberon')('0013702",{"_index":2092,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixes",{"_index":1592,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["preparation",{"_index":1453,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":1475,"title":{},"body":{"changelog.html":{}}}],["prevent",{"_index":1038,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":1184,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":1309,"title":{},"body":{"changelog.html":{}}}],["previously",{"_index":1088,"title":{},"body":{"changelog.html":{}}}],["priority",{"_index":682,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["private",{"_index":259,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{}}}],["probing",{"_index":113,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["process",{"_index":1437,"title":{},"body":{"changelog.html":{}}}],["processed",{"_index":1386,"title":{},"body":{"changelog.html":{}}}],["processing",{"_index":1171,"title":{},"body":{"changelog.html":{}}}],["production",{"_index":1075,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":1055,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":1442,"title":{},"body":{"changelog.html":{}}}],["projects",{"_index":1719,"title":{},"body":{"index.html":{}}}],["projects/.../ccf",{"_index":1841,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../hubmap",{"_index":1840,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../ontology",{"_index":1846,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../origin",{"_index":1837,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../patch",{"_index":1844,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../prefixes.ts",{"_index":1843,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../probing",{"_index":1838,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../spatial",{"_index":1847,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../tissue",{"_index":1845,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/ccf",{"_index":6,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":261,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/SearchResultJson.html":{}}}],["promise(r",{"_index":369,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["promise.all",{"_index":344,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["promise.all(ops",{"_index":340,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["properties",{"_index":13,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["property",{"_index":2171,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prostate_gland",{"_index":2073,"title":{},"body":{"miscellaneous/variables.html":{}}}],["provided",{"_index":317,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{},"license.html":{}}}],["provider",{"_index":58,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["provider_name",{"_index":2102,"title":{},"body":{"miscellaneous/variables.html":{}}}],["provider_uuid",{"_index":2104,"title":{},"body":{"miscellaneous/variables.html":{}}}],["providername",{"_index":60,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["providers",{"_index":1110,"title":{},"body":{"changelog.html":{}}}],["provideruuid",{"_index":1940,"title":{},"body":{"miscellaneous/variables.html":{}}}],["public",{"_index":446,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"changelog.html":{}}}],["publish",{"_index":1791,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":1058,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":1814,"title":{},"body":{"license.html":{}}}],["pushed",{"_index":1253,"title":{},"body":{"changelog.html":{}}}],["python",{"_index":961,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["qs",{"_index":1698,"title":{},"body":{"dependencies.html":{}}}],["quad",{"_index":201,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["quad.object.id",{"_index":560,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["qualitative",{"_index":1399,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":1111,"title":{},"body":{"changelog.html":{}}}],["queried",{"_index":21,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["queries",{"_index":127,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"dependencies.html":{}}}],["queries/aggregate",{"_index":217,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["queries/find",{"_index":219,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["queries/ontology",{"_index":223,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["queries/spatial",{"_index":229,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["queries/tissue",{"_index":231,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["query",{"_index":10,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["querying",{"_index":922,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["quickly",{"_index":1379,"title":{},"body":{"changelog.html":{}}}],["r",{"_index":534,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["r.json",{"_index":900,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["r.text",{"_index":322,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["r[0",{"_index":607,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["r[1",{"_index":609,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["r[2",{"_index":611,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["radius",{"_index":122,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["range",{"_index":130,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["ranking",{"_index":803,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["ratio",{"_index":605,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["rc.1",{"_index":1405,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":177,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["rdf.type",{"_index":551,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["rdfjs",{"_index":1617,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":1646,"title":{},"body":{"dependencies.html":{}}}],["rdfs",{"_index":144,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rdfs:comment",{"_index":2095,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rdfs:label",{"_index":2094,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rdfxml",{"_index":1700,"title":{},"body":{"dependencies.html":{}}}],["readable",{"_index":43,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"dependencies.html":{}}}],["readquads",{"_index":510,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["readquads(store",{"_index":557,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ready",{"_index":27,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["real",{"_index":1419,"title":{},"body":{"changelog.html":{}}}],["record",{"_index":556,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"miscellaneous/typealiases.html":{}}}],["rectify",{"_index":1093,"title":{},"body":{"changelog.html":{}}}],["red",{"_index":1582,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["reduce",{"_index":837,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["reduce((acc",{"_index":702,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["reduction",{"_index":1029,"title":{},"body":{"changelog.html":{}}}],["reference",{"_index":426,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SpatialObjectReference.html":{},"changelog.html":{},"index.html":{}}}],["reference_organ",{"_index":670,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/variables.html":{}}}],["references",{"_index":547,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["refernced",{"_index":1129,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":1210,"title":{},"body":{"changelog.html":{}}}],["regions",{"_index":1478,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":1666,"title":{},"body":{"dependencies.html":{}}}],["registered",{"_index":1089,"title":{},"body":{"changelog.html":{}}}],["registration",{"_index":1121,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["registrations",{"_index":1234,"title":{},"body":{"changelog.html":{}}}],["related",{"_index":1278,"title":{},"body":{"changelog.html":{}}}],["relative",{"_index":118,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["release",{"_index":956,"title":{},"body":{"changelog.html":{}}}],["reliability",{"_index":1321,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":1180,"title":{},"body":{"changelog.html":{}}}],["removed",{"_index":1157,"title":{},"body":{"changelog.html":{}}}],["removes",{"_index":1277,"title":{},"body":{"changelog.html":{}}}],["replace",{"_index":2029,"title":{},"body":{"miscellaneous/variables.html":{}}}],["repository",{"_index":1716,"title":{},"body":{"index.html":{}}}],["representation_of",{"_index":669,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/variables.html":{}}}],["representative",{"_index":66,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["represents",{"_index":781,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["requested",{"_index":383,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["requestinit",{"_index":891,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["required",{"_index":1367,"title":{},"body":{"changelog.html":{}}}],["res",{"_index":893,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["res!.hits.hits",{"_index":914,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["res.ok",{"_index":897,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["res.text",{"_index":895,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["resets",{"_index":1212,"title":{},"body":{"changelog.html":{}}}],["resolved",{"_index":1258,"title":{},"body":{"changelog.html":{}}}],["resolving",{"_index":275,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["respiratory_system",{"_index":1992,"title":{},"body":{"miscellaneous/variables.html":{}}}],["respond",{"_index":1203,"title":{},"body":{"changelog.html":{}}}],["response",{"_index":361,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["restriction",{"_index":1786,"title":{},"body":{"license.html":{}}}],["result",{"_index":11,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["results",{"_index":159,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["results.map(res",{"_index":913,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["return",{"_index":287,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{}}}],["returns",{"_index":274,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{}}}],["reverse",{"_index":2107,"title":{},"body":{"miscellaneous/variables.html":{}}}],["reversemapping",{"_index":1552,"title":{},"body":{"coverage.html":{}}}],["reversemapping(ccf.spatialentity",{"_index":2351,"title":{},"body":{"miscellaneous/variables.html":{}}}],["reversemapping(ccf.spatialobjectreference",{"_index":2350,"title":{},"body":{"miscellaneous/variables.html":{}}}],["reversemapping(ccf.spatialplacement",{"_index":2352,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rgb",{"_index":1682,"title":{},"body":{"dependencies.html":{}}}],["right",{"_index":801,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["right_bronchus",{"_index":2002,"title":{},"body":{"miscellaneous/variables.html":{}}}],["right_lung",{"_index":1998,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rights",{"_index":1788,"title":{},"body":{"license.html":{}}}],["rk",{"_index":2194,"title":{},"body":{"miscellaneous/variables.html":{}}}],["root",{"_index":154,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["rotates",{"_index":1182,"title":{},"body":{"changelog.html":{}}}],["rotation",{"_index":824,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["rotation_order",{"_index":612,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["rotation_units",{"_index":614,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["rotations",{"_index":828,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["round",{"_index":1307,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":1325,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":1014,"title":{},"body":{"changelog.html":{}}}],["rti",{"_index":2249,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ru/common",{"_index":1599,"title":{},"body":{"dependencies.html":{}}}],["rui",{"_index":242,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["rui_location",{"_index":94,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["rui_locations.jsonld",{"_index":1044,"title":{},"body":{"changelog.html":{}}}],["rui_rank",{"_index":806,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["rxjs",{"_index":1703,"title":{},"body":{"dependencies.html":{}}}],["s",{"_index":403,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["s.sex",{"_index":697,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["s[0",{"_index":599,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["s[1",{"_index":601,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["s[2",{"_index":603,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["sample",{"_index":71,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{}}}],["sample_category",{"_index":871,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["sample_type",{"_index":2110,"title":{},"body":{"miscellaneous/variables.html":{}}}],["samples",{"_index":1245,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["sampletype",{"_index":72,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["saved",{"_index":921,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["saver",{"_index":1672,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":1443,"title":{},"body":{"changelog.html":{}}}],["scale",{"_index":753,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scaling",{"_index":822,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["scaling_units",{"_index":604,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["scene",{"_index":211,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["scene.ts",{"_index":623,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["scene.ts:130",{"_index":649,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:149",{"_index":639,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:156",{"_index":658,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:198",{"_index":654,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:38",{"_index":635,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:42",{"_index":660,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:45",{"_index":645,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:48",{"_index":642,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:51",{"_index":637,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:54",{"_index":648,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:58",{"_index":647,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:75",{"_index":651,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:95",{"_index":653,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scenegraph",{"_index":674,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scenegraphnode",{"_index":675,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scenenode",{"_index":711,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scenes",{"_index":257,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["scheduled",{"_index":1259,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":1445,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["schemes",{"_index":1400,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":1763,"title":{},"body":{"index.html":{}}}],["script_fields",{"_index":884,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["search",{"_index":111,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["search(filter",{"_index":389,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["searchableitem",{"_index":98,"title":{"interfaces/SearchableItem.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["searched",{"_index":97,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["searches",{"_index":992,"title":{},"body":{"changelog.html":{}}}],["searchhubmap",{"_index":212,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["searchhubmap(dataurl",{"_index":938,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["searchresultjson",{"_index":831,"title":{"interfaces/SearchResultJson.html":{}},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["section",{"_index":69,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["section_count",{"_index":2112,"title":{},"body":{"miscellaneous/variables.html":{}}}],["section_number",{"_index":2118,"title":{},"body":{"miscellaneous/variables.html":{}}}],["section_size",{"_index":2114,"title":{},"body":{"miscellaneous/variables.html":{}}}],["section_units",{"_index":2116,"title":{},"body":{"miscellaneous/variables.html":{}}}],["sectioncount",{"_index":84,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["sectionnumber",{"_index":79,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["sections",{"_index":76,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["sectionsize",{"_index":87,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["sectionunits",{"_index":91,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["see",{"_index":1017,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["seealso",{"_index":1988,"title":{},"body":{"miscellaneous/variables.html":{}}}],["select",{"_index":1156,"title":{},"body":{"changelog.html":{}}}],["selected",{"_index":1001,"title":{},"body":{"changelog.html":{}}}],["selecting",{"_index":1050,"title":{},"body":{"changelog.html":{}}}],["selector",{"_index":1048,"title":{},"body":{"changelog.html":{}}}],["selects",{"_index":1462,"title":{},"body":{"changelog.html":{}}}],["sell",{"_index":1795,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":1474,"title":{},"body":{"changelog.html":{}}}],["sennet",{"_index":1069,"title":{},"body":{"changelog.html":{}}}],["sequence",{"_index":75,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["serialize",{"_index":374,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["serialized",{"_index":316,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["serializeddb",{"_index":299,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["serializen3store",{"_index":202,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["serializen3store(this.store",{"_index":375,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["server",{"_index":1448,"title":{},"body":{"changelog.html":{}}}],["service",{"_index":185,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["servicetoken",{"_index":925,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["servicetype",{"_index":919,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["set",{"_index":107,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["set(['van0003",{"_index":2181,"title":{},"body":{"miscellaneous/variables.html":{}}}],["setmany",{"_index":191,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["settimeout(r",{"_index":370,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["settle",{"_index":368,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["setup",{"_index":1230,"title":{},"body":{"changelog.html":{}}}],["sex",{"_index":99,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["sexes",{"_index":1357,"title":{},"body":{"changelog.html":{}}}],["shall",{"_index":1803,"title":{},"body":{"license.html":{}}}],["shared",{"_index":1173,"title":{},"body":{"changelog.html":{}}}],["shortest",{"_index":507,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"dependencies.html":{}}}],["shortestpath",{"_index":506,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["shortestpath(this.graph",{"_index":571,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["show",{"_index":1206,"title":{},"body":{"changelog.html":{}}}],["showing",{"_index":1385,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":1394,"title":{},"body":{"changelog.html":{}}}],["shows",{"_index":1114,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":802,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["sides",{"_index":1359,"title":{},"body":{"changelog.html":{}}}],["significant",{"_index":1215,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":1139,"title":{},"body":{"changelog.html":{}}}],["simplifies",{"_index":1228,"title":{},"body":{"changelog.html":{}}}],["sites",{"_index":776,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["sizable",{"_index":1320,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":85,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["skin",{"_index":2075,"title":{},"body":{"miscellaneous/variables.html":{}}}],["skinnodes",{"_index":706,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["skinnodes.length",{"_index":718,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["skinnodes.push(scenenode",{"_index":717,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["slice_count",{"_index":812,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["slice_thickness",{"_index":811,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["slices",{"_index":809,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["slider",{"_index":1690,"title":{},"body":{"dependencies.html":{}}}],["slightly",{"_index":1091,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":1241,"title":{},"body":{"changelog.html":{}}}],["small",{"_index":365,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["small_intestine",{"_index":2077,"title":{},"body":{"miscellaneous/variables.html":{}}}],["software",{"_index":1721,"title":{},"body":{"index.html":{},"license.html":{}}}],["solved",{"_index":1315,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":1376,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":1062,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":1237,"title":{},"body":{"changelog.html":{}}}],["source",{"_index":4,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["source.ccf_annotations",{"_index":765,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.dimension_units",{"_index":757,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.endswith('n3",{"_index":353,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.endswith('owl",{"_index":356,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.endswith('rdf",{"_index":355,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.endswith('xml",{"_index":357,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.entityid",{"_index":764,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.includes('jsonld",{"_index":349,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.label",{"_index":770,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.object",{"_index":747,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.object?.file",{"_index":768,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.object?.file_subpath",{"_index":769,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.object['@id",{"_index":748,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.reference_organ",{"_index":767,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.representation_of",{"_index":766,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.startswith('assets",{"_index":348,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.startswith('http",{"_index":347,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.x_dimension",{"_index":758,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.y_dimension",{"_index":759,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.z_dimension].map(dim",{"_index":760,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source?.object?.file_format?.startswith('model/gltf",{"_index":745,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source['@id",{"_index":578,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["sourceid",{"_index":746,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["sourceiri",{"_index":498,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["sources",{"_index":175,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["sources.map(async",{"_index":345,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["sources.push(ccfowlurl",{"_index":327,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["sources.push(this.options.hubmapdataurl",{"_index":330,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["sp",{"_index":2261,"title":{},"body":{"miscellaneous/variables.html":{}}}],["sparc",{"_index":1233,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":971,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":92,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["spatialentity",{"_index":233,"title":{"interfaces/SpatialEntity.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialentitydimensions",{"_index":1557,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialentityid",{"_index":95,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["spatialobjectreference",{"_index":550,"title":{"interfaces/SpatialObjectReference.html":{}},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialplacement",{"_index":514,"title":{"interfaces/SpatialPlacement.html":{}},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialplacementcommon",{"_index":820,"title":{"interfaces/SpatialPlacementCommon.html":{}},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{}}}],["spatialscenegeometry",{"_index":661,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["spatialscenenode",{"_index":210,"title":{"interfaces/SpatialSceneNode.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["spatialsearch",{"_index":115,"title":{"interfaces/SpatialSearch.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["spatialsearches",{"_index":135,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["spec",{"_index":195,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["spec.yaml",{"_index":1744,"title":{},"body":{"index.html":{}}}],["specific",{"_index":1107,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["specification",{"_index":110,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"index.html":{}}}],["specifies",{"_index":795,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["speed",{"_index":1026,"title":{},"body":{"changelog.html":{}}}],["sphere",{"_index":114,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["spinal",{"_index":1009,"title":{},"body":{"changelog.html":{}}}],["spinning",{"_index":1446,"title":{},"body":{"changelog.html":{}}}],["spleen",{"_index":2079,"title":{},"body":{"miscellaneous/variables.html":{}}}],["sprint",{"_index":1262,"title":{},"body":{"changelog.html":{}}}],["stage",{"_index":1297,"title":{},"body":{"changelog.html":{}}}],["staging",{"_index":1076,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["standalone",{"_index":1311,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":74,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["standards",{"_index":1450,"title":{},"body":{"changelog.html":{}}}],["stanford",{"_index":2243,"title":{},"body":{"miscellaneous/variables.html":{}}}],["star2",{"_index":1725,"title":{},"body":{"index.html":{}}}],["start",{"_index":291,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["started",{"_index":941,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["starts",{"_index":1493,"title":{},"body":{"changelog.html":{}}}],["starttime",{"_index":466,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["startup",{"_index":1226,"title":{},"body":{"changelog.html":{}}}],["statements",{"_index":1495,"title":{},"body":{"coverage.html":{}}}],["static",{"_index":184,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["statically",{"_index":920,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["status",{"_index":25,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["stay",{"_index":1491,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":1248,"title":{},"body":{"changelog.html":{}}}],["store",{"_index":203,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{}}}],["store(undefined",{"_index":266,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["store.forsubjects((subject",{"_index":548,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["stored_fields",{"_index":883,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["storestring",{"_index":320,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["stories",{"_index":1440,"title":{},"body":{"changelog.html":{}}}],["stream",{"_index":1702,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":1701,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":16,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["string|jsonld",{"_index":244,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["structure",{"_index":797,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["structures",{"_index":703,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["styles",{"_index":1470,"title":{},"body":{"changelog.html":{}}}],["styling",{"_index":1136,"title":{},"body":{"changelog.html":{}}}],["subject",{"_index":1800,"title":{},"body":{"license.html":{}}}],["sublicense",{"_index":1793,"title":{},"body":{"license.html":{}}}],["subpath",{"_index":779,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["substantial",{"_index":1805,"title":{},"body":{"license.html":{}}}],["successfully",{"_index":477,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["such",{"_index":970,"title":{},"body":{"changelog.html":{}}}],["support",{"_index":974,"title":{},"body":{"changelog.html":{}}}],["swiper",{"_index":1706,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":521,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["switched",{"_index":1328,"title":{},"body":{"changelog.html":{}}}],["sync",{"_index":1183,"title":{},"body":{"changelog.html":{}}}],["synchronize",{"_index":363,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["synonym",{"_index":148,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["synonymlabels",{"_index":150,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["syntax",{"_index":1973,"title":{},"body":{"miscellaneous/variables.html":{}}}],["t",{"_index":530,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["t[0",{"_index":617,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["t[1",{"_index":619,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["t[2",{"_index":621,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["table",{"_index":1598,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":1084,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":1597,"title":{},"body":{"coverage.html":{}}}],["tagging",{"_index":1361,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":1104,"title":{},"body":{"changelog.html":{}}}],["taken",{"_index":39,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["target",{"_index":119,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["target['@id",{"_index":751,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["targetiri",{"_index":441,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["technologies",{"_index":134,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["technology",{"_index":63,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["telemetry",{"_index":1176,"title":{},"body":{"changelog.html":{}}}],["term",{"_index":224,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["terms",{"_index":105,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["test",{"_index":1426,"title":{},"body":{"changelog.html":{}}}],["testing",{"_index":1366,"title":{},"body":{"changelog.html":{}}}],["testinggroup",{"_index":2237,"title":{},"body":{"miscellaneous/variables.html":{}}}],["text",{"_index":664,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["text.startswith('https",{"_index":898,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["th",{"_index":2279,"title":{},"body":{"miscellaneous/variables.html":{}}}],["theme",{"_index":1070,"title":{},"body":{"changelog.html":{}}}],["themes",{"_index":1068,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":1065,"title":{},"body":{"changelog.html":{}}}],["then((jsonld",{"_index":337,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["then(async",{"_index":469,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["thickness",{"_index":807,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["this.adddatasources([jsonld",{"_index":338,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.addedge(quad.subject.id",{"_index":562,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.addnode(subject.id",{"_index":549,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.cachedconnect",{"_index":284,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.connect",{"_index":460,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.creategraph",{"_index":545,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.database.connect",{"_index":468,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.database.getaggregateresults",{"_index":476,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.database.getscene",{"_index":473,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.database.gettissueblockresults",{"_index":474,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.db.getspatialentities(filter",{"_index":737,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.db.getspatialentities(filter).map((entity",{"_index":742,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.db.graph.gettransformationmatrix(sourceid",{"_index":750,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.db.store",{"_index":546,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.deserialize(serializeddb",{"_index":305,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.doconnect",{"_index":285,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.get(s",{"_index":391,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.getanatomicalstructures(o['@id",{"_index":701,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getentityscenenodes(filter",{"_index":772,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getids(filter)].map((s",{"_index":390,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.getreferencebody(filter",{"_index":705,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getreferenceorgans",{"_index":695,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getreferenceorgans().filter((o",{"_index":731,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getreferenceorgansets(filter).map((organ",{"_index":707,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getreferencescenenodes(filter",{"_index":771,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(entity",{"_index":739,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(organ",{"_index":712,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.base('vhleftkidney').id",{"_index":724,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.base('vhrightkidney').id",{"_index":722,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.base('vhspleencc1').id",{"_index":725,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.base('vhspleencc2').id",{"_index":726,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.base('vhspleencc3').id",{"_index":727,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getspatialentity(bodyid",{"_index":693,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.gettransformationmatrix(placement.target",{"_index":583,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.gettransformationmatrix(sourceiri",{"_index":585,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph",{"_index":268,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["this.graph.creategraph",{"_index":372,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.graph.getedgeattribute(source",{"_index":575,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.getspatialplacement(source",{"_index":442,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.graph.hasnode(placement.target",{"_index":582,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.hasnode(source['@id",{"_index":577,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.hasnode(sourceiri",{"_index":567,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.hasnode(targetiri",{"_index":568,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.mergedirectededge(source",{"_index":564,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.mergenode(id",{"_index":563,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.initializing",{"_index":283,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.loadtime",{"_index":465,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.message",{"_index":461,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.options",{"_index":282,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.ccfowlurl",{"_index":314,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.datasources?.concat",{"_index":313,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapassetsurl",{"_index":335,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapdataservice",{"_index":332,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapdataurl",{"_index":328,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapdataurl.endswith('jsonld",{"_index":329,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapportalurl",{"_index":336,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapquery",{"_index":333,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmaptoken",{"_index":334,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.scene",{"_index":270,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.scene.getreferenceorgans",{"_index":429,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.scene.getreferenceorganscene(organiri",{"_index":439,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.scene.getscene(filter",{"_index":435,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.serialize",{"_index":306,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.status",{"_index":405,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{}}}],["this.status.tojson",{"_index":407,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.store",{"_index":264,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.store.getquads(datafactory.namednode(id",{"_index":385,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.store.size",{"_index":288,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.synchronize",{"_index":341,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["through",{"_index":1378,"title":{},"body":{"changelog.html":{}}}],["thumbnail",{"_index":67,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["thumbnails",{"_index":1272,"title":{},"body":{"changelog.html":{}}}],["thymus",{"_index":2081,"title":{},"body":{"miscellaneous/variables.html":{}}}],["tied",{"_index":1275,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":1387,"title":{},"body":{"changelog.html":{}}}],["time",{"_index":38,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["timeouts",{"_index":1039,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":1030,"title":{},"body":{"changelog.html":{}}}],["tissue",{"_index":68,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["tissueblock",{"_index":1946,"title":{},"body":{"miscellaneous/variables.html":{}}}],["tissueblockresult",{"_index":82,"title":{"interfaces/TissueBlockResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["tissueblockresultset",{"_index":1565,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["tissues",{"_index":433,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["tissuesection",{"_index":1948,"title":{},"body":{"miscellaneous/variables.html":{}}}],["tissuesectionresult",{"_index":70,"title":{"interfaces/TissueSectionResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["tissuesectionresultset",{"_index":1566,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["tmc",{"_index":133,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["todegrees",{"_index":501,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["toggle",{"_index":1066,"title":{},"body":{"changelog.html":{}}}],["tojson",{"_index":449,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["token",{"_index":188,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["tool",{"_index":1312,"title":{},"body":{"changelog.html":{}}}],["tooltip",{"_index":681,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["toradians",{"_index":502,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["tort",{"_index":1826,"title":{},"body":{"license.html":{}}}],["total",{"_index":836,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["totalcount",{"_index":910,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["trachea",{"_index":2015,"title":{},"body":{"miscellaneous/variables.html":{}}}],["tracker",{"_index":237,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["tracker.ts",{"_index":445,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"coverage.html":{}}}],["tracker.ts:10",{"_index":455,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:14",{"_index":459,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:23",{"_index":458,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:6",{"_index":457,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:7",{"_index":456,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:8",{"_index":453,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracking/telemetry",{"_index":1196,"title":{},"body":{"changelog.html":{}}}],["transform",{"_index":749,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["transform.scale(scale",{"_index":763,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["transformmatrix",{"_index":680,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["translation",{"_index":829,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["translation_units",{"_index":622,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["transparency",{"_index":1313,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":1332,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":151,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["treeify",{"_index":1549,"title":{},"body":{"coverage.html":{}}}],["triple",{"_index":204,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{}}}],["true",{"_index":276,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{}}}],["try",{"_index":892,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["ts",{"_index":1708,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":1711,"title":{},"body":{"dependencies.html":{}}}],["tuned",{"_index":1492,"title":{},"body":{"changelog.html":{}}}],["turn",{"_index":1295,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":1279,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":1276,"title":{},"body":{"changelog.html":{}}}],["tutorial",{"_index":1159,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":1398,"title":{},"body":{"changelog.html":{}}}],["tx",{"_index":569,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["tx.translate(t).rotatexyz(r).scale(s",{"_index":541,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["type",{"_index":19,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":1835,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typeof",{"_index":346,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["types",{"_index":234,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["types.ts",{"_index":774,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{}}}],["types/lru",{"_index":1647,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":398,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":1458,"title":{},"body":{"changelog.html":{}}}],["uberon",{"_index":1593,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["uberon.body",{"_index":1990,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000029",{"_index":2026,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000056",{"_index":2006,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000059",{"_index":2058,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000079",{"_index":2024,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000178",{"_index":2020,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000947",{"_index":2018,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000948",{"_index":2048,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000955",{"_index":2038,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000970",{"_index":2008,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000992",{"_index":2014,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000995",{"_index":2090,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001004",{"_index":1993,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001155",{"_index":1995,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001222",{"_index":2086,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001223",{"_index":2084,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001255",{"_index":2088,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001264",{"_index":2070,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001270",{"_index":2072,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001302",{"_index":2046,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001303",{"_index":2044,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001465",{"_index":2012,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002048",{"_index":2062,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002097",{"_index":2076,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002106",{"_index":2080,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002107",{"_index":2060,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002108",{"_index":2078,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002113",{"_index":2004,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002167",{"_index":1999,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002168",{"_index":1997,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002177",{"_index":2003,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002178",{"_index":2001,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002367",{"_index":2074,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002370",{"_index":2082,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002371",{"_index":2022,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002509",{"_index":2064,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0003126",{"_index":2016,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0003889",{"_index":2010,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0004537",{"_index":2036,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0004538",{"_index":2050,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0004539",{"_index":2052,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0004548",{"_index":2040,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uconn",{"_index":2257,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ucsd",{"_index":2225,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ufl",{"_index":1271,"title":{},"body":{"changelog.html":{}}}],["ufl_thumbs",{"_index":1519,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["ui",{"_index":1100,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["ui.netlify.app",{"_index":1728,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":1738,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":1735,"title":{},"body":{"index.html":{}}}],["ui/organ",{"_index":1737,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":1736,"title":{},"body":{"index.html":{}}}],["uis",{"_index":958,"title":{},"body":{"changelog.html":{}}}],["undefined",{"_index":298,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{}}}],["unique",{"_index":409,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["units",{"_index":88,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["university",{"_index":1766,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":245,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{}}}],["unnecessary",{"_index":1179,"title":{},"body":{"changelog.html":{}}}],["unpickable",{"_index":671,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["unselect",{"_index":1243,"title":{},"body":{"changelog.html":{}}}],["until",{"_index":1281,"title":{},"body":{"changelog.html":{}}}],["up",{"_index":471,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"changelog.html":{}}}],["update",{"_index":978,"title":{},"body":{"changelog.html":{}}}],["updated",{"_index":951,"title":{},"body":{"changelog.html":{}}}],["updated_date",{"_index":1892,"title":{},"body":{"miscellaneous/variables.html":{}}}],["updates",{"_index":1013,"title":{},"body":{"changelog.html":{}}}],["upgraded",{"_index":1383,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":1463,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":1200,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":1308,"title":{},"body":{"changelog.html":{}}}],["ureter",{"_index":2005,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ureter_left",{"_index":2083,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ureter_right",{"_index":2085,"title":{},"body":{"miscellaneous/variables.html":{}}}],["urinary_bladder",{"_index":2087,"title":{},"body":{"miscellaneous/variables.html":{}}}],["url",{"_index":51,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["usage",{"_index":959,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":1751,"title":{},"body":{"index.html":{}}}],["use",{"_index":924,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["usecase",{"_index":1756,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":1753,"title":{},"body":{"index.html":{}}}],["used",{"_index":64,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["user",{"_index":945,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["user/os",{"_index":1169,"title":{},"body":{"changelog.html":{}}}],["users",{"_index":1481,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":1186,"title":{},"body":{"changelog.html":{}}}],["using",{"_index":1142,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["uterus",{"_index":2089,"title":{},"body":{"miscellaneous/variables.html":{}}}],["util.prefixes(prefixes",{"_index":1962,"title":{},"body":{"miscellaneous/variables.html":{}}}],["util/ccf",{"_index":236,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["util/enrich",{"_index":241,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["util/patch",{"_index":239,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["util/prefixes",{"_index":515,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["utilities",{"_index":1174,"title":{},"body":{"changelog.html":{}}}],["utils",{"_index":205,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{}}}],["uuid",{"_index":513,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["uuidv4",{"_index":512,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["v1.1",{"_index":1085,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":967,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":957,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":1294,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":1087,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":1079,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":1041,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":1007,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":979,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":1018,"title":{},"body":{"changelog.html":{}}}],["v2.0",{"_index":2164,"title":{},"body":{"miscellaneous/variables.html":{}}}],["v2.1.0",{"_index":965,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":953,"title":{},"body":{"changelog.html":{}}}],["v3",{"_index":981,"title":{},"body":{"changelog.html":{}}}],["v4",{"_index":511,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["validresponse",{"_index":896,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["value",{"_index":20,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["van0003",{"_index":2185,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0005",{"_index":2193,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0006",{"_index":2196,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0007",{"_index":2198,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0008",{"_index":2201,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0009",{"_index":2203,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0010",{"_index":2206,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0011",{"_index":2209,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0012",{"_index":2210,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0013",{"_index":2212,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0014",{"_index":2216,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0016",{"_index":2218,"title":{},"body":{"miscellaneous/variables.html":{}}}],["vanderbilt",{"_index":2241,"title":{},"body":{"miscellaneous/variables.html":{}}}],["variable",{"_index":1503,"title":{},"body":{"coverage.html":{}}}],["variables",{"_index":1842,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["version",{"_index":882,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{}}}],["very",{"_index":1373,"title":{},"body":{"changelog.html":{}}}],["via",{"_index":112,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["video",{"_index":1201,"title":{},"body":{"changelog.html":{}}}],["view",{"_index":1185,"title":{},"body":{"changelog.html":{}}}],["viewer",{"_index":1265,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":998,"title":{},"body":{"changelog.html":{}}}],["views",{"_index":1188,"title":{},"body":{"changelog.html":{}}}],["visible",{"_index":754,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["visual",{"_index":996,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":1235,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":1384,"title":{},"body":{"changelog.html":{}}}],["vocab",{"_index":2093,"title":{},"body":{"miscellaneous/variables.html":{}}}],["void",{"_index":309,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["vs",{"_index":1154,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":1488,"title":{},"body":{"changelog.html":{}}}],["w",{"_index":825,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["w_rotation",{"_index":826,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["wait",{"_index":31,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["walkthrough",{"_index":1752,"title":{},"body":{"index.html":{}}}],["warm",{"_index":470,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["warming",{"_index":1036,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":1407,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":1810,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1807,"title":{},"body":{"license.html":{}}}],["web",{"_index":1034,"title":{},"body":{"changelog.html":{}}}],["webcomponent",{"_index":1153,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":1649,"title":{},"body":{"dependencies.html":{}}}],["webpages",{"_index":1103,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":1723,"title":{},"body":{"index.html":{}}}],["week",{"_index":1494,"title":{},"body":{"changelog.html":{}}}],["whether",{"_index":1823,"title":{},"body":{"license.html":{}}}],["whole",{"_index":1490,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":1205,"title":{},"body":{"changelog.html":{}}}],["wireframe",{"_index":663,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["within",{"_index":1269,"title":{},"body":{"changelog.html":{}}}],["without",{"_index":1119,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["workflows",{"_index":1334,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":1092,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":1350,"title":{},"body":{"changelog.html":{}}}],["x",{"_index":116,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["x_dimension",{"_index":814,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["x_rotation",{"_index":606,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["x_scaling",{"_index":598,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["x_translation",{"_index":616,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["xml",{"_index":178,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["xyz",{"_index":613,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["y",{"_index":120,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["y_dimension",{"_index":815,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["y_rotation",{"_index":608,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["y_scaling",{"_index":600,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["y_translation",{"_index":618,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["yes",{"_index":640,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["youtube",{"_index":1124,"title":{},"body":{"changelog.html":{}}}],["z",{"_index":121,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["z_dimension",{"_index":816,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["z_rotation",{"_index":610,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["z_scaling",{"_index":602,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["z_translation",{"_index":620,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["zone.js",{"_index":1713,"title":{},"body":{"dependencies.html":{}}}],["zoombasedopacity",{"_index":676,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["zoomtoonload",{"_index":677,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}]],"pipeline":["stemmer"]}, - "store": {"interfaces/AggregateResult.html":{"url":"interfaces/AggregateResult.html","title":"interface - AggregateResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AggregateResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Aggregate query result\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n count\n \n \n \n \n label\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n count\n \n \n \n \n \n \n \n \n count: string | number\n\n \n \n\n\n \n \n Type : string | number\n\n \n \n\n\n\n\n\n \n \n Aggregate value\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Queried field\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CCFDatabaseOptions.html":{"url":"interfaces/CCFDatabaseOptions.html","title":"interface - CCFDatabaseOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CCFDatabaseOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/ccf-database.ts\n \n\n\n \n Description\n \n \n Database initialization options.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ccfContextUrl\n \n \n \n \n ccfOwlUrl\n \n \n \n \n dataSources\n \n \n \n \n hubmapAssetsUrl\n \n \n \n \n hubmapDataService\n \n \n \n \n hubmapDataUrl\n \n \n \n \n hubmapPortalUrl\n \n \n \n Optional\n \n hubmapQuery\n \n \n \n Optional\n \n hubmapToken\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ccfContextUrl\n \n \n \n \n \n \n \n \n ccfContextUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Context.\n\n \n \n \n \n \n \n \n \n \n ccfOwlUrl\n \n \n \n \n \n \n \n \n ccfOwlUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n A url to load data from.\n\n \n \n \n \n \n \n \n \n \n dataSources\n \n \n \n \n \n \n \n \n dataSources: (string | JsonLd)[]\n\n \n \n\n\n \n \n Type : (string | JsonLd)[]\n\n \n \n\n\n\n\n\n \n \n A list of data sources (in n3, rdf, xml, owl, or jsonld format)\n\n \n \n \n \n \n \n \n \n \n hubmapAssetsUrl\n \n \n \n \n \n \n \n \n hubmapAssetsUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Hubmap assets api url.\n\n \n \n \n \n \n \n \n \n \n hubmapDataService\n \n \n \n \n \n \n \n \n hubmapDataService: \"static\" | \"search-api\"\n\n \n \n\n\n \n \n Type : \"static\" | \"search-api\"\n\n \n \n\n\n\n\n\n \n \n Data service type.\n\n \n \n \n \n \n \n \n \n \n hubmapDataUrl\n \n \n \n \n \n \n \n \n hubmapDataUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Hubmap data url.\n\n \n \n \n \n \n \n \n \n \n hubmapPortalUrl\n \n \n \n \n \n \n \n \n hubmapPortalUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Hubmap Portal url.\n\n \n \n \n \n \n \n \n \n \n hubmapQuery\n \n \n \n \n \n \n \n \n hubmapQuery: \n\n \n \n\n\n\n \n \n Optional\n \n \n\n\n\n\n \n \n HuBMAP Elastic Search Query\n\n \n \n \n \n \n \n \n \n \n hubmapToken\n \n \n \n \n \n \n \n \n hubmapToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n HuBMAP Service Token.\n\n \n \n \n \n \n \n\n\n \n import { delMany, get, setMany } from 'idb-keyval';\nimport { JsonLd } from 'jsonld/jsonld-spec';\nimport {\n addJsonLdToStore, addN3ToStore, addRdfXmlToStore, DataFactory, deserializeN3Store, Quad, serializeN3Store, Store\n} from 'triple-store-utils';\n\nimport { CCFSpatialGraph } from './ccf-spatial-graph';\nimport { CCFSpatialScene, SpatialSceneNode } from './ccf-spatial-scene';\nimport { searchHubmap } from './hubmap/hubmap-data-import';\nimport { AggregateResult, DatabaseStatus, Filter, OntologyTreeModel, TissueBlockResult } from './interfaces';\nimport { getAggregateResults, getDatasetTechnologyNames, getProviderNames } from './queries/aggregate-results-n3';\nimport { findIds } from './queries/find-ids-n3';\nimport { getCellTypeTermOccurences, getOntologyTermOccurences } from './queries/ontology-term-occurences-n3';\nimport { getAnatomicalStructureTreeModel, getCellTypeTreeModel } from './queries/ontology-tree-n3';\nimport { getSpatialEntityForEntity } from './queries/spatial-result-n3';\nimport { getTissueBlockResult } from './queries/tissue-block-result-n3';\nimport { FlatSpatialPlacement, SpatialEntity } from './spatial-types';\nimport { CCFDatabaseStatusTracker } from './util/ccf-database-status-tracker';\nimport { patchJsonLd } from './util/patch-jsonld';\nimport { enrichRuiLocations } from './util/enrich-rui-locations';\n\n\n/** Database initialization options. */\nexport interface CCFDatabaseOptions {\n /** A url to load data from. */\n ccfOwlUrl: string;\n /** Context. */\n ccfContextUrl: string;\n /** A list of data sources (in n3, rdf, xml, owl, or jsonld format) */\n dataSources: (string|JsonLd)[];\n /** Data service type. */\n hubmapDataService: 'static' | 'search-api';\n /** HuBMAP Elastic Search Query */\n hubmapQuery?: unknown;\n /** Hubmap Portal url. */\n hubmapPortalUrl: string;\n /** Hubmap data url. */\n hubmapDataUrl: string;\n /** Hubmap assets api url. */\n hubmapAssetsUrl: string;\n /** HuBMAP Service Token. */\n hubmapToken?: string;\n}\n\n/** Default initialization options. */\nexport const DEFAULT_CCF_DB_OPTIONS: CCFDatabaseOptions = {\n ccfOwlUrl: 'https://purl.org/ccf/latest/ccf.owl',\n ccfContextUrl: 'https://purl.org/ccf/latest/ccf-context.jsonld',\n dataSources: [],\n hubmapDataService: 'static',\n hubmapPortalUrl: 'https://portal.hubmapconsortium.org/',\n hubmapDataUrl: '',\n hubmapAssetsUrl: 'https://assets.hubmapconsortium.org'\n};\n\n/** Database provider. */\nexport class CCFDatabase {\n /** The triple store. */\n store: Store;\n /** The spatial graph */\n graph: CCFSpatialGraph;\n /** Creates SpatialEntity Scenes */\n scene: CCFSpatialScene;\n /** If the database is initialized */\n private initializing?: Promise;\n\n private status: CCFDatabaseStatusTracker;\n\n /**\n * Creates an instance of ccfdatabase.\n *\n * @param [options] Initialization options.\n */\n constructor(public options: CCFDatabaseOptions = DEFAULT_CCF_DB_OPTIONS) {\n this.store = new Store(undefined, { factory: DataFactory });\n this.graph = new CCFSpatialGraph(this);\n this.scene = new CCFSpatialScene(this);\n }\n\n /**\n * Connects the database.\n *\n * @param [options] Options used to initialize.\n * @returns A promise resolving to true if data has been loaded into the database.\n */\n async connect(options?: CCFDatabaseOptions, cached = false): Promise {\n if (options) {\n this.options = options;\n }\n if (!this.initializing) {\n if (cached) {\n this.initializing = this.cachedConnect();\n } else {\n this.initializing = this.doConnect();\n }\n }\n await this.initializing;\n return this.store.size > 0;\n }\n\n private async cachedConnect(): Promise {\n const start = new Date().getTime();\n const lastModifiedKey = 'ccf-database.last_modified';\n const ccfDatabaseKey = 'ccf-database';\n\n const lastModified = await get(lastModifiedKey).catch(() => undefined);\n let serializedDb: string | undefined;\n\n if (lastModified && start - new Date(+lastModified).getTime() > 60*60*1000) {\n await delMany([ccfDatabaseKey, lastModifiedKey]).catch(() => undefined);\n } else {\n serializedDb = await get(ccfDatabaseKey).catch(() => undefined);\n }\n\n if (serializedDb) {\n await this.deserialize(serializedDb);\n } else {\n await this.doConnect();\n\n setMany([\n [ccfDatabaseKey, this.serialize()],\n [lastModifiedKey, '' + start]\n ]).catch(() => undefined);\n }\n }\n\n /**\n * Actually connects to the database.\n *\n * @returns A promise resolving to void when connected.\n */\n private async doConnect(): Promise {\n const ops: Promise[] = [];\n const sources: (string|JsonLd)[] = this.options.dataSources?.concat() ?? [];\n\n const ccfOwlUrl = this.options.ccfOwlUrl;\n if (ccfOwlUrl.startsWith('{')) {\n // serialized n3 store was provided as the ccfOwlUrl\n this.store = deserializeN3Store(ccfOwlUrl, DataFactory);\n } else if (ccfOwlUrl.endsWith('.n3store.json')) {\n const storeString = await fetch(ccfOwlUrl).then(r => r.text())\n .catch(() => console.log('Couldn\\'t locate serialized store.'));\n if (storeString) {\n this.store = deserializeN3Store(storeString, DataFactory);\n }\n } else if (ccfOwlUrl?.length > 0) {\n sources.push(ccfOwlUrl);\n }\n if (this.options.hubmapDataUrl) {\n if (this.options.hubmapDataUrl.endsWith('jsonld')) {\n sources.push(this.options.hubmapDataUrl);\n } else {\n ops.push(searchHubmap(\n this.options.hubmapDataUrl,\n this.options.hubmapDataService,\n this.options.hubmapQuery,\n this.options.hubmapToken,\n this.options.hubmapAssetsUrl,\n this.options.hubmapPortalUrl\n ).then((jsonld) => {\n if (jsonld) {\n return this.addDataSources([jsonld]);\n } else {\n return undefined;\n }\n }));\n }\n }\n ops.push(this.addDataSources(sources));\n await Promise.all(ops);\n await this.synchronize();\n }\n\n async addDataSources(sources: (string|JsonLd)[], inputStore?: Store): Promise {\n const store: Store = inputStore ?? this.store;\n await Promise.all(\n sources.map(async (source) => {\n if (typeof source === 'string') {\n if ((source.startsWith('http') || source.startsWith('assets/')) && source.includes('jsonld')) {\n source = await fetch(source).then(r => r.text());\n source = patchJsonLd(source as string);\n await addJsonLdToStore(source, store);\n } else if (source.endsWith('n3')) {\n await addN3ToStore(source, store);\n } else if (source.endsWith('rdf') || source.endsWith('owl') || source.endsWith('xml')) {\n await addRdfXmlToStore(source, store);\n } else {\n // Passthrough assumes a JSON-LD response\n source = patchJsonLd(source);\n await addJsonLdToStore(source, store);\n }\n } else {\n source = patchJsonLd(JSON.stringify(source));\n await addJsonLdToStore(source, store);\n }\n })\n );\n return this;\n }\n\n async synchronize(): Promise {\n // Add a small delay to allow the triple store to settle\n await new Promise(r => {\n setTimeout(r, 500);\n });\n this.graph.createGraph();\n enrichRuiLocations(this.store);\n return this;\n }\n\n serialize(): string {\n return serializeN3Store(this.store);\n }\n\n async deserialize(value: string): Promise {\n this.store = deserializeN3Store(value, DataFactory);\n this.graph = new CCFSpatialGraph(this);\n this.scene = new CCFSpatialScene(this);\n await new Promise(r => {\n setTimeout(r, 10);\n });\n }\n\n /**\n * Gets all ids matching the filter.\n *\n * @param [filter] The filter.\n * @returns A set of all matching ids.\n */\n getIds(filter: Filter = {} as Filter): Set {\n return findIds(this.store, this.graph, filter);\n }\n\n /**\n * Gets the data for an object.\n *\n * @param id The id of the requested object.\n * @returns The object data.\n */\n get(id: string): Quad[] {\n return this.store.getQuads(DataFactory.namedNode(id), null, null, null);\n }\n\n /**\n * Gets the data for objects matching a filter.\n *\n * @param [filter] The filter.\n * @returns An array of data.\n */\n search(filter: Filter = {} as Filter): Quad[][] {\n return [...this.getIds(filter)].map((s) => this.get(s));\n }\n\n /**\n * Gets all spatial entities for a filter.\n *\n * @param [filter] The filter.\n * @returns A list of spatial entities.\n */\n getSpatialEntities(filter?: Filter): SpatialEntity[] {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n filter = { ...filter, hasSpatialEntity: true } as Filter;\n return [...this.getIds(filter)].map((s) => getSpatialEntityForEntity(this.store, s) as SpatialEntity);\n }\n\n async getDatabaseStatus(): Promise {\n if (!this.status) {\n this.status = new CCFDatabaseStatusTracker(this);\n }\n return this.status.toJson();\n }\n\n /**\n * Get a list of technology names used by datasets\n *\n * @returns list of unique technology names in the data\n */\n async getDatasetTechnologyNames(): Promise {\n return getDatasetTechnologyNames(this.store);\n }\n\n /**\n * Get a list of provider names from the database\n *\n * @returns list of unique provider names in the data\n */\n async getProviderNames(): Promise {\n return getProviderNames(this.store);\n }\n\n /**\n * Gets all tissue block results for a filter.\n *\n * @param [filter] The filter.\n * @returns A list of results.\n */\n async getTissueBlockResults(filter?: Filter): Promise {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n filter = { ...filter, hasSpatialEntity: true } as Filter;\n return [...this.getIds(filter)].map((s) => getTissueBlockResult(this.store, s));\n }\n\n /**\n * Gets all aggregate results for a filter.\n *\n * @param [filter] The filter.\n * @returns A list of aggregate data.\n */\n async getAggregateResults(filter?: Filter): Promise {\n return getAggregateResults(this.getIds(filter), this.store);\n }\n\n /**\n * Get number of occurrences of ontology terms for a set of ids.\n *\n * @param [filter] The filter.\n * @returns Ontology term counts.\n */\n async getOntologyTermOccurences(filter?: Filter): Promise> {\n return getOntologyTermOccurences(this.getIds(filter), this.store);\n }\n\n /**\n * Get number of occurrences of cell type terms for a set of ids.\n *\n * @param [filter] The filter.\n * @returns Cell type term counts.\n */\n async getCellTypeTermOccurences(filter?: Filter): Promise> {\n return getCellTypeTermOccurences(this.getIds(filter), this.store);\n }\n\n /**\n * Get ontology term tree nodes\n *\n * @returns Ontology term counts.\n */\n async getOntologyTreeModel(): Promise {\n return getAnatomicalStructureTreeModel(this.store);\n }\n\n /**\n * Get cell type term tree nodes\n *\n * @returns Ontology term counts.\n */\n async getCellTypeTreeModel(): Promise {\n return getCellTypeTreeModel(this.store);\n }\n\n /**\n * Get reference organs\n *\n * @returns Ontology term counts.\n */\n async getReferenceOrgans(): Promise {\n return this.scene.getReferenceOrgans();\n }\n\n /**\n * Get all nodes to form the 3D scene of reference body, organs, and tissues\n *\n * @param [filter] The filter.\n * @returns A list of Spatial Scene Nodes for the 3D Scene\n */\n async getScene(filter?: Filter): Promise {\n this.graph.createGraph();\n return this.scene.getScene(filter);\n }\n\n /**\n * Get all nodes to form the 3D scene of reference organ and tissues\n *\n * @param [organIri] The Reference Organ IRI\n * @param [filter] The filter.\n * @returns A list of Spatial Scene Nodes for the 3D Scene\n */\n async getReferenceOrganScene(organIri: string, filter?: Filter): Promise {\n this.graph.createGraph();\n return this.scene.getReferenceOrganScene(organIri, filter);\n }\n\n async getSpatialPlacement(source: SpatialEntity, targetIri: string): Promise {\n return this.graph.getSpatialPlacement(source, targetIri);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CCFDatabaseStatusTracker.html":{"url":"classes/CCFDatabaseStatusTracker.html","title":"class - CCFDatabaseStatusTracker","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CCFDatabaseStatusTracker\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n database\n \n \n Optional\n loadTime\n \n \n Optional\n message\n \n \n status\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n connect\n \n \n toJson\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(database: CCFDatabase)\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n database\n \n \n CCFDatabase\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n database\n \n \n \n \n \n \n Type : CCFDatabase\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n loadTime\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : \"Ready\" | \"Loading\" | \"Error\"\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n connect\n \n \n \n \n \n \n \n connect()\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:23\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n toJson\n \n \n \n \n \n \ntoJson()\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:14\n \n \n\n\n \n \n\n \n Returns : DatabaseStatus\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DatabaseStatus } from '../interfaces';\nimport { CCFDatabase } from '../ccf-database';\n\n\nexport class CCFDatabaseStatusTracker {\n status: 'Ready' | 'Loading' | 'Error';\n message?: string;\n loadTime?: number;\n\n constructor(public database: CCFDatabase) {\n this.connect();\n }\n\n toJson(): DatabaseStatus {\n return {\n status: this.status,\n message: this.message,\n checkback: this.status === 'Ready' || this.status === 'Error' ? 60 * 60 * 1000 : 2000,\n loadTime: this.loadTime\n };\n }\n\n private connect(): Promise {\n this.status = 'Loading';\n this.message = 'Loading database';\n\n const startTime = Date.now();\n return this.database.connect()\n .then(async (loaded) => {\n if (loaded) {\n // Warm up the database\n this.message = 'Building scene';\n await this.database.getScene();\n this.message = 'Building tissue block results';\n await this.database.getTissueBlockResults();\n this.message = 'Aggregating results';\n await this.database.getAggregateResults();\n this.status = 'Ready';\n this.message = 'Database successfully loaded';\n } else {\n this.status = 'Error';\n this.message = 'Unknown error while loading database';\n }\n })\n .catch((error: { message?: string }) => {\n this.status = 'Error';\n this.message = error?.message ?? 'Unknown error while loading database';\n })\n .finally(() => {\n this.loadTime = Date.now() - startTime;\n });\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CCFSpatialGraph.html":{"url":"classes/CCFSpatialGraph.html","title":"class - CCFSpatialGraph","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CCFSpatialGraph\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/ccf-spatial-graph.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n graph\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addEdge\n \n \n addNode\n \n \n createGraph\n \n \n getSpatialPlacement\n \n \n getTransformationMatrix\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(db: CCFDatabase)\n \n \n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:41\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n db\n \n \n CCFDatabase\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n graph\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:41\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addEdge\n \n \n \n \n \n \naddEdge(id: string, source: string, target: string, type: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n source\n \n string\n \n\n \n No\n \n\n\n \n \n target\n \n string\n \n\n \n No\n \n\n\n \n \n type\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addNode\n \n \n \n \n \n \naddNode(id: string, type: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n type\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n createGraph\n \n \n \n \n \n \ncreateGraph()\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:47\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getSpatialPlacement\n \n \n \n \n \n \ngetSpatialPlacement(source: SpatialEntity, targetIri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:110\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n SpatialEntity\n \n\n \n No\n \n\n\n \n \n targetIri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : FlatSpatialPlacement | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTransformationMatrix\n \n \n \n \n \n \ngetTransformationMatrix(sourceIRI: string, targetIRI: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sourceIRI\n \n string\n \n\n \n No\n \n\n\n \n \n targetIRI\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Matrix4 | undefined\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Euler, Matrix4, toDegrees, toRadians } from '@math.gl/core';\nimport { DirectedGraph } from 'graphology';\nimport shortestPath from 'graphology-shortest-path/unweighted';\nimport { get } from 'lodash';\nimport { readQuads } from 'triple-store-utils';\nimport { v4 as uuidV4 } from 'uuid';\n\nimport { CCFDatabase } from './ccf-database';\nimport { getSpatialPlacement } from './queries/spatial-result-n3';\nimport { FlatSpatialPlacement, SpatialEntity, SpatialPlacement } from './spatial-types';\nimport { ccf, rdf } from './util/prefixes';\n\n\nexport function applySpatialPlacement(tx: Matrix4, placement: SpatialPlacement): Matrix4 {\n const p = placement;\n let factor: number;\n switch (p.translation_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const T = [p.x_translation, p.y_translation, p.z_translation].map(t => t * factor);\n const R = [p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number];\n const S = [p.x_scaling, p.y_scaling, p.z_scaling];\n\n return tx.translate(T).rotateXYZ(R).scale(S);\n}\n\nexport class CCFSpatialGraph {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n graph: any;\n\n constructor(private db: CCFDatabase) {\n this.createGraph();\n }\n\n createGraph(): void {\n this.graph = new DirectedGraph();\n const store = this.db.store;\n\n // Add all Spatial Object References\n store.forSubjects((subject) => {\n this.addNode(subject.id, 'SpatialObjectReference');\n }, rdf.type, ccf.SpatialObjectReference, null);\n\n // Add all Spatial Entities\n store.forSubjects((subject) => {\n this.addNode(subject.id, 'SpatialEntity');\n }, rdf.type, ccf.SpatialEntity, null);\n\n // Add all Spatial Placements\n const edgeSource: Record = {};\n for (const quad of readQuads(store, null, ccf.spatialPlacement.source, null, null)) {\n edgeSource[quad.subject.id] = quad.object.id;\n }\n for (const quad of readQuads(store, null, ccf.spatialPlacement.target, null, null)) {\n const source = edgeSource[quad.subject.id];\n if (source) {\n this.addEdge(quad.subject.id, source, quad.object.id, 'SpatialPlacement');\n }\n }\n }\n\n addNode(id: string, type: string): void {\n this.graph.mergeNode(id, { type });\n }\n\n addEdge(id: string, source: string, target: string, type: string): void {\n this.graph.mergeDirectedEdge(source, target, { type, id });\n }\n\n getTransformationMatrix(sourceIRI: string, targetIRI: string): Matrix4 | undefined {\n if (sourceIRI === targetIRI) {\n return new Matrix4(Matrix4.IDENTITY); // identity\n }\n if (!this.graph.hasNode(sourceIRI) || !this.graph.hasNode(targetIRI)) {\n return undefined;\n }\n\n const store = this.db.store;\n const tx = new Matrix4(Matrix4.IDENTITY);\n const path = shortestPath(this.graph, sourceIRI, targetIRI);\n if (path && path.length > 0) {\n path.reverse();\n let target: string | number = '';\n for (const source of path) {\n if (target) {\n const placementId = this.graph.getEdgeAttribute(source, target, 'id');\n const placement = getSpatialPlacement(store, placementId);\n applySpatialPlacement(tx, placement);\n }\n target = source;\n }\n return tx;\n } else {\n return undefined;\n }\n }\n\n getSpatialPlacement(source: SpatialEntity, targetIri: string): FlatSpatialPlacement | undefined {\n const sourceIri = this.graph.hasNode(source['@id']) ? source['@id'] : undefined;\n const placement: SpatialPlacement = get(source, 'placement[0]', get(source, 'placement', undefined));\n\n let matrix: Matrix4 | undefined;\n if (placement && this.graph.hasNode(placement.target)) {\n matrix = this.getTransformationMatrix(placement.target as unknown as string, targetIri);\n if (matrix) {\n matrix = applySpatialPlacement(matrix, placement);\n }\n } else if (sourceIri) {\n matrix = this.getTransformationMatrix(sourceIri, targetIri);\n }\n\n if (matrix) {\n const euler = new Euler().fromRotationMatrix(matrix, Euler.XYZ);\n const T = matrix.getTranslation().map(n => n * 1000) as [number, number, number];\n const R = euler.toVector3().map(toDegrees) as [number, number, number];\n const S = matrix.getScale().map(n => n 0.999999 ? 1 : n) as [number, number, number];\n\n return {\n '@context': 'https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${uuidV4()}_placement`,\n '@type': 'SpatialPlacement',\n source: source['@id'],\n target: targetIri,\n placement_date: new Date().toISOString().split('T')[0],\n x_scaling: S[0],\n y_scaling: S[1],\n z_scaling: S[2],\n scaling_units: 'ratio',\n x_rotation: R[0],\n y_rotation: R[1],\n z_rotation: R[2],\n rotation_order: 'XYZ',\n rotation_units: 'degree',\n x_translation: T[0],\n y_translation: T[1],\n z_translation: T[2],\n translation_units: 'millimeter'\n };\n } else {\n return undefined;\n }\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CCFSpatialScene.html":{"url":"classes/CCFSpatialScene.html","title":"class - CCFSpatialScene","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CCFSpatialScene\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getAnatomicalStructures\n \n \n getEntitySceneNodes\n \n \n getExtractionSet\n \n \n getExtractionSets\n \n \n getReferenceBody\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getReferenceOrganSets\n \n \n getReferenceSceneNodes\n \n \n getScene\n \n \n getSceneNode\n \n \n getSpatialEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(db: CCFDatabase)\n \n \n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:38\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n db\n \n \n CCFDatabase\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getAnatomicalStructures\n \n \n \n \n \n \ngetAnatomicalStructures(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getEntitySceneNodes\n \n \n \n \n \n \ngetEntitySceneNodes(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:149\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getExtractionSet\n \n \n \n \n \n \ngetExtractionSet(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ExtractionSet\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getExtractionSets\n \n \n \n \n \n \ngetExtractionSets(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ExtractionSet[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceBody\n \n \n \n \n \n \ngetReferenceBody(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:54\n \n \n\n\n \n \n\n \n Returns : SpatialEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:130\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganSets\n \n \n \n \n \n \ngetReferenceOrganSets(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceSceneNodes\n \n \n \n \n \n \ngetReferenceSceneNodes(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:198\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getSceneNode\n \n \n \n \n \n \ngetSceneNode(source: SpatialEntity, target: SpatialEntity, nodeAttrs: Partial)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:156\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n source\n \n SpatialEntity\n \n\n \n No\n \n\n \n \n\n \n \n target\n \n SpatialEntity\n \n\n \n No\n \n\n \n \n\n \n \n nodeAttrs\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getSpatialEntity\n \n \n \n \n \n \ngetSpatialEntity(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Matrix4, toRadians } from '@math.gl/core';\n\nimport { CCFDatabase } from './ccf-database';\nimport { Filter } from './interfaces';\nimport {\n getAnatomicalStructures, getExtractionSet, getExtractionSets, getReferenceOrgans, getSpatialEntity,\n} from './queries/spatial-result-n3';\nimport { ExtractionSet, SpatialEntity } from './spatial-types';\nimport { ccf } from './util/prefixes';\n\n\nexport type SpatialSceneGeometry = 'sphere' | 'cube' | 'wireframe' | 'text' | 'cone' | 'cylinder';\n\nexport interface SpatialSceneNode {\n '@id': string;\n '@type': string;\n entityId?: string;\n ccf_annotations?: string[];\n representation_of?: string;\n reference_organ?: string;\n unpickable?: boolean;\n geometry?: SpatialSceneGeometry;\n text?: string;\n _lighting?: string;\n scenegraph?: string;\n scenegraphNode?: string;\n zoomBasedOpacity?: boolean;\n zoomToOnLoad?: boolean;\n color?: [number, number, number, number];\n opacity?: number;\n transformMatrix: Matrix4;\n name?: string;\n tooltip?: string;\n priority?: number;\n}\n\nexport class CCFSpatialScene {\n\n constructor(private db: CCFDatabase) {}\n\n getSpatialEntity(iri: string): SpatialEntity {\n return getSpatialEntity(this.db.store, iri);\n }\n getExtractionSets(iri: string): ExtractionSet[] {\n return getExtractionSets(this.db.store, iri);\n }\n getExtractionSet(iri: string): ExtractionSet {\n return getExtractionSet(this.db.store, iri);\n }\n getAnatomicalStructures(iri: string): SpatialEntity[] {\n return getAnatomicalStructures(this.db.store, iri);\n }\n getReferenceOrgans(): SpatialEntity[] {\n return getReferenceOrgans(this.db.store);\n }\n\n getReferenceBody(filter?: Filter): SpatialEntity {\n let bodyId: string;\n switch (filter?.sex) {\n case 'Male':\n bodyId = ccf.spatial.Male.id;\n break;\n case 'Female':\n bodyId = ccf.spatial.Female.id;\n break;\n case 'Both':\n default:\n bodyId = ccf.spatial.BothSexes.id;\n break;\n }\n return this.getSpatialEntity(bodyId);\n }\n\n getReferenceOrganSets(filter?: Filter): SpatialEntity[] {\n let organSet = this.getReferenceOrgans();\n switch (filter?.sex) {\n case 'Male':\n organSet = organSet.filter(s => s.sex === 'Male');\n break;\n case 'Female':\n organSet = organSet.filter(s => s.sex === 'Female');\n break;\n case 'Both':\n default:\n break;\n }\n if (filter?.debug) {\n organSet = organSet.map(o => [ [o], this.getAnatomicalStructures(o['@id'])])\n .reduce((acc, [organ, structures]) => acc.concat(structures.length > 0 ? structures : organ), []);\n }\n return organSet;\n }\n\n getReferenceSceneNodes(filter?: Filter): SpatialSceneNode[] {\n const body = this.getReferenceBody(filter);\n const skinNodes: SpatialSceneNode[] = [];\n let nodes: (SpatialSceneNode | undefined)[] = [\n ...this.getReferenceOrganSets(filter).map((organ) => {\n const isSkin = organ.representation_of === 'http://purl.obolibrary.org/obo/UBERON_0002097';\n const sceneNode = this.getSceneNode(organ, body, {\n color: [255, 255, 255, 255], opacity: isSkin ? 0.5 : 0.2, unpickable: true, _lighting: 'pbr', zoomBasedOpacity: !isSkin\n });\n if (isSkin && sceneNode) {\n skinNodes.push(sceneNode);\n return undefined;\n } else {\n return sceneNode;\n }\n })\n ];\n if (skinNodes.length > 0) {\n nodes = [...skinNodes, ...nodes];\n }\n\n if (filter?.debug) {\n // Debug bounding boxes\n nodes = nodes.concat([\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHRightKidney').id), body, { color: [0, 0, 255, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHLeftKidney').id), body, { color: [255, 0, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHSpleenCC1').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHSpleenCC2').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHSpleenCC3').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' })\n ]);\n }\n\n return nodes.filter(s => s !== undefined) as SpatialSceneNode[];\n }\n\n getReferenceOrganScene(organIri: string, filter?: Filter): SpatialSceneNode[] {\n const hasSexFilter = filter?.sex !== undefined && filter?.sex?.toLowerCase() !== 'both';\n const organs = this.getReferenceOrgans().filter((o) => o.representation_of === organIri && (!hasSexFilter || o.sex === filter?.sex));\n if (organs.length > 0) {\n const organ = organs[0];\n const isSkin = organ.representation_of === 'http://purl.obolibrary.org/obo/UBERON_0002097';\n const organNode = this.getSceneNode(organ, organ, {\n color: [255, 255, 255, 255], opacity: isSkin ? 0.5 : 0.2, unpickable: true, _lighting: 'pbr'\n }) as SpatialSceneNode;\n\n const scene = (this.db.getSpatialEntities(filter) ?? []).map((entity) =>\n this.getSceneNode(entity, organ, { color: [255, 255, 255, 0.9*255] })\n ) as SpatialSceneNode[];\n return [organNode].concat(scene).filter(n => n !== undefined);\n } else {\n return [];\n }\n }\n\n getEntitySceneNodes(filter?: Filter): SpatialSceneNode[] {\n const body = this.getReferenceBody(filter);\n return this.db.getSpatialEntities(filter).map((entity) =>\n this.getSceneNode(entity, body, { color: [255, 255, 255, 0.9*255] })\n ).filter(s => s !== undefined) as SpatialSceneNode[];\n }\n\n getSceneNode(source: SpatialEntity, target: SpatialEntity, nodeAttrs: Partial = {}): SpatialSceneNode | undefined {\n const has3dObject = source?.object?.file_format?.startsWith('model/gltf');\n const sourceID = has3dObject && source.object ? source.object['@id'] : source['@id'];\n let transform = this.db.graph.getTransformationMatrix(sourceID, target['@id']);\n if (transform) {\n if (has3dObject) {\n transform = new Matrix4(Matrix4.IDENTITY).rotateX(toRadians(90)).multiplyLeft(transform);\n } else {\n // Scale visible bounding boxes to the desired dimensions\n let factor: number;\n switch (source.dimension_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const scale = [source.x_dimension, source.y_dimension, source.z_dimension].map(dim => dim * factor / 2);\n transform.scale(scale);\n }\n return {\n '@id': source['@id'], '@type': 'SpatialSceneNode',\n entityId: source.entityId,\n ccf_annotations: source.ccf_annotations,\n representation_of: source.representation_of,\n reference_organ: source.reference_organ,\n scenegraph: has3dObject ? source.object?.file : undefined,\n scenegraphNode: has3dObject ? source.object?.file_subpath : undefined,\n transformMatrix: transform,\n tooltip: source.label,\n ...nodeAttrs\n };\n } else {\n return undefined;\n }\n }\n\n getScene(filter?: Filter): SpatialSceneNode[] {\n return [\n ...this.getReferenceSceneNodes(filter),\n ...this.getEntitySceneNodes(filter)\n ];\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DatabaseStatus.html":{"url":"interfaces/DatabaseStatus.html","title":"interface - DatabaseStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DatabaseStatus\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Status of the database\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n checkback\n \n \n \n Optional\n \n loadTime\n \n \n \n Optional\n \n message\n \n \n \n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n checkback\n \n \n \n \n \n \n \n \n checkback: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n How long to wait (in milliseconds) before checking status again\n\n \n \n \n \n \n \n \n \n \n loadTime\n \n \n \n \n \n \n \n \n loadTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n The amount of time (in milliseconds) taken to load the database\n\n \n \n \n \n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Human readable description of the current status\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: \"Ready\" | \"Loading\" | \"Error\"\n\n \n \n\n\n \n \n Type : \"Ready\" | \"Loading\" | \"Error\"\n\n \n \n\n\n\n\n\n \n \n Status of the database\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DatasetResult.html":{"url":"interfaces/DatasetResult.html","title":"interface - DatasetResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DatasetResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Dataset List Result\n\n \n\n \n Extends\n \n \n ListResultItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @type\n \n \n \n \n technology\n \n \n \n \n thumbnail\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n technology\n \n \n \n \n \n \n \n \n technology: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Technology used in data\n\n \n \n \n \n \n \n \n \n \n thumbnail\n \n \n \n \n \n \n \n \n thumbnail: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Representative thumbnail URL\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DonorResult.html":{"url":"interfaces/DonorResult.html","title":"interface - DonorResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DonorResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Donor List Result\n\n \n\n \n Extends\n \n \n ListResultItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @type\n \n \n \n \n providerName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n providerName\n \n \n \n \n \n \n \n \n providerName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Provider Name\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExtractionSet.html":{"url":"interfaces/ExtractionSet.html","title":"interface - ExtractionSet","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExtractionSet\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n \n Description\n \n \n A set of extraction sites\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n extractionSites\n \n \n \n \n label\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n Type name\n\n \n \n \n \n \n \n \n \n \n extractionSites\n \n \n \n \n \n \n \n \n extractionSites: SpatialEntity[]\n\n \n \n\n\n \n \n Type : SpatialEntity[]\n\n \n \n\n\n\n\n\n \n \n The list of extraction sites in this set\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Entity label\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Filter.html":{"url":"interfaces/Filter.html","title":"interface - Filter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Filter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Options applied during queries\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ageRange\n \n \n \n \n bmiRange\n \n \n \n \n cellTypeTerms\n \n \n \n Optional\n \n debug\n \n \n \n \n ontologyTerms\n \n \n \n \n sex\n \n \n \n \n spatialSearches\n \n \n \n \n technologies\n \n \n \n \n tmc\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ageRange\n \n \n \n \n \n \n \n \n ageRange: [number, number]\n\n \n \n\n\n \n \n Type : [number, number]\n\n \n \n\n\n\n\n\n \n \n Age range\n\n \n \n \n \n \n \n \n \n \n bmiRange\n \n \n \n \n \n \n \n \n bmiRange: [number, number]\n\n \n \n\n\n \n \n Type : [number, number]\n\n \n \n\n\n\n\n\n \n \n BMI range\n\n \n \n \n \n \n \n \n \n \n cellTypeTerms\n \n \n \n \n \n \n \n \n cellTypeTerms: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n CellType terms\n\n \n \n \n \n \n \n \n \n \n debug\n \n \n \n \n \n \n \n \n debug: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Include optional debugging information\n\n \n \n \n \n \n \n \n \n \n ontologyTerms\n \n \n \n \n \n \n \n \n ontologyTerms: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Ontology terms\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"Both\" | \"Male\" | \"Female\"\n\n \n \n\n\n \n \n Type : \"Both\" | \"Male\" | \"Female\"\n\n \n \n\n\n\n\n\n \n \n Sex\n\n \n \n \n \n \n \n \n \n \n spatialSearches\n \n \n \n \n \n \n \n \n spatialSearches: SpatialSearch[]\n\n \n \n\n\n \n \n Type : SpatialSearch[]\n\n \n \n\n\n\n\n\n \n \n spatial search\n\n \n \n \n \n \n \n \n \n \n technologies\n \n \n \n \n \n \n \n \n technologies: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Technologies\n\n \n \n \n \n \n \n \n \n \n tmc\n \n \n \n \n \n \n \n \n tmc: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n TMC\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FlatSpatialPlacement.html":{"url":"interfaces/FlatSpatialPlacement.html","title":"interface - FlatSpatialPlacement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FlatSpatialPlacement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n\n \n Extends\n \n \n SpatialPlacementCommon\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n source\n \n \n \n \n target\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Source entity iri\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Target entity iri\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ListResultItem.html":{"url":"interfaces/ListResultItem.html","title":"interface - ListResultItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ListResultItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n List result\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n description\n \n \n \n \n label\n \n \n \n \n link\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Description\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Label\n\n \n \n \n \n \n \n \n \n \n link\n \n \n \n \n \n \n \n \n link: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Associated URL\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OntologyTreeModel.html":{"url":"interfaces/OntologyTreeModel.html","title":"interface - OntologyTreeModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OntologyTreeModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Ontology tree model\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n nodes\n \n \n \n \n root\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n nodes\n \n \n \n \n \n \n \n \n nodes: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n Mapping from id/IRI to ontology node instance\n\n \n \n \n \n \n \n \n \n \n root\n \n \n \n \n \n \n \n \n root: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n id of the root node of the ontology\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OntologyTreeNode.html":{"url":"interfaces/OntologyTreeNode.html","title":"interface - OntologyTreeNode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OntologyTreeNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n A node in the ontology\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n children\n \n \n \n \n id\n \n \n \n \n label\n \n \n \n \n parent\n \n \n \n \n synonymLabels\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier / IRI\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n children\n \n \n \n \n \n \n \n \n children: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Child ontology nodes\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier / IRI\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n RDFS label\n\n \n \n \n \n \n \n \n \n \n parent\n \n \n \n \n \n \n \n \n parent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Parent ontology node\n\n \n \n \n \n \n \n \n \n \n synonymLabels\n \n \n \n \n \n \n \n \n synonymLabels: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Synonym labels\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SearchResultJson.html":{"url":"interfaces/SearchResultJson.html","title":"interface - SearchResultJson","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SearchResultJson\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n hits\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n hits\n \n \n \n \n \n \n \n \n hits: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { JsonLd } from 'jsonld/jsonld-spec';\nimport { addJsonLdToStore, Store } from 'triple-store-utils';\n\nimport { hubmapResponseAsJsonLd } from './hubmap-data';\n\n\ninterface SearchResultJson {\n hits: {\n hits: unknown[];\n total: {\n value: number;\n };\n };\n}\n\n\n// Reduce this value if including more data fields\nconst PER_API_SEARCH_REQUEST_COUNT = 10000;\n\nconst INCLUDED_DATA_FIELDS = [\n 'uuid', 'entity_type',\n 'group_uuid', 'group_name',\n 'last_modified_timestamp', 'created_by_user_displayname',\n 'ancestors.entity_type',\n 'ancestors.description',\n 'ancestors.metadata.organ_donor_data.preferred_term',\n 'ancestors.metadata.organ_donor_data.data_value',\n 'ancestors.metadata.living_donor_data.preferred_term',\n 'ancestors.metadata.living_donor_data.data_value',\n 'ancestors.last_modified_timestamp',\n 'ancestors.group_uuid',\n 'ancestors.group_name',\n 'ancestors.created_by_user_displayname',\n 'ancestors.uuid',\n 'descendants.entity_type',\n 'descendants.ingest_metadata.metadata.tissue_id',\n 'descendants.last_modified_timestamp',\n 'descendants.group_uuid',\n 'descendants.group_name',\n 'descendants.created_by_user_displayname',\n 'descendants.uuid',\n 'descendants.data_types',\n 'descendants.ingest_metadata.metadata.assay_type',\n 'descendants.thumbnail_file',\n 'descendants.metadata.files.rel_path',\n 'rui_location', 'sample_category'\n];\n\nconst DEFAULT_API_SEARCH_QUERY: unknown = {\n exists: {\n field: 'rui_location'\n }\n};\n\nfunction getApiSearchHeaders(token?: string): Headers {\n const headers = new Headers();\n\n headers.append('Content-type', 'application/json');\n if (token) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n return headers;\n}\n\nfunction getApiSearchBody(from: number, size: number, query?: unknown): string {\n const bodyObj = {\n version: true,\n from,\n size,\n stored_fields: ['*'],\n script_fields: {},\n docvalue_fields: [],\n query: query ?? DEFAULT_API_SEARCH_QUERY,\n _source: {\n includes: INCLUDED_DATA_FIELDS\n }\n };\n\n return JSON.stringify(bodyObj);\n}\n\nasync function doSearchRequest(\n url: string, init?: RequestInit\n): Promise {\n try {\n const res = await fetch(url, init);\n const text = await res.text();\n const validResponse = res.ok || text.startsWith('https');\n if (validResponse) {\n if (text.startsWith('https')) {\n return await fetch(text).then((r) => r.json());\n } else {\n return JSON.parse(text);\n }\n }\n return undefined;\n } catch (_error) {\n return undefined;\n }\n}\n\nasync function doApiSearch(\n url: string, token?: string, query?: unknown\n): Promise {\n const perReqCount = PER_API_SEARCH_REQUEST_COUNT;\n const headers = getApiSearchHeaders(token);\n const body = getApiSearchBody(0, perReqCount, query);\n const firstResult = await doSearchRequest(url, { method: 'POST', headers, body });\n if (!firstResult) {\n return undefined;\n }\n\n const totalCount = firstResult.hits.total.value;\n if (totalCount [] = [];\n for (let from = perReqCount; from !res)) {\n return undefined;\n }\n\n const items = results.map(res => res!.hits.hits);\n return {\n ...firstResult,\n hits: {\n ...firstResult.hits,\n hits: firstResult.hits.hits.concat(...items),\n }\n };\n}\n\n/**\n * Search the HuBMAP Search API and return CCF-compatible JSON-LD data\n *\n * @param dataUrl the search API url\n * @param serviceType 'static' if a statically saved response or 'search-api' if querying the search-api live\n * @param query the elastic search query to use\n * @param serviceToken the api key to the search-api\n * @param assetsApi the assets api endpoint\n * @param portalUrl the portal url to point to\n * @returns CCF-compatible JSON-LD data or undefined on error\n */\nexport async function searchHubmap(\n dataUrl: string, serviceType: 'static' | 'search-api',\n query?: unknown, serviceToken?: string, assetsApi = '', portalUrl = ''\n): Promise {\n let hubmapData: SearchResultJson | undefined;\n if (serviceType === 'static') {\n hubmapData = await doSearchRequest(dataUrl);\n } else if (serviceType === 'search-api') {\n hubmapData = await doApiSearch(dataUrl, serviceToken, query);\n }\n\n if (hubmapData) {\n return hubmapResponseAsJsonLd(hubmapData, assetsApi, portalUrl, serviceToken);\n } else {\n console.warn(`Unable to load ${dataUrl} as HuBMAP Data`);\n return undefined;\n }\n}\n\n/**\n * Adds hubmap data from a url to the triple store.\n *\n * @param store The triple store.\n * @param dataUrl The data url.\n * @param serviceType The service type.\n */\nexport async function addHubmapDataToStore(\n store: Store, dataUrl: string, serviceType: 'static' | 'search-api', serviceToken?: string, assetsApi = '', portalUrl = ''\n): Promise {\n const hubmapData = await searchHubmap(dataUrl, serviceType, undefined, serviceToken, assetsApi, portalUrl);\n if (hubmapData) {\n await addJsonLdToStore(hubmapData, store);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SearchableItem.html":{"url":"interfaces/SearchableItem.html","title":"interface - SearchableItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SearchableItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Item that can be searched for\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n age\n \n \n \n Optional\n \n bmi\n \n \n \n Optional\n \n cellTypeTerms\n \n \n \n \n id\n \n \n \n Optional\n \n ontologyTerms\n \n \n \n Optional\n \n sex\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n age\n \n \n \n \n \n \n \n \n age: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Age\n\n \n \n \n \n \n \n \n \n \n bmi\n \n \n \n \n \n \n \n \n bmi: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n BMI\n\n \n \n \n \n \n \n \n \n \n cellTypeTerms\n \n \n \n \n \n \n \n \n cellTypeTerms: Set\n\n \n \n\n\n \n \n Type : Set\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n CellType terms\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n ontologyTerms\n \n \n \n \n \n \n \n \n ontologyTerms: Set\n\n \n \n\n\n \n \n Type : Set\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Ontology terms\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"Male\" | \"Female\"\n\n \n \n\n\n \n \n Type : \"Male\" | \"Female\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Sex\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialEntity.html":{"url":"interfaces/SpatialEntity.html","title":"interface - SpatialEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n \n Description\n \n \n A spatial entity\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n Optional\n \n ccf_annotations\n \n \n \n Optional\n \n color\n \n \n \n Optional\n \n comment\n \n \n \n Optional\n \n creation_date\n \n \n \n Optional\n \n creator\n \n \n \n Optional\n \n creator_first_name\n \n \n \n Optional\n \n creator_last_name\n \n \n \n Optional\n \n creator_orcid\n \n \n \n \n dimension_units\n \n \n \n Optional\n \n entityId\n \n \n \n Optional\n \n label\n \n \n \n Optional\n \n object\n \n \n \n Optional\n \n reference_organ\n \n \n \n Optional\n \n representation_of\n \n \n \n Optional\n \n rui_rank\n \n \n \n \n sex\n \n \n \n \n side\n \n \n \n Optional\n \n slice_count\n \n \n \n Optional\n \n slice_thickness\n \n \n \n \n x_dimension\n \n \n \n \n y_dimension\n \n \n \n \n z_dimension\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n Type name\n\n \n \n \n \n \n \n \n \n \n ccf_annotations\n \n \n \n \n \n \n \n \n ccf_annotations: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Annotations (a set of IRIs)\n\n \n \n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: [number, number, number, number]\n\n \n \n\n\n \n \n Type : [number, number, number, number]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Coloring\n\n \n \n \n \n \n \n \n \n \n comment\n \n \n \n \n \n \n \n \n comment: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Entity comment\n\n \n \n \n \n \n \n \n \n \n creation_date\n \n \n \n \n \n \n \n \n creation_date: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creation date\n\n \n \n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n \n \n creator: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creator\n\n \n \n \n \n \n \n \n \n \n creator_first_name\n \n \n \n \n \n \n \n \n creator_first_name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creator first name\n\n \n \n \n \n \n \n \n \n \n creator_last_name\n \n \n \n \n \n \n \n \n creator_last_name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creator last name\n\n \n \n \n \n \n \n \n \n \n creator_orcid\n \n \n \n \n \n \n \n \n creator_orcid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creator identifier\n\n \n \n \n \n \n \n \n \n \n dimension_units\n \n \n \n \n \n \n \n \n dimension_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units dimensions are in\n\n \n \n \n \n \n \n \n \n \n entityId\n \n \n \n \n \n \n \n \n entityId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n IRI of the Entity this Spatial Entity represents\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Entity label\n\n \n \n \n \n \n \n \n \n \n object\n \n \n \n \n \n \n \n \n object: SpatialObjectReference\n\n \n \n\n\n \n \n Type : SpatialObjectReference\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Data references\n\n \n \n \n \n \n \n \n \n \n reference_organ\n \n \n \n \n \n \n \n \n reference_organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Specifies if this is an anatomical structure of this organ (IRI)\n\n \n \n \n \n \n \n \n \n \n representation_of\n \n \n \n \n \n \n \n \n representation_of: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Annotation (IRI) that says what this entity represents\n\n \n \n \n \n \n \n \n \n \n rui_rank\n \n \n \n \n \n \n \n \n rui_rank: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Ranking used in the RUI for ordering lists\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"Male\" | \"Female\" | undefined\n\n \n \n\n\n \n \n Type : \"Male\" | \"Female\" | undefined\n\n \n \n\n\n\n\n\n \n \n Specifies (where applicable) if this entity came from a Male or Female\n\n \n \n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: \"Left\" | \"Right\" | undefined\n\n \n \n\n\n \n \n Type : \"Left\" | \"Right\" | undefined\n\n \n \n\n\n\n\n\n \n \n Specifies (where applicable) if this entity came from the left or right side organ\n\n \n \n \n \n \n \n \n \n \n slice_count\n \n \n \n \n \n \n \n \n slice_count: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n The number of slices taken out of this spatial entity\n\n \n \n \n \n \n \n \n \n \n slice_thickness\n \n \n \n \n \n \n \n \n slice_thickness: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n The thickness (in nanometers) of slices taken out of this spatial entity\n\n \n \n \n \n \n \n \n \n \n x_dimension\n \n \n \n \n \n \n \n \n x_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n X-dimension\n\n \n \n \n \n \n \n \n \n \n y_dimension\n \n \n \n \n \n \n \n \n y_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Y-dimension\n\n \n \n \n \n \n \n \n \n \n z_dimension\n \n \n \n \n \n \n \n \n z_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Z-dimension\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialObjectReference.html":{"url":"interfaces/SpatialObjectReference.html","title":"interface - SpatialObjectReference","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialObjectReference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n \n Description\n \n \n A reference to a spatial object\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n file\n \n \n \n \n file_format\n \n \n \n Optional\n \n file_subpath\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n Type name\n\n \n \n \n \n \n \n \n \n \n file\n \n \n \n \n \n \n \n \n file: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Data file name\n\n \n \n \n \n \n \n \n \n \n file_format\n \n \n \n \n \n \n \n \n file_format: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Data format\n\n \n \n \n \n \n \n \n \n \n file_subpath\n \n \n \n \n \n \n \n \n file_subpath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n File subpath\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialPlacement.html":{"url":"interfaces/SpatialPlacement.html","title":"interface - SpatialPlacement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialPlacement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n\n \n Extends\n \n \n SpatialPlacementCommon\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n source\n \n \n \n \n target\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: SpatialEntity | SpatialObjectReference\n\n \n \n\n\n \n \n Type : SpatialEntity | SpatialObjectReference\n\n \n \n\n\n\n\n\n \n \n Source entity\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: SpatialEntity\n\n \n \n\n\n \n \n Type : SpatialEntity\n\n \n \n\n\n\n\n\n \n \n Target entity\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialPlacementCommon.html":{"url":"interfaces/SpatialPlacementCommon.html","title":"interface - SpatialPlacementCommon","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialPlacementCommon\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n \n Description\n \n \n Object describing the placement of an entity\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n @context\n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n placement_date\n \n \n \n Optional\n \n rotation_order\n \n \n \n \n rotation_units\n \n \n \n \n scaling_units\n \n \n \n \n translation_units\n \n \n \n Optional\n \n w_rotation\n \n \n \n \n x_rotation\n \n \n \n \n x_scaling\n \n \n \n \n x_translation\n \n \n \n \n y_rotation\n \n \n \n \n y_scaling\n \n \n \n \n y_translation\n \n \n \n \n z_rotation\n \n \n \n \n z_scaling\n \n \n \n \n z_translation\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @context\n \n \n \n \n \n \n \n \n @context: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n JSON-LD context\n\n \n \n \n \n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n Type name\n\n \n \n \n \n \n \n \n \n \n placement_date\n \n \n \n \n \n \n \n \n placement_date: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Date placement was made\n\n \n \n \n \n \n \n \n \n \n rotation_order\n \n \n \n \n \n \n \n \n rotation_order: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Order rotations should be applied in\n\n \n \n \n \n \n \n \n \n \n rotation_units\n \n \n \n \n \n \n \n \n rotation_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units rotation is expressed in\n\n \n \n \n \n \n \n \n \n \n scaling_units\n \n \n \n \n \n \n \n \n scaling_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units scaling is expressed in\n\n \n \n \n \n \n \n \n \n \n translation_units\n \n \n \n \n \n \n \n \n translation_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units translation is expressed in\n\n \n \n \n \n \n \n \n \n \n w_rotation\n \n \n \n \n \n \n \n \n w_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Rotation in w-dimension\n\n \n \n \n \n \n \n \n \n \n x_rotation\n \n \n \n \n \n \n \n \n x_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Rotation in x-dimension\n\n \n \n \n \n \n \n \n \n \n x_scaling\n \n \n \n \n \n \n \n \n x_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Scaling in x-dimension\n\n \n \n \n \n \n \n \n \n \n x_translation\n \n \n \n \n \n \n \n \n x_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Translation in x-dimension\n\n \n \n \n \n \n \n \n \n \n y_rotation\n \n \n \n \n \n \n \n \n y_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Rotation in y-dimension\n\n \n \n \n \n \n \n \n \n \n y_scaling\n \n \n \n \n \n \n \n \n y_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Scaling in y-dimension\n\n \n \n \n \n \n \n \n \n \n y_translation\n \n \n \n \n \n \n \n \n y_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Translation in y-dimension\n\n \n \n \n \n \n \n \n \n \n z_rotation\n \n \n \n \n \n \n \n \n z_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Rotation in z-dimension\n\n \n \n \n \n \n \n \n \n \n z_scaling\n \n \n \n \n \n \n \n \n z_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Scaling in z-dimension\n\n \n \n \n \n \n \n \n \n \n z_translation\n \n \n \n \n \n \n \n \n z_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Translation in z-dimension\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialSceneNode.html":{"url":"interfaces/SpatialSceneNode.html","title":"interface - SpatialSceneNode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialSceneNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n _lighting\n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n Optional\n \n ccf_annotations\n \n \n \n Optional\n \n color\n \n \n \n Optional\n \n entityId\n \n \n \n Optional\n \n geometry\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n opacity\n \n \n \n Optional\n \n priority\n \n \n \n Optional\n \n reference_organ\n \n \n \n Optional\n \n representation_of\n \n \n \n Optional\n \n scenegraph\n \n \n \n Optional\n \n scenegraphNode\n \n \n \n Optional\n \n text\n \n \n \n Optional\n \n tooltip\n \n \n \n \n transformMatrix\n \n \n \n Optional\n \n unpickable\n \n \n \n Optional\n \n zoomBasedOpacity\n \n \n \n Optional\n \n zoomToOnLoad\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _lighting\n \n \n \n \n \n \n \n \n _lighting: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ccf_annotations\n \n \n \n \n \n \n \n \n ccf_annotations: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: [number, number, number, number]\n\n \n \n\n\n \n \n Type : [number, number, number, number]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n entityId\n \n \n \n \n \n \n \n \n entityId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n geometry\n \n \n \n \n \n \n \n \n geometry: SpatialSceneGeometry\n\n \n \n\n\n \n \n Type : SpatialSceneGeometry\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n opacity\n \n \n \n \n \n \n \n \n opacity: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n priority\n \n \n \n \n \n \n \n \n priority: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n reference_organ\n \n \n \n \n \n \n \n \n reference_organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n representation_of\n \n \n \n \n \n \n \n \n representation_of: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n scenegraph\n \n \n \n \n \n \n \n \n scenegraph: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n scenegraphNode\n \n \n \n \n \n \n \n \n scenegraphNode: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n tooltip\n \n \n \n \n \n \n \n \n tooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n transformMatrix\n \n \n \n \n \n \n \n \n transformMatrix: Matrix4\n\n \n \n\n\n \n \n Type : Matrix4\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n unpickable\n \n \n \n \n \n \n \n \n unpickable: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n zoomBasedOpacity\n \n \n \n \n \n \n \n \n zoomBasedOpacity: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n zoomToOnLoad\n \n \n \n \n \n \n \n \n zoomToOnLoad: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Matrix4, toRadians } from '@math.gl/core';\n\nimport { CCFDatabase } from './ccf-database';\nimport { Filter } from './interfaces';\nimport {\n getAnatomicalStructures, getExtractionSet, getExtractionSets, getReferenceOrgans, getSpatialEntity,\n} from './queries/spatial-result-n3';\nimport { ExtractionSet, SpatialEntity } from './spatial-types';\nimport { ccf } from './util/prefixes';\n\n\nexport type SpatialSceneGeometry = 'sphere' | 'cube' | 'wireframe' | 'text' | 'cone' | 'cylinder';\n\nexport interface SpatialSceneNode {\n '@id': string;\n '@type': string;\n entityId?: string;\n ccf_annotations?: string[];\n representation_of?: string;\n reference_organ?: string;\n unpickable?: boolean;\n geometry?: SpatialSceneGeometry;\n text?: string;\n _lighting?: string;\n scenegraph?: string;\n scenegraphNode?: string;\n zoomBasedOpacity?: boolean;\n zoomToOnLoad?: boolean;\n color?: [number, number, number, number];\n opacity?: number;\n transformMatrix: Matrix4;\n name?: string;\n tooltip?: string;\n priority?: number;\n}\n\nexport class CCFSpatialScene {\n\n constructor(private db: CCFDatabase) {}\n\n getSpatialEntity(iri: string): SpatialEntity {\n return getSpatialEntity(this.db.store, iri);\n }\n getExtractionSets(iri: string): ExtractionSet[] {\n return getExtractionSets(this.db.store, iri);\n }\n getExtractionSet(iri: string): ExtractionSet {\n return getExtractionSet(this.db.store, iri);\n }\n getAnatomicalStructures(iri: string): SpatialEntity[] {\n return getAnatomicalStructures(this.db.store, iri);\n }\n getReferenceOrgans(): SpatialEntity[] {\n return getReferenceOrgans(this.db.store);\n }\n\n getReferenceBody(filter?: Filter): SpatialEntity {\n let bodyId: string;\n switch (filter?.sex) {\n case 'Male':\n bodyId = ccf.spatial.Male.id;\n break;\n case 'Female':\n bodyId = ccf.spatial.Female.id;\n break;\n case 'Both':\n default:\n bodyId = ccf.spatial.BothSexes.id;\n break;\n }\n return this.getSpatialEntity(bodyId);\n }\n\n getReferenceOrganSets(filter?: Filter): SpatialEntity[] {\n let organSet = this.getReferenceOrgans();\n switch (filter?.sex) {\n case 'Male':\n organSet = organSet.filter(s => s.sex === 'Male');\n break;\n case 'Female':\n organSet = organSet.filter(s => s.sex === 'Female');\n break;\n case 'Both':\n default:\n break;\n }\n if (filter?.debug) {\n organSet = organSet.map(o => [ [o], this.getAnatomicalStructures(o['@id'])])\n .reduce((acc, [organ, structures]) => acc.concat(structures.length > 0 ? structures : organ), []);\n }\n return organSet;\n }\n\n getReferenceSceneNodes(filter?: Filter): SpatialSceneNode[] {\n const body = this.getReferenceBody(filter);\n const skinNodes: SpatialSceneNode[] = [];\n let nodes: (SpatialSceneNode | undefined)[] = [\n ...this.getReferenceOrganSets(filter).map((organ) => {\n const isSkin = organ.representation_of === 'http://purl.obolibrary.org/obo/UBERON_0002097';\n const sceneNode = this.getSceneNode(organ, body, {\n color: [255, 255, 255, 255], opacity: isSkin ? 0.5 : 0.2, unpickable: true, _lighting: 'pbr', zoomBasedOpacity: !isSkin\n });\n if (isSkin && sceneNode) {\n skinNodes.push(sceneNode);\n return undefined;\n } else {\n return sceneNode;\n }\n })\n ];\n if (skinNodes.length > 0) {\n nodes = [...skinNodes, ...nodes];\n }\n\n if (filter?.debug) {\n // Debug bounding boxes\n nodes = nodes.concat([\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHRightKidney').id), body, { color: [0, 0, 255, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHLeftKidney').id), body, { color: [255, 0, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHSpleenCC1').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHSpleenCC2').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHSpleenCC3').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' })\n ]);\n }\n\n return nodes.filter(s => s !== undefined) as SpatialSceneNode[];\n }\n\n getReferenceOrganScene(organIri: string, filter?: Filter): SpatialSceneNode[] {\n const hasSexFilter = filter?.sex !== undefined && filter?.sex?.toLowerCase() !== 'both';\n const organs = this.getReferenceOrgans().filter((o) => o.representation_of === organIri && (!hasSexFilter || o.sex === filter?.sex));\n if (organs.length > 0) {\n const organ = organs[0];\n const isSkin = organ.representation_of === 'http://purl.obolibrary.org/obo/UBERON_0002097';\n const organNode = this.getSceneNode(organ, organ, {\n color: [255, 255, 255, 255], opacity: isSkin ? 0.5 : 0.2, unpickable: true, _lighting: 'pbr'\n }) as SpatialSceneNode;\n\n const scene = (this.db.getSpatialEntities(filter) ?? []).map((entity) =>\n this.getSceneNode(entity, organ, { color: [255, 255, 255, 0.9*255] })\n ) as SpatialSceneNode[];\n return [organNode].concat(scene).filter(n => n !== undefined);\n } else {\n return [];\n }\n }\n\n getEntitySceneNodes(filter?: Filter): SpatialSceneNode[] {\n const body = this.getReferenceBody(filter);\n return this.db.getSpatialEntities(filter).map((entity) =>\n this.getSceneNode(entity, body, { color: [255, 255, 255, 0.9*255] })\n ).filter(s => s !== undefined) as SpatialSceneNode[];\n }\n\n getSceneNode(source: SpatialEntity, target: SpatialEntity, nodeAttrs: Partial = {}): SpatialSceneNode | undefined {\n const has3dObject = source?.object?.file_format?.startsWith('model/gltf');\n const sourceID = has3dObject && source.object ? source.object['@id'] : source['@id'];\n let transform = this.db.graph.getTransformationMatrix(sourceID, target['@id']);\n if (transform) {\n if (has3dObject) {\n transform = new Matrix4(Matrix4.IDENTITY).rotateX(toRadians(90)).multiplyLeft(transform);\n } else {\n // Scale visible bounding boxes to the desired dimensions\n let factor: number;\n switch (source.dimension_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const scale = [source.x_dimension, source.y_dimension, source.z_dimension].map(dim => dim * factor / 2);\n transform.scale(scale);\n }\n return {\n '@id': source['@id'], '@type': 'SpatialSceneNode',\n entityId: source.entityId,\n ccf_annotations: source.ccf_annotations,\n representation_of: source.representation_of,\n reference_organ: source.reference_organ,\n scenegraph: has3dObject ? source.object?.file : undefined,\n scenegraphNode: has3dObject ? source.object?.file_subpath : undefined,\n transformMatrix: transform,\n tooltip: source.label,\n ...nodeAttrs\n };\n } else {\n return undefined;\n }\n }\n\n getScene(filter?: Filter): SpatialSceneNode[] {\n return [\n ...this.getReferenceSceneNodes(filter),\n ...this.getEntitySceneNodes(filter)\n ];\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialSearch.html":{"url":"interfaces/SpatialSearch.html","title":"interface - SpatialSearch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialSearch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Specification for a Spatial Search via Probing Sphere\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n radius\n \n \n \n \n target\n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n radius\n \n \n \n \n \n \n \n \n radius: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Size of the probing sphere in millimeters\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n The target spatial entity IRI\n\n \n \n \n \n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n X coordinate relative to target in millimeters\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n y coordinate relative to target in millimeters\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n z coordinate relative to target in millimeters\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TissueBlockResult.html":{"url":"interfaces/TissueBlockResult.html","title":"interface - TissueBlockResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TissueBlockResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Tissue Block List Result\n\n \n\n \n Extends\n \n \n ListResultItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @type\n \n \n \n \n datasets\n \n \n \n \n donor\n \n \n \n \n sampleType\n \n \n \n \n sectionCount\n \n \n \n \n sections\n \n \n \n \n sectionSize\n \n \n \n \n sectionUnits\n \n \n \n \n spatialEntityId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n datasets\n \n \n \n \n \n \n \n \n datasets: DatasetResult[]\n\n \n \n\n\n \n \n Type : DatasetResult[]\n\n \n \n\n\n\n\n\n \n \n Datasets derived from this tissue block\n\n \n \n \n \n \n \n \n \n \n donor\n \n \n \n \n \n \n \n \n donor: DonorResult\n\n \n \n\n\n \n \n Type : DonorResult\n\n \n \n\n\n\n\n\n \n \n The donor this tissue block was derived from\n\n \n \n \n \n \n \n \n \n \n sampleType\n \n \n \n \n \n \n \n \n sampleType: \"Tissue Block\" | \"Non-Standard\"\n\n \n \n\n\n \n \n Type : \"Tissue Block\" | \"Non-Standard\"\n\n \n \n\n\n\n\n\n \n \n Sample tissue block type\n\n \n \n \n \n \n \n \n \n \n sectionCount\n \n \n \n \n \n \n \n \n sectionCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Number of sections extracted from this block\n\n \n \n \n \n \n \n \n \n \n sections\n \n \n \n \n \n \n \n \n sections: TissueSectionResult[]\n\n \n \n\n\n \n \n Type : TissueSectionResult[]\n\n \n \n\n\n\n\n\n \n \n The sections extracted from this tissue block\n\n \n \n \n \n \n \n \n \n \n sectionSize\n \n \n \n \n \n \n \n \n sectionSize: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Size of each tissue section\n\n \n \n \n \n \n \n \n \n \n sectionUnits\n \n \n \n \n \n \n \n \n sectionUnits: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units of the section size (generally, millimeters)\n\n \n \n \n \n \n \n \n \n \n spatialEntityId\n \n \n \n \n \n \n \n \n spatialEntityId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n The associated spatial entity (rui_location) for this block\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TissueSectionResult.html":{"url":"interfaces/TissueSectionResult.html","title":"interface - TissueSectionResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TissueSectionResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Tissue Section List Result\n\n \n\n \n Extends\n \n \n ListResultItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @type\n \n \n \n \n datasets\n \n \n \n \n sampleType\n \n \n \n \n sectionNumber\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n datasets\n \n \n \n \n \n \n \n \n datasets: DatasetResult[]\n\n \n \n\n\n \n \n Type : DatasetResult[]\n\n \n \n\n\n\n\n\n \n \n Datasets derived from this tissue section\n\n \n \n \n \n \n \n \n \n \n sampleType\n \n \n \n \n \n \n \n \n sampleType: \"Tissue Section\" | \"Non-Standard\"\n\n \n \n\n\n \n \n Type : \"Tissue Section\" | \"Non-Standard\"\n\n \n \n\n\n\n\n\n \n \n Sample tissue section type\n\n \n \n \n \n \n \n \n \n \n sectionNumber\n \n \n \n \n \n \n \n \n sectionNumber: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Index into the sequence of sections from the parent block\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-database/src/cache-ccf-api-data.ts\n \n function\n main\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-database.ts\n \n class\n CCFDatabase\n \n 75 %\n (24/32)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-database.ts\n \n interface\n CCFDatabaseOptions\n \n 100 %\n (10/10)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-database.ts\n \n variable\n DEFAULT_CCF_DB_OPTIONS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-graph.ts\n \n class\n CCFSpatialGraph\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-graph.ts\n \n function\n applySpatialPlacement\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n class\n CCFSpatialScene\n \n 0 %\n (0/14)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n interface\n SpatialSceneNode\n \n 0 %\n (0/21)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n interface\n SearchResultJson\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n addHubmapDataToStore\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n doApiSearch\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n doSearchRequest\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n getApiSearchBody\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n getApiSearchHeaders\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n searchHubmap\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n variable\n DEFAULT_API_SEARCH_QUERY\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n variable\n INCLUDED_DATA_FIELDS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n variable\n PER_API_SEARCH_REQUEST_COUNT\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n class\n HuBMAPTissueBlock\n \n 0 %\n (0/24)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n function\n debugDonors\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n function\n hubmapResponseAsJsonLd\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n DR1_VU_THUMBS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n ENTITY_CONTEXT\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n GROUP_UUID_MAPPING\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n HBM_PREFIX\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n UFL_THUMBS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n AggregateResult\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n DatabaseStatus\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n DatasetResult\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n DonorResult\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n Filter\n \n 100 %\n (10/10)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n ListResultItem\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n OntologyTreeModel\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n OntologyTreeNode\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n SearchableItem\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n SpatialSearch\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n TissueBlockResult\n \n 100 %\n (10/10)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n TissueSectionResult\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/aggregate-results-n3.ts\n \n function\n getAggregateResults\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/aggregate-results-n3.ts\n \n function\n getDatasetTechnologyNames\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/aggregate-results-n3.ts\n \n function\n getObjects\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/aggregate-results-n3.ts\n \n function\n getProviderNames\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n differenceCallback\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByAge\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByBMI\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByCellTypeTerms\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByGroupName\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByHasSpatialEntity\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByOntologyTerms\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterBySex\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterBySpatialSearches\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByTechnology\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterWithDataset\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterWithDonor\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterWithSpatialEntity\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n findIds\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n getAllEntities\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-term-occurences-n3.ts\n \n function\n getAnatomicalStructureMapping\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-term-occurences-n3.ts\n \n function\n getCellTypeTermOccurences\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-term-occurences-n3.ts\n \n function\n getOntologyTermOccurences\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-term-occurences-n3.ts\n \n function\n getSpatialEntityMapping\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n getAnatomicalStructureTreeModelSlowly\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n getCellTypeTreeModel\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n getOntologyTreeModel\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n getOntologyTreeNode\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n treeify\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n variable\n getAnatomicalStructureTreeModel\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getAnatomicalStructures\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getExtractionSet\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getExtractionSets\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getReferenceOrgans\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getSpatialEntity\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getSpatialEntityForEntity\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getSpatialObjectReference\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getSpatialPlacement\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n reverseMapping\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n variable\n mappings\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n function\n filterByProbingSphere\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n function\n getOrientedBoundingBox\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n function\n getSpatialEntityDimensions\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n variable\n spatialEntityDimensions\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n function\n getDatasetResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n function\n getDonorResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n function\n getTissueBlockResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n function\n getTissueSectionResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n datasetResultSet\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n donorResultSet\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n listResultSet\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n tissueBlockResultSet\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n tissueSectionResultSet\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n ExtractionSet\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n FlatSpatialPlacement\n \n 66 %\n (2/3)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n SpatialEntity\n \n 100 %\n (25/25)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n SpatialObjectReference\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n SpatialPlacement\n \n 66 %\n (2/3)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n SpatialPlacementCommon\n \n 100 %\n (19/19)\n \n \n \n \n \n projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts\n \n class\n CCFDatabaseStatusTracker\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-database/src/lib/util/enrich-rui-locations.ts\n \n function\n enrichRuiLocations\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/n3-functions.ts\n \n function\n getEntries\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/n3-functions.ts\n \n function\n getMappedResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n function\n getOriginScene\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n variable\n blue\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n variable\n gray\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n variable\n green\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n variable\n red\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/patch-jsonld.ts\n \n function\n patchJsonLd\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/patch-jsonld.ts\n \n variable\n CCF_CONTEXT\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n ccf\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n ccfx\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n cl\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n entity\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n fma\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n lmha\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n prefixer\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n PREFIXES\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n rdf\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n rdfs\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n rui\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n uberon\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n function\n getProbingSphereScene\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n variable\n blue\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n variable\n gold\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n variable\n green\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n variable\n red\n \n 0 %\n (0/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n \n \n \n 5 Classes\n \n \n \n \n \n \n \n 21 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n Color   (projects/.../origin-scene.ts)\n \n \n Color   (projects/.../probing-sphere-scene.ts)\n \n \n JsonDict   (projects/.../hubmap-data.ts)\n \n \n SpatialSceneGeometry   (projects/.../ccf-spatial-scene.ts)\n \n \n \n \n \n \n\n\n projects/ccf-database/src/lib/util/origin-scene.ts\n \n \n \n \n \n \n Color\n \n \n \n \n [number, number, number, number]\n\n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n \n \n \n \n \n Color\n \n \n \n \n [number, number, number, number]\n\n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n \n \n \n \n \n JsonDict\n \n \n \n \n Record\n\n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n \n \n \n \n \n SpatialSceneGeometry\n \n \n \n \n \"sphere\" | \"cube\" | \"wireframe\" | \"text\" | \"cone\" | \"cylinder\"\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n blue   (projects/.../origin-scene.ts)\n \n \n blue   (projects/.../probing-sphere-scene.ts)\n \n \n ccf   (projects/.../prefixes.ts)\n \n \n CCF_CONTEXT   (projects/.../patch-jsonld.ts)\n \n \n ccfx   (projects/.../prefixes.ts)\n \n \n cl   (projects/.../prefixes.ts)\n \n \n datasetResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n DEFAULT_API_SEARCH_QUERY   (projects/.../hubmap-data-import.ts)\n \n \n DEFAULT_CCF_DB_OPTIONS   (projects/.../ccf-database.ts)\n \n \n donorResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n DR1_VU_THUMBS   (projects/.../hubmap-data.ts)\n \n \n entity   (projects/.../prefixes.ts)\n \n \n ENTITY_CONTEXT   (projects/.../hubmap-data.ts)\n \n \n fma   (projects/.../prefixes.ts)\n \n \n getAnatomicalStructureTreeModel   (projects/.../ontology-tree-n3.ts)\n \n \n gold   (projects/.../probing-sphere-scene.ts)\n \n \n gray   (projects/.../origin-scene.ts)\n \n \n green   (projects/.../origin-scene.ts)\n \n \n green   (projects/.../probing-sphere-scene.ts)\n \n \n GROUP_UUID_MAPPING   (projects/.../hubmap-data.ts)\n \n \n HBM_PREFIX   (projects/.../hubmap-data.ts)\n \n \n INCLUDED_DATA_FIELDS   (projects/.../hubmap-data-import.ts)\n \n \n listResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n lmha   (projects/.../prefixes.ts)\n \n \n mappings   (projects/.../spatial-result-n3.ts)\n \n \n PER_API_SEARCH_REQUEST_COUNT   (projects/.../hubmap-data-import.ts)\n \n \n prefixer   (projects/.../prefixes.ts)\n \n \n PREFIXES   (projects/.../prefixes.ts)\n \n \n rdf   (projects/.../prefixes.ts)\n \n \n rdfs   (projects/.../prefixes.ts)\n \n \n red   (projects/.../origin-scene.ts)\n \n \n red   (projects/.../probing-sphere-scene.ts)\n \n \n rui   (projects/.../prefixes.ts)\n \n \n spatialEntityDimensions   (projects/.../spatial-search-n3.ts)\n \n \n tissueBlockResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n tissueSectionResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n uberon   (projects/.../prefixes.ts)\n \n \n UFL_THUMBS   (projects/.../hubmap-data.ts)\n \n \n \n \n \n \n\n\n projects/ccf-database/src/lib/util/origin-scene.ts\n \n \n \n \n \n \n \n blue\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [41, 121, 255, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n gray\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [204, 204, 204, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n green\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [29, 204, 101, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n red\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [213, 0, 0, 255]\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n \n \n \n \n \n \n blue\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [41, 121, 255, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n gold\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [240, 183, 98, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n green\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [29, 204, 101, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n red\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [213, 0, 0, 255]\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/util/prefixes.ts\n \n \n \n \n \n \n \n ccf\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: ccfx,\n base: prefixer('base'),\n ontologyNode: {\n label: ccfx('ccf_pref_label'),\n parent: ccfx('ccf_part_of'),\n children: ccfx('ccf_part_of'),\n rui_rank: ccfx('rui_rank'),\n synonymLabels: DataFactory.namedNode('http://www.geneontology.org/formats/oboInOwl#hasExactSynonym')\n },\n asctb: {\n part_of: ccfx('ccf_part_of'),\n ct_is_a: ccfx('ccf_ct_isa'),\n located_in: ccfx('ccf_located_in'),\n characterizes: ccfx('ccf_characterizes')\n },\n spatial: {\n Female: prefixer('base')('VHFemale'),\n Male: prefixer('base')('VHMale'),\n BothSexes: prefixer('base')('VHBothSexes'),\n FemaleOrgans: prefixer('base')('VHFemaleOrgans'),\n MaleOrgans: prefixer('base')('VHMaleOrgans')\n },\n SpatialObjectReference: ccfx('spatial_object_reference'),\n SpatialEntity: ccfx('spatial_entity'),\n SpatialPlacement: ccfx('spatial_placement'),\n spatialObjectReference: {\n file: ccfx('file_url'),\n file_format: ccfx('file_format'),\n file_subpath: ccfx('file_subpath')\n },\n extractionSet: {\n label: prefixer('rdfs')('label'),\n rui_rank: ccfx('rui_rank')\n },\n spatialEntity: {\n label: prefixer('rdfs')('label'),\n description: prefixer('rdfs')('comment'),\n creator: prefixer('dcterms')('creator'),\n creator_first_name: ccfx('creator_first_name'),\n creator_last_name: ccfx('creator_last_name'),\n creator_orcid: ccfx('creator_orcid'),\n creation_date: prefixer('dcterms')('created'),\n updated_date: ccfx('updated_date'),\n ccf_annotations: ccfx('collides_with'),\n representation_of: ccfx('representation_of'),\n reference_organ: ccfx('has_reference_organ'),\n extraction_set_for: ccfx('extraction_set_for'),\n extraction_set: ccfx('has_extraction_set'),\n sex: ccfx('organ_owner_sex'),\n side: ccfx('organ_side'),\n rui_rank: ccfx('rui_rank'),\n slice_thickness: ccfx('slice_thickness'),\n slice_count: ccfx('slice_count'),\n x_dimension: ccfx('x_dimension'),\n y_dimension: ccfx('y_dimension'),\n z_dimension: ccfx('z_dimension'),\n dimension_units: ccfx('dimension_unit'),\n object: ccfx('has_object_reference')\n },\n spatialPlacement: {\n source: ccfx('placement_for'),\n target: ccfx('placement_relative_to'),\n\n placement_date: prefixer('dcterms')('created'),\n x_scaling: ccfx('x_scaling'),\n y_scaling: ccfx('y_scaling'),\n z_scaling: ccfx('z_scaling'),\n scaling_units: ccfx('scaling_unit'),\n\n x_rotation: ccfx('x_rotation'),\n y_rotation: ccfx('y_rotation'),\n z_rotation: ccfx('z_rotation'),\n w_rotation: ccfx('theta_rotation'),\n rotation_order: ccfx('rotation_order'),\n rotation_units: ccfx('rotation_unit'),\n\n x_translation: ccfx('x_translation'),\n y_translation: ccfx('y_translation'),\n z_translation: ccfx('z_translation'),\n translation_units: ccfx('translation_unit')\n }\n}\n \n \n\n \n \n CCF specific ids.\n\n \n \n\n \n \n \n \n \n \n \n \n ccfx\n \n \n \n \n \n \n Default value : prefixer('ccf')\n \n \n\n \n \n CCF id helper.\n\n \n \n\n \n \n \n \n \n \n \n \n cl\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('cl'),\n cell: prefixer('cl')('0000000')\n}\n \n \n\n \n \n CL specific ids.\n\n \n \n\n \n \n \n \n \n \n \n \n entity\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n id: prefixer('ccf')('has_registration_location'),\n label: prefixer('rdfs')('label'),\n description: prefixer('rdfs')('comment'),\n link: ccfx('url'),\n\n sex: ccfx('sex'),\n age: ccfx('age'),\n bmi: ccfx('bmi'),\n\n Male: DataFactory.literal('Male'),\n Female: DataFactory.literal('Female'),\n\n consortiumName: ccfx('consortium_name'),\n providerName: ccfx('tissue_provider_name'),\n providerUUID: ccfx('tissue_provider_uuid'),\n\n donor: ccfx('comes_from'),\n\n sections: ccfx('subdivided_into_sections'),\n datasets: ccfx('generates_dataset'),\n\n sampleType: ccfx('sample_type'),\n\n TissueBlock: DataFactory.literal('Tissue Block'),\n TissueSection: DataFactory.literal('Tissue Section'),\n NonStandard: DataFactory.literal('Non-standard'),\n\n sectionCount: ccfx('section_count'),\n sectionSize: ccfx('section_size'),\n sectionUnits: ccfx('section_size_unit'),\n sectionNumber: ccfx('section_number'),\n\n spatialEntity: ccfx('has_registration_location'),\n ontologyTerms: ccfx('has_ontology_term'),\n cellTypeTerms: ccfx('has_cell_type_term'),\n\n technology: ccfx('technology'),\n thumbnail: ccfx('thumbnail')\n}\n \n \n\n \n \n Common entity ids.\n\n \n \n\n \n \n \n \n \n \n \n \n fma\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('fma')\n}\n \n \n\n \n \n FMA specific ids.\n\n \n \n\n \n \n \n \n \n \n \n \n lmha\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('lmha')\n}\n \n \n\n \n \n LMHA specific ids.\n\n \n \n\n \n \n \n \n \n \n \n \n prefixer\n \n \n \n \n \n \n Default value : Util.prefixes(PREFIXES, DataFactory)\n \n \n\n \n \n Prefix factory.\n\n \n \n\n \n \n \n \n \n \n \n \n PREFIXES\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n base: 'http://purl.org/ccf/latest/ccf.owl#',\n ccf: 'http://purl.org/ccf/',\n fma: 'http://purl.org/sig/ont/fma/fma',\n obo: 'http://purl.obolibrary.org/obo/',\n uberon: 'http://purl.obolibrary.org/obo/UBERON_',\n cl: 'http://purl.obolibrary.org/obo/CL_',\n lmha: 'http://purl.obolibrary.org/obo/LMHA_',\n rdf: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',\n rdfs: 'http://www.w3.org/2000/01/rdf-schema#',\n dc: 'http://purl.org/dc/elements/1.1/',\n dcterms: 'http://purl.org/dc/terms/'\n}\n \n \n\n \n \n Constants used to create entity accessors.\n\n \n \n\n \n \n \n \n \n \n \n \n rdf\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('rdf'),\n type: prefixer('rdf')('type')\n}\n \n \n\n\n \n \n \n \n \n \n \n \n rdfs\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('rdfs'),\n label: prefixer('rdfs')('label'),\n comment: prefixer('rdfs')('comment'),\n isDefinedBy: prefixer('rdfs')('isDefinedBy'),\n seeAlso: prefixer('rdfs')('seeAlso')\n}\n \n \n\n\n \n \n \n \n \n \n \n \n rui\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n body: uberon.body,\n cell: cl.cell,\n respiratory_system: uberon.x('0001004'),\n colon: uberon.x('0001155'),\n left_lung: uberon.x('0002168'),\n right_lung: uberon.x('0002167'),\n left_bronchus: uberon.x('0002178'),\n right_bronchus: uberon.x('0002177'),\n kidney: uberon.x('0002113'),\n ureter: uberon.x('0000056'),\n eye: uberon.x('0000970'),\n fallopian_tube: uberon.x('0003889'),\n knee: uberon.x('0001465'),\n ovary: uberon.x('0000992'),\n trachea: uberon.x('0003126'),\n aorta: uberon.x('0000947'),\n blood: uberon.x('0000178'),\n bone_marrow: uberon.x('0002371'),\n male_reproductive_system: uberon.x('0000079'),\n lymph_node: uberon.x('0000029'),\n\n // Derived using console.log(ALL_POSSIBLE_ORGANS.map(o => ` ${o.name.toLowerCase().replace(',', '').replace(/ /g, '_')}: ${o.id.split('/').slice(-1)[0].split('_')[0].toLowerCase()}.x('${o.id.split('_').slice(-1)[0]}'),`).join('\\n'));\n blood_vasculature: uberon.x('0004537'),\n brain: uberon.x('0000955'),\n eye_left: uberon.x('0004548'),\n eye_right: fma.x('54449'),\n fallopian_tube_left: uberon.x('0001303'),\n fallopian_tube_right: uberon.x('0001302'),\n heart: uberon.x('0000948'),\n kidney_left: uberon.x('0004538'),\n kidney_right: uberon.x('0004539'),\n knee_left: fma.x('24978'),\n knee_right: fma.x('24977'),\n large_intestine: uberon.x('0000059'),\n liver: uberon.x('0002107'),\n lungs: uberon.x('0002048'),\n mesenteric_lymph_node: uberon.x('0002509'),\n ovary_left: fma.x('7214'),\n ovary_right: fma.x('7213'),\n pancreas: uberon.x('0001264'),\n pelvis: uberon.x('0001270'),\n prostate_gland: uberon.x('0002367'),\n skin: uberon.x('0002097'),\n small_intestine: uberon.x('0002108'),\n spleen: uberon.x('0002106'),\n thymus: uberon.x('0002370'),\n ureter_left: uberon.x('0001223'),\n ureter_right: uberon.x('0001222'),\n urinary_bladder: uberon.x('0001255'),\n uterus: uberon.x('0000995')\n}\n \n \n\n \n \n RUI accessors.\n\n \n \n\n \n \n \n \n \n \n \n \n uberon\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('uberon'),\n body: prefixer('uberon')('0013702')\n}\n \n \n\n \n \n Uberon specific ids.\n\n \n \n\n \n \n\n projects/ccf-database/src/lib/util/patch-jsonld.ts\n \n \n \n \n \n \n \n CCF_CONTEXT\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n '@context': {\n '@base': 'http://purl.org/ccf/',\n '@vocab': 'http://purl.org/ccf/',\n 'ccf': 'http://purl.org/ccf/',\n 'rdfs': 'http://www.w3.org/2000/01/rdf-schema#',\n 'dcterms': 'http://purl.org/dc/terms/',\n 'label': 'rdfs:label',\n 'description': 'rdfs:comment',\n 'link': 'ccf:url',\n 'sex': 'ccf:sex',\n 'age': 'ccf:age',\n 'bmi': 'ccf:bmi',\n 'consortium_name': 'ccf:consortium_name',\n 'provider_name': 'ccf:tissue_provider_name',\n 'provider_uuid': 'ccf:tissue_provider_uuid',\n 'donor': {\n '@id': 'ccf:comes_from',\n '@type': '@id'\n },\n 'samples': {\n '@reverse': 'donor'\n },\n 'sections': {\n '@id': 'ccf:subdivided_into_sections',\n '@type': '@id'\n },\n 'datasets': {\n '@id': 'ccf:generates_dataset',\n '@type': '@id'\n },\n 'sample_type': 'ccf:sample_type',\n 'section_count': 'ccf:section_count',\n 'section_size': 'ccf:section_size',\n 'section_units': 'ccf:section_size_unit',\n 'section_number': 'ccf:section_number',\n 'rui_location': {\n '@id': 'ccf:has_registration_location',\n '@type': '@id'\n },\n 'ccf_annotations': {\n '@id': 'ccf:collides_with',\n '@type': '@id',\n '@container': '@set'\n },\n 'representation_of': {\n '@id': 'ccf:representation_of',\n '@type': '@id'\n },\n 'reference_organ': {\n '@id': 'ccf:has_reference_organ',\n '@type': '@id'\n },\n 'extraction_set_for': {\n '@id': 'ccf:extraction_set_for',\n '@type': '@id'\n },\n 'extraction_set': {\n '@id': 'ccf:has_extraction_set',\n '@type': '@id'\n },\n 'organ_owner_sex': 'ccf:organ_owner_sex',\n 'side': 'ccf:organ_side',\n 'rui_rank': 'ccf:rui_rank',\n 'slice_thickness': 'ccf:slice_thickness',\n 'slice_count': 'ccf:slice_count',\n 'object': {\n '@id': 'ccf:has_object_reference',\n '@type': '@id'\n },\n 'creation_date': 'dcterms:created',\n 'updated_date': 'ccf:updated_date',\n 'creator': 'dcterms:creator',\n 'creator_first_name': 'ccf:creator_first_name',\n 'creator_last_name': 'ccf:creator_last_name',\n 'placement': {\n '@reverse': 'ccf:placement_for'\n },\n 'placement_date': 'dcterms:created',\n 'rotation_order': 'ccf:rotation_order',\n 'dimension_units': 'ccf:dimension_unit',\n 'rotation_units': 'ccf:rotation_unit',\n 'scaling_units': 'ccf:scaling_unit',\n 'translation_units': 'ccf:translation_unit',\n 'source': {\n '@id': 'ccf:placement_for',\n '@type': '@id'\n },\n 'target': {\n '@id': 'ccf:placement_relative_to',\n '@type': '@id'\n },\n 'x_rotation': 'ccf:x_rotation',\n 'y_rotation': 'ccf:y_rotation',\n 'z_rotation': 'ccf:z_rotation',\n 'x_scaling': 'ccf:x_scaling',\n 'y_scaling': 'ccf:y_scaling',\n 'z_scaling': 'ccf:z_scaling',\n 'x_translation': 'ccf:x_translation',\n 'y_translation': 'ccf:y_translation',\n 'z_translation': 'ccf:z_translation',\n 'x_dimension': 'ccf:x_dimension',\n 'y_dimension': 'ccf:y_dimension',\n 'z_dimension': 'ccf:z_dimension',\n 'ontology_terms': {\n '@id': 'ccf:has_ontology_term',\n '@type': '@id'\n },\n 'technology': 'ccf:technology',\n 'thumbnail': 'ccf:thumbnail',\n 'file': 'ccf:file_url',\n 'file_format': 'ccf:file_format',\n 'file_subpath': 'ccf:file_subpath'\n }\n}\n \n \n\n \n \n CCF v2.0 JSON-LD Context\n\n \n \n\n \n \n\n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n \n \n \n \n \n \n datasetResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n ...listResultSet,\n [entity.technology.id]: 'technology',\n [entity.thumbnail.id]: 'thumbnail',\n}\n \n \n\n\n \n \n \n \n \n \n \n \n donorResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n ...listResultSet,\n [entity.providerName.id]: 'providerName'\n}\n \n \n\n\n \n \n \n \n \n \n \n \n listResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n [entity.label.id]: 'label',\n [entity.description.id]: 'description',\n [entity.link.id]: 'link'\n}\n \n \n\n \n \n Entity iri to property path.\n\n \n \n\n \n \n \n \n \n \n \n \n tissueBlockResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n ...listResultSet,\n [entity.sampleType.id]: 'sampleType',\n [entity.sectionCount.id]: 'sectionCount',\n [entity.sectionSize.id]: 'sectionSize',\n [entity.sectionUnits.id]: 'sectionUnits',\n\n [entity.donor.id]: 'donor',\n [entity.spatialEntity.id]: 'spatialEntityId',\n [entity.sections.id]: 'sections',\n [entity.datasets.id]: 'datasets',\n}\n \n \n\n\n \n \n \n \n \n \n \n \n tissueSectionResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n ...listResultSet,\n [entity.sampleType.id]: 'sampleType',\n [entity.sectionNumber.id]: 'sectionNumber',\n [entity.datasets.id]: 'datasets',\n}\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n \n \n \n \n \n \n DEFAULT_API_SEARCH_QUERY\n \n \n \n \n \n \n Default value : {\n exists: {\n field: 'rui_location'\n }\n}\n \n \n\n\n \n \n \n \n \n \n \n \n INCLUDED_DATA_FIELDS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n 'uuid', 'entity_type',\n 'group_uuid', 'group_name',\n 'last_modified_timestamp', 'created_by_user_displayname',\n 'ancestors.entity_type',\n 'ancestors.description',\n 'ancestors.metadata.organ_donor_data.preferred_term',\n 'ancestors.metadata.organ_donor_data.data_value',\n 'ancestors.metadata.living_donor_data.preferred_term',\n 'ancestors.metadata.living_donor_data.data_value',\n 'ancestors.last_modified_timestamp',\n 'ancestors.group_uuid',\n 'ancestors.group_name',\n 'ancestors.created_by_user_displayname',\n 'ancestors.uuid',\n 'descendants.entity_type',\n 'descendants.ingest_metadata.metadata.tissue_id',\n 'descendants.last_modified_timestamp',\n 'descendants.group_uuid',\n 'descendants.group_name',\n 'descendants.created_by_user_displayname',\n 'descendants.uuid',\n 'descendants.data_types',\n 'descendants.ingest_metadata.metadata.assay_type',\n 'descendants.thumbnail_file',\n 'descendants.metadata.files.rel_path',\n 'rui_location', 'sample_category'\n]\n \n \n\n\n \n \n \n \n \n \n \n \n PER_API_SEARCH_REQUEST_COUNT\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 10000\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/ccf-database.ts\n \n \n \n \n \n \n \n DEFAULT_CCF_DB_OPTIONS\n \n \n \n \n \n \n Type : CCFDatabaseOptions\n\n \n \n \n \n Default value : {\n ccfOwlUrl: 'https://purl.org/ccf/latest/ccf.owl',\n ccfContextUrl: 'https://purl.org/ccf/latest/ccf-context.jsonld',\n dataSources: [],\n hubmapDataService: 'static',\n hubmapPortalUrl: 'https://portal.hubmapconsortium.org/',\n hubmapDataUrl: '',\n hubmapAssetsUrl: 'https://assets.hubmapconsortium.org'\n}\n \n \n\n \n \n Default initialization options.\n\n \n \n\n \n \n\n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n \n \n \n \n \n \n DR1_VU_THUMBS\n \n \n \n \n \n \n Default value : new Set(['VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg', 'VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0003-LK-32-21-PAS_registered_thumbnail.jpg', 'VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg', 'VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0005-RK-1-1-PAS_registered_thumbnail.jpg', 'VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg', 'VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0005-RK-4-172-PAS_registered_thumbnail.jpg', 'VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg', 'VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0006-LK-2-85-PAS_registered_thumbnail.jpg', 'VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg', 'VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0007-LK-203-103-PAS_registered_thumbnail.jpg', 'VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg', 'VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0008-RK-403-100-PAS_registered_thumbnail.jpg', 'VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg', 'VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0009-LK-102-7-PAS_registered_thumbnail.jpg', 'VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg', 'VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0010-LK-155-40-PAS_registered_thumbnail.jpg', 'VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg', 'VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0011-RK-3-10-PAS_registered_thumbnail.jpg', 'VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg', 'VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0012-RK-103-75-PAS_registered_thumbnail.jpg', 'VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg', 'VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0013-LK-202-96-PAS_registered_thumbnail.jpg', 'VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg', 'VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg', 'VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0014-LK-203-108-PAS_registered_thumbnail.jpg', 'VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg', 'VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0016-LK-202-89-PAS_registered_thumbnail.jpg', 'VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg', 'VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0003-LK-32-21-PAS_registered_thumbnail.jpg', 'VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg', 'VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0005-RK-1-1-PAS_registered_thumbnail.jpg', 'VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg', 'VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0005-RK-4-172-PAS_registered_thumbnail.jpg', 'VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg', 'VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0006-LK-2-85-PAS_registered_thumbnail.jpg', 'VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg', 'VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0007-LK-203-103-PAS_registered_thumbnail.jpg', 'VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg', 'VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0008-RK-403-100-PAS_registered_thumbnail.jpg', 'VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg', 'VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0011-RK-3-10-PAS_registered_thumbnail.jpg', 'VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg', 'VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0012-RK-103-75-PAS_registered_thumbnail.jpg', 'VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg'])\n \n \n\n\n \n \n \n \n \n \n \n \n ENTITY_CONTEXT\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld'\n \n \n\n\n \n \n \n \n \n \n \n \n GROUP_UUID_MAPPING\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n '03b3d854-ed44-11e8-8bce-0e368f3075e8': 'TMC-UCSD',\n '07a29e4c-ed43-11e8-b56a-0e8017bdda58': 'TMC-Florida',\n '308f5ffc-ed43-11e8-b56a-0e8017bdda58': 'TMC-CalTech',\n '5bd084c8-edc2-11e8-802f-0e368f3075e8': 'HBM-TestingGroup',\n '73bb26e4-ed43-11e8-8f19-0a7c1eab007a': 'TMC-Vanderbilt',\n 'def5fd76-ed43-11e8-b56a-0e8017bdda58': 'TMC-Stanford',\n '5c106f29-ea2d-11e9-85e8-0efb3ba9a670': 'RTI-General Electric',\n '301615f9-c870-11eb-a8dc-35ce3d8786fe': 'TMC-UConn'\n}\n \n \n\n \n \n UUID to TMC mapping.\n\n \n \n\n \n \n \n \n \n \n \n \n HBM_PREFIX\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'https://entity.api.hubmapconsortium.org/entities/'\n \n \n\n\n \n \n \n \n \n \n \n \n UFL_THUMBS\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : { 'HBM558.SRZG.629': 'HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg', 'HBM562.NTMH.548': 'HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg', 'HBM685.KHRQ.684': 'HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg', 'HBM278.SFQW.627': 'HBM278.SFQW.627_UFL0008-LY09-1-1.jpg', 'HBM427.SMGB.866': 'HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg', 'HBM432.LLCF.677': 'HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg', 'HBM586.ZSVS.996': 'HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg', 'HBM285.XMBT.542': 'HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg', 'HBM289.BWJW.663': 'HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg', 'HBM255.SRPR.985': 'HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg', 'HBM799.WXHD.535': 'HBM799.WXHD.535_UFL0009-LY02-1-1.jpg', 'HBM294.RZFN.624': 'HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg', 'HBM383.TRQG.424': 'HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg', 'HBM647.MFQB.496': 'HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg', 'HBM237.GGPR.739': 'HBM237.GGPR.739_UFL0006-LY01-1-1.jpg', 'HBM288.TPBD.654': 'HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg', 'HBM974.NDXT.675': 'HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg', 'HBM589.SLVV.423': 'HBM589.SLVV.423_UFL0008-LY10-1-1.jpg', 'HBM794.RLFN.358': 'HBM794.RLFN.358_UFL0006-LY03-1-1.jpg', 'HBM372.BQSR.778': 'HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg', 'HBM499.TKDW.458': 'HBM499.TKDW.458_UFL0009-LY03-1-1.jpg', 'HBM342.PRQB.739': 'HBM342.PRQB.739_UFL0003-LY06-1-1.jpg', 'HBM633.CLVN.674': 'HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg', 'HBM343.JQKM.578': 'HBM343.JQKM.578_UFL0009-LY01-1-1.jpg', 'HBM987.XGTH.368': 'HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg', 'HBM964.CWCP.788': 'HBM964.CWCP.788_UFL0006-LY02-2-1.jpg', 'HBM244.TJLK.223': 'HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg', 'HBM646.FSBQ.966': 'HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg', 'HBM572.GXSB.234': 'HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg', 'HBM772.TKGJ.794': 'HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg', 'HBM239.CBWR.263': 'HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg', 'HBM992.NRTT.383': 'HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg', 'HBM283.DQXD.546': 'HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg', 'HBM795.JHND.856': 'HBM795.JHND.856_UFL0007-SP-1-2-1.jpg', 'HBM267.BZKT.867': 'HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg', 'HBM838.DLMJ.782': 'HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg', 'HBM337.FSXL.564': 'HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg', 'HBM355.JDLK.244': 'HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg', 'HBM599.PSZG.737': 'HBM599.PSZG.737_UFL0006-LY02-1-1.jpg' }\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n \n \n \n \n \n \n getAnatomicalStructureTreeModel\n \n \n \n \n \n \n Default value : memoize(getAnatomicalStructureTreeModelSlowly, () => '')\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n \n \n \n \n \n \n mappings\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n spatialObjectReference: reverseMapping(ccf.spatialObjectReference),\n spatialEntity: reverseMapping(ccf.spatialEntity),\n spatialPlacement: reverseMapping(ccf.spatialPlacement)\n}\n \n \n\n \n \n A mapping of spatial objects.\n\n \n \n\n \n \n\n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n \n \n \n \n \n \n spatialEntityDimensions\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n [ccf.spatialEntity.x_dimension.id]: 'x',\n [ccf.spatialEntity.y_dimension.id]: 'y',\n [ccf.spatialEntity.z_dimension.id]: 'z'\n}\n \n \n\n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} + "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/interfaces/AggregateResult.html",[0,0.246,1,0.813]],["body/interfaces/AggregateResult.html",[0,0.478,1,1.101,2,0.256,3,0.256,4,0.296,5,0.181,6,0.218,7,0.949,8,1.042,9,1.581,10,1.101,11,0.029,12,0.297,13,0.459,14,1.713,15,1.07,16,0.61,17,0.032,18,0.44,19,0.359,20,1.101,21,1.402,22,1.101,23,0.658,24,0.743,25,1.345,26,0.779,27,0.949,28,0.876,29,0.876,30,1.028,31,1.028,32,1.402,33,0.949,34,1.028,35,0.949,36,0.949,37,1.028,38,1.028,39,0.625,40,0.807,41,0.949,42,0.876,43,0.949,44,1.028,45,0.949,46,0.906,47,1.527,48,0.952,49,0.606,50,1.194,51,1.194,52,0.876,53,1.459,54,1.194,55,1.042,56,0.74,57,0.74,58,0.949,59,0.424,60,0.949,61,1.402,62,1.358,63,1.101,64,0.471,65,0.38,66,1.028,67,1.294,68,1.566,69,1.575,70,1.194,71,1.459,72,1.294,73,1.402,74,1.194,75,1.028,76,1.581,77,1.358,78,1.297,79,0.949,80,1.345,81,1.472,82,0.807,83,1.402,84,0.949,85,1.472,86,1.028,87,0.949,88,0.625,89,1.028,90,1.792,91,0.949,92,0.427,93,0.709,94,0.876,95,0.949,96,0.949,97,1.028,98,0.876,99,0.866,100,0.642,101,0.642,102,1.358,103,1.358,104,1.641,105,1.459,106,1.294,107,0.642,108,1.402,109,1.294,110,0.949,111,0.93,112,0.949,113,1.402,114,0.93,115,1.194,116,0.779,117,1.472,118,1.595,119,0.74,120,0.779,121,0.779,122,1.028,123,0.658,124,0.807,125,0.571,126,0.949,127,0.876,128,0.625,129,0.807,130,1.402,131,1.028,132,1.028,133,1.194,134,1.294,135,1.028,136,0.949,137,0.471,138,1.028,139,0.876,140,0.876,141,0.876,142,1.581,143,1.358,144,0.876,145,1.028,146,1.101,147,0.949,148,1.028,149,1.028,150,0.949,151,0.743,152,0.949,153,0.807,154,1.294,155,0.949,156,1.028,157,0.949,158,0.021,159,0.015]],["title/interfaces/CCFDatabaseOptions.html",[0,0.246,160,2.094]],["body/interfaces/CCFDatabaseOptions.html",[0,0.166,1,0.548,2,0.264,3,0.174,4,0.484,5,0.123,6,0.148,8,0.425,9,0.978,10,0.832,11,0.019,12,0.148,13,0.347,16,0.588,17,0.032,18,0.225,19,0.339,23,0.42,24,0.504,25,0.832,26,0.987,40,0.832,46,0.931,49,0.347,51,1.477,56,0.288,57,0.288,58,1.183,63,0.832,64,0.485,65,0.721,68,0.548,78,0.703,80,0.548,82,0.548,92,0.432,104,1.38,105,0.903,107,0.655,111,1.021,123,0.288,124,1.422,128,1.276,137,0.655,146,1.272,151,0.926,153,0.548,157,0.644,158,0.023,159,0.023,160,3.109,161,1.054,162,1.586,163,3.732,164,4.013,165,4.391,166,4.013,167,4.013,168,4.013,169,4.013,170,4.013,171,4.463,172,4.463,173,1.351,174,3.825,175,3.342,176,3.234,177,1.93,178,3.306,179,3.306,180,1.468,181,3.297,182,2.765,183,2.801,184,3.251,185,3.732,186,2.142,187,2.765,188,2.765,189,3.269,190,2.177,191,3.306,192,1.821,193,1.821,194,1.821,195,1.586,196,2.765,197,1.68,198,1.821,199,2.177,200,2.177,201,4.013,202,2.177,203,3.342,204,2.177,205,4.408,206,2.912,207,1.586,208,2.142,209,1.68,210,3.342,211,1.93,212,1.271,213,3.157,214,1.586,215,2.177,216,1.821,217,2.765,218,2.765,219,2.177,220,1.821,221,2.177,222,3.496,223,1.821,224,1.821,225,3.306,226,4.524,227,1.821,228,1.586,229,2.765,230,1.821,231,1.411,232,1.821,233,2.177,234,0.82,235,1.42,236,1.271,237,2.142,238,2.177,239,2.177,240,1.821,241,2.177,242,1.821,243,2.177,244,0.756,245,1.821,246,3.997,247,1.411,248,1.154,249,3.044,250,2.408,251,1.821,252,1.821,253,1.586,254,1.821,255,1.821,256,0.889,257,1.753,258,3.306,259,2.177,260,2.177,261,3.732,262,2.177,263,4.574,264,4.926,265,1.821,266,5.409,267,2.509,268,2.177,269,1.821,270,3.342,271,3.306,272,3.306,273,3.306,274,3.306,275,2.177,276,3.557,277,3.306,278,3.402,279,1.586,280,5.157,281,2.177,282,3.306,283,3.306,284,2.177,285,4.463,286,2.177,287,3.306,288,4.467,289,3.328,290,2.177,291,1.753,292,2.177,293,3.997,294,2.177,295,2.177,296,2.177,297,2.177,298,2.177,299,2.177,300,2.177,301,2.177,302,2.177,303,2.177,304,3.306,305,2.177,306,3.306,307,2.177,308,3.306,309,2.177,310,1.755,311,3.997,312,2.177,313,2.177,314,2.177,315,2.177,316,2.177,317,2.177,318,2.177,319,2.765,320,2.177,321,1.821,322,2.177,323,2.177,324,2.177,325,2.177,326,2.177,327,2.177,328,3.306,329,1.586,330,2.177,331,2.177,332,3.306,333,2.177,334,3.306,335,2.177,336,2.177,337,2.177,338,2.177,339,2.177,340,3.306,341,2.177,342,2.177,343,2.177,344,2.177,345,2.177,346,2.177,347,2.177,348,2.177,349,2.177,350,2.177,351,2.177,352,2.177,353,2.177,354,2.177,355,3.306,356,2.177,357,2.177,358,2.177,359,2.177,360,2.177,361,2.177,362,2.177,363,3.306,364,3.997,365,2.177,366,2.177,367,2.177,368,2.177,369,2.177,370,2.177,371,2.177,372,2.177,373,1.821,374,2.177,375,2.177,376,1.821,377,2.177,378,2.177,379,2.177,380,2.177,381,3.306,382,3.306,383,2.177,384,3.997,385,2.177,386,2.177,387,2.177,388,2.177,389,2.177,390,1.586,391,5.052,392,2.177,393,2.177,394,2.177,395,2.177,396,2.177,397,3.342,398,1.821,399,2.177,400,2.177,401,3.997,402,2.177,403,2.765,404,2.177,405,2.765,406,2.765,407,2.408,408,2.765,409,2.142,410,3.306,411,3.306,412,3.306,413,2.177,414,2.142,415,2.177,416,2.765,417,2.177,418,2.177,419,3.732,420,3.306,421,2.177,422,2.177,423,2.177,424,2.177,425,2.177,426,2.177,427,3.306,428,4.799,429,2.177,430,2.177,431,2.912,432,2.177,433,2.177,434,1.821,435,2.177,436,2.177,437,2.892,438,2.142,439,1.411,440,2.177,441,2.765,442,3.732,443,1.054,444,2.765,445,1.586,446,2.177,447,1.148,448,1.586,449,1.586,450,2.177,451,1.821,452,2.765,453,2.177]],["title/classes/CCFDatabaseStatusTracker.html",[237,2.094,256,1.32]],["body/classes/CCFDatabaseStatusTracker.html",[2,0.325,3,0.325,4,0.375,5,0.23,6,0.43,11,0.019,12,0.277,13,0.536,16,0.515,17,0.032,18,0.347,19,0.341,23,0.427,24,1.294,25,1.634,26,1.178,27,1.734,28,1.682,29,1.707,36,1.204,41,1.734,45,1.786,59,0.538,68,1.024,78,0.866,137,0.886,158,0.024,159,0.027,189,2.709,209,1.532,213,2.374,237,3.311,247,3.311,249,2.157,256,1.662,257,3.2,261,4.671,263,3.722,265,3.402,276,2.982,279,4.069,288,4.069,289,2.709,416,5.228,454,2.636,455,5.288,456,3.402,457,4.273,458,3.722,459,4.9,460,5.859,461,2.964,462,4.068,463,4.051,464,5.109,465,2.964,466,4.068,467,4.068,468,4.068,469,4.068,470,4.068,471,4.068,472,6.322,473,5.109,474,2.636,475,4.068,476,5.109,477,5.109,478,5.109,479,4.068,480,4.068,481,4.068,482,3.402,483,5.109,484,4.068,485,4.068,486,4.068,487,4.068,488,4.068,489,4.068,490,4.068,491,4.068]],["title/classes/CCFSpatialGraph.html",[208,2.094,256,1.32]],["body/classes/CCFSpatialGraph.html",[3,0.247,4,0.57,5,0.175,6,0.405,11,0.02,12,0.211,13,0.448,16,0.607,17,0.032,18,0.429,19,0.359,23,0.448,26,0.552,49,0.58,59,0.731,92,0.498,119,0.8,137,0.811,158,0.02,159,0.015,161,2.887,173,1.266,176,1.809,177,1.809,189,3.245,197,1.167,203,3.571,205,3.56,206,2.258,207,2.258,208,2.767,209,1.608,210,4.086,231,2.008,234,1.84,235,1.635,236,1.809,247,2.008,248,1.643,249,3.441,253,2.258,256,1.266,257,2.792,267,2.453,270,2.592,276,3.224,289,3.101,291,1.643,310,2.126,321,4.775,376,4.086,397,4.985,403,2.592,405,2.592,406,2.592,407,2.258,408,2.592,409,2.008,414,2.767,451,3.571,452,5.171,454,2.008,458,3.111,461,2.258,463,3.791,465,4.024,474,2.767,492,2.592,493,4.27,494,4.27,495,5.266,496,4.086,497,4.27,498,2.592,499,4.27,500,3.111,501,4.27,502,3.099,503,4.27,504,3.099,505,3.099,506,3.099,507,4.27,508,3.099,509,5.523,510,4.159,511,4.27,512,3.099,513,2.258,514,2.008,515,4.27,516,3.571,517,3.099,518,2.592,519,3.099,520,2.592,521,3.099,522,3.099,523,3.099,524,2.008,525,2.079,526,2.258,527,2.258,528,4.27,529,2.435,530,2.592,531,4.024,532,2.008,533,3.099,534,3.166,535,2.258,536,3.073,537,1.809,538,3.56,539,3.111,540,2.258,541,4.886,542,3.099,543,3.099,544,3.099,545,4.27,546,3.099,547,3.099,548,3.099,549,3.099,550,3.099,551,3.099,552,3.099,553,3.099,554,3.099,555,2.258,556,3.099,557,4.27,558,1.501,559,4.27,560,4.27,561,1.167,562,4.27,563,3.099,564,3.099,565,3.099,566,3.099,567,2.592,568,4.27,569,3.099,570,4.27,571,4.27,572,3.099,573,3.099,574,3.099,575,3.099,576,4.27,577,3.099,578,3.099,579,3.099,580,4.27,581,3.56,582,3.099,583,3.099,584,3.099,585,4.27,586,3.099,587,3.099,588,3.099,589,3.111,590,4.27,591,3.099,592,5.709,593,3.099,594,3.099,595,3.099,596,3.099,597,3.099,598,3.099,599,3.099,600,3.56,601,3.099,602,3.099,603,3.099,604,3.099,605,2.592,606,3.099,607,1.377,608,3.099,609,1.377,610,3.099,611,1.377,612,3.099,613,1.377,614,3.099,615,1.377,616,3.099,617,1.377,618,3.099,619,1.377,620,3.099,621,1.377,622,3.099,623,1.377,624,3.099,625,1.377,626,3.099,627,1.377,628,3.099,629,1.377,630,3.099,631,1.377,632,3.099,633,1.377]],["title/classes/CCFSpatialScene.html",[211,1.886,256,1.32]],["body/classes/CCFSpatialScene.html",[0,0.2,2,0.21,3,0.21,4,0.35,5,0.148,6,0.419,11,0.018,12,0.179,16,0.598,17,0.032,18,0.379,19,0.35,20,0.661,23,0.469,26,0.468,49,0.399,59,0.808,92,0.495,100,0.655,101,0.655,114,0.559,119,0.59,123,0.756,128,1.263,129,1.123,137,0.889,140,0.717,141,1.219,146,1.231,158,0.018,159,0.012,161,2.981,176,1.533,189,2.868,209,1.43,211,2.217,212,3.678,213,1.533,231,1.702,235,1.856,236,1.533,248,2.593,249,3.264,256,1.073,257,2.593,267,1.166,276,3.532,278,2.462,289,3.306,291,3.238,310,2.08,414,2.462,438,1.702,439,3.363,443,2.819,445,2.768,447,1.803,448,2.768,449,2.768,454,1.702,458,2.768,461,1.913,463,3.957,465,4.409,474,1.702,498,2.196,500,2.768,510,2.768,513,1.913,514,1.702,526,1.913,531,3.781,532,2.892,534,3.772,535,1.913,536,2.605,537,1.533,538,4.241,539,1.913,540,1.913,555,1.913,589,2.768,600,1.913,634,1.533,635,3.252,636,3.799,637,3.252,638,3.252,639,3.799,640,3.799,641,3.799,642,3.799,643,3.799,644,3.799,645,3.252,646,2.626,647,3.177,648,2.626,649,3.177,650,2.626,651,5.41,652,3.177,653,2.626,654,1.803,655,3.177,656,2.626,657,3.177,658,2.626,659,2.626,660,2.626,661,3.177,662,2.626,663,3.177,664,2.626,665,2.626,666,3.177,667,4.091,668,3.733,669,2.626,670,3.177,671,2.626,672,2.768,673,1.913,674,3.941,675,2.462,676,1.913,677,1.913,678,1.687,679,1.552,680,1.552,681,1.552,682,3.733,683,4.524,684,3.733,685,3.177,686,3.177,687,3.177,688,2.196,689,2.053,690,3.252,691,3.177,692,3.177,693,2.196,694,2.196,695,2.196,696,2.196,697,2.196,698,2.196,699,4.091,700,4.091,701,2.196,702,2.196,703,2.196,704,2.196,705,4.34,706,2.196,707,3.177,708,3.177,709,3.177,710,2.196,711,2.196,712,2.196,713,2.196,714,2.768,715,2.196,716,3.177,717,3.177,718,2.196,719,4.524,720,3.177,721,3.177,722,3.733,723,3.177,724,4.61,725,3.177,726,3.177,727,3.177,728,2.196,729,2.196,730,3.177,731,3.177,732,2.196,733,2.196,734,4.34,735,2.196,736,2.196,737,2.196,738,2.196,739,2.196,740,3.177,741,2.196,742,2.196,743,2.196,744,2.196,745,2.196,746,2.196,747,2.196,748,2.196,749,2.196,750,3.177,751,3.177,752,2.196,753,2.196,754,2.196,755,4.34,756,2.196,757,2.196,758,2.196,759,2.196,760,4.091,761,2.196,762,2.196,763,2.196,764,3.177,765,2.196,766,2.196,767,1.166,768,2.196,769,2.196,770,2.196,771,2.196,772,2.196,773,1.702,774,2.196,775,2.196,776,2.196,777,2.196,778,2.196,779,2.196,780,2.196,781,2.196,782,2.196,783,2.196]],["title/interfaces/DatabaseStatus.html",[0,0.246,24,0.749]],["body/interfaces/DatabaseStatus.html",[0,0.476,1,0.787,2,0.25,3,0.25,4,0.288,5,0.177,6,0.213,7,0.925,8,1.08,9,1.272,10,0.787,11,0.028,12,0.292,13,0.451,14,1.003,15,0.987,16,0.607,17,0.032,18,0.442,19,0.361,20,0.787,21,1.003,22,0.787,23,0.656,24,0.995,25,1.559,26,0.987,27,1.453,28,1.341,29,1.341,30,1.378,31,1.378,32,1.695,33,1.272,34,1.378,35,1.272,36,1.564,37,1.378,38,1.378,39,0.838,40,1.081,41,1.564,42,1.173,43,1.272,44,1.378,45,1.564,46,0.898,47,1.513,48,0.942,49,0.601,50,1.173,51,1.173,52,0.854,53,1.443,54,1.173,55,1.031,56,0.733,57,0.733,58,0.925,59,0.414,60,0.925,61,1.378,62,1.341,63,1.081,64,0.459,65,0.37,66,1.003,67,1.272,68,1.559,69,1.563,70,1.173,71,1.443,72,1.272,73,1.378,74,1.173,75,1.003,76,1.564,77,1.341,78,1.29,79,0.925,80,1.33,81,1.453,82,0.787,83,1.378,84,0.925,85,1.453,86,1.003,87,0.925,88,0.61,89,1.003,90,1.777,91,0.925,92,0.422,93,0.697,94,0.854,95,0.925,96,0.925,97,1.003,98,0.854,99,0.857,100,0.631,101,0.631,102,1.341,103,1.341,104,1.631,105,1.443,106,1.272,107,0.631,108,1.378,109,1.272,110,0.925,111,0.914,112,0.925,113,1.378,114,0.914,115,1.173,116,0.765,117,1.453,118,1.574,119,0.733,120,0.765,121,0.765,122,1.003,123,0.649,124,0.787,125,0.557,126,0.925,127,0.854,128,0.61,129,0.787,130,1.378,131,1.003,132,1.003,133,1.173,134,1.272,135,1.003,136,0.925,137,0.861,138,1.003,139,0.854,140,0.854,141,0.854,142,1.564,143,1.341,144,0.854,145,1.003,146,1.081,147,0.925,148,1.003,149,1.003,150,0.925,151,0.724,152,0.925,153,0.787,154,1.272,155,0.925,156,1.003,157,0.925,158,0.02,159,0.015]],["title/interfaces/DatasetResult.html",[0,0.246,62,0.882]],["body/interfaces/DatasetResult.html",[0,0.478,1,0.804,2,0.255,3,0.255,4,0.294,5,0.181,6,0.217,7,0.946,8,1.04,9,1.291,10,0.804,11,0.028,12,0.296,13,0.458,14,1.024,15,0.995,16,0.61,17,0.032,18,0.437,19,0.365,20,0.804,21,1.024,22,0.804,23,0.658,24,0.74,25,1.342,26,0.777,27,0.946,28,0.872,29,0.872,30,1.024,31,1.024,32,1.398,33,0.946,34,1.024,35,0.946,36,0.946,37,1.024,38,1.024,39,0.623,40,0.804,41,0.946,42,0.872,43,0.946,44,1.024,45,0.946,46,0.934,47,1.574,48,0.95,49,0.605,50,1.191,51,1.356,52,0.872,53,1.456,54,1.191,55,1.089,56,0.762,57,0.762,58,0.946,59,0.423,60,0.946,61,1.592,62,1.456,63,1.45,64,0.64,65,0.516,66,1.398,67,1.705,68,1.565,69,1.574,70,1.191,71,1.456,72,1.291,73,1.398,74,1.191,75,1.024,76,1.579,77,1.356,78,1.296,79,0.946,80,1.342,81,1.469,82,0.804,83,1.398,84,0.946,85,1.469,86,1.024,87,0.946,88,0.623,89,1.024,90,1.79,91,0.946,92,0.426,93,0.707,94,0.872,95,0.946,96,0.946,97,1.024,98,0.872,99,0.865,100,0.64,101,0.64,102,1.356,103,1.356,104,1.639,105,1.456,106,1.291,107,0.64,108,1.398,109,1.291,110,0.946,111,0.928,112,0.946,113,1.398,114,0.928,115,1.191,116,0.777,117,1.469,118,1.592,119,0.739,120,0.777,121,0.777,122,1.024,123,0.657,124,0.804,125,0.569,126,0.946,127,0.872,128,0.623,129,0.804,130,1.398,131,1.024,132,1.024,133,1.191,134,1.291,135,1.024,136,0.946,137,0.469,138,1.024,139,0.872,140,0.872,141,0.872,142,1.579,143,1.356,144,0.872,145,1.024,146,1.098,147,0.946,148,1.024,149,1.024,150,0.946,151,0.74,152,0.946,153,0.804,154,1.291,155,0.946,156,1.024,157,0.946,158,0.021,159,0.015]],["title/interfaces/DonorResult.html",[0,0.246,54,0.882]],["body/interfaces/DonorResult.html",[0,0.479,1,0.81,2,0.257,3,0.257,4,0.297,5,0.182,6,0.219,7,0.952,8,1.043,9,1.297,10,0.81,11,0.029,12,0.298,13,0.46,14,1.032,15,0.997,16,0.608,17,0.032,18,0.438,19,0.364,20,0.81,21,1.032,22,0.81,23,0.659,24,0.746,25,1.347,26,0.781,27,0.952,28,0.879,29,0.879,30,1.032,31,1.032,32,1.405,33,0.952,34,1.032,35,0.952,36,0.952,37,1.032,38,1.032,39,0.628,40,0.81,41,0.952,42,0.879,43,0.952,44,1.032,45,0.952,46,0.936,47,1.577,48,0.953,49,0.606,50,1.197,51,1.197,52,0.879,53,1.528,54,1.361,55,1.091,56,0.764,57,0.764,58,1.297,59,0.58,60,1.583,61,1.405,62,1.361,63,1.103,64,0.473,65,0.381,66,1.032,67,1.297,68,1.567,69,1.577,70,1.197,71,1.461,72,1.297,73,1.405,74,1.197,75,1.032,76,1.583,77,1.361,78,1.298,79,0.952,80,1.347,81,1.475,82,0.81,83,1.405,84,0.952,85,1.475,86,1.032,87,0.952,88,0.628,89,1.032,90,1.795,91,0.952,92,0.427,93,0.71,94,0.879,95,0.952,96,0.952,97,1.032,98,0.879,99,0.867,100,0.644,101,0.644,102,1.361,103,1.361,104,1.642,105,1.461,106,1.297,107,0.644,108,1.405,109,1.297,110,0.952,111,0.933,112,0.952,113,1.405,114,0.933,115,1.197,116,0.781,117,1.475,118,1.598,119,0.74,120,0.781,121,0.781,122,1.032,123,0.659,124,0.81,125,0.573,126,0.952,127,0.879,128,0.628,129,0.81,130,1.405,131,1.032,132,1.032,133,1.197,134,1.297,135,1.032,136,0.952,137,0.473,138,1.032,139,0.879,140,0.879,141,0.879,142,1.583,143,1.361,144,0.879,145,1.032,146,1.103,147,0.952,148,1.032,149,1.032,150,0.952,151,0.746,152,0.952,153,0.81,154,1.297,155,0.952,156,1.032,157,0.952,158,0.021,159,0.015]],["title/interfaces/ExtractionSet.html",[0,0.246,654,1.122]],["body/interfaces/ExtractionSet.html",[0,0.449,2,0.274,3,0.274,4,0.527,5,0.311,6,0.233,8,0.67,11,0.016,12,0.233,13,0.481,15,1.087,16,0.614,17,0.032,18,0.446,19,0.364,23,0.618,39,0.893,46,0.742,48,1.048,49,0.631,55,0.893,56,0.454,57,0.454,59,0.807,64,0.504,65,0.61,88,1.071,92,0.439,93,1.051,99,0.557,100,0.672,101,0.672,107,0.84,116,0.979,119,0.727,120,0.979,121,0.979,123,0.757,125,0.612,158,0.022,159,0.016,173,1.871,180,1.526,197,1.724,234,1.293,235,1.778,244,1.193,310,1.59,447,1.59,525,1.724,529,1.871,558,1.663,561,2.068,607,1.526,609,1.526,611,1.526,613,1.526,615,1.526,617,1.526,619,1.526,621,1.526,623,1.526,625,1.526,627,1.526,629,1.526,631,1.526,633,1.526,654,1.789,678,1.526,679,1.403,680,1.403,681,1.403,689,1.193,767,1.526,784,1.663,785,1.663,786,2.661,787,2.661,788,2.913,789,1.663,790,1.821,791,1.663,792,2.427,793,2.217,794,2.771,795,1.663,796,1.663,797,1.821,798,1.663,799,1.663,800,1.821,801,2.427,802,1.663,803,1.821,804,1.821,805,1.821,806,2.731,807,1.663,808,1.663,809,2.427,810,2.427,811,2.217,812,2.217,813,2.034,814,1.821,815,1.821,816,1.821,817,1.663,818,1.821,819,1.821,820,2.427,821,2.217,822,1.663,823,1.663,824,3.38,825,1.663,826,1.663,827,1.663,828,1.663,829,1.821,830,1.821,831,2.288,832,1.663,833,2.913,834,2.731,835,3.034,836,1.821,837,1.663,838,1.821,839,1.821,840,2.913]],["title/interfaces/Filter.html",[0,0.246,128,0.63]],["body/interfaces/Filter.html",[0,0.475,1,0.77,2,0.244,3,0.244,4,0.282,5,0.173,6,0.208,7,0.906,8,1.021,9,1.253,10,0.77,11,0.028,12,0.288,13,0.444,14,0.981,15,0.979,16,0.611,17,0.032,18,0.445,19,0.366,20,0.77,21,0.981,22,0.77,23,0.653,24,0.709,25,1.318,26,0.754,27,0.906,28,0.836,29,0.836,30,0.981,31,0.981,32,1.357,33,0.906,34,0.981,35,0.906,36,0.906,37,0.981,38,0.981,39,0.597,40,0.77,41,0.906,42,0.836,43,0.906,44,0.981,45,0.906,46,0.891,47,1.501,48,0.933,49,0.597,50,1.156,51,1.156,52,0.836,53,1.43,54,1.156,55,1.021,56,0.727,57,0.727,58,0.906,59,0.405,60,0.906,61,1.357,62,1.325,63,1.065,64,0.449,65,0.362,66,0.981,67,1.253,68,1.553,69,1.553,70,1.156,71,1.43,72,1.253,73,1.357,74,1.156,75,0.981,76,1.55,77,1.325,78,1.284,79,0.906,80,1.318,81,1.436,82,0.77,83,1.357,84,0.906,85,1.436,86,0.981,87,0.906,88,0.597,89,0.981,90,1.763,91,0.906,92,0.439,93,0.686,94,0.836,95,0.906,96,0.906,97,0.981,98,0.836,99,0.963,100,0.769,101,0.769,102,1.43,103,1.43,104,1.647,105,1.553,106,1.627,107,0.622,108,1.556,109,1.627,110,0.906,111,1.033,112,0.906,113,1.357,114,0.901,115,1.43,116,0.754,117,1.436,118,1.556,119,0.727,120,0.754,121,0.754,122,0.981,123,0.642,124,1.065,125,0.754,126,1.253,127,1.156,128,0.825,129,1.222,130,1.679,131,1.679,132,1.679,133,1.553,134,1.683,135,1.679,136,1.253,137,0.769,138,1.357,139,1.156,140,1.43,141,1.325,142,1.55,143,1.325,144,0.836,145,0.981,146,1.065,147,0.906,148,0.981,149,0.981,150,0.906,151,0.709,152,0.906,153,0.77,154,1.253,155,0.906,156,0.981,157,0.906,158,0.02,159,0.015]],["title/interfaces/FlatSpatialPlacement.html",[0,0.246,234,1.216]],["body/interfaces/FlatSpatialPlacement.html",[0,0.45,2,0.277,3,0.277,4,0.571,5,0.312,6,0.236,11,0.016,12,0.236,13,0.484,15,0.983,16,0.614,17,0.032,18,0.446,19,0.354,23,0.62,39,0.899,46,0.563,48,1.023,49,0.579,55,1.01,56,0.459,57,0.459,59,0.797,64,0.51,65,0.613,88,1.076,92,0.441,93,1.056,99,0.563,100,0.677,101,0.677,107,0.76,116,0.983,119,0.809,120,0.983,121,0.983,123,0.797,125,0.618,158,0.022,159,0.016,173,1.884,180,1.542,197,1.736,234,1.736,235,1.7,244,1.206,310,1.602,447,1.602,525,1.736,529,1.884,558,1.681,561,2.077,607,1.542,609,1.542,611,1.542,613,1.542,615,1.542,617,1.542,619,1.542,621,1.542,623,1.542,625,1.542,627,1.542,629,1.542,631,1.542,633,1.542,654,1.602,678,1.542,679,1.418,680,1.418,681,1.418,689,1.206,767,1.542,784,1.681,785,1.681,786,2.233,787,2.233,788,1.84,789,1.681,790,1.84,791,1.681,792,2.445,793,2.233,794,2.781,795,1.681,796,1.681,797,1.84,798,1.681,799,1.681,800,1.84,801,2.445,802,1.681,803,1.84,804,1.84,805,1.84,806,2.745,807,1.681,808,1.681,809,2.445,810,2.445,811,2.233,812,2.233,813,2.048,814,1.84,815,1.84,816,1.84,817,1.681,818,1.84,819,1.84,820,2.445,821,2.233,822,1.681,823,1.681,824,3.385,825,1.681,826,1.681,827,1.681,828,1.681,829,1.84,830,1.84,831,2.451,832,1.681,833,2.925,834,2.745,835,3.045,836,1.84,837,1.681,838,1.84,839,1.84,840,2.925]],["title/interfaces/ListResultItem.html",[0,0.246,47,0.882]],["body/interfaces/ListResultItem.html",[0,0.478,1,0.802,2,0.254,3,0.254,4,0.294,5,0.18,6,0.217,7,0.943,8,1.17,9,1.288,10,0.802,11,0.028,12,0.296,13,0.457,14,1.022,15,1.084,16,0.612,17,0.032,18,0.437,19,0.362,20,0.802,21,1.022,22,0.802,23,0.658,24,0.738,25,1.341,26,0.775,27,0.943,28,0.87,29,0.87,30,1.022,31,1.022,32,1.396,33,0.943,34,1.022,35,0.943,36,0.943,37,1.022,38,1.022,39,0.621,40,0.802,41,0.943,42,0.87,43,0.943,44,1.022,45,0.943,46,0.933,47,1.572,48,0.994,49,0.639,50,1.354,51,1.354,52,1.455,53,1.455,54,1.189,55,1.039,56,0.738,57,0.738,58,0.943,59,0.422,60,0.943,61,1.396,62,1.354,63,1.096,64,0.468,65,0.377,66,1.022,67,1.288,68,1.564,69,1.572,70,1.189,71,1.455,72,1.288,73,1.396,74,1.189,75,1.022,76,1.577,77,1.354,78,1.295,79,0.943,80,1.341,81,1.467,82,0.802,83,1.396,84,0.943,85,1.467,86,1.022,87,0.943,88,0.621,89,1.022,90,1.788,91,0.943,92,0.425,93,0.706,94,0.87,95,0.943,96,0.943,97,1.022,98,0.87,99,0.864,100,0.639,101,0.639,102,1.354,103,1.354,104,1.638,105,1.455,106,1.288,107,0.639,108,1.396,109,1.288,110,0.943,111,0.926,112,0.943,113,1.396,114,0.926,115,1.189,116,0.775,117,1.467,118,1.59,119,0.738,120,0.775,121,0.775,122,1.022,123,0.656,124,0.802,125,0.568,126,0.943,127,0.87,128,0.621,129,0.802,130,1.396,131,1.022,132,1.022,133,1.189,134,1.288,135,1.022,136,0.943,137,0.468,138,1.022,139,0.87,140,0.87,141,0.87,142,1.577,143,1.354,144,0.87,145,1.022,146,1.096,147,0.943,148,1.022,149,1.022,150,0.943,151,0.738,152,0.943,153,0.802,154,1.288,155,0.943,156,1.022,157,0.943,158,0.021,159,0.015]],["title/interfaces/OntologyTreeModel.html",[0,0.246,153,0.813]],["body/interfaces/OntologyTreeModel.html",[0,0.478,1,0.806,2,0.256,3,0.256,4,0.295,5,0.181,6,0.218,7,0.947,8,1.041,9,1.292,10,0.806,11,0.028,12,0.297,13,0.458,14,1.026,15,0.995,16,0.608,17,0.032,18,0.437,19,0.362,20,0.806,21,1.026,22,0.806,23,0.658,24,0.742,25,1.344,26,0.778,27,0.947,28,0.874,29,0.874,30,1.026,31,1.026,32,1.4,33,0.947,34,1.026,35,0.947,36,0.947,37,1.026,38,1.026,39,0.624,40,0.806,41,0.947,42,0.874,43,0.947,44,1.026,45,0.947,46,0.906,47,1.526,48,0.951,49,0.62,50,1.192,51,1.192,52,0.874,53,1.458,54,1.192,55,1.041,56,0.739,57,0.739,58,0.947,59,0.423,60,0.947,61,1.4,62,1.357,63,1.099,64,0.47,65,0.379,66,1.026,67,1.292,68,1.565,69,1.574,70,1.192,71,1.458,72,1.292,73,1.4,74,1.192,75,1.026,76,1.58,77,1.357,78,1.296,79,0.947,80,1.344,81,1.471,82,0.806,83,1.4,84,0.947,85,1.471,86,1.026,87,0.947,88,0.624,89,1.026,90,1.791,91,0.947,92,0.426,93,0.708,94,0.874,95,0.947,96,0.947,97,1.026,98,0.874,99,0.865,100,0.641,101,0.641,102,1.357,103,1.357,104,1.698,105,1.458,106,1.292,107,0.641,108,1.4,109,1.292,110,0.947,111,0.929,112,0.947,113,1.4,114,0.929,115,1.192,116,0.778,117,1.471,118,1.593,119,0.739,120,0.778,121,0.778,122,1.026,123,0.657,124,0.806,125,0.57,126,0.947,127,0.874,128,0.624,129,0.806,130,1.4,131,1.026,132,1.026,133,1.192,134,1.292,135,1.026,136,0.947,137,0.47,138,1.026,139,0.874,140,0.874,141,0.874,142,1.706,143,1.357,144,0.874,145,1.026,146,1.406,147,0.947,148,1.026,149,1.026,150,0.947,151,1.012,152,1.292,153,1.099,154,1.706,155,1.292,156,1.4,157,1.292,158,0.021,159,0.015,841,2.829]],["title/interfaces/OntologyTreeNode.html",[0,0.246,143,0.882]],["body/interfaces/OntologyTreeNode.html",[0,0.476,1,0.786,2,0.249,3,0.249,4,0.288,5,0.177,6,0.212,7,0.924,8,1.03,9,1.271,10,0.786,11,0.028,12,0.292,13,0.451,14,1.001,15,1.079,16,0.614,17,0.032,18,0.436,19,0.368,20,0.786,21,1.001,22,0.786,23,0.655,24,0.723,25,1.33,26,0.765,27,0.924,28,0.853,29,0.853,30,1.001,31,1.001,32,1.376,33,0.924,34,1.001,35,0.924,36,0.924,37,1.001,38,1.001,39,0.609,40,0.786,41,0.924,42,0.853,43,0.924,44,1.001,45,0.924,46,0.898,47,1.512,48,1.019,49,0.655,50,1.172,51,1.172,52,0.853,53,1.443,54,1.172,55,1.03,56,0.757,57,0.757,58,0.924,59,0.413,60,0.924,61,1.376,62,1.34,63,1.081,64,0.459,65,0.37,66,1.001,67,1.271,68,1.558,69,1.563,70,1.172,71,1.443,72,1.271,73,1.376,74,1.172,75,1.001,76,1.564,77,1.601,78,1.289,79,0.924,80,1.33,81,1.452,82,0.786,83,1.376,84,0.924,85,1.452,86,1.001,87,0.924,88,0.609,89,1.001,90,1.776,91,0.924,92,0.422,93,0.696,94,0.853,95,0.924,96,0.924,97,1.001,98,0.853,99,0.856,100,0.63,101,0.63,102,1.34,103,1.34,104,1.691,105,1.443,106,1.271,107,0.63,108,1.376,109,1.271,110,0.924,111,0.914,112,0.924,113,1.376,114,0.914,115,1.172,116,0.765,117,1.452,118,1.573,119,0.733,120,0.765,121,0.765,122,1.001,123,0.733,124,0.786,125,0.556,126,0.924,127,0.853,128,0.609,129,0.786,130,1.376,131,1.001,132,1.001,133,1.172,134,1.271,135,1.001,136,0.924,137,0.459,138,1.001,139,0.853,140,0.853,141,0.853,142,1.694,143,1.443,144,1.172,145,1.376,146,1.235,147,1.564,148,1.376,149,1.376,150,1.564,151,0.723,152,0.924,153,0.786,154,1.271,155,0.924,156,1.001,157,0.924,158,0.02,159,0.015]],["title/interfaces/SearchResultJson.html",[0,0.246,842,2.354]],["body/interfaces/SearchResultJson.html",[0,0.26,2,0.272,3,0.272,4,0.314,5,0.193,6,0.232,10,1.553,11,0.016,12,0.232,13,0.478,16,0.569,17,0.032,18,0.349,19,0.323,20,1.147,22,0.858,23,0.478,29,0.931,40,0.858,51,1.604,56,0.603,57,0.603,65,0.721,85,1.349,94,1.244,111,1.327,158,0.022,159,0.016,174,2.484,181,3.198,182,2.852,183,3.639,184,3.991,185,2.852,186,2.21,187,2.852,188,4.292,189,2.721,194,2.852,195,2.484,198,2.852,205,4.44,206,3.739,207,2.484,209,1.716,214,2.484,247,3.699,249,3.41,263,3.991,264,5.161,267,1.515,276,1.991,278,2.21,280,4.582,288,4.44,289,3.357,310,2.117,319,2.852,373,2.852,443,2.207,524,2.21,527,4.279,675,2.21,841,2.953,842,3.739,843,2.21,844,2.484,845,5.998,846,2.852,847,3.41,848,2.852,849,2.484,850,2.484,851,3.41,852,3.32,853,2.852,854,3.32,855,2.852,856,2.852,857,2.852,858,2.852,859,2.852,860,2.852,861,2.852,862,2.852,863,2.852,864,2.852,865,2.852,866,2.852,867,2.852,868,2.852,869,2.852,870,2.852,871,2.852,872,2.852,873,2.852,874,2.852,875,2.852,876,2.852,877,2.852,878,2.852,879,2.852,880,2.852,881,2.852,882,2.852,883,3.32,884,2.852,885,4.557,886,5.874,887,3.41,888,3.41,889,3.41,890,3.41,891,3.41,892,3.41,893,2.484,894,3.41,895,3.41,896,3.41,897,3.41,898,2.852,899,3.41,900,2.852,901,4.557,902,3.41,903,2.852,904,4.557,905,3.41,906,3.41,907,4.557,908,3.41,909,4.557,910,3.41,911,3.41,912,3.41,913,3.41,914,2.852,915,5.132,916,3.41,917,5.132,918,3.41,919,3.41,920,3.41,921,4.557,922,3.41,923,3.41,924,3.41,925,3.41,926,3.41,927,3.41,928,4.557,929,5.709,930,5.998,931,3.41,932,3.41,933,2.852,934,3.41,935,2.21,936,5.874,937,3.41,938,5.709,939,3.41,940,5.709,941,3.41,942,5.874,943,3.41,944,3.41,945,3.41,946,3.41,947,2.852,948,2.852,949,3.41,950,3.41]],["title/interfaces/SearchableItem.html",[0,0.246,98,0.882]],["body/interfaces/SearchableItem.html",[0,0.476,1,0.786,2,0.249,3,0.249,4,0.288,5,0.177,6,0.212,7,0.924,8,1.03,9,1.271,10,0.786,11,0.028,12,0.292,13,0.451,14,1.001,15,0.987,16,0.607,17,0.032,18,0.442,19,0.364,20,0.786,21,1.001,22,0.786,23,0.655,24,0.723,25,1.33,26,0.765,27,0.924,28,0.853,29,0.853,30,1.001,31,1.001,32,1.376,33,0.924,34,1.001,35,0.924,36,0.924,37,1.001,38,1.001,39,0.609,40,0.786,41,0.924,42,0.853,43,0.924,44,1.001,45,0.924,46,0.898,47,1.512,48,0.987,49,0.636,50,1.172,51,1.172,52,0.853,53,1.443,54,1.172,55,1.03,56,0.733,57,0.733,58,0.924,59,0.413,60,0.924,61,1.376,62,1.34,63,1.081,64,0.459,65,0.37,66,1.001,67,1.271,68,1.558,69,1.563,70,1.172,71,1.443,72,1.271,73,1.376,74,1.172,75,1.001,76,1.564,77,1.34,78,1.289,79,0.924,80,1.33,81,1.452,82,0.786,83,1.376,84,0.924,85,1.452,86,1.001,87,0.924,88,0.609,89,1.001,90,1.776,91,0.924,92,0.422,93,0.696,94,0.853,95,0.924,96,1.271,97,1.376,98,1.172,99,0.968,100,0.776,101,0.776,102,1.601,103,1.601,104,1.655,105,1.563,106,1.639,107,0.84,108,1.573,109,1.639,110,0.924,111,0.914,112,0.924,113,1.376,114,0.914,115,1.172,116,0.765,117,1.452,118,1.573,119,0.733,120,0.765,121,0.765,122,1.001,123,0.649,124,0.786,125,0.556,126,0.924,127,0.853,128,0.609,129,0.786,130,1.376,131,1.001,132,1.001,133,1.172,134,1.271,135,1.001,136,0.924,137,0.909,138,1.001,139,0.853,140,0.853,141,0.853,142,1.564,143,1.34,144,0.853,145,1.001,146,1.081,147,0.924,148,1.001,149,1.001,150,0.924,151,0.723,152,0.924,153,0.786,154,1.271,155,0.924,156,1.001,157,0.924,158,0.02,159,0.015]],["title/interfaces/SpatialEntity.html",[0,0.246,235,0.956]],["body/interfaces/SpatialEntity.html",[0,0.426,2,0.231,3,0.231,4,0.497,5,0.289,6,0.197,8,0.565,11,0.014,12,0.197,13,0.428,15,1.044,16,0.617,17,0.032,18,0.452,19,0.374,23,0.587,39,0.997,46,0.47,48,1.023,49,0.603,55,0.795,56,0.383,57,0.383,59,0.799,64,0.598,65,0.605,88,1.051,92,0.468,93,1.057,99,0.829,100,0.791,101,0.791,107,0.751,116,0.96,119,0.677,120,0.96,121,0.96,123,0.775,125,0.516,137,0.967,158,0.019,159,0.014,173,1.665,180,1.287,197,2.029,234,1.091,235,1.654,244,1.415,310,1.942,447,1.776,525,1.534,529,1.665,558,1.973,561,2.104,607,1.287,609,1.287,611,1.287,613,1.287,615,1.287,617,1.287,619,1.287,621,1.287,623,1.287,625,1.287,627,1.287,629,1.287,631,1.287,633,1.287,654,1.415,678,2.272,679,2.09,680,2.09,681,2.09,689,1.776,767,1.81,784,1.403,785,1.403,786,1.973,787,1.973,788,1.536,789,1.403,790,1.536,791,1.403,792,2.711,793,2.707,794,2.984,795,1.973,796,2.477,797,2.16,798,2.477,799,2.477,800,2.16,801,2.499,802,2.477,803,2.16,804,2.16,805,2.16,806,2.963,807,1.973,808,1.973,809,2.711,810,2.711,811,2.61,812,2.61,813,2.483,814,2.16,815,2.16,816,2.16,817,2.477,818,2.16,819,2.16,820,2.711,821,2.477,822,2.477,823,2.477,824,3.353,825,2.477,826,2.477,827,2.477,828,2.477,829,2.16,830,1.536,831,2.094,832,1.403,833,2.711,834,2.499,835,2.857,836,1.536,837,1.403,838,1.536,839,1.536,840,2.711]],["title/interfaces/SpatialObjectReference.html",[0,0.246,561,1.216]],["body/interfaces/SpatialObjectReference.html",[0,0.448,2,0.272,3,0.272,4,0.526,5,0.349,6,0.232,8,0.665,11,0.016,12,0.232,13,0.478,15,0.976,16,0.616,17,0.032,18,0.445,19,0.365,23,0.617,39,0.889,46,0.553,48,1.046,49,0.63,55,0.889,56,0.451,57,0.451,59,0.816,64,0.501,65,0.676,88,1.068,92,0.456,93,1.047,99,0.553,100,0.669,101,0.669,107,0.754,116,0.976,119,0.725,120,0.976,121,0.976,123,0.755,125,0.608,137,0.669,158,0.022,159,0.016,173,1.862,180,2.024,197,1.932,234,1.284,235,1.69,244,1.185,310,1.583,437,2.21,447,1.583,525,1.716,529,1.862,558,1.652,561,2.149,607,1.515,609,1.515,611,1.515,613,1.515,615,1.515,617,1.515,619,1.515,621,1.515,623,1.515,625,1.515,627,1.515,629,1.515,631,1.515,633,1.515,654,1.583,678,1.515,679,1.393,680,1.393,681,1.393,689,1.185,767,1.515,784,1.652,785,1.652,786,2.207,787,2.207,788,1.808,789,2.653,790,2.416,791,2.653,792,2.416,793,2.207,794,2.765,795,1.652,796,1.652,797,1.808,798,1.652,799,1.652,800,1.808,801,2.416,802,1.652,803,1.808,804,1.808,805,1.808,806,2.721,807,1.652,808,1.652,809,2.416,810,2.416,811,2.207,812,2.207,813,2.024,814,1.808,815,1.808,816,1.808,817,1.652,818,1.808,819,1.808,820,2.416,821,2.207,822,1.652,823,1.652,824,3.377,825,1.652,826,1.652,827,1.652,828,1.652,829,1.808,830,1.808,831,2.28,832,1.652,833,2.904,834,2.721,835,3.027,836,1.808,837,1.652,838,1.808,839,1.808,840,2.904]],["title/interfaces/SpatialPlacement.html",[0,0.246,525,1.216]],["body/interfaces/SpatialPlacement.html",[0,0.45,2,0.277,3,0.277,4,0.571,5,0.312,6,0.236,11,0.016,12,0.236,13,0.484,15,0.982,16,0.611,17,0.032,18,0.446,19,0.354,23,0.62,39,0.898,46,0.562,48,1.023,49,0.579,55,1.009,56,0.459,57,0.459,59,0.797,64,0.509,65,0.612,88,1.075,92,0.44,93,1.056,99,0.562,100,0.677,101,0.677,107,0.76,116,0.982,119,0.809,120,0.982,121,0.982,123,0.759,125,0.617,158,0.022,159,0.016,173,1.882,180,1.54,197,1.734,234,1.305,235,1.832,244,1.204,310,1.6,447,1.6,525,1.948,529,1.882,558,1.679,561,2.222,607,1.54,609,1.54,611,1.54,613,1.54,615,1.54,617,1.54,619,1.54,621,1.54,623,1.54,625,1.54,627,1.54,629,1.54,631,1.54,633,1.54,654,1.6,678,1.54,679,1.416,680,1.416,681,1.416,689,1.204,767,1.54,784,1.679,785,1.679,786,2.231,787,2.231,788,1.838,789,1.679,790,1.838,791,1.679,792,2.442,793,2.231,794,2.78,795,1.679,796,1.679,797,1.838,798,1.679,799,1.679,800,1.838,801,2.442,802,1.679,803,1.838,804,1.838,805,1.838,806,2.743,807,1.679,808,1.679,809,2.442,810,2.442,811,2.231,812,2.231,813,2.046,814,1.838,815,1.838,816,1.838,817,1.679,818,1.838,819,1.838,820,2.442,821,2.231,822,1.679,823,1.679,824,3.385,825,1.679,826,1.679,827,1.679,828,1.679,829,1.838,830,1.838,831,2.449,832,1.679,833,2.923,834,2.743,835,3.043,836,1.838,837,1.679,838,1.838,839,1.838,840,2.923]],["title/interfaces/SpatialPlacementCommon.html",[0,0.246,831,1.435]],["body/interfaces/SpatialPlacementCommon.html",[0,0.436,2,0.248,3,0.248,4,0.51,5,0.298,6,0.211,8,0.607,11,0.015,12,0.211,13,0.45,15,0.94,16,0.615,17,0.032,18,0.453,19,0.373,23,0.6,39,0.835,46,0.504,48,1.018,49,0.615,55,0.835,56,0.566,57,0.566,59,0.789,64,0.457,65,0.579,88,1.142,92,0.421,93,1.039,99,0.504,100,0.629,101,0.629,107,0.719,116,1.043,119,0.698,120,1.043,121,1.043,123,0.732,125,0.763,137,0.839,158,0.02,159,0.015,173,2.335,180,1.382,197,1.843,234,1.171,235,1.637,244,1.08,310,1.487,447,1.487,525,1.612,529,2.155,558,1.507,561,1.986,607,2.343,609,2.343,611,2.343,613,2.343,615,2.343,617,2.343,619,2.343,621,2.343,623,2.343,625,2.343,627,2.343,629,2.343,631,2.343,633,2.343,654,1.487,678,1.382,679,1.271,680,1.271,681,1.271,689,1.08,767,1.382,784,1.507,785,1.507,786,2.074,787,2.074,788,1.649,789,1.507,790,1.649,791,1.507,792,2.27,793,2.074,794,2.679,795,1.507,796,1.507,797,1.649,798,1.507,799,1.507,800,1.649,801,2.596,802,1.507,803,1.649,804,1.649,805,1.649,806,2.596,807,1.507,808,1.507,809,2.27,810,2.27,811,2.074,812,2.074,813,1.902,814,1.649,815,1.649,816,1.649,817,1.507,818,1.649,819,1.649,820,2.27,821,2.074,822,1.507,823,1.507,824,3.459,825,1.507,826,1.507,827,1.507,828,1.507,829,1.649,830,2.27,831,2.343,832,2.074,833,3.163,834,3.03,835,3.248,836,2.27,837,2.554,838,2.27,839,2.27,840,3.163]],["title/interfaces/SpatialSceneNode.html",[0,0.246,212,1.886]],["body/interfaces/SpatialSceneNode.html",[0,0.209,2,0.313,3,0.219,4,0.253,5,0.155,6,0.186,11,0.019,12,0.186,13,0.411,16,0.611,17,0.032,18,0.433,19,0.367,23,0.48,26,0.488,49,0.554,59,0.66,92,0.313,100,0.672,101,0.672,114,0.583,119,0.363,123,0.66,128,1.127,129,1.151,137,0.966,140,0.749,141,1.606,146,1.256,158,0.019,159,0.013,161,1.328,176,1.6,189,2.91,209,1.475,211,1.6,212,3.619,213,1.6,231,1.777,235,1.71,236,1.6,248,2.424,249,3.287,256,1.12,257,2.077,267,1.218,278,2.539,289,3.327,291,3.262,310,2.073,414,2.539,438,1.777,439,2.539,443,2.849,445,1.997,447,1.833,448,1.997,449,1.997,474,1.777,500,1.997,510,3.635,513,1.997,514,1.777,526,1.997,531,3.845,532,2.963,534,3.812,535,1.997,536,2.669,537,1.6,538,4.286,539,1.997,540,1.997,555,1.997,589,2.855,600,1.997,634,1.6,635,1.997,637,1.997,638,1.997,645,1.997,647,2.293,649,2.293,652,2.293,654,1.588,655,2.293,657,2.293,661,2.293,663,2.293,666,2.293,667,3.277,668,2.293,670,2.293,672,3.635,673,1.997,674,3.999,675,3.42,676,1.997,677,1.997,678,2.344,679,2.156,680,2.156,681,2.156,682,4.591,683,4.92,684,4.591,685,4.414,686,4.414,687,4.414,688,4.173,689,2.137,690,3.999,691,4.414,692,4.414,693,4.173,694,2.293,695,2.293,696,2.293,697,2.293,698,2.293,699,4.173,700,4.173,701,2.293,702,2.293,703,2.293,704,2.293,705,4.414,706,2.293,707,3.277,708,3.277,709,3.277,710,2.293,711,2.293,712,2.293,713,2.293,714,2.855,715,2.293,716,3.277,717,3.277,718,2.293,719,4.591,720,3.277,721,3.277,722,3.824,723,3.277,724,4.635,725,3.277,726,3.277,727,3.277,728,2.293,729,2.293,730,3.277,731,3.277,732,2.293,733,2.293,734,4.414,735,2.293,736,2.293,737,2.293,738,2.293,739,2.293,740,3.277,741,2.293,742,2.293,743,2.293,744,2.293,745,2.293,746,2.293,747,2.293,748,2.293,749,2.293,750,3.277,751,3.277,752,2.293,753,2.293,754,2.293,755,4.414,756,2.293,757,2.293,758,2.293,759,2.293,760,4.173,761,2.293,762,2.293,763,2.293,764,3.277,765,2.293,766,2.293,767,1.218,768,2.293,769,2.293,770,2.293,771,2.293,772,2.293,773,1.777,774,2.293,775,2.293,776,2.293,777,2.293,778,2.293,779,2.293,780,2.293,781,2.293,782,2.293,783,2.293]],["title/interfaces/SpatialSearch.html",[0,0.246,115,0.882]],["body/interfaces/SpatialSearch.html",[0,0.476,1,0.787,2,0.25,3,0.25,4,0.288,5,0.177,6,0.213,7,0.925,8,1.031,9,1.272,10,0.787,11,0.028,12,0.292,13,0.451,14,1.003,15,0.987,16,0.607,17,0.032,18,0.445,19,0.363,20,0.787,21,1.003,22,0.787,23,0.656,24,0.724,25,1.33,26,0.765,27,0.925,28,0.854,29,0.854,30,1.003,31,1.003,32,1.378,33,0.925,34,1.003,35,0.925,36,0.925,37,1.003,38,1.003,39,0.61,40,0.787,41,0.925,42,0.854,43,0.925,44,1.003,45,0.925,46,0.898,47,1.513,48,0.942,49,0.601,50,1.173,51,1.173,52,0.854,53,1.443,54,1.173,55,1.031,56,0.733,57,0.733,58,0.925,59,0.414,60,0.925,61,1.378,62,1.341,63,1.081,64,0.459,65,0.37,66,1.003,67,1.272,68,1.559,69,1.563,70,1.173,71,1.443,72,1.272,73,1.378,74,1.173,75,1.003,76,1.564,77,1.341,78,1.29,79,0.925,80,1.33,81,1.453,82,0.787,83,1.378,84,0.925,85,1.564,86,1.003,87,0.925,88,0.61,89,1.003,90,1.943,91,0.925,92,0.457,93,0.796,94,0.854,95,0.925,96,0.925,97,1.003,98,0.854,99,0.857,100,0.631,101,0.631,102,1.341,103,1.341,104,1.631,105,1.443,106,1.272,107,0.631,108,1.378,109,1.272,110,1.272,111,1.045,112,1.272,113,1.695,114,1.125,115,1.341,116,1.02,117,1.694,118,1.836,119,0.826,120,1.02,121,1.02,122,1.695,123,0.699,124,0.787,125,0.557,126,0.925,127,0.854,128,0.61,129,0.787,130,1.378,131,1.003,132,1.003,133,1.173,134,1.272,135,1.003,136,0.925,137,0.459,138,1.003,139,0.854,140,0.854,141,0.854,142,1.564,143,1.341,144,0.854,145,1.003,146,1.081,147,0.925,148,1.003,149,1.003,150,0.925,151,0.724,152,0.925,153,0.787,154,1.272,155,0.925,156,1.003,157,0.925,158,0.02,159,0.015]],["title/interfaces/TissueBlockResult.html",[0,0.246,82,0.813]],["body/interfaces/TissueBlockResult.html",[0,0.474,1,0.764,2,0.242,3,0.242,4,0.28,5,0.172,6,0.206,7,0.899,8,1.018,9,1.246,10,0.764,11,0.028,12,0.286,13,0.442,14,0.974,15,0.977,16,0.607,17,0.032,18,0.441,19,0.37,20,0.764,21,0.974,22,0.764,23,0.652,24,0.704,25,1.314,26,0.75,27,0.899,28,0.829,29,0.829,30,0.974,31,0.974,32,1.35,33,0.899,34,0.974,35,0.899,36,0.899,37,0.974,38,0.974,39,0.592,40,0.764,41,0.899,42,0.829,43,0.899,44,0.974,45,0.899,46,0.92,47,1.549,48,0.93,49,0.596,50,1.32,51,1.15,52,0.829,53,1.62,54,1.425,55,1.069,56,0.751,57,0.751,58,0.899,59,0.402,60,0.899,61,1.35,62,1.497,63,1.06,64,0.446,65,0.359,66,0.974,67,1.246,68,1.621,69,1.62,70,1.425,71,1.497,72,1.623,73,1.674,74,1.425,75,0.974,76,1.782,77,1.32,78,1.365,79,0.899,80,1.493,81,1.623,82,1.06,83,1.674,84,1.545,85,1.623,86,1.35,87,1.545,88,0.821,89,1.35,90,1.819,91,1.545,92,0.438,93,0.784,94,1.15,95,1.545,96,0.899,97,0.974,98,0.829,99,0.846,100,0.618,101,0.618,102,1.32,103,1.32,104,1.62,105,1.425,106,1.246,107,0.618,108,1.35,109,1.246,110,0.899,111,0.896,112,0.899,113,1.35,114,0.896,115,1.15,116,0.75,117,1.431,118,1.55,119,0.725,120,0.75,121,0.75,122,0.974,123,0.639,124,0.764,125,0.541,126,0.899,127,0.829,128,0.592,129,0.764,130,1.35,131,0.974,132,0.974,133,1.15,134,1.246,135,0.974,136,0.899,137,0.446,138,0.974,139,0.829,140,0.829,141,0.829,142,1.545,143,1.32,144,0.829,145,0.974,146,1.06,147,0.899,148,0.974,149,0.974,150,0.899,151,0.704,152,0.899,153,0.764,154,1.246,155,0.899,156,0.974,157,0.899,158,0.02,159,0.014]],["title/interfaces/TissueSectionResult.html",[0,0.246,70,0.882]],["body/interfaces/TissueSectionResult.html",[0,0.477,1,0.792,2,0.251,3,0.251,4,0.29,5,0.178,6,0.214,7,0.931,8,1.034,9,1.277,10,0.792,11,0.028,12,0.335,13,0.453,14,1.009,15,0.989,16,0.605,17,0.032,18,0.439,19,0.367,20,0.792,21,1.009,22,0.792,23,0.656,24,0.729,25,1.334,26,0.769,27,0.931,28,0.859,29,0.859,30,1.009,31,1.009,32,1.384,33,0.931,34,1.009,35,0.931,36,0.931,37,1.009,38,1.009,39,0.614,40,0.792,41,0.931,42,0.859,43,0.931,44,1.009,45,0.931,46,0.93,47,1.566,48,0.944,49,0.602,50,1.179,51,1.179,52,0.859,53,1.447,54,1.179,55,1.083,56,0.759,57,0.759,58,0.931,59,0.416,60,0.931,61,1.384,62,1.516,63,1.086,64,0.462,65,0.372,66,1.009,67,1.277,68,1.609,69,1.693,70,1.345,71,1.516,72,1.644,73,1.699,74,1.447,75,1.384,76,1.644,77,1.447,78,1.307,79,1.569,80,1.506,81,1.569,82,0.792,83,1.384,84,0.931,85,1.458,86,1.009,87,0.931,88,0.614,89,1.009,90,1.781,91,0.931,92,0.423,93,0.7,94,0.859,95,0.931,96,0.931,97,1.009,98,0.859,99,0.859,100,0.634,101,0.634,102,1.345,103,1.345,104,1.634,105,1.447,106,1.277,107,0.634,108,1.384,109,1.277,110,0.931,111,0.918,112,0.931,113,1.384,114,0.918,115,1.179,116,0.769,117,1.458,118,1.579,119,0.735,120,0.769,121,0.769,122,1.009,123,0.652,124,0.792,125,0.561,126,0.931,127,0.859,128,0.614,129,0.792,130,1.384,131,1.009,132,1.009,133,1.179,134,1.277,135,1.009,136,0.931,137,0.462,138,1.009,139,0.859,140,0.859,141,0.859,142,1.569,143,1.345,144,0.859,145,1.009,146,1.086,147,0.931,148,1.009,149,1.009,150,0.931,151,0.729,152,0.931,153,0.792,154,1.277,155,0.931,156,1.009,157,0.931,158,0.02,159,0.015]],["title/changelog.html",[951,1.971,952,1.753,953,1.971]],["body/changelog.html",[0,0.389,2,0.145,3,0.393,5,0.103,10,0.458,11,0.009,13,0.191,17,0.026,18,0.124,19,0.103,22,0.458,26,0.786,28,0.496,33,1.055,35,0.851,40,1.02,42,0.974,46,0.466,49,0.191,50,0.496,52,0.785,53,0.785,56,0.24,57,0.24,63,0.724,64,0.422,65,0.728,68,1.442,69,0.785,71,0.496,74,0.496,77,0.496,78,0.759,80,1.02,92,0.324,96,0.538,99,0.466,102,0.785,103,0.496,104,1.497,105,0.785,107,0.595,111,1.245,112,1.455,124,0.724,125,0.324,126,0.851,127,0.496,128,0.79,129,0.724,133,0.496,134,0.538,136,0.538,137,0.267,139,0.785,151,0.421,154,0.538,158,0.014,159,0.025,175,1.52,180,0.808,181,3.137,183,3.344,186,2.861,195,3.581,209,2.395,213,3.063,236,1.061,244,2.234,245,2.404,248,0.964,267,2.435,279,1.324,329,1.324,390,3.581,407,3.581,409,1.863,419,1.52,431,2.952,437,3.824,438,3.754,441,1.52,442,4.893,443,2.541,444,3.692,447,2.155,457,1.52,459,1.52,463,1.178,482,3.926,529,1.175,530,1.52,532,1.178,536,1.678,689,1.408,690,1.324,714,2.952,773,2.626,786,1.392,787,1.392,795,0.88,807,1.727,808,1.392,811,0.88,812,1.392,813,1.277,832,1.392,848,1.52,849,3.216,850,3.419,893,3.713,898,2.404,903,2.404,933,1.52,935,2.311,947,2.404,952,2.311,953,2.094,954,2.982,955,3.389,956,4.388,957,2.875,958,2.875,959,4.694,960,4.263,961,6.654,962,1.52,963,1.52,964,6.126,965,1.818,966,4.414,967,4.053,968,5.658,969,1.818,970,2.875,971,4.053,972,2.875,973,3.566,974,1.818,975,2.875,976,1.818,977,5.658,978,1.818,979,2.875,980,1.52,981,1.818,982,2.404,983,2.404,984,2.404,985,5.097,986,1.818,987,1.818,988,1.818,989,3.566,990,3.566,991,1.818,992,2.404,993,1.818,994,1.818,995,5.247,996,2.875,997,4.414,998,3.566,999,3.566,1000,1.818,1001,2.875,1002,1.818,1003,1.818,1004,3.566,1005,2.875,1006,3.566,1007,3.566,1008,3.566,1009,1.818,1010,2.875,1011,2.875,1012,1.818,1013,4.916,1014,4.694,1015,4.916,1016,2.875,1017,1.818,1018,1.818,1019,4.053,1020,1.818,1021,2.875,1022,1.818,1023,1.818,1024,2.875,1025,3.566,1026,3.692,1027,1.818,1028,1.818,1029,1.818,1030,1.818,1031,2.875,1032,1.818,1033,4.694,1034,1.818,1035,1.818,1036,3.566,1037,2.982,1038,1.818,1039,1.818,1040,1.818,1041,5.482,1042,2.875,1043,4.414,1044,1.818,1045,2.875,1046,4.694,1047,2.875,1048,1.818,1049,1.818,1050,1.818,1051,2.875,1052,4.694,1053,3.389,1054,1.818,1055,5.224,1056,1.818,1057,1.818,1058,2.875,1059,1.818,1060,2.875,1061,3.566,1062,1.818,1063,1.818,1064,1.818,1065,2.875,1066,1.818,1067,2.875,1068,1.818,1069,1.818,1070,1.818,1071,5.73,1072,1.818,1073,1.52,1074,3.216,1075,1.818,1076,2.875,1077,1.52,1078,1.818,1079,2.875,1080,4.053,1081,4.053,1082,1.818,1083,2.875,1084,3.566,1085,1.818,1086,1.818,1087,2.875,1088,1.818,1089,1.818,1090,4.694,1091,3.041,1092,3.692,1093,2.982,1094,1.818,1095,3.692,1096,1.818,1097,3.566,1098,4.263,1099,5.658,1100,1.818,1101,1.818,1102,2.875,1103,2.982,1104,1.818,1105,1.818,1106,1.818,1107,1.818,1108,1.818,1109,1.818,1110,1.818,1111,1.818,1112,2.404,1113,2.404,1114,1.818,1115,1.818,1116,1.818,1117,4.585,1118,1.818,1119,1.818,1120,1.818,1121,1.818,1122,2.875,1123,1.818,1124,1.52,1125,3.566,1126,2.875,1127,1.818,1128,2.875,1129,2.875,1130,2.875,1131,2.875,1132,1.818,1133,3.566,1134,1.818,1135,1.818,1136,1.52,1137,1.818,1138,2.982,1139,1.324,1140,1.818,1141,1.818,1142,2.875,1143,2.875,1144,2.875,1145,1.818,1146,1.818,1147,1.818,1148,2.982,1149,1.818,1150,2.875,1151,1.818,1152,1.818,1153,4.694,1154,2.404,1155,1.818,1156,1.818,1157,1.818,1158,4.414,1159,3.389,1160,1.818,1161,3.566,1162,2.875,1163,4.694,1164,2.404,1165,2.875,1166,4.053,1167,1.818,1168,1.818,1169,1.818,1170,1.818,1171,1.818,1172,1.818,1173,2.875,1174,2.875,1175,1.818,1176,2.875,1177,1.818,1178,1.818,1179,2.875,1180,2.875,1181,1.818,1182,1.818,1183,1.818,1184,1.818,1185,1.818,1186,1.818,1187,2.875,1188,1.818,1189,1.818,1190,1.818,1191,1.818,1192,1.818,1193,2.875,1194,1.818,1195,1.818,1196,1.818,1197,1.818,1198,1.818,1199,2.875,1200,1.818,1201,4.694,1202,1.818,1203,1.818,1204,3.566,1205,3.566,1206,2.875,1207,1.52,1208,2.875,1209,1.818,1210,1.52,1211,1.52,1212,1.818,1213,1.818,1214,1.818,1215,2.952,1216,1.818,1217,1.818,1218,2.875,1219,2.875,1220,1.52,1221,1.818,1222,2.875,1223,2.875,1224,1.818,1225,2.875,1226,4.053,1227,3.566,1228,1.818,1229,1.818,1230,1.818,1231,1.818,1232,1.52,1233,1.52,1234,1.818,1235,2.875,1236,1.818,1237,1.818,1238,1.818,1239,2.875,1240,4.053,1241,1.324,1242,1.818,1243,1.818,1244,1.818,1245,4.694,1246,3.566,1247,2.404,1248,1.818,1249,1.818,1250,3.566,1251,2.875,1252,4.053,1253,1.818,1254,1.818,1255,1.818,1256,2.875,1257,1.818,1258,1.818,1259,1.818,1260,1.818,1261,3.389,1262,1.818,1263,3.566,1264,4.053,1265,1.818,1266,3.566,1267,4.414,1268,2.875,1269,2.875,1270,2.875,1271,3.566,1272,4.053,1273,4.414,1274,2.875,1275,3.566,1276,1.818,1277,1.818,1278,4.916,1279,3.566,1280,1.818,1281,5.247,1282,1.818,1283,1.818,1284,1.818,1285,1.818,1286,1.818,1287,1.818,1288,2.875,1289,1.818,1290,1.818,1291,1.818,1292,1.818,1293,1.818,1294,2.875,1295,1.818,1296,1.818,1297,2.875,1298,2.982,1299,2.875,1300,2.982,1301,1.818,1302,1.818,1303,1.818,1304,2.875,1305,1.818,1306,1.818,1307,1.818,1308,1.818,1309,1.818,1310,1.818,1311,1.818,1312,1.818,1313,4.053,1314,4.694,1315,2.875,1316,3.566,1317,1.818,1318,1.818,1319,1.818,1320,1.818,1321,3.566,1322,1.818,1323,1.818,1324,1.818,1325,2.875,1326,2.875,1327,2.875,1328,2.875,1329,3.566,1330,1.818,1331,1.818,1332,1.818,1333,1.818,1334,1.818,1335,1.52,1336,1.818,1337,1.818,1338,1.818,1339,2.875,1340,1.818,1341,1.818,1342,2.404,1343,1.818,1344,1.818,1345,1.818,1346,1.818,1347,1.818,1348,1.818,1349,1.818,1350,1.818,1351,1.818,1352,1.818,1353,5.097,1354,1.818,1355,2.982,1356,5.097,1357,3.566,1358,4.053,1359,2.875,1360,3.566,1361,1.818,1362,1.818,1363,1.818,1364,2.875,1365,1.818,1366,1.818,1367,2.875,1368,1.818,1369,3.566,1370,1.818,1371,1.818,1372,1.52,1373,1.818,1374,1.52,1375,1.818,1376,1.818,1377,1.818,1378,1.818,1379,1.818,1380,1.818,1381,1.818,1382,4.414,1383,1.818,1384,1.818,1385,1.818,1386,1.818,1387,1.818,1388,1.818,1389,1.818,1390,1.818,1391,1.818,1392,1.818,1393,1.818,1394,1.818,1395,1.818,1396,1.818,1397,2.875,1398,1.818,1399,2.875,1400,1.818,1401,2.875,1402,2.875,1403,4.053,1404,4.053,1405,2.875,1406,2.875,1407,1.818,1408,1.818,1409,1.818,1410,3.566,1411,1.818,1412,1.52,1413,1.818,1414,1.818,1415,1.818,1416,1.818,1417,1.818,1418,1.818,1419,2.875,1420,5.374,1421,3.566,1422,1.52,1423,2.875,1424,1.818,1425,1.818,1426,1.818,1427,1.818,1428,1.818,1429,1.818,1430,1.818,1431,1.818,1432,2.875,1433,4.111,1434,2.875,1435,1.818,1436,1.818,1437,2.404,1438,1.818,1439,4.053,1440,1.818,1441,2.875,1442,1.818,1443,1.818,1444,1.818,1445,2.952,1446,1.818,1447,2.875,1448,1.818,1449,1.818,1450,1.818,1451,2.875,1452,2.875,1453,1.818,1454,1.818,1455,1.818,1456,1.818,1457,2.404,1458,3.566,1459,2.875,1460,2.404,1461,1.52,1462,1.818,1463,1.818,1464,1.818,1465,1.818,1466,1.818,1467,1.818,1468,1.818,1469,1.818,1470,1.52,1471,1.818,1472,1.818,1473,2.875,1474,1.818,1475,1.818,1476,1.818,1477,1.818,1478,1.818,1479,1.818,1480,2.875,1481,1.818,1482,1.52,1483,1.818,1484,1.52,1485,1.818,1486,1.818,1487,1.818,1488,2.875,1489,1.818,1490,1.818,1491,1.818,1492,1.818,1493,1.818,1494,1.818,1495,1.818,1496,1.818,1497,1.818,1498,1.818,1499,1.52,1500,2.875,1501,1.818,1502,1.818,1503,2.875,1504,1.818,1505,1.818,1506,1.818,1507,1.818,1508,1.818,1509,1.818,1510,1.818]],["title/coverage.html",[1445,3.201]],["body/coverage.html",[0,0.482,1,0.613,5,0.138,6,0.46,7,1.765,11,0.03,17,0.032,19,0.138,24,0.565,25,0.613,26,0.434,47,0.666,48,0.434,54,0.666,62,0.666,65,0.688,70,0.666,78,1.216,82,0.613,92,0.377,93,0.395,98,0.666,111,1.005,114,1.072,115,0.666,128,0.475,143,0.666,144,0.666,151,1.221,153,0.613,158,0.017,159,0.024,160,1.579,161,2.64,162,3.115,177,1.423,183,1.423,208,1.579,209,1.354,211,1.423,212,1.423,214,1.776,216,2.038,217,2.038,218,2.038,220,2.038,222,4.461,223,2.038,224,2.038,226,3.948,227,3.948,228,1.776,229,2.038,230,2.038,232,2.038,234,0.918,235,0.721,237,1.579,240,2.038,242,2.038,244,1.25,250,1.776,256,2.057,257,1.292,267,1.083,291,3.512,434,2.038,439,1.579,455,2.038,456,2.038,492,3.009,496,2.038,525,0.918,527,4.855,537,3.908,561,0.918,634,3.481,635,1.776,637,1.776,638,1.776,645,1.776,654,0.847,784,2.552,785,2.552,831,1.083,842,1.776,843,4.041,844,4.233,846,2.038,852,1.776,854,1.776,883,1.776,900,2.038,914,2.038,948,2.038,1091,1.579,1445,1.776,1511,2.437,1512,2.437,1513,4.162,1514,2.437,1515,6.594,1516,2.038,1517,2.437,1518,4.276,1519,6.553,1520,6.642,1521,3.597,1522,2.437,1523,2.437,1524,2.437,1525,2.437,1526,2.437,1527,2.437,1528,2.437,1529,2.437,1530,2.437,1531,2.038,1532,2.038,1533,2.038,1534,2.038,1535,2.038,1536,4.276,1537,4.721,1538,2.437,1539,2.437,1540,2.437,1541,3.597,1542,4.721,1543,5.548,1544,2.437,1545,6.124,1546,2.437,1547,2.437,1548,2.437,1549,2.437,1550,2.437,1551,2.437,1552,2.437,1553,2.437,1554,2.437,1555,2.437,1556,2.437,1557,2.437,1558,2.437,1559,2.437,1560,4.859,1561,2.437,1562,2.437,1563,2.437,1564,2.437,1565,2.437,1566,5.082,1567,2.437,1568,2.437,1569,2.038,1570,2.437,1571,2.437,1572,2.437,1573,2.038,1574,4.778,1575,2.437,1576,2.437,1577,2.437,1578,2.038,1579,2.038,1580,2.038,1581,2.038,1582,2.038,1583,3.597,1584,3.597,1585,2.437,1586,2.437,1587,2.437,1588,2.437,1589,3.597,1590,3.597,1591,2.437,1592,2.437,1593,3.669,1594,2.437,1595,3.009,1596,2.038,1597,3.009,1598,3.009,1599,3.009,1600,3.009,1601,2.038,1602,4.987,1603,2.038,1604,2.038,1605,2.038,1606,2.038,1607,2.038,1608,2.038,1609,2.038,1610,3.669,1611,2.437,1612,2.038,1613,2.437,1614,2.437]],["title/dependencies.html",[1077,2.263,1215,2.828]],["body/dependencies.html",[5,0.234,11,0.02,17,0.032,43,1.225,127,1.13,142,1.225,152,1.225,158,0.025,159,0.02,174,3.014,176,2.415,177,2.415,192,3.46,193,3.46,196,3.46,197,1.558,443,2.004,514,2.681,516,4.318,518,3.46,520,3.46,524,2.681,581,3.014,841,2.681,963,4.318,984,3.46,992,3.46,1074,3.014,1095,4.318,1112,3.46,1154,3.46,1164,3.46,1210,3.46,1211,3.46,1215,3.014,1233,4.318,1298,3.46,1355,4.318,1437,4.318,1615,4.137,1616,4.137,1617,4.137,1618,6.478,1619,4.137,1620,4.137,1621,4.137,1622,4.137,1623,4.137,1624,4.137,1625,4.137,1626,4.137,1627,5.163,1628,4.137,1629,4.137,1630,4.137,1631,4.137,1632,4.137,1633,4.137,1634,4.137,1635,5.629,1636,4.137,1637,5.163,1638,4.137,1639,4.137,1640,4.137,1641,4.137,1642,5.629,1643,4.137,1644,4.137,1645,4.137,1646,4.137,1647,4.137,1648,4.137,1649,4.137,1650,5.163,1651,4.137,1652,4.137,1653,4.137,1654,5.163,1655,4.137,1656,4.137,1657,5.163,1658,5.163,1659,4.137,1660,4.137,1661,4.137,1662,4.137,1663,4.137,1664,4.137,1665,4.137,1666,4.137,1667,5.163,1668,4.137,1669,4.137,1670,4.137,1671,4.137,1672,4.137,1673,4.137,1674,4.137,1675,4.137,1676,4.137,1677,4.137,1678,4.137,1679,4.137,1680,4.137,1681,4.137,1682,4.137,1683,4.137,1684,4.137,1685,3.46,1686,4.137,1687,4.137,1688,4.137,1689,4.137,1690,4.137,1691,4.137,1692,4.137,1693,4.137,1694,4.137,1695,4.137,1696,4.137,1697,4.137,1698,4.137,1699,4.137,1700,4.137,1701,4.137,1702,4.137,1703,4.137,1704,4.137,1705,4.137,1706,4.137,1707,5.163,1708,4.137,1709,4.137,1710,4.137,1711,4.137,1712,4.137,1713,4.137,1714,4.137,1715,4.137,1716,4.137,1717,5.163,1718,4.137,1719,4.137,1720,4.137,1721,4.137,1722,4.137,1723,4.137,1724,4.137,1725,4.137,1726,4.137,1727,4.137,1728,4.137,1729,4.137]],["title/index.html",[12,0.184,951,1.971,952,1.753]],["body/index.html",[0,0.404,2,0.344,3,0.49,11,0.02,17,0.025,42,1.447,71,1.178,110,1.277,117,1.568,139,1.447,158,0.025,159,0.02,181,3.491,183,3.732,186,2.795,209,2.53,244,1.84,409,2.795,437,3.434,447,1.992,534,3.434,850,3.86,893,3.143,935,3.434,953,3.143,954,4.431,955,4.796,956,4.796,960,3.608,962,5.002,980,4.431,982,4.431,983,5.002,1026,3.608,1037,4.431,1053,3.608,1055,4.796,1073,3.608,1074,3.143,1091,2.795,1092,5.135,1093,5.002,1098,4.431,1103,3.608,1113,4.431,1117,3.608,1138,3.608,1139,3.86,1207,4.431,1232,3.608,1374,3.608,1460,3.608,1470,3.608,1482,3.608,1730,5.299,1731,5.299,1732,4.314,1733,4.314,1734,4.314,1735,4.314,1736,4.431,1737,4.314,1738,4.314,1739,4.314,1740,5.299,1741,5.299,1742,5.299,1743,5.735,1744,4.314,1745,4.314,1746,4.796,1747,5.735,1748,4.314,1749,4.314,1750,5.299,1751,4.314,1752,4.314,1753,4.314,1754,4.314,1755,4.314,1756,4.314,1757,4.314,1758,4.314,1759,4.314,1760,4.314,1761,4.314,1762,4.314,1763,5.299,1764,4.314,1765,4.314,1766,5.299,1767,4.314,1768,5.299,1769,5.299,1770,4.314,1771,4.314,1772,4.314,1773,4.314,1774,4.314,1775,4.314,1776,4.314,1777,4.314,1778,4.314,1779,4.314,1780,4.314,1781,4.314,1782,4.314,1783,4.314,1784,4.314]],["title/license.html",[951,1.971,952,1.753,1785,2.263]],["body/license.html",[11,0.023,17,0.027,50,1.302,158,0.027,159,0.023,181,2.783,329,3.473,821,2.309,849,4.1,935,3.647,1091,3.089,1136,5.008,1335,4.706,1412,3.987,1433,3.987,1484,3.987,1685,3.987,1736,5.474,1785,3.987,1786,4.768,1787,5.988,1788,4.768,1789,4.768,1790,5.628,1791,4.768,1792,4.768,1793,4.768,1794,4.768,1795,4.768,1796,4.768,1797,5.628,1798,4.768,1799,4.768,1800,4.768,1801,4.768,1802,4.768,1803,4.768,1804,4.768,1805,4.768,1806,4.768,1807,4.768,1808,4.768,1809,4.768,1810,5.628,1811,4.768,1812,4.768,1813,4.768,1814,4.768,1815,4.768,1816,4.768,1817,5.628,1818,4.768,1819,4.768,1820,4.768,1821,4.768,1822,4.768,1823,4.768,1824,4.768,1825,4.768,1826,4.768,1827,4.768,1828,4.768,1829,4.768,1830,4.768,1831,4.768,1832,4.768,1833,4.768,1834,4.768,1835,4.768,1836,4.768,1837,4.768,1838,4.768,1839,4.768,1840,4.768,1841,4.768,1842,4.768,1843,4.768,1844,4.768]],["title/modules.html",[1845,3.675]],["body/modules.html",[11,0.025,17,0.028,158,0.028,159,0.025,1845,4.384]],["title/overview.html",[1846,3.675]],["body/overview.html",[2,0.417,11,0.025,17,0.028,158,0.028,159,0.025,454,3.382,1241,3.802,1846,4.365,1847,4.365]],["title/miscellaneous/typealiases.html",[1848,1.753,1849,3.882]],["body/miscellaneous/typealiases.html",[6,0.426,11,0.023,12,0.336,17,0.031,18,0.445,19,0.28,92,0.459,114,1.294,158,0.027,159,0.023,161,2.396,567,4.138,634,3.764,672,4.19,673,3.604,674,3.604,675,3.206,676,3.604,677,3.604,689,2.174,843,3.206,1513,4.19,1593,3.604,1610,3.604,1848,3.206,1850,4.948,1851,4.138,1852,4.138,1853,5.751,1854,4.138,1855,4.138]],["title/miscellaneous/variables.html",[1848,1.753,1856,3.246]],["body/miscellaneous/variables.html",[4,0.236,5,0.145,6,0.357,8,0.727,11,0.024,12,0.107,15,0.826,16,0.236,17,0.032,18,0.107,19,0.365,20,1.588,22,0.396,49,0.644,52,0.884,53,1.018,56,0.208,57,0.208,60,0.757,63,0.814,64,0.231,65,0.441,67,0.958,69,0.429,72,0.958,74,0.429,76,0.958,77,0.429,78,0.987,79,0.757,80,0.939,81,0.465,84,0.757,87,0.757,91,0.757,92,0.204,93,0.665,94,0.884,95,0.465,99,0.525,100,0.376,101,0.376,102,0.699,103,0.699,106,0.465,107,0.231,109,0.465,111,0.545,114,0.873,116,0.861,119,0.339,120,0.28,121,0.28,123,0.208,124,0.396,133,1.266,144,1.018,147,0.465,150,0.465,151,0.593,155,0.757,158,0.012,159,0.007,160,1.019,161,0.762,162,1.865,163,1.315,164,1.315,165,1.315,166,1.315,167,1.315,168,1.315,169,1.315,170,1.315,173,1.046,177,2.176,184,1.146,197,2.136,201,1.315,209,1.746,222,3.205,228,1.865,235,1.104,244,1.124,248,3.351,250,1.865,251,1.315,252,1.315,253,1.865,254,1.315,255,1.315,267,0.699,269,1.315,291,1.977,390,3.521,398,1.315,431,1.865,443,1.24,524,1.658,525,1.218,529,0.643,536,3.74,537,2.821,561,1.218,581,1.146,605,1.315,607,1.137,609,1.137,611,1.137,613,1.137,615,1.137,617,1.137,619,1.137,621,1.137,623,1.137,625,1.137,627,1.137,629,1.137,631,1.137,633,1.137,634,2.998,654,0.546,679,1.046,680,1.046,681,1.046,689,1.679,724,3.742,773,4.078,789,1.24,791,1.24,793,0.762,794,1.24,796,1.24,798,1.24,799,0.762,802,1.24,813,1.137,817,1.806,822,1.24,823,1.24,825,1.24,826,1.24,827,1.24,828,1.24,837,0.762,841,2.85,843,1.658,844,2.716,852,1.865,853,1.315,854,1.865,855,1.315,856,1.315,857,1.315,858,1.315,859,1.315,860,1.315,861,1.315,862,1.315,863,1.315,864,1.315,865,1.315,866,1.315,867,1.315,868,1.315,869,1.315,870,1.315,871,1.315,872,1.315,873,1.315,874,1.315,875,1.315,876,1.315,877,1.315,878,1.315,879,1.315,880,1.315,881,1.315,882,1.315,883,1.865,884,1.315,1124,3.432,1139,1.146,1148,1.315,1159,1.315,1220,1.315,1241,3.521,1247,1.315,1261,1.315,1300,4.042,1342,4.98,1372,4.561,1422,4.042,1457,2.706,1461,2.14,1499,4.042,1513,3.205,1516,4.042,1531,2.14,1532,2.14,1533,2.14,1534,2.14,1535,2.14,1543,4.484,1560,1.315,1566,2.14,1569,2.14,1573,2.14,1574,1.315,1578,2.14,1579,2.14,1580,3.679,1581,2.14,1582,2.14,1593,1.146,1595,3.118,1596,2.14,1597,3.118,1598,3.118,1599,1.315,1600,2.14,1601,2.14,1602,1.315,1603,2.706,1604,3.118,1605,3.118,1606,3.118,1607,2.14,1608,2.14,1609,3.118,1610,1.146,1612,2.14,1746,1.315,1847,1.315,1848,1.019,1851,3.118,1852,3.118,1854,4.042,1855,1.315,1856,1.315,1857,5.362,1858,1.573,1859,4.104,1860,1.573,1861,2.559,1862,2.559,1863,2.559,1864,4.104,1865,2.559,1866,5.137,1867,2.559,1868,1.573,1869,1.573,1870,1.573,1871,1.573,1872,1.573,1873,1.573,1874,3.236,1875,3.236,1876,1.573,1877,1.573,1878,1.573,1879,1.573,1880,1.573,1881,1.573,1882,1.573,1883,1.573,1884,1.573,1885,1.573,1886,1.573,1887,1.573,1888,1.573,1889,1.573,1890,1.573,1891,1.573,1892,1.573,1893,1.573,1894,1.573,1895,1.573,1896,1.573,1897,1.573,1898,1.573,1899,3.729,1900,3.236,1901,1.573,1902,1.573,1903,1.573,1904,1.573,1905,2.559,1906,2.559,1907,1.573,1908,1.573,1909,1.573,1910,1.573,1911,2.559,1912,1.573,1913,2.559,1914,1.573,1915,1.573,1916,1.573,1917,1.573,1918,1.573,1919,1.573,1920,1.573,1921,1.573,1922,1.573,1923,1.573,1924,1.573,1925,1.573,1926,1.573,1927,1.573,1928,1.573,1929,1.573,1930,1.573,1931,1.573,1932,1.573,1933,1.573,1934,1.573,1935,1.573,1936,1.573,1937,1.573,1938,1.573,1939,1.573,1940,1.573,1941,1.573,1942,1.573,1943,1.573,1944,1.573,1945,1.573,1946,1.573,1947,1.573,1948,1.573,1949,1.573,1950,1.573,1951,1.573,1952,1.573,1953,1.573,1954,1.573,1955,1.573,1956,1.573,1957,1.573,1958,1.573,1959,1.573,1960,1.573,1961,2.559,1962,1.573,1963,1.573,1964,1.573,1965,1.573,1966,1.573,1967,1.573,1968,1.573,1969,1.573,1970,1.573,1971,1.573,1972,1.573,1973,1.573,1974,1.573,1975,1.573,1976,1.573,1977,1.573,1978,1.573,1979,3.729,1980,1.573,1981,1.573,1982,1.573,1983,1.573,1984,1.573,1985,1.573,1986,1.573,1987,1.573,1988,1.573,1989,2.559,1990,1.573,1991,1.573,1992,2.559,1993,2.559,1994,1.573,1995,1.573,1996,2.559,1997,1.573,1998,1.573,1999,1.573,2000,1.573,2001,1.573,2002,1.573,2003,1.573,2004,1.573,2005,1.573,2006,1.573,2007,1.573,2008,1.573,2009,1.573,2010,1.573,2011,1.573,2012,1.573,2013,1.573,2014,1.573,2015,1.573,2016,1.573,2017,1.573,2018,1.573,2019,1.573,2020,1.573,2021,1.573,2022,1.573,2023,1.573,2024,1.573,2025,1.573,2026,1.573,2027,1.573,2028,1.573,2029,1.573,2030,1.573,2031,1.573,2032,1.573,2033,1.573,2034,1.573,2035,1.573,2036,1.573,2037,1.573,2038,1.573,2039,1.573,2040,1.573,2041,1.573,2042,1.573,2043,1.573,2044,1.573,2045,1.573,2046,1.573,2047,1.573,2048,1.573,2049,1.573,2050,1.573,2051,1.573,2052,1.573,2053,1.573,2054,1.573,2055,1.573,2056,1.573,2057,1.573,2058,1.573,2059,1.573,2060,1.573,2061,1.573,2062,1.573,2063,1.573,2064,1.573,2065,1.573,2066,1.573,2067,1.573,2068,1.573,2069,1.573,2070,1.573,2071,1.573,2072,1.573,2073,1.573,2074,1.573,2075,1.573,2076,1.573,2077,1.573,2078,1.573,2079,1.573,2080,1.573,2081,1.573,2082,1.573,2083,1.573,2084,1.573,2085,1.573,2086,1.573,2087,1.573,2088,1.573,2089,1.573,2090,1.573,2091,1.573,2092,1.573,2093,1.573,2094,1.573,2095,1.573,2096,1.573,2097,1.573,2098,1.573,2099,1.573,2100,1.573,2101,1.573,2102,1.573,2103,1.573,2104,1.573,2105,1.573,2106,1.573,2107,1.573,2108,1.573,2109,1.573,2110,1.573,2111,1.573,2112,1.573,2113,1.573,2114,1.573,2115,1.573,2116,1.573,2117,1.573,2118,1.573,2119,1.573,2120,1.573,2121,2.559,2122,1.573,2123,1.573,2124,1.573,2125,1.573,2126,1.573,2127,1.573,2128,1.573,2129,1.573,2130,1.573,2131,1.573,2132,1.573,2133,1.573,2134,1.573,2135,1.573,2136,1.573,2137,1.573,2138,1.573,2139,1.573,2140,1.573,2141,1.573,2142,1.573,2143,1.573,2144,1.573,2145,1.573,2146,1.573,2147,2.559,2148,1.573,2149,1.573,2150,1.573,2151,1.573,2152,2.559,2153,1.573,2154,1.573,2155,1.573,2156,1.573,2157,1.573,2158,1.573,2159,1.573,2160,1.573,2161,1.573,2162,1.573,2163,1.573,2164,1.573,2165,1.573,2166,1.573,2167,1.573,2168,1.573,2169,1.573,2170,1.573,2171,1.573,2172,1.573,2173,1.573,2174,1.573,2175,1.573,2176,1.573,2177,1.573,2178,1.573,2179,1.573,2180,1.573,2181,1.573,2182,1.573,2183,1.573,2184,1.573,2185,1.573,2186,2.559,2187,1.573,2188,1.573,2189,1.573,2190,1.573,2191,1.573,2192,1.573,2193,2.559,2194,1.573,2195,1.573,2196,6.523,2197,5.673,2198,5.918,2199,5.608,2200,5.918,2201,5.918,2202,5.918,2203,5.257,2204,5.257,2205,5.257,2206,5.257,2207,5.673,2208,6.523,2209,4.833,2210,5.673,2211,4.833,2212,4.833,2213,5.362,2214,6.022,2215,5.673,2216,5.673,2217,3.729,2218,3.729,2219,3.729,2220,3.729,2221,3.729,2222,3.729,2223,5.673,2224,5.673,2225,4.833,2226,4.833,2227,5.362,2228,3.729,2229,3.729,2230,3.729,2231,3.729,2232,3.729,2233,3.729,2234,1.573,2235,1.573,2236,4.399,2237,1.573,2238,2.559,2239,1.573,2240,1.573,2241,3.729,2242,3.236,2243,3.236,2244,1.573,2245,1.573,2246,1.573,2247,1.573,2248,1.573,2249,1.573,2250,1.573,2251,1.573,2252,1.573,2253,1.573,2254,1.573,2255,1.573,2256,1.573,2257,1.573,2258,1.573,2259,1.573,2260,1.573,2261,1.573,2262,1.573,2263,1.573,2264,1.573,2265,1.573,2266,1.573,2267,1.573,2268,1.573,2269,1.573,2270,1.573,2271,1.573,2272,1.573,2273,1.573,2274,1.573,2275,5.955,2276,6.307,2277,1.573,2278,1.573,2279,1.573,2280,1.573,2281,1.573,2282,1.573,2283,1.573,2284,1.573,2285,1.573,2286,1.573,2287,1.573,2288,1.573,2289,1.573,2290,1.573,2291,1.573,2292,1.573,2293,4.399,2294,1.573,2295,1.573,2296,1.573,2297,1.573,2298,1.573,2299,1.573,2300,3.236,2301,1.573,2302,1.573,2303,1.573,2304,1.573,2305,1.573,2306,1.573,2307,1.573,2308,1.573,2309,2.559,2310,1.573,2311,1.573,2312,1.573,2313,1.573,2314,1.573,2315,1.573,2316,1.573,2317,1.573,2318,1.573,2319,2.559,2320,1.573,2321,1.573,2322,1.573,2323,1.573,2324,1.573,2325,1.573,2326,1.573,2327,1.573,2328,1.573,2329,2.559,2330,1.573,2331,1.573,2332,1.573,2333,1.573,2334,1.573,2335,1.573,2336,1.573,2337,1.573,2338,1.573,2339,1.573,2340,1.573,2341,1.573,2342,1.573,2343,1.573,2344,1.573,2345,1.573,2346,1.573,2347,1.573,2348,1.573,2349,1.573,2350,1.573,2351,1.573,2352,1.573,2353,1.573,2354,1.573,2355,1.573,2356,1.573,2357,1.573,2358,1.573,2359,1.573,2360,1.573,2361,1.573,2362,1.573,2363,1.573,2364,1.573,2365,1.573,2366,1.573,2367,1.573,2368,1.573,2369,1.573]]],"invertedIndex":[["",{"_index":17,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":291,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["0.1.0",{"_index":1503,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":1729,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":1671,"title":{},"body":{"dependencies.html":{}}}],["0.2",{"_index":726,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["0.2.0",{"_index":1500,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":1692,"title":{},"body":{"dependencies.html":{}}}],["0.5",{"_index":725,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["0.5*255",{"_index":734,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["0.5.0",{"_index":1488,"title":{},"body":{"changelog.html":{}}}],["0.6.0",{"_index":1460,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0.9*255",{"_index":751,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["0.999999",{"_index":603,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["0/1",{"_index":1515,"title":{},"body":{"coverage.html":{}}}],["0/14",{"_index":1523,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":1525,"title":{},"body":{"coverage.html":{}}}],["0/21",{"_index":1524,"title":{},"body":{"coverage.html":{}}}],["0/24",{"_index":1529,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":1521,"title":{},"body":{"coverage.html":{}}}],["01",{"_index":1005,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":1322,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":1267,"title":{},"body":{"changelog.html":{}}}],["03b3d854",{"_index":2234,"title":{},"body":{"miscellaneous/variables.html":{}}}],["04",{"_index":1043,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":1240,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":971,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":959,"title":{},"body":{"changelog.html":{}}}],["07a29e4c",{"_index":2240,"title":{},"body":{"miscellaneous/variables.html":{}}}],["08",{"_index":1434,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":997,"title":{},"body":{"changelog.html":{}}}],["0a7c1eab007a",{"_index":2254,"title":{},"body":{"miscellaneous/variables.html":{}}}],["0e368f3075e8",{"_index":2238,"title":{},"body":{"miscellaneous/variables.html":{}}}],["0e8017bdda58",{"_index":2243,"title":{},"body":{"miscellaneous/variables.html":{}}}],["0efb3ba9a670",{"_index":2262,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1",{"_index":536,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["1)[0].split('_')[0].tolowercase()}.x('${o.id.split('_').slice",{"_index":2047,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1)[0]}'),`).join('\\n",{"_index":2048,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1.0",{"_index":1356,"title":{},"body":{"changelog.html":{}}}],["1.0.0",{"_index":1420,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":1666,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":1675,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":1725,"title":{},"body":{"dependencies.html":{}}}],["1.1.0",{"_index":1397,"title":{},"body":{"changelog.html":{}}}],["1.16.0",{"_index":1703,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":1668,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":1355,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":1679,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":1706,"title":{},"body":{"dependencies.html":{}}}],["1.3.5",{"_index":1321,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":1298,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":1693,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":1266,"title":{},"body":{"changelog.html":{}}}],["1.6.0",{"_index":1252,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":1239,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":1682,"title":{},"body":{"dependencies.html":{}}}],["1.jpg",{"_index":2276,"title":{},"body":{"miscellaneous/variables.html":{}}}],["1/1",{"_index":1520,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":390,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["10.0.0",{"_index":1691,"title":{},"body":{"dependencies.html":{}}}],["10/10",{"_index":1518,"title":{},"body":{"coverage.html":{}}}],["100",{"_index":537,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["1000",{"_index":474,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["10000",{"_index":853,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["101",{"_index":1866,"title":{},"body":{"miscellaneous/variables.html":{}}}],["102",{"_index":2218,"title":{},"body":{"miscellaneous/variables.html":{}}}],["103",{"_index":2214,"title":{},"body":{"miscellaneous/variables.html":{}}}],["108",{"_index":2231,"title":{},"body":{"miscellaneous/variables.html":{}}}],["10x",{"_index":1409,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":1300,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["11.2.1",{"_index":1708,"title":{},"body":{"dependencies.html":{}}}],["11e8",{"_index":2236,"title":{},"body":{"miscellaneous/variables.html":{}}}],["11e9",{"_index":2260,"title":{},"body":{"miscellaneous/variables.html":{}}}],["11eb",{"_index":2268,"title":{},"body":{"miscellaneous/variables.html":{}}}],["12",{"_index":960,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":1710,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":1618,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":1626,"title":{},"body":{"dependencies.html":{}}}],["121",{"_index":1863,"title":{},"body":{"miscellaneous/variables.html":{}}}],["13",{"_index":1144,"title":{},"body":{"changelog.html":{}}}],["14",{"_index":1044,"title":{},"body":{"changelog.html":{}}}],["15",{"_index":972,"title":{},"body":{"changelog.html":{}}}],["15.126.1",{"_index":1616,"title":{},"body":{"dependencies.html":{}}}],["155",{"_index":2221,"title":{},"body":{"miscellaneous/variables.html":{}}}],["16",{"_index":1206,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":1684,"title":{},"body":{"dependencies.html":{}}}],["17",{"_index":1025,"title":{},"body":{"changelog.html":{}}}],["172",{"_index":2209,"title":{},"body":{"miscellaneous/variables.html":{}}}],["183",{"_index":1869,"title":{},"body":{"miscellaneous/variables.html":{}}}],["19/19",{"_index":1586,"title":{},"body":{"coverage.html":{}}}],["2",{"_index":773,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["2.0.0",{"_index":1205,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":1688,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":1164,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":1154,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.3.0",{"_index":1150,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":1143,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":1130,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":1112,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.6.7",{"_index":1712,"title":{},"body":{"dependencies.html":{}}}],["2.8.5",{"_index":1677,"title":{},"body":{"dependencies.html":{}}}],["2.awsapprunner.com",{"_index":1758,"title":{},"body":{"index.html":{}}}],["2.jpg",{"_index":2358,"title":{},"body":{"miscellaneous/variables.html":{}}}],["2/3",{"_index":1584,"title":{},"body":{"coverage.html":{}}}],["2000",{"_index":475,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["2019",{"_index":1433,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["202",{"_index":2227,"title":{},"body":{"miscellaneous/variables.html":{}}}],["2020",{"_index":1358,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":1099,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":985,"title":{},"body":{"changelog.html":{}}}],["2023",{"_index":958,"title":{},"body":{"changelog.html":{}}}],["203",{"_index":2213,"title":{},"body":{"miscellaneous/variables.html":{}}}],["204",{"_index":1864,"title":{},"body":{"miscellaneous/variables.html":{}}}],["21",{"_index":1241,"title":{},"body":{"changelog.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["213",{"_index":1867,"title":{},"body":{"miscellaneous/variables.html":{}}}],["22",{"_index":1422,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["24",{"_index":1489,"title":{},"body":{"changelog.html":{}}}],["24/32",{"_index":1517,"title":{},"body":{"coverage.html":{}}}],["240",{"_index":1868,"title":{},"body":{"miscellaneous/variables.html":{}}}],["25/25",{"_index":1585,"title":{},"body":{"coverage.html":{}}}],["255",{"_index":724,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/variables.html":{}}}],["26",{"_index":1268,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":1303,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":998,"title":{},"body":{"changelog.html":{}}}],["29",{"_index":1865,"title":{},"body":{"miscellaneous/variables.html":{}}}],["3",{"_index":1342,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["3.0.0",{"_index":1095,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":1642,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":1058,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":1051,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":1042,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":1024,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":1004,"title":{},"body":{"changelog.html":{}}}],["3.5.0",{"_index":996,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":1647,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":1649,"title":{},"body":{"dependencies.html":{}}}],["3.6",{"_index":1763,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":984,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.7.0",{"_index":970,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":1658,"title":{},"body":{"dependencies.html":{}}}],["3.7.2",{"_index":957,"title":{},"body":{"changelog.html":{}}}],["3.7.3",{"_index":1661,"title":{},"body":{"dependencies.html":{}}}],["3/3",{"_index":1536,"title":{},"body":{"coverage.html":{}}}],["30",{"_index":1165,"title":{},"body":{"changelog.html":{}}}],["301615f9",{"_index":2266,"title":{},"body":{"miscellaneous/variables.html":{}}}],["308f5ffc",{"_index":2245,"title":{},"body":{"miscellaneous/variables.html":{}}}],["31",{"_index":1398,"title":{},"body":{"changelog.html":{}}}],["32",{"_index":2197,"title":{},"body":{"miscellaneous/variables.html":{}}}],["35ce3d8786fe",{"_index":2270,"title":{},"body":{"miscellaneous/variables.html":{}}}],["3d",{"_index":442,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["4",{"_index":1372,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["4.0",{"_index":1741,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":1655,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":1686,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":1701,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":1673,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":1695,"title":{},"body":{"dependencies.html":{}}}],["4/4",{"_index":1538,"title":{},"body":{"coverage.html":{}}}],["40",{"_index":2222,"title":{},"body":{"miscellaneous/variables.html":{}}}],["403",{"_index":2216,"title":{},"body":{"miscellaneous/variables.html":{}}}],["41",{"_index":1862,"title":{},"body":{"miscellaneous/variables.html":{}}}],["4th",{"_index":987,"title":{},"body":{"changelog.html":{}}}],["5",{"_index":1847,"title":{},"body":{"overview.html":{},"miscellaneous/variables.html":{}}}],["5.0.0",{"_index":1698,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":1700,"title":{},"body":{"dependencies.html":{}}}],["5/5",{"_index":1537,"title":{},"body":{"coverage.html":{}}}],["500",{"_index":383,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["5bd084c8",{"_index":2247,"title":{},"body":{"miscellaneous/variables.html":{}}}],["5c106f29",{"_index":2258,"title":{},"body":{"miscellaneous/variables.html":{}}}],["5th",{"_index":976,"title":{},"body":{"changelog.html":{}}}],["6",{"_index":2329,"title":{},"body":{"miscellaneous/variables.html":{}}}],["6.0.1",{"_index":1699,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":1714,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":1652,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":1722,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":1719,"title":{},"body":{"dependencies.html":{}}}],["6/6",{"_index":1541,"title":{},"body":{"coverage.html":{}}}],["60",{"_index":473,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["60*60*1000",{"_index":313,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["66",{"_index":1583,"title":{},"body":{"coverage.html":{}}}],["7",{"_index":2219,"title":{},"body":{"miscellaneous/variables.html":{}}}],["7/7",{"_index":1540,"title":{},"body":{"coverage.html":{}}}],["73bb26e4",{"_index":2252,"title":{},"body":{"miscellaneous/variables.html":{}}}],["75",{"_index":1516,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["76",{"_index":2225,"title":{},"body":{"miscellaneous/variables.html":{}}}],["8",{"_index":1247,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["8.3.2",{"_index":1727,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":1646,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":1635,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":1638,"title":{},"body":{"dependencies.html":{}}}],["8/8",{"_index":1539,"title":{},"body":{"coverage.html":{}}}],["802f",{"_index":2249,"title":{},"body":{"miscellaneous/variables.html":{}}}],["85",{"_index":1499,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["85e8",{"_index":2261,"title":{},"body":{"miscellaneous/variables.html":{}}}],["86",{"_index":2211,"title":{},"body":{"miscellaneous/variables.html":{}}}],["89",{"_index":2233,"title":{},"body":{"miscellaneous/variables.html":{}}}],["8bce",{"_index":2237,"title":{},"body":{"miscellaneous/variables.html":{}}}],["8f19",{"_index":2253,"title":{},"body":{"miscellaneous/variables.html":{}}}],["90",{"_index":1444,"title":{},"body":{"changelog.html":{}}}],["95",{"_index":1047,"title":{},"body":{"changelog.html":{}}}],["96",{"_index":2228,"title":{},"body":{"miscellaneous/variables.html":{}}}],["97",{"_index":2229,"title":{},"body":{"miscellaneous/variables.html":{}}}],["98",{"_index":1870,"title":{},"body":{"miscellaneous/variables.html":{}}}],["9th",{"_index":1277,"title":{},"body":{"changelog.html":{}}}],["_",{"_index":2045,"title":{},"body":{"miscellaneous/variables.html":{}}}],["_error",{"_index":913,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["_lighting",{"_index":684,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["_source",{"_index":897,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["a8dc",{"_index":2269,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ability",{"_index":1179,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":1484,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["acc.concat(structures.length",{"_index":715,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["accessors",{"_index":1996,"title":{},"body":{"miscellaneous/variables.html":{}}}],["accurate",{"_index":1265,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":1838,"title":{},"body":{"license.html":{}}}],["actions",{"_index":1346,"title":{},"body":{"changelog.html":{}}}],["actually",{"_index":320,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["add",{"_index":376,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["adddatasources(sources",{"_index":354,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["added",{"_index":961,"title":{},"body":{"changelog.html":{}}}],["addedge",{"_index":493,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["addedge(id",{"_index":501,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["addhubmapdatatostore",{"_index":948,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["additional",{"_index":1485,"title":{},"body":{"changelog.html":{}}}],["addjsonldtostore",{"_index":198,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["addjsonldtostore(hubmapdata",{"_index":950,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["addjsonldtostore(source",{"_index":364,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addn3tostore",{"_index":199,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addn3tostore(source",{"_index":366,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addnode",{"_index":494,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["addnode(id",{"_index":503,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["addrdfxmltostore",{"_index":200,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addrdfxmltostore(source",{"_index":370,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["addressed",{"_index":1391,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":947,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["adjusting",{"_index":1385,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":1296,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":1209,"title":{},"body":{"changelog.html":{}}}],["af_preims_registered_thumbnail.jpg",{"_index":2198,"title":{},"body":{"miscellaneous/variables.html":{}}}],["af_premxif_registered_thumbnail.jpg",{"_index":2203,"title":{},"body":{"miscellaneous/variables.html":{}}}],["again",{"_index":35,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["age",{"_index":102,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["agerange",{"_index":131,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["aggregate",{"_index":9,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["aggregateresult",{"_index":1,"title":{"interfaces/AggregateResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["aggregating",{"_index":486,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["ala",{"_index":1147,"title":{},"body":{"changelog.html":{}}}],["aliases",{"_index":1850,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["allow",{"_index":379,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["allows",{"_index":1282,"title":{},"body":{"changelog.html":{}}}],["alpha",{"_index":1472,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":1452,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":1447,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":1432,"title":{},"body":{"changelog.html":{}}}],["alt",{"_index":1745,"title":{},"body":{"index.html":{}}}],["amount",{"_index":37,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["analytics",{"_index":1211,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["anatomical",{"_index":807,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["ancestors.created_by_user_displayname",{"_index":869,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.description",{"_index":861,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.entity_type",{"_index":860,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.group_name",{"_index":868,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.group_uuid",{"_index":867,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.last_modified_timestamp",{"_index":866,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.metadata.living_donor_data.data_value",{"_index":865,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.metadata.living_donor_data.preferred_term",{"_index":864,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.metadata.organ_donor_data.data_value",{"_index":863,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.metadata.organ_donor_data.preferred_term",{"_index":862,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["ancestors.uuid",{"_index":870,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["and/or",{"_index":1808,"title":{},"body":{"license.html":{}}}],["angular",{"_index":1074,"title":{},"body":{"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":1617,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":1619,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":1620,"title":{},"body":{"dependencies.html":{}}}],["angular/compiler",{"_index":1621,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":1622,"title":{},"body":{"dependencies.html":{}}}],["angular/elements",{"_index":1623,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":1624,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":1625,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":1627,"title":{},"body":{"dependencies.html":{}}}],["angular/router",{"_index":1629,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":1630,"title":{},"body":{"dependencies.html":{}}}],["annotation",{"_index":805,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["annotations",{"_index":803,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["aorta",{"_index":2031,"title":{},"body":{"miscellaneous/variables.html":{}}}],["api",{"_index":183,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":1755,"title":{},"body":{"index.html":{}}}],["appear",{"_index":1107,"title":{},"body":{"changelog.html":{}}}],["applicable",{"_index":809,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["application",{"_index":1286,"title":{},"body":{"changelog.html":{}}}],["application/json",{"_index":888,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["applied",{"_index":125,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["applyspatialplacement",{"_index":1522,"title":{},"body":{"coverage.html":{}}}],["applyspatialplacement(matrix",{"_index":595,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["applyspatialplacement(tx",{"_index":528,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["appropriate",{"_index":1076,"title":{},"body":{"changelog.html":{}}}],["april",{"_index":1276,"title":{},"body":{"changelog.html":{}}}],["arising",{"_index":1842,"title":{},"body":{"license.html":{}}}],["array",{"_index":399,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["asct+b",{"_index":1100,"title":{},"body":{"changelog.html":{}}}],["asctb",{"_index":1877,"title":{},"body":{"miscellaneous/variables.html":{}}}],["assertions",{"_index":411,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["assets",{"_index":182,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["assetsapi",{"_index":938,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["assignment/selection",{"_index":1254,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":50,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"license.html":{}}}],["assumes",{"_index":372,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["async",{"_index":280,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["atlas",{"_index":954,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["attempts",{"_index":1134,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":1831,"title":{},"body":{"license.html":{}}}],["automatic",{"_index":1376,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":1330,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":1369,"title":{},"body":{"changelog.html":{}}}],["avoid",{"_index":1194,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":288,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/SearchResultJson.html":{}}}],["award",{"_index":1783,"title":{},"body":{"index.html":{}}}],["b56a",{"_index":2242,"title":{},"body":{"miscellaneous/variables.html":{}}}],["backend",{"_index":1116,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":1482,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["base",{"_index":1457,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["base64",{"_index":298,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["based",{"_index":1184,"title":{},"body":{"changelog.html":{}}}],["basic",{"_index":1207,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["bearer",{"_index":890,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["before",{"_index":33,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["being",{"_index":1238,"title":{},"body":{"changelog.html":{}}}],["beta",{"_index":1098,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":1166,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":1426,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":1665,"title":{},"body":{"dependencies.html":{}}}],["block",{"_index":78,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["blocks",{"_index":1019,"title":{},"body":{"changelog.html":{}}}],["blood",{"_index":2033,"title":{},"body":{"miscellaneous/variables.html":{}}}],["blood_vasculature",{"_index":2049,"title":{},"body":{"miscellaneous/variables.html":{}}}],["blue",{"_index":1595,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["bmi",{"_index":103,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["bmirange",{"_index":132,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["board",{"_index":1449,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":443,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["bodyid",{"_index":699,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["bodyobj",{"_index":892,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["bone_marrow",{"_index":2035,"title":{},"body":{"miscellaneous/variables.html":{}}}],["boolean",{"_index":141,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["both",{"_index":129,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["bothsexes",{"_index":1887,"title":{},"body":{"miscellaneous/variables.html":{}}}],["bounding",{"_index":730,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["box",{"_index":1193,"title":{},"body":{"changelog.html":{}}}],["boxes",{"_index":731,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["brain",{"_index":2051,"title":{},"body":{"miscellaneous/variables.html":{}}}],["break",{"_index":538,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["breaking",{"_index":1229,"title":{},"body":{"changelog.html":{}}}],["bringing",{"_index":1248,"title":{},"body":{"changelog.html":{}}}],["browser",{"_index":1437,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["browserify",{"_index":1720,"title":{},"body":{"dependencies.html":{}}}],["browsing",{"_index":1505,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":1041,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":1737,"title":{},"body":{"index.html":{}}}],["building",{"_index":483,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["builds",{"_index":1094,"title":{},"body":{"changelog.html":{}}}],["button",{"_index":1451,"title":{},"body":{"changelog.html":{}}}],["c",{"_index":1788,"title":{},"body":{"license.html":{}}}],["c870",{"_index":2267,"title":{},"body":{"miscellaneous/variables.html":{}}}],["cache",{"_index":963,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["cacheable",{"_index":1724,"title":{},"body":{"dependencies.html":{}}}],["cached",{"_index":282,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["cachedconnect",{"_index":292,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["callback",{"_index":1182,"title":{},"body":{"changelog.html":{}}}],["called",{"_index":1235,"title":{},"body":{"changelog.html":{}}}],["calls",{"_index":994,"title":{},"body":{"changelog.html":{}}}],["caltech",{"_index":2246,"title":{},"body":{"miscellaneous/variables.html":{}}}],["came",{"_index":810,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["cancelregistration",{"_index":1181,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":1424,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":1669,"title":{},"body":{"dependencies.html":{}}}],["card",{"_index":1213,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":1218,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":534,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"index.html":{}}}],["cases",{"_index":1396,"title":{},"body":{"changelog.html":{}}}],["catch",{"_index":319,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["catch((error",{"_index":489,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["ccf",{"_index":209,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["ccf's",{"_index":1351,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":973,"title":{},"body":{"changelog.html":{}}}],["ccf.spatial.bothsexes.id",{"_index":703,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["ccf.spatial.female.id",{"_index":702,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["ccf.spatial.male.id",{"_index":701,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["ccf.spatialentity",{"_index":564,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ccf.spatialentity.x_dimension.id",{"_index":2367,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf.spatialentity.y_dimension.id",{"_index":2368,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf.spatialentity.z_dimension.id",{"_index":2369,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf.spatialobjectreference",{"_index":563,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ccf.spatialplacement.source",{"_index":569,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ccf.spatialplacement.target",{"_index":572,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ccf:age",{"_index":2112,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:bmi",{"_index":2113,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:collides_with",{"_index":2135,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:comes_from",{"_index":2120,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:consortium_name",{"_index":2115,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:creator_first_name",{"_index":2150,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:creator_last_name",{"_index":2151,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:dimension_unit",{"_index":2154,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:extraction_set_for",{"_index":2138,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:file_format",{"_index":2176,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:file_subpath",{"_index":2177,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:file_url",{"_index":2175,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:generates_dataset",{"_index":2123,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:has_extraction_set",{"_index":2139,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:has_object_reference",{"_index":2146,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:has_ontology_term",{"_index":2172,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:has_reference_organ",{"_index":2137,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:has_registration_location",{"_index":2134,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:organ_owner_sex",{"_index":2141,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:organ_side",{"_index":2142,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:placement_for",{"_index":2152,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:placement_relative_to",{"_index":2158,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:representation_of",{"_index":2136,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:rotation_order",{"_index":2153,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:rotation_unit",{"_index":2155,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:rui_rank",{"_index":2143,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:sample_type",{"_index":2125,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:scaling_unit",{"_index":2156,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:section_count",{"_index":2127,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:section_number",{"_index":2133,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:section_size",{"_index":2129,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:section_size_unit",{"_index":2131,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:sex",{"_index":2111,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:slice_count",{"_index":2145,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:slice_thickness",{"_index":2144,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:subdivided_into_sections",{"_index":2122,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:technology",{"_index":2173,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:thumbnail",{"_index":2174,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:tissue_provider_name",{"_index":2117,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:tissue_provider_uuid",{"_index":2119,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:translation_unit",{"_index":2157,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:updated_date",{"_index":2148,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:url",{"_index":2110,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:x_dimension",{"_index":2168,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:x_rotation",{"_index":2159,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:x_scaling",{"_index":2162,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:x_translation",{"_index":2165,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:y_dimension",{"_index":2169,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:y_rotation",{"_index":2160,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:y_scaling",{"_index":2163,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:y_translation",{"_index":2166,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:z_dimension",{"_index":2170,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:z_rotation",{"_index":2161,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:z_scaling",{"_index":2164,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf:z_translation",{"_index":2167,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccf_annotations",{"_index":679,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/variables.html":{}}}],["ccf_context",{"_index":1601,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["ccfcontexturl",{"_index":164,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["ccfdatabase",{"_index":257,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["ccfdatabasekey",{"_index":306,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfdatabaseoptions",{"_index":160,"title":{"interfaces/CCFDatabaseOptions.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["ccfdatabasestatustracker",{"_index":237,"title":{"classes/CCFDatabaseStatusTracker.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"coverage.html":{}}}],["ccfdatabasestatustracker(this",{"_index":417,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfowlurl",{"_index":165,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["ccfowlurl.endswith('.n3store.json",{"_index":331,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfowlurl.startswith",{"_index":327,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfowlurl?.length",{"_index":338,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfspatialgraph",{"_index":208,"title":{"classes/CCFSpatialGraph.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"coverage.html":{}}}],["ccfspatialgraph(this",{"_index":271,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfspatialscene",{"_index":211,"title":{"classes/CCFSpatialScene.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["ccfspatialscene(this",{"_index":273,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ccfx",{"_index":1603,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["ccfx('age",{"_index":1947,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('bmi",{"_index":1948,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_characterizes",{"_index":1884,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_ct_isa",{"_index":1880,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_located_in",{"_index":1882,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_part_of",{"_index":1874,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('ccf_pref_label",{"_index":1873,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('collides_with",{"_index":1908,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('comes_from",{"_index":1956,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('consortium_name",{"_index":1952,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('creator_first_name",{"_index":1902,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('creator_last_name",{"_index":1903,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('creator_orcid",{"_index":1904,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('dimension_unit",{"_index":1922,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('extraction_set_for",{"_index":1912,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('file_format",{"_index":1897,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('file_subpath",{"_index":1898,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('file_url",{"_index":1896,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('generates_dataset",{"_index":1958,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_cell_type_term",{"_index":1971,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_extraction_set",{"_index":1914,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_object_reference",{"_index":1923,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_ontology_term",{"_index":1970,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_reference_organ",{"_index":1910,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('has_registration_location",{"_index":1969,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('organ_owner_sex",{"_index":1915,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('organ_side",{"_index":1916,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('placement_for",{"_index":1924,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('placement_relative_to",{"_index":1925,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('representation_of",{"_index":1909,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('rotation_order",{"_index":1934,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('rotation_unit",{"_index":1935,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('rui_rank",{"_index":1875,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('sample_type",{"_index":1959,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('scaling_unit",{"_index":1929,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('section_count",{"_index":1965,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('section_number",{"_index":1968,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('section_size",{"_index":1966,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('section_size_unit",{"_index":1967,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('sex",{"_index":1946,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('slice_count",{"_index":1918,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('slice_thickness",{"_index":1917,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('spatial_entity",{"_index":1894,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('spatial_object_reference",{"_index":1893,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('spatial_placement",{"_index":1895,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('subdivided_into_sections",{"_index":1957,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('technology",{"_index":1972,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('theta_rotation",{"_index":1933,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('thumbnail",{"_index":1973,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('tissue_provider_name",{"_index":1953,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('tissue_provider_uuid",{"_index":1955,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('translation_unit",{"_index":1939,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('updated_date",{"_index":1907,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('url",{"_index":1945,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('x_dimension",{"_index":1919,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('x_rotation",{"_index":1930,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('x_scaling",{"_index":1926,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('x_translation",{"_index":1936,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('y_dimension",{"_index":1920,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('y_rotation",{"_index":1931,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('y_scaling",{"_index":1927,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('y_translation",{"_index":1937,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('z_dimension",{"_index":1921,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('z_rotation",{"_index":1932,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('z_scaling",{"_index":1928,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfx('z_translation",{"_index":1938,"title":{},"body":{"miscellaneous/variables.html":{}}}],["cell",{"_index":431,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["celltype",{"_index":108,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["celltypeterms",{"_index":109,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["center",{"_index":1778,"title":{},"body":{"index.html":{}}}],["centimeter",{"_index":535,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["change",{"_index":1232,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["changed",{"_index":990,"title":{},"body":{"changelog.html":{}}}],["changelog",{"_index":953,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changes",{"_index":967,"title":{},"body":{"changelog.html":{}}}],["characterizes",{"_index":1883,"title":{},"body":{"miscellaneous/variables.html":{}}}],["charge",{"_index":1794,"title":{},"body":{"license.html":{}}}],["checkback",{"_index":36,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["checking",{"_index":34,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["child",{"_index":145,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["children",{"_index":147,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["choose",{"_index":1370,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":1349,"title":{},"body":{"changelog.html":{}}}],["cl",{"_index":1604,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["cl.cell",{"_index":2005,"title":{},"body":{"miscellaneous/variables.html":{}}}],["claim",{"_index":1834,"title":{},"body":{"license.html":{}}}],["class",{"_index":256,"title":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["classes",{"_index":454,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"overview.html":{}}}],["clean",{"_index":1040,"title":{},"body":{"changelog.html":{}}}],["cleanup",{"_index":1097,"title":{},"body":{"changelog.html":{}}}],["click",{"_index":1140,"title":{},"body":{"changelog.html":{}}}],["clicking",{"_index":1225,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":962,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["code",{"_index":1090,"title":{},"body":{"changelog.html":{}}}],["codebase",{"_index":1361,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":1408,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":1465,"title":{},"body":{"changelog.html":{}}}],["collaboration",{"_index":1359,"title":{},"body":{"changelog.html":{}}}],["collisions",{"_index":1378,"title":{},"body":{"changelog.html":{}}}],["colon",{"_index":2008,"title":{},"body":{"miscellaneous/variables.html":{}}}],["color",{"_index":689,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["coloring",{"_index":829,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["colorizing",{"_index":1417,"title":{},"body":{"changelog.html":{}}}],["combination",{"_index":1371,"title":{},"body":{"changelog.html":{}}}],["come",{"_index":1413,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":1405,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":1672,"title":{},"body":{"dependencies.html":{}}}],["comment",{"_index":793,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["common",{"_index":1139,"title":{},"body":{"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["compatible",{"_index":928,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["complexity",{"_index":1260,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":1088,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":1053,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["components",{"_index":1208,"title":{},"body":{"changelog.html":{}}}],["comunica/query",{"_index":1632,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":1674,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":1816,"title":{},"body":{"license.html":{}}}],["cone",{"_index":676,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["config",{"_index":1178,"title":{},"body":{"changelog.html":{}}}],["configuration",{"_index":966,"title":{},"body":{"changelog.html":{}}}],["configurations",{"_index":1177,"title":{},"body":{"changelog.html":{}}}],["confirmation",{"_index":1132,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":1188,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":459,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"changelog.html":{}}}],["connect(options",{"_index":281,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["connected",{"_index":322,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["connection",{"_index":1843,"title":{},"body":{"license.html":{}}}],["connects",{"_index":274,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["console.log('couldn\\'t",{"_index":335,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["console.log(all_possible_organs.map(o",{"_index":2041,"title":{},"body":{"miscellaneous/variables.html":{}}}],["console.warn(`unable",{"_index":946,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["consortium",{"_index":1789,"title":{},"body":{"license.html":{}}}],["consortium_name",{"_index":2114,"title":{},"body":{"miscellaneous/variables.html":{}}}],["consortiumname",{"_index":1951,"title":{},"body":{"miscellaneous/variables.html":{}}}],["const",{"_index":249,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{}}}],["constants",{"_index":1994,"title":{},"body":{"miscellaneous/variables.html":{}}}],["constructor",{"_index":461,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}}}],["constructor(database",{"_index":462,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["constructor(db",{"_index":498,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}}}],["constructor(private",{"_index":555,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["constructor(public",{"_index":265,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{}}}],["container",{"_index":1220,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["containers",{"_index":1168,"title":{},"body":{"changelog.html":{}}}],["containing",{"_index":1735,"title":{},"body":{"index.html":{}}}],["context",{"_index":173,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["context.jsonld",{"_index":253,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"miscellaneous/variables.html":{}}}],["contract",{"_index":1839,"title":{},"body":{"license.html":{}}}],["control",{"_index":1317,"title":{},"body":{"changelog.html":{}}}],["coordinate",{"_index":117,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"index.html":{}}}],["copies",{"_index":1810,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1797,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":1787,"title":{},"body":{"license.html":{}}}],["cord",{"_index":1030,"title":{},"body":{"changelog.html":{}}}],["cors",{"_index":1676,"title":{},"body":{"dependencies.html":{}}}],["count",{"_index":14,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["counts",{"_index":428,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["coverage",{"_index":1445,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["create",{"_index":1995,"title":{},"body":{"miscellaneous/variables.html":{}}}],["created",{"_index":1326,"title":{},"body":{"changelog.html":{}}}],["created_by_user_displayname",{"_index":859,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["creategraph",{"_index":495,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["creates",{"_index":258,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["creation",{"_index":800,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["creation_date",{"_index":802,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["creator",{"_index":794,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["creator_first_name",{"_index":796,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["creator_last_name",{"_index":798,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["creator_orcid",{"_index":799,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["credits",{"_index":1773,"title":{},"body":{"index.html":{}}}],["css",{"_index":1678,"title":{},"body":{"dependencies.html":{}}}],["ct_is_a",{"_index":1879,"title":{},"body":{"miscellaneous/variables.html":{}}}],["cube",{"_index":673,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["cuboid",{"_index":1443,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":1440,"title":{},"body":{"changelog.html":{}}}],["current",{"_index":44,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["currently",{"_index":1125,"title":{},"body":{"changelog.html":{}}}],["cyberinfrastructure",{"_index":1775,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":1270,"title":{},"body":{"changelog.html":{}}}],["cylinder",{"_index":677,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["damages",{"_index":1835,"title":{},"body":{"license.html":{}}}],["dark/light",{"_index":1183,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":65,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["data.ts",{"_index":1513,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["database",{"_index":26,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{}}}],["database.${optionshash",{"_index":307,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["database.last_modified.${optionshash",{"_index":305,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["database.ts",{"_index":162,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/cache",{"_index":1512,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/ccf",{"_index":161,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/hubmap/hubmap",{"_index":843,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/interfaces.ts",{"_index":7,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["database/src/lib/queries/aggregate",{"_index":1542,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/queries/find",{"_index":1545,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/queries/ontology",{"_index":1560,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/queries/spatial",{"_index":1566,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/queries/tissue",{"_index":1574,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/spatial",{"_index":784,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{}}}],["database/src/lib/util/ccf",{"_index":455,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"coverage.html":{}}}],["database/src/lib/util/enrich",{"_index":1587,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/util/n3",{"_index":1589,"title":{},"body":{"coverage.html":{}}}],["database/src/lib/util/origin",{"_index":1593,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/util/patch",{"_index":1599,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/util/prefixes.ts",{"_index":1602,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["database/src/lib/util/probing",{"_index":1610,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["databasestatus",{"_index":24,"title":{"interfaces/DatabaseStatus.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["datafactory",{"_index":201,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["datafactory.literal('female",{"_index":1950,"title":{},"body":{"miscellaneous/variables.html":{}}}],["datafactory.literal('male",{"_index":1949,"title":{},"body":{"miscellaneous/variables.html":{}}}],["datafactory.literal('non",{"_index":1964,"title":{},"body":{"miscellaneous/variables.html":{}}}],["datafactory.literal('tissue",{"_index":1961,"title":{},"body":{"miscellaneous/variables.html":{}}}],["datafactory.namednode('http://www.geneontology.org/formats/oboinowl#hasexactsynonym",{"_index":1876,"title":{},"body":{"miscellaneous/variables.html":{}}}],["dataset",{"_index":61,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["datasetresult",{"_index":62,"title":{"interfaces/DatasetResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["datasetresultset",{"_index":1578,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["datasets",{"_index":80,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["datasources",{"_index":166,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["dataurl",{"_index":929,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["date",{"_index":801,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["date().gettime",{"_index":294,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["date().toisostring().split('t')[0",{"_index":608,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["date(+lastmodified).gettime",{"_index":312,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["date.now",{"_index":478,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["db",{"_index":500,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["dc",{"_index":1990,"title":{},"body":{"miscellaneous/variables.html":{}}}],["dcterms",{"_index":1992,"title":{},"body":{"miscellaneous/variables.html":{}}}],["dcterms:created",{"_index":2147,"title":{},"body":{"miscellaneous/variables.html":{}}}],["dcterms:creator",{"_index":2149,"title":{},"body":{"miscellaneous/variables.html":{}}}],["deal",{"_index":1799,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1844,"title":{},"body":{"license.html":{}}}],["debug",{"_index":140,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["debugdonors",{"_index":1530,"title":{},"body":{"coverage.html":{}}}],["debugging",{"_index":138,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["december",{"_index":1365,"title":{},"body":{"changelog.html":{}}}],["deck.gl/core",{"_index":1634,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":1636,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":1639,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":1640,"title":{},"body":{"dependencies.html":{}}}],["decorator",{"_index":1654,"title":{},"body":{"dependencies.html":{}}}],["deeply",{"_index":1119,"title":{},"body":{"changelog.html":{}}}],["def5fd76",{"_index":2256,"title":{},"body":{"miscellaneous/variables.html":{}}}],["default",{"_index":248,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["default_api_search_query",{"_index":883,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_ccf_db_options",{"_index":250,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defined",{"_index":463,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"changelog.html":{}}}],["degree",{"_index":626,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["delay",{"_index":378,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["delmany",{"_index":190,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["delmany([ccfdatabasekey",{"_index":314,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["demo",{"_index":1142,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":1215,"title":{"dependencies.html":{}},"body":{"changelog.html":{},"dependencies.html":{}}}],["depending",{"_index":1237,"title":{},"body":{"changelog.html":{}}}],["derived",{"_index":81,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["descendants.created_by_user_displayname",{"_index":876,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.data_types",{"_index":878,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.entity_type",{"_index":871,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.group_name",{"_index":875,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.group_uuid",{"_index":874,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.ingest_metadata.metadata.assay_type",{"_index":879,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.ingest_metadata.metadata.tissue_id",{"_index":872,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.last_modified_timestamp",{"_index":873,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.metadata.files.rel_path",{"_index":881,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.thumbnail_file",{"_index":880,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descendants.uuid",{"_index":877,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["descrepancies",{"_index":1017,"title":{},"body":{"changelog.html":{}}}],["describing",{"_index":830,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["description",{"_index":8,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["deserialize(value",{"_index":388,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["deserializen3store",{"_index":202,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["deserializen3store(ccfowlurl",{"_index":330,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["deserializen3store(storestring",{"_index":337,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["deserializen3store(value",{"_index":389,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["desired",{"_index":766,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["details",{"_index":1487,"title":{},"body":{"changelog.html":{}}}],["developed",{"_index":1774,"title":{},"body":{"index.html":{}}}],["developments",{"_index":1470,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":1133,"title":{},"body":{"changelog.html":{}}}],["differencecallback",{"_index":1546,"title":{},"body":{"coverage.html":{}}}],["different",{"_index":1167,"title":{},"body":{"changelog.html":{}}}],["digits",{"_index":1343,"title":{},"body":{"changelog.html":{}}}],["dim",{"_index":772,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["dimension",{"_index":824,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["dimension_units",{"_index":828,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["dimensions",{"_index":767,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{}}}],["direct",{"_index":1496,"title":{},"body":{"changelog.html":{}}}],["directedgraph",{"_index":515,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["directly",{"_index":1406,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":406,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["display",{"_index":1158,"title":{},"body":{"changelog.html":{}}}],["displayed",{"_index":1441,"title":{},"body":{"changelog.html":{}}}],["displaying",{"_index":1155,"title":{},"body":{"changelog.html":{}}}],["distribute",{"_index":1806,"title":{},"body":{"license.html":{}}}],["doapisearch",{"_index":914,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["doapisearch(dataurl",{"_index":944,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["doc",{"_index":1455,"title":{},"body":{"changelog.html":{}}}],["doconnect",{"_index":323,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["docs",{"_index":1039,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":1680,"title":{},"body":{"dependencies.html":{}}}],["documentation",{"_index":1091,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["docvalue_fields",{"_index":896,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["done",{"_index":1230,"title":{},"body":{"changelog.html":{}}}],["donor",{"_index":53,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["donorresult",{"_index":54,"title":{"interfaces/DonorResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["donorresultset",{"_index":1579,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["donors",{"_index":1283,"title":{},"body":{"changelog.html":{}}}],["dosearchrequest",{"_index":900,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["dosearchrequest(dataurl",{"_index":943,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["dosearchrequest(url",{"_index":918,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["dotenv",{"_index":1683,"title":{},"body":{"dependencies.html":{}}}],["download",{"_index":1480,"title":{},"body":{"changelog.html":{}}}],["dr1_vu_thumbs",{"_index":1531,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["during",{"_index":126,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["dynamic",{"_index":1628,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":1010,"title":{},"body":{"changelog.html":{}}}],["ea2d",{"_index":2259,"title":{},"body":{"miscellaneous/variables.html":{}}}],["each",{"_index":86,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["easier",{"_index":1069,"title":{},"body":{"changelog.html":{}}}],["east",{"_index":1757,"title":{},"body":{"index.html":{}}}],["ed43",{"_index":2241,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ed44",{"_index":2235,"title":{},"body":{"miscellaneous/variables.html":{}}}],["edc2",{"_index":2248,"title":{},"body":{"miscellaneous/variables.html":{}}}],["edgesource",{"_index":566,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["edgesource[quad.subject.id",{"_index":570,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["effect",{"_index":1388,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":1308,"title":{},"body":{"changelog.html":{}}}],["elastic",{"_index":187,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["electric",{"_index":2265,"title":{},"body":{"miscellaneous/variables.html":{}}}],["element",{"_index":1233,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["embedded",{"_index":1174,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":1163,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":1161,"title":{},"body":{"changelog.html":{}}}],["encoding",{"_index":297,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["endpoint",{"_index":939,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["enrichruilocations",{"_index":242,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["enrichruilocations(this.store",{"_index":385,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["entities",{"_index":403,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["entity",{"_index":93,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["entity.datasets.id",{"_index":2193,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.description.id",{"_index":2183,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.donor.id",{"_index":2190,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.label.id",{"_index":2182,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.link.id",{"_index":2184,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.providername.id",{"_index":2181,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sampletype.id",{"_index":2186,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sectioncount.id",{"_index":2187,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sectionnumber.id",{"_index":2194,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sections.id",{"_index":2192,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sectionsize.id",{"_index":2188,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.sectionunits.id",{"_index":2189,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.spatialentity.id",{"_index":2191,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.technology.id",{"_index":2179,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity.thumbnail.id",{"_index":2180,"title":{},"body":{"miscellaneous/variables.html":{}}}],["entity_context",{"_index":1532,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["entity_type",{"_index":855,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["entityid",{"_index":678,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{}}}],["error",{"_index":29,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["error?.message",{"_index":490,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["es",{"_index":1670,"title":{},"body":{"dependencies.html":{}}}],["eslint",{"_index":405,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["eslint/consistent",{"_index":410,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["eslint/no",{"_index":553,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["etc",{"_index":1191,"title":{},"body":{"changelog.html":{}}}],["eui",{"_index":1055,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":1084,"title":{},"body":{"changelog.html":{}}}],["euler",{"_index":511,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["euler().fromrotationmatrix(matrix",{"_index":597,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["euler.tovector3().map(todegrees",{"_index":601,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["euler.xyz",{"_index":598,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["event",{"_index":1830,"title":{},"body":{"license.html":{}}}],["exists",{"_index":884,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["expanded",{"_index":1008,"title":{},"body":{"changelog.html":{}}}],["explicit",{"_index":554,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["exploration",{"_index":1739,"title":{},"body":{"index.html":{}}}],["export",{"_index":23,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["express",{"_index":1685,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["expressed",{"_index":834,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["extends",{"_index":55,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["external",{"_index":1180,"title":{},"body":{"changelog.html":{}}}],["extra",{"_index":1690,"title":{},"body":{"dependencies.html":{}}}],["extracted",{"_index":83,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["extraction",{"_index":786,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["extraction_set",{"_index":1913,"title":{},"body":{"miscellaneous/variables.html":{}}}],["extraction_set_for",{"_index":1911,"title":{},"body":{"miscellaneous/variables.html":{}}}],["extractionset",{"_index":654,"title":{"interfaces/ExtractionSet.html":{}},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["extractionsites",{"_index":788,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["eye",{"_index":2021,"title":{},"body":{"miscellaneous/variables.html":{}}}],["eye_left",{"_index":2053,"title":{},"body":{"miscellaneous/variables.html":{}}}],["eye_right",{"_index":2055,"title":{},"body":{"miscellaneous/variables.html":{}}}],["factor",{"_index":531,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["factory",{"_index":269,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["fail",{"_index":1363,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":1393,"title":{},"body":{"changelog.html":{}}}],["fallopian_tube",{"_index":2023,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fallopian_tube_left",{"_index":2057,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fallopian_tube_right",{"_index":2059,"title":{},"body":{"miscellaneous/variables.html":{}}}],["false",{"_index":283,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["favor",{"_index":1354,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":1007,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":1271,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":1306,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":101,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["femaleorgans",{"_index":1889,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fetch",{"_index":1711,"title":{},"body":{"dependencies.html":{}}}],["fetch(ccfowlurl).then(r",{"_index":333,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["fetch(source).then(r",{"_index":362,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["fetch(text).then((r",{"_index":910,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["fetch(url",{"_index":905,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["field",{"_index":22,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["fields",{"_index":851,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["file",{"_index":5,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["file_format",{"_index":789,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["file_subpath",{"_index":791,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["files",{"_index":1798,"title":{},"body":{"license.html":{}}}],["filter",{"_index":128,"title":{"interfaces/Filter.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{}}}],["filter(s",{"_index":754,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["filter?.debug",{"_index":709,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["filter?.sex",{"_index":700,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["filter?.sex?.tolowercase",{"_index":741,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["filterbyage",{"_index":1547,"title":{},"body":{"coverage.html":{}}}],["filterbybmi",{"_index":1548,"title":{},"body":{"coverage.html":{}}}],["filterbycelltypeterms",{"_index":1549,"title":{},"body":{"coverage.html":{}}}],["filterbygroupname",{"_index":1550,"title":{},"body":{"coverage.html":{}}}],["filterbyhasspatialentity",{"_index":1551,"title":{},"body":{"coverage.html":{}}}],["filterbyontologyterms",{"_index":1552,"title":{},"body":{"coverage.html":{}}}],["filterbyprobingsphere",{"_index":1570,"title":{},"body":{"coverage.html":{}}}],["filterbysex",{"_index":1553,"title":{},"body":{"coverage.html":{}}}],["filterbyspatialsearches",{"_index":1554,"title":{},"body":{"coverage.html":{}}}],["filterbytechnology",{"_index":1555,"title":{},"body":{"coverage.html":{}}}],["filters",{"_index":1023,"title":{},"body":{"changelog.html":{}}}],["filterwithdataset",{"_index":1556,"title":{},"body":{"coverage.html":{}}}],["filterwithdonor",{"_index":1557,"title":{},"body":{"coverage.html":{}}}],["filterwithspatialentity",{"_index":1558,"title":{},"body":{"coverage.html":{}}}],["final",{"_index":1357,"title":{},"body":{"changelog.html":{}}}],["finally",{"_index":491,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["findids",{"_index":220,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["findids(this.store",{"_index":393,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["finishing",{"_index":1137,"title":{},"body":{"changelog.html":{}}}],["first",{"_index":795,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["firstresult",{"_index":917,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["firstresult.hits",{"_index":926,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["firstresult.hits.hits.concat(...items",{"_index":927,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["firstresult.hits.total.value",{"_index":922,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["fit",{"_index":1279,"title":{},"body":{"changelog.html":{}}}],["fitness",{"_index":1826,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":1262,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":968,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":1418,"title":{},"body":{"changelog.html":{}}}],["flatspatialplacement",{"_index":234,"title":{"interfaces/FlatSpatialPlacement.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{}}}],["flexible",{"_index":1035,"title":{},"body":{"changelog.html":{}}}],["florida",{"_index":2244,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fly",{"_index":1502,"title":{},"body":{"changelog.html":{}}}],["fma",{"_index":1605,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["fma.x('24977",{"_index":2070,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fma.x('24978",{"_index":2068,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fma.x('54449",{"_index":2056,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fma.x('7213",{"_index":2082,"title":{},"body":{"miscellaneous/variables.html":{}}}],["fma.x('7214",{"_index":2080,"title":{},"body":{"miscellaneous/variables.html":{}}}],["following",{"_index":1815,"title":{},"body":{"license.html":{}}}],["form",{"_index":441,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["format",{"_index":180,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["frame",{"_index":1284,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":1730,"title":{},"body":{"index.html":{}}}],["free",{"_index":1793,"title":{},"body":{"license.html":{}}}],["fs",{"_index":1689,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":1223,"title":{},"body":{"changelog.html":{}}}],["fullscreen",{"_index":1450,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":1272,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":527,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["functions.ts",{"_index":1590,"title":{},"body":{"coverage.html":{}}}],["funded",{"_index":1781,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":1813,"title":{},"body":{"license.html":{}}}],["further",{"_index":1446,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":1263,"title":{},"body":{"changelog.html":{}}}],["g",{"_index":2044,"title":{},"body":{"miscellaneous/variables.html":{}}}],["general",{"_index":2264,"title":{},"body":{"miscellaneous/variables.html":{}}}],["generally",{"_index":89,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["generate",{"_index":1060,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":1089,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":1011,"title":{},"body":{"changelog.html":{}}}],["geometry",{"_index":683,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["get(ccfdatabasekey).catch",{"_index":316,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["get(id",{"_index":395,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["get(lastmodifiedkey).catch",{"_index":309,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["get(source",{"_index":590,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["getaggregateresults",{"_index":216,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getaggregateresults(filter",{"_index":425,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getaggregateresults(this.getids(filter",{"_index":426,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getallentities",{"_index":1559,"title":{},"body":{"coverage.html":{}}}],["getanatomicalstructuremapping",{"_index":1561,"title":{},"body":{"coverage.html":{}}}],["getanatomicalstructures",{"_index":635,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getanatomicalstructures(iri",{"_index":647,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getanatomicalstructures(this.db.store",{"_index":697,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getanatomicalstructuretreemodel",{"_index":228,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["getanatomicalstructuretreemodel(this.store",{"_index":435,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getanatomicalstructuretreemodelslowly",{"_index":1563,"title":{},"body":{"coverage.html":{}}}],["getapisearchbody",{"_index":1526,"title":{},"body":{"coverage.html":{}}}],["getapisearchbody(0",{"_index":916,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["getapisearchbody(from",{"_index":891,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["getapisearchheaders",{"_index":1527,"title":{},"body":{"coverage.html":{}}}],["getapisearchheaders(token",{"_index":885,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["getcelltypetermoccurences",{"_index":223,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getcelltypetermoccurences(filter",{"_index":432,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getcelltypetermoccurences(this.getids(filter",{"_index":433,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getcelltypetreemodel",{"_index":229,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getcelltypetreemodel(this.store",{"_index":436,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getdatabasestatus",{"_index":415,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getdatasetresult",{"_index":1575,"title":{},"body":{"coverage.html":{}}}],["getdatasettechnologynames",{"_index":217,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getdatasettechnologynames(this.store",{"_index":421,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getdonorresult",{"_index":1576,"title":{},"body":{"coverage.html":{}}}],["getentityscenenodes",{"_index":636,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getentityscenenodes(filter",{"_index":649,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getentries",{"_index":1591,"title":{},"body":{"coverage.html":{}}}],["getextractionset",{"_index":637,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getextractionset(iri",{"_index":652,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getextractionset(this.db.store",{"_index":696,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getextractionsets",{"_index":638,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getextractionsets(iri",{"_index":655,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getextractionsets(this.db.store",{"_index":695,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getids(filter",{"_index":392,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getmappedresult",{"_index":1592,"title":{},"body":{"coverage.html":{}}}],["getobjects",{"_index":1544,"title":{},"body":{"coverage.html":{}}}],["getontologytermoccurences",{"_index":224,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getontologytermoccurences(filter",{"_index":429,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getontologytermoccurences(this.getids(filter",{"_index":430,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getontologytreemodel",{"_index":434,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getontologytreenode",{"_index":1564,"title":{},"body":{"coverage.html":{}}}],["getorientedboundingbox",{"_index":1571,"title":{},"body":{"coverage.html":{}}}],["getoriginscene",{"_index":1594,"title":{},"body":{"coverage.html":{}}}],["getprobingspherescene",{"_index":1611,"title":{},"body":{"coverage.html":{}}}],["getprovidernames",{"_index":218,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getprovidernames(this.store",{"_index":422,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getreferencebody",{"_index":639,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getreferencebody(filter",{"_index":657,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getreferenceorgans",{"_index":439,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getreferenceorgans(this.db.store",{"_index":698,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getreferenceorganscene",{"_index":640,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getreferenceorganscene(organiri",{"_index":449,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getreferenceorgansets",{"_index":641,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getreferenceorgansets(filter",{"_index":661,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getreferencescenenodes",{"_index":642,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getreferencescenenodes(filter",{"_index":663,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["gets",{"_index":391,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getscene",{"_index":643,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getscene(filter",{"_index":445,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getscenenode",{"_index":644,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["getscenenode(source",{"_index":666,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getspatialentities(filter",{"_index":404,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getspatialentity",{"_index":645,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["getspatialentity(iri",{"_index":670,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getspatialentity(this.db.store",{"_index":694,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["getspatialentitydimensions",{"_index":1572,"title":{},"body":{"coverage.html":{}}}],["getspatialentityforentity",{"_index":230,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["getspatialentityforentity(this.store",{"_index":413,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["getspatialentitymapping",{"_index":1562,"title":{},"body":{"coverage.html":{}}}],["getspatialobjectreference",{"_index":1567,"title":{},"body":{"coverage.html":{}}}],["getspatialplacement",{"_index":496,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"coverage.html":{}}}],["getspatialplacement(source",{"_index":451,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["getspatialplacement(store",{"_index":587,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["getting",{"_index":951,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["gettissueblockresult",{"_index":232,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["gettissueblockresult(this.store",{"_index":424,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["gettissueblockresults(filter",{"_index":423,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["gettissuesectionresult",{"_index":1577,"title":{},"body":{"coverage.html":{}}}],["gettransformationmatrix",{"_index":497,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["gettransformationmatrix(sourceiri",{"_index":507,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["github",{"_index":1345,"title":{},"body":{"changelog.html":{}}}],["gizmo",{"_index":1197,"title":{},"body":{"changelog.html":{}}}],["globalconfig",{"_index":1171,"title":{},"body":{"changelog.html":{}}}],["gold",{"_index":1612,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["good",{"_index":1390,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":1210,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["granted",{"_index":1792,"title":{},"body":{"license.html":{}}}],["graph",{"_index":210,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["graph.ts",{"_index":492,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"coverage.html":{}}}],["graph.ts:110",{"_index":506,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:41",{"_index":499,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:47",{"_index":505,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:74",{"_index":504,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:78",{"_index":502,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graph.ts:82",{"_index":508,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["graphical",{"_index":1050,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":516,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"dependencies.html":{}}}],["gray",{"_index":1596,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["greatly",{"_index":1151,"title":{},"body":{"changelog.html":{}}}],["green",{"_index":1597,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["group_name",{"_index":857,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["group_uuid",{"_index":856,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["group_uuid_mapping",{"_index":1533,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["gtex",{"_index":1061,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":1381,"title":{},"body":{"changelog.html":{}}}],["hand",{"_index":1386,"title":{},"body":{"changelog.html":{}}}],["happen",{"_index":1425,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":1364,"title":{},"body":{"changelog.html":{}}}],["has3dobject",{"_index":755,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["hash",{"_index":196,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"dependencies.html":{}}}],["hash(this.options",{"_index":296,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["hassexfilter",{"_index":740,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["hasspatialentity",{"_index":412,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["hbm",{"_index":2250,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm237.ggpr.739",{"_index":2307,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm237.ggpr.739_ufl0006",{"_index":2308,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm239.cbwr.263",{"_index":2344,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm239.cbwr.263_ufl0008",{"_index":2345,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm244.tjlk.223",{"_index":2336,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm244.tjlk.223_ufl0003",{"_index":2337,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm255.srpr.985",{"_index":2296,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm255.srpr.985_ufl0005",{"_index":2297,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm267.bzkt.867",{"_index":2352,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm267.bzkt.867_ufl0003",{"_index":2353,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm278.sfqw.627",{"_index":2282,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm278.sfqw.627_ufl0008",{"_index":2283,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm283.dqxd.546",{"_index":2348,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm283.dqxd.546_ufl0003",{"_index":2349,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm285.xmbt.542",{"_index":2291,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm285.xmbt.542_ufl0006",{"_index":2292,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm288.tpbd.654",{"_index":2310,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm288.tpbd.654_ufl0003",{"_index":2311,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm289.bwjw.663",{"_index":2294,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm289.bwjw.663_ufl0006",{"_index":2295,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm294.rzfn.624",{"_index":2301,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm294.rzfn.624_ufl0005",{"_index":2302,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm337.fsxl.564",{"_index":2356,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm337.fsxl.564_ufl0001",{"_index":2357,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm342.prqb.739",{"_index":2324,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm342.prqb.739_ufl0003",{"_index":2325,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm343.jqkm.578",{"_index":2330,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm343.jqkm.578_ufl0009",{"_index":2331,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm355.jdlk.244",{"_index":2359,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm355.jdlk.244_ufl0004",{"_index":2360,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm372.bqsr.778",{"_index":2320,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm372.bqsr.778_ufl0007",{"_index":2321,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm383.trqg.424",{"_index":2303,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm383.trqg.424_ufl0006",{"_index":2304,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm427.smgb.866",{"_index":2285,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm427.smgb.866_ufl0004",{"_index":2286,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm432.llcf.677",{"_index":2287,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm432.llcf.677_ufl0001",{"_index":2288,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm499.tkdw.458",{"_index":2322,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm499.tkdw.458_ufl0009",{"_index":2323,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm558.srzg.629",{"_index":2273,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm558.srzg.629_ufl0002",{"_index":2274,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm562.ntmh.548",{"_index":2277,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm562.ntmh.548_ufl0006",{"_index":2278,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm572.gxsb.234",{"_index":2340,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm572.gxsb.234_ufl0003",{"_index":2341,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm586.zsvs.996",{"_index":2289,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm586.zsvs.996_ufl0008",{"_index":2290,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm589.slvv.423",{"_index":2314,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm589.slvv.423_ufl0008",{"_index":2315,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm599.pszg.737",{"_index":2361,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm599.pszg.737_ufl0006",{"_index":2362,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm633.clvn.674",{"_index":2327,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm633.clvn.674_ufl0003",{"_index":2328,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm646.fsbq.966",{"_index":2338,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm646.fsbq.966_ufl0007",{"_index":2339,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm647.mfqb.496",{"_index":2305,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm647.mfqb.496_ufl0001",{"_index":2306,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm685.khrq.684",{"_index":2279,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm685.khrq.684_ufl0008",{"_index":2280,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm772.tkgj.794",{"_index":2342,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm772.tkgj.794_ufl0008",{"_index":2343,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm794.rlfn.358",{"_index":2317,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm794.rlfn.358_ufl0006",{"_index":2318,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm795.jhnd.856",{"_index":2350,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm795.jhnd.856_ufl0007",{"_index":2351,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm799.wxhd.535",{"_index":2298,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm799.wxhd.535_ufl0009",{"_index":2299,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm838.dlmj.782",{"_index":2354,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm838.dlmj.782_ufl0008",{"_index":2355,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm964.cwcp.788",{"_index":2334,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm964.cwcp.788_ufl0006",{"_index":2335,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm974.ndxt.675",{"_index":2312,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm974.ndxt.675_ufl0008",{"_index":2313,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm987.xgth.368",{"_index":2332,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm987.xgth.368_ufl0002",{"_index":2333,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm992.nrtt.383",{"_index":2346,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm992.nrtt.383_ufl0006",{"_index":2347,"title":{},"body":{"miscellaneous/variables.html":{}}}],["hbm_prefix",{"_index":1534,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["headers",{"_index":886,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["headers.append('authorization",{"_index":889,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["headers.append('content",{"_index":887,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["heart",{"_index":2061,"title":{},"body":{"miscellaneous/variables.html":{}}}],["helmet",{"_index":1694,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":1380,"title":{},"body":{"changelog.html":{}}}],["helper",{"_index":1941,"title":{},"body":{"miscellaneous/variables.html":{}}}],["here",{"_index":1384,"title":{},"body":{"changelog.html":{}}}],["hereby",{"_index":1791,"title":{},"body":{"license.html":{}}}],["hex",{"_index":1696,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":1471,"title":{},"body":{"changelog.html":{}}}],["highlight",{"_index":1123,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":1020,"title":{},"body":{"changelog.html":{}}}],["highlights",{"_index":1126,"title":{},"body":{"changelog.html":{}}}],["hits",{"_index":845,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["holders",{"_index":1832,"title":{},"body":{"license.html":{}}}],["hooked",{"_index":1316,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":1032,"title":{},"body":{"changelog.html":{}}}],["hovering",{"_index":1214,"title":{},"body":{"changelog.html":{}}}],["hra",{"_index":955,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["http://purl.obolibrary.org/obo",{"_index":1982,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/cl_",{"_index":1984,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/lmha_",{"_index":1985,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_",{"_index":1983,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002097",{"_index":721,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["http://purl.org/ccf",{"_index":1979,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.org/ccf/1.5/${uuidv4()}_placement",{"_index":606,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["http://purl.org/ccf/latest/ccf.owl",{"_index":1978,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.org/dc/elements/1.1",{"_index":1991,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.org/dc/terms",{"_index":1993,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma",{"_index":1980,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://www.w3.org/1999/02/22",{"_index":1986,"title":{},"body":{"miscellaneous/variables.html":{}}}],["http://www.w3.org/2000/01/rdf",{"_index":1989,"title":{},"body":{"miscellaneous/variables.html":{}}}],["https://assets.hubmapconsortium.org",{"_index":255,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["https://beta",{"_index":1742,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":1754,"title":{},"body":{"index.html":{}}}],["https://entity.api.hubmapconsortium.org/entities",{"_index":2272,"title":{},"body":{"miscellaneous/variables.html":{}}}],["https://hubmap",{"_index":1747,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":1746,"title":{},"body":{"index.html":{},"miscellaneous/variables.html":{}}}],["https://hubmapconsortium.github.io/hubmap",{"_index":604,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["https://humanatlas.io",{"_index":1771,"title":{},"body":{"index.html":{}}}],["https://observablehq.com/@cns",{"_index":1768,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":1749,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org",{"_index":254,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":1744,"title":{},"body":{"index.html":{}}}],["https://purl.org/ccf/latest/ccf",{"_index":252,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["https://purl.org/ccf/latest/ccf.owl",{"_index":251,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["https://r5i95k35v5.us",{"_index":1756,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":1498,"title":{},"body":{"changelog.html":{}}}],["hubmap",{"_index":181,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["hubmap/hubmap",{"_index":215,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["hubmapassetsurl",{"_index":167,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["hubmapdata",{"_index":942,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["hubmapdataservice",{"_index":168,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["hubmapdataurl",{"_index":169,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["hubmapportalurl",{"_index":170,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["hubmapquery",{"_index":171,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["hubmapresponseasjsonld",{"_index":846,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["hubmapresponseasjsonld(hubmapdata",{"_index":945,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["hubmaptissueblock",{"_index":1528,"title":{},"body":{"coverage.html":{}}}],["hubmaptoken",{"_index":172,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["human",{"_index":42,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{}}}],["icon",{"_index":1481,"title":{},"body":{"changelog.html":{}}}],["icons",{"_index":1224,"title":{},"body":{"changelog.html":{}}}],["id",{"_index":49,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["id/iri",{"_index":156,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["idb",{"_index":192,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"dependencies.html":{}}}],["identifier",{"_index":48,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["identity",{"_index":577,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ids",{"_index":222,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["iec",{"_index":1360,"title":{},"body":{"changelog.html":{}}}],["ignoreunknown",{"_index":299,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["image",{"_index":1353,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":1404,"title":{},"body":{"changelog.html":{}}}],["implementation",{"_index":1114,"title":{},"body":{"changelog.html":{}}}],["implemented",{"_index":1314,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":1454,"title":{},"body":{"changelog.html":{}}}],["implied",{"_index":1823,"title":{},"body":{"license.html":{}}}],["import",{"_index":189,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{}}}],["import.ts",{"_index":844,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["improve",{"_index":1307,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":1080,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":1046,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":1152,"title":{},"body":{"changelog.html":{}}}],["ims_negmode_multilayer_thumbnail.jpg",{"_index":2200,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ims_posmode_multilayer_thumbnail.jpg",{"_index":2201,"title":{},"body":{"miscellaneous/variables.html":{}}}],["include",{"_index":136,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["included",{"_index":1818,"title":{},"body":{"license.html":{}}}],["included_data_fields",{"_index":854,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["includes",{"_index":898,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["including",{"_index":849,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{},"license.html":{}}}],["increase",{"_index":1338,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":1448,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":12,"title":{"index.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indexes",{"_index":975,"title":{},"body":{"changelog.html":{}}}],["indiana",{"_index":1779,"title":{},"body":{"index.html":{}}}],["individual",{"_index":1319,"title":{},"body":{"changelog.html":{}}}],["info",{"_index":3,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{}}}],["information",{"_index":139,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":1407,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":1368,"title":{},"body":{"changelog.html":{}}}],["init",{"_index":901,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["initial",{"_index":1245,"title":{},"body":{"changelog.html":{}}}],["initialization",{"_index":163,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["initialize",{"_index":275,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["initialized",{"_index":260,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["initializing",{"_index":262,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["inputstore",{"_index":355,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["instance",{"_index":157,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["instead",{"_index":1236,"title":{},"body":{"changelog.html":{}}}],["instructions",{"_index":1162,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":1273,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":1118,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":1367,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":1290,"title":{},"body":{"changelog.html":{}}}],["interact",{"_index":1258,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":1429,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":1495,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":0,"title":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":2,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":1352,"title":{},"body":{"changelog.html":{}}}],["iri",{"_index":123,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["iris",{"_index":804,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["isdefinedby",{"_index":2000,"title":{},"body":{"miscellaneous/variables.html":{}}}],["isskin",{"_index":719,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["issue",{"_index":1334,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":1014,"title":{},"body":{"changelog.html":{}}}],["it's",{"_index":1115,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":96,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["items",{"_index":923,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["iu",{"_index":1468,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":1769,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":983,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["json",{"_index":56,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["json.parse(text",{"_index":912,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["json.stringify(bodyobj",{"_index":899,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["jsondict",{"_index":1853,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["jsonld",{"_index":174,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"dependencies.html":{}}}],["jsonld.ts",{"_index":1600,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["jsonld/jsonld",{"_index":194,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["july",{"_index":1428,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":1477,"title":{},"body":{"changelog.html":{}}}],["key",{"_index":937,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["keyboard",{"_index":1475,"title":{},"body":{"changelog.html":{}}}],["keyval",{"_index":193,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"dependencies.html":{}}}],["kidney",{"_index":1148,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["kidney_left",{"_index":2063,"title":{},"body":{"miscellaneous/variables.html":{}}}],["kidney_right",{"_index":2065,"title":{},"body":{"miscellaneous/variables.html":{}}}],["kind",{"_index":1822,"title":{},"body":{"license.html":{}}}],["knee",{"_index":2025,"title":{},"body":{"miscellaneous/variables.html":{}}}],["knee_left",{"_index":2067,"title":{},"body":{"miscellaneous/variables.html":{}}}],["knee_right",{"_index":2069,"title":{},"body":{"miscellaneous/variables.html":{}}}],["known",{"_index":1013,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":1001,"title":{},"body":{"changelog.html":{}}}],["label",{"_index":15,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["labels",{"_index":149,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["labs/data",{"_index":1651,"title":{},"body":{"dependencies.html":{}}}],["labs/dispatch",{"_index":1653,"title":{},"body":{"dependencies.html":{}}}],["landmarks",{"_index":1031,"title":{},"body":{"changelog.html":{}}}],["large_intestine",{"_index":2071,"title":{},"body":{"miscellaneous/variables.html":{}}}],["larger",{"_index":1070,"title":{},"body":{"changelog.html":{}}}],["last",{"_index":797,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["last_modified_timestamp",{"_index":858,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["lastmodified",{"_index":308,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["lastmodifiedkey",{"_index":304,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["lastmodifiedkey]).catch",{"_index":315,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["latest",{"_index":1026,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["layers",{"_index":1637,"title":{},"body":{"dependencies.html":{}}}],["ld",{"_index":57,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["leak",{"_index":1333,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":1135,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":811,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["left/right",{"_index":1149,"title":{},"body":{"changelog.html":{}}}],["left_bronchus",{"_index":2014,"title":{},"body":{"miscellaneous/variables.html":{}}}],["left_lung",{"_index":2010,"title":{},"body":{"miscellaneous/variables.html":{}}}],["level",{"_index":1473,"title":{},"body":{"changelog.html":{}}}],["levels",{"_index":1492,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":1836,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1833,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":1073,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":1299,"title":{},"body":{"changelog.html":{}}}],["license",{"_index":1785,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":1129,"title":{},"body":{"changelog.html":{}}}],["limitation",{"_index":1801,"title":{},"body":{"license.html":{}}}],["limited",{"_index":1412,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":408,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["link",{"_index":52,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["linkage",{"_index":1430,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":1036,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":1103,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":46,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["listresultitem",{"_index":47,"title":{"interfaces/ListResultItem.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["listresultset",{"_index":1580,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["lists",{"_index":816,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["literal",{"_index":841,"title":{},"body":{"interfaces/OntologyTreeModel.html":{},"interfaces/SearchResultJson.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["little",{"_index":1256,"title":{},"body":{"changelog.html":{}}}],["live",{"_index":934,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["liver",{"_index":2073,"title":{},"body":{"miscellaneous/variables.html":{}}}],["lk",{"_index":2196,"title":{},"body":{"miscellaneous/variables.html":{}}}],["lmha",{"_index":1606,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["load",{"_index":40,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["loaded",{"_index":279,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"changelog.html":{}}}],["loaders.gl/core",{"_index":1641,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":1643,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":1644,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":28,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["loadtime",{"_index":41,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["locate",{"_index":336,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["located_in",{"_index":1881,"title":{},"body":{"miscellaneous/variables.html":{}}}],["location",{"_index":1339,"title":{},"body":{"changelog.html":{}}}],["locations",{"_index":245,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["locations.ts",{"_index":1588,"title":{},"body":{"coverage.html":{}}}],["lodash",{"_index":520,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"dependencies.html":{}}}],["log",{"_index":1772,"title":{},"body":{"index.html":{}}}],["logging",{"_index":1063,"title":{},"body":{"changelog.html":{}}}],["long",{"_index":30,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["longer",{"_index":1234,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":1305,"title":{},"body":{"changelog.html":{}}}],["lru",{"_index":1702,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":1645,"title":{},"body":{"dependencies.html":{}}}],["lungs",{"_index":2075,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly01",{"_index":2309,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly02",{"_index":2300,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly03",{"_index":2319,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly06",{"_index":2326,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly07",{"_index":2281,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly09",{"_index":2284,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ly10",{"_index":2316,"title":{},"body":{"miscellaneous/variables.html":{}}}],["lymph_node",{"_index":2039,"title":{},"body":{"miscellaneous/variables.html":{}}}],["made",{"_index":832,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["main",{"_index":1514,"title":{},"body":{"coverage.html":{}}}],["major",{"_index":1006,"title":{},"body":{"changelog.html":{}}}],["makes",{"_index":1066,"title":{},"body":{"changelog.html":{}}}],["making",{"_index":1111,"title":{},"body":{"changelog.html":{}}}],["male",{"_index":100,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["male_reproductive_system",{"_index":2037,"title":{},"body":{"miscellaneous/variables.html":{}}}],["maleorgans",{"_index":1891,"title":{},"body":{"miscellaneous/variables.html":{}}}],["managers",{"_index":1078,"title":{},"body":{"changelog.html":{}}}],["map((entity",{"_index":749,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["mapping",{"_index":155,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["mappings",{"_index":1569,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["march",{"_index":1302,"title":{},"body":{"changelog.html":{}}}],["markdown",{"_index":1709,"title":{},"body":{"dependencies.html":{}}}],["match",{"_index":1304,"title":{},"body":{"changelog.html":{}}}],["matching",{"_index":158,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["math.gl/core",{"_index":514,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"dependencies.html":{}}}],["math.gl/culling",{"_index":1648,"title":{},"body":{"dependencies.html":{}}}],["matrix",{"_index":592,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["matrix.getscale().map(n",{"_index":602,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["matrix.gettranslation().map(n",{"_index":599,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["matrix4",{"_index":510,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["matrix4(matrix4.identity",{"_index":576,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["matrix4(matrix4.identity).rotatex(toradians(90)).multiplyleft(transform",{"_index":763,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["mc",{"_index":1467,"title":{},"body":{"changelog.html":{}}}],["memoize(getanatomicalstructuretreemodelslowly",{"_index":2363,"title":{},"body":{"miscellaneous/variables.html":{}}}],["memory",{"_index":1332,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":1387,"title":{},"body":{"changelog.html":{}}}],["merchantability",{"_index":1825,"title":{},"body":{"license.html":{}}}],["merge",{"_index":1804,"title":{},"body":{"license.html":{}}}],["mesenteric_lymph_node",{"_index":2077,"title":{},"body":{"miscellaneous/variables.html":{}}}],["message",{"_index":45,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["metadata",{"_index":1439,"title":{},"body":{"changelog.html":{}}}],["meter",{"_index":540,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["method",{"_index":919,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["methods",{"_index":458,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}}}],["millimeter",{"_index":539,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["millimeters",{"_index":90,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["milliseconds",{"_index":32,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["minor",{"_index":1015,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":1848,"title":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":1786,"title":{},"body":{"license.html":{}}}],["mock",{"_index":1463,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":1243,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":1176,"title":{},"body":{"changelog.html":{}}}],["model",{"_index":152,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"dependencies.html":{}}}],["modify",{"_index":1803,"title":{},"body":{"license.html":{}}}],["modules",{"_index":1845,"title":{"modules.html":{}},"body":{"modules.html":{}}}],["monorepo",{"_index":1732,"title":{},"body":{"index.html":{}}}],["more",{"_index":850,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{}}}],["moved",{"_index":1483,"title":{},"body":{"changelog.html":{}}}],["much",{"_index":1068,"title":{},"body":{"changelog.html":{}}}],["multiple",{"_index":1733,"title":{},"body":{"index.html":{}}}],["mxif_cyc1_registered_thumbnail.jpg",{"_index":2204,"title":{},"body":{"miscellaneous/variables.html":{}}}],["mxif_cyc2_registered_thumbnail.jpg",{"_index":2205,"title":{},"body":{"miscellaneous/variables.html":{}}}],["mxif_cyc3_registered_thumbnail.jpg",{"_index":2206,"title":{},"body":{"miscellaneous/variables.html":{}}}],["n",{"_index":600,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["n3",{"_index":176,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"dependencies.html":{}}}],["n3.ts",{"_index":1543,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["name",{"_index":59,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["names",{"_index":419,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["nanometers",{"_index":819,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["navigation",{"_index":1476,"title":{},"body":{"changelog.html":{}}}],["need",{"_index":993,"title":{},"body":{"changelog.html":{}}}],["needed",{"_index":1309,"title":{},"body":{"changelog.html":{}}}],["needs",{"_index":1315,"title":{},"body":{"changelog.html":{}}}],["network",{"_index":1776,"title":{},"body":{"index.html":{}}}],["new",{"_index":267,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["next",{"_index":407,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"changelog.html":{}}}],["ng5",{"_index":1704,"title":{},"body":{"dependencies.html":{}}}],["ngx",{"_index":1707,"title":{},"body":{"dependencies.html":{}}}],["ngxs",{"_index":1650,"title":{},"body":{"dependencies.html":{}}}],["ngxs/logger",{"_index":1656,"title":{},"body":{"dependencies.html":{}}}],["ngxs/storage",{"_index":1659,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":1660,"title":{},"body":{"dependencies.html":{}}}],["nih",{"_index":1782,"title":{},"body":{"index.html":{}}}],["node",{"_index":142,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"dependencies.html":{}}}],["nodeattrs",{"_index":667,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["nodes",{"_index":146,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["nodes.concat",{"_index":732,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["nodes.filter(s",{"_index":739,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["non",{"_index":73,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["noninfringement",{"_index":1829,"title":{},"body":{"license.html":{}}}],["nonstandard",{"_index":1963,"title":{},"body":{"miscellaneous/variables.html":{}}}],["note",{"_index":989,"title":{},"body":{"changelog.html":{}}}],["notebooks",{"_index":981,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":1764,"title":{},"body":{"index.html":{}}}],["notice",{"_index":1335,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":1071,"title":{},"body":{"changelog.html":{}}}],["ns",{"_index":1988,"title":{},"body":{"miscellaneous/variables.html":{}}}],["null",{"_index":397,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["number",{"_index":18,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["numeric",{"_index":1340,"title":{},"body":{"changelog.html":{}}}],["o",{"_index":711,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["o.id.split('/').slice",{"_index":2046,"title":{},"body":{"miscellaneous/variables.html":{}}}],["o.name.tolowercase().replace",{"_index":2042,"title":{},"body":{"miscellaneous/variables.html":{}}}],["o.representation_of",{"_index":743,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["o.sex",{"_index":744,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["object",{"_index":197,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["objects",{"_index":398,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"miscellaneous/variables.html":{}}}],["obo",{"_index":1981,"title":{},"body":{"miscellaneous/variables.html":{}}}],["obtaining",{"_index":1796,"title":{},"body":{"license.html":{}}}],["occurences",{"_index":227,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["occurrences",{"_index":427,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["off/on",{"_index":1312,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":1427,"title":{},"body":{"changelog.html":{}}}],["old",{"_index":1748,"title":{},"body":{"index.html":{}}}],["one",{"_index":1374,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["online",{"_index":1436,"title":{},"body":{"changelog.html":{}}}],["ontological",{"_index":1501,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":1379,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":104,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["ontology/ccf",{"_index":605,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"miscellaneous/variables.html":{}}}],["ontology_terms",{"_index":2171,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ontologynode",{"_index":1872,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ontologyterms",{"_index":106,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["ontologytreemodel",{"_index":153,"title":{"interfaces/OntologyTreeModel.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["ontologytreenode",{"_index":143,"title":{"interfaces/OntologyTreeNode.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["opacities",{"_index":1318,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":690,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["openapi",{"_index":1113,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/js",{"_index":1760,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":1762,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":1761,"title":{},"body":{"index.html":{}}}],["ops",{"_index":324,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ops.push(searchhubmap",{"_index":343,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["ops.push(this.adddatasources(sources",{"_index":351,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["optimization",{"_index":1255,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":1419,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":1289,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":1122,"title":{},"body":{"changelog.html":{}}}],["optional",{"_index":137,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["options",{"_index":124,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["optionshash",{"_index":295,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["order",{"_index":838,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["ordering",{"_index":815,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["organ",{"_index":447,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{},"index.html":{}}}],["organ.representation_of",{"_index":720,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organ_owner_sex",{"_index":2140,"title":{},"body":{"miscellaneous/variables.html":{}}}],["organiri",{"_index":448,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organnode",{"_index":747,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organnode].concat(scene).filter(n",{"_index":752,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organs",{"_index":438,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["organs.length",{"_index":745,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organs/anatomical",{"_index":1320,"title":{},"body":{"changelog.html":{}}}],["organs[0",{"_index":746,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organset",{"_index":705,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organset.filter(s",{"_index":707,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["organset.map(o",{"_index":710,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["orthographic",{"_index":1203,"title":{},"body":{"changelog.html":{}}}],["ot2od026671",{"_index":1784,"title":{},"body":{"index.html":{}}}],["otherwise",{"_index":1841,"title":{},"body":{"license.html":{}}}],["out",{"_index":821,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"license.html":{}}}],["ovary",{"_index":2027,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ovary_left",{"_index":2079,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ovary_right",{"_index":2081,"title":{},"body":{"miscellaneous/variables.html":{}}}],["over",{"_index":1347,"title":{},"body":{"changelog.html":{}}}],["overall",{"_index":1022,"title":{},"body":{"changelog.html":{}}}],["overlays",{"_index":1493,"title":{},"body":{"changelog.html":{}}}],["overview",{"_index":1846,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["owl",{"_index":179,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["p",{"_index":530,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"changelog.html":{}}}],["p.translation_units",{"_index":533,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.x_rotation",{"_index":546,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.x_scaling",{"_index":549,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.x_translation",{"_index":542,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.y_rotation",{"_index":547,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.y_scaling",{"_index":550,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.y_translation",{"_index":543,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.z_rotation].map(toradians",{"_index":548,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.z_scaling",{"_index":551,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["p.z_translation].map(t",{"_index":544,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["package",{"_index":1077,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["pages",{"_index":1160,"title":{},"body":{"changelog.html":{}}}],["paired",{"_index":1145,"title":{},"body":{"changelog.html":{}}}],["pancreas",{"_index":2083,"title":{},"body":{"miscellaneous/variables.html":{}}}],["pane",{"_index":1280,"title":{},"body":{"changelog.html":{}}}],["panel",{"_index":1157,"title":{},"body":{"changelog.html":{}}}],["param",{"_index":264,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["parameters",{"_index":465,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{}}}],["parent",{"_index":77,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["parser",{"_index":1667,"title":{},"body":{"dependencies.html":{}}}],["part_of",{"_index":1878,"title":{},"body":{"miscellaneous/variables.html":{}}}],["partial",{"_index":668,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["particular",{"_index":1827,"title":{},"body":{"license.html":{}}}],["partly",{"_index":1301,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":1227,"title":{},"body":{"changelog.html":{}}}],["pas_registered_thumbnail.jpg",{"_index":2202,"title":{},"body":{"miscellaneous/variables.html":{}}}],["passthrough",{"_index":371,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["patchjsonld",{"_index":240,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["patchjsonld(json.stringify(source",{"_index":374,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["patchjsonld(source",{"_index":363,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["path",{"_index":581,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["path.length",{"_index":583,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["path.reverse",{"_index":584,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["path/unweighted",{"_index":519,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["pbr",{"_index":727,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["pelvis",{"_index":2085,"title":{},"body":{"miscellaneous/variables.html":{}}}],["per_api_search_request_count",{"_index":852,"title":{},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["performance",{"_index":1081,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":1790,"title":{},"body":{"license.html":{}}}],["permit",{"_index":1811,"title":{},"body":{"license.html":{}}}],["perreqcount",{"_index":915,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["person",{"_index":1795,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1812,"title":{},"body":{"license.html":{}}}],["pick",{"_index":1003,"title":{},"body":{"changelog.html":{}}}],["placeholder",{"_index":1431,"title":{},"body":{"changelog.html":{}}}],["placement",{"_index":529,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["placement[0",{"_index":591,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["placement_date",{"_index":607,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["placementid",{"_index":585,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["placements",{"_index":565,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["placenta",{"_index":1028,"title":{},"body":{"changelog.html":{}}}],["player",{"_index":1631,"title":{},"body":{"dependencies.html":{}}}],["plugin",{"_index":1657,"title":{},"body":{"dependencies.html":{}}}],["plus",{"_index":1009,"title":{},"body":{"changelog.html":{}}}],["point",{"_index":941,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["popup",{"_index":1438,"title":{},"body":{"changelog.html":{}}}],["portal",{"_index":186,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{}}}],["portal's",{"_index":1411,"title":{},"body":{"changelog.html":{}}}],["portalurl",{"_index":940,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["portions",{"_index":1820,"title":{},"body":{"license.html":{}}}],["position",{"_index":1064,"title":{},"body":{"changelog.html":{}}}],["possible",{"_index":1362,"title":{},"body":{"changelog.html":{}}}],["post",{"_index":920,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["preferences",{"_index":1186,"title":{},"body":{"changelog.html":{}}}],["prefix",{"_index":1977,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer",{"_index":1607,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["prefixer('base",{"_index":1871,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('base')('vhbothsexes",{"_index":1888,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('base')('vhfemale",{"_index":1885,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('base')('vhfemaleorgans",{"_index":1890,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('base')('vhmale",{"_index":1886,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('base')('vhmaleorgans",{"_index":1892,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('ccf",{"_index":1940,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('ccf')('has_registration_location",{"_index":1944,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('cl",{"_index":1942,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('cl')('0000000",{"_index":1943,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('dcterms')('created",{"_index":1905,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('dcterms')('creator",{"_index":1901,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('fma",{"_index":1974,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('lmha",{"_index":1975,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdf",{"_index":1997,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdf')('type",{"_index":1998,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs",{"_index":1999,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs')('comment",{"_index":1900,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs')('isdefinedby",{"_index":2001,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs')('label",{"_index":1899,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('rdfs')('seealso",{"_index":2003,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('uberon",{"_index":2105,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixer('uberon')('0013702",{"_index":2106,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prefixes",{"_index":1608,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["preparation",{"_index":1469,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":1491,"title":{},"body":{"changelog.html":{}}}],["prevent",{"_index":1056,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":1200,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":1325,"title":{},"body":{"changelog.html":{}}}],["previously",{"_index":1105,"title":{},"body":{"changelog.html":{}}}],["priority",{"_index":693,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["private",{"_index":261,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{}}}],["probing",{"_index":113,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["process",{"_index":1453,"title":{},"body":{"changelog.html":{}}}],["processed",{"_index":1402,"title":{},"body":{"changelog.html":{}}}],["processing",{"_index":1187,"title":{},"body":{"changelog.html":{}}}],["production",{"_index":1092,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":1072,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":1458,"title":{},"body":{"changelog.html":{}}}],["projects",{"_index":1734,"title":{},"body":{"index.html":{}}}],["projects/.../ccf",{"_index":1855,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../hubmap",{"_index":1854,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../ontology",{"_index":1860,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../origin",{"_index":1851,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../patch",{"_index":1858,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../prefixes.ts",{"_index":1857,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../probing",{"_index":1852,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../spatial",{"_index":1861,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../tissue",{"_index":1859,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/ccf",{"_index":6,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":263,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/SearchResultJson.html":{}}}],["promise(r",{"_index":381,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["promise.all",{"_index":356,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["promise.all(ops",{"_index":352,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["properties",{"_index":13,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["property",{"_index":2185,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prostate_gland",{"_index":2087,"title":{},"body":{"miscellaneous/variables.html":{}}}],["provided",{"_index":329,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{},"license.html":{}}}],["provider",{"_index":58,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["provider_name",{"_index":2116,"title":{},"body":{"miscellaneous/variables.html":{}}}],["provider_uuid",{"_index":2118,"title":{},"body":{"miscellaneous/variables.html":{}}}],["providername",{"_index":60,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["providers",{"_index":1127,"title":{},"body":{"changelog.html":{}}}],["provideruuid",{"_index":1954,"title":{},"body":{"miscellaneous/variables.html":{}}}],["public",{"_index":457,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"changelog.html":{}}}],["publish",{"_index":1805,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":1075,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":1828,"title":{},"body":{"license.html":{}}}],["pushed",{"_index":1269,"title":{},"body":{"changelog.html":{}}}],["python",{"_index":982,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["qs",{"_index":1713,"title":{},"body":{"dependencies.html":{}}}],["quad",{"_index":203,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["quad.object.id",{"_index":571,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["qualitative",{"_index":1415,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":1128,"title":{},"body":{"changelog.html":{}}}],["queried",{"_index":21,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["queries",{"_index":127,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"dependencies.html":{}}}],["queries/aggregate",{"_index":219,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["queries/find",{"_index":221,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["queries/ontology",{"_index":225,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["queries/spatial",{"_index":231,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["queries/tissue",{"_index":233,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["query",{"_index":10,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["querying",{"_index":933,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["quickly",{"_index":1395,"title":{},"body":{"changelog.html":{}}}],["r",{"_index":545,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["r.json",{"_index":911,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["r.text",{"_index":334,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["r[0",{"_index":618,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["r[1",{"_index":620,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["r[2",{"_index":622,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["radius",{"_index":122,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["range",{"_index":130,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["ranking",{"_index":814,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["ratio",{"_index":616,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["rc.1",{"_index":1421,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":177,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["rdf.type",{"_index":562,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["rdfjs",{"_index":1633,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":1662,"title":{},"body":{"dependencies.html":{}}}],["rdfs",{"_index":144,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rdfs:comment",{"_index":2109,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rdfs:label",{"_index":2108,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rdfxml",{"_index":1715,"title":{},"body":{"dependencies.html":{}}}],["readable",{"_index":43,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"dependencies.html":{}}}],["readquads",{"_index":521,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["readquads(store",{"_index":568,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["ready",{"_index":27,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["real",{"_index":1435,"title":{},"body":{"changelog.html":{}}}],["record",{"_index":567,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"miscellaneous/typealiases.html":{}}}],["rectify",{"_index":1110,"title":{},"body":{"changelog.html":{}}}],["red",{"_index":1598,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["reduce",{"_index":848,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["reduce((acc",{"_index":713,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["reduction",{"_index":1048,"title":{},"body":{"changelog.html":{}}}],["reference",{"_index":437,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SpatialObjectReference.html":{},"changelog.html":{},"index.html":{}}}],["reference_organ",{"_index":681,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/variables.html":{}}}],["references",{"_index":558,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["refernced",{"_index":1146,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":1226,"title":{},"body":{"changelog.html":{}}}],["regions",{"_index":1494,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":1681,"title":{},"body":{"dependencies.html":{}}}],["registered",{"_index":1106,"title":{},"body":{"changelog.html":{}}}],["registration",{"_index":1138,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["registrations",{"_index":1250,"title":{},"body":{"changelog.html":{}}}],["registrations#1",{"_index":969,"title":{},"body":{"changelog.html":{}}}],["related",{"_index":1294,"title":{},"body":{"changelog.html":{}}}],["relative",{"_index":118,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["release",{"_index":977,"title":{},"body":{"changelog.html":{}}}],["reliability",{"_index":1337,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":1196,"title":{},"body":{"changelog.html":{}}}],["removed",{"_index":1173,"title":{},"body":{"changelog.html":{}}}],["removes",{"_index":1293,"title":{},"body":{"changelog.html":{}}}],["replace",{"_index":2043,"title":{},"body":{"miscellaneous/variables.html":{}}}],["repository",{"_index":1731,"title":{},"body":{"index.html":{}}}],["representation_of",{"_index":680,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/variables.html":{}}}],["representative",{"_index":66,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["represents",{"_index":792,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["requested",{"_index":394,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["requestinit",{"_index":902,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["required",{"_index":1383,"title":{},"body":{"changelog.html":{}}}],["res",{"_index":904,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["res!.hits.hits",{"_index":925,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["res.ok",{"_index":908,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["res.text",{"_index":906,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["resets",{"_index":1228,"title":{},"body":{"changelog.html":{}}}],["resolved",{"_index":1274,"title":{},"body":{"changelog.html":{}}}],["resolving",{"_index":277,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["respecttype",{"_index":300,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["respiratory_system",{"_index":2006,"title":{},"body":{"miscellaneous/variables.html":{}}}],["respond",{"_index":1219,"title":{},"body":{"changelog.html":{}}}],["response",{"_index":373,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["restriction",{"_index":1800,"title":{},"body":{"license.html":{}}}],["result",{"_index":11,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["results",{"_index":159,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["results.map(res",{"_index":924,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["return",{"_index":289,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{}}}],["returns",{"_index":276,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{}}}],["reverse",{"_index":2121,"title":{},"body":{"miscellaneous/variables.html":{}}}],["reversemapping",{"_index":1568,"title":{},"body":{"coverage.html":{}}}],["reversemapping(ccf.spatialentity",{"_index":2365,"title":{},"body":{"miscellaneous/variables.html":{}}}],["reversemapping(ccf.spatialobjectreference",{"_index":2364,"title":{},"body":{"miscellaneous/variables.html":{}}}],["reversemapping(ccf.spatialplacement",{"_index":2366,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rgb",{"_index":1697,"title":{},"body":{"dependencies.html":{}}}],["right",{"_index":812,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["right_bronchus",{"_index":2016,"title":{},"body":{"miscellaneous/variables.html":{}}}],["right_lung",{"_index":2012,"title":{},"body":{"miscellaneous/variables.html":{}}}],["rights",{"_index":1802,"title":{},"body":{"license.html":{}}}],["rk",{"_index":2208,"title":{},"body":{"miscellaneous/variables.html":{}}}],["root",{"_index":154,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["rotates",{"_index":1198,"title":{},"body":{"changelog.html":{}}}],["rotation",{"_index":835,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["rotation_order",{"_index":623,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["rotation_units",{"_index":625,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["rotations",{"_index":839,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["round",{"_index":1323,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":1341,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":1034,"title":{},"body":{"changelog.html":{}}}],["rti",{"_index":2263,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ru/common",{"_index":1615,"title":{},"body":{"dependencies.html":{}}}],["rui",{"_index":244,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["rui_location",{"_index":94,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["rui_locations.jsonld",{"_index":1062,"title":{},"body":{"changelog.html":{}}}],["rui_rank",{"_index":817,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["rxjs",{"_index":1718,"title":{},"body":{"dependencies.html":{}}}],["s",{"_index":414,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["s.sex",{"_index":708,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["s[0",{"_index":610,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["s[1",{"_index":612,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["s[2",{"_index":614,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["sample",{"_index":71,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"index.html":{}}}],["sample_category",{"_index":882,"title":{},"body":{"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["sample_type",{"_index":2124,"title":{},"body":{"miscellaneous/variables.html":{}}}],["samples",{"_index":1261,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["sampletype",{"_index":72,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["saved",{"_index":932,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["saver",{"_index":1687,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":1459,"title":{},"body":{"changelog.html":{}}}],["scale",{"_index":764,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scaling",{"_index":833,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["scaling_units",{"_index":615,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["scene",{"_index":213,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["scene.ts",{"_index":634,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["scene.ts:130",{"_index":660,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:149",{"_index":650,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:156",{"_index":669,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:198",{"_index":665,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:38",{"_index":646,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:42",{"_index":671,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:45",{"_index":656,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:48",{"_index":653,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:51",{"_index":648,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:54",{"_index":659,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:58",{"_index":658,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:75",{"_index":662,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scene.ts:95",{"_index":664,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["scenegraph",{"_index":685,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scenegraphnode",{"_index":686,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scenenode",{"_index":722,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["scenes",{"_index":259,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["scheduled",{"_index":1275,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":1461,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["schemes",{"_index":1416,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":1777,"title":{},"body":{"index.html":{}}}],["script_fields",{"_index":895,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["search",{"_index":111,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["search(filter",{"_index":400,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["searchableitem",{"_index":98,"title":{"interfaces/SearchableItem.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["searched",{"_index":97,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["searches",{"_index":1012,"title":{},"body":{"changelog.html":{}}}],["searchhubmap",{"_index":214,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["searchhubmap(dataurl",{"_index":949,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["searchresultjson",{"_index":842,"title":{"interfaces/SearchResultJson.html":{}},"body":{"interfaces/SearchResultJson.html":{},"coverage.html":{}}}],["section",{"_index":69,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["section_count",{"_index":2126,"title":{},"body":{"miscellaneous/variables.html":{}}}],["section_number",{"_index":2132,"title":{},"body":{"miscellaneous/variables.html":{}}}],["section_size",{"_index":2128,"title":{},"body":{"miscellaneous/variables.html":{}}}],["section_units",{"_index":2130,"title":{},"body":{"miscellaneous/variables.html":{}}}],["sectioncount",{"_index":84,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["sectionnumber",{"_index":79,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["sections",{"_index":76,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["sectionsize",{"_index":87,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["sectionunits",{"_index":91,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["see",{"_index":1037,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["seealso",{"_index":2002,"title":{},"body":{"miscellaneous/variables.html":{}}}],["select",{"_index":1172,"title":{},"body":{"changelog.html":{}}}],["selected",{"_index":1021,"title":{},"body":{"changelog.html":{}}}],["selecting",{"_index":1067,"title":{},"body":{"changelog.html":{}}}],["selector",{"_index":1065,"title":{},"body":{"changelog.html":{}}}],["selects",{"_index":1478,"title":{},"body":{"changelog.html":{}}}],["sell",{"_index":1809,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":1490,"title":{},"body":{"changelog.html":{}}}],["sennet",{"_index":1086,"title":{},"body":{"changelog.html":{}}}],["sensitive",{"_index":965,"title":{},"body":{"changelog.html":{}}}],["sequence",{"_index":75,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["serialize",{"_index":386,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["serialized",{"_index":328,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["serializeddb",{"_index":311,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["serializen3store",{"_index":204,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["serializen3store(this.store",{"_index":387,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["server",{"_index":1464,"title":{},"body":{"changelog.html":{}}}],["service",{"_index":185,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["servicetoken",{"_index":936,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["servicetype",{"_index":930,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["set",{"_index":107,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["set(['van0003",{"_index":2195,"title":{},"body":{"miscellaneous/variables.html":{}}}],["setmany",{"_index":191,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["settimeout(r",{"_index":382,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["settle",{"_index":380,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["setup",{"_index":1246,"title":{},"body":{"changelog.html":{}}}],["sex",{"_index":99,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["sexes",{"_index":1373,"title":{},"body":{"changelog.html":{}}}],["shall",{"_index":1817,"title":{},"body":{"license.html":{}}}],["shared",{"_index":1189,"title":{},"body":{"changelog.html":{}}}],["shortest",{"_index":518,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"dependencies.html":{}}}],["shortestpath",{"_index":517,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["shortestpath(this.graph",{"_index":582,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["show",{"_index":1222,"title":{},"body":{"changelog.html":{}}}],["showing",{"_index":1401,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":1410,"title":{},"body":{"changelog.html":{}}}],["shows",{"_index":1131,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":813,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["sides",{"_index":1375,"title":{},"body":{"changelog.html":{}}}],["significant",{"_index":1231,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":1156,"title":{},"body":{"changelog.html":{}}}],["simplifies",{"_index":1244,"title":{},"body":{"changelog.html":{}}}],["sites",{"_index":787,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["sizable",{"_index":1336,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":85,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["skin",{"_index":2089,"title":{},"body":{"miscellaneous/variables.html":{}}}],["skinnodes",{"_index":717,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["skinnodes.length",{"_index":729,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["skinnodes.push(scenenode",{"_index":728,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["slice_count",{"_index":823,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["slice_thickness",{"_index":822,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["slices",{"_index":820,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["slider",{"_index":1705,"title":{},"body":{"dependencies.html":{}}}],["slightly",{"_index":1108,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":1257,"title":{},"body":{"changelog.html":{}}}],["small",{"_index":377,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["small_intestine",{"_index":2091,"title":{},"body":{"miscellaneous/variables.html":{}}}],["software",{"_index":1736,"title":{},"body":{"index.html":{},"license.html":{}}}],["solved",{"_index":1331,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":1392,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":1079,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":1253,"title":{},"body":{"changelog.html":{}}}],["source",{"_index":4,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["source.ccf_annotations",{"_index":776,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.dimension_units",{"_index":768,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.endswith('n3",{"_index":365,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.endswith('owl",{"_index":368,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.endswith('rdf",{"_index":367,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.endswith('xml",{"_index":369,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.entityid",{"_index":775,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.includes('jsonld",{"_index":361,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.label",{"_index":781,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.object",{"_index":758,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.object?.file",{"_index":779,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.object?.file_subpath",{"_index":780,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.object['@id",{"_index":759,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.reference_organ",{"_index":778,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.representation_of",{"_index":777,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.startswith('assets",{"_index":360,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.startswith('http",{"_index":359,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["source.x_dimension",{"_index":769,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.y_dimension",{"_index":770,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source.z_dimension].map(dim",{"_index":771,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source?.object?.file_format?.startswith('model/gltf",{"_index":756,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["source['@id",{"_index":589,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["sourceid",{"_index":757,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["sourceiri",{"_index":509,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["sources",{"_index":175,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["sources.map(async",{"_index":357,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["sources.push(ccfowlurl",{"_index":339,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["sources.push(this.options.hubmapdataurl",{"_index":342,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["sp",{"_index":2275,"title":{},"body":{"miscellaneous/variables.html":{}}}],["sparc",{"_index":1249,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":992,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":92,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["spatialentity",{"_index":235,"title":{"interfaces/SpatialEntity.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialentitydimensions",{"_index":1573,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialentityid",{"_index":95,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["spatialobjectreference",{"_index":561,"title":{"interfaces/SpatialObjectReference.html":{}},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialplacement",{"_index":525,"title":{"interfaces/SpatialPlacement.html":{}},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialplacementcommon",{"_index":831,"title":{"interfaces/SpatialPlacementCommon.html":{}},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{}}}],["spatialscenegeometry",{"_index":672,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["spatialscenenode",{"_index":212,"title":{"interfaces/SpatialSceneNode.html":{}},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"coverage.html":{}}}],["spatialsearch",{"_index":115,"title":{"interfaces/SpatialSearch.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["spatialsearches",{"_index":135,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["spec",{"_index":195,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["spec.yaml",{"_index":1759,"title":{},"body":{"index.html":{}}}],["specific",{"_index":1124,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["specification",{"_index":110,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"index.html":{}}}],["specifies",{"_index":806,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["speed",{"_index":1045,"title":{},"body":{"changelog.html":{}}}],["sphere",{"_index":114,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["spinal",{"_index":1029,"title":{},"body":{"changelog.html":{}}}],["spinning",{"_index":1462,"title":{},"body":{"changelog.html":{}}}],["spleen",{"_index":2093,"title":{},"body":{"miscellaneous/variables.html":{}}}],["sprint",{"_index":1278,"title":{},"body":{"changelog.html":{}}}],["stage",{"_index":1313,"title":{},"body":{"changelog.html":{}}}],["staging",{"_index":1093,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["standalone",{"_index":1327,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":74,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["standards",{"_index":1466,"title":{},"body":{"changelog.html":{}}}],["stanford",{"_index":2257,"title":{},"body":{"miscellaneous/variables.html":{}}}],["star2",{"_index":1740,"title":{},"body":{"index.html":{}}}],["start",{"_index":293,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["started",{"_index":952,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["starts",{"_index":1509,"title":{},"body":{"changelog.html":{}}}],["starttime",{"_index":477,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["startup",{"_index":1242,"title":{},"body":{"changelog.html":{}}}],["statements",{"_index":1511,"title":{},"body":{"coverage.html":{}}}],["static",{"_index":184,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{},"miscellaneous/variables.html":{}}}],["statically",{"_index":931,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["status",{"_index":25,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["stay",{"_index":1507,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":1264,"title":{},"body":{"changelog.html":{}}}],["store",{"_index":205,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{}}}],["store(undefined",{"_index":268,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["store.forsubjects((subject",{"_index":559,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["stored_fields",{"_index":894,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["storestring",{"_index":332,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["stories",{"_index":1456,"title":{},"body":{"changelog.html":{}}}],["stream",{"_index":1717,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":1716,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":16,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["string|jsonld",{"_index":246,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["structure",{"_index":808,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"changelog.html":{}}}],["structures",{"_index":714,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["styles",{"_index":1486,"title":{},"body":{"changelog.html":{}}}],["styling",{"_index":1153,"title":{},"body":{"changelog.html":{}}}],["subject",{"_index":1814,"title":{},"body":{"license.html":{}}}],["sublicense",{"_index":1807,"title":{},"body":{"license.html":{}}}],["subpath",{"_index":790,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["substantial",{"_index":1819,"title":{},"body":{"license.html":{}}}],["successfully",{"_index":488,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["such",{"_index":991,"title":{},"body":{"changelog.html":{}}}],["support",{"_index":995,"title":{},"body":{"changelog.html":{}}}],["swiper",{"_index":1721,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":532,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["switched",{"_index":1344,"title":{},"body":{"changelog.html":{}}}],["sync",{"_index":1199,"title":{},"body":{"changelog.html":{}}}],["synchronize",{"_index":375,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["synonym",{"_index":148,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["synonymlabels",{"_index":150,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["syntax",{"_index":1987,"title":{},"body":{"miscellaneous/variables.html":{}}}],["t",{"_index":541,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["t[0",{"_index":628,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["t[1",{"_index":630,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["t[2",{"_index":632,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["table",{"_index":1614,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":1101,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":1613,"title":{},"body":{"coverage.html":{}}}],["tagging",{"_index":1377,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":1121,"title":{},"body":{"changelog.html":{}}}],["taken",{"_index":39,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["target",{"_index":119,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["target['@id",{"_index":762,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["targetiri",{"_index":452,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["technologies",{"_index":134,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["technology",{"_index":63,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["telemetry",{"_index":1192,"title":{},"body":{"changelog.html":{}}}],["term",{"_index":226,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"coverage.html":{}}}],["terms",{"_index":105,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["test",{"_index":1442,"title":{},"body":{"changelog.html":{}}}],["testing",{"_index":1382,"title":{},"body":{"changelog.html":{}}}],["testinggroup",{"_index":2251,"title":{},"body":{"miscellaneous/variables.html":{}}}],["text",{"_index":675,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["text.startswith('https",{"_index":909,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["th",{"_index":2293,"title":{},"body":{"miscellaneous/variables.html":{}}}],["theme",{"_index":1087,"title":{},"body":{"changelog.html":{}}}],["themes",{"_index":1085,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":1082,"title":{},"body":{"changelog.html":{}}}],["then((jsonld",{"_index":349,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["then(async",{"_index":480,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["thickness",{"_index":818,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["this.adddatasources([jsonld",{"_index":350,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.addedge(quad.subject.id",{"_index":573,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.addnode(subject.id",{"_index":560,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.cachedconnect",{"_index":286,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.connect",{"_index":471,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.creategraph",{"_index":556,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.database.connect",{"_index":479,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.database.getaggregateresults",{"_index":487,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.database.getscene",{"_index":484,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.database.gettissueblockresults",{"_index":485,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.db.getspatialentities(filter",{"_index":748,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.db.getspatialentities(filter).map((entity",{"_index":753,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.db.graph.gettransformationmatrix(sourceid",{"_index":761,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.db.store",{"_index":557,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.deserialize(serializeddb",{"_index":317,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.doconnect",{"_index":287,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.get(s",{"_index":402,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.getanatomicalstructures(o['@id",{"_index":712,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getentityscenenodes(filter",{"_index":783,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getids(filter)].map((s",{"_index":401,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.getreferencebody(filter",{"_index":716,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getreferenceorgans",{"_index":706,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getreferenceorgans().filter((o",{"_index":742,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getreferenceorgansets(filter).map((organ",{"_index":718,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getreferencescenenodes(filter",{"_index":782,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(entity",{"_index":750,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(organ",{"_index":723,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.base('vhleftkidney').id",{"_index":735,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.base('vhrightkidney').id",{"_index":733,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.base('vhspleencc1').id",{"_index":736,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.base('vhspleencc2').id",{"_index":737,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getscenenode(this.getspatialentity(ccf.base('vhspleencc3').id",{"_index":738,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.getspatialentity(bodyid",{"_index":704,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["this.gettransformationmatrix(placement.target",{"_index":594,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.gettransformationmatrix(sourceiri",{"_index":596,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph",{"_index":270,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["this.graph.creategraph",{"_index":384,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.graph.getedgeattribute(source",{"_index":586,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.getspatialplacement(source",{"_index":453,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.graph.hasnode(placement.target",{"_index":593,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.hasnode(source['@id",{"_index":588,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.hasnode(sourceiri",{"_index":578,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.hasnode(targetiri",{"_index":579,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.mergedirectededge(source",{"_index":575,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.graph.mergenode(id",{"_index":574,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["this.initializing",{"_index":285,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.loadtime",{"_index":476,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.message",{"_index":472,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["this.options",{"_index":284,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.ccfowlurl",{"_index":326,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.datasources?.concat",{"_index":325,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapassetsurl",{"_index":347,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapdataservice",{"_index":344,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapdataurl",{"_index":340,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapdataurl.endswith('jsonld",{"_index":341,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapportalurl",{"_index":348,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmapquery",{"_index":345,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.options.hubmaptoken",{"_index":346,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.scene",{"_index":272,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.scene.getreferenceorgans",{"_index":440,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.scene.getreferenceorganscene(organiri",{"_index":450,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.scene.getscene(filter",{"_index":446,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.serialize",{"_index":318,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.status",{"_index":416,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{}}}],["this.status.tojson",{"_index":418,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.store",{"_index":266,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.store.getquads(datafactory.namednode(id",{"_index":396,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.store.size",{"_index":290,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["this.synchronize",{"_index":353,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["through",{"_index":1394,"title":{},"body":{"changelog.html":{}}}],["thumbnail",{"_index":67,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["thumbnails",{"_index":1288,"title":{},"body":{"changelog.html":{}}}],["thymus",{"_index":2095,"title":{},"body":{"miscellaneous/variables.html":{}}}],["tied",{"_index":1291,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":1403,"title":{},"body":{"changelog.html":{}}}],["time",{"_index":38,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["timeouts",{"_index":1057,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":1049,"title":{},"body":{"changelog.html":{}}}],["tissue",{"_index":68,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["tissueblock",{"_index":1960,"title":{},"body":{"miscellaneous/variables.html":{}}}],["tissueblockresult",{"_index":82,"title":{"interfaces/TissueBlockResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["tissueblockresultset",{"_index":1581,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["tissues",{"_index":444,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"changelog.html":{}}}],["tissuesection",{"_index":1962,"title":{},"body":{"miscellaneous/variables.html":{}}}],["tissuesectionresult",{"_index":70,"title":{"interfaces/TissueSectionResult.html":{}},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"coverage.html":{}}}],["tissuesectionresultset",{"_index":1582,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["tmc",{"_index":133,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["todegrees",{"_index":512,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["toggle",{"_index":1083,"title":{},"body":{"changelog.html":{}}}],["tojson",{"_index":460,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["token",{"_index":188,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"interfaces/SearchResultJson.html":{}}}],["tool",{"_index":1328,"title":{},"body":{"changelog.html":{}}}],["tooltip",{"_index":692,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["toradians",{"_index":513,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["tort",{"_index":1840,"title":{},"body":{"license.html":{}}}],["total",{"_index":847,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["totalcount",{"_index":921,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["trachea",{"_index":2029,"title":{},"body":{"miscellaneous/variables.html":{}}}],["tracker",{"_index":239,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["tracker.ts",{"_index":456,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"coverage.html":{}}}],["tracker.ts:10",{"_index":466,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:14",{"_index":470,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:23",{"_index":469,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:6",{"_index":468,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:7",{"_index":467,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracker.ts:8",{"_index":464,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["tracking/telemetry",{"_index":1212,"title":{},"body":{"changelog.html":{}}}],["transform",{"_index":760,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["transform.scale(scale",{"_index":774,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["transformmatrix",{"_index":691,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["translation",{"_index":840,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["translation_units",{"_index":633,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["transparency",{"_index":1329,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":1348,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":151,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["treeify",{"_index":1565,"title":{},"body":{"coverage.html":{}}}],["triple",{"_index":206,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{}}}],["true",{"_index":278,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialSceneNode.html":{}}}],["try",{"_index":903,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{}}}],["ts",{"_index":1723,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":1726,"title":{},"body":{"dependencies.html":{}}}],["tuned",{"_index":1508,"title":{},"body":{"changelog.html":{}}}],["turn",{"_index":1311,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":1295,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":1292,"title":{},"body":{"changelog.html":{}}}],["tutorial",{"_index":1175,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":1414,"title":{},"body":{"changelog.html":{}}}],["tx",{"_index":580,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["tx.translate(t).rotatexyz(r).scale(s",{"_index":552,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["type",{"_index":19,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":1849,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typeof",{"_index":358,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["types",{"_index":236,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"changelog.html":{}}}],["types.ts",{"_index":785,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"coverage.html":{}}}],["types/lru",{"_index":1663,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":409,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":1474,"title":{},"body":{"changelog.html":{}}}],["uberon",{"_index":1609,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["uberon.body",{"_index":2004,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000029",{"_index":2040,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000056",{"_index":2020,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000059",{"_index":2072,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000079",{"_index":2038,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000178",{"_index":2034,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000947",{"_index":2032,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000948",{"_index":2062,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000955",{"_index":2052,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000970",{"_index":2022,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000992",{"_index":2028,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0000995",{"_index":2104,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001004",{"_index":2007,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001155",{"_index":2009,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001222",{"_index":2100,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001223",{"_index":2098,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001255",{"_index":2102,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001264",{"_index":2084,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001270",{"_index":2086,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001302",{"_index":2060,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001303",{"_index":2058,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0001465",{"_index":2026,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002048",{"_index":2076,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002097",{"_index":2090,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002106",{"_index":2094,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002107",{"_index":2074,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002108",{"_index":2092,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002113",{"_index":2018,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002167",{"_index":2013,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002168",{"_index":2011,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002177",{"_index":2017,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002178",{"_index":2015,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002367",{"_index":2088,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002370",{"_index":2096,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002371",{"_index":2036,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0002509",{"_index":2078,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0003126",{"_index":2030,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0003889",{"_index":2024,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0004537",{"_index":2050,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0004538",{"_index":2064,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0004539",{"_index":2066,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uberon.x('0004548",{"_index":2054,"title":{},"body":{"miscellaneous/variables.html":{}}}],["uconn",{"_index":2271,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ucsd",{"_index":2239,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ufl",{"_index":1287,"title":{},"body":{"changelog.html":{}}}],["ufl_thumbs",{"_index":1535,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["ui",{"_index":1117,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["ui.netlify.app",{"_index":1743,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":1753,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":1750,"title":{},"body":{"index.html":{}}}],["ui/organ",{"_index":1752,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":1751,"title":{},"body":{"index.html":{}}}],["uis",{"_index":979,"title":{},"body":{"changelog.html":{}}}],["undefined",{"_index":310,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSceneNode.html":{}}}],["unique",{"_index":420,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["units",{"_index":88,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["university",{"_index":1780,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":247,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFDatabaseStatusTracker.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{}}}],["unnecessary",{"_index":1195,"title":{},"body":{"changelog.html":{}}}],["unorderedarrays",{"_index":301,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["unorderedobjects",{"_index":302,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["unorderedsets",{"_index":303,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["unpickable",{"_index":682,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["unselect",{"_index":1259,"title":{},"body":{"changelog.html":{}}}],["until",{"_index":1297,"title":{},"body":{"changelog.html":{}}}],["up",{"_index":482,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{},"changelog.html":{}}}],["update",{"_index":999,"title":{},"body":{"changelog.html":{}}}],["updated",{"_index":964,"title":{},"body":{"changelog.html":{}}}],["updated_date",{"_index":1906,"title":{},"body":{"miscellaneous/variables.html":{}}}],["updates",{"_index":1033,"title":{},"body":{"changelog.html":{}}}],["upgraded",{"_index":1399,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":1479,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":1216,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":1324,"title":{},"body":{"changelog.html":{}}}],["ureter",{"_index":2019,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ureter_left",{"_index":2097,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ureter_right",{"_index":2099,"title":{},"body":{"miscellaneous/variables.html":{}}}],["urinary_bladder",{"_index":2101,"title":{},"body":{"miscellaneous/variables.html":{}}}],["url",{"_index":51,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["usage",{"_index":980,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":1765,"title":{},"body":{"index.html":{}}}],["use",{"_index":935,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["usecase",{"_index":1770,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":1767,"title":{},"body":{"index.html":{}}}],["used",{"_index":64,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/CCFDatabaseOptions.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["user",{"_index":956,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["user/os",{"_index":1185,"title":{},"body":{"changelog.html":{}}}],["users",{"_index":1497,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":1202,"title":{},"body":{"changelog.html":{}}}],["using",{"_index":1159,"title":{},"body":{"changelog.html":{},"miscellaneous/variables.html":{}}}],["uterus",{"_index":2103,"title":{},"body":{"miscellaneous/variables.html":{}}}],["util.prefixes(prefixes",{"_index":1976,"title":{},"body":{"miscellaneous/variables.html":{}}}],["util/ccf",{"_index":238,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["util/enrich",{"_index":243,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["util/patch",{"_index":241,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["util/prefixes",{"_index":526,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["utilities",{"_index":1190,"title":{},"body":{"changelog.html":{}}}],["utils",{"_index":207,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{}}}],["uuid",{"_index":524,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/SearchResultJson.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["uuidv4",{"_index":523,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["v1.1",{"_index":1102,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":988,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":978,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":1310,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":1104,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":1096,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":1059,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":1027,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":1000,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":1038,"title":{},"body":{"changelog.html":{}}}],["v2.0",{"_index":2178,"title":{},"body":{"miscellaneous/variables.html":{}}}],["v2.1.0",{"_index":986,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":974,"title":{},"body":{"changelog.html":{}}}],["v3",{"_index":1002,"title":{},"body":{"changelog.html":{}}}],["v4",{"_index":522,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["validresponse",{"_index":907,"title":{},"body":{"interfaces/SearchResultJson.html":{}}}],["value",{"_index":20,"title":{},"body":{"interfaces/AggregateResult.html":{},"classes/CCFSpatialScene.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchResultJson.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["van0003",{"_index":2199,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0005",{"_index":2207,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0006",{"_index":2210,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0007",{"_index":2212,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0008",{"_index":2215,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0009",{"_index":2217,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0010",{"_index":2220,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0011",{"_index":2223,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0012",{"_index":2224,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0013",{"_index":2226,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0014",{"_index":2230,"title":{},"body":{"miscellaneous/variables.html":{}}}],["van0016",{"_index":2232,"title":{},"body":{"miscellaneous/variables.html":{}}}],["vanderbilt",{"_index":2255,"title":{},"body":{"miscellaneous/variables.html":{}}}],["variable",{"_index":1519,"title":{},"body":{"coverage.html":{}}}],["variables",{"_index":1856,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["version",{"_index":893,"title":{},"body":{"interfaces/SearchResultJson.html":{},"changelog.html":{},"index.html":{}}}],["very",{"_index":1389,"title":{},"body":{"changelog.html":{}}}],["via",{"_index":112,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"changelog.html":{}}}],["video",{"_index":1217,"title":{},"body":{"changelog.html":{}}}],["view",{"_index":1201,"title":{},"body":{"changelog.html":{}}}],["viewer",{"_index":1281,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":1018,"title":{},"body":{"changelog.html":{}}}],["views",{"_index":1204,"title":{},"body":{"changelog.html":{}}}],["visible",{"_index":765,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["visual",{"_index":1016,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":1251,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":1400,"title":{},"body":{"changelog.html":{}}}],["vocab",{"_index":2107,"title":{},"body":{"miscellaneous/variables.html":{}}}],["void",{"_index":321,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{},"classes/CCFSpatialGraph.html":{}}}],["vs",{"_index":1170,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":1504,"title":{},"body":{"changelog.html":{}}}],["w",{"_index":836,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{}}}],["w_rotation",{"_index":837,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["wait",{"_index":31,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/Filter.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{}}}],["walkthrough",{"_index":1766,"title":{},"body":{"index.html":{}}}],["warm",{"_index":481,"title":{},"body":{"classes/CCFDatabaseStatusTracker.html":{}}}],["warming",{"_index":1054,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":1423,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":1824,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1821,"title":{},"body":{"license.html":{}}}],["web",{"_index":1052,"title":{},"body":{"changelog.html":{}}}],["webcomponent",{"_index":1169,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":1664,"title":{},"body":{"dependencies.html":{}}}],["webpages",{"_index":1120,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":1738,"title":{},"body":{"index.html":{}}}],["week",{"_index":1510,"title":{},"body":{"changelog.html":{}}}],["whether",{"_index":1837,"title":{},"body":{"license.html":{}}}],["whole",{"_index":1506,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":1221,"title":{},"body":{"changelog.html":{}}}],["wireframe",{"_index":674,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{},"miscellaneous/typealiases.html":{}}}],["within",{"_index":1285,"title":{},"body":{"changelog.html":{}}}],["without",{"_index":1136,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["workflows",{"_index":1350,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":1109,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":1366,"title":{},"body":{"changelog.html":{}}}],["x",{"_index":116,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["x_dimension",{"_index":825,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["x_rotation",{"_index":617,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["x_scaling",{"_index":609,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["x_translation",{"_index":627,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["xml",{"_index":178,"title":{},"body":{"interfaces/CCFDatabaseOptions.html":{}}}],["xyz",{"_index":624,"title":{},"body":{"classes/CCFSpatialGraph.html":{}}}],["y",{"_index":120,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["y_dimension",{"_index":826,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["y_rotation",{"_index":619,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["y_scaling",{"_index":611,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["y_translation",{"_index":629,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["yes",{"_index":651,"title":{},"body":{"classes/CCFSpatialScene.html":{}}}],["youtube",{"_index":1141,"title":{},"body":{"changelog.html":{}}}],["z",{"_index":121,"title":{},"body":{"interfaces/AggregateResult.html":{},"interfaces/DatabaseStatus.html":{},"interfaces/DatasetResult.html":{},"interfaces/DonorResult.html":{},"interfaces/ExtractionSet.html":{},"interfaces/Filter.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/ListResultItem.html":{},"interfaces/OntologyTreeModel.html":{},"interfaces/OntologyTreeNode.html":{},"interfaces/SearchableItem.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"interfaces/SpatialSearch.html":{},"interfaces/TissueBlockResult.html":{},"interfaces/TissueSectionResult.html":{},"miscellaneous/variables.html":{}}}],["z_dimension",{"_index":827,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["z_rotation",{"_index":621,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["z_scaling",{"_index":613,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["z_translation",{"_index":631,"title":{},"body":{"classes/CCFSpatialGraph.html":{},"interfaces/ExtractionSet.html":{},"interfaces/FlatSpatialPlacement.html":{},"interfaces/SpatialEntity.html":{},"interfaces/SpatialObjectReference.html":{},"interfaces/SpatialPlacement.html":{},"interfaces/SpatialPlacementCommon.html":{},"miscellaneous/variables.html":{}}}],["zone.js",{"_index":1728,"title":{},"body":{"dependencies.html":{}}}],["zoombasedopacity",{"_index":687,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}],["zoomtoonload",{"_index":688,"title":{},"body":{"classes/CCFSpatialScene.html":{},"interfaces/SpatialSceneNode.html":{}}}]],"pipeline":["stemmer"]}, + "store": {"interfaces/AggregateResult.html":{"url":"interfaces/AggregateResult.html","title":"interface - AggregateResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AggregateResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Aggregate query result\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n count\n \n \n \n \n label\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n count\n \n \n \n \n \n \n \n \n count: string | number\n\n \n \n\n\n \n \n Type : string | number\n\n \n \n\n\n\n\n\n \n \n Aggregate value\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Queried field\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CCFDatabaseOptions.html":{"url":"interfaces/CCFDatabaseOptions.html","title":"interface - CCFDatabaseOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CCFDatabaseOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/ccf-database.ts\n \n\n\n \n Description\n \n \n Database initialization options.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ccfContextUrl\n \n \n \n \n ccfOwlUrl\n \n \n \n \n dataSources\n \n \n \n \n hubmapAssetsUrl\n \n \n \n \n hubmapDataService\n \n \n \n \n hubmapDataUrl\n \n \n \n \n hubmapPortalUrl\n \n \n \n Optional\n \n hubmapQuery\n \n \n \n Optional\n \n hubmapToken\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ccfContextUrl\n \n \n \n \n \n \n \n \n ccfContextUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Context.\n\n \n \n \n \n \n \n \n \n \n ccfOwlUrl\n \n \n \n \n \n \n \n \n ccfOwlUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n A url to load data from.\n\n \n \n \n \n \n \n \n \n \n dataSources\n \n \n \n \n \n \n \n \n dataSources: (string | JsonLd)[]\n\n \n \n\n\n \n \n Type : (string | JsonLd)[]\n\n \n \n\n\n\n\n\n \n \n A list of data sources (in n3, rdf, xml, owl, or jsonld format)\n\n \n \n \n \n \n \n \n \n \n hubmapAssetsUrl\n \n \n \n \n \n \n \n \n hubmapAssetsUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Hubmap assets api url.\n\n \n \n \n \n \n \n \n \n \n hubmapDataService\n \n \n \n \n \n \n \n \n hubmapDataService: \"static\" | \"search-api\"\n\n \n \n\n\n \n \n Type : \"static\" | \"search-api\"\n\n \n \n\n\n\n\n\n \n \n Data service type.\n\n \n \n \n \n \n \n \n \n \n hubmapDataUrl\n \n \n \n \n \n \n \n \n hubmapDataUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Hubmap data url.\n\n \n \n \n \n \n \n \n \n \n hubmapPortalUrl\n \n \n \n \n \n \n \n \n hubmapPortalUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Hubmap Portal url.\n\n \n \n \n \n \n \n \n \n \n hubmapQuery\n \n \n \n \n \n \n \n \n hubmapQuery: \n\n \n \n\n\n\n \n \n Optional\n \n \n\n\n\n\n \n \n HuBMAP Elastic Search Query\n\n \n \n \n \n \n \n \n \n \n hubmapToken\n \n \n \n \n \n \n \n \n hubmapToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n HuBMAP Service Token.\n\n \n \n \n \n \n \n\n\n \n import { delMany, get, setMany } from 'idb-keyval';\nimport { JsonLd } from 'jsonld/jsonld-spec';\nimport hash from 'object-hash';\nimport {\n addJsonLdToStore, addN3ToStore, addRdfXmlToStore, DataFactory, deserializeN3Store, Quad, serializeN3Store, Store\n} from 'triple-store-utils';\n\nimport { CCFSpatialGraph } from './ccf-spatial-graph';\nimport { CCFSpatialScene, SpatialSceneNode } from './ccf-spatial-scene';\nimport { searchHubmap } from './hubmap/hubmap-data-import';\nimport { AggregateResult, DatabaseStatus, Filter, OntologyTreeModel, TissueBlockResult } from './interfaces';\nimport { getAggregateResults, getDatasetTechnologyNames, getProviderNames } from './queries/aggregate-results-n3';\nimport { findIds } from './queries/find-ids-n3';\nimport { getCellTypeTermOccurences, getOntologyTermOccurences } from './queries/ontology-term-occurences-n3';\nimport { getAnatomicalStructureTreeModel, getCellTypeTreeModel } from './queries/ontology-tree-n3';\nimport { getSpatialEntityForEntity } from './queries/spatial-result-n3';\nimport { getTissueBlockResult } from './queries/tissue-block-result-n3';\nimport { FlatSpatialPlacement, SpatialEntity } from './spatial-types';\nimport { CCFDatabaseStatusTracker } from './util/ccf-database-status-tracker';\nimport { patchJsonLd } from './util/patch-jsonld';\nimport { enrichRuiLocations } from './util/enrich-rui-locations';\n\n\n/** Database initialization options. */\nexport interface CCFDatabaseOptions {\n /** A url to load data from. */\n ccfOwlUrl: string;\n /** Context. */\n ccfContextUrl: string;\n /** A list of data sources (in n3, rdf, xml, owl, or jsonld format) */\n dataSources: (string|JsonLd)[];\n /** Data service type. */\n hubmapDataService: 'static' | 'search-api';\n /** HuBMAP Elastic Search Query */\n hubmapQuery?: unknown;\n /** Hubmap Portal url. */\n hubmapPortalUrl: string;\n /** Hubmap data url. */\n hubmapDataUrl: string;\n /** Hubmap assets api url. */\n hubmapAssetsUrl: string;\n /** HuBMAP Service Token. */\n hubmapToken?: string;\n}\n\n/** Default initialization options. */\nexport const DEFAULT_CCF_DB_OPTIONS: CCFDatabaseOptions = {\n ccfOwlUrl: 'https://purl.org/ccf/latest/ccf.owl',\n ccfContextUrl: 'https://purl.org/ccf/latest/ccf-context.jsonld',\n dataSources: [],\n hubmapDataService: 'static',\n hubmapPortalUrl: 'https://portal.hubmapconsortium.org/',\n hubmapDataUrl: '',\n hubmapAssetsUrl: 'https://assets.hubmapconsortium.org'\n};\n\n/** Database provider. */\nexport class CCFDatabase {\n /** The triple store. */\n store: Store;\n /** The spatial graph */\n graph: CCFSpatialGraph;\n /** Creates SpatialEntity Scenes */\n scene: CCFSpatialScene;\n /** If the database is initialized */\n private initializing?: Promise;\n\n private status: CCFDatabaseStatusTracker;\n\n /**\n * Creates an instance of ccfdatabase.\n *\n * @param [options] Initialization options.\n */\n constructor(public options: CCFDatabaseOptions = DEFAULT_CCF_DB_OPTIONS) {\n this.store = new Store(undefined, { factory: DataFactory });\n this.graph = new CCFSpatialGraph(this);\n this.scene = new CCFSpatialScene(this);\n }\n\n /**\n * Connects the database.\n *\n * @param [options] Options used to initialize.\n * @returns A promise resolving to true if data has been loaded into the database.\n */\n async connect(options?: CCFDatabaseOptions, cached = false): Promise {\n if (options) {\n this.options = options;\n }\n if (!this.initializing) {\n if (cached) {\n this.initializing = this.cachedConnect();\n } else {\n this.initializing = this.doConnect();\n }\n }\n await this.initializing;\n return this.store.size > 0;\n }\n\n private async cachedConnect(): Promise {\n const start = new Date().getTime();\n const optionsHash = hash(this.options, {\n encoding: 'base64',\n ignoreUnknown: true,\n respectType: false,\n unorderedArrays: true,\n unorderedObjects: true,\n unorderedSets: true\n });\n const lastModifiedKey = `ccf-database.last_modified.${optionsHash}`;\n const ccfDatabaseKey = `ccf-database.${optionsHash}`;\n\n const lastModified = await get(lastModifiedKey).catch(() => undefined);\n let serializedDb: string | undefined;\n\n if (lastModified && start - new Date(+lastModified).getTime() > 60*60*1000) {\n await delMany([ccfDatabaseKey, lastModifiedKey]).catch(() => undefined);\n } else {\n serializedDb = await get(ccfDatabaseKey).catch(() => undefined);\n }\n\n if (serializedDb) {\n await this.deserialize(serializedDb);\n } else {\n await this.doConnect();\n\n setMany([\n [ccfDatabaseKey, this.serialize()],\n [lastModifiedKey, '' + start]\n ]).catch(() => undefined);\n }\n }\n\n /**\n * Actually connects to the database.\n *\n * @returns A promise resolving to void when connected.\n */\n private async doConnect(): Promise {\n const ops: Promise[] = [];\n const sources: (string|JsonLd)[] = this.options.dataSources?.concat() ?? [];\n\n const ccfOwlUrl = this.options.ccfOwlUrl;\n if (ccfOwlUrl.startsWith('{')) {\n // serialized n3 store was provided as the ccfOwlUrl\n this.store = deserializeN3Store(ccfOwlUrl, DataFactory);\n } else if (ccfOwlUrl.endsWith('.n3store.json')) {\n const storeString = await fetch(ccfOwlUrl).then(r => r.text())\n .catch(() => console.log('Couldn\\'t locate serialized store.'));\n if (storeString) {\n this.store = deserializeN3Store(storeString, DataFactory);\n }\n } else if (ccfOwlUrl?.length > 0) {\n sources.push(ccfOwlUrl);\n }\n if (this.options.hubmapDataUrl) {\n if (this.options.hubmapDataUrl.endsWith('jsonld')) {\n sources.push(this.options.hubmapDataUrl);\n } else {\n ops.push(searchHubmap(\n this.options.hubmapDataUrl,\n this.options.hubmapDataService,\n this.options.hubmapQuery,\n this.options.hubmapToken,\n this.options.hubmapAssetsUrl,\n this.options.hubmapPortalUrl\n ).then((jsonld) => {\n if (jsonld) {\n return this.addDataSources([jsonld]);\n } else {\n return undefined;\n }\n }));\n }\n }\n ops.push(this.addDataSources(sources));\n await Promise.all(ops);\n await this.synchronize();\n }\n\n async addDataSources(sources: (string|JsonLd)[], inputStore?: Store): Promise {\n const store: Store = inputStore ?? this.store;\n await Promise.all(\n sources.map(async (source) => {\n if (typeof source === 'string') {\n if ((source.startsWith('http') || source.startsWith('assets/')) && source.includes('jsonld')) {\n source = await fetch(source).then(r => r.text());\n source = patchJsonLd(source as string);\n await addJsonLdToStore(source, store);\n } else if (source.endsWith('n3')) {\n await addN3ToStore(source, store);\n } else if (source.endsWith('rdf') || source.endsWith('owl') || source.endsWith('xml')) {\n await addRdfXmlToStore(source, store);\n } else {\n // Passthrough assumes a JSON-LD response\n source = patchJsonLd(source);\n await addJsonLdToStore(source, store);\n }\n } else {\n source = patchJsonLd(JSON.stringify(source));\n await addJsonLdToStore(source, store);\n }\n })\n );\n return this;\n }\n\n async synchronize(): Promise {\n // Add a small delay to allow the triple store to settle\n await new Promise(r => {\n setTimeout(r, 500);\n });\n this.graph.createGraph();\n enrichRuiLocations(this.store);\n return this;\n }\n\n serialize(): string {\n return serializeN3Store(this.store);\n }\n\n async deserialize(value: string): Promise {\n this.store = deserializeN3Store(value, DataFactory);\n this.graph = new CCFSpatialGraph(this);\n this.scene = new CCFSpatialScene(this);\n await new Promise(r => {\n setTimeout(r, 10);\n });\n }\n\n /**\n * Gets all ids matching the filter.\n *\n * @param [filter] The filter.\n * @returns A set of all matching ids.\n */\n getIds(filter: Filter = {} as Filter): Set {\n return findIds(this.store, this.graph, filter);\n }\n\n /**\n * Gets the data for an object.\n *\n * @param id The id of the requested object.\n * @returns The object data.\n */\n get(id: string): Quad[] {\n return this.store.getQuads(DataFactory.namedNode(id), null, null, null);\n }\n\n /**\n * Gets the data for objects matching a filter.\n *\n * @param [filter] The filter.\n * @returns An array of data.\n */\n search(filter: Filter = {} as Filter): Quad[][] {\n return [...this.getIds(filter)].map((s) => this.get(s));\n }\n\n /**\n * Gets all spatial entities for a filter.\n *\n * @param [filter] The filter.\n * @returns A list of spatial entities.\n */\n getSpatialEntities(filter?: Filter): SpatialEntity[] {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n filter = { ...filter, hasSpatialEntity: true } as Filter;\n return [...this.getIds(filter)].map((s) => getSpatialEntityForEntity(this.store, s) as SpatialEntity);\n }\n\n async getDatabaseStatus(): Promise {\n if (!this.status) {\n this.status = new CCFDatabaseStatusTracker(this);\n }\n return this.status.toJson();\n }\n\n /**\n * Get a list of technology names used by datasets\n *\n * @returns list of unique technology names in the data\n */\n async getDatasetTechnologyNames(): Promise {\n return getDatasetTechnologyNames(this.store);\n }\n\n /**\n * Get a list of provider names from the database\n *\n * @returns list of unique provider names in the data\n */\n async getProviderNames(): Promise {\n return getProviderNames(this.store);\n }\n\n /**\n * Gets all tissue block results for a filter.\n *\n * @param [filter] The filter.\n * @returns A list of results.\n */\n async getTissueBlockResults(filter?: Filter): Promise {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n filter = { ...filter, hasSpatialEntity: true } as Filter;\n return [...this.getIds(filter)].map((s) => getTissueBlockResult(this.store, s));\n }\n\n /**\n * Gets all aggregate results for a filter.\n *\n * @param [filter] The filter.\n * @returns A list of aggregate data.\n */\n async getAggregateResults(filter?: Filter): Promise {\n return getAggregateResults(this.getIds(filter), this.store);\n }\n\n /**\n * Get number of occurrences of ontology terms for a set of ids.\n *\n * @param [filter] The filter.\n * @returns Ontology term counts.\n */\n async getOntologyTermOccurences(filter?: Filter): Promise> {\n return getOntologyTermOccurences(this.getIds(filter), this.store);\n }\n\n /**\n * Get number of occurrences of cell type terms for a set of ids.\n *\n * @param [filter] The filter.\n * @returns Cell type term counts.\n */\n async getCellTypeTermOccurences(filter?: Filter): Promise> {\n return getCellTypeTermOccurences(this.getIds(filter), this.store);\n }\n\n /**\n * Get ontology term tree nodes\n *\n * @returns Ontology term counts.\n */\n async getOntologyTreeModel(): Promise {\n return getAnatomicalStructureTreeModel(this.store);\n }\n\n /**\n * Get cell type term tree nodes\n *\n * @returns Ontology term counts.\n */\n async getCellTypeTreeModel(): Promise {\n return getCellTypeTreeModel(this.store);\n }\n\n /**\n * Get reference organs\n *\n * @returns Ontology term counts.\n */\n async getReferenceOrgans(): Promise {\n return this.scene.getReferenceOrgans();\n }\n\n /**\n * Get all nodes to form the 3D scene of reference body, organs, and tissues\n *\n * @param [filter] The filter.\n * @returns A list of Spatial Scene Nodes for the 3D Scene\n */\n async getScene(filter?: Filter): Promise {\n this.graph.createGraph();\n return this.scene.getScene(filter);\n }\n\n /**\n * Get all nodes to form the 3D scene of reference organ and tissues\n *\n * @param [organIri] The Reference Organ IRI\n * @param [filter] The filter.\n * @returns A list of Spatial Scene Nodes for the 3D Scene\n */\n async getReferenceOrganScene(organIri: string, filter?: Filter): Promise {\n this.graph.createGraph();\n return this.scene.getReferenceOrganScene(organIri, filter);\n }\n\n async getSpatialPlacement(source: SpatialEntity, targetIri: string): Promise {\n return this.graph.getSpatialPlacement(source, targetIri);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CCFDatabaseStatusTracker.html":{"url":"classes/CCFDatabaseStatusTracker.html","title":"class - CCFDatabaseStatusTracker","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CCFDatabaseStatusTracker\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n database\n \n \n Optional\n loadTime\n \n \n Optional\n message\n \n \n status\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n connect\n \n \n toJson\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(database: CCFDatabase)\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n database\n \n \n CCFDatabase\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n database\n \n \n \n \n \n \n Type : CCFDatabase\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n loadTime\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : \"Ready\" | \"Loading\" | \"Error\"\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n connect\n \n \n \n \n \n \n \n connect()\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:23\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n toJson\n \n \n \n \n \n \ntoJson()\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts:14\n \n \n\n\n \n \n\n \n Returns : DatabaseStatus\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DatabaseStatus } from '../interfaces';\nimport { CCFDatabase } from '../ccf-database';\n\n\nexport class CCFDatabaseStatusTracker {\n status: 'Ready' | 'Loading' | 'Error';\n message?: string;\n loadTime?: number;\n\n constructor(public database: CCFDatabase) {\n this.connect();\n }\n\n toJson(): DatabaseStatus {\n return {\n status: this.status,\n message: this.message,\n checkback: this.status === 'Ready' || this.status === 'Error' ? 60 * 60 * 1000 : 2000,\n loadTime: this.loadTime\n };\n }\n\n private connect(): Promise {\n this.status = 'Loading';\n this.message = 'Loading database';\n\n const startTime = Date.now();\n return this.database.connect()\n .then(async (loaded) => {\n if (loaded) {\n // Warm up the database\n this.message = 'Building scene';\n await this.database.getScene();\n this.message = 'Building tissue block results';\n await this.database.getTissueBlockResults();\n this.message = 'Aggregating results';\n await this.database.getAggregateResults();\n this.status = 'Ready';\n this.message = 'Database successfully loaded';\n } else {\n this.status = 'Error';\n this.message = 'Unknown error while loading database';\n }\n })\n .catch((error: { message?: string }) => {\n this.status = 'Error';\n this.message = error?.message ?? 'Unknown error while loading database';\n })\n .finally(() => {\n this.loadTime = Date.now() - startTime;\n });\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CCFSpatialGraph.html":{"url":"classes/CCFSpatialGraph.html","title":"class - CCFSpatialGraph","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CCFSpatialGraph\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/ccf-spatial-graph.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n graph\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addEdge\n \n \n addNode\n \n \n createGraph\n \n \n getSpatialPlacement\n \n \n getTransformationMatrix\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(db: CCFDatabase)\n \n \n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:41\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n db\n \n \n CCFDatabase\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n graph\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:41\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addEdge\n \n \n \n \n \n \naddEdge(id: string, source: string, target: string, type: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n source\n \n string\n \n\n \n No\n \n\n\n \n \n target\n \n string\n \n\n \n No\n \n\n\n \n \n type\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addNode\n \n \n \n \n \n \naddNode(id: string, type: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n type\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n createGraph\n \n \n \n \n \n \ncreateGraph()\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:47\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getSpatialPlacement\n \n \n \n \n \n \ngetSpatialPlacement(source: SpatialEntity, targetIri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:110\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n SpatialEntity\n \n\n \n No\n \n\n\n \n \n targetIri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : FlatSpatialPlacement | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTransformationMatrix\n \n \n \n \n \n \ngetTransformationMatrix(sourceIRI: string, targetIRI: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-graph.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sourceIRI\n \n string\n \n\n \n No\n \n\n\n \n \n targetIRI\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Matrix4 | undefined\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Euler, Matrix4, toDegrees, toRadians } from '@math.gl/core';\nimport { DirectedGraph } from 'graphology';\nimport shortestPath from 'graphology-shortest-path/unweighted';\nimport { get } from 'lodash';\nimport { readQuads } from 'triple-store-utils';\nimport { v4 as uuidV4 } from 'uuid';\n\nimport { CCFDatabase } from './ccf-database';\nimport { getSpatialPlacement } from './queries/spatial-result-n3';\nimport { FlatSpatialPlacement, SpatialEntity, SpatialPlacement } from './spatial-types';\nimport { ccf, rdf } from './util/prefixes';\n\n\nexport function applySpatialPlacement(tx: Matrix4, placement: SpatialPlacement): Matrix4 {\n const p = placement;\n let factor: number;\n switch (p.translation_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const T = [p.x_translation, p.y_translation, p.z_translation].map(t => t * factor);\n const R = [p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number];\n const S = [p.x_scaling, p.y_scaling, p.z_scaling];\n\n return tx.translate(T).rotateXYZ(R).scale(S);\n}\n\nexport class CCFSpatialGraph {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n graph: any;\n\n constructor(private db: CCFDatabase) {\n this.createGraph();\n }\n\n createGraph(): void {\n this.graph = new DirectedGraph();\n const store = this.db.store;\n\n // Add all Spatial Object References\n store.forSubjects((subject) => {\n this.addNode(subject.id, 'SpatialObjectReference');\n }, rdf.type, ccf.SpatialObjectReference, null);\n\n // Add all Spatial Entities\n store.forSubjects((subject) => {\n this.addNode(subject.id, 'SpatialEntity');\n }, rdf.type, ccf.SpatialEntity, null);\n\n // Add all Spatial Placements\n const edgeSource: Record = {};\n for (const quad of readQuads(store, null, ccf.spatialPlacement.source, null, null)) {\n edgeSource[quad.subject.id] = quad.object.id;\n }\n for (const quad of readQuads(store, null, ccf.spatialPlacement.target, null, null)) {\n const source = edgeSource[quad.subject.id];\n if (source) {\n this.addEdge(quad.subject.id, source, quad.object.id, 'SpatialPlacement');\n }\n }\n }\n\n addNode(id: string, type: string): void {\n this.graph.mergeNode(id, { type });\n }\n\n addEdge(id: string, source: string, target: string, type: string): void {\n this.graph.mergeDirectedEdge(source, target, { type, id });\n }\n\n getTransformationMatrix(sourceIRI: string, targetIRI: string): Matrix4 | undefined {\n if (sourceIRI === targetIRI) {\n return new Matrix4(Matrix4.IDENTITY); // identity\n }\n if (!this.graph.hasNode(sourceIRI) || !this.graph.hasNode(targetIRI)) {\n return undefined;\n }\n\n const store = this.db.store;\n const tx = new Matrix4(Matrix4.IDENTITY);\n const path = shortestPath(this.graph, sourceIRI, targetIRI);\n if (path && path.length > 0) {\n path.reverse();\n let target: string | number = '';\n for (const source of path) {\n if (target) {\n const placementId = this.graph.getEdgeAttribute(source, target, 'id');\n const placement = getSpatialPlacement(store, placementId);\n applySpatialPlacement(tx, placement);\n }\n target = source;\n }\n return tx;\n } else {\n return undefined;\n }\n }\n\n getSpatialPlacement(source: SpatialEntity, targetIri: string): FlatSpatialPlacement | undefined {\n const sourceIri = this.graph.hasNode(source['@id']) ? source['@id'] : undefined;\n const placement: SpatialPlacement = get(source, 'placement[0]', get(source, 'placement', undefined));\n\n let matrix: Matrix4 | undefined;\n if (placement && this.graph.hasNode(placement.target)) {\n matrix = this.getTransformationMatrix(placement.target as unknown as string, targetIri);\n if (matrix) {\n matrix = applySpatialPlacement(matrix, placement);\n }\n } else if (sourceIri) {\n matrix = this.getTransformationMatrix(sourceIri, targetIri);\n }\n\n if (matrix) {\n const euler = new Euler().fromRotationMatrix(matrix, Euler.XYZ);\n const T = matrix.getTranslation().map(n => n * 1000) as [number, number, number];\n const R = euler.toVector3().map(toDegrees) as [number, number, number];\n const S = matrix.getScale().map(n => n 0.999999 ? 1 : n) as [number, number, number];\n\n return {\n '@context': 'https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${uuidV4()}_placement`,\n '@type': 'SpatialPlacement',\n source: source['@id'],\n target: targetIri,\n placement_date: new Date().toISOString().split('T')[0],\n x_scaling: S[0],\n y_scaling: S[1],\n z_scaling: S[2],\n scaling_units: 'ratio',\n x_rotation: R[0],\n y_rotation: R[1],\n z_rotation: R[2],\n rotation_order: 'XYZ',\n rotation_units: 'degree',\n x_translation: T[0],\n y_translation: T[1],\n z_translation: T[2],\n translation_units: 'millimeter'\n };\n } else {\n return undefined;\n }\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CCFSpatialScene.html":{"url":"classes/CCFSpatialScene.html","title":"class - CCFSpatialScene","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CCFSpatialScene\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getAnatomicalStructures\n \n \n getEntitySceneNodes\n \n \n getExtractionSet\n \n \n getExtractionSets\n \n \n getReferenceBody\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getReferenceOrganSets\n \n \n getReferenceSceneNodes\n \n \n getScene\n \n \n getSceneNode\n \n \n getSpatialEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(db: CCFDatabase)\n \n \n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:38\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n db\n \n \n CCFDatabase\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getAnatomicalStructures\n \n \n \n \n \n \ngetAnatomicalStructures(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getEntitySceneNodes\n \n \n \n \n \n \ngetEntitySceneNodes(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:149\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getExtractionSet\n \n \n \n \n \n \ngetExtractionSet(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ExtractionSet\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getExtractionSets\n \n \n \n \n \n \ngetExtractionSets(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ExtractionSet[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceBody\n \n \n \n \n \n \ngetReferenceBody(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:54\n \n \n\n\n \n \n\n \n Returns : SpatialEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:130\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganSets\n \n \n \n \n \n \ngetReferenceOrganSets(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferenceSceneNodes\n \n \n \n \n \n \ngetReferenceSceneNodes(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:198\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getSceneNode\n \n \n \n \n \n \ngetSceneNode(source: SpatialEntity, target: SpatialEntity, nodeAttrs: Partial)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:156\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n source\n \n SpatialEntity\n \n\n \n No\n \n\n \n \n\n \n \n target\n \n SpatialEntity\n \n\n \n No\n \n\n \n \n\n \n \n nodeAttrs\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getSpatialEntity\n \n \n \n \n \n \ngetSpatialEntity(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-database/src/lib/ccf-spatial-scene.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Matrix4, toRadians } from '@math.gl/core';\n\nimport { CCFDatabase } from './ccf-database';\nimport { Filter } from './interfaces';\nimport {\n getAnatomicalStructures, getExtractionSet, getExtractionSets, getReferenceOrgans, getSpatialEntity,\n} from './queries/spatial-result-n3';\nimport { ExtractionSet, SpatialEntity } from './spatial-types';\nimport { ccf } from './util/prefixes';\n\n\nexport type SpatialSceneGeometry = 'sphere' | 'cube' | 'wireframe' | 'text' | 'cone' | 'cylinder';\n\nexport interface SpatialSceneNode {\n '@id': string;\n '@type': string;\n entityId?: string;\n ccf_annotations?: string[];\n representation_of?: string;\n reference_organ?: string;\n unpickable?: boolean;\n geometry?: SpatialSceneGeometry;\n text?: string;\n _lighting?: string;\n scenegraph?: string;\n scenegraphNode?: string;\n zoomBasedOpacity?: boolean;\n zoomToOnLoad?: boolean;\n color?: [number, number, number, number];\n opacity?: number;\n transformMatrix: Matrix4;\n name?: string;\n tooltip?: string;\n priority?: number;\n}\n\nexport class CCFSpatialScene {\n\n constructor(private db: CCFDatabase) {}\n\n getSpatialEntity(iri: string): SpatialEntity {\n return getSpatialEntity(this.db.store, iri);\n }\n getExtractionSets(iri: string): ExtractionSet[] {\n return getExtractionSets(this.db.store, iri);\n }\n getExtractionSet(iri: string): ExtractionSet {\n return getExtractionSet(this.db.store, iri);\n }\n getAnatomicalStructures(iri: string): SpatialEntity[] {\n return getAnatomicalStructures(this.db.store, iri);\n }\n getReferenceOrgans(): SpatialEntity[] {\n return getReferenceOrgans(this.db.store);\n }\n\n getReferenceBody(filter?: Filter): SpatialEntity {\n let bodyId: string;\n switch (filter?.sex) {\n case 'Male':\n bodyId = ccf.spatial.Male.id;\n break;\n case 'Female':\n bodyId = ccf.spatial.Female.id;\n break;\n case 'Both':\n default:\n bodyId = ccf.spatial.BothSexes.id;\n break;\n }\n return this.getSpatialEntity(bodyId);\n }\n\n getReferenceOrganSets(filter?: Filter): SpatialEntity[] {\n let organSet = this.getReferenceOrgans();\n switch (filter?.sex) {\n case 'Male':\n organSet = organSet.filter(s => s.sex === 'Male');\n break;\n case 'Female':\n organSet = organSet.filter(s => s.sex === 'Female');\n break;\n case 'Both':\n default:\n break;\n }\n if (filter?.debug) {\n organSet = organSet.map(o => [ [o], this.getAnatomicalStructures(o['@id'])])\n .reduce((acc, [organ, structures]) => acc.concat(structures.length > 0 ? structures : organ), []);\n }\n return organSet;\n }\n\n getReferenceSceneNodes(filter?: Filter): SpatialSceneNode[] {\n const body = this.getReferenceBody(filter);\n const skinNodes: SpatialSceneNode[] = [];\n let nodes: (SpatialSceneNode | undefined)[] = [\n ...this.getReferenceOrganSets(filter).map((organ) => {\n const isSkin = organ.representation_of === 'http://purl.obolibrary.org/obo/UBERON_0002097';\n const sceneNode = this.getSceneNode(organ, body, {\n color: [255, 255, 255, 255], opacity: isSkin ? 0.5 : 0.2, unpickable: true, _lighting: 'pbr', zoomBasedOpacity: !isSkin\n });\n if (isSkin && sceneNode) {\n skinNodes.push(sceneNode);\n return undefined;\n } else {\n return sceneNode;\n }\n })\n ];\n if (skinNodes.length > 0) {\n nodes = [...skinNodes, ...nodes];\n }\n\n if (filter?.debug) {\n // Debug bounding boxes\n nodes = nodes.concat([\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHRightKidney').id), body, { color: [0, 0, 255, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHLeftKidney').id), body, { color: [255, 0, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHSpleenCC1').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHSpleenCC2').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHSpleenCC3').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' })\n ]);\n }\n\n return nodes.filter(s => s !== undefined) as SpatialSceneNode[];\n }\n\n getReferenceOrganScene(organIri: string, filter?: Filter): SpatialSceneNode[] {\n const hasSexFilter = filter?.sex !== undefined && filter?.sex?.toLowerCase() !== 'both';\n const organs = this.getReferenceOrgans().filter((o) => o.representation_of === organIri && (!hasSexFilter || o.sex === filter?.sex));\n if (organs.length > 0) {\n const organ = organs[0];\n const isSkin = organ.representation_of === 'http://purl.obolibrary.org/obo/UBERON_0002097';\n const organNode = this.getSceneNode(organ, organ, {\n color: [255, 255, 255, 255], opacity: isSkin ? 0.5 : 0.2, unpickable: true, _lighting: 'pbr'\n }) as SpatialSceneNode;\n\n const scene = (this.db.getSpatialEntities(filter) ?? []).map((entity) =>\n this.getSceneNode(entity, organ, { color: [255, 255, 255, 0.9*255] })\n ) as SpatialSceneNode[];\n return [organNode].concat(scene).filter(n => n !== undefined);\n } else {\n return [];\n }\n }\n\n getEntitySceneNodes(filter?: Filter): SpatialSceneNode[] {\n const body = this.getReferenceBody(filter);\n return this.db.getSpatialEntities(filter).map((entity) =>\n this.getSceneNode(entity, body, { color: [255, 255, 255, 0.9*255] })\n ).filter(s => s !== undefined) as SpatialSceneNode[];\n }\n\n getSceneNode(source: SpatialEntity, target: SpatialEntity, nodeAttrs: Partial = {}): SpatialSceneNode | undefined {\n const has3dObject = source?.object?.file_format?.startsWith('model/gltf');\n const sourceID = has3dObject && source.object ? source.object['@id'] : source['@id'];\n let transform = this.db.graph.getTransformationMatrix(sourceID, target['@id']);\n if (transform) {\n if (has3dObject) {\n transform = new Matrix4(Matrix4.IDENTITY).rotateX(toRadians(90)).multiplyLeft(transform);\n } else {\n // Scale visible bounding boxes to the desired dimensions\n let factor: number;\n switch (source.dimension_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const scale = [source.x_dimension, source.y_dimension, source.z_dimension].map(dim => dim * factor / 2);\n transform.scale(scale);\n }\n return {\n '@id': source['@id'], '@type': 'SpatialSceneNode',\n entityId: source.entityId,\n ccf_annotations: source.ccf_annotations,\n representation_of: source.representation_of,\n reference_organ: source.reference_organ,\n scenegraph: has3dObject ? source.object?.file : undefined,\n scenegraphNode: has3dObject ? source.object?.file_subpath : undefined,\n transformMatrix: transform,\n tooltip: source.label,\n ...nodeAttrs\n };\n } else {\n return undefined;\n }\n }\n\n getScene(filter?: Filter): SpatialSceneNode[] {\n return [\n ...this.getReferenceSceneNodes(filter),\n ...this.getEntitySceneNodes(filter)\n ];\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DatabaseStatus.html":{"url":"interfaces/DatabaseStatus.html","title":"interface - DatabaseStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DatabaseStatus\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Status of the database\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n checkback\n \n \n \n Optional\n \n loadTime\n \n \n \n Optional\n \n message\n \n \n \n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n checkback\n \n \n \n \n \n \n \n \n checkback: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n How long to wait (in milliseconds) before checking status again\n\n \n \n \n \n \n \n \n \n \n loadTime\n \n \n \n \n \n \n \n \n loadTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n The amount of time (in milliseconds) taken to load the database\n\n \n \n \n \n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Human readable description of the current status\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: \"Ready\" | \"Loading\" | \"Error\"\n\n \n \n\n\n \n \n Type : \"Ready\" | \"Loading\" | \"Error\"\n\n \n \n\n\n\n\n\n \n \n Status of the database\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DatasetResult.html":{"url":"interfaces/DatasetResult.html","title":"interface - DatasetResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DatasetResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Dataset List Result\n\n \n\n \n Extends\n \n \n ListResultItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @type\n \n \n \n \n technology\n \n \n \n \n thumbnail\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n technology\n \n \n \n \n \n \n \n \n technology: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Technology used in data\n\n \n \n \n \n \n \n \n \n \n thumbnail\n \n \n \n \n \n \n \n \n thumbnail: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Representative thumbnail URL\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DonorResult.html":{"url":"interfaces/DonorResult.html","title":"interface - DonorResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DonorResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Donor List Result\n\n \n\n \n Extends\n \n \n ListResultItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @type\n \n \n \n \n providerName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n providerName\n \n \n \n \n \n \n \n \n providerName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Provider Name\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExtractionSet.html":{"url":"interfaces/ExtractionSet.html","title":"interface - ExtractionSet","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExtractionSet\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n \n Description\n \n \n A set of extraction sites\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n extractionSites\n \n \n \n \n label\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n Type name\n\n \n \n \n \n \n \n \n \n \n extractionSites\n \n \n \n \n \n \n \n \n extractionSites: SpatialEntity[]\n\n \n \n\n\n \n \n Type : SpatialEntity[]\n\n \n \n\n\n\n\n\n \n \n The list of extraction sites in this set\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Entity label\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Filter.html":{"url":"interfaces/Filter.html","title":"interface - Filter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Filter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Options applied during queries\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ageRange\n \n \n \n \n bmiRange\n \n \n \n \n cellTypeTerms\n \n \n \n Optional\n \n debug\n \n \n \n \n ontologyTerms\n \n \n \n \n sex\n \n \n \n \n spatialSearches\n \n \n \n \n technologies\n \n \n \n \n tmc\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ageRange\n \n \n \n \n \n \n \n \n ageRange: [number, number]\n\n \n \n\n\n \n \n Type : [number, number]\n\n \n \n\n\n\n\n\n \n \n Age range\n\n \n \n \n \n \n \n \n \n \n bmiRange\n \n \n \n \n \n \n \n \n bmiRange: [number, number]\n\n \n \n\n\n \n \n Type : [number, number]\n\n \n \n\n\n\n\n\n \n \n BMI range\n\n \n \n \n \n \n \n \n \n \n cellTypeTerms\n \n \n \n \n \n \n \n \n cellTypeTerms: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n CellType terms\n\n \n \n \n \n \n \n \n \n \n debug\n \n \n \n \n \n \n \n \n debug: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Include optional debugging information\n\n \n \n \n \n \n \n \n \n \n ontologyTerms\n \n \n \n \n \n \n \n \n ontologyTerms: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Ontology terms\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"Both\" | \"Male\" | \"Female\"\n\n \n \n\n\n \n \n Type : \"Both\" | \"Male\" | \"Female\"\n\n \n \n\n\n\n\n\n \n \n Sex\n\n \n \n \n \n \n \n \n \n \n spatialSearches\n \n \n \n \n \n \n \n \n spatialSearches: SpatialSearch[]\n\n \n \n\n\n \n \n Type : SpatialSearch[]\n\n \n \n\n\n\n\n\n \n \n spatial search\n\n \n \n \n \n \n \n \n \n \n technologies\n \n \n \n \n \n \n \n \n technologies: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Technologies\n\n \n \n \n \n \n \n \n \n \n tmc\n \n \n \n \n \n \n \n \n tmc: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n TMC\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FlatSpatialPlacement.html":{"url":"interfaces/FlatSpatialPlacement.html","title":"interface - FlatSpatialPlacement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FlatSpatialPlacement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n\n \n Extends\n \n \n SpatialPlacementCommon\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n source\n \n \n \n \n target\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Source entity iri\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Target entity iri\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ListResultItem.html":{"url":"interfaces/ListResultItem.html","title":"interface - ListResultItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ListResultItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n List result\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n description\n \n \n \n \n label\n \n \n \n \n link\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Description\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Label\n\n \n \n \n \n \n \n \n \n \n link\n \n \n \n \n \n \n \n \n link: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Associated URL\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OntologyTreeModel.html":{"url":"interfaces/OntologyTreeModel.html","title":"interface - OntologyTreeModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OntologyTreeModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Ontology tree model\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n nodes\n \n \n \n \n root\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n nodes\n \n \n \n \n \n \n \n \n nodes: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n Mapping from id/IRI to ontology node instance\n\n \n \n \n \n \n \n \n \n \n root\n \n \n \n \n \n \n \n \n root: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n id of the root node of the ontology\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OntologyTreeNode.html":{"url":"interfaces/OntologyTreeNode.html","title":"interface - OntologyTreeNode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OntologyTreeNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n A node in the ontology\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n children\n \n \n \n \n id\n \n \n \n \n label\n \n \n \n \n parent\n \n \n \n \n synonymLabels\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier / IRI\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n children\n \n \n \n \n \n \n \n \n children: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Child ontology nodes\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier / IRI\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n RDFS label\n\n \n \n \n \n \n \n \n \n \n parent\n \n \n \n \n \n \n \n \n parent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Parent ontology node\n\n \n \n \n \n \n \n \n \n \n synonymLabels\n \n \n \n \n \n \n \n \n synonymLabels: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Synonym labels\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SearchResultJson.html":{"url":"interfaces/SearchResultJson.html","title":"interface - SearchResultJson","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SearchResultJson\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n hits\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n hits\n \n \n \n \n \n \n \n \n hits: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { JsonLd } from 'jsonld/jsonld-spec';\nimport { addJsonLdToStore, Store } from 'triple-store-utils';\n\nimport { hubmapResponseAsJsonLd } from './hubmap-data';\n\n\ninterface SearchResultJson {\n hits: {\n hits: unknown[];\n total: {\n value: number;\n };\n };\n}\n\n\n// Reduce this value if including more data fields\nconst PER_API_SEARCH_REQUEST_COUNT = 10000;\n\nconst INCLUDED_DATA_FIELDS = [\n 'uuid', 'entity_type',\n 'group_uuid', 'group_name',\n 'last_modified_timestamp', 'created_by_user_displayname',\n 'ancestors.entity_type',\n 'ancestors.description',\n 'ancestors.metadata.organ_donor_data.preferred_term',\n 'ancestors.metadata.organ_donor_data.data_value',\n 'ancestors.metadata.living_donor_data.preferred_term',\n 'ancestors.metadata.living_donor_data.data_value',\n 'ancestors.last_modified_timestamp',\n 'ancestors.group_uuid',\n 'ancestors.group_name',\n 'ancestors.created_by_user_displayname',\n 'ancestors.uuid',\n 'descendants.entity_type',\n 'descendants.ingest_metadata.metadata.tissue_id',\n 'descendants.last_modified_timestamp',\n 'descendants.group_uuid',\n 'descendants.group_name',\n 'descendants.created_by_user_displayname',\n 'descendants.uuid',\n 'descendants.data_types',\n 'descendants.ingest_metadata.metadata.assay_type',\n 'descendants.thumbnail_file',\n 'descendants.metadata.files.rel_path',\n 'rui_location', 'sample_category'\n];\n\nconst DEFAULT_API_SEARCH_QUERY: unknown = {\n exists: {\n field: 'rui_location'\n }\n};\n\nfunction getApiSearchHeaders(token?: string): Headers {\n const headers = new Headers();\n\n headers.append('Content-type', 'application/json');\n if (token) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n return headers;\n}\n\nfunction getApiSearchBody(from: number, size: number, query?: unknown): string {\n const bodyObj = {\n version: true,\n from,\n size,\n stored_fields: ['*'],\n script_fields: {},\n docvalue_fields: [],\n query: query ?? DEFAULT_API_SEARCH_QUERY,\n _source: {\n includes: INCLUDED_DATA_FIELDS\n }\n };\n\n return JSON.stringify(bodyObj);\n}\n\nasync function doSearchRequest(\n url: string, init?: RequestInit\n): Promise {\n try {\n const res = await fetch(url, init);\n const text = await res.text();\n const validResponse = res.ok || text.startsWith('https');\n if (validResponse) {\n if (text.startsWith('https')) {\n return await fetch(text).then((r) => r.json());\n } else {\n return JSON.parse(text);\n }\n }\n return undefined;\n } catch (_error) {\n return undefined;\n }\n}\n\nasync function doApiSearch(\n url: string, token?: string, query?: unknown\n): Promise {\n const perReqCount = PER_API_SEARCH_REQUEST_COUNT;\n const headers = getApiSearchHeaders(token);\n const body = getApiSearchBody(0, perReqCount, query);\n const firstResult = await doSearchRequest(url, { method: 'POST', headers, body });\n if (!firstResult) {\n return undefined;\n }\n\n const totalCount = firstResult.hits.total.value;\n if (totalCount [] = [];\n for (let from = perReqCount; from !res)) {\n return undefined;\n }\n\n const items = results.map(res => res!.hits.hits);\n return {\n ...firstResult,\n hits: {\n ...firstResult.hits,\n hits: firstResult.hits.hits.concat(...items),\n }\n };\n}\n\n/**\n * Search the HuBMAP Search API and return CCF-compatible JSON-LD data\n *\n * @param dataUrl the search API url\n * @param serviceType 'static' if a statically saved response or 'search-api' if querying the search-api live\n * @param query the elastic search query to use\n * @param serviceToken the api key to the search-api\n * @param assetsApi the assets api endpoint\n * @param portalUrl the portal url to point to\n * @returns CCF-compatible JSON-LD data or undefined on error\n */\nexport async function searchHubmap(\n dataUrl: string, serviceType: 'static' | 'search-api',\n query?: unknown, serviceToken?: string, assetsApi = '', portalUrl = ''\n): Promise {\n let hubmapData: SearchResultJson | undefined;\n if (serviceType === 'static') {\n hubmapData = await doSearchRequest(dataUrl);\n } else if (serviceType === 'search-api') {\n hubmapData = await doApiSearch(dataUrl, serviceToken, query);\n }\n\n if (hubmapData) {\n return hubmapResponseAsJsonLd(hubmapData, assetsApi, portalUrl, serviceToken);\n } else {\n console.warn(`Unable to load ${dataUrl} as HuBMAP Data`);\n return undefined;\n }\n}\n\n/**\n * Adds hubmap data from a url to the triple store.\n *\n * @param store The triple store.\n * @param dataUrl The data url.\n * @param serviceType The service type.\n */\nexport async function addHubmapDataToStore(\n store: Store, dataUrl: string, serviceType: 'static' | 'search-api', serviceToken?: string, assetsApi = '', portalUrl = ''\n): Promise {\n const hubmapData = await searchHubmap(dataUrl, serviceType, undefined, serviceToken, assetsApi, portalUrl);\n if (hubmapData) {\n await addJsonLdToStore(hubmapData, store);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SearchableItem.html":{"url":"interfaces/SearchableItem.html","title":"interface - SearchableItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SearchableItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Item that can be searched for\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n age\n \n \n \n Optional\n \n bmi\n \n \n \n Optional\n \n cellTypeTerms\n \n \n \n \n id\n \n \n \n Optional\n \n ontologyTerms\n \n \n \n Optional\n \n sex\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n age\n \n \n \n \n \n \n \n \n age: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Age\n\n \n \n \n \n \n \n \n \n \n bmi\n \n \n \n \n \n \n \n \n bmi: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n BMI\n\n \n \n \n \n \n \n \n \n \n cellTypeTerms\n \n \n \n \n \n \n \n \n cellTypeTerms: Set\n\n \n \n\n\n \n \n Type : Set\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n CellType terms\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n ontologyTerms\n \n \n \n \n \n \n \n \n ontologyTerms: Set\n\n \n \n\n\n \n \n Type : Set\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Ontology terms\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"Male\" | \"Female\"\n\n \n \n\n\n \n \n Type : \"Male\" | \"Female\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Sex\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialEntity.html":{"url":"interfaces/SpatialEntity.html","title":"interface - SpatialEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n \n Description\n \n \n A spatial entity\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n Optional\n \n ccf_annotations\n \n \n \n Optional\n \n color\n \n \n \n Optional\n \n comment\n \n \n \n Optional\n \n creation_date\n \n \n \n Optional\n \n creator\n \n \n \n Optional\n \n creator_first_name\n \n \n \n Optional\n \n creator_last_name\n \n \n \n Optional\n \n creator_orcid\n \n \n \n \n dimension_units\n \n \n \n Optional\n \n entityId\n \n \n \n Optional\n \n label\n \n \n \n Optional\n \n object\n \n \n \n Optional\n \n reference_organ\n \n \n \n Optional\n \n representation_of\n \n \n \n Optional\n \n rui_rank\n \n \n \n \n sex\n \n \n \n \n side\n \n \n \n Optional\n \n slice_count\n \n \n \n Optional\n \n slice_thickness\n \n \n \n \n x_dimension\n \n \n \n \n y_dimension\n \n \n \n \n z_dimension\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n Type name\n\n \n \n \n \n \n \n \n \n \n ccf_annotations\n \n \n \n \n \n \n \n \n ccf_annotations: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Annotations (a set of IRIs)\n\n \n \n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: [number, number, number, number]\n\n \n \n\n\n \n \n Type : [number, number, number, number]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Coloring\n\n \n \n \n \n \n \n \n \n \n comment\n \n \n \n \n \n \n \n \n comment: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Entity comment\n\n \n \n \n \n \n \n \n \n \n creation_date\n \n \n \n \n \n \n \n \n creation_date: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creation date\n\n \n \n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n \n \n creator: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creator\n\n \n \n \n \n \n \n \n \n \n creator_first_name\n \n \n \n \n \n \n \n \n creator_first_name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creator first name\n\n \n \n \n \n \n \n \n \n \n creator_last_name\n \n \n \n \n \n \n \n \n creator_last_name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creator last name\n\n \n \n \n \n \n \n \n \n \n creator_orcid\n \n \n \n \n \n \n \n \n creator_orcid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Creator identifier\n\n \n \n \n \n \n \n \n \n \n dimension_units\n \n \n \n \n \n \n \n \n dimension_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units dimensions are in\n\n \n \n \n \n \n \n \n \n \n entityId\n \n \n \n \n \n \n \n \n entityId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n IRI of the Entity this Spatial Entity represents\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Entity label\n\n \n \n \n \n \n \n \n \n \n object\n \n \n \n \n \n \n \n \n object: SpatialObjectReference\n\n \n \n\n\n \n \n Type : SpatialObjectReference\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Data references\n\n \n \n \n \n \n \n \n \n \n reference_organ\n \n \n \n \n \n \n \n \n reference_organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Specifies if this is an anatomical structure of this organ (IRI)\n\n \n \n \n \n \n \n \n \n \n representation_of\n \n \n \n \n \n \n \n \n representation_of: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Annotation (IRI) that says what this entity represents\n\n \n \n \n \n \n \n \n \n \n rui_rank\n \n \n \n \n \n \n \n \n rui_rank: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Ranking used in the RUI for ordering lists\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"Male\" | \"Female\" | undefined\n\n \n \n\n\n \n \n Type : \"Male\" | \"Female\" | undefined\n\n \n \n\n\n\n\n\n \n \n Specifies (where applicable) if this entity came from a Male or Female\n\n \n \n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: \"Left\" | \"Right\" | undefined\n\n \n \n\n\n \n \n Type : \"Left\" | \"Right\" | undefined\n\n \n \n\n\n\n\n\n \n \n Specifies (where applicable) if this entity came from the left or right side organ\n\n \n \n \n \n \n \n \n \n \n slice_count\n \n \n \n \n \n \n \n \n slice_count: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n The number of slices taken out of this spatial entity\n\n \n \n \n \n \n \n \n \n \n slice_thickness\n \n \n \n \n \n \n \n \n slice_thickness: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n The thickness (in nanometers) of slices taken out of this spatial entity\n\n \n \n \n \n \n \n \n \n \n x_dimension\n \n \n \n \n \n \n \n \n x_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n X-dimension\n\n \n \n \n \n \n \n \n \n \n y_dimension\n \n \n \n \n \n \n \n \n y_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Y-dimension\n\n \n \n \n \n \n \n \n \n \n z_dimension\n \n \n \n \n \n \n \n \n z_dimension: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Z-dimension\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialObjectReference.html":{"url":"interfaces/SpatialObjectReference.html","title":"interface - SpatialObjectReference","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialObjectReference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n \n Description\n \n \n A reference to a spatial object\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n file\n \n \n \n \n file_format\n \n \n \n Optional\n \n file_subpath\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n Type name\n\n \n \n \n \n \n \n \n \n \n file\n \n \n \n \n \n \n \n \n file: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Data file name\n\n \n \n \n \n \n \n \n \n \n file_format\n \n \n \n \n \n \n \n \n file_format: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Data format\n\n \n \n \n \n \n \n \n \n \n file_subpath\n \n \n \n \n \n \n \n \n file_subpath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n File subpath\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialPlacement.html":{"url":"interfaces/SpatialPlacement.html","title":"interface - SpatialPlacement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialPlacement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n\n \n Extends\n \n \n SpatialPlacementCommon\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n source\n \n \n \n \n target\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: SpatialEntity | SpatialObjectReference\n\n \n \n\n\n \n \n Type : SpatialEntity | SpatialObjectReference\n\n \n \n\n\n\n\n\n \n \n Source entity\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: SpatialEntity\n\n \n \n\n\n \n \n Type : SpatialEntity\n\n \n \n\n\n\n\n\n \n \n Target entity\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialPlacementCommon.html":{"url":"interfaces/SpatialPlacementCommon.html","title":"interface - SpatialPlacementCommon","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialPlacementCommon\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n\n\n \n Description\n \n \n Object describing the placement of an entity\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n @context\n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n \n placement_date\n \n \n \n Optional\n \n rotation_order\n \n \n \n \n rotation_units\n \n \n \n \n scaling_units\n \n \n \n \n translation_units\n \n \n \n Optional\n \n w_rotation\n \n \n \n \n x_rotation\n \n \n \n \n x_scaling\n \n \n \n \n x_translation\n \n \n \n \n y_rotation\n \n \n \n \n y_scaling\n \n \n \n \n y_translation\n \n \n \n \n z_rotation\n \n \n \n \n z_scaling\n \n \n \n \n z_translation\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @context\n \n \n \n \n \n \n \n \n @context: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n JSON-LD context\n\n \n \n \n \n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Identifier\n\n \n \n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n Type name\n\n \n \n \n \n \n \n \n \n \n placement_date\n \n \n \n \n \n \n \n \n placement_date: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Date placement was made\n\n \n \n \n \n \n \n \n \n \n rotation_order\n \n \n \n \n \n \n \n \n rotation_order: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Order rotations should be applied in\n\n \n \n \n \n \n \n \n \n \n rotation_units\n \n \n \n \n \n \n \n \n rotation_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units rotation is expressed in\n\n \n \n \n \n \n \n \n \n \n scaling_units\n \n \n \n \n \n \n \n \n scaling_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units scaling is expressed in\n\n \n \n \n \n \n \n \n \n \n translation_units\n \n \n \n \n \n \n \n \n translation_units: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units translation is expressed in\n\n \n \n \n \n \n \n \n \n \n w_rotation\n \n \n \n \n \n \n \n \n w_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Rotation in w-dimension\n\n \n \n \n \n \n \n \n \n \n x_rotation\n \n \n \n \n \n \n \n \n x_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Rotation in x-dimension\n\n \n \n \n \n \n \n \n \n \n x_scaling\n \n \n \n \n \n \n \n \n x_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Scaling in x-dimension\n\n \n \n \n \n \n \n \n \n \n x_translation\n \n \n \n \n \n \n \n \n x_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Translation in x-dimension\n\n \n \n \n \n \n \n \n \n \n y_rotation\n \n \n \n \n \n \n \n \n y_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Rotation in y-dimension\n\n \n \n \n \n \n \n \n \n \n y_scaling\n \n \n \n \n \n \n \n \n y_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Scaling in y-dimension\n\n \n \n \n \n \n \n \n \n \n y_translation\n \n \n \n \n \n \n \n \n y_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Translation in y-dimension\n\n \n \n \n \n \n \n \n \n \n z_rotation\n \n \n \n \n \n \n \n \n z_rotation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Rotation in z-dimension\n\n \n \n \n \n \n \n \n \n \n z_scaling\n \n \n \n \n \n \n \n \n z_scaling: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Scaling in z-dimension\n\n \n \n \n \n \n \n \n \n \n z_translation\n \n \n \n \n \n \n \n \n z_translation: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Translation in z-dimension\n\n \n \n \n \n \n \n\n\n \n export interface SpatialObjectReference {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialObjectReference';\n /** Data file name */\n file: string;\n /** Data format */\n file_format: string;\n /** File subpath */\n file_subpath?: string;\n}\n\n/** A set of extraction sites */\nexport interface ExtractionSet {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'ExtractionSet';\n /** Entity label */\n label: string;\n /** The list of extraction sites in this set */\n extractionSites: SpatialEntity[];\n}\n\n/** A spatial entity */\nexport interface SpatialEntity {\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialEntity';\n /** IRI of the Entity this Spatial Entity represents */\n entityId?: string;\n /** Entity label */\n label?: string;\n /** Entity comment */\n comment?: string;\n /** Creator */\n creator?: string;\n /** Creator first name */\n creator_first_name?: string;\n /** Creator last name */\n creator_last_name?: string;\n /** Creator identifier */\n creator_orcid?: string;\n /** Creation date */\n creation_date?: string;\n\n /** Annotations (a set of IRIs) */\n ccf_annotations?: string[];\n /** Annotation (IRI) that says what this entity represents */\n representation_of?: string;\n /** Specifies if this is an anatomical structure of this organ (IRI) */\n reference_organ?: string;\n /** Specifies (where applicable) if this entity came from a Male or Female */\n sex: 'Male' | 'Female' | undefined;\n /** Specifies (where applicable) if this entity came from the left or right side organ */\n side: 'Left' | 'Right' | undefined;\n /** Ranking used in the RUI for ordering lists */\n rui_rank?: number;\n /** The thickness (in nanometers) of slices taken out of this spatial entity */\n slice_thickness?: number;\n /** The number of slices taken out of this spatial entity */\n slice_count?: number;\n\n /** X-dimension */\n x_dimension: number;\n /** Y-dimension */\n y_dimension: number;\n /** Z-dimension */\n z_dimension: number;\n /** Units dimensions are in */\n dimension_units: string;\n /** Data references */\n object?: SpatialObjectReference;\n\n /** Coloring */\n color?: [number, number, number, number];\n}\n\n/** Object describing the placement of an entity */\nexport interface SpatialPlacementCommon {\n /** JSON-LD context */\n '@context'?: string;\n /** Identifier */\n '@id': string;\n /** Type name */\n '@type': 'SpatialPlacement';\n\n /** Date placement was made */\n placement_date: string;\n /** Scaling in x-dimension */\n x_scaling: number;\n /** Scaling in y-dimension */\n y_scaling: number;\n /** Scaling in z-dimension */\n z_scaling: number;\n /** Units scaling is expressed in */\n scaling_units: string;\n\n /** Rotation in x-dimension */\n x_rotation: number;\n /** Rotation in y-dimension */\n y_rotation: number;\n /** Rotation in z-dimension */\n z_rotation: number;\n /** Rotation in w-dimension */\n w_rotation?: number;\n /** Order rotations should be applied in */\n rotation_order?: string;\n /** Units rotation is expressed in */\n rotation_units: string;\n\n /** Translation in x-dimension */\n x_translation: number;\n /** Translation in y-dimension */\n y_translation: number;\n /** Translation in z-dimension */\n z_translation: number;\n /** Units translation is expressed in */\n translation_units: string;\n}\n\nexport interface SpatialPlacement extends SpatialPlacementCommon {\n /** Source entity */\n source: SpatialEntity | SpatialObjectReference;\n /** Target entity */\n target: SpatialEntity;\n}\n\nexport interface FlatSpatialPlacement extends SpatialPlacementCommon {\n /** Source entity iri */\n source: string;\n /** Target entity iri */\n target: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialSceneNode.html":{"url":"interfaces/SpatialSceneNode.html","title":"interface - SpatialSceneNode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialSceneNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n _lighting\n \n \n \n \n @id\n \n \n \n \n @type\n \n \n \n Optional\n \n ccf_annotations\n \n \n \n Optional\n \n color\n \n \n \n Optional\n \n entityId\n \n \n \n Optional\n \n geometry\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n opacity\n \n \n \n Optional\n \n priority\n \n \n \n Optional\n \n reference_organ\n \n \n \n Optional\n \n representation_of\n \n \n \n Optional\n \n scenegraph\n \n \n \n Optional\n \n scenegraphNode\n \n \n \n Optional\n \n text\n \n \n \n Optional\n \n tooltip\n \n \n \n \n transformMatrix\n \n \n \n Optional\n \n unpickable\n \n \n \n Optional\n \n zoomBasedOpacity\n \n \n \n Optional\n \n zoomToOnLoad\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _lighting\n \n \n \n \n \n \n \n \n _lighting: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ccf_annotations\n \n \n \n \n \n \n \n \n ccf_annotations: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: [number, number, number, number]\n\n \n \n\n\n \n \n Type : [number, number, number, number]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n entityId\n \n \n \n \n \n \n \n \n entityId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n geometry\n \n \n \n \n \n \n \n \n geometry: SpatialSceneGeometry\n\n \n \n\n\n \n \n Type : SpatialSceneGeometry\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n opacity\n \n \n \n \n \n \n \n \n opacity: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n priority\n \n \n \n \n \n \n \n \n priority: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n reference_organ\n \n \n \n \n \n \n \n \n reference_organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n representation_of\n \n \n \n \n \n \n \n \n representation_of: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n scenegraph\n \n \n \n \n \n \n \n \n scenegraph: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n scenegraphNode\n \n \n \n \n \n \n \n \n scenegraphNode: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n tooltip\n \n \n \n \n \n \n \n \n tooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n transformMatrix\n \n \n \n \n \n \n \n \n transformMatrix: Matrix4\n\n \n \n\n\n \n \n Type : Matrix4\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n unpickable\n \n \n \n \n \n \n \n \n unpickable: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n zoomBasedOpacity\n \n \n \n \n \n \n \n \n zoomBasedOpacity: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n zoomToOnLoad\n \n \n \n \n \n \n \n \n zoomToOnLoad: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Matrix4, toRadians } from '@math.gl/core';\n\nimport { CCFDatabase } from './ccf-database';\nimport { Filter } from './interfaces';\nimport {\n getAnatomicalStructures, getExtractionSet, getExtractionSets, getReferenceOrgans, getSpatialEntity,\n} from './queries/spatial-result-n3';\nimport { ExtractionSet, SpatialEntity } from './spatial-types';\nimport { ccf } from './util/prefixes';\n\n\nexport type SpatialSceneGeometry = 'sphere' | 'cube' | 'wireframe' | 'text' | 'cone' | 'cylinder';\n\nexport interface SpatialSceneNode {\n '@id': string;\n '@type': string;\n entityId?: string;\n ccf_annotations?: string[];\n representation_of?: string;\n reference_organ?: string;\n unpickable?: boolean;\n geometry?: SpatialSceneGeometry;\n text?: string;\n _lighting?: string;\n scenegraph?: string;\n scenegraphNode?: string;\n zoomBasedOpacity?: boolean;\n zoomToOnLoad?: boolean;\n color?: [number, number, number, number];\n opacity?: number;\n transformMatrix: Matrix4;\n name?: string;\n tooltip?: string;\n priority?: number;\n}\n\nexport class CCFSpatialScene {\n\n constructor(private db: CCFDatabase) {}\n\n getSpatialEntity(iri: string): SpatialEntity {\n return getSpatialEntity(this.db.store, iri);\n }\n getExtractionSets(iri: string): ExtractionSet[] {\n return getExtractionSets(this.db.store, iri);\n }\n getExtractionSet(iri: string): ExtractionSet {\n return getExtractionSet(this.db.store, iri);\n }\n getAnatomicalStructures(iri: string): SpatialEntity[] {\n return getAnatomicalStructures(this.db.store, iri);\n }\n getReferenceOrgans(): SpatialEntity[] {\n return getReferenceOrgans(this.db.store);\n }\n\n getReferenceBody(filter?: Filter): SpatialEntity {\n let bodyId: string;\n switch (filter?.sex) {\n case 'Male':\n bodyId = ccf.spatial.Male.id;\n break;\n case 'Female':\n bodyId = ccf.spatial.Female.id;\n break;\n case 'Both':\n default:\n bodyId = ccf.spatial.BothSexes.id;\n break;\n }\n return this.getSpatialEntity(bodyId);\n }\n\n getReferenceOrganSets(filter?: Filter): SpatialEntity[] {\n let organSet = this.getReferenceOrgans();\n switch (filter?.sex) {\n case 'Male':\n organSet = organSet.filter(s => s.sex === 'Male');\n break;\n case 'Female':\n organSet = organSet.filter(s => s.sex === 'Female');\n break;\n case 'Both':\n default:\n break;\n }\n if (filter?.debug) {\n organSet = organSet.map(o => [ [o], this.getAnatomicalStructures(o['@id'])])\n .reduce((acc, [organ, structures]) => acc.concat(structures.length > 0 ? structures : organ), []);\n }\n return organSet;\n }\n\n getReferenceSceneNodes(filter?: Filter): SpatialSceneNode[] {\n const body = this.getReferenceBody(filter);\n const skinNodes: SpatialSceneNode[] = [];\n let nodes: (SpatialSceneNode | undefined)[] = [\n ...this.getReferenceOrganSets(filter).map((organ) => {\n const isSkin = organ.representation_of === 'http://purl.obolibrary.org/obo/UBERON_0002097';\n const sceneNode = this.getSceneNode(organ, body, {\n color: [255, 255, 255, 255], opacity: isSkin ? 0.5 : 0.2, unpickable: true, _lighting: 'pbr', zoomBasedOpacity: !isSkin\n });\n if (isSkin && sceneNode) {\n skinNodes.push(sceneNode);\n return undefined;\n } else {\n return sceneNode;\n }\n })\n ];\n if (skinNodes.length > 0) {\n nodes = [...skinNodes, ...nodes];\n }\n\n if (filter?.debug) {\n // Debug bounding boxes\n nodes = nodes.concat([\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHRightKidney').id), body, { color: [0, 0, 255, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHLeftKidney').id), body, { color: [255, 0, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHSpleenCC1').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHSpleenCC2').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' }),\n this.getSceneNode(this.getSpatialEntity(ccf.base('VHSpleenCC3').id), body, { color: [0, 255, 0, 0.5*255], geometry: 'wireframe' })\n ]);\n }\n\n return nodes.filter(s => s !== undefined) as SpatialSceneNode[];\n }\n\n getReferenceOrganScene(organIri: string, filter?: Filter): SpatialSceneNode[] {\n const hasSexFilter = filter?.sex !== undefined && filter?.sex?.toLowerCase() !== 'both';\n const organs = this.getReferenceOrgans().filter((o) => o.representation_of === organIri && (!hasSexFilter || o.sex === filter?.sex));\n if (organs.length > 0) {\n const organ = organs[0];\n const isSkin = organ.representation_of === 'http://purl.obolibrary.org/obo/UBERON_0002097';\n const organNode = this.getSceneNode(organ, organ, {\n color: [255, 255, 255, 255], opacity: isSkin ? 0.5 : 0.2, unpickable: true, _lighting: 'pbr'\n }) as SpatialSceneNode;\n\n const scene = (this.db.getSpatialEntities(filter) ?? []).map((entity) =>\n this.getSceneNode(entity, organ, { color: [255, 255, 255, 0.9*255] })\n ) as SpatialSceneNode[];\n return [organNode].concat(scene).filter(n => n !== undefined);\n } else {\n return [];\n }\n }\n\n getEntitySceneNodes(filter?: Filter): SpatialSceneNode[] {\n const body = this.getReferenceBody(filter);\n return this.db.getSpatialEntities(filter).map((entity) =>\n this.getSceneNode(entity, body, { color: [255, 255, 255, 0.9*255] })\n ).filter(s => s !== undefined) as SpatialSceneNode[];\n }\n\n getSceneNode(source: SpatialEntity, target: SpatialEntity, nodeAttrs: Partial = {}): SpatialSceneNode | undefined {\n const has3dObject = source?.object?.file_format?.startsWith('model/gltf');\n const sourceID = has3dObject && source.object ? source.object['@id'] : source['@id'];\n let transform = this.db.graph.getTransformationMatrix(sourceID, target['@id']);\n if (transform) {\n if (has3dObject) {\n transform = new Matrix4(Matrix4.IDENTITY).rotateX(toRadians(90)).multiplyLeft(transform);\n } else {\n // Scale visible bounding boxes to the desired dimensions\n let factor: number;\n switch (source.dimension_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const scale = [source.x_dimension, source.y_dimension, source.z_dimension].map(dim => dim * factor / 2);\n transform.scale(scale);\n }\n return {\n '@id': source['@id'], '@type': 'SpatialSceneNode',\n entityId: source.entityId,\n ccf_annotations: source.ccf_annotations,\n representation_of: source.representation_of,\n reference_organ: source.reference_organ,\n scenegraph: has3dObject ? source.object?.file : undefined,\n scenegraphNode: has3dObject ? source.object?.file_subpath : undefined,\n transformMatrix: transform,\n tooltip: source.label,\n ...nodeAttrs\n };\n } else {\n return undefined;\n }\n }\n\n getScene(filter?: Filter): SpatialSceneNode[] {\n return [\n ...this.getReferenceSceneNodes(filter),\n ...this.getEntitySceneNodes(filter)\n ];\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialSearch.html":{"url":"interfaces/SpatialSearch.html","title":"interface - SpatialSearch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialSearch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Specification for a Spatial Search via Probing Sphere\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n radius\n \n \n \n \n target\n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n radius\n \n \n \n \n \n \n \n \n radius: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Size of the probing sphere in millimeters\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n The target spatial entity IRI\n\n \n \n \n \n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n X coordinate relative to target in millimeters\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n y coordinate relative to target in millimeters\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n z coordinate relative to target in millimeters\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TissueBlockResult.html":{"url":"interfaces/TissueBlockResult.html","title":"interface - TissueBlockResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TissueBlockResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Tissue Block List Result\n\n \n\n \n Extends\n \n \n ListResultItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @type\n \n \n \n \n datasets\n \n \n \n \n donor\n \n \n \n \n sampleType\n \n \n \n \n sectionCount\n \n \n \n \n sections\n \n \n \n \n sectionSize\n \n \n \n \n sectionUnits\n \n \n \n \n spatialEntityId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n datasets\n \n \n \n \n \n \n \n \n datasets: DatasetResult[]\n\n \n \n\n\n \n \n Type : DatasetResult[]\n\n \n \n\n\n\n\n\n \n \n Datasets derived from this tissue block\n\n \n \n \n \n \n \n \n \n \n donor\n \n \n \n \n \n \n \n \n donor: DonorResult\n\n \n \n\n\n \n \n Type : DonorResult\n\n \n \n\n\n\n\n\n \n \n The donor this tissue block was derived from\n\n \n \n \n \n \n \n \n \n \n sampleType\n \n \n \n \n \n \n \n \n sampleType: \"Tissue Block\" | \"Non-Standard\"\n\n \n \n\n\n \n \n Type : \"Tissue Block\" | \"Non-Standard\"\n\n \n \n\n\n\n\n\n \n \n Sample tissue block type\n\n \n \n \n \n \n \n \n \n \n sectionCount\n \n \n \n \n \n \n \n \n sectionCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Number of sections extracted from this block\n\n \n \n \n \n \n \n \n \n \n sections\n \n \n \n \n \n \n \n \n sections: TissueSectionResult[]\n\n \n \n\n\n \n \n Type : TissueSectionResult[]\n\n \n \n\n\n\n\n\n \n \n The sections extracted from this tissue block\n\n \n \n \n \n \n \n \n \n \n sectionSize\n \n \n \n \n \n \n \n \n sectionSize: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Size of each tissue section\n\n \n \n \n \n \n \n \n \n \n sectionUnits\n \n \n \n \n \n \n \n \n sectionUnits: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Units of the section size (generally, millimeters)\n\n \n \n \n \n \n \n \n \n \n spatialEntityId\n \n \n \n \n \n \n \n \n spatialEntityId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n The associated spatial entity (rui_location) for this block\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TissueSectionResult.html":{"url":"interfaces/TissueSectionResult.html","title":"interface - TissueSectionResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TissueSectionResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n\n\n \n Description\n \n \n Tissue Section List Result\n\n \n\n \n Extends\n \n \n ListResultItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @type\n \n \n \n \n datasets\n \n \n \n \n sampleType\n \n \n \n \n sectionNumber\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @type\n \n \n \n \n \n \n \n \n @type: \n\n \n \n\n\n\n\n\n\n\n \n \n JSON-LD Type\n\n \n \n \n \n \n \n \n \n \n datasets\n \n \n \n \n \n \n \n \n datasets: DatasetResult[]\n\n \n \n\n\n \n \n Type : DatasetResult[]\n\n \n \n\n\n\n\n\n \n \n Datasets derived from this tissue section\n\n \n \n \n \n \n \n \n \n \n sampleType\n \n \n \n \n \n \n \n \n sampleType: \"Tissue Section\" | \"Non-Standard\"\n\n \n \n\n\n \n \n Type : \"Tissue Section\" | \"Non-Standard\"\n\n \n \n\n\n\n\n\n \n \n Sample tissue section type\n\n \n \n \n \n \n \n \n \n \n sectionNumber\n \n \n \n \n \n \n \n \n sectionNumber: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Index into the sequence of sections from the parent block\n\n \n \n \n \n \n \n\n\n \n export interface DatabaseStatus {\n /** Status of the database */\n status: 'Ready' | 'Loading' | 'Error';\n /** How long to wait (in milliseconds) before checking status again */\n checkback?: number;\n /** The amount of time (in milliseconds) taken to load the database */\n loadTime?: number;\n /** Human readable description of the current status */\n message?: string;\n}\n\n/** Aggregate query result */\nexport interface AggregateResult {\n /** Queried field */\n label: string;\n /** Aggregate value */\n count: string | number;\n}\n\n/** List result */\nexport interface ListResultItem {\n /** Identifier */\n '@id': string;\n /** Label */\n label: string;\n /** Description */\n description: string;\n /** Associated URL */\n link: string;\n}\n\n/** Donor List Result */\nexport interface DonorResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Donor';\n /** Provider Name */\n providerName: string;\n}\n\n/** Dataset List Result */\nexport interface DatasetResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Dataset';\n /** Technology used in data */\n technology: string;\n /** Representative thumbnail URL */\n thumbnail: string;\n}\n\n/** Tissue Section List Result */\nexport interface TissueSectionResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue section type */\n sampleType: 'Tissue Section' | 'Non-Standard';\n /** Index into the sequence of sections from the parent block */\n sectionNumber: number;\n /** Datasets derived from this tissue section */\n datasets: DatasetResult[];\n}\n\n/** Tissue Block List Result */\nexport interface TissueBlockResult extends ListResultItem {\n /** JSON-LD Type */\n '@type': 'Sample';\n /** Sample tissue block type */\n sampleType: 'Tissue Block' | 'Non-Standard';\n /** Number of sections extracted from this block */\n sectionCount: number;\n /** Size of each tissue section */\n sectionSize: number;\n /** Units of the section size (generally, millimeters) */\n sectionUnits: string;\n\n /** The donor this tissue block was derived from */\n donor: DonorResult;\n /** The associated spatial entity (rui_location) for this block */\n spatialEntityId: string;\n /** The sections extracted from this tissue block */\n sections: TissueSectionResult[];\n /** Datasets derived from this tissue block */\n datasets: DatasetResult[];\n}\n\n/** Item that can be searched for */\nexport interface SearchableItem {\n /** Identifier */\n id: string;\n /** Sex */\n sex?: 'Male' | 'Female';\n /** Age */\n age?: number;\n /** BMI */\n bmi?: number;\n /** Ontology terms */\n ontologyTerms?: Set;\n /** CellType terms */\n cellTypeTerms?: Set;\n}\n\n/** Specification for a Spatial Search via Probing Sphere */\nexport interface SpatialSearch {\n /** X coordinate relative to target in millimeters */\n x: number;\n /** y coordinate relative to target in millimeters */\n y: number;\n /** z coordinate relative to target in millimeters */\n z: number;\n /** Size of the probing sphere in millimeters */\n radius: number;\n /** The target spatial entity IRI */\n target: string;\n}\n\n/** Options applied during queries */\nexport interface Filter {\n /** Sex */\n sex: 'Both' | 'Male' | 'Female';\n /** Age range */\n ageRange: [number, number];\n /** BMI range */\n bmiRange: [number, number];\n /** TMC */\n tmc: string[];\n /** Technologies */\n technologies: string[];\n /** Ontology terms */\n ontologyTerms: string[];\n /** CellType terms */\n cellTypeTerms: string[];\n /** spatial search */\n spatialSearches: SpatialSearch[];\n /** Include optional debugging information */\n debug?: boolean;\n}\n\n/** A node in the ontology */\nexport interface OntologyTreeNode {\n /** Identifier / IRI */\n '@id': string;\n /** JSON-LD Type */\n '@type': 'OntologyTreeNode';\n /** Identifier / IRI */\n id: string;\n /** RDFS label */\n label: string;\n /** Parent ontology node */\n parent: string;\n /** Child ontology nodes */\n children: string[];\n /** Synonym labels */\n synonymLabels: string[];\n}\n\n/** Ontology tree model */\nexport interface OntologyTreeModel {\n /** id of the root node of the ontology */\n root: string;\n /** Mapping from id/IRI to ontology node instance */\n nodes: { [id: string]: OntologyTreeNode };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.2 - 2023-07-12\nAdded in 3.7.2\n\nClient side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1\n\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-database/src/cache-ccf-api-data.ts\n \n function\n main\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-database.ts\n \n class\n CCFDatabase\n \n 75 %\n (24/32)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-database.ts\n \n interface\n CCFDatabaseOptions\n \n 100 %\n (10/10)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-database.ts\n \n variable\n DEFAULT_CCF_DB_OPTIONS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-graph.ts\n \n class\n CCFSpatialGraph\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-graph.ts\n \n function\n applySpatialPlacement\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n class\n CCFSpatialScene\n \n 0 %\n (0/14)\n \n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n interface\n SpatialSceneNode\n \n 0 %\n (0/21)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n interface\n SearchResultJson\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n addHubmapDataToStore\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n doApiSearch\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n doSearchRequest\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n getApiSearchBody\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n getApiSearchHeaders\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n function\n searchHubmap\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n variable\n DEFAULT_API_SEARCH_QUERY\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n variable\n INCLUDED_DATA_FIELDS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n variable\n PER_API_SEARCH_REQUEST_COUNT\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n class\n HuBMAPTissueBlock\n \n 0 %\n (0/24)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n function\n debugDonors\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n function\n hubmapResponseAsJsonLd\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n DR1_VU_THUMBS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n ENTITY_CONTEXT\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n GROUP_UUID_MAPPING\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n HBM_PREFIX\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n variable\n UFL_THUMBS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n AggregateResult\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n DatabaseStatus\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n DatasetResult\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n DonorResult\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n Filter\n \n 100 %\n (10/10)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n ListResultItem\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n OntologyTreeModel\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n OntologyTreeNode\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n SearchableItem\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n SpatialSearch\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n TissueBlockResult\n \n 100 %\n (10/10)\n \n \n \n \n \n projects/ccf-database/src/lib/interfaces.ts\n \n interface\n TissueSectionResult\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/aggregate-results-n3.ts\n \n function\n getAggregateResults\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/aggregate-results-n3.ts\n \n function\n getDatasetTechnologyNames\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/aggregate-results-n3.ts\n \n function\n getObjects\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/aggregate-results-n3.ts\n \n function\n getProviderNames\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n differenceCallback\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByAge\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByBMI\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByCellTypeTerms\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByGroupName\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByHasSpatialEntity\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByOntologyTerms\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterBySex\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterBySpatialSearches\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterByTechnology\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterWithDataset\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterWithDonor\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n filterWithSpatialEntity\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n findIds\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/find-ids-n3.ts\n \n function\n getAllEntities\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-term-occurences-n3.ts\n \n function\n getAnatomicalStructureMapping\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-term-occurences-n3.ts\n \n function\n getCellTypeTermOccurences\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-term-occurences-n3.ts\n \n function\n getOntologyTermOccurences\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-term-occurences-n3.ts\n \n function\n getSpatialEntityMapping\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n getAnatomicalStructureTreeModelSlowly\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n getCellTypeTreeModel\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n getOntologyTreeModel\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n getOntologyTreeNode\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n function\n treeify\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n variable\n getAnatomicalStructureTreeModel\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getAnatomicalStructures\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getExtractionSet\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getExtractionSets\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getReferenceOrgans\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getSpatialEntity\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getSpatialEntityForEntity\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getSpatialObjectReference\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n getSpatialPlacement\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n function\n reverseMapping\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n variable\n mappings\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n function\n filterByProbingSphere\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n function\n getOrientedBoundingBox\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n function\n getSpatialEntityDimensions\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n variable\n spatialEntityDimensions\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n function\n getDatasetResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n function\n getDonorResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n function\n getTissueBlockResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n function\n getTissueSectionResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n datasetResultSet\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n donorResultSet\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n listResultSet\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n tissueBlockResultSet\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n variable\n tissueSectionResultSet\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n ExtractionSet\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n FlatSpatialPlacement\n \n 66 %\n (2/3)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n SpatialEntity\n \n 100 %\n (25/25)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n SpatialObjectReference\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n SpatialPlacement\n \n 66 %\n (2/3)\n \n \n \n \n \n projects/ccf-database/src/lib/spatial-types.ts\n \n interface\n SpatialPlacementCommon\n \n 100 %\n (19/19)\n \n \n \n \n \n projects/ccf-database/src/lib/util/ccf-database-status-tracker.ts\n \n class\n CCFDatabaseStatusTracker\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-database/src/lib/util/enrich-rui-locations.ts\n \n function\n enrichRuiLocations\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/n3-functions.ts\n \n function\n getEntries\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/n3-functions.ts\n \n function\n getMappedResult\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n function\n getOriginScene\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n variable\n blue\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n variable\n gray\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n variable\n green\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/origin-scene.ts\n \n variable\n red\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/patch-jsonld.ts\n \n function\n patchJsonLd\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/patch-jsonld.ts\n \n variable\n CCF_CONTEXT\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n ccf\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n ccfx\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n cl\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n entity\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n fma\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n lmha\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n prefixer\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n PREFIXES\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n rdf\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n rdfs\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n rui\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/prefixes.ts\n \n variable\n uberon\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n function\n getProbingSphereScene\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n variable\n blue\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n variable\n gold\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n variable\n green\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n variable\n red\n \n 0 %\n (0/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n object-hash : ^3.0.0\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n \n \n \n 5 Classes\n \n \n \n \n \n \n \n 21 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n Color   (projects/.../origin-scene.ts)\n \n \n Color   (projects/.../probing-sphere-scene.ts)\n \n \n JsonDict   (projects/.../hubmap-data.ts)\n \n \n SpatialSceneGeometry   (projects/.../ccf-spatial-scene.ts)\n \n \n \n \n \n \n\n\n projects/ccf-database/src/lib/util/origin-scene.ts\n \n \n \n \n \n \n Color\n \n \n \n \n [number, number, number, number]\n\n \n \n \n \n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n \n \n \n \n \n Color\n \n \n \n \n [number, number, number, number]\n\n \n \n \n \n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n \n \n \n \n \n JsonDict\n \n \n \n \n Record\n\n \n \n \n \n projects/ccf-database/src/lib/ccf-spatial-scene.ts\n \n \n \n \n \n \n SpatialSceneGeometry\n \n \n \n \n \"sphere\" | \"cube\" | \"wireframe\" | \"text\" | \"cone\" | \"cylinder\"\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n blue   (projects/.../origin-scene.ts)\n \n \n blue   (projects/.../probing-sphere-scene.ts)\n \n \n ccf   (projects/.../prefixes.ts)\n \n \n CCF_CONTEXT   (projects/.../patch-jsonld.ts)\n \n \n ccfx   (projects/.../prefixes.ts)\n \n \n cl   (projects/.../prefixes.ts)\n \n \n datasetResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n DEFAULT_API_SEARCH_QUERY   (projects/.../hubmap-data-import.ts)\n \n \n DEFAULT_CCF_DB_OPTIONS   (projects/.../ccf-database.ts)\n \n \n donorResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n DR1_VU_THUMBS   (projects/.../hubmap-data.ts)\n \n \n entity   (projects/.../prefixes.ts)\n \n \n ENTITY_CONTEXT   (projects/.../hubmap-data.ts)\n \n \n fma   (projects/.../prefixes.ts)\n \n \n getAnatomicalStructureTreeModel   (projects/.../ontology-tree-n3.ts)\n \n \n gold   (projects/.../probing-sphere-scene.ts)\n \n \n gray   (projects/.../origin-scene.ts)\n \n \n green   (projects/.../origin-scene.ts)\n \n \n green   (projects/.../probing-sphere-scene.ts)\n \n \n GROUP_UUID_MAPPING   (projects/.../hubmap-data.ts)\n \n \n HBM_PREFIX   (projects/.../hubmap-data.ts)\n \n \n INCLUDED_DATA_FIELDS   (projects/.../hubmap-data-import.ts)\n \n \n listResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n lmha   (projects/.../prefixes.ts)\n \n \n mappings   (projects/.../spatial-result-n3.ts)\n \n \n PER_API_SEARCH_REQUEST_COUNT   (projects/.../hubmap-data-import.ts)\n \n \n prefixer   (projects/.../prefixes.ts)\n \n \n PREFIXES   (projects/.../prefixes.ts)\n \n \n rdf   (projects/.../prefixes.ts)\n \n \n rdfs   (projects/.../prefixes.ts)\n \n \n red   (projects/.../origin-scene.ts)\n \n \n red   (projects/.../probing-sphere-scene.ts)\n \n \n rui   (projects/.../prefixes.ts)\n \n \n spatialEntityDimensions   (projects/.../spatial-search-n3.ts)\n \n \n tissueBlockResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n tissueSectionResultSet   (projects/.../tissue-block-result-n3.ts)\n \n \n uberon   (projects/.../prefixes.ts)\n \n \n UFL_THUMBS   (projects/.../hubmap-data.ts)\n \n \n \n \n \n \n\n\n projects/ccf-database/src/lib/util/origin-scene.ts\n \n \n \n \n \n \n \n blue\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [41, 121, 255, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n gray\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [204, 204, 204, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n green\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [29, 204, 101, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n red\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [213, 0, 0, 255]\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/util/probing-sphere-scene.ts\n \n \n \n \n \n \n \n blue\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [41, 121, 255, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n gold\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [240, 183, 98, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n green\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [29, 204, 101, 255]\n \n \n\n\n \n \n \n \n \n \n \n \n red\n \n \n \n \n \n \n Type : Color\n\n \n \n \n \n Default value : [213, 0, 0, 255]\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/util/prefixes.ts\n \n \n \n \n \n \n \n ccf\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: ccfx,\n base: prefixer('base'),\n ontologyNode: {\n label: ccfx('ccf_pref_label'),\n parent: ccfx('ccf_part_of'),\n children: ccfx('ccf_part_of'),\n rui_rank: ccfx('rui_rank'),\n synonymLabels: DataFactory.namedNode('http://www.geneontology.org/formats/oboInOwl#hasExactSynonym')\n },\n asctb: {\n part_of: ccfx('ccf_part_of'),\n ct_is_a: ccfx('ccf_ct_isa'),\n located_in: ccfx('ccf_located_in'),\n characterizes: ccfx('ccf_characterizes')\n },\n spatial: {\n Female: prefixer('base')('VHFemale'),\n Male: prefixer('base')('VHMale'),\n BothSexes: prefixer('base')('VHBothSexes'),\n FemaleOrgans: prefixer('base')('VHFemaleOrgans'),\n MaleOrgans: prefixer('base')('VHMaleOrgans')\n },\n SpatialObjectReference: ccfx('spatial_object_reference'),\n SpatialEntity: ccfx('spatial_entity'),\n SpatialPlacement: ccfx('spatial_placement'),\n spatialObjectReference: {\n file: ccfx('file_url'),\n file_format: ccfx('file_format'),\n file_subpath: ccfx('file_subpath')\n },\n extractionSet: {\n label: prefixer('rdfs')('label'),\n rui_rank: ccfx('rui_rank')\n },\n spatialEntity: {\n label: prefixer('rdfs')('label'),\n description: prefixer('rdfs')('comment'),\n creator: prefixer('dcterms')('creator'),\n creator_first_name: ccfx('creator_first_name'),\n creator_last_name: ccfx('creator_last_name'),\n creator_orcid: ccfx('creator_orcid'),\n creation_date: prefixer('dcterms')('created'),\n updated_date: ccfx('updated_date'),\n ccf_annotations: ccfx('collides_with'),\n representation_of: ccfx('representation_of'),\n reference_organ: ccfx('has_reference_organ'),\n extraction_set_for: ccfx('extraction_set_for'),\n extraction_set: ccfx('has_extraction_set'),\n sex: ccfx('organ_owner_sex'),\n side: ccfx('organ_side'),\n rui_rank: ccfx('rui_rank'),\n slice_thickness: ccfx('slice_thickness'),\n slice_count: ccfx('slice_count'),\n x_dimension: ccfx('x_dimension'),\n y_dimension: ccfx('y_dimension'),\n z_dimension: ccfx('z_dimension'),\n dimension_units: ccfx('dimension_unit'),\n object: ccfx('has_object_reference')\n },\n spatialPlacement: {\n source: ccfx('placement_for'),\n target: ccfx('placement_relative_to'),\n\n placement_date: prefixer('dcterms')('created'),\n x_scaling: ccfx('x_scaling'),\n y_scaling: ccfx('y_scaling'),\n z_scaling: ccfx('z_scaling'),\n scaling_units: ccfx('scaling_unit'),\n\n x_rotation: ccfx('x_rotation'),\n y_rotation: ccfx('y_rotation'),\n z_rotation: ccfx('z_rotation'),\n w_rotation: ccfx('theta_rotation'),\n rotation_order: ccfx('rotation_order'),\n rotation_units: ccfx('rotation_unit'),\n\n x_translation: ccfx('x_translation'),\n y_translation: ccfx('y_translation'),\n z_translation: ccfx('z_translation'),\n translation_units: ccfx('translation_unit')\n }\n}\n \n \n\n \n \n CCF specific ids.\n\n \n \n\n \n \n \n \n \n \n \n \n ccfx\n \n \n \n \n \n \n Default value : prefixer('ccf')\n \n \n\n \n \n CCF id helper.\n\n \n \n\n \n \n \n \n \n \n \n \n cl\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('cl'),\n cell: prefixer('cl')('0000000')\n}\n \n \n\n \n \n CL specific ids.\n\n \n \n\n \n \n \n \n \n \n \n \n entity\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n id: prefixer('ccf')('has_registration_location'),\n label: prefixer('rdfs')('label'),\n description: prefixer('rdfs')('comment'),\n link: ccfx('url'),\n\n sex: ccfx('sex'),\n age: ccfx('age'),\n bmi: ccfx('bmi'),\n\n Male: DataFactory.literal('Male'),\n Female: DataFactory.literal('Female'),\n\n consortiumName: ccfx('consortium_name'),\n providerName: ccfx('tissue_provider_name'),\n providerUUID: ccfx('tissue_provider_uuid'),\n\n donor: ccfx('comes_from'),\n\n sections: ccfx('subdivided_into_sections'),\n datasets: ccfx('generates_dataset'),\n\n sampleType: ccfx('sample_type'),\n\n TissueBlock: DataFactory.literal('Tissue Block'),\n TissueSection: DataFactory.literal('Tissue Section'),\n NonStandard: DataFactory.literal('Non-standard'),\n\n sectionCount: ccfx('section_count'),\n sectionSize: ccfx('section_size'),\n sectionUnits: ccfx('section_size_unit'),\n sectionNumber: ccfx('section_number'),\n\n spatialEntity: ccfx('has_registration_location'),\n ontologyTerms: ccfx('has_ontology_term'),\n cellTypeTerms: ccfx('has_cell_type_term'),\n\n technology: ccfx('technology'),\n thumbnail: ccfx('thumbnail')\n}\n \n \n\n \n \n Common entity ids.\n\n \n \n\n \n \n \n \n \n \n \n \n fma\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('fma')\n}\n \n \n\n \n \n FMA specific ids.\n\n \n \n\n \n \n \n \n \n \n \n \n lmha\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('lmha')\n}\n \n \n\n \n \n LMHA specific ids.\n\n \n \n\n \n \n \n \n \n \n \n \n prefixer\n \n \n \n \n \n \n Default value : Util.prefixes(PREFIXES, DataFactory)\n \n \n\n \n \n Prefix factory.\n\n \n \n\n \n \n \n \n \n \n \n \n PREFIXES\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n base: 'http://purl.org/ccf/latest/ccf.owl#',\n ccf: 'http://purl.org/ccf/',\n fma: 'http://purl.org/sig/ont/fma/fma',\n obo: 'http://purl.obolibrary.org/obo/',\n uberon: 'http://purl.obolibrary.org/obo/UBERON_',\n cl: 'http://purl.obolibrary.org/obo/CL_',\n lmha: 'http://purl.obolibrary.org/obo/LMHA_',\n rdf: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',\n rdfs: 'http://www.w3.org/2000/01/rdf-schema#',\n dc: 'http://purl.org/dc/elements/1.1/',\n dcterms: 'http://purl.org/dc/terms/'\n}\n \n \n\n \n \n Constants used to create entity accessors.\n\n \n \n\n \n \n \n \n \n \n \n \n rdf\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('rdf'),\n type: prefixer('rdf')('type')\n}\n \n \n\n\n \n \n \n \n \n \n \n \n rdfs\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('rdfs'),\n label: prefixer('rdfs')('label'),\n comment: prefixer('rdfs')('comment'),\n isDefinedBy: prefixer('rdfs')('isDefinedBy'),\n seeAlso: prefixer('rdfs')('seeAlso')\n}\n \n \n\n\n \n \n \n \n \n \n \n \n rui\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n body: uberon.body,\n cell: cl.cell,\n respiratory_system: uberon.x('0001004'),\n colon: uberon.x('0001155'),\n left_lung: uberon.x('0002168'),\n right_lung: uberon.x('0002167'),\n left_bronchus: uberon.x('0002178'),\n right_bronchus: uberon.x('0002177'),\n kidney: uberon.x('0002113'),\n ureter: uberon.x('0000056'),\n eye: uberon.x('0000970'),\n fallopian_tube: uberon.x('0003889'),\n knee: uberon.x('0001465'),\n ovary: uberon.x('0000992'),\n trachea: uberon.x('0003126'),\n aorta: uberon.x('0000947'),\n blood: uberon.x('0000178'),\n bone_marrow: uberon.x('0002371'),\n male_reproductive_system: uberon.x('0000079'),\n lymph_node: uberon.x('0000029'),\n\n // Derived using console.log(ALL_POSSIBLE_ORGANS.map(o => ` ${o.name.toLowerCase().replace(',', '').replace(/ /g, '_')}: ${o.id.split('/').slice(-1)[0].split('_')[0].toLowerCase()}.x('${o.id.split('_').slice(-1)[0]}'),`).join('\\n'));\n blood_vasculature: uberon.x('0004537'),\n brain: uberon.x('0000955'),\n eye_left: uberon.x('0004548'),\n eye_right: fma.x('54449'),\n fallopian_tube_left: uberon.x('0001303'),\n fallopian_tube_right: uberon.x('0001302'),\n heart: uberon.x('0000948'),\n kidney_left: uberon.x('0004538'),\n kidney_right: uberon.x('0004539'),\n knee_left: fma.x('24978'),\n knee_right: fma.x('24977'),\n large_intestine: uberon.x('0000059'),\n liver: uberon.x('0002107'),\n lungs: uberon.x('0002048'),\n mesenteric_lymph_node: uberon.x('0002509'),\n ovary_left: fma.x('7214'),\n ovary_right: fma.x('7213'),\n pancreas: uberon.x('0001264'),\n pelvis: uberon.x('0001270'),\n prostate_gland: uberon.x('0002367'),\n skin: uberon.x('0002097'),\n small_intestine: uberon.x('0002108'),\n spleen: uberon.x('0002106'),\n thymus: uberon.x('0002370'),\n ureter_left: uberon.x('0001223'),\n ureter_right: uberon.x('0001222'),\n urinary_bladder: uberon.x('0001255'),\n uterus: uberon.x('0000995')\n}\n \n \n\n \n \n RUI accessors.\n\n \n \n\n \n \n \n \n \n \n \n \n uberon\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n x: prefixer('uberon'),\n body: prefixer('uberon')('0013702')\n}\n \n \n\n \n \n Uberon specific ids.\n\n \n \n\n \n \n\n projects/ccf-database/src/lib/util/patch-jsonld.ts\n \n \n \n \n \n \n \n CCF_CONTEXT\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n '@context': {\n '@base': 'http://purl.org/ccf/',\n '@vocab': 'http://purl.org/ccf/',\n 'ccf': 'http://purl.org/ccf/',\n 'rdfs': 'http://www.w3.org/2000/01/rdf-schema#',\n 'dcterms': 'http://purl.org/dc/terms/',\n 'label': 'rdfs:label',\n 'description': 'rdfs:comment',\n 'link': 'ccf:url',\n 'sex': 'ccf:sex',\n 'age': 'ccf:age',\n 'bmi': 'ccf:bmi',\n 'consortium_name': 'ccf:consortium_name',\n 'provider_name': 'ccf:tissue_provider_name',\n 'provider_uuid': 'ccf:tissue_provider_uuid',\n 'donor': {\n '@id': 'ccf:comes_from',\n '@type': '@id'\n },\n 'samples': {\n '@reverse': 'donor'\n },\n 'sections': {\n '@id': 'ccf:subdivided_into_sections',\n '@type': '@id'\n },\n 'datasets': {\n '@id': 'ccf:generates_dataset',\n '@type': '@id'\n },\n 'sample_type': 'ccf:sample_type',\n 'section_count': 'ccf:section_count',\n 'section_size': 'ccf:section_size',\n 'section_units': 'ccf:section_size_unit',\n 'section_number': 'ccf:section_number',\n 'rui_location': {\n '@id': 'ccf:has_registration_location',\n '@type': '@id'\n },\n 'ccf_annotations': {\n '@id': 'ccf:collides_with',\n '@type': '@id',\n '@container': '@set'\n },\n 'representation_of': {\n '@id': 'ccf:representation_of',\n '@type': '@id'\n },\n 'reference_organ': {\n '@id': 'ccf:has_reference_organ',\n '@type': '@id'\n },\n 'extraction_set_for': {\n '@id': 'ccf:extraction_set_for',\n '@type': '@id'\n },\n 'extraction_set': {\n '@id': 'ccf:has_extraction_set',\n '@type': '@id'\n },\n 'organ_owner_sex': 'ccf:organ_owner_sex',\n 'side': 'ccf:organ_side',\n 'rui_rank': 'ccf:rui_rank',\n 'slice_thickness': 'ccf:slice_thickness',\n 'slice_count': 'ccf:slice_count',\n 'object': {\n '@id': 'ccf:has_object_reference',\n '@type': '@id'\n },\n 'creation_date': 'dcterms:created',\n 'updated_date': 'ccf:updated_date',\n 'creator': 'dcterms:creator',\n 'creator_first_name': 'ccf:creator_first_name',\n 'creator_last_name': 'ccf:creator_last_name',\n 'placement': {\n '@reverse': 'ccf:placement_for'\n },\n 'placement_date': 'dcterms:created',\n 'rotation_order': 'ccf:rotation_order',\n 'dimension_units': 'ccf:dimension_unit',\n 'rotation_units': 'ccf:rotation_unit',\n 'scaling_units': 'ccf:scaling_unit',\n 'translation_units': 'ccf:translation_unit',\n 'source': {\n '@id': 'ccf:placement_for',\n '@type': '@id'\n },\n 'target': {\n '@id': 'ccf:placement_relative_to',\n '@type': '@id'\n },\n 'x_rotation': 'ccf:x_rotation',\n 'y_rotation': 'ccf:y_rotation',\n 'z_rotation': 'ccf:z_rotation',\n 'x_scaling': 'ccf:x_scaling',\n 'y_scaling': 'ccf:y_scaling',\n 'z_scaling': 'ccf:z_scaling',\n 'x_translation': 'ccf:x_translation',\n 'y_translation': 'ccf:y_translation',\n 'z_translation': 'ccf:z_translation',\n 'x_dimension': 'ccf:x_dimension',\n 'y_dimension': 'ccf:y_dimension',\n 'z_dimension': 'ccf:z_dimension',\n 'ontology_terms': {\n '@id': 'ccf:has_ontology_term',\n '@type': '@id'\n },\n 'technology': 'ccf:technology',\n 'thumbnail': 'ccf:thumbnail',\n 'file': 'ccf:file_url',\n 'file_format': 'ccf:file_format',\n 'file_subpath': 'ccf:file_subpath'\n }\n}\n \n \n\n \n \n CCF v2.0 JSON-LD Context\n\n \n \n\n \n \n\n projects/ccf-database/src/lib/queries/tissue-block-result-n3.ts\n \n \n \n \n \n \n \n datasetResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n ...listResultSet,\n [entity.technology.id]: 'technology',\n [entity.thumbnail.id]: 'thumbnail',\n}\n \n \n\n\n \n \n \n \n \n \n \n \n donorResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n ...listResultSet,\n [entity.providerName.id]: 'providerName'\n}\n \n \n\n\n \n \n \n \n \n \n \n \n listResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n [entity.label.id]: 'label',\n [entity.description.id]: 'description',\n [entity.link.id]: 'link'\n}\n \n \n\n \n \n Entity iri to property path.\n\n \n \n\n \n \n \n \n \n \n \n \n tissueBlockResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n ...listResultSet,\n [entity.sampleType.id]: 'sampleType',\n [entity.sectionCount.id]: 'sectionCount',\n [entity.sectionSize.id]: 'sectionSize',\n [entity.sectionUnits.id]: 'sectionUnits',\n\n [entity.donor.id]: 'donor',\n [entity.spatialEntity.id]: 'spatialEntityId',\n [entity.sections.id]: 'sections',\n [entity.datasets.id]: 'datasets',\n}\n \n \n\n\n \n \n \n \n \n \n \n \n tissueSectionResultSet\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n ...listResultSet,\n [entity.sampleType.id]: 'sampleType',\n [entity.sectionNumber.id]: 'sectionNumber',\n [entity.datasets.id]: 'datasets',\n}\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/hubmap/hubmap-data-import.ts\n \n \n \n \n \n \n \n DEFAULT_API_SEARCH_QUERY\n \n \n \n \n \n \n Default value : {\n exists: {\n field: 'rui_location'\n }\n}\n \n \n\n\n \n \n \n \n \n \n \n \n INCLUDED_DATA_FIELDS\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n 'uuid', 'entity_type',\n 'group_uuid', 'group_name',\n 'last_modified_timestamp', 'created_by_user_displayname',\n 'ancestors.entity_type',\n 'ancestors.description',\n 'ancestors.metadata.organ_donor_data.preferred_term',\n 'ancestors.metadata.organ_donor_data.data_value',\n 'ancestors.metadata.living_donor_data.preferred_term',\n 'ancestors.metadata.living_donor_data.data_value',\n 'ancestors.last_modified_timestamp',\n 'ancestors.group_uuid',\n 'ancestors.group_name',\n 'ancestors.created_by_user_displayname',\n 'ancestors.uuid',\n 'descendants.entity_type',\n 'descendants.ingest_metadata.metadata.tissue_id',\n 'descendants.last_modified_timestamp',\n 'descendants.group_uuid',\n 'descendants.group_name',\n 'descendants.created_by_user_displayname',\n 'descendants.uuid',\n 'descendants.data_types',\n 'descendants.ingest_metadata.metadata.assay_type',\n 'descendants.thumbnail_file',\n 'descendants.metadata.files.rel_path',\n 'rui_location', 'sample_category'\n]\n \n \n\n\n \n \n \n \n \n \n \n \n PER_API_SEARCH_REQUEST_COUNT\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 10000\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/ccf-database.ts\n \n \n \n \n \n \n \n DEFAULT_CCF_DB_OPTIONS\n \n \n \n \n \n \n Type : CCFDatabaseOptions\n\n \n \n \n \n Default value : {\n ccfOwlUrl: 'https://purl.org/ccf/latest/ccf.owl',\n ccfContextUrl: 'https://purl.org/ccf/latest/ccf-context.jsonld',\n dataSources: [],\n hubmapDataService: 'static',\n hubmapPortalUrl: 'https://portal.hubmapconsortium.org/',\n hubmapDataUrl: '',\n hubmapAssetsUrl: 'https://assets.hubmapconsortium.org'\n}\n \n \n\n \n \n Default initialization options.\n\n \n \n\n \n \n\n projects/ccf-database/src/lib/hubmap/hubmap-data.ts\n \n \n \n \n \n \n \n DR1_VU_THUMBS\n \n \n \n \n \n \n Default value : new Set(['VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg', 'VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0003-LK-32-21-PAS_registered_thumbnail.jpg', 'VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg', 'VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0005-RK-1-1-PAS_registered_thumbnail.jpg', 'VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg', 'VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0005-RK-4-172-PAS_registered_thumbnail.jpg', 'VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg', 'VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0006-LK-2-85-PAS_registered_thumbnail.jpg', 'VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg', 'VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0007-LK-203-103-PAS_registered_thumbnail.jpg', 'VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg', 'VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0008-RK-403-100-PAS_registered_thumbnail.jpg', 'VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg', 'VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0009-LK-102-7-PAS_registered_thumbnail.jpg', 'VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg', 'VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0010-LK-155-40-PAS_registered_thumbnail.jpg', 'VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg', 'VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0011-RK-3-10-PAS_registered_thumbnail.jpg', 'VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg', 'VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0012-RK-103-75-PAS_registered_thumbnail.jpg', 'VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg', 'VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0013-LK-202-96-PAS_registered_thumbnail.jpg', 'VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg', 'VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg', 'VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0014-LK-203-108-PAS_registered_thumbnail.jpg', 'VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg', 'VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0016-LK-202-89-PAS_registered_thumbnail.jpg', 'VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg', 'VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0003-LK-32-21-PAS_registered_thumbnail.jpg', 'VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg', 'VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0005-RK-1-1-PAS_registered_thumbnail.jpg', 'VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg', 'VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0005-RK-4-172-PAS_registered_thumbnail.jpg', 'VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg', 'VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0006-LK-2-85-PAS_registered_thumbnail.jpg', 'VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg', 'VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0007-LK-203-103-PAS_registered_thumbnail.jpg', 'VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg', 'VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0008-RK-403-100-PAS_registered_thumbnail.jpg', 'VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg', 'VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0011-RK-3-10-PAS_registered_thumbnail.jpg', 'VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg', 'VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg', 'VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg', 'VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg', 'VAN0012-RK-103-75-PAS_registered_thumbnail.jpg', 'VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg', 'VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg'])\n \n \n\n\n \n \n \n \n \n \n \n \n ENTITY_CONTEXT\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld'\n \n \n\n\n \n \n \n \n \n \n \n \n GROUP_UUID_MAPPING\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Default value : {\n '03b3d854-ed44-11e8-8bce-0e368f3075e8': 'TMC-UCSD',\n '07a29e4c-ed43-11e8-b56a-0e8017bdda58': 'TMC-Florida',\n '308f5ffc-ed43-11e8-b56a-0e8017bdda58': 'TMC-CalTech',\n '5bd084c8-edc2-11e8-802f-0e368f3075e8': 'HBM-TestingGroup',\n '73bb26e4-ed43-11e8-8f19-0a7c1eab007a': 'TMC-Vanderbilt',\n 'def5fd76-ed43-11e8-b56a-0e8017bdda58': 'TMC-Stanford',\n '5c106f29-ea2d-11e9-85e8-0efb3ba9a670': 'RTI-General Electric',\n '301615f9-c870-11eb-a8dc-35ce3d8786fe': 'TMC-UConn'\n}\n \n \n\n \n \n UUID to TMC mapping.\n\n \n \n\n \n \n \n \n \n \n \n \n HBM_PREFIX\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'https://entity.api.hubmapconsortium.org/entities/'\n \n \n\n\n \n \n \n \n \n \n \n \n UFL_THUMBS\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : { 'HBM558.SRZG.629': 'HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg', 'HBM562.NTMH.548': 'HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg', 'HBM685.KHRQ.684': 'HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg', 'HBM278.SFQW.627': 'HBM278.SFQW.627_UFL0008-LY09-1-1.jpg', 'HBM427.SMGB.866': 'HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg', 'HBM432.LLCF.677': 'HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg', 'HBM586.ZSVS.996': 'HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg', 'HBM285.XMBT.542': 'HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg', 'HBM289.BWJW.663': 'HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg', 'HBM255.SRPR.985': 'HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg', 'HBM799.WXHD.535': 'HBM799.WXHD.535_UFL0009-LY02-1-1.jpg', 'HBM294.RZFN.624': 'HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg', 'HBM383.TRQG.424': 'HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg', 'HBM647.MFQB.496': 'HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg', 'HBM237.GGPR.739': 'HBM237.GGPR.739_UFL0006-LY01-1-1.jpg', 'HBM288.TPBD.654': 'HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg', 'HBM974.NDXT.675': 'HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg', 'HBM589.SLVV.423': 'HBM589.SLVV.423_UFL0008-LY10-1-1.jpg', 'HBM794.RLFN.358': 'HBM794.RLFN.358_UFL0006-LY03-1-1.jpg', 'HBM372.BQSR.778': 'HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg', 'HBM499.TKDW.458': 'HBM499.TKDW.458_UFL0009-LY03-1-1.jpg', 'HBM342.PRQB.739': 'HBM342.PRQB.739_UFL0003-LY06-1-1.jpg', 'HBM633.CLVN.674': 'HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg', 'HBM343.JQKM.578': 'HBM343.JQKM.578_UFL0009-LY01-1-1.jpg', 'HBM987.XGTH.368': 'HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg', 'HBM964.CWCP.788': 'HBM964.CWCP.788_UFL0006-LY02-2-1.jpg', 'HBM244.TJLK.223': 'HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg', 'HBM646.FSBQ.966': 'HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg', 'HBM572.GXSB.234': 'HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg', 'HBM772.TKGJ.794': 'HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg', 'HBM239.CBWR.263': 'HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg', 'HBM992.NRTT.383': 'HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg', 'HBM283.DQXD.546': 'HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg', 'HBM795.JHND.856': 'HBM795.JHND.856_UFL0007-SP-1-2-1.jpg', 'HBM267.BZKT.867': 'HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg', 'HBM838.DLMJ.782': 'HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg', 'HBM337.FSXL.564': 'HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg', 'HBM355.JDLK.244': 'HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg', 'HBM599.PSZG.737': 'HBM599.PSZG.737_UFL0006-LY02-1-1.jpg' }\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/queries/ontology-tree-n3.ts\n \n \n \n \n \n \n \n getAnatomicalStructureTreeModel\n \n \n \n \n \n \n Default value : memoize(getAnatomicalStructureTreeModelSlowly, () => '')\n \n \n\n\n \n \n\n projects/ccf-database/src/lib/queries/spatial-result-n3.ts\n \n \n \n \n \n \n \n mappings\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n spatialObjectReference: reverseMapping(ccf.spatialObjectReference),\n spatialEntity: reverseMapping(ccf.spatialEntity),\n spatialPlacement: reverseMapping(ccf.spatialPlacement)\n}\n \n \n\n \n \n A mapping of spatial objects.\n\n \n \n\n \n \n\n projects/ccf-database/src/lib/queries/spatial-search-n3.ts\n \n \n \n \n \n \n \n spatialEntityDimensions\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n [ccf.spatialEntity.x_dimension.id]: 'x',\n [ccf.spatialEntity.y_dimension.id]: 'y',\n [ccf.spatialEntity.z_dimension.id]: 'z'\n}\n \n \n\n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} } diff --git a/docs/ccf-eui/changelog.html b/docs/ccf-eui/changelog.html index 9d1987d1c..3b3e2aaaf 100644 --- a/docs/ccf-eui/changelog.html +++ b/docs/ccf-eui/changelog.html @@ -33,6 +33,11 @@

            Changelog

            Changelog for the Human Reference Atlas (HRA) User Interfaces

            +

            3.7.2 - 2023-07-12

            +

            Added in 3.7.2

            +
              +
            • Client side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1
            • +

            3.7.0 - 2023-06-15

            Added in 3.7.0

              diff --git a/docs/ccf-eui/dependencies.html b/docs/ccf-eui/dependencies.html index 932c319bd..4d1626abc 100644 --- a/docs/ccf-eui/dependencies.html +++ b/docs/ccf-eui/dependencies.html @@ -162,6 +162,8 @@ ngx-markdown : ^12.0.1
            • node-fetch : ^2.6.7
            • +
            • + object-hash : ^3.0.0
            • qs : ^6.10.2
            • diff --git a/docs/ccf-eui/js/search/search_index.js b/docs/ccf-eui/js/search/search_index.js index b8a0b5d2f..e307234ca 100644 --- a/docs/ccf-eui/js/search/search_index.js +++ b/docs/ccf-eui/js/search/search_index.js @@ -1,4 +1,4 @@ var COMPODOC_SEARCH_INDEX = { - "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/classes/AddSearch.html",[0,0.069,1,2.262]],["body/classes/AddSearch.html",[0,0.124,1,3.784,2,2.313,3,0.108,4,0.132,5,0.096,6,0.097,7,2.861,8,1.42,9,3.52,10,4.59,11,0.471,12,0.868,13,2.435,14,1.206,15,0.7,16,1.287,17,5.399,18,2.711,19,5.746,20,1.113,21,4.423,22,1.161,23,7.506,24,1.259,25,0.009,26,0.819,27,0.966,28,1.033,29,0.988,30,1.347,31,2.914,32,3.25,33,0.192,34,0.687,35,1.669,36,3.077,37,2.501,38,2.8,39,3.914,40,3.714,41,0.176,42,3.73,43,3.714,44,4.313,45,2.313,46,3.714,47,2.201,48,2.097,49,2.886,50,2.57,51,0.005,52,0.007,53,0.005]],["title/modules/AppModule.html",[54,1.342,55,3.375]],["body/modules/AppModule.html",[0,0.077,3,0.089,4,0.109,5,0.079,6,0.079,14,0.676,22,0.779,25,0.009,30,1.027,33,0.22,34,0.567,41,0.109,51,0.005,52,0.006,53,0.005,55,7.076,56,1.506,57,1.986,58,4.456,59,4.456,60,4.456,61,2.731,62,2.639,63,5.96,64,5.96,65,5.642,66,5.96,67,5.96,68,5.96,69,5.642,70,5.96,71,5.96,72,2.126,73,1.209,74,1.378,75,5.037,76,2.337,77,6.642,78,2.176,79,1.319,80,7.431,81,5.037,82,1.183,83,1.462,84,5.372,85,3.56,86,6.642,87,5.031,88,2.126,89,0.389,90,5.037,91,4.456,92,3.047,93,2.181,94,6.642,95,4.456,96,4.074,97,4.694,98,3.56,99,5.876,100,4.444,101,2.825,102,5.876,103,4.456,104,5.876,105,5.876,106,6.642,107,6.642,108,1.576,109,4.694,110,4.456,111,1.527,112,3.788,113,4.456,114,4.995,115,5.037,116,3.37,117,3.56,118,5.037,119,5.037,120,5.037,121,4.456,122,3.56,123,5.037,124,5.037,125,2.825,126,5.037,127,5.037,128,4.995,129,5.037,130,5.037,131,4.456,132,3.56,133,4.456,134,4.456,135,3.56,136,3.788,137,5.037,138,3.788,139,5.037,140,5.037,141,2.939,142,4.995,143,4.074,144,3.56,145,3.37,146,4.456,147,4.456,148,2.01,149,2.825,150,0.974,151,6.642,152,5.037,153,4.456,154,5.037,155,3.56]],["title/interfaces/AppOptions.html",[156,0.743,157,3.63]],["body/interfaces/AppOptions.html",[0,0.048,3,0.056,4,0.068,5,0.05,6,0.038,8,1.092,9,2.485,11,0.443,12,0.55,13,0.881,14,1.2,15,0.596,16,0.664,20,1.047,25,0.009,27,1.275,28,0.533,31,1.635,32,1.364,33,0.211,34,0.774,35,0.861,39,1.642,40,1.917,41,0.068,43,1.917,46,2.897,47,1.136,48,1.635,51,0.003,52,0.004,53,0.006,61,0.985,73,0.756,79,1.246,83,1.591,87,4.074,89,0.243,95,2.786,96,2.547,101,3.588,108,0.985,109,3.365,110,2.786,111,1.319,112,2.369,113,2.786,116,2.107,121,2.786,122,2.226,145,5.392,146,5.078,148,1.257,150,0.92,156,0.521,157,3.85,158,1.108,159,2.786,160,2.061,161,5.078,162,4.215,163,5.556,164,6.397,165,5.556,166,1.895,167,1.057,168,3.185,169,1.141,170,3.365,171,4.212,172,2.547,173,4.761,174,4.317,175,1.445,176,2.107,177,1.837,178,1.837,179,1.082,180,3.032,181,2.4,182,3.365,183,3.15,184,5.74,185,2.786,186,2.107,187,3.219,188,2.369,189,1.032,190,1.837,191,1.837,192,1.164,193,4.761,194,3.15,195,3.15,196,2.369,197,2.107,198,2.107,199,5.106,200,2.786,201,3.032,202,3.185,203,3.15,204,2.226,205,2.547,206,2.547,207,1.702,208,3.15,209,2.547,210,2.572,211,2.786,212,3.349,213,3.15,214,2.006,215,2.369,216,2.4,217,3.15,218,3.349,219,1.837,220,1.766,221,2.006,222,1.456,223,2.786,224,1.755,225,3.15,226,2.107,227,1.702,228,1.75,229,3.15,230,2.547,231,1.641,232,3.15,233,2.107,234,0.773,235,1.082,236,3.15,237,1.136,238,3.15,239,1.057,240,1.057,241,3.15,242,1.881,243,3.15,244,3.15,245,3.15,246,3.15,247,3.15,248,3.15,249,3.15,250,3.15,251,3.15,252,0.921,253,4.212,254,3.365,255,1.302,256,2.291,257,5.174,258,2.786,259,3.15,260,2.417,261,3.15,262,4.317,263,3.15,264,1.851,265,1.675,266,2.547,267,3.732,268,3.15,269,1.094,270,2.369,271,3.732,272,2.67,273,2.778,274,3.15,275,1.881,276,3.15,277,3.15,278,0.972,279,3.15,280,3.15,281,3.15,282,2.547,283,3.15,284,3.15,285,1.512,286,3.15,287,1.588,288,2.107,289,3.185,290,1.008,291,3.15,292,3.15,293,3.15,294,3.15,295,2.21,296,2.786,297,3.15,298,3.15,299,3.101,300,4.642,301,3.15,302,3.15,303,2.369,304,3.15,305,3.15,306,3.15,307,2.547,308,3.15,309,1.635,310,1.057,311,2.101,312,1.512,313,2.786,314,2.547,315,1.257,316,4.761,317,2.006,318,0.825,319,2.547,320,2.107,321,3.15,322,3.15,323,3.15,324,3.15,325,3.15,326,3.15,327,3.15,328,3.15,329,3.15,330,3.15,331,3.15,332,3.15,333,3.15,334,3.15,335,3.15,336,3.15,337,4.317,338,3.15,339,2.226,340,2.786,341,3.15,342,3.15,343,3.15,344,2.369,345,3.15,346,3.15,347,3.15,348,3.15,349,1.537,350,2.786,351,3.15,352,2.897,353,4.761,354,4.761,355,2.005,356,5.74,357,3.15,358,3.15,359,4.761,360,2.547,361,1.76,362,3.15,363,2.547,364,3.15,365,5.74,366,1.766,367,1.837,368,2.291,369,3.456,370,3.85,371,6.392,372,4.317,373,2.232,374,4.761,375,3.15,376,2.547,377,3.15,378,3.15,379,3.15,380,3.15,381,3.15,382,3.15,383,4.761,384,3.15,385,3.15,386,1.922,387,3.15,388,3.15,389,3.15,390,1.194,391,3.15,392,1.194,393,1.445,394,1.057,395,3.15,396,2.369,397,1.917,398,3.15,399,3.15,400,2.547,401,2.786,402,1.194,403,1.766,404,1.445,405,2.107,406,2.67,407,3.15,408,0.9,409,3.85,410,3.85,411,5.74,412,4.761,413,4.761,414,7.225,415,4.761,416,7.225,417,6.397,418,3.15,419,3.15,420,1.082,421,2.006,422,2.252,423,3.15,424,4.761,425,1.225,426,3.15,427,4.761,428,3.15,429,3.15,430,3.15,431,3.15,432,2.547,433,3.15,434,3.15,435,3.15,436,4.761,437,2.006,438,3.15,439,3.15,440,3.15,441,3.15,442,1.642,443,3.15,444,1.837,445,2.786,446,3.15,447,2.786,448,3.032,449,2.786,450,3.15,451,3.15]],["title/injectables/AppRootOverlayContainer.html",[109,3.172,452,1.101]],["body/injectables/AppRootOverlayContainer.html",[0,0.09,3,0.104,4,0.126,5,0.092,6,0.105,11,0.452,12,0.846,15,0.565,22,1.331,24,1.208,25,0.009,26,0.786,27,0.926,28,0.991,29,0.948,33,0.172,41,0.126,51,0.005,52,0.007,53,0.005,79,1.915,82,1.874,83,1.932,84,6.453,85,4.137,89,0.452,109,5.17,111,2.132,112,6.599,160,3.167,170,6.202,242,2.614,269,1.346,285,1.289,313,6.472,318,2.376,452,1.794,453,2.951,454,7.763,455,5.179,456,7.979,457,7.979,458,6,459,8.358,460,8.358,461,7.315,462,5.854,463,5.854,464,7.315,465,5.854,466,5.854,467,5.854,468,3.415,469,7.979,470,5.854,471,7.315,472,5.854,473,1.75,474,5.854,475,4.734,476,5.854,477,2.857,478,7.315,479,2.686,480,2.686,481,2.608,482,2.164,483,2.768,484,3.917,485,3.917,486,5.854,487,5.854,488,5.854]],["title/components/AppWebComponent.html",[62,1.404,169,0.663]],["body/components/AppWebComponent.html",[0,0.063,3,0.072,4,0.088,5,0.064,6,0.107,8,1.197,11,0.316,12,0.666,15,0.689,16,1.215,20,1.193,22,1.38,24,0.844,25,0.009,26,0.896,27,0.647,29,0.933,30,1.259,33,0.171,34,1.055,41,0.088,51,0.004,52,0.005,53,0.005,61,1.279,62,2.266,89,0.316,108,1.279,111,1.533,117,6.341,145,4.463,150,1.29,160,2.495,162,4.225,163,5.395,165,5.395,166,2.038,167,1.372,168,4.845,169,0.985,182,5.118,197,2.736,198,2.736,222,1.25,224,1.25,228,1.825,231,1.907,234,2.292,239,1.933,240,1.933,255,1.825,275,1.34,278,0.692,285,1.268,290,1.309,307,5.857,312,0.9,320,4.845,442,2.132,473,1.223,489,1.405,490,1.25,491,7.256,492,3.307,493,6.671,494,1.372,495,5.761,496,1.803,497,3.892,498,2.299,499,7.242,500,6.671,501,6.671,502,6.671,503,6.671,504,6.671,505,5.395,506,5.857,507,4.089,508,5.761,509,5.761,510,4.089,511,4.089,512,4.089,513,4.089,514,4.089,515,4.089,516,4.089,517,4.089,518,4.089,519,4.089,520,4.089,521,4.089,522,4.089,523,3.362,524,4.089,525,4.089,526,4.089,527,3.617,528,2.594,529,4.089,530,7.635,531,4.333,532,4.089,533,4.089,534,4.089,535,5.097,536,4.089,537,4.089,538,4.089,539,3.307,540,4.089,541,2.736,542,4.089,543,4.089,544,3.075,545,4.089,546,4.089,547,4.089,548,4.089,549,4.089,550,3.307,551,6.671,552,1.405,553,1.803,554,1.803,555,1.405,556,2.488,557,1.405,558,1.405,559,1.405,560,1.279,561,1.405,562,1.279,563,1.405,564,1.279,565,1.979,566,1.279,567,1.309,568,1.405,569,1.405,570,1.279,571,1.405,572,1.279,573,1.372,574,1.405,575,1.279,576,1.762,577,1.405,578,1.279,579,1.405,580,1.279,581,1.979,582,1.279,583,1.405,584,1.309,585,1.405,586,1.279,587,1.405,588,1.279,589,1.34,590,1.279,591,1.143,592,2.291,593,1.279,594,1.405,595,1.279,596,1.762,597,1.114,598,1.279,599,1.979,600,1.279,601,1.279,602,1.279,603,1.405,604,1.279,605,1.223,606,1.405,607,1.979,608,1.279,609,1.372,610,1.405,611,1.279,612,1.722,613,1.279,614,1.279,615,1.405,616,1.279,617,1.195,618,1.405,619,1.279,620,1.405,621,1.405]],["title/components/CheckboxComponent.html",[169,0.663,560,1.404]],["body/components/CheckboxComponent.html",[0,0.058,3,0.067,4,0.082,5,0.06,6,0.097,8,1.167,11,0.293,14,0.733,15,0.614,16,0.799,20,1.061,22,1.231,24,1.126,25,0.009,26,0.94,27,0.864,28,0.924,29,1.133,30,1.231,31,2.197,32,2.363,33,0.151,34,1.046,41,0.082,44,3.857,51,0.003,52,0.005,53,0.005,61,1.186,62,1.186,79,1.429,82,0.89,83,1.202,89,0.293,111,0.871,149,2.125,150,0.733,166,1.339,167,1.271,169,1.175,201,5.187,222,1.159,224,1.159,228,1.493,231,1.828,234,2.279,235,1.875,237,1.968,239,1.831,240,1.831,252,1.595,255,1.749,256,3.251,264,2.122,272,3.061,275,1.242,278,0.642,287,2.751,288,3.651,290,1.213,309,2.404,310,1.831,311,1.956,352,3.321,361,2.855,373,1.473,400,4.414,404,3.21,420,1.302,421,3.475,473,1.133,489,1.302,490,1.159,494,1.271,496,1.186,498,2.178,523,2.811,552,1.302,553,1.707,554,1.707,555,1.302,556,2.404,557,1.302,558,1.302,559,1.302,560,2.189,561,1.302,562,1.186,563,1.302,564,1.186,565,1.875,566,1.186,567,1.213,568,1.302,569,1.302,570,1.186,571,1.302,572,1.186,573,1.271,574,1.302,575,1.186,576,1.669,577,1.302,578,1.186,579,1.302,580,1.186,581,1.875,582,1.186,583,1.302,584,1.213,585,1.302,586,1.186,587,1.302,588,1.186,589,1.242,590,1.186,591,1.06,592,2.197,593,1.186,594,1.302,595,1.186,596,1.669,597,1.055,598,1.186,599,1.875,600,1.186,601,1.186,602,1.186,603,1.302,604,1.186,605,1.133,606,1.302,607,1.875,608,1.186,609,1.271,610,1.302,611,1.186,612,1.632,613,1.186,614,1.186,615,1.302,616,1.186,617,1.108,618,1.302,619,1.186,620,1.302,621,1.302,622,1.366,623,3.352,624,1.408,625,5.457,626,4.828,627,7.724,628,2.751,629,5.457,630,7.852,631,6.396,632,5.457,633,5.457,634,6.561,635,4.258,636,2.504,637,5.173,638,2.678,639,3.527,640,5.457,641,3.224,642,3.025,643,1.747,644,1.408,645,4.414,646,3.789,647,3.789,648,5.457,649,4.104,650,5.457,651,5.457,652,3.789,653,2.663,654,5.659,655,4.414,656,3.789,657,7.452,658,3.857,659,6.997,660,2.849,661,4.828,662,3.475,663,3.857,664,5.457,665,6.997,666,5.863,667,3.789,668,4.104,669,3.321,670,5.457,671,4.945,672,3.414,673,3.857,674,5.457,675,5.457,676,2.431,677,3.065,678,1.849,679,1.792,680,3.789,681,5.173,682,3.789,683,5.457,684,3.789,685,3.789,686,3.352,687,2.125,688,2.047,689,3.456,690,3.789,691,3.352,692,3.789,693,2.85,694,3.789,695,2.85,696,2.678,697,3.789,698,2.581,699,1.968,700,1.739,701,1.792,702,2.306,703,2.047,704,2.211,705,2.85,706,2.693,707,2.125,708,2.678,709,5.457,710,3.789,711,1.595,712,2.85,713,3.789,714,3.352]],["title/modules/CheckboxModule.html",[54,1.342,715,3.172]],["body/modules/CheckboxModule.html",[0,0.103,3,0.119,4,0.146,5,0.106,6,0.081,25,0.008,33,0.207,41,0.146,51,0.006,52,0.007,53,0.006,56,2.019,57,2.385,72,2.554,73,1.621,74,1.847,76,2.807,78,2.212,88,2.554,89,0.521,560,2.941,677,5.461,715,6.479,716,5.973,717,5.973,718,5.973,719,6.752,720,2.741,721,2.877,722,2.319,723,7.058,724,6.752]],["title/interfaces/Color.html",[156,0.743,355,1.89]],["body/interfaces/Color.html",[0,0.074,3,0.085,4,0.104,5,0.076,6,0.058,11,0.372,12,0.746,14,1.042,15,0.561,20,1.088,25,0.009,26,0.647,33,0.204,41,0.168,51,0.004,52,0.006,53,0.004,83,1.061,89,0.372,150,1.501,156,1.068,158,1.696,160,2.087,175,2.959,179,1.656,189,1.579,191,2.812,192,1.781,227,2.604,242,1.579,273,3.763,278,0.816,285,1.782,295,2.223,318,1.262,355,3.914,386,1.234,408,1.378,422,2.279,425,1.874,452,1.582,644,2.009,725,3.406,726,2.703,727,3.406,728,5.631,729,6.263,730,4.864,731,3.624,732,4.077,733,2.147,734,3.617,735,2.703,736,4.107,737,2.703,738,3.898,739,3.624,740,3.624,741,3.617,742,4.629,743,3.406,744,3.624,745,3.624,746,3.624,747,3.624,748,3.624,749,3.624,750,3.624,751,3.624,752,3.624,753,3.624,754,3.624,755,3.624,756,3.406,757,3.624,758,3.069,759,3.624,760,3.406,761,5.216,762,7.079,763,5.679,764,2.352,765,7.213,766,4.943,767,3.898,768,3.069,769,2.211,770,5.216,771,2.604,772,5.216,773,3.898,774,3.898,775,3.898,776,3.898,777,5.88,778,5.88,779,3.898,780,3.898,781,5.216,782,3.898,783,3.898,784,3.898,785,3.898,786,3.898,787,3.898,788,3.898,789,3.898,790,3.898,791,4.559,792,3.898,793,5.216,794,5.216,795,5.216,796,5.216,797,3.925,798,3.898,799,3.898,800,3.898,801,3.898]],["title/injectables/ColorAssignmentState.html",[452,1.101,771,2.425]],["body/injectables/ColorAssignmentState.html",[0,0.067,3,0.077,4,0.094,5,0.069,6,0.101,11,0.337,12,0.697,14,1.187,15,0.533,20,1.121,22,1.282,24,1.426,25,0.009,26,1.001,27,1.093,28,1.324,29,1.266,33,0.199,41,0.161,51,0.004,52,0.005,53,0.004,79,1.579,82,1.623,83,1.328,89,0.337,150,1.441,156,0.999,160,2.611,175,2.767,179,1.5,189,1.431,191,2.547,192,1.614,227,2.359,242,1.976,273,3.519,278,1.021,285,1.722,295,2.279,318,1.809,355,3.842,386,1.118,408,1.724,422,2.065,425,1.698,452,1.479,453,2.201,624,0.961,644,1.722,725,5.97,726,4.737,727,3.086,728,5.278,729,5.196,730,5.232,731,3.284,732,4.386,733,1.945,734,3.382,735,2.449,736,4.4,737,2.449,738,3.531,739,3.284,740,3.284,741,3.875,742,4.98,743,3.086,744,3.284,745,3.284,746,3.284,747,3.284,748,3.284,749,3.284,750,3.284,751,3.284,752,3.284,753,3.284,754,3.284,755,3.284,756,3.086,757,3.284,758,2.78,759,3.284,760,3.086,761,4.878,762,6.934,763,5.67,764,2.131,765,7.201,766,5.278,767,4.878,768,2.78,769,2.003,770,4.878,771,3.259,772,6.54,773,4.878,774,4.878,775,4.878,776,4.878,777,5.588,778,5.588,779,3.531,780,3.531,781,6.027,782,3.531,783,3.531,784,3.531,785,3.531,786,3.531,787,3.531,788,3.531,789,3.531,790,3.531,791,4.263,792,3.531,793,4.878,794,4.878,795,4.878,796,4.878,797,3.67,798,3.531,799,3.531,800,3.531,801,3.531,802,6.031,803,6.031,804,6.031,805,4.366,806,1.931,807,4.366,808,4.366,809,4.366,810,4.366,811,4.366,812,4.366,813,4.366,814,4.366]],["title/interfaces/ColorAssignmentStateModel.html",[156,0.743,760,3.172]],["body/interfaces/ColorAssignmentStateModel.html",[0,0.073,3,0.085,4,0.104,5,0.076,6,0.057,11,0.371,12,0.744,14,1.041,15,0.642,20,1.034,25,0.009,26,0.645,33,0.204,41,0.167,51,0.004,52,0.006,53,0.004,83,1.058,89,0.371,150,1.499,156,1.066,158,1.691,160,2.081,175,2.954,179,1.651,189,1.575,191,2.804,192,1.776,227,2.596,242,1.575,273,3.756,278,0.814,285,1.78,295,2.22,318,1.258,355,3.913,386,1.231,408,1.374,422,2.273,425,1.868,452,1.579,644,1.78,725,3.396,726,2.695,727,3.396,728,5.412,729,5.459,730,4.857,731,3.614,732,4.071,733,2.141,734,3.61,735,2.695,736,4.099,737,2.695,738,3.887,739,3.614,740,3.614,741,3.61,742,4.622,743,3.396,744,3.614,745,3.614,746,3.614,747,3.614,748,3.614,749,3.614,750,3.614,751,3.614,752,3.614,753,3.614,754,3.614,755,3.614,756,3.396,757,3.614,758,3.06,759,3.614,760,4.55,761,6.539,762,7.261,763,5.782,764,3.542,765,7.344,766,4.938,767,3.887,768,3.06,769,2.205,770,5.206,771,2.596,772,5.206,773,3.887,774,3.887,775,3.887,776,3.887,777,5.871,778,5.871,779,3.887,780,3.887,781,5.206,782,3.887,783,3.887,784,3.887,785,3.887,786,3.887,787,3.887,788,3.887,789,3.887,790,3.887,791,4.55,792,3.887,793,5.206,794,5.206,795,5.206,796,5.206,797,3.917,798,3.887,799,3.887,800,3.887,801,3.887,815,4.841]],["title/components/ContainerComponent.html",[169,0.663,562,1.404]],["body/components/ContainerComponent.html",[0,0.112,3,0.057,4,0.07,5,0.051,6,0.103,8,1.105,11,0.376,12,0.563,14,0.785,15,0.627,16,0.685,20,0.416,22,1.319,24,1.006,25,0.009,26,0.873,27,0.771,28,0.99,29,0.947,30,1.173,33,0.172,34,1.04,41,0.07,51,0.003,52,0.004,53,0.004,61,1.017,62,1.017,79,1.276,82,1.781,83,1.431,89,0.251,111,0.747,141,2.844,148,1.945,150,1.256,166,1.594,167,1.09,168,4.348,169,1.218,189,1.065,192,1.201,222,0.994,224,1.987,226,3.261,228,2,231,2.477,234,2.25,235,1.674,237,1.757,239,1.635,240,1.635,252,1.425,255,1.6,264,1.895,269,1.743,275,1.065,278,0.99,285,1.431,290,1.04,309,1.674,310,1.635,311,1.987,318,2.348,320,4.348,339,2.297,349,2.378,367,4.739,386,0.832,394,1.09,408,1.394,420,1.116,425,2.274,442,2.542,473,1.457,489,1.116,490,0.994,494,1.09,496,1.017,539,2.628,552,1.116,553,2.179,554,1.525,555,1.116,556,2.232,557,1.116,558,1.116,559,1.116,560,1.017,561,1.116,562,2.033,563,1.116,564,2.033,565,1.674,566,1.017,567,1.04,568,1.116,569,1.116,570,1.017,571,1.116,572,1.017,573,1.09,574,1.116,575,1.017,576,1.491,577,1.116,578,1.017,579,1.116,580,1.017,581,1.674,582,1.017,583,1.116,584,1.04,585,1.116,586,1.017,587,1.116,588,1.017,589,1.917,590,1.017,591,0.909,592,2.009,593,1.017,594,1.116,595,1.017,596,1.491,597,0.942,598,1.017,599,1.674,600,1.017,601,1.017,602,1.017,603,1.116,604,1.017,605,0.972,606,1.116,607,1.674,608,1.017,609,1.09,610,1.116,611,1.017,612,1.457,613,1.017,614,1.017,615,1.116,616,1.017,617,0.95,618,1.116,619,1.017,620,1.116,621,1.116,622,1.172,624,1.288,643,1.56,644,1.073,672,3.568,698,4.068,806,2.081,816,2.628,817,4.73,818,3.28,819,4.312,820,4.874,821,3.578,822,5.849,823,4.874,824,3.631,825,2.854,826,5.849,827,5.849,828,5.073,829,3.942,830,5.256,831,3.645,832,6.499,833,2.305,834,3.445,835,3.525,836,5.849,837,4.312,838,4.874,839,2.457,840,3.51,841,3.645,842,3.666,843,2.172,844,4.874,845,4.874,846,3.378,847,3.25,848,4.312,849,4.874,850,3.666,851,3.445,852,3.25,853,3.073,854,4.312,855,4.874,856,3.25,857,3.445,858,3.25,859,4.874,860,4.874,861,2.948,862,3.25,863,3.261,864,2.236,865,7.582,866,4.874,867,6.499,868,3.25,869,4.593,870,4.312,871,6.499,872,4.874,873,3.25,874,3.445,875,4.312,876,4.874,877,3.25,878,3.913,879,3.666,880,3.25,881,3.25,882,4.312,883,3.25,884,3.25,885,3.25,886,1.491,887,3.25,888,2.875,889,2.875,890,2.444,891,2.628,892,2.069,893,2.875,894,1.823,895,2.875,896,3.942,897,3.25,898,2.875,899,3.25,900,2.875,901,2.334,902,3.412,903,2.628,904,3.25,905,3.25,906,3.25,907,3.25,908,2.174,909,2.628,910,2.875,911,2.444,912,3.25,913,3.25,914,4.312,915,2.069,916,2.734,917,4.312,918,3.25,919,3.25,920,2.174,921,3.25,922,1.977,923,3.25,924,3.25,925,4.874,926,4.874,927,3.25,928,3.25,929,3.25,930,3.25,931,3.25,932,3.25,933,3.25,934,1.537,935,1.977,936,2.966,937,1.822,938,3.25,939,2.875,940,2.875]],["title/components/ContentComponent.html",[169,0.663,564,1.404]],["body/components/ContentComponent.html",[0,0.109,3,0.053,4,0.065,5,0.047,6,0.104,8,1.073,11,0.355,12,0.532,14,0.75,15,0.634,16,0.635,20,0.385,22,1.332,24,1.152,25,0.009,26,0.904,27,0.884,28,1.408,29,1.33,30,1.142,33,0.159,34,1.034,41,0.065,51,0.003,52,0.004,53,0.004,61,0.942,62,0.942,74,0.824,79,1.205,82,1.582,83,1.563,89,0.232,111,0.692,148,1.836,150,1.428,166,1.812,167,1.01,168,4.183,169,1.153,189,0.987,222,0.921,224,2.06,228,1.259,231,2.54,234,2.235,237,1.659,239,1.544,240,1.544,242,2.421,252,1.345,255,1.527,264,2.962,269,1.698,275,0.987,278,0.779,285,1.376,290,0.964,295,1.708,309,1.581,310,1.544,311,2.259,318,2.221,320,4.183,339,2.128,344,2.265,367,3.929,368,2.834,373,2.761,386,1.892,393,1.382,394,1.01,420,1.035,421,2.93,425,1.171,442,1.57,473,1.376,489,1.035,490,0.921,494,1.01,496,1.44,497,1.757,552,1.035,553,2.107,554,1.44,555,1.035,556,2.148,557,1.035,558,1.035,559,1.035,560,0.942,561,1.035,562,0.942,563,1.035,564,1.956,565,1.581,566,0.942,567,0.964,568,1.035,569,1.035,570,0.942,571,1.035,572,0.942,573,1.01,574,1.035,575,0.942,576,1.407,577,1.035,578,0.942,579,1.035,580,0.942,581,1.581,582,0.942,583,1.035,584,0.964,585,1.035,586,0.942,587,1.035,588,0.942,589,1.83,590,0.942,591,0.842,592,1.918,593,0.942,594,1.035,595,0.942,596,1.407,597,0.89,598,0.942,599,1.581,600,0.942,601,0.942,602,0.942,603,1.035,604,0.942,605,0.9,606,1.035,607,1.581,608,0.942,609,1.01,610,1.035,611,0.942,612,1.376,613,0.942,614,0.942,615,1.035,616,0.942,617,0.88,618,1.035,619,0.942,620,1.035,621,1.035,622,1.086,624,1.376,643,1.473,644,1.754,671,2.128,672,3.465,699,3.19,711,2.282,806,2.156,818,3.132,821,3.258,825,2.725,828,4.943,829,3.722,831,3.506,833,2.176,835,3.553,837,4.071,839,2.32,840,3.152,841,3.506,842,3.461,843,2.05,846,3.164,850,3.461,851,3.252,853,2.176,857,3.252,864,2.111,875,4.071,878,3.736,879,3.461,886,1.382,890,2.265,894,1.637,901,2.948,902,4.143,911,2.265,915,1.918,916,1.689,920,2.015,934,1.424,936,1.833,941,2.664,942,4.602,943,7.167,944,2.176,945,4.94,946,5.584,947,6.735,948,5.584,949,5.584,950,6.252,951,4.602,952,4.602,953,4.602,954,6.252,955,6.252,956,6.252,957,4.602,958,3.079,959,4.602,960,4.516,961,4.602,962,4.602,963,4.2,964,4.602,965,4.116,966,4.602,967,3.722,968,3.012,969,3.722,970,3.722,971,3.012,972,3.012,973,4.602,974,2.957,975,2.685,976,4.602,977,5.158,978,3.012,979,4.602,980,3.012,981,3.252,982,3.461,983,4.602,984,6.252,985,2.664,986,3.398,987,2.111,988,2.664,989,2.436,990,3.012,991,3.012,992,2.05,993,3.012,994,3.012,995,3.012,996,3.012,997,3.012,998,2.265,999,2.436,1000,3.132,1001,4.602,1002,3.012,1003,4.602,1004,3.012,1005,1.918,1006,2.015,1007,3.012,1008,3.012,1009,3.012,1010,5.584,1011,3.012,1012,3.012,1013,4.602,1014,3.012,1015,3.012,1016,4.602,1017,3.012,1018,3.012,1019,3.012,1020,1.141,1021,2.128,1022,2.664,1023,1.757,1024,3.012,1025,3.012,1026,3.012,1027,2.015]],["title/interfaces/ContentContainerChanged.html",[156,0.743,1028,2.858]],["body/interfaces/ContentContainerChanged.html",[0,0.082,3,0.095,4,0.116,5,0.085,6,0.064,11,0.415,12,0.801,15,0.726,25,0.009,33,0.127,41,0.196,51,0.005,52,0.006,53,0.005,150,1.038,156,1.341,158,1.89,166,1.699,169,1.238,228,1.894,231,2.622,233,3.594,252,1.57,264,2.693,267,3.134,278,1.173,295,1.643,361,2.993,367,4.041,408,1.536,479,2.464,480,2.464,481,2.393,482,1.985,483,2.54,484,3.594,485,3.594,497,3.134,528,2.981,617,1.57,624,1.183,643,2.217,644,1.525,698,3.276,699,2.497,711,2.025,733,3.608,821,3.517,824,2.801,835,3.663,839,2.708,840,3.491,843,3.415,846,4.087,861,3.491,915,3.42,916,3.884,977,4.41,981,3.796,1005,3.42,1028,4.881,1029,3.42,1030,5.007,1031,4.895,1032,4.895,1033,5.129,1034,3.796,1035,4.41,1036,3.796,1037,3.134,1038,4.215,1039,4.895,1040,4.04,1041,4.04,1042,4.41,1043,4.41,1044,3.742,1045,4.04,1046,2.621,1047,3.796,1048,4.895,1049,3.42,1050,4.299]],["title/modules/CoreModule.html",[54,1.342,63,3.172]],["body/modules/CoreModule.html",[0,0.091,3,0.106,4,0.129,5,0.094,6,0.071,25,0.009,27,0.945,33,0.216,34,0.907,41,0.129,51,0.005,52,0.007,53,0.005,54,2.214,56,1.786,57,2.214,63,6.545,72,2.371,73,1.434,74,1.634,78,2.427,88,2.371,89,0.461,108,1.869,111,1.373,141,3.484,142,4.491,147,5.284,155,4.221,181,3.734,185,5.284,197,3.996,198,3.996,278,1.254,539,4.83,720,2.544,1051,5.284,1052,5.284,1053,5.284,1054,6.545,1055,6.233,1056,6.233,1057,5.972,1058,7.407,1059,5.972,1060,5.235,1061,7.407,1062,5.972,1063,7.407,1064,5.972,1065,5.972,1066,5.284,1067,5.972,1068,5.235,1069,5.972,1070,4.221,1071,4.83,1072,5.972,1073,5.972,1074,5.972,1075,5.972,1076,5.972,1077,5.972,1078,5.972,1079,5.972,1080,5.972,1081,5.284,1082,8.051,1083,5.972,1084,4.83,1085,5.972]],["title/interfaces/DataStateModel.html",[156,0.743,1086,3.375]],["body/interfaces/DataStateModel.html",[0,0.043,3,0.049,4,0.141,5,0.044,6,0.033,11,0.335,12,0.502,14,1.198,15,0.574,18,0.855,20,0.681,25,0.009,26,0.375,27,1.03,28,0.473,29,0.703,31,3.169,33,0.184,34,0.6,35,1.458,41,0.13,51,0.007,52,0.004,53,0.003,82,1.834,83,1.681,89,0.216,108,0.875,148,1.115,149,1.568,150,0.84,155,1.976,156,0.719,158,0.984,160,1.21,166,0.686,175,1.993,177,1.631,179,0.96,180,4.863,181,2.19,186,2.907,187,3.204,188,2.102,189,0.916,190,1.631,191,1.631,192,1.033,209,3.514,210,1.51,234,0.686,252,1.903,254,3.071,255,1.458,256,1.734,262,4.008,269,0.643,270,2.102,278,1.322,285,1.719,287,1.409,288,1.87,295,2.336,296,2.473,299,1.51,300,2.261,303,5.409,309,0.96,310,0.938,311,2.431,312,1.945,315,1.734,318,2.189,352,1.701,361,1.033,403,2.437,422,2.52,425,1.087,442,3.751,452,1.066,473,1.299,479,1.282,480,1.282,481,2.374,482,1.033,528,1.087,576,0.855,605,1.797,612,1.299,624,0.615,628,4.215,643,1.391,644,0.615,688,1.51,732,3.651,733,1.245,734,2.437,735,1.568,737,1.568,741,4.528,769,1.282,797,3.657,839,1.409,846,1.245,891,4.31,892,1.78,896,4.31,901,1.115,974,1.322,975,3.109,1000,1.568,1037,3.109,1049,1.78,1086,3.267,1087,1.976,1088,5.759,1089,5.759,1090,7.523,1091,6.891,1092,5.817,1093,6.891,1094,3.514,1095,1.51,1096,3.766,1097,5.743,1098,2.473,1099,4.345,1100,1.059,1101,1.409,1102,4.345,1103,7.436,1104,4.345,1105,3.844,1106,2.102,1107,5.329,1108,2.795,1109,2.795,1110,4.345,1111,2.473,1112,2.473,1113,1.51,1114,1.976,1115,2.266,1116,2.347,1117,2.795,1118,4.008,1119,2.102,1120,2.473,1121,2.473,1122,2.473,1123,2.102,1124,2.261,1125,2.261,1126,1.976,1127,2.473,1128,2.473,1129,1.631,1130,6.441,1131,1.631,1132,2.795,1133,2.261,1134,2.261,1135,4.715,1136,5.182,1137,2.261,1138,5.317,1139,2.261,1140,3.844,1141,2.795,1142,1.701,1143,1.78,1144,2.473,1145,2.473,1146,2.795,1147,3.844,1148,2.473,1149,2.261,1150,2.473,1151,2.473,1152,2.261,1153,7.17,1154,1.78,1155,5.592,1156,2.779,1157,2.261,1158,1.976,1159,2.795,1160,2.795,1161,2.795,1162,2.795,1163,2.795,1164,2.473,1165,2.795,1166,2.795,1167,2.795,1168,5.409,1169,4.345,1170,2.795,1171,4.345,1172,2.795,1173,4.345,1174,2.795,1175,4.345,1176,2.795,1177,4.345,1178,2.795,1179,4.345,1180,2.795,1181,4.345,1182,2.795,1183,4.345,1184,3.267,1185,4.345,1186,4.345,1187,4.345,1188,2.795,1189,4.345,1190,7.192,1191,2.795,1192,2.795,1193,4.345,1194,3.844,1195,2.795,1196,2.795,1197,6.01,1198,4.345,1199,2.795,1200,2.795,1201,4.345,1202,2.795,1203,2.795,1204,4.345,1205,2.795,1206,2.795,1207,3.844,1208,4.345,1209,2.795,1210,2.795,1211,4.345,1212,4.345,1213,2.795,1214,2.795,1215,2.795,1216,2.795,1217,2.795,1218,2.795,1219,2.795,1220,2.795,1221,2.795,1222,2.795,1223,2.795,1224,2.795,1225,2.795,1226,2.795,1227,2.795,1228,2.795,1229,2.795,1230,2.795,1231,2.795,1232,2.795,1233,2.795,1234,2.795,1235,1.78,1236,2.795,1237,2.795,1238,2.795,1239,2.795,1240,2.795,1241,2.795,1242,2.795,1243,2.795,1244,2.795,1245,2.261,1246,2.795,1247,2.795,1248,2.795,1249,2.795,1250,2.795,1251,2.795,1252,2.795,1253,2.795,1254,2.795,1255,2.795,1256,2.795,1257,2.795,1258,2.795,1259,2.795,1260,2.795,1261,2.795,1262,1.568,1263,2.795,1264,2.795,1265,4.345,1266,2.266,1267,2.795,1268,2.795,1269,2.473,1270,2.795,1271,3.827,1272,2.795,1273,2.795,1274,2.795,1275,1.976,1276,2.795,1277,1.701,1278,1.87,1279,2.795,1280,2.795,1281,2.795,1282,2.795,1283,2.795,1284,4.895,1285,2.795,1286,2.795,1287,7.192,1288,2.795,1289,2.795,1290,2.795,1291,2.795,1292,2.795,1293,2.795,1294,2.795,1295,2.795,1296,2.795,1297,2.795,1298,2.795,1299,2.795,1300,2.795,1301,2.795,1302,2.795,1303,2.795,1304,2.795]],["title/classes/DataStateSelectors.html",[0,0.069,207,2.425]],["body/classes/DataStateSelectors.html",[0,0.094,2,2.333,3,0.109,4,0.133,5,0.097,6,0.102,11,0.475,13,2.56,15,0.63,22,1.262,24,1.684,25,0.009,26,1.096,27,1.291,31,2.999,33,0.192,34,0.693,35,1.684,41,0.133,51,0.006,52,0.007,53,0.006,79,1.975,82,1.917,111,1.735,179,2.115,180,5.558,207,4.077,210,3.326,234,1.51,285,1.797,295,2.496,406,4.232,806,2.613,1086,6.927,1088,6.676,1089,6.676,1305,5.446,1306,7.546,1307,8.16,1308,6.155,1309,7.546,1310,6.155,1311,7.546,1312,6.155,1313,6.155,1314,8.16,1315,6.155,1316,6.155,1317,6.155]],["title/interfaces/DefaultIconDefinition.html",[156,0.743,1318,3.375]],["body/interfaces/DefaultIconDefinition.html",[3,0.066,4,0.081,5,0.059,6,0.045,11,0.289,12,0.626,15,0.537,20,1.1,25,0.009,26,1.271,27,1.285,31,1.287,41,0.117,47,2.774,51,0.003,52,0.005,53,0.003,116,6.307,150,0.724,156,0.62,158,1.318,226,2.507,271,5.526,272,3.036,368,2.946,373,2.871,406,2.101,553,2.482,624,0.825,843,1.669,922,3.294,992,1.669,1278,2.507,1318,4.779,1319,2.648,1320,3.03,1321,3.03,1322,3.03,1323,4.759,1324,3.315,1325,4.378,1326,3.747,1327,3.747,1328,2.648,1329,3.747,1330,3.315,1331,3.03,1332,3.315,1333,7.116,1334,4.071,1335,5.235,1336,5.63,1337,4.071,1338,2.507,1339,3.03,1340,2.648,1341,4.586,1342,3.315,1343,8.307,1344,3.315,1345,3.315,1346,3.315,1347,4.789,1348,3.315,1349,3.315,1350,3.315,1351,3.315,1352,3.315,1353,3.315,1354,6.158,1355,6.158,1356,6.532,1357,6.532,1358,2.818,1359,3.315,1360,5.218,1361,3.315,1362,3.315,1363,3.315,1364,4.789,1365,4.789,1366,4.789,1367,3.315,1368,3.315,1369,3.315,1370,3.315,1371,6.532,1372,3.315,1373,4.789,1374,3.315,1375,3.315,1376,3.315,1377,3.315,1378,3.315,1379,3.315,1380,3.315,1381,3.315,1382,3.315,1383,3.315,1384,3.315,1385,6.158,1386,4.789,1387,3.315,1388,3.315,1389,3.315,1390,3.315,1391,4.789,1392,3.315,1393,3.315,1394,3.03,1395,3.315,1396,3.315,1397,3.315,1398,3.315,1399,3.315,1400,4.378,1401,4.378,1402,3.03,1403,3.315,1404,2.818,1405,3.315,1406,3.315,1407,3.315,1408,3.315,1409,3.315,1410,3.315,1411,3.315,1412,6.158,1413,3.315,1414,3.315,1415,6.158,1416,3.315,1417,3.315,1418,2.818,1419,3.315,1420,3.315,1421,6.532,1422,3.315,1423,4.789,1424,3.315,1425,3.03,1426,3.315,1427,3.03,1428,3.315,1429,3.315]],["title/interfaces/DelegateDataSourceOptions.html",[156,0.743,1430,3.375]],["body/interfaces/DelegateDataSourceOptions.html",[0,0.098,3,0.113,4,0.138,5,0.101,6,0.076,11,0.493,12,0.892,15,0.595,20,1.06,25,0.009,27,1.363,33,0.203,34,0.719,41,0.167,51,0.006,52,0.007,53,0.006,89,0.493,108,1.997,111,1.467,150,1.234,156,1.057,158,2.246,160,2.764,166,2.034,197,4.27,198,4.27,285,1.825,312,1.405,408,1.825,452,1.892,458,4.8,468,3.724,505,7.247,506,7.247,531,4.8,591,1.785,1068,4.511,1070,4.511,1071,5.162,1430,6.235,1431,4.511,1432,4.8,1433,6.825,1434,6.825,1435,6.825,1436,5.647,1437,6.825,1438,5.452,1439,5.801,1440,5.647,1441,5.647]],["title/injectables/DelegateDataSourceService.html",[452,1.101,1068,3.172]],["body/injectables/DelegateDataSourceService.html",[0,0.097,3,0.112,4,0.137,5,0.1,6,0.092,11,0.49,15,0.49,20,0.811,22,0.981,24,1.309,25,0.009,26,0.852,27,1.004,33,0.203,34,0.714,41,0.166,51,0.006,52,0.007,53,0.006,79,2.012,82,1.49,89,0.49,108,1.984,111,1.458,150,1.226,156,1.05,160,3.327,166,1.556,197,4.243,198,4.243,285,1.82,312,1.396,408,1.813,452,1.885,453,3.197,458,6.218,468,3.7,505,6.687,506,6.687,531,4.77,591,2.149,1068,5.431,1070,5.431,1071,5.129,1430,6.463,1431,5.431,1432,4.77,1433,7.315,1434,6.799,1435,6.799,1436,5.611,1437,7.315,1438,5.431,1439,5.779,1440,6.799,1441,5.611,1442,7.685,1443,6.342]],["title/components/DonorCardComponent.html",[169,0.663,566,1.404]],["body/components/DonorCardComponent.html",[0,0.102,3,0.118,4,0.056,5,0.041,6,0.098,8,1.01,11,0.2,12,0.474,14,0.897,15,0.612,16,0.548,20,0.895,22,1.26,24,0.846,25,0.009,26,0.939,27,0.649,28,1.185,29,1.082,30,1.082,33,0.12,34,1.022,35,0.71,41,0.056,47,2.409,48,2.564,50,2.647,51,0.002,52,0.004,53,0.004,61,0.813,62,0.813,74,0.71,79,1.074,82,1.194,83,1.471,89,0.2,111,0.597,149,1.456,166,1.247,167,0.871,169,1.188,222,0.794,224,0.794,226,1.738,228,1.122,231,1.453,234,2.201,235,1.409,237,1.479,239,1.376,240,1.376,242,2.292,253,3.628,254,2.899,255,1.39,269,0.597,271,3.898,275,0.851,278,0.978,282,3.317,287,2.067,288,2.744,290,0.831,295,2.283,309,1.409,310,1.376,311,1.254,312,0.903,355,2.946,361,1.516,368,2.666,373,1.976,386,2.031,420,2.295,425,2.245,437,3.676,473,2.092,477,3.067,482,1.516,489,0.892,490,0.794,494,0.871,496,0.813,498,1.637,523,2.532,552,0.892,553,1.967,554,1.967,555,0.892,556,1.983,557,0.892,558,0.892,559,0.892,560,0.813,561,0.892,562,0.813,563,0.892,564,0.813,565,1.409,566,1.806,567,2.774,568,0.892,569,0.892,570,0.813,571,0.892,572,0.813,573,0.871,574,0.892,575,0.813,576,1.254,577,0.892,578,0.813,579,0.892,580,0.813,581,1.409,582,0.813,583,0.892,584,0.831,585,0.892,586,0.813,587,0.892,588,0.813,589,1.666,590,0.813,591,0.726,592,1.746,593,0.813,594,0.892,595,0.813,596,1.254,597,0.793,598,0.813,599,1.409,600,0.813,601,0.813,602,0.813,603,0.892,604,0.813,605,0.776,606,0.892,607,1.409,608,0.813,609,0.871,610,0.892,611,0.813,612,2.168,613,0.813,614,1.59,615,0.892,616,0.813,617,0.759,618,0.892,619,0.813,620,0.892,621,0.892,622,0.936,624,1.384,630,6.897,636,1.882,638,1.835,639,2.91,641,2.562,642,2.404,643,1.313,653,2.001,657,5.561,660,2.801,661,5.108,672,2.001,676,2.265,678,1.267,679,1.228,687,2.851,688,2.746,689,3.61,691,3.628,695,3.084,696,4.08,698,1.228,699,2.859,700,2.649,701,2.404,702,4.413,703,3.78,704,2.965,706,3.143,711,2.279,806,0.831,833,1.94,835,2.366,851,2.899,853,2.73,864,1.882,886,1.192,894,1.331,902,2.393,916,2.3,934,1.228,935,2.496,936,2.496,937,1.456,944,3.16,963,1.953,965,3.396,987,1.192,992,2.572,1000,2.3,1020,2.651,1023,1.515,1027,3.401,1044,4.13,1101,2.562,1131,1.515,1323,2.216,1425,3.317,1427,3.317,1444,5.244,1445,6.661,1446,6.194,1447,2.298,1448,7.48,1449,3.628,1450,3.628,1451,5.083,1452,4.101,1453,4.497,1454,5.083,1455,5.773,1456,4.101,1457,5.773,1458,5.084,1459,3.822,1460,5.083,1461,4.101,1462,2.597,1463,5.025,1464,3.61,1465,4.47,1466,2.597,1467,2.597,1468,2.597,1469,2.597,1470,2.597,1471,2.597,1472,3.747,1473,4.101,1474,2.597,1475,4.669,1476,3.084,1477,4.101,1478,2.597,1479,3.628,1480,3.628,1481,2.612,1482,4.101,1483,4.101,1484,2.899,1485,2.393,1486,2.597,1487,3.317,1488,3.084,1489,3.317,1490,3.084,1491,6.682,1492,2.597,1493,5.083,1494,5.083,1495,4.101,1496,5.108,1497,2.597,1498,2.597,1499,2.597,1500,3.317,1501,3.628,1502,3.628,1503,5.911,1504,5.773,1505,4.101,1506,4.101,1507,4.101,1508,4.101,1509,4.101,1510,4.101,1511,1.228,1512,1.58,1513,3.26,1514,3.16,1515,2.496,1516,1.94,1517,0.759,1518,2.1,1519,2.139,1520,2.746,1521,2.562,1522,2.597,1523,2.597,1524,2.597,1525,2.597,1526,2.298,1527,2.597,1528,2.1,1529,2.597,1530,2.597,1531,3.822,1532,2.597,1533,1.835,1534,2.973,1535,2.746,1536,3.093,1537,3.084,1538,1.835,1539,1.835,1540,6.416,1541,1.456,1542,4.727,1543,2.1,1544,3.401,1545,3.822,1546,2.597,1547,3.628,1548,2.597,1549,2.597,1550,2.597,1551,2.597,1552,2.597,1553,2.597,1554,1.403,1555,2.597,1556,2.73,1557,1.654,1558,2.1,1559,2.1,1560,3.093,1561,2.298,1562,2.1,1563,3.628,1564,2.298,1565,2.597,1566,2.393,1567,2.597,1568,2.597,1569,2.298,1570,2.298,1571,2.298,1572,1.654,1573,2.298]],["title/modules/DonorCardModule.html",[54,1.342,1574,3.172]],["body/modules/DonorCardModule.html",[0,0.097,3,0.112,4,0.137,5,0.1,6,0.076,25,0.009,33,0.214,41,0.137,51,0.006,52,0.007,53,0.006,56,1.901,57,2.301,72,2.464,73,1.526,74,1.739,76,2.708,78,2.522,88,2.464,89,0.491,92,3.531,93,2.753,566,2.92,567,2.036,612,1.901,614,2.408,677,5.142,720,2.644,721,2.775,722,2.184,723,6.809,1444,4.049,1445,5.142,1446,4.782,1574,6.571,1575,5.625,1576,5.625,1577,5.625,1578,5.625,1579,6.327,1580,6.327,1581,6.358,1582,6.358,1583,4.494,1584,6.358,1585,6.358,1586,4.782,1587,6.358]],["title/interfaces/DrawerContainersChanged.html",[156,0.743,1035,2.858]],["body/interfaces/DrawerContainersChanged.html",[0,0.081,3,0.094,4,0.115,5,0.084,6,0.064,11,0.411,12,0.796,15,0.726,25,0.009,33,0.126,41,0.196,51,0.005,52,0.006,53,0.005,150,1.03,156,1.337,158,1.874,166,1.689,169,1.192,228,2.088,231,2.641,233,3.563,252,1.557,264,2.678,267,3.107,278,0.902,295,1.629,361,2.983,367,4.877,408,1.969,479,2.444,480,2.444,481,2.373,482,1.968,483,2.519,484,3.563,485,3.563,497,3.107,528,2.968,617,1.557,624,1.173,643,2.205,644,1.517,698,3.258,699,2.484,711,2.014,733,3.596,821,3.503,824,2.777,835,3.308,839,2.685,840,3.472,843,3.069,846,4.082,861,3.472,915,3.391,916,3.863,977,4.386,981,4.868,1005,3.391,1028,4.386,1029,3.391,1030,4.996,1031,4.868,1032,4.868,1033,5.108,1034,3.764,1035,4.861,1036,4.868,1037,4.019,1038,4.192,1039,4.868,1040,4.005,1041,4.005,1042,4.386,1043,4.386,1044,3.722,1045,4.005,1046,2.599,1047,3.764,1048,4.868,1049,3.391,1050,4.282]],["title/interfaces/DrawerInitialized.html",[156,0.743,1042,2.858]],["body/interfaces/DrawerInitialized.html",[0,0.083,3,0.096,4,0.117,5,0.085,6,0.065,11,0.418,12,0.804,15,0.726,25,0.009,33,0.128,41,0.196,51,0.005,52,0.006,53,0.005,150,1.046,156,1.345,158,1.904,166,1.707,169,1.136,228,1.904,231,2.636,233,3.621,252,1.582,264,2.706,267,3.157,278,0.916,295,1.655,361,2.843,367,4.06,408,1.547,479,2.483,480,2.483,481,2.411,482,2,483,2.559,484,3.621,485,3.621,497,3.157,528,2.991,617,1.582,624,1.192,643,2.228,644,1.532,698,3.291,699,2.509,711,2.035,733,3.618,821,3.53,824,2.822,835,3.328,839,2.728,840,3.508,843,3.101,846,4.091,861,3.508,915,3.446,916,3.903,977,4.432,981,3.825,1005,3.446,1028,4.432,1029,3.446,1030,5.017,1031,4.919,1032,4.919,1033,5.147,1034,3.825,1035,4.432,1036,3.825,1037,3.157,1038,4.235,1039,4.919,1040,5.234,1041,5.234,1042,4.899,1043,4.432,1044,3.76,1045,4.07,1046,2.641,1047,3.825,1048,4.919,1049,3.446,1050,4.315]],["title/modules/DrawerModule.html",[54,1.342,64,3.172]],["body/modules/DrawerModule.html",[0,0.093,3,0.107,4,0.131,5,0.095,6,0.072,25,0.009,33,0.215,41,0.131,51,0.005,52,0.007,53,0.005,56,1.809,57,2.233,64,6.636,72,2.391,73,1.453,74,1.655,76,2.628,78,1.983,88,2.391,89,0.467,92,3.426,93,2.62,99,6.606,100,4.996,101,3.394,102,6.606,103,5.354,141,3.53,142,4.551,143,4.894,224,2.837,562,2.902,564,2.902,616,2.902,617,1.769,720,2.565,889,5.354,890,4.551,1034,4.277,1588,5.354,1589,5.354,1590,5.354,1591,6.051,1592,4.755,1593,4.755,1594,6.051,1595,4.894,1596,6.051]],["title/interfaces/DrawerToggled.html",[156,0.743,1043,2.858]],["body/interfaces/DrawerToggled.html",[0,0.079,3,0.091,4,0.112,5,0.081,6,0.062,11,0.399,12,0.781,15,0.728,25,0.009,33,0.122,41,0.195,51,0.005,52,0.006,53,0.005,150,0.999,156,1.321,158,1.818,166,2.083,169,1.111,228,1.847,231,2.656,233,3.457,252,1.974,264,3.102,267,3.94,278,0.875,295,2.065,361,2.949,367,3.94,408,1.477,479,2.371,480,2.371,481,2.302,482,1.91,483,2.443,484,3.457,485,3.457,497,3.014,528,2.925,617,1.974,624,1.138,643,2.162,644,1.87,698,3.194,699,3.062,711,2.483,733,3.555,821,3.452,824,2.694,835,3.27,839,3.405,840,3.405,843,3.009,846,4.066,861,3.405,915,3.29,916,3.788,977,5.408,981,3.652,1005,3.29,1028,4.3,1029,3.29,1030,4.83,1031,4.773,1032,4.773,1033,5.034,1034,3.652,1035,4.3,1036,3.652,1037,3.014,1038,4.11,1039,4.773,1040,3.886,1041,3.886,1042,4.3,1043,4.791,1044,4.589,1045,5.079,1046,3.296,1047,4.773,1048,4.773,1049,3.29,1050,4.22]],["title/components/DropdownComponent.html",[169,0.663,570,1.404]],["body/components/DropdownComponent.html",[0,0.055,3,0.063,4,0.077,5,0.056,6,0.098,8,1.144,11,0.276,12,0.605,14,0.703,15,0.604,16,0.754,20,1.063,22,1.24,24,1.08,25,0.009,26,0.914,27,0.828,28,0.606,29,1.298,30,1.209,33,0.123,34,1.043,41,0.077,48,2.754,51,0.003,52,0.005,53,0.005,61,1.119,62,1.119,79,1.37,82,1.229,83,1.499,89,0.276,111,0.822,149,2.006,167,1.2,169,1.208,178,3.053,201,4.614,222,1.094,224,1.094,228,1.431,231,1.769,234,2.269,235,1.797,237,1.887,239,1.755,240,1.755,252,1.53,255,1.693,256,3.021,275,1.172,278,1.048,287,2.638,289,2.393,290,1.145,309,1.797,310,1.755,311,1.6,337,2.689,368,2.718,373,2.034,386,1.744,425,1.39,432,2.892,473,1.069,475,4.232,477,3.02,489,1.228,490,1.094,494,1.2,496,1.119,498,2.088,523,2.581,552,1.228,553,1.637,554,1.637,555,1.228,556,2.339,557,1.228,558,1.228,559,1.228,560,1.119,561,1.228,562,1.119,563,1.228,564,1.119,565,1.797,566,1.119,567,1.145,568,1.228,569,1.228,570,2.131,571,1.228,572,1.119,573,1.2,574,1.228,575,1.119,576,1.6,577,1.228,578,1.119,579,1.228,580,1.119,581,1.797,582,1.119,583,1.228,584,1.145,585,1.228,586,1.119,587,1.228,588,1.119,589,1.172,590,1.119,591,1,592,2.126,593,1.119,594,1.228,595,1.119,596,1.6,597,1.012,598,1.119,599,1.797,600,1.119,601,1.119,602,1.119,603,1.228,604,1.119,605,1.069,606,1.228,607,1.797,608,1.119,609,1.2,610,1.228,611,1.119,612,1.564,613,1.119,614,1.119,615,1.228,616,1.119,617,1.045,618,1.228,619,1.119,620,1.228,621,1.228,622,1.289,624,1.362,628,2.638,635,3.765,636,2.401,637,5.005,638,2.527,639,3.433,641,3.119,642,2.926,643,1.675,660,2.757,666,5.365,676,2.331,678,1.745,679,1.691,681,2.892,687,4.064,688,3.915,689,4.332,696,3.698,700,2.401,701,3.427,703,3.343,704,2.086,705,2.689,706,1.506,711,2.286,894,0.936,916,2.935,960,5.507,965,2.827,974,2.475,986,2.176,987,1.641,992,2.757,1020,2.581,1106,3.935,1131,2.086,1511,1.691,1512,3.765,1514,3.58,1516,3.22,1533,2.527,1534,1.691,1541,2.006,1554,1.932,1556,2.475,1597,3.164,1598,7.019,1599,6.485,1600,6.188,1601,5.232,1602,6.188,1603,5.232,1604,6.81,1605,5.232,1606,3.576,1607,4.232,1608,3.576,1609,5.232,1610,3.053,1611,3.576,1612,3.576,1613,5.232,1614,3.576,1615,3.576,1616,5.232,1617,5.507,1618,5.507,1619,3.935,1620,3.935,1621,4.41,1622,5.232,1623,3.576,1624,3.576,1625,3.576,1626,4.629,1627,5.232,1628,3.576,1629,4.629,1630,4.979,1631,4.562,1632,4.14,1633,6.188,1634,2.689,1635,2.689,1636,3.02,1637,2.689,1638,4.556,1639,3.935,1640,2.393,1641,5.121,1642,2.527,1643,4.629,1644,2.689,1645,3.576,1646,3.164,1647,3.164,1648,3.935,1649,3.164,1650,3.576,1651,1.932,1652,3.576,1653,2.086,1654,2.176,1655,3.576,1656,2.892,1657,3.576,1658,2.689,1659,3.164,1660,3.576]],["title/modules/DropdownModule.html",[54,1.342,1661,3.172]],["body/modules/DropdownModule.html",[0,0.102,3,0.118,4,0.144,5,0.105,6,0.08,25,0.009,33,0.211,41,0.144,51,0.006,52,0.007,53,0.006,56,2,57,2.372,72,2.54,73,1.605,74,1.83,76,2.792,78,2.192,88,2.54,89,0.516,570,2.938,720,2.725,721,2.861,722,2.298,1631,3.902,1661,6.467,1662,5.918,1663,5.918,1664,5.918,1665,6.689,1666,5.966,1667,5.03,1668,5.966,1669,5.03,1670,6.689]],["title/components/DualSliderComponent.html",[169,0.663,572,1.404]],["body/components/DualSliderComponent.html",[0,0.031,3,0.036,4,0.044,5,0.032,6,0.102,8,0.905,11,0.158,12,0.581,13,1.405,14,0.454,15,0.609,16,0.713,20,0.711,22,1.317,24,1.308,25,0.009,26,0.951,27,1.003,28,0.732,29,1.292,30,0.981,33,0.131,34,0.988,41,0.044,48,1.162,50,1.425,51,0.002,52,0.003,53,0.003,61,0.64,62,0.64,79,0.886,82,1.664,83,1.757,85,1.447,89,0.158,96,1.656,111,0.471,132,6.047,148,1.35,150,1.282,169,1.046,170,4.686,172,1.656,178,1.194,201,4.625,222,0.626,224,0.626,228,0.926,231,1.236,234,2.139,235,1.162,237,1.22,242,2.253,252,1.752,255,1.183,256,2.646,257,3.498,264,1.953,269,1.279,275,0.671,278,0.732,285,1.225,287,2.532,289,5.058,290,0.655,309,1.726,310,1.135,311,1.832,318,1.902,337,1.54,360,4.063,361,2.214,368,1.726,373,1.682,376,6.979,386,1.761,393,1.552,396,2.545,402,0.776,408,0.967,420,2.058,422,1.6,425,1.682,473,0.612,475,2.737,477,1.651,479,1.984,480,1.984,482,1.598,489,0.703,490,0.626,494,0.687,496,1.353,497,2.931,498,1.35,523,2.271,552,0.703,553,1.059,554,2.438,555,0.703,556,1.726,557,0.703,558,0.703,559,0.703,560,0.64,561,0.703,562,0.64,563,0.703,564,0.64,565,1.162,566,0.64,567,0.655,568,0.703,569,0.703,570,0.64,571,0.703,572,1.572,573,2.376,574,0.703,575,0.64,576,1.035,577,0.703,578,0.64,579,0.703,580,0.64,581,1.162,582,0.64,583,0.703,584,0.655,585,0.703,586,0.64,587,0.703,588,0.64,589,0.671,590,0.64,591,0.572,592,1.486,593,0.64,594,0.703,595,0.64,596,1.035,597,0.654,598,0.64,599,1.162,600,0.64,601,0.64,602,0.64,603,0.703,604,0.64,605,0.612,606,0.703,607,1.162,608,0.64,609,0.687,610,0.703,611,0.64,612,1.012,613,0.64,614,0.64,615,0.703,616,0.64,617,0.598,618,0.703,619,0.64,620,0.703,621,0.703,622,1.22,624,1.46,628,2.532,635,4.516,636,1.552,637,3.498,639,2.532,641,2.532,642,2.045,643,1.608,644,1.46,655,1.656,658,2.391,660,1.927,672,4.004,676,1.508,678,0.999,679,0.968,681,1.656,686,1.811,687,2.817,688,2.714,689,3.005,696,1.447,699,2.006,700,2.552,701,2.376,703,3.005,704,1.974,705,2.545,706,2.67,707,1.898,711,1.854,766,2.754,806,1.385,818,3.12,831,2.817,834,2.391,835,0.839,841,1.898,843,2.954,853,1.6,857,2.391,894,0.886,901,1.35,902,1.194,916,1.148,922,2.059,937,1.148,940,4.444,944,1.6,960,4.499,965,3.426,974,3.251,987,0.939,992,2.478,1020,2.271,1037,2.931,1046,3.235,1106,2.545,1131,1.194,1275,3.55,1284,2.545,1465,3.361,1472,1.898,1481,3.199,1485,1.974,1511,0.968,1512,2.059,1513,2.11,1514,2.834,1515,1.246,1516,1.6,1519,1.068,1521,3.662,1534,2.376,1535,1.106,1541,1.148,1554,1.106,1556,2.045,1607,2.737,1617,2.737,1618,2.737,1620,4.506,1621,3.385,1626,2.994,1629,2.994,1630,3.542,1631,3.245,1632,2.264,1634,1.54,1635,2.545,1636,2.451,1637,1.54,1638,3.361,1639,2.545,1640,1.37,1641,3.778,1642,2.391,1643,2.994,1646,1.811,1647,1.811,1648,2.545,1649,1.811,1651,1.106,1653,1.194,1656,2.737,1658,1.54,1659,1.811,1671,6.92,1672,1.811,1673,2.545,1674,6.441,1675,3.253,1676,4.325,1677,3.384,1678,4.325,1679,6.63,1680,5.991,1681,6.63,1682,6.874,1683,6.34,1684,5.024,1685,5.024,1686,3.384,1687,5.024,1688,2.545,1689,3.384,1690,3.384,1691,5.991,1692,5.024,1693,5.024,1694,4.325,1695,2.994,1696,3.384,1697,3.384,1698,5.563,1699,2.047,1700,3.384,1701,2.994,1702,3.384,1703,2.545,1704,2.047,1705,3.384,1706,2.047,1707,6.874,1708,2.047,1709,2.545,1710,3.384,1711,2.047,1712,2.545,1713,4.921,1714,2.047,1715,4.921,1716,4.325,1717,4.444,1718,5.024,1719,5.024,1720,4.063,1721,4.444,1722,5.024,1723,2.62,1724,5.024,1725,2.047,1726,3.384,1727,3.384,1728,2.047,1729,2.047,1730,2.155,1731,2.545,1732,3.778,1733,2.047,1734,3.384,1735,2.047,1736,3.384,1737,2.994,1738,2.047,1739,4.921,1740,2.047,1741,6.34,1742,4.325,1743,5.024,1744,3.498,1745,3.384,1746,2.047,1747,5.024,1748,2.047,1749,2.994,1750,2.047,1751,3.384,1752,2.047,1753,3.826,1754,2.047,1755,2.047,1756,5.024,1757,2.737,1758,2.047,1759,2.994,1760,2.047,1761,2.047,1762,2.047,1763,3.384,1764,3.384,1765,2.047,1766,2.737,1767,4.325,1768,3.384,1769,2.047,1770,2.047,1771,2.047,1772,3.384,1773,2.994,1774,3.384,1775,1.811,1776,1.656,1777,4.063,1778,2.047,1779,2.047,1780,2.047,1781,2.047,1782,3.384,1783,2.047,1784,2.047,1785,2.047,1786,1.656,1787,2.047,1788,2.047,1789,2.047,1790,1.811,1791,2.047,1792,3.384,1793,2.047,1794,3.384,1795,2.047,1796,2.047,1797,3.384,1798,3.384,1799,2.047,1800,4.325,1801,2.047,1802,2.047,1803,2.047,1804,2.047,1805,2.047,1806,2.047,1807,2.047,1808,2.047,1809,2.047,1810,2.047,1811,3.384,1812,4.325,1813,3.384,1814,4.325,1815,2.047,1816,2.047,1817,2.047,1818,2.047,1819,2.047,1820,2.047,1821,5.024,1822,2.047,1823,2.047,1824,2.047,1825,3.384,1826,3.384,1827,3.384,1828,2.047,1829,2.059,1830,2.047,1831,2.047,1832,2.391,1833,2.047,1834,2.047,1835,2.047,1836,3.384,1837,2.047,1838,2.047,1839,2.047,1840,2.047,1841,1.656,1842,3.384,1843,1.656,1844,2.047,1845,2.047,1846,2.047]],["title/modules/DualSliderModule.html",[54,1.342,65,3.003]],["body/modules/DualSliderModule.html",[0,0.099,3,0.115,4,0.14,5,0.102,6,0.077,25,0.009,33,0.216,41,0.14,51,0.006,52,0.007,53,0.006,56,1.938,57,2.328,65,6.084,72,2.493,73,1.556,74,1.773,76,2.74,78,2.124,85,4.581,88,2.493,89,0.5,132,4.581,572,2.927,573,2.174,720,2.675,721,2.807,722,2.227,1631,3.781,1666,5.855,1667,4.874,1668,5.855,1669,4.874,1671,5.242,1674,4.581,1775,5.734,1777,5.242,1847,5.734,1848,5.734,1849,5.734,1850,6.481,1851,7.786,1852,7.786,1853,7.786,1854,6.481]],["title/components/FiltersContentComponent.html",[169,0.663,575,1.404]],["body/components/FiltersContentComponent.html",[0,0.044,3,0.051,4,0.062,5,0.045,6,0.102,8,1.259,9,1.248,11,0.222,14,0.886,15,0.643,16,0.608,18,2.224,20,0.93,22,1.312,24,1.362,25,0.009,26,0.977,27,1.045,28,0.488,29,1.129,30,1.301,31,2.83,33,0.156,34,1.026,36,1.453,37,1.181,38,1.322,39,4.019,40,1.754,41,0.062,47,2.203,48,1.528,49,3.122,50,3.063,51,0.003,52,0.004,53,0.004,61,0.902,62,0.902,79,1.165,82,1.639,83,1.791,89,0.222,111,0.662,141,2.595,148,1.775,149,1.616,150,1.05,166,1.091,167,0.967,169,1.074,201,2.833,211,2.55,218,1.681,222,0.881,224,0.881,228,1.671,231,1.553,234,2.225,235,1.528,237,1.604,239,1.492,240,1.492,255,1.486,272,2.495,275,0.944,278,1.305,287,4.1,290,0.923,309,1.528,310,1.492,311,1.868,312,1.345,344,4.086,361,2.579,368,1.15,373,2.112,386,1.863,397,3.717,404,3.201,420,2.268,425,1.121,473,0.862,489,0.99,490,0.881,494,0.967,496,0.902,498,1.775,523,2.847,528,1.121,552,0.99,553,1.392,554,1.392,555,0.99,556,2.099,557,0.99,558,0.99,559,0.99,560,0.902,561,0.99,562,0.902,563,0.99,564,0.902,565,1.528,566,0.902,567,0.923,568,0.99,569,0.99,570,0.902,571,0.99,572,0.902,573,1.492,574,0.99,575,1.911,576,2.739,577,0.99,578,0.902,579,0.99,580,0.902,581,1.528,582,0.902,583,0.99,584,0.923,585,0.99,586,0.902,587,0.99,588,0.902,589,0.944,590,0.902,591,0.806,592,1.866,593,0.902,594,0.99,595,0.902,596,1.36,597,0.86,598,0.902,599,1.528,600,0.902,601,0.902,602,0.902,603,0.99,604,0.902,605,0.862,606,0.99,607,1.528,608,0.902,609,0.967,610,0.99,611,0.902,612,1.33,613,0.902,614,0.902,615,0.99,616,0.902,617,0.842,618,0.99,619,0.902,620,0.99,621,0.99,622,1.039,624,1.345,626,2.55,628,3.08,636,2.041,638,2.037,639,3.08,641,2.739,642,2.569,643,1.424,658,3.144,660,3.434,666,1.928,669,2.707,671,2.037,673,3.144,676,2.941,678,1.406,679,1.363,687,1.616,688,1.557,698,2.104,699,2.516,700,2.041,706,2.938,707,1.616,708,2.037,711,2.04,712,3.346,714,2.55,764,2.171,766,4.631,835,2.98,841,2.495,937,3.913,944,2.569,945,4.807,974,2.889,986,2.707,987,3.201,992,2.421,1046,3.549,1116,2.404,1118,2.167,1119,3.346,1126,3.144,1129,1.681,1131,1.681,1323,1.557,1450,2.55,1463,3.346,1464,1.557,1465,2.976,1472,2.495,1475,3.598,1513,2.171,1514,2.104,1515,3.306,1516,3.122,1517,0.842,1519,2.833,1520,1.557,1521,1.453,1534,2.889,1541,1.616,1556,2.104,1572,2.833,1598,2.331,1620,3.346,1621,2.707,1638,1.928,1648,2.167,1653,2.595,1654,2.707,1674,2.037,1675,4.086,1688,3.346,1731,3.346,1732,4.594,1855,6.043,1856,6.43,1857,2.55,1858,3.346,1859,4.941,1860,4.449,1861,6.109,1862,6.109,1863,4.449,1864,4.449,1865,4.807,1866,5.405,1867,4.807,1868,4.807,1869,4.807,1870,4.807,1871,4.807,1872,4.449,1873,2.882,1874,2.882,1875,2.882,1876,2.882,1877,2.882,1878,3.936,1879,2.882,1880,3.936,1881,2.882,1882,3.936,1883,2.882,1884,3.936,1885,2.882,1886,6.109,1887,2.882,1888,3.598,1889,2.882,1890,4.449,1891,4.449,1892,2.882,1893,4.449,1894,6.109,1895,4.449,1896,2.882,1897,4.449,1898,2.882,1899,4.449,1900,2.882,1901,3.598,1902,4.807,1903,2.882,1904,5.433,1905,2.882,1906,4.449,1907,2.882,1908,2.882,1909,2.882,1910,2.882,1911,2.882,1912,2.882,1913,2.55,1914,2.55,1915,2.882,1916,2.882,1917,2.882,1918,2.882,1919,2.882,1920,2.882,1921,2.882,1922,2.882,1923,2.882,1924,2.882,1925,2.882,1926,2.882,1927,2.882,1928,4.449,1929,3.936,1930,4.449,1931,4.941,1932,4.807,1933,2.882,1934,2.882,1935,2.882,1936,1.835,1937,4.449,1938,2.882,1939,1.754,1940,2.882,1941,2.55,1942,1.928]],["title/modules/FiltersContentModule.html",[54,1.342,1943,3.172]],["body/modules/FiltersContentModule.html",[0,0.093,3,0.108,4,0.132,5,0.096,6,0.073,25,0.009,30,1.162,33,0.217,34,0.688,41,0.132,51,0.005,52,0.007,53,0.005,56,1.827,57,2.246,65,5.933,69,5.933,72,2.405,73,1.467,74,1.671,76,2.643,78,2.462,88,2.405,89,0.472,92,3.447,93,2.646,108,1.912,131,5.406,132,4.319,133,5.406,134,5.406,135,4.319,136,4.595,575,2.906,576,1.869,715,6.268,720,2.581,721,2.709,722,2.099,1661,6.268,1855,4.319,1856,4.595,1943,6.626,1944,5.406,1945,6.11,1946,5.406,1947,5.406,1948,6.11,1949,4.571,1950,3.718,1951,7.512,1952,6.11,1953,6.11,1954,6.11]],["title/components/FiltersPopoverComponent.html",[169,0.663,222,1.372]],["body/components/FiltersPopoverComponent.html",[0,0.052,3,0.06,4,0.073,5,0.053,6,0.102,8,1.298,9,1.463,11,0.462,12,0.58,14,0.804,15,0.622,20,0.847,22,1.303,24,0.697,25,0.009,26,0.804,27,0.535,28,0.85,29,0.812,30,1.317,31,2.276,33,0.156,34,1.037,39,3.122,40,2.056,41,0.073,47,2.389,49,2.373,51,0.003,52,0.005,53,0.005,61,1.057,62,1.057,74,1.637,79,1.314,82,1.406,83,1.105,89,0.261,111,0.777,122,6.017,141,2.928,166,1.231,167,1.133,169,1.045,174,5.324,175,1.55,176,2.26,177,1.971,218,2.928,222,2.026,224,1.033,228,1.373,231,2.024,234,2.258,235,1.724,237,1.809,239,1.683,240,1.683,242,1.962,254,4.683,255,1.637,260,2.79,264,2.576,272,2.814,275,1.107,278,1.199,285,1.105,287,3.977,290,1.082,311,1.033,312,1.459,344,2.541,368,2.003,373,1.314,376,6.73,386,1.533,394,1.683,396,3.774,404,3.403,405,3.357,425,1.314,442,2.617,444,2.928,473,1.01,489,1.161,490,1.033,494,1.133,496,1.057,498,2.003,523,2.811,544,2.541,552,1.161,553,1.57,554,1.57,555,1.161,556,2.276,557,1.161,558,1.161,559,1.161,560,1.057,561,1.161,562,1.057,563,1.161,564,1.057,565,1.724,566,1.057,567,1.082,568,1.161,569,1.161,570,1.057,571,1.161,572,1.057,573,1.133,574,1.161,575,1.057,576,2.793,577,1.161,578,1.057,579,1.161,580,1.057,581,1.724,582,1.057,583,1.161,584,1.082,585,1.161,586,1.057,587,1.161,588,1.057,589,1.107,590,1.057,591,0.945,592,2.056,593,1.057,594,1.161,595,1.057,596,1.535,597,0.97,598,1.057,599,1.724,600,1.057,601,1.057,602,1.057,603,1.161,604,1.057,605,1.01,606,1.161,607,1.724,608,1.057,609,1.133,610,1.161,611,1.057,612,1.5,613,1.057,614,1.057,615,1.161,616,1.057,617,0.988,618,1.161,619,1.057,620,1.161,621,1.161,622,2.158,624,1.105,628,3.34,636,2.302,660,3.422,669,2.056,676,2.952,696,2.388,698,2.373,699,1.218,700,1.55,702,2.056,711,1.937,764,3.454,806,1.607,841,2.814,894,1.853,922,4.032,935,3.643,937,1.895,987,3.524,992,2.667,1020,1.28,1027,4.005,1044,3.234,1106,3.774,1126,3.547,1131,1.971,1278,3.357,1463,3.774,1464,1.825,1465,3.357,1514,2.831,1516,2.831,1517,0.988,1520,1.825,1521,2.53,1534,2.373,1541,4.52,1554,1.825,1556,2.373,1560,2.056,1566,1.971,1621,4.308,1636,3.233,1638,2.26,1642,3.547,1648,3.774,1653,1.971,1673,2.541,1855,6.017,1858,5.578,1859,4.058,1865,5.296,1866,5.296,1867,5.296,1868,4.439,1869,5.296,1870,5.296,1871,5.296,1882,4.439,1884,4.439,1902,2.989,1932,5.862,1936,2.151,1939,2.056,1955,2.989,1956,5.986,1957,5.018,1958,5.986,1959,6.625,1960,6.625,1961,5.986,1962,3.379,1963,5.862,1964,5.018,1965,3.379,1966,4.439,1967,4.439,1968,4.439,1969,3.379,1970,3.379,1971,3.379,1972,3.379,1973,3.379,1974,3.379,1975,5.018,1976,3.379,1977,6.625,1978,3.379,1979,2.901,1980,3.379,1981,3.379,1982,1.033,1983,1.895,1984,5.986,1985,3.379,1986,3.379,1987,3.379,1988,3.379,1989,5.018,1990,3.379,1991,3.379,1992,3.379,1993,3.379,1994,3.379,1995,3.379,1996,3.379]],["title/modules/FiltersPopoverModule.html",[54,1.342,66,3.172]],["body/modules/FiltersPopoverModule.html",[0,0.101,3,0.116,4,0.142,5,0.104,6,0.079,25,0.009,33,0.21,41,0.142,51,0.006,52,0.007,53,0.006,56,1.966,57,2.348,66,6.539,72,2.514,73,1.578,74,1.798,76,2.763,78,2.573,88,2.514,89,0.508,92,3.603,93,2.847,122,4.647,222,2.866,223,5.817,576,2.402,720,2.698,721,2.831,722,2.259,1855,4.647,1856,4.945,1943,6.376,1997,5.817,1998,5.817,1999,5.817,2000,6.575,2001,6.575,2002,6.575]],["title/classes/FlatNode.html",[0,0.069,2003,3.63]],["body/classes/FlatNode.html",[0,0.079,2,1.948,3,0.091,4,0.111,5,0.081,6,0.105,11,0.397,12,0.778,13,2.099,14,0.69,15,0.667,16,1.084,20,0.861,22,1.336,24,1.389,25,0.009,26,0.904,27,1.387,28,1.14,29,1.09,33,0.121,34,0.579,35,1.406,41,0.111,42,2.358,51,0.005,52,0.006,53,0.005,79,1.762,82,1.871,166,1.953,169,0.994,252,1.968,255,2.398,256,3.299,264,2.617,269,1.547,272,4.756,278,1.4,285,1.652,309,2.736,310,2.258,311,2.435,369,3.637,386,1.317,490,2.681,624,1.652,644,1.97,834,4.757,992,3.344,1621,4.567,1701,5.955,1757,5.444,2003,6.44,2004,7.755,2005,4.548,2006,3.13,2007,6.07,2008,6.64,2009,5.14,2010,5.782,2011,6.917,2012,5.14,2013,7.915,2014,8.865,2015,5.14,2016,5.955,2017,5.14,2018,5.14,2019,6.731,2020,5.14,2021,6.731,2022,5.14,2023,5.14,2024,6.731,2025,5.14,2026,5.14,2027,6.731,2028,5.444,2029,5.14,2030,5.14,2031,5.14]],["title/classes/GenerateSpatialSearch.html",[0,0.069,2032,1.839]],["body/classes/GenerateSpatialSearch.html",[0,0.139,2,2.101,3,0.098,4,0.12,5,0.087,6,0.084,7,2.487,8,1.359,11,0.428,12,0.817,13,2.575,14,1.237,15,0.714,18,2.161,20,0.904,22,0.857,25,0.009,28,0.939,29,0.897,30,1.267,32,3.06,33,0.131,34,0.624,41,0.197,42,3.971,47,3.052,51,0.005,52,0.006,53,0.005,73,1.696,260,2.334,265,1.951,269,1.274,312,1.221,315,2.212,390,2.101,392,2.101,394,1.86,402,2.101,408,1.585,597,1.072,644,1.804,653,3.797,894,2.145,901,2.82,1100,2.679,1517,2.275,1979,2.272,1982,2.161,2006,2.371,2032,2.896,2033,2.891,2034,4.085,2035,5.543,2036,2.272,2037,2.891,2038,2.272,2039,2.334,2040,2.334,2041,2.272,2042,2.4,2043,2.272,2044,2.272,2045,2.995,2046,2.212,2047,2.272,2048,2.272,2049,2.334,2050,3.149]],["title/components/HeaderComponent.html",[169,0.663,578,1.404]],["body/components/HeaderComponent.html",[0,0.064,3,0.119,4,0.09,5,0.066,6,0.1,8,1.205,11,0.322,14,0.784,15,0.632,20,0.934,22,1.266,25,0.009,26,0.784,30,1.266,31,2.642,33,0.098,34,1.055,41,0.09,50,2.839,51,0.004,52,0.005,53,0.005,61,1.305,62,1.305,89,0.322,111,0.959,144,2.948,162,4.487,163,5.453,165,5.453,166,1.792,167,1.399,169,0.996,222,1.275,224,1.275,228,1.598,231,1.928,234,2.295,235,2.007,237,2.106,239,1.96,240,1.96,255,1.844,270,5.494,271,3.408,275,1.367,278,0.989,290,1.335,307,5.453,312,1.286,352,3.555,355,1.756,366,3.276,373,1.622,386,1.727,420,2.642,425,1.622,437,3.72,447,5.168,449,5.965,473,1.247,477,3.29,489,1.433,490,1.275,494,1.399,496,1.305,498,2.331,523,3.021,552,1.433,553,1.828,554,1.828,555,1.433,556,2.51,557,1.433,558,1.433,559,1.433,560,1.305,561,1.433,562,1.305,563,1.433,564,1.305,565,2.007,566,1.305,567,1.335,568,1.433,569,1.433,570,1.305,571,1.433,572,1.305,573,1.399,574,1.433,575,1.305,576,2.352,577,1.433,578,2.286,579,1.433,580,1.305,581,2.007,582,1.305,583,1.433,584,1.335,585,1.433,586,1.305,587,1.433,588,1.305,589,1.367,590,1.305,591,1.166,592,2.316,593,1.305,594,1.433,595,1.305,596,1.787,597,1.129,598,1.305,599,2.007,600,1.305,601,1.305,602,1.305,603,1.433,604,1.305,605,1.247,606,1.433,607,2.007,608,1.305,609,1.399,610,1.433,611,1.305,612,1.747,613,1.305,614,1.305,615,1.433,616,1.305,617,1.219,618,1.433,619,1.305,620,1.433,621,1.433,622,1.504,624,0.918,628,3.683,636,2.68,655,3.373,660,3.426,673,4.129,676,3.004,699,2.106,701,2.763,703,3.156,704,2.433,706,3.239,711,2.136,764,2.851,898,5.168,944,3.189,965,2.253,986,2.538,987,1.913,1020,2.915,1036,2.948,1046,3.565,1111,5.168,1464,3.156,1472,4.47,1513,3.29,1514,2.763,1516,3.189,1517,1.219,1518,3.373,1520,2.253,1521,2.102,1533,2.948,1535,2.253,1538,2.948,1556,1.972,1560,4.103,1610,3.408,1636,2.851,1640,2.79,1653,2.433,1654,2.538,1859,4.725,1931,5.453,2051,3.69,2052,6.463,2053,7.052,2054,7.305,2055,4.129,2056,6.742,2057,5.842,2058,6.742,2059,6.742,2060,4.17,2061,4.17,2062,5.071,2063,4.17,2064,5.842,2065,4.17,2066,4.17,2067,4.17,2068,4.17,2069,5.842,2070,3.373,2071,4.17,2072,3.373,2073,4.17,2074,3.136,2075,4.17,2076,4.17,2077,4.17,2078,4.17,2079,3.373,2080,4.17,2081,4.17,2082,4.17,2083,4.17,2084,4.17,2085,4.17,2086,4.17,2087,2.538]],["title/modules/HeaderModule.html",[54,1.342,1054,3.172]],["body/modules/HeaderModule.html",[0,0.101,3,0.117,4,0.142,5,0.104,6,0.079,25,0.009,33,0.215,41,0.142,51,0.006,52,0.007,53,0.006,56,1.971,57,2.352,72,2.518,73,1.582,74,1.803,76,2.768,78,2.16,88,2.518,89,0.509,92,3.609,93,2.854,97,5.559,98,4.659,578,2.933,720,2.702,721,2.836,722,2.265,1054,6.448,1949,4.786,1950,4.011,2088,5.832,2089,5.832,2090,5.832,2091,6.592,2092,7.865,2093,6.592,2094,6.592]],["title/interfaces/IconDefinition.html",[156,0.743,2095,3.375]],["body/interfaces/IconDefinition.html",[0,0.067,3,0.078,4,0.095,5,0.069,6,0.053,11,0.34,12,0.701,14,0.591,15,0.577,16,0.929,20,1.082,25,0.009,26,1.205,27,1.376,28,1.027,29,0.713,33,0.196,41,0.131,47,2.924,51,0.004,52,0.005,53,0.004,82,1.757,83,0.97,89,0.34,93,1.907,100,2.947,101,2.47,150,1.636,156,0.729,158,1.55,160,1.907,166,1.488,175,2.784,179,1.513,242,2.657,252,2.029,269,1.596,271,5.202,272,3.403,278,1.027,285,1.864,295,2.287,309,1.513,310,1.478,311,2.48,318,1.958,370,3.562,422,2.083,452,1.488,528,2.908,553,2.77,624,0.97,643,1.41,668,5.9,689,3.278,732,3.403,734,3.403,735,2.47,737,2.47,922,3.692,1084,3.562,1094,4.907,1168,3.313,1235,2.805,1319,3.113,1322,6.846,1323,5.013,1328,5.286,1333,6.658,1334,5.9,1335,6.248,1336,6.049,1337,4.563,1338,5.004,1340,4.288,1484,4.288,1485,3.54,1703,3.313,1712,3.313,2095,6.248,2096,3.313,2097,3.562,2098,5.368,2099,6.617,2100,6.049,2101,6.141,2102,4.907,2103,3.897,2104,2.947,2105,7.174,2106,3.897,2107,4.907,2108,3.897,2109,3.897,2110,2.68,2111,3.897,2112,3.562,2113,3.897,2114,3.897,2115,3.897,2116,5.368,2117,4.907,2118,3.897,2119,3.897,2120,3.897,2121,3.897,2122,3.897,2123,5.368,2124,3.897,2125,3.897,2126,3.897,2127,3.897,2128,3.562,2129,3.897,2130,3.897,2131,6.141,2132,3.897,2133,3.562,2134,3.897,2135,3.897,2136,3.897,2137,3.897,2138,3.897,2139,3.897,2140,3.897,2141,3.897,2142,3.897,2143,3.897,2144,3.897,2145,3.897,2146,3.897]],["title/injectables/IconRegistryState.html",[452,1.101,2104,3.003]],["body/injectables/IconRegistryState.html",[0,0.061,3,0.071,4,0.087,5,0.063,6,0.094,11,0.31,14,0.539,15,0.585,16,1.2,20,0.97,22,1.173,24,1.565,25,0.009,26,1.202,27,1.281,28,1.119,29,0.65,33,0.191,41,0.123,47,2.382,51,0.004,52,0.005,53,0.004,79,1.489,82,1.943,83,0.884,89,0.31,93,1.739,100,2.688,101,2.253,150,1.599,156,0.665,160,2.463,166,1.762,175,2.61,179,1.38,242,2.711,252,2.302,269,1.743,271,4.909,272,2.253,278,0.68,285,1.821,295,2.408,309,1.954,310,1.909,311,2.408,318,2.233,370,4.601,422,2.691,452,1.395,453,2.025,528,2.794,553,2.633,624,1.582,643,1.821,668,6.221,689,3.882,732,3.705,734,3.191,735,2.253,737,2.253,806,1.286,922,2.444,1084,4.601,1094,5.343,1168,4.279,1235,2.558,1319,5.566,1322,6.805,1323,4.982,1328,5.847,1333,6.221,1334,5.404,1335,6.221,1336,4.601,1337,3.021,1338,4.807,1340,4.021,1484,5.078,1485,4.192,1703,4.279,1712,4.279,2095,6.653,2096,5.923,2097,3.249,2098,3.554,2099,5.033,2100,4.601,2101,6.967,2102,5.811,2103,3.554,2104,3.806,2105,7.547,2106,5.033,2107,5.811,2108,5.033,2109,5.033,2110,4.02,2111,3.554,2112,3.249,2113,3.554,2114,3.554,2115,5.033,2116,6.357,2117,5.811,2118,5.033,2119,3.554,2120,5.033,2121,6.357,2122,5.033,2123,5.033,2124,3.554,2125,3.554,2126,3.554,2127,3.554,2128,3.249,2129,3.554,2130,3.554,2131,5.845,2132,3.554,2133,3.249,2134,3.554,2135,3.554,2136,3.554,2137,5.845,2138,3.554,2139,3.554,2140,3.554,2141,3.554,2142,3.554,2143,3.554,2144,5.033,2145,5.845,2146,3.554,2147,5.689,2148,4.017,2149,4.017,2150,4.017,2151,4.017,2152,4.017,2153,4.017,2154,4.017,2155,4.017]],["title/classes/InitializationState.html",[0,0.069,2156,3.63]],["body/classes/InitializationState.html",[0,0.077,2,0.962,3,0.045,4,0.055,5,0.04,6,0.083,11,0.196,12,0.466,13,1.4,14,0.835,15,0.511,16,0.535,22,1.023,24,0.831,25,0.009,28,0.965,29,1.006,33,0.147,34,0.454,41,0.055,47,2.793,51,0.002,52,0.004,53,0.002,74,1.102,79,1.054,82,1.554,83,1.784,89,0.196,148,1.013,150,1.468,166,1.933,167,0.851,168,2.694,169,0.977,170,2.846,189,0.832,224,1.531,228,0.694,231,2.566,234,0.622,235,0.872,237,0.915,239,0.851,240,0.851,242,2.357,252,1.177,264,2.696,267,4.728,269,1.781,272,2.259,278,1.174,285,1.854,288,1.698,295,2.61,309,0.872,310,0.851,311,2.12,318,2.301,320,2.694,339,1.794,349,1.965,361,0.938,368,1.607,369,3.574,373,1.566,386,2.049,393,1.164,396,3.029,397,2.451,442,2.611,444,2.35,479,3.616,480,3.616,481,2.231,482,2.913,483,2.368,484,3.35,485,3.35,497,3.626,523,2.16,528,0.987,553,1.26,554,2.169,589,0.832,617,0.742,622,0.915,624,0.559,628,2.524,643,0.813,644,0.887,660,1.131,671,4.028,672,2.781,673,1.794,676,3.089,699,2.955,711,2.396,817,3.257,818,2.259,819,2.245,821,2.615,824,2.611,825,1.238,828,3.35,830,2.053,831,1.423,840,2.03,841,2.259,842,1.909,843,1.794,846,2.231,848,2.245,850,1.909,853,1.2,857,1.794,861,2.03,863,1.698,864,1.164,878,2.694,879,1.909,882,3.563,886,1.164,894,1.492,901,2.871,902,4.197,908,1.698,909,2.053,910,2.245,911,1.909,914,3.563,920,1.698,935,2.451,943,2.245,967,2.053,970,2.053,977,4.933,982,1.909,985,2.245,986,4.219,987,1.848,988,2.245,989,2.053,998,1.909,999,2.053,1000,1.423,1005,2.564,1006,1.698,1021,2.846,1027,2.694,1038,1.544,1044,4.322,1136,1.909,1142,1.544,1143,2.564,1154,2.564,1331,2.053,1476,1.909,1496,5.853,1619,1.909,1636,1.238,1639,1.909,1641,4.675,1720,2.053,1730,1.616,1766,2.053,1776,2.053,2156,4.049,2157,1.909,2158,4.027,2159,5.007,2160,6.934,2161,5.7,2162,5.7,2163,5.7,2164,4.027,2165,5.007,2166,2.538,2167,7.747,2168,5.007,2169,2.538,2170,2.538,2171,2.538,2172,2.538,2173,2.538,2174,5.007,2175,2.538,2176,2.538,2177,2.245,2178,4.429,2179,6.134,2180,5.992,2181,4.429,2182,4.429,2183,5.853,2184,4.429,2185,5.499,2186,3.563,2187,4.429,2188,4.049,2189,4.61,2190,3.563,2191,5.043,2192,4.027,2193,2.538,2194,2.538,2195,2.538,2196,2.538,2197,2.538,2198,2.538,2199,2.538,2200,2.538,2201,4.027,2202,2.538,2203,4.027,2204,2.538,2205,2.538,2206,2.538,2207,2.053,2208,6.216,2209,2.538,2210,2.538,2211,2.538,2212,4.429,2213,2.245,2214,3.257,2215,4.027,2216,2.538,2217,5.7,2218,2.538,2219,4.027,2220,2.538,2221,2.538,2222,2.538,2223,5.007,2224,2.538,2225,2.538,2226,2.538,2227,3.35,2228,2.538,2229,5.007,2230,2.538,2231,2.538,2232,3.563,2233,2.538,2234,2.538,2235,2.538,2236,6.615,2237,4.027,2238,5.7,2239,4.027,2240,4.027,2241,2.538,2242,5.007,2243,4.027,2244,2.538,2245,2.538,2246,2.538,2247,2.538,2248,4.027,2249,4.027,2250,2.538,2251,2.538,2252,5.007,2253,2.538,2254,2.538,2255,2.538,2256,2.538,2257,4.027,2258,2.538,2259,2.538,2260,2.245,2261,2.538,2262,2.538,2263,2.538,2264,5.043,2265,5.007,2266,5.7,2267,4.027,2268,4.027,2269,2.538,2270,2.538,2271,2.538,2272,2.538,2273,2.538,2274,2.538,2275,2.245,2276,2.245,2277,2.538,2278,4.027,2279,2.538,2280,2.538,2281,2.538,2282,2.538,2283,2.538,2284,2.538,2285,2.538,2286,2.538,2287,1.794,2288,2.538,2289,2.538,2290,4.027,2291,2.538,2292,2.538,2293,2.538,2294,2.538,2295,2.538,2296,2.538,2297,4.027,2298,5.007,2299,2.538,2300,2.538,2301,4.027,2302,2.538,2303,2.538,2304,2.538,2305,2.538,2306,2.538,2307,2.053,2308,2.538,2309,2.538,2310,2.538]],["title/interfaces/ListResult.html",[156,0.743,2311,3.003]],["body/interfaces/ListResult.html",[3,0.12,4,0.147,5,0.107,6,0.081,11,0.525,12,0.927,15,0.679,20,1.09,25,0.008,27,1.392,33,0.161,34,0.767,35,1.862,41,0.147,48,3.022,51,0.006,52,0.007,53,0.006,156,1.127,158,2.395,166,2.09,355,3.705,644,1.876,728,5.602,1101,4.435,1459,6.616,2311,5.363,2312,6.022,2313,6.022]],["title/injectables/ListResultsState.html",[212,2.618,452,1.101]],["body/injectables/ListResultsState.html",[0,0.065,3,0.075,4,0.091,5,0.067,6,0.105,11,0.326,12,0.681,14,1.125,15,0.634,16,1.431,20,0.939,22,1.347,24,1.594,25,0.009,26,1.075,27,1.223,28,0.998,29,0.954,33,0.205,34,0.476,41,0.127,45,2.233,48,2.024,51,0.007,52,0.005,53,0.007,79,1.543,82,1.88,83,1.935,87,5.489,89,0.326,108,1.321,148,1.685,150,1.42,156,0.699,160,2.552,175,2.704,179,1.451,181,3.703,186,3.943,189,1.384,190,2.464,191,2.464,192,1.561,210,4.324,212,3.438,214,5.597,242,1.384,252,1.723,269,0.971,285,0.93,295,2.688,309,2.024,310,1.977,311,1.802,312,1.617,315,3.194,318,2.193,349,2.876,355,3.37,404,3.37,408,1.207,420,2.523,452,1.445,453,2.129,624,1.298,643,2.352,726,2.368,728,2.689,732,3.807,733,1.882,734,3.305,735,2.368,736,4.322,737,2.368,742,4.92,763,4.322,768,2.689,769,1.938,771,3.667,791,2.985,797,4.13,806,1.352,975,2.464,1096,5.656,1115,2.202,1156,2.202,1235,2.689,1266,2.202,1271,2.689,1459,5.105,1730,3.753,2055,2.985,2311,5.926,2314,7.109,2315,3.416,2316,6.019,2317,6.092,2318,5.893,2319,5.893,2320,5.893,2321,5.893,2322,6.499,2323,3.736,2324,5.893,2325,4.432,2326,5.105,2327,4.797,2328,5.214,2329,4.223,2330,5.214,2331,4.223,2332,4.223,2333,5.214,2334,4.223,2335,4.223,2336,4.223,2337,4.223,2338,4.432,2339,4.223,2340,5.214,2341,4.223,2342,5.214,2343,4.223,2344,4.165,2345,3.416,2346,2.826,2347,3.736,2348,2.985,2349,2.985,2350,3.176,2351,3.736,2352,3.736,2353,3.736,2354,3.176,2355,3.176,2356,3.176,2357,3.176,2358,2.985,2359,3.176,2360,3.176,2361,3.176,2362,3.176,2363,3.736,2364,3.176,2365,3.736,2366,3.736,2367,3.736,2368,2.202,2369,3.736,2370,3.736,2371,3.736,2372,3.736,2373,3.736,2374,3.736,2375,3.736,2376,3.736]],["title/interfaces/ListResultsStateModel.html",[156,0.743,2350,3.375]],["body/interfaces/ListResultsStateModel.html",[0,0.077,3,0.089,4,0.109,5,0.079,6,0.06,11,0.388,12,0.767,14,1.06,15,0.512,16,1.4,20,1.01,25,0.009,26,0.676,27,1.05,33,0.212,34,0.567,41,0.143,45,1.907,48,2.28,51,0.006,52,0.006,53,0.007,83,1.856,87,5.227,89,0.388,108,1.574,148,2.008,150,1.527,156,0.833,158,1.771,160,2.179,175,3.045,179,1.729,181,3.346,186,4.441,189,1.649,190,2.936,191,2.936,192,1.86,210,4.013,212,2.936,214,3.204,242,1.649,252,1.471,269,1.157,285,1.108,295,2.629,309,1.729,310,1.688,311,2.03,312,1.461,315,2.964,318,2.068,349,2.455,355,3.457,404,3.045,408,1.439,420,2.28,452,1.628,643,2.125,726,2.822,728,3.204,732,3.722,733,2.242,734,3.722,735,2.822,736,4.227,737,2.822,742,4.73,763,3.204,768,3.204,769,2.309,771,3.586,791,3.556,797,4.52,975,2.936,1096,5.249,1115,2.624,1156,2.624,1235,3.204,1266,2.624,1271,3.204,1459,5.586,1730,3.204,2055,3.556,2311,5.907,2314,4.07,2315,4.07,2316,6.465,2317,6.299,2322,4.452,2325,3.784,2326,4.992,2327,4.691,2328,4.452,2330,4.452,2333,4.452,2338,3.784,2340,4.452,2342,4.452,2344,3.556,2345,4.07,2346,3.367,2347,4.452,2348,3.556,2349,3.556,2350,4.992,2351,4.452,2352,4.452,2353,4.452,2354,3.784,2355,3.784,2356,3.784,2357,3.784,2358,3.556,2359,3.784,2360,3.784,2361,3.784,2362,3.784,2363,4.452,2364,3.784,2365,4.452,2366,4.452,2367,4.452,2368,2.624,2369,4.452,2370,4.452,2371,4.452,2372,4.452,2373,4.452,2374,4.452,2375,4.452,2376,4.452]],["title/interfaces/Message.html",[156,0.743,846,1.999]],["body/interfaces/Message.html",[0,0.091,3,0.076,4,0.195,5,0.068,6,0.052,11,0.333,12,0.691,13,1.205,14,0.921,15,0.601,16,0.909,25,0.009,27,0.946,28,0.73,31,1.481,33,0.162,41,0.174,45,3.053,51,0.004,52,0.005,53,0.004,82,1.828,83,1.316,89,0.333,111,1.374,148,1.72,150,1.156,156,0.99,158,1.517,166,1.057,187,3.959,189,1.412,192,1.593,252,1.26,264,1.676,269,0.991,278,1.318,285,1.714,309,2.357,310,1.446,311,2.615,312,1.316,318,2.109,369,3.708,386,1.104,448,2.745,452,1.466,468,3.487,496,2.147,528,3.026,541,4.591,591,1.671,624,0.949,635,2.623,643,2.696,644,1.714,662,4.956,733,3.896,741,4.156,818,3.352,821,2.742,824,4.514,831,2.417,839,2.173,840,4.408,846,4.178,853,2.038,861,3.013,863,2.884,892,2.745,908,3.999,958,2.884,1006,3.999,1030,4.699,1050,2.417,1060,4.225,1114,3.046,1142,2.623,1154,2.745,1158,5.837,1592,2.745,1593,3.806,2110,2.623,2227,4.591,2287,3.046,2377,2.884,2378,5.237,2379,4.958,2380,3.637,2381,4.495,2382,3.046,2383,3.999,2384,3.241,2385,4.956,2386,4.37,2387,3.241,2388,4.225,2389,2.884,2390,3.046,2391,3.241,2392,3.806,2393,3.241,2394,3.046,2395,3.241,2396,3.241,2397,3.241,2398,3.241,2399,4.495,2400,3.241,2401,3.241,2402,3.241,2403,3.241,2404,4.225,2405,3.241,2406,4.495,2407,3.241,2408,3.241,2409,3.241,2410,3.241,2411,3.241,2412,3.241,2413,3.241,2414,3.241,2415,5.161,2416,3.241,2417,3.241,2418,3.241,2419,3.241,2420,3.046,2421,3.241,2422,3.241,2423,3.241,2424,3.241]],["title/classes/MessageChannel.html",[0,0.069,861,2.262]],["body/classes/MessageChannel.html",[0,0.084,2,1.448,3,0.068,4,0.195,5,0.06,6,0.098,11,0.295,12,0.635,13,1.797,14,0.863,15,0.616,16,1.158,22,1.234,24,1.449,25,0.009,26,0.943,27,1.226,28,0.93,29,0.619,31,1.313,33,0.152,41,0.167,45,2.662,51,0.003,52,0.005,53,0.003,79,1.437,82,1.982,83,1.415,89,0.295,111,1.262,148,1.525,150,1.061,156,0.909,166,0.937,187,4.089,189,1.252,192,1.412,252,1.605,264,1.486,269,0.878,278,1.312,285,1.638,309,2.556,310,1.282,311,2.543,312,0.841,318,2.209,369,4.185,386,1.406,448,2.433,452,1.347,468,3.203,496,2.01,528,2.893,541,5.182,591,1.535,624,1.638,635,2.325,643,2.614,644,1.705,662,4.737,733,3.806,741,4.475,818,3.079,821,2.519,824,4.541,831,2.143,839,2.768,840,4.543,846,4.168,853,1.807,861,3.239,863,2.557,892,2.433,908,3.673,958,3.673,1006,3.673,1030,4.763,1050,3.079,1060,3.88,1114,2.701,1142,3.341,1154,2.433,1158,5.64,1592,2.433,1593,3.496,2110,2.325,2227,5.182,2287,3.88,2377,2.557,2378,5.258,2379,4.978,2380,2.325,2381,2.874,2382,2.701,2383,3.673,2384,2.874,2385,4.737,2386,4.092,2387,2.874,2388,3.88,2389,2.557,2390,2.701,2391,4.129,2392,4.737,2393,4.129,2394,3.88,2395,4.129,2396,4.129,2397,2.874,2398,2.874,2399,4.129,2400,4.129,2401,4.129,2402,5.283,2403,2.874,2404,4.964,2405,4.129,2406,4.129,2407,4.129,2408,4.129,2409,2.874,2410,5.283,2411,2.874,2412,2.874,2413,2.874,2414,2.874,2415,4.832,2416,2.874,2417,2.874,2418,2.874,2419,2.874,2420,2.701,2421,2.874,2422,2.874,2423,2.874,2424,2.874,2425,5.49,2426,5.49,2427,5.49,2428,3.821,2429,5.49,2430,3.821,2431,3.821,2432,3.821,2433,3.821,2434,3.821]],["title/injectables/MessageService.html",[452,1.101,821,2.059]],["body/injectables/MessageService.html",[0,0.088,3,0.072,4,0.193,5,0.064,6,0.094,11,0.314,12,0.663,13,1.136,14,0.893,15,0.588,16,1.209,22,1.178,24,1.183,25,0.009,26,0.77,27,1.143,28,0.971,29,0.658,31,1.396,33,0.157,41,0.171,45,2.519,51,0.004,52,0.005,53,0.004,79,1.501,82,1.908,83,1.463,89,0.314,111,1.318,148,1.621,150,1.109,156,0.95,166,0.996,187,3.948,189,1.331,192,1.501,252,1.188,264,1.58,269,0.934,278,1.376,285,1.677,309,2.481,310,1.924,311,2.58,312,0.894,318,2.239,369,3.591,386,1.041,448,2.587,452,1.407,453,2.048,468,3.346,496,2.08,528,2.961,541,4.447,591,1.859,624,1.463,635,2.472,643,2.795,644,1.463,662,5.283,733,3.696,741,4.271,818,3.216,821,3.494,824,4.621,831,4.05,839,2.048,840,4.467,846,4.171,853,2.712,861,3.351,863,3.837,892,3.652,908,3.837,958,2.718,1006,3.837,1030,4.611,1050,2.278,1060,4.053,1114,2.871,1142,2.472,1154,3.652,1158,5.383,1592,2.587,1593,3.652,2110,4.045,2227,4.447,2287,2.871,2377,2.718,2378,4.698,2379,4.447,2380,2.472,2381,3.055,2382,2.871,2383,3.837,2384,3.055,2385,5.033,2386,4.85,2387,3.055,2388,4.053,2389,2.718,2390,2.871,2391,3.055,2392,3.652,2393,3.055,2394,2.871,2395,3.055,2396,3.055,2397,3.055,2398,3.055,2399,4.313,2400,3.055,2401,3.055,2402,3.055,2403,3.055,2404,4.053,2405,3.055,2406,4.313,2407,3.055,2408,3.055,2409,3.055,2410,3.055,2411,3.055,2412,4.313,2413,3.055,2414,3.055,2415,4.999,2416,3.055,2417,3.055,2418,3.055,2419,3.055,2420,4.053,2421,3.055,2422,4.313,2423,4.313,2424,3.055,2435,5.074,2436,4.062,2437,5.735,2438,4.062,2439,4.062,2440,4.062]],["title/interfaces/MessageServiceConfig.html",[156,0.743,2386,2.858]],["body/interfaces/MessageServiceConfig.html",[0,0.092,3,0.077,4,0.192,5,0.069,6,0.052,11,0.336,12,0.696,13,1.219,14,0.927,15,0.575,16,0.919,25,0.009,27,0.953,28,0.738,31,1.497,33,0.163,41,0.175,45,2.616,51,0.004,52,0.005,53,0.004,82,1.836,83,1.326,89,0.336,111,1.385,148,1.739,150,1.165,156,0.997,158,1.534,166,1.693,187,3.966,189,1.428,192,1.611,252,1.274,264,2.342,269,1.002,278,1.323,285,1.721,309,2.371,310,1.462,311,2.621,312,0.96,318,2.116,369,3.73,386,1.117,448,2.776,452,1.478,468,3.514,496,2.16,528,3.039,541,4.619,591,1.684,624,0.96,635,3.666,643,2.744,644,1.52,662,5.147,733,3.762,741,4.176,818,3.378,821,2.764,824,4.469,831,2.445,839,2.197,840,4.455,846,4.159,853,2.061,861,3.037,863,2.916,892,2.776,908,4.03,958,2.916,1006,4.03,1030,4.56,1050,2.445,1060,4.258,1114,3.081,1142,2.652,1154,2.776,1158,5.524,1592,2.776,1593,3.836,2110,2.652,2227,4.619,2287,3.081,2377,2.916,2378,4.879,2379,4.619,2380,2.652,2381,3.278,2382,3.081,2383,4.03,2384,3.278,2385,5.147,2386,4.742,2387,4.53,2388,5.524,2389,2.916,2390,3.081,2391,3.278,2392,3.836,2393,3.278,2394,3.081,2395,3.278,2396,3.278,2397,3.278,2398,3.278,2399,4.53,2400,3.278,2401,3.278,2402,3.278,2403,3.278,2404,4.258,2405,3.278,2406,4.53,2407,3.278,2408,3.278,2409,3.278,2410,3.278,2411,3.278,2412,3.278,2413,3.278,2414,3.278,2415,5.191,2416,3.278,2417,3.278,2418,3.278,2419,3.278,2420,3.081,2421,3.278,2422,3.278,2423,3.278,2424,3.278]],["title/classes/MoveToNode.html",[0,0.069,2044,1.839]],["body/classes/MoveToNode.html",[0,0.139,2,2.06,3,0.096,4,0.117,5,0.086,6,0.092,7,2.713,8,1.365,11,0.42,12,0.807,13,2.569,14,1.234,15,0.715,16,1.146,18,2.134,20,0.892,22,1.079,24,1.122,25,0.009,26,0.73,27,0.86,28,0.92,29,0.88,30,1.192,32,2.353,33,0.128,34,0.612,41,0.196,42,3.95,47,3.033,51,0.005,52,0.006,53,0.005,73,1.675,260,2.289,265,1.913,269,1.249,312,1.197,315,2.785,390,2.06,392,2.06,394,1.823,402,2.06,408,1.554,597,1.051,644,1.791,653,3.406,894,2.202,901,3.076,1100,3.083,1517,2.254,1979,2.228,1982,2.358,2006,2.729,2032,2.228,2033,2.834,2034,4.074,2036,2.228,2037,2.834,2038,2.228,2039,2.289,2040,2.289,2041,2.228,2042,2.353,2043,2.228,2044,2.86,2045,3.771,2046,2.169,2047,2.228,2048,2.228,2049,2.289,2050,3.109,2441,5.435,2442,6.979]],["title/modules/OntologyExplorationModule.html",[54,1.342,67,3.172]],["body/modules/OntologyExplorationModule.html",[0,0.097,3,0.113,4,0.138,5,0.1,6,0.076,25,0.009,33,0.208,41,0.138,51,0.006,52,0.007,53,0.006,56,1.903,57,2.303,67,6.619,72,2.466,73,1.528,74,1.741,78,2.524,88,2.466,89,0.491,125,3.57,136,4.788,255,2.265,720,2.646,721,2.777,722,2.187,2443,5.632,2444,5.632,2445,5.632,2446,6.245,2447,6.597,2448,6.245,2449,3.714,2450,6.366,2451,3.874,2452,4.788,2453,6.366,2454,4.054,2455,5.632]],["title/components/OntologySearchComponent.html",[169,0.663,580,1.404]],["body/components/OntologySearchComponent.html",[0,0.043,3,0.05,4,0.061,5,0.045,6,0.098,8,1.372,11,0.339,12,0.508,14,0.59,15,0.592,16,0.598,20,0.925,22,1.253,24,1.352,25,0.009,26,0.971,27,1.037,28,0.744,29,1.369,30,1.118,31,1.848,33,0.181,34,1.026,35,0.776,41,0.061,45,1.665,48,2.484,51,0.007,52,0.004,53,0.007,61,0.887,62,0.887,79,1.15,82,1.755,83,1.726,89,0.219,111,0.652,125,4.604,148,1.754,150,0.849,167,0.951,169,1.068,171,4.759,187,3.089,189,0.929,190,1.655,192,1.048,222,0.867,224,0.867,228,1.202,231,1.538,234,2.222,235,1.509,237,1.584,239,1.474,240,1.474,242,1.44,255,2.314,256,2.417,267,3.138,275,0.929,278,0.911,285,1.184,287,2.215,290,0.908,309,1.509,310,2.573,311,2.12,318,0.743,340,5.359,352,3.686,368,1.132,369,3.273,372,3.305,386,2.127,406,2.464,420,2.081,425,2.695,442,3.615,444,2.564,473,0.848,477,2.144,489,0.974,490,0.867,494,0.951,496,0.887,498,1.754,523,2.039,531,2.133,552,0.974,553,1.375,554,1.375,555,0.974,556,2.081,557,0.974,558,0.974,559,0.974,560,0.887,561,0.974,562,0.887,563,0.974,564,0.887,565,1.509,566,0.887,567,0.908,568,0.974,569,0.974,570,0.887,571,0.974,572,0.887,573,0.951,574,0.974,575,0.887,576,1.344,577,0.974,578,0.887,579,0.974,580,1.895,581,1.509,582,0.887,583,0.974,584,0.908,585,0.974,586,0.887,587,0.974,588,0.887,589,0.929,590,0.887,591,0.793,592,1.848,593,0.887,594,0.974,595,0.887,596,1.344,597,0.849,598,0.887,599,1.509,600,0.887,601,0.887,602,0.887,603,0.974,604,0.887,605,1.314,606,0.974,607,1.509,608,0.887,609,0.951,610,0.974,611,0.887,612,1.314,613,0.887,614,0.887,615,0.974,616,0.887,617,0.829,618,0.974,619,0.887,620,0.974,621,0.974,622,1.023,624,1.526,636,2.016,639,3.054,641,3.054,642,2.544,643,1.939,644,0.967,654,3.554,660,2.396,666,4.053,672,2.956,676,2.699,678,1.384,679,1.341,687,3.017,688,2.906,689,4.312,698,1.341,699,2.184,700,1.301,701,2.544,706,1.194,711,2.027,888,3.887,901,1.754,902,2.564,936,1.726,1000,2.464,1020,2.296,1023,1.655,1090,3.887,1112,2.509,1142,2.674,1152,4.35,1418,2.133,1484,3.106,1511,1.341,1512,1.726,1516,3.774,1517,1.916,1534,2.078,1535,1.532,1539,2.005,1556,3.534,1557,2.798,1560,1.726,1610,2.564,1620,3.305,1630,5.159,1631,4.656,1632,1.898,1634,2.133,1636,3.198,1637,2.133,1640,1.898,1651,2.374,1654,1.726,1709,3.305,1737,3.887,1843,2.294,1936,4.414,1942,1.898,2006,2.199,2010,4.053,2070,2.294,2079,2.294,2307,3.554,2345,2.294,2346,1.898,2404,3.106,2449,4.789,2451,5.052,2456,2.294,2457,4.394,2458,3.887,2459,4.759,2460,3.887,2461,5.379,2462,5.379,2463,7.472,2464,2.798,2465,7.231,2466,4.394,2467,4.394,2468,4.394,2469,4.394,2470,4.759,2471,2.836,2472,3.988,2473,4.394,2474,5.379,2475,5.3,2476,2.509,2477,2.836,2478,4.394,2479,3.887,2480,4.394,2481,5.539,2482,2.836,2483,4.394,2484,4.394,2485,2.294,2486,8.459,2487,4.394,2488,2.836,2489,4.394,2490,4.394,2491,3.554,2492,4.394,2493,6.932,2494,2.836,2495,3.887,2496,4.394,2497,4.394,2498,2.836,2499,6.057,2500,4.394,2501,4.394,2502,2.836,2503,4.394,2504,2.836,2505,5.379,2506,2.836,2507,4.394,2508,4.394,2509,2.836,2510,2.133,2511,2.509,2512,2.509,2513,2.509,2514,2.836,2515,2.836,2516,2.836,2517,2.836,2518,2.836,2519,2.294,2520,2.836,2521,2.836,2522,2.836,2523,2.836,2524,2.836,2525,2.836,2526,2.836,2527,2.836,2528,2.836,2529,2.836,2530,2.836,2531,2.836,2532,2.836,2533,2.836,2534,2.836,2535,2.836,2536,4.394,2537,4.394,2538,4.394,2539,4.394,2540,2.294,2541,2.836,2542,2.836,2543,4.394,2544,2.509]],["title/modules/OntologySearchModule.html",[54,1.342,2446,3.003]],["body/modules/OntologySearchModule.html",[0,0.099,3,0.115,4,0.14,5,0.102,6,0.077,25,0.009,33,0.216,41,0.14,51,0.006,52,0.007,53,0.006,56,1.935,57,2.326,72,2.491,73,1.554,74,1.771,76,2.738,78,2.121,88,2.491,89,0.5,92,3.569,93,2.803,125,3.63,255,1.771,580,2.926,720,2.673,721,2.805,722,2.224,1631,3.776,1666,5.851,1667,4.868,2446,6.082,2449,3.776,2451,3.939,2510,4.868,2511,5.727,2545,5.727,2546,5.727,2547,5.727,2548,5.727,2549,6.883,2550,7.78,2551,7.78,2552,7.78,2553,6.473,2554,5.727]],["title/injectables/OntologySearchService.html",[452,1.101,2472,2.731]],["body/injectables/OntologySearchService.html",[0,0.055,3,0.064,4,0.078,5,0.057,6,0.101,8,1.383,11,0.652,12,0.609,14,1.101,15,0.621,20,1.153,22,1.288,24,1.567,25,0.009,26,1.02,27,1.202,28,1.053,29,1.177,31,1.81,33,0.185,34,0.406,35,0.987,41,0.114,49,2.491,51,0.007,52,0.005,53,0.007,79,1.379,82,1.983,83,1.16,89,0.279,111,1.211,150,1.406,156,0.872,177,2.106,180,4.836,187,2.772,188,2.715,189,1.183,190,3.074,192,1.334,227,1.95,255,2.41,256,3.571,278,1.053,285,1.602,303,3.962,310,1.211,311,2.458,312,0.795,318,2.146,369,2.846,406,4.834,421,3.355,422,3.592,452,1.678,453,1.82,490,2.092,605,2.553,624,1.672,644,1.37,730,4.576,806,1.156,843,2.347,853,2.491,869,3.723,874,3.723,1000,3.836,1097,5.144,1143,3.355,1487,2.919,1488,3.962,1535,3.695,1557,2.298,1610,2.106,1630,3.355,1709,5.144,1832,3.723,2006,2.937,2010,5.767,2028,6.502,2074,6.046,2346,2.415,2380,2.196,2451,5.137,2464,4.836,2472,4.162,2475,2.919,2481,4.397,2491,4.261,2519,4.261,2540,4.261,2555,6.828,2556,2.919,2557,4.661,2558,4.661,2559,5.504,2560,6.502,2561,5.268,2562,5.268,2563,5.268,2564,5.268,2565,5.268,2566,3.609,2567,4.661,2568,7.84,2569,3.609,2570,4.661,2571,4.661,2572,6.051,2573,4.661,2574,4.661,2575,3.609,2576,4.661,2577,4.661,2578,4.661,2579,3.609,2580,4.661,2581,3.609,2582,4.661,2583,4.661,2584,4.661,2585,3.609,2586,6.051,2587,4.661,2588,3.609,2589,4.661,2590,3.609,2591,3.609,2592,3.609,2593,3.193,2594,3.193,2595,5.504,2596,3.193,2597,2.919,2598,3.193,2599,3.193,2600,3.193,2601,3.193,2602,3.193,2603,3.193,2604,4.661,2605,3.193,2606,4.661,2607,4.661,2608,4.661,2609,4.661,2610,3.193,2611,3.193,2612,3.193,2613,3.193,2614,3.193,2615,3.193,2616,4.661,2617,4.661,2618,2.919,2619,3.193,2620,3.193]],["title/interfaces/OntologySelection.html",[156,0.743,199,3.172]],["body/interfaces/OntologySelection.html",[3,0.122,4,0.148,5,0.108,6,0.082,11,0.53,12,0.932,15,0.66,20,1.165,25,0.008,33,0.162,34,0.774,35,1.88,41,0.148,45,3.345,51,0.006,52,0.007,53,0.006,156,1.138,158,2.418,199,5.697,256,3.522,408,2.446,2010,5.904,2621,6.08,2622,6.08,2623,7.137]],["title/components/OntologySelectionComponent.html",[169,0.663,582,1.404]],["body/components/OntologySelectionComponent.html",[0,0.056,3,0.064,4,0.079,5,0.057,6,0.103,8,1.292,11,0.281,12,0.612,13,1.482,14,0.489,15,0.66,16,1.117,20,0.878,22,1.322,24,1.29,25,0.009,26,0.98,27,0.989,30,1.216,31,1.82,33,0.172,34,1.045,35,0.995,41,0.079,48,2.768,51,0.003,52,0.005,53,0.006,61,1.138,62,1.138,79,1.387,82,1.245,83,1.512,89,0.281,111,0.836,116,3.545,125,4.841,141,3.091,148,2.115,150,0.703,162,3.646,166,1.3,167,1.221,169,1.249,172,2.943,180,3.98,199,4.852,200,3.219,201,5.385,222,1.113,224,1.113,228,1.878,231,1.787,234,2.272,235,1.82,237,1.911,239,1.778,240,1.778,242,1.736,252,1.549,255,2.547,257,6.16,258,4.688,275,1.192,278,0.616,290,1.165,309,1.82,310,1.778,311,1.62,312,1.167,361,1.958,400,4.286,404,2.431,405,3.545,406,2.04,420,2.358,473,1.088,489,1.25,490,2.698,494,1.221,496,1.138,498,2.115,523,3.113,552,1.25,553,1.658,554,1.658,555,1.25,556,2.358,557,1.25,558,1.25,559,1.25,560,1.138,561,1.25,562,1.138,563,1.25,564,1.138,565,1.82,566,1.138,567,1.165,568,1.25,569,1.25,570,1.138,571,1.25,572,1.138,573,1.221,574,1.25,575,1.138,576,1.62,577,1.25,578,1.138,579,1.25,580,1.138,581,1.82,582,2.148,583,1.25,584,2.198,585,1.25,586,1.138,587,1.25,588,1.138,589,1.192,590,1.138,591,1.017,592,2.147,593,1.138,594,1.25,595,1.138,596,1.62,597,1.024,598,1.138,599,1.82,600,1.138,601,1.138,602,1.138,603,1.25,604,1.138,605,1.088,606,1.25,607,1.82,608,1.138,609,1.221,610,1.25,611,1.138,612,1.584,613,1.138,614,1.138,615,1.25,616,1.138,617,1.064,618,1.25,619,1.138,620,1.25,621,1.25,622,1.312,624,1.376,628,2.671,636,2.431,643,2.001,660,2.784,672,2.586,676,2.361,764,3.931,806,1.165,841,3.85,1184,5.728,1271,3.374,1275,3.745,1465,3.545,1480,4.688,1533,3.745,1557,3.374,1675,4.7,1688,3.985,1731,3.985,1732,5.163,2006,2.448,2010,4.593,2449,5.036,2451,2.214,2452,6.492,2454,2.317,2458,5.529,2464,3.98,2470,5.529,2472,5.204,2512,3.219,2513,3.219,2560,5.553,2597,2.943,2618,2.943,2624,3.219,2625,5.299,2626,6.25,2627,5.299,2628,6.25,2629,6.25,2630,6.25,2631,3.638,2632,5.299,2633,3.638,2634,3.638,2635,4.286,2636,3.638,2637,3.638,2638,3.638,2639,3.638,2640,5.299,2641,5.299,2642,3.638,2643,5.299,2644,3.638,2645,5.299,2646,3.638,2647,5.299,2648,3.638,2649,3.219,2650,3.638,2651,3.638,2652,3.638]],["title/modules/OntologySelectionModule.html",[54,1.342,2447,3.172]],["body/modules/OntologySelectionModule.html",[0,0.098,3,0.113,4,0.139,5,0.101,6,0.077,25,0.009,33,0.208,41,0.139,51,0.006,52,0.007,53,0.006,56,1.918,57,2.313,72,2.477,73,1.54,74,1.755,76,2.723,78,2.536,88,2.477,89,0.495,125,3.598,136,4.824,255,2.273,582,2.941,720,2.658,721,2.79,722,2.204,2446,6.002,2447,6.579,2448,6.002,2449,3.743,2451,3.904,2452,4.824,2454,4.085,2455,5.675,2472,5.056,2653,5.675,2654,5.675,2655,6.415,2656,5.675,2657,5.675,2658,6.415,2659,6.415]],["title/modules/OntologyTreeModule.html",[54,1.342,2448,3.003]],["body/modules/OntologyTreeModule.html",[0,0.099,3,0.115,4,0.14,5,0.102,6,0.077,25,0.009,33,0.216,34,0.73,41,0.14,51,0.006,52,0.007,53,0.006,56,1.938,57,2.328,72,2.493,73,1.556,74,1.773,76,2.74,78,2.124,88,2.493,89,0.5,92,3.572,93,2.806,97,5.503,98,4.581,108,2.028,125,3.635,255,1.773,584,2.995,720,2.675,721,2.807,722,2.227,1949,4.738,1950,3.944,2448,6.084,2449,3.781,2454,4.127,2649,5.734,2660,5.734,2661,5.734,2662,5.734,2663,6.481,2664,7.786,2665,6.481,2666,7.786]],["title/interfaces/Position.html",[156,0.743,894,1.175]],["body/interfaces/Position.html",[0,0.071,1,1.548,3,0.1,4,0.066,5,0.048,6,0.037,7,1.08,8,1.275,9,2.022,11,0.237,12,0.54,13,1.306,14,0.848,15,0.487,16,0.647,18,2.724,20,0.807,21,2.435,25,0.009,26,0.412,30,1.106,31,2.458,33,0.201,34,0.526,35,0.84,36,1.548,37,1.258,38,1.409,41,0.147,45,1.164,48,1.604,49,1.452,51,0.003,52,0.004,53,0.003,83,1.763,89,0.237,108,0.961,150,1.777,156,1.046,158,1.08,166,1.145,179,1.055,181,2.354,187,3.314,189,1.006,192,1.135,207,1.659,216,1.548,219,1.791,220,1.722,221,1.955,234,0.753,252,0.898,256,1.225,265,2.817,269,0.706,278,0.957,285,1.688,295,1.931,299,2.523,312,1.028,317,1.955,318,1.653,349,1.498,361,1.135,366,1.722,386,1.74,390,3.035,392,3.035,393,2.593,394,2.686,402,1.164,403,3.169,408,1.942,452,1.145,479,1.409,480,1.409,481,1.368,482,1.135,483,1.452,528,1.194,597,0.594,639,2.354,641,1.548,642,1.452,644,1.858,678,1.498,679,1.452,711,0.898,764,2.758,769,1.409,894,2.322,974,3.213,1020,2.142,1095,1.659,1100,2.393,1101,2.354,1113,1.659,1115,2.947,1116,2.523,1129,3.963,1156,2.435,1262,2.619,1266,1.601,1277,1.868,1341,2.279,1511,2.209,1517,2.489,1566,1.791,1651,2.523,1723,2.435,1979,1.914,1982,0.939,1983,1.722,2006,1.03,2032,1.258,2034,3.188,2036,1.258,2038,1.914,2039,1.293,2040,2.38,2041,1.914,2042,3.766,2043,1.914,2044,1.914,2046,1.225,2047,1.914,2048,1.258,2049,3.013,2050,2.081,2368,2.435,2667,1.955,2668,2.054,2669,1.955,2670,4.021,2671,2.054,2672,5.022,2673,2.054,2674,3.297,2675,2.354,2676,3.125,2677,2.054,2678,3.125,2679,2.054,2680,1.955,2681,1.955,2682,3.67,2683,2.974,2684,1.601,2685,1.955,2686,2.725,2687,3.963,2688,3.684,2689,2.974,2690,3.125,2691,2.725,2692,2.725,2693,4.545,2694,1.868,2695,2.054,2696,1.659,2697,1.955,2698,2.054,2699,2.054,2700,3.125,2701,1.868,2702,2.054,2703,2.054,2704,2.054,2705,2.054,2706,2.054,2707,2.054,2708,2.054,2709,4.526,2710,3.781,2711,3.125,2712,2.974,2713,3.125,2714,5.128,2715,2.054,2716,5.128,2717,2.054,2718,2.054,2719,2.054,2720,2.054,2721,5.357,2722,2.054,2723,2.054,2724,4.225,2725,3.125,2726,2.054,2727,2.054,2728,2.054,2729,2.842,2730,2.054,2731,2.054,2732,2.054,2733,2.054,2734,2.054,2735,3.781,2736,4.021,2737,1.955,2738,1.955,2739,1.955,2740,3.781,2741,2.054,2742,2.054,2743,2.054,2744,3.781,2745,2.054,2746,2.054,2747,4.225,2748,3.125,2749,2.054,2750,2.054,2751,2.054,2752,2.054,2753,2.054,2754,2.054,2755,2.054,2756,2.054,2757,2.054,2758,3.125,2759,2.054,2760,2.054,2761,2.054,2762,2.054,2763,2.054,2764,2.054,2765,2.054,2766,2.054,2767,2.054,2768,1.955,2769,2.054,2770,2.054,2771,2.054,2772,2.054,2773,2.842,2774,2.054,2775,2.054,2776,2.054,2777,2.054,2778,2.054,2779,2.054,2780,3.125,2781,2.054,2782,3.125,2783,2.054,2784,2.054,2785,2.054,2786,2.054,2787,2.054,2788,2.054,2789,2.054,2790,2.054,2791,1.791,2792,2.054,2793,2.054,2794,2.054,2795,1.868,2796,2.054,2797,2.054,2798,2.054,2799,2.054,2800,2.054,2801,2.054,2802,2.054,2803,2.054,2804,2.054,2805,2.054,2806,1.868,2807,2.054,2808,2.054,2809,2.054,2810,1.955,2811,1.955,2812,1.955,2813,1.955]],["title/interfaces/RadiusSettings.html",[156,0.743,2682,2.425]],["body/interfaces/RadiusSettings.html",[0,0.071,1,1.548,3,0.1,4,0.066,5,0.048,6,0.037,7,1.08,8,1.275,9,2.022,11,0.237,12,0.54,13,1.306,14,0.848,15,0.487,16,0.647,18,2.724,20,0.807,21,2.435,25,0.009,26,0.412,30,1.106,31,2.458,33,0.201,34,0.526,35,0.84,36,1.548,37,1.258,38,1.409,41,0.147,45,1.164,48,1.604,49,1.452,51,0.003,52,0.004,53,0.003,83,1.763,89,0.237,108,0.961,150,1.777,156,1.046,158,1.08,166,1.145,179,1.055,181,2.354,187,3.314,189,1.006,192,1.135,207,1.659,216,1.548,219,1.791,220,1.722,221,1.955,234,0.753,252,0.898,256,1.225,265,2.817,269,0.706,278,0.957,285,1.688,295,1.931,299,2.523,312,1.028,317,1.955,318,1.653,349,1.498,361,1.135,366,1.722,386,1.74,390,2.819,392,2.819,393,2.593,394,2.495,402,1.164,403,3.169,408,1.942,452,1.145,479,1.409,480,1.409,481,1.368,482,1.135,483,1.452,528,1.194,597,0.594,639,2.354,641,1.548,642,1.452,644,1.858,678,1.498,679,1.452,711,0.898,764,2.758,769,1.409,894,2.312,974,3.213,1020,2.142,1095,1.659,1100,2.393,1101,2.354,1113,1.659,1115,2.947,1116,2.523,1129,3.963,1156,2.435,1262,2.619,1266,1.601,1277,1.868,1341,2.279,1511,3.213,1517,2.489,1566,1.791,1651,3.67,1723,2.435,1979,1.914,1982,0.939,1983,1.722,2006,1.03,2032,1.258,2034,3.188,2036,1.258,2038,1.914,2039,1.293,2040,2.38,2041,1.914,2042,3.766,2043,1.914,2044,1.914,2046,1.225,2047,1.914,2048,1.258,2049,3.013,2050,2.081,2368,2.435,2667,1.955,2668,2.054,2669,1.955,2670,4.021,2671,2.054,2672,5.022,2673,2.054,2674,3.297,2675,2.354,2676,3.125,2677,2.054,2678,3.125,2679,2.054,2680,1.955,2681,1.955,2682,3.866,2683,4.326,2684,1.601,2685,1.955,2686,2.725,2687,3.963,2688,3.684,2689,2.974,2690,3.125,2691,2.725,2692,2.725,2693,4.545,2694,1.868,2695,2.054,2696,1.659,2697,1.955,2698,2.054,2699,2.054,2700,3.125,2701,1.868,2702,2.054,2703,2.054,2704,2.054,2705,2.054,2706,2.054,2707,2.054,2708,2.054,2709,4.526,2710,3.781,2711,3.125,2712,2.974,2713,3.125,2714,5.128,2715,2.054,2716,5.128,2717,2.054,2718,2.054,2719,2.054,2720,2.054,2721,5.357,2722,2.054,2723,2.054,2724,4.225,2725,3.125,2726,2.054,2727,2.054,2728,2.054,2729,2.842,2730,2.054,2731,2.054,2732,2.054,2733,2.054,2734,2.054,2735,3.781,2736,4.021,2737,1.955,2738,1.955,2739,1.955,2740,3.781,2741,2.054,2742,2.054,2743,2.054,2744,3.781,2745,2.054,2746,2.054,2747,4.225,2748,3.125,2749,2.054,2750,2.054,2751,2.054,2752,2.054,2753,2.054,2754,2.054,2755,2.054,2756,2.054,2757,2.054,2758,3.125,2759,2.054,2760,2.054,2761,2.054,2762,2.054,2763,2.054,2764,2.054,2765,2.054,2766,2.054,2767,2.054,2768,1.955,2769,2.054,2770,2.054,2771,2.054,2772,2.054,2773,2.842,2774,2.054,2775,2.054,2776,2.054,2777,2.054,2778,2.054,2779,2.054,2780,3.125,2781,2.054,2782,3.125,2783,2.054,2784,2.054,2785,2.054,2786,2.054,2787,2.054,2788,2.054,2789,2.054,2790,2.054,2791,1.791,2792,2.054,2793,2.054,2794,2.054,2795,1.868,2796,2.054,2797,2.054,2798,2.054,2799,2.054,2800,2.054,2801,2.054,2802,2.054,2803,2.054,2804,2.054,2805,2.054,2806,1.868,2807,2.054,2808,2.054,2809,2.054,2810,1.955,2811,1.955,2812,1.955,2813,1.955]],["title/classes/ReallyUpdateSpatialSearch.html",[0,0.069,2694,2.731]],["body/classes/ReallyUpdateSpatialSearch.html",[0,0.071,1,1.544,2,1.161,3,0.1,4,0.066,5,0.048,6,0.056,7,1.64,8,1.306,9,2.018,11,0.236,12,0.539,13,1.764,14,0.96,15,0.487,16,0.646,18,2.723,20,0.868,21,2.431,22,0.474,25,0.009,26,0.411,28,0.519,29,0.496,30,1.149,31,2.455,33,0.201,34,0.525,35,0.838,36,1.544,37,1.255,38,1.405,41,0.147,45,1.161,48,1.601,49,1.449,51,0.003,52,0.004,53,0.003,83,1.762,89,0.236,108,0.958,150,1.777,156,1.044,166,1.143,179,1.052,181,2.35,187,3.311,189,1.004,192,1.132,207,1.655,216,1.544,219,1.787,220,1.718,221,1.95,234,0.751,252,0.895,256,1.222,265,2.816,269,0.704,278,0.956,285,1.686,295,1.929,299,2.518,312,1.242,317,1.95,318,1.651,349,1.495,361,1.132,366,1.718,386,1.738,390,2.816,392,2.816,393,2.589,394,2.493,402,1.767,403,3.165,408,1.94,452,1.143,479,1.405,480,1.405,481,1.365,482,1.132,483,1.449,528,1.191,597,0.592,639,2.35,641,1.544,642,1.449,644,1.686,678,1.495,679,1.449,711,0.895,764,2.754,769,1.405,894,2.312,974,3.209,1020,2.139,1095,1.655,1100,2.39,1101,2.35,1113,1.655,1115,2.943,1116,2.518,1129,3.959,1156,2.431,1262,2.614,1266,1.597,1277,1.864,1341,2.275,1511,2.204,1517,2.488,1566,1.787,1651,2.518,1723,2.431,1979,1.91,1982,1.426,1983,1.718,2006,1.028,2032,1.255,2034,3.311,2036,1.255,2038,1.91,2039,1.29,2040,2.376,2041,1.91,2042,3.764,2043,1.91,2044,1.91,2046,1.222,2047,1.91,2048,1.255,2049,3.01,2050,2.077,2368,2.431,2667,1.95,2668,2.049,2669,1.95,2670,4.016,2671,2.049,2672,5.019,2673,2.049,2674,3.292,2675,2.35,2676,3.119,2677,2.049,2678,3.119,2679,2.049,2680,1.95,2681,1.95,2682,3.666,2683,2.968,2684,1.597,2685,1.95,2686,2.719,2687,3.959,2688,3.679,2689,2.968,2690,3.119,2691,2.719,2692,2.719,2693,4.54,2694,2.837,2695,3.119,2696,1.655,2697,1.95,2698,2.049,2699,2.049,2700,3.119,2701,1.864,2702,2.049,2703,2.049,2704,2.049,2705,2.049,2706,2.049,2707,2.049,2708,2.049,2709,4.522,2710,3.775,2711,3.119,2712,2.968,2713,3.119,2714,5.124,2715,2.049,2716,5.124,2717,2.049,2718,2.049,2719,2.049,2720,2.049,2721,5.354,2722,2.049,2723,2.049,2724,4.22,2725,3.119,2726,2.049,2727,2.049,2728,2.049,2729,2.837,2730,2.049,2731,2.049,2732,2.049,2733,2.049,2734,2.049,2735,3.775,2736,4.016,2737,1.95,2738,1.95,2739,1.95,2740,3.775,2741,2.049,2742,2.049,2743,2.049,2744,3.775,2745,2.049,2746,2.049,2747,4.22,2748,3.119,2749,2.049,2750,2.049,2751,2.049,2752,2.049,2753,2.049,2754,2.049,2755,2.049,2756,2.049,2757,2.049,2758,3.119,2759,2.049,2760,2.049,2761,2.049,2762,2.049,2763,2.049,2764,2.049,2765,2.049,2766,2.049,2767,2.049,2768,1.95,2769,2.049,2770,2.049,2771,2.049,2772,2.049,2773,2.837,2774,2.049,2775,2.049,2776,2.049,2777,2.049,2778,2.049,2779,2.049,2780,3.119,2781,2.049,2782,3.119,2783,2.049,2784,2.049,2785,2.049,2786,2.049,2787,2.049,2788,2.049,2789,2.049,2790,2.049,2791,1.787,2792,2.049,2793,2.049,2794,2.049,2795,1.864,2796,2.049,2797,2.049,2798,2.049,2799,2.049,2800,2.049,2801,2.049,2802,2.049,2803,2.049,2804,2.049,2805,2.049,2806,1.864,2807,2.049,2808,2.049,2809,2.049,2810,1.95,2811,1.95,2812,1.95,2813,1.95,2814,3.063]],["title/classes/RemoveSearch.html",[0,0.069,43,2.731]],["body/classes/RemoveSearch.html",[0,0.125,1,3.107,2,2.336,3,0.109,4,0.133,5,0.097,6,0.098,7,2.873,8,1.414,9,3.535,10,4.635,11,0.476,12,0.873,13,2.442,14,1.208,15,0.701,16,1.3,18,2.497,19,4.356,20,1.117,21,3.938,22,1.168,24,1.272,25,0.009,26,0.828,27,0.975,28,1.044,29,0.998,30,1.35,31,2.923,32,2.669,33,0.193,34,0.694,35,1.686,36,3.107,37,2.526,38,2.828,39,3.938,40,3.75,41,0.176,42,3.746,43,4.595,44,5.337,45,2.862,46,3.75,47,2.222,48,2.117,49,2.915,50,2.595,51,0.006,52,0.007,53,0.006,2815,6.163,2816,7.552]],["title/classes/ResetPosition.html",[0,0.069,2046,1.791]],["body/classes/ResetPosition.html",[0,0.14,2,2.106,3,0.098,4,0.12,5,0.088,6,0.085,7,2.49,8,1.346,11,0.429,12,0.818,13,2.576,14,1.237,15,0.714,18,2.164,20,0.905,22,0.859,25,0.009,28,0.941,29,0.899,30,1.205,32,2.406,33,0.131,34,0.626,41,0.197,42,3.973,47,3.054,51,0.005,52,0.006,53,0.005,73,1.87,260,2.34,265,1.955,269,1.277,312,1.223,315,2.217,390,2.106,392,2.106,394,1.864,402,2.106,408,1.588,597,1.074,644,1.806,653,3.454,894,2.217,901,2.824,1100,2.682,1517,2.277,1979,2.277,1982,2.164,2006,2.374,2032,2.277,2033,2.897,2034,4.086,2036,2.277,2037,2.897,2038,2.277,2039,2.34,2040,2.34,2041,2.277,2042,2.406,2043,2.277,2044,2.277,2045,3.002,2046,2.824,2047,2.277,2048,2.277,2049,2.34,2050,3.153,2817,5.556]],["title/classes/ResetRadius.html",[0,0.069,2048,1.839]],["body/classes/ResetRadius.html",[0,0.14,2,2.106,3,0.098,4,0.12,5,0.088,6,0.085,7,2.49,8,1.346,11,0.429,12,0.818,13,2.576,14,1.237,15,0.714,18,2.164,20,0.905,22,0.859,25,0.009,28,0.941,29,0.899,30,1.205,32,2.406,33,0.131,34,0.626,41,0.197,42,3.973,47,3.054,51,0.005,52,0.006,53,0.005,73,1.87,260,2.34,265,1.955,269,1.277,312,1.223,315,2.217,390,2.106,392,2.106,394,1.864,402,2.106,408,1.588,597,1.074,644,1.806,653,3.454,894,2.147,901,2.824,1100,2.682,1517,2.397,1979,2.277,1982,2.164,2006,2.374,2032,2.277,2033,2.897,2034,4.086,2036,2.277,2037,2.897,2038,2.277,2039,2.34,2040,2.34,2041,2.277,2042,2.406,2043,2.277,2044,2.277,2045,3.002,2046,2.217,2047,2.277,2048,2.901,2049,2.34,2050,3.153,2818,5.556]],["title/components/ResultsBrowserComponent.html",[169,0.663,586,1.404]],["body/components/ResultsBrowserComponent.html",[0,0.045,3,0.052,4,0.064,5,0.047,6,0.103,8,1.066,11,0.229,12,0.525,14,0.947,15,0.653,16,0.625,20,0.994,22,1.329,24,1.38,25,0.009,26,0.986,27,1.058,28,0.502,29,0.736,30,1.136,32,1.968,33,0.158,34,1.027,35,0.811,41,0.064,45,1.123,47,1.639,48,2.604,51,0.008,52,0.004,53,0.008,61,0.927,62,0.927,79,1.19,82,1.571,83,1.669,89,0.229,101,4.525,111,0.681,128,6.893,149,1.662,150,0.879,162,3.617,166,1.64,167,0.994,169,1.147,178,2.652,222,0.906,224,0.906,227,1.601,228,1.243,230,3.676,231,1.581,234,2.231,235,1.561,237,1.639,239,1.525,240,1.525,242,1.489,252,2.063,254,3.212,255,1.512,256,2.206,264,2.743,273,1.729,275,1.812,278,1.132,285,0.652,290,0.949,309,1.561,310,1.525,311,2.045,373,2.15,386,1.164,392,1.123,404,3.37,420,2.424,422,2.15,437,5.051,473,0.886,477,1.446,482,1.095,489,1.018,490,0.906,494,0.994,496,0.927,498,1.814,523,3.103,552,1.018,553,1.422,554,1.73,555,1.018,556,2.13,557,1.018,558,1.018,559,1.018,560,0.927,561,1.018,562,0.927,563,1.018,564,0.927,565,1.561,566,0.927,567,0.949,568,1.018,569,1.018,570,0.927,571,1.018,572,0.927,573,0.994,574,1.018,575,0.927,576,1.39,577,1.018,578,0.927,579,1.018,580,0.927,581,1.561,582,0.927,583,1.018,584,0.949,585,1.018,586,1.94,587,1.018,588,0.927,589,0.971,590,0.927,591,0.829,592,1.899,593,0.927,594,1.018,595,0.927,596,1.39,597,0.879,598,0.927,599,1.561,600,0.927,601,0.927,602,0.927,603,1.018,604,0.927,605,0.886,606,1.018,607,1.561,608,0.927,609,0.994,610,1.018,611,0.927,612,1.359,613,0.927,614,0.927,615,1.018,616,0.927,617,0.866,618,1.018,619,0.927,620,1.018,621,1.018,622,1.069,624,1.472,636,2.085,638,2.095,639,3.125,641,2.787,642,2.615,643,1.455,660,3.595,663,3.212,669,1.803,672,3.443,676,3.647,678,1.446,679,1.402,698,2.932,699,1.994,700,1.36,701,3.675,703,2.987,704,2.652,706,2.971,707,3.101,708,3.212,711,1.812,730,5.071,731,2.229,854,4.021,894,0.776,936,1.803,937,2.549,939,4.021,965,1.601,1020,2.674,1021,2.095,1022,2.622,1023,1.729,1098,2.622,1194,4.891,1275,3.212,1418,2.229,1444,5.507,1458,4.472,1465,3.041,1472,3.477,1475,3.676,1481,3.948,1511,1.402,1512,2.766,1513,1.446,1514,2.15,1521,1.494,1531,2.229,1534,2.15,1535,1.601,1536,3.364,1537,2.229,1541,1.662,1554,1.601,1560,3.773,1564,2.622,1636,2.218,1703,3.418,1713,4.021,1790,4.021,1829,2.766,1942,1.983,1963,4.021,1967,4.021,2227,4.721,2311,1.983,2317,3.908,2544,2.622,2806,2.766,2819,2.622,2820,4.545,2821,6.2,2822,6.2,2823,4.545,2824,6.2,2825,4.545,2826,4.545,2827,5.529,2828,4.545,2829,5.529,2830,4.545,2831,4.545,2832,4.545,2833,5.529,2834,4.545,2835,6.686,2836,5.529,2837,5.529,2838,4.891,2839,5.529,2840,5.529,2841,4.545,2842,2.964,2843,2.964,2844,2.964,2845,2.964,2846,2.964,2847,4.545,2848,2.964,2849,2.964,2850,2.964,2851,4.545,2852,4.545,2853,2.964,2854,4.545,2855,2.964,2856,2.964,2857,2.964,2858,4.545,2859,2.964,2860,6.2,2861,4.545,2862,2.964,2863,4.545,2864,4.545,2865,2.964,2866,4.545,2867,5.529,2868,2.964,2869,7.771,2870,4.545,2871,4.545,2872,4.545,2873,5.529,2874,2.964,2875,2.964,2876,2.964,2877,2.964,2878,2.964,2879,2.964,2880,2.964,2881,4.545,2882,4.545,2883,4.545,2884,4.545,2885,2.964,2886,4.545,2887,4.545,2888,6.2,2889,2.964,2890,2.964,2891,2.622,2892,2.622,2893,4.545,2894,2.964,2895,2.397]],["title/modules/ResultsBrowserModule.html",[54,1.342,68,3.172]],["body/modules/ResultsBrowserModule.html",[0,0.1,3,0.116,4,0.141,5,0.103,6,0.078,25,0.009,33,0.209,41,0.141,51,0.006,52,0.007,53,0.007,56,1.958,57,2.342,68,6.535,72,2.508,73,1.572,74,1.791,76,2.757,78,2.567,88,2.508,89,0.506,128,5.892,567,2.097,586,2.931,720,2.691,721,2.825,722,2.25,1444,4.17,1446,4.925,1574,6.371,2896,5.794,2897,6.549,2898,5.794,2899,5.794,2900,6.549,2901,7.834,2902,6.549,2903,6.549,2904,6.549]],["title/components/RunSpatialSearchComponent.html",[169,0.663,588,1.404]],["body/components/RunSpatialSearchComponent.html",[0,0.124,3,0.078,4,0.095,5,0.069,6,0.094,8,1.399,11,0.338,12,0.699,14,1.051,15,0.534,16,0.924,20,0.56,22,1.154,24,0.904,25,0.009,26,0.929,27,0.693,28,1.024,29,0.979,30,1.458,33,0.191,34,1.062,41,0.095,50,1.845,51,0.004,52,0.005,53,0.005,61,1.371,62,1.371,79,1.583,82,1.029,83,1.331,89,0.338,111,1.007,135,5.534,149,2.457,167,1.47,169,1.022,179,1.505,192,1.619,218,2.556,222,1.34,224,1.34,228,1.654,231,1.979,234,2.303,235,2.077,237,2.18,239,2.028,240,2.028,255,1.893,275,1.436,290,1.403,318,1.147,368,1.749,403,4.54,420,1.505,473,1.31,489,1.505,490,1.34,494,1.47,496,1.371,552,1.505,553,2.45,554,1.892,555,1.505,556,2.564,557,1.505,558,1.505,559,1.505,560,1.371,561,1.505,562,1.371,563,1.505,564,1.371,565,2.077,566,1.371,567,1.403,568,1.505,569,1.505,570,1.371,571,1.505,572,1.371,573,1.47,574,1.505,575,1.371,576,1.849,577,1.505,578,1.371,579,1.505,580,1.371,581,2.077,582,1.371,583,1.505,584,1.403,585,1.505,586,1.371,587,1.505,588,2.335,589,2.953,590,1.892,591,2.189,592,2.378,593,1.371,594,1.505,595,1.371,596,1.849,597,1.169,598,1.371,599,2.077,600,1.371,601,1.371,602,1.371,603,1.505,604,1.371,605,1.31,606,1.505,607,2.077,608,1.371,609,1.47,610,1.505,611,1.371,612,1.808,613,1.371,614,1.371,615,1.505,616,1.371,617,1.281,618,1.505,619,1.371,620,1.505,621,1.505,622,1.58,624,0.965,687,2.457,688,2.367,689,3.266,699,1.58,706,1.845,806,1.403,825,3.378,833,2.859,853,2.859,864,2.774,886,2.01,934,2.072,944,2.072,1046,3.642,1113,2.367,1115,3.153,1262,2.457,1266,2.285,1323,2.367,1513,2.138,1619,4.547,1632,2.932,1982,1.34,1983,2.457,2036,3.209,2037,3.153,2456,3.544,2459,6.124,2460,5.349,2476,6.124,2905,6.333,2906,4.382,2907,5.206,2908,6.036,2909,4.382,2910,5.349,2911,3.097,2912,2.556,2913,2.932,2914,4.382,2915,4.382,2916,3.877,2917,6.046,2918,4.382]],["title/modules/RunSpatialSearchModule.html",[54,1.342,69,3.003]],["body/modules/RunSpatialSearchModule.html",[0,0.102,3,0.118,4,0.144,5,0.105,6,0.079,25,0.009,30,1.304,33,0.21,41,0.144,51,0.006,52,0.007,53,0.006,56,1.987,57,2.363,69,6.114,72,2.53,73,1.595,74,1.817,76,2.781,78,2.177,88,2.53,89,0.513,92,3.626,93,2.877,135,4.696,588,2.936,589,2.177,720,2.715,721,2.849,722,2.283,1949,4.809,1950,4.043,2548,5.878,2554,5.878,2905,5.374,2919,5.878,2920,5.878,2921,5.878]],["title/injectables/SceneState.html",[216,2.262,452,1.101]],["body/injectables/SceneState.html",[0,0.048,3,0.084,4,0.068,5,0.049,6,0.105,11,0.242,12,0.549,13,2.018,14,1.138,15,0.64,16,1.208,20,0.607,22,1.35,24,1.63,25,0.009,26,1.081,27,1.25,28,1.082,29,1.034,33,0.196,34,0.645,35,0.859,41,0.124,48,2.479,51,0.003,52,0.004,53,0.003,79,1.243,82,1.892,83,1.897,87,5.128,89,0.242,108,0.982,148,1.253,150,1.235,156,0.52,160,2.057,166,1.405,175,2.179,179,1.079,181,3.22,186,3.178,189,1.029,190,1.832,191,1.832,192,1.16,210,3.899,212,3.342,214,1.999,215,2.361,216,2.394,234,1.683,242,1.029,252,1.389,260,1.322,265,2.539,278,1.082,285,1.406,295,2.653,299,1.696,309,1.632,310,1.593,311,2.207,312,1.406,315,3.599,318,2.142,349,3.766,355,2.69,361,1.16,386,0.804,402,1.8,404,1.441,420,2.194,452,1.165,453,1.583,528,1.221,597,0.607,624,1.51,643,2.045,644,1.406,649,2.361,672,1.532,693,2.361,726,1.761,732,4.431,733,1.399,734,2.664,735,1.761,736,3.648,737,1.761,742,5.031,758,1.999,763,3.648,768,1.999,769,1.441,771,3.095,797,3.887,806,2.31,843,3.838,963,2.361,975,1.832,992,1.399,1096,5.1,1100,2.994,1113,1.696,1115,1.637,1156,1.637,1235,1.999,1262,1.761,1266,2.477,1271,1.999,1278,2.101,1341,3.993,1358,2.361,1360,2.219,1404,2.361,1476,2.361,1481,1.999,1621,1.911,1730,3.024,1888,3.841,2006,2.514,2007,2.539,2055,2.219,2087,1.911,2316,4.308,2317,4.049,2323,2.778,2325,3.572,2326,4.308,2327,4.049,2338,3.572,2344,4.514,2348,2.219,2349,2.219,2354,2.361,2355,2.361,2356,2.361,2357,2.361,2358,3.357,2359,2.361,2360,2.361,2361,2.361,2362,2.361,2364,2.361,2674,4.372,2675,4.125,2688,4.838,2701,1.911,2729,1.911,2922,2.361,2923,5.651,2924,6.828,2925,6.828,2926,5.068,2927,4.75,2928,5.651,2929,4.75,2930,4.75,2931,4.75,2932,4.75,2933,4.75,2934,3.14,2935,4.202,2936,5.636,2937,3.14,2938,3.841,2939,3.14,2940,3.14,2941,5.651,2942,3.14,2943,4.202,2944,4.202,2945,3.14,2946,3.14,2947,3.14,2948,3.14,2949,5.651,2950,5.427,2951,3.14,2952,3.14,2953,3.14,2954,3.14,2955,3.178,2956,3.14,2957,3.14,2958,3.14,2959,3.14,2960,4.202,2961,3.14,2962,4.202,2963,3.14,2964,4.202,2965,3.14,2966,4.202,2967,3.14,2968,4.202,2969,2.361,2970,2.539,2971,4.202,2972,4.202,2973,2.778,2974,2.539,2975,2.778,2976,2.778,2977,2.778,2978,2.778,2979,2.778,2980,2.778,2981,4.202,2982,4.202,2983,5.651,2984,2.778,2985,5.068,2986,2.778,2987,2.778,2988,2.778,2989,2.778,2990,2.778,2991,2.778,2992,2.778,2993,2.539,2994,2.778,2995,2.778,2996,2.778,2997,2.778,2998,2.778,2999,2.778,3000,2.778,3001,2.778,3002,2.778,3003,2.778,3004,2.778,3005,2.778,3006,2.778,3007,2.778,3008,2.778,3009,2.778,3010,2.778,3011,2.778,3012,2.778,3013,2.778,3014,2.778,3015,2.778,3016,2.778,3017,2.778,3018,2.778,3019,2.778,3020,2.778,3021,2.778,3022,2.778,3023,2.778,3024,2.778,3025,2.778,3026,2.778,3027,2.361,3028,2.778,3029,2.778,3030,2.778,3031,2.778,3032,2.778]],["title/interfaces/SceneStateModel.html",[156,0.743,2936,3.375]],["body/interfaces/SceneStateModel.html",[0,0.058,3,0.097,4,0.083,5,0.06,6,0.046,11,0.295,12,0.635,13,1.535,14,1.04,15,0.642,16,1.158,20,0.898,25,0.009,26,0.513,27,0.869,33,0.204,34,0.724,35,1.045,41,0.139,48,2.413,51,0.003,52,0.005,53,0.003,83,1.798,87,4.737,89,0.295,108,1.196,148,1.525,150,1.358,156,0.633,158,1.345,160,1.655,166,1.576,175,2.519,179,1.313,181,2.768,186,3.673,189,1.252,190,2.229,191,2.229,192,1.412,210,3.472,212,3.203,214,2.433,215,2.874,216,1.926,234,1.576,242,1.252,252,1.117,260,1.609,265,2.472,278,1.189,285,1.547,295,2.543,299,2.065,309,1.313,310,1.282,311,2.369,312,1.209,315,3.597,318,1.948,349,3.428,355,2.706,361,1.412,386,0.979,402,2.081,404,1.753,420,1.886,452,1.347,528,1.486,597,0.739,643,1.758,644,1.547,649,2.874,672,1.865,693,2.874,726,2.143,732,4.172,733,1.702,734,3.079,735,2.143,736,3.496,737,2.143,742,4.737,758,2.433,763,2.433,768,2.433,769,1.753,771,2.966,797,4.274,815,4.129,843,3.705,963,2.874,975,2.229,992,1.702,1096,4.541,1100,3.024,1113,2.065,1115,1.993,1156,1.993,1235,2.433,1262,2.143,1266,2.863,1271,2.433,1278,2.557,1341,3.78,1358,2.874,1360,2.701,1404,2.874,1476,2.874,1481,2.433,1621,2.325,1730,2.433,1888,3.09,2006,2.496,2007,3.09,2055,2.701,2087,2.325,2316,4.832,2317,2.701,2325,2.874,2326,4.129,2327,3.88,2338,2.874,2344,3.88,2348,2.701,2349,2.701,2354,2.874,2355,2.874,2356,2.874,2357,2.874,2358,3.88,2359,2.874,2360,2.874,2361,2.874,2362,2.874,2364,2.874,2674,4.519,2675,4.254,2688,4.923,2701,2.325,2729,2.325,2922,2.874,2923,6.582,2924,7.223,2925,7.223,2926,3.381,2928,3.381,2935,3.381,2936,5.283,2938,3.09,2941,4.857,2943,3.381,2944,3.381,2949,4.857,2950,4.832,2955,2.557,2960,3.381,2962,3.381,2964,3.381,2966,3.381,2968,4.857,2969,2.874,2970,3.09,2971,6.582,2972,6.582,2973,3.381,2974,3.09,2975,3.381,2976,3.381,2977,3.381,2978,3.381,2979,3.381,2980,3.381,2981,4.857,2982,4.857,2983,6.214,2984,3.381,2985,5.685,2986,3.381,2987,3.381,2988,3.381,2989,3.381,2990,3.381,2991,3.381,2992,3.381,2993,3.09,2994,3.381,2995,3.381,2996,3.381,2997,3.381,2998,3.381,2999,3.381,3000,3.381,3001,3.381,3002,3.381,3003,3.381,3004,3.381,3005,3.381,3006,3.381,3007,3.381,3008,3.381,3009,3.381,3010,3.381,3011,3.381,3012,3.381,3013,3.381,3014,3.381,3015,3.381,3016,3.381,3017,3.381,3018,3.381,3019,3.381,3020,3.381,3021,3.381,3022,3.381,3023,3.381,3024,3.381,3025,3.381,3026,3.381,3027,2.874,3028,3.381,3029,3.381,3030,3.381,3031,3.381,3032,3.381]],["title/interfaces/SearchResult.html",[156,0.743,2481,3.172]],["body/interfaces/SearchResult.html",[0,0.067,3,0.078,4,0.095,5,0.069,6,0.053,8,1.385,11,0.683,12,0.701,14,0.932,15,0.606,20,1.112,25,0.009,29,0.713,33,0.196,34,0.496,35,1.205,41,0.131,49,2.083,51,0.007,52,0.005,53,0.008,82,1.843,83,0.97,89,0.34,111,1.013,150,1.517,156,1.149,158,1.55,177,2.57,180,4.42,187,2.703,188,3.313,189,1.443,190,3.54,192,1.628,227,2.38,255,2.315,256,3.504,278,1.027,285,1.727,303,3.313,310,2.035,311,2.589,312,1.336,318,1.817,369,2.38,406,4.659,421,2.805,422,3.283,452,1.703,490,1.856,605,2.424,624,0.97,644,1.647,730,4.06,843,1.962,853,2.083,869,3.113,874,3.113,1000,3.403,1097,5.22,1143,2.805,1487,4.907,1488,3.313,1535,3.278,1557,3.864,1610,3.54,1630,2.805,1709,4.563,1832,3.113,2006,2.97,2010,5.874,2028,6.049,2074,6.098,2346,2.947,2380,3.692,2451,2.68,2464,3.864,2472,3.692,2475,4.907,2481,4.906,2491,3.562,2519,3.562,2540,3.562,2555,3.562,2556,3.562,2557,3.897,2558,3.897,2559,3.897,2560,5.614,2567,3.897,2568,7.767,2570,3.897,2571,3.897,2572,5.368,2573,3.897,2574,3.897,2576,3.897,2577,3.897,2578,3.897,2580,3.897,2582,3.897,2583,3.897,2584,3.897,2586,5.368,2587,3.897,2589,3.897,2593,3.897,2594,5.368,2595,7.174,2596,3.897,2597,3.562,2598,3.897,2599,3.897,2600,3.897,2601,3.897,2602,3.897,2603,3.897,2604,5.368,2605,3.897,2606,5.368,2607,5.368,2608,5.368,2609,5.368,2610,3.897,2611,3.897,2612,3.897,2613,3.897,2614,3.897,2615,3.897,2616,5.368,2617,5.368,2618,3.562,2619,3.897,2620,3.897]],["title/classes/SetExecuteSearchOnGenerate.html",[0,0.069,1979,1.839]],["body/classes/SetExecuteSearchOnGenerate.html",[0,0.139,2,2.069,3,0.097,4,0.118,5,0.086,6,0.092,7,2.718,8,1.375,11,0.421,12,0.809,13,2.57,14,1.234,15,0.713,16,1.151,18,2.14,20,0.895,22,1.082,24,1.126,25,0.009,26,0.733,27,0.864,28,0.924,29,0.884,30,1.195,32,2.364,33,0.129,34,0.615,41,0.197,42,3.955,47,3.108,51,0.005,52,0.006,53,0.005,73,1.68,260,2.299,265,1.921,269,1.255,312,1.202,315,2.179,390,2.069,392,2.069,394,1.831,402,2.069,408,1.561,597,1.055,644,1.794,653,3.77,894,2.133,901,2.793,1100,2.652,1517,2.258,1979,2.868,1982,2.362,2006,2.348,2032,2.237,2033,2.847,2034,4.076,2036,2.237,2037,2.847,2038,2.237,2039,2.299,2040,2.299,2041,2.237,2042,2.364,2043,2.237,2044,2.237,2045,2.949,2046,2.179,2047,2.237,2048,2.237,2049,2.299,2050,3.63,3033,5.459,3034,6.999]],["title/classes/SetOrgan.html",[0,0.069,2041,1.839]],["body/classes/SetOrgan.html",[0,0.139,2,2.058,3,0.096,4,0.117,5,0.086,6,0.092,7,2.711,8,1.365,11,0.419,12,0.806,13,2.569,14,1.233,15,0.715,16,1.145,18,2.133,20,1.04,22,1.079,24,1.12,25,0.009,26,0.729,27,0.859,28,0.919,29,0.879,30,1.192,32,2.351,33,0.128,34,0.611,41,0.196,42,3.949,47,3.103,51,0.005,52,0.006,53,0.005,73,1.674,260,2.286,265,2.454,269,1.248,312,1.195,315,2.167,390,2.058,392,2.058,394,1.821,402,2.058,408,2.203,597,1.05,644,1.79,653,3.403,894,2.129,901,2.783,1100,2.643,1517,2.253,1979,2.225,1982,2.356,2006,2.34,2032,2.225,2033,2.831,2034,4.073,2036,2.225,2037,2.831,2038,2.225,2039,2.286,2040,2.286,2041,2.858,2042,3.02,2043,2.225,2044,2.225,2045,2.933,2046,2.167,2047,2.225,2048,2.225,2049,2.286,2050,3.107,3035,5.429,3036,6.974]],["title/classes/SetPosition.html",[0,0.069,2043,1.839]],["body/classes/SetPosition.html",[0,0.139,2,2.062,3,0.096,4,0.118,5,0.086,6,0.092,7,2.714,8,1.365,11,0.42,12,0.807,13,2.569,14,1.234,15,0.719,16,1.147,18,2.136,20,0.893,22,1.08,24,1.123,25,0.009,26,0.731,27,0.861,28,0.921,29,0.881,30,1.193,32,2.356,33,0.128,34,0.613,41,0.196,42,3.951,47,3.105,51,0.005,52,0.006,53,0.005,73,1.676,260,2.291,265,1.915,269,1.251,312,1.198,315,2.171,390,2.062,392,2.062,394,1.825,402,2.062,408,1.556,597,1.052,644,1.792,653,3.408,815,5.252,894,2.255,901,2.787,1100,2.647,1517,2.255,1979,2.23,1982,2.359,2006,2.343,2032,2.23,2033,2.837,2034,4.074,2036,2.23,2037,2.837,2038,2.23,2039,2.291,2040,2.291,2041,2.23,2042,2.356,2043,2.862,2044,2.23,2045,2.94,2046,2.171,2047,2.23,2048,2.23,2049,2.291,2050,3.112,3037,5.441,3038,6.984]],["title/classes/SetRadius.html",[0,0.069,2047,1.839]],["body/classes/SetRadius.html",[0,0.139,2,2.067,3,0.096,4,0.118,5,0.086,6,0.092,7,2.717,8,1.366,11,0.421,12,0.808,13,2.57,14,1.234,15,0.715,16,1.15,18,2.139,20,0.894,22,1.082,24,1.125,25,0.009,26,0.732,27,0.863,28,0.923,29,0.883,30,1.194,32,2.361,33,0.129,34,0.614,41,0.196,42,3.953,47,3.107,51,0.005,52,0.006,53,0.005,73,1.679,260,2.296,265,1.919,269,1.254,312,1.201,315,2.176,390,2.067,392,2.067,394,1.829,402,2.067,408,1.559,597,1.054,644,1.897,653,3.413,894,2.132,901,2.791,1100,2.651,1517,2.462,1979,2.235,1982,2.361,2006,2.346,2032,2.235,2033,2.844,2034,4.075,2036,2.235,2037,2.844,2038,2.235,2039,2.296,2040,2.296,2041,2.235,2042,2.361,2043,2.235,2044,2.235,2045,2.946,2046,2.176,2047,2.866,2048,2.235,2049,2.296,2050,3.116,3039,5.453,3040,6.994]],["title/classes/SetSelectedSearches.html",[0,0.069,46,2.731]],["body/classes/SetSelectedSearches.html",[0,0.125,1,3.099,2,2.33,3,0.109,4,0.133,5,0.097,6,0.097,7,2.87,8,1.414,9,3.531,10,4.624,11,0.475,12,0.872,13,2.44,14,1.208,15,0.701,16,1.296,18,2.494,19,4.345,20,1.043,21,3.932,22,1.166,24,1.269,25,0.009,26,0.826,27,0.973,28,1.041,29,0.995,30,1.349,31,2.921,32,2.662,33,0.192,34,0.692,35,1.682,36,3.099,37,2.52,38,2.821,39,4.434,40,3.741,41,0.176,42,3.742,43,3.741,44,4.345,45,2.33,46,4.588,47,2.719,48,2.59,49,3.566,50,3.175,51,0.006,52,0.007,53,0.006,3041,6.148,3042,7.54]],["title/classes/SetSex.html",[0,0.069,2038,1.839]],["body/classes/SetSex.html",[0,0.139,2,2.058,3,0.096,4,0.117,5,0.086,6,0.092,7,2.711,8,1.365,11,0.419,12,0.806,13,2.569,14,1.233,15,0.715,16,1.145,17,4.803,18,2.487,20,0.892,22,1.079,24,1.12,25,0.009,26,0.729,27,0.859,28,0.919,29,0.879,30,1.192,32,2.351,33,0.128,34,0.611,41,0.196,42,3.949,47,3.103,51,0.005,52,0.006,53,0.005,73,1.674,260,2.286,265,1.911,269,1.248,312,1.195,315,2.167,390,2.058,392,2.058,394,1.821,402,2.058,408,1.552,597,1.05,644,1.79,653,3.403,894,2.129,901,2.783,1100,2.643,1517,2.253,1979,2.225,1982,2.356,2006,2.34,2032,2.225,2033,2.831,2034,4.073,2036,2.225,2037,2.831,2038,2.858,2039,3.245,2040,3.245,2041,2.225,2042,2.351,2043,2.225,2044,2.225,2045,2.933,2046,2.167,2047,2.225,2048,2.225,2049,2.286,2050,3.107,3043,6.974]],["title/components/SpatialSearchConfigBehaviorComponent.html",[169,0.663,590,1.404]],["body/components/SpatialSearchConfigBehaviorComponent.html",[0,0.055,3,0.063,4,0.077,5,0.056,6,0.105,8,1.425,11,0.276,12,0.604,14,1.221,15,0.604,16,1.103,18,2.082,22,1.352,24,1.079,25,0.009,26,0.914,27,0.828,28,1.153,29,1.102,30,1.342,33,0.199,34,1.043,37,1.465,38,1.64,41,0.077,51,0.003,52,0.005,53,0.005,61,1.118,62,1.118,79,1.369,82,1.702,83,1.83,89,0.276,108,1.118,111,0.821,148,2.087,150,0.691,167,1.199,169,0.913,174,5.448,175,1.64,176,2.391,177,2.085,178,2.085,179,1.228,187,3.483,189,1.171,204,2.526,205,2.89,206,2.89,218,3.051,222,1.093,224,1.093,228,1.43,231,1.768,234,2.268,235,1.797,239,1.754,240,1.754,242,1.171,255,1.692,275,1.171,278,1.153,290,1.144,312,1.362,318,2.141,444,3.971,473,1.068,489,1.228,490,1.093,494,1.199,496,1.118,552,1.228,553,1.636,554,1.636,555,1.228,556,2.338,557,1.228,558,1.228,559,1.228,560,1.118,561,1.228,562,1.118,563,1.228,564,1.118,565,1.797,566,1.118,567,1.144,568,1.228,569,1.228,570,1.118,571,1.228,572,1.118,573,1.199,574,1.228,575,1.118,576,1.599,577,1.228,578,1.118,579,1.228,580,1.118,581,1.797,582,1.118,583,1.228,584,1.144,585,1.228,586,1.118,587,1.228,588,1.118,589,1.171,590,2.13,591,2.604,592,2.125,593,1.636,594,1.228,595,1.118,596,1.599,597,1.316,598,1.118,599,1.797,600,1.636,601,1.118,602,1.118,603,1.228,604,1.118,605,1.068,606,1.228,607,1.797,608,1.118,609,1.199,610,1.228,611,1.118,612,1.564,613,1.118,614,1.118,615,1.228,616,1.118,617,1.045,618,1.228,619,1.118,620,1.228,621,1.228,711,1.045,806,2.319,818,3.469,828,4.138,831,3.818,835,1.465,878,4.847,920,2.391,1341,3.018,1536,2.175,1786,2.89,1982,1.599,1983,2.004,2038,1.465,2041,1.465,2464,3.939,2675,1.801,2907,5.119,2908,6.483,2911,2.526,2912,5.162,2913,2.391,3044,4.293,3045,2.687,3046,3.933,3047,4.23,3048,6.185,3049,7.235,3050,5.472,3051,5.472,3052,5.472,3053,6.023,3054,4.627,3055,6.023,3056,3.573,3057,5.472,3058,6.023,3059,6.185,3060,5.472,3061,6.023,3062,5.23,3063,3.573,3064,3.573,3065,4.627,3066,3.573,3067,3.162,3068,3.573,3069,3.162,3070,5.23,3071,3.162,3072,3.573,3073,4.627,3074,3.162,3075,4.627,3076,3.162,3077,3.162,3078,5.23,3079,3.162,3080,5.23,3081,3.162,3082,3.162,3083,2.526,3084,3.162,3085,3.573,3086,3.162,3087,3.162,3088,3.573,3089,3.162,3090,3.162,3091,2.89,3092,3.162,3093,3.162,3094,3.162,3095,3.162,3096,3.162,3097,3.162,3098,3.162,3099,3.162,3100,3.162,3101,3.162,3102,3.573,3103,3.162,3104,3.162,3105,3.162]],["title/modules/SpatialSearchConfigBehaviorModule.html",[54,1.342,3106,3.375]],["body/modules/SpatialSearchConfigBehaviorModule.html",[0,0.099,3,0.115,4,0.14,5,0.102,6,0.078,8,1.339,25,0.009,30,1.205,33,0.209,37,2.66,41,0.14,51,0.006,52,0.007,53,0.006,56,1.94,57,2.33,72,2.495,73,1.558,74,1.775,76,2.742,78,2.553,88,2.495,89,0.501,590,2.927,591,2.335,720,2.677,721,2.81,722,2.229,2911,4.587,2912,3.786,2913,4.342,3044,3.167,3106,6.944,3107,5.742,3108,5.742,3109,5.742,3110,5.742,3111,6.357,3112,5.249,3113,6.894,3114,6.49]],["title/components/SpatialSearchConfigComponent.html",[169,0.663,593,1.404]],["body/components/SpatialSearchConfigComponent.html",[0,0.091,3,0.125,4,0.073,5,0.053,6,0.099,8,1.411,11,0.26,12,0.579,14,1.059,15,0.642,18,2.626,20,0.431,22,1.268,25,0.009,26,0.673,28,0.848,29,0.811,30,1.388,33,0.118,34,1.044,37,3.409,41,0.108,48,2.274,50,2.518,51,0.003,52,0.004,53,0.004,61,1.055,62,1.055,89,0.26,108,1.055,111,0.775,162,2.923,167,1.131,169,0.883,178,4.126,222,1.031,224,1.031,228,1.37,231,1.709,234,2.261,235,1.721,237,1.807,239,1.681,240,1.681,255,1.635,256,2,265,2.835,275,1.105,278,1.198,287,4.132,290,1.079,368,2.386,373,2.325,386,1.899,397,2.052,405,4.428,420,2.43,444,3.861,473,1.008,477,1.645,489,1.158,490,1.031,494,1.131,496,1.055,498,2,523,2.509,552,1.158,553,1.568,554,1.568,555,1.158,556,2.274,557,1.158,558,1.158,559,1.158,560,1.055,561,1.158,562,1.055,563,1.158,564,1.055,565,1.721,566,1.055,567,1.914,568,1.158,569,1.158,570,1.055,571,1.158,572,1.055,573,1.131,574,1.158,575,1.055,576,1.532,577,1.158,578,1.055,579,1.158,580,1.055,581,1.721,582,1.055,583,1.158,584,1.079,585,1.158,586,1.055,587,1.158,588,1.055,589,1.105,590,1.055,591,2.252,592,2.054,593,2.071,594,1.158,595,1.055,596,1.532,597,0.969,598,1.055,599,1.721,600,1.055,601,1.055,602,1.055,603,1.158,604,1.055,605,1.008,606,1.158,607,1.721,608,1.055,609,1.131,610,1.158,611,1.055,612,1.498,613,1.055,614,1.055,615,1.158,616,1.055,617,1.465,618,1.158,619,1.055,620,1.158,621,1.158,622,1.216,624,0.742,636,2.299,658,4.678,660,3.706,666,2.256,669,2.052,676,3.302,687,2.81,688,2.707,689,3.576,699,2.387,700,3.037,701,2.828,702,3.049,703,2.707,706,3.32,707,2.81,708,2.383,711,2.167,806,1.079,825,2.918,833,2.37,835,2.053,864,2.299,886,1.547,894,0.883,901,1.346,934,1.595,944,2.828,965,2.707,986,2.052,987,1.547,992,1.502,1020,2.681,1046,3.931,1131,2.923,1341,3.745,1464,1.822,1472,4.157,1512,2.052,1513,2.918,1514,3.505,1515,4.028,1516,3.81,1517,1.935,1519,2.613,1520,2.707,1521,3.014,1534,2.828,1536,2.052,1539,2.383,1541,2.81,1542,3.768,1543,2.727,1544,2.256,1545,3.768,1554,1.822,1556,2.37,1561,4.433,1566,1.967,1572,2.147,1630,3.807,1631,3.488,1632,3.352,1634,2.536,1636,3.451,1637,2.536,1638,3.352,1639,2.536,1640,2.256,1651,1.822,1653,2.923,1654,3.049,1658,2.536,1829,2.052,1858,3.768,1936,2.147,1939,2.052,2039,2.787,2040,2.787,2070,2.727,2072,5.72,2087,2.052,2675,3.565,2891,2.983,3044,4.059,3050,5.29,3051,5.29,3052,5.29,3053,5.29,3115,2.727,3116,5.979,3117,5.01,3118,5.979,3119,5.29,3120,3.372,3121,3.372,3122,3.372,3123,3.372,3124,7.073,3125,3.372,3126,3.372,3127,3.372,3128,3.372,3129,5.01,3130,4.433,3131,5.01,3132,2.727,3133,3.372,3134,4.433,3135,3.372,3136,5.979,3137,3.372,3138,3.372,3139,2.727]],["title/modules/SpatialSearchConfigModule.html",[54,1.342,3111,3.172]],["body/modules/SpatialSearchConfigModule.html",[0,0.099,3,0.115,4,0.14,5,0.102,6,0.077,8,1.261,25,0.009,30,1.001,33,0.216,37,2.653,38,2.97,41,0.14,51,0.006,52,0.007,53,0.006,56,1.935,57,2.326,72,2.491,73,1.554,74,1.771,76,2.738,78,2.121,88,2.491,89,0.5,92,3.569,93,2.803,593,2.926,720,2.673,721,2.805,722,2.224,1668,5.851,1669,4.868,1949,4.734,1950,3.939,2510,4.868,2549,6.883,3044,3.159,3111,6.425,3140,5.727,3141,5.727,3142,5.727,3143,6.473,3144,7.78,3145,6.473]],["title/interfaces/SpatialSearchFilterItem.html",[39,2.34,156,0.743]],["body/interfaces/SpatialSearchFilterItem.html",[0,0.081,1,3.47,3,0.094,4,0.115,5,0.084,6,0.064,7,1.872,8,1.404,9,2.304,11,0.411,12,0.796,15,0.623,18,2.788,19,4.865,20,1.129,21,4.543,25,0.009,26,1.083,29,0.861,30,0.823,33,0.205,34,0.775,35,1.455,36,2.682,37,2.18,38,2.441,39,4.208,41,0.165,43,4.189,45,3.302,46,4.189,48,2.365,50,2.24,51,0.005,52,0.006,53,0.005,83,1.68,89,0.411,108,1.665,150,1.655,156,0.881,158,1.872,160,2.98,179,1.828,219,3.104,242,1.743,269,1.223,273,4.452,278,0.901,285,1.68,295,2.105,318,1.998,390,2.892,392,2.892,394,2.56,452,1.688,624,1.171,769,2.441,1095,2.874,1517,2.231,1723,3.589,1901,4.303,2672,4.91,2709,3.237,2773,3.237,2795,3.237,3146,4.001,3147,6.751,3148,4.707,3149,4.707,3150,4.707,3151,4.001,3152,4.707,3153,3.388,3154,4.707,3155,4.707,3156,4.707,3157,4.707,3158,4.707,3159,4.707,3160,4.707,3161,4.707,3162,4.707,3163,4.707,3164,4.707,3165,4.707,3166,4.707,3167,4.707,3168,4.707,3169,4.707,3170,4.707,3171,4.707,3172,4.707,3173,4.707,3174,4.707,3175,4.707,3176,4.707,3177,4.707,3178,4.707,3179,4.707,3180,4.707,3181,4.707,3182,4.303,3183,4.707,3184,4.707,3185,4.707]],["title/classes/SpatialSearchFilterSelectors.html",[0,0.069,220,2.517]],["body/classes/SpatialSearchFilterSelectors.html",[0,0.093,2,2.305,3,0.108,4,0.131,5,0.096,6,0.101,7,2.981,8,1.381,9,3.668,11,0.469,13,2.555,15,0.627,21,4.536,22,1.255,24,1.675,25,0.009,26,1.09,27,1.284,30,0.94,33,0.191,34,0.685,35,1.663,39,4.764,40,3.7,41,0.131,49,3.542,50,3.567,51,0.005,52,0.007,53,0.005,79,1.961,82,1.907,179,2.089,220,4.2,234,1.491,285,1.787,295,2.29,806,2.598,1913,5.38,1914,6.626,3151,6.37,3153,3.872,3186,5.38,3187,7.49,3188,7.49,3189,6.081,3190,6.081,3191,7.49,3192,6.626,3193,6.081,3194,7.49,3195,6.081,3196,6.081,3197,7.49,3198,6.081,3199,6.081]],["title/injectables/SpatialSearchFilterState.html",[452,1.101,3153,2.858]],["body/injectables/SpatialSearchFilterState.html",[0,0.071,1,4.147,3,0.082,4,0.1,5,0.073,6,0.101,7,2.961,8,1.422,9,3.643,11,0.357,15,0.649,18,2.747,19,4.43,20,1.141,21,4.617,22,1.272,24,1.697,25,0.009,26,1.213,27,1.302,29,0.748,30,0.714,33,0.198,34,0.706,35,1.264,36,2.329,37,1.893,38,2.12,39,3.979,41,0.154,43,5.006,45,2.892,46,5.006,48,2.153,50,1.945,51,0.004,52,0.006,53,0.004,79,1.641,82,1.932,83,1.811,89,0.357,108,1.445,150,1.59,156,0.765,160,2,179,1.587,219,2.695,242,1.514,269,1.062,273,4.151,278,0.782,285,1.567,295,1.917,318,2.272,390,2.697,392,2.697,394,2.387,408,2.034,452,1.538,453,2.329,624,1.017,769,2.12,806,2.278,1095,2.496,1517,2.08,1723,3.269,1901,3.736,2672,5.339,2709,2.811,2773,2.811,2795,2.811,3146,3.474,3147,5.546,3148,4.087,3149,4.087,3150,4.087,3151,3.474,3152,4.087,3153,3.992,3154,5.546,3155,5.546,3156,4.087,3157,5.546,3158,5.546,3159,4.087,3160,4.087,3161,5.546,3162,5.546,3163,4.087,3164,4.087,3165,4.087,3166,4.087,3167,4.087,3168,4.087,3169,4.087,3170,5.546,3171,4.087,3172,4.087,3173,5.546,3174,4.087,3175,5.546,3176,4.087,3177,4.087,3178,4.087,3179,4.087,3180,4.087,3181,4.087,3182,3.736,3183,4.087,3184,4.087,3185,4.087,3200,6.269,3201,6.269,3202,6.269,3203,4.62,3204,6.295,3205,4.62,3206,4.62,3207,4.62,3208,4.62,3209,4.62]],["title/components/SpatialSearchKeyboardUIBehaviorComponent.html",[169,0.663,595,1.404]],["body/components/SpatialSearchKeyboardUIBehaviorComponent.html",[0,0.107,3,0.052,4,0.063,5,0.046,6,0.102,8,1.414,11,0.226,12,0.52,14,0.827,15,0.638,20,1.044,22,1.316,24,1.509,25,0.009,26,1.04,27,1.225,28,1.189,29,1.302,30,1.357,33,0.106,34,1.031,41,0.063,51,0.003,52,0.004,53,0.004,61,0.915,62,0.915,79,1.178,82,1.561,83,1.74,89,0.226,111,0.673,167,0.981,169,1.08,218,1.707,222,0.895,224,0.895,228,1.231,231,1.568,234,2.229,235,1.546,239,1.51,240,1.51,242,1.797,255,1.5,269,1.261,275,0.959,278,0.495,287,2.269,290,0.937,311,2.033,360,5.677,361,1.663,363,2.366,390,1.706,392,1.706,393,2.065,394,1.51,408,0.836,421,2.866,425,1.75,473,0.875,489,1.005,490,0.895,494,0.981,496,0.915,498,1.796,523,2.66,552,1.005,553,2.08,554,1.408,555,1.005,556,2.115,557,1.005,558,1.005,559,1.005,560,0.915,561,1.005,562,0.915,563,1.005,564,0.915,565,1.546,566,0.915,567,0.937,568,1.005,569,1.005,570,0.915,571,1.005,572,0.915,573,0.981,574,1.005,575,0.915,576,1.376,577,1.005,578,0.915,579,1.005,580,0.915,581,1.546,582,0.915,583,1.005,584,0.937,585,1.005,586,0.915,587,1.005,588,0.915,589,0.959,590,0.915,591,0.818,592,1.884,593,0.915,594,1.005,595,1.927,596,2.87,597,1.794,598,0.915,599,1.546,600,0.915,601,0.915,602,0.915,603,1.005,604,0.915,605,0.875,606,1.005,607,1.546,608,0.915,609,0.981,610,1.005,611,0.915,612,1.346,613,0.915,614,0.915,615,1.005,616,0.915,617,0.855,618,1.005,619,0.915,620,1.005,621,1.005,624,1.662,628,3.805,636,2.065,644,1.356,660,2.444,672,4.211,676,2.005,766,5.73,806,1.756,825,2.676,833,2.128,864,2.065,886,1.342,894,2.273,974,3.738,998,2.2,1000,3.937,1472,2.524,1489,3.64,1490,3.385,1559,2.366,1562,2.366,1695,3.982,1712,3.385,1723,3.661,1739,6.678,1744,3.64,1776,2.366,1982,0.895,2214,6.601,2394,3.181,2485,2.366,2912,5.001,3044,4.183,3045,2.2,3046,5.279,3047,3.64,3069,2.588,3071,2.588,3074,2.588,3076,2.588,3079,2.588,3081,2.588,3210,3.982,3211,5.485,3212,6.21,3213,6.21,3214,4.5,3215,4.5,3216,4.5,3217,6.647,3218,3.982,3219,6.647,3220,5.485,3221,5.485,3222,4.5,3223,4.5,3224,2.926,3225,4.5,3226,6.158,3227,4.5,3228,4.5,3229,4.5,3230,2.926,3231,3.982,3232,5.485,3233,2.926,3234,4.5,3235,4.5,3236,4.5,3237,4.5,3238,2.926,3239,4.5,3240,2.926,3241,4.5,3242,4.5,3243,4.5,3244,3.64,3245,4.5,3246,2.926,3247,5.448,3248,1.957,3249,7.312,3250,5.485,3251,2.926,3252,2.926,3253,6.158,3254,2.926,3255,2.588,3256,4.5,3257,7.312,3258,4.5,3259,2.366,3260,4.5,3261,2.926,3262,2.926,3263,2.926,3264,2.926,3265,2.926]],["title/modules/SpatialSearchKeyboardUIBehaviorModule.html",[54,1.342,3266,3.172]],["body/modules/SpatialSearchKeyboardUIBehaviorModule.html",[0,0.099,3,0.115,4,0.14,5,0.102,6,0.078,8,1.339,25,0.009,30,1.206,33,0.204,41,0.14,51,0.006,52,0.007,53,0.006,56,1.943,57,2.331,72,2.497,73,1.56,74,1.777,76,2.744,78,2.555,88,2.497,89,0.502,595,2.928,596,2.71,597,1.615,720,2.679,721,2.812,722,2.232,1982,1.987,2912,3.791,2913,4.348,3044,3.171,3112,5.256,3266,6.527,3267,5.749,3268,5.749,3269,5.749,3270,5.749,3271,6.359,3272,5.749]],["title/components/SpatialSearchKeyboardUIComponent.html",[169,0.663,598,1.404]],["body/components/SpatialSearchKeyboardUIComponent.html",[0,0.116,3,0.063,4,0.077,5,0.056,6,0.096,8,1.403,11,0.274,12,0.602,14,0.971,15,0.603,20,0.789,22,1.207,25,0.009,26,0.7,28,1.044,29,1.17,30,1.387,33,0.084,34,1.047,41,0.077,50,2.86,51,0.003,52,0.005,53,0.005,61,1.113,62,1.113,89,0.274,111,0.817,166,1.278,167,1.193,169,0.911,178,2.074,222,1.087,224,1.087,228,1.425,231,1.763,234,2.268,235,1.79,237,1.879,239,1.748,240,1.748,255,1.687,269,1.198,275,1.165,278,0.882,287,3.423,290,1.138,352,2.164,363,5.493,372,3.919,386,0.911,393,1.631,404,2.391,420,2.484,425,2.026,473,1.063,489,1.221,490,1.087,494,1.193,496,1.93,498,2.079,523,2.338,552,1.221,553,2.262,554,1.63,555,1.221,556,2.333,557,1.221,558,1.221,559,1.221,560,1.113,561,1.221,562,1.113,563,1.221,564,1.113,565,1.79,566,1.113,567,1.138,568,1.221,569,1.221,570,1.113,571,1.221,572,1.113,573,1.193,574,1.221,575,1.113,576,1.594,577,1.221,578,1.113,579,1.221,580,1.113,581,1.79,582,1.113,583,1.221,584,1.138,585,1.221,586,1.113,587,1.221,588,1.113,589,1.165,590,1.113,591,0.994,592,2.119,593,1.113,594,1.221,595,1.113,596,2.823,597,1.605,598,2.125,599,1.79,600,1.113,601,1.113,602,1.113,603,1.221,604,1.113,605,1.063,606,1.221,607,1.79,608,1.113,609,1.193,610,1.221,611,1.113,612,1.558,613,1.113,614,1.113,615,1.221,616,1.113,617,1.04,618,1.221,619,1.113,620,1.221,621,1.221,622,1.282,624,0.783,628,2.627,634,3.146,636,2.391,645,2.876,660,3.221,676,2.748,699,1.282,700,1.631,701,1.682,702,4.133,706,3.439,707,4.959,708,3.683,711,1.985,766,5.803,806,1.138,825,3.01,833,2.464,835,2.528,864,2.391,886,1.631,901,1.419,934,1.682,944,3.573,987,1.631,992,2.322,1020,2.338,1338,3.486,1472,2.922,1489,4.214,1490,3.919,1513,3.314,1514,3.212,1515,3.753,1516,3.212,1517,1.523,1519,3.216,1520,1.921,1521,1.792,1542,5.107,1544,3.486,1556,2.464,1559,5.493,1562,5.493,1636,1.735,1654,3.171,1658,5.107,1744,6.11,1829,4.133,1982,2.448,2955,2.379,3044,3.906,3132,5.493,3212,5.457,3213,5.457,3247,6.396,3255,6.008,3259,5.493,3273,2.876,3274,5.457,3275,4.61,3276,6.168,3277,6.168,3278,6.168,3279,3.556,3280,3.556,3281,3.556,3282,3.556,3283,5.211,3284,5.211,3285,5.211,3286,5.211,3287,4.61,3288,5.211,3289,5.211,3290,3.556,3291,6.168,3292,4.61,3293,5.211,3294,6.684,3295,3.556,3296,3.556,3297,3.556,3298,3.556,3299,6.791,3300,3.556,3301,2.876,3302,2.876,3303,3.556]],["title/modules/SpatialSearchKeyboardUIModule.html",[54,1.342,3271,3.172]],["body/modules/SpatialSearchKeyboardUIModule.html",[0,0.102,3,0.118,4,0.144,5,0.105,6,0.08,8,1.275,25,0.009,30,1.029,33,0.206,41,0.144,51,0.006,52,0.007,53,0.006,56,1.989,57,2.365,72,2.532,73,1.597,74,1.82,76,2.783,78,2.18,88,2.532,89,0.514,92,3.629,93,2.881,196,5.004,596,2.581,598,2.936,720,2.717,721,2.852,722,2.286,1982,2.035,3044,3.247,3271,6.46,3304,5.886,3305,5.886,3306,5.886,3307,5.886]],["title/components/SpatialSearchUiBehaviorComponent.html",[169,0.663,600,1.404]],["body/components/SpatialSearchUiBehaviorComponent.html",[0,0.042,3,0.135,4,0.06,5,0.044,6,0.107,8,1.434,11,0.214,12,0.499,14,1.253,15,0.65,16,0.911,18,1.83,22,1.375,24,0.891,25,0.009,26,0.804,27,0.683,28,1.163,29,1.112,30,1.394,33,0.195,34,1.022,35,0.759,37,1.137,38,1.273,41,0.06,51,0.002,52,0.004,53,0.004,61,0.868,62,0.868,79,1.131,82,1.614,83,1.633,89,0.214,108,0.868,111,0.638,150,0.536,167,0.93,169,0.958,174,6.143,175,1.273,176,1.856,177,1.618,178,1.618,179,0.953,187,3.946,189,0.909,196,2.086,204,1.96,205,2.243,206,2.243,218,3.094,222,0.848,224,0.848,228,1.181,231,1.516,234,2.217,235,1.483,239,1.449,240,1.449,242,0.909,255,1.45,265,1.866,275,0.909,278,1.098,285,0.611,290,0.888,311,0.848,312,1.774,315,2.116,318,1.698,444,3.492,473,0.829,489,0.953,490,0.848,494,0.93,496,0.868,523,1.637,552,0.953,553,1.351,554,1.351,555,0.953,556,2.056,557,0.953,558,0.953,559,0.953,560,0.868,561,0.953,562,0.868,563,0.953,564,0.868,565,1.483,566,0.868,567,0.888,568,0.953,569,0.953,570,0.868,571,0.953,572,0.868,573,0.93,574,0.953,575,0.868,576,1.321,577,0.953,578,0.868,579,0.953,580,0.868,581,1.483,582,0.868,583,0.953,584,0.888,585,0.953,586,0.868,587,0.953,588,0.868,589,0.909,590,1.351,591,1.814,592,1.822,593,0.868,594,0.953,595,0.868,596,1.321,597,1.817,598,0.868,599,1.483,600,1.873,601,1.351,602,0.868,603,0.953,604,0.868,605,0.829,606,0.953,607,1.483,608,0.868,609,0.93,610,0.953,611,0.868,612,1.291,613,0.868,614,0.868,615,0.953,616,0.868,617,0.811,618,0.953,619,0.868,620,0.953,621,0.953,624,0.951,663,3.052,711,0.811,806,2.738,828,4.339,835,1.137,878,3.548,894,1.567,920,1.856,974,2.042,1100,1.051,1101,1.398,1517,1.55,1536,1.688,1610,2.519,1619,3.248,1644,4.501,1720,5.555,1786,2.243,1982,1.83,1983,1.555,2032,2.453,2043,1.137,2044,2.453,2046,2.389,2047,1.137,2048,2.453,2368,2.765,2464,3.377,2675,1.398,2682,3.234,2684,1.446,2687,3.094,2691,3.094,2692,3.094,2791,2.519,2907,5.967,2908,5.246,2911,1.96,2912,5.218,2913,1.856,2916,2.454,3044,4.351,3045,2.086,3046,3.248,3047,3.493,3049,6.741,3054,3.821,3055,5.295,3057,3.821,3058,5.295,3060,4.692,3061,5.295,3065,3.821,3067,2.454,3073,3.821,3075,3.821,3077,2.454,3082,2.454,3083,1.96,3084,2.454,3086,3.821,3087,2.454,3089,2.454,3090,2.454,3091,2.243,3092,2.454,3093,2.454,3094,2.454,3095,2.454,3096,2.454,3097,2.454,3098,2.454,3099,2.454,3100,2.454,3101,2.454,3103,2.454,3104,2.454,3105,2.454,3210,3.821,3218,4.692,3231,2.454,3248,1.856,3308,4.289,3309,4.289,3310,5.303,3311,5.295,3312,5.985,3313,2.774,3314,4.318,3315,2.774,3316,2.774,3317,2.774,3318,4.318,3319,2.774,3320,2.774,3321,4.318,3322,2.774,3323,4.318,3324,2.774,3325,4.318,3326,2.774,3327,2.774,3328,4.318,3329,2.774,3330,2.774,3331,4.318,3332,2.774,3333,4.318,3334,2.774,3335,4.318,3336,2.774,3337,4.318,3338,2.774,3339,4.318,3340,2.774,3341,4.318,3342,4.318,3343,2.774,3344,4.318,3345,2.774,3346,2.774,3347,4.318,3348,2.774,3349,4.318,3350,2.774,3351,4.318,3352,2.774]],["title/modules/SpatialSearchUiBehaviorModule.html",[54,1.342,3353,3.375]],["body/modules/SpatialSearchUiBehaviorModule.html",[0,0.099,3,0.115,4,0.14,5,0.102,6,0.078,8,1.339,25,0.009,30,1.205,33,0.209,41,0.14,51,0.006,52,0.007,53,0.006,56,1.94,57,2.33,72,2.495,73,1.558,74,1.775,76,2.742,78,2.553,88,2.495,89,0.501,597,1.614,600,2.927,720,2.677,721,2.81,722,2.229,1982,1.985,2911,4.587,2912,3.786,2913,4.342,3044,3.167,3112,5.249,3113,6.894,3272,5.742,3353,6.944,3354,5.742,3355,5.742,3356,5.742,3357,5.742,3358,6.357]],["title/components/SpatialSearchUiComponent.html",[169,0.663,601,1.404]],["body/components/SpatialSearchUiComponent.html",[0,0.1,3,0.121,4,0.053,5,0.039,6,0.104,8,1.418,11,0.189,12,0.452,14,1.164,15,0.666,18,2.297,20,0.625,22,1.335,25,0.009,26,0.526,28,0.946,29,0.792,30,1.362,33,0.144,34,1.023,35,0.67,41,0.053,48,1.919,50,2.059,51,0.002,52,0.004,53,0.004,61,0.766,62,0.766,73,1.758,89,0.189,108,0.766,111,0.563,162,2.853,167,0.821,169,0.902,201,1.559,218,1.429,222,0.749,224,0.749,226,2.619,228,1.071,231,1.398,234,2.187,235,1.345,237,1.411,239,1.313,240,1.313,255,1.337,256,0.977,260,2.059,262,2.944,265,2.577,275,0.802,278,1.24,287,4.216,290,0.784,315,3.245,355,2.059,361,2.064,368,2.229,373,2.375,386,0.627,397,2.975,404,1.124,406,2.195,409,3.166,410,3.166,420,2.793,437,2.492,444,3.799,473,1.462,477,2.726,482,0.905,489,0.841,490,0.749,494,0.821,496,0.766,498,1.562,523,3.005,552,0.841,553,1.911,554,1.225,555,0.841,556,1.919,557,0.841,558,0.841,559,0.841,560,0.766,561,0.841,562,0.766,563,0.841,564,0.766,565,1.345,566,0.766,567,1.565,568,0.841,569,0.841,570,0.766,571,0.841,572,0.766,573,0.821,574,0.841,575,0.766,576,1.197,577,0.841,578,0.766,579,0.841,580,0.766,581,1.345,582,0.766,583,0.841,584,0.784,585,0.841,586,0.766,587,0.841,588,0.766,589,2.001,590,0.766,591,0.685,592,1.68,593,0.766,594,0.841,595,0.766,596,1.868,597,1.554,598,0.766,599,1.345,600,0.766,601,1.748,602,0.766,603,0.841,604,0.766,605,0.732,606,0.841,607,1.345,608,0.766,609,0.821,610,0.841,611,0.766,612,1.947,613,0.766,614,0.766,615,0.841,616,0.766,617,0.716,618,0.841,619,0.766,620,0.841,621,0.841,622,0.883,624,0.539,628,3.786,636,1.796,644,1.564,660,3.754,669,1.49,676,3.346,687,1.373,688,1.323,695,1.842,698,1.158,699,2.561,700,3.36,701,1.851,702,2.975,703,3.837,704,2.853,706,3.615,707,3.425,711,2.242,712,1.842,806,0.784,825,2.386,833,1.851,835,2.503,864,1.796,886,1.124,894,2.171,901,0.977,934,1.158,936,1.49,937,1.373,944,2.312,965,3.3,986,1.49,987,1.796,992,1.091,1020,2.775,1021,3.456,1023,2.284,1037,2.284,1038,2.382,1046,3.81,1100,1.853,1101,2.465,1464,2.642,1472,4.507,1481,2.492,1485,2.284,1511,1.851,1513,2.386,1514,2.312,1515,3.399,1516,3.551,1517,2.566,1519,2.913,1520,2.115,1521,2.465,1534,1.851,1536,2.382,1537,2.944,1544,1.638,1556,2.312,1557,2.492,1560,2.975,1572,3.113,1632,1.638,1635,1.842,1636,2.726,1644,1.842,1653,1.429,1654,1.49,1674,3.456,1723,2.041,1829,3.716,1843,1.98,1936,1.559,1939,1.49,1942,3.271,1982,2.664,2006,1.313,2046,1.951,2072,3.166,2087,1.49,2368,2.55,2635,5.267,2675,2.465,2682,3.519,2684,3.185,2687,2.853,2691,2.853,2692,2.853,2892,2.166,3044,4.231,3046,1.842,3119,4.326,3130,3.463,3132,3.955,3139,1.98,3182,3.166,3248,1.638,3273,1.98,3274,4.326,3275,3.463,3294,2.166,3302,1.98,3308,3.955,3309,3.955,3311,4.326,3359,4.89,3360,4.89,3361,4.89,3362,4.89,3363,4.89,3364,4.89,3365,4.89,3366,2.449,3367,7.671,3368,2.449,3369,2.449,3370,3.914,3371,2.449,3372,2.449,3373,3.463,3374,2.449,3375,3.914,3376,3.914,3377,2.449,3378,2.449,3379,2.449,3380,3.914,3381,2.449,3382,2.449,3383,2.449,3384,3.166,3385,2.449,3386,2.449,3387,2.449,3388,6.107,3389,2.449,3390,2.449,3391,2.449,3392,2.449,3393,2.449,3394,7.102,3395,2.449,3396,5.585,3397,3.914,3398,3.914,3399,3.914,3400,3.914,3401,3.914,3402,2.449,3403,2.449,3404,2.449,3405,2.449,3406,2.449,3407,2.449,3408,2.449,3409,2.449,3410,2.449,3411,3.463,3412,2.449,3413,2.449,3414,2.449,3415,2.449,3416,2.449,3417,2.449,3418,2.449]],["title/interfaces/SpatialSearchUiModel.html",[156,0.743,2686,2.618]],["body/interfaces/SpatialSearchUiModel.html",[0,0.068,1,1.465,3,0.097,4,0.063,5,0.046,6,0.035,7,1.023,8,1.261,9,1.939,11,0.224,12,0.518,13,1.252,14,0.824,15,0.644,16,0.613,18,2.75,20,0.895,21,2.335,25,0.009,26,0.39,27,1.393,30,1.083,31,2.405,33,0.199,34,0.504,35,0.795,36,1.465,37,1.191,38,1.334,41,0.143,45,1.102,48,1.538,49,1.375,51,0.003,52,0.004,53,0.003,83,1.737,89,0.224,108,0.909,150,1.769,156,1.016,158,1.023,166,1.505,179,0.999,181,2.258,187,3.25,189,0.953,192,1.074,207,1.571,216,1.465,219,1.696,220,1.63,221,1.851,234,0.713,252,0.85,256,1.16,265,2.777,269,0.668,278,0.925,285,1.658,295,1.877,299,2.42,312,0.986,317,1.851,318,1.607,349,1.418,361,1.074,366,1.63,386,1.698,390,2.765,392,2.765,393,2.506,394,2.447,402,1.102,403,3.064,408,1.895,452,1.098,479,1.334,480,1.334,481,1.295,482,1.074,483,1.375,528,1.13,597,0.562,639,2.258,641,1.465,642,1.375,644,1.737,678,1.418,679,1.375,711,0.85,764,3.56,769,1.334,894,2.354,974,3.135,1020,2.07,1095,1.571,1100,2.855,1101,3.094,1113,1.571,1115,2.849,1116,2.42,1129,3.867,1156,2.335,1262,2.512,1266,1.516,1277,1.769,1341,2.185,1511,2.118,1517,2.52,1566,1.696,1651,2.42,1723,2.335,1979,1.835,1982,0.889,1983,1.63,2006,0.975,2032,1.191,2034,3.119,2036,1.191,2038,1.835,2039,1.224,2040,2.3,2041,1.835,2042,3.795,2043,1.835,2044,1.835,2046,1.16,2047,1.835,2048,1.191,2049,2.948,2050,1.995,2368,3.456,2667,1.851,2668,1.945,2669,1.851,2670,3.908,2671,1.945,2672,4.959,2673,1.945,2674,3.187,2675,3.094,2676,2.996,2677,1.945,2678,2.996,2679,1.945,2680,1.851,2681,1.851,2682,4.263,2683,2.852,2684,1.516,2685,1.851,2686,3.187,2687,4.394,2688,4.256,2689,4.221,2690,4.435,2691,3.867,2692,3.867,2693,5.039,2694,1.769,2695,1.945,2696,1.571,2697,1.851,2698,1.945,2699,1.945,2700,2.996,2701,1.769,2702,1.945,2703,1.945,2704,1.945,2705,1.945,2706,1.945,2707,1.945,2708,1.945,2709,4.439,2710,3.655,2711,2.996,2712,2.852,2713,2.996,2714,5.039,2715,1.945,2716,5.039,2717,1.945,2718,1.945,2719,1.945,2720,1.945,2721,5.279,2722,1.945,2723,1.945,2724,4.106,2725,2.996,2726,1.945,2727,1.945,2728,1.945,2729,2.725,2730,1.945,2731,1.945,2732,1.945,2733,1.945,2734,1.945,2735,3.655,2736,3.908,2737,1.851,2738,1.851,2739,1.851,2740,3.655,2741,1.945,2742,1.945,2743,1.945,2744,3.655,2745,1.945,2746,1.945,2747,4.106,2748,2.996,2749,1.945,2750,1.945,2751,1.945,2752,1.945,2753,1.945,2754,1.945,2755,1.945,2756,1.945,2757,1.945,2758,2.996,2759,1.945,2760,1.945,2761,1.945,2762,1.945,2763,1.945,2764,1.945,2765,1.945,2766,1.945,2767,1.945,2768,1.851,2769,1.945,2770,1.945,2771,1.945,2772,1.945,2773,2.725,2774,1.945,2775,1.945,2776,1.945,2777,1.945,2778,1.945,2779,1.945,2780,2.996,2781,1.945,2782,2.996,2783,1.945,2784,1.945,2785,1.945,2786,1.945,2787,1.945,2788,1.945,2789,1.945,2790,1.945,2791,1.696,2792,1.945,2793,1.945,2794,1.945,2795,1.769,2796,1.945,2797,1.945,2798,1.945,2799,1.945,2800,1.945,2801,1.945,2802,1.945,2803,1.945,2804,1.945,2805,1.945,2806,1.769,2807,1.945,2808,1.945,2809,1.945,2810,1.851,2811,1.851,2812,1.851,2813,1.851]],["title/modules/SpatialSearchUiModule.html",[54,1.342,3358,3.172]],["body/modules/SpatialSearchUiModule.html",[0,0.091,3,0.105,4,0.129,5,0.094,6,0.071,8,1.307,25,0.009,30,1.144,33,0.217,34,0.671,41,0.129,51,0.005,52,0.007,53,0.005,56,1.781,57,2.211,72,2.368,73,1.43,74,1.63,76,2.602,78,2.423,88,2.368,89,0.46,92,3.393,93,2.58,104,6.543,105,6.543,108,1.864,196,4.481,473,2.211,596,2.262,597,1.43,601,2.896,605,1.781,612,1.781,720,2.541,721,2.667,722,2.047,1949,4.5,1950,3.626,1982,1.822,2912,3.476,3044,2.907,3266,6.229,3307,5.271,3358,6.609,3419,5.271,3420,5.271,3421,5.271,3422,5.271,3423,6.435,3424,6.229,3425,7.396,3426,5.958,3427,7.396,3428,5.958,3429,7.396,3430,5.958,3431,4.481,3432,4.481,3433,5.958,3434,4.481,3435,5.958]],["title/classes/SpatialSearchUiSelectors.html",[0,0.069,3083,3.172]],["body/classes/SpatialSearchUiSelectors.html",[0,0.047,2,1.162,3,0.054,4,0.066,5,0.048,6,0.105,7,3.077,8,1.399,11,0.237,12,0.539,13,2.62,14,0.758,15,0.667,18,2.642,20,0.868,22,1.345,24,1.783,25,0.009,26,1.16,27,1.367,28,0.519,29,0.496,30,0.474,33,0.175,34,0.636,35,0.839,36,1.546,37,1.257,38,1.407,41,0.066,45,2.392,51,0.003,52,0.004,53,0.003,79,1.221,82,2.015,108,0.96,150,1.383,166,1.144,179,1.054,180,5.097,207,1.657,234,0.752,256,1.224,260,1.291,265,1.987,278,0.519,285,1.925,295,2.488,315,1.862,318,1.478,355,1.291,386,2.05,390,2.818,392,2.904,393,2.591,394,2.57,408,2.5,479,1.407,480,1.407,481,1.366,482,1.133,483,1.45,490,2.488,597,0.593,605,0.917,644,1.687,699,2.275,758,2.971,764,2.756,806,2.725,894,2.246,1100,2.14,1101,2.847,1341,3.739,1511,1.45,1517,2.091,1651,1.657,1723,1.599,1982,2.674,2042,2.02,2368,2.433,2674,4.67,2675,4.325,2680,1.953,2682,3.668,2683,1.953,2684,3.877,2685,4.018,2686,5.345,2687,2.722,2688,2.722,2689,1.953,2691,2.722,2692,2.722,2696,1.657,2697,5.181,2712,1.953,2736,1.953,2737,2.971,2738,2.971,2739,2.971,2768,4.554,2810,1.953,2811,1.953,2812,1.953,2813,1.953,2938,3.773,2974,2.48,3083,3.298,3192,5.583,3248,2.052,3259,4.567,3308,3.773,3309,3.773,3367,2.713,3436,2.713,3437,7.081,3438,4.666,3439,4.666,3440,5.647,3441,3.067,3442,4.666,3443,7.198,3444,3.067,3445,4.666,3446,3.067,3447,4.666,3448,3.067,3449,4.666,3450,3.067,3451,2.713,3452,4.666,3453,3.067,3454,4.666,3455,3.067,3456,4.666,3457,3.067,3458,4.666,3459,3.067,3460,4.666,3461,3.067,3462,4.666,3463,3.067,3464,4.666,3465,3.067,3466,3.067,3467,4.666,3468,3.067,3469,4.666,3470,3.067,3471,4.666,3472,3.067,3473,4.666,3474,3.067,3475,4.666,3476,3.067,3477,3.067,3478,3.067,3479,3.067,3480,3.067,3481,4.666,3482,3.067,3483,3.067,3484,3.067,3485,3.067,3486,3.067,3487,3.067,3488,3.067,3489,3.067,3490,3.067,3491,3.067,3492,3.067,3493,3.067,3494,3.067,3495,2.713,3496,3.067,3497,3.067,3498,3.067,3499,3.067,3500,3.067,3501,3.067,3502,3.067,3503,3.067,3504,3.067,3505,3.067,3506,4.666,3507,3.067,3508,3.067,3509,3.067,3510,3.067,3511,3.067,3512,3.067,3513,3.067,3514,3.067,3515,3.067,3516,3.067,3517,3.067,3518,3.067]],["title/injectables/SpatialSearchUiState.html",[452,1.101,2696,2.425]],["body/injectables/SpatialSearchUiState.html",[0,0.06,1,1.243,3,0.087,4,0.053,5,0.039,6,0.097,7,2.866,8,1.38,9,1.704,11,0.19,13,1.568,14,0.753,15,0.629,16,0.83,18,2.714,20,0.835,21,2.052,22,1.245,24,1.661,25,0.009,26,1.094,27,1.274,30,1.101,31,2.244,33,0.192,34,0.443,35,0.674,36,1.243,37,1.01,38,1.131,41,0.132,45,0.934,48,1.926,49,1.166,51,0.002,52,0.004,53,0.002,79,1.03,82,1.866,83,1.87,89,0.19,108,0.771,150,1.742,156,0.928,166,1.205,179,0.847,181,2.827,187,3.539,189,0.808,192,0.911,207,1.332,216,1.243,219,1.438,220,1.383,221,1.57,234,0.605,252,1.151,256,0.984,265,2.795,269,0.567,278,0.95,285,1.567,295,1.998,299,2.126,312,1.081,317,2.506,318,1.71,349,1.921,361,1.455,366,2.207,386,1.57,390,2.598,392,2.598,393,2.254,394,2.3,402,0.934,403,3.845,408,2.301,452,0.965,453,1.243,479,1.131,480,1.131,481,1.098,482,0.911,483,1.166,528,0.959,597,0.761,639,2.827,641,2.476,642,1.166,644,1.567,678,1.203,679,1.166,711,0.721,764,2.397,769,1.131,806,2.504,894,2.262,974,3.559,1020,1.862,1095,1.332,1100,2.125,1101,1.984,1113,1.332,1115,2.561,1116,2.126,1129,3.575,1156,2.052,1262,2.207,1266,1.286,1277,1.5,1341,2.736,1511,1.861,1517,2.428,1566,1.438,1651,2.126,1723,2.052,1979,2.677,1982,2.491,1983,1.383,2006,0.827,2032,2.013,2034,3.353,2036,2.013,2038,2.677,2039,1.038,2040,2.068,2041,2.677,2042,3.678,2043,2.677,2044,2.677,2046,1.96,2047,2.677,2048,2.013,2049,2.998,2050,1.753,2368,2.052,2667,1.57,2668,1.65,2669,1.57,2670,4.533,2671,1.65,2672,5.458,2673,1.65,2674,3.811,2675,1.984,2676,2.633,2677,1.65,2678,2.633,2679,1.65,2680,1.57,2681,1.57,2682,3.311,2683,2.506,2684,1.286,2685,1.57,2686,3.271,2687,3.575,2688,3.271,2689,2.506,2690,2.633,2691,2.296,2692,2.296,2693,4.1,2694,1.5,2695,1.65,2696,2.126,2697,1.57,2698,1.65,2699,2.633,2700,2.633,2701,1.5,2702,1.65,2703,1.65,2704,1.65,2705,1.65,2706,1.65,2707,2.633,2708,2.633,2709,4.172,2710,3.286,2711,2.633,2712,2.506,2713,2.633,2714,4.763,2715,1.65,2716,4.763,2717,1.65,2718,2.633,2719,2.633,2720,2.633,2721,5.035,2722,1.65,2723,1.65,2724,3.752,2725,2.633,2726,1.65,2727,1.65,2728,1.65,2729,2.395,2730,1.65,2731,1.65,2732,1.65,2733,2.633,2734,2.633,2735,3.286,2736,3.571,2737,1.57,2738,1.57,2739,1.57,2740,3.286,2741,1.65,2742,1.65,2743,1.65,2744,3.286,2745,1.65,2746,1.65,2747,3.752,2748,2.633,2749,1.65,2750,1.65,2751,1.65,2752,1.65,2753,1.65,2754,1.65,2755,2.633,2756,2.633,2757,1.65,2758,2.633,2759,2.633,2760,2.633,2761,1.65,2762,2.633,2763,2.633,2764,1.65,2765,1.65,2766,1.65,2767,1.65,2768,1.57,2769,1.65,2770,2.633,2771,2.633,2772,1.65,2773,2.395,2774,2.633,2775,2.633,2776,1.65,2777,1.65,2778,2.633,2779,2.633,2780,2.633,2781,1.65,2782,2.633,2783,1.65,2784,1.65,2785,1.65,2786,1.65,2787,1.65,2788,1.65,2789,1.65,2790,2.633,2791,2.296,2792,2.633,2793,2.633,2794,1.65,2795,1.5,2796,1.65,2797,1.65,2798,1.65,2799,1.65,2800,1.65,2801,1.65,2802,1.65,2803,1.65,2804,2.633,2805,2.633,2806,2.395,2807,2.633,2808,2.633,2809,2.633,2810,1.57,2811,1.57,2812,1.57,2813,1.57,3204,6.799,3437,3.482,3443,2.181,3519,3.936,3520,2.466,3521,2.466,3522,2.466,3523,2.466,3524,2.466,3525,2.466,3526,2.466,3527,2.466,3528,2.466,3529,2.466,3530,2.466,3531,2.466,3532,2.466,3533,2.466,3534,2.466]],["title/components/SpinnerOverlayComponent.html",[169,0.663,602,1.404]],["body/components/SpinnerOverlayComponent.html",[0,0.125,3,0.079,4,0.096,5,0.07,6,0.094,8,1.231,11,0.473,12,0.708,14,0.939,15,0.581,20,0.894,22,1.164,25,0.009,26,0.823,27,1.191,28,1.184,29,1.132,30,1.29,33,0.105,34,1.063,41,0.096,50,1.881,51,0.004,52,0.005,53,0.005,61,1.398,62,1.398,74,1.676,89,0.345,111,1.027,138,5.929,166,1.096,167,1.499,169,1.164,222,1.366,224,1.366,228,1.676,231,1.999,234,2.306,235,2.105,237,2.209,239,2.055,240,2.055,242,2.008,255,1.913,264,2.382,275,1.464,289,5.832,290,2.929,386,1.569,394,1.499,420,1.535,425,2.382,473,1.336,477,2.99,489,1.535,490,1.366,494,1.499,496,1.398,498,2.445,523,2.65,552,1.535,553,2.467,554,1.917,555,1.535,556,2.585,557,1.535,558,1.535,559,1.535,560,1.398,561,1.535,562,1.398,563,1.535,564,1.398,565,2.105,566,1.398,567,1.43,568,1.535,569,1.535,570,1.398,571,1.535,572,1.398,573,1.499,574,1.535,575,1.398,576,1.874,577,1.535,578,1.398,579,1.535,580,1.398,581,2.105,582,1.398,583,1.535,584,1.43,585,1.535,586,1.398,587,1.535,588,1.398,589,1.464,590,1.398,591,1.249,592,2.402,593,1.398,594,1.535,595,1.398,596,1.874,597,1.185,598,1.398,599,2.105,600,1.398,601,1.398,602,2.354,603,1.535,604,1.398,605,1.336,606,1.535,607,2.105,608,1.398,609,1.499,610,1.535,611,1.398,612,1.832,613,1.398,614,1.398,615,1.535,616,1.398,617,1.306,618,1.535,619,1.398,620,1.535,621,1.535,622,1.611,624,1.736,669,3.728,689,3.31,699,1.611,700,2.05,701,2.113,706,2.58,707,2.505,711,1.306,806,1.43,825,3.412,833,2.898,835,1.831,864,2.811,886,2.05,894,1.17,934,2.113,937,2.505,944,2.898,987,2.811,992,3.628,1020,1.693,1023,2.606,1027,4.099,1449,5.421,1513,2.18,1519,2.33,1521,3.089,1535,4.655,1554,2.414,1610,3.575,1621,2.719,1636,2.18,1642,4.33,1753,6.187,1829,2.719,1939,2.719,2955,5.034,3535,6.376,3536,3.952,3537,6.127,3538,6.993,3539,6.127,3540,4.467,3541,6.127,3542,4.467,3543,6.127,3544,6.127,3545,4.467,3546,4.467,3547,4.467]],["title/modules/SpinnerOverlayModule.html",[54,1.342,70,3.172]],["body/modules/SpinnerOverlayModule.html",[0,0.103,3,0.119,4,0.145,5,0.106,6,0.08,25,0.008,33,0.207,41,0.145,51,0.006,52,0.007,53,0.006,56,2.008,57,2.378,70,6.472,72,2.546,73,1.612,74,1.837,76,2.798,78,2.201,88,2.546,89,0.518,138,5.05,290,2.546,602,2.939,720,2.732,721,2.867,722,2.307,3535,5.431,3548,5.941,3549,5.941,3550,5.941,3551,6.716,3552,7.036,3553,5.941,3554,6.716]],["title/classes/StartSpatialSearchFlow.html",[0,0.069,2036,1.839]],["body/classes/StartSpatialSearchFlow.html",[0,0.139,2,2.101,3,0.098,4,0.12,5,0.087,6,0.084,7,2.487,8,1.359,11,0.428,12,0.817,13,2.575,14,1.237,15,0.714,18,2.161,20,0.904,22,0.857,25,0.009,28,0.939,29,0.897,30,1.267,32,2.4,33,0.131,34,0.624,41,0.197,42,3.971,47,3.052,51,0.005,52,0.006,53,0.005,73,1.696,260,2.334,265,1.951,269,1.274,312,1.221,315,2.212,390,2.101,392,2.101,394,1.86,402,2.101,408,1.585,597,1.072,644,1.804,653,3.449,894,2.145,901,3.105,1100,2.679,1517,2.275,1979,2.272,1982,2.161,2006,2.371,2032,2.272,2033,2.891,2034,4.085,2036,2.896,2037,3.686,2038,2.272,2039,2.334,2040,2.334,2041,2.272,2042,2.4,2043,2.272,2044,2.272,2045,2.995,2046,2.212,2047,2.272,2048,2.272,2049,2.334,2050,3.149,3555,5.543]],["title/modules/StoreModule.html",[54,1.342,1055,3.172]],["body/modules/StoreModule.html",[0,0.091,3,0.105,4,0.128,5,0.093,6,0.088,8,1.268,9,2.565,25,0.009,30,1.14,33,0.22,34,0.667,40,3.604,41,0.159,51,0.005,52,0.007,53,0.005,54,1.771,56,1.771,78,1.941,88,2.359,89,0.457,108,2.305,116,3.963,150,1.145,175,3.381,176,3.963,177,3.455,179,2.035,182,5.208,197,3.963,198,3.963,210,3.981,212,4.299,214,3.771,215,4.454,216,3.715,242,1.941,312,1.304,355,2.494,403,3.322,404,2.718,432,4.79,726,3.322,771,3.981,975,3.455,1055,5.208,1323,3.2,1982,1.811,2087,3.604,2096,4.454,2104,4.93,2348,4.186,2349,4.186,2681,3.771,2696,3.981,3153,4.692,3244,4.79,3248,3.963,3373,5.24,3556,4.79,3557,5.923,3558,5.24,3559,5.923,3560,5.923,3561,5.24,3562,7.096,3563,5.923,3564,6.519,3565,5.923,3566,4.79,3567,5.923,3568,5.24,3569,4.79,3570,5.923,3571,5.923,3572,5.923,3573,5.923,3574,5.923,3575,5.923,3576,5.923,3577,7.369,3578,5.923,3579,5.923,3580,5.923,3581,5.923,3582,5.923,3583,5.923,3584,5.923,3585,5.923,3586,5.923]],["title/components/TermOccurrenceListComponent.html",[169,0.663,604,1.404]],["body/components/TermOccurrenceListComponent.html",[0,0.104,3,0.131,4,0.092,5,0.067,6,0.096,8,1.27,11,0.33,12,0.686,14,0.917,15,0.599,20,0.992,22,1.2,25,0.009,26,0.797,28,1.156,29,1.105,30,1.274,33,0.14,34,1.06,41,0.092,51,0.004,52,0.005,53,0.005,61,1.336,62,1.336,89,0.33,111,0.982,162,2.491,167,1.432,169,1.145,218,2.491,222,1.306,224,1.306,228,1.624,231,1.952,234,2.299,235,2.04,237,2.141,239,1.992,240,1.992,255,1.868,275,1.399,290,1.367,368,1.704,373,2.309,386,1.094,397,3.614,404,3.854,420,2.04,422,2.808,473,1.277,482,1.578,489,1.467,490,1.306,494,1.432,496,1.336,498,2.37,523,2.797,552,1.467,553,1.858,554,1.858,555,1.467,556,2.535,557,1.467,558,1.467,559,1.467,560,1.336,561,1.467,562,1.336,563,1.467,564,1.336,565,2.04,566,1.336,567,1.367,568,1.467,569,1.467,570,1.336,571,1.467,572,1.336,573,1.432,574,1.467,575,1.336,576,1.816,577,1.467,578,1.336,579,1.467,580,1.336,581,2.04,582,1.336,583,1.467,584,1.367,585,1.467,586,1.336,587,1.467,588,1.336,589,1.399,590,1.336,591,1.194,592,2.346,593,1.336,594,1.467,595,1.336,596,1.816,597,1.148,598,1.336,599,2.04,600,1.336,601,1.336,602,1.336,603,1.467,604,2.309,605,2.698,606,2.83,607,2.04,608,1.336,609,1.432,610,1.467,611,1.336,612,1.775,613,1.336,614,2.136,615,1.467,616,1.336,617,1.248,618,1.467,619,1.336,620,1.467,621,1.467,622,1.54,624,0.94,673,4.197,699,2.141,700,3.559,701,2.808,703,3.689,706,2.501,806,1.367,825,3.332,833,2.808,835,2.434,864,2.725,886,1.959,934,2.019,936,3.614,965,3.689,987,1.959,1023,3.465,1184,4.466,1464,2.307,1514,3.49,1515,3.614,1516,2.808,1517,1.248,1519,3.097,1534,2.019,1535,3.208,1536,5.112,1556,2.019,1572,3.781,1598,4.803,1599,4.803,1636,3.332,1936,2.719,1939,2.598,1982,1.306,2392,2.719,2684,3.561,3248,2.857,3431,6.039,3432,6.039,3451,5.254,3587,6.495,3588,3.778,3589,6.828,3590,5.938,3591,6.828,3592,6.828,3593,4.27,3594,4.27,3595,5.938,3596,4.27,3597,5.254,3598,5.254,3599,5.938,3600,5.938,3601,5.938,3602,5.938,3603,5.938,3604,3.778,3605,4.27]],["title/modules/TermOccurrenceListModule.html",[54,1.342,3423,3.172]],["body/modules/TermOccurrenceListModule.html",[0,0.1,3,0.116,4,0.141,5,0.103,6,0.078,25,0.009,33,0.215,41,0.141,51,0.006,52,0.007,53,0.006,56,1.958,57,2.342,72,2.508,73,1.572,74,1.791,76,2.757,78,2.146,88,2.508,89,0.506,92,3.595,93,2.836,97,5.537,98,4.629,604,2.931,605,1.958,720,2.691,721,2.825,722,2.25,1631,3.821,1666,5.892,1667,4.925,1668,5.892,1669,4.925,3423,6.44,3431,4.925,3432,4.925,3587,5.297,3606,5.794,3607,5.794,3608,5.794,3609,6.549,3610,6.549]],["title/interfaces/TermResult.html",[156,0.743,2684,2.34]],["body/interfaces/TermResult.html",[0,0.071,1,1.548,3,0.1,4,0.066,5,0.048,6,0.037,7,1.08,8,1.275,9,2.022,11,0.237,12,0.54,13,1.306,14,0.848,15,0.487,16,0.647,18,2.724,20,0.98,21,2.435,25,0.009,26,0.412,30,1.106,31,2.458,33,0.201,34,0.526,35,0.84,36,1.548,37,1.258,38,1.409,41,0.147,45,2.393,48,1.604,49,1.452,51,0.003,52,0.004,53,0.003,83,1.763,89,0.237,108,0.961,150,1.777,156,1.046,158,1.08,166,1.145,179,1.055,181,2.354,187,3.314,189,1.006,192,1.135,207,1.659,216,1.548,219,1.791,220,1.722,221,1.955,234,0.753,252,0.898,256,2.52,265,2.817,269,0.706,278,0.957,285,1.688,295,1.931,299,2.523,312,1.028,317,1.955,318,1.653,349,1.498,361,1.135,366,1.722,386,1.74,390,2.819,392,2.819,393,2.593,394,2.495,402,1.164,403,3.169,408,1.942,452,1.145,479,1.409,480,1.409,481,1.368,482,1.135,483,1.452,528,1.194,597,0.594,639,2.354,641,1.548,642,1.452,644,1.763,678,1.498,679,1.452,711,0.898,764,2.758,769,1.409,894,2.312,974,3.213,1020,2.142,1095,1.659,1100,2.393,1101,2.354,1113,1.659,1115,2.947,1116,2.523,1129,3.963,1156,2.435,1262,2.619,1266,1.601,1277,1.868,1341,2.279,1511,2.209,1517,2.489,1566,1.791,1651,2.523,1723,2.435,1979,1.914,1982,0.939,1983,1.722,2006,1.03,2032,1.258,2034,3.188,2036,1.258,2038,1.914,2039,1.293,2040,2.38,2041,1.914,2042,3.766,2043,1.914,2044,1.914,2046,1.225,2047,1.914,2048,1.258,2049,3.013,2050,2.081,2368,2.435,2667,1.955,2668,2.054,2669,1.955,2670,4.021,2671,2.054,2672,5.022,2673,2.054,2674,3.297,2675,2.354,2676,3.125,2677,2.054,2678,3.125,2679,2.054,2680,1.955,2681,1.955,2682,3.67,2683,2.974,2684,2.435,2685,4.021,2686,2.725,2687,3.963,2688,3.684,2689,2.974,2690,3.125,2691,2.725,2692,2.725,2693,4.545,2694,1.868,2695,2.054,2696,1.659,2697,1.955,2698,2.054,2699,2.054,2700,3.125,2701,1.868,2702,2.054,2703,2.054,2704,2.054,2705,2.054,2706,2.054,2707,2.054,2708,2.054,2709,4.526,2710,3.781,2711,3.125,2712,2.974,2713,3.125,2714,5.128,2715,2.054,2716,5.128,2717,2.054,2718,2.054,2719,2.054,2720,2.054,2721,5.357,2722,2.054,2723,2.054,2724,4.225,2725,3.125,2726,2.054,2727,2.054,2728,2.054,2729,2.842,2730,2.054,2731,2.054,2732,2.054,2733,2.054,2734,2.054,2735,3.781,2736,4.021,2737,1.955,2738,1.955,2739,1.955,2740,3.781,2741,2.054,2742,2.054,2743,2.054,2744,3.781,2745,2.054,2746,2.054,2747,4.225,2748,3.125,2749,2.054,2750,2.054,2751,2.054,2752,2.054,2753,2.054,2754,2.054,2755,2.054,2756,2.054,2757,2.054,2758,3.125,2759,2.054,2760,2.054,2761,2.054,2762,2.054,2763,2.054,2764,2.054,2765,2.054,2766,2.054,2767,2.054,2768,1.955,2769,2.054,2770,2.054,2771,2.054,2772,2.054,2773,2.842,2774,2.054,2775,2.054,2776,2.054,2777,2.054,2778,2.054,2779,2.054,2780,3.125,2781,2.054,2782,3.125,2783,2.054,2784,2.054,2785,2.054,2786,2.054,2787,2.054,2788,2.054,2789,2.054,2790,2.054,2791,1.791,2792,2.054,2793,2.054,2794,2.054,2795,1.868,2796,2.054,2797,2.054,2798,2.054,2799,2.054,2800,2.054,2801,2.054,2802,2.054,2803,2.054,2804,2.054,2805,2.054,2806,1.868,2807,2.054,2808,2.054,2809,2.054,2810,1.955,2811,1.955,2812,1.955,2813,1.955]],["title/modules/ThemingModule.html",[54,1.342,1056,3.172]],["body/modules/ThemingModule.html",[0,0.105,3,0.122,4,0.148,5,0.108,6,0.082,25,0.008,33,0.19,41,0.148,51,0.006,52,0.007,53,0.006,56,2.055,57,2.41,72,2.581,73,1.649,74,1.88,88,2.581,89,0.53,141,4.703,142,5.168,143,5.558,202,6.097,269,1.58,1056,6.44,3611,6.08,3612,6.08,3613,6.872,3614,8.061,3615,6.872,3616,6.872,3617,6.872]],["title/injectables/ThemingService.html",[202,3.003,452,1.101]],["body/injectables/ThemingService.html",[0,0.135,3,0.074,4,0.09,5,0.066,6,0.105,11,0.322,12,0.675,13,1.885,15,0.655,16,0.879,20,1.144,22,1.344,24,1.587,25,0.009,26,1.033,27,1.322,28,1.414,29,0.675,32,3.616,33,0.138,41,0.126,44,5.634,47,2.106,51,0.004,52,0.005,53,0.004,79,1.529,82,1.872,83,1.893,84,3.373,85,2.948,87,5.754,89,0.322,111,0.959,114,3.136,145,6.252,150,1.615,153,3.69,169,1.177,170,5.634,202,3.908,228,1.598,264,2.271,278,1.142,285,1.608,289,3.908,309,2.007,311,2.352,314,6.619,318,2.343,349,2.851,366,3.276,405,5.588,448,2.656,452,1.433,453,2.102,497,2.433,554,2.561,624,1.608,643,2.552,668,5.784,853,2.763,870,3.69,895,3.69,896,3.373,1081,3.69,1143,3.72,1284,4.393,1534,1.972,1715,3.69,1749,5.168,2011,3.136,2110,4.445,2128,3.373,2382,2.948,2383,2.79,2389,2.79,2623,3.373,2791,3.408,2955,5.588,2993,5.908,3618,3.373,3619,5.842,3620,8.184,3621,5.842,3622,7.305,3623,7.305,3624,5.842,3625,4.17,3626,4.17,3627,5.842,3628,4.17,3629,5.168,3630,7.691,3631,4.17,3632,5.842,3633,7.305,3634,4.17,3635,5.842,3636,5.842,3637,5.842,3638,4.17,3639,5.842,3640,4.17,3641,5.842,3642,4.17,3643,4.17,3644,4.17,3645,4.17,3646,4.17,3647,4.17,3648,3.69,3649,4.17,3650,4.17,3651,4.17,3652,4.17,3653,7.305,3654,4.17,3655,4.17,3656,4.17,3657,4.17,3658,4.17,3659,5.842,3660,4.17,3661,4.17,3662,4.17,3663,4.17,3664,4.17,3665,4.17,3666,4.17,3667,4.17]],["title/components/ThumbnailCarouselComponent.html",[169,0.663,608,1.404]],["body/components/ThumbnailCarouselComponent.html",[0,0.11,3,0.054,4,0.067,5,0.049,6,0.097,8,1.083,11,0.361,12,0.541,14,1.122,15,0.575,20,0.952,22,1.239,24,0.636,25,0.009,26,0.76,27,0.487,28,1.213,29,1.101,30,1.151,33,0.149,34,1.04,35,0.842,41,0.067,45,2.397,50,2.865,51,0.005,52,0.004,53,0.004,61,0.964,62,0.964,74,1.28,79,1.225,82,1.598,89,0.238,111,0.708,150,0.595,167,1.033,169,0.836,222,0.942,224,0.942,227,2.529,228,1.28,231,1.619,234,2.252,235,1.608,237,1.688,239,1.57,240,1.57,242,1.534,255,1.549,266,6.679,269,1.076,273,4.476,275,1.009,278,0.522,285,1.498,290,0.986,310,1.57,311,1.432,312,1.498,368,2.26,373,1.198,386,2.013,393,2.148,394,1.033,420,2.173,425,2.645,437,4.332,473,0.921,477,2.284,481,2.818,482,1.73,489,1.058,490,0.942,494,1.033,496,0.964,498,1.868,523,1.774,544,2.316,552,1.058,553,2.241,554,1.465,555,1.058,556,2.173,557,1.058,558,1.058,559,1.058,560,0.964,561,1.058,562,0.964,563,1.058,564,0.964,565,1.608,566,0.964,567,1.813,568,1.058,569,1.058,570,0.964,571,1.058,572,0.964,573,1.033,574,1.058,575,0.964,576,1.432,577,1.058,578,0.964,579,1.058,580,0.964,581,1.608,582,0.964,583,1.058,584,0.986,585,1.058,586,0.964,587,1.058,588,0.964,589,1.009,590,0.964,591,1.769,592,1.945,593,0.964,594,1.058,595,0.964,596,1.432,597,0.905,598,0.964,599,1.608,600,0.964,601,0.964,602,0.964,603,1.058,604,0.964,605,0.921,606,1.058,607,1.608,608,1.979,609,2.858,610,1.058,611,0.964,612,1.4,613,0.964,614,0.964,615,1.058,616,0.964,617,0.9,618,1.058,619,0.964,620,1.058,621,1.058,622,1.111,624,1.031,636,2.902,644,1.247,660,2.523,669,2.848,676,2.086,687,1.727,688,1.664,701,2.678,703,3.059,704,1.797,705,2.316,706,3.017,707,1.727,711,2.177,806,0.986,825,2.763,833,2.214,834,3.308,835,2.32,864,2.148,886,1.413,894,1.781,922,2.848,934,1.457,935,2.848,944,3.217,965,3.059,986,1.874,987,2.148,992,3.191,1000,2.625,1020,2.978,1021,3.308,1023,2.731,1027,3.132,1044,2.529,1046,3.834,1131,1.797,1464,3.059,1472,2.625,1503,4.141,1513,2.763,1514,2.678,1515,2.848,1516,2.678,1517,0.9,1519,2.441,1520,2.529,1521,2.854,1531,3.52,1534,2.214,1535,1.664,1538,2.177,1540,4.141,1541,3.175,1544,2.061,1545,2.316,1547,2.725,1554,3.059,1556,1.457,1560,3.445,1583,5.756,1617,3.786,1635,2.316,1636,2.763,1640,4.981,1642,3.308,1654,1.874,1673,3.52,1829,1.874,1841,3.786,1968,4.141,2079,2.491,2087,1.874,2378,5.262,2379,4.981,2385,4.027,2392,3.605,2479,4.141,2838,5.009,2955,2.061,3301,5.793,3411,5.009,3668,6.125,3669,2.491,3670,3.786,3671,4.141,3672,4.681,3673,5.662,3674,4.681,3675,5.502,3676,5.662,3677,4.681,3678,5.662,3679,5.662,3680,7.163,3681,3.08,3682,3.08,3683,4.681,3684,5.009,3685,4.681,3686,3.08,3687,4.681,3688,4.681,3689,4.681,3690,5.662,3691,4.681,3692,4.681,3693,4.681,3694,4.681,3695,4.681,3696,4.681,3697,3.08,3698,6.355,3699,5.662,3700,4.681,3701,4.681,3702,4.681,3703,4.681,3704,4.141,3705,4.681,3706,4.681,3707,4.681,3708,4.681,3709,4.681,3710,4.681,3711,3.08,3712,4.579,3713,3.08,3714,4.681,3715,3.08,3716,3.08,3717,4.141,3718,7.163,3719,3.08,3720,3.08,3721,3.08,3722,4.681,3723,4.681,3724,3.08,3725,4.681,3726,4.681,3727,4.681,3728,4.681,3729,3.08,3730,5.662,3731,3.08,3732,3.08,3733,3.08,3734,3.08,3735,3.08,3736,3.08,3737,3.08,3738,3.08]],["title/modules/ThumbnailCarouselModule.html",[54,1.342,1579,3.172]],["body/modules/ThumbnailCarouselModule.html",[0,0.099,3,0.115,4,0.14,5,0.102,6,0.077,16,1.367,25,0.009,33,0.214,41,0.14,51,0.006,52,0.007,53,0.006,56,2.328,57,2.328,72,2.493,73,1.556,74,1.773,76,2.74,78,2.124,88,2.493,89,0.5,92,3.572,93,2.806,608,2.927,609,2.174,720,2.675,721,2.807,722,2.227,1579,6.427,1583,4.581,1949,4.738,1950,3.944,3668,4.874,3675,5.242,3698,6.297,3739,5.734,3740,5.734,3741,5.734,3742,6.481,3743,7.786,3744,6.481,3745,6.481,3746,6.481,3747,6.481,3748,6.481]],["title/components/TissueBlockListComponent.html",[169,0.663,611,1.404]],["body/components/TissueBlockListComponent.html",[0,0.122,3,0.137,4,0.091,5,0.067,6,0.088,8,1.267,11,0.327,12,0.682,14,0.912,15,0.524,20,0.541,22,1.051,25,0.009,26,0.792,28,1.15,29,1.1,30,1.317,33,0.139,34,1.06,35,1.157,41,0.091,50,1.781,51,0.004,52,0.005,53,0.005,61,1.324,62,1.324,89,0.327,111,0.972,162,2.468,167,1.419,169,1.003,222,1.294,224,1.294,228,1.614,231,1.942,234,2.297,235,2.027,237,2.127,239,1.979,240,1.979,255,1.858,275,1.386,290,1.354,368,1.688,373,2.294,386,1.74,397,2.574,404,3.906,420,2.027,425,1.645,473,2.758,482,1.563,489,1.453,490,1.294,494,1.419,496,1.324,498,2.355,523,2.236,552,1.453,553,2.419,554,1.846,555,1.453,556,2.525,557,1.453,558,1.453,559,1.453,560,1.324,561,1.453,562,1.324,563,1.453,564,1.324,565,2.027,566,1.324,567,2.175,568,1.453,569,1.453,570,1.324,571,1.453,572,1.324,573,1.419,574,1.453,575,1.324,576,1.804,577,1.453,578,1.324,579,1.453,580,1.324,581,2.027,582,1.324,583,1.453,584,1.354,585,1.453,586,1.324,587,1.453,588,1.324,589,1.386,590,1.324,591,1.183,592,2.334,593,1.324,594,1.453,595,1.324,596,1.804,597,1.421,598,1.324,599,2.027,600,1.324,601,1.324,602,1.324,603,1.453,604,1.324,605,1.265,606,1.453,607,2.027,608,1.324,609,1.419,610,1.453,611,2.3,612,2.744,613,1.324,614,1.324,615,1.453,616,1.324,617,1.237,618,1.453,619,1.324,620,1.453,621,1.453,622,1.525,624,1.299,695,3.181,699,2.65,700,3.117,701,2.79,702,4.134,703,3.671,704,2.468,706,2.861,711,1.725,806,1.354,825,3.315,833,2.79,835,1.734,864,2.707,886,1.941,934,2.001,936,4.134,937,2.372,944,2.001,965,3.188,987,1.941,1020,2.575,1023,2.468,1101,3.425,1131,2.468,1323,2.286,1464,2.286,1500,4.772,1501,5.22,1502,5.22,1511,2.001,1512,2.574,1513,2.064,1514,3.213,1516,2.79,1517,1.237,1519,2.206,1520,2.286,1521,2.132,1531,3.181,1535,2.286,1536,3.59,1537,3.181,1538,2.99,1539,2.99,1541,2.372,1542,3.181,1543,3.421,1545,3.181,1556,2.001,1570,3.743,1571,3.743,1572,3.757,1573,3.743,1610,3.442,1636,3.315,1936,2.694,1939,2.574,1942,2.83,2368,3.543,3134,3.743,3384,5.945,3434,5.528,3604,3.743,3749,5.945,3750,3.743,3751,6.794,3752,5.9,3753,4.23,3754,5.9,3755,5.9,3756,4.23,3757,4.23]],["title/modules/TissueBlockListModule.html",[54,1.342,3424,3.172]],["body/modules/TissueBlockListModule.html",[0,0.101,3,0.117,4,0.143,5,0.104,6,0.079,25,0.009,33,0.21,41,0.143,51,0.006,52,0.007,53,0.006,56,1.981,57,2.359,72,2.526,73,1.591,74,1.813,76,2.776,78,2.171,88,2.526,89,0.512,92,3.62,93,2.869,97,5.576,98,4.684,473,2.519,611,2.935,612,1.981,720,2.71,721,2.845,722,2.276,3424,6.455,3434,4.984,3749,5.36,3758,5.863,3759,5.863,3760,5.863,3761,6.627,3762,6.627]],["title/components/TissueSectionVisComponent.html",[169,0.663,613,1.404]],["body/components/TissueSectionVisComponent.html",[0,0.122,3,0.074,4,0.09,5,0.066,6,0.095,8,1.205,11,0.52,12,0.675,14,0.905,15,0.594,20,0.533,22,1.189,24,0.861,25,0.009,26,1.07,27,0.66,28,0.989,29,0.946,30,1.266,33,0.138,34,1.059,35,1.141,41,0.09,51,0.004,52,0.005,53,0.005,61,1.305,62,1.305,79,1.529,82,1.584,89,0.322,111,0.959,166,1.433,167,1.399,169,0.996,222,1.275,224,1.275,228,1.598,231,1.928,234,2.295,235,2.007,237,2.106,239,1.96,240,1.96,242,1.367,252,2.136,255,1.844,256,2.331,264,2.271,269,0.959,275,1.367,285,1.286,290,1.335,312,1.286,355,2.46,368,2.331,373,2.621,386,1.871,390,1.581,393,1.913,394,1.96,420,2.007,422,2.763,425,2.271,473,1.247,477,3.29,482,1.541,489,1.433,490,1.275,494,1.399,496,1.305,498,2.331,523,2.555,552,1.433,553,2.406,554,1.828,555,1.433,556,2.51,557,1.433,558,1.433,559,1.433,560,1.305,561,1.433,562,1.305,563,1.433,564,1.305,565,2.007,566,1.305,567,1.335,568,1.433,569,1.433,570,1.305,571,1.433,572,1.305,573,1.399,574,1.433,575,1.305,576,1.787,577,1.433,578,1.305,579,1.433,580,1.305,581,2.007,582,1.305,583,1.433,584,1.335,585,1.433,586,1.305,587,1.433,588,1.305,589,1.367,590,1.305,591,1.166,592,2.316,593,1.305,594,1.433,595,1.305,596,1.787,597,1.129,598,1.305,599,2.007,600,1.305,601,1.305,602,1.305,603,1.433,604,1.305,605,1.247,606,1.433,607,2.007,608,1.305,609,1.399,610,1.433,611,1.305,612,2.702,613,2.286,614,2.911,615,1.433,616,1.305,617,1.219,618,1.433,619,1.305,620,1.433,621,1.433,622,1.504,644,1.802,698,1.972,699,2.106,700,2.68,706,2.839,711,1.971,806,1.335,833,2.763,835,1.709,864,2.68,886,1.913,894,1.529,902,3.408,934,1.972,935,2.538,1020,2.555,1444,5.076,1453,5.965,1514,3.189,1519,2.175,1534,1.972,1538,2.948,1539,2.948,1544,2.79,1554,2.253,1572,2.656,1586,5.995,1653,3.408,1942,4.511,2207,3.373,2806,3.555,3763,6.447,3764,3.69,3765,7.971,3766,6.742,3767,5.842,3768,5.842,3769,6.742,3770,7.691,3771,6.742,3772,4.17,3773,5.168,3774,5.168,3775,4.17,3776,5.842,3777,5.842,3778,5.842,3779,5.842,3780,5.842,3781,4.17,3782,5.842,3783,5.842,3784,5.842,3785,4.17,3786,4.17,3787,4.17,3788,4.17,3789,4.17,3790,4.17,3791,4.17]],["title/modules/TissueSectionVisModule.html",[54,1.342,1580,3.172]],["body/modules/TissueSectionVisModule.html",[0,0.103,3,0.119,4,0.146,5,0.106,6,0.081,25,0.008,33,0.2,41,0.146,51,0.006,52,0.007,53,0.006,56,2.016,57,2.383,72,2.552,73,1.618,74,1.844,76,2.805,78,2.209,88,2.552,89,0.521,612,2.016,613,2.941,614,2.655,720,2.738,721,2.874,722,2.316,1444,4.293,1580,6.477,1586,5.071,3763,5.453,3792,5.965,3793,5.965,3794,5.965,3795,6.743,3796,6.743]],["title/components/ToggleButtonComponent.html",[169,0.663,616,1.404]],["body/components/ToggleButtonComponent.html",[0,0.111,3,0.057,4,0.069,5,0.051,6,0.102,8,1.1,11,0.248,12,0.558,14,0.78,15,0.562,16,0.677,20,0.742,22,1.303,24,0.997,25,0.009,26,0.977,27,0.764,28,1.173,29,1.121,30,1.168,33,0.152,34,1.042,41,0.069,50,1.352,51,0.003,52,0.004,53,0.004,61,1.004,62,1.004,79,1.264,82,1.774,83,1.602,89,0.248,111,0.738,148,2.578,149,1.8,150,1.122,166,1.699,167,1.077,168,4.321,169,1.174,189,1.052,222,0.982,224,2.118,228,1.321,231,2.615,234,2.248,235,1.659,237,1.741,239,1.62,240,1.62,242,1.903,252,1.412,255,1.588,264,2.693,269,1.335,275,1.052,278,0.818,285,1.422,290,1.028,295,1.477,309,1.659,310,1.62,311,1.975,318,2.12,320,4.321,339,2.269,367,2.818,368,1.927,369,2.609,373,2.511,420,1.995,473,0.96,479,1.473,480,1.473,482,1.186,489,1.103,490,0.982,494,1.077,496,1.004,552,1.103,553,2.167,554,1.511,555,1.103,556,2.219,557,1.103,558,1.103,559,1.103,560,1.004,561,1.103,562,1.004,563,1.103,564,1.004,565,1.659,566,1.004,567,1.028,568,1.103,569,1.103,570,1.004,571,1.103,572,1.004,573,1.077,574,1.103,575,1.004,576,1.477,577,1.103,578,1.004,579,1.103,580,1.004,581,1.659,582,1.004,583,1.103,584,1.028,585,1.103,586,1.004,587,1.103,588,1.004,589,1.903,590,1.004,591,0.898,592,1.995,593,1.004,594,1.103,595,1.004,596,1.477,597,0.934,598,1.004,599,1.659,600,1.004,601,1.004,602,1.004,603,1.103,604,1.004,605,0.96,606,1.103,607,1.659,608,1.004,609,1.077,610,1.103,611,1.004,612,1.444,613,1.004,614,1.004,615,1.103,616,2.021,617,2.618,618,1.103,619,1.004,620,1.103,621,1.103,622,1.157,624,1.278,643,1.546,672,3.551,700,1.473,706,1.352,711,0.938,806,1.028,817,4.696,818,3.256,821,3.565,824,1.674,825,2.833,828,5.052,829,3.906,830,5.224,831,3.622,833,2.284,834,3.413,839,2.435,840,2.927,841,3.622,842,3.632,843,2.152,846,3.242,850,3.632,851,3.413,853,2.284,857,3.413,864,2.216,878,3.885,879,3.632,886,1.473,890,2.414,894,2.12,901,2.578,902,4.862,909,2.596,911,2.414,917,2.84,920,2.148,934,1.518,935,1.953,944,1.518,958,3.231,967,3.906,969,3.906,970,3.906,974,2.284,977,4.808,982,5.473,987,2.216,999,2.596,1005,2.044,1020,1.217,1044,2.609,1046,4.273,1323,4.295,1512,1.953,1513,1.566,1516,2.284,1517,1.412,1520,1.734,1521,1.618,1534,1.518,1554,1.734,1556,3.442,1595,6.882,1638,4.321,1653,1.873,1730,3.075,1939,1.953,2207,2.596,2212,2.84,2213,5.137,2214,4.696,2232,4.273,2260,2.84,2264,4.273,2275,6.438,2276,6.438,3302,2.596,3797,7.529,3798,2.84,3799,5.806,3800,4.83,3801,4.83,3802,3.21,3803,4.83,3804,7.277,3805,4.83,3806,4.83,3807,5.806,3808,3.21,3809,3.21,3810,3.21,3811,3.21,3812,3.21,3813,3.21,3814,3.21,3815,3.21,3816,3.21,3817,3.21,3818,3.21,3819,3.21,3820,3.21,3821,3.21,3822,3.21,3823,3.21,3824,3.21,3825,3.21,3826,3.21,3827,4.83,3828,4.83,3829,3.21]],["title/classes/UpdateFilter.html",[0,0.069,1116,2.425]],["body/classes/UpdateFilter.html",[0,0.104,2,2.573,3,0.12,4,0.147,5,0.107,6,0.102,11,0.524,12,0.925,13,2.38,14,1.143,15,0.692,16,1.431,20,0.868,22,1.238,24,1.401,25,0.008,26,0.912,27,1.074,28,1.15,29,1.099,31,3.08,33,0.16,34,0.764,35,1.857,41,0.147,42,3.115,51,0.006,52,0.007,53,0.006,210,4.324,402,3.033,1116,4.324,1277,5.179,3830,6.006,3831,6.788,3832,8.003]],["title/classes/UpdateSpatialSearch.html",[0,0.069,2049,1.89]],["body/classes/UpdateSpatialSearch.html",[0,0.139,2,2.101,3,0.098,4,0.12,5,0.087,6,0.084,7,2.487,8,1.359,11,0.428,12,0.817,13,2.575,14,1.237,15,0.714,18,2.161,20,0.904,22,0.857,25,0.009,28,0.939,29,0.897,30,1.267,32,2.4,33,0.131,34,0.624,41,0.197,42,3.971,47,3.052,51,0.005,52,0.006,53,0.005,73,1.696,260,2.334,265,1.951,269,1.274,312,1.556,315,2.212,390,2.101,392,2.101,394,1.86,402,2.679,408,1.585,597,1.072,644,1.804,653,3.449,894,2.145,901,2.82,1100,2.679,1517,2.275,1979,2.272,1982,2.161,2006,2.371,2032,2.272,2033,2.891,2034,4.085,2036,2.272,2037,2.891,2038,2.272,2039,2.334,2040,2.334,2041,2.272,2042,2.4,2043,2.272,2044,2.272,2045,2.995,2046,2.212,2047,2.272,2048,2.272,2049,2.976,2050,3.149,3833,5.543]],["title/components/ViewerComponent.html",[169,0.663,619,1.404]],["body/components/ViewerComponent.html",[0,0.101,3,0.071,4,0.087,5,0.063,6,0.102,8,1.19,11,0.31,12,0.658,14,0.764,15,0.625,16,0.848,20,0.845,22,1.301,24,1.175,25,0.009,26,0.965,27,0.901,28,1.285,29,1.228,30,1.253,33,0.134,34,1.055,41,0.087,50,2.397,51,0.004,52,0.005,53,0.005,61,1.258,62,1.258,79,1.49,82,1.337,83,1.583,89,0.31,100,2.69,101,2.255,111,0.924,148,2.272,149,2.255,150,0.777,167,1.349,169,0.976,222,1.229,224,1.229,228,1.557,231,1.889,234,2.289,235,1.956,237,2.053,239,1.91,240,1.91,255,1.808,267,3.321,269,1.519,271,4.827,275,2.711,278,0.681,289,2.69,290,1.823,318,1.73,361,2.104,368,1.604,373,2.57,386,2.018,420,2.27,444,2.345,445,5.036,473,1.702,477,3.225,482,1.486,489,1.381,490,1.229,494,1.349,496,1.258,498,2.272,523,2.157,552,1.381,553,1.781,554,1.781,555,1.381,556,2.469,557,1.381,558,1.381,559,1.381,560,1.258,561,1.381,562,1.258,563,1.381,564,1.258,565,1.956,566,1.258,567,1.287,568,1.381,569,1.381,570,1.258,571,1.381,572,1.258,573,1.349,574,1.381,575,1.258,576,1.741,577,1.381,578,1.258,579,1.381,580,1.258,581,1.956,582,1.258,583,1.381,584,1.287,585,1.381,586,1.258,587,1.381,588,1.258,589,1.317,590,1.258,591,1.124,592,2.27,593,1.258,594,1.381,595,1.258,596,1.741,597,1.101,598,1.258,599,1.956,600,1.258,601,1.258,602,1.258,603,1.381,604,1.258,605,1.202,606,1.381,607,1.956,608,1.258,609,1.349,610,1.381,611,1.258,612,2.149,613,1.258,614,1.258,615,1.381,616,1.258,617,1.175,618,1.381,619,2.249,620,1.381,621,1.381,622,1.45,624,0.885,636,2.612,660,2.945,671,4.023,676,2.536,689,2.172,699,2.383,701,2.692,702,2.446,706,3.027,707,2.255,711,1.932,806,1.287,825,3.225,833,2.692,835,2.333,864,2.612,886,1.844,894,1.052,902,2.345,903,4.604,934,1.901,944,3.126,1020,2.505,1046,1.962,1092,6.135,1323,2.172,1330,5.036,1485,3.321,1511,1.901,1513,2.778,1514,1.901,1516,1.901,1517,1.175,1519,2.969,1520,2.172,1528,3.251,1534,1.901,1554,2.172,1556,1.901,1560,4.022,1675,4.97,1688,4.281,1731,4.281,1732,5.405,1829,2.446,1832,4.023,2052,5.036,2062,4.281,2087,2.446,2100,5.345,2102,5.813,2107,5.345,2110,4.616,2112,3.251,2180,5.345,3139,3.251,3834,3.557,3835,5.036,3836,6.609,3837,5.693,3838,6.609,3839,7.188,3840,4.02,3841,5.693,3842,4.02,3843,4.02,3844,5.693,3845,4.02,3846,4.02,3847,4.02,3848,5.036,3849,5.693,3850,5.693,3851,5.693,3852,4.02,3853,5.693,3854,4.02,3855,6.609,3856,5.693,3857,5.036,3858,4.02,3859,4.02]],["title/modules/ViewerModule.html",[54,1.342,71,3.172]],["body/modules/ViewerModule.html",[0,0.101,3,0.117,4,0.143,5,0.104,6,0.079,25,0.009,33,0.213,41,0.143,51,0.006,52,0.007,53,0.006,56,1.979,57,2.357,71,6.453,72,2.524,73,1.589,74,1.81,76,2.774,78,2.169,88,2.524,89,0.511,92,3.617,93,2.866,290,2.119,619,2.934,720,2.708,721,2.843,722,2.273,1949,4.797,1950,4.027,3552,6.975,3553,5.855,3860,5.855,3861,5.855,3862,5.855,3863,6.618,3864,6.618]],["title/injectables/WorkerDataSourceService.html",[452,1.101,1438,3.172]],["body/injectables/WorkerDataSourceService.html",[0,0.09,3,0.104,4,0.127,5,0.093,6,0.1,11,0.455,14,0.791,15,0.665,16,1.548,20,0.939,22,1.237,24,1.651,25,0.009,26,1.074,27,1.266,33,0.197,34,0.827,35,1.611,41,0.127,51,0.005,52,0.007,53,0.005,54,1.76,79,1.922,82,1.725,89,0.455,108,1.842,111,1.354,150,1.547,160,3.179,161,7.41,166,1.962,182,5.919,271,4.667,278,1.355,285,1.761,312,1.844,318,2.193,319,5.938,452,1.801,453,2.968,458,6.016,468,3.435,722,2.023,1431,5.919,1432,4.428,1438,5.189,1439,5.521,3865,7.41,3866,8,3867,7.342,3868,7.342,3869,5.888,3870,8,3871,8.375,3872,5.888,3873,7.342,3874,5.888,3875,5.888,3876,7.342,3877,5.888,3878,7.342,3879,5.888,3880,5.888,3881,5.888,3882,5.888,3883,5.888,3884,5.888,3885,5.888,3886,5.888,3887,5.888,3888,5.888,3889,5.888,3890,5.888,3891,5.888,3892,5.888]],["title/changelog.html",[3893,2.811,3894,2.811,3895,3.023]],["body/changelog.html",[3,0.113,5,0.033,8,1.199,12,0.241,15,0.161,18,1.052,22,0.323,25,0.007,27,0.331,28,0.354,30,0.787,31,1.747,34,0.994,35,1.538,45,0.792,47,1.834,48,1.182,49,0.988,51,0.002,52,0.003,53,0.006,57,1.521,101,1.93,108,0.654,111,0.48,117,4.276,141,1.219,144,5.041,145,2.302,155,6.092,156,1.107,158,0.735,169,0.751,178,1.219,227,3.039,228,0.941,234,0.844,252,1.006,255,2,260,2.917,262,3.825,265,3.006,266,2.783,273,1.219,275,2.27,278,1.238,312,1.862,314,1.689,315,2.764,319,1.689,337,2.587,350,5.353,352,4.215,355,2.142,361,1.621,366,1.171,368,0.834,371,1.848,372,1.571,373,1.338,393,2.333,397,1.271,401,1.848,402,1.663,404,1.579,405,2.935,409,3.548,410,4.113,420,1.932,421,1.33,425,1.338,437,2.191,473,1.312,481,2.85,483,1.627,490,0.639,494,1.706,535,1.848,541,1.398,544,4.811,554,0.654,567,1.101,576,0.639,591,0.584,596,0.639,597,1.413,612,2.31,614,1.076,617,1.006,622,0.753,635,2.094,642,0.988,644,0.46,645,2.783,649,1.571,653,1.679,654,1.689,658,5.905,662,1.33,663,2.432,666,2.302,679,0.988,698,0.988,711,0.611,756,1.476,841,1.171,843,3.572,851,2.432,853,2.861,869,1.476,874,1.476,894,0.547,915,1.33,916,2.46,934,0.988,937,1.171,969,1.689,974,2.861,982,1.571,992,0.931,998,1.571,1038,1.271,1044,2.37,1046,1.679,1047,1.476,1050,1.171,1092,1.689,1113,1.129,1119,2.587,1123,2.587,1125,1.689,1126,1.476,1130,1.571,1133,1.689,1134,4.548,1137,4.548,1139,1.689,1143,2.191,1149,1.689,1153,1.689,1155,4.229,1168,1.571,1184,2.587,1207,3.044,1245,1.689,1275,2.432,1278,1.398,1284,2.587,1323,1.129,1324,1.848,1325,1.689,1328,3.1,1331,3.548,1332,1.848,1338,1.398,1339,1.689,1341,3.822,1360,3.1,1394,1.689,1401,1.689,1402,1.689,1448,1.848,1458,1.689,1463,1.571,1464,1.129,1479,3.044,1481,1.33,1484,1.476,1485,2.559,1488,1.571,1490,1.571,1526,4.975,1528,1.689,1541,1.93,1557,3.853,1558,1.689,1569,4.5,1599,1.689,1607,2.783,1610,2.007,1618,1.689,1630,1.33,1631,1.219,1644,1.571,1656,1.689,1673,2.587,1721,1.848,1757,2.783,1759,3.881,1766,2.783,1773,3.044,1832,3.1,1841,1.689,1858,1.571,1878,1.848,1880,1.848,1929,3.044,1931,4.113,1941,1.848,1966,4.5,2011,2.587,2053,3.044,2062,4.229,2074,2.587,2133,2.783,2188,2.783,2307,1.689,2327,3.595,2344,5.605,2358,1.476,2380,1.271,2385,3.239,2420,1.476,2435,1.848,2464,1.33,2495,1.848,2623,2.783,2635,1.689,2670,1.33,2791,2.007,2895,2.783,2907,3.299,2910,1.848,2950,3.299,3027,2.587,3091,1.689,3244,1.689,3292,1.848,3301,1.689,3384,4.113,3495,1.848,3566,6.248,3598,3.044,3629,1.848,3670,1.689,3671,3.044,3675,1.689,3704,4.5,3717,3.044,3773,4.975,3835,4.5,3857,3.044,3894,3.299,3895,2.783,3896,3.881,3897,3.881,3898,3.881,3899,3.44,3900,2.089,3901,5.086,3902,3.44,3903,9.349,3904,4.387,3905,2.089,3906,3.44,3907,2.089,3908,7.603,3909,2.089,3910,3.44,3911,1.848,3912,2.089,3913,3.044,3914,3.044,3915,3.044,3916,6.684,3917,2.089,3918,2.089,3919,2.089,3920,3.044,3921,2.089,3922,6.128,3923,3.44,3924,5.624,3925,4.387,3926,2.089,3927,3.44,3928,3.44,3929,7.916,3930,2.089,3931,2.089,3932,4.387,3933,5.624,3934,3.44,3935,4.387,3936,4.387,3937,3.44,3938,2.089,3939,3.44,3940,3.44,3941,6.397,3942,6.05,3943,6.397,3944,3.44,3945,2.089,3946,2.089,3947,3.44,3948,4.387,3949,2.089,3950,3.44,3951,2.089,3952,2.089,3953,4.387,3954,3.881,3955,2.089,3956,2.089,3957,7.311,3958,7.466,3959,3.44,3960,2.089,3961,3.44,3962,6.05,3963,2.089,3964,2.089,3965,2.089,3966,3.44,3967,5.174,3968,2.089,3969,6.397,3970,2.089,3971,2.089,3972,3.44,3973,2.089,3974,4.387,3975,2.089,3976,2.089,3977,2.089,3978,2.089,3979,2.089,3980,2.089,3981,7.725,3982,2.089,3983,1.848,3984,2.089,3985,3.44,3986,1.848,3987,2.089,3988,3.44,3989,5.086,3990,5.086,3991,4.387,3992,2.089,3993,2.089,3994,2.089,3995,2.089,3996,6.05,3997,4.55,3998,4.975,3999,3.881,4000,2.089,4001,4.975,4002,2.089,4003,4.387,4004,5.914,4005,7.603,4006,2.089,4007,2.089,4008,3.44,4009,3.881,4010,2.089,4011,2.089,4012,2.089,4013,2.089,4014,2.089,4015,2.089,4016,3.044,4017,3.044,4018,6.397,4019,5.914,4020,2.089,4021,2.089,4022,2.089,4023,2.089,4024,4.975,4025,2.089,4026,3.44,4027,2.089,4028,3.44,4029,3.44,4030,3.44,4031,3.44,4032,2.089,4033,2.089,4034,2.089,4035,2.089,4036,3.44,4037,3.44,4038,2.089,4039,3.44,4040,3.44,4041,2.089,4042,2.089,4043,2.089,4044,2.089,4045,3.44,4046,2.089,4047,2.089,4048,6.05,4049,3.044,4050,2.089,4051,2.089,4052,2.089,4053,4.387,4054,3.44,4055,6.05,4056,3.044,4057,5.086,4058,2.089,4059,2.089,4060,3.44,4061,3.44,4062,2.089,4063,2.089,4064,3.44,4065,2.089,4066,2.089,4067,2.089,4068,2.089,4069,3.44,4070,2.089,4071,2.089,4072,2.089,4073,2.089,4074,2.089,4075,2.089,4076,2.089,4077,2.089,4078,2.089,4079,3.44,4080,2.089,4081,2.089,4082,4.387,4083,4.387,4084,3.44,4085,1.848,4086,2.089,4087,2.089,4088,2.089,4089,2.089,4090,2.089,4091,3.44,4092,3.44,4093,4.387,4094,2.089,4095,2.089,4096,2.089,4097,2.089,4098,2.089,4099,3.44,4100,2.089,4101,2.089,4102,4.387,4103,3.44,4104,2.089,4105,2.089,4106,4.387,4107,3.44,4108,5.086,4109,2.089,4110,2.089,4111,2.089,4112,3.44,4113,2.089,4114,2.089,4115,2.089,4116,2.089,4117,2.089,4118,2.089,4119,4.387,4120,2.089,4121,4.387,4122,5.624,4123,3.44,4124,3.44,4125,3.44,4126,4.387,4127,5.086,4128,5.624,4129,3.44,4130,4.387,4131,2.089,4132,2.089,4133,6.397,4134,4.387,4135,5.086,4136,2.089,4137,2.089,4138,2.089,4139,2.089,4140,3.44,4141,2.089,4142,2.089,4143,2.089,4144,3.44,4145,2.089,4146,2.089,4147,3.881,4148,3.44,4149,4.387,4150,2.089,4151,2.089,4152,2.089,4153,2.089,4154,2.089,4155,2.089,4156,2.089,4157,2.089,4158,2.089,4159,2.089,4160,2.089,4161,5.086,4162,6.05,4163,4.387,4164,2.089,4165,2.089,4166,4.387,4167,2.089,4168,2.089,4169,2.089,4170,3.44,4171,4.387,4172,2.089,4173,2.089,4174,2.089,4175,2.089,4176,2.089,4177,1.848,4178,2.089,4179,2.089,4180,2.089,4181,2.089,4182,2.089,4183,2.089,4184,2.089,4185,2.089,4186,2.089,4187,2.089,4188,2.089,4189,2.089,4190,2.089,4191,6.684,4192,2.089,4193,3.881,4194,6.684,4195,4.387,4196,5.086,4197,3.44,4198,4.387,4199,2.089,4200,2.089,4201,2.089,4202,3.44,4203,2.089,4204,2.089,4205,2.089,4206,3.44,4207,2.089,4208,2.089,4209,2.089,4210,2.089,4211,2.089,4212,2.089,4213,2.089,4214,2.089,4215,2.089,4216,2.089,4217,2.089,4218,2.089,4219,2.089,4220,2.089,4221,2.089,4222,2.089,4223,2.089,4224,2.089,4225,2.089,4226,2.089,4227,2.089,4228,2.089,4229,3.44,4230,2.089,4231,3.44,4232,2.089,4233,3.44,4234,3.44,4235,5.086,4236,5.086,4237,3.44,4238,3.44,4239,2.089,4240,2.089,4241,2.089,4242,2.089,4243,1.848,4244,2.089,4245,2.089,4246,2.089,4247,2.089,4248,2.089,4249,2.089,4250,3.44,4251,7.133,4252,4.387,4253,1.848,4254,3.44,4255,2.089,4256,2.089,4257,2.089,4258,2.089,4259,2.089,4260,2.089,4261,3.44,4262,5.66,4263,3.44,4264,2.089,4265,2.089,4266,2.089,4267,2.089,4268,4.113,4269,2.089,4270,3.44,4271,2.089,4272,2.089,4273,2.089,4274,3.44,4275,2.089,4276,2.089,4277,2.089,4278,3.44,4279,4.387,4280,3.44,4281,2.089,4282,3.044,4283,2.089,4284,2.089,4285,2.089,4286,2.089,4287,2.089,4288,2.089,4289,2.089,4290,2.089,4291,2.089,4292,1.848,4293,2.089,4294,2.089,4295,2.089,4296,2.089,4297,2.089,4298,1.848,4299,2.089,4300,2.089,4301,3.44,4302,2.089,4303,2.089,4304,2.089,4305,2.089,4306,2.089,4307,2.089,4308,2.089,4309,2.089,4310,2.089,4311,2.089,4312,3.44,4313,2.089,4314,2.089,4315,3.44,4316,2.089,4317,2.089,4318,2.089,4319,2.089,4320,2.089,4321,2.089]],["title/coverage.html",[4268,4.971]],["body/coverage.html",[0,0.135,1,1.518,5,0.047,6,0.114,7,3.138,8,1.42,9,3.075,10,4.2,15,0.232,25,0.009,30,0.712,35,0.824,37,1.234,39,1.57,43,1.833,46,1.833,51,0.003,52,0.004,53,0.003,61,0.942,62,0.942,109,2.128,111,1.058,112,2.265,114,2.265,117,3.252,122,2.128,125,3.777,128,3.461,132,2.128,135,2.128,138,2.265,156,1.471,157,2.436,159,4.071,169,1.339,199,2.128,202,2.015,204,2.128,207,1.627,210,1.627,212,1.757,214,2.93,216,1.518,220,1.689,222,0.921,224,0.921,278,0.51,282,6.798,312,0.663,355,1.268,386,2.371,442,3.703,452,2.04,454,2.664,455,2.664,473,1.376,477,4.521,491,3.722,492,3.722,550,2.436,560,0.942,562,0.942,564,0.942,566,0.942,570,0.942,572,0.942,575,0.942,578,0.942,580,0.942,582,0.942,584,0.964,586,0.942,588,0.942,590,0.942,591,1.287,593,0.942,595,0.942,596,1.912,597,1.209,598,0.942,600,0.942,601,0.942,602,0.942,604,0.942,608,0.942,611,0.942,613,0.942,614,1.44,616,0.942,619,0.942,623,2.664,712,2.265,725,4.419,726,3.506,727,4.419,743,2.128,760,2.128,771,1.627,816,3.722,821,2.111,846,1.342,861,1.518,894,0.788,941,2.664,1028,1.918,1029,4.289,1035,1.918,1042,1.918,1043,1.918,1068,2.128,1070,3.947,1086,2.265,1087,5.018,1116,1.627,1118,2.265,1124,3.722,1157,2.436,1305,2.664,1318,2.265,1319,4.419,1320,3.722,1321,3.722,1340,2.128,1430,2.265,1431,4.419,1432,4.2,1438,2.128,1444,3.556,1445,2.436,1446,2.265,1447,2.664,1518,3.722,1558,2.436,1563,2.664,1583,3.252,1586,2.265,1592,1.918,1593,1.918,1595,2.436,1597,2.664,1671,2.436,1672,2.664,1855,3.252,1856,2.265,1857,2.664,1955,2.664,1979,1.234,1982,2.681,2003,2.436,2004,2.664,2005,2.664,2016,2.664,2032,1.234,2033,4.224,2036,1.234,2038,1.234,2041,1.234,2043,1.234,2044,1.234,2046,1.202,2047,1.234,2048,1.234,2049,1.268,2051,2.664,2095,2.265,2096,3.461,2097,3.722,2104,2.015,2156,2.436,2157,4.2,2189,2.436,2311,2.015,2312,2.664,2313,2.664,2314,3.722,2315,3.722,2350,2.265,2377,4.751,2379,2.015,2386,1.918,2449,3.929,2451,3.398,2452,2.265,2454,3.556,2456,3.722,2472,1.833,2481,2.128,2555,3.722,2556,3.722,2621,2.664,2622,2.664,2624,2.664,2667,4.521,2682,1.627,2684,1.57,2686,1.757,2694,1.833,2696,1.627,2819,2.664,2895,2.436,2905,2.436,2912,3.258,2922,4.2,2936,2.265,2969,2.265,3044,3.465,3045,4.2,3083,2.128,3115,2.436,3146,3.461,3153,1.918,3186,2.664,3273,3.722,3431,2.265,3432,2.265,3434,2.265,3436,2.664,3535,2.436,3536,2.664,3556,2.436,3569,2.436,3587,2.436,3588,2.664,3618,3.722,3668,3.461,3669,3.722,3712,2.436,3749,2.436,3750,2.664,3763,2.436,3764,2.664,3797,2.664,3798,2.664,3830,2.664,3834,2.664,3865,2.664,3967,2.436,3997,2.265,4268,2.436,4322,3.012,4323,4.602,4324,6.252,4325,3.012,4326,3.012,4327,4.602,4328,3.012,4329,3.012,4330,3.012,4331,4.602,4332,7.807,4333,7.387,4334,8.216,4335,2.664,4336,8.552,4337,3.012,4338,3.012,4339,5.584,4340,3.012,4341,2.436,4342,2.436,4343,3.012,4344,3.012,4345,3.012,4346,2.664,4347,2.664,4348,5.584,4349,5.584,4350,3.012,4351,3.012,4352,3.012,4353,3.012,4354,3.012,4355,3.012,4356,3.012,4357,3.012,4358,3.012,4359,4.602,4360,4.602,4361,3.012,4362,3.012,4363,3.012,4364,3.012,4365,4.516,4366,3.012,4367,3.012,4368,2.664,4369,2.664,4370,3.012,4371,3.012,4372,4.602,4373,3.012,4374,3.012,4375,5.584,4376,2.664,4377,3.012,4378,3.012,4379,3.012,4380,4.602,4381,4.602,4382,3.012,4383,4.602,4384,3.012,4385,3.012,4386,3.012,4387,3.012,4388,3.012,4389,3.012,4390,3.012,4391,3.012,4392,3.012,4393,3.012,4394,3.012]],["title/dependencies.html",[57,1.615,3986,3.307]],["body/dependencies.html",[5,0.086,25,0.009,51,0.005,52,0.006,53,0.005,57,1.632,89,0.421,91,4.83,100,4.682,101,3.925,175,3.211,176,3.652,177,4.083,179,1.875,189,1.789,227,2.949,260,2.299,554,2.19,642,2.582,678,3.415,679,2.582,693,4.105,722,1.875,739,4.105,740,4.105,815,4.105,989,4.415,1097,4.105,1130,4.105,1271,3.476,1335,4.105,1337,4.105,1674,3.858,1717,4.83,1777,4.415,2006,1.831,2346,3.652,2510,4.105,2669,3.476,3558,4.83,3561,4.83,3562,6.192,3684,4.83,3698,4.415,3915,4.83,3920,4.83,4001,4.83,4016,4.83,4049,4.83,4056,4.83,4147,4.83,4193,6.192,4395,5.459,4396,5.459,4397,9.098,4398,5.459,4399,5.459,4400,5.459,4401,5.459,4402,5.459,4403,5.459,4404,5.459,4405,5.459,4406,5.459,4407,5.459,4408,5.459,4409,7.725,4410,5.459,4411,6.999,4412,5.459,4413,5.459,4414,5.459,4415,5.459,4416,7.725,4417,5.459,4418,5.459,4419,5.459,4420,5.459,4421,5.459,4422,5.459,4423,5.459,4424,5.459,4425,5.459,4426,6.999,4427,5.459,4428,5.459,4429,5.459,4430,5.459,4431,6.999,4432,5.459,4433,5.459,4434,6.999,4435,5.459,4436,5.459,4437,5.459,4438,5.459,4439,5.459,4440,5.459,4441,5.459,4442,5.459,4443,5.459,4444,5.459,4445,5.459,4446,5.459,4447,5.459,4448,5.459,4449,4.83,4450,5.459,4451,5.459,4452,5.459,4453,5.459,4454,5.459,4455,5.459,4456,6.999,4457,5.459,4458,5.459,4459,5.459,4460,5.459,4461,5.459,4462,5.459,4463,5.459,4464,5.459,4465,5.459,4466,5.459,4467,5.459,4468,5.459,4469,5.459,4470,5.459,4471,5.459,4472,5.459,4473,5.459,4474,5.459,4475,5.459,4476,5.459,4477,5.459,4478,5.459,4479,5.459,4480,5.459,4481,5.459,4482,5.459,4483,6.999,4484,5.459,4485,5.459,4486,5.459,4487,5.459,4488,5.459,4489,5.459,4490,5.459,4491,5.459,4492,5.459,4493,5.459,4494,5.459]],["title/miscellaneous/enumerations.html",[4495,2.274,4496,4.78]],["body/miscellaneous/enumerations.html",[6,0.086,11,0.557,25,0.008,29,1.343,51,0.006,52,0.007,53,0.006,209,6.708,295,2.207,312,1.589,628,3.639,1087,5.101,1130,5.428,1135,7.338,1136,6.238,4495,4.392,4496,6.386,4497,5.838]],["title/miscellaneous/functions.html",[4495,2.274,4498,4.78]],["body/miscellaneous/functions.html",[6,0.101,11,0.462,15,0.573,20,0.766,24,1.821,25,0.008,26,1.185,27,1.415,29,0.969,51,0.005,52,0.007,53,0.005,82,2.073,83,1.318,117,5.242,166,1.468,204,5.242,231,2.121,269,1.376,270,4.502,278,1.256,288,4.005,309,2.057,312,1.318,422,3.812,442,4.516,481,3.305,491,4.842,492,5.999,527,5.296,550,5.999,624,1.907,741,4.52,816,4.842,839,3.018,891,6.814,892,5.132,893,5.296,894,1.942,900,5.296,903,4.842,975,4.702,1037,4.327,1049,3.812,1087,4.231,1095,4.355,1105,5.296,1136,5.578,1137,4.842,1138,6.562,1139,4.842,1140,5.296,1142,3.643,1143,4.723,1144,5.296,1145,5.296,1147,6.562,1148,5.296,1149,4.842,1150,5.296,1151,5.296,1152,4.842,1153,6.519,1154,3.812,1155,4.502,1156,3.122,1157,5.999,1400,4.842,2485,4.842,4341,4.842,4342,5.999,4346,6.562,4347,6.562,4376,6.562,4495,3.643,4497,6.519,4498,5.296,4499,5.296,4500,5.986,4501,5.986,4502,5.986,4503,5.986,4504,5.986,4505,5.986,4506,5.986,4507,5.986,4508,5.986]],["title/index.html",[11,0.289,3893,2.811,3894,2.811]],["body/index.html",[3,0.151,25,0.006,34,1.07,51,0.005,52,0.006,53,0.005,144,5.863,155,5.586,156,1.195,158,2.017,169,0.847,227,3.098,265,2.781,352,4.809,483,2.711,597,1.108,663,5.103,841,3.215,843,3.217,922,3.489,944,2.711,1000,4.049,1066,7.339,1133,4.637,1134,5.839,1155,4.312,1164,6.388,1245,5.839,1269,5.072,1328,4.052,1464,3.098,1485,4.212,2062,4.312,3287,5.072,3566,7.249,3670,4.637,3895,4.637,3896,6.388,3897,6.388,3898,6.992,3911,6.388,3913,6.388,3914,7.339,3929,6.388,3954,6.388,3967,4.637,3983,5.072,3997,4.312,3998,7.565,3999,7.339,4004,6.388,4009,5.072,4017,6.388,4019,5.072,4085,6.388,4282,5.072,4292,5.072,4509,7.22,4510,7.22,4511,5.733,4512,5.733,4513,5.733,4514,6.388,4515,5.733,4516,5.733,4517,7.22,4518,7.22,4519,7.22,4520,7.903,4521,5.733,4522,5.733,4523,7.903,4524,7.903,4525,5.733,4526,5.733,4527,7.22,4528,5.733,4529,5.733,4530,5.733,4531,5.733,4532,5.733,4533,5.733,4534,5.733,4535,5.733,4536,5.733,4537,5.733,4538,5.733,4539,5.733,4540,7.22,4541,5.733,4542,5.733,4543,7.22,4544,5.733,4545,7.22,4546,7.22,4547,5.733,4548,5.733,4549,5.733,4550,5.733,4551,5.733,4552,5.733,4553,5.733,4554,5.733,4555,5.733,4556,5.733,4557,5.733,4558,5.733,4559,5.733,4560,5.733]],["title/license.html",[3893,2.811,3894,2.811,4561,3.307]],["body/license.html",[25,0.007,51,0.006,52,0.007,53,0.006,74,1.787,144,4.617,230,5.283,264,2.54,672,3.187,741,3.663,869,4.617,874,5.918,1095,3.529,1485,4.564,1500,5.283,2117,5.283,2380,3.975,3597,5.779,3997,4.912,4024,6.92,4177,6.92,4243,5.779,4262,5.779,4298,5.779,4449,5.779,4514,8.177,4561,5.779,4562,6.532,4563,8.374,4564,6.532,4565,6.532,4566,7.822,4567,6.532,4568,6.532,4569,6.532,4570,6.532,4571,7.822,4572,6.532,4573,6.532,4574,6.532,4575,6.532,4576,6.532,4577,6.532,4578,6.532,4579,6.532,4580,6.532,4581,6.532,4582,6.532,4583,6.532,4584,7.822,4585,6.532,4586,6.532,4587,6.532,4588,6.532,4589,6.532,4590,7.822,4591,6.532,4592,6.532,4593,6.532,4594,6.532,4595,6.532,4596,6.532,4597,6.532,4598,6.532,4599,6.532,4600,6.532,4601,6.532,4602,6.532,4603,6.532,4604,6.532,4605,6.532,4606,6.532,4607,6.532,4608,6.532,4609,6.532,4610,6.532,4611,6.532,4612,6.532]],["title/modules.html",[56,1.838]],["body/modules.html",[25,0.007,51,0.005,52,0.007,53,0.005,55,4.573,56,1.818,63,4.298,64,4.298,65,4.068,66,4.298,67,4.298,68,4.298,69,4.068,70,4.298,71,4.298,101,5.355,715,4.298,1054,4.298,1055,4.298,1056,4.298,1334,7.182,1574,4.298,1579,4.298,1580,4.298,1661,4.298,1943,4.298,2446,4.068,2447,4.298,2448,4.068,2950,4.573,3106,4.573,3111,4.298,3266,4.298,3271,4.298,3353,4.573,3358,4.298,3423,4.298,3424,4.298,3774,5.38,3922,8.448,4613,9.556]],["title/overview.html",[4614,5.437]],["body/overview.html",[2,1.402,25,0.009,51,0.003,52,0.005,53,0.003,55,6.863,56,1.106,57,1.604,58,3.273,59,3.273,60,3.273,61,1.974,62,1.974,63,5.921,64,6.212,65,5.287,66,5.721,67,6.063,68,5.721,69,5.287,70,5.414,71,5.414,72,1.717,73,0.888,74,1.012,158,1.302,202,4.222,222,2.417,224,2.417,228,1.012,453,1.865,560,2.472,562,2.472,564,2.472,566,2.472,570,2.472,572,2.472,575,2.472,578,2.472,580,2.472,582,2.581,584,2.53,586,2.472,588,2.472,590,2.472,593,2.472,595,2.472,598,2.472,600,2.472,601,2.472,602,2.472,604,2.472,608,2.472,611,2.472,613,2.472,616,2.472,619,2.472,715,5.414,716,3.273,717,3.273,718,3.273,1051,3.273,1052,3.273,1053,3.273,1054,5.921,1055,4.46,1056,5.192,1123,2.783,1574,5.921,1575,3.273,1576,3.273,1577,3.273,1578,3.273,1579,5.414,1580,5.414,1588,3.273,1589,3.273,1590,3.273,1661,5.414,1662,3.273,1663,3.273,1664,3.273,1847,3.273,1848,3.273,1849,3.273,1943,6.169,1944,3.273,1946,3.273,1947,3.273,1997,3.273,1998,3.273,1999,3.273,2088,3.273,2089,3.273,2090,3.273,2443,3.273,2444,3.273,2445,3.273,2446,5.678,2447,6.169,2448,5.678,2472,3.84,2545,3.273,2546,3.273,2547,3.273,2653,3.273,2654,3.273,2656,3.273,2657,3.273,2660,3.273,2661,3.273,2662,3.273,2896,3.273,2898,3.273,2899,3.273,2919,3.273,2920,3.273,2921,3.273,3027,4.034,3106,5.943,3107,3.273,3108,3.273,3109,3.273,3110,3.273,3111,5.414,3140,3.273,3141,3.273,3142,3.273,3266,5.721,3267,3.273,3268,3.273,3269,3.273,3270,3.273,3271,5.414,3304,3.273,3305,3.273,3306,3.273,3353,5.943,3354,3.273,3355,3.273,3356,3.273,3357,3.273,3358,6.169,3419,3.273,3420,3.273,3421,3.273,3422,3.273,3423,5.585,3424,5.414,3548,3.273,3549,3.273,3550,3.273,3606,3.273,3607,3.273,3608,3.273,3611,3.273,3612,3.273,3739,3.273,3740,3.273,3741,3.273,3758,3.273,3759,3.273,3760,3.273,3792,3.273,3793,3.273,3794,3.273,3860,3.273,3861,3.273,3862,3.273,4253,3.273,4614,3.273,4615,3.7]],["title/miscellaneous/typealiases.html",[4495,2.274,4616,5.403]],["body/miscellaneous/typealiases.html",[6,0.106,7,2.129,8,1.337,9,2.62,11,0.467,15,0.683,16,1.575,18,2.477,25,0.008,37,2.48,39,3.156,51,0.005,52,0.007,53,0.005,125,3.394,228,1.655,231,2.315,233,4.049,267,4.934,295,2.477,367,3.53,406,3.394,442,3.894,643,1.937,662,3.853,698,2.862,733,3.87,821,3.426,824,3.156,840,3.764,846,3.608,861,3.764,935,3.682,1028,3.853,1029,3.853,1030,4.356,1031,4.277,1032,4.277,1033,4.049,1035,3.853,1038,4.544,1039,5.724,1042,3.853,1043,3.853,1044,3.27,1048,5.724,1049,3.853,1050,4.542,1533,4.277,2006,2.03,2039,3.145,2040,3.145,2157,4.551,2177,5.354,2178,6.606,2179,6.606,2180,6.039,2181,5.354,2182,6.606,2183,5.354,2184,6.606,2185,5.354,2186,5.354,2187,5.354,2188,4.894,2449,3.53,2454,3.853,3044,2.953,3115,6.039,3146,5.616,3151,5.616,3893,4.551,4341,4.894,4342,6.039,4365,6.039,4495,3.682,4499,5.354,4617,6.051,4618,7.827,4619,7.165,4620,7.467,4621,5.354,4622,7.467]],["title/miscellaneous/variables.html",[4495,2.274,4623,4.78]],["body/miscellaneous/variables.html",[0,0.091,6,0.1,11,0.256,15,0.569,18,1.015,24,0.685,25,0.009,26,1.258,28,1.49,29,1.386,31,1.702,35,1.621,51,0.003,52,0.004,53,0.003,108,1.039,111,0.763,114,3.725,116,6.269,125,1.862,145,3.314,150,0.642,182,2.347,210,1.794,212,1.937,216,1.674,226,2.222,269,0.763,271,5.467,272,1.862,278,1.112,285,1.305,299,1.794,300,2.685,355,2.086,368,2.804,373,2.732,386,1.518,406,1.862,422,1.57,425,2.304,442,2.583,448,3.154,468,1.937,576,1.015,643,2.103,699,1.197,711,0.971,725,2.347,726,1.862,727,3.501,728,3.154,729,3.725,743,3.501,744,2.497,745,2.497,746,2.497,747,2.497,748,2.497,749,2.497,750,2.497,751,2.497,752,2.497,753,2.497,754,2.497,755,2.497,756,2.347,757,2.497,758,2.114,759,2.497,771,1.794,821,2.273,843,2.207,846,2.64,975,1.937,992,1.479,1029,2.114,1033,2.222,1037,1.937,1070,2.347,1087,2.347,1118,3.725,1119,2.497,1120,2.938,1121,2.938,1122,2.938,1123,2.497,1124,2.685,1125,2.685,1126,2.347,1127,2.938,1128,2.938,1129,1.937,1318,2.497,1319,2.347,1320,2.685,1321,4.006,1325,2.685,1333,7.041,1338,2.222,1339,2.685,1340,3.501,1341,4.552,1342,2.938,1343,8.244,1344,2.938,1345,2.938,1346,2.938,1347,4.382,1348,2.938,1349,2.938,1350,2.938,1351,2.938,1352,2.938,1353,2.938,1354,5.812,1355,5.812,1356,6.217,1357,6.217,1358,3.725,1359,2.938,1360,5.209,1361,2.938,1362,2.938,1363,2.938,1364,4.382,1365,4.382,1366,4.382,1367,2.938,1368,2.938,1369,2.938,1370,2.938,1371,6.217,1372,2.938,1373,4.382,1374,2.938,1375,2.938,1376,2.938,1377,2.938,1378,2.938,1379,2.938,1380,2.938,1381,2.938,1382,2.938,1383,2.938,1384,2.938,1385,5.812,1386,4.382,1387,2.938,1388,2.938,1389,2.938,1390,2.938,1391,4.382,1392,2.938,1393,2.938,1394,2.685,1395,2.938,1396,2.938,1397,2.938,1398,2.938,1399,2.938,1400,4.006,1401,4.006,1402,2.685,1403,2.938,1404,3.725,1405,2.938,1406,2.938,1407,2.938,1408,2.938,1409,2.938,1410,2.938,1411,2.938,1412,5.812,1413,2.938,1414,2.938,1415,5.812,1416,2.938,1417,2.938,1418,2.497,1419,2.938,1420,2.938,1421,6.217,1422,2.938,1423,4.382,1424,2.938,1425,2.685,1426,2.938,1427,2.685,1428,2.938,1429,2.938,1431,2.347,1439,2.497,1583,2.347,1592,3.154,1593,3.773,1641,2.497,2006,1.662,2008,2.938,2011,2.497,2013,4.382,2104,2.222,2157,2.497,2189,4.006,2190,2.938,2191,2.938,2377,2.222,2383,2.222,2385,3.773,2386,2.114,2388,2.347,2389,3.314,2390,2.347,2392,3.773,2449,1.937,2454,2.114,2696,1.794,2922,2.497,2969,3.725,2970,2.685,3153,2.114,3556,2.685,3564,2.938,3568,2.938,3569,4.006,3618,2.685,3648,2.938,3668,2.497,3669,4.006,3712,4.006,3848,4.382,4335,4.382,4365,4.792,4368,4.382,4369,4.382,4495,2.021,4497,2.685,4618,2.938,4619,2.938,4621,4.382,4623,2.938,4624,3.32,4625,3.32,4626,3.32,4627,3.32,4628,3.32,4629,4.954,4630,3.32,4631,3.32,4632,3.32,4633,3.32,4634,3.32,4635,3.32]]],"invertedIndex":[["",{"_index":25,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":386,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["0).map(([term",{"_index":3516,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["0.063rem",{"_index":1657,"title":{},"body":{"components/DropdownComponent.html":{}}}],["0.07",{"_index":2746,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["0.095rem",{"_index":1844,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["0.1.0",{"_index":4315,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":4494,"title":{},"body":{"dependencies.html":{}}}],["0.12",{"_index":1550,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["0.125rem",{"_index":1640,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["0.12rem",{"_index":1530,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["0.14",{"_index":1548,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["0.15s",{"_index":1553,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["0.16",{"_index":3134,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["0.18.0",{"_index":4438,"title":{},"body":{"dependencies.html":{}}}],["0.1rem",{"_index":1937,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["0.2",{"_index":1546,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["0.2.0",{"_index":4312,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":4457,"title":{},"body":{"dependencies.html":{}}}],["0.25rem",{"_index":1556,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["0.2rem",{"_index":1648,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["0.2s",{"_index":1932,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["0.3125rem",{"_index":3728,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["0.3s",{"_index":1642,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["0.4",{"_index":395,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["0.42",{"_index":3508,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["0.4s",{"_index":3547,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["0.5",{"_index":3406,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["0.5.0",{"_index":4301,"title":{},"body":{"changelog.html":{}}}],["0.5rem",{"_index":702,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ViewerComponent.html":{}}}],["0.5s",{"_index":3302,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["0.6",{"_index":3736,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["0.6.0",{"_index":4282,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0.625rem",{"_index":3731,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["0.6s",{"_index":1939,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["0.75rem",{"_index":1531,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["0.875rem",{"_index":1635,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["0.9",{"_index":3504,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["0.9375rem",{"_index":1842,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["0/1",{"_index":4324,"title":{},"body":{"coverage.html":{}}}],["0/14",{"_index":4358,"title":{},"body":{"coverage.html":{}}}],["0/16",{"_index":4323,"title":{},"body":{"coverage.html":{}}}],["0/19",{"_index":4355,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":4333,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":4334,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":4332,"title":{},"body":{"coverage.html":{}}}],["0/5",{"_index":4331,"title":{},"body":{"coverage.html":{}}}],["0/6",{"_index":4327,"title":{},"body":{"coverage.html":{}}}],["0/7",{"_index":4354,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":4353,"title":{},"body":{"coverage.html":{}}}],["0000001d",{"_index":1938,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["0000003e",{"_index":1649,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["00000058",{"_index":1993,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["00e5ff",{"_index":753,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["01",{"_index":3934,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":4167,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":4122,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":1526,"title":{},"body":{"components/DonorCardComponent.html":{},"changelog.html":{}}}],["05",{"_index":1569,"title":{},"body":{"components/DonorCardComponent.html":{},"changelog.html":{}}}],["06",{"_index":3901,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":3933,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":4263,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":3924,"title":{},"body":{"changelog.html":{}}}],["0px",{"_index":1542,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["0rem",{"_index":1638,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["1",{"_index":425,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["1).touppercase",{"_index":3178,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["1)[0",{"_index":2712,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["1.0",{"_index":4194,"title":{},"body":{"changelog.html":{}}}],["1.0.0",{"_index":4251,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":4433,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":4442,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":4489,"title":{},"body":{"dependencies.html":{}}}],["1.0625rem",{"_index":3827,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["1.1.0",{"_index":4229,"title":{},"body":{"changelog.html":{}}}],["1.12rem",{"_index":1529,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["1.16.0",{"_index":4471,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":4435,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":4193,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":4445,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":4472,"title":{},"body":{"dependencies.html":{}}}],["1.25",{"_index":2889,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["1.25rem",{"_index":2891,"title":{},"body":{"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["1.2rem",{"_index":1991,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["1.3.5",{"_index":4166,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":4147,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":4459,"title":{},"body":{"dependencies.html":{}}}],["1.48rem",{"_index":1992,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["1.5",{"_index":2753,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["1.5.0",{"_index":4121,"title":{},"body":{"changelog.html":{}}}],["1.55rem",{"_index":1650,"title":{},"body":{"components/DropdownComponent.html":{}}}],["1.5em",{"_index":1831,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["1.5rem",{"_index":1560,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ViewerComponent.html":{}}}],["1.6.0",{"_index":4108,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":4099,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":4446,"title":{},"body":{"dependencies.html":{}}}],["1.75rem",{"_index":1846,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["1/1",{"_index":4336,"title":{},"body":{"coverage.html":{}}}],["1/8",{"_index":4343,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":544,"title":{},"body":{"components/AppWebComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["10.0.0",{"_index":4455,"title":{},"body":{"dependencies.html":{}}}],["10/12",{"_index":4340,"title":{},"body":{"coverage.html":{}}}],["10/13",{"_index":4364,"title":{},"body":{"coverage.html":{}}}],["100",{"_index":477,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{}}}],["1000",{"_index":2768,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["10px",{"_index":1549,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["10x",{"_index":4241,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":4149,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":4473,"title":{},"body":{"dependencies.html":{}}}],["11.5rem",{"_index":3409,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["110",{"_index":1121,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/variables.html":{}}}],["11rem",{"_index":3416,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["12",{"_index":3967,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{}}}],["12.0.1",{"_index":4475,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":4397,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":4401,"title":{},"body":{"dependencies.html":{}}}],["12.75rem",{"_index":3415,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["12/12",{"_index":4382,"title":{},"body":{"coverage.html":{}}}],["12/13",{"_index":4362,"title":{},"body":{"coverage.html":{}}}],["12/18",{"_index":4373,"title":{},"body":{"coverage.html":{}}}],["121",{"_index":3503,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["13",{"_index":1123,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["13/13",{"_index":4360,"title":{},"body":{"coverage.html":{}}}],["13/19",{"_index":4352,"title":{},"body":{"coverage.html":{}}}],["136",{"_index":3028,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["14",{"_index":3960,"title":{},"body":{"changelog.html":{}}}],["14/15",{"_index":4371,"title":{},"body":{"coverage.html":{}}}],["14/33",{"_index":4326,"title":{},"body":{"coverage.html":{}}}],["14rem",{"_index":3136,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["15",{"_index":3902,"title":{},"body":{"changelog.html":{}}}],["15.126.1",{"_index":4396,"title":{},"body":{"dependencies.html":{}}}],["15rem",{"_index":1843,"title":{},"body":{"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["16",{"_index":4084,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":4448,"title":{},"body":{"dependencies.html":{}}}],["16rem",{"_index":1564,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["17",{"_index":3948,"title":{},"body":{"changelog.html":{}}}],["17/17",{"_index":4359,"title":{},"body":{"coverage.html":{}}}],["17rem",{"_index":1570,"title":{},"body":{"components/DonorCardComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["18/18",{"_index":4377,"title":{},"body":{"coverage.html":{}}}],["18rem",{"_index":2542,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["19.5rem",{"_index":1551,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["19rem",{"_index":3407,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["1].color",{"_index":786,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["1em",{"_index":1633,"title":{},"body":{"components/DropdownComponent.html":{}}}],["1fr",{"_index":3298,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["1px",{"_index":1653,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["1rem",{"_index":700,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["1rem/1.25rem",{"_index":2083,"title":{},"body":{"components/HeaderComponent.html":{}}}],["1s",{"_index":2078,"title":{},"body":{"components/HeaderComponent.html":{}}}],["2",{"_index":393,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"changelog.html":{}}}],["2.0.0",{"_index":4083,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":4452,"title":{},"body":{"dependencies.html":{}}}],["2.0625rem",{"_index":3826,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["2.1.0",{"_index":4056,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2",{"_index":391,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["2.2.0",{"_index":4049,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.3.0",{"_index":4045,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":4040,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":4030,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":4016,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.5rem",{"_index":1539,"title":{},"body":{"components/DonorCardComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{}}}],["2.6.7",{"_index":4476,"title":{},"body":{"dependencies.html":{}}}],["2.8.5",{"_index":4444,"title":{},"body":{"dependencies.html":{}}}],["2.8125rem",{"_index":3730,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["2.awsapprunner.com",{"_index":4534,"title":{},"body":{"index.html":{}}}],["2/10",{"_index":4392,"title":{},"body":{"coverage.html":{}}}],["2/2",{"_index":4381,"title":{},"body":{"coverage.html":{}}}],["2/6",{"_index":4345,"title":{},"body":{"coverage.html":{}}}],["20",{"_index":2016,"title":{},"body":{"classes/FlatNode.html":{},"coverage.html":{}}}],["2019",{"_index":4262,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":4196,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":4005,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":3916,"title":{},"body":{"changelog.html":{}}}],["2023",{"_index":3900,"title":{},"body":{"changelog.html":{}}}],["20em",{"_index":1837,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["20rem",{"_index":2894,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["21",{"_index":4100,"title":{},"body":{"changelog.html":{}}}],["22",{"_index":4253,"title":{},"body":{"changelog.html":{},"overview.html":{}}}],["229",{"_index":3029,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["22rem",{"_index":3756,"title":{},"body":{"components/TissueBlockListComponent.html":{}}}],["23",{"_index":4615,"title":{},"body":{"overview.html":{}}}],["23.75rem",{"_index":2543,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["232f3a",{"_index":3417,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["24",{"_index":4302,"title":{},"body":{"changelog.html":{}}}],["24.5rem",{"_index":3138,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["24/24",{"_index":4390,"title":{},"body":{"coverage.html":{}}}],["24px.svg",{"_index":1421,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["25",{"_index":714,"title":{},"body":{"components/CheckboxComponent.html":{},"components/FiltersContentComponent.html":{}}}],["255",{"_index":758,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"miscellaneous/variables.html":{}}}],["25rem",{"_index":2072,"title":{},"body":{"components/HeaderComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["26",{"_index":4123,"title":{},"body":{"changelog.html":{}}}],["26/26",{"_index":4384,"title":{},"body":{"coverage.html":{}}}],["26th",{"_index":4152,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":3925,"title":{},"body":{"changelog.html":{}}}],["275s",{"_index":1643,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["29",{"_index":4388,"title":{},"body":{"coverage.html":{}}}],["2979ff",{"_index":745,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["2px",{"_index":1544,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{}}}],["2rem",{"_index":1515,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["3",{"_index":645,"title":{},"body":{"components/CheckboxComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"changelog.html":{}}}],["3.0.0",{"_index":4001,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":4416,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":3972,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":3966,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":3959,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":3947,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":3932,"title":{},"body":{"changelog.html":{}}}],["3.5.0",{"_index":3923,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":4421,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":4423,"title":{},"body":{"dependencies.html":{}}}],["3.5rem",{"_index":3139,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ViewerComponent.html":{}}}],["3.6",{"_index":4540,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":3915,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.7.0",{"_index":3899,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":4426,"title":{},"body":{"dependencies.html":{}}}],["3.7.3",{"_index":4428,"title":{},"body":{"dependencies.html":{}}}],["3.75rem",{"_index":3729,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["3/3",{"_index":4380,"title":{},"body":{"coverage.html":{}}}],["3/6",{"_index":4330,"title":{},"body":{"coverage.html":{}}}],["30",{"_index":3027,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"overview.html":{}}}],["30.5rem",{"_index":3133,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["300",{"_index":2892,"title":{},"body":{"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["3000",{"_index":347,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["31",{"_index":4230,"title":{},"body":{"changelog.html":{}}}],["32/37",{"_index":4367,"title":{},"body":{"coverage.html":{}}}],["33",{"_index":712,"title":{},"body":{"components/CheckboxComponent.html":{},"components/FiltersContentComponent.html":{},"components/SpatialSearchUiComponent.html":{},"coverage.html":{}}}],["35rem",{"_index":1994,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["36/42",{"_index":4344,"title":{},"body":{"coverage.html":{}}}],["3d",{"_index":2344,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["3px",{"_index":3757,"title":{},"body":{"components/TissueBlockListComponent.html":{}}}],["3rem",{"_index":1512,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["3s",{"_index":1645,"title":{},"body":{"components/DropdownComponent.html":{}}}],["4",{"_index":3301,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["4.0",{"_index":4518,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":4425,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":4450,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":4468,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":4440,"title":{},"body":{"dependencies.html":{}}}],["4.375rem",{"_index":1839,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["4.6.0",{"_index":4461,"title":{},"body":{"dependencies.html":{}}}],["4/4",{"_index":4339,"title":{},"body":{"coverage.html":{}}}],["4/5",{"_index":4385,"title":{},"body":{"coverage.html":{}}}],["4/6",{"_index":4391,"title":{},"body":{"coverage.html":{}}}],["400",{"_index":2082,"title":{},"body":{"components/HeaderComponent.html":{}}}],["41",{"_index":3502,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["42",{"_index":4325,"title":{},"body":{"coverage.html":{}}}],["42/44",{"_index":4378,"title":{},"body":{"coverage.html":{}}}],["45rem",{"_index":3404,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["46",{"_index":4356,"title":{},"body":{"coverage.html":{}}}],["4em",{"_index":1990,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["4px",{"_index":1547,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["4rem",{"_index":2070,"title":{},"body":{"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["4th",{"_index":3918,"title":{},"body":{"changelog.html":{}}}],["5",{"_index":1566,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersPopoverComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["5.0.0",{"_index":4462,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":4467,"title":{},"body":{"dependencies.html":{}}}],["5.5rem",{"_index":1022,"title":{},"body":{"components/ContentComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["5/5",{"_index":4348,"title":{},"body":{"coverage.html":{}}}],["5/6",{"_index":4374,"title":{},"body":{"coverage.html":{}}}],["50",{"_index":1518,"title":{},"body":{"components/DonorCardComponent.html":{},"components/HeaderComponent.html":{},"coverage.html":{}}}],["500",{"_index":2077,"title":{},"body":{"components/HeaderComponent.html":{}}}],["5em",{"_index":1660,"title":{},"body":{"components/DropdownComponent.html":{}}}],["5fr",{"_index":3296,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["5rem",{"_index":1942,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{}}}],["5s",{"_index":1025,"title":{},"body":{"components/ContentComponent.html":{}}}],["5th",{"_index":3907,"title":{},"body":{"changelog.html":{}}}],["6.0.1",{"_index":4465,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":4478,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":4424,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":4486,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":4484,"title":{},"body":{"dependencies.html":{}}}],["6/12",{"_index":4350,"title":{},"body":{"coverage.html":{}}}],["6/6",{"_index":4349,"title":{},"body":{"coverage.html":{}}}],["6/8",{"_index":4329,"title":{},"body":{"coverage.html":{}}}],["600",{"_index":1537,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["60rem",{"_index":3405,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["66",{"_index":4372,"title":{},"body":{"coverage.html":{}}}],["68",{"_index":4351,"title":{},"body":{"coverage.html":{}}}],["6px",{"_index":1543,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["6s",{"_index":1940,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["7.75rem",{"_index":2890,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["7/15",{"_index":4357,"title":{},"body":{"coverage.html":{}}}],["7/7",{"_index":4379,"title":{},"body":{"coverage.html":{}}}],["72",{"_index":4337,"title":{},"body":{"coverage.html":{}}}],["72rem",{"_index":3093,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["7323e2",{"_index":749,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["75",{"_index":4328,"title":{},"body":{"coverage.html":{}}}],["75rem",{"_index":1840,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["76",{"_index":4363,"title":{},"body":{"coverage.html":{}}}],["78vw",{"_index":3403,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["7rem",{"_index":3299,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["8",{"_index":4103,"title":{},"body":{"changelog.html":{}}}],["8.25rem",{"_index":2076,"title":{},"body":{"components/HeaderComponent.html":{}}}],["8.3.2",{"_index":4492,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":4420,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":4409,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":4412,"title":{},"body":{"dependencies.html":{}}}],["8/11",{"_index":4338,"title":{},"body":{"coverage.html":{}}}],["8/27",{"_index":4389,"title":{},"body":{"coverage.html":{}}}],["8/8",{"_index":4375,"title":{},"body":{"coverage.html":{}}}],["80",{"_index":1563,"title":{},"body":{"components/DonorCardComponent.html":{},"coverage.html":{}}}],["81",{"_index":4386,"title":{},"body":{"coverage.html":{}}}],["82b1ff",{"_index":751,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["83",{"_index":1124,"title":{},"body":{"interfaces/DataStateModel.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["85",{"_index":1558,"title":{},"body":{"components/DonorCardComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["86",{"_index":4366,"title":{},"body":{"coverage.html":{}}}],["875rem",{"_index":3604,"title":{},"body":{"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["9.5rem",{"_index":1652,"title":{},"body":{"components/DropdownComponent.html":{}}}],["9.75px",{"_index":2918,"title":{},"body":{"components/RunSpatialSearchComponent.html":{}}}],["9.85rem",{"_index":1628,"title":{},"body":{"components/DropdownComponent.html":{}}}],["9/11",{"_index":4387,"title":{},"body":{"coverage.html":{}}}],["9/9",{"_index":4383,"title":{},"body":{"coverage.html":{}}}],["90",{"_index":1941,"title":{},"body":{"components/FiltersContentComponent.html":{},"changelog.html":{}}}],["92",{"_index":4361,"title":{},"body":{"coverage.html":{}}}],["93",{"_index":4370,"title":{},"body":{"coverage.html":{}}}],["95",{"_index":2895,"title":{},"body":{"components/ResultsBrowserComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["95vh",{"_index":3402,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["99",{"_index":3546,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["9th",{"_index":4132,"title":{},"body":{"changelog.html":{}}}],["_aggregatedataquerystatus",{"_index":1172,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["_blank",{"_index":440,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["_celltypetermoccurencesdataquerystatus",{"_index":1176,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["_config",{"_index":3875,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["_createcontainer",{"_index":459,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["_error",{"_index":2136,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["_expanded",{"_index":2226,"title":{},"body":{"classes/InitializationState.html":{}}}],["_index",{"_index":3688,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["_measuredmargin",{"_index":2256,"title":{},"body":{"classes/InitializationState.html":{}}}],["_measuredwidth",{"_index":2250,"title":{},"body":{"classes/InitializationState.html":{}}}],["_msg",{"_index":849,"title":{},"body":{"components/ContainerComponent.html":{}}}],["_ontologytermoccurencesdataquerystatus",{"_index":1174,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["_opened",{"_index":2222,"title":{},"body":{"classes/InitializationState.html":{}}}],["_position",{"_index":2218,"title":{},"body":{"classes/InitializationState.html":{}}}],["_providerfilterquerystatus",{"_index":1182,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["_scenedataquerystatus",{"_index":1178,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["_technologyfilterquerystatus",{"_index":1180,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["_tissueblockdataquerystatus",{"_index":1170,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["a.color.color",{"_index":801,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["ability",{"_index":4064,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":4298,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["absolute",{"_index":1554,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["acc",{"_index":796,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["acc[item.key",{"_index":794,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["accent",{"_index":691,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{}}}],["acceptable",{"_index":274,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["acceptableviewerdomains",{"_index":280,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["accepting",{"_index":2306,"title":{},"body":{"classes/InitializationState.html":{}}}],["accessors",{"_index":834,"title":{},"body":{"components/ContainerComponent.html":{},"components/DualSliderComponent.html":{},"classes/FlatNode.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["according",{"_index":351,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["accordingly",{"_index":1964,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["accurate",{"_index":4120,"title":{},"body":{"changelog.html":{}}}],["acf32b",{"_index":750,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["action",{"_index":1095,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"miscellaneous/functions.html":{},"license.html":{}}}],["action(addsearch",{"_index":3154,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["action(generatespatialsearch",{"_index":2792,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(movetonode",{"_index":2762,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(reallyupdatespatialsearch",{"_index":2778,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(removesearch",{"_index":3157,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["action(resetposition",{"_index":2759,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(resetradius",{"_index":2774,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(setexecutesearchongenerate",{"_index":2804,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(setorgan",{"_index":2733,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(setposition",{"_index":2755,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(setradius",{"_index":2770,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(setselectedsearches",{"_index":3161,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["action(setsex",{"_index":2719,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(startspatialsearchflow",{"_index":2707,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(updatefilter",{"_index":1281,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["actionasfn",{"_index":204,"title":{},"body":{"interfaces/AppOptions.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["actionasfn(movetonode",{"_index":3328,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["actionasfn(removesearch",{"_index":251,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["actionasfn(resetposition",{"_index":3337,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["actionasfn(resetradius",{"_index":3339,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["actionasfn(setorgan",{"_index":3078,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["actionasfn(setposition",{"_index":3349,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["actionasfn(setradius",{"_index":3351,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["actionasfn(setselectedsearches",{"_index":249,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["actionasfn(setsex",{"_index":3080,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["actionasfn(type",{"_index":4502,"title":{},"body":{"miscellaneous/functions.html":{}}}],["actions",{"_index":2670,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{}}}],["actions$.pipe",{"_index":2703,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["actions.push(new",{"_index":2800,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["activate",{"_index":291,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["active",{"_index":2955,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpinnerOverlayComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["active/showing",{"_index":3541,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["activeorgans",{"_index":3014,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["activeorgans.has(o.representation_of)).map(o",{"_index":3018,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["activeorgans.has(tag",{"_index":3022,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["actual_component",{"_index":621,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["add",{"_index":32,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"classes/StartSpatialSearchFlow.html":{},"injectables/ThemingService.html":{},"classes/UpdateSpatialSearch.html":{}}}],["addclass",{"_index":3664,"title":{},"body":{"injectables/ThemingService.html":{}}}],["added",{"_index":3903,"title":{},"body":{"changelog.html":{}}}],["additional",{"_index":4299,"title":{},"body":{"changelog.html":{}}}],["addressed",{"_index":4223,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":2791,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["addsearch",{"_index":1,"title":{"classes/AddSearch.html":{}},"body":{"classes/AddSearch.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"coverage.html":{}}}],["addsearch(ctx",{"_index":3155,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["addsearch(sex",{"_index":2797,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["addspatialsearch",{"_index":3311,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["addsvgicon",{"_index":2139,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["adjusting",{"_index":4220,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":4146,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":4086,"title":{},"body":{"changelog.html":{}}}],["afterviewinit",{"_index":817,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["again",{"_index":4202,"title":{},"body":{"changelog.html":{}}}],["against",{"_index":2295,"title":{},"body":{"classes/InitializationState.html":{}}}],["age",{"_index":1773,"title":{},"body":{"components/DualSliderComponent.html":{},"changelog.html":{}}}],["agerange",{"_index":1120,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/variables.html":{}}}],["aggregate",{"_index":1193,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["aggregatedata",{"_index":1194,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/ResultsBrowserComponent.html":{}}}],["aggregatedata(filter",{"_index":1289,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["aggregatedataquerystatus",{"_index":1171,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["aggregateresult",{"_index":1098,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/ResultsBrowserComponent.html":{}}}],["ala",{"_index":4043,"title":{},"body":{"changelog.html":{}}}],["aliases",{"_index":4617,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["align",{"_index":1513,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["all_possible_organs",{"_index":2968,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["allcompleted",{"_index":4346,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["allcompleted(states",{"_index":1140,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["allowed",{"_index":3859,"title":{},"body":{"components/ViewerComponent.html":{}}}],["allowing",{"_index":2847,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["allows",{"_index":1463,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"changelog.html":{}}}],["allowtouchmove",{"_index":3691,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["along",{"_index":2640,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["alongside",{"_index":3543,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["alpha",{"_index":4293,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":4274,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":4270,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":4261,"title":{},"body":{"changelog.html":{}}}],["already",{"_index":870,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/ThemingService.html":{}}}],["alt",{"_index":4522,"title":{},"body":{"index.html":{}}}],["always",{"_index":898,"title":{},"body":{"components/ContainerComponent.html":{},"components/HeaderComponent.html":{}}}],["amount",{"_index":3225,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["analytics",{"_index":642,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{},"dependencies.html":{}}}],["analyticsmodule",{"_index":1062,"title":{},"body":{"modules/CoreModule.html":{}}}],["analyticsmodule.forroot",{"_index":1074,"title":{},"body":{"modules/CoreModule.html":{}}}],["anatomical",{"_index":409,"title":{},"body":{"interfaces/AppOptions.html":{},"components/SpatialSearchUiComponent.html":{},"changelog.html":{}}}],["anatomicalstructures",{"_index":2691,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["anatomicalstructures(state",{"_index":3442,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["anatomicalstructuresettings",{"_index":2972,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["anatomicalstructurestreemodel",{"_index":1088,"title":{},"body":{"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{}}}],["anatomicalstructurestreemodel(state",{"_index":1306,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["and/or",{"_index":4582,"title":{},"body":{"license.html":{}}}],["angular",{"_index":227,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/OntologySearchService.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SearchResult.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular's",{"_index":1736,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["angular/animations",{"_index":989,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{},"dependencies.html":{}}}],["angular/cdk",{"_index":4398,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk/coercion",{"_index":2176,"title":{},"body":{"classes/InitializationState.html":{}}}],["angular/cdk/overlay",{"_index":85,"title":{},"body":{"modules/AppModule.html":{},"injectables/AppRootOverlayContainer.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"injectables/ThemingService.html":{}}}],["angular/cdk/portal",{"_index":1775,"title":{},"body":{"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{}}}],["angular/cdk/scrolling",{"_index":2902,"title":{},"body":{"modules/ResultsBrowserModule.html":{}}}],["angular/common",{"_index":722,"title":{},"body":{"modules/CheckboxModule.html":{},"modules/DonorCardModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"dependencies.html":{}}}],["angular/common/http",{"_index":1059,"title":{},"body":{"modules/CoreModule.html":{}}}],["angular/compiler",{"_index":4399,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":89,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"dependencies.html":{}}}],["angular/elements",{"_index":91,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/forms",{"_index":2510,"title":{},"body":{"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"modules/SpatialSearchConfigModule.html":{},"dependencies.html":{}}}],["angular/material",{"_index":4400,"title":{},"body":{"dependencies.html":{}}}],["angular/material/autocomplete",{"_index":2511,"title":{},"body":{"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{}}}],["angular/material/button",{"_index":1950,"title":{},"body":{"modules/FiltersContentModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyTreeModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/ViewerModule.html":{}}}],["angular/material/checkbox",{"_index":677,"title":{},"body":{"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"modules/DonorCardModule.html":{}}}],["angular/material/dialog",{"_index":2911,"title":{},"body":{"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{}}}],["angular/material/divider",{"_index":3426,"title":{},"body":{"modules/SpatialSearchUiModule.html":{}}}],["angular/material/form",{"_index":1667,"title":{},"body":{"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/OntologySearchModule.html":{},"modules/TermOccurrenceListModule.html":{}}}],["angular/material/icon",{"_index":93,"title":{},"body":{"modules/AppModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/OntologySearchModule.html":{},"modules/OntologyTreeModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/ViewerModule.html":{}}}],["angular/material/input",{"_index":2553,"title":{},"body":{"modules/OntologySearchModule.html":{}}}],["angular/material/progress",{"_index":3553,"title":{},"body":{"modules/SpinnerOverlayModule.html":{},"modules/ViewerModule.html":{}}}],["angular/material/radio",{"_index":3145,"title":{},"body":{"modules/SpatialSearchConfigModule.html":{}}}],["angular/material/select",{"_index":1669,"title":{},"body":{"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/TermOccurrenceListModule.html":{}}}],["angular/material/slider",{"_index":3428,"title":{},"body":{"modules/SpatialSearchUiModule.html":{}}}],["angular/material/snack",{"_index":95,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{}}}],["angular/material/toolbar",{"_index":2093,"title":{},"body":{"modules/HeaderModule.html":{}}}],["angular/material/tooltip",{"_index":98,"title":{},"body":{"modules/AppModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyTreeModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/TissueBlockListModule.html":{}}}],["angular/material/tree",{"_index":2665,"title":{},"body":{"modules/OntologyTreeModule.html":{}}}],["angular/platform",{"_index":100,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ViewerComponent.html":{},"dependencies.html":{}}}],["angular/router",{"_index":4403,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":4404,"title":{},"body":{"dependencies.html":{}}}],["animate",{"_index":985,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{}}}],["animate('.5s",{"_index":2203,"title":{},"body":{"classes/InitializationState.html":{}}}],["animate('1s",{"_index":995,"title":{},"body":{"components/ContentComponent.html":{}}}],["animate(0",{"_index":2202,"title":{},"body":{"classes/InitializationState.html":{}}}],["animated",{"_index":3092,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["animation",{"_index":1641,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["animations",{"_index":943,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{}}}],["animationsenabled",{"_index":946,"title":{},"body":{"components/ContentComponent.html":{}}}],["api",{"_index":3566,"title":{},"body":{"modules/StoreModule.html":{},"changelog.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":4532,"title":{},"body":{"index.html":{}}}],["apiendpointdatasourceservice",{"_index":1434,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["app",{"_index":116,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"components/OntologySelectionComponent.html":{},"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["app.component",{"_index":119,"title":{},"body":{"modules/AppModule.html":{}}}],["app.component.html",{"_index":236,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.component.scss",{"_index":238,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app/core/services/theming/theming.service",{"_index":115,"title":{},"body":{"modules/AppModule.html":{}}}],["app_bootstrap_listener",{"_index":3614,"title":{},"body":{"modules/ThemingModule.html":{}}}],["appcomponent",{"_index":61,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["appear",{"_index":3292,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{},"changelog.html":{}}}],["appearance",{"_index":2539,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["appelement",{"_index":151,"title":{},"body":{"modules/AppModule.html":{}}}],["append",{"_index":3148,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["appendtoroot",{"_index":460,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["application",{"_index":4137,"title":{},"body":{"changelog.html":{}}}],["application/javascript",{"_index":3891,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["applied",{"_index":1878,"title":{},"body":{"components/FiltersContentComponent.html":{},"changelog.html":{}}}],["apply",{"_index":1886,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["applybuttonclick",{"_index":1861,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["applyfilters",{"_index":1868,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["applyfilters(filters",{"_index":1975,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["applythemeclass",{"_index":3621,"title":{},"body":{"injectables/ThemingService.html":{}}}],["applythemeclass(cls",{"_index":3627,"title":{},"body":{"injectables/ThemingService.html":{}}}],["appmodule",{"_index":55,"title":{"modules/AppModule.html":{}},"body":{"modules/AppModule.html":{},"modules.html":{},"overview.html":{}}}],["appname",{"_index":1077,"title":{},"body":{"modules/CoreModule.html":{}}}],["appoptions",{"_index":157,"title":{"interfaces/AppOptions.html":{}},"body":{"interfaces/AppOptions.html":{},"coverage.html":{}}}],["approotoverlaycontainer",{"_index":109,"title":{"injectables/AppRootOverlayContainer.html":{}},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"coverage.html":{}}}],["appropriate",{"_index":3985,"title":{},"body":{"changelog.html":{}}}],["appwebcomponent",{"_index":62,"title":{"components/AppWebComponent.html":{}},"body":{"modules/AppModule.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["april",{"_index":4131,"title":{},"body":{"changelog.html":{}}}],["area",{"_index":3300,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["arg",{"_index":2127,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["args",{"_index":2131,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["args.filter(value",{"_index":2146,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["argument",{"_index":2144,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["arguments",{"_index":1712,"title":{},"body":{"components/DualSliderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["arising",{"_index":4610,"title":{},"body":{"license.html":{}}}],["array",{"_index":422,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"components/DualSliderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/OntologySearchService.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SearchResult.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueSectionVisComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["array.from(searchresults.values",{"_index":2612,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["array.isarray(val",{"_index":533,"title":{},"body":{"components/AppWebComponent.html":{}}}],["arrow",{"_index":1658,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["arrow_left",{"_index":3818,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["arrow_right",{"_index":3817,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["asct+b",{"_index":4006,"title":{},"body":{"changelog.html":{}}}],["asking",{"_index":651,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["assays",{"_index":1933,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["assets/icons/expand_less",{"_index":1428,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/expand_more",{"_index":1426,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/filter.svg",{"_index":1429,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/opacity",{"_index":1420,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/organs/ico",{"_index":1343,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/visibility",{"_index":1423,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assigncolor",{"_index":802,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assigncolor(@payload('key",{"_index":779,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["assigncolor(key",{"_index":805,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assignment",{"_index":767,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["assignment.state",{"_index":2348,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["assignment.state.ts",{"_index":727,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["assignment.state.ts:102",{"_index":810,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assignment.state.ts:57",{"_index":813,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assignment.state.ts:59",{"_index":814,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assignment.state.ts:60",{"_index":811,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assignment.state.ts:61",{"_index":812,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assignment.state.ts:63",{"_index":808,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assignment.state.ts:69",{"_index":807,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assignment/color",{"_index":726,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["assignment/selection",{"_index":4110,"title":{},"body":{"changelog.html":{}}}],["assignments",{"_index":2338,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["associated",{"_index":2380,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"changelog.html":{},"license.html":{}}}],["async",{"_index":2162,"title":{},"body":{"classes/InitializationState.html":{}}}],["at(nodes",{"_index":2619,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["atlas",{"_index":3897,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["atscrollbottom",{"_index":2829,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["attach",{"_index":3807,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["attached",{"_index":456,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["attempts",{"_index":4033,"title":{},"body":{"changelog.html":{}}}],["authentication",{"_index":2075,"title":{},"body":{"components/HeaderComponent.html":{}}}],["authors",{"_index":4602,"title":{},"body":{"license.html":{}}}],["auto",{"_index":1023,"title":{},"body":{"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["autocomplete",{"_index":2505,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["autocompleteopen",{"_index":2461,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["autofocus",{"_index":3090,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["automatic",{"_index":4212,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":4172,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":2950,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"modules.html":{}}}],["avoid",{"_index":4074,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":2168,"title":{},"body":{"classes/InitializationState.html":{}}}],["awaited",{"_index":2158,"title":{},"body":{"classes/InitializationState.html":{}}}],["award",{"_index":4559,"title":{},"body":{"index.html":{}}}],["axis",{"_index":3791,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["b92dff",{"_index":747,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["backend",{"_index":4020,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":1464,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"changelog.html":{},"index.html":{}}}],["backing",{"_index":2120,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["bar",{"_index":96,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/DualSliderComponent.html":{}}}],["base",{"_index":4278,"title":{},"body":{"changelog.html":{}}}],["based",{"_index":421,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContentComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"changelog.html":{}}}],["basepath",{"_index":1079,"title":{},"body":{"modules/CoreModule.html":{}}}],["basewebcomponent",{"_index":493,"title":{},"body":{"components/AppWebComponent.html":{}}}],["basic",{"_index":4085,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["bbox",{"_index":2244,"title":{},"body":{"classes/InitializationState.html":{}}}],["bbox.left",{"_index":2247,"title":{},"body":{"classes/InitializationState.html":{}}}],["bbox.right",{"_index":2246,"title":{},"body":{"classes/InitializationState.html":{}}}],["before",{"_index":1331,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"classes/InitializationState.html":{},"changelog.html":{}}}],["behavior",{"_index":3046,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["behavior'},{'name",{"_index":592,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["behavior.component",{"_index":2913,"title":{},"body":{"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{}}}],["behavior.component.html",{"_index":3047,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts",{"_index":3045,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"coverage.html":{}}}],["behavior.component.ts:102",{"_index":3238,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:104",{"_index":3317,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:110",{"_index":3240,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:121",{"_index":3319,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:135",{"_index":3316,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:144",{"_index":3315,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:152",{"_index":3320,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:16",{"_index":3229,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:19",{"_index":3224,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:22",{"_index":3076,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:25",{"_index":3074,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:28",{"_index":3071,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:31",{"_index":3081,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:34",{"_index":3079,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:36",{"_index":3072,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["behavior.component.ts:37",{"_index":3246,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:38",{"_index":3077,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:40",{"_index":3062,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["behavior.component.ts:41",{"_index":3343,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:43",{"_index":3069,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:44",{"_index":3345,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:47",{"_index":3346,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:49",{"_index":3063,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["behavior.component.ts:50",{"_index":3329,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:53",{"_index":3332,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:54",{"_index":3064,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["behavior.component.ts:56",{"_index":3326,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:58",{"_index":3066,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["behavior.component.ts:59",{"_index":3334,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:62",{"_index":3336,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:65",{"_index":3348,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:68",{"_index":3322,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:71",{"_index":3324,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:72",{"_index":3068,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["behavior.component.ts:74",{"_index":3350,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:77",{"_index":3338,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:80",{"_index":3231,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:83",{"_index":3067,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:86",{"_index":3340,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:89",{"_index":3330,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:90",{"_index":3234,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:92",{"_index":3314,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:96",{"_index":3327,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.module",{"_index":3430,"title":{},"body":{"modules/SpatialSearchUiModule.html":{}}}],["behavior.module.ts",{"_index":3112,"title":{},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{}}}],["behavior/spatial",{"_index":2912,"title":{},"body":{"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"coverage.html":{}}}],["behavioral",{"_index":3210,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["being",{"_index":3244,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/StoreModule.html":{},"changelog.html":{}}}],["beta",{"_index":4004,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":4057,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":397,"title":{},"body":{"interfaces/AppOptions.html":{},"components/FiltersContentComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{},"changelog.html":{}}}],["bind",{"_index":1097,"title":{},"body":{"interfaces/DataStateModel.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"dependencies.html":{}}}],["binds",{"_index":3639,"title":{},"body":{"injectables/ThemingService.html":{}}}],["black",{"_index":3410,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["bladder",{"_index":1342,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bladder.svg",{"_index":1344,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["blob",{"_index":3889,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["bloc",{"_index":3605,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["block",{"_index":473,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"modules/SpatialSearchUiModule.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["block.spatialentityid",{"_index":3498,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["blocks",{"_index":3384,"title":{},"body":{"components/SpatialSearchUiComponent.html":{},"components/TissueBlockListComponent.html":{},"changelog.html":{}}}],["blood",{"_index":1345,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["blood.svg",{"_index":1346,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bmi",{"_index":4027,"title":{},"body":{"changelog.html":{}}}],["bmirange",{"_index":1122,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/variables.html":{}}}],["board",{"_index":4272,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":260,"title":{},"body":{"interfaces/AppOptions.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateSpatialSearch.html":{},"changelog.html":{},"dependencies.html":{}}}],["bodyui",{"_index":243,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["bodyuicomponent",{"_index":193,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["bodyuimodule",{"_index":104,"title":{},"body":{"modules/AppModule.html":{},"modules/SpatialSearchUiModule.html":{}}}],["bold",{"_index":705,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["bone",{"_index":1347,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["boolean",{"_index":166,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"interfaces/TermResult.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/functions.html":{}}}],["booleaninput",{"_index":2174,"title":{},"body":{"classes/InitializationState.html":{}}}],["bootstrap",{"_index":3636,"title":{},"body":{"injectables/ThemingService.html":{}}}],["border",{"_index":1516,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["both",{"_index":1119,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/FiltersContentComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["bottom",{"_index":701,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ViewerComponent.html":{}}}],["bound",{"_index":1756,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["bounds",{"_index":3380,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["box",{"_index":1541,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"changelog.html":{}}}],["brain",{"_index":1350,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["brain.svg",{"_index":1351,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["branch",{"_index":229,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["break",{"_index":3257,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["breaking",{"_index":4094,"title":{},"body":{"changelog.html":{}}}],["breaks",{"_index":2356,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["breast.svg",{"_index":1380,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bringing",{"_index":4104,"title":{},"body":{"changelog.html":{}}}],["bronchus",{"_index":1375,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bronchus.svg",{"_index":1377,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["browse",{"_index":4613,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":101,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"modules/DrawerModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ResultsBrowserComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"dependencies.html":{},"modules.html":{}}}],["browser'},{'name",{"_index":587,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["browser.component",{"_index":2903,"title":{},"body":{"modules/ResultsBrowserModule.html":{}}}],["browser.component.html",{"_index":2828,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.scss",{"_index":2827,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts",{"_index":2819,"title":{},"body":{"components/ResultsBrowserComponent.html":{},"coverage.html":{}}}],["browser.component.ts:102",{"_index":2868,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:111",{"_index":2857,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:115",{"_index":2865,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:24",{"_index":2845,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:29",{"_index":2842,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:34",{"_index":2846,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:36",{"_index":2844,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:38",{"_index":2843,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:44",{"_index":2850,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:49",{"_index":2855,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:54",{"_index":2853,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:56",{"_index":2848,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:58",{"_index":2849,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:64",{"_index":2841,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:79",{"_index":2862,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:93",{"_index":2859,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.module",{"_index":129,"title":{},"body":{"modules/AppModule.html":{}}}],["browser.module.ts",{"_index":2900,"title":{},"body":{"modules/ResultsBrowserModule.html":{}}}],["browser/animations",{"_index":103,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{}}}],["browser/donor",{"_index":1445,"title":{},"body":{"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"coverage.html":{}}}],["browser/results",{"_index":128,"title":{},"body":{"modules/AppModule.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"coverage.html":{}}}],["browser/tissue",{"_index":3763,"title":{},"body":{"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"coverage.html":{}}}],["browseranimationsmodule",{"_index":102,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{}}}],["browserify",{"_index":4485,"title":{},"body":{"dependencies.html":{}}}],["browsermodule",{"_index":99,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{}}}],["browsing",{"_index":4317,"title":{},"body":{"changelog.html":{}}}],["bubble_chart",{"_index":1504,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["bug",{"_index":3957,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":4515,"title":{},"body":{"index.html":{}}}],["builds",{"_index":4000,"title":{},"body":{"changelog.html":{}}}],["builtin_parsers",{"_index":524,"title":{},"body":{"components/AppWebComponent.html":{}}}],["builtin_parsers.boolean",{"_index":551,"title":{},"body":{"components/AppWebComponent.html":{}}}],["builtin_parsers.json(value",{"_index":536,"title":{},"body":{"components/AppWebComponent.html":{}}}],["button",{"_index":1046,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["button'},{'name",{"_index":618,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["button.component",{"_index":1596,"title":{},"body":{"modules/DrawerModule.html":{}}}],["button.component.html",{"_index":3800,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.scss",{"_index":3799,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts",{"_index":3798,"title":{},"body":{"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["button.component.ts:19",{"_index":3805,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:22",{"_index":3806,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:27",{"_index":3816,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:38",{"_index":3813,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:40",{"_index":3812,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:42",{"_index":3803,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:65",{"_index":3809,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:75",{"_index":3810,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:85",{"_index":3808,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:97",{"_index":3811,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button/toggle",{"_index":1595,"title":{},"body":{"modules/DrawerModule.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["buttonclicked",{"_index":3053,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["buttons",{"_index":3408,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["c",{"_index":4564,"title":{},"body":{"license.html":{}}}],["c.color",{"_index":790,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["cache",{"_index":4431,"title":{},"body":{"dependencies.html":{}}}],["cacheable",{"_index":4488,"title":{},"body":{"dependencies.html":{}}}],["cached",{"_index":2248,"title":{},"body":{"classes/InitializationState.html":{}}}],["calc",{"_index":3829,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["calc(100",{"_index":1021,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["calc(100vh",{"_index":2893,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["calc(50",{"_index":2207,"title":{},"body":{"classes/InitializationState.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["calculated",{"_index":2240,"title":{},"body":{"classes/InitializationState.html":{}}}],["call",{"_index":370,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["callable",{"_index":4507,"title":{},"body":{"miscellaneous/functions.html":{}}}],["callables",{"_index":4504,"title":{},"body":{"miscellaneous/functions.html":{}}}],["callback",{"_index":2495,"title":{},"body":{"components/OntologySearchComponent.html":{},"changelog.html":{}}}],["called",{"_index":1143,"title":{},"body":{"interfaces/DataStateModel.html":{},"classes/InitializationState.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"injectables/ThemingService.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["calls",{"_index":3921,"title":{},"body":{"changelog.html":{}}}],["calltoactionstate",{"_index":3564,"title":{},"body":{"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["camera",{"_index":3396,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["cancelregistration",{"_index":4065,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":4255,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":4436,"title":{},"body":{"dependencies.html":{}}}],["capitalize",{"_index":3176,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["capitalize(name",{"_index":3181,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["capitalize(sex",{"_index":3180,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["captures",{"_index":400,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/OntologySelectionComponent.html":{}}}],["card",{"_index":1448,"title":{},"body":{"components/DonorCardComponent.html":{},"changelog.html":{}}}],["card'},{'name",{"_index":568,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["card.component",{"_index":1585,"title":{},"body":{"modules/DonorCardModule.html":{}}}],["card.component.html",{"_index":1452,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.scss",{"_index":1451,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts",{"_index":1447,"title":{},"body":{"components/DonorCardComponent.html":{},"coverage.html":{}}}],["card.component.ts:17",{"_index":1473,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:20",{"_index":1469,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:23",{"_index":1468,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:26",{"_index":1462,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:29",{"_index":1466,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:31",{"_index":1467,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:34",{"_index":1470,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:37",{"_index":1471,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:40",{"_index":1461,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:52",{"_index":1474,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:62",{"_index":1486,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:76",{"_index":1478,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.module",{"_index":2904,"title":{},"body":{"modules/ResultsBrowserModule.html":{}}}],["card.module.ts",{"_index":1581,"title":{},"body":{"modules/DonorCardModule.html":{}}}],["card/donor",{"_index":1446,"title":{},"body":{"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"modules/ResultsBrowserModule.html":{},"coverage.html":{}}}],["cards",{"_index":3672,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel",{"_index":266,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["carousel'},{'name",{"_index":610,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["carousel.component",{"_index":3746,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{}}}],["carousel.component.html",{"_index":3674,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.scss",{"_index":3673,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts",{"_index":3669,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["carousel.component.ts:29",{"_index":3683,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts:34",{"_index":3681,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts:39",{"_index":3682,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts:44",{"_index":3713,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts:49",{"_index":3716,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts:56",{"_index":3720,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts:63",{"_index":3697,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts:75",{"_index":3711,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts:89",{"_index":3686,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.module",{"_index":1584,"title":{},"body":{"modules/DonorCardModule.html":{}}}],["carousel.module.ts",{"_index":3742,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{}}}],["carousel/thumbnail",{"_index":1583,"title":{},"body":{"modules/DonorCardModule.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["case",{"_index":1000,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"index.html":{}}}],["cases",{"_index":4228,"title":{},"body":{"changelog.html":{}}}],["catch",{"_index":2135,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["cause",{"_index":3849,"title":{},"body":{"components/ViewerComponent.html":{}}}],["ccf",{"_index":34,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"index.html":{}}}],["ccf's",{"_index":4189,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":3904,"title":{},"body":{"changelog.html":{}}}],["ccfapiconfiguration",{"_index":1063,"title":{},"body":{"modules/CoreModule.html":{}}}],["ccfapimodule",{"_index":1064,"title":{},"body":{"modules/CoreModule.html":{}}}],["ccfapimodule.forroot",{"_index":1078,"title":{},"body":{"modules/CoreModule.html":{}}}],["ccfdatabase",{"_index":4632,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfdatabasedatasourceservice",{"_index":1435,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["ccfdatabaseoptions",{"_index":161,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/WorkerDataSourceService.html":{}}}],["ccfdrawer",{"_index":2195,"title":{},"body":{"classes/InitializationState.html":{}}}],["ccfdrawercontainer",{"_index":820,"title":{},"body":{"components/ContainerComponent.html":{}}}],["cdk",{"_index":1655,"title":{},"body":{"components/DropdownComponent.html":{}}}],["cdkportal",{"_index":1767,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["cdr",{"_index":320,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["cdr.markforcheck",{"_index":339,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["ceil",{"_index":1800,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["cell",{"_index":262,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"components/SpatialSearchUiComponent.html":{},"changelog.html":{}}}],["celltypes",{"_index":2692,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["celltypes(state",{"_index":3445,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["celltypeselectionlabel",{"_index":261,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["celltypestreemodel",{"_index":1089,"title":{},"body":{"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{}}}],["celltypestreemodel(state",{"_index":1309,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["celltypetermoccurencesdata",{"_index":1201,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["celltypetermoccurencesdata$.pipe(take(1)).subscribe(celltypetermsfulldata",{"_index":1249,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["celltypetermoccurencesdata(filter",{"_index":1295,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["celltypetermoccurencesdataquerystatus",{"_index":1175,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["celltypetermoccurrences",{"_index":1219,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["celltypeterms",{"_index":300,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"miscellaneous/variables.html":{}}}],["celltypetermsfulldata",{"_index":1187,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["celltypetreemodel",{"_index":245,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["center",{"_index":944,"title":{},"body":{"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"index.html":{}}}],["certain",{"_index":2808,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["cff",{"_index":1024,"title":{},"body":{"components/ContentComponent.html":{}}}],["change",{"_index":841,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/InitializationState.html":{},"components/OntologySelectionComponent.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{},"index.html":{}}}],["changed",{"_index":916,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"changelog.html":{}}}],["changedetection",{"_index":239,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["changedetectionstrategy",{"_index":167,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["changedetectionstrategy.onpush",{"_index":240,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["changedetectorref",{"_index":168,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["changelog",{"_index":3895,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changeposition",{"_index":3221,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["changes",{"_index":361,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"classes/InitializationState.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["changes.selection",{"_index":1789,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["changes.valuerange",{"_index":1787,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["channel",{"_index":824,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{}}}],["channels",{"_index":2412,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["charge",{"_index":230,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ResultsBrowserComponent.html":{},"license.html":{}}}],["checkbox",{"_index":630,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{}}}],["checkbox'},{'name",{"_index":561,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["checkbox.component",{"_index":724,"title":{},"body":{"modules/CheckboxModule.html":{}}}],["checkbox.component.html",{"_index":632,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["checkbox.component.scss",{"_index":631,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["checkbox.mat",{"_index":690,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["checkboxcomponent",{"_index":560,"title":{"components/CheckboxComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["checkboxes",{"_index":627,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["checkboxmodule",{"_index":715,"title":{"modules/CheckboxModule.html":{}},"body":{"modules/CheckboxModule.html":{},"modules/FiltersContentModule.html":{},"modules.html":{},"overview.html":{}}}],["checked",{"_index":657,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{}}}],["checked.mat",{"_index":1522,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["checkmark",{"_index":692,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["checks",{"_index":973,"title":{},"body":{"components/ContentComponent.html":{}}}],["checkselected",{"_index":1527,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["child",{"_index":1533,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySelectionComponent.html":{},"miscellaneous/typealiases.html":{}}}],["children",{"_index":2028,"title":{},"body":{"classes/FlatNode.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["choices",{"_index":1609,"title":{},"body":{"components/DropdownComponent.html":{}}}],["choose",{"_index":4208,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":4187,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":4605,"title":{},"body":{"license.html":{}}}],["class",{"_index":0,"title":{"classes/AddSearch.html":{},"classes/DataStateSelectors.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"classes/InitializationState.html":{},"classes/MessageChannel.html":{},"classes/MoveToNode.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"classes/SpatialSearchFilterSelectors.html":{},"classes/SpatialSearchUiSelectors.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{}},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["class.ccf",{"_index":3801,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["class.cff",{"_index":953,"title":{},"body":{"components/ContentComponent.html":{}}}],["class.hidden]=\"hidden",{"_index":1930,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["class=\"filter",{"_index":1928,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["classend",{"_index":2213,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["classes",{"_index":2,"title":{},"body":{"classes/AddSearch.html":{},"classes/DataStateSelectors.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"classes/InitializationState.html":{},"classes/MessageChannel.html":{},"classes/MoveToNode.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"classes/SpatialSearchFilterSelectors.html":{},"classes/SpatialSearchUiSelectors.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"overview.html":{}}}],["classname",{"_index":825,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["clean",{"_index":2420,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{}}}],["cleans",{"_index":857,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["cleanup",{"_index":4003,"title":{},"body":{"changelog.html":{}}}],["clear",{"_index":3856,"title":{},"body":{"components/ViewerComponent.html":{}}}],["click",{"_index":1481,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchUiComponent.html":{},"changelog.html":{}}}],["clicked",{"_index":1472,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["clicking",{"_index":4092,"title":{},"body":{"changelog.html":{}}}],["clicks",{"_index":2943,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["client",{"_index":1066,"title":{},"body":{"modules/CoreModule.html":{},"index.html":{}}}],["clientheight",{"_index":2881,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["clip",{"_index":3735,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["close",{"_index":444,"title":{},"body":{"interfaces/AppOptions.html":{},"components/FiltersPopoverComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ViewerComponent.html":{}}}],["closed",{"_index":2180,"title":{},"body":{"classes/InitializationState.html":{},"components/ViewerComponent.html":{},"miscellaneous/typealiases.html":{}}}],["closedialog",{"_index":3118,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["closeexpanded",{"_index":2273,"title":{},"body":{"classes/InitializationState.html":{}}}],["closeiframeviewer",{"_index":446,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["closeopendone",{"_index":2280,"title":{},"body":{"classes/InitializationState.html":{}}}],["closes",{"_index":1720,"title":{},"body":{"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["closesliderpopover",{"_index":1686,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["closesliderpopover(target",{"_index":1726,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["closespatialsearch",{"_index":3360,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["cls",{"_index":3630,"title":{},"body":{"injectables/ThemingService.html":{}}}],["clsname",{"_index":1453,"title":{},"body":{"components/DonorCardComponent.html":{},"components/TissueSectionVisComponent.html":{}}}],["cluster_appmodule",{"_index":58,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_declarations",{"_index":59,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_imports",{"_index":60,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_checkboxmodule",{"_index":716,"title":{},"body":{"modules/CheckboxModule.html":{},"overview.html":{}}}],["cluster_checkboxmodule_declarations",{"_index":718,"title":{},"body":{"modules/CheckboxModule.html":{},"overview.html":{}}}],["cluster_checkboxmodule_exports",{"_index":717,"title":{},"body":{"modules/CheckboxModule.html":{},"overview.html":{}}}],["cluster_coremodule",{"_index":1051,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_coremodule_exports",{"_index":1053,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_coremodule_imports",{"_index":1052,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_donorcardmodule",{"_index":1575,"title":{},"body":{"modules/DonorCardModule.html":{},"overview.html":{}}}],["cluster_donorcardmodule_declarations",{"_index":1578,"title":{},"body":{"modules/DonorCardModule.html":{},"overview.html":{}}}],["cluster_donorcardmodule_exports",{"_index":1577,"title":{},"body":{"modules/DonorCardModule.html":{},"overview.html":{}}}],["cluster_donorcardmodule_imports",{"_index":1576,"title":{},"body":{"modules/DonorCardModule.html":{},"overview.html":{}}}],["cluster_drawermodule",{"_index":1588,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_drawermodule_declarations",{"_index":1589,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_drawermodule_exports",{"_index":1590,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_dropdownmodule",{"_index":1662,"title":{},"body":{"modules/DropdownModule.html":{},"overview.html":{}}}],["cluster_dropdownmodule_declarations",{"_index":1664,"title":{},"body":{"modules/DropdownModule.html":{},"overview.html":{}}}],["cluster_dropdownmodule_exports",{"_index":1663,"title":{},"body":{"modules/DropdownModule.html":{},"overview.html":{}}}],["cluster_dualslidermodule",{"_index":1847,"title":{},"body":{"modules/DualSliderModule.html":{},"overview.html":{}}}],["cluster_dualslidermodule_declarations",{"_index":1848,"title":{},"body":{"modules/DualSliderModule.html":{},"overview.html":{}}}],["cluster_dualslidermodule_exports",{"_index":1849,"title":{},"body":{"modules/DualSliderModule.html":{},"overview.html":{}}}],["cluster_filterscontentmodule",{"_index":1944,"title":{},"body":{"modules/FiltersContentModule.html":{},"overview.html":{}}}],["cluster_filterscontentmodule_declarations",{"_index":1946,"title":{},"body":{"modules/FiltersContentModule.html":{},"overview.html":{}}}],["cluster_filterscontentmodule_exports",{"_index":1947,"title":{},"body":{"modules/FiltersContentModule.html":{},"overview.html":{}}}],["cluster_filterscontentmodule_imports",{"_index":1945,"title":{},"body":{"modules/FiltersContentModule.html":{}}}],["cluster_filterspopovermodule",{"_index":1997,"title":{},"body":{"modules/FiltersPopoverModule.html":{},"overview.html":{}}}],["cluster_filterspopovermodule_declarations",{"_index":1999,"title":{},"body":{"modules/FiltersPopoverModule.html":{},"overview.html":{}}}],["cluster_filterspopovermodule_exports",{"_index":1998,"title":{},"body":{"modules/FiltersPopoverModule.html":{},"overview.html":{}}}],["cluster_filterspopovermodule_imports",{"_index":2000,"title":{},"body":{"modules/FiltersPopoverModule.html":{}}}],["cluster_headermodule",{"_index":2088,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_headermodule_declarations",{"_index":2089,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_headermodule_exports",{"_index":2090,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_ontologyexplorationmodule",{"_index":2443,"title":{},"body":{"modules/OntologyExplorationModule.html":{},"overview.html":{}}}],["cluster_ontologyexplorationmodule_exports",{"_index":2445,"title":{},"body":{"modules/OntologyExplorationModule.html":{},"overview.html":{}}}],["cluster_ontologyexplorationmodule_imports",{"_index":2444,"title":{},"body":{"modules/OntologyExplorationModule.html":{},"overview.html":{}}}],["cluster_ontologysearchmodule",{"_index":2545,"title":{},"body":{"modules/OntologySearchModule.html":{},"overview.html":{}}}],["cluster_ontologysearchmodule_declarations",{"_index":2546,"title":{},"body":{"modules/OntologySearchModule.html":{},"overview.html":{}}}],["cluster_ontologysearchmodule_exports",{"_index":2547,"title":{},"body":{"modules/OntologySearchModule.html":{},"overview.html":{}}}],["cluster_ontologyselectionmodule",{"_index":2653,"title":{},"body":{"modules/OntologySelectionModule.html":{},"overview.html":{}}}],["cluster_ontologyselectionmodule_declarations",{"_index":2654,"title":{},"body":{"modules/OntologySelectionModule.html":{},"overview.html":{}}}],["cluster_ontologyselectionmodule_exports",{"_index":2657,"title":{},"body":{"modules/OntologySelectionModule.html":{},"overview.html":{}}}],["cluster_ontologyselectionmodule_imports",{"_index":2655,"title":{},"body":{"modules/OntologySelectionModule.html":{}}}],["cluster_ontologyselectionmodule_ontologyselectioncomponent_providers",{"_index":2656,"title":{},"body":{"modules/OntologySelectionModule.html":{},"overview.html":{}}}],["cluster_ontologytreemodule",{"_index":2660,"title":{},"body":{"modules/OntologyTreeModule.html":{},"overview.html":{}}}],["cluster_ontologytreemodule_declarations",{"_index":2661,"title":{},"body":{"modules/OntologyTreeModule.html":{},"overview.html":{}}}],["cluster_ontologytreemodule_exports",{"_index":2662,"title":{},"body":{"modules/OntologyTreeModule.html":{},"overview.html":{}}}],["cluster_resultsbrowsermodule",{"_index":2896,"title":{},"body":{"modules/ResultsBrowserModule.html":{},"overview.html":{}}}],["cluster_resultsbrowsermodule_declarations",{"_index":2898,"title":{},"body":{"modules/ResultsBrowserModule.html":{},"overview.html":{}}}],["cluster_resultsbrowsermodule_exports",{"_index":2899,"title":{},"body":{"modules/ResultsBrowserModule.html":{},"overview.html":{}}}],["cluster_resultsbrowsermodule_imports",{"_index":2897,"title":{},"body":{"modules/ResultsBrowserModule.html":{}}}],["cluster_runspatialsearchmodule",{"_index":2919,"title":{},"body":{"modules/RunSpatialSearchModule.html":{},"overview.html":{}}}],["cluster_runspatialsearchmodule_declarations",{"_index":2920,"title":{},"body":{"modules/RunSpatialSearchModule.html":{},"overview.html":{}}}],["cluster_runspatialsearchmodule_exports",{"_index":2921,"title":{},"body":{"modules/RunSpatialSearchModule.html":{},"overview.html":{}}}],["cluster_spatialsearchconfigbehaviormodule",{"_index":3107,"title":{},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchconfigbehaviormodule_declarations",{"_index":3108,"title":{},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchconfigbehaviormodule_exports",{"_index":3109,"title":{},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchconfigbehaviormodule_imports",{"_index":3110,"title":{},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchconfigmodule",{"_index":3140,"title":{},"body":{"modules/SpatialSearchConfigModule.html":{},"overview.html":{}}}],["cluster_spatialsearchconfigmodule_declarations",{"_index":3142,"title":{},"body":{"modules/SpatialSearchConfigModule.html":{},"overview.html":{}}}],["cluster_spatialsearchconfigmodule_exports",{"_index":3141,"title":{},"body":{"modules/SpatialSearchConfigModule.html":{},"overview.html":{}}}],["cluster_spatialsearchkeyboarduibehaviormodule",{"_index":3267,"title":{},"body":{"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchkeyboarduibehaviormodule_declarations",{"_index":3270,"title":{},"body":{"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchkeyboarduibehaviormodule_exports",{"_index":3269,"title":{},"body":{"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchkeyboarduibehaviormodule_imports",{"_index":3268,"title":{},"body":{"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchkeyboarduimodule",{"_index":3304,"title":{},"body":{"modules/SpatialSearchKeyboardUIModule.html":{},"overview.html":{}}}],["cluster_spatialsearchkeyboarduimodule_declarations",{"_index":3305,"title":{},"body":{"modules/SpatialSearchKeyboardUIModule.html":{},"overview.html":{}}}],["cluster_spatialsearchkeyboarduimodule_exports",{"_index":3306,"title":{},"body":{"modules/SpatialSearchKeyboardUIModule.html":{},"overview.html":{}}}],["cluster_spatialsearchuibehaviormodule",{"_index":3354,"title":{},"body":{"modules/SpatialSearchUiBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchuibehaviormodule_declarations",{"_index":3355,"title":{},"body":{"modules/SpatialSearchUiBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchuibehaviormodule_exports",{"_index":3357,"title":{},"body":{"modules/SpatialSearchUiBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchuibehaviormodule_imports",{"_index":3356,"title":{},"body":{"modules/SpatialSearchUiBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchuimodule",{"_index":3419,"title":{},"body":{"modules/SpatialSearchUiModule.html":{},"overview.html":{}}}],["cluster_spatialsearchuimodule_declarations",{"_index":3422,"title":{},"body":{"modules/SpatialSearchUiModule.html":{},"overview.html":{}}}],["cluster_spatialsearchuimodule_exports",{"_index":3421,"title":{},"body":{"modules/SpatialSearchUiModule.html":{},"overview.html":{}}}],["cluster_spatialsearchuimodule_imports",{"_index":3420,"title":{},"body":{"modules/SpatialSearchUiModule.html":{},"overview.html":{}}}],["cluster_spinneroverlaymodule",{"_index":3548,"title":{},"body":{"modules/SpinnerOverlayModule.html":{},"overview.html":{}}}],["cluster_spinneroverlaymodule_declarations",{"_index":3549,"title":{},"body":{"modules/SpinnerOverlayModule.html":{},"overview.html":{}}}],["cluster_spinneroverlaymodule_exports",{"_index":3550,"title":{},"body":{"modules/SpinnerOverlayModule.html":{},"overview.html":{}}}],["cluster_termoccurrencelistmodule",{"_index":3606,"title":{},"body":{"modules/TermOccurrenceListModule.html":{},"overview.html":{}}}],["cluster_termoccurrencelistmodule_declarations",{"_index":3607,"title":{},"body":{"modules/TermOccurrenceListModule.html":{},"overview.html":{}}}],["cluster_termoccurrencelistmodule_exports",{"_index":3608,"title":{},"body":{"modules/TermOccurrenceListModule.html":{},"overview.html":{}}}],["cluster_themingmodule",{"_index":3611,"title":{},"body":{"modules/ThemingModule.html":{},"overview.html":{}}}],["cluster_themingmodule_providers",{"_index":3612,"title":{},"body":{"modules/ThemingModule.html":{},"overview.html":{}}}],["cluster_thumbnailcarouselmodule",{"_index":3739,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{},"overview.html":{}}}],["cluster_thumbnailcarouselmodule_declarations",{"_index":3741,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{},"overview.html":{}}}],["cluster_thumbnailcarouselmodule_exports",{"_index":3740,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{},"overview.html":{}}}],["cluster_tissueblocklistmodule",{"_index":3758,"title":{},"body":{"modules/TissueBlockListModule.html":{},"overview.html":{}}}],["cluster_tissueblocklistmodule_declarations",{"_index":3759,"title":{},"body":{"modules/TissueBlockListModule.html":{},"overview.html":{}}}],["cluster_tissueblocklistmodule_exports",{"_index":3760,"title":{},"body":{"modules/TissueBlockListModule.html":{},"overview.html":{}}}],["cluster_tissuesectionvismodule",{"_index":3792,"title":{},"body":{"modules/TissueSectionVisModule.html":{},"overview.html":{}}}],["cluster_tissuesectionvismodule_declarations",{"_index":3793,"title":{},"body":{"modules/TissueSectionVisModule.html":{},"overview.html":{}}}],["cluster_tissuesectionvismodule_exports",{"_index":3794,"title":{},"body":{"modules/TissueSectionVisModule.html":{},"overview.html":{}}}],["cluster_viewermodule",{"_index":3860,"title":{},"body":{"modules/ViewerModule.html":{},"overview.html":{}}}],["cluster_viewermodule_declarations",{"_index":3861,"title":{},"body":{"modules/ViewerModule.html":{},"overview.html":{}}}],["cluster_viewermodule_exports",{"_index":3862,"title":{},"body":{"modules/ViewerModule.html":{},"overview.html":{}}}],["coalescing",{"_index":2812,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["code",{"_index":3996,"title":{},"body":{"changelog.html":{}}}],["codebase",{"_index":4199,"title":{},"body":{"changelog.html":{}}}],["codeblob",{"_index":3888,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["codex",{"_index":4240,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":4287,"title":{},"body":{"changelog.html":{}}}],["coercebooleanproperty",{"_index":2175,"title":{},"body":{"classes/InitializationState.html":{}}}],["collaboration",{"_index":4197,"title":{},"body":{"changelog.html":{}}}],["collapse",{"_index":2276,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["collapsed",{"_index":2185,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["collapses",{"_index":2272,"title":{},"body":{"classes/InitializationState.html":{}}}],["collisions",{"_index":3495,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{},"changelog.html":{}}}],["collisions.has(s['@id",{"_index":3501,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["color",{"_index":355,"title":{"interfaces/Color.html":{}},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/DonorCardComponent.html":{},"components/HeaderComponent.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"modules/StoreModule.html":{},"components/TissueSectionVisComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["color.color",{"_index":791,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["color.rank",{"_index":2371,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["color].concat(colorsavailable",{"_index":799,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorassignments",{"_index":763,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["colorassignments[key",{"_index":778,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorassignmentslist",{"_index":765,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorassignmentslist.filter(a",{"_index":800,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorassignmentslist.reduce>>((acc",{"_index":793,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorassignmentslist.slice(0",{"_index":787,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorassignmentslist[colorassignmentslist.length",{"_index":785,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorassignmentstate",{"_index":771,"title":{"injectables/ColorAssignmentState.html":{}},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["colorassignmentstatemodel",{"_index":760,"title":{"interfaces/ColorAssignmentStateModel.html":{}},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"coverage.html":{}}}],["colorizing",{"_index":4248,"title":{},"body":{"changelog.html":{}}}],["colorpalette",{"_index":761,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colors",{"_index":768,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["colors[node['@id']].rgba",{"_index":3030,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["colors[tissueblock.spatialentityid",{"_index":2369,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["colorsavailable",{"_index":762,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorsavailable.filter(c",{"_index":789,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorsavailable.length",{"_index":783,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorsavailable[0",{"_index":784,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["column",{"_index":1829,"title":{},"body":{"components/DualSliderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ViewerComponent.html":{}}}],["columns",{"_index":634,"title":{},"body":{"components/CheckboxComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["combination",{"_index":4209,"title":{},"body":{"changelog.html":{}}}],["combined",{"_index":1049,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["combinelatest",{"_index":186,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.theme",{"_index":335,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["combines",{"_index":1148,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["come",{"_index":4244,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":4237,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":4439,"title":{},"body":{"dependencies.html":{}}}],["comma",{"_index":431,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["common",{"_index":1245,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"index.html":{}}}],["commonmodule",{"_index":721,"title":{},"body":{"modules/CheckboxModule.html":{},"modules/DonorCardModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{}}}],["compare",{"_index":1279,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["compatibility",{"_index":3581,"title":{},"body":{"modules/StoreModule.html":{}}}],["completed",{"_index":1136,"title":{},"body":{"interfaces/DataStateModel.html":{},"classes/InitializationState.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{}}}],["completion",{"_index":2278,"title":{},"body":{"classes/InitializationState.html":{}}}],["complexity",{"_index":4117,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":3994,"title":{},"body":{"changelog.html":{}}}],["componenet",{"_index":2457,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["component",{"_index":169,"title":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["component's",{"_index":1702,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["component.component",{"_index":118,"title":{},"body":{"modules/AppModule.html":{}}}],["component.component.ts",{"_index":492,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["component.component.ts:31",{"_index":510,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:33",{"_index":514,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:34",{"_index":515,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:35",{"_index":513,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:36",{"_index":517,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:37",{"_index":516,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:39",{"_index":522,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:40",{"_index":520,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:41",{"_index":521,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:42",{"_index":511,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:43",{"_index":512,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:44",{"_index":519,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:45",{"_index":518,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:47",{"_index":508,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component_template",{"_index":557,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["componentref",{"_index":3633,"title":{},"body":{"injectables/ThemingService.html":{}}}],["components",{"_index":228,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"overview.html":{},"miscellaneous/typealiases.html":{}}}],["composes",{"_index":2583,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["computations",{"_index":2558,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["computes",{"_index":1772,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["comunica/query",{"_index":4406,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":4441,"title":{},"body":{"dependencies.html":{}}}],["concat(colorassignmentslist",{"_index":792,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["condition",{"_index":2604,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["conditions",{"_index":4589,"title":{},"body":{"license.html":{}}}],["config",{"_index":591,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["config'},{'name",{"_index":594,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["config.component",{"_index":38,"title":{},"body":{"classes/AddSearch.html":{},"components/FiltersContentComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["config.component.html",{"_index":3117,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.scss",{"_index":3116,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts",{"_index":3115,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["config.component.ts:17",{"_index":3129,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts:20",{"_index":3120,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts:23",{"_index":3121,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts:26",{"_index":3122,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts:29",{"_index":3128,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts:32",{"_index":3127,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts:35",{"_index":3123,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts:38",{"_index":3125,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts:41",{"_index":3126,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.isolated",{"_index":2414,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["config.module",{"_index":3114,"title":{},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{}}}],["config.module.ts",{"_index":3143,"title":{},"body":{"modules/SpatialSearchConfigModule.html":{}}}],["config/spatial",{"_index":37,"title":{},"body":{"classes/AddSearch.html":{},"components/FiltersContentComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["configstore",{"_index":509,"title":{},"body":{"components/AppWebComponent.html":{}}}],["configuration",{"_index":2385,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["configurations",{"_index":4063,"title":{},"body":{"changelog.html":{}}}],["configure",{"_index":3130,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["confirmation",{"_index":4032,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":4070,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":2435,"title":{},"body":{"injectables/MessageService.html":{},"changelog.html":{}}}],["connect(source",{"_index":2423,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["connected",{"_index":863,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["connectedposition",{"_index":1774,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["connection",{"_index":4611,"title":{},"body":{"license.html":{}}}],["connects",{"_index":2422,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["consentservice",{"_index":184,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["consider",{"_index":3580,"title":{},"body":{"modules/StoreModule.html":{}}}],["consortium",{"_index":4565,"title":{},"body":{"license.html":{}}}],["const",{"_index":150,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/variables.html":{}}}],["constantly",{"_index":3851,"title":{},"body":{"components/ViewerComponent.html":{}}}],["construct",{"_index":4505,"title":{},"body":{"miscellaneous/functions.html":{}}}],["constructor",{"_index":16,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"modules/ThumbnailCarouselModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/typealiases.html":{}}}],["constructor(@inject(message_service_config",{"_index":2413,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["constructor(@optional",{"_index":1081,"title":{},"body":{"modules/CoreModule.html":{},"injectables/ThemingService.html":{}}}],["constructor(config",{"_index":2436,"title":{},"body":{"injectables/MessageService.html":{}}}],["constructor(configstore",{"_index":507,"title":{},"body":{"components/AppWebComponent.html":{}}}],["constructor(dataservice",{"_index":2323,"title":{},"body":{"injectables/ListResultsState.html":{},"injectables/SceneState.html":{}}}],["constructor(datasource",{"_index":3520,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["constructor(defaulttheme",{"_index":3625,"title":{},"body":{"injectables/ThemingService.html":{}}}],["constructor(dialog",{"_index":3056,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["constructor(dialogref",{"_index":3313,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["constructor(drawer",{"_index":3802,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["constructor(execute",{"_index":3033,"title":{},"body":{"classes/SetExecuteSearchOnGenerate.html":{}}}],["constructor(filter",{"_index":3831,"title":{},"body":{"classes/UpdateFilter.html":{}}}],["constructor(ga",{"_index":638,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["constructor(globalconfig",{"_index":3869,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["constructor(id",{"_index":2815,"title":{},"body":{"classes/RemoveSearch.html":{}}}],["constructor(items",{"_index":3041,"title":{},"body":{"classes/SetSelectedSearches.html":{}}}],["constructor(messageservice",{"_index":837,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{}}}],["constructor(node",{"_index":2441,"title":{},"body":{"classes/MoveToNode.html":{}}}],["constructor(ontologysearchservice",{"_index":2631,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["constructor(ontologyservice",{"_index":2471,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["constructor(organid",{"_index":3035,"title":{},"body":{"classes/SetOrgan.html":{}}}],["constructor(original",{"_index":2009,"title":{},"body":{"classes/FlatNode.html":{}}}],["constructor(overlay",{"_index":1699,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["constructor(position",{"_index":3037,"title":{},"body":{"classes/SetPosition.html":{}}}],["constructor(private",{"_index":149,"title":{},"body":{"modules/AppModule.html":{},"components/CheckboxComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["constructor(public",{"_index":2514,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["constructor(radius",{"_index":3039,"title":{},"body":{"classes/SetRadius.html":{}}}],["constructor(readonly",{"_index":42,"title":{},"body":{"classes/AddSearch.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{}}}],["constructor(registry",{"_index":2148,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["constructor(sanitizer",{"_index":3840,"title":{},"body":{"components/ViewerComponent.html":{}}}],["constructor(sex",{"_index":17,"title":{},"body":{"classes/AddSearch.html":{},"classes/SetSex.html":{}}}],["constructor(source",{"_index":2428,"title":{},"body":{"classes/MessageChannel.html":{}}}],["constructor(store",{"_index":2906,"title":{},"body":{"components/RunSpatialSearchComponent.html":{}}}],["contain",{"_index":1036,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/HeaderComponent.html":{}}}],["container",{"_index":698,"title":{},"body":{"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TissueSectionVisComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["container'},{'name",{"_index":563,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["container.component.html",{"_index":823,"title":{},"body":{"components/ContainerComponent.html":{}}}],["container.component.scss",{"_index":822,"title":{},"body":{"components/ContainerComponent.html":{}}}],["container/container.component",{"_index":1594,"title":{},"body":{"modules/DrawerModule.html":{}}}],["containercomponent",{"_index":562,"title":{"components/ContainerComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"modules/DrawerModule.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["containerpayload",{"_index":1039,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["containers",{"_index":915,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"changelog.html":{}}}],["containing",{"_index":922,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ThumbnailCarouselComponent.html":{},"index.html":{}}}],["contains",{"_index":673,"title":{},"body":{"components/CheckboxComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/TermOccurrenceListComponent.html":{}}}],["content",{"_index":835,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ViewerComponent.html":{}}}],["content'},{'name",{"_index":565,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["content.component",{"_index":1954,"title":{},"body":{"modules/FiltersContentModule.html":{}}}],["content.component.html",{"_index":1860,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.scss",{"_index":945,"title":{},"body":{"components/ContentComponent.html":{},"components/FiltersContentComponent.html":{}}}],["content.component.ts",{"_index":1857,"title":{},"body":{"components/FiltersContentComponent.html":{},"coverage.html":{}}}],["content.component.ts:105",{"_index":1889,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:117",{"_index":1896,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:128",{"_index":1898,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:23",{"_index":1874,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:28",{"_index":1873,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:33",{"_index":1877,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:38",{"_index":1875,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:43",{"_index":1876,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:48",{"_index":1879,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:53",{"_index":1883,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:58",{"_index":1881,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:63",{"_index":1872,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:75",{"_index":1887,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:87",{"_index":1892,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:96",{"_index":1885,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.module",{"_index":2002,"title":{},"body":{"modules/FiltersPopoverModule.html":{}}}],["content.module.ts",{"_index":1948,"title":{},"body":{"modules/FiltersContentModule.html":{}}}],["content/content.component",{"_index":889,"title":{},"body":{"components/ContainerComponent.html":{},"modules/DrawerModule.html":{}}}],["content/filters",{"_index":1856,"title":{},"body":{"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"coverage.html":{}}}],["content1",{"_index":826,"title":{},"body":{"components/ContainerComponent.html":{}}}],["content2",{"_index":827,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren",{"_index":885,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren(contentcomponent",{"_index":866,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren(drawercomponent",{"_index":876,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentcomponent",{"_index":564,"title":{"components/ContentComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"modules/DrawerModule.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["contentcontainerchanged",{"_index":1028,"title":{"interfaces/ContentContainerChanged.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["contents",{"_index":475,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["contentsvisible",{"_index":1678,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["continue",{"_index":3124,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["contract",{"_index":4608,"title":{},"body":{"license.html":{}}}],["control",{"_index":372,"title":{},"body":{"interfaces/AppOptions.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"changelog.html":{}}}],["controls",{"_index":1616,"title":{},"body":{"components/DropdownComponent.html":{}}}],["convention",{"_index":485,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{}}}],["coordinate",{"_index":4509,"title":{},"body":{"index.html":{}}}],["copies",{"_index":4584,"title":{},"body":{"license.html":{}}}],["copy",{"_index":4571,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":4563,"title":{},"body":{"license.html":{}}}],["cord",{"_index":1402,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["cord.svg",{"_index":1403,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["core",{"_index":1082,"title":{},"body":{"modules/CoreModule.html":{}}}],["core/core.module",{"_index":120,"title":{},"body":{"modules/AppModule.html":{}}}],["core/models/list",{"_index":2874,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["core/models/ontology",{"_index":200,"title":{},"body":{"interfaces/AppOptions.html":{},"components/OntologySelectionComponent.html":{}}}],["core/services/app",{"_index":110,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{}}}],["core/services/ontology",{"_index":2512,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{}}}],["core/services/theming/theming.service",{"_index":203,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["core/store/action",{"_index":205,"title":{},"body":{"interfaces/AppOptions.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["core/store/data/data.selectors",{"_index":208,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["core/store/data/data.state",{"_index":211,"title":{},"body":{"interfaces/AppOptions.html":{},"components/FiltersContentComponent.html":{}}}],["core/store/list",{"_index":213,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["core/store/scene/scene.state",{"_index":217,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["core/store/spatial",{"_index":218,"title":{},"body":{"interfaces/AppOptions.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{}}}],["coremodule",{"_index":63,"title":{"modules/CoreModule.html":{}},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules.html":{},"overview.html":{}}}],["cors",{"_index":4443,"title":{},"body":{"dependencies.html":{}}}],["count",{"_index":2685,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["counter",{"_index":2392,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"miscellaneous/variables.html":{}}}],["counts",{"_index":3451,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{},"components/TermOccurrenceListComponent.html":{}}}],["counts[o.id",{"_index":2731,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["cover",{"_index":3733,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["coverage",{"_index":4268,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["create",{"_index":1701,"title":{},"body":{"components/DualSliderComponent.html":{},"classes/FlatNode.html":{}}}],["create(original",{"_index":2019,"title":{},"body":{"classes/FlatNode.html":{}}}],["createcustomelement",{"_index":90,"title":{},"body":{"modules/AppModule.html":{}}}],["createcustomelement(appwebcomponent",{"_index":152,"title":{},"body":{"modules/AppModule.html":{}}}],["created",{"_index":1757,"title":{},"body":{"components/DualSliderComponent.html":{},"classes/FlatNode.html":{},"changelog.html":{}}}],["createitem",{"_index":3200,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["createitem(sex",{"_index":3170,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["createitemdescription",{"_index":3201,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["createitemdescription(sex",{"_index":3175,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["createitemid",{"_index":3202,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["createitemid(search",{"_index":3173,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["creates",{"_index":309,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/functions.html":{}}}],["createselectionlabel(ontolgyselection",{"_index":423,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["createworker",{"_index":3867,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["createworker(_config",{"_index":3873,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["creating",{"_index":892,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/DataStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/functions.html":{}}}],["credits",{"_index":4550,"title":{},"body":{"index.html":{}}}],["criteria",{"_index":1705,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["css",{"_index":3684,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"dependencies.html":{}}}],["ctrlclick",{"_index":2981,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["ctx",{"_index":3204,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{},"injectables/SpatialSearchUiState.html":{}}}],["ctx.dispatch(actions).pipe",{"_index":2803,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["ctx.dispatch(new",{"_index":2716,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["ctx.getstate",{"_index":2709,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["ctx.patchstate",{"_index":2721,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["ctx.patchstate(data",{"_index":2789,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["ctx.setstate(append([this.createitem(sex",{"_index":3156,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["ctx.setstate(newitems",{"_index":3169,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["ctx.setstate(removeitem(item",{"_index":3159,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["cuboid",{"_index":4267,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":4266,"title":{},"body":{"changelog.html":{}}}],["current",{"_index":628,"title":{},"body":{"components/CheckboxComponent.html":{},"interfaces/DataStateModel.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySelectionComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"miscellaneous/enumerations.html":{}}}],["currentdelta",{"_index":3211,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["currentkey",{"_index":3212,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["currently",{"_index":405,"title":{},"body":{"interfaces/AppOptions.html":{},"components/FiltersPopoverComponent.html":{},"components/OntologySelectionComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["currentsex",{"_index":1918,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["cursor",{"_index":1520,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["customelements.define('ccf",{"_index":154,"title":{},"body":{"modules/AppModule.html":{}}}],["cyberinfrastructure",{"_index":4552,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":4125,"title":{},"body":{"changelog.html":{}}}],["d",{"_index":1559,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["da326f",{"_index":748,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["damages",{"_index":4606,"title":{},"body":{"license.html":{}}}],["dark",{"_index":365,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["dark)').addeventlistener('change",{"_index":362,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["dark)').matches",{"_index":357,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["dark/light",{"_index":4066,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":312,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/DataStateModel.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"classes/UpdateSpatialSearch.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{}}}],["data.actions",{"_index":1117,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["data.aggregatedata$.subscribe",{"_index":324,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.celltypetermoccurencesdata$.subscribe",{"_index":326,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.content",{"_index":3095,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["data.content.length",{"_index":3103,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["data.filter$.pipe(pluck('celltypeterms",{"_index":334,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.filter$.pipe(pluck('ontologyterms",{"_index":332,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.filter$.subscribe",{"_index":328,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.infotitle",{"_index":3094,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["data.ontologytermoccurencesdata$.subscribe",{"_index":325,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.providerfilterdata$.subscribe",{"_index":330,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.scenedata$.subscribe",{"_index":327,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.state",{"_index":1313,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["data.technologyfilterdata$.subscribe",{"_index":329,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.tissueblockdata$.subscribe",{"_index":323,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.videoid",{"_index":3097,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["data/data.actions",{"_index":2679,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["data/data.selectors",{"_index":2680,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["data/data.state",{"_index":2349,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["dataaction",{"_index":732,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["database",{"_index":35,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"components/DonorCardComponent.html":{},"classes/FlatNode.html":{},"interfaces/ListResult.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"classes/UpdateFilter.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["databaseready",{"_index":1165,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["databasestatus",{"_index":1099,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["dataquerystate",{"_index":209,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"miscellaneous/enumerations.html":{}}}],["dataquerystate.completed",{"_index":1138,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["dataquerystate.running",{"_index":296,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{}}}],["dataservice",{"_index":2325,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["datasetresult",{"_index":3680,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["datasets",{"_index":4135,"title":{},"body":{"changelog.html":{}}}],["datasource",{"_index":317,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["datasourcelike",{"_index":1436,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["datasources",{"_index":499,"title":{},"body":{"components/AppWebComponent.html":{}}}],["datasourceservice",{"_index":181,"title":{},"body":{"interfaces/AppOptions.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["datastate",{"_index":210,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"classes/UpdateFilter.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["datastatemodel",{"_index":1086,"title":{"interfaces/DataStateModel.html":{}},"body":{"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"coverage.html":{}}}],["datastateselectors",{"_index":207,"title":{"classes/DataStateSelectors.html":{}},"body":{"interfaces/AppOptions.html":{},"classes/DataStateSelectors.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"coverage.html":{}}}],["datastateselectors.anatomicalstructurestreemodel",{"_index":3510,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["datastateselectors.celltypestreemodel",{"_index":3512,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["db",{"_index":2781,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["db.getcelltypetermoccurences(filter).pipe(take(1",{"_index":2787,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["db.getontologytermoccurences(filter).pipe(take(1",{"_index":2786,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["db.getreferenceorganscene(organid",{"_index":2783,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["db.gettissueblockresults(filter).pipe(take(1",{"_index":2785,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["deal",{"_index":4573,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":4612,"title":{},"body":{"license.html":{}}}],["debouncetime",{"_index":2677,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["debouncetime(500",{"_index":2705,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["december",{"_index":4203,"title":{},"body":{"changelog.html":{}}}],["decides",{"_index":670,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["deck.gl",{"_index":759,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["deck.gl/core",{"_index":4408,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":4410,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":4413,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":4414,"title":{},"body":{"dependencies.html":{}}}],["declarations",{"_index":76,"title":{},"body":{"modules/AppModule.html":{},"modules/CheckboxModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{}}}],["decoration",{"_index":2079,"title":{},"body":{"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["decorator",{"_index":177,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"components/FiltersPopoverComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/StoreModule.html":{},"dependencies.html":{}}}],["decorators",{"_index":806,"title":{},"body":{"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/DataStateSelectors.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["deep",{"_index":688,"title":{},"body":{"components/CheckboxComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["deeply",{"_index":4022,"title":{},"body":{"changelog.html":{}}}],["default",{"_index":28,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/CheckboxComponent.html":{},"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["default_color_palette",{"_index":743,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_color_palette.concat",{"_index":770,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["default_filter",{"_index":1118,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/FiltersContentComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_icons",{"_index":1340,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_selected_organs",{"_index":2969,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_selected_organs.has(organ.organ",{"_index":3006,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["default_theme",{"_index":114,"title":{},"body":{"modules/AppModule.html":{},"injectables/ThemingService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defaulticondefinition",{"_index":1318,"title":{"interfaces/DefaultIconDefinition.html":{}},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defaultposition",{"_index":2687,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["defaultposition(state",{"_index":3447,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["defaultradius",{"_index":2744,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["defaults",{"_index":769,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["defaulttheme",{"_index":3620,"title":{},"body":{"injectables/ThemingService.html":{}}}],["defaultvalue",{"_index":2683,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["defer",{"_index":1102,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["deferred",{"_index":2159,"title":{},"body":{"classes/InitializationState.html":{}}}],["defined",{"_index":22,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/DataStateSelectors.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{}}}],["definition",{"_index":1322,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["definition.html",{"_index":2125,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["definition.url",{"_index":2124,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["delay",{"_index":1106,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["delay(2000",{"_index":1261,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["delegatedatasourceoptions",{"_index":1430,"title":{"interfaces/DelegateDataSourceOptions.html":{}},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"coverage.html":{}}}],["delegatedatasourceservice",{"_index":1068,"title":{"injectables/DelegateDataSourceService.html":{}},"body":{"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"coverage.html":{}}}],["delta",{"_index":3219,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["demo",{"_index":4039,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":57,"title":{"dependencies.html":{}},"body":{"modules/AppModule.html":{},"modules/CheckboxModule.html":{},"modules/CoreModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThemingModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{},"changelog.html":{},"dependencies.html":{},"overview.html":{}}}],["depending",{"_index":4098,"title":{},"body":{"changelog.html":{}}}],["depth",{"_index":2740,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["descendants",{"_index":867,"title":{},"body":{"components/ContainerComponent.html":{}}}],["descrepancies",{"_index":3945,"title":{},"body":{"changelog.html":{}}}],["describes",{"_index":648,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["description",{"_index":624,"title":{},"body":{"components/CheckboxComponent.html":{},"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"miscellaneous/functions.html":{}}}],["deselect",{"_index":2864,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["deselected",{"_index":2854,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["deselectlistresult",{"_index":2318,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["deselectlistresult(result",{"_index":2328,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["details",{"_index":4300,"title":{},"body":{"changelog.html":{}}}],["detect",{"_index":1790,"title":{},"body":{"components/DualSliderComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["detected",{"_index":1734,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["detection",{"_index":850,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["detector",{"_index":842,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["determine",{"_index":2806,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/TissueSectionVisComponent.html":{}}}],["determines",{"_index":1620,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{}}}],["developed",{"_index":4551,"title":{},"body":{"index.html":{}}}],["developmentmode",{"_index":3576,"title":{},"body":{"modules/StoreModule.html":{}}}],["developments",{"_index":4292,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":2907,"title":{},"body":{"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"changelog.html":{}}}],["dialogref",{"_index":3057,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["dialogsubs",{"_index":3048,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["diff",{"_index":2884,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["different",{"_index":2307,"title":{},"body":{"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"changelog.html":{}}}],["digits",{"_index":4183,"title":{},"body":{"changelog.html":{}}}],["direct",{"_index":4309,"title":{},"body":{"changelog.html":{}}}],["directimport",{"_index":3878,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["direction",{"_index":707,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ViewerComponent.html":{}}}],["directive",{"_index":555,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["directives",{"_index":620,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["directly",{"_index":4238,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":480,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ToggleButtonComponent.html":{}}}],["disabled",{"_index":2087,"title":{},"body":{"components/HeaderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"modules/StoreModule.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ViewerComponent.html":{}}}],["disables",{"_index":2986,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["dispatch",{"_index":174,"title":{},"body":{"interfaces/AppOptions.html":{},"components/FiltersPopoverComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["display",{"_index":420,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["displayed",{"_index":1610,"title":{},"body":{"components/DropdownComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TissueBlockListComponent.html":{},"changelog.html":{}}}],["displayformatter",{"_index":2466,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["displayformatter(option",{"_index":2480,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["displaying",{"_index":4050,"title":{},"body":{"changelog.html":{}}}],["displaylabel",{"_index":2595,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["displays",{"_index":1449,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpinnerOverlayComponent.html":{}}}],["distinct",{"_index":1107,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["distinctuntilchanged",{"_index":742,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["distribute",{"_index":4580,"title":{},"body":{"license.html":{}}}],["dobootstrap",{"_index":86,"title":{},"body":{"modules/AppModule.html":{}}}],["doc",{"_index":4276,"title":{},"body":{"changelog.html":{}}}],["docs",{"_index":3956,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":1717,"title":{},"body":{"components/DualSliderComponent.html":{},"dependencies.html":{}}}],["document:click",{"_index":1696,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["document:click(target",{"_index":1714,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["document:keydown",{"_index":3222,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["document:keydown(target",{"_index":3230,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["document:keyup",{"_index":3223,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["document:keyup(target",{"_index":3233,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["document:touchstart",{"_index":1697,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["document:touchstart(target",{"_index":1725,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["documentation",{"_index":3997,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["dom",{"_index":489,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["domains",{"_index":276,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["domsanitizer",{"_index":2102,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ViewerComponent.html":{}}}],["don't",{"_index":430,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["done",{"_index":4095,"title":{},"body":{"changelog.html":{}}}],["donor",{"_index":567,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["donor_card",{"_index":1493,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["donorcardcomponent",{"_index":566,"title":{"components/DonorCardComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["donorcardmodule",{"_index":1574,"title":{"modules/DonorCardModule.html":{}},"body":{"modules/DonorCardModule.html":{},"modules/ResultsBrowserModule.html":{},"modules.html":{},"overview.html":{}}}],["donors",{"_index":4136,"title":{},"body":{"changelog.html":{}}}],["doreset",{"_index":781,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["dotenv",{"_index":4447,"title":{},"body":{"dependencies.html":{}}}],["down",{"_index":258,"title":{},"body":{"interfaces/AppOptions.html":{},"components/OntologySelectionComponent.html":{}}}],["download",{"_index":2053,"title":{},"body":{"components/HeaderComponent.html":{},"changelog.html":{}}}],["downloadclicked",{"_index":2058,"title":{},"body":{"components/HeaderComponent.html":{}}}],["drawer",{"_index":231,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["drawer'},{'name",{"_index":569,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["drawer.close",{"_index":3824,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.closeexpanded",{"_index":3823,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.component.html",{"_index":2196,"title":{},"body":{"classes/InitializationState.html":{}}}],["drawer.component.scss",{"_index":2197,"title":{},"body":{"classes/InitializationState.html":{}}}],["drawer.open",{"_index":3825,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.position",{"_index":926,"title":{},"body":{"components/ContainerComponent.html":{}}}],["drawer/drawer.component",{"_index":890,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"modules/DrawerModule.html":{},"components/ToggleButtonComponent.html":{}}}],["drawercomponent",{"_index":224,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"modules/DrawerModule.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["drawercomponent).position",{"_index":1007,"title":{},"body":{"components/ContentComponent.html":{}}}],["drawercontainerschanged",{"_index":1035,"title":{"interfaces/DrawerContainersChanged.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["drawerexpanded",{"_index":1961,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["drawerinitialized",{"_index":1042,"title":{"interfaces/DrawerInitialized.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["drawermodule",{"_index":64,"title":{"modules/DrawerModule.html":{}},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules.html":{},"overview.html":{}}}],["drawerpayload",{"_index":1048,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["drawers",{"_index":367,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{}}}],["drawers.filter(drawer",{"_index":925,"title":{},"body":{"components/ContainerComponent.html":{}}}],["drawertoggled",{"_index":1043,"title":{"interfaces/DrawerToggled.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["dropdown",{"_index":1598,"title":{},"body":{"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/TermOccurrenceListComponent.html":{}}}],["dropdown'},{'name",{"_index":571,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["dropdown.component",{"_index":1670,"title":{},"body":{"modules/DropdownModule.html":{}}}],["dropdown.component.html",{"_index":1601,"title":{},"body":{"components/DropdownComponent.html":{}}}],["dropdown.component.scss",{"_index":1600,"title":{},"body":{"components/DropdownComponent.html":{}}}],["dropdowncomponent",{"_index":570,"title":{"components/DropdownComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["dropdownmodule",{"_index":1661,"title":{"modules/DropdownModule.html":{}},"body":{"modules/DropdownModule.html":{},"modules/FiltersContentModule.html":{},"modules.html":{},"overview.html":{}}}],["dual",{"_index":573,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["dual_slider",{"_index":1817,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["dualslidercomponent",{"_index":572,"title":{"components/DualSliderComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["dualslidermodule",{"_index":65,"title":{"modules/DualSliderModule.html":{}},"body":{"modules/AppModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules.html":{},"overview.html":{}}}],["duration",{"_index":344,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["during",{"_index":1284,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/DualSliderComponent.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["dynamic",{"_index":4402,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":3939,"title":{},"body":{"changelog.html":{}}}],["e",{"_index":363,"title":{},"body":{"interfaces/AppOptions.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["e040fb",{"_index":752,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["each",{"_index":2394,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["ease",{"_index":1027,"title":{},"body":{"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/InitializationState.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["easier",{"_index":3979,"title":{},"body":{"changelog.html":{}}}],["easily",{"_index":443,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["east",{"_index":3287,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{},"index.html":{}}}],["edit",{"_index":3388,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["editreferenceorganclicked",{"_index":3361,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["effect",{"_index":1618,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"changelog.html":{}}}],["efficiency",{"_index":4156,"title":{},"body":{"changelog.html":{}}}],["el",{"_index":313,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{}}}],["element",{"_index":554,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["element.getboundingclientrect",{"_index":2245,"title":{},"body":{"classes/InitializationState.html":{}}}],["element.nativeelement",{"_index":3661,"title":{},"body":{"injectables/ThemingService.html":{}}}],["element.nativeelement.contains(target",{"_index":1809,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["elementref",{"_index":170,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"injectables/ThemingService.html":{}}}],["elements",{"_index":3702,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["ellipsis",{"_index":1571,"title":{},"body":{"components/DonorCardComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["embedded",{"_index":4061,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":4055,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":4053,"title":{},"body":{"changelog.html":{}}}],["emit",{"_index":661,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{}}}],["emits",{"_index":287,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["emitted",{"_index":270,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"components/HeaderComponent.html":{},"miscellaneous/functions.html":{}}}],["emitter",{"_index":2478,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["emitters",{"_index":2825,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["emitting",{"_index":2227,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ResultsBrowserComponent.html":{}}}],["empty",{"_index":2577,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["enable",{"_index":2484,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["enabled",{"_index":963,"title":{},"body":{"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["encapsulates",{"_index":2625,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["end",{"_index":902,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["end?.expanded",{"_index":1018,"title":{},"body":{"components/ContentComponent.html":{}}}],["end?.opened",{"_index":1017,"title":{},"body":{"components/ContentComponent.html":{}}}],["enddrawers",{"_index":927,"title":{},"body":{"components/ContainerComponent.html":{}}}],["enddrawers.length",{"_index":930,"title":{},"body":{"components/ContainerComponent.html":{}}}],["enddrawers[0",{"_index":933,"title":{},"body":{"components/ContainerComponent.html":{}}}],["endexpanded",{"_index":1016,"title":{},"body":{"components/ContentComponent.html":{}}}],["ensures",{"_index":1487,"title":{},"body":{"components/DonorCardComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["enter",{"_index":1743,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["entire",{"_index":3568,"title":{},"body":{"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["entities",{"_index":2949,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entry",{"_index":2486,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["entry.displaylabel.join().includes",{"_index":2528,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["entry.node.label.tolowercase",{"_index":2529,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["entrycomponents",{"_index":77,"title":{},"body":{"modules/AppModule.html":{}}}],["enum",{"_index":1132,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["enumerations",{"_index":4496,"title":{"miscellaneous/enumerations.html":{}},"body":{"miscellaneous/enumerations.html":{}}}],["environment",{"_index":197,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"modules/StoreModule.html":{}}}],["environment.acceptableviewerdomains",{"_index":281,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["environment.customization",{"_index":548,"title":{},"body":{"components/AppWebComponent.html":{}}}],["environment.dboptions",{"_index":546,"title":{},"body":{"components/AppWebComponent.html":{}}}],["environment.dboptions.remoteapiendpoint",{"_index":1080,"title":{},"body":{"modules/CoreModule.html":{}}}],["environment.disabledbworker",{"_index":1441,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["environment.googleanalyticstoken",{"_index":1076,"title":{},"body":{"modules/CoreModule.html":{}}}],["environment.production",{"_index":3577,"title":{},"body":{"modules/StoreModule.html":{}}}],["environments/environment",{"_index":198,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"modules/StoreModule.html":{}}}],["error",{"_index":896,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/DataStateModel.html":{},"injectables/ThemingService.html":{}}}],["error('invalid",{"_index":540,"title":{},"body":{"components/AppWebComponent.html":{}}}],["error('the",{"_index":1083,"title":{},"body":{"modules/CoreModule.html":{}}}],["error(`multiple",{"_index":904,"title":{},"body":{"components/ContainerComponent.html":{}}}],["errors",{"_index":893,"title":{},"body":{"components/ContainerComponent.html":{},"miscellaneous/functions.html":{}}}],["es",{"_index":4437,"title":{},"body":{"dependencies.html":{}}}],["es2015.worker.js",{"_index":3887,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["eslint",{"_index":479,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ToggleButtonComponent.html":{}}}],["eslint/naming",{"_index":484,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{}}}],["eslint/prefer",{"_index":2810,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["etc",{"_index":1047,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"changelog.html":{}}}],["eui",{"_index":155,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":3991,"title":{},"body":{"changelog.html":{}}}],["eui/src/app/app",{"_index":491,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["eui/src/app/app.component.ts",{"_index":159,"title":{},"body":{"interfaces/AppOptions.html":{},"coverage.html":{}}}],["eui/src/app/app.module.ts",{"_index":75,"title":{},"body":{"modules/AppModule.html":{}}}],["eui/src/app/app.module.ts:57",{"_index":81,"title":{},"body":{"modules/AppModule.html":{}}}],["eui/src/app/core/core.module.ts",{"_index":1057,"title":{},"body":{"modules/CoreModule.html":{}}}],["eui/src/app/core/header/header.component.ts",{"_index":2051,"title":{},"body":{"components/HeaderComponent.html":{},"coverage.html":{}}}],["eui/src/app/core/header/header.component.ts:18",{"_index":2061,"title":{},"body":{"components/HeaderComponent.html":{}}}],["eui/src/app/core/header/header.component.ts:20",{"_index":2065,"title":{},"body":{"components/HeaderComponent.html":{}}}],["eui/src/app/core/header/header.component.ts:22",{"_index":2066,"title":{},"body":{"components/HeaderComponent.html":{}}}],["eui/src/app/core/header/header.component.ts:27",{"_index":2063,"title":{},"body":{"components/HeaderComponent.html":{}}}],["eui/src/app/core/header/header.component.ts:32",{"_index":2060,"title":{},"body":{"components/HeaderComponent.html":{}}}],["eui/src/app/core/header/header.component.ts:37",{"_index":2068,"title":{},"body":{"components/HeaderComponent.html":{}}}],["eui/src/app/core/header/header.component.ts:42",{"_index":2067,"title":{},"body":{"components/HeaderComponent.html":{}}}],["eui/src/app/core/header/header.module.ts",{"_index":2091,"title":{},"body":{"modules/HeaderModule.html":{}}}],["eui/src/app/core/models/flat",{"_index":2004,"title":{},"body":{"classes/FlatNode.html":{},"coverage.html":{}}}],["eui/src/app/core/models/list",{"_index":2312,"title":{},"body":{"interfaces/ListResult.html":{},"coverage.html":{}}}],["eui/src/app/core/models/ontology",{"_index":2621,"title":{},"body":{"interfaces/OntologySelection.html":{},"coverage.html":{}}}],["eui/src/app/core/services/app",{"_index":454,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"coverage.html":{}}}],["eui/src/app/core/services/data",{"_index":1431,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/WorkerDataSourceService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/core/services/ontology",{"_index":2555,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"coverage.html":{}}}],["eui/src/app/core/services/theming/theming.module.ts",{"_index":3613,"title":{},"body":{"modules/ThemingModule.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts",{"_index":3618,"title":{},"body":{"injectables/ThemingService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:13",{"_index":3644,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:14",{"_index":3645,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:16",{"_index":3643,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:18",{"_index":3646,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:21",{"_index":3634,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:25",{"_index":3626,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:39",{"_index":3631,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:48",{"_index":3642,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:60",{"_index":3640,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:71",{"_index":3638,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:83",{"_index":3628,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/store/action",{"_index":4341,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["eui/src/app/core/store/color",{"_index":725,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/core/store/data/data.actions.ts",{"_index":3830,"title":{},"body":{"classes/UpdateFilter.html":{},"coverage.html":{}}}],["eui/src/app/core/store/data/data.actions.ts:4",{"_index":3832,"title":{},"body":{"classes/UpdateFilter.html":{}}}],["eui/src/app/core/store/data/data.selectors.ts",{"_index":1305,"title":{},"body":{"classes/DataStateSelectors.html":{},"coverage.html":{}}}],["eui/src/app/core/store/data/data.selectors.ts:12",{"_index":1308,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["eui/src/app/core/store/data/data.selectors.ts:17",{"_index":1310,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["eui/src/app/core/store/data/data.selectors.ts:7",{"_index":1312,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["eui/src/app/core/store/data/data.state.ts",{"_index":1087,"title":{},"body":{"interfaces/DataStateModel.html":{},"coverage.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/core/store/icon",{"_index":1319,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/core/store/list",{"_index":2314,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"coverage.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts",{"_index":2922,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:108",{"_index":2952,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:118",{"_index":2948,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:128",{"_index":2954,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:137",{"_index":2942,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:148",{"_index":2945,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:152",{"_index":2946,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:159",{"_index":2934,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:54",{"_index":2939,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:59",{"_index":2937,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:64",{"_index":2963,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:66",{"_index":2967,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:68",{"_index":2965,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:70",{"_index":2961,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:73",{"_index":2959,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:76",{"_index":2958,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:78",{"_index":2933,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:98",{"_index":2957,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/spatial",{"_index":7,"title":{},"body":{"classes/AddSearch.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["eui/src/app/core/store/store.module.ts",{"_index":3556,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/modules/filters/filters",{"_index":1855,"title":{},"body":{"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"coverage.html":{}}}],["eui/src/app/modules/ontology",{"_index":2449,"title":{},"body":{"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/modules/results",{"_index":1444,"title":{},"body":{"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/checkbox/checkbox.component.ts",{"_index":623,"title":{},"body":{"components/CheckboxComponent.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/checkbox/checkbox.component.ts:18",{"_index":647,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["eui/src/app/shared/components/checkbox/checkbox.component.ts:23",{"_index":652,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["eui/src/app/shared/components/checkbox/checkbox.component.ts:28",{"_index":656,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["eui/src/app/shared/components/checkbox/checkbox.component.ts:33",{"_index":646,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["eui/src/app/shared/components/checkbox/checkbox.component.ts:38",{"_index":640,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["eui/src/app/shared/components/checkbox/checkbox.component.ts:53",{"_index":667,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["eui/src/app/shared/components/checkbox/checkbox.module.ts",{"_index":719,"title":{},"body":{"modules/CheckboxModule.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts",{"_index":816,"title":{},"body":{"components/ContainerComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:105",{"_index":856,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:115",{"_index":847,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:124",{"_index":858,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:37",{"_index":844,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:41",{"_index":877,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:45",{"_index":868,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:48",{"_index":873,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:50",{"_index":881,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:55",{"_index":884,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:60",{"_index":862,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:62",{"_index":838,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:83",{"_index":852,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts",{"_index":941,"title":{},"body":{"components/ContentComponent.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:103",{"_index":978,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:116",{"_index":972,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:28",{"_index":961,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:30",{"_index":962,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:32",{"_index":964,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:34",{"_index":966,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:36",{"_index":959,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:39",{"_index":980,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:41",{"_index":957,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:60",{"_index":971,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:70",{"_index":968,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/drawer.module.ts",{"_index":1591,"title":{},"body":{"modules/DrawerModule.html":{}}}],["eui/src/app/shared/components/drawer/drawer/drawer.component.ts",{"_index":2157,"title":{},"body":{"classes/InitializationState.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/shared/components/drawer/drawer/drawer.component.ts:35",{"_index":2169,"title":{},"body":{"classes/InitializationState.html":{}}}],["eui/src/app/shared/components/drawer/drawer/drawer.component.ts:37",{"_index":2166,"title":{},"body":{"classes/InitializationState.html":{}}}],["eui/src/app/shared/components/drawer/drawer/drawer.component.ts:41",{"_index":2170,"title":{},"body":{"classes/InitializationState.html":{}}}],["eui/src/app/shared/components/drawer/drawer/drawer.component.ts:46",{"_index":2171,"title":{},"body":{"classes/InitializationState.html":{}}}],["eui/src/app/shared/components/drawer/drawer/drawer.component.ts:56",{"_index":2173,"title":{},"body":{"classes/InitializationState.html":{}}}],["eui/src/app/shared/components/drawer/drawer/drawer.component.ts:65",{"_index":2172,"title":{},"body":{"classes/InitializationState.html":{}}}],["eui/src/app/shared/components/drawer/messages.ts",{"_index":1029,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/shared/components/drawer/toggle",{"_index":3797,"title":{},"body":{"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.component.ts",{"_index":1597,"title":{},"body":{"components/DropdownComponent.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.component.ts:18",{"_index":1606,"title":{},"body":{"components/DropdownComponent.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.component.ts:23",{"_index":1608,"title":{},"body":{"components/DropdownComponent.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.component.ts:28",{"_index":1611,"title":{},"body":{"components/DropdownComponent.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.component.ts:33",{"_index":1612,"title":{},"body":{"components/DropdownComponent.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.component.ts:38",{"_index":1605,"title":{},"body":{"components/DropdownComponent.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.component.ts:50",{"_index":1615,"title":{},"body":{"components/DropdownComponent.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.component.ts:59",{"_index":1614,"title":{},"body":{"components/DropdownComponent.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.module.ts",{"_index":1665,"title":{},"body":{"modules/DropdownModule.html":{}}}],["eui/src/app/shared/components/dual",{"_index":1671,"title":{},"body":{"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/run",{"_index":2905,"title":{},"body":{"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/spatial",{"_index":3044,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"modules/SpatialSearchUiModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["eui/src/app/shared/components/spinner",{"_index":3535,"title":{},"body":{"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/term",{"_index":3587,"title":{},"body":{"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/thumbnail",{"_index":3668,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/shared/components/tissue",{"_index":3749,"title":{},"body":{"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/viewer/viewer.component.ts",{"_index":3834,"title":{},"body":{"components/ViewerComponent.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/viewer/viewer.component.ts:17",{"_index":3844,"title":{},"body":{"components/ViewerComponent.html":{}}}],["eui/src/app/shared/components/viewer/viewer.component.ts:19",{"_index":3842,"title":{},"body":{"components/ViewerComponent.html":{}}}],["eui/src/app/shared/components/viewer/viewer.component.ts:21",{"_index":3843,"title":{},"body":{"components/ViewerComponent.html":{}}}],["eui/src/app/shared/components/viewer/viewer.component.ts:23",{"_index":3847,"title":{},"body":{"components/ViewerComponent.html":{}}}],["eui/src/app/shared/components/viewer/viewer.component.ts:29",{"_index":3841,"title":{},"body":{"components/ViewerComponent.html":{}}}],["eui/src/app/shared/components/viewer/viewer.component.ts:33",{"_index":3845,"title":{},"body":{"components/ViewerComponent.html":{}}}],["eui/src/app/shared/components/viewer/viewer.component.ts:39",{"_index":3846,"title":{},"body":{"components/ViewerComponent.html":{}}}],["eui/src/app/shared/components/viewer/viewer.module.ts",{"_index":3863,"title":{},"body":{"modules/ViewerModule.html":{}}}],["eui/src/app/shared/services/message/message.service.ts",{"_index":2377,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:103",{"_index":2432,"title":{},"body":{"classes/MessageChannel.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:112",{"_index":2433,"title":{},"body":{"classes/MessageChannel.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:128",{"_index":2440,"title":{},"body":{"injectables/MessageService.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:130",{"_index":2437,"title":{},"body":{"injectables/MessageService.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:153",{"_index":2439,"title":{},"body":{"injectables/MessageService.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:163",{"_index":2438,"title":{},"body":{"injectables/MessageService.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:50",{"_index":2429,"title":{},"body":{"classes/MessageChannel.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:70",{"_index":2434,"title":{},"body":{"classes/MessageChannel.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:83",{"_index":2430,"title":{},"body":{"classes/MessageChannel.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:93",{"_index":2431,"title":{},"body":{"classes/MessageChannel.html":{}}}],["evenly",{"_index":3789,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["event",{"_index":672,"title":{},"body":{"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/ToggleButtonComponent.html":{},"license.html":{}}}],["event.checked",{"_index":680,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["event.key",{"_index":1824,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["event.target",{"_index":1713,"title":{},"body":{"components/DualSliderComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["event.target'])@hostlistener('document:touchstart",{"_index":1728,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["eventemitter",{"_index":660,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ViewerComponent.html":{}}}],["eventemitter(true",{"_index":2229,"title":{},"body":{"classes/InitializationState.html":{}}}],["events",{"_index":669,"title":{},"body":{"components/CheckboxComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["everything",{"_index":1236,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["except",{"_index":2400,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["execute",{"_index":2050,"title":{},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{}}}],["executesearchongeneration",{"_index":2693,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["executionstrategy",{"_index":3582,"title":{},"body":{"modules/StoreModule.html":{}}}],["exists",{"_index":3783,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["expand",{"_index":2275,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["expand/collapse",{"_index":2282,"title":{},"body":{"classes/InitializationState.html":{}}}],["expand_collapse_params_default",{"_index":2189,"title":{},"body":{"classes/InitializationState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["expand_less",{"_index":1427,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"miscellaneous/variables.html":{}}}],["expand_more",{"_index":1425,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"miscellaneous/variables.html":{}}}],["expandable",{"_index":2008,"title":{},"body":{"classes/FlatNode.html":{},"miscellaneous/variables.html":{}}}],["expandcollapsedone",{"_index":2284,"title":{},"body":{"classes/InitializationState.html":{}}}],["expanded",{"_index":1044,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/FiltersPopoverComponent.html":{},"classes/InitializationState.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["expanded(value",{"_index":2224,"title":{},"body":{"classes/InitializationState.html":{}}}],["expanded/collapsed",{"_index":2181,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedchange",{"_index":2230,"title":{},"body":{"classes/InitializationState.html":{}}}],["expandedstate",{"_index":2182,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedstate2",{"_index":2184,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedstateobj",{"_index":2235,"title":{},"body":{"classes/InitializationState.html":{}}}],["expands",{"_index":2269,"title":{},"body":{"classes/InitializationState.html":{}}}],["exploration",{"_index":1269,"title":{},"body":{"interfaces/DataStateModel.html":{},"index.html":{}}}],["exploration.module",{"_index":126,"title":{},"body":{"modules/AppModule.html":{}}}],["exploration.module.ts",{"_index":2450,"title":{},"body":{"modules/OntologyExplorationModule.html":{}}}],["exploration/ontology",{"_index":125,"title":{},"body":{"modules/AppModule.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["export",{"_index":41,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{}}}],["exportas",{"_index":819,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["exports",{"_index":720,"title":{},"body":{"modules/CheckboxModule.html":{},"modules/CoreModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{}}}],["express",{"_index":4449,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["extended",{"_index":2187,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["extends",{"_index":160,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"injectables/WorkerDataSourceService.html":{}}}],["external",{"_index":3857,"title":{},"body":{"components/ViewerComponent.html":{},"changelog.html":{}}}],["externalurl",{"_index":3885,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["extra",{"_index":4454,"title":{},"body":{"dependencies.html":{}}}],["extract",{"_index":3687,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["extraction",{"_index":4036,"title":{},"body":{"changelog.html":{}}}],["extrapulmonary",{"_index":1376,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["eye",{"_index":1352,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["eye.svg",{"_index":1353,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["f",{"_index":1392,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["f.svg",{"_index":1393,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["factory",{"_index":2390,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/variables.html":{}}}],["fade",{"_index":1617,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["faded",{"_index":947,"title":{},"body":{"components/ContentComponent.html":{}}}],["fadein",{"_index":1629,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["fadeinout",{"_index":952,"title":{},"body":{"components/ContentComponent.html":{}}}],["fail",{"_index":4201,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":4225,"title":{},"body":{"changelog.html":{}}}],["fallopian",{"_index":1354,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["false",{"_index":242,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpinnerOverlayComponent.html":{},"modules/StoreModule.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["favor",{"_index":4192,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":3936,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":4126,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":4154,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":2040,"title":{},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"miscellaneous/typealiases.html":{}}}],["fetch",{"_index":1337,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"dependencies.html":{}}}],["fetches",{"_index":2576,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["ff8800",{"_index":744,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["ffd740",{"_index":746,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["field",{"_index":1631,"title":{},"body":{"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/TermOccurrenceListModule.html":{},"changelog.html":{}}}],["file",{"_index":5,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{}}}],["files",{"_index":4572,"title":{},"body":{"license.html":{}}}],["fill",{"_index":1646,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["filler",{"_index":2081,"title":{},"body":{"components/HeaderComponent.html":{}}}],["filter",{"_index":31,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"classes/UpdateFilter.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["filter's",{"_index":375,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["filter(([_",{"_index":3515,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["filter(organ",{"_index":3000,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter(state",{"_index":1311,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["filter(value",{"_index":2519,"title":{},"body":{"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["filter).pipe(take(1",{"_index":2784,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["filter.actions",{"_index":219,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["filter.actions.ts",{"_index":10,"title":{},"body":{"classes/AddSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"coverage.html":{}}}],["filter.actions.ts:15",{"_index":2816,"title":{},"body":{"classes/RemoveSearch.html":{}}}],["filter.actions.ts:21",{"_index":3042,"title":{},"body":{"classes/SetSelectedSearches.html":{}}}],["filter.actions.ts:9",{"_index":23,"title":{},"body":{"classes/AddSearch.html":{}}}],["filter.selectors",{"_index":221,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["filter.selectors.ts",{"_index":3186,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{},"coverage.html":{}}}],["filter.selectors.ts:14",{"_index":3193,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["filter.selectors.ts:19",{"_index":3195,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["filter.selectors.ts:9",{"_index":3190,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["filter.state",{"_index":40,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"classes/SpatialSearchFilterSelectors.html":{},"modules/StoreModule.html":{}}}],["filter.state.ts",{"_index":3146,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["filter.state.ts:27",{"_index":3203,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["filter.state.ts:32",{"_index":3208,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["filter.state.ts:37",{"_index":3209,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["filter.state.ts:48",{"_index":3205,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["filter.state.ts:58",{"_index":3207,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["filter.state.ts:63",{"_index":3206,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["filter/spatial",{"_index":9,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["filter_checkbox",{"_index":683,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["filter_content",{"_index":1904,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["filterbox",{"_index":374,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["filterbox.removebox",{"_index":382,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["filtered",{"_index":2404,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{}}}],["filteredresults",{"_index":2462,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["filteronchange",{"_index":633,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["filteronchange(event",{"_index":664,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["filters",{"_index":576,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["filterschange",{"_index":1869,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["filterscontentcomponent",{"_index":575,"title":{"components/FiltersContentComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["filterscontentmodule",{"_index":1943,"title":{"modules/FiltersContentModule.html":{}},"body":{"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules.html":{},"overview.html":{}}}],["filterspopovercomponent",{"_index":222,"title":{"components/FiltersPopoverComponent.html":{}},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["filterspopovermodule",{"_index":66,"title":{"modules/FiltersPopoverModule.html":{}},"body":{"modules/AppModule.html":{},"modules/FiltersPopoverModule.html":{},"modules.html":{},"overview.html":{}}}],["filtersvisible",{"_index":1958,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["final",{"_index":4195,"title":{},"body":{"changelog.html":{}}}],["finished",{"_index":1040,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["finishing",{"_index":4035,"title":{},"body":{"changelog.html":{}}}],["fired",{"_index":1724,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["first",{"_index":1488,"title":{},"body":{"components/DonorCardComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"changelog.html":{}}}],["fit",{"_index":4134,"title":{},"body":{"changelog.html":{}}}],["fitness",{"_index":4598,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":4118,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":3958,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":4249,"title":{},"body":{"changelog.html":{}}}],["flat",{"_index":2013,"title":{},"body":{"classes/FlatNode.html":{},"miscellaneous/variables.html":{}}}],["flatnode",{"_index":2003,"title":{"classes/FlatNode.html":{}},"body":{"classes/FlatNode.html":{},"coverage.html":{}}}],["flatnode(original",{"_index":2031,"title":{},"body":{"classes/FlatNode.html":{}}}],["flex",{"_index":706,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["flexible",{"_index":3952,"title":{},"body":{"changelog.html":{}}}],["floor",{"_index":1797,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["flow",{"_index":2037,"title":{},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/RunSpatialSearchComponent.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateSpatialSearch.html":{}}}],["fly",{"_index":4314,"title":{},"body":{"changelog.html":{}}}],["fn",{"_index":206,"title":{},"body":{"interfaces/AppOptions.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["fn.ts",{"_index":4342,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["focus",{"_index":3738,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["following",{"_index":4588,"title":{},"body":{"license.html":{}}}],["font",{"_index":703,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/HeaderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["forcedunassignment",{"_index":772,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["forkjoin",{"_index":2676,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["form",{"_index":1630,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigComponent.html":{},"changelog.html":{}}}],["format",{"_index":756,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["formatlabel",{"_index":2561,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["formatlabel(label",{"_index":2567,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["formats",{"_index":2570,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["formatter",{"_index":2483,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["formcontrol",{"_index":2463,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["formsmodule",{"_index":2549,"title":{},"body":{"modules/OntologySearchModule.html":{},"modules/SpatialSearchConfigModule.html":{}}}],["forwards",{"_index":1647,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["found",{"_index":2571,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["four",{"_index":713,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["frame",{"_index":1528,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["framework",{"_index":4510,"title":{},"body":{"index.html":{}}}],["free",{"_index":4569,"title":{},"body":{"license.html":{}}}],["fs",{"_index":4453,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":2188,"title":{},"body":{"classes/InitializationState.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["fullscreen",{"_index":4273,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":4127,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":442,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/FiltersPopoverComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["functionality",{"_index":1152,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/OntologySearchComponent.html":{},"miscellaneous/functions.html":{}}}],["functions",{"_index":4498,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["funded",{"_index":4557,"title":{},"body":{"index.html":{}}}],["funnel",{"_index":1996,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["furnished",{"_index":4587,"title":{},"body":{"license.html":{}}}],["further",{"_index":4269,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":4119,"title":{},"body":{"changelog.html":{}}}],["ga",{"_index":641,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["gap",{"_index":3132,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["gatoken",{"_index":1075,"title":{},"body":{"modules/CoreModule.html":{}}}],["generate",{"_index":653,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateSpatialSearch.html":{},"changelog.html":{}}}],["generated",{"_index":3995,"title":{},"body":{"changelog.html":{}}}],["generates",{"_index":2790,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["generatespatialsearch",{"_index":2032,"title":{"classes/GenerateSpatialSearch.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["generatespatialsearch(ctx",{"_index":2793,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["generating",{"_index":3940,"title":{},"body":{"changelog.html":{}}}],["genericglobalconfig",{"_index":525,"title":{},"body":{"components/AppWebComponent.html":{}}}],["genericmessage",{"_index":1031,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["genericmessagechannel",{"_index":1032,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["genericmessageservice",{"_index":1033,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["get(event",{"_index":2530,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["getarguments",{"_index":2145,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["getarguments(undefined",{"_index":2150,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["getchildren",{"_index":2562,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["getchildren(node",{"_index":2574,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["getchildrenfunc",{"_index":4620,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["getclassend",{"_index":3814,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["getcolor",{"_index":803,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["getcolor(key",{"_index":776,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["getcontent",{"_index":880,"title":{},"body":{"components/ContainerComponent.html":{}}}],["getexpandable",{"_index":2025,"title":{},"body":{"classes/FlatNode.html":{}}}],["gethaswrappedcontent",{"_index":883,"title":{},"body":{"components/ContainerComponent.html":{}}}],["geticon",{"_index":3815,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["getindexofmatch",{"_index":2563,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["getindexofmatch(label",{"_index":2578,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["getlabel",{"_index":2022,"title":{},"body":{"classes/FlatNode.html":{}}}],["getlevel",{"_index":4368,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["getmessages",{"_index":2402,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmessagesfromsource",{"_index":2425,"title":{},"body":{"classes/MessageChannel.html":{}}}],["getmessagesfromsource(source",{"_index":2405,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmessagesfromsources",{"_index":2426,"title":{},"body":{"classes/MessageChannel.html":{}}}],["getmessagesfromsources(sources",{"_index":2408,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmethodname",{"_index":2137,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["getmethodname(undefined",{"_index":2152,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["getnextbuttonid",{"_index":3719,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["getoriginscene",{"_index":2673,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["getoriginscene(organ).concat(organscene",{"_index":2754,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["getprevbuttonid",{"_index":3715,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["getprobingspherescene",{"_index":3477,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["getprobingspherescene(organentity",{"_index":3493,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["getrangelabel",{"_index":1770,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["getreferenceorganscene(organid",{"_index":2749,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["gets",{"_index":369,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/FlatNode.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"components/ToggleButtonComponent.html":{}}}],["getter",{"_index":3848,"title":{},"body":{"components/ViewerComponent.html":{},"miscellaneous/variables.html":{}}}],["getter/setter",{"_index":2217,"title":{},"body":{"classes/InitializationState.html":{}}}],["gettermcounts",{"_index":3438,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["gettermcounts(counts",{"_index":3449,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["gettheme",{"_index":3622,"title":{},"body":{"injectables/ThemingService.html":{}}}],["getting",{"_index":3893,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"miscellaneous/typealiases.html":{}}}],["getworkerurl",{"_index":3868,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["getworkerurl(directimport",{"_index":3876,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["github",{"_index":4185,"title":{},"body":{"changelog.html":{}}}],["give",{"_index":2393,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["given",{"_index":3782,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["gizmo",{"_index":4077,"title":{},"body":{"changelog.html":{}}}],["gland",{"_index":1379,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["globalconfig",{"_index":319,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{}}}],["globalconfigstate",{"_index":182,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"modules/StoreModule.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/variables.html":{}}}],["globalfilter",{"_index":2747,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["globalthis.getcomputedstyle(element",{"_index":2253,"title":{},"body":{"classes/InitializationState.html":{}}}],["globalthis['dboptions",{"_index":547,"title":{},"body":{"components/AppWebComponent.html":{}}}],["good",{"_index":4222,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":679,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{},"dependencies.html":{}}}],["googleanalyticsservice",{"_index":639,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["gradient",{"_index":2873,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["granted",{"_index":4568,"title":{},"body":{"license.html":{}}}],["graph",{"_index":3774,"title":{},"body":{"components/TissueSectionVisComponent.html":{},"modules.html":{}}}],["graphical",{"_index":3965,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":4456,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":4046,"title":{},"body":{"changelog.html":{}}}],["grid",{"_index":3294,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["group",{"_index":626,"title":{},"body":{"components/CheckboxComponent.html":{},"components/FiltersContentComponent.html":{}}}],["grow",{"_index":1538,"title":{},"body":{"components/DonorCardComponent.html":{},"components/HeaderComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{}}}],["gtex",{"_index":3974,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":4218,"title":{},"body":{"changelog.html":{}}}],["half",{"_index":2186,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["hand",{"_index":1332,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{}}}],["handle",{"_index":1888,"title":{},"body":{"components/FiltersContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["handlecheckbox",{"_index":1455,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["handlehover",{"_index":2830,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["handlehover(id",{"_index":2856,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["handlekey",{"_index":3214,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["handlekey(target",{"_index":3235,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["handlelinkclick",{"_index":2831,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["handlelinkclick(link",{"_index":2858,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["handlemessage",{"_index":829,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["handlemessage(_msg",{"_index":845,"title":{},"body":{"components/ContainerComponent.html":{}}}],["handlemessage(msg",{"_index":967,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["handler",{"_index":1751,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["handles",{"_index":1475,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["handleselection",{"_index":2832,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["handleselection(result",{"_index":2861,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["handleunhover",{"_index":2833,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["handling",{"_index":1703,"title":{},"body":{"components/DualSliderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ResultsBrowserComponent.html":{}}}],["happen",{"_index":1880,"title":{},"body":{"components/FiltersContentComponent.html":{},"changelog.html":{}}}],["happens",{"_index":1479,"title":{},"body":{"components/DonorCardComponent.html":{},"changelog.html":{}}}],["happy",{"_index":3572,"title":{},"body":{"modules/StoreModule.html":{}}}],["haswrappedcontent",{"_index":836,"title":{},"body":{"components/ContainerComponent.html":{}}}],["header",{"_index":162,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["header'},{'name",{"_index":579,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["header.component",{"_index":2094,"title":{},"body":{"modules/HeaderModule.html":{}}}],["header.component.html",{"_index":2057,"title":{},"body":{"components/HeaderComponent.html":{}}}],["header.component.scss",{"_index":2056,"title":{},"body":{"components/HeaderComponent.html":{}}}],["header/header.module",{"_index":1067,"title":{},"body":{"modules/CoreModule.html":{}}}],["headercomponent",{"_index":578,"title":{"components/HeaderComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["headermodule",{"_index":1054,"title":{"modules/HeaderModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/HeaderModule.html":{},"modules.html":{},"overview.html":{}}}],["heart",{"_index":1358,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/variables.html":{}}}],["heart.svg",{"_index":1359,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["height",{"_index":1020,"title":{},"body":{"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["helmet",{"_index":4460,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":4217,"title":{},"body":{"changelog.html":{}}}],["helper",{"_index":891,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["here",{"_index":2358,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["hereby",{"_index":4567,"title":{},"body":{"license.html":{}}}],["hex",{"_index":739,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"dependencies.html":{}}}],["hexrgb",{"_index":738,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["hexrgb(color",{"_index":755,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["hidden",{"_index":937,"title":{},"body":{"components/ContainerComponent.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TissueBlockListComponent.html":{},"changelog.html":{}}}],["hide",{"_index":1995,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["hidelimitlabels",{"_index":1803,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["hidepointerlabels",{"_index":1804,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["hides",{"_index":1977,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["high",{"_index":1742,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["highlight",{"_index":4025,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":1458,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ResultsBrowserComponent.html":{},"changelog.html":{}}}],["highlightedid",{"_index":2923,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["highlightednodeid",{"_index":2316,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["highlightnode",{"_index":2319,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["highlightnode(id",{"_index":2330,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["highlights",{"_index":4026,"title":{},"body":{"changelog.html":{}}}],["highvalue",{"_index":1679,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["hint",{"_index":3412,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["holders",{"_index":4603,"title":{},"body":{"license.html":{}}}],["holds",{"_index":3595,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["home",{"_index":2071,"title":{},"body":{"components/HeaderComponent.html":{}}}],["homeurl",{"_index":163,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/HeaderComponent.html":{}}}],["hook",{"_index":1737,"title":{},"body":{"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{}}}],["hooked",{"_index":4163,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":934,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["hostbinding",{"_index":886,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"classes/InitializationState.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["hostbinding('@expandcollapse",{"_index":2234,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostbinding('@fadeinout",{"_index":983,"title":{},"body":{"components/ContentComponent.html":{}}}],["hostbinding('@openclose",{"_index":2233,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostbinding('class",{"_index":864,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"classes/InitializationState.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["hostbinding('class.active",{"_index":3545,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["hostbinding('class.ccf",{"_index":2212,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["hostbinding('class.cff",{"_index":979,"title":{},"body":{"components/ContentComponent.html":{}}}],["hostbinding('style.margin",{"_index":984,"title":{},"body":{"components/ContentComponent.html":{}}}],["hostbindings",{"_index":833,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["hostlistener",{"_index":1776,"title":{},"body":{"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["hostlistener('@expandcollapse.done",{"_index":2283,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostlistener('@openclose.done",{"_index":2279,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostlistener('document:click",{"_index":1727,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["hostlistener('document:keydown",{"_index":3236,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["hostlistener('document:keyup",{"_index":3242,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["hostlistener('document:touchstart",{"_index":1808,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["hostlisteners",{"_index":1695,"title":{},"body":{"components/DualSliderComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["hover",{"_index":1540,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["hoverable",{"_index":1552,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["hovered",{"_index":1489,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["hovering",{"_index":4088,"title":{},"body":{"changelog.html":{}}}],["hoverstate",{"_index":1454,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["hra",{"_index":3898,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["html",{"_index":553,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["htmlelement",{"_index":1715,"title":{},"body":{"components/DualSliderComponent.html":{},"injectables/ThemingService.html":{}}}],["htmlinputelement).value",{"_index":1823,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["http://purl.obolibrary.org/obo/cl_0000000",{"_index":1128,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0013702",{"_index":1127,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/ccf/latest/ccf.owl#vhfskin",{"_index":2984,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["httpclientmodule",{"_index":1058,"title":{},"body":{"modules/CoreModule.html":{}}}],["https://beta",{"_index":4519,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":4531,"title":{},"body":{"index.html":{}}}],["https://hubmap",{"_index":4524,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":4523,"title":{},"body":{"index.html":{}}}],["https://humanatlas.io",{"_index":4548,"title":{},"body":{"index.html":{}}}],["https://observablehq.com/@cns",{"_index":4545,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":4526,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":4521,"title":{},"body":{"index.html":{}}}],["https://r5i95k35v5.us",{"_index":4533,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":4311,"title":{},"body":{"changelog.html":{}}}],["https://www.ngxs.io/advanced/options",{"_index":3583,"title":{},"body":{"modules/StoreModule.html":{}}}],["hubmap",{"_index":144,"title":{},"body":{"modules/AppModule.html":{},"components/HeaderComponent.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["hubmapasseturl",{"_index":500,"title":{},"body":{"components/AppWebComponent.html":{}}}],["hubmapdataservice",{"_index":501,"title":{},"body":{"components/AppWebComponent.html":{}}}],["hubmapdataurl",{"_index":502,"title":{},"body":{"components/AppWebComponent.html":{}}}],["hubmapportalurl",{"_index":503,"title":{},"body":{"components/AppWebComponent.html":{}}}],["hubmaptoken",{"_index":504,"title":{},"body":{"components/AppWebComponent.html":{}}}],["human",{"_index":3896,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["icon",{"_index":1323,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/RunSpatialSearchComponent.html":{},"modules/StoreModule.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["icondefinition",{"_index":2095,"title":{"interfaces/IconDefinition.html":{}},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{}}}],["iconregistry",{"_index":2103,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["iconregistrystate",{"_index":2104,"title":{"injectables/IconRegistryState.html":{}},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["icons",{"_index":1338,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["icons.ts",{"_index":1321,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["id",{"_index":45,"title":{},"body":{"classes/AddSearch.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"interfaces/OntologySelection.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"components/ResultsBrowserComponent.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["idb",{"_index":4463,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":2379,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ThumbnailCarouselComponent.html":{},"coverage.html":{}}}],["iec",{"_index":4198,"title":{},"body":{"changelog.html":{}}}],["iframe",{"_index":445,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ViewerComponent.html":{}}}],["image",{"_index":4191,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":4236,"title":{},"body":{"changelog.html":{}}}],["immutable",{"_index":730,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/OntologySearchService.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SearchResult.html":{}}}],["implementation",{"_index":1168,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{}}}],["implemented",{"_index":4162,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":4275,"title":{},"body":{"changelog.html":{}}}],["implements",{"_index":148,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["implied",{"_index":4595,"title":{},"body":{"license.html":{}}}],["implies",{"_index":1045,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["import",{"_index":33,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{}}}],["import.meta.url",{"_index":3884,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["important",{"_index":696,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["imported",{"_index":1084,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["imports",{"_index":78,"title":{},"body":{"modules/AppModule.html":{},"modules/CheckboxModule.html":{},"modules/CoreModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/StoreModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{}}}],["importscripts('${externalurl",{"_index":3890,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["improve",{"_index":4155,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":3989,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":3962,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":4047,"title":{},"body":{"changelog.html":{}}}],["include",{"_index":4205,"title":{},"body":{"changelog.html":{}}}],["included",{"_index":3597,"title":{},"body":{"components/TermOccurrenceListComponent.html":{},"license.html":{}}}],["includes",{"_index":3937,"title":{},"body":{"changelog.html":{}}}],["including",{"_index":4024,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":4180,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":4271,"title":{},"body":{"changelog.html":{}}}],["indeterminate.mat",{"_index":1523,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["index",{"_index":11,"title":{"index.html":{}},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indexes",{"_index":3906,"title":{},"body":{"changelog.html":{}}}],["indiana",{"_index":4555,"title":{},"body":{"index.html":{}}}],["indicates",{"_index":2027,"title":{},"body":{"classes/FlatNode.html":{}}}],["individual",{"_index":654,"title":{},"body":{"components/CheckboxComponent.html":{},"components/OntologySearchComponent.html":{},"changelog.html":{}}}],["infinity",{"_index":346,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["infix",{"_index":1634,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["info",{"_index":3,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"index.html":{}}}],["info.name",{"_index":2798,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["infobuttonmodule",{"_index":105,"title":{},"body":{"modules/AppModule.html":{},"modules/SpatialSearchUiModule.html":{}}}],["infobuttonservice",{"_index":3061,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["infoclicked",{"_index":3119,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["infodialogcomponent",{"_index":3082,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["information",{"_index":663,"title":{},"body":{"components/CheckboxComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"changelog.html":{},"index.html":{}}}],["infoservice",{"_index":3060,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["infrastructure",{"_index":4239,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":4207,"title":{},"body":{"changelog.html":{}}}],["inherit",{"_index":1989,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["init",{"_index":2489,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["initial",{"_index":350,"title":{},"body":{"interfaces/AppOptions.html":{},"changelog.html":{}}}],["initialconfig",{"_index":545,"title":{},"body":{"components/AppWebComponent.html":{}}}],["initialdelay",{"_index":543,"title":{},"body":{"components/AppWebComponent.html":{}}}],["initialization",{"_index":2257,"title":{},"body":{"classes/InitializationState.html":{}}}],["initializationstate",{"_index":2156,"title":{"classes/InitializationState.html":{}},"body":{"classes/InitializationState.html":{},"coverage.html":{}}}],["initialize",{"_index":2993,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"injectables/ThemingService.html":{}}}],["initialize(component",{"_index":3632,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initialize(element",{"_index":3637,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initialized",{"_index":497,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"injectables/ThemingService.html":{}}}],["initializer",{"_index":3635,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initializes",{"_index":1730,"title":{},"body":{"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/ToggleButtonComponent.html":{}}}],["initializesliderpopover",{"_index":1687,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["initializing",{"_index":1041,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["inject",{"_index":2382,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{}}}],["inject(default_theme",{"_index":3651,"title":{},"body":{"injectables/ThemingService.html":{}}}],["injectable",{"_index":452,"title":{"injectables/AppRootOverlayContainer.html":{},"injectables/ColorAssignmentState.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"injectables/MessageService.html":{},"injectables/OntologySearchService.html":{},"injectables/SceneState.html":{},"injectables/SpatialSearchFilterState.html":{},"injectables/SpatialSearchUiState.html":{},"injectables/ThemingService.html":{},"injectables/WorkerDataSourceService.html":{}},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/OntologySearchService.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"injectables/WorkerDataSourceService.html":{},"coverage.html":{}}}],["injectables",{"_index":453,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"injectables/ColorAssignmentState.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"injectables/MessageService.html":{},"injectables/OntologySearchService.html":{},"injectables/SceneState.html":{},"injectables/SpatialSearchFilterState.html":{},"injectables/SpatialSearchUiState.html":{},"injectables/ThemingService.html":{},"injectables/WorkerDataSourceService.html":{},"overview.html":{}}}],["injectcontainerstate",{"_index":3579,"title":{},"body":{"modules/StoreModule.html":{}}}],["injecting",{"_index":2355,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["injectiontoken",{"_index":2383,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["injectiontoken('default",{"_index":3648,"title":{},"body":{"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["injector",{"_index":87,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"injectables/ThemingService.html":{}}}],["injector.get(overlaycontainer",{"_index":3662,"title":{},"body":{"injectables/ThemingService.html":{}}}],["injector.get(renderer2",{"_index":3660,"title":{},"body":{"injectables/ThemingService.html":{}}}],["injector.get(themingservice",{"_index":3649,"title":{},"body":{"injectables/ThemingService.html":{}}}],["injectordelegatedatasourceservice",{"_index":1437,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["inner",{"_index":697,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["input",{"_index":523,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ViewerComponent.html":{}}}],["inputs",{"_index":498,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ViewerComponent.html":{}}}],["inside",{"_index":1834,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["install",{"_index":3747,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{}}}],["instance",{"_index":310,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["instancetype",{"_index":4506,"title":{},"body":{"miscellaneous/functions.html":{}}}],["instant",{"_index":2179,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["instead",{"_index":1841,"title":{},"body":{"components/DualSliderComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["instructions",{"_index":4054,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":4128,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":4021,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":4206,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":4141,"title":{},"body":{"changelog.html":{}}}],["inter",{"_index":2084,"title":{},"body":{"components/HeaderComponent.html":{}}}],["interact",{"_index":4114,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":4258,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":4308,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":156,"title":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"interfaces/ListResult.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/OntologySelection.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"interfaces/SpatialSearchFilterItem.html":{},"interfaces/SpatialSearchUiModel.html":{},"interfaces/TermResult.html":{}},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":158,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"interfaces/ListResult.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/OntologySelection.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"interfaces/SpatialSearchFilterItem.html":{},"interfaces/SpatialSearchUiModel.html":{},"interfaces/TermResult.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":4190,"title":{},"body":{"changelog.html":{}}}],["intestine",{"_index":1365,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["intestine.svg",{"_index":1366,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["invisible",{"_index":960,"title":{},"body":{"components/ContentComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["iri",{"_index":2973,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["isexpandable",{"_index":4369,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["islighttheme",{"_index":284,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["isn't",{"_index":1483,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["isolated",{"_index":2388,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/variables.html":{}}}],["issliderinitialized",{"_index":1680,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["isslideropen",{"_index":1681,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["isstring",{"_index":529,"title":{},"body":{"components/AppWebComponent.html":{}}}],["isstringarray",{"_index":532,"title":{},"body":{"components/AppWebComponent.html":{}}}],["isstringarray(json",{"_index":537,"title":{},"body":{"components/AppWebComponent.html":{}}}],["isstringarray(value",{"_index":538,"title":{},"body":{"components/AppWebComponent.html":{}}}],["issue",{"_index":4176,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":3942,"title":{},"body":{"changelog.html":{}}}],["iswhitelisted",{"_index":434,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["it's",{"_index":371,"title":{},"body":{"interfaces/AppOptions.html":{},"changelog.html":{}}}],["item",{"_index":273,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["item.color",{"_index":795,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["item.id",{"_index":2795,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["item.search",{"_index":1914,"title":{},"body":{"components/FiltersContentComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{}}}],["item.selected",{"_index":1901,"title":{},"body":{"components/FiltersContentComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["item.selected).map(item",{"_index":3199,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["item.sex",{"_index":1923,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["item.technology",{"_index":3726,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["item.thumbnail",{"_index":3724,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["item?.id",{"_index":3160,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["itemhovered",{"_index":2836,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["itemid",{"_index":3677,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["itemid(_index",{"_index":3685,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["items",{"_index":50,"title":{},"body":{"classes/AddSearch.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"classes/RemoveSearch.html":{},"components/RunSpatialSearchComponent.html":{},"classes/SetSelectedSearches.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["items(state",{"_index":3188,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["items.filter(item",{"_index":3198,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["items.length",{"_index":1924,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["items.map(item",{"_index":1913,"title":{},"body":{"components/FiltersContentComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{}}}],["itemunhovered",{"_index":2837,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["iu",{"_index":4290,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":4546,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":3914,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["join",{"_index":2527,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["json",{"_index":535,"title":{},"body":{"components/AppWebComponent.html":{},"changelog.html":{}}}],["json.parse(json.stringify(default_filter",{"_index":1910,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["jsonld",{"_index":4466,"title":{},"body":{"dependencies.html":{}}}],["july",{"_index":4257,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":4295,"title":{},"body":{"changelog.html":{}}}],["justify",{"_index":1519,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ViewerComponent.html":{}}}],["keep",{"_index":253,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DonorCardComponent.html":{}}}],["keeping",{"_index":1183,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["keeps",{"_index":1963,"title":{},"body":{"components/FiltersPopoverComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["key",{"_index":766,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["key.direction",{"_index":3293,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["key.tolowercase",{"_index":3254,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["key/value",{"_index":1893,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["keyboard",{"_index":596,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"modules/SpatialSearchUiModule.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["keyboardevent",{"_index":1739,"title":{},"body":{"components/DualSliderComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["keyclick",{"_index":3215,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["keyclick(key",{"_index":3237,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["keyclicked",{"_index":3277,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["keydown",{"_index":3232,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["keyframes",{"_index":1626,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["keyhover",{"_index":3216,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["keyhover(key",{"_index":3239,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["keyhovered",{"_index":3278,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["keymap",{"_index":3276,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["keyrow",{"_index":3303,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["keys",{"_index":3291,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["keyup",{"_index":3217,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["keyup(target",{"_index":3241,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["keyval",{"_index":4464,"title":{},"body":{"dependencies.html":{}}}],["key}:${value",{"_index":1905,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["kidney",{"_index":1360,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["kidney.svg",{"_index":1361,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["kind",{"_index":4594,"title":{},"body":{"license.html":{}}}],["knee",{"_index":1362,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["knee.svg",{"_index":1363,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["known",{"_index":3941,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":3928,"title":{},"body":{"changelog.html":{}}}],["label",{"_index":256,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"interfaces/DataStateModel.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"classes/FlatNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/TissueSectionVisComponent.html":{}}}],["label.slice(0",{"_index":2615,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["label.slice(index",{"_index":2616,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["label.tolowercase().includes(searchvalue",{"_index":2611,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["label.tolowercase().indexof(searchvalue",{"_index":2613,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["labeled",{"_index":625,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["labels",{"_index":655,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DualSliderComponent.html":{},"components/HeaderComponent.html":{}}}],["labs/data",{"_index":3558,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["labs/data/decorators",{"_index":735,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["labs/data/repositories",{"_index":737,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["labs/dispatch",{"_index":176,"title":{},"body":{"interfaces/AppOptions.html":{},"components/FiltersPopoverComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/StoreModule.html":{},"dependencies.html":{}}}],["landmarks",{"_index":3950,"title":{},"body":{"changelog.html":{}}}],["large",{"_index":1364,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["larger",{"_index":3980,"title":{},"body":{"changelog.html":{}}}],["larynx",{"_index":1367,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["larynx.svg",{"_index":1368,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["last",{"_index":432,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DropdownComponent.html":{},"modules/StoreModule.html":{}}}],["latest",{"_index":1155,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"miscellaneous/functions.html":{},"index.html":{}}}],["launch",{"_index":3855,"title":{},"body":{"components/ViewerComponent.html":{}}}],["launchinfodialog",{"_index":3054,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["launchinfodialog(data",{"_index":3065,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["launchs",{"_index":3318,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["layers",{"_index":4411,"title":{},"body":{"dependencies.html":{}}}],["lazy",{"_index":2326,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["ld",{"_index":4215,"title":{},"body":{"changelog.html":{}}}],["leak",{"_index":4175,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":4034,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":368,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["left.closeexpanded",{"_index":379,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["left.open",{"_index":378,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["left.px",{"_index":955,"title":{},"body":{"components/ContentComponent.html":{}}}],["left.svg",{"_index":1356,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["left/right",{"_index":4044,"title":{},"body":{"changelog.html":{}}}],["leftmargin",{"_index":948,"title":{},"body":{"components/ContentComponent.html":{}}}],["legend",{"_index":552,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["level",{"_index":2011,"title":{},"body":{"classes/FlatNode.html":{},"injectables/ThemingService.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["levels",{"_index":4305,"title":{},"body":{"changelog.html":{}}}],["lexically",{"_index":2503,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["liability",{"_index":4607,"title":{},"body":{"license.html":{}}}],["liable",{"_index":4604,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":3983,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":4148,"title":{},"body":{"changelog.html":{}}}],["license",{"_index":4561,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":4029,"title":{},"body":{"changelog.html":{}}}],["lifecycle",{"_index":2490,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["light",{"_index":146,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{}}}],["lighter",{"_index":1555,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["limitation",{"_index":4575,"title":{},"body":{"license.html":{}}}],["limited",{"_index":4243,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":482,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["link",{"_index":437,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DonorCardComponent.html":{},"components/HeaderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["linkage",{"_index":4259,"title":{},"body":{"changelog.html":{}}}],["linkclick",{"_index":1460,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["linkclicked",{"_index":2838,"title":{},"body":{"components/ResultsBrowserComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["linked",{"_index":3953,"title":{},"body":{"changelog.html":{}}}],["linkhandler",{"_index":1456,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["linkhandler(url",{"_index":1477,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["links",{"_index":4009,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":404,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{},"changelog.html":{}}}],["list'},{'name",{"_index":607,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["list.component",{"_index":3762,"title":{},"body":{"modules/TissueBlockListModule.html":{}}}],["list.component.html",{"_index":3752,"title":{},"body":{"components/TissueBlockListComponent.html":{}}}],["list.component.scss",{"_index":3751,"title":{},"body":{"components/TissueBlockListComponent.html":{}}}],["list.component.ts",{"_index":3750,"title":{},"body":{"components/TissueBlockListComponent.html":{},"coverage.html":{}}}],["list.component.ts:16",{"_index":3754,"title":{},"body":{"components/TissueBlockListComponent.html":{}}}],["list.component.ts:19",{"_index":3753,"title":{},"body":{"components/TissueBlockListComponent.html":{}}}],["list.module",{"_index":3435,"title":{},"body":{"modules/SpatialSearchUiModule.html":{}}}],["list.module.ts",{"_index":3761,"title":{},"body":{"modules/TissueBlockListModule.html":{}}}],["list/term",{"_index":3432,"title":{},"body":{"modules/SpatialSearchUiModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"coverage.html":{}}}],["list/tissue",{"_index":3434,"title":{},"body":{"modules/SpatialSearchUiModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"coverage.html":{}}}],["listed",{"_index":2807,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["listen",{"_index":2387,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["listener",{"_index":1154,"title":{},"body":{"interfaces/DataStateModel.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/functions.html":{}}}],["listeners",{"_index":854,"title":{},"body":{"components/ContainerComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["listens",{"_index":360,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DualSliderComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["listresult",{"_index":2311,"title":{"interfaces/ListResult.html":{}},"body":{"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/ResultsBrowserComponent.html":{},"coverage.html":{}}}],["listresultdeselected",{"_index":2839,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["listresults",{"_index":2317,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["listresultselected",{"_index":2840,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["listresultsstate",{"_index":212,"title":{"injectables/ListResultsState.html":{}},"body":{"interfaces/AppOptions.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["listresultsstatemodel",{"_index":2350,"title":{"interfaces/ListResultsStateModel.html":{}},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"coverage.html":{}}}],["literal",{"_index":815,"title":{},"body":{"interfaces/ColorAssignmentStateModel.html":{},"interfaces/SceneStateModel.html":{},"classes/SetPosition.html":{},"dependencies.html":{}}}],["little",{"_index":4112,"title":{},"body":{"changelog.html":{}}}],["liver",{"_index":1369,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["liver.svg",{"_index":1370,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["load",{"_index":2327,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["loaded",{"_index":1324,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{}}}],["loaders.gl/core",{"_index":4415,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":4417,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":4418,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":1092,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["loadingmessage",{"_index":297,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["located",{"_index":2211,"title":{},"body":{"classes/InitializationState.html":{}}}],["location",{"_index":2623,"title":{},"body":{"interfaces/OntologySelection.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["locations",{"_index":1929,"title":{},"body":{"components/FiltersContentComponent.html":{},"changelog.html":{}}}],["locationstrategy",{"_index":3871,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["locator",{"_index":3870,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["lock",{"_index":3732,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["lodash",{"_index":2346,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"dependencies.html":{}}}],["log",{"_index":4549,"title":{},"body":{"index.html":{}}}],["logged",{"_index":2064,"title":{},"body":{"components/HeaderComponent.html":{}}}],["loggedin",{"_index":449,"title":{},"body":{"interfaces/AppOptions.html":{},"components/HeaderComponent.html":{}}}],["logger",{"_index":3585,"title":{},"body":{"modules/StoreModule.html":{}}}],["logging",{"_index":3976,"title":{},"body":{"changelog.html":{}}}],["logic",{"_index":1476,"title":{},"body":{"components/DonorCardComponent.html":{},"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["login",{"_index":447,"title":{},"body":{"interfaces/AppOptions.html":{},"components/HeaderComponent.html":{}}}],["logindisabled",{"_index":307,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/HeaderComponent.html":{}}}],["loginenabled",{"_index":164,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["logo",{"_index":2054,"title":{},"body":{"components/HeaderComponent.html":{}}}],["logotooltip",{"_index":165,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/HeaderComponent.html":{}}}],["logout",{"_index":2069,"title":{},"body":{"components/HeaderComponent.html":{}}}],["longer",{"_index":4097,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":4153,"title":{},"body":{"changelog.html":{}}}],["looks",{"_index":2582,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["lookup",{"_index":2564,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["lookup(nodes",{"_index":2580,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["low",{"_index":1747,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["low/high",{"_index":1791,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["lower",{"_index":1709,"title":{},"body":{"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["lowvalue",{"_index":1682,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["lru",{"_index":4469,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":4419,"title":{},"body":{"dependencies.html":{}}}],["lung",{"_index":1371,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["lung.svg",{"_index":1372,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["lymph",{"_index":1373,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["made",{"_index":1275,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/DualSliderComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"changelog.html":{}}}],["main",{"_index":226,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"components/SpatialSearchUiComponent.html":{},"miscellaneous/variables.html":{}}}],["major",{"_index":3935,"title":{},"body":{"changelog.html":{}}}],["makes",{"_index":3977,"title":{},"body":{"changelog.html":{}}}],["making",{"_index":4015,"title":{},"body":{"changelog.html":{}}}],["male",{"_index":2039,"title":{},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"miscellaneous/typealiases.html":{}}}],["mammary",{"_index":1378,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["managed",{"_index":879,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["managers",{"_index":3987,"title":{},"body":{"changelog.html":{}}}],["manages",{"_index":3619,"title":{},"body":{"injectables/ThemingService.html":{}}}],["many",{"_index":232,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["map",{"_index":190,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{}}}],["map(([scene",{"_index":3011,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([tissueblocks",{"_index":2365,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["map((color",{"_index":754,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["map((node",{"_index":3025,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(block",{"_index":3497,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["map(items.map(item",{"_index":3164,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["map(nodes",{"_index":2599,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["map(organ",{"_index":3002,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(reforgans",{"_index":2997,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(s",{"_index":3500,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["map(searchresults",{"_index":2522,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["map(state",{"_index":294,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["map(states",{"_index":1234,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["march",{"_index":4151,"title":{},"body":{"changelog.html":{}}}],["margin",{"_index":699,"title":{},"body":{"components/CheckboxComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ViewerComponent.html":{},"miscellaneous/variables.html":{}}}],["margin2",{"_index":2191,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["markdown",{"_index":4474,"title":{},"body":{"dependencies.html":{}}}],["marrow",{"_index":1348,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["marrow.svg",{"_index":1349,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["mat",{"_index":689,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ViewerComponent.html":{}}}],["matautocompletemodule",{"_index":2551,"title":{},"body":{"modules/OntologySearchModule.html":{}}}],["matautocompleteselectedevent",{"_index":2493,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["matbuttonmodule",{"_index":1949,"title":{},"body":{"modules/FiltersContentModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyTreeModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/ViewerModule.html":{}}}],["match",{"_index":2074,"title":{},"body":{"components/HeaderComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"changelog.html":{}}}],["matcheckboxchange",{"_index":665,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["matcheckboxmodule",{"_index":723,"title":{},"body":{"modules/CheckboxModule.html":{},"modules/DonorCardModule.html":{}}}],["matching",{"_index":52,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["matdialog",{"_index":2908,"title":{},"body":{"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["matdialogmodule",{"_index":3113,"title":{},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{}}}],["matdialogref",{"_index":3058,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["matdividermodule",{"_index":3425,"title":{},"body":{"modules/SpatialSearchUiModule.html":{}}}],["material",{"_index":2106,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["matformfieldmodule",{"_index":1666,"title":{},"body":{"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/OntologySearchModule.html":{},"modules/TermOccurrenceListModule.html":{}}}],["math.div($pointer",{"_index":1845,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["math.floor(math.max(width",{"_index":2752,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["math.gl/core",{"_index":2669,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"dependencies.html":{}}}],["math.gl/culling",{"_index":4422,"title":{},"body":{"dependencies.html":{}}}],["math.max(...this.selection",{"_index":1795,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["math.max(x",{"_index":3507,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["math.min(...this.selection",{"_index":1793,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["math.min(defaultradius",{"_index":2751,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["math.round(depth",{"_index":2743,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["math.round(height",{"_index":2742,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["math.round(math.max(width",{"_index":2745,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["math.round(n",{"_index":2767,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["math.round(width",{"_index":2741,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["maticonmodule",{"_index":92,"title":{},"body":{"modules/AppModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologyTreeModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/ViewerModule.html":{}}}],["maticonregistry",{"_index":2101,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["matinputmodule",{"_index":2552,"title":{},"body":{"modules/OntologySearchModule.html":{}}}],["matprogressspinnermodule",{"_index":3552,"title":{},"body":{"modules/SpinnerOverlayModule.html":{},"modules/ViewerModule.html":{}}}],["matradiomodule",{"_index":3144,"title":{},"body":{"modules/SpatialSearchConfigModule.html":{}}}],["matrix",{"_index":2764,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["matrix.gettranslation().map(n",{"_index":2766,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["matrix4",{"_index":2668,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["matrix4(node.transformmatrix",{"_index":2765,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["matselectmodule",{"_index":1668,"title":{},"body":{"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/TermOccurrenceListModule.html":{}}}],["matslidermodule",{"_index":3427,"title":{},"body":{"modules/SpatialSearchUiModule.html":{}}}],["matsnackbar",{"_index":173,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["matsnackbarmodule",{"_index":94,"title":{},"body":{"modules/AppModule.html":{}}}],["mattoolbarmodule",{"_index":2092,"title":{},"body":{"modules/HeaderModule.html":{}}}],["mattooltipmodule",{"_index":97,"title":{},"body":{"modules/AppModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyTreeModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/TissueBlockListModule.html":{}}}],["mattreemodule",{"_index":2664,"title":{},"body":{"modules/OntologyTreeModule.html":{}}}],["max",{"_index":1651,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["maximum",{"_index":3375,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["mc",{"_index":4289,"title":{},"body":{"changelog.html":{}}}],["measured",{"_index":2249,"title":{},"body":{"classes/InitializationState.html":{}}}],["measuredmargin",{"_index":2251,"title":{},"body":{"classes/InitializationState.html":{}}}],["measuredwidth",{"_index":2241,"title":{},"body":{"classes/InitializationState.html":{}}}],["memory",{"_index":4174,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":1599,"title":{},"body":{"components/DropdownComponent.html":{},"components/TermOccurrenceListComponent.html":{},"changelog.html":{}}}],["merchantability",{"_index":4597,"title":{},"body":{"license.html":{}}}],["merge",{"_index":4578,"title":{},"body":{"license.html":{}}}],["mergeall",{"_index":2384,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["mergemap",{"_index":2678,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["message",{"_index":846,"title":{"interfaces/Message.html":{}},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["message_service_config",{"_index":1592,"title":{},"body":{"modules/DrawerModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["message_service_default_config",{"_index":1593,"title":{},"body":{"modules/DrawerModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["messagechannel",{"_index":861,"title":{"classes/MessageChannel.html":{}},"body":{"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["messagechannel(source",{"_index":2424,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["messagechannel.counter",{"_index":2411,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["messages",{"_index":840,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{}}}],["messageservice",{"_index":821,"title":{"injectables/MessageService.html":{}},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["messageservice.connect(this",{"_index":909,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["messageservice.connect(this).getmessages",{"_index":996,"title":{},"body":{"components/ContentComponent.html":{}}}],["messageserviceconfig",{"_index":2386,"title":{"interfaces/MessageServiceConfig.html":{}},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["messagess",{"_index":1144,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["metadata",{"_index":494,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["method",{"_index":668,"title":{},"body":{"components/CheckboxComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ThemingService.html":{}}}],["method.apply(registry",{"_index":2134,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["methodname",{"_index":2128,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ThemingService.html":{}}}],["methods",{"_index":79,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/CheckboxComponent.html":{},"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/DataStateSelectors.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{}}}],["min",{"_index":1511,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/TissueBlockListComponent.html":{},"components/ViewerComponent.html":{}}}],["minimap",{"_index":3414,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["minimum",{"_index":3376,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["minor",{"_index":3943,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":4495,"title":{"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mismatch",{"_index":1899,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["mit",{"_index":4562,"title":{},"body":{"license.html":{}}}],["ml",{"_index":1565,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["mm",{"_index":3182,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiComponent.html":{}}}],["mock",{"_index":4285,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":3091,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"changelog.html":{}}}],["mode",{"_index":337,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"changelog.html":{}}}],["model",{"_index":1271,"title":{},"body":{"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/OntologySelectionComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"dependencies.html":{}}}],["models/list",{"_index":2347,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["modify",{"_index":4577,"title":{},"body":{"license.html":{}}}],["module",{"_index":54,"title":{"modules/AppModule.html":{},"modules/CheckboxModule.html":{},"modules/CoreModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/StoreModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThemingModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{},"injectables/WorkerDataSourceService.html":{}}}],["modules",{"_index":56,"title":{"modules.html":{}},"body":{"modules/AppModule.html":{},"modules/CheckboxModule.html":{},"modules/CoreModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/StoreModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThemingModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{},"modules.html":{},"overview.html":{}}}],["modules/filters/filters",{"_index":121,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{}}}],["modules/ontology",{"_index":124,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/results",{"_index":127,"title":{},"body":{"modules/AppModule.html":{}}}],["monorepo",{"_index":4511,"title":{},"body":{"index.html":{}}}],["more",{"_index":1134,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"index.html":{}}}],["mouse",{"_index":1718,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["mousepositiontrackermodule",{"_index":1061,"title":{},"body":{"modules/CoreModule.html":{}}}],["move",{"_index":3401,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["moved",{"_index":4297,"title":{},"body":{"changelog.html":{}}}],["movement",{"_index":1719,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["movetonode",{"_index":2044,"title":{"classes/MoveToNode.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["movetonode(ctx",{"_index":2763,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["moving",{"_index":2045,"title":{},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateSpatialSearch.html":{}}}],["mr",{"_index":1567,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["msg",{"_index":970,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["msg.payload",{"_index":1008,"title":{},"body":{"components/ContentComponent.html":{}}}],["msg.payload.drawers",{"_index":1002,"title":{},"body":{"components/ContentComponent.html":{}}}],["msg.payload.opened",{"_index":3821,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["msg.payload.type",{"_index":999,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["msg.source",{"_index":1006,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["mt",{"_index":1568,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["much",{"_index":3978,"title":{},"body":{"changelog.html":{}}}],["multi",{"_index":3617,"title":{},"body":{"modules/ThemingModule.html":{}}}],["multiple",{"_index":4512,"title":{},"body":{"index.html":{}}}],["n3",{"_index":4470,"title":{},"body":{"dependencies.html":{}}}],["name",{"_index":26,"title":{},"body":{"classes/AddSearch.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["names",{"_index":4071,"title":{},"body":{"changelog.html":{}}}],["namespace",{"_index":1333,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"miscellaneous/variables.html":{}}}],["navigate_before",{"_index":3725,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["navigate_next",{"_index":3727,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["navigation",{"_index":3675,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"changelog.html":{}}}],["navigationoptions",{"_index":3699,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["necessary",{"_index":1749,"title":{},"body":{"components/DualSliderComponent.html":{},"injectables/ThemingService.html":{}}}],["need",{"_index":1278,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/DefaultIconDefinition.html":{},"components/FiltersPopoverComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["needed",{"_index":4157,"title":{},"body":{"changelog.html":{}}}],["needs",{"_index":851,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["nested",{"_index":1833,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["network",{"_index":4553,"title":{},"body":{"index.html":{}}}],["neuron",{"_index":1381,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["neuron.svg",{"_index":1382,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["never",{"_index":903,"title":{},"body":{"components/ContainerComponent.html":{},"components/ViewerComponent.html":{},"miscellaneous/functions.html":{}}}],["new",{"_index":278,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["newitems",{"_index":3166,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["newly",{"_index":2021,"title":{},"body":{"classes/FlatNode.html":{}}}],["newvalue",{"_index":1821,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["next",{"_index":481,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["nextbuttonid",{"_index":3679,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["nextel",{"_index":3709,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["nextmessageid",{"_index":2410,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["nextuid",{"_index":3712,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["ng",{"_index":687,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["ng5",{"_index":1777,"title":{},"body":{"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"dependencies.html":{}}}],["ng5slidermodule",{"_index":1853,"title":{},"body":{"modules/DualSliderModule.html":{}}}],["ngacceptinputtype_expanded",{"_index":2310,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngacceptinputtype_opened",{"_index":2309,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngacceptinputtype_position",{"_index":2308,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngafterviewinit",{"_index":830,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["ngdobootstrap",{"_index":80,"title":{},"body":{"modules/AppModule.html":{}}}],["ngmodule",{"_index":88,"title":{},"body":{"modules/AppModule.html":{},"modules/CheckboxModule.html":{},"modules/CoreModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/StoreModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThemingModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{}}}],["ngonchanges",{"_index":1688,"title":{},"body":{"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ViewerComponent.html":{}}}],["ngonchanges(changes",{"_index":1731,"title":{},"body":{"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ViewerComponent.html":{}}}],["ngondestroy",{"_index":831,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["ngoninit",{"_index":340,"title":{},"body":{"interfaces/AppOptions.html":{},"components/OntologySearchComponent.html":{}}}],["ngx",{"_index":678,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"dependencies.html":{}}}],["ngxs",{"_index":175,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"components/FiltersPopoverComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/logger",{"_index":3561,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/storage",{"_index":4427,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":179,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{},"dependencies.html":{}}}],["ngxs/store/operators",{"_index":3150,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["ngxsdatapluginmodule",{"_index":3557,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdatapluginmodule.forroot",{"_index":3574,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdatarepository",{"_index":1094,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["ngxsdispatchpluginmodule",{"_index":3559,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdispatchpluginmodule.forroot",{"_index":3584,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsimmutabledatarepository",{"_index":736,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["ngxsloggerpluginmodule",{"_index":3560,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsloggerpluginmodule.forroot",{"_index":3586,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule",{"_index":3563,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule.forroot(root_states",{"_index":3575,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsoninit",{"_index":1096,"title":{},"body":{"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nih",{"_index":4558,"title":{},"body":{"index.html":{}}}],["node",{"_index":2006,"title":{},"body":{"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"dependencies.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["node's",{"_index":2024,"title":{},"body":{"classes/FlatNode.html":{}}}],["node.ccf_annotations?.some?.(tag",{"_index":3021,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["node.children",{"_index":2620,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["node.entityid",{"_index":2985,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["node.id",{"_index":2533,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["node.label.tolowercase().includes(searchvalue",{"_index":2605,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["node.reference_organ",{"_index":3023,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["node.representation_of",{"_index":2982,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["node.synonymlabels.find((label",{"_index":2610,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["node.ts",{"_index":2005,"title":{},"body":{"classes/FlatNode.html":{},"coverage.html":{}}}],["node.ts:11",{"_index":2017,"title":{},"body":{"classes/FlatNode.html":{}}}],["node.ts:13",{"_index":2015,"title":{},"body":{"classes/FlatNode.html":{}}}],["node.ts:18",{"_index":2023,"title":{},"body":{"classes/FlatNode.html":{}}}],["node.ts:25",{"_index":2026,"title":{},"body":{"classes/FlatNode.html":{}}}],["node.ts:36",{"_index":2020,"title":{},"body":{"classes/FlatNode.html":{}}}],["node.ts:38",{"_index":2012,"title":{},"body":{"classes/FlatNode.html":{}}}],["node.ts:9",{"_index":2018,"title":{},"body":{"classes/FlatNode.html":{}}}],["node['@id",{"_index":2983,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodeclicked",{"_index":3362,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["nodeclickevent",{"_index":2941,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodes",{"_index":406,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchUiComponent.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["nodes.foreach((node",{"_index":2603,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["nodes.svg",{"_index":1374,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["nodes[node.parent",{"_index":2652,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["none",{"_index":1636,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["noninfringement",{"_index":4601,"title":{},"body":{"license.html":{}}}],["normally",{"_index":1968,"title":{},"body":{"components/FiltersPopoverComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["north",{"_index":3284,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["north_east",{"_index":3288,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["not(:first",{"_index":1532,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["not(:last",{"_index":2080,"title":{},"body":{"components/HeaderComponent.html":{}}}],["note",{"_index":1832,"title":{},"body":{"components/DualSliderComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["notebooks",{"_index":3912,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":4541,"title":{},"body":{"index.html":{}}}],["notice",{"_index":4177,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["notifies",{"_index":2860,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["now",{"_index":3981,"title":{},"body":{"changelog.html":{}}}],["nowrap",{"_index":1573,"title":{},"body":{"components/DonorCardComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["null",{"_index":2110,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"components/ViewerComponent.html":{}}}],["null)?.getcontainerelement",{"_index":3663,"title":{},"body":{"injectables/ThemingService.html":{}}}],["nullish",{"_index":2811,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["number",{"_index":644,"title":{},"body":{"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"classes/UpdateSpatialSearch.html":{},"changelog.html":{}}}],["number((event.target",{"_index":1822,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["number(this.options.floor",{"_index":1825,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["number(value.slice(0",{"_index":2255,"title":{},"body":{"classes/InitializationState.html":{}}}],["numebr",{"_index":3777,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["numeric",{"_index":4181,"title":{},"body":{"changelog.html":{}}}],["numresults",{"_index":2007,"title":{},"body":{"classes/FlatNode.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["o",{"_index":1159,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["o.disabled",{"_index":2730,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["o.id",{"_index":2729,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["o.representation_of",{"_index":2701,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["o.sex?.tolowercase",{"_index":2702,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["o['@id",{"_index":3019,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["object",{"_index":272,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["object.entries(counts",{"_index":3514,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["object.prototype.hasownproperty.call(colors",{"_index":3026,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["object.values(state.nodes",{"_index":2587,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["observable",{"_index":187,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["observableinput",{"_index":1103,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["observedvalueof",{"_index":1104,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["obtaining",{"_index":4570,"title":{},"body":{"license.html":{}}}],["occurence",{"_index":3431,"title":{},"body":{"modules/SpatialSearchUiModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"coverage.html":{}}}],["occurencedata",{"_index":2628,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["occurences",{"_index":1197,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["occurrence",{"_index":606,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["occurrence.component",{"_index":3610,"title":{},"body":{"modules/TermOccurrenceListModule.html":{}}}],["occurrence.component.html",{"_index":3590,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["occurrence.component.scss",{"_index":3589,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["occurrence.component.ts",{"_index":3588,"title":{},"body":{"components/TermOccurrenceListComponent.html":{},"coverage.html":{}}}],["occurrence.component.ts:15",{"_index":3600,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["occurrence.component.ts:20",{"_index":3593,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["occurrence.component.ts:25",{"_index":3594,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["occurrence.component.ts:30",{"_index":3596,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["occurrence.module",{"_index":3433,"title":{},"body":{"modules/SpatialSearchUiModule.html":{}}}],["occurrence.module.ts",{"_index":3609,"title":{},"body":{"modules/TermOccurrenceListModule.html":{}}}],["occurs",{"_index":1722,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["ofactiondispatched",{"_index":2671,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["ofactiondispatched(updatespatialsearch",{"_index":2704,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["off/on",{"_index":4160,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":4256,"title":{},"body":{"changelog.html":{}}}],["offset",{"_index":1010,"title":{},"body":{"components/ContentComponent.html":{}}}],["old",{"_index":4525,"title":{},"body":{"index.html":{}}}],["olditems",{"_index":3165,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["olditems.map(item",{"_index":3167,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["once",{"_index":1085,"title":{},"body":{"modules/CoreModule.html":{}}}],["onchanges",{"_index":1675,"title":{},"body":{"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ViewerComponent.html":{}}}],["ondestroy",{"_index":818,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["ondialogbuttonclick",{"_index":3055,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["one",{"_index":1133,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"index.html":{}}}],["oninit",{"_index":171,"title":{},"body":{"interfaces/AppOptions.html":{},"components/OntologySearchComponent.html":{}}}],["onkeyhigh",{"_index":1689,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["onkeyhigh(event",{"_index":1738,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["onkeylow",{"_index":1690,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["onkeylow(event",{"_index":1745,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["online",{"_index":4265,"title":{},"body":{"changelog.html":{}}}],["onscroll",{"_index":2834,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["onscroll(event",{"_index":2866,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["onselect",{"_index":2467,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["onselect(event",{"_index":2492,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["ontolgyselection.foreach((selection",{"_index":428,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ontolgyselection.length",{"_index":424,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ontolgyselection[0].label",{"_index":426,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ontological",{"_index":4313,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":4216,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":255,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"components/HeaderComponent.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["ontology_search",{"_index":2532,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["ontologyexplorationmodule",{"_index":67,"title":{"modules/OntologyExplorationModule.html":{}},"body":{"modules/AppModule.html":{},"modules/OntologyExplorationModule.html":{},"modules.html":{},"overview.html":{}}}],["ontologyfilter",{"_index":2629,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["ontologynode",{"_index":2645,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["ontologysearchcomponent",{"_index":580,"title":{"components/OntologySearchComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["ontologysearchmodule",{"_index":2446,"title":{"modules/OntologySearchModule.html":{}},"body":{"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules.html":{},"overview.html":{}}}],["ontologysearchservice",{"_index":2472,"title":{"injectables/OntologySearchService.html":{}},"body":{"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"interfaces/SearchResult.html":{},"coverage.html":{},"overview.html":{}}}],["ontologyselected(ontologyselection",{"_index":407,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ontologyselection",{"_index":199,"title":{"interfaces/OntologySelection.html":{}},"body":{"interfaces/AppOptions.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"coverage.html":{}}}],["ontologyselection.map(selection",{"_index":412,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ontologyselection[0",{"_index":418,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ontologyselection[0].label",{"_index":419,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ontologyselectioncomponent",{"_index":582,"title":{"components/OntologySelectionComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["ontologyselectionlabel",{"_index":259,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ontologyselectionmodule",{"_index":2447,"title":{"modules/OntologySelectionModule.html":{}},"body":{"modules/OntologyExplorationModule.html":{},"modules/OntologySelectionModule.html":{},"modules.html":{},"overview.html":{}}}],["ontologyselections",{"_index":2641,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["ontologyservice",{"_index":2465,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["ontologytermoccurencesdata",{"_index":1198,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["ontologytermoccurencesdata$.pipe(take(1)).subscribe(ontologytermsfulldata",{"_index":1248,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["ontologytermoccurencesdata(filter",{"_index":1292,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["ontologytermoccurencesdataquerystatus",{"_index":1173,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["ontologytermoccurrences",{"_index":1217,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["ontologyterms",{"_index":299,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"miscellaneous/variables.html":{}}}],["ontologytermsfulldata",{"_index":1185,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["ontologytreecomponent",{"_index":584,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologyTreeModule.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["ontologytreemodel",{"_index":180,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/SearchResult.html":{},"classes/SpatialSearchUiSelectors.html":{}}}],["ontologytreemodule",{"_index":2448,"title":{"modules/OntologyTreeModule.html":{}},"body":{"modules/OntologyExplorationModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules.html":{},"overview.html":{}}}],["ontologytreenode",{"_index":2010,"title":{},"body":{"classes/FlatNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"interfaces/SearchResult.html":{}}}],["opacities",{"_index":4164,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":992,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["opacityslidermodule",{"_index":2666,"title":{},"body":{"modules/OntologyTreeModule.html":{}}}],["open",{"_index":267,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/ViewerComponent.html":{},"miscellaneous/typealiases.html":{}}}],["open/close",{"_index":2232,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["open_in_new",{"_index":1503,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["openapi",{"_index":4017,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/angular",{"_index":1065,"title":{},"body":{"modules/CoreModule.html":{}}}],["openapi/js",{"_index":4537,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":4539,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":4538,"title":{},"body":{"index.html":{}}}],["opened",{"_index":977,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["opened(value",{"_index":2220,"title":{},"body":{"classes/InitializationState.html":{}}}],["opened/closed",{"_index":2177,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["openedchange",{"_index":2228,"title":{},"body":{"classes/InitializationState.html":{}}}],["openedstate",{"_index":2178,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["openexpanded",{"_index":2270,"title":{},"body":{"classes/InitializationState.html":{}}}],["opening",{"_index":2852,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["opening/closing/expanding",{"_index":2194,"title":{},"body":{"classes/InitializationState.html":{}}}],["opens",{"_index":1619,"title":{},"body":{"components/DropdownComponent.html":{},"classes/InitializationState.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["openspatialsearchconfig",{"_index":3312,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["operator",{"_index":1147,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["operatorfunction",{"_index":1105,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["opposite",{"_index":2183,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["optimization",{"_index":4111,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":4250,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":4139,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":666,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"changelog.html":{}}}],["option.displaylabel[0",{"_index":2536,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["option.displaylabel[1",{"_index":2537,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["option.displaylabel[2",{"_index":2538,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["option?.displaylabel",{"_index":2526,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["optional",{"_index":27,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"classes/RemoveSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["options",{"_index":635,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{}}}],["options.ceil",{"_index":1827,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["options.floor",{"_index":1826,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["optionschanged",{"_index":1691,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["optionsvisible",{"_index":1602,"title":{},"body":{"components/DropdownComponent.html":{}}}],["order",{"_index":2594,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["organ",{"_index":265,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"changelog.html":{},"index.html":{}}}],["organ(id",{"_index":3452,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organ.hassex",{"_index":2813,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organ.id",{"_index":3483,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organ.name",{"_index":3131,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["organ.representation_of",{"_index":2780,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organ.sex",{"_index":2736,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organ?.representation_of",{"_index":2796,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organ['@id",{"_index":2782,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organentity",{"_index":3437,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{}}}],["organentity(state",{"_index":2699,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organentity['@id",{"_index":3494,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organid",{"_index":2042,"title":{},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{}}}],["organid(state",{"_index":3454,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organid?.split('/').slice",{"_index":2711,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organids",{"_index":2998,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["organids.has(organ.id",{"_index":3001,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["organinfo",{"_index":2675,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organlistvisible",{"_index":268,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["organmatchessex",{"_index":3439,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organmatchessex(organ",{"_index":3456,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organname",{"_index":19,"title":{},"body":{"classes/AddSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["organs",{"_index":1341,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["organs(sex",{"_index":3458,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organs.filter(organ",{"_index":3485,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organs.find(o",{"_index":2700,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organs.find(organ",{"_index":3482,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organs/anatomical",{"_index":4165,"title":{},"body":{"changelog.html":{}}}],["organscene",{"_index":2689,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organscene.concat(sphere",{"_index":3505,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organselectormodule",{"_index":106,"title":{},"body":{"modules/AppModule.html":{}}}],["organvalidforsex",{"_index":3519,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["organvalidforsex(organid",{"_index":2809,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["origin",{"_index":3734,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["original",{"_index":2014,"title":{},"body":{"classes/FlatNode.html":{}}}],["originx",{"_index":1778,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["originy",{"_index":1779,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["orthographic",{"_index":4081,"title":{},"body":{"changelog.html":{}}}],["ot",{"_index":1329,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["ot2od026671",{"_index":4560,"title":{},"body":{"index.html":{}}}],["other.expanded",{"_index":2297,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.expandedstate2",{"_index":2298,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.margin2",{"_index":2303,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.measuredmargin",{"_index":2301,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.measuredwidth",{"_index":2300,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.opened",{"_index":2299,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.width",{"_index":2302,"title":{},"body":{"classes/InitializationState.html":{}}}],["otherblocks",{"_index":2367,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["otherblocks.push",{"_index":2372,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["others",{"_index":277,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["otherwise",{"_index":2117,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"license.html":{}}}],["out",{"_index":74,"title":{},"body":{"modules/AppModule.html":{},"modules/CheckboxModule.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"classes/InitializationState.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThemingModule.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{},"license.html":{},"overview.html":{}}}],["outline",{"_index":1936,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["output",{"_index":676,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ViewerComponent.html":{}}}],["outputs",{"_index":636,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ViewerComponent.html":{}}}],["outside",{"_index":1465,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["ovaries",{"_index":1383,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["ovaries.svg",{"_index":1384,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["ovary",{"_index":1385,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["over",{"_index":1490,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"changelog.html":{}}}],["overall",{"_index":649,"title":{},"body":{"components/CheckboxComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["overflow",{"_index":936,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["overlay",{"_index":289,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/SpinnerOverlayComponent.html":{},"injectables/ThemingService.html":{},"components/ViewerComponent.html":{}}}],["overlay'},{'name",{"_index":603,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["overlay.component",{"_index":3554,"title":{},"body":{"modules/SpinnerOverlayModule.html":{}}}],["overlay.component.html",{"_index":3539,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["overlay.component.scss",{"_index":3538,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["overlay.component.ts",{"_index":3536,"title":{},"body":{"components/SpinnerOverlayComponent.html":{},"coverage.html":{}}}],["overlay.component.ts:16",{"_index":3544,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["overlay.component.ts:19",{"_index":3540,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["overlay.component.ts:22",{"_index":3542,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["overlay.create",{"_index":1785,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["overlay.module",{"_index":139,"title":{},"body":{"modules/AppModule.html":{}}}],["overlay.module.ts",{"_index":3551,"title":{},"body":{"modules/SpinnerOverlayModule.html":{}}}],["overlay.position().flexibleconnectedto(element).withpositions([position",{"_index":1783,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["overlay.service",{"_index":113,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{}}}],["overlay.service.ts",{"_index":455,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"coverage.html":{}}}],["overlay.service.ts:10",{"_index":467,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["overlay.service.ts:11",{"_index":466,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["overlay.service.ts:13",{"_index":465,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["overlay.service.ts:27",{"_index":462,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["overlay.service.ts:32",{"_index":463,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["overlay.setrootelement(el",{"_index":322,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["overlay/app",{"_index":112,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"coverage.html":{}}}],["overlay/spinner",{"_index":138,"title":{},"body":{"modules/AppModule.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"coverage.html":{}}}],["overlaycontainer",{"_index":84,"title":{},"body":{"modules/AppModule.html":{},"injectables/AppRootOverlayContainer.html":{},"injectables/ThemingService.html":{}}}],["overlaymodule",{"_index":1851,"title":{},"body":{"modules/DualSliderModule.html":{}}}],["overlayref",{"_index":1683,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["overlayref.attach(popoverportal",{"_index":1819,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["overlayref.updateposition",{"_index":1820,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["overlays",{"_index":4306,"title":{},"body":{"changelog.html":{}}}],["overlayx",{"_index":1780,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["overlayy",{"_index":1781,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["overview",{"_index":4614,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["owning",{"_index":3804,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["p",{"_index":4281,"title":{},"body":{"changelog.html":{}}}],["package",{"_index":3986,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["padding",{"_index":1514,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ViewerComponent.html":{}}}],["page",{"_index":2055,"title":{},"body":{"components/HeaderComponent.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["pages",{"_index":4052,"title":{},"body":{"changelog.html":{}}}],["pair",{"_index":2305,"title":{},"body":{"classes/InitializationState.html":{}}}],["paired",{"_index":4041,"title":{},"body":{"changelog.html":{}}}],["palatine",{"_index":1386,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["pancreas",{"_index":1389,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["pancreas.svg",{"_index":1390,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["pane",{"_index":1656,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"changelog.html":{}}}],["panel",{"_index":1644,"title":{},"body":{"components/DropdownComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"changelog.html":{}}}],["panelclass",{"_index":1786,"title":{},"body":{"components/DualSliderComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["panelcontent",{"_index":3100,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["paneldata",{"_index":3049,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["param",{"_index":311,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["param0",{"_index":2980,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["parameters",{"_index":24,"title":{},"body":{"classes/AddSearch.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/DataStateSelectors.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"classes/RemoveSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["params",{"_index":2190,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["parent",{"_index":662,"title":{},"body":{"components/CheckboxComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["parent.messages.pipe(takewhile",{"_index":2417,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["parse",{"_index":549,"title":{},"body":{"components/AppWebComponent.html":{}}}],["parsedatasources",{"_index":550,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["parsedatasources(value",{"_index":527,"title":{},"body":{"components/AppWebComponent.html":{},"miscellaneous/functions.html":{}}}],["parser",{"_index":4434,"title":{},"body":{"dependencies.html":{}}}],["part",{"_index":2487,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["partial",{"_index":1277,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"classes/UpdateFilter.html":{}}}],["particular",{"_index":4599,"title":{},"body":{"license.html":{}}}],["partly",{"_index":4150,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":4093,"title":{},"body":{"changelog.html":{}}}],["parts",{"_index":2138,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.join",{"_index":2143,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('innamespace",{"_index":2142,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('literal",{"_index":2141,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('set",{"_index":2140,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["passed",{"_index":257,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DualSliderComponent.html":{},"components/OntologySelectionComponent.html":{}}}],["passes",{"_index":1480,"title":{},"body":{"components/DonorCardComponent.html":{},"components/OntologySelectionComponent.html":{}}}],["path",{"_index":693,"title":{},"body":{"components/CheckboxComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"dependencies.html":{}}}],["patient",{"_index":1450,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{}}}],["payload",{"_index":733,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/typealiases.html":{}}}],["payload('doreset",{"_index":780,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["pelvis",{"_index":1391,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["per",{"_index":3714,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["performance",{"_index":3990,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":4566,"title":{},"body":{"license.html":{}}}],["permit",{"_index":4585,"title":{},"body":{"license.html":{}}}],["person",{"_index":1500,"title":{},"body":{"components/DonorCardComponent.html":{},"components/TissueBlockListComponent.html":{},"license.html":{}}}],["persons",{"_index":4586,"title":{},"body":{"license.html":{}}}],["pick",{"_index":3931,"title":{},"body":{"changelog.html":{}}}],["pipe",{"_index":1156,"title":{},"body":{"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"miscellaneous/functions.html":{}}}],["pipe(mergeall",{"_index":2419,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["placed",{"_index":3573,"title":{},"body":{"modules/StoreModule.html":{}}}],["placeholder",{"_index":4260,"title":{},"body":{"changelog.html":{}}}],["placeholdertext",{"_index":2470,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{}}}],["placement",{"_index":3927,"title":{},"body":{"changelog.html":{}}}],["placenta",{"_index":1394,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["placenta.svg",{"_index":1395,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["player",{"_index":4405,"title":{},"body":{"dependencies.html":{}}}],["pluck",{"_index":191,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["plugin",{"_index":3562,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["plus",{"_index":3938,"title":{},"body":{"changelog.html":{}}}],["pointer",{"_index":1521,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["popover",{"_index":376,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["popover's",{"_index":377,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["popover'},{'name",{"_index":577,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["popover.component",{"_index":223,"title":{},"body":{"interfaces/AppOptions.html":{},"modules/FiltersPopoverModule.html":{}}}],["popover.component.html",{"_index":1957,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.scss",{"_index":1956,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts",{"_index":1955,"title":{},"body":{"components/FiltersPopoverComponent.html":{},"coverage.html":{}}}],["popover.component.ts:21",{"_index":1965,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:27",{"_index":1962,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:32",{"_index":1971,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:37",{"_index":1969,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:42",{"_index":1970,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:47",{"_index":1972,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:52",{"_index":1974,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:57",{"_index":1973,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:62",{"_index":1981,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:68",{"_index":1980,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:77",{"_index":1978,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:87",{"_index":1976,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.module",{"_index":123,"title":{},"body":{"modules/AppModule.html":{}}}],["popover.module.ts",{"_index":2001,"title":{},"body":{"modules/FiltersPopoverModule.html":{}}}],["popover/filters",{"_index":122,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"coverage.html":{}}}],["popoverelement",{"_index":1684,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["popoverelement?.nativeelement?.contains?.(target",{"_index":1810,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["popoverportal",{"_index":1685,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["popup",{"_index":1858,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"changelog.html":{}}}],["portal",{"_index":2062,"title":{},"body":{"components/HeaderComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"index.html":{}}}],["portal's",{"_index":4242,"title":{},"body":{"changelog.html":{}}}],["portalmodule",{"_index":1852,"title":{},"body":{"modules/DualSliderModule.html":{}}}],["portions",{"_index":4592,"title":{},"body":{"license.html":{}}}],["position",{"_index":894,"title":{"interfaces/Position.html":{}},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/InitializationState.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["position(state",{"_index":3460,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["position(value",{"_index":2216,"title":{},"body":{"classes/InitializationState.html":{}}}],["positionchange",{"_index":3363,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["positions",{"_index":860,"title":{},"body":{"components/ContainerComponent.html":{}}}],["positionstrategy",{"_index":1782,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["possible",{"_index":4200,"title":{},"body":{"changelog.html":{}}}],["preclose",{"_index":342,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["prefered",{"_index":3700,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["preference",{"_index":353,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["preferences",{"_index":4068,"title":{},"body":{"changelog.html":{}}}],["prefix",{"_index":2540,"title":{},"body":{"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["preparation",{"_index":4291,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":4304,"title":{},"body":{"changelog.html":{}}}],["press",{"_index":3227,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["pressed",{"_index":1744,"title":{},"body":{"components/DualSliderComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["pressed/clicked",{"_index":3245,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["prev",{"_index":3722,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["prevbuttonid",{"_index":3678,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["prevel",{"_index":3707,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["prevent",{"_index":3970,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":4080,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":3717,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["previously",{"_index":4011,"title":{},"body":{"changelog.html":{}}}],["primary",{"_index":3411,"title":{},"body":{"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["private",{"_index":318,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DualSliderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{}}}],["probing",{"_index":3394,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["process",{"_index":969,"title":{},"body":{"components/ContentComponent.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["processed",{"_index":4234,"title":{},"body":{"changelog.html":{}}}],["processes",{"_index":848,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["processing",{"_index":4069,"title":{},"body":{"changelog.html":{}}}],["production",{"_index":3998,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":3982,"title":{},"body":{"changelog.html":{}}}],["progress",{"_index":3537,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["project",{"_index":4279,"title":{},"body":{"changelog.html":{}}}],["projected",{"_index":855,"title":{},"body":{"components/ContainerComponent.html":{}}}],["projects",{"_index":4513,"title":{},"body":{"index.html":{}}}],["projects/.../action",{"_index":4499,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["projects/.../app",{"_index":4500,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../color",{"_index":4625,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../container.component.ts",{"_index":4501,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../data",{"_index":4624,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../data.state.ts",{"_index":4497,"title":{},"body":{"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/.../default",{"_index":4626,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../drawer.component.ts",{"_index":4619,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../message.service.ts",{"_index":4629,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../messages.ts",{"_index":4618,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../ontology",{"_index":4621,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../scene.state.ts",{"_index":4627,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../spatial",{"_index":4622,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../store.module.ts",{"_index":4631,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../theming.service.ts",{"_index":4628,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../thumbnail",{"_index":4630,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/ccf",{"_index":6,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"coverage.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":2167,"title":{},"body":{"classes/InitializationState.html":{}}}],["promise(resolve",{"_index":2164,"title":{},"body":{"classes/InitializationState.html":{}}}],["prop",{"_index":2126,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["properties",{"_index":12,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"interfaces/IconDefinition.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["property",{"_index":671,"title":{},"body":{"components/CheckboxComponent.html":{},"components/ContentComponent.html":{},"components/FiltersContentComponent.html":{},"classes/InitializationState.html":{},"components/ViewerComponent.html":{}}}],["property('expandable",{"_index":4635,"title":{},"body":{"miscellaneous/variables.html":{}}}],["property('level",{"_index":4634,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prostate",{"_index":1396,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["prostate.svg",{"_index":1397,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["protected",{"_index":458,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/WorkerDataSourceService.html":{}}}],["provide",{"_index":142,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/DrawerModule.html":{},"modules/ThemingModule.html":{}}}],["provided",{"_index":869,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"changelog.html":{},"license.html":{}}}],["providedin",{"_index":468,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/variables.html":{}}}],["provider",{"_index":1211,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["providerfilter",{"_index":1224,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["providerfilterdata",{"_index":1212,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["providerfilterquerystatus",{"_index":1181,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["providerfilters",{"_index":1865,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["providers",{"_index":141,"title":{},"body":{"modules/AppModule.html":{},"components/ContainerComponent.html":{},"modules/CoreModule.html":{},"modules/DrawerModule.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/OntologySelectionComponent.html":{},"modules/ThemingModule.html":{},"changelog.html":{}}}],["providertoken",{"_index":1433,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["provides",{"_index":2475,"title":{},"body":{"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["providing",{"_index":942,"title":{},"body":{"components/ContentComponent.html":{}}}],["public",{"_index":2464,"title":{},"body":{"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"changelog.html":{}}}],["publish",{"_index":4579,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":3984,"title":{},"body":{"changelog.html":{}}}],["publishreplay",{"_index":1109,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["publishreplay(1",{"_index":1163,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["purpose",{"_index":4600,"title":{},"body":{"license.html":{}}}],["pushed",{"_index":4124,"title":{},"body":{"changelog.html":{}}}],["px",{"_index":2208,"title":{},"body":{"classes/InitializationState.html":{}}}],["python",{"_index":3913,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["q",{"_index":3255,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["qs",{"_index":4477,"title":{},"body":{"dependencies.html":{}}}],["qualitative",{"_index":4246,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":4028,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":1130,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/enumerations.html":{}}}],["query",{"_index":1153,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["querydata",{"_index":1157,"title":{},"body":{"interfaces/DataStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["querydata(query",{"_index":4508,"title":{},"body":{"miscellaneous/functions.html":{}}}],["querying",{"_index":1149,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["querylist",{"_index":865,"title":{},"body":{"components/ContainerComponent.html":{}}}],["querystatus",{"_index":1226,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["question",{"_index":650,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["quickly",{"_index":4227,"title":{},"body":{"changelog.html":{}}}],["radio",{"_index":3135,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["radius",{"_index":1517,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{}}}],["radius(state",{"_index":3462,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["radius.tofixed(1",{"_index":2773,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["radiuschange",{"_index":3364,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["radiussettings",{"_index":2682,"title":{"interfaces/RadiusSettings.html":{}},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"coverage.html":{}}}],["radiussettings(state",{"_index":3464,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["radiussettings?.defaultvalue",{"_index":2776,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["range",{"_index":1707,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["rangelabel",{"_index":1698,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["rank",{"_index":728,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"miscellaneous/variables.html":{}}}],["rank']).concat(otherblocks",{"_index":2374,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["rc.1",{"_index":4252,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":4479,"title":{},"body":{"dependencies.html":{}}}],["rdfjs",{"_index":4407,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":4429,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":4480,"title":{},"body":{"dependencies.html":{}}}],["reactiveformsmodule",{"_index":2550,"title":{},"body":{"modules/OntologySearchModule.html":{}}}],["read",{"_index":1764,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["readable",{"_index":4482,"title":{},"body":{"dependencies.html":{}}}],["readonly",{"_index":14,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{}}}],["ready",{"_index":1093,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["real",{"_index":4264,"title":{},"body":{"changelog.html":{}}}],["really",{"_index":2695,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["reallyupdatespatialsearch",{"_index":2694,"title":{"classes/ReallyUpdateSpatialSearch.html":{}},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"coverage.html":{}}}],["reason",{"_index":3571,"title":{},"body":{"modules/StoreModule.html":{}}}],["receive",{"_index":958,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{}}}],["receiving",{"_index":2391,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["record",{"_index":764,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["rectify",{"_index":4014,"title":{},"body":{"changelog.html":{}}}],["reduce",{"_index":4116,"title":{},"body":{"changelog.html":{}}}],["reduction",{"_index":3963,"title":{},"body":{"changelog.html":{}}}],["refcount",{"_index":1110,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["reference",{"_index":843,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"injectables/OntologySearchService.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["referenceorgan",{"_index":3359,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["referenceorgan.name",{"_index":3400,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["referenceorganentities",{"_index":2925,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["referenceorganentities(state",{"_index":2935,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["referenceorgans",{"_index":2688,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["referenceorgans(state",{"_index":2938,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SpatialSearchUiSelectors.html":{}}}],["referenceorgans.filter((o",{"_index":2728,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["referenceorgans.find(item",{"_index":2794,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["references",{"_index":981,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["referencing",{"_index":3701,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["refernced",{"_index":4042,"title":{},"body":{"changelog.html":{}}}],["reforgandata",{"_index":3013,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["reforgans",{"_index":3016,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["reforgans.has(node.reference_organ",{"_index":3024,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["refresh",{"_index":1931,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"changelog.html":{}}}],["refreshclicked",{"_index":2059,"title":{},"body":{"components/HeaderComponent.html":{}}}],["refreshes",{"_index":1890,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["refreshfilters",{"_index":1862,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["regions",{"_index":4307,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":1335,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"dependencies.html":{}}}],["registered",{"_index":1339,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["registericon",{"_index":2121,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registericon(definition",{"_index":2118,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registericonimpl",{"_index":2147,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registericonimpl(definition",{"_index":2122,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registering",{"_index":2098,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registers",{"_index":2115,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registration",{"_index":1328,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{},"index.html":{}}}],["registrations",{"_index":4106,"title":{},"body":{"changelog.html":{}}}],["registry",{"_index":2105,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registry.state",{"_index":3567,"title":{},"body":{"modules/StoreModule.html":{}}}],["registry.state.ts",{"_index":2097,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{}}}],["registry.state.ts:114",{"_index":2153,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:134",{"_index":2151,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:43",{"_index":2149,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:74",{"_index":2154,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:84",{"_index":2155,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry/default",{"_index":1320,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["registry/icon",{"_index":2096,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/StoreModule.html":{},"coverage.html":{}}}],["registry[methodname",{"_index":2130,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["regular",{"_index":1247,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["related",{"_index":4144,"title":{},"body":{"changelog.html":{}}}],["relative",{"_index":935,"title":{},"body":{"components/ContainerComponent.html":{},"components/DonorCardComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/InitializationState.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{}}}],["release",{"_index":3908,"title":{},"body":{"changelog.html":{}}}],["relevant",{"_index":2851,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["reliability",{"_index":4179,"title":{},"body":{"changelog.html":{}}}],["reload",{"_index":3850,"title":{},"body":{"components/ViewerComponent.html":{}}}],["reloads",{"_index":4076,"title":{},"body":{"changelog.html":{}}}],["rem",{"_index":1934,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["remoteapiendpoint",{"_index":505,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["remove",{"_index":44,"title":{},"body":{"classes/AddSearch.html":{},"components/CheckboxComponent.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"injectables/ThemingService.html":{}}}],["removebox",{"_index":1959,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["removeclass",{"_index":3665,"title":{},"body":{"injectables/ThemingService.html":{}}}],["removed",{"_index":4060,"title":{},"body":{"changelog.html":{}}}],["removed/deleted",{"_index":1882,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["removeitem",{"_index":3149,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["removes",{"_index":3629,"title":{},"body":{"injectables/ThemingService.html":{},"changelog.html":{}}}],["removesearch",{"_index":43,"title":{"classes/RemoveSearch.html":{}},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"coverage.html":{}}}],["removesearch(ctx",{"_index":3158,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["removespatialsearch",{"_index":250,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["render",{"_index":1967,"title":{},"body":{"components/FiltersPopoverComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["renderer",{"_index":3659,"title":{},"body":{"injectables/ThemingService.html":{}}}],["renderer2",{"_index":3647,"title":{},"body":{"injectables/ThemingService.html":{}}}],["renderer[methodname](overlay",{"_index":3667,"title":{},"body":{"injectables/ThemingService.html":{}}}],["renderer[methodname](root",{"_index":3666,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rendering",{"_index":2821,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["repeat",{"_index":1111,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/HeaderComponent.html":{}}}],["repeat(1000",{"_index":1263,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["repeat(5",{"_index":3295,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["replay",{"_index":1151,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["replaysubject",{"_index":188,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["replaysubject(1",{"_index":303,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["replaysubject>(1",{"_index":1186,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["repository",{"_index":1164,"title":{},"body":{"interfaces/DataStateModel.html":{},"index.html":{}}}],["required",{"_index":4219,"title":{},"body":{"changelog.html":{}}}],["reset",{"_index":73,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"modules/CheckboxModule.html":{},"modules/CoreModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"classes/GenerateSpatialSearch.html":{},"modules/HeaderModule.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThemingModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"classes/UpdateSpatialSearch.html":{},"modules/ViewerModule.html":{},"overview.html":{}}}],["resetposition",{"_index":2046,"title":{"classes/ResetPosition.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["resetposition(ctx",{"_index":2760,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["resetradius",{"_index":2048,"title":{"classes/ResetRadius.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["resetradius(ctx",{"_index":2775,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["resets",{"_index":366,"title":{},"body":{"interfaces/AppOptions.html":{},"components/HeaderComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["resetsphere",{"_index":3365,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["resettheme",{"_index":3623,"title":{},"body":{"injectables/ThemingService.html":{}}}],["resetview",{"_index":384,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["resolve",{"_index":2160,"title":{},"body":{"classes/InitializationState.html":{}}}],["resolved",{"_index":4129,"title":{},"body":{"changelog.html":{}}}],["resolves",{"_index":882,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["respond",{"_index":4091,"title":{},"body":{"changelog.html":{}}}],["responsible",{"_index":2557,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["restriction",{"_index":4574,"title":{},"body":{"license.html":{}}}],["result",{"_index":51,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["result.ts",{"_index":2313,"title":{},"body":{"interfaces/ListResult.html":{},"coverage.html":{}}}],["resultlabel",{"_index":2835,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["results",{"_index":53,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["results.state",{"_index":215,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["results.state.ts",{"_index":2315,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"coverage.html":{}}}],["results.state.ts:30",{"_index":2343,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:31",{"_index":2341,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:35",{"_index":2339,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:38",{"_index":2324,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:58",{"_index":2336,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:62",{"_index":2334,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:66",{"_index":2329,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:70",{"_index":2331,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:74",{"_index":2337,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:81",{"_index":2332,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results/list",{"_index":214,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"coverage.html":{}}}],["results_browser",{"_index":2876,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["resultsbrowser",{"_index":2820,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["resultsbrowsercomponent",{"_index":586,"title":{"components/ResultsBrowserComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["resultsbrowseritems",{"_index":2826,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["resultsbrowsermodule",{"_index":68,"title":{"modules/ResultsBrowserModule.html":{}},"body":{"modules/AppModule.html":{},"modules/ResultsBrowserModule.html":{},"modules.html":{},"overview.html":{}}}],["return",{"_index":285,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/variables.html":{}}}],["returns",{"_index":82,"title":{},"body":{"modules/AppModule.html":{},"injectables/AppRootOverlayContainer.html":{},"components/CheckboxComponent.html":{},"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/functions.html":{}}}],["reuse",{"_index":1246,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["reverse",{"_index":1935,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["rgb",{"_index":740,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"dependencies.html":{}}}],["rgba",{"_index":729,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["rgba(0",{"_index":1545,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["rgba[3",{"_index":757,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["right",{"_index":373,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContentComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["right.closeexpanded",{"_index":381,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["right.open",{"_index":380,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["right.px",{"_index":956,"title":{},"body":{"components/ContentComponent.html":{}}}],["right.svg",{"_index":1357,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["rightmargin",{"_index":949,"title":{},"body":{"components/ContentComponent.html":{}}}],["rights",{"_index":4576,"title":{},"body":{"license.html":{}}}],["ripple",{"_index":1525,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["root",{"_index":111,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"classes/DataStateSelectors.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["root'},{'name",{"_index":558,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["root_states",{"_index":3569,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rootelement",{"_index":457,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["rootnode",{"_index":2559,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["rotates",{"_index":4078,"title":{},"body":{"changelog.html":{}}}],["round",{"_index":4168,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":4182,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":3951,"title":{},"body":{"changelog.html":{}}}],["row",{"_index":708,"title":{},"body":{"components/CheckboxComponent.html":{},"components/FiltersContentComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["rows",{"_index":3297,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["ru/common",{"_index":4395,"title":{},"body":{"dependencies.html":{}}}],["ru/common/typings",{"_index":2593,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["ru/common/typings/immutability",{"_index":731,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ResultsBrowserComponent.html":{}}}],["rui",{"_index":3929,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["rui_locations.jsonld",{"_index":3975,"title":{},"body":{"changelog.html":{}}}],["run",{"_index":589,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["running",{"_index":1135,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/enumerations.html":{}}}],["runspatialsearchcomponent",{"_index":588,"title":{"components/RunSpatialSearchComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["runspatialsearchmodule",{"_index":69,"title":{"modules/RunSpatialSearchModule.html":{}},"body":{"modules/AppModule.html":{},"modules/FiltersContentModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules.html":{},"overview.html":{}}}],["runtime",{"_index":1327,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["rxjs",{"_index":189,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ToggleButtonComponent.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":192,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["rxjsfilter",{"_index":1108,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["rxjsfilter((status",{"_index":1167,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["s",{"_index":3259,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"classes/SpatialSearchUiSelectors.html":{}}}],["safedef",{"_index":2111,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["safehtml",{"_index":2099,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["saferesourceurl",{"_index":2100,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ViewerComponent.html":{}}}],["safeurl",{"_index":3838,"title":{},"body":{"components/ViewerComponent.html":{}}}],["sample",{"_index":3670,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"changelog.html":{},"index.html":{}}}],["samples",{"_index":3835,"title":{},"body":{"components/ViewerComponent.html":{},"changelog.html":{}}}],["sanitize",{"_index":2108,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["sanitized",{"_index":1330,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/ViewerComponent.html":{}}}],["sanitizer",{"_index":2107,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ViewerComponent.html":{}}}],["sanitizer.bypasssecuritytrusthtml(html",{"_index":2113,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["sanitizer.bypasssecuritytrustresourceurl(url",{"_index":2112,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ViewerComponent.html":{}}}],["sans",{"_index":2085,"title":{},"body":{"components/HeaderComponent.html":{}}}],["sass:math",{"_index":1828,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["saved",{"_index":1894,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["saver",{"_index":4451,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":4280,"title":{},"body":{"changelog.html":{}}}],["scene",{"_index":315,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"classes/GenerateSpatialSearch.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"classes/MoveToNode.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateSpatialSearch.html":{},"changelog.html":{}}}],["scene(state",{"_index":3467,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["scene.filter(node",{"_index":3020,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scene/scene.state",{"_index":2681,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{}}}],["scenebounds",{"_index":3308,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{}}}],["scenebounds(organentity",{"_index":3469,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["scenedata",{"_index":1204,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["scenedata(filter",{"_index":1298,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["scenedataquerystatus",{"_index":1177,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["scenenodeclicked",{"_index":2926,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scenenodeclicked(undefined",{"_index":2940,"title":{},"body":{"injectables/SceneState.html":{}}}],["scenenodehovered",{"_index":2927,"title":{},"body":{"injectables/SceneState.html":{}}}],["scenenodehovered(node",{"_index":2944,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scenenodeunhover",{"_index":2928,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scenestate",{"_index":216,"title":{"injectables/SceneState.html":{}},"body":{"interfaces/AppOptions.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["scenestate.referenceorganentities",{"_index":2698,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["scenestatemodel",{"_index":2936,"title":{"interfaces/SceneStateModel.html":{}},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"coverage.html":{}}}],["scenetarget",{"_index":3309,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{}}}],["scenetarget(organentity",{"_index":3471,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["scheduled",{"_index":4130,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":4283,"title":{},"body":{"changelog.html":{}}}],["scheme",{"_index":356,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["schemes",{"_index":4247,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":4554,"title":{},"body":{"index.html":{}}}],["scroll",{"_index":2869,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["scrollbar",{"_index":2544,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["scrolled",{"_index":2871,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["scrollheight",{"_index":2882,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["scrolling",{"_index":939,"title":{},"body":{"components/ContainerComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["scrollingmodule",{"_index":2901,"title":{},"body":{"modules/ResultsBrowserModule.html":{}}}],["scrolltop",{"_index":2883,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["search",{"_index":8,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["search'},{'name",{"_index":581,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["search.component",{"_index":2554,"title":{},"body":{"modules/OntologySearchModule.html":{},"modules/RunSpatialSearchModule.html":{}}}],["search.component.html",{"_index":2460,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{}}}],["search.component.scss",{"_index":2459,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{}}}],["search.component.ts",{"_index":2456,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{},"coverage.html":{}}}],["search.component.ts:107",{"_index":2494,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:23",{"_index":2476,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{}}}],["search.component.ts:29",{"_index":2477,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:30",{"_index":2909,"title":{},"body":{"components/RunSpatialSearchComponent.html":{}}}],["search.component.ts:34",{"_index":2506,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:40",{"_index":2504,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:45",{"_index":2473,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:53",{"_index":2509,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:60",{"_index":2488,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:78",{"_index":2482,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:88",{"_index":2498,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:98",{"_index":2502,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.detached",{"_index":2541,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.module",{"_index":136,"title":{},"body":{"modules/AppModule.html":{},"modules/FiltersContentModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySelectionModule.html":{}}}],["search.module.ts",{"_index":2548,"title":{},"body":{"modules/OntologySearchModule.html":{},"modules/RunSpatialSearchModule.html":{}}}],["search.service",{"_index":2513,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{}}}],["search.service.ts",{"_index":2556,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"coverage.html":{}}}],["search.service.ts:100",{"_index":2579,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:111",{"_index":2569,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:128",{"_index":2575,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:30",{"_index":2592,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:31",{"_index":2591,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:34",{"_index":2588,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:37",{"_index":2590,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:39",{"_index":2585,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:50",{"_index":2566,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:63",{"_index":2581,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search/ontology",{"_index":2451,"title":{},"body":{"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"interfaces/SearchResult.html":{},"coverage.html":{}}}],["search/run",{"_index":135,"title":{},"body":{"modules/AppModule.html":{},"modules/FiltersContentModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"coverage.html":{}}}],["searched",{"_index":2491,"title":{},"body":{"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["searches",{"_index":49,"title":{},"body":{"classes/AddSearch.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"interfaces/SearchResult.html":{},"classes/SetSelectedSearches.html":{},"classes/SpatialSearchFilterSelectors.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{}}}],["searches(items",{"_index":3191,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["searches.concat(search",{"_index":2801,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["searching",{"_index":2458,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{}}}],["searchresult",{"_index":2481,"title":{"interfaces/SearchResult.html":{}},"body":{"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"coverage.html":{}}}],["searchresults",{"_index":2602,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["searchresults.get(node.id",{"_index":2606,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["searchresults.set(node.id",{"_index":2607,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["searchservice",{"_index":2474,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["searchvalue",{"_index":2568,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["searchvalue.length",{"_index":2617,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["section",{"_index":614,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["section.description",{"_index":1510,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["section.label",{"_index":1509,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["section.sectionnumber",{"_index":3787,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["sectionnumber",{"_index":3785,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["sectionnumber).length",{"_index":3788,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["sections",{"_index":3778,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["see",{"_index":3954,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["select",{"_index":178,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"changelog.html":{}}}],["select(datastateselectors.anatomicalstructurestreemodel",{"_index":246,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["select(datastateselectors.celltypestreemodel",{"_index":244,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["select(spatialsearchfilterselectors.items",{"_index":247,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["select(spatialsearchuiselectors.anatomicalstructures",{"_index":3321,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.celltypes",{"_index":3323,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.defaultposition",{"_index":3325,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.organ",{"_index":3073,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.organs",{"_index":3070,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.position",{"_index":3331,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.radius",{"_index":3333,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.radiussettings",{"_index":3335,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.scene",{"_index":3341,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.scenebounds",{"_index":3342,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.scenetarget",{"_index":3344,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.sex",{"_index":3075,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.tissueblocks",{"_index":3347,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["selectable",{"_index":1561,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["selectablesearches",{"_index":248,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["selected",{"_index":48,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetSelectedSearches.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{}}}],["selected(ontologynode",{"_index":2643,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selected/deselected",{"_index":1884,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["selectedanatomicalstructures",{"_index":2971,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["selectedbyids",{"_index":3163,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["selectedbyids.get(item.id",{"_index":3168,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["selectedorgan",{"_index":3050,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["selectedorgans",{"_index":3012,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["selectedreferenceorgans",{"_index":2924,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["selectedsearches",{"_index":3187,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["selectedsearches(items",{"_index":3194,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["selectedsexes",{"_index":1921,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["selectedsexes.has(currentsex",{"_index":1926,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["selectedsexes.size",{"_index":1925,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["selecting",{"_index":1607,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"changelog.html":{}}}],["selection",{"_index":201,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySelectionComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["selection'},{'name",{"_index":583,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["selection.component",{"_index":2659,"title":{},"body":{"modules/OntologySelectionModule.html":{}}}],["selection.component.html",{"_index":2627,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.scss",{"_index":2626,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts",{"_index":2624,"title":{},"body":{"components/OntologySelectionComponent.html":{},"coverage.html":{}}}],["selection.component.ts:23",{"_index":2648,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:28",{"_index":2634,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:33",{"_index":2638,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:38",{"_index":2639,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:45",{"_index":2636,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:47",{"_index":2633,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:48",{"_index":2637,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:53",{"_index":2632,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:61",{"_index":2646,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:64",{"_index":2642,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:75",{"_index":2644,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.id",{"_index":413,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["selection.label",{"_index":429,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["selection.module",{"_index":2453,"title":{},"body":{"modules/OntologyExplorationModule.html":{}}}],["selection.module.ts",{"_index":2658,"title":{},"body":{"modules/OntologySelectionModule.html":{}}}],["selection.ts",{"_index":2622,"title":{},"body":{"interfaces/OntologySelection.html":{},"coverage.html":{}}}],["selection/deselection",{"_index":2863,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["selection/ontology",{"_index":2452,"title":{},"body":{"modules/OntologyExplorationModule.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"coverage.html":{}}}],["selectionchange",{"_index":637,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["selectionchanged",{"_index":1603,"title":{},"body":{"components/DropdownComponent.html":{}}}],["selectionchanged(value",{"_index":1613,"title":{},"body":{"components/DropdownComponent.html":{}}}],["selectionlabel",{"_index":263,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["selections",{"_index":629,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["selectionstring",{"_index":427,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["selectlistresult",{"_index":2320,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["selectlistresult(result",{"_index":2333,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["selector",{"_index":234,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["selector(['datastate",{"_index":1307,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["selector(['spatialsearchfilterstate",{"_index":3189,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["selector(['spatialsearchuistate",{"_index":3443,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{}}}],["selector(['undefined",{"_index":3192,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{},"classes/SpatialSearchUiSelectors.html":{}}}],["selector([datastate",{"_index":1314,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["selector([spatialsearchfilterselectors.items",{"_index":3197,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["selector([spatialsearchfilterstate",{"_index":3196,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["selector([spatialsearchuiselectors.organid",{"_index":3480,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["selector([spatialsearchuiselectors.sex",{"_index":3484,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["selector([spatialsearchuistate",{"_index":2697,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["selector([spatialsearchuistate.organentity",{"_index":3506,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["selectoroptions",{"_index":3578,"title":{},"body":{"modules/StoreModule.html":{}}}],["selectors",{"_index":3705,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["selects",{"_index":1484,"title":{},"body":{"components/DonorCardComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/OntologySearchComponent.html":{},"changelog.html":{}}}],["selecttoken",{"_index":1442,"title":{},"body":{"injectables/DelegateDataSourceService.html":{}}}],["selecttoken(config",{"_index":1440,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["sell",{"_index":4583,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":4303,"title":{},"body":{"changelog.html":{}}}],["send",{"_index":839,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/functions.html":{}}}],["sendcompletedto",{"_index":4347,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["sendcompletedto(subject",{"_index":1145,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["sendcompletedto(this._aggregatedataquerystatus",{"_index":1196,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["sendcompletedto(this._celltypetermoccurencesdataquerystatus",{"_index":1203,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["sendcompletedto(this._ontologytermoccurencesdataquerystatus",{"_index":1200,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["sendcompletedto(this._providerfilterquerystatus",{"_index":1214,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["sendcompletedto(this._scenedataquerystatus",{"_index":1206,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["sendcompletedto(this._technologyfilterquerystatus",{"_index":1210,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["sendcompletedto(this._tissueblockdataquerystatus",{"_index":1192,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["sender",{"_index":2381,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sending",{"_index":2287,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sending/receiving",{"_index":2258,"title":{},"body":{"classes/InitializationState.html":{}}}],["sendmessage",{"_index":2427,"title":{},"body":{"classes/MessageChannel.html":{}}}],["sendmessage(payload",{"_index":2396,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sends",{"_index":1142,"title":{},"body":{"interfaces/DataStateModel.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"miscellaneous/functions.html":{}}}],["sendtoggle",{"_index":2288,"title":{},"body":{"classes/InitializationState.html":{}}}],["sennet",{"_index":3993,"title":{},"body":{"changelog.html":{}}}],["sent",{"_index":1030,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/typealiases.html":{}}}],["serif",{"_index":2086,"title":{},"body":{"components/HeaderComponent.html":{}}}],["server",{"_index":4286,"title":{},"body":{"changelog.html":{}}}],["service",{"_index":643,"title":{},"body":{"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["service.initialize(location",{"_index":3650,"title":{},"body":{"injectables/ThemingService.html":{}}}],["services/data",{"_index":1069,"title":{},"body":{"modules/CoreModule.html":{}}}],["services/message/message.service",{"_index":1034,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{}}}],["services/theming/theming.module",{"_index":1072,"title":{},"body":{"modules/CoreModule.html":{}}}],["set",{"_index":47,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"classes/MoveToNode.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"classes/StartSpatialSearchFlow.html":{},"injectables/ThemingService.html":{},"classes/UpdateSpatialSearch.html":{},"changelog.html":{}}}],["set((state.tissueblocks",{"_index":3496,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["set(['skin",{"_index":2970,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/variables.html":{}}}],["set(items.map(item",{"_index":1922,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["set(reforgandata.filter(o",{"_index":3017,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["set(reforgans.map(o",{"_index":2999,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["set(selectedorgans.map(o",{"_index":3015,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["setexecutesearchongenerate",{"_index":1979,"title":{"classes/SetExecuteSearchOnGenerate.html":{}},"body":{"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["setexecutesearchongenerate(ctx",{"_index":2805,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["setexecutesearchongenerate(false",{"_index":1985,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["setexecutesearchongenerate(true",{"_index":1986,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["setlistresults",{"_index":2321,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["setlistresults(@payload('listresults",{"_index":2351,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["setlistresults(listresults",{"_index":2335,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["setorgan",{"_index":2041,"title":{"classes/SetOrgan.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["setorgan(ctx",{"_index":2734,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["setorgan(organid",{"_index":2732,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["setposition",{"_index":2043,"title":{"classes/SetPosition.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["setposition(ctx",{"_index":2756,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["setposition(position",{"_index":2769,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["setradius",{"_index":2047,"title":{"classes/SetRadius.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["setradius(ctx",{"_index":2771,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["setreferenceorganentities",{"_index":2929,"title":{},"body":{"injectables/SceneState.html":{}}}],["setreferenceorganentities(@payload('referenceorganentities",{"_index":2978,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["setreferenceorganentities(referenceorganentities",{"_index":2947,"title":{},"body":{"injectables/SceneState.html":{}}}],["setreferenceorgans",{"_index":2930,"title":{},"body":{"injectables/SceneState.html":{}}}],["setreferenceorgans(@payload('referenceorgans",{"_index":2977,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["setreferenceorgans(referenceorgans",{"_index":2951,"title":{},"body":{"injectables/SceneState.html":{}}}],["setrootelement",{"_index":461,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["setrootelement(el",{"_index":464,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["sets",{"_index":349,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{}}}],["setscene",{"_index":2931,"title":{},"body":{"injectables/SceneState.html":{}}}],["setscene(@payload('scene",{"_index":2979,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["setscene(scene",{"_index":2953,"title":{},"body":{"injectables/SceneState.html":{}}}],["setselectedreferenceorgans",{"_index":2932,"title":{},"body":{"injectables/SceneState.html":{}}}],["setselectedreferenceorgans(@payload('selectedreferenceorgans",{"_index":2976,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["setselectedreferenceorgans(selectedreferenceorgans",{"_index":2956,"title":{},"body":{"injectables/SceneState.html":{}}}],["setselectedsearches",{"_index":46,"title":{"classes/SetSelectedSearches.html":{}},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"coverage.html":{}}}],["setselectedsearches(ctx",{"_index":3162,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["setsex",{"_index":2038,"title":{"classes/SetSex.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["setsex(ctx",{"_index":2720,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["setsex(sex",{"_index":2717,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["settheme",{"_index":3624,"title":{},"body":{"injectables/ThemingService.html":{}}}],["settheme(theme",{"_index":3641,"title":{},"body":{"injectables/ThemingService.html":{}}}],["settimeout",{"_index":2260,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["setting",{"_index":3373,"title":{},"body":{"components/SpatialSearchUiComponent.html":{},"modules/StoreModule.html":{}}}],["settings",{"_index":1859,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{}}}],["settreemodel",{"_index":2565,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["settreemodel(treemodel",{"_index":2584,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["setup",{"_index":4102,"title":{},"body":{"changelog.html":{}}}],["sex",{"_index":18,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/DataStateModel.html":{},"components/FiltersContentComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["sex(state",{"_index":3473,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["sex.charat(0).touppercase",{"_index":3398,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["sex.slice(1",{"_index":3399,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["sexes",{"_index":4210,"title":{},"body":{"changelog.html":{}}}],["sex}_${shortorgan",{"_index":2715,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["shadow",{"_index":1131,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["shall",{"_index":4590,"title":{},"body":{"license.html":{}}}],["shared",{"_index":108,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"modules/FiltersContentModule.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["shared/analytics",{"_index":185,"title":{},"body":{"interfaces/AppOptions.html":{},"modules/CoreModule.html":{}}}],["shared/components/checkbox/checkbox.module",{"_index":1952,"title":{},"body":{"modules/FiltersContentModule.html":{}}}],["shared/components/drawer/drawer.module",{"_index":130,"title":{},"body":{"modules/AppModule.html":{}}}],["shared/components/drawer/drawer/drawer.component",{"_index":225,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["shared/components/dropdown/dropdown.module",{"_index":1953,"title":{},"body":{"modules/FiltersContentModule.html":{}}}],["shared/components/dual",{"_index":131,"title":{},"body":{"modules/AppModule.html":{},"modules/FiltersContentModule.html":{}}}],["shared/components/run",{"_index":134,"title":{},"body":{"modules/AppModule.html":{},"modules/FiltersContentModule.html":{}}}],["shared/components/spatial",{"_index":36,"title":{},"body":{"classes/AddSearch.html":{},"components/FiltersContentComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["shared/components/spinner",{"_index":137,"title":{},"body":{"modules/AppModule.html":{}}}],["shared/components/thumbnail",{"_index":1582,"title":{},"body":{"modules/DonorCardModule.html":{}}}],["shared/components/viewer/viewer.module",{"_index":140,"title":{},"body":{"modules/AppModule.html":{}}}],["shared/src/lib/components/body",{"_index":194,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["shared/src/public",{"_index":3565,"title":{},"body":{"modules/StoreModule.html":{}}}],["shared/web",{"_index":526,"title":{},"body":{"components/AppWebComponent.html":{}}}],["sharing",{"_index":1150,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["shift",{"_index":3247,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["shiftdelta",{"_index":3220,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["shiftpressed",{"_index":3213,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["shifts",{"_index":3226,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["shortest",{"_index":4458,"title":{},"body":{"dependencies.html":{}}}],["shortorgan",{"_index":2710,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["show",{"_index":1673,"title":{},"body":{"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["showing",{"_index":4233,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":1759,"title":{},"body":{"components/DualSliderComponent.html":{},"changelog.html":{}}}],["shows",{"_index":4031,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":982,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["sidebar",{"_index":3413,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["sides",{"_index":4211,"title":{},"body":{"changelog.html":{}}}],["significant",{"_index":4096,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":4051,"title":{},"body":{"changelog.html":{}}}],["simplechanges",{"_index":1732,"title":{},"body":{"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ViewerComponent.html":{}}}],["simplifies",{"_index":4101,"title":{},"body":{"changelog.html":{}}}],["single",{"_index":2395,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["site",{"_index":2052,"title":{},"body":{"components/HeaderComponent.html":{},"components/ViewerComponent.html":{}}}],["sites",{"_index":4037,"title":{},"body":{"changelog.html":{}}}],["sizable",{"_index":4178,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":965,"title":{},"body":{"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/HeaderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["skin",{"_index":1398,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["skin.svg",{"_index":1399,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["skipself",{"_index":1060,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["slide",{"_index":3718,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["slideinhorizontaldropdown",{"_index":1627,"title":{},"body":{"components/DropdownComponent.html":{}}}],["slideinhorizontalslider",{"_index":1836,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider",{"_index":1674,"title":{},"body":{"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"components/SpatialSearchUiComponent.html":{},"dependencies.html":{}}}],["slider's",{"_index":1741,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider'},{'name",{"_index":574,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["slider.component",{"_index":1854,"title":{},"body":{"modules/DualSliderModule.html":{}}}],["slider.component.html",{"_index":1677,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.scss",{"_index":1676,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts",{"_index":1672,"title":{},"body":{"components/DualSliderComponent.html":{},"coverage.html":{}}}],["slider.component.ts:122",{"_index":1733,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:136",{"_index":1748,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:152",{"_index":1735,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:165",{"_index":1716,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:184",{"_index":1752,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:201",{"_index":1750,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:212",{"_index":1729,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:226",{"_index":1746,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:23",{"_index":1769,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:243",{"_index":1740,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:29",{"_index":1765,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:34",{"_index":1704,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:39",{"_index":1708,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:44",{"_index":1706,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:49",{"_index":1711,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:54",{"_index":1758,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:59",{"_index":1761,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:64",{"_index":1760,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:69",{"_index":1755,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:74",{"_index":1754,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:79",{"_index":1771,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:90",{"_index":1762,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:95",{"_index":1700,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.detached",{"_index":1838,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.module",{"_index":133,"title":{},"body":{"modules/AppModule.html":{},"modules/FiltersContentModule.html":{}}}],["slider.module.ts",{"_index":1850,"title":{},"body":{"modules/DualSliderModule.html":{}}}],["slider.wrapper",{"_index":1830,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider/dual",{"_index":132,"title":{},"body":{"modules/AppModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"coverage.html":{}}}],["slidervaluechanged",{"_index":1692,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slidesoffsetafter",{"_index":3693,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["slidesoffsetbefore",{"_index":3692,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["slidesperview",{"_index":3694,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["slightly",{"_index":4012,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":4113,"title":{},"body":{"changelog.html":{}}}],["small",{"_index":1400,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["snackbar",{"_index":316,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["snackbar.dismiss",{"_index":343,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["snapshot",{"_index":1244,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["software",{"_index":4514,"title":{},"body":{"index.html":{},"license.html":{}}}],["solid",{"_index":1654,"title":{},"body":{"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["solved",{"_index":4173,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":4224,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":3988,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":4109,"title":{},"body":{"changelog.html":{}}}],["sortby",{"_index":2345,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/OntologySearchComponent.html":{}}}],["sortby(searchresults",{"_index":2523,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["sortby(topblocks",{"_index":2373,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["sortbysynonymresult",{"_index":2468,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["sortbysynonymresult(this",{"_index":2497,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["sortlexically",{"_index":2469,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["sortlexically(this",{"_index":2501,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["sorts",{"_index":2499,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["source",{"_index":4,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{}}}],["source.getcelltypetermoccurences().pipe(take(1)).subscribe(celltypetermsfulldata",{"_index":1251,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["source.getontologytermoccurences().pipe(take(1)).subscribe(ontologytermsfulldata",{"_index":1250,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["source.pipe",{"_index":1160,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["source.service",{"_index":1071,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["source.service.ts",{"_index":1432,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/WorkerDataSourceService.html":{},"coverage.html":{}}}],["source.service.ts:10",{"_index":3872,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["source.service.ts:18",{"_index":3874,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["source.service.ts:20",{"_index":1443,"title":{},"body":{"injectables/DelegateDataSourceService.html":{}}}],["source.service.ts:23",{"_index":3877,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["source.worker",{"_index":3883,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["source.worker.ts",{"_index":4335,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["source/data",{"_index":1070,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["source/worker",{"_index":3865,"title":{},"body":{"injectables/WorkerDataSourceService.html":{},"coverage.html":{}}}],["sources",{"_index":541,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{}}}],["sources.includes(msg.source",{"_index":2409,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["south",{"_index":3285,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["south_west",{"_index":3289,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["space",{"_index":1572,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{}}}],["spacebetween",{"_index":3695,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["sparc",{"_index":4105,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":3920,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":30,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["spatial_search_ui",{"_index":2714,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["spatialentity",{"_index":2674,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["spatialscenenode",{"_index":1100,"title":{},"body":{"interfaces/DataStateModel.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{}}}],["spatialsearch",{"_index":21,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["spatialsearchconfigbehaviorcomponent",{"_index":590,"title":{"components/SpatialSearchConfigBehaviorComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["spatialsearchconfigbehaviormodule",{"_index":3106,"title":{"modules/SpatialSearchConfigBehaviorModule.html":{}},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{},"modules.html":{},"overview.html":{}}}],["spatialsearchconfigcomponent",{"_index":593,"title":{"components/SpatialSearchConfigComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["spatialsearchconfigmodule",{"_index":3111,"title":{"modules/SpatialSearchConfigModule.html":{}},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules.html":{},"overview.html":{}}}],["spatialsearchdialog",{"_index":3059,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["spatialsearches",{"_index":1129,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/FiltersContentComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"miscellaneous/variables.html":{}}}],["spatialsearchfilter",{"_index":3152,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["spatialsearchfilteritem",{"_index":39,"title":{"interfaces/SpatialSearchFilterItem.html":{}},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["spatialsearchfiltermodel",{"_index":3151,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"miscellaneous/typealiases.html":{}}}],["spatialsearchfilters",{"_index":1866,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["spatialsearchfilterselectors",{"_index":220,"title":{"classes/SpatialSearchFilterSelectors.html":{}},"body":{"interfaces/AppOptions.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/SpatialSearchFilterSelectors.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"coverage.html":{}}}],["spatialsearchfilterstate",{"_index":3153,"title":{"injectables/SpatialSearchFilterState.html":{}},"body":{"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialsearchkeyboarduibehaviorcomponent",{"_index":595,"title":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["spatialsearchkeyboarduibehaviormodule",{"_index":3266,"title":{"modules/SpatialSearchKeyboardUIBehaviorModule.html":{}},"body":{"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules.html":{},"overview.html":{}}}],["spatialsearchkeyboarduicomponent",{"_index":598,"title":{"components/SpatialSearchKeyboardUIComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["spatialsearchkeyboarduimodule",{"_index":3271,"title":{"modules/SpatialSearchKeyboardUIModule.html":{}},"body":{"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules.html":{},"overview.html":{}}}],["spatialsearchlistitem",{"_index":3147,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["spatialsearchlistmodule",{"_index":1951,"title":{},"body":{"modules/FiltersContentModule.html":{}}}],["spatialsearchremoved",{"_index":1870,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["spatialsearchscene",{"_index":2690,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["spatialsearchselected",{"_index":1871,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["spatialsearchui",{"_index":2034,"title":{},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{}}}],["spatialsearchuibehaviorcomponent",{"_index":600,"title":{"components/SpatialSearchUiBehaviorComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["spatialsearchuibehaviormodule",{"_index":3353,"title":{"modules/SpatialSearchUiBehaviorModule.html":{}},"body":{"modules/SpatialSearchUiBehaviorModule.html":{},"modules.html":{},"overview.html":{}}}],["spatialsearchuicomponent",{"_index":601,"title":{"components/SpatialSearchUiComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"modules/SpatialSearchUiModule.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["spatialsearchuimodel",{"_index":2686,"title":{"interfaces/SpatialSearchUiModel.html":{}},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"coverage.html":{}}}],["spatialsearchuimodule",{"_index":3358,"title":{"modules/SpatialSearchUiModule.html":{}},"body":{"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules.html":{},"overview.html":{}}}],["spatialsearchuiselectors",{"_index":3083,"title":{"classes/SpatialSearchUiSelectors.html":{}},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"coverage.html":{}}}],["spatialsearchuiselectors.position",{"_index":3491,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["spatialsearchuiselectors.radius",{"_index":3492,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["spatialsearchuiselectors.referenceorgans",{"_index":3481,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["spatialsearchuistate",{"_index":2696,"title":{"injectables/SpatialSearchUiState.html":{}},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialsearchuistate.organentity",{"_index":3440,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["spec",{"_index":4018,"title":{},"body":{"changelog.html":{}}}],["spec.yaml",{"_index":4536,"title":{},"body":{"index.html":{}}}],["specific",{"_index":1050,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["specification",{"_index":4535,"title":{},"body":{"index.html":{}}}],["specified",{"_index":2407,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["specifying",{"_index":2389,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["speed",{"_index":3961,"title":{},"body":{"changelog.html":{}}}],["sphere",{"_index":3367,"title":{},"body":{"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{}}}],["spinal",{"_index":1401,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["spinner",{"_index":290,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{}}}],["spinneractive",{"_index":292,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["spinneroverlaycomponent",{"_index":602,"title":{"components/SpinnerOverlayComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["spinneroverlaymodule",{"_index":70,"title":{"modules/SpinnerOverlayModule.html":{}},"body":{"modules/AppModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules.html":{},"overview.html":{}}}],["spinning",{"_index":4284,"title":{},"body":{"changelog.html":{}}}],["spleen",{"_index":1404,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/variables.html":{}}}],["spleen.svg",{"_index":1405,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["sprint",{"_index":4133,"title":{},"body":{"changelog.html":{}}}],["stage",{"_index":4161,"title":{},"body":{"changelog.html":{}}}],["staging",{"_index":3999,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["standalone",{"_index":4170,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":4214,"title":{},"body":{"changelog.html":{}}}],["standards",{"_index":4288,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":4517,"title":{},"body":{"index.html":{}}}],["start",{"_index":901,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DualSliderComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/InitializationState.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateSpatialSearch.html":{}}}],["start?.expanded",{"_index":1015,"title":{},"body":{"components/ContentComponent.html":{}}}],["start?.opened",{"_index":1014,"title":{},"body":{"components/ContentComponent.html":{}}}],["startdrawers",{"_index":924,"title":{},"body":{"components/ContainerComponent.html":{}}}],["startdrawers.length",{"_index":928,"title":{},"body":{"components/ContainerComponent.html":{}}}],["startdrawers[0",{"_index":932,"title":{},"body":{"components/ContainerComponent.html":{}}}],["started",{"_index":3894,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["startexpanded",{"_index":1013,"title":{},"body":{"components/ContentComponent.html":{}}}],["starting",{"_index":3370,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["starts",{"_index":2910,"title":{},"body":{"components/RunSpatialSearchComponent.html":{},"changelog.html":{}}}],["startspatialsearchflow",{"_index":2036,"title":{"classes/StartSpatialSearchFlow.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/RunSpatialSearchComponent.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["startspatialsearchflow()).pipe",{"_index":2915,"title":{},"body":{"components/RunSpatialSearchComponent.html":{}}}],["startspatialsearchflow(ctx",{"_index":2708,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["startup",{"_index":1325,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["startwith",{"_index":888,"title":{},"body":{"components/ContainerComponent.html":{},"components/OntologySearchComponent.html":{}}}],["stat",{"_index":2888,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["stat.count",{"_index":2886,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["stat.label",{"_index":2887,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["state",{"_index":295,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/typealiases.html":{}}}],["state('closed",{"_index":2200,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('collapsed",{"_index":2205,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('extended",{"_index":2209,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('false",{"_index":991,"title":{},"body":{"components/ContentComponent.html":{}}}],["state('full",{"_index":2210,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('half",{"_index":2206,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('open",{"_index":2199,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('true",{"_index":993,"title":{},"body":{"components/ContentComponent.html":{}}}],["state.anatomicalstructurestreemodel",{"_index":1316,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["state.celltypestreemodel",{"_index":1317,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["state.defaultposition",{"_index":3488,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["state.filter",{"_index":1315,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["state.nodes[state.root",{"_index":2589,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["state.organid",{"_index":3479,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["state.organscene",{"_index":3499,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["state.position",{"_index":3487,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["state.radius",{"_index":3489,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["state.radiussettings",{"_index":3490,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["state.referenceorganentities",{"_index":2975,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["state.referenceorgans",{"_index":2974,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SpatialSearchUiSelectors.html":{}}}],["state.sex",{"_index":3478,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["state.tissueblocks",{"_index":3509,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["statechange",{"_index":2231,"title":{},"body":{"classes/InitializationState.html":{}}}],["statecontext",{"_index":2672,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["statements",{"_index":4322,"title":{},"body":{"coverage.html":{}}}],["staterepository",{"_index":734,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["states",{"_index":975,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["states.every(state",{"_index":1141,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["static",{"_index":13,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"classes/DataStateSelectors.html":{},"components/DualSliderComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"classes/SpatialSearchFilterSelectors.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{}}}],["stats",{"_index":2822,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["status",{"_index":1090,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/OntologySearchComponent.html":{}}}],["status.message",{"_index":1274,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["status.status",{"_index":1265,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["statusmessage",{"_index":1091,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["stay",{"_index":4319,"title":{},"body":{"changelog.html":{}}}],["step",{"_index":1802,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["still",{"_index":1966,"title":{},"body":{"components/FiltersPopoverComponent.html":{},"changelog.html":{}}}],["stomach",{"_index":1406,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["stomach.svg",{"_index":1407,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["store",{"_index":403,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{}}}],["store.dispatch(reallyupdatespatialsearch",{"_index":2706,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["store/store.module",{"_index":1073,"title":{},"body":{"modules/CoreModule.html":{}}}],["storemodule",{"_index":1055,"title":{"modules/StoreModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{},"modules.html":{},"overview.html":{}}}],["stories",{"_index":4277,"title":{},"body":{"changelog.html":{}}}],["strange",{"_index":3570,"title":{},"body":{"modules/StoreModule.html":{}}}],["stream",{"_index":4483,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":4481,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":20,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/functions.html":{}}}],["string)?.tolowercase",{"_index":1920,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["stroke",{"_index":694,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["structure",{"_index":4140,"title":{},"body":{"changelog.html":{}}}],["structures",{"_index":410,"title":{},"body":{"interfaces/AppOptions.html":{},"components/SpatialSearchUiComponent.html":{},"changelog.html":{}}}],["style",{"_index":986,"title":{},"body":{"components/ContentComponent.html":{},"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["style.margin",{"_index":954,"title":{},"body":{"components/ContentComponent.html":{}}}],["styled",{"_index":2073,"title":{},"body":{"components/HeaderComponent.html":{}}}],["styles",{"_index":622,"title":{},"body":{"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["styles.getpropertyvalue(property",{"_index":2254,"title":{},"body":{"classes/InitializationState.html":{}}}],["styleurls",{"_index":237,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["styling",{"_index":4048,"title":{},"body":{"changelog.html":{}}}],["sub",{"_index":233,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["subject",{"_index":741,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/functions.html":{},"license.html":{}}}],["subject.next(dataquerystate.completed",{"_index":1146,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["sublicense",{"_index":4581,"title":{},"body":{"license.html":{}}}],["subscribe",{"_index":1266,"title":{},"body":{"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["subscription",{"_index":878,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["subscriptions",{"_index":828,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["substantial",{"_index":4591,"title":{},"body":{"license.html":{}}}],["successful",{"_index":2116,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["such",{"_index":1721,"title":{},"body":{"components/DualSliderComponent.html":{},"changelog.html":{}}}],["suffix",{"_index":2573,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["super",{"_index":1235,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["super(configstore",{"_index":542,"title":{},"body":{"components/AppWebComponent.html":{}}}],["super(globalconfig",{"_index":3879,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["super._createcontainer",{"_index":486,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["super.ngxsoninit",{"_index":2354,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["support",{"_index":3922,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["svg",{"_index":1334,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules.html":{}}}],["swiper",{"_index":3698,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"dependencies.html":{}}}],["swiper.use([navigation",{"_index":3748,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{}}}],["swiper/angular",{"_index":3744,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{}}}],["swiper/core",{"_index":3745,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{}}}],["swiper/types",{"_index":3721,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["swipermodule",{"_index":3743,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{}}}],["swiperoptions",{"_index":3690,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["switch",{"_index":998,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"changelog.html":{}}}],["switched",{"_index":4184,"title":{},"body":{"changelog.html":{}}}],["switchmap",{"_index":1112,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/OntologySearchComponent.html":{}}}],["switchmap(query",{"_index":1161,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["switchmap(value",{"_index":2520,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["sync",{"_index":4079,"title":{},"body":{"changelog.html":{}}}],["syncexpanded(other",{"_index":2296,"title":{},"body":{"classes/InitializationState.html":{}}}],["syncs",{"_index":2293,"title":{},"body":{"classes/InitializationState.html":{}}}],["synonym",{"_index":2572,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["synonyms",{"_index":2500,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["t",{"_index":1158,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["tab",{"_index":438,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["table",{"_index":4394,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":4007,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":4393,"title":{},"body":{"coverage.html":{}}}],["tagging",{"_index":4213,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":1113,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{}}}],["take(1",{"_index":1262,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["takewhile",{"_index":1114,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["takewhile((status",{"_index":1264,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["tap",{"_index":1115,"title":{},"body":{"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["tap((counts",{"_index":2727,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["tap((data",{"_index":2788,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["tap((organscene",{"_index":2750,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["tap((status",{"_index":1259,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["tap(next",{"_index":1162,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["tap(organs",{"_index":3003,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["tap(reforgans",{"_index":2995,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["tap(results",{"_index":2375,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["tap(scene",{"_index":3031,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["target",{"_index":1723,"title":{},"body":{"components/DualSliderComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["target.key",{"_index":3264,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["target.preventdefault",{"_index":3262,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["technologies",{"_index":1126,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["technology",{"_index":1207,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{}}}],["technologyfilter",{"_index":1222,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["technologyfilterdata",{"_index":1208,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["technologyfilterquerystatus",{"_index":1179,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["technologyfilters",{"_index":1867,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["telemetry",{"_index":4073,"title":{},"body":{"changelog.html":{}}}],["tells",{"_index":674,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["template",{"_index":496,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["templateurl",{"_index":235,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["term",{"_index":605,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["term.count",{"_index":3603,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["term.label",{"_index":3602,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["term.split('/').slice",{"_index":3518,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["termdata",{"_index":2630,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["termlist",{"_index":3591,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["termlist.length",{"_index":3601,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["termoccurrencelistcomponent",{"_index":604,"title":{"components/TermOccurrenceListComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["termoccurrencelistmodule",{"_index":3423,"title":{"modules/TermOccurrenceListModule.html":{}},"body":{"modules/SpatialSearchUiModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules.html":{},"overview.html":{}}}],["termresult",{"_index":2684,"title":{"interfaces/TermResult.html":{}},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"coverage.html":{}}}],["terms",{"_index":1184,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/OntologySelectionComponent.html":{},"components/TermOccurrenceListComponent.html":{},"changelog.html":{}}}],["test",{"_index":1139,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["testing",{"_index":1137,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["text",{"_index":1535,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SearchResult.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["theme",{"_index":145,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"injectables/ThemingService.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["thememode",{"_index":302,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["themes",{"_index":3992,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":314,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["theming.initialize(el",{"_index":321,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["theming.service",{"_index":3615,"title":{},"body":{"modules/ThemingModule.html":{}}}],["themingmodule",{"_index":1056,"title":{"modules/ThemingModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/ThemingModule.html":{},"modules.html":{},"overview.html":{}}}],["themingservice",{"_index":202,"title":{"injectables/ThemingService.html":{}},"body":{"interfaces/AppOptions.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"coverage.html":{},"overview.html":{}}}],["themingservice.initialize",{"_index":3616,"title":{},"body":{"modules/ThemingModule.html":{}}}],["themselves",{"_index":3703,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["thick",{"_index":1416,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["thick.svg",{"_index":1417,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["thin",{"_index":1418,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"miscellaneous/variables.html":{}}}],["thin.svg",{"_index":1419,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["things",{"_index":2357,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this._aggregatedataquerystatus$.next(dataquerystate.completed",{"_index":1238,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._aggregatedataquerystatus$.next(dataquerystate.running",{"_index":1290,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._aggregatedataquerystatus$.pipe(distinct",{"_index":1216,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._celltypetermoccurencesdataquerystatus$.next(dataquerystate.completed",{"_index":1240,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._celltypetermoccurencesdataquerystatus$.next(dataquerystate.running",{"_index":1296,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._celltypetermoccurencesdataquerystatus$.pipe(distinct",{"_index":1220,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._containerelement",{"_index":487,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this._expanded",{"_index":2223,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._measuredmargin",{"_index":2252,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._measuredwidth",{"_index":2242,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._ontologytermoccurencesdataquerystatus$.next(dataquerystate.completed",{"_index":1239,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._ontologytermoccurencesdataquerystatus$.next(dataquerystate.running",{"_index":1293,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._ontologytermoccurencesdataquerystatus$.pipe(distinct",{"_index":1218,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._opened",{"_index":2219,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._position",{"_index":2215,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._providerfilterquerystatus$.next(dataquerystate.completed",{"_index":1243,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._providerfilterquerystatus$.next(dataquerystate.running",{"_index":1303,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._providerfilterquerystatus$.pipe(distinct",{"_index":1225,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._scenedataquerystatus$.next(dataquerystate.completed",{"_index":1241,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._scenedataquerystatus$.next(dataquerystate.running",{"_index":1299,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._scenedataquerystatus$.pipe(distinct",{"_index":1221,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._technologyfilterquerystatus$.next(dataquerystate.completed",{"_index":1242,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._technologyfilterquerystatus$.next(dataquerystate.running",{"_index":1301,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._technologyfilterquerystatus$.pipe(distinct",{"_index":1223,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._tissueblockdataquerystatus$.next(dataquerystate.completed",{"_index":1237,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._tissueblockdataquerystatus$.next(dataquerystate.running",{"_index":1286,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._tissueblockdataquerystatus$.pipe(distinct",{"_index":1215,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.aggregatedata",{"_index":1195,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.aggregatedataquerystatus",{"_index":1228,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.animationsenabled",{"_index":1004,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.appendtoroot",{"_index":478,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this.applyfilters.emit(this.filters",{"_index":1909,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.applythemeclass(theme",{"_index":3655,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.applythemeclass(this.gettheme",{"_index":3658,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.applythemeclass(this.theme",{"_index":3654,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.atscrollbottom",{"_index":2885,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["this.attached",{"_index":469,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this.bodyui.bounds",{"_index":389,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.bodyui.rotation",{"_index":387,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.bodyui.rotationx",{"_index":388,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.bodyui.target",{"_index":385,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.cdr.markforcheck",{"_index":917,"title":{},"body":{"components/ContainerComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["this.celltypeselectionlabel",{"_index":416,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.celltypetermoccurencesdata",{"_index":1202,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.celltypetermoccurencesdataquerystatus",{"_index":1230,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.celltypeterms",{"_index":333,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.changeposition.emit(this.position",{"_index":3261,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.channel",{"_index":908,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.asobservable",{"_index":2416,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.closed",{"_index":2418,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.complete",{"_index":2421,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.next",{"_index":2397,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.sendmessage",{"_index":914,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["this.checked.emit(this.selected",{"_index":1495,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["this.close",{"_index":3086,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.closeiframeviewer",{"_index":441,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.colorassignments",{"_index":2361,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.colorassignments.assigncolor(node['@id",{"_index":2988,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.colorassignments.assigncolor(result.tissueblock.spatialentityid",{"_index":2352,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["this.colorassignments.colorassignments",{"_index":2364,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.colorassignments.unassigncolor(result.tissueblock.spatialentityid",{"_index":2353,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["this.consentservice.consent",{"_index":345,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.content",{"_index":919,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.changes.pipe(startwith(null)).subscribe",{"_index":918,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.first",{"_index":905,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.length",{"_index":907,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content2.first",{"_index":906,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.contentsvisible",{"_index":1814,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.createitemdescription(sex",{"_index":3172,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["this.createitemid(search",{"_index":3171,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["this.createselectionlabel(ontologyselection",{"_index":415,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.ctx.patchstate",{"_index":797,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.currentdelta",{"_index":3249,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.currentkey",{"_index":3253,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.data.querystatus$.pipe",{"_index":293,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.data.state$.pipe(pluck('statusmessage",{"_index":298,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.data.updatefilter",{"_index":411,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.databaseready$.pipe(switchmap",{"_index":1287,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.databaseready$.pipe(take(1",{"_index":1267,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.dataservice.getreferenceorgans",{"_index":3009,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.dataservice.getreferenceorgans().pipe",{"_index":2994,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.datasource",{"_index":2748,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.datasource.getontologytermoccurences(filter).pipe",{"_index":2726,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.datastate",{"_index":2359,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.datastate.scenedata",{"_index":3007,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.datastate.tissueblockdata",{"_index":2363,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["this.datastate.updatefilter",{"_index":2987,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.defaulttheme",{"_index":3652,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.deferred",{"_index":2193,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.delta",{"_index":3252,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.dialog.open(infodialogcomponent",{"_index":3089,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.dialog.open(spatialsearchconfigbehaviorcomponent",{"_index":2916,"title":{},"body":{"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.dialogref.close",{"_index":3087,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.dialogsubs.add(panelcontent$.subscribe(data",{"_index":3102,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["this.dialogsubs.unsubscribe",{"_index":3088,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["this.drawer",{"_index":3822,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.drawer.position",{"_index":3820,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.drawers",{"_index":1001,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.drawers.changes.pipe(startwith(null)).subscribe",{"_index":912,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.drawers.toarray",{"_index":923,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.element",{"_index":3657,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.element.nativeelement",{"_index":2243,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expanded",{"_index":1496,"title":{},"body":{"components/DonorCardComponent.html":{},"classes/InitializationState.html":{}}}],["this.expandedchange.emit(this.expanded",{"_index":2285,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expandedstate",{"_index":2266,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expandedstate2",{"_index":2236,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.faded",{"_index":1019,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.filter$.pipe(querydata",{"_index":1190,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.filteredresults",{"_index":2517,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["this.filters",{"_index":1902,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["this.filters['sex",{"_index":1919,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.filterschange.emit(filters",{"_index":1987,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["this.filterschange.emit(this.filters",{"_index":1906,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.filtersvisible",{"_index":1984,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["this.forcedunassignment.asobservable",{"_index":773,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["this.forcedunassignment.next",{"_index":788,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["this.formatlabel(node.label",{"_index":2609,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["this.formcontrol.reset",{"_index":2535,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["this.formcontrol.valuechanges",{"_index":2516,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["this.ga.event('expanded_toggled",{"_index":1497,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["this.ga.event('filter_added",{"_index":682,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["this.ga.event('filter_removed",{"_index":685,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["this.ga.event('filter_update",{"_index":1903,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.ga.event('filters_applied",{"_index":1908,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.ga.event('filters_reset",{"_index":1911,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.ga.event('generate_search",{"_index":2802,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.ga.event('link_clicked",{"_index":1498,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["this.ga.event('list_result_selected",{"_index":2875,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["this.ga.event('reset_position",{"_index":2761,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.ga.event('reset_radius",{"_index":2777,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.ga.event('search",{"_index":2531,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["this.ga.event('selected_toggled",{"_index":1492,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["this.ga.event('selection_change",{"_index":1623,"title":{},"body":{"components/DropdownComponent.html":{}}}],["this.ga.event('set_organ",{"_index":2713,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.ga.event('set_position",{"_index":2757,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.ga.event('set_radius",{"_index":2772,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.ga.event('set_sex",{"_index":2722,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.ga.event('slider_range_change",{"_index":1816,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.getarguments(definition",{"_index":2132,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.getindexofmatch(label",{"_index":2614,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["this.getindexofmatch(node.label",{"_index":2608,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["this.getmessages().pipe(filter(msg",{"_index":2406,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.getmethodname(definition",{"_index":2129,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.getstate().filter",{"_index":1280,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.gettermcounts(state.anatomicalstructures",{"_index":3511,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["this.gettermcounts(state.celltypes",{"_index":3513,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["this.getworkerurl(true",{"_index":3880,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["this.globalconfig.getoption('header",{"_index":304,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.globalconfig.getoption('homeurl",{"_index":305,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.globalconfig.getoption('logindisabled",{"_index":308,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.globalconfig.getoption('logotooltip",{"_index":306,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.globalconfig.getoption('theme",{"_index":301,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.globalconfig.snapshot.hubmaptoken",{"_index":450,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.handlemessage(msg",{"_index":911,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["this.highvalue",{"_index":1794,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.infoservice.panelcontent.asobservable",{"_index":3101,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.infoservice.updatedata('assets/docs/spatial_search_readme.md",{"_index":3098,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.initialized",{"_index":2192,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.set",{"_index":2259,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.valueof",{"_index":2267,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.wait",{"_index":2289,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initializesliderpopover",{"_index":1815,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.injector",{"_index":153,"title":{},"body":{"modules/AppModule.html":{},"injectables/ThemingService.html":{}}}],["this.injector.get(colorassignmentstate",{"_index":2362,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.injector.get(datastate",{"_index":2360,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.injector.get(listresultsstate",{"_index":2992,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.issliderinitialized",{"_index":1812,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.isslideropen",{"_index":1813,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.label}:${lowvalue}:${highvalue",{"_index":1818,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.label}:${value",{"_index":1624,"title":{},"body":{"components/DropdownComponent.html":{}}}],["this.launchinfodialog(this.paneldata",{"_index":3105,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.leftmargin",{"_index":1011,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.linkclick.emit(url",{"_index":1499,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["this.linkclicked.emit(link",{"_index":2880,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["this.listresultdeselected.next(result",{"_index":2879,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["this.listresults",{"_index":2991,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.listresults.highlightednodeid",{"_index":3010,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.listresults.highlightnode(node['@id",{"_index":2989,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.listresults.unhighlightnode",{"_index":2990,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.listresultselected.next(result",{"_index":2878,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["this.loading",{"_index":3854,"title":{},"body":{"components/ViewerComponent.html":{}}}],["this.locator.prepareexternalurl('0",{"_index":3886,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["this.lookup(nodes",{"_index":2600,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["this.lowvalue",{"_index":1792,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.margin2",{"_index":2239,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.measuredmargin",{"_index":2238,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.measuredwidth",{"_index":2290,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.messages",{"_index":2415,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.messages.pipe(filter(msg",{"_index":2403,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.nextbuttonid",{"_index":3710,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["this.nextmessageid",{"_index":2398,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.nodes$.pipe",{"_index":2598,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["this.ontologysearchservice.settreemodel(this.treemodel",{"_index":2650,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["this.ontologyselectionlabel",{"_index":414,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.ontologyservice.filter(value",{"_index":2521,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["this.ontologytermoccurencesdata",{"_index":1199,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.ontologytermoccurencesdataquerystatus",{"_index":1229,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.ontologyterms",{"_index":331,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.opened",{"_index":2264,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["this.openedchange.emit(this.opened",{"_index":2281,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.openedstate",{"_index":2265,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.options",{"_index":1796,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.options.ceil",{"_index":1806,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.options.floor",{"_index":1805,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.optionschanged",{"_index":1788,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.optionsvisible",{"_index":1622,"title":{},"body":{"components/DropdownComponent.html":{}}}],["this.organmatchessex(organ",{"_index":3486,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["this.organvalidforsex(organid",{"_index":2723,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.original.children.length",{"_index":2030,"title":{},"body":{"classes/FlatNode.html":{}}}],["this.original.label",{"_index":2029,"title":{},"body":{"classes/FlatNode.html":{}}}],["this.overlayref",{"_index":1784,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.overlayref.detach",{"_index":1811,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.overlayref.dispose",{"_index":1807,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.paneldata",{"_index":3104,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.position",{"_index":2214,"title":{},"body":{"classes/InitializationState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["this.position.x",{"_index":3260,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.position.y",{"_index":3258,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.position.z",{"_index":3256,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.prevbuttonid",{"_index":3708,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["this.providerfilterdata",{"_index":1213,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.providerfilterquerystatus",{"_index":1233,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.registericonimpl(definition",{"_index":2119,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.registericonimpl(safedef",{"_index":2114,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.registry",{"_index":2123,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.removebox",{"_index":1988,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["this.resetview",{"_index":383,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.resolve",{"_index":2165,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.resultlabel",{"_index":2877,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["this.rightmargin",{"_index":1012,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.rootelement",{"_index":471,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this.rootelement.nativeelement.appendchild(this._containerelement",{"_index":488,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this.rootelement.nativeelement.removechild(this._containerelement",{"_index":470,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this.rootelement.nativeelement.style.display",{"_index":472,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this.rootelement.nativeelement.style.height",{"_index":476,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this.rootelement.nativeelement.style.position",{"_index":474,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this.safeurl",{"_index":3853,"title":{},"body":{"components/ViewerComponent.html":{}}}],["this.scenedata",{"_index":1205,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.scenedataquerystatus",{"_index":1231,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.selected",{"_index":1491,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["this.selected.emit(node",{"_index":2534,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["this.selectedreferenceorgans",{"_index":3008,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.selection",{"_index":681,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["this.selection.filter(selection",{"_index":684,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["this.selectionchange.emit(this.selection",{"_index":686,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DualSliderComponent.html":{}}}],["this.selectionchange.emit(value",{"_index":1625,"title":{},"body":{"components/DropdownComponent.html":{}}}],["this.selectionlabel",{"_index":417,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.sendtoggle",{"_index":2268,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.setlistresults(results",{"_index":2376,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["this.setreferenceorganentities(reforgans",{"_index":2996,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.setreferenceorgans(organs",{"_index":3004,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.setscene(scene",{"_index":3032,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.setselectedreferenceorgans(organs.filter(organ",{"_index":3005,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.settheme(this.defaulttheme",{"_index":3656,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.shiftdelta",{"_index":3251,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.shiftpressed",{"_index":3250,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.snackbar.openfromcomponent(trackingpopupcomponent",{"_index":341,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.snapshot",{"_index":777,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["this.snapshot.colorpalette.concat",{"_index":782,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["this.sortbysynonymresult",{"_index":2524,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["this.sortlexically",{"_index":2525,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["this.source",{"_index":2399,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.source.getaggregateresults(filter",{"_index":1291,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.getcelltypetermoccurences(filter",{"_index":1297,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.getcelltypetreemodel().pipe(take(1)).subscribe((model",{"_index":1254,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.getdatabasestatus()).pipe",{"_index":1258,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.getdatasettechnologynames",{"_index":1302,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.getontologytermoccurences(filter",{"_index":1294,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.getontologytreemodel().pipe(take(1)).subscribe((model",{"_index":1252,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.getprovidernames",{"_index":1304,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.getscene(filter",{"_index":1300,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.gettissueblockresults(filter",{"_index":1288,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.spatialsearchdialog.open(spatialsearchuibehaviorcomponent",{"_index":3085,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["this.spatialsearchselected.emit",{"_index":1912,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.spatialsearchselected.emit(items",{"_index":1915,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.state$.pipe(pluck('colorassignments",{"_index":774,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["this.state$.pipe(pluck('colorassignmentslist",{"_index":775,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["this.state$.pipe(pluck('filter",{"_index":1188,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.state$.pipe(pluck('highlightedid",{"_index":2960,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.state$.pipe(pluck('highlightednodeid",{"_index":2340,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["this.state$.pipe(pluck('listresults",{"_index":2342,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["this.state$.pipe(pluck('referenceorgans",{"_index":2962,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.state$.pipe(pluck('scene",{"_index":2964,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.state$.pipe(pluck('selectedreferenceorgans",{"_index":2966,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.state$.pipe(pluck('status",{"_index":1166,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.statechange.emit",{"_index":2291,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.store.dispatch(new",{"_index":2914,"title":{},"body":{"components/RunSpatialSearchComponent.html":{}}}],["this.store.selectsnapshot(datastateselectors.filter",{"_index":2724,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.store.selectsnapshot(scenestate.referenceorgans",{"_index":2725,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.store.selectsnapshot(spatialsearchfilterselectors.selectedsearches",{"_index":2799,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.store.selectsnapshot(spatialsearchuistate.organentity",{"_index":2735,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.subscriptions.add(channel.getmessagesfromsource(drawer).subscribe(msg",{"_index":3819,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.subscriptions.add(messages.subscribe(msg",{"_index":997,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.subscriptions.add(panelcontent$.subscribe(data",{"_index":3352,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.subscriptions.add(this.channel.getmessages().subscribe(msg",{"_index":910,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["this.subscriptions.unsubscribe",{"_index":920,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["this.syncexpanded(other",{"_index":2292,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.technologyfilterdata",{"_index":1209,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.technologyfilterquerystatus",{"_index":1232,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.theme",{"_index":3653,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.thememode$.next('dark",{"_index":358,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.thememode$.next('light",{"_index":359,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.thememode$.next(e.matches",{"_index":364,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.thememode$.next(this.islighttheme",{"_index":399,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.thememode$]).subscribe",{"_index":336,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.theming.gettheme().endswith('light",{"_index":286,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.theming.settheme(`${theme",{"_index":338,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.tissueblock.label",{"_index":1494,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["this.tissueblockdata",{"_index":1191,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.tissueblockdataquerystatus",{"_index":1227,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.tissuesections.filter(section",{"_index":3786,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["this.toggle(coercebooleanproperty(value",{"_index":2221,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggle(false",{"_index":2262,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggle(true",{"_index":2261,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(coercebooleanproperty(value",{"_index":2225,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(false",{"_index":2274,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(true",{"_index":2271,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.tree.expandandselect(ontologynode",{"_index":2651,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["this.treemodel",{"_index":2597,"title":{},"body":{"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/SearchResult.html":{}}}],["this.treemodel$.next(treemodel",{"_index":2596,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["this.treemodel$.pipe(map(state",{"_index":2586,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["this.treemodel?.nodes",{"_index":2618,"title":{},"body":{"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/SearchResult.html":{}}}],["this.uid",{"_index":3723,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["this.updateanatomicalstructurestreemodel(model",{"_index":1253,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.updatecelltypestreemodel(model",{"_index":1255,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.updatefaded",{"_index":1003,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.updatefilter('both",{"_index":1927,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.updatefilter(filter",{"_index":1283,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.updatefilter(searches",{"_index":1916,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.updatemargin(position",{"_index":1009,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.updateposition(key",{"_index":3265,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.updateposition(target.key",{"_index":3263,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.updatesearchselection(this.spatialsearchfilters.filter(item",{"_index":1907,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.updatesexfromselection(items",{"_index":1917,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.updatesexfromselection(this.spatialsearchfilters.filter(item",{"_index":1900,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.updatestatus",{"_index":1268,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.updatestatus(status",{"_index":1260,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.updateurl",{"_index":3852,"title":{},"body":{"components/ViewerComponent.html":{}}}],["this.url",{"_index":435,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.validatedrawers",{"_index":913,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.valuerange",{"_index":1798,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.valuerange[0",{"_index":1799,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.valuerange[1",{"_index":1801,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.vieweropen",{"_index":436,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.warmupdatabase",{"_index":1256,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.width",{"_index":2237,"title":{},"body":{"classes/InitializationState.html":{}}}],["those",{"_index":2401,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["thread",{"_index":4633,"title":{},"body":{"miscellaneous/variables.html":{}}}],["three",{"_index":710,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["through",{"_index":4226,"title":{},"body":{"changelog.html":{}}}],["throw",{"_index":539,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"modules/CoreModule.html":{}}}],["throwduplicatedrawerserror",{"_index":4376,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["throwduplicatedrawerserror('end",{"_index":931,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throwduplicatedrawerserror('start",{"_index":929,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throwduplicatedrawerserror(position",{"_index":900,"title":{},"body":{"components/ContainerComponent.html":{},"miscellaneous/functions.html":{}}}],["thrown",{"_index":899,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throws",{"_index":895,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/ThemingService.html":{}}}],["thumbnail",{"_index":609,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["thumbnailcarouselcomponent",{"_index":608,"title":{"components/ThumbnailCarouselComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["thumbnailcarouselmodule",{"_index":1579,"title":{"modules/ThumbnailCarouselModule.html":{}},"body":{"modules/DonorCardModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules.html":{},"overview.html":{}}}],["thumbnails",{"_index":3671,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["thymus",{"_index":1408,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["thymus.svg",{"_index":1409,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["tick",{"_index":3790,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["tied",{"_index":4142,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":4235,"title":{},"body":{"changelog.html":{}}}],["time",{"_index":659,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["timeouts",{"_index":3971,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":3964,"title":{},"body":{"changelog.html":{}}}],["timing",{"_index":1026,"title":{},"body":{"components/ContentComponent.html":{}}}],["tip",{"_index":3599,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["tissue",{"_index":612,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"modules/SpatialSearchUiModule.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["tissueblock",{"_index":1459,"title":{},"body":{"components/DonorCardComponent.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["tissueblock.description",{"_index":1506,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["tissueblock.donor.description",{"_index":1502,"title":{},"body":{"components/DonorCardComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["tissueblock.donor.label",{"_index":1501,"title":{},"body":{"components/DonorCardComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["tissueblock.label",{"_index":1505,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["tissueblockdata",{"_index":1189,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["tissueblockdata(filter",{"_index":1285,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["tissueblockdataquerystatus",{"_index":1169,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["tissueblocklistcomponent",{"_index":611,"title":{"components/TissueBlockListComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["tissueblocklistmodule",{"_index":3424,"title":{"modules/TissueBlockListModule.html":{}},"body":{"modules/SpatialSearchUiModule.html":{},"modules/TissueBlockListModule.html":{},"modules.html":{},"overview.html":{}}}],["tissueblockresult",{"_index":1101,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"interfaces/ListResult.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/TissueBlockListComponent.html":{}}}],["tissueblocks",{"_index":2368,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/TissueBlockListComponent.html":{}}}],["tissueblocks(state",{"_index":3475,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["tissueblocks.length",{"_index":3755,"title":{},"body":{"components/TissueBlockListComponent.html":{}}}],["tissues",{"_index":3773,"title":{},"body":{"components/TissueSectionVisComponent.html":{},"changelog.html":{}}}],["tissuesection",{"_index":3784,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["tissuesectionexists",{"_index":3768,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["tissuesectionexists(sectionnumber",{"_index":3780,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["tissuesectionresult",{"_index":3771,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["tissuesections",{"_index":3769,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["tissuesections]=\"tissueblock.sections",{"_index":1508,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["tissuesectionviscomponent",{"_index":613,"title":{"components/TissueSectionVisComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["tissuesectionvismodule",{"_index":1580,"title":{"modules/TissueSectionVisModule.html":{}},"body":{"modules/DonorCardModule.html":{},"modules/TissueSectionVisModule.html":{},"modules.html":{},"overview.html":{}}}],["title",{"_index":1536,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["tmc",{"_index":1125,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["toggle",{"_index":617,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["toggle(opened",{"_index":2263,"title":{},"body":{"classes/InitializationState.html":{}}}],["togglebuttoncomponent",{"_index":616,"title":{"components/ToggleButtonComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"modules/DrawerModule.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["toggled",{"_index":1005,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["toggleexpanded(expanded",{"_index":2277,"title":{},"body":{"classes/InitializationState.html":{}}}],["toggleexpansion",{"_index":1457,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["togglefiltervisible",{"_index":1960,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["toggleoptions",{"_index":1604,"title":{},"body":{"components/DropdownComponent.html":{}}}],["toggles",{"_index":396,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/InitializationState.html":{}}}],["togglescheme",{"_index":398,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["togglesliderpopover",{"_index":1693,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["token",{"_index":448,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["token.length",{"_index":451,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["tonsil",{"_index":1387,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["tonsil.svg",{"_index":1388,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["tool",{"_index":3598,"title":{},"body":{"components/TermOccurrenceListComponent.html":{},"changelog.html":{}}}],["toolbar",{"_index":3858,"title":{},"body":{"components/ViewerComponent.html":{}}}],["tooltiptext",{"_index":3592,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["top",{"_index":1534,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["topblocks",{"_index":2366,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["topblocks.push",{"_index":2370,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["tort",{"_index":4609,"title":{},"body":{"license.html":{}}}],["total",{"_index":3776,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["totaltissuesections",{"_index":3770,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["totaltissuesections]=\"tissueblock.sectioncount",{"_index":1507,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["touch",{"_index":940,"title":{},"body":{"components/ContainerComponent.html":{},"components/DualSliderComponent.html":{}}}],["trachea",{"_index":1410,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["trachea.svg",{"_index":1411,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["track",{"_index":254,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["tracking/telemetry",{"_index":4087,"title":{},"body":{"changelog.html":{}}}],["trackingpopupcomponent",{"_index":183,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["trackingpopupmodule",{"_index":107,"title":{},"body":{"modules/AppModule.html":{}}}],["tracks",{"_index":2507,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["transform",{"_index":1639,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["transition",{"_index":987,"title":{},"body":{"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["transition('closed",{"_index":2201,"title":{},"body":{"classes/InitializationState.html":{}}}],["transition('false",{"_index":994,"title":{},"body":{"components/ContentComponent.html":{}}}],["translatey",{"_index":1659,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["translatey(0rem",{"_index":3137,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["transparency",{"_index":4171,"title":{},"body":{"changelog.html":{}}}],["transparent",{"_index":1524,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["travel_explore",{"_index":2917,"title":{},"body":{"components/RunSpatialSearchComponent.html":{}}}],["travisci",{"_index":4186,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":490,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["tree'},{'name",{"_index":585,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["tree.component",{"_index":2649,"title":{},"body":{"components/OntologySelectionComponent.html":{},"modules/OntologyTreeModule.html":{}}}],["tree.component.ts",{"_index":4365,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["tree.module",{"_index":2455,"title":{},"body":{"modules/OntologyExplorationModule.html":{},"modules/OntologySelectionModule.html":{}}}],["tree.module.ts",{"_index":2663,"title":{},"body":{"modules/OntologyTreeModule.html":{}}}],["tree.nodes[term]?.label",{"_index":3517,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["tree/ontology",{"_index":2454,"title":{},"body":{"modules/OntologyExplorationModule.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["treemodel",{"_index":2560,"title":{},"body":{"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/SearchResult.html":{}}}],["trigger",{"_index":988,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{}}}],["trigger('expandcollapse",{"_index":2204,"title":{},"body":{"classes/InitializationState.html":{}}}],["trigger('fadeinout",{"_index":990,"title":{},"body":{"components/ContentComponent.html":{}}}],["trigger('openclose",{"_index":2198,"title":{},"body":{"classes/InitializationState.html":{}}}],["triggered",{"_index":2496,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["true",{"_index":269,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["try",{"_index":2133,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{}}}],["ts",{"_index":4487,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":4490,"title":{},"body":{"dependencies.html":{}}}],["tube",{"_index":1355,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["tuned",{"_index":4320,"title":{},"body":{"changelog.html":{}}}],["tuple",{"_index":921,"title":{},"body":{"components/ContainerComponent.html":{}}}],["turn",{"_index":4159,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":4145,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":4143,"title":{},"body":{"changelog.html":{}}}],["tutorial",{"_index":4062,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":4245,"title":{},"body":{"changelog.html":{}}}],["type",{"_index":15,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":4616,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typeof",{"_index":531,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/OntologySearchComponent.html":{}}}],["types",{"_index":1038,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/SpatialSearchUiComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["types/lru",{"_index":4430,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":483,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":4294,"title":{},"body":{"changelog.html":{}}}],["ufl",{"_index":4138,"title":{},"body":{"changelog.html":{}}}],["ufxmpzatowe",{"_index":3099,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["ui",{"_index":597,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["ui'},{'name",{"_index":599,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["ui.actions",{"_index":1983,"title":{},"body":{"components/FiltersPopoverComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["ui.actions.ts",{"_index":2033,"title":{},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["ui.actions.ts:14",{"_index":3036,"title":{},"body":{"classes/SetOrgan.html":{}}}],["ui.actions.ts:20",{"_index":3038,"title":{},"body":{"classes/SetPosition.html":{}}}],["ui.actions.ts:26",{"_index":2442,"title":{},"body":{"classes/MoveToNode.html":{}}}],["ui.actions.ts:32",{"_index":2817,"title":{},"body":{"classes/ResetPosition.html":{}}}],["ui.actions.ts:36",{"_index":3040,"title":{},"body":{"classes/SetRadius.html":{}}}],["ui.actions.ts:4",{"_index":3555,"title":{},"body":{"classes/StartSpatialSearchFlow.html":{}}}],["ui.actions.ts:42",{"_index":2818,"title":{},"body":{"classes/ResetRadius.html":{}}}],["ui.actions.ts:46",{"_index":3833,"title":{},"body":{"classes/UpdateSpatialSearch.html":{}}}],["ui.actions.ts:50",{"_index":2035,"title":{},"body":{"classes/GenerateSpatialSearch.html":{}}}],["ui.actions.ts:54",{"_index":3034,"title":{},"body":{"classes/SetExecuteSearchOnGenerate.html":{}}}],["ui.actions.ts:8",{"_index":3043,"title":{},"body":{"classes/SetSex.html":{}}}],["ui.component",{"_index":196,"title":{},"body":{"interfaces/AppOptions.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiModule.html":{}}}],["ui.component.html",{"_index":3275,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["ui.component.scss",{"_index":3274,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts",{"_index":3273,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"coverage.html":{}}}],["ui.component.ts:15",{"_index":3283,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["ui.component.ts:18",{"_index":3279,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["ui.component.ts:20",{"_index":3397,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:21",{"_index":3280,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["ui.component.ts:23",{"_index":3378,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:24",{"_index":3281,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["ui.component.ts:26",{"_index":3379,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:27",{"_index":3282,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["ui.component.ts:29",{"_index":3381,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:30",{"_index":3290,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["ui.component.ts:32",{"_index":3382,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:35",{"_index":3377,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:38",{"_index":3372,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:41",{"_index":3374,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:44",{"_index":3369,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:47",{"_index":3371,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:50",{"_index":3383,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:53",{"_index":3366,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:56",{"_index":3368,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:59",{"_index":3385,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:62",{"_index":3393,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:65",{"_index":3395,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:68",{"_index":3386,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:71",{"_index":3392,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:74",{"_index":3391,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:77",{"_index":3387,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:80",{"_index":3389,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:83",{"_index":3390,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.module",{"_index":3272,"title":{},"body":{"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{}}}],["ui.module.ts",{"_index":3307,"title":{},"body":{"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiModule.html":{}}}],["ui.netlify.app",{"_index":4520,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":4530,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":4527,"title":{},"body":{"index.html":{}}}],["ui.selectors",{"_index":3084,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["ui.selectors.ts",{"_index":3436,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{},"coverage.html":{}}}],["ui.selectors.ts:101",{"_index":3476,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:106",{"_index":3444,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:111",{"_index":3446,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:115",{"_index":3450,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:12",{"_index":3441,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:15",{"_index":3474,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:20",{"_index":3466,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:25",{"_index":3455,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:30",{"_index":3453,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:39",{"_index":3459,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:43",{"_index":3457,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:49",{"_index":3461,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:54",{"_index":3448,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:59",{"_index":3463,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:64",{"_index":3465,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:69",{"_index":3468,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:84",{"_index":3470,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:95",{"_index":3472,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.state",{"_index":3248,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{}}}],["ui.state.ts",{"_index":2667,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"coverage.html":{}}}],["ui.state.ts:103",{"_index":3533,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:115",{"_index":3532,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:145",{"_index":3529,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:186",{"_index":3530,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:195",{"_index":3526,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:205",{"_index":3523,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:217",{"_index":3531,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:225",{"_index":3527,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:238",{"_index":3534,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:271",{"_index":3522,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:303",{"_index":3528,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:312",{"_index":3525,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:70",{"_index":2814,"title":{},"body":{"classes/ReallyUpdateSpatialSearch.html":{}}}],["ui.state.ts:84",{"_index":3524,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:87",{"_index":3521,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui/body",{"_index":195,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ui/organ",{"_index":4529,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":4528,"title":{},"body":{"index.html":{}}}],["ui/spatial",{"_index":1982,"title":{},"body":{"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/RunSpatialSearchComponent.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["uibehavior",{"_index":3228,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["uid",{"_index":3676,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["uievent",{"_index":2867,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["uis",{"_index":3910,"title":{},"body":{"changelog.html":{}}}],["unassigncolor",{"_index":804,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["unassigncolor(@payload('key",{"_index":798,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["unassigncolor(key",{"_index":809,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["unchecked",{"_index":675,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["undefined",{"_index":408,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"classes/GenerateSpatialSearch.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"classes/MoveToNode.html":{},"interfaces/OntologySelection.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{}}}],["under",{"_index":1336,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["underline",{"_index":1637,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["unhighlightnode",{"_index":2322,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["unique",{"_index":2378,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["university",{"_index":4556,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":528,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/FiltersContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["unless",{"_index":1482,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["unlike",{"_index":1326,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["unnecessary",{"_index":4075,"title":{},"body":{"changelog.html":{}}}],["unselect",{"_index":4115,"title":{},"body":{"changelog.html":{}}}],["unset",{"_index":3828,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["until",{"_index":1766,"title":{},"body":{"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"changelog.html":{}}}],["unused",{"_index":3689,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["up",{"_index":853,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/OntologySearchService.html":{},"components/RunSpatialSearchComponent.html":{},"interfaces/SearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["update",{"_index":402,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DualSliderComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"changelog.html":{}}}],["updateanatomicalstructurestreemodel(@payload('treemodel",{"_index":1270,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["updatecelltypestreemodel(@payload('treemodel",{"_index":1272,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["updated",{"_index":658,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"changelog.html":{}}}],["updatefaded",{"_index":950,"title":{},"body":{"components/ContentComponent.html":{}}}],["updatefilter",{"_index":1116,"title":{"classes/UpdateFilter.html":{}},"body":{"interfaces/DataStateModel.html":{},"components/FiltersContentComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"classes/UpdateFilter.html":{},"coverage.html":{}}}],["updatefilter(@payload('filter",{"_index":1276,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["updatefilter(value",{"_index":1891,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["updatefilterhandler(_ctx",{"_index":1282,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["updatemargin",{"_index":951,"title":{},"body":{"components/ContentComponent.html":{}}}],["updatemargin(position",{"_index":976,"title":{},"body":{"components/ContentComponent.html":{}}}],["updateorgan",{"_index":3051,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["updateposition",{"_index":3218,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["updateposition(key",{"_index":3243,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["updateradius",{"_index":3310,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["updates",{"_index":974,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["updatesearchselection",{"_index":1863,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["updatesearchselection(items",{"_index":1895,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["updatesex",{"_index":3052,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["updatesexfromselection",{"_index":1864,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["updatesexfromselection(items",{"_index":1897,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["updatespatialsearch",{"_index":2049,"title":{"classes/UpdateSpatialSearch.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["updatespatialsearch(ctx",{"_index":2779,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["updatestatus(@payload('status",{"_index":1273,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["updateurl",{"_index":3839,"title":{},"body":{"components/ViewerComponent.html":{}}}],["upgraded",{"_index":4231,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":4296,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":4089,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":4169,"title":{},"body":{"changelog.html":{}}}],["upper",{"_index":1710,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["ureter",{"_index":1412,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["url",{"_index":271,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/variables.html":{}}}],["url('./data",{"_index":3882,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["url.createobjecturl(codeblob",{"_index":3892,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["url?.startswith(domain",{"_index":433,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["urls",{"_index":2109,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["usage",{"_index":3911,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":4542,"title":{},"body":{"index.html":{}}}],["use",{"_index":1485,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/SpatialSearchUiComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["usecase",{"_index":4547,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":4544,"title":{},"body":{"index.html":{}}}],["used",{"_index":252,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["useexisting",{"_index":147,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{}}}],["useful",{"_index":897,"title":{},"body":{"components/ContainerComponent.html":{}}}],["user",{"_index":352,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"interfaces/DataStateModel.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"changelog.html":{},"index.html":{}}}],["user/os",{"_index":4067,"title":{},"body":{"changelog.html":{}}}],["useremoteapi",{"_index":506,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["users",{"_index":4310,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":401,"title":{},"body":{"interfaces/AppOptions.html":{},"changelog.html":{}}}],["usevalue",{"_index":143,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules/ThemingModule.html":{}}}],["using",{"_index":3704,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["uterus",{"_index":1413,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["uterus.svg",{"_index":1414,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["utilities",{"_index":4072,"title":{},"body":{"changelog.html":{}}}],["utility",{"_index":4503,"title":{},"body":{"miscellaneous/functions.html":{}}}],["uuid",{"_index":4491,"title":{},"body":{"dependencies.html":{}}}],["v1.1",{"_index":4008,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":3919,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":3909,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":4158,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":4010,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":4002,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":3973,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":3949,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":3926,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":3955,"title":{},"body":{"changelog.html":{}}}],["v2.1.0",{"_index":3917,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":3905,"title":{},"body":{"changelog.html":{}}}],["v3",{"_index":3930,"title":{},"body":{"changelog.html":{}}}],["val",{"_index":530,"title":{},"body":{"components/AppWebComponent.html":{}}}],["val.every(isstring",{"_index":534,"title":{},"body":{"components/AppWebComponent.html":{}}}],["valid",{"_index":2718,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["validatedrawers",{"_index":832,"title":{},"body":{"components/ContainerComponent.html":{}}}],["validates",{"_index":859,"title":{},"body":{"components/ContainerComponent.html":{}}}],["validation",{"_index":2508,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["value",{"_index":29,"title":{},"body":{"classes/AddSearch.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["value.slice(0",{"_index":3177,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["value.slice(1",{"_index":3179,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["value.tolowercase",{"_index":2601,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["valuechanges",{"_index":2515,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["valuechanges.pipe",{"_index":2518,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["valueof",{"_index":2161,"title":{},"body":{"classes/InitializationState.html":{}}}],["valuerange",{"_index":1694,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["values",{"_index":1037,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"components/SpatialSearchUiComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["var",{"_index":556,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["variable",{"_index":282,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DonorCardComponent.html":{},"coverage.html":{}}}],["variables",{"_index":4623,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["vasculature",{"_index":1415,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["version",{"_index":4019,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["very",{"_index":4221,"title":{},"body":{"changelog.html":{}}}],["via",{"_index":3969,"title":{},"body":{"changelog.html":{}}}],["video",{"_index":4090,"title":{},"body":{"changelog.html":{}}}],["videoid",{"_index":3096,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["view",{"_index":1557,"title":{},"body":{"components/DonorCardComponent.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchUiComponent.html":{},"changelog.html":{}}}],["viewchild",{"_index":172,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DualSliderComponent.html":{},"components/OntologySelectionComponent.html":{}}}],["viewchild('bodyui",{"_index":241,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["viewchild('popover",{"_index":1763,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["viewchild(cdkportal",{"_index":1768,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["viewchild(ontologytreecomponent",{"_index":2647,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["viewchildren",{"_index":887,"title":{},"body":{"components/ContainerComponent.html":{}}}],["viewchildren(contentcomponent",{"_index":872,"title":{},"body":{"components/ContainerComponent.html":{}}}],["viewer",{"_index":275,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["viewer.component",{"_index":3864,"title":{},"body":{"modules/ViewerModule.html":{}}}],["viewer.component.html",{"_index":3837,"title":{},"body":{"components/ViewerComponent.html":{}}}],["viewer.component.scss",{"_index":3836,"title":{},"body":{"components/ViewerComponent.html":{}}}],["viewercomponent",{"_index":619,"title":{"components/ViewerComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"coverage.html":{},"overview.html":{}}}],["viewermodule",{"_index":71,"title":{"modules/ViewerModule.html":{}},"body":{"modules/AppModule.html":{},"modules/ViewerModule.html":{},"modules.html":{},"overview.html":{}}}],["vieweropen",{"_index":283,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["viewing",{"_index":3946,"title":{},"body":{"changelog.html":{}}}],["viewport",{"_index":2870,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["views",{"_index":4082,"title":{},"body":{"changelog.html":{}}}],["virtual",{"_index":2824,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["vis",{"_index":3765,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["vis'},{'name",{"_index":615,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["vis.component",{"_index":3796,"title":{},"body":{"modules/TissueSectionVisModule.html":{}}}],["vis.component.html",{"_index":3767,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["vis.component.scss",{"_index":3766,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["vis.component.ts",{"_index":3764,"title":{},"body":{"components/TissueSectionVisComponent.html":{},"coverage.html":{}}}],["vis.component.ts:12",{"_index":3779,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["vis.component.ts:15",{"_index":3775,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["vis.component.ts:18",{"_index":3772,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["vis.component.ts:21",{"_index":3781,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["vis.module",{"_index":1587,"title":{},"body":{"modules/DonorCardModule.html":{}}}],["vis.module.ts",{"_index":3795,"title":{},"body":{"modules/TissueSectionVisModule.html":{}}}],["vis/tissue",{"_index":1586,"title":{},"body":{"modules/DonorCardModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"coverage.html":{}}}],["visibility",{"_index":1753,"title":{},"body":{"components/DualSliderComponent.html":{},"components/SpinnerOverlayComponent.html":{}}}],["visibility_off",{"_index":1424,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["visibility_on",{"_index":1422,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["visible",{"_index":1621,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpinnerOverlayComponent.html":{}}}],["visited",{"_index":3737,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["visual",{"_index":3944,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":4107,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":4232,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":83,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"miscellaneous/functions.html":{}}}],["vs",{"_index":4059,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":4316,"title":{},"body":{"changelog.html":{}}}],["w",{"_index":1562,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["wait",{"_index":2163,"title":{},"body":{"classes/InitializationState.html":{}}}],["waits",{"_index":2286,"title":{},"body":{"classes/InitializationState.html":{}}}],["walkthrough",{"_index":4543,"title":{},"body":{"index.html":{}}}],["warming",{"_index":3968,"title":{},"body":{"changelog.html":{}}}],["warmupdatabase",{"_index":1257,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["warning",{"_index":4254,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":4596,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":4593,"title":{},"body":{"license.html":{}}}],["watchoverflow",{"_index":3696,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["way",{"_index":2872,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["wc",{"_index":495,"title":{},"body":{"components/AppWebComponent.html":{}}}],["wc'},{'name",{"_index":559,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["web",{"_index":117,"title":{},"body":{"modules/AppModule.html":{},"components/AppWebComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["webcomponent",{"_index":4058,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":4432,"title":{},"body":{"dependencies.html":{}}}],["webkit",{"_index":938,"title":{},"body":{"components/ContainerComponent.html":{}}}],["webpages",{"_index":4023,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":4516,"title":{},"body":{"index.html":{}}}],["week",{"_index":4321,"title":{},"body":{"changelog.html":{}}}],["weight",{"_index":704,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/HeaderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["well",{"_index":2823,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["west",{"_index":3286,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["whenever",{"_index":288,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"classes/InitializationState.html":{},"miscellaneous/functions.html":{}}}],["whether",{"_index":264,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ResultsBrowserComponent.html":{},"components/SpinnerOverlayComponent.html":{},"injectables/ThemingService.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"license.html":{}}}],["white",{"_index":695,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["whole",{"_index":4318,"title":{},"body":{"changelog.html":{}}}],["whose",{"_index":2479,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["width",{"_index":711,"title":{},"body":{"components/CheckboxComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["widths",{"_index":2294,"title":{},"body":{"classes/InitializationState.html":{}}}],["window",{"_index":279,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["window.matchmedia",{"_index":348,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["window.matchmedia('(prefers",{"_index":354,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["window.open(url",{"_index":439,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["within",{"_index":2635,"title":{},"body":{"components/OntologySelectionComponent.html":{},"components/SpatialSearchUiComponent.html":{},"changelog.html":{}}}],["without",{"_index":874,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"changelog.html":{},"license.html":{}}}],["work",{"_index":3706,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["workaround",{"_index":2304,"title":{},"body":{"classes/InitializationState.html":{}}}],["worker",{"_index":1439,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/variables.html":{}}}],["worker(url",{"_index":3881,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["workerccfdatabasedatasourceservice",{"_index":3866,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["workerdatasourceservice",{"_index":1438,"title":{"injectables/WorkerDataSourceService.html":{}},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/WorkerDataSourceService.html":{},"coverage.html":{}}}],["workflows",{"_index":4188,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":4013,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":4204,"title":{},"body":{"changelog.html":{}}}],["wrap",{"_index":709,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["wrapped",{"_index":871,"title":{},"body":{"components/ContainerComponent.html":{}}}],["wrapper",{"_index":1632,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["wrapper/container",{"_index":1835,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["wrapping",{"_index":875,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{}}}],["x",{"_index":390,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"components/TissueSectionVisComponent.html":{},"classes/UpdateSpatialSearch.html":{}}}],["x.tofixed(1",{"_index":3183,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["x_dimension",{"_index":2737,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["xyz",{"_index":3418,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["xyzpositionmodule",{"_index":3429,"title":{},"body":{"modules/SpatialSearchUiModule.html":{}}}],["x},${y},${z",{"_index":3174,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["x}_${y}_${z",{"_index":2758,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["y",{"_index":392,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{}}}],["y.tofixed(1",{"_index":3184,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["y_dimension",{"_index":2738,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["yes",{"_index":2485,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"miscellaneous/functions.html":{}}}],["youtube",{"_index":4038,"title":{},"body":{"changelog.html":{}}}],["z",{"_index":394,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"classes/UpdateSpatialSearch.html":{}}}],["z.tofixed(1",{"_index":3185,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["z_dimension",{"_index":2739,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["zone.js",{"_index":4493,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":72,"title":{},"body":{"modules/AppModule.html":{},"modules/CheckboxModule.html":{},"modules/CoreModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThemingModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{},"overview.html":{}}}]],"pipeline":["stemmer"]}, - "store": {"classes/AddSearch.html":{"url":"classes/AddSearch.html","title":"class - AddSearch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AddSearch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(sex: Sex, organName: string, search: SpatialSearch)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sex\n \n \n Sex\n \n \n \n No\n \n \n \n \n organName\n \n \n string\n \n \n \n No\n \n \n \n \n search\n \n \n SpatialSearch\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[Spatial Search Filter] Add'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSearch } from 'ccf-database';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\n\nimport type { SpatialSearchFilterItem } from './spatial-search-filter.state';\n\n\nexport class AddSearch {\n static readonly type = '[Spatial Search Filter] Add';\n\n constructor(readonly sex: Sex, readonly organName: string, readonly search: SpatialSearch) { }\n}\n\nexport class RemoveSearch {\n static readonly type = '[Spatial Search Filter] Remove';\n\n constructor(readonly id: string) { }\n}\n\nexport class SetSelectedSearches {\n static readonly type = '[Spatial Search Filter] Set selected searches';\n\n constructor(readonly items: SpatialSearchFilterItem[]) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AppModule.html":{"url":"modules/AppModule.html","title":"module - AppModule","body":"\n \n\n\n\n\n Modules\n AppModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nAppModule -->\n\nCoreModule->AppModule\n\n\n\n\n\nDrawerModule\n\nDrawerModule\n\nAppModule -->\n\nDrawerModule->AppModule\n\n\n\n\n\nDualSliderModule\n\nDualSliderModule\n\nAppModule -->\n\nDualSliderModule->AppModule\n\n\n\n\n\nFiltersPopoverModule\n\nFiltersPopoverModule\n\nAppModule -->\n\nFiltersPopoverModule->AppModule\n\n\n\n\n\nOntologyExplorationModule\n\nOntologyExplorationModule\n\nAppModule -->\n\nOntologyExplorationModule->AppModule\n\n\n\n\n\nResultsBrowserModule\n\nResultsBrowserModule\n\nAppModule -->\n\nResultsBrowserModule->AppModule\n\n\n\n\n\nRunSpatialSearchModule\n\nRunSpatialSearchModule\n\nAppModule -->\n\nRunSpatialSearchModule->AppModule\n\n\n\n\n\nSpinnerOverlayModule\n\nSpinnerOverlayModule\n\nAppModule -->\n\nSpinnerOverlayModule->AppModule\n\n\n\n\n\nViewerModule\n\nViewerModule\n\nAppModule -->\n\nViewerModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/app.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n AppComponent\n \n \n AppWebComponent\n \n \n \n \n EntryComponents\n \n \n AppComponent\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n DrawerModule\n \n \n DualSliderModule\n \n \n FiltersPopoverModule\n \n \n OntologyExplorationModule\n \n \n ResultsBrowserModule\n \n \n RunSpatialSearchModule\n \n \n SpinnerOverlayModule\n \n \n ViewerModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngDoBootstrap\n \n \n \n \n \n \nngDoBootstrap()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/app.module.ts:57\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { OverlayContainer } from '@angular/cdk/overlay';\nimport { DoBootstrap, Injector, NgModule } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { BodyUiModule, InfoButtonModule, OrganSelectorModule, TrackingPopupModule } from 'ccf-shared';\nimport { AppRootOverlayContainer } from './core/services/app-root-overlay/app-root-overlay.service';\n\nimport { DEFAULT_THEME } from '../app/core/services/theming/theming.service';\nimport { AppWebComponent } from './app-web-component.component';\nimport { AppComponent } from './app.component';\nimport { CoreModule } from './core/core.module';\nimport { FiltersPopoverModule } from './modules/filters/filters-popover/filters-popover.module';\nimport { OntologyExplorationModule } from './modules/ontology-exploration/ontology-exploration.module';\nimport { ResultsBrowserModule } from './modules/results-browser/results-browser/results-browser.module';\nimport { DrawerModule } from './shared/components/drawer/drawer.module';\nimport { DualSliderModule } from './shared/components/dual-slider/dual-slider.module';\nimport { RunSpatialSearchModule } from './shared/components/run-spatial-search/run-spatial-search.module';\nimport { SpinnerOverlayModule } from './shared/components/spinner-overlay/spinner-overlay.module';\nimport { ViewerModule } from './shared/components/viewer/viewer.module';\n\n\n@NgModule({\n imports: [\n BrowserAnimationsModule,\n BrowserModule,\n CoreModule,\n DrawerModule,\n FiltersPopoverModule,\n OntologyExplorationModule,\n MatIconModule,\n DualSliderModule,\n ResultsBrowserModule,\n SpinnerOverlayModule,\n BodyUiModule,\n OrganSelectorModule,\n InfoButtonModule,\n MatTooltipModule,\n ViewerModule,\n TrackingPopupModule,\n MatSnackBarModule,\n RunSpatialSearchModule\n ],\n declarations: [AppComponent, AppWebComponent],\n providers: [\n { provide: DEFAULT_THEME, useValue: 'hubmap-theme-light' },\n { provide: OverlayContainer, useExisting: AppRootOverlayContainer }\n ],\n entryComponents: [AppComponent]\n})\nexport class AppModule implements DoBootstrap {\n constructor(private readonly injector: Injector) { }\n\n ngDoBootstrap(): void {\n const appElement = createCustomElement(AppWebComponent, {\n injector: this.injector\n });\n\n customElements.define('ccf-eui', appElement);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AppOptions.html":{"url":"interfaces/AppOptions.html","title":"interface - AppOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AppOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/app.component.ts\n \n\n\n\n \n Extends\n \n \n CCFDatabaseOptions\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n header\n \n \n \n Optional\n \n homeUrl\n \n \n \n Optional\n \n loginEnabled\n \n \n \n Optional\n \n logoTooltip\n \n \n \n Optional\n \n theme\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n header\n \n \n \n \n \n \n \n \n header: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n \n \n \n \n homeUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n loginEnabled\n \n \n \n \n \n \n \n \n loginEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n \n \n \n \n logoTooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n theme\n \n \n \n \n \n \n \n \n theme: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, OnInit, ViewChild } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Dispatch } from '@ngxs-labs/dispatch-decorator';\nimport { Select } from '@ngxs/store';\nimport { CCFDatabaseOptions, OntologyTreeModel } from 'ccf-database';\nimport { DataSourceService, GlobalConfigState, TrackingPopupComponent } from 'ccf-shared';\nimport { ConsentService } from 'ccf-shared/analytics';\nimport { combineLatest, Observable, ReplaySubject } from 'rxjs';\nimport { map, pluck } from 'rxjs/operators';\n\nimport { BodyUiComponent } from '../../../ccf-shared/src/lib/components/body-ui/body-ui.component';\nimport { environment } from '../environments/environment';\nimport { OntologySelection } from './core/models/ontology-selection';\nimport { AppRootOverlayContainer } from './core/services/app-root-overlay/app-root-overlay.service';\nimport { ThemingService } from './core/services/theming/theming.service';\nimport { actionAsFn } from './core/store/action-as-fn';\nimport { DataStateSelectors } from './core/store/data/data.selectors';\nimport { DataQueryState, DataState } from './core/store/data/data.state';\nimport { ListResultsState } from './core/store/list-results/list-results.state';\nimport { SceneState } from './core/store/scene/scene.state';\nimport { RemoveSearch, SetSelectedSearches } from './core/store/spatial-search-filter/spatial-search-filter.actions';\nimport { SpatialSearchFilterSelectors } from './core/store/spatial-search-filter/spatial-search-filter.selectors';\nimport { SpatialSearchFilterItem } from './core/store/spatial-search-filter/spatial-search-filter.state';\nimport { FiltersPopoverComponent } from './modules/filters/filters-popover/filters-popover.component';\nimport { DrawerComponent } from './shared/components/drawer/drawer/drawer.component';\n\n\ninterface AppOptions extends CCFDatabaseOptions {\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n loginEnabled?: boolean;\n}\n\n\n/**\n * This is the main angular component that all the other components branch off from.\n * It is in charge of the header and drawer components who have many sub-components.\n */\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AppComponent implements OnInit {\n @ViewChild('bodyUI', { static: false }) bodyUI: BodyUiComponent;\n\n\n @Select(DataStateSelectors.cellTypesTreeModel)\n readonly cellTypeTreeModel$: Observable;\n\n @Select(DataStateSelectors.anatomicalStructuresTreeModel)\n readonly ontologyTreeModel$: Observable;\n\n @Select(SpatialSearchFilterSelectors.items)\n readonly selectableSearches$: Observable;\n\n @Dispatch()\n readonly setSelectedSearches = actionAsFn(SetSelectedSearches);\n\n @Dispatch()\n readonly removeSpatialSearch = actionAsFn(RemoveSearch);\n\n /**\n * Used to keep track of the ontology label to be passed down to the\n * results-browser component.\n */\n ontologySelectionLabel = 'body';\n\n cellTypeSelectionLabel = 'cell';\n\n selectionLabel = 'body | cell';\n\n /**\n * Whether or not organ carousel is open\n */\n organListVisible = true;\n\n /**\n * Emitted url object from the results browser item\n */\n url = '';\n\n /**\n * Acceptable viewer domains (others will open in new window)\n */\n acceptableViewerDomains: string[] = environment.acceptableViewerDomains || [];\n\n /**\n * Variable to keep track of whether the viewer is open\n * or not\n */\n viewerOpen = false;\n\n get isLightTheme(): boolean {\n return this.theming.getTheme().endsWith('light');\n }\n\n /** Emits true whenever the overlay spinner should activate. */\n readonly spinnerActive$ = this.data.queryStatus$.pipe(\n map(state => state === DataQueryState.Running)\n );\n\n readonly loadingMessage$ = this.data.state$.pipe(pluck('statusMessage'));\n\n readonly ontologyTerms$: Observable;\n readonly cellTypeTerms$: Observable;\n\n readonly theme$ = this.globalConfig.getOption('theme');\n readonly themeMode$ = new ReplaySubject(1);\n\n readonly header$ = this.globalConfig.getOption('header');\n readonly homeUrl$ = this.globalConfig.getOption('homeUrl');\n readonly logoTooltip$ = this.globalConfig.getOption('logoTooltip');\n readonly loginDisabled$ = this.globalConfig.getOption('loginDisabled');\n\n /**\n * Creates an instance of app component.\n *\n * @param data The data state.\n */\n constructor(\n el: ElementRef, injector: Injector,\n readonly data: DataState, readonly theming: ThemingService,\n readonly scene: SceneState, readonly listResultsState: ListResultsState,\n readonly consentService: ConsentService, readonly snackbar: MatSnackBar, overlay: AppRootOverlayContainer,\n readonly dataSource: DataSourceService, private readonly globalConfig: GlobalConfigState, cdr: ChangeDetectorRef\n ) {\n theming.initialize(el, injector);\n overlay.setRootElement(el);\n data.tissueBlockData$.subscribe();\n data.aggregateData$.subscribe();\n data.ontologyTermOccurencesData$.subscribe();\n data.cellTypeTermOccurencesData$.subscribe();\n data.sceneData$.subscribe();\n data.filter$.subscribe();\n data.technologyFilterData$.subscribe();\n data.providerFilterData$.subscribe();\n this.ontologyTerms$ = data.filter$.pipe(pluck('ontologyTerms'));\n this.cellTypeTerms$ = data.filter$.pipe(pluck('cellTypeTerms'));\n\n combineLatest([this.theme$, this.themeMode$]).subscribe(\n ([theme, mode]) => {\n this.theming.setTheme(`${theme}-theme-${mode}`);\n cdr.markForCheck();\n }\n );\n }\n\n ngOnInit(): void {\n const snackBar = this.snackbar.openFromComponent(TrackingPopupComponent, {\n data: {\n preClose: () => {\n snackBar.dismiss();\n }\n },\n duration: this.consentService.consent === 'not-set' ? Infinity : 3000\n });\n\n if (window.matchMedia) {\n // Sets initial theme according to user theme preference\n if (window.matchMedia('(prefers-color-scheme: dark)').matches) {\n this.themeMode$.next('dark');\n } else {\n this.themeMode$.next('light');\n }\n\n // Listens for changes in user theme preference\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', e => {\n this.themeMode$.next(e.matches ? 'dark' : 'light');\n });\n } else {\n this.themeMode$.next('light');\n }\n }\n\n /**\n * Resets the drawers and filter components to their default state.\n *\n * @param left The left drawer component gets passed in so we can call it's methods to control it's state\n * @param right The right drawer component gets passed in so we can call it's methods to control it's state\n * @param filterbox The filter's popover component gets passed in so we can control it's popover's state\n */\n reset(\n left: DrawerComponent,\n right: DrawerComponent,\n filterbox: FiltersPopoverComponent\n ): void {\n left.open();\n left.closeExpanded();\n right.open();\n right.closeExpanded();\n filterbox.removeBox();\n this.resetView();\n }\n\n resetView(): void {\n this.bodyUI.target = [0, 0, 0];\n this.bodyUI.rotation = 0;\n this.bodyUI.rotationX = 0;\n this.bodyUI.bounds = { x: 2.2, y: 2, z: 0.4 };\n }\n\n /**\n * Toggles scheme between light and dark mode\n */\n toggleScheme(): void {\n this.themeMode$.next(this.isLightTheme ? 'dark' : 'light');\n }\n\n /**\n * Captures changes in the ontologySelection and uses them to update the results-browser label\n * and the filter object in the data store.\n *\n * @param ontologySelection the list of currently selected organ nodes\n */\n ontologySelected(ontologySelection: OntologySelection[] | undefined, type: 'anatomical-structures' | 'cell-type'): void {\n if (ontologySelection) {\n if (type === 'anatomical-structures') {\n this.data.updateFilter({ ontologyTerms: ontologySelection.map(selection => selection.id) });\n this.ontologySelectionLabel = this.createSelectionLabel(ontologySelection);\n } else {\n this.data.updateFilter({ cellTypeTerms: ontologySelection.map(selection => selection.id) });\n this.cellTypeSelectionLabel = this.createSelectionLabel(ontologySelection);\n }\n if (this.ontologySelectionLabel && this.cellTypeSelectionLabel) {\n this.selectionLabel = `${this.ontologySelectionLabel} | ${this.cellTypeSelectionLabel}`;\n } else if (this.ontologySelectionLabel) {\n this.selectionLabel = `${this.ontologySelectionLabel}`;\n } else if (this.cellTypeSelectionLabel) {\n this.selectionLabel = `${this.cellTypeSelectionLabel}`;\n } else {\n this.selectionLabel = '';\n }\n if (ontologySelection[0] && ontologySelection[0].label === 'body') {\n this.resetView();\n }\n return;\n }\n\n this.data.updateFilter({ ontologyTerms: [], cellTypeTerms: [] });\n this.ontologySelectionLabel = '';\n this.cellTypeSelectionLabel = '';\n }\n\n /**\n * Creates selection label for the results-browser to display based on an\n * array of selected ontology nodes.\n */\n createSelectionLabel(ontolgySelection: OntologySelection[]): string {\n if (ontolgySelection.length === 0) {\n return '';\n }\n\n if (ontolgySelection.length === 1) {\n return ontolgySelection[0].label;\n }\n\n let selectionString = '';\n ontolgySelection.forEach((selection, index) => {\n selectionString += selection.label;\n\n // Don't add a comma if it's the last item in the array.\n if (index url?.startsWith(domain));\n if (isWhitelisted) {\n this.url = url;\n this.viewerOpen = !!url;\n } else {\n // Open link in new tab\n window.open(url, '_blank');\n this.closeiFrameViewer();\n }\n }\n\n /**\n * Function to easily close the iFrame viewer.\n */\n closeiFrameViewer(): void {\n this.viewerOpen = false;\n }\n\n /**\n * Gets login token\n */\n get loggedIn(): boolean {\n const token = this.globalConfig.snapshot.hubmapToken ?? '';\n return token.length > 0;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AppRootOverlayContainer.html":{"url":"injectables/AppRootOverlayContainer.html","title":"injectable - AppRootOverlayContainer","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n AppRootOverlayContainer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/services/app-root-overlay/app-root-overlay.service.ts\n \n\n\n\n \n Extends\n \n \n OverlayContainer\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n attached\n \n \n Private\n rootElement\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n _createContainer\n \n \n Private\n appendToRoot\n \n \n setRootElement\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n _createContainer\n \n \n \n \n \n \n \n _createContainer()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/app-root-overlay/app-root-overlay.service.ts:27\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n appendToRoot\n \n \n \n \n \n \n \n appendToRoot()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/app-root-overlay/app-root-overlay.service.ts:32\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setRootElement\n \n \n \n \n \n \nsetRootElement(el: ElementRef)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/app-root-overlay/app-root-overlay.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n el\n \n ElementRef\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n attached\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/app-root-overlay/app-root-overlay.service.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n rootElement\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/app-root-overlay/app-root-overlay.service.ts:10\n \n \n\n\n \n \n\n\n \n\n\n \n import { OverlayContainer } from '@angular/cdk/overlay';\nimport { Injectable, ElementRef } from '@angular/core';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppRootOverlayContainer extends OverlayContainer {\n private rootElement: ElementRef;\n private attached = false;\n\n setRootElement(el: ElementRef): void {\n if (this.attached) {\n this.rootElement.nativeElement.removeChild(this._containerElement);\n this.attached = false;\n }\n\n this.rootElement = el;\n this.rootElement.nativeElement.style.display = 'block';\n this.rootElement.nativeElement.style.position = 'contents';\n this.rootElement.nativeElement.style.height = '100%';\n this.appendToRoot();\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n protected _createContainer(): void {\n super._createContainer();\n this.appendToRoot();\n }\n\n private appendToRoot(): void {\n if (!this._containerElement || !this.rootElement) {\n return;\n }\n\n this.rootElement.nativeElement.appendChild(this._containerElement);\n this.attached = true;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppWebComponent.html":{"url":"components/AppWebComponent.html","title":"component - AppWebComponent","body":"\n \n\n\n\n\n\n Components\n \n AppWebComponent\n\n\n\n \n Info\n \n \n Source\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/app-web-component.component.ts\n\n\n\n\n \n Extends\n \n \n BaseWebComponent\n \n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root-wc\n \n\n\n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n initialized\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n dataSources\n \n \n header\n \n \n homeUrl\n \n \n hubmapAssetUrl\n \n \n hubmapDataService\n \n \n hubmapDataUrl\n \n \n hubmapPortalUrl\n \n \n hubmapToken\n \n \n loginDisabled\n \n \n logoTooltip\n \n \n remoteApiEndpoint\n \n \n theme\n \n \n useRemoteApi\n \n \n \n \n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configStore: GlobalConfigState, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:47\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configStore\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n dataSources\n \n \n \n \n Type : string | string[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:31\n \n \n \n \n \n \n \n \n \n header\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:42\n \n \n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:43\n \n \n \n \n \n \n \n \n \n hubmapAssetUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:35\n \n \n \n \n \n \n \n \n \n hubmapDataService\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:33\n \n \n \n \n \n \n \n \n \n hubmapDataUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:34\n \n \n \n \n \n \n \n \n \n hubmapPortalUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:37\n \n \n \n \n \n \n \n \n \n hubmapToken\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:36\n \n \n \n \n \n \n \n \n \n loginDisabled\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:45\n \n \n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:44\n \n \n \n \n \n \n \n \n \n remoteApiEndpoint\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:40\n \n \n \n \n \n \n \n \n \n theme\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:41\n \n \n \n \n \n \n \n \n \n useRemoteApi\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:39\n \n \n \n \n\n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n initialized\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:47\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { BaseWebComponent, BUILTIN_PARSERS, GenericGlobalConfig } from 'ccf-shared/web-components';\n\nimport { environment } from '../environments/environment';\n\n\nfunction parseDataSources(value: unknown): string[] {\n const isString = (val: unknown): val is string => typeof val === 'string';\n const isStringArray = (val: unknown): val is string[] => Array.isArray(val) && val.every(isString);\n\n if (typeof value === 'string') {\n const json = BUILTIN_PARSERS.json(value);\n if (isStringArray(json)) {\n return json;\n }\n } else if (isStringArray(value)) {\n return value;\n }\n\n throw new Error('Invalid data sources');\n}\n\n\n@Component({\n selector: 'ccf-root-wc',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppWebComponent extends BaseWebComponent {\n @Input() dataSources: string | string[];\n\n @Input() hubmapDataService: string;\n @Input() hubmapDataUrl: string;\n @Input() hubmapAssetUrl: string;\n @Input() hubmapToken: string;\n @Input() hubmapPortalUrl: string;\n\n @Input() useRemoteApi: string | boolean;\n @Input() remoteApiEndpoint: string;\n @Input() theme: string;\n @Input() header: string | boolean;\n @Input() homeUrl: string;\n @Input() logoTooltip: string;\n @Input() loginDisabled: boolean;\n\n initialized: boolean;\n\n constructor(\n configStore: GlobalConfigState,\n cdr: ChangeDetectorRef\n ) {\n super(configStore, cdr, {\n initialDelay: 10,\n\n initialConfig: {\n ...environment.dbOptions,\n ...globalThis['dbOptions'],\n ...environment.customization\n },\n parse: {\n dataSources: parseDataSources,\n useRemoteApi: BUILTIN_PARSERS.boolean,\n header: BUILTIN_PARSERS.boolean,\n loginDisabled: BUILTIN_PARSERS.boolean\n }\n });\n }\n}\n\n \n\n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppWebComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/CheckboxComponent.html":{"url":"components/CheckboxComponent.html","title":"component - CheckboxComponent","body":"\n \n\n\n\n\n\n Components\n \n CheckboxComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts\n\n\n\n \n Description\n \n \n Creates a labeled group of checkboxes and emits a current list of selections whenever a selection changes.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-checkbox\n \n\n \n styleUrls\n ./checkbox.component.scss\n \n\n\n\n \n templateUrl\n ./checkbox.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n filterOnChange\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n columns\n \n \n label\n \n \n options\n \n \n selection\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n selectionChange\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts:38\n \n \n\n \n \n Creates an instance of checkbox component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n columns\n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 3\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts:33\n \n \n \n \n Number of columns\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts:18\n \n \n \n \n The label that describes the overall question the checkbox is asking\n\n \n \n \n \n \n \n \n \n \n options\n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts:23\n \n \n \n \n Used to generate the individual checkboxes and their individual labels\n\n \n \n \n \n \n \n \n \n \n selection\n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts:28\n \n \n \n \n A list of the checkboxes the user has checked. To be updated any time a checkbox changes.\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n selectionChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts:38\n \n \n \n \n Any time a checkbox changes we emit that value so the parent component has that information\n\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n filterOnChange\n \n \n \n \n \n \nfilterOnChange(event: MatCheckboxChange, option: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts:53\n \n \n\n\n \n \n This method captures checkbox events and decides whether to add or remove a filter selection based on the checked property\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n MatCheckboxChange\n \n\n \n No\n \n\n\n \n Event object from the checkbox that contains the boolean property 'checked'\n\n \n \n \n option\n \n string\n \n\n \n No\n \n\n\n \n Tells us which option was checked or unchecked\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * Creates a labeled group of checkboxes and emits a current list of selections whenever a selection changes.\n */\n@Component({\n selector: 'ccf-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CheckboxComponent {\n /**\n * The label that describes the overall question the checkbox is asking\n */\n @Input() label: string;\n\n /**\n * Used to generate the individual checkboxes and their individual labels\n */\n @Input() options: string[];\n\n /**\n * A list of the checkboxes the user has checked. To be updated any time a checkbox changes.\n */\n @Input() selection: string[] = [];\n\n /**\n * Number of columns\n */\n @Input() columns = 3;\n\n /**\n * Any time a checkbox changes we emit that value so the parent component has that information\n */\n @Output() readonly selectionChange = new EventEmitter();\n\n /**\n * Creates an instance of checkbox component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * This method captures checkbox events and decides whether to add or remove a filter selection based on the checked property\n *\n * @param event Event object from the checkbox that contains the boolean property 'checked'\n * @param option Tells us which option was checked or unchecked\n */\n filterOnChange(event: MatCheckboxChange, option: string): void {\n const checked = event.checked;\n\n if (checked) {\n this.selection = [...this.selection, option];\n this.ga.event('filter_added', 'filter_checkbox', option);\n } else {\n this.selection = this.selection.filter(selection => selection !== option);\n this.ga.event('filter_removed', 'filter_checkbox', option);\n }\n\n this.selectionChange.emit(this.selection);\n }\n}\n\n \n\n \n \n {{ label }}\n\n \n \n \n {{ option }}\n \n \n \n\n\n \n\n \n \n ./checkbox.component.scss\n \n ::ng-deep .mat-checkbox.mat-accent {\n .mat-checkbox-checkmark-path {\n stroke: white !important;\n }\n\n .mat-checkbox-inner-container {\n margin-right: 1rem;\n }\n}\n\n.filter-label {\n margin-bottom: 0.5rem;\n font-weight: bold;\n}\n\n.options-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &.three {\n .option {\n width: 33%;\n }\n }\n\n &.four {\n .option {\n width: 25%;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ label }} {{ option }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'CheckboxComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CheckboxModule.html":{"url":"modules/CheckboxModule.html","title":"module - CheckboxModule","body":"\n \n\n\n\n\n Modules\n CheckboxModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_CheckboxModule\n\n\n\ncluster_CheckboxModule_exports\n\n\n\ncluster_CheckboxModule_declarations\n\n\n\n\nCheckboxComponent\n\nCheckboxComponent\n\n\n\nCheckboxModule\n\nCheckboxModule\n\nCheckboxModule -->\n\nCheckboxComponent->CheckboxModule\n\n\n\n\n\nCheckboxComponent \n\nCheckboxComponent \n\nCheckboxComponent -->\n\nCheckboxModule->CheckboxComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/checkbox/checkbox.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n CheckboxComponent\n \n \n \n \n Exports\n \n \n CheckboxComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\n\nimport { CheckboxComponent } from './checkbox.component';\n\n\n@NgModule({\n imports: [CommonModule, MatCheckboxModule],\n declarations: [CheckboxComponent],\n exports: [CheckboxComponent]\n})\nexport class CheckboxModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Color.html":{"url":"interfaces/Color.html","title":"interface - Color","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Color\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n color\n \n \n \n \n rank\n \n \n \n \n rgba\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rank\n \n \n \n \n \n \n \n \n rank: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rgba\n \n \n \n \n \n \n \n \n rgba: [number, number, number, number]\n\n \n \n\n\n \n \n Type : [number, number, number, number]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings/immutability';\nimport { Injectable } from '@angular/core';\nimport { DataAction, Payload, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport hexRgb from 'hex-rgb';\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, pluck } from 'rxjs/operators';\n\n\nexport interface Color {\n color: string;\n rgba: [number, number, number, number];\n rank: number;\n}\n\nexport const DEFAULT_COLOR_PALETTE: Color[] = [\n '#FF8800',\n '#2979ff',\n '#ffd740',\n '#b92dff',\n '#da326f',\n '#7323e2',\n '#acf32b',\n '#82B1FF',\n '#E040FB',\n '#00E5FF'\n].map((color, rank) => {\n const rgba = hexRgb(color, { format: 'array' });\n rgba[3] = 255; // for Deck.gl\n return { color, rgba, rank };\n});\n\nexport interface ColorAssignmentStateModel {\n colorPalette: Color[];\n colorsAvailable: Color[];\n colorAssignments: Record;\n colorAssignmentsList: { color: Color; key: string }[];\n}\n\n/**\n * Color Assignment State\n */\n@StateRepository()\n@State({\n name: 'colors',\n defaults: {\n colorPalette: DEFAULT_COLOR_PALETTE.concat(),\n colorsAvailable: DEFAULT_COLOR_PALETTE.concat(),\n colorAssignments: {},\n colorAssignmentsList: []\n }\n})\n@Injectable()\nexport class ColorAssignmentState extends NgxsImmutableDataRepository {\n private readonly forcedUnassignment = new Subject();\n\n readonly forcedUnassignment$ = this.forcedUnassignment.asObservable();\n readonly colorAssignments$ = this.state$.pipe(pluck('colorAssignments'), distinctUntilChanged());\n readonly colorAssignmentsList$ = this.state$.pipe(pluck('colorAssignmentsList'), distinctUntilChanged());\n\n getColor(key: string): Immutable | undefined {\n const { colorAssignments } = this.snapshot;\n return colorAssignments[key];\n }\n\n @DataAction()\n assignColor(@Payload('key') key: string, @Payload('doReset') doReset = false): Immutable {\n let { colorAssignments, colorAssignmentsList, colorsAvailable } = this.snapshot;\n if (doReset) {\n colorsAvailable = this.snapshot.colorPalette.concat();\n colorAssignmentsList = [];\n colorAssignments = {};\n }\n let color = colorAssignments[key];\n if (!color) {\n if (colorsAvailable.length > 0) {\n color = colorsAvailable[0];\n } else {\n color = colorAssignmentsList[colorAssignmentsList.length - 1].color;\n colorAssignmentsList = colorAssignmentsList.slice(0, -1);\n this.forcedUnassignment.next();\n }\n colorsAvailable = colorsAvailable.filter(c => c.color !== color.color);\n colorAssignmentsList = [{ color, key }].concat(colorAssignmentsList);\n colorAssignments = colorAssignmentsList.reduce>>((acc, item, rank) => {\n acc[item.key] = { ...item.color, rank };\n return acc;\n }, {});\n\n this.ctx.patchState({\n colorsAvailable,\n colorAssignments,\n colorAssignmentsList\n });\n }\n return color;\n }\n\n @DataAction()\n unassignColor(@Payload('key') key: string): void {\n let { colorAssignments, colorAssignmentsList, colorsAvailable } = this.snapshot;\n const color = colorAssignments[key];\n if (color) {\n colorsAvailable = [color].concat(colorsAvailable);\n colorAssignmentsList = colorAssignmentsList.filter(a => a.color.color !== color.color);\n colorAssignments = colorAssignmentsList.reduce>>((acc, item, rank) => {\n acc[item.key] = { ...item.color, rank };\n return acc;\n }, {});\n\n this.ctx.patchState({\n colorsAvailable,\n colorAssignments,\n colorAssignmentsList\n });\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColorAssignmentState.html":{"url":"injectables/ColorAssignmentState.html","title":"injectable - ColorAssignmentState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ColorAssignmentState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts\n \n\n\n \n Description\n \n \n Color Assignment State\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n colorAssignments$\n \n \n Readonly\n colorAssignmentsList$\n \n \n Private\n Readonly\n forcedUnassignment\n \n \n Readonly\n forcedUnassignment$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n assignColor\n \n \n getColor\n \n \n unassignColor\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n assignColor\n \n \n \n \n \n \nassignColor(key: string, doReset)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n doReset\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n \n \n Returns : Immutable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getColor\n \n \n \n \n \n \ngetColor(key: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Immutable | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n unassignColor\n \n \n \n \n \n \nunassignColor(key: string)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n colorAssignments$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('colorAssignments'), distinctUntilChanged())\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n colorAssignmentsList$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('colorAssignmentsList'), distinctUntilChanged())\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n forcedUnassignment\n \n \n \n \n \n \n Default value : new Subject()\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n forcedUnassignment$\n \n \n \n \n \n \n Default value : this.forcedUnassignment.asObservable()\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts:59\n \n \n\n\n \n \n\n\n \n\n\n \n import { Immutable } from '@angular-ru/common/typings/immutability';\nimport { Injectable } from '@angular/core';\nimport { DataAction, Payload, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport hexRgb from 'hex-rgb';\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, pluck } from 'rxjs/operators';\n\n\nexport interface Color {\n color: string;\n rgba: [number, number, number, number];\n rank: number;\n}\n\nexport const DEFAULT_COLOR_PALETTE: Color[] = [\n '#FF8800',\n '#2979ff',\n '#ffd740',\n '#b92dff',\n '#da326f',\n '#7323e2',\n '#acf32b',\n '#82B1FF',\n '#E040FB',\n '#00E5FF'\n].map((color, rank) => {\n const rgba = hexRgb(color, { format: 'array' });\n rgba[3] = 255; // for Deck.gl\n return { color, rgba, rank };\n});\n\nexport interface ColorAssignmentStateModel {\n colorPalette: Color[];\n colorsAvailable: Color[];\n colorAssignments: Record;\n colorAssignmentsList: { color: Color; key: string }[];\n}\n\n/**\n * Color Assignment State\n */\n@StateRepository()\n@State({\n name: 'colors',\n defaults: {\n colorPalette: DEFAULT_COLOR_PALETTE.concat(),\n colorsAvailable: DEFAULT_COLOR_PALETTE.concat(),\n colorAssignments: {},\n colorAssignmentsList: []\n }\n})\n@Injectable()\nexport class ColorAssignmentState extends NgxsImmutableDataRepository {\n private readonly forcedUnassignment = new Subject();\n\n readonly forcedUnassignment$ = this.forcedUnassignment.asObservable();\n readonly colorAssignments$ = this.state$.pipe(pluck('colorAssignments'), distinctUntilChanged());\n readonly colorAssignmentsList$ = this.state$.pipe(pluck('colorAssignmentsList'), distinctUntilChanged());\n\n getColor(key: string): Immutable | undefined {\n const { colorAssignments } = this.snapshot;\n return colorAssignments[key];\n }\n\n @DataAction()\n assignColor(@Payload('key') key: string, @Payload('doReset') doReset = false): Immutable {\n let { colorAssignments, colorAssignmentsList, colorsAvailable } = this.snapshot;\n if (doReset) {\n colorsAvailable = this.snapshot.colorPalette.concat();\n colorAssignmentsList = [];\n colorAssignments = {};\n }\n let color = colorAssignments[key];\n if (!color) {\n if (colorsAvailable.length > 0) {\n color = colorsAvailable[0];\n } else {\n color = colorAssignmentsList[colorAssignmentsList.length - 1].color;\n colorAssignmentsList = colorAssignmentsList.slice(0, -1);\n this.forcedUnassignment.next();\n }\n colorsAvailable = colorsAvailable.filter(c => c.color !== color.color);\n colorAssignmentsList = [{ color, key }].concat(colorAssignmentsList);\n colorAssignments = colorAssignmentsList.reduce>>((acc, item, rank) => {\n acc[item.key] = { ...item.color, rank };\n return acc;\n }, {});\n\n this.ctx.patchState({\n colorsAvailable,\n colorAssignments,\n colorAssignmentsList\n });\n }\n return color;\n }\n\n @DataAction()\n unassignColor(@Payload('key') key: string): void {\n let { colorAssignments, colorAssignmentsList, colorsAvailable } = this.snapshot;\n const color = colorAssignments[key];\n if (color) {\n colorsAvailable = [color].concat(colorsAvailable);\n colorAssignmentsList = colorAssignmentsList.filter(a => a.color.color !== color.color);\n colorAssignments = colorAssignmentsList.reduce>>((acc, item, rank) => {\n acc[item.key] = { ...item.color, rank };\n return acc;\n }, {});\n\n this.ctx.patchState({\n colorsAvailable,\n colorAssignments,\n colorAssignmentsList\n });\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ColorAssignmentStateModel.html":{"url":"interfaces/ColorAssignmentStateModel.html","title":"interface - ColorAssignmentStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ColorAssignmentStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n colorAssignments\n \n \n \n \n colorAssignmentsList\n \n \n \n \n colorPalette\n \n \n \n \n colorsAvailable\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n colorAssignments\n \n \n \n \n \n \n \n \n colorAssignments: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n colorAssignmentsList\n \n \n \n \n \n \n \n \n colorAssignmentsList: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n colorPalette\n \n \n \n \n \n \n \n \n colorPalette: Color[]\n\n \n \n\n\n \n \n Type : Color[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n colorsAvailable\n \n \n \n \n \n \n \n \n colorsAvailable: Color[]\n\n \n \n\n\n \n \n Type : Color[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings/immutability';\nimport { Injectable } from '@angular/core';\nimport { DataAction, Payload, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport hexRgb from 'hex-rgb';\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, pluck } from 'rxjs/operators';\n\n\nexport interface Color {\n color: string;\n rgba: [number, number, number, number];\n rank: number;\n}\n\nexport const DEFAULT_COLOR_PALETTE: Color[] = [\n '#FF8800',\n '#2979ff',\n '#ffd740',\n '#b92dff',\n '#da326f',\n '#7323e2',\n '#acf32b',\n '#82B1FF',\n '#E040FB',\n '#00E5FF'\n].map((color, rank) => {\n const rgba = hexRgb(color, { format: 'array' });\n rgba[3] = 255; // for Deck.gl\n return { color, rgba, rank };\n});\n\nexport interface ColorAssignmentStateModel {\n colorPalette: Color[];\n colorsAvailable: Color[];\n colorAssignments: Record;\n colorAssignmentsList: { color: Color; key: string }[];\n}\n\n/**\n * Color Assignment State\n */\n@StateRepository()\n@State({\n name: 'colors',\n defaults: {\n colorPalette: DEFAULT_COLOR_PALETTE.concat(),\n colorsAvailable: DEFAULT_COLOR_PALETTE.concat(),\n colorAssignments: {},\n colorAssignmentsList: []\n }\n})\n@Injectable()\nexport class ColorAssignmentState extends NgxsImmutableDataRepository {\n private readonly forcedUnassignment = new Subject();\n\n readonly forcedUnassignment$ = this.forcedUnassignment.asObservable();\n readonly colorAssignments$ = this.state$.pipe(pluck('colorAssignments'), distinctUntilChanged());\n readonly colorAssignmentsList$ = this.state$.pipe(pluck('colorAssignmentsList'), distinctUntilChanged());\n\n getColor(key: string): Immutable | undefined {\n const { colorAssignments } = this.snapshot;\n return colorAssignments[key];\n }\n\n @DataAction()\n assignColor(@Payload('key') key: string, @Payload('doReset') doReset = false): Immutable {\n let { colorAssignments, colorAssignmentsList, colorsAvailable } = this.snapshot;\n if (doReset) {\n colorsAvailable = this.snapshot.colorPalette.concat();\n colorAssignmentsList = [];\n colorAssignments = {};\n }\n let color = colorAssignments[key];\n if (!color) {\n if (colorsAvailable.length > 0) {\n color = colorsAvailable[0];\n } else {\n color = colorAssignmentsList[colorAssignmentsList.length - 1].color;\n colorAssignmentsList = colorAssignmentsList.slice(0, -1);\n this.forcedUnassignment.next();\n }\n colorsAvailable = colorsAvailable.filter(c => c.color !== color.color);\n colorAssignmentsList = [{ color, key }].concat(colorAssignmentsList);\n colorAssignments = colorAssignmentsList.reduce>>((acc, item, rank) => {\n acc[item.key] = { ...item.color, rank };\n return acc;\n }, {});\n\n this.ctx.patchState({\n colorsAvailable,\n colorAssignments,\n colorAssignmentsList\n });\n }\n return color;\n }\n\n @DataAction()\n unassignColor(@Payload('key') key: string): void {\n let { colorAssignments, colorAssignmentsList, colorsAvailable } = this.snapshot;\n const color = colorAssignments[key];\n if (color) {\n colorsAvailable = [color].concat(colorsAvailable);\n colorAssignmentsList = colorAssignmentsList.filter(a => a.color.color !== color.color);\n colorAssignments = colorAssignmentsList.reduce>>((acc, item, rank) => {\n acc[item.key] = { ...item.color, rank };\n return acc;\n }, {});\n\n this.ctx.patchState({\n colorsAvailable,\n colorAssignments,\n colorAssignmentsList\n });\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ContainerComponent.html":{"url":"components/ContainerComponent.html","title":"component - ContainerComponent","body":"\n \n\n\n\n\n\n Components\n \n ContainerComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts\n\n\n\n \n Description\n \n \n Main container for drawer components.\n\n \n\n\n \n Implements\n \n \n AfterViewInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n \n exportAs\n ccfDrawerContainer\n \n\n\n\n\n\n \n providers\n \n MessageService\n \n \n\n\n \n selector\n ccf-drawer-container\n \n\n \n styleUrls\n ./container.component.scss\n \n\n\n\n \n templateUrl\n ./container.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n channel\n \n \n Readonly\n className\n \n \n Private\n content1\n \n \n Private\n content2\n \n \n Private\n drawers\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n handleMessage\n \n \n ngAfterViewInit\n \n \n ngOnDestroy\n \n \n Private\n validateDrawers\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n content\n \n \n hasWrappedContent\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:62\n \n \n\n \n \n Creates an instance of container component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n The service used to send event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-container\"\n\n \n \n \n \n Default value : 'ccf-drawer-container'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:37\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n handleMessage\n \n \n \n \n \n \n \n handleMessage(_msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:115\n \n \n\n\n \n \n Processes event messages.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to be run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngAfterViewInit\n \n \n \n \n \n \nngAfterViewInit()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:83\n \n \n\n\n \n \n Sets up all listeners after all content has been projected.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:105\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n validateDrawers\n \n \n \n \n \n \n \n validateDrawers()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:124\n \n \n\n\n \n \n Validates the number of drawers and their positions.\n\n\n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n channel\n \n \n \n \n \n \n Type : MessageChannel\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:60\n \n \n\n \n \n The connected message channel.\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-container'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:37\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n content1\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ContentChildren(ContentComponent, {descendants: true})\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:45\n \n \n\n \n \n Content component if provided already wrapped.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n content2\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ViewChildren(ContentComponent)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:48\n \n \n\n \n \n Content component if provided without wrapping.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n drawers\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ContentChildren(DrawerComponent, {descendants: true})\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:41\n \n \n\n \n \n Drawer components in this container.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:62\n \n \n\n \n \n All subscriptions managed by the container.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n content\n \n \n\n \n \n getcontent()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:50\n \n \n \n \n Resolves the content component.\n\n\n \n Returns : ContentComponent\n\n \n \n \n\n \n \n \n \n \n \n \n hasWrappedContent\n \n \n\n \n \n gethasWrappedContent()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:55\n \n \n \n \n Whether the content was wrapped.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import {\n AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, HostBinding, OnDestroy, QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\n\nimport { ContentComponent } from '../content/content.component';\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageChannel, MessageService } from '../messages';\n\n\n/**\n * Helper function for creating drawer errors.\n *\n * @param position The position of the drawer.\n * @throws {Error} Error with useful message is always thrown.\n */\nfunction throwDuplicateDrawersError(position: 'start' | 'end'): never {\n throw new Error(`Multiple drawers in position ${position}`);\n}\n\n\n/**\n * Main container for drawer components.\n */\n@Component({\n selector: 'ccf-drawer-container',\n exportAs: 'ccfDrawerContainer',\n templateUrl: './container.component.html',\n styleUrls: ['./container.component.scss'],\n providers: [MessageService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContainerComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-container';\n\n /** Drawer components in this container. */\n @ContentChildren(DrawerComponent, { descendants: true })\n private drawers: QueryList;\n\n /** Content component if provided already wrapped. */\n @ContentChildren(ContentComponent, { descendants: true })\n private content1: QueryList;\n /** Content component if provided without wrapping. */\n @ViewChildren(ContentComponent)\n private content2: QueryList;\n /** Resolves the content component. */\n private get content(): ContentComponent {\n return this.content1.first ?? this.content2.first;\n }\n\n /** Whether the content was wrapped. */\n get hasWrappedContent(): boolean {\n return this.content1.length !== 0;\n }\n\n /** The connected message channel. */\n private channel: MessageChannel;\n /** All subscriptions managed by the container. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of container component.\n *\n * @param messageService The service used to send event messages.\n * @param cdr The change detector reference.\n */\n constructor(messageService: MessageService,\n private cdr: ChangeDetectorRef) {\n this.channel = messageService.connect(this);\n this.subscriptions.add(this.channel.getMessages().subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Sets up all listeners after all content has been projected.\n */\n ngAfterViewInit(): void {\n this.drawers.changes.pipe(startWith(null)).subscribe(() => {\n const drawers = this.validateDrawers();\n this.channel.sendMessage({\n type: 'drawer-containers-changed',\n drawers\n });\n this.cdr.markForCheck();\n });\n\n this.content1.changes.pipe(startWith(null)).subscribe(() => {\n this.channel.sendMessage({\n type: 'content-container-changed',\n content: this.content\n });\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Processes event messages.\n *\n * @param _msg The event.\n * @returns true if change detection needs to be run.\n */\n private handleMessage(_msg: Message): boolean {\n return true;\n }\n\n /**\n * Validates the number of drawers and their positions.\n *\n * @returns A tuple containing the start and end drawers.\n */\n private validateDrawers(): [DrawerComponent | undefined, DrawerComponent | undefined] {\n const drawers = this.drawers.toArray();\n const startDrawers = drawers.filter(drawer => drawer.position === 'start');\n const endDrawers = drawers.filter(drawer => drawer.position === 'end');\n\n if (startDrawers.length > 1) {\n throwDuplicateDrawersError('start');\n }\n if (endDrawers.length > 1) {\n throwDuplicateDrawersError('end');\n }\n\n return [startDrawers[0], endDrawers[0]];\n }\n}\n\n \n\n \n \n\n\n\n \n\n\n \n\n \n \n ./container.component.scss\n \n :host {\n display: block;\n position: relative;\n z-index: 1;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ContainerComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ContentComponent.html":{"url":"components/ContentComponent.html","title":"component - ContentComponent","body":"\n \n\n\n\n\n\n Components\n \n ContentComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts\n\n\n\n \n Description\n \n \n Component wrapping and providing animations for center content.\n\n \n\n\n \n Implements\n \n \n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-drawer-content\n \n\n \n styleUrls\n ./content.component.scss\n \n\n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n animationsEnabled\n \n \n Readonly\n className\n \n \n Private\n drawers\n \n \n faded\n \n \n leftMargin\n \n \n rightMargin\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n handleMessage\n \n \n ngOnDestroy\n \n \n Private\n updateFaded\n \n \n Private\n updateMargin\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n @fadeInOut\n \n \n class\n \n \n class.cff-drawer-content-animations\n \n \n style.margin-left.px\n \n \n style.margin-right.px\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:41\n \n \n\n \n \n Creates an instance of content component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n Service used to send and receive event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n @fadeInOut\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:36\n \n \n\n \n \n Whether the content is invisible.\n\n \n \n\n \n \n \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-content\"\n\n \n \n \n \n Default value : 'ccf-drawer-content'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:28\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n class.cff-drawer-content-animations\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:30\n \n \n\n \n \n Whether animations are enabled.\n\n \n \n\n \n \n \n \n \n \n \n \n style.margin-left.px\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:32\n \n \n\n \n \n Left margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n style.margin-right.px\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:34\n \n \n\n \n \n Right margin size.\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n handleMessage\n \n \n \n \n \n \n \n handleMessage(msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:70\n \n \n\n\n \n \n Process an event message.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:60\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n updateFaded\n \n \n \n \n \n \n \n updateFaded()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:116\n \n \n\n\n \n \n Checks and updates the faded state based on the drawer states.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n updateMargin\n \n \n \n \n \n \n \n updateMargin(position: \"start\" | \"end\", opened: boolean, width: number, margin: number)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:103\n \n \n\n\n \n \n Updates a margin.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n position\n \n \"start\" | \"end\"\n \n\n \n No\n \n\n\n \n Start (left) or end (right) margin.\n\n \n \n \n opened\n \n boolean\n \n\n \n No\n \n\n\n \n Whether the drawer is opened.\n\n \n \n \n width\n \n number\n \n\n \n No\n \n\n\n \n The width of the drawer if opened.\n\n \n \n \n margin\n \n number\n \n\n \n No\n \n\n\n \n The margin size.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n animationsEnabled\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @HostBinding('class.cff-drawer-content-animations')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:30\n \n \n\n \n \n Whether animations are enabled.\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-content'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:28\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n drawers\n \n \n \n \n \n \n Type : DrawerComponent[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:39\n \n \n\n \n \n References to the side drawers.\n\n \n \n\n \n \n \n \n \n \n \n \n faded\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @HostBinding('@fadeInOut')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:36\n \n \n\n \n \n Whether the content is invisible.\n\n \n \n\n \n \n \n \n \n \n \n \n leftMargin\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @HostBinding('style.margin-left.px')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:32\n \n \n\n \n \n Left margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n rightMargin\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @HostBinding('style.margin-right.px')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:34\n \n \n\n \n \n Right margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:41\n \n \n\n \n \n Subscriptions managed by this component.\n\n \n \n\n \n \n\n\n\n\n\n \n import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageService } from '../messages';\n\n\n/**\n * Component wrapping and providing animations for center content.\n */\n@Component({\n selector: 'ccf-drawer-content',\n template: '',\n styleUrls: ['./content.component.scss'],\n animations: [\n trigger('fadeInOut', [\n state('false', style({ opacity: 1 })),\n state('true', style({ opacity: 0 })),\n\n transition('false true', animate('1s'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentComponent implements OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-content';\n /** Whether animations are enabled. */\n @HostBinding('class.cff-drawer-content-animations') animationsEnabled = false;\n /** Left margin size. */\n @HostBinding('style.margin-left.px') leftMargin = 0;\n /** Right margin size. */\n @HostBinding('style.margin-right.px') rightMargin = 0;\n /** Whether the content is invisible. */\n @HostBinding('@fadeInOut') faded = false;\n\n /** References to the side drawers. */\n private drawers: DrawerComponent[] = [];\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of content component.\n *\n * @param messageService Service used to send and receive event messages.\n * @param cdr The change detector reference.\n */\n constructor(messageService: MessageService,\n cdr: ChangeDetectorRef) {\n const messages = messageService.connect(this).getMessages();\n this.subscriptions.add(messages.subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /** Cleans up all subscriptions. */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Process an event message.\n *\n * @param msg The event.\n * @returns true if change detection needs to run.\n */\n private handleMessage(msg: Message): boolean {\n switch (msg.payload.type) {\n case 'drawer-containers-changed':\n this.drawers = msg.payload.drawers as DrawerComponent[];\n this.updateFaded();\n return true;\n\n case 'drawer-initialized':\n this.animationsEnabled = true;\n return true;\n\n case 'drawer-toggled': {\n const position = (msg.source as DrawerComponent).position;\n const { opened, width, margin } = msg.payload;\n\n this.updateMargin(position, opened, width, margin);\n this.updateFaded();\n return true;\n }\n\n default:\n return false;\n }\n }\n\n /**\n * Updates a margin.\n *\n * @param position Start (left) or end (right) margin.\n * @param opened Whether the drawer is opened.\n * @param width The width of the drawer if opened.\n * @param margin The margin size.\n */\n private updateMargin(position: 'start' | 'end', opened: boolean,\n width: number, margin: number): void {\n const offset = opened ? width + margin : margin;\n if (position === 'start') {\n this.leftMargin = offset;\n } else {\n this.rightMargin = offset;\n }\n }\n\n /**\n * Checks and updates the faded state based on the drawer states.\n */\n private updateFaded(): void {\n const [start, end] = this.drawers;\n const startExpanded = start?.opened && start?.expanded;\n const endExpanded = end?.opened && end?.expanded;\n this.faded = startExpanded || endExpanded;\n }\n}\n\n \n\n\n \n \n ./content.component.scss\n \n :host {\n display: block;\n height: calc(100% - 5.5rem);\n z-index: 2;\n overflow: auto;\n\n &.cff-drawer-content-animations {\n transition: {\n duration: .5s;\n timing-function: ease-in-out;\n property: margin-left, margin-right;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ContentComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ContentContainerChanged.html":{"url":"interfaces/ContentContainerChanged.html","title":"interface - ContentContainerChanged","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ContentContainerChanged\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when the content component changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: \n\n \n \n\n\n\n\n\n\n\n \n \n A reference to the new content component.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CoreModule.html":{"url":"modules/CoreModule.html","title":"module - CoreModule","body":"\n \n\n\n\n\n Modules\n CoreModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\ncluster_CoreModule_exports\n\n\n\n\nHeaderModule\n\nHeaderModule\n\n\n\nCoreModule\n\nCoreModule\n\nCoreModule -->\n\nHeaderModule->CoreModule\n\n\n\n\n\nStoreModule\n\nStoreModule\n\nCoreModule -->\n\nStoreModule->CoreModule\n\n\n\n\n\nThemingModule\n\nThemingModule\n\nCoreModule -->\n\nThemingModule->CoreModule\n\n\n\n\n\nHeaderModule \n\nHeaderModule \n\nHeaderModule -->\n\nCoreModule->HeaderModule \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/core/core.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n HeaderModule\n \n \n StoreModule\n \n \n ThemingModule\n \n \n \n \n Exports\n \n \n HeaderModule\n \n \n \n \n \n\n\n \n\n\n \n import { HttpClientModule } from '@angular/common/http';\nimport { NgModule, Optional, SkipSelf } from '@angular/core';\nimport { DataSourceService, MousePositionTrackerModule } from 'ccf-shared';\nimport { AnalyticsModule } from 'ccf-shared/analytics';\nimport { CcfApiConfiguration, CcfApiModule } from 'ccf-openapi/angular-client';\n\nimport { environment } from '../../environments/environment';\nimport { HeaderModule } from './header/header.module';\nimport { DelegateDataSourceService } from './services/data-source/data-source.service';\nimport { ThemingModule } from './services/theming/theming.module';\nimport { StoreModule } from './store/store.module';\n\n\n@NgModule({\n imports: [\n HttpClientModule,\n\n AnalyticsModule.forRoot({\n gaToken: environment.googleAnalyticsToken,\n appName: 'eui'\n }),\n MousePositionTrackerModule,\n\n CcfApiModule.forRoot(() => new CcfApiConfiguration({\n basePath: environment.dbOptions.remoteApiEndpoint\n })),\n\n HeaderModule,\n StoreModule,\n ThemingModule\n ],\n providers: [\n { provide: DataSourceService, useExisting: DelegateDataSourceService }\n ],\n exports: [HeaderModule]\n})\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() core: CoreModule) {\n if (core) {\n throw new Error('The core module should only be imported once in the root module');\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DataStateModel.html":{"url":"interfaces/DataStateModel.html","title":"interface - DataStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DataStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n\n\n \n Description\n \n \n Store data state.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n anatomicalStructuresTreeModel\n \n \n \n Optional\n \n cellTypesTreeModel\n \n \n \n \n filter\n \n \n \n \n status\n \n \n \n \n statusMessage\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n anatomicalStructuresTreeModel\n \n \n \n \n \n \n \n \n anatomicalStructuresTreeModel: OntologyTreeModel\n\n \n \n\n\n \n \n Type : OntologyTreeModel\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n cellTypesTreeModel\n \n \n \n \n \n \n \n \n cellTypesTreeModel: OntologyTreeModel\n\n \n \n\n\n \n \n Type : OntologyTreeModel\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n filter\n \n \n \n \n \n \n \n \n filter: Filter\n\n \n \n\n\n \n \n Type : Filter\n\n \n \n\n\n\n\n\n \n \n Current filter.\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: \"Loading\" | \"Ready\" | \"Error\"\n\n \n \n\n\n \n \n Type : \"Loading\" | \"Ready\" | \"Error\"\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n statusMessage\n \n \n \n \n \n \n \n \n statusMessage: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { DataAction, Payload, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataRepository } from '@ngxs-labs/data/repositories';\nimport { Action, NgxsOnInit, Selector, State } from '@ngxs/store';\nimport { bind } from 'bind-decorator';\nimport { AggregateResult, DatabaseStatus, Filter, OntologyTreeModel, SpatialSceneNode, TissueBlockResult } from 'ccf-database';\nimport { DataSourceService } from 'ccf-shared';\nimport { combineLatest, defer, ObservableInput, ObservedValueOf, OperatorFunction, ReplaySubject, Subject } from 'rxjs';\nimport { delay, distinct, filter as rxjsFilter, map, pluck, publishReplay, refCount, repeat, switchMap, take, takeWhile, tap } from 'rxjs/operators';\nimport { UpdateFilter } from './data.actions';\n\n\n/** Default values for filters. */\nexport const DEFAULT_FILTER: Filter = {\n sex: 'Both',\n ageRange: [1, 110],\n bmiRange: [13, 83],\n tmc: [],\n technologies: [],\n ontologyTerms: ['http://purl.obolibrary.org/obo/UBERON_0013702'],\n cellTypeTerms: ['http://purl.obolibrary.org/obo/CL_0000000'],\n spatialSearches: []\n};\n\n/** Current state of data queries. */\n// eslint-disable-next-line no-shadow\nexport enum DataQueryState {\n /** One or more queries are running. */\n Running = 'running',\n /** All queries have completed. */\n Completed = 'completed'\n}\n\n/**\n * Helper for testing that all states in an array are `DataQueryState.Completed`.\n *\n * @param states The array of states to test.\n * @returns true if all values in the array is `Completed`.\n */\nfunction allCompleted(states: DataQueryState[]): boolean {\n return states.every(state => state === DataQueryState.Completed);\n}\n\n/**\n * Helper creating a function that sends a `DataQueryState.Completed` to\n * a subject whenever it is called.\n *\n * @param subject The subject to send completed messagess to.\n * @returns The function.\n */\nfunction sendCompletedTo(subject: Subject): () => void {\n return () => subject.next(DataQueryState.Completed);\n}\n\n/**\n * Helper operator that combines querying with sharing and replay functionality.\n *\n * @param query The data query function.\n * @param [next] An optional listener on the values emitted by the latest query.\n * @returns The combined pipe operator function.\n */\nfunction queryData>(\n query: (value: T, index: number) => O,\n next?: (value: ObservedValueOf) => void\n): OperatorFunction> {\n return source => source.pipe(\n switchMap(query),\n tap(next),\n publishReplay(1),\n refCount()\n );\n}\n\n/** Store data state. */\nexport interface DataStateModel {\n /** Current filter. */\n filter: Filter;\n status: 'Loading' | 'Ready' | 'Error';\n statusMessage: string;\n anatomicalStructuresTreeModel?: OntologyTreeModel;\n cellTypesTreeModel?: OntologyTreeModel;\n}\n\n/**\n * Data state repository and service.\n */\n@StateRepository()\n@State({\n name: 'data',\n defaults: {\n filter: DEFAULT_FILTER,\n status: 'Loading',\n statusMessage: 'Loading database'\n }\n})\n@Injectable()\nexport class DataState extends NgxsDataRepository implements NgxsOnInit {\n /** Emits when the database is ready. */\n readonly databaseReady$ = this.state$.pipe(pluck('status'), distinct(), rxjsFilter((status) => status === 'Ready'));\n\n /** Implementation subject for tissueBlockDataQueryStatus$. */\n private readonly _tissueBlockDataQueryStatus$ = new ReplaySubject(1);\n /** Implementation subject for aggregateDataQueryStatus$. */\n private readonly _aggregateDataQueryStatus$ = new ReplaySubject(1);\n /** Implementation subject for ontologyTermOccurencesDataQueryStatus$. */\n private readonly _ontologyTermOccurencesDataQueryStatus$ = new ReplaySubject(1);\n /** Implementation subject for cellTypeTermOccurencesDataQueryStatus$. */\n private readonly _cellTypeTermOccurencesDataQueryStatus$ = new ReplaySubject(1);\n /** Implementation subject for sceneDataQueryStatus$. */\n private readonly _sceneDataQueryStatus$ = new ReplaySubject(1);\n /** Implementation subject for technologyFilterQueryStatus$. */\n private readonly _technologyFilterQueryStatus$ = new ReplaySubject(1);\n /** Implementation subject for providerFilterQueryStatus$. */\n private readonly _providerFilterQueryStatus$ = new ReplaySubject(1);\n /** Keeping track of all ontology terms there is data for. */\n readonly ontologyTermsFullData$ = new ReplaySubject>(1);\n /** Keeping track of all cell type terms there is data for. */\n readonly cellTypeTermsFullData$ = new ReplaySubject>(1);\n\n /** Current filter. */\n readonly filter$ = this.state$.pipe(pluck('filter'));\n /** Latest tissue block query data. */\n readonly tissueBlockData$ = this.filter$.pipe(queryData(\n this.tissueBlockData, sendCompletedTo(this._tissueBlockDataQueryStatus$)\n ));\n /** Latest aggregate query data. */\n readonly aggregateData$ = this.filter$.pipe(queryData(\n this.aggregateData, sendCompletedTo(this._aggregateDataQueryStatus$)\n ));\n /** Latest ontology term occurences query data. */\n readonly ontologyTermOccurencesData$ = this.filter$.pipe(queryData(\n this.ontologyTermOccurencesData, sendCompletedTo(this._ontologyTermOccurencesDataQueryStatus$)\n ));\n /** Latest cell type term occurences query data. */\n readonly cellTypeTermOccurencesData$ = this.filter$.pipe(queryData(\n this.cellTypeTermOccurencesData, sendCompletedTo(this._cellTypeTermOccurencesDataQueryStatus$)\n ));\n /** Latest scene query data. */\n readonly sceneData$ = this.filter$.pipe(queryData(\n this.sceneData, sendCompletedTo(this._sceneDataQueryStatus$)\n ));\n /** Latest technology filter label query data. */\n readonly technologyFilterData$ = this.filter$.pipe(queryData(\n this.technologyFilterData, sendCompletedTo(this._technologyFilterQueryStatus$)\n ));\n /** Latest provider filter label query data. */\n readonly providerFilterData$ = this.filter$.pipe(queryData(\n this.providerFilterData, sendCompletedTo(this._providerFilterQueryStatus$)\n ));\n\n /** Current status of queries in the tissueBlockData$ observable. */\n readonly tissueBlockDataQueryStatus$ = this._tissueBlockDataQueryStatus$.pipe(distinct());\n /** Current status of queries in the aggregateData$ observable. */\n readonly aggregateDataQueryStatus$ = this._aggregateDataQueryStatus$.pipe(distinct());\n /** Current status of queries in the ontologyTermOccurrences$ observable. */\n readonly ontologyTermOccurencesDataQueryStatus$ = this._ontologyTermOccurencesDataQueryStatus$.pipe(distinct());\n /** Current status of queries in the cellTypeTermOccurrences$ observable. */\n readonly cellTypeTermOccurencesDataQueryStatus$ = this._cellTypeTermOccurencesDataQueryStatus$.pipe(distinct());\n /** Current status of queries in the sceneData$ observable. */\n readonly sceneDataQueryStatus$ = this._sceneDataQueryStatus$.pipe(distinct());\n /** Current status of queries in the technologyFilter$ observable. */\n readonly technologyFilterQueryStatus$ = this._technologyFilterQueryStatus$.pipe(distinct());\n /** Current status of queries in the providerFilter$ observable. */\n readonly providerFilterQueryStatus$ = this._providerFilterQueryStatus$.pipe(distinct());\n\n /** Current status of all queries. */\n readonly queryStatus$ = combineLatest([\n this.tissueBlockDataQueryStatus$,\n this.aggregateDataQueryStatus$,\n this.ontologyTermOccurencesDataQueryStatus$,\n this.cellTypeTermOccurencesDataQueryStatus$,\n this.sceneDataQueryStatus$,\n this.technologyFilterQueryStatus$,\n this.providerFilterQueryStatus$\n ]).pipe(\n map(states => allCompleted(states) ? DataQueryState.Completed : DataQueryState.Running),\n distinct()\n );\n\n /**\n * Creates an instance of data state.\n *\n * @param source Data query service.\n */\n constructor(private readonly source: DataSourceService) {\n super();\n // Start everything in the completed state\n this._tissueBlockDataQueryStatus$.next(DataQueryState.Completed);\n this._aggregateDataQueryStatus$.next(DataQueryState.Completed);\n this._ontologyTermOccurencesDataQueryStatus$.next(DataQueryState.Completed);\n this._cellTypeTermOccurencesDataQueryStatus$.next(DataQueryState.Completed);\n this._sceneDataQueryStatus$.next(DataQueryState.Completed);\n this._technologyFilterQueryStatus$.next(DataQueryState.Completed);\n this._providerFilterQueryStatus$.next(DataQueryState.Completed);\n }\n\n ngxsOnInit(): void {\n const { ontologyTermsFullData$, ontologyTermOccurencesData$, cellTypeTermsFullData$, cellTypeTermOccurencesData$, source, snapshot: { filter } } = this;\n if (filter === DEFAULT_FILTER) {\n // Common case - Reuse the result of the regular query\n ontologyTermOccurencesData$.pipe(take(1)).subscribe(ontologyTermsFullData$);\n cellTypeTermOccurencesData$.pipe(take(1)).subscribe(cellTypeTermsFullData$);\n } else {\n source.getOntologyTermOccurences().pipe(take(1)).subscribe(ontologyTermsFullData$);\n source.getCellTypeTermOccurences().pipe(take(1)).subscribe(cellTypeTermsFullData$);\n }\n this.source.getOntologyTreeModel().pipe(take(1)).subscribe((model) => this.updateAnatomicalStructuresTreeModel(model));\n this.source.getCellTypeTreeModel().pipe(take(1)).subscribe((model) => this.updateCellTypesTreeModel(model));\n this.warmUpDatabase();\n }\n\n private warmUpDatabase(): void {\n defer(() => this.source.getDatabaseStatus()).pipe(\n tap((status) => this.updateStatus(status)),\n delay(2000),\n take(1)\n ).pipe(\n repeat(1000),\n takeWhile((status) => status.status === 'Loading')\n ).subscribe();\n\n this.databaseReady$.pipe(take(1), tap(() => {\n this.updateStatus({\n status: 'Ready',\n message: 'Loading CCF Exploration User Interface (EUI)'\n });\n })).subscribe();\n }\n\n @DataAction()\n updateAnatomicalStructuresTreeModel(@Payload('treeModel') model: OntologyTreeModel): void {\n this.ctx.patchState({\n anatomicalStructuresTreeModel: model\n });\n }\n\n @DataAction()\n updateCellTypesTreeModel(@Payload('treeModel') model: OntologyTreeModel): void {\n this.ctx.patchState({\n cellTypesTreeModel: model\n });\n }\n\n @DataAction()\n updateStatus(@Payload('status') status: DatabaseStatus): void {\n this.ctx.patchState({\n status: status.status,\n statusMessage: status.message\n });\n }\n\n /**\n * Updates the current filter.\n *\n * @param filter Changes to be made to the current filter.\n */\n @DataAction()\n updateFilter(@Payload('filter') filter: Partial): void {\n this.ctx.patchState({\n // Might need to do a deep compare of current and new filter\n filter: { ...this.getState().filter, ...filter }\n });\n }\n\n @Action(UpdateFilter)\n updateFilterHandler(_ctx: unknown, { filter }: UpdateFilter): void {\n this.updateFilter(filter);\n }\n\n /**\n * Queries for tissue block data.\n *\n * @param filter The filter used during query.\n * @returns The result of the query.\n */\n @bind\n private tissueBlockData(filter: Filter): ObservableInput {\n this._tissueBlockDataQueryStatus$.next(DataQueryState.Running);\n return this.databaseReady$.pipe(switchMap(() => this.source.getTissueBlockResults(filter)));\n }\n\n /**\n * Queries for aggregate data.\n *\n * @param filter The filter used during query.\n * @returns The result of the query.\n */\n @bind\n private aggregateData(filter: Filter): ObservableInput {\n this._aggregateDataQueryStatus$.next(DataQueryState.Running);\n return this.databaseReady$.pipe(switchMap(() => this.source.getAggregateResults(filter)));\n }\n\n /**\n * Queries for ontology term occurences data.\n *\n * @param filter The filter used during query.\n * @returns The result of the query.\n */\n @bind\n private ontologyTermOccurencesData(filter: Filter): ObservableInput> {\n this._ontologyTermOccurencesDataQueryStatus$.next(DataQueryState.Running);\n return this.databaseReady$.pipe(switchMap(() => this.source.getOntologyTermOccurences(filter)));\n }\n\n /**\n * Queries for cell type term occurences data.\n *\n * @param filter The filter used during query.\n * @returns The result of the query.\n */\n @bind\n private cellTypeTermOccurencesData(filter: Filter): ObservableInput> {\n this._cellTypeTermOccurencesDataQueryStatus$.next(DataQueryState.Running);\n return this.databaseReady$.pipe(switchMap(() => this.source.getCellTypeTermOccurences(filter)));\n }\n\n /**\n * Queries for scene data.\n *\n * @param filter The filter used during query.\n * @returns The result of the query.\n */\n @bind\n private sceneData(filter: Filter): ObservableInput {\n this._sceneDataQueryStatus$.next(DataQueryState.Running);\n return this.databaseReady$.pipe(switchMap(() => this.source.getScene(filter)));\n }\n\n /**\n * Queries for technology filter data.\n *\n * @returns The result of the query.\n */\n @bind\n private technologyFilterData(): ObservableInput {\n this._technologyFilterQueryStatus$.next(DataQueryState.Running);\n return this.databaseReady$.pipe(switchMap(() => this.source.getDatasetTechnologyNames()));\n }\n\n /**\n * Queries for provider filter data.\n *\n * @returns The result of the query.\n */\n @bind\n private providerFilterData(): ObservableInput {\n this._providerFilterQueryStatus$.next(DataQueryState.Running);\n return this.databaseReady$.pipe(switchMap(() => this.source.getProviderNames()));\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DataStateSelectors.html":{"url":"classes/DataStateSelectors.html","title":"class - DataStateSelectors","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DataStateSelectors\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/data/data.selectors.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n anatomicalStructuresTreeModel\n \n \n Static\n cellTypesTreeModel\n \n \n Static\n filter\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n anatomicalStructuresTreeModel\n \n \n \n \n \n \n \n anatomicalStructuresTreeModel(state: DataStateModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['DataState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/data/data.selectors.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n DataStateModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OntologyTreeModel\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n cellTypesTreeModel\n \n \n \n \n \n \n \n cellTypesTreeModel(state: DataStateModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['DataState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/data/data.selectors.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n DataStateModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OntologyTreeModel\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n filter\n \n \n \n \n \n \n \n filter(state: DataStateModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['DataState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/data/data.selectors.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n DataStateModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Filter\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Selector } from '@ngxs/store';\nimport { Filter, OntologyTreeModel } from 'ccf-database';\nimport { DataState, DataStateModel } from './data.state';\n\nexport class DataStateSelectors {\n @Selector([DataState])\n static filter(state: DataStateModel): Filter {\n return state.filter;\n }\n\n @Selector([DataState])\n static anatomicalStructuresTreeModel(state: DataStateModel): OntologyTreeModel {\n return state.anatomicalStructuresTreeModel ?? { root: '', nodes: {} };\n }\n\n @Selector([DataState])\n static cellTypesTreeModel(state: DataStateModel): OntologyTreeModel {\n return state.cellTypesTreeModel ?? { root: '', nodes: {} };\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DefaultIconDefinition.html":{"url":"interfaces/DefaultIconDefinition.html","title":"interface - DefaultIconDefinition","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DefaultIconDefinition\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/icon-registry/default-icons.ts\n \n\n\n \n Description\n \n \n Object definition for icon that should be loaded on startup.\nUnlike runtime registration object this does not need url ot html\nto be sanitized before hand.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n html\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n namespace\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n html\n \n \n \n \n \n \n \n \n html: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Html containing the svg of the icon or icon set.\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Name to register the icon under.\n\n \n \n \n \n \n \n \n \n \n namespace\n \n \n \n \n \n \n \n \n namespace: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Namespace to register the icon or icon set under.\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Url to fetch the icon or icon set from.\n\n \n \n \n \n \n \n\n\n \n export interface DefaultIconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: string;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: string;\n}\n\n\n/**\n * Icons registered at startup.\n */\nexport const DEFAULT_ICONS: DefaultIconDefinition[] = [\n // Reference Organs\n { name: 'bladder', namespace: 'app', url: 'assets/icons/organs/ico-organs-bladder.svg' },\n { name: 'blood', namespace: 'app', url: 'assets/icons/organs/ico-organs-blood.svg' },\n { name: 'bone-marrow', namespace: 'app', url: 'assets/icons/organs/ico-organs-bone-marrow.svg' },\n { name: 'brain', namespace: 'app', url: 'assets/icons/organs/ico-organs-brain.svg' },\n { name: 'eye', namespace: 'app', url: 'assets/icons/organs/ico-organs-eye.svg' },\n { name: 'fallopian-tube-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-left.svg' },\n { name: 'fallopian-tube-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-right.svg' },\n { name: 'heart', namespace: 'app', url: 'assets/icons/organs/ico-organs-heart.svg' },\n { name: 'kidney-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-left.svg' },\n { name: 'kidney-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-right.svg' },\n { name: 'kidney', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney.svg' },\n { name: 'knee', namespace: 'app', url: 'assets/icons/organs/ico-organs-knee.svg' },\n { name: 'large-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-large-intestine.svg' },\n { name: 'larynx', namespace: 'app', url: 'assets/icons/organs/ico-organs-larynx.svg' },\n { name: 'liver', namespace: 'app', url: 'assets/icons/organs/ico-organs-liver.svg' },\n { name: 'lung-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-left.svg' },\n { name: 'lung-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-right.svg' },\n { name: 'lung', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung.svg' },\n { name: 'lymph-nodes', namespace: 'app', url: 'assets/icons/organs/ico-organs-lymph-nodes.svg' },\n { name: 'main-bronchus', namespace: 'app', url: 'assets/icons/organs/ico-organs-extrapulmonary bronchus.svg' },\n { name: 'mammary-gland', namespace: 'app', url: 'assets/icons/organs/ico-organs-breast.svg' },\n { name: 'neuron', namespace: 'app', url: 'assets/icons/organs/ico-organs-neuron.svg' },\n { name: 'ovaries', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovaries.svg' },\n { name: 'ovary-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-left.svg' },\n { name: 'ovary-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-right.svg' },\n { name: 'palatine-tonsil', namespace: 'app', url: 'assets/icons/organs/ico-organs-palatine tonsil.svg' },\n { name: 'pancreas', namespace: 'app', url: 'assets/icons/organs/ico-organs-pancreas.svg' },\n { name: 'pelvis-f', namespace: 'app', url: 'assets/icons/organs/ico-organs-pelvis-f.svg' },\n { name: 'placenta', namespace: 'app', url: 'assets/icons/organs/ico-organs-placenta.svg' },\n { name: 'prostate', namespace: 'app', url: 'assets/icons/organs/ico-organs-prostate.svg' },\n { name: 'skin', namespace: 'app', url: 'assets/icons/organs/ico-organs-skin.svg' },\n { name: 'small-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-small intestine.svg' },\n { name: 'spinal-cord', namespace: 'app', url: 'assets/icons/organs/ico-organs-spinal-cord.svg' },\n { name: 'spleen', namespace: 'app', url: 'assets/icons/organs/ico-organs-spleen.svg' },\n { name: 'stomach', namespace: 'app', url: 'assets/icons/organs/ico-organs-stomach.svg' },\n { name: 'thymus', namespace: 'app', url: 'assets/icons/organs/ico-organs-thymus.svg' },\n { name: 'trachea', namespace: 'app', url: 'assets/icons/organs/ico-organs-trachea.svg' },\n { name: 'ureter-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-left.svg' },\n { name: 'ureter-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-right.svg' },\n { name: 'uterus', namespace: 'app', url: 'assets/icons/organs/ico-organs-uterus.svg' },\n { name: 'vasculature-thick', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thick.svg' },\n { name: 'vasculature-thin', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thin.svg' },\n\n { name: 'opacity', namespace: 'app', url: 'assets/icons/opacity-24px.svg' },\n { name: 'visibility_on', namespace: 'app', url: 'assets/icons/visibility-on-24px.svg' },\n { name: 'visibility_off', namespace: 'app', url: 'assets/icons/visibility-off-24px.svg' },\n { name: 'expand_more', namespace: 'app', url: 'assets/icons/expand_more-24px.svg' },\n { name: 'expand_less', namespace: 'app', url: 'assets/icons/expand_less-24px.svg' },\n { name: 'filter', url: 'assets/icons/filter.svg' }\n];\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DelegateDataSourceOptions.html":{"url":"interfaces/DelegateDataSourceOptions.html","title":"interface - DelegateDataSourceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DelegateDataSourceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/services/data-source/data-source.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n remoteApiEndpoint\n \n \n \n Optional\n \n useRemoteApi\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n remoteApiEndpoint\n \n \n \n \n \n \n \n \n remoteApiEndpoint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n useRemoteApi\n \n \n \n \n \n \n \n \n useRemoteApi: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Injectable, ProviderToken } from '@angular/core';\nimport {\n ApiEndpointDataSourceService, CCFDatabaseDataSourceService, DataSourceLike, InjectorDelegateDataSourceService,\n} from 'ccf-shared';\n\nimport { environment } from '../../../../environments/environment';\nimport { WorkerDataSourceService } from './worker-data-source.service';\n\n\nexport interface DelegateDataSourceOptions {\n useRemoteApi?: boolean;\n remoteApiEndpoint?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DelegateDataSourceService extends InjectorDelegateDataSourceService {\n protected selectToken(config: DelegateDataSourceOptions): ProviderToken {\n const { useRemoteApi, remoteApiEndpoint } = config;\n\n if (useRemoteApi && !!remoteApiEndpoint) {\n return ApiEndpointDataSourceService;\n } else if (typeof Worker !== 'undefined' && !environment.disableDbWorker) {\n return WorkerDataSourceService;\n } else {\n return CCFDatabaseDataSourceService;\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DelegateDataSourceService.html":{"url":"injectables/DelegateDataSourceService.html","title":"injectable - DelegateDataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n DelegateDataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/services/data-source/data-source.service.ts\n \n\n\n\n \n Extends\n \n \n InjectorDelegateDataSourceService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n selectToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n selectToken\n \n \n \n \n \n \n \n selectToken(config: DelegateDataSourceOptions)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/data-source/data-source.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n DelegateDataSourceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ProviderToken\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, ProviderToken } from '@angular/core';\nimport {\n ApiEndpointDataSourceService, CCFDatabaseDataSourceService, DataSourceLike, InjectorDelegateDataSourceService,\n} from 'ccf-shared';\n\nimport { environment } from '../../../../environments/environment';\nimport { WorkerDataSourceService } from './worker-data-source.service';\n\n\nexport interface DelegateDataSourceOptions {\n useRemoteApi?: boolean;\n remoteApiEndpoint?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DelegateDataSourceService extends InjectorDelegateDataSourceService {\n protected selectToken(config: DelegateDataSourceOptions): ProviderToken {\n const { useRemoteApi, remoteApiEndpoint } = config;\n\n if (useRemoteApi && !!remoteApiEndpoint) {\n return ApiEndpointDataSourceService;\n } else if (typeof Worker !== 'undefined' && !environment.disableDbWorker) {\n return WorkerDataSourceService;\n } else {\n return CCFDatabaseDataSourceService;\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/DonorCardComponent.html":{"url":"components/DonorCardComponent.html","title":"component - DonorCardComponent","body":"\n \n\n\n\n\n\n Components\n \n DonorCardComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts\n\n\n\n \n Description\n \n \n Donor card component which displays data from a patient\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-donor-card\n \n\n \n styleUrls\n ./donor-card.component.scss\n \n\n\n\n \n templateUrl\n ./donor-card.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n hoverState\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleCheckbox\n \n \n linkHandler\n \n \n toggleExpansion\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n color\n \n \n expanded\n \n \n highlighted\n \n \n selected\n \n \n tissueBlock\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n checked\n \n \n linkClick\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:40\n \n \n\n \n \n Creates an instance of donor card component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n color\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:26\n \n \n \n \n Allows color of the checkbox background to be set from outside the component\n\n \n \n \n \n \n \n \n \n \n expanded\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:29\n \n \n \n \n Allows the expanded state of the card to be set from outside the component\n\n \n \n \n \n \n \n \n \n \n highlighted\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:31\n \n \n \n \n \n \n \n \n \n selected\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:23\n \n \n \n \n Allows the selected state to be set from outside the component\n\n \n \n \n \n \n \n \n \n \n tissueBlock\n \n \n \n \n Type : TissueBlockResult\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:20\n \n \n \n \n Tissue Block to generate the donor card from\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n checked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:34\n \n \n \n \n Emits the new checked state whenever it changes\n\n \n \n \n \n \n \n \n \n \n linkClick\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:37\n \n \n \n \n Emit the url of any link when clicked.\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-donor-card\"\n\n \n \n \n \n Default value : 'ccf-donor-card'\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:17\n \n \n\n \n \n HTML Class Name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleCheckbox\n \n \n \n \n \n \nhandleCheckbox()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:52\n \n \n\n\n \n \n Handles the logic that needs to run when the checkbox is clicked on.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n linkHandler\n \n \n \n \n \n \nlinkHandler(url: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:76\n \n \n\n\n \n \n Handles what happens when an info card is clicked.\nPasses up the link click event unless the card isn't selected\nIn which case it selects it for ease of use.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n the URL to emit up.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n toggleExpansion\n \n \n \n \n \n \ntoggleExpansion()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:62\n \n \n\n\n \n \n Ensures that the expanded variable is only changed if selected first.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-donor-card'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:17\n \n \n\n \n \n HTML Class Name\n\n \n \n\n \n \n \n \n \n \n \n \n hoverState\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:40\n \n \n\n \n \n To keep track of which element, if any, are hovered over.\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { TissueBlockResult } from 'ccf-database';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/**\n * Donor card component which displays data from a patient\n */\n@Component({\n selector: 'ccf-donor-card',\n templateUrl: './donor-card.component.html',\n styleUrls: ['./donor-card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DonorCardComponent {\n /** HTML Class Name */\n @HostBinding('class') readonly clsName = 'ccf-donor-card';\n\n /** Tissue Block to generate the donor card from */\n @Input() tissueBlock!: TissueBlockResult;\n\n /** Allows the selected state to be set from outside the component */\n @Input() selected = false;\n\n /** Allows color of the checkbox background to be set from outside the component */\n @Input() color!: string;\n\n /** Allows the expanded state of the card to be set from outside the component */\n @Input() expanded = false;\n\n @Input() highlighted = false;\n\n /** Emits the new checked state whenever it changes */\n @Output() readonly checked = new EventEmitter();\n\n /** Emit the url of any link when clicked. */\n @Output() readonly linkClick = new EventEmitter();\n\n /** To keep track of which element, if any, are hovered over. */\n hoverState = '';\n\n /**\n * Creates an instance of donor card component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Handles the logic that needs to run when the checkbox is clicked on.\n */\n handleCheckbox(): void {\n this.selected = !this.selected;\n this.ga.event('selected_toggled', 'donor_card', this.tissueBlock.label, +this.selected);\n this.checked.emit(this.selected);\n this.expanded = false;\n }\n\n /**\n * Ensures that the expanded variable is only changed if selected first.\n */\n toggleExpansion(): void {\n if (this.selected) {\n this.expanded = !this.expanded;\n this.ga.event('expanded_toggled', 'donor_card', this.tissueBlock.label, +this.expanded);\n }\n }\n\n /**\n * Handles what happens when an info card is clicked.\n * Passes up the link click event unless the card isn't selected\n * In which case it selects it for ease of use.\n *\n * @param url the URL to emit up.\n */\n linkHandler(url: string): void {\n this.ga.event('link_clicked', 'donor_card', this.tissueBlock.label);\n if (this.selected) {\n this.linkClick.emit(url);\n } else {\n this.selected = true;\n this.checked.emit(this.selected);\n }\n }\n}\n\n \n\n \n \n \n \n \n\n \n \n person\n\n \n {{ tissueBlock.donor.label }}\n {{ tissueBlock.donor.description }}\n \n \n \n DONOR\n open_in_new\n \n\n {{ expanded ? \"expand_less\" : \"expand_more\" }}\n \n\n\n\n \n \n bubble_chart\n \n {{ tissueBlock.label }}\n {{ tissueBlock.description }}\n \n\n \n TISSUE BLOCK\n open_in_new\n \n \n\n 1\"\n [totalTissueSections]=\"tissueBlock.sectionCount\"\n [tissueSections]=\"tissueBlock.sections\"\n >\n\n 0\">\n \n \n \n \n\n \n \n bubble_chart\n \n {{ section.label }}\n {{ section.description }}\n \n\n \n TISSUE SECTION\n open_in_new\n \n \n\n 0\">\n \n \n \n \n\n\n \n\n \n \n ./donor-card.component.scss\n \n :host {\n width: 100%;\n\n .main-container {\n display: flex;\n min-height: 3rem;\n width: 100%;\n align-items: center;\n padding-left: 0.5rem;\n }\n\n .checkbox-background {\n height: 2rem;\n width: 2rem;\n border-radius: 50%;\n margin-right: 0.5rem;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n\n ::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background,\n .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background {\n background-color: transparent;\n }\n\n &.highlighted {\n ::ng-deep .mat-ripple-element {\n opacity: .04;\n }\n }\n\n .checkselected {\n ::ng-deep .mat-checkbox-frame {\n border-color: white !important;\n }\n }\n\n .checkbox {\n margin-left: 1.12rem;\n margin-bottom: 0.12rem; \n }\n }\n\n .align-end {\n margin-left: auto;\n }\n\n .info-block {\n display: flex;\n font-size: 0.75rem;\n line-height: 1rem;\n width: 100%;\n align-items: center;\n\n &:not(:first-child) {\n margin-top: 0.5rem;\n }\n\n .text-content {\n .title {\n font-weight: 600;\n }\n }\n }\n\n .donor {\n display: flex;\n font-size: 0.75rem;\n line-height: 1rem;\n align-items: center;\n flex-grow: 1;\n height: 2.5rem;\n\n &:hover, &.highlighted {\n box-shadow: 0px 6px 2px -2px rgba(0, 0, 0, 0.2), 0px 4px 4px 0px rgba(0, 0, 0, 0.14), 0px 2px 10px 0px rgba(0, 0, 0, 0.12);\n }\n\n .hover-state {\n width: 19.5rem !important;\n }\n\n .donor-info {\n .title {\n font-weight: 600;\n }\n }\n }\n\n .hoverable {\n position: relative;\n }\n\n .hover-enabled {\n position: relative;\n\n &:hover {\n .hover-state {\n opacity: 1;\n }\n }\n }\n\n .hover-state {\n transition: opacity 0.15s ease-in-out;\n opacity: 0;\n cursor: pointer;\n position: absolute;\n height: 100%;\n width: 100%;\n top: 0;\n margin-left: -0.5rem;\n align-items: center;\n display: flex;\n justify-content: flex-end;\n padding-right: 1rem;\n font-size: 0.75rem;\n\n .hover-title {\n font-weight: lighter;\n }\n\n .hover-icon {\n margin-left: 1rem;\n }\n }\n\n .default-padding {\n padding: 0.5rem;\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n\n .expanded-view {\n margin-top: 0.25rem;\n width: 85%;\n margin-bottom: 0.25rem;\n }\n\n .d-flex {\n display: flex;\n }\n\n .icon-size {\n height: 1.5rem;\n width: 1.5rem;\n font-size: 1.5rem;\n }\n\n .selectable {\n cursor: pointer;\n }\n\n .w-80 {\n width: 80% !important;\n\n .info-block {\n .text-content {\n .description {\n width: 16rem !important;\n }\n }\n }\n }\n\n .ml-5 {\n margin-left: 0.5rem;\n }\n\n .mr-5 {\n margin-right: 0.5rem;\n }\n\n .mt-05 {\n margin-top: 0.5rem;\n }\n\n .description {\n width: 17rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' person {{ tissueBlock.donor.label }} {{ tissueBlock.donor.description }} DONOR open_in_new {{ expanded ? \"expand_less\" : \"expand_more\" }} bubble_chart {{ tissueBlock.label }} {{ tissueBlock.description }} TISSUE BLOCK open_in_new 1\" [totalTissueSections]=\"tissueBlock.sectionCount\" [tissueSections]=\"tissueBlock.sections\" > 0\"> bubble_chart {{ section.label }} {{ section.description }} TISSUE SECTION open_in_new 0\"> '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'DonorCardComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DonorCardModule.html":{"url":"modules/DonorCardModule.html","title":"module - DonorCardModule","body":"\n \n\n\n\n\n Modules\n DonorCardModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DonorCardModule\n\n\n\ncluster_DonorCardModule_imports\n\n\n\ncluster_DonorCardModule_exports\n\n\n\ncluster_DonorCardModule_declarations\n\n\n\n\nDonorCardComponent\n\nDonorCardComponent\n\n\n\nDonorCardModule\n\nDonorCardModule\n\nDonorCardModule -->\n\nDonorCardComponent->DonorCardModule\n\n\n\n\n\nDonorCardComponent \n\nDonorCardComponent \n\nDonorCardComponent -->\n\nDonorCardModule->DonorCardComponent \n\n\n\n\n\nThumbnailCarouselModule\n\nThumbnailCarouselModule\n\nDonorCardModule -->\n\nThumbnailCarouselModule->DonorCardModule\n\n\n\n\n\nTissueSectionVisModule\n\nTissueSectionVisModule\n\nDonorCardModule -->\n\nTissueSectionVisModule->DonorCardModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n DonorCardComponent\n \n \n \n \n Imports\n \n \n ThumbnailCarouselModule\n \n \n TissueSectionVisModule\n \n \n \n \n Exports\n \n \n DonorCardComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { ThumbnailCarouselModule } from '../../../shared/components/thumbnail-carousel/thumbnail-carousel.module';\nimport { DonorCardComponent } from './donor-card.component';\nimport { TissueSectionVisModule } from './../tissue-section-vis/tissue-section-vis.module';\n\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatCheckboxModule,\n MatIconModule,\n\n ThumbnailCarouselModule,\n TissueSectionVisModule\n ],\n declarations: [DonorCardComponent],\n exports: [DonorCardComponent]\n})\nexport class DonorCardModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerContainersChanged.html":{"url":"interfaces/DrawerContainersChanged.html","title":"interface - DrawerContainersChanged","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerContainersChanged\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when a drawer component changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n drawers\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n drawers\n \n \n \n \n \n \n \n \n drawers: [, ]\n\n \n \n\n\n \n \n Type : [, ]\n\n \n \n\n\n\n\n\n \n \n References to the drawer components. Can contain undefined values.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerInitialized.html":{"url":"interfaces/DrawerInitialized.html","title":"interface - DrawerInitialized","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerInitialized\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when a drawer has finished initializing.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DrawerModule.html":{"url":"modules/DrawerModule.html","title":"module - DrawerModule","body":"\n \n\n\n\n\n Modules\n DrawerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DrawerModule\n\n\n\ncluster_DrawerModule_declarations\n\n\n\ncluster_DrawerModule_exports\n\n\n\n\nContainerComponent\n\nContainerComponent\n\n\n\nDrawerModule\n\nDrawerModule\n\nDrawerModule -->\n\nContainerComponent->DrawerModule\n\n\n\n\n\nContentComponent\n\nContentComponent\n\nDrawerModule -->\n\nContentComponent->DrawerModule\n\n\n\n\n\nDrawerComponent\n\nDrawerComponent\n\nDrawerModule -->\n\nDrawerComponent->DrawerModule\n\n\n\n\n\nToggleButtonComponent\n\nToggleButtonComponent\n\nDrawerModule -->\n\nToggleButtonComponent->DrawerModule\n\n\n\n\n\nContainerComponent \n\nContainerComponent \n\nContainerComponent -->\n\nDrawerModule->ContainerComponent \n\n\n\n\n\nContentComponent \n\nContentComponent \n\nContentComponent -->\n\nDrawerModule->ContentComponent \n\n\n\n\n\nDrawerComponent \n\nDrawerComponent \n\nDrawerComponent -->\n\nDrawerModule->DrawerComponent \n\n\n\n\n\nToggleButtonComponent \n\nToggleButtonComponent \n\nToggleButtonComponent -->\n\nDrawerModule->ToggleButtonComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/drawer/drawer.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ContainerComponent\n \n \n ContentComponent\n \n \n DrawerComponent\n \n \n ToggleButtonComponent\n \n \n \n \n Exports\n \n \n ContainerComponent\n \n \n ContentComponent\n \n \n DrawerComponent\n \n \n ToggleButtonComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { MESSAGE_SERVICE_CONFIG, MESSAGE_SERVICE_DEFAULT_CONFIG } from '../../services/message/message.service';\nimport { ContainerComponent } from './container/container.component';\nimport { ContentComponent } from './content/content.component';\nimport { DrawerComponent } from './drawer/drawer.component';\nimport { ToggleButtonComponent } from './toggle-button/toggle-button.component';\n\n\n@NgModule({\n imports: [BrowserModule, BrowserAnimationsModule, MatIconModule],\n providers: [{\n provide: MESSAGE_SERVICE_CONFIG, useValue: MESSAGE_SERVICE_DEFAULT_CONFIG\n }],\n declarations: [ContainerComponent, ContentComponent, DrawerComponent, ToggleButtonComponent],\n exports: [ContainerComponent, ContentComponent, DrawerComponent, ToggleButtonComponent]\n})\nexport class DrawerModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerToggled.html":{"url":"interfaces/DrawerToggled.html","title":"interface - DrawerToggled","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerToggled\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message send when the state of a drawer changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n expanded\n \n \n \n \n margin\n \n \n \n \n opened\n \n \n \n \n type\n \n \n \n \n width\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n expanded\n \n \n \n \n \n \n \n \n expanded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the drawer is expanded. Implies opened.\n\n \n \n \n \n \n \n \n \n \n margin\n \n \n \n \n \n \n \n \n margin: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Margin used by the drawer for toggle button, etc.\n\n \n \n \n \n \n \n \n \n \n opened\n \n \n \n \n \n \n \n \n opened: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the drawer is open.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n \n \n \n width\n \n \n \n \n \n \n \n \n width: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Width of the drawer.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/DropdownComponent.html":{"url":"components/DropdownComponent.html","title":"component - DropdownComponent","body":"\n \n\n\n\n\n\n Components\n \n DropdownComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts\n\n\n\n \n Description\n \n \n Component for a dropdown menu.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-dropdown\n \n\n \n styleUrls\n ./dropdown.component.scss\n \n\n\n\n \n templateUrl\n ./dropdown.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n optionsVisible\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n selectionChanged\n \n \n toggleOptions\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n label\n \n \n options\n \n \n selection\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n selectionChange\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts:38\n \n \n\n \n \n Creates an instance of dropdown component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n label\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts:18\n \n \n \n \n What the component is selecting for.\n\n \n \n \n \n \n \n \n \n \n options\n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts:23\n \n \n \n \n Choices displayed in the dropdown menu.\n\n \n \n \n \n \n \n \n \n \n selection\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts:28\n \n \n \n \n Current option selected.\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n selectionChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts:33\n \n \n \n \n Emits the new selected option when selection is changed.\n\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n selectionChanged\n \n \n \n \n \n \nselectionChanged(value: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts:59\n \n \n\n\n \n \n Updates the selected value.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n string\n \n\n \n No\n \n\n\n \n The value that has been selected\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n toggleOptions\n \n \n \n \n \n \ntoggleOptions()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts:50\n \n \n\n\n \n \n Controls fade-in effect after dropdown menu opens\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n optionsVisible\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'invisible'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts:38\n \n \n\n \n \n Determines if menu contents are visible (used for fade-in effect).\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * Component for a dropdown menu.\n */\n@Component({\n selector: 'ccf-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DropdownComponent {\n\n /**\n * What the component is selecting for.\n */\n @Input() label: string;\n\n /**\n * Choices displayed in the dropdown menu.\n */\n @Input() options: string[];\n\n /**\n * Current option selected.\n */\n @Input() selection: string;\n\n /**\n * Emits the new selected option when selection is changed.\n */\n @Output() readonly selectionChange = new EventEmitter();\n\n /**\n * Determines if menu contents are visible (used for fade-in effect).\n */\n optionsVisible = 'invisible';\n\n /**\n * Creates an instance of dropdown component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Controls fade-in effect after dropdown menu opens\n */\n toggleOptions(): void {\n this.optionsVisible = this.optionsVisible === 'visible' ? 'invisible' : 'visible';\n }\n\n /**\n * Updates the selected value.\n *\n * @param value The value that has been selected\n */\n selectionChanged(value: string): void {\n this.selection = value;\n this.ga.event('selection_change', 'dropdown', `${this.label}:${value}`);\n this.selectionChange.emit(value);\n }\n}\n\n \n\n \n \n \n \n \n {{ label }}\n \n \n \n \n {{ option }}\n \n \n \n \n \n\n\n \n\n \n \n ./dropdown.component.scss\n \n @keyframes slideInHorizontalDropdown {\n from {\n width: 0;\n }\n to {\n width: 9.85rem;\n }\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n\n.dropdown-form-field {\n width: 100%;\n height: 3rem;\n\n ::ng-deep .mat-form-field-wrapper {\n padding-left: 1em;\n padding-right: 1em;\n height: 3rem;\n\n .mat-form-field-flex {\n .mat-form-field-infix {\n font-size: 0.875rem;\n border: none;\n\n mat-select {\n font-size: 1rem;\n font-weight: bold;\n }\n }\n }\n\n .mat-form-field-underline {\n left: 0rem;\n bottom: 0rem;\n transform: none;\n height: 0.125rem;\n }\n }\n}\n\n.visible {\n animation: fadeIn 0.3s;\n transition-delay: .275s;\n animation-delay: .275s;\n}\n\n.invisible {\n opacity: 0;\n}\n\n::ng-deep .option-panel {\n animation: slideInHorizontalDropdown .3s;\n animation-fill-mode: forwards;\n box-shadow: 0.2rem 0.2rem 1rem 0rem #0000003e;\n position: absolute !important;\n top: 1.55rem;\n max-width: 9.5rem;\n\n .mat-option {\n border-bottom-width: 1px;\n border-bottom-style: solid;\n padding-left: 1em;\n }\n\n :last-child {\n border-bottom: none;\n }\n}\n\n::ng-deep .cdk-overlay-pane {\n min-width: 0rem !important;\n}\n\n.dropdown-form-field {\n height: 3rem;\n width: 100%;\n \n .label {\n padding-bottom: 0.063rem;\n }\n ::ng-deep .mat-form-field-wrapper {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n }\n}\n\n::ng-deep .ccf-dropdown {\n .mat-select-arrow-wrapper {\n transform: translatey(-.5em);\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ label }} {{ option }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'DropdownComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DropdownModule.html":{"url":"modules/DropdownModule.html","title":"module - DropdownModule","body":"\n \n\n\n\n\n Modules\n DropdownModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DropdownModule\n\n\n\ncluster_DropdownModule_exports\n\n\n\ncluster_DropdownModule_declarations\n\n\n\n\nDropdownComponent\n\nDropdownComponent\n\n\n\nDropdownModule\n\nDropdownModule\n\nDropdownModule -->\n\nDropdownComponent->DropdownModule\n\n\n\n\n\nDropdownComponent \n\nDropdownComponent \n\nDropdownComponent -->\n\nDropdownModule->DropdownComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/dropdown/dropdown.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n DropdownComponent\n \n \n \n \n Exports\n \n \n DropdownComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\n\nimport { DropdownComponent } from './dropdown.component';\n\n\n@NgModule({\n imports: [CommonModule, MatFormFieldModule, MatSelectModule],\n declarations: [DropdownComponent],\n exports: [DropdownComponent]\n})\n\nexport class DropdownModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/DualSliderComponent.html":{"url":"components/DualSliderComponent.html","title":"component - DualSliderComponent","body":"\n \n\n\n\n\n\n Components\n \n DualSliderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts\n\n\n\n \n Description\n \n \n Component containing a button that when clicked will show a slider popover.\n\n \n\n\n \n Implements\n \n \n OnDestroy\n OnChanges\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-dual-slider\n \n\n \n styleUrls\n ./dual-slider.component.scss\n \n\n\n\n \n templateUrl\n ./dual-slider.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contentsVisible\n \n \n highValue\n \n \n Private\n isSliderInitialized\n \n \n isSliderOpen\n \n \n lowValue\n \n \n options\n \n \n Private\n overlayRef\n \n \n popoverElement\n \n \n popoverPortal\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n closeSliderPopover\n \n \n Private\n initializeSliderPopover\n \n \n ngOnChanges\n \n \n ngOnDestroy\n \n \n onKeyHigh\n \n \n onKeyLow\n \n \n optionsChanged\n \n \n sliderValueChanged\n \n \n toggleSliderPopover\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n label\n \n \n selection\n \n \n valueRange\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n selectionChange\n \n \n \n \n\n\n \n \n HostListeners\n \n \n \n \n \n \n document:click\n \n \n document:touchstart\n \n \n \n \n\n \n \n Accessors\n \n \n \n \n \n \n rangeLabel\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(overlay: Overlay, element: ElementRef, ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:95\n \n \n\n \n \n Creates an instance of dual slider component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n overlay\n \n \n Overlay\n \n \n \n No\n \n \n \n The overlay service used to create the slider popover.\n\n \n \n \n element\n \n \n ElementRef\n \n \n \n No\n \n \n \n A reference to the component's element. Used during event handling.\n\n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n label\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:34\n \n \n \n \n Which criteria the slider is selecting for.\n\n \n \n \n \n \n \n \n \n \n selection\n \n \n \n \n Type : number[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:44\n \n \n \n \n The current range selected.\n\n \n \n \n \n \n \n \n \n \n valueRange\n \n \n \n \n Type : number[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:39\n \n \n \n \n The lower and upper range of the slider.\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n selectionChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:49\n \n \n \n \n Emits the new selection range when a change is made to it.\n\n \n \n \n \n\n\n \n HostListeners \n \n \n \n \n \n document:click\n \n \n \n \n \n \n Arguments : '$event.target' \n \n \n \n \ndocument:click(target: HTMLElement)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:165\n \n \n\n\n \n \n Listens to document click, mouse movement, and touch event.\nCloses the slider popover when such an event occurs outside the button or popover.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n The element on which the event was fired.\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n document:touchstart\n \n \n \n \n \n \n Arguments : '$event.target' \n \n \n \n \ndocument:touchstart(target: HTMLElement)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:165\n \n \n\n\n \n \n Listens to document click, mouse movement, and touch event.\nCloses the slider popover when such an event occurs outside the button or popover.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n The element on which the event was fired.\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n closeSliderPopover\n \n \n \n \n \n \ncloseSliderPopover(target: HTMLElement)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:click', ['$event.target'])@HostListener('document:touchstart', ['$event.target'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:165\n \n \n\n\n \n \n Listens to document click, mouse movement, and touch event.\nCloses the slider popover when such an event occurs outside the button or popover.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n HTMLElement\n \n\n \n No\n \n\n\n \n The element on which the event was fired.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n initializeSliderPopover\n \n \n \n \n \n \n \n initializeSliderPopover()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:212\n \n \n\n\n \n \n Creates and initializes the slider popover.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnChanges\n \n \n \n \n \n \nngOnChanges(changes: SimpleChanges)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:122\n \n \n\n\n \n \n Updates slider options (with optionsChanged) and selection when changes detected.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n changes\n \n SimpleChanges\n \n\n \n No\n \n\n\n \n Changes that have been made to the slider properties.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:152\n \n \n\n\n \n \n Angular's OnDestroy hook.\nCleans up the overlay.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n onKeyHigh\n \n \n \n \n \n \nonKeyHigh(event: KeyboardEvent)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:243\n \n \n\n\n \n \n Updates the slider's high pointer value when Enter key is pressed.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n KeyboardEvent\n \n\n \n No\n \n\n\n \n Event passed into the component\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n onKeyLow\n \n \n \n \n \n \nonKeyLow(event: KeyboardEvent)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:226\n \n \n\n\n \n \n Updates the slider's low pointer value when Enter key is pressed.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n KeyboardEvent\n \n\n \n No\n \n\n\n \n Event passed into the component\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n optionsChanged\n \n \n \n \n \n \noptionsChanged()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:136\n \n \n\n\n \n \n Updates the slider options, and the slider values if necessary.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n sliderValueChanged\n \n \n \n \n \n \nsliderValueChanged()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:201\n \n \n\n\n \n \n Handler for updates to the slider values.\nEmits the updated selection value array.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n toggleSliderPopover\n \n \n \n \n \n \ntoggleSliderPopover()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:184\n \n \n\n\n \n \n Toggles the visibility of the slider popover.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n contentsVisible\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'invisible'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:74\n \n \n\n \n \n Determines if slider contents are visible (used for fade-in effect).\n\n \n \n\n \n \n \n \n \n \n \n \n highValue\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:69\n \n \n\n \n \n Value bound to the slider's high pointer value.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n isSliderInitialized\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:95\n \n \n\n \n \n Determines whether slider popover has been created and initialized.\n\n \n \n\n \n \n \n \n \n \n \n \n isSliderOpen\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:54\n \n \n\n \n \n Determines whether slider popover is shown.\n\n \n \n\n \n \n \n \n \n \n \n \n lowValue\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:64\n \n \n\n \n \n Value bound to the slider's low pointer value.\n\n \n \n\n \n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : Options\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:59\n \n \n\n \n \n Slider options.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n overlayRef\n \n \n \n \n \n \n Type : OverlayRef\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:90\n \n \n\n \n \n Reference to the slider popover overlay.\n\n \n \n\n \n \n \n \n \n \n \n \n popoverElement\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('popover', {read: ElementRef, static: false})\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:29\n \n \n\n \n \n Reference to the popover element.\nThis is undefined until the slider popover is initialized.\n\n \n \n\n \n \n \n \n \n \n \n \n popoverPortal\n \n \n \n \n \n \n Type : CdkPortal\n\n \n \n \n \n Decorators : \n \n \n @ViewChild(CdkPortal, {static: true})\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:23\n \n \n\n \n \n Reference to the template for the slider popover.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n rangeLabel\n \n \n\n \n \n getrangeLabel()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:79\n \n \n \n \n Computes the current age range for display in the button.\n\n\n \n Returns : string\n\n \n \n \n\n \n \n\n\n\n\n \n import { ConnectedPosition, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { CdkPortal } from '@angular/cdk/portal';\nimport {\n Component, ElementRef, EventEmitter, HostListener, Input, OnChanges, OnDestroy, Output, SimpleChanges, ViewChild,\n} from '@angular/core';\nimport { Options } from 'ng5-slider';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/**\n * Component containing a button that when clicked will show a slider popover.\n */\n@Component({\n selector: 'ccf-dual-slider',\n templateUrl: './dual-slider.component.html',\n styleUrls: ['./dual-slider.component.scss']\n})\nexport class DualSliderComponent implements OnDestroy, OnChanges {\n /**\n * Reference to the template for the slider popover.\n */\n @ViewChild(CdkPortal, { static: true }) popoverPortal: CdkPortal;\n\n /**\n * Reference to the popover element.\n * This is undefined until the slider popover is initialized.\n */\n @ViewChild('popover', { read: ElementRef, static: false }) popoverElement: ElementRef;\n\n /**\n * Which criteria the slider is selecting for.\n */\n @Input() label: string;\n\n /**\n * The lower and upper range of the slider.\n */\n @Input() valueRange: number[];\n\n /**\n * The current range selected.\n */\n @Input() selection: number[];\n\n /**\n * Emits the new selection range when a change is made to it.\n */\n @Output() readonly selectionChange = new EventEmitter();\n\n /**\n * Determines whether slider popover is shown.\n */\n isSliderOpen = false;\n\n /**\n * Slider options.\n */\n options: Options;\n\n /**\n * Value bound to the slider's low pointer value.\n */\n lowValue: number;\n\n /**\n * Value bound to the slider's high pointer value.\n */\n highValue: number;\n\n /**\n * Determines if slider contents are visible (used for fade-in effect).\n */\n contentsVisible = 'invisible';\n\n /**\n * Computes the current age range for display in the button.\n */\n get rangeLabel(): string {\n const { lowValue, highValue } = this;\n if (lowValue === highValue) {\n return `${lowValue}`;\n }\n return `${lowValue}-${highValue}`;\n }\n\n /**\n * Reference to the slider popover overlay.\n */\n private overlayRef: OverlayRef;\n\n /**\n * Determines whether slider popover has been created and initialized.\n */\n private isSliderInitialized = false;\n\n /**\n * Creates an instance of dual slider component.\n *\n * @param overlay The overlay service used to create the slider popover.\n * @param element A reference to the component's element. Used during event handling.\n * @param ga Analytics service\n */\n constructor(\n overlay: Overlay,\n private element: ElementRef,\n private readonly ga: GoogleAnalyticsService\n ) {\n const position: ConnectedPosition = { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' };\n const positionStrategy = overlay.position().flexibleConnectedTo(element).withPositions([position]);\n this.overlayRef = overlay.create({\n panelClass: 'slider-pane',\n positionStrategy\n });\n }\n\n /**\n * Updates slider options (with optionsChanged) and selection when changes detected.\n *\n * @param changes Changes that have been made to the slider properties.\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.valueRange) {\n this.optionsChanged();\n }\n if (changes.selection) {\n // Detect when selection is changed and update low/high value.\n this.lowValue = Math.min(...this.selection);\n this.highValue = Math.max(...this.selection);\n }\n }\n\n /**\n * Updates the slider options, and the slider values if necessary.\n */\n optionsChanged(): void {\n this.options = {\n floor: this.valueRange ? this.valueRange[0] : 0,\n ceil: this.valueRange ? this.valueRange[1] : 0,\n step: 1,\n hideLimitLabels: true,\n hidePointerLabels: true\n };\n this.lowValue = this.options.floor ?? 0;\n this.highValue = this.options.ceil ?? 0;\n }\n\n /**\n * Angular's OnDestroy hook.\n * Cleans up the overlay.\n */\n ngOnDestroy(): void {\n this.overlayRef.dispose();\n }\n\n /**\n * Listens to document click, mouse movement, and touch event.\n * Closes the slider popover when such an event occurs outside the button or popover.\n *\n * @param target The element on which the event was fired.\n */\n @HostListener('document:click', ['$event.target']) // eslint-disable-line\n // eslint-disable-line\n @HostListener('document:touchstart', ['$event.target']) // eslint-disable-line\n closeSliderPopover(target: HTMLElement): void {\n const { element, isSliderOpen, popoverElement } = this;\n if (!isSliderOpen) {\n return;\n } else if (element.nativeElement.contains(target)) {\n return;\n } else if (popoverElement?.nativeElement?.contains?.(target)) {\n return;\n }\n\n this.overlayRef.detach();\n this.isSliderInitialized = false;\n this.isSliderOpen = false;\n this.contentsVisible = 'invisible';\n }\n\n /**\n * Toggles the visibility of the slider popover.\n */\n toggleSliderPopover(): void {\n const { isSliderOpen, isSliderInitialized } = this;\n if (isSliderInitialized) {\n this.overlayRef.detach();\n this.isSliderInitialized = false;\n } else if (!isSliderInitialized && !isSliderOpen) {\n this.initializeSliderPopover();\n }\n\n this.contentsVisible = this.contentsVisible === 'visible' ? 'invisible' : 'visible';\n this.isSliderOpen = !isSliderOpen;\n }\n\n /**\n * Handler for updates to the slider values.\n * Emits the updated selection value array.\n */\n sliderValueChanged(): void {\n const { lowValue, highValue } = this;\n\n this.selection = [lowValue, highValue];\n this.ga.event('slider_range_change', 'dual_slider', `${this.label}:${lowValue}:${highValue}`);\n this.selectionChange.emit(this.selection);\n }\n\n /**\n * Creates and initializes the slider popover.\n */\n private initializeSliderPopover(): void {\n const { overlayRef, popoverPortal } = this;\n\n overlayRef.attach(popoverPortal);\n overlayRef.updatePosition();\n\n this.isSliderInitialized = true;\n }\n\n /**\n * Updates the slider's low pointer value when Enter key is pressed.\n *\n * @param event Event passed into the component\n */\n onKeyLow(event: KeyboardEvent): void {\n const newValue = Number((event.target as HTMLInputElement).value);\n if (event.key === 'Enter') {\n if (newValue >= Number(this.options.floor) && newValue = Number(this.options.floor) && newValue \n \n\n \n \n \n \n \n {{ options.floor }}> \n \n \n\n \n \n\n \n {{ options.ceil }} \n \n \n \n\n \n \n {{ label }}\n {{ rangeLabel }}\n \n \n \n \n\n\n \n\n \n \n ./dual-slider.component.scss\n \n @use 'sass:math';\n\n.slider-form-field {\n width: 100%;\n height: 3rem;\n\n ::ng-deep .mat-form-field-wrapper {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n height: 3rem;\n\n .mat-form-field-flex {\n .mat-form-field-infix {\n border: none;\n font-size: 0.875rem;\n }\n }\n\n .mat-form-field-underline {\n left: 0rem;\n bottom: 0rem;\n transform: none;\n height: 0.125rem;\n }\n }\n}\n\n\n.slider-labels {\n display: flex;\n flex-direction: column;\n .name-label {\n padding-bottom: 0.25rem;\n }\n\n .range-label {\n font-weight: bold;\n }\n}\n\n::ng-deep .ccf-slider.wrapper {\n .mat-select-arrow-wrapper {\n transform: translatey(-1.5em);\n }\n}\n\n// Styles for the popover slider\n// NOTE: This must NOT be nested inside the wrapper/container!\n\n@keyframes slideInHorizontalSlider {\n from {\n width: 0;\n }\n to {\n width: 20em;\n }\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n\n.visible {\n animation: fadeIn 0.3s;\n transition-delay: .275s;\n animation-delay: .275s;\n}\n\n.invisible {\n opacity: 0;\n}\n\n::ng-deep .slider-pane {\n position: absolute !important;\n top: -1px;\n}\n\n.ccf-slider.detached {\n animation: slideInHorizontalSlider 0.3s;\n animation-fill-mode: forwards;\n box-shadow: 0.2rem 0.2rem 1rem 0rem #0000003e;\n\n display: flex;\n justify-content: center;\n align-items: center;\n width: 0rem;\n height: 4.375rem;\n padding: .75rem; // NOTE: Use padding instead of margin!\n\n .slider ::ng-deep {\n visibility: hidden;\n margin-top: 0.9375rem;\n margin-bottom: 0.9375rem;\n .ng5-slider-bar {\n opacity: .2;\n height: .15rem;\n }\n\n .ng5-slider-selection {\n opacity: 1;\n }\n\n .ng5-slider-pointer {\n $pointer-size: 1rem;\n\n width: $pointer-size;\n height: $pointer-size;\n top: 0.095rem - math.div($pointer-size, 2);\n\n &:after {\n display: none;\n }\n }\n }\n\n .label {\n display: flex;\n flex-direction: column;\n width: 2rem;\n\n &.min {\n margin-right: 1rem;\n }\n\n &.max {\n margin-left: 1rem;\n align-items: flex-end;\n\n .ceil, input {\n text-align: right;\n }\n }\n\n .floor, .ceil {\n font-size: 0.875rem;\n }\n\n input {\n border: none;\n width: 1.75rem;\n font-size: 1rem;\n font-weight: bold;\n padding: 0;\n }\n\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ options.floor }}> {{ options.ceil }} {{ label }} {{ rangeLabel }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'DualSliderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DualSliderModule.html":{"url":"modules/DualSliderModule.html","title":"module - DualSliderModule","body":"\n \n\n\n\n\n Modules\n DualSliderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DualSliderModule\n\n\n\ncluster_DualSliderModule_declarations\n\n\n\ncluster_DualSliderModule_exports\n\n\n\n\nDualSliderComponent\n\nDualSliderComponent\n\n\n\nDualSliderModule\n\nDualSliderModule\n\nDualSliderModule -->\n\nDualSliderComponent->DualSliderModule\n\n\n\n\n\nDualSliderComponent \n\nDualSliderComponent \n\nDualSliderComponent -->\n\nDualSliderModule->DualSliderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n DualSliderComponent\n \n \n \n \n Exports\n \n \n DualSliderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { Ng5SliderModule } from 'ng5-slider';\n\nimport { DualSliderComponent } from './dual-slider.component';\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n PortalModule,\n MatFormFieldModule,\n MatSelectModule,\n Ng5SliderModule\n ],\n declarations: [DualSliderComponent],\n exports: [DualSliderComponent]\n})\nexport class DualSliderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/FiltersContentComponent.html":{"url":"components/FiltersContentComponent.html","title":"component - FiltersContentComponent","body":"\n \n\n\n\n\n\n Components\n \n FiltersContentComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts\n\n\n\n \n Description\n \n \n Contains components of the filters popup and handles changes in filter settings\n\n \n\n\n \n Implements\n \n \n OnChanges\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-filters-content\n \n\n \n styleUrls\n ./filters-content.component.scss\n \n\n\n\n \n templateUrl\n ./filters-content.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n applyButtonClick\n \n \n ngOnChanges\n \n \n refreshFilters\n \n \n updateFilter\n \n \n updateSearchSelection\n \n \n updateSexFromSelection\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n filters\n \n \n hidden\n \n \n providerFilters\n \n \n spatialSearchFilters\n \n \n technologyFilters\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n applyFilters\n \n \n filtersChange\n \n \n spatialSearchRemoved\n \n \n spatialSearchSelected\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:63\n \n \n\n \n \n Creates an instance of filters content component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n filters\n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:28\n \n \n \n \n Allows the filters to be set from outside the component\n\n \n \n \n \n \n \n \n \n \n hidden\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:23\n \n \n \n \n Determines if the filters are visible\n\n \n \n \n \n \n \n \n \n \n providerFilters\n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:38\n \n \n \n \n List of providers in the data\n\n \n \n \n \n \n \n \n \n \n spatialSearchFilters\n \n \n \n \n Type : SpatialSearchFilterItem[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:43\n \n \n \n \n List of spatial searches\n\n \n \n \n \n \n \n \n \n \n technologyFilters\n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:33\n \n \n \n \n List of technologies in the data\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n applyFilters\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:63\n \n \n \n \n Emits the filters to be applied\n\n \n \n \n \n \n \n \n \n \n filtersChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:48\n \n \n \n \n Emits the filter change when they happen\n\n \n \n \n \n \n \n \n \n \n spatialSearchRemoved\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:58\n \n \n \n \n Emits when a spatial search is removed/deleted\n\n \n \n \n \n \n \n \n \n \n spatialSearchSelected\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:53\n \n \n \n \n Emits when a spatial search is selected/deselected\n\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n applyButtonClick\n \n \n \n \n \n \napplyButtonClick()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:96\n \n \n\n\n \n \n Emits the current filters when the apply button is clicked\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnChanges\n \n \n \n \n \n \nngOnChanges(changes: SimpleChanges)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:75\n \n \n\n\n \n \n Handle input changes\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n changes\n \n SimpleChanges\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n refreshFilters\n \n \n \n \n \n \nrefreshFilters()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:105\n \n \n\n\n \n \n Refreshes all filter settings\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateFilter\n \n \n \n \n \n \nupdateFilter(value, key: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:87\n \n \n\n\n \n \n Updates the filter object with a new key/value\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n \n\n \n No\n \n\n\n \n The value to be saved for the filter\n\n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n The key for the filter to be saved at\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateSearchSelection\n \n \n \n \n \n \nupdateSearchSelection(items: SpatialSearchFilterItem[])\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:117\n \n \n\n\n \n \n Emits events for updated searches\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n items\n \n SpatialSearchFilterItem[]\n \n\n \n No\n \n\n\n \n New set of selected items\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateSexFromSelection\n \n \n \n \n \n \nupdateSexFromSelection(items: SpatialSearchFilterItem[])\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:128\n \n \n\n\n \n \n Updates sex to Both if there is a mismatch between the current selection and the sex\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n items\n \n SpatialSearchFilterItem[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { DEFAULT_FILTER } from '../../../core/store/data/data.state';\nimport { SpatialSearchFilterItem } from '../../../core/store/spatial-search-filter/spatial-search-filter.state';\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\n\n\n/**\n * Contains components of the filters popup and handles changes in filter settings\n */\n@Component({\n selector: 'ccf-filters-content',\n templateUrl: './filters-content.component.html',\n styleUrls: ['./filters-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FiltersContentComponent implements OnChanges {\n\n /**\n * Determines if the filters are visible\n */\n @Input() hidden: boolean;\n\n /**\n * Allows the filters to be set from outside the component\n */\n @Input() filters: Record;\n\n /**\n * List of technologies in the data\n */\n @Input() technologyFilters: string[];\n\n /**\n * List of providers in the data\n */\n @Input() providerFilters: string[];\n\n /**\n * List of spatial searches\n */\n @Input() spatialSearchFilters: SpatialSearchFilterItem[] = [];\n\n /**\n * Emits the filter change when they happen\n */\n @Output() readonly filtersChange = new EventEmitter>();\n\n /**\n * Emits when a spatial search is selected/deselected\n */\n @Output() readonly spatialSearchSelected = new EventEmitter();\n\n /**\n * Emits when a spatial search is removed/deleted\n */\n @Output() readonly spatialSearchRemoved = new EventEmitter();\n\n /**\n * Emits the filters to be applied\n */\n @Output() readonly applyFilters = new EventEmitter>();\n\n /**\n * Creates an instance of filters content component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Handle input changes\n */\n ngOnChanges(changes: SimpleChanges): void {\n if ('spatialSearchFilters' in changes) {\n this.updateSexFromSelection(this.spatialSearchFilters.filter(item => item.selected));\n }\n }\n\n /**\n * Updates the filter object with a new key/value\n *\n * @param value The value to be saved for the filter\n * @param key The key for the filter to be saved at\n */\n updateFilter(value: unknown, key: string): void {\n this.filters = { ...this.filters, [key]: value };\n this.ga.event('filter_update', 'filter_content', `${key}:${value}`);\n this.filtersChange.emit(this.filters);\n }\n\n /**\n * Emits the current filters when the apply button is clicked\n */\n applyButtonClick(): void {\n this.updateSearchSelection(this.spatialSearchFilters.filter(item => item.selected));\n this.ga.event('filters_applied', 'filter_content');\n this.applyFilters.emit(this.filters);\n }\n\n /**\n * Refreshes all filter settings\n */\n refreshFilters(): void {\n this.filters = JSON.parse(JSON.stringify(DEFAULT_FILTER));\n this.ga.event('filters_reset', 'filter_content');\n this.spatialSearchSelected.emit([]);\n this.filtersChange.emit(this.filters);\n }\n\n /**\n * Emits events for updated searches\n *\n * @param items New set of selected items\n */\n updateSearchSelection(items: SpatialSearchFilterItem[]): void {\n const searches = items.map(item => item.search);\n\n this.spatialSearchSelected.emit(items);\n this.updateFilter(searches, 'spatialSearches');\n this.updateSexFromSelection(items);\n }\n\n /**\n * Updates sex to `Both` if there is a mismatch between the current selection and the sex\n */\n updateSexFromSelection(items: SpatialSearchFilterItem[]): void {\n const currentSex = (this.filters['sex'] as string)?.toLowerCase() as Sex;\n const selectedSexes = new Set(items.map(item => item.sex));\n\n if (items.length > 0 && (selectedSexes.size > 1 || !selectedSexes.has(currentSex))) {\n this.updateFilter('Both', 'sex');\n }\n }\n}\n\n \n\n \n \n \n\n \n \n\n\n\n \n\n\n\n \n\n\n 0\" class=\"filter spatial-locations\" [class.hidden]=\"hidden\">\n \n \n\n\n\n \n \n APPLY FILTERS\n \n refresh\n \n \n\n\n \n\n \n \n ./filters-content.component.scss\n \n .filter {\n &.hidden {\n opacity: 0;\n transition-duration: 0.2s;\n }\n\n &.assays {\n .option {\n margin-right: 0 rem;\n width: 25%\n }\n }\n\n margin-top: 2rem;\n}\n\n.button-container {\n display: flex;\n justify-content: space-between;\n margin-top: 2rem;\n\n ::ng-deep button {\n border-width: 1px;\n border-style: solid;\n }\n}\n\n.button-container {\n display: flex;\n justify-content: space-between;\n margin-top: 2rem;\n\n button {\n border-width: 1px;\n border-style: solid;\n }\n\n &.hidden {\n opacity: 0;\n transition-duration: 0.2s;\n }\n\n .right-group {\n display: flex;\n flex-direction: row-reverse;\n align-items: center;\n \n .outline-button {\n box-shadow: 0.1rem 0.1rem 0.2rem 0rem #0000001d;\n }\n \n .refresh-icon {\n padding: 0.25rem;\n border-radius: 0.25rem;\n margin-right: 1rem;\n display: flex;\n justify-content: center;\n align-items: center;\n transition: 0.6s;\n \n .refresh {\n cursor: pointer;\n transition: .6s;\n transition-property: background;\n }\n }\n }\n}\n\n.patient-filters {\n display: flex;\n width: 90%;\n padding-top: 1rem;\n\n &.hidden {\n opacity: 0;\n transition-duration: 0.2s;\n }\n\n ccf-dual-slider {\n margin-left: .5rem;\n width: 33%;\n }\n\n ccf-dropdown {\n width: 33%;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' 0\" class=\"filter spatial-locations\" [class.hidden]=\"hidden\"> APPLY FILTERS refresh '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'FiltersContentComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FiltersContentModule.html":{"url":"modules/FiltersContentModule.html","title":"module - FiltersContentModule","body":"\n \n\n\n\n\n Modules\n FiltersContentModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_FiltersContentModule\n\n\n\ncluster_FiltersContentModule_imports\n\n\n\ncluster_FiltersContentModule_declarations\n\n\n\ncluster_FiltersContentModule_exports\n\n\n\n\nFiltersContentComponent\n\nFiltersContentComponent\n\n\n\nFiltersContentModule\n\nFiltersContentModule\n\nFiltersContentModule -->\n\nFiltersContentComponent->FiltersContentModule\n\n\n\n\n\nFiltersContentComponent \n\nFiltersContentComponent \n\nFiltersContentComponent -->\n\nFiltersContentModule->FiltersContentComponent \n\n\n\n\n\nCheckboxModule\n\nCheckboxModule\n\nFiltersContentModule -->\n\nCheckboxModule->FiltersContentModule\n\n\n\n\n\nDropdownModule\n\nDropdownModule\n\nFiltersContentModule -->\n\nDropdownModule->FiltersContentModule\n\n\n\n\n\nDualSliderModule\n\nDualSliderModule\n\nFiltersContentModule -->\n\nDualSliderModule->FiltersContentModule\n\n\n\n\n\nRunSpatialSearchModule\n\nRunSpatialSearchModule\n\nFiltersContentModule -->\n\nRunSpatialSearchModule->FiltersContentModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n FiltersContentComponent\n \n \n \n \n Imports\n \n \n CheckboxModule\n \n \n DropdownModule\n \n \n DualSliderModule\n \n \n RunSpatialSearchModule\n \n \n \n \n Exports\n \n \n FiltersContentComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { SpatialSearchListModule } from 'ccf-shared';\n\nimport { CheckboxModule } from '../../../shared/components/checkbox/checkbox.module';\nimport { DropdownModule } from '../../../shared/components/dropdown/dropdown.module';\nimport { DualSliderModule } from '../../../shared/components/dual-slider/dual-slider.module';\nimport { RunSpatialSearchModule } from '../../../shared/components/run-spatial-search/run-spatial-search.module';\nimport { FiltersContentComponent } from './filters-content.component';\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatButtonModule,\n MatIconModule,\n\n CheckboxModule,\n DropdownModule,\n DualSliderModule,\n SpatialSearchListModule,\n RunSpatialSearchModule\n ],\n declarations: [FiltersContentComponent],\n exports: [FiltersContentComponent]\n})\nexport class FiltersContentModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/FiltersPopoverComponent.html":{"url":"components/FiltersPopoverComponent.html","title":"component - FiltersPopoverComponent","body":"\n \n\n\n\n\n\n Components\n \n FiltersPopoverComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts\n\n\n\n \n Description\n \n \n Popover box for filter settings\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-filters-popover\n \n\n \n styleUrls\n ./filters-popover.component.scss\n \n\n\n\n \n templateUrl\n ./filters-popover.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n filtersVisible\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n applyFilters\n \n \n removeBox\n \n \n toggleFilterVisible\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n drawerExpanded\n \n \n filters\n \n \n providerFilters\n \n \n spatialSearchFilters\n \n \n technologyFilters\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n filtersChange\n \n \n spatialSearchRemoved\n \n \n spatialSearchSelected\n \n \n \n \n\n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n drawerExpanded\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:27\n \n \n \n \n Keeps track of whether or not the containing drawer is expanded\nBecause the styles need to change accordingly\n\n \n \n \n \n \n \n \n \n \n filters\n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:21\n \n \n \n \n Allows the filters to be set from outside the component, and still render / function normally\n\n \n \n \n \n \n \n \n \n \n providerFilters\n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:37\n \n \n \n \n List of providers in the data\n\n \n \n \n \n \n \n \n \n \n spatialSearchFilters\n \n \n \n \n Type : SpatialSearchFilterItem[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:42\n \n \n \n \n List of spatial searches\n\n \n \n \n \n \n \n \n \n \n technologyFilters\n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:32\n \n \n \n \n List of technologies in the data\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n filtersChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:47\n \n \n \n \n Emits the current filters\n\n \n \n \n \n \n \n \n \n \n spatialSearchRemoved\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:57\n \n \n \n \n Emits when a spatial search is removed/deleted\n\n \n \n \n \n \n \n \n \n \n spatialSearchSelected\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:52\n \n \n \n \n Emits when a spatial search is selected/deselected\n\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n applyFilters\n \n \n \n \n \n \napplyFilters(filters: Record)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:87\n \n \n\n\n \n \n Emits the current filters, and hides the popover box\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filters\n \n Record\n \n\n \n No\n \n\n\n \n The object containing all the currently set filters\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeBox\n \n \n \n \n \n \nremoveBox()\n \n \n\n \n \n Decorators : \n \n @Dispatch()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:77\n \n \n\n\n \n \n Hides the filters popover box\n\n\n \n Returns : SetExecuteSearchOnGenerate\n\n \n \n \n \n \n \n \n \n \n \n \n toggleFilterVisible\n \n \n \n \n \n \ntoggleFilterVisible()\n \n \n\n \n \n Decorators : \n \n @Dispatch()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:68\n \n \n\n\n \n \n Toggles filter visible\n\n\n \n Returns : SetExecuteSearchOnGenerate\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n filtersVisible\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:62\n \n \n\n \n \n Keeps track of whether or not the filters popover box is visible or not\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Dispatch } from '@ngxs-labs/dispatch-decorator';\n\nimport { SpatialSearchFilterItem } from '../../../core/store/spatial-search-filter/spatial-search-filter.state';\nimport { SetExecuteSearchOnGenerate } from '../../../core/store/spatial-search-ui/spatial-search-ui.actions';\n\n\n/**\n * Popover box for filter settings\n */\n@Component({\n selector: 'ccf-filters-popover',\n templateUrl: './filters-popover.component.html',\n styleUrls: ['./filters-popover.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FiltersPopoverComponent {\n /**\n * Allows the filters to be set from outside the component, and still render / function normally\n */\n @Input() filters: Record;\n\n /**\n * Keeps track of whether or not the containing drawer is expanded\n * Because the styles need to change accordingly\n */\n @Input() drawerExpanded: boolean;\n\n /**\n * List of technologies in the data\n */\n @Input() technologyFilters: string[];\n\n /**\n * List of providers in the data\n */\n @Input() providerFilters: string[];\n\n /**\n * List of spatial searches\n */\n @Input() spatialSearchFilters: SpatialSearchFilterItem[] = [];\n\n /**\n * Emits the current filters\n */\n @Output() readonly filtersChange = new EventEmitter>();\n\n /**\n * Emits when a spatial search is selected/deselected\n */\n @Output() readonly spatialSearchSelected = new EventEmitter();\n\n /**\n * Emits when a spatial search is removed/deleted\n */\n @Output() readonly spatialSearchRemoved = new EventEmitter();\n\n /**\n * Keeps track of whether or not the filters popover box is visible or not\n */\n filtersVisible = false;\n\n /**\n * Toggles filter visible\n */\n @Dispatch()\n toggleFilterVisible(): SetExecuteSearchOnGenerate {\n this.filtersVisible = !this.filtersVisible;\n return new SetExecuteSearchOnGenerate(false);\n }\n\n /**\n * Hides the filters popover box\n */\n @Dispatch()\n removeBox(): SetExecuteSearchOnGenerate {\n this.filtersVisible = false;\n return new SetExecuteSearchOnGenerate(true);\n }\n\n /**\n * Emits the current filters, and hides the popover box\n *\n * @param filters The object containing all the currently set filters\n */\n applyFilters(filters: Record): void {\n this.filters = filters;\n this.filtersChange.emit(filters);\n this.removeBox();\n }\n}\n\n \n\n \n \n \n \n close\n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n \n \n ./filters-popover.component.scss\n \n .filters-popover {\n position: inherit;\n\n &.expanded {\n position: relative;\n\n .popup-container {\n right: inherit;\n }\n\n .popup-body {\n padding-left: 4em !important;\n }\n }\n}\n\n.popup-container {\n position: absolute;\n z-index: 5;\n top: 1.2rem;\n left: 1.48rem;\n box-shadow: 0.2rem 0.2rem 1rem 0rem #00000058;\n\n .popup-body {\n padding: 1.5rem;\n position: relative;\n }\n\n &.visible {\n width: 35rem;\n transition: width 0.2s ease-in-out;\n border-width: 1px;\n\n .popup-body {\n opacity: 1;\n transition-delay: 0.3s;\n transition-duration: 0.2s;\n }\n }\n\n &.hidden {\n width: 0;\n height: 0;\n transition: all 0.2s ease-out;\n transition-delay: 0.3s;\n pointer-events: none;\n\n .popup-body {\n opacity: 0;\n transition: opacity 0.2s ease-in-out;\n }\n }\n}\n\n.show-hide {\n background: none;\n border: none;\n z-index: 10;\n position: relative;\n cursor: pointer;\n outline: none;\n padding: 0.5rem;\n border-radius: 0.25rem;\n transition: 0.6s;\n\n .funnel {\n // margin-top: 0.25rem;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' close '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'FiltersPopoverComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FiltersPopoverModule.html":{"url":"modules/FiltersPopoverModule.html","title":"module - FiltersPopoverModule","body":"\n \n\n\n\n\n Modules\n FiltersPopoverModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_FiltersPopoverModule\n\n\n\ncluster_FiltersPopoverModule_exports\n\n\n\ncluster_FiltersPopoverModule_declarations\n\n\n\ncluster_FiltersPopoverModule_imports\n\n\n\n\nFiltersPopoverComponent\n\nFiltersPopoverComponent\n\n\n\nFiltersPopoverModule\n\nFiltersPopoverModule\n\nFiltersPopoverModule -->\n\nFiltersPopoverComponent->FiltersPopoverModule\n\n\n\n\n\nFiltersPopoverComponent \n\nFiltersPopoverComponent \n\nFiltersPopoverComponent -->\n\nFiltersPopoverModule->FiltersPopoverComponent \n\n\n\n\n\nFiltersContentModule\n\nFiltersContentModule\n\nFiltersPopoverModule -->\n\nFiltersContentModule->FiltersPopoverModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n FiltersPopoverComponent\n \n \n \n \n Imports\n \n \n FiltersContentModule\n \n \n \n \n Exports\n \n \n FiltersPopoverComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FiltersContentModule } from '../filters-content/filters-content.module';\nimport { FiltersPopoverComponent } from './filters-popover.component';\n\n\n@NgModule({\n imports: [CommonModule, MatIconModule, FiltersContentModule],\n declarations: [FiltersPopoverComponent],\n exports: [FiltersPopoverComponent]\n})\nexport class FiltersPopoverModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FlatNode.html":{"url":"classes/FlatNode.html","title":"class - FlatNode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FlatNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/models/flat-node.ts\n \n\n\n \n Description\n \n \n Node type used by ontology tree component.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n numResults\n \n \n Optional\n opacity\n \n \n Optional\n visible\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n create\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n label\n \n \n expandable\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(original: OntologyTreeNode, level: number)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/models/flat-node.ts:38\n \n \n\n \n \n Creates an instance of flat node.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n original\n \n \n OntologyTreeNode\n \n \n \n No\n \n \n \n The original ontology node object.\n\n \n \n \n level\n \n \n number\n \n \n \n No\n \n \n \n The level of the new flat node in the tree.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n numResults\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/models/flat-node.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n opacity\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 20\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/models/flat-node.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n visible\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/models/flat-node.ts:9\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n create\n \n \n \n \n \n \n \n create(original: OntologyTreeNode, level: number)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/models/flat-node.ts:36\n \n \n\n\n \n \n Creates a flat node from a ontology node object and a level in the tree.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n original\n \n OntologyTreeNode\n \n\n \n No\n \n\n\n \n The original ontology node object.\n\n \n \n \n level\n \n number\n \n\n \n No\n \n\n\n \n The level of the new flat node in the tree.\n\n \n \n \n \n \n \n \n \n Returns : FlatNode\n\n \n \n The newly created flat node.\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n label\n \n \n\n \n \n getlabel()\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/models/flat-node.ts:18\n \n \n \n \n Gets this node's label.\n\n\n \n Returns : string\n\n \n \n \n\n \n \n \n \n \n \n \n expandable\n \n \n\n \n \n getexpandable()\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/models/flat-node.ts:25\n \n \n \n \n Indicates whether this node has children.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n \n\n\n \n import { OntologyTreeNode } from 'ccf-database';\n\n\n/**\n * Node type used by ontology tree component.\n */\nexport class FlatNode {\n visible?: boolean = true;\n\n opacity?: number = 20;\n\n numResults?: number;\n\n /**\n * Gets this node's label.\n */\n get label(): string {\n return this.original.label;\n }\n\n /**\n * Indicates whether this node has children.\n */\n get expandable(): boolean {\n return this.original.children.length > 0;\n }\n\n /**\n * Creates a flat node from a ontology node object and a level in the tree.\n *\n * @param original The original ontology node object.\n * @param level The level of the new flat node in the tree.\n * @returns The newly created flat node.\n */\n static create(original: OntologyTreeNode, level: number): FlatNode {\n return new FlatNode(original, level);\n }\n\n /**\n * Creates an instance of flat node.\n *\n * @param original The original ontology node object.\n * @param level The level of the new flat node in the tree.\n */\n constructor(readonly original: OntologyTreeNode, readonly level: number) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GenerateSpatialSearch.html":{"url":"classes/GenerateSpatialSearch.html","title":"class - GenerateSpatialSearch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GenerateSpatialSearch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Generate and add a spatial search'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/HeaderComponent.html":{"url":"components/HeaderComponent.html","title":"component - HeaderComponent","body":"\n \n\n\n\n\n\n Components\n \n HeaderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/core/header/header.component.ts\n\n\n\n \n Description\n \n \n Header which is always displayed on the site; contains current filter info,\na link to download data, and a logo which resets the page when clicked.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-header\n \n\n \n styleUrls\n ./header.component.scss\n \n\n\n\n \n templateUrl\n ./header.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n filters\n \n \n homeUrl\n \n \n loggedIn\n \n \n loginDisabled\n \n \n logoTooltip\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n downloadClicked\n \n \n refreshClicked\n \n \n \n \n\n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n filters\n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/header/header.component.ts:32\n \n \n \n \n Current filter settings\n\n \n \n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/header/header.component.ts:18\n \n \n \n \n URL to Portal site\n\n \n \n \n \n \n \n \n \n \n loggedIn\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/header/header.component.ts:27\n \n \n \n \n Is the user logged in?\n\n \n \n \n \n \n \n \n \n \n loginDisabled\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/header/header.component.ts:20\n \n \n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/header/header.component.ts:22\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n downloadClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/header/header.component.ts:42\n \n \n \n \n Emitted when download button is clicked\n\n \n \n \n \n \n \n \n \n \n refreshClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/header/header.component.ts:37\n \n \n \n \n Emitted when refresh button is clicked\n\n \n \n \n \n\n\n\n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\n\n/**\n * Header which is always displayed on the site; contains current filter info,\n * a link to download data, and a logo which resets the page when clicked.\n */\n@Component({\n selector: 'ccf-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderComponent {\n\n /**\n * URL to Portal site\n */\n @Input() homeUrl: string;\n\n @Input() loginDisabled: boolean;\n\n @Input() logoTooltip: string;\n\n /**\n * Is the user logged in?\n */\n @Input() loggedIn: boolean;\n\n /**\n * Current filter settings\n */\n @Input() filters: Record;\n\n /**\n * Emitted when refresh button is clicked\n */\n @Output() readonly refreshClicked = new EventEmitter();\n\n /**\n * Emitted when download button is clicked\n */\n @Output() readonly downloadClicked = new EventEmitter();\n}\n\n \n\n \n \n \n \n \n \n\n \n \n LOGIN\n LOGOUT\n\n\n \n\n \n \n ./header.component.scss\n \n .ccf-header {\n height: 4rem;\n padding: 0 1.5rem;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n display: flex;\n\n .home {\n height: 100%;\n width: 25rem;\n align-items: center;\n display: flex;\n padding: 0.25rem 0;\n }\n\n .logo {\n width: 100%;\n height: 50%;\n background-repeat: no-repeat;\n background-size: contain;\n }\n\n .download {\n height: 1.5rem;\n }\n\n // Styled to match the HuBMAP Portal\n .authentication {\n width: 8.25rem;\n border-radius: 0.125rem;\n font-weight: 500;\n }\n\n .logo, .download, .refresh {\n display: flex;\n align-items: center;\n transition: color 1s;\n cursor: pointer;\n text-decoration: none;\n }\n\n :not(:last-child) {\n margin-right: 1.5rem;\n }\n\n .filler {\n flex-grow: 1;\n margin: 0;\n }\n\n .filter-labels {\n display: flex;\n align-items: center;\n height: 100%;\n font: 400 1rem/1.25rem Inter, sans-serif;\n }\n\n .disabled {\n display: none;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' LOGIN LOGOUT'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'HeaderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/HeaderModule.html":{"url":"modules/HeaderModule.html","title":"module - HeaderModule","body":"\n \n\n\n\n\n Modules\n HeaderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_HeaderModule\n\n\n\ncluster_HeaderModule_declarations\n\n\n\ncluster_HeaderModule_exports\n\n\n\n\nHeaderComponent\n\nHeaderComponent\n\n\n\nHeaderModule\n\nHeaderModule\n\nHeaderModule -->\n\nHeaderComponent->HeaderModule\n\n\n\n\n\nHeaderComponent \n\nHeaderComponent \n\nHeaderComponent -->\n\nHeaderModule->HeaderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/core/header/header.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n HeaderComponent\n \n \n \n \n Exports\n \n \n HeaderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { HeaderComponent } from './header.component';\n\n\n@NgModule({\n imports: [CommonModule, MatButtonModule, MatIconModule, MatToolbarModule, MatTooltipModule],\n declarations: [HeaderComponent],\n exports: [HeaderComponent]\n})\nexport class HeaderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IconDefinition.html":{"url":"interfaces/IconDefinition.html","title":"interface - IconDefinition","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IconDefinition\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n\n\n \n Description\n \n \n Object definition for registering new svg icons.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n html\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n namespace\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n html\n \n \n \n \n \n \n \n \n html: SafeHtml\n\n \n \n\n\n \n \n Type : SafeHtml\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Html containing the svg of the icon or icon set.\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Name to register the icon under.\n\n \n \n \n \n \n \n \n \n \n namespace\n \n \n \n \n \n \n \n \n namespace: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Namespace to register the icon or icon set under.\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: SafeResourceUrl\n\n \n \n\n\n \n \n Type : SafeResourceUrl\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Url to fetch the icon or icon set from.\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Optional } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';\nimport { DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\n\nimport { DEFAULT_ICONS } from './default-icons';\n\n\n/**\n * Object definition for registering new svg icons.\n */\nexport interface IconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: SafeResourceUrl;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: SafeHtml;\n}\n\n\n/**\n * State handling the registration of icons for use with `mat-icon`.\n */\n@StateRepository()\n@State({ name: 'iconRegistry' })\n@Injectable()\nexport class IconRegistryState extends NgxsDataRepository {\n /**\n * Creates an instance of icon registry state.\n *\n * @param registry Material icon registry.\n * @param sanitizer Service used to sanitize default imported urls and html.\n */\n constructor(\n @Optional() private readonly registry: MatIconRegistry | null,\n sanitizer: DomSanitizer\n ) {\n super();\n\n for (const { name, namespace, url, html } of DEFAULT_ICONS) {\n const safeDef: IconDefinition = {\n name, namespace,\n url: url && sanitizer.bypassSecurityTrustResourceUrl(url),\n html: html && sanitizer.bypassSecurityTrustHtml(html)\n };\n\n this.registerIconImpl(safeDef);\n }\n }\n\n /**\n * Registers a svg icon for use in mat-icon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n @DataAction()\n registerIcon(definition: IconDefinition): boolean {\n return this.registerIconImpl(definition);\n }\n\n /**\n * Backing implementation of registerIcon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n private registerIconImpl(definition: IconDefinition): boolean {\n if (!this.registry) {\n return false;\n }\n if (!definition.url && !definition.html) {\n return false;\n }\n\n const registry = this.registry as unknown as { [prop: string]: (...arg: unknown[]) => void };\n const methodName = this.getMethodName(definition);\n const method = registry[methodName];\n const args = this.getArguments(definition);\n\n if (!method) {\n return false;\n }\n try {\n method.apply(registry, args);\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n /**\n * Selects the MatIconRegistry method used to register the icon.\n *\n * @param definition Icon definition.\n * @returns The name of the registry method.\n */\n private getMethodName({ name, namespace, url }: IconDefinition): string {\n const parts = ['addSvgIcon'];\n if (!name) {\n parts.push('Set');\n }\n if (!url) {\n parts.push('Literal');\n }\n if (namespace) {\n parts.push('InNamespace');\n }\n return parts.join('');\n }\n\n /**\n * Selects the argument used to call the registration method.\n *\n * @param definition Icon definition.\n * @returns An array of arguments.\n */\n private getArguments({ name, namespace, url, html }: IconDefinition): unknown[] {\n const args: unknown[] = [namespace, name, url ?? html];\n return args.filter(value => !!value);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/IconRegistryState.html":{"url":"injectables/IconRegistryState.html","title":"injectable - IconRegistryState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n IconRegistryState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n\n\n \n Description\n \n \n State handling the registration of icons for use with mat-icon.\n\n \n\n \n Extends\n \n \n NgxsDataRepository\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n getArguments\n \n \n Private\n getMethodName\n \n \n registerIcon\n \n \n Private\n registerIconImpl\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(registry: MatIconRegistry | null, sanitizer: DomSanitizer)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts:43\n \n \n\n \n \n Creates an instance of icon registry state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n registry\n \n \n MatIconRegistry | null\n \n \n \n No\n \n \n \n Material icon registry.\n\n \n \n \n sanitizer\n \n \n DomSanitizer\n \n \n \n No\n \n \n \n Service used to sanitize default imported urls and html.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n getArguments\n \n \n \n \n \n \n \n getArguments(undefined: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts:134\n \n \n\n\n \n \n Selects the argument used to call the registration method.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n IconDefinition\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : []\n\n \n \n An array of arguments.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getMethodName\n \n \n \n \n \n \n \n getMethodName(undefined: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts:114\n \n \n\n\n \n \n Selects the MatIconRegistry method used to register the icon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n IconDefinition\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n The name of the registry method.\n\n \n \n \n \n \n \n \n \n \n \n \n registerIcon\n \n \n \n \n \n \nregisterIcon(definition: IconDefinition)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts:74\n \n \n\n\n \n \n Registers a svg icon for use in mat-icon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n definition\n \n IconDefinition\n \n\n \n No\n \n\n\n \n Icon to register.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if registration was successful, otherwise false.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n registerIconImpl\n \n \n \n \n \n \n \n registerIconImpl(definition: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts:84\n \n \n\n\n \n \n Backing implementation of registerIcon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n definition\n \n IconDefinition\n \n\n \n No\n \n\n\n \n Icon to register.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if registration was successful, otherwise false.\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, Optional } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';\nimport { DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\n\nimport { DEFAULT_ICONS } from './default-icons';\n\n\n/**\n * Object definition for registering new svg icons.\n */\nexport interface IconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: SafeResourceUrl;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: SafeHtml;\n}\n\n\n/**\n * State handling the registration of icons for use with `mat-icon`.\n */\n@StateRepository()\n@State({ name: 'iconRegistry' })\n@Injectable()\nexport class IconRegistryState extends NgxsDataRepository {\n /**\n * Creates an instance of icon registry state.\n *\n * @param registry Material icon registry.\n * @param sanitizer Service used to sanitize default imported urls and html.\n */\n constructor(\n @Optional() private readonly registry: MatIconRegistry | null,\n sanitizer: DomSanitizer\n ) {\n super();\n\n for (const { name, namespace, url, html } of DEFAULT_ICONS) {\n const safeDef: IconDefinition = {\n name, namespace,\n url: url && sanitizer.bypassSecurityTrustResourceUrl(url),\n html: html && sanitizer.bypassSecurityTrustHtml(html)\n };\n\n this.registerIconImpl(safeDef);\n }\n }\n\n /**\n * Registers a svg icon for use in mat-icon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n @DataAction()\n registerIcon(definition: IconDefinition): boolean {\n return this.registerIconImpl(definition);\n }\n\n /**\n * Backing implementation of registerIcon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n private registerIconImpl(definition: IconDefinition): boolean {\n if (!this.registry) {\n return false;\n }\n if (!definition.url && !definition.html) {\n return false;\n }\n\n const registry = this.registry as unknown as { [prop: string]: (...arg: unknown[]) => void };\n const methodName = this.getMethodName(definition);\n const method = registry[methodName];\n const args = this.getArguments(definition);\n\n if (!method) {\n return false;\n }\n try {\n method.apply(registry, args);\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n /**\n * Selects the MatIconRegistry method used to register the icon.\n *\n * @param definition Icon definition.\n * @returns The name of the registry method.\n */\n private getMethodName({ name, namespace, url }: IconDefinition): string {\n const parts = ['addSvgIcon'];\n if (!name) {\n parts.push('Set');\n }\n if (!url) {\n parts.push('Literal');\n }\n if (namespace) {\n parts.push('InNamespace');\n }\n return parts.join('');\n }\n\n /**\n * Selects the argument used to call the registration method.\n *\n * @param definition Icon definition.\n * @returns An array of arguments.\n */\n private getArguments({ name, namespace, url, html }: IconDefinition): unknown[] {\n const args: unknown[] = [namespace, name, url ?? html];\n return args.filter(value => !!value);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/InitializationState.html":{"url":"classes/InitializationState.html","title":"class - InitializationState","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n InitializationState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n\n\n \n Description\n \n \n Boolean state that can also be awaited.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n deferred\n \n \n Private\n initialized\n \n \n Private\n resolve\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n set\n \n \n valueOf\n \n \n Async\n wait\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n deferred\n \n \n \n \n \n \n Default value : new Promise(resolve => {\n this.resolve = resolve;\n })\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts:37\n \n \n\n \n \n Promise used to await on.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n initialized\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts:35\n \n \n\n \n \n Whether this state is true or false.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n resolve\n \n \n \n \n \n \n Type : function\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts:41\n \n \n\n \n \n Resolve function for the promise.\n\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n set\n \n \n \n \n \n \nset()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts:46\n \n \n\n\n \n \n Sets the state to true and\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n valueOf\n \n \n \n \n \n \nvalueOf()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts:65\n \n \n\n\n \n \n Gets the boolean state of this object.\n\n\n \n \n \n Returns : boolean\n\n \n \n true if set has been called.\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n wait\n \n \n \n \n \n \n \n wait()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts:56\n \n \n\n\n \n \n Gets a promise that resolves when this state is set to true.\n\n\n \n \n \n Returns : Promise\n\n \n \n A promise.\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener,\n Input, OnDestroy, Output,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { Message, MessageChannel, MessageService } from '../messages';\n\n\n/** Opened/closed state. */\ntype OpenedState = 'open' | 'open-instant' | 'closed';\n/** Expanded/collapsed state. */\ntype ExpandedState = 'open' | 'open-instant' | 'closed';\n/** Expanded state relative to an opposite drawer. */\ntype ExpandedState2 = 'collapsed' | 'half' | 'extended' | 'full';\n\n/** Default animation parameters. */\nconst EXPAND_COLLAPSE_PARAMS_DEFAULT = {\n params: {\n width: 0,\n margin: 0,\n margin2: 0\n }\n};\n\n/**\n * Boolean state that can also be awaited.\n */\nclass InitializationState {\n /** Whether this state is true or false. */\n private initialized = false;\n /** Promise used to await on. */\n private deferred = new Promise(resolve => {\n this.resolve = resolve;\n });\n /** Resolve function for the promise. */\n private resolve: () => void;\n\n /**\n * Sets the state to true and\n */\n set(): void {\n this.initialized = true;\n this.resolve();\n }\n\n /**\n * Gets a promise that resolves when this state is set to true.\n *\n * @returns A promise.\n */\n async wait(): Promise {\n return this.deferred;\n }\n\n /**\n * Gets the boolean state of this object.\n *\n * @returns true if set has been called.\n */\n valueOf(): boolean {\n return this.initialized;\n }\n}\n\n\n/**\n * Side drawer component.\n * Contains all the logic for opening/closing/expanding.\n */\n@Component({\n selector: 'ccf-drawer',\n exportAs: 'ccfDrawer',\n templateUrl: './drawer.component.html',\n styleUrls: ['./drawer.component.scss'],\n animations: [\n trigger('openClose', [\n state('open, open-instant', style({\n transform: 'none'\n })),\n state('closed', style({})),\n\n transition('closed => open-instant', animate(0)),\n transition('closed open, open-instant => closed', animate('.5s ease-in-out'))\n ]),\n trigger('expandCollapse', [\n state('collapsed', style({})),\n state('half', style({\n width: 'calc(50% - {{ margin }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n state('extended', style({\n width: 'calc(100% - {{ width }}px - {{ margin }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n state('full', style({\n width: 'calc(100% - {{ margin }}px - {{ margin2 }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n\n transition('* *', animate('.5s ease-in-out'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DrawerComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer';\n /** Whether this is located at the end position. */\n @HostBinding('class.ccf-drawer-end') // eslint-disable-line\n get classEnd(): boolean {\n return this.position === 'end';\n }\n\n /** Position of the drawer - start (left) or end (right). */\n @Input()// eslint-disable-line\n get position(): 'start' | 'end' {\n return this._position;\n }\n set position(value: 'start' | 'end') {\n this._position = value || 'start';\n }\n /** Property for position getter/setter. */\n private _position: 'start' | 'end' = 'start';\n\n /** Whether the drawer is opened. */\n @Input() // eslint-disable-line\n @HostBinding('class.ccf-drawer-opened') // eslint-disable-line\n get opened(): boolean {\n return this._opened;\n }\n set opened(value: boolean) {\n this.toggle(coerceBooleanProperty(value));\n }\n /** Property for opened getter/setter. */\n private _opened = false;\n\n /** Whether the drawer is expanded. */\n @Input() // eslint-disable-line\n @HostBinding('class.ccf-drawer-expanded') // eslint-disable-line\n get expanded(): boolean {\n return this._expanded;\n }\n set expanded(value: boolean) {\n this.toggleExpanded(coerceBooleanProperty(value));\n }\n /** Property for expanded getter/setter */\n private _expanded = false;\n\n /** Output emitting when the drawer has opened. */\n @Output() readonly openedChange = new EventEmitter(true);\n /** Output emitting when the drawer has expanded. */\n @Output() readonly expandedChange = new EventEmitter(true);\n /** Output emitting whenever the drawer state changes. */\n @Output() readonly stateChange = new EventEmitter(true);\n\n /** Current open/close animation state. */\n @HostBinding('@openClose')\n openedState: OpenedState = 'closed';\n\n /** Expanded/collapsed state parameters. */\n @HostBinding('@expandCollapse') // eslint-disable-line\n get expandedStateObj(): unknown {\n return {\n value: this.expandedState2, params: {\n width: this.width, margin: this.measuredMargin,\n margin2: this.margin2\n }\n };\n }\n /** Current expanded/collapsed animation state. */\n expandedState: ExpandedState = 'closed';\n /** Current expanded state relative to the opposite drawer. */\n private expandedState2: ExpandedState2 = 'collapsed';\n\n /** Gets the calculated width of the drawer. */\n private get measuredWidth(): number {\n if (this._measuredWidth > 0) {\n return this._measuredWidth;\n }\n\n const element = this.element.nativeElement;\n if (!element) {\n return 0;\n }\n\n const bbox = element.getBoundingClientRect();\n const width = bbox.right - bbox.left;\n if (width === 0) {\n return 0;\n }\n\n this._measuredWidth = width;\n return width;\n }\n /** Cached measured width. */\n private _measuredWidth = 0;\n /** Width of opposite drawer. */\n private width = 0;\n\n /** Gets the calculated margin of the drawer. */\n private get measuredMargin(): number {\n if (this._measuredMargin > 0) {\n return this._measuredMargin;\n }\n\n const element = this.element.nativeElement;\n if (!element) {\n return 0;\n }\n\n const styles = globalThis.getComputedStyle(element);\n const property = this.position === 'start' ? 'margin-right' : 'margin-left';\n const value = styles.getPropertyValue(property);\n const margin = Number(value.slice(0, -2));\n\n this._measuredMargin = margin;\n return margin;\n }\n /** Cached measured margin. */\n private _measuredMargin = 0;\n /** Margin of the opposite drawer. */\n private margin2 = 0;\n\n /** Initialization state. */\n private initialized = new InitializationState();\n /** Connected message channel. */\n private channel: MessageChannel;\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of drawer component.\n *\n * @param messageService Service for sending/receiving event messages.\n * @param cdr The change detector reference.\n * @param element Reference to components HTML element.\n */\n constructor(\n messageService: MessageService,\n cdr: ChangeDetectorRef,\n private readonly element: ElementRef\n ) {\n this.channel = messageService.connect(this);\n this.subscriptions.add(this.channel.getMessages().subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Initializes this component.\n */\n ngAfterViewInit(): void {\n this.initialized.set();\n setTimeout(() => this.channel.sendMessage({ type: 'drawer-initialized' }));\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Opens the drawer.\n */\n open(): void {\n this.toggle(true);\n }\n\n /**\n * Closes the drawer.\n */\n close(): void {\n this.toggle(false);\n }\n\n /**\n * Toggles the drawer between opened and closed.\n *\n * @param [opened] Whether to open or close the drawer.\n */\n toggle(opened = !this.opened): void {\n if (this.opened === opened) {\n return;\n }\n\n if (!opened) {\n this.openedState = 'closed';\n this.expandedState = 'closed';\n this.expandedState2 = 'collapsed';\n this._expanded = false;\n } else if (this.initialized.valueOf()) {\n this.openedState = 'open';\n } else {\n this.openedState = 'open-instant';\n }\n\n this._opened = opened;\n this.sendToggle();\n }\n\n /**\n * Expands the drawer.\n */\n openExpanded(): void {\n this.toggleExpanded(true);\n }\n\n /**\n * Collapses the drawer.\n */\n closeExpanded(): void {\n this.toggleExpanded(false);\n }\n\n /**\n * Toggles the drawer between expanded and collapsed.\n *\n * @param [expanded] Whether to expand or collapse the drawer.\n */\n toggleExpanded(expanded = !this.expanded): void {\n if (this.expanded === expanded) {\n return;\n }\n\n if (!expanded) {\n this.expandedState = 'closed';\n this.expandedState2 = 'collapsed';\n } else if (this.initialized.valueOf()) {\n this.expandedState = 'open';\n } else {\n this.expandedState = 'open-instant';\n }\n\n this._expanded = expanded;\n this.sendToggle();\n }\n\n /**\n * Listener to open/close animation completion.\n */\n @HostListener('@openClose.done') // eslint-disable-line\n closeOpenDone(): void {\n this.openedChange.emit(this.opened);\n }\n\n /**\n * Listener to expand/collapse animation completion.\n */\n @HostListener('@expandCollapse.done') // eslint-disable-line\n expandCollapseDone(): void {\n this.expandedChange.emit(this.expanded);\n }\n\n /**\n * Sends a toggle event to the channel.\n * Waits until initialization is completed before sending.\n */\n private async sendToggle(): Promise {\n await this.initialized.wait();\n this.channel.sendMessage({\n type: 'drawer-toggled',\n opened: this.opened,\n expanded: this.expanded,\n width: this.measuredWidth,\n margin: this.measuredMargin\n });\n this.stateChange.emit();\n }\n\n /**\n * Processes an event.\n *\n * @param msg The event.\n * @returns true if change detection should run.\n */\n private handleMessage(msg: Message): boolean {\n switch (msg.payload.type) {\n case 'drawer-toggled': {\n const other = msg.source as DrawerComponent;\n this.syncExpanded(other);\n return true;\n }\n\n default:\n return false;\n }\n }\n\n /**\n * Syncs the drawer widths and margin against the opposite drawer.\n *\n * @param other The opposite drawer.\n */\n private syncExpanded(other: DrawerComponent): void {\n if (this.expanded || other.expanded) {\n if (this.expanded && other.expanded) {\n this.expandedState2 = other.expandedState2 = 'half';\n } else if (this.expanded) {\n if (other.opened) {\n this.expandedState2 = 'extended';\n this.width = other.measuredWidth + other.measuredMargin;\n } else {\n this.expandedState2 = 'full';\n this.margin2 = other.measuredMargin;\n }\n } else {\n if (this.opened) {\n other.expandedState2 = 'extended';\n other.width = this.measuredWidth + this.measuredMargin;\n } else {\n other.expandedState2 = 'full';\n other.margin2 = this.measuredMargin;\n }\n }\n }\n }\n\n /** Workaround for getter/setter pair not accepting different types. */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_position: '' | 'start' | 'end';\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_opened: BooleanInput;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_expanded: BooleanInput;\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ListResult.html":{"url":"interfaces/ListResult.html","title":"interface - ListResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ListResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/models/list-result.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n color\n \n \n \n Optional\n \n rank\n \n \n \n \n selected\n \n \n \n \n tissueBlock\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n rank\n \n \n \n \n \n \n \n \n rank: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n selected\n \n \n \n \n \n \n \n \n selected: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n tissueBlock\n \n \n \n \n \n \n \n \n tissueBlock: TissueBlockResult\n\n \n \n\n\n \n \n Type : TissueBlockResult\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { TissueBlockResult } from 'ccf-database';\n\nexport interface ListResult {\n selected: boolean;\n color?: string;\n tissueBlock: TissueBlockResult;\n rank?: number;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ListResultsState.html":{"url":"injectables/ListResultsState.html","title":"injectable - ListResultsState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ListResultsState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts\n \n\n\n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n colorAssignments\n \n \n Private\n dataState\n \n \n Readonly\n highlightedNodeId$\n \n \n Readonly\n listResults$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n deselectListResult\n \n \n highlightNode\n \n \n ngxsOnInit\n \n \n selectListResult\n \n \n setListResults\n \n \n unHighlightNode\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dataService: DataSourceService, injector: Injector)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:38\n \n \n\n \n \n Creates an instance of scene state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dataService\n \n \n DataSourceService\n \n \n \n No\n \n \n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n Injector service used to lazy load data state\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n deselectListResult\n \n \n \n \n \n \ndeselectListResult(result: ListResult)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n result\n \n ListResult\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n highlightNode\n \n \n \n \n \n \nhighlightNode(id: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:81\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n selectListResult\n \n \n \n \n \n \nselectListResult(result: ListResult)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n result\n \n ListResult\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setListResults\n \n \n \n \n \n \nsetListResults(listResults: ListResult[])\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:58\n \n \n\n\n \n \n Sets the list results\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n listResults\n \n ListResult[]\n \n\n \n No\n \n\n\n \n The list of results to display\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n unHighlightNode\n \n \n \n \n \n \nunHighlightNode()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:74\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n colorAssignments\n \n \n \n \n \n \n Type : ColorAssignmentState\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:38\n \n \n\n \n \n Color assignments state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n dataState\n \n \n \n \n \n \n Type : DataState\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:35\n \n \n\n \n \n The data state\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n highlightedNodeId$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('highlightedNodeId'), distinctUntilChanged())\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n listResults$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('listResults'), distinctUntilChanged())\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:30\n \n \n\n \n \n Scene to display in the 3d Scene\n\n \n \n\n \n \n\n\n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { DataAction, Payload, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { NgxsOnInit, State } from '@ngxs/store';\nimport { DataSourceService } from 'ccf-shared';\nimport { sortBy } from 'lodash';\nimport { combineLatest } from 'rxjs';\nimport { distinctUntilChanged, map, pluck, tap } from 'rxjs/operators';\n\nimport { ListResult } from '../../models/list-result';\nimport { ColorAssignmentState } from '../color-assignment/color-assignment.state';\nimport { DataState } from '../data/data.state';\n\n\nexport interface ListResultsStateModel {\n listResults: ListResult[];\n highlightedNodeId?: string;\n}\n\n@StateRepository()\n@State({\n name: 'listResults',\n defaults: {\n listResults: []\n }\n})\n@Injectable()\nexport class ListResultsState extends NgxsImmutableDataRepository implements NgxsOnInit {\n /** Scene to display in the 3d Scene */\n readonly listResults$ = this.state$.pipe(pluck('listResults'), distinctUntilChanged());\n readonly highlightedNodeId$ = this.state$.pipe(pluck('highlightedNodeId'), distinctUntilChanged());\n\n\n /** The data state */\n private dataState: DataState;\n\n /** Color assignments state */\n private colorAssignments: ColorAssignmentState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load data state\n */\n constructor(\n private readonly dataService: DataSourceService,\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Sets the list results\n *\n * @param listResults The list of results to display\n */\n @DataAction()\n setListResults(@Payload('listResults') listResults: ListResult[]): void {\n this.ctx.patchState({ listResults });\n }\n\n selectListResult(result: ListResult): void {\n this.colorAssignments.assignColor(result.tissueBlock.spatialEntityId);\n }\n\n deselectListResult(result: ListResult): void {\n this.colorAssignments.unassignColor(result.tissueBlock.spatialEntityId);\n }\n\n highlightNode(id: string): void {\n this.ctx.patchState({ highlightedNodeId: id });\n }\n\n unHighlightNode(): void {\n this.ctx.patchState({ highlightedNodeId: undefined });\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.dataState = this.injector.get(DataState);\n this.colorAssignments = this.injector.get(ColorAssignmentState);\n\n combineLatest([\n this.dataState.tissueBlockData$,\n this.colorAssignments.colorAssignments$\n ]).pipe(\n map(([tissueBlocks, colors]) => {\n const topBlocks: ListResult[] = [];\n const otherBlocks: ListResult[] = [];\n\n for (const tissueBlock of tissueBlocks) {\n const color = colors[tissueBlock.spatialEntityId];\n if (color) {\n topBlocks.push({\n selected: true, color: color.color, tissueBlock, rank: color.rank\n });\n } else {\n otherBlocks.push({\n selected: false, tissueBlock\n });\n }\n }\n\n return sortBy(topBlocks, ['rank']).concat(otherBlocks);\n }),\n tap(results => this.setListResults(results))\n ).subscribe();\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ListResultsStateModel.html":{"url":"interfaces/ListResultsStateModel.html","title":"interface - ListResultsStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ListResultsStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n highlightedNodeId\n \n \n \n \n listResults\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n highlightedNodeId\n \n \n \n \n \n \n \n \n highlightedNodeId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n listResults\n \n \n \n \n \n \n \n \n listResults: ListResult[]\n\n \n \n\n\n \n \n Type : ListResult[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { DataAction, Payload, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { NgxsOnInit, State } from '@ngxs/store';\nimport { DataSourceService } from 'ccf-shared';\nimport { sortBy } from 'lodash';\nimport { combineLatest } from 'rxjs';\nimport { distinctUntilChanged, map, pluck, tap } from 'rxjs/operators';\n\nimport { ListResult } from '../../models/list-result';\nimport { ColorAssignmentState } from '../color-assignment/color-assignment.state';\nimport { DataState } from '../data/data.state';\n\n\nexport interface ListResultsStateModel {\n listResults: ListResult[];\n highlightedNodeId?: string;\n}\n\n@StateRepository()\n@State({\n name: 'listResults',\n defaults: {\n listResults: []\n }\n})\n@Injectable()\nexport class ListResultsState extends NgxsImmutableDataRepository implements NgxsOnInit {\n /** Scene to display in the 3d Scene */\n readonly listResults$ = this.state$.pipe(pluck('listResults'), distinctUntilChanged());\n readonly highlightedNodeId$ = this.state$.pipe(pluck('highlightedNodeId'), distinctUntilChanged());\n\n\n /** The data state */\n private dataState: DataState;\n\n /** Color assignments state */\n private colorAssignments: ColorAssignmentState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load data state\n */\n constructor(\n private readonly dataService: DataSourceService,\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Sets the list results\n *\n * @param listResults The list of results to display\n */\n @DataAction()\n setListResults(@Payload('listResults') listResults: ListResult[]): void {\n this.ctx.patchState({ listResults });\n }\n\n selectListResult(result: ListResult): void {\n this.colorAssignments.assignColor(result.tissueBlock.spatialEntityId);\n }\n\n deselectListResult(result: ListResult): void {\n this.colorAssignments.unassignColor(result.tissueBlock.spatialEntityId);\n }\n\n highlightNode(id: string): void {\n this.ctx.patchState({ highlightedNodeId: id });\n }\n\n unHighlightNode(): void {\n this.ctx.patchState({ highlightedNodeId: undefined });\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.dataState = this.injector.get(DataState);\n this.colorAssignments = this.injector.get(ColorAssignmentState);\n\n combineLatest([\n this.dataState.tissueBlockData$,\n this.colorAssignments.colorAssignments$\n ]).pipe(\n map(([tissueBlocks, colors]) => {\n const topBlocks: ListResult[] = [];\n const otherBlocks: ListResult[] = [];\n\n for (const tissueBlock of tissueBlocks) {\n const color = colors[tissueBlock.spatialEntityId];\n if (color) {\n topBlocks.push({\n selected: true, color: color.color, tissueBlock, rank: color.rank\n });\n } else {\n otherBlocks.push({\n selected: false, tissueBlock\n });\n }\n }\n\n return sortBy(topBlocks, ['rank']).concat(otherBlocks);\n }),\n tap(results => this.setListResults(results))\n ).subscribe();\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Message.html":{"url":"interfaces/Message.html","title":"interface - Message","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Message\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n A message sent on a channel.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n payload\n \n \n \n \n source\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Unique identifier for a message.\n\n \n \n \n \n \n \n \n \n \n payload\n \n \n \n \n \n \n \n \n payload: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n Data associated with this message.\n\n \n \n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: \n\n \n \n\n\n\n\n\n\n\n \n \n Sender of the message.\n\n \n \n \n \n \n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MessageChannel.html":{"url":"classes/MessageChannel.html","title":"class - MessageChannel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MessageChannel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Channel for sending and receiving messages.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n counter\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getMessages\n \n \n getMessagesFromSource\n \n \n getMessagesFromSources\n \n \n Private\n nextMessageId\n \n \n sendMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(source, channel: Subject>, messages: Observable>)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:50\n \n \n\n \n \n Creates a new channel.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n source\n \n \n \n \n \n No\n \n \n \n The message source.\n\n \n \n \n channel\n \n \n Subject>\n \n \n \n No\n \n \n \n The message send subject.\n\n \n \n \n messages\n \n \n Observable>\n \n \n \n No\n \n \n \n The message receive observable.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n counter\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:50\n \n \n\n \n \n Counter used to give each message a unique id.\n\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getMessages\n \n \n \n \n \n \ngetMessages()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:83\n \n \n\n\n \n \n Gets an observable emitting all messages except for those sent by this source.\n\n\n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n getMessagesFromSource\n \n \n \n \n \n \ngetMessagesFromSource(source)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:93\n \n \n\n\n \n \n Gets an observable emitting messages sent from a specific source.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n source\n\n \n No\n \n\n\n \n The source messages are filtered on.\n\n \n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n getMessagesFromSources\n \n \n \n \n \n \ngetMessagesFromSources(sources: [])\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:103\n \n \n\n\n \n \n Gets an observable emitting messages sent from any of the specified sources.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n sources\n \n []\n \n\n \n No\n \n\n\n \n The sources messages are filtered on.\n\n \n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n nextMessageId\n \n \n \n \n \n \n \n nextMessageId()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:112\n \n \n\n\n \n \n Creates a unique message identifier.\n\n\n \n \n \n Returns : number\n\n \n \n The identifier number.\n\n \n \n \n \n \n \n \n \n \n \n \n sendMessage\n \n \n \n \n \n \nsendMessage(payload: T)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:70\n \n \n\n\n \n \n Sends a single message with a payload.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n payload\n \n T\n \n\n \n No\n \n\n\n \n The message payload.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MessageService.html":{"url":"injectables/MessageService.html","title":"injectable - MessageService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n MessageService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Service for creating message channels.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n channel\n \n \n Private\n messages\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n connect\n \n \n ngOnDestroy\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: MessageServiceConfig, parent: MessageService | null)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:130\n \n \n\n \n \n Creates an instance of message service.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n config\n \n \n MessageServiceConfig\n \n \n \n No\n \n \n \n The configuration for this service.\n\n \n \n \n parent\n \n \n MessageService | null\n \n \n \n No\n \n \n \n The parent message service, if any.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n connect\n \n \n \n \n \n \nconnect(source)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:163\n \n \n\n\n \n \n Connects to a message channel.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n source\n\n \n No\n \n\n\n \n The source of messages sent.\n\n \n \n \n \n \n \n \n \n Returns : MessageChannel\n\n \n \n A new connected message channel.\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:153\n \n \n\n\n \n \n Clean up.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n channel\n \n \n \n \n \n \n Default value : new Subject>()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:128\n \n \n\n \n \n The message channel.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n messages\n \n \n \n \n \n \n Type : Observable>\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:130\n \n \n\n \n \n The message listener.\n\n \n \n\n \n \n\n\n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MessageServiceConfig.html":{"url":"interfaces/MessageServiceConfig.html","title":"interface - MessageServiceConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MessageServiceConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Message service configuration options.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n isolated\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n isolated\n \n \n \n \n \n \n \n \n isolated: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether to listen to parent messages.\n\n \n \n \n \n \n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveToNode.html":{"url":"classes/MoveToNode.html","title":"class - MoveToNode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveToNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(node: SpatialSceneNode)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n node\n \n \n SpatialSceneNode\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Start moving the position to a scene node'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OntologyExplorationModule.html":{"url":"modules/OntologyExplorationModule.html","title":"module - OntologyExplorationModule","body":"\n \n\n\n\n\n Modules\n OntologyExplorationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_OntologyExplorationModule\n\n\n\ncluster_OntologyExplorationModule_imports\n\n\n\ncluster_OntologyExplorationModule_exports\n\n\n\n\nOntologySearchModule\n\nOntologySearchModule\n\n\n\nOntologyExplorationModule\n\nOntologyExplorationModule\n\nOntologyExplorationModule -->\n\nOntologySearchModule->OntologyExplorationModule\n\n\n\n\n\nOntologySelectionModule\n\nOntologySelectionModule\n\nOntologyExplorationModule -->\n\nOntologySelectionModule->OntologyExplorationModule\n\n\n\n\n\nOntologyTreeModule\n\nOntologyTreeModule\n\nOntologyExplorationModule -->\n\nOntologyTreeModule->OntologyExplorationModule\n\n\n\n\n\nOntologySearchModule \n\nOntologySearchModule \n\nOntologySearchModule -->\n\nOntologyExplorationModule->OntologySearchModule \n\n\n\n\n\nOntologySelectionModule \n\nOntologySelectionModule \n\nOntologySelectionModule -->\n\nOntologyExplorationModule->OntologySelectionModule \n\n\n\n\n\nOntologyTreeModule \n\nOntologyTreeModule \n\nOntologyTreeModule -->\n\nOntologyExplorationModule->OntologyTreeModule \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-exploration.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n OntologySearchModule\n \n \n OntologySelectionModule\n \n \n OntologyTreeModule\n \n \n \n \n Exports\n \n \n OntologySearchModule\n \n \n OntologySelectionModule\n \n \n OntologyTreeModule\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { OntologySearchModule } from './ontology-search/ontology-search.module';\nimport { OntologySelectionModule } from './ontology-selection/ontology-selection.module';\nimport { OntologyTreeModule } from './ontology-tree/ontology-tree.module';\n\n\n@NgModule({\n imports: [\n CommonModule,\n OntologySearchModule,\n OntologyTreeModule,\n OntologySelectionModule\n ],\n exports: [OntologySearchModule, OntologyTreeModule, OntologySelectionModule]\n})\nexport class OntologyExplorationModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/OntologySearchComponent.html":{"url":"components/OntologySearchComponent.html","title":"component - OntologySearchComponent","body":"\n \n\n\n\n\n\n Components\n \n OntologySearchComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts\n\n\n\n \n Description\n \n \n Componenet for searching the Ontology nodes.\n\n \n\n\n \n Implements\n \n \n OnInit\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-ontology-search\n \n\n \n styleUrls\n ./ontology-search.component.scss\n \n\n\n\n \n templateUrl\n ./ontology-search.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n autoCompleteOpen\n \n \n filteredResults$\n \n \n formControl\n \n \n Public\n ontologyService\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n displayFormatter\n \n \n ngOnInit\n \n \n onSelect\n \n \n sortBySynonymResult\n \n \n sortLexically\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n placeholderText\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n selected\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ontologyService: OntologySearchService, ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:45\n \n \n\n \n \n Creates an instance of ontology search component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ontologyService\n \n \n OntologySearchService\n \n \n \n No\n \n \n \n instance of searchService which provides all the search functionality\n\n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n placeholderText\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:23\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n selected\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:29\n \n \n \n \n Output event-emitter which emits the id of the OntologyTreeNode whose label was\nselected by the user in the search-results\n\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n displayFormatter\n \n \n \n \n \n \ndisplayFormatter(option?: SearchResult)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:78\n \n \n\n\n \n \n A formatter function to enable different display and selected value\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n option\n \n SearchResult\n \n\n \n Yes\n \n\n\n \n a search result entry\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n a part of the search result entry to be displayed as a display value\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:60\n \n \n\n\n \n \n on-init lifecycle hook for this component -\ngets the searched value from the view, sends it to the filter function in the OntologyService,\nand gets the search results from the service\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n onSelect\n \n \n \n \n \n \nonSelect(event: MatAutocompleteSelectedEvent)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:107\n \n \n\n\n \n \n Callback function triggered when the user selects a value from search results\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n MatAutocompleteSelectedEvent\n \n\n \n No\n \n\n\n \n instance of MatAutocompleteSelectedEvent\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n sortBySynonymResult\n \n \n \n \n \n \nsortBySynonymResult(this: void, entry: SearchResult)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:88\n \n \n\n\n \n \n Sorts by results which have synonyms\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n void\n \n\n \n No\n \n\n\n \n \n \n \n entry\n \n SearchResult\n \n\n \n No\n \n\n\n \n search result entry\n\n \n \n \n \n \n \n \n \n Returns : number\n\n \n \n 1 or -1\n\n \n \n \n \n \n \n \n \n \n \n \n sortLexically\n \n \n \n \n \n \nsortLexically(this: void, entry: SearchResult)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:98\n \n \n\n\n \n \n Sorts lexically\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n void\n \n\n \n No\n \n\n\n \n \n \n \n entry\n \n SearchResult\n \n\n \n No\n \n\n\n \n search result entry\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n lower case value of node label\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n autoCompleteOpen\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:40\n \n \n\n \n \n Determines if autocomplete is open or close.\n\n \n \n\n \n \n \n \n \n \n \n \n filteredResults$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:45\n \n \n\n \n \n Observable which provides the filtered search results\n\n \n \n\n \n \n \n \n \n \n \n \n formControl\n \n \n \n \n \n \n Default value : new FormControl('')\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:34\n \n \n\n \n \n Instance of FormControl - tracks the value and validation status of an individual form control\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n ontologyService\n \n \n \n \n \n \n Type : OntologySearchService\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:53\n \n \n\n \n \n instance of searchService which provides all the search functionality\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, OnInit, Input, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { OntologyTreeNode } from 'ccf-database';\nimport { get, sortBy } from 'lodash';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { Observable } from 'rxjs';\nimport { filter, map, startWith, switchMap } from 'rxjs/operators';\n\nimport { OntologySearchService, SearchResult } from '../../../core/services/ontology-search/ontology-search.service';\n\n\n/**\n * Componenet for searching the Ontology nodes.\n */\n@Component({\n selector: 'ccf-ontology-search',\n templateUrl: './ontology-search.component.html',\n styleUrls: ['./ontology-search.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OntologySearchComponent implements OnInit {\n @Input() placeholderText: string;\n\n /**\n * Output event-emitter which emits the id of the OntologyTreeNode whose label was\n * selected by the user in the search-results\n */\n @Output() readonly selected = new EventEmitter();\n\n /**\n * Instance of FormControl - tracks the value and validation status of an individual form control\n */\n formControl = new FormControl('');\n\n\n /**\n * Determines if autocomplete is open or close.\n */\n autoCompleteOpen = false;\n\n /**\n * Observable which provides the filtered search results\n */\n filteredResults$: Observable;\n\n /**\n * Creates an instance of ontology search component.\n *\n * @param ontologyService instance of searchService which provides all the search functionality\n * @param ga Analytics service\n */\n constructor(public ontologyService: OntologySearchService, private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * on-init lifecycle hook for this component -\n * gets the searched value from the view, sends it to the filter function in the OntologyService,\n * and gets the search results from the service\n */\n ngOnInit(): void {\n const valueChanges = this.formControl.valueChanges as Observable;\n this.filteredResults$ = valueChanges.pipe(\n filter(value => typeof value === 'string'),\n startWith(''),\n switchMap(value => this.ontologyService.filter(value)),\n map(searchResults => sortBy(searchResults, [\n this.sortBySynonymResult, 'index', this.sortLexically\n ]))\n );\n }\n\n /**\n * A formatter function to enable different display and selected value\n *\n * @param option a search result entry\n * @returns a part of the search result entry to be displayed as a display value\n */\n displayFormatter(option?: SearchResult): string {\n return (option?.displayLabel ?? []).join('');\n }\n\n /**\n * Sorts by results which have synonyms\n *\n * @param entry search result entry\n * @returns 1 or -1\n */\n sortBySynonymResult(this: void, entry: SearchResult): number {\n return entry.displayLabel.join().includes('(') ? 1 : -1;\n }\n\n /**\n * Sorts lexically\n *\n * @param entry search result entry\n * @returns lower case value of node label\n */\n sortLexically(this: void, entry: SearchResult): string {\n return entry.node.label.toLowerCase();\n }\n\n /**\n * Callback function triggered when the user selects a value from search results\n *\n * @param event instance of MatAutocompleteSelectedEvent\n */\n onSelect(event: MatAutocompleteSelectedEvent): void {\n const node = get(event, ['option', 'value', 'node']) as OntologyTreeNode;\n if (node) {\n this.ga.event('search', 'ontology_search', node.id);\n this.selected.emit(node);\n this.formControl.reset();\n }\n }\n}\n\n \n\n \n \n \n search\n \n\n \n \n \n {{option.displayLabel[0]}}\n {{option.displayLabel[1]}}\n {{option.displayLabel[2]}}\n \n \n \n \n\n\n \n\n \n \n ./ontology-search.component.scss\n \n .ccf-ontology-search {\n width: 100%;\n\n .field {\n width: 100%;\n \n }\n\n ::ng-deep .mat-form-field-appearance-outline {\n .mat-form-field-outline-end {\n border-radius: 0 0.25rem 0.25rem 0;\n margin: 0;\n }\n\n .mat-form-field-wrapper {\n margin: 0;\n \n\n .mat-form-field-flex {\n .mat-form-field-infix {\n border: none;\n height: 3rem;\n \n\n input {\n margin-left: .4rem;\n }\n }\n .mat-form-field-prefix {\n top: .5rem;\n border: none;\n }\n }\n }\n\n .mat-form-field-outline-start {\n border-radius: 0.25rem 0 0 0.25rem;\n min-width: 2.5rem;\n\t }\n }\n}\n\n::ng-deep .ccf-ontology-search.detached {\n border: 0.125rem solid;\n border-top: none;\n border-radius: 0 0 0.25rem 0.25rem;\n max-height: 18rem;\n\n .results-container {\n width: 23.75rem;\n margin-bottom: 1rem;\n overflow: auto;\n max-height: 15rem;\n scrollbar-width: thin;\n\n mat-option {\n height: 1.5rem;\n width: 23.75rem;\n \n .search-term {\n text-decoration: underline;\n }\n }\n }\n\n}\n\n.autocomplete-open {\n ::ng-deep .mat-form-field-appearance-outline {\n .mat-form-field-outline-start {\n border-radius: 0.25rem 0 0 0;\n border-bottom: none;\n }\n\n .mat-form-field-outline-end {\n border-radius: 0 0.25rem 0 0;\n border-bottom: none;\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' search {{option.displayLabel[0]}} {{option.displayLabel[1]}} {{option.displayLabel[2]}} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'OntologySearchComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OntologySearchModule.html":{"url":"modules/OntologySearchModule.html","title":"module - OntologySearchModule","body":"\n \n\n\n\n\n Modules\n OntologySearchModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_OntologySearchModule\n\n\n\ncluster_OntologySearchModule_declarations\n\n\n\ncluster_OntologySearchModule_exports\n\n\n\n\nOntologySearchComponent\n\nOntologySearchComponent\n\n\n\nOntologySearchModule\n\nOntologySearchModule\n\nOntologySearchModule -->\n\nOntologySearchComponent->OntologySearchModule\n\n\n\n\n\nOntologySearchComponent \n\nOntologySearchComponent \n\nOntologySearchComponent -->\n\nOntologySearchModule->OntologySearchComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n OntologySearchComponent\n \n \n \n \n Exports\n \n \n OntologySearchComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { OntologySearchComponent } from './ontology-search.component';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule\n ],\n declarations: [OntologySearchComponent],\n exports: [OntologySearchComponent]\n})\nexport class OntologySearchModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OntologySearchService.html":{"url":"injectables/OntologySearchService.html","title":"injectable - OntologySearchService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n OntologySearchService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts\n \n\n\n \n Description\n \n \n Injectable OntologySearchService responsible for search result computations\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n Readonly\n nodes$\n \n \n Public\n Readonly\n rootNode$\n \n \n Private\n treeModel\n \n \n Private\n Readonly\n treeModel$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n filter\n \n \n formatLabel\n \n \n getChildren\n \n \n getIndexOfMatch\n \n \n Private\n lookup\n \n \n setTreeModel\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n filter\n \n \n \n \n \n \nfilter(value: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:50\n \n \n\n\n \n \n Searches the ontology with the search-term\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n string\n \n\n \n No\n \n\n\n \n the search term\n\n \n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n an array of search-results\n\n \n \n \n \n \n \n \n \n \n \n \n formatLabel\n \n \n \n \n \n \nformatLabel(label: string, searchValue: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:111\n \n \n\n\n \n \n Formats label based on where the search-term was found in the OntologyTreeNode\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n label\n \n string\n \n\n \n No\n \n\n\n \n label or first synonym-label of OntologyTreeNode which has the search-term\n\n \n \n \n searchValue\n \n string\n \n\n \n No\n \n\n\n \n search-term\n\n \n \n \n \n \n \n \n \n Returns : string[]\n\n \n \n an array in the form of [prefix, search-term, suffix]\n\n \n \n \n \n \n \n \n \n \n \n \n getChildren\n \n \n \n \n \n \ngetChildren(node: OntologyTreeNode)\n \n \n\n \n \n Decorators : \n \n @bind()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:128\n \n \n\n\n \n \n Fetches the children of an ontology node.\nNote: This can be called without a reference to this.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n node\n \n OntologyTreeNode\n \n\n \n No\n \n\n\n \n The node for which to get children.\n\n \n \n \n \n \n \n \n \n Returns : OntologyTreeNode[]\n\n \n \n An array of children, empty if the node has no children.\n\n \n \n \n \n \n \n \n \n \n \n \n getIndexOfMatch\n \n \n \n \n \n \ngetIndexOfMatch(label: string, searchValue: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:100\n \n \n\n\n \n \n Gets index of match in the ontology label\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n label\n \n string\n \n\n \n No\n \n\n\n \n the provided ontology node label or synonym label\n\n \n \n \n searchValue\n \n string\n \n\n \n No\n \n\n\n \n the searched text in lower case\n\n \n \n \n \n \n \n \n \n Returns : number\n\n \n \n the index of the match in the label\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n lookup\n \n \n \n \n \n \n \n lookup(nodes: Immutable[], searchValue: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:63\n \n \n\n\n \n \n looks up ontology nodes and composes search results\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n nodes\n \n Immutable[]\n \n\n \n No\n \n\n\n \n Ontology nodes\n\n \n \n \n searchValue\n \n string\n \n\n \n No\n \n\n\n \n search text in lower case\n\n \n \n \n \n \n \n \n \n Returns : SearchResult[]\n\n \n \n search results\n\n \n \n \n \n \n \n \n \n \n \n \n setTreeModel\n \n \n \n \n \n \nsetTreeModel(treeModel: OntologyTreeModel)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n treeModel\n \n OntologyTreeModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n Readonly\n nodes$\n \n \n \n \n \n \n Default value : this.treeModel$.pipe(map(state => Object.values(state.nodes)))\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:34\n \n \n\n \n \n All nodes in the ontology tree.\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n Readonly\n rootNode$\n \n \n \n \n \n \n Default value : this.treeModel$.pipe(map(state => state.nodes[state.root]))\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:37\n \n \n\n \n \n Root node of the ontology tree.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n treeModel\n \n \n \n \n \n \n Type : OntologyTreeModel\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n treeModel$\n \n \n \n \n \n \n Default value : new ReplaySubject(1)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:30\n \n \n\n\n \n \n\n\n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { bind } from 'bind-decorator';\nimport { OntologyTreeModel, OntologyTreeNode } from 'ccf-database';\nimport { at } from 'lodash';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n\n/**\n * Search result interface type for the search results\n */\nexport interface SearchResult {\n /** ensures order of search-results */\n index: number;\n\n /** label to be displayed in the view */\n displayLabel: string[];\n\n /** instance of OntologyTreeNode, provides data associated with a search result */\n node: OntologyTreeNode;\n}\n\n/**\n * Injectable OntologySearchService responsible for search result computations\n */\n@Injectable()\nexport class OntologySearchService {\n private readonly treeModel$ = new ReplaySubject(1);\n private treeModel: OntologyTreeModel;\n\n /** All nodes in the ontology tree. */\n public readonly nodes$ = this.treeModel$.pipe(map(state => Object.values(state.nodes)));\n\n /** Root node of the ontology tree. */\n public readonly rootNode$ = this.treeModel$.pipe(map(state => state.nodes[state.root]));\n\n setTreeModel(treeModel: OntologyTreeModel): void {\n this.treeModel$.next(treeModel);\n this.treeModel = treeModel;\n }\n\n /**\n * Searches the ontology with the search-term\n *\n * @param value the search term\n * @returns an array of search-results\n */\n filter(value: string): Observable {\n return this.nodes$.pipe(\n map(nodes => this.lookup(nodes, value.toLowerCase()))\n );\n }\n\n /**\n * looks up ontology nodes and composes search results\n *\n * @param nodes Ontology nodes\n * @param searchValue search text in lower case\n * @returns search results\n */\n private lookup(nodes: Immutable[], searchValue: string): SearchResult[] {\n const searchResults = new Map();\n\n if (nodes) {\n nodes.forEach((node: OntologyTreeNode) => {\n const condition = node.label.toLowerCase().includes(searchValue);\n\n if (condition && !searchResults.get(node.id)) {\n searchResults.set(node.id, {\n index: this.getIndexOfMatch(node.label, searchValue),\n displayLabel: this.formatLabel(node.label, searchValue),\n node\n });\n } else {\n const match = node.synonymLabels.find((label) => label.toLowerCase().includes(searchValue));\n\n if (match && !searchResults.get(node.id)) {\n searchResults.set(node.id, {\n index: this.getIndexOfMatch(node.label + ' (' + match + ')', searchValue),\n displayLabel: this.formatLabel(node.label + ' (' + match + ')', searchValue),\n node\n });\n }\n }\n });\n }\n\n return Array.from(searchResults.values());\n }\n\n /**\n * Gets index of match in the ontology label\n *\n * @param label the provided ontology node label or synonym label\n * @param searchValue the searched text in lower case\n * @returns the index of the match in the label\n */\n getIndexOfMatch(label: string, searchValue: string): number {\n return label.toLowerCase().indexOf(searchValue);\n }\n\n /**\n * Formats label based on where the search-term was found in the OntologyTreeNode\n *\n * @param label label or first synonym-label of OntologyTreeNode which has the search-term\n * @param searchValue search-term\n * @returns an array in the form of [prefix, search-term, suffix]\n */\n formatLabel(label: string, searchValue: string): string[] {\n const index = this.getIndexOfMatch(label, searchValue);\n return [\n label.slice(0, index),\n label.slice(index, index + searchValue.length),\n label.slice(index + searchValue.length)\n ];\n }\n\n /**\n * Fetches the children of an ontology node.\n * Note: This can be called without a reference to `this`.\n *\n * @param node The node for which to get children.\n * @returns An array of children, empty if the node has no children.\n */\n @bind\n getChildren(node: OntologyTreeNode): OntologyTreeNode[] {\n const nodes = this.treeModel?.nodes ?? {};\n return at(nodes, node.children);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OntologySelection.html":{"url":"interfaces/OntologySelection.html","title":"interface - OntologySelection","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OntologySelection\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/models/ontology-selection.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n label\n \n \n \n \n location\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n \n \n location: OntologyTreeNode | undefined\n\n \n \n\n\n \n \n Type : OntologyTreeNode | undefined\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { OntologyTreeNode } from 'ccf-database';\n\nexport interface OntologySelection {\n location: OntologyTreeNode | undefined;\n id: string;\n label: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/OntologySelectionComponent.html":{"url":"components/OntologySelectionComponent.html","title":"component - OntologySelectionComponent","body":"\n \n\n\n\n\n\n Components\n \n OntologySelectionComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts\n\n\n\n \n Description\n \n \n Ontology selection component that encapsulates ontology search and tree components.\n\n \n\n\n \n Implements\n \n \n OnChanges\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n \n providers\n \n OntologySearchService\n \n \n\n\n \n selector\n ccf-ontology-selection\n \n\n \n styleUrls\n ./ontology-selection.component.scss\n \n\n\n\n \n templateUrl\n ./ontology-selection.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n ontologySearchService\n \n \n tree\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngOnChanges\n \n \n selected\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n header\n \n \n occurenceData\n \n \n ontologyFilter\n \n \n placeholderText\n \n \n termData\n \n \n treeModel\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n ontologySelection\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ontologySearchService: OntologySearchService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:53\n \n \n\n \n \n Creates an instance of ontology selection component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ontologySearchService\n \n \n OntologySearchService\n \n \n \n No\n \n \n \n Service for searching the ontology.\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n header\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:47\n \n \n \n \n \n \n \n \n \n occurenceData\n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:28\n \n \n \n \n A record of terms within the current filter. To be passed on to ontology-tree\n\n \n \n \n \n \n \n \n \n \n ontologyFilter\n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:45\n \n \n \n \n Input list of selected ontology terms passed down to ontology-tree.\nUsed to change display of ontology tree when selection is made from\noutside the component.\n\n \n \n \n \n \n \n \n \n \n placeholderText\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:48\n \n \n \n \n \n \n \n \n \n termData\n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:33\n \n \n \n \n A record of terms the app currently has data for. To be passed on to ontology-tree\n\n \n \n \n \n \n \n \n \n \n treeModel\n \n \n \n \n Type : OntologyTreeModel\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:38\n \n \n \n \n The ontology tree model to display\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n ontologySelection\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:53\n \n \n \n \n Captures and passes along the change in ontologySelections.\n\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngOnChanges\n \n \n \n \n \n \nngOnChanges(changes: SimpleChanges)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n changes\n \n SimpleChanges\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n selected\n \n \n \n \n \n \nselected(ontologyNode: OntologyTreeNode)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:75\n \n \n\n\n \n \n Ontology selection event when node is selected from the search results.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ontologyNode\n \n OntologyTreeNode\n \n\n \n No\n \n\n\n \n selected ontology node.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n ontologySearchService\n \n \n \n \n \n \n Type : OntologySearchService\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:61\n \n \n\n \n \n Service for searching the ontology.\n \n \n\n \n \n \n \n \n \n \n \n tree\n \n \n \n \n \n \n Type : OntologyTreeComponent\n\n \n \n \n \n Decorators : \n \n \n @ViewChild(OntologyTreeComponent, {static: false})\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:23\n \n \n\n \n \n View child of search component\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { OntologyTreeModel, OntologyTreeNode } from 'ccf-database';\n\nimport { OntologySelection } from '../../../core/models/ontology-selection';\nimport { OntologySearchService } from '../../../core/services/ontology-search/ontology-search.service';\nimport { OntologyTreeComponent } from '../ontology-tree/ontology-tree.component';\n\n\n/**\n * Ontology selection component that encapsulates ontology search and tree components.\n */\n@Component({\n selector: 'ccf-ontology-selection',\n templateUrl: './ontology-selection.component.html',\n styleUrls: ['./ontology-selection.component.scss'],\n providers: [OntologySearchService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OntologySelectionComponent implements OnChanges {\n /**\n * View child of search component\n */\n @ViewChild(OntologyTreeComponent, { static: false }) tree: OntologyTreeComponent;\n\n /**\n * A record of terms within the current filter. To be passed on to ontology-tree\n */\n @Input() occurenceData: Record;\n\n /**\n * A record of terms the app currently has data for. To be passed on to ontology-tree\n */\n @Input() termData: Record;\n\n /**\n * The ontology tree model to display\n */\n @Input() treeModel: OntologyTreeModel;\n\n /**\n * Input list of selected ontology terms passed down to ontology-tree.\n * Used to change display of ontology tree when selection is made from\n * outside the component.\n */\n @Input() ontologyFilter: string[];\n\n @Input() header: boolean;\n @Input() placeholderText: string;\n\n /**\n * Captures and passes along the change in ontologySelections.\n */\n @Output() readonly ontologySelection = new EventEmitter();\n\n /**\n * Creates an instance of ontology selection component.\n *\n * @param ontologySearchService Service for searching the ontology.\n */\n constructor(\n public ontologySearchService: OntologySearchService,\n ) { }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('treeModel' in changes && this.treeModel) {\n this.ontologySearchService.setTreeModel(this.treeModel);\n }\n }\n\n /**\n * Ontology selection event when node is selected from the search results.\n *\n * @param ontologyNode selected ontology node.\n */\n selected(ontologyNode: OntologyTreeNode): void {\n const nodes = this.treeModel?.nodes ?? {};\n this.tree.expandAndSelect(ontologyNode, node => nodes[node.parent]);\n }\n}\n\n \n\n \n \n\n\n \n\n \n \n ./ontology-selection.component.scss\n \n \n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'OntologySelectionComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OntologySelectionModule.html":{"url":"modules/OntologySelectionModule.html","title":"module - OntologySelectionModule","body":"\n \n\n\n\n\n Modules\n OntologySelectionModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_OntologySelectionModule\n\n\n\ncluster_OntologySelectionModule_declarations\n\n\n\ncluster_OntologySelectionModule_imports\n\n\n\ncluster_OntologySelectionModule_OntologySelectionComponent_providers\n\n\n\ncluster_OntologySelectionModule_exports\n\n\n\n\nOntologySelectionComponent\n\nOntologySelectionComponent\n\n\n\nOntologySelectionModule\n\nOntologySelectionModule\n\nOntologySelectionModule -->\n\nOntologySelectionComponent->OntologySelectionModule\n\n\n\n\n\nOntologySelectionComponent \n\nOntologySelectionComponent \n\nOntologySelectionComponent -->\n\nOntologySelectionModule->OntologySelectionComponent \n\n\n\n\n\nOntologySearchService\n\nOntologySearchService\n\nOntologySelectionComponent -->\n\nOntologySearchService->OntologySelectionComponent\n\n\n\n\n\nOntologySearchModule\n\nOntologySearchModule\n\nOntologySelectionModule -->\n\nOntologySearchModule->OntologySelectionModule\n\n\n\n\n\nOntologyTreeModule\n\nOntologyTreeModule\n\nOntologySelectionModule -->\n\nOntologyTreeModule->OntologySelectionModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n OntologySelectionComponent\n \n \n \n \n Imports\n \n \n OntologySearchModule\n \n \n OntologyTreeModule\n \n \n \n \n Exports\n \n \n OntologySelectionComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { OntologySearchModule } from '../ontology-search/ontology-search.module';\nimport { OntologyTreeModule } from '../ontology-tree/ontology-tree.module';\nimport { OntologySelectionComponent } from './ontology-selection.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n OntologySearchModule,\n OntologyTreeModule\n ],\n declarations: [OntologySelectionComponent],\n exports: [OntologySelectionComponent],\n})\nexport class OntologySelectionModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OntologyTreeModule.html":{"url":"modules/OntologyTreeModule.html","title":"module - OntologyTreeModule","body":"\n \n\n\n\n\n Modules\n OntologyTreeModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_OntologyTreeModule\n\n\n\ncluster_OntologyTreeModule_declarations\n\n\n\ncluster_OntologyTreeModule_exports\n\n\n\n\nOntologyTreeComponent\n\nOntologyTreeComponent\n\n\n\nOntologyTreeModule\n\nOntologyTreeModule\n\nOntologyTreeModule -->\n\nOntologyTreeComponent->OntologyTreeModule\n\n\n\n\n\nOntologyTreeComponent \n\nOntologyTreeComponent \n\nOntologyTreeComponent -->\n\nOntologyTreeModule->OntologyTreeComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-tree/ontology-tree.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n OntologyTreeComponent\n \n \n \n \n Exports\n \n \n OntologyTreeComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTreeModule } from '@angular/material/tree';\n\nimport { OntologyTreeComponent } from './ontology-tree.component';\nimport { OpacitySliderModule } from 'ccf-shared';\n\n@NgModule({\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatTooltipModule,\n MatTreeModule,\n OpacitySliderModule\n ],\n declarations: [OntologyTreeComponent],\n exports: [OntologyTreeComponent],\n})\nexport class OntologyTreeModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Position.html":{"url":"interfaces/Position.html","title":"interface - Position","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Position\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport { Action, Actions, ofActionDispatched, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { Filter, getOriginScene, SpatialEntity, SpatialSceneNode, SpatialSearch, TissueBlockResult } from 'ccf-database';\nimport { DataSourceService, OrganInfo } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { forkJoin, Observable } from 'rxjs';\nimport { debounceTime, mergeMap, take, tap } from 'rxjs/operators';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { UpdateFilter } from '../data/data.actions';\nimport { DataStateSelectors } from '../data/data.selectors';\nimport { SceneState } from '../scene/scene.state';\nimport { AddSearch } from '../spatial-search-filter/spatial-search-filter.actions';\nimport { SpatialSearchFilterSelectors } from '../spatial-search-filter/spatial-search-filter.selectors';\nimport {\n GenerateSpatialSearch,\n MoveToNode,\n ResetPosition,\n ResetRadius,\n SetExecuteSearchOnGenerate,\n SetOrgan,\n SetPosition,\n SetRadius,\n SetSex,\n StartSpatialSearchFlow,\n UpdateSpatialSearch,\n} from './spatial-search-ui.actions';\n\n\nexport interface Position {\n x: number;\n y: number;\n z: number;\n}\n\nexport interface RadiusSettings {\n min: number;\n max: number;\n defaultValue: number;\n}\n\nexport interface TermResult {\n '@id': string;\n label: string;\n count: number;\n}\n\nexport interface SpatialSearchUiModel {\n sex: Sex;\n organId?: string;\n position?: Position;\n radius?: number;\n\n defaultPosition?: Position;\n radiusSettings?: RadiusSettings;\n\n referenceOrgans?: OrganInfo[];\n organScene?: SpatialSceneNode[];\n\n spatialSearchScene?: SpatialSceneNode[];\n tissueBlocks?: TissueBlockResult[];\n anatomicalStructures?: Record;\n cellTypes?: Record;\n\n executeSearchOnGeneration: boolean;\n}\n\nclass ReallyUpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Really update spatial search data';\n}\n\n\n@State({\n name: 'spatialSearchUi',\n defaults: {\n sex: 'female',\n executeSearchOnGeneration: true\n }\n})\n@Injectable()\nexport class SpatialSearchUiState {\n @Selector([SpatialSearchUiState, SceneState.referenceOrganEntities])\n static organEntity(state: SpatialSearchUiModel, organs: SpatialEntity[]): SpatialEntity | undefined {\n const { organId, sex } = state;\n return organs.find(o => o.representation_of === organId && o.sex?.toLowerCase() === sex);\n }\n\n constructor(\n private readonly dataSource: DataSourceService,\n private readonly store: Store,\n actions$: Actions,\n private readonly ga: GoogleAnalyticsService\n ) {\n actions$.pipe(\n ofActionDispatched(UpdateSpatialSearch),\n debounceTime(500),\n tap(() => store.dispatch(ReallyUpdateSpatialSearch))\n ).subscribe();\n }\n\n @Action(StartSpatialSearchFlow)\n startSpatialSearchFlow(ctx: StateContext): Observable {\n const { sex, organId } = ctx.getState();\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', `${sex}_${shortOrgan}`);\n\n return ctx.dispatch(new SetSex(sex));\n }\n\n /**\n * Updates sex in the SpatialSearchUI and sets selected organ to undefined if not valid for the sex\n */\n @Action(SetSex)\n setSex(ctx: StateContext, { sex }: SetSex): Observable | void {\n let { organId } = ctx.getState();\n ctx.patchState({ sex });\n this.ga.event('set_sex', 'spatial_search_ui', sex);\n\n if (organId !== undefined && !this.organValidForSex(organId, sex)) {\n organId = undefined;\n }\n\n const filter = {\n ...this.store.selectSnapshot(DataStateSelectors.filter),\n spatialSearches: []\n };\n const referenceOrgans = this.store.selectSnapshot(SceneState.referenceOrgans);\n\n return this.dataSource.getOntologyTermOccurences(filter).pipe(\n take(1),\n tap((counts: Record) => {\n ctx.patchState({\n referenceOrgans: referenceOrgans.filter((o) => o.id && !o.disabled && counts[o.id] > 0)\n });\n ctx.dispatch(new SetOrgan(organId));\n })\n );\n }\n\n /**\n * Updates organId in the SpatialSearchUI\n */\n @Action(SetOrgan)\n setOrgan(ctx: StateContext, { organId }: SetOrgan): Observable | void {\n const { sex } = ctx.getState();\n ctx.patchState({ sex, organId });\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', shortOrgan);\n\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && organId && organ.sex) {\n const { x_dimension: width, y_dimension: height, z_dimension: depth } = organ;\n const position = { x: Math.round(width / 2), y: Math.round(height / 2), z: Math.round(depth / 2) };\n const defaultRadius = Math.round(Math.max(width, height, depth) * 0.07);\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter = {\n ...globalFilter,\n sex: organ.sex,\n ontologyTerms: [organId],\n spatialSearches: []\n };\n\n return this.dataSource\n .getReferenceOrganScene(organId, filter)\n .pipe(\n take(1),\n tap((organScene: SpatialSceneNode[]) => {\n ctx.patchState({\n position,\n radius: defaultRadius,\n defaultPosition: position,\n radiusSettings: { min: Math.min(defaultRadius, 5), max: Math.floor(Math.max(width, height, depth) / 1.5), defaultValue: defaultRadius },\n organScene: getOriginScene(organ).concat(organScene)\n });\n }),\n mergeMap(() => ctx.dispatch(new UpdateSpatialSearch()))\n );\n }\n }\n\n /**\n * Updates position in the SpatialSearchUI\n */\n @Action(SetPosition)\n setPosition(ctx: StateContext, { position }: SetPosition): void {\n ctx.patchState({ position });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = position;\n this.ga.event('set_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(ResetPosition)\n resetPosition(ctx: StateContext): void {\n const { defaultPosition } = ctx.getState();\n ctx.patchState({ position: defaultPosition });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = defaultPosition ?? { x: 0, y: 0, z: 0 };\n this.ga.event('reset_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(MoveToNode)\n moveToNode(ctx: StateContext, { node }: MoveToNode): Observable | void {\n const matrix = new Matrix4(node.transformMatrix);\n const [x, y, z] = matrix.getTranslation().map(n => Math.round(n * 1000));\n const position: Position = { x, y, z };\n\n return ctx.dispatch(new SetPosition(position));\n }\n\n /**\n * Updates radius in the SpatialSearchUI\n */\n @Action(SetRadius)\n setRadius(ctx: StateContext, { radius }: SetRadius): void {\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('set_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n @Action(ResetRadius)\n resetRadius(ctx: StateContext): void {\n const { radiusSettings } = ctx.getState();\n const radius = radiusSettings?.defaultValue ?? 0;\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('reset_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n /**\n * Updates the spatial search data as the organ, position, and radius changes\n */\n @Action(ReallyUpdateSpatialSearch)\n updateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && position && radius && organ.representation_of) {\n const db = this.dataSource;\n const organId = organ.representation_of;\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter: Filter = {\n ...globalFilter,\n sex: organ.sex as 'Male' | 'Female',\n ontologyTerms: [organId],\n spatialSearches: [{\n ...position,\n radius: radius,\n target: organ['@id']\n }]\n };\n\n return forkJoin({\n spatialSearchScene: db.getReferenceOrganScene(organId, filter).pipe(take(1)),\n tissueBlocks: db.getTissueBlockResults(filter).pipe(take(1)),\n anatomicalStructures: db.getOntologyTermOccurences(filter).pipe(take(1)),\n cellTypes: db.getCellTypeTermOccurences(filter).pipe(take(1))\n }).pipe(\n tap((data: Partial) => ctx.patchState(data))\n );\n }\n }\n\n /**\n * Generates and adds a new spatial search then resets the ui state\n */\n @Action(GenerateSpatialSearch)\n generateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius, sex, organId, referenceOrgans = [], executeSearchOnGeneration } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n const info = referenceOrgans.find(item => item.id === organId);\n // const { spatialSearches = [] } = this.store.selectSnapshot(DataStateSelectors.filter);\n\n if (position && radius && organ?.representation_of && info) {\n const search: SpatialSearch = {\n ...position,\n radius,\n target: organ['@id']\n };\n const actions: unknown[] = [new AddSearch(sex, info.name, search)];\n\n if (executeSearchOnGeneration) {\n const searches = this.store.selectSnapshot(SpatialSearchFilterSelectors.selectedSearches);\n actions.push(new UpdateFilter({\n spatialSearches: searches.concat(search)\n }));\n }\n\n this.ga.event('generate_search', 'spatial_search_ui');\n return ctx.dispatch(actions).pipe(\n tap(() => ctx.patchState({\n sex: 'female',\n organId: undefined\n }))\n );\n }\n }\n\n @Action(SetExecuteSearchOnGenerate)\n setExecuteSearchOnGenerate(ctx: StateContext, { execute }: SetExecuteSearchOnGenerate): void {\n ctx.patchState({\n executeSearchOnGeneration: execute\n });\n }\n\n /**\n * Used to determine if an organ should be listed if a certain sex is selected\n */\n private organValidForSex(organId: string, sex: Sex): boolean {\n const organs = this.store.selectSnapshot(SceneState.referenceOrgans);\n const organ = organs.find(o => o.id === organId)!;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return organ.hasSex || organ.sex === sex;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RadiusSettings.html":{"url":"interfaces/RadiusSettings.html","title":"interface - RadiusSettings","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RadiusSettings\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n defaultValue\n \n \n \n \n max\n \n \n \n \n min\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n defaultValue\n \n \n \n \n \n \n \n \n defaultValue: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n max\n \n \n \n \n \n \n \n \n max: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n min\n \n \n \n \n \n \n \n \n min: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport { Action, Actions, ofActionDispatched, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { Filter, getOriginScene, SpatialEntity, SpatialSceneNode, SpatialSearch, TissueBlockResult } from 'ccf-database';\nimport { DataSourceService, OrganInfo } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { forkJoin, Observable } from 'rxjs';\nimport { debounceTime, mergeMap, take, tap } from 'rxjs/operators';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { UpdateFilter } from '../data/data.actions';\nimport { DataStateSelectors } from '../data/data.selectors';\nimport { SceneState } from '../scene/scene.state';\nimport { AddSearch } from '../spatial-search-filter/spatial-search-filter.actions';\nimport { SpatialSearchFilterSelectors } from '../spatial-search-filter/spatial-search-filter.selectors';\nimport {\n GenerateSpatialSearch,\n MoveToNode,\n ResetPosition,\n ResetRadius,\n SetExecuteSearchOnGenerate,\n SetOrgan,\n SetPosition,\n SetRadius,\n SetSex,\n StartSpatialSearchFlow,\n UpdateSpatialSearch,\n} from './spatial-search-ui.actions';\n\n\nexport interface Position {\n x: number;\n y: number;\n z: number;\n}\n\nexport interface RadiusSettings {\n min: number;\n max: number;\n defaultValue: number;\n}\n\nexport interface TermResult {\n '@id': string;\n label: string;\n count: number;\n}\n\nexport interface SpatialSearchUiModel {\n sex: Sex;\n organId?: string;\n position?: Position;\n radius?: number;\n\n defaultPosition?: Position;\n radiusSettings?: RadiusSettings;\n\n referenceOrgans?: OrganInfo[];\n organScene?: SpatialSceneNode[];\n\n spatialSearchScene?: SpatialSceneNode[];\n tissueBlocks?: TissueBlockResult[];\n anatomicalStructures?: Record;\n cellTypes?: Record;\n\n executeSearchOnGeneration: boolean;\n}\n\nclass ReallyUpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Really update spatial search data';\n}\n\n\n@State({\n name: 'spatialSearchUi',\n defaults: {\n sex: 'female',\n executeSearchOnGeneration: true\n }\n})\n@Injectable()\nexport class SpatialSearchUiState {\n @Selector([SpatialSearchUiState, SceneState.referenceOrganEntities])\n static organEntity(state: SpatialSearchUiModel, organs: SpatialEntity[]): SpatialEntity | undefined {\n const { organId, sex } = state;\n return organs.find(o => o.representation_of === organId && o.sex?.toLowerCase() === sex);\n }\n\n constructor(\n private readonly dataSource: DataSourceService,\n private readonly store: Store,\n actions$: Actions,\n private readonly ga: GoogleAnalyticsService\n ) {\n actions$.pipe(\n ofActionDispatched(UpdateSpatialSearch),\n debounceTime(500),\n tap(() => store.dispatch(ReallyUpdateSpatialSearch))\n ).subscribe();\n }\n\n @Action(StartSpatialSearchFlow)\n startSpatialSearchFlow(ctx: StateContext): Observable {\n const { sex, organId } = ctx.getState();\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', `${sex}_${shortOrgan}`);\n\n return ctx.dispatch(new SetSex(sex));\n }\n\n /**\n * Updates sex in the SpatialSearchUI and sets selected organ to undefined if not valid for the sex\n */\n @Action(SetSex)\n setSex(ctx: StateContext, { sex }: SetSex): Observable | void {\n let { organId } = ctx.getState();\n ctx.patchState({ sex });\n this.ga.event('set_sex', 'spatial_search_ui', sex);\n\n if (organId !== undefined && !this.organValidForSex(organId, sex)) {\n organId = undefined;\n }\n\n const filter = {\n ...this.store.selectSnapshot(DataStateSelectors.filter),\n spatialSearches: []\n };\n const referenceOrgans = this.store.selectSnapshot(SceneState.referenceOrgans);\n\n return this.dataSource.getOntologyTermOccurences(filter).pipe(\n take(1),\n tap((counts: Record) => {\n ctx.patchState({\n referenceOrgans: referenceOrgans.filter((o) => o.id && !o.disabled && counts[o.id] > 0)\n });\n ctx.dispatch(new SetOrgan(organId));\n })\n );\n }\n\n /**\n * Updates organId in the SpatialSearchUI\n */\n @Action(SetOrgan)\n setOrgan(ctx: StateContext, { organId }: SetOrgan): Observable | void {\n const { sex } = ctx.getState();\n ctx.patchState({ sex, organId });\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', shortOrgan);\n\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && organId && organ.sex) {\n const { x_dimension: width, y_dimension: height, z_dimension: depth } = organ;\n const position = { x: Math.round(width / 2), y: Math.round(height / 2), z: Math.round(depth / 2) };\n const defaultRadius = Math.round(Math.max(width, height, depth) * 0.07);\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter = {\n ...globalFilter,\n sex: organ.sex,\n ontologyTerms: [organId],\n spatialSearches: []\n };\n\n return this.dataSource\n .getReferenceOrganScene(organId, filter)\n .pipe(\n take(1),\n tap((organScene: SpatialSceneNode[]) => {\n ctx.patchState({\n position,\n radius: defaultRadius,\n defaultPosition: position,\n radiusSettings: { min: Math.min(defaultRadius, 5), max: Math.floor(Math.max(width, height, depth) / 1.5), defaultValue: defaultRadius },\n organScene: getOriginScene(organ).concat(organScene)\n });\n }),\n mergeMap(() => ctx.dispatch(new UpdateSpatialSearch()))\n );\n }\n }\n\n /**\n * Updates position in the SpatialSearchUI\n */\n @Action(SetPosition)\n setPosition(ctx: StateContext, { position }: SetPosition): void {\n ctx.patchState({ position });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = position;\n this.ga.event('set_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(ResetPosition)\n resetPosition(ctx: StateContext): void {\n const { defaultPosition } = ctx.getState();\n ctx.patchState({ position: defaultPosition });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = defaultPosition ?? { x: 0, y: 0, z: 0 };\n this.ga.event('reset_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(MoveToNode)\n moveToNode(ctx: StateContext, { node }: MoveToNode): Observable | void {\n const matrix = new Matrix4(node.transformMatrix);\n const [x, y, z] = matrix.getTranslation().map(n => Math.round(n * 1000));\n const position: Position = { x, y, z };\n\n return ctx.dispatch(new SetPosition(position));\n }\n\n /**\n * Updates radius in the SpatialSearchUI\n */\n @Action(SetRadius)\n setRadius(ctx: StateContext, { radius }: SetRadius): void {\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('set_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n @Action(ResetRadius)\n resetRadius(ctx: StateContext): void {\n const { radiusSettings } = ctx.getState();\n const radius = radiusSettings?.defaultValue ?? 0;\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('reset_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n /**\n * Updates the spatial search data as the organ, position, and radius changes\n */\n @Action(ReallyUpdateSpatialSearch)\n updateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && position && radius && organ.representation_of) {\n const db = this.dataSource;\n const organId = organ.representation_of;\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter: Filter = {\n ...globalFilter,\n sex: organ.sex as 'Male' | 'Female',\n ontologyTerms: [organId],\n spatialSearches: [{\n ...position,\n radius: radius,\n target: organ['@id']\n }]\n };\n\n return forkJoin({\n spatialSearchScene: db.getReferenceOrganScene(organId, filter).pipe(take(1)),\n tissueBlocks: db.getTissueBlockResults(filter).pipe(take(1)),\n anatomicalStructures: db.getOntologyTermOccurences(filter).pipe(take(1)),\n cellTypes: db.getCellTypeTermOccurences(filter).pipe(take(1))\n }).pipe(\n tap((data: Partial) => ctx.patchState(data))\n );\n }\n }\n\n /**\n * Generates and adds a new spatial search then resets the ui state\n */\n @Action(GenerateSpatialSearch)\n generateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius, sex, organId, referenceOrgans = [], executeSearchOnGeneration } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n const info = referenceOrgans.find(item => item.id === organId);\n // const { spatialSearches = [] } = this.store.selectSnapshot(DataStateSelectors.filter);\n\n if (position && radius && organ?.representation_of && info) {\n const search: SpatialSearch = {\n ...position,\n radius,\n target: organ['@id']\n };\n const actions: unknown[] = [new AddSearch(sex, info.name, search)];\n\n if (executeSearchOnGeneration) {\n const searches = this.store.selectSnapshot(SpatialSearchFilterSelectors.selectedSearches);\n actions.push(new UpdateFilter({\n spatialSearches: searches.concat(search)\n }));\n }\n\n this.ga.event('generate_search', 'spatial_search_ui');\n return ctx.dispatch(actions).pipe(\n tap(() => ctx.patchState({\n sex: 'female',\n organId: undefined\n }))\n );\n }\n }\n\n @Action(SetExecuteSearchOnGenerate)\n setExecuteSearchOnGenerate(ctx: StateContext, { execute }: SetExecuteSearchOnGenerate): void {\n ctx.patchState({\n executeSearchOnGeneration: execute\n });\n }\n\n /**\n * Used to determine if an organ should be listed if a certain sex is selected\n */\n private organValidForSex(organId: string, sex: Sex): boolean {\n const organs = this.store.selectSnapshot(SceneState.referenceOrgans);\n const organ = organs.find(o => o.id === organId)!;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return organ.hasSex || organ.sex === sex;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ReallyUpdateSpatialSearch.html":{"url":"classes/ReallyUpdateSpatialSearch.html","title":"class - ReallyUpdateSpatialSearch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ReallyUpdateSpatialSearch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Really update spatial search data'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:70\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport { Action, Actions, ofActionDispatched, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { Filter, getOriginScene, SpatialEntity, SpatialSceneNode, SpatialSearch, TissueBlockResult } from 'ccf-database';\nimport { DataSourceService, OrganInfo } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { forkJoin, Observable } from 'rxjs';\nimport { debounceTime, mergeMap, take, tap } from 'rxjs/operators';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { UpdateFilter } from '../data/data.actions';\nimport { DataStateSelectors } from '../data/data.selectors';\nimport { SceneState } from '../scene/scene.state';\nimport { AddSearch } from '../spatial-search-filter/spatial-search-filter.actions';\nimport { SpatialSearchFilterSelectors } from '../spatial-search-filter/spatial-search-filter.selectors';\nimport {\n GenerateSpatialSearch,\n MoveToNode,\n ResetPosition,\n ResetRadius,\n SetExecuteSearchOnGenerate,\n SetOrgan,\n SetPosition,\n SetRadius,\n SetSex,\n StartSpatialSearchFlow,\n UpdateSpatialSearch,\n} from './spatial-search-ui.actions';\n\n\nexport interface Position {\n x: number;\n y: number;\n z: number;\n}\n\nexport interface RadiusSettings {\n min: number;\n max: number;\n defaultValue: number;\n}\n\nexport interface TermResult {\n '@id': string;\n label: string;\n count: number;\n}\n\nexport interface SpatialSearchUiModel {\n sex: Sex;\n organId?: string;\n position?: Position;\n radius?: number;\n\n defaultPosition?: Position;\n radiusSettings?: RadiusSettings;\n\n referenceOrgans?: OrganInfo[];\n organScene?: SpatialSceneNode[];\n\n spatialSearchScene?: SpatialSceneNode[];\n tissueBlocks?: TissueBlockResult[];\n anatomicalStructures?: Record;\n cellTypes?: Record;\n\n executeSearchOnGeneration: boolean;\n}\n\nclass ReallyUpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Really update spatial search data';\n}\n\n\n@State({\n name: 'spatialSearchUi',\n defaults: {\n sex: 'female',\n executeSearchOnGeneration: true\n }\n})\n@Injectable()\nexport class SpatialSearchUiState {\n @Selector([SpatialSearchUiState, SceneState.referenceOrganEntities])\n static organEntity(state: SpatialSearchUiModel, organs: SpatialEntity[]): SpatialEntity | undefined {\n const { organId, sex } = state;\n return organs.find(o => o.representation_of === organId && o.sex?.toLowerCase() === sex);\n }\n\n constructor(\n private readonly dataSource: DataSourceService,\n private readonly store: Store,\n actions$: Actions,\n private readonly ga: GoogleAnalyticsService\n ) {\n actions$.pipe(\n ofActionDispatched(UpdateSpatialSearch),\n debounceTime(500),\n tap(() => store.dispatch(ReallyUpdateSpatialSearch))\n ).subscribe();\n }\n\n @Action(StartSpatialSearchFlow)\n startSpatialSearchFlow(ctx: StateContext): Observable {\n const { sex, organId } = ctx.getState();\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', `${sex}_${shortOrgan}`);\n\n return ctx.dispatch(new SetSex(sex));\n }\n\n /**\n * Updates sex in the SpatialSearchUI and sets selected organ to undefined if not valid for the sex\n */\n @Action(SetSex)\n setSex(ctx: StateContext, { sex }: SetSex): Observable | void {\n let { organId } = ctx.getState();\n ctx.patchState({ sex });\n this.ga.event('set_sex', 'spatial_search_ui', sex);\n\n if (organId !== undefined && !this.organValidForSex(organId, sex)) {\n organId = undefined;\n }\n\n const filter = {\n ...this.store.selectSnapshot(DataStateSelectors.filter),\n spatialSearches: []\n };\n const referenceOrgans = this.store.selectSnapshot(SceneState.referenceOrgans);\n\n return this.dataSource.getOntologyTermOccurences(filter).pipe(\n take(1),\n tap((counts: Record) => {\n ctx.patchState({\n referenceOrgans: referenceOrgans.filter((o) => o.id && !o.disabled && counts[o.id] > 0)\n });\n ctx.dispatch(new SetOrgan(organId));\n })\n );\n }\n\n /**\n * Updates organId in the SpatialSearchUI\n */\n @Action(SetOrgan)\n setOrgan(ctx: StateContext, { organId }: SetOrgan): Observable | void {\n const { sex } = ctx.getState();\n ctx.patchState({ sex, organId });\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', shortOrgan);\n\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && organId && organ.sex) {\n const { x_dimension: width, y_dimension: height, z_dimension: depth } = organ;\n const position = { x: Math.round(width / 2), y: Math.round(height / 2), z: Math.round(depth / 2) };\n const defaultRadius = Math.round(Math.max(width, height, depth) * 0.07);\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter = {\n ...globalFilter,\n sex: organ.sex,\n ontologyTerms: [organId],\n spatialSearches: []\n };\n\n return this.dataSource\n .getReferenceOrganScene(organId, filter)\n .pipe(\n take(1),\n tap((organScene: SpatialSceneNode[]) => {\n ctx.patchState({\n position,\n radius: defaultRadius,\n defaultPosition: position,\n radiusSettings: { min: Math.min(defaultRadius, 5), max: Math.floor(Math.max(width, height, depth) / 1.5), defaultValue: defaultRadius },\n organScene: getOriginScene(organ).concat(organScene)\n });\n }),\n mergeMap(() => ctx.dispatch(new UpdateSpatialSearch()))\n );\n }\n }\n\n /**\n * Updates position in the SpatialSearchUI\n */\n @Action(SetPosition)\n setPosition(ctx: StateContext, { position }: SetPosition): void {\n ctx.patchState({ position });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = position;\n this.ga.event('set_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(ResetPosition)\n resetPosition(ctx: StateContext): void {\n const { defaultPosition } = ctx.getState();\n ctx.patchState({ position: defaultPosition });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = defaultPosition ?? { x: 0, y: 0, z: 0 };\n this.ga.event('reset_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(MoveToNode)\n moveToNode(ctx: StateContext, { node }: MoveToNode): Observable | void {\n const matrix = new Matrix4(node.transformMatrix);\n const [x, y, z] = matrix.getTranslation().map(n => Math.round(n * 1000));\n const position: Position = { x, y, z };\n\n return ctx.dispatch(new SetPosition(position));\n }\n\n /**\n * Updates radius in the SpatialSearchUI\n */\n @Action(SetRadius)\n setRadius(ctx: StateContext, { radius }: SetRadius): void {\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('set_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n @Action(ResetRadius)\n resetRadius(ctx: StateContext): void {\n const { radiusSettings } = ctx.getState();\n const radius = radiusSettings?.defaultValue ?? 0;\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('reset_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n /**\n * Updates the spatial search data as the organ, position, and radius changes\n */\n @Action(ReallyUpdateSpatialSearch)\n updateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && position && radius && organ.representation_of) {\n const db = this.dataSource;\n const organId = organ.representation_of;\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter: Filter = {\n ...globalFilter,\n sex: organ.sex as 'Male' | 'Female',\n ontologyTerms: [organId],\n spatialSearches: [{\n ...position,\n radius: radius,\n target: organ['@id']\n }]\n };\n\n return forkJoin({\n spatialSearchScene: db.getReferenceOrganScene(organId, filter).pipe(take(1)),\n tissueBlocks: db.getTissueBlockResults(filter).pipe(take(1)),\n anatomicalStructures: db.getOntologyTermOccurences(filter).pipe(take(1)),\n cellTypes: db.getCellTypeTermOccurences(filter).pipe(take(1))\n }).pipe(\n tap((data: Partial) => ctx.patchState(data))\n );\n }\n }\n\n /**\n * Generates and adds a new spatial search then resets the ui state\n */\n @Action(GenerateSpatialSearch)\n generateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius, sex, organId, referenceOrgans = [], executeSearchOnGeneration } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n const info = referenceOrgans.find(item => item.id === organId);\n // const { spatialSearches = [] } = this.store.selectSnapshot(DataStateSelectors.filter);\n\n if (position && radius && organ?.representation_of && info) {\n const search: SpatialSearch = {\n ...position,\n radius,\n target: organ['@id']\n };\n const actions: unknown[] = [new AddSearch(sex, info.name, search)];\n\n if (executeSearchOnGeneration) {\n const searches = this.store.selectSnapshot(SpatialSearchFilterSelectors.selectedSearches);\n actions.push(new UpdateFilter({\n spatialSearches: searches.concat(search)\n }));\n }\n\n this.ga.event('generate_search', 'spatial_search_ui');\n return ctx.dispatch(actions).pipe(\n tap(() => ctx.patchState({\n sex: 'female',\n organId: undefined\n }))\n );\n }\n }\n\n @Action(SetExecuteSearchOnGenerate)\n setExecuteSearchOnGenerate(ctx: StateContext, { execute }: SetExecuteSearchOnGenerate): void {\n ctx.patchState({\n executeSearchOnGeneration: execute\n });\n }\n\n /**\n * Used to determine if an organ should be listed if a certain sex is selected\n */\n private organValidForSex(organId: string, sex: Sex): boolean {\n const organs = this.store.selectSnapshot(SceneState.referenceOrgans);\n const organ = organs.find(o => o.id === organId)!;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return organ.hasSex || organ.sex === sex;\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RemoveSearch.html":{"url":"classes/RemoveSearch.html","title":"class - RemoveSearch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RemoveSearch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: string)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[Spatial Search Filter] Remove'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSearch } from 'ccf-database';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\n\nimport type { SpatialSearchFilterItem } from './spatial-search-filter.state';\n\n\nexport class AddSearch {\n static readonly type = '[Spatial Search Filter] Add';\n\n constructor(readonly sex: Sex, readonly organName: string, readonly search: SpatialSearch) { }\n}\n\nexport class RemoveSearch {\n static readonly type = '[Spatial Search Filter] Remove';\n\n constructor(readonly id: string) { }\n}\n\nexport class SetSelectedSearches {\n static readonly type = '[Spatial Search Filter] Set selected searches';\n\n constructor(readonly items: SpatialSearchFilterItem[]) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResetPosition.html":{"url":"classes/ResetPosition.html","title":"class - ResetPosition","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResetPosition\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Reset position'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:32\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResetRadius.html":{"url":"classes/ResetRadius.html","title":"class - ResetRadius","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResetRadius\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Reset radius'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:42\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ResultsBrowserComponent.html":{"url":"components/ResultsBrowserComponent.html","title":"component - ResultsBrowserComponent","body":"\n \n\n\n\n\n\n Components\n \n ResultsBrowserComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts\n\n\n\n \n Description\n \n \n ResultsBrowser is the container component in charge of rendering the label and stats of\nthe results as well as handling the virtual scrolling and click emitters of\nResultsBrowserItems.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-results-browser\n \n\n \n styleUrls\n ./results-browser.component.scss\n \n\n\n\n \n templateUrl\n ./results-browser.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n atScrollBottom\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleHover\n \n \n handleLinkClick\n \n \n handleSelection\n \n \n handleUnhover\n \n \n onScroll\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n aggregateData\n \n \n header\n \n \n highlighted\n \n \n listResults\n \n \n resultLabel\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n itemHovered\n \n \n itemUnhovered\n \n \n linkClicked\n \n \n listResultDeselected\n \n \n listResultSelected\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:64\n \n \n\n \n \n Creates an instance of results browser component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n aggregateData\n \n \n \n \n Type : Immutable\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:29\n \n \n \n \n Input used to add a list of stats at the top the results browser\n\n \n \n \n \n \n \n \n \n \n header\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:38\n \n \n \n \n \n \n \n \n \n highlighted\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:36\n \n \n \n \n \n \n \n \n \n listResults\n \n \n \n \n Type : Immutable\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:24\n \n \n \n \n Input array of List Results to display\n\n \n \n \n \n \n \n \n \n \n resultLabel\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:34\n \n \n \n \n Input allowing the title of the result browser to be set outside of the component\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n itemHovered\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:56\n \n \n \n \n \n \n \n \n \n itemUnhovered\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:58\n \n \n \n \n \n \n \n \n \n linkClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:44\n \n \n \n \n Output emitting the result that was clicked on and its relevant information.\nUsed for opening and rendering the result viewer.\n\n \n \n \n \n \n \n \n \n \n listResultDeselected\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:54\n \n \n \n \n Output emitting the link result deselected\n\n \n \n \n \n \n \n \n \n \n listResultSelected\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:49\n \n \n \n \n Output emitting the link result selected\n\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleHover\n \n \n \n \n \n \nhandleHover(id: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:111\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n handleLinkClick\n \n \n \n \n \n \nhandleLinkClick(link: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:93\n \n \n\n\n \n \n Notifies on link click\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n link\n \n string\n \n\n \n No\n \n\n\n \n the link clicked\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n handleSelection\n \n \n \n \n \n \nhandleSelection(result: Immutable, selected: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:79\n \n \n\n\n \n \n Notifies listeners when a selection/deselection is made\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n result\n \n Immutable\n \n\n \n No\n \n\n\n \n the list result\n\n \n \n \n selected\n \n boolean\n \n\n \n No\n \n\n\n \n whether to select or deselect the result\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n handleUnhover\n \n \n \n \n \n \nhandleUnhover()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:115\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n onScroll\n \n \n \n \n \n \nonScroll(event: UIEvent)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:102\n \n \n\n\n \n \n Handles the scroll event to detect when scroll is at the bottom.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n UIEvent\n \n\n \n No\n \n\n\n \n The scroll event.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n atScrollBottom\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:64\n \n \n\n \n \n Keeps track of whether or not the virtual scroll viewport is scrolled all the way to the bottom.\nUsed to determine whether or not to render the gradient at the bottom.\n\n \n \n\n \n \n\n\n\n\n\n \n import { Immutable } from '@angular-ru/common/typings/immutability';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AggregateResult } from 'ccf-database';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { ListResult } from '../../../core/models/list-result';\n\n\n/**\n * ResultsBrowser is the container component in charge of rendering the label and stats of\n * the results as well as handling the virtual scrolling and click emitters of\n * ResultsBrowserItems.\n */\n@Component({\n selector: 'ccf-results-browser',\n templateUrl: './results-browser.component.html',\n styleUrls: ['./results-browser.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ResultsBrowserComponent {\n /**\n * Input array of List Results to display\n */\n @Input() listResults: Immutable;\n\n /**\n * Input used to add a list of stats at the top the results browser\n */\n @Input() aggregateData: Immutable;\n\n /**\n * Input allowing the title of the result browser to be set outside of the component\n */\n @Input() resultLabel: string;\n\n @Input() highlighted: string;\n\n @Input() header: boolean;\n\n /**\n * Output emitting the result that was clicked on and its relevant information.\n * Used for opening and rendering the result viewer.\n */\n @Output() readonly linkClicked = new EventEmitter();\n\n /**\n * Output emitting the link result selected\n */\n @Output() readonly listResultSelected = new EventEmitter>();\n\n /**\n * Output emitting the link result deselected\n */\n @Output() readonly listResultDeselected = new EventEmitter>();\n\n @Output() readonly itemHovered = new EventEmitter();\n\n @Output() readonly itemUnhovered = new EventEmitter();\n\n /**\n * Keeps track of whether or not the virtual scroll viewport is scrolled all the way to the bottom.\n * Used to determine whether or not to render the gradient at the bottom.\n */\n atScrollBottom = false;\n\n /**\n * Creates an instance of results browser component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Notifies listeners when a selection/deselection is made\n *\n * @param result the list result\n * @param selected whether to select or deselect the result\n */\n handleSelection(result: Immutable, selected: boolean): void {\n this.ga.event('list_result_selected', 'results_browser', this.resultLabel, +selected);\n if (selected) {\n this.listResultSelected.next(result);\n } else {\n this.listResultDeselected.next(result);\n }\n }\n\n /**\n * Notifies on link click\n *\n * @param link the link clicked\n */\n handleLinkClick(link: string): void {\n this.linkClicked.emit(link);\n }\n\n /**\n * Handles the scroll event to detect when scroll is at the bottom.\n *\n * @param event The scroll event.\n */\n onScroll(event: UIEvent): void {\n if (!event.target) {\n return;\n }\n const { clientHeight, scrollHeight, scrollTop } = event.target as Element;\n const diff = scrollHeight - scrollTop - clientHeight;\n this.atScrollBottom = diff \n \n\n \n \n \n {{ resultLabel }}\n \n {{stat.count}}\n {{stat.label}}\n \n \n\n \n \n \n \n \n \n\n\n \n\n \n \n ./results-browser.component.scss\n \n .results-browser-container {\n display: flex;\n flex-direction: column;\n height: calc(100% - 3rem);\n padding: 0 1.5rem 1.5rem 1.5rem;\n\n .stat-box {\n margin-bottom: 1.5rem;\n line-height: 1.25;\n min-height: 7.75rem;\n\n #title {\n font-size: 1.25rem;\n margin-bottom: 0.75rem;\n }\n\n .stat-row {\n display: flex;\n flex-direction: row;\n\n .stat-value {\n margin-right: 1rem;\n width: 5.5rem;\n text-align: right;\n font-weight: 600;\n }\n .stat-label {\n font-weight: 300;\n }\n }\n }\n\n .results-browser-list {\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n scrollbar-width: thin;\n padding-right: .5rem;\n height: calc(100vh - 20rem);\n\n &.header-hidden {\n height: calc(100vh - 16rem);\n }\n\n .browser-item-container {\n width: 100%;\n }\n }\n\n .scroll-gradient {\n position: absolute;\n height: 3rem;\n width: 95%;\n bottom: 0;\n pointer-events: none;\n\n\n &.hidden {\n display: none;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ resultLabel }} {{stat.count}} {{stat.label}} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ResultsBrowserComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ResultsBrowserModule.html":{"url":"modules/ResultsBrowserModule.html","title":"module - ResultsBrowserModule","body":"\n \n\n\n\n\n Modules\n ResultsBrowserModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ResultsBrowserModule\n\n\n\ncluster_ResultsBrowserModule_imports\n\n\n\ncluster_ResultsBrowserModule_declarations\n\n\n\ncluster_ResultsBrowserModule_exports\n\n\n\n\nResultsBrowserComponent\n\nResultsBrowserComponent\n\n\n\nResultsBrowserModule\n\nResultsBrowserModule\n\nResultsBrowserModule -->\n\nResultsBrowserComponent->ResultsBrowserModule\n\n\n\n\n\nResultsBrowserComponent \n\nResultsBrowserComponent \n\nResultsBrowserComponent -->\n\nResultsBrowserModule->ResultsBrowserComponent \n\n\n\n\n\nDonorCardModule\n\nDonorCardModule\n\nResultsBrowserModule -->\n\nDonorCardModule->ResultsBrowserModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ResultsBrowserComponent\n \n \n \n \n Imports\n \n \n DonorCardModule\n \n \n \n \n Exports\n \n \n ResultsBrowserComponent\n \n \n \n \n \n\n\n \n\n\n \n import { ScrollingModule } from '@angular/cdk/scrolling';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ResultsBrowserComponent } from './results-browser.component';\nimport { DonorCardModule } from '../donor-card/donor-card.module';\n\n\n@NgModule({\n declarations: [ResultsBrowserComponent],\n imports: [\n CommonModule,\n ScrollingModule,\n DonorCardModule\n ],\n exports: [ResultsBrowserComponent]\n})\nexport class ResultsBrowserModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RunSpatialSearchComponent.html":{"url":"components/RunSpatialSearchComponent.html","title":"component - RunSpatialSearchComponent","body":"\n \n\n\n\n\n\n Components\n \n RunSpatialSearchComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/run-spatial-search/run-spatial-search.component.ts\n\n\n\n \n Description\n \n \n Button that opens up the Spatial Search config\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-run-spatial-search\n \n\n \n styleUrls\n ./run-spatial-search.component.scss\n \n\n\n\n \n templateUrl\n ./run-spatial-search.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n startSpatialSearchFlow\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(store: Store, dialog: MatDialog)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/run-spatial-search/run-spatial-search.component.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n store\n \n \n Store\n \n \n \n No\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-run-spatial-search\"\n\n \n \n \n \n Default value : 'ccf-run-spatial-search'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/run-spatial-search/run-spatial-search.component.ts:23\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n startSpatialSearchFlow\n \n \n \n \n \n \nstartSpatialSearchFlow()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/run-spatial-search/run-spatial-search.component.ts:30\n \n \n\n\n \n \n Starts spatial search flow\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-run-spatial-search'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/run-spatial-search/run-spatial-search.component.ts:23\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Store } from '@ngxs/store';\nimport { take, tap } from 'rxjs/operators';\n\nimport { StartSpatialSearchFlow } from '../../../core/store/spatial-search-ui/spatial-search-ui.actions';\nimport {\n SpatialSearchConfigBehaviorComponent,\n} from '../spatial-search-config-behavior/spatial-search-config-behavior.component';\n\n\n/**\n * Button that opens up the Spatial Search config\n */\n@Component({\n selector: 'ccf-run-spatial-search',\n templateUrl: './run-spatial-search.component.html',\n styleUrls: ['./run-spatial-search.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RunSpatialSearchComponent {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-run-spatial-search';\n\n constructor(private readonly store: Store, private readonly dialog: MatDialog) { }\n\n /**\n * Starts spatial search flow\n */\n startSpatialSearchFlow(): void {\n this.store.dispatch(new StartSpatialSearchFlow()).pipe(\n take(1),\n tap(() => this.dialog.open(SpatialSearchConfigBehaviorComponent))\n ).subscribe();\n }\n}\n\n \n\n \n \n Run Spatial Search\n travel_explore\n\n\n \n\n \n \n ./run-spatial-search.component.scss\n \n :host {\n .run-spatial-search-button {\n ::ng-deep .mat-button-wrapper {\n display: flex;\n align-items: center;\n \n .mat-icon {\n margin-left: 9.75px;\n }\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Run Spatial Search travel_explore'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RunSpatialSearchComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RunSpatialSearchModule.html":{"url":"modules/RunSpatialSearchModule.html","title":"module - RunSpatialSearchModule","body":"\n \n\n\n\n\n Modules\n RunSpatialSearchModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RunSpatialSearchModule\n\n\n\ncluster_RunSpatialSearchModule_declarations\n\n\n\ncluster_RunSpatialSearchModule_exports\n\n\n\n\nRunSpatialSearchComponent\n\nRunSpatialSearchComponent\n\n\n\nRunSpatialSearchModule\n\nRunSpatialSearchModule\n\nRunSpatialSearchModule -->\n\nRunSpatialSearchComponent->RunSpatialSearchModule\n\n\n\n\n\nRunSpatialSearchComponent \n\nRunSpatialSearchComponent \n\nRunSpatialSearchComponent -->\n\nRunSpatialSearchModule->RunSpatialSearchComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/run-spatial-search/run-spatial-search.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RunSpatialSearchComponent\n \n \n \n \n Exports\n \n \n RunSpatialSearchComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { RunSpatialSearchComponent } from './run-spatial-search.component';\n\n@NgModule({\n imports: [CommonModule, MatButtonModule, MatIconModule],\n declarations: [RunSpatialSearchComponent],\n exports: [RunSpatialSearchComponent]\n})\nexport class RunSpatialSearchModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SceneState.html":{"url":"injectables/SceneState.html","title":"injectable - SceneState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n SceneState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/scene/scene.state.ts\n \n\n\n \n Description\n \n \n 3d Scene state\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n colorAssignments\n \n \n Private\n dataState\n \n \n Readonly\n highlightedId$\n \n \n Private\n listResults\n \n \n Readonly\n referenceOrgans$\n \n \n Readonly\n scene$\n \n \n Readonly\n selectedReferenceOrgans$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngxsOnInit\n \n \n Static\n referenceOrganEntities\n \n \n Static\n referenceOrgans\n \n \n sceneNodeClicked\n \n \n sceneNodeHovered\n \n \n sceneNodeUnhover\n \n \n setReferenceOrganEntities\n \n \n setReferenceOrgans\n \n \n setScene\n \n \n setSelectedReferenceOrgans\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dataService: DataSourceService, injector: Injector)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:78\n \n \n\n \n \n Creates an instance of scene state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dataService\n \n \n DataSourceService\n \n \n \n No\n \n \n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n Injector service used to lazy load data state\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:159\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Static\n referenceOrganEntities\n \n \n \n \n \n \n \n referenceOrganEntities(state: SceneStateModel)\n \n \n\n \n \n Decorators : \n \n @Selector()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SceneStateModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n referenceOrgans\n \n \n \n \n \n \n \n referenceOrgans(state: SceneStateModel)\n \n \n\n \n \n Decorators : \n \n @Selector()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SceneStateModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OrganInfo[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n sceneNodeClicked\n \n \n \n \n \n \nsceneNodeClicked(undefined: NodeClickEvent)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:137\n \n \n\n\n \n \n Handle scene node clicks\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n NodeClickEvent\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n sceneNodeHovered\n \n \n \n \n \n \nsceneNodeHovered(node: SpatialSceneNode)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:148\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n node\n \n SpatialSceneNode\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n sceneNodeUnhover\n \n \n \n \n \n \nsceneNodeUnhover()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:152\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setReferenceOrganEntities\n \n \n \n \n \n \nsetReferenceOrganEntities(referenceOrganEntities: SpatialEntity[])\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:118\n \n \n\n\n \n \n Sets the reference organ entities\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n referenceOrganEntities\n \n SpatialEntity[]\n \n\n \n No\n \n\n\n \n The reference organ entities available\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setReferenceOrgans\n \n \n \n \n \n \nsetReferenceOrgans(referenceOrgans: OrganInfo[])\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:108\n \n \n\n\n \n \n Sets the reference organs\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n referenceOrgans\n \n OrganInfo[]\n \n\n \n No\n \n\n\n \n The reference organs available\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setScene\n \n \n \n \n \n \nsetScene(scene: SpatialSceneNode[])\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:128\n \n \n\n\n \n \n Sets the scene\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n scene\n \n SpatialSceneNode[]\n \n\n \n No\n \n\n\n \n The active scene to display\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setSelectedReferenceOrgans\n \n \n \n \n \n \nsetSelectedReferenceOrgans(selectedReferenceOrgans: OrganInfo[])\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:98\n \n \n\n\n \n \n Sets the selected reference organs\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n selectedReferenceOrgans\n \n OrganInfo[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n colorAssignments\n \n \n \n \n \n \n Type : ColorAssignmentState\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:76\n \n \n\n \n \n Color assignments state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n dataState\n \n \n \n \n \n \n Type : DataState\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:73\n \n \n\n \n \n The data state\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n highlightedId$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('highlightedId'), distinctUntilChanged())\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:70\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n listResults\n \n \n \n \n \n \n Type : ListResultsState\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n referenceOrgans$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('referenceOrgans'), distinctUntilChanged())\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:64\n \n \n\n \n \n Available Reference Organs\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n scene$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('scene'), distinctUntilChanged())\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:68\n \n \n\n \n \n Scene to display in the 3d Scene\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n selectedReferenceOrgans$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('selectedReferenceOrgans'), distinctUntilChanged())\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:66\n \n \n\n \n \n Selected Reference Organs\n\n \n \n\n \n \n\n\n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { DataAction, Payload, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { NgxsOnInit, Selector, State } from '@ngxs/store';\nimport { NodeClickEvent, SpatialSceneNode } from 'ccf-body-ui';\nimport { SpatialEntity } from 'ccf-database';\nimport { ALL_POSSIBLE_ORGANS, DataSourceService, OrganInfo } from 'ccf-shared';\nimport { combineLatest } from 'rxjs';\nimport { distinctUntilChanged, map, pluck, take, tap } from 'rxjs/operators';\n\nimport { ColorAssignmentState } from '../color-assignment/color-assignment.state';\nimport { DataState } from '../data/data.state';\nimport { ListResultsState } from '../list-results/list-results.state';\n\nexport const DEFAULT_SELECTED_ORGANS = new Set(['Skin', 'Heart', 'Kidney', 'Spleen']);\n\nexport interface SceneStateModel {\n scene: SpatialSceneNode[];\n referenceOrgans: OrganInfo[];\n referenceOrganEntities: SpatialEntity[];\n selectedReferenceOrgans: OrganInfo[];\n\n selectedAnatomicalStructures: unknown[];\n anatomicalStructureSettings: {\n [iri: string]: {\n enabled: boolean;\n visible: boolean;\n opacity: boolean;\n };\n };\n highlightedId?: string;\n}\n\n/**\n * 3d Scene state\n */\n@StateRepository()\n@State({\n name: 'scene',\n defaults: {\n scene: [],\n referenceOrgans: [],\n referenceOrganEntities: [],\n selectedReferenceOrgans: [],\n selectedAnatomicalStructures: [],\n anatomicalStructureSettings: {}\n }\n})\n@Injectable()\nexport class SceneState extends NgxsImmutableDataRepository implements NgxsOnInit {\n @Selector()\n static referenceOrgans(state: SceneStateModel): OrganInfo[] {\n return state.referenceOrgans;\n }\n\n @Selector()\n static referenceOrganEntities(state: SceneStateModel): SpatialEntity[] {\n return state.referenceOrganEntities;\n }\n\n /** Available Reference Organs */\n readonly referenceOrgans$ = this.state$.pipe(pluck('referenceOrgans'), distinctUntilChanged());\n /** Selected Reference Organs */\n readonly selectedReferenceOrgans$ = this.state$.pipe(pluck('selectedReferenceOrgans'), distinctUntilChanged());\n /** Scene to display in the 3d Scene */\n readonly scene$ = this.state$.pipe(pluck('scene'), distinctUntilChanged());\n\n readonly highlightedId$ = this.state$.pipe(pluck('highlightedId'), distinctUntilChanged());\n\n /** The data state */\n private dataState: DataState;\n\n /** Color assignments state */\n private colorAssignments: ColorAssignmentState;\n\n private listResults: ListResultsState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load data state\n */\n constructor(\n private readonly dataService: DataSourceService,\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Sets the selected reference organs\n *\n * @param referenceOrgans The selected reference organs selected\n */\n @DataAction()\n setSelectedReferenceOrgans(@Payload('selectedReferenceOrgans') selectedReferenceOrgans: OrganInfo[]): void {\n this.ctx.patchState({ selectedReferenceOrgans });\n }\n\n /**\n * Sets the reference organs\n *\n * @param referenceOrgans The reference organs available\n */\n @DataAction()\n setReferenceOrgans(@Payload('referenceOrgans') referenceOrgans: OrganInfo[]): void {\n this.ctx.patchState({ referenceOrgans });\n }\n\n /**\n * Sets the reference organ entities\n *\n * @param referenceOrganEntities The reference organ entities available\n */\n @DataAction()\n setReferenceOrganEntities(@Payload('referenceOrganEntities') referenceOrganEntities: SpatialEntity[]): void {\n this.ctx.patchState({ referenceOrganEntities });\n }\n\n /**\n * Sets the scene\n *\n * @param scene The active scene to display\n */\n @DataAction()\n setScene(@Payload('scene') scene: SpatialSceneNode[]): void {\n this.ctx.patchState({ scene });\n }\n\n /**\n * Handle scene node clicks\n *\n * @param param0 scene node click event\n */\n sceneNodeClicked({ node, ctrlClick }: NodeClickEvent): void {\n if (node.representation_of &&\n node['@id'] !== 'http://purl.org/ccf/latest/ccf.owl#VHFSkin'\n && node.entityId // Disables this path. Need to update logic here.\n ) {\n this.dataState.updateFilter({ ontologyTerms: [node.representation_of] });\n } else if (node.entityId) {\n this.colorAssignments.assignColor(node['@id'], !ctrlClick);\n }\n }\n\n sceneNodeHovered(node: SpatialSceneNode): void {\n this.listResults.highlightNode(node['@id']);\n }\n\n sceneNodeUnhover(): void {\n this.listResults.unHighlightNode();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.dataState = this.injector.get(DataState);\n this.colorAssignments = this.injector.get(ColorAssignmentState);\n this.listResults = this.injector.get(ListResultsState);\n\n // Initialize reference organ info\n this.dataService.getReferenceOrgans().pipe(\n tap(refOrgans => this.setReferenceOrganEntities(refOrgans)),\n map(refOrgans => {\n const organIds = new Set(refOrgans.map(o => o.representation_of));\n return ALL_POSSIBLE_ORGANS\n .filter(organ => organIds.has(organ.id))\n .map(organ => ({ ...organ, disabled: false, numResults: 0 }));\n }),\n take(1),\n tap(organs => {\n this.setReferenceOrgans(organs);\n this.setSelectedReferenceOrgans(organs.filter(organ => DEFAULT_SELECTED_ORGANS.has(organ.organ)));\n })\n ).subscribe();\n\n // Update scene as the overall state changes\n combineLatest([\n this.dataState.sceneData$,\n this.selectedReferenceOrgans$,\n this.colorAssignments.colorAssignments$,\n this.dataService.getReferenceOrgans(),\n this.listResults.highlightedNodeId$\n ]).pipe(\n map(([scene, selectedOrgans, colors, refOrganData, highlightedNodeId]) => {\n const activeOrgans = new Set(selectedOrgans.map(o => o.id));\n const refOrgans = new Set(refOrganData.filter(o => activeOrgans.has(o.representation_of)).map(o => o['@id']));\n return scene.filter(node =>\n (node.ccf_annotations?.some?.(tag => activeOrgans.has(tag))) ||\n (node.reference_organ && refOrgans.has(node.reference_organ))\n ).map((node): SpatialSceneNode =>\n node.entityId && (Object.prototype.hasOwnProperty.call(colors, node['@id']) || highlightedNodeId === node['@id']) ?\n ({\n ...node,\n color: highlightedNodeId === node['@id'] ?\n [30, 136, 229, 255] :\n colors[node['@id']].rgba as [number, number, number, number]\n }) : node\n );\n }),\n tap(scene => this.setScene(scene))\n ).subscribe();\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SceneStateModel.html":{"url":"interfaces/SceneStateModel.html","title":"interface - SceneStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SceneStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/scene/scene.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n anatomicalStructureSettings\n \n \n \n Optional\n \n highlightedId\n \n \n \n \n referenceOrganEntities\n \n \n \n \n referenceOrgans\n \n \n \n \n scene\n \n \n \n \n selectedAnatomicalStructures\n \n \n \n \n selectedReferenceOrgans\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n anatomicalStructureSettings\n \n \n \n \n \n \n \n \n anatomicalStructureSettings: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n highlightedId\n \n \n \n \n \n \n \n \n highlightedId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n referenceOrganEntities\n \n \n \n \n \n \n \n \n referenceOrganEntities: SpatialEntity[]\n\n \n \n\n\n \n \n Type : SpatialEntity[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n referenceOrgans\n \n \n \n \n \n \n \n \n referenceOrgans: OrganInfo[]\n\n \n \n\n\n \n \n Type : OrganInfo[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n scene\n \n \n \n \n \n \n \n \n scene: SpatialSceneNode[]\n\n \n \n\n\n \n \n Type : SpatialSceneNode[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n selectedAnatomicalStructures\n \n \n \n \n \n \n \n \n selectedAnatomicalStructures: []\n\n \n \n\n\n \n \n Type : []\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n selectedReferenceOrgans\n \n \n \n \n \n \n \n \n selectedReferenceOrgans: OrganInfo[]\n\n \n \n\n\n \n \n Type : OrganInfo[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { DataAction, Payload, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { NgxsOnInit, Selector, State } from '@ngxs/store';\nimport { NodeClickEvent, SpatialSceneNode } from 'ccf-body-ui';\nimport { SpatialEntity } from 'ccf-database';\nimport { ALL_POSSIBLE_ORGANS, DataSourceService, OrganInfo } from 'ccf-shared';\nimport { combineLatest } from 'rxjs';\nimport { distinctUntilChanged, map, pluck, take, tap } from 'rxjs/operators';\n\nimport { ColorAssignmentState } from '../color-assignment/color-assignment.state';\nimport { DataState } from '../data/data.state';\nimport { ListResultsState } from '../list-results/list-results.state';\n\nexport const DEFAULT_SELECTED_ORGANS = new Set(['Skin', 'Heart', 'Kidney', 'Spleen']);\n\nexport interface SceneStateModel {\n scene: SpatialSceneNode[];\n referenceOrgans: OrganInfo[];\n referenceOrganEntities: SpatialEntity[];\n selectedReferenceOrgans: OrganInfo[];\n\n selectedAnatomicalStructures: unknown[];\n anatomicalStructureSettings: {\n [iri: string]: {\n enabled: boolean;\n visible: boolean;\n opacity: boolean;\n };\n };\n highlightedId?: string;\n}\n\n/**\n * 3d Scene state\n */\n@StateRepository()\n@State({\n name: 'scene',\n defaults: {\n scene: [],\n referenceOrgans: [],\n referenceOrganEntities: [],\n selectedReferenceOrgans: [],\n selectedAnatomicalStructures: [],\n anatomicalStructureSettings: {}\n }\n})\n@Injectable()\nexport class SceneState extends NgxsImmutableDataRepository implements NgxsOnInit {\n @Selector()\n static referenceOrgans(state: SceneStateModel): OrganInfo[] {\n return state.referenceOrgans;\n }\n\n @Selector()\n static referenceOrganEntities(state: SceneStateModel): SpatialEntity[] {\n return state.referenceOrganEntities;\n }\n\n /** Available Reference Organs */\n readonly referenceOrgans$ = this.state$.pipe(pluck('referenceOrgans'), distinctUntilChanged());\n /** Selected Reference Organs */\n readonly selectedReferenceOrgans$ = this.state$.pipe(pluck('selectedReferenceOrgans'), distinctUntilChanged());\n /** Scene to display in the 3d Scene */\n readonly scene$ = this.state$.pipe(pluck('scene'), distinctUntilChanged());\n\n readonly highlightedId$ = this.state$.pipe(pluck('highlightedId'), distinctUntilChanged());\n\n /** The data state */\n private dataState: DataState;\n\n /** Color assignments state */\n private colorAssignments: ColorAssignmentState;\n\n private listResults: ListResultsState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load data state\n */\n constructor(\n private readonly dataService: DataSourceService,\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Sets the selected reference organs\n *\n * @param referenceOrgans The selected reference organs selected\n */\n @DataAction()\n setSelectedReferenceOrgans(@Payload('selectedReferenceOrgans') selectedReferenceOrgans: OrganInfo[]): void {\n this.ctx.patchState({ selectedReferenceOrgans });\n }\n\n /**\n * Sets the reference organs\n *\n * @param referenceOrgans The reference organs available\n */\n @DataAction()\n setReferenceOrgans(@Payload('referenceOrgans') referenceOrgans: OrganInfo[]): void {\n this.ctx.patchState({ referenceOrgans });\n }\n\n /**\n * Sets the reference organ entities\n *\n * @param referenceOrganEntities The reference organ entities available\n */\n @DataAction()\n setReferenceOrganEntities(@Payload('referenceOrganEntities') referenceOrganEntities: SpatialEntity[]): void {\n this.ctx.patchState({ referenceOrganEntities });\n }\n\n /**\n * Sets the scene\n *\n * @param scene The active scene to display\n */\n @DataAction()\n setScene(@Payload('scene') scene: SpatialSceneNode[]): void {\n this.ctx.patchState({ scene });\n }\n\n /**\n * Handle scene node clicks\n *\n * @param param0 scene node click event\n */\n sceneNodeClicked({ node, ctrlClick }: NodeClickEvent): void {\n if (node.representation_of &&\n node['@id'] !== 'http://purl.org/ccf/latest/ccf.owl#VHFSkin'\n && node.entityId // Disables this path. Need to update logic here.\n ) {\n this.dataState.updateFilter({ ontologyTerms: [node.representation_of] });\n } else if (node.entityId) {\n this.colorAssignments.assignColor(node['@id'], !ctrlClick);\n }\n }\n\n sceneNodeHovered(node: SpatialSceneNode): void {\n this.listResults.highlightNode(node['@id']);\n }\n\n sceneNodeUnhover(): void {\n this.listResults.unHighlightNode();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.dataState = this.injector.get(DataState);\n this.colorAssignments = this.injector.get(ColorAssignmentState);\n this.listResults = this.injector.get(ListResultsState);\n\n // Initialize reference organ info\n this.dataService.getReferenceOrgans().pipe(\n tap(refOrgans => this.setReferenceOrganEntities(refOrgans)),\n map(refOrgans => {\n const organIds = new Set(refOrgans.map(o => o.representation_of));\n return ALL_POSSIBLE_ORGANS\n .filter(organ => organIds.has(organ.id))\n .map(organ => ({ ...organ, disabled: false, numResults: 0 }));\n }),\n take(1),\n tap(organs => {\n this.setReferenceOrgans(organs);\n this.setSelectedReferenceOrgans(organs.filter(organ => DEFAULT_SELECTED_ORGANS.has(organ.organ)));\n })\n ).subscribe();\n\n // Update scene as the overall state changes\n combineLatest([\n this.dataState.sceneData$,\n this.selectedReferenceOrgans$,\n this.colorAssignments.colorAssignments$,\n this.dataService.getReferenceOrgans(),\n this.listResults.highlightedNodeId$\n ]).pipe(\n map(([scene, selectedOrgans, colors, refOrganData, highlightedNodeId]) => {\n const activeOrgans = new Set(selectedOrgans.map(o => o.id));\n const refOrgans = new Set(refOrganData.filter(o => activeOrgans.has(o.representation_of)).map(o => o['@id']));\n return scene.filter(node =>\n (node.ccf_annotations?.some?.(tag => activeOrgans.has(tag))) ||\n (node.reference_organ && refOrgans.has(node.reference_organ))\n ).map((node): SpatialSceneNode =>\n node.entityId && (Object.prototype.hasOwnProperty.call(colors, node['@id']) || highlightedNodeId === node['@id']) ?\n ({\n ...node,\n color: highlightedNodeId === node['@id'] ?\n [30, 136, 229, 255] :\n colors[node['@id']].rgba as [number, number, number, number]\n }) : node\n );\n }),\n tap(scene => this.setScene(scene))\n ).subscribe();\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SearchResult.html":{"url":"interfaces/SearchResult.html","title":"interface - SearchResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SearchResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts\n \n\n\n \n Description\n \n \n Search result interface type for the search results\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n displayLabel\n \n \n \n \n index\n \n \n \n \n node\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n displayLabel\n \n \n \n \n \n \n \n \n displayLabel: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n label to be displayed in the view\n\n \n \n \n \n \n \n \n \n \n index\n \n \n \n \n \n \n \n \n index: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n ensures order of search-results\n\n \n \n \n \n \n \n \n \n \n node\n \n \n \n \n \n \n \n \n node: OntologyTreeNode\n\n \n \n\n\n \n \n Type : OntologyTreeNode\n\n \n \n\n\n\n\n\n \n \n instance of OntologyTreeNode, provides data associated with a search result\n\n \n \n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { bind } from 'bind-decorator';\nimport { OntologyTreeModel, OntologyTreeNode } from 'ccf-database';\nimport { at } from 'lodash';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n\n/**\n * Search result interface type for the search results\n */\nexport interface SearchResult {\n /** ensures order of search-results */\n index: number;\n\n /** label to be displayed in the view */\n displayLabel: string[];\n\n /** instance of OntologyTreeNode, provides data associated with a search result */\n node: OntologyTreeNode;\n}\n\n/**\n * Injectable OntologySearchService responsible for search result computations\n */\n@Injectable()\nexport class OntologySearchService {\n private readonly treeModel$ = new ReplaySubject(1);\n private treeModel: OntologyTreeModel;\n\n /** All nodes in the ontology tree. */\n public readonly nodes$ = this.treeModel$.pipe(map(state => Object.values(state.nodes)));\n\n /** Root node of the ontology tree. */\n public readonly rootNode$ = this.treeModel$.pipe(map(state => state.nodes[state.root]));\n\n setTreeModel(treeModel: OntologyTreeModel): void {\n this.treeModel$.next(treeModel);\n this.treeModel = treeModel;\n }\n\n /**\n * Searches the ontology with the search-term\n *\n * @param value the search term\n * @returns an array of search-results\n */\n filter(value: string): Observable {\n return this.nodes$.pipe(\n map(nodes => this.lookup(nodes, value.toLowerCase()))\n );\n }\n\n /**\n * looks up ontology nodes and composes search results\n *\n * @param nodes Ontology nodes\n * @param searchValue search text in lower case\n * @returns search results\n */\n private lookup(nodes: Immutable[], searchValue: string): SearchResult[] {\n const searchResults = new Map();\n\n if (nodes) {\n nodes.forEach((node: OntologyTreeNode) => {\n const condition = node.label.toLowerCase().includes(searchValue);\n\n if (condition && !searchResults.get(node.id)) {\n searchResults.set(node.id, {\n index: this.getIndexOfMatch(node.label, searchValue),\n displayLabel: this.formatLabel(node.label, searchValue),\n node\n });\n } else {\n const match = node.synonymLabels.find((label) => label.toLowerCase().includes(searchValue));\n\n if (match && !searchResults.get(node.id)) {\n searchResults.set(node.id, {\n index: this.getIndexOfMatch(node.label + ' (' + match + ')', searchValue),\n displayLabel: this.formatLabel(node.label + ' (' + match + ')', searchValue),\n node\n });\n }\n }\n });\n }\n\n return Array.from(searchResults.values());\n }\n\n /**\n * Gets index of match in the ontology label\n *\n * @param label the provided ontology node label or synonym label\n * @param searchValue the searched text in lower case\n * @returns the index of the match in the label\n */\n getIndexOfMatch(label: string, searchValue: string): number {\n return label.toLowerCase().indexOf(searchValue);\n }\n\n /**\n * Formats label based on where the search-term was found in the OntologyTreeNode\n *\n * @param label label or first synonym-label of OntologyTreeNode which has the search-term\n * @param searchValue search-term\n * @returns an array in the form of [prefix, search-term, suffix]\n */\n formatLabel(label: string, searchValue: string): string[] {\n const index = this.getIndexOfMatch(label, searchValue);\n return [\n label.slice(0, index),\n label.slice(index, index + searchValue.length),\n label.slice(index + searchValue.length)\n ];\n }\n\n /**\n * Fetches the children of an ontology node.\n * Note: This can be called without a reference to `this`.\n *\n * @param node The node for which to get children.\n * @returns An array of children, empty if the node has no children.\n */\n @bind\n getChildren(node: OntologyTreeNode): OntologyTreeNode[] {\n const nodes = this.treeModel?.nodes ?? {};\n return at(nodes, node.children);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SetExecuteSearchOnGenerate.html":{"url":"classes/SetExecuteSearchOnGenerate.html","title":"class - SetExecuteSearchOnGenerate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SetExecuteSearchOnGenerate\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(execute)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:54\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n execute\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Set execute search on generate'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:54\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SetOrgan.html":{"url":"classes/SetOrgan.html","title":"class - SetOrgan","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SetOrgan\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(organId: string | undefined)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organId\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Set organ'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SetPosition.html":{"url":"classes/SetPosition.html","title":"class - SetPosition","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SetPosition\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(position: literal type)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:20\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n position\n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Set position'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SetRadius.html":{"url":"classes/SetRadius.html","title":"class - SetRadius","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SetRadius\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(radius: number)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:36\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n radius\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Set radius'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:36\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SetSelectedSearches.html":{"url":"classes/SetSelectedSearches.html","title":"class - SetSelectedSearches","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SetSelectedSearches\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(items: SpatialSearchFilterItem[])\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n items\n \n \n SpatialSearchFilterItem[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[Spatial Search Filter] Set selected searches'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSearch } from 'ccf-database';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\n\nimport type { SpatialSearchFilterItem } from './spatial-search-filter.state';\n\n\nexport class AddSearch {\n static readonly type = '[Spatial Search Filter] Add';\n\n constructor(readonly sex: Sex, readonly organName: string, readonly search: SpatialSearch) { }\n}\n\nexport class RemoveSearch {\n static readonly type = '[Spatial Search Filter] Remove';\n\n constructor(readonly id: string) { }\n}\n\nexport class SetSelectedSearches {\n static readonly type = '[Spatial Search Filter] Set selected searches';\n\n constructor(readonly items: SpatialSearchFilterItem[]) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SetSex.html":{"url":"classes/SetSex.html","title":"class - SetSex","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SetSex\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(sex: \"male\" | \"female\")\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sex\n \n \n \"male\" | \"female\"\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Set sex'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SpatialSearchConfigBehaviorComponent.html":{"url":"components/SpatialSearchConfigBehaviorComponent.html","title":"component - SpatialSearchConfigBehaviorComponent","body":"\n \n\n\n\n\n\n Components\n \n SpatialSearchConfigBehaviorComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-spatial-search-config-behavior\n \n\n\n\n\n \n templateUrl\n ./spatial-search-config-behavior.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n dialog\n \n \n Private\n Readonly\n dialogSubs\n \n \n Readonly\n organs$\n \n \n panelData\n \n \n Readonly\n selectedOrgan$\n \n \n Readonly\n sex$\n \n \n Private\n Readonly\n subscriptions\n \n \n Readonly\n updateOrgan\n \n \n Readonly\n updateSex\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n buttonClicked\n \n \n close\n \n \n launchInfoDialog\n \n \n ngOnDestroy\n \n \n onDialogButtonClick\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog, dialogRef: MatDialogRef, spatialSearchDialog: MatDialog, infoService: InfoButtonService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:40\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n \n spatialSearchDialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n \n infoService\n \n \n InfoButtonService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n buttonClicked\n \n \n \n \n \n \nbuttonClicked()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:49\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:54\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n launchInfoDialog\n \n \n \n \n \n \nlaunchInfoDialog(data: PanelData)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n PanelData\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:83\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n onDialogButtonClick\n \n \n \n \n \n \nonDialogButtonClick()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:72\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n dialog\n \n \n \n \n \n \n Type : MatDialog\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n dialogSubs\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n organs$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.organs)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n panelData\n \n \n \n \n \n \n Type : PanelData\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n selectedOrgan$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.organ)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n sex$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.sex)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n updateOrgan\n \n \n \n \n \n \n Default value : actionAsFn(SetOrgan)\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n updateSex\n \n \n \n \n \n \n Default value : actionAsFn(SetSex)\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:31\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, OnDestroy } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { Dispatch } from '@ngxs-labs/dispatch-decorator';\nimport { Select } from '@ngxs/store';\nimport { InfoButtonService, InfoDialogComponent, OrganInfo, PanelData } from 'ccf-shared';\nimport { Observable, Subscription } from 'rxjs';\n\nimport { actionAsFn } from '../../../core/store/action-as-fn';\nimport { SetOrgan, SetSex } from '../../../core/store/spatial-search-ui/spatial-search-ui.actions';\nimport { SpatialSearchUiSelectors } from '../../../core/store/spatial-search-ui/spatial-search-ui.selectors';\nimport { Sex, SpatialSearchConfigComponent } from '../spatial-search-config/spatial-search-config.component';\nimport { SpatialSearchUiBehaviorComponent } from '../spatial-search-ui-behavior/spatial-search-ui-behavior.component';\n\n\n@Component({\n selector: 'ccf-spatial-search-config-behavior',\n templateUrl: './spatial-search-config-behavior.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpatialSearchConfigBehaviorComponent implements OnDestroy {\n @Select(SpatialSearchUiSelectors.sex)\n readonly sex$: Observable;\n\n @Select(SpatialSearchUiSelectors.organ)\n readonly selectedOrgan$: Observable;\n\n @Select(SpatialSearchUiSelectors.organs)\n readonly organs$: Observable;\n\n @Dispatch()\n readonly updateSex = actionAsFn(SetSex);\n\n @Dispatch()\n readonly updateOrgan = actionAsFn(SetOrgan);\n\n panelData: PanelData;\n\n private readonly subscriptions = new Subscription();\n\n private readonly dialogSubs = new Subscription();\n\n constructor(\n public dialog: MatDialog,\n private readonly dialogRef: MatDialogRef,\n private readonly spatialSearchDialog: MatDialog,\n private readonly infoService: InfoButtonService\n ) { }\n\n buttonClicked(): void {\n this.spatialSearchDialog.open(SpatialSearchUiBehaviorComponent);\n this.close();\n }\n\n close(): void {\n this.dialogRef.close();\n }\n\n launchInfoDialog(data: PanelData): void {\n this.dialogSubs.unsubscribe();\n this.dialog.open(InfoDialogComponent, {\n autoFocus: false,\n panelClass: 'modal-animated',\n width: '72rem',\n data: {\n title: data.infoTitle,\n content: data.content,\n videoID: data.videoID\n }\n });\n }\n\n onDialogButtonClick(): void {\n this.infoService.updateData('assets/docs/SPATIAL_SEARCH_README.md', 'UfxMpzatowE', 'Spatial Search');\n const panelContent$ = this.infoService.panelContent.asObservable();\n this.dialogSubs.add(panelContent$.subscribe(data => {\n if (data.content.length) {\n this.panelData = data;\n this.launchInfoDialog(this.panelData);\n }\n }));\n }\n\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n}\n\n \n\n \n \n\n\n \n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SpatialSearchConfigBehaviorComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SpatialSearchConfigBehaviorModule.html":{"url":"modules/SpatialSearchConfigBehaviorModule.html","title":"module - SpatialSearchConfigBehaviorModule","body":"\n \n\n\n\n\n Modules\n SpatialSearchConfigBehaviorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SpatialSearchConfigBehaviorModule\n\n\n\ncluster_SpatialSearchConfigBehaviorModule_declarations\n\n\n\ncluster_SpatialSearchConfigBehaviorModule_exports\n\n\n\ncluster_SpatialSearchConfigBehaviorModule_imports\n\n\n\n\nSpatialSearchConfigBehaviorComponent\n\nSpatialSearchConfigBehaviorComponent\n\n\n\nSpatialSearchConfigBehaviorModule\n\nSpatialSearchConfigBehaviorModule\n\nSpatialSearchConfigBehaviorModule -->\n\nSpatialSearchConfigBehaviorComponent->SpatialSearchConfigBehaviorModule\n\n\n\n\n\nSpatialSearchConfigBehaviorComponent \n\nSpatialSearchConfigBehaviorComponent \n\nSpatialSearchConfigBehaviorComponent -->\n\nSpatialSearchConfigBehaviorModule->SpatialSearchConfigBehaviorComponent \n\n\n\n\n\nSpatialSearchConfigModule\n\nSpatialSearchConfigModule\n\nSpatialSearchConfigBehaviorModule -->\n\nSpatialSearchConfigModule->SpatialSearchConfigBehaviorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SpatialSearchConfigBehaviorComponent\n \n \n \n \n Imports\n \n \n SpatialSearchConfigModule\n \n \n \n \n Exports\n \n \n SpatialSearchConfigBehaviorComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { SpatialSearchConfigModule } from '../spatial-search-config/spatial-search-config.module';\nimport { SpatialSearchConfigBehaviorComponent } from './spatial-search-config-behavior.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SpatialSearchConfigModule,\n MatDialogModule\n ],\n declarations: [SpatialSearchConfigBehaviorComponent],\n exports: [SpatialSearchConfigBehaviorComponent]\n})\nexport class SpatialSearchConfigBehaviorModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SpatialSearchConfigComponent.html":{"url":"components/SpatialSearchConfigComponent.html","title":"component - SpatialSearchConfigComponent","body":"\n \n\n\n\n\n\n Components\n \n SpatialSearchConfigComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts\n\n\n\n \n Description\n \n \n Config popup for spatial search\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-spatial-search-config\n \n\n \n styleUrls\n ./spatial-search-config.component.scss\n \n\n\n\n \n templateUrl\n ./spatial-search-config.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n organs\n \n \n selectedOrgan\n \n \n sex\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n buttonClicked\n \n \n closeDialog\n \n \n infoClicked\n \n \n updateOrgan\n \n \n updateSex\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n organs\n \n \n \n \n Type : OrganInfo[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:20\n \n \n \n \n Selectable organs\n\n \n \n \n \n \n \n \n \n \n selectedOrgan\n \n \n \n \n Type : OrganInfo\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:23\n \n \n \n \n Currently selected organ\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n Type : Sex\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:26\n \n \n \n \n Currently selected sex\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n buttonClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:35\n \n \n \n \n Emits when the continue button is clicked\n\n \n \n \n \n \n \n \n \n \n closeDialog\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:38\n \n \n \n \n Emits when the close button is clicked\n\n \n \n \n \n \n \n \n \n \n infoClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:41\n \n \n \n \n Emits when the info button is clicked\n\n \n \n \n \n \n \n \n \n \n updateOrgan\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:32\n \n \n \n \n Emits when organ is updated\n\n \n \n \n \n \n \n \n \n \n updateSex\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:29\n \n \n \n \n Emits when sex is updated\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-spatial-search-config\"\n\n \n \n \n \n Default value : 'ccf-spatial-search-config'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:17\n \n \n\n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-spatial-search-config'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:17\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { OrganInfo } from 'ccf-shared';\n\n/** Sex can either be male or female */\nexport type Sex = 'male' | 'female';\n\n/**\n * Config popup for spatial search\n */\n@Component({\n selector: 'ccf-spatial-search-config',\n templateUrl: './spatial-search-config.component.html',\n styleUrls: ['./spatial-search-config.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpatialSearchConfigComponent {\n @HostBinding('class') readonly className = 'ccf-spatial-search-config';\n\n /** Selectable organs */\n @Input() organs: OrganInfo[];\n\n /** Currently selected organ */\n @Input() selectedOrgan?: OrganInfo;\n\n /** Currently selected sex */\n @Input() sex: Sex;\n\n /** Emits when sex is updated */\n @Output() readonly updateSex = new EventEmitter();\n\n /** Emits when organ is updated */\n @Output() readonly updateOrgan = new EventEmitter();\n\n /** Emits when the continue button is clicked */\n @Output() readonly buttonClicked = new EventEmitter();\n\n /** Emits when the close button is clicked */\n @Output() readonly closeDialog = new EventEmitter();\n\n /** Emits when the info button is clicked */\n @Output() readonly infoClicked = new EventEmitter();\n}\n\n \n\n \n \n \n Configure Spatial Search\n \n info\n \n \n \n close\n \n\n\n\n Donor Sex: \n \n Male\n Female\n \n\n\n\n Select an organ\n \n Organs\n \n \n {{organ.name}}\n \n \n \n\n\nContinue\n\n \n\n \n \n ./spatial-search-config.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 2rem;\n gap: 2rem;\n width: 30.5rem;\n box-shadow: 0px 25rem 25rem rgba(0, 0, 0, 0.16);\n border-radius: .25rem;\n font-size: 1rem;\n\n .button {\n cursor: pointer;\n }\n\n .header {\n display: flex;\n justify-content: space-between;\n width: 100%;\n font-size: 1.25rem;\n \n .header-left {\n display: flex;\n align-items: center;\n\n .title {\n margin-right: 1rem;\n }\n }\n\n button {\n padding: 0;\n background: none;\n border: none;\n cursor: pointer;\n outline: none;\n border-radius: 0.25rem;\n transition: 0.6s;\n }\n }\n\n .sex-toggle {\n display: flex;\n\n .label {\n margin-right: 2rem;\n }\n\n .radio {\n margin-right: 4rem;\n }\n }\n\n .organ-selector {\n .label {\n height: 0rem;\n }\n\n ::ng-deep .mat-form-field-wrapper {\n padding-bottom: 1rem;\n padding-top: 3rem;\n margin-left: 0.5rem;\n width: 14rem;\n\n .mat-form-field-infix {\n padding: 0;\n border-top: none;\n }\n\n .mat-form-field-underline {\n bottom: 0rem;\n height: 0.125rem;\n }\n\n .mat-select-arrow-wrapper {\n transform: translatey(0rem);\n }\n }\n }\n\n .continue-button {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: .25rem 1rem;\n width: 14rem;\n height: 2rem;\n border-width: 1px;\n border-style: solid;\n border-radius: .25rem;\n box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.16);\n\n &.disabled {\n pointer-events: none;\n opacity: .5;\n }\n }\n}\n\n::ng-deep .organ-select {\n position: absolute;\n top: 2.5rem;\n left: -0.25rem;\n border-radius: 0.5rem;\n max-height: 24.5rem;\n width: 14rem;\n\n .organ-select-option {\n height: 3.5rem;\n border-bottom: 1px solid;\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Configure Spatial Search info close Donor Sex: Male Female Select an organ Organs {{organ.name}} Continue'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SpatialSearchConfigComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SpatialSearchConfigModule.html":{"url":"modules/SpatialSearchConfigModule.html","title":"module - SpatialSearchConfigModule","body":"\n \n\n\n\n\n Modules\n SpatialSearchConfigModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SpatialSearchConfigModule\n\n\n\ncluster_SpatialSearchConfigModule_exports\n\n\n\ncluster_SpatialSearchConfigModule_declarations\n\n\n\n\nSpatialSearchConfigComponent\n\nSpatialSearchConfigComponent\n\n\n\nSpatialSearchConfigModule\n\nSpatialSearchConfigModule\n\nSpatialSearchConfigModule -->\n\nSpatialSearchConfigComponent->SpatialSearchConfigModule\n\n\n\n\n\nSpatialSearchConfigComponent \n\nSpatialSearchConfigComponent \n\nSpatialSearchConfigComponent -->\n\nSpatialSearchConfigModule->SpatialSearchConfigComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SpatialSearchConfigComponent\n \n \n \n \n Exports\n \n \n SpatialSearchConfigComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\n\nimport { SpatialSearchConfigComponent } from './spatial-search-config.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatSelectModule,\n MatIconModule,\n MatRadioModule,\n MatButtonModule\n ],\n declarations: [SpatialSearchConfigComponent],\n exports: [SpatialSearchConfigComponent]\n})\nexport class SpatialSearchConfigModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialSearchFilterItem.html":{"url":"interfaces/SpatialSearchFilterItem.html","title":"interface - SpatialSearchFilterItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialSearchFilterItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts\n \n\n\n\n \n Extends\n \n \n SpatialSearchListItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n search\n \n \n \n \n sex\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n search\n \n \n \n \n \n \n \n \n search: SpatialSearch\n\n \n \n\n\n \n \n Type : SpatialSearch\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: Sex\n\n \n \n\n\n \n \n Type : Sex\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Action, State, StateContext } from '@ngxs/store';\nimport { append, removeItem } from '@ngxs/store/operators';\nimport { SpatialSearch } from 'ccf-database';\nimport { SpatialSearchListItem } from 'ccf-shared';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { AddSearch, RemoveSearch, SetSelectedSearches } from './spatial-search-filter.actions';\n\n\nexport interface SpatialSearchFilterItem extends SpatialSearchListItem {\n id: string;\n search: SpatialSearch;\n sex: Sex;\n}\n\nexport type SpatialSearchFilterModel = SpatialSearchFilterItem[];\n\n\n@State({\n name: 'spatialSearchFilter',\n defaults: []\n})\n@Injectable()\nexport class SpatialSearchFilterState {\n @Action(AddSearch)\n addSearch(ctx: StateContext, { sex, organName, search }: AddSearch): void {\n ctx.setState(append([this.createItem(sex, organName, search)]));\n }\n\n @Action(RemoveSearch)\n removeSearch(ctx: StateContext, { id }: RemoveSearch): void {\n ctx.setState(removeItem(item => item?.id === id));\n }\n\n @Action(SetSelectedSearches)\n setSelectedSearches(ctx: StateContext, { items }: SetSelectedSearches): void {\n const selectedByIds = new Map(items.map(item => [item.id, item]));\n const oldItems = ctx.getState();\n const newItems = oldItems.map(item =>\n selectedByIds.get(item.id) ??\n (item.selected ? { ...item, selected: false } : item)\n );\n\n ctx.setState(newItems);\n }\n\n private createItem(sex: Sex, name: string, search: SpatialSearch): SpatialSearchFilterItem {\n return {\n id: this.createItemId(search),\n selected: true,\n description: this.createItemDescription(sex, name, search),\n sex,\n search\n };\n }\n\n private createItemId(search: SpatialSearch): string {\n const { x, y, z, radius, target } = search;\n return `${target}-${radius}-${x},${y},${z}`;\n }\n\n private createItemDescription(sex: Sex, name: string, search: SpatialSearch): string {\n const capitalize = (value: string) => value.slice(0, 1).toUpperCase() + value.slice(1);\n const { x, y, z, radius } = search;\n\n return `${capitalize(sex)}, ${capitalize(name)}, ${radius.toFixed(1)} mm, X: ${x.toFixed(1)}, Y: ${y.toFixed(1)}, Z: ${z.toFixed(1)}`;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SpatialSearchFilterSelectors.html":{"url":"classes/SpatialSearchFilterSelectors.html","title":"class - SpatialSearchFilterSelectors","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SpatialSearchFilterSelectors\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.selectors.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n items\n \n \n Static\n searches\n \n \n Static\n selectedSearches\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n items\n \n \n \n \n \n \n \n items(state: SpatialSearchFilterModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchFilterState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.selectors.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchFilterModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSearchFilterItem[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n searches\n \n \n \n \n \n \n \n searches(items: SpatialSearchFilterItem[])\n \n \n\n \n \n Decorators : \n \n @Selector(['undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.selectors.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n items\n \n SpatialSearchFilterItem[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSearch[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n selectedSearches\n \n \n \n \n \n \n \n selectedSearches(items: SpatialSearchFilterItem[])\n \n \n\n \n \n Decorators : \n \n @Selector(['undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.selectors.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n items\n \n SpatialSearchFilterItem[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSearch[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Selector } from '@ngxs/store';\nimport { SpatialSearch } from 'ccf-database';\n\nimport { SpatialSearchFilterItem, SpatialSearchFilterModel, SpatialSearchFilterState } from './spatial-search-filter.state';\n\n\nexport class SpatialSearchFilterSelectors {\n @Selector([SpatialSearchFilterState])\n static items(state: SpatialSearchFilterModel): SpatialSearchFilterItem[] {\n return state;\n }\n\n @Selector([SpatialSearchFilterSelectors.items])\n static searches(items: SpatialSearchFilterItem[]): SpatialSearch[] {\n return items.map(item => item.search);\n }\n\n @Selector([SpatialSearchFilterSelectors.items])\n static selectedSearches(items: SpatialSearchFilterItem[]): SpatialSearch[] {\n return items.filter(item => item.selected).map(item => item.search);\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SpatialSearchFilterState.html":{"url":"injectables/SpatialSearchFilterState.html","title":"injectable - SpatialSearchFilterState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n SpatialSearchFilterState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n addSearch\n \n \n Private\n createItem\n \n \n Private\n createItemDescription\n \n \n Private\n createItemId\n \n \n removeSearch\n \n \n setSelectedSearches\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addSearch\n \n \n \n \n \n \naddSearch(ctx: StateContext, undefined: AddSearch)\n \n \n\n \n \n Decorators : \n \n @Action(AddSearch)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n AddSearch\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createItem\n \n \n \n \n \n \n \n createItem(sex: Sex, name: string, search: SpatialSearch)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sex\n \n Sex\n \n\n \n No\n \n\n\n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n search\n \n SpatialSearch\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSearchFilterItem\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createItemDescription\n \n \n \n \n \n \n \n createItemDescription(sex: Sex, name: string, search: SpatialSearch)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sex\n \n Sex\n \n\n \n No\n \n\n\n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n search\n \n SpatialSearch\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createItemId\n \n \n \n \n \n \n \n createItemId(search: SpatialSearch)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n search\n \n SpatialSearch\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeSearch\n \n \n \n \n \n \nremoveSearch(ctx: StateContext, undefined: RemoveSearch)\n \n \n\n \n \n Decorators : \n \n @Action(RemoveSearch)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n RemoveSearch\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setSelectedSearches\n \n \n \n \n \n \nsetSelectedSearches(ctx: StateContext, undefined: SetSelectedSearches)\n \n \n\n \n \n Decorators : \n \n @Action(SetSelectedSearches)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n SetSelectedSearches\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Action, State, StateContext } from '@ngxs/store';\nimport { append, removeItem } from '@ngxs/store/operators';\nimport { SpatialSearch } from 'ccf-database';\nimport { SpatialSearchListItem } from 'ccf-shared';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { AddSearch, RemoveSearch, SetSelectedSearches } from './spatial-search-filter.actions';\n\n\nexport interface SpatialSearchFilterItem extends SpatialSearchListItem {\n id: string;\n search: SpatialSearch;\n sex: Sex;\n}\n\nexport type SpatialSearchFilterModel = SpatialSearchFilterItem[];\n\n\n@State({\n name: 'spatialSearchFilter',\n defaults: []\n})\n@Injectable()\nexport class SpatialSearchFilterState {\n @Action(AddSearch)\n addSearch(ctx: StateContext, { sex, organName, search }: AddSearch): void {\n ctx.setState(append([this.createItem(sex, organName, search)]));\n }\n\n @Action(RemoveSearch)\n removeSearch(ctx: StateContext, { id }: RemoveSearch): void {\n ctx.setState(removeItem(item => item?.id === id));\n }\n\n @Action(SetSelectedSearches)\n setSelectedSearches(ctx: StateContext, { items }: SetSelectedSearches): void {\n const selectedByIds = new Map(items.map(item => [item.id, item]));\n const oldItems = ctx.getState();\n const newItems = oldItems.map(item =>\n selectedByIds.get(item.id) ??\n (item.selected ? { ...item, selected: false } : item)\n );\n\n ctx.setState(newItems);\n }\n\n private createItem(sex: Sex, name: string, search: SpatialSearch): SpatialSearchFilterItem {\n return {\n id: this.createItemId(search),\n selected: true,\n description: this.createItemDescription(sex, name, search),\n sex,\n search\n };\n }\n\n private createItemId(search: SpatialSearch): string {\n const { x, y, z, radius, target } = search;\n return `${target}-${radius}-${x},${y},${z}`;\n }\n\n private createItemDescription(sex: Sex, name: string, search: SpatialSearch): string {\n const capitalize = (value: string) => value.slice(0, 1).toUpperCase() + value.slice(1);\n const { x, y, z, radius } = search;\n\n return `${capitalize(sex)}, ${capitalize(name)}, ${radius.toFixed(1)} mm, X: ${x.toFixed(1)}, Y: ${y.toFixed(1)}, Z: ${z.toFixed(1)}`;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{"url":"components/SpatialSearchKeyboardUIBehaviorComponent.html","title":"component - SpatialSearchKeyboardUIBehaviorComponent","body":"\n \n\n\n\n\n\n Components\n \n SpatialSearchKeyboardUIBehaviorComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts\n\n\n\n \n Description\n \n \n Behavioral component for spatial search keyboard UI\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-spatial-search-keyboard-ui-behavior\n \n\n\n\n\n \n templateUrl\n ./spatial-search-keyboard-ui-behavior.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n currentDelta\n \n \n Optional\n currentKey\n \n \n shiftPressed\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleKey\n \n \n keyClick\n \n \n keyHover\n \n \n keyUp\n \n \n updatePosition\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n delta\n \n \n position\n \n \n shiftDelta\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n changePosition\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n \n \n HostListeners\n \n \n \n \n \n \n document:keydown\n \n \n document:keyup\n \n \n \n \n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n delta\n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 1\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:19\n \n \n \n \n Amount the position shifts for each key press\n\n \n \n \n \n \n \n \n \n \n position\n \n \n \n \n Type : Position\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:25\n \n \n \n \n Current position of spatial search\n\n \n \n \n \n \n \n \n \n \n shiftDelta\n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 2\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:22\n \n \n \n \n Input of spatial search keyboard uibehavior component\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n changePosition\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:28\n \n \n \n \n Emits when position changes\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-spatial-search-keyboard-ui-behavior\"\n\n \n \n \n \n Default value : 'ccf-spatial-search-keyboard-ui-behavior'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:16\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n \n HostListeners \n \n \n \n \n \n document:keydown\n \n \n \n \n \n \n Arguments : '$event' \n \n \n \n \ndocument:keydown(target: KeyboardEvent)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:80\n \n \n\n\n \n \n Listens for keydown keyboard event and updates the position\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n Keyboard event\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n document:keyup\n \n \n \n \n \n \n Arguments : '$event' \n \n \n \n \ndocument:keyup(target: KeyboardEvent)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:90\n \n \n\n\n \n \n Listens for keyup keyboard event and updates currentKey / shiftPressed\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n Keyboard event\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleKey\n \n \n \n \n \n \nhandleKey(target: KeyboardEvent)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:keydown', ['$event'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:80\n \n \n\n\n \n \n Listens for keydown keyboard event and updates the position\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n KeyboardEvent\n \n\n \n No\n \n\n\n \n Keyboard event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n keyClick\n \n \n \n \n \n \nkeyClick(key: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:102\n \n \n\n\n \n \n Updates the position when a key is clicked\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n Key value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n keyHover\n \n \n \n \n \n \nkeyHover(key?: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:110\n \n \n\n\n \n \n Updates current key when a key is hovered over\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n key\n \n string\n \n\n \n Yes\n \n\n\n \n Key value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n keyUp\n \n \n \n \n \n \nkeyUp(target: KeyboardEvent)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:keyup', ['$event'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:90\n \n \n\n\n \n \n Listens for keyup keyboard event and updates currentKey / shiftPressed\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n KeyboardEvent\n \n\n \n No\n \n\n\n \n Keyboard event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updatePosition\n \n \n \n \n \n \nupdatePosition(key: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:43\n \n \n\n\n \n \n Shifts position based on key\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n Key value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-spatial-search-keyboard-ui-behavior'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:16\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n currentDelta\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:34\n \n \n\n \n \n Current delta\n\n \n \n\n \n \n \n \n \n \n \n \n Optional\n currentKey\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:31\n \n \n\n \n \n Current key being pressed/clicked\n\n \n \n\n \n \n \n \n \n \n \n \n shiftPressed\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:37\n \n \n\n \n \n True while shift key is pressed\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\nimport { Position } from '../../../core/store/spatial-search-ui/spatial-search-ui.state';\n\n\n/**\n * Behavioral component for spatial search keyboard UI\n */\n@Component({\n selector: 'ccf-spatial-search-keyboard-ui-behavior',\n templateUrl: './spatial-search-keyboard-ui-behavior.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpatialSearchKeyboardUIBehaviorComponent {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-spatial-search-keyboard-ui-behavior';\n\n /** Amount the position shifts for each key press */\n @Input() delta = 1;\n\n /** Input of spatial search keyboard uibehavior component */\n @Input() shiftDelta = 2;\n\n /** Current position of spatial search */\n @Input() position: Position;\n\n /** Emits when position changes */\n @Output() readonly changePosition = new EventEmitter();\n\n /** Current key being pressed/clicked */\n currentKey?: string;\n\n /** Current delta */\n currentDelta: number;\n\n /** True while shift key is pressed */\n shiftPressed = false;\n\n /**\n * Shifts position based on key\n * @param key Key value\n */\n updatePosition(key: string): void {\n this.currentDelta = this.shiftPressed ? this.shiftDelta : this.delta;\n if (key === 'Shift') {\n this.shiftPressed = true;\n } else {\n this.currentKey = key.toLowerCase();\n switch (this.currentKey) {\n case 'q':\n this.position = { ...this.position, z: this.position.z - this.currentDelta };\n break;\n case 'e':\n this.position = { ...this.position, z: this.position.z + this.currentDelta };\n break;\n case 'w':\n this.position = { ...this.position, y: this.position.y + this.currentDelta };\n break;\n case 's':\n this.position = { ...this.position, y: this.position.y - this.currentDelta };\n break;\n case 'a':\n this.position = { ...this.position, x: this.position.x - this.currentDelta };\n break;\n case 'd':\n this.position = { ...this.position, x: this.position.x + this.currentDelta };\n break;\n default:\n break;\n }\n this.changePosition.emit(this.position);\n }\n }\n\n /**\n * Listens for keydown keyboard event and updates the position\n * @param target Keyboard event\n */\n @HostListener('document:keydown', ['$event'])\n handleKey(target: KeyboardEvent): void {\n target.preventDefault();\n this.updatePosition(target.key);\n }\n\n /**\n * Listens for keyup keyboard event and updates currentKey / shiftPressed\n * @param target Keyboard event\n */\n @HostListener('document:keyup', ['$event'])\n keyUp(target: KeyboardEvent): void {\n if (target.key === 'Shift') {\n this.shiftPressed = false;\n } else {\n this.currentKey = undefined;\n }\n }\n\n /**\n * Updates the position when a key is clicked\n * @param key Key value\n */\n keyClick(key: string): void {\n this.updatePosition(key);\n }\n\n /**\n * Updates current key when a key is hovered over\n * @param key Key value\n */\n keyHover(key?: string): void {\n this.currentKey = key;\n }\n}\n\n \n\n \n \n\n \n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SpatialSearchKeyboardUIBehaviorComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{"url":"modules/SpatialSearchKeyboardUIBehaviorModule.html","title":"module - SpatialSearchKeyboardUIBehaviorModule","body":"\n \n\n\n\n\n Modules\n SpatialSearchKeyboardUIBehaviorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SpatialSearchKeyboardUIBehaviorModule\n\n\n\ncluster_SpatialSearchKeyboardUIBehaviorModule_imports\n\n\n\ncluster_SpatialSearchKeyboardUIBehaviorModule_exports\n\n\n\ncluster_SpatialSearchKeyboardUIBehaviorModule_declarations\n\n\n\n\nSpatialSearchKeyboardUIBehaviorComponent\n\nSpatialSearchKeyboardUIBehaviorComponent\n\n\n\nSpatialSearchKeyboardUIBehaviorModule\n\nSpatialSearchKeyboardUIBehaviorModule\n\nSpatialSearchKeyboardUIBehaviorModule -->\n\nSpatialSearchKeyboardUIBehaviorComponent->SpatialSearchKeyboardUIBehaviorModule\n\n\n\n\n\nSpatialSearchKeyboardUIBehaviorComponent \n\nSpatialSearchKeyboardUIBehaviorComponent \n\nSpatialSearchKeyboardUIBehaviorComponent -->\n\nSpatialSearchKeyboardUIBehaviorModule->SpatialSearchKeyboardUIBehaviorComponent \n\n\n\n\n\nSpatialSearchKeyboardUIModule\n\nSpatialSearchKeyboardUIModule\n\nSpatialSearchKeyboardUIBehaviorModule -->\n\nSpatialSearchKeyboardUIModule->SpatialSearchKeyboardUIBehaviorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SpatialSearchKeyboardUIBehaviorComponent\n \n \n \n \n Imports\n \n \n SpatialSearchKeyboardUIModule\n \n \n \n \n Exports\n \n \n SpatialSearchKeyboardUIBehaviorComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SpatialSearchKeyboardUIModule } from '../spatial-search-keyboard-ui/spatial-search-keyboard-ui.module';\nimport { SpatialSearchKeyboardUIBehaviorComponent } from './spatial-search-keyboard-ui-behavior.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SpatialSearchKeyboardUIModule\n ],\n declarations: [SpatialSearchKeyboardUIBehaviorComponent],\n exports: [SpatialSearchKeyboardUIBehaviorComponent]\n})\nexport class SpatialSearchKeyboardUIBehaviorModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SpatialSearchKeyboardUIComponent.html":{"url":"components/SpatialSearchKeyboardUIComponent.html","title":"component - SpatialSearchKeyboardUIComponent","body":"\n \n\n\n\n\n\n Components\n \n SpatialSearchKeyboardUIComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts\n\n\n\n \n Description\n \n \n Keyboard control UI for spatial search\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-spatial-search-keyboard-ui\n \n\n \n styleUrls\n ./spatial-search-keyboard-ui.component.scss\n \n\n\n\n \n templateUrl\n ./spatial-search-keyboard-ui.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n keyMap\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n currentKey\n \n \n shiftPressed\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n keyClicked\n \n \n keyHovered\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n currentKey\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts:18\n \n \n \n \n Current key pressed\n\n \n \n \n \n \n \n \n \n \n shiftPressed\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts:21\n \n \n \n \n True if shift key is pressed\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n keyClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts:24\n \n \n \n \n Emits when a key is clicked\n\n \n \n \n \n \n \n \n \n \n keyHovered\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts:27\n \n \n \n \n Emits the key value when a key is hovered over\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-spatial-search-keyboard-ui\"\n\n \n \n \n \n Default value : 'ccf-spatial-search-keyboard-ui'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts:15\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-spatial-search-keyboard-ui'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts:15\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n keyMap\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n {\n key: 'w',\n direction: 'north'\n },\n {\n key: 's',\n direction: 'south'\n },\n {\n key: 'a',\n direction: 'west'\n },\n {\n key: 'd',\n direction: 'east'\n },\n {\n key: 'e',\n direction: 'north_east'\n },\n {\n key: 'q',\n direction: 'south_west'\n }\n ]\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts:30\n \n \n\n \n \n List of keys and their arrow icons that appear when the key is pressed\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\n\n/**\n * Keyboard control UI for spatial search\n */\n@Component({\n selector: 'ccf-spatial-search-keyboard-ui',\n templateUrl: './spatial-search-keyboard-ui.component.html',\n styleUrls: ['./spatial-search-keyboard-ui.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpatialSearchKeyboardUIComponent {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-spatial-search-keyboard-ui';\n\n /** Current key pressed */\n @Input() currentKey?: string;\n\n /** True if shift key is pressed */\n @Input() shiftPressed: boolean;\n\n /** Emits when a key is clicked */\n @Output() readonly keyClicked = new EventEmitter();\n\n /** Emits the key value when a key is hovered over */\n @Output() readonly keyHovered = new EventEmitter();\n\n /** List of keys and their arrow icons that appear when the key is pressed */\n keyMap = [\n {\n key: 'w',\n direction: 'north'\n },\n {\n key: 's',\n direction: 'south'\n },\n {\n key: 'a',\n direction: 'west'\n },\n {\n key: 'd',\n direction: 'east'\n },\n {\n key: 'e',\n direction: 'north_east'\n },\n {\n key: 'q',\n direction: 'south_west'\n }\n ];\n}\n\n \n\n \n \n {{key.direction}}\n \n\n\n \n Q\n W\n E\n \n \n A\n S\n D\n \n SHIFT\n\n\n \n\n \n \n ./spatial-search-keyboard-ui.component.scss\n \n :host {\n .direction-arrow {\n display: grid;\n grid-template-columns: repeat(5, .5fr);\n grid-template-rows: 1fr;\n grid-column-gap: 0px;\n grid-row-gap: 0px;\n margin-bottom: 1rem;\n width: 7rem;\n\n .arrow {\n grid-area: 1 / 3 / 2 / 4;\n opacity: 0;\n transition: 0.5s;\n\n &.active {\n opacity: 1;\n }\n }\n }\n\n .keys {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 0px;\n gap: 0.5rem;\n width: 7rem;\n height: 7rem;\n user-select: none;\n\n .keyrow {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: 0px;\n gap: 0.5rem;\n\n .key {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 0.25rem;\n width: 2rem;\n height: 2rem;\n border: 2px solid;\n border-radius: 0.5rem;\n cursor: pointer;\n }\n }\n\n .shift {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 0.25rem;\n width: 7rem;\n height: 2rem;\n border: 2px solid;\n border-radius: 0.5rem;\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{key.direction}} Q W E A S D SHIFT'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SpatialSearchKeyboardUIComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SpatialSearchKeyboardUIModule.html":{"url":"modules/SpatialSearchKeyboardUIModule.html","title":"module - SpatialSearchKeyboardUIModule","body":"\n \n\n\n\n\n Modules\n SpatialSearchKeyboardUIModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SpatialSearchKeyboardUIModule\n\n\n\ncluster_SpatialSearchKeyboardUIModule_declarations\n\n\n\ncluster_SpatialSearchKeyboardUIModule_exports\n\n\n\n\nSpatialSearchKeyboardUIComponent\n\nSpatialSearchKeyboardUIComponent\n\n\n\nSpatialSearchKeyboardUIModule\n\nSpatialSearchKeyboardUIModule\n\nSpatialSearchKeyboardUIModule -->\n\nSpatialSearchKeyboardUIComponent->SpatialSearchKeyboardUIModule\n\n\n\n\n\nSpatialSearchKeyboardUIComponent \n\nSpatialSearchKeyboardUIComponent \n\nSpatialSearchKeyboardUIComponent -->\n\nSpatialSearchKeyboardUIModule->SpatialSearchKeyboardUIComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SpatialSearchKeyboardUIComponent\n \n \n \n \n Exports\n \n \n SpatialSearchKeyboardUIComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { SpatialSearchKeyboardUIComponent } from './spatial-search-keyboard-ui.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatIconModule\n ],\n declarations: [SpatialSearchKeyboardUIComponent],\n exports: [SpatialSearchKeyboardUIComponent]\n})\nexport class SpatialSearchKeyboardUIModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SpatialSearchUiBehaviorComponent.html":{"url":"components/SpatialSearchUiBehaviorComponent.html","title":"component - SpatialSearchUiBehaviorComponent","body":"\n \n\n\n\n\n\n Components\n \n SpatialSearchUiBehaviorComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts\n\n\n\n \n Description\n \n \n Behavioral component for Spatial Search UI\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-spatial-search-ui-behavior\n \n\n\n\n\n \n templateUrl\n ./spatial-search-ui-behavior.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n anatomicalStructures$\n \n \n Readonly\n cellTypes$\n \n \n Readonly\n defaultPosition$\n \n \n Public\n dialog\n \n \n Readonly\n moveToNode\n \n \n Readonly\n organ$\n \n \n panelData\n \n \n Readonly\n position$\n \n \n Readonly\n radius$\n \n \n Readonly\n radiusSettings$\n \n \n Readonly\n resetPosition\n \n \n Readonly\n resetRadius\n \n \n Readonly\n scene$\n \n \n Readonly\n sceneBounds$\n \n \n Readonly\n sceneTarget$\n \n \n Readonly\n sex$\n \n \n Private\n Readonly\n subscriptions\n \n \n Readonly\n tissueBlocks$\n \n \n Readonly\n updatePosition\n \n \n Readonly\n updateRadius\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addSpatialSearch\n \n \n close\n \n \n launchInfoDialog\n \n \n onDialogButtonClick\n \n \n openSpatialSearchConfig\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialogRef: MatDialogRef, dialog: MatDialog, infoService: InfoButtonService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:92\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n \n infoService\n \n \n InfoButtonService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addSpatialSearch\n \n \n \n \n \n \naddSpatialSearch()\n \n \n\n \n \n Decorators : \n \n @Dispatch()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:144\n \n \n\n\n \n \n Adds a new spatial search and closes the spatial search UI\n\n\n \n \n \n Returns : GenerateSpatialSearch\n\n \n \n spatial search\n\n \n \n \n \n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:135\n \n \n\n\n \n \n Closes spatial search UI\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n launchInfoDialog\n \n \n \n \n \n \nlaunchInfoDialog(data: PanelData)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:104\n \n \n\n\n \n \n Launchs info dialog with the input data\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n data\n \n PanelData\n \n\n \n No\n \n\n\n \n Data for the info dialog\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n onDialogButtonClick\n \n \n \n \n \n \nonDialogButtonClick()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:121\n \n \n\n\n \n \n Updates dialog with spatial search information\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n openSpatialSearchConfig\n \n \n \n \n \n \nopenSpatialSearchConfig()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:152\n \n \n\n\n \n \n Closes the spatial search UI and opens spatial search config\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n anatomicalStructures$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.anatomicalStructures)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n cellTypes$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.cellTypes)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n defaultPosition$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.defaultPosition)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n dialog\n \n \n \n \n \n \n Type : MatDialog\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:96\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n moveToNode\n \n \n \n \n \n \n Default value : actionAsFn(MoveToNode)\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:80\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n organ$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.organ)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n panelData\n \n \n \n \n \n \n Type : PanelData\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:89\n \n \n\n \n \n Data to be displayed in the info panel\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n position$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.position)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n radius$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.radius)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n radiusSettings$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.radiusSettings)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n resetPosition\n \n \n \n \n \n \n Default value : actionAsFn(ResetPosition)\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n resetRadius\n \n \n \n \n \n \n Default value : actionAsFn(ResetRadius)\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:86\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n scene$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.scene)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n sceneBounds$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.sceneBounds)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n sceneTarget$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.sceneTarget)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n sex$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.sex)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:92\n \n \n\n \n \n Subscriptions for the info panel data\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n tissueBlocks$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.tissueBlocks)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n updatePosition\n \n \n \n \n \n \n Default value : actionAsFn(SetPosition)\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n updateRadius\n \n \n \n \n \n \n Default value : actionAsFn(SetRadius)\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:83\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { Dispatch } from '@ngxs-labs/dispatch-decorator';\nimport { Select } from '@ngxs/store';\nimport { SpatialSceneNode, TissueBlockResult } from 'ccf-database';\nimport { InfoButtonService, InfoDialogComponent, OrganInfo, PanelData } from 'ccf-shared';\nimport { Observable, Subscription } from 'rxjs';\n\nimport { actionAsFn } from '../../../core/store/action-as-fn';\nimport {\n GenerateSpatialSearch,\n MoveToNode,\n ResetPosition,\n ResetRadius,\n SetPosition,\n SetRadius,\n} from '../../../core/store/spatial-search-ui/spatial-search-ui.actions';\nimport { SpatialSearchUiSelectors } from '../../../core/store/spatial-search-ui/spatial-search-ui.selectors';\nimport { Position, RadiusSettings, TermResult } from '../../../core/store/spatial-search-ui/spatial-search-ui.state';\nimport {\n SpatialSearchConfigBehaviorComponent,\n} from '../spatial-search-config-behavior/spatial-search-config-behavior.component';\nimport { Sex } from '../spatial-search-config/spatial-search-config.component';\nimport { SpatialSearchUiComponent } from '../spatial-search-ui/spatial-search-ui.component';\n\n\n/**\n * Behavioral component for Spatial Search UI\n */\n@Component({\n selector: 'ccf-spatial-search-ui-behavior',\n templateUrl: './spatial-search-ui-behavior.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpatialSearchUiBehaviorComponent {\n\n @Select(SpatialSearchUiSelectors.scene)\n readonly scene$: Observable;\n\n @Select(SpatialSearchUiSelectors.sceneBounds)\n readonly sceneBounds$: Observable;\n\n @Select(SpatialSearchUiSelectors.sceneTarget)\n readonly sceneTarget$: Observable;\n\n @Select(SpatialSearchUiSelectors.sex)\n readonly sex$: Observable;\n\n @Select(SpatialSearchUiSelectors.organ)\n readonly organ$: Observable;\n\n @Select(SpatialSearchUiSelectors.position)\n readonly position$: Observable;\n\n @Select(SpatialSearchUiSelectors.defaultPosition)\n readonly defaultPosition$: Observable;\n\n @Select(SpatialSearchUiSelectors.radius)\n readonly radius$: Observable;\n\n @Select(SpatialSearchUiSelectors.radiusSettings)\n readonly radiusSettings$: Observable;\n\n @Select(SpatialSearchUiSelectors.tissueBlocks)\n readonly tissueBlocks$: Observable;\n\n @Select(SpatialSearchUiSelectors.anatomicalStructures)\n readonly anatomicalStructures$: Observable;\n\n @Select(SpatialSearchUiSelectors.cellTypes)\n readonly cellTypes$: Observable;\n\n @Dispatch()\n readonly updatePosition = actionAsFn(SetPosition);\n\n @Dispatch()\n readonly resetPosition = actionAsFn(ResetPosition);\n\n @Dispatch()\n readonly moveToNode = actionAsFn(MoveToNode);\n\n @Dispatch()\n readonly updateRadius = actionAsFn(SetRadius);\n\n @Dispatch()\n readonly resetRadius = actionAsFn(ResetRadius);\n\n /** Data to be displayed in the info panel */\n panelData: PanelData;\n\n /** Subscriptions for the info panel data */\n private readonly subscriptions = new Subscription();\n\n constructor(\n private readonly dialogRef: MatDialogRef,\n public dialog: MatDialog,\n private readonly infoService: InfoButtonService\n ) { }\n\n /**\n * Launchs info dialog with the input data\n * @param data Data for the info dialog\n */\n launchInfoDialog(data: PanelData): void {\n this.subscriptions.unsubscribe();\n this.dialog.open(InfoDialogComponent, {\n autoFocus: false,\n panelClass: 'modal-animated',\n width: '72rem',\n data: {\n title: data.infoTitle,\n content: data.content,\n videoID: data.videoID\n }\n });\n }\n\n /**\n * Updates dialog with spatial search information\n */\n onDialogButtonClick(): void {\n this.infoService.updateData('assets/docs/SPATIAL_SEARCH_README.md', 'UfxMpzatowE', 'Spatial Search');\n const panelContent$ = this.infoService.panelContent.asObservable();\n this.subscriptions.add(panelContent$.subscribe(data => {\n if (data.content.length) {\n this.panelData = data;\n this.launchInfoDialog(this.panelData);\n }\n }));\n }\n\n /**\n * Closes spatial search UI\n */\n close(): void {\n this.dialogRef.close();\n }\n\n /**\n * Adds a new spatial search and closes the spatial search UI\n * @returns spatial search\n */\n @Dispatch()\n addSpatialSearch(): GenerateSpatialSearch {\n this.close();\n return new GenerateSpatialSearch();\n }\n\n /**\n * Closes the spatial search UI and opens spatial search config\n */\n openSpatialSearchConfig(): void {\n this.close();\n this.dialog.open(SpatialSearchConfigBehaviorComponent);\n }\n}\n\n \n\n \n \n\n\n \n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SpatialSearchUiBehaviorComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SpatialSearchUiBehaviorModule.html":{"url":"modules/SpatialSearchUiBehaviorModule.html","title":"module - SpatialSearchUiBehaviorModule","body":"\n \n\n\n\n\n Modules\n SpatialSearchUiBehaviorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SpatialSearchUiBehaviorModule\n\n\n\ncluster_SpatialSearchUiBehaviorModule_declarations\n\n\n\ncluster_SpatialSearchUiBehaviorModule_imports\n\n\n\ncluster_SpatialSearchUiBehaviorModule_exports\n\n\n\n\nSpatialSearchUiBehaviorComponent\n\nSpatialSearchUiBehaviorComponent\n\n\n\nSpatialSearchUiBehaviorModule\n\nSpatialSearchUiBehaviorModule\n\nSpatialSearchUiBehaviorModule -->\n\nSpatialSearchUiBehaviorComponent->SpatialSearchUiBehaviorModule\n\n\n\n\n\nSpatialSearchUiBehaviorComponent \n\nSpatialSearchUiBehaviorComponent \n\nSpatialSearchUiBehaviorComponent -->\n\nSpatialSearchUiBehaviorModule->SpatialSearchUiBehaviorComponent \n\n\n\n\n\nSpatialSearchUiModule\n\nSpatialSearchUiModule\n\nSpatialSearchUiBehaviorModule -->\n\nSpatialSearchUiModule->SpatialSearchUiBehaviorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SpatialSearchUiBehaviorComponent\n \n \n \n \n Imports\n \n \n SpatialSearchUiModule\n \n \n \n \n Exports\n \n \n SpatialSearchUiBehaviorComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { SpatialSearchUiModule } from '../spatial-search-ui/spatial-search-ui.module';\nimport { SpatialSearchUiBehaviorComponent } from './spatial-search-ui-behavior.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SpatialSearchUiModule,\n MatDialogModule\n ],\n declarations: [SpatialSearchUiBehaviorComponent],\n exports: [SpatialSearchUiBehaviorComponent]\n})\nexport class SpatialSearchUiBehaviorModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SpatialSearchUiComponent.html":{"url":"components/SpatialSearchUiComponent.html","title":"component - SpatialSearchUiComponent","body":"\n \n\n\n\n\n\n Components\n \n SpatialSearchUiComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts\n\n\n\n \n Description\n \n \n Main Spatial Search UI component\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-spatial-search-ui\n \n\n \n styleUrls\n ./spatial-search-ui.component.scss\n \n\n\n\n \n templateUrl\n ./spatial-search-ui.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n anatomicalStructures\n \n \n cellTypes\n \n \n defaultPosition\n \n \n position\n \n \n radius\n \n \n radiusSettings\n \n \n referenceOrgan\n \n \n scene\n \n \n sceneBounds\n \n \n sceneTarget\n \n \n sex\n \n \n tissueBlocks\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n addSpatialSearch\n \n \n closeSpatialSearch\n \n \n editReferenceOrganClicked\n \n \n infoClicked\n \n \n nodeClicked\n \n \n positionChange\n \n \n radiusChange\n \n \n resetPosition\n \n \n resetSphere\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n anatomicalStructures\n \n \n \n \n Type : TermResult[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:53\n \n \n \n \n Anatomical structures within the sphere radius\n\n \n \n \n \n \n \n \n \n \n cellTypes\n \n \n \n \n Type : TermResult[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:56\n \n \n \n \n Cell types within the sphere radius\n\n \n \n \n \n \n \n \n \n \n defaultPosition\n \n \n \n \n Type : Position\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:44\n \n \n \n \n Starting position of sphere\n\n \n \n \n \n \n \n \n \n \n position\n \n \n \n \n Type : Position\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:47\n \n \n \n \n Current position of sphere\n\n \n \n \n \n \n \n \n \n \n radius\n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:38\n \n \n \n \n Current sphere radius setting\n\n \n \n \n \n \n \n \n \n \n radiusSettings\n \n \n \n \n Type : RadiusSettings\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:41\n \n \n \n \n Maximum, minimum, and default sphere radius values\n\n \n \n \n \n \n \n \n \n \n referenceOrgan\n \n \n \n \n Type : OrganInfo\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:35\n \n \n \n \n Current selected organ\n\n \n \n \n \n \n \n \n \n \n scene\n \n \n \n \n Type : SpatialSceneNode[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:23\n \n \n \n \n Nodes in the scene\n\n \n \n \n \n \n \n \n \n \n sceneBounds\n \n \n \n \n Type : Position\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:26\n \n \n \n \n Bounds of the scene\n\n \n \n \n \n \n \n \n \n \n sceneTarget\n \n \n \n \n Type : [number, number, number]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:29\n \n \n \n \n Scene target\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:32\n \n \n \n \n Current selected sex\n\n \n \n \n \n \n \n \n \n \n tissueBlocks\n \n \n \n \n Type : TissueBlockResult[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:50\n \n \n \n \n Tissue blocks within the sphere radius\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n addSpatialSearch\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:59\n \n \n \n \n Emits when run spatial search button clicked\n\n \n \n \n \n \n \n \n \n \n closeSpatialSearch\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:68\n \n \n \n \n Emits when close button clicked\n\n \n \n \n \n \n \n \n \n \n editReferenceOrganClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:77\n \n \n \n \n Emits when the edit organ link is clicked\n\n \n \n \n \n \n \n \n \n \n infoClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:80\n \n \n \n \n Emits when info button in header is clicked\n\n \n \n \n \n \n \n \n \n \n nodeClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:83\n \n \n \n \n Emits when a node in the scene is clicked\n\n \n \n \n \n \n \n \n \n \n positionChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:74\n \n \n \n \n Emits when the sphere position changes\n\n \n \n \n \n \n \n \n \n \n radiusChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:71\n \n \n \n \n Emits when the radius changes\n\n \n \n \n \n \n \n \n \n \n resetPosition\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:62\n \n \n \n \n Emits when reset probing sphere button clicked\n\n \n \n \n \n \n \n \n \n \n resetSphere\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:65\n \n \n \n \n Emits when reset camera button clicked\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-spatial-search-ui\"\n\n \n \n \n \n Default value : 'ccf-spatial-search-ui'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:20\n \n \n\n \n \n HTML Class\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-spatial-search-ui'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:20\n \n \n\n \n \n HTML Class\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { SpatialSceneNode } from 'ccf-body-ui';\nimport { TissueBlockResult } from 'ccf-database';\nimport { OrganInfo } from 'ccf-shared';\n\nimport { Position, RadiusSettings, TermResult } from '../../../core/store/spatial-search-ui/spatial-search-ui.state';\n\n/**\n * Main Spatial Search UI component\n */\n@Component({\n selector: 'ccf-spatial-search-ui',\n templateUrl: './spatial-search-ui.component.html',\n styleUrls: ['./spatial-search-ui.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class SpatialSearchUiComponent {\n /** HTML Class */\n @HostBinding('class') readonly className = 'ccf-spatial-search-ui';\n\n /** Nodes in the scene */\n @Input() readonly scene: SpatialSceneNode[];\n\n /** Bounds of the scene */\n @Input() readonly sceneBounds: Position;\n\n /** Scene target */\n @Input() readonly sceneTarget: [number, number, number];\n\n /** Current selected sex */\n @Input() readonly sex: string;\n\n /** Current selected organ */\n @Input() readonly referenceOrgan: OrganInfo;\n\n /** Current sphere radius setting */\n @Input() readonly radius: number;\n\n /** Maximum, minimum, and default sphere radius values */\n @Input() readonly radiusSettings: RadiusSettings;\n\n /** Starting position of sphere */\n @Input() readonly defaultPosition: Position;\n\n /** Current position of sphere */\n @Input() readonly position: Position;\n\n /** Tissue blocks within the sphere radius */\n @Input() readonly tissueBlocks: TissueBlockResult[];\n\n /** Anatomical structures within the sphere radius */\n @Input() readonly anatomicalStructures: TermResult[];\n\n /** Cell types within the sphere radius */\n @Input() readonly cellTypes: TermResult[];\n\n /** Emits when run spatial search button clicked */\n @Output() readonly addSpatialSearch = new EventEmitter();\n\n /** Emits when reset probing sphere button clicked */\n @Output() readonly resetPosition = new EventEmitter();\n\n /** Emits when reset camera button clicked */\n @Output() readonly resetSphere = new EventEmitter();\n\n /** Emits when close button clicked */\n @Output() readonly closeSpatialSearch = new EventEmitter();\n\n /** Emits when the radius changes */\n @Output() readonly radiusChange = new EventEmitter();\n\n /** Emits when the sphere position changes */\n @Output() readonly positionChange = new EventEmitter();\n\n /** Emits when the edit organ link is clicked */\n @Output() readonly editReferenceOrganClicked = new EventEmitter();\n\n /** Emits when info button in header is clicked */\n @Output() readonly infoClicked = new EventEmitter();\n\n /** Emits when a node in the scene is clicked */\n @Output() readonly nodeClicked = new EventEmitter();\n}\n\n \n\n \n \n Configure Spatial Search\n \n info\n \n \n close\n \n\n\n\n \n \n \n Donor Sex: \n {{sex.charAt(0).toUpperCase() + sex.slice(1)}}\n \n \n Organ: \n {{referenceOrgan.name}}\n \n Edit\n \n \n \n Probing Sphere Radius\n \n \n {{ radius }} mm\n \n \n Reset Probing Sphere\n Reset\n Camera View\n \n \n \n \n \n \n \n \n \n Run Spatial Search\n \n \n \n Use the keyboard or click a Tissue Block to move the Probing Sphere\n \n \n \n \n \n \n \n \n\n\n \n\n \n \n ./spatial-search-ui.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 2rem;\n gap: 1rem;\n height: 95vh;\n width: 78vw;\n border-radius: 0.25rem;\n min-height: 45rem;\n min-width: 60rem;\n\n .header {\n display: flex;\n width: 100%;\n\n .info, .close {\n padding: 0;\n background: none;\n border: none;\n cursor: pointer;\n outline: none;\n border-radius: 0.25rem;\n transition: 0.6s;\n }\n\n .title {\n display: flex;\n align-items: center;\n margin-right: 1rem;\n }\n\n .close {\n margin-left: auto;\n }\n }\n\n .content {\n display: flex;\n width: 100%;\n height: calc(100% - 3.5rem);\n\n .button {\n border-width: 1px;\n border-style: solid;\n border-radius: 0.25rem;\n font-size: 0.875rem;\n height: 2rem;\n line-height: 2rem;\n transition: 0.5s;\n\n &.disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n }\n\n .info-panel {\n display: flex;\n flex-direction: column;\n margin-right: 2rem;\n grid-gap: 1rem;\n gap: 1rem;\n width: 25rem;\n\n .organ-sex-selection {\n display: flex;\n font-size: 1rem;\n justify-content: space-between;\n\n .sex, .organ {\n display: flex;\n\n .label {\n font-weight: 300;\n margin-right: 0.5rem;\n }\n\n .current-sex, .current-organ {\n font-weight: 600;\n }\n }\n\n .edit {\n cursor: pointer;\n }\n }\n\n .radius-slider {\n display: flex;\n flex-direction: column;\n\n .title {\n font-weight: 600;\n font-size: 1rem;\n }\n\n .slider-container {\n display: flex;\n justify-content: space-between;\n\n .slider {\n width: 19rem;\n }\n\n .value {\n display: flex;\n align-items: center;\n font-size: 1rem;\n }\n }\n\n .reset-buttons {\n display: flex;\n justify-content: space-between;\n\n button {\n width: 11.5rem;\n }\n }\n }\n\n .results {\n height: calc(100% - 15rem - 2px);\n .list {\n height: 33%;\n display: flex;\n flex-direction: column;\n \n }\n }\n }\n\n .spatial-search-scene {\n display: flex;\n width: calc(100% - 25rem);\n background-color: black;\n border-bottom-left-radius: 0.5rem;\n border-bottom-right-radius: 0.5rem;\n border-top-right-radius: .5rem;\n border-top-left-radius: .5rem;\n\n .primary-scene-wrapper {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n\n .primary-scene {\n flex: auto;\n overflow: hidden;\n }\n\n .body-ui-hint {\n color: white;\n font-size: 1rem;\n margin: 1rem;\n }\n }\n\n .sidebar {\n .minimap-scene {\n margin: 1.5rem;\n width: 12.75rem;\n height: 11rem;\n ::ng-deep .body-ui {\n background-color: #232f3a;\n }\n }\n\n ccf-spatial-search-keyboard-ui-behavior {\n margin: 1.5rem;\n display: flex;\n justify-content: center;\n }\n\n ccf-xyz-position {\n margin: 1.5rem;\n padding-left: 5rem;\n }\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Configure Spatial Search info close Donor Sex: {{sex.charAt(0).toUpperCase() + sex.slice(1)}} Organ: {{referenceOrgan.name}} Edit Probing Sphere Radius {{ radius }} mm Reset Probing Sphere Reset Camera View Run Spatial Search Use the keyboard or click a Tissue Block to move the Probing Sphere '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SpatialSearchUiComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialSearchUiModel.html":{"url":"interfaces/SpatialSearchUiModel.html","title":"interface - SpatialSearchUiModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialSearchUiModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n anatomicalStructures\n \n \n \n Optional\n \n cellTypes\n \n \n \n Optional\n \n defaultPosition\n \n \n \n \n executeSearchOnGeneration\n \n \n \n Optional\n \n organId\n \n \n \n Optional\n \n organScene\n \n \n \n Optional\n \n position\n \n \n \n Optional\n \n radius\n \n \n \n Optional\n \n radiusSettings\n \n \n \n Optional\n \n referenceOrgans\n \n \n \n \n sex\n \n \n \n Optional\n \n spatialSearchScene\n \n \n \n Optional\n \n tissueBlocks\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n anatomicalStructures\n \n \n \n \n \n \n \n \n anatomicalStructures: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n cellTypes\n \n \n \n \n \n \n \n \n cellTypes: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n defaultPosition\n \n \n \n \n \n \n \n \n defaultPosition: Position\n\n \n \n\n\n \n \n Type : Position\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n executeSearchOnGeneration\n \n \n \n \n \n \n \n \n executeSearchOnGeneration: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n organId\n \n \n \n \n \n \n \n \n organId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n organScene\n \n \n \n \n \n \n \n \n organScene: SpatialSceneNode[]\n\n \n \n\n\n \n \n Type : SpatialSceneNode[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n \n \n position: Position\n\n \n \n\n\n \n \n Type : Position\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n radius\n \n \n \n \n \n \n \n \n radius: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n radiusSettings\n \n \n \n \n \n \n \n \n radiusSettings: RadiusSettings\n\n \n \n\n\n \n \n Type : RadiusSettings\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n referenceOrgans\n \n \n \n \n \n \n \n \n referenceOrgans: OrganInfo[]\n\n \n \n\n\n \n \n Type : OrganInfo[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: Sex\n\n \n \n\n\n \n \n Type : Sex\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n spatialSearchScene\n \n \n \n \n \n \n \n \n spatialSearchScene: SpatialSceneNode[]\n\n \n \n\n\n \n \n Type : SpatialSceneNode[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n tissueBlocks\n \n \n \n \n \n \n \n \n tissueBlocks: TissueBlockResult[]\n\n \n \n\n\n \n \n Type : TissueBlockResult[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport { Action, Actions, ofActionDispatched, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { Filter, getOriginScene, SpatialEntity, SpatialSceneNode, SpatialSearch, TissueBlockResult } from 'ccf-database';\nimport { DataSourceService, OrganInfo } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { forkJoin, Observable } from 'rxjs';\nimport { debounceTime, mergeMap, take, tap } from 'rxjs/operators';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { UpdateFilter } from '../data/data.actions';\nimport { DataStateSelectors } from '../data/data.selectors';\nimport { SceneState } from '../scene/scene.state';\nimport { AddSearch } from '../spatial-search-filter/spatial-search-filter.actions';\nimport { SpatialSearchFilterSelectors } from '../spatial-search-filter/spatial-search-filter.selectors';\nimport {\n GenerateSpatialSearch,\n MoveToNode,\n ResetPosition,\n ResetRadius,\n SetExecuteSearchOnGenerate,\n SetOrgan,\n SetPosition,\n SetRadius,\n SetSex,\n StartSpatialSearchFlow,\n UpdateSpatialSearch,\n} from './spatial-search-ui.actions';\n\n\nexport interface Position {\n x: number;\n y: number;\n z: number;\n}\n\nexport interface RadiusSettings {\n min: number;\n max: number;\n defaultValue: number;\n}\n\nexport interface TermResult {\n '@id': string;\n label: string;\n count: number;\n}\n\nexport interface SpatialSearchUiModel {\n sex: Sex;\n organId?: string;\n position?: Position;\n radius?: number;\n\n defaultPosition?: Position;\n radiusSettings?: RadiusSettings;\n\n referenceOrgans?: OrganInfo[];\n organScene?: SpatialSceneNode[];\n\n spatialSearchScene?: SpatialSceneNode[];\n tissueBlocks?: TissueBlockResult[];\n anatomicalStructures?: Record;\n cellTypes?: Record;\n\n executeSearchOnGeneration: boolean;\n}\n\nclass ReallyUpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Really update spatial search data';\n}\n\n\n@State({\n name: 'spatialSearchUi',\n defaults: {\n sex: 'female',\n executeSearchOnGeneration: true\n }\n})\n@Injectable()\nexport class SpatialSearchUiState {\n @Selector([SpatialSearchUiState, SceneState.referenceOrganEntities])\n static organEntity(state: SpatialSearchUiModel, organs: SpatialEntity[]): SpatialEntity | undefined {\n const { organId, sex } = state;\n return organs.find(o => o.representation_of === organId && o.sex?.toLowerCase() === sex);\n }\n\n constructor(\n private readonly dataSource: DataSourceService,\n private readonly store: Store,\n actions$: Actions,\n private readonly ga: GoogleAnalyticsService\n ) {\n actions$.pipe(\n ofActionDispatched(UpdateSpatialSearch),\n debounceTime(500),\n tap(() => store.dispatch(ReallyUpdateSpatialSearch))\n ).subscribe();\n }\n\n @Action(StartSpatialSearchFlow)\n startSpatialSearchFlow(ctx: StateContext): Observable {\n const { sex, organId } = ctx.getState();\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', `${sex}_${shortOrgan}`);\n\n return ctx.dispatch(new SetSex(sex));\n }\n\n /**\n * Updates sex in the SpatialSearchUI and sets selected organ to undefined if not valid for the sex\n */\n @Action(SetSex)\n setSex(ctx: StateContext, { sex }: SetSex): Observable | void {\n let { organId } = ctx.getState();\n ctx.patchState({ sex });\n this.ga.event('set_sex', 'spatial_search_ui', sex);\n\n if (organId !== undefined && !this.organValidForSex(organId, sex)) {\n organId = undefined;\n }\n\n const filter = {\n ...this.store.selectSnapshot(DataStateSelectors.filter),\n spatialSearches: []\n };\n const referenceOrgans = this.store.selectSnapshot(SceneState.referenceOrgans);\n\n return this.dataSource.getOntologyTermOccurences(filter).pipe(\n take(1),\n tap((counts: Record) => {\n ctx.patchState({\n referenceOrgans: referenceOrgans.filter((o) => o.id && !o.disabled && counts[o.id] > 0)\n });\n ctx.dispatch(new SetOrgan(organId));\n })\n );\n }\n\n /**\n * Updates organId in the SpatialSearchUI\n */\n @Action(SetOrgan)\n setOrgan(ctx: StateContext, { organId }: SetOrgan): Observable | void {\n const { sex } = ctx.getState();\n ctx.patchState({ sex, organId });\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', shortOrgan);\n\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && organId && organ.sex) {\n const { x_dimension: width, y_dimension: height, z_dimension: depth } = organ;\n const position = { x: Math.round(width / 2), y: Math.round(height / 2), z: Math.round(depth / 2) };\n const defaultRadius = Math.round(Math.max(width, height, depth) * 0.07);\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter = {\n ...globalFilter,\n sex: organ.sex,\n ontologyTerms: [organId],\n spatialSearches: []\n };\n\n return this.dataSource\n .getReferenceOrganScene(organId, filter)\n .pipe(\n take(1),\n tap((organScene: SpatialSceneNode[]) => {\n ctx.patchState({\n position,\n radius: defaultRadius,\n defaultPosition: position,\n radiusSettings: { min: Math.min(defaultRadius, 5), max: Math.floor(Math.max(width, height, depth) / 1.5), defaultValue: defaultRadius },\n organScene: getOriginScene(organ).concat(organScene)\n });\n }),\n mergeMap(() => ctx.dispatch(new UpdateSpatialSearch()))\n );\n }\n }\n\n /**\n * Updates position in the SpatialSearchUI\n */\n @Action(SetPosition)\n setPosition(ctx: StateContext, { position }: SetPosition): void {\n ctx.patchState({ position });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = position;\n this.ga.event('set_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(ResetPosition)\n resetPosition(ctx: StateContext): void {\n const { defaultPosition } = ctx.getState();\n ctx.patchState({ position: defaultPosition });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = defaultPosition ?? { x: 0, y: 0, z: 0 };\n this.ga.event('reset_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(MoveToNode)\n moveToNode(ctx: StateContext, { node }: MoveToNode): Observable | void {\n const matrix = new Matrix4(node.transformMatrix);\n const [x, y, z] = matrix.getTranslation().map(n => Math.round(n * 1000));\n const position: Position = { x, y, z };\n\n return ctx.dispatch(new SetPosition(position));\n }\n\n /**\n * Updates radius in the SpatialSearchUI\n */\n @Action(SetRadius)\n setRadius(ctx: StateContext, { radius }: SetRadius): void {\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('set_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n @Action(ResetRadius)\n resetRadius(ctx: StateContext): void {\n const { radiusSettings } = ctx.getState();\n const radius = radiusSettings?.defaultValue ?? 0;\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('reset_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n /**\n * Updates the spatial search data as the organ, position, and radius changes\n */\n @Action(ReallyUpdateSpatialSearch)\n updateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && position && radius && organ.representation_of) {\n const db = this.dataSource;\n const organId = organ.representation_of;\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter: Filter = {\n ...globalFilter,\n sex: organ.sex as 'Male' | 'Female',\n ontologyTerms: [organId],\n spatialSearches: [{\n ...position,\n radius: radius,\n target: organ['@id']\n }]\n };\n\n return forkJoin({\n spatialSearchScene: db.getReferenceOrganScene(organId, filter).pipe(take(1)),\n tissueBlocks: db.getTissueBlockResults(filter).pipe(take(1)),\n anatomicalStructures: db.getOntologyTermOccurences(filter).pipe(take(1)),\n cellTypes: db.getCellTypeTermOccurences(filter).pipe(take(1))\n }).pipe(\n tap((data: Partial) => ctx.patchState(data))\n );\n }\n }\n\n /**\n * Generates and adds a new spatial search then resets the ui state\n */\n @Action(GenerateSpatialSearch)\n generateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius, sex, organId, referenceOrgans = [], executeSearchOnGeneration } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n const info = referenceOrgans.find(item => item.id === organId);\n // const { spatialSearches = [] } = this.store.selectSnapshot(DataStateSelectors.filter);\n\n if (position && radius && organ?.representation_of && info) {\n const search: SpatialSearch = {\n ...position,\n radius,\n target: organ['@id']\n };\n const actions: unknown[] = [new AddSearch(sex, info.name, search)];\n\n if (executeSearchOnGeneration) {\n const searches = this.store.selectSnapshot(SpatialSearchFilterSelectors.selectedSearches);\n actions.push(new UpdateFilter({\n spatialSearches: searches.concat(search)\n }));\n }\n\n this.ga.event('generate_search', 'spatial_search_ui');\n return ctx.dispatch(actions).pipe(\n tap(() => ctx.patchState({\n sex: 'female',\n organId: undefined\n }))\n );\n }\n }\n\n @Action(SetExecuteSearchOnGenerate)\n setExecuteSearchOnGenerate(ctx: StateContext, { execute }: SetExecuteSearchOnGenerate): void {\n ctx.patchState({\n executeSearchOnGeneration: execute\n });\n }\n\n /**\n * Used to determine if an organ should be listed if a certain sex is selected\n */\n private organValidForSex(organId: string, sex: Sex): boolean {\n const organs = this.store.selectSnapshot(SceneState.referenceOrgans);\n const organ = organs.find(o => o.id === organId)!;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return organ.hasSex || organ.sex === sex;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SpatialSearchUiModule.html":{"url":"modules/SpatialSearchUiModule.html","title":"module - SpatialSearchUiModule","body":"\n \n\n\n\n\n Modules\n SpatialSearchUiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SpatialSearchUiModule\n\n\n\ncluster_SpatialSearchUiModule_imports\n\n\n\ncluster_SpatialSearchUiModule_exports\n\n\n\ncluster_SpatialSearchUiModule_declarations\n\n\n\n\nSpatialSearchUiComponent\n\nSpatialSearchUiComponent\n\n\n\nSpatialSearchUiModule\n\nSpatialSearchUiModule\n\nSpatialSearchUiModule -->\n\nSpatialSearchUiComponent->SpatialSearchUiModule\n\n\n\n\n\nSpatialSearchUiComponent \n\nSpatialSearchUiComponent \n\nSpatialSearchUiComponent -->\n\nSpatialSearchUiModule->SpatialSearchUiComponent \n\n\n\n\n\nSpatialSearchKeyboardUIBehaviorModule\n\nSpatialSearchKeyboardUIBehaviorModule\n\nSpatialSearchUiModule -->\n\nSpatialSearchKeyboardUIBehaviorModule->SpatialSearchUiModule\n\n\n\n\n\nTermOccurrenceListModule\n\nTermOccurrenceListModule\n\nSpatialSearchUiModule -->\n\nTermOccurrenceListModule->SpatialSearchUiModule\n\n\n\nSpatialSearchUiModule -->\n\nTermOccurrenceListModule->SpatialSearchUiModule\n\n\n\n\n\nTissueBlockListModule\n\nTissueBlockListModule\n\nSpatialSearchUiModule -->\n\nTissueBlockListModule->SpatialSearchUiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SpatialSearchUiComponent\n \n \n \n \n Imports\n \n \n SpatialSearchKeyboardUIBehaviorModule\n \n \n TermOccurrenceListModule\n \n \n TermOccurrenceListModule\n \n \n TissueBlockListModule\n \n \n \n \n Exports\n \n \n SpatialSearchUiComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSliderModule } from '@angular/material/slider';\n\nimport { BodyUiModule, InfoButtonModule, XYZPositionModule } from 'ccf-shared';\nimport { SpatialSearchKeyboardUIBehaviorModule } from '../spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.module';\nimport { TermOccurrenceListModule } from '../term-occurence-list/term-occurrence.module';\nimport { TissueBlockListModule } from '../tissue-block-list/tissue-block-list.module';\nimport { SpatialSearchUiComponent } from './spatial-search-ui.component';\n\n@NgModule({\n imports: [\n CommonModule,\n BodyUiModule,\n XYZPositionModule,\n TissueBlockListModule,\n SpatialSearchKeyboardUIBehaviorModule,\n MatIconModule,\n MatSliderModule,\n TermOccurrenceListModule,\n MatDividerModule,\n MatButtonModule,\n InfoButtonModule,\n TermOccurrenceListModule\n ],\n declarations: [SpatialSearchUiComponent],\n exports: [SpatialSearchUiComponent]\n})\nexport class SpatialSearchUiModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SpatialSearchUiSelectors.html":{"url":"classes/SpatialSearchUiSelectors.html","title":"class - SpatialSearchUiSelectors","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SpatialSearchUiSelectors\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n organEntity\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n anatomicalStructures\n \n \n Static\n cellTypes\n \n \n Static\n defaultPosition\n \n \n Private\n Static\n getTermCounts\n \n \n Static\n organ\n \n \n Static\n organId\n \n \n Static\n organMatchesSex\n \n \n Static\n organs\n \n \n Static\n position\n \n \n Static\n radius\n \n \n Static\n radiusSettings\n \n \n Static\n referenceOrgans\n \n \n Static\n scene\n \n \n Static\n sceneBounds\n \n \n Static\n sceneTarget\n \n \n Static\n sex\n \n \n Static\n tissueBlocks\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n organEntity\n \n \n \n \n \n \n Default value : SpatialSearchUiState.organEntity\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:12\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n anatomicalStructures\n \n \n \n \n \n \n \n anatomicalStructures(state: SpatialSearchUiModel, tree: OntologyTreeModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState', 'undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n tree\n \n OntologyTreeModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : TermResult[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n cellTypes\n \n \n \n \n \n \n \n cellTypes(state: SpatialSearchUiModel, tree: OntologyTreeModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState', 'undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:111\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n tree\n \n OntologyTreeModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : TermResult[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n defaultPosition\n \n \n \n \n \n \n \n defaultPosition(state: SpatialSearchUiModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Position\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n getTermCounts\n \n \n \n \n \n \n \n getTermCounts(counts: Record | undefined, tree: OntologyTreeModel)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n counts\n \n Record | undefined\n \n\n \n No\n \n\n\n \n \n tree\n \n OntologyTreeModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : TermResult[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n organ\n \n \n \n \n \n \n \n organ(id: string | undefined, organs: OrganInfo[])\n \n \n\n \n \n Decorators : \n \n @Selector(['undefined', 'undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n organs\n \n OrganInfo[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OrganInfo | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n organId\n \n \n \n \n \n \n \n organId(state: SpatialSearchUiModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n organMatchesSex\n \n \n \n \n \n \n \n organMatchesSex(organ: OrganInfo, sex: Sex)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organ\n \n OrganInfo\n \n\n \n No\n \n\n\n \n \n sex\n \n Sex\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n organs\n \n \n \n \n \n \n \n organs(sex: Sex, organs: OrganInfo[])\n \n \n\n \n \n Decorators : \n \n @Selector(['undefined', 'undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sex\n \n Sex\n \n\n \n No\n \n\n\n \n \n organs\n \n OrganInfo[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OrganInfo[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n position\n \n \n \n \n \n \n \n position(state: SpatialSearchUiModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Position\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n radius\n \n \n \n \n \n \n \n radius(state: SpatialSearchUiModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : number\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n radiusSettings\n \n \n \n \n \n \n \n radiusSettings(state: SpatialSearchUiModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : RadiusSettings\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n referenceOrgans\n \n \n \n \n \n \n \n referenceOrgans(state: SpatialSearchUiModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OrganInfo[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n scene\n \n \n \n \n \n \n \n scene(state: SpatialSearchUiModel, organEntity: SpatialEntity, position: Position, radius: number)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState', 'undefined', 'undefined', 'undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n organEntity\n \n SpatialEntity\n \n\n \n No\n \n\n\n \n \n position\n \n Position\n \n\n \n No\n \n\n\n \n \n radius\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n sceneBounds\n \n \n \n \n \n \n \n sceneBounds(organEntity: SpatialEntity)\n \n \n\n \n \n Decorators : \n \n @Selector(['undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organEntity\n \n SpatialEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Position\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n sceneTarget\n \n \n \n \n \n \n \n sceneTarget(organEntity: SpatialEntity)\n \n \n\n \n \n Decorators : \n \n @Selector(['undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organEntity\n \n SpatialEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n sex\n \n \n \n \n \n \n \n sex(state: SpatialSearchUiModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Sex\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n tissueBlocks\n \n \n \n \n \n \n \n tissueBlocks(state: SpatialSearchUiModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:101\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : TissueBlockResult[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Selector } from '@ngxs/store';\nimport { SpatialSceneNode } from 'ccf-body-ui';\nimport { getProbingSphereScene, OntologyTreeModel, SpatialEntity, TissueBlockResult } from 'ccf-database';\nimport { OrganInfo } from 'ccf-shared';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { DataStateSelectors } from '../data/data.selectors';\nimport { Position, RadiusSettings, SpatialSearchUiModel, SpatialSearchUiState, TermResult } from './spatial-search-ui.state';\n\n\nexport class SpatialSearchUiSelectors {\n static readonly organEntity = SpatialSearchUiState.organEntity;\n\n @Selector([SpatialSearchUiState])\n static sex(state: SpatialSearchUiModel): Sex {\n return state.sex;\n }\n\n @Selector([SpatialSearchUiState])\n static referenceOrgans(state: SpatialSearchUiModel): OrganInfo[] {\n return state.referenceOrgans ?? [];\n }\n\n @Selector([SpatialSearchUiState])\n static organId(state: SpatialSearchUiModel): string | undefined {\n return state.organId;\n }\n\n @Selector([SpatialSearchUiSelectors.organId, SpatialSearchUiSelectors.referenceOrgans])\n static organ(id: string | undefined, organs: OrganInfo[]): OrganInfo | undefined {\n if (id === undefined) {\n return undefined;\n }\n\n return organs.find(organ => organ.id === id);\n }\n\n @Selector([SpatialSearchUiSelectors.sex, SpatialSearchUiSelectors.referenceOrgans])\n static organs(sex: Sex, organs: OrganInfo[]): OrganInfo[] {\n return organs.filter(organ => this.organMatchesSex(organ, sex));\n }\n\n static organMatchesSex(organ: OrganInfo, sex: Sex): boolean {\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return organ.hasSex || organ.sex === sex;\n }\n\n @Selector([SpatialSearchUiState])\n static position(state: SpatialSearchUiModel): Position {\n return state.position ?? { x: 0, y: 0, z: 0 };\n }\n\n @Selector([SpatialSearchUiState])\n static defaultPosition(state: SpatialSearchUiModel): Position {\n return state.defaultPosition ?? { x: 0, y: 0, z: 0 };\n }\n\n @Selector([SpatialSearchUiState])\n static radius(state: SpatialSearchUiModel): number {\n return state.radius ?? 0;\n }\n\n @Selector([SpatialSearchUiState])\n static radiusSettings(state: SpatialSearchUiModel): RadiusSettings {\n return state.radiusSettings ?? { min: 0, max: 0, defaultValue: 0 };\n }\n\n @Selector([SpatialSearchUiState, SpatialSearchUiState.organEntity, SpatialSearchUiSelectors.position, SpatialSearchUiSelectors.radius])\n static scene(state: SpatialSearchUiModel, organEntity: SpatialEntity, position: Position, radius: number): SpatialSceneNode[] {\n const sphere = getProbingSphereScene(organEntity, {\n ...position, radius, target: organEntity['@id']\n });\n const collisions = new Set((state.tissueBlocks ?? []).map(block => block.spatialEntityId));\n const organScene = (state.organScene ?? []).map(s => {\n if (collisions.has(s['@id'])) {\n s = { ...s, color: [41, 121, 255, 0.9 * 255] };\n }\n return s;\n });\n return organScene.concat(sphere);\n }\n\n @Selector([SpatialSearchUiState.organEntity])\n static sceneBounds(organEntity: SpatialEntity): Position {\n const { x_dimension: x, y_dimension: y, z_dimension: z } = organEntity;\n const margin = Math.max(x, y, z) * 0.42;\n return {\n x: (margin + x) / 1000,\n y: (margin + y) / 1000,\n z: (margin + z) / 1000\n };\n }\n\n @Selector([SpatialSearchUiState.organEntity])\n static sceneTarget(organEntity: SpatialEntity): [number, number, number] {\n const { x_dimension: x, y_dimension: y, z_dimension: z } = organEntity;\n return [x / 1000 / 2, y / 1000 / 2, z / 1000 / 2];\n }\n\n @Selector([SpatialSearchUiState])\n static tissueBlocks(state: SpatialSearchUiModel): TissueBlockResult[] {\n return state.tissueBlocks ?? [];\n }\n\n @Selector([SpatialSearchUiState, DataStateSelectors.anatomicalStructuresTreeModel])\n static anatomicalStructures(state: SpatialSearchUiModel, tree: OntologyTreeModel): TermResult[] {\n return this.getTermCounts(state.anatomicalStructures, tree);\n }\n\n @Selector([SpatialSearchUiState, DataStateSelectors.cellTypesTreeModel])\n static cellTypes(state: SpatialSearchUiModel, tree: OntologyTreeModel): TermResult[] {\n return this.getTermCounts(state.cellTypes, tree);\n }\n\n private static getTermCounts(counts: Record | undefined, tree: OntologyTreeModel): TermResult[] {\n return Object.entries(counts ?? {}).filter(([_, count]) => count > 0).map(([term, count]) => ({\n '@id': term,\n label: tree.nodes[term]?.label ?? term.split('/').slice(-1)[0],\n count\n }));\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SpatialSearchUiState.html":{"url":"injectables/SpatialSearchUiState.html","title":"injectable - SpatialSearchUiState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n SpatialSearchUiState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n generateSpatialSearch\n \n \n moveToNode\n \n \n Static\n organEntity\n \n \n Private\n organValidForSex\n \n \n resetPosition\n \n \n resetRadius\n \n \n setExecuteSearchOnGenerate\n \n \n setOrgan\n \n \n setPosition\n \n \n setRadius\n \n \n setSex\n \n \n startSpatialSearchFlow\n \n \n updateSpatialSearch\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dataSource: DataSourceService, store: Store, actions$: Actions, ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:87\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dataSource\n \n \n DataSourceService\n \n \n \n No\n \n \n \n \n store\n \n \n Store\n \n \n \n No\n \n \n \n \n actions$\n \n \n Actions\n \n \n \n No\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n generateSpatialSearch\n \n \n \n \n \n \ngenerateSpatialSearch(ctx: StateContext)\n \n \n\n \n \n Decorators : \n \n @Action(GenerateSpatialSearch)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:271\n \n \n\n\n \n \n Generates and adds a new spatial search then resets the ui state\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable | void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n moveToNode\n \n \n \n \n \n \nmoveToNode(ctx: StateContext, undefined: MoveToNode)\n \n \n\n \n \n Decorators : \n \n @Action(MoveToNode)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:205\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n MoveToNode\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable | void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n organEntity\n \n \n \n \n \n \n \n organEntity(state: SpatialSearchUiModel, organs: SpatialEntity[])\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState', 'undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n organs\n \n SpatialEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n organValidForSex\n \n \n \n \n \n \n \n organValidForSex(organId: string, sex: Sex)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:312\n \n \n\n\n \n \n Used to determine if an organ should be listed if a certain sex is selected\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organId\n \n string\n \n\n \n No\n \n\n\n \n \n sex\n \n Sex\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetPosition\n \n \n \n \n \n \nresetPosition(ctx: StateContext)\n \n \n\n \n \n Decorators : \n \n @Action(ResetPosition)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:195\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetRadius\n \n \n \n \n \n \nresetRadius(ctx: StateContext)\n \n \n\n \n \n Decorators : \n \n @Action(ResetRadius)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:225\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setExecuteSearchOnGenerate\n \n \n \n \n \n \nsetExecuteSearchOnGenerate(ctx: StateContext, undefined: SetExecuteSearchOnGenerate)\n \n \n\n \n \n Decorators : \n \n @Action(SetExecuteSearchOnGenerate)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:303\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n SetExecuteSearchOnGenerate\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setOrgan\n \n \n \n \n \n \nsetOrgan(ctx: StateContext, undefined: SetOrgan)\n \n \n\n \n \n Decorators : \n \n @Action(SetOrgan)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:145\n \n \n\n\n \n \n Updates organId in the SpatialSearchUI\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n SetOrgan\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable | void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setPosition\n \n \n \n \n \n \nsetPosition(ctx: StateContext, undefined: SetPosition)\n \n \n\n \n \n Decorators : \n \n @Action(SetPosition)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:186\n \n \n\n\n \n \n Updates position in the SpatialSearchUI\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n SetPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setRadius\n \n \n \n \n \n \nsetRadius(ctx: StateContext, undefined: SetRadius)\n \n \n\n \n \n Decorators : \n \n @Action(SetRadius)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:217\n \n \n\n\n \n \n Updates radius in the SpatialSearchUI\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n SetRadius\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setSex\n \n \n \n \n \n \nsetSex(ctx: StateContext, undefined: SetSex)\n \n \n\n \n \n Decorators : \n \n @Action(SetSex)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:115\n \n \n\n\n \n \n Updates sex in the SpatialSearchUI and sets selected organ to undefined if not valid for the sex\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n SetSex\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable | void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n startSpatialSearchFlow\n \n \n \n \n \n \nstartSpatialSearchFlow(ctx: StateContext)\n \n \n\n \n \n Decorators : \n \n @Action(StartSpatialSearchFlow)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateSpatialSearch\n \n \n \n \n \n \nupdateSpatialSearch(ctx: StateContext)\n \n \n\n \n \n Decorators : \n \n @Action(ReallyUpdateSpatialSearch)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:238\n \n \n\n\n \n \n Updates the spatial search data as the organ, position, and radius changes\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable | void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport { Action, Actions, ofActionDispatched, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { Filter, getOriginScene, SpatialEntity, SpatialSceneNode, SpatialSearch, TissueBlockResult } from 'ccf-database';\nimport { DataSourceService, OrganInfo } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { forkJoin, Observable } from 'rxjs';\nimport { debounceTime, mergeMap, take, tap } from 'rxjs/operators';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { UpdateFilter } from '../data/data.actions';\nimport { DataStateSelectors } from '../data/data.selectors';\nimport { SceneState } from '../scene/scene.state';\nimport { AddSearch } from '../spatial-search-filter/spatial-search-filter.actions';\nimport { SpatialSearchFilterSelectors } from '../spatial-search-filter/spatial-search-filter.selectors';\nimport {\n GenerateSpatialSearch,\n MoveToNode,\n ResetPosition,\n ResetRadius,\n SetExecuteSearchOnGenerate,\n SetOrgan,\n SetPosition,\n SetRadius,\n SetSex,\n StartSpatialSearchFlow,\n UpdateSpatialSearch,\n} from './spatial-search-ui.actions';\n\n\nexport interface Position {\n x: number;\n y: number;\n z: number;\n}\n\nexport interface RadiusSettings {\n min: number;\n max: number;\n defaultValue: number;\n}\n\nexport interface TermResult {\n '@id': string;\n label: string;\n count: number;\n}\n\nexport interface SpatialSearchUiModel {\n sex: Sex;\n organId?: string;\n position?: Position;\n radius?: number;\n\n defaultPosition?: Position;\n radiusSettings?: RadiusSettings;\n\n referenceOrgans?: OrganInfo[];\n organScene?: SpatialSceneNode[];\n\n spatialSearchScene?: SpatialSceneNode[];\n tissueBlocks?: TissueBlockResult[];\n anatomicalStructures?: Record;\n cellTypes?: Record;\n\n executeSearchOnGeneration: boolean;\n}\n\nclass ReallyUpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Really update spatial search data';\n}\n\n\n@State({\n name: 'spatialSearchUi',\n defaults: {\n sex: 'female',\n executeSearchOnGeneration: true\n }\n})\n@Injectable()\nexport class SpatialSearchUiState {\n @Selector([SpatialSearchUiState, SceneState.referenceOrganEntities])\n static organEntity(state: SpatialSearchUiModel, organs: SpatialEntity[]): SpatialEntity | undefined {\n const { organId, sex } = state;\n return organs.find(o => o.representation_of === organId && o.sex?.toLowerCase() === sex);\n }\n\n constructor(\n private readonly dataSource: DataSourceService,\n private readonly store: Store,\n actions$: Actions,\n private readonly ga: GoogleAnalyticsService\n ) {\n actions$.pipe(\n ofActionDispatched(UpdateSpatialSearch),\n debounceTime(500),\n tap(() => store.dispatch(ReallyUpdateSpatialSearch))\n ).subscribe();\n }\n\n @Action(StartSpatialSearchFlow)\n startSpatialSearchFlow(ctx: StateContext): Observable {\n const { sex, organId } = ctx.getState();\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', `${sex}_${shortOrgan}`);\n\n return ctx.dispatch(new SetSex(sex));\n }\n\n /**\n * Updates sex in the SpatialSearchUI and sets selected organ to undefined if not valid for the sex\n */\n @Action(SetSex)\n setSex(ctx: StateContext, { sex }: SetSex): Observable | void {\n let { organId } = ctx.getState();\n ctx.patchState({ sex });\n this.ga.event('set_sex', 'spatial_search_ui', sex);\n\n if (organId !== undefined && !this.organValidForSex(organId, sex)) {\n organId = undefined;\n }\n\n const filter = {\n ...this.store.selectSnapshot(DataStateSelectors.filter),\n spatialSearches: []\n };\n const referenceOrgans = this.store.selectSnapshot(SceneState.referenceOrgans);\n\n return this.dataSource.getOntologyTermOccurences(filter).pipe(\n take(1),\n tap((counts: Record) => {\n ctx.patchState({\n referenceOrgans: referenceOrgans.filter((o) => o.id && !o.disabled && counts[o.id] > 0)\n });\n ctx.dispatch(new SetOrgan(organId));\n })\n );\n }\n\n /**\n * Updates organId in the SpatialSearchUI\n */\n @Action(SetOrgan)\n setOrgan(ctx: StateContext, { organId }: SetOrgan): Observable | void {\n const { sex } = ctx.getState();\n ctx.patchState({ sex, organId });\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', shortOrgan);\n\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && organId && organ.sex) {\n const { x_dimension: width, y_dimension: height, z_dimension: depth } = organ;\n const position = { x: Math.round(width / 2), y: Math.round(height / 2), z: Math.round(depth / 2) };\n const defaultRadius = Math.round(Math.max(width, height, depth) * 0.07);\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter = {\n ...globalFilter,\n sex: organ.sex,\n ontologyTerms: [organId],\n spatialSearches: []\n };\n\n return this.dataSource\n .getReferenceOrganScene(organId, filter)\n .pipe(\n take(1),\n tap((organScene: SpatialSceneNode[]) => {\n ctx.patchState({\n position,\n radius: defaultRadius,\n defaultPosition: position,\n radiusSettings: { min: Math.min(defaultRadius, 5), max: Math.floor(Math.max(width, height, depth) / 1.5), defaultValue: defaultRadius },\n organScene: getOriginScene(organ).concat(organScene)\n });\n }),\n mergeMap(() => ctx.dispatch(new UpdateSpatialSearch()))\n );\n }\n }\n\n /**\n * Updates position in the SpatialSearchUI\n */\n @Action(SetPosition)\n setPosition(ctx: StateContext, { position }: SetPosition): void {\n ctx.patchState({ position });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = position;\n this.ga.event('set_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(ResetPosition)\n resetPosition(ctx: StateContext): void {\n const { defaultPosition } = ctx.getState();\n ctx.patchState({ position: defaultPosition });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = defaultPosition ?? { x: 0, y: 0, z: 0 };\n this.ga.event('reset_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(MoveToNode)\n moveToNode(ctx: StateContext, { node }: MoveToNode): Observable | void {\n const matrix = new Matrix4(node.transformMatrix);\n const [x, y, z] = matrix.getTranslation().map(n => Math.round(n * 1000));\n const position: Position = { x, y, z };\n\n return ctx.dispatch(new SetPosition(position));\n }\n\n /**\n * Updates radius in the SpatialSearchUI\n */\n @Action(SetRadius)\n setRadius(ctx: StateContext, { radius }: SetRadius): void {\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('set_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n @Action(ResetRadius)\n resetRadius(ctx: StateContext): void {\n const { radiusSettings } = ctx.getState();\n const radius = radiusSettings?.defaultValue ?? 0;\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('reset_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n /**\n * Updates the spatial search data as the organ, position, and radius changes\n */\n @Action(ReallyUpdateSpatialSearch)\n updateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && position && radius && organ.representation_of) {\n const db = this.dataSource;\n const organId = organ.representation_of;\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter: Filter = {\n ...globalFilter,\n sex: organ.sex as 'Male' | 'Female',\n ontologyTerms: [organId],\n spatialSearches: [{\n ...position,\n radius: radius,\n target: organ['@id']\n }]\n };\n\n return forkJoin({\n spatialSearchScene: db.getReferenceOrganScene(organId, filter).pipe(take(1)),\n tissueBlocks: db.getTissueBlockResults(filter).pipe(take(1)),\n anatomicalStructures: db.getOntologyTermOccurences(filter).pipe(take(1)),\n cellTypes: db.getCellTypeTermOccurences(filter).pipe(take(1))\n }).pipe(\n tap((data: Partial) => ctx.patchState(data))\n );\n }\n }\n\n /**\n * Generates and adds a new spatial search then resets the ui state\n */\n @Action(GenerateSpatialSearch)\n generateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius, sex, organId, referenceOrgans = [], executeSearchOnGeneration } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n const info = referenceOrgans.find(item => item.id === organId);\n // const { spatialSearches = [] } = this.store.selectSnapshot(DataStateSelectors.filter);\n\n if (position && radius && organ?.representation_of && info) {\n const search: SpatialSearch = {\n ...position,\n radius,\n target: organ['@id']\n };\n const actions: unknown[] = [new AddSearch(sex, info.name, search)];\n\n if (executeSearchOnGeneration) {\n const searches = this.store.selectSnapshot(SpatialSearchFilterSelectors.selectedSearches);\n actions.push(new UpdateFilter({\n spatialSearches: searches.concat(search)\n }));\n }\n\n this.ga.event('generate_search', 'spatial_search_ui');\n return ctx.dispatch(actions).pipe(\n tap(() => ctx.patchState({\n sex: 'female',\n organId: undefined\n }))\n );\n }\n }\n\n @Action(SetExecuteSearchOnGenerate)\n setExecuteSearchOnGenerate(ctx: StateContext, { execute }: SetExecuteSearchOnGenerate): void {\n ctx.patchState({\n executeSearchOnGeneration: execute\n });\n }\n\n /**\n * Used to determine if an organ should be listed if a certain sex is selected\n */\n private organValidForSex(organId: string, sex: Sex): boolean {\n const organs = this.store.selectSnapshot(SceneState.referenceOrgans);\n const organ = organs.find(o => o.id === organId)!;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return organ.hasSex || organ.sex === sex;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SpinnerOverlayComponent.html":{"url":"components/SpinnerOverlayComponent.html","title":"component - SpinnerOverlayComponent","body":"\n \n\n\n\n\n\n Components\n \n SpinnerOverlayComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/spinner-overlay/spinner-overlay.component.ts\n\n\n\n \n Description\n \n \n Overlay component that displays a progress spinner and\nan optional text description.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-spinner-overlay\n \n\n \n styleUrls\n ./spinner-overlay.component.scss\n \n\n\n\n \n templateUrl\n ./spinner-overlay.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n active\n \n \n text\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n active\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spinner-overlay/spinner-overlay.component.ts:19\n \n \n \n \n Whether the overlay is active/showing.\n\n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spinner-overlay/spinner-overlay.component.ts:22\n \n \n \n \n Optional text description displayed alongside the spinner.\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-spinner-overlay\"\n\n \n \n \n \n Default value : 'ccf-spinner-overlay'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spinner-overlay/spinner-overlay.component.ts:16\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-spinner-overlay'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spinner-overlay/spinner-overlay.component.ts:16\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\n\n/**\n * Overlay component that displays a progress spinner and\n * an optional text description.\n */\n@Component({\n selector: 'ccf-spinner-overlay',\n templateUrl: './spinner-overlay.component.html',\n styleUrls: ['./spinner-overlay.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpinnerOverlayComponent {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-spinner-overlay';\n\n /** Whether the overlay is active/showing. */\n @Input() @HostBinding('class.active') active = false;\n\n /** Optional text description displayed alongside the spinner. */\n @Input() text: string;\n}\n\n \n\n \n \n{{ text }}\n\n \n\n \n \n ./spinner-overlay.component.scss\n \n :host {\n display: flex;\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 99;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n visibility: hidden;\n opacity: 0;\n transition: visibility 0.6s, opacity 0.4s ease-in-out;\n\n mat-spinner {\n margin-bottom: 1rem;\n opacity: 0;\n transition: opacity 0.3s ease-in-out 0.3s;\n }\n\n &.active {\n pointer-events: auto;\n visibility: visible;\n opacity: 1;\n\n mat-spinner {\n opacity: 1;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ text }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SpinnerOverlayComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SpinnerOverlayModule.html":{"url":"modules/SpinnerOverlayModule.html","title":"module - SpinnerOverlayModule","body":"\n \n\n\n\n\n Modules\n SpinnerOverlayModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SpinnerOverlayModule\n\n\n\ncluster_SpinnerOverlayModule_declarations\n\n\n\ncluster_SpinnerOverlayModule_exports\n\n\n\n\nSpinnerOverlayComponent\n\nSpinnerOverlayComponent\n\n\n\nSpinnerOverlayModule\n\nSpinnerOverlayModule\n\nSpinnerOverlayModule -->\n\nSpinnerOverlayComponent->SpinnerOverlayModule\n\n\n\n\n\nSpinnerOverlayComponent \n\nSpinnerOverlayComponent \n\nSpinnerOverlayComponent -->\n\nSpinnerOverlayModule->SpinnerOverlayComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/spinner-overlay/spinner-overlay.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SpinnerOverlayComponent\n \n \n \n \n Exports\n \n \n SpinnerOverlayComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\nimport { SpinnerOverlayComponent } from './spinner-overlay.component';\n\n\n@NgModule({\n imports: [CommonModule, MatProgressSpinnerModule],\n declarations: [SpinnerOverlayComponent],\n exports: [SpinnerOverlayComponent]\n})\nexport class SpinnerOverlayModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/StartSpatialSearchFlow.html":{"url":"classes/StartSpatialSearchFlow.html","title":"class - StartSpatialSearchFlow","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n StartSpatialSearchFlow\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Start the Spatial Search flow'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StoreModule.html":{"url":"modules/StoreModule.html","title":"module - StoreModule","body":"\n \n\n\n\n\n Modules\n StoreModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/core/store/store.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { NgxsDataPluginModule } from '@ngxs-labs/data';\nimport { NgxsDispatchPluginModule } from '@ngxs-labs/dispatch-decorator';\nimport { NgxsLoggerPluginModule } from '@ngxs/logger-plugin';\nimport { NgxsModule } from '@ngxs/store';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { CallToActionState } from 'projects/ccf-shared/src/public-api';\n\nimport { environment } from '../../../environments/environment';\nimport { ColorAssignmentState } from './color-assignment/color-assignment.state';\nimport { DataState } from './data/data.state';\nimport { IconRegistryState } from './icon-registry/icon-registry.state';\nimport { ListResultsState } from './list-results/list-results.state';\nimport { SceneState } from './scene/scene.state';\nimport { SpatialSearchFilterState } from './spatial-search-filter/spatial-search-filter.state';\nimport { SpatialSearchUiState } from './spatial-search-ui/spatial-search-ui.state';\n\n\n/**\n * States shared across the entire app.\n */\nexport const ROOT_STATES = [\n GlobalConfigState,\n ColorAssignmentState,\n IconRegistryState,\n ListResultsState,\n DataState,\n SceneState,\n CallToActionState,\n SpatialSearchUiState,\n SpatialSearchFilterState\n];\n\n@NgModule({\n imports: [\n // For some strange reason the data plugin is not happy being placed after the store module!?\n NgxsDataPluginModule.forRoot(),\n\n NgxsModule.forRoot(ROOT_STATES, {\n developmentMode: !environment.production,\n selectorOptions: {\n injectContainerState: false\n }\n // Consider setting compatibility and executionStrategy\n // https://www.ngxs.io/advanced/options\n }),\n\n NgxsDispatchPluginModule.forRoot(),\n\n // Logger plugin must be last!\n NgxsLoggerPluginModule.forRoot({\n disabled: environment.production\n })\n ]\n})\nexport class StoreModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TermOccurrenceListComponent.html":{"url":"components/TermOccurrenceListComponent.html","title":"component - TermOccurrenceListComponent","body":"\n \n\n\n\n\n\n Components\n \n TermOccurrenceListComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/term-occurence-list/term-occurrence.component.ts\n\n\n\n \n Description\n \n \n Component for a dropdown menu\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-term-occurrence-list\n \n\n \n styleUrls\n ./term-occurrence.component.scss\n \n\n\n\n \n templateUrl\n ./term-occurrence.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n termList\n \n \n title\n \n \n toolTipText\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n termList\n \n \n \n \n Type : TermResult[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/term-occurence-list/term-occurrence.component.ts:20\n \n \n \n \n array that contains the terms and their counts\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/term-occurence-list/term-occurrence.component.ts:25\n \n \n \n \n Holds title for section\n\n \n \n \n \n \n \n \n \n \n toolTipText\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/term-occurence-list/term-occurrence.component.ts:30\n \n \n \n \n Text to be included in the tool tip\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-term-occurrence-list\"\n\n \n \n \n \n Default value : 'ccf-term-occurrence-list'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/term-occurence-list/term-occurrence.component.ts:15\n \n \n\n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-term-occurrence-list'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/term-occurence-list/term-occurrence.component.ts:15\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { TermResult } from '../../../core/store/spatial-search-ui/spatial-search-ui.state';\n\n/**\n * Component for a dropdown menu\n */\n@Component({\n selector: 'ccf-term-occurrence-list',\n templateUrl: './term-occurrence.component.html',\n styleUrls: ['./term-occurrence.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TermOccurrenceListComponent {\n @HostBinding('class') readonly className = 'ccf-term-occurrence-list';\n\n /**\n * array that contains the terms and their counts\n */\n @Input() termList: TermResult[] = [];\n\n /**\n * Holds title for section\n */\n @Input() title: string;\n\n /**\n * Text to be included in the tool tip\n */\n @Input() toolTipText: string;\n}\n\n \n\n \n \n {{termList.length}} {{title}}\n \n info\n \n\n\n\n \n\n \n {{ term.label }}\n {{ term.count }}\n \n \n\n\n \n\n \n \n ./term-occurrence.component.scss\n \n :host {\n padding-top: 1rem;\n .term-list-header {\n display: flex;\n justify-content: space-between;\n margin-bottom: 1rem;\n\n .title {\n font-size: .875rem;\n }\n .counter {\n font-size: 1rem;\n }\n\n .info {\n padding-right: 0;\n background: none;\n border: none;\n outline: none;\n border-radius: 0.25rem;\n transition: 0.6s;\n }\n }\n .term-list {\n overflow: auto;\n padding-left: 2rem;\n font-size: 1rem;\n .term-bloc {\n display: flex;\n justify-content: space-between;\n margin-bottom: 1rem;\n overflow: auto;\n }\n .term-line{\n padding-right: 2rem;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{termList.length}} {{title}} info {{ term.label }} {{ term.count }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TermOccurrenceListComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TermOccurrenceListModule.html":{"url":"modules/TermOccurrenceListModule.html","title":"module - TermOccurrenceListModule","body":"\n \n\n\n\n\n Modules\n TermOccurrenceListModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TermOccurrenceListModule\n\n\n\ncluster_TermOccurrenceListModule_declarations\n\n\n\ncluster_TermOccurrenceListModule_exports\n\n\n\n\nTermOccurrenceListComponent\n\nTermOccurrenceListComponent\n\n\n\nTermOccurrenceListModule\n\nTermOccurrenceListModule\n\nTermOccurrenceListModule -->\n\nTermOccurrenceListComponent->TermOccurrenceListModule\n\n\n\n\n\nTermOccurrenceListComponent \n\nTermOccurrenceListComponent \n\nTermOccurrenceListComponent -->\n\nTermOccurrenceListModule->TermOccurrenceListComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/term-occurence-list/term-occurrence.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TermOccurrenceListComponent\n \n \n \n \n Exports\n \n \n TermOccurrenceListComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { TermOccurrenceListComponent } from './term-occurrence.component';\n\n\n@NgModule({\n imports: [CommonModule, MatFormFieldModule, MatSelectModule, MatTooltipModule, MatIconModule],\n declarations: [TermOccurrenceListComponent],\n exports: [TermOccurrenceListComponent]\n})\n\nexport class TermOccurrenceListModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TermResult.html":{"url":"interfaces/TermResult.html","title":"interface - TermResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TermResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n count\n \n \n \n \n label\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n count\n \n \n \n \n \n \n \n \n count: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport { Action, Actions, ofActionDispatched, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { Filter, getOriginScene, SpatialEntity, SpatialSceneNode, SpatialSearch, TissueBlockResult } from 'ccf-database';\nimport { DataSourceService, OrganInfo } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { forkJoin, Observable } from 'rxjs';\nimport { debounceTime, mergeMap, take, tap } from 'rxjs/operators';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { UpdateFilter } from '../data/data.actions';\nimport { DataStateSelectors } from '../data/data.selectors';\nimport { SceneState } from '../scene/scene.state';\nimport { AddSearch } from '../spatial-search-filter/spatial-search-filter.actions';\nimport { SpatialSearchFilterSelectors } from '../spatial-search-filter/spatial-search-filter.selectors';\nimport {\n GenerateSpatialSearch,\n MoveToNode,\n ResetPosition,\n ResetRadius,\n SetExecuteSearchOnGenerate,\n SetOrgan,\n SetPosition,\n SetRadius,\n SetSex,\n StartSpatialSearchFlow,\n UpdateSpatialSearch,\n} from './spatial-search-ui.actions';\n\n\nexport interface Position {\n x: number;\n y: number;\n z: number;\n}\n\nexport interface RadiusSettings {\n min: number;\n max: number;\n defaultValue: number;\n}\n\nexport interface TermResult {\n '@id': string;\n label: string;\n count: number;\n}\n\nexport interface SpatialSearchUiModel {\n sex: Sex;\n organId?: string;\n position?: Position;\n radius?: number;\n\n defaultPosition?: Position;\n radiusSettings?: RadiusSettings;\n\n referenceOrgans?: OrganInfo[];\n organScene?: SpatialSceneNode[];\n\n spatialSearchScene?: SpatialSceneNode[];\n tissueBlocks?: TissueBlockResult[];\n anatomicalStructures?: Record;\n cellTypes?: Record;\n\n executeSearchOnGeneration: boolean;\n}\n\nclass ReallyUpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Really update spatial search data';\n}\n\n\n@State({\n name: 'spatialSearchUi',\n defaults: {\n sex: 'female',\n executeSearchOnGeneration: true\n }\n})\n@Injectable()\nexport class SpatialSearchUiState {\n @Selector([SpatialSearchUiState, SceneState.referenceOrganEntities])\n static organEntity(state: SpatialSearchUiModel, organs: SpatialEntity[]): SpatialEntity | undefined {\n const { organId, sex } = state;\n return organs.find(o => o.representation_of === organId && o.sex?.toLowerCase() === sex);\n }\n\n constructor(\n private readonly dataSource: DataSourceService,\n private readonly store: Store,\n actions$: Actions,\n private readonly ga: GoogleAnalyticsService\n ) {\n actions$.pipe(\n ofActionDispatched(UpdateSpatialSearch),\n debounceTime(500),\n tap(() => store.dispatch(ReallyUpdateSpatialSearch))\n ).subscribe();\n }\n\n @Action(StartSpatialSearchFlow)\n startSpatialSearchFlow(ctx: StateContext): Observable {\n const { sex, organId } = ctx.getState();\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', `${sex}_${shortOrgan}`);\n\n return ctx.dispatch(new SetSex(sex));\n }\n\n /**\n * Updates sex in the SpatialSearchUI and sets selected organ to undefined if not valid for the sex\n */\n @Action(SetSex)\n setSex(ctx: StateContext, { sex }: SetSex): Observable | void {\n let { organId } = ctx.getState();\n ctx.patchState({ sex });\n this.ga.event('set_sex', 'spatial_search_ui', sex);\n\n if (organId !== undefined && !this.organValidForSex(organId, sex)) {\n organId = undefined;\n }\n\n const filter = {\n ...this.store.selectSnapshot(DataStateSelectors.filter),\n spatialSearches: []\n };\n const referenceOrgans = this.store.selectSnapshot(SceneState.referenceOrgans);\n\n return this.dataSource.getOntologyTermOccurences(filter).pipe(\n take(1),\n tap((counts: Record) => {\n ctx.patchState({\n referenceOrgans: referenceOrgans.filter((o) => o.id && !o.disabled && counts[o.id] > 0)\n });\n ctx.dispatch(new SetOrgan(organId));\n })\n );\n }\n\n /**\n * Updates organId in the SpatialSearchUI\n */\n @Action(SetOrgan)\n setOrgan(ctx: StateContext, { organId }: SetOrgan): Observable | void {\n const { sex } = ctx.getState();\n ctx.patchState({ sex, organId });\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', shortOrgan);\n\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && organId && organ.sex) {\n const { x_dimension: width, y_dimension: height, z_dimension: depth } = organ;\n const position = { x: Math.round(width / 2), y: Math.round(height / 2), z: Math.round(depth / 2) };\n const defaultRadius = Math.round(Math.max(width, height, depth) * 0.07);\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter = {\n ...globalFilter,\n sex: organ.sex,\n ontologyTerms: [organId],\n spatialSearches: []\n };\n\n return this.dataSource\n .getReferenceOrganScene(organId, filter)\n .pipe(\n take(1),\n tap((organScene: SpatialSceneNode[]) => {\n ctx.patchState({\n position,\n radius: defaultRadius,\n defaultPosition: position,\n radiusSettings: { min: Math.min(defaultRadius, 5), max: Math.floor(Math.max(width, height, depth) / 1.5), defaultValue: defaultRadius },\n organScene: getOriginScene(organ).concat(organScene)\n });\n }),\n mergeMap(() => ctx.dispatch(new UpdateSpatialSearch()))\n );\n }\n }\n\n /**\n * Updates position in the SpatialSearchUI\n */\n @Action(SetPosition)\n setPosition(ctx: StateContext, { position }: SetPosition): void {\n ctx.patchState({ position });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = position;\n this.ga.event('set_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(ResetPosition)\n resetPosition(ctx: StateContext): void {\n const { defaultPosition } = ctx.getState();\n ctx.patchState({ position: defaultPosition });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = defaultPosition ?? { x: 0, y: 0, z: 0 };\n this.ga.event('reset_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(MoveToNode)\n moveToNode(ctx: StateContext, { node }: MoveToNode): Observable | void {\n const matrix = new Matrix4(node.transformMatrix);\n const [x, y, z] = matrix.getTranslation().map(n => Math.round(n * 1000));\n const position: Position = { x, y, z };\n\n return ctx.dispatch(new SetPosition(position));\n }\n\n /**\n * Updates radius in the SpatialSearchUI\n */\n @Action(SetRadius)\n setRadius(ctx: StateContext, { radius }: SetRadius): void {\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('set_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n @Action(ResetRadius)\n resetRadius(ctx: StateContext): void {\n const { radiusSettings } = ctx.getState();\n const radius = radiusSettings?.defaultValue ?? 0;\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('reset_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n /**\n * Updates the spatial search data as the organ, position, and radius changes\n */\n @Action(ReallyUpdateSpatialSearch)\n updateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && position && radius && organ.representation_of) {\n const db = this.dataSource;\n const organId = organ.representation_of;\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter: Filter = {\n ...globalFilter,\n sex: organ.sex as 'Male' | 'Female',\n ontologyTerms: [organId],\n spatialSearches: [{\n ...position,\n radius: radius,\n target: organ['@id']\n }]\n };\n\n return forkJoin({\n spatialSearchScene: db.getReferenceOrganScene(organId, filter).pipe(take(1)),\n tissueBlocks: db.getTissueBlockResults(filter).pipe(take(1)),\n anatomicalStructures: db.getOntologyTermOccurences(filter).pipe(take(1)),\n cellTypes: db.getCellTypeTermOccurences(filter).pipe(take(1))\n }).pipe(\n tap((data: Partial) => ctx.patchState(data))\n );\n }\n }\n\n /**\n * Generates and adds a new spatial search then resets the ui state\n */\n @Action(GenerateSpatialSearch)\n generateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius, sex, organId, referenceOrgans = [], executeSearchOnGeneration } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n const info = referenceOrgans.find(item => item.id === organId);\n // const { spatialSearches = [] } = this.store.selectSnapshot(DataStateSelectors.filter);\n\n if (position && radius && organ?.representation_of && info) {\n const search: SpatialSearch = {\n ...position,\n radius,\n target: organ['@id']\n };\n const actions: unknown[] = [new AddSearch(sex, info.name, search)];\n\n if (executeSearchOnGeneration) {\n const searches = this.store.selectSnapshot(SpatialSearchFilterSelectors.selectedSearches);\n actions.push(new UpdateFilter({\n spatialSearches: searches.concat(search)\n }));\n }\n\n this.ga.event('generate_search', 'spatial_search_ui');\n return ctx.dispatch(actions).pipe(\n tap(() => ctx.patchState({\n sex: 'female',\n organId: undefined\n }))\n );\n }\n }\n\n @Action(SetExecuteSearchOnGenerate)\n setExecuteSearchOnGenerate(ctx: StateContext, { execute }: SetExecuteSearchOnGenerate): void {\n ctx.patchState({\n executeSearchOnGeneration: execute\n });\n }\n\n /**\n * Used to determine if an organ should be listed if a certain sex is selected\n */\n private organValidForSex(organId: string, sex: Sex): boolean {\n const organs = this.store.selectSnapshot(SceneState.referenceOrgans);\n const organ = organs.find(o => o.id === organId)!;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return organ.hasSex || organ.sex === sex;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ThemingModule.html":{"url":"modules/ThemingModule.html","title":"module - ThemingModule","body":"\n \n\n\n\n\n Modules\n ThemingModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ThemingModule\n\n\n\ncluster_ThemingModule_providers\n\n\n\n\nThemingService\n\nThemingService\n\n\n\nThemingModule\n\nThemingModule\n\nThemingModule -->\n\nThemingService->ThemingModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/core/services/theming/theming.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ThemingService\n \n \n \n \n \n\n\n \n\n\n \n import { APP_BOOTSTRAP_LISTENER, NgModule } from '@angular/core';\n\nimport { ThemingService } from './theming.service';\n\n\n@NgModule({\n providers: [\n { provide: APP_BOOTSTRAP_LISTENER, useValue: ThemingService.initialize, multi: true },\n ThemingService\n ]\n})\nexport class ThemingModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ThemingService.html":{"url":"injectables/ThemingService.html","title":"injectable - ThemingService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ThemingService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/services/theming/theming.service.ts\n \n\n\n \n Description\n \n \n Manages the currently active theme.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n defaultTheme\n \n \n Private\n element\n \n \n Private\n injector\n \n \n Private\n theme\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n applyThemeClass\n \n \n getTheme\n \n \n Static\n initialize\n \n \n initialize\n \n \n resetTheme\n \n \n setTheme\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(defaultTheme: string | null)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:25\n \n \n\n \n \n Creates the theming service.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n defaultTheme\n \n \n string | null\n \n \n \n No\n \n \n \n An optional default theme.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n applyThemeClass\n \n \n \n \n \n \n \n applyThemeClass(cls: string, method: \"add\" | \"remove\")\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:83\n \n \n\n\n \n \n Adds or removes a theme class from the necessary components.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n Description\n \n \n \n \n cls\n \n string\n \n\n \n No\n \n\n \n \n\n \n The theme class.\n\n \n \n \n method\n \n \"add\" | \"remove\"\n \n\n \n No\n \n\n \n 'add'\n \n\n \n Whether to add or remove the theme.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTheme\n \n \n \n \n \n \ngetTheme()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:39\n \n \n\n\n \n \n Get the currently active theme.\n\n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Static\n initialize\n \n \n \n \n \n \n \n initialize(component: ComponentRef<>)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:21\n \n \n\n\n \n \n Initializer called during bootstrap to set up theming.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n component\n \n ComponentRef<>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n initialize\n \n \n \n \n \n \ninitialize(element: ElementRef<>, injector: Injector)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:71\n \n \n\n\n \n \n Binds theming service to a component.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n ElementRef<>\n \n\n \n No\n \n\n\n \n \n injector\n \n Injector\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetTheme\n \n \n \n \n \n \nresetTheme()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:60\n \n \n\n\n \n \n Resets the theme to the default.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setTheme\n \n \n \n \n \n \nsetTheme(theme: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:48\n \n \n\n\n \n \n Sets the currently active theme.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n theme\n \n string\n \n\n \n No\n \n\n\n \n The new theme class.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n defaultTheme\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:16\n \n \n\n \n \n Default theme class.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n element\n \n \n \n \n \n \n Type : ElementRef<>\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n injector\n \n \n \n \n \n \n Type : Injector\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n theme\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:18\n \n \n\n \n \n Currently active theme class.\n\n \n \n\n \n \n\n\n \n\n\n \n import { OverlayContainer } from '@angular/cdk/overlay';\nimport { ComponentRef, ElementRef, Inject, Injector, Injectable, InjectionToken, Optional, Renderer2 } from '@angular/core';\n\n/** Token for specifying the default theme class. */\nexport const DEFAULT_THEME = new InjectionToken('Default theme class');\n\n/**\n * Manages the currently active theme.\n */\n@Injectable()\nexport class ThemingService {\n private element: ElementRef;\n private injector: Injector;\n /** Default theme class. */\n private defaultTheme: string;\n /** Currently active theme class. */\n private theme: string;\n\n /** Initializer called during bootstrap to set up theming. */\n static initialize(component: ComponentRef): void {\n const { injector, location } = component;\n const service = injector.get(ThemingService);\n service.initialize(location, injector);\n }\n\n /**\n * Creates the theming service.\n *\n * @param defaultTheme An optional default theme.\n */\n constructor(@Optional() @Inject(DEFAULT_THEME) defaultTheme: string | null) {\n this.defaultTheme = this.theme = defaultTheme ?? '';\n }\n\n /**\n * Get the currently active theme.\n */\n getTheme(): string {\n return this.theme;\n }\n\n /**\n * Sets the currently active theme.\n *\n * @param theme The new theme class.\n */\n setTheme(theme: string): void {\n if (theme === this.theme) {\n return;\n }\n this.applyThemeClass(this.theme, 'remove');\n this.applyThemeClass(theme);\n this.theme = theme;\n }\n\n /**\n * Resets the theme to the default.\n */\n resetTheme(): void {\n this.setTheme(this.defaultTheme);\n }\n\n\n /**\n * Binds theming service to a component.\n *\n * @param component The top level component.\n * @throws {Error} If the theming service has already been initialized.\n */\n initialize(element: ElementRef, injector: Injector): void {\n this.element = element;\n this.injector = injector;\n this.applyThemeClass(this.getTheme());\n }\n\n /**\n * Adds or removes a theme class from the necessary components.\n *\n * @param cls The theme class.\n * @param method Whether to add or remove the theme.\n */\n private applyThemeClass(cls: string, method: 'add' | 'remove' = 'add'): void {\n const { element, injector } = this;\n if (!cls || !element || !injector) {\n return;\n }\n\n const renderer = injector.get(Renderer2, null);\n if (!renderer) {\n return;\n }\n\n const root = element.nativeElement as HTMLElement;\n const overlay = injector.get(OverlayContainer, null)?.getContainerElement();\n const methodName = method === 'add' ? 'addClass' : 'removeClass';\n\n renderer[methodName](root, cls);\n if (overlay) {\n renderer[methodName](overlay, cls);\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ThumbnailCarouselComponent.html":{"url":"components/ThumbnailCarouselComponent.html","title":"component - ThumbnailCarouselComponent","body":"\n \n\n\n\n\n\n Components\n \n ThumbnailCarouselComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts\n\n\n\n \n Description\n \n \n Carousel containing sample thumbnails in expanded donor cards\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-thumbnail-carousel\n \n\n \n styleUrls\n ./thumbnail-carousel.component.scss\n \n\n\n\n \n templateUrl\n ./thumbnail-carousel.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n Readonly\n config\n \n \n Readonly\n navigation\n \n \n Readonly\n uid\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n itemId\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n data\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n linkClicked\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n prevButtonId\n \n \n nextButtonId\n \n \n \n \n \n \n\n\n\n \n Inputs\n \n \n \n \n \n data\n \n \n \n \n Type : DatasetResult[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:34\n \n \n \n \n Items to show in the carousel\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n linkClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:39\n \n \n \n \n Outputs the result whose link was clicked\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-thumbnail-carousel\"\n\n \n \n \n \n Default value : 'ccf-thumbnail-carousel'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:29\n \n \n\n \n \n Primary css class selector\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n itemId\n \n \n \n \n \n \nitemId(_index: number, item: DatasetResult)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:89\n \n \n\n\n \n \n Extract a unique identifier for an item\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n Unused\n\n \n \n \n item\n \n DatasetResult\n \n\n \n No\n \n\n\n \n The item\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n An unique identifier\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-thumbnail-carousel'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:29\n \n \n\n \n \n Primary css class selector\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n config\n \n \n \n \n \n \n Type : SwiperOptions\n\n \n \n \n \n Default value : {\n allowTouchMove: false,\n slidesOffsetBefore: 4,\n slidesOffsetAfter: 4,\n slidesPerView: 'auto',\n spaceBetween: 4,\n watchOverflow: true\n }\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:63\n \n \n\n \n \n Swiper configuration\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n navigation\n \n \n \n \n \n \n Type : NavigationOptions\n\n \n \n \n \n Default value : {\n // Normally I would have prefered referencing the elements themselves instead of using selectors\n // However in this case it does not work with angular swiper\n prevEl: '#' + this.prevButtonId,\n nextEl: '#' + this.nextButtonId\n }\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:75\n \n \n\n \n \n Navigation configuration\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n uid\n \n \n \n \n \n \n Default value : nextUid()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:44\n \n \n\n \n \n Per instance unique identifier\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n prevButtonId\n \n \n\n \n \n getprevButtonId()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:49\n \n \n \n \n HTML id for previous slide button\n\n\n \n Returns : string\n\n \n \n \n\n \n \n \n \n \n \n \n nextButtonId\n \n \n\n \n \n getnextButtonId()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:56\n \n \n \n \n HTML id for next slide button\n\n\n \n Returns : string\n\n \n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { DatasetResult } from 'ccf-database';\nimport { SwiperOptions } from 'swiper';\nimport { NavigationOptions } from 'swiper/types';\n\n// Returns a unique identifier\nconst nextUid = (() => {\n let counter = -1;\n return () => {\n counter += 1;\n return counter;\n };\n})();\n\n\n/**\n * Carousel containing sample thumbnails in expanded donor cards\n */\n@Component({\n selector: 'ccf-thumbnail-carousel',\n templateUrl: './thumbnail-carousel.component.html',\n styleUrls: ['./thumbnail-carousel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThumbnailCarouselComponent {\n /**\n * Primary css class selector\n */\n @HostBinding('class') readonly className = 'ccf-thumbnail-carousel';\n\n /**\n * Items to show in the carousel\n */\n @Input() data: DatasetResult[];\n\n /**\n * Outputs the result whose link was clicked\n */\n @Output() readonly linkClicked = new EventEmitter();\n\n /**\n * Per instance unique identifier\n */\n readonly uid = nextUid();\n\n /**\n * HTML id for previous slide button\n */\n get prevButtonId(): string {\n return `ccf-thumbnail-carousel-prev-button-${this.uid}`;\n }\n\n /**\n * HTML id for next slide button\n */\n get nextButtonId(): string {\n return `ccf-thumbnail-carousel-next-button-${this.uid}`;\n }\n\n /**\n * Swiper configuration\n */\n readonly config: SwiperOptions = {\n allowTouchMove: false,\n slidesOffsetBefore: 4,\n slidesOffsetAfter: 4,\n slidesPerView: 'auto',\n spaceBetween: 4,\n watchOverflow: true\n };\n\n /**\n * Navigation configuration\n */\n readonly navigation: NavigationOptions = {\n // Normally I would have prefered referencing the elements themselves instead of using selectors\n // However in this case it does not work with angular swiper\n prevEl: '#' + this.prevButtonId,\n nextEl: '#' + this.nextButtonId\n };\n\n /**\n * Extract a unique identifier for an item\n *\n * @param _index Unused\n * @param item The item\n * @returns An unique identifier\n */\n itemId(_index: number, item: DatasetResult): string {\n return item.thumbnail;\n }\n}\n\n \n\n \n \n \n navigate_before\n \n\n\n\n \n \n \n \n {{ item.technology }}\n \n \n DATA\n open_in_new\n \n \n \n \n\n\n\n \n \n \n\n navigate_next\n \n\n\n \n\n \n \n ./thumbnail-carousel.component.scss\n \n :host {\n display: flex;\n\n .swiper {\n flex-grow: 1;\n padding-bottom: 0.3125rem;\n\n ::ng-deep .swiper-slide {\n width: 3.75rem;\n height: 2.8125rem;\n }\n }\n\n .prev, .next {\n display: flex;\n align-items: center;\n\n height: 2.8125rem;\n\n button {\n width: 1.5rem;\n height: 1.5rem;\n line-height: 1.5rem;\n }\n\n .fade {\n position: absolute;\n top: -0.625rem;\n left: -2rem;\n z-index: 10;\n\n width: 2rem;\n height: 2.8125rem + 0.3125rem;\n\n opacity: 1;\n transition: opacity ease-in-out 0.3s;\n\n pointer-events: none;\n }\n\n .swiper-button-disabled, .swiper-button-lock {\n cursor: default;\n pointer-events: none;\n\n .fade {\n opacity: 0;\n }\n }\n }\n\n .slide {\n position: relative;\n width: 100%;\n height: 100%;\n\n .thumbnail {\n display: flex;\n align-items: center;\n justify-content: center;\n background-size: cover;\n\n position: relative;\n width: calc(100% - 2 * 0.125rem);\n height: calc(100% - 2 * 0.125rem);\n\n border-style: solid;\n border-width: 0.125rem;\n border-radius: 0.25rem;\n\n background-origin: padding-box;\n background-clip: padding-box;\n\n font-size: 0.875rem;\n font-weight: bold;\n\n &:after {\n content: \"\";\n\n position: absolute;\n bottom: -0.125rem;\n left: -0.125rem;\n width: 0.125rem;\n height: 0.125rem;\n }\n }\n\n .link {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n\n opacity: 0;\n transition: opacity ease-in-out 0.3s;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);\n\n font-size: 0.75rem;\n line-height: 0.75rem;\n\n &,\n &:link,\n &:visited,\n &:hover,\n &:focus,\n &:active {\n cursor: pointer;\n text-decoration: none;\n }\n }\n\n &:hover .link {\n opacity: 1;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' navigate_before {{ item.technology }} DATA open_in_new navigate_next '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ThumbnailCarouselComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ThumbnailCarouselModule.html":{"url":"modules/ThumbnailCarouselModule.html","title":"module - ThumbnailCarouselModule","body":"\n \n\n\n\n\n Modules\n ThumbnailCarouselModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ThumbnailCarouselModule\n\n\n\ncluster_ThumbnailCarouselModule_exports\n\n\n\ncluster_ThumbnailCarouselModule_declarations\n\n\n\n\nThumbnailCarouselComponent\n\nThumbnailCarouselComponent\n\n\n\nThumbnailCarouselModule\n\nThumbnailCarouselModule\n\nThumbnailCarouselModule -->\n\nThumbnailCarouselComponent->ThumbnailCarouselModule\n\n\n\n\n\nThumbnailCarouselComponent \n\nThumbnailCarouselComponent \n\nThumbnailCarouselComponent -->\n\nThumbnailCarouselModule->ThumbnailCarouselComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ThumbnailCarouselComponent\n \n \n \n \n Exports\n \n \n ThumbnailCarouselComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { SwiperModule } from 'swiper/angular';\nimport { Navigation, Swiper } from 'swiper/core';\n\nimport { ThumbnailCarouselComponent } from './thumbnail-carousel.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatButtonModule,\n MatIconModule,\n\n SwiperModule\n ],\n declarations: [ThumbnailCarouselComponent],\n exports: [ThumbnailCarouselComponent]\n})\nexport class ThumbnailCarouselModule {\n constructor() {\n // Install swiper modules\n Swiper.use([Navigation]);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TissueBlockListComponent.html":{"url":"components/TissueBlockListComponent.html","title":"component - TissueBlockListComponent","body":"\n \n\n\n\n\n\n Components\n \n TissueBlockListComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/tissue-block-list/tissue-block-list.component.ts\n\n\n\n \n Description\n \n \n Tissue block list in spatial search UI\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-tissue-block-list\n \n\n \n styleUrls\n ./tissue-block-list.component.scss\n \n\n\n\n \n templateUrl\n ./tissue-block-list.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n tissueBlocks\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n tissueBlocks\n \n \n \n \n Type : TissueBlockResult[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/tissue-block-list/tissue-block-list.component.ts:19\n \n \n \n \n Tissue blocks to be displayed\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-tissue-block-list\"\n\n \n \n \n \n Default value : 'ccf-tissue-block-list'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/tissue-block-list/tissue-block-list.component.ts:16\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-tissue-block-list'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/tissue-block-list/tissue-block-list.component.ts:16\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { TissueBlockResult } from 'ccf-database';\n\n\n/**\n * Tissue block list in spatial search UI\n */\n@Component({\n selector: 'ccf-tissue-block-list',\n templateUrl: './tissue-block-list.component.html',\n styleUrls: ['./tissue-block-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TissueBlockListComponent {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-tissue-block-list';\n\n /** Tissue blocks to be displayed */\n @Input() tissueBlocks: TissueBlockResult[] = [];\n\n}\n\n \n\n \n \n {{tissueBlocks.length}} Tissue Blocks\n \n info\n \n\n\n\n \n person\n\n \n {{ tissueBlock.donor.label }}\n {{ tissueBlock.donor.description }}\n \n \n\n\n \n\n \n \n ./tissue-block-list.component.scss\n \n :host { \n .tissue-block-header {\n display: flex;\n justify-content: space-between;\n margin-bottom: 1rem;\n\n .title {\n font-size: .875rem;\n }\n\n .info {\n padding: 0;\n background: none;\n border: none;\n outline: none;\n border-radius: 0.25rem;\n transition: 0.6s;\n }\n }\n\n .tissue-list {\n overflow: auto;\n }\n\n .donor {\n min-height: 3rem;\n padding-left: 0.5rem;\n display: flex;\n font-size: 0.75rem;\n line-height: 1rem;\n align-items: center;\n flex-grow: 1;\n height: 2.5rem;\n width: 22rem;\n padding: 0.5rem;\n box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);\n cursor: pointer;\n margin-right: 1rem;\n margin-bottom: .5rem;\n\n .icon {\n margin-right: 0.5rem;\n }\n\n .donor-info {\n .title {\n font-weight: 600;\n }\n\n .description {\n width: 17rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{tissueBlocks.length}} Tissue Blocks info person {{ tissueBlock.donor.label }} {{ tissueBlock.donor.description }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TissueBlockListComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TissueBlockListModule.html":{"url":"modules/TissueBlockListModule.html","title":"module - TissueBlockListModule","body":"\n \n\n\n\n\n Modules\n TissueBlockListModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TissueBlockListModule\n\n\n\ncluster_TissueBlockListModule_declarations\n\n\n\ncluster_TissueBlockListModule_exports\n\n\n\n\nTissueBlockListComponent\n\nTissueBlockListComponent\n\n\n\nTissueBlockListModule\n\nTissueBlockListModule\n\nTissueBlockListModule -->\n\nTissueBlockListComponent->TissueBlockListModule\n\n\n\n\n\nTissueBlockListComponent \n\nTissueBlockListComponent \n\nTissueBlockListComponent -->\n\nTissueBlockListModule->TissueBlockListComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/tissue-block-list/tissue-block-list.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TissueBlockListComponent\n \n \n \n \n Exports\n \n \n TissueBlockListComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { TissueBlockListComponent } from './tissue-block-list.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatIconModule,\n MatTooltipModule\n ],\n declarations: [TissueBlockListComponent],\n exports: [TissueBlockListComponent]\n})\nexport class TissueBlockListModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TissueSectionVisComponent.html":{"url":"components/TissueSectionVisComponent.html","title":"component - TissueSectionVisComponent","body":"\n \n\n\n\n\n\n Components\n \n TissueSectionVisComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/modules/results-browser/tissue-section-vis/tissue-section-vis.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-tissue-section-vis\n \n\n \n styleUrls\n ./tissue-section-vis.component.scss\n \n\n\n\n \n templateUrl\n ./tissue-section-vis.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n tissueSectionExists\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n tissueSections\n \n \n totalTissueSections\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n tissueSections\n \n \n \n \n Type : TissueSectionResult[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/tissue-section-vis/tissue-section-vis.component.ts:18\n \n \n \n \n Tissue section data, used to determine which tissues to color on the graph\n\n \n \n \n \n \n \n \n \n \n totalTissueSections\n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/tissue-section-vis/tissue-section-vis.component.ts:15\n \n \n \n \n The total numebr of tissue sections, used for end label\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-tissue-section-vis\"\n\n \n \n \n \n Default value : 'ccf-tissue-section-vis'\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/tissue-section-vis/tissue-section-vis.component.ts:12\n \n \n\n \n \n HTML Class Name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n tissueSectionExists\n \n \n \n \n \n \ntissueSectionExists(sectionNumber: number)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/tissue-section-vis/tissue-section-vis.component.ts:21\n \n \n\n\n \n \n Returns whether or not the given section number exists in the tissueSection array\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sectionNumber\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-tissue-section-vis'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/tissue-section-vis/tissue-section-vis.component.ts:12\n \n \n\n \n \n HTML Class Name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { TissueSectionResult } from 'ccf-database';\n\n@Component({\n selector: 'ccf-tissue-section-vis',\n templateUrl: './tissue-section-vis.component.html',\n styleUrls: ['./tissue-section-vis.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TissueSectionVisComponent {\n /** HTML Class Name */\n @HostBinding('class') readonly clsName = 'ccf-tissue-section-vis';\n\n /** The total numebr of tissue sections, used for end label */\n @Input() totalTissueSections!: number;\n\n /** Tissue section data, used to determine which tissues to color on the graph */\n @Input() tissueSections!: TissueSectionResult[];\n\n /** Returns whether or not the given section number exists in the tissueSection array */\n tissueSectionExists(sectionNumber: number): boolean {\n if (this.tissueSections.filter(section => section.sectionNumber === sectionNumber).length > 0) {\n return true;\n }\n\n return false;\n }\n}\n\n \n\n \n 0\n\n \n \n\n{{ totalTissueSections }}\n \n\n \n \n ./tissue-section-vis.component.scss\n \n :host {\n width: 100%;\n height: 2.5rem;\n padding: .5rem;\n padding-left: 1rem;\n padding-right: 1rem;\n display: flex;\n\n .container {\n margin-right: .5rem;\n margin-left: .5rem;\n flex-grow: 1;\n display: flex;\n position: relative;\n justify-content: space-evenly;\n\n .line-tick {\n height: 100%;\n width: 1px;\n z-index: 2;\n }\n\n .x-axis {\n width: 100%;\n height: 2px;\n position: absolute;\n top: calc(50% - 1px);\n right: 0;\n z-index: 1;\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '0 {{ totalTissueSections }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TissueSectionVisComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TissueSectionVisModule.html":{"url":"modules/TissueSectionVisModule.html","title":"module - TissueSectionVisModule","body":"\n \n\n\n\n\n Modules\n TissueSectionVisModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TissueSectionVisModule\n\n\n\ncluster_TissueSectionVisModule_declarations\n\n\n\ncluster_TissueSectionVisModule_exports\n\n\n\n\nTissueSectionVisComponent\n\nTissueSectionVisComponent\n\n\n\nTissueSectionVisModule\n\nTissueSectionVisModule\n\nTissueSectionVisModule -->\n\nTissueSectionVisComponent->TissueSectionVisModule\n\n\n\n\n\nTissueSectionVisComponent \n\nTissueSectionVisComponent \n\nTissueSectionVisComponent -->\n\nTissueSectionVisModule->TissueSectionVisComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/results-browser/tissue-section-vis/tissue-section-vis.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TissueSectionVisComponent\n \n \n \n \n Exports\n \n \n TissueSectionVisComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TissueSectionVisComponent } from './tissue-section-vis.component';\n\n\n\n@NgModule({\n declarations: [TissueSectionVisComponent],\n imports: [CommonModule],\n exports: [TissueSectionVisComponent]\n})\nexport class TissueSectionVisModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ToggleButtonComponent.html":{"url":"components/ToggleButtonComponent.html","title":"component - ToggleButtonComponent","body":"\n \n\n\n\n\n\n Components\n \n ToggleButtonComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts\n\n\n\n \n Description\n \n \n Implements open/close button for the side drawers.\n\n \n\n\n \n Implements\n \n \n AfterViewInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-drawer-toggle-button\n \n\n \n styleUrls\n ./toggle-button.component.scss\n \n\n\n\n \n templateUrl\n ./toggle-button.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n Private\n opened\n \n \n Private\n position\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleMessage\n \n \n ngAfterViewInit\n \n \n ngOnDestroy\n \n \n toggle\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n class.ccf-drawer-toggle-button-end\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n classEnd\n \n \n icon\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(drawer: DrawerComponent, messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:42\n \n \n\n \n \n Creates an instance of toggle button component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n drawer\n \n \n DrawerComponent\n \n \n \n No\n \n \n \n The owning side drawer.\n\n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n Service used to send and receive event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-toggle-button\"\n\n \n \n \n \n Default value : 'ccf-drawer-toggle-button'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:19\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n class.ccf-drawer-toggle-button-end\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:22\n \n \n\n \n \n Whether this button is attach to a drawer in position 'end'.\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleMessage\n \n \n \n \n \n \nhandleMessage(msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:85\n \n \n\n\n \n \n Process an event message.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to be run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngAfterViewInit\n \n \n \n \n \n \nngAfterViewInit()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:65\n \n \n\n\n \n \n Initializes this component.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:75\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n toggle\n \n \n \n \n \n \ntoggle()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:97\n \n \n\n\n \n \n Updates the drawer state.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-toggle-button'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:19\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n opened\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:40\n \n \n\n \n \n Whether the owning drawer is opened.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n position\n \n \n \n \n \n \n Type : \"start\" | \"end\"\n\n \n \n \n \n Default value : 'start'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:38\n \n \n\n \n \n Position of the owning side drawer.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:42\n \n \n\n \n \n Subscriptions managed by this component.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n classEnd\n \n \n\n \n \n getclassEnd()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:22\n \n \n \n \n Whether this button is attach to a drawer in position 'end'.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n \n \n \n \n \n icon\n \n \n\n \n \n geticon()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:27\n \n \n \n \n Gets the name of the icon to display.\n\n\n \n Returns : string\n\n \n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, HostBinding, AfterViewInit } from '@angular/core';\n\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageService } from '../messages';\nimport { Subscription } from 'rxjs';\n\n\n/**\n * Implements open/close button for the side drawers.\n */\n@Component({\n selector: 'ccf-drawer-toggle-button',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToggleButtonComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-toggle-button';\n /** Whether this button is attach to a drawer in position 'end'. */\n @HostBinding('class.ccf-drawer-toggle-button-end') // eslint-disable-line\n get classEnd(): boolean {\n return this.position === 'end';\n }\n\n /** Gets the name of the icon to display. */\n get icon(): string {\n let expand = 'arrow_right';\n let collapse = 'arrow_left';\n if (this.position === 'end') {\n ([expand, collapse] = [collapse, expand]);\n }\n\n return this.opened ? collapse : expand;\n }\n\n /** Position of the owning side drawer. */\n private position: 'start' | 'end' = 'start';\n /** Whether the owning drawer is opened. */\n private opened = false;\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of toggle button component.\n *\n * @param drawer The owning side drawer.\n * @param messageService Service used to send and receive event messages.\n * @param cdr The change detector reference.\n */\n constructor(private drawer: DrawerComponent,\n messageService: MessageService,\n private cdr: ChangeDetectorRef) {\n const channel = messageService.connect(this);\n this.subscriptions.add(channel.getMessagesFromSource(drawer).subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Initializes this component.\n */\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.position = this.drawer.position;\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Process an event message.\n *\n * @param msg The event.\n * @returns true if change detection needs to be run.\n */\n handleMessage(msg: Message): boolean {\n if (msg.payload.type === 'drawer-toggled') {\n this.opened = msg.payload.opened;\n return true;\n }\n\n return false;\n }\n\n /**\n * Updates the drawer state.\n */\n toggle(): void {\n const drawer = this.drawer;\n const { opened, expanded } = drawer;\n if (opened) {\n if (expanded) {\n drawer.closeExpanded();\n } else {\n drawer.close();\n }\n } else {\n drawer.open();\n }\n }\n}\n\n \n\n \n \n {{ icon }}\n\n\n \n\n \n \n ./toggle-button.component.scss\n \n :host {\n position: absolute;\n top: calc(50% - 2.0625rem);\n right: -1.0625rem;\n width: 1.0625rem;\n height: 3rem;\n border-radius: 0rem 0.25rem 0.25rem 0rem;\n cursor: pointer;\n display: flex;\n align-items: center;\n transition: 0.6s;\n\n &.ccf-drawer-toggle-button-end {\n right: unset;\n left: calc(-1rem - 1px);\n border-radius: 0.25rem 0rem 0rem 0.25rem;\n }\n\n .expand-collapse-icon {\n position: relative;\n right: 0.25rem;\n transition: all 0.5s;\n }\n\n &.ccf-drawer-toggle-button-end .expand-collapse-icon {\n right: unset;\n left: -0.25rem;\n }\n}\n\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ icon }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ToggleButtonComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateFilter.html":{"url":"classes/UpdateFilter.html","title":"class - UpdateFilter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateFilter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/data/data.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(filter: Partial)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/data/data.actions.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n \n Partial\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[DataState] Update filter'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/data/data.actions.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Filter } from 'ccf-database';\n\nexport class UpdateFilter {\n static readonly type = '[DataState] Update filter';\n\n constructor(readonly filter: Partial) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateSpatialSearch.html":{"url":"classes/UpdateSpatialSearch.html","title":"class - UpdateSpatialSearch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateSpatialSearch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Update spatial search data'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:46\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ViewerComponent.html":{"url":"components/ViewerComponent.html","title":"component - ViewerComponent","body":"\n \n\n\n\n\n\n Components\n \n ViewerComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts\n\n\n\n \n Description\n \n \n Viewer for tissue samples\n\n \n\n\n \n Implements\n \n \n OnChanges\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-viewer\n \n\n \n styleUrls\n ./viewer.component.scss\n \n\n\n\n \n templateUrl\n ./viewer.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n className\n \n \n loading\n \n \n safeUrl\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngOnChanges\n \n \n Private\n updateUrl\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n url\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n closed\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(sanitizer: DomSanitizer)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:29\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sanitizer\n \n \n DomSanitizer\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n url\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:19\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n closed\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:21\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-viewer'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:17\n \n \n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngOnChanges\n \n \n \n \n \n \nngOnChanges(changes: SimpleChanges)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n changes\n \n SimpleChanges\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n updateUrl\n \n \n \n \n \n \n \n updateUrl()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:39\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-viewer'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n loading\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n safeUrl\n \n \n \n \n \n \n Type : SafeResourceUrl | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:29\n \n \n\n \n \n Sanitized url\nNOTE: Never use a getter for this property! It will cause the iframe to reload constantly.\n\n \n \n\n \n \n\n\n\n\n\n \n import {\n ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnChanges, Output, SimpleChanges,\n} from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n\n/**\n * Viewer for tissue samples\n */\n@Component({\n selector: 'ccf-viewer',\n templateUrl: './viewer.component.html',\n styleUrls: ['./viewer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ViewerComponent implements OnChanges {\n @HostBinding('class') className = 'ccf-viewer';\n\n @Input() url = '';\n\n @Output() readonly closed = new EventEmitter();\n\n loading = true;\n\n /**\n * Sanitized url\n * NOTE: Never use a getter for this property! It will cause the iframe to reload constantly.\n */\n safeUrl: SafeResourceUrl | null = null;\n\n constructor(private readonly sanitizer: DomSanitizer) { }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('url' in changes) {\n this.updateUrl();\n }\n }\n\n private updateUrl(): void {\n const { sanitizer, url } = this;\n this.safeUrl = null;\n if (url) {\n this.safeUrl = sanitizer.bypassSecurityTrustResourceUrl(url);\n this.loading = true;\n }\n }\n}\n\n \n\n \n \n \n launch\n Open in Portal\n \n \n clear\n \n\n\n\n \n Loading External Site\n\n\n\n\n\n \n\n \n \n ./viewer.component.scss\n \n :host {\n display: block;\n\n .toolbar {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n\n width: 100%;\n height: 1.5rem;\n\n .launch {\n margin-right: 3.5rem;\n\n &.mat-button-disabled {\n cursor: not-allowed;\n }\n\n .icon {\n margin-right: 0.25rem;\n }\n }\n\n .close {\n min-width: 0;\n padding: 0;\n line-height: 1.5rem;\n border-radius: 0;\n }\n }\n\n .overlay {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n position: absolute;\n top: 1.5rem;\n bottom: 0;\n left: 0;\n right: 0;\n\n .spinner {\n margin-bottom: 0.5rem;\n }\n }\n\n .frame {\n width: 100%;\n height: 100%;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' launch Open in Portal clear Loading External Site'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ViewerComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ViewerModule.html":{"url":"modules/ViewerModule.html","title":"module - ViewerModule","body":"\n \n\n\n\n\n Modules\n ViewerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ViewerModule\n\n\n\ncluster_ViewerModule_declarations\n\n\n\ncluster_ViewerModule_exports\n\n\n\n\nViewerComponent\n\nViewerComponent\n\n\n\nViewerModule\n\nViewerModule\n\nViewerModule -->\n\nViewerComponent->ViewerModule\n\n\n\n\n\nViewerComponent \n\nViewerComponent \n\nViewerComponent -->\n\nViewerModule->ViewerComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/viewer/viewer.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ViewerComponent\n \n \n \n \n Exports\n \n \n ViewerComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\nimport { ViewerComponent } from './viewer.component';\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatButtonModule,\n MatIconModule,\n MatProgressSpinnerModule\n ],\n declarations: [ViewerComponent],\n exports: [ViewerComponent]\n})\nexport class ViewerModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/WorkerDataSourceService.html":{"url":"injectables/WorkerDataSourceService.html","title":"injectable - WorkerDataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n WorkerDataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/services/data-source/worker-data-source.service.ts\n \n\n\n\n \n Extends\n \n \n WorkerCCFDatabaseDataSourceService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n createWorker\n \n \n Private\n getWorkerUrl\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(globalConfig: GlobalConfigState, locator: LocationStrategy)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/data-source/worker-data-source.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n locator\n \n \n LocationStrategy\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n createWorker\n \n \n \n \n \n \n \n createWorker(_config: CCFDatabaseOptions)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/data-source/worker-data-source.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Worker\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getWorkerUrl\n \n \n \n \n \n \n \n getWorkerUrl(directImport: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/data-source/worker-data-source.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n directImport\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string | URL\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LocationStrategy } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { CCFDatabaseOptions } from 'ccf-database';\nimport { GlobalConfigState, WorkerCCFDatabaseDataSourceService } from 'ccf-shared';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WorkerDataSourceService extends WorkerCCFDatabaseDataSourceService {\n constructor(\n globalConfig: GlobalConfigState,\n private readonly locator: LocationStrategy\n ) {\n super(globalConfig);\n }\n\n protected createWorker(_config: CCFDatabaseOptions): Worker {\n const url = this.getWorkerUrl(true);\n return new Worker(url, { type: 'module' });\n }\n\n private getWorkerUrl(directImport: boolean): string | URL {\n if (directImport) {\n return new URL('./data-source.worker', import.meta.url);\n }\n\n const externalUrl = this.locator.prepareExternalUrl('0-es2015.worker.js');\n const codeBlob = new Blob(\n [`importScripts('${externalUrl}')`],\n { type: 'application/javascript' }\n );\n\n return URL.createObjectURL(codeBlob);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-eui/src/app/app-web-component.component.ts\n \n component\n AppWebComponent\n \n 0 %\n (0/16)\n \n \n \n \n \n projects/ccf-eui/src/app/app-web-component.component.ts\n \n function\n parseDataSources\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-eui/src/app/app.component.ts\n \n component\n AppComponent\n \n 42 %\n (14/33)\n \n \n \n \n \n projects/ccf-eui/src/app/app.component.ts\n \n interface\n AppOptions\n \n 0 %\n (0/6)\n \n \n \n \n \n projects/ccf-eui/src/app/core/header/header.component.ts\n \n component\n HeaderComponent\n \n 75 %\n (6/8)\n \n \n \n \n \n projects/ccf-eui/src/app/core/models/flat-node.ts\n \n class\n FlatNode\n \n 50 %\n (3/6)\n \n \n \n \n \n projects/ccf-eui/src/app/core/models/list-result.ts\n \n interface\n ListResult\n \n 0 %\n (0/5)\n \n \n \n \n \n projects/ccf-eui/src/app/core/models/ontology-selection.ts\n \n interface\n OntologySelection\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/app-root-overlay/app-root-overlay.service.ts\n \n injectable\n AppRootOverlayContainer\n \n 0 %\n (0/6)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/data-source/data-source.service.ts\n \n injectable\n DelegateDataSourceService\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/data-source/data-source.service.ts\n \n interface\n DelegateDataSourceOptions\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/data-source/data-source.worker.ts\n \n variable\n database\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/data-source/worker-data-source.service.ts\n \n injectable\n WorkerDataSourceService\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts\n \n injectable\n OntologySearchService\n \n 72 %\n (8/11)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts\n \n interface\n SearchResult\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/theming/theming.service.ts\n \n injectable\n ThemingService\n \n 83 %\n (10/12)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/theming/theming.service.ts\n \n variable\n DEFAULT_THEME\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/action-as-fn.ts\n \n function\n actionAsFn\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts\n \n injectable\n ColorAssignmentState\n \n 12 %\n (1/8)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts\n \n interface\n Color\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts\n \n interface\n ColorAssignmentStateModel\n \n 0 %\n (0/5)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts\n \n variable\n DEFAULT_COLOR_PALETTE\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.actions.ts\n \n class\n UpdateFilter\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.selectors.ts\n \n class\n DataStateSelectors\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n injectable\n DataState\n \n 85 %\n (36/42)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n interface\n DataStateModel\n \n 33 %\n (2/6)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n function\n allCompleted\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n function\n queryData\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n function\n sendCompletedTo\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n variable\n DEFAULT_FILTER\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/icon-registry/default-icons.ts\n \n interface\n DefaultIconDefinition\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/icon-registry/default-icons.ts\n \n variable\n DEFAULT_ICONS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n injectable\n IconRegistryState\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n interface\n IconDefinition\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts\n \n injectable\n ListResultsState\n \n 50 %\n (6/12)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts\n \n interface\n ListResultsStateModel\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/scene/scene.state.ts\n \n injectable\n SceneState\n \n 68 %\n (13/19)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/scene/scene.state.ts\n \n interface\n SceneStateModel\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/scene/scene.state.ts\n \n variable\n DEFAULT_SELECTED_ORGANS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts\n \n class\n AddSearch\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts\n \n class\n RemoveSearch\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts\n \n class\n SetSelectedSearches\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.selectors.ts\n \n class\n SpatialSearchFilterSelectors\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts\n \n injectable\n SpatialSearchFilterState\n \n 0 %\n (0/7)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts\n \n interface\n SpatialSearchFilterItem\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n GenerateSpatialSearch\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n MoveToNode\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n ResetPosition\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n ResetRadius\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n SetExecuteSearchOnGenerate\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n SetOrgan\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n SetPosition\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n SetRadius\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n SetSex\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n StartSpatialSearchFlow\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n UpdateSpatialSearch\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts\n \n class\n SpatialSearchUiSelectors\n \n 0 %\n (0/19)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n class\n ReallyUpdateSpatialSearch\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n injectable\n SpatialSearchUiState\n \n 46 %\n (7/15)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n interface\n Position\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n interface\n RadiusSettings\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n interface\n SpatialSearchUiModel\n \n 0 %\n (0/14)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n interface\n TermResult\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/store.module.ts\n \n variable\n ROOT_STATES\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts\n \n component\n FiltersContentComponent\n \n 100 %\n (17/17)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts\n \n component\n FiltersPopoverComponent\n \n 100 %\n (13/13)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts\n \n component\n OntologySearchComponent\n \n 92 %\n (12/13)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts\n \n component\n OntologySelectionComponent\n \n 76 %\n (10/13)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-tree/ontology-tree.component.ts\n \n component\n OntologyTreeComponent\n \n 86 %\n (32/37)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-tree/ontology-tree.component.ts\n \n variable\n getLevel\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-tree/ontology-tree.component.ts\n \n variable\n isExpandable\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts\n \n component\n DonorCardComponent\n \n 93 %\n (14/15)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts\n \n component\n ResultsBrowserComponent\n \n 66 %\n (12/18)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/results-browser/tissue-section-vis/tissue-section-vis.component.ts\n \n component\n TissueSectionVisComponent\n \n 83 %\n (5/6)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts\n \n component\n CheckboxComponent\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts\n \n component\n ContainerComponent\n \n 100 %\n (13/13)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts\n \n function\n throwDuplicateDrawersError\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts\n \n component\n ContentComponent\n \n 100 %\n (18/18)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n component\n DrawerComponent\n \n 95 %\n (42/44)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n class\n InitializationState\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n variable\n EXPAND_COLLAPSE_PARAMS_DEFAULT\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n interface\n ContentContainerChanged\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerContainersChanged\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerInitialized\n \n 100 %\n (2/2)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerToggled\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n variable\n MessageService\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts\n \n component\n ToggleButtonComponent\n \n 100 %\n (12/12)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts\n \n component\n DropdownComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts\n \n component\n DualSliderComponent\n \n 100 %\n (26/26)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/run-spatial-search/run-spatial-search.component.ts\n \n component\n RunSpatialSearchComponent\n \n 80 %\n (4/5)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts\n \n component\n SpatialSearchConfigBehaviorComponent\n \n 0 %\n (0/16)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts\n \n component\n SpatialSearchConfigComponent\n \n 81 %\n (9/11)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts\n \n component\n SpatialSearchKeyboardUIBehaviorComponent\n \n 100 %\n (17/17)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts\n \n component\n SpatialSearchKeyboardUIComponent\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts\n \n component\n SpatialSearchUiBehaviorComponent\n \n 29 %\n (8/27)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts\n \n component\n SpatialSearchUiComponent\n \n 100 %\n (24/24)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/spinner-overlay/spinner-overlay.component.ts\n \n component\n SpinnerOverlayComponent\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/term-occurence-list/term-occurrence.component.ts\n \n component\n TermOccurrenceListComponent\n \n 66 %\n (4/6)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts\n \n component\n ThumbnailCarouselComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts\n \n variable\n nextUid\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/tissue-block-list/tissue-block-list.component.ts\n \n component\n TissueBlockListComponent\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts\n \n component\n ViewerComponent\n \n 20 %\n (2/10)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n class\n MessageChannel\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n injectable\n MessageService\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n interface\n Message\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n interface\n MessageServiceConfig\n \n 100 %\n (2/2)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n variable\n MESSAGE_SERVICE_CONFIG\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n variable\n MESSAGE_SERVICE_DEFAULT_CONFIG\n \n 100 %\n (1/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/enumerations.html":{"url":"miscellaneous/enumerations.html","title":"miscellaneous-enumerations - enumerations","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Enumerations\n\n\n\n Index\n \n \n \n \n \n \n DataQueryState   (projects/.../data.state.ts)\n \n \n \n \n \n \n\n\n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n \n \n \n \n \n DataQueryState\n \n \n \n \n Current state of data queries.\n\n \n \n \n \n  Running\n \n \n \n \n Value : running\n \n \n \n \n  Completed\n \n \n \n \n Value : completed\n \n \n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n actionAsFn   (projects/.../action-as-fn.ts)\n \n \n allCompleted   (projects/.../data.state.ts)\n \n \n parseDataSources   (projects/.../app-web-component.component.ts)\n \n \n queryData   (projects/.../data.state.ts)\n \n \n sendCompletedTo   (projects/.../data.state.ts)\n \n \n throwDuplicateDrawersError   (projects/.../container.component.ts)\n \n \n \n \n \n \n\n\n projects/ccf-eui/src/app/core/store/action-as-fn.ts\n \n \n \n \n \n \n \n actionAsFn\n \n \n \n \n \n \nactionAsFn(type)\n \n \n\n\n\n\n \n \n Small utility for creating callables that construct a new action\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n type\n\n \n No\n \n\n\n \n Action type\n\n \n \n \n \n \n \n \n \n Returns : InstanceType\n\n \n \n Callable that creates a new action when called\n\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n \n \n \n \n \n \n allCompleted\n \n \n \n \n \n \nallCompleted(states)\n \n \n\n\n\n\n \n \n Helper for testing that all states in an array are DataQueryState.Completed.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n states\n\n \n No\n \n\n\n \n The array of states to test.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if all values in the array is Completed.\n\n \n \n \n \n \n \n \n \n \n \n \n queryData\n \n \n \n \n \n \nqueryData(query, next?)\n \n \n\n\n\n\n \n \n Helper operator that combines querying with sharing and replay functionality.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n query\n\n \n No\n \n\n\n \n The data query function.\n\n \n \n \n next\n\n \n Yes\n \n\n\n \n An optional listener on the values emitted by the latest query.\n\n \n \n \n \n \n \n \n \n Returns : OperatorFunction>\n\n \n \n The combined pipe operator function.\n\n \n \n \n \n \n \n \n \n \n \n \n sendCompletedTo\n \n \n \n \n \n \nsendCompletedTo(subject)\n \n \n\n\n\n\n \n \n Helper creating a function that sends a DataQueryState.Completed to\na subject whenever it is called.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n subject\n\n \n No\n \n\n\n \n The subject to send completed messagess to.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n The function.\n\n \n \n \n \n \n projects/ccf-eui/src/app/app-web-component.component.ts\n \n \n \n \n \n \n \n parseDataSources\n \n \n \n \n \n \nparseDataSources(value)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n value\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts\n \n \n \n \n \n \n \n throwDuplicateDrawersError\n \n \n \n \n \n \nthrowDuplicateDrawersError(position)\n \n \n\n\n\n\n \n \n Helper function for creating drawer errors.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n position\n\n \n No\n \n\n\n \n The position of the drawer.\n\n \n \n \n \n \n \n \n \n Returns : never\n\n \n \n \n \n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AppModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CheckboxModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CoreModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DonorCardModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DrawerModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DropdownModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DualSliderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FiltersContentModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FiltersPopoverModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n HeaderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OntologyExplorationModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OntologySearchModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OntologySelectionModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OntologyTreeModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ResultsBrowserModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RunSpatialSearchModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SpatialSearchConfigBehaviorModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SpatialSearchConfigModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SpatialSearchKeyboardUIBehaviorModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SpatialSearchKeyboardUIModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SpatialSearchUiBehaviorModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SpatialSearchUiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SpinnerOverlayModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StoreModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n TermOccurrenceListModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ThemingModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ThumbnailCarouselModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TissueBlockListModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TissueSectionVisModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ViewerModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_CheckboxModule\n\n\n\ncluster_CheckboxModule_declarations\n\n\n\ncluster_CheckboxModule_exports\n\n\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\ncluster_CoreModule_exports\n\n\n\ncluster_DonorCardModule\n\n\n\ncluster_DonorCardModule_declarations\n\n\n\ncluster_DonorCardModule_imports\n\n\n\ncluster_DonorCardModule_exports\n\n\n\ncluster_DrawerModule\n\n\n\ncluster_DrawerModule_declarations\n\n\n\ncluster_DrawerModule_exports\n\n\n\ncluster_DropdownModule\n\n\n\ncluster_DropdownModule_declarations\n\n\n\ncluster_DropdownModule_exports\n\n\n\ncluster_DualSliderModule\n\n\n\ncluster_DualSliderModule_declarations\n\n\n\ncluster_DualSliderModule_exports\n\n\n\ncluster_FiltersContentModule\n\n\n\ncluster_FiltersContentModule_declarations\n\n\n\ncluster_FiltersContentModule_exports\n\n\n\ncluster_FiltersPopoverModule\n\n\n\ncluster_FiltersPopoverModule_declarations\n\n\n\ncluster_FiltersPopoverModule_exports\n\n\n\ncluster_HeaderModule\n\n\n\ncluster_HeaderModule_declarations\n\n\n\ncluster_HeaderModule_exports\n\n\n\ncluster_OntologyExplorationModule\n\n\n\ncluster_OntologyExplorationModule_imports\n\n\n\ncluster_OntologyExplorationModule_exports\n\n\n\ncluster_OntologySearchModule\n\n\n\ncluster_OntologySearchModule_declarations\n\n\n\ncluster_OntologySearchModule_exports\n\n\n\ncluster_OntologySelectionModule\n\n\n\ncluster_OntologySelectionModule_declarations\n\n\n\ncluster_OntologySelectionModule_OntologySelectionComponent_providers\n\n\n\ncluster_OntologySelectionModule_exports\n\n\n\ncluster_OntologyTreeModule\n\n\n\ncluster_OntologyTreeModule_declarations\n\n\n\ncluster_OntologyTreeModule_exports\n\n\n\ncluster_ResultsBrowserModule\n\n\n\ncluster_ResultsBrowserModule_declarations\n\n\n\ncluster_ResultsBrowserModule_exports\n\n\n\ncluster_RunSpatialSearchModule\n\n\n\ncluster_RunSpatialSearchModule_declarations\n\n\n\ncluster_RunSpatialSearchModule_exports\n\n\n\ncluster_SpatialSearchConfigBehaviorModule\n\n\n\ncluster_SpatialSearchConfigBehaviorModule_declarations\n\n\n\ncluster_SpatialSearchConfigBehaviorModule_imports\n\n\n\ncluster_SpatialSearchConfigBehaviorModule_exports\n\n\n\ncluster_SpatialSearchConfigModule\n\n\n\ncluster_SpatialSearchConfigModule_declarations\n\n\n\ncluster_SpatialSearchConfigModule_exports\n\n\n\ncluster_SpatialSearchKeyboardUIBehaviorModule\n\n\n\ncluster_SpatialSearchKeyboardUIBehaviorModule_declarations\n\n\n\ncluster_SpatialSearchKeyboardUIBehaviorModule_imports\n\n\n\ncluster_SpatialSearchKeyboardUIBehaviorModule_exports\n\n\n\ncluster_SpatialSearchKeyboardUIModule\n\n\n\ncluster_SpatialSearchKeyboardUIModule_declarations\n\n\n\ncluster_SpatialSearchKeyboardUIModule_exports\n\n\n\ncluster_SpatialSearchUiBehaviorModule\n\n\n\ncluster_SpatialSearchUiBehaviorModule_declarations\n\n\n\ncluster_SpatialSearchUiBehaviorModule_imports\n\n\n\ncluster_SpatialSearchUiBehaviorModule_exports\n\n\n\ncluster_SpatialSearchUiModule\n\n\n\ncluster_SpatialSearchUiModule_declarations\n\n\n\ncluster_SpatialSearchUiModule_imports\n\n\n\ncluster_SpatialSearchUiModule_exports\n\n\n\ncluster_SpinnerOverlayModule\n\n\n\ncluster_SpinnerOverlayModule_declarations\n\n\n\ncluster_SpinnerOverlayModule_exports\n\n\n\ncluster_TermOccurrenceListModule\n\n\n\ncluster_TermOccurrenceListModule_declarations\n\n\n\ncluster_TermOccurrenceListModule_exports\n\n\n\ncluster_ThemingModule\n\n\n\ncluster_ThemingModule_providers\n\n\n\ncluster_ThumbnailCarouselModule\n\n\n\ncluster_ThumbnailCarouselModule_declarations\n\n\n\ncluster_ThumbnailCarouselModule_exports\n\n\n\ncluster_TissueBlockListModule\n\n\n\ncluster_TissueBlockListModule_declarations\n\n\n\ncluster_TissueBlockListModule_exports\n\n\n\ncluster_TissueSectionVisModule\n\n\n\ncluster_TissueSectionVisModule_declarations\n\n\n\ncluster_TissueSectionVisModule_exports\n\n\n\ncluster_ViewerModule\n\n\n\ncluster_ViewerModule_declarations\n\n\n\ncluster_ViewerModule_exports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nAppModule -->\n\nCoreModule->AppModule\n\n\n\n\n\nHeaderModule \n\nHeaderModule \n\nHeaderModule -->\n\nCoreModule->HeaderModule \n\n\n\n\n\nDrawerModule\n\nDrawerModule\n\nAppModule -->\n\nDrawerModule->AppModule\n\n\n\n\n\nContainerComponent \n\nContainerComponent \n\nContainerComponent -->\n\nDrawerModule->ContainerComponent \n\n\n\n\n\nContentComponent \n\nContentComponent \n\nContentComponent -->\n\nDrawerModule->ContentComponent \n\n\n\n\n\nDrawerComponent \n\nDrawerComponent \n\nDrawerComponent -->\n\nDrawerModule->DrawerComponent \n\n\n\n\n\nToggleButtonComponent \n\nToggleButtonComponent \n\nToggleButtonComponent -->\n\nDrawerModule->ToggleButtonComponent \n\n\n\n\n\nDualSliderModule\n\nDualSliderModule\n\nAppModule -->\n\nDualSliderModule->AppModule\n\n\n\n\n\nDualSliderComponent \n\nDualSliderComponent \n\nDualSliderComponent -->\n\nDualSliderModule->DualSliderComponent \n\n\n\n\n\nFiltersContentModule\n\nFiltersContentModule\n\nFiltersContentModule -->\n\nDualSliderModule->FiltersContentModule\n\n\n\n\n\nFiltersPopoverModule\n\nFiltersPopoverModule\n\nAppModule -->\n\nFiltersPopoverModule->AppModule\n\n\n\n\n\nFiltersPopoverComponent \n\nFiltersPopoverComponent \n\nFiltersPopoverComponent -->\n\nFiltersPopoverModule->FiltersPopoverComponent \n\n\n\n\n\nOntologyExplorationModule\n\nOntologyExplorationModule\n\nAppModule -->\n\nOntologyExplorationModule->AppModule\n\n\n\n\n\nOntologySearchModule \n\nOntologySearchModule \n\nOntologySearchModule -->\n\nOntologyExplorationModule->OntologySearchModule \n\n\n\n\n\nOntologySelectionModule \n\nOntologySelectionModule \n\nOntologySelectionModule -->\n\nOntologyExplorationModule->OntologySelectionModule \n\n\n\n\n\nOntologyTreeModule \n\nOntologyTreeModule \n\nOntologyTreeModule -->\n\nOntologyExplorationModule->OntologyTreeModule \n\n\n\n\n\nResultsBrowserModule\n\nResultsBrowserModule\n\nAppModule -->\n\nResultsBrowserModule->AppModule\n\n\n\n\n\nResultsBrowserComponent \n\nResultsBrowserComponent \n\nResultsBrowserComponent -->\n\nResultsBrowserModule->ResultsBrowserComponent \n\n\n\n\n\nRunSpatialSearchModule\n\nRunSpatialSearchModule\n\nAppModule -->\n\nRunSpatialSearchModule->AppModule\n\n\n\nFiltersContentModule -->\n\nRunSpatialSearchModule->FiltersContentModule\n\n\n\n\n\nRunSpatialSearchComponent \n\nRunSpatialSearchComponent \n\nRunSpatialSearchComponent -->\n\nRunSpatialSearchModule->RunSpatialSearchComponent \n\n\n\n\n\nSpinnerOverlayModule\n\nSpinnerOverlayModule\n\nAppModule -->\n\nSpinnerOverlayModule->AppModule\n\n\n\n\n\nSpinnerOverlayComponent \n\nSpinnerOverlayComponent \n\nSpinnerOverlayComponent -->\n\nSpinnerOverlayModule->SpinnerOverlayComponent \n\n\n\n\n\nViewerModule\n\nViewerModule\n\nAppModule -->\n\nViewerModule->AppModule\n\n\n\n\n\nViewerComponent \n\nViewerComponent \n\nViewerComponent -->\n\nViewerModule->ViewerComponent \n\n\n\n\n\nCheckboxComponent\n\nCheckboxComponent\n\n\n\nCheckboxModule\n\nCheckboxModule\n\nCheckboxModule -->\n\nCheckboxComponent->CheckboxModule\n\n\n\n\n\nCheckboxComponent \n\nCheckboxComponent \n\nCheckboxComponent -->\n\nCheckboxModule->CheckboxComponent \n\n\n\nFiltersContentModule -->\n\nCheckboxModule->FiltersContentModule\n\n\n\n\n\nHeaderModule\n\nHeaderModule\n\nCoreModule -->\n\nHeaderModule->CoreModule\n\n\n\n\n\nHeaderComponent \n\nHeaderComponent \n\nHeaderComponent -->\n\nHeaderModule->HeaderComponent \n\n\n\n\n\nStoreModule\n\nStoreModule\n\nCoreModule -->\n\nStoreModule->CoreModule\n\n\n\n\n\nThemingModule\n\nThemingModule\n\nCoreModule -->\n\nThemingModule->CoreModule\n\n\n\n\n\nDonorCardComponent\n\nDonorCardComponent\n\n\n\nDonorCardModule\n\nDonorCardModule\n\nDonorCardModule -->\n\nDonorCardComponent->DonorCardModule\n\n\n\nResultsBrowserModule -->\n\nDonorCardModule->ResultsBrowserModule\n\n\n\n\n\nDonorCardComponent \n\nDonorCardComponent \n\nDonorCardComponent -->\n\nDonorCardModule->DonorCardComponent \n\n\n\n\n\nThumbnailCarouselModule\n\nThumbnailCarouselModule\n\nDonorCardModule -->\n\nThumbnailCarouselModule->DonorCardModule\n\n\n\n\n\nThumbnailCarouselComponent \n\nThumbnailCarouselComponent \n\nThumbnailCarouselComponent -->\n\nThumbnailCarouselModule->ThumbnailCarouselComponent \n\n\n\n\n\nTissueSectionVisModule\n\nTissueSectionVisModule\n\nDonorCardModule -->\n\nTissueSectionVisModule->DonorCardModule\n\n\n\n\n\nTissueSectionVisComponent \n\nTissueSectionVisComponent \n\nTissueSectionVisComponent -->\n\nTissueSectionVisModule->TissueSectionVisComponent \n\n\n\n\n\nContainerComponent\n\nContainerComponent\n\nDrawerModule -->\n\nContainerComponent->DrawerModule\n\n\n\n\n\nContentComponent\n\nContentComponent\n\nDrawerModule -->\n\nContentComponent->DrawerModule\n\n\n\n\n\nDrawerComponent\n\nDrawerComponent\n\nDrawerModule -->\n\nDrawerComponent->DrawerModule\n\n\n\n\n\nToggleButtonComponent\n\nToggleButtonComponent\n\nDrawerModule -->\n\nToggleButtonComponent->DrawerModule\n\n\n\n\n\nDropdownComponent\n\nDropdownComponent\n\n\n\nDropdownModule\n\nDropdownModule\n\nDropdownModule -->\n\nDropdownComponent->DropdownModule\n\n\n\n\n\nDropdownComponent \n\nDropdownComponent \n\nDropdownComponent -->\n\nDropdownModule->DropdownComponent \n\n\n\nFiltersContentModule -->\n\nDropdownModule->FiltersContentModule\n\n\n\n\n\nDualSliderComponent\n\nDualSliderComponent\n\nDualSliderModule -->\n\nDualSliderComponent->DualSliderModule\n\n\n\n\n\nFiltersContentComponent\n\nFiltersContentComponent\n\nFiltersContentModule -->\n\nFiltersContentComponent->FiltersContentModule\n\n\n\nFiltersPopoverModule -->\n\nFiltersContentModule->FiltersPopoverModule\n\n\n\n\n\nFiltersContentComponent \n\nFiltersContentComponent \n\nFiltersContentComponent -->\n\nFiltersContentModule->FiltersContentComponent \n\n\n\n\n\nFiltersPopoverComponent\n\nFiltersPopoverComponent\n\nFiltersPopoverModule -->\n\nFiltersPopoverComponent->FiltersPopoverModule\n\n\n\n\n\nHeaderComponent\n\nHeaderComponent\n\nHeaderModule -->\n\nHeaderComponent->HeaderModule\n\n\n\n\n\nOntologySearchModule\n\nOntologySearchModule\n\nOntologyExplorationModule -->\n\nOntologySearchModule->OntologyExplorationModule\n\n\n\n\n\nOntologySelectionModule\n\nOntologySelectionModule\n\nOntologySelectionModule -->\n\nOntologySearchModule->OntologySelectionModule\n\n\n\n\n\nOntologySearchComponent \n\nOntologySearchComponent \n\nOntologySearchComponent -->\n\nOntologySearchModule->OntologySearchComponent \n\n\n\nOntologyExplorationModule -->\n\nOntologySelectionModule->OntologyExplorationModule\n\n\n\n\n\nOntologySelectionComponent \n\nOntologySelectionComponent \n\nOntologySelectionComponent -->\n\nOntologySelectionModule->OntologySelectionComponent \n\n\n\n\n\nOntologyTreeModule\n\nOntologyTreeModule\n\nOntologyExplorationModule -->\n\nOntologyTreeModule->OntologyExplorationModule\n\n\n\nOntologySelectionModule -->\n\nOntologyTreeModule->OntologySelectionModule\n\n\n\n\n\nOntologyTreeComponent \n\nOntologyTreeComponent \n\nOntologyTreeComponent -->\n\nOntologyTreeModule->OntologyTreeComponent \n\n\n\n\n\nOntologySearchComponent\n\nOntologySearchComponent\n\nOntologySearchModule -->\n\nOntologySearchComponent->OntologySearchModule\n\n\n\n\n\nOntologySelectionComponent\n\nOntologySelectionComponent\n\nOntologySelectionModule -->\n\nOntologySelectionComponent->OntologySelectionModule\n\n\n\n\n\nOntologySearchService\n\nOntologySearchService\n\nOntologySelectionComponent -->\n\nOntologySearchService->OntologySelectionComponent\n\n\n\n\n\nOntologyTreeComponent\n\nOntologyTreeComponent\n\nOntologyTreeModule -->\n\nOntologyTreeComponent->OntologyTreeModule\n\n\n\n\n\nResultsBrowserComponent\n\nResultsBrowserComponent\n\nResultsBrowserModule -->\n\nResultsBrowserComponent->ResultsBrowserModule\n\n\n\n\n\nRunSpatialSearchComponent\n\nRunSpatialSearchComponent\n\nRunSpatialSearchModule -->\n\nRunSpatialSearchComponent->RunSpatialSearchModule\n\n\n\n\n\nSpatialSearchConfigBehaviorComponent\n\nSpatialSearchConfigBehaviorComponent\n\n\n\nSpatialSearchConfigBehaviorModule\n\nSpatialSearchConfigBehaviorModule\n\nSpatialSearchConfigBehaviorModule -->\n\nSpatialSearchConfigBehaviorComponent->SpatialSearchConfigBehaviorModule\n\n\n\n\n\nSpatialSearchConfigBehaviorComponent \n\nSpatialSearchConfigBehaviorComponent \n\nSpatialSearchConfigBehaviorComponent -->\n\nSpatialSearchConfigBehaviorModule->SpatialSearchConfigBehaviorComponent \n\n\n\n\n\nSpatialSearchConfigModule\n\nSpatialSearchConfigModule\n\nSpatialSearchConfigBehaviorModule -->\n\nSpatialSearchConfigModule->SpatialSearchConfigBehaviorModule\n\n\n\n\n\nSpatialSearchConfigComponent \n\nSpatialSearchConfigComponent \n\nSpatialSearchConfigComponent -->\n\nSpatialSearchConfigModule->SpatialSearchConfigComponent \n\n\n\n\n\nSpatialSearchConfigComponent\n\nSpatialSearchConfigComponent\n\nSpatialSearchConfigModule -->\n\nSpatialSearchConfigComponent->SpatialSearchConfigModule\n\n\n\n\n\nSpatialSearchKeyboardUIBehaviorComponent\n\nSpatialSearchKeyboardUIBehaviorComponent\n\n\n\nSpatialSearchKeyboardUIBehaviorModule\n\nSpatialSearchKeyboardUIBehaviorModule\n\nSpatialSearchKeyboardUIBehaviorModule -->\n\nSpatialSearchKeyboardUIBehaviorComponent->SpatialSearchKeyboardUIBehaviorModule\n\n\n\n\n\nSpatialSearchKeyboardUIBehaviorComponent \n\nSpatialSearchKeyboardUIBehaviorComponent \n\nSpatialSearchKeyboardUIBehaviorComponent -->\n\nSpatialSearchKeyboardUIBehaviorModule->SpatialSearchKeyboardUIBehaviorComponent \n\n\n\n\n\nSpatialSearchUiModule\n\nSpatialSearchUiModule\n\nSpatialSearchUiModule -->\n\nSpatialSearchKeyboardUIBehaviorModule->SpatialSearchUiModule\n\n\n\n\n\nSpatialSearchKeyboardUIModule\n\nSpatialSearchKeyboardUIModule\n\nSpatialSearchKeyboardUIBehaviorModule -->\n\nSpatialSearchKeyboardUIModule->SpatialSearchKeyboardUIBehaviorModule\n\n\n\n\n\nSpatialSearchKeyboardUIComponent \n\nSpatialSearchKeyboardUIComponent \n\nSpatialSearchKeyboardUIComponent -->\n\nSpatialSearchKeyboardUIModule->SpatialSearchKeyboardUIComponent \n\n\n\n\n\nSpatialSearchKeyboardUIComponent\n\nSpatialSearchKeyboardUIComponent\n\nSpatialSearchKeyboardUIModule -->\n\nSpatialSearchKeyboardUIComponent->SpatialSearchKeyboardUIModule\n\n\n\n\n\nSpatialSearchUiBehaviorComponent\n\nSpatialSearchUiBehaviorComponent\n\n\n\nSpatialSearchUiBehaviorModule\n\nSpatialSearchUiBehaviorModule\n\nSpatialSearchUiBehaviorModule -->\n\nSpatialSearchUiBehaviorComponent->SpatialSearchUiBehaviorModule\n\n\n\n\n\nSpatialSearchUiBehaviorComponent \n\nSpatialSearchUiBehaviorComponent \n\nSpatialSearchUiBehaviorComponent -->\n\nSpatialSearchUiBehaviorModule->SpatialSearchUiBehaviorComponent \n\n\n\nSpatialSearchUiBehaviorModule -->\n\nSpatialSearchUiModule->SpatialSearchUiBehaviorModule\n\n\n\n\n\nSpatialSearchUiComponent \n\nSpatialSearchUiComponent \n\nSpatialSearchUiComponent -->\n\nSpatialSearchUiModule->SpatialSearchUiComponent \n\n\n\n\n\nSpatialSearchUiComponent\n\nSpatialSearchUiComponent\n\nSpatialSearchUiModule -->\n\nSpatialSearchUiComponent->SpatialSearchUiModule\n\n\n\n\n\nTermOccurrenceListModule\n\nTermOccurrenceListModule\n\nSpatialSearchUiModule -->\n\nTermOccurrenceListModule->SpatialSearchUiModule\n\n\n\nSpatialSearchUiModule -->\n\nTermOccurrenceListModule->SpatialSearchUiModule\n\n\n\n\n\nTermOccurrenceListComponent \n\nTermOccurrenceListComponent \n\nTermOccurrenceListComponent -->\n\nTermOccurrenceListModule->TermOccurrenceListComponent \n\n\n\n\n\nTissueBlockListModule\n\nTissueBlockListModule\n\nSpatialSearchUiModule -->\n\nTissueBlockListModule->SpatialSearchUiModule\n\n\n\n\n\nTissueBlockListComponent \n\nTissueBlockListComponent \n\nTissueBlockListComponent -->\n\nTissueBlockListModule->TissueBlockListComponent \n\n\n\n\n\nSpinnerOverlayComponent\n\nSpinnerOverlayComponent\n\nSpinnerOverlayModule -->\n\nSpinnerOverlayComponent->SpinnerOverlayModule\n\n\n\n\n\nTermOccurrenceListComponent\n\nTermOccurrenceListComponent\n\nTermOccurrenceListModule -->\n\nTermOccurrenceListComponent->TermOccurrenceListModule\n\n\n\n\n\nThemingService\n\nThemingService\n\nThemingModule -->\n\nThemingService->ThemingModule\n\n\n\n\n\nThumbnailCarouselComponent\n\nThumbnailCarouselComponent\n\nThumbnailCarouselModule -->\n\nThumbnailCarouselComponent->ThumbnailCarouselModule\n\n\n\n\n\nTissueBlockListComponent\n\nTissueBlockListComponent\n\nTissueBlockListModule -->\n\nTissueBlockListComponent->TissueBlockListModule\n\n\n\n\n\nTissueSectionVisComponent\n\nTissueSectionVisComponent\n\nTissueSectionVisModule -->\n\nTissueSectionVisComponent->TissueSectionVisModule\n\n\n\n\n\nViewerComponent\n\nViewerComponent\n\nViewerModule -->\n\nViewerComponent->ViewerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n \n\n \n \n \n \n \n \n 30 Modules\n \n \n \n \n \n \n \n \n 30 Components\n \n \n \n \n \n \n \n 13 Injectables\n \n \n \n \n \n \n \n 22 Classes\n \n \n \n \n \n \n \n 23 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n Constructor   (projects/.../action-as-fn.ts)\n \n \n ContainerPayload   (projects/.../messages.ts)\n \n \n DrawerPayload   (projects/.../messages.ts)\n \n \n ExpandedState   (projects/.../drawer.component.ts)\n \n \n ExpandedState2   (projects/.../drawer.component.ts)\n \n \n GetChildrenFunc   (projects/.../ontology-tree.component.ts)\n \n \n Message   (projects/.../messages.ts)\n \n \n MessageChannel   (projects/.../messages.ts)\n \n \n MessageService   (projects/.../messages.ts)\n \n \n OpenedState   (projects/.../drawer.component.ts)\n \n \n Payload   (projects/.../messages.ts)\n \n \n Sex   (projects/.../spatial-search-config.component.ts)\n \n \n SpatialSearchFilterModel   (projects/.../spatial-search-filter.state.ts)\n \n \n \n \n \n \n\n\n projects/ccf-eui/src/app/core/store/action-as-fn.ts\n \n \n \n \n \n \n Constructor\n \n \n \n \n \n\n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n \n \n \n \n \n ContainerPayload\n \n \n \n \n Payload types for messages sent from the drawer container.\n\n \n \n \n \n ContentContainerChanged | DrawerContainersChanged\n\n \n \n \n \n \n \n \n \n \n DrawerPayload\n \n \n \n \n Payload types for messages sent from the drawers.\n\n \n \n \n \n DrawerToggled | DrawerInitialized\n\n \n \n \n \n \n \n \n \n \n Message\n \n \n \n \n Specific message type.\n\n \n \n \n \n GenericMessage\n\n \n \n \n \n \n \n \n \n \n MessageChannel\n \n \n \n \n Specific channel type.\n\n \n \n \n \n GenericMessageChannel\n\n \n \n \n \n \n \n \n \n \n MessageService\n \n \n \n \n Specific service type.\n\n \n \n \n \n GenericMessageService\n\n \n \n \n \n \n \n \n \n \n Payload\n \n \n \n \n Combined payload type for all drawer sub components.\n\n \n \n \n \n ContainerPayload | DrawerPayload\n\n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n \n \n \n \n \n ExpandedState\n \n \n \n \n Expanded/collapsed state.\n\n \n \n \n \n \"open\" | \"open-instant\" | \"closed\"\n\n \n \n \n \n \n \n \n \n \n ExpandedState2\n \n \n \n \n Expanded state relative to an opposite drawer.\n\n \n \n \n \n \"collapsed\" | \"half\" | \"extended\" | \"full\"\n\n \n \n \n \n \n \n \n \n \n OpenedState\n \n \n \n \n Opened/closed state.\n\n \n \n \n \n \"open\" | \"open-instant\" | \"closed\"\n\n \n \n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-tree/ontology-tree.component.ts\n \n \n \n \n \n \n GetChildrenFunc\n \n \n \n \n Type of function for getting child nodes from a parent node.\n\n \n \n \n \n function\n\n \n \n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts\n \n \n \n \n \n \n Sex\n \n \n \n \n Sex can either be male or female\n\n \n \n \n \n \"male\" | \"female\"\n\n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts\n \n \n \n \n \n \n SpatialSearchFilterModel\n \n \n \n \n SpatialSearchFilterItem[]\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n database   (projects/.../data-source.worker.ts)\n \n \n DEFAULT_COLOR_PALETTE   (projects/.../color-assignment.state.ts)\n \n \n DEFAULT_FILTER   (projects/.../data.state.ts)\n \n \n DEFAULT_ICONS   (projects/.../default-icons.ts)\n \n \n DEFAULT_SELECTED_ORGANS   (projects/.../scene.state.ts)\n \n \n DEFAULT_THEME   (projects/.../theming.service.ts)\n \n \n EXPAND_COLLAPSE_PARAMS_DEFAULT   (projects/.../drawer.component.ts)\n \n \n getLevel   (projects/.../ontology-tree.component.ts)\n \n \n isExpandable   (projects/.../ontology-tree.component.ts)\n \n \n MESSAGE_SERVICE_CONFIG   (projects/.../message.service.ts)\n \n \n MESSAGE_SERVICE_DEFAULT_CONFIG   (projects/.../message.service.ts)\n \n \n MessageService   (projects/.../messages.ts)\n \n \n nextUid   (projects/.../thumbnail-carousel.component.ts)\n \n \n ROOT_STATES   (projects/.../store.module.ts)\n \n \n \n \n \n \n\n\n projects/ccf-eui/src/app/core/services/data-source/data-source.worker.ts\n \n \n \n \n \n \n \n database\n \n \n \n \n \n \n Default value : new CCFDatabase()\n \n \n\n \n \n Worker thread database.\n\n \n \n\n \n \n\n projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts\n \n \n \n \n \n \n \n DEFAULT_COLOR_PALETTE\n \n \n \n \n \n \n Type : Color[]\n\n \n \n \n \n Default value : [\n '#FF8800',\n '#2979ff',\n '#ffd740',\n '#b92dff',\n '#da326f',\n '#7323e2',\n '#acf32b',\n '#82B1FF',\n '#E040FB',\n '#00E5FF'\n].map((color, rank) => {\n const rgba = hexRgb(color, { format: 'array' });\n rgba[3] = 255; // for Deck.gl\n return { color, rgba, rank };\n})\n \n \n\n\n \n \n\n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n \n \n \n \n \n \n DEFAULT_FILTER\n \n \n \n \n \n \n Type : Filter\n\n \n \n \n \n Default value : {\n sex: 'Both',\n ageRange: [1, 110],\n bmiRange: [13, 83],\n tmc: [],\n technologies: [],\n ontologyTerms: ['http://purl.obolibrary.org/obo/UBERON_0013702'],\n cellTypeTerms: ['http://purl.obolibrary.org/obo/CL_0000000'],\n spatialSearches: []\n}\n \n \n\n \n \n Default values for filters.\n\n \n \n\n \n \n\n projects/ccf-eui/src/app/core/store/icon-registry/default-icons.ts\n \n \n \n \n \n \n \n DEFAULT_ICONS\n \n \n \n \n \n \n Type : DefaultIconDefinition[]\n\n \n \n \n \n Default value : [\n // Reference Organs\n { name: 'bladder', namespace: 'app', url: 'assets/icons/organs/ico-organs-bladder.svg' },\n { name: 'blood', namespace: 'app', url: 'assets/icons/organs/ico-organs-blood.svg' },\n { name: 'bone-marrow', namespace: 'app', url: 'assets/icons/organs/ico-organs-bone-marrow.svg' },\n { name: 'brain', namespace: 'app', url: 'assets/icons/organs/ico-organs-brain.svg' },\n { name: 'eye', namespace: 'app', url: 'assets/icons/organs/ico-organs-eye.svg' },\n { name: 'fallopian-tube-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-left.svg' },\n { name: 'fallopian-tube-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-right.svg' },\n { name: 'heart', namespace: 'app', url: 'assets/icons/organs/ico-organs-heart.svg' },\n { name: 'kidney-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-left.svg' },\n { name: 'kidney-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-right.svg' },\n { name: 'kidney', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney.svg' },\n { name: 'knee', namespace: 'app', url: 'assets/icons/organs/ico-organs-knee.svg' },\n { name: 'large-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-large-intestine.svg' },\n { name: 'larynx', namespace: 'app', url: 'assets/icons/organs/ico-organs-larynx.svg' },\n { name: 'liver', namespace: 'app', url: 'assets/icons/organs/ico-organs-liver.svg' },\n { name: 'lung-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-left.svg' },\n { name: 'lung-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-right.svg' },\n { name: 'lung', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung.svg' },\n { name: 'lymph-nodes', namespace: 'app', url: 'assets/icons/organs/ico-organs-lymph-nodes.svg' },\n { name: 'main-bronchus', namespace: 'app', url: 'assets/icons/organs/ico-organs-extrapulmonary bronchus.svg' },\n { name: 'mammary-gland', namespace: 'app', url: 'assets/icons/organs/ico-organs-breast.svg' },\n { name: 'neuron', namespace: 'app', url: 'assets/icons/organs/ico-organs-neuron.svg' },\n { name: 'ovaries', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovaries.svg' },\n { name: 'ovary-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-left.svg' },\n { name: 'ovary-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-right.svg' },\n { name: 'palatine-tonsil', namespace: 'app', url: 'assets/icons/organs/ico-organs-palatine tonsil.svg' },\n { name: 'pancreas', namespace: 'app', url: 'assets/icons/organs/ico-organs-pancreas.svg' },\n { name: 'pelvis-f', namespace: 'app', url: 'assets/icons/organs/ico-organs-pelvis-f.svg' },\n { name: 'placenta', namespace: 'app', url: 'assets/icons/organs/ico-organs-placenta.svg' },\n { name: 'prostate', namespace: 'app', url: 'assets/icons/organs/ico-organs-prostate.svg' },\n { name: 'skin', namespace: 'app', url: 'assets/icons/organs/ico-organs-skin.svg' },\n { name: 'small-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-small intestine.svg' },\n { name: 'spinal-cord', namespace: 'app', url: 'assets/icons/organs/ico-organs-spinal-cord.svg' },\n { name: 'spleen', namespace: 'app', url: 'assets/icons/organs/ico-organs-spleen.svg' },\n { name: 'stomach', namespace: 'app', url: 'assets/icons/organs/ico-organs-stomach.svg' },\n { name: 'thymus', namespace: 'app', url: 'assets/icons/organs/ico-organs-thymus.svg' },\n { name: 'trachea', namespace: 'app', url: 'assets/icons/organs/ico-organs-trachea.svg' },\n { name: 'ureter-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-left.svg' },\n { name: 'ureter-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-right.svg' },\n { name: 'uterus', namespace: 'app', url: 'assets/icons/organs/ico-organs-uterus.svg' },\n { name: 'vasculature-thick', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thick.svg' },\n { name: 'vasculature-thin', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thin.svg' },\n\n { name: 'opacity', namespace: 'app', url: 'assets/icons/opacity-24px.svg' },\n { name: 'visibility_on', namespace: 'app', url: 'assets/icons/visibility-on-24px.svg' },\n { name: 'visibility_off', namespace: 'app', url: 'assets/icons/visibility-off-24px.svg' },\n { name: 'expand_more', namespace: 'app', url: 'assets/icons/expand_more-24px.svg' },\n { name: 'expand_less', namespace: 'app', url: 'assets/icons/expand_less-24px.svg' },\n { name: 'filter', url: 'assets/icons/filter.svg' }\n]\n \n \n\n \n \n Icons registered at startup.\n\n \n \n\n \n \n\n projects/ccf-eui/src/app/core/store/scene/scene.state.ts\n \n \n \n \n \n \n \n DEFAULT_SELECTED_ORGANS\n \n \n \n \n \n \n Default value : new Set(['Skin', 'Heart', 'Kidney', 'Spleen'])\n \n \n\n\n \n \n\n projects/ccf-eui/src/app/core/services/theming/theming.service.ts\n \n \n \n \n \n \n \n DEFAULT_THEME\n \n \n \n \n \n \n Default value : new InjectionToken('Default theme class')\n \n \n\n \n \n Token for specifying the default theme class.\n\n \n \n\n \n \n\n projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n \n \n \n \n \n \n EXPAND_COLLAPSE_PARAMS_DEFAULT\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n params: {\n width: 0,\n margin: 0,\n margin2: 0\n }\n}\n \n \n\n \n \n Default animation parameters.\n\n \n \n\n \n \n\n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-tree/ontology-tree.component.ts\n \n \n \n \n \n \n \n getLevel\n \n \n \n \n \n \n Default value : property('level')\n \n \n\n \n \n Getter function for 'level' on a flat node.\n\n \n \n\n \n \n \n \n \n \n \n \n isExpandable\n \n \n \n \n \n \n Default value : property('expandable')\n \n \n\n \n \n Getter function for 'expandable' on a flat node.\n\n \n \n\n \n \n\n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n \n \n \n \n \n \n MESSAGE_SERVICE_CONFIG\n \n \n \n \n \n \n Default value : new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n)\n \n \n\n \n \n Token for specifying the message service configuration.\n\n \n \n\n \n \n \n \n \n \n \n \n MESSAGE_SERVICE_DEFAULT_CONFIG\n \n \n \n \n \n \n Type : MessageServiceConfig\n\n \n \n \n \n Default value : {\n isolated: true\n}\n \n \n\n \n \n Default message service configuration.\n\n \n \n\n \n \n\n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n \n \n \n \n \n \n MessageService\n \n \n \n \n \n \n Default value : GenericMessageService\n \n \n\n \n \n Reference to the service class.\n\n \n \n\n \n \n\n projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts\n \n \n \n \n \n \n \n nextUid\n \n \n \n \n \n \n Default value : (() => {\n let counter = -1;\n return () => {\n counter += 1;\n return counter;\n };\n})()\n \n \n\n\n \n \n\n projects/ccf-eui/src/app/core/store/store.module.ts\n \n \n \n \n \n \n \n ROOT_STATES\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n GlobalConfigState,\n ColorAssignmentState,\n IconRegistryState,\n ListResultsState,\n DataState,\n SceneState,\n CallToActionState,\n SpatialSearchUiState,\n SpatialSearchFilterState\n]\n \n \n\n \n \n States shared across the entire app.\n\n \n \n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} + "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/classes/AddSearch.html",[0,0.069,1,2.262]],["body/classes/AddSearch.html",[0,0.124,1,3.784,2,2.313,3,0.108,4,0.132,5,0.096,6,0.097,7,2.861,8,1.42,9,3.52,10,4.59,11,0.471,12,0.868,13,2.435,14,1.206,15,0.7,16,1.287,17,5.4,18,2.711,19,5.746,20,1.114,21,4.423,22,1.161,23,7.507,24,1.259,25,0.009,26,0.82,27,0.966,28,1.034,29,0.988,30,1.347,31,2.914,32,3.25,33,0.192,34,0.687,35,1.669,36,3.077,37,2.501,38,2.8,39,3.915,40,3.714,41,0.176,42,3.73,43,3.714,44,4.314,45,2.313,46,3.714,47,2.201,48,2.097,49,2.886,50,2.57,51,0.005,52,0.007,53,0.005]],["title/modules/AppModule.html",[54,1.342,55,3.375]],["body/modules/AppModule.html",[0,0.077,3,0.089,4,0.109,5,0.079,6,0.079,14,0.676,22,0.779,25,0.009,30,1.027,33,0.22,34,0.567,41,0.109,51,0.005,52,0.006,53,0.005,55,7.076,56,1.506,57,1.986,58,4.457,59,4.457,60,4.457,61,2.731,62,2.639,63,5.961,64,5.961,65,5.643,66,5.961,67,5.961,68,5.961,69,5.643,70,5.961,71,5.961,72,2.127,73,1.209,74,1.378,75,5.038,76,2.337,77,6.642,78,2.177,79,1.319,80,7.432,81,5.038,82,1.183,83,1.462,84,5.372,85,3.56,86,6.642,87,5.031,88,2.127,89,0.389,90,5.038,91,4.457,92,3.048,93,2.181,94,6.642,95,4.457,96,4.074,97,4.695,98,3.56,99,5.877,100,4.444,101,2.825,102,5.877,103,4.457,104,5.877,105,5.877,106,6.642,107,6.642,108,1.576,109,4.695,110,4.457,111,1.527,112,3.789,113,4.457,114,4.995,115,5.038,116,3.37,117,3.56,118,5.038,119,5.038,120,5.038,121,4.457,122,3.56,123,5.038,124,5.038,125,2.825,126,5.038,127,5.038,128,4.995,129,5.038,130,5.038,131,4.457,132,3.56,133,4.457,134,4.457,135,3.56,136,3.789,137,5.038,138,3.789,139,5.038,140,5.038,141,2.939,142,4.995,143,4.074,144,3.56,145,3.37,146,4.457,147,4.457,148,2.01,149,2.825,150,0.974,151,6.642,152,5.038,153,4.457,154,5.038,155,3.56]],["title/interfaces/AppOptions.html",[156,0.743,157,3.63]],["body/interfaces/AppOptions.html",[0,0.048,3,0.056,4,0.068,5,0.05,6,0.038,8,1.092,9,2.486,11,0.443,12,0.55,13,0.881,14,1.2,15,0.596,16,0.664,20,1.047,25,0.009,27,1.275,28,0.533,31,1.636,32,1.364,33,0.211,34,0.774,35,0.862,39,1.643,40,1.917,41,0.068,43,1.917,46,2.898,47,1.136,48,1.636,51,0.003,52,0.004,53,0.006,61,0.986,73,0.756,79,1.247,83,1.591,87,4.074,89,0.243,95,2.787,96,2.548,101,3.588,108,0.986,109,3.365,110,2.787,111,1.32,112,2.369,113,2.787,116,2.108,121,2.787,122,2.226,145,5.392,146,5.079,148,1.257,150,0.921,156,0.522,157,3.851,158,1.109,159,2.787,160,2.062,161,5.079,162,4.216,163,5.556,164,6.398,165,5.556,166,1.895,167,1.057,168,3.186,169,1.141,170,3.365,171,4.213,172,2.548,173,4.762,174,4.317,175,1.445,176,2.108,177,1.838,178,1.838,179,1.082,180,3.032,181,2.4,182,3.365,183,3.15,184,5.74,185,2.787,186,2.108,187,3.219,188,2.369,189,1.032,190,1.838,191,1.838,192,1.164,193,4.762,194,3.15,195,3.15,196,2.369,197,2.108,198,2.108,199,5.107,200,2.787,201,3.032,202,3.186,203,3.15,204,2.226,205,2.548,206,2.548,207,1.702,208,3.15,209,2.548,210,2.573,211,2.787,212,3.349,213,3.15,214,2.006,215,2.369,216,2.4,217,3.15,218,3.349,219,1.838,220,1.767,221,2.006,222,1.456,223,2.787,224,1.756,225,3.15,226,2.108,227,1.702,228,1.75,229,3.15,230,2.548,231,1.641,232,3.15,233,2.108,234,0.773,235,1.082,236,3.15,237,1.136,238,3.15,239,1.057,240,1.057,241,3.15,242,1.881,243,3.15,244,3.15,245,3.15,246,3.15,247,3.15,248,3.15,249,3.15,250,3.15,251,3.15,252,0.921,253,4.213,254,3.365,255,1.302,256,2.291,257,5.174,258,2.787,259,3.15,260,2.417,261,3.15,262,4.317,263,3.15,264,1.851,265,1.676,266,2.548,267,3.733,268,3.15,269,1.095,270,2.369,271,3.733,272,2.573,273,2.778,274,3.15,275,1.881,276,3.15,277,3.15,278,0.972,279,3.15,280,3.15,281,3.15,282,2.548,283,3.15,284,3.15,285,1.513,286,3.15,287,1.588,288,2.108,289,3.186,290,1.009,291,3.15,292,3.15,293,3.15,294,3.15,295,2.21,296,2.787,297,3.15,298,3.15,299,3.101,300,4.643,301,3.15,302,3.15,303,2.369,304,3.15,305,3.15,306,3.15,307,2.548,308,3.15,309,1.636,310,1.057,311,2.101,312,1.513,313,2.787,314,2.548,315,1.257,316,4.762,317,2.006,318,0.825,319,2.548,320,2.108,321,3.15,322,3.15,323,3.15,324,3.15,325,3.15,326,3.15,327,3.15,328,3.15,329,3.15,330,3.15,331,3.15,332,3.15,333,3.15,334,3.15,335,3.15,336,3.15,337,4.317,338,3.15,339,2.226,340,2.787,341,3.15,342,3.15,343,3.15,344,2.369,345,3.15,346,3.15,347,3.15,348,3.15,349,1.537,350,2.787,351,3.15,352,2.898,353,4.762,354,4.762,355,2.005,356,5.74,357,3.15,358,3.15,359,4.762,360,2.548,361,1.76,362,3.15,363,2.548,364,3.15,365,5.74,366,1.767,367,1.838,368,2.291,369,3.457,370,3.851,371,6.393,372,4.317,373,2.232,374,4.762,375,3.15,376,2.548,377,3.15,378,3.15,379,3.15,380,3.15,381,3.15,382,3.15,383,4.762,384,3.15,385,3.15,386,1.922,387,3.15,388,3.15,389,3.15,390,1.194,391,3.15,392,1.194,393,1.445,394,1.057,395,3.15,396,2.369,397,1.917,398,3.15,399,3.15,400,2.548,401,2.787,402,1.194,403,1.767,404,1.445,405,2.108,406,2.67,407,3.15,408,0.901,409,3.851,410,3.851,411,5.74,412,4.762,413,4.762,414,7.226,415,4.762,416,7.226,417,6.398,418,3.15,419,3.15,420,1.082,421,2.006,422,2.252,423,3.15,424,4.762,425,1.225,426,3.15,427,4.762,428,3.15,429,3.15,430,3.15,431,3.15,432,2.548,433,3.15,434,3.15,435,3.15,436,4.762,437,2.006,438,3.15,439,3.15,440,3.15,441,3.15,442,1.643,443,3.15,444,1.838,445,2.787,446,3.15,447,2.787,448,3.032,449,2.787,450,3.15,451,3.15]],["title/injectables/AppRootOverlayContainer.html",[109,3.172,452,1.101]],["body/injectables/AppRootOverlayContainer.html",[0,0.09,3,0.104,4,0.126,5,0.092,6,0.105,11,0.452,12,0.846,15,0.565,22,1.331,24,1.208,25,0.009,26,0.786,27,0.926,28,0.991,29,0.948,33,0.172,41,0.126,51,0.005,52,0.007,53,0.005,79,1.915,82,1.874,83,1.932,84,6.453,85,4.138,89,0.452,109,5.17,111,2.132,112,6.599,160,3.167,170,6.202,242,2.615,269,1.346,285,1.289,313,6.472,318,2.376,452,1.794,453,2.951,454,7.763,455,5.179,456,7.979,457,7.979,458,6.001,459,8.358,460,8.358,461,7.315,462,5.854,463,5.854,464,7.315,465,5.854,466,5.854,467,5.854,468,3.415,469,7.979,470,5.854,471,7.315,472,5.854,473,1.75,474,5.854,475,4.735,476,5.854,477,2.857,478,7.315,479,2.686,480,2.686,481,2.608,482,2.164,483,2.769,484,3.917,485,3.917,486,5.854,487,5.854,488,5.854]],["title/components/AppWebComponent.html",[62,1.404,169,0.663]],["body/components/AppWebComponent.html",[0,0.063,3,0.072,4,0.088,5,0.064,6,0.107,8,1.197,11,0.316,12,0.666,15,0.689,16,1.215,20,1.193,22,1.38,24,0.844,25,0.009,26,0.896,27,0.647,29,0.933,30,1.259,33,0.171,34,1.055,41,0.088,51,0.004,52,0.005,53,0.005,61,1.28,62,2.266,89,0.316,108,1.28,111,1.534,117,6.341,145,4.463,150,1.29,160,2.495,162,4.225,163,5.395,165,5.395,166,2.038,167,1.372,168,4.846,169,0.985,182,5.119,197,2.736,198,2.736,222,1.251,224,1.251,228,1.825,231,1.907,234,2.292,239,1.933,240,1.933,255,1.825,275,1.34,278,0.693,285,1.269,290,1.309,307,5.858,312,0.9,320,4.846,442,2.133,473,1.223,489,1.405,490,1.251,491,7.256,492,3.308,493,6.671,494,1.372,495,5.762,496,1.803,497,3.892,498,2.299,499,7.243,500,6.671,501,6.671,502,6.671,503,6.671,504,6.671,505,5.395,506,5.858,507,4.09,508,5.762,509,5.762,510,4.09,511,4.09,512,4.09,513,4.09,514,4.09,515,4.09,516,4.09,517,4.09,518,4.09,519,4.09,520,4.09,521,4.09,522,4.09,523,3.362,524,4.09,525,4.09,526,4.09,527,3.618,528,2.594,529,4.09,530,7.635,531,4.333,532,4.09,533,4.09,534,4.09,535,5.098,536,4.09,537,4.09,538,4.09,539,3.308,540,4.09,541,2.736,542,4.09,543,4.09,544,3.076,545,4.09,546,4.09,547,4.09,548,4.09,549,4.09,550,3.308,551,6.671,552,1.405,553,1.803,554,1.803,555,1.405,556,2.488,557,1.405,558,1.405,559,1.405,560,1.28,561,1.405,562,1.28,563,1.405,564,1.28,565,1.979,566,1.28,567,1.309,568,1.405,569,1.405,570,1.28,571,1.405,572,1.28,573,1.372,574,1.405,575,1.28,576,1.762,577,1.405,578,1.28,579,1.405,580,1.28,581,1.979,582,1.28,583,1.405,584,1.309,585,1.405,586,1.28,587,1.405,588,1.28,589,1.34,590,1.28,591,1.144,592,2.292,593,1.28,594,1.405,595,1.28,596,1.762,597,1.114,598,1.28,599,1.979,600,1.28,601,1.28,602,1.28,603,1.405,604,1.28,605,1.223,606,1.405,607,1.979,608,1.28,609,1.372,610,1.405,611,1.28,612,1.723,613,1.28,614,1.28,615,1.405,616,1.28,617,1.196,618,1.405,619,1.28,620,1.405,621,1.405]],["title/components/CheckboxComponent.html",[169,0.663,560,1.404]],["body/components/CheckboxComponent.html",[0,0.058,3,0.067,4,0.082,5,0.06,6,0.097,8,1.167,11,0.293,14,0.733,15,0.615,16,0.799,20,1.061,22,1.231,24,1.126,25,0.009,26,0.94,27,0.864,28,0.924,29,1.133,30,1.231,31,2.197,32,2.363,33,0.151,34,1.046,41,0.082,44,3.857,51,0.003,52,0.005,53,0.005,61,1.186,62,1.186,79,1.429,82,0.89,83,1.202,89,0.293,111,0.871,149,2.126,150,0.733,166,1.339,167,1.271,169,1.175,201,5.188,222,1.159,224,1.159,228,1.493,231,1.829,234,2.279,235,1.875,237,1.968,239,1.831,240,1.831,252,1.596,255,1.75,256,3.251,264,2.122,272,2.949,275,1.242,278,0.642,287,2.751,288,3.652,290,1.213,309,2.404,310,1.831,311,1.956,352,3.321,361,2.855,373,1.474,400,4.414,404,3.211,420,1.302,421,3.475,473,1.133,489,1.302,490,1.159,494,1.271,496,1.186,498,2.178,523,2.811,552,1.302,553,1.708,554,1.708,555,1.302,556,2.404,557,1.302,558,1.302,559,1.302,560,2.189,561,1.302,562,1.186,563,1.302,564,1.186,565,1.875,566,1.186,567,1.213,568,1.302,569,1.302,570,1.186,571,1.302,572,1.186,573,1.271,574,1.302,575,1.186,576,1.669,577,1.302,578,1.186,579,1.302,580,1.186,581,1.875,582,1.186,583,1.302,584,1.213,585,1.302,586,1.186,587,1.302,588,1.186,589,1.242,590,1.186,591,1.06,592,2.197,593,1.186,594,1.302,595,1.186,596,1.669,597,1.055,598,1.186,599,1.875,600,1.186,601,1.186,602,1.186,603,1.302,604,1.186,605,1.133,606,1.302,607,1.875,608,1.186,609,1.271,610,1.302,611,1.186,612,1.632,613,1.186,614,1.186,615,1.302,616,1.186,617,1.108,618,1.302,619,1.186,620,1.302,621,1.302,622,1.367,623,3.353,624,1.408,625,5.458,626,4.829,627,7.724,628,2.751,629,5.458,630,7.853,631,6.396,632,5.458,633,5.458,634,6.561,635,4.258,636,2.504,637,5.173,638,2.679,639,3.528,640,5.458,641,3.224,642,3.025,643,1.747,644,1.408,645,4.414,646,3.79,647,3.79,648,5.458,649,4.105,650,5.458,651,5.458,652,3.79,653,2.663,654,5.66,655,4.414,656,3.79,657,7.452,658,3.857,659,6.998,660,2.85,661,4.829,662,3.475,663,3.857,664,5.458,665,6.998,666,5.863,667,3.79,668,4.105,669,3.321,670,5.458,671,4.946,672,3.415,673,3.857,674,5.458,675,5.458,676,2.432,677,3.065,678,1.849,679,1.792,680,3.79,681,5.173,682,3.79,683,5.458,684,3.79,685,3.79,686,3.353,687,2.126,688,2.048,689,3.456,690,3.79,691,3.353,692,3.79,693,2.85,694,3.79,695,2.85,696,2.679,697,3.79,698,2.581,699,1.968,700,1.739,701,1.792,702,2.306,703,2.048,704,2.211,705,2.85,706,2.694,707,2.126,708,2.679,709,5.458,710,3.79,711,1.596,712,2.85,713,3.79,714,3.353]],["title/modules/CheckboxModule.html",[54,1.342,715,3.172]],["body/modules/CheckboxModule.html",[0,0.103,3,0.119,4,0.146,5,0.106,6,0.081,25,0.008,33,0.207,41,0.146,51,0.006,52,0.007,53,0.006,56,2.019,57,2.385,72,2.554,73,1.621,74,1.847,76,2.807,78,2.212,88,2.554,89,0.521,560,2.941,677,5.461,715,6.479,716,5.974,717,5.974,718,5.974,719,6.752,720,2.741,721,2.877,722,2.319,723,7.058,724,6.752]],["title/interfaces/Color.html",[156,0.743,355,1.89]],["body/interfaces/Color.html",[0,0.074,3,0.085,4,0.104,5,0.076,6,0.058,11,0.372,12,0.746,14,1.042,15,0.561,20,1.088,25,0.009,26,0.647,33,0.204,41,0.168,51,0.004,52,0.006,53,0.004,83,1.061,89,0.372,150,1.501,156,1.068,158,1.696,160,2.087,175,2.96,179,1.656,189,1.579,191,2.812,192,1.781,227,2.604,242,1.579,273,3.763,278,0.816,285,1.782,295,2.223,318,1.262,355,3.914,386,1.235,408,1.378,422,2.279,425,1.874,452,1.582,644,2.009,725,3.407,726,2.703,727,3.407,728,5.631,729,6.264,730,4.864,731,3.625,732,4.077,733,2.147,734,3.618,735,2.703,736,4.107,737,2.703,738,3.898,739,3.625,740,3.625,741,3.618,742,4.629,743,3.407,744,3.625,745,3.625,746,3.625,747,3.625,748,3.625,749,3.625,750,3.625,751,3.625,752,3.625,753,3.625,754,3.625,755,3.625,756,3.407,757,3.625,758,3.069,759,3.625,760,3.407,761,5.217,762,7.08,763,5.679,764,2.352,765,7.213,766,4.943,767,3.898,768,3.069,769,2.211,770,5.217,771,2.604,772,5.217,773,3.898,774,3.898,775,3.898,776,3.898,777,5.88,778,5.88,779,3.898,780,3.898,781,5.217,782,3.898,783,3.898,784,3.898,785,3.898,786,3.898,787,3.898,788,3.898,789,3.898,790,3.898,791,4.559,792,3.898,793,5.217,794,5.217,795,5.217,796,5.217,797,3.925,798,3.898,799,3.898,800,3.898,801,3.898]],["title/injectables/ColorAssignmentState.html",[452,1.101,771,2.425]],["body/injectables/ColorAssignmentState.html",[0,0.067,3,0.077,4,0.094,5,0.069,6,0.101,11,0.337,12,0.697,14,1.187,15,0.533,20,1.121,22,1.282,24,1.426,25,0.009,26,1.001,27,1.093,28,1.324,29,1.266,33,0.199,41,0.161,51,0.004,52,0.005,53,0.004,79,1.579,82,1.623,83,1.328,89,0.337,150,1.441,156,0.999,160,2.612,175,2.767,179,1.5,189,1.431,191,2.548,192,1.614,227,2.359,242,1.977,273,3.519,278,1.021,285,1.722,295,2.279,318,1.809,355,3.842,386,1.119,408,1.724,422,2.065,425,1.698,452,1.479,453,2.201,624,0.962,644,1.722,725,5.97,726,4.737,727,3.086,728,5.278,729,5.197,730,5.232,731,3.284,732,4.386,733,1.946,734,3.383,735,2.449,736,4.4,737,2.449,738,3.532,739,3.284,740,3.284,741,3.875,742,4.98,743,3.086,744,3.284,745,3.284,746,3.284,747,3.284,748,3.284,749,3.284,750,3.284,751,3.284,752,3.284,753,3.284,754,3.284,755,3.284,756,3.086,757,3.284,758,2.781,759,3.284,760,3.086,761,4.878,762,6.934,763,5.67,764,2.131,765,7.201,766,5.278,767,4.878,768,2.781,769,2.004,770,4.878,771,3.259,772,6.541,773,4.878,774,4.878,775,4.878,776,4.878,777,5.589,778,5.589,779,3.532,780,3.532,781,6.027,782,3.532,783,3.532,784,3.532,785,3.532,786,3.532,787,3.532,788,3.532,789,3.532,790,3.532,791,4.263,792,3.532,793,4.878,794,4.878,795,4.878,796,4.878,797,3.67,798,3.532,799,3.532,800,3.532,801,3.532,802,6.032,803,6.032,804,6.032,805,4.367,806,1.931,807,4.367,808,4.367,809,4.367,810,4.367,811,4.367,812,4.367,813,4.367,814,4.367]],["title/interfaces/ColorAssignmentStateModel.html",[156,0.743,760,3.172]],["body/interfaces/ColorAssignmentStateModel.html",[0,0.074,3,0.085,4,0.104,5,0.076,6,0.057,11,0.371,12,0.744,14,1.041,15,0.642,20,1.034,25,0.009,26,0.645,33,0.204,41,0.167,51,0.004,52,0.006,53,0.004,83,1.058,89,0.371,150,1.499,156,1.066,158,1.691,160,2.081,175,2.954,179,1.651,189,1.575,191,2.804,192,1.776,227,2.597,242,1.575,273,3.756,278,0.814,285,1.78,295,2.22,318,1.258,355,3.913,386,1.231,408,1.374,422,2.273,425,1.869,452,1.579,644,1.78,725,3.397,726,2.695,727,3.397,728,5.412,729,5.46,730,4.857,731,3.614,732,4.071,733,2.141,734,3.611,735,2.695,736,4.099,737,2.695,738,3.887,739,3.614,740,3.614,741,3.611,742,4.623,743,3.397,744,3.614,745,3.614,746,3.614,747,3.614,748,3.614,749,3.614,750,3.614,751,3.614,752,3.614,753,3.614,754,3.614,755,3.614,756,3.397,757,3.614,758,3.06,759,3.614,760,4.55,761,6.539,762,7.262,763,5.782,764,3.543,765,7.344,766,4.938,767,3.887,768,3.06,769,2.205,770,5.207,771,2.597,772,5.207,773,3.887,774,3.887,775,3.887,776,3.887,777,5.871,778,5.871,779,3.887,780,3.887,781,5.207,782,3.887,783,3.887,784,3.887,785,3.887,786,3.887,787,3.887,788,3.887,789,3.887,790,3.887,791,4.55,792,3.887,793,5.207,794,5.207,795,5.207,796,5.207,797,3.918,798,3.887,799,3.887,800,3.887,801,3.887,815,4.842]],["title/components/ContainerComponent.html",[169,0.663,562,1.404]],["body/components/ContainerComponent.html",[0,0.112,3,0.058,4,0.07,5,0.051,6,0.103,8,1.105,11,0.376,12,0.563,14,0.785,15,0.627,16,0.685,20,0.416,22,1.319,24,1.006,25,0.009,26,0.873,27,0.771,28,0.991,29,0.947,30,1.173,33,0.172,34,1.04,41,0.07,51,0.003,52,0.004,53,0.004,61,1.017,62,1.017,79,1.276,82,1.781,83,1.431,89,0.251,111,0.747,141,2.844,148,1.945,150,1.257,166,1.594,167,1.09,168,4.349,169,1.218,189,1.065,192,1.201,222,0.994,224,1.988,226,3.262,228,2,231,2.477,234,2.25,235,1.675,237,1.758,239,1.635,240,1.635,252,1.425,255,1.6,264,1.895,269,1.743,275,1.065,278,0.991,285,1.431,290,1.041,309,1.675,310,1.635,311,1.988,318,2.348,320,4.349,339,2.297,349,2.379,367,4.739,386,0.833,394,1.09,408,1.394,420,1.117,425,2.274,442,2.542,473,1.458,489,1.117,490,0.994,494,1.09,496,1.017,539,2.629,552,1.117,553,2.179,554,1.525,555,1.117,556,2.233,557,1.117,558,1.117,559,1.117,560,1.017,561,1.117,562,2.034,563,1.117,564,2.034,565,1.675,566,1.017,567,1.041,568,1.117,569,1.117,570,1.017,571,1.117,572,1.017,573,1.09,574,1.117,575,1.017,576,1.491,577,1.117,578,1.017,579,1.117,580,1.017,581,1.675,582,1.017,583,1.117,584,1.041,585,1.117,586,1.017,587,1.117,588,1.017,589,1.917,590,1.017,591,0.909,592,2.01,593,1.017,594,1.117,595,1.017,596,1.491,597,0.942,598,1.017,599,1.675,600,1.017,601,1.017,602,1.017,603,1.117,604,1.017,605,0.972,606,1.117,607,1.675,608,1.017,609,1.09,610,1.117,611,1.017,612,1.458,613,1.017,614,1.017,615,1.117,616,1.017,617,0.95,618,1.117,619,1.017,620,1.117,621,1.117,622,1.172,624,1.288,643,1.561,644,1.073,672,3.568,698,4.068,806,2.081,816,2.629,817,4.731,818,3.281,819,4.313,820,4.875,821,3.578,822,5.85,823,4.875,824,3.631,825,2.854,826,5.85,827,5.85,828,5.073,829,3.943,830,5.257,831,3.645,832,6.499,833,2.305,834,3.445,835,3.525,836,5.85,837,4.313,838,4.875,839,2.457,840,3.51,841,3.645,842,3.666,843,2.172,844,4.875,845,4.875,846,3.378,847,3.25,848,4.313,849,4.875,850,3.666,851,3.445,852,3.25,853,3.074,854,4.313,855,4.875,856,3.25,857,3.445,858,3.25,859,4.875,860,4.875,861,2.949,862,3.25,863,3.262,864,2.237,865,7.582,866,4.875,867,6.499,868,3.25,869,4.594,870,4.313,871,6.499,872,4.875,873,3.25,874,3.445,875,4.313,876,4.875,877,3.25,878,3.914,879,3.666,880,3.25,881,3.25,882,4.313,883,3.25,884,3.25,885,3.25,886,1.491,887,3.25,888,2.875,889,2.875,890,2.444,891,2.629,892,2.07,893,2.875,894,1.823,895,2.875,896,3.943,897,3.25,898,2.875,899,3.25,900,2.875,901,2.334,902,3.413,903,2.629,904,3.25,905,3.25,906,3.25,907,3.25,908,2.175,909,2.629,910,2.875,911,2.444,912,3.25,913,3.25,914,4.313,915,2.07,916,2.734,917,4.313,918,3.25,919,3.25,920,2.175,921,3.25,922,1.978,923,3.25,924,3.25,925,4.875,926,4.875,927,3.25,928,3.25,929,3.25,930,3.25,931,3.25,932,3.25,933,3.25,934,1.537,935,1.978,936,2.966,937,1.823,938,3.25,939,2.875,940,2.875]],["title/components/ContentComponent.html",[169,0.663,564,1.404]],["body/components/ContentComponent.html",[0,0.109,3,0.053,4,0.065,5,0.047,6,0.104,8,1.073,11,0.355,12,0.532,14,0.75,15,0.634,16,0.635,20,0.385,22,1.332,24,1.152,25,0.009,26,0.904,27,0.884,28,1.408,29,1.33,30,1.143,33,0.159,34,1.034,41,0.065,51,0.003,52,0.004,53,0.004,61,0.942,62,0.942,74,0.824,79,1.205,82,1.582,83,1.564,89,0.233,111,0.692,148,1.837,150,1.428,166,1.812,167,1.01,168,4.183,169,1.153,189,0.987,222,0.921,224,2.06,228,1.259,231,2.54,234,2.235,237,1.659,239,1.544,240,1.544,242,2.421,252,1.345,255,1.528,264,2.962,269,1.698,275,0.987,278,0.779,285,1.377,290,0.964,295,1.708,309,1.581,310,1.544,311,2.259,318,2.221,320,4.183,339,2.129,344,2.265,367,3.93,368,2.834,373,2.761,386,1.892,393,1.382,394,1.01,420,1.035,421,2.931,425,1.171,442,1.571,473,1.376,489,1.035,490,0.921,494,1.01,496,1.44,497,1.757,552,1.035,553,2.107,554,1.44,555,1.035,556,2.148,557,1.035,558,1.035,559,1.035,560,0.942,561,1.035,562,0.942,563,1.035,564,1.956,565,1.581,566,0.942,567,0.964,568,1.035,569,1.035,570,0.942,571,1.035,572,0.942,573,1.01,574,1.035,575,0.942,576,1.407,577,1.035,578,0.942,579,1.035,580,0.942,581,1.581,582,0.942,583,1.035,584,0.964,585,1.035,586,0.942,587,1.035,588,0.942,589,1.83,590,0.942,591,0.842,592,1.919,593,0.942,594,1.035,595,0.942,596,1.407,597,0.89,598,0.942,599,1.581,600,0.942,601,0.942,602,0.942,603,1.035,604,0.942,605,0.901,606,1.035,607,1.581,608,0.942,609,1.01,610,1.035,611,0.942,612,1.376,613,0.942,614,0.942,615,1.035,616,0.942,617,0.881,618,1.035,619,0.942,620,1.035,621,1.035,622,1.086,624,1.377,643,1.473,644,1.754,671,2.129,672,3.465,699,3.19,711,2.283,806,2.156,818,3.132,821,3.258,825,2.725,828,4.943,829,3.722,831,3.507,833,2.177,835,3.553,837,4.072,839,2.32,840,3.152,841,3.507,842,3.461,843,2.05,846,3.164,850,3.461,851,3.253,853,2.177,857,3.253,864,2.112,875,4.072,878,3.737,879,3.461,886,1.382,890,2.265,894,1.637,901,2.948,902,4.143,911,2.265,915,1.918,916,1.689,920,2.015,934,1.425,936,1.833,941,2.665,942,4.602,943,7.167,944,2.177,945,4.941,946,5.585,947,6.736,948,5.585,949,5.585,950,6.253,951,4.602,952,4.602,953,4.602,954,6.253,955,6.253,956,6.253,957,4.602,958,3.079,959,4.602,960,4.517,961,4.602,962,4.602,963,4.2,964,4.602,965,4.116,966,4.602,967,3.722,968,3.012,969,3.722,970,3.722,971,3.012,972,3.012,973,4.602,974,2.957,975,2.685,976,4.602,977,5.158,978,3.012,979,4.602,980,3.012,981,3.253,982,3.461,983,4.602,984,6.253,985,2.665,986,3.399,987,2.112,988,2.665,989,2.436,990,3.012,991,3.012,992,2.05,993,3.012,994,3.012,995,3.012,996,3.012,997,3.012,998,2.265,999,2.436,1000,3.132,1001,4.602,1002,3.012,1003,4.602,1004,3.012,1005,1.918,1006,2.015,1007,3.012,1008,3.012,1009,3.012,1010,5.585,1011,3.012,1012,3.012,1013,4.602,1014,3.012,1015,3.012,1016,4.602,1017,3.012,1018,3.012,1019,3.012,1020,1.142,1021,2.129,1022,2.665,1023,1.757,1024,3.012,1025,3.012,1026,3.012,1027,2.015]],["title/interfaces/ContentContainerChanged.html",[156,0.743,1028,2.858]],["body/interfaces/ContentContainerChanged.html",[0,0.082,3,0.095,4,0.116,5,0.085,6,0.064,11,0.415,12,0.801,15,0.726,25,0.009,33,0.127,41,0.196,51,0.005,52,0.006,53,0.005,150,1.039,156,1.341,158,1.89,166,1.699,169,1.238,228,1.895,231,2.623,233,3.594,252,1.57,264,2.693,267,3.134,278,1.173,295,1.643,361,2.993,367,4.041,408,1.536,479,2.465,480,2.465,481,2.393,482,1.985,483,2.54,484,3.594,485,3.594,497,3.134,528,2.981,617,1.57,624,1.183,643,2.218,644,1.525,698,3.276,699,2.497,711,2.025,733,3.608,821,3.517,824,2.801,835,3.663,839,2.708,840,3.492,843,3.416,846,4.087,861,3.492,915,3.421,916,3.885,977,4.411,981,3.797,1005,3.421,1028,4.882,1029,3.421,1030,5.007,1031,4.895,1032,4.895,1033,5.129,1034,3.797,1035,4.411,1036,3.797,1037,3.134,1038,4.215,1039,4.895,1040,4.04,1041,4.04,1042,4.411,1043,4.411,1044,3.742,1045,4.04,1046,2.621,1047,3.797,1048,4.895,1049,3.421,1050,4.299]],["title/modules/CoreModule.html",[54,1.342,63,3.172]],["body/modules/CoreModule.html",[0,0.091,3,0.106,4,0.129,5,0.094,6,0.071,25,0.009,27,0.945,33,0.216,34,0.907,41,0.129,51,0.005,52,0.007,53,0.005,54,2.215,56,1.786,57,2.215,63,6.545,72,2.371,73,1.434,74,1.634,78,2.427,88,2.371,89,0.461,108,1.869,111,1.373,141,3.485,142,4.492,147,5.284,155,4.221,181,3.734,185,5.284,197,3.996,198,3.996,278,1.254,539,4.831,720,2.544,1051,5.284,1052,5.284,1053,5.284,1054,6.545,1055,6.233,1056,6.233,1057,5.973,1058,7.407,1059,5.973,1060,5.235,1061,7.407,1062,5.973,1063,7.407,1064,5.973,1065,5.973,1066,4.831,1067,5.973,1068,5.235,1069,5.973,1070,4.221,1071,4.831,1072,5.973,1073,5.973,1074,5.973,1075,5.973,1076,5.973,1077,5.973,1078,5.973,1079,5.973,1080,5.973,1081,5.284,1082,8.051,1083,5.973,1084,4.831,1085,5.973]],["title/interfaces/DataStateModel.html",[156,0.743,1086,3.375]],["body/interfaces/DataStateModel.html",[0,0.043,3,0.049,4,0.141,5,0.044,6,0.033,11,0.335,12,0.502,14,1.199,15,0.574,18,0.855,20,0.682,25,0.009,26,0.375,27,1.03,28,0.473,29,0.703,31,3.169,33,0.184,34,0.6,35,1.458,41,0.13,51,0.007,52,0.004,53,0.003,82,1.834,83,1.682,89,0.216,108,0.875,148,1.116,149,1.568,150,0.84,155,1.976,156,0.719,158,0.984,160,1.211,166,0.686,175,1.994,177,1.631,179,0.96,180,4.863,181,2.19,186,2.907,187,3.205,188,2.103,189,0.916,190,1.631,191,1.631,192,1.033,209,3.514,210,1.511,234,0.686,252,1.903,254,3.071,255,1.458,256,1.734,262,4.008,269,0.643,270,2.103,278,1.322,285,1.719,287,1.409,288,1.871,295,2.336,296,2.473,299,1.511,300,2.261,303,5.409,309,0.96,310,0.938,311,2.431,312,1.945,315,1.734,318,2.189,352,1.701,361,1.033,403,2.437,422,2.521,425,1.087,442,3.751,452,1.066,473,1.299,479,1.283,480,1.283,481,2.375,482,1.033,528,1.087,576,0.855,605,1.797,612,1.299,624,0.616,628,4.215,643,1.391,644,0.616,688,1.511,732,3.651,733,1.246,734,2.437,735,1.568,737,1.568,741,4.528,769,1.283,797,3.658,839,1.409,846,1.246,891,4.311,892,1.78,896,4.311,901,1.116,974,1.322,975,3.11,1000,1.568,1037,3.11,1049,1.78,1086,3.268,1087,1.976,1088,5.76,1089,5.76,1090,7.524,1091,6.892,1092,5.817,1093,6.892,1094,3.514,1095,1.511,1096,3.767,1097,5.744,1098,2.473,1099,4.345,1100,1.06,1101,1.409,1102,4.345,1103,7.436,1104,4.345,1105,3.844,1106,2.103,1107,5.33,1108,2.796,1109,2.796,1110,4.345,1111,2.473,1112,2.473,1113,1.511,1114,1.976,1115,2.266,1116,2.348,1117,2.796,1118,4.008,1119,2.103,1120,2.473,1121,2.473,1122,2.473,1123,2.103,1124,2.261,1125,2.261,1126,1.976,1127,2.473,1128,2.473,1129,1.631,1130,6.441,1131,1.631,1132,2.796,1133,2.261,1134,2.261,1135,4.715,1136,5.183,1137,2.261,1138,5.318,1139,2.261,1140,3.844,1141,2.796,1142,1.701,1143,1.78,1144,2.473,1145,2.473,1146,2.796,1147,3.844,1148,2.473,1149,2.261,1150,2.473,1151,2.473,1152,2.261,1153,7.171,1154,1.78,1155,5.593,1156,2.779,1157,2.261,1158,1.976,1159,2.796,1160,2.796,1161,2.796,1162,2.796,1163,2.796,1164,2.473,1165,2.796,1166,2.796,1167,2.796,1168,5.409,1169,4.345,1170,2.796,1171,4.345,1172,2.796,1173,4.345,1174,2.796,1175,4.345,1176,2.796,1177,4.345,1178,2.796,1179,4.345,1180,2.796,1181,4.345,1182,2.796,1183,4.345,1184,3.268,1185,4.345,1186,4.345,1187,4.345,1188,2.796,1189,4.345,1190,7.193,1191,2.796,1192,2.796,1193,4.345,1194,3.844,1195,2.796,1196,2.796,1197,6.011,1198,4.345,1199,2.796,1200,2.796,1201,4.345,1202,2.796,1203,2.796,1204,4.345,1205,2.796,1206,2.796,1207,3.844,1208,4.345,1209,2.796,1210,2.796,1211,4.345,1212,4.345,1213,2.796,1214,2.796,1215,2.796,1216,2.796,1217,2.796,1218,2.796,1219,2.796,1220,2.796,1221,2.796,1222,2.796,1223,2.796,1224,2.796,1225,2.796,1226,2.796,1227,2.796,1228,2.796,1229,2.796,1230,2.796,1231,2.796,1232,2.796,1233,2.796,1234,2.796,1235,1.78,1236,2.796,1237,2.796,1238,2.796,1239,2.796,1240,2.796,1241,2.796,1242,2.796,1243,2.796,1244,2.796,1245,2.261,1246,2.796,1247,2.796,1248,2.796,1249,2.796,1250,2.796,1251,2.796,1252,2.796,1253,2.796,1254,2.796,1255,2.796,1256,2.796,1257,2.796,1258,2.796,1259,2.796,1260,2.796,1261,2.796,1262,1.568,1263,2.796,1264,2.796,1265,4.345,1266,2.266,1267,2.796,1268,2.796,1269,2.473,1270,2.796,1271,3.828,1272,2.796,1273,2.796,1274,2.796,1275,1.976,1276,2.796,1277,1.701,1278,1.871,1279,2.796,1280,2.796,1281,2.796,1282,2.796,1283,2.796,1284,4.896,1285,2.796,1286,2.796,1287,7.193,1288,2.796,1289,2.796,1290,2.796,1291,2.796,1292,2.796,1293,2.796,1294,2.796,1295,2.796,1296,2.796,1297,2.796,1298,2.796,1299,2.796,1300,2.796,1301,2.796,1302,2.796,1303,2.796,1304,2.796]],["title/classes/DataStateSelectors.html",[0,0.069,207,2.425]],["body/classes/DataStateSelectors.html",[0,0.094,2,2.333,3,0.109,4,0.133,5,0.097,6,0.102,11,0.475,13,2.56,15,0.63,22,1.262,24,1.684,25,0.009,26,1.096,27,1.291,31,2.999,33,0.192,34,0.693,35,1.684,41,0.133,51,0.006,52,0.007,53,0.006,79,1.976,82,1.917,111,1.735,179,2.115,180,5.558,207,4.077,210,3.326,234,1.51,285,1.797,295,2.496,406,4.232,806,2.613,1086,6.927,1088,6.676,1089,6.676,1305,5.446,1306,7.546,1307,8.161,1308,6.156,1309,7.546,1310,6.156,1311,7.546,1312,6.156,1313,6.156,1314,8.161,1315,6.156,1316,6.156,1317,6.156]],["title/interfaces/DefaultIconDefinition.html",[156,0.743,1318,3.375]],["body/interfaces/DefaultIconDefinition.html",[3,0.066,4,0.081,5,0.059,6,0.045,11,0.289,12,0.626,15,0.537,20,1.1,25,0.009,26,1.271,27,1.285,31,1.287,41,0.117,47,2.774,51,0.003,52,0.005,53,0.003,116,6.307,150,0.725,156,0.621,158,1.319,226,2.507,271,5.526,272,2.925,368,2.947,373,2.871,406,2.102,553,2.482,624,0.825,843,1.67,922,3.294,992,1.67,1278,2.507,1318,4.78,1319,2.649,1320,3.031,1321,3.031,1322,3.031,1323,4.759,1324,3.316,1325,4.379,1326,3.748,1327,3.748,1328,2.649,1329,3.748,1330,3.316,1331,3.031,1332,3.316,1333,7.116,1334,4.071,1335,5.235,1336,5.63,1337,4.071,1338,2.507,1339,3.031,1340,2.649,1341,4.586,1342,3.316,1343,8.307,1344,3.316,1345,3.316,1346,3.316,1347,4.79,1348,3.316,1349,3.316,1350,3.316,1351,3.316,1352,3.316,1353,3.316,1354,6.159,1355,6.159,1356,6.532,1357,6.532,1358,2.818,1359,3.316,1360,5.218,1361,3.316,1362,3.316,1363,3.316,1364,4.79,1365,4.79,1366,4.79,1367,3.316,1368,3.316,1369,3.316,1370,3.316,1371,6.532,1372,3.316,1373,4.79,1374,3.316,1375,3.316,1376,3.316,1377,3.316,1378,3.316,1379,3.316,1380,3.316,1381,3.316,1382,3.316,1383,3.316,1384,3.316,1385,6.159,1386,4.79,1387,3.316,1388,3.316,1389,3.316,1390,3.316,1391,4.79,1392,3.316,1393,3.316,1394,3.031,1395,3.316,1396,3.316,1397,3.316,1398,3.316,1399,3.316,1400,4.379,1401,4.379,1402,3.031,1403,3.316,1404,2.818,1405,3.316,1406,3.316,1407,3.316,1408,3.316,1409,3.316,1410,3.316,1411,3.316,1412,6.159,1413,3.316,1414,3.316,1415,6.159,1416,3.316,1417,3.316,1418,2.818,1419,3.316,1420,3.316,1421,6.532,1422,3.316,1423,4.79,1424,3.316,1425,3.031,1426,3.316,1427,3.031,1428,3.316,1429,3.316]],["title/interfaces/DelegateDataSourceOptions.html",[156,0.743,1430,3.375]],["body/interfaces/DelegateDataSourceOptions.html",[0,0.098,3,0.113,4,0.138,5,0.101,6,0.076,11,0.493,12,0.892,15,0.596,20,1.06,25,0.009,27,1.363,33,0.203,34,0.719,41,0.167,51,0.006,52,0.007,53,0.006,89,0.493,108,1.997,111,1.467,150,1.234,156,1.057,158,2.246,160,2.764,166,2.034,197,4.27,198,4.27,285,1.825,312,1.405,408,1.825,452,1.892,458,4.8,468,3.724,505,7.247,506,7.247,531,4.8,591,1.785,1068,4.511,1070,4.511,1071,5.162,1430,6.235,1431,4.511,1432,4.8,1433,6.825,1434,6.825,1435,6.825,1436,5.647,1437,6.825,1438,5.452,1439,5.802,1440,5.647,1441,5.647]],["title/injectables/DelegateDataSourceService.html",[452,1.101,1068,3.172]],["body/injectables/DelegateDataSourceService.html",[0,0.097,3,0.112,4,0.137,5,0.1,6,0.092,11,0.49,15,0.49,20,0.811,22,0.981,24,1.309,25,0.009,26,0.852,27,1.004,33,0.203,34,0.714,41,0.166,51,0.006,52,0.007,53,0.006,79,2.012,82,1.49,89,0.49,108,1.984,111,1.458,150,1.226,156,1.05,160,3.327,166,1.556,197,4.243,198,4.243,285,1.82,312,1.396,408,1.813,452,1.885,453,3.197,458,6.218,468,3.7,505,6.687,506,6.687,531,4.77,591,2.149,1068,5.431,1070,5.431,1071,5.13,1430,6.463,1431,5.431,1432,4.77,1433,7.315,1434,6.799,1435,6.799,1436,5.611,1437,7.315,1438,5.431,1439,5.779,1440,6.799,1441,5.611,1442,7.685,1443,6.342]],["title/components/DonorCardComponent.html",[169,0.663,566,1.404]],["body/components/DonorCardComponent.html",[0,0.102,3,0.118,4,0.056,5,0.041,6,0.098,8,1.01,11,0.201,12,0.474,14,0.897,15,0.612,16,0.548,20,0.895,22,1.26,24,0.846,25,0.009,26,0.939,27,0.649,28,1.185,29,1.082,30,1.082,33,0.12,34,1.022,35,0.711,41,0.056,47,2.409,48,2.564,50,2.647,51,0.002,52,0.004,53,0.004,61,0.813,62,0.813,74,0.711,79,1.074,82,1.194,83,1.471,89,0.201,111,0.597,149,1.457,166,1.247,167,0.871,169,1.188,222,0.794,224,0.794,226,1.738,228,1.122,231,1.453,234,2.202,235,1.409,237,1.479,239,1.376,240,1.376,242,2.293,253,3.629,254,2.899,255,1.39,269,0.597,271,3.898,275,0.851,278,0.978,282,3.318,287,2.068,288,2.745,290,0.832,295,2.283,309,1.409,310,1.376,311,1.255,312,0.903,355,2.946,361,1.516,368,2.667,373,1.977,386,2.031,420,2.296,425,2.245,437,3.677,473,2.092,477,3.068,482,1.516,489,0.892,490,0.794,494,0.871,496,0.813,498,1.637,523,2.533,552,0.892,553,1.967,554,1.967,555,0.892,556,1.984,557,0.892,558,0.892,559,0.892,560,0.813,561,0.892,562,0.813,563,0.892,564,0.813,565,1.409,566,1.807,567,2.774,568,0.892,569,0.892,570,0.813,571,0.892,572,0.813,573,0.871,574,0.892,575,0.813,576,1.255,577,0.892,578,0.813,579,0.892,580,0.813,581,1.409,582,0.813,583,0.892,584,0.832,585,0.892,586,0.813,587,0.892,588,0.813,589,1.666,590,0.813,591,0.726,592,1.746,593,0.813,594,0.892,595,0.813,596,1.255,597,0.793,598,0.813,599,1.409,600,0.813,601,0.813,602,0.813,603,0.892,604,0.813,605,0.777,606,0.892,607,1.409,608,0.813,609,0.871,610,0.892,611,0.813,612,2.168,613,0.813,614,1.591,615,0.892,616,0.813,617,0.759,618,0.892,619,0.813,620,0.892,621,0.892,622,0.937,624,1.384,630,6.898,636,1.882,638,1.836,639,2.911,641,2.563,642,2.404,643,1.313,653,2.002,657,5.562,660,2.801,661,5.109,672,2.002,676,2.265,678,1.268,679,1.228,687,2.851,688,2.747,689,3.61,691,3.629,695,3.085,696,4.081,698,1.228,699,2.859,700,2.649,701,2.404,702,4.413,703,3.78,704,2.966,706,3.143,711,2.279,806,0.832,833,1.94,835,2.366,851,2.899,853,2.731,864,1.882,886,1.192,894,1.331,902,2.393,916,2.301,934,1.228,935,2.496,936,2.496,937,1.457,944,3.16,963,1.954,965,3.397,987,1.192,992,2.573,1000,2.301,1020,2.652,1023,1.515,1027,3.401,1044,4.13,1101,2.563,1131,1.515,1323,2.216,1425,3.318,1427,3.318,1444,5.245,1445,6.661,1446,6.194,1447,2.298,1448,7.48,1449,3.629,1450,3.629,1451,5.083,1452,4.102,1453,4.497,1454,5.083,1455,5.774,1456,4.102,1457,5.774,1458,5.085,1459,3.823,1460,5.083,1461,4.102,1462,2.598,1463,5.025,1464,3.61,1465,4.471,1466,2.598,1467,2.598,1468,2.598,1469,2.598,1470,2.598,1471,2.598,1472,3.748,1473,4.102,1474,2.598,1475,4.67,1476,3.085,1477,4.102,1478,2.598,1479,3.629,1480,3.629,1481,2.612,1482,4.102,1483,4.102,1484,2.899,1485,2.393,1486,2.598,1487,3.318,1488,3.085,1489,3.318,1490,3.085,1491,6.682,1492,2.598,1493,5.083,1494,5.083,1495,4.102,1496,5.109,1497,2.598,1498,2.598,1499,2.598,1500,3.318,1501,3.629,1502,3.629,1503,5.912,1504,5.774,1505,4.102,1506,4.102,1507,4.102,1508,4.102,1509,4.102,1510,4.102,1511,1.228,1512,1.581,1513,3.261,1514,3.16,1515,2.496,1516,1.94,1517,0.759,1518,2.101,1519,2.139,1520,2.747,1521,2.563,1522,2.598,1523,2.598,1524,2.598,1525,2.598,1526,2.298,1527,2.598,1528,2.101,1529,2.598,1530,2.598,1531,3.823,1532,2.598,1533,1.836,1534,2.973,1535,2.747,1536,3.093,1537,3.085,1538,1.836,1539,1.836,1540,6.416,1541,1.457,1542,4.728,1543,2.101,1544,3.401,1545,3.823,1546,2.598,1547,3.629,1548,2.598,1549,2.598,1550,2.598,1551,2.598,1552,2.598,1553,2.598,1554,1.403,1555,2.598,1556,2.731,1557,1.654,1558,2.101,1559,2.101,1560,3.093,1561,2.298,1562,2.101,1563,3.629,1564,2.298,1565,2.598,1566,2.393,1567,2.598,1568,2.598,1569,2.298,1570,2.298,1571,2.298,1572,1.654,1573,2.298]],["title/modules/DonorCardModule.html",[54,1.342,1574,3.172]],["body/modules/DonorCardModule.html",[0,0.097,3,0.112,4,0.137,5,0.1,6,0.076,25,0.009,33,0.214,41,0.137,51,0.006,52,0.007,53,0.006,56,1.901,57,2.301,72,2.464,73,1.526,74,1.739,76,2.708,78,2.522,88,2.464,89,0.491,92,3.531,93,2.753,566,2.92,567,2.036,612,1.901,614,2.408,677,5.143,720,2.644,721,2.775,722,2.184,723,6.809,1444,4.049,1445,5.143,1446,4.782,1574,6.571,1575,5.625,1576,5.625,1577,5.625,1578,5.625,1579,6.327,1580,6.327,1581,6.359,1582,6.359,1583,4.494,1584,6.359,1585,6.359,1586,4.782,1587,6.359]],["title/interfaces/DrawerContainersChanged.html",[156,0.743,1035,2.858]],["body/interfaces/DrawerContainersChanged.html",[0,0.081,3,0.094,4,0.115,5,0.084,6,0.064,11,0.411,12,0.796,15,0.726,25,0.009,33,0.126,41,0.196,51,0.005,52,0.006,53,0.005,150,1.03,156,1.337,158,1.874,166,1.69,169,1.192,228,2.088,231,2.641,233,3.564,252,1.557,264,2.678,267,3.107,278,0.902,295,1.629,361,2.984,367,4.877,408,1.969,479,2.444,480,2.444,481,2.373,482,1.969,483,2.519,484,3.564,485,3.564,497,3.107,528,2.969,617,1.557,624,1.173,643,2.205,644,1.517,698,3.258,699,2.484,711,2.014,733,3.597,821,3.503,824,2.778,835,3.308,839,2.685,840,3.473,843,3.069,846,4.082,861,3.473,915,3.392,916,3.863,977,4.386,981,4.869,1005,3.392,1028,4.386,1029,3.392,1030,4.996,1031,4.869,1032,4.869,1033,5.108,1034,3.764,1035,4.862,1036,4.869,1037,4.019,1038,4.192,1039,4.869,1040,4.006,1041,4.006,1042,4.386,1043,4.386,1044,3.722,1045,4.006,1046,2.599,1047,3.764,1048,4.869,1049,3.392,1050,4.282]],["title/interfaces/DrawerInitialized.html",[156,0.743,1042,2.858]],["body/interfaces/DrawerInitialized.html",[0,0.083,3,0.096,4,0.117,5,0.085,6,0.065,11,0.418,12,0.805,15,0.726,25,0.009,33,0.128,41,0.196,51,0.005,52,0.006,53,0.005,150,1.046,156,1.345,158,1.905,166,1.707,169,1.136,228,1.904,231,2.636,233,3.621,252,1.582,264,2.706,267,3.158,278,0.917,295,1.655,361,2.844,367,4.061,408,1.547,479,2.483,480,2.483,481,2.411,482,2,483,2.56,484,3.621,485,3.621,497,3.158,528,2.991,617,1.582,624,1.192,643,2.228,644,1.532,698,3.292,699,2.51,711,2.035,733,3.618,821,3.53,824,2.822,835,3.328,839,2.728,840,3.509,843,3.101,846,4.091,861,3.509,915,3.446,916,3.903,977,4.432,981,3.825,1005,3.446,1028,4.432,1029,3.446,1030,5.017,1031,4.919,1032,4.919,1033,5.147,1034,3.825,1035,4.432,1036,3.825,1037,3.158,1038,4.235,1039,4.919,1040,5.234,1041,5.234,1042,4.899,1043,4.432,1044,3.761,1045,4.07,1046,2.641,1047,3.825,1048,4.919,1049,3.446,1050,4.315]],["title/modules/DrawerModule.html",[54,1.342,64,3.172]],["body/modules/DrawerModule.html",[0,0.093,3,0.107,4,0.131,5,0.095,6,0.072,25,0.009,33,0.215,41,0.131,51,0.005,52,0.007,53,0.005,56,1.809,57,2.233,64,6.636,72,2.391,73,1.453,74,1.655,76,2.628,78,1.983,88,2.391,89,0.467,92,3.426,93,2.62,99,6.607,100,4.996,101,3.394,102,6.607,103,5.354,141,3.531,142,4.551,143,4.895,224,2.837,562,2.902,564,2.902,616,2.902,617,1.769,720,2.565,889,5.354,890,4.551,1034,4.277,1588,5.354,1589,5.354,1590,5.354,1591,6.052,1592,4.755,1593,4.755,1594,6.052,1595,4.895,1596,6.052]],["title/interfaces/DrawerToggled.html",[156,0.743,1043,2.858]],["body/interfaces/DrawerToggled.html",[0,0.079,3,0.091,4,0.112,5,0.081,6,0.062,11,0.399,12,0.781,15,0.728,25,0.009,33,0.122,41,0.195,51,0.005,52,0.006,53,0.005,150,0.999,156,1.321,158,1.818,166,2.083,169,1.111,228,1.847,231,2.656,233,3.457,252,1.975,264,3.103,267,3.94,278,0.875,295,2.066,361,2.949,367,3.94,408,1.477,479,2.371,480,2.371,481,2.302,482,1.91,483,2.444,484,3.457,485,3.457,497,3.015,528,2.926,617,1.975,624,1.138,643,2.162,644,1.87,698,3.194,699,3.062,711,2.483,733,3.555,821,3.452,824,2.695,835,3.27,839,3.405,840,3.405,843,3.009,846,4.066,861,3.405,915,3.29,916,3.788,977,5.408,981,3.652,1005,3.29,1028,4.301,1029,3.29,1030,4.831,1031,4.774,1032,4.774,1033,5.034,1034,3.652,1035,4.301,1036,3.652,1037,3.015,1038,4.11,1039,4.774,1040,3.886,1041,3.886,1042,4.301,1043,4.791,1044,4.589,1045,5.079,1046,3.296,1047,4.774,1048,4.774,1049,3.29,1050,4.22]],["title/components/DropdownComponent.html",[169,0.663,570,1.404]],["body/components/DropdownComponent.html",[0,0.055,3,0.063,4,0.077,5,0.056,6,0.098,8,1.144,11,0.276,12,0.605,14,0.703,15,0.604,16,0.754,20,1.063,22,1.24,24,1.08,25,0.009,26,0.914,27,0.828,28,0.606,29,1.298,30,1.209,33,0.123,34,1.043,41,0.077,48,2.755,51,0.003,52,0.005,53,0.005,61,1.119,62,1.119,79,1.37,82,1.229,83,1.499,89,0.276,111,0.822,149,2.006,167,1.2,169,1.208,178,3.053,201,4.615,222,1.094,224,1.094,228,1.431,231,1.769,234,2.269,235,1.798,237,1.887,239,1.756,240,1.756,252,1.53,255,1.693,256,3.021,275,1.172,278,1.048,287,2.638,289,2.393,290,1.145,309,1.798,310,1.756,311,1.6,337,2.69,368,2.718,373,2.035,386,1.744,425,1.391,432,2.893,473,1.069,475,4.232,477,3.02,489,1.229,490,1.094,494,1.2,496,1.119,498,2.088,523,2.581,552,1.229,553,1.637,554,1.637,555,1.229,556,2.339,557,1.229,558,1.229,559,1.229,560,1.119,561,1.229,562,1.119,563,1.229,564,1.119,565,1.798,566,1.119,567,1.145,568,1.229,569,1.229,570,2.131,571,1.229,572,1.119,573,1.2,574,1.229,575,1.119,576,1.6,577,1.229,578,1.119,579,1.229,580,1.119,581,1.798,582,1.119,583,1.229,584,1.145,585,1.229,586,1.119,587,1.229,588,1.119,589,1.172,590,1.119,591,1,592,2.126,593,1.119,594,1.229,595,1.119,596,1.6,597,1.012,598,1.119,599,1.798,600,1.119,601,1.119,602,1.119,603,1.229,604,1.119,605,1.069,606,1.229,607,1.798,608,1.119,609,1.2,610,1.229,611,1.119,612,1.565,613,1.119,614,1.119,615,1.229,616,1.119,617,1.046,618,1.229,619,1.119,620,1.229,621,1.229,622,1.29,624,1.363,628,2.638,635,3.766,636,2.401,637,5.005,638,2.528,639,3.433,641,3.12,642,2.927,643,1.675,660,2.757,666,5.365,676,2.332,678,1.745,679,1.692,681,2.893,687,4.064,688,3.916,689,4.332,696,3.699,700,2.401,701,3.427,703,3.344,704,2.087,705,2.69,706,1.506,711,2.286,894,0.936,916,2.935,960,5.508,965,2.827,974,2.475,986,2.176,987,1.641,992,2.757,1020,2.581,1106,3.936,1131,2.087,1511,1.692,1512,3.766,1514,3.58,1516,3.221,1533,2.528,1534,1.692,1541,2.006,1554,1.932,1556,2.475,1597,3.164,1598,7.019,1599,6.485,1600,6.189,1601,5.233,1602,6.189,1603,5.233,1604,6.81,1605,5.233,1606,3.577,1607,4.232,1608,3.577,1609,5.233,1610,3.053,1611,3.577,1612,3.577,1613,5.233,1614,3.577,1615,3.577,1616,5.233,1617,5.508,1618,5.508,1619,3.936,1620,3.936,1621,4.41,1622,5.233,1623,3.577,1624,3.577,1625,3.577,1626,4.63,1627,5.233,1628,3.577,1629,4.63,1630,4.98,1631,4.562,1632,4.141,1633,6.189,1634,2.69,1635,2.69,1636,3.02,1637,2.69,1638,4.556,1639,3.936,1640,2.393,1641,5.122,1642,2.528,1643,4.63,1644,2.69,1645,3.577,1646,3.164,1647,3.164,1648,3.936,1649,3.164,1650,3.577,1651,1.932,1652,3.577,1653,2.087,1654,2.176,1655,3.577,1656,2.893,1657,3.577,1658,2.69,1659,3.164,1660,3.577]],["title/modules/DropdownModule.html",[54,1.342,1661,3.172]],["body/modules/DropdownModule.html",[0,0.102,3,0.118,4,0.144,5,0.105,6,0.08,25,0.009,33,0.211,41,0.144,51,0.006,52,0.007,53,0.006,56,2,57,2.372,72,2.54,73,1.606,74,1.83,76,2.792,78,2.192,88,2.54,89,0.516,570,2.938,720,2.725,721,2.861,722,2.298,1631,3.902,1661,6.467,1662,5.918,1663,5.918,1664,5.918,1665,6.689,1666,5.967,1667,5.03,1668,5.967,1669,5.03,1670,6.689]],["title/components/DualSliderComponent.html",[169,0.663,572,1.404]],["body/components/DualSliderComponent.html",[0,0.031,3,0.036,4,0.044,5,0.032,6,0.102,8,0.906,11,0.158,12,0.581,13,1.405,14,0.454,15,0.609,16,0.714,20,0.711,22,1.317,24,1.309,25,0.009,26,0.951,27,1.003,28,0.732,29,1.292,30,0.981,33,0.131,34,0.988,41,0.044,48,1.163,50,1.425,51,0.002,52,0.003,53,0.003,61,0.641,62,0.641,79,0.886,82,1.664,83,1.757,85,1.447,89,0.158,96,1.656,111,0.471,132,6.047,148,1.351,150,1.282,169,1.046,170,4.686,172,1.656,178,1.195,201,4.626,222,0.626,224,0.626,228,0.926,231,1.237,234,2.139,235,1.163,237,1.22,242,2.253,252,1.752,255,1.183,256,2.646,257,3.498,264,1.954,269,1.279,275,0.671,278,0.732,285,1.225,287,2.533,289,5.059,290,0.656,309,1.726,310,1.135,311,1.833,318,1.902,337,1.54,360,4.064,361,2.215,368,1.726,373,1.682,376,6.979,386,1.761,393,1.553,396,2.545,402,0.776,408,0.968,420,2.058,422,1.601,425,1.682,473,0.612,475,2.737,477,1.651,479,1.985,480,1.985,482,1.599,489,0.703,490,0.626,494,0.687,496,1.353,497,2.931,498,1.351,523,2.271,552,0.703,553,1.059,554,2.439,555,0.703,556,1.726,557,0.703,558,0.703,559,0.703,560,0.641,561,0.703,562,0.641,563,0.703,564,0.641,565,1.163,566,0.641,567,0.656,568,0.703,569,0.703,570,0.641,571,0.703,572,1.572,573,2.376,574,0.703,575,0.641,576,1.035,577,0.703,578,0.641,579,0.703,580,0.641,581,1.163,582,0.641,583,0.703,584,0.656,585,0.703,586,0.641,587,0.703,588,0.641,589,0.671,590,0.641,591,0.573,592,1.486,593,0.641,594,0.703,595,0.641,596,1.035,597,0.654,598,0.641,599,1.163,600,0.641,601,0.641,602,0.641,603,0.703,604,0.641,605,0.612,606,0.703,607,1.163,608,0.641,609,0.687,610,0.703,611,0.641,612,1.012,613,0.641,614,0.641,615,0.703,616,0.641,617,0.599,618,0.703,619,0.641,620,0.703,621,0.703,622,1.22,624,1.46,628,2.533,635,4.516,636,1.553,637,3.498,639,2.533,641,2.533,642,2.046,643,1.609,644,1.46,655,1.656,658,2.392,660,1.927,672,4.004,676,1.508,678,0.999,679,0.968,681,1.656,686,1.812,687,2.818,688,2.715,689,3.006,696,1.447,699,2.006,700,2.553,701,2.376,703,3.006,704,1.974,705,2.545,706,2.67,707,1.898,711,1.854,766,2.754,806,1.385,818,3.12,831,2.818,834,2.392,835,0.839,841,1.898,843,2.954,853,1.601,857,2.392,894,0.886,901,1.351,902,1.195,916,1.148,922,2.059,937,1.148,940,4.445,944,1.601,960,4.5,965,3.426,974,3.251,987,0.939,992,2.479,1020,2.271,1037,2.931,1046,3.236,1106,2.545,1131,1.195,1275,3.551,1284,2.545,1465,3.362,1472,1.898,1481,3.199,1485,1.974,1511,0.968,1512,2.059,1513,2.111,1514,2.834,1515,1.246,1516,1.601,1519,1.068,1521,3.662,1534,2.376,1535,1.106,1541,1.148,1554,1.106,1556,2.046,1607,2.737,1617,2.737,1618,2.737,1620,4.506,1621,3.385,1626,2.994,1629,2.994,1630,3.543,1631,3.246,1632,2.264,1634,1.54,1635,2.545,1636,2.452,1637,1.54,1638,3.362,1639,2.545,1640,1.37,1641,3.779,1642,2.392,1643,2.994,1646,1.812,1647,1.812,1648,2.545,1649,1.812,1651,1.106,1653,1.195,1656,2.737,1658,1.54,1659,1.812,1671,6.92,1672,1.812,1673,2.545,1674,6.441,1675,3.253,1676,4.326,1677,3.384,1678,4.326,1679,6.631,1680,5.992,1681,6.631,1682,6.875,1683,6.341,1684,5.024,1685,5.024,1686,3.384,1687,5.024,1688,2.545,1689,3.384,1690,3.384,1691,5.992,1692,5.024,1693,5.024,1694,4.326,1695,2.994,1696,3.384,1697,3.384,1698,5.564,1699,2.048,1700,3.384,1701,2.994,1702,3.384,1703,2.545,1704,2.048,1705,3.384,1706,2.048,1707,6.875,1708,2.048,1709,2.545,1710,3.384,1711,2.048,1712,2.545,1713,4.922,1714,2.048,1715,4.922,1716,4.326,1717,4.445,1718,5.024,1719,5.024,1720,4.064,1721,4.445,1722,5.024,1723,2.62,1724,5.024,1725,2.048,1726,3.384,1727,3.384,1728,2.048,1729,2.048,1730,2.155,1731,2.545,1732,3.779,1733,2.048,1734,3.384,1735,2.048,1736,3.384,1737,2.994,1738,2.048,1739,4.922,1740,2.048,1741,6.341,1742,4.326,1743,5.024,1744,3.498,1745,3.384,1746,2.048,1747,5.024,1748,2.048,1749,2.994,1750,2.048,1751,3.384,1752,2.048,1753,3.827,1754,2.048,1755,2.048,1756,5.024,1757,2.737,1758,2.048,1759,2.994,1760,2.048,1761,2.048,1762,2.048,1763,3.384,1764,3.384,1765,2.048,1766,2.737,1767,4.326,1768,3.384,1769,2.048,1770,2.048,1771,2.048,1772,3.384,1773,2.994,1774,3.384,1775,1.812,1776,1.656,1777,4.064,1778,2.048,1779,2.048,1780,2.048,1781,2.048,1782,3.384,1783,2.048,1784,2.048,1785,2.048,1786,1.656,1787,2.048,1788,2.048,1789,2.048,1790,1.812,1791,2.048,1792,3.384,1793,2.048,1794,3.384,1795,2.048,1796,2.048,1797,3.384,1798,3.384,1799,2.048,1800,4.326,1801,2.048,1802,2.048,1803,2.048,1804,2.048,1805,2.048,1806,2.048,1807,2.048,1808,2.048,1809,2.048,1810,2.048,1811,3.384,1812,4.326,1813,3.384,1814,4.326,1815,2.048,1816,2.048,1817,2.048,1818,2.048,1819,2.048,1820,2.048,1821,5.024,1822,2.048,1823,2.048,1824,2.048,1825,3.384,1826,3.384,1827,3.384,1828,2.048,1829,2.059,1830,2.048,1831,2.048,1832,2.392,1833,2.048,1834,2.048,1835,2.048,1836,3.384,1837,2.048,1838,2.048,1839,2.048,1840,2.048,1841,1.656,1842,3.384,1843,1.656,1844,2.048,1845,2.048,1846,2.048]],["title/modules/DualSliderModule.html",[54,1.342,65,3.003]],["body/modules/DualSliderModule.html",[0,0.099,3,0.115,4,0.14,5,0.102,6,0.077,25,0.009,33,0.216,41,0.14,51,0.006,52,0.007,53,0.006,56,1.938,57,2.328,65,6.084,72,2.493,73,1.556,74,1.773,76,2.74,78,2.124,85,4.581,88,2.493,89,0.5,132,4.581,572,2.927,573,2.174,720,2.675,721,2.807,722,2.227,1631,3.781,1666,5.856,1667,4.875,1668,5.856,1669,4.875,1671,5.242,1674,4.581,1775,5.734,1777,5.242,1847,5.734,1848,5.734,1849,5.734,1850,6.482,1851,7.786,1852,7.786,1853,7.786,1854,6.482]],["title/components/FiltersContentComponent.html",[169,0.663,575,1.404]],["body/components/FiltersContentComponent.html",[0,0.044,3,0.051,4,0.062,5,0.045,6,0.102,8,1.259,9,1.248,11,0.223,14,0.887,15,0.643,16,0.608,18,2.224,20,0.93,22,1.312,24,1.362,25,0.009,26,0.977,27,1.045,28,0.488,29,1.13,30,1.301,31,2.83,33,0.156,34,1.026,36,1.453,37,1.181,38,1.323,39,4.02,40,1.754,41,0.062,47,2.203,48,1.528,49,3.123,50,3.063,51,0.003,52,0.004,53,0.004,61,0.902,62,0.902,79,1.165,82,1.639,83,1.791,89,0.223,111,0.663,141,2.596,148,1.776,149,1.617,150,1.051,166,1.091,167,0.967,169,1.074,201,2.833,211,2.55,218,1.682,222,0.882,224,0.882,228,1.671,231,1.554,234,2.225,235,1.528,237,1.604,239,1.493,240,1.493,255,1.486,272,2.404,275,0.945,278,1.305,287,4.1,290,0.923,309,1.528,310,1.493,311,1.869,312,1.345,344,4.087,361,2.579,368,1.15,373,2.113,386,1.863,397,3.718,404,3.202,420,2.268,425,1.121,473,0.862,489,0.99,490,0.882,494,0.967,496,0.902,498,1.776,523,2.847,528,1.121,552,0.99,553,1.392,554,1.392,555,0.99,556,2.099,557,0.99,558,0.99,559,0.99,560,0.902,561,0.99,562,0.902,563,0.99,564,0.902,565,1.528,566,0.902,567,0.923,568,0.99,569,0.99,570,0.902,571,0.99,572,0.902,573,1.493,574,0.99,575,1.912,576,2.739,577,0.99,578,0.902,579,0.99,580,0.902,581,1.528,582,0.902,583,0.99,584,0.923,585,0.99,586,0.902,587,0.99,588,0.902,589,0.945,590,0.902,591,0.806,592,1.867,593,0.902,594,0.99,595,0.902,596,1.361,597,0.86,598,0.902,599,1.528,600,0.902,601,0.902,602,0.902,603,0.99,604,0.902,605,0.862,606,0.99,607,1.528,608,0.902,609,0.967,610,0.99,611,0.902,612,1.33,613,0.902,614,0.902,615,0.99,616,0.902,617,0.843,618,0.99,619,0.902,620,0.99,621,0.99,622,1.039,624,1.345,626,2.55,628,3.08,636,2.041,638,2.037,639,3.08,641,2.739,642,2.57,643,1.424,658,3.145,660,3.434,666,1.929,669,2.707,671,2.037,673,3.145,676,2.942,678,1.407,679,1.363,687,1.617,688,1.557,698,2.104,699,2.516,700,2.041,706,2.938,707,1.617,708,2.037,711,2.04,712,3.346,714,2.55,764,2.171,766,4.631,835,2.981,841,2.495,937,3.913,944,2.57,945,4.807,974,2.889,986,2.707,987,3.202,992,2.421,1046,3.549,1116,2.404,1118,2.168,1119,3.346,1126,3.145,1129,1.682,1131,1.682,1323,1.557,1450,2.55,1463,3.346,1464,1.557,1465,2.977,1472,2.495,1475,3.598,1513,2.171,1514,2.104,1515,3.307,1516,3.123,1517,0.843,1519,2.834,1520,1.557,1521,1.453,1534,2.889,1541,1.617,1556,2.104,1572,2.833,1598,2.331,1620,3.346,1621,2.707,1638,1.929,1648,2.168,1653,2.596,1654,2.707,1674,2.037,1675,4.087,1688,3.346,1731,3.346,1732,4.595,1855,6.043,1856,6.43,1857,2.55,1858,3.346,1859,4.941,1860,4.449,1861,6.11,1862,6.11,1863,4.449,1864,4.449,1865,4.807,1866,5.405,1867,4.807,1868,4.807,1869,4.807,1870,4.807,1871,4.807,1872,4.449,1873,2.883,1874,2.883,1875,2.883,1876,2.883,1877,2.883,1878,3.936,1879,2.883,1880,3.936,1881,2.883,1882,3.936,1883,2.883,1884,3.936,1885,2.883,1886,6.11,1887,2.883,1888,3.598,1889,2.883,1890,4.449,1891,4.449,1892,2.883,1893,4.449,1894,6.11,1895,4.449,1896,2.883,1897,4.449,1898,2.883,1899,4.449,1900,2.883,1901,3.598,1902,4.807,1903,2.883,1904,5.434,1905,2.883,1906,4.449,1907,2.883,1908,2.883,1909,2.883,1910,2.883,1911,2.883,1912,2.883,1913,2.55,1914,2.55,1915,2.883,1916,2.883,1917,2.883,1918,2.883,1919,2.883,1920,2.883,1921,2.883,1922,2.883,1923,2.883,1924,2.883,1925,2.883,1926,2.883,1927,2.883,1928,4.449,1929,3.936,1930,4.449,1931,4.941,1932,4.807,1933,2.883,1934,2.883,1935,2.883,1936,1.835,1937,4.449,1938,2.883,1939,1.754,1940,2.883,1941,2.55,1942,1.929]],["title/modules/FiltersContentModule.html",[54,1.342,1943,3.172]],["body/modules/FiltersContentModule.html",[0,0.093,3,0.108,4,0.132,5,0.096,6,0.073,25,0.009,30,1.162,33,0.217,34,0.688,41,0.132,51,0.005,52,0.007,53,0.005,56,1.827,57,2.246,65,5.933,69,5.933,72,2.405,73,1.467,74,1.671,76,2.643,78,2.462,88,2.405,89,0.472,92,3.447,93,2.646,108,1.912,131,5.406,132,4.319,133,5.406,134,5.406,135,4.319,136,4.596,575,2.906,576,1.869,715,6.268,720,2.581,721,2.709,722,2.099,1661,6.268,1855,4.319,1856,4.596,1943,6.626,1944,5.406,1945,6.111,1946,5.406,1947,5.406,1948,6.111,1949,4.571,1950,3.719,1951,7.512,1952,6.111,1953,6.111,1954,6.111]],["title/components/FiltersPopoverComponent.html",[169,0.663,222,1.372]],["body/components/FiltersPopoverComponent.html",[0,0.052,3,0.06,4,0.073,5,0.053,6,0.102,8,1.298,9,1.463,11,0.462,12,0.58,14,0.804,15,0.622,20,0.847,22,1.303,24,0.697,25,0.009,26,0.804,27,0.535,28,0.85,29,0.812,30,1.317,31,2.276,33,0.156,34,1.037,39,3.122,40,2.056,41,0.073,47,2.389,49,2.373,51,0.003,52,0.005,53,0.005,61,1.057,62,1.057,74,1.638,79,1.314,82,1.406,83,1.105,89,0.261,111,0.777,122,6.017,141,2.928,166,1.231,167,1.134,169,1.045,174,5.324,175,1.55,176,2.261,177,1.972,218,2.928,222,2.026,224,1.033,228,1.373,231,2.024,234,2.258,235,1.724,237,1.81,239,1.684,240,1.684,242,1.962,254,4.683,255,1.638,260,2.79,264,2.576,272,2.712,275,1.107,278,1.199,285,1.105,287,3.977,290,1.082,311,1.033,312,1.459,344,2.541,368,2.003,373,1.314,376,6.731,386,1.534,394,1.684,396,3.774,404,3.403,405,3.358,425,1.314,442,2.617,444,2.928,473,1.01,489,1.161,490,1.033,494,1.134,496,1.057,498,2.003,523,2.811,544,2.541,552,1.161,553,1.57,554,1.57,555,1.161,556,2.276,557,1.161,558,1.161,559,1.161,560,1.057,561,1.161,562,1.057,563,1.161,564,1.057,565,1.724,566,1.057,567,1.082,568,1.161,569,1.161,570,1.057,571,1.161,572,1.057,573,1.134,574,1.161,575,1.057,576,2.793,577,1.161,578,1.057,579,1.161,580,1.057,581,1.724,582,1.057,583,1.161,584,1.082,585,1.161,586,1.057,587,1.161,588,1.057,589,1.107,590,1.057,591,0.945,592,2.057,593,1.057,594,1.161,595,1.057,596,1.535,597,0.97,598,1.057,599,1.724,600,1.057,601,1.057,602,1.057,603,1.161,604,1.057,605,1.01,606,1.161,607,1.724,608,1.057,609,1.134,610,1.161,611,1.057,612,1.501,613,1.057,614,1.057,615,1.161,616,1.057,617,0.988,618,1.161,619,1.057,620,1.161,621,1.161,622,2.159,624,1.105,628,3.34,636,2.303,660,3.422,669,2.056,676,2.952,696,2.388,698,2.373,699,1.218,700,1.55,702,2.056,711,1.937,764,3.455,806,1.607,841,2.815,894,1.853,922,4.032,935,3.643,937,1.895,987,3.524,992,2.667,1020,1.281,1027,4.006,1044,3.235,1106,3.774,1126,3.547,1131,1.972,1278,3.358,1463,3.774,1464,1.826,1465,3.358,1514,2.831,1516,2.831,1517,0.988,1520,1.826,1521,2.53,1534,2.373,1541,4.52,1554,1.826,1556,2.373,1560,2.056,1566,1.972,1621,4.308,1636,3.233,1638,2.261,1642,3.547,1648,3.774,1653,1.972,1673,2.541,1855,6.017,1858,5.579,1859,4.059,1865,5.297,1866,5.297,1867,5.297,1868,4.44,1869,5.297,1870,5.297,1871,5.297,1882,4.44,1884,4.44,1902,2.99,1932,5.862,1936,2.152,1939,2.056,1955,2.99,1956,5.987,1957,5.019,1958,5.987,1959,6.626,1960,6.626,1961,5.987,1962,3.379,1963,5.862,1964,5.019,1965,3.379,1966,4.44,1967,4.44,1968,4.44,1969,3.379,1970,3.379,1971,3.379,1972,3.379,1973,3.379,1974,3.379,1975,5.019,1976,3.379,1977,6.626,1978,3.379,1979,2.901,1980,3.379,1981,3.379,1982,1.033,1983,1.895,1984,5.987,1985,3.379,1986,3.379,1987,3.379,1988,3.379,1989,5.019,1990,3.379,1991,3.379,1992,3.379,1993,3.379,1994,3.379,1995,3.379,1996,3.379]],["title/modules/FiltersPopoverModule.html",[54,1.342,66,3.172]],["body/modules/FiltersPopoverModule.html",[0,0.101,3,0.116,4,0.142,5,0.104,6,0.079,25,0.009,33,0.21,41,0.142,51,0.006,52,0.007,53,0.006,56,1.966,57,2.348,66,6.539,72,2.514,73,1.578,74,1.798,76,2.763,78,2.573,88,2.514,89,0.508,92,3.603,93,2.847,122,4.647,222,2.866,223,5.817,576,2.402,720,2.698,721,2.832,722,2.259,1855,4.647,1856,4.945,1943,6.377,1997,5.817,1998,5.817,1999,5.817,2000,6.575,2001,6.575,2002,6.575]],["title/classes/FlatNode.html",[0,0.069,2003,3.63]],["body/classes/FlatNode.html",[0,0.079,2,1.948,3,0.091,4,0.111,5,0.081,6,0.105,11,0.397,12,0.778,13,2.099,14,0.69,15,0.667,16,1.084,20,0.861,22,1.336,24,1.389,25,0.009,26,0.904,27,1.387,28,1.14,29,1.09,33,0.121,34,0.579,35,1.406,41,0.111,42,2.359,51,0.005,52,0.006,53,0.005,79,1.762,82,1.871,166,1.953,169,0.994,252,1.968,255,2.398,256,3.299,264,2.617,269,1.547,272,4.582,278,1.4,285,1.653,309,2.736,310,2.258,311,2.435,369,3.637,386,1.317,490,2.681,624,1.653,644,1.97,834,4.758,992,3.344,1621,4.567,1701,5.955,1757,5.444,2003,6.441,2004,7.755,2005,4.548,2006,3.13,2007,6.07,2008,6.64,2009,5.141,2010,5.782,2011,6.918,2012,5.141,2013,7.915,2014,8.865,2015,5.141,2016,5.955,2017,5.141,2018,5.141,2019,6.732,2020,5.141,2021,6.732,2022,5.141,2023,5.141,2024,6.732,2025,5.141,2026,5.141,2027,6.732,2028,5.444,2029,5.141,2030,5.141,2031,5.141]],["title/classes/GenerateSpatialSearch.html",[0,0.069,2032,1.839]],["body/classes/GenerateSpatialSearch.html",[0,0.139,2,2.101,3,0.098,4,0.12,5,0.087,6,0.084,7,2.487,8,1.359,11,0.428,12,0.817,13,2.576,14,1.237,15,0.714,18,2.162,20,0.904,22,0.857,25,0.009,28,0.939,29,0.897,30,1.267,32,3.06,33,0.131,34,0.624,41,0.197,42,3.971,47,3.052,51,0.005,52,0.006,53,0.005,73,1.697,260,2.335,265,1.951,269,1.274,312,1.221,315,2.212,390,2.101,392,2.101,394,1.86,402,2.101,408,1.585,597,1.072,644,1.804,653,3.797,894,2.145,901,2.821,1100,2.679,1517,2.275,1979,2.272,1982,2.162,2006,2.371,2032,2.897,2033,2.891,2034,4.085,2035,5.544,2036,2.272,2037,2.891,2038,2.272,2039,2.335,2040,2.335,2041,2.272,2042,2.4,2043,2.272,2044,2.272,2045,2.995,2046,2.212,2047,2.272,2048,2.272,2049,2.335,2050,3.149]],["title/components/HeaderComponent.html",[169,0.663,578,1.404]],["body/components/HeaderComponent.html",[0,0.064,3,0.119,4,0.09,5,0.066,6,0.1,8,1.205,11,0.322,14,0.784,15,0.632,20,0.934,22,1.266,25,0.009,26,0.784,30,1.266,31,2.642,33,0.098,34,1.055,41,0.09,50,2.839,51,0.004,52,0.005,53,0.005,61,1.305,62,1.305,89,0.322,111,0.959,144,2.948,162,4.487,163,5.453,165,5.453,166,1.792,167,1.399,169,0.996,222,1.276,224,1.276,228,1.598,231,1.928,234,2.295,235,2.007,237,2.107,239,1.96,240,1.96,255,1.844,270,5.494,271,3.408,275,1.367,278,0.989,290,1.335,307,5.453,312,1.286,352,3.555,355,1.757,366,3.276,373,1.622,386,1.727,420,2.642,425,1.622,437,3.72,447,5.169,449,5.965,473,1.247,477,3.29,489,1.433,490,1.276,494,1.399,496,1.305,498,2.332,523,3.021,552,1.433,553,1.828,554,1.828,555,1.433,556,2.51,557,1.433,558,1.433,559,1.433,560,1.305,561,1.433,562,1.305,563,1.433,564,1.305,565,2.007,566,1.305,567,1.335,568,1.433,569,1.433,570,1.305,571,1.433,572,1.305,573,1.399,574,1.433,575,1.305,576,2.352,577,1.433,578,2.286,579,1.433,580,1.305,581,2.007,582,1.305,583,1.433,584,1.335,585,1.433,586,1.305,587,1.433,588,1.305,589,1.367,590,1.305,591,1.166,592,2.316,593,1.305,594,1.433,595,1.305,596,1.787,597,1.129,598,1.305,599,2.007,600,1.305,601,1.305,602,1.305,603,1.433,604,1.305,605,1.247,606,1.433,607,2.007,608,1.305,609,1.399,610,1.433,611,1.305,612,1.747,613,1.305,614,1.305,615,1.433,616,1.305,617,1.219,618,1.433,619,1.305,620,1.433,621,1.433,622,1.504,624,0.918,628,3.683,636,2.681,655,3.373,660,3.427,673,4.129,676,3.004,699,2.107,701,2.763,703,3.157,704,2.433,706,3.239,711,2.136,764,2.851,898,5.169,944,3.189,965,2.254,986,2.538,987,1.914,1020,2.915,1036,2.948,1046,3.565,1111,5.169,1464,3.157,1472,4.471,1513,3.29,1514,2.763,1516,3.189,1517,1.219,1518,3.373,1520,2.254,1521,2.103,1533,2.948,1535,2.254,1538,2.948,1556,1.973,1560,4.103,1610,3.408,1636,2.851,1640,2.791,1653,2.433,1654,2.538,1859,4.725,1931,5.453,2051,3.69,2052,6.464,2053,7.052,2054,7.306,2055,4.129,2056,6.743,2057,5.842,2058,6.743,2059,6.743,2060,4.171,2061,4.171,2062,5.071,2063,4.171,2064,5.842,2065,4.171,2066,4.171,2067,4.171,2068,4.171,2069,5.842,2070,3.373,2071,4.171,2072,3.373,2073,4.171,2074,3.137,2075,4.171,2076,4.171,2077,4.171,2078,4.171,2079,3.373,2080,4.171,2081,4.171,2082,4.171,2083,4.171,2084,4.171,2085,4.171,2086,4.171,2087,2.538]],["title/modules/HeaderModule.html",[54,1.342,1054,3.172]],["body/modules/HeaderModule.html",[0,0.101,3,0.117,4,0.142,5,0.104,6,0.079,25,0.009,33,0.215,41,0.142,51,0.006,52,0.007,53,0.006,56,1.971,57,2.352,72,2.518,73,1.582,74,1.803,76,2.768,78,2.16,88,2.518,89,0.509,92,3.609,93,2.854,97,5.559,98,4.659,578,2.933,720,2.702,721,2.836,722,2.265,1054,6.448,1949,4.786,1950,4.012,2088,5.832,2089,5.832,2090,5.832,2091,6.592,2092,7.865,2093,6.592,2094,6.592]],["title/interfaces/IconDefinition.html",[156,0.743,2095,3.375]],["body/interfaces/IconDefinition.html",[0,0.067,3,0.078,4,0.095,5,0.069,6,0.053,11,0.34,12,0.701,14,0.592,15,0.577,16,0.929,20,1.082,25,0.009,26,1.205,27,1.376,28,1.028,29,0.713,33,0.196,41,0.131,47,2.924,51,0.004,52,0.005,53,0.004,82,1.757,83,0.97,89,0.34,93,1.908,100,2.947,101,2.471,150,1.636,156,0.729,158,1.55,160,1.908,166,1.488,175,2.784,179,1.513,242,2.657,252,2.029,269,1.596,271,5.202,272,3.279,278,1.028,285,1.864,295,2.288,309,1.513,310,1.478,311,2.48,318,1.958,370,3.563,422,2.083,452,1.488,528,2.908,553,2.77,624,0.97,643,1.41,668,5.9,689,3.279,732,3.403,734,3.403,735,2.471,737,2.471,922,3.693,1084,3.563,1094,4.908,1168,3.313,1235,2.805,1319,3.114,1322,6.846,1323,5.013,1328,5.287,1333,6.658,1334,5.9,1335,6.248,1336,6.05,1337,4.564,1338,5.005,1340,4.289,1484,4.289,1485,3.54,1703,3.313,1712,3.313,2095,6.248,2096,3.313,2097,3.563,2098,5.369,2099,6.618,2100,6.05,2101,6.141,2102,4.908,2103,3.898,2104,2.947,2105,7.174,2106,3.898,2107,4.908,2108,3.898,2109,3.898,2110,2.681,2111,3.898,2112,3.563,2113,3.898,2114,3.898,2115,3.898,2116,5.369,2117,4.908,2118,3.898,2119,3.898,2120,3.898,2121,3.898,2122,3.898,2123,5.369,2124,3.898,2125,3.898,2126,3.898,2127,3.898,2128,3.563,2129,3.898,2130,3.898,2131,6.141,2132,3.898,2133,3.563,2134,3.898,2135,3.898,2136,3.898,2137,3.898,2138,3.898,2139,3.898,2140,3.898,2141,3.898,2142,3.898,2143,3.898,2144,3.898,2145,3.898,2146,3.898]],["title/injectables/IconRegistryState.html",[452,1.101,2104,3.003]],["body/injectables/IconRegistryState.html",[0,0.061,3,0.071,4,0.087,5,0.063,6,0.094,11,0.31,14,0.539,15,0.585,16,1.2,20,0.97,22,1.173,24,1.565,25,0.009,26,1.202,27,1.281,28,1.119,29,0.65,33,0.191,41,0.123,47,2.382,51,0.004,52,0.005,53,0.004,79,1.49,82,1.943,83,0.885,89,0.31,93,1.74,100,2.688,101,2.253,150,1.599,156,0.665,160,2.464,166,1.762,175,2.611,179,1.38,242,2.711,252,2.302,269,1.744,271,4.909,272,2.171,278,0.68,285,1.821,295,2.409,309,1.955,310,1.909,311,2.409,318,2.233,370,4.602,422,2.691,452,1.396,453,2.025,528,2.794,553,2.633,624,1.582,643,1.822,668,6.222,689,3.882,732,3.705,734,3.191,735,2.253,737,2.253,806,1.286,922,2.445,1084,4.602,1094,5.343,1168,4.279,1235,2.558,1319,5.566,1322,6.805,1323,4.982,1328,5.847,1333,6.222,1334,5.404,1335,6.222,1336,4.602,1337,3.021,1338,4.808,1340,4.021,1484,5.079,1485,4.192,1703,4.279,1712,4.279,2095,6.653,2096,5.923,2097,3.249,2098,3.554,2099,5.034,2100,4.602,2101,6.968,2102,5.812,2103,3.554,2104,3.807,2105,7.547,2106,5.034,2107,5.812,2108,5.034,2109,5.034,2110,4.02,2111,3.554,2112,3.249,2113,3.554,2114,3.554,2115,5.034,2116,6.357,2117,5.812,2118,5.034,2119,3.554,2120,5.034,2121,6.357,2122,5.034,2123,5.034,2124,3.554,2125,3.554,2126,3.554,2127,3.554,2128,3.249,2129,3.554,2130,3.554,2131,5.845,2132,3.554,2133,3.249,2134,3.554,2135,3.554,2136,3.554,2137,5.845,2138,3.554,2139,3.554,2140,3.554,2141,3.554,2142,3.554,2143,3.554,2144,5.034,2145,5.845,2146,3.554,2147,5.69,2148,4.018,2149,4.018,2150,4.018,2151,4.018,2152,4.018,2153,4.018,2154,4.018,2155,4.018]],["title/classes/InitializationState.html",[0,0.069,2156,3.63]],["body/classes/InitializationState.html",[0,0.077,2,0.962,3,0.045,4,0.055,5,0.04,6,0.083,11,0.196,12,0.466,13,1.4,14,0.835,15,0.511,16,0.535,22,1.023,24,0.831,25,0.009,28,0.965,29,1.006,33,0.147,34,0.454,41,0.055,47,2.793,51,0.002,52,0.004,53,0.002,74,1.102,79,1.055,82,1.554,83,1.784,89,0.196,148,1.013,150,1.468,166,1.933,167,0.852,168,2.695,169,0.977,170,2.847,189,0.832,224,1.531,228,0.694,231,2.566,234,0.623,235,0.872,237,0.915,239,0.852,240,0.852,242,2.357,252,1.178,264,2.696,267,4.728,269,1.781,272,2.176,278,1.174,285,1.854,288,1.698,295,2.61,309,0.872,310,0.852,311,2.121,318,2.301,320,2.695,339,1.794,349,1.966,361,0.938,368,1.607,369,3.575,373,1.566,386,2.049,393,1.165,396,3.029,397,2.451,442,2.611,444,2.35,479,3.617,480,3.617,481,2.231,482,2.913,483,2.368,484,3.35,485,3.35,497,3.627,523,2.16,528,0.987,553,1.26,554,2.17,589,0.832,617,0.742,622,0.915,624,0.559,628,2.524,643,0.813,644,0.887,660,1.131,671,4.029,672,2.782,673,1.794,676,3.09,699,2.955,711,2.396,817,3.258,818,2.259,819,2.246,821,2.615,824,2.611,825,1.239,828,3.35,830,2.053,831,1.424,840,2.031,841,2.259,842,1.909,843,1.795,846,2.231,848,2.246,850,1.909,853,1.201,857,1.794,861,2.031,863,1.698,864,1.165,878,2.695,879,1.909,882,3.564,886,1.165,894,1.492,901,2.871,902,4.197,908,1.698,909,2.053,910,2.246,911,1.909,914,3.564,920,1.698,935,2.451,943,2.246,967,2.053,970,2.053,977,4.933,982,1.909,985,2.246,986,4.22,987,1.848,988,2.246,989,2.053,998,1.909,999,2.053,1000,1.424,1005,2.565,1006,1.698,1021,2.847,1027,2.695,1038,1.545,1044,4.322,1136,1.909,1142,1.545,1143,2.565,1154,2.565,1331,2.053,1476,1.909,1496,5.853,1619,1.909,1636,1.239,1639,1.909,1641,4.675,1720,2.053,1730,1.616,1766,2.053,1776,2.053,2156,4.05,2157,1.909,2158,4.028,2159,5.007,2160,6.934,2161,5.7,2162,5.7,2163,5.7,2164,4.028,2165,5.007,2166,2.538,2167,7.748,2168,5.007,2169,2.538,2170,2.538,2171,2.538,2172,2.538,2173,2.538,2174,5.007,2175,2.538,2176,2.538,2177,2.246,2178,4.43,2179,6.135,2180,5.993,2181,4.43,2182,4.43,2183,5.853,2184,4.43,2185,5.5,2186,3.564,2187,4.43,2188,4.05,2189,4.61,2190,3.564,2191,5.043,2192,4.028,2193,2.538,2194,2.538,2195,2.538,2196,2.538,2197,2.538,2198,2.538,2199,2.538,2200,2.538,2201,4.028,2202,2.538,2203,4.028,2204,2.538,2205,2.538,2206,2.538,2207,2.053,2208,6.217,2209,2.538,2210,2.538,2211,2.538,2212,4.43,2213,2.246,2214,3.258,2215,4.028,2216,2.538,2217,5.7,2218,2.538,2219,4.028,2220,2.538,2221,2.538,2222,2.538,2223,5.007,2224,2.538,2225,2.538,2226,2.538,2227,3.35,2228,2.538,2229,5.007,2230,2.538,2231,2.538,2232,3.564,2233,2.538,2234,2.538,2235,2.538,2236,6.616,2237,4.028,2238,5.7,2239,4.028,2240,4.028,2241,2.538,2242,5.007,2243,4.028,2244,2.538,2245,2.538,2246,2.538,2247,2.538,2248,4.028,2249,4.028,2250,2.538,2251,2.538,2252,5.007,2253,2.538,2254,2.538,2255,2.538,2256,2.538,2257,4.028,2258,2.538,2259,2.538,2260,2.246,2261,2.538,2262,2.538,2263,2.538,2264,5.043,2265,5.007,2266,5.7,2267,4.028,2268,4.028,2269,2.538,2270,2.538,2271,2.538,2272,2.538,2273,2.538,2274,2.538,2275,2.246,2276,2.246,2277,2.538,2278,4.028,2279,2.538,2280,2.538,2281,2.538,2282,2.538,2283,2.538,2284,2.538,2285,2.538,2286,2.538,2287,1.794,2288,2.538,2289,2.538,2290,4.028,2291,2.538,2292,2.538,2293,2.538,2294,2.538,2295,2.538,2296,2.538,2297,4.028,2298,5.007,2299,2.538,2300,2.538,2301,4.028,2302,2.538,2303,2.538,2304,2.538,2305,2.538,2306,2.538,2307,2.053,2308,2.538,2309,2.538,2310,2.538]],["title/interfaces/ListResult.html",[156,0.743,2311,3.003]],["body/interfaces/ListResult.html",[3,0.12,4,0.147,5,0.107,6,0.081,11,0.525,12,0.927,15,0.679,20,1.09,25,0.008,27,1.392,33,0.161,34,0.767,35,1.862,41,0.147,48,3.022,51,0.006,52,0.007,53,0.006,156,1.127,158,2.395,166,2.09,355,3.705,644,1.876,728,5.602,1101,4.435,1459,6.616,2311,5.363,2312,6.022,2313,6.022]],["title/injectables/ListResultsState.html",[212,2.618,452,1.101]],["body/injectables/ListResultsState.html",[0,0.065,3,0.075,4,0.091,5,0.067,6,0.105,11,0.326,12,0.681,14,1.125,15,0.634,16,1.431,20,0.939,22,1.347,24,1.594,25,0.009,26,1.075,27,1.223,28,0.998,29,0.954,33,0.205,34,0.476,41,0.127,45,2.234,48,2.025,51,0.007,52,0.005,53,0.007,79,1.543,82,1.88,83,1.935,87,5.489,89,0.326,108,1.322,148,1.686,150,1.42,156,0.699,160,2.552,175,2.704,179,1.451,181,3.703,186,3.943,189,1.384,190,2.464,191,2.464,192,1.561,210,4.324,212,3.438,214,5.597,242,1.384,252,1.723,269,0.971,285,0.93,295,2.688,309,2.025,310,1.977,311,1.802,312,1.617,315,3.194,318,2.193,349,2.876,355,3.37,404,3.37,408,1.208,420,2.524,452,1.446,453,2.129,624,1.298,643,2.352,726,2.369,728,2.69,732,3.807,733,1.882,734,3.305,735,2.369,736,4.323,737,2.369,742,4.92,763,4.323,768,2.69,769,1.938,771,3.668,791,2.985,797,4.131,806,1.352,975,2.464,1096,5.656,1115,2.203,1156,2.203,1235,2.69,1266,2.203,1271,2.69,1459,5.105,1730,3.753,2055,2.985,2311,5.926,2314,7.109,2315,3.416,2316,6.019,2317,6.093,2318,5.894,2319,5.894,2320,5.894,2321,5.894,2322,6.499,2323,3.737,2324,5.894,2325,4.432,2326,5.105,2327,4.798,2328,5.214,2329,4.224,2330,5.214,2331,4.224,2332,4.224,2333,5.214,2334,4.224,2335,4.224,2336,4.224,2337,4.224,2338,4.432,2339,4.224,2340,5.214,2341,4.224,2342,5.214,2343,4.224,2344,4.165,2345,3.416,2346,2.826,2347,3.737,2348,2.985,2349,2.985,2350,3.176,2351,3.737,2352,3.737,2353,3.737,2354,3.176,2355,3.176,2356,3.176,2357,3.176,2358,2.985,2359,3.176,2360,3.176,2361,3.176,2362,3.176,2363,3.737,2364,3.176,2365,3.737,2366,3.737,2367,3.737,2368,2.203,2369,3.737,2370,3.737,2371,3.737,2372,3.737,2373,3.737,2374,3.737,2375,3.737,2376,3.737]],["title/interfaces/ListResultsStateModel.html",[156,0.743,2350,3.375]],["body/interfaces/ListResultsStateModel.html",[0,0.077,3,0.089,4,0.109,5,0.079,6,0.06,11,0.388,12,0.767,14,1.06,15,0.512,16,1.4,20,1.01,25,0.009,26,0.676,27,1.05,33,0.212,34,0.567,41,0.143,45,1.907,48,2.28,51,0.006,52,0.006,53,0.007,83,1.856,87,5.227,89,0.388,108,1.575,148,2.008,150,1.527,156,0.833,158,1.771,160,2.179,175,3.046,179,1.729,181,3.346,186,4.441,189,1.649,190,2.936,191,2.936,192,1.86,210,4.013,212,2.936,214,3.205,242,1.649,252,1.471,269,1.157,285,1.108,295,2.629,309,1.729,310,1.688,311,2.03,312,1.462,315,2.964,318,2.068,349,2.456,355,3.457,404,3.046,408,1.439,420,2.28,452,1.628,643,2.125,726,2.822,728,3.205,732,3.723,733,2.242,734,3.723,735,2.822,736,4.227,737,2.822,742,4.73,763,3.205,768,3.205,769,2.309,771,3.586,791,3.557,797,4.52,975,2.936,1096,5.25,1115,2.624,1156,2.624,1235,3.205,1266,2.624,1271,3.205,1459,5.586,1730,3.205,2055,3.557,2311,5.907,2314,4.07,2315,4.07,2316,6.465,2317,6.299,2322,4.452,2325,3.785,2326,4.992,2327,4.692,2328,4.452,2330,4.452,2333,4.452,2338,3.785,2340,4.452,2342,4.452,2344,3.557,2345,4.07,2346,3.367,2347,4.452,2348,3.557,2349,3.557,2350,4.992,2351,4.452,2352,4.452,2353,4.452,2354,3.785,2355,3.785,2356,3.785,2357,3.785,2358,3.557,2359,3.785,2360,3.785,2361,3.785,2362,3.785,2363,4.452,2364,3.785,2365,4.452,2366,4.452,2367,4.452,2368,2.624,2369,4.452,2370,4.452,2371,4.452,2372,4.452,2373,4.452,2374,4.452,2375,4.452,2376,4.452]],["title/interfaces/Message.html",[156,0.743,846,1.999]],["body/interfaces/Message.html",[0,0.091,3,0.076,4,0.195,5,0.068,6,0.052,11,0.333,12,0.691,13,1.205,14,0.921,15,0.601,16,0.909,25,0.009,27,0.946,28,0.73,31,1.481,33,0.162,41,0.174,45,3.053,51,0.004,52,0.005,53,0.004,82,1.829,83,1.316,89,0.333,111,1.374,148,1.72,150,1.156,156,0.99,158,1.517,166,1.057,187,3.959,189,1.413,192,1.593,252,1.26,264,1.676,269,0.991,278,1.318,285,1.714,309,2.357,310,1.446,311,2.615,312,1.316,318,2.109,369,3.708,386,1.104,448,2.745,452,1.466,468,3.488,496,2.147,528,3.027,541,4.592,591,1.672,624,0.949,635,2.623,643,2.696,644,1.714,662,4.957,733,3.896,741,4.156,818,3.353,821,2.743,824,4.514,831,2.418,839,2.173,840,4.408,846,4.178,853,2.039,861,3.014,863,2.884,892,2.745,908,4,958,2.884,1006,4,1030,4.699,1050,2.418,1060,4.225,1114,3.047,1142,2.623,1154,2.745,1158,5.838,1592,2.745,1593,3.807,2110,2.623,2227,4.592,2287,3.047,2377,2.884,2378,5.238,2379,4.958,2380,3.638,2381,4.496,2382,3.047,2383,4,2384,3.242,2385,4.957,2386,4.37,2387,3.242,2388,4.225,2389,2.884,2390,3.047,2391,3.242,2392,3.807,2393,3.242,2394,3.047,2395,3.242,2396,3.242,2397,3.242,2398,3.242,2399,4.496,2400,3.242,2401,3.242,2402,3.242,2403,3.242,2404,4.225,2405,3.242,2406,4.496,2407,3.242,2408,3.242,2409,3.242,2410,3.242,2411,3.242,2412,3.242,2413,3.242,2414,3.242,2415,5.161,2416,3.242,2417,3.242,2418,3.242,2419,3.242,2420,3.047,2421,3.242,2422,3.242,2423,3.242,2424,3.242]],["title/classes/MessageChannel.html",[0,0.069,861,2.262]],["body/classes/MessageChannel.html",[0,0.084,2,1.448,3,0.068,4,0.195,5,0.06,6,0.098,11,0.295,12,0.635,13,1.797,14,0.863,15,0.616,16,1.158,22,1.234,24,1.45,25,0.009,26,0.943,27,1.226,28,0.93,29,0.619,31,1.313,33,0.152,41,0.167,45,2.662,51,0.003,52,0.005,53,0.003,79,1.437,82,1.982,83,1.415,89,0.295,111,1.262,148,1.525,150,1.062,156,0.909,166,0.937,187,4.089,189,1.252,192,1.413,252,1.605,264,1.486,269,0.879,278,1.312,285,1.638,309,2.556,310,1.282,311,2.543,312,0.841,318,2.209,369,4.185,386,1.407,448,2.434,452,1.347,468,3.203,496,2.011,528,2.893,541,5.183,591,1.535,624,1.638,635,2.326,643,2.614,644,1.705,662,4.738,733,3.806,741,4.475,818,3.079,821,2.519,824,4.542,831,2.143,839,2.768,840,4.543,846,4.168,853,1.807,861,3.24,863,2.557,892,2.434,908,3.674,958,3.674,1006,3.674,1030,4.764,1050,3.079,1060,3.881,1114,2.701,1142,3.341,1154,2.434,1158,5.64,1592,2.434,1593,3.496,2110,2.326,2227,5.183,2287,3.881,2377,2.557,2378,5.259,2379,4.978,2380,2.326,2381,2.874,2382,2.701,2383,3.674,2384,2.874,2385,4.738,2386,4.092,2387,2.874,2388,3.881,2389,2.557,2390,2.701,2391,4.129,2392,4.738,2393,4.129,2394,3.881,2395,4.129,2396,4.129,2397,2.874,2398,2.874,2399,4.129,2400,4.129,2401,4.129,2402,5.283,2403,2.874,2404,4.965,2405,4.129,2406,4.129,2407,4.129,2408,4.129,2409,2.874,2410,5.283,2411,2.874,2412,2.874,2413,2.874,2414,2.874,2415,4.833,2416,2.874,2417,2.874,2418,2.874,2419,2.874,2420,2.701,2421,2.874,2422,2.874,2423,2.874,2424,2.874,2425,5.491,2426,5.491,2427,5.491,2428,3.822,2429,5.491,2430,3.822,2431,3.822,2432,3.822,2433,3.822,2434,3.822]],["title/injectables/MessageService.html",[452,1.101,821,2.059]],["body/injectables/MessageService.html",[0,0.088,3,0.072,4,0.193,5,0.064,6,0.094,11,0.314,12,0.663,13,1.136,14,0.893,15,0.588,16,1.209,22,1.178,24,1.184,25,0.009,26,0.77,27,1.143,28,0.971,29,0.658,31,1.396,33,0.157,41,0.171,45,2.519,51,0.004,52,0.005,53,0.004,79,1.502,82,1.908,83,1.464,89,0.314,111,1.318,148,1.621,150,1.109,156,0.95,166,0.997,187,3.948,189,1.331,192,1.502,252,1.188,264,1.58,269,0.934,278,1.376,285,1.677,309,2.481,310,1.924,311,2.58,312,0.895,318,2.239,369,3.592,386,1.041,448,2.587,452,1.407,453,2.048,468,3.346,496,2.08,528,2.961,541,4.448,591,1.859,624,1.464,635,2.472,643,2.795,644,1.464,662,5.283,733,3.696,741,4.272,818,3.217,821,3.495,824,4.621,831,4.05,839,2.048,840,4.467,846,4.171,853,2.712,861,3.351,863,3.837,892,3.652,908,3.837,958,2.718,1006,3.837,1030,4.612,1050,2.279,1060,4.054,1114,2.872,1142,2.472,1154,3.652,1158,5.383,1592,2.587,1593,3.652,2110,4.045,2227,4.448,2287,2.872,2377,2.718,2378,4.698,2379,4.448,2380,2.472,2381,3.056,2382,2.872,2383,3.837,2384,3.056,2385,5.033,2386,4.85,2387,3.056,2388,4.054,2389,2.718,2390,2.872,2391,3.056,2392,3.652,2393,3.056,2394,2.872,2395,3.056,2396,3.056,2397,3.056,2398,3.056,2399,4.313,2400,3.056,2401,3.056,2402,3.056,2403,3.056,2404,4.054,2405,3.056,2406,4.313,2407,3.056,2408,3.056,2409,3.056,2410,3.056,2411,3.056,2412,4.313,2413,3.056,2414,3.056,2415,4.999,2416,3.056,2417,3.056,2418,3.056,2419,3.056,2420,4.054,2421,3.056,2422,4.313,2423,4.313,2424,3.056,2435,5.074,2436,4.063,2437,5.735,2438,4.063,2439,4.063,2440,4.063]],["title/interfaces/MessageServiceConfig.html",[156,0.743,2386,2.858]],["body/interfaces/MessageServiceConfig.html",[0,0.092,3,0.077,4,0.192,5,0.069,6,0.052,11,0.337,12,0.696,13,1.219,14,0.927,15,0.575,16,0.919,25,0.009,27,0.953,28,0.738,31,1.498,33,0.163,41,0.175,45,2.616,51,0.004,52,0.005,53,0.004,82,1.836,83,1.326,89,0.337,111,1.385,148,1.74,150,1.165,156,0.998,158,1.534,166,1.693,187,3.966,189,1.429,192,1.611,252,1.274,264,2.342,269,1.002,278,1.324,285,1.721,309,2.372,310,1.462,311,2.621,312,0.96,318,2.116,369,3.73,386,1.117,448,2.776,452,1.478,468,3.515,496,2.16,528,3.039,541,4.619,591,1.685,624,0.96,635,3.666,643,2.744,644,1.52,662,5.147,733,3.762,741,4.176,818,3.379,821,2.764,824,4.469,831,2.445,839,2.198,840,4.455,846,4.159,853,2.062,861,3.037,863,2.917,892,2.776,908,4.031,958,2.917,1006,4.031,1030,4.56,1050,2.445,1060,4.258,1114,3.081,1142,2.653,1154,2.776,1158,5.524,1592,2.776,1593,3.836,2110,2.653,2227,4.619,2287,3.081,2377,2.917,2378,4.879,2379,4.619,2380,2.653,2381,3.279,2382,3.081,2383,4.031,2384,3.279,2385,5.147,2386,4.742,2387,4.531,2388,5.524,2389,2.917,2390,3.081,2391,3.279,2392,3.836,2393,3.279,2394,3.081,2395,3.279,2396,3.279,2397,3.279,2398,3.279,2399,4.531,2400,3.279,2401,3.279,2402,3.279,2403,3.279,2404,4.258,2405,3.279,2406,4.531,2407,3.279,2408,3.279,2409,3.279,2410,3.279,2411,3.279,2412,3.279,2413,3.279,2414,3.279,2415,5.192,2416,3.279,2417,3.279,2418,3.279,2419,3.279,2420,3.081,2421,3.279,2422,3.279,2423,3.279,2424,3.279]],["title/classes/MoveToNode.html",[0,0.069,2044,1.839]],["body/classes/MoveToNode.html",[0,0.139,2,2.06,3,0.096,4,0.117,5,0.086,6,0.092,7,2.713,8,1.365,11,0.42,12,0.807,13,2.569,14,1.234,15,0.715,16,1.146,18,2.135,20,0.893,22,1.079,24,1.122,25,0.009,26,0.73,27,0.86,28,0.92,29,0.88,30,1.192,32,2.354,33,0.128,34,0.612,41,0.196,42,3.95,47,3.033,51,0.005,52,0.006,53,0.005,73,1.675,260,2.289,265,1.913,269,1.25,312,1.197,315,2.785,390,2.06,392,2.06,394,1.824,402,2.06,408,1.554,597,1.051,644,1.791,653,3.406,894,2.203,901,3.077,1100,3.083,1517,2.254,1979,2.228,1982,2.358,2006,2.729,2032,2.228,2033,2.835,2034,4.074,2036,2.228,2037,2.835,2038,2.228,2039,2.289,2040,2.289,2041,2.228,2042,2.354,2043,2.228,2044,2.86,2045,3.771,2046,2.169,2047,2.228,2048,2.228,2049,2.289,2050,3.11,2441,5.436,2442,6.98]],["title/modules/OntologyExplorationModule.html",[54,1.342,67,3.172]],["body/modules/OntologyExplorationModule.html",[0,0.097,3,0.113,4,0.138,5,0.1,6,0.076,25,0.009,33,0.208,41,0.138,51,0.006,52,0.007,53,0.006,56,1.903,57,2.303,67,6.619,72,2.466,73,1.528,74,1.741,78,2.524,88,2.466,89,0.491,125,3.571,136,4.788,255,2.265,720,2.646,721,2.777,722,2.187,2443,5.633,2444,5.633,2445,5.633,2446,6.245,2447,6.597,2448,6.245,2449,3.714,2450,6.367,2451,3.874,2452,4.788,2453,6.367,2454,4.054,2455,5.633]],["title/components/OntologySearchComponent.html",[169,0.663,580,1.404]],["body/components/OntologySearchComponent.html",[0,0.043,3,0.05,4,0.061,5,0.045,6,0.098,8,1.372,11,0.339,12,0.508,14,0.59,15,0.592,16,0.598,20,0.925,22,1.253,24,1.353,25,0.009,26,0.971,27,1.037,28,0.744,29,1.369,30,1.118,31,1.848,33,0.181,34,1.026,35,0.776,41,0.061,45,1.666,48,2.484,51,0.007,52,0.004,53,0.007,61,0.888,62,0.888,79,1.151,82,1.755,83,1.726,89,0.219,111,0.652,125,4.604,148,1.754,150,0.85,167,0.952,169,1.068,171,4.759,187,3.089,189,0.93,190,1.655,192,1.049,222,0.868,224,0.868,228,1.202,231,1.538,234,2.222,235,1.51,237,1.585,239,1.474,240,1.474,242,1.44,255,2.314,256,2.418,267,3.138,275,0.93,278,0.911,285,1.184,287,2.215,290,0.908,309,1.51,310,2.573,311,2.12,318,0.743,340,5.36,352,3.687,368,1.132,369,3.273,372,3.305,386,2.127,406,2.465,420,2.081,425,2.696,442,3.615,444,2.564,473,0.848,477,2.145,489,0.975,490,0.868,494,0.952,496,0.888,498,1.754,523,2.039,531,2.133,552,0.975,553,1.375,554,1.375,555,0.975,556,2.081,557,0.975,558,0.975,559,0.975,560,0.888,561,0.975,562,0.888,563,0.975,564,0.888,565,1.51,566,0.888,567,0.908,568,0.975,569,0.975,570,0.888,571,0.975,572,0.888,573,0.952,574,0.975,575,0.888,576,1.344,577,0.975,578,0.888,579,0.975,580,1.895,581,1.51,582,0.888,583,0.975,584,0.908,585,0.975,586,0.888,587,0.975,588,0.888,589,0.93,590,0.888,591,0.793,592,1.848,593,0.888,594,0.975,595,0.888,596,1.344,597,0.85,598,0.888,599,1.51,600,0.888,601,0.888,602,0.888,603,0.975,604,0.888,605,1.314,606,0.975,607,1.51,608,0.888,609,0.952,610,0.975,611,0.888,612,1.314,613,0.888,614,0.888,615,0.975,616,0.888,617,0.829,618,0.975,619,0.888,620,0.975,621,0.975,622,1.023,624,1.526,636,2.016,639,3.054,641,3.054,642,2.544,643,1.94,644,0.968,654,3.554,660,2.397,666,4.053,672,2.956,676,2.699,678,1.384,679,1.342,687,3.017,688,2.906,689,4.312,698,1.342,699,2.184,700,1.302,701,2.544,706,1.195,711,2.027,888,3.888,901,1.754,902,2.564,936,1.726,1000,2.465,1020,2.296,1023,1.655,1090,3.888,1112,2.51,1142,2.674,1152,4.351,1418,2.133,1484,3.106,1511,1.342,1512,1.726,1516,3.774,1517,1.916,1534,2.078,1535,1.533,1539,2.005,1556,3.534,1557,2.798,1560,1.726,1610,2.564,1620,3.305,1630,5.16,1631,4.656,1632,1.898,1634,2.133,1636,3.198,1637,2.133,1640,1.898,1651,2.374,1654,1.726,1709,3.305,1737,3.888,1843,2.294,1936,4.415,1942,1.898,2006,2.199,2010,4.053,2070,2.294,2079,2.294,2307,3.554,2345,2.294,2346,1.898,2404,3.106,2449,4.789,2451,5.053,2456,2.294,2457,4.395,2458,3.888,2459,4.759,2460,3.888,2461,5.379,2462,5.379,2463,7.472,2464,2.798,2465,7.231,2466,4.395,2467,4.395,2468,4.395,2469,4.395,2470,4.759,2471,2.837,2472,3.988,2473,4.395,2474,5.379,2475,5.301,2476,2.51,2477,2.837,2478,4.395,2479,3.888,2480,4.395,2481,5.54,2482,2.837,2483,4.395,2484,4.395,2485,2.294,2486,8.46,2487,4.395,2488,2.837,2489,4.395,2490,4.395,2491,3.554,2492,4.395,2493,6.933,2494,2.837,2495,3.888,2496,4.395,2497,4.395,2498,2.837,2499,6.058,2500,4.395,2501,4.395,2502,2.837,2503,4.395,2504,2.837,2505,5.379,2506,2.837,2507,4.395,2508,4.395,2509,2.837,2510,2.133,2511,2.51,2512,2.51,2513,2.51,2514,2.837,2515,2.837,2516,2.837,2517,2.837,2518,2.837,2519,2.294,2520,2.837,2521,2.837,2522,2.837,2523,2.837,2524,2.837,2525,2.837,2526,2.837,2527,2.837,2528,2.837,2529,2.837,2530,2.837,2531,2.837,2532,2.837,2533,2.837,2534,2.837,2535,2.837,2536,4.395,2537,4.395,2538,4.395,2539,4.395,2540,2.294,2541,2.837,2542,2.837,2543,4.395,2544,2.51]],["title/modules/OntologySearchModule.html",[54,1.342,2446,3.003]],["body/modules/OntologySearchModule.html",[0,0.099,3,0.115,4,0.14,5,0.102,6,0.077,25,0.009,33,0.216,41,0.14,51,0.006,52,0.007,53,0.006,56,1.935,57,2.326,72,2.491,73,1.554,74,1.771,76,2.738,78,2.121,88,2.491,89,0.5,92,3.57,93,2.803,125,3.63,255,1.771,580,2.926,720,2.673,721,2.805,722,2.224,1631,3.777,1666,5.851,1667,4.868,2446,6.082,2449,3.777,2451,3.939,2510,4.868,2511,5.727,2545,5.727,2546,5.727,2547,5.727,2548,5.727,2549,6.883,2550,7.78,2551,7.78,2552,7.78,2553,6.473,2554,5.727]],["title/injectables/OntologySearchService.html",[452,1.101,2472,2.731]],["body/injectables/OntologySearchService.html",[0,0.055,3,0.064,4,0.078,5,0.057,6,0.101,8,1.383,11,0.652,12,0.609,14,1.101,15,0.621,20,1.153,22,1.288,24,1.567,25,0.009,26,1.02,27,1.202,28,1.054,29,1.178,31,1.81,33,0.185,34,0.407,35,0.987,41,0.114,49,2.492,51,0.007,52,0.005,53,0.007,79,1.379,82,1.983,83,1.16,89,0.279,111,1.211,150,1.406,156,0.872,177,2.106,180,4.837,187,2.772,188,2.715,189,1.183,190,3.074,192,1.334,227,1.951,255,2.41,256,3.571,278,1.054,285,1.602,303,3.963,310,1.211,311,2.459,312,0.795,318,2.146,369,2.847,406,4.835,421,3.355,422,3.592,452,1.678,453,1.82,490,2.092,605,2.553,624,1.672,644,1.37,730,4.577,806,1.156,843,2.347,853,2.492,869,3.724,874,3.724,1000,3.836,1097,5.144,1143,3.355,1487,2.92,1488,3.963,1535,3.696,1557,2.299,1610,2.106,1630,3.355,1709,5.144,1832,3.724,2006,2.937,2010,5.768,2028,6.502,2074,6.046,2346,2.415,2380,2.197,2451,5.138,2464,4.837,2472,4.162,2475,2.92,2481,4.397,2491,4.261,2519,4.261,2540,4.261,2555,6.828,2556,2.92,2557,4.661,2558,4.661,2559,5.505,2560,6.502,2561,5.269,2562,5.269,2563,5.269,2564,5.269,2565,5.269,2566,3.61,2567,4.661,2568,7.84,2569,3.61,2570,4.661,2571,4.661,2572,6.052,2573,4.661,2574,4.661,2575,3.61,2576,4.661,2577,4.661,2578,4.661,2579,3.61,2580,4.661,2581,3.61,2582,4.661,2583,4.661,2584,4.661,2585,3.61,2586,6.052,2587,4.661,2588,3.61,2589,4.661,2590,3.61,2591,3.61,2592,3.61,2593,3.194,2594,3.194,2595,5.505,2596,3.194,2597,2.92,2598,3.194,2599,3.194,2600,3.194,2601,3.194,2602,3.194,2603,3.194,2604,4.661,2605,3.194,2606,4.661,2607,4.661,2608,4.661,2609,4.661,2610,3.194,2611,3.194,2612,3.194,2613,3.194,2614,3.194,2615,3.194,2616,4.661,2617,4.661,2618,2.92,2619,3.194,2620,3.194]],["title/interfaces/OntologySelection.html",[156,0.743,199,3.172]],["body/interfaces/OntologySelection.html",[3,0.122,4,0.148,5,0.108,6,0.082,11,0.531,12,0.932,15,0.66,20,1.165,25,0.008,33,0.162,34,0.774,35,1.88,41,0.148,45,3.345,51,0.006,52,0.007,53,0.006,156,1.138,158,2.418,199,5.697,256,3.522,408,2.446,2010,5.904,2621,6.08,2622,6.08,2623,7.137]],["title/components/OntologySelectionComponent.html",[169,0.663,582,1.404]],["body/components/OntologySelectionComponent.html",[0,0.056,3,0.064,4,0.079,5,0.057,6,0.103,8,1.292,11,0.281,12,0.613,13,1.482,14,0.489,15,0.66,16,1.117,20,0.878,22,1.323,24,1.29,25,0.009,26,0.98,27,0.989,30,1.216,31,1.821,33,0.172,34,1.045,35,0.995,41,0.079,48,2.768,51,0.003,52,0.005,53,0.006,61,1.139,62,1.139,79,1.387,82,1.245,83,1.512,89,0.281,111,0.837,116,3.546,125,4.842,141,3.092,148,2.115,150,0.704,162,3.646,166,1.3,167,1.221,169,1.249,172,2.943,180,3.98,199,4.853,200,3.219,201,5.385,222,1.113,224,1.113,228,1.878,231,1.787,234,2.272,235,1.821,237,1.911,239,1.778,240,1.778,242,1.737,252,1.549,255,2.547,257,6.16,258,4.689,275,1.192,278,0.616,290,1.165,309,1.821,310,1.778,311,1.621,312,1.167,361,1.959,400,4.286,404,2.431,405,3.546,406,2.041,420,2.359,473,1.088,489,1.25,490,2.698,494,1.221,496,1.139,498,2.115,523,3.114,552,1.25,553,1.658,554,1.658,555,1.25,556,2.359,557,1.25,558,1.25,559,1.25,560,1.139,561,1.25,562,1.139,563,1.25,564,1.139,565,1.821,566,1.139,567,1.165,568,1.25,569,1.25,570,1.139,571,1.25,572,1.139,573,1.221,574,1.25,575,1.139,576,1.621,577,1.25,578,1.139,579,1.25,580,1.139,581,1.821,582,2.148,583,1.25,584,2.198,585,1.25,586,1.139,587,1.25,588,1.139,589,1.192,590,1.139,591,1.018,592,2.147,593,1.139,594,1.25,595,1.139,596,1.621,597,1.025,598,1.139,599,1.821,600,1.139,601,1.139,602,1.139,603,1.25,604,1.139,605,1.088,606,1.25,607,1.821,608,1.139,609,1.221,610,1.25,611,1.139,612,1.584,613,1.139,614,1.139,615,1.25,616,1.139,617,1.064,618,1.25,619,1.139,620,1.25,621,1.25,622,1.312,624,1.376,628,2.672,636,2.431,643,2.001,660,2.785,672,2.586,676,2.361,764,3.932,806,1.165,841,3.851,1184,5.728,1271,3.375,1275,3.745,1465,3.546,1480,4.689,1533,3.745,1557,3.375,1675,4.701,1688,3.986,1731,3.986,1732,5.164,2006,2.448,2010,4.594,2449,5.037,2451,2.214,2452,6.492,2454,2.317,2458,5.53,2464,3.98,2470,5.53,2472,5.204,2512,3.219,2513,3.219,2560,5.553,2597,2.943,2618,2.943,2624,3.219,2625,5.3,2626,6.25,2627,5.3,2628,6.25,2629,6.25,2630,6.25,2631,3.639,2632,5.3,2633,3.639,2634,3.639,2635,4.286,2636,3.639,2637,3.639,2638,3.639,2639,3.639,2640,5.3,2641,5.3,2642,3.639,2643,5.3,2644,3.639,2645,5.3,2646,3.639,2647,5.3,2648,3.639,2649,3.219,2650,3.639,2651,3.639,2652,3.639]],["title/modules/OntologySelectionModule.html",[54,1.342,2447,3.172]],["body/modules/OntologySelectionModule.html",[0,0.098,3,0.114,4,0.139,5,0.101,6,0.077,25,0.009,33,0.208,41,0.139,51,0.006,52,0.007,53,0.006,56,1.918,57,2.314,72,2.477,73,1.54,74,1.755,76,2.723,78,2.536,88,2.477,89,0.495,125,3.598,136,4.825,255,2.273,582,2.941,720,2.658,721,2.79,722,2.204,2446,6.002,2447,6.579,2448,6.002,2449,3.743,2451,3.904,2452,4.825,2454,4.085,2455,5.676,2472,5.056,2653,5.676,2654,5.676,2655,6.415,2656,5.676,2657,5.676,2658,6.415,2659,6.415]],["title/modules/OntologyTreeModule.html",[54,1.342,2448,3.003]],["body/modules/OntologyTreeModule.html",[0,0.099,3,0.115,4,0.14,5,0.102,6,0.077,25,0.009,33,0.216,34,0.73,41,0.14,51,0.006,52,0.007,53,0.006,56,1.938,57,2.328,72,2.493,73,1.556,74,1.773,76,2.74,78,2.124,88,2.493,89,0.5,92,3.572,93,2.807,97,5.503,98,4.581,108,2.028,125,3.635,255,1.773,584,2.995,720,2.675,721,2.807,722,2.227,1949,4.738,1950,3.944,2448,6.084,2449,3.781,2454,4.127,2649,5.734,2660,5.734,2661,5.734,2662,5.734,2663,6.482,2664,7.786,2665,6.482,2666,7.786]],["title/interfaces/Position.html",[156,0.743,894,1.175]],["body/interfaces/Position.html",[0,0.071,1,1.548,3,0.1,4,0.066,5,0.048,6,0.037,7,1.081,8,1.275,9,2.022,11,0.237,12,0.54,13,1.306,14,0.848,15,0.488,16,0.648,18,2.724,20,0.808,21,2.436,25,0.009,26,0.412,30,1.107,31,2.458,33,0.201,34,0.526,35,0.84,36,1.548,37,1.259,38,1.409,41,0.147,45,1.164,48,1.605,49,1.452,51,0.003,52,0.004,53,0.003,83,1.763,89,0.237,108,0.961,150,1.777,156,1.046,158,1.081,166,1.146,179,1.055,181,2.355,187,3.314,189,1.006,192,1.135,207,1.659,216,1.548,219,1.792,220,1.722,221,1.956,234,0.753,252,0.898,256,1.226,265,2.818,269,0.706,278,0.957,285,1.688,295,1.931,299,2.524,312,1.028,317,1.956,318,1.653,349,1.499,361,1.135,366,1.722,386,1.74,390,3.035,392,3.035,393,2.593,394,2.686,402,1.164,403,3.17,408,1.942,452,1.146,479,1.409,480,1.409,481,1.368,482,1.135,483,1.452,528,1.194,597,0.594,639,2.355,641,1.548,642,1.452,644,1.858,678,1.499,679,1.452,711,0.898,764,2.758,769,1.409,894,2.322,974,3.213,1020,2.142,1095,1.659,1100,2.394,1101,2.355,1113,1.659,1115,2.947,1116,2.524,1129,3.964,1156,2.436,1262,2.619,1266,1.602,1277,1.869,1341,2.279,1511,2.209,1517,2.489,1566,1.792,1651,2.524,1723,2.436,1979,1.914,1982,0.939,1983,1.722,2006,1.03,2032,1.259,2034,3.188,2036,1.259,2038,1.914,2039,1.293,2040,2.38,2041,1.914,2042,3.766,2043,1.914,2044,1.914,2046,1.226,2047,1.914,2048,1.259,2049,3.013,2050,2.081,2368,2.436,2667,1.956,2668,2.055,2669,1.956,2670,4.021,2671,2.055,2672,5.022,2673,2.055,2674,3.297,2675,2.355,2676,3.125,2677,2.055,2678,3.125,2679,2.055,2680,1.956,2681,1.956,2682,3.671,2683,2.974,2684,1.602,2685,1.956,2686,2.725,2687,3.964,2688,3.685,2689,2.974,2690,3.125,2691,2.725,2692,2.725,2693,4.546,2694,1.869,2695,2.055,2696,1.659,2697,1.956,2698,2.055,2699,2.055,2700,3.125,2701,1.869,2702,2.055,2703,2.055,2704,2.055,2705,2.055,2706,2.055,2707,2.055,2708,2.055,2709,4.526,2710,3.782,2711,3.125,2712,2.974,2713,3.125,2714,5.128,2715,2.055,2716,5.128,2717,2.055,2718,2.055,2719,2.055,2720,2.055,2721,5.357,2722,2.055,2723,2.055,2724,4.225,2725,3.125,2726,2.055,2727,2.055,2728,2.055,2729,2.842,2730,2.055,2731,2.055,2732,2.055,2733,2.055,2734,2.055,2735,3.782,2736,4.021,2737,1.956,2738,1.956,2739,1.956,2740,3.782,2741,2.055,2742,2.055,2743,2.055,2744,3.782,2745,2.055,2746,2.055,2747,4.225,2748,3.125,2749,2.055,2750,2.055,2751,2.055,2752,2.055,2753,2.055,2754,2.055,2755,2.055,2756,2.055,2757,2.055,2758,3.125,2759,2.055,2760,2.055,2761,2.055,2762,2.055,2763,2.055,2764,2.055,2765,2.055,2766,2.055,2767,2.055,2768,1.956,2769,2.055,2770,2.055,2771,2.055,2772,2.055,2773,2.842,2774,2.055,2775,2.055,2776,2.055,2777,2.055,2778,2.055,2779,2.055,2780,3.125,2781,2.055,2782,3.125,2783,2.055,2784,2.055,2785,2.055,2786,2.055,2787,2.055,2788,2.055,2789,2.055,2790,2.055,2791,1.792,2792,2.055,2793,2.055,2794,2.055,2795,1.869,2796,2.055,2797,2.055,2798,2.055,2799,2.055,2800,2.055,2801,2.055,2802,2.055,2803,2.055,2804,2.055,2805,2.055,2806,1.869,2807,2.055,2808,2.055,2809,2.055,2810,1.956,2811,1.956,2812,1.956,2813,1.956]],["title/interfaces/RadiusSettings.html",[156,0.743,2682,2.425]],["body/interfaces/RadiusSettings.html",[0,0.071,1,1.548,3,0.1,4,0.066,5,0.048,6,0.037,7,1.081,8,1.275,9,2.022,11,0.237,12,0.54,13,1.306,14,0.848,15,0.488,16,0.648,18,2.724,20,0.808,21,2.436,25,0.009,26,0.412,30,1.107,31,2.458,33,0.201,34,0.526,35,0.84,36,1.548,37,1.259,38,1.409,41,0.147,45,1.164,48,1.605,49,1.452,51,0.003,52,0.004,53,0.003,83,1.763,89,0.237,108,0.961,150,1.777,156,1.046,158,1.081,166,1.146,179,1.055,181,2.355,187,3.314,189,1.006,192,1.135,207,1.659,216,1.548,219,1.792,220,1.722,221,1.956,234,0.753,252,0.898,256,1.226,265,2.818,269,0.706,278,0.957,285,1.688,295,1.931,299,2.524,312,1.028,317,1.956,318,1.653,349,1.499,361,1.135,366,1.722,386,1.74,390,2.819,392,2.819,393,2.593,394,2.495,402,1.164,403,3.17,408,1.942,452,1.146,479,1.409,480,1.409,481,1.368,482,1.135,483,1.452,528,1.194,597,0.594,639,2.355,641,1.548,642,1.452,644,1.858,678,1.499,679,1.452,711,0.898,764,2.758,769,1.409,894,2.313,974,3.213,1020,2.142,1095,1.659,1100,2.394,1101,2.355,1113,1.659,1115,2.947,1116,2.524,1129,3.964,1156,2.436,1262,2.619,1266,1.602,1277,1.869,1341,2.279,1511,3.213,1517,2.489,1566,1.792,1651,3.671,1723,2.436,1979,1.914,1982,0.939,1983,1.722,2006,1.03,2032,1.259,2034,3.188,2036,1.259,2038,1.914,2039,1.293,2040,2.38,2041,1.914,2042,3.766,2043,1.914,2044,1.914,2046,1.226,2047,1.914,2048,1.259,2049,3.013,2050,2.081,2368,2.436,2667,1.956,2668,2.055,2669,1.956,2670,4.021,2671,2.055,2672,5.022,2673,2.055,2674,3.297,2675,2.355,2676,3.125,2677,2.055,2678,3.125,2679,2.055,2680,1.956,2681,1.956,2682,3.866,2683,4.326,2684,1.602,2685,1.956,2686,2.725,2687,3.964,2688,3.685,2689,2.974,2690,3.125,2691,2.725,2692,2.725,2693,4.546,2694,1.869,2695,2.055,2696,1.659,2697,1.956,2698,2.055,2699,2.055,2700,3.125,2701,1.869,2702,2.055,2703,2.055,2704,2.055,2705,2.055,2706,2.055,2707,2.055,2708,2.055,2709,4.526,2710,3.782,2711,3.125,2712,2.974,2713,3.125,2714,5.128,2715,2.055,2716,5.128,2717,2.055,2718,2.055,2719,2.055,2720,2.055,2721,5.357,2722,2.055,2723,2.055,2724,4.225,2725,3.125,2726,2.055,2727,2.055,2728,2.055,2729,2.842,2730,2.055,2731,2.055,2732,2.055,2733,2.055,2734,2.055,2735,3.782,2736,4.021,2737,1.956,2738,1.956,2739,1.956,2740,3.782,2741,2.055,2742,2.055,2743,2.055,2744,3.782,2745,2.055,2746,2.055,2747,4.225,2748,3.125,2749,2.055,2750,2.055,2751,2.055,2752,2.055,2753,2.055,2754,2.055,2755,2.055,2756,2.055,2757,2.055,2758,3.125,2759,2.055,2760,2.055,2761,2.055,2762,2.055,2763,2.055,2764,2.055,2765,2.055,2766,2.055,2767,2.055,2768,1.956,2769,2.055,2770,2.055,2771,2.055,2772,2.055,2773,2.842,2774,2.055,2775,2.055,2776,2.055,2777,2.055,2778,2.055,2779,2.055,2780,3.125,2781,2.055,2782,3.125,2783,2.055,2784,2.055,2785,2.055,2786,2.055,2787,2.055,2788,2.055,2789,2.055,2790,2.055,2791,1.792,2792,2.055,2793,2.055,2794,2.055,2795,1.869,2796,2.055,2797,2.055,2798,2.055,2799,2.055,2800,2.055,2801,2.055,2802,2.055,2803,2.055,2804,2.055,2805,2.055,2806,1.869,2807,2.055,2808,2.055,2809,2.055,2810,1.956,2811,1.956,2812,1.956,2813,1.956]],["title/classes/ReallyUpdateSpatialSearch.html",[0,0.069,2694,2.731]],["body/classes/ReallyUpdateSpatialSearch.html",[0,0.071,1,1.544,2,1.161,3,0.1,4,0.066,5,0.048,6,0.056,7,1.641,8,1.306,9,2.019,11,0.237,12,0.539,13,1.764,14,0.96,15,0.487,16,0.646,18,2.723,20,0.868,21,2.431,22,0.474,25,0.009,26,0.411,28,0.519,29,0.496,30,1.149,31,2.456,33,0.201,34,0.525,35,0.838,36,1.544,37,1.256,38,1.406,41,0.147,45,1.161,48,1.602,49,1.449,51,0.003,52,0.004,53,0.003,83,1.762,89,0.237,108,0.959,150,1.777,156,1.044,166,1.144,179,1.052,181,2.35,187,3.311,189,1.004,192,1.132,207,1.655,216,1.544,219,1.787,220,1.718,221,1.951,234,0.751,252,0.896,256,1.223,265,2.816,269,0.704,278,0.956,285,1.686,295,1.929,299,2.519,312,1.243,317,1.951,318,1.651,349,1.495,361,1.132,366,1.718,386,1.738,390,2.817,392,2.817,393,2.589,394,2.493,402,1.767,403,3.165,408,1.94,452,1.144,479,1.406,480,1.406,481,1.365,482,1.132,483,1.449,528,1.191,597,0.592,639,2.35,641,1.544,642,1.449,644,1.686,678,1.495,679,1.449,711,0.896,764,2.754,769,1.406,894,2.312,974,3.21,1020,2.139,1095,1.655,1100,2.391,1101,2.35,1113,1.655,1115,2.943,1116,2.519,1129,3.959,1156,2.431,1262,2.615,1266,1.598,1277,1.864,1341,2.275,1511,2.205,1517,2.488,1566,1.787,1651,2.519,1723,2.431,1979,1.911,1982,1.426,1983,1.718,2006,1.028,2032,1.256,2034,3.311,2036,1.256,2038,1.911,2039,1.29,2040,2.377,2041,1.911,2042,3.764,2043,1.911,2044,1.911,2046,1.223,2047,1.911,2048,1.256,2049,3.01,2050,2.077,2368,2.431,2667,1.951,2668,2.05,2669,1.951,2670,4.016,2671,2.05,2672,5.019,2673,2.05,2674,3.293,2675,2.35,2676,3.119,2677,2.05,2678,3.119,2679,2.05,2680,1.951,2681,1.951,2682,3.667,2683,2.969,2684,1.598,2685,1.951,2686,2.72,2687,3.959,2688,3.68,2689,2.969,2690,3.119,2691,2.72,2692,2.72,2693,4.541,2694,2.837,2695,3.119,2696,1.655,2697,1.951,2698,2.05,2699,2.05,2700,3.119,2701,1.864,2702,2.05,2703,2.05,2704,2.05,2705,2.05,2706,2.05,2707,2.05,2708,2.05,2709,4.522,2710,3.776,2711,3.119,2712,2.969,2713,3.119,2714,5.124,2715,2.05,2716,5.124,2717,2.05,2718,2.05,2719,2.05,2720,2.05,2721,5.354,2722,2.05,2723,2.05,2724,4.22,2725,3.119,2726,2.05,2727,2.05,2728,2.05,2729,2.837,2730,2.05,2731,2.05,2732,2.05,2733,2.05,2734,2.05,2735,3.776,2736,4.016,2737,1.951,2738,1.951,2739,1.951,2740,3.776,2741,2.05,2742,2.05,2743,2.05,2744,3.776,2745,2.05,2746,2.05,2747,4.22,2748,3.119,2749,2.05,2750,2.05,2751,2.05,2752,2.05,2753,2.05,2754,2.05,2755,2.05,2756,2.05,2757,2.05,2758,3.119,2759,2.05,2760,2.05,2761,2.05,2762,2.05,2763,2.05,2764,2.05,2765,2.05,2766,2.05,2767,2.05,2768,1.951,2769,2.05,2770,2.05,2771,2.05,2772,2.05,2773,2.837,2774,2.05,2775,2.05,2776,2.05,2777,2.05,2778,2.05,2779,2.05,2780,3.119,2781,2.05,2782,3.119,2783,2.05,2784,2.05,2785,2.05,2786,2.05,2787,2.05,2788,2.05,2789,2.05,2790,2.05,2791,1.787,2792,2.05,2793,2.05,2794,2.05,2795,1.864,2796,2.05,2797,2.05,2798,2.05,2799,2.05,2800,2.05,2801,2.05,2802,2.05,2803,2.05,2804,2.05,2805,2.05,2806,1.864,2807,2.05,2808,2.05,2809,2.05,2810,1.951,2811,1.951,2812,1.951,2813,1.951,2814,3.064]],["title/classes/RemoveSearch.html",[0,0.069,43,2.731]],["body/classes/RemoveSearch.html",[0,0.125,1,3.107,2,2.336,3,0.109,4,0.133,5,0.097,6,0.098,7,2.873,8,1.414,9,3.535,10,4.635,11,0.476,12,0.873,13,2.442,14,1.208,15,0.701,16,1.3,18,2.497,19,4.356,20,1.117,21,3.938,22,1.168,24,1.272,25,0.009,26,0.828,27,0.975,28,1.044,29,0.998,30,1.35,31,2.924,32,2.669,33,0.193,34,0.694,35,1.686,36,3.107,37,2.526,38,2.828,39,3.938,40,3.75,41,0.176,42,3.746,43,4.595,44,5.337,45,2.862,46,3.75,47,2.222,48,2.117,49,2.915,50,2.595,51,0.006,52,0.007,53,0.006,2815,6.163,2816,7.552]],["title/classes/ResetPosition.html",[0,0.069,2046,1.791]],["body/classes/ResetPosition.html",[0,0.14,2,2.106,3,0.098,4,0.12,5,0.088,6,0.085,7,2.491,8,1.346,11,0.429,12,0.818,13,2.576,14,1.237,15,0.714,18,2.165,20,0.905,22,0.859,25,0.009,28,0.941,29,0.899,30,1.205,32,2.406,33,0.131,34,0.626,41,0.197,42,3.973,47,3.054,51,0.005,52,0.006,53,0.005,73,1.87,260,2.34,265,1.955,269,1.277,312,1.223,315,2.217,390,2.106,392,2.106,394,1.864,402,2.106,408,1.588,597,1.074,644,1.806,653,3.454,894,2.217,901,2.825,1100,2.683,1517,2.277,1979,2.277,1982,2.165,2006,2.374,2032,2.277,2033,2.897,2034,4.086,2036,2.277,2037,2.897,2038,2.277,2039,2.34,2040,2.34,2041,2.277,2042,2.406,2043,2.277,2044,2.277,2045,3.002,2046,2.825,2047,2.277,2048,2.277,2049,2.34,2050,3.153,2817,5.556]],["title/classes/ResetRadius.html",[0,0.069,2048,1.839]],["body/classes/ResetRadius.html",[0,0.14,2,2.106,3,0.098,4,0.12,5,0.088,6,0.085,7,2.491,8,1.346,11,0.429,12,0.818,13,2.576,14,1.237,15,0.714,18,2.165,20,0.905,22,0.859,25,0.009,28,0.941,29,0.899,30,1.205,32,2.406,33,0.131,34,0.626,41,0.197,42,3.973,47,3.054,51,0.005,52,0.006,53,0.005,73,1.87,260,2.34,265,1.955,269,1.277,312,1.223,315,2.217,390,2.106,392,2.106,394,1.864,402,2.106,408,1.588,597,1.074,644,1.806,653,3.454,894,2.147,901,2.825,1100,2.683,1517,2.398,1979,2.277,1982,2.165,2006,2.374,2032,2.277,2033,2.897,2034,4.086,2036,2.277,2037,2.897,2038,2.277,2039,2.34,2040,2.34,2041,2.277,2042,2.406,2043,2.277,2044,2.277,2045,3.002,2046,2.217,2047,2.277,2048,2.901,2049,2.34,2050,3.153,2818,5.556]],["title/components/ResultsBrowserComponent.html",[169,0.663,586,1.404]],["body/components/ResultsBrowserComponent.html",[0,0.045,3,0.052,4,0.064,5,0.047,6,0.103,8,1.066,11,0.229,12,0.525,14,0.948,15,0.653,16,0.625,20,0.994,22,1.329,24,1.38,25,0.009,26,0.986,27,1.058,28,0.502,29,0.736,30,1.136,32,1.968,33,0.158,34,1.027,35,0.811,41,0.064,45,1.123,47,1.639,48,2.604,51,0.008,52,0.004,53,0.008,61,0.927,62,0.927,79,1.19,82,1.571,83,1.669,89,0.229,101,4.525,111,0.681,128,6.893,149,1.662,150,0.879,162,3.617,166,1.64,167,0.994,169,1.148,178,2.652,222,0.907,224,0.907,227,1.602,228,1.243,230,3.677,231,1.581,234,2.231,235,1.562,237,1.639,239,1.525,240,1.525,242,1.49,252,2.063,254,3.213,255,1.512,256,2.207,264,2.744,273,1.729,275,1.812,278,1.132,285,0.653,290,0.949,309,1.562,310,1.525,311,2.045,373,2.15,386,1.164,392,1.123,404,3.371,420,2.424,422,2.15,437,5.051,473,0.886,477,1.446,482,1.096,489,1.018,490,0.907,494,0.994,496,0.927,498,1.814,523,3.103,552,1.018,553,1.422,554,1.73,555,1.018,556,2.13,557,1.018,558,1.018,559,1.018,560,0.927,561,1.018,562,0.927,563,1.018,564,0.927,565,1.562,566,0.927,567,0.949,568,1.018,569,1.018,570,0.927,571,1.018,572,0.927,573,0.994,574,1.018,575,0.927,576,1.39,577,1.018,578,0.927,579,1.018,580,0.927,581,1.562,582,0.927,583,1.018,584,0.949,585,1.018,586,1.94,587,1.018,588,0.927,589,0.971,590,0.927,591,0.829,592,1.9,593,0.927,594,1.018,595,0.927,596,1.39,597,0.879,598,0.927,599,1.562,600,0.927,601,0.927,602,0.927,603,1.018,604,0.927,605,0.886,606,1.018,607,1.562,608,0.927,609,0.994,610,1.018,611,0.927,612,1.359,613,0.927,614,0.927,615,1.018,616,0.927,617,0.867,618,1.018,619,0.927,620,1.018,621,1.018,622,1.069,624,1.472,636,2.086,638,2.095,639,3.126,641,2.788,642,2.615,643,1.455,660,3.595,663,3.213,669,1.804,672,3.443,676,3.647,678,1.446,679,1.402,698,2.932,699,1.994,700,1.36,701,3.675,703,2.988,704,2.652,706,2.972,707,3.101,708,3.213,711,1.813,730,5.071,731,2.229,854,4.022,894,0.776,936,1.804,937,2.55,939,4.022,965,1.602,1020,2.674,1021,2.095,1022,2.622,1023,1.729,1098,2.622,1194,4.892,1275,3.213,1418,2.229,1444,5.507,1458,4.472,1465,3.042,1472,3.477,1475,3.677,1481,3.948,1511,1.402,1512,2.766,1513,1.446,1514,2.15,1521,1.494,1531,2.229,1534,2.15,1535,1.602,1536,3.365,1537,2.229,1541,1.662,1554,1.602,1560,3.773,1564,2.622,1636,2.218,1703,3.419,1713,4.022,1790,4.022,1829,2.766,1942,1.983,1963,4.022,1967,4.022,2227,4.721,2311,1.983,2317,3.908,2544,2.622,2806,2.766,2819,2.622,2820,4.546,2821,6.2,2822,6.2,2823,4.546,2824,6.2,2825,4.546,2826,4.546,2827,5.53,2828,4.546,2829,5.53,2830,4.546,2831,4.546,2832,4.546,2833,5.53,2834,4.546,2835,6.687,2836,5.53,2837,5.53,2838,4.892,2839,5.53,2840,5.53,2841,4.546,2842,2.964,2843,2.964,2844,2.964,2845,2.964,2846,2.964,2847,4.546,2848,2.964,2849,2.964,2850,2.964,2851,4.546,2852,4.546,2853,2.964,2854,4.546,2855,2.964,2856,2.964,2857,2.964,2858,4.546,2859,2.964,2860,6.2,2861,4.546,2862,2.964,2863,4.546,2864,4.546,2865,2.964,2866,4.546,2867,5.53,2868,2.964,2869,7.772,2870,4.546,2871,4.546,2872,4.546,2873,5.53,2874,2.964,2875,2.964,2876,2.964,2877,2.964,2878,2.964,2879,2.964,2880,2.964,2881,4.546,2882,4.546,2883,4.546,2884,4.546,2885,2.964,2886,4.546,2887,4.546,2888,6.2,2889,2.964,2890,2.964,2891,2.622,2892,2.622,2893,4.546,2894,2.964,2895,2.397]],["title/modules/ResultsBrowserModule.html",[54,1.342,68,3.172]],["body/modules/ResultsBrowserModule.html",[0,0.1,3,0.116,4,0.141,5,0.103,6,0.078,25,0.009,33,0.209,41,0.141,51,0.006,52,0.007,53,0.007,56,1.958,57,2.342,68,6.535,72,2.508,73,1.572,74,1.791,76,2.757,78,2.567,88,2.508,89,0.506,128,5.892,567,2.097,586,2.931,720,2.691,721,2.825,722,2.25,1444,4.17,1446,4.925,1574,6.371,2896,5.794,2897,6.549,2898,5.794,2899,5.794,2900,6.549,2901,7.835,2902,6.549,2903,6.549,2904,6.549]],["title/components/RunSpatialSearchComponent.html",[169,0.663,588,1.404]],["body/components/RunSpatialSearchComponent.html",[0,0.124,3,0.078,4,0.095,5,0.069,6,0.094,8,1.399,11,0.338,12,0.699,14,1.051,15,0.534,16,0.924,20,0.56,22,1.154,24,0.904,25,0.009,26,0.93,27,0.693,28,1.024,29,0.979,30,1.458,33,0.191,34,1.062,41,0.095,50,1.845,51,0.004,52,0.005,53,0.005,61,1.371,62,1.371,79,1.583,82,1.029,83,1.331,89,0.338,111,1.007,135,5.534,149,2.458,167,1.47,169,1.022,179,1.505,192,1.62,218,2.557,222,1.34,224,1.34,228,1.654,231,1.979,234,2.303,235,2.077,237,2.18,239,2.028,240,2.028,255,1.894,275,1.436,290,1.403,318,1.147,368,1.749,403,4.54,420,1.505,473,1.31,489,1.505,490,1.34,494,1.47,496,1.371,552,1.505,553,2.45,554,1.892,555,1.505,556,2.564,557,1.505,558,1.505,559,1.505,560,1.371,561,1.505,562,1.371,563,1.505,564,1.371,565,2.077,566,1.371,567,1.403,568,1.505,569,1.505,570,1.371,571,1.505,572,1.371,573,1.47,574,1.505,575,1.371,576,1.849,577,1.505,578,1.371,579,1.505,580,1.371,581,2.077,582,1.371,583,1.505,584,1.403,585,1.505,586,1.371,587,1.505,588,2.335,589,2.953,590,1.892,591,2.19,592,2.378,593,1.371,594,1.505,595,1.371,596,1.849,597,1.169,598,1.371,599,2.077,600,1.371,601,1.371,602,1.371,603,1.505,604,1.371,605,1.31,606,1.505,607,2.077,608,1.371,609,1.47,610,1.505,611,1.371,612,1.808,613,1.371,614,1.371,615,1.505,616,1.371,617,1.281,618,1.505,619,1.371,620,1.505,621,1.505,622,1.58,624,0.965,687,2.458,688,2.368,689,3.267,699,1.58,706,1.845,806,1.403,825,3.378,833,2.859,853,2.859,864,2.774,886,2.011,934,2.073,944,2.073,1046,3.642,1113,2.368,1115,3.153,1262,2.458,1266,2.285,1323,2.368,1513,2.138,1619,4.547,1632,2.932,1982,1.34,1983,2.458,2036,3.209,2037,3.153,2456,3.544,2459,6.124,2460,5.349,2476,6.124,2905,6.333,2906,4.382,2907,5.206,2908,6.036,2909,4.382,2910,5.349,2911,3.097,2912,2.557,2913,2.932,2914,4.382,2915,4.382,2916,3.877,2917,6.046,2918,4.382]],["title/modules/RunSpatialSearchModule.html",[54,1.342,69,3.003]],["body/modules/RunSpatialSearchModule.html",[0,0.102,3,0.118,4,0.144,5,0.105,6,0.079,25,0.009,30,1.304,33,0.21,41,0.144,51,0.006,52,0.007,53,0.006,56,1.987,57,2.363,69,6.114,72,2.53,73,1.595,74,1.817,76,2.781,78,2.177,88,2.53,89,0.513,92,3.626,93,2.877,135,4.696,588,2.936,589,2.177,720,2.715,721,2.849,722,2.283,1949,4.809,1950,4.043,2548,5.879,2554,5.879,2905,5.374,2919,5.879,2920,5.879,2921,5.879]],["title/injectables/SceneState.html",[216,2.262,452,1.101]],["body/injectables/SceneState.html",[0,0.048,3,0.084,4,0.068,5,0.05,6,0.105,11,0.242,12,0.549,13,2.018,14,1.138,15,0.64,16,1.208,20,0.607,22,1.35,24,1.63,25,0.009,26,1.081,27,1.25,28,1.082,29,1.034,33,0.196,34,0.645,35,0.859,41,0.124,48,2.479,51,0.003,52,0.004,53,0.003,79,1.244,82,1.892,83,1.897,87,5.128,89,0.242,108,0.983,148,1.253,150,1.235,156,0.52,160,2.057,166,1.405,175,2.18,179,1.079,181,3.22,186,3.178,189,1.029,190,1.832,191,1.832,192,1.161,210,3.899,212,3.343,214,2,215,2.362,216,2.395,234,1.683,242,1.029,252,1.389,260,1.322,265,2.54,278,1.082,285,1.406,295,2.653,299,1.697,309,1.632,310,1.594,311,2.207,312,1.406,315,3.599,318,2.142,349,3.766,355,2.69,361,1.161,386,0.804,402,1.8,404,1.441,420,2.194,452,1.165,453,1.583,528,1.221,597,0.607,624,1.511,643,2.045,644,1.406,649,2.362,672,1.532,693,2.362,726,1.761,732,4.431,733,1.399,734,2.664,735,1.761,736,3.648,737,1.761,742,5.031,758,2,763,3.648,768,2,769,1.441,771,3.096,797,3.887,806,2.311,843,3.838,963,2.362,975,1.832,992,1.399,1096,5.101,1100,2.994,1113,1.697,1115,1.638,1156,1.638,1235,2,1262,1.761,1266,2.477,1271,2,1278,2.101,1341,3.993,1358,2.362,1360,2.219,1404,2.362,1476,2.362,1481,2,1621,1.911,1730,3.025,1888,3.842,2006,2.514,2007,2.54,2055,2.219,2087,1.911,2316,4.309,2317,4.049,2323,2.778,2325,3.573,2326,4.309,2327,4.049,2338,3.573,2344,4.515,2348,2.219,2349,2.219,2354,2.362,2355,2.362,2356,2.362,2357,2.362,2358,3.357,2359,2.362,2360,2.362,2361,2.362,2362,2.362,2364,2.362,2674,4.373,2675,4.125,2688,4.839,2701,1.911,2729,1.911,2922,2.362,2923,5.651,2924,6.828,2925,6.828,2926,5.069,2927,4.75,2928,5.651,2929,4.75,2930,4.75,2931,4.75,2932,4.75,2933,4.75,2934,3.14,2935,4.203,2936,5.637,2937,3.14,2938,3.842,2939,3.14,2940,3.14,2941,5.651,2942,3.14,2943,4.203,2944,4.203,2945,3.14,2946,3.14,2947,3.14,2948,3.14,2949,5.651,2950,5.428,2951,3.14,2952,3.14,2953,3.14,2954,3.14,2955,3.178,2956,3.14,2957,3.14,2958,3.14,2959,3.14,2960,4.203,2961,3.14,2962,4.203,2963,3.14,2964,4.203,2965,3.14,2966,4.203,2967,3.14,2968,4.203,2969,2.362,2970,2.54,2971,4.203,2972,4.203,2973,2.778,2974,2.54,2975,2.778,2976,2.778,2977,2.778,2978,2.778,2979,2.778,2980,2.778,2981,4.203,2982,4.203,2983,5.651,2984,2.778,2985,5.069,2986,2.778,2987,2.778,2988,2.778,2989,2.778,2990,2.778,2991,2.778,2992,2.778,2993,2.54,2994,2.778,2995,2.778,2996,2.778,2997,2.778,2998,2.778,2999,2.778,3000,2.778,3001,2.778,3002,2.778,3003,2.778,3004,2.778,3005,2.778,3006,2.778,3007,2.778,3008,2.778,3009,2.778,3010,2.778,3011,2.778,3012,2.778,3013,2.778,3014,2.778,3015,2.778,3016,2.778,3017,2.778,3018,2.778,3019,2.778,3020,2.778,3021,2.778,3022,2.778,3023,2.778,3024,2.778,3025,2.778,3026,2.778,3027,2.362,3028,2.778,3029,2.778,3030,2.778,3031,2.778,3032,2.778]],["title/interfaces/SceneStateModel.html",[156,0.743,2936,3.375]],["body/interfaces/SceneStateModel.html",[0,0.058,3,0.097,4,0.083,5,0.06,6,0.046,11,0.295,12,0.635,13,1.535,14,1.04,15,0.642,16,1.158,20,0.898,25,0.009,26,0.513,27,0.869,33,0.204,34,0.724,35,1.045,41,0.139,48,2.413,51,0.003,52,0.005,53,0.003,83,1.798,87,4.738,89,0.295,108,1.196,148,1.525,150,1.358,156,0.633,158,1.345,160,1.655,166,1.576,175,2.519,179,1.313,181,2.768,186,3.674,189,1.252,190,2.23,191,2.23,192,1.413,210,3.472,212,3.203,214,2.434,215,2.874,216,1.927,234,1.576,242,1.252,252,1.117,260,1.609,265,2.472,278,1.19,285,1.547,295,2.543,299,2.065,309,1.313,310,1.282,311,2.369,312,1.209,315,3.597,318,1.948,349,3.428,355,2.706,361,1.413,386,0.979,402,2.081,404,1.753,420,1.886,452,1.347,528,1.486,597,0.739,643,1.758,644,1.547,649,2.874,672,1.865,693,2.874,726,2.143,732,4.173,733,1.703,734,3.079,735,2.143,736,3.496,737,2.143,742,4.738,758,2.434,763,2.434,768,2.434,769,1.753,771,2.967,797,4.275,815,4.129,843,3.705,963,2.874,975,2.23,992,1.703,1096,4.542,1100,3.024,1113,2.065,1115,1.993,1156,1.993,1235,2.434,1262,2.143,1266,2.863,1271,2.434,1278,2.557,1341,3.78,1358,2.874,1360,2.701,1404,2.874,1476,2.874,1481,2.434,1621,2.326,1730,2.434,1888,3.091,2006,2.496,2007,3.091,2055,2.701,2087,2.326,2316,4.833,2317,2.701,2325,2.874,2326,4.129,2327,3.881,2338,2.874,2344,3.881,2348,2.701,2349,2.701,2354,2.874,2355,2.874,2356,2.874,2357,2.874,2358,3.881,2359,2.874,2360,2.874,2361,2.874,2362,2.874,2364,2.874,2674,4.519,2675,4.254,2688,4.924,2701,2.326,2729,2.326,2922,2.874,2923,6.583,2924,7.224,2925,7.224,2926,3.381,2928,3.381,2935,3.381,2936,5.283,2938,3.091,2941,4.858,2943,3.381,2944,3.381,2949,4.858,2950,4.833,2955,2.557,2960,3.381,2962,3.381,2964,3.381,2966,3.381,2968,4.858,2969,2.874,2970,3.091,2971,6.583,2972,6.583,2973,3.381,2974,3.091,2975,3.381,2976,3.381,2977,3.381,2978,3.381,2979,3.381,2980,3.381,2981,4.858,2982,4.858,2983,6.215,2984,3.381,2985,5.685,2986,3.381,2987,3.381,2988,3.381,2989,3.381,2990,3.381,2991,3.381,2992,3.381,2993,3.091,2994,3.381,2995,3.381,2996,3.381,2997,3.381,2998,3.381,2999,3.381,3000,3.381,3001,3.381,3002,3.381,3003,3.381,3004,3.381,3005,3.381,3006,3.381,3007,3.381,3008,3.381,3009,3.381,3010,3.381,3011,3.381,3012,3.381,3013,3.381,3014,3.381,3015,3.381,3016,3.381,3017,3.381,3018,3.381,3019,3.381,3020,3.381,3021,3.381,3022,3.381,3023,3.381,3024,3.381,3025,3.381,3026,3.381,3027,2.874,3028,3.381,3029,3.381,3030,3.381,3031,3.381,3032,3.381]],["title/interfaces/SearchResult.html",[156,0.743,2481,3.172]],["body/interfaces/SearchResult.html",[0,0.067,3,0.078,4,0.095,5,0.069,6,0.053,8,1.385,11,0.683,12,0.701,14,0.932,15,0.606,20,1.112,25,0.009,29,0.713,33,0.196,34,0.496,35,1.205,41,0.131,49,2.083,51,0.007,52,0.005,53,0.008,82,1.843,83,0.97,89,0.34,111,1.013,150,1.517,156,1.149,158,1.55,177,2.57,180,4.42,187,2.704,188,3.313,189,1.444,190,3.54,192,1.628,227,2.38,255,2.315,256,3.504,278,1.028,285,1.727,303,3.313,310,2.036,311,2.589,312,1.336,318,1.817,369,2.38,406,4.66,421,2.805,422,3.283,452,1.703,490,1.856,605,2.424,624,0.97,644,1.647,730,4.06,843,1.963,853,2.083,869,3.114,874,3.114,1000,3.403,1097,5.221,1143,2.805,1487,4.908,1488,3.313,1535,3.279,1557,3.864,1610,3.54,1630,2.805,1709,4.564,1832,3.114,2006,2.97,2010,5.874,2028,6.05,2074,6.098,2346,2.947,2380,3.693,2451,2.681,2464,3.864,2472,3.693,2475,4.908,2481,4.906,2491,3.563,2519,3.563,2540,3.563,2555,3.563,2556,3.563,2557,3.898,2558,3.898,2559,3.898,2560,5.614,2567,3.898,2568,7.768,2570,3.898,2571,3.898,2572,5.369,2573,3.898,2574,3.898,2576,3.898,2577,3.898,2578,3.898,2580,3.898,2582,3.898,2583,3.898,2584,3.898,2586,5.369,2587,3.898,2589,3.898,2593,3.898,2594,5.369,2595,7.174,2596,3.898,2597,3.563,2598,3.898,2599,3.898,2600,3.898,2601,3.898,2602,3.898,2603,3.898,2604,5.369,2605,3.898,2606,5.369,2607,5.369,2608,5.369,2609,5.369,2610,3.898,2611,3.898,2612,3.898,2613,3.898,2614,3.898,2615,3.898,2616,5.369,2617,5.369,2618,3.563,2619,3.898,2620,3.898]],["title/classes/SetExecuteSearchOnGenerate.html",[0,0.069,1979,1.839]],["body/classes/SetExecuteSearchOnGenerate.html",[0,0.139,2,2.069,3,0.097,4,0.118,5,0.086,6,0.092,7,2.718,8,1.375,11,0.421,12,0.809,13,2.57,14,1.234,15,0.713,16,1.151,18,2.14,20,0.895,22,1.082,24,1.127,25,0.009,26,0.733,27,0.864,28,0.925,29,0.884,30,1.195,32,2.364,33,0.129,34,0.615,41,0.197,42,3.955,47,3.108,51,0.005,52,0.006,53,0.005,73,1.68,260,2.299,265,1.921,269,1.255,312,1.202,315,2.179,390,2.069,392,2.069,394,1.831,402,2.069,408,1.561,597,1.055,644,1.794,653,3.77,894,2.133,901,2.793,1100,2.653,1517,2.258,1979,2.868,1982,2.363,2006,2.348,2032,2.237,2033,2.847,2034,4.076,2036,2.237,2037,2.847,2038,2.237,2039,2.299,2040,2.299,2041,2.237,2042,2.364,2043,2.237,2044,2.237,2045,2.95,2046,2.179,2047,2.237,2048,2.237,2049,2.299,2050,3.63,3033,5.459,3034,6.999]],["title/classes/SetOrgan.html",[0,0.069,2041,1.839]],["body/classes/SetOrgan.html",[0,0.139,2,2.058,3,0.096,4,0.117,5,0.086,6,0.092,7,2.711,8,1.365,11,0.419,12,0.806,13,2.569,14,1.233,15,0.715,16,1.145,18,2.133,20,1.04,22,1.079,24,1.12,25,0.009,26,0.729,27,0.859,28,0.92,29,0.879,30,1.192,32,2.351,33,0.128,34,0.612,41,0.196,42,3.949,47,3.103,51,0.005,52,0.006,53,0.005,73,1.674,260,2.287,265,2.454,269,1.248,312,1.196,315,2.167,390,2.058,392,2.058,394,1.822,402,2.058,408,2.203,597,1.05,644,1.79,653,3.403,894,2.129,901,2.783,1100,2.643,1517,2.253,1979,2.225,1982,2.356,2006,2.34,2032,2.225,2033,2.832,2034,4.073,2036,2.225,2037,2.832,2038,2.225,2039,2.287,2040,2.287,2041,2.858,2042,3.02,2043,2.225,2044,2.225,2045,2.934,2046,2.167,2047,2.225,2048,2.225,2049,2.287,2050,3.107,3035,5.43,3036,6.975]],["title/classes/SetPosition.html",[0,0.069,2043,1.839]],["body/classes/SetPosition.html",[0,0.139,2,2.062,3,0.096,4,0.118,5,0.086,6,0.092,7,2.714,8,1.365,11,0.42,12,0.807,13,2.569,14,1.234,15,0.719,16,1.147,18,2.136,20,0.893,22,1.08,24,1.123,25,0.009,26,0.731,27,0.861,28,0.921,29,0.881,30,1.193,32,2.356,33,0.128,34,0.613,41,0.196,42,3.951,47,3.105,51,0.005,52,0.006,53,0.005,73,1.676,260,2.292,265,1.915,269,1.251,312,1.198,315,2.172,390,2.062,392,2.062,394,1.826,402,2.062,408,1.556,597,1.052,644,1.792,653,3.408,815,5.253,894,2.255,901,2.787,1100,2.647,1517,2.255,1979,2.23,1982,2.359,2006,2.343,2032,2.23,2033,2.838,2034,4.074,2036,2.23,2037,2.838,2038,2.23,2039,2.292,2040,2.292,2041,2.23,2042,2.356,2043,2.862,2044,2.23,2045,2.94,2046,2.172,2047,2.23,2048,2.23,2049,2.292,2050,3.112,3037,5.442,3038,6.984]],["title/classes/SetRadius.html",[0,0.069,2047,1.839]],["body/classes/SetRadius.html",[0,0.139,2,2.067,3,0.096,4,0.118,5,0.086,6,0.092,7,2.717,8,1.366,11,0.421,12,0.808,13,2.57,14,1.234,15,0.715,16,1.15,18,2.139,20,0.894,22,1.082,24,1.125,25,0.009,26,0.732,27,0.863,28,0.923,29,0.883,30,1.194,32,2.361,33,0.129,34,0.614,41,0.196,42,3.954,47,3.107,51,0.005,52,0.006,53,0.005,73,1.679,260,2.297,265,1.919,269,1.254,312,1.201,315,2.176,390,2.067,392,2.067,394,1.829,402,2.067,408,1.559,597,1.054,644,1.897,653,3.413,894,2.132,901,2.791,1100,2.651,1517,2.462,1979,2.235,1982,2.361,2006,2.346,2032,2.235,2033,2.844,2034,4.076,2036,2.235,2037,2.844,2038,2.235,2039,2.297,2040,2.297,2041,2.235,2042,2.361,2043,2.235,2044,2.235,2045,2.947,2046,2.176,2047,2.866,2048,2.235,2049,2.297,2050,3.116,3039,5.454,3040,6.994]],["title/classes/SetSelectedSearches.html",[0,0.069,46,2.731]],["body/classes/SetSelectedSearches.html",[0,0.125,1,3.099,2,2.33,3,0.109,4,0.133,5,0.097,6,0.097,7,2.87,8,1.414,9,3.532,10,4.624,11,0.475,12,0.872,13,2.44,14,1.208,15,0.701,16,1.296,18,2.494,19,4.345,20,1.043,21,3.932,22,1.166,24,1.269,25,0.009,26,0.826,27,0.973,28,1.041,29,0.995,30,1.35,31,2.921,32,2.662,33,0.192,34,0.692,35,1.682,36,3.099,37,2.52,38,2.821,39,4.434,40,3.741,41,0.176,42,3.742,43,3.741,44,4.345,45,2.33,46,4.588,47,2.719,48,2.59,49,3.566,50,3.175,51,0.006,52,0.007,53,0.006,3041,6.148,3042,7.54]],["title/classes/SetSex.html",[0,0.069,2038,1.839]],["body/classes/SetSex.html",[0,0.139,2,2.058,3,0.096,4,0.117,5,0.086,6,0.092,7,2.711,8,1.365,11,0.419,12,0.806,13,2.569,14,1.233,15,0.715,16,1.145,17,4.804,18,2.487,20,0.892,22,1.079,24,1.12,25,0.009,26,0.729,27,0.859,28,0.92,29,0.879,30,1.192,32,2.351,33,0.128,34,0.612,41,0.196,42,3.949,47,3.103,51,0.005,52,0.006,53,0.005,73,1.674,260,2.287,265,1.911,269,1.248,312,1.196,315,2.167,390,2.058,392,2.058,394,1.822,402,2.058,408,1.552,597,1.05,644,1.79,653,3.403,894,2.129,901,2.783,1100,2.643,1517,2.253,1979,2.225,1982,2.356,2006,2.34,2032,2.225,2033,2.832,2034,4.073,2036,2.225,2037,2.832,2038,2.858,2039,3.245,2040,3.245,2041,2.225,2042,2.351,2043,2.225,2044,2.225,2045,2.934,2046,2.167,2047,2.225,2048,2.225,2049,2.287,2050,3.107,3043,6.975]],["title/components/SpatialSearchConfigBehaviorComponent.html",[169,0.663,590,1.404]],["body/components/SpatialSearchConfigBehaviorComponent.html",[0,0.055,3,0.063,4,0.077,5,0.056,6,0.105,8,1.425,11,0.276,12,0.605,14,1.221,15,0.604,16,1.103,18,2.082,22,1.352,24,1.079,25,0.009,26,0.914,27,0.828,28,1.153,29,1.102,30,1.342,33,0.199,34,1.043,37,1.465,38,1.64,41,0.077,51,0.003,52,0.005,53,0.005,61,1.118,62,1.118,79,1.369,82,1.702,83,1.83,89,0.276,108,1.118,111,0.822,148,2.087,150,0.691,167,1.199,169,0.913,174,5.449,175,1.64,176,2.391,177,2.085,178,2.085,179,1.228,187,3.483,189,1.171,204,2.526,205,2.891,206,2.891,218,3.052,222,1.093,224,1.093,228,1.431,231,1.769,234,2.268,235,1.797,239,1.755,240,1.755,242,1.171,255,1.692,275,1.171,278,1.153,290,1.144,312,1.362,318,2.141,444,3.972,473,1.069,489,1.228,490,1.093,494,1.199,496,1.118,552,1.228,553,1.636,554,1.636,555,1.228,556,2.339,557,1.228,558,1.228,559,1.228,560,1.118,561,1.228,562,1.118,563,1.228,564,1.118,565,1.797,566,1.118,567,1.144,568,1.228,569,1.228,570,1.118,571,1.228,572,1.118,573,1.199,574,1.228,575,1.118,576,1.6,577,1.228,578,1.118,579,1.228,580,1.118,581,1.797,582,1.118,583,1.228,584,1.144,585,1.228,586,1.118,587,1.228,588,1.118,589,1.171,590,2.13,591,2.604,592,2.125,593,1.636,594,1.228,595,1.118,596,1.6,597,1.316,598,1.118,599,1.797,600,1.636,601,1.118,602,1.118,603,1.228,604,1.118,605,1.069,606,1.228,607,1.797,608,1.118,609,1.199,610,1.228,611,1.118,612,1.564,613,1.118,614,1.118,615,1.228,616,1.118,617,1.045,618,1.228,619,1.118,620,1.228,621,1.228,711,1.045,806,2.32,818,3.469,828,4.139,831,3.818,835,1.465,878,4.847,920,2.391,1341,3.019,1536,2.175,1786,2.891,1982,1.6,1983,2.004,2038,1.465,2041,1.465,2464,3.939,2675,1.802,2907,5.12,2908,6.484,2911,2.526,2912,5.162,2913,2.391,3044,4.293,3045,2.688,3046,3.934,3047,4.23,3048,6.186,3049,7.235,3050,5.473,3051,5.473,3052,5.473,3053,6.023,3054,4.627,3055,6.023,3056,3.574,3057,5.473,3058,6.023,3059,6.186,3060,5.473,3061,6.023,3062,5.23,3063,3.574,3064,3.574,3065,4.627,3066,3.574,3067,3.162,3068,3.574,3069,3.162,3070,5.23,3071,3.162,3072,3.574,3073,4.627,3074,3.162,3075,4.627,3076,3.162,3077,3.162,3078,5.23,3079,3.162,3080,5.23,3081,3.162,3082,3.162,3083,2.526,3084,3.162,3085,3.574,3086,3.162,3087,3.162,3088,3.574,3089,3.162,3090,3.162,3091,2.891,3092,3.162,3093,3.162,3094,3.162,3095,3.162,3096,3.162,3097,3.162,3098,3.162,3099,3.162,3100,3.162,3101,3.162,3102,3.574,3103,3.162,3104,3.162,3105,3.162]],["title/modules/SpatialSearchConfigBehaviorModule.html",[54,1.342,3106,3.375]],["body/modules/SpatialSearchConfigBehaviorModule.html",[0,0.099,3,0.115,4,0.14,5,0.102,6,0.078,8,1.339,25,0.009,30,1.205,33,0.209,37,2.66,41,0.14,51,0.006,52,0.007,53,0.006,56,1.94,57,2.33,72,2.495,73,1.558,74,1.775,76,2.742,78,2.553,88,2.495,89,0.501,590,2.927,591,2.335,720,2.677,721,2.81,722,2.229,2911,4.587,2912,3.786,2913,4.342,3044,3.167,3106,6.944,3107,5.742,3108,5.742,3109,5.742,3110,5.742,3111,6.358,3112,5.249,3113,6.894,3114,6.49]],["title/components/SpatialSearchConfigComponent.html",[169,0.663,593,1.404]],["body/components/SpatialSearchConfigComponent.html",[0,0.091,3,0.125,4,0.073,5,0.053,6,0.099,8,1.411,11,0.26,12,0.579,14,1.059,15,0.642,18,2.626,20,0.431,22,1.268,25,0.009,26,0.673,28,0.849,29,0.811,30,1.388,33,0.118,34,1.044,37,3.409,41,0.108,48,2.274,50,2.518,51,0.003,52,0.004,53,0.004,61,1.055,62,1.055,89,0.26,108,1.055,111,0.775,162,2.924,167,1.131,169,0.883,178,4.127,222,1.031,224,1.031,228,1.371,231,1.71,234,2.261,235,1.721,237,1.807,239,1.681,240,1.681,255,1.636,256,2,265,2.835,275,1.105,278,1.198,287,4.133,290,1.08,368,2.386,373,2.325,386,1.899,397,2.052,405,4.429,420,2.43,444,3.862,473,1.008,477,1.646,489,1.159,490,1.031,494,1.131,496,1.055,498,2,523,2.509,552,1.159,553,1.568,554,1.568,555,1.159,556,2.274,557,1.159,558,1.159,559,1.159,560,1.055,561,1.159,562,1.055,563,1.159,564,1.055,565,1.721,566,1.055,567,1.914,568,1.159,569,1.159,570,1.055,571,1.159,572,1.055,573,1.131,574,1.159,575,1.055,576,1.533,577,1.159,578,1.055,579,1.159,580,1.055,581,1.721,582,1.055,583,1.159,584,1.08,585,1.159,586,1.055,587,1.159,588,1.055,589,1.105,590,1.055,591,2.253,592,2.054,593,2.071,594,1.159,595,1.055,596,1.533,597,0.969,598,1.055,599,1.721,600,1.055,601,1.055,602,1.055,603,1.159,604,1.055,605,1.008,606,1.159,607,1.721,608,1.055,609,1.131,610,1.159,611,1.055,612,1.498,613,1.055,614,1.055,615,1.159,616,1.055,617,1.465,618,1.159,619,1.055,620,1.159,621,1.159,622,1.216,624,0.743,636,2.299,658,4.678,660,3.706,666,2.256,669,2.052,676,3.302,687,2.81,688,2.708,689,3.576,699,2.387,700,3.037,701,2.828,702,3.049,703,2.708,706,3.32,707,2.81,708,2.384,711,2.167,806,1.08,825,2.918,833,2.37,835,2.054,864,2.299,886,1.547,894,0.883,901,1.346,934,1.595,944,2.828,965,2.708,986,2.052,987,1.547,992,1.503,1020,2.681,1046,3.931,1131,2.924,1341,3.745,1464,1.822,1472,4.157,1512,2.052,1513,2.918,1514,3.505,1515,4.028,1516,3.81,1517,1.935,1519,2.613,1520,2.708,1521,3.014,1534,2.828,1536,2.052,1539,2.384,1541,2.81,1542,3.769,1543,2.728,1544,2.256,1545,3.769,1554,1.822,1556,2.37,1561,4.433,1566,1.968,1572,2.147,1630,3.808,1631,3.489,1632,3.353,1634,2.536,1636,3.452,1637,2.536,1638,3.353,1639,2.536,1640,2.256,1651,1.822,1653,2.924,1654,3.049,1658,2.536,1829,2.052,1858,3.769,1936,2.147,1939,2.052,2039,2.788,2040,2.788,2070,2.728,2072,5.721,2087,2.052,2675,3.566,2891,2.984,3044,4.059,3050,5.29,3051,5.29,3052,5.29,3053,5.29,3115,2.728,3116,5.98,3117,5.011,3118,5.98,3119,5.29,3120,3.372,3121,3.372,3122,3.372,3123,3.372,3124,7.073,3125,3.372,3126,3.372,3127,3.372,3128,3.372,3129,5.011,3130,4.433,3131,5.011,3132,2.728,3133,3.372,3134,4.433,3135,3.372,3136,5.98,3137,3.372,3138,3.372,3139,2.728]],["title/modules/SpatialSearchConfigModule.html",[54,1.342,3111,3.172]],["body/modules/SpatialSearchConfigModule.html",[0,0.099,3,0.115,4,0.14,5,0.102,6,0.077,8,1.261,25,0.009,30,1.001,33,0.216,37,2.653,38,2.97,41,0.14,51,0.006,52,0.007,53,0.006,56,1.935,57,2.326,72,2.491,73,1.554,74,1.771,76,2.738,78,2.121,88,2.491,89,0.5,92,3.57,93,2.803,593,2.926,720,2.673,721,2.805,722,2.224,1668,5.851,1669,4.868,1949,4.734,1950,3.939,2510,4.868,2549,6.883,3044,3.159,3111,6.425,3140,5.727,3141,5.727,3142,5.727,3143,6.473,3144,7.78,3145,6.473]],["title/interfaces/SpatialSearchFilterItem.html",[39,2.34,156,0.743]],["body/interfaces/SpatialSearchFilterItem.html",[0,0.081,1,3.47,3,0.094,4,0.115,5,0.084,6,0.064,7,1.872,8,1.404,9,2.304,11,0.411,12,0.796,15,0.623,18,2.788,19,4.865,20,1.129,21,4.543,25,0.009,26,1.084,29,0.861,30,0.823,33,0.205,34,0.775,35,1.455,36,2.682,37,2.181,38,2.441,39,4.208,41,0.165,43,4.189,45,3.302,46,4.189,48,2.365,50,2.241,51,0.005,52,0.006,53,0.005,83,1.68,89,0.411,108,1.665,150,1.655,156,0.881,158,1.872,160,2.981,179,1.828,219,3.104,242,1.743,269,1.223,273,4.452,278,0.901,285,1.68,295,2.105,318,1.998,390,2.892,392,2.892,394,2.56,452,1.688,624,1.171,769,2.441,1095,2.875,1517,2.231,1723,3.59,1901,4.303,2672,4.91,2709,3.238,2773,3.238,2795,3.238,3146,4.001,3147,6.751,3148,4.707,3149,4.707,3150,4.707,3151,4.001,3152,4.707,3153,3.388,3154,4.707,3155,4.707,3156,4.707,3157,4.707,3158,4.707,3159,4.707,3160,4.707,3161,4.707,3162,4.707,3163,4.707,3164,4.707,3165,4.707,3166,4.707,3167,4.707,3168,4.707,3169,4.707,3170,4.707,3171,4.707,3172,4.707,3173,4.707,3174,4.707,3175,4.707,3176,4.707,3177,4.707,3178,4.707,3179,4.707,3180,4.707,3181,4.707,3182,4.303,3183,4.707,3184,4.707,3185,4.707]],["title/classes/SpatialSearchFilterSelectors.html",[0,0.069,220,2.517]],["body/classes/SpatialSearchFilterSelectors.html",[0,0.093,2,2.305,3,0.108,4,0.131,5,0.096,6,0.101,7,2.981,8,1.381,9,3.668,11,0.469,13,2.555,15,0.627,21,4.536,22,1.255,24,1.675,25,0.009,26,1.09,27,1.284,30,0.94,33,0.191,34,0.685,35,1.663,39,4.764,40,3.701,41,0.131,49,3.542,50,3.567,51,0.005,52,0.007,53,0.005,79,1.961,82,1.907,179,2.089,220,4.2,234,1.492,285,1.787,295,2.291,806,2.599,1913,5.38,1914,6.626,3151,6.371,3153,3.872,3186,5.38,3187,7.49,3188,7.49,3189,6.081,3190,6.081,3191,7.49,3192,6.626,3193,6.081,3194,7.49,3195,6.081,3196,6.081,3197,7.49,3198,6.081,3199,6.081]],["title/injectables/SpatialSearchFilterState.html",[452,1.101,3153,2.858]],["body/injectables/SpatialSearchFilterState.html",[0,0.071,1,4.147,3,0.082,4,0.1,5,0.073,6,0.101,7,2.961,8,1.422,9,3.643,11,0.357,15,0.65,18,2.747,19,4.431,20,1.141,21,4.617,22,1.272,24,1.698,25,0.009,26,1.213,27,1.302,29,0.748,30,0.715,33,0.198,34,0.706,35,1.264,36,2.329,37,1.894,38,2.12,39,3.979,41,0.154,43,5.006,45,2.892,46,5.006,48,2.154,50,1.946,51,0.004,52,0.006,53,0.004,79,1.641,82,1.932,83,1.811,89,0.357,108,1.446,150,1.59,156,0.765,160,2.001,179,1.587,219,2.696,242,1.514,269,1.062,273,4.151,278,0.782,285,1.567,295,1.917,318,2.272,390,2.697,392,2.697,394,2.387,408,2.034,452,1.538,453,2.329,624,1.017,769,2.12,806,2.278,1095,2.496,1517,2.08,1723,3.269,1901,3.737,2672,5.339,2709,2.812,2773,2.812,2795,2.812,3146,3.475,3147,5.546,3148,4.088,3149,4.088,3150,4.088,3151,3.475,3152,4.088,3153,3.992,3154,5.546,3155,5.546,3156,4.088,3157,5.546,3158,5.546,3159,4.088,3160,4.088,3161,5.546,3162,5.546,3163,4.088,3164,4.088,3165,4.088,3166,4.088,3167,4.088,3168,4.088,3169,4.088,3170,5.546,3171,4.088,3172,4.088,3173,5.546,3174,4.088,3175,5.546,3176,4.088,3177,4.088,3178,4.088,3179,4.088,3180,4.088,3181,4.088,3182,3.737,3183,4.088,3184,4.088,3185,4.088,3200,6.269,3201,6.269,3202,6.269,3203,4.62,3204,6.295,3205,4.62,3206,4.62,3207,4.62,3208,4.62,3209,4.62]],["title/components/SpatialSearchKeyboardUIBehaviorComponent.html",[169,0.663,595,1.404]],["body/components/SpatialSearchKeyboardUIBehaviorComponent.html",[0,0.107,3,0.052,4,0.063,5,0.046,6,0.102,8,1.414,11,0.226,12,0.52,14,0.827,15,0.638,20,1.044,22,1.316,24,1.509,25,0.009,26,1.04,27,1.225,28,1.189,29,1.302,30,1.357,33,0.106,34,1.031,41,0.063,51,0.003,52,0.004,53,0.004,61,0.916,62,0.916,79,1.178,82,1.562,83,1.74,89,0.226,111,0.673,167,0.982,169,1.08,218,1.707,222,0.895,224,0.895,228,1.231,231,1.568,234,2.229,235,1.546,239,1.51,240,1.51,242,1.797,255,1.5,269,1.261,275,0.959,278,0.496,287,2.269,290,0.937,311,2.033,360,5.678,361,1.664,363,2.367,390,1.706,392,1.706,393,2.065,394,1.51,408,0.837,421,2.866,425,1.75,473,0.875,489,1.005,490,0.895,494,0.982,496,0.916,498,1.796,523,2.661,552,1.005,553,2.08,554,1.408,555,1.005,556,2.116,557,1.005,558,1.005,559,1.005,560,0.916,561,1.005,562,0.916,563,1.005,564,0.916,565,1.546,566,0.916,567,0.937,568,1.005,569,1.005,570,0.916,571,1.005,572,0.916,573,0.982,574,1.005,575,0.916,576,1.377,577,1.005,578,0.916,579,1.005,580,0.916,581,1.546,582,0.916,583,1.005,584,0.937,585,1.005,586,0.916,587,1.005,588,0.916,589,0.959,590,0.916,591,0.818,592,1.884,593,0.916,594,1.005,595,1.927,596,2.87,597,1.794,598,0.916,599,1.546,600,0.916,601,0.916,602,0.916,603,1.005,604,0.916,605,0.875,606,1.005,607,1.546,608,0.916,609,0.982,610,1.005,611,0.916,612,1.346,613,0.916,614,0.916,615,1.005,616,0.916,617,0.855,618,1.005,619,0.916,620,1.005,621,1.005,624,1.662,628,3.805,636,2.065,644,1.356,660,2.444,672,4.211,676,2.005,766,5.73,806,1.756,825,2.677,833,2.129,864,2.065,886,1.343,894,2.273,974,3.738,998,2.201,1000,3.937,1472,2.524,1489,3.64,1490,3.385,1559,2.367,1562,2.367,1695,3.982,1712,3.385,1723,3.661,1739,6.678,1744,3.64,1776,2.367,1982,0.895,2214,6.601,2394,3.181,2485,2.367,2912,5.001,3044,4.183,3045,2.201,3046,5.28,3047,3.64,3069,2.589,3071,2.589,3074,2.589,3076,2.589,3079,2.589,3081,2.589,3210,3.982,3211,5.485,3212,6.211,3213,6.211,3214,4.501,3215,4.501,3216,4.501,3217,6.648,3218,3.982,3219,6.648,3220,5.485,3221,5.485,3222,4.501,3223,4.501,3224,2.926,3225,4.501,3226,6.159,3227,4.501,3228,4.501,3229,4.501,3230,2.926,3231,3.982,3232,5.485,3233,2.926,3234,4.501,3235,4.501,3236,4.501,3237,4.501,3238,2.926,3239,4.501,3240,2.926,3241,4.501,3242,4.501,3243,4.501,3244,3.64,3245,4.501,3246,2.926,3247,5.449,3248,1.958,3249,7.312,3250,5.485,3251,2.926,3252,2.926,3253,6.159,3254,2.926,3255,2.589,3256,4.501,3257,7.312,3258,4.501,3259,2.367,3260,4.501,3261,2.926,3262,2.926,3263,2.926,3264,2.926,3265,2.926]],["title/modules/SpatialSearchKeyboardUIBehaviorModule.html",[54,1.342,3266,3.172]],["body/modules/SpatialSearchKeyboardUIBehaviorModule.html",[0,0.099,3,0.115,4,0.14,5,0.102,6,0.078,8,1.339,25,0.009,30,1.206,33,0.204,41,0.14,51,0.006,52,0.007,53,0.006,56,1.943,57,2.332,72,2.497,73,1.56,74,1.777,76,2.744,78,2.555,88,2.497,89,0.502,595,2.928,596,2.71,597,1.615,720,2.679,721,2.812,722,2.232,1982,1.987,2912,3.791,2913,4.348,3044,3.171,3112,5.256,3266,6.527,3267,5.749,3268,5.749,3269,5.749,3270,5.749,3271,6.359,3272,5.749]],["title/components/SpatialSearchKeyboardUIComponent.html",[169,0.663,598,1.404]],["body/components/SpatialSearchKeyboardUIComponent.html",[0,0.116,3,0.063,4,0.077,5,0.056,6,0.096,8,1.403,11,0.275,12,0.602,14,0.971,15,0.603,20,0.789,22,1.207,25,0.009,26,0.7,28,1.045,29,1.17,30,1.387,33,0.084,34,1.047,41,0.077,50,2.86,51,0.003,52,0.005,53,0.005,61,1.113,62,1.113,89,0.275,111,0.818,166,1.278,167,1.193,169,0.911,178,2.075,222,1.088,224,1.088,228,1.425,231,1.763,234,2.268,235,1.79,237,1.879,239,1.748,240,1.748,255,1.687,269,1.198,275,1.165,278,0.883,287,3.424,290,1.139,352,2.164,363,5.493,372,3.919,386,0.911,393,1.632,404,2.391,420,2.484,425,2.026,473,1.063,489,1.222,490,1.088,494,1.193,496,1.93,498,2.08,523,2.338,552,1.222,553,2.262,554,1.631,555,1.222,556,2.333,557,1.222,558,1.222,559,1.222,560,1.113,561,1.222,562,1.113,563,1.222,564,1.113,565,1.79,566,1.113,567,1.139,568,1.222,569,1.222,570,1.113,571,1.222,572,1.113,573,1.193,574,1.222,575,1.113,576,1.594,577,1.222,578,1.113,579,1.222,580,1.113,581,1.79,582,1.113,583,1.222,584,1.139,585,1.222,586,1.113,587,1.222,588,1.113,589,1.165,590,1.113,591,0.994,592,2.119,593,1.113,594,1.222,595,1.113,596,2.823,597,1.605,598,2.125,599,1.79,600,1.113,601,1.113,602,1.113,603,1.222,604,1.113,605,1.063,606,1.222,607,1.79,608,1.113,609,1.193,610,1.222,611,1.113,612,1.558,613,1.113,614,1.113,615,1.222,616,1.113,617,1.04,618,1.222,619,1.113,620,1.222,621,1.222,622,1.282,624,0.783,628,2.627,634,3.146,636,2.391,645,2.876,660,3.221,676,2.748,699,1.282,700,1.632,701,1.682,702,4.133,706,3.44,707,4.959,708,3.683,711,1.986,766,5.803,806,1.139,825,3.01,833,2.465,835,2.528,864,2.391,886,1.632,901,1.419,934,1.682,944,3.573,987,1.632,992,2.322,1020,2.338,1338,3.487,1472,2.923,1489,4.215,1490,3.919,1513,3.314,1514,3.212,1515,3.754,1516,3.212,1517,1.524,1519,3.217,1520,1.922,1521,1.793,1542,5.108,1544,3.487,1556,2.465,1559,5.493,1562,5.493,1636,1.735,1654,3.171,1658,5.108,1744,6.111,1829,4.133,1982,2.448,2955,2.379,3044,3.907,3132,5.493,3212,5.457,3213,5.457,3247,6.397,3255,6.009,3259,5.493,3273,2.876,3274,5.457,3275,4.611,3276,6.168,3277,6.168,3278,6.168,3279,3.556,3280,3.556,3281,3.556,3282,3.556,3283,5.211,3284,5.211,3285,5.211,3286,5.211,3287,4.611,3288,5.211,3289,5.211,3290,3.556,3291,6.168,3292,4.611,3293,5.211,3294,6.684,3295,3.556,3296,3.556,3297,3.556,3298,3.556,3299,6.792,3300,3.556,3301,2.876,3302,2.876,3303,3.556]],["title/modules/SpatialSearchKeyboardUIModule.html",[54,1.342,3271,3.172]],["body/modules/SpatialSearchKeyboardUIModule.html",[0,0.102,3,0.118,4,0.144,5,0.105,6,0.08,8,1.275,25,0.009,30,1.029,33,0.206,41,0.144,51,0.006,52,0.007,53,0.006,56,1.989,57,2.365,72,2.532,73,1.597,74,1.82,76,2.783,78,2.18,88,2.532,89,0.514,92,3.629,93,2.881,196,5.004,596,2.581,598,2.936,720,2.717,721,2.852,722,2.286,1982,2.035,3044,3.247,3271,6.46,3304,5.886,3305,5.886,3306,5.886,3307,5.886]],["title/components/SpatialSearchUiBehaviorComponent.html",[169,0.663,600,1.404]],["body/components/SpatialSearchUiBehaviorComponent.html",[0,0.042,3,0.135,4,0.06,5,0.044,6,0.107,8,1.434,11,0.214,12,0.499,14,1.253,15,0.65,16,0.911,18,1.831,22,1.375,24,0.891,25,0.009,26,0.804,27,0.683,28,1.163,29,1.112,30,1.394,33,0.195,34,1.022,35,0.759,37,1.137,38,1.273,41,0.06,51,0.002,52,0.004,53,0.004,61,0.868,62,0.868,79,1.131,82,1.614,83,1.633,89,0.214,108,0.868,111,0.638,150,0.536,167,0.931,169,0.958,174,6.143,175,1.273,176,1.856,177,1.618,178,1.618,179,0.953,187,3.946,189,0.909,196,2.086,204,1.961,205,2.244,206,2.244,218,3.094,222,0.848,224,0.848,228,1.181,231,1.516,234,2.217,235,1.484,239,1.449,240,1.449,242,0.909,255,1.451,265,1.866,275,0.909,278,1.098,285,0.611,290,0.888,311,0.848,312,1.774,315,2.117,318,1.698,444,3.492,473,0.829,489,0.953,490,0.848,494,0.931,496,0.868,523,1.637,552,0.953,553,1.351,554,1.351,555,0.953,556,2.056,557,0.953,558,0.953,559,0.953,560,0.868,561,0.953,562,0.868,563,0.953,564,0.868,565,1.484,566,0.868,567,0.888,568,0.953,569,0.953,570,0.868,571,0.953,572,0.868,573,0.931,574,0.953,575,0.868,576,1.321,577,0.953,578,0.868,579,0.953,580,0.868,581,1.484,582,0.868,583,0.953,584,0.888,585,0.953,586,0.868,587,0.953,588,0.868,589,0.909,590,1.351,591,1.814,592,1.822,593,0.868,594,0.953,595,0.868,596,1.321,597,1.817,598,0.868,599,1.484,600,1.873,601,1.351,602,0.868,603,0.953,604,0.868,605,0.829,606,0.953,607,1.484,608,0.868,609,0.931,610,0.953,611,0.868,612,1.291,613,0.868,614,0.868,615,0.953,616,0.868,617,0.811,618,0.953,619,0.868,620,0.953,621,0.953,624,0.951,663,3.053,711,0.811,806,2.738,828,4.34,835,1.137,878,3.548,894,1.567,920,1.856,974,2.043,1100,1.051,1101,1.398,1517,1.551,1536,1.688,1610,2.52,1619,3.248,1644,4.502,1720,5.556,1786,2.244,1982,1.831,1983,1.556,2032,2.453,2043,1.137,2044,2.453,2046,2.389,2047,1.137,2048,2.453,2368,2.766,2464,3.377,2675,1.398,2682,3.234,2684,1.447,2687,3.094,2691,3.094,2692,3.094,2791,2.52,2907,5.967,2908,5.246,2911,1.961,2912,5.218,2913,1.856,2916,2.454,3044,4.352,3045,2.086,3046,3.248,3047,3.493,3049,6.741,3054,3.821,3055,5.296,3057,3.821,3058,5.296,3060,4.692,3061,5.296,3065,3.821,3067,2.454,3073,3.821,3075,3.821,3077,2.454,3082,2.454,3083,1.961,3084,2.454,3086,3.821,3087,2.454,3089,2.454,3090,2.454,3091,2.244,3092,2.454,3093,2.454,3094,2.454,3095,2.454,3096,2.454,3097,2.454,3098,2.454,3099,2.454,3100,2.454,3101,2.454,3103,2.454,3104,2.454,3105,2.454,3210,3.821,3218,4.692,3231,2.454,3248,1.856,3308,4.289,3309,4.289,3310,5.304,3311,5.296,3312,5.986,3313,2.774,3314,4.319,3315,2.774,3316,2.774,3317,2.774,3318,4.319,3319,2.774,3320,2.774,3321,4.319,3322,2.774,3323,4.319,3324,2.774,3325,4.319,3326,2.774,3327,2.774,3328,4.319,3329,2.774,3330,2.774,3331,4.319,3332,2.774,3333,4.319,3334,2.774,3335,4.319,3336,2.774,3337,4.319,3338,2.774,3339,4.319,3340,2.774,3341,4.319,3342,4.319,3343,2.774,3344,4.319,3345,2.774,3346,2.774,3347,4.319,3348,2.774,3349,4.319,3350,2.774,3351,4.319,3352,2.774]],["title/modules/SpatialSearchUiBehaviorModule.html",[54,1.342,3353,3.375]],["body/modules/SpatialSearchUiBehaviorModule.html",[0,0.099,3,0.115,4,0.14,5,0.102,6,0.078,8,1.339,25,0.009,30,1.205,33,0.209,41,0.14,51,0.006,52,0.007,53,0.006,56,1.94,57,2.33,72,2.495,73,1.558,74,1.775,76,2.742,78,2.553,88,2.495,89,0.501,597,1.614,600,2.927,720,2.677,721,2.81,722,2.229,1982,1.985,2911,4.587,2912,3.786,2913,4.342,3044,3.167,3112,5.249,3113,6.894,3272,5.742,3353,6.944,3354,5.742,3355,5.742,3356,5.742,3357,5.742,3358,6.358]],["title/components/SpatialSearchUiComponent.html",[169,0.663,601,1.404]],["body/components/SpatialSearchUiComponent.html",[0,0.1,3,0.121,4,0.053,5,0.039,6,0.104,8,1.418,11,0.189,12,0.453,14,1.164,15,0.666,18,2.297,20,0.625,22,1.335,25,0.009,26,0.526,28,0.946,29,0.792,30,1.363,33,0.144,34,1.023,35,0.67,41,0.053,48,1.919,50,2.059,51,0.002,52,0.004,53,0.004,61,0.766,62,0.766,73,1.758,89,0.189,108,0.766,111,0.563,162,2.853,167,0.822,169,0.902,201,1.56,218,1.429,222,0.749,224,0.749,226,2.619,228,1.071,231,1.398,234,2.187,235,1.345,237,1.412,239,1.313,240,1.313,255,1.338,256,0.977,260,2.059,262,2.944,265,2.577,275,0.803,278,1.24,287,4.216,290,0.784,315,3.245,355,2.059,361,2.065,368,2.229,373,2.375,386,0.627,397,2.976,404,1.124,406,2.196,409,3.166,410,3.166,420,2.794,437,2.493,444,3.8,473,1.462,477,2.726,482,0.905,489,0.841,490,0.749,494,0.822,496,0.766,498,1.562,523,3.006,552,0.841,553,1.911,554,1.225,555,0.841,556,1.919,557,0.841,558,0.841,559,0.841,560,0.766,561,0.841,562,0.766,563,0.841,564,0.766,565,1.345,566,0.766,567,1.566,568,0.841,569,0.841,570,0.766,571,0.841,572,0.766,573,0.822,574,0.841,575,0.766,576,1.197,577,0.841,578,0.766,579,0.841,580,0.766,581,1.345,582,0.766,583,0.841,584,0.784,585,0.841,586,0.766,587,0.841,588,0.766,589,2.001,590,0.766,591,0.685,592,1.68,593,0.766,594,0.841,595,0.766,596,1.868,597,1.554,598,0.766,599,1.345,600,0.766,601,1.748,602,0.766,603,0.841,604,0.766,605,0.732,606,0.841,607,1.345,608,0.766,609,0.822,610,0.841,611,0.766,612,1.947,613,0.766,614,0.766,615,0.841,616,0.766,617,0.716,618,0.841,619,0.766,620,0.841,621,0.841,622,0.883,624,0.539,628,3.786,636,1.796,644,1.564,660,3.754,669,1.49,676,3.346,687,1.374,688,1.323,695,1.842,698,1.158,699,2.561,700,3.36,701,1.851,702,2.976,703,3.837,704,2.853,706,3.615,707,3.425,711,2.242,712,1.842,806,0.784,825,2.386,833,1.851,835,2.503,864,1.796,886,1.124,894,2.171,901,0.977,934,1.158,936,1.49,937,1.374,944,2.313,965,3.3,986,1.49,987,1.796,992,1.091,1020,2.775,1021,3.456,1023,2.284,1037,2.284,1038,2.382,1046,3.81,1100,1.853,1101,2.465,1464,2.642,1472,4.507,1481,2.493,1485,2.284,1511,1.851,1513,2.386,1514,2.313,1515,3.399,1516,3.552,1517,2.566,1519,2.913,1520,2.115,1521,2.465,1534,1.851,1536,2.382,1537,2.944,1544,1.639,1556,2.313,1557,2.493,1560,2.976,1572,3.114,1632,1.639,1635,1.842,1636,2.726,1644,1.842,1653,1.429,1654,1.49,1674,3.456,1723,2.042,1829,3.717,1843,1.981,1936,1.56,1939,1.49,1942,3.272,1982,2.664,2006,1.313,2046,1.952,2072,3.166,2087,1.49,2368,2.55,2635,5.268,2675,2.465,2682,3.519,2684,3.185,2687,2.853,2691,2.853,2692,2.853,2892,2.167,3044,4.231,3046,1.842,3119,4.327,3130,3.464,3132,3.955,3139,1.981,3182,3.166,3248,1.639,3273,1.981,3274,4.327,3275,3.464,3294,2.167,3302,1.981,3308,3.955,3309,3.955,3311,4.327,3359,4.89,3360,4.89,3361,4.89,3362,4.89,3363,4.89,3364,4.89,3365,4.89,3366,2.449,3367,7.671,3368,2.449,3369,2.449,3370,3.915,3371,2.449,3372,2.449,3373,3.464,3374,2.449,3375,3.915,3376,3.915,3377,2.449,3378,2.449,3379,2.449,3380,3.915,3381,2.449,3382,2.449,3383,2.449,3384,3.166,3385,2.449,3386,2.449,3387,2.449,3388,6.108,3389,2.449,3390,2.449,3391,2.449,3392,2.449,3393,2.449,3394,7.102,3395,2.449,3396,5.586,3397,3.915,3398,3.915,3399,3.915,3400,3.915,3401,3.915,3402,2.449,3403,2.449,3404,2.449,3405,2.449,3406,2.449,3407,2.449,3408,2.449,3409,2.449,3410,2.449,3411,3.464,3412,2.449,3413,2.449,3414,2.449,3415,2.449,3416,2.449,3417,2.449,3418,2.449]],["title/interfaces/SpatialSearchUiModel.html",[156,0.743,2686,2.618]],["body/interfaces/SpatialSearchUiModel.html",[0,0.069,1,1.466,3,0.097,4,0.063,5,0.046,6,0.035,7,1.023,8,1.261,9,1.939,11,0.224,12,0.518,13,1.252,14,0.824,15,0.644,16,0.613,18,2.75,20,0.895,21,2.336,25,0.009,26,0.39,27,1.393,30,1.083,31,2.405,33,0.199,34,0.504,35,0.795,36,1.466,37,1.192,38,1.334,41,0.143,45,1.102,48,1.539,49,1.375,51,0.003,52,0.004,53,0.003,83,1.737,89,0.224,108,0.91,150,1.769,156,1.016,158,1.023,166,1.505,179,0.999,181,2.258,187,3.251,189,0.953,192,1.075,207,1.571,216,1.466,219,1.696,220,1.631,221,1.851,234,0.713,252,0.85,256,1.16,265,2.777,269,0.668,278,0.925,285,1.658,295,1.877,299,2.42,312,0.986,317,1.851,318,1.607,349,1.419,361,1.075,366,1.631,386,1.698,390,2.765,392,2.765,393,2.507,394,2.447,402,1.102,403,3.064,408,1.895,452,1.099,479,1.334,480,1.334,481,1.295,482,1.075,483,1.375,528,1.13,597,0.562,639,2.258,641,1.466,642,1.375,644,1.737,678,1.419,679,1.375,711,0.85,764,3.56,769,1.334,894,2.354,974,3.135,1020,2.071,1095,1.571,1100,2.855,1101,3.094,1113,1.571,1115,2.849,1116,2.42,1129,3.867,1156,2.336,1262,2.512,1266,1.516,1277,1.769,1341,2.186,1511,2.118,1517,2.52,1566,1.696,1651,2.42,1723,2.336,1979,1.836,1982,0.889,1983,1.631,2006,0.975,2032,1.192,2034,3.12,2036,1.192,2038,1.836,2039,1.224,2040,2.301,2041,1.836,2042,3.796,2043,1.836,2044,1.836,2046,1.16,2047,1.836,2048,1.192,2049,2.949,2050,1.996,2368,3.457,2667,1.851,2668,1.945,2669,1.851,2670,3.908,2671,1.945,2672,4.959,2673,1.945,2674,3.187,2675,3.094,2676,2.997,2677,1.945,2678,2.997,2679,1.945,2680,1.851,2681,1.851,2682,4.264,2683,2.852,2684,1.516,2685,1.851,2686,3.187,2687,4.395,2688,4.256,2689,4.221,2690,4.435,2691,3.867,2692,3.867,2693,5.04,2694,1.769,2695,1.945,2696,1.571,2697,1.851,2698,1.945,2699,1.945,2700,2.997,2701,1.769,2702,1.945,2703,1.945,2704,1.945,2705,1.945,2706,1.945,2707,1.945,2708,1.945,2709,4.44,2710,3.655,2711,2.997,2712,2.852,2713,2.997,2714,5.04,2715,1.945,2716,5.04,2717,1.945,2718,1.945,2719,1.945,2720,1.945,2721,5.28,2722,1.945,2723,1.945,2724,4.107,2725,2.997,2726,1.945,2727,1.945,2728,1.945,2729,2.726,2730,1.945,2731,1.945,2732,1.945,2733,1.945,2734,1.945,2735,3.655,2736,3.908,2737,1.851,2738,1.851,2739,1.851,2740,3.655,2741,1.945,2742,1.945,2743,1.945,2744,3.655,2745,1.945,2746,1.945,2747,4.107,2748,2.997,2749,1.945,2750,1.945,2751,1.945,2752,1.945,2753,1.945,2754,1.945,2755,1.945,2756,1.945,2757,1.945,2758,2.997,2759,1.945,2760,1.945,2761,1.945,2762,1.945,2763,1.945,2764,1.945,2765,1.945,2766,1.945,2767,1.945,2768,1.851,2769,1.945,2770,1.945,2771,1.945,2772,1.945,2773,2.726,2774,1.945,2775,1.945,2776,1.945,2777,1.945,2778,1.945,2779,1.945,2780,2.997,2781,1.945,2782,2.997,2783,1.945,2784,1.945,2785,1.945,2786,1.945,2787,1.945,2788,1.945,2789,1.945,2790,1.945,2791,1.696,2792,1.945,2793,1.945,2794,1.945,2795,1.769,2796,1.945,2797,1.945,2798,1.945,2799,1.945,2800,1.945,2801,1.945,2802,1.945,2803,1.945,2804,1.945,2805,1.945,2806,1.769,2807,1.945,2808,1.945,2809,1.945,2810,1.851,2811,1.851,2812,1.851,2813,1.851]],["title/modules/SpatialSearchUiModule.html",[54,1.342,3358,3.172]],["body/modules/SpatialSearchUiModule.html",[0,0.091,3,0.105,4,0.129,5,0.094,6,0.071,8,1.307,25,0.009,30,1.144,33,0.217,34,0.671,41,0.129,51,0.005,52,0.007,53,0.005,56,1.781,57,2.211,72,2.368,73,1.43,74,1.63,76,2.603,78,2.424,88,2.368,89,0.46,92,3.393,93,2.58,104,6.543,105,6.543,108,1.864,196,4.481,473,2.211,596,2.262,597,1.43,601,2.896,605,1.781,612,1.781,720,2.541,721,2.667,722,2.047,1949,4.501,1950,3.626,1982,1.822,2912,3.476,3044,2.908,3266,6.229,3307,5.272,3358,6.609,3419,5.272,3420,5.272,3421,5.272,3422,5.272,3423,6.435,3424,6.229,3425,7.396,3426,5.958,3427,7.396,3428,5.958,3429,7.396,3430,5.958,3431,4.481,3432,4.481,3433,5.958,3434,4.481,3435,5.958]],["title/classes/SpatialSearchUiSelectors.html",[0,0.069,3083,3.172]],["body/classes/SpatialSearchUiSelectors.html",[0,0.047,2,1.163,3,0.054,4,0.066,5,0.048,6,0.105,7,3.077,8,1.399,11,0.237,12,0.539,13,2.62,14,0.758,15,0.667,18,2.643,20,0.868,22,1.345,24,1.783,25,0.009,26,1.16,27,1.367,28,0.519,29,0.497,30,0.474,33,0.175,34,0.636,35,0.839,36,1.546,37,1.257,38,1.407,41,0.066,45,2.392,51,0.003,52,0.004,53,0.003,79,1.222,82,2.015,108,0.96,150,1.383,166,1.145,179,1.054,180,5.097,207,1.657,234,0.752,256,1.224,260,1.292,265,1.987,278,0.519,285,1.926,295,2.488,315,1.862,318,1.479,355,1.292,386,2.05,390,2.818,392,2.904,393,2.591,394,2.57,408,2.5,479,1.407,480,1.407,481,1.367,482,1.134,483,1.451,490,2.488,597,0.593,605,0.917,644,1.687,699,2.276,758,2.971,764,2.756,806,2.725,894,2.246,1100,2.141,1101,2.847,1341,3.739,1511,1.451,1517,2.091,1651,1.657,1723,1.6,1982,2.675,2042,2.021,2368,2.433,2674,4.67,2675,4.325,2680,1.953,2682,3.669,2683,1.953,2684,3.877,2685,4.019,2686,5.345,2687,2.722,2688,2.722,2689,1.953,2691,2.722,2692,2.722,2696,1.657,2697,5.181,2712,1.953,2736,1.953,2737,2.971,2738,2.971,2739,2.971,2768,4.554,2810,1.953,2811,1.953,2812,1.953,2813,1.953,2938,3.774,2974,2.481,3083,3.298,3192,5.584,3248,2.052,3259,4.568,3308,3.774,3309,3.774,3367,2.714,3436,2.714,3437,7.082,3438,4.666,3439,4.666,3440,5.648,3441,3.067,3442,4.666,3443,7.199,3444,3.067,3445,4.666,3446,3.067,3447,4.666,3448,3.067,3449,4.666,3450,3.067,3451,2.714,3452,4.666,3453,3.067,3454,4.666,3455,3.067,3456,4.666,3457,3.067,3458,4.666,3459,3.067,3460,4.666,3461,3.067,3462,4.666,3463,3.067,3464,4.666,3465,3.067,3466,3.067,3467,4.666,3468,3.067,3469,4.666,3470,3.067,3471,4.666,3472,3.067,3473,4.666,3474,3.067,3475,4.666,3476,3.067,3477,3.067,3478,3.067,3479,3.067,3480,3.067,3481,4.666,3482,3.067,3483,3.067,3484,3.067,3485,3.067,3486,3.067,3487,3.067,3488,3.067,3489,3.067,3490,3.067,3491,3.067,3492,3.067,3493,3.067,3494,3.067,3495,2.714,3496,3.067,3497,3.067,3498,3.067,3499,3.067,3500,3.067,3501,3.067,3502,3.067,3503,3.067,3504,3.067,3505,3.067,3506,4.666,3507,3.067,3508,3.067,3509,3.067,3510,3.067,3511,3.067,3512,3.067,3513,3.067,3514,3.067,3515,3.067,3516,3.067,3517,3.067,3518,3.067]],["title/injectables/SpatialSearchUiState.html",[452,1.101,2696,2.425]],["body/injectables/SpatialSearchUiState.html",[0,0.06,1,1.243,3,0.087,4,0.053,5,0.039,6,0.097,7,2.866,8,1.381,9,1.704,11,0.19,13,1.568,14,0.753,15,0.629,16,0.83,18,2.714,20,0.835,21,2.053,22,1.245,24,1.661,25,0.009,26,1.094,27,1.274,30,1.101,31,2.244,33,0.192,34,0.443,35,0.675,36,1.243,37,1.011,38,1.132,41,0.132,45,0.935,48,1.927,49,1.166,51,0.002,52,0.004,53,0.002,79,1.031,82,1.866,83,1.87,89,0.19,108,0.772,150,1.742,156,0.929,166,1.205,179,0.847,181,2.827,187,3.539,189,0.808,192,0.911,207,1.332,216,1.243,219,1.439,220,1.383,221,1.57,234,0.605,252,1.151,256,0.984,265,2.795,269,0.567,278,0.95,285,1.568,295,1.998,299,2.127,312,1.082,317,2.507,318,1.71,349,1.921,361,1.455,366,2.208,386,1.57,390,2.598,392,2.598,393,2.254,394,2.3,402,0.935,403,3.845,408,2.301,452,0.966,453,1.243,479,1.132,480,1.132,481,1.099,482,0.911,483,1.166,528,0.959,597,0.761,639,2.827,641,2.477,642,1.166,644,1.568,678,1.203,679,1.166,711,0.721,764,2.397,769,1.132,806,2.505,894,2.262,974,3.559,1020,1.862,1095,1.332,1100,2.125,1101,1.984,1113,1.332,1115,2.562,1116,2.127,1129,3.576,1156,2.053,1262,2.208,1266,1.286,1277,1.501,1341,2.737,1511,1.862,1517,2.428,1566,1.439,1651,2.127,1723,2.053,1979,2.677,1982,2.491,1983,1.383,2006,0.827,2032,2.013,2034,3.353,2036,2.013,2038,2.677,2039,1.039,2040,2.069,2041,2.677,2042,3.678,2043,2.677,2044,2.677,2046,1.961,2047,2.677,2048,2.013,2049,2.998,2050,1.754,2368,2.053,2667,1.57,2668,1.65,2669,1.57,2670,4.534,2671,1.65,2672,5.458,2673,1.65,2674,3.811,2675,1.984,2676,2.634,2677,1.65,2678,2.634,2679,1.65,2680,1.57,2681,1.57,2682,3.311,2683,2.507,2684,1.286,2685,1.57,2686,3.272,2687,3.576,2688,3.272,2689,2.507,2690,2.634,2691,2.297,2692,2.297,2693,4.1,2694,1.501,2695,1.65,2696,2.127,2697,1.57,2698,1.65,2699,2.634,2700,2.634,2701,1.501,2702,1.65,2703,1.65,2704,1.65,2705,1.65,2706,1.65,2707,2.634,2708,2.634,2709,4.172,2710,3.287,2711,2.634,2712,2.507,2713,2.634,2714,4.764,2715,1.65,2716,4.764,2717,1.65,2718,2.634,2719,2.634,2720,2.634,2721,5.035,2722,1.65,2723,1.65,2724,3.752,2725,2.634,2726,1.65,2727,1.65,2728,1.65,2729,2.395,2730,1.65,2731,1.65,2732,1.65,2733,2.634,2734,2.634,2735,3.287,2736,3.571,2737,1.57,2738,1.57,2739,1.57,2740,3.287,2741,1.65,2742,1.65,2743,1.65,2744,3.287,2745,1.65,2746,1.65,2747,3.752,2748,2.634,2749,1.65,2750,1.65,2751,1.65,2752,1.65,2753,1.65,2754,1.65,2755,2.634,2756,2.634,2757,1.65,2758,2.634,2759,2.634,2760,2.634,2761,1.65,2762,2.634,2763,2.634,2764,1.65,2765,1.65,2766,1.65,2767,1.65,2768,1.57,2769,1.65,2770,2.634,2771,2.634,2772,1.65,2773,2.395,2774,2.634,2775,2.634,2776,1.65,2777,1.65,2778,2.634,2779,2.634,2780,2.634,2781,1.65,2782,2.634,2783,1.65,2784,1.65,2785,1.65,2786,1.65,2787,1.65,2788,1.65,2789,1.65,2790,2.634,2791,2.297,2792,2.634,2793,2.634,2794,1.65,2795,1.501,2796,1.65,2797,1.65,2798,1.65,2799,1.65,2800,1.65,2801,1.65,2802,1.65,2803,1.65,2804,2.634,2805,2.634,2806,2.395,2807,2.634,2808,2.634,2809,2.634,2810,1.57,2811,1.57,2812,1.57,2813,1.57,3204,6.799,3437,3.483,3443,2.182,3519,3.936,3520,2.466,3521,2.466,3522,2.466,3523,2.466,3524,2.466,3525,2.466,3526,2.466,3527,2.466,3528,2.466,3529,2.466,3530,2.466,3531,2.466,3532,2.466,3533,2.466,3534,2.466]],["title/components/SpinnerOverlayComponent.html",[169,0.663,602,1.404]],["body/components/SpinnerOverlayComponent.html",[0,0.125,3,0.079,4,0.097,5,0.07,6,0.094,8,1.231,11,0.473,12,0.708,14,0.939,15,0.581,20,0.894,22,1.164,25,0.009,26,0.823,27,1.191,28,1.184,29,1.132,30,1.29,33,0.105,34,1.063,41,0.097,50,1.882,51,0.004,52,0.005,53,0.005,61,1.398,62,1.398,74,1.676,89,0.345,111,1.027,138,5.93,166,1.096,167,1.499,169,1.164,222,1.366,224,1.366,228,1.676,231,1.999,234,2.306,235,2.105,237,2.209,239,2.056,240,2.056,242,2.008,255,1.913,264,2.382,275,1.464,289,5.833,290,2.929,386,1.57,394,1.499,420,1.535,425,2.382,473,1.336,477,2.99,489,1.535,490,1.366,494,1.499,496,1.398,498,2.445,523,2.65,552,1.535,553,2.467,554,1.917,555,1.535,556,2.585,557,1.535,558,1.535,559,1.535,560,1.398,561,1.535,562,1.398,563,1.535,564,1.398,565,2.105,566,1.398,567,1.431,568,1.535,569,1.535,570,1.398,571,1.535,572,1.398,573,1.499,574,1.535,575,1.398,576,1.874,577,1.535,578,1.398,579,1.535,580,1.398,581,2.105,582,1.398,583,1.535,584,1.431,585,1.535,586,1.398,587,1.535,588,1.398,589,1.464,590,1.398,591,1.249,592,2.402,593,1.398,594,1.535,595,1.398,596,1.874,597,1.185,598,1.398,599,2.105,600,1.398,601,1.398,602,2.354,603,1.535,604,1.398,605,1.336,606,1.535,607,2.105,608,1.398,609,1.499,610,1.535,611,1.398,612,1.832,613,1.398,614,1.398,615,1.535,616,1.398,617,1.306,618,1.535,619,1.398,620,1.535,621,1.535,622,1.611,624,1.736,669,3.729,689,3.311,699,1.611,700,2.05,701,2.113,706,2.58,707,2.506,711,1.306,806,1.431,825,3.413,833,2.898,835,1.831,864,2.811,886,2.05,894,1.17,934,2.113,937,2.506,944,2.898,987,2.811,992,3.628,1020,1.693,1023,2.607,1027,4.1,1449,5.421,1513,2.18,1519,2.33,1521,3.089,1535,4.655,1554,2.414,1610,3.575,1621,2.719,1636,2.18,1642,4.331,1753,6.187,1829,2.719,1939,2.719,2955,5.035,3535,6.377,3536,3.953,3537,6.128,3538,6.993,3539,6.128,3540,4.468,3541,6.128,3542,4.468,3543,6.128,3544,6.128,3545,4.468,3546,4.468,3547,4.468]],["title/modules/SpinnerOverlayModule.html",[54,1.342,70,3.172]],["body/modules/SpinnerOverlayModule.html",[0,0.103,3,0.119,4,0.145,5,0.106,6,0.08,25,0.008,33,0.207,41,0.145,51,0.006,52,0.007,53,0.006,56,2.008,57,2.378,70,6.472,72,2.546,73,1.612,74,1.837,76,2.798,78,2.201,88,2.546,89,0.518,138,5.051,290,2.546,602,2.939,720,2.732,721,2.867,722,2.307,3535,5.432,3548,5.942,3549,5.942,3550,5.942,3551,6.716,3552,7.036,3553,5.942,3554,6.716]],["title/classes/StartSpatialSearchFlow.html",[0,0.069,2036,1.839]],["body/classes/StartSpatialSearchFlow.html",[0,0.139,2,2.101,3,0.098,4,0.12,5,0.087,6,0.084,7,2.487,8,1.359,11,0.428,12,0.817,13,2.576,14,1.237,15,0.714,18,2.162,20,0.904,22,0.857,25,0.009,28,0.939,29,0.897,30,1.267,32,2.4,33,0.131,34,0.624,41,0.197,42,3.971,47,3.052,51,0.005,52,0.006,53,0.005,73,1.697,260,2.335,265,1.951,269,1.274,312,1.221,315,2.212,390,2.101,392,2.101,394,1.86,402,2.101,408,1.585,597,1.072,644,1.804,653,3.449,894,2.145,901,3.105,1100,2.679,1517,2.275,1979,2.272,1982,2.162,2006,2.371,2032,2.272,2033,2.891,2034,4.085,2036,2.897,2037,3.686,2038,2.272,2039,2.335,2040,2.335,2041,2.272,2042,2.4,2043,2.272,2044,2.272,2045,2.995,2046,2.212,2047,2.272,2048,2.272,2049,2.335,2050,3.149,3555,5.544]],["title/modules/StoreModule.html",[54,1.342,1055,3.172]],["body/modules/StoreModule.html",[0,0.091,3,0.105,4,0.128,5,0.093,6,0.088,8,1.268,9,2.565,25,0.009,30,1.14,33,0.22,34,0.667,40,3.604,41,0.159,51,0.005,52,0.007,53,0.005,54,1.771,56,1.771,78,1.941,88,2.359,89,0.457,108,2.306,116,3.963,150,1.145,175,3.381,176,3.963,177,3.456,179,2.035,182,5.208,197,3.963,198,3.963,210,3.981,212,4.299,214,3.772,215,4.455,216,3.715,242,1.941,312,1.304,355,2.494,403,3.322,404,2.718,432,4.791,726,3.322,771,3.981,975,3.456,1055,5.208,1323,3.2,1982,1.811,2087,3.604,2096,4.455,2104,4.93,2348,4.186,2349,4.186,2681,3.772,2696,3.981,3153,4.692,3244,4.791,3248,3.963,3373,5.24,3556,4.791,3557,5.923,3558,5.24,3559,5.923,3560,5.923,3561,5.24,3562,7.097,3563,5.923,3564,6.519,3565,5.923,3566,4.791,3567,5.923,3568,5.24,3569,4.791,3570,5.923,3571,5.923,3572,5.923,3573,5.923,3574,5.923,3575,5.923,3576,5.923,3577,7.369,3578,5.923,3579,5.923,3580,5.923,3581,5.923,3582,5.923,3583,5.923,3584,5.923,3585,5.923,3586,5.923]],["title/components/TermOccurrenceListComponent.html",[169,0.663,604,1.404]],["body/components/TermOccurrenceListComponent.html",[0,0.104,3,0.131,4,0.092,5,0.067,6,0.096,8,1.27,11,0.33,12,0.686,14,0.917,15,0.599,20,0.992,22,1.2,25,0.009,26,0.797,28,1.156,29,1.105,30,1.274,33,0.14,34,1.06,41,0.092,51,0.004,52,0.005,53,0.005,61,1.336,62,1.336,89,0.33,111,0.982,162,2.491,167,1.433,169,1.145,218,2.491,222,1.306,224,1.306,228,1.624,231,1.952,234,2.299,235,2.04,237,2.141,239,1.992,240,1.992,255,1.868,275,1.399,290,1.367,368,1.704,373,2.309,386,1.094,397,3.614,404,3.854,420,2.04,422,2.809,473,1.277,482,1.578,489,1.467,490,1.306,494,1.433,496,1.336,498,2.37,523,2.797,552,1.467,553,1.858,554,1.858,555,1.467,556,2.536,557,1.467,558,1.467,559,1.467,560,1.336,561,1.467,562,1.336,563,1.467,564,1.336,565,2.04,566,1.336,567,1.367,568,1.467,569,1.467,570,1.336,571,1.467,572,1.336,573,1.433,574,1.467,575,1.336,576,1.816,577,1.467,578,1.336,579,1.467,580,1.336,581,2.04,582,1.336,583,1.467,584,1.367,585,1.467,586,1.336,587,1.467,588,1.336,589,1.399,590,1.336,591,1.194,592,2.346,593,1.336,594,1.467,595,1.336,596,1.816,597,1.148,598,1.336,599,2.04,600,1.336,601,1.336,602,1.336,603,1.467,604,2.309,605,2.698,606,2.83,607,2.04,608,1.336,609,1.433,610,1.467,611,1.336,612,1.776,613,1.336,614,2.136,615,1.467,616,1.336,617,1.248,618,1.467,619,1.336,620,1.467,621,1.467,622,1.54,624,0.94,673,4.198,699,2.141,700,3.559,701,2.809,703,3.689,706,2.501,806,1.367,825,3.332,833,2.809,835,2.434,864,2.725,886,1.959,934,2.02,936,3.614,965,3.689,987,1.959,1023,3.465,1184,4.466,1464,2.307,1514,3.491,1515,3.614,1516,2.809,1517,1.248,1519,3.097,1534,2.02,1535,3.209,1536,5.112,1556,2.02,1572,3.782,1598,4.803,1599,4.803,1636,3.332,1936,2.719,1939,2.599,1982,1.306,2392,2.719,2684,3.561,3248,2.857,3431,6.04,3432,6.04,3451,5.254,3587,6.495,3588,3.778,3589,6.828,3590,5.939,3591,6.828,3592,6.828,3593,4.27,3594,4.27,3595,5.939,3596,4.27,3597,5.254,3598,5.254,3599,5.939,3600,5.939,3601,5.939,3602,5.939,3603,5.939,3604,3.778,3605,4.27]],["title/modules/TermOccurrenceListModule.html",[54,1.342,3423,3.172]],["body/modules/TermOccurrenceListModule.html",[0,0.1,3,0.116,4,0.141,5,0.103,6,0.078,25,0.009,33,0.215,41,0.141,51,0.006,52,0.007,53,0.006,56,1.958,57,2.342,72,2.508,73,1.572,74,1.791,76,2.757,78,2.146,88,2.508,89,0.506,92,3.595,93,2.836,97,5.537,98,4.629,604,2.931,605,1.958,720,2.691,721,2.825,722,2.25,1631,3.821,1666,5.892,1667,4.925,1668,5.892,1669,4.925,3423,6.44,3431,4.925,3432,4.925,3587,5.297,3606,5.794,3607,5.794,3608,5.794,3609,6.549,3610,6.549]],["title/interfaces/TermResult.html",[156,0.743,2684,2.34]],["body/interfaces/TermResult.html",[0,0.071,1,1.548,3,0.1,4,0.066,5,0.048,6,0.037,7,1.081,8,1.275,9,2.022,11,0.237,12,0.54,13,1.306,14,0.848,15,0.488,16,0.648,18,2.724,20,0.98,21,2.436,25,0.009,26,0.412,30,1.107,31,2.458,33,0.201,34,0.526,35,0.84,36,1.548,37,1.259,38,1.409,41,0.147,45,2.394,48,1.605,49,1.452,51,0.003,52,0.004,53,0.003,83,1.763,89,0.237,108,0.961,150,1.777,156,1.046,158,1.081,166,1.146,179,1.055,181,2.355,187,3.314,189,1.006,192,1.135,207,1.659,216,1.548,219,1.792,220,1.722,221,1.956,234,0.753,252,0.898,256,2.52,265,2.818,269,0.706,278,0.957,285,1.688,295,1.931,299,2.524,312,1.028,317,1.956,318,1.653,349,1.499,361,1.135,366,1.722,386,1.74,390,2.819,392,2.819,393,2.593,394,2.495,402,1.164,403,3.17,408,1.942,452,1.146,479,1.409,480,1.409,481,1.368,482,1.135,483,1.452,528,1.194,597,0.594,639,2.355,641,1.548,642,1.452,644,1.763,678,1.499,679,1.452,711,0.898,764,2.758,769,1.409,894,2.313,974,3.213,1020,2.142,1095,1.659,1100,2.394,1101,2.355,1113,1.659,1115,2.947,1116,2.524,1129,3.964,1156,2.436,1262,2.619,1266,1.602,1277,1.869,1341,2.279,1511,2.209,1517,2.489,1566,1.792,1651,2.524,1723,2.436,1979,1.914,1982,0.939,1983,1.722,2006,1.03,2032,1.259,2034,3.188,2036,1.259,2038,1.914,2039,1.293,2040,2.38,2041,1.914,2042,3.766,2043,1.914,2044,1.914,2046,1.226,2047,1.914,2048,1.259,2049,3.013,2050,2.081,2368,2.436,2667,1.956,2668,2.055,2669,1.956,2670,4.021,2671,2.055,2672,5.022,2673,2.055,2674,3.297,2675,2.355,2676,3.125,2677,2.055,2678,3.125,2679,2.055,2680,1.956,2681,1.956,2682,3.671,2683,2.974,2684,2.436,2685,4.021,2686,2.725,2687,3.964,2688,3.685,2689,2.974,2690,3.125,2691,2.725,2692,2.725,2693,4.546,2694,1.869,2695,2.055,2696,1.659,2697,1.956,2698,2.055,2699,2.055,2700,3.125,2701,1.869,2702,2.055,2703,2.055,2704,2.055,2705,2.055,2706,2.055,2707,2.055,2708,2.055,2709,4.526,2710,3.782,2711,3.125,2712,2.974,2713,3.125,2714,5.128,2715,2.055,2716,5.128,2717,2.055,2718,2.055,2719,2.055,2720,2.055,2721,5.357,2722,2.055,2723,2.055,2724,4.225,2725,3.125,2726,2.055,2727,2.055,2728,2.055,2729,2.842,2730,2.055,2731,2.055,2732,2.055,2733,2.055,2734,2.055,2735,3.782,2736,4.021,2737,1.956,2738,1.956,2739,1.956,2740,3.782,2741,2.055,2742,2.055,2743,2.055,2744,3.782,2745,2.055,2746,2.055,2747,4.225,2748,3.125,2749,2.055,2750,2.055,2751,2.055,2752,2.055,2753,2.055,2754,2.055,2755,2.055,2756,2.055,2757,2.055,2758,3.125,2759,2.055,2760,2.055,2761,2.055,2762,2.055,2763,2.055,2764,2.055,2765,2.055,2766,2.055,2767,2.055,2768,1.956,2769,2.055,2770,2.055,2771,2.055,2772,2.055,2773,2.842,2774,2.055,2775,2.055,2776,2.055,2777,2.055,2778,2.055,2779,2.055,2780,3.125,2781,2.055,2782,3.125,2783,2.055,2784,2.055,2785,2.055,2786,2.055,2787,2.055,2788,2.055,2789,2.055,2790,2.055,2791,1.792,2792,2.055,2793,2.055,2794,2.055,2795,1.869,2796,2.055,2797,2.055,2798,2.055,2799,2.055,2800,2.055,2801,2.055,2802,2.055,2803,2.055,2804,2.055,2805,2.055,2806,1.869,2807,2.055,2808,2.055,2809,2.055,2810,1.956,2811,1.956,2812,1.956,2813,1.956]],["title/modules/ThemingModule.html",[54,1.342,1056,3.172]],["body/modules/ThemingModule.html",[0,0.105,3,0.122,4,0.148,5,0.108,6,0.082,25,0.008,33,0.19,41,0.148,51,0.006,52,0.007,53,0.006,56,2.055,57,2.41,72,2.581,73,1.65,74,1.88,88,2.581,89,0.531,141,4.703,142,5.168,143,5.558,202,6.097,269,1.58,1056,6.44,3611,6.08,3612,6.08,3613,6.872,3614,8.061,3615,6.872,3616,6.872,3617,6.872]],["title/injectables/ThemingService.html",[202,3.003,452,1.101]],["body/injectables/ThemingService.html",[0,0.135,3,0.074,4,0.09,5,0.066,6,0.105,11,0.322,12,0.675,13,1.885,15,0.655,16,0.88,20,1.144,22,1.344,24,1.587,25,0.009,26,1.033,27,1.322,28,1.414,29,0.675,32,3.616,33,0.138,41,0.126,44,5.634,47,2.107,51,0.004,52,0.005,53,0.004,79,1.53,82,1.872,83,1.893,84,3.373,85,2.948,87,5.754,89,0.322,111,0.959,114,3.137,145,6.252,150,1.615,153,3.69,169,1.177,170,5.634,202,3.909,228,1.598,264,2.272,278,1.142,285,1.609,289,3.909,309,2.007,311,2.352,314,6.619,318,2.343,349,2.851,366,3.276,405,5.588,448,2.656,452,1.433,453,2.103,497,2.433,554,2.561,624,1.609,643,2.552,668,5.784,853,2.763,870,3.69,895,3.69,896,3.373,1081,3.69,1143,3.72,1284,4.394,1534,1.973,1715,3.69,1749,5.169,2011,3.137,2110,4.446,2128,3.373,2382,2.948,2383,2.791,2389,2.791,2623,3.373,2791,3.408,2955,5.588,2993,5.909,3618,3.373,3619,5.842,3620,8.185,3621,5.842,3622,7.306,3623,7.306,3624,5.842,3625,4.171,3626,4.171,3627,5.842,3628,4.171,3629,5.169,3630,7.691,3631,4.171,3632,5.842,3633,7.306,3634,4.171,3635,5.842,3636,5.842,3637,5.842,3638,4.171,3639,5.842,3640,4.171,3641,5.842,3642,4.171,3643,4.171,3644,4.171,3645,4.171,3646,4.171,3647,4.171,3648,3.69,3649,4.171,3650,4.171,3651,4.171,3652,4.171,3653,7.306,3654,4.171,3655,4.171,3656,4.171,3657,4.171,3658,4.171,3659,5.842,3660,4.171,3661,4.171,3662,4.171,3663,4.171,3664,4.171,3665,4.171,3666,4.171,3667,4.171]],["title/components/ThumbnailCarouselComponent.html",[169,0.663,608,1.404]],["body/components/ThumbnailCarouselComponent.html",[0,0.11,3,0.055,4,0.067,5,0.049,6,0.097,8,1.083,11,0.361,12,0.541,14,1.122,15,0.575,20,0.952,22,1.239,24,0.636,25,0.009,26,0.76,27,0.487,28,1.213,29,1.101,30,1.152,33,0.149,34,1.04,35,0.843,41,0.067,45,2.397,50,2.865,51,0.005,52,0.004,53,0.004,61,0.964,62,0.964,74,1.281,79,1.226,82,1.598,89,0.238,111,0.708,150,0.596,167,1.033,169,0.836,222,0.942,224,0.942,227,2.529,228,1.281,231,1.619,234,2.252,235,1.608,237,1.688,239,1.571,240,1.571,242,1.534,255,1.549,266,6.679,269,1.076,273,4.476,275,1.009,278,0.522,285,1.498,290,0.986,310,1.571,311,1.432,312,1.498,368,2.26,373,1.198,386,2.013,393,2.148,394,1.033,420,2.173,425,2.645,437,4.332,473,0.921,477,2.285,481,2.818,482,1.73,489,1.058,490,0.942,494,1.033,496,0.964,498,1.868,523,1.774,544,2.317,552,1.058,553,2.241,554,1.465,555,1.058,556,2.173,557,1.058,558,1.058,559,1.058,560,0.964,561,1.058,562,0.964,563,1.058,564,0.964,565,1.608,566,0.964,567,1.813,568,1.058,569,1.058,570,0.964,571,1.058,572,0.964,573,1.033,574,1.058,575,0.964,576,1.432,577,1.058,578,0.964,579,1.058,580,0.964,581,1.608,582,0.964,583,1.058,584,0.986,585,1.058,586,0.964,587,1.058,588,0.964,589,1.009,590,0.964,591,1.769,592,1.945,593,0.964,594,1.058,595,0.964,596,1.432,597,0.905,598,0.964,599,1.608,600,0.964,601,0.964,602,0.964,603,1.058,604,0.964,605,0.921,606,1.058,607,1.608,608,1.979,609,2.858,610,1.058,611,0.964,612,1.4,613,0.964,614,0.964,615,1.058,616,0.964,617,0.901,618,1.058,619,0.964,620,1.058,621,1.058,622,1.111,624,1.031,636,2.902,644,1.247,660,2.523,669,2.849,676,2.086,687,1.728,688,1.664,701,2.678,703,3.06,704,1.797,705,2.317,706,3.017,707,1.728,711,2.177,806,0.986,825,2.763,833,2.214,834,3.309,835,2.321,864,2.148,886,1.413,894,1.781,922,2.849,934,1.457,935,2.849,944,3.217,965,3.06,986,1.875,987,2.148,992,3.192,1000,2.626,1020,2.978,1021,3.309,1023,2.731,1027,3.132,1044,2.529,1046,3.835,1131,1.797,1464,3.06,1472,2.626,1503,4.142,1513,2.763,1514,2.678,1515,2.849,1516,2.678,1517,0.901,1519,2.441,1520,2.529,1521,2.855,1531,3.521,1534,2.214,1535,1.664,1538,2.177,1540,4.142,1541,3.176,1544,2.061,1545,2.317,1547,2.725,1554,3.06,1556,1.457,1560,3.446,1583,5.757,1617,3.786,1635,2.317,1636,2.763,1640,4.982,1642,3.309,1654,1.875,1673,3.521,1829,1.875,1841,3.786,1968,4.142,2079,2.492,2087,1.875,2378,5.262,2379,4.982,2385,4.028,2392,3.606,2479,4.142,2838,5.01,2955,2.061,3301,5.794,3411,5.01,3668,6.126,3669,2.492,3670,3.786,3671,4.142,3672,4.682,3673,5.663,3674,4.682,3675,5.502,3676,5.663,3677,4.682,3678,5.663,3679,5.663,3680,7.164,3681,3.081,3682,3.081,3683,4.682,3684,5.01,3685,4.682,3686,3.081,3687,4.682,3688,4.682,3689,4.682,3690,5.663,3691,4.682,3692,4.682,3693,4.682,3694,4.682,3695,4.682,3696,4.682,3697,3.081,3698,6.355,3699,5.663,3700,4.682,3701,4.682,3702,4.682,3703,4.682,3704,4.142,3705,4.682,3706,4.682,3707,4.682,3708,4.682,3709,4.682,3710,4.682,3711,3.081,3712,4.58,3713,3.081,3714,4.682,3715,3.081,3716,3.081,3717,4.142,3718,7.164,3719,3.081,3720,3.081,3721,3.081,3722,4.682,3723,4.682,3724,3.081,3725,4.682,3726,4.682,3727,4.682,3728,4.682,3729,3.081,3730,5.663,3731,3.081,3732,3.081,3733,3.081,3734,3.081,3735,3.081,3736,3.081,3737,3.081,3738,3.081]],["title/modules/ThumbnailCarouselModule.html",[54,1.342,1579,3.172]],["body/modules/ThumbnailCarouselModule.html",[0,0.099,3,0.115,4,0.14,5,0.102,6,0.077,16,1.367,25,0.009,33,0.214,41,0.14,51,0.006,52,0.007,53,0.006,56,2.328,57,2.328,72,2.493,73,1.556,74,1.773,76,2.74,78,2.124,88,2.493,89,0.5,92,3.572,93,2.807,608,2.927,609,2.174,720,2.675,721,2.807,722,2.227,1579,6.427,1583,4.581,1949,4.738,1950,3.944,3668,4.875,3675,5.242,3698,6.297,3739,5.734,3740,5.734,3741,5.734,3742,6.482,3743,7.786,3744,6.482,3745,6.482,3746,6.482,3747,6.482,3748,6.482]],["title/components/TissueBlockListComponent.html",[169,0.663,611,1.404]],["body/components/TissueBlockListComponent.html",[0,0.122,3,0.137,4,0.091,5,0.067,6,0.088,8,1.267,11,0.327,12,0.682,14,0.912,15,0.525,20,0.541,22,1.051,25,0.009,26,0.792,28,1.151,29,1.1,30,1.317,33,0.139,34,1.06,35,1.157,41,0.091,50,1.782,51,0.004,52,0.005,53,0.005,61,1.324,62,1.324,89,0.327,111,0.973,162,2.468,167,1.419,169,1.003,222,1.294,224,1.294,228,1.614,231,1.943,234,2.297,235,2.027,237,2.128,239,1.979,240,1.979,255,1.858,275,1.386,290,1.355,368,1.688,373,2.294,386,1.74,397,2.575,404,3.906,420,2.027,425,1.645,473,2.758,482,1.564,489,1.453,490,1.294,494,1.419,496,1.324,498,2.355,523,2.236,552,1.453,553,2.419,554,1.846,555,1.453,556,2.525,557,1.453,558,1.453,559,1.453,560,1.324,561,1.453,562,1.324,563,1.453,564,1.324,565,2.027,566,1.324,567,2.175,568,1.453,569,1.453,570,1.324,571,1.453,572,1.324,573,1.419,574,1.453,575,1.324,576,1.805,577,1.453,578,1.324,579,1.453,580,1.324,581,2.027,582,1.324,583,1.453,584,1.355,585,1.453,586,1.324,587,1.453,588,1.324,589,1.386,590,1.324,591,1.183,592,2.334,593,1.324,594,1.453,595,1.324,596,1.805,597,1.421,598,1.324,599,2.027,600,1.324,601,1.324,602,1.324,603,1.453,604,1.324,605,1.265,606,1.453,607,2.027,608,1.324,609,1.419,610,1.453,611,2.3,612,2.744,613,1.324,614,1.324,615,1.453,616,1.324,617,1.237,618,1.453,619,1.324,620,1.453,621,1.453,622,1.526,624,1.299,695,3.182,699,2.651,700,3.117,701,2.791,702,4.135,703,3.671,704,2.468,706,2.861,711,1.725,806,1.355,825,3.316,833,2.791,835,1.734,864,2.707,886,1.941,934,2.001,936,4.135,937,2.373,944,2.001,965,3.188,987,1.941,1020,2.575,1023,2.468,1101,3.425,1131,2.468,1323,2.286,1464,2.286,1500,4.772,1501,5.22,1502,5.22,1511,2.001,1512,2.575,1513,2.065,1514,3.213,1516,2.791,1517,1.237,1519,2.206,1520,2.286,1521,2.133,1531,3.182,1535,2.286,1536,3.591,1537,3.182,1538,2.99,1539,2.99,1541,2.373,1542,3.182,1543,3.422,1545,3.182,1556,2.001,1570,3.743,1571,3.743,1572,3.757,1573,3.743,1610,3.443,1636,3.316,1936,2.694,1939,2.575,1942,2.831,2368,3.543,3134,3.743,3384,5.946,3434,5.529,3604,3.743,3749,5.946,3750,3.743,3751,6.795,3752,5.901,3753,4.231,3754,5.901,3755,5.901,3756,4.231,3757,4.231]],["title/modules/TissueBlockListModule.html",[54,1.342,3424,3.172]],["body/modules/TissueBlockListModule.html",[0,0.101,3,0.117,4,0.143,5,0.104,6,0.079,25,0.009,33,0.21,41,0.143,51,0.006,52,0.007,53,0.006,56,1.981,57,2.359,72,2.526,73,1.591,74,1.813,76,2.776,78,2.172,88,2.526,89,0.512,92,3.62,93,2.87,97,5.576,98,4.684,473,2.519,611,2.935,612,1.981,720,2.71,721,2.845,722,2.277,3424,6.455,3434,4.984,3749,5.36,3758,5.863,3759,5.863,3760,5.863,3761,6.627,3762,6.627]],["title/components/TissueSectionVisComponent.html",[169,0.663,613,1.404]],["body/components/TissueSectionVisComponent.html",[0,0.122,3,0.074,4,0.09,5,0.066,6,0.095,8,1.205,11,0.521,12,0.675,14,0.905,15,0.594,20,0.533,22,1.189,24,0.861,25,0.009,26,1.07,27,0.66,28,0.989,29,0.946,30,1.266,33,0.138,34,1.059,35,1.141,41,0.09,51,0.004,52,0.005,53,0.005,61,1.305,62,1.305,79,1.53,82,1.584,89,0.322,111,0.959,166,1.433,167,1.399,169,0.996,222,1.276,224,1.276,228,1.598,231,1.928,234,2.295,235,2.007,237,2.107,239,1.96,240,1.96,242,1.367,252,2.136,255,1.844,256,2.332,264,2.272,269,0.959,275,1.367,285,1.286,290,1.335,312,1.286,355,2.46,368,2.332,373,2.622,386,1.871,390,1.581,393,1.914,394,1.96,420,2.007,422,2.763,425,2.272,473,1.247,477,3.29,482,1.542,489,1.433,490,1.276,494,1.399,496,1.305,498,2.332,523,2.556,552,1.433,553,2.406,554,1.828,555,1.433,556,2.51,557,1.433,558,1.433,559,1.433,560,1.305,561,1.433,562,1.305,563,1.433,564,1.305,565,2.007,566,1.305,567,1.335,568,1.433,569,1.433,570,1.305,571,1.433,572,1.305,573,1.399,574,1.433,575,1.305,576,1.787,577,1.433,578,1.305,579,1.433,580,1.305,581,2.007,582,1.305,583,1.433,584,1.335,585,1.433,586,1.305,587,1.433,588,1.305,589,1.367,590,1.305,591,1.166,592,2.316,593,1.305,594,1.433,595,1.305,596,1.787,597,1.129,598,1.305,599,2.007,600,1.305,601,1.305,602,1.305,603,1.433,604,1.305,605,1.247,606,1.433,607,2.007,608,1.305,609,1.399,610,1.433,611,1.305,612,2.702,613,2.286,614,2.911,615,1.433,616,1.305,617,1.219,618,1.433,619,1.305,620,1.433,621,1.433,622,1.504,644,1.802,698,1.973,699,2.107,700,2.681,706,2.839,711,1.971,806,1.335,833,2.763,835,1.709,864,2.681,886,1.914,894,1.53,902,3.408,934,1.973,935,2.538,1020,2.556,1444,5.076,1453,5.965,1514,3.189,1519,2.175,1534,1.973,1538,2.948,1539,2.948,1544,2.791,1554,2.254,1572,2.656,1586,5.995,1653,3.408,1942,4.511,2207,3.373,2806,3.555,3763,6.447,3764,3.69,3765,7.972,3766,6.743,3767,5.842,3768,5.842,3769,6.743,3770,7.691,3771,6.743,3772,4.171,3773,5.169,3774,5.169,3775,4.171,3776,5.842,3777,5.842,3778,5.842,3779,5.842,3780,5.842,3781,4.171,3782,5.842,3783,5.842,3784,5.842,3785,4.171,3786,4.171,3787,4.171,3788,4.171,3789,4.171,3790,4.171,3791,4.171]],["title/modules/TissueSectionVisModule.html",[54,1.342,1580,3.172]],["body/modules/TissueSectionVisModule.html",[0,0.103,3,0.119,4,0.146,5,0.106,6,0.081,25,0.008,33,0.2,41,0.146,51,0.006,52,0.007,53,0.006,56,2.016,57,2.383,72,2.552,73,1.618,74,1.844,76,2.805,78,2.21,88,2.552,89,0.521,612,2.016,613,2.941,614,2.655,720,2.738,721,2.874,722,2.316,1444,4.294,1580,6.477,1586,5.071,3763,5.453,3792,5.966,3793,5.966,3794,5.966,3795,6.743,3796,6.743]],["title/components/ToggleButtonComponent.html",[169,0.663,616,1.404]],["body/components/ToggleButtonComponent.html",[0,0.111,3,0.057,4,0.069,5,0.051,6,0.102,8,1.1,11,0.248,12,0.558,14,0.78,15,0.562,16,0.677,20,0.743,22,1.303,24,0.997,25,0.009,26,0.977,27,0.764,28,1.173,29,1.121,30,1.168,33,0.152,34,1.042,41,0.069,50,1.352,51,0.003,52,0.004,53,0.004,61,1.005,62,1.005,79,1.265,82,1.774,83,1.602,89,0.248,111,0.738,148,2.578,149,1.801,150,1.123,166,1.699,167,1.077,168,4.322,169,1.174,189,1.052,222,0.982,224,2.118,228,1.321,231,2.615,234,2.248,235,1.659,237,1.742,239,1.62,240,1.62,242,1.903,252,1.412,255,1.588,264,2.693,269,1.335,275,1.052,278,0.818,285,1.422,290,1.028,295,1.477,309,1.659,310,1.62,311,1.976,318,2.12,320,4.322,339,2.269,367,2.818,368,1.928,369,2.61,373,2.512,420,1.995,473,0.96,479,1.473,480,1.473,482,1.187,489,1.103,490,0.982,494,1.077,496,1.005,552,1.103,553,2.167,554,1.511,555,1.103,556,2.219,557,1.103,558,1.103,559,1.103,560,1.005,561,1.103,562,1.005,563,1.103,564,1.005,565,1.659,566,1.005,567,1.028,568,1.103,569,1.103,570,1.005,571,1.103,572,1.005,573,1.077,574,1.103,575,1.005,576,1.477,577,1.103,578,1.005,579,1.103,580,1.005,581,1.659,582,1.005,583,1.103,584,1.028,585,1.103,586,1.005,587,1.103,588,1.005,589,1.903,590,1.005,591,0.898,592,1.995,593,1.005,594,1.103,595,1.005,596,1.477,597,0.934,598,1.005,599,1.659,600,1.005,601,1.005,602,1.005,603,1.103,604,1.005,605,0.96,606,1.103,607,1.659,608,1.005,609,1.077,610,1.103,611,1.005,612,1.444,613,1.005,614,1.005,615,1.103,616,2.021,617,2.618,618,1.103,619,1.005,620,1.103,621,1.103,622,1.158,624,1.279,643,1.546,672,3.552,700,1.473,706,1.352,711,0.939,806,1.028,817,4.696,818,3.257,821,3.565,824,1.674,825,2.834,828,5.052,829,3.907,830,5.224,831,3.623,833,2.284,834,3.414,839,2.435,840,2.927,841,3.623,842,3.633,843,2.152,846,3.243,850,3.633,851,3.414,853,2.284,857,3.414,864,2.216,878,3.885,879,3.633,886,1.473,890,2.415,894,2.12,901,2.578,902,4.862,909,2.597,911,2.415,917,2.841,920,2.148,934,1.518,935,1.954,944,1.518,958,3.232,967,3.907,969,3.907,970,3.907,974,2.284,977,4.808,982,5.473,987,2.216,999,2.597,1005,2.044,1020,1.217,1044,2.61,1046,4.273,1323,4.295,1512,1.954,1513,1.567,1516,2.284,1517,1.412,1520,1.735,1521,1.619,1534,1.518,1554,1.735,1556,3.442,1595,6.883,1638,4.322,1653,1.873,1730,3.076,1939,1.954,2207,2.597,2212,2.841,2213,5.137,2214,4.696,2232,4.273,2260,2.841,2264,4.273,2275,6.439,2276,6.439,3302,2.597,3797,7.529,3798,2.841,3799,5.807,3800,4.83,3801,4.83,3802,3.211,3803,4.83,3804,7.278,3805,4.83,3806,4.83,3807,5.807,3808,3.211,3809,3.211,3810,3.211,3811,3.211,3812,3.211,3813,3.211,3814,3.211,3815,3.211,3816,3.211,3817,3.211,3818,3.211,3819,3.211,3820,3.211,3821,3.211,3822,3.211,3823,3.211,3824,3.211,3825,3.211,3826,3.211,3827,4.83,3828,4.83,3829,3.211]],["title/classes/UpdateFilter.html",[0,0.069,1116,2.425]],["body/classes/UpdateFilter.html",[0,0.104,2,2.573,3,0.12,4,0.147,5,0.107,6,0.102,11,0.524,12,0.925,13,2.38,14,1.143,15,0.692,16,1.431,20,0.868,22,1.238,24,1.401,25,0.008,26,0.912,27,1.074,28,1.15,29,1.099,31,3.08,33,0.16,34,0.765,35,1.857,41,0.147,42,3.115,51,0.006,52,0.007,53,0.006,210,4.324,402,3.033,1116,4.324,1277,5.179,3830,6.006,3831,6.788,3832,8.003]],["title/classes/UpdateSpatialSearch.html",[0,0.069,2049,1.89]],["body/classes/UpdateSpatialSearch.html",[0,0.139,2,2.101,3,0.098,4,0.12,5,0.087,6,0.084,7,2.487,8,1.359,11,0.428,12,0.817,13,2.576,14,1.237,15,0.714,18,2.162,20,0.904,22,0.857,25,0.009,28,0.939,29,0.897,30,1.267,32,2.4,33,0.131,34,0.624,41,0.197,42,3.971,47,3.052,51,0.005,52,0.006,53,0.005,73,1.697,260,2.335,265,1.951,269,1.274,312,1.556,315,2.212,390,2.101,392,2.101,394,1.86,402,2.679,408,1.585,597,1.072,644,1.804,653,3.449,894,2.145,901,2.821,1100,2.679,1517,2.275,1979,2.272,1982,2.162,2006,2.371,2032,2.272,2033,2.891,2034,4.085,2036,2.272,2037,2.891,2038,2.272,2039,2.335,2040,2.335,2041,2.272,2042,2.4,2043,2.272,2044,2.272,2045,2.995,2046,2.212,2047,2.272,2048,2.272,2049,2.976,2050,3.149,3833,5.544]],["title/components/ViewerComponent.html",[169,0.663,619,1.404]],["body/components/ViewerComponent.html",[0,0.101,3,0.071,4,0.087,5,0.063,6,0.102,8,1.191,11,0.31,12,0.658,14,0.764,15,0.625,16,0.848,20,0.845,22,1.302,24,1.175,25,0.009,26,0.965,27,0.901,28,1.285,29,1.228,30,1.253,33,0.134,34,1.055,41,0.087,50,2.397,51,0.004,52,0.005,53,0.005,61,1.258,62,1.258,79,1.49,82,1.337,83,1.583,89,0.31,100,2.69,101,2.255,111,0.924,148,2.272,149,2.255,150,0.777,167,1.349,169,0.976,222,1.23,224,1.23,228,1.557,231,1.89,234,2.289,235,1.956,237,2.053,239,1.91,240,1.91,255,1.808,267,3.321,269,1.519,271,4.827,275,2.711,278,0.681,289,2.69,290,1.823,318,1.73,361,2.104,368,1.605,373,2.57,386,2.018,420,2.271,444,2.346,445,5.037,473,1.702,477,3.225,482,1.486,489,1.381,490,1.23,494,1.349,496,1.258,498,2.272,523,2.158,552,1.381,553,1.781,554,1.781,555,1.381,556,2.469,557,1.381,558,1.381,559,1.381,560,1.258,561,1.381,562,1.258,563,1.381,564,1.258,565,1.956,566,1.258,567,1.287,568,1.381,569,1.381,570,1.258,571,1.381,572,1.258,573,1.349,574,1.381,575,1.258,576,1.741,577,1.381,578,1.258,579,1.381,580,1.258,581,1.956,582,1.258,583,1.381,584,1.287,585,1.381,586,1.258,587,1.381,588,1.258,589,1.318,590,1.258,591,1.124,592,2.271,593,1.258,594,1.381,595,1.258,596,1.741,597,1.101,598,1.258,599,1.956,600,1.258,601,1.258,602,1.258,603,1.381,604,1.258,605,1.202,606,1.381,607,1.956,608,1.258,609,1.349,610,1.381,611,1.258,612,2.149,613,1.258,614,1.258,615,1.381,616,1.258,617,1.175,618,1.381,619,2.249,620,1.381,621,1.381,622,1.45,624,0.885,636,2.612,660,2.945,671,4.024,676,2.537,689,2.172,699,2.383,701,2.692,702,2.447,706,3.027,707,2.255,711,1.932,806,1.287,825,3.225,833,2.692,835,2.333,864,2.612,886,1.845,894,1.053,902,2.346,903,4.605,934,1.902,944,3.126,1020,2.505,1046,1.962,1092,6.136,1323,2.172,1330,5.037,1485,3.321,1511,1.902,1513,2.778,1514,1.902,1516,1.902,1517,1.175,1519,2.969,1520,2.172,1528,3.252,1534,1.902,1554,2.172,1556,1.902,1560,4.022,1675,4.971,1688,4.282,1731,4.282,1732,5.406,1829,2.447,1832,4.024,2052,5.037,2062,4.282,2087,2.447,2100,5.346,2102,5.814,2107,5.346,2110,4.617,2112,3.252,2180,5.346,3139,3.252,3834,3.557,3835,5.037,3836,6.61,3837,5.693,3838,6.61,3839,7.188,3840,4.021,3841,5.693,3842,4.021,3843,4.021,3844,5.693,3845,4.021,3846,4.021,3847,4.021,3848,5.037,3849,5.693,3850,5.693,3851,5.693,3852,4.021,3853,5.693,3854,4.021,3855,6.61,3856,5.693,3857,5.037,3858,4.021,3859,4.021]],["title/modules/ViewerModule.html",[54,1.342,71,3.172]],["body/modules/ViewerModule.html",[0,0.101,3,0.117,4,0.143,5,0.104,6,0.079,25,0.009,33,0.213,41,0.143,51,0.006,52,0.007,53,0.006,56,1.979,57,2.357,71,6.453,72,2.524,73,1.589,74,1.81,76,2.774,78,2.169,88,2.524,89,0.511,92,3.617,93,2.866,290,2.119,619,2.934,720,2.708,721,2.843,722,2.274,1949,4.797,1950,4.027,3552,6.975,3553,5.855,3860,5.855,3861,5.855,3862,5.855,3863,6.618,3864,6.618]],["title/injectables/WorkerDataSourceService.html",[452,1.101,1438,3.172]],["body/injectables/WorkerDataSourceService.html",[0,0.09,3,0.104,4,0.127,5,0.093,6,0.1,11,0.455,14,0.791,15,0.665,16,1.548,20,0.939,22,1.237,24,1.651,25,0.009,26,1.074,27,1.266,33,0.197,34,0.827,35,1.611,41,0.127,51,0.005,52,0.007,53,0.005,54,1.761,79,1.922,82,1.725,89,0.455,108,1.842,111,1.354,150,1.547,160,3.179,161,7.41,166,1.962,182,5.92,271,4.667,278,1.355,285,1.761,312,1.844,318,2.193,319,5.938,452,1.801,453,2.968,458,6.017,468,3.435,722,2.023,1431,5.92,1432,4.429,1438,5.189,1439,5.522,3865,7.41,3866,8,3867,7.342,3868,7.342,3869,5.889,3870,8,3871,8.376,3872,5.889,3873,7.342,3874,5.889,3875,5.889,3876,7.342,3877,5.889,3878,7.342,3879,5.889,3880,5.889,3881,5.889,3882,5.889,3883,5.889,3884,5.889,3885,5.889,3886,5.889,3887,5.889,3888,5.889,3889,5.889,3890,5.889,3891,5.889,3892,5.889]],["title/changelog.html",[3893,2.811,3894,2.811,3895,3.023]],["body/changelog.html",[3,0.113,5,0.033,8,1.197,12,0.24,15,0.16,18,1.046,22,0.321,25,0.007,27,0.328,28,0.351,30,0.783,31,1.74,34,0.993,35,1.533,45,0.786,47,1.826,48,1.175,49,0.981,51,0.002,52,0.003,53,0.006,57,1.514,101,1.919,108,0.649,111,0.477,117,4.262,141,1.21,144,5.029,145,2.289,155,6.086,156,1.104,158,0.73,169,0.748,178,1.21,227,3.027,228,0.936,234,0.839,252,1,255,1.995,260,2.909,262,3.809,265,3.003,266,2.767,273,1.21,275,2.264,278,1.235,312,1.86,314,1.678,315,2.757,319,1.678,337,2.573,350,5.335,352,4.204,355,2.133,361,1.872,366,1.164,368,0.828,371,1.836,372,1.56,373,1.33,393,2.324,397,1.263,401,1.836,402,1.655,404,1.57,405,2.921,409,3.531,410,4.096,420,1.925,421,1.321,425,1.33,437,2.179,473,1.305,481,2.842,483,1.618,490,0.635,494,1.699,535,1.836,541,1.388,544,4.797,554,0.649,567,1.095,576,0.635,591,0.58,596,0.635,597,1.41,612,2.305,614,1.07,617,1,622,0.748,635,2.082,642,0.981,644,0.457,645,2.767,649,1.56,653,1.67,654,1.678,658,5.935,662,1.321,663,2.418,666,2.289,679,0.981,698,0.981,711,0.607,756,1.466,841,1.164,843,3.567,851,2.418,853,2.852,869,1.466,874,1.466,894,0.543,915,1.321,916,2.448,934,0.981,937,1.164,969,1.678,974,2.852,982,2.573,992,0.924,998,1.56,1038,1.263,1044,2.359,1046,1.67,1047,1.466,1050,1.164,1066,1.678,1092,1.678,1113,1.121,1119,2.573,1123,2.573,1125,1.678,1126,1.466,1130,1.56,1133,1.678,1134,4.877,1137,4.532,1139,1.678,1143,2.179,1149,1.678,1153,1.678,1155,4.214,1168,1.56,1184,2.573,1207,3.027,1245,1.678,1275,2.418,1278,1.388,1284,2.573,1323,1.121,1324,1.836,1325,1.678,1328,3.086,1331,3.531,1332,1.836,1338,1.388,1339,1.678,1341,3.816,1360,3.086,1394,1.678,1401,1.678,1402,1.678,1448,1.836,1458,1.678,1463,1.56,1464,1.121,1479,3.027,1481,1.321,1484,1.466,1485,2.547,1488,1.56,1490,1.56,1526,4.957,1528,1.678,1541,1.919,1557,3.84,1558,1.678,1569,4.481,1599,1.678,1607,2.767,1610,1.996,1618,1.678,1630,1.321,1631,1.21,1644,1.56,1656,1.678,1673,2.573,1721,1.836,1757,2.767,1759,3.862,1766,2.767,1773,3.027,1832,3.086,1841,1.678,1858,1.56,1878,1.836,1880,1.836,1929,3.027,1931,4.096,1941,1.836,1966,4.481,2011,2.573,2053,3.027,2062,4.214,2074,2.573,2133,2.767,2188,2.767,2307,1.678,2327,3.58,2344,5.596,2358,1.466,2380,1.263,2385,3.568,2420,1.466,2435,1.836,2464,1.321,2495,1.836,2623,2.767,2635,1.678,2670,1.321,2791,1.996,2895,2.767,2907,3.283,2910,1.836,2950,3.283,3027,2.573,3091,1.678,3244,1.678,3292,1.836,3301,1.678,3384,4.096,3495,1.836,3566,6.236,3598,3.027,3629,1.836,3670,1.678,3671,3.027,3675,1.678,3704,4.481,3717,3.027,3773,4.957,3835,4.481,3857,3.027,3894,3.283,3895,2.767,3896,3.862,3897,3.862,3898,4.481,3899,3.421,3900,3.421,3901,6.031,3902,5.391,3903,9.35,3904,1.836,3905,2.075,3906,7.589,3907,2.075,3908,3.421,3909,5.065,3910,3.421,3911,4.366,3912,2.075,3913,3.421,3914,2.075,3915,7.589,3916,2.075,3917,3.421,3918,1.836,3919,2.075,3920,3.027,3921,3.027,3922,3.027,3923,6.666,3924,2.075,3925,2.075,3926,2.075,3927,3.027,3928,2.075,3929,6.112,3930,3.421,3931,5.603,3932,4.366,3933,2.075,3934,3.421,3935,3.421,3936,7.91,3937,2.075,3938,2.075,3939,4.366,3940,3.421,3941,4.366,3942,4.366,3943,3.421,3944,2.075,3945,3.421,3946,3.421,3947,6.378,3948,6.031,3949,6.378,3950,3.421,3951,2.075,3952,2.075,3953,3.421,3954,4.366,3955,2.075,3956,3.421,3957,2.075,3958,2.075,3959,4.366,3960,3.862,3961,2.075,3962,2.075,3963,7.295,3964,3.421,3965,2.075,3966,3.421,3967,6.031,3968,2.075,3969,2.075,3970,2.075,3971,3.421,3972,2.075,3973,6.378,3974,2.075,3975,2.075,3976,3.421,3977,2.075,3978,4.366,3979,2.075,3980,2.075,3981,2.075,3982,2.075,3983,2.075,3984,2.075,3985,7.711,3986,2.075,3987,1.836,3988,2.075,3989,3.421,3990,1.836,3991,2.075,3992,3.421,3993,5.065,3994,5.065,3995,4.366,3996,2.075,3997,2.075,3998,2.075,3999,2.075,4000,6.031,4001,4.535,4002,4.957,4003,3.862,4004,2.075,4005,4.957,4006,2.075,4007,4.366,4008,5.898,4009,7.589,4010,2.075,4011,2.075,4012,3.421,4013,3.862,4014,2.075,4015,2.075,4016,2.075,4017,2.075,4018,2.075,4019,2.075,4020,3.027,4021,3.027,4022,6.378,4023,5.898,4024,2.075,4025,2.075,4026,2.075,4027,2.075,4028,4.957,4029,2.075,4030,3.421,4031,2.075,4032,3.421,4033,3.421,4034,3.421,4035,3.421,4036,2.075,4037,2.075,4038,2.075,4039,2.075,4040,3.421,4041,3.421,4042,2.075,4043,3.421,4044,3.421,4045,2.075,4046,2.075,4047,2.075,4048,2.075,4049,3.421,4050,2.075,4051,2.075,4052,6.031,4053,3.027,4054,2.075,4055,2.075,4056,2.075,4057,4.366,4058,3.421,4059,6.031,4060,3.027,4061,5.065,4062,2.075,4063,2.075,4064,3.421,4065,3.421,4066,2.075,4067,2.075,4068,3.421,4069,2.075,4070,2.075,4071,2.075,4072,2.075,4073,3.421,4074,2.075,4075,2.075,4076,2.075,4077,2.075,4078,2.075,4079,2.075,4080,2.075,4081,2.075,4082,2.075,4083,3.421,4084,2.075,4085,2.075,4086,4.366,4087,4.366,4088,3.421,4089,1.836,4090,2.075,4091,2.075,4092,2.075,4093,2.075,4094,2.075,4095,3.421,4096,3.421,4097,4.366,4098,2.075,4099,2.075,4100,2.075,4101,2.075,4102,2.075,4103,3.421,4104,2.075,4105,2.075,4106,4.366,4107,3.421,4108,2.075,4109,2.075,4110,4.366,4111,3.421,4112,5.065,4113,2.075,4114,2.075,4115,2.075,4116,3.421,4117,2.075,4118,2.075,4119,2.075,4120,2.075,4121,2.075,4122,2.075,4123,4.366,4124,2.075,4125,4.366,4126,5.603,4127,3.421,4128,3.421,4129,3.421,4130,4.366,4131,5.065,4132,5.603,4133,3.421,4134,4.366,4135,2.075,4136,2.075,4137,6.378,4138,4.366,4139,5.065,4140,2.075,4141,2.075,4142,2.075,4143,2.075,4144,3.421,4145,2.075,4146,2.075,4147,2.075,4148,3.421,4149,2.075,4150,2.075,4151,3.862,4152,3.421,4153,4.366,4154,2.075,4155,2.075,4156,2.075,4157,2.075,4158,2.075,4159,2.075,4160,2.075,4161,2.075,4162,2.075,4163,2.075,4164,2.075,4165,5.065,4166,6.031,4167,4.366,4168,2.075,4169,2.075,4170,4.366,4171,2.075,4172,2.075,4173,2.075,4174,3.421,4175,4.366,4176,2.075,4177,2.075,4178,2.075,4179,2.075,4180,2.075,4181,1.836,4182,2.075,4183,2.075,4184,2.075,4185,2.075,4186,2.075,4187,2.075,4188,2.075,4189,2.075,4190,2.075,4191,2.075,4192,2.075,4193,2.075,4194,2.075,4195,6.666,4196,2.075,4197,3.862,4198,6.666,4199,4.366,4200,5.065,4201,3.421,4202,4.366,4203,2.075,4204,2.075,4205,2.075,4206,3.421,4207,2.075,4208,2.075,4209,2.075,4210,3.421,4211,2.075,4212,2.075,4213,2.075,4214,2.075,4215,2.075,4216,2.075,4217,2.075,4218,2.075,4219,2.075,4220,2.075,4221,2.075,4222,2.075,4223,2.075,4224,2.075,4225,2.075,4226,2.075,4227,2.075,4228,2.075,4229,2.075,4230,2.075,4231,2.075,4232,2.075,4233,3.421,4234,2.075,4235,3.421,4236,2.075,4237,3.421,4238,3.421,4239,5.065,4240,5.065,4241,3.421,4242,3.421,4243,2.075,4244,2.075,4245,2.075,4246,2.075,4247,1.836,4248,2.075,4249,2.075,4250,2.075,4251,2.075,4252,2.075,4253,2.075,4254,3.421,4255,7.116,4256,4.366,4257,1.836,4258,3.421,4259,2.075,4260,2.075,4261,2.075,4262,2.075,4263,2.075,4264,2.075,4265,3.421,4266,5.643,4267,3.421,4268,2.075,4269,2.075,4270,2.075,4271,2.075,4272,4.096,4273,2.075,4274,3.421,4275,2.075,4276,2.075,4277,2.075,4278,3.421,4279,2.075,4280,2.075,4281,2.075,4282,3.421,4283,4.366,4284,3.421,4285,2.075,4286,3.027,4287,2.075,4288,2.075,4289,2.075,4290,2.075,4291,2.075,4292,2.075,4293,2.075,4294,2.075,4295,2.075,4296,1.836,4297,2.075,4298,2.075,4299,2.075,4300,2.075,4301,2.075,4302,1.836,4303,2.075,4304,2.075,4305,3.421,4306,2.075,4307,2.075,4308,2.075,4309,2.075,4310,2.075,4311,2.075,4312,2.075,4313,2.075,4314,2.075,4315,2.075,4316,3.421,4317,2.075,4318,2.075,4319,3.421,4320,2.075,4321,2.075,4322,2.075,4323,2.075,4324,2.075,4325,2.075]],["title/coverage.html",[4272,4.971]],["body/coverage.html",[0,0.135,1,1.518,5,0.047,6,0.114,7,3.138,8,1.42,9,3.075,10,4.2,15,0.233,25,0.009,30,0.712,35,0.824,37,1.234,39,1.571,43,1.833,46,1.833,51,0.003,52,0.004,53,0.003,61,0.942,62,0.942,109,2.129,111,1.058,112,2.265,114,2.265,117,3.253,122,2.129,125,3.777,128,3.461,132,2.129,135,2.129,138,2.265,156,1.471,157,2.436,159,4.072,169,1.339,199,2.129,202,2.015,204,2.129,207,1.627,210,1.627,212,1.757,214,2.931,216,1.518,220,1.689,222,0.921,224,0.921,278,0.51,282,6.798,312,0.663,355,1.268,386,2.371,442,3.703,452,2.04,454,2.665,455,2.665,473,1.376,477,4.522,491,3.722,492,3.722,550,2.436,560,0.942,562,0.942,564,0.942,566,0.942,570,0.942,572,0.942,575,0.942,578,0.942,580,0.942,582,0.942,584,0.964,586,0.942,588,0.942,590,0.942,591,1.287,593,0.942,595,0.942,596,1.912,597,1.209,598,0.942,600,0.942,601,0.942,602,0.942,604,0.942,608,0.942,611,0.942,613,0.942,614,1.44,616,0.942,619,0.942,623,2.665,712,2.265,725,4.419,726,3.507,727,4.419,743,2.129,760,2.129,771,1.627,816,3.722,821,2.112,846,1.342,861,1.518,894,0.789,941,2.665,1028,1.918,1029,4.289,1035,1.918,1042,1.918,1043,1.918,1068,2.129,1070,3.947,1086,2.265,1087,5.019,1116,1.627,1118,2.265,1124,3.722,1157,2.436,1305,2.665,1318,2.265,1319,4.419,1320,3.722,1321,3.722,1340,2.129,1430,2.265,1431,4.419,1432,4.2,1438,2.129,1444,3.556,1445,2.436,1446,2.265,1447,2.665,1518,3.722,1558,2.436,1563,2.665,1583,3.253,1586,2.265,1592,1.918,1593,1.918,1595,2.436,1597,2.665,1671,2.436,1672,2.665,1855,3.253,1856,2.265,1857,2.665,1955,2.665,1979,1.234,1982,2.681,2003,2.436,2004,2.665,2005,2.665,2016,2.665,2032,1.234,2033,4.224,2036,1.234,2038,1.234,2041,1.234,2043,1.234,2044,1.234,2046,1.202,2047,1.234,2048,1.234,2049,1.268,2051,2.665,2095,2.265,2096,3.461,2097,3.722,2104,2.015,2156,2.436,2157,4.2,2189,2.436,2311,2.015,2312,2.665,2313,2.665,2314,3.722,2315,3.722,2350,2.265,2377,4.751,2379,2.015,2386,1.918,2449,3.93,2451,3.399,2452,2.265,2454,3.556,2456,3.722,2472,1.833,2481,2.129,2555,3.722,2556,3.722,2621,2.665,2622,2.665,2624,2.665,2667,4.522,2682,1.627,2684,1.571,2686,1.757,2694,1.833,2696,1.627,2819,2.665,2895,2.436,2905,2.436,2912,3.258,2922,4.2,2936,2.265,2969,2.265,3044,3.465,3045,4.2,3083,2.129,3115,2.436,3146,3.461,3153,1.918,3186,2.665,3273,3.722,3431,2.265,3432,2.265,3434,2.265,3436,2.665,3535,2.436,3536,2.665,3556,2.436,3569,2.436,3587,2.436,3588,2.665,3618,3.722,3668,3.461,3669,3.722,3712,2.436,3749,2.436,3750,2.665,3763,2.436,3764,2.665,3797,2.665,3798,2.665,3830,2.665,3834,2.665,3865,2.665,3902,2.436,4001,2.265,4272,2.436,4326,3.012,4327,4.602,4328,6.253,4329,3.012,4330,3.012,4331,4.602,4332,3.012,4333,3.012,4334,3.012,4335,4.602,4336,7.808,4337,7.388,4338,8.217,4339,2.665,4340,8.553,4341,3.012,4342,3.012,4343,5.585,4344,3.012,4345,2.436,4346,2.436,4347,3.012,4348,3.012,4349,3.012,4350,2.665,4351,2.665,4352,5.585,4353,5.585,4354,3.012,4355,3.012,4356,3.012,4357,3.012,4358,3.012,4359,3.012,4360,3.012,4361,3.012,4362,3.012,4363,4.602,4364,4.602,4365,3.012,4366,3.012,4367,3.012,4368,3.012,4369,4.517,4370,3.012,4371,3.012,4372,2.665,4373,2.665,4374,3.012,4375,3.012,4376,4.602,4377,3.012,4378,3.012,4379,5.585,4380,2.665,4381,3.012,4382,3.012,4383,3.012,4384,4.602,4385,4.602,4386,3.012,4387,4.602,4388,3.012,4389,3.012,4390,3.012,4391,3.012,4392,3.012,4393,3.012,4394,3.012,4395,3.012,4396,3.012,4397,3.012,4398,3.012]],["title/dependencies.html",[57,1.615,3990,3.307]],["body/dependencies.html",[5,0.086,25,0.009,51,0.005,52,0.006,53,0.005,57,1.625,89,0.42,91,4.809,100,4.67,101,3.914,175,3.202,176,3.637,177,4.072,179,1.867,189,1.781,227,2.937,260,2.289,272,2.937,554,2.184,642,2.571,678,3.406,679,2.571,693,4.088,722,1.867,739,4.088,740,4.088,815,4.088,989,4.396,1097,4.088,1130,4.088,1271,3.461,1335,4.088,1337,4.088,1674,3.842,1717,4.809,1777,4.396,2006,1.824,2346,3.637,2510,4.088,2669,3.461,3558,4.809,3561,4.809,3562,6.175,3684,4.809,3698,4.396,3904,6.175,3922,4.809,3927,4.809,4005,6.175,4020,4.809,4053,4.809,4060,4.809,4151,4.809,4197,6.175,4399,5.436,4400,5.436,4401,9.092,4402,5.436,4403,5.436,4404,5.436,4405,5.436,4406,5.436,4407,5.436,4408,5.436,4409,5.436,4410,5.436,4411,5.436,4412,5.436,4413,7.709,4414,5.436,4415,6.98,4416,5.436,4417,5.436,4418,5.436,4419,5.436,4420,7.709,4421,5.436,4422,5.436,4423,5.436,4424,5.436,4425,5.436,4426,5.436,4427,5.436,4428,5.436,4429,5.436,4430,6.98,4431,5.436,4432,5.436,4433,5.436,4434,5.436,4435,5.436,4436,5.436,4437,6.98,4438,5.436,4439,5.436,4440,5.436,4441,5.436,4442,5.436,4443,5.436,4444,5.436,4445,5.436,4446,5.436,4447,5.436,4448,5.436,4449,5.436,4450,5.436,4451,5.436,4452,4.809,4453,5.436,4454,5.436,4455,5.436,4456,5.436,4457,5.436,4458,5.436,4459,6.98,4460,5.436,4461,5.436,4462,5.436,4463,5.436,4464,5.436,4465,5.436,4466,5.436,4467,5.436,4468,5.436,4469,5.436,4470,5.436,4471,5.436,4472,5.436,4473,5.436,4474,5.436,4475,5.436,4476,5.436,4477,5.436,4478,5.436,4479,5.436,4480,5.436,4481,5.436,4482,5.436,4483,5.436,4484,5.436,4485,5.436,4486,5.436,4487,6.98,4488,5.436,4489,5.436,4490,5.436,4491,5.436,4492,5.436,4493,5.436,4494,5.436,4495,5.436,4496,5.436,4497,5.436,4498,5.436]],["title/miscellaneous/enumerations.html",[4499,2.274,4500,4.78]],["body/miscellaneous/enumerations.html",[6,0.086,11,0.557,25,0.008,29,1.343,51,0.006,52,0.007,53,0.006,209,6.708,295,2.207,312,1.589,628,3.639,1087,5.101,1130,5.428,1135,7.338,1136,6.238,4499,4.392,4500,6.386,4501,5.838]],["title/miscellaneous/functions.html",[4499,2.274,4502,4.78]],["body/miscellaneous/functions.html",[6,0.101,11,0.462,15,0.573,20,0.766,24,1.821,25,0.008,26,1.185,27,1.415,29,0.969,51,0.005,52,0.007,53,0.005,82,2.073,83,1.318,117,5.243,166,1.468,204,5.243,231,2.121,269,1.376,270,4.502,278,1.256,288,4.006,309,2.057,312,1.318,422,3.812,442,4.516,481,3.305,491,4.842,492,5.999,527,5.297,550,5.999,624,1.907,741,4.52,816,4.842,839,3.018,891,6.814,892,5.132,893,5.297,894,1.942,900,5.297,903,4.842,975,4.702,1037,4.328,1049,3.812,1087,4.231,1095,4.355,1105,5.297,1136,5.579,1137,4.842,1138,6.563,1139,4.842,1140,5.297,1142,3.643,1143,4.723,1144,5.297,1145,5.297,1147,6.563,1148,5.297,1149,4.842,1150,5.297,1151,5.297,1152,4.842,1153,6.519,1154,3.812,1155,4.502,1156,3.122,1157,5.999,1400,4.842,2485,4.842,4345,4.842,4346,5.999,4350,6.563,4351,6.563,4380,6.563,4499,3.643,4501,6.519,4502,5.297,4503,5.297,4504,5.987,4505,5.987,4506,5.987,4507,5.987,4508,5.987,4509,5.987,4510,5.987,4511,5.987,4512,5.987]],["title/index.html",[11,0.289,3893,2.811,3894,2.811]],["body/index.html",[3,0.151,25,0.006,34,1.07,51,0.005,52,0.006,53,0.005,144,5.863,155,5.586,156,1.196,158,2.018,169,0.847,227,3.098,265,2.781,352,4.809,483,2.712,597,1.109,663,5.103,841,3.216,843,3.217,922,3.489,944,2.712,1000,4.049,1066,6.71,1133,4.637,1134,5.84,1155,4.312,1164,6.388,1245,5.84,1269,5.073,1328,4.052,1464,3.098,1485,4.213,2062,4.312,3287,5.073,3566,7.249,3670,4.637,3895,4.637,3896,6.388,3897,6.388,3898,6.992,3902,4.637,3918,6.388,3920,6.388,3921,7.34,3936,6.388,3960,6.388,3987,5.073,4001,4.312,4002,7.565,4003,7.34,4008,6.388,4013,5.073,4021,6.388,4023,5.073,4089,6.388,4286,5.073,4296,5.073,4513,7.221,4514,7.221,4515,5.734,4516,5.734,4517,5.734,4518,6.388,4519,5.734,4520,5.734,4521,7.221,4522,7.221,4523,7.221,4524,7.904,4525,5.734,4526,5.734,4527,7.904,4528,7.904,4529,5.734,4530,5.734,4531,7.221,4532,5.734,4533,5.734,4534,5.734,4535,5.734,4536,5.734,4537,5.734,4538,5.734,4539,5.734,4540,5.734,4541,5.734,4542,5.734,4543,5.734,4544,7.221,4545,5.734,4546,5.734,4547,7.221,4548,5.734,4549,7.221,4550,7.221,4551,5.734,4552,5.734,4553,5.734,4554,5.734,4555,5.734,4556,5.734,4557,5.734,4558,5.734,4559,5.734,4560,5.734,4561,5.734,4562,5.734,4563,5.734,4564,5.734]],["title/license.html",[3893,2.811,3894,2.811,4565,3.307]],["body/license.html",[25,0.007,51,0.006,52,0.007,53,0.006,74,1.787,144,4.617,230,5.283,264,2.54,672,3.188,741,3.663,869,4.617,874,5.918,1095,3.529,1485,4.564,1500,5.283,2117,5.283,2380,3.975,3597,5.779,4001,4.913,4028,6.921,4181,6.921,4247,5.779,4266,5.779,4302,5.779,4452,5.779,4518,8.177,4565,5.779,4566,6.532,4567,8.374,4568,6.532,4569,6.532,4570,7.822,4571,6.532,4572,6.532,4573,6.532,4574,6.532,4575,7.822,4576,6.532,4577,6.532,4578,6.532,4579,6.532,4580,6.532,4581,6.532,4582,6.532,4583,6.532,4584,6.532,4585,6.532,4586,6.532,4587,6.532,4588,7.822,4589,6.532,4590,6.532,4591,6.532,4592,6.532,4593,6.532,4594,7.822,4595,6.532,4596,6.532,4597,6.532,4598,6.532,4599,6.532,4600,6.532,4601,6.532,4602,6.532,4603,6.532,4604,6.532,4605,6.532,4606,6.532,4607,6.532,4608,6.532,4609,6.532,4610,6.532,4611,6.532,4612,6.532,4613,6.532,4614,6.532,4615,6.532,4616,6.532]],["title/modules.html",[56,1.838]],["body/modules.html",[25,0.007,51,0.005,52,0.007,53,0.005,55,4.573,56,1.818,63,4.298,64,4.298,65,4.069,66,4.298,67,4.298,68,4.298,69,4.069,70,4.298,71,4.298,101,5.355,715,4.298,1054,4.298,1055,4.298,1056,4.298,1334,7.182,1574,4.298,1579,4.298,1580,4.298,1661,4.298,1943,4.298,2446,4.069,2447,4.298,2448,4.069,2950,4.573,3106,4.573,3111,4.298,3266,4.298,3271,4.298,3353,4.573,3358,4.298,3423,4.298,3424,4.298,3774,5.38,3929,8.448,4617,9.556]],["title/overview.html",[4618,5.437]],["body/overview.html",[2,1.403,25,0.009,51,0.003,52,0.005,53,0.003,55,6.864,56,1.106,57,1.604,58,3.274,59,3.274,60,3.274,61,1.974,62,1.974,63,5.922,64,6.213,65,5.288,66,5.721,67,6.064,68,5.721,69,5.288,70,5.415,71,5.415,72,1.718,73,0.888,74,1.012,158,1.302,202,4.222,222,2.417,224,2.417,228,1.012,453,1.866,560,2.473,562,2.473,564,2.473,566,2.473,570,2.473,572,2.473,575,2.473,578,2.473,580,2.473,582,2.581,584,2.53,586,2.473,588,2.473,590,2.473,593,2.473,595,2.473,598,2.473,600,2.473,601,2.473,602,2.473,604,2.473,608,2.473,611,2.473,613,2.473,616,2.473,619,2.473,715,5.415,716,3.274,717,3.274,718,3.274,1051,3.274,1052,3.274,1053,3.274,1054,5.922,1055,4.46,1056,5.192,1123,2.783,1574,5.922,1575,3.274,1576,3.274,1577,3.274,1578,3.274,1579,5.415,1580,5.415,1588,3.274,1589,3.274,1590,3.274,1661,5.415,1662,3.274,1663,3.274,1664,3.274,1847,3.274,1848,3.274,1849,3.274,1943,6.169,1944,3.274,1946,3.274,1947,3.274,1997,3.274,1998,3.274,1999,3.274,2088,3.274,2089,3.274,2090,3.274,2443,3.274,2444,3.274,2445,3.274,2446,5.678,2447,6.169,2448,5.678,2472,3.84,2545,3.274,2546,3.274,2547,3.274,2653,3.274,2654,3.274,2656,3.274,2657,3.274,2660,3.274,2661,3.274,2662,3.274,2896,3.274,2898,3.274,2899,3.274,2919,3.274,2920,3.274,2921,3.274,3027,4.034,3106,5.943,3107,3.274,3108,3.274,3109,3.274,3110,3.274,3111,5.415,3140,3.274,3141,3.274,3142,3.274,3266,5.721,3267,3.274,3268,3.274,3269,3.274,3270,3.274,3271,5.415,3304,3.274,3305,3.274,3306,3.274,3353,5.943,3354,3.274,3355,3.274,3356,3.274,3357,3.274,3358,6.169,3419,3.274,3420,3.274,3421,3.274,3422,3.274,3423,5.585,3424,5.415,3548,3.274,3549,3.274,3550,3.274,3606,3.274,3607,3.274,3608,3.274,3611,3.274,3612,3.274,3739,3.274,3740,3.274,3741,3.274,3758,3.274,3759,3.274,3760,3.274,3792,3.274,3793,3.274,3794,3.274,3860,3.274,3861,3.274,3862,3.274,4257,3.274,4618,3.274,4619,3.701]],["title/miscellaneous/typealiases.html",[4499,2.274,4620,5.403]],["body/miscellaneous/typealiases.html",[6,0.106,7,2.13,8,1.337,9,2.62,11,0.467,15,0.683,16,1.575,18,2.477,25,0.008,37,2.48,39,3.156,51,0.005,52,0.007,53,0.005,125,3.394,228,1.655,231,2.315,233,4.049,267,4.934,295,2.477,367,3.531,406,3.394,442,3.894,643,1.938,662,3.854,698,2.862,733,3.87,821,3.426,824,3.156,840,3.764,846,3.608,861,3.764,935,3.683,1028,3.854,1029,3.854,1030,4.357,1031,4.277,1032,4.277,1033,4.049,1035,3.854,1038,4.544,1039,5.724,1042,3.854,1043,3.854,1044,3.27,1048,5.724,1049,3.854,1050,4.542,1533,4.277,2006,2.03,2039,3.145,2040,3.145,2157,4.551,2177,5.354,2178,6.607,2179,6.607,2180,6.04,2181,5.354,2182,6.607,2183,5.354,2184,6.607,2185,5.354,2186,5.354,2187,5.354,2188,4.895,2449,3.531,2454,3.854,3044,2.953,3115,6.04,3146,5.616,3151,5.616,3893,4.551,4345,4.895,4346,6.04,4369,6.04,4499,3.683,4503,5.354,4621,6.052,4622,7.827,4623,7.165,4624,7.468,4625,5.354,4626,7.468]],["title/miscellaneous/variables.html",[4499,2.274,4627,4.78]],["body/miscellaneous/variables.html",[0,0.091,6,0.1,11,0.256,15,0.569,18,1.016,24,0.685,25,0.009,26,1.258,28,1.49,29,1.386,31,1.702,35,1.621,51,0.003,52,0.004,53,0.003,108,1.039,111,0.763,114,3.726,116,6.269,125,1.863,145,3.315,150,0.642,182,2.347,210,1.794,212,1.938,216,1.674,226,2.222,269,0.763,271,5.467,272,1.794,278,1.112,285,1.305,299,1.794,300,2.686,355,2.086,368,2.805,373,2.733,386,1.518,406,1.863,422,1.571,425,2.304,442,2.584,448,3.155,468,1.938,576,1.016,643,2.103,699,1.197,711,0.971,725,2.347,726,1.863,727,3.502,728,3.155,729,3.726,743,3.502,744,2.498,745,2.498,746,2.498,747,2.498,748,2.498,749,2.498,750,2.498,751,2.498,752,2.498,753,2.498,754,2.498,755,2.498,756,2.347,757,2.498,758,2.115,759,2.498,771,1.794,821,2.273,843,2.207,846,2.64,975,1.938,992,1.48,1029,2.115,1033,2.222,1037,1.938,1070,2.347,1087,2.347,1118,3.726,1119,2.498,1120,2.938,1121,2.938,1122,2.938,1123,2.498,1124,2.686,1125,2.686,1126,2.347,1127,2.938,1128,2.938,1129,1.938,1318,2.498,1319,2.347,1320,2.686,1321,4.007,1325,2.686,1333,7.041,1338,2.222,1339,2.686,1340,3.502,1341,4.552,1342,2.938,1343,8.244,1344,2.938,1345,2.938,1346,2.938,1347,4.383,1348,2.938,1349,2.938,1350,2.938,1351,2.938,1352,2.938,1353,2.938,1354,5.812,1355,5.812,1356,6.218,1357,6.218,1358,3.726,1359,2.938,1360,5.209,1361,2.938,1362,2.938,1363,2.938,1364,4.383,1365,4.383,1366,4.383,1367,2.938,1368,2.938,1369,2.938,1370,2.938,1371,6.218,1372,2.938,1373,4.383,1374,2.938,1375,2.938,1376,2.938,1377,2.938,1378,2.938,1379,2.938,1380,2.938,1381,2.938,1382,2.938,1383,2.938,1384,2.938,1385,5.812,1386,4.383,1387,2.938,1388,2.938,1389,2.938,1390,2.938,1391,4.383,1392,2.938,1393,2.938,1394,2.686,1395,2.938,1396,2.938,1397,2.938,1398,2.938,1399,2.938,1400,4.007,1401,4.007,1402,2.686,1403,2.938,1404,3.726,1405,2.938,1406,2.938,1407,2.938,1408,2.938,1409,2.938,1410,2.938,1411,2.938,1412,5.812,1413,2.938,1414,2.938,1415,5.812,1416,2.938,1417,2.938,1418,2.498,1419,2.938,1420,2.938,1421,6.218,1422,2.938,1423,4.383,1424,2.938,1425,2.686,1426,2.938,1427,2.686,1428,2.938,1429,2.938,1431,2.347,1439,2.498,1583,2.347,1592,3.155,1593,3.773,1641,2.498,2006,1.662,2008,2.938,2011,2.498,2013,4.383,2104,2.222,2157,2.498,2189,4.007,2190,2.938,2191,2.938,2377,2.222,2383,2.222,2385,3.773,2386,2.115,2388,2.347,2389,3.315,2390,2.347,2392,3.773,2449,1.938,2454,2.115,2696,1.794,2922,2.498,2969,3.726,2970,2.686,3153,2.115,3556,2.686,3564,2.938,3568,2.938,3569,4.007,3618,2.686,3648,2.938,3668,2.498,3669,4.007,3712,4.007,3848,4.383,4339,4.383,4369,4.792,4372,4.383,4373,4.383,4499,2.021,4501,2.686,4622,2.938,4623,2.938,4625,4.383,4627,2.938,4628,3.321,4629,3.321,4630,3.321,4631,3.321,4632,3.321,4633,4.954,4634,3.321,4635,3.321,4636,3.321,4637,3.321,4638,3.321,4639,3.321]]],"invertedIndex":[["",{"_index":25,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":386,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["0).map(([term",{"_index":3516,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["0.063rem",{"_index":1657,"title":{},"body":{"components/DropdownComponent.html":{}}}],["0.07",{"_index":2746,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["0.095rem",{"_index":1844,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["0.1.0",{"_index":4319,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":4498,"title":{},"body":{"dependencies.html":{}}}],["0.12",{"_index":1550,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["0.125rem",{"_index":1640,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["0.12rem",{"_index":1530,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["0.14",{"_index":1548,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["0.15s",{"_index":1553,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["0.16",{"_index":3134,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["0.18.0",{"_index":4441,"title":{},"body":{"dependencies.html":{}}}],["0.1rem",{"_index":1937,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["0.2",{"_index":1546,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["0.2.0",{"_index":4316,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":4460,"title":{},"body":{"dependencies.html":{}}}],["0.25rem",{"_index":1556,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["0.2rem",{"_index":1648,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["0.2s",{"_index":1932,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["0.3125rem",{"_index":3728,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["0.3s",{"_index":1642,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["0.4",{"_index":395,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["0.42",{"_index":3508,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["0.4s",{"_index":3547,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["0.5",{"_index":3406,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["0.5.0",{"_index":4305,"title":{},"body":{"changelog.html":{}}}],["0.5rem",{"_index":702,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ViewerComponent.html":{}}}],["0.5s",{"_index":3302,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["0.6",{"_index":3736,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["0.6.0",{"_index":4286,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0.625rem",{"_index":3731,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["0.6s",{"_index":1939,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["0.75rem",{"_index":1531,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["0.875rem",{"_index":1635,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["0.9",{"_index":3504,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["0.9375rem",{"_index":1842,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["0/1",{"_index":4328,"title":{},"body":{"coverage.html":{}}}],["0/14",{"_index":4362,"title":{},"body":{"coverage.html":{}}}],["0/16",{"_index":4327,"title":{},"body":{"coverage.html":{}}}],["0/19",{"_index":4359,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":4337,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":4338,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":4336,"title":{},"body":{"coverage.html":{}}}],["0/5",{"_index":4335,"title":{},"body":{"coverage.html":{}}}],["0/6",{"_index":4331,"title":{},"body":{"coverage.html":{}}}],["0/7",{"_index":4358,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":4357,"title":{},"body":{"coverage.html":{}}}],["0000001d",{"_index":1938,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["0000003e",{"_index":1649,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["00000058",{"_index":1993,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["00e5ff",{"_index":753,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["01",{"_index":3940,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":4171,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":4126,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":1526,"title":{},"body":{"components/DonorCardComponent.html":{},"changelog.html":{}}}],["05",{"_index":1569,"title":{},"body":{"components/DonorCardComponent.html":{},"changelog.html":{}}}],["06",{"_index":3909,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":3901,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":4267,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":3931,"title":{},"body":{"changelog.html":{}}}],["0px",{"_index":1542,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["0rem",{"_index":1638,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["1",{"_index":425,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["1).touppercase",{"_index":3178,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["1)[0",{"_index":2712,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["1.0",{"_index":4198,"title":{},"body":{"changelog.html":{}}}],["1.0.0",{"_index":4255,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":4436,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":4445,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":4493,"title":{},"body":{"dependencies.html":{}}}],["1.0625rem",{"_index":3827,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["1.1.0",{"_index":4233,"title":{},"body":{"changelog.html":{}}}],["1.12rem",{"_index":1529,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["1.16.0",{"_index":4474,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":4438,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":4197,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":4448,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":4475,"title":{},"body":{"dependencies.html":{}}}],["1.25",{"_index":2889,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["1.25rem",{"_index":2891,"title":{},"body":{"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["1.2rem",{"_index":1991,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["1.3.5",{"_index":4170,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":4151,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":4462,"title":{},"body":{"dependencies.html":{}}}],["1.48rem",{"_index":1992,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["1.5",{"_index":2753,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["1.5.0",{"_index":4125,"title":{},"body":{"changelog.html":{}}}],["1.55rem",{"_index":1650,"title":{},"body":{"components/DropdownComponent.html":{}}}],["1.5em",{"_index":1831,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["1.5rem",{"_index":1560,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ViewerComponent.html":{}}}],["1.6.0",{"_index":4112,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":4103,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":4449,"title":{},"body":{"dependencies.html":{}}}],["1.75rem",{"_index":1846,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["1/1",{"_index":4340,"title":{},"body":{"coverage.html":{}}}],["1/8",{"_index":4347,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":544,"title":{},"body":{"components/AppWebComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["10.0.0",{"_index":4458,"title":{},"body":{"dependencies.html":{}}}],["10/12",{"_index":4344,"title":{},"body":{"coverage.html":{}}}],["10/13",{"_index":4368,"title":{},"body":{"coverage.html":{}}}],["100",{"_index":477,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{}}}],["1000",{"_index":2768,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["10px",{"_index":1549,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["10x",{"_index":4245,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":4153,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":4476,"title":{},"body":{"dependencies.html":{}}}],["11.5rem",{"_index":3409,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["110",{"_index":1121,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/variables.html":{}}}],["11rem",{"_index":3416,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["12",{"_index":3902,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{}}}],["12.0.1",{"_index":4478,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":4401,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":4405,"title":{},"body":{"dependencies.html":{}}}],["12.75rem",{"_index":3415,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["12/12",{"_index":4386,"title":{},"body":{"coverage.html":{}}}],["12/13",{"_index":4366,"title":{},"body":{"coverage.html":{}}}],["12/18",{"_index":4377,"title":{},"body":{"coverage.html":{}}}],["121",{"_index":3503,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["13",{"_index":1123,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["13/13",{"_index":4364,"title":{},"body":{"coverage.html":{}}}],["13/19",{"_index":4356,"title":{},"body":{"coverage.html":{}}}],["136",{"_index":3028,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["14",{"_index":3965,"title":{},"body":{"changelog.html":{}}}],["14/15",{"_index":4375,"title":{},"body":{"coverage.html":{}}}],["14/33",{"_index":4330,"title":{},"body":{"coverage.html":{}}}],["14rem",{"_index":3136,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["15",{"_index":3910,"title":{},"body":{"changelog.html":{}}}],["15.126.1",{"_index":4400,"title":{},"body":{"dependencies.html":{}}}],["15rem",{"_index":1843,"title":{},"body":{"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["16",{"_index":4088,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":4451,"title":{},"body":{"dependencies.html":{}}}],["16rem",{"_index":1564,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["17",{"_index":3954,"title":{},"body":{"changelog.html":{}}}],["17/17",{"_index":4363,"title":{},"body":{"coverage.html":{}}}],["17rem",{"_index":1570,"title":{},"body":{"components/DonorCardComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["18/18",{"_index":4381,"title":{},"body":{"coverage.html":{}}}],["18rem",{"_index":2542,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["19.5rem",{"_index":1551,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["19rem",{"_index":3407,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["1].color",{"_index":786,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["1em",{"_index":1633,"title":{},"body":{"components/DropdownComponent.html":{}}}],["1fr",{"_index":3298,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["1px",{"_index":1653,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["1rem",{"_index":700,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["1rem/1.25rem",{"_index":2083,"title":{},"body":{"components/HeaderComponent.html":{}}}],["1s",{"_index":2078,"title":{},"body":{"components/HeaderComponent.html":{}}}],["2",{"_index":393,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"changelog.html":{}}}],["2.0.0",{"_index":4087,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":4455,"title":{},"body":{"dependencies.html":{}}}],["2.0625rem",{"_index":3826,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["2.1.0",{"_index":4060,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2",{"_index":391,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["2.2.0",{"_index":4053,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.3.0",{"_index":4049,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":4044,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":4034,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":4020,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.5rem",{"_index":1539,"title":{},"body":{"components/DonorCardComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{}}}],["2.6.7",{"_index":4479,"title":{},"body":{"dependencies.html":{}}}],["2.8.5",{"_index":4447,"title":{},"body":{"dependencies.html":{}}}],["2.8125rem",{"_index":3730,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["2.awsapprunner.com",{"_index":4538,"title":{},"body":{"index.html":{}}}],["2/10",{"_index":4396,"title":{},"body":{"coverage.html":{}}}],["2/2",{"_index":4385,"title":{},"body":{"coverage.html":{}}}],["2/6",{"_index":4349,"title":{},"body":{"coverage.html":{}}}],["20",{"_index":2016,"title":{},"body":{"classes/FlatNode.html":{},"coverage.html":{}}}],["2019",{"_index":4266,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":4200,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":4009,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":3923,"title":{},"body":{"changelog.html":{}}}],["2023",{"_index":3900,"title":{},"body":{"changelog.html":{}}}],["20em",{"_index":1837,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["20rem",{"_index":2894,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["21",{"_index":4104,"title":{},"body":{"changelog.html":{}}}],["22",{"_index":4257,"title":{},"body":{"changelog.html":{},"overview.html":{}}}],["229",{"_index":3029,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["22rem",{"_index":3756,"title":{},"body":{"components/TissueBlockListComponent.html":{}}}],["23",{"_index":4619,"title":{},"body":{"overview.html":{}}}],["23.75rem",{"_index":2543,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["232f3a",{"_index":3417,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["24",{"_index":4306,"title":{},"body":{"changelog.html":{}}}],["24.5rem",{"_index":3138,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["24/24",{"_index":4394,"title":{},"body":{"coverage.html":{}}}],["24px.svg",{"_index":1421,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["25",{"_index":714,"title":{},"body":{"components/CheckboxComponent.html":{},"components/FiltersContentComponent.html":{}}}],["255",{"_index":758,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"miscellaneous/variables.html":{}}}],["25rem",{"_index":2072,"title":{},"body":{"components/HeaderComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["26",{"_index":4127,"title":{},"body":{"changelog.html":{}}}],["26/26",{"_index":4388,"title":{},"body":{"coverage.html":{}}}],["26th",{"_index":4156,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":3932,"title":{},"body":{"changelog.html":{}}}],["275s",{"_index":1643,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["29",{"_index":4392,"title":{},"body":{"coverage.html":{}}}],["2979ff",{"_index":745,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["2px",{"_index":1544,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{}}}],["2rem",{"_index":1515,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["3",{"_index":645,"title":{},"body":{"components/CheckboxComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"changelog.html":{}}}],["3.0.0",{"_index":4005,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":4420,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":3976,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":3971,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":3964,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":3953,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":3939,"title":{},"body":{"changelog.html":{}}}],["3.5.0",{"_index":3930,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":4425,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":4427,"title":{},"body":{"dependencies.html":{}}}],["3.5rem",{"_index":3139,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ViewerComponent.html":{}}}],["3.6",{"_index":4544,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":3922,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.7.0",{"_index":3908,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":4430,"title":{},"body":{"dependencies.html":{}}}],["3.7.2",{"_index":3899,"title":{},"body":{"changelog.html":{}}}],["3.7.3",{"_index":4432,"title":{},"body":{"dependencies.html":{}}}],["3.75rem",{"_index":3729,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["3/3",{"_index":4384,"title":{},"body":{"coverage.html":{}}}],["3/6",{"_index":4334,"title":{},"body":{"coverage.html":{}}}],["30",{"_index":3027,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"overview.html":{}}}],["30.5rem",{"_index":3133,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["300",{"_index":2892,"title":{},"body":{"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["3000",{"_index":347,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["31",{"_index":4234,"title":{},"body":{"changelog.html":{}}}],["32/37",{"_index":4371,"title":{},"body":{"coverage.html":{}}}],["33",{"_index":712,"title":{},"body":{"components/CheckboxComponent.html":{},"components/FiltersContentComponent.html":{},"components/SpatialSearchUiComponent.html":{},"coverage.html":{}}}],["35rem",{"_index":1994,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["36/42",{"_index":4348,"title":{},"body":{"coverage.html":{}}}],["3d",{"_index":2344,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["3px",{"_index":3757,"title":{},"body":{"components/TissueBlockListComponent.html":{}}}],["3rem",{"_index":1512,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["3s",{"_index":1645,"title":{},"body":{"components/DropdownComponent.html":{}}}],["4",{"_index":3301,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["4.0",{"_index":4522,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":4429,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":4453,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":4471,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":4443,"title":{},"body":{"dependencies.html":{}}}],["4.375rem",{"_index":1839,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["4.6.0",{"_index":4464,"title":{},"body":{"dependencies.html":{}}}],["4/4",{"_index":4343,"title":{},"body":{"coverage.html":{}}}],["4/5",{"_index":4389,"title":{},"body":{"coverage.html":{}}}],["4/6",{"_index":4395,"title":{},"body":{"coverage.html":{}}}],["400",{"_index":2082,"title":{},"body":{"components/HeaderComponent.html":{}}}],["41",{"_index":3502,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["42",{"_index":4329,"title":{},"body":{"coverage.html":{}}}],["42/44",{"_index":4382,"title":{},"body":{"coverage.html":{}}}],["45rem",{"_index":3404,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["46",{"_index":4360,"title":{},"body":{"coverage.html":{}}}],["4em",{"_index":1990,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["4px",{"_index":1547,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["4rem",{"_index":2070,"title":{},"body":{"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["4th",{"_index":3925,"title":{},"body":{"changelog.html":{}}}],["5",{"_index":1566,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersPopoverComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["5.0.0",{"_index":4465,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":4470,"title":{},"body":{"dependencies.html":{}}}],["5.5rem",{"_index":1022,"title":{},"body":{"components/ContentComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["5/5",{"_index":4352,"title":{},"body":{"coverage.html":{}}}],["5/6",{"_index":4378,"title":{},"body":{"coverage.html":{}}}],["50",{"_index":1518,"title":{},"body":{"components/DonorCardComponent.html":{},"components/HeaderComponent.html":{},"coverage.html":{}}}],["500",{"_index":2077,"title":{},"body":{"components/HeaderComponent.html":{}}}],["5em",{"_index":1660,"title":{},"body":{"components/DropdownComponent.html":{}}}],["5fr",{"_index":3296,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["5rem",{"_index":1942,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{}}}],["5s",{"_index":1025,"title":{},"body":{"components/ContentComponent.html":{}}}],["5th",{"_index":3914,"title":{},"body":{"changelog.html":{}}}],["6.0.1",{"_index":4468,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":4482,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":4428,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":4490,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":4488,"title":{},"body":{"dependencies.html":{}}}],["6/12",{"_index":4354,"title":{},"body":{"coverage.html":{}}}],["6/6",{"_index":4353,"title":{},"body":{"coverage.html":{}}}],["6/8",{"_index":4333,"title":{},"body":{"coverage.html":{}}}],["600",{"_index":1537,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["60rem",{"_index":3405,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["66",{"_index":4376,"title":{},"body":{"coverage.html":{}}}],["68",{"_index":4355,"title":{},"body":{"coverage.html":{}}}],["6px",{"_index":1543,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["6s",{"_index":1940,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["7.75rem",{"_index":2890,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["7/15",{"_index":4361,"title":{},"body":{"coverage.html":{}}}],["7/7",{"_index":4383,"title":{},"body":{"coverage.html":{}}}],["72",{"_index":4341,"title":{},"body":{"coverage.html":{}}}],["72rem",{"_index":3093,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["7323e2",{"_index":749,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["75",{"_index":4332,"title":{},"body":{"coverage.html":{}}}],["75rem",{"_index":1840,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["76",{"_index":4367,"title":{},"body":{"coverage.html":{}}}],["78vw",{"_index":3403,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["7rem",{"_index":3299,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["8",{"_index":4107,"title":{},"body":{"changelog.html":{}}}],["8.25rem",{"_index":2076,"title":{},"body":{"components/HeaderComponent.html":{}}}],["8.3.2",{"_index":4496,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":4424,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":4413,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":4416,"title":{},"body":{"dependencies.html":{}}}],["8/11",{"_index":4342,"title":{},"body":{"coverage.html":{}}}],["8/27",{"_index":4393,"title":{},"body":{"coverage.html":{}}}],["8/8",{"_index":4379,"title":{},"body":{"coverage.html":{}}}],["80",{"_index":1563,"title":{},"body":{"components/DonorCardComponent.html":{},"coverage.html":{}}}],["81",{"_index":4390,"title":{},"body":{"coverage.html":{}}}],["82b1ff",{"_index":751,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["83",{"_index":1124,"title":{},"body":{"interfaces/DataStateModel.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["85",{"_index":1558,"title":{},"body":{"components/DonorCardComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["86",{"_index":4370,"title":{},"body":{"coverage.html":{}}}],["875rem",{"_index":3604,"title":{},"body":{"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["9.5rem",{"_index":1652,"title":{},"body":{"components/DropdownComponent.html":{}}}],["9.75px",{"_index":2918,"title":{},"body":{"components/RunSpatialSearchComponent.html":{}}}],["9.85rem",{"_index":1628,"title":{},"body":{"components/DropdownComponent.html":{}}}],["9/11",{"_index":4391,"title":{},"body":{"coverage.html":{}}}],["9/9",{"_index":4387,"title":{},"body":{"coverage.html":{}}}],["90",{"_index":1941,"title":{},"body":{"components/FiltersContentComponent.html":{},"changelog.html":{}}}],["92",{"_index":4365,"title":{},"body":{"coverage.html":{}}}],["93",{"_index":4374,"title":{},"body":{"coverage.html":{}}}],["95",{"_index":2895,"title":{},"body":{"components/ResultsBrowserComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["95vh",{"_index":3402,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["99",{"_index":3546,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["9th",{"_index":4136,"title":{},"body":{"changelog.html":{}}}],["_aggregatedataquerystatus",{"_index":1172,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["_blank",{"_index":440,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["_celltypetermoccurencesdataquerystatus",{"_index":1176,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["_config",{"_index":3875,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["_createcontainer",{"_index":459,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["_error",{"_index":2136,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["_expanded",{"_index":2226,"title":{},"body":{"classes/InitializationState.html":{}}}],["_index",{"_index":3688,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["_measuredmargin",{"_index":2256,"title":{},"body":{"classes/InitializationState.html":{}}}],["_measuredwidth",{"_index":2250,"title":{},"body":{"classes/InitializationState.html":{}}}],["_msg",{"_index":849,"title":{},"body":{"components/ContainerComponent.html":{}}}],["_ontologytermoccurencesdataquerystatus",{"_index":1174,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["_opened",{"_index":2222,"title":{},"body":{"classes/InitializationState.html":{}}}],["_position",{"_index":2218,"title":{},"body":{"classes/InitializationState.html":{}}}],["_providerfilterquerystatus",{"_index":1182,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["_scenedataquerystatus",{"_index":1178,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["_technologyfilterquerystatus",{"_index":1180,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["_tissueblockdataquerystatus",{"_index":1170,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["a.color.color",{"_index":801,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["ability",{"_index":4068,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":4302,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["absolute",{"_index":1554,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["acc",{"_index":796,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["acc[item.key",{"_index":794,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["accent",{"_index":691,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{}}}],["acceptable",{"_index":274,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["acceptableviewerdomains",{"_index":280,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["accepting",{"_index":2306,"title":{},"body":{"classes/InitializationState.html":{}}}],["accessors",{"_index":834,"title":{},"body":{"components/ContainerComponent.html":{},"components/DualSliderComponent.html":{},"classes/FlatNode.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["according",{"_index":351,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["accordingly",{"_index":1964,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["accurate",{"_index":4124,"title":{},"body":{"changelog.html":{}}}],["acf32b",{"_index":750,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["action",{"_index":1095,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"miscellaneous/functions.html":{},"license.html":{}}}],["action(addsearch",{"_index":3154,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["action(generatespatialsearch",{"_index":2792,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(movetonode",{"_index":2762,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(reallyupdatespatialsearch",{"_index":2778,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(removesearch",{"_index":3157,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["action(resetposition",{"_index":2759,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(resetradius",{"_index":2774,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(setexecutesearchongenerate",{"_index":2804,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(setorgan",{"_index":2733,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(setposition",{"_index":2755,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(setradius",{"_index":2770,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(setselectedsearches",{"_index":3161,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["action(setsex",{"_index":2719,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(startspatialsearchflow",{"_index":2707,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["action(updatefilter",{"_index":1281,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["actionasfn",{"_index":204,"title":{},"body":{"interfaces/AppOptions.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["actionasfn(movetonode",{"_index":3328,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["actionasfn(removesearch",{"_index":251,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["actionasfn(resetposition",{"_index":3337,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["actionasfn(resetradius",{"_index":3339,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["actionasfn(setorgan",{"_index":3078,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["actionasfn(setposition",{"_index":3349,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["actionasfn(setradius",{"_index":3351,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["actionasfn(setselectedsearches",{"_index":249,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["actionasfn(setsex",{"_index":3080,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["actionasfn(type",{"_index":4506,"title":{},"body":{"miscellaneous/functions.html":{}}}],["actions",{"_index":2670,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{}}}],["actions$.pipe",{"_index":2703,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["actions.push(new",{"_index":2800,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["activate",{"_index":291,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["active",{"_index":2955,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpinnerOverlayComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["active/showing",{"_index":3541,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["activeorgans",{"_index":3014,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["activeorgans.has(o.representation_of)).map(o",{"_index":3018,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["activeorgans.has(tag",{"_index":3022,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["actual_component",{"_index":621,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["add",{"_index":32,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"classes/StartSpatialSearchFlow.html":{},"injectables/ThemingService.html":{},"classes/UpdateSpatialSearch.html":{}}}],["addclass",{"_index":3664,"title":{},"body":{"injectables/ThemingService.html":{}}}],["added",{"_index":3903,"title":{},"body":{"changelog.html":{}}}],["additional",{"_index":4303,"title":{},"body":{"changelog.html":{}}}],["addressed",{"_index":4227,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":2791,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["addsearch",{"_index":1,"title":{"classes/AddSearch.html":{}},"body":{"classes/AddSearch.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"coverage.html":{}}}],["addsearch(ctx",{"_index":3155,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["addsearch(sex",{"_index":2797,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["addspatialsearch",{"_index":3311,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["addsvgicon",{"_index":2139,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["adjusting",{"_index":4224,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":4150,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":4090,"title":{},"body":{"changelog.html":{}}}],["afterviewinit",{"_index":817,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["again",{"_index":4206,"title":{},"body":{"changelog.html":{}}}],["against",{"_index":2295,"title":{},"body":{"classes/InitializationState.html":{}}}],["age",{"_index":1773,"title":{},"body":{"components/DualSliderComponent.html":{},"changelog.html":{}}}],["agerange",{"_index":1120,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/variables.html":{}}}],["aggregate",{"_index":1193,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["aggregatedata",{"_index":1194,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/ResultsBrowserComponent.html":{}}}],["aggregatedata(filter",{"_index":1289,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["aggregatedataquerystatus",{"_index":1171,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["aggregateresult",{"_index":1098,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/ResultsBrowserComponent.html":{}}}],["ala",{"_index":4047,"title":{},"body":{"changelog.html":{}}}],["aliases",{"_index":4621,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["align",{"_index":1513,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["all_possible_organs",{"_index":2968,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["allcompleted",{"_index":4350,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["allcompleted(states",{"_index":1140,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["allowed",{"_index":3859,"title":{},"body":{"components/ViewerComponent.html":{}}}],["allowing",{"_index":2847,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["allows",{"_index":1463,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"changelog.html":{}}}],["allowtouchmove",{"_index":3691,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["along",{"_index":2640,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["alongside",{"_index":3543,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["alpha",{"_index":4297,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":4278,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":4274,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":4265,"title":{},"body":{"changelog.html":{}}}],["already",{"_index":870,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/ThemingService.html":{}}}],["alt",{"_index":4526,"title":{},"body":{"index.html":{}}}],["always",{"_index":898,"title":{},"body":{"components/ContainerComponent.html":{},"components/HeaderComponent.html":{}}}],["amount",{"_index":3225,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["analytics",{"_index":642,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{},"dependencies.html":{}}}],["analyticsmodule",{"_index":1062,"title":{},"body":{"modules/CoreModule.html":{}}}],["analyticsmodule.forroot",{"_index":1074,"title":{},"body":{"modules/CoreModule.html":{}}}],["anatomical",{"_index":409,"title":{},"body":{"interfaces/AppOptions.html":{},"components/SpatialSearchUiComponent.html":{},"changelog.html":{}}}],["anatomicalstructures",{"_index":2691,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["anatomicalstructures(state",{"_index":3442,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["anatomicalstructuresettings",{"_index":2972,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["anatomicalstructurestreemodel",{"_index":1088,"title":{},"body":{"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{}}}],["anatomicalstructurestreemodel(state",{"_index":1306,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["and/or",{"_index":4586,"title":{},"body":{"license.html":{}}}],["angular",{"_index":227,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/OntologySearchService.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SearchResult.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular's",{"_index":1736,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["angular/animations",{"_index":989,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{},"dependencies.html":{}}}],["angular/cdk",{"_index":4402,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk/coercion",{"_index":2176,"title":{},"body":{"classes/InitializationState.html":{}}}],["angular/cdk/overlay",{"_index":85,"title":{},"body":{"modules/AppModule.html":{},"injectables/AppRootOverlayContainer.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"injectables/ThemingService.html":{}}}],["angular/cdk/portal",{"_index":1775,"title":{},"body":{"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{}}}],["angular/cdk/scrolling",{"_index":2902,"title":{},"body":{"modules/ResultsBrowserModule.html":{}}}],["angular/common",{"_index":722,"title":{},"body":{"modules/CheckboxModule.html":{},"modules/DonorCardModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"dependencies.html":{}}}],["angular/common/http",{"_index":1059,"title":{},"body":{"modules/CoreModule.html":{}}}],["angular/compiler",{"_index":4403,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":89,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"dependencies.html":{}}}],["angular/elements",{"_index":91,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/forms",{"_index":2510,"title":{},"body":{"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"modules/SpatialSearchConfigModule.html":{},"dependencies.html":{}}}],["angular/material",{"_index":4404,"title":{},"body":{"dependencies.html":{}}}],["angular/material/autocomplete",{"_index":2511,"title":{},"body":{"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{}}}],["angular/material/button",{"_index":1950,"title":{},"body":{"modules/FiltersContentModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyTreeModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/ViewerModule.html":{}}}],["angular/material/checkbox",{"_index":677,"title":{},"body":{"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"modules/DonorCardModule.html":{}}}],["angular/material/dialog",{"_index":2911,"title":{},"body":{"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{}}}],["angular/material/divider",{"_index":3426,"title":{},"body":{"modules/SpatialSearchUiModule.html":{}}}],["angular/material/form",{"_index":1667,"title":{},"body":{"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/OntologySearchModule.html":{},"modules/TermOccurrenceListModule.html":{}}}],["angular/material/icon",{"_index":93,"title":{},"body":{"modules/AppModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/OntologySearchModule.html":{},"modules/OntologyTreeModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/ViewerModule.html":{}}}],["angular/material/input",{"_index":2553,"title":{},"body":{"modules/OntologySearchModule.html":{}}}],["angular/material/progress",{"_index":3553,"title":{},"body":{"modules/SpinnerOverlayModule.html":{},"modules/ViewerModule.html":{}}}],["angular/material/radio",{"_index":3145,"title":{},"body":{"modules/SpatialSearchConfigModule.html":{}}}],["angular/material/select",{"_index":1669,"title":{},"body":{"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/TermOccurrenceListModule.html":{}}}],["angular/material/slider",{"_index":3428,"title":{},"body":{"modules/SpatialSearchUiModule.html":{}}}],["angular/material/snack",{"_index":95,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{}}}],["angular/material/toolbar",{"_index":2093,"title":{},"body":{"modules/HeaderModule.html":{}}}],["angular/material/tooltip",{"_index":98,"title":{},"body":{"modules/AppModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyTreeModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/TissueBlockListModule.html":{}}}],["angular/material/tree",{"_index":2665,"title":{},"body":{"modules/OntologyTreeModule.html":{}}}],["angular/platform",{"_index":100,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ViewerComponent.html":{},"dependencies.html":{}}}],["angular/router",{"_index":4407,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":4408,"title":{},"body":{"dependencies.html":{}}}],["animate",{"_index":985,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{}}}],["animate('.5s",{"_index":2203,"title":{},"body":{"classes/InitializationState.html":{}}}],["animate('1s",{"_index":995,"title":{},"body":{"components/ContentComponent.html":{}}}],["animate(0",{"_index":2202,"title":{},"body":{"classes/InitializationState.html":{}}}],["animated",{"_index":3092,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["animation",{"_index":1641,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["animations",{"_index":943,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{}}}],["animationsenabled",{"_index":946,"title":{},"body":{"components/ContentComponent.html":{}}}],["api",{"_index":3566,"title":{},"body":{"modules/StoreModule.html":{},"changelog.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":4536,"title":{},"body":{"index.html":{}}}],["apiendpointdatasourceservice",{"_index":1434,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["app",{"_index":116,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"components/OntologySelectionComponent.html":{},"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["app.component",{"_index":119,"title":{},"body":{"modules/AppModule.html":{}}}],["app.component.html",{"_index":236,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app.component.scss",{"_index":238,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["app/core/services/theming/theming.service",{"_index":115,"title":{},"body":{"modules/AppModule.html":{}}}],["app_bootstrap_listener",{"_index":3614,"title":{},"body":{"modules/ThemingModule.html":{}}}],["appcomponent",{"_index":61,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["appear",{"_index":3292,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{},"changelog.html":{}}}],["appearance",{"_index":2539,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["appelement",{"_index":151,"title":{},"body":{"modules/AppModule.html":{}}}],["append",{"_index":3148,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["appendtoroot",{"_index":460,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["application",{"_index":4141,"title":{},"body":{"changelog.html":{}}}],["application/javascript",{"_index":3891,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["applied",{"_index":1878,"title":{},"body":{"components/FiltersContentComponent.html":{},"changelog.html":{}}}],["apply",{"_index":1886,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["applybuttonclick",{"_index":1861,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["applyfilters",{"_index":1868,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["applyfilters(filters",{"_index":1975,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["applythemeclass",{"_index":3621,"title":{},"body":{"injectables/ThemingService.html":{}}}],["applythemeclass(cls",{"_index":3627,"title":{},"body":{"injectables/ThemingService.html":{}}}],["appmodule",{"_index":55,"title":{"modules/AppModule.html":{}},"body":{"modules/AppModule.html":{},"modules.html":{},"overview.html":{}}}],["appname",{"_index":1077,"title":{},"body":{"modules/CoreModule.html":{}}}],["appoptions",{"_index":157,"title":{"interfaces/AppOptions.html":{}},"body":{"interfaces/AppOptions.html":{},"coverage.html":{}}}],["approotoverlaycontainer",{"_index":109,"title":{"injectables/AppRootOverlayContainer.html":{}},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"coverage.html":{}}}],["appropriate",{"_index":3989,"title":{},"body":{"changelog.html":{}}}],["appwebcomponent",{"_index":62,"title":{"components/AppWebComponent.html":{}},"body":{"modules/AppModule.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["april",{"_index":4135,"title":{},"body":{"changelog.html":{}}}],["area",{"_index":3300,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["arg",{"_index":2127,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["args",{"_index":2131,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["args.filter(value",{"_index":2146,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["argument",{"_index":2144,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["arguments",{"_index":1712,"title":{},"body":{"components/DualSliderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["arising",{"_index":4614,"title":{},"body":{"license.html":{}}}],["array",{"_index":422,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"components/DualSliderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/OntologySearchService.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SearchResult.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueSectionVisComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["array.from(searchresults.values",{"_index":2612,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["array.isarray(val",{"_index":533,"title":{},"body":{"components/AppWebComponent.html":{}}}],["arrow",{"_index":1658,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["arrow_left",{"_index":3818,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["arrow_right",{"_index":3817,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["asct+b",{"_index":4010,"title":{},"body":{"changelog.html":{}}}],["asking",{"_index":651,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["assays",{"_index":1933,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["assets/icons/expand_less",{"_index":1428,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/expand_more",{"_index":1426,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/filter.svg",{"_index":1429,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/opacity",{"_index":1420,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/organs/ico",{"_index":1343,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/visibility",{"_index":1423,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assigncolor",{"_index":802,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assigncolor(@payload('key",{"_index":779,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["assigncolor(key",{"_index":805,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assignment",{"_index":767,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["assignment.state",{"_index":2348,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["assignment.state.ts",{"_index":727,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["assignment.state.ts:102",{"_index":810,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assignment.state.ts:57",{"_index":813,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assignment.state.ts:59",{"_index":814,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assignment.state.ts:60",{"_index":811,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assignment.state.ts:61",{"_index":812,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assignment.state.ts:63",{"_index":808,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assignment.state.ts:69",{"_index":807,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["assignment/color",{"_index":726,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["assignment/selection",{"_index":4114,"title":{},"body":{"changelog.html":{}}}],["assignments",{"_index":2338,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["associated",{"_index":2380,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"changelog.html":{},"license.html":{}}}],["async",{"_index":2162,"title":{},"body":{"classes/InitializationState.html":{}}}],["at(nodes",{"_index":2619,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["atlas",{"_index":3897,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["atscrollbottom",{"_index":2829,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["attach",{"_index":3807,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["attached",{"_index":456,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["attempts",{"_index":4037,"title":{},"body":{"changelog.html":{}}}],["authentication",{"_index":2075,"title":{},"body":{"components/HeaderComponent.html":{}}}],["authors",{"_index":4606,"title":{},"body":{"license.html":{}}}],["auto",{"_index":1023,"title":{},"body":{"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["autocomplete",{"_index":2505,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["autocompleteopen",{"_index":2461,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["autofocus",{"_index":3090,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["automatic",{"_index":4216,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":4176,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":2950,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"modules.html":{}}}],["avoid",{"_index":4078,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":2168,"title":{},"body":{"classes/InitializationState.html":{}}}],["awaited",{"_index":2158,"title":{},"body":{"classes/InitializationState.html":{}}}],["award",{"_index":4563,"title":{},"body":{"index.html":{}}}],["axis",{"_index":3791,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["b92dff",{"_index":747,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["backend",{"_index":4024,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":1464,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"changelog.html":{},"index.html":{}}}],["backing",{"_index":2120,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["bar",{"_index":96,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/DualSliderComponent.html":{}}}],["base",{"_index":4282,"title":{},"body":{"changelog.html":{}}}],["based",{"_index":421,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContentComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"changelog.html":{}}}],["basepath",{"_index":1079,"title":{},"body":{"modules/CoreModule.html":{}}}],["basewebcomponent",{"_index":493,"title":{},"body":{"components/AppWebComponent.html":{}}}],["basic",{"_index":4089,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["bbox",{"_index":2244,"title":{},"body":{"classes/InitializationState.html":{}}}],["bbox.left",{"_index":2247,"title":{},"body":{"classes/InitializationState.html":{}}}],["bbox.right",{"_index":2246,"title":{},"body":{"classes/InitializationState.html":{}}}],["before",{"_index":1331,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"classes/InitializationState.html":{},"changelog.html":{}}}],["behavior",{"_index":3046,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["behavior'},{'name",{"_index":592,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["behavior.component",{"_index":2913,"title":{},"body":{"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{}}}],["behavior.component.html",{"_index":3047,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts",{"_index":3045,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"coverage.html":{}}}],["behavior.component.ts:102",{"_index":3238,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:104",{"_index":3317,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:110",{"_index":3240,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:121",{"_index":3319,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:135",{"_index":3316,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:144",{"_index":3315,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:152",{"_index":3320,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:16",{"_index":3229,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:19",{"_index":3224,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:22",{"_index":3076,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:25",{"_index":3074,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:28",{"_index":3071,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:31",{"_index":3081,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:34",{"_index":3079,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:36",{"_index":3072,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["behavior.component.ts:37",{"_index":3246,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:38",{"_index":3077,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:40",{"_index":3062,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["behavior.component.ts:41",{"_index":3343,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:43",{"_index":3069,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:44",{"_index":3345,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:47",{"_index":3346,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:49",{"_index":3063,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["behavior.component.ts:50",{"_index":3329,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:53",{"_index":3332,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:54",{"_index":3064,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["behavior.component.ts:56",{"_index":3326,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:58",{"_index":3066,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["behavior.component.ts:59",{"_index":3334,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:62",{"_index":3336,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:65",{"_index":3348,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:68",{"_index":3322,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:71",{"_index":3324,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:72",{"_index":3068,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["behavior.component.ts:74",{"_index":3350,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:77",{"_index":3338,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:80",{"_index":3231,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:83",{"_index":3067,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:86",{"_index":3340,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:89",{"_index":3330,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:90",{"_index":3234,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["behavior.component.ts:92",{"_index":3314,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.component.ts:96",{"_index":3327,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["behavior.module",{"_index":3430,"title":{},"body":{"modules/SpatialSearchUiModule.html":{}}}],["behavior.module.ts",{"_index":3112,"title":{},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{}}}],["behavior/spatial",{"_index":2912,"title":{},"body":{"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"coverage.html":{}}}],["behavioral",{"_index":3210,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["being",{"_index":3244,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/StoreModule.html":{},"changelog.html":{}}}],["beta",{"_index":4008,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":4061,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":397,"title":{},"body":{"interfaces/AppOptions.html":{},"components/FiltersContentComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{},"changelog.html":{}}}],["bind",{"_index":1097,"title":{},"body":{"interfaces/DataStateModel.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"dependencies.html":{}}}],["binds",{"_index":3639,"title":{},"body":{"injectables/ThemingService.html":{}}}],["black",{"_index":3410,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["bladder",{"_index":1342,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bladder.svg",{"_index":1344,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["blob",{"_index":3889,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["bloc",{"_index":3605,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["block",{"_index":473,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"modules/SpatialSearchUiModule.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["block.spatialentityid",{"_index":3498,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["blocks",{"_index":3384,"title":{},"body":{"components/SpatialSearchUiComponent.html":{},"components/TissueBlockListComponent.html":{},"changelog.html":{}}}],["blood",{"_index":1345,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["blood.svg",{"_index":1346,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bmi",{"_index":4031,"title":{},"body":{"changelog.html":{}}}],["bmirange",{"_index":1122,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/variables.html":{}}}],["board",{"_index":4276,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":260,"title":{},"body":{"interfaces/AppOptions.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateSpatialSearch.html":{},"changelog.html":{},"dependencies.html":{}}}],["bodyui",{"_index":243,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["bodyuicomponent",{"_index":193,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["bodyuimodule",{"_index":104,"title":{},"body":{"modules/AppModule.html":{},"modules/SpatialSearchUiModule.html":{}}}],["bold",{"_index":705,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["bone",{"_index":1347,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["boolean",{"_index":166,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"interfaces/TermResult.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/functions.html":{}}}],["booleaninput",{"_index":2174,"title":{},"body":{"classes/InitializationState.html":{}}}],["bootstrap",{"_index":3636,"title":{},"body":{"injectables/ThemingService.html":{}}}],["border",{"_index":1516,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["both",{"_index":1119,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/FiltersContentComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["bottom",{"_index":701,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ViewerComponent.html":{}}}],["bound",{"_index":1756,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["bounds",{"_index":3380,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["box",{"_index":1541,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"changelog.html":{}}}],["brain",{"_index":1350,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["brain.svg",{"_index":1351,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["branch",{"_index":229,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["break",{"_index":3257,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["breaking",{"_index":4098,"title":{},"body":{"changelog.html":{}}}],["breaks",{"_index":2356,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["breast.svg",{"_index":1380,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bringing",{"_index":4108,"title":{},"body":{"changelog.html":{}}}],["bronchus",{"_index":1375,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bronchus.svg",{"_index":1377,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["browse",{"_index":4617,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":101,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"modules/DrawerModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ResultsBrowserComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"dependencies.html":{},"modules.html":{}}}],["browser'},{'name",{"_index":587,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["browser.component",{"_index":2903,"title":{},"body":{"modules/ResultsBrowserModule.html":{}}}],["browser.component.html",{"_index":2828,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.scss",{"_index":2827,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts",{"_index":2819,"title":{},"body":{"components/ResultsBrowserComponent.html":{},"coverage.html":{}}}],["browser.component.ts:102",{"_index":2868,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:111",{"_index":2857,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:115",{"_index":2865,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:24",{"_index":2845,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:29",{"_index":2842,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:34",{"_index":2846,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:36",{"_index":2844,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:38",{"_index":2843,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:44",{"_index":2850,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:49",{"_index":2855,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:54",{"_index":2853,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:56",{"_index":2848,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:58",{"_index":2849,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:64",{"_index":2841,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:79",{"_index":2862,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.component.ts:93",{"_index":2859,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["browser.module",{"_index":129,"title":{},"body":{"modules/AppModule.html":{}}}],["browser.module.ts",{"_index":2900,"title":{},"body":{"modules/ResultsBrowserModule.html":{}}}],["browser/animations",{"_index":103,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{}}}],["browser/donor",{"_index":1445,"title":{},"body":{"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"coverage.html":{}}}],["browser/results",{"_index":128,"title":{},"body":{"modules/AppModule.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"coverage.html":{}}}],["browser/tissue",{"_index":3763,"title":{},"body":{"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"coverage.html":{}}}],["browseranimationsmodule",{"_index":102,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{}}}],["browserify",{"_index":4489,"title":{},"body":{"dependencies.html":{}}}],["browsermodule",{"_index":99,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{}}}],["browsing",{"_index":4321,"title":{},"body":{"changelog.html":{}}}],["bubble_chart",{"_index":1504,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["bug",{"_index":3963,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":4519,"title":{},"body":{"index.html":{}}}],["builds",{"_index":4004,"title":{},"body":{"changelog.html":{}}}],["builtin_parsers",{"_index":524,"title":{},"body":{"components/AppWebComponent.html":{}}}],["builtin_parsers.boolean",{"_index":551,"title":{},"body":{"components/AppWebComponent.html":{}}}],["builtin_parsers.json(value",{"_index":536,"title":{},"body":{"components/AppWebComponent.html":{}}}],["button",{"_index":1046,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["button'},{'name",{"_index":618,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["button.component",{"_index":1596,"title":{},"body":{"modules/DrawerModule.html":{}}}],["button.component.html",{"_index":3800,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.scss",{"_index":3799,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts",{"_index":3798,"title":{},"body":{"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["button.component.ts:19",{"_index":3805,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:22",{"_index":3806,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:27",{"_index":3816,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:38",{"_index":3813,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:40",{"_index":3812,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:42",{"_index":3803,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:65",{"_index":3809,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:75",{"_index":3810,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:85",{"_index":3808,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:97",{"_index":3811,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button/toggle",{"_index":1595,"title":{},"body":{"modules/DrawerModule.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["buttonclicked",{"_index":3053,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["buttons",{"_index":3408,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["c",{"_index":4568,"title":{},"body":{"license.html":{}}}],["c.color",{"_index":790,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["cache",{"_index":3904,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["cacheable",{"_index":4492,"title":{},"body":{"dependencies.html":{}}}],["cached",{"_index":2248,"title":{},"body":{"classes/InitializationState.html":{}}}],["calc",{"_index":3829,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["calc(100",{"_index":1021,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["calc(100vh",{"_index":2893,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["calc(50",{"_index":2207,"title":{},"body":{"classes/InitializationState.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["calculated",{"_index":2240,"title":{},"body":{"classes/InitializationState.html":{}}}],["call",{"_index":370,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["callable",{"_index":4511,"title":{},"body":{"miscellaneous/functions.html":{}}}],["callables",{"_index":4508,"title":{},"body":{"miscellaneous/functions.html":{}}}],["callback",{"_index":2495,"title":{},"body":{"components/OntologySearchComponent.html":{},"changelog.html":{}}}],["called",{"_index":1143,"title":{},"body":{"interfaces/DataStateModel.html":{},"classes/InitializationState.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"injectables/ThemingService.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["calls",{"_index":3928,"title":{},"body":{"changelog.html":{}}}],["calltoactionstate",{"_index":3564,"title":{},"body":{"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["camera",{"_index":3396,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["cancelregistration",{"_index":4069,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":4259,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":4439,"title":{},"body":{"dependencies.html":{}}}],["capitalize",{"_index":3176,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["capitalize(name",{"_index":3181,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["capitalize(sex",{"_index":3180,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["captures",{"_index":400,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/OntologySelectionComponent.html":{}}}],["card",{"_index":1448,"title":{},"body":{"components/DonorCardComponent.html":{},"changelog.html":{}}}],["card'},{'name",{"_index":568,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["card.component",{"_index":1585,"title":{},"body":{"modules/DonorCardModule.html":{}}}],["card.component.html",{"_index":1452,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.scss",{"_index":1451,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts",{"_index":1447,"title":{},"body":{"components/DonorCardComponent.html":{},"coverage.html":{}}}],["card.component.ts:17",{"_index":1473,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:20",{"_index":1469,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:23",{"_index":1468,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:26",{"_index":1462,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:29",{"_index":1466,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:31",{"_index":1467,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:34",{"_index":1470,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:37",{"_index":1471,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:40",{"_index":1461,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:52",{"_index":1474,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:62",{"_index":1486,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.component.ts:76",{"_index":1478,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["card.module",{"_index":2904,"title":{},"body":{"modules/ResultsBrowserModule.html":{}}}],["card.module.ts",{"_index":1581,"title":{},"body":{"modules/DonorCardModule.html":{}}}],["card/donor",{"_index":1446,"title":{},"body":{"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"modules/ResultsBrowserModule.html":{},"coverage.html":{}}}],["cards",{"_index":3672,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel",{"_index":266,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["carousel'},{'name",{"_index":610,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["carousel.component",{"_index":3746,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{}}}],["carousel.component.html",{"_index":3674,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.scss",{"_index":3673,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts",{"_index":3669,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["carousel.component.ts:29",{"_index":3683,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts:34",{"_index":3681,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts:39",{"_index":3682,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts:44",{"_index":3713,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts:49",{"_index":3716,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts:56",{"_index":3720,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts:63",{"_index":3697,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts:75",{"_index":3711,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.component.ts:89",{"_index":3686,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["carousel.module",{"_index":1584,"title":{},"body":{"modules/DonorCardModule.html":{}}}],["carousel.module.ts",{"_index":3742,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{}}}],["carousel/thumbnail",{"_index":1583,"title":{},"body":{"modules/DonorCardModule.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["case",{"_index":1000,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"index.html":{}}}],["cases",{"_index":4232,"title":{},"body":{"changelog.html":{}}}],["catch",{"_index":2135,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["cause",{"_index":3849,"title":{},"body":{"components/ViewerComponent.html":{}}}],["ccf",{"_index":34,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"index.html":{}}}],["ccf's",{"_index":4193,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":3911,"title":{},"body":{"changelog.html":{}}}],["ccfapiconfiguration",{"_index":1063,"title":{},"body":{"modules/CoreModule.html":{}}}],["ccfapimodule",{"_index":1064,"title":{},"body":{"modules/CoreModule.html":{}}}],["ccfapimodule.forroot",{"_index":1078,"title":{},"body":{"modules/CoreModule.html":{}}}],["ccfdatabase",{"_index":4636,"title":{},"body":{"miscellaneous/variables.html":{}}}],["ccfdatabasedatasourceservice",{"_index":1435,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["ccfdatabaseoptions",{"_index":161,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/WorkerDataSourceService.html":{}}}],["ccfdrawer",{"_index":2195,"title":{},"body":{"classes/InitializationState.html":{}}}],["ccfdrawercontainer",{"_index":820,"title":{},"body":{"components/ContainerComponent.html":{}}}],["cdk",{"_index":1655,"title":{},"body":{"components/DropdownComponent.html":{}}}],["cdkportal",{"_index":1767,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["cdr",{"_index":320,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["cdr.markforcheck",{"_index":339,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["ceil",{"_index":1800,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["cell",{"_index":262,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"components/SpatialSearchUiComponent.html":{},"changelog.html":{}}}],["celltypes",{"_index":2692,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["celltypes(state",{"_index":3445,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["celltypeselectionlabel",{"_index":261,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["celltypestreemodel",{"_index":1089,"title":{},"body":{"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{}}}],["celltypestreemodel(state",{"_index":1309,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["celltypetermoccurencesdata",{"_index":1201,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["celltypetermoccurencesdata$.pipe(take(1)).subscribe(celltypetermsfulldata",{"_index":1249,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["celltypetermoccurencesdata(filter",{"_index":1295,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["celltypetermoccurencesdataquerystatus",{"_index":1175,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["celltypetermoccurrences",{"_index":1219,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["celltypeterms",{"_index":300,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"miscellaneous/variables.html":{}}}],["celltypetermsfulldata",{"_index":1187,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["celltypetreemodel",{"_index":245,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["center",{"_index":944,"title":{},"body":{"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"index.html":{}}}],["certain",{"_index":2808,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["cff",{"_index":1024,"title":{},"body":{"components/ContentComponent.html":{}}}],["change",{"_index":841,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/InitializationState.html":{},"components/OntologySelectionComponent.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{},"index.html":{}}}],["changed",{"_index":916,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"changelog.html":{}}}],["changedetection",{"_index":239,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["changedetectionstrategy",{"_index":167,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["changedetectionstrategy.onpush",{"_index":240,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["changedetectorref",{"_index":168,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["changelog",{"_index":3895,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changeposition",{"_index":3221,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["changes",{"_index":361,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"classes/InitializationState.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["changes.selection",{"_index":1789,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["changes.valuerange",{"_index":1787,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["channel",{"_index":824,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{}}}],["channels",{"_index":2412,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["charge",{"_index":230,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ResultsBrowserComponent.html":{},"license.html":{}}}],["checkbox",{"_index":630,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{}}}],["checkbox'},{'name",{"_index":561,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["checkbox.component",{"_index":724,"title":{},"body":{"modules/CheckboxModule.html":{}}}],["checkbox.component.html",{"_index":632,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["checkbox.component.scss",{"_index":631,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["checkbox.mat",{"_index":690,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["checkboxcomponent",{"_index":560,"title":{"components/CheckboxComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["checkboxes",{"_index":627,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["checkboxmodule",{"_index":715,"title":{"modules/CheckboxModule.html":{}},"body":{"modules/CheckboxModule.html":{},"modules/FiltersContentModule.html":{},"modules.html":{},"overview.html":{}}}],["checked",{"_index":657,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{}}}],["checked.mat",{"_index":1522,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["checkmark",{"_index":692,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["checks",{"_index":973,"title":{},"body":{"components/ContentComponent.html":{}}}],["checkselected",{"_index":1527,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["child",{"_index":1533,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySelectionComponent.html":{},"miscellaneous/typealiases.html":{}}}],["children",{"_index":2028,"title":{},"body":{"classes/FlatNode.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["choices",{"_index":1609,"title":{},"body":{"components/DropdownComponent.html":{}}}],["choose",{"_index":4212,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":4191,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":4609,"title":{},"body":{"license.html":{}}}],["class",{"_index":0,"title":{"classes/AddSearch.html":{},"classes/DataStateSelectors.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"classes/InitializationState.html":{},"classes/MessageChannel.html":{},"classes/MoveToNode.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"classes/SpatialSearchFilterSelectors.html":{},"classes/SpatialSearchUiSelectors.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{}},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["class.ccf",{"_index":3801,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["class.cff",{"_index":953,"title":{},"body":{"components/ContentComponent.html":{}}}],["class.hidden]=\"hidden",{"_index":1930,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["class=\"filter",{"_index":1928,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["classend",{"_index":2213,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["classes",{"_index":2,"title":{},"body":{"classes/AddSearch.html":{},"classes/DataStateSelectors.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"classes/InitializationState.html":{},"classes/MessageChannel.html":{},"classes/MoveToNode.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"classes/SpatialSearchFilterSelectors.html":{},"classes/SpatialSearchUiSelectors.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"overview.html":{}}}],["classname",{"_index":825,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["clean",{"_index":2420,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{}}}],["cleans",{"_index":857,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["cleanup",{"_index":4007,"title":{},"body":{"changelog.html":{}}}],["clear",{"_index":3856,"title":{},"body":{"components/ViewerComponent.html":{}}}],["click",{"_index":1481,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchUiComponent.html":{},"changelog.html":{}}}],["clicked",{"_index":1472,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["clicking",{"_index":4096,"title":{},"body":{"changelog.html":{}}}],["clicks",{"_index":2943,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["client",{"_index":1066,"title":{},"body":{"modules/CoreModule.html":{},"changelog.html":{},"index.html":{}}}],["clientheight",{"_index":2881,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["clip",{"_index":3735,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["close",{"_index":444,"title":{},"body":{"interfaces/AppOptions.html":{},"components/FiltersPopoverComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ViewerComponent.html":{}}}],["closed",{"_index":2180,"title":{},"body":{"classes/InitializationState.html":{},"components/ViewerComponent.html":{},"miscellaneous/typealiases.html":{}}}],["closedialog",{"_index":3118,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["closeexpanded",{"_index":2273,"title":{},"body":{"classes/InitializationState.html":{}}}],["closeiframeviewer",{"_index":446,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["closeopendone",{"_index":2280,"title":{},"body":{"classes/InitializationState.html":{}}}],["closes",{"_index":1720,"title":{},"body":{"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["closesliderpopover",{"_index":1686,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["closesliderpopover(target",{"_index":1726,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["closespatialsearch",{"_index":3360,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["cls",{"_index":3630,"title":{},"body":{"injectables/ThemingService.html":{}}}],["clsname",{"_index":1453,"title":{},"body":{"components/DonorCardComponent.html":{},"components/TissueSectionVisComponent.html":{}}}],["cluster_appmodule",{"_index":58,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_declarations",{"_index":59,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_imports",{"_index":60,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_checkboxmodule",{"_index":716,"title":{},"body":{"modules/CheckboxModule.html":{},"overview.html":{}}}],["cluster_checkboxmodule_declarations",{"_index":718,"title":{},"body":{"modules/CheckboxModule.html":{},"overview.html":{}}}],["cluster_checkboxmodule_exports",{"_index":717,"title":{},"body":{"modules/CheckboxModule.html":{},"overview.html":{}}}],["cluster_coremodule",{"_index":1051,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_coremodule_exports",{"_index":1053,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_coremodule_imports",{"_index":1052,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_donorcardmodule",{"_index":1575,"title":{},"body":{"modules/DonorCardModule.html":{},"overview.html":{}}}],["cluster_donorcardmodule_declarations",{"_index":1578,"title":{},"body":{"modules/DonorCardModule.html":{},"overview.html":{}}}],["cluster_donorcardmodule_exports",{"_index":1577,"title":{},"body":{"modules/DonorCardModule.html":{},"overview.html":{}}}],["cluster_donorcardmodule_imports",{"_index":1576,"title":{},"body":{"modules/DonorCardModule.html":{},"overview.html":{}}}],["cluster_drawermodule",{"_index":1588,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_drawermodule_declarations",{"_index":1589,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_drawermodule_exports",{"_index":1590,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_dropdownmodule",{"_index":1662,"title":{},"body":{"modules/DropdownModule.html":{},"overview.html":{}}}],["cluster_dropdownmodule_declarations",{"_index":1664,"title":{},"body":{"modules/DropdownModule.html":{},"overview.html":{}}}],["cluster_dropdownmodule_exports",{"_index":1663,"title":{},"body":{"modules/DropdownModule.html":{},"overview.html":{}}}],["cluster_dualslidermodule",{"_index":1847,"title":{},"body":{"modules/DualSliderModule.html":{},"overview.html":{}}}],["cluster_dualslidermodule_declarations",{"_index":1848,"title":{},"body":{"modules/DualSliderModule.html":{},"overview.html":{}}}],["cluster_dualslidermodule_exports",{"_index":1849,"title":{},"body":{"modules/DualSliderModule.html":{},"overview.html":{}}}],["cluster_filterscontentmodule",{"_index":1944,"title":{},"body":{"modules/FiltersContentModule.html":{},"overview.html":{}}}],["cluster_filterscontentmodule_declarations",{"_index":1946,"title":{},"body":{"modules/FiltersContentModule.html":{},"overview.html":{}}}],["cluster_filterscontentmodule_exports",{"_index":1947,"title":{},"body":{"modules/FiltersContentModule.html":{},"overview.html":{}}}],["cluster_filterscontentmodule_imports",{"_index":1945,"title":{},"body":{"modules/FiltersContentModule.html":{}}}],["cluster_filterspopovermodule",{"_index":1997,"title":{},"body":{"modules/FiltersPopoverModule.html":{},"overview.html":{}}}],["cluster_filterspopovermodule_declarations",{"_index":1999,"title":{},"body":{"modules/FiltersPopoverModule.html":{},"overview.html":{}}}],["cluster_filterspopovermodule_exports",{"_index":1998,"title":{},"body":{"modules/FiltersPopoverModule.html":{},"overview.html":{}}}],["cluster_filterspopovermodule_imports",{"_index":2000,"title":{},"body":{"modules/FiltersPopoverModule.html":{}}}],["cluster_headermodule",{"_index":2088,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_headermodule_declarations",{"_index":2089,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_headermodule_exports",{"_index":2090,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_ontologyexplorationmodule",{"_index":2443,"title":{},"body":{"modules/OntologyExplorationModule.html":{},"overview.html":{}}}],["cluster_ontologyexplorationmodule_exports",{"_index":2445,"title":{},"body":{"modules/OntologyExplorationModule.html":{},"overview.html":{}}}],["cluster_ontologyexplorationmodule_imports",{"_index":2444,"title":{},"body":{"modules/OntologyExplorationModule.html":{},"overview.html":{}}}],["cluster_ontologysearchmodule",{"_index":2545,"title":{},"body":{"modules/OntologySearchModule.html":{},"overview.html":{}}}],["cluster_ontologysearchmodule_declarations",{"_index":2546,"title":{},"body":{"modules/OntologySearchModule.html":{},"overview.html":{}}}],["cluster_ontologysearchmodule_exports",{"_index":2547,"title":{},"body":{"modules/OntologySearchModule.html":{},"overview.html":{}}}],["cluster_ontologyselectionmodule",{"_index":2653,"title":{},"body":{"modules/OntologySelectionModule.html":{},"overview.html":{}}}],["cluster_ontologyselectionmodule_declarations",{"_index":2654,"title":{},"body":{"modules/OntologySelectionModule.html":{},"overview.html":{}}}],["cluster_ontologyselectionmodule_exports",{"_index":2657,"title":{},"body":{"modules/OntologySelectionModule.html":{},"overview.html":{}}}],["cluster_ontologyselectionmodule_imports",{"_index":2655,"title":{},"body":{"modules/OntologySelectionModule.html":{}}}],["cluster_ontologyselectionmodule_ontologyselectioncomponent_providers",{"_index":2656,"title":{},"body":{"modules/OntologySelectionModule.html":{},"overview.html":{}}}],["cluster_ontologytreemodule",{"_index":2660,"title":{},"body":{"modules/OntologyTreeModule.html":{},"overview.html":{}}}],["cluster_ontologytreemodule_declarations",{"_index":2661,"title":{},"body":{"modules/OntologyTreeModule.html":{},"overview.html":{}}}],["cluster_ontologytreemodule_exports",{"_index":2662,"title":{},"body":{"modules/OntologyTreeModule.html":{},"overview.html":{}}}],["cluster_resultsbrowsermodule",{"_index":2896,"title":{},"body":{"modules/ResultsBrowserModule.html":{},"overview.html":{}}}],["cluster_resultsbrowsermodule_declarations",{"_index":2898,"title":{},"body":{"modules/ResultsBrowserModule.html":{},"overview.html":{}}}],["cluster_resultsbrowsermodule_exports",{"_index":2899,"title":{},"body":{"modules/ResultsBrowserModule.html":{},"overview.html":{}}}],["cluster_resultsbrowsermodule_imports",{"_index":2897,"title":{},"body":{"modules/ResultsBrowserModule.html":{}}}],["cluster_runspatialsearchmodule",{"_index":2919,"title":{},"body":{"modules/RunSpatialSearchModule.html":{},"overview.html":{}}}],["cluster_runspatialsearchmodule_declarations",{"_index":2920,"title":{},"body":{"modules/RunSpatialSearchModule.html":{},"overview.html":{}}}],["cluster_runspatialsearchmodule_exports",{"_index":2921,"title":{},"body":{"modules/RunSpatialSearchModule.html":{},"overview.html":{}}}],["cluster_spatialsearchconfigbehaviormodule",{"_index":3107,"title":{},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchconfigbehaviormodule_declarations",{"_index":3108,"title":{},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchconfigbehaviormodule_exports",{"_index":3109,"title":{},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchconfigbehaviormodule_imports",{"_index":3110,"title":{},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchconfigmodule",{"_index":3140,"title":{},"body":{"modules/SpatialSearchConfigModule.html":{},"overview.html":{}}}],["cluster_spatialsearchconfigmodule_declarations",{"_index":3142,"title":{},"body":{"modules/SpatialSearchConfigModule.html":{},"overview.html":{}}}],["cluster_spatialsearchconfigmodule_exports",{"_index":3141,"title":{},"body":{"modules/SpatialSearchConfigModule.html":{},"overview.html":{}}}],["cluster_spatialsearchkeyboarduibehaviormodule",{"_index":3267,"title":{},"body":{"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchkeyboarduibehaviormodule_declarations",{"_index":3270,"title":{},"body":{"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchkeyboarduibehaviormodule_exports",{"_index":3269,"title":{},"body":{"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchkeyboarduibehaviormodule_imports",{"_index":3268,"title":{},"body":{"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchkeyboarduimodule",{"_index":3304,"title":{},"body":{"modules/SpatialSearchKeyboardUIModule.html":{},"overview.html":{}}}],["cluster_spatialsearchkeyboarduimodule_declarations",{"_index":3305,"title":{},"body":{"modules/SpatialSearchKeyboardUIModule.html":{},"overview.html":{}}}],["cluster_spatialsearchkeyboarduimodule_exports",{"_index":3306,"title":{},"body":{"modules/SpatialSearchKeyboardUIModule.html":{},"overview.html":{}}}],["cluster_spatialsearchuibehaviormodule",{"_index":3354,"title":{},"body":{"modules/SpatialSearchUiBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchuibehaviormodule_declarations",{"_index":3355,"title":{},"body":{"modules/SpatialSearchUiBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchuibehaviormodule_exports",{"_index":3357,"title":{},"body":{"modules/SpatialSearchUiBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchuibehaviormodule_imports",{"_index":3356,"title":{},"body":{"modules/SpatialSearchUiBehaviorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchuimodule",{"_index":3419,"title":{},"body":{"modules/SpatialSearchUiModule.html":{},"overview.html":{}}}],["cluster_spatialsearchuimodule_declarations",{"_index":3422,"title":{},"body":{"modules/SpatialSearchUiModule.html":{},"overview.html":{}}}],["cluster_spatialsearchuimodule_exports",{"_index":3421,"title":{},"body":{"modules/SpatialSearchUiModule.html":{},"overview.html":{}}}],["cluster_spatialsearchuimodule_imports",{"_index":3420,"title":{},"body":{"modules/SpatialSearchUiModule.html":{},"overview.html":{}}}],["cluster_spinneroverlaymodule",{"_index":3548,"title":{},"body":{"modules/SpinnerOverlayModule.html":{},"overview.html":{}}}],["cluster_spinneroverlaymodule_declarations",{"_index":3549,"title":{},"body":{"modules/SpinnerOverlayModule.html":{},"overview.html":{}}}],["cluster_spinneroverlaymodule_exports",{"_index":3550,"title":{},"body":{"modules/SpinnerOverlayModule.html":{},"overview.html":{}}}],["cluster_termoccurrencelistmodule",{"_index":3606,"title":{},"body":{"modules/TermOccurrenceListModule.html":{},"overview.html":{}}}],["cluster_termoccurrencelistmodule_declarations",{"_index":3607,"title":{},"body":{"modules/TermOccurrenceListModule.html":{},"overview.html":{}}}],["cluster_termoccurrencelistmodule_exports",{"_index":3608,"title":{},"body":{"modules/TermOccurrenceListModule.html":{},"overview.html":{}}}],["cluster_themingmodule",{"_index":3611,"title":{},"body":{"modules/ThemingModule.html":{},"overview.html":{}}}],["cluster_themingmodule_providers",{"_index":3612,"title":{},"body":{"modules/ThemingModule.html":{},"overview.html":{}}}],["cluster_thumbnailcarouselmodule",{"_index":3739,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{},"overview.html":{}}}],["cluster_thumbnailcarouselmodule_declarations",{"_index":3741,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{},"overview.html":{}}}],["cluster_thumbnailcarouselmodule_exports",{"_index":3740,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{},"overview.html":{}}}],["cluster_tissueblocklistmodule",{"_index":3758,"title":{},"body":{"modules/TissueBlockListModule.html":{},"overview.html":{}}}],["cluster_tissueblocklistmodule_declarations",{"_index":3759,"title":{},"body":{"modules/TissueBlockListModule.html":{},"overview.html":{}}}],["cluster_tissueblocklistmodule_exports",{"_index":3760,"title":{},"body":{"modules/TissueBlockListModule.html":{},"overview.html":{}}}],["cluster_tissuesectionvismodule",{"_index":3792,"title":{},"body":{"modules/TissueSectionVisModule.html":{},"overview.html":{}}}],["cluster_tissuesectionvismodule_declarations",{"_index":3793,"title":{},"body":{"modules/TissueSectionVisModule.html":{},"overview.html":{}}}],["cluster_tissuesectionvismodule_exports",{"_index":3794,"title":{},"body":{"modules/TissueSectionVisModule.html":{},"overview.html":{}}}],["cluster_viewermodule",{"_index":3860,"title":{},"body":{"modules/ViewerModule.html":{},"overview.html":{}}}],["cluster_viewermodule_declarations",{"_index":3861,"title":{},"body":{"modules/ViewerModule.html":{},"overview.html":{}}}],["cluster_viewermodule_exports",{"_index":3862,"title":{},"body":{"modules/ViewerModule.html":{},"overview.html":{}}}],["coalescing",{"_index":2812,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["code",{"_index":4000,"title":{},"body":{"changelog.html":{}}}],["codebase",{"_index":4203,"title":{},"body":{"changelog.html":{}}}],["codeblob",{"_index":3888,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["codex",{"_index":4244,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":4291,"title":{},"body":{"changelog.html":{}}}],["coercebooleanproperty",{"_index":2175,"title":{},"body":{"classes/InitializationState.html":{}}}],["collaboration",{"_index":4201,"title":{},"body":{"changelog.html":{}}}],["collapse",{"_index":2276,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["collapsed",{"_index":2185,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["collapses",{"_index":2272,"title":{},"body":{"classes/InitializationState.html":{}}}],["collisions",{"_index":3495,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{},"changelog.html":{}}}],["collisions.has(s['@id",{"_index":3501,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["color",{"_index":355,"title":{"interfaces/Color.html":{}},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/DonorCardComponent.html":{},"components/HeaderComponent.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"modules/StoreModule.html":{},"components/TissueSectionVisComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["color.color",{"_index":791,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["color.rank",{"_index":2371,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["color].concat(colorsavailable",{"_index":799,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorassignments",{"_index":763,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["colorassignments[key",{"_index":778,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorassignmentslist",{"_index":765,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorassignmentslist.filter(a",{"_index":800,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorassignmentslist.reduce>>((acc",{"_index":793,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorassignmentslist.slice(0",{"_index":787,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorassignmentslist[colorassignmentslist.length",{"_index":785,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorassignmentstate",{"_index":771,"title":{"injectables/ColorAssignmentState.html":{}},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["colorassignmentstatemodel",{"_index":760,"title":{"interfaces/ColorAssignmentStateModel.html":{}},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"coverage.html":{}}}],["colorizing",{"_index":4252,"title":{},"body":{"changelog.html":{}}}],["colorpalette",{"_index":761,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colors",{"_index":768,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["colors[node['@id']].rgba",{"_index":3030,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["colors[tissueblock.spatialentityid",{"_index":2369,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["colorsavailable",{"_index":762,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorsavailable.filter(c",{"_index":789,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorsavailable.length",{"_index":783,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["colorsavailable[0",{"_index":784,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["column",{"_index":1829,"title":{},"body":{"components/DualSliderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ViewerComponent.html":{}}}],["columns",{"_index":634,"title":{},"body":{"components/CheckboxComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["combination",{"_index":4213,"title":{},"body":{"changelog.html":{}}}],["combined",{"_index":1049,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["combinelatest",{"_index":186,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.theme",{"_index":335,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["combines",{"_index":1148,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["come",{"_index":4248,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":4241,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":4442,"title":{},"body":{"dependencies.html":{}}}],["comma",{"_index":431,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["common",{"_index":1245,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"index.html":{}}}],["commonmodule",{"_index":721,"title":{},"body":{"modules/CheckboxModule.html":{},"modules/DonorCardModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{}}}],["compare",{"_index":1279,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["compatibility",{"_index":3581,"title":{},"body":{"modules/StoreModule.html":{}}}],["completed",{"_index":1136,"title":{},"body":{"interfaces/DataStateModel.html":{},"classes/InitializationState.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{}}}],["completion",{"_index":2278,"title":{},"body":{"classes/InitializationState.html":{}}}],["complexity",{"_index":4121,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":3998,"title":{},"body":{"changelog.html":{}}}],["componenet",{"_index":2457,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["component",{"_index":169,"title":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["component's",{"_index":1702,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["component.component",{"_index":118,"title":{},"body":{"modules/AppModule.html":{}}}],["component.component.ts",{"_index":492,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["component.component.ts:31",{"_index":510,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:33",{"_index":514,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:34",{"_index":515,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:35",{"_index":513,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:36",{"_index":517,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:37",{"_index":516,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:39",{"_index":522,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:40",{"_index":520,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:41",{"_index":521,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:42",{"_index":511,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:43",{"_index":512,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:44",{"_index":519,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:45",{"_index":518,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:47",{"_index":508,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component_template",{"_index":557,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["componentref",{"_index":3633,"title":{},"body":{"injectables/ThemingService.html":{}}}],["components",{"_index":228,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"overview.html":{},"miscellaneous/typealiases.html":{}}}],["composes",{"_index":2583,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["computations",{"_index":2558,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["computes",{"_index":1772,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["comunica/query",{"_index":4410,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":4444,"title":{},"body":{"dependencies.html":{}}}],["concat(colorassignmentslist",{"_index":792,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["condition",{"_index":2604,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["conditions",{"_index":4593,"title":{},"body":{"license.html":{}}}],["config",{"_index":591,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["config'},{'name",{"_index":594,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["config.component",{"_index":38,"title":{},"body":{"classes/AddSearch.html":{},"components/FiltersContentComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["config.component.html",{"_index":3117,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.scss",{"_index":3116,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts",{"_index":3115,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["config.component.ts:17",{"_index":3129,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts:20",{"_index":3120,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts:23",{"_index":3121,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts:26",{"_index":3122,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts:29",{"_index":3128,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts:32",{"_index":3127,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts:35",{"_index":3123,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts:38",{"_index":3125,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.component.ts:41",{"_index":3126,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["config.isolated",{"_index":2414,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["config.module",{"_index":3114,"title":{},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{}}}],["config.module.ts",{"_index":3143,"title":{},"body":{"modules/SpatialSearchConfigModule.html":{}}}],["config/spatial",{"_index":37,"title":{},"body":{"classes/AddSearch.html":{},"components/FiltersContentComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["configstore",{"_index":509,"title":{},"body":{"components/AppWebComponent.html":{}}}],["configuration",{"_index":2385,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["configurations",{"_index":4067,"title":{},"body":{"changelog.html":{}}}],["configure",{"_index":3130,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["confirmation",{"_index":4036,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":4074,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":2435,"title":{},"body":{"injectables/MessageService.html":{},"changelog.html":{}}}],["connect(source",{"_index":2423,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["connected",{"_index":863,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["connectedposition",{"_index":1774,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["connection",{"_index":4615,"title":{},"body":{"license.html":{}}}],["connects",{"_index":2422,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["consentservice",{"_index":184,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["consider",{"_index":3580,"title":{},"body":{"modules/StoreModule.html":{}}}],["consortium",{"_index":4569,"title":{},"body":{"license.html":{}}}],["const",{"_index":150,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/variables.html":{}}}],["constantly",{"_index":3851,"title":{},"body":{"components/ViewerComponent.html":{}}}],["construct",{"_index":4509,"title":{},"body":{"miscellaneous/functions.html":{}}}],["constructor",{"_index":16,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"modules/ThumbnailCarouselModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/typealiases.html":{}}}],["constructor(@inject(message_service_config",{"_index":2413,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["constructor(@optional",{"_index":1081,"title":{},"body":{"modules/CoreModule.html":{},"injectables/ThemingService.html":{}}}],["constructor(config",{"_index":2436,"title":{},"body":{"injectables/MessageService.html":{}}}],["constructor(configstore",{"_index":507,"title":{},"body":{"components/AppWebComponent.html":{}}}],["constructor(dataservice",{"_index":2323,"title":{},"body":{"injectables/ListResultsState.html":{},"injectables/SceneState.html":{}}}],["constructor(datasource",{"_index":3520,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["constructor(defaulttheme",{"_index":3625,"title":{},"body":{"injectables/ThemingService.html":{}}}],["constructor(dialog",{"_index":3056,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["constructor(dialogref",{"_index":3313,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["constructor(drawer",{"_index":3802,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["constructor(execute",{"_index":3033,"title":{},"body":{"classes/SetExecuteSearchOnGenerate.html":{}}}],["constructor(filter",{"_index":3831,"title":{},"body":{"classes/UpdateFilter.html":{}}}],["constructor(ga",{"_index":638,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["constructor(globalconfig",{"_index":3869,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["constructor(id",{"_index":2815,"title":{},"body":{"classes/RemoveSearch.html":{}}}],["constructor(items",{"_index":3041,"title":{},"body":{"classes/SetSelectedSearches.html":{}}}],["constructor(messageservice",{"_index":837,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{}}}],["constructor(node",{"_index":2441,"title":{},"body":{"classes/MoveToNode.html":{}}}],["constructor(ontologysearchservice",{"_index":2631,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["constructor(ontologyservice",{"_index":2471,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["constructor(organid",{"_index":3035,"title":{},"body":{"classes/SetOrgan.html":{}}}],["constructor(original",{"_index":2009,"title":{},"body":{"classes/FlatNode.html":{}}}],["constructor(overlay",{"_index":1699,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["constructor(position",{"_index":3037,"title":{},"body":{"classes/SetPosition.html":{}}}],["constructor(private",{"_index":149,"title":{},"body":{"modules/AppModule.html":{},"components/CheckboxComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["constructor(public",{"_index":2514,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["constructor(radius",{"_index":3039,"title":{},"body":{"classes/SetRadius.html":{}}}],["constructor(readonly",{"_index":42,"title":{},"body":{"classes/AddSearch.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{}}}],["constructor(registry",{"_index":2148,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["constructor(sanitizer",{"_index":3840,"title":{},"body":{"components/ViewerComponent.html":{}}}],["constructor(sex",{"_index":17,"title":{},"body":{"classes/AddSearch.html":{},"classes/SetSex.html":{}}}],["constructor(source",{"_index":2428,"title":{},"body":{"classes/MessageChannel.html":{}}}],["constructor(store",{"_index":2906,"title":{},"body":{"components/RunSpatialSearchComponent.html":{}}}],["contain",{"_index":1036,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/HeaderComponent.html":{}}}],["container",{"_index":698,"title":{},"body":{"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TissueSectionVisComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["container'},{'name",{"_index":563,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["container.component.html",{"_index":823,"title":{},"body":{"components/ContainerComponent.html":{}}}],["container.component.scss",{"_index":822,"title":{},"body":{"components/ContainerComponent.html":{}}}],["container/container.component",{"_index":1594,"title":{},"body":{"modules/DrawerModule.html":{}}}],["containercomponent",{"_index":562,"title":{"components/ContainerComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"modules/DrawerModule.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["containerpayload",{"_index":1039,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["containers",{"_index":915,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"changelog.html":{}}}],["containing",{"_index":922,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ThumbnailCarouselComponent.html":{},"index.html":{}}}],["contains",{"_index":673,"title":{},"body":{"components/CheckboxComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/TermOccurrenceListComponent.html":{}}}],["content",{"_index":835,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ViewerComponent.html":{}}}],["content'},{'name",{"_index":565,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["content.component",{"_index":1954,"title":{},"body":{"modules/FiltersContentModule.html":{}}}],["content.component.html",{"_index":1860,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.scss",{"_index":945,"title":{},"body":{"components/ContentComponent.html":{},"components/FiltersContentComponent.html":{}}}],["content.component.ts",{"_index":1857,"title":{},"body":{"components/FiltersContentComponent.html":{},"coverage.html":{}}}],["content.component.ts:105",{"_index":1889,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:117",{"_index":1896,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:128",{"_index":1898,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:23",{"_index":1874,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:28",{"_index":1873,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:33",{"_index":1877,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:38",{"_index":1875,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:43",{"_index":1876,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:48",{"_index":1879,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:53",{"_index":1883,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:58",{"_index":1881,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:63",{"_index":1872,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:75",{"_index":1887,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:87",{"_index":1892,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.component.ts:96",{"_index":1885,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["content.module",{"_index":2002,"title":{},"body":{"modules/FiltersPopoverModule.html":{}}}],["content.module.ts",{"_index":1948,"title":{},"body":{"modules/FiltersContentModule.html":{}}}],["content/content.component",{"_index":889,"title":{},"body":{"components/ContainerComponent.html":{},"modules/DrawerModule.html":{}}}],["content/filters",{"_index":1856,"title":{},"body":{"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"coverage.html":{}}}],["content1",{"_index":826,"title":{},"body":{"components/ContainerComponent.html":{}}}],["content2",{"_index":827,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren",{"_index":885,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren(contentcomponent",{"_index":866,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren(drawercomponent",{"_index":876,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentcomponent",{"_index":564,"title":{"components/ContentComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"modules/DrawerModule.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["contentcontainerchanged",{"_index":1028,"title":{"interfaces/ContentContainerChanged.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["contents",{"_index":475,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["contentsvisible",{"_index":1678,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["continue",{"_index":3124,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["contract",{"_index":4612,"title":{},"body":{"license.html":{}}}],["control",{"_index":372,"title":{},"body":{"interfaces/AppOptions.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"changelog.html":{}}}],["controls",{"_index":1616,"title":{},"body":{"components/DropdownComponent.html":{}}}],["convention",{"_index":485,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{}}}],["coordinate",{"_index":4513,"title":{},"body":{"index.html":{}}}],["copies",{"_index":4588,"title":{},"body":{"license.html":{}}}],["copy",{"_index":4575,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":4567,"title":{},"body":{"license.html":{}}}],["cord",{"_index":1402,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["cord.svg",{"_index":1403,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["core",{"_index":1082,"title":{},"body":{"modules/CoreModule.html":{}}}],["core/core.module",{"_index":120,"title":{},"body":{"modules/AppModule.html":{}}}],["core/models/list",{"_index":2874,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["core/models/ontology",{"_index":200,"title":{},"body":{"interfaces/AppOptions.html":{},"components/OntologySelectionComponent.html":{}}}],["core/services/app",{"_index":110,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{}}}],["core/services/ontology",{"_index":2512,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{}}}],["core/services/theming/theming.service",{"_index":203,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["core/store/action",{"_index":205,"title":{},"body":{"interfaces/AppOptions.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["core/store/data/data.selectors",{"_index":208,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["core/store/data/data.state",{"_index":211,"title":{},"body":{"interfaces/AppOptions.html":{},"components/FiltersContentComponent.html":{}}}],["core/store/list",{"_index":213,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["core/store/scene/scene.state",{"_index":217,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["core/store/spatial",{"_index":218,"title":{},"body":{"interfaces/AppOptions.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{}}}],["coremodule",{"_index":63,"title":{"modules/CoreModule.html":{}},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules.html":{},"overview.html":{}}}],["cors",{"_index":4446,"title":{},"body":{"dependencies.html":{}}}],["count",{"_index":2685,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["counter",{"_index":2392,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"miscellaneous/variables.html":{}}}],["counts",{"_index":3451,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{},"components/TermOccurrenceListComponent.html":{}}}],["counts[o.id",{"_index":2731,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["cover",{"_index":3733,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["coverage",{"_index":4272,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["create",{"_index":1701,"title":{},"body":{"components/DualSliderComponent.html":{},"classes/FlatNode.html":{}}}],["create(original",{"_index":2019,"title":{},"body":{"classes/FlatNode.html":{}}}],["createcustomelement",{"_index":90,"title":{},"body":{"modules/AppModule.html":{}}}],["createcustomelement(appwebcomponent",{"_index":152,"title":{},"body":{"modules/AppModule.html":{}}}],["created",{"_index":1757,"title":{},"body":{"components/DualSliderComponent.html":{},"classes/FlatNode.html":{},"changelog.html":{}}}],["createitem",{"_index":3200,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["createitem(sex",{"_index":3170,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["createitemdescription",{"_index":3201,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["createitemdescription(sex",{"_index":3175,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["createitemid",{"_index":3202,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["createitemid(search",{"_index":3173,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["creates",{"_index":309,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/functions.html":{}}}],["createselectionlabel(ontolgyselection",{"_index":423,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["createworker",{"_index":3867,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["createworker(_config",{"_index":3873,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["creating",{"_index":892,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/DataStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/functions.html":{}}}],["credits",{"_index":4554,"title":{},"body":{"index.html":{}}}],["criteria",{"_index":1705,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["css",{"_index":3684,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"dependencies.html":{}}}],["ctrlclick",{"_index":2981,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["ctx",{"_index":3204,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{},"injectables/SpatialSearchUiState.html":{}}}],["ctx.dispatch(actions).pipe",{"_index":2803,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["ctx.dispatch(new",{"_index":2716,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["ctx.getstate",{"_index":2709,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["ctx.patchstate",{"_index":2721,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["ctx.patchstate(data",{"_index":2789,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["ctx.setstate(append([this.createitem(sex",{"_index":3156,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["ctx.setstate(newitems",{"_index":3169,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["ctx.setstate(removeitem(item",{"_index":3159,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["cuboid",{"_index":4271,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":4270,"title":{},"body":{"changelog.html":{}}}],["current",{"_index":628,"title":{},"body":{"components/CheckboxComponent.html":{},"interfaces/DataStateModel.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySelectionComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"miscellaneous/enumerations.html":{}}}],["currentdelta",{"_index":3211,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["currentkey",{"_index":3212,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["currently",{"_index":405,"title":{},"body":{"interfaces/AppOptions.html":{},"components/FiltersPopoverComponent.html":{},"components/OntologySelectionComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["currentsex",{"_index":1918,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["cursor",{"_index":1520,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["customelements.define('ccf",{"_index":154,"title":{},"body":{"modules/AppModule.html":{}}}],["cyberinfrastructure",{"_index":4556,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":4129,"title":{},"body":{"changelog.html":{}}}],["d",{"_index":1559,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["da326f",{"_index":748,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["damages",{"_index":4610,"title":{},"body":{"license.html":{}}}],["dark",{"_index":365,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["dark)').addeventlistener('change",{"_index":362,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["dark)').matches",{"_index":357,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["dark/light",{"_index":4070,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":312,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/DataStateModel.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"classes/UpdateSpatialSearch.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{}}}],["data.actions",{"_index":1117,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["data.aggregatedata$.subscribe",{"_index":324,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.celltypetermoccurencesdata$.subscribe",{"_index":326,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.content",{"_index":3095,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["data.content.length",{"_index":3103,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["data.filter$.pipe(pluck('celltypeterms",{"_index":334,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.filter$.pipe(pluck('ontologyterms",{"_index":332,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.filter$.subscribe",{"_index":328,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.infotitle",{"_index":3094,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["data.ontologytermoccurencesdata$.subscribe",{"_index":325,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.providerfilterdata$.subscribe",{"_index":330,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.scenedata$.subscribe",{"_index":327,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.state",{"_index":1313,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["data.technologyfilterdata$.subscribe",{"_index":329,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.tissueblockdata$.subscribe",{"_index":323,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["data.videoid",{"_index":3097,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["data/data.actions",{"_index":2679,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["data/data.selectors",{"_index":2680,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["data/data.state",{"_index":2349,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["dataaction",{"_index":732,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["database",{"_index":35,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"components/DonorCardComponent.html":{},"classes/FlatNode.html":{},"interfaces/ListResult.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"classes/UpdateFilter.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["databaseready",{"_index":1165,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["databasestatus",{"_index":1099,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["dataquerystate",{"_index":209,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"miscellaneous/enumerations.html":{}}}],["dataquerystate.completed",{"_index":1138,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["dataquerystate.running",{"_index":296,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{}}}],["dataservice",{"_index":2325,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["datasetresult",{"_index":3680,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["datasets",{"_index":4139,"title":{},"body":{"changelog.html":{}}}],["datasource",{"_index":317,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["datasourcelike",{"_index":1436,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["datasources",{"_index":499,"title":{},"body":{"components/AppWebComponent.html":{}}}],["datasourceservice",{"_index":181,"title":{},"body":{"interfaces/AppOptions.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["datastate",{"_index":210,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"classes/UpdateFilter.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["datastatemodel",{"_index":1086,"title":{"interfaces/DataStateModel.html":{}},"body":{"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"coverage.html":{}}}],["datastateselectors",{"_index":207,"title":{"classes/DataStateSelectors.html":{}},"body":{"interfaces/AppOptions.html":{},"classes/DataStateSelectors.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"coverage.html":{}}}],["datastateselectors.anatomicalstructurestreemodel",{"_index":3510,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["datastateselectors.celltypestreemodel",{"_index":3512,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["db",{"_index":2781,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["db.getcelltypetermoccurences(filter).pipe(take(1",{"_index":2787,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["db.getontologytermoccurences(filter).pipe(take(1",{"_index":2786,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["db.getreferenceorganscene(organid",{"_index":2783,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["db.gettissueblockresults(filter).pipe(take(1",{"_index":2785,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["deal",{"_index":4577,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":4616,"title":{},"body":{"license.html":{}}}],["debouncetime",{"_index":2677,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["debouncetime(500",{"_index":2705,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["december",{"_index":4207,"title":{},"body":{"changelog.html":{}}}],["decides",{"_index":670,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["deck.gl",{"_index":759,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["deck.gl/core",{"_index":4412,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":4414,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":4417,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":4418,"title":{},"body":{"dependencies.html":{}}}],["declarations",{"_index":76,"title":{},"body":{"modules/AppModule.html":{},"modules/CheckboxModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{}}}],["decoration",{"_index":2079,"title":{},"body":{"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["decorator",{"_index":177,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"components/FiltersPopoverComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/StoreModule.html":{},"dependencies.html":{}}}],["decorators",{"_index":806,"title":{},"body":{"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/DataStateSelectors.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["deep",{"_index":688,"title":{},"body":{"components/CheckboxComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["deeply",{"_index":4026,"title":{},"body":{"changelog.html":{}}}],["default",{"_index":28,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/CheckboxComponent.html":{},"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["default_color_palette",{"_index":743,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_color_palette.concat",{"_index":770,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["default_filter",{"_index":1118,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/FiltersContentComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_icons",{"_index":1340,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_selected_organs",{"_index":2969,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_selected_organs.has(organ.organ",{"_index":3006,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["default_theme",{"_index":114,"title":{},"body":{"modules/AppModule.html":{},"injectables/ThemingService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defaulticondefinition",{"_index":1318,"title":{"interfaces/DefaultIconDefinition.html":{}},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defaultposition",{"_index":2687,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["defaultposition(state",{"_index":3447,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["defaultradius",{"_index":2744,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["defaults",{"_index":769,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["defaulttheme",{"_index":3620,"title":{},"body":{"injectables/ThemingService.html":{}}}],["defaultvalue",{"_index":2683,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["defer",{"_index":1102,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["deferred",{"_index":2159,"title":{},"body":{"classes/InitializationState.html":{}}}],["defined",{"_index":22,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/DataStateSelectors.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{}}}],["definition",{"_index":1322,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["definition.html",{"_index":2125,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["definition.url",{"_index":2124,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["delay",{"_index":1106,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["delay(2000",{"_index":1261,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["delegatedatasourceoptions",{"_index":1430,"title":{"interfaces/DelegateDataSourceOptions.html":{}},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"coverage.html":{}}}],["delegatedatasourceservice",{"_index":1068,"title":{"injectables/DelegateDataSourceService.html":{}},"body":{"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"coverage.html":{}}}],["delta",{"_index":3219,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["demo",{"_index":4043,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":57,"title":{"dependencies.html":{}},"body":{"modules/AppModule.html":{},"modules/CheckboxModule.html":{},"modules/CoreModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThemingModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{},"changelog.html":{},"dependencies.html":{},"overview.html":{}}}],["depending",{"_index":4102,"title":{},"body":{"changelog.html":{}}}],["depth",{"_index":2740,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["descendants",{"_index":867,"title":{},"body":{"components/ContainerComponent.html":{}}}],["descrepancies",{"_index":3951,"title":{},"body":{"changelog.html":{}}}],["describes",{"_index":648,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["description",{"_index":624,"title":{},"body":{"components/CheckboxComponent.html":{},"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"miscellaneous/functions.html":{}}}],["deselect",{"_index":2864,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["deselected",{"_index":2854,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["deselectlistresult",{"_index":2318,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["deselectlistresult(result",{"_index":2328,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["details",{"_index":4304,"title":{},"body":{"changelog.html":{}}}],["detect",{"_index":1790,"title":{},"body":{"components/DualSliderComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["detected",{"_index":1734,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["detection",{"_index":850,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["detector",{"_index":842,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["determine",{"_index":2806,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/TissueSectionVisComponent.html":{}}}],["determines",{"_index":1620,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{}}}],["developed",{"_index":4555,"title":{},"body":{"index.html":{}}}],["developmentmode",{"_index":3576,"title":{},"body":{"modules/StoreModule.html":{}}}],["developments",{"_index":4296,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":2907,"title":{},"body":{"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"changelog.html":{}}}],["dialogref",{"_index":3057,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["dialogsubs",{"_index":3048,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["diff",{"_index":2884,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["different",{"_index":2307,"title":{},"body":{"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"changelog.html":{}}}],["digits",{"_index":4187,"title":{},"body":{"changelog.html":{}}}],["direct",{"_index":4313,"title":{},"body":{"changelog.html":{}}}],["directimport",{"_index":3878,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["direction",{"_index":707,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ViewerComponent.html":{}}}],["directive",{"_index":555,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["directives",{"_index":620,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["directly",{"_index":4242,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":480,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ToggleButtonComponent.html":{}}}],["disabled",{"_index":2087,"title":{},"body":{"components/HeaderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"modules/StoreModule.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ViewerComponent.html":{}}}],["disables",{"_index":2986,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["dispatch",{"_index":174,"title":{},"body":{"interfaces/AppOptions.html":{},"components/FiltersPopoverComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["display",{"_index":420,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["displayed",{"_index":1610,"title":{},"body":{"components/DropdownComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TissueBlockListComponent.html":{},"changelog.html":{}}}],["displayformatter",{"_index":2466,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["displayformatter(option",{"_index":2480,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["displaying",{"_index":4054,"title":{},"body":{"changelog.html":{}}}],["displaylabel",{"_index":2595,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["displays",{"_index":1449,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpinnerOverlayComponent.html":{}}}],["distinct",{"_index":1107,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["distinctuntilchanged",{"_index":742,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["distribute",{"_index":4584,"title":{},"body":{"license.html":{}}}],["dobootstrap",{"_index":86,"title":{},"body":{"modules/AppModule.html":{}}}],["doc",{"_index":4280,"title":{},"body":{"changelog.html":{}}}],["docs",{"_index":3962,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":1717,"title":{},"body":{"components/DualSliderComponent.html":{},"dependencies.html":{}}}],["document:click",{"_index":1696,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["document:click(target",{"_index":1714,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["document:keydown",{"_index":3222,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["document:keydown(target",{"_index":3230,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["document:keyup",{"_index":3223,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["document:keyup(target",{"_index":3233,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["document:touchstart",{"_index":1697,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["document:touchstart(target",{"_index":1725,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["documentation",{"_index":4001,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["dom",{"_index":489,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["domains",{"_index":276,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["domsanitizer",{"_index":2102,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ViewerComponent.html":{}}}],["don't",{"_index":430,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["done",{"_index":4099,"title":{},"body":{"changelog.html":{}}}],["donor",{"_index":567,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["donor_card",{"_index":1493,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["donorcardcomponent",{"_index":566,"title":{"components/DonorCardComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["donorcardmodule",{"_index":1574,"title":{"modules/DonorCardModule.html":{}},"body":{"modules/DonorCardModule.html":{},"modules/ResultsBrowserModule.html":{},"modules.html":{},"overview.html":{}}}],["donors",{"_index":4140,"title":{},"body":{"changelog.html":{}}}],["doreset",{"_index":781,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["dotenv",{"_index":4450,"title":{},"body":{"dependencies.html":{}}}],["down",{"_index":258,"title":{},"body":{"interfaces/AppOptions.html":{},"components/OntologySelectionComponent.html":{}}}],["download",{"_index":2053,"title":{},"body":{"components/HeaderComponent.html":{},"changelog.html":{}}}],["downloadclicked",{"_index":2058,"title":{},"body":{"components/HeaderComponent.html":{}}}],["drawer",{"_index":231,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["drawer'},{'name",{"_index":569,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["drawer.close",{"_index":3824,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.closeexpanded",{"_index":3823,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.component.html",{"_index":2196,"title":{},"body":{"classes/InitializationState.html":{}}}],["drawer.component.scss",{"_index":2197,"title":{},"body":{"classes/InitializationState.html":{}}}],["drawer.open",{"_index":3825,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.position",{"_index":926,"title":{},"body":{"components/ContainerComponent.html":{}}}],["drawer/drawer.component",{"_index":890,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"modules/DrawerModule.html":{},"components/ToggleButtonComponent.html":{}}}],["drawercomponent",{"_index":224,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"modules/DrawerModule.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["drawercomponent).position",{"_index":1007,"title":{},"body":{"components/ContentComponent.html":{}}}],["drawercontainerschanged",{"_index":1035,"title":{"interfaces/DrawerContainersChanged.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["drawerexpanded",{"_index":1961,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["drawerinitialized",{"_index":1042,"title":{"interfaces/DrawerInitialized.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["drawermodule",{"_index":64,"title":{"modules/DrawerModule.html":{}},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules.html":{},"overview.html":{}}}],["drawerpayload",{"_index":1048,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["drawers",{"_index":367,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{}}}],["drawers.filter(drawer",{"_index":925,"title":{},"body":{"components/ContainerComponent.html":{}}}],["drawertoggled",{"_index":1043,"title":{"interfaces/DrawerToggled.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["dropdown",{"_index":1598,"title":{},"body":{"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/TermOccurrenceListComponent.html":{}}}],["dropdown'},{'name",{"_index":571,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["dropdown.component",{"_index":1670,"title":{},"body":{"modules/DropdownModule.html":{}}}],["dropdown.component.html",{"_index":1601,"title":{},"body":{"components/DropdownComponent.html":{}}}],["dropdown.component.scss",{"_index":1600,"title":{},"body":{"components/DropdownComponent.html":{}}}],["dropdowncomponent",{"_index":570,"title":{"components/DropdownComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["dropdownmodule",{"_index":1661,"title":{"modules/DropdownModule.html":{}},"body":{"modules/DropdownModule.html":{},"modules/FiltersContentModule.html":{},"modules.html":{},"overview.html":{}}}],["dual",{"_index":573,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["dual_slider",{"_index":1817,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["dualslidercomponent",{"_index":572,"title":{"components/DualSliderComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["dualslidermodule",{"_index":65,"title":{"modules/DualSliderModule.html":{}},"body":{"modules/AppModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules.html":{},"overview.html":{}}}],["duration",{"_index":344,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["during",{"_index":1284,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/DualSliderComponent.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["dynamic",{"_index":4406,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":3945,"title":{},"body":{"changelog.html":{}}}],["e",{"_index":363,"title":{},"body":{"interfaces/AppOptions.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["e040fb",{"_index":752,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["each",{"_index":2394,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["ease",{"_index":1027,"title":{},"body":{"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/InitializationState.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["easier",{"_index":3983,"title":{},"body":{"changelog.html":{}}}],["easily",{"_index":443,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["east",{"_index":3287,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{},"index.html":{}}}],["edit",{"_index":3388,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["editreferenceorganclicked",{"_index":3361,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["effect",{"_index":1618,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"changelog.html":{}}}],["efficiency",{"_index":4160,"title":{},"body":{"changelog.html":{}}}],["el",{"_index":313,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{}}}],["element",{"_index":554,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["element.getboundingclientrect",{"_index":2245,"title":{},"body":{"classes/InitializationState.html":{}}}],["element.nativeelement",{"_index":3661,"title":{},"body":{"injectables/ThemingService.html":{}}}],["element.nativeelement.contains(target",{"_index":1809,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["elementref",{"_index":170,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"injectables/ThemingService.html":{}}}],["elements",{"_index":3702,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["ellipsis",{"_index":1571,"title":{},"body":{"components/DonorCardComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["embedded",{"_index":4065,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":4059,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":4057,"title":{},"body":{"changelog.html":{}}}],["emit",{"_index":661,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{}}}],["emits",{"_index":287,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["emitted",{"_index":270,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"components/HeaderComponent.html":{},"miscellaneous/functions.html":{}}}],["emitter",{"_index":2478,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["emitters",{"_index":2825,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["emitting",{"_index":2227,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ResultsBrowserComponent.html":{}}}],["empty",{"_index":2577,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["enable",{"_index":2484,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["enabled",{"_index":963,"title":{},"body":{"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["encapsulates",{"_index":2625,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["end",{"_index":902,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["end?.expanded",{"_index":1018,"title":{},"body":{"components/ContentComponent.html":{}}}],["end?.opened",{"_index":1017,"title":{},"body":{"components/ContentComponent.html":{}}}],["enddrawers",{"_index":927,"title":{},"body":{"components/ContainerComponent.html":{}}}],["enddrawers.length",{"_index":930,"title":{},"body":{"components/ContainerComponent.html":{}}}],["enddrawers[0",{"_index":933,"title":{},"body":{"components/ContainerComponent.html":{}}}],["endexpanded",{"_index":1016,"title":{},"body":{"components/ContentComponent.html":{}}}],["ensures",{"_index":1487,"title":{},"body":{"components/DonorCardComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["enter",{"_index":1743,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["entire",{"_index":3568,"title":{},"body":{"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["entities",{"_index":2949,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entry",{"_index":2486,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["entry.displaylabel.join().includes",{"_index":2528,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["entry.node.label.tolowercase",{"_index":2529,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["entrycomponents",{"_index":77,"title":{},"body":{"modules/AppModule.html":{}}}],["enum",{"_index":1132,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["enumerations",{"_index":4500,"title":{"miscellaneous/enumerations.html":{}},"body":{"miscellaneous/enumerations.html":{}}}],["environment",{"_index":197,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"modules/StoreModule.html":{}}}],["environment.acceptableviewerdomains",{"_index":281,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["environment.customization",{"_index":548,"title":{},"body":{"components/AppWebComponent.html":{}}}],["environment.dboptions",{"_index":546,"title":{},"body":{"components/AppWebComponent.html":{}}}],["environment.dboptions.remoteapiendpoint",{"_index":1080,"title":{},"body":{"modules/CoreModule.html":{}}}],["environment.disabledbworker",{"_index":1441,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["environment.googleanalyticstoken",{"_index":1076,"title":{},"body":{"modules/CoreModule.html":{}}}],["environment.production",{"_index":3577,"title":{},"body":{"modules/StoreModule.html":{}}}],["environments/environment",{"_index":198,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"modules/StoreModule.html":{}}}],["error",{"_index":896,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/DataStateModel.html":{},"injectables/ThemingService.html":{}}}],["error('invalid",{"_index":540,"title":{},"body":{"components/AppWebComponent.html":{}}}],["error('the",{"_index":1083,"title":{},"body":{"modules/CoreModule.html":{}}}],["error(`multiple",{"_index":904,"title":{},"body":{"components/ContainerComponent.html":{}}}],["errors",{"_index":893,"title":{},"body":{"components/ContainerComponent.html":{},"miscellaneous/functions.html":{}}}],["es",{"_index":4440,"title":{},"body":{"dependencies.html":{}}}],["es2015.worker.js",{"_index":3887,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["eslint",{"_index":479,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ToggleButtonComponent.html":{}}}],["eslint/naming",{"_index":484,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{}}}],["eslint/prefer",{"_index":2810,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["etc",{"_index":1047,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"changelog.html":{}}}],["eui",{"_index":155,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":3995,"title":{},"body":{"changelog.html":{}}}],["eui/src/app/app",{"_index":491,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["eui/src/app/app.component.ts",{"_index":159,"title":{},"body":{"interfaces/AppOptions.html":{},"coverage.html":{}}}],["eui/src/app/app.module.ts",{"_index":75,"title":{},"body":{"modules/AppModule.html":{}}}],["eui/src/app/app.module.ts:57",{"_index":81,"title":{},"body":{"modules/AppModule.html":{}}}],["eui/src/app/core/core.module.ts",{"_index":1057,"title":{},"body":{"modules/CoreModule.html":{}}}],["eui/src/app/core/header/header.component.ts",{"_index":2051,"title":{},"body":{"components/HeaderComponent.html":{},"coverage.html":{}}}],["eui/src/app/core/header/header.component.ts:18",{"_index":2061,"title":{},"body":{"components/HeaderComponent.html":{}}}],["eui/src/app/core/header/header.component.ts:20",{"_index":2065,"title":{},"body":{"components/HeaderComponent.html":{}}}],["eui/src/app/core/header/header.component.ts:22",{"_index":2066,"title":{},"body":{"components/HeaderComponent.html":{}}}],["eui/src/app/core/header/header.component.ts:27",{"_index":2063,"title":{},"body":{"components/HeaderComponent.html":{}}}],["eui/src/app/core/header/header.component.ts:32",{"_index":2060,"title":{},"body":{"components/HeaderComponent.html":{}}}],["eui/src/app/core/header/header.component.ts:37",{"_index":2068,"title":{},"body":{"components/HeaderComponent.html":{}}}],["eui/src/app/core/header/header.component.ts:42",{"_index":2067,"title":{},"body":{"components/HeaderComponent.html":{}}}],["eui/src/app/core/header/header.module.ts",{"_index":2091,"title":{},"body":{"modules/HeaderModule.html":{}}}],["eui/src/app/core/models/flat",{"_index":2004,"title":{},"body":{"classes/FlatNode.html":{},"coverage.html":{}}}],["eui/src/app/core/models/list",{"_index":2312,"title":{},"body":{"interfaces/ListResult.html":{},"coverage.html":{}}}],["eui/src/app/core/models/ontology",{"_index":2621,"title":{},"body":{"interfaces/OntologySelection.html":{},"coverage.html":{}}}],["eui/src/app/core/services/app",{"_index":454,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"coverage.html":{}}}],["eui/src/app/core/services/data",{"_index":1431,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/WorkerDataSourceService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/core/services/ontology",{"_index":2555,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"coverage.html":{}}}],["eui/src/app/core/services/theming/theming.module.ts",{"_index":3613,"title":{},"body":{"modules/ThemingModule.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts",{"_index":3618,"title":{},"body":{"injectables/ThemingService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:13",{"_index":3644,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:14",{"_index":3645,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:16",{"_index":3643,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:18",{"_index":3646,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:21",{"_index":3634,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:25",{"_index":3626,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:39",{"_index":3631,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:48",{"_index":3642,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:60",{"_index":3640,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:71",{"_index":3638,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/services/theming/theming.service.ts:83",{"_index":3628,"title":{},"body":{"injectables/ThemingService.html":{}}}],["eui/src/app/core/store/action",{"_index":4345,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["eui/src/app/core/store/color",{"_index":725,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/core/store/data/data.actions.ts",{"_index":3830,"title":{},"body":{"classes/UpdateFilter.html":{},"coverage.html":{}}}],["eui/src/app/core/store/data/data.actions.ts:4",{"_index":3832,"title":{},"body":{"classes/UpdateFilter.html":{}}}],["eui/src/app/core/store/data/data.selectors.ts",{"_index":1305,"title":{},"body":{"classes/DataStateSelectors.html":{},"coverage.html":{}}}],["eui/src/app/core/store/data/data.selectors.ts:12",{"_index":1308,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["eui/src/app/core/store/data/data.selectors.ts:17",{"_index":1310,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["eui/src/app/core/store/data/data.selectors.ts:7",{"_index":1312,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["eui/src/app/core/store/data/data.state.ts",{"_index":1087,"title":{},"body":{"interfaces/DataStateModel.html":{},"coverage.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/core/store/icon",{"_index":1319,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/core/store/list",{"_index":2314,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"coverage.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts",{"_index":2922,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:108",{"_index":2952,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:118",{"_index":2948,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:128",{"_index":2954,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:137",{"_index":2942,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:148",{"_index":2945,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:152",{"_index":2946,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:159",{"_index":2934,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:54",{"_index":2939,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:59",{"_index":2937,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:64",{"_index":2963,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:66",{"_index":2967,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:68",{"_index":2965,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:70",{"_index":2961,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:73",{"_index":2959,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:76",{"_index":2958,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:78",{"_index":2933,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/scene/scene.state.ts:98",{"_index":2957,"title":{},"body":{"injectables/SceneState.html":{}}}],["eui/src/app/core/store/spatial",{"_index":7,"title":{},"body":{"classes/AddSearch.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["eui/src/app/core/store/store.module.ts",{"_index":3556,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/modules/filters/filters",{"_index":1855,"title":{},"body":{"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"coverage.html":{}}}],["eui/src/app/modules/ontology",{"_index":2449,"title":{},"body":{"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/modules/results",{"_index":1444,"title":{},"body":{"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/checkbox/checkbox.component.ts",{"_index":623,"title":{},"body":{"components/CheckboxComponent.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/checkbox/checkbox.component.ts:18",{"_index":647,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["eui/src/app/shared/components/checkbox/checkbox.component.ts:23",{"_index":652,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["eui/src/app/shared/components/checkbox/checkbox.component.ts:28",{"_index":656,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["eui/src/app/shared/components/checkbox/checkbox.component.ts:33",{"_index":646,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["eui/src/app/shared/components/checkbox/checkbox.component.ts:38",{"_index":640,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["eui/src/app/shared/components/checkbox/checkbox.component.ts:53",{"_index":667,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["eui/src/app/shared/components/checkbox/checkbox.module.ts",{"_index":719,"title":{},"body":{"modules/CheckboxModule.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts",{"_index":816,"title":{},"body":{"components/ContainerComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:105",{"_index":856,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:115",{"_index":847,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:124",{"_index":858,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:37",{"_index":844,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:41",{"_index":877,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:45",{"_index":868,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:48",{"_index":873,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:50",{"_index":881,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:55",{"_index":884,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:60",{"_index":862,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:62",{"_index":838,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/container/container.component.ts:83",{"_index":852,"title":{},"body":{"components/ContainerComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts",{"_index":941,"title":{},"body":{"components/ContentComponent.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:103",{"_index":978,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:116",{"_index":972,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:28",{"_index":961,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:30",{"_index":962,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:32",{"_index":964,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:34",{"_index":966,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:36",{"_index":959,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:39",{"_index":980,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:41",{"_index":957,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:60",{"_index":971,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/content/content.component.ts:70",{"_index":968,"title":{},"body":{"components/ContentComponent.html":{}}}],["eui/src/app/shared/components/drawer/drawer.module.ts",{"_index":1591,"title":{},"body":{"modules/DrawerModule.html":{}}}],["eui/src/app/shared/components/drawer/drawer/drawer.component.ts",{"_index":2157,"title":{},"body":{"classes/InitializationState.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/shared/components/drawer/drawer/drawer.component.ts:35",{"_index":2169,"title":{},"body":{"classes/InitializationState.html":{}}}],["eui/src/app/shared/components/drawer/drawer/drawer.component.ts:37",{"_index":2166,"title":{},"body":{"classes/InitializationState.html":{}}}],["eui/src/app/shared/components/drawer/drawer/drawer.component.ts:41",{"_index":2170,"title":{},"body":{"classes/InitializationState.html":{}}}],["eui/src/app/shared/components/drawer/drawer/drawer.component.ts:46",{"_index":2171,"title":{},"body":{"classes/InitializationState.html":{}}}],["eui/src/app/shared/components/drawer/drawer/drawer.component.ts:56",{"_index":2173,"title":{},"body":{"classes/InitializationState.html":{}}}],["eui/src/app/shared/components/drawer/drawer/drawer.component.ts:65",{"_index":2172,"title":{},"body":{"classes/InitializationState.html":{}}}],["eui/src/app/shared/components/drawer/messages.ts",{"_index":1029,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/shared/components/drawer/toggle",{"_index":3797,"title":{},"body":{"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.component.ts",{"_index":1597,"title":{},"body":{"components/DropdownComponent.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.component.ts:18",{"_index":1606,"title":{},"body":{"components/DropdownComponent.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.component.ts:23",{"_index":1608,"title":{},"body":{"components/DropdownComponent.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.component.ts:28",{"_index":1611,"title":{},"body":{"components/DropdownComponent.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.component.ts:33",{"_index":1612,"title":{},"body":{"components/DropdownComponent.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.component.ts:38",{"_index":1605,"title":{},"body":{"components/DropdownComponent.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.component.ts:50",{"_index":1615,"title":{},"body":{"components/DropdownComponent.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.component.ts:59",{"_index":1614,"title":{},"body":{"components/DropdownComponent.html":{}}}],["eui/src/app/shared/components/dropdown/dropdown.module.ts",{"_index":1665,"title":{},"body":{"modules/DropdownModule.html":{}}}],["eui/src/app/shared/components/dual",{"_index":1671,"title":{},"body":{"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/run",{"_index":2905,"title":{},"body":{"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/spatial",{"_index":3044,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"modules/SpatialSearchUiModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["eui/src/app/shared/components/spinner",{"_index":3535,"title":{},"body":{"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/term",{"_index":3587,"title":{},"body":{"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/thumbnail",{"_index":3668,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/shared/components/tissue",{"_index":3749,"title":{},"body":{"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/viewer/viewer.component.ts",{"_index":3834,"title":{},"body":{"components/ViewerComponent.html":{},"coverage.html":{}}}],["eui/src/app/shared/components/viewer/viewer.component.ts:17",{"_index":3844,"title":{},"body":{"components/ViewerComponent.html":{}}}],["eui/src/app/shared/components/viewer/viewer.component.ts:19",{"_index":3842,"title":{},"body":{"components/ViewerComponent.html":{}}}],["eui/src/app/shared/components/viewer/viewer.component.ts:21",{"_index":3843,"title":{},"body":{"components/ViewerComponent.html":{}}}],["eui/src/app/shared/components/viewer/viewer.component.ts:23",{"_index":3847,"title":{},"body":{"components/ViewerComponent.html":{}}}],["eui/src/app/shared/components/viewer/viewer.component.ts:29",{"_index":3841,"title":{},"body":{"components/ViewerComponent.html":{}}}],["eui/src/app/shared/components/viewer/viewer.component.ts:33",{"_index":3845,"title":{},"body":{"components/ViewerComponent.html":{}}}],["eui/src/app/shared/components/viewer/viewer.component.ts:39",{"_index":3846,"title":{},"body":{"components/ViewerComponent.html":{}}}],["eui/src/app/shared/components/viewer/viewer.module.ts",{"_index":3863,"title":{},"body":{"modules/ViewerModule.html":{}}}],["eui/src/app/shared/services/message/message.service.ts",{"_index":2377,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:103",{"_index":2432,"title":{},"body":{"classes/MessageChannel.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:112",{"_index":2433,"title":{},"body":{"classes/MessageChannel.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:128",{"_index":2440,"title":{},"body":{"injectables/MessageService.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:130",{"_index":2437,"title":{},"body":{"injectables/MessageService.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:153",{"_index":2439,"title":{},"body":{"injectables/MessageService.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:163",{"_index":2438,"title":{},"body":{"injectables/MessageService.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:50",{"_index":2429,"title":{},"body":{"classes/MessageChannel.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:70",{"_index":2434,"title":{},"body":{"classes/MessageChannel.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:83",{"_index":2430,"title":{},"body":{"classes/MessageChannel.html":{}}}],["eui/src/app/shared/services/message/message.service.ts:93",{"_index":2431,"title":{},"body":{"classes/MessageChannel.html":{}}}],["evenly",{"_index":3789,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["event",{"_index":672,"title":{},"body":{"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/ToggleButtonComponent.html":{},"license.html":{}}}],["event.checked",{"_index":680,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["event.key",{"_index":1824,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["event.target",{"_index":1713,"title":{},"body":{"components/DualSliderComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["event.target'])@hostlistener('document:touchstart",{"_index":1728,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["eventemitter",{"_index":660,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ViewerComponent.html":{}}}],["eventemitter(true",{"_index":2229,"title":{},"body":{"classes/InitializationState.html":{}}}],["events",{"_index":669,"title":{},"body":{"components/CheckboxComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["everything",{"_index":1236,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["except",{"_index":2400,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["execute",{"_index":2050,"title":{},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{}}}],["executesearchongeneration",{"_index":2693,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["executionstrategy",{"_index":3582,"title":{},"body":{"modules/StoreModule.html":{}}}],["exists",{"_index":3783,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["expand",{"_index":2275,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["expand/collapse",{"_index":2282,"title":{},"body":{"classes/InitializationState.html":{}}}],["expand_collapse_params_default",{"_index":2189,"title":{},"body":{"classes/InitializationState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["expand_less",{"_index":1427,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"miscellaneous/variables.html":{}}}],["expand_more",{"_index":1425,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"miscellaneous/variables.html":{}}}],["expandable",{"_index":2008,"title":{},"body":{"classes/FlatNode.html":{},"miscellaneous/variables.html":{}}}],["expandcollapsedone",{"_index":2284,"title":{},"body":{"classes/InitializationState.html":{}}}],["expanded",{"_index":1044,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/FiltersPopoverComponent.html":{},"classes/InitializationState.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["expanded(value",{"_index":2224,"title":{},"body":{"classes/InitializationState.html":{}}}],["expanded/collapsed",{"_index":2181,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedchange",{"_index":2230,"title":{},"body":{"classes/InitializationState.html":{}}}],["expandedstate",{"_index":2182,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedstate2",{"_index":2184,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedstateobj",{"_index":2235,"title":{},"body":{"classes/InitializationState.html":{}}}],["expands",{"_index":2269,"title":{},"body":{"classes/InitializationState.html":{}}}],["exploration",{"_index":1269,"title":{},"body":{"interfaces/DataStateModel.html":{},"index.html":{}}}],["exploration.module",{"_index":126,"title":{},"body":{"modules/AppModule.html":{}}}],["exploration.module.ts",{"_index":2450,"title":{},"body":{"modules/OntologyExplorationModule.html":{}}}],["exploration/ontology",{"_index":125,"title":{},"body":{"modules/AppModule.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["export",{"_index":41,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{}}}],["exportas",{"_index":819,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["exports",{"_index":720,"title":{},"body":{"modules/CheckboxModule.html":{},"modules/CoreModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{}}}],["express",{"_index":4452,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["extended",{"_index":2187,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["extends",{"_index":160,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"injectables/WorkerDataSourceService.html":{}}}],["external",{"_index":3857,"title":{},"body":{"components/ViewerComponent.html":{},"changelog.html":{}}}],["externalurl",{"_index":3885,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["extra",{"_index":4457,"title":{},"body":{"dependencies.html":{}}}],["extract",{"_index":3687,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["extraction",{"_index":4040,"title":{},"body":{"changelog.html":{}}}],["extrapulmonary",{"_index":1376,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["eye",{"_index":1352,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["eye.svg",{"_index":1353,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["f",{"_index":1392,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["f.svg",{"_index":1393,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["factory",{"_index":2390,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/variables.html":{}}}],["fade",{"_index":1617,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["faded",{"_index":947,"title":{},"body":{"components/ContentComponent.html":{}}}],["fadein",{"_index":1629,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["fadeinout",{"_index":952,"title":{},"body":{"components/ContentComponent.html":{}}}],["fail",{"_index":4205,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":4229,"title":{},"body":{"changelog.html":{}}}],["fallopian",{"_index":1354,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["false",{"_index":242,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpinnerOverlayComponent.html":{},"modules/StoreModule.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["favor",{"_index":4196,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":3942,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":4130,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":4158,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":2040,"title":{},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"miscellaneous/typealiases.html":{}}}],["fetch",{"_index":1337,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"dependencies.html":{}}}],["fetches",{"_index":2576,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["ff8800",{"_index":744,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["ffd740",{"_index":746,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["field",{"_index":1631,"title":{},"body":{"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/TermOccurrenceListModule.html":{},"changelog.html":{}}}],["file",{"_index":5,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{}}}],["files",{"_index":4576,"title":{},"body":{"license.html":{}}}],["fill",{"_index":1646,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["filler",{"_index":2081,"title":{},"body":{"components/HeaderComponent.html":{}}}],["filter",{"_index":31,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"classes/UpdateFilter.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["filter's",{"_index":375,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["filter(([_",{"_index":3515,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["filter(organ",{"_index":3000,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter(state",{"_index":1311,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["filter(value",{"_index":2519,"title":{},"body":{"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["filter).pipe(take(1",{"_index":2784,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["filter.actions",{"_index":219,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["filter.actions.ts",{"_index":10,"title":{},"body":{"classes/AddSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"coverage.html":{}}}],["filter.actions.ts:15",{"_index":2816,"title":{},"body":{"classes/RemoveSearch.html":{}}}],["filter.actions.ts:21",{"_index":3042,"title":{},"body":{"classes/SetSelectedSearches.html":{}}}],["filter.actions.ts:9",{"_index":23,"title":{},"body":{"classes/AddSearch.html":{}}}],["filter.selectors",{"_index":221,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["filter.selectors.ts",{"_index":3186,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{},"coverage.html":{}}}],["filter.selectors.ts:14",{"_index":3193,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["filter.selectors.ts:19",{"_index":3195,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["filter.selectors.ts:9",{"_index":3190,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["filter.state",{"_index":40,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"classes/SpatialSearchFilterSelectors.html":{},"modules/StoreModule.html":{}}}],["filter.state.ts",{"_index":3146,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["filter.state.ts:27",{"_index":3203,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["filter.state.ts:32",{"_index":3208,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["filter.state.ts:37",{"_index":3209,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["filter.state.ts:48",{"_index":3205,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["filter.state.ts:58",{"_index":3207,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["filter.state.ts:63",{"_index":3206,"title":{},"body":{"injectables/SpatialSearchFilterState.html":{}}}],["filter/spatial",{"_index":9,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["filter_checkbox",{"_index":683,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["filter_content",{"_index":1904,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["filterbox",{"_index":374,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["filterbox.removebox",{"_index":382,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["filtered",{"_index":2404,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{}}}],["filteredresults",{"_index":2462,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["filteronchange",{"_index":633,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["filteronchange(event",{"_index":664,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["filters",{"_index":576,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["filterschange",{"_index":1869,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["filterscontentcomponent",{"_index":575,"title":{"components/FiltersContentComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["filterscontentmodule",{"_index":1943,"title":{"modules/FiltersContentModule.html":{}},"body":{"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules.html":{},"overview.html":{}}}],["filterspopovercomponent",{"_index":222,"title":{"components/FiltersPopoverComponent.html":{}},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["filterspopovermodule",{"_index":66,"title":{"modules/FiltersPopoverModule.html":{}},"body":{"modules/AppModule.html":{},"modules/FiltersPopoverModule.html":{},"modules.html":{},"overview.html":{}}}],["filtersvisible",{"_index":1958,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["final",{"_index":4199,"title":{},"body":{"changelog.html":{}}}],["finished",{"_index":1040,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["finishing",{"_index":4039,"title":{},"body":{"changelog.html":{}}}],["fired",{"_index":1724,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["first",{"_index":1488,"title":{},"body":{"components/DonorCardComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"changelog.html":{}}}],["fit",{"_index":4138,"title":{},"body":{"changelog.html":{}}}],["fitness",{"_index":4602,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":4122,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":3906,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":4253,"title":{},"body":{"changelog.html":{}}}],["flat",{"_index":2013,"title":{},"body":{"classes/FlatNode.html":{},"miscellaneous/variables.html":{}}}],["flatnode",{"_index":2003,"title":{"classes/FlatNode.html":{}},"body":{"classes/FlatNode.html":{},"coverage.html":{}}}],["flatnode(original",{"_index":2031,"title":{},"body":{"classes/FlatNode.html":{}}}],["flex",{"_index":706,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["flexible",{"_index":3958,"title":{},"body":{"changelog.html":{}}}],["floor",{"_index":1797,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["flow",{"_index":2037,"title":{},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/RunSpatialSearchComponent.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateSpatialSearch.html":{}}}],["fly",{"_index":4318,"title":{},"body":{"changelog.html":{}}}],["fn",{"_index":206,"title":{},"body":{"interfaces/AppOptions.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["fn.ts",{"_index":4346,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["focus",{"_index":3738,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["following",{"_index":4592,"title":{},"body":{"license.html":{}}}],["font",{"_index":703,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/HeaderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["forcedunassignment",{"_index":772,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["forkjoin",{"_index":2676,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["form",{"_index":1630,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigComponent.html":{},"changelog.html":{}}}],["format",{"_index":756,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["formatlabel",{"_index":2561,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["formatlabel(label",{"_index":2567,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["formats",{"_index":2570,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["formatter",{"_index":2483,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["formcontrol",{"_index":2463,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["formsmodule",{"_index":2549,"title":{},"body":{"modules/OntologySearchModule.html":{},"modules/SpatialSearchConfigModule.html":{}}}],["forwards",{"_index":1647,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["found",{"_index":2571,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["four",{"_index":713,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["frame",{"_index":1528,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["framework",{"_index":4514,"title":{},"body":{"index.html":{}}}],["free",{"_index":4573,"title":{},"body":{"license.html":{}}}],["fs",{"_index":4456,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":2188,"title":{},"body":{"classes/InitializationState.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["fullscreen",{"_index":4277,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":4131,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":442,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/FiltersPopoverComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["functionality",{"_index":1152,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/OntologySearchComponent.html":{},"miscellaneous/functions.html":{}}}],["functions",{"_index":4502,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["funded",{"_index":4561,"title":{},"body":{"index.html":{}}}],["funnel",{"_index":1996,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["furnished",{"_index":4591,"title":{},"body":{"license.html":{}}}],["further",{"_index":4273,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":4123,"title":{},"body":{"changelog.html":{}}}],["ga",{"_index":641,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["gap",{"_index":3132,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["gatoken",{"_index":1075,"title":{},"body":{"modules/CoreModule.html":{}}}],["generate",{"_index":653,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateSpatialSearch.html":{},"changelog.html":{}}}],["generated",{"_index":3999,"title":{},"body":{"changelog.html":{}}}],["generates",{"_index":2790,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["generatespatialsearch",{"_index":2032,"title":{"classes/GenerateSpatialSearch.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["generatespatialsearch(ctx",{"_index":2793,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["generating",{"_index":3946,"title":{},"body":{"changelog.html":{}}}],["genericglobalconfig",{"_index":525,"title":{},"body":{"components/AppWebComponent.html":{}}}],["genericmessage",{"_index":1031,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["genericmessagechannel",{"_index":1032,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["genericmessageservice",{"_index":1033,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["get(event",{"_index":2530,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["getarguments",{"_index":2145,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["getarguments(undefined",{"_index":2150,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["getchildren",{"_index":2562,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["getchildren(node",{"_index":2574,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["getchildrenfunc",{"_index":4624,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["getclassend",{"_index":3814,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["getcolor",{"_index":803,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["getcolor(key",{"_index":776,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["getcontent",{"_index":880,"title":{},"body":{"components/ContainerComponent.html":{}}}],["getexpandable",{"_index":2025,"title":{},"body":{"classes/FlatNode.html":{}}}],["gethaswrappedcontent",{"_index":883,"title":{},"body":{"components/ContainerComponent.html":{}}}],["geticon",{"_index":3815,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["getindexofmatch",{"_index":2563,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["getindexofmatch(label",{"_index":2578,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["getlabel",{"_index":2022,"title":{},"body":{"classes/FlatNode.html":{}}}],["getlevel",{"_index":4372,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["getmessages",{"_index":2402,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmessagesfromsource",{"_index":2425,"title":{},"body":{"classes/MessageChannel.html":{}}}],["getmessagesfromsource(source",{"_index":2405,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmessagesfromsources",{"_index":2426,"title":{},"body":{"classes/MessageChannel.html":{}}}],["getmessagesfromsources(sources",{"_index":2408,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmethodname",{"_index":2137,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["getmethodname(undefined",{"_index":2152,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["getnextbuttonid",{"_index":3719,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["getoriginscene",{"_index":2673,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["getoriginscene(organ).concat(organscene",{"_index":2754,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["getprevbuttonid",{"_index":3715,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["getprobingspherescene",{"_index":3477,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["getprobingspherescene(organentity",{"_index":3493,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["getrangelabel",{"_index":1770,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["getreferenceorganscene(organid",{"_index":2749,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["gets",{"_index":369,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/FlatNode.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"components/ToggleButtonComponent.html":{}}}],["getter",{"_index":3848,"title":{},"body":{"components/ViewerComponent.html":{},"miscellaneous/variables.html":{}}}],["getter/setter",{"_index":2217,"title":{},"body":{"classes/InitializationState.html":{}}}],["gettermcounts",{"_index":3438,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["gettermcounts(counts",{"_index":3449,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["gettheme",{"_index":3622,"title":{},"body":{"injectables/ThemingService.html":{}}}],["getting",{"_index":3893,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"miscellaneous/typealiases.html":{}}}],["getworkerurl",{"_index":3868,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["getworkerurl(directimport",{"_index":3876,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["github",{"_index":4189,"title":{},"body":{"changelog.html":{}}}],["give",{"_index":2393,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["given",{"_index":3782,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["gizmo",{"_index":4081,"title":{},"body":{"changelog.html":{}}}],["gland",{"_index":1379,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["globalconfig",{"_index":319,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{}}}],["globalconfigstate",{"_index":182,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"modules/StoreModule.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/variables.html":{}}}],["globalfilter",{"_index":2747,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["globalthis.getcomputedstyle(element",{"_index":2253,"title":{},"body":{"classes/InitializationState.html":{}}}],["globalthis['dboptions",{"_index":547,"title":{},"body":{"components/AppWebComponent.html":{}}}],["good",{"_index":4226,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":679,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{},"dependencies.html":{}}}],["googleanalyticsservice",{"_index":639,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["gradient",{"_index":2873,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["granted",{"_index":4572,"title":{},"body":{"license.html":{}}}],["graph",{"_index":3774,"title":{},"body":{"components/TissueSectionVisComponent.html":{},"modules.html":{}}}],["graphical",{"_index":3970,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":4459,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":4050,"title":{},"body":{"changelog.html":{}}}],["grid",{"_index":3294,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["group",{"_index":626,"title":{},"body":{"components/CheckboxComponent.html":{},"components/FiltersContentComponent.html":{}}}],["grow",{"_index":1538,"title":{},"body":{"components/DonorCardComponent.html":{},"components/HeaderComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{}}}],["gtex",{"_index":3978,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":4222,"title":{},"body":{"changelog.html":{}}}],["half",{"_index":2186,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["hand",{"_index":1332,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{}}}],["handle",{"_index":1888,"title":{},"body":{"components/FiltersContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["handlecheckbox",{"_index":1455,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["handlehover",{"_index":2830,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["handlehover(id",{"_index":2856,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["handlekey",{"_index":3214,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["handlekey(target",{"_index":3235,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["handlelinkclick",{"_index":2831,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["handlelinkclick(link",{"_index":2858,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["handlemessage",{"_index":829,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["handlemessage(_msg",{"_index":845,"title":{},"body":{"components/ContainerComponent.html":{}}}],["handlemessage(msg",{"_index":967,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["handler",{"_index":1751,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["handles",{"_index":1475,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["handleselection",{"_index":2832,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["handleselection(result",{"_index":2861,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["handleunhover",{"_index":2833,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["handling",{"_index":1703,"title":{},"body":{"components/DualSliderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ResultsBrowserComponent.html":{}}}],["happen",{"_index":1880,"title":{},"body":{"components/FiltersContentComponent.html":{},"changelog.html":{}}}],["happens",{"_index":1479,"title":{},"body":{"components/DonorCardComponent.html":{},"changelog.html":{}}}],["happy",{"_index":3572,"title":{},"body":{"modules/StoreModule.html":{}}}],["hash",{"_index":4480,"title":{},"body":{"dependencies.html":{}}}],["haswrappedcontent",{"_index":836,"title":{},"body":{"components/ContainerComponent.html":{}}}],["header",{"_index":162,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["header'},{'name",{"_index":579,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["header.component",{"_index":2094,"title":{},"body":{"modules/HeaderModule.html":{}}}],["header.component.html",{"_index":2057,"title":{},"body":{"components/HeaderComponent.html":{}}}],["header.component.scss",{"_index":2056,"title":{},"body":{"components/HeaderComponent.html":{}}}],["header/header.module",{"_index":1067,"title":{},"body":{"modules/CoreModule.html":{}}}],["headercomponent",{"_index":578,"title":{"components/HeaderComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["headermodule",{"_index":1054,"title":{"modules/HeaderModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/HeaderModule.html":{},"modules.html":{},"overview.html":{}}}],["heart",{"_index":1358,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/variables.html":{}}}],["heart.svg",{"_index":1359,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["height",{"_index":1020,"title":{},"body":{"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["helmet",{"_index":4463,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":4221,"title":{},"body":{"changelog.html":{}}}],["helper",{"_index":891,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["here",{"_index":2358,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["hereby",{"_index":4571,"title":{},"body":{"license.html":{}}}],["hex",{"_index":739,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"dependencies.html":{}}}],["hexrgb",{"_index":738,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["hexrgb(color",{"_index":755,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["hidden",{"_index":937,"title":{},"body":{"components/ContainerComponent.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TissueBlockListComponent.html":{},"changelog.html":{}}}],["hide",{"_index":1995,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["hidelimitlabels",{"_index":1803,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["hidepointerlabels",{"_index":1804,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["hides",{"_index":1977,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["high",{"_index":1742,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["highlight",{"_index":4029,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":1458,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ResultsBrowserComponent.html":{},"changelog.html":{}}}],["highlightedid",{"_index":2923,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["highlightednodeid",{"_index":2316,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["highlightnode",{"_index":2319,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["highlightnode(id",{"_index":2330,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["highlights",{"_index":4030,"title":{},"body":{"changelog.html":{}}}],["highvalue",{"_index":1679,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["hint",{"_index":3412,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["holders",{"_index":4607,"title":{},"body":{"license.html":{}}}],["holds",{"_index":3595,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["home",{"_index":2071,"title":{},"body":{"components/HeaderComponent.html":{}}}],["homeurl",{"_index":163,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/HeaderComponent.html":{}}}],["hook",{"_index":1737,"title":{},"body":{"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{}}}],["hooked",{"_index":4167,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":934,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["hostbinding",{"_index":886,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"classes/InitializationState.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["hostbinding('@expandcollapse",{"_index":2234,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostbinding('@fadeinout",{"_index":983,"title":{},"body":{"components/ContentComponent.html":{}}}],["hostbinding('@openclose",{"_index":2233,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostbinding('class",{"_index":864,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"classes/InitializationState.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["hostbinding('class.active",{"_index":3545,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["hostbinding('class.ccf",{"_index":2212,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["hostbinding('class.cff",{"_index":979,"title":{},"body":{"components/ContentComponent.html":{}}}],["hostbinding('style.margin",{"_index":984,"title":{},"body":{"components/ContentComponent.html":{}}}],["hostbindings",{"_index":833,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["hostlistener",{"_index":1776,"title":{},"body":{"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["hostlistener('@expandcollapse.done",{"_index":2283,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostlistener('@openclose.done",{"_index":2279,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostlistener('document:click",{"_index":1727,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["hostlistener('document:keydown",{"_index":3236,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["hostlistener('document:keyup",{"_index":3242,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["hostlistener('document:touchstart",{"_index":1808,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["hostlisteners",{"_index":1695,"title":{},"body":{"components/DualSliderComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["hover",{"_index":1540,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["hoverable",{"_index":1552,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["hovered",{"_index":1489,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["hovering",{"_index":4092,"title":{},"body":{"changelog.html":{}}}],["hoverstate",{"_index":1454,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["hra",{"_index":3898,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["html",{"_index":553,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["htmlelement",{"_index":1715,"title":{},"body":{"components/DualSliderComponent.html":{},"injectables/ThemingService.html":{}}}],["htmlinputelement).value",{"_index":1823,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["http://purl.obolibrary.org/obo/cl_0000000",{"_index":1128,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0013702",{"_index":1127,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/ccf/latest/ccf.owl#vhfskin",{"_index":2984,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["httpclientmodule",{"_index":1058,"title":{},"body":{"modules/CoreModule.html":{}}}],["https://beta",{"_index":4523,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":4535,"title":{},"body":{"index.html":{}}}],["https://hubmap",{"_index":4528,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":4527,"title":{},"body":{"index.html":{}}}],["https://humanatlas.io",{"_index":4552,"title":{},"body":{"index.html":{}}}],["https://observablehq.com/@cns",{"_index":4549,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":4530,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":4525,"title":{},"body":{"index.html":{}}}],["https://r5i95k35v5.us",{"_index":4537,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":4315,"title":{},"body":{"changelog.html":{}}}],["https://www.ngxs.io/advanced/options",{"_index":3583,"title":{},"body":{"modules/StoreModule.html":{}}}],["hubmap",{"_index":144,"title":{},"body":{"modules/AppModule.html":{},"components/HeaderComponent.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["hubmapasseturl",{"_index":500,"title":{},"body":{"components/AppWebComponent.html":{}}}],["hubmapdataservice",{"_index":501,"title":{},"body":{"components/AppWebComponent.html":{}}}],["hubmapdataurl",{"_index":502,"title":{},"body":{"components/AppWebComponent.html":{}}}],["hubmapportalurl",{"_index":503,"title":{},"body":{"components/AppWebComponent.html":{}}}],["hubmaptoken",{"_index":504,"title":{},"body":{"components/AppWebComponent.html":{}}}],["human",{"_index":3896,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["icon",{"_index":1323,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/RunSpatialSearchComponent.html":{},"modules/StoreModule.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["icondefinition",{"_index":2095,"title":{"interfaces/IconDefinition.html":{}},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{}}}],["iconregistry",{"_index":2103,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["iconregistrystate",{"_index":2104,"title":{"injectables/IconRegistryState.html":{}},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["icons",{"_index":1338,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["icons.ts",{"_index":1321,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["id",{"_index":45,"title":{},"body":{"classes/AddSearch.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"interfaces/OntologySelection.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"components/ResultsBrowserComponent.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["idb",{"_index":4466,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":2379,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ThumbnailCarouselComponent.html":{},"coverage.html":{}}}],["iec",{"_index":4202,"title":{},"body":{"changelog.html":{}}}],["iframe",{"_index":445,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ViewerComponent.html":{}}}],["image",{"_index":4195,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":4240,"title":{},"body":{"changelog.html":{}}}],["immutable",{"_index":730,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/OntologySearchService.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SearchResult.html":{}}}],["implementation",{"_index":1168,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{}}}],["implemented",{"_index":4166,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":4279,"title":{},"body":{"changelog.html":{}}}],["implements",{"_index":148,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["implied",{"_index":4599,"title":{},"body":{"license.html":{}}}],["implies",{"_index":1045,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["import",{"_index":33,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{}}}],["import.meta.url",{"_index":3884,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["important",{"_index":696,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["imported",{"_index":1084,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["imports",{"_index":78,"title":{},"body":{"modules/AppModule.html":{},"modules/CheckboxModule.html":{},"modules/CoreModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/StoreModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{}}}],["importscripts('${externalurl",{"_index":3890,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["improve",{"_index":4159,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":3993,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":3967,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":4051,"title":{},"body":{"changelog.html":{}}}],["include",{"_index":4209,"title":{},"body":{"changelog.html":{}}}],["included",{"_index":3597,"title":{},"body":{"components/TermOccurrenceListComponent.html":{},"license.html":{}}}],["includes",{"_index":3943,"title":{},"body":{"changelog.html":{}}}],["including",{"_index":4028,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":4184,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":4275,"title":{},"body":{"changelog.html":{}}}],["indeterminate.mat",{"_index":1523,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["index",{"_index":11,"title":{"index.html":{}},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indexes",{"_index":3913,"title":{},"body":{"changelog.html":{}}}],["indiana",{"_index":4559,"title":{},"body":{"index.html":{}}}],["indicates",{"_index":2027,"title":{},"body":{"classes/FlatNode.html":{}}}],["individual",{"_index":654,"title":{},"body":{"components/CheckboxComponent.html":{},"components/OntologySearchComponent.html":{},"changelog.html":{}}}],["infinity",{"_index":346,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["infix",{"_index":1634,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["info",{"_index":3,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"index.html":{}}}],["info.name",{"_index":2798,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["infobuttonmodule",{"_index":105,"title":{},"body":{"modules/AppModule.html":{},"modules/SpatialSearchUiModule.html":{}}}],["infobuttonservice",{"_index":3061,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["infoclicked",{"_index":3119,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["infodialogcomponent",{"_index":3082,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["information",{"_index":663,"title":{},"body":{"components/CheckboxComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"changelog.html":{},"index.html":{}}}],["infoservice",{"_index":3060,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["infrastructure",{"_index":4243,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":4211,"title":{},"body":{"changelog.html":{}}}],["inherit",{"_index":1989,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["init",{"_index":2489,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["initial",{"_index":350,"title":{},"body":{"interfaces/AppOptions.html":{},"changelog.html":{}}}],["initialconfig",{"_index":545,"title":{},"body":{"components/AppWebComponent.html":{}}}],["initialdelay",{"_index":543,"title":{},"body":{"components/AppWebComponent.html":{}}}],["initialization",{"_index":2257,"title":{},"body":{"classes/InitializationState.html":{}}}],["initializationstate",{"_index":2156,"title":{"classes/InitializationState.html":{}},"body":{"classes/InitializationState.html":{},"coverage.html":{}}}],["initialize",{"_index":2993,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"injectables/ThemingService.html":{}}}],["initialize(component",{"_index":3632,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initialize(element",{"_index":3637,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initialized",{"_index":497,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"injectables/ThemingService.html":{}}}],["initializer",{"_index":3635,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initializes",{"_index":1730,"title":{},"body":{"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/ToggleButtonComponent.html":{}}}],["initializesliderpopover",{"_index":1687,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["initializing",{"_index":1041,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["inject",{"_index":2382,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{}}}],["inject(default_theme",{"_index":3651,"title":{},"body":{"injectables/ThemingService.html":{}}}],["injectable",{"_index":452,"title":{"injectables/AppRootOverlayContainer.html":{},"injectables/ColorAssignmentState.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"injectables/MessageService.html":{},"injectables/OntologySearchService.html":{},"injectables/SceneState.html":{},"injectables/SpatialSearchFilterState.html":{},"injectables/SpatialSearchUiState.html":{},"injectables/ThemingService.html":{},"injectables/WorkerDataSourceService.html":{}},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/OntologySearchService.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"injectables/WorkerDataSourceService.html":{},"coverage.html":{}}}],["injectables",{"_index":453,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"injectables/ColorAssignmentState.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"injectables/MessageService.html":{},"injectables/OntologySearchService.html":{},"injectables/SceneState.html":{},"injectables/SpatialSearchFilterState.html":{},"injectables/SpatialSearchUiState.html":{},"injectables/ThemingService.html":{},"injectables/WorkerDataSourceService.html":{},"overview.html":{}}}],["injectcontainerstate",{"_index":3579,"title":{},"body":{"modules/StoreModule.html":{}}}],["injecting",{"_index":2355,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["injectiontoken",{"_index":2383,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["injectiontoken('default",{"_index":3648,"title":{},"body":{"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["injector",{"_index":87,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"injectables/ThemingService.html":{}}}],["injector.get(overlaycontainer",{"_index":3662,"title":{},"body":{"injectables/ThemingService.html":{}}}],["injector.get(renderer2",{"_index":3660,"title":{},"body":{"injectables/ThemingService.html":{}}}],["injector.get(themingservice",{"_index":3649,"title":{},"body":{"injectables/ThemingService.html":{}}}],["injectordelegatedatasourceservice",{"_index":1437,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["inner",{"_index":697,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["input",{"_index":523,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ViewerComponent.html":{}}}],["inputs",{"_index":498,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ViewerComponent.html":{}}}],["inside",{"_index":1834,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["install",{"_index":3747,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{}}}],["instance",{"_index":310,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["instancetype",{"_index":4510,"title":{},"body":{"miscellaneous/functions.html":{}}}],["instant",{"_index":2179,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["instead",{"_index":1841,"title":{},"body":{"components/DualSliderComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["instructions",{"_index":4058,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":4132,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":4025,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":4210,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":4145,"title":{},"body":{"changelog.html":{}}}],["inter",{"_index":2084,"title":{},"body":{"components/HeaderComponent.html":{}}}],["interact",{"_index":4118,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":4262,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":4312,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":156,"title":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"interfaces/ListResult.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/OntologySelection.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"interfaces/SpatialSearchFilterItem.html":{},"interfaces/SpatialSearchUiModel.html":{},"interfaces/TermResult.html":{}},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":158,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"interfaces/ListResult.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/OntologySelection.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"interfaces/SpatialSearchFilterItem.html":{},"interfaces/SpatialSearchUiModel.html":{},"interfaces/TermResult.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":4194,"title":{},"body":{"changelog.html":{}}}],["intestine",{"_index":1365,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["intestine.svg",{"_index":1366,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["invisible",{"_index":960,"title":{},"body":{"components/ContentComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["iri",{"_index":2973,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["isexpandable",{"_index":4373,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["islighttheme",{"_index":284,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["isn't",{"_index":1483,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["isolated",{"_index":2388,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/variables.html":{}}}],["issliderinitialized",{"_index":1680,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["isslideropen",{"_index":1681,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["isstring",{"_index":529,"title":{},"body":{"components/AppWebComponent.html":{}}}],["isstringarray",{"_index":532,"title":{},"body":{"components/AppWebComponent.html":{}}}],["isstringarray(json",{"_index":537,"title":{},"body":{"components/AppWebComponent.html":{}}}],["isstringarray(value",{"_index":538,"title":{},"body":{"components/AppWebComponent.html":{}}}],["issue",{"_index":4180,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":3948,"title":{},"body":{"changelog.html":{}}}],["iswhitelisted",{"_index":434,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["it's",{"_index":371,"title":{},"body":{"interfaces/AppOptions.html":{},"changelog.html":{}}}],["item",{"_index":273,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["item.color",{"_index":795,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["item.id",{"_index":2795,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["item.search",{"_index":1914,"title":{},"body":{"components/FiltersContentComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{}}}],["item.selected",{"_index":1901,"title":{},"body":{"components/FiltersContentComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["item.selected).map(item",{"_index":3199,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["item.sex",{"_index":1923,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["item.technology",{"_index":3726,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["item.thumbnail",{"_index":3724,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["item?.id",{"_index":3160,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["itemhovered",{"_index":2836,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["itemid",{"_index":3677,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["itemid(_index",{"_index":3685,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["items",{"_index":50,"title":{},"body":{"classes/AddSearch.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"classes/RemoveSearch.html":{},"components/RunSpatialSearchComponent.html":{},"classes/SetSelectedSearches.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["items(state",{"_index":3188,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["items.filter(item",{"_index":3198,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["items.length",{"_index":1924,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["items.map(item",{"_index":1913,"title":{},"body":{"components/FiltersContentComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{}}}],["itemunhovered",{"_index":2837,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["iu",{"_index":4294,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":4550,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":3921,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["join",{"_index":2527,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["json",{"_index":535,"title":{},"body":{"components/AppWebComponent.html":{},"changelog.html":{}}}],["json.parse(json.stringify(default_filter",{"_index":1910,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["jsonld",{"_index":4469,"title":{},"body":{"dependencies.html":{}}}],["july",{"_index":4261,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":4299,"title":{},"body":{"changelog.html":{}}}],["justify",{"_index":1519,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ViewerComponent.html":{}}}],["keep",{"_index":253,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DonorCardComponent.html":{}}}],["keeping",{"_index":1183,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["keeps",{"_index":1963,"title":{},"body":{"components/FiltersPopoverComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["key",{"_index":766,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["key.direction",{"_index":3293,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["key.tolowercase",{"_index":3254,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["key/value",{"_index":1893,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["keyboard",{"_index":596,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"modules/SpatialSearchUiModule.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["keyboardevent",{"_index":1739,"title":{},"body":{"components/DualSliderComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["keyclick",{"_index":3215,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["keyclick(key",{"_index":3237,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["keyclicked",{"_index":3277,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["keydown",{"_index":3232,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["keyframes",{"_index":1626,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["keyhover",{"_index":3216,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["keyhover(key",{"_index":3239,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["keyhovered",{"_index":3278,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["keymap",{"_index":3276,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["keyrow",{"_index":3303,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["keys",{"_index":3291,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["keyup",{"_index":3217,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["keyup(target",{"_index":3241,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["keyval",{"_index":4467,"title":{},"body":{"dependencies.html":{}}}],["key}:${value",{"_index":1905,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["kidney",{"_index":1360,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["kidney.svg",{"_index":1361,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["kind",{"_index":4598,"title":{},"body":{"license.html":{}}}],["knee",{"_index":1362,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["knee.svg",{"_index":1363,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["known",{"_index":3947,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":3935,"title":{},"body":{"changelog.html":{}}}],["label",{"_index":256,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"interfaces/DataStateModel.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"classes/FlatNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/TissueSectionVisComponent.html":{}}}],["label.slice(0",{"_index":2615,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["label.slice(index",{"_index":2616,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["label.tolowercase().includes(searchvalue",{"_index":2611,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["label.tolowercase().indexof(searchvalue",{"_index":2613,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["labeled",{"_index":625,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["labels",{"_index":655,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DualSliderComponent.html":{},"components/HeaderComponent.html":{}}}],["labs/data",{"_index":3558,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["labs/data/decorators",{"_index":735,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["labs/data/repositories",{"_index":737,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["labs/dispatch",{"_index":176,"title":{},"body":{"interfaces/AppOptions.html":{},"components/FiltersPopoverComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/StoreModule.html":{},"dependencies.html":{}}}],["landmarks",{"_index":3956,"title":{},"body":{"changelog.html":{}}}],["large",{"_index":1364,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["larger",{"_index":3984,"title":{},"body":{"changelog.html":{}}}],["larynx",{"_index":1367,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["larynx.svg",{"_index":1368,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["last",{"_index":432,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DropdownComponent.html":{},"modules/StoreModule.html":{}}}],["latest",{"_index":1155,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"miscellaneous/functions.html":{},"index.html":{}}}],["launch",{"_index":3855,"title":{},"body":{"components/ViewerComponent.html":{}}}],["launchinfodialog",{"_index":3054,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["launchinfodialog(data",{"_index":3065,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["launchs",{"_index":3318,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["layers",{"_index":4415,"title":{},"body":{"dependencies.html":{}}}],["lazy",{"_index":2326,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["ld",{"_index":4219,"title":{},"body":{"changelog.html":{}}}],["leak",{"_index":4179,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":4038,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":368,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["left.closeexpanded",{"_index":379,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["left.open",{"_index":378,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["left.px",{"_index":955,"title":{},"body":{"components/ContentComponent.html":{}}}],["left.svg",{"_index":1356,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["left/right",{"_index":4048,"title":{},"body":{"changelog.html":{}}}],["leftmargin",{"_index":948,"title":{},"body":{"components/ContentComponent.html":{}}}],["legend",{"_index":552,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["level",{"_index":2011,"title":{},"body":{"classes/FlatNode.html":{},"injectables/ThemingService.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["levels",{"_index":4309,"title":{},"body":{"changelog.html":{}}}],["lexically",{"_index":2503,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["liability",{"_index":4611,"title":{},"body":{"license.html":{}}}],["liable",{"_index":4608,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":3987,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":4152,"title":{},"body":{"changelog.html":{}}}],["license",{"_index":4565,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":4033,"title":{},"body":{"changelog.html":{}}}],["lifecycle",{"_index":2490,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["light",{"_index":146,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{}}}],["lighter",{"_index":1555,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["limitation",{"_index":4579,"title":{},"body":{"license.html":{}}}],["limited",{"_index":4247,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":482,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["link",{"_index":437,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DonorCardComponent.html":{},"components/HeaderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["linkage",{"_index":4263,"title":{},"body":{"changelog.html":{}}}],["linkclick",{"_index":1460,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["linkclicked",{"_index":2838,"title":{},"body":{"components/ResultsBrowserComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["linked",{"_index":3959,"title":{},"body":{"changelog.html":{}}}],["linkhandler",{"_index":1456,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["linkhandler(url",{"_index":1477,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["links",{"_index":4013,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":404,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{},"changelog.html":{}}}],["list'},{'name",{"_index":607,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["list.component",{"_index":3762,"title":{},"body":{"modules/TissueBlockListModule.html":{}}}],["list.component.html",{"_index":3752,"title":{},"body":{"components/TissueBlockListComponent.html":{}}}],["list.component.scss",{"_index":3751,"title":{},"body":{"components/TissueBlockListComponent.html":{}}}],["list.component.ts",{"_index":3750,"title":{},"body":{"components/TissueBlockListComponent.html":{},"coverage.html":{}}}],["list.component.ts:16",{"_index":3754,"title":{},"body":{"components/TissueBlockListComponent.html":{}}}],["list.component.ts:19",{"_index":3753,"title":{},"body":{"components/TissueBlockListComponent.html":{}}}],["list.module",{"_index":3435,"title":{},"body":{"modules/SpatialSearchUiModule.html":{}}}],["list.module.ts",{"_index":3761,"title":{},"body":{"modules/TissueBlockListModule.html":{}}}],["list/term",{"_index":3432,"title":{},"body":{"modules/SpatialSearchUiModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"coverage.html":{}}}],["list/tissue",{"_index":3434,"title":{},"body":{"modules/SpatialSearchUiModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"coverage.html":{}}}],["listed",{"_index":2807,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["listen",{"_index":2387,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["listener",{"_index":1154,"title":{},"body":{"interfaces/DataStateModel.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/functions.html":{}}}],["listeners",{"_index":854,"title":{},"body":{"components/ContainerComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["listens",{"_index":360,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DualSliderComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["listresult",{"_index":2311,"title":{"interfaces/ListResult.html":{}},"body":{"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/ResultsBrowserComponent.html":{},"coverage.html":{}}}],["listresultdeselected",{"_index":2839,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["listresults",{"_index":2317,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["listresultselected",{"_index":2840,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["listresultsstate",{"_index":212,"title":{"injectables/ListResultsState.html":{}},"body":{"interfaces/AppOptions.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["listresultsstatemodel",{"_index":2350,"title":{"interfaces/ListResultsStateModel.html":{}},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"coverage.html":{}}}],["literal",{"_index":815,"title":{},"body":{"interfaces/ColorAssignmentStateModel.html":{},"interfaces/SceneStateModel.html":{},"classes/SetPosition.html":{},"dependencies.html":{}}}],["little",{"_index":4116,"title":{},"body":{"changelog.html":{}}}],["liver",{"_index":1369,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["liver.svg",{"_index":1370,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["load",{"_index":2327,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["loaded",{"_index":1324,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{}}}],["loaders.gl/core",{"_index":4419,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":4421,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":4422,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":1092,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["loadingmessage",{"_index":297,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["located",{"_index":2211,"title":{},"body":{"classes/InitializationState.html":{}}}],["location",{"_index":2623,"title":{},"body":{"interfaces/OntologySelection.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["locations",{"_index":1929,"title":{},"body":{"components/FiltersContentComponent.html":{},"changelog.html":{}}}],["locationstrategy",{"_index":3871,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["locator",{"_index":3870,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["lock",{"_index":3732,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["lodash",{"_index":2346,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"dependencies.html":{}}}],["log",{"_index":4553,"title":{},"body":{"index.html":{}}}],["logged",{"_index":2064,"title":{},"body":{"components/HeaderComponent.html":{}}}],["loggedin",{"_index":449,"title":{},"body":{"interfaces/AppOptions.html":{},"components/HeaderComponent.html":{}}}],["logger",{"_index":3585,"title":{},"body":{"modules/StoreModule.html":{}}}],["logging",{"_index":3980,"title":{},"body":{"changelog.html":{}}}],["logic",{"_index":1476,"title":{},"body":{"components/DonorCardComponent.html":{},"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["login",{"_index":447,"title":{},"body":{"interfaces/AppOptions.html":{},"components/HeaderComponent.html":{}}}],["logindisabled",{"_index":307,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/HeaderComponent.html":{}}}],["loginenabled",{"_index":164,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["logo",{"_index":2054,"title":{},"body":{"components/HeaderComponent.html":{}}}],["logotooltip",{"_index":165,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/HeaderComponent.html":{}}}],["logout",{"_index":2069,"title":{},"body":{"components/HeaderComponent.html":{}}}],["longer",{"_index":4101,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":4157,"title":{},"body":{"changelog.html":{}}}],["looks",{"_index":2582,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["lookup",{"_index":2564,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["lookup(nodes",{"_index":2580,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["low",{"_index":1747,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["low/high",{"_index":1791,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["lower",{"_index":1709,"title":{},"body":{"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["lowvalue",{"_index":1682,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["lru",{"_index":4472,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":4423,"title":{},"body":{"dependencies.html":{}}}],["lung",{"_index":1371,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["lung.svg",{"_index":1372,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["lymph",{"_index":1373,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["made",{"_index":1275,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/DualSliderComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"changelog.html":{}}}],["main",{"_index":226,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"components/SpatialSearchUiComponent.html":{},"miscellaneous/variables.html":{}}}],["major",{"_index":3941,"title":{},"body":{"changelog.html":{}}}],["makes",{"_index":3981,"title":{},"body":{"changelog.html":{}}}],["making",{"_index":4019,"title":{},"body":{"changelog.html":{}}}],["male",{"_index":2039,"title":{},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"miscellaneous/typealiases.html":{}}}],["mammary",{"_index":1378,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["managed",{"_index":879,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["managers",{"_index":3991,"title":{},"body":{"changelog.html":{}}}],["manages",{"_index":3619,"title":{},"body":{"injectables/ThemingService.html":{}}}],["many",{"_index":232,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["map",{"_index":190,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{}}}],["map(([scene",{"_index":3011,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([tissueblocks",{"_index":2365,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["map((color",{"_index":754,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["map((node",{"_index":3025,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(block",{"_index":3497,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["map(items.map(item",{"_index":3164,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["map(nodes",{"_index":2599,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["map(organ",{"_index":3002,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(reforgans",{"_index":2997,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(s",{"_index":3500,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["map(searchresults",{"_index":2522,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["map(state",{"_index":294,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["map(states",{"_index":1234,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["march",{"_index":4155,"title":{},"body":{"changelog.html":{}}}],["margin",{"_index":699,"title":{},"body":{"components/CheckboxComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ViewerComponent.html":{},"miscellaneous/variables.html":{}}}],["margin2",{"_index":2191,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["markdown",{"_index":4477,"title":{},"body":{"dependencies.html":{}}}],["marrow",{"_index":1348,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["marrow.svg",{"_index":1349,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["mat",{"_index":689,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ViewerComponent.html":{}}}],["matautocompletemodule",{"_index":2551,"title":{},"body":{"modules/OntologySearchModule.html":{}}}],["matautocompleteselectedevent",{"_index":2493,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["matbuttonmodule",{"_index":1949,"title":{},"body":{"modules/FiltersContentModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyTreeModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/ViewerModule.html":{}}}],["match",{"_index":2074,"title":{},"body":{"components/HeaderComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"changelog.html":{}}}],["matcheckboxchange",{"_index":665,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["matcheckboxmodule",{"_index":723,"title":{},"body":{"modules/CheckboxModule.html":{},"modules/DonorCardModule.html":{}}}],["matching",{"_index":52,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["matdialog",{"_index":2908,"title":{},"body":{"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["matdialogmodule",{"_index":3113,"title":{},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{}}}],["matdialogref",{"_index":3058,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["matdividermodule",{"_index":3425,"title":{},"body":{"modules/SpatialSearchUiModule.html":{}}}],["material",{"_index":2106,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["matformfieldmodule",{"_index":1666,"title":{},"body":{"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/OntologySearchModule.html":{},"modules/TermOccurrenceListModule.html":{}}}],["math.div($pointer",{"_index":1845,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["math.floor(math.max(width",{"_index":2752,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["math.gl/core",{"_index":2669,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"dependencies.html":{}}}],["math.gl/culling",{"_index":4426,"title":{},"body":{"dependencies.html":{}}}],["math.max(...this.selection",{"_index":1795,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["math.max(x",{"_index":3507,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["math.min(...this.selection",{"_index":1793,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["math.min(defaultradius",{"_index":2751,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["math.round(depth",{"_index":2743,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["math.round(height",{"_index":2742,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["math.round(math.max(width",{"_index":2745,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["math.round(n",{"_index":2767,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["math.round(width",{"_index":2741,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["maticonmodule",{"_index":92,"title":{},"body":{"modules/AppModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologyTreeModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/ViewerModule.html":{}}}],["maticonregistry",{"_index":2101,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["matinputmodule",{"_index":2552,"title":{},"body":{"modules/OntologySearchModule.html":{}}}],["matprogressspinnermodule",{"_index":3552,"title":{},"body":{"modules/SpinnerOverlayModule.html":{},"modules/ViewerModule.html":{}}}],["matradiomodule",{"_index":3144,"title":{},"body":{"modules/SpatialSearchConfigModule.html":{}}}],["matrix",{"_index":2764,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["matrix.gettranslation().map(n",{"_index":2766,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["matrix4",{"_index":2668,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["matrix4(node.transformmatrix",{"_index":2765,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["matselectmodule",{"_index":1668,"title":{},"body":{"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/TermOccurrenceListModule.html":{}}}],["matslidermodule",{"_index":3427,"title":{},"body":{"modules/SpatialSearchUiModule.html":{}}}],["matsnackbar",{"_index":173,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["matsnackbarmodule",{"_index":94,"title":{},"body":{"modules/AppModule.html":{}}}],["mattoolbarmodule",{"_index":2092,"title":{},"body":{"modules/HeaderModule.html":{}}}],["mattooltipmodule",{"_index":97,"title":{},"body":{"modules/AppModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyTreeModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/TissueBlockListModule.html":{}}}],["mattreemodule",{"_index":2664,"title":{},"body":{"modules/OntologyTreeModule.html":{}}}],["max",{"_index":1651,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["maximum",{"_index":3375,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["mc",{"_index":4293,"title":{},"body":{"changelog.html":{}}}],["measured",{"_index":2249,"title":{},"body":{"classes/InitializationState.html":{}}}],["measuredmargin",{"_index":2251,"title":{},"body":{"classes/InitializationState.html":{}}}],["measuredwidth",{"_index":2241,"title":{},"body":{"classes/InitializationState.html":{}}}],["memory",{"_index":4178,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":1599,"title":{},"body":{"components/DropdownComponent.html":{},"components/TermOccurrenceListComponent.html":{},"changelog.html":{}}}],["merchantability",{"_index":4601,"title":{},"body":{"license.html":{}}}],["merge",{"_index":4582,"title":{},"body":{"license.html":{}}}],["mergeall",{"_index":2384,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["mergemap",{"_index":2678,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["message",{"_index":846,"title":{"interfaces/Message.html":{}},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["message_service_config",{"_index":1592,"title":{},"body":{"modules/DrawerModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["message_service_default_config",{"_index":1593,"title":{},"body":{"modules/DrawerModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["messagechannel",{"_index":861,"title":{"classes/MessageChannel.html":{}},"body":{"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["messagechannel(source",{"_index":2424,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["messagechannel.counter",{"_index":2411,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["messages",{"_index":840,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{}}}],["messageservice",{"_index":821,"title":{"injectables/MessageService.html":{}},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["messageservice.connect(this",{"_index":909,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["messageservice.connect(this).getmessages",{"_index":996,"title":{},"body":{"components/ContentComponent.html":{}}}],["messageserviceconfig",{"_index":2386,"title":{"interfaces/MessageServiceConfig.html":{}},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["messagess",{"_index":1144,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["metadata",{"_index":494,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["method",{"_index":668,"title":{},"body":{"components/CheckboxComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ThemingService.html":{}}}],["method.apply(registry",{"_index":2134,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["methodname",{"_index":2128,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ThemingService.html":{}}}],["methods",{"_index":79,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/CheckboxComponent.html":{},"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/DataStateSelectors.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{}}}],["min",{"_index":1511,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/TissueBlockListComponent.html":{},"components/ViewerComponent.html":{}}}],["minimap",{"_index":3414,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["minimum",{"_index":3376,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["minor",{"_index":3949,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":4499,"title":{"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mismatch",{"_index":1899,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["mit",{"_index":4566,"title":{},"body":{"license.html":{}}}],["ml",{"_index":1565,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["mm",{"_index":3182,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiComponent.html":{}}}],["mock",{"_index":4289,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":3091,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"changelog.html":{}}}],["mode",{"_index":337,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"changelog.html":{}}}],["model",{"_index":1271,"title":{},"body":{"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/OntologySelectionComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"dependencies.html":{}}}],["models/list",{"_index":2347,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["modify",{"_index":4581,"title":{},"body":{"license.html":{}}}],["module",{"_index":54,"title":{"modules/AppModule.html":{},"modules/CheckboxModule.html":{},"modules/CoreModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/StoreModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThemingModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{},"injectables/WorkerDataSourceService.html":{}}}],["modules",{"_index":56,"title":{"modules.html":{}},"body":{"modules/AppModule.html":{},"modules/CheckboxModule.html":{},"modules/CoreModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/StoreModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThemingModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{},"modules.html":{},"overview.html":{}}}],["modules/filters/filters",{"_index":121,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{}}}],["modules/ontology",{"_index":124,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/results",{"_index":127,"title":{},"body":{"modules/AppModule.html":{}}}],["monorepo",{"_index":4515,"title":{},"body":{"index.html":{}}}],["more",{"_index":1134,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"index.html":{}}}],["mouse",{"_index":1718,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["mousepositiontrackermodule",{"_index":1061,"title":{},"body":{"modules/CoreModule.html":{}}}],["move",{"_index":3401,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["moved",{"_index":4301,"title":{},"body":{"changelog.html":{}}}],["movement",{"_index":1719,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["movetonode",{"_index":2044,"title":{"classes/MoveToNode.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["movetonode(ctx",{"_index":2763,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["moving",{"_index":2045,"title":{},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateSpatialSearch.html":{}}}],["mr",{"_index":1567,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["msg",{"_index":970,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["msg.payload",{"_index":1008,"title":{},"body":{"components/ContentComponent.html":{}}}],["msg.payload.drawers",{"_index":1002,"title":{},"body":{"components/ContentComponent.html":{}}}],["msg.payload.opened",{"_index":3821,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["msg.payload.type",{"_index":999,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["msg.source",{"_index":1006,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["mt",{"_index":1568,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["much",{"_index":3982,"title":{},"body":{"changelog.html":{}}}],["multi",{"_index":3617,"title":{},"body":{"modules/ThemingModule.html":{}}}],["multiple",{"_index":4516,"title":{},"body":{"index.html":{}}}],["n3",{"_index":4473,"title":{},"body":{"dependencies.html":{}}}],["name",{"_index":26,"title":{},"body":{"classes/AddSearch.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["names",{"_index":4075,"title":{},"body":{"changelog.html":{}}}],["namespace",{"_index":1333,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"miscellaneous/variables.html":{}}}],["navigate_before",{"_index":3725,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["navigate_next",{"_index":3727,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["navigation",{"_index":3675,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"changelog.html":{}}}],["navigationoptions",{"_index":3699,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["necessary",{"_index":1749,"title":{},"body":{"components/DualSliderComponent.html":{},"injectables/ThemingService.html":{}}}],["need",{"_index":1278,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/DefaultIconDefinition.html":{},"components/FiltersPopoverComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["needed",{"_index":4161,"title":{},"body":{"changelog.html":{}}}],["needs",{"_index":851,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["nested",{"_index":1833,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["network",{"_index":4557,"title":{},"body":{"index.html":{}}}],["neuron",{"_index":1381,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["neuron.svg",{"_index":1382,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["never",{"_index":903,"title":{},"body":{"components/ContainerComponent.html":{},"components/ViewerComponent.html":{},"miscellaneous/functions.html":{}}}],["new",{"_index":278,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["newitems",{"_index":3166,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["newly",{"_index":2021,"title":{},"body":{"classes/FlatNode.html":{}}}],["newvalue",{"_index":1821,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["next",{"_index":481,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["nextbuttonid",{"_index":3679,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["nextel",{"_index":3709,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["nextmessageid",{"_index":2410,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["nextuid",{"_index":3712,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["ng",{"_index":687,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["ng5",{"_index":1777,"title":{},"body":{"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"dependencies.html":{}}}],["ng5slidermodule",{"_index":1853,"title":{},"body":{"modules/DualSliderModule.html":{}}}],["ngacceptinputtype_expanded",{"_index":2310,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngacceptinputtype_opened",{"_index":2309,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngacceptinputtype_position",{"_index":2308,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngafterviewinit",{"_index":830,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["ngdobootstrap",{"_index":80,"title":{},"body":{"modules/AppModule.html":{}}}],["ngmodule",{"_index":88,"title":{},"body":{"modules/AppModule.html":{},"modules/CheckboxModule.html":{},"modules/CoreModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/StoreModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThemingModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{}}}],["ngonchanges",{"_index":1688,"title":{},"body":{"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ViewerComponent.html":{}}}],["ngonchanges(changes",{"_index":1731,"title":{},"body":{"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ViewerComponent.html":{}}}],["ngondestroy",{"_index":831,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["ngoninit",{"_index":340,"title":{},"body":{"interfaces/AppOptions.html":{},"components/OntologySearchComponent.html":{}}}],["ngx",{"_index":678,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"dependencies.html":{}}}],["ngxs",{"_index":175,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"components/FiltersPopoverComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/logger",{"_index":3561,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/storage",{"_index":4431,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":179,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{},"dependencies.html":{}}}],["ngxs/store/operators",{"_index":3150,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["ngxsdatapluginmodule",{"_index":3557,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdatapluginmodule.forroot",{"_index":3574,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdatarepository",{"_index":1094,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["ngxsdispatchpluginmodule",{"_index":3559,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdispatchpluginmodule.forroot",{"_index":3584,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsimmutabledatarepository",{"_index":736,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["ngxsloggerpluginmodule",{"_index":3560,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsloggerpluginmodule.forroot",{"_index":3586,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule",{"_index":3563,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule.forroot(root_states",{"_index":3575,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsoninit",{"_index":1096,"title":{},"body":{"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nih",{"_index":4562,"title":{},"body":{"index.html":{}}}],["node",{"_index":2006,"title":{},"body":{"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"dependencies.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["node's",{"_index":2024,"title":{},"body":{"classes/FlatNode.html":{}}}],["node.ccf_annotations?.some?.(tag",{"_index":3021,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["node.children",{"_index":2620,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["node.entityid",{"_index":2985,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["node.id",{"_index":2533,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["node.label.tolowercase().includes(searchvalue",{"_index":2605,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["node.reference_organ",{"_index":3023,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["node.representation_of",{"_index":2982,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["node.synonymlabels.find((label",{"_index":2610,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["node.ts",{"_index":2005,"title":{},"body":{"classes/FlatNode.html":{},"coverage.html":{}}}],["node.ts:11",{"_index":2017,"title":{},"body":{"classes/FlatNode.html":{}}}],["node.ts:13",{"_index":2015,"title":{},"body":{"classes/FlatNode.html":{}}}],["node.ts:18",{"_index":2023,"title":{},"body":{"classes/FlatNode.html":{}}}],["node.ts:25",{"_index":2026,"title":{},"body":{"classes/FlatNode.html":{}}}],["node.ts:36",{"_index":2020,"title":{},"body":{"classes/FlatNode.html":{}}}],["node.ts:38",{"_index":2012,"title":{},"body":{"classes/FlatNode.html":{}}}],["node.ts:9",{"_index":2018,"title":{},"body":{"classes/FlatNode.html":{}}}],["node['@id",{"_index":2983,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodeclicked",{"_index":3362,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["nodeclickevent",{"_index":2941,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodes",{"_index":406,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchUiComponent.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["nodes.foreach((node",{"_index":2603,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["nodes.svg",{"_index":1374,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["nodes[node.parent",{"_index":2652,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["none",{"_index":1636,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["noninfringement",{"_index":4605,"title":{},"body":{"license.html":{}}}],["normally",{"_index":1968,"title":{},"body":{"components/FiltersPopoverComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["north",{"_index":3284,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["north_east",{"_index":3288,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["not(:first",{"_index":1532,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["not(:last",{"_index":2080,"title":{},"body":{"components/HeaderComponent.html":{}}}],["note",{"_index":1832,"title":{},"body":{"components/DualSliderComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["notebooks",{"_index":3919,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":4545,"title":{},"body":{"index.html":{}}}],["notice",{"_index":4181,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["notifies",{"_index":2860,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["now",{"_index":3985,"title":{},"body":{"changelog.html":{}}}],["nowrap",{"_index":1573,"title":{},"body":{"components/DonorCardComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["null",{"_index":2110,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"components/ViewerComponent.html":{}}}],["null)?.getcontainerelement",{"_index":3663,"title":{},"body":{"injectables/ThemingService.html":{}}}],["nullish",{"_index":2811,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["number",{"_index":644,"title":{},"body":{"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"classes/UpdateSpatialSearch.html":{},"changelog.html":{}}}],["number((event.target",{"_index":1822,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["number(this.options.floor",{"_index":1825,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["number(value.slice(0",{"_index":2255,"title":{},"body":{"classes/InitializationState.html":{}}}],["numebr",{"_index":3777,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["numeric",{"_index":4185,"title":{},"body":{"changelog.html":{}}}],["numresults",{"_index":2007,"title":{},"body":{"classes/FlatNode.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["o",{"_index":1159,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["o.disabled",{"_index":2730,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["o.id",{"_index":2729,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["o.representation_of",{"_index":2701,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["o.sex?.tolowercase",{"_index":2702,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["o['@id",{"_index":3019,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["object",{"_index":272,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["object.entries(counts",{"_index":3514,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["object.prototype.hasownproperty.call(colors",{"_index":3026,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["object.values(state.nodes",{"_index":2587,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["observable",{"_index":187,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["observableinput",{"_index":1103,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["observedvalueof",{"_index":1104,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["obtaining",{"_index":4574,"title":{},"body":{"license.html":{}}}],["occurence",{"_index":3431,"title":{},"body":{"modules/SpatialSearchUiModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"coverage.html":{}}}],["occurencedata",{"_index":2628,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["occurences",{"_index":1197,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["occurrence",{"_index":606,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["occurrence.component",{"_index":3610,"title":{},"body":{"modules/TermOccurrenceListModule.html":{}}}],["occurrence.component.html",{"_index":3590,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["occurrence.component.scss",{"_index":3589,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["occurrence.component.ts",{"_index":3588,"title":{},"body":{"components/TermOccurrenceListComponent.html":{},"coverage.html":{}}}],["occurrence.component.ts:15",{"_index":3600,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["occurrence.component.ts:20",{"_index":3593,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["occurrence.component.ts:25",{"_index":3594,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["occurrence.component.ts:30",{"_index":3596,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["occurrence.module",{"_index":3433,"title":{},"body":{"modules/SpatialSearchUiModule.html":{}}}],["occurrence.module.ts",{"_index":3609,"title":{},"body":{"modules/TermOccurrenceListModule.html":{}}}],["occurs",{"_index":1722,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["ofactiondispatched",{"_index":2671,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["ofactiondispatched(updatespatialsearch",{"_index":2704,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["off/on",{"_index":4164,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":4260,"title":{},"body":{"changelog.html":{}}}],["offset",{"_index":1010,"title":{},"body":{"components/ContentComponent.html":{}}}],["old",{"_index":4529,"title":{},"body":{"index.html":{}}}],["olditems",{"_index":3165,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["olditems.map(item",{"_index":3167,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["once",{"_index":1085,"title":{},"body":{"modules/CoreModule.html":{}}}],["onchanges",{"_index":1675,"title":{},"body":{"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ViewerComponent.html":{}}}],["ondestroy",{"_index":818,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["ondialogbuttonclick",{"_index":3055,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["one",{"_index":1133,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"index.html":{}}}],["oninit",{"_index":171,"title":{},"body":{"interfaces/AppOptions.html":{},"components/OntologySearchComponent.html":{}}}],["onkeyhigh",{"_index":1689,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["onkeyhigh(event",{"_index":1738,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["onkeylow",{"_index":1690,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["onkeylow(event",{"_index":1745,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["online",{"_index":4269,"title":{},"body":{"changelog.html":{}}}],["onscroll",{"_index":2834,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["onscroll(event",{"_index":2866,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["onselect",{"_index":2467,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["onselect(event",{"_index":2492,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["ontolgyselection.foreach((selection",{"_index":428,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ontolgyselection.length",{"_index":424,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ontolgyselection[0].label",{"_index":426,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ontological",{"_index":4317,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":4220,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":255,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"components/HeaderComponent.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["ontology_search",{"_index":2532,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["ontologyexplorationmodule",{"_index":67,"title":{"modules/OntologyExplorationModule.html":{}},"body":{"modules/AppModule.html":{},"modules/OntologyExplorationModule.html":{},"modules.html":{},"overview.html":{}}}],["ontologyfilter",{"_index":2629,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["ontologynode",{"_index":2645,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["ontologysearchcomponent",{"_index":580,"title":{"components/OntologySearchComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["ontologysearchmodule",{"_index":2446,"title":{"modules/OntologySearchModule.html":{}},"body":{"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules.html":{},"overview.html":{}}}],["ontologysearchservice",{"_index":2472,"title":{"injectables/OntologySearchService.html":{}},"body":{"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"interfaces/SearchResult.html":{},"coverage.html":{},"overview.html":{}}}],["ontologyselected(ontologyselection",{"_index":407,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ontologyselection",{"_index":199,"title":{"interfaces/OntologySelection.html":{}},"body":{"interfaces/AppOptions.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"coverage.html":{}}}],["ontologyselection.map(selection",{"_index":412,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ontologyselection[0",{"_index":418,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ontologyselection[0].label",{"_index":419,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ontologyselectioncomponent",{"_index":582,"title":{"components/OntologySelectionComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["ontologyselectionlabel",{"_index":259,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ontologyselectionmodule",{"_index":2447,"title":{"modules/OntologySelectionModule.html":{}},"body":{"modules/OntologyExplorationModule.html":{},"modules/OntologySelectionModule.html":{},"modules.html":{},"overview.html":{}}}],["ontologyselections",{"_index":2641,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["ontologyservice",{"_index":2465,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["ontologytermoccurencesdata",{"_index":1198,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["ontologytermoccurencesdata$.pipe(take(1)).subscribe(ontologytermsfulldata",{"_index":1248,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["ontologytermoccurencesdata(filter",{"_index":1292,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["ontologytermoccurencesdataquerystatus",{"_index":1173,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["ontologytermoccurrences",{"_index":1217,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["ontologyterms",{"_index":299,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"miscellaneous/variables.html":{}}}],["ontologytermsfulldata",{"_index":1185,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["ontologytreecomponent",{"_index":584,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologyTreeModule.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["ontologytreemodel",{"_index":180,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/SearchResult.html":{},"classes/SpatialSearchUiSelectors.html":{}}}],["ontologytreemodule",{"_index":2448,"title":{"modules/OntologyTreeModule.html":{}},"body":{"modules/OntologyExplorationModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules.html":{},"overview.html":{}}}],["ontologytreenode",{"_index":2010,"title":{},"body":{"classes/FlatNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"interfaces/SearchResult.html":{}}}],["opacities",{"_index":4168,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":992,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["opacityslidermodule",{"_index":2666,"title":{},"body":{"modules/OntologyTreeModule.html":{}}}],["open",{"_index":267,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/ViewerComponent.html":{},"miscellaneous/typealiases.html":{}}}],["open/close",{"_index":2232,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["open_in_new",{"_index":1503,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["openapi",{"_index":4021,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/angular",{"_index":1065,"title":{},"body":{"modules/CoreModule.html":{}}}],["openapi/js",{"_index":4541,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":4543,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":4542,"title":{},"body":{"index.html":{}}}],["opened",{"_index":977,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["opened(value",{"_index":2220,"title":{},"body":{"classes/InitializationState.html":{}}}],["opened/closed",{"_index":2177,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["openedchange",{"_index":2228,"title":{},"body":{"classes/InitializationState.html":{}}}],["openedstate",{"_index":2178,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["openexpanded",{"_index":2270,"title":{},"body":{"classes/InitializationState.html":{}}}],["opening",{"_index":2852,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["opening/closing/expanding",{"_index":2194,"title":{},"body":{"classes/InitializationState.html":{}}}],["opens",{"_index":1619,"title":{},"body":{"components/DropdownComponent.html":{},"classes/InitializationState.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["openspatialsearchconfig",{"_index":3312,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["operator",{"_index":1147,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["operatorfunction",{"_index":1105,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["opposite",{"_index":2183,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["optimization",{"_index":4115,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":4254,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":4143,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":666,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"changelog.html":{}}}],["option.displaylabel[0",{"_index":2536,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["option.displaylabel[1",{"_index":2537,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["option.displaylabel[2",{"_index":2538,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["option?.displaylabel",{"_index":2526,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["optional",{"_index":27,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"classes/RemoveSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["options",{"_index":635,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{}}}],["options.ceil",{"_index":1827,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["options.floor",{"_index":1826,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["optionschanged",{"_index":1691,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["optionsvisible",{"_index":1602,"title":{},"body":{"components/DropdownComponent.html":{}}}],["order",{"_index":2594,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["organ",{"_index":265,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"changelog.html":{},"index.html":{}}}],["organ(id",{"_index":3452,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organ.hassex",{"_index":2813,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organ.id",{"_index":3483,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organ.name",{"_index":3131,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["organ.representation_of",{"_index":2780,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organ.sex",{"_index":2736,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organ?.representation_of",{"_index":2796,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organ['@id",{"_index":2782,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organentity",{"_index":3437,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{}}}],["organentity(state",{"_index":2699,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organentity['@id",{"_index":3494,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organid",{"_index":2042,"title":{},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{}}}],["organid(state",{"_index":3454,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organid?.split('/').slice",{"_index":2711,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organids",{"_index":2998,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["organids.has(organ.id",{"_index":3001,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["organinfo",{"_index":2675,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organlistvisible",{"_index":268,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["organmatchessex",{"_index":3439,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organmatchessex(organ",{"_index":3456,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organname",{"_index":19,"title":{},"body":{"classes/AddSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["organs",{"_index":1341,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["organs(sex",{"_index":3458,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organs.filter(organ",{"_index":3485,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organs.find(o",{"_index":2700,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organs.find(organ",{"_index":3482,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organs/anatomical",{"_index":4169,"title":{},"body":{"changelog.html":{}}}],["organscene",{"_index":2689,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["organscene.concat(sphere",{"_index":3505,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["organselectormodule",{"_index":106,"title":{},"body":{"modules/AppModule.html":{}}}],["organvalidforsex",{"_index":3519,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["organvalidforsex(organid",{"_index":2809,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["origin",{"_index":3734,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["original",{"_index":2014,"title":{},"body":{"classes/FlatNode.html":{}}}],["originx",{"_index":1778,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["originy",{"_index":1779,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["orthographic",{"_index":4085,"title":{},"body":{"changelog.html":{}}}],["ot",{"_index":1329,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["ot2od026671",{"_index":4564,"title":{},"body":{"index.html":{}}}],["other.expanded",{"_index":2297,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.expandedstate2",{"_index":2298,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.margin2",{"_index":2303,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.measuredmargin",{"_index":2301,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.measuredwidth",{"_index":2300,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.opened",{"_index":2299,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.width",{"_index":2302,"title":{},"body":{"classes/InitializationState.html":{}}}],["otherblocks",{"_index":2367,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["otherblocks.push",{"_index":2372,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["others",{"_index":277,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["otherwise",{"_index":2117,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"license.html":{}}}],["out",{"_index":74,"title":{},"body":{"modules/AppModule.html":{},"modules/CheckboxModule.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"classes/InitializationState.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThemingModule.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{},"license.html":{},"overview.html":{}}}],["outline",{"_index":1936,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["output",{"_index":676,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ViewerComponent.html":{}}}],["outputs",{"_index":636,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ViewerComponent.html":{}}}],["outside",{"_index":1465,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["ovaries",{"_index":1383,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["ovaries.svg",{"_index":1384,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["ovary",{"_index":1385,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["over",{"_index":1490,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"changelog.html":{}}}],["overall",{"_index":649,"title":{},"body":{"components/CheckboxComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["overflow",{"_index":936,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["overlay",{"_index":289,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/SpinnerOverlayComponent.html":{},"injectables/ThemingService.html":{},"components/ViewerComponent.html":{}}}],["overlay'},{'name",{"_index":603,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["overlay.component",{"_index":3554,"title":{},"body":{"modules/SpinnerOverlayModule.html":{}}}],["overlay.component.html",{"_index":3539,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["overlay.component.scss",{"_index":3538,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["overlay.component.ts",{"_index":3536,"title":{},"body":{"components/SpinnerOverlayComponent.html":{},"coverage.html":{}}}],["overlay.component.ts:16",{"_index":3544,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["overlay.component.ts:19",{"_index":3540,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["overlay.component.ts:22",{"_index":3542,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["overlay.create",{"_index":1785,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["overlay.module",{"_index":139,"title":{},"body":{"modules/AppModule.html":{}}}],["overlay.module.ts",{"_index":3551,"title":{},"body":{"modules/SpinnerOverlayModule.html":{}}}],["overlay.position().flexibleconnectedto(element).withpositions([position",{"_index":1783,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["overlay.service",{"_index":113,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{}}}],["overlay.service.ts",{"_index":455,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"coverage.html":{}}}],["overlay.service.ts:10",{"_index":467,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["overlay.service.ts:11",{"_index":466,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["overlay.service.ts:13",{"_index":465,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["overlay.service.ts:27",{"_index":462,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["overlay.service.ts:32",{"_index":463,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["overlay.setrootelement(el",{"_index":322,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["overlay/app",{"_index":112,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"coverage.html":{}}}],["overlay/spinner",{"_index":138,"title":{},"body":{"modules/AppModule.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"coverage.html":{}}}],["overlaycontainer",{"_index":84,"title":{},"body":{"modules/AppModule.html":{},"injectables/AppRootOverlayContainer.html":{},"injectables/ThemingService.html":{}}}],["overlaymodule",{"_index":1851,"title":{},"body":{"modules/DualSliderModule.html":{}}}],["overlayref",{"_index":1683,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["overlayref.attach(popoverportal",{"_index":1819,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["overlayref.updateposition",{"_index":1820,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["overlays",{"_index":4310,"title":{},"body":{"changelog.html":{}}}],["overlayx",{"_index":1780,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["overlayy",{"_index":1781,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["overview",{"_index":4618,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["owning",{"_index":3804,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["p",{"_index":4285,"title":{},"body":{"changelog.html":{}}}],["package",{"_index":3990,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["padding",{"_index":1514,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ViewerComponent.html":{}}}],["page",{"_index":2055,"title":{},"body":{"components/HeaderComponent.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["pages",{"_index":4056,"title":{},"body":{"changelog.html":{}}}],["pair",{"_index":2305,"title":{},"body":{"classes/InitializationState.html":{}}}],["paired",{"_index":4045,"title":{},"body":{"changelog.html":{}}}],["palatine",{"_index":1386,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["pancreas",{"_index":1389,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["pancreas.svg",{"_index":1390,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["pane",{"_index":1656,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"changelog.html":{}}}],["panel",{"_index":1644,"title":{},"body":{"components/DropdownComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"changelog.html":{}}}],["panelclass",{"_index":1786,"title":{},"body":{"components/DualSliderComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["panelcontent",{"_index":3100,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["paneldata",{"_index":3049,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["param",{"_index":311,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["param0",{"_index":2980,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["parameters",{"_index":24,"title":{},"body":{"classes/AddSearch.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/DataStateSelectors.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"classes/RemoveSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["params",{"_index":2190,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["parent",{"_index":662,"title":{},"body":{"components/CheckboxComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["parent.messages.pipe(takewhile",{"_index":2417,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["parse",{"_index":549,"title":{},"body":{"components/AppWebComponent.html":{}}}],["parsedatasources",{"_index":550,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["parsedatasources(value",{"_index":527,"title":{},"body":{"components/AppWebComponent.html":{},"miscellaneous/functions.html":{}}}],["parser",{"_index":4437,"title":{},"body":{"dependencies.html":{}}}],["part",{"_index":2487,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["partial",{"_index":1277,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"classes/UpdateFilter.html":{}}}],["particular",{"_index":4603,"title":{},"body":{"license.html":{}}}],["partly",{"_index":4154,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":4097,"title":{},"body":{"changelog.html":{}}}],["parts",{"_index":2138,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.join",{"_index":2143,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('innamespace",{"_index":2142,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('literal",{"_index":2141,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('set",{"_index":2140,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["passed",{"_index":257,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DualSliderComponent.html":{},"components/OntologySelectionComponent.html":{}}}],["passes",{"_index":1480,"title":{},"body":{"components/DonorCardComponent.html":{},"components/OntologySelectionComponent.html":{}}}],["path",{"_index":693,"title":{},"body":{"components/CheckboxComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"dependencies.html":{}}}],["patient",{"_index":1450,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{}}}],["payload",{"_index":733,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/typealiases.html":{}}}],["payload('doreset",{"_index":780,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["pelvis",{"_index":1391,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["per",{"_index":3714,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["performance",{"_index":3994,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":4570,"title":{},"body":{"license.html":{}}}],["permit",{"_index":4589,"title":{},"body":{"license.html":{}}}],["person",{"_index":1500,"title":{},"body":{"components/DonorCardComponent.html":{},"components/TissueBlockListComponent.html":{},"license.html":{}}}],["persons",{"_index":4590,"title":{},"body":{"license.html":{}}}],["pick",{"_index":3938,"title":{},"body":{"changelog.html":{}}}],["pipe",{"_index":1156,"title":{},"body":{"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"miscellaneous/functions.html":{}}}],["pipe(mergeall",{"_index":2419,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["placed",{"_index":3573,"title":{},"body":{"modules/StoreModule.html":{}}}],["placeholder",{"_index":4264,"title":{},"body":{"changelog.html":{}}}],["placeholdertext",{"_index":2470,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{}}}],["placement",{"_index":3934,"title":{},"body":{"changelog.html":{}}}],["placenta",{"_index":1394,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["placenta.svg",{"_index":1395,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["player",{"_index":4409,"title":{},"body":{"dependencies.html":{}}}],["pluck",{"_index":191,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["plugin",{"_index":3562,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["plus",{"_index":3944,"title":{},"body":{"changelog.html":{}}}],["pointer",{"_index":1521,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["popover",{"_index":376,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["popover's",{"_index":377,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["popover'},{'name",{"_index":577,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["popover.component",{"_index":223,"title":{},"body":{"interfaces/AppOptions.html":{},"modules/FiltersPopoverModule.html":{}}}],["popover.component.html",{"_index":1957,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.scss",{"_index":1956,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts",{"_index":1955,"title":{},"body":{"components/FiltersPopoverComponent.html":{},"coverage.html":{}}}],["popover.component.ts:21",{"_index":1965,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:27",{"_index":1962,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:32",{"_index":1971,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:37",{"_index":1969,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:42",{"_index":1970,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:47",{"_index":1972,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:52",{"_index":1974,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:57",{"_index":1973,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:62",{"_index":1981,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:68",{"_index":1980,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:77",{"_index":1978,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.component.ts:87",{"_index":1976,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["popover.module",{"_index":123,"title":{},"body":{"modules/AppModule.html":{}}}],["popover.module.ts",{"_index":2001,"title":{},"body":{"modules/FiltersPopoverModule.html":{}}}],["popover/filters",{"_index":122,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"coverage.html":{}}}],["popoverelement",{"_index":1684,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["popoverelement?.nativeelement?.contains?.(target",{"_index":1810,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["popoverportal",{"_index":1685,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["popup",{"_index":1858,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"changelog.html":{}}}],["portal",{"_index":2062,"title":{},"body":{"components/HeaderComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"index.html":{}}}],["portal's",{"_index":4246,"title":{},"body":{"changelog.html":{}}}],["portalmodule",{"_index":1852,"title":{},"body":{"modules/DualSliderModule.html":{}}}],["portions",{"_index":4596,"title":{},"body":{"license.html":{}}}],["position",{"_index":894,"title":{"interfaces/Position.html":{}},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/InitializationState.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["position(state",{"_index":3460,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["position(value",{"_index":2216,"title":{},"body":{"classes/InitializationState.html":{}}}],["positionchange",{"_index":3363,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["positions",{"_index":860,"title":{},"body":{"components/ContainerComponent.html":{}}}],["positionstrategy",{"_index":1782,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["possible",{"_index":4204,"title":{},"body":{"changelog.html":{}}}],["preclose",{"_index":342,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["prefered",{"_index":3700,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["preference",{"_index":353,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["preferences",{"_index":4072,"title":{},"body":{"changelog.html":{}}}],["prefix",{"_index":2540,"title":{},"body":{"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["preparation",{"_index":4295,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":4308,"title":{},"body":{"changelog.html":{}}}],["press",{"_index":3227,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["pressed",{"_index":1744,"title":{},"body":{"components/DualSliderComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["pressed/clicked",{"_index":3245,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["prev",{"_index":3722,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["prevbuttonid",{"_index":3678,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["prevel",{"_index":3707,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["prevent",{"_index":3974,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":4084,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":3717,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["previously",{"_index":4015,"title":{},"body":{"changelog.html":{}}}],["primary",{"_index":3411,"title":{},"body":{"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["private",{"_index":318,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DualSliderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{}}}],["probing",{"_index":3394,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["process",{"_index":969,"title":{},"body":{"components/ContentComponent.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["processed",{"_index":4238,"title":{},"body":{"changelog.html":{}}}],["processes",{"_index":848,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["processing",{"_index":4073,"title":{},"body":{"changelog.html":{}}}],["production",{"_index":4002,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":3986,"title":{},"body":{"changelog.html":{}}}],["progress",{"_index":3537,"title":{},"body":{"components/SpinnerOverlayComponent.html":{}}}],["project",{"_index":4283,"title":{},"body":{"changelog.html":{}}}],["projected",{"_index":855,"title":{},"body":{"components/ContainerComponent.html":{}}}],["projects",{"_index":4517,"title":{},"body":{"index.html":{}}}],["projects/.../action",{"_index":4503,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["projects/.../app",{"_index":4504,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../color",{"_index":4629,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../container.component.ts",{"_index":4505,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../data",{"_index":4628,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../data.state.ts",{"_index":4501,"title":{},"body":{"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/.../default",{"_index":4630,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../drawer.component.ts",{"_index":4623,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../message.service.ts",{"_index":4633,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../messages.ts",{"_index":4622,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../ontology",{"_index":4625,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../scene.state.ts",{"_index":4631,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../spatial",{"_index":4626,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../store.module.ts",{"_index":4635,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../theming.service.ts",{"_index":4632,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../thumbnail",{"_index":4634,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/ccf",{"_index":6,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"coverage.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":2167,"title":{},"body":{"classes/InitializationState.html":{}}}],["promise(resolve",{"_index":2164,"title":{},"body":{"classes/InitializationState.html":{}}}],["prop",{"_index":2126,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["properties",{"_index":12,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"interfaces/IconDefinition.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["property",{"_index":671,"title":{},"body":{"components/CheckboxComponent.html":{},"components/ContentComponent.html":{},"components/FiltersContentComponent.html":{},"classes/InitializationState.html":{},"components/ViewerComponent.html":{}}}],["property('expandable",{"_index":4639,"title":{},"body":{"miscellaneous/variables.html":{}}}],["property('level",{"_index":4638,"title":{},"body":{"miscellaneous/variables.html":{}}}],["prostate",{"_index":1396,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["prostate.svg",{"_index":1397,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["protected",{"_index":458,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/WorkerDataSourceService.html":{}}}],["provide",{"_index":142,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/DrawerModule.html":{},"modules/ThemingModule.html":{}}}],["provided",{"_index":869,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"changelog.html":{},"license.html":{}}}],["providedin",{"_index":468,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/variables.html":{}}}],["provider",{"_index":1211,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["providerfilter",{"_index":1224,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["providerfilterdata",{"_index":1212,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["providerfilterquerystatus",{"_index":1181,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["providerfilters",{"_index":1865,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["providers",{"_index":141,"title":{},"body":{"modules/AppModule.html":{},"components/ContainerComponent.html":{},"modules/CoreModule.html":{},"modules/DrawerModule.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/OntologySelectionComponent.html":{},"modules/ThemingModule.html":{},"changelog.html":{}}}],["providertoken",{"_index":1433,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["provides",{"_index":2475,"title":{},"body":{"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["providing",{"_index":942,"title":{},"body":{"components/ContentComponent.html":{}}}],["public",{"_index":2464,"title":{},"body":{"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"changelog.html":{}}}],["publish",{"_index":4583,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":3988,"title":{},"body":{"changelog.html":{}}}],["publishreplay",{"_index":1109,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["publishreplay(1",{"_index":1163,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["purpose",{"_index":4604,"title":{},"body":{"license.html":{}}}],["pushed",{"_index":4128,"title":{},"body":{"changelog.html":{}}}],["px",{"_index":2208,"title":{},"body":{"classes/InitializationState.html":{}}}],["python",{"_index":3920,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["q",{"_index":3255,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["qs",{"_index":4481,"title":{},"body":{"dependencies.html":{}}}],["qualitative",{"_index":4250,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":4032,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":1130,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/enumerations.html":{}}}],["query",{"_index":1153,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["querydata",{"_index":1157,"title":{},"body":{"interfaces/DataStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["querydata(query",{"_index":4512,"title":{},"body":{"miscellaneous/functions.html":{}}}],["querying",{"_index":1149,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["querylist",{"_index":865,"title":{},"body":{"components/ContainerComponent.html":{}}}],["querystatus",{"_index":1226,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["question",{"_index":650,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["quickly",{"_index":4231,"title":{},"body":{"changelog.html":{}}}],["radio",{"_index":3135,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["radius",{"_index":1517,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{}}}],["radius(state",{"_index":3462,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["radius.tofixed(1",{"_index":2773,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["radiuschange",{"_index":3364,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["radiussettings",{"_index":2682,"title":{"interfaces/RadiusSettings.html":{}},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"coverage.html":{}}}],["radiussettings(state",{"_index":3464,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["radiussettings?.defaultvalue",{"_index":2776,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["range",{"_index":1707,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["rangelabel",{"_index":1698,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["rank",{"_index":728,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"miscellaneous/variables.html":{}}}],["rank']).concat(otherblocks",{"_index":2374,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["rc.1",{"_index":4256,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":4483,"title":{},"body":{"dependencies.html":{}}}],["rdfjs",{"_index":4411,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":4433,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":4484,"title":{},"body":{"dependencies.html":{}}}],["reactiveformsmodule",{"_index":2550,"title":{},"body":{"modules/OntologySearchModule.html":{}}}],["read",{"_index":1764,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["readable",{"_index":4486,"title":{},"body":{"dependencies.html":{}}}],["readonly",{"_index":14,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{}}}],["ready",{"_index":1093,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["real",{"_index":4268,"title":{},"body":{"changelog.html":{}}}],["really",{"_index":2695,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["reallyupdatespatialsearch",{"_index":2694,"title":{"classes/ReallyUpdateSpatialSearch.html":{}},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"coverage.html":{}}}],["reason",{"_index":3571,"title":{},"body":{"modules/StoreModule.html":{}}}],["receive",{"_index":958,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{}}}],["receiving",{"_index":2391,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["record",{"_index":764,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["rectify",{"_index":4018,"title":{},"body":{"changelog.html":{}}}],["reduce",{"_index":4120,"title":{},"body":{"changelog.html":{}}}],["reduction",{"_index":3968,"title":{},"body":{"changelog.html":{}}}],["refcount",{"_index":1110,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["reference",{"_index":843,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"injectables/OntologySearchService.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["referenceorgan",{"_index":3359,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["referenceorgan.name",{"_index":3400,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["referenceorganentities",{"_index":2925,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["referenceorganentities(state",{"_index":2935,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["referenceorgans",{"_index":2688,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["referenceorgans(state",{"_index":2938,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SpatialSearchUiSelectors.html":{}}}],["referenceorgans.filter((o",{"_index":2728,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["referenceorgans.find(item",{"_index":2794,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["references",{"_index":981,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["referencing",{"_index":3701,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["refernced",{"_index":4046,"title":{},"body":{"changelog.html":{}}}],["reforgandata",{"_index":3013,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["reforgans",{"_index":3016,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["reforgans.has(node.reference_organ",{"_index":3024,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["refresh",{"_index":1931,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"changelog.html":{}}}],["refreshclicked",{"_index":2059,"title":{},"body":{"components/HeaderComponent.html":{}}}],["refreshes",{"_index":1890,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["refreshfilters",{"_index":1862,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["regions",{"_index":4311,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":1335,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"dependencies.html":{}}}],["registered",{"_index":1339,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["registericon",{"_index":2121,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registericon(definition",{"_index":2118,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registericonimpl",{"_index":2147,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registericonimpl(definition",{"_index":2122,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registering",{"_index":2098,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registers",{"_index":2115,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registration",{"_index":1328,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{},"index.html":{}}}],["registrations",{"_index":4110,"title":{},"body":{"changelog.html":{}}}],["registrations#1",{"_index":3907,"title":{},"body":{"changelog.html":{}}}],["registry",{"_index":2105,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registry.state",{"_index":3567,"title":{},"body":{"modules/StoreModule.html":{}}}],["registry.state.ts",{"_index":2097,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{}}}],["registry.state.ts:114",{"_index":2153,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:134",{"_index":2151,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:43",{"_index":2149,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:74",{"_index":2154,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:84",{"_index":2155,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry/default",{"_index":1320,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["registry/icon",{"_index":2096,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/StoreModule.html":{},"coverage.html":{}}}],["registry[methodname",{"_index":2130,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["regular",{"_index":1247,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["related",{"_index":4148,"title":{},"body":{"changelog.html":{}}}],["relative",{"_index":935,"title":{},"body":{"components/ContainerComponent.html":{},"components/DonorCardComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/InitializationState.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{}}}],["release",{"_index":3915,"title":{},"body":{"changelog.html":{}}}],["relevant",{"_index":2851,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["reliability",{"_index":4183,"title":{},"body":{"changelog.html":{}}}],["reload",{"_index":3850,"title":{},"body":{"components/ViewerComponent.html":{}}}],["reloads",{"_index":4080,"title":{},"body":{"changelog.html":{}}}],["rem",{"_index":1934,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["remoteapiendpoint",{"_index":505,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["remove",{"_index":44,"title":{},"body":{"classes/AddSearch.html":{},"components/CheckboxComponent.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"injectables/ThemingService.html":{}}}],["removebox",{"_index":1959,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["removeclass",{"_index":3665,"title":{},"body":{"injectables/ThemingService.html":{}}}],["removed",{"_index":4064,"title":{},"body":{"changelog.html":{}}}],["removed/deleted",{"_index":1882,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["removeitem",{"_index":3149,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["removes",{"_index":3629,"title":{},"body":{"injectables/ThemingService.html":{},"changelog.html":{}}}],["removesearch",{"_index":43,"title":{"classes/RemoveSearch.html":{}},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"coverage.html":{}}}],["removesearch(ctx",{"_index":3158,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["removespatialsearch",{"_index":250,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["render",{"_index":1967,"title":{},"body":{"components/FiltersPopoverComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["renderer",{"_index":3659,"title":{},"body":{"injectables/ThemingService.html":{}}}],["renderer2",{"_index":3647,"title":{},"body":{"injectables/ThemingService.html":{}}}],["renderer[methodname](overlay",{"_index":3667,"title":{},"body":{"injectables/ThemingService.html":{}}}],["renderer[methodname](root",{"_index":3666,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rendering",{"_index":2821,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["repeat",{"_index":1111,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/HeaderComponent.html":{}}}],["repeat(1000",{"_index":1263,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["repeat(5",{"_index":3295,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["replay",{"_index":1151,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["replaysubject",{"_index":188,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["replaysubject(1",{"_index":303,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["replaysubject>(1",{"_index":1186,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["repository",{"_index":1164,"title":{},"body":{"interfaces/DataStateModel.html":{},"index.html":{}}}],["required",{"_index":4223,"title":{},"body":{"changelog.html":{}}}],["reset",{"_index":73,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"modules/CheckboxModule.html":{},"modules/CoreModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"classes/GenerateSpatialSearch.html":{},"modules/HeaderModule.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThemingModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"classes/UpdateSpatialSearch.html":{},"modules/ViewerModule.html":{},"overview.html":{}}}],["resetposition",{"_index":2046,"title":{"classes/ResetPosition.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["resetposition(ctx",{"_index":2760,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["resetradius",{"_index":2048,"title":{"classes/ResetRadius.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["resetradius(ctx",{"_index":2775,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["resets",{"_index":366,"title":{},"body":{"interfaces/AppOptions.html":{},"components/HeaderComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["resetsphere",{"_index":3365,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["resettheme",{"_index":3623,"title":{},"body":{"injectables/ThemingService.html":{}}}],["resetview",{"_index":384,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["resolve",{"_index":2160,"title":{},"body":{"classes/InitializationState.html":{}}}],["resolved",{"_index":4133,"title":{},"body":{"changelog.html":{}}}],["resolves",{"_index":882,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["respond",{"_index":4095,"title":{},"body":{"changelog.html":{}}}],["responsible",{"_index":2557,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["restriction",{"_index":4578,"title":{},"body":{"license.html":{}}}],["result",{"_index":51,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["result.ts",{"_index":2313,"title":{},"body":{"interfaces/ListResult.html":{},"coverage.html":{}}}],["resultlabel",{"_index":2835,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["results",{"_index":53,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["results.state",{"_index":215,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["results.state.ts",{"_index":2315,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"coverage.html":{}}}],["results.state.ts:30",{"_index":2343,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:31",{"_index":2341,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:35",{"_index":2339,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:38",{"_index":2324,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:58",{"_index":2336,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:62",{"_index":2334,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:66",{"_index":2329,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:70",{"_index":2331,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:74",{"_index":2337,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results.state.ts:81",{"_index":2332,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["results/list",{"_index":214,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"coverage.html":{}}}],["results_browser",{"_index":2876,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["resultsbrowser",{"_index":2820,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["resultsbrowsercomponent",{"_index":586,"title":{"components/ResultsBrowserComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["resultsbrowseritems",{"_index":2826,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["resultsbrowsermodule",{"_index":68,"title":{"modules/ResultsBrowserModule.html":{}},"body":{"modules/AppModule.html":{},"modules/ResultsBrowserModule.html":{},"modules.html":{},"overview.html":{}}}],["return",{"_index":285,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/variables.html":{}}}],["returns",{"_index":82,"title":{},"body":{"modules/AppModule.html":{},"injectables/AppRootOverlayContainer.html":{},"components/CheckboxComponent.html":{},"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/functions.html":{}}}],["reuse",{"_index":1246,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["reverse",{"_index":1935,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["rgb",{"_index":740,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"dependencies.html":{}}}],["rgba",{"_index":729,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["rgba(0",{"_index":1545,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["rgba[3",{"_index":757,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"miscellaneous/variables.html":{}}}],["right",{"_index":373,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContentComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["right.closeexpanded",{"_index":381,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["right.open",{"_index":380,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["right.px",{"_index":956,"title":{},"body":{"components/ContentComponent.html":{}}}],["right.svg",{"_index":1357,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["rightmargin",{"_index":949,"title":{},"body":{"components/ContentComponent.html":{}}}],["rights",{"_index":4580,"title":{},"body":{"license.html":{}}}],["ripple",{"_index":1525,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["root",{"_index":111,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"classes/DataStateSelectors.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["root'},{'name",{"_index":558,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["root_states",{"_index":3569,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rootelement",{"_index":457,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["rootnode",{"_index":2559,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["rotates",{"_index":4082,"title":{},"body":{"changelog.html":{}}}],["round",{"_index":4172,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":4186,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":3957,"title":{},"body":{"changelog.html":{}}}],["row",{"_index":708,"title":{},"body":{"components/CheckboxComponent.html":{},"components/FiltersContentComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["rows",{"_index":3297,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["ru/common",{"_index":4399,"title":{},"body":{"dependencies.html":{}}}],["ru/common/typings",{"_index":2593,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["ru/common/typings/immutability",{"_index":731,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ResultsBrowserComponent.html":{}}}],["rui",{"_index":3936,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["rui_locations.jsonld",{"_index":3979,"title":{},"body":{"changelog.html":{}}}],["run",{"_index":589,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["running",{"_index":1135,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/enumerations.html":{}}}],["runspatialsearchcomponent",{"_index":588,"title":{"components/RunSpatialSearchComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["runspatialsearchmodule",{"_index":69,"title":{"modules/RunSpatialSearchModule.html":{}},"body":{"modules/AppModule.html":{},"modules/FiltersContentModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules.html":{},"overview.html":{}}}],["runtime",{"_index":1327,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["rxjs",{"_index":189,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ToggleButtonComponent.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":192,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["rxjsfilter",{"_index":1108,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["rxjsfilter((status",{"_index":1167,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["s",{"_index":3259,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"classes/SpatialSearchUiSelectors.html":{}}}],["safedef",{"_index":2111,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["safehtml",{"_index":2099,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["saferesourceurl",{"_index":2100,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ViewerComponent.html":{}}}],["safeurl",{"_index":3838,"title":{},"body":{"components/ViewerComponent.html":{}}}],["sample",{"_index":3670,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"changelog.html":{},"index.html":{}}}],["samples",{"_index":3835,"title":{},"body":{"components/ViewerComponent.html":{},"changelog.html":{}}}],["sanitize",{"_index":2108,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["sanitized",{"_index":1330,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/ViewerComponent.html":{}}}],["sanitizer",{"_index":2107,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ViewerComponent.html":{}}}],["sanitizer.bypasssecuritytrusthtml(html",{"_index":2113,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["sanitizer.bypasssecuritytrustresourceurl(url",{"_index":2112,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ViewerComponent.html":{}}}],["sans",{"_index":2085,"title":{},"body":{"components/HeaderComponent.html":{}}}],["sass:math",{"_index":1828,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["saved",{"_index":1894,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["saver",{"_index":4454,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":4284,"title":{},"body":{"changelog.html":{}}}],["scene",{"_index":315,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"classes/GenerateSpatialSearch.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"classes/MoveToNode.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateSpatialSearch.html":{},"changelog.html":{}}}],["scene(state",{"_index":3467,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["scene.filter(node",{"_index":3020,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scene/scene.state",{"_index":2681,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{}}}],["scenebounds",{"_index":3308,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{}}}],["scenebounds(organentity",{"_index":3469,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["scenedata",{"_index":1204,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["scenedata(filter",{"_index":1298,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["scenedataquerystatus",{"_index":1177,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["scenenodeclicked",{"_index":2926,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scenenodeclicked(undefined",{"_index":2940,"title":{},"body":{"injectables/SceneState.html":{}}}],["scenenodehovered",{"_index":2927,"title":{},"body":{"injectables/SceneState.html":{}}}],["scenenodehovered(node",{"_index":2944,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scenenodeunhover",{"_index":2928,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scenestate",{"_index":216,"title":{"injectables/SceneState.html":{}},"body":{"interfaces/AppOptions.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["scenestate.referenceorganentities",{"_index":2698,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["scenestatemodel",{"_index":2936,"title":{"interfaces/SceneStateModel.html":{}},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"coverage.html":{}}}],["scenetarget",{"_index":3309,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{}}}],["scenetarget(organentity",{"_index":3471,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["scheduled",{"_index":4134,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":4287,"title":{},"body":{"changelog.html":{}}}],["scheme",{"_index":356,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["schemes",{"_index":4251,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":4558,"title":{},"body":{"index.html":{}}}],["scroll",{"_index":2869,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["scrollbar",{"_index":2544,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["scrolled",{"_index":2871,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["scrollheight",{"_index":2882,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["scrolling",{"_index":939,"title":{},"body":{"components/ContainerComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["scrollingmodule",{"_index":2901,"title":{},"body":{"modules/ResultsBrowserModule.html":{}}}],["scrolltop",{"_index":2883,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["search",{"_index":8,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["search'},{'name",{"_index":581,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["search.component",{"_index":2554,"title":{},"body":{"modules/OntologySearchModule.html":{},"modules/RunSpatialSearchModule.html":{}}}],["search.component.html",{"_index":2460,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{}}}],["search.component.scss",{"_index":2459,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{}}}],["search.component.ts",{"_index":2456,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{},"coverage.html":{}}}],["search.component.ts:107",{"_index":2494,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:23",{"_index":2476,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{}}}],["search.component.ts:29",{"_index":2477,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:30",{"_index":2909,"title":{},"body":{"components/RunSpatialSearchComponent.html":{}}}],["search.component.ts:34",{"_index":2506,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:40",{"_index":2504,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:45",{"_index":2473,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:53",{"_index":2509,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:60",{"_index":2488,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:78",{"_index":2482,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:88",{"_index":2498,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.component.ts:98",{"_index":2502,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.detached",{"_index":2541,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["search.module",{"_index":136,"title":{},"body":{"modules/AppModule.html":{},"modules/FiltersContentModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySelectionModule.html":{}}}],["search.module.ts",{"_index":2548,"title":{},"body":{"modules/OntologySearchModule.html":{},"modules/RunSpatialSearchModule.html":{}}}],["search.service",{"_index":2513,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{}}}],["search.service.ts",{"_index":2556,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"coverage.html":{}}}],["search.service.ts:100",{"_index":2579,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:111",{"_index":2569,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:128",{"_index":2575,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:30",{"_index":2592,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:31",{"_index":2591,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:34",{"_index":2588,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:37",{"_index":2590,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:39",{"_index":2585,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:50",{"_index":2566,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search.service.ts:63",{"_index":2581,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["search/ontology",{"_index":2451,"title":{},"body":{"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"interfaces/SearchResult.html":{},"coverage.html":{}}}],["search/run",{"_index":135,"title":{},"body":{"modules/AppModule.html":{},"modules/FiltersContentModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"coverage.html":{}}}],["searched",{"_index":2491,"title":{},"body":{"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["searches",{"_index":49,"title":{},"body":{"classes/AddSearch.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"interfaces/SearchResult.html":{},"classes/SetSelectedSearches.html":{},"classes/SpatialSearchFilterSelectors.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{}}}],["searches(items",{"_index":3191,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["searches.concat(search",{"_index":2801,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["searching",{"_index":2458,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{}}}],["searchresult",{"_index":2481,"title":{"interfaces/SearchResult.html":{}},"body":{"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"coverage.html":{}}}],["searchresults",{"_index":2602,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["searchresults.get(node.id",{"_index":2606,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["searchresults.set(node.id",{"_index":2607,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["searchservice",{"_index":2474,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["searchvalue",{"_index":2568,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["searchvalue.length",{"_index":2617,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["section",{"_index":614,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["section.description",{"_index":1510,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["section.label",{"_index":1509,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["section.sectionnumber",{"_index":3787,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["sectionnumber",{"_index":3785,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["sectionnumber).length",{"_index":3788,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["sections",{"_index":3778,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["see",{"_index":3960,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["select",{"_index":178,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"changelog.html":{}}}],["select(datastateselectors.anatomicalstructurestreemodel",{"_index":246,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["select(datastateselectors.celltypestreemodel",{"_index":244,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["select(spatialsearchfilterselectors.items",{"_index":247,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["select(spatialsearchuiselectors.anatomicalstructures",{"_index":3321,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.celltypes",{"_index":3323,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.defaultposition",{"_index":3325,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.organ",{"_index":3073,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.organs",{"_index":3070,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.position",{"_index":3331,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.radius",{"_index":3333,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.radiussettings",{"_index":3335,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.scene",{"_index":3341,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.scenebounds",{"_index":3342,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.scenetarget",{"_index":3344,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.sex",{"_index":3075,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["select(spatialsearchuiselectors.tissueblocks",{"_index":3347,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["selectable",{"_index":1561,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["selectablesearches",{"_index":248,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["selected",{"_index":48,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetSelectedSearches.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{}}}],["selected(ontologynode",{"_index":2643,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selected/deselected",{"_index":1884,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["selectedanatomicalstructures",{"_index":2971,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["selectedbyids",{"_index":3163,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["selectedbyids.get(item.id",{"_index":3168,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["selectedorgan",{"_index":3050,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["selectedorgans",{"_index":3012,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["selectedreferenceorgans",{"_index":2924,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["selectedsearches",{"_index":3187,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["selectedsearches(items",{"_index":3194,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["selectedsexes",{"_index":1921,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["selectedsexes.has(currentsex",{"_index":1926,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["selectedsexes.size",{"_index":1925,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["selecting",{"_index":1607,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"changelog.html":{}}}],["selection",{"_index":201,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySelectionComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["selection'},{'name",{"_index":583,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["selection.component",{"_index":2659,"title":{},"body":{"modules/OntologySelectionModule.html":{}}}],["selection.component.html",{"_index":2627,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.scss",{"_index":2626,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts",{"_index":2624,"title":{},"body":{"components/OntologySelectionComponent.html":{},"coverage.html":{}}}],["selection.component.ts:23",{"_index":2648,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:28",{"_index":2634,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:33",{"_index":2638,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:38",{"_index":2639,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:45",{"_index":2636,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:47",{"_index":2633,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:48",{"_index":2637,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:53",{"_index":2632,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:61",{"_index":2646,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:64",{"_index":2642,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.component.ts:75",{"_index":2644,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["selection.id",{"_index":413,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["selection.label",{"_index":429,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["selection.module",{"_index":2453,"title":{},"body":{"modules/OntologyExplorationModule.html":{}}}],["selection.module.ts",{"_index":2658,"title":{},"body":{"modules/OntologySelectionModule.html":{}}}],["selection.ts",{"_index":2622,"title":{},"body":{"interfaces/OntologySelection.html":{},"coverage.html":{}}}],["selection/deselection",{"_index":2863,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["selection/ontology",{"_index":2452,"title":{},"body":{"modules/OntologyExplorationModule.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"coverage.html":{}}}],["selectionchange",{"_index":637,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["selectionchanged",{"_index":1603,"title":{},"body":{"components/DropdownComponent.html":{}}}],["selectionchanged(value",{"_index":1613,"title":{},"body":{"components/DropdownComponent.html":{}}}],["selectionlabel",{"_index":263,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["selections",{"_index":629,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["selectionstring",{"_index":427,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["selectlistresult",{"_index":2320,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["selectlistresult(result",{"_index":2333,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["selector",{"_index":234,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"classes/SpatialSearchFilterSelectors.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["selector(['datastate",{"_index":1307,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["selector(['spatialsearchfilterstate",{"_index":3189,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["selector(['spatialsearchuistate",{"_index":3443,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{}}}],["selector(['undefined",{"_index":3192,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{},"classes/SpatialSearchUiSelectors.html":{}}}],["selector([datastate",{"_index":1314,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["selector([spatialsearchfilterselectors.items",{"_index":3197,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["selector([spatialsearchfilterstate",{"_index":3196,"title":{},"body":{"classes/SpatialSearchFilterSelectors.html":{}}}],["selector([spatialsearchuiselectors.organid",{"_index":3480,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["selector([spatialsearchuiselectors.sex",{"_index":3484,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["selector([spatialsearchuistate",{"_index":2697,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["selector([spatialsearchuistate.organentity",{"_index":3506,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["selectoroptions",{"_index":3578,"title":{},"body":{"modules/StoreModule.html":{}}}],["selectors",{"_index":3705,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["selects",{"_index":1484,"title":{},"body":{"components/DonorCardComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/OntologySearchComponent.html":{},"changelog.html":{}}}],["selecttoken",{"_index":1442,"title":{},"body":{"injectables/DelegateDataSourceService.html":{}}}],["selecttoken(config",{"_index":1440,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["sell",{"_index":4587,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":4307,"title":{},"body":{"changelog.html":{}}}],["send",{"_index":839,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/functions.html":{}}}],["sendcompletedto",{"_index":4351,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["sendcompletedto(subject",{"_index":1145,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["sendcompletedto(this._aggregatedataquerystatus",{"_index":1196,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["sendcompletedto(this._celltypetermoccurencesdataquerystatus",{"_index":1203,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["sendcompletedto(this._ontologytermoccurencesdataquerystatus",{"_index":1200,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["sendcompletedto(this._providerfilterquerystatus",{"_index":1214,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["sendcompletedto(this._scenedataquerystatus",{"_index":1206,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["sendcompletedto(this._technologyfilterquerystatus",{"_index":1210,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["sendcompletedto(this._tissueblockdataquerystatus",{"_index":1192,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["sender",{"_index":2381,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sending",{"_index":2287,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sending/receiving",{"_index":2258,"title":{},"body":{"classes/InitializationState.html":{}}}],["sendmessage",{"_index":2427,"title":{},"body":{"classes/MessageChannel.html":{}}}],["sendmessage(payload",{"_index":2396,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sends",{"_index":1142,"title":{},"body":{"interfaces/DataStateModel.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"miscellaneous/functions.html":{}}}],["sendtoggle",{"_index":2288,"title":{},"body":{"classes/InitializationState.html":{}}}],["sennet",{"_index":3997,"title":{},"body":{"changelog.html":{}}}],["sensitive",{"_index":3905,"title":{},"body":{"changelog.html":{}}}],["sent",{"_index":1030,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/typealiases.html":{}}}],["serif",{"_index":2086,"title":{},"body":{"components/HeaderComponent.html":{}}}],["server",{"_index":4290,"title":{},"body":{"changelog.html":{}}}],["service",{"_index":643,"title":{},"body":{"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["service.initialize(location",{"_index":3650,"title":{},"body":{"injectables/ThemingService.html":{}}}],["services/data",{"_index":1069,"title":{},"body":{"modules/CoreModule.html":{}}}],["services/message/message.service",{"_index":1034,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{}}}],["services/theming/theming.module",{"_index":1072,"title":{},"body":{"modules/CoreModule.html":{}}}],["set",{"_index":47,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"classes/MoveToNode.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"classes/StartSpatialSearchFlow.html":{},"injectables/ThemingService.html":{},"classes/UpdateSpatialSearch.html":{},"changelog.html":{}}}],["set((state.tissueblocks",{"_index":3496,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["set(['skin",{"_index":2970,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/variables.html":{}}}],["set(items.map(item",{"_index":1922,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["set(reforgandata.filter(o",{"_index":3017,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["set(reforgans.map(o",{"_index":2999,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["set(selectedorgans.map(o",{"_index":3015,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["setexecutesearchongenerate",{"_index":1979,"title":{"classes/SetExecuteSearchOnGenerate.html":{}},"body":{"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["setexecutesearchongenerate(ctx",{"_index":2805,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["setexecutesearchongenerate(false",{"_index":1985,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["setexecutesearchongenerate(true",{"_index":1986,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["setlistresults",{"_index":2321,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["setlistresults(@payload('listresults",{"_index":2351,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["setlistresults(listresults",{"_index":2335,"title":{},"body":{"injectables/ListResultsState.html":{}}}],["setorgan",{"_index":2041,"title":{"classes/SetOrgan.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["setorgan(ctx",{"_index":2734,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["setorgan(organid",{"_index":2732,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["setposition",{"_index":2043,"title":{"classes/SetPosition.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["setposition(ctx",{"_index":2756,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["setposition(position",{"_index":2769,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["setradius",{"_index":2047,"title":{"classes/SetRadius.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["setradius(ctx",{"_index":2771,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["setreferenceorganentities",{"_index":2929,"title":{},"body":{"injectables/SceneState.html":{}}}],["setreferenceorganentities(@payload('referenceorganentities",{"_index":2978,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["setreferenceorganentities(referenceorganentities",{"_index":2947,"title":{},"body":{"injectables/SceneState.html":{}}}],["setreferenceorgans",{"_index":2930,"title":{},"body":{"injectables/SceneState.html":{}}}],["setreferenceorgans(@payload('referenceorgans",{"_index":2977,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["setreferenceorgans(referenceorgans",{"_index":2951,"title":{},"body":{"injectables/SceneState.html":{}}}],["setrootelement",{"_index":461,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["setrootelement(el",{"_index":464,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["sets",{"_index":349,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{}}}],["setscene",{"_index":2931,"title":{},"body":{"injectables/SceneState.html":{}}}],["setscene(@payload('scene",{"_index":2979,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["setscene(scene",{"_index":2953,"title":{},"body":{"injectables/SceneState.html":{}}}],["setselectedreferenceorgans",{"_index":2932,"title":{},"body":{"injectables/SceneState.html":{}}}],["setselectedreferenceorgans(@payload('selectedreferenceorgans",{"_index":2976,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["setselectedreferenceorgans(selectedreferenceorgans",{"_index":2956,"title":{},"body":{"injectables/SceneState.html":{}}}],["setselectedsearches",{"_index":46,"title":{"classes/SetSelectedSearches.html":{}},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"coverage.html":{}}}],["setselectedsearches(ctx",{"_index":3162,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["setsex",{"_index":2038,"title":{"classes/SetSex.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["setsex(ctx",{"_index":2720,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["setsex(sex",{"_index":2717,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["settheme",{"_index":3624,"title":{},"body":{"injectables/ThemingService.html":{}}}],["settheme(theme",{"_index":3641,"title":{},"body":{"injectables/ThemingService.html":{}}}],["settimeout",{"_index":2260,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["setting",{"_index":3373,"title":{},"body":{"components/SpatialSearchUiComponent.html":{},"modules/StoreModule.html":{}}}],["settings",{"_index":1859,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{}}}],["settreemodel",{"_index":2565,"title":{},"body":{"injectables/OntologySearchService.html":{}}}],["settreemodel(treemodel",{"_index":2584,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["setup",{"_index":4106,"title":{},"body":{"changelog.html":{}}}],["sex",{"_index":18,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/DataStateModel.html":{},"components/FiltersContentComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["sex(state",{"_index":3473,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["sex.charat(0).touppercase",{"_index":3398,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["sex.slice(1",{"_index":3399,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["sexes",{"_index":4214,"title":{},"body":{"changelog.html":{}}}],["sex}_${shortorgan",{"_index":2715,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["shadow",{"_index":1131,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["shall",{"_index":4594,"title":{},"body":{"license.html":{}}}],["shared",{"_index":108,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"modules/FiltersContentModule.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["shared/analytics",{"_index":185,"title":{},"body":{"interfaces/AppOptions.html":{},"modules/CoreModule.html":{}}}],["shared/components/checkbox/checkbox.module",{"_index":1952,"title":{},"body":{"modules/FiltersContentModule.html":{}}}],["shared/components/drawer/drawer.module",{"_index":130,"title":{},"body":{"modules/AppModule.html":{}}}],["shared/components/drawer/drawer/drawer.component",{"_index":225,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["shared/components/dropdown/dropdown.module",{"_index":1953,"title":{},"body":{"modules/FiltersContentModule.html":{}}}],["shared/components/dual",{"_index":131,"title":{},"body":{"modules/AppModule.html":{},"modules/FiltersContentModule.html":{}}}],["shared/components/run",{"_index":134,"title":{},"body":{"modules/AppModule.html":{},"modules/FiltersContentModule.html":{}}}],["shared/components/spatial",{"_index":36,"title":{},"body":{"classes/AddSearch.html":{},"components/FiltersContentComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["shared/components/spinner",{"_index":137,"title":{},"body":{"modules/AppModule.html":{}}}],["shared/components/thumbnail",{"_index":1582,"title":{},"body":{"modules/DonorCardModule.html":{}}}],["shared/components/viewer/viewer.module",{"_index":140,"title":{},"body":{"modules/AppModule.html":{}}}],["shared/src/lib/components/body",{"_index":194,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["shared/src/public",{"_index":3565,"title":{},"body":{"modules/StoreModule.html":{}}}],["shared/web",{"_index":526,"title":{},"body":{"components/AppWebComponent.html":{}}}],["sharing",{"_index":1150,"title":{},"body":{"interfaces/DataStateModel.html":{},"miscellaneous/functions.html":{}}}],["shift",{"_index":3247,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["shiftdelta",{"_index":3220,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["shiftpressed",{"_index":3213,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["shifts",{"_index":3226,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["shortest",{"_index":4461,"title":{},"body":{"dependencies.html":{}}}],["shortorgan",{"_index":2710,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["show",{"_index":1673,"title":{},"body":{"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["showing",{"_index":4237,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":1759,"title":{},"body":{"components/DualSliderComponent.html":{},"changelog.html":{}}}],["shows",{"_index":4035,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":982,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["sidebar",{"_index":3413,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["sides",{"_index":4215,"title":{},"body":{"changelog.html":{}}}],["significant",{"_index":4100,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":4055,"title":{},"body":{"changelog.html":{}}}],["simplechanges",{"_index":1732,"title":{},"body":{"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ViewerComponent.html":{}}}],["simplifies",{"_index":4105,"title":{},"body":{"changelog.html":{}}}],["single",{"_index":2395,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["site",{"_index":2052,"title":{},"body":{"components/HeaderComponent.html":{},"components/ViewerComponent.html":{}}}],["sites",{"_index":4041,"title":{},"body":{"changelog.html":{}}}],["sizable",{"_index":4182,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":965,"title":{},"body":{"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/HeaderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["skin",{"_index":1398,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["skin.svg",{"_index":1399,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["skipself",{"_index":1060,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["slide",{"_index":3718,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["slideinhorizontaldropdown",{"_index":1627,"title":{},"body":{"components/DropdownComponent.html":{}}}],["slideinhorizontalslider",{"_index":1836,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider",{"_index":1674,"title":{},"body":{"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"components/SpatialSearchUiComponent.html":{},"dependencies.html":{}}}],["slider's",{"_index":1741,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider'},{'name",{"_index":574,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["slider.component",{"_index":1854,"title":{},"body":{"modules/DualSliderModule.html":{}}}],["slider.component.html",{"_index":1677,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.scss",{"_index":1676,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts",{"_index":1672,"title":{},"body":{"components/DualSliderComponent.html":{},"coverage.html":{}}}],["slider.component.ts:122",{"_index":1733,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:136",{"_index":1748,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:152",{"_index":1735,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:165",{"_index":1716,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:184",{"_index":1752,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:201",{"_index":1750,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:212",{"_index":1729,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:226",{"_index":1746,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:23",{"_index":1769,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:243",{"_index":1740,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:29",{"_index":1765,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:34",{"_index":1704,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:39",{"_index":1708,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:44",{"_index":1706,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:49",{"_index":1711,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:54",{"_index":1758,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:59",{"_index":1761,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:64",{"_index":1760,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:69",{"_index":1755,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:74",{"_index":1754,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:79",{"_index":1771,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:90",{"_index":1762,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.component.ts:95",{"_index":1700,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.detached",{"_index":1838,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider.module",{"_index":133,"title":{},"body":{"modules/AppModule.html":{},"modules/FiltersContentModule.html":{}}}],["slider.module.ts",{"_index":1850,"title":{},"body":{"modules/DualSliderModule.html":{}}}],["slider.wrapper",{"_index":1830,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slider/dual",{"_index":132,"title":{},"body":{"modules/AppModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"coverage.html":{}}}],["slidervaluechanged",{"_index":1692,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["slidesoffsetafter",{"_index":3693,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["slidesoffsetbefore",{"_index":3692,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["slidesperview",{"_index":3694,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["slightly",{"_index":4016,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":4117,"title":{},"body":{"changelog.html":{}}}],["small",{"_index":1400,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["snackbar",{"_index":316,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["snackbar.dismiss",{"_index":343,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["snapshot",{"_index":1244,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["software",{"_index":4518,"title":{},"body":{"index.html":{},"license.html":{}}}],["solid",{"_index":1654,"title":{},"body":{"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["solved",{"_index":4177,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":4228,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":3992,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":4113,"title":{},"body":{"changelog.html":{}}}],["sortby",{"_index":2345,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"components/OntologySearchComponent.html":{}}}],["sortby(searchresults",{"_index":2523,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["sortby(topblocks",{"_index":2373,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["sortbysynonymresult",{"_index":2468,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["sortbysynonymresult(this",{"_index":2497,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["sortlexically",{"_index":2469,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["sortlexically(this",{"_index":2501,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["sorts",{"_index":2499,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["source",{"_index":4,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"modules/CheckboxModule.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"modules/DropdownModule.html":{},"components/DualSliderComponent.html":{},"modules/DualSliderModule.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"modules/FiltersPopoverModule.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"modules/OntologyExplorationModule.html":{},"components/OntologySearchComponent.html":{},"modules/OntologySearchModule.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"modules/ResultsBrowserModule.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"injectables/WorkerDataSourceService.html":{}}}],["source.getcelltypetermoccurences().pipe(take(1)).subscribe(celltypetermsfulldata",{"_index":1251,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["source.getontologytermoccurences().pipe(take(1)).subscribe(ontologytermsfulldata",{"_index":1250,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["source.pipe",{"_index":1160,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["source.service",{"_index":1071,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["source.service.ts",{"_index":1432,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/WorkerDataSourceService.html":{},"coverage.html":{}}}],["source.service.ts:10",{"_index":3872,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["source.service.ts:18",{"_index":3874,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["source.service.ts:20",{"_index":1443,"title":{},"body":{"injectables/DelegateDataSourceService.html":{}}}],["source.service.ts:23",{"_index":3877,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["source.worker",{"_index":3883,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["source.worker.ts",{"_index":4339,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["source/data",{"_index":1070,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["source/worker",{"_index":3865,"title":{},"body":{"injectables/WorkerDataSourceService.html":{},"coverage.html":{}}}],["sources",{"_index":541,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{}}}],["sources.includes(msg.source",{"_index":2409,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["south",{"_index":3285,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["south_west",{"_index":3289,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["space",{"_index":1572,"title":{},"body":{"components/DonorCardComponent.html":{},"components/FiltersContentComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{}}}],["spacebetween",{"_index":3695,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["sparc",{"_index":4109,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":3927,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":30,"title":{},"body":{"classes/AddSearch.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"modules/FiltersContentModule.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"modules/RunSpatialSearchModule.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["spatial_search_ui",{"_index":2714,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["spatialentity",{"_index":2674,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["spatialscenenode",{"_index":1100,"title":{},"body":{"interfaces/DataStateModel.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{}}}],["spatialsearch",{"_index":21,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["spatialsearchconfigbehaviorcomponent",{"_index":590,"title":{"components/SpatialSearchConfigBehaviorComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["spatialsearchconfigbehaviormodule",{"_index":3106,"title":{"modules/SpatialSearchConfigBehaviorModule.html":{}},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{},"modules.html":{},"overview.html":{}}}],["spatialsearchconfigcomponent",{"_index":593,"title":{"components/SpatialSearchConfigComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"modules/SpatialSearchConfigModule.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["spatialsearchconfigmodule",{"_index":3111,"title":{"modules/SpatialSearchConfigModule.html":{}},"body":{"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules.html":{},"overview.html":{}}}],["spatialsearchdialog",{"_index":3059,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["spatialsearches",{"_index":1129,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/FiltersContentComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"miscellaneous/variables.html":{}}}],["spatialsearchfilter",{"_index":3152,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["spatialsearchfilteritem",{"_index":39,"title":{"interfaces/SpatialSearchFilterItem.html":{}},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/RemoveSearch.html":{},"classes/SetSelectedSearches.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["spatialsearchfiltermodel",{"_index":3151,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"miscellaneous/typealiases.html":{}}}],["spatialsearchfilters",{"_index":1866,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["spatialsearchfilterselectors",{"_index":220,"title":{"classes/SpatialSearchFilterSelectors.html":{}},"body":{"interfaces/AppOptions.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/SpatialSearchFilterSelectors.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"coverage.html":{}}}],["spatialsearchfilterstate",{"_index":3153,"title":{"injectables/SpatialSearchFilterState.html":{}},"body":{"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialsearchkeyboarduibehaviorcomponent",{"_index":595,"title":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["spatialsearchkeyboarduibehaviormodule",{"_index":3266,"title":{"modules/SpatialSearchKeyboardUIBehaviorModule.html":{}},"body":{"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules.html":{},"overview.html":{}}}],["spatialsearchkeyboarduicomponent",{"_index":598,"title":{"components/SpatialSearchKeyboardUIComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["spatialsearchkeyboarduimodule",{"_index":3271,"title":{"modules/SpatialSearchKeyboardUIModule.html":{}},"body":{"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules.html":{},"overview.html":{}}}],["spatialsearchlistitem",{"_index":3147,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["spatialsearchlistmodule",{"_index":1951,"title":{},"body":{"modules/FiltersContentModule.html":{}}}],["spatialsearchremoved",{"_index":1870,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["spatialsearchscene",{"_index":2690,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["spatialsearchselected",{"_index":1871,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["spatialsearchui",{"_index":2034,"title":{},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{}}}],["spatialsearchuibehaviorcomponent",{"_index":600,"title":{"components/SpatialSearchUiBehaviorComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["spatialsearchuibehaviormodule",{"_index":3353,"title":{"modules/SpatialSearchUiBehaviorModule.html":{}},"body":{"modules/SpatialSearchUiBehaviorModule.html":{},"modules.html":{},"overview.html":{}}}],["spatialsearchuicomponent",{"_index":601,"title":{"components/SpatialSearchUiComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"modules/SpatialSearchUiModule.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["spatialsearchuimodel",{"_index":2686,"title":{"interfaces/SpatialSearchUiModel.html":{}},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"coverage.html":{}}}],["spatialsearchuimodule",{"_index":3358,"title":{"modules/SpatialSearchUiModule.html":{}},"body":{"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules.html":{},"overview.html":{}}}],["spatialsearchuiselectors",{"_index":3083,"title":{"classes/SpatialSearchUiSelectors.html":{}},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"coverage.html":{}}}],["spatialsearchuiselectors.position",{"_index":3491,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["spatialsearchuiselectors.radius",{"_index":3492,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["spatialsearchuiselectors.referenceorgans",{"_index":3481,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["spatialsearchuistate",{"_index":2696,"title":{"injectables/SpatialSearchUiState.html":{}},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialsearchuistate.organentity",{"_index":3440,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["spec",{"_index":4022,"title":{},"body":{"changelog.html":{}}}],["spec.yaml",{"_index":4540,"title":{},"body":{"index.html":{}}}],["specific",{"_index":1050,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["specification",{"_index":4539,"title":{},"body":{"index.html":{}}}],["specified",{"_index":2407,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["specifying",{"_index":2389,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["speed",{"_index":3966,"title":{},"body":{"changelog.html":{}}}],["sphere",{"_index":3367,"title":{},"body":{"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{}}}],["spinal",{"_index":1401,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["spinner",{"_index":290,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{}}}],["spinneractive",{"_index":292,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["spinneroverlaycomponent",{"_index":602,"title":{"components/SpinnerOverlayComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"modules/SpinnerOverlayModule.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["spinneroverlaymodule",{"_index":70,"title":{"modules/SpinnerOverlayModule.html":{}},"body":{"modules/AppModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules.html":{},"overview.html":{}}}],["spinning",{"_index":4288,"title":{},"body":{"changelog.html":{}}}],["spleen",{"_index":1404,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/variables.html":{}}}],["spleen.svg",{"_index":1405,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["sprint",{"_index":4137,"title":{},"body":{"changelog.html":{}}}],["stage",{"_index":4165,"title":{},"body":{"changelog.html":{}}}],["staging",{"_index":4003,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["standalone",{"_index":4174,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":4218,"title":{},"body":{"changelog.html":{}}}],["standards",{"_index":4292,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":4521,"title":{},"body":{"index.html":{}}}],["start",{"_index":901,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DualSliderComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/InitializationState.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateSpatialSearch.html":{}}}],["start?.expanded",{"_index":1015,"title":{},"body":{"components/ContentComponent.html":{}}}],["start?.opened",{"_index":1014,"title":{},"body":{"components/ContentComponent.html":{}}}],["startdrawers",{"_index":924,"title":{},"body":{"components/ContainerComponent.html":{}}}],["startdrawers.length",{"_index":928,"title":{},"body":{"components/ContainerComponent.html":{}}}],["startdrawers[0",{"_index":932,"title":{},"body":{"components/ContainerComponent.html":{}}}],["started",{"_index":3894,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["startexpanded",{"_index":1013,"title":{},"body":{"components/ContentComponent.html":{}}}],["starting",{"_index":3370,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["starts",{"_index":2910,"title":{},"body":{"components/RunSpatialSearchComponent.html":{},"changelog.html":{}}}],["startspatialsearchflow",{"_index":2036,"title":{"classes/StartSpatialSearchFlow.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/RunSpatialSearchComponent.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["startspatialsearchflow()).pipe",{"_index":2915,"title":{},"body":{"components/RunSpatialSearchComponent.html":{}}}],["startspatialsearchflow(ctx",{"_index":2708,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["startup",{"_index":1325,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["startwith",{"_index":888,"title":{},"body":{"components/ContainerComponent.html":{},"components/OntologySearchComponent.html":{}}}],["stat",{"_index":2888,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["stat.count",{"_index":2886,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["stat.label",{"_index":2887,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["state",{"_index":295,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/typealiases.html":{}}}],["state('closed",{"_index":2200,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('collapsed",{"_index":2205,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('extended",{"_index":2209,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('false",{"_index":991,"title":{},"body":{"components/ContentComponent.html":{}}}],["state('full",{"_index":2210,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('half",{"_index":2206,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('open",{"_index":2199,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('true",{"_index":993,"title":{},"body":{"components/ContentComponent.html":{}}}],["state.anatomicalstructurestreemodel",{"_index":1316,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["state.celltypestreemodel",{"_index":1317,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["state.defaultposition",{"_index":3488,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["state.filter",{"_index":1315,"title":{},"body":{"classes/DataStateSelectors.html":{}}}],["state.nodes[state.root",{"_index":2589,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["state.organid",{"_index":3479,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["state.organscene",{"_index":3499,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["state.position",{"_index":3487,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["state.radius",{"_index":3489,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["state.radiussettings",{"_index":3490,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["state.referenceorganentities",{"_index":2975,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["state.referenceorgans",{"_index":2974,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SpatialSearchUiSelectors.html":{}}}],["state.sex",{"_index":3478,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["state.tissueblocks",{"_index":3509,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["statechange",{"_index":2231,"title":{},"body":{"classes/InitializationState.html":{}}}],["statecontext",{"_index":2672,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["statements",{"_index":4326,"title":{},"body":{"coverage.html":{}}}],["staterepository",{"_index":734,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["states",{"_index":975,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["states.every(state",{"_index":1141,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["static",{"_index":13,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"classes/DataStateSelectors.html":{},"components/DualSliderComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"classes/SpatialSearchFilterSelectors.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{}}}],["stats",{"_index":2822,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["status",{"_index":1090,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/OntologySearchComponent.html":{}}}],["status.message",{"_index":1274,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["status.status",{"_index":1265,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["statusmessage",{"_index":1091,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["stay",{"_index":4323,"title":{},"body":{"changelog.html":{}}}],["step",{"_index":1802,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["still",{"_index":1966,"title":{},"body":{"components/FiltersPopoverComponent.html":{},"changelog.html":{}}}],["stomach",{"_index":1406,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["stomach.svg",{"_index":1407,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["store",{"_index":403,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"modules/StoreModule.html":{},"interfaces/TermResult.html":{}}}],["store.dispatch(reallyupdatespatialsearch",{"_index":2706,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["store/store.module",{"_index":1073,"title":{},"body":{"modules/CoreModule.html":{}}}],["storemodule",{"_index":1055,"title":{"modules/StoreModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{},"modules.html":{},"overview.html":{}}}],["stories",{"_index":4281,"title":{},"body":{"changelog.html":{}}}],["strange",{"_index":3570,"title":{},"body":{"modules/StoreModule.html":{}}}],["stream",{"_index":4487,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":4485,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":20,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/functions.html":{}}}],["string)?.tolowercase",{"_index":1920,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["stroke",{"_index":694,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["structure",{"_index":4144,"title":{},"body":{"changelog.html":{}}}],["structures",{"_index":410,"title":{},"body":{"interfaces/AppOptions.html":{},"components/SpatialSearchUiComponent.html":{},"changelog.html":{}}}],["style",{"_index":986,"title":{},"body":{"components/ContentComponent.html":{},"components/DropdownComponent.html":{},"components/FiltersContentComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["style.margin",{"_index":954,"title":{},"body":{"components/ContentComponent.html":{}}}],["styled",{"_index":2073,"title":{},"body":{"components/HeaderComponent.html":{}}}],["styles",{"_index":622,"title":{},"body":{"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["styles.getpropertyvalue(property",{"_index":2254,"title":{},"body":{"classes/InitializationState.html":{}}}],["styleurls",{"_index":237,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["styling",{"_index":4052,"title":{},"body":{"changelog.html":{}}}],["sub",{"_index":233,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["subject",{"_index":741,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/functions.html":{},"license.html":{}}}],["subject.next(dataquerystate.completed",{"_index":1146,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["sublicense",{"_index":4585,"title":{},"body":{"license.html":{}}}],["subscribe",{"_index":1266,"title":{},"body":{"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["subscription",{"_index":878,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["subscriptions",{"_index":828,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["substantial",{"_index":4595,"title":{},"body":{"license.html":{}}}],["successful",{"_index":2116,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["such",{"_index":1721,"title":{},"body":{"components/DualSliderComponent.html":{},"changelog.html":{}}}],["suffix",{"_index":2573,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["super",{"_index":1235,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["super(configstore",{"_index":542,"title":{},"body":{"components/AppWebComponent.html":{}}}],["super(globalconfig",{"_index":3879,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["super._createcontainer",{"_index":486,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["super.ngxsoninit",{"_index":2354,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["support",{"_index":3929,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["svg",{"_index":1334,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules.html":{}}}],["swiper",{"_index":3698,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"dependencies.html":{}}}],["swiper.use([navigation",{"_index":3748,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{}}}],["swiper/angular",{"_index":3744,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{}}}],["swiper/core",{"_index":3745,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{}}}],["swiper/types",{"_index":3721,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["swipermodule",{"_index":3743,"title":{},"body":{"modules/ThumbnailCarouselModule.html":{}}}],["swiperoptions",{"_index":3690,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["switch",{"_index":998,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"changelog.html":{}}}],["switched",{"_index":4188,"title":{},"body":{"changelog.html":{}}}],["switchmap",{"_index":1112,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/OntologySearchComponent.html":{}}}],["switchmap(query",{"_index":1161,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["switchmap(value",{"_index":2520,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["sync",{"_index":4083,"title":{},"body":{"changelog.html":{}}}],["syncexpanded(other",{"_index":2296,"title":{},"body":{"classes/InitializationState.html":{}}}],["syncs",{"_index":2293,"title":{},"body":{"classes/InitializationState.html":{}}}],["synonym",{"_index":2572,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["synonyms",{"_index":2500,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["t",{"_index":1158,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["tab",{"_index":438,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["table",{"_index":4398,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":4011,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":4397,"title":{},"body":{"coverage.html":{}}}],["tagging",{"_index":4217,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":1113,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{}}}],["take(1",{"_index":1262,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["takewhile",{"_index":1114,"title":{},"body":{"interfaces/DataStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["takewhile((status",{"_index":1264,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["tap",{"_index":1115,"title":{},"body":{"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["tap((counts",{"_index":2727,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["tap((data",{"_index":2788,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["tap((organscene",{"_index":2750,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["tap((status",{"_index":1259,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["tap(next",{"_index":1162,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["tap(organs",{"_index":3003,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["tap(reforgans",{"_index":2995,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["tap(results",{"_index":2375,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["tap(scene",{"_index":3031,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["target",{"_index":1723,"title":{},"body":{"components/DualSliderComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["target.key",{"_index":3264,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["target.preventdefault",{"_index":3262,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["technologies",{"_index":1126,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["technology",{"_index":1207,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{}}}],["technologyfilter",{"_index":1222,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["technologyfilterdata",{"_index":1208,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["technologyfilterquerystatus",{"_index":1179,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["technologyfilters",{"_index":1867,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["telemetry",{"_index":4077,"title":{},"body":{"changelog.html":{}}}],["tells",{"_index":674,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["template",{"_index":496,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["templateurl",{"_index":235,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["term",{"_index":605,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["term.count",{"_index":3603,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["term.label",{"_index":3602,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["term.split('/').slice",{"_index":3518,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["termdata",{"_index":2630,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["termlist",{"_index":3591,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["termlist.length",{"_index":3601,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["termoccurrencelistcomponent",{"_index":604,"title":{"components/TermOccurrenceListComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"modules/TermOccurrenceListModule.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["termoccurrencelistmodule",{"_index":3423,"title":{"modules/TermOccurrenceListModule.html":{}},"body":{"modules/SpatialSearchUiModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules.html":{},"overview.html":{}}}],["termresult",{"_index":2684,"title":{"interfaces/TermResult.html":{}},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"coverage.html":{}}}],["terms",{"_index":1184,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/OntologySelectionComponent.html":{},"components/TermOccurrenceListComponent.html":{},"changelog.html":{}}}],["test",{"_index":1139,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["testing",{"_index":1137,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["text",{"_index":1535,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/ResultsBrowserComponent.html":{},"interfaces/SearchResult.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["theme",{"_index":145,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"injectables/ThemingService.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["thememode",{"_index":302,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["themes",{"_index":3996,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":314,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["theming.initialize(el",{"_index":321,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["theming.service",{"_index":3615,"title":{},"body":{"modules/ThemingModule.html":{}}}],["themingmodule",{"_index":1056,"title":{"modules/ThemingModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/ThemingModule.html":{},"modules.html":{},"overview.html":{}}}],["themingservice",{"_index":202,"title":{"injectables/ThemingService.html":{}},"body":{"interfaces/AppOptions.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"coverage.html":{},"overview.html":{}}}],["themingservice.initialize",{"_index":3616,"title":{},"body":{"modules/ThemingModule.html":{}}}],["themselves",{"_index":3703,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["thick",{"_index":1416,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["thick.svg",{"_index":1417,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["thin",{"_index":1418,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"miscellaneous/variables.html":{}}}],["thin.svg",{"_index":1419,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["things",{"_index":2357,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this._aggregatedataquerystatus$.next(dataquerystate.completed",{"_index":1238,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._aggregatedataquerystatus$.next(dataquerystate.running",{"_index":1290,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._aggregatedataquerystatus$.pipe(distinct",{"_index":1216,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._celltypetermoccurencesdataquerystatus$.next(dataquerystate.completed",{"_index":1240,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._celltypetermoccurencesdataquerystatus$.next(dataquerystate.running",{"_index":1296,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._celltypetermoccurencesdataquerystatus$.pipe(distinct",{"_index":1220,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._containerelement",{"_index":487,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this._expanded",{"_index":2223,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._measuredmargin",{"_index":2252,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._measuredwidth",{"_index":2242,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._ontologytermoccurencesdataquerystatus$.next(dataquerystate.completed",{"_index":1239,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._ontologytermoccurencesdataquerystatus$.next(dataquerystate.running",{"_index":1293,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._ontologytermoccurencesdataquerystatus$.pipe(distinct",{"_index":1218,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._opened",{"_index":2219,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._position",{"_index":2215,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._providerfilterquerystatus$.next(dataquerystate.completed",{"_index":1243,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._providerfilterquerystatus$.next(dataquerystate.running",{"_index":1303,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._providerfilterquerystatus$.pipe(distinct",{"_index":1225,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._scenedataquerystatus$.next(dataquerystate.completed",{"_index":1241,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._scenedataquerystatus$.next(dataquerystate.running",{"_index":1299,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._scenedataquerystatus$.pipe(distinct",{"_index":1221,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._technologyfilterquerystatus$.next(dataquerystate.completed",{"_index":1242,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._technologyfilterquerystatus$.next(dataquerystate.running",{"_index":1301,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._technologyfilterquerystatus$.pipe(distinct",{"_index":1223,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._tissueblockdataquerystatus$.next(dataquerystate.completed",{"_index":1237,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._tissueblockdataquerystatus$.next(dataquerystate.running",{"_index":1286,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this._tissueblockdataquerystatus$.pipe(distinct",{"_index":1215,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.aggregatedata",{"_index":1195,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.aggregatedataquerystatus",{"_index":1228,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.animationsenabled",{"_index":1004,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.appendtoroot",{"_index":478,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this.applyfilters.emit(this.filters",{"_index":1909,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.applythemeclass(theme",{"_index":3655,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.applythemeclass(this.gettheme",{"_index":3658,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.applythemeclass(this.theme",{"_index":3654,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.atscrollbottom",{"_index":2885,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["this.attached",{"_index":469,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this.bodyui.bounds",{"_index":389,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.bodyui.rotation",{"_index":387,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.bodyui.rotationx",{"_index":388,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.bodyui.target",{"_index":385,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.cdr.markforcheck",{"_index":917,"title":{},"body":{"components/ContainerComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["this.celltypeselectionlabel",{"_index":416,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.celltypetermoccurencesdata",{"_index":1202,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.celltypetermoccurencesdataquerystatus",{"_index":1230,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.celltypeterms",{"_index":333,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.changeposition.emit(this.position",{"_index":3261,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.channel",{"_index":908,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.asobservable",{"_index":2416,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.closed",{"_index":2418,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.complete",{"_index":2421,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.next",{"_index":2397,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.sendmessage",{"_index":914,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["this.checked.emit(this.selected",{"_index":1495,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["this.close",{"_index":3086,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.closeiframeviewer",{"_index":441,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.colorassignments",{"_index":2361,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.colorassignments.assigncolor(node['@id",{"_index":2988,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.colorassignments.assigncolor(result.tissueblock.spatialentityid",{"_index":2352,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["this.colorassignments.colorassignments",{"_index":2364,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.colorassignments.unassigncolor(result.tissueblock.spatialentityid",{"_index":2353,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["this.consentservice.consent",{"_index":345,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.content",{"_index":919,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.changes.pipe(startwith(null)).subscribe",{"_index":918,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.first",{"_index":905,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.length",{"_index":907,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content2.first",{"_index":906,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.contentsvisible",{"_index":1814,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.createitemdescription(sex",{"_index":3172,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["this.createitemid(search",{"_index":3171,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["this.createselectionlabel(ontologyselection",{"_index":415,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.ctx.patchstate",{"_index":797,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"interfaces/DataStateModel.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.currentdelta",{"_index":3249,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.currentkey",{"_index":3253,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.data.querystatus$.pipe",{"_index":293,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.data.state$.pipe(pluck('statusmessage",{"_index":298,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.data.updatefilter",{"_index":411,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.databaseready$.pipe(switchmap",{"_index":1287,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.databaseready$.pipe(take(1",{"_index":1267,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.dataservice.getreferenceorgans",{"_index":3009,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.dataservice.getreferenceorgans().pipe",{"_index":2994,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.datasource",{"_index":2748,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.datasource.getontologytermoccurences(filter).pipe",{"_index":2726,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.datastate",{"_index":2359,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.datastate.scenedata",{"_index":3007,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.datastate.tissueblockdata",{"_index":2363,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["this.datastate.updatefilter",{"_index":2987,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.defaulttheme",{"_index":3652,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.deferred",{"_index":2193,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.delta",{"_index":3252,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.dialog.open(infodialogcomponent",{"_index":3089,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.dialog.open(spatialsearchconfigbehaviorcomponent",{"_index":2916,"title":{},"body":{"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.dialogref.close",{"_index":3087,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.dialogsubs.add(panelcontent$.subscribe(data",{"_index":3102,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["this.dialogsubs.unsubscribe",{"_index":3088,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["this.drawer",{"_index":3822,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.drawer.position",{"_index":3820,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.drawers",{"_index":1001,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.drawers.changes.pipe(startwith(null)).subscribe",{"_index":912,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.drawers.toarray",{"_index":923,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.element",{"_index":3657,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.element.nativeelement",{"_index":2243,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expanded",{"_index":1496,"title":{},"body":{"components/DonorCardComponent.html":{},"classes/InitializationState.html":{}}}],["this.expandedchange.emit(this.expanded",{"_index":2285,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expandedstate",{"_index":2266,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expandedstate2",{"_index":2236,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.faded",{"_index":1019,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.filter$.pipe(querydata",{"_index":1190,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.filteredresults",{"_index":2517,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["this.filters",{"_index":1902,"title":{},"body":{"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{}}}],["this.filters['sex",{"_index":1919,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.filterschange.emit(filters",{"_index":1987,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["this.filterschange.emit(this.filters",{"_index":1906,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.filtersvisible",{"_index":1984,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["this.forcedunassignment.asobservable",{"_index":773,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["this.forcedunassignment.next",{"_index":788,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["this.formatlabel(node.label",{"_index":2609,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["this.formcontrol.reset",{"_index":2535,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["this.formcontrol.valuechanges",{"_index":2516,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["this.ga.event('expanded_toggled",{"_index":1497,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["this.ga.event('filter_added",{"_index":682,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["this.ga.event('filter_removed",{"_index":685,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["this.ga.event('filter_update",{"_index":1903,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.ga.event('filters_applied",{"_index":1908,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.ga.event('filters_reset",{"_index":1911,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.ga.event('generate_search",{"_index":2802,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.ga.event('link_clicked",{"_index":1498,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["this.ga.event('list_result_selected",{"_index":2875,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["this.ga.event('reset_position",{"_index":2761,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.ga.event('reset_radius",{"_index":2777,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.ga.event('search",{"_index":2531,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["this.ga.event('selected_toggled",{"_index":1492,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["this.ga.event('selection_change",{"_index":1623,"title":{},"body":{"components/DropdownComponent.html":{}}}],["this.ga.event('set_organ",{"_index":2713,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.ga.event('set_position",{"_index":2757,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.ga.event('set_radius",{"_index":2772,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.ga.event('set_sex",{"_index":2722,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.ga.event('slider_range_change",{"_index":1816,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.getarguments(definition",{"_index":2132,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.getindexofmatch(label",{"_index":2614,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["this.getindexofmatch(node.label",{"_index":2608,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["this.getmessages().pipe(filter(msg",{"_index":2406,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.getmethodname(definition",{"_index":2129,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.getstate().filter",{"_index":1280,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.gettermcounts(state.anatomicalstructures",{"_index":3511,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["this.gettermcounts(state.celltypes",{"_index":3513,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["this.getworkerurl(true",{"_index":3880,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["this.globalconfig.getoption('header",{"_index":304,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.globalconfig.getoption('homeurl",{"_index":305,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.globalconfig.getoption('logindisabled",{"_index":308,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.globalconfig.getoption('logotooltip",{"_index":306,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.globalconfig.getoption('theme",{"_index":301,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.globalconfig.snapshot.hubmaptoken",{"_index":450,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.handlemessage(msg",{"_index":911,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["this.highvalue",{"_index":1794,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.infoservice.panelcontent.asobservable",{"_index":3101,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.infoservice.updatedata('assets/docs/spatial_search_readme.md",{"_index":3098,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.initialized",{"_index":2192,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.set",{"_index":2259,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.valueof",{"_index":2267,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.wait",{"_index":2289,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initializesliderpopover",{"_index":1815,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.injector",{"_index":153,"title":{},"body":{"modules/AppModule.html":{},"injectables/ThemingService.html":{}}}],["this.injector.get(colorassignmentstate",{"_index":2362,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.injector.get(datastate",{"_index":2360,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.injector.get(listresultsstate",{"_index":2992,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.issliderinitialized",{"_index":1812,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.isslideropen",{"_index":1813,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.label}:${lowvalue}:${highvalue",{"_index":1818,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.label}:${value",{"_index":1624,"title":{},"body":{"components/DropdownComponent.html":{}}}],["this.launchinfodialog(this.paneldata",{"_index":3105,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.leftmargin",{"_index":1011,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.linkclick.emit(url",{"_index":1499,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["this.linkclicked.emit(link",{"_index":2880,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["this.listresultdeselected.next(result",{"_index":2879,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["this.listresults",{"_index":2991,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.listresults.highlightednodeid",{"_index":3010,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.listresults.highlightnode(node['@id",{"_index":2989,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.listresults.unhighlightnode",{"_index":2990,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.listresultselected.next(result",{"_index":2878,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["this.loading",{"_index":3854,"title":{},"body":{"components/ViewerComponent.html":{}}}],["this.locator.prepareexternalurl('0",{"_index":3886,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["this.lookup(nodes",{"_index":2600,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["this.lowvalue",{"_index":1792,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.margin2",{"_index":2239,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.measuredmargin",{"_index":2238,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.measuredwidth",{"_index":2290,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.messages",{"_index":2415,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.messages.pipe(filter(msg",{"_index":2403,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.nextbuttonid",{"_index":3710,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["this.nextmessageid",{"_index":2398,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.nodes$.pipe",{"_index":2598,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["this.ontologysearchservice.settreemodel(this.treemodel",{"_index":2650,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["this.ontologyselectionlabel",{"_index":414,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.ontologyservice.filter(value",{"_index":2521,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["this.ontologytermoccurencesdata",{"_index":1199,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.ontologytermoccurencesdataquerystatus",{"_index":1229,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.ontologyterms",{"_index":331,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.opened",{"_index":2264,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["this.openedchange.emit(this.opened",{"_index":2281,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.openedstate",{"_index":2265,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.options",{"_index":1796,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.options.ceil",{"_index":1806,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.options.floor",{"_index":1805,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.optionschanged",{"_index":1788,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.optionsvisible",{"_index":1622,"title":{},"body":{"components/DropdownComponent.html":{}}}],["this.organmatchessex(organ",{"_index":3486,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["this.organvalidforsex(organid",{"_index":2723,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.original.children.length",{"_index":2030,"title":{},"body":{"classes/FlatNode.html":{}}}],["this.original.label",{"_index":2029,"title":{},"body":{"classes/FlatNode.html":{}}}],["this.overlayref",{"_index":1784,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.overlayref.detach",{"_index":1811,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.overlayref.dispose",{"_index":1807,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.paneldata",{"_index":3104,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.position",{"_index":2214,"title":{},"body":{"classes/InitializationState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["this.position.x",{"_index":3260,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.position.y",{"_index":3258,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.position.z",{"_index":3256,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.prevbuttonid",{"_index":3708,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["this.providerfilterdata",{"_index":1213,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.providerfilterquerystatus",{"_index":1233,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.registericonimpl(definition",{"_index":2119,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.registericonimpl(safedef",{"_index":2114,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.registry",{"_index":2123,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.removebox",{"_index":1988,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["this.resetview",{"_index":383,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.resolve",{"_index":2165,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.resultlabel",{"_index":2877,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["this.rightmargin",{"_index":1012,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.rootelement",{"_index":471,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this.rootelement.nativeelement.appendchild(this._containerelement",{"_index":488,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this.rootelement.nativeelement.removechild(this._containerelement",{"_index":470,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this.rootelement.nativeelement.style.display",{"_index":472,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this.rootelement.nativeelement.style.height",{"_index":476,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this.rootelement.nativeelement.style.position",{"_index":474,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{}}}],["this.safeurl",{"_index":3853,"title":{},"body":{"components/ViewerComponent.html":{}}}],["this.scenedata",{"_index":1205,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.scenedataquerystatus",{"_index":1231,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.selected",{"_index":1491,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["this.selected.emit(node",{"_index":2534,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["this.selectedreferenceorgans",{"_index":3008,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.selection",{"_index":681,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["this.selection.filter(selection",{"_index":684,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["this.selectionchange.emit(this.selection",{"_index":686,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DualSliderComponent.html":{}}}],["this.selectionchange.emit(value",{"_index":1625,"title":{},"body":{"components/DropdownComponent.html":{}}}],["this.selectionlabel",{"_index":417,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.sendtoggle",{"_index":2268,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.setlistresults(results",{"_index":2376,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["this.setreferenceorganentities(reforgans",{"_index":2996,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.setreferenceorgans(organs",{"_index":3004,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.setscene(scene",{"_index":3032,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.setselectedreferenceorgans(organs.filter(organ",{"_index":3005,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.settheme(this.defaulttheme",{"_index":3656,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.shiftdelta",{"_index":3251,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.shiftpressed",{"_index":3250,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.snackbar.openfromcomponent(trackingpopupcomponent",{"_index":341,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.snapshot",{"_index":777,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["this.snapshot.colorpalette.concat",{"_index":782,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["this.sortbysynonymresult",{"_index":2524,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["this.sortlexically",{"_index":2525,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["this.source",{"_index":2399,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.source.getaggregateresults(filter",{"_index":1291,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.getcelltypetermoccurences(filter",{"_index":1297,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.getcelltypetreemodel().pipe(take(1)).subscribe((model",{"_index":1254,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.getdatabasestatus()).pipe",{"_index":1258,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.getdatasettechnologynames",{"_index":1302,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.getontologytermoccurences(filter",{"_index":1294,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.getontologytreemodel().pipe(take(1)).subscribe((model",{"_index":1252,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.getprovidernames",{"_index":1304,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.getscene(filter",{"_index":1300,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.source.gettissueblockresults(filter",{"_index":1288,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.spatialsearchdialog.open(spatialsearchuibehaviorcomponent",{"_index":3085,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{}}}],["this.spatialsearchselected.emit",{"_index":1912,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.spatialsearchselected.emit(items",{"_index":1915,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.state$.pipe(pluck('colorassignments",{"_index":774,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["this.state$.pipe(pluck('colorassignmentslist",{"_index":775,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["this.state$.pipe(pluck('filter",{"_index":1188,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.state$.pipe(pluck('highlightedid",{"_index":2960,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.state$.pipe(pluck('highlightednodeid",{"_index":2340,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["this.state$.pipe(pluck('listresults",{"_index":2342,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["this.state$.pipe(pluck('referenceorgans",{"_index":2962,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.state$.pipe(pluck('scene",{"_index":2964,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.state$.pipe(pluck('selectedreferenceorgans",{"_index":2966,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.state$.pipe(pluck('status",{"_index":1166,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.statechange.emit",{"_index":2291,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.store.dispatch(new",{"_index":2914,"title":{},"body":{"components/RunSpatialSearchComponent.html":{}}}],["this.store.selectsnapshot(datastateselectors.filter",{"_index":2724,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.store.selectsnapshot(scenestate.referenceorgans",{"_index":2725,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.store.selectsnapshot(spatialsearchfilterselectors.selectedsearches",{"_index":2799,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.store.selectsnapshot(spatialsearchuistate.organentity",{"_index":2735,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["this.subscriptions.add(channel.getmessagesfromsource(drawer).subscribe(msg",{"_index":3819,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.subscriptions.add(messages.subscribe(msg",{"_index":997,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.subscriptions.add(panelcontent$.subscribe(data",{"_index":3352,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["this.subscriptions.add(this.channel.getmessages().subscribe(msg",{"_index":910,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["this.subscriptions.unsubscribe",{"_index":920,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["this.syncexpanded(other",{"_index":2292,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.technologyfilterdata",{"_index":1209,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.technologyfilterquerystatus",{"_index":1232,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.theme",{"_index":3653,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.thememode$.next('dark",{"_index":358,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.thememode$.next('light",{"_index":359,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.thememode$.next(e.matches",{"_index":364,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.thememode$.next(this.islighttheme",{"_index":399,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.thememode$]).subscribe",{"_index":336,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.theming.gettheme().endswith('light",{"_index":286,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.theming.settheme(`${theme",{"_index":338,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.tissueblock.label",{"_index":1494,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["this.tissueblockdata",{"_index":1191,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.tissueblockdataquerystatus",{"_index":1227,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.tissuesections.filter(section",{"_index":3786,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["this.toggle(coercebooleanproperty(value",{"_index":2221,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggle(false",{"_index":2262,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggle(true",{"_index":2261,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(coercebooleanproperty(value",{"_index":2225,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(false",{"_index":2274,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(true",{"_index":2271,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.tree.expandandselect(ontologynode",{"_index":2651,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["this.treemodel",{"_index":2597,"title":{},"body":{"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/SearchResult.html":{}}}],["this.treemodel$.next(treemodel",{"_index":2596,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["this.treemodel$.pipe(map(state",{"_index":2586,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["this.treemodel?.nodes",{"_index":2618,"title":{},"body":{"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/SearchResult.html":{}}}],["this.uid",{"_index":3723,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["this.updateanatomicalstructurestreemodel(model",{"_index":1253,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.updatecelltypestreemodel(model",{"_index":1255,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.updatefaded",{"_index":1003,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.updatefilter('both",{"_index":1927,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.updatefilter(filter",{"_index":1283,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.updatefilter(searches",{"_index":1916,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.updatemargin(position",{"_index":1009,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.updateposition(key",{"_index":3265,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.updateposition(target.key",{"_index":3263,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["this.updatesearchselection(this.spatialsearchfilters.filter(item",{"_index":1907,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.updatesexfromselection(items",{"_index":1917,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.updatesexfromselection(this.spatialsearchfilters.filter(item",{"_index":1900,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["this.updatestatus",{"_index":1268,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.updatestatus(status",{"_index":1260,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.updateurl",{"_index":3852,"title":{},"body":{"components/ViewerComponent.html":{}}}],["this.url",{"_index":435,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.validatedrawers",{"_index":913,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.valuerange",{"_index":1798,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.valuerange[0",{"_index":1799,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.valuerange[1",{"_index":1801,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["this.vieweropen",{"_index":436,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["this.warmupdatabase",{"_index":1256,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["this.width",{"_index":2237,"title":{},"body":{"classes/InitializationState.html":{}}}],["those",{"_index":2401,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["thread",{"_index":4637,"title":{},"body":{"miscellaneous/variables.html":{}}}],["three",{"_index":710,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["through",{"_index":4230,"title":{},"body":{"changelog.html":{}}}],["throw",{"_index":539,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"modules/CoreModule.html":{}}}],["throwduplicatedrawerserror",{"_index":4380,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["throwduplicatedrawerserror('end",{"_index":931,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throwduplicatedrawerserror('start",{"_index":929,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throwduplicatedrawerserror(position",{"_index":900,"title":{},"body":{"components/ContainerComponent.html":{},"miscellaneous/functions.html":{}}}],["thrown",{"_index":899,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throws",{"_index":895,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/ThemingService.html":{}}}],["thumbnail",{"_index":609,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["thumbnailcarouselcomponent",{"_index":608,"title":{"components/ThumbnailCarouselComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"modules/ThumbnailCarouselModule.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["thumbnailcarouselmodule",{"_index":1579,"title":{"modules/ThumbnailCarouselModule.html":{}},"body":{"modules/DonorCardModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules.html":{},"overview.html":{}}}],["thumbnails",{"_index":3671,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["thymus",{"_index":1408,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["thymus.svg",{"_index":1409,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["tick",{"_index":3790,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["tied",{"_index":4146,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":4239,"title":{},"body":{"changelog.html":{}}}],["time",{"_index":659,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["timeouts",{"_index":3975,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":3969,"title":{},"body":{"changelog.html":{}}}],["timing",{"_index":1026,"title":{},"body":{"components/ContentComponent.html":{}}}],["tip",{"_index":3599,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["tissue",{"_index":612,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"modules/DonorCardModule.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"modules/SpatialSearchUiModule.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["tissueblock",{"_index":1459,"title":{},"body":{"components/DonorCardComponent.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["tissueblock.description",{"_index":1506,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["tissueblock.donor.description",{"_index":1502,"title":{},"body":{"components/DonorCardComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["tissueblock.donor.label",{"_index":1501,"title":{},"body":{"components/DonorCardComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["tissueblock.label",{"_index":1505,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["tissueblockdata",{"_index":1189,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["tissueblockdata(filter",{"_index":1285,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["tissueblockdataquerystatus",{"_index":1169,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["tissueblocklistcomponent",{"_index":611,"title":{"components/TissueBlockListComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"modules/TissueBlockListModule.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["tissueblocklistmodule",{"_index":3424,"title":{"modules/TissueBlockListModule.html":{}},"body":{"modules/SpatialSearchUiModule.html":{},"modules/TissueBlockListModule.html":{},"modules.html":{},"overview.html":{}}}],["tissueblockresult",{"_index":1101,"title":{},"body":{"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"interfaces/ListResult.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/TissueBlockListComponent.html":{}}}],["tissueblocks",{"_index":2368,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/TissueBlockListComponent.html":{}}}],["tissueblocks(state",{"_index":3475,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["tissueblocks.length",{"_index":3755,"title":{},"body":{"components/TissueBlockListComponent.html":{}}}],["tissues",{"_index":3773,"title":{},"body":{"components/TissueSectionVisComponent.html":{},"changelog.html":{}}}],["tissuesection",{"_index":3784,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["tissuesectionexists",{"_index":3768,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["tissuesectionexists(sectionnumber",{"_index":3780,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["tissuesectionresult",{"_index":3771,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["tissuesections",{"_index":3769,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["tissuesections]=\"tissueblock.sections",{"_index":1508,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["tissuesectionviscomponent",{"_index":613,"title":{"components/TissueSectionVisComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["tissuesectionvismodule",{"_index":1580,"title":{"modules/TissueSectionVisModule.html":{}},"body":{"modules/DonorCardModule.html":{},"modules/TissueSectionVisModule.html":{},"modules.html":{},"overview.html":{}}}],["title",{"_index":1536,"title":{},"body":{"components/DonorCardComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["tmc",{"_index":1125,"title":{},"body":{"interfaces/DataStateModel.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["toggle",{"_index":617,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["toggle(opened",{"_index":2263,"title":{},"body":{"classes/InitializationState.html":{}}}],["togglebuttoncomponent",{"_index":616,"title":{"components/ToggleButtonComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"modules/DrawerModule.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"coverage.html":{},"overview.html":{}}}],["toggled",{"_index":1005,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["toggleexpanded(expanded",{"_index":2277,"title":{},"body":{"classes/InitializationState.html":{}}}],["toggleexpansion",{"_index":1457,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["togglefiltervisible",{"_index":1960,"title":{},"body":{"components/FiltersPopoverComponent.html":{}}}],["toggleoptions",{"_index":1604,"title":{},"body":{"components/DropdownComponent.html":{}}}],["toggles",{"_index":396,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/InitializationState.html":{}}}],["togglescheme",{"_index":398,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["togglesliderpopover",{"_index":1693,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["token",{"_index":448,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["token.length",{"_index":451,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["tonsil",{"_index":1387,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["tonsil.svg",{"_index":1388,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["tool",{"_index":3598,"title":{},"body":{"components/TermOccurrenceListComponent.html":{},"changelog.html":{}}}],["toolbar",{"_index":3858,"title":{},"body":{"components/ViewerComponent.html":{}}}],["tooltiptext",{"_index":3592,"title":{},"body":{"components/TermOccurrenceListComponent.html":{}}}],["top",{"_index":1534,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/OntologySearchComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["topblocks",{"_index":2366,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["topblocks.push",{"_index":2370,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["tort",{"_index":4613,"title":{},"body":{"license.html":{}}}],["total",{"_index":3776,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["totaltissuesections",{"_index":3770,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["totaltissuesections]=\"tissueblock.sectioncount",{"_index":1507,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["touch",{"_index":940,"title":{},"body":{"components/ContainerComponent.html":{},"components/DualSliderComponent.html":{}}}],["trachea",{"_index":1410,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["trachea.svg",{"_index":1411,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["track",{"_index":254,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/ResultsBrowserComponent.html":{}}}],["tracking/telemetry",{"_index":4091,"title":{},"body":{"changelog.html":{}}}],["trackingpopupcomponent",{"_index":183,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["trackingpopupmodule",{"_index":107,"title":{},"body":{"modules/AppModule.html":{}}}],["tracks",{"_index":2507,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["transform",{"_index":1639,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["transition",{"_index":987,"title":{},"body":{"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["transition('closed",{"_index":2201,"title":{},"body":{"classes/InitializationState.html":{}}}],["transition('false",{"_index":994,"title":{},"body":{"components/ContentComponent.html":{}}}],["translatey",{"_index":1659,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{}}}],["translatey(0rem",{"_index":3137,"title":{},"body":{"components/SpatialSearchConfigComponent.html":{}}}],["transparency",{"_index":4175,"title":{},"body":{"changelog.html":{}}}],["transparent",{"_index":1524,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["travel_explore",{"_index":2917,"title":{},"body":{"components/RunSpatialSearchComponent.html":{}}}],["travisci",{"_index":4190,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":490,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["tree'},{'name",{"_index":585,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["tree.component",{"_index":2649,"title":{},"body":{"components/OntologySelectionComponent.html":{},"modules/OntologyTreeModule.html":{}}}],["tree.component.ts",{"_index":4369,"title":{},"body":{"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["tree.module",{"_index":2455,"title":{},"body":{"modules/OntologyExplorationModule.html":{},"modules/OntologySelectionModule.html":{}}}],["tree.module.ts",{"_index":2663,"title":{},"body":{"modules/OntologyTreeModule.html":{}}}],["tree.nodes[term]?.label",{"_index":3517,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["tree/ontology",{"_index":2454,"title":{},"body":{"modules/OntologyExplorationModule.html":{},"components/OntologySelectionComponent.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["treemodel",{"_index":2560,"title":{},"body":{"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/SearchResult.html":{}}}],["trigger",{"_index":988,"title":{},"body":{"components/ContentComponent.html":{},"classes/InitializationState.html":{}}}],["trigger('expandcollapse",{"_index":2204,"title":{},"body":{"classes/InitializationState.html":{}}}],["trigger('fadeinout",{"_index":990,"title":{},"body":{"components/ContentComponent.html":{}}}],["trigger('openclose",{"_index":2198,"title":{},"body":{"classes/InitializationState.html":{}}}],["triggered",{"_index":2496,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["true",{"_index":269,"title":{},"body":{"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"modules/ThemingModule.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["try",{"_index":2133,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{}}}],["ts",{"_index":4491,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":4494,"title":{},"body":{"dependencies.html":{}}}],["tube",{"_index":1355,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["tuned",{"_index":4324,"title":{},"body":{"changelog.html":{}}}],["tuple",{"_index":921,"title":{},"body":{"components/ContainerComponent.html":{}}}],["turn",{"_index":4163,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":4149,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":4147,"title":{},"body":{"changelog.html":{}}}],["tutorial",{"_index":4066,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":4249,"title":{},"body":{"changelog.html":{}}}],["type",{"_index":15,"title":{},"body":{"classes/AddSearch.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"classes/DataStateSelectors.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/ListResult.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/OntologySelection.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"classes/SpatialSearchFilterSelectors.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":4620,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typeof",{"_index":531,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/OntologySearchComponent.html":{}}}],["types",{"_index":1038,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/SpatialSearchUiComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["types/lru",{"_index":4434,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":483,"title":{},"body":{"injectables/AppRootOverlayContainer.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":4298,"title":{},"body":{"changelog.html":{}}}],["ufl",{"_index":4142,"title":{},"body":{"changelog.html":{}}}],["ufxmpzatowe",{"_index":3099,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["ui",{"_index":597,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"components/HeaderComponent.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["ui'},{'name",{"_index":599,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["ui.actions",{"_index":1983,"title":{},"body":{"components/FiltersPopoverComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["ui.actions.ts",{"_index":2033,"title":{},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"classes/StartSpatialSearchFlow.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["ui.actions.ts:14",{"_index":3036,"title":{},"body":{"classes/SetOrgan.html":{}}}],["ui.actions.ts:20",{"_index":3038,"title":{},"body":{"classes/SetPosition.html":{}}}],["ui.actions.ts:26",{"_index":2442,"title":{},"body":{"classes/MoveToNode.html":{}}}],["ui.actions.ts:32",{"_index":2817,"title":{},"body":{"classes/ResetPosition.html":{}}}],["ui.actions.ts:36",{"_index":3040,"title":{},"body":{"classes/SetRadius.html":{}}}],["ui.actions.ts:4",{"_index":3555,"title":{},"body":{"classes/StartSpatialSearchFlow.html":{}}}],["ui.actions.ts:42",{"_index":2818,"title":{},"body":{"classes/ResetRadius.html":{}}}],["ui.actions.ts:46",{"_index":3833,"title":{},"body":{"classes/UpdateSpatialSearch.html":{}}}],["ui.actions.ts:50",{"_index":2035,"title":{},"body":{"classes/GenerateSpatialSearch.html":{}}}],["ui.actions.ts:54",{"_index":3034,"title":{},"body":{"classes/SetExecuteSearchOnGenerate.html":{}}}],["ui.actions.ts:8",{"_index":3043,"title":{},"body":{"classes/SetSex.html":{}}}],["ui.component",{"_index":196,"title":{},"body":{"interfaces/AppOptions.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiModule.html":{}}}],["ui.component.html",{"_index":3275,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["ui.component.scss",{"_index":3274,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts",{"_index":3273,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiComponent.html":{},"coverage.html":{}}}],["ui.component.ts:15",{"_index":3283,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["ui.component.ts:18",{"_index":3279,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["ui.component.ts:20",{"_index":3397,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:21",{"_index":3280,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["ui.component.ts:23",{"_index":3378,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:24",{"_index":3281,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["ui.component.ts:26",{"_index":3379,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:27",{"_index":3282,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["ui.component.ts:29",{"_index":3381,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:30",{"_index":3290,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["ui.component.ts:32",{"_index":3382,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:35",{"_index":3377,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:38",{"_index":3372,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:41",{"_index":3374,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:44",{"_index":3369,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:47",{"_index":3371,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:50",{"_index":3383,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:53",{"_index":3366,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:56",{"_index":3368,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:59",{"_index":3385,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:62",{"_index":3393,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:65",{"_index":3395,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:68",{"_index":3386,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:71",{"_index":3392,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:74",{"_index":3391,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:77",{"_index":3387,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:80",{"_index":3389,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.component.ts:83",{"_index":3390,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["ui.module",{"_index":3272,"title":{},"body":{"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{}}}],["ui.module.ts",{"_index":3307,"title":{},"body":{"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiModule.html":{}}}],["ui.netlify.app",{"_index":4524,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":4534,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":4531,"title":{},"body":{"index.html":{}}}],["ui.selectors",{"_index":3084,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["ui.selectors.ts",{"_index":3436,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{},"coverage.html":{}}}],["ui.selectors.ts:101",{"_index":3476,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:106",{"_index":3444,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:111",{"_index":3446,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:115",{"_index":3450,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:12",{"_index":3441,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:15",{"_index":3474,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:20",{"_index":3466,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:25",{"_index":3455,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:30",{"_index":3453,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:39",{"_index":3459,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:43",{"_index":3457,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:49",{"_index":3461,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:54",{"_index":3448,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:59",{"_index":3463,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:64",{"_index":3465,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:69",{"_index":3468,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:84",{"_index":3470,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.selectors.ts:95",{"_index":3472,"title":{},"body":{"classes/SpatialSearchUiSelectors.html":{}}}],["ui.state",{"_index":3248,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{}}}],["ui.state.ts",{"_index":2667,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"coverage.html":{}}}],["ui.state.ts:103",{"_index":3533,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:115",{"_index":3532,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:145",{"_index":3529,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:186",{"_index":3530,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:195",{"_index":3526,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:205",{"_index":3523,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:217",{"_index":3531,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:225",{"_index":3527,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:238",{"_index":3534,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:271",{"_index":3522,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:303",{"_index":3528,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:312",{"_index":3525,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:70",{"_index":2814,"title":{},"body":{"classes/ReallyUpdateSpatialSearch.html":{}}}],["ui.state.ts:84",{"_index":3524,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui.state.ts:87",{"_index":3521,"title":{},"body":{"injectables/SpatialSearchUiState.html":{}}}],["ui/body",{"_index":195,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["ui/organ",{"_index":4533,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":4532,"title":{},"body":{"index.html":{}}}],["ui/spatial",{"_index":1982,"title":{},"body":{"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/RunSpatialSearchComponent.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"modules/SpatialSearchUiModule.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"modules/StoreModule.html":{},"components/TermOccurrenceListComponent.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["uibehavior",{"_index":3228,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["uid",{"_index":3676,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["uievent",{"_index":2867,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["uis",{"_index":3917,"title":{},"body":{"changelog.html":{}}}],["unassigncolor",{"_index":804,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["unassigncolor(@payload('key",{"_index":798,"title":{},"body":{"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{}}}],["unassigncolor(key",{"_index":809,"title":{},"body":{"injectables/ColorAssignmentState.html":{}}}],["unchecked",{"_index":675,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["undefined",{"_index":408,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"classes/GenerateSpatialSearch.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"classes/MoveToNode.html":{},"interfaces/OntologySelection.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{}}}],["under",{"_index":1336,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["underline",{"_index":1637,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["unhighlightnode",{"_index":2322,"title":{},"body":{"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{}}}],["unique",{"_index":2378,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["university",{"_index":4560,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":528,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/FiltersContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["unless",{"_index":1482,"title":{},"body":{"components/DonorCardComponent.html":{}}}],["unlike",{"_index":1326,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["unnecessary",{"_index":4079,"title":{},"body":{"changelog.html":{}}}],["unselect",{"_index":4119,"title":{},"body":{"changelog.html":{}}}],["unset",{"_index":3828,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["until",{"_index":1766,"title":{},"body":{"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"changelog.html":{}}}],["unused",{"_index":3689,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["up",{"_index":853,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/OntologySearchService.html":{},"components/RunSpatialSearchComponent.html":{},"interfaces/SearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["update",{"_index":402,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DualSliderComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"changelog.html":{}}}],["updateanatomicalstructurestreemodel(@payload('treemodel",{"_index":1270,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["updatecelltypestreemodel(@payload('treemodel",{"_index":1272,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["updated",{"_index":658,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"changelog.html":{}}}],["updatefaded",{"_index":950,"title":{},"body":{"components/ContentComponent.html":{}}}],["updatefilter",{"_index":1116,"title":{"classes/UpdateFilter.html":{}},"body":{"interfaces/DataStateModel.html":{},"components/FiltersContentComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"classes/UpdateFilter.html":{},"coverage.html":{}}}],["updatefilter(@payload('filter",{"_index":1276,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["updatefilter(value",{"_index":1891,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["updatefilterhandler(_ctx",{"_index":1282,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["updatemargin",{"_index":951,"title":{},"body":{"components/ContentComponent.html":{}}}],["updatemargin(position",{"_index":976,"title":{},"body":{"components/ContentComponent.html":{}}}],["updateorgan",{"_index":3051,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["updateposition",{"_index":3218,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["updateposition(key",{"_index":3243,"title":{},"body":{"components/SpatialSearchKeyboardUIBehaviorComponent.html":{}}}],["updateradius",{"_index":3310,"title":{},"body":{"components/SpatialSearchUiBehaviorComponent.html":{}}}],["updates",{"_index":974,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["updatesearchselection",{"_index":1863,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["updatesearchselection(items",{"_index":1895,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["updatesex",{"_index":3052,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{}}}],["updatesexfromselection",{"_index":1864,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["updatesexfromselection(items",{"_index":1897,"title":{},"body":{"components/FiltersContentComponent.html":{}}}],["updatespatialsearch",{"_index":2049,"title":{"classes/UpdateSpatialSearch.html":{}},"body":{"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{},"coverage.html":{}}}],["updatespatialsearch(ctx",{"_index":2779,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["updatestatus(@payload('status",{"_index":1273,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["updateurl",{"_index":3839,"title":{},"body":{"components/ViewerComponent.html":{}}}],["upgraded",{"_index":4235,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":4300,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":4093,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":4173,"title":{},"body":{"changelog.html":{}}}],["upper",{"_index":1710,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["ureter",{"_index":1412,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["url",{"_index":271,"title":{},"body":{"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DonorCardComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ViewerComponent.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/variables.html":{}}}],["url('./data",{"_index":3882,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["url.createobjecturl(codeblob",{"_index":3892,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["url?.startswith(domain",{"_index":433,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["urls",{"_index":2109,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["usage",{"_index":3918,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":4546,"title":{},"body":{"index.html":{}}}],["use",{"_index":1485,"title":{},"body":{"components/DonorCardComponent.html":{},"components/DualSliderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/SpatialSearchUiComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["usecase",{"_index":4551,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":4548,"title":{},"body":{"index.html":{}}}],["used",{"_index":252,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"classes/FlatNode.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["useexisting",{"_index":147,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{}}}],["useful",{"_index":897,"title":{},"body":{"components/ContainerComponent.html":{}}}],["user",{"_index":352,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"interfaces/DataStateModel.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"changelog.html":{},"index.html":{}}}],["user/os",{"_index":4071,"title":{},"body":{"changelog.html":{}}}],["useremoteapi",{"_index":506,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["users",{"_index":4314,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":401,"title":{},"body":{"interfaces/AppOptions.html":{},"changelog.html":{}}}],["usevalue",{"_index":143,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules/ThemingModule.html":{}}}],["using",{"_index":3704,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{},"changelog.html":{}}}],["uterus",{"_index":1413,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["uterus.svg",{"_index":1414,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["utilities",{"_index":4076,"title":{},"body":{"changelog.html":{}}}],["utility",{"_index":4507,"title":{},"body":{"miscellaneous/functions.html":{}}}],["uuid",{"_index":4495,"title":{},"body":{"dependencies.html":{}}}],["v1.1",{"_index":4012,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":3926,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":3916,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":4162,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":4014,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":4006,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":3977,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":3955,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":3933,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":3961,"title":{},"body":{"changelog.html":{}}}],["v2.1.0",{"_index":3924,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":3912,"title":{},"body":{"changelog.html":{}}}],["v3",{"_index":3937,"title":{},"body":{"changelog.html":{}}}],["val",{"_index":530,"title":{},"body":{"components/AppWebComponent.html":{}}}],["val.every(isstring",{"_index":534,"title":{},"body":{"components/AppWebComponent.html":{}}}],["valid",{"_index":2718,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["validatedrawers",{"_index":832,"title":{},"body":{"components/ContainerComponent.html":{}}}],["validates",{"_index":859,"title":{},"body":{"components/ContainerComponent.html":{}}}],["validation",{"_index":2508,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["value",{"_index":29,"title":{},"body":{"classes/AddSearch.html":{},"injectables/AppRootOverlayContainer.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"injectables/ColorAssignmentState.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/GenerateSpatialSearch.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"classes/MoveToNode.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/RemoveSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SearchResult.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSelectedSearches.html":{},"classes/SetSex.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"classes/SpatialSearchUiSelectors.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"components/TermOccurrenceListComponent.html":{},"injectables/ThemingService.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"classes/UpdateFilter.html":{},"classes/UpdateSpatialSearch.html":{},"components/ViewerComponent.html":{},"miscellaneous/enumerations.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["value.slice(0",{"_index":3177,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["value.slice(1",{"_index":3179,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["value.tolowercase",{"_index":2601,"title":{},"body":{"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{}}}],["valuechanges",{"_index":2515,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["valuechanges.pipe",{"_index":2518,"title":{},"body":{"components/OntologySearchComponent.html":{}}}],["valueof",{"_index":2161,"title":{},"body":{"classes/InitializationState.html":{}}}],["valuerange",{"_index":1694,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["values",{"_index":1037,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DataStateModel.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"components/SpatialSearchUiComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["var",{"_index":556,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["variable",{"_index":282,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DonorCardComponent.html":{},"coverage.html":{}}}],["variables",{"_index":4627,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["vasculature",{"_index":1415,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["version",{"_index":4023,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["very",{"_index":4225,"title":{},"body":{"changelog.html":{}}}],["via",{"_index":3973,"title":{},"body":{"changelog.html":{}}}],["video",{"_index":4094,"title":{},"body":{"changelog.html":{}}}],["videoid",{"_index":3096,"title":{},"body":{"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{}}}],["view",{"_index":1557,"title":{},"body":{"components/DonorCardComponent.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchUiComponent.html":{},"changelog.html":{}}}],["viewchild",{"_index":172,"title":{},"body":{"interfaces/AppOptions.html":{},"components/DualSliderComponent.html":{},"components/OntologySelectionComponent.html":{}}}],["viewchild('bodyui",{"_index":241,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["viewchild('popover",{"_index":1763,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["viewchild(cdkportal",{"_index":1768,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["viewchild(ontologytreecomponent",{"_index":2647,"title":{},"body":{"components/OntologySelectionComponent.html":{}}}],["viewchildren",{"_index":887,"title":{},"body":{"components/ContainerComponent.html":{}}}],["viewchildren(contentcomponent",{"_index":872,"title":{},"body":{"components/ContainerComponent.html":{}}}],["viewer",{"_index":275,"title":{},"body":{"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{}}}],["viewer.component",{"_index":3864,"title":{},"body":{"modules/ViewerModule.html":{}}}],["viewer.component.html",{"_index":3837,"title":{},"body":{"components/ViewerComponent.html":{}}}],["viewer.component.scss",{"_index":3836,"title":{},"body":{"components/ViewerComponent.html":{}}}],["viewercomponent",{"_index":619,"title":{"components/ViewerComponent.html":{}},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"modules/ViewerModule.html":{},"coverage.html":{},"overview.html":{}}}],["viewermodule",{"_index":71,"title":{"modules/ViewerModule.html":{}},"body":{"modules/AppModule.html":{},"modules/ViewerModule.html":{},"modules.html":{},"overview.html":{}}}],["vieweropen",{"_index":283,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["viewing",{"_index":3952,"title":{},"body":{"changelog.html":{}}}],["viewport",{"_index":2870,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["views",{"_index":4086,"title":{},"body":{"changelog.html":{}}}],["virtual",{"_index":2824,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["vis",{"_index":3765,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["vis'},{'name",{"_index":615,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["vis.component",{"_index":3796,"title":{},"body":{"modules/TissueSectionVisModule.html":{}}}],["vis.component.html",{"_index":3767,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["vis.component.scss",{"_index":3766,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["vis.component.ts",{"_index":3764,"title":{},"body":{"components/TissueSectionVisComponent.html":{},"coverage.html":{}}}],["vis.component.ts:12",{"_index":3779,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["vis.component.ts:15",{"_index":3775,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["vis.component.ts:18",{"_index":3772,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["vis.component.ts:21",{"_index":3781,"title":{},"body":{"components/TissueSectionVisComponent.html":{}}}],["vis.module",{"_index":1587,"title":{},"body":{"modules/DonorCardModule.html":{}}}],["vis.module.ts",{"_index":3795,"title":{},"body":{"modules/TissueSectionVisModule.html":{}}}],["vis/tissue",{"_index":1586,"title":{},"body":{"modules/DonorCardModule.html":{},"components/TissueSectionVisComponent.html":{},"modules/TissueSectionVisModule.html":{},"coverage.html":{}}}],["visibility",{"_index":1753,"title":{},"body":{"components/DualSliderComponent.html":{},"components/SpinnerOverlayComponent.html":{}}}],["visibility_off",{"_index":1424,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["visibility_on",{"_index":1422,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["visible",{"_index":1621,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SpinnerOverlayComponent.html":{}}}],["visited",{"_index":3737,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["visual",{"_index":3950,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":4111,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":4236,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":83,"title":{},"body":{"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"injectables/AppRootOverlayContainer.html":{},"components/CheckboxComponent.html":{},"interfaces/Color.html":{},"injectables/ColorAssignmentState.html":{},"interfaces/ColorAssignmentStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"injectables/ListResultsState.html":{},"interfaces/ListResultsStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/OntologySearchComponent.html":{},"injectables/OntologySearchService.html":{},"components/OntologySelectionComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SearchResult.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"miscellaneous/functions.html":{}}}],["vs",{"_index":4063,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":4320,"title":{},"body":{"changelog.html":{}}}],["w",{"_index":1562,"title":{},"body":{"components/DonorCardComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{}}}],["wait",{"_index":2163,"title":{},"body":{"classes/InitializationState.html":{}}}],["waits",{"_index":2286,"title":{},"body":{"classes/InitializationState.html":{}}}],["walkthrough",{"_index":4547,"title":{},"body":{"index.html":{}}}],["warming",{"_index":3972,"title":{},"body":{"changelog.html":{}}}],["warmupdatabase",{"_index":1257,"title":{},"body":{"interfaces/DataStateModel.html":{}}}],["warning",{"_index":4258,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":4600,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":4597,"title":{},"body":{"license.html":{}}}],["watchoverflow",{"_index":3696,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["way",{"_index":2872,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["wc",{"_index":495,"title":{},"body":{"components/AppWebComponent.html":{}}}],["wc'},{'name",{"_index":559,"title":{},"body":{"components/AppWebComponent.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"components/OntologySearchComponent.html":{},"components/OntologySelectionComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/SpinnerOverlayComponent.html":{},"components/TermOccurrenceListComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{}}}],["web",{"_index":117,"title":{},"body":{"modules/AppModule.html":{},"components/AppWebComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["webcomponent",{"_index":4062,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":4435,"title":{},"body":{"dependencies.html":{}}}],["webkit",{"_index":938,"title":{},"body":{"components/ContainerComponent.html":{}}}],["webpages",{"_index":4027,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":4520,"title":{},"body":{"index.html":{}}}],["week",{"_index":4325,"title":{},"body":{"changelog.html":{}}}],["weight",{"_index":704,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/HeaderComponent.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["well",{"_index":2823,"title":{},"body":{"components/ResultsBrowserComponent.html":{}}}],["west",{"_index":3286,"title":{},"body":{"components/SpatialSearchKeyboardUIComponent.html":{}}}],["whenever",{"_index":288,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"interfaces/DataStateModel.html":{},"components/DonorCardComponent.html":{},"classes/InitializationState.html":{},"miscellaneous/functions.html":{}}}],["whether",{"_index":264,"title":{},"body":{"interfaces/AppOptions.html":{},"components/CheckboxComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DualSliderComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/FlatNode.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ResultsBrowserComponent.html":{},"components/SpinnerOverlayComponent.html":{},"injectables/ThemingService.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"license.html":{}}}],["white",{"_index":695,"title":{},"body":{"components/CheckboxComponent.html":{},"components/DonorCardComponent.html":{},"components/SpatialSearchUiComponent.html":{},"components/TissueBlockListComponent.html":{}}}],["whole",{"_index":4322,"title":{},"body":{"changelog.html":{}}}],["whose",{"_index":2479,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/ThumbnailCarouselComponent.html":{}}}],["width",{"_index":711,"title":{},"body":{"components/CheckboxComponent.html":{},"components/ContentComponent.html":{},"interfaces/ContentContainerChanged.html":{},"components/DonorCardComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/FiltersContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/OntologySearchComponent.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"components/ResultsBrowserComponent.html":{},"components/SpatialSearchConfigBehaviorComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchKeyboardUIComponent.html":{},"components/SpatialSearchUiBehaviorComponent.html":{},"components/SpatialSearchUiComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueBlockListComponent.html":{},"components/TissueSectionVisComponent.html":{},"components/ToggleButtonComponent.html":{},"components/ViewerComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["widths",{"_index":2294,"title":{},"body":{"classes/InitializationState.html":{}}}],["window",{"_index":279,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["window.matchmedia",{"_index":348,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["window.matchmedia('(prefers",{"_index":354,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["window.open(url",{"_index":439,"title":{},"body":{"interfaces/AppOptions.html":{}}}],["within",{"_index":2635,"title":{},"body":{"components/OntologySelectionComponent.html":{},"components/SpatialSearchUiComponent.html":{},"changelog.html":{}}}],["without",{"_index":874,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/OntologySearchService.html":{},"interfaces/SearchResult.html":{},"changelog.html":{},"license.html":{}}}],["work",{"_index":3706,"title":{},"body":{"components/ThumbnailCarouselComponent.html":{}}}],["workaround",{"_index":2304,"title":{},"body":{"classes/InitializationState.html":{}}}],["worker",{"_index":1439,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/WorkerDataSourceService.html":{},"miscellaneous/variables.html":{}}}],["worker(url",{"_index":3881,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["workerccfdatabasedatasourceservice",{"_index":3866,"title":{},"body":{"injectables/WorkerDataSourceService.html":{}}}],["workerdatasourceservice",{"_index":1438,"title":{"injectables/WorkerDataSourceService.html":{}},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/WorkerDataSourceService.html":{},"coverage.html":{}}}],["workflows",{"_index":4192,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":4017,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":4208,"title":{},"body":{"changelog.html":{}}}],["wrap",{"_index":709,"title":{},"body":{"components/CheckboxComponent.html":{}}}],["wrapped",{"_index":871,"title":{},"body":{"components/ContainerComponent.html":{}}}],["wrapper",{"_index":1632,"title":{},"body":{"components/DropdownComponent.html":{},"components/DualSliderComponent.html":{},"components/OntologySearchComponent.html":{},"components/RunSpatialSearchComponent.html":{},"components/SpatialSearchConfigComponent.html":{},"components/SpatialSearchUiComponent.html":{}}}],["wrapper/container",{"_index":1835,"title":{},"body":{"components/DualSliderComponent.html":{}}}],["wrapping",{"_index":875,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{}}}],["x",{"_index":390,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"components/TissueSectionVisComponent.html":{},"classes/UpdateSpatialSearch.html":{}}}],["x.tofixed(1",{"_index":3183,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["x_dimension",{"_index":2737,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["xyz",{"_index":3418,"title":{},"body":{"components/SpatialSearchUiComponent.html":{}}}],["xyzpositionmodule",{"_index":3429,"title":{},"body":{"modules/SpatialSearchUiModule.html":{}}}],["x},${y},${z",{"_index":3174,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["x}_${y}_${z",{"_index":2758,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["y",{"_index":392,"title":{},"body":{"interfaces/AppOptions.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"components/ResultsBrowserComponent.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"classes/UpdateSpatialSearch.html":{}}}],["y.tofixed(1",{"_index":3184,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["y_dimension",{"_index":2738,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["yes",{"_index":2485,"title":{},"body":{"components/OntologySearchComponent.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"miscellaneous/functions.html":{}}}],["youtube",{"_index":4042,"title":{},"body":{"changelog.html":{}}}],["z",{"_index":394,"title":{},"body":{"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/FiltersPopoverComponent.html":{},"classes/GenerateSpatialSearch.html":{},"classes/MoveToNode.html":{},"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"classes/ResetPosition.html":{},"classes/ResetRadius.html":{},"classes/SetExecuteSearchOnGenerate.html":{},"classes/SetOrgan.html":{},"classes/SetPosition.html":{},"classes/SetRadius.html":{},"classes/SetSex.html":{},"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"components/SpinnerOverlayComponent.html":{},"classes/StartSpatialSearchFlow.html":{},"interfaces/TermResult.html":{},"components/ThumbnailCarouselComponent.html":{},"components/TissueSectionVisComponent.html":{},"classes/UpdateSpatialSearch.html":{}}}],["z.tofixed(1",{"_index":3185,"title":{},"body":{"interfaces/SpatialSearchFilterItem.html":{},"injectables/SpatialSearchFilterState.html":{}}}],["z_dimension",{"_index":2739,"title":{},"body":{"interfaces/Position.html":{},"interfaces/RadiusSettings.html":{},"classes/ReallyUpdateSpatialSearch.html":{},"interfaces/SpatialSearchUiModel.html":{},"classes/SpatialSearchUiSelectors.html":{},"injectables/SpatialSearchUiState.html":{},"interfaces/TermResult.html":{}}}],["zone.js",{"_index":4497,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":72,"title":{},"body":{"modules/AppModule.html":{},"modules/CheckboxModule.html":{},"modules/CoreModule.html":{},"modules/DonorCardModule.html":{},"modules/DrawerModule.html":{},"modules/DropdownModule.html":{},"modules/DualSliderModule.html":{},"modules/FiltersContentModule.html":{},"modules/FiltersPopoverModule.html":{},"modules/HeaderModule.html":{},"modules/OntologyExplorationModule.html":{},"modules/OntologySearchModule.html":{},"modules/OntologySelectionModule.html":{},"modules/OntologyTreeModule.html":{},"modules/ResultsBrowserModule.html":{},"modules/RunSpatialSearchModule.html":{},"modules/SpatialSearchConfigBehaviorModule.html":{},"modules/SpatialSearchConfigModule.html":{},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{},"modules/SpatialSearchKeyboardUIModule.html":{},"modules/SpatialSearchUiBehaviorModule.html":{},"modules/SpatialSearchUiModule.html":{},"modules/SpinnerOverlayModule.html":{},"modules/TermOccurrenceListModule.html":{},"modules/ThemingModule.html":{},"modules/ThumbnailCarouselModule.html":{},"modules/TissueBlockListModule.html":{},"modules/TissueSectionVisModule.html":{},"modules/ViewerModule.html":{},"overview.html":{}}}]],"pipeline":["stemmer"]}, + "store": {"classes/AddSearch.html":{"url":"classes/AddSearch.html","title":"class - AddSearch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AddSearch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(sex: Sex, organName: string, search: SpatialSearch)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sex\n \n \n Sex\n \n \n \n No\n \n \n \n \n organName\n \n \n string\n \n \n \n No\n \n \n \n \n search\n \n \n SpatialSearch\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[Spatial Search Filter] Add'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSearch } from 'ccf-database';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\n\nimport type { SpatialSearchFilterItem } from './spatial-search-filter.state';\n\n\nexport class AddSearch {\n static readonly type = '[Spatial Search Filter] Add';\n\n constructor(readonly sex: Sex, readonly organName: string, readonly search: SpatialSearch) { }\n}\n\nexport class RemoveSearch {\n static readonly type = '[Spatial Search Filter] Remove';\n\n constructor(readonly id: string) { }\n}\n\nexport class SetSelectedSearches {\n static readonly type = '[Spatial Search Filter] Set selected searches';\n\n constructor(readonly items: SpatialSearchFilterItem[]) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AppModule.html":{"url":"modules/AppModule.html","title":"module - AppModule","body":"\n \n\n\n\n\n Modules\n AppModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nAppModule -->\n\nCoreModule->AppModule\n\n\n\n\n\nDrawerModule\n\nDrawerModule\n\nAppModule -->\n\nDrawerModule->AppModule\n\n\n\n\n\nDualSliderModule\n\nDualSliderModule\n\nAppModule -->\n\nDualSliderModule->AppModule\n\n\n\n\n\nFiltersPopoverModule\n\nFiltersPopoverModule\n\nAppModule -->\n\nFiltersPopoverModule->AppModule\n\n\n\n\n\nOntologyExplorationModule\n\nOntologyExplorationModule\n\nAppModule -->\n\nOntologyExplorationModule->AppModule\n\n\n\n\n\nResultsBrowserModule\n\nResultsBrowserModule\n\nAppModule -->\n\nResultsBrowserModule->AppModule\n\n\n\n\n\nRunSpatialSearchModule\n\nRunSpatialSearchModule\n\nAppModule -->\n\nRunSpatialSearchModule->AppModule\n\n\n\n\n\nSpinnerOverlayModule\n\nSpinnerOverlayModule\n\nAppModule -->\n\nSpinnerOverlayModule->AppModule\n\n\n\n\n\nViewerModule\n\nViewerModule\n\nAppModule -->\n\nViewerModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/app.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n AppComponent\n \n \n AppWebComponent\n \n \n \n \n EntryComponents\n \n \n AppComponent\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n DrawerModule\n \n \n DualSliderModule\n \n \n FiltersPopoverModule\n \n \n OntologyExplorationModule\n \n \n ResultsBrowserModule\n \n \n RunSpatialSearchModule\n \n \n SpinnerOverlayModule\n \n \n ViewerModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngDoBootstrap\n \n \n \n \n \n \nngDoBootstrap()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/app.module.ts:57\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { OverlayContainer } from '@angular/cdk/overlay';\nimport { DoBootstrap, Injector, NgModule } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { BodyUiModule, InfoButtonModule, OrganSelectorModule, TrackingPopupModule } from 'ccf-shared';\nimport { AppRootOverlayContainer } from './core/services/app-root-overlay/app-root-overlay.service';\n\nimport { DEFAULT_THEME } from '../app/core/services/theming/theming.service';\nimport { AppWebComponent } from './app-web-component.component';\nimport { AppComponent } from './app.component';\nimport { CoreModule } from './core/core.module';\nimport { FiltersPopoverModule } from './modules/filters/filters-popover/filters-popover.module';\nimport { OntologyExplorationModule } from './modules/ontology-exploration/ontology-exploration.module';\nimport { ResultsBrowserModule } from './modules/results-browser/results-browser/results-browser.module';\nimport { DrawerModule } from './shared/components/drawer/drawer.module';\nimport { DualSliderModule } from './shared/components/dual-slider/dual-slider.module';\nimport { RunSpatialSearchModule } from './shared/components/run-spatial-search/run-spatial-search.module';\nimport { SpinnerOverlayModule } from './shared/components/spinner-overlay/spinner-overlay.module';\nimport { ViewerModule } from './shared/components/viewer/viewer.module';\n\n\n@NgModule({\n imports: [\n BrowserAnimationsModule,\n BrowserModule,\n CoreModule,\n DrawerModule,\n FiltersPopoverModule,\n OntologyExplorationModule,\n MatIconModule,\n DualSliderModule,\n ResultsBrowserModule,\n SpinnerOverlayModule,\n BodyUiModule,\n OrganSelectorModule,\n InfoButtonModule,\n MatTooltipModule,\n ViewerModule,\n TrackingPopupModule,\n MatSnackBarModule,\n RunSpatialSearchModule\n ],\n declarations: [AppComponent, AppWebComponent],\n providers: [\n { provide: DEFAULT_THEME, useValue: 'hubmap-theme-light' },\n { provide: OverlayContainer, useExisting: AppRootOverlayContainer }\n ],\n entryComponents: [AppComponent]\n})\nexport class AppModule implements DoBootstrap {\n constructor(private readonly injector: Injector) { }\n\n ngDoBootstrap(): void {\n const appElement = createCustomElement(AppWebComponent, {\n injector: this.injector\n });\n\n customElements.define('ccf-eui', appElement);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AppOptions.html":{"url":"interfaces/AppOptions.html","title":"interface - AppOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AppOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/app.component.ts\n \n\n\n\n \n Extends\n \n \n CCFDatabaseOptions\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n header\n \n \n \n Optional\n \n homeUrl\n \n \n \n Optional\n \n loginEnabled\n \n \n \n Optional\n \n logoTooltip\n \n \n \n Optional\n \n theme\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n header\n \n \n \n \n \n \n \n \n header: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n \n \n \n \n homeUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n loginEnabled\n \n \n \n \n \n \n \n \n loginEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n \n \n \n \n logoTooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n theme\n \n \n \n \n \n \n \n \n theme: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, OnInit, ViewChild } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Dispatch } from '@ngxs-labs/dispatch-decorator';\nimport { Select } from '@ngxs/store';\nimport { CCFDatabaseOptions, OntologyTreeModel } from 'ccf-database';\nimport { DataSourceService, GlobalConfigState, TrackingPopupComponent } from 'ccf-shared';\nimport { ConsentService } from 'ccf-shared/analytics';\nimport { combineLatest, Observable, ReplaySubject } from 'rxjs';\nimport { map, pluck } from 'rxjs/operators';\n\nimport { BodyUiComponent } from '../../../ccf-shared/src/lib/components/body-ui/body-ui.component';\nimport { environment } from '../environments/environment';\nimport { OntologySelection } from './core/models/ontology-selection';\nimport { AppRootOverlayContainer } from './core/services/app-root-overlay/app-root-overlay.service';\nimport { ThemingService } from './core/services/theming/theming.service';\nimport { actionAsFn } from './core/store/action-as-fn';\nimport { DataStateSelectors } from './core/store/data/data.selectors';\nimport { DataQueryState, DataState } from './core/store/data/data.state';\nimport { ListResultsState } from './core/store/list-results/list-results.state';\nimport { SceneState } from './core/store/scene/scene.state';\nimport { RemoveSearch, SetSelectedSearches } from './core/store/spatial-search-filter/spatial-search-filter.actions';\nimport { SpatialSearchFilterSelectors } from './core/store/spatial-search-filter/spatial-search-filter.selectors';\nimport { SpatialSearchFilterItem } from './core/store/spatial-search-filter/spatial-search-filter.state';\nimport { FiltersPopoverComponent } from './modules/filters/filters-popover/filters-popover.component';\nimport { DrawerComponent } from './shared/components/drawer/drawer/drawer.component';\n\n\ninterface AppOptions extends CCFDatabaseOptions {\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n loginEnabled?: boolean;\n}\n\n\n/**\n * This is the main angular component that all the other components branch off from.\n * It is in charge of the header and drawer components who have many sub-components.\n */\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AppComponent implements OnInit {\n @ViewChild('bodyUI', { static: false }) bodyUI: BodyUiComponent;\n\n\n @Select(DataStateSelectors.cellTypesTreeModel)\n readonly cellTypeTreeModel$: Observable;\n\n @Select(DataStateSelectors.anatomicalStructuresTreeModel)\n readonly ontologyTreeModel$: Observable;\n\n @Select(SpatialSearchFilterSelectors.items)\n readonly selectableSearches$: Observable;\n\n @Dispatch()\n readonly setSelectedSearches = actionAsFn(SetSelectedSearches);\n\n @Dispatch()\n readonly removeSpatialSearch = actionAsFn(RemoveSearch);\n\n /**\n * Used to keep track of the ontology label to be passed down to the\n * results-browser component.\n */\n ontologySelectionLabel = 'body';\n\n cellTypeSelectionLabel = 'cell';\n\n selectionLabel = 'body | cell';\n\n /**\n * Whether or not organ carousel is open\n */\n organListVisible = true;\n\n /**\n * Emitted url object from the results browser item\n */\n url = '';\n\n /**\n * Acceptable viewer domains (others will open in new window)\n */\n acceptableViewerDomains: string[] = environment.acceptableViewerDomains || [];\n\n /**\n * Variable to keep track of whether the viewer is open\n * or not\n */\n viewerOpen = false;\n\n get isLightTheme(): boolean {\n return this.theming.getTheme().endsWith('light');\n }\n\n /** Emits true whenever the overlay spinner should activate. */\n readonly spinnerActive$ = this.data.queryStatus$.pipe(\n map(state => state === DataQueryState.Running)\n );\n\n readonly loadingMessage$ = this.data.state$.pipe(pluck('statusMessage'));\n\n readonly ontologyTerms$: Observable;\n readonly cellTypeTerms$: Observable;\n\n readonly theme$ = this.globalConfig.getOption('theme');\n readonly themeMode$ = new ReplaySubject(1);\n\n readonly header$ = this.globalConfig.getOption('header');\n readonly homeUrl$ = this.globalConfig.getOption('homeUrl');\n readonly logoTooltip$ = this.globalConfig.getOption('logoTooltip');\n readonly loginDisabled$ = this.globalConfig.getOption('loginDisabled');\n\n /**\n * Creates an instance of app component.\n *\n * @param data The data state.\n */\n constructor(\n el: ElementRef, injector: Injector,\n readonly data: DataState, readonly theming: ThemingService,\n readonly scene: SceneState, readonly listResultsState: ListResultsState,\n readonly consentService: ConsentService, readonly snackbar: MatSnackBar, overlay: AppRootOverlayContainer,\n readonly dataSource: DataSourceService, private readonly globalConfig: GlobalConfigState, cdr: ChangeDetectorRef\n ) {\n theming.initialize(el, injector);\n overlay.setRootElement(el);\n data.tissueBlockData$.subscribe();\n data.aggregateData$.subscribe();\n data.ontologyTermOccurencesData$.subscribe();\n data.cellTypeTermOccurencesData$.subscribe();\n data.sceneData$.subscribe();\n data.filter$.subscribe();\n data.technologyFilterData$.subscribe();\n data.providerFilterData$.subscribe();\n this.ontologyTerms$ = data.filter$.pipe(pluck('ontologyTerms'));\n this.cellTypeTerms$ = data.filter$.pipe(pluck('cellTypeTerms'));\n\n combineLatest([this.theme$, this.themeMode$]).subscribe(\n ([theme, mode]) => {\n this.theming.setTheme(`${theme}-theme-${mode}`);\n cdr.markForCheck();\n }\n );\n }\n\n ngOnInit(): void {\n const snackBar = this.snackbar.openFromComponent(TrackingPopupComponent, {\n data: {\n preClose: () => {\n snackBar.dismiss();\n }\n },\n duration: this.consentService.consent === 'not-set' ? Infinity : 3000\n });\n\n if (window.matchMedia) {\n // Sets initial theme according to user theme preference\n if (window.matchMedia('(prefers-color-scheme: dark)').matches) {\n this.themeMode$.next('dark');\n } else {\n this.themeMode$.next('light');\n }\n\n // Listens for changes in user theme preference\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', e => {\n this.themeMode$.next(e.matches ? 'dark' : 'light');\n });\n } else {\n this.themeMode$.next('light');\n }\n }\n\n /**\n * Resets the drawers and filter components to their default state.\n *\n * @param left The left drawer component gets passed in so we can call it's methods to control it's state\n * @param right The right drawer component gets passed in so we can call it's methods to control it's state\n * @param filterbox The filter's popover component gets passed in so we can control it's popover's state\n */\n reset(\n left: DrawerComponent,\n right: DrawerComponent,\n filterbox: FiltersPopoverComponent\n ): void {\n left.open();\n left.closeExpanded();\n right.open();\n right.closeExpanded();\n filterbox.removeBox();\n this.resetView();\n }\n\n resetView(): void {\n this.bodyUI.target = [0, 0, 0];\n this.bodyUI.rotation = 0;\n this.bodyUI.rotationX = 0;\n this.bodyUI.bounds = { x: 2.2, y: 2, z: 0.4 };\n }\n\n /**\n * Toggles scheme between light and dark mode\n */\n toggleScheme(): void {\n this.themeMode$.next(this.isLightTheme ? 'dark' : 'light');\n }\n\n /**\n * Captures changes in the ontologySelection and uses them to update the results-browser label\n * and the filter object in the data store.\n *\n * @param ontologySelection the list of currently selected organ nodes\n */\n ontologySelected(ontologySelection: OntologySelection[] | undefined, type: 'anatomical-structures' | 'cell-type'): void {\n if (ontologySelection) {\n if (type === 'anatomical-structures') {\n this.data.updateFilter({ ontologyTerms: ontologySelection.map(selection => selection.id) });\n this.ontologySelectionLabel = this.createSelectionLabel(ontologySelection);\n } else {\n this.data.updateFilter({ cellTypeTerms: ontologySelection.map(selection => selection.id) });\n this.cellTypeSelectionLabel = this.createSelectionLabel(ontologySelection);\n }\n if (this.ontologySelectionLabel && this.cellTypeSelectionLabel) {\n this.selectionLabel = `${this.ontologySelectionLabel} | ${this.cellTypeSelectionLabel}`;\n } else if (this.ontologySelectionLabel) {\n this.selectionLabel = `${this.ontologySelectionLabel}`;\n } else if (this.cellTypeSelectionLabel) {\n this.selectionLabel = `${this.cellTypeSelectionLabel}`;\n } else {\n this.selectionLabel = '';\n }\n if (ontologySelection[0] && ontologySelection[0].label === 'body') {\n this.resetView();\n }\n return;\n }\n\n this.data.updateFilter({ ontologyTerms: [], cellTypeTerms: [] });\n this.ontologySelectionLabel = '';\n this.cellTypeSelectionLabel = '';\n }\n\n /**\n * Creates selection label for the results-browser to display based on an\n * array of selected ontology nodes.\n */\n createSelectionLabel(ontolgySelection: OntologySelection[]): string {\n if (ontolgySelection.length === 0) {\n return '';\n }\n\n if (ontolgySelection.length === 1) {\n return ontolgySelection[0].label;\n }\n\n let selectionString = '';\n ontolgySelection.forEach((selection, index) => {\n selectionString += selection.label;\n\n // Don't add a comma if it's the last item in the array.\n if (index url?.startsWith(domain));\n if (isWhitelisted) {\n this.url = url;\n this.viewerOpen = !!url;\n } else {\n // Open link in new tab\n window.open(url, '_blank');\n this.closeiFrameViewer();\n }\n }\n\n /**\n * Function to easily close the iFrame viewer.\n */\n closeiFrameViewer(): void {\n this.viewerOpen = false;\n }\n\n /**\n * Gets login token\n */\n get loggedIn(): boolean {\n const token = this.globalConfig.snapshot.hubmapToken ?? '';\n return token.length > 0;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AppRootOverlayContainer.html":{"url":"injectables/AppRootOverlayContainer.html","title":"injectable - AppRootOverlayContainer","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n AppRootOverlayContainer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/services/app-root-overlay/app-root-overlay.service.ts\n \n\n\n\n \n Extends\n \n \n OverlayContainer\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n attached\n \n \n Private\n rootElement\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n _createContainer\n \n \n Private\n appendToRoot\n \n \n setRootElement\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n _createContainer\n \n \n \n \n \n \n \n _createContainer()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/app-root-overlay/app-root-overlay.service.ts:27\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n appendToRoot\n \n \n \n \n \n \n \n appendToRoot()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/app-root-overlay/app-root-overlay.service.ts:32\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setRootElement\n \n \n \n \n \n \nsetRootElement(el: ElementRef)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/app-root-overlay/app-root-overlay.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n el\n \n ElementRef\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n attached\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/app-root-overlay/app-root-overlay.service.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n rootElement\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/app-root-overlay/app-root-overlay.service.ts:10\n \n \n\n\n \n \n\n\n \n\n\n \n import { OverlayContainer } from '@angular/cdk/overlay';\nimport { Injectable, ElementRef } from '@angular/core';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppRootOverlayContainer extends OverlayContainer {\n private rootElement: ElementRef;\n private attached = false;\n\n setRootElement(el: ElementRef): void {\n if (this.attached) {\n this.rootElement.nativeElement.removeChild(this._containerElement);\n this.attached = false;\n }\n\n this.rootElement = el;\n this.rootElement.nativeElement.style.display = 'block';\n this.rootElement.nativeElement.style.position = 'contents';\n this.rootElement.nativeElement.style.height = '100%';\n this.appendToRoot();\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n protected _createContainer(): void {\n super._createContainer();\n this.appendToRoot();\n }\n\n private appendToRoot(): void {\n if (!this._containerElement || !this.rootElement) {\n return;\n }\n\n this.rootElement.nativeElement.appendChild(this._containerElement);\n this.attached = true;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppWebComponent.html":{"url":"components/AppWebComponent.html","title":"component - AppWebComponent","body":"\n \n\n\n\n\n\n Components\n \n AppWebComponent\n\n\n\n \n Info\n \n \n Source\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/app-web-component.component.ts\n\n\n\n\n \n Extends\n \n \n BaseWebComponent\n \n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root-wc\n \n\n\n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n initialized\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n dataSources\n \n \n header\n \n \n homeUrl\n \n \n hubmapAssetUrl\n \n \n hubmapDataService\n \n \n hubmapDataUrl\n \n \n hubmapPortalUrl\n \n \n hubmapToken\n \n \n loginDisabled\n \n \n logoTooltip\n \n \n remoteApiEndpoint\n \n \n theme\n \n \n useRemoteApi\n \n \n \n \n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configStore: GlobalConfigState, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:47\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configStore\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n dataSources\n \n \n \n \n Type : string | string[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:31\n \n \n \n \n \n \n \n \n \n header\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:42\n \n \n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:43\n \n \n \n \n \n \n \n \n \n hubmapAssetUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:35\n \n \n \n \n \n \n \n \n \n hubmapDataService\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:33\n \n \n \n \n \n \n \n \n \n hubmapDataUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:34\n \n \n \n \n \n \n \n \n \n hubmapPortalUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:37\n \n \n \n \n \n \n \n \n \n hubmapToken\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:36\n \n \n \n \n \n \n \n \n \n loginDisabled\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:45\n \n \n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:44\n \n \n \n \n \n \n \n \n \n remoteApiEndpoint\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:40\n \n \n \n \n \n \n \n \n \n theme\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:41\n \n \n \n \n \n \n \n \n \n useRemoteApi\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:39\n \n \n \n \n\n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n initialized\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/app-web-component.component.ts:47\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { BaseWebComponent, BUILTIN_PARSERS, GenericGlobalConfig } from 'ccf-shared/web-components';\n\nimport { environment } from '../environments/environment';\n\n\nfunction parseDataSources(value: unknown): string[] {\n const isString = (val: unknown): val is string => typeof val === 'string';\n const isStringArray = (val: unknown): val is string[] => Array.isArray(val) && val.every(isString);\n\n if (typeof value === 'string') {\n const json = BUILTIN_PARSERS.json(value);\n if (isStringArray(json)) {\n return json;\n }\n } else if (isStringArray(value)) {\n return value;\n }\n\n throw new Error('Invalid data sources');\n}\n\n\n@Component({\n selector: 'ccf-root-wc',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppWebComponent extends BaseWebComponent {\n @Input() dataSources: string | string[];\n\n @Input() hubmapDataService: string;\n @Input() hubmapDataUrl: string;\n @Input() hubmapAssetUrl: string;\n @Input() hubmapToken: string;\n @Input() hubmapPortalUrl: string;\n\n @Input() useRemoteApi: string | boolean;\n @Input() remoteApiEndpoint: string;\n @Input() theme: string;\n @Input() header: string | boolean;\n @Input() homeUrl: string;\n @Input() logoTooltip: string;\n @Input() loginDisabled: boolean;\n\n initialized: boolean;\n\n constructor(\n configStore: GlobalConfigState,\n cdr: ChangeDetectorRef\n ) {\n super(configStore, cdr, {\n initialDelay: 10,\n\n initialConfig: {\n ...environment.dbOptions,\n ...globalThis['dbOptions'],\n ...environment.customization\n },\n parse: {\n dataSources: parseDataSources,\n useRemoteApi: BUILTIN_PARSERS.boolean,\n header: BUILTIN_PARSERS.boolean,\n loginDisabled: BUILTIN_PARSERS.boolean\n }\n });\n }\n}\n\n \n\n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppWebComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/CheckboxComponent.html":{"url":"components/CheckboxComponent.html","title":"component - CheckboxComponent","body":"\n \n\n\n\n\n\n Components\n \n CheckboxComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts\n\n\n\n \n Description\n \n \n Creates a labeled group of checkboxes and emits a current list of selections whenever a selection changes.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-checkbox\n \n\n \n styleUrls\n ./checkbox.component.scss\n \n\n\n\n \n templateUrl\n ./checkbox.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n filterOnChange\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n columns\n \n \n label\n \n \n options\n \n \n selection\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n selectionChange\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts:38\n \n \n\n \n \n Creates an instance of checkbox component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n columns\n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 3\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts:33\n \n \n \n \n Number of columns\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts:18\n \n \n \n \n The label that describes the overall question the checkbox is asking\n\n \n \n \n \n \n \n \n \n \n options\n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts:23\n \n \n \n \n Used to generate the individual checkboxes and their individual labels\n\n \n \n \n \n \n \n \n \n \n selection\n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts:28\n \n \n \n \n A list of the checkboxes the user has checked. To be updated any time a checkbox changes.\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n selectionChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts:38\n \n \n \n \n Any time a checkbox changes we emit that value so the parent component has that information\n\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n filterOnChange\n \n \n \n \n \n \nfilterOnChange(event: MatCheckboxChange, option: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts:53\n \n \n\n\n \n \n This method captures checkbox events and decides whether to add or remove a filter selection based on the checked property\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n MatCheckboxChange\n \n\n \n No\n \n\n\n \n Event object from the checkbox that contains the boolean property 'checked'\n\n \n \n \n option\n \n string\n \n\n \n No\n \n\n\n \n Tells us which option was checked or unchecked\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * Creates a labeled group of checkboxes and emits a current list of selections whenever a selection changes.\n */\n@Component({\n selector: 'ccf-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CheckboxComponent {\n /**\n * The label that describes the overall question the checkbox is asking\n */\n @Input() label: string;\n\n /**\n * Used to generate the individual checkboxes and their individual labels\n */\n @Input() options: string[];\n\n /**\n * A list of the checkboxes the user has checked. To be updated any time a checkbox changes.\n */\n @Input() selection: string[] = [];\n\n /**\n * Number of columns\n */\n @Input() columns = 3;\n\n /**\n * Any time a checkbox changes we emit that value so the parent component has that information\n */\n @Output() readonly selectionChange = new EventEmitter();\n\n /**\n * Creates an instance of checkbox component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * This method captures checkbox events and decides whether to add or remove a filter selection based on the checked property\n *\n * @param event Event object from the checkbox that contains the boolean property 'checked'\n * @param option Tells us which option was checked or unchecked\n */\n filterOnChange(event: MatCheckboxChange, option: string): void {\n const checked = event.checked;\n\n if (checked) {\n this.selection = [...this.selection, option];\n this.ga.event('filter_added', 'filter_checkbox', option);\n } else {\n this.selection = this.selection.filter(selection => selection !== option);\n this.ga.event('filter_removed', 'filter_checkbox', option);\n }\n\n this.selectionChange.emit(this.selection);\n }\n}\n\n \n\n \n \n {{ label }}\n\n \n \n \n {{ option }}\n \n \n \n\n\n \n\n \n \n ./checkbox.component.scss\n \n ::ng-deep .mat-checkbox.mat-accent {\n .mat-checkbox-checkmark-path {\n stroke: white !important;\n }\n\n .mat-checkbox-inner-container {\n margin-right: 1rem;\n }\n}\n\n.filter-label {\n margin-bottom: 0.5rem;\n font-weight: bold;\n}\n\n.options-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &.three {\n .option {\n width: 33%;\n }\n }\n\n &.four {\n .option {\n width: 25%;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ label }} {{ option }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'CheckboxComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CheckboxModule.html":{"url":"modules/CheckboxModule.html","title":"module - CheckboxModule","body":"\n \n\n\n\n\n Modules\n CheckboxModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_CheckboxModule\n\n\n\ncluster_CheckboxModule_exports\n\n\n\ncluster_CheckboxModule_declarations\n\n\n\n\nCheckboxComponent\n\nCheckboxComponent\n\n\n\nCheckboxModule\n\nCheckboxModule\n\nCheckboxModule -->\n\nCheckboxComponent->CheckboxModule\n\n\n\n\n\nCheckboxComponent \n\nCheckboxComponent \n\nCheckboxComponent -->\n\nCheckboxModule->CheckboxComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/checkbox/checkbox.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n CheckboxComponent\n \n \n \n \n Exports\n \n \n CheckboxComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\n\nimport { CheckboxComponent } from './checkbox.component';\n\n\n@NgModule({\n imports: [CommonModule, MatCheckboxModule],\n declarations: [CheckboxComponent],\n exports: [CheckboxComponent]\n})\nexport class CheckboxModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Color.html":{"url":"interfaces/Color.html","title":"interface - Color","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Color\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n color\n \n \n \n \n rank\n \n \n \n \n rgba\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rank\n \n \n \n \n \n \n \n \n rank: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n rgba\n \n \n \n \n \n \n \n \n rgba: [number, number, number, number]\n\n \n \n\n\n \n \n Type : [number, number, number, number]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings/immutability';\nimport { Injectable } from '@angular/core';\nimport { DataAction, Payload, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport hexRgb from 'hex-rgb';\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, pluck } from 'rxjs/operators';\n\n\nexport interface Color {\n color: string;\n rgba: [number, number, number, number];\n rank: number;\n}\n\nexport const DEFAULT_COLOR_PALETTE: Color[] = [\n '#FF8800',\n '#2979ff',\n '#ffd740',\n '#b92dff',\n '#da326f',\n '#7323e2',\n '#acf32b',\n '#82B1FF',\n '#E040FB',\n '#00E5FF'\n].map((color, rank) => {\n const rgba = hexRgb(color, { format: 'array' });\n rgba[3] = 255; // for Deck.gl\n return { color, rgba, rank };\n});\n\nexport interface ColorAssignmentStateModel {\n colorPalette: Color[];\n colorsAvailable: Color[];\n colorAssignments: Record;\n colorAssignmentsList: { color: Color; key: string }[];\n}\n\n/**\n * Color Assignment State\n */\n@StateRepository()\n@State({\n name: 'colors',\n defaults: {\n colorPalette: DEFAULT_COLOR_PALETTE.concat(),\n colorsAvailable: DEFAULT_COLOR_PALETTE.concat(),\n colorAssignments: {},\n colorAssignmentsList: []\n }\n})\n@Injectable()\nexport class ColorAssignmentState extends NgxsImmutableDataRepository {\n private readonly forcedUnassignment = new Subject();\n\n readonly forcedUnassignment$ = this.forcedUnassignment.asObservable();\n readonly colorAssignments$ = this.state$.pipe(pluck('colorAssignments'), distinctUntilChanged());\n readonly colorAssignmentsList$ = this.state$.pipe(pluck('colorAssignmentsList'), distinctUntilChanged());\n\n getColor(key: string): Immutable | undefined {\n const { colorAssignments } = this.snapshot;\n return colorAssignments[key];\n }\n\n @DataAction()\n assignColor(@Payload('key') key: string, @Payload('doReset') doReset = false): Immutable {\n let { colorAssignments, colorAssignmentsList, colorsAvailable } = this.snapshot;\n if (doReset) {\n colorsAvailable = this.snapshot.colorPalette.concat();\n colorAssignmentsList = [];\n colorAssignments = {};\n }\n let color = colorAssignments[key];\n if (!color) {\n if (colorsAvailable.length > 0) {\n color = colorsAvailable[0];\n } else {\n color = colorAssignmentsList[colorAssignmentsList.length - 1].color;\n colorAssignmentsList = colorAssignmentsList.slice(0, -1);\n this.forcedUnassignment.next();\n }\n colorsAvailable = colorsAvailable.filter(c => c.color !== color.color);\n colorAssignmentsList = [{ color, key }].concat(colorAssignmentsList);\n colorAssignments = colorAssignmentsList.reduce>>((acc, item, rank) => {\n acc[item.key] = { ...item.color, rank };\n return acc;\n }, {});\n\n this.ctx.patchState({\n colorsAvailable,\n colorAssignments,\n colorAssignmentsList\n });\n }\n return color;\n }\n\n @DataAction()\n unassignColor(@Payload('key') key: string): void {\n let { colorAssignments, colorAssignmentsList, colorsAvailable } = this.snapshot;\n const color = colorAssignments[key];\n if (color) {\n colorsAvailable = [color].concat(colorsAvailable);\n colorAssignmentsList = colorAssignmentsList.filter(a => a.color.color !== color.color);\n colorAssignments = colorAssignmentsList.reduce>>((acc, item, rank) => {\n acc[item.key] = { ...item.color, rank };\n return acc;\n }, {});\n\n this.ctx.patchState({\n colorsAvailable,\n colorAssignments,\n colorAssignmentsList\n });\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColorAssignmentState.html":{"url":"injectables/ColorAssignmentState.html","title":"injectable - ColorAssignmentState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ColorAssignmentState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts\n \n\n\n \n Description\n \n \n Color Assignment State\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n colorAssignments$\n \n \n Readonly\n colorAssignmentsList$\n \n \n Private\n Readonly\n forcedUnassignment\n \n \n Readonly\n forcedUnassignment$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n assignColor\n \n \n getColor\n \n \n unassignColor\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n assignColor\n \n \n \n \n \n \nassignColor(key: string, doReset)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n doReset\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n \n \n Returns : Immutable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getColor\n \n \n \n \n \n \ngetColor(key: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Immutable | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n unassignColor\n \n \n \n \n \n \nunassignColor(key: string)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n colorAssignments$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('colorAssignments'), distinctUntilChanged())\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n colorAssignmentsList$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('colorAssignmentsList'), distinctUntilChanged())\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n forcedUnassignment\n \n \n \n \n \n \n Default value : new Subject()\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n forcedUnassignment$\n \n \n \n \n \n \n Default value : this.forcedUnassignment.asObservable()\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts:59\n \n \n\n\n \n \n\n\n \n\n\n \n import { Immutable } from '@angular-ru/common/typings/immutability';\nimport { Injectable } from '@angular/core';\nimport { DataAction, Payload, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport hexRgb from 'hex-rgb';\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, pluck } from 'rxjs/operators';\n\n\nexport interface Color {\n color: string;\n rgba: [number, number, number, number];\n rank: number;\n}\n\nexport const DEFAULT_COLOR_PALETTE: Color[] = [\n '#FF8800',\n '#2979ff',\n '#ffd740',\n '#b92dff',\n '#da326f',\n '#7323e2',\n '#acf32b',\n '#82B1FF',\n '#E040FB',\n '#00E5FF'\n].map((color, rank) => {\n const rgba = hexRgb(color, { format: 'array' });\n rgba[3] = 255; // for Deck.gl\n return { color, rgba, rank };\n});\n\nexport interface ColorAssignmentStateModel {\n colorPalette: Color[];\n colorsAvailable: Color[];\n colorAssignments: Record;\n colorAssignmentsList: { color: Color; key: string }[];\n}\n\n/**\n * Color Assignment State\n */\n@StateRepository()\n@State({\n name: 'colors',\n defaults: {\n colorPalette: DEFAULT_COLOR_PALETTE.concat(),\n colorsAvailable: DEFAULT_COLOR_PALETTE.concat(),\n colorAssignments: {},\n colorAssignmentsList: []\n }\n})\n@Injectable()\nexport class ColorAssignmentState extends NgxsImmutableDataRepository {\n private readonly forcedUnassignment = new Subject();\n\n readonly forcedUnassignment$ = this.forcedUnassignment.asObservable();\n readonly colorAssignments$ = this.state$.pipe(pluck('colorAssignments'), distinctUntilChanged());\n readonly colorAssignmentsList$ = this.state$.pipe(pluck('colorAssignmentsList'), distinctUntilChanged());\n\n getColor(key: string): Immutable | undefined {\n const { colorAssignments } = this.snapshot;\n return colorAssignments[key];\n }\n\n @DataAction()\n assignColor(@Payload('key') key: string, @Payload('doReset') doReset = false): Immutable {\n let { colorAssignments, colorAssignmentsList, colorsAvailable } = this.snapshot;\n if (doReset) {\n colorsAvailable = this.snapshot.colorPalette.concat();\n colorAssignmentsList = [];\n colorAssignments = {};\n }\n let color = colorAssignments[key];\n if (!color) {\n if (colorsAvailable.length > 0) {\n color = colorsAvailable[0];\n } else {\n color = colorAssignmentsList[colorAssignmentsList.length - 1].color;\n colorAssignmentsList = colorAssignmentsList.slice(0, -1);\n this.forcedUnassignment.next();\n }\n colorsAvailable = colorsAvailable.filter(c => c.color !== color.color);\n colorAssignmentsList = [{ color, key }].concat(colorAssignmentsList);\n colorAssignments = colorAssignmentsList.reduce>>((acc, item, rank) => {\n acc[item.key] = { ...item.color, rank };\n return acc;\n }, {});\n\n this.ctx.patchState({\n colorsAvailable,\n colorAssignments,\n colorAssignmentsList\n });\n }\n return color;\n }\n\n @DataAction()\n unassignColor(@Payload('key') key: string): void {\n let { colorAssignments, colorAssignmentsList, colorsAvailable } = this.snapshot;\n const color = colorAssignments[key];\n if (color) {\n colorsAvailable = [color].concat(colorsAvailable);\n colorAssignmentsList = colorAssignmentsList.filter(a => a.color.color !== color.color);\n colorAssignments = colorAssignmentsList.reduce>>((acc, item, rank) => {\n acc[item.key] = { ...item.color, rank };\n return acc;\n }, {});\n\n this.ctx.patchState({\n colorsAvailable,\n colorAssignments,\n colorAssignmentsList\n });\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ColorAssignmentStateModel.html":{"url":"interfaces/ColorAssignmentStateModel.html","title":"interface - ColorAssignmentStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ColorAssignmentStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n colorAssignments\n \n \n \n \n colorAssignmentsList\n \n \n \n \n colorPalette\n \n \n \n \n colorsAvailable\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n colorAssignments\n \n \n \n \n \n \n \n \n colorAssignments: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n colorAssignmentsList\n \n \n \n \n \n \n \n \n colorAssignmentsList: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n colorPalette\n \n \n \n \n \n \n \n \n colorPalette: Color[]\n\n \n \n\n\n \n \n Type : Color[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n colorsAvailable\n \n \n \n \n \n \n \n \n colorsAvailable: Color[]\n\n \n \n\n\n \n \n Type : Color[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings/immutability';\nimport { Injectable } from '@angular/core';\nimport { DataAction, Payload, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport hexRgb from 'hex-rgb';\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, pluck } from 'rxjs/operators';\n\n\nexport interface Color {\n color: string;\n rgba: [number, number, number, number];\n rank: number;\n}\n\nexport const DEFAULT_COLOR_PALETTE: Color[] = [\n '#FF8800',\n '#2979ff',\n '#ffd740',\n '#b92dff',\n '#da326f',\n '#7323e2',\n '#acf32b',\n '#82B1FF',\n '#E040FB',\n '#00E5FF'\n].map((color, rank) => {\n const rgba = hexRgb(color, { format: 'array' });\n rgba[3] = 255; // for Deck.gl\n return { color, rgba, rank };\n});\n\nexport interface ColorAssignmentStateModel {\n colorPalette: Color[];\n colorsAvailable: Color[];\n colorAssignments: Record;\n colorAssignmentsList: { color: Color; key: string }[];\n}\n\n/**\n * Color Assignment State\n */\n@StateRepository()\n@State({\n name: 'colors',\n defaults: {\n colorPalette: DEFAULT_COLOR_PALETTE.concat(),\n colorsAvailable: DEFAULT_COLOR_PALETTE.concat(),\n colorAssignments: {},\n colorAssignmentsList: []\n }\n})\n@Injectable()\nexport class ColorAssignmentState extends NgxsImmutableDataRepository {\n private readonly forcedUnassignment = new Subject();\n\n readonly forcedUnassignment$ = this.forcedUnassignment.asObservable();\n readonly colorAssignments$ = this.state$.pipe(pluck('colorAssignments'), distinctUntilChanged());\n readonly colorAssignmentsList$ = this.state$.pipe(pluck('colorAssignmentsList'), distinctUntilChanged());\n\n getColor(key: string): Immutable | undefined {\n const { colorAssignments } = this.snapshot;\n return colorAssignments[key];\n }\n\n @DataAction()\n assignColor(@Payload('key') key: string, @Payload('doReset') doReset = false): Immutable {\n let { colorAssignments, colorAssignmentsList, colorsAvailable } = this.snapshot;\n if (doReset) {\n colorsAvailable = this.snapshot.colorPalette.concat();\n colorAssignmentsList = [];\n colorAssignments = {};\n }\n let color = colorAssignments[key];\n if (!color) {\n if (colorsAvailable.length > 0) {\n color = colorsAvailable[0];\n } else {\n color = colorAssignmentsList[colorAssignmentsList.length - 1].color;\n colorAssignmentsList = colorAssignmentsList.slice(0, -1);\n this.forcedUnassignment.next();\n }\n colorsAvailable = colorsAvailable.filter(c => c.color !== color.color);\n colorAssignmentsList = [{ color, key }].concat(colorAssignmentsList);\n colorAssignments = colorAssignmentsList.reduce>>((acc, item, rank) => {\n acc[item.key] = { ...item.color, rank };\n return acc;\n }, {});\n\n this.ctx.patchState({\n colorsAvailable,\n colorAssignments,\n colorAssignmentsList\n });\n }\n return color;\n }\n\n @DataAction()\n unassignColor(@Payload('key') key: string): void {\n let { colorAssignments, colorAssignmentsList, colorsAvailable } = this.snapshot;\n const color = colorAssignments[key];\n if (color) {\n colorsAvailable = [color].concat(colorsAvailable);\n colorAssignmentsList = colorAssignmentsList.filter(a => a.color.color !== color.color);\n colorAssignments = colorAssignmentsList.reduce>>((acc, item, rank) => {\n acc[item.key] = { ...item.color, rank };\n return acc;\n }, {});\n\n this.ctx.patchState({\n colorsAvailable,\n colorAssignments,\n colorAssignmentsList\n });\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ContainerComponent.html":{"url":"components/ContainerComponent.html","title":"component - ContainerComponent","body":"\n \n\n\n\n\n\n Components\n \n ContainerComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts\n\n\n\n \n Description\n \n \n Main container for drawer components.\n\n \n\n\n \n Implements\n \n \n AfterViewInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n \n exportAs\n ccfDrawerContainer\n \n\n\n\n\n\n \n providers\n \n MessageService\n \n \n\n\n \n selector\n ccf-drawer-container\n \n\n \n styleUrls\n ./container.component.scss\n \n\n\n\n \n templateUrl\n ./container.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n channel\n \n \n Readonly\n className\n \n \n Private\n content1\n \n \n Private\n content2\n \n \n Private\n drawers\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n handleMessage\n \n \n ngAfterViewInit\n \n \n ngOnDestroy\n \n \n Private\n validateDrawers\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n content\n \n \n hasWrappedContent\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:62\n \n \n\n \n \n Creates an instance of container component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n The service used to send event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-container\"\n\n \n \n \n \n Default value : 'ccf-drawer-container'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:37\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n handleMessage\n \n \n \n \n \n \n \n handleMessage(_msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:115\n \n \n\n\n \n \n Processes event messages.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to be run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngAfterViewInit\n \n \n \n \n \n \nngAfterViewInit()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:83\n \n \n\n\n \n \n Sets up all listeners after all content has been projected.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:105\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n validateDrawers\n \n \n \n \n \n \n \n validateDrawers()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:124\n \n \n\n\n \n \n Validates the number of drawers and their positions.\n\n\n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n channel\n \n \n \n \n \n \n Type : MessageChannel\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:60\n \n \n\n \n \n The connected message channel.\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-container'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:37\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n content1\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ContentChildren(ContentComponent, {descendants: true})\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:45\n \n \n\n \n \n Content component if provided already wrapped.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n content2\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ViewChildren(ContentComponent)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:48\n \n \n\n \n \n Content component if provided without wrapping.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n drawers\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ContentChildren(DrawerComponent, {descendants: true})\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:41\n \n \n\n \n \n Drawer components in this container.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:62\n \n \n\n \n \n All subscriptions managed by the container.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n content\n \n \n\n \n \n getcontent()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:50\n \n \n \n \n Resolves the content component.\n\n\n \n Returns : ContentComponent\n\n \n \n \n\n \n \n \n \n \n \n \n hasWrappedContent\n \n \n\n \n \n gethasWrappedContent()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts:55\n \n \n \n \n Whether the content was wrapped.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import {\n AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, HostBinding, OnDestroy, QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\n\nimport { ContentComponent } from '../content/content.component';\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageChannel, MessageService } from '../messages';\n\n\n/**\n * Helper function for creating drawer errors.\n *\n * @param position The position of the drawer.\n * @throws {Error} Error with useful message is always thrown.\n */\nfunction throwDuplicateDrawersError(position: 'start' | 'end'): never {\n throw new Error(`Multiple drawers in position ${position}`);\n}\n\n\n/**\n * Main container for drawer components.\n */\n@Component({\n selector: 'ccf-drawer-container',\n exportAs: 'ccfDrawerContainer',\n templateUrl: './container.component.html',\n styleUrls: ['./container.component.scss'],\n providers: [MessageService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContainerComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-container';\n\n /** Drawer components in this container. */\n @ContentChildren(DrawerComponent, { descendants: true })\n private drawers: QueryList;\n\n /** Content component if provided already wrapped. */\n @ContentChildren(ContentComponent, { descendants: true })\n private content1: QueryList;\n /** Content component if provided without wrapping. */\n @ViewChildren(ContentComponent)\n private content2: QueryList;\n /** Resolves the content component. */\n private get content(): ContentComponent {\n return this.content1.first ?? this.content2.first;\n }\n\n /** Whether the content was wrapped. */\n get hasWrappedContent(): boolean {\n return this.content1.length !== 0;\n }\n\n /** The connected message channel. */\n private channel: MessageChannel;\n /** All subscriptions managed by the container. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of container component.\n *\n * @param messageService The service used to send event messages.\n * @param cdr The change detector reference.\n */\n constructor(messageService: MessageService,\n private cdr: ChangeDetectorRef) {\n this.channel = messageService.connect(this);\n this.subscriptions.add(this.channel.getMessages().subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Sets up all listeners after all content has been projected.\n */\n ngAfterViewInit(): void {\n this.drawers.changes.pipe(startWith(null)).subscribe(() => {\n const drawers = this.validateDrawers();\n this.channel.sendMessage({\n type: 'drawer-containers-changed',\n drawers\n });\n this.cdr.markForCheck();\n });\n\n this.content1.changes.pipe(startWith(null)).subscribe(() => {\n this.channel.sendMessage({\n type: 'content-container-changed',\n content: this.content\n });\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Processes event messages.\n *\n * @param _msg The event.\n * @returns true if change detection needs to be run.\n */\n private handleMessage(_msg: Message): boolean {\n return true;\n }\n\n /**\n * Validates the number of drawers and their positions.\n *\n * @returns A tuple containing the start and end drawers.\n */\n private validateDrawers(): [DrawerComponent | undefined, DrawerComponent | undefined] {\n const drawers = this.drawers.toArray();\n const startDrawers = drawers.filter(drawer => drawer.position === 'start');\n const endDrawers = drawers.filter(drawer => drawer.position === 'end');\n\n if (startDrawers.length > 1) {\n throwDuplicateDrawersError('start');\n }\n if (endDrawers.length > 1) {\n throwDuplicateDrawersError('end');\n }\n\n return [startDrawers[0], endDrawers[0]];\n }\n}\n\n \n\n \n \n\n\n\n \n\n\n \n\n \n \n ./container.component.scss\n \n :host {\n display: block;\n position: relative;\n z-index: 1;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ContainerComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ContentComponent.html":{"url":"components/ContentComponent.html","title":"component - ContentComponent","body":"\n \n\n\n\n\n\n Components\n \n ContentComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts\n\n\n\n \n Description\n \n \n Component wrapping and providing animations for center content.\n\n \n\n\n \n Implements\n \n \n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-drawer-content\n \n\n \n styleUrls\n ./content.component.scss\n \n\n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n animationsEnabled\n \n \n Readonly\n className\n \n \n Private\n drawers\n \n \n faded\n \n \n leftMargin\n \n \n rightMargin\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n handleMessage\n \n \n ngOnDestroy\n \n \n Private\n updateFaded\n \n \n Private\n updateMargin\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n @fadeInOut\n \n \n class\n \n \n class.cff-drawer-content-animations\n \n \n style.margin-left.px\n \n \n style.margin-right.px\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:41\n \n \n\n \n \n Creates an instance of content component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n Service used to send and receive event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n @fadeInOut\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:36\n \n \n\n \n \n Whether the content is invisible.\n\n \n \n\n \n \n \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-content\"\n\n \n \n \n \n Default value : 'ccf-drawer-content'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:28\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n class.cff-drawer-content-animations\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:30\n \n \n\n \n \n Whether animations are enabled.\n\n \n \n\n \n \n \n \n \n \n \n \n style.margin-left.px\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:32\n \n \n\n \n \n Left margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n style.margin-right.px\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:34\n \n \n\n \n \n Right margin size.\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n handleMessage\n \n \n \n \n \n \n \n handleMessage(msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:70\n \n \n\n\n \n \n Process an event message.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:60\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n updateFaded\n \n \n \n \n \n \n \n updateFaded()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:116\n \n \n\n\n \n \n Checks and updates the faded state based on the drawer states.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n updateMargin\n \n \n \n \n \n \n \n updateMargin(position: \"start\" | \"end\", opened: boolean, width: number, margin: number)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:103\n \n \n\n\n \n \n Updates a margin.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n position\n \n \"start\" | \"end\"\n \n\n \n No\n \n\n\n \n Start (left) or end (right) margin.\n\n \n \n \n opened\n \n boolean\n \n\n \n No\n \n\n\n \n Whether the drawer is opened.\n\n \n \n \n width\n \n number\n \n\n \n No\n \n\n\n \n The width of the drawer if opened.\n\n \n \n \n margin\n \n number\n \n\n \n No\n \n\n\n \n The margin size.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n animationsEnabled\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @HostBinding('class.cff-drawer-content-animations')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:30\n \n \n\n \n \n Whether animations are enabled.\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-content'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:28\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n drawers\n \n \n \n \n \n \n Type : DrawerComponent[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:39\n \n \n\n \n \n References to the side drawers.\n\n \n \n\n \n \n \n \n \n \n \n \n faded\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @HostBinding('@fadeInOut')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:36\n \n \n\n \n \n Whether the content is invisible.\n\n \n \n\n \n \n \n \n \n \n \n \n leftMargin\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @HostBinding('style.margin-left.px')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:32\n \n \n\n \n \n Left margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n rightMargin\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @HostBinding('style.margin-right.px')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:34\n \n \n\n \n \n Right margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts:41\n \n \n\n \n \n Subscriptions managed by this component.\n\n \n \n\n \n \n\n\n\n\n\n \n import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageService } from '../messages';\n\n\n/**\n * Component wrapping and providing animations for center content.\n */\n@Component({\n selector: 'ccf-drawer-content',\n template: '',\n styleUrls: ['./content.component.scss'],\n animations: [\n trigger('fadeInOut', [\n state('false', style({ opacity: 1 })),\n state('true', style({ opacity: 0 })),\n\n transition('false true', animate('1s'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentComponent implements OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-content';\n /** Whether animations are enabled. */\n @HostBinding('class.cff-drawer-content-animations') animationsEnabled = false;\n /** Left margin size. */\n @HostBinding('style.margin-left.px') leftMargin = 0;\n /** Right margin size. */\n @HostBinding('style.margin-right.px') rightMargin = 0;\n /** Whether the content is invisible. */\n @HostBinding('@fadeInOut') faded = false;\n\n /** References to the side drawers. */\n private drawers: DrawerComponent[] = [];\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of content component.\n *\n * @param messageService Service used to send and receive event messages.\n * @param cdr The change detector reference.\n */\n constructor(messageService: MessageService,\n cdr: ChangeDetectorRef) {\n const messages = messageService.connect(this).getMessages();\n this.subscriptions.add(messages.subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /** Cleans up all subscriptions. */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Process an event message.\n *\n * @param msg The event.\n * @returns true if change detection needs to run.\n */\n private handleMessage(msg: Message): boolean {\n switch (msg.payload.type) {\n case 'drawer-containers-changed':\n this.drawers = msg.payload.drawers as DrawerComponent[];\n this.updateFaded();\n return true;\n\n case 'drawer-initialized':\n this.animationsEnabled = true;\n return true;\n\n case 'drawer-toggled': {\n const position = (msg.source as DrawerComponent).position;\n const { opened, width, margin } = msg.payload;\n\n this.updateMargin(position, opened, width, margin);\n this.updateFaded();\n return true;\n }\n\n default:\n return false;\n }\n }\n\n /**\n * Updates a margin.\n *\n * @param position Start (left) or end (right) margin.\n * @param opened Whether the drawer is opened.\n * @param width The width of the drawer if opened.\n * @param margin The margin size.\n */\n private updateMargin(position: 'start' | 'end', opened: boolean,\n width: number, margin: number): void {\n const offset = opened ? width + margin : margin;\n if (position === 'start') {\n this.leftMargin = offset;\n } else {\n this.rightMargin = offset;\n }\n }\n\n /**\n * Checks and updates the faded state based on the drawer states.\n */\n private updateFaded(): void {\n const [start, end] = this.drawers;\n const startExpanded = start?.opened && start?.expanded;\n const endExpanded = end?.opened && end?.expanded;\n this.faded = startExpanded || endExpanded;\n }\n}\n\n \n\n\n \n \n ./content.component.scss\n \n :host {\n display: block;\n height: calc(100% - 5.5rem);\n z-index: 2;\n overflow: auto;\n\n &.cff-drawer-content-animations {\n transition: {\n duration: .5s;\n timing-function: ease-in-out;\n property: margin-left, margin-right;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ContentComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ContentContainerChanged.html":{"url":"interfaces/ContentContainerChanged.html","title":"interface - ContentContainerChanged","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ContentContainerChanged\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when the content component changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: \n\n \n \n\n\n\n\n\n\n\n \n \n A reference to the new content component.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CoreModule.html":{"url":"modules/CoreModule.html","title":"module - CoreModule","body":"\n \n\n\n\n\n Modules\n CoreModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\ncluster_CoreModule_exports\n\n\n\n\nHeaderModule\n\nHeaderModule\n\n\n\nCoreModule\n\nCoreModule\n\nCoreModule -->\n\nHeaderModule->CoreModule\n\n\n\n\n\nStoreModule\n\nStoreModule\n\nCoreModule -->\n\nStoreModule->CoreModule\n\n\n\n\n\nThemingModule\n\nThemingModule\n\nCoreModule -->\n\nThemingModule->CoreModule\n\n\n\n\n\nHeaderModule \n\nHeaderModule \n\nHeaderModule -->\n\nCoreModule->HeaderModule \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/core/core.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n HeaderModule\n \n \n StoreModule\n \n \n ThemingModule\n \n \n \n \n Exports\n \n \n HeaderModule\n \n \n \n \n \n\n\n \n\n\n \n import { HttpClientModule } from '@angular/common/http';\nimport { NgModule, Optional, SkipSelf } from '@angular/core';\nimport { DataSourceService, MousePositionTrackerModule } from 'ccf-shared';\nimport { AnalyticsModule } from 'ccf-shared/analytics';\nimport { CcfApiConfiguration, CcfApiModule } from 'ccf-openapi/angular-client';\n\nimport { environment } from '../../environments/environment';\nimport { HeaderModule } from './header/header.module';\nimport { DelegateDataSourceService } from './services/data-source/data-source.service';\nimport { ThemingModule } from './services/theming/theming.module';\nimport { StoreModule } from './store/store.module';\n\n\n@NgModule({\n imports: [\n HttpClientModule,\n\n AnalyticsModule.forRoot({\n gaToken: environment.googleAnalyticsToken,\n appName: 'eui'\n }),\n MousePositionTrackerModule,\n\n CcfApiModule.forRoot(() => new CcfApiConfiguration({\n basePath: environment.dbOptions.remoteApiEndpoint\n })),\n\n HeaderModule,\n StoreModule,\n ThemingModule\n ],\n providers: [\n { provide: DataSourceService, useExisting: DelegateDataSourceService }\n ],\n exports: [HeaderModule]\n})\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() core: CoreModule) {\n if (core) {\n throw new Error('The core module should only be imported once in the root module');\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DataStateModel.html":{"url":"interfaces/DataStateModel.html","title":"interface - DataStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DataStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n\n\n \n Description\n \n \n Store data state.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n anatomicalStructuresTreeModel\n \n \n \n Optional\n \n cellTypesTreeModel\n \n \n \n \n filter\n \n \n \n \n status\n \n \n \n \n statusMessage\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n anatomicalStructuresTreeModel\n \n \n \n \n \n \n \n \n anatomicalStructuresTreeModel: OntologyTreeModel\n\n \n \n\n\n \n \n Type : OntologyTreeModel\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n cellTypesTreeModel\n \n \n \n \n \n \n \n \n cellTypesTreeModel: OntologyTreeModel\n\n \n \n\n\n \n \n Type : OntologyTreeModel\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n filter\n \n \n \n \n \n \n \n \n filter: Filter\n\n \n \n\n\n \n \n Type : Filter\n\n \n \n\n\n\n\n\n \n \n Current filter.\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: \"Loading\" | \"Ready\" | \"Error\"\n\n \n \n\n\n \n \n Type : \"Loading\" | \"Ready\" | \"Error\"\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n statusMessage\n \n \n \n \n \n \n \n \n statusMessage: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { DataAction, Payload, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataRepository } from '@ngxs-labs/data/repositories';\nimport { Action, NgxsOnInit, Selector, State } from '@ngxs/store';\nimport { bind } from 'bind-decorator';\nimport { AggregateResult, DatabaseStatus, Filter, OntologyTreeModel, SpatialSceneNode, TissueBlockResult } from 'ccf-database';\nimport { DataSourceService } from 'ccf-shared';\nimport { combineLatest, defer, ObservableInput, ObservedValueOf, OperatorFunction, ReplaySubject, Subject } from 'rxjs';\nimport { delay, distinct, filter as rxjsFilter, map, pluck, publishReplay, refCount, repeat, switchMap, take, takeWhile, tap } from 'rxjs/operators';\nimport { UpdateFilter } from './data.actions';\n\n\n/** Default values for filters. */\nexport const DEFAULT_FILTER: Filter = {\n sex: 'Both',\n ageRange: [1, 110],\n bmiRange: [13, 83],\n tmc: [],\n technologies: [],\n ontologyTerms: ['http://purl.obolibrary.org/obo/UBERON_0013702'],\n cellTypeTerms: ['http://purl.obolibrary.org/obo/CL_0000000'],\n spatialSearches: []\n};\n\n/** Current state of data queries. */\n// eslint-disable-next-line no-shadow\nexport enum DataQueryState {\n /** One or more queries are running. */\n Running = 'running',\n /** All queries have completed. */\n Completed = 'completed'\n}\n\n/**\n * Helper for testing that all states in an array are `DataQueryState.Completed`.\n *\n * @param states The array of states to test.\n * @returns true if all values in the array is `Completed`.\n */\nfunction allCompleted(states: DataQueryState[]): boolean {\n return states.every(state => state === DataQueryState.Completed);\n}\n\n/**\n * Helper creating a function that sends a `DataQueryState.Completed` to\n * a subject whenever it is called.\n *\n * @param subject The subject to send completed messagess to.\n * @returns The function.\n */\nfunction sendCompletedTo(subject: Subject): () => void {\n return () => subject.next(DataQueryState.Completed);\n}\n\n/**\n * Helper operator that combines querying with sharing and replay functionality.\n *\n * @param query The data query function.\n * @param [next] An optional listener on the values emitted by the latest query.\n * @returns The combined pipe operator function.\n */\nfunction queryData>(\n query: (value: T, index: number) => O,\n next?: (value: ObservedValueOf) => void\n): OperatorFunction> {\n return source => source.pipe(\n switchMap(query),\n tap(next),\n publishReplay(1),\n refCount()\n );\n}\n\n/** Store data state. */\nexport interface DataStateModel {\n /** Current filter. */\n filter: Filter;\n status: 'Loading' | 'Ready' | 'Error';\n statusMessage: string;\n anatomicalStructuresTreeModel?: OntologyTreeModel;\n cellTypesTreeModel?: OntologyTreeModel;\n}\n\n/**\n * Data state repository and service.\n */\n@StateRepository()\n@State({\n name: 'data',\n defaults: {\n filter: DEFAULT_FILTER,\n status: 'Loading',\n statusMessage: 'Loading database'\n }\n})\n@Injectable()\nexport class DataState extends NgxsDataRepository implements NgxsOnInit {\n /** Emits when the database is ready. */\n readonly databaseReady$ = this.state$.pipe(pluck('status'), distinct(), rxjsFilter((status) => status === 'Ready'));\n\n /** Implementation subject for tissueBlockDataQueryStatus$. */\n private readonly _tissueBlockDataQueryStatus$ = new ReplaySubject(1);\n /** Implementation subject for aggregateDataQueryStatus$. */\n private readonly _aggregateDataQueryStatus$ = new ReplaySubject(1);\n /** Implementation subject for ontologyTermOccurencesDataQueryStatus$. */\n private readonly _ontologyTermOccurencesDataQueryStatus$ = new ReplaySubject(1);\n /** Implementation subject for cellTypeTermOccurencesDataQueryStatus$. */\n private readonly _cellTypeTermOccurencesDataQueryStatus$ = new ReplaySubject(1);\n /** Implementation subject for sceneDataQueryStatus$. */\n private readonly _sceneDataQueryStatus$ = new ReplaySubject(1);\n /** Implementation subject for technologyFilterQueryStatus$. */\n private readonly _technologyFilterQueryStatus$ = new ReplaySubject(1);\n /** Implementation subject for providerFilterQueryStatus$. */\n private readonly _providerFilterQueryStatus$ = new ReplaySubject(1);\n /** Keeping track of all ontology terms there is data for. */\n readonly ontologyTermsFullData$ = new ReplaySubject>(1);\n /** Keeping track of all cell type terms there is data for. */\n readonly cellTypeTermsFullData$ = new ReplaySubject>(1);\n\n /** Current filter. */\n readonly filter$ = this.state$.pipe(pluck('filter'));\n /** Latest tissue block query data. */\n readonly tissueBlockData$ = this.filter$.pipe(queryData(\n this.tissueBlockData, sendCompletedTo(this._tissueBlockDataQueryStatus$)\n ));\n /** Latest aggregate query data. */\n readonly aggregateData$ = this.filter$.pipe(queryData(\n this.aggregateData, sendCompletedTo(this._aggregateDataQueryStatus$)\n ));\n /** Latest ontology term occurences query data. */\n readonly ontologyTermOccurencesData$ = this.filter$.pipe(queryData(\n this.ontologyTermOccurencesData, sendCompletedTo(this._ontologyTermOccurencesDataQueryStatus$)\n ));\n /** Latest cell type term occurences query data. */\n readonly cellTypeTermOccurencesData$ = this.filter$.pipe(queryData(\n this.cellTypeTermOccurencesData, sendCompletedTo(this._cellTypeTermOccurencesDataQueryStatus$)\n ));\n /** Latest scene query data. */\n readonly sceneData$ = this.filter$.pipe(queryData(\n this.sceneData, sendCompletedTo(this._sceneDataQueryStatus$)\n ));\n /** Latest technology filter label query data. */\n readonly technologyFilterData$ = this.filter$.pipe(queryData(\n this.technologyFilterData, sendCompletedTo(this._technologyFilterQueryStatus$)\n ));\n /** Latest provider filter label query data. */\n readonly providerFilterData$ = this.filter$.pipe(queryData(\n this.providerFilterData, sendCompletedTo(this._providerFilterQueryStatus$)\n ));\n\n /** Current status of queries in the tissueBlockData$ observable. */\n readonly tissueBlockDataQueryStatus$ = this._tissueBlockDataQueryStatus$.pipe(distinct());\n /** Current status of queries in the aggregateData$ observable. */\n readonly aggregateDataQueryStatus$ = this._aggregateDataQueryStatus$.pipe(distinct());\n /** Current status of queries in the ontologyTermOccurrences$ observable. */\n readonly ontologyTermOccurencesDataQueryStatus$ = this._ontologyTermOccurencesDataQueryStatus$.pipe(distinct());\n /** Current status of queries in the cellTypeTermOccurrences$ observable. */\n readonly cellTypeTermOccurencesDataQueryStatus$ = this._cellTypeTermOccurencesDataQueryStatus$.pipe(distinct());\n /** Current status of queries in the sceneData$ observable. */\n readonly sceneDataQueryStatus$ = this._sceneDataQueryStatus$.pipe(distinct());\n /** Current status of queries in the technologyFilter$ observable. */\n readonly technologyFilterQueryStatus$ = this._technologyFilterQueryStatus$.pipe(distinct());\n /** Current status of queries in the providerFilter$ observable. */\n readonly providerFilterQueryStatus$ = this._providerFilterQueryStatus$.pipe(distinct());\n\n /** Current status of all queries. */\n readonly queryStatus$ = combineLatest([\n this.tissueBlockDataQueryStatus$,\n this.aggregateDataQueryStatus$,\n this.ontologyTermOccurencesDataQueryStatus$,\n this.cellTypeTermOccurencesDataQueryStatus$,\n this.sceneDataQueryStatus$,\n this.technologyFilterQueryStatus$,\n this.providerFilterQueryStatus$\n ]).pipe(\n map(states => allCompleted(states) ? DataQueryState.Completed : DataQueryState.Running),\n distinct()\n );\n\n /**\n * Creates an instance of data state.\n *\n * @param source Data query service.\n */\n constructor(private readonly source: DataSourceService) {\n super();\n // Start everything in the completed state\n this._tissueBlockDataQueryStatus$.next(DataQueryState.Completed);\n this._aggregateDataQueryStatus$.next(DataQueryState.Completed);\n this._ontologyTermOccurencesDataQueryStatus$.next(DataQueryState.Completed);\n this._cellTypeTermOccurencesDataQueryStatus$.next(DataQueryState.Completed);\n this._sceneDataQueryStatus$.next(DataQueryState.Completed);\n this._technologyFilterQueryStatus$.next(DataQueryState.Completed);\n this._providerFilterQueryStatus$.next(DataQueryState.Completed);\n }\n\n ngxsOnInit(): void {\n const { ontologyTermsFullData$, ontologyTermOccurencesData$, cellTypeTermsFullData$, cellTypeTermOccurencesData$, source, snapshot: { filter } } = this;\n if (filter === DEFAULT_FILTER) {\n // Common case - Reuse the result of the regular query\n ontologyTermOccurencesData$.pipe(take(1)).subscribe(ontologyTermsFullData$);\n cellTypeTermOccurencesData$.pipe(take(1)).subscribe(cellTypeTermsFullData$);\n } else {\n source.getOntologyTermOccurences().pipe(take(1)).subscribe(ontologyTermsFullData$);\n source.getCellTypeTermOccurences().pipe(take(1)).subscribe(cellTypeTermsFullData$);\n }\n this.source.getOntologyTreeModel().pipe(take(1)).subscribe((model) => this.updateAnatomicalStructuresTreeModel(model));\n this.source.getCellTypeTreeModel().pipe(take(1)).subscribe((model) => this.updateCellTypesTreeModel(model));\n this.warmUpDatabase();\n }\n\n private warmUpDatabase(): void {\n defer(() => this.source.getDatabaseStatus()).pipe(\n tap((status) => this.updateStatus(status)),\n delay(2000),\n take(1)\n ).pipe(\n repeat(1000),\n takeWhile((status) => status.status === 'Loading')\n ).subscribe();\n\n this.databaseReady$.pipe(take(1), tap(() => {\n this.updateStatus({\n status: 'Ready',\n message: 'Loading CCF Exploration User Interface (EUI)'\n });\n })).subscribe();\n }\n\n @DataAction()\n updateAnatomicalStructuresTreeModel(@Payload('treeModel') model: OntologyTreeModel): void {\n this.ctx.patchState({\n anatomicalStructuresTreeModel: model\n });\n }\n\n @DataAction()\n updateCellTypesTreeModel(@Payload('treeModel') model: OntologyTreeModel): void {\n this.ctx.patchState({\n cellTypesTreeModel: model\n });\n }\n\n @DataAction()\n updateStatus(@Payload('status') status: DatabaseStatus): void {\n this.ctx.patchState({\n status: status.status,\n statusMessage: status.message\n });\n }\n\n /**\n * Updates the current filter.\n *\n * @param filter Changes to be made to the current filter.\n */\n @DataAction()\n updateFilter(@Payload('filter') filter: Partial): void {\n this.ctx.patchState({\n // Might need to do a deep compare of current and new filter\n filter: { ...this.getState().filter, ...filter }\n });\n }\n\n @Action(UpdateFilter)\n updateFilterHandler(_ctx: unknown, { filter }: UpdateFilter): void {\n this.updateFilter(filter);\n }\n\n /**\n * Queries for tissue block data.\n *\n * @param filter The filter used during query.\n * @returns The result of the query.\n */\n @bind\n private tissueBlockData(filter: Filter): ObservableInput {\n this._tissueBlockDataQueryStatus$.next(DataQueryState.Running);\n return this.databaseReady$.pipe(switchMap(() => this.source.getTissueBlockResults(filter)));\n }\n\n /**\n * Queries for aggregate data.\n *\n * @param filter The filter used during query.\n * @returns The result of the query.\n */\n @bind\n private aggregateData(filter: Filter): ObservableInput {\n this._aggregateDataQueryStatus$.next(DataQueryState.Running);\n return this.databaseReady$.pipe(switchMap(() => this.source.getAggregateResults(filter)));\n }\n\n /**\n * Queries for ontology term occurences data.\n *\n * @param filter The filter used during query.\n * @returns The result of the query.\n */\n @bind\n private ontologyTermOccurencesData(filter: Filter): ObservableInput> {\n this._ontologyTermOccurencesDataQueryStatus$.next(DataQueryState.Running);\n return this.databaseReady$.pipe(switchMap(() => this.source.getOntologyTermOccurences(filter)));\n }\n\n /**\n * Queries for cell type term occurences data.\n *\n * @param filter The filter used during query.\n * @returns The result of the query.\n */\n @bind\n private cellTypeTermOccurencesData(filter: Filter): ObservableInput> {\n this._cellTypeTermOccurencesDataQueryStatus$.next(DataQueryState.Running);\n return this.databaseReady$.pipe(switchMap(() => this.source.getCellTypeTermOccurences(filter)));\n }\n\n /**\n * Queries for scene data.\n *\n * @param filter The filter used during query.\n * @returns The result of the query.\n */\n @bind\n private sceneData(filter: Filter): ObservableInput {\n this._sceneDataQueryStatus$.next(DataQueryState.Running);\n return this.databaseReady$.pipe(switchMap(() => this.source.getScene(filter)));\n }\n\n /**\n * Queries for technology filter data.\n *\n * @returns The result of the query.\n */\n @bind\n private technologyFilterData(): ObservableInput {\n this._technologyFilterQueryStatus$.next(DataQueryState.Running);\n return this.databaseReady$.pipe(switchMap(() => this.source.getDatasetTechnologyNames()));\n }\n\n /**\n * Queries for provider filter data.\n *\n * @returns The result of the query.\n */\n @bind\n private providerFilterData(): ObservableInput {\n this._providerFilterQueryStatus$.next(DataQueryState.Running);\n return this.databaseReady$.pipe(switchMap(() => this.source.getProviderNames()));\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DataStateSelectors.html":{"url":"classes/DataStateSelectors.html","title":"class - DataStateSelectors","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DataStateSelectors\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/data/data.selectors.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n anatomicalStructuresTreeModel\n \n \n Static\n cellTypesTreeModel\n \n \n Static\n filter\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n anatomicalStructuresTreeModel\n \n \n \n \n \n \n \n anatomicalStructuresTreeModel(state: DataStateModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['DataState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/data/data.selectors.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n DataStateModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OntologyTreeModel\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n cellTypesTreeModel\n \n \n \n \n \n \n \n cellTypesTreeModel(state: DataStateModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['DataState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/data/data.selectors.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n DataStateModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OntologyTreeModel\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n filter\n \n \n \n \n \n \n \n filter(state: DataStateModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['DataState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/data/data.selectors.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n DataStateModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Filter\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Selector } from '@ngxs/store';\nimport { Filter, OntologyTreeModel } from 'ccf-database';\nimport { DataState, DataStateModel } from './data.state';\n\nexport class DataStateSelectors {\n @Selector([DataState])\n static filter(state: DataStateModel): Filter {\n return state.filter;\n }\n\n @Selector([DataState])\n static anatomicalStructuresTreeModel(state: DataStateModel): OntologyTreeModel {\n return state.anatomicalStructuresTreeModel ?? { root: '', nodes: {} };\n }\n\n @Selector([DataState])\n static cellTypesTreeModel(state: DataStateModel): OntologyTreeModel {\n return state.cellTypesTreeModel ?? { root: '', nodes: {} };\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DefaultIconDefinition.html":{"url":"interfaces/DefaultIconDefinition.html","title":"interface - DefaultIconDefinition","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DefaultIconDefinition\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/icon-registry/default-icons.ts\n \n\n\n \n Description\n \n \n Object definition for icon that should be loaded on startup.\nUnlike runtime registration object this does not need url ot html\nto be sanitized before hand.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n html\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n namespace\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n html\n \n \n \n \n \n \n \n \n html: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Html containing the svg of the icon or icon set.\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Name to register the icon under.\n\n \n \n \n \n \n \n \n \n \n namespace\n \n \n \n \n \n \n \n \n namespace: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Namespace to register the icon or icon set under.\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Url to fetch the icon or icon set from.\n\n \n \n \n \n \n \n\n\n \n export interface DefaultIconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: string;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: string;\n}\n\n\n/**\n * Icons registered at startup.\n */\nexport const DEFAULT_ICONS: DefaultIconDefinition[] = [\n // Reference Organs\n { name: 'bladder', namespace: 'app', url: 'assets/icons/organs/ico-organs-bladder.svg' },\n { name: 'blood', namespace: 'app', url: 'assets/icons/organs/ico-organs-blood.svg' },\n { name: 'bone-marrow', namespace: 'app', url: 'assets/icons/organs/ico-organs-bone-marrow.svg' },\n { name: 'brain', namespace: 'app', url: 'assets/icons/organs/ico-organs-brain.svg' },\n { name: 'eye', namespace: 'app', url: 'assets/icons/organs/ico-organs-eye.svg' },\n { name: 'fallopian-tube-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-left.svg' },\n { name: 'fallopian-tube-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-right.svg' },\n { name: 'heart', namespace: 'app', url: 'assets/icons/organs/ico-organs-heart.svg' },\n { name: 'kidney-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-left.svg' },\n { name: 'kidney-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-right.svg' },\n { name: 'kidney', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney.svg' },\n { name: 'knee', namespace: 'app', url: 'assets/icons/organs/ico-organs-knee.svg' },\n { name: 'large-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-large-intestine.svg' },\n { name: 'larynx', namespace: 'app', url: 'assets/icons/organs/ico-organs-larynx.svg' },\n { name: 'liver', namespace: 'app', url: 'assets/icons/organs/ico-organs-liver.svg' },\n { name: 'lung-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-left.svg' },\n { name: 'lung-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-right.svg' },\n { name: 'lung', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung.svg' },\n { name: 'lymph-nodes', namespace: 'app', url: 'assets/icons/organs/ico-organs-lymph-nodes.svg' },\n { name: 'main-bronchus', namespace: 'app', url: 'assets/icons/organs/ico-organs-extrapulmonary bronchus.svg' },\n { name: 'mammary-gland', namespace: 'app', url: 'assets/icons/organs/ico-organs-breast.svg' },\n { name: 'neuron', namespace: 'app', url: 'assets/icons/organs/ico-organs-neuron.svg' },\n { name: 'ovaries', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovaries.svg' },\n { name: 'ovary-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-left.svg' },\n { name: 'ovary-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-right.svg' },\n { name: 'palatine-tonsil', namespace: 'app', url: 'assets/icons/organs/ico-organs-palatine tonsil.svg' },\n { name: 'pancreas', namespace: 'app', url: 'assets/icons/organs/ico-organs-pancreas.svg' },\n { name: 'pelvis-f', namespace: 'app', url: 'assets/icons/organs/ico-organs-pelvis-f.svg' },\n { name: 'placenta', namespace: 'app', url: 'assets/icons/organs/ico-organs-placenta.svg' },\n { name: 'prostate', namespace: 'app', url: 'assets/icons/organs/ico-organs-prostate.svg' },\n { name: 'skin', namespace: 'app', url: 'assets/icons/organs/ico-organs-skin.svg' },\n { name: 'small-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-small intestine.svg' },\n { name: 'spinal-cord', namespace: 'app', url: 'assets/icons/organs/ico-organs-spinal-cord.svg' },\n { name: 'spleen', namespace: 'app', url: 'assets/icons/organs/ico-organs-spleen.svg' },\n { name: 'stomach', namespace: 'app', url: 'assets/icons/organs/ico-organs-stomach.svg' },\n { name: 'thymus', namespace: 'app', url: 'assets/icons/organs/ico-organs-thymus.svg' },\n { name: 'trachea', namespace: 'app', url: 'assets/icons/organs/ico-organs-trachea.svg' },\n { name: 'ureter-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-left.svg' },\n { name: 'ureter-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-right.svg' },\n { name: 'uterus', namespace: 'app', url: 'assets/icons/organs/ico-organs-uterus.svg' },\n { name: 'vasculature-thick', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thick.svg' },\n { name: 'vasculature-thin', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thin.svg' },\n\n { name: 'opacity', namespace: 'app', url: 'assets/icons/opacity-24px.svg' },\n { name: 'visibility_on', namespace: 'app', url: 'assets/icons/visibility-on-24px.svg' },\n { name: 'visibility_off', namespace: 'app', url: 'assets/icons/visibility-off-24px.svg' },\n { name: 'expand_more', namespace: 'app', url: 'assets/icons/expand_more-24px.svg' },\n { name: 'expand_less', namespace: 'app', url: 'assets/icons/expand_less-24px.svg' },\n { name: 'filter', url: 'assets/icons/filter.svg' }\n];\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DelegateDataSourceOptions.html":{"url":"interfaces/DelegateDataSourceOptions.html","title":"interface - DelegateDataSourceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DelegateDataSourceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/services/data-source/data-source.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n remoteApiEndpoint\n \n \n \n Optional\n \n useRemoteApi\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n remoteApiEndpoint\n \n \n \n \n \n \n \n \n remoteApiEndpoint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n useRemoteApi\n \n \n \n \n \n \n \n \n useRemoteApi: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Injectable, ProviderToken } from '@angular/core';\nimport {\n ApiEndpointDataSourceService, CCFDatabaseDataSourceService, DataSourceLike, InjectorDelegateDataSourceService,\n} from 'ccf-shared';\n\nimport { environment } from '../../../../environments/environment';\nimport { WorkerDataSourceService } from './worker-data-source.service';\n\n\nexport interface DelegateDataSourceOptions {\n useRemoteApi?: boolean;\n remoteApiEndpoint?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DelegateDataSourceService extends InjectorDelegateDataSourceService {\n protected selectToken(config: DelegateDataSourceOptions): ProviderToken {\n const { useRemoteApi, remoteApiEndpoint } = config;\n\n if (useRemoteApi && !!remoteApiEndpoint) {\n return ApiEndpointDataSourceService;\n } else if (typeof Worker !== 'undefined' && !environment.disableDbWorker) {\n return WorkerDataSourceService;\n } else {\n return CCFDatabaseDataSourceService;\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DelegateDataSourceService.html":{"url":"injectables/DelegateDataSourceService.html","title":"injectable - DelegateDataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n DelegateDataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/services/data-source/data-source.service.ts\n \n\n\n\n \n Extends\n \n \n InjectorDelegateDataSourceService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n selectToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n selectToken\n \n \n \n \n \n \n \n selectToken(config: DelegateDataSourceOptions)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/data-source/data-source.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n DelegateDataSourceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ProviderToken\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, ProviderToken } from '@angular/core';\nimport {\n ApiEndpointDataSourceService, CCFDatabaseDataSourceService, DataSourceLike, InjectorDelegateDataSourceService,\n} from 'ccf-shared';\n\nimport { environment } from '../../../../environments/environment';\nimport { WorkerDataSourceService } from './worker-data-source.service';\n\n\nexport interface DelegateDataSourceOptions {\n useRemoteApi?: boolean;\n remoteApiEndpoint?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DelegateDataSourceService extends InjectorDelegateDataSourceService {\n protected selectToken(config: DelegateDataSourceOptions): ProviderToken {\n const { useRemoteApi, remoteApiEndpoint } = config;\n\n if (useRemoteApi && !!remoteApiEndpoint) {\n return ApiEndpointDataSourceService;\n } else if (typeof Worker !== 'undefined' && !environment.disableDbWorker) {\n return WorkerDataSourceService;\n } else {\n return CCFDatabaseDataSourceService;\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/DonorCardComponent.html":{"url":"components/DonorCardComponent.html","title":"component - DonorCardComponent","body":"\n \n\n\n\n\n\n Components\n \n DonorCardComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts\n\n\n\n \n Description\n \n \n Donor card component which displays data from a patient\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-donor-card\n \n\n \n styleUrls\n ./donor-card.component.scss\n \n\n\n\n \n templateUrl\n ./donor-card.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n hoverState\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleCheckbox\n \n \n linkHandler\n \n \n toggleExpansion\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n color\n \n \n expanded\n \n \n highlighted\n \n \n selected\n \n \n tissueBlock\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n checked\n \n \n linkClick\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:40\n \n \n\n \n \n Creates an instance of donor card component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n color\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:26\n \n \n \n \n Allows color of the checkbox background to be set from outside the component\n\n \n \n \n \n \n \n \n \n \n expanded\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:29\n \n \n \n \n Allows the expanded state of the card to be set from outside the component\n\n \n \n \n \n \n \n \n \n \n highlighted\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:31\n \n \n \n \n \n \n \n \n \n selected\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:23\n \n \n \n \n Allows the selected state to be set from outside the component\n\n \n \n \n \n \n \n \n \n \n tissueBlock\n \n \n \n \n Type : TissueBlockResult\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:20\n \n \n \n \n Tissue Block to generate the donor card from\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n checked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:34\n \n \n \n \n Emits the new checked state whenever it changes\n\n \n \n \n \n \n \n \n \n \n linkClick\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:37\n \n \n \n \n Emit the url of any link when clicked.\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-donor-card\"\n\n \n \n \n \n Default value : 'ccf-donor-card'\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:17\n \n \n\n \n \n HTML Class Name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleCheckbox\n \n \n \n \n \n \nhandleCheckbox()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:52\n \n \n\n\n \n \n Handles the logic that needs to run when the checkbox is clicked on.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n linkHandler\n \n \n \n \n \n \nlinkHandler(url: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:76\n \n \n\n\n \n \n Handles what happens when an info card is clicked.\nPasses up the link click event unless the card isn't selected\nIn which case it selects it for ease of use.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n the URL to emit up.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n toggleExpansion\n \n \n \n \n \n \ntoggleExpansion()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:62\n \n \n\n\n \n \n Ensures that the expanded variable is only changed if selected first.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-donor-card'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:17\n \n \n\n \n \n HTML Class Name\n\n \n \n\n \n \n \n \n \n \n \n \n hoverState\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts:40\n \n \n\n \n \n To keep track of which element, if any, are hovered over.\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { TissueBlockResult } from 'ccf-database';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/**\n * Donor card component which displays data from a patient\n */\n@Component({\n selector: 'ccf-donor-card',\n templateUrl: './donor-card.component.html',\n styleUrls: ['./donor-card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DonorCardComponent {\n /** HTML Class Name */\n @HostBinding('class') readonly clsName = 'ccf-donor-card';\n\n /** Tissue Block to generate the donor card from */\n @Input() tissueBlock!: TissueBlockResult;\n\n /** Allows the selected state to be set from outside the component */\n @Input() selected = false;\n\n /** Allows color of the checkbox background to be set from outside the component */\n @Input() color!: string;\n\n /** Allows the expanded state of the card to be set from outside the component */\n @Input() expanded = false;\n\n @Input() highlighted = false;\n\n /** Emits the new checked state whenever it changes */\n @Output() readonly checked = new EventEmitter();\n\n /** Emit the url of any link when clicked. */\n @Output() readonly linkClick = new EventEmitter();\n\n /** To keep track of which element, if any, are hovered over. */\n hoverState = '';\n\n /**\n * Creates an instance of donor card component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Handles the logic that needs to run when the checkbox is clicked on.\n */\n handleCheckbox(): void {\n this.selected = !this.selected;\n this.ga.event('selected_toggled', 'donor_card', this.tissueBlock.label, +this.selected);\n this.checked.emit(this.selected);\n this.expanded = false;\n }\n\n /**\n * Ensures that the expanded variable is only changed if selected first.\n */\n toggleExpansion(): void {\n if (this.selected) {\n this.expanded = !this.expanded;\n this.ga.event('expanded_toggled', 'donor_card', this.tissueBlock.label, +this.expanded);\n }\n }\n\n /**\n * Handles what happens when an info card is clicked.\n * Passes up the link click event unless the card isn't selected\n * In which case it selects it for ease of use.\n *\n * @param url the URL to emit up.\n */\n linkHandler(url: string): void {\n this.ga.event('link_clicked', 'donor_card', this.tissueBlock.label);\n if (this.selected) {\n this.linkClick.emit(url);\n } else {\n this.selected = true;\n this.checked.emit(this.selected);\n }\n }\n}\n\n \n\n \n \n \n \n \n\n \n \n person\n\n \n {{ tissueBlock.donor.label }}\n {{ tissueBlock.donor.description }}\n \n \n \n DONOR\n open_in_new\n \n\n {{ expanded ? \"expand_less\" : \"expand_more\" }}\n \n\n\n\n \n \n bubble_chart\n \n {{ tissueBlock.label }}\n {{ tissueBlock.description }}\n \n\n \n TISSUE BLOCK\n open_in_new\n \n \n\n 1\"\n [totalTissueSections]=\"tissueBlock.sectionCount\"\n [tissueSections]=\"tissueBlock.sections\"\n >\n\n 0\">\n \n \n \n \n\n \n \n bubble_chart\n \n {{ section.label }}\n {{ section.description }}\n \n\n \n TISSUE SECTION\n open_in_new\n \n \n\n 0\">\n \n \n \n \n\n\n \n\n \n \n ./donor-card.component.scss\n \n :host {\n width: 100%;\n\n .main-container {\n display: flex;\n min-height: 3rem;\n width: 100%;\n align-items: center;\n padding-left: 0.5rem;\n }\n\n .checkbox-background {\n height: 2rem;\n width: 2rem;\n border-radius: 50%;\n margin-right: 0.5rem;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n\n ::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background,\n .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background {\n background-color: transparent;\n }\n\n &.highlighted {\n ::ng-deep .mat-ripple-element {\n opacity: .04;\n }\n }\n\n .checkselected {\n ::ng-deep .mat-checkbox-frame {\n border-color: white !important;\n }\n }\n\n .checkbox {\n margin-left: 1.12rem;\n margin-bottom: 0.12rem; \n }\n }\n\n .align-end {\n margin-left: auto;\n }\n\n .info-block {\n display: flex;\n font-size: 0.75rem;\n line-height: 1rem;\n width: 100%;\n align-items: center;\n\n &:not(:first-child) {\n margin-top: 0.5rem;\n }\n\n .text-content {\n .title {\n font-weight: 600;\n }\n }\n }\n\n .donor {\n display: flex;\n font-size: 0.75rem;\n line-height: 1rem;\n align-items: center;\n flex-grow: 1;\n height: 2.5rem;\n\n &:hover, &.highlighted {\n box-shadow: 0px 6px 2px -2px rgba(0, 0, 0, 0.2), 0px 4px 4px 0px rgba(0, 0, 0, 0.14), 0px 2px 10px 0px rgba(0, 0, 0, 0.12);\n }\n\n .hover-state {\n width: 19.5rem !important;\n }\n\n .donor-info {\n .title {\n font-weight: 600;\n }\n }\n }\n\n .hoverable {\n position: relative;\n }\n\n .hover-enabled {\n position: relative;\n\n &:hover {\n .hover-state {\n opacity: 1;\n }\n }\n }\n\n .hover-state {\n transition: opacity 0.15s ease-in-out;\n opacity: 0;\n cursor: pointer;\n position: absolute;\n height: 100%;\n width: 100%;\n top: 0;\n margin-left: -0.5rem;\n align-items: center;\n display: flex;\n justify-content: flex-end;\n padding-right: 1rem;\n font-size: 0.75rem;\n\n .hover-title {\n font-weight: lighter;\n }\n\n .hover-icon {\n margin-left: 1rem;\n }\n }\n\n .default-padding {\n padding: 0.5rem;\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n\n .expanded-view {\n margin-top: 0.25rem;\n width: 85%;\n margin-bottom: 0.25rem;\n }\n\n .d-flex {\n display: flex;\n }\n\n .icon-size {\n height: 1.5rem;\n width: 1.5rem;\n font-size: 1.5rem;\n }\n\n .selectable {\n cursor: pointer;\n }\n\n .w-80 {\n width: 80% !important;\n\n .info-block {\n .text-content {\n .description {\n width: 16rem !important;\n }\n }\n }\n }\n\n .ml-5 {\n margin-left: 0.5rem;\n }\n\n .mr-5 {\n margin-right: 0.5rem;\n }\n\n .mt-05 {\n margin-top: 0.5rem;\n }\n\n .description {\n width: 17rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' person {{ tissueBlock.donor.label }} {{ tissueBlock.donor.description }} DONOR open_in_new {{ expanded ? \"expand_less\" : \"expand_more\" }} bubble_chart {{ tissueBlock.label }} {{ tissueBlock.description }} TISSUE BLOCK open_in_new 1\" [totalTissueSections]=\"tissueBlock.sectionCount\" [tissueSections]=\"tissueBlock.sections\" > 0\"> bubble_chart {{ section.label }} {{ section.description }} TISSUE SECTION open_in_new 0\"> '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'DonorCardComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DonorCardModule.html":{"url":"modules/DonorCardModule.html","title":"module - DonorCardModule","body":"\n \n\n\n\n\n Modules\n DonorCardModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DonorCardModule\n\n\n\ncluster_DonorCardModule_imports\n\n\n\ncluster_DonorCardModule_exports\n\n\n\ncluster_DonorCardModule_declarations\n\n\n\n\nDonorCardComponent\n\nDonorCardComponent\n\n\n\nDonorCardModule\n\nDonorCardModule\n\nDonorCardModule -->\n\nDonorCardComponent->DonorCardModule\n\n\n\n\n\nDonorCardComponent \n\nDonorCardComponent \n\nDonorCardComponent -->\n\nDonorCardModule->DonorCardComponent \n\n\n\n\n\nThumbnailCarouselModule\n\nThumbnailCarouselModule\n\nDonorCardModule -->\n\nThumbnailCarouselModule->DonorCardModule\n\n\n\n\n\nTissueSectionVisModule\n\nTissueSectionVisModule\n\nDonorCardModule -->\n\nTissueSectionVisModule->DonorCardModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n DonorCardComponent\n \n \n \n \n Imports\n \n \n ThumbnailCarouselModule\n \n \n TissueSectionVisModule\n \n \n \n \n Exports\n \n \n DonorCardComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { ThumbnailCarouselModule } from '../../../shared/components/thumbnail-carousel/thumbnail-carousel.module';\nimport { DonorCardComponent } from './donor-card.component';\nimport { TissueSectionVisModule } from './../tissue-section-vis/tissue-section-vis.module';\n\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatCheckboxModule,\n MatIconModule,\n\n ThumbnailCarouselModule,\n TissueSectionVisModule\n ],\n declarations: [DonorCardComponent],\n exports: [DonorCardComponent]\n})\nexport class DonorCardModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerContainersChanged.html":{"url":"interfaces/DrawerContainersChanged.html","title":"interface - DrawerContainersChanged","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerContainersChanged\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when a drawer component changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n drawers\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n drawers\n \n \n \n \n \n \n \n \n drawers: [, ]\n\n \n \n\n\n \n \n Type : [, ]\n\n \n \n\n\n\n\n\n \n \n References to the drawer components. Can contain undefined values.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerInitialized.html":{"url":"interfaces/DrawerInitialized.html","title":"interface - DrawerInitialized","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerInitialized\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when a drawer has finished initializing.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DrawerModule.html":{"url":"modules/DrawerModule.html","title":"module - DrawerModule","body":"\n \n\n\n\n\n Modules\n DrawerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DrawerModule\n\n\n\ncluster_DrawerModule_declarations\n\n\n\ncluster_DrawerModule_exports\n\n\n\n\nContainerComponent\n\nContainerComponent\n\n\n\nDrawerModule\n\nDrawerModule\n\nDrawerModule -->\n\nContainerComponent->DrawerModule\n\n\n\n\n\nContentComponent\n\nContentComponent\n\nDrawerModule -->\n\nContentComponent->DrawerModule\n\n\n\n\n\nDrawerComponent\n\nDrawerComponent\n\nDrawerModule -->\n\nDrawerComponent->DrawerModule\n\n\n\n\n\nToggleButtonComponent\n\nToggleButtonComponent\n\nDrawerModule -->\n\nToggleButtonComponent->DrawerModule\n\n\n\n\n\nContainerComponent \n\nContainerComponent \n\nContainerComponent -->\n\nDrawerModule->ContainerComponent \n\n\n\n\n\nContentComponent \n\nContentComponent \n\nContentComponent -->\n\nDrawerModule->ContentComponent \n\n\n\n\n\nDrawerComponent \n\nDrawerComponent \n\nDrawerComponent -->\n\nDrawerModule->DrawerComponent \n\n\n\n\n\nToggleButtonComponent \n\nToggleButtonComponent \n\nToggleButtonComponent -->\n\nDrawerModule->ToggleButtonComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/drawer/drawer.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ContainerComponent\n \n \n ContentComponent\n \n \n DrawerComponent\n \n \n ToggleButtonComponent\n \n \n \n \n Exports\n \n \n ContainerComponent\n \n \n ContentComponent\n \n \n DrawerComponent\n \n \n ToggleButtonComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { MESSAGE_SERVICE_CONFIG, MESSAGE_SERVICE_DEFAULT_CONFIG } from '../../services/message/message.service';\nimport { ContainerComponent } from './container/container.component';\nimport { ContentComponent } from './content/content.component';\nimport { DrawerComponent } from './drawer/drawer.component';\nimport { ToggleButtonComponent } from './toggle-button/toggle-button.component';\n\n\n@NgModule({\n imports: [BrowserModule, BrowserAnimationsModule, MatIconModule],\n providers: [{\n provide: MESSAGE_SERVICE_CONFIG, useValue: MESSAGE_SERVICE_DEFAULT_CONFIG\n }],\n declarations: [ContainerComponent, ContentComponent, DrawerComponent, ToggleButtonComponent],\n exports: [ContainerComponent, ContentComponent, DrawerComponent, ToggleButtonComponent]\n})\nexport class DrawerModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerToggled.html":{"url":"interfaces/DrawerToggled.html","title":"interface - DrawerToggled","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerToggled\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message send when the state of a drawer changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n expanded\n \n \n \n \n margin\n \n \n \n \n opened\n \n \n \n \n type\n \n \n \n \n width\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n expanded\n \n \n \n \n \n \n \n \n expanded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the drawer is expanded. Implies opened.\n\n \n \n \n \n \n \n \n \n \n margin\n \n \n \n \n \n \n \n \n margin: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Margin used by the drawer for toggle button, etc.\n\n \n \n \n \n \n \n \n \n \n opened\n \n \n \n \n \n \n \n \n opened: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the drawer is open.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n \n \n \n width\n \n \n \n \n \n \n \n \n width: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Width of the drawer.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/DropdownComponent.html":{"url":"components/DropdownComponent.html","title":"component - DropdownComponent","body":"\n \n\n\n\n\n\n Components\n \n DropdownComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts\n\n\n\n \n Description\n \n \n Component for a dropdown menu.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-dropdown\n \n\n \n styleUrls\n ./dropdown.component.scss\n \n\n\n\n \n templateUrl\n ./dropdown.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n optionsVisible\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n selectionChanged\n \n \n toggleOptions\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n label\n \n \n options\n \n \n selection\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n selectionChange\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts:38\n \n \n\n \n \n Creates an instance of dropdown component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n label\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts:18\n \n \n \n \n What the component is selecting for.\n\n \n \n \n \n \n \n \n \n \n options\n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts:23\n \n \n \n \n Choices displayed in the dropdown menu.\n\n \n \n \n \n \n \n \n \n \n selection\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts:28\n \n \n \n \n Current option selected.\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n selectionChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts:33\n \n \n \n \n Emits the new selected option when selection is changed.\n\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n selectionChanged\n \n \n \n \n \n \nselectionChanged(value: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts:59\n \n \n\n\n \n \n Updates the selected value.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n string\n \n\n \n No\n \n\n\n \n The value that has been selected\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n toggleOptions\n \n \n \n \n \n \ntoggleOptions()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts:50\n \n \n\n\n \n \n Controls fade-in effect after dropdown menu opens\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n optionsVisible\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'invisible'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts:38\n \n \n\n \n \n Determines if menu contents are visible (used for fade-in effect).\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * Component for a dropdown menu.\n */\n@Component({\n selector: 'ccf-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DropdownComponent {\n\n /**\n * What the component is selecting for.\n */\n @Input() label: string;\n\n /**\n * Choices displayed in the dropdown menu.\n */\n @Input() options: string[];\n\n /**\n * Current option selected.\n */\n @Input() selection: string;\n\n /**\n * Emits the new selected option when selection is changed.\n */\n @Output() readonly selectionChange = new EventEmitter();\n\n /**\n * Determines if menu contents are visible (used for fade-in effect).\n */\n optionsVisible = 'invisible';\n\n /**\n * Creates an instance of dropdown component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Controls fade-in effect after dropdown menu opens\n */\n toggleOptions(): void {\n this.optionsVisible = this.optionsVisible === 'visible' ? 'invisible' : 'visible';\n }\n\n /**\n * Updates the selected value.\n *\n * @param value The value that has been selected\n */\n selectionChanged(value: string): void {\n this.selection = value;\n this.ga.event('selection_change', 'dropdown', `${this.label}:${value}`);\n this.selectionChange.emit(value);\n }\n}\n\n \n\n \n \n \n \n \n {{ label }}\n \n \n \n \n {{ option }}\n \n \n \n \n \n\n\n \n\n \n \n ./dropdown.component.scss\n \n @keyframes slideInHorizontalDropdown {\n from {\n width: 0;\n }\n to {\n width: 9.85rem;\n }\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n\n.dropdown-form-field {\n width: 100%;\n height: 3rem;\n\n ::ng-deep .mat-form-field-wrapper {\n padding-left: 1em;\n padding-right: 1em;\n height: 3rem;\n\n .mat-form-field-flex {\n .mat-form-field-infix {\n font-size: 0.875rem;\n border: none;\n\n mat-select {\n font-size: 1rem;\n font-weight: bold;\n }\n }\n }\n\n .mat-form-field-underline {\n left: 0rem;\n bottom: 0rem;\n transform: none;\n height: 0.125rem;\n }\n }\n}\n\n.visible {\n animation: fadeIn 0.3s;\n transition-delay: .275s;\n animation-delay: .275s;\n}\n\n.invisible {\n opacity: 0;\n}\n\n::ng-deep .option-panel {\n animation: slideInHorizontalDropdown .3s;\n animation-fill-mode: forwards;\n box-shadow: 0.2rem 0.2rem 1rem 0rem #0000003e;\n position: absolute !important;\n top: 1.55rem;\n max-width: 9.5rem;\n\n .mat-option {\n border-bottom-width: 1px;\n border-bottom-style: solid;\n padding-left: 1em;\n }\n\n :last-child {\n border-bottom: none;\n }\n}\n\n::ng-deep .cdk-overlay-pane {\n min-width: 0rem !important;\n}\n\n.dropdown-form-field {\n height: 3rem;\n width: 100%;\n \n .label {\n padding-bottom: 0.063rem;\n }\n ::ng-deep .mat-form-field-wrapper {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n }\n}\n\n::ng-deep .ccf-dropdown {\n .mat-select-arrow-wrapper {\n transform: translatey(-.5em);\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ label }} {{ option }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'DropdownComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DropdownModule.html":{"url":"modules/DropdownModule.html","title":"module - DropdownModule","body":"\n \n\n\n\n\n Modules\n DropdownModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DropdownModule\n\n\n\ncluster_DropdownModule_exports\n\n\n\ncluster_DropdownModule_declarations\n\n\n\n\nDropdownComponent\n\nDropdownComponent\n\n\n\nDropdownModule\n\nDropdownModule\n\nDropdownModule -->\n\nDropdownComponent->DropdownModule\n\n\n\n\n\nDropdownComponent \n\nDropdownComponent \n\nDropdownComponent -->\n\nDropdownModule->DropdownComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/dropdown/dropdown.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n DropdownComponent\n \n \n \n \n Exports\n \n \n DropdownComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\n\nimport { DropdownComponent } from './dropdown.component';\n\n\n@NgModule({\n imports: [CommonModule, MatFormFieldModule, MatSelectModule],\n declarations: [DropdownComponent],\n exports: [DropdownComponent]\n})\n\nexport class DropdownModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/DualSliderComponent.html":{"url":"components/DualSliderComponent.html","title":"component - DualSliderComponent","body":"\n \n\n\n\n\n\n Components\n \n DualSliderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts\n\n\n\n \n Description\n \n \n Component containing a button that when clicked will show a slider popover.\n\n \n\n\n \n Implements\n \n \n OnDestroy\n OnChanges\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-dual-slider\n \n\n \n styleUrls\n ./dual-slider.component.scss\n \n\n\n\n \n templateUrl\n ./dual-slider.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contentsVisible\n \n \n highValue\n \n \n Private\n isSliderInitialized\n \n \n isSliderOpen\n \n \n lowValue\n \n \n options\n \n \n Private\n overlayRef\n \n \n popoverElement\n \n \n popoverPortal\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n closeSliderPopover\n \n \n Private\n initializeSliderPopover\n \n \n ngOnChanges\n \n \n ngOnDestroy\n \n \n onKeyHigh\n \n \n onKeyLow\n \n \n optionsChanged\n \n \n sliderValueChanged\n \n \n toggleSliderPopover\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n label\n \n \n selection\n \n \n valueRange\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n selectionChange\n \n \n \n \n\n\n \n \n HostListeners\n \n \n \n \n \n \n document:click\n \n \n document:touchstart\n \n \n \n \n\n \n \n Accessors\n \n \n \n \n \n \n rangeLabel\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(overlay: Overlay, element: ElementRef, ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:95\n \n \n\n \n \n Creates an instance of dual slider component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n overlay\n \n \n Overlay\n \n \n \n No\n \n \n \n The overlay service used to create the slider popover.\n\n \n \n \n element\n \n \n ElementRef\n \n \n \n No\n \n \n \n A reference to the component's element. Used during event handling.\n\n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n label\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:34\n \n \n \n \n Which criteria the slider is selecting for.\n\n \n \n \n \n \n \n \n \n \n selection\n \n \n \n \n Type : number[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:44\n \n \n \n \n The current range selected.\n\n \n \n \n \n \n \n \n \n \n valueRange\n \n \n \n \n Type : number[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:39\n \n \n \n \n The lower and upper range of the slider.\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n selectionChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:49\n \n \n \n \n Emits the new selection range when a change is made to it.\n\n \n \n \n \n\n\n \n HostListeners \n \n \n \n \n \n document:click\n \n \n \n \n \n \n Arguments : '$event.target' \n \n \n \n \ndocument:click(target: HTMLElement)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:165\n \n \n\n\n \n \n Listens to document click, mouse movement, and touch event.\nCloses the slider popover when such an event occurs outside the button or popover.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n The element on which the event was fired.\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n document:touchstart\n \n \n \n \n \n \n Arguments : '$event.target' \n \n \n \n \ndocument:touchstart(target: HTMLElement)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:165\n \n \n\n\n \n \n Listens to document click, mouse movement, and touch event.\nCloses the slider popover when such an event occurs outside the button or popover.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n The element on which the event was fired.\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n closeSliderPopover\n \n \n \n \n \n \ncloseSliderPopover(target: HTMLElement)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:click', ['$event.target'])@HostListener('document:touchstart', ['$event.target'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:165\n \n \n\n\n \n \n Listens to document click, mouse movement, and touch event.\nCloses the slider popover when such an event occurs outside the button or popover.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n HTMLElement\n \n\n \n No\n \n\n\n \n The element on which the event was fired.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n initializeSliderPopover\n \n \n \n \n \n \n \n initializeSliderPopover()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:212\n \n \n\n\n \n \n Creates and initializes the slider popover.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnChanges\n \n \n \n \n \n \nngOnChanges(changes: SimpleChanges)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:122\n \n \n\n\n \n \n Updates slider options (with optionsChanged) and selection when changes detected.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n changes\n \n SimpleChanges\n \n\n \n No\n \n\n\n \n Changes that have been made to the slider properties.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:152\n \n \n\n\n \n \n Angular's OnDestroy hook.\nCleans up the overlay.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n onKeyHigh\n \n \n \n \n \n \nonKeyHigh(event: KeyboardEvent)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:243\n \n \n\n\n \n \n Updates the slider's high pointer value when Enter key is pressed.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n KeyboardEvent\n \n\n \n No\n \n\n\n \n Event passed into the component\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n onKeyLow\n \n \n \n \n \n \nonKeyLow(event: KeyboardEvent)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:226\n \n \n\n\n \n \n Updates the slider's low pointer value when Enter key is pressed.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n KeyboardEvent\n \n\n \n No\n \n\n\n \n Event passed into the component\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n optionsChanged\n \n \n \n \n \n \noptionsChanged()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:136\n \n \n\n\n \n \n Updates the slider options, and the slider values if necessary.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n sliderValueChanged\n \n \n \n \n \n \nsliderValueChanged()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:201\n \n \n\n\n \n \n Handler for updates to the slider values.\nEmits the updated selection value array.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n toggleSliderPopover\n \n \n \n \n \n \ntoggleSliderPopover()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:184\n \n \n\n\n \n \n Toggles the visibility of the slider popover.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n contentsVisible\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'invisible'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:74\n \n \n\n \n \n Determines if slider contents are visible (used for fade-in effect).\n\n \n \n\n \n \n \n \n \n \n \n \n highValue\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:69\n \n \n\n \n \n Value bound to the slider's high pointer value.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n isSliderInitialized\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:95\n \n \n\n \n \n Determines whether slider popover has been created and initialized.\n\n \n \n\n \n \n \n \n \n \n \n \n isSliderOpen\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:54\n \n \n\n \n \n Determines whether slider popover is shown.\n\n \n \n\n \n \n \n \n \n \n \n \n lowValue\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:64\n \n \n\n \n \n Value bound to the slider's low pointer value.\n\n \n \n\n \n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : Options\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:59\n \n \n\n \n \n Slider options.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n overlayRef\n \n \n \n \n \n \n Type : OverlayRef\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:90\n \n \n\n \n \n Reference to the slider popover overlay.\n\n \n \n\n \n \n \n \n \n \n \n \n popoverElement\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('popover', {read: ElementRef, static: false})\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:29\n \n \n\n \n \n Reference to the popover element.\nThis is undefined until the slider popover is initialized.\n\n \n \n\n \n \n \n \n \n \n \n \n popoverPortal\n \n \n \n \n \n \n Type : CdkPortal\n\n \n \n \n \n Decorators : \n \n \n @ViewChild(CdkPortal, {static: true})\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:23\n \n \n\n \n \n Reference to the template for the slider popover.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n rangeLabel\n \n \n\n \n \n getrangeLabel()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts:79\n \n \n \n \n Computes the current age range for display in the button.\n\n\n \n Returns : string\n\n \n \n \n\n \n \n\n\n\n\n \n import { ConnectedPosition, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { CdkPortal } from '@angular/cdk/portal';\nimport {\n Component, ElementRef, EventEmitter, HostListener, Input, OnChanges, OnDestroy, Output, SimpleChanges, ViewChild,\n} from '@angular/core';\nimport { Options } from 'ng5-slider';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/**\n * Component containing a button that when clicked will show a slider popover.\n */\n@Component({\n selector: 'ccf-dual-slider',\n templateUrl: './dual-slider.component.html',\n styleUrls: ['./dual-slider.component.scss']\n})\nexport class DualSliderComponent implements OnDestroy, OnChanges {\n /**\n * Reference to the template for the slider popover.\n */\n @ViewChild(CdkPortal, { static: true }) popoverPortal: CdkPortal;\n\n /**\n * Reference to the popover element.\n * This is undefined until the slider popover is initialized.\n */\n @ViewChild('popover', { read: ElementRef, static: false }) popoverElement: ElementRef;\n\n /**\n * Which criteria the slider is selecting for.\n */\n @Input() label: string;\n\n /**\n * The lower and upper range of the slider.\n */\n @Input() valueRange: number[];\n\n /**\n * The current range selected.\n */\n @Input() selection: number[];\n\n /**\n * Emits the new selection range when a change is made to it.\n */\n @Output() readonly selectionChange = new EventEmitter();\n\n /**\n * Determines whether slider popover is shown.\n */\n isSliderOpen = false;\n\n /**\n * Slider options.\n */\n options: Options;\n\n /**\n * Value bound to the slider's low pointer value.\n */\n lowValue: number;\n\n /**\n * Value bound to the slider's high pointer value.\n */\n highValue: number;\n\n /**\n * Determines if slider contents are visible (used for fade-in effect).\n */\n contentsVisible = 'invisible';\n\n /**\n * Computes the current age range for display in the button.\n */\n get rangeLabel(): string {\n const { lowValue, highValue } = this;\n if (lowValue === highValue) {\n return `${lowValue}`;\n }\n return `${lowValue}-${highValue}`;\n }\n\n /**\n * Reference to the slider popover overlay.\n */\n private overlayRef: OverlayRef;\n\n /**\n * Determines whether slider popover has been created and initialized.\n */\n private isSliderInitialized = false;\n\n /**\n * Creates an instance of dual slider component.\n *\n * @param overlay The overlay service used to create the slider popover.\n * @param element A reference to the component's element. Used during event handling.\n * @param ga Analytics service\n */\n constructor(\n overlay: Overlay,\n private element: ElementRef,\n private readonly ga: GoogleAnalyticsService\n ) {\n const position: ConnectedPosition = { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' };\n const positionStrategy = overlay.position().flexibleConnectedTo(element).withPositions([position]);\n this.overlayRef = overlay.create({\n panelClass: 'slider-pane',\n positionStrategy\n });\n }\n\n /**\n * Updates slider options (with optionsChanged) and selection when changes detected.\n *\n * @param changes Changes that have been made to the slider properties.\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.valueRange) {\n this.optionsChanged();\n }\n if (changes.selection) {\n // Detect when selection is changed and update low/high value.\n this.lowValue = Math.min(...this.selection);\n this.highValue = Math.max(...this.selection);\n }\n }\n\n /**\n * Updates the slider options, and the slider values if necessary.\n */\n optionsChanged(): void {\n this.options = {\n floor: this.valueRange ? this.valueRange[0] : 0,\n ceil: this.valueRange ? this.valueRange[1] : 0,\n step: 1,\n hideLimitLabels: true,\n hidePointerLabels: true\n };\n this.lowValue = this.options.floor ?? 0;\n this.highValue = this.options.ceil ?? 0;\n }\n\n /**\n * Angular's OnDestroy hook.\n * Cleans up the overlay.\n */\n ngOnDestroy(): void {\n this.overlayRef.dispose();\n }\n\n /**\n * Listens to document click, mouse movement, and touch event.\n * Closes the slider popover when such an event occurs outside the button or popover.\n *\n * @param target The element on which the event was fired.\n */\n @HostListener('document:click', ['$event.target']) // eslint-disable-line\n // eslint-disable-line\n @HostListener('document:touchstart', ['$event.target']) // eslint-disable-line\n closeSliderPopover(target: HTMLElement): void {\n const { element, isSliderOpen, popoverElement } = this;\n if (!isSliderOpen) {\n return;\n } else if (element.nativeElement.contains(target)) {\n return;\n } else if (popoverElement?.nativeElement?.contains?.(target)) {\n return;\n }\n\n this.overlayRef.detach();\n this.isSliderInitialized = false;\n this.isSliderOpen = false;\n this.contentsVisible = 'invisible';\n }\n\n /**\n * Toggles the visibility of the slider popover.\n */\n toggleSliderPopover(): void {\n const { isSliderOpen, isSliderInitialized } = this;\n if (isSliderInitialized) {\n this.overlayRef.detach();\n this.isSliderInitialized = false;\n } else if (!isSliderInitialized && !isSliderOpen) {\n this.initializeSliderPopover();\n }\n\n this.contentsVisible = this.contentsVisible === 'visible' ? 'invisible' : 'visible';\n this.isSliderOpen = !isSliderOpen;\n }\n\n /**\n * Handler for updates to the slider values.\n * Emits the updated selection value array.\n */\n sliderValueChanged(): void {\n const { lowValue, highValue } = this;\n\n this.selection = [lowValue, highValue];\n this.ga.event('slider_range_change', 'dual_slider', `${this.label}:${lowValue}:${highValue}`);\n this.selectionChange.emit(this.selection);\n }\n\n /**\n * Creates and initializes the slider popover.\n */\n private initializeSliderPopover(): void {\n const { overlayRef, popoverPortal } = this;\n\n overlayRef.attach(popoverPortal);\n overlayRef.updatePosition();\n\n this.isSliderInitialized = true;\n }\n\n /**\n * Updates the slider's low pointer value when Enter key is pressed.\n *\n * @param event Event passed into the component\n */\n onKeyLow(event: KeyboardEvent): void {\n const newValue = Number((event.target as HTMLInputElement).value);\n if (event.key === 'Enter') {\n if (newValue >= Number(this.options.floor) && newValue = Number(this.options.floor) && newValue \n \n\n \n \n \n \n \n {{ options.floor }}> \n \n \n\n \n \n\n \n {{ options.ceil }} \n \n \n \n\n \n \n {{ label }}\n {{ rangeLabel }}\n \n \n \n \n\n\n \n\n \n \n ./dual-slider.component.scss\n \n @use 'sass:math';\n\n.slider-form-field {\n width: 100%;\n height: 3rem;\n\n ::ng-deep .mat-form-field-wrapper {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n height: 3rem;\n\n .mat-form-field-flex {\n .mat-form-field-infix {\n border: none;\n font-size: 0.875rem;\n }\n }\n\n .mat-form-field-underline {\n left: 0rem;\n bottom: 0rem;\n transform: none;\n height: 0.125rem;\n }\n }\n}\n\n\n.slider-labels {\n display: flex;\n flex-direction: column;\n .name-label {\n padding-bottom: 0.25rem;\n }\n\n .range-label {\n font-weight: bold;\n }\n}\n\n::ng-deep .ccf-slider.wrapper {\n .mat-select-arrow-wrapper {\n transform: translatey(-1.5em);\n }\n}\n\n// Styles for the popover slider\n// NOTE: This must NOT be nested inside the wrapper/container!\n\n@keyframes slideInHorizontalSlider {\n from {\n width: 0;\n }\n to {\n width: 20em;\n }\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n\n.visible {\n animation: fadeIn 0.3s;\n transition-delay: .275s;\n animation-delay: .275s;\n}\n\n.invisible {\n opacity: 0;\n}\n\n::ng-deep .slider-pane {\n position: absolute !important;\n top: -1px;\n}\n\n.ccf-slider.detached {\n animation: slideInHorizontalSlider 0.3s;\n animation-fill-mode: forwards;\n box-shadow: 0.2rem 0.2rem 1rem 0rem #0000003e;\n\n display: flex;\n justify-content: center;\n align-items: center;\n width: 0rem;\n height: 4.375rem;\n padding: .75rem; // NOTE: Use padding instead of margin!\n\n .slider ::ng-deep {\n visibility: hidden;\n margin-top: 0.9375rem;\n margin-bottom: 0.9375rem;\n .ng5-slider-bar {\n opacity: .2;\n height: .15rem;\n }\n\n .ng5-slider-selection {\n opacity: 1;\n }\n\n .ng5-slider-pointer {\n $pointer-size: 1rem;\n\n width: $pointer-size;\n height: $pointer-size;\n top: 0.095rem - math.div($pointer-size, 2);\n\n &:after {\n display: none;\n }\n }\n }\n\n .label {\n display: flex;\n flex-direction: column;\n width: 2rem;\n\n &.min {\n margin-right: 1rem;\n }\n\n &.max {\n margin-left: 1rem;\n align-items: flex-end;\n\n .ceil, input {\n text-align: right;\n }\n }\n\n .floor, .ceil {\n font-size: 0.875rem;\n }\n\n input {\n border: none;\n width: 1.75rem;\n font-size: 1rem;\n font-weight: bold;\n padding: 0;\n }\n\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ options.floor }}> {{ options.ceil }} {{ label }} {{ rangeLabel }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'DualSliderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DualSliderModule.html":{"url":"modules/DualSliderModule.html","title":"module - DualSliderModule","body":"\n \n\n\n\n\n Modules\n DualSliderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DualSliderModule\n\n\n\ncluster_DualSliderModule_declarations\n\n\n\ncluster_DualSliderModule_exports\n\n\n\n\nDualSliderComponent\n\nDualSliderComponent\n\n\n\nDualSliderModule\n\nDualSliderModule\n\nDualSliderModule -->\n\nDualSliderComponent->DualSliderModule\n\n\n\n\n\nDualSliderComponent \n\nDualSliderComponent \n\nDualSliderComponent -->\n\nDualSliderModule->DualSliderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n DualSliderComponent\n \n \n \n \n Exports\n \n \n DualSliderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { Ng5SliderModule } from 'ng5-slider';\n\nimport { DualSliderComponent } from './dual-slider.component';\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n PortalModule,\n MatFormFieldModule,\n MatSelectModule,\n Ng5SliderModule\n ],\n declarations: [DualSliderComponent],\n exports: [DualSliderComponent]\n})\nexport class DualSliderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/FiltersContentComponent.html":{"url":"components/FiltersContentComponent.html","title":"component - FiltersContentComponent","body":"\n \n\n\n\n\n\n Components\n \n FiltersContentComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts\n\n\n\n \n Description\n \n \n Contains components of the filters popup and handles changes in filter settings\n\n \n\n\n \n Implements\n \n \n OnChanges\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-filters-content\n \n\n \n styleUrls\n ./filters-content.component.scss\n \n\n\n\n \n templateUrl\n ./filters-content.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n applyButtonClick\n \n \n ngOnChanges\n \n \n refreshFilters\n \n \n updateFilter\n \n \n updateSearchSelection\n \n \n updateSexFromSelection\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n filters\n \n \n hidden\n \n \n providerFilters\n \n \n spatialSearchFilters\n \n \n technologyFilters\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n applyFilters\n \n \n filtersChange\n \n \n spatialSearchRemoved\n \n \n spatialSearchSelected\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:63\n \n \n\n \n \n Creates an instance of filters content component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n filters\n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:28\n \n \n \n \n Allows the filters to be set from outside the component\n\n \n \n \n \n \n \n \n \n \n hidden\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:23\n \n \n \n \n Determines if the filters are visible\n\n \n \n \n \n \n \n \n \n \n providerFilters\n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:38\n \n \n \n \n List of providers in the data\n\n \n \n \n \n \n \n \n \n \n spatialSearchFilters\n \n \n \n \n Type : SpatialSearchFilterItem[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:43\n \n \n \n \n List of spatial searches\n\n \n \n \n \n \n \n \n \n \n technologyFilters\n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:33\n \n \n \n \n List of technologies in the data\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n applyFilters\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:63\n \n \n \n \n Emits the filters to be applied\n\n \n \n \n \n \n \n \n \n \n filtersChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:48\n \n \n \n \n Emits the filter change when they happen\n\n \n \n \n \n \n \n \n \n \n spatialSearchRemoved\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:58\n \n \n \n \n Emits when a spatial search is removed/deleted\n\n \n \n \n \n \n \n \n \n \n spatialSearchSelected\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:53\n \n \n \n \n Emits when a spatial search is selected/deselected\n\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n applyButtonClick\n \n \n \n \n \n \napplyButtonClick()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:96\n \n \n\n\n \n \n Emits the current filters when the apply button is clicked\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnChanges\n \n \n \n \n \n \nngOnChanges(changes: SimpleChanges)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:75\n \n \n\n\n \n \n Handle input changes\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n changes\n \n SimpleChanges\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n refreshFilters\n \n \n \n \n \n \nrefreshFilters()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:105\n \n \n\n\n \n \n Refreshes all filter settings\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateFilter\n \n \n \n \n \n \nupdateFilter(value, key: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:87\n \n \n\n\n \n \n Updates the filter object with a new key/value\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n \n\n \n No\n \n\n\n \n The value to be saved for the filter\n\n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n The key for the filter to be saved at\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateSearchSelection\n \n \n \n \n \n \nupdateSearchSelection(items: SpatialSearchFilterItem[])\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:117\n \n \n\n\n \n \n Emits events for updated searches\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n items\n \n SpatialSearchFilterItem[]\n \n\n \n No\n \n\n\n \n New set of selected items\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateSexFromSelection\n \n \n \n \n \n \nupdateSexFromSelection(items: SpatialSearchFilterItem[])\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts:128\n \n \n\n\n \n \n Updates sex to Both if there is a mismatch between the current selection and the sex\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n items\n \n SpatialSearchFilterItem[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { DEFAULT_FILTER } from '../../../core/store/data/data.state';\nimport { SpatialSearchFilterItem } from '../../../core/store/spatial-search-filter/spatial-search-filter.state';\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\n\n\n/**\n * Contains components of the filters popup and handles changes in filter settings\n */\n@Component({\n selector: 'ccf-filters-content',\n templateUrl: './filters-content.component.html',\n styleUrls: ['./filters-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FiltersContentComponent implements OnChanges {\n\n /**\n * Determines if the filters are visible\n */\n @Input() hidden: boolean;\n\n /**\n * Allows the filters to be set from outside the component\n */\n @Input() filters: Record;\n\n /**\n * List of technologies in the data\n */\n @Input() technologyFilters: string[];\n\n /**\n * List of providers in the data\n */\n @Input() providerFilters: string[];\n\n /**\n * List of spatial searches\n */\n @Input() spatialSearchFilters: SpatialSearchFilterItem[] = [];\n\n /**\n * Emits the filter change when they happen\n */\n @Output() readonly filtersChange = new EventEmitter>();\n\n /**\n * Emits when a spatial search is selected/deselected\n */\n @Output() readonly spatialSearchSelected = new EventEmitter();\n\n /**\n * Emits when a spatial search is removed/deleted\n */\n @Output() readonly spatialSearchRemoved = new EventEmitter();\n\n /**\n * Emits the filters to be applied\n */\n @Output() readonly applyFilters = new EventEmitter>();\n\n /**\n * Creates an instance of filters content component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Handle input changes\n */\n ngOnChanges(changes: SimpleChanges): void {\n if ('spatialSearchFilters' in changes) {\n this.updateSexFromSelection(this.spatialSearchFilters.filter(item => item.selected));\n }\n }\n\n /**\n * Updates the filter object with a new key/value\n *\n * @param value The value to be saved for the filter\n * @param key The key for the filter to be saved at\n */\n updateFilter(value: unknown, key: string): void {\n this.filters = { ...this.filters, [key]: value };\n this.ga.event('filter_update', 'filter_content', `${key}:${value}`);\n this.filtersChange.emit(this.filters);\n }\n\n /**\n * Emits the current filters when the apply button is clicked\n */\n applyButtonClick(): void {\n this.updateSearchSelection(this.spatialSearchFilters.filter(item => item.selected));\n this.ga.event('filters_applied', 'filter_content');\n this.applyFilters.emit(this.filters);\n }\n\n /**\n * Refreshes all filter settings\n */\n refreshFilters(): void {\n this.filters = JSON.parse(JSON.stringify(DEFAULT_FILTER));\n this.ga.event('filters_reset', 'filter_content');\n this.spatialSearchSelected.emit([]);\n this.filtersChange.emit(this.filters);\n }\n\n /**\n * Emits events for updated searches\n *\n * @param items New set of selected items\n */\n updateSearchSelection(items: SpatialSearchFilterItem[]): void {\n const searches = items.map(item => item.search);\n\n this.spatialSearchSelected.emit(items);\n this.updateFilter(searches, 'spatialSearches');\n this.updateSexFromSelection(items);\n }\n\n /**\n * Updates sex to `Both` if there is a mismatch between the current selection and the sex\n */\n updateSexFromSelection(items: SpatialSearchFilterItem[]): void {\n const currentSex = (this.filters['sex'] as string)?.toLowerCase() as Sex;\n const selectedSexes = new Set(items.map(item => item.sex));\n\n if (items.length > 0 && (selectedSexes.size > 1 || !selectedSexes.has(currentSex))) {\n this.updateFilter('Both', 'sex');\n }\n }\n}\n\n \n\n \n \n \n\n \n \n\n\n\n \n\n\n\n \n\n\n 0\" class=\"filter spatial-locations\" [class.hidden]=\"hidden\">\n \n \n\n\n\n \n \n APPLY FILTERS\n \n refresh\n \n \n\n\n \n\n \n \n ./filters-content.component.scss\n \n .filter {\n &.hidden {\n opacity: 0;\n transition-duration: 0.2s;\n }\n\n &.assays {\n .option {\n margin-right: 0 rem;\n width: 25%\n }\n }\n\n margin-top: 2rem;\n}\n\n.button-container {\n display: flex;\n justify-content: space-between;\n margin-top: 2rem;\n\n ::ng-deep button {\n border-width: 1px;\n border-style: solid;\n }\n}\n\n.button-container {\n display: flex;\n justify-content: space-between;\n margin-top: 2rem;\n\n button {\n border-width: 1px;\n border-style: solid;\n }\n\n &.hidden {\n opacity: 0;\n transition-duration: 0.2s;\n }\n\n .right-group {\n display: flex;\n flex-direction: row-reverse;\n align-items: center;\n \n .outline-button {\n box-shadow: 0.1rem 0.1rem 0.2rem 0rem #0000001d;\n }\n \n .refresh-icon {\n padding: 0.25rem;\n border-radius: 0.25rem;\n margin-right: 1rem;\n display: flex;\n justify-content: center;\n align-items: center;\n transition: 0.6s;\n \n .refresh {\n cursor: pointer;\n transition: .6s;\n transition-property: background;\n }\n }\n }\n}\n\n.patient-filters {\n display: flex;\n width: 90%;\n padding-top: 1rem;\n\n &.hidden {\n opacity: 0;\n transition-duration: 0.2s;\n }\n\n ccf-dual-slider {\n margin-left: .5rem;\n width: 33%;\n }\n\n ccf-dropdown {\n width: 33%;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' 0\" class=\"filter spatial-locations\" [class.hidden]=\"hidden\"> APPLY FILTERS refresh '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'FiltersContentComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FiltersContentModule.html":{"url":"modules/FiltersContentModule.html","title":"module - FiltersContentModule","body":"\n \n\n\n\n\n Modules\n FiltersContentModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_FiltersContentModule\n\n\n\ncluster_FiltersContentModule_imports\n\n\n\ncluster_FiltersContentModule_declarations\n\n\n\ncluster_FiltersContentModule_exports\n\n\n\n\nFiltersContentComponent\n\nFiltersContentComponent\n\n\n\nFiltersContentModule\n\nFiltersContentModule\n\nFiltersContentModule -->\n\nFiltersContentComponent->FiltersContentModule\n\n\n\n\n\nFiltersContentComponent \n\nFiltersContentComponent \n\nFiltersContentComponent -->\n\nFiltersContentModule->FiltersContentComponent \n\n\n\n\n\nCheckboxModule\n\nCheckboxModule\n\nFiltersContentModule -->\n\nCheckboxModule->FiltersContentModule\n\n\n\n\n\nDropdownModule\n\nDropdownModule\n\nFiltersContentModule -->\n\nDropdownModule->FiltersContentModule\n\n\n\n\n\nDualSliderModule\n\nDualSliderModule\n\nFiltersContentModule -->\n\nDualSliderModule->FiltersContentModule\n\n\n\n\n\nRunSpatialSearchModule\n\nRunSpatialSearchModule\n\nFiltersContentModule -->\n\nRunSpatialSearchModule->FiltersContentModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n FiltersContentComponent\n \n \n \n \n Imports\n \n \n CheckboxModule\n \n \n DropdownModule\n \n \n DualSliderModule\n \n \n RunSpatialSearchModule\n \n \n \n \n Exports\n \n \n FiltersContentComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { SpatialSearchListModule } from 'ccf-shared';\n\nimport { CheckboxModule } from '../../../shared/components/checkbox/checkbox.module';\nimport { DropdownModule } from '../../../shared/components/dropdown/dropdown.module';\nimport { DualSliderModule } from '../../../shared/components/dual-slider/dual-slider.module';\nimport { RunSpatialSearchModule } from '../../../shared/components/run-spatial-search/run-spatial-search.module';\nimport { FiltersContentComponent } from './filters-content.component';\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatButtonModule,\n MatIconModule,\n\n CheckboxModule,\n DropdownModule,\n DualSliderModule,\n SpatialSearchListModule,\n RunSpatialSearchModule\n ],\n declarations: [FiltersContentComponent],\n exports: [FiltersContentComponent]\n})\nexport class FiltersContentModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/FiltersPopoverComponent.html":{"url":"components/FiltersPopoverComponent.html","title":"component - FiltersPopoverComponent","body":"\n \n\n\n\n\n\n Components\n \n FiltersPopoverComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts\n\n\n\n \n Description\n \n \n Popover box for filter settings\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-filters-popover\n \n\n \n styleUrls\n ./filters-popover.component.scss\n \n\n\n\n \n templateUrl\n ./filters-popover.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n filtersVisible\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n applyFilters\n \n \n removeBox\n \n \n toggleFilterVisible\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n drawerExpanded\n \n \n filters\n \n \n providerFilters\n \n \n spatialSearchFilters\n \n \n technologyFilters\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n filtersChange\n \n \n spatialSearchRemoved\n \n \n spatialSearchSelected\n \n \n \n \n\n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n drawerExpanded\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:27\n \n \n \n \n Keeps track of whether or not the containing drawer is expanded\nBecause the styles need to change accordingly\n\n \n \n \n \n \n \n \n \n \n filters\n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:21\n \n \n \n \n Allows the filters to be set from outside the component, and still render / function normally\n\n \n \n \n \n \n \n \n \n \n providerFilters\n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:37\n \n \n \n \n List of providers in the data\n\n \n \n \n \n \n \n \n \n \n spatialSearchFilters\n \n \n \n \n Type : SpatialSearchFilterItem[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:42\n \n \n \n \n List of spatial searches\n\n \n \n \n \n \n \n \n \n \n technologyFilters\n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:32\n \n \n \n \n List of technologies in the data\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n filtersChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:47\n \n \n \n \n Emits the current filters\n\n \n \n \n \n \n \n \n \n \n spatialSearchRemoved\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:57\n \n \n \n \n Emits when a spatial search is removed/deleted\n\n \n \n \n \n \n \n \n \n \n spatialSearchSelected\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:52\n \n \n \n \n Emits when a spatial search is selected/deselected\n\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n applyFilters\n \n \n \n \n \n \napplyFilters(filters: Record)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:87\n \n \n\n\n \n \n Emits the current filters, and hides the popover box\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filters\n \n Record\n \n\n \n No\n \n\n\n \n The object containing all the currently set filters\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeBox\n \n \n \n \n \n \nremoveBox()\n \n \n\n \n \n Decorators : \n \n @Dispatch()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:77\n \n \n\n\n \n \n Hides the filters popover box\n\n\n \n Returns : SetExecuteSearchOnGenerate\n\n \n \n \n \n \n \n \n \n \n \n \n toggleFilterVisible\n \n \n \n \n \n \ntoggleFilterVisible()\n \n \n\n \n \n Decorators : \n \n @Dispatch()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:68\n \n \n\n\n \n \n Toggles filter visible\n\n\n \n Returns : SetExecuteSearchOnGenerate\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n filtersVisible\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts:62\n \n \n\n \n \n Keeps track of whether or not the filters popover box is visible or not\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Dispatch } from '@ngxs-labs/dispatch-decorator';\n\nimport { SpatialSearchFilterItem } from '../../../core/store/spatial-search-filter/spatial-search-filter.state';\nimport { SetExecuteSearchOnGenerate } from '../../../core/store/spatial-search-ui/spatial-search-ui.actions';\n\n\n/**\n * Popover box for filter settings\n */\n@Component({\n selector: 'ccf-filters-popover',\n templateUrl: './filters-popover.component.html',\n styleUrls: ['./filters-popover.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FiltersPopoverComponent {\n /**\n * Allows the filters to be set from outside the component, and still render / function normally\n */\n @Input() filters: Record;\n\n /**\n * Keeps track of whether or not the containing drawer is expanded\n * Because the styles need to change accordingly\n */\n @Input() drawerExpanded: boolean;\n\n /**\n * List of technologies in the data\n */\n @Input() technologyFilters: string[];\n\n /**\n * List of providers in the data\n */\n @Input() providerFilters: string[];\n\n /**\n * List of spatial searches\n */\n @Input() spatialSearchFilters: SpatialSearchFilterItem[] = [];\n\n /**\n * Emits the current filters\n */\n @Output() readonly filtersChange = new EventEmitter>();\n\n /**\n * Emits when a spatial search is selected/deselected\n */\n @Output() readonly spatialSearchSelected = new EventEmitter();\n\n /**\n * Emits when a spatial search is removed/deleted\n */\n @Output() readonly spatialSearchRemoved = new EventEmitter();\n\n /**\n * Keeps track of whether or not the filters popover box is visible or not\n */\n filtersVisible = false;\n\n /**\n * Toggles filter visible\n */\n @Dispatch()\n toggleFilterVisible(): SetExecuteSearchOnGenerate {\n this.filtersVisible = !this.filtersVisible;\n return new SetExecuteSearchOnGenerate(false);\n }\n\n /**\n * Hides the filters popover box\n */\n @Dispatch()\n removeBox(): SetExecuteSearchOnGenerate {\n this.filtersVisible = false;\n return new SetExecuteSearchOnGenerate(true);\n }\n\n /**\n * Emits the current filters, and hides the popover box\n *\n * @param filters The object containing all the currently set filters\n */\n applyFilters(filters: Record): void {\n this.filters = filters;\n this.filtersChange.emit(filters);\n this.removeBox();\n }\n}\n\n \n\n \n \n \n \n close\n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n \n \n ./filters-popover.component.scss\n \n .filters-popover {\n position: inherit;\n\n &.expanded {\n position: relative;\n\n .popup-container {\n right: inherit;\n }\n\n .popup-body {\n padding-left: 4em !important;\n }\n }\n}\n\n.popup-container {\n position: absolute;\n z-index: 5;\n top: 1.2rem;\n left: 1.48rem;\n box-shadow: 0.2rem 0.2rem 1rem 0rem #00000058;\n\n .popup-body {\n padding: 1.5rem;\n position: relative;\n }\n\n &.visible {\n width: 35rem;\n transition: width 0.2s ease-in-out;\n border-width: 1px;\n\n .popup-body {\n opacity: 1;\n transition-delay: 0.3s;\n transition-duration: 0.2s;\n }\n }\n\n &.hidden {\n width: 0;\n height: 0;\n transition: all 0.2s ease-out;\n transition-delay: 0.3s;\n pointer-events: none;\n\n .popup-body {\n opacity: 0;\n transition: opacity 0.2s ease-in-out;\n }\n }\n}\n\n.show-hide {\n background: none;\n border: none;\n z-index: 10;\n position: relative;\n cursor: pointer;\n outline: none;\n padding: 0.5rem;\n border-radius: 0.25rem;\n transition: 0.6s;\n\n .funnel {\n // margin-top: 0.25rem;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' close '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'FiltersPopoverComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FiltersPopoverModule.html":{"url":"modules/FiltersPopoverModule.html","title":"module - FiltersPopoverModule","body":"\n \n\n\n\n\n Modules\n FiltersPopoverModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_FiltersPopoverModule\n\n\n\ncluster_FiltersPopoverModule_exports\n\n\n\ncluster_FiltersPopoverModule_declarations\n\n\n\ncluster_FiltersPopoverModule_imports\n\n\n\n\nFiltersPopoverComponent\n\nFiltersPopoverComponent\n\n\n\nFiltersPopoverModule\n\nFiltersPopoverModule\n\nFiltersPopoverModule -->\n\nFiltersPopoverComponent->FiltersPopoverModule\n\n\n\n\n\nFiltersPopoverComponent \n\nFiltersPopoverComponent \n\nFiltersPopoverComponent -->\n\nFiltersPopoverModule->FiltersPopoverComponent \n\n\n\n\n\nFiltersContentModule\n\nFiltersContentModule\n\nFiltersPopoverModule -->\n\nFiltersContentModule->FiltersPopoverModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n FiltersPopoverComponent\n \n \n \n \n Imports\n \n \n FiltersContentModule\n \n \n \n \n Exports\n \n \n FiltersPopoverComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FiltersContentModule } from '../filters-content/filters-content.module';\nimport { FiltersPopoverComponent } from './filters-popover.component';\n\n\n@NgModule({\n imports: [CommonModule, MatIconModule, FiltersContentModule],\n declarations: [FiltersPopoverComponent],\n exports: [FiltersPopoverComponent]\n})\nexport class FiltersPopoverModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FlatNode.html":{"url":"classes/FlatNode.html","title":"class - FlatNode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FlatNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/models/flat-node.ts\n \n\n\n \n Description\n \n \n Node type used by ontology tree component.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n numResults\n \n \n Optional\n opacity\n \n \n Optional\n visible\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n create\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n label\n \n \n expandable\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(original: OntologyTreeNode, level: number)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/models/flat-node.ts:38\n \n \n\n \n \n Creates an instance of flat node.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n original\n \n \n OntologyTreeNode\n \n \n \n No\n \n \n \n The original ontology node object.\n\n \n \n \n level\n \n \n number\n \n \n \n No\n \n \n \n The level of the new flat node in the tree.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n numResults\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/models/flat-node.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n opacity\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 20\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/models/flat-node.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n visible\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/models/flat-node.ts:9\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n create\n \n \n \n \n \n \n \n create(original: OntologyTreeNode, level: number)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/models/flat-node.ts:36\n \n \n\n\n \n \n Creates a flat node from a ontology node object and a level in the tree.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n original\n \n OntologyTreeNode\n \n\n \n No\n \n\n\n \n The original ontology node object.\n\n \n \n \n level\n \n number\n \n\n \n No\n \n\n\n \n The level of the new flat node in the tree.\n\n \n \n \n \n \n \n \n \n Returns : FlatNode\n\n \n \n The newly created flat node.\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n label\n \n \n\n \n \n getlabel()\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/models/flat-node.ts:18\n \n \n \n \n Gets this node's label.\n\n\n \n Returns : string\n\n \n \n \n\n \n \n \n \n \n \n \n expandable\n \n \n\n \n \n getexpandable()\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/models/flat-node.ts:25\n \n \n \n \n Indicates whether this node has children.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n \n\n\n \n import { OntologyTreeNode } from 'ccf-database';\n\n\n/**\n * Node type used by ontology tree component.\n */\nexport class FlatNode {\n visible?: boolean = true;\n\n opacity?: number = 20;\n\n numResults?: number;\n\n /**\n * Gets this node's label.\n */\n get label(): string {\n return this.original.label;\n }\n\n /**\n * Indicates whether this node has children.\n */\n get expandable(): boolean {\n return this.original.children.length > 0;\n }\n\n /**\n * Creates a flat node from a ontology node object and a level in the tree.\n *\n * @param original The original ontology node object.\n * @param level The level of the new flat node in the tree.\n * @returns The newly created flat node.\n */\n static create(original: OntologyTreeNode, level: number): FlatNode {\n return new FlatNode(original, level);\n }\n\n /**\n * Creates an instance of flat node.\n *\n * @param original The original ontology node object.\n * @param level The level of the new flat node in the tree.\n */\n constructor(readonly original: OntologyTreeNode, readonly level: number) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GenerateSpatialSearch.html":{"url":"classes/GenerateSpatialSearch.html","title":"class - GenerateSpatialSearch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GenerateSpatialSearch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Generate and add a spatial search'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/HeaderComponent.html":{"url":"components/HeaderComponent.html","title":"component - HeaderComponent","body":"\n \n\n\n\n\n\n Components\n \n HeaderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/core/header/header.component.ts\n\n\n\n \n Description\n \n \n Header which is always displayed on the site; contains current filter info,\na link to download data, and a logo which resets the page when clicked.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-header\n \n\n \n styleUrls\n ./header.component.scss\n \n\n\n\n \n templateUrl\n ./header.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n filters\n \n \n homeUrl\n \n \n loggedIn\n \n \n loginDisabled\n \n \n logoTooltip\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n downloadClicked\n \n \n refreshClicked\n \n \n \n \n\n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n filters\n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/header/header.component.ts:32\n \n \n \n \n Current filter settings\n\n \n \n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/header/header.component.ts:18\n \n \n \n \n URL to Portal site\n\n \n \n \n \n \n \n \n \n \n loggedIn\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/header/header.component.ts:27\n \n \n \n \n Is the user logged in?\n\n \n \n \n \n \n \n \n \n \n loginDisabled\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/header/header.component.ts:20\n \n \n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/header/header.component.ts:22\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n downloadClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/header/header.component.ts:42\n \n \n \n \n Emitted when download button is clicked\n\n \n \n \n \n \n \n \n \n \n refreshClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/header/header.component.ts:37\n \n \n \n \n Emitted when refresh button is clicked\n\n \n \n \n \n\n\n\n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\n\n/**\n * Header which is always displayed on the site; contains current filter info,\n * a link to download data, and a logo which resets the page when clicked.\n */\n@Component({\n selector: 'ccf-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderComponent {\n\n /**\n * URL to Portal site\n */\n @Input() homeUrl: string;\n\n @Input() loginDisabled: boolean;\n\n @Input() logoTooltip: string;\n\n /**\n * Is the user logged in?\n */\n @Input() loggedIn: boolean;\n\n /**\n * Current filter settings\n */\n @Input() filters: Record;\n\n /**\n * Emitted when refresh button is clicked\n */\n @Output() readonly refreshClicked = new EventEmitter();\n\n /**\n * Emitted when download button is clicked\n */\n @Output() readonly downloadClicked = new EventEmitter();\n}\n\n \n\n \n \n \n \n \n \n\n \n \n LOGIN\n LOGOUT\n\n\n \n\n \n \n ./header.component.scss\n \n .ccf-header {\n height: 4rem;\n padding: 0 1.5rem;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n display: flex;\n\n .home {\n height: 100%;\n width: 25rem;\n align-items: center;\n display: flex;\n padding: 0.25rem 0;\n }\n\n .logo {\n width: 100%;\n height: 50%;\n background-repeat: no-repeat;\n background-size: contain;\n }\n\n .download {\n height: 1.5rem;\n }\n\n // Styled to match the HuBMAP Portal\n .authentication {\n width: 8.25rem;\n border-radius: 0.125rem;\n font-weight: 500;\n }\n\n .logo, .download, .refresh {\n display: flex;\n align-items: center;\n transition: color 1s;\n cursor: pointer;\n text-decoration: none;\n }\n\n :not(:last-child) {\n margin-right: 1.5rem;\n }\n\n .filler {\n flex-grow: 1;\n margin: 0;\n }\n\n .filter-labels {\n display: flex;\n align-items: center;\n height: 100%;\n font: 400 1rem/1.25rem Inter, sans-serif;\n }\n\n .disabled {\n display: none;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' LOGIN LOGOUT'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'HeaderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/HeaderModule.html":{"url":"modules/HeaderModule.html","title":"module - HeaderModule","body":"\n \n\n\n\n\n Modules\n HeaderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_HeaderModule\n\n\n\ncluster_HeaderModule_declarations\n\n\n\ncluster_HeaderModule_exports\n\n\n\n\nHeaderComponent\n\nHeaderComponent\n\n\n\nHeaderModule\n\nHeaderModule\n\nHeaderModule -->\n\nHeaderComponent->HeaderModule\n\n\n\n\n\nHeaderComponent \n\nHeaderComponent \n\nHeaderComponent -->\n\nHeaderModule->HeaderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/core/header/header.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n HeaderComponent\n \n \n \n \n Exports\n \n \n HeaderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { HeaderComponent } from './header.component';\n\n\n@NgModule({\n imports: [CommonModule, MatButtonModule, MatIconModule, MatToolbarModule, MatTooltipModule],\n declarations: [HeaderComponent],\n exports: [HeaderComponent]\n})\nexport class HeaderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IconDefinition.html":{"url":"interfaces/IconDefinition.html","title":"interface - IconDefinition","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IconDefinition\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n\n\n \n Description\n \n \n Object definition for registering new svg icons.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n html\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n namespace\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n html\n \n \n \n \n \n \n \n \n html: SafeHtml\n\n \n \n\n\n \n \n Type : SafeHtml\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Html containing the svg of the icon or icon set.\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Name to register the icon under.\n\n \n \n \n \n \n \n \n \n \n namespace\n \n \n \n \n \n \n \n \n namespace: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Namespace to register the icon or icon set under.\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: SafeResourceUrl\n\n \n \n\n\n \n \n Type : SafeResourceUrl\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Url to fetch the icon or icon set from.\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Optional } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';\nimport { DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\n\nimport { DEFAULT_ICONS } from './default-icons';\n\n\n/**\n * Object definition for registering new svg icons.\n */\nexport interface IconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: SafeResourceUrl;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: SafeHtml;\n}\n\n\n/**\n * State handling the registration of icons for use with `mat-icon`.\n */\n@StateRepository()\n@State({ name: 'iconRegistry' })\n@Injectable()\nexport class IconRegistryState extends NgxsDataRepository {\n /**\n * Creates an instance of icon registry state.\n *\n * @param registry Material icon registry.\n * @param sanitizer Service used to sanitize default imported urls and html.\n */\n constructor(\n @Optional() private readonly registry: MatIconRegistry | null,\n sanitizer: DomSanitizer\n ) {\n super();\n\n for (const { name, namespace, url, html } of DEFAULT_ICONS) {\n const safeDef: IconDefinition = {\n name, namespace,\n url: url && sanitizer.bypassSecurityTrustResourceUrl(url),\n html: html && sanitizer.bypassSecurityTrustHtml(html)\n };\n\n this.registerIconImpl(safeDef);\n }\n }\n\n /**\n * Registers a svg icon for use in mat-icon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n @DataAction()\n registerIcon(definition: IconDefinition): boolean {\n return this.registerIconImpl(definition);\n }\n\n /**\n * Backing implementation of registerIcon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n private registerIconImpl(definition: IconDefinition): boolean {\n if (!this.registry) {\n return false;\n }\n if (!definition.url && !definition.html) {\n return false;\n }\n\n const registry = this.registry as unknown as { [prop: string]: (...arg: unknown[]) => void };\n const methodName = this.getMethodName(definition);\n const method = registry[methodName];\n const args = this.getArguments(definition);\n\n if (!method) {\n return false;\n }\n try {\n method.apply(registry, args);\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n /**\n * Selects the MatIconRegistry method used to register the icon.\n *\n * @param definition Icon definition.\n * @returns The name of the registry method.\n */\n private getMethodName({ name, namespace, url }: IconDefinition): string {\n const parts = ['addSvgIcon'];\n if (!name) {\n parts.push('Set');\n }\n if (!url) {\n parts.push('Literal');\n }\n if (namespace) {\n parts.push('InNamespace');\n }\n return parts.join('');\n }\n\n /**\n * Selects the argument used to call the registration method.\n *\n * @param definition Icon definition.\n * @returns An array of arguments.\n */\n private getArguments({ name, namespace, url, html }: IconDefinition): unknown[] {\n const args: unknown[] = [namespace, name, url ?? html];\n return args.filter(value => !!value);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/IconRegistryState.html":{"url":"injectables/IconRegistryState.html","title":"injectable - IconRegistryState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n IconRegistryState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n\n\n \n Description\n \n \n State handling the registration of icons for use with mat-icon.\n\n \n\n \n Extends\n \n \n NgxsDataRepository\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n getArguments\n \n \n Private\n getMethodName\n \n \n registerIcon\n \n \n Private\n registerIconImpl\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(registry: MatIconRegistry | null, sanitizer: DomSanitizer)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts:43\n \n \n\n \n \n Creates an instance of icon registry state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n registry\n \n \n MatIconRegistry | null\n \n \n \n No\n \n \n \n Material icon registry.\n\n \n \n \n sanitizer\n \n \n DomSanitizer\n \n \n \n No\n \n \n \n Service used to sanitize default imported urls and html.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n getArguments\n \n \n \n \n \n \n \n getArguments(undefined: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts:134\n \n \n\n\n \n \n Selects the argument used to call the registration method.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n IconDefinition\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : []\n\n \n \n An array of arguments.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getMethodName\n \n \n \n \n \n \n \n getMethodName(undefined: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts:114\n \n \n\n\n \n \n Selects the MatIconRegistry method used to register the icon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n IconDefinition\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n The name of the registry method.\n\n \n \n \n \n \n \n \n \n \n \n \n registerIcon\n \n \n \n \n \n \nregisterIcon(definition: IconDefinition)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts:74\n \n \n\n\n \n \n Registers a svg icon for use in mat-icon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n definition\n \n IconDefinition\n \n\n \n No\n \n\n\n \n Icon to register.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if registration was successful, otherwise false.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n registerIconImpl\n \n \n \n \n \n \n \n registerIconImpl(definition: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts:84\n \n \n\n\n \n \n Backing implementation of registerIcon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n definition\n \n IconDefinition\n \n\n \n No\n \n\n\n \n Icon to register.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if registration was successful, otherwise false.\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, Optional } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';\nimport { DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\n\nimport { DEFAULT_ICONS } from './default-icons';\n\n\n/**\n * Object definition for registering new svg icons.\n */\nexport interface IconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: SafeResourceUrl;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: SafeHtml;\n}\n\n\n/**\n * State handling the registration of icons for use with `mat-icon`.\n */\n@StateRepository()\n@State({ name: 'iconRegistry' })\n@Injectable()\nexport class IconRegistryState extends NgxsDataRepository {\n /**\n * Creates an instance of icon registry state.\n *\n * @param registry Material icon registry.\n * @param sanitizer Service used to sanitize default imported urls and html.\n */\n constructor(\n @Optional() private readonly registry: MatIconRegistry | null,\n sanitizer: DomSanitizer\n ) {\n super();\n\n for (const { name, namespace, url, html } of DEFAULT_ICONS) {\n const safeDef: IconDefinition = {\n name, namespace,\n url: url && sanitizer.bypassSecurityTrustResourceUrl(url),\n html: html && sanitizer.bypassSecurityTrustHtml(html)\n };\n\n this.registerIconImpl(safeDef);\n }\n }\n\n /**\n * Registers a svg icon for use in mat-icon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n @DataAction()\n registerIcon(definition: IconDefinition): boolean {\n return this.registerIconImpl(definition);\n }\n\n /**\n * Backing implementation of registerIcon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n private registerIconImpl(definition: IconDefinition): boolean {\n if (!this.registry) {\n return false;\n }\n if (!definition.url && !definition.html) {\n return false;\n }\n\n const registry = this.registry as unknown as { [prop: string]: (...arg: unknown[]) => void };\n const methodName = this.getMethodName(definition);\n const method = registry[methodName];\n const args = this.getArguments(definition);\n\n if (!method) {\n return false;\n }\n try {\n method.apply(registry, args);\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n /**\n * Selects the MatIconRegistry method used to register the icon.\n *\n * @param definition Icon definition.\n * @returns The name of the registry method.\n */\n private getMethodName({ name, namespace, url }: IconDefinition): string {\n const parts = ['addSvgIcon'];\n if (!name) {\n parts.push('Set');\n }\n if (!url) {\n parts.push('Literal');\n }\n if (namespace) {\n parts.push('InNamespace');\n }\n return parts.join('');\n }\n\n /**\n * Selects the argument used to call the registration method.\n *\n * @param definition Icon definition.\n * @returns An array of arguments.\n */\n private getArguments({ name, namespace, url, html }: IconDefinition): unknown[] {\n const args: unknown[] = [namespace, name, url ?? html];\n return args.filter(value => !!value);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/InitializationState.html":{"url":"classes/InitializationState.html","title":"class - InitializationState","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n InitializationState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n\n\n \n Description\n \n \n Boolean state that can also be awaited.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n deferred\n \n \n Private\n initialized\n \n \n Private\n resolve\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n set\n \n \n valueOf\n \n \n Async\n wait\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n deferred\n \n \n \n \n \n \n Default value : new Promise(resolve => {\n this.resolve = resolve;\n })\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts:37\n \n \n\n \n \n Promise used to await on.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n initialized\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts:35\n \n \n\n \n \n Whether this state is true or false.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n resolve\n \n \n \n \n \n \n Type : function\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts:41\n \n \n\n \n \n Resolve function for the promise.\n\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n set\n \n \n \n \n \n \nset()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts:46\n \n \n\n\n \n \n Sets the state to true and\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n valueOf\n \n \n \n \n \n \nvalueOf()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts:65\n \n \n\n\n \n \n Gets the boolean state of this object.\n\n\n \n \n \n Returns : boolean\n\n \n \n true if set has been called.\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n wait\n \n \n \n \n \n \n \n wait()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts:56\n \n \n\n\n \n \n Gets a promise that resolves when this state is set to true.\n\n\n \n \n \n Returns : Promise\n\n \n \n A promise.\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener,\n Input, OnDestroy, Output,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { Message, MessageChannel, MessageService } from '../messages';\n\n\n/** Opened/closed state. */\ntype OpenedState = 'open' | 'open-instant' | 'closed';\n/** Expanded/collapsed state. */\ntype ExpandedState = 'open' | 'open-instant' | 'closed';\n/** Expanded state relative to an opposite drawer. */\ntype ExpandedState2 = 'collapsed' | 'half' | 'extended' | 'full';\n\n/** Default animation parameters. */\nconst EXPAND_COLLAPSE_PARAMS_DEFAULT = {\n params: {\n width: 0,\n margin: 0,\n margin2: 0\n }\n};\n\n/**\n * Boolean state that can also be awaited.\n */\nclass InitializationState {\n /** Whether this state is true or false. */\n private initialized = false;\n /** Promise used to await on. */\n private deferred = new Promise(resolve => {\n this.resolve = resolve;\n });\n /** Resolve function for the promise. */\n private resolve: () => void;\n\n /**\n * Sets the state to true and\n */\n set(): void {\n this.initialized = true;\n this.resolve();\n }\n\n /**\n * Gets a promise that resolves when this state is set to true.\n *\n * @returns A promise.\n */\n async wait(): Promise {\n return this.deferred;\n }\n\n /**\n * Gets the boolean state of this object.\n *\n * @returns true if set has been called.\n */\n valueOf(): boolean {\n return this.initialized;\n }\n}\n\n\n/**\n * Side drawer component.\n * Contains all the logic for opening/closing/expanding.\n */\n@Component({\n selector: 'ccf-drawer',\n exportAs: 'ccfDrawer',\n templateUrl: './drawer.component.html',\n styleUrls: ['./drawer.component.scss'],\n animations: [\n trigger('openClose', [\n state('open, open-instant', style({\n transform: 'none'\n })),\n state('closed', style({})),\n\n transition('closed => open-instant', animate(0)),\n transition('closed open, open-instant => closed', animate('.5s ease-in-out'))\n ]),\n trigger('expandCollapse', [\n state('collapsed', style({})),\n state('half', style({\n width: 'calc(50% - {{ margin }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n state('extended', style({\n width: 'calc(100% - {{ width }}px - {{ margin }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n state('full', style({\n width: 'calc(100% - {{ margin }}px - {{ margin2 }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n\n transition('* *', animate('.5s ease-in-out'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DrawerComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer';\n /** Whether this is located at the end position. */\n @HostBinding('class.ccf-drawer-end') // eslint-disable-line\n get classEnd(): boolean {\n return this.position === 'end';\n }\n\n /** Position of the drawer - start (left) or end (right). */\n @Input()// eslint-disable-line\n get position(): 'start' | 'end' {\n return this._position;\n }\n set position(value: 'start' | 'end') {\n this._position = value || 'start';\n }\n /** Property for position getter/setter. */\n private _position: 'start' | 'end' = 'start';\n\n /** Whether the drawer is opened. */\n @Input() // eslint-disable-line\n @HostBinding('class.ccf-drawer-opened') // eslint-disable-line\n get opened(): boolean {\n return this._opened;\n }\n set opened(value: boolean) {\n this.toggle(coerceBooleanProperty(value));\n }\n /** Property for opened getter/setter. */\n private _opened = false;\n\n /** Whether the drawer is expanded. */\n @Input() // eslint-disable-line\n @HostBinding('class.ccf-drawer-expanded') // eslint-disable-line\n get expanded(): boolean {\n return this._expanded;\n }\n set expanded(value: boolean) {\n this.toggleExpanded(coerceBooleanProperty(value));\n }\n /** Property for expanded getter/setter */\n private _expanded = false;\n\n /** Output emitting when the drawer has opened. */\n @Output() readonly openedChange = new EventEmitter(true);\n /** Output emitting when the drawer has expanded. */\n @Output() readonly expandedChange = new EventEmitter(true);\n /** Output emitting whenever the drawer state changes. */\n @Output() readonly stateChange = new EventEmitter(true);\n\n /** Current open/close animation state. */\n @HostBinding('@openClose')\n openedState: OpenedState = 'closed';\n\n /** Expanded/collapsed state parameters. */\n @HostBinding('@expandCollapse') // eslint-disable-line\n get expandedStateObj(): unknown {\n return {\n value: this.expandedState2, params: {\n width: this.width, margin: this.measuredMargin,\n margin2: this.margin2\n }\n };\n }\n /** Current expanded/collapsed animation state. */\n expandedState: ExpandedState = 'closed';\n /** Current expanded state relative to the opposite drawer. */\n private expandedState2: ExpandedState2 = 'collapsed';\n\n /** Gets the calculated width of the drawer. */\n private get measuredWidth(): number {\n if (this._measuredWidth > 0) {\n return this._measuredWidth;\n }\n\n const element = this.element.nativeElement;\n if (!element) {\n return 0;\n }\n\n const bbox = element.getBoundingClientRect();\n const width = bbox.right - bbox.left;\n if (width === 0) {\n return 0;\n }\n\n this._measuredWidth = width;\n return width;\n }\n /** Cached measured width. */\n private _measuredWidth = 0;\n /** Width of opposite drawer. */\n private width = 0;\n\n /** Gets the calculated margin of the drawer. */\n private get measuredMargin(): number {\n if (this._measuredMargin > 0) {\n return this._measuredMargin;\n }\n\n const element = this.element.nativeElement;\n if (!element) {\n return 0;\n }\n\n const styles = globalThis.getComputedStyle(element);\n const property = this.position === 'start' ? 'margin-right' : 'margin-left';\n const value = styles.getPropertyValue(property);\n const margin = Number(value.slice(0, -2));\n\n this._measuredMargin = margin;\n return margin;\n }\n /** Cached measured margin. */\n private _measuredMargin = 0;\n /** Margin of the opposite drawer. */\n private margin2 = 0;\n\n /** Initialization state. */\n private initialized = new InitializationState();\n /** Connected message channel. */\n private channel: MessageChannel;\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of drawer component.\n *\n * @param messageService Service for sending/receiving event messages.\n * @param cdr The change detector reference.\n * @param element Reference to components HTML element.\n */\n constructor(\n messageService: MessageService,\n cdr: ChangeDetectorRef,\n private readonly element: ElementRef\n ) {\n this.channel = messageService.connect(this);\n this.subscriptions.add(this.channel.getMessages().subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Initializes this component.\n */\n ngAfterViewInit(): void {\n this.initialized.set();\n setTimeout(() => this.channel.sendMessage({ type: 'drawer-initialized' }));\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Opens the drawer.\n */\n open(): void {\n this.toggle(true);\n }\n\n /**\n * Closes the drawer.\n */\n close(): void {\n this.toggle(false);\n }\n\n /**\n * Toggles the drawer between opened and closed.\n *\n * @param [opened] Whether to open or close the drawer.\n */\n toggle(opened = !this.opened): void {\n if (this.opened === opened) {\n return;\n }\n\n if (!opened) {\n this.openedState = 'closed';\n this.expandedState = 'closed';\n this.expandedState2 = 'collapsed';\n this._expanded = false;\n } else if (this.initialized.valueOf()) {\n this.openedState = 'open';\n } else {\n this.openedState = 'open-instant';\n }\n\n this._opened = opened;\n this.sendToggle();\n }\n\n /**\n * Expands the drawer.\n */\n openExpanded(): void {\n this.toggleExpanded(true);\n }\n\n /**\n * Collapses the drawer.\n */\n closeExpanded(): void {\n this.toggleExpanded(false);\n }\n\n /**\n * Toggles the drawer between expanded and collapsed.\n *\n * @param [expanded] Whether to expand or collapse the drawer.\n */\n toggleExpanded(expanded = !this.expanded): void {\n if (this.expanded === expanded) {\n return;\n }\n\n if (!expanded) {\n this.expandedState = 'closed';\n this.expandedState2 = 'collapsed';\n } else if (this.initialized.valueOf()) {\n this.expandedState = 'open';\n } else {\n this.expandedState = 'open-instant';\n }\n\n this._expanded = expanded;\n this.sendToggle();\n }\n\n /**\n * Listener to open/close animation completion.\n */\n @HostListener('@openClose.done') // eslint-disable-line\n closeOpenDone(): void {\n this.openedChange.emit(this.opened);\n }\n\n /**\n * Listener to expand/collapse animation completion.\n */\n @HostListener('@expandCollapse.done') // eslint-disable-line\n expandCollapseDone(): void {\n this.expandedChange.emit(this.expanded);\n }\n\n /**\n * Sends a toggle event to the channel.\n * Waits until initialization is completed before sending.\n */\n private async sendToggle(): Promise {\n await this.initialized.wait();\n this.channel.sendMessage({\n type: 'drawer-toggled',\n opened: this.opened,\n expanded: this.expanded,\n width: this.measuredWidth,\n margin: this.measuredMargin\n });\n this.stateChange.emit();\n }\n\n /**\n * Processes an event.\n *\n * @param msg The event.\n * @returns true if change detection should run.\n */\n private handleMessage(msg: Message): boolean {\n switch (msg.payload.type) {\n case 'drawer-toggled': {\n const other = msg.source as DrawerComponent;\n this.syncExpanded(other);\n return true;\n }\n\n default:\n return false;\n }\n }\n\n /**\n * Syncs the drawer widths and margin against the opposite drawer.\n *\n * @param other The opposite drawer.\n */\n private syncExpanded(other: DrawerComponent): void {\n if (this.expanded || other.expanded) {\n if (this.expanded && other.expanded) {\n this.expandedState2 = other.expandedState2 = 'half';\n } else if (this.expanded) {\n if (other.opened) {\n this.expandedState2 = 'extended';\n this.width = other.measuredWidth + other.measuredMargin;\n } else {\n this.expandedState2 = 'full';\n this.margin2 = other.measuredMargin;\n }\n } else {\n if (this.opened) {\n other.expandedState2 = 'extended';\n other.width = this.measuredWidth + this.measuredMargin;\n } else {\n other.expandedState2 = 'full';\n other.margin2 = this.measuredMargin;\n }\n }\n }\n }\n\n /** Workaround for getter/setter pair not accepting different types. */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_position: '' | 'start' | 'end';\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_opened: BooleanInput;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_expanded: BooleanInput;\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ListResult.html":{"url":"interfaces/ListResult.html","title":"interface - ListResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ListResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/models/list-result.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n color\n \n \n \n Optional\n \n rank\n \n \n \n \n selected\n \n \n \n \n tissueBlock\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n rank\n \n \n \n \n \n \n \n \n rank: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n selected\n \n \n \n \n \n \n \n \n selected: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n tissueBlock\n \n \n \n \n \n \n \n \n tissueBlock: TissueBlockResult\n\n \n \n\n\n \n \n Type : TissueBlockResult\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { TissueBlockResult } from 'ccf-database';\n\nexport interface ListResult {\n selected: boolean;\n color?: string;\n tissueBlock: TissueBlockResult;\n rank?: number;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ListResultsState.html":{"url":"injectables/ListResultsState.html","title":"injectable - ListResultsState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ListResultsState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts\n \n\n\n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n colorAssignments\n \n \n Private\n dataState\n \n \n Readonly\n highlightedNodeId$\n \n \n Readonly\n listResults$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n deselectListResult\n \n \n highlightNode\n \n \n ngxsOnInit\n \n \n selectListResult\n \n \n setListResults\n \n \n unHighlightNode\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dataService: DataSourceService, injector: Injector)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:38\n \n \n\n \n \n Creates an instance of scene state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dataService\n \n \n DataSourceService\n \n \n \n No\n \n \n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n Injector service used to lazy load data state\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n deselectListResult\n \n \n \n \n \n \ndeselectListResult(result: ListResult)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n result\n \n ListResult\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n highlightNode\n \n \n \n \n \n \nhighlightNode(id: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:81\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n selectListResult\n \n \n \n \n \n \nselectListResult(result: ListResult)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n result\n \n ListResult\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setListResults\n \n \n \n \n \n \nsetListResults(listResults: ListResult[])\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:58\n \n \n\n\n \n \n Sets the list results\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n listResults\n \n ListResult[]\n \n\n \n No\n \n\n\n \n The list of results to display\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n unHighlightNode\n \n \n \n \n \n \nunHighlightNode()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:74\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n colorAssignments\n \n \n \n \n \n \n Type : ColorAssignmentState\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:38\n \n \n\n \n \n Color assignments state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n dataState\n \n \n \n \n \n \n Type : DataState\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:35\n \n \n\n \n \n The data state\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n highlightedNodeId$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('highlightedNodeId'), distinctUntilChanged())\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n listResults$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('listResults'), distinctUntilChanged())\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts:30\n \n \n\n \n \n Scene to display in the 3d Scene\n\n \n \n\n \n \n\n\n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { DataAction, Payload, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { NgxsOnInit, State } from '@ngxs/store';\nimport { DataSourceService } from 'ccf-shared';\nimport { sortBy } from 'lodash';\nimport { combineLatest } from 'rxjs';\nimport { distinctUntilChanged, map, pluck, tap } from 'rxjs/operators';\n\nimport { ListResult } from '../../models/list-result';\nimport { ColorAssignmentState } from '../color-assignment/color-assignment.state';\nimport { DataState } from '../data/data.state';\n\n\nexport interface ListResultsStateModel {\n listResults: ListResult[];\n highlightedNodeId?: string;\n}\n\n@StateRepository()\n@State({\n name: 'listResults',\n defaults: {\n listResults: []\n }\n})\n@Injectable()\nexport class ListResultsState extends NgxsImmutableDataRepository implements NgxsOnInit {\n /** Scene to display in the 3d Scene */\n readonly listResults$ = this.state$.pipe(pluck('listResults'), distinctUntilChanged());\n readonly highlightedNodeId$ = this.state$.pipe(pluck('highlightedNodeId'), distinctUntilChanged());\n\n\n /** The data state */\n private dataState: DataState;\n\n /** Color assignments state */\n private colorAssignments: ColorAssignmentState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load data state\n */\n constructor(\n private readonly dataService: DataSourceService,\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Sets the list results\n *\n * @param listResults The list of results to display\n */\n @DataAction()\n setListResults(@Payload('listResults') listResults: ListResult[]): void {\n this.ctx.patchState({ listResults });\n }\n\n selectListResult(result: ListResult): void {\n this.colorAssignments.assignColor(result.tissueBlock.spatialEntityId);\n }\n\n deselectListResult(result: ListResult): void {\n this.colorAssignments.unassignColor(result.tissueBlock.spatialEntityId);\n }\n\n highlightNode(id: string): void {\n this.ctx.patchState({ highlightedNodeId: id });\n }\n\n unHighlightNode(): void {\n this.ctx.patchState({ highlightedNodeId: undefined });\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.dataState = this.injector.get(DataState);\n this.colorAssignments = this.injector.get(ColorAssignmentState);\n\n combineLatest([\n this.dataState.tissueBlockData$,\n this.colorAssignments.colorAssignments$\n ]).pipe(\n map(([tissueBlocks, colors]) => {\n const topBlocks: ListResult[] = [];\n const otherBlocks: ListResult[] = [];\n\n for (const tissueBlock of tissueBlocks) {\n const color = colors[tissueBlock.spatialEntityId];\n if (color) {\n topBlocks.push({\n selected: true, color: color.color, tissueBlock, rank: color.rank\n });\n } else {\n otherBlocks.push({\n selected: false, tissueBlock\n });\n }\n }\n\n return sortBy(topBlocks, ['rank']).concat(otherBlocks);\n }),\n tap(results => this.setListResults(results))\n ).subscribe();\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ListResultsStateModel.html":{"url":"interfaces/ListResultsStateModel.html","title":"interface - ListResultsStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ListResultsStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n highlightedNodeId\n \n \n \n \n listResults\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n highlightedNodeId\n \n \n \n \n \n \n \n \n highlightedNodeId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n listResults\n \n \n \n \n \n \n \n \n listResults: ListResult[]\n\n \n \n\n\n \n \n Type : ListResult[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { DataAction, Payload, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { NgxsOnInit, State } from '@ngxs/store';\nimport { DataSourceService } from 'ccf-shared';\nimport { sortBy } from 'lodash';\nimport { combineLatest } from 'rxjs';\nimport { distinctUntilChanged, map, pluck, tap } from 'rxjs/operators';\n\nimport { ListResult } from '../../models/list-result';\nimport { ColorAssignmentState } from '../color-assignment/color-assignment.state';\nimport { DataState } from '../data/data.state';\n\n\nexport interface ListResultsStateModel {\n listResults: ListResult[];\n highlightedNodeId?: string;\n}\n\n@StateRepository()\n@State({\n name: 'listResults',\n defaults: {\n listResults: []\n }\n})\n@Injectable()\nexport class ListResultsState extends NgxsImmutableDataRepository implements NgxsOnInit {\n /** Scene to display in the 3d Scene */\n readonly listResults$ = this.state$.pipe(pluck('listResults'), distinctUntilChanged());\n readonly highlightedNodeId$ = this.state$.pipe(pluck('highlightedNodeId'), distinctUntilChanged());\n\n\n /** The data state */\n private dataState: DataState;\n\n /** Color assignments state */\n private colorAssignments: ColorAssignmentState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load data state\n */\n constructor(\n private readonly dataService: DataSourceService,\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Sets the list results\n *\n * @param listResults The list of results to display\n */\n @DataAction()\n setListResults(@Payload('listResults') listResults: ListResult[]): void {\n this.ctx.patchState({ listResults });\n }\n\n selectListResult(result: ListResult): void {\n this.colorAssignments.assignColor(result.tissueBlock.spatialEntityId);\n }\n\n deselectListResult(result: ListResult): void {\n this.colorAssignments.unassignColor(result.tissueBlock.spatialEntityId);\n }\n\n highlightNode(id: string): void {\n this.ctx.patchState({ highlightedNodeId: id });\n }\n\n unHighlightNode(): void {\n this.ctx.patchState({ highlightedNodeId: undefined });\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.dataState = this.injector.get(DataState);\n this.colorAssignments = this.injector.get(ColorAssignmentState);\n\n combineLatest([\n this.dataState.tissueBlockData$,\n this.colorAssignments.colorAssignments$\n ]).pipe(\n map(([tissueBlocks, colors]) => {\n const topBlocks: ListResult[] = [];\n const otherBlocks: ListResult[] = [];\n\n for (const tissueBlock of tissueBlocks) {\n const color = colors[tissueBlock.spatialEntityId];\n if (color) {\n topBlocks.push({\n selected: true, color: color.color, tissueBlock, rank: color.rank\n });\n } else {\n otherBlocks.push({\n selected: false, tissueBlock\n });\n }\n }\n\n return sortBy(topBlocks, ['rank']).concat(otherBlocks);\n }),\n tap(results => this.setListResults(results))\n ).subscribe();\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Message.html":{"url":"interfaces/Message.html","title":"interface - Message","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Message\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n A message sent on a channel.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n payload\n \n \n \n \n source\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Unique identifier for a message.\n\n \n \n \n \n \n \n \n \n \n payload\n \n \n \n \n \n \n \n \n payload: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n Data associated with this message.\n\n \n \n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: \n\n \n \n\n\n\n\n\n\n\n \n \n Sender of the message.\n\n \n \n \n \n \n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MessageChannel.html":{"url":"classes/MessageChannel.html","title":"class - MessageChannel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MessageChannel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Channel for sending and receiving messages.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n counter\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getMessages\n \n \n getMessagesFromSource\n \n \n getMessagesFromSources\n \n \n Private\n nextMessageId\n \n \n sendMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(source, channel: Subject>, messages: Observable>)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:50\n \n \n\n \n \n Creates a new channel.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n source\n \n \n \n \n \n No\n \n \n \n The message source.\n\n \n \n \n channel\n \n \n Subject>\n \n \n \n No\n \n \n \n The message send subject.\n\n \n \n \n messages\n \n \n Observable>\n \n \n \n No\n \n \n \n The message receive observable.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n counter\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:50\n \n \n\n \n \n Counter used to give each message a unique id.\n\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getMessages\n \n \n \n \n \n \ngetMessages()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:83\n \n \n\n\n \n \n Gets an observable emitting all messages except for those sent by this source.\n\n\n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n getMessagesFromSource\n \n \n \n \n \n \ngetMessagesFromSource(source)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:93\n \n \n\n\n \n \n Gets an observable emitting messages sent from a specific source.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n source\n\n \n No\n \n\n\n \n The source messages are filtered on.\n\n \n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n getMessagesFromSources\n \n \n \n \n \n \ngetMessagesFromSources(sources: [])\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:103\n \n \n\n\n \n \n Gets an observable emitting messages sent from any of the specified sources.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n sources\n \n []\n \n\n \n No\n \n\n\n \n The sources messages are filtered on.\n\n \n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n nextMessageId\n \n \n \n \n \n \n \n nextMessageId()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:112\n \n \n\n\n \n \n Creates a unique message identifier.\n\n\n \n \n \n Returns : number\n\n \n \n The identifier number.\n\n \n \n \n \n \n \n \n \n \n \n \n sendMessage\n \n \n \n \n \n \nsendMessage(payload: T)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:70\n \n \n\n\n \n \n Sends a single message with a payload.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n payload\n \n T\n \n\n \n No\n \n\n\n \n The message payload.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MessageService.html":{"url":"injectables/MessageService.html","title":"injectable - MessageService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n MessageService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Service for creating message channels.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n channel\n \n \n Private\n messages\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n connect\n \n \n ngOnDestroy\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: MessageServiceConfig, parent: MessageService | null)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:130\n \n \n\n \n \n Creates an instance of message service.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n config\n \n \n MessageServiceConfig\n \n \n \n No\n \n \n \n The configuration for this service.\n\n \n \n \n parent\n \n \n MessageService | null\n \n \n \n No\n \n \n \n The parent message service, if any.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n connect\n \n \n \n \n \n \nconnect(source)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:163\n \n \n\n\n \n \n Connects to a message channel.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n source\n\n \n No\n \n\n\n \n The source of messages sent.\n\n \n \n \n \n \n \n \n \n Returns : MessageChannel\n\n \n \n A new connected message channel.\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:153\n \n \n\n\n \n \n Clean up.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n channel\n \n \n \n \n \n \n Default value : new Subject>()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:128\n \n \n\n \n \n The message channel.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n messages\n \n \n \n \n \n \n Type : Observable>\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/services/message/message.service.ts:130\n \n \n\n \n \n The message listener.\n\n \n \n\n \n \n\n\n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MessageServiceConfig.html":{"url":"interfaces/MessageServiceConfig.html","title":"interface - MessageServiceConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MessageServiceConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Message service configuration options.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n isolated\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n isolated\n \n \n \n \n \n \n \n \n isolated: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether to listen to parent messages.\n\n \n \n \n \n \n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveToNode.html":{"url":"classes/MoveToNode.html","title":"class - MoveToNode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveToNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(node: SpatialSceneNode)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n node\n \n \n SpatialSceneNode\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Start moving the position to a scene node'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OntologyExplorationModule.html":{"url":"modules/OntologyExplorationModule.html","title":"module - OntologyExplorationModule","body":"\n \n\n\n\n\n Modules\n OntologyExplorationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_OntologyExplorationModule\n\n\n\ncluster_OntologyExplorationModule_imports\n\n\n\ncluster_OntologyExplorationModule_exports\n\n\n\n\nOntologySearchModule\n\nOntologySearchModule\n\n\n\nOntologyExplorationModule\n\nOntologyExplorationModule\n\nOntologyExplorationModule -->\n\nOntologySearchModule->OntologyExplorationModule\n\n\n\n\n\nOntologySelectionModule\n\nOntologySelectionModule\n\nOntologyExplorationModule -->\n\nOntologySelectionModule->OntologyExplorationModule\n\n\n\n\n\nOntologyTreeModule\n\nOntologyTreeModule\n\nOntologyExplorationModule -->\n\nOntologyTreeModule->OntologyExplorationModule\n\n\n\n\n\nOntologySearchModule \n\nOntologySearchModule \n\nOntologySearchModule -->\n\nOntologyExplorationModule->OntologySearchModule \n\n\n\n\n\nOntologySelectionModule \n\nOntologySelectionModule \n\nOntologySelectionModule -->\n\nOntologyExplorationModule->OntologySelectionModule \n\n\n\n\n\nOntologyTreeModule \n\nOntologyTreeModule \n\nOntologyTreeModule -->\n\nOntologyExplorationModule->OntologyTreeModule \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-exploration.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n OntologySearchModule\n \n \n OntologySelectionModule\n \n \n OntologyTreeModule\n \n \n \n \n Exports\n \n \n OntologySearchModule\n \n \n OntologySelectionModule\n \n \n OntologyTreeModule\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { OntologySearchModule } from './ontology-search/ontology-search.module';\nimport { OntologySelectionModule } from './ontology-selection/ontology-selection.module';\nimport { OntologyTreeModule } from './ontology-tree/ontology-tree.module';\n\n\n@NgModule({\n imports: [\n CommonModule,\n OntologySearchModule,\n OntologyTreeModule,\n OntologySelectionModule\n ],\n exports: [OntologySearchModule, OntologyTreeModule, OntologySelectionModule]\n})\nexport class OntologyExplorationModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/OntologySearchComponent.html":{"url":"components/OntologySearchComponent.html","title":"component - OntologySearchComponent","body":"\n \n\n\n\n\n\n Components\n \n OntologySearchComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts\n\n\n\n \n Description\n \n \n Componenet for searching the Ontology nodes.\n\n \n\n\n \n Implements\n \n \n OnInit\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-ontology-search\n \n\n \n styleUrls\n ./ontology-search.component.scss\n \n\n\n\n \n templateUrl\n ./ontology-search.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n autoCompleteOpen\n \n \n filteredResults$\n \n \n formControl\n \n \n Public\n ontologyService\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n displayFormatter\n \n \n ngOnInit\n \n \n onSelect\n \n \n sortBySynonymResult\n \n \n sortLexically\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n placeholderText\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n selected\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ontologyService: OntologySearchService, ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:45\n \n \n\n \n \n Creates an instance of ontology search component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ontologyService\n \n \n OntologySearchService\n \n \n \n No\n \n \n \n instance of searchService which provides all the search functionality\n\n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n placeholderText\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:23\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n selected\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:29\n \n \n \n \n Output event-emitter which emits the id of the OntologyTreeNode whose label was\nselected by the user in the search-results\n\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n displayFormatter\n \n \n \n \n \n \ndisplayFormatter(option?: SearchResult)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:78\n \n \n\n\n \n \n A formatter function to enable different display and selected value\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n option\n \n SearchResult\n \n\n \n Yes\n \n\n\n \n a search result entry\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n a part of the search result entry to be displayed as a display value\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:60\n \n \n\n\n \n \n on-init lifecycle hook for this component -\ngets the searched value from the view, sends it to the filter function in the OntologyService,\nand gets the search results from the service\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n onSelect\n \n \n \n \n \n \nonSelect(event: MatAutocompleteSelectedEvent)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:107\n \n \n\n\n \n \n Callback function triggered when the user selects a value from search results\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n MatAutocompleteSelectedEvent\n \n\n \n No\n \n\n\n \n instance of MatAutocompleteSelectedEvent\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n sortBySynonymResult\n \n \n \n \n \n \nsortBySynonymResult(this: void, entry: SearchResult)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:88\n \n \n\n\n \n \n Sorts by results which have synonyms\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n void\n \n\n \n No\n \n\n\n \n \n \n \n entry\n \n SearchResult\n \n\n \n No\n \n\n\n \n search result entry\n\n \n \n \n \n \n \n \n \n Returns : number\n\n \n \n 1 or -1\n\n \n \n \n \n \n \n \n \n \n \n \n sortLexically\n \n \n \n \n \n \nsortLexically(this: void, entry: SearchResult)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:98\n \n \n\n\n \n \n Sorts lexically\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n void\n \n\n \n No\n \n\n\n \n \n \n \n entry\n \n SearchResult\n \n\n \n No\n \n\n\n \n search result entry\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n lower case value of node label\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n autoCompleteOpen\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:40\n \n \n\n \n \n Determines if autocomplete is open or close.\n\n \n \n\n \n \n \n \n \n \n \n \n filteredResults$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:45\n \n \n\n \n \n Observable which provides the filtered search results\n\n \n \n\n \n \n \n \n \n \n \n \n formControl\n \n \n \n \n \n \n Default value : new FormControl('')\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:34\n \n \n\n \n \n Instance of FormControl - tracks the value and validation status of an individual form control\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n ontologyService\n \n \n \n \n \n \n Type : OntologySearchService\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts:53\n \n \n\n \n \n instance of searchService which provides all the search functionality\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, OnInit, Input, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { OntologyTreeNode } from 'ccf-database';\nimport { get, sortBy } from 'lodash';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { Observable } from 'rxjs';\nimport { filter, map, startWith, switchMap } from 'rxjs/operators';\n\nimport { OntologySearchService, SearchResult } from '../../../core/services/ontology-search/ontology-search.service';\n\n\n/**\n * Componenet for searching the Ontology nodes.\n */\n@Component({\n selector: 'ccf-ontology-search',\n templateUrl: './ontology-search.component.html',\n styleUrls: ['./ontology-search.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OntologySearchComponent implements OnInit {\n @Input() placeholderText: string;\n\n /**\n * Output event-emitter which emits the id of the OntologyTreeNode whose label was\n * selected by the user in the search-results\n */\n @Output() readonly selected = new EventEmitter();\n\n /**\n * Instance of FormControl - tracks the value and validation status of an individual form control\n */\n formControl = new FormControl('');\n\n\n /**\n * Determines if autocomplete is open or close.\n */\n autoCompleteOpen = false;\n\n /**\n * Observable which provides the filtered search results\n */\n filteredResults$: Observable;\n\n /**\n * Creates an instance of ontology search component.\n *\n * @param ontologyService instance of searchService which provides all the search functionality\n * @param ga Analytics service\n */\n constructor(public ontologyService: OntologySearchService, private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * on-init lifecycle hook for this component -\n * gets the searched value from the view, sends it to the filter function in the OntologyService,\n * and gets the search results from the service\n */\n ngOnInit(): void {\n const valueChanges = this.formControl.valueChanges as Observable;\n this.filteredResults$ = valueChanges.pipe(\n filter(value => typeof value === 'string'),\n startWith(''),\n switchMap(value => this.ontologyService.filter(value)),\n map(searchResults => sortBy(searchResults, [\n this.sortBySynonymResult, 'index', this.sortLexically\n ]))\n );\n }\n\n /**\n * A formatter function to enable different display and selected value\n *\n * @param option a search result entry\n * @returns a part of the search result entry to be displayed as a display value\n */\n displayFormatter(option?: SearchResult): string {\n return (option?.displayLabel ?? []).join('');\n }\n\n /**\n * Sorts by results which have synonyms\n *\n * @param entry search result entry\n * @returns 1 or -1\n */\n sortBySynonymResult(this: void, entry: SearchResult): number {\n return entry.displayLabel.join().includes('(') ? 1 : -1;\n }\n\n /**\n * Sorts lexically\n *\n * @param entry search result entry\n * @returns lower case value of node label\n */\n sortLexically(this: void, entry: SearchResult): string {\n return entry.node.label.toLowerCase();\n }\n\n /**\n * Callback function triggered when the user selects a value from search results\n *\n * @param event instance of MatAutocompleteSelectedEvent\n */\n onSelect(event: MatAutocompleteSelectedEvent): void {\n const node = get(event, ['option', 'value', 'node']) as OntologyTreeNode;\n if (node) {\n this.ga.event('search', 'ontology_search', node.id);\n this.selected.emit(node);\n this.formControl.reset();\n }\n }\n}\n\n \n\n \n \n \n search\n \n\n \n \n \n {{option.displayLabel[0]}}\n {{option.displayLabel[1]}}\n {{option.displayLabel[2]}}\n \n \n \n \n\n\n \n\n \n \n ./ontology-search.component.scss\n \n .ccf-ontology-search {\n width: 100%;\n\n .field {\n width: 100%;\n \n }\n\n ::ng-deep .mat-form-field-appearance-outline {\n .mat-form-field-outline-end {\n border-radius: 0 0.25rem 0.25rem 0;\n margin: 0;\n }\n\n .mat-form-field-wrapper {\n margin: 0;\n \n\n .mat-form-field-flex {\n .mat-form-field-infix {\n border: none;\n height: 3rem;\n \n\n input {\n margin-left: .4rem;\n }\n }\n .mat-form-field-prefix {\n top: .5rem;\n border: none;\n }\n }\n }\n\n .mat-form-field-outline-start {\n border-radius: 0.25rem 0 0 0.25rem;\n min-width: 2.5rem;\n\t }\n }\n}\n\n::ng-deep .ccf-ontology-search.detached {\n border: 0.125rem solid;\n border-top: none;\n border-radius: 0 0 0.25rem 0.25rem;\n max-height: 18rem;\n\n .results-container {\n width: 23.75rem;\n margin-bottom: 1rem;\n overflow: auto;\n max-height: 15rem;\n scrollbar-width: thin;\n\n mat-option {\n height: 1.5rem;\n width: 23.75rem;\n \n .search-term {\n text-decoration: underline;\n }\n }\n }\n\n}\n\n.autocomplete-open {\n ::ng-deep .mat-form-field-appearance-outline {\n .mat-form-field-outline-start {\n border-radius: 0.25rem 0 0 0;\n border-bottom: none;\n }\n\n .mat-form-field-outline-end {\n border-radius: 0 0.25rem 0 0;\n border-bottom: none;\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' search {{option.displayLabel[0]}} {{option.displayLabel[1]}} {{option.displayLabel[2]}} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'OntologySearchComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OntologySearchModule.html":{"url":"modules/OntologySearchModule.html","title":"module - OntologySearchModule","body":"\n \n\n\n\n\n Modules\n OntologySearchModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_OntologySearchModule\n\n\n\ncluster_OntologySearchModule_declarations\n\n\n\ncluster_OntologySearchModule_exports\n\n\n\n\nOntologySearchComponent\n\nOntologySearchComponent\n\n\n\nOntologySearchModule\n\nOntologySearchModule\n\nOntologySearchModule -->\n\nOntologySearchComponent->OntologySearchModule\n\n\n\n\n\nOntologySearchComponent \n\nOntologySearchComponent \n\nOntologySearchComponent -->\n\nOntologySearchModule->OntologySearchComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n OntologySearchComponent\n \n \n \n \n Exports\n \n \n OntologySearchComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { OntologySearchComponent } from './ontology-search.component';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule\n ],\n declarations: [OntologySearchComponent],\n exports: [OntologySearchComponent]\n})\nexport class OntologySearchModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OntologySearchService.html":{"url":"injectables/OntologySearchService.html","title":"injectable - OntologySearchService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n OntologySearchService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts\n \n\n\n \n Description\n \n \n Injectable OntologySearchService responsible for search result computations\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n Readonly\n nodes$\n \n \n Public\n Readonly\n rootNode$\n \n \n Private\n treeModel\n \n \n Private\n Readonly\n treeModel$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n filter\n \n \n formatLabel\n \n \n getChildren\n \n \n getIndexOfMatch\n \n \n Private\n lookup\n \n \n setTreeModel\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n filter\n \n \n \n \n \n \nfilter(value: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:50\n \n \n\n\n \n \n Searches the ontology with the search-term\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n string\n \n\n \n No\n \n\n\n \n the search term\n\n \n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n an array of search-results\n\n \n \n \n \n \n \n \n \n \n \n \n formatLabel\n \n \n \n \n \n \nformatLabel(label: string, searchValue: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:111\n \n \n\n\n \n \n Formats label based on where the search-term was found in the OntologyTreeNode\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n label\n \n string\n \n\n \n No\n \n\n\n \n label or first synonym-label of OntologyTreeNode which has the search-term\n\n \n \n \n searchValue\n \n string\n \n\n \n No\n \n\n\n \n search-term\n\n \n \n \n \n \n \n \n \n Returns : string[]\n\n \n \n an array in the form of [prefix, search-term, suffix]\n\n \n \n \n \n \n \n \n \n \n \n \n getChildren\n \n \n \n \n \n \ngetChildren(node: OntologyTreeNode)\n \n \n\n \n \n Decorators : \n \n @bind()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:128\n \n \n\n\n \n \n Fetches the children of an ontology node.\nNote: This can be called without a reference to this.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n node\n \n OntologyTreeNode\n \n\n \n No\n \n\n\n \n The node for which to get children.\n\n \n \n \n \n \n \n \n \n Returns : OntologyTreeNode[]\n\n \n \n An array of children, empty if the node has no children.\n\n \n \n \n \n \n \n \n \n \n \n \n getIndexOfMatch\n \n \n \n \n \n \ngetIndexOfMatch(label: string, searchValue: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:100\n \n \n\n\n \n \n Gets index of match in the ontology label\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n label\n \n string\n \n\n \n No\n \n\n\n \n the provided ontology node label or synonym label\n\n \n \n \n searchValue\n \n string\n \n\n \n No\n \n\n\n \n the searched text in lower case\n\n \n \n \n \n \n \n \n \n Returns : number\n\n \n \n the index of the match in the label\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n lookup\n \n \n \n \n \n \n \n lookup(nodes: Immutable[], searchValue: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:63\n \n \n\n\n \n \n looks up ontology nodes and composes search results\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n nodes\n \n Immutable[]\n \n\n \n No\n \n\n\n \n Ontology nodes\n\n \n \n \n searchValue\n \n string\n \n\n \n No\n \n\n\n \n search text in lower case\n\n \n \n \n \n \n \n \n \n Returns : SearchResult[]\n\n \n \n search results\n\n \n \n \n \n \n \n \n \n \n \n \n setTreeModel\n \n \n \n \n \n \nsetTreeModel(treeModel: OntologyTreeModel)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n treeModel\n \n OntologyTreeModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n Readonly\n nodes$\n \n \n \n \n \n \n Default value : this.treeModel$.pipe(map(state => Object.values(state.nodes)))\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:34\n \n \n\n \n \n All nodes in the ontology tree.\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n Readonly\n rootNode$\n \n \n \n \n \n \n Default value : this.treeModel$.pipe(map(state => state.nodes[state.root]))\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:37\n \n \n\n \n \n Root node of the ontology tree.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n treeModel\n \n \n \n \n \n \n Type : OntologyTreeModel\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n treeModel$\n \n \n \n \n \n \n Default value : new ReplaySubject(1)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts:30\n \n \n\n\n \n \n\n\n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { bind } from 'bind-decorator';\nimport { OntologyTreeModel, OntologyTreeNode } from 'ccf-database';\nimport { at } from 'lodash';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n\n/**\n * Search result interface type for the search results\n */\nexport interface SearchResult {\n /** ensures order of search-results */\n index: number;\n\n /** label to be displayed in the view */\n displayLabel: string[];\n\n /** instance of OntologyTreeNode, provides data associated with a search result */\n node: OntologyTreeNode;\n}\n\n/**\n * Injectable OntologySearchService responsible for search result computations\n */\n@Injectable()\nexport class OntologySearchService {\n private readonly treeModel$ = new ReplaySubject(1);\n private treeModel: OntologyTreeModel;\n\n /** All nodes in the ontology tree. */\n public readonly nodes$ = this.treeModel$.pipe(map(state => Object.values(state.nodes)));\n\n /** Root node of the ontology tree. */\n public readonly rootNode$ = this.treeModel$.pipe(map(state => state.nodes[state.root]));\n\n setTreeModel(treeModel: OntologyTreeModel): void {\n this.treeModel$.next(treeModel);\n this.treeModel = treeModel;\n }\n\n /**\n * Searches the ontology with the search-term\n *\n * @param value the search term\n * @returns an array of search-results\n */\n filter(value: string): Observable {\n return this.nodes$.pipe(\n map(nodes => this.lookup(nodes, value.toLowerCase()))\n );\n }\n\n /**\n * looks up ontology nodes and composes search results\n *\n * @param nodes Ontology nodes\n * @param searchValue search text in lower case\n * @returns search results\n */\n private lookup(nodes: Immutable[], searchValue: string): SearchResult[] {\n const searchResults = new Map();\n\n if (nodes) {\n nodes.forEach((node: OntologyTreeNode) => {\n const condition = node.label.toLowerCase().includes(searchValue);\n\n if (condition && !searchResults.get(node.id)) {\n searchResults.set(node.id, {\n index: this.getIndexOfMatch(node.label, searchValue),\n displayLabel: this.formatLabel(node.label, searchValue),\n node\n });\n } else {\n const match = node.synonymLabels.find((label) => label.toLowerCase().includes(searchValue));\n\n if (match && !searchResults.get(node.id)) {\n searchResults.set(node.id, {\n index: this.getIndexOfMatch(node.label + ' (' + match + ')', searchValue),\n displayLabel: this.formatLabel(node.label + ' (' + match + ')', searchValue),\n node\n });\n }\n }\n });\n }\n\n return Array.from(searchResults.values());\n }\n\n /**\n * Gets index of match in the ontology label\n *\n * @param label the provided ontology node label or synonym label\n * @param searchValue the searched text in lower case\n * @returns the index of the match in the label\n */\n getIndexOfMatch(label: string, searchValue: string): number {\n return label.toLowerCase().indexOf(searchValue);\n }\n\n /**\n * Formats label based on where the search-term was found in the OntologyTreeNode\n *\n * @param label label or first synonym-label of OntologyTreeNode which has the search-term\n * @param searchValue search-term\n * @returns an array in the form of [prefix, search-term, suffix]\n */\n formatLabel(label: string, searchValue: string): string[] {\n const index = this.getIndexOfMatch(label, searchValue);\n return [\n label.slice(0, index),\n label.slice(index, index + searchValue.length),\n label.slice(index + searchValue.length)\n ];\n }\n\n /**\n * Fetches the children of an ontology node.\n * Note: This can be called without a reference to `this`.\n *\n * @param node The node for which to get children.\n * @returns An array of children, empty if the node has no children.\n */\n @bind\n getChildren(node: OntologyTreeNode): OntologyTreeNode[] {\n const nodes = this.treeModel?.nodes ?? {};\n return at(nodes, node.children);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OntologySelection.html":{"url":"interfaces/OntologySelection.html","title":"interface - OntologySelection","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OntologySelection\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/models/ontology-selection.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n label\n \n \n \n \n location\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n \n \n location: OntologyTreeNode | undefined\n\n \n \n\n\n \n \n Type : OntologyTreeNode | undefined\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { OntologyTreeNode } from 'ccf-database';\n\nexport interface OntologySelection {\n location: OntologyTreeNode | undefined;\n id: string;\n label: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/OntologySelectionComponent.html":{"url":"components/OntologySelectionComponent.html","title":"component - OntologySelectionComponent","body":"\n \n\n\n\n\n\n Components\n \n OntologySelectionComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts\n\n\n\n \n Description\n \n \n Ontology selection component that encapsulates ontology search and tree components.\n\n \n\n\n \n Implements\n \n \n OnChanges\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n \n providers\n \n OntologySearchService\n \n \n\n\n \n selector\n ccf-ontology-selection\n \n\n \n styleUrls\n ./ontology-selection.component.scss\n \n\n\n\n \n templateUrl\n ./ontology-selection.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n ontologySearchService\n \n \n tree\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngOnChanges\n \n \n selected\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n header\n \n \n occurenceData\n \n \n ontologyFilter\n \n \n placeholderText\n \n \n termData\n \n \n treeModel\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n ontologySelection\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ontologySearchService: OntologySearchService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:53\n \n \n\n \n \n Creates an instance of ontology selection component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ontologySearchService\n \n \n OntologySearchService\n \n \n \n No\n \n \n \n Service for searching the ontology.\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n header\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:47\n \n \n \n \n \n \n \n \n \n occurenceData\n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:28\n \n \n \n \n A record of terms within the current filter. To be passed on to ontology-tree\n\n \n \n \n \n \n \n \n \n \n ontologyFilter\n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:45\n \n \n \n \n Input list of selected ontology terms passed down to ontology-tree.\nUsed to change display of ontology tree when selection is made from\noutside the component.\n\n \n \n \n \n \n \n \n \n \n placeholderText\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:48\n \n \n \n \n \n \n \n \n \n termData\n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:33\n \n \n \n \n A record of terms the app currently has data for. To be passed on to ontology-tree\n\n \n \n \n \n \n \n \n \n \n treeModel\n \n \n \n \n Type : OntologyTreeModel\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:38\n \n \n \n \n The ontology tree model to display\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n ontologySelection\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:53\n \n \n \n \n Captures and passes along the change in ontologySelections.\n\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngOnChanges\n \n \n \n \n \n \nngOnChanges(changes: SimpleChanges)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n changes\n \n SimpleChanges\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n selected\n \n \n \n \n \n \nselected(ontologyNode: OntologyTreeNode)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:75\n \n \n\n\n \n \n Ontology selection event when node is selected from the search results.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ontologyNode\n \n OntologyTreeNode\n \n\n \n No\n \n\n\n \n selected ontology node.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n ontologySearchService\n \n \n \n \n \n \n Type : OntologySearchService\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:61\n \n \n\n \n \n Service for searching the ontology.\n \n \n\n \n \n \n \n \n \n \n \n tree\n \n \n \n \n \n \n Type : OntologyTreeComponent\n\n \n \n \n \n Decorators : \n \n \n @ViewChild(OntologyTreeComponent, {static: false})\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts:23\n \n \n\n \n \n View child of search component\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { OntologyTreeModel, OntologyTreeNode } from 'ccf-database';\n\nimport { OntologySelection } from '../../../core/models/ontology-selection';\nimport { OntologySearchService } from '../../../core/services/ontology-search/ontology-search.service';\nimport { OntologyTreeComponent } from '../ontology-tree/ontology-tree.component';\n\n\n/**\n * Ontology selection component that encapsulates ontology search and tree components.\n */\n@Component({\n selector: 'ccf-ontology-selection',\n templateUrl: './ontology-selection.component.html',\n styleUrls: ['./ontology-selection.component.scss'],\n providers: [OntologySearchService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OntologySelectionComponent implements OnChanges {\n /**\n * View child of search component\n */\n @ViewChild(OntologyTreeComponent, { static: false }) tree: OntologyTreeComponent;\n\n /**\n * A record of terms within the current filter. To be passed on to ontology-tree\n */\n @Input() occurenceData: Record;\n\n /**\n * A record of terms the app currently has data for. To be passed on to ontology-tree\n */\n @Input() termData: Record;\n\n /**\n * The ontology tree model to display\n */\n @Input() treeModel: OntologyTreeModel;\n\n /**\n * Input list of selected ontology terms passed down to ontology-tree.\n * Used to change display of ontology tree when selection is made from\n * outside the component.\n */\n @Input() ontologyFilter: string[];\n\n @Input() header: boolean;\n @Input() placeholderText: string;\n\n /**\n * Captures and passes along the change in ontologySelections.\n */\n @Output() readonly ontologySelection = new EventEmitter();\n\n /**\n * Creates an instance of ontology selection component.\n *\n * @param ontologySearchService Service for searching the ontology.\n */\n constructor(\n public ontologySearchService: OntologySearchService,\n ) { }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('treeModel' in changes && this.treeModel) {\n this.ontologySearchService.setTreeModel(this.treeModel);\n }\n }\n\n /**\n * Ontology selection event when node is selected from the search results.\n *\n * @param ontologyNode selected ontology node.\n */\n selected(ontologyNode: OntologyTreeNode): void {\n const nodes = this.treeModel?.nodes ?? {};\n this.tree.expandAndSelect(ontologyNode, node => nodes[node.parent]);\n }\n}\n\n \n\n \n \n\n\n \n\n \n \n ./ontology-selection.component.scss\n \n \n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'OntologySelectionComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OntologySelectionModule.html":{"url":"modules/OntologySelectionModule.html","title":"module - OntologySelectionModule","body":"\n \n\n\n\n\n Modules\n OntologySelectionModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_OntologySelectionModule\n\n\n\ncluster_OntologySelectionModule_declarations\n\n\n\ncluster_OntologySelectionModule_imports\n\n\n\ncluster_OntologySelectionModule_OntologySelectionComponent_providers\n\n\n\ncluster_OntologySelectionModule_exports\n\n\n\n\nOntologySelectionComponent\n\nOntologySelectionComponent\n\n\n\nOntologySelectionModule\n\nOntologySelectionModule\n\nOntologySelectionModule -->\n\nOntologySelectionComponent->OntologySelectionModule\n\n\n\n\n\nOntologySelectionComponent \n\nOntologySelectionComponent \n\nOntologySelectionComponent -->\n\nOntologySelectionModule->OntologySelectionComponent \n\n\n\n\n\nOntologySearchService\n\nOntologySearchService\n\nOntologySelectionComponent -->\n\nOntologySearchService->OntologySelectionComponent\n\n\n\n\n\nOntologySearchModule\n\nOntologySearchModule\n\nOntologySelectionModule -->\n\nOntologySearchModule->OntologySelectionModule\n\n\n\n\n\nOntologyTreeModule\n\nOntologyTreeModule\n\nOntologySelectionModule -->\n\nOntologyTreeModule->OntologySelectionModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n OntologySelectionComponent\n \n \n \n \n Imports\n \n \n OntologySearchModule\n \n \n OntologyTreeModule\n \n \n \n \n Exports\n \n \n OntologySelectionComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { OntologySearchModule } from '../ontology-search/ontology-search.module';\nimport { OntologyTreeModule } from '../ontology-tree/ontology-tree.module';\nimport { OntologySelectionComponent } from './ontology-selection.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n OntologySearchModule,\n OntologyTreeModule\n ],\n declarations: [OntologySelectionComponent],\n exports: [OntologySelectionComponent],\n})\nexport class OntologySelectionModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OntologyTreeModule.html":{"url":"modules/OntologyTreeModule.html","title":"module - OntologyTreeModule","body":"\n \n\n\n\n\n Modules\n OntologyTreeModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_OntologyTreeModule\n\n\n\ncluster_OntologyTreeModule_declarations\n\n\n\ncluster_OntologyTreeModule_exports\n\n\n\n\nOntologyTreeComponent\n\nOntologyTreeComponent\n\n\n\nOntologyTreeModule\n\nOntologyTreeModule\n\nOntologyTreeModule -->\n\nOntologyTreeComponent->OntologyTreeModule\n\n\n\n\n\nOntologyTreeComponent \n\nOntologyTreeComponent \n\nOntologyTreeComponent -->\n\nOntologyTreeModule->OntologyTreeComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-tree/ontology-tree.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n OntologyTreeComponent\n \n \n \n \n Exports\n \n \n OntologyTreeComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTreeModule } from '@angular/material/tree';\n\nimport { OntologyTreeComponent } from './ontology-tree.component';\nimport { OpacitySliderModule } from 'ccf-shared';\n\n@NgModule({\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatTooltipModule,\n MatTreeModule,\n OpacitySliderModule\n ],\n declarations: [OntologyTreeComponent],\n exports: [OntologyTreeComponent],\n})\nexport class OntologyTreeModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Position.html":{"url":"interfaces/Position.html","title":"interface - Position","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Position\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport { Action, Actions, ofActionDispatched, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { Filter, getOriginScene, SpatialEntity, SpatialSceneNode, SpatialSearch, TissueBlockResult } from 'ccf-database';\nimport { DataSourceService, OrganInfo } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { forkJoin, Observable } from 'rxjs';\nimport { debounceTime, mergeMap, take, tap } from 'rxjs/operators';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { UpdateFilter } from '../data/data.actions';\nimport { DataStateSelectors } from '../data/data.selectors';\nimport { SceneState } from '../scene/scene.state';\nimport { AddSearch } from '../spatial-search-filter/spatial-search-filter.actions';\nimport { SpatialSearchFilterSelectors } from '../spatial-search-filter/spatial-search-filter.selectors';\nimport {\n GenerateSpatialSearch,\n MoveToNode,\n ResetPosition,\n ResetRadius,\n SetExecuteSearchOnGenerate,\n SetOrgan,\n SetPosition,\n SetRadius,\n SetSex,\n StartSpatialSearchFlow,\n UpdateSpatialSearch,\n} from './spatial-search-ui.actions';\n\n\nexport interface Position {\n x: number;\n y: number;\n z: number;\n}\n\nexport interface RadiusSettings {\n min: number;\n max: number;\n defaultValue: number;\n}\n\nexport interface TermResult {\n '@id': string;\n label: string;\n count: number;\n}\n\nexport interface SpatialSearchUiModel {\n sex: Sex;\n organId?: string;\n position?: Position;\n radius?: number;\n\n defaultPosition?: Position;\n radiusSettings?: RadiusSettings;\n\n referenceOrgans?: OrganInfo[];\n organScene?: SpatialSceneNode[];\n\n spatialSearchScene?: SpatialSceneNode[];\n tissueBlocks?: TissueBlockResult[];\n anatomicalStructures?: Record;\n cellTypes?: Record;\n\n executeSearchOnGeneration: boolean;\n}\n\nclass ReallyUpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Really update spatial search data';\n}\n\n\n@State({\n name: 'spatialSearchUi',\n defaults: {\n sex: 'female',\n executeSearchOnGeneration: true\n }\n})\n@Injectable()\nexport class SpatialSearchUiState {\n @Selector([SpatialSearchUiState, SceneState.referenceOrganEntities])\n static organEntity(state: SpatialSearchUiModel, organs: SpatialEntity[]): SpatialEntity | undefined {\n const { organId, sex } = state;\n return organs.find(o => o.representation_of === organId && o.sex?.toLowerCase() === sex);\n }\n\n constructor(\n private readonly dataSource: DataSourceService,\n private readonly store: Store,\n actions$: Actions,\n private readonly ga: GoogleAnalyticsService\n ) {\n actions$.pipe(\n ofActionDispatched(UpdateSpatialSearch),\n debounceTime(500),\n tap(() => store.dispatch(ReallyUpdateSpatialSearch))\n ).subscribe();\n }\n\n @Action(StartSpatialSearchFlow)\n startSpatialSearchFlow(ctx: StateContext): Observable {\n const { sex, organId } = ctx.getState();\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', `${sex}_${shortOrgan}`);\n\n return ctx.dispatch(new SetSex(sex));\n }\n\n /**\n * Updates sex in the SpatialSearchUI and sets selected organ to undefined if not valid for the sex\n */\n @Action(SetSex)\n setSex(ctx: StateContext, { sex }: SetSex): Observable | void {\n let { organId } = ctx.getState();\n ctx.patchState({ sex });\n this.ga.event('set_sex', 'spatial_search_ui', sex);\n\n if (organId !== undefined && !this.organValidForSex(organId, sex)) {\n organId = undefined;\n }\n\n const filter = {\n ...this.store.selectSnapshot(DataStateSelectors.filter),\n spatialSearches: []\n };\n const referenceOrgans = this.store.selectSnapshot(SceneState.referenceOrgans);\n\n return this.dataSource.getOntologyTermOccurences(filter).pipe(\n take(1),\n tap((counts: Record) => {\n ctx.patchState({\n referenceOrgans: referenceOrgans.filter((o) => o.id && !o.disabled && counts[o.id] > 0)\n });\n ctx.dispatch(new SetOrgan(organId));\n })\n );\n }\n\n /**\n * Updates organId in the SpatialSearchUI\n */\n @Action(SetOrgan)\n setOrgan(ctx: StateContext, { organId }: SetOrgan): Observable | void {\n const { sex } = ctx.getState();\n ctx.patchState({ sex, organId });\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', shortOrgan);\n\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && organId && organ.sex) {\n const { x_dimension: width, y_dimension: height, z_dimension: depth } = organ;\n const position = { x: Math.round(width / 2), y: Math.round(height / 2), z: Math.round(depth / 2) };\n const defaultRadius = Math.round(Math.max(width, height, depth) * 0.07);\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter = {\n ...globalFilter,\n sex: organ.sex,\n ontologyTerms: [organId],\n spatialSearches: []\n };\n\n return this.dataSource\n .getReferenceOrganScene(organId, filter)\n .pipe(\n take(1),\n tap((organScene: SpatialSceneNode[]) => {\n ctx.patchState({\n position,\n radius: defaultRadius,\n defaultPosition: position,\n radiusSettings: { min: Math.min(defaultRadius, 5), max: Math.floor(Math.max(width, height, depth) / 1.5), defaultValue: defaultRadius },\n organScene: getOriginScene(organ).concat(organScene)\n });\n }),\n mergeMap(() => ctx.dispatch(new UpdateSpatialSearch()))\n );\n }\n }\n\n /**\n * Updates position in the SpatialSearchUI\n */\n @Action(SetPosition)\n setPosition(ctx: StateContext, { position }: SetPosition): void {\n ctx.patchState({ position });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = position;\n this.ga.event('set_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(ResetPosition)\n resetPosition(ctx: StateContext): void {\n const { defaultPosition } = ctx.getState();\n ctx.patchState({ position: defaultPosition });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = defaultPosition ?? { x: 0, y: 0, z: 0 };\n this.ga.event('reset_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(MoveToNode)\n moveToNode(ctx: StateContext, { node }: MoveToNode): Observable | void {\n const matrix = new Matrix4(node.transformMatrix);\n const [x, y, z] = matrix.getTranslation().map(n => Math.round(n * 1000));\n const position: Position = { x, y, z };\n\n return ctx.dispatch(new SetPosition(position));\n }\n\n /**\n * Updates radius in the SpatialSearchUI\n */\n @Action(SetRadius)\n setRadius(ctx: StateContext, { radius }: SetRadius): void {\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('set_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n @Action(ResetRadius)\n resetRadius(ctx: StateContext): void {\n const { radiusSettings } = ctx.getState();\n const radius = radiusSettings?.defaultValue ?? 0;\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('reset_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n /**\n * Updates the spatial search data as the organ, position, and radius changes\n */\n @Action(ReallyUpdateSpatialSearch)\n updateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && position && radius && organ.representation_of) {\n const db = this.dataSource;\n const organId = organ.representation_of;\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter: Filter = {\n ...globalFilter,\n sex: organ.sex as 'Male' | 'Female',\n ontologyTerms: [organId],\n spatialSearches: [{\n ...position,\n radius: radius,\n target: organ['@id']\n }]\n };\n\n return forkJoin({\n spatialSearchScene: db.getReferenceOrganScene(organId, filter).pipe(take(1)),\n tissueBlocks: db.getTissueBlockResults(filter).pipe(take(1)),\n anatomicalStructures: db.getOntologyTermOccurences(filter).pipe(take(1)),\n cellTypes: db.getCellTypeTermOccurences(filter).pipe(take(1))\n }).pipe(\n tap((data: Partial) => ctx.patchState(data))\n );\n }\n }\n\n /**\n * Generates and adds a new spatial search then resets the ui state\n */\n @Action(GenerateSpatialSearch)\n generateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius, sex, organId, referenceOrgans = [], executeSearchOnGeneration } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n const info = referenceOrgans.find(item => item.id === organId);\n // const { spatialSearches = [] } = this.store.selectSnapshot(DataStateSelectors.filter);\n\n if (position && radius && organ?.representation_of && info) {\n const search: SpatialSearch = {\n ...position,\n radius,\n target: organ['@id']\n };\n const actions: unknown[] = [new AddSearch(sex, info.name, search)];\n\n if (executeSearchOnGeneration) {\n const searches = this.store.selectSnapshot(SpatialSearchFilterSelectors.selectedSearches);\n actions.push(new UpdateFilter({\n spatialSearches: searches.concat(search)\n }));\n }\n\n this.ga.event('generate_search', 'spatial_search_ui');\n return ctx.dispatch(actions).pipe(\n tap(() => ctx.patchState({\n sex: 'female',\n organId: undefined\n }))\n );\n }\n }\n\n @Action(SetExecuteSearchOnGenerate)\n setExecuteSearchOnGenerate(ctx: StateContext, { execute }: SetExecuteSearchOnGenerate): void {\n ctx.patchState({\n executeSearchOnGeneration: execute\n });\n }\n\n /**\n * Used to determine if an organ should be listed if a certain sex is selected\n */\n private organValidForSex(organId: string, sex: Sex): boolean {\n const organs = this.store.selectSnapshot(SceneState.referenceOrgans);\n const organ = organs.find(o => o.id === organId)!;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return organ.hasSex || organ.sex === sex;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RadiusSettings.html":{"url":"interfaces/RadiusSettings.html","title":"interface - RadiusSettings","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RadiusSettings\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n defaultValue\n \n \n \n \n max\n \n \n \n \n min\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n defaultValue\n \n \n \n \n \n \n \n \n defaultValue: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n max\n \n \n \n \n \n \n \n \n max: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n min\n \n \n \n \n \n \n \n \n min: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport { Action, Actions, ofActionDispatched, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { Filter, getOriginScene, SpatialEntity, SpatialSceneNode, SpatialSearch, TissueBlockResult } from 'ccf-database';\nimport { DataSourceService, OrganInfo } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { forkJoin, Observable } from 'rxjs';\nimport { debounceTime, mergeMap, take, tap } from 'rxjs/operators';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { UpdateFilter } from '../data/data.actions';\nimport { DataStateSelectors } from '../data/data.selectors';\nimport { SceneState } from '../scene/scene.state';\nimport { AddSearch } from '../spatial-search-filter/spatial-search-filter.actions';\nimport { SpatialSearchFilterSelectors } from '../spatial-search-filter/spatial-search-filter.selectors';\nimport {\n GenerateSpatialSearch,\n MoveToNode,\n ResetPosition,\n ResetRadius,\n SetExecuteSearchOnGenerate,\n SetOrgan,\n SetPosition,\n SetRadius,\n SetSex,\n StartSpatialSearchFlow,\n UpdateSpatialSearch,\n} from './spatial-search-ui.actions';\n\n\nexport interface Position {\n x: number;\n y: number;\n z: number;\n}\n\nexport interface RadiusSettings {\n min: number;\n max: number;\n defaultValue: number;\n}\n\nexport interface TermResult {\n '@id': string;\n label: string;\n count: number;\n}\n\nexport interface SpatialSearchUiModel {\n sex: Sex;\n organId?: string;\n position?: Position;\n radius?: number;\n\n defaultPosition?: Position;\n radiusSettings?: RadiusSettings;\n\n referenceOrgans?: OrganInfo[];\n organScene?: SpatialSceneNode[];\n\n spatialSearchScene?: SpatialSceneNode[];\n tissueBlocks?: TissueBlockResult[];\n anatomicalStructures?: Record;\n cellTypes?: Record;\n\n executeSearchOnGeneration: boolean;\n}\n\nclass ReallyUpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Really update spatial search data';\n}\n\n\n@State({\n name: 'spatialSearchUi',\n defaults: {\n sex: 'female',\n executeSearchOnGeneration: true\n }\n})\n@Injectable()\nexport class SpatialSearchUiState {\n @Selector([SpatialSearchUiState, SceneState.referenceOrganEntities])\n static organEntity(state: SpatialSearchUiModel, organs: SpatialEntity[]): SpatialEntity | undefined {\n const { organId, sex } = state;\n return organs.find(o => o.representation_of === organId && o.sex?.toLowerCase() === sex);\n }\n\n constructor(\n private readonly dataSource: DataSourceService,\n private readonly store: Store,\n actions$: Actions,\n private readonly ga: GoogleAnalyticsService\n ) {\n actions$.pipe(\n ofActionDispatched(UpdateSpatialSearch),\n debounceTime(500),\n tap(() => store.dispatch(ReallyUpdateSpatialSearch))\n ).subscribe();\n }\n\n @Action(StartSpatialSearchFlow)\n startSpatialSearchFlow(ctx: StateContext): Observable {\n const { sex, organId } = ctx.getState();\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', `${sex}_${shortOrgan}`);\n\n return ctx.dispatch(new SetSex(sex));\n }\n\n /**\n * Updates sex in the SpatialSearchUI and sets selected organ to undefined if not valid for the sex\n */\n @Action(SetSex)\n setSex(ctx: StateContext, { sex }: SetSex): Observable | void {\n let { organId } = ctx.getState();\n ctx.patchState({ sex });\n this.ga.event('set_sex', 'spatial_search_ui', sex);\n\n if (organId !== undefined && !this.organValidForSex(organId, sex)) {\n organId = undefined;\n }\n\n const filter = {\n ...this.store.selectSnapshot(DataStateSelectors.filter),\n spatialSearches: []\n };\n const referenceOrgans = this.store.selectSnapshot(SceneState.referenceOrgans);\n\n return this.dataSource.getOntologyTermOccurences(filter).pipe(\n take(1),\n tap((counts: Record) => {\n ctx.patchState({\n referenceOrgans: referenceOrgans.filter((o) => o.id && !o.disabled && counts[o.id] > 0)\n });\n ctx.dispatch(new SetOrgan(organId));\n })\n );\n }\n\n /**\n * Updates organId in the SpatialSearchUI\n */\n @Action(SetOrgan)\n setOrgan(ctx: StateContext, { organId }: SetOrgan): Observable | void {\n const { sex } = ctx.getState();\n ctx.patchState({ sex, organId });\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', shortOrgan);\n\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && organId && organ.sex) {\n const { x_dimension: width, y_dimension: height, z_dimension: depth } = organ;\n const position = { x: Math.round(width / 2), y: Math.round(height / 2), z: Math.round(depth / 2) };\n const defaultRadius = Math.round(Math.max(width, height, depth) * 0.07);\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter = {\n ...globalFilter,\n sex: organ.sex,\n ontologyTerms: [organId],\n spatialSearches: []\n };\n\n return this.dataSource\n .getReferenceOrganScene(organId, filter)\n .pipe(\n take(1),\n tap((organScene: SpatialSceneNode[]) => {\n ctx.patchState({\n position,\n radius: defaultRadius,\n defaultPosition: position,\n radiusSettings: { min: Math.min(defaultRadius, 5), max: Math.floor(Math.max(width, height, depth) / 1.5), defaultValue: defaultRadius },\n organScene: getOriginScene(organ).concat(organScene)\n });\n }),\n mergeMap(() => ctx.dispatch(new UpdateSpatialSearch()))\n );\n }\n }\n\n /**\n * Updates position in the SpatialSearchUI\n */\n @Action(SetPosition)\n setPosition(ctx: StateContext, { position }: SetPosition): void {\n ctx.patchState({ position });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = position;\n this.ga.event('set_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(ResetPosition)\n resetPosition(ctx: StateContext): void {\n const { defaultPosition } = ctx.getState();\n ctx.patchState({ position: defaultPosition });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = defaultPosition ?? { x: 0, y: 0, z: 0 };\n this.ga.event('reset_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(MoveToNode)\n moveToNode(ctx: StateContext, { node }: MoveToNode): Observable | void {\n const matrix = new Matrix4(node.transformMatrix);\n const [x, y, z] = matrix.getTranslation().map(n => Math.round(n * 1000));\n const position: Position = { x, y, z };\n\n return ctx.dispatch(new SetPosition(position));\n }\n\n /**\n * Updates radius in the SpatialSearchUI\n */\n @Action(SetRadius)\n setRadius(ctx: StateContext, { radius }: SetRadius): void {\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('set_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n @Action(ResetRadius)\n resetRadius(ctx: StateContext): void {\n const { radiusSettings } = ctx.getState();\n const radius = radiusSettings?.defaultValue ?? 0;\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('reset_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n /**\n * Updates the spatial search data as the organ, position, and radius changes\n */\n @Action(ReallyUpdateSpatialSearch)\n updateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && position && radius && organ.representation_of) {\n const db = this.dataSource;\n const organId = organ.representation_of;\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter: Filter = {\n ...globalFilter,\n sex: organ.sex as 'Male' | 'Female',\n ontologyTerms: [organId],\n spatialSearches: [{\n ...position,\n radius: radius,\n target: organ['@id']\n }]\n };\n\n return forkJoin({\n spatialSearchScene: db.getReferenceOrganScene(organId, filter).pipe(take(1)),\n tissueBlocks: db.getTissueBlockResults(filter).pipe(take(1)),\n anatomicalStructures: db.getOntologyTermOccurences(filter).pipe(take(1)),\n cellTypes: db.getCellTypeTermOccurences(filter).pipe(take(1))\n }).pipe(\n tap((data: Partial) => ctx.patchState(data))\n );\n }\n }\n\n /**\n * Generates and adds a new spatial search then resets the ui state\n */\n @Action(GenerateSpatialSearch)\n generateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius, sex, organId, referenceOrgans = [], executeSearchOnGeneration } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n const info = referenceOrgans.find(item => item.id === organId);\n // const { spatialSearches = [] } = this.store.selectSnapshot(DataStateSelectors.filter);\n\n if (position && radius && organ?.representation_of && info) {\n const search: SpatialSearch = {\n ...position,\n radius,\n target: organ['@id']\n };\n const actions: unknown[] = [new AddSearch(sex, info.name, search)];\n\n if (executeSearchOnGeneration) {\n const searches = this.store.selectSnapshot(SpatialSearchFilterSelectors.selectedSearches);\n actions.push(new UpdateFilter({\n spatialSearches: searches.concat(search)\n }));\n }\n\n this.ga.event('generate_search', 'spatial_search_ui');\n return ctx.dispatch(actions).pipe(\n tap(() => ctx.patchState({\n sex: 'female',\n organId: undefined\n }))\n );\n }\n }\n\n @Action(SetExecuteSearchOnGenerate)\n setExecuteSearchOnGenerate(ctx: StateContext, { execute }: SetExecuteSearchOnGenerate): void {\n ctx.patchState({\n executeSearchOnGeneration: execute\n });\n }\n\n /**\n * Used to determine if an organ should be listed if a certain sex is selected\n */\n private organValidForSex(organId: string, sex: Sex): boolean {\n const organs = this.store.selectSnapshot(SceneState.referenceOrgans);\n const organ = organs.find(o => o.id === organId)!;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return organ.hasSex || organ.sex === sex;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ReallyUpdateSpatialSearch.html":{"url":"classes/ReallyUpdateSpatialSearch.html","title":"class - ReallyUpdateSpatialSearch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ReallyUpdateSpatialSearch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Really update spatial search data'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:70\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport { Action, Actions, ofActionDispatched, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { Filter, getOriginScene, SpatialEntity, SpatialSceneNode, SpatialSearch, TissueBlockResult } from 'ccf-database';\nimport { DataSourceService, OrganInfo } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { forkJoin, Observable } from 'rxjs';\nimport { debounceTime, mergeMap, take, tap } from 'rxjs/operators';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { UpdateFilter } from '../data/data.actions';\nimport { DataStateSelectors } from '../data/data.selectors';\nimport { SceneState } from '../scene/scene.state';\nimport { AddSearch } from '../spatial-search-filter/spatial-search-filter.actions';\nimport { SpatialSearchFilterSelectors } from '../spatial-search-filter/spatial-search-filter.selectors';\nimport {\n GenerateSpatialSearch,\n MoveToNode,\n ResetPosition,\n ResetRadius,\n SetExecuteSearchOnGenerate,\n SetOrgan,\n SetPosition,\n SetRadius,\n SetSex,\n StartSpatialSearchFlow,\n UpdateSpatialSearch,\n} from './spatial-search-ui.actions';\n\n\nexport interface Position {\n x: number;\n y: number;\n z: number;\n}\n\nexport interface RadiusSettings {\n min: number;\n max: number;\n defaultValue: number;\n}\n\nexport interface TermResult {\n '@id': string;\n label: string;\n count: number;\n}\n\nexport interface SpatialSearchUiModel {\n sex: Sex;\n organId?: string;\n position?: Position;\n radius?: number;\n\n defaultPosition?: Position;\n radiusSettings?: RadiusSettings;\n\n referenceOrgans?: OrganInfo[];\n organScene?: SpatialSceneNode[];\n\n spatialSearchScene?: SpatialSceneNode[];\n tissueBlocks?: TissueBlockResult[];\n anatomicalStructures?: Record;\n cellTypes?: Record;\n\n executeSearchOnGeneration: boolean;\n}\n\nclass ReallyUpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Really update spatial search data';\n}\n\n\n@State({\n name: 'spatialSearchUi',\n defaults: {\n sex: 'female',\n executeSearchOnGeneration: true\n }\n})\n@Injectable()\nexport class SpatialSearchUiState {\n @Selector([SpatialSearchUiState, SceneState.referenceOrganEntities])\n static organEntity(state: SpatialSearchUiModel, organs: SpatialEntity[]): SpatialEntity | undefined {\n const { organId, sex } = state;\n return organs.find(o => o.representation_of === organId && o.sex?.toLowerCase() === sex);\n }\n\n constructor(\n private readonly dataSource: DataSourceService,\n private readonly store: Store,\n actions$: Actions,\n private readonly ga: GoogleAnalyticsService\n ) {\n actions$.pipe(\n ofActionDispatched(UpdateSpatialSearch),\n debounceTime(500),\n tap(() => store.dispatch(ReallyUpdateSpatialSearch))\n ).subscribe();\n }\n\n @Action(StartSpatialSearchFlow)\n startSpatialSearchFlow(ctx: StateContext): Observable {\n const { sex, organId } = ctx.getState();\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', `${sex}_${shortOrgan}`);\n\n return ctx.dispatch(new SetSex(sex));\n }\n\n /**\n * Updates sex in the SpatialSearchUI and sets selected organ to undefined if not valid for the sex\n */\n @Action(SetSex)\n setSex(ctx: StateContext, { sex }: SetSex): Observable | void {\n let { organId } = ctx.getState();\n ctx.patchState({ sex });\n this.ga.event('set_sex', 'spatial_search_ui', sex);\n\n if (organId !== undefined && !this.organValidForSex(organId, sex)) {\n organId = undefined;\n }\n\n const filter = {\n ...this.store.selectSnapshot(DataStateSelectors.filter),\n spatialSearches: []\n };\n const referenceOrgans = this.store.selectSnapshot(SceneState.referenceOrgans);\n\n return this.dataSource.getOntologyTermOccurences(filter).pipe(\n take(1),\n tap((counts: Record) => {\n ctx.patchState({\n referenceOrgans: referenceOrgans.filter((o) => o.id && !o.disabled && counts[o.id] > 0)\n });\n ctx.dispatch(new SetOrgan(organId));\n })\n );\n }\n\n /**\n * Updates organId in the SpatialSearchUI\n */\n @Action(SetOrgan)\n setOrgan(ctx: StateContext, { organId }: SetOrgan): Observable | void {\n const { sex } = ctx.getState();\n ctx.patchState({ sex, organId });\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', shortOrgan);\n\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && organId && organ.sex) {\n const { x_dimension: width, y_dimension: height, z_dimension: depth } = organ;\n const position = { x: Math.round(width / 2), y: Math.round(height / 2), z: Math.round(depth / 2) };\n const defaultRadius = Math.round(Math.max(width, height, depth) * 0.07);\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter = {\n ...globalFilter,\n sex: organ.sex,\n ontologyTerms: [organId],\n spatialSearches: []\n };\n\n return this.dataSource\n .getReferenceOrganScene(organId, filter)\n .pipe(\n take(1),\n tap((organScene: SpatialSceneNode[]) => {\n ctx.patchState({\n position,\n radius: defaultRadius,\n defaultPosition: position,\n radiusSettings: { min: Math.min(defaultRadius, 5), max: Math.floor(Math.max(width, height, depth) / 1.5), defaultValue: defaultRadius },\n organScene: getOriginScene(organ).concat(organScene)\n });\n }),\n mergeMap(() => ctx.dispatch(new UpdateSpatialSearch()))\n );\n }\n }\n\n /**\n * Updates position in the SpatialSearchUI\n */\n @Action(SetPosition)\n setPosition(ctx: StateContext, { position }: SetPosition): void {\n ctx.patchState({ position });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = position;\n this.ga.event('set_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(ResetPosition)\n resetPosition(ctx: StateContext): void {\n const { defaultPosition } = ctx.getState();\n ctx.patchState({ position: defaultPosition });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = defaultPosition ?? { x: 0, y: 0, z: 0 };\n this.ga.event('reset_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(MoveToNode)\n moveToNode(ctx: StateContext, { node }: MoveToNode): Observable | void {\n const matrix = new Matrix4(node.transformMatrix);\n const [x, y, z] = matrix.getTranslation().map(n => Math.round(n * 1000));\n const position: Position = { x, y, z };\n\n return ctx.dispatch(new SetPosition(position));\n }\n\n /**\n * Updates radius in the SpatialSearchUI\n */\n @Action(SetRadius)\n setRadius(ctx: StateContext, { radius }: SetRadius): void {\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('set_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n @Action(ResetRadius)\n resetRadius(ctx: StateContext): void {\n const { radiusSettings } = ctx.getState();\n const radius = radiusSettings?.defaultValue ?? 0;\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('reset_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n /**\n * Updates the spatial search data as the organ, position, and radius changes\n */\n @Action(ReallyUpdateSpatialSearch)\n updateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && position && radius && organ.representation_of) {\n const db = this.dataSource;\n const organId = organ.representation_of;\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter: Filter = {\n ...globalFilter,\n sex: organ.sex as 'Male' | 'Female',\n ontologyTerms: [organId],\n spatialSearches: [{\n ...position,\n radius: radius,\n target: organ['@id']\n }]\n };\n\n return forkJoin({\n spatialSearchScene: db.getReferenceOrganScene(organId, filter).pipe(take(1)),\n tissueBlocks: db.getTissueBlockResults(filter).pipe(take(1)),\n anatomicalStructures: db.getOntologyTermOccurences(filter).pipe(take(1)),\n cellTypes: db.getCellTypeTermOccurences(filter).pipe(take(1))\n }).pipe(\n tap((data: Partial) => ctx.patchState(data))\n );\n }\n }\n\n /**\n * Generates and adds a new spatial search then resets the ui state\n */\n @Action(GenerateSpatialSearch)\n generateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius, sex, organId, referenceOrgans = [], executeSearchOnGeneration } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n const info = referenceOrgans.find(item => item.id === organId);\n // const { spatialSearches = [] } = this.store.selectSnapshot(DataStateSelectors.filter);\n\n if (position && radius && organ?.representation_of && info) {\n const search: SpatialSearch = {\n ...position,\n radius,\n target: organ['@id']\n };\n const actions: unknown[] = [new AddSearch(sex, info.name, search)];\n\n if (executeSearchOnGeneration) {\n const searches = this.store.selectSnapshot(SpatialSearchFilterSelectors.selectedSearches);\n actions.push(new UpdateFilter({\n spatialSearches: searches.concat(search)\n }));\n }\n\n this.ga.event('generate_search', 'spatial_search_ui');\n return ctx.dispatch(actions).pipe(\n tap(() => ctx.patchState({\n sex: 'female',\n organId: undefined\n }))\n );\n }\n }\n\n @Action(SetExecuteSearchOnGenerate)\n setExecuteSearchOnGenerate(ctx: StateContext, { execute }: SetExecuteSearchOnGenerate): void {\n ctx.patchState({\n executeSearchOnGeneration: execute\n });\n }\n\n /**\n * Used to determine if an organ should be listed if a certain sex is selected\n */\n private organValidForSex(organId: string, sex: Sex): boolean {\n const organs = this.store.selectSnapshot(SceneState.referenceOrgans);\n const organ = organs.find(o => o.id === organId)!;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return organ.hasSex || organ.sex === sex;\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RemoveSearch.html":{"url":"classes/RemoveSearch.html","title":"class - RemoveSearch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RemoveSearch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: string)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[Spatial Search Filter] Remove'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSearch } from 'ccf-database';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\n\nimport type { SpatialSearchFilterItem } from './spatial-search-filter.state';\n\n\nexport class AddSearch {\n static readonly type = '[Spatial Search Filter] Add';\n\n constructor(readonly sex: Sex, readonly organName: string, readonly search: SpatialSearch) { }\n}\n\nexport class RemoveSearch {\n static readonly type = '[Spatial Search Filter] Remove';\n\n constructor(readonly id: string) { }\n}\n\nexport class SetSelectedSearches {\n static readonly type = '[Spatial Search Filter] Set selected searches';\n\n constructor(readonly items: SpatialSearchFilterItem[]) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResetPosition.html":{"url":"classes/ResetPosition.html","title":"class - ResetPosition","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResetPosition\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Reset position'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:32\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResetRadius.html":{"url":"classes/ResetRadius.html","title":"class - ResetRadius","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResetRadius\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Reset radius'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:42\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ResultsBrowserComponent.html":{"url":"components/ResultsBrowserComponent.html","title":"component - ResultsBrowserComponent","body":"\n \n\n\n\n\n\n Components\n \n ResultsBrowserComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts\n\n\n\n \n Description\n \n \n ResultsBrowser is the container component in charge of rendering the label and stats of\nthe results as well as handling the virtual scrolling and click emitters of\nResultsBrowserItems.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-results-browser\n \n\n \n styleUrls\n ./results-browser.component.scss\n \n\n\n\n \n templateUrl\n ./results-browser.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n atScrollBottom\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleHover\n \n \n handleLinkClick\n \n \n handleSelection\n \n \n handleUnhover\n \n \n onScroll\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n aggregateData\n \n \n header\n \n \n highlighted\n \n \n listResults\n \n \n resultLabel\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n itemHovered\n \n \n itemUnhovered\n \n \n linkClicked\n \n \n listResultDeselected\n \n \n listResultSelected\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:64\n \n \n\n \n \n Creates an instance of results browser component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n aggregateData\n \n \n \n \n Type : Immutable\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:29\n \n \n \n \n Input used to add a list of stats at the top the results browser\n\n \n \n \n \n \n \n \n \n \n header\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:38\n \n \n \n \n \n \n \n \n \n highlighted\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:36\n \n \n \n \n \n \n \n \n \n listResults\n \n \n \n \n Type : Immutable\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:24\n \n \n \n \n Input array of List Results to display\n\n \n \n \n \n \n \n \n \n \n resultLabel\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:34\n \n \n \n \n Input allowing the title of the result browser to be set outside of the component\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n itemHovered\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:56\n \n \n \n \n \n \n \n \n \n itemUnhovered\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:58\n \n \n \n \n \n \n \n \n \n linkClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:44\n \n \n \n \n Output emitting the result that was clicked on and its relevant information.\nUsed for opening and rendering the result viewer.\n\n \n \n \n \n \n \n \n \n \n listResultDeselected\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:54\n \n \n \n \n Output emitting the link result deselected\n\n \n \n \n \n \n \n \n \n \n listResultSelected\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:49\n \n \n \n \n Output emitting the link result selected\n\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleHover\n \n \n \n \n \n \nhandleHover(id: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:111\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n handleLinkClick\n \n \n \n \n \n \nhandleLinkClick(link: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:93\n \n \n\n\n \n \n Notifies on link click\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n link\n \n string\n \n\n \n No\n \n\n\n \n the link clicked\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n handleSelection\n \n \n \n \n \n \nhandleSelection(result: Immutable, selected: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:79\n \n \n\n\n \n \n Notifies listeners when a selection/deselection is made\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n result\n \n Immutable\n \n\n \n No\n \n\n\n \n the list result\n\n \n \n \n selected\n \n boolean\n \n\n \n No\n \n\n\n \n whether to select or deselect the result\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n handleUnhover\n \n \n \n \n \n \nhandleUnhover()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:115\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n onScroll\n \n \n \n \n \n \nonScroll(event: UIEvent)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:102\n \n \n\n\n \n \n Handles the scroll event to detect when scroll is at the bottom.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n UIEvent\n \n\n \n No\n \n\n\n \n The scroll event.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n atScrollBottom\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts:64\n \n \n\n \n \n Keeps track of whether or not the virtual scroll viewport is scrolled all the way to the bottom.\nUsed to determine whether or not to render the gradient at the bottom.\n\n \n \n\n \n \n\n\n\n\n\n \n import { Immutable } from '@angular-ru/common/typings/immutability';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AggregateResult } from 'ccf-database';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { ListResult } from '../../../core/models/list-result';\n\n\n/**\n * ResultsBrowser is the container component in charge of rendering the label and stats of\n * the results as well as handling the virtual scrolling and click emitters of\n * ResultsBrowserItems.\n */\n@Component({\n selector: 'ccf-results-browser',\n templateUrl: './results-browser.component.html',\n styleUrls: ['./results-browser.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ResultsBrowserComponent {\n /**\n * Input array of List Results to display\n */\n @Input() listResults: Immutable;\n\n /**\n * Input used to add a list of stats at the top the results browser\n */\n @Input() aggregateData: Immutable;\n\n /**\n * Input allowing the title of the result browser to be set outside of the component\n */\n @Input() resultLabel: string;\n\n @Input() highlighted: string;\n\n @Input() header: boolean;\n\n /**\n * Output emitting the result that was clicked on and its relevant information.\n * Used for opening and rendering the result viewer.\n */\n @Output() readonly linkClicked = new EventEmitter();\n\n /**\n * Output emitting the link result selected\n */\n @Output() readonly listResultSelected = new EventEmitter>();\n\n /**\n * Output emitting the link result deselected\n */\n @Output() readonly listResultDeselected = new EventEmitter>();\n\n @Output() readonly itemHovered = new EventEmitter();\n\n @Output() readonly itemUnhovered = new EventEmitter();\n\n /**\n * Keeps track of whether or not the virtual scroll viewport is scrolled all the way to the bottom.\n * Used to determine whether or not to render the gradient at the bottom.\n */\n atScrollBottom = false;\n\n /**\n * Creates an instance of results browser component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Notifies listeners when a selection/deselection is made\n *\n * @param result the list result\n * @param selected whether to select or deselect the result\n */\n handleSelection(result: Immutable, selected: boolean): void {\n this.ga.event('list_result_selected', 'results_browser', this.resultLabel, +selected);\n if (selected) {\n this.listResultSelected.next(result);\n } else {\n this.listResultDeselected.next(result);\n }\n }\n\n /**\n * Notifies on link click\n *\n * @param link the link clicked\n */\n handleLinkClick(link: string): void {\n this.linkClicked.emit(link);\n }\n\n /**\n * Handles the scroll event to detect when scroll is at the bottom.\n *\n * @param event The scroll event.\n */\n onScroll(event: UIEvent): void {\n if (!event.target) {\n return;\n }\n const { clientHeight, scrollHeight, scrollTop } = event.target as Element;\n const diff = scrollHeight - scrollTop - clientHeight;\n this.atScrollBottom = diff \n \n\n \n \n \n {{ resultLabel }}\n \n {{stat.count}}\n {{stat.label}}\n \n \n\n \n \n \n \n \n \n\n\n \n\n \n \n ./results-browser.component.scss\n \n .results-browser-container {\n display: flex;\n flex-direction: column;\n height: calc(100% - 3rem);\n padding: 0 1.5rem 1.5rem 1.5rem;\n\n .stat-box {\n margin-bottom: 1.5rem;\n line-height: 1.25;\n min-height: 7.75rem;\n\n #title {\n font-size: 1.25rem;\n margin-bottom: 0.75rem;\n }\n\n .stat-row {\n display: flex;\n flex-direction: row;\n\n .stat-value {\n margin-right: 1rem;\n width: 5.5rem;\n text-align: right;\n font-weight: 600;\n }\n .stat-label {\n font-weight: 300;\n }\n }\n }\n\n .results-browser-list {\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n scrollbar-width: thin;\n padding-right: .5rem;\n height: calc(100vh - 20rem);\n\n &.header-hidden {\n height: calc(100vh - 16rem);\n }\n\n .browser-item-container {\n width: 100%;\n }\n }\n\n .scroll-gradient {\n position: absolute;\n height: 3rem;\n width: 95%;\n bottom: 0;\n pointer-events: none;\n\n\n &.hidden {\n display: none;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ resultLabel }} {{stat.count}} {{stat.label}} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ResultsBrowserComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ResultsBrowserModule.html":{"url":"modules/ResultsBrowserModule.html","title":"module - ResultsBrowserModule","body":"\n \n\n\n\n\n Modules\n ResultsBrowserModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ResultsBrowserModule\n\n\n\ncluster_ResultsBrowserModule_imports\n\n\n\ncluster_ResultsBrowserModule_declarations\n\n\n\ncluster_ResultsBrowserModule_exports\n\n\n\n\nResultsBrowserComponent\n\nResultsBrowserComponent\n\n\n\nResultsBrowserModule\n\nResultsBrowserModule\n\nResultsBrowserModule -->\n\nResultsBrowserComponent->ResultsBrowserModule\n\n\n\n\n\nResultsBrowserComponent \n\nResultsBrowserComponent \n\nResultsBrowserComponent -->\n\nResultsBrowserModule->ResultsBrowserComponent \n\n\n\n\n\nDonorCardModule\n\nDonorCardModule\n\nResultsBrowserModule -->\n\nDonorCardModule->ResultsBrowserModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ResultsBrowserComponent\n \n \n \n \n Imports\n \n \n DonorCardModule\n \n \n \n \n Exports\n \n \n ResultsBrowserComponent\n \n \n \n \n \n\n\n \n\n\n \n import { ScrollingModule } from '@angular/cdk/scrolling';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ResultsBrowserComponent } from './results-browser.component';\nimport { DonorCardModule } from '../donor-card/donor-card.module';\n\n\n@NgModule({\n declarations: [ResultsBrowserComponent],\n imports: [\n CommonModule,\n ScrollingModule,\n DonorCardModule\n ],\n exports: [ResultsBrowserComponent]\n})\nexport class ResultsBrowserModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RunSpatialSearchComponent.html":{"url":"components/RunSpatialSearchComponent.html","title":"component - RunSpatialSearchComponent","body":"\n \n\n\n\n\n\n Components\n \n RunSpatialSearchComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/run-spatial-search/run-spatial-search.component.ts\n\n\n\n \n Description\n \n \n Button that opens up the Spatial Search config\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-run-spatial-search\n \n\n \n styleUrls\n ./run-spatial-search.component.scss\n \n\n\n\n \n templateUrl\n ./run-spatial-search.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n startSpatialSearchFlow\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(store: Store, dialog: MatDialog)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/run-spatial-search/run-spatial-search.component.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n store\n \n \n Store\n \n \n \n No\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-run-spatial-search\"\n\n \n \n \n \n Default value : 'ccf-run-spatial-search'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/run-spatial-search/run-spatial-search.component.ts:23\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n startSpatialSearchFlow\n \n \n \n \n \n \nstartSpatialSearchFlow()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/run-spatial-search/run-spatial-search.component.ts:30\n \n \n\n\n \n \n Starts spatial search flow\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-run-spatial-search'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/run-spatial-search/run-spatial-search.component.ts:23\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Store } from '@ngxs/store';\nimport { take, tap } from 'rxjs/operators';\n\nimport { StartSpatialSearchFlow } from '../../../core/store/spatial-search-ui/spatial-search-ui.actions';\nimport {\n SpatialSearchConfigBehaviorComponent,\n} from '../spatial-search-config-behavior/spatial-search-config-behavior.component';\n\n\n/**\n * Button that opens up the Spatial Search config\n */\n@Component({\n selector: 'ccf-run-spatial-search',\n templateUrl: './run-spatial-search.component.html',\n styleUrls: ['./run-spatial-search.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RunSpatialSearchComponent {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-run-spatial-search';\n\n constructor(private readonly store: Store, private readonly dialog: MatDialog) { }\n\n /**\n * Starts spatial search flow\n */\n startSpatialSearchFlow(): void {\n this.store.dispatch(new StartSpatialSearchFlow()).pipe(\n take(1),\n tap(() => this.dialog.open(SpatialSearchConfigBehaviorComponent))\n ).subscribe();\n }\n}\n\n \n\n \n \n Run Spatial Search\n travel_explore\n\n\n \n\n \n \n ./run-spatial-search.component.scss\n \n :host {\n .run-spatial-search-button {\n ::ng-deep .mat-button-wrapper {\n display: flex;\n align-items: center;\n \n .mat-icon {\n margin-left: 9.75px;\n }\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Run Spatial Search travel_explore'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RunSpatialSearchComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RunSpatialSearchModule.html":{"url":"modules/RunSpatialSearchModule.html","title":"module - RunSpatialSearchModule","body":"\n \n\n\n\n\n Modules\n RunSpatialSearchModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RunSpatialSearchModule\n\n\n\ncluster_RunSpatialSearchModule_declarations\n\n\n\ncluster_RunSpatialSearchModule_exports\n\n\n\n\nRunSpatialSearchComponent\n\nRunSpatialSearchComponent\n\n\n\nRunSpatialSearchModule\n\nRunSpatialSearchModule\n\nRunSpatialSearchModule -->\n\nRunSpatialSearchComponent->RunSpatialSearchModule\n\n\n\n\n\nRunSpatialSearchComponent \n\nRunSpatialSearchComponent \n\nRunSpatialSearchComponent -->\n\nRunSpatialSearchModule->RunSpatialSearchComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/run-spatial-search/run-spatial-search.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RunSpatialSearchComponent\n \n \n \n \n Exports\n \n \n RunSpatialSearchComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { RunSpatialSearchComponent } from './run-spatial-search.component';\n\n@NgModule({\n imports: [CommonModule, MatButtonModule, MatIconModule],\n declarations: [RunSpatialSearchComponent],\n exports: [RunSpatialSearchComponent]\n})\nexport class RunSpatialSearchModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SceneState.html":{"url":"injectables/SceneState.html","title":"injectable - SceneState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n SceneState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/scene/scene.state.ts\n \n\n\n \n Description\n \n \n 3d Scene state\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n colorAssignments\n \n \n Private\n dataState\n \n \n Readonly\n highlightedId$\n \n \n Private\n listResults\n \n \n Readonly\n referenceOrgans$\n \n \n Readonly\n scene$\n \n \n Readonly\n selectedReferenceOrgans$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngxsOnInit\n \n \n Static\n referenceOrganEntities\n \n \n Static\n referenceOrgans\n \n \n sceneNodeClicked\n \n \n sceneNodeHovered\n \n \n sceneNodeUnhover\n \n \n setReferenceOrganEntities\n \n \n setReferenceOrgans\n \n \n setScene\n \n \n setSelectedReferenceOrgans\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dataService: DataSourceService, injector: Injector)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:78\n \n \n\n \n \n Creates an instance of scene state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dataService\n \n \n DataSourceService\n \n \n \n No\n \n \n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n Injector service used to lazy load data state\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:159\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Static\n referenceOrganEntities\n \n \n \n \n \n \n \n referenceOrganEntities(state: SceneStateModel)\n \n \n\n \n \n Decorators : \n \n @Selector()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SceneStateModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n referenceOrgans\n \n \n \n \n \n \n \n referenceOrgans(state: SceneStateModel)\n \n \n\n \n \n Decorators : \n \n @Selector()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SceneStateModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OrganInfo[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n sceneNodeClicked\n \n \n \n \n \n \nsceneNodeClicked(undefined: NodeClickEvent)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:137\n \n \n\n\n \n \n Handle scene node clicks\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n NodeClickEvent\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n sceneNodeHovered\n \n \n \n \n \n \nsceneNodeHovered(node: SpatialSceneNode)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:148\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n node\n \n SpatialSceneNode\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n sceneNodeUnhover\n \n \n \n \n \n \nsceneNodeUnhover()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:152\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setReferenceOrganEntities\n \n \n \n \n \n \nsetReferenceOrganEntities(referenceOrganEntities: SpatialEntity[])\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:118\n \n \n\n\n \n \n Sets the reference organ entities\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n referenceOrganEntities\n \n SpatialEntity[]\n \n\n \n No\n \n\n\n \n The reference organ entities available\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setReferenceOrgans\n \n \n \n \n \n \nsetReferenceOrgans(referenceOrgans: OrganInfo[])\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:108\n \n \n\n\n \n \n Sets the reference organs\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n referenceOrgans\n \n OrganInfo[]\n \n\n \n No\n \n\n\n \n The reference organs available\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setScene\n \n \n \n \n \n \nsetScene(scene: SpatialSceneNode[])\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:128\n \n \n\n\n \n \n Sets the scene\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n scene\n \n SpatialSceneNode[]\n \n\n \n No\n \n\n\n \n The active scene to display\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setSelectedReferenceOrgans\n \n \n \n \n \n \nsetSelectedReferenceOrgans(selectedReferenceOrgans: OrganInfo[])\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:98\n \n \n\n\n \n \n Sets the selected reference organs\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n selectedReferenceOrgans\n \n OrganInfo[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n colorAssignments\n \n \n \n \n \n \n Type : ColorAssignmentState\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:76\n \n \n\n \n \n Color assignments state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n dataState\n \n \n \n \n \n \n Type : DataState\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:73\n \n \n\n \n \n The data state\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n highlightedId$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('highlightedId'), distinctUntilChanged())\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:70\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n listResults\n \n \n \n \n \n \n Type : ListResultsState\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n referenceOrgans$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('referenceOrgans'), distinctUntilChanged())\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:64\n \n \n\n \n \n Available Reference Organs\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n scene$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('scene'), distinctUntilChanged())\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:68\n \n \n\n \n \n Scene to display in the 3d Scene\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n selectedReferenceOrgans$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('selectedReferenceOrgans'), distinctUntilChanged())\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/scene/scene.state.ts:66\n \n \n\n \n \n Selected Reference Organs\n\n \n \n\n \n \n\n\n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { DataAction, Payload, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { NgxsOnInit, Selector, State } from '@ngxs/store';\nimport { NodeClickEvent, SpatialSceneNode } from 'ccf-body-ui';\nimport { SpatialEntity } from 'ccf-database';\nimport { ALL_POSSIBLE_ORGANS, DataSourceService, OrganInfo } from 'ccf-shared';\nimport { combineLatest } from 'rxjs';\nimport { distinctUntilChanged, map, pluck, take, tap } from 'rxjs/operators';\n\nimport { ColorAssignmentState } from '../color-assignment/color-assignment.state';\nimport { DataState } from '../data/data.state';\nimport { ListResultsState } from '../list-results/list-results.state';\n\nexport const DEFAULT_SELECTED_ORGANS = new Set(['Skin', 'Heart', 'Kidney', 'Spleen']);\n\nexport interface SceneStateModel {\n scene: SpatialSceneNode[];\n referenceOrgans: OrganInfo[];\n referenceOrganEntities: SpatialEntity[];\n selectedReferenceOrgans: OrganInfo[];\n\n selectedAnatomicalStructures: unknown[];\n anatomicalStructureSettings: {\n [iri: string]: {\n enabled: boolean;\n visible: boolean;\n opacity: boolean;\n };\n };\n highlightedId?: string;\n}\n\n/**\n * 3d Scene state\n */\n@StateRepository()\n@State({\n name: 'scene',\n defaults: {\n scene: [],\n referenceOrgans: [],\n referenceOrganEntities: [],\n selectedReferenceOrgans: [],\n selectedAnatomicalStructures: [],\n anatomicalStructureSettings: {}\n }\n})\n@Injectable()\nexport class SceneState extends NgxsImmutableDataRepository implements NgxsOnInit {\n @Selector()\n static referenceOrgans(state: SceneStateModel): OrganInfo[] {\n return state.referenceOrgans;\n }\n\n @Selector()\n static referenceOrganEntities(state: SceneStateModel): SpatialEntity[] {\n return state.referenceOrganEntities;\n }\n\n /** Available Reference Organs */\n readonly referenceOrgans$ = this.state$.pipe(pluck('referenceOrgans'), distinctUntilChanged());\n /** Selected Reference Organs */\n readonly selectedReferenceOrgans$ = this.state$.pipe(pluck('selectedReferenceOrgans'), distinctUntilChanged());\n /** Scene to display in the 3d Scene */\n readonly scene$ = this.state$.pipe(pluck('scene'), distinctUntilChanged());\n\n readonly highlightedId$ = this.state$.pipe(pluck('highlightedId'), distinctUntilChanged());\n\n /** The data state */\n private dataState: DataState;\n\n /** Color assignments state */\n private colorAssignments: ColorAssignmentState;\n\n private listResults: ListResultsState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load data state\n */\n constructor(\n private readonly dataService: DataSourceService,\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Sets the selected reference organs\n *\n * @param referenceOrgans The selected reference organs selected\n */\n @DataAction()\n setSelectedReferenceOrgans(@Payload('selectedReferenceOrgans') selectedReferenceOrgans: OrganInfo[]): void {\n this.ctx.patchState({ selectedReferenceOrgans });\n }\n\n /**\n * Sets the reference organs\n *\n * @param referenceOrgans The reference organs available\n */\n @DataAction()\n setReferenceOrgans(@Payload('referenceOrgans') referenceOrgans: OrganInfo[]): void {\n this.ctx.patchState({ referenceOrgans });\n }\n\n /**\n * Sets the reference organ entities\n *\n * @param referenceOrganEntities The reference organ entities available\n */\n @DataAction()\n setReferenceOrganEntities(@Payload('referenceOrganEntities') referenceOrganEntities: SpatialEntity[]): void {\n this.ctx.patchState({ referenceOrganEntities });\n }\n\n /**\n * Sets the scene\n *\n * @param scene The active scene to display\n */\n @DataAction()\n setScene(@Payload('scene') scene: SpatialSceneNode[]): void {\n this.ctx.patchState({ scene });\n }\n\n /**\n * Handle scene node clicks\n *\n * @param param0 scene node click event\n */\n sceneNodeClicked({ node, ctrlClick }: NodeClickEvent): void {\n if (node.representation_of &&\n node['@id'] !== 'http://purl.org/ccf/latest/ccf.owl#VHFSkin'\n && node.entityId // Disables this path. Need to update logic here.\n ) {\n this.dataState.updateFilter({ ontologyTerms: [node.representation_of] });\n } else if (node.entityId) {\n this.colorAssignments.assignColor(node['@id'], !ctrlClick);\n }\n }\n\n sceneNodeHovered(node: SpatialSceneNode): void {\n this.listResults.highlightNode(node['@id']);\n }\n\n sceneNodeUnhover(): void {\n this.listResults.unHighlightNode();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.dataState = this.injector.get(DataState);\n this.colorAssignments = this.injector.get(ColorAssignmentState);\n this.listResults = this.injector.get(ListResultsState);\n\n // Initialize reference organ info\n this.dataService.getReferenceOrgans().pipe(\n tap(refOrgans => this.setReferenceOrganEntities(refOrgans)),\n map(refOrgans => {\n const organIds = new Set(refOrgans.map(o => o.representation_of));\n return ALL_POSSIBLE_ORGANS\n .filter(organ => organIds.has(organ.id))\n .map(organ => ({ ...organ, disabled: false, numResults: 0 }));\n }),\n take(1),\n tap(organs => {\n this.setReferenceOrgans(organs);\n this.setSelectedReferenceOrgans(organs.filter(organ => DEFAULT_SELECTED_ORGANS.has(organ.organ)));\n })\n ).subscribe();\n\n // Update scene as the overall state changes\n combineLatest([\n this.dataState.sceneData$,\n this.selectedReferenceOrgans$,\n this.colorAssignments.colorAssignments$,\n this.dataService.getReferenceOrgans(),\n this.listResults.highlightedNodeId$\n ]).pipe(\n map(([scene, selectedOrgans, colors, refOrganData, highlightedNodeId]) => {\n const activeOrgans = new Set(selectedOrgans.map(o => o.id));\n const refOrgans = new Set(refOrganData.filter(o => activeOrgans.has(o.representation_of)).map(o => o['@id']));\n return scene.filter(node =>\n (node.ccf_annotations?.some?.(tag => activeOrgans.has(tag))) ||\n (node.reference_organ && refOrgans.has(node.reference_organ))\n ).map((node): SpatialSceneNode =>\n node.entityId && (Object.prototype.hasOwnProperty.call(colors, node['@id']) || highlightedNodeId === node['@id']) ?\n ({\n ...node,\n color: highlightedNodeId === node['@id'] ?\n [30, 136, 229, 255] :\n colors[node['@id']].rgba as [number, number, number, number]\n }) : node\n );\n }),\n tap(scene => this.setScene(scene))\n ).subscribe();\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SceneStateModel.html":{"url":"interfaces/SceneStateModel.html","title":"interface - SceneStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SceneStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/scene/scene.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n anatomicalStructureSettings\n \n \n \n Optional\n \n highlightedId\n \n \n \n \n referenceOrganEntities\n \n \n \n \n referenceOrgans\n \n \n \n \n scene\n \n \n \n \n selectedAnatomicalStructures\n \n \n \n \n selectedReferenceOrgans\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n anatomicalStructureSettings\n \n \n \n \n \n \n \n \n anatomicalStructureSettings: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n highlightedId\n \n \n \n \n \n \n \n \n highlightedId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n referenceOrganEntities\n \n \n \n \n \n \n \n \n referenceOrganEntities: SpatialEntity[]\n\n \n \n\n\n \n \n Type : SpatialEntity[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n referenceOrgans\n \n \n \n \n \n \n \n \n referenceOrgans: OrganInfo[]\n\n \n \n\n\n \n \n Type : OrganInfo[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n scene\n \n \n \n \n \n \n \n \n scene: SpatialSceneNode[]\n\n \n \n\n\n \n \n Type : SpatialSceneNode[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n selectedAnatomicalStructures\n \n \n \n \n \n \n \n \n selectedAnatomicalStructures: []\n\n \n \n\n\n \n \n Type : []\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n selectedReferenceOrgans\n \n \n \n \n \n \n \n \n selectedReferenceOrgans: OrganInfo[]\n\n \n \n\n\n \n \n Type : OrganInfo[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { DataAction, Payload, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { NgxsOnInit, Selector, State } from '@ngxs/store';\nimport { NodeClickEvent, SpatialSceneNode } from 'ccf-body-ui';\nimport { SpatialEntity } from 'ccf-database';\nimport { ALL_POSSIBLE_ORGANS, DataSourceService, OrganInfo } from 'ccf-shared';\nimport { combineLatest } from 'rxjs';\nimport { distinctUntilChanged, map, pluck, take, tap } from 'rxjs/operators';\n\nimport { ColorAssignmentState } from '../color-assignment/color-assignment.state';\nimport { DataState } from '../data/data.state';\nimport { ListResultsState } from '../list-results/list-results.state';\n\nexport const DEFAULT_SELECTED_ORGANS = new Set(['Skin', 'Heart', 'Kidney', 'Spleen']);\n\nexport interface SceneStateModel {\n scene: SpatialSceneNode[];\n referenceOrgans: OrganInfo[];\n referenceOrganEntities: SpatialEntity[];\n selectedReferenceOrgans: OrganInfo[];\n\n selectedAnatomicalStructures: unknown[];\n anatomicalStructureSettings: {\n [iri: string]: {\n enabled: boolean;\n visible: boolean;\n opacity: boolean;\n };\n };\n highlightedId?: string;\n}\n\n/**\n * 3d Scene state\n */\n@StateRepository()\n@State({\n name: 'scene',\n defaults: {\n scene: [],\n referenceOrgans: [],\n referenceOrganEntities: [],\n selectedReferenceOrgans: [],\n selectedAnatomicalStructures: [],\n anatomicalStructureSettings: {}\n }\n})\n@Injectable()\nexport class SceneState extends NgxsImmutableDataRepository implements NgxsOnInit {\n @Selector()\n static referenceOrgans(state: SceneStateModel): OrganInfo[] {\n return state.referenceOrgans;\n }\n\n @Selector()\n static referenceOrganEntities(state: SceneStateModel): SpatialEntity[] {\n return state.referenceOrganEntities;\n }\n\n /** Available Reference Organs */\n readonly referenceOrgans$ = this.state$.pipe(pluck('referenceOrgans'), distinctUntilChanged());\n /** Selected Reference Organs */\n readonly selectedReferenceOrgans$ = this.state$.pipe(pluck('selectedReferenceOrgans'), distinctUntilChanged());\n /** Scene to display in the 3d Scene */\n readonly scene$ = this.state$.pipe(pluck('scene'), distinctUntilChanged());\n\n readonly highlightedId$ = this.state$.pipe(pluck('highlightedId'), distinctUntilChanged());\n\n /** The data state */\n private dataState: DataState;\n\n /** Color assignments state */\n private colorAssignments: ColorAssignmentState;\n\n private listResults: ListResultsState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load data state\n */\n constructor(\n private readonly dataService: DataSourceService,\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Sets the selected reference organs\n *\n * @param referenceOrgans The selected reference organs selected\n */\n @DataAction()\n setSelectedReferenceOrgans(@Payload('selectedReferenceOrgans') selectedReferenceOrgans: OrganInfo[]): void {\n this.ctx.patchState({ selectedReferenceOrgans });\n }\n\n /**\n * Sets the reference organs\n *\n * @param referenceOrgans The reference organs available\n */\n @DataAction()\n setReferenceOrgans(@Payload('referenceOrgans') referenceOrgans: OrganInfo[]): void {\n this.ctx.patchState({ referenceOrgans });\n }\n\n /**\n * Sets the reference organ entities\n *\n * @param referenceOrganEntities The reference organ entities available\n */\n @DataAction()\n setReferenceOrganEntities(@Payload('referenceOrganEntities') referenceOrganEntities: SpatialEntity[]): void {\n this.ctx.patchState({ referenceOrganEntities });\n }\n\n /**\n * Sets the scene\n *\n * @param scene The active scene to display\n */\n @DataAction()\n setScene(@Payload('scene') scene: SpatialSceneNode[]): void {\n this.ctx.patchState({ scene });\n }\n\n /**\n * Handle scene node clicks\n *\n * @param param0 scene node click event\n */\n sceneNodeClicked({ node, ctrlClick }: NodeClickEvent): void {\n if (node.representation_of &&\n node['@id'] !== 'http://purl.org/ccf/latest/ccf.owl#VHFSkin'\n && node.entityId // Disables this path. Need to update logic here.\n ) {\n this.dataState.updateFilter({ ontologyTerms: [node.representation_of] });\n } else if (node.entityId) {\n this.colorAssignments.assignColor(node['@id'], !ctrlClick);\n }\n }\n\n sceneNodeHovered(node: SpatialSceneNode): void {\n this.listResults.highlightNode(node['@id']);\n }\n\n sceneNodeUnhover(): void {\n this.listResults.unHighlightNode();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.dataState = this.injector.get(DataState);\n this.colorAssignments = this.injector.get(ColorAssignmentState);\n this.listResults = this.injector.get(ListResultsState);\n\n // Initialize reference organ info\n this.dataService.getReferenceOrgans().pipe(\n tap(refOrgans => this.setReferenceOrganEntities(refOrgans)),\n map(refOrgans => {\n const organIds = new Set(refOrgans.map(o => o.representation_of));\n return ALL_POSSIBLE_ORGANS\n .filter(organ => organIds.has(organ.id))\n .map(organ => ({ ...organ, disabled: false, numResults: 0 }));\n }),\n take(1),\n tap(organs => {\n this.setReferenceOrgans(organs);\n this.setSelectedReferenceOrgans(organs.filter(organ => DEFAULT_SELECTED_ORGANS.has(organ.organ)));\n })\n ).subscribe();\n\n // Update scene as the overall state changes\n combineLatest([\n this.dataState.sceneData$,\n this.selectedReferenceOrgans$,\n this.colorAssignments.colorAssignments$,\n this.dataService.getReferenceOrgans(),\n this.listResults.highlightedNodeId$\n ]).pipe(\n map(([scene, selectedOrgans, colors, refOrganData, highlightedNodeId]) => {\n const activeOrgans = new Set(selectedOrgans.map(o => o.id));\n const refOrgans = new Set(refOrganData.filter(o => activeOrgans.has(o.representation_of)).map(o => o['@id']));\n return scene.filter(node =>\n (node.ccf_annotations?.some?.(tag => activeOrgans.has(tag))) ||\n (node.reference_organ && refOrgans.has(node.reference_organ))\n ).map((node): SpatialSceneNode =>\n node.entityId && (Object.prototype.hasOwnProperty.call(colors, node['@id']) || highlightedNodeId === node['@id']) ?\n ({\n ...node,\n color: highlightedNodeId === node['@id'] ?\n [30, 136, 229, 255] :\n colors[node['@id']].rgba as [number, number, number, number]\n }) : node\n );\n }),\n tap(scene => this.setScene(scene))\n ).subscribe();\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SearchResult.html":{"url":"interfaces/SearchResult.html","title":"interface - SearchResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SearchResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts\n \n\n\n \n Description\n \n \n Search result interface type for the search results\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n displayLabel\n \n \n \n \n index\n \n \n \n \n node\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n displayLabel\n \n \n \n \n \n \n \n \n displayLabel: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n label to be displayed in the view\n\n \n \n \n \n \n \n \n \n \n index\n \n \n \n \n \n \n \n \n index: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n ensures order of search-results\n\n \n \n \n \n \n \n \n \n \n node\n \n \n \n \n \n \n \n \n node: OntologyTreeNode\n\n \n \n\n\n \n \n Type : OntologyTreeNode\n\n \n \n\n\n\n\n\n \n \n instance of OntologyTreeNode, provides data associated with a search result\n\n \n \n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { bind } from 'bind-decorator';\nimport { OntologyTreeModel, OntologyTreeNode } from 'ccf-database';\nimport { at } from 'lodash';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n\n/**\n * Search result interface type for the search results\n */\nexport interface SearchResult {\n /** ensures order of search-results */\n index: number;\n\n /** label to be displayed in the view */\n displayLabel: string[];\n\n /** instance of OntologyTreeNode, provides data associated with a search result */\n node: OntologyTreeNode;\n}\n\n/**\n * Injectable OntologySearchService responsible for search result computations\n */\n@Injectable()\nexport class OntologySearchService {\n private readonly treeModel$ = new ReplaySubject(1);\n private treeModel: OntologyTreeModel;\n\n /** All nodes in the ontology tree. */\n public readonly nodes$ = this.treeModel$.pipe(map(state => Object.values(state.nodes)));\n\n /** Root node of the ontology tree. */\n public readonly rootNode$ = this.treeModel$.pipe(map(state => state.nodes[state.root]));\n\n setTreeModel(treeModel: OntologyTreeModel): void {\n this.treeModel$.next(treeModel);\n this.treeModel = treeModel;\n }\n\n /**\n * Searches the ontology with the search-term\n *\n * @param value the search term\n * @returns an array of search-results\n */\n filter(value: string): Observable {\n return this.nodes$.pipe(\n map(nodes => this.lookup(nodes, value.toLowerCase()))\n );\n }\n\n /**\n * looks up ontology nodes and composes search results\n *\n * @param nodes Ontology nodes\n * @param searchValue search text in lower case\n * @returns search results\n */\n private lookup(nodes: Immutable[], searchValue: string): SearchResult[] {\n const searchResults = new Map();\n\n if (nodes) {\n nodes.forEach((node: OntologyTreeNode) => {\n const condition = node.label.toLowerCase().includes(searchValue);\n\n if (condition && !searchResults.get(node.id)) {\n searchResults.set(node.id, {\n index: this.getIndexOfMatch(node.label, searchValue),\n displayLabel: this.formatLabel(node.label, searchValue),\n node\n });\n } else {\n const match = node.synonymLabels.find((label) => label.toLowerCase().includes(searchValue));\n\n if (match && !searchResults.get(node.id)) {\n searchResults.set(node.id, {\n index: this.getIndexOfMatch(node.label + ' (' + match + ')', searchValue),\n displayLabel: this.formatLabel(node.label + ' (' + match + ')', searchValue),\n node\n });\n }\n }\n });\n }\n\n return Array.from(searchResults.values());\n }\n\n /**\n * Gets index of match in the ontology label\n *\n * @param label the provided ontology node label or synonym label\n * @param searchValue the searched text in lower case\n * @returns the index of the match in the label\n */\n getIndexOfMatch(label: string, searchValue: string): number {\n return label.toLowerCase().indexOf(searchValue);\n }\n\n /**\n * Formats label based on where the search-term was found in the OntologyTreeNode\n *\n * @param label label or first synonym-label of OntologyTreeNode which has the search-term\n * @param searchValue search-term\n * @returns an array in the form of [prefix, search-term, suffix]\n */\n formatLabel(label: string, searchValue: string): string[] {\n const index = this.getIndexOfMatch(label, searchValue);\n return [\n label.slice(0, index),\n label.slice(index, index + searchValue.length),\n label.slice(index + searchValue.length)\n ];\n }\n\n /**\n * Fetches the children of an ontology node.\n * Note: This can be called without a reference to `this`.\n *\n * @param node The node for which to get children.\n * @returns An array of children, empty if the node has no children.\n */\n @bind\n getChildren(node: OntologyTreeNode): OntologyTreeNode[] {\n const nodes = this.treeModel?.nodes ?? {};\n return at(nodes, node.children);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SetExecuteSearchOnGenerate.html":{"url":"classes/SetExecuteSearchOnGenerate.html","title":"class - SetExecuteSearchOnGenerate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SetExecuteSearchOnGenerate\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(execute)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:54\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n execute\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Set execute search on generate'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:54\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SetOrgan.html":{"url":"classes/SetOrgan.html","title":"class - SetOrgan","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SetOrgan\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(organId: string | undefined)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organId\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Set organ'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SetPosition.html":{"url":"classes/SetPosition.html","title":"class - SetPosition","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SetPosition\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(position: literal type)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:20\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n position\n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Set position'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SetRadius.html":{"url":"classes/SetRadius.html","title":"class - SetRadius","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SetRadius\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(radius: number)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:36\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n radius\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Set radius'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:36\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SetSelectedSearches.html":{"url":"classes/SetSelectedSearches.html","title":"class - SetSelectedSearches","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SetSelectedSearches\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(items: SpatialSearchFilterItem[])\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n items\n \n \n SpatialSearchFilterItem[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[Spatial Search Filter] Set selected searches'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSearch } from 'ccf-database';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\n\nimport type { SpatialSearchFilterItem } from './spatial-search-filter.state';\n\n\nexport class AddSearch {\n static readonly type = '[Spatial Search Filter] Add';\n\n constructor(readonly sex: Sex, readonly organName: string, readonly search: SpatialSearch) { }\n}\n\nexport class RemoveSearch {\n static readonly type = '[Spatial Search Filter] Remove';\n\n constructor(readonly id: string) { }\n}\n\nexport class SetSelectedSearches {\n static readonly type = '[Spatial Search Filter] Set selected searches';\n\n constructor(readonly items: SpatialSearchFilterItem[]) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SetSex.html":{"url":"classes/SetSex.html","title":"class - SetSex","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SetSex\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(sex: \"male\" | \"female\")\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sex\n \n \n \"male\" | \"female\"\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Set sex'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SpatialSearchConfigBehaviorComponent.html":{"url":"components/SpatialSearchConfigBehaviorComponent.html","title":"component - SpatialSearchConfigBehaviorComponent","body":"\n \n\n\n\n\n\n Components\n \n SpatialSearchConfigBehaviorComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts\n\n\n\n\n\n \n Implements\n \n \n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-spatial-search-config-behavior\n \n\n\n\n\n \n templateUrl\n ./spatial-search-config-behavior.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n dialog\n \n \n Private\n Readonly\n dialogSubs\n \n \n Readonly\n organs$\n \n \n panelData\n \n \n Readonly\n selectedOrgan$\n \n \n Readonly\n sex$\n \n \n Private\n Readonly\n subscriptions\n \n \n Readonly\n updateOrgan\n \n \n Readonly\n updateSex\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n buttonClicked\n \n \n close\n \n \n launchInfoDialog\n \n \n ngOnDestroy\n \n \n onDialogButtonClick\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog, dialogRef: MatDialogRef, spatialSearchDialog: MatDialog, infoService: InfoButtonService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:40\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n \n spatialSearchDialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n \n infoService\n \n \n InfoButtonService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n buttonClicked\n \n \n \n \n \n \nbuttonClicked()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:49\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:54\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n launchInfoDialog\n \n \n \n \n \n \nlaunchInfoDialog(data: PanelData)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n PanelData\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:83\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n onDialogButtonClick\n \n \n \n \n \n \nonDialogButtonClick()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:72\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n dialog\n \n \n \n \n \n \n Type : MatDialog\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n dialogSubs\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n organs$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.organs)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n panelData\n \n \n \n \n \n \n Type : PanelData\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n selectedOrgan$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.organ)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n sex$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.sex)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n updateOrgan\n \n \n \n \n \n \n Default value : actionAsFn(SetOrgan)\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n updateSex\n \n \n \n \n \n \n Default value : actionAsFn(SetSex)\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts:31\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, OnDestroy } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { Dispatch } from '@ngxs-labs/dispatch-decorator';\nimport { Select } from '@ngxs/store';\nimport { InfoButtonService, InfoDialogComponent, OrganInfo, PanelData } from 'ccf-shared';\nimport { Observable, Subscription } from 'rxjs';\n\nimport { actionAsFn } from '../../../core/store/action-as-fn';\nimport { SetOrgan, SetSex } from '../../../core/store/spatial-search-ui/spatial-search-ui.actions';\nimport { SpatialSearchUiSelectors } from '../../../core/store/spatial-search-ui/spatial-search-ui.selectors';\nimport { Sex, SpatialSearchConfigComponent } from '../spatial-search-config/spatial-search-config.component';\nimport { SpatialSearchUiBehaviorComponent } from '../spatial-search-ui-behavior/spatial-search-ui-behavior.component';\n\n\n@Component({\n selector: 'ccf-spatial-search-config-behavior',\n templateUrl: './spatial-search-config-behavior.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpatialSearchConfigBehaviorComponent implements OnDestroy {\n @Select(SpatialSearchUiSelectors.sex)\n readonly sex$: Observable;\n\n @Select(SpatialSearchUiSelectors.organ)\n readonly selectedOrgan$: Observable;\n\n @Select(SpatialSearchUiSelectors.organs)\n readonly organs$: Observable;\n\n @Dispatch()\n readonly updateSex = actionAsFn(SetSex);\n\n @Dispatch()\n readonly updateOrgan = actionAsFn(SetOrgan);\n\n panelData: PanelData;\n\n private readonly subscriptions = new Subscription();\n\n private readonly dialogSubs = new Subscription();\n\n constructor(\n public dialog: MatDialog,\n private readonly dialogRef: MatDialogRef,\n private readonly spatialSearchDialog: MatDialog,\n private readonly infoService: InfoButtonService\n ) { }\n\n buttonClicked(): void {\n this.spatialSearchDialog.open(SpatialSearchUiBehaviorComponent);\n this.close();\n }\n\n close(): void {\n this.dialogRef.close();\n }\n\n launchInfoDialog(data: PanelData): void {\n this.dialogSubs.unsubscribe();\n this.dialog.open(InfoDialogComponent, {\n autoFocus: false,\n panelClass: 'modal-animated',\n width: '72rem',\n data: {\n title: data.infoTitle,\n content: data.content,\n videoID: data.videoID\n }\n });\n }\n\n onDialogButtonClick(): void {\n this.infoService.updateData('assets/docs/SPATIAL_SEARCH_README.md', 'UfxMpzatowE', 'Spatial Search');\n const panelContent$ = this.infoService.panelContent.asObservable();\n this.dialogSubs.add(panelContent$.subscribe(data => {\n if (data.content.length) {\n this.panelData = data;\n this.launchInfoDialog(this.panelData);\n }\n }));\n }\n\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n}\n\n \n\n \n \n\n\n \n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SpatialSearchConfigBehaviorComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SpatialSearchConfigBehaviorModule.html":{"url":"modules/SpatialSearchConfigBehaviorModule.html","title":"module - SpatialSearchConfigBehaviorModule","body":"\n \n\n\n\n\n Modules\n SpatialSearchConfigBehaviorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SpatialSearchConfigBehaviorModule\n\n\n\ncluster_SpatialSearchConfigBehaviorModule_declarations\n\n\n\ncluster_SpatialSearchConfigBehaviorModule_exports\n\n\n\ncluster_SpatialSearchConfigBehaviorModule_imports\n\n\n\n\nSpatialSearchConfigBehaviorComponent\n\nSpatialSearchConfigBehaviorComponent\n\n\n\nSpatialSearchConfigBehaviorModule\n\nSpatialSearchConfigBehaviorModule\n\nSpatialSearchConfigBehaviorModule -->\n\nSpatialSearchConfigBehaviorComponent->SpatialSearchConfigBehaviorModule\n\n\n\n\n\nSpatialSearchConfigBehaviorComponent \n\nSpatialSearchConfigBehaviorComponent \n\nSpatialSearchConfigBehaviorComponent -->\n\nSpatialSearchConfigBehaviorModule->SpatialSearchConfigBehaviorComponent \n\n\n\n\n\nSpatialSearchConfigModule\n\nSpatialSearchConfigModule\n\nSpatialSearchConfigBehaviorModule -->\n\nSpatialSearchConfigModule->SpatialSearchConfigBehaviorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SpatialSearchConfigBehaviorComponent\n \n \n \n \n Imports\n \n \n SpatialSearchConfigModule\n \n \n \n \n Exports\n \n \n SpatialSearchConfigBehaviorComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { SpatialSearchConfigModule } from '../spatial-search-config/spatial-search-config.module';\nimport { SpatialSearchConfigBehaviorComponent } from './spatial-search-config-behavior.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SpatialSearchConfigModule,\n MatDialogModule\n ],\n declarations: [SpatialSearchConfigBehaviorComponent],\n exports: [SpatialSearchConfigBehaviorComponent]\n})\nexport class SpatialSearchConfigBehaviorModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SpatialSearchConfigComponent.html":{"url":"components/SpatialSearchConfigComponent.html","title":"component - SpatialSearchConfigComponent","body":"\n \n\n\n\n\n\n Components\n \n SpatialSearchConfigComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts\n\n\n\n \n Description\n \n \n Config popup for spatial search\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-spatial-search-config\n \n\n \n styleUrls\n ./spatial-search-config.component.scss\n \n\n\n\n \n templateUrl\n ./spatial-search-config.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n organs\n \n \n selectedOrgan\n \n \n sex\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n buttonClicked\n \n \n closeDialog\n \n \n infoClicked\n \n \n updateOrgan\n \n \n updateSex\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n organs\n \n \n \n \n Type : OrganInfo[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:20\n \n \n \n \n Selectable organs\n\n \n \n \n \n \n \n \n \n \n selectedOrgan\n \n \n \n \n Type : OrganInfo\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:23\n \n \n \n \n Currently selected organ\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n Type : Sex\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:26\n \n \n \n \n Currently selected sex\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n buttonClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:35\n \n \n \n \n Emits when the continue button is clicked\n\n \n \n \n \n \n \n \n \n \n closeDialog\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:38\n \n \n \n \n Emits when the close button is clicked\n\n \n \n \n \n \n \n \n \n \n infoClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:41\n \n \n \n \n Emits when the info button is clicked\n\n \n \n \n \n \n \n \n \n \n updateOrgan\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:32\n \n \n \n \n Emits when organ is updated\n\n \n \n \n \n \n \n \n \n \n updateSex\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:29\n \n \n \n \n Emits when sex is updated\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-spatial-search-config\"\n\n \n \n \n \n Default value : 'ccf-spatial-search-config'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:17\n \n \n\n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-spatial-search-config'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts:17\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { OrganInfo } from 'ccf-shared';\n\n/** Sex can either be male or female */\nexport type Sex = 'male' | 'female';\n\n/**\n * Config popup for spatial search\n */\n@Component({\n selector: 'ccf-spatial-search-config',\n templateUrl: './spatial-search-config.component.html',\n styleUrls: ['./spatial-search-config.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpatialSearchConfigComponent {\n @HostBinding('class') readonly className = 'ccf-spatial-search-config';\n\n /** Selectable organs */\n @Input() organs: OrganInfo[];\n\n /** Currently selected organ */\n @Input() selectedOrgan?: OrganInfo;\n\n /** Currently selected sex */\n @Input() sex: Sex;\n\n /** Emits when sex is updated */\n @Output() readonly updateSex = new EventEmitter();\n\n /** Emits when organ is updated */\n @Output() readonly updateOrgan = new EventEmitter();\n\n /** Emits when the continue button is clicked */\n @Output() readonly buttonClicked = new EventEmitter();\n\n /** Emits when the close button is clicked */\n @Output() readonly closeDialog = new EventEmitter();\n\n /** Emits when the info button is clicked */\n @Output() readonly infoClicked = new EventEmitter();\n}\n\n \n\n \n \n \n Configure Spatial Search\n \n info\n \n \n \n close\n \n\n\n\n Donor Sex: \n \n Male\n Female\n \n\n\n\n Select an organ\n \n Organs\n \n \n {{organ.name}}\n \n \n \n\n\nContinue\n\n \n\n \n \n ./spatial-search-config.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 2rem;\n gap: 2rem;\n width: 30.5rem;\n box-shadow: 0px 25rem 25rem rgba(0, 0, 0, 0.16);\n border-radius: .25rem;\n font-size: 1rem;\n\n .button {\n cursor: pointer;\n }\n\n .header {\n display: flex;\n justify-content: space-between;\n width: 100%;\n font-size: 1.25rem;\n \n .header-left {\n display: flex;\n align-items: center;\n\n .title {\n margin-right: 1rem;\n }\n }\n\n button {\n padding: 0;\n background: none;\n border: none;\n cursor: pointer;\n outline: none;\n border-radius: 0.25rem;\n transition: 0.6s;\n }\n }\n\n .sex-toggle {\n display: flex;\n\n .label {\n margin-right: 2rem;\n }\n\n .radio {\n margin-right: 4rem;\n }\n }\n\n .organ-selector {\n .label {\n height: 0rem;\n }\n\n ::ng-deep .mat-form-field-wrapper {\n padding-bottom: 1rem;\n padding-top: 3rem;\n margin-left: 0.5rem;\n width: 14rem;\n\n .mat-form-field-infix {\n padding: 0;\n border-top: none;\n }\n\n .mat-form-field-underline {\n bottom: 0rem;\n height: 0.125rem;\n }\n\n .mat-select-arrow-wrapper {\n transform: translatey(0rem);\n }\n }\n }\n\n .continue-button {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: .25rem 1rem;\n width: 14rem;\n height: 2rem;\n border-width: 1px;\n border-style: solid;\n border-radius: .25rem;\n box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.16);\n\n &.disabled {\n pointer-events: none;\n opacity: .5;\n }\n }\n}\n\n::ng-deep .organ-select {\n position: absolute;\n top: 2.5rem;\n left: -0.25rem;\n border-radius: 0.5rem;\n max-height: 24.5rem;\n width: 14rem;\n\n .organ-select-option {\n height: 3.5rem;\n border-bottom: 1px solid;\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Configure Spatial Search info close Donor Sex: Male Female Select an organ Organs {{organ.name}} Continue'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SpatialSearchConfigComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SpatialSearchConfigModule.html":{"url":"modules/SpatialSearchConfigModule.html","title":"module - SpatialSearchConfigModule","body":"\n \n\n\n\n\n Modules\n SpatialSearchConfigModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SpatialSearchConfigModule\n\n\n\ncluster_SpatialSearchConfigModule_exports\n\n\n\ncluster_SpatialSearchConfigModule_declarations\n\n\n\n\nSpatialSearchConfigComponent\n\nSpatialSearchConfigComponent\n\n\n\nSpatialSearchConfigModule\n\nSpatialSearchConfigModule\n\nSpatialSearchConfigModule -->\n\nSpatialSearchConfigComponent->SpatialSearchConfigModule\n\n\n\n\n\nSpatialSearchConfigComponent \n\nSpatialSearchConfigComponent \n\nSpatialSearchConfigComponent -->\n\nSpatialSearchConfigModule->SpatialSearchConfigComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SpatialSearchConfigComponent\n \n \n \n \n Exports\n \n \n SpatialSearchConfigComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\n\nimport { SpatialSearchConfigComponent } from './spatial-search-config.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatSelectModule,\n MatIconModule,\n MatRadioModule,\n MatButtonModule\n ],\n declarations: [SpatialSearchConfigComponent],\n exports: [SpatialSearchConfigComponent]\n})\nexport class SpatialSearchConfigModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialSearchFilterItem.html":{"url":"interfaces/SpatialSearchFilterItem.html","title":"interface - SpatialSearchFilterItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialSearchFilterItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts\n \n\n\n\n \n Extends\n \n \n SpatialSearchListItem\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n search\n \n \n \n \n sex\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n search\n \n \n \n \n \n \n \n \n search: SpatialSearch\n\n \n \n\n\n \n \n Type : SpatialSearch\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: Sex\n\n \n \n\n\n \n \n Type : Sex\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Action, State, StateContext } from '@ngxs/store';\nimport { append, removeItem } from '@ngxs/store/operators';\nimport { SpatialSearch } from 'ccf-database';\nimport { SpatialSearchListItem } from 'ccf-shared';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { AddSearch, RemoveSearch, SetSelectedSearches } from './spatial-search-filter.actions';\n\n\nexport interface SpatialSearchFilterItem extends SpatialSearchListItem {\n id: string;\n search: SpatialSearch;\n sex: Sex;\n}\n\nexport type SpatialSearchFilterModel = SpatialSearchFilterItem[];\n\n\n@State({\n name: 'spatialSearchFilter',\n defaults: []\n})\n@Injectable()\nexport class SpatialSearchFilterState {\n @Action(AddSearch)\n addSearch(ctx: StateContext, { sex, organName, search }: AddSearch): void {\n ctx.setState(append([this.createItem(sex, organName, search)]));\n }\n\n @Action(RemoveSearch)\n removeSearch(ctx: StateContext, { id }: RemoveSearch): void {\n ctx.setState(removeItem(item => item?.id === id));\n }\n\n @Action(SetSelectedSearches)\n setSelectedSearches(ctx: StateContext, { items }: SetSelectedSearches): void {\n const selectedByIds = new Map(items.map(item => [item.id, item]));\n const oldItems = ctx.getState();\n const newItems = oldItems.map(item =>\n selectedByIds.get(item.id) ??\n (item.selected ? { ...item, selected: false } : item)\n );\n\n ctx.setState(newItems);\n }\n\n private createItem(sex: Sex, name: string, search: SpatialSearch): SpatialSearchFilterItem {\n return {\n id: this.createItemId(search),\n selected: true,\n description: this.createItemDescription(sex, name, search),\n sex,\n search\n };\n }\n\n private createItemId(search: SpatialSearch): string {\n const { x, y, z, radius, target } = search;\n return `${target}-${radius}-${x},${y},${z}`;\n }\n\n private createItemDescription(sex: Sex, name: string, search: SpatialSearch): string {\n const capitalize = (value: string) => value.slice(0, 1).toUpperCase() + value.slice(1);\n const { x, y, z, radius } = search;\n\n return `${capitalize(sex)}, ${capitalize(name)}, ${radius.toFixed(1)} mm, X: ${x.toFixed(1)}, Y: ${y.toFixed(1)}, Z: ${z.toFixed(1)}`;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SpatialSearchFilterSelectors.html":{"url":"classes/SpatialSearchFilterSelectors.html","title":"class - SpatialSearchFilterSelectors","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SpatialSearchFilterSelectors\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.selectors.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n items\n \n \n Static\n searches\n \n \n Static\n selectedSearches\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n items\n \n \n \n \n \n \n \n items(state: SpatialSearchFilterModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchFilterState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.selectors.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchFilterModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSearchFilterItem[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n searches\n \n \n \n \n \n \n \n searches(items: SpatialSearchFilterItem[])\n \n \n\n \n \n Decorators : \n \n @Selector(['undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.selectors.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n items\n \n SpatialSearchFilterItem[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSearch[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n selectedSearches\n \n \n \n \n \n \n \n selectedSearches(items: SpatialSearchFilterItem[])\n \n \n\n \n \n Decorators : \n \n @Selector(['undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.selectors.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n items\n \n SpatialSearchFilterItem[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSearch[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Selector } from '@ngxs/store';\nimport { SpatialSearch } from 'ccf-database';\n\nimport { SpatialSearchFilterItem, SpatialSearchFilterModel, SpatialSearchFilterState } from './spatial-search-filter.state';\n\n\nexport class SpatialSearchFilterSelectors {\n @Selector([SpatialSearchFilterState])\n static items(state: SpatialSearchFilterModel): SpatialSearchFilterItem[] {\n return state;\n }\n\n @Selector([SpatialSearchFilterSelectors.items])\n static searches(items: SpatialSearchFilterItem[]): SpatialSearch[] {\n return items.map(item => item.search);\n }\n\n @Selector([SpatialSearchFilterSelectors.items])\n static selectedSearches(items: SpatialSearchFilterItem[]): SpatialSearch[] {\n return items.filter(item => item.selected).map(item => item.search);\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SpatialSearchFilterState.html":{"url":"injectables/SpatialSearchFilterState.html","title":"injectable - SpatialSearchFilterState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n SpatialSearchFilterState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n addSearch\n \n \n Private\n createItem\n \n \n Private\n createItemDescription\n \n \n Private\n createItemId\n \n \n removeSearch\n \n \n setSelectedSearches\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addSearch\n \n \n \n \n \n \naddSearch(ctx: StateContext, undefined: AddSearch)\n \n \n\n \n \n Decorators : \n \n @Action(AddSearch)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n AddSearch\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createItem\n \n \n \n \n \n \n \n createItem(sex: Sex, name: string, search: SpatialSearch)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sex\n \n Sex\n \n\n \n No\n \n\n\n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n search\n \n SpatialSearch\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSearchFilterItem\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createItemDescription\n \n \n \n \n \n \n \n createItemDescription(sex: Sex, name: string, search: SpatialSearch)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sex\n \n Sex\n \n\n \n No\n \n\n\n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n search\n \n SpatialSearch\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createItemId\n \n \n \n \n \n \n \n createItemId(search: SpatialSearch)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n search\n \n SpatialSearch\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeSearch\n \n \n \n \n \n \nremoveSearch(ctx: StateContext, undefined: RemoveSearch)\n \n \n\n \n \n Decorators : \n \n @Action(RemoveSearch)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n RemoveSearch\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setSelectedSearches\n \n \n \n \n \n \nsetSelectedSearches(ctx: StateContext, undefined: SetSelectedSearches)\n \n \n\n \n \n Decorators : \n \n @Action(SetSelectedSearches)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n SetSelectedSearches\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Action, State, StateContext } from '@ngxs/store';\nimport { append, removeItem } from '@ngxs/store/operators';\nimport { SpatialSearch } from 'ccf-database';\nimport { SpatialSearchListItem } from 'ccf-shared';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { AddSearch, RemoveSearch, SetSelectedSearches } from './spatial-search-filter.actions';\n\n\nexport interface SpatialSearchFilterItem extends SpatialSearchListItem {\n id: string;\n search: SpatialSearch;\n sex: Sex;\n}\n\nexport type SpatialSearchFilterModel = SpatialSearchFilterItem[];\n\n\n@State({\n name: 'spatialSearchFilter',\n defaults: []\n})\n@Injectable()\nexport class SpatialSearchFilterState {\n @Action(AddSearch)\n addSearch(ctx: StateContext, { sex, organName, search }: AddSearch): void {\n ctx.setState(append([this.createItem(sex, organName, search)]));\n }\n\n @Action(RemoveSearch)\n removeSearch(ctx: StateContext, { id }: RemoveSearch): void {\n ctx.setState(removeItem(item => item?.id === id));\n }\n\n @Action(SetSelectedSearches)\n setSelectedSearches(ctx: StateContext, { items }: SetSelectedSearches): void {\n const selectedByIds = new Map(items.map(item => [item.id, item]));\n const oldItems = ctx.getState();\n const newItems = oldItems.map(item =>\n selectedByIds.get(item.id) ??\n (item.selected ? { ...item, selected: false } : item)\n );\n\n ctx.setState(newItems);\n }\n\n private createItem(sex: Sex, name: string, search: SpatialSearch): SpatialSearchFilterItem {\n return {\n id: this.createItemId(search),\n selected: true,\n description: this.createItemDescription(sex, name, search),\n sex,\n search\n };\n }\n\n private createItemId(search: SpatialSearch): string {\n const { x, y, z, radius, target } = search;\n return `${target}-${radius}-${x},${y},${z}`;\n }\n\n private createItemDescription(sex: Sex, name: string, search: SpatialSearch): string {\n const capitalize = (value: string) => value.slice(0, 1).toUpperCase() + value.slice(1);\n const { x, y, z, radius } = search;\n\n return `${capitalize(sex)}, ${capitalize(name)}, ${radius.toFixed(1)} mm, X: ${x.toFixed(1)}, Y: ${y.toFixed(1)}, Z: ${z.toFixed(1)}`;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SpatialSearchKeyboardUIBehaviorComponent.html":{"url":"components/SpatialSearchKeyboardUIBehaviorComponent.html","title":"component - SpatialSearchKeyboardUIBehaviorComponent","body":"\n \n\n\n\n\n\n Components\n \n SpatialSearchKeyboardUIBehaviorComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts\n\n\n\n \n Description\n \n \n Behavioral component for spatial search keyboard UI\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-spatial-search-keyboard-ui-behavior\n \n\n\n\n\n \n templateUrl\n ./spatial-search-keyboard-ui-behavior.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n currentDelta\n \n \n Optional\n currentKey\n \n \n shiftPressed\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleKey\n \n \n keyClick\n \n \n keyHover\n \n \n keyUp\n \n \n updatePosition\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n delta\n \n \n position\n \n \n shiftDelta\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n changePosition\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n \n \n HostListeners\n \n \n \n \n \n \n document:keydown\n \n \n document:keyup\n \n \n \n \n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n delta\n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 1\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:19\n \n \n \n \n Amount the position shifts for each key press\n\n \n \n \n \n \n \n \n \n \n position\n \n \n \n \n Type : Position\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:25\n \n \n \n \n Current position of spatial search\n\n \n \n \n \n \n \n \n \n \n shiftDelta\n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 2\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:22\n \n \n \n \n Input of spatial search keyboard uibehavior component\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n changePosition\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:28\n \n \n \n \n Emits when position changes\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-spatial-search-keyboard-ui-behavior\"\n\n \n \n \n \n Default value : 'ccf-spatial-search-keyboard-ui-behavior'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:16\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n \n HostListeners \n \n \n \n \n \n document:keydown\n \n \n \n \n \n \n Arguments : '$event' \n \n \n \n \ndocument:keydown(target: KeyboardEvent)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:80\n \n \n\n\n \n \n Listens for keydown keyboard event and updates the position\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n Keyboard event\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n document:keyup\n \n \n \n \n \n \n Arguments : '$event' \n \n \n \n \ndocument:keyup(target: KeyboardEvent)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:90\n \n \n\n\n \n \n Listens for keyup keyboard event and updates currentKey / shiftPressed\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n Keyboard event\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleKey\n \n \n \n \n \n \nhandleKey(target: KeyboardEvent)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:keydown', ['$event'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:80\n \n \n\n\n \n \n Listens for keydown keyboard event and updates the position\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n KeyboardEvent\n \n\n \n No\n \n\n\n \n Keyboard event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n keyClick\n \n \n \n \n \n \nkeyClick(key: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:102\n \n \n\n\n \n \n Updates the position when a key is clicked\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n Key value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n keyHover\n \n \n \n \n \n \nkeyHover(key?: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:110\n \n \n\n\n \n \n Updates current key when a key is hovered over\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n key\n \n string\n \n\n \n Yes\n \n\n\n \n Key value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n keyUp\n \n \n \n \n \n \nkeyUp(target: KeyboardEvent)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:keyup', ['$event'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:90\n \n \n\n\n \n \n Listens for keyup keyboard event and updates currentKey / shiftPressed\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n KeyboardEvent\n \n\n \n No\n \n\n\n \n Keyboard event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updatePosition\n \n \n \n \n \n \nupdatePosition(key: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:43\n \n \n\n\n \n \n Shifts position based on key\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n Key value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-spatial-search-keyboard-ui-behavior'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:16\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n currentDelta\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:34\n \n \n\n \n \n Current delta\n\n \n \n\n \n \n \n \n \n \n \n \n Optional\n currentKey\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:31\n \n \n\n \n \n Current key being pressed/clicked\n\n \n \n\n \n \n \n \n \n \n \n \n shiftPressed\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts:37\n \n \n\n \n \n True while shift key is pressed\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\nimport { Position } from '../../../core/store/spatial-search-ui/spatial-search-ui.state';\n\n\n/**\n * Behavioral component for spatial search keyboard UI\n */\n@Component({\n selector: 'ccf-spatial-search-keyboard-ui-behavior',\n templateUrl: './spatial-search-keyboard-ui-behavior.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpatialSearchKeyboardUIBehaviorComponent {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-spatial-search-keyboard-ui-behavior';\n\n /** Amount the position shifts for each key press */\n @Input() delta = 1;\n\n /** Input of spatial search keyboard uibehavior component */\n @Input() shiftDelta = 2;\n\n /** Current position of spatial search */\n @Input() position: Position;\n\n /** Emits when position changes */\n @Output() readonly changePosition = new EventEmitter();\n\n /** Current key being pressed/clicked */\n currentKey?: string;\n\n /** Current delta */\n currentDelta: number;\n\n /** True while shift key is pressed */\n shiftPressed = false;\n\n /**\n * Shifts position based on key\n * @param key Key value\n */\n updatePosition(key: string): void {\n this.currentDelta = this.shiftPressed ? this.shiftDelta : this.delta;\n if (key === 'Shift') {\n this.shiftPressed = true;\n } else {\n this.currentKey = key.toLowerCase();\n switch (this.currentKey) {\n case 'q':\n this.position = { ...this.position, z: this.position.z - this.currentDelta };\n break;\n case 'e':\n this.position = { ...this.position, z: this.position.z + this.currentDelta };\n break;\n case 'w':\n this.position = { ...this.position, y: this.position.y + this.currentDelta };\n break;\n case 's':\n this.position = { ...this.position, y: this.position.y - this.currentDelta };\n break;\n case 'a':\n this.position = { ...this.position, x: this.position.x - this.currentDelta };\n break;\n case 'd':\n this.position = { ...this.position, x: this.position.x + this.currentDelta };\n break;\n default:\n break;\n }\n this.changePosition.emit(this.position);\n }\n }\n\n /**\n * Listens for keydown keyboard event and updates the position\n * @param target Keyboard event\n */\n @HostListener('document:keydown', ['$event'])\n handleKey(target: KeyboardEvent): void {\n target.preventDefault();\n this.updatePosition(target.key);\n }\n\n /**\n * Listens for keyup keyboard event and updates currentKey / shiftPressed\n * @param target Keyboard event\n */\n @HostListener('document:keyup', ['$event'])\n keyUp(target: KeyboardEvent): void {\n if (target.key === 'Shift') {\n this.shiftPressed = false;\n } else {\n this.currentKey = undefined;\n }\n }\n\n /**\n * Updates the position when a key is clicked\n * @param key Key value\n */\n keyClick(key: string): void {\n this.updatePosition(key);\n }\n\n /**\n * Updates current key when a key is hovered over\n * @param key Key value\n */\n keyHover(key?: string): void {\n this.currentKey = key;\n }\n}\n\n \n\n \n \n\n \n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SpatialSearchKeyboardUIBehaviorComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SpatialSearchKeyboardUIBehaviorModule.html":{"url":"modules/SpatialSearchKeyboardUIBehaviorModule.html","title":"module - SpatialSearchKeyboardUIBehaviorModule","body":"\n \n\n\n\n\n Modules\n SpatialSearchKeyboardUIBehaviorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SpatialSearchKeyboardUIBehaviorModule\n\n\n\ncluster_SpatialSearchKeyboardUIBehaviorModule_imports\n\n\n\ncluster_SpatialSearchKeyboardUIBehaviorModule_exports\n\n\n\ncluster_SpatialSearchKeyboardUIBehaviorModule_declarations\n\n\n\n\nSpatialSearchKeyboardUIBehaviorComponent\n\nSpatialSearchKeyboardUIBehaviorComponent\n\n\n\nSpatialSearchKeyboardUIBehaviorModule\n\nSpatialSearchKeyboardUIBehaviorModule\n\nSpatialSearchKeyboardUIBehaviorModule -->\n\nSpatialSearchKeyboardUIBehaviorComponent->SpatialSearchKeyboardUIBehaviorModule\n\n\n\n\n\nSpatialSearchKeyboardUIBehaviorComponent \n\nSpatialSearchKeyboardUIBehaviorComponent \n\nSpatialSearchKeyboardUIBehaviorComponent -->\n\nSpatialSearchKeyboardUIBehaviorModule->SpatialSearchKeyboardUIBehaviorComponent \n\n\n\n\n\nSpatialSearchKeyboardUIModule\n\nSpatialSearchKeyboardUIModule\n\nSpatialSearchKeyboardUIBehaviorModule -->\n\nSpatialSearchKeyboardUIModule->SpatialSearchKeyboardUIBehaviorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SpatialSearchKeyboardUIBehaviorComponent\n \n \n \n \n Imports\n \n \n SpatialSearchKeyboardUIModule\n \n \n \n \n Exports\n \n \n SpatialSearchKeyboardUIBehaviorComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SpatialSearchKeyboardUIModule } from '../spatial-search-keyboard-ui/spatial-search-keyboard-ui.module';\nimport { SpatialSearchKeyboardUIBehaviorComponent } from './spatial-search-keyboard-ui-behavior.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SpatialSearchKeyboardUIModule\n ],\n declarations: [SpatialSearchKeyboardUIBehaviorComponent],\n exports: [SpatialSearchKeyboardUIBehaviorComponent]\n})\nexport class SpatialSearchKeyboardUIBehaviorModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SpatialSearchKeyboardUIComponent.html":{"url":"components/SpatialSearchKeyboardUIComponent.html","title":"component - SpatialSearchKeyboardUIComponent","body":"\n \n\n\n\n\n\n Components\n \n SpatialSearchKeyboardUIComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts\n\n\n\n \n Description\n \n \n Keyboard control UI for spatial search\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-spatial-search-keyboard-ui\n \n\n \n styleUrls\n ./spatial-search-keyboard-ui.component.scss\n \n\n\n\n \n templateUrl\n ./spatial-search-keyboard-ui.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n keyMap\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n currentKey\n \n \n shiftPressed\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n keyClicked\n \n \n keyHovered\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n currentKey\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts:18\n \n \n \n \n Current key pressed\n\n \n \n \n \n \n \n \n \n \n shiftPressed\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts:21\n \n \n \n \n True if shift key is pressed\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n keyClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts:24\n \n \n \n \n Emits when a key is clicked\n\n \n \n \n \n \n \n \n \n \n keyHovered\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts:27\n \n \n \n \n Emits the key value when a key is hovered over\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-spatial-search-keyboard-ui\"\n\n \n \n \n \n Default value : 'ccf-spatial-search-keyboard-ui'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts:15\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-spatial-search-keyboard-ui'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts:15\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n keyMap\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n {\n key: 'w',\n direction: 'north'\n },\n {\n key: 's',\n direction: 'south'\n },\n {\n key: 'a',\n direction: 'west'\n },\n {\n key: 'd',\n direction: 'east'\n },\n {\n key: 'e',\n direction: 'north_east'\n },\n {\n key: 'q',\n direction: 'south_west'\n }\n ]\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts:30\n \n \n\n \n \n List of keys and their arrow icons that appear when the key is pressed\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\n\n/**\n * Keyboard control UI for spatial search\n */\n@Component({\n selector: 'ccf-spatial-search-keyboard-ui',\n templateUrl: './spatial-search-keyboard-ui.component.html',\n styleUrls: ['./spatial-search-keyboard-ui.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpatialSearchKeyboardUIComponent {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-spatial-search-keyboard-ui';\n\n /** Current key pressed */\n @Input() currentKey?: string;\n\n /** True if shift key is pressed */\n @Input() shiftPressed: boolean;\n\n /** Emits when a key is clicked */\n @Output() readonly keyClicked = new EventEmitter();\n\n /** Emits the key value when a key is hovered over */\n @Output() readonly keyHovered = new EventEmitter();\n\n /** List of keys and their arrow icons that appear when the key is pressed */\n keyMap = [\n {\n key: 'w',\n direction: 'north'\n },\n {\n key: 's',\n direction: 'south'\n },\n {\n key: 'a',\n direction: 'west'\n },\n {\n key: 'd',\n direction: 'east'\n },\n {\n key: 'e',\n direction: 'north_east'\n },\n {\n key: 'q',\n direction: 'south_west'\n }\n ];\n}\n\n \n\n \n \n {{key.direction}}\n \n\n\n \n Q\n W\n E\n \n \n A\n S\n D\n \n SHIFT\n\n\n \n\n \n \n ./spatial-search-keyboard-ui.component.scss\n \n :host {\n .direction-arrow {\n display: grid;\n grid-template-columns: repeat(5, .5fr);\n grid-template-rows: 1fr;\n grid-column-gap: 0px;\n grid-row-gap: 0px;\n margin-bottom: 1rem;\n width: 7rem;\n\n .arrow {\n grid-area: 1 / 3 / 2 / 4;\n opacity: 0;\n transition: 0.5s;\n\n &.active {\n opacity: 1;\n }\n }\n }\n\n .keys {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 0px;\n gap: 0.5rem;\n width: 7rem;\n height: 7rem;\n user-select: none;\n\n .keyrow {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: 0px;\n gap: 0.5rem;\n\n .key {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 0.25rem;\n width: 2rem;\n height: 2rem;\n border: 2px solid;\n border-radius: 0.5rem;\n cursor: pointer;\n }\n }\n\n .shift {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 0.25rem;\n width: 7rem;\n height: 2rem;\n border: 2px solid;\n border-radius: 0.5rem;\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{key.direction}} Q W E A S D SHIFT'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SpatialSearchKeyboardUIComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SpatialSearchKeyboardUIModule.html":{"url":"modules/SpatialSearchKeyboardUIModule.html","title":"module - SpatialSearchKeyboardUIModule","body":"\n \n\n\n\n\n Modules\n SpatialSearchKeyboardUIModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SpatialSearchKeyboardUIModule\n\n\n\ncluster_SpatialSearchKeyboardUIModule_declarations\n\n\n\ncluster_SpatialSearchKeyboardUIModule_exports\n\n\n\n\nSpatialSearchKeyboardUIComponent\n\nSpatialSearchKeyboardUIComponent\n\n\n\nSpatialSearchKeyboardUIModule\n\nSpatialSearchKeyboardUIModule\n\nSpatialSearchKeyboardUIModule -->\n\nSpatialSearchKeyboardUIComponent->SpatialSearchKeyboardUIModule\n\n\n\n\n\nSpatialSearchKeyboardUIComponent \n\nSpatialSearchKeyboardUIComponent \n\nSpatialSearchKeyboardUIComponent -->\n\nSpatialSearchKeyboardUIModule->SpatialSearchKeyboardUIComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SpatialSearchKeyboardUIComponent\n \n \n \n \n Exports\n \n \n SpatialSearchKeyboardUIComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { SpatialSearchKeyboardUIComponent } from './spatial-search-keyboard-ui.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatIconModule\n ],\n declarations: [SpatialSearchKeyboardUIComponent],\n exports: [SpatialSearchKeyboardUIComponent]\n})\nexport class SpatialSearchKeyboardUIModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SpatialSearchUiBehaviorComponent.html":{"url":"components/SpatialSearchUiBehaviorComponent.html","title":"component - SpatialSearchUiBehaviorComponent","body":"\n \n\n\n\n\n\n Components\n \n SpatialSearchUiBehaviorComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts\n\n\n\n \n Description\n \n \n Behavioral component for Spatial Search UI\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-spatial-search-ui-behavior\n \n\n\n\n\n \n templateUrl\n ./spatial-search-ui-behavior.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n anatomicalStructures$\n \n \n Readonly\n cellTypes$\n \n \n Readonly\n defaultPosition$\n \n \n Public\n dialog\n \n \n Readonly\n moveToNode\n \n \n Readonly\n organ$\n \n \n panelData\n \n \n Readonly\n position$\n \n \n Readonly\n radius$\n \n \n Readonly\n radiusSettings$\n \n \n Readonly\n resetPosition\n \n \n Readonly\n resetRadius\n \n \n Readonly\n scene$\n \n \n Readonly\n sceneBounds$\n \n \n Readonly\n sceneTarget$\n \n \n Readonly\n sex$\n \n \n Private\n Readonly\n subscriptions\n \n \n Readonly\n tissueBlocks$\n \n \n Readonly\n updatePosition\n \n \n Readonly\n updateRadius\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addSpatialSearch\n \n \n close\n \n \n launchInfoDialog\n \n \n onDialogButtonClick\n \n \n openSpatialSearchConfig\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialogRef: MatDialogRef, dialog: MatDialog, infoService: InfoButtonService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:92\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n \n infoService\n \n \n InfoButtonService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addSpatialSearch\n \n \n \n \n \n \naddSpatialSearch()\n \n \n\n \n \n Decorators : \n \n @Dispatch()\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:144\n \n \n\n\n \n \n Adds a new spatial search and closes the spatial search UI\n\n\n \n \n \n Returns : GenerateSpatialSearch\n\n \n \n spatial search\n\n \n \n \n \n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:135\n \n \n\n\n \n \n Closes spatial search UI\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n launchInfoDialog\n \n \n \n \n \n \nlaunchInfoDialog(data: PanelData)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:104\n \n \n\n\n \n \n Launchs info dialog with the input data\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n data\n \n PanelData\n \n\n \n No\n \n\n\n \n Data for the info dialog\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n onDialogButtonClick\n \n \n \n \n \n \nonDialogButtonClick()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:121\n \n \n\n\n \n \n Updates dialog with spatial search information\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n openSpatialSearchConfig\n \n \n \n \n \n \nopenSpatialSearchConfig()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:152\n \n \n\n\n \n \n Closes the spatial search UI and opens spatial search config\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n anatomicalStructures$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.anatomicalStructures)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n cellTypes$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.cellTypes)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n defaultPosition$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.defaultPosition)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n dialog\n \n \n \n \n \n \n Type : MatDialog\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:96\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n moveToNode\n \n \n \n \n \n \n Default value : actionAsFn(MoveToNode)\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:80\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n organ$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.organ)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n panelData\n \n \n \n \n \n \n Type : PanelData\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:89\n \n \n\n \n \n Data to be displayed in the info panel\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n position$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.position)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n radius$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.radius)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n radiusSettings$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.radiusSettings)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n resetPosition\n \n \n \n \n \n \n Default value : actionAsFn(ResetPosition)\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n resetRadius\n \n \n \n \n \n \n Default value : actionAsFn(ResetRadius)\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:86\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n scene$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.scene)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n sceneBounds$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.sceneBounds)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n sceneTarget$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.sceneTarget)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n sex$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.sex)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:92\n \n \n\n \n \n Subscriptions for the info panel data\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n tissueBlocks$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(SpatialSearchUiSelectors.tissueBlocks)\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n updatePosition\n \n \n \n \n \n \n Default value : actionAsFn(SetPosition)\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n updateRadius\n \n \n \n \n \n \n Default value : actionAsFn(SetRadius)\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts:83\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { Dispatch } from '@ngxs-labs/dispatch-decorator';\nimport { Select } from '@ngxs/store';\nimport { SpatialSceneNode, TissueBlockResult } from 'ccf-database';\nimport { InfoButtonService, InfoDialogComponent, OrganInfo, PanelData } from 'ccf-shared';\nimport { Observable, Subscription } from 'rxjs';\n\nimport { actionAsFn } from '../../../core/store/action-as-fn';\nimport {\n GenerateSpatialSearch,\n MoveToNode,\n ResetPosition,\n ResetRadius,\n SetPosition,\n SetRadius,\n} from '../../../core/store/spatial-search-ui/spatial-search-ui.actions';\nimport { SpatialSearchUiSelectors } from '../../../core/store/spatial-search-ui/spatial-search-ui.selectors';\nimport { Position, RadiusSettings, TermResult } from '../../../core/store/spatial-search-ui/spatial-search-ui.state';\nimport {\n SpatialSearchConfigBehaviorComponent,\n} from '../spatial-search-config-behavior/spatial-search-config-behavior.component';\nimport { Sex } from '../spatial-search-config/spatial-search-config.component';\nimport { SpatialSearchUiComponent } from '../spatial-search-ui/spatial-search-ui.component';\n\n\n/**\n * Behavioral component for Spatial Search UI\n */\n@Component({\n selector: 'ccf-spatial-search-ui-behavior',\n templateUrl: './spatial-search-ui-behavior.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpatialSearchUiBehaviorComponent {\n\n @Select(SpatialSearchUiSelectors.scene)\n readonly scene$: Observable;\n\n @Select(SpatialSearchUiSelectors.sceneBounds)\n readonly sceneBounds$: Observable;\n\n @Select(SpatialSearchUiSelectors.sceneTarget)\n readonly sceneTarget$: Observable;\n\n @Select(SpatialSearchUiSelectors.sex)\n readonly sex$: Observable;\n\n @Select(SpatialSearchUiSelectors.organ)\n readonly organ$: Observable;\n\n @Select(SpatialSearchUiSelectors.position)\n readonly position$: Observable;\n\n @Select(SpatialSearchUiSelectors.defaultPosition)\n readonly defaultPosition$: Observable;\n\n @Select(SpatialSearchUiSelectors.radius)\n readonly radius$: Observable;\n\n @Select(SpatialSearchUiSelectors.radiusSettings)\n readonly radiusSettings$: Observable;\n\n @Select(SpatialSearchUiSelectors.tissueBlocks)\n readonly tissueBlocks$: Observable;\n\n @Select(SpatialSearchUiSelectors.anatomicalStructures)\n readonly anatomicalStructures$: Observable;\n\n @Select(SpatialSearchUiSelectors.cellTypes)\n readonly cellTypes$: Observable;\n\n @Dispatch()\n readonly updatePosition = actionAsFn(SetPosition);\n\n @Dispatch()\n readonly resetPosition = actionAsFn(ResetPosition);\n\n @Dispatch()\n readonly moveToNode = actionAsFn(MoveToNode);\n\n @Dispatch()\n readonly updateRadius = actionAsFn(SetRadius);\n\n @Dispatch()\n readonly resetRadius = actionAsFn(ResetRadius);\n\n /** Data to be displayed in the info panel */\n panelData: PanelData;\n\n /** Subscriptions for the info panel data */\n private readonly subscriptions = new Subscription();\n\n constructor(\n private readonly dialogRef: MatDialogRef,\n public dialog: MatDialog,\n private readonly infoService: InfoButtonService\n ) { }\n\n /**\n * Launchs info dialog with the input data\n * @param data Data for the info dialog\n */\n launchInfoDialog(data: PanelData): void {\n this.subscriptions.unsubscribe();\n this.dialog.open(InfoDialogComponent, {\n autoFocus: false,\n panelClass: 'modal-animated',\n width: '72rem',\n data: {\n title: data.infoTitle,\n content: data.content,\n videoID: data.videoID\n }\n });\n }\n\n /**\n * Updates dialog with spatial search information\n */\n onDialogButtonClick(): void {\n this.infoService.updateData('assets/docs/SPATIAL_SEARCH_README.md', 'UfxMpzatowE', 'Spatial Search');\n const panelContent$ = this.infoService.panelContent.asObservable();\n this.subscriptions.add(panelContent$.subscribe(data => {\n if (data.content.length) {\n this.panelData = data;\n this.launchInfoDialog(this.panelData);\n }\n }));\n }\n\n /**\n * Closes spatial search UI\n */\n close(): void {\n this.dialogRef.close();\n }\n\n /**\n * Adds a new spatial search and closes the spatial search UI\n * @returns spatial search\n */\n @Dispatch()\n addSpatialSearch(): GenerateSpatialSearch {\n this.close();\n return new GenerateSpatialSearch();\n }\n\n /**\n * Closes the spatial search UI and opens spatial search config\n */\n openSpatialSearchConfig(): void {\n this.close();\n this.dialog.open(SpatialSearchConfigBehaviorComponent);\n }\n}\n\n \n\n \n \n\n\n \n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SpatialSearchUiBehaviorComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SpatialSearchUiBehaviorModule.html":{"url":"modules/SpatialSearchUiBehaviorModule.html","title":"module - SpatialSearchUiBehaviorModule","body":"\n \n\n\n\n\n Modules\n SpatialSearchUiBehaviorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SpatialSearchUiBehaviorModule\n\n\n\ncluster_SpatialSearchUiBehaviorModule_declarations\n\n\n\ncluster_SpatialSearchUiBehaviorModule_imports\n\n\n\ncluster_SpatialSearchUiBehaviorModule_exports\n\n\n\n\nSpatialSearchUiBehaviorComponent\n\nSpatialSearchUiBehaviorComponent\n\n\n\nSpatialSearchUiBehaviorModule\n\nSpatialSearchUiBehaviorModule\n\nSpatialSearchUiBehaviorModule -->\n\nSpatialSearchUiBehaviorComponent->SpatialSearchUiBehaviorModule\n\n\n\n\n\nSpatialSearchUiBehaviorComponent \n\nSpatialSearchUiBehaviorComponent \n\nSpatialSearchUiBehaviorComponent -->\n\nSpatialSearchUiBehaviorModule->SpatialSearchUiBehaviorComponent \n\n\n\n\n\nSpatialSearchUiModule\n\nSpatialSearchUiModule\n\nSpatialSearchUiBehaviorModule -->\n\nSpatialSearchUiModule->SpatialSearchUiBehaviorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SpatialSearchUiBehaviorComponent\n \n \n \n \n Imports\n \n \n SpatialSearchUiModule\n \n \n \n \n Exports\n \n \n SpatialSearchUiBehaviorComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { SpatialSearchUiModule } from '../spatial-search-ui/spatial-search-ui.module';\nimport { SpatialSearchUiBehaviorComponent } from './spatial-search-ui-behavior.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SpatialSearchUiModule,\n MatDialogModule\n ],\n declarations: [SpatialSearchUiBehaviorComponent],\n exports: [SpatialSearchUiBehaviorComponent]\n})\nexport class SpatialSearchUiBehaviorModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SpatialSearchUiComponent.html":{"url":"components/SpatialSearchUiComponent.html","title":"component - SpatialSearchUiComponent","body":"\n \n\n\n\n\n\n Components\n \n SpatialSearchUiComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts\n\n\n\n \n Description\n \n \n Main Spatial Search UI component\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-spatial-search-ui\n \n\n \n styleUrls\n ./spatial-search-ui.component.scss\n \n\n\n\n \n templateUrl\n ./spatial-search-ui.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n anatomicalStructures\n \n \n cellTypes\n \n \n defaultPosition\n \n \n position\n \n \n radius\n \n \n radiusSettings\n \n \n referenceOrgan\n \n \n scene\n \n \n sceneBounds\n \n \n sceneTarget\n \n \n sex\n \n \n tissueBlocks\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n addSpatialSearch\n \n \n closeSpatialSearch\n \n \n editReferenceOrganClicked\n \n \n infoClicked\n \n \n nodeClicked\n \n \n positionChange\n \n \n radiusChange\n \n \n resetPosition\n \n \n resetSphere\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n anatomicalStructures\n \n \n \n \n Type : TermResult[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:53\n \n \n \n \n Anatomical structures within the sphere radius\n\n \n \n \n \n \n \n \n \n \n cellTypes\n \n \n \n \n Type : TermResult[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:56\n \n \n \n \n Cell types within the sphere radius\n\n \n \n \n \n \n \n \n \n \n defaultPosition\n \n \n \n \n Type : Position\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:44\n \n \n \n \n Starting position of sphere\n\n \n \n \n \n \n \n \n \n \n position\n \n \n \n \n Type : Position\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:47\n \n \n \n \n Current position of sphere\n\n \n \n \n \n \n \n \n \n \n radius\n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:38\n \n \n \n \n Current sphere radius setting\n\n \n \n \n \n \n \n \n \n \n radiusSettings\n \n \n \n \n Type : RadiusSettings\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:41\n \n \n \n \n Maximum, minimum, and default sphere radius values\n\n \n \n \n \n \n \n \n \n \n referenceOrgan\n \n \n \n \n Type : OrganInfo\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:35\n \n \n \n \n Current selected organ\n\n \n \n \n \n \n \n \n \n \n scene\n \n \n \n \n Type : SpatialSceneNode[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:23\n \n \n \n \n Nodes in the scene\n\n \n \n \n \n \n \n \n \n \n sceneBounds\n \n \n \n \n Type : Position\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:26\n \n \n \n \n Bounds of the scene\n\n \n \n \n \n \n \n \n \n \n sceneTarget\n \n \n \n \n Type : [number, number, number]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:29\n \n \n \n \n Scene target\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:32\n \n \n \n \n Current selected sex\n\n \n \n \n \n \n \n \n \n \n tissueBlocks\n \n \n \n \n Type : TissueBlockResult[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:50\n \n \n \n \n Tissue blocks within the sphere radius\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n addSpatialSearch\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:59\n \n \n \n \n Emits when run spatial search button clicked\n\n \n \n \n \n \n \n \n \n \n closeSpatialSearch\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:68\n \n \n \n \n Emits when close button clicked\n\n \n \n \n \n \n \n \n \n \n editReferenceOrganClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:77\n \n \n \n \n Emits when the edit organ link is clicked\n\n \n \n \n \n \n \n \n \n \n infoClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:80\n \n \n \n \n Emits when info button in header is clicked\n\n \n \n \n \n \n \n \n \n \n nodeClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:83\n \n \n \n \n Emits when a node in the scene is clicked\n\n \n \n \n \n \n \n \n \n \n positionChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:74\n \n \n \n \n Emits when the sphere position changes\n\n \n \n \n \n \n \n \n \n \n radiusChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:71\n \n \n \n \n Emits when the radius changes\n\n \n \n \n \n \n \n \n \n \n resetPosition\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:62\n \n \n \n \n Emits when reset probing sphere button clicked\n\n \n \n \n \n \n \n \n \n \n resetSphere\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:65\n \n \n \n \n Emits when reset camera button clicked\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-spatial-search-ui\"\n\n \n \n \n \n Default value : 'ccf-spatial-search-ui'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:20\n \n \n\n \n \n HTML Class\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-spatial-search-ui'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts:20\n \n \n\n \n \n HTML Class\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { SpatialSceneNode } from 'ccf-body-ui';\nimport { TissueBlockResult } from 'ccf-database';\nimport { OrganInfo } from 'ccf-shared';\n\nimport { Position, RadiusSettings, TermResult } from '../../../core/store/spatial-search-ui/spatial-search-ui.state';\n\n/**\n * Main Spatial Search UI component\n */\n@Component({\n selector: 'ccf-spatial-search-ui',\n templateUrl: './spatial-search-ui.component.html',\n styleUrls: ['./spatial-search-ui.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class SpatialSearchUiComponent {\n /** HTML Class */\n @HostBinding('class') readonly className = 'ccf-spatial-search-ui';\n\n /** Nodes in the scene */\n @Input() readonly scene: SpatialSceneNode[];\n\n /** Bounds of the scene */\n @Input() readonly sceneBounds: Position;\n\n /** Scene target */\n @Input() readonly sceneTarget: [number, number, number];\n\n /** Current selected sex */\n @Input() readonly sex: string;\n\n /** Current selected organ */\n @Input() readonly referenceOrgan: OrganInfo;\n\n /** Current sphere radius setting */\n @Input() readonly radius: number;\n\n /** Maximum, minimum, and default sphere radius values */\n @Input() readonly radiusSettings: RadiusSettings;\n\n /** Starting position of sphere */\n @Input() readonly defaultPosition: Position;\n\n /** Current position of sphere */\n @Input() readonly position: Position;\n\n /** Tissue blocks within the sphere radius */\n @Input() readonly tissueBlocks: TissueBlockResult[];\n\n /** Anatomical structures within the sphere radius */\n @Input() readonly anatomicalStructures: TermResult[];\n\n /** Cell types within the sphere radius */\n @Input() readonly cellTypes: TermResult[];\n\n /** Emits when run spatial search button clicked */\n @Output() readonly addSpatialSearch = new EventEmitter();\n\n /** Emits when reset probing sphere button clicked */\n @Output() readonly resetPosition = new EventEmitter();\n\n /** Emits when reset camera button clicked */\n @Output() readonly resetSphere = new EventEmitter();\n\n /** Emits when close button clicked */\n @Output() readonly closeSpatialSearch = new EventEmitter();\n\n /** Emits when the radius changes */\n @Output() readonly radiusChange = new EventEmitter();\n\n /** Emits when the sphere position changes */\n @Output() readonly positionChange = new EventEmitter();\n\n /** Emits when the edit organ link is clicked */\n @Output() readonly editReferenceOrganClicked = new EventEmitter();\n\n /** Emits when info button in header is clicked */\n @Output() readonly infoClicked = new EventEmitter();\n\n /** Emits when a node in the scene is clicked */\n @Output() readonly nodeClicked = new EventEmitter();\n}\n\n \n\n \n \n Configure Spatial Search\n \n info\n \n \n close\n \n\n\n\n \n \n \n Donor Sex: \n {{sex.charAt(0).toUpperCase() + sex.slice(1)}}\n \n \n Organ: \n {{referenceOrgan.name}}\n \n Edit\n \n \n \n Probing Sphere Radius\n \n \n {{ radius }} mm\n \n \n Reset Probing Sphere\n Reset\n Camera View\n \n \n \n \n \n \n \n \n \n Run Spatial Search\n \n \n \n Use the keyboard or click a Tissue Block to move the Probing Sphere\n \n \n \n \n \n \n \n \n\n\n \n\n \n \n ./spatial-search-ui.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 2rem;\n gap: 1rem;\n height: 95vh;\n width: 78vw;\n border-radius: 0.25rem;\n min-height: 45rem;\n min-width: 60rem;\n\n .header {\n display: flex;\n width: 100%;\n\n .info, .close {\n padding: 0;\n background: none;\n border: none;\n cursor: pointer;\n outline: none;\n border-radius: 0.25rem;\n transition: 0.6s;\n }\n\n .title {\n display: flex;\n align-items: center;\n margin-right: 1rem;\n }\n\n .close {\n margin-left: auto;\n }\n }\n\n .content {\n display: flex;\n width: 100%;\n height: calc(100% - 3.5rem);\n\n .button {\n border-width: 1px;\n border-style: solid;\n border-radius: 0.25rem;\n font-size: 0.875rem;\n height: 2rem;\n line-height: 2rem;\n transition: 0.5s;\n\n &.disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n }\n\n .info-panel {\n display: flex;\n flex-direction: column;\n margin-right: 2rem;\n grid-gap: 1rem;\n gap: 1rem;\n width: 25rem;\n\n .organ-sex-selection {\n display: flex;\n font-size: 1rem;\n justify-content: space-between;\n\n .sex, .organ {\n display: flex;\n\n .label {\n font-weight: 300;\n margin-right: 0.5rem;\n }\n\n .current-sex, .current-organ {\n font-weight: 600;\n }\n }\n\n .edit {\n cursor: pointer;\n }\n }\n\n .radius-slider {\n display: flex;\n flex-direction: column;\n\n .title {\n font-weight: 600;\n font-size: 1rem;\n }\n\n .slider-container {\n display: flex;\n justify-content: space-between;\n\n .slider {\n width: 19rem;\n }\n\n .value {\n display: flex;\n align-items: center;\n font-size: 1rem;\n }\n }\n\n .reset-buttons {\n display: flex;\n justify-content: space-between;\n\n button {\n width: 11.5rem;\n }\n }\n }\n\n .results {\n height: calc(100% - 15rem - 2px);\n .list {\n height: 33%;\n display: flex;\n flex-direction: column;\n \n }\n }\n }\n\n .spatial-search-scene {\n display: flex;\n width: calc(100% - 25rem);\n background-color: black;\n border-bottom-left-radius: 0.5rem;\n border-bottom-right-radius: 0.5rem;\n border-top-right-radius: .5rem;\n border-top-left-radius: .5rem;\n\n .primary-scene-wrapper {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n\n .primary-scene {\n flex: auto;\n overflow: hidden;\n }\n\n .body-ui-hint {\n color: white;\n font-size: 1rem;\n margin: 1rem;\n }\n }\n\n .sidebar {\n .minimap-scene {\n margin: 1.5rem;\n width: 12.75rem;\n height: 11rem;\n ::ng-deep .body-ui {\n background-color: #232f3a;\n }\n }\n\n ccf-spatial-search-keyboard-ui-behavior {\n margin: 1.5rem;\n display: flex;\n justify-content: center;\n }\n\n ccf-xyz-position {\n margin: 1.5rem;\n padding-left: 5rem;\n }\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Configure Spatial Search info close Donor Sex: {{sex.charAt(0).toUpperCase() + sex.slice(1)}} Organ: {{referenceOrgan.name}} Edit Probing Sphere Radius {{ radius }} mm Reset Probing Sphere Reset Camera View Run Spatial Search Use the keyboard or click a Tissue Block to move the Probing Sphere '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SpatialSearchUiComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialSearchUiModel.html":{"url":"interfaces/SpatialSearchUiModel.html","title":"interface - SpatialSearchUiModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialSearchUiModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n anatomicalStructures\n \n \n \n Optional\n \n cellTypes\n \n \n \n Optional\n \n defaultPosition\n \n \n \n \n executeSearchOnGeneration\n \n \n \n Optional\n \n organId\n \n \n \n Optional\n \n organScene\n \n \n \n Optional\n \n position\n \n \n \n Optional\n \n radius\n \n \n \n Optional\n \n radiusSettings\n \n \n \n Optional\n \n referenceOrgans\n \n \n \n \n sex\n \n \n \n Optional\n \n spatialSearchScene\n \n \n \n Optional\n \n tissueBlocks\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n anatomicalStructures\n \n \n \n \n \n \n \n \n anatomicalStructures: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n cellTypes\n \n \n \n \n \n \n \n \n cellTypes: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n defaultPosition\n \n \n \n \n \n \n \n \n defaultPosition: Position\n\n \n \n\n\n \n \n Type : Position\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n executeSearchOnGeneration\n \n \n \n \n \n \n \n \n executeSearchOnGeneration: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n organId\n \n \n \n \n \n \n \n \n organId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n organScene\n \n \n \n \n \n \n \n \n organScene: SpatialSceneNode[]\n\n \n \n\n\n \n \n Type : SpatialSceneNode[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n \n \n position: Position\n\n \n \n\n\n \n \n Type : Position\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n radius\n \n \n \n \n \n \n \n \n radius: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n radiusSettings\n \n \n \n \n \n \n \n \n radiusSettings: RadiusSettings\n\n \n \n\n\n \n \n Type : RadiusSettings\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n referenceOrgans\n \n \n \n \n \n \n \n \n referenceOrgans: OrganInfo[]\n\n \n \n\n\n \n \n Type : OrganInfo[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: Sex\n\n \n \n\n\n \n \n Type : Sex\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n spatialSearchScene\n \n \n \n \n \n \n \n \n spatialSearchScene: SpatialSceneNode[]\n\n \n \n\n\n \n \n Type : SpatialSceneNode[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n tissueBlocks\n \n \n \n \n \n \n \n \n tissueBlocks: TissueBlockResult[]\n\n \n \n\n\n \n \n Type : TissueBlockResult[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport { Action, Actions, ofActionDispatched, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { Filter, getOriginScene, SpatialEntity, SpatialSceneNode, SpatialSearch, TissueBlockResult } from 'ccf-database';\nimport { DataSourceService, OrganInfo } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { forkJoin, Observable } from 'rxjs';\nimport { debounceTime, mergeMap, take, tap } from 'rxjs/operators';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { UpdateFilter } from '../data/data.actions';\nimport { DataStateSelectors } from '../data/data.selectors';\nimport { SceneState } from '../scene/scene.state';\nimport { AddSearch } from '../spatial-search-filter/spatial-search-filter.actions';\nimport { SpatialSearchFilterSelectors } from '../spatial-search-filter/spatial-search-filter.selectors';\nimport {\n GenerateSpatialSearch,\n MoveToNode,\n ResetPosition,\n ResetRadius,\n SetExecuteSearchOnGenerate,\n SetOrgan,\n SetPosition,\n SetRadius,\n SetSex,\n StartSpatialSearchFlow,\n UpdateSpatialSearch,\n} from './spatial-search-ui.actions';\n\n\nexport interface Position {\n x: number;\n y: number;\n z: number;\n}\n\nexport interface RadiusSettings {\n min: number;\n max: number;\n defaultValue: number;\n}\n\nexport interface TermResult {\n '@id': string;\n label: string;\n count: number;\n}\n\nexport interface SpatialSearchUiModel {\n sex: Sex;\n organId?: string;\n position?: Position;\n radius?: number;\n\n defaultPosition?: Position;\n radiusSettings?: RadiusSettings;\n\n referenceOrgans?: OrganInfo[];\n organScene?: SpatialSceneNode[];\n\n spatialSearchScene?: SpatialSceneNode[];\n tissueBlocks?: TissueBlockResult[];\n anatomicalStructures?: Record;\n cellTypes?: Record;\n\n executeSearchOnGeneration: boolean;\n}\n\nclass ReallyUpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Really update spatial search data';\n}\n\n\n@State({\n name: 'spatialSearchUi',\n defaults: {\n sex: 'female',\n executeSearchOnGeneration: true\n }\n})\n@Injectable()\nexport class SpatialSearchUiState {\n @Selector([SpatialSearchUiState, SceneState.referenceOrganEntities])\n static organEntity(state: SpatialSearchUiModel, organs: SpatialEntity[]): SpatialEntity | undefined {\n const { organId, sex } = state;\n return organs.find(o => o.representation_of === organId && o.sex?.toLowerCase() === sex);\n }\n\n constructor(\n private readonly dataSource: DataSourceService,\n private readonly store: Store,\n actions$: Actions,\n private readonly ga: GoogleAnalyticsService\n ) {\n actions$.pipe(\n ofActionDispatched(UpdateSpatialSearch),\n debounceTime(500),\n tap(() => store.dispatch(ReallyUpdateSpatialSearch))\n ).subscribe();\n }\n\n @Action(StartSpatialSearchFlow)\n startSpatialSearchFlow(ctx: StateContext): Observable {\n const { sex, organId } = ctx.getState();\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', `${sex}_${shortOrgan}`);\n\n return ctx.dispatch(new SetSex(sex));\n }\n\n /**\n * Updates sex in the SpatialSearchUI and sets selected organ to undefined if not valid for the sex\n */\n @Action(SetSex)\n setSex(ctx: StateContext, { sex }: SetSex): Observable | void {\n let { organId } = ctx.getState();\n ctx.patchState({ sex });\n this.ga.event('set_sex', 'spatial_search_ui', sex);\n\n if (organId !== undefined && !this.organValidForSex(organId, sex)) {\n organId = undefined;\n }\n\n const filter = {\n ...this.store.selectSnapshot(DataStateSelectors.filter),\n spatialSearches: []\n };\n const referenceOrgans = this.store.selectSnapshot(SceneState.referenceOrgans);\n\n return this.dataSource.getOntologyTermOccurences(filter).pipe(\n take(1),\n tap((counts: Record) => {\n ctx.patchState({\n referenceOrgans: referenceOrgans.filter((o) => o.id && !o.disabled && counts[o.id] > 0)\n });\n ctx.dispatch(new SetOrgan(organId));\n })\n );\n }\n\n /**\n * Updates organId in the SpatialSearchUI\n */\n @Action(SetOrgan)\n setOrgan(ctx: StateContext, { organId }: SetOrgan): Observable | void {\n const { sex } = ctx.getState();\n ctx.patchState({ sex, organId });\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', shortOrgan);\n\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && organId && organ.sex) {\n const { x_dimension: width, y_dimension: height, z_dimension: depth } = organ;\n const position = { x: Math.round(width / 2), y: Math.round(height / 2), z: Math.round(depth / 2) };\n const defaultRadius = Math.round(Math.max(width, height, depth) * 0.07);\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter = {\n ...globalFilter,\n sex: organ.sex,\n ontologyTerms: [organId],\n spatialSearches: []\n };\n\n return this.dataSource\n .getReferenceOrganScene(organId, filter)\n .pipe(\n take(1),\n tap((organScene: SpatialSceneNode[]) => {\n ctx.patchState({\n position,\n radius: defaultRadius,\n defaultPosition: position,\n radiusSettings: { min: Math.min(defaultRadius, 5), max: Math.floor(Math.max(width, height, depth) / 1.5), defaultValue: defaultRadius },\n organScene: getOriginScene(organ).concat(organScene)\n });\n }),\n mergeMap(() => ctx.dispatch(new UpdateSpatialSearch()))\n );\n }\n }\n\n /**\n * Updates position in the SpatialSearchUI\n */\n @Action(SetPosition)\n setPosition(ctx: StateContext, { position }: SetPosition): void {\n ctx.patchState({ position });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = position;\n this.ga.event('set_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(ResetPosition)\n resetPosition(ctx: StateContext): void {\n const { defaultPosition } = ctx.getState();\n ctx.patchState({ position: defaultPosition });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = defaultPosition ?? { x: 0, y: 0, z: 0 };\n this.ga.event('reset_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(MoveToNode)\n moveToNode(ctx: StateContext, { node }: MoveToNode): Observable | void {\n const matrix = new Matrix4(node.transformMatrix);\n const [x, y, z] = matrix.getTranslation().map(n => Math.round(n * 1000));\n const position: Position = { x, y, z };\n\n return ctx.dispatch(new SetPosition(position));\n }\n\n /**\n * Updates radius in the SpatialSearchUI\n */\n @Action(SetRadius)\n setRadius(ctx: StateContext, { radius }: SetRadius): void {\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('set_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n @Action(ResetRadius)\n resetRadius(ctx: StateContext): void {\n const { radiusSettings } = ctx.getState();\n const radius = radiusSettings?.defaultValue ?? 0;\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('reset_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n /**\n * Updates the spatial search data as the organ, position, and radius changes\n */\n @Action(ReallyUpdateSpatialSearch)\n updateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && position && radius && organ.representation_of) {\n const db = this.dataSource;\n const organId = organ.representation_of;\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter: Filter = {\n ...globalFilter,\n sex: organ.sex as 'Male' | 'Female',\n ontologyTerms: [organId],\n spatialSearches: [{\n ...position,\n radius: radius,\n target: organ['@id']\n }]\n };\n\n return forkJoin({\n spatialSearchScene: db.getReferenceOrganScene(organId, filter).pipe(take(1)),\n tissueBlocks: db.getTissueBlockResults(filter).pipe(take(1)),\n anatomicalStructures: db.getOntologyTermOccurences(filter).pipe(take(1)),\n cellTypes: db.getCellTypeTermOccurences(filter).pipe(take(1))\n }).pipe(\n tap((data: Partial) => ctx.patchState(data))\n );\n }\n }\n\n /**\n * Generates and adds a new spatial search then resets the ui state\n */\n @Action(GenerateSpatialSearch)\n generateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius, sex, organId, referenceOrgans = [], executeSearchOnGeneration } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n const info = referenceOrgans.find(item => item.id === organId);\n // const { spatialSearches = [] } = this.store.selectSnapshot(DataStateSelectors.filter);\n\n if (position && radius && organ?.representation_of && info) {\n const search: SpatialSearch = {\n ...position,\n radius,\n target: organ['@id']\n };\n const actions: unknown[] = [new AddSearch(sex, info.name, search)];\n\n if (executeSearchOnGeneration) {\n const searches = this.store.selectSnapshot(SpatialSearchFilterSelectors.selectedSearches);\n actions.push(new UpdateFilter({\n spatialSearches: searches.concat(search)\n }));\n }\n\n this.ga.event('generate_search', 'spatial_search_ui');\n return ctx.dispatch(actions).pipe(\n tap(() => ctx.patchState({\n sex: 'female',\n organId: undefined\n }))\n );\n }\n }\n\n @Action(SetExecuteSearchOnGenerate)\n setExecuteSearchOnGenerate(ctx: StateContext, { execute }: SetExecuteSearchOnGenerate): void {\n ctx.patchState({\n executeSearchOnGeneration: execute\n });\n }\n\n /**\n * Used to determine if an organ should be listed if a certain sex is selected\n */\n private organValidForSex(organId: string, sex: Sex): boolean {\n const organs = this.store.selectSnapshot(SceneState.referenceOrgans);\n const organ = organs.find(o => o.id === organId)!;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return organ.hasSex || organ.sex === sex;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SpatialSearchUiModule.html":{"url":"modules/SpatialSearchUiModule.html","title":"module - SpatialSearchUiModule","body":"\n \n\n\n\n\n Modules\n SpatialSearchUiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SpatialSearchUiModule\n\n\n\ncluster_SpatialSearchUiModule_imports\n\n\n\ncluster_SpatialSearchUiModule_exports\n\n\n\ncluster_SpatialSearchUiModule_declarations\n\n\n\n\nSpatialSearchUiComponent\n\nSpatialSearchUiComponent\n\n\n\nSpatialSearchUiModule\n\nSpatialSearchUiModule\n\nSpatialSearchUiModule -->\n\nSpatialSearchUiComponent->SpatialSearchUiModule\n\n\n\n\n\nSpatialSearchUiComponent \n\nSpatialSearchUiComponent \n\nSpatialSearchUiComponent -->\n\nSpatialSearchUiModule->SpatialSearchUiComponent \n\n\n\n\n\nSpatialSearchKeyboardUIBehaviorModule\n\nSpatialSearchKeyboardUIBehaviorModule\n\nSpatialSearchUiModule -->\n\nSpatialSearchKeyboardUIBehaviorModule->SpatialSearchUiModule\n\n\n\n\n\nTermOccurrenceListModule\n\nTermOccurrenceListModule\n\nSpatialSearchUiModule -->\n\nTermOccurrenceListModule->SpatialSearchUiModule\n\n\n\nSpatialSearchUiModule -->\n\nTermOccurrenceListModule->SpatialSearchUiModule\n\n\n\n\n\nTissueBlockListModule\n\nTissueBlockListModule\n\nSpatialSearchUiModule -->\n\nTissueBlockListModule->SpatialSearchUiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SpatialSearchUiComponent\n \n \n \n \n Imports\n \n \n SpatialSearchKeyboardUIBehaviorModule\n \n \n TermOccurrenceListModule\n \n \n TermOccurrenceListModule\n \n \n TissueBlockListModule\n \n \n \n \n Exports\n \n \n SpatialSearchUiComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSliderModule } from '@angular/material/slider';\n\nimport { BodyUiModule, InfoButtonModule, XYZPositionModule } from 'ccf-shared';\nimport { SpatialSearchKeyboardUIBehaviorModule } from '../spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.module';\nimport { TermOccurrenceListModule } from '../term-occurence-list/term-occurrence.module';\nimport { TissueBlockListModule } from '../tissue-block-list/tissue-block-list.module';\nimport { SpatialSearchUiComponent } from './spatial-search-ui.component';\n\n@NgModule({\n imports: [\n CommonModule,\n BodyUiModule,\n XYZPositionModule,\n TissueBlockListModule,\n SpatialSearchKeyboardUIBehaviorModule,\n MatIconModule,\n MatSliderModule,\n TermOccurrenceListModule,\n MatDividerModule,\n MatButtonModule,\n InfoButtonModule,\n TermOccurrenceListModule\n ],\n declarations: [SpatialSearchUiComponent],\n exports: [SpatialSearchUiComponent]\n})\nexport class SpatialSearchUiModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SpatialSearchUiSelectors.html":{"url":"classes/SpatialSearchUiSelectors.html","title":"class - SpatialSearchUiSelectors","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SpatialSearchUiSelectors\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n organEntity\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n anatomicalStructures\n \n \n Static\n cellTypes\n \n \n Static\n defaultPosition\n \n \n Private\n Static\n getTermCounts\n \n \n Static\n organ\n \n \n Static\n organId\n \n \n Static\n organMatchesSex\n \n \n Static\n organs\n \n \n Static\n position\n \n \n Static\n radius\n \n \n Static\n radiusSettings\n \n \n Static\n referenceOrgans\n \n \n Static\n scene\n \n \n Static\n sceneBounds\n \n \n Static\n sceneTarget\n \n \n Static\n sex\n \n \n Static\n tissueBlocks\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n organEntity\n \n \n \n \n \n \n Default value : SpatialSearchUiState.organEntity\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:12\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n anatomicalStructures\n \n \n \n \n \n \n \n anatomicalStructures(state: SpatialSearchUiModel, tree: OntologyTreeModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState', 'undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n tree\n \n OntologyTreeModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : TermResult[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n cellTypes\n \n \n \n \n \n \n \n cellTypes(state: SpatialSearchUiModel, tree: OntologyTreeModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState', 'undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:111\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n tree\n \n OntologyTreeModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : TermResult[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n defaultPosition\n \n \n \n \n \n \n \n defaultPosition(state: SpatialSearchUiModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Position\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n getTermCounts\n \n \n \n \n \n \n \n getTermCounts(counts: Record | undefined, tree: OntologyTreeModel)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n counts\n \n Record | undefined\n \n\n \n No\n \n\n\n \n \n tree\n \n OntologyTreeModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : TermResult[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n organ\n \n \n \n \n \n \n \n organ(id: string | undefined, organs: OrganInfo[])\n \n \n\n \n \n Decorators : \n \n @Selector(['undefined', 'undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n organs\n \n OrganInfo[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OrganInfo | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n organId\n \n \n \n \n \n \n \n organId(state: SpatialSearchUiModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n organMatchesSex\n \n \n \n \n \n \n \n organMatchesSex(organ: OrganInfo, sex: Sex)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organ\n \n OrganInfo\n \n\n \n No\n \n\n\n \n \n sex\n \n Sex\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n organs\n \n \n \n \n \n \n \n organs(sex: Sex, organs: OrganInfo[])\n \n \n\n \n \n Decorators : \n \n @Selector(['undefined', 'undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sex\n \n Sex\n \n\n \n No\n \n\n\n \n \n organs\n \n OrganInfo[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OrganInfo[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n position\n \n \n \n \n \n \n \n position(state: SpatialSearchUiModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Position\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n radius\n \n \n \n \n \n \n \n radius(state: SpatialSearchUiModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : number\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n radiusSettings\n \n \n \n \n \n \n \n radiusSettings(state: SpatialSearchUiModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : RadiusSettings\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n referenceOrgans\n \n \n \n \n \n \n \n referenceOrgans(state: SpatialSearchUiModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OrganInfo[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n scene\n \n \n \n \n \n \n \n scene(state: SpatialSearchUiModel, organEntity: SpatialEntity, position: Position, radius: number)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState', 'undefined', 'undefined', 'undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n organEntity\n \n SpatialEntity\n \n\n \n No\n \n\n\n \n \n position\n \n Position\n \n\n \n No\n \n\n\n \n \n radius\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n sceneBounds\n \n \n \n \n \n \n \n sceneBounds(organEntity: SpatialEntity)\n \n \n\n \n \n Decorators : \n \n @Selector(['undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organEntity\n \n SpatialEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Position\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n sceneTarget\n \n \n \n \n \n \n \n sceneTarget(organEntity: SpatialEntity)\n \n \n\n \n \n Decorators : \n \n @Selector(['undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organEntity\n \n SpatialEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n sex\n \n \n \n \n \n \n \n sex(state: SpatialSearchUiModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Sex\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n tissueBlocks\n \n \n \n \n \n \n \n tissueBlocks(state: SpatialSearchUiModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts:101\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : TissueBlockResult[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Selector } from '@ngxs/store';\nimport { SpatialSceneNode } from 'ccf-body-ui';\nimport { getProbingSphereScene, OntologyTreeModel, SpatialEntity, TissueBlockResult } from 'ccf-database';\nimport { OrganInfo } from 'ccf-shared';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { DataStateSelectors } from '../data/data.selectors';\nimport { Position, RadiusSettings, SpatialSearchUiModel, SpatialSearchUiState, TermResult } from './spatial-search-ui.state';\n\n\nexport class SpatialSearchUiSelectors {\n static readonly organEntity = SpatialSearchUiState.organEntity;\n\n @Selector([SpatialSearchUiState])\n static sex(state: SpatialSearchUiModel): Sex {\n return state.sex;\n }\n\n @Selector([SpatialSearchUiState])\n static referenceOrgans(state: SpatialSearchUiModel): OrganInfo[] {\n return state.referenceOrgans ?? [];\n }\n\n @Selector([SpatialSearchUiState])\n static organId(state: SpatialSearchUiModel): string | undefined {\n return state.organId;\n }\n\n @Selector([SpatialSearchUiSelectors.organId, SpatialSearchUiSelectors.referenceOrgans])\n static organ(id: string | undefined, organs: OrganInfo[]): OrganInfo | undefined {\n if (id === undefined) {\n return undefined;\n }\n\n return organs.find(organ => organ.id === id);\n }\n\n @Selector([SpatialSearchUiSelectors.sex, SpatialSearchUiSelectors.referenceOrgans])\n static organs(sex: Sex, organs: OrganInfo[]): OrganInfo[] {\n return organs.filter(organ => this.organMatchesSex(organ, sex));\n }\n\n static organMatchesSex(organ: OrganInfo, sex: Sex): boolean {\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return organ.hasSex || organ.sex === sex;\n }\n\n @Selector([SpatialSearchUiState])\n static position(state: SpatialSearchUiModel): Position {\n return state.position ?? { x: 0, y: 0, z: 0 };\n }\n\n @Selector([SpatialSearchUiState])\n static defaultPosition(state: SpatialSearchUiModel): Position {\n return state.defaultPosition ?? { x: 0, y: 0, z: 0 };\n }\n\n @Selector([SpatialSearchUiState])\n static radius(state: SpatialSearchUiModel): number {\n return state.radius ?? 0;\n }\n\n @Selector([SpatialSearchUiState])\n static radiusSettings(state: SpatialSearchUiModel): RadiusSettings {\n return state.radiusSettings ?? { min: 0, max: 0, defaultValue: 0 };\n }\n\n @Selector([SpatialSearchUiState, SpatialSearchUiState.organEntity, SpatialSearchUiSelectors.position, SpatialSearchUiSelectors.radius])\n static scene(state: SpatialSearchUiModel, organEntity: SpatialEntity, position: Position, radius: number): SpatialSceneNode[] {\n const sphere = getProbingSphereScene(organEntity, {\n ...position, radius, target: organEntity['@id']\n });\n const collisions = new Set((state.tissueBlocks ?? []).map(block => block.spatialEntityId));\n const organScene = (state.organScene ?? []).map(s => {\n if (collisions.has(s['@id'])) {\n s = { ...s, color: [41, 121, 255, 0.9 * 255] };\n }\n return s;\n });\n return organScene.concat(sphere);\n }\n\n @Selector([SpatialSearchUiState.organEntity])\n static sceneBounds(organEntity: SpatialEntity): Position {\n const { x_dimension: x, y_dimension: y, z_dimension: z } = organEntity;\n const margin = Math.max(x, y, z) * 0.42;\n return {\n x: (margin + x) / 1000,\n y: (margin + y) / 1000,\n z: (margin + z) / 1000\n };\n }\n\n @Selector([SpatialSearchUiState.organEntity])\n static sceneTarget(organEntity: SpatialEntity): [number, number, number] {\n const { x_dimension: x, y_dimension: y, z_dimension: z } = organEntity;\n return [x / 1000 / 2, y / 1000 / 2, z / 1000 / 2];\n }\n\n @Selector([SpatialSearchUiState])\n static tissueBlocks(state: SpatialSearchUiModel): TissueBlockResult[] {\n return state.tissueBlocks ?? [];\n }\n\n @Selector([SpatialSearchUiState, DataStateSelectors.anatomicalStructuresTreeModel])\n static anatomicalStructures(state: SpatialSearchUiModel, tree: OntologyTreeModel): TermResult[] {\n return this.getTermCounts(state.anatomicalStructures, tree);\n }\n\n @Selector([SpatialSearchUiState, DataStateSelectors.cellTypesTreeModel])\n static cellTypes(state: SpatialSearchUiModel, tree: OntologyTreeModel): TermResult[] {\n return this.getTermCounts(state.cellTypes, tree);\n }\n\n private static getTermCounts(counts: Record | undefined, tree: OntologyTreeModel): TermResult[] {\n return Object.entries(counts ?? {}).filter(([_, count]) => count > 0).map(([term, count]) => ({\n '@id': term,\n label: tree.nodes[term]?.label ?? term.split('/').slice(-1)[0],\n count\n }));\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SpatialSearchUiState.html":{"url":"injectables/SpatialSearchUiState.html","title":"injectable - SpatialSearchUiState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n SpatialSearchUiState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n generateSpatialSearch\n \n \n moveToNode\n \n \n Static\n organEntity\n \n \n Private\n organValidForSex\n \n \n resetPosition\n \n \n resetRadius\n \n \n setExecuteSearchOnGenerate\n \n \n setOrgan\n \n \n setPosition\n \n \n setRadius\n \n \n setSex\n \n \n startSpatialSearchFlow\n \n \n updateSpatialSearch\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dataSource: DataSourceService, store: Store, actions$: Actions, ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:87\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dataSource\n \n \n DataSourceService\n \n \n \n No\n \n \n \n \n store\n \n \n Store\n \n \n \n No\n \n \n \n \n actions$\n \n \n Actions\n \n \n \n No\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n generateSpatialSearch\n \n \n \n \n \n \ngenerateSpatialSearch(ctx: StateContext)\n \n \n\n \n \n Decorators : \n \n @Action(GenerateSpatialSearch)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:271\n \n \n\n\n \n \n Generates and adds a new spatial search then resets the ui state\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable | void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n moveToNode\n \n \n \n \n \n \nmoveToNode(ctx: StateContext, undefined: MoveToNode)\n \n \n\n \n \n Decorators : \n \n @Action(MoveToNode)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:205\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n MoveToNode\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable | void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n organEntity\n \n \n \n \n \n \n \n organEntity(state: SpatialSearchUiModel, organs: SpatialEntity[])\n \n \n\n \n \n Decorators : \n \n @Selector(['SpatialSearchUiState', 'undefined'])\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n SpatialSearchUiModel\n \n\n \n No\n \n\n\n \n \n organs\n \n SpatialEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialEntity | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n organValidForSex\n \n \n \n \n \n \n \n organValidForSex(organId: string, sex: Sex)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:312\n \n \n\n\n \n \n Used to determine if an organ should be listed if a certain sex is selected\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organId\n \n string\n \n\n \n No\n \n\n\n \n \n sex\n \n Sex\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetPosition\n \n \n \n \n \n \nresetPosition(ctx: StateContext)\n \n \n\n \n \n Decorators : \n \n @Action(ResetPosition)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:195\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetRadius\n \n \n \n \n \n \nresetRadius(ctx: StateContext)\n \n \n\n \n \n Decorators : \n \n @Action(ResetRadius)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:225\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setExecuteSearchOnGenerate\n \n \n \n \n \n \nsetExecuteSearchOnGenerate(ctx: StateContext, undefined: SetExecuteSearchOnGenerate)\n \n \n\n \n \n Decorators : \n \n @Action(SetExecuteSearchOnGenerate)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:303\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n SetExecuteSearchOnGenerate\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setOrgan\n \n \n \n \n \n \nsetOrgan(ctx: StateContext, undefined: SetOrgan)\n \n \n\n \n \n Decorators : \n \n @Action(SetOrgan)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:145\n \n \n\n\n \n \n Updates organId in the SpatialSearchUI\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n SetOrgan\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable | void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setPosition\n \n \n \n \n \n \nsetPosition(ctx: StateContext, undefined: SetPosition)\n \n \n\n \n \n Decorators : \n \n @Action(SetPosition)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:186\n \n \n\n\n \n \n Updates position in the SpatialSearchUI\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n SetPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setRadius\n \n \n \n \n \n \nsetRadius(ctx: StateContext, undefined: SetRadius)\n \n \n\n \n \n Decorators : \n \n @Action(SetRadius)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:217\n \n \n\n\n \n \n Updates radius in the SpatialSearchUI\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n SetRadius\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setSex\n \n \n \n \n \n \nsetSex(ctx: StateContext, undefined: SetSex)\n \n \n\n \n \n Decorators : \n \n @Action(SetSex)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:115\n \n \n\n\n \n \n Updates sex in the SpatialSearchUI and sets selected organ to undefined if not valid for the sex\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n SetSex\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable | void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n startSpatialSearchFlow\n \n \n \n \n \n \nstartSpatialSearchFlow(ctx: StateContext)\n \n \n\n \n \n Decorators : \n \n @Action(StartSpatialSearchFlow)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateSpatialSearch\n \n \n \n \n \n \nupdateSpatialSearch(ctx: StateContext)\n \n \n\n \n \n Decorators : \n \n @Action(ReallyUpdateSpatialSearch)\n \n \n\n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts:238\n \n \n\n\n \n \n Updates the spatial search data as the organ, position, and radius changes\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable | void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport { Action, Actions, ofActionDispatched, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { Filter, getOriginScene, SpatialEntity, SpatialSceneNode, SpatialSearch, TissueBlockResult } from 'ccf-database';\nimport { DataSourceService, OrganInfo } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { forkJoin, Observable } from 'rxjs';\nimport { debounceTime, mergeMap, take, tap } from 'rxjs/operators';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { UpdateFilter } from '../data/data.actions';\nimport { DataStateSelectors } from '../data/data.selectors';\nimport { SceneState } from '../scene/scene.state';\nimport { AddSearch } from '../spatial-search-filter/spatial-search-filter.actions';\nimport { SpatialSearchFilterSelectors } from '../spatial-search-filter/spatial-search-filter.selectors';\nimport {\n GenerateSpatialSearch,\n MoveToNode,\n ResetPosition,\n ResetRadius,\n SetExecuteSearchOnGenerate,\n SetOrgan,\n SetPosition,\n SetRadius,\n SetSex,\n StartSpatialSearchFlow,\n UpdateSpatialSearch,\n} from './spatial-search-ui.actions';\n\n\nexport interface Position {\n x: number;\n y: number;\n z: number;\n}\n\nexport interface RadiusSettings {\n min: number;\n max: number;\n defaultValue: number;\n}\n\nexport interface TermResult {\n '@id': string;\n label: string;\n count: number;\n}\n\nexport interface SpatialSearchUiModel {\n sex: Sex;\n organId?: string;\n position?: Position;\n radius?: number;\n\n defaultPosition?: Position;\n radiusSettings?: RadiusSettings;\n\n referenceOrgans?: OrganInfo[];\n organScene?: SpatialSceneNode[];\n\n spatialSearchScene?: SpatialSceneNode[];\n tissueBlocks?: TissueBlockResult[];\n anatomicalStructures?: Record;\n cellTypes?: Record;\n\n executeSearchOnGeneration: boolean;\n}\n\nclass ReallyUpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Really update spatial search data';\n}\n\n\n@State({\n name: 'spatialSearchUi',\n defaults: {\n sex: 'female',\n executeSearchOnGeneration: true\n }\n})\n@Injectable()\nexport class SpatialSearchUiState {\n @Selector([SpatialSearchUiState, SceneState.referenceOrganEntities])\n static organEntity(state: SpatialSearchUiModel, organs: SpatialEntity[]): SpatialEntity | undefined {\n const { organId, sex } = state;\n return organs.find(o => o.representation_of === organId && o.sex?.toLowerCase() === sex);\n }\n\n constructor(\n private readonly dataSource: DataSourceService,\n private readonly store: Store,\n actions$: Actions,\n private readonly ga: GoogleAnalyticsService\n ) {\n actions$.pipe(\n ofActionDispatched(UpdateSpatialSearch),\n debounceTime(500),\n tap(() => store.dispatch(ReallyUpdateSpatialSearch))\n ).subscribe();\n }\n\n @Action(StartSpatialSearchFlow)\n startSpatialSearchFlow(ctx: StateContext): Observable {\n const { sex, organId } = ctx.getState();\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', `${sex}_${shortOrgan}`);\n\n return ctx.dispatch(new SetSex(sex));\n }\n\n /**\n * Updates sex in the SpatialSearchUI and sets selected organ to undefined if not valid for the sex\n */\n @Action(SetSex)\n setSex(ctx: StateContext, { sex }: SetSex): Observable | void {\n let { organId } = ctx.getState();\n ctx.patchState({ sex });\n this.ga.event('set_sex', 'spatial_search_ui', sex);\n\n if (organId !== undefined && !this.organValidForSex(organId, sex)) {\n organId = undefined;\n }\n\n const filter = {\n ...this.store.selectSnapshot(DataStateSelectors.filter),\n spatialSearches: []\n };\n const referenceOrgans = this.store.selectSnapshot(SceneState.referenceOrgans);\n\n return this.dataSource.getOntologyTermOccurences(filter).pipe(\n take(1),\n tap((counts: Record) => {\n ctx.patchState({\n referenceOrgans: referenceOrgans.filter((o) => o.id && !o.disabled && counts[o.id] > 0)\n });\n ctx.dispatch(new SetOrgan(organId));\n })\n );\n }\n\n /**\n * Updates organId in the SpatialSearchUI\n */\n @Action(SetOrgan)\n setOrgan(ctx: StateContext, { organId }: SetOrgan): Observable | void {\n const { sex } = ctx.getState();\n ctx.patchState({ sex, organId });\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', shortOrgan);\n\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && organId && organ.sex) {\n const { x_dimension: width, y_dimension: height, z_dimension: depth } = organ;\n const position = { x: Math.round(width / 2), y: Math.round(height / 2), z: Math.round(depth / 2) };\n const defaultRadius = Math.round(Math.max(width, height, depth) * 0.07);\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter = {\n ...globalFilter,\n sex: organ.sex,\n ontologyTerms: [organId],\n spatialSearches: []\n };\n\n return this.dataSource\n .getReferenceOrganScene(organId, filter)\n .pipe(\n take(1),\n tap((organScene: SpatialSceneNode[]) => {\n ctx.patchState({\n position,\n radius: defaultRadius,\n defaultPosition: position,\n radiusSettings: { min: Math.min(defaultRadius, 5), max: Math.floor(Math.max(width, height, depth) / 1.5), defaultValue: defaultRadius },\n organScene: getOriginScene(organ).concat(organScene)\n });\n }),\n mergeMap(() => ctx.dispatch(new UpdateSpatialSearch()))\n );\n }\n }\n\n /**\n * Updates position in the SpatialSearchUI\n */\n @Action(SetPosition)\n setPosition(ctx: StateContext, { position }: SetPosition): void {\n ctx.patchState({ position });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = position;\n this.ga.event('set_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(ResetPosition)\n resetPosition(ctx: StateContext): void {\n const { defaultPosition } = ctx.getState();\n ctx.patchState({ position: defaultPosition });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = defaultPosition ?? { x: 0, y: 0, z: 0 };\n this.ga.event('reset_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(MoveToNode)\n moveToNode(ctx: StateContext, { node }: MoveToNode): Observable | void {\n const matrix = new Matrix4(node.transformMatrix);\n const [x, y, z] = matrix.getTranslation().map(n => Math.round(n * 1000));\n const position: Position = { x, y, z };\n\n return ctx.dispatch(new SetPosition(position));\n }\n\n /**\n * Updates radius in the SpatialSearchUI\n */\n @Action(SetRadius)\n setRadius(ctx: StateContext, { radius }: SetRadius): void {\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('set_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n @Action(ResetRadius)\n resetRadius(ctx: StateContext): void {\n const { radiusSettings } = ctx.getState();\n const radius = radiusSettings?.defaultValue ?? 0;\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('reset_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n /**\n * Updates the spatial search data as the organ, position, and radius changes\n */\n @Action(ReallyUpdateSpatialSearch)\n updateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && position && radius && organ.representation_of) {\n const db = this.dataSource;\n const organId = organ.representation_of;\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter: Filter = {\n ...globalFilter,\n sex: organ.sex as 'Male' | 'Female',\n ontologyTerms: [organId],\n spatialSearches: [{\n ...position,\n radius: radius,\n target: organ['@id']\n }]\n };\n\n return forkJoin({\n spatialSearchScene: db.getReferenceOrganScene(organId, filter).pipe(take(1)),\n tissueBlocks: db.getTissueBlockResults(filter).pipe(take(1)),\n anatomicalStructures: db.getOntologyTermOccurences(filter).pipe(take(1)),\n cellTypes: db.getCellTypeTermOccurences(filter).pipe(take(1))\n }).pipe(\n tap((data: Partial) => ctx.patchState(data))\n );\n }\n }\n\n /**\n * Generates and adds a new spatial search then resets the ui state\n */\n @Action(GenerateSpatialSearch)\n generateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius, sex, organId, referenceOrgans = [], executeSearchOnGeneration } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n const info = referenceOrgans.find(item => item.id === organId);\n // const { spatialSearches = [] } = this.store.selectSnapshot(DataStateSelectors.filter);\n\n if (position && radius && organ?.representation_of && info) {\n const search: SpatialSearch = {\n ...position,\n radius,\n target: organ['@id']\n };\n const actions: unknown[] = [new AddSearch(sex, info.name, search)];\n\n if (executeSearchOnGeneration) {\n const searches = this.store.selectSnapshot(SpatialSearchFilterSelectors.selectedSearches);\n actions.push(new UpdateFilter({\n spatialSearches: searches.concat(search)\n }));\n }\n\n this.ga.event('generate_search', 'spatial_search_ui');\n return ctx.dispatch(actions).pipe(\n tap(() => ctx.patchState({\n sex: 'female',\n organId: undefined\n }))\n );\n }\n }\n\n @Action(SetExecuteSearchOnGenerate)\n setExecuteSearchOnGenerate(ctx: StateContext, { execute }: SetExecuteSearchOnGenerate): void {\n ctx.patchState({\n executeSearchOnGeneration: execute\n });\n }\n\n /**\n * Used to determine if an organ should be listed if a certain sex is selected\n */\n private organValidForSex(organId: string, sex: Sex): boolean {\n const organs = this.store.selectSnapshot(SceneState.referenceOrgans);\n const organ = organs.find(o => o.id === organId)!;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return organ.hasSex || organ.sex === sex;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SpinnerOverlayComponent.html":{"url":"components/SpinnerOverlayComponent.html","title":"component - SpinnerOverlayComponent","body":"\n \n\n\n\n\n\n Components\n \n SpinnerOverlayComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/spinner-overlay/spinner-overlay.component.ts\n\n\n\n \n Description\n \n \n Overlay component that displays a progress spinner and\nan optional text description.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-spinner-overlay\n \n\n \n styleUrls\n ./spinner-overlay.component.scss\n \n\n\n\n \n templateUrl\n ./spinner-overlay.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n active\n \n \n text\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n active\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spinner-overlay/spinner-overlay.component.ts:19\n \n \n \n \n Whether the overlay is active/showing.\n\n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spinner-overlay/spinner-overlay.component.ts:22\n \n \n \n \n Optional text description displayed alongside the spinner.\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-spinner-overlay\"\n\n \n \n \n \n Default value : 'ccf-spinner-overlay'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spinner-overlay/spinner-overlay.component.ts:16\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-spinner-overlay'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/spinner-overlay/spinner-overlay.component.ts:16\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\n\n/**\n * Overlay component that displays a progress spinner and\n * an optional text description.\n */\n@Component({\n selector: 'ccf-spinner-overlay',\n templateUrl: './spinner-overlay.component.html',\n styleUrls: ['./spinner-overlay.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpinnerOverlayComponent {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-spinner-overlay';\n\n /** Whether the overlay is active/showing. */\n @Input() @HostBinding('class.active') active = false;\n\n /** Optional text description displayed alongside the spinner. */\n @Input() text: string;\n}\n\n \n\n \n \n{{ text }}\n\n \n\n \n \n ./spinner-overlay.component.scss\n \n :host {\n display: flex;\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 99;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n visibility: hidden;\n opacity: 0;\n transition: visibility 0.6s, opacity 0.4s ease-in-out;\n\n mat-spinner {\n margin-bottom: 1rem;\n opacity: 0;\n transition: opacity 0.3s ease-in-out 0.3s;\n }\n\n &.active {\n pointer-events: auto;\n visibility: visible;\n opacity: 1;\n\n mat-spinner {\n opacity: 1;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ text }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SpinnerOverlayComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SpinnerOverlayModule.html":{"url":"modules/SpinnerOverlayModule.html","title":"module - SpinnerOverlayModule","body":"\n \n\n\n\n\n Modules\n SpinnerOverlayModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SpinnerOverlayModule\n\n\n\ncluster_SpinnerOverlayModule_declarations\n\n\n\ncluster_SpinnerOverlayModule_exports\n\n\n\n\nSpinnerOverlayComponent\n\nSpinnerOverlayComponent\n\n\n\nSpinnerOverlayModule\n\nSpinnerOverlayModule\n\nSpinnerOverlayModule -->\n\nSpinnerOverlayComponent->SpinnerOverlayModule\n\n\n\n\n\nSpinnerOverlayComponent \n\nSpinnerOverlayComponent \n\nSpinnerOverlayComponent -->\n\nSpinnerOverlayModule->SpinnerOverlayComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/spinner-overlay/spinner-overlay.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SpinnerOverlayComponent\n \n \n \n \n Exports\n \n \n SpinnerOverlayComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\nimport { SpinnerOverlayComponent } from './spinner-overlay.component';\n\n\n@NgModule({\n imports: [CommonModule, MatProgressSpinnerModule],\n declarations: [SpinnerOverlayComponent],\n exports: [SpinnerOverlayComponent]\n})\nexport class SpinnerOverlayModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/StartSpatialSearchFlow.html":{"url":"classes/StartSpatialSearchFlow.html","title":"class - StartSpatialSearchFlow","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n StartSpatialSearchFlow\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Start the Spatial Search flow'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StoreModule.html":{"url":"modules/StoreModule.html","title":"module - StoreModule","body":"\n \n\n\n\n\n Modules\n StoreModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/core/store/store.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { NgxsDataPluginModule } from '@ngxs-labs/data';\nimport { NgxsDispatchPluginModule } from '@ngxs-labs/dispatch-decorator';\nimport { NgxsLoggerPluginModule } from '@ngxs/logger-plugin';\nimport { NgxsModule } from '@ngxs/store';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { CallToActionState } from 'projects/ccf-shared/src/public-api';\n\nimport { environment } from '../../../environments/environment';\nimport { ColorAssignmentState } from './color-assignment/color-assignment.state';\nimport { DataState } from './data/data.state';\nimport { IconRegistryState } from './icon-registry/icon-registry.state';\nimport { ListResultsState } from './list-results/list-results.state';\nimport { SceneState } from './scene/scene.state';\nimport { SpatialSearchFilterState } from './spatial-search-filter/spatial-search-filter.state';\nimport { SpatialSearchUiState } from './spatial-search-ui/spatial-search-ui.state';\n\n\n/**\n * States shared across the entire app.\n */\nexport const ROOT_STATES = [\n GlobalConfigState,\n ColorAssignmentState,\n IconRegistryState,\n ListResultsState,\n DataState,\n SceneState,\n CallToActionState,\n SpatialSearchUiState,\n SpatialSearchFilterState\n];\n\n@NgModule({\n imports: [\n // For some strange reason the data plugin is not happy being placed after the store module!?\n NgxsDataPluginModule.forRoot(),\n\n NgxsModule.forRoot(ROOT_STATES, {\n developmentMode: !environment.production,\n selectorOptions: {\n injectContainerState: false\n }\n // Consider setting compatibility and executionStrategy\n // https://www.ngxs.io/advanced/options\n }),\n\n NgxsDispatchPluginModule.forRoot(),\n\n // Logger plugin must be last!\n NgxsLoggerPluginModule.forRoot({\n disabled: environment.production\n })\n ]\n})\nexport class StoreModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TermOccurrenceListComponent.html":{"url":"components/TermOccurrenceListComponent.html","title":"component - TermOccurrenceListComponent","body":"\n \n\n\n\n\n\n Components\n \n TermOccurrenceListComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/term-occurence-list/term-occurrence.component.ts\n\n\n\n \n Description\n \n \n Component for a dropdown menu\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-term-occurrence-list\n \n\n \n styleUrls\n ./term-occurrence.component.scss\n \n\n\n\n \n templateUrl\n ./term-occurrence.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n termList\n \n \n title\n \n \n toolTipText\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n termList\n \n \n \n \n Type : TermResult[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/term-occurence-list/term-occurrence.component.ts:20\n \n \n \n \n array that contains the terms and their counts\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/term-occurence-list/term-occurrence.component.ts:25\n \n \n \n \n Holds title for section\n\n \n \n \n \n \n \n \n \n \n toolTipText\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/term-occurence-list/term-occurrence.component.ts:30\n \n \n \n \n Text to be included in the tool tip\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-term-occurrence-list\"\n\n \n \n \n \n Default value : 'ccf-term-occurrence-list'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/term-occurence-list/term-occurrence.component.ts:15\n \n \n\n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-term-occurrence-list'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/term-occurence-list/term-occurrence.component.ts:15\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { TermResult } from '../../../core/store/spatial-search-ui/spatial-search-ui.state';\n\n/**\n * Component for a dropdown menu\n */\n@Component({\n selector: 'ccf-term-occurrence-list',\n templateUrl: './term-occurrence.component.html',\n styleUrls: ['./term-occurrence.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TermOccurrenceListComponent {\n @HostBinding('class') readonly className = 'ccf-term-occurrence-list';\n\n /**\n * array that contains the terms and their counts\n */\n @Input() termList: TermResult[] = [];\n\n /**\n * Holds title for section\n */\n @Input() title: string;\n\n /**\n * Text to be included in the tool tip\n */\n @Input() toolTipText: string;\n}\n\n \n\n \n \n {{termList.length}} {{title}}\n \n info\n \n\n\n\n \n\n \n {{ term.label }}\n {{ term.count }}\n \n \n\n\n \n\n \n \n ./term-occurrence.component.scss\n \n :host {\n padding-top: 1rem;\n .term-list-header {\n display: flex;\n justify-content: space-between;\n margin-bottom: 1rem;\n\n .title {\n font-size: .875rem;\n }\n .counter {\n font-size: 1rem;\n }\n\n .info {\n padding-right: 0;\n background: none;\n border: none;\n outline: none;\n border-radius: 0.25rem;\n transition: 0.6s;\n }\n }\n .term-list {\n overflow: auto;\n padding-left: 2rem;\n font-size: 1rem;\n .term-bloc {\n display: flex;\n justify-content: space-between;\n margin-bottom: 1rem;\n overflow: auto;\n }\n .term-line{\n padding-right: 2rem;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{termList.length}} {{title}} info {{ term.label }} {{ term.count }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TermOccurrenceListComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TermOccurrenceListModule.html":{"url":"modules/TermOccurrenceListModule.html","title":"module - TermOccurrenceListModule","body":"\n \n\n\n\n\n Modules\n TermOccurrenceListModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TermOccurrenceListModule\n\n\n\ncluster_TermOccurrenceListModule_declarations\n\n\n\ncluster_TermOccurrenceListModule_exports\n\n\n\n\nTermOccurrenceListComponent\n\nTermOccurrenceListComponent\n\n\n\nTermOccurrenceListModule\n\nTermOccurrenceListModule\n\nTermOccurrenceListModule -->\n\nTermOccurrenceListComponent->TermOccurrenceListModule\n\n\n\n\n\nTermOccurrenceListComponent \n\nTermOccurrenceListComponent \n\nTermOccurrenceListComponent -->\n\nTermOccurrenceListModule->TermOccurrenceListComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/term-occurence-list/term-occurrence.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TermOccurrenceListComponent\n \n \n \n \n Exports\n \n \n TermOccurrenceListComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { TermOccurrenceListComponent } from './term-occurrence.component';\n\n\n@NgModule({\n imports: [CommonModule, MatFormFieldModule, MatSelectModule, MatTooltipModule, MatIconModule],\n declarations: [TermOccurrenceListComponent],\n exports: [TermOccurrenceListComponent]\n})\n\nexport class TermOccurrenceListModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TermResult.html":{"url":"interfaces/TermResult.html","title":"interface - TermResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TermResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n @id\n \n \n \n \n count\n \n \n \n \n label\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n @id\n \n \n \n \n \n \n \n \n @id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n count\n \n \n \n \n \n \n \n \n count: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport { Action, Actions, ofActionDispatched, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { Filter, getOriginScene, SpatialEntity, SpatialSceneNode, SpatialSearch, TissueBlockResult } from 'ccf-database';\nimport { DataSourceService, OrganInfo } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { forkJoin, Observable } from 'rxjs';\nimport { debounceTime, mergeMap, take, tap } from 'rxjs/operators';\n\nimport { Sex } from '../../../shared/components/spatial-search-config/spatial-search-config.component';\nimport { UpdateFilter } from '../data/data.actions';\nimport { DataStateSelectors } from '../data/data.selectors';\nimport { SceneState } from '../scene/scene.state';\nimport { AddSearch } from '../spatial-search-filter/spatial-search-filter.actions';\nimport { SpatialSearchFilterSelectors } from '../spatial-search-filter/spatial-search-filter.selectors';\nimport {\n GenerateSpatialSearch,\n MoveToNode,\n ResetPosition,\n ResetRadius,\n SetExecuteSearchOnGenerate,\n SetOrgan,\n SetPosition,\n SetRadius,\n SetSex,\n StartSpatialSearchFlow,\n UpdateSpatialSearch,\n} from './spatial-search-ui.actions';\n\n\nexport interface Position {\n x: number;\n y: number;\n z: number;\n}\n\nexport interface RadiusSettings {\n min: number;\n max: number;\n defaultValue: number;\n}\n\nexport interface TermResult {\n '@id': string;\n label: string;\n count: number;\n}\n\nexport interface SpatialSearchUiModel {\n sex: Sex;\n organId?: string;\n position?: Position;\n radius?: number;\n\n defaultPosition?: Position;\n radiusSettings?: RadiusSettings;\n\n referenceOrgans?: OrganInfo[];\n organScene?: SpatialSceneNode[];\n\n spatialSearchScene?: SpatialSceneNode[];\n tissueBlocks?: TissueBlockResult[];\n anatomicalStructures?: Record;\n cellTypes?: Record;\n\n executeSearchOnGeneration: boolean;\n}\n\nclass ReallyUpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Really update spatial search data';\n}\n\n\n@State({\n name: 'spatialSearchUi',\n defaults: {\n sex: 'female',\n executeSearchOnGeneration: true\n }\n})\n@Injectable()\nexport class SpatialSearchUiState {\n @Selector([SpatialSearchUiState, SceneState.referenceOrganEntities])\n static organEntity(state: SpatialSearchUiModel, organs: SpatialEntity[]): SpatialEntity | undefined {\n const { organId, sex } = state;\n return organs.find(o => o.representation_of === organId && o.sex?.toLowerCase() === sex);\n }\n\n constructor(\n private readonly dataSource: DataSourceService,\n private readonly store: Store,\n actions$: Actions,\n private readonly ga: GoogleAnalyticsService\n ) {\n actions$.pipe(\n ofActionDispatched(UpdateSpatialSearch),\n debounceTime(500),\n tap(() => store.dispatch(ReallyUpdateSpatialSearch))\n ).subscribe();\n }\n\n @Action(StartSpatialSearchFlow)\n startSpatialSearchFlow(ctx: StateContext): Observable {\n const { sex, organId } = ctx.getState();\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', `${sex}_${shortOrgan}`);\n\n return ctx.dispatch(new SetSex(sex));\n }\n\n /**\n * Updates sex in the SpatialSearchUI and sets selected organ to undefined if not valid for the sex\n */\n @Action(SetSex)\n setSex(ctx: StateContext, { sex }: SetSex): Observable | void {\n let { organId } = ctx.getState();\n ctx.patchState({ sex });\n this.ga.event('set_sex', 'spatial_search_ui', sex);\n\n if (organId !== undefined && !this.organValidForSex(organId, sex)) {\n organId = undefined;\n }\n\n const filter = {\n ...this.store.selectSnapshot(DataStateSelectors.filter),\n spatialSearches: []\n };\n const referenceOrgans = this.store.selectSnapshot(SceneState.referenceOrgans);\n\n return this.dataSource.getOntologyTermOccurences(filter).pipe(\n take(1),\n tap((counts: Record) => {\n ctx.patchState({\n referenceOrgans: referenceOrgans.filter((o) => o.id && !o.disabled && counts[o.id] > 0)\n });\n ctx.dispatch(new SetOrgan(organId));\n })\n );\n }\n\n /**\n * Updates organId in the SpatialSearchUI\n */\n @Action(SetOrgan)\n setOrgan(ctx: StateContext, { organId }: SetOrgan): Observable | void {\n const { sex } = ctx.getState();\n ctx.patchState({ sex, organId });\n const shortOrgan = organId?.split('/').slice(-1)[0];\n this.ga.event('set_organ', 'spatial_search_ui', shortOrgan);\n\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && organId && organ.sex) {\n const { x_dimension: width, y_dimension: height, z_dimension: depth } = organ;\n const position = { x: Math.round(width / 2), y: Math.round(height / 2), z: Math.round(depth / 2) };\n const defaultRadius = Math.round(Math.max(width, height, depth) * 0.07);\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter = {\n ...globalFilter,\n sex: organ.sex,\n ontologyTerms: [organId],\n spatialSearches: []\n };\n\n return this.dataSource\n .getReferenceOrganScene(organId, filter)\n .pipe(\n take(1),\n tap((organScene: SpatialSceneNode[]) => {\n ctx.patchState({\n position,\n radius: defaultRadius,\n defaultPosition: position,\n radiusSettings: { min: Math.min(defaultRadius, 5), max: Math.floor(Math.max(width, height, depth) / 1.5), defaultValue: defaultRadius },\n organScene: getOriginScene(organ).concat(organScene)\n });\n }),\n mergeMap(() => ctx.dispatch(new UpdateSpatialSearch()))\n );\n }\n }\n\n /**\n * Updates position in the SpatialSearchUI\n */\n @Action(SetPosition)\n setPosition(ctx: StateContext, { position }: SetPosition): void {\n ctx.patchState({ position });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = position;\n this.ga.event('set_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(ResetPosition)\n resetPosition(ctx: StateContext): void {\n const { defaultPosition } = ctx.getState();\n ctx.patchState({ position: defaultPosition });\n ctx.dispatch(new UpdateSpatialSearch());\n\n const { x, y, z } = defaultPosition ?? { x: 0, y: 0, z: 0 };\n this.ga.event('reset_position', 'spatial_search_ui', `${x}_${y}_${z}`);\n }\n\n @Action(MoveToNode)\n moveToNode(ctx: StateContext, { node }: MoveToNode): Observable | void {\n const matrix = new Matrix4(node.transformMatrix);\n const [x, y, z] = matrix.getTranslation().map(n => Math.round(n * 1000));\n const position: Position = { x, y, z };\n\n return ctx.dispatch(new SetPosition(position));\n }\n\n /**\n * Updates radius in the SpatialSearchUI\n */\n @Action(SetRadius)\n setRadius(ctx: StateContext, { radius }: SetRadius): void {\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('set_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n @Action(ResetRadius)\n resetRadius(ctx: StateContext): void {\n const { radiusSettings } = ctx.getState();\n const radius = radiusSettings?.defaultValue ?? 0;\n ctx.patchState({ radius });\n ctx.dispatch(new UpdateSpatialSearch());\n\n this.ga.event('reset_radius', 'spatial_search_ui', radius.toFixed(1));\n }\n\n /**\n * Updates the spatial search data as the organ, position, and radius changes\n */\n @Action(ReallyUpdateSpatialSearch)\n updateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n if (organ && position && radius && organ.representation_of) {\n const db = this.dataSource;\n const organId = organ.representation_of;\n const globalFilter = this.store.selectSnapshot(DataStateSelectors.filter);\n const filter: Filter = {\n ...globalFilter,\n sex: organ.sex as 'Male' | 'Female',\n ontologyTerms: [organId],\n spatialSearches: [{\n ...position,\n radius: radius,\n target: organ['@id']\n }]\n };\n\n return forkJoin({\n spatialSearchScene: db.getReferenceOrganScene(organId, filter).pipe(take(1)),\n tissueBlocks: db.getTissueBlockResults(filter).pipe(take(1)),\n anatomicalStructures: db.getOntologyTermOccurences(filter).pipe(take(1)),\n cellTypes: db.getCellTypeTermOccurences(filter).pipe(take(1))\n }).pipe(\n tap((data: Partial) => ctx.patchState(data))\n );\n }\n }\n\n /**\n * Generates and adds a new spatial search then resets the ui state\n */\n @Action(GenerateSpatialSearch)\n generateSpatialSearch(ctx: StateContext): Observable | void {\n const { position, radius, sex, organId, referenceOrgans = [], executeSearchOnGeneration } = ctx.getState();\n const organ = this.store.selectSnapshot(SpatialSearchUiState.organEntity);\n const info = referenceOrgans.find(item => item.id === organId);\n // const { spatialSearches = [] } = this.store.selectSnapshot(DataStateSelectors.filter);\n\n if (position && radius && organ?.representation_of && info) {\n const search: SpatialSearch = {\n ...position,\n radius,\n target: organ['@id']\n };\n const actions: unknown[] = [new AddSearch(sex, info.name, search)];\n\n if (executeSearchOnGeneration) {\n const searches = this.store.selectSnapshot(SpatialSearchFilterSelectors.selectedSearches);\n actions.push(new UpdateFilter({\n spatialSearches: searches.concat(search)\n }));\n }\n\n this.ga.event('generate_search', 'spatial_search_ui');\n return ctx.dispatch(actions).pipe(\n tap(() => ctx.patchState({\n sex: 'female',\n organId: undefined\n }))\n );\n }\n }\n\n @Action(SetExecuteSearchOnGenerate)\n setExecuteSearchOnGenerate(ctx: StateContext, { execute }: SetExecuteSearchOnGenerate): void {\n ctx.patchState({\n executeSearchOnGeneration: execute\n });\n }\n\n /**\n * Used to determine if an organ should be listed if a certain sex is selected\n */\n private organValidForSex(organId: string, sex: Sex): boolean {\n const organs = this.store.selectSnapshot(SceneState.referenceOrgans);\n const organ = organs.find(o => o.id === organId)!;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return organ.hasSex || organ.sex === sex;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ThemingModule.html":{"url":"modules/ThemingModule.html","title":"module - ThemingModule","body":"\n \n\n\n\n\n Modules\n ThemingModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ThemingModule\n\n\n\ncluster_ThemingModule_providers\n\n\n\n\nThemingService\n\nThemingService\n\n\n\nThemingModule\n\nThemingModule\n\nThemingModule -->\n\nThemingService->ThemingModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/core/services/theming/theming.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ThemingService\n \n \n \n \n \n\n\n \n\n\n \n import { APP_BOOTSTRAP_LISTENER, NgModule } from '@angular/core';\n\nimport { ThemingService } from './theming.service';\n\n\n@NgModule({\n providers: [\n { provide: APP_BOOTSTRAP_LISTENER, useValue: ThemingService.initialize, multi: true },\n ThemingService\n ]\n})\nexport class ThemingModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ThemingService.html":{"url":"injectables/ThemingService.html","title":"injectable - ThemingService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ThemingService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/services/theming/theming.service.ts\n \n\n\n \n Description\n \n \n Manages the currently active theme.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n defaultTheme\n \n \n Private\n element\n \n \n Private\n injector\n \n \n Private\n theme\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n applyThemeClass\n \n \n getTheme\n \n \n Static\n initialize\n \n \n initialize\n \n \n resetTheme\n \n \n setTheme\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(defaultTheme: string | null)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:25\n \n \n\n \n \n Creates the theming service.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n defaultTheme\n \n \n string | null\n \n \n \n No\n \n \n \n An optional default theme.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n applyThemeClass\n \n \n \n \n \n \n \n applyThemeClass(cls: string, method: \"add\" | \"remove\")\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:83\n \n \n\n\n \n \n Adds or removes a theme class from the necessary components.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n Description\n \n \n \n \n cls\n \n string\n \n\n \n No\n \n\n \n \n\n \n The theme class.\n\n \n \n \n method\n \n \"add\" | \"remove\"\n \n\n \n No\n \n\n \n 'add'\n \n\n \n Whether to add or remove the theme.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTheme\n \n \n \n \n \n \ngetTheme()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:39\n \n \n\n\n \n \n Get the currently active theme.\n\n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Static\n initialize\n \n \n \n \n \n \n \n initialize(component: ComponentRef<>)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:21\n \n \n\n\n \n \n Initializer called during bootstrap to set up theming.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n component\n \n ComponentRef<>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n initialize\n \n \n \n \n \n \ninitialize(element: ElementRef<>, injector: Injector)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:71\n \n \n\n\n \n \n Binds theming service to a component.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n ElementRef<>\n \n\n \n No\n \n\n\n \n \n injector\n \n Injector\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetTheme\n \n \n \n \n \n \nresetTheme()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:60\n \n \n\n\n \n \n Resets the theme to the default.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setTheme\n \n \n \n \n \n \nsetTheme(theme: string)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:48\n \n \n\n\n \n \n Sets the currently active theme.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n theme\n \n string\n \n\n \n No\n \n\n\n \n The new theme class.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n defaultTheme\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:16\n \n \n\n \n \n Default theme class.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n element\n \n \n \n \n \n \n Type : ElementRef<>\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n injector\n \n \n \n \n \n \n Type : Injector\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n theme\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/theming/theming.service.ts:18\n \n \n\n \n \n Currently active theme class.\n\n \n \n\n \n \n\n\n \n\n\n \n import { OverlayContainer } from '@angular/cdk/overlay';\nimport { ComponentRef, ElementRef, Inject, Injector, Injectable, InjectionToken, Optional, Renderer2 } from '@angular/core';\n\n/** Token for specifying the default theme class. */\nexport const DEFAULT_THEME = new InjectionToken('Default theme class');\n\n/**\n * Manages the currently active theme.\n */\n@Injectable()\nexport class ThemingService {\n private element: ElementRef;\n private injector: Injector;\n /** Default theme class. */\n private defaultTheme: string;\n /** Currently active theme class. */\n private theme: string;\n\n /** Initializer called during bootstrap to set up theming. */\n static initialize(component: ComponentRef): void {\n const { injector, location } = component;\n const service = injector.get(ThemingService);\n service.initialize(location, injector);\n }\n\n /**\n * Creates the theming service.\n *\n * @param defaultTheme An optional default theme.\n */\n constructor(@Optional() @Inject(DEFAULT_THEME) defaultTheme: string | null) {\n this.defaultTheme = this.theme = defaultTheme ?? '';\n }\n\n /**\n * Get the currently active theme.\n */\n getTheme(): string {\n return this.theme;\n }\n\n /**\n * Sets the currently active theme.\n *\n * @param theme The new theme class.\n */\n setTheme(theme: string): void {\n if (theme === this.theme) {\n return;\n }\n this.applyThemeClass(this.theme, 'remove');\n this.applyThemeClass(theme);\n this.theme = theme;\n }\n\n /**\n * Resets the theme to the default.\n */\n resetTheme(): void {\n this.setTheme(this.defaultTheme);\n }\n\n\n /**\n * Binds theming service to a component.\n *\n * @param component The top level component.\n * @throws {Error} If the theming service has already been initialized.\n */\n initialize(element: ElementRef, injector: Injector): void {\n this.element = element;\n this.injector = injector;\n this.applyThemeClass(this.getTheme());\n }\n\n /**\n * Adds or removes a theme class from the necessary components.\n *\n * @param cls The theme class.\n * @param method Whether to add or remove the theme.\n */\n private applyThemeClass(cls: string, method: 'add' | 'remove' = 'add'): void {\n const { element, injector } = this;\n if (!cls || !element || !injector) {\n return;\n }\n\n const renderer = injector.get(Renderer2, null);\n if (!renderer) {\n return;\n }\n\n const root = element.nativeElement as HTMLElement;\n const overlay = injector.get(OverlayContainer, null)?.getContainerElement();\n const methodName = method === 'add' ? 'addClass' : 'removeClass';\n\n renderer[methodName](root, cls);\n if (overlay) {\n renderer[methodName](overlay, cls);\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ThumbnailCarouselComponent.html":{"url":"components/ThumbnailCarouselComponent.html","title":"component - ThumbnailCarouselComponent","body":"\n \n\n\n\n\n\n Components\n \n ThumbnailCarouselComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts\n\n\n\n \n Description\n \n \n Carousel containing sample thumbnails in expanded donor cards\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-thumbnail-carousel\n \n\n \n styleUrls\n ./thumbnail-carousel.component.scss\n \n\n\n\n \n templateUrl\n ./thumbnail-carousel.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n Readonly\n config\n \n \n Readonly\n navigation\n \n \n Readonly\n uid\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n itemId\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n data\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n linkClicked\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n prevButtonId\n \n \n nextButtonId\n \n \n \n \n \n \n\n\n\n \n Inputs\n \n \n \n \n \n data\n \n \n \n \n Type : DatasetResult[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:34\n \n \n \n \n Items to show in the carousel\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n linkClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:39\n \n \n \n \n Outputs the result whose link was clicked\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-thumbnail-carousel\"\n\n \n \n \n \n Default value : 'ccf-thumbnail-carousel'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:29\n \n \n\n \n \n Primary css class selector\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n itemId\n \n \n \n \n \n \nitemId(_index: number, item: DatasetResult)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:89\n \n \n\n\n \n \n Extract a unique identifier for an item\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n Unused\n\n \n \n \n item\n \n DatasetResult\n \n\n \n No\n \n\n\n \n The item\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n An unique identifier\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-thumbnail-carousel'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:29\n \n \n\n \n \n Primary css class selector\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n config\n \n \n \n \n \n \n Type : SwiperOptions\n\n \n \n \n \n Default value : {\n allowTouchMove: false,\n slidesOffsetBefore: 4,\n slidesOffsetAfter: 4,\n slidesPerView: 'auto',\n spaceBetween: 4,\n watchOverflow: true\n }\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:63\n \n \n\n \n \n Swiper configuration\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n navigation\n \n \n \n \n \n \n Type : NavigationOptions\n\n \n \n \n \n Default value : {\n // Normally I would have prefered referencing the elements themselves instead of using selectors\n // However in this case it does not work with angular swiper\n prevEl: '#' + this.prevButtonId,\n nextEl: '#' + this.nextButtonId\n }\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:75\n \n \n\n \n \n Navigation configuration\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n uid\n \n \n \n \n \n \n Default value : nextUid()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:44\n \n \n\n \n \n Per instance unique identifier\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n prevButtonId\n \n \n\n \n \n getprevButtonId()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:49\n \n \n \n \n HTML id for previous slide button\n\n\n \n Returns : string\n\n \n \n \n\n \n \n \n \n \n \n \n nextButtonId\n \n \n\n \n \n getnextButtonId()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts:56\n \n \n \n \n HTML id for next slide button\n\n\n \n Returns : string\n\n \n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { DatasetResult } from 'ccf-database';\nimport { SwiperOptions } from 'swiper';\nimport { NavigationOptions } from 'swiper/types';\n\n// Returns a unique identifier\nconst nextUid = (() => {\n let counter = -1;\n return () => {\n counter += 1;\n return counter;\n };\n})();\n\n\n/**\n * Carousel containing sample thumbnails in expanded donor cards\n */\n@Component({\n selector: 'ccf-thumbnail-carousel',\n templateUrl: './thumbnail-carousel.component.html',\n styleUrls: ['./thumbnail-carousel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThumbnailCarouselComponent {\n /**\n * Primary css class selector\n */\n @HostBinding('class') readonly className = 'ccf-thumbnail-carousel';\n\n /**\n * Items to show in the carousel\n */\n @Input() data: DatasetResult[];\n\n /**\n * Outputs the result whose link was clicked\n */\n @Output() readonly linkClicked = new EventEmitter();\n\n /**\n * Per instance unique identifier\n */\n readonly uid = nextUid();\n\n /**\n * HTML id for previous slide button\n */\n get prevButtonId(): string {\n return `ccf-thumbnail-carousel-prev-button-${this.uid}`;\n }\n\n /**\n * HTML id for next slide button\n */\n get nextButtonId(): string {\n return `ccf-thumbnail-carousel-next-button-${this.uid}`;\n }\n\n /**\n * Swiper configuration\n */\n readonly config: SwiperOptions = {\n allowTouchMove: false,\n slidesOffsetBefore: 4,\n slidesOffsetAfter: 4,\n slidesPerView: 'auto',\n spaceBetween: 4,\n watchOverflow: true\n };\n\n /**\n * Navigation configuration\n */\n readonly navigation: NavigationOptions = {\n // Normally I would have prefered referencing the elements themselves instead of using selectors\n // However in this case it does not work with angular swiper\n prevEl: '#' + this.prevButtonId,\n nextEl: '#' + this.nextButtonId\n };\n\n /**\n * Extract a unique identifier for an item\n *\n * @param _index Unused\n * @param item The item\n * @returns An unique identifier\n */\n itemId(_index: number, item: DatasetResult): string {\n return item.thumbnail;\n }\n}\n\n \n\n \n \n \n navigate_before\n \n\n\n\n \n \n \n \n {{ item.technology }}\n \n \n DATA\n open_in_new\n \n \n \n \n\n\n\n \n \n \n\n navigate_next\n \n\n\n \n\n \n \n ./thumbnail-carousel.component.scss\n \n :host {\n display: flex;\n\n .swiper {\n flex-grow: 1;\n padding-bottom: 0.3125rem;\n\n ::ng-deep .swiper-slide {\n width: 3.75rem;\n height: 2.8125rem;\n }\n }\n\n .prev, .next {\n display: flex;\n align-items: center;\n\n height: 2.8125rem;\n\n button {\n width: 1.5rem;\n height: 1.5rem;\n line-height: 1.5rem;\n }\n\n .fade {\n position: absolute;\n top: -0.625rem;\n left: -2rem;\n z-index: 10;\n\n width: 2rem;\n height: 2.8125rem + 0.3125rem;\n\n opacity: 1;\n transition: opacity ease-in-out 0.3s;\n\n pointer-events: none;\n }\n\n .swiper-button-disabled, .swiper-button-lock {\n cursor: default;\n pointer-events: none;\n\n .fade {\n opacity: 0;\n }\n }\n }\n\n .slide {\n position: relative;\n width: 100%;\n height: 100%;\n\n .thumbnail {\n display: flex;\n align-items: center;\n justify-content: center;\n background-size: cover;\n\n position: relative;\n width: calc(100% - 2 * 0.125rem);\n height: calc(100% - 2 * 0.125rem);\n\n border-style: solid;\n border-width: 0.125rem;\n border-radius: 0.25rem;\n\n background-origin: padding-box;\n background-clip: padding-box;\n\n font-size: 0.875rem;\n font-weight: bold;\n\n &:after {\n content: \"\";\n\n position: absolute;\n bottom: -0.125rem;\n left: -0.125rem;\n width: 0.125rem;\n height: 0.125rem;\n }\n }\n\n .link {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n\n opacity: 0;\n transition: opacity ease-in-out 0.3s;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);\n\n font-size: 0.75rem;\n line-height: 0.75rem;\n\n &,\n &:link,\n &:visited,\n &:hover,\n &:focus,\n &:active {\n cursor: pointer;\n text-decoration: none;\n }\n }\n\n &:hover .link {\n opacity: 1;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' navigate_before {{ item.technology }} DATA open_in_new navigate_next '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ThumbnailCarouselComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ThumbnailCarouselModule.html":{"url":"modules/ThumbnailCarouselModule.html","title":"module - ThumbnailCarouselModule","body":"\n \n\n\n\n\n Modules\n ThumbnailCarouselModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ThumbnailCarouselModule\n\n\n\ncluster_ThumbnailCarouselModule_exports\n\n\n\ncluster_ThumbnailCarouselModule_declarations\n\n\n\n\nThumbnailCarouselComponent\n\nThumbnailCarouselComponent\n\n\n\nThumbnailCarouselModule\n\nThumbnailCarouselModule\n\nThumbnailCarouselModule -->\n\nThumbnailCarouselComponent->ThumbnailCarouselModule\n\n\n\n\n\nThumbnailCarouselComponent \n\nThumbnailCarouselComponent \n\nThumbnailCarouselComponent -->\n\nThumbnailCarouselModule->ThumbnailCarouselComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ThumbnailCarouselComponent\n \n \n \n \n Exports\n \n \n ThumbnailCarouselComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { SwiperModule } from 'swiper/angular';\nimport { Navigation, Swiper } from 'swiper/core';\n\nimport { ThumbnailCarouselComponent } from './thumbnail-carousel.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatButtonModule,\n MatIconModule,\n\n SwiperModule\n ],\n declarations: [ThumbnailCarouselComponent],\n exports: [ThumbnailCarouselComponent]\n})\nexport class ThumbnailCarouselModule {\n constructor() {\n // Install swiper modules\n Swiper.use([Navigation]);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TissueBlockListComponent.html":{"url":"components/TissueBlockListComponent.html","title":"component - TissueBlockListComponent","body":"\n \n\n\n\n\n\n Components\n \n TissueBlockListComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/tissue-block-list/tissue-block-list.component.ts\n\n\n\n \n Description\n \n \n Tissue block list in spatial search UI\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-tissue-block-list\n \n\n \n styleUrls\n ./tissue-block-list.component.scss\n \n\n\n\n \n templateUrl\n ./tissue-block-list.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n tissueBlocks\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n tissueBlocks\n \n \n \n \n Type : TissueBlockResult[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/tissue-block-list/tissue-block-list.component.ts:19\n \n \n \n \n Tissue blocks to be displayed\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-tissue-block-list\"\n\n \n \n \n \n Default value : 'ccf-tissue-block-list'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/tissue-block-list/tissue-block-list.component.ts:16\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-tissue-block-list'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/tissue-block-list/tissue-block-list.component.ts:16\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { TissueBlockResult } from 'ccf-database';\n\n\n/**\n * Tissue block list in spatial search UI\n */\n@Component({\n selector: 'ccf-tissue-block-list',\n templateUrl: './tissue-block-list.component.html',\n styleUrls: ['./tissue-block-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TissueBlockListComponent {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-tissue-block-list';\n\n /** Tissue blocks to be displayed */\n @Input() tissueBlocks: TissueBlockResult[] = [];\n\n}\n\n \n\n \n \n {{tissueBlocks.length}} Tissue Blocks\n \n info\n \n\n\n\n \n person\n\n \n {{ tissueBlock.donor.label }}\n {{ tissueBlock.donor.description }}\n \n \n\n\n \n\n \n \n ./tissue-block-list.component.scss\n \n :host { \n .tissue-block-header {\n display: flex;\n justify-content: space-between;\n margin-bottom: 1rem;\n\n .title {\n font-size: .875rem;\n }\n\n .info {\n padding: 0;\n background: none;\n border: none;\n outline: none;\n border-radius: 0.25rem;\n transition: 0.6s;\n }\n }\n\n .tissue-list {\n overflow: auto;\n }\n\n .donor {\n min-height: 3rem;\n padding-left: 0.5rem;\n display: flex;\n font-size: 0.75rem;\n line-height: 1rem;\n align-items: center;\n flex-grow: 1;\n height: 2.5rem;\n width: 22rem;\n padding: 0.5rem;\n box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);\n cursor: pointer;\n margin-right: 1rem;\n margin-bottom: .5rem;\n\n .icon {\n margin-right: 0.5rem;\n }\n\n .donor-info {\n .title {\n font-weight: 600;\n }\n\n .description {\n width: 17rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{tissueBlocks.length}} Tissue Blocks info person {{ tissueBlock.donor.label }} {{ tissueBlock.donor.description }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TissueBlockListComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TissueBlockListModule.html":{"url":"modules/TissueBlockListModule.html","title":"module - TissueBlockListModule","body":"\n \n\n\n\n\n Modules\n TissueBlockListModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TissueBlockListModule\n\n\n\ncluster_TissueBlockListModule_declarations\n\n\n\ncluster_TissueBlockListModule_exports\n\n\n\n\nTissueBlockListComponent\n\nTissueBlockListComponent\n\n\n\nTissueBlockListModule\n\nTissueBlockListModule\n\nTissueBlockListModule -->\n\nTissueBlockListComponent->TissueBlockListModule\n\n\n\n\n\nTissueBlockListComponent \n\nTissueBlockListComponent \n\nTissueBlockListComponent -->\n\nTissueBlockListModule->TissueBlockListComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/tissue-block-list/tissue-block-list.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TissueBlockListComponent\n \n \n \n \n Exports\n \n \n TissueBlockListComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { TissueBlockListComponent } from './tissue-block-list.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatIconModule,\n MatTooltipModule\n ],\n declarations: [TissueBlockListComponent],\n exports: [TissueBlockListComponent]\n})\nexport class TissueBlockListModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TissueSectionVisComponent.html":{"url":"components/TissueSectionVisComponent.html","title":"component - TissueSectionVisComponent","body":"\n \n\n\n\n\n\n Components\n \n TissueSectionVisComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/modules/results-browser/tissue-section-vis/tissue-section-vis.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-tissue-section-vis\n \n\n \n styleUrls\n ./tissue-section-vis.component.scss\n \n\n\n\n \n templateUrl\n ./tissue-section-vis.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n tissueSectionExists\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n tissueSections\n \n \n totalTissueSections\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n tissueSections\n \n \n \n \n Type : TissueSectionResult[]\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/tissue-section-vis/tissue-section-vis.component.ts:18\n \n \n \n \n Tissue section data, used to determine which tissues to color on the graph\n\n \n \n \n \n \n \n \n \n \n totalTissueSections\n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/tissue-section-vis/tissue-section-vis.component.ts:15\n \n \n \n \n The total numebr of tissue sections, used for end label\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-tissue-section-vis\"\n\n \n \n \n \n Default value : 'ccf-tissue-section-vis'\n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/tissue-section-vis/tissue-section-vis.component.ts:12\n \n \n\n \n \n HTML Class Name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n tissueSectionExists\n \n \n \n \n \n \ntissueSectionExists(sectionNumber: number)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/tissue-section-vis/tissue-section-vis.component.ts:21\n \n \n\n\n \n \n Returns whether or not the given section number exists in the tissueSection array\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sectionNumber\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-tissue-section-vis'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/modules/results-browser/tissue-section-vis/tissue-section-vis.component.ts:12\n \n \n\n \n \n HTML Class Name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { TissueSectionResult } from 'ccf-database';\n\n@Component({\n selector: 'ccf-tissue-section-vis',\n templateUrl: './tissue-section-vis.component.html',\n styleUrls: ['./tissue-section-vis.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TissueSectionVisComponent {\n /** HTML Class Name */\n @HostBinding('class') readonly clsName = 'ccf-tissue-section-vis';\n\n /** The total numebr of tissue sections, used for end label */\n @Input() totalTissueSections!: number;\n\n /** Tissue section data, used to determine which tissues to color on the graph */\n @Input() tissueSections!: TissueSectionResult[];\n\n /** Returns whether or not the given section number exists in the tissueSection array */\n tissueSectionExists(sectionNumber: number): boolean {\n if (this.tissueSections.filter(section => section.sectionNumber === sectionNumber).length > 0) {\n return true;\n }\n\n return false;\n }\n}\n\n \n\n \n 0\n\n \n \n\n{{ totalTissueSections }}\n \n\n \n \n ./tissue-section-vis.component.scss\n \n :host {\n width: 100%;\n height: 2.5rem;\n padding: .5rem;\n padding-left: 1rem;\n padding-right: 1rem;\n display: flex;\n\n .container {\n margin-right: .5rem;\n margin-left: .5rem;\n flex-grow: 1;\n display: flex;\n position: relative;\n justify-content: space-evenly;\n\n .line-tick {\n height: 100%;\n width: 1px;\n z-index: 2;\n }\n\n .x-axis {\n width: 100%;\n height: 2px;\n position: absolute;\n top: calc(50% - 1px);\n right: 0;\n z-index: 1;\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '0 {{ totalTissueSections }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TissueSectionVisComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TissueSectionVisModule.html":{"url":"modules/TissueSectionVisModule.html","title":"module - TissueSectionVisModule","body":"\n \n\n\n\n\n Modules\n TissueSectionVisModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TissueSectionVisModule\n\n\n\ncluster_TissueSectionVisModule_declarations\n\n\n\ncluster_TissueSectionVisModule_exports\n\n\n\n\nTissueSectionVisComponent\n\nTissueSectionVisComponent\n\n\n\nTissueSectionVisModule\n\nTissueSectionVisModule\n\nTissueSectionVisModule -->\n\nTissueSectionVisComponent->TissueSectionVisModule\n\n\n\n\n\nTissueSectionVisComponent \n\nTissueSectionVisComponent \n\nTissueSectionVisComponent -->\n\nTissueSectionVisModule->TissueSectionVisComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/modules/results-browser/tissue-section-vis/tissue-section-vis.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TissueSectionVisComponent\n \n \n \n \n Exports\n \n \n TissueSectionVisComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TissueSectionVisComponent } from './tissue-section-vis.component';\n\n\n\n@NgModule({\n declarations: [TissueSectionVisComponent],\n imports: [CommonModule],\n exports: [TissueSectionVisComponent]\n})\nexport class TissueSectionVisModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ToggleButtonComponent.html":{"url":"components/ToggleButtonComponent.html","title":"component - ToggleButtonComponent","body":"\n \n\n\n\n\n\n Components\n \n ToggleButtonComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts\n\n\n\n \n Description\n \n \n Implements open/close button for the side drawers.\n\n \n\n\n \n Implements\n \n \n AfterViewInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-drawer-toggle-button\n \n\n \n styleUrls\n ./toggle-button.component.scss\n \n\n\n\n \n templateUrl\n ./toggle-button.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n Private\n opened\n \n \n Private\n position\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleMessage\n \n \n ngAfterViewInit\n \n \n ngOnDestroy\n \n \n toggle\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n class.ccf-drawer-toggle-button-end\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n classEnd\n \n \n icon\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(drawer: DrawerComponent, messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:42\n \n \n\n \n \n Creates an instance of toggle button component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n drawer\n \n \n DrawerComponent\n \n \n \n No\n \n \n \n The owning side drawer.\n\n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n Service used to send and receive event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-toggle-button\"\n\n \n \n \n \n Default value : 'ccf-drawer-toggle-button'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:19\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n class.ccf-drawer-toggle-button-end\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:22\n \n \n\n \n \n Whether this button is attach to a drawer in position 'end'.\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleMessage\n \n \n \n \n \n \nhandleMessage(msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:85\n \n \n\n\n \n \n Process an event message.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to be run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngAfterViewInit\n \n \n \n \n \n \nngAfterViewInit()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:65\n \n \n\n\n \n \n Initializes this component.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:75\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n toggle\n \n \n \n \n \n \ntoggle()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:97\n \n \n\n\n \n \n Updates the drawer state.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-toggle-button'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:19\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n opened\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:40\n \n \n\n \n \n Whether the owning drawer is opened.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n position\n \n \n \n \n \n \n Type : \"start\" | \"end\"\n\n \n \n \n \n Default value : 'start'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:38\n \n \n\n \n \n Position of the owning side drawer.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:42\n \n \n\n \n \n Subscriptions managed by this component.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n classEnd\n \n \n\n \n \n getclassEnd()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:22\n \n \n \n \n Whether this button is attach to a drawer in position 'end'.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n \n \n \n \n \n icon\n \n \n\n \n \n geticon()\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:27\n \n \n \n \n Gets the name of the icon to display.\n\n\n \n Returns : string\n\n \n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, HostBinding, AfterViewInit } from '@angular/core';\n\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageService } from '../messages';\nimport { Subscription } from 'rxjs';\n\n\n/**\n * Implements open/close button for the side drawers.\n */\n@Component({\n selector: 'ccf-drawer-toggle-button',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToggleButtonComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-toggle-button';\n /** Whether this button is attach to a drawer in position 'end'. */\n @HostBinding('class.ccf-drawer-toggle-button-end') // eslint-disable-line\n get classEnd(): boolean {\n return this.position === 'end';\n }\n\n /** Gets the name of the icon to display. */\n get icon(): string {\n let expand = 'arrow_right';\n let collapse = 'arrow_left';\n if (this.position === 'end') {\n ([expand, collapse] = [collapse, expand]);\n }\n\n return this.opened ? collapse : expand;\n }\n\n /** Position of the owning side drawer. */\n private position: 'start' | 'end' = 'start';\n /** Whether the owning drawer is opened. */\n private opened = false;\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of toggle button component.\n *\n * @param drawer The owning side drawer.\n * @param messageService Service used to send and receive event messages.\n * @param cdr The change detector reference.\n */\n constructor(private drawer: DrawerComponent,\n messageService: MessageService,\n private cdr: ChangeDetectorRef) {\n const channel = messageService.connect(this);\n this.subscriptions.add(channel.getMessagesFromSource(drawer).subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Initializes this component.\n */\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.position = this.drawer.position;\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Process an event message.\n *\n * @param msg The event.\n * @returns true if change detection needs to be run.\n */\n handleMessage(msg: Message): boolean {\n if (msg.payload.type === 'drawer-toggled') {\n this.opened = msg.payload.opened;\n return true;\n }\n\n return false;\n }\n\n /**\n * Updates the drawer state.\n */\n toggle(): void {\n const drawer = this.drawer;\n const { opened, expanded } = drawer;\n if (opened) {\n if (expanded) {\n drawer.closeExpanded();\n } else {\n drawer.close();\n }\n } else {\n drawer.open();\n }\n }\n}\n\n \n\n \n \n {{ icon }}\n\n\n \n\n \n \n ./toggle-button.component.scss\n \n :host {\n position: absolute;\n top: calc(50% - 2.0625rem);\n right: -1.0625rem;\n width: 1.0625rem;\n height: 3rem;\n border-radius: 0rem 0.25rem 0.25rem 0rem;\n cursor: pointer;\n display: flex;\n align-items: center;\n transition: 0.6s;\n\n &.ccf-drawer-toggle-button-end {\n right: unset;\n left: calc(-1rem - 1px);\n border-radius: 0.25rem 0rem 0rem 0.25rem;\n }\n\n .expand-collapse-icon {\n position: relative;\n right: 0.25rem;\n transition: all 0.5s;\n }\n\n &.ccf-drawer-toggle-button-end .expand-collapse-icon {\n right: unset;\n left: -0.25rem;\n }\n}\n\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ icon }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ToggleButtonComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateFilter.html":{"url":"classes/UpdateFilter.html","title":"class - UpdateFilter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateFilter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/data/data.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(filter: Partial)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/data/data.actions.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n \n Partial\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[DataState] Update filter'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/data/data.actions.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Filter } from 'ccf-database';\n\nexport class UpdateFilter {\n static readonly type = '[DataState] Update filter';\n\n constructor(readonly filter: Partial) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateSpatialSearch.html":{"url":"classes/UpdateSpatialSearch.html","title":"class - UpdateSpatialSearch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateSpatialSearch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[SpatialSearchUi] Update spatial search data'\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts:46\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SpatialSceneNode } from 'ccf-body-ui';\n\nexport class StartSpatialSearchFlow {\n static readonly type = '[SpatialSearchUi] Start the Spatial Search flow';\n}\n\nexport class SetSex {\n static readonly type = '[SpatialSearchUi] Set sex';\n\n constructor(readonly sex: 'male' | 'female') { }\n}\n\nexport class SetOrgan {\n static readonly type = '[SpatialSearchUi] Set organ';\n\n constructor(readonly organId: string | undefined) { }\n}\n\nexport class SetPosition {\n static readonly type = '[SpatialSearchUi] Set position';\n\n constructor(readonly position: { x: number; y: number; z: number }) { }\n}\n\nexport class MoveToNode {\n static readonly type = '[SpatialSearchUi] Start moving the position to a scene node';\n\n constructor(readonly node: SpatialSceneNode) { }\n}\n\nexport class ResetPosition {\n static readonly type = '[SpatialSearchUi] Reset position';\n}\n\nexport class SetRadius {\n static readonly type = '[SpatialSearchUi] Set radius';\n\n constructor(readonly radius: number) { }\n}\n\nexport class ResetRadius {\n static readonly type = '[SpatialSearchUi] Reset radius';\n}\n\nexport class UpdateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Update spatial search data';\n}\n\nexport class GenerateSpatialSearch {\n static readonly type = '[SpatialSearchUi] Generate and add a spatial search';\n}\n\nexport class SetExecuteSearchOnGenerate {\n static readonly type = '[SpatialSearchUi] Set execute search on generate';\n\n constructor(readonly execute = true) { }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ViewerComponent.html":{"url":"components/ViewerComponent.html","title":"component - ViewerComponent","body":"\n \n\n\n\n\n\n Components\n \n ViewerComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts\n\n\n\n \n Description\n \n \n Viewer for tissue samples\n\n \n\n\n \n Implements\n \n \n OnChanges\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-viewer\n \n\n \n styleUrls\n ./viewer.component.scss\n \n\n\n\n \n templateUrl\n ./viewer.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n className\n \n \n loading\n \n \n safeUrl\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngOnChanges\n \n \n Private\n updateUrl\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n url\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n closed\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(sanitizer: DomSanitizer)\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:29\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sanitizer\n \n \n DomSanitizer\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n url\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:19\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n closed\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:21\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-viewer'\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:17\n \n \n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngOnChanges\n \n \n \n \n \n \nngOnChanges(changes: SimpleChanges)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n changes\n \n SimpleChanges\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n updateUrl\n \n \n \n \n \n \n \n updateUrl()\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:39\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-viewer'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n loading\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n safeUrl\n \n \n \n \n \n \n Type : SafeResourceUrl | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts:29\n \n \n\n \n \n Sanitized url\nNOTE: Never use a getter for this property! It will cause the iframe to reload constantly.\n\n \n \n\n \n \n\n\n\n\n\n \n import {\n ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnChanges, Output, SimpleChanges,\n} from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n\n/**\n * Viewer for tissue samples\n */\n@Component({\n selector: 'ccf-viewer',\n templateUrl: './viewer.component.html',\n styleUrls: ['./viewer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ViewerComponent implements OnChanges {\n @HostBinding('class') className = 'ccf-viewer';\n\n @Input() url = '';\n\n @Output() readonly closed = new EventEmitter();\n\n loading = true;\n\n /**\n * Sanitized url\n * NOTE: Never use a getter for this property! It will cause the iframe to reload constantly.\n */\n safeUrl: SafeResourceUrl | null = null;\n\n constructor(private readonly sanitizer: DomSanitizer) { }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('url' in changes) {\n this.updateUrl();\n }\n }\n\n private updateUrl(): void {\n const { sanitizer, url } = this;\n this.safeUrl = null;\n if (url) {\n this.safeUrl = sanitizer.bypassSecurityTrustResourceUrl(url);\n this.loading = true;\n }\n }\n}\n\n \n\n \n \n \n launch\n Open in Portal\n \n \n clear\n \n\n\n\n \n Loading External Site\n\n\n\n\n\n \n\n \n \n ./viewer.component.scss\n \n :host {\n display: block;\n\n .toolbar {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n\n width: 100%;\n height: 1.5rem;\n\n .launch {\n margin-right: 3.5rem;\n\n &.mat-button-disabled {\n cursor: not-allowed;\n }\n\n .icon {\n margin-right: 0.25rem;\n }\n }\n\n .close {\n min-width: 0;\n padding: 0;\n line-height: 1.5rem;\n border-radius: 0;\n }\n }\n\n .overlay {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n position: absolute;\n top: 1.5rem;\n bottom: 0;\n left: 0;\n right: 0;\n\n .spinner {\n margin-bottom: 0.5rem;\n }\n }\n\n .frame {\n width: 100%;\n height: 100%;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' launch Open in Portal clear Loading External Site'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'CheckboxComponent', 'selector': 'ccf-checkbox'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DonorCardComponent', 'selector': 'ccf-donor-card'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'DropdownComponent', 'selector': 'ccf-dropdown'},{'name': 'DualSliderComponent', 'selector': 'ccf-dual-slider'},{'name': 'FiltersContentComponent', 'selector': 'ccf-filters-content'},{'name': 'FiltersPopoverComponent', 'selector': 'ccf-filters-popover'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'OntologySearchComponent', 'selector': 'ccf-ontology-search'},{'name': 'OntologySelectionComponent', 'selector': 'ccf-ontology-selection'},{'name': 'OntologyTreeComponent', 'selector': 'ccf-ontology-tree'},{'name': 'ResultsBrowserComponent', 'selector': 'ccf-results-browser'},{'name': 'RunSpatialSearchComponent', 'selector': 'ccf-run-spatial-search'},{'name': 'SpatialSearchConfigBehaviorComponent', 'selector': 'ccf-spatial-search-config-behavior'},{'name': 'SpatialSearchConfigComponent', 'selector': 'ccf-spatial-search-config'},{'name': 'SpatialSearchKeyboardUIBehaviorComponent', 'selector': 'ccf-spatial-search-keyboard-ui-behavior'},{'name': 'SpatialSearchKeyboardUIComponent', 'selector': 'ccf-spatial-search-keyboard-ui'},{'name': 'SpatialSearchUiBehaviorComponent', 'selector': 'ccf-spatial-search-ui-behavior'},{'name': 'SpatialSearchUiComponent', 'selector': 'ccf-spatial-search-ui'},{'name': 'SpinnerOverlayComponent', 'selector': 'ccf-spinner-overlay'},{'name': 'TermOccurrenceListComponent', 'selector': 'ccf-term-occurrence-list'},{'name': 'ThumbnailCarouselComponent', 'selector': 'ccf-thumbnail-carousel'},{'name': 'TissueBlockListComponent', 'selector': 'ccf-tissue-block-list'},{'name': 'TissueSectionVisComponent', 'selector': 'ccf-tissue-section-vis'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'ViewerComponent', 'selector': 'ccf-viewer'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ViewerComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ViewerModule.html":{"url":"modules/ViewerModule.html","title":"module - ViewerModule","body":"\n \n\n\n\n\n Modules\n ViewerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ViewerModule\n\n\n\ncluster_ViewerModule_declarations\n\n\n\ncluster_ViewerModule_exports\n\n\n\n\nViewerComponent\n\nViewerComponent\n\n\n\nViewerModule\n\nViewerModule\n\nViewerModule -->\n\nViewerComponent->ViewerModule\n\n\n\n\n\nViewerComponent \n\nViewerComponent \n\nViewerComponent -->\n\nViewerModule->ViewerComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-eui/src/app/shared/components/viewer/viewer.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ViewerComponent\n \n \n \n \n Exports\n \n \n ViewerComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\nimport { ViewerComponent } from './viewer.component';\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatButtonModule,\n MatIconModule,\n MatProgressSpinnerModule\n ],\n declarations: [ViewerComponent],\n exports: [ViewerComponent]\n})\nexport class ViewerModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/WorkerDataSourceService.html":{"url":"injectables/WorkerDataSourceService.html","title":"injectable - WorkerDataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n WorkerDataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-eui/src/app/core/services/data-source/worker-data-source.service.ts\n \n\n\n\n \n Extends\n \n \n WorkerCCFDatabaseDataSourceService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n createWorker\n \n \n Private\n getWorkerUrl\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(globalConfig: GlobalConfigState, locator: LocationStrategy)\n \n \n \n \n Defined in projects/ccf-eui/src/app/core/services/data-source/worker-data-source.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n locator\n \n \n LocationStrategy\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n createWorker\n \n \n \n \n \n \n \n createWorker(_config: CCFDatabaseOptions)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/data-source/worker-data-source.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Worker\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getWorkerUrl\n \n \n \n \n \n \n \n getWorkerUrl(directImport: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-eui/src/app/core/services/data-source/worker-data-source.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n directImport\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string | URL\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LocationStrategy } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { CCFDatabaseOptions } from 'ccf-database';\nimport { GlobalConfigState, WorkerCCFDatabaseDataSourceService } from 'ccf-shared';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WorkerDataSourceService extends WorkerCCFDatabaseDataSourceService {\n constructor(\n globalConfig: GlobalConfigState,\n private readonly locator: LocationStrategy\n ) {\n super(globalConfig);\n }\n\n protected createWorker(_config: CCFDatabaseOptions): Worker {\n const url = this.getWorkerUrl(true);\n return new Worker(url, { type: 'module' });\n }\n\n private getWorkerUrl(directImport: boolean): string | URL {\n if (directImport) {\n return new URL('./data-source.worker', import.meta.url);\n }\n\n const externalUrl = this.locator.prepareExternalUrl('0-es2015.worker.js');\n const codeBlob = new Blob(\n [`importScripts('${externalUrl}')`],\n { type: 'application/javascript' }\n );\n\n return URL.createObjectURL(codeBlob);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.2 - 2023-07-12\nAdded in 3.7.2\n\nClient side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1\n\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-eui/src/app/app-web-component.component.ts\n \n component\n AppWebComponent\n \n 0 %\n (0/16)\n \n \n \n \n \n projects/ccf-eui/src/app/app-web-component.component.ts\n \n function\n parseDataSources\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-eui/src/app/app.component.ts\n \n component\n AppComponent\n \n 42 %\n (14/33)\n \n \n \n \n \n projects/ccf-eui/src/app/app.component.ts\n \n interface\n AppOptions\n \n 0 %\n (0/6)\n \n \n \n \n \n projects/ccf-eui/src/app/core/header/header.component.ts\n \n component\n HeaderComponent\n \n 75 %\n (6/8)\n \n \n \n \n \n projects/ccf-eui/src/app/core/models/flat-node.ts\n \n class\n FlatNode\n \n 50 %\n (3/6)\n \n \n \n \n \n projects/ccf-eui/src/app/core/models/list-result.ts\n \n interface\n ListResult\n \n 0 %\n (0/5)\n \n \n \n \n \n projects/ccf-eui/src/app/core/models/ontology-selection.ts\n \n interface\n OntologySelection\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/app-root-overlay/app-root-overlay.service.ts\n \n injectable\n AppRootOverlayContainer\n \n 0 %\n (0/6)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/data-source/data-source.service.ts\n \n injectable\n DelegateDataSourceService\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/data-source/data-source.service.ts\n \n interface\n DelegateDataSourceOptions\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/data-source/data-source.worker.ts\n \n variable\n database\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/data-source/worker-data-source.service.ts\n \n injectable\n WorkerDataSourceService\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts\n \n injectable\n OntologySearchService\n \n 72 %\n (8/11)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/ontology-search/ontology-search.service.ts\n \n interface\n SearchResult\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/theming/theming.service.ts\n \n injectable\n ThemingService\n \n 83 %\n (10/12)\n \n \n \n \n \n projects/ccf-eui/src/app/core/services/theming/theming.service.ts\n \n variable\n DEFAULT_THEME\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/action-as-fn.ts\n \n function\n actionAsFn\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts\n \n injectable\n ColorAssignmentState\n \n 12 %\n (1/8)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts\n \n interface\n Color\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts\n \n interface\n ColorAssignmentStateModel\n \n 0 %\n (0/5)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts\n \n variable\n DEFAULT_COLOR_PALETTE\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.actions.ts\n \n class\n UpdateFilter\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.selectors.ts\n \n class\n DataStateSelectors\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n injectable\n DataState\n \n 85 %\n (36/42)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n interface\n DataStateModel\n \n 33 %\n (2/6)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n function\n allCompleted\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n function\n queryData\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n function\n sendCompletedTo\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n variable\n DEFAULT_FILTER\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/icon-registry/default-icons.ts\n \n interface\n DefaultIconDefinition\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/icon-registry/default-icons.ts\n \n variable\n DEFAULT_ICONS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n injectable\n IconRegistryState\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n interface\n IconDefinition\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts\n \n injectable\n ListResultsState\n \n 50 %\n (6/12)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/list-results/list-results.state.ts\n \n interface\n ListResultsStateModel\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/scene/scene.state.ts\n \n injectable\n SceneState\n \n 68 %\n (13/19)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/scene/scene.state.ts\n \n interface\n SceneStateModel\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/scene/scene.state.ts\n \n variable\n DEFAULT_SELECTED_ORGANS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts\n \n class\n AddSearch\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts\n \n class\n RemoveSearch\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.actions.ts\n \n class\n SetSelectedSearches\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.selectors.ts\n \n class\n SpatialSearchFilterSelectors\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts\n \n injectable\n SpatialSearchFilterState\n \n 0 %\n (0/7)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts\n \n interface\n SpatialSearchFilterItem\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n GenerateSpatialSearch\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n MoveToNode\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n ResetPosition\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n ResetRadius\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n SetExecuteSearchOnGenerate\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n SetOrgan\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n SetPosition\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n SetRadius\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n SetSex\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n StartSpatialSearchFlow\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.actions.ts\n \n class\n UpdateSpatialSearch\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.selectors.ts\n \n class\n SpatialSearchUiSelectors\n \n 0 %\n (0/19)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n class\n ReallyUpdateSpatialSearch\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n injectable\n SpatialSearchUiState\n \n 46 %\n (7/15)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n interface\n Position\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n interface\n RadiusSettings\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n interface\n SpatialSearchUiModel\n \n 0 %\n (0/14)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-ui/spatial-search-ui.state.ts\n \n interface\n TermResult\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/store.module.ts\n \n variable\n ROOT_STATES\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/filters/filters-content/filters-content.component.ts\n \n component\n FiltersContentComponent\n \n 100 %\n (17/17)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/filters/filters-popover/filters-popover.component.ts\n \n component\n FiltersPopoverComponent\n \n 100 %\n (13/13)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-search/ontology-search.component.ts\n \n component\n OntologySearchComponent\n \n 92 %\n (12/13)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-selection/ontology-selection.component.ts\n \n component\n OntologySelectionComponent\n \n 76 %\n (10/13)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-tree/ontology-tree.component.ts\n \n component\n OntologyTreeComponent\n \n 86 %\n (32/37)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-tree/ontology-tree.component.ts\n \n variable\n getLevel\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-tree/ontology-tree.component.ts\n \n variable\n isExpandable\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/results-browser/donor-card/donor-card.component.ts\n \n component\n DonorCardComponent\n \n 93 %\n (14/15)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/results-browser/results-browser/results-browser.component.ts\n \n component\n ResultsBrowserComponent\n \n 66 %\n (12/18)\n \n \n \n \n \n projects/ccf-eui/src/app/modules/results-browser/tissue-section-vis/tissue-section-vis.component.ts\n \n component\n TissueSectionVisComponent\n \n 83 %\n (5/6)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/checkbox/checkbox.component.ts\n \n component\n CheckboxComponent\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts\n \n component\n ContainerComponent\n \n 100 %\n (13/13)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts\n \n function\n throwDuplicateDrawersError\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/content/content.component.ts\n \n component\n ContentComponent\n \n 100 %\n (18/18)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n component\n DrawerComponent\n \n 95 %\n (42/44)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n class\n InitializationState\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n variable\n EXPAND_COLLAPSE_PARAMS_DEFAULT\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n interface\n ContentContainerChanged\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerContainersChanged\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerInitialized\n \n 100 %\n (2/2)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerToggled\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n variable\n MessageService\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts\n \n component\n ToggleButtonComponent\n \n 100 %\n (12/12)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/dropdown/dropdown.component.ts\n \n component\n DropdownComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/dual-slider/dual-slider.component.ts\n \n component\n DualSliderComponent\n \n 100 %\n (26/26)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/run-spatial-search/run-spatial-search.component.ts\n \n component\n RunSpatialSearchComponent\n \n 80 %\n (4/5)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-config-behavior/spatial-search-config-behavior.component.ts\n \n component\n SpatialSearchConfigBehaviorComponent\n \n 0 %\n (0/16)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts\n \n component\n SpatialSearchConfigComponent\n \n 81 %\n (9/11)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui-behavior/spatial-search-keyboard-ui-behavior.component.ts\n \n component\n SpatialSearchKeyboardUIBehaviorComponent\n \n 100 %\n (17/17)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-keyboard-ui/spatial-search-keyboard-ui.component.ts\n \n component\n SpatialSearchKeyboardUIComponent\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-ui-behavior/spatial-search-ui-behavior.component.ts\n \n component\n SpatialSearchUiBehaviorComponent\n \n 29 %\n (8/27)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-ui/spatial-search-ui.component.ts\n \n component\n SpatialSearchUiComponent\n \n 100 %\n (24/24)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/spinner-overlay/spinner-overlay.component.ts\n \n component\n SpinnerOverlayComponent\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/term-occurence-list/term-occurrence.component.ts\n \n component\n TermOccurrenceListComponent\n \n 66 %\n (4/6)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts\n \n component\n ThumbnailCarouselComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts\n \n variable\n nextUid\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/tissue-block-list/tissue-block-list.component.ts\n \n component\n TissueBlockListComponent\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/viewer/viewer.component.ts\n \n component\n ViewerComponent\n \n 20 %\n (2/10)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n class\n MessageChannel\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n injectable\n MessageService\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n interface\n Message\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n interface\n MessageServiceConfig\n \n 100 %\n (2/2)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n variable\n MESSAGE_SERVICE_CONFIG\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n variable\n MESSAGE_SERVICE_DEFAULT_CONFIG\n \n 100 %\n (1/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n object-hash : ^3.0.0\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/enumerations.html":{"url":"miscellaneous/enumerations.html","title":"miscellaneous-enumerations - enumerations","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Enumerations\n\n\n\n Index\n \n \n \n \n \n \n DataQueryState   (projects/.../data.state.ts)\n \n \n \n \n \n \n\n\n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n \n \n \n \n \n DataQueryState\n \n \n \n \n Current state of data queries.\n\n \n \n \n \n  Running\n \n \n \n \n Value : running\n \n \n \n \n  Completed\n \n \n \n \n Value : completed\n \n \n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n actionAsFn   (projects/.../action-as-fn.ts)\n \n \n allCompleted   (projects/.../data.state.ts)\n \n \n parseDataSources   (projects/.../app-web-component.component.ts)\n \n \n queryData   (projects/.../data.state.ts)\n \n \n sendCompletedTo   (projects/.../data.state.ts)\n \n \n throwDuplicateDrawersError   (projects/.../container.component.ts)\n \n \n \n \n \n \n\n\n projects/ccf-eui/src/app/core/store/action-as-fn.ts\n \n \n \n \n \n \n \n actionAsFn\n \n \n \n \n \n \nactionAsFn(type)\n \n \n\n\n\n\n \n \n Small utility for creating callables that construct a new action\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n type\n\n \n No\n \n\n\n \n Action type\n\n \n \n \n \n \n \n \n \n Returns : InstanceType\n\n \n \n Callable that creates a new action when called\n\n \n \n \n \n \n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n \n \n \n \n \n \n allCompleted\n \n \n \n \n \n \nallCompleted(states)\n \n \n\n\n\n\n \n \n Helper for testing that all states in an array are DataQueryState.Completed.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n states\n\n \n No\n \n\n\n \n The array of states to test.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if all values in the array is Completed.\n\n \n \n \n \n \n \n \n \n \n \n \n queryData\n \n \n \n \n \n \nqueryData(query, next?)\n \n \n\n\n\n\n \n \n Helper operator that combines querying with sharing and replay functionality.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n query\n\n \n No\n \n\n\n \n The data query function.\n\n \n \n \n next\n\n \n Yes\n \n\n\n \n An optional listener on the values emitted by the latest query.\n\n \n \n \n \n \n \n \n \n Returns : OperatorFunction>\n\n \n \n The combined pipe operator function.\n\n \n \n \n \n \n \n \n \n \n \n \n sendCompletedTo\n \n \n \n \n \n \nsendCompletedTo(subject)\n \n \n\n\n\n\n \n \n Helper creating a function that sends a DataQueryState.Completed to\na subject whenever it is called.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n subject\n\n \n No\n \n\n\n \n The subject to send completed messagess to.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n The function.\n\n \n \n \n \n \n projects/ccf-eui/src/app/app-web-component.component.ts\n \n \n \n \n \n \n \n parseDataSources\n \n \n \n \n \n \nparseDataSources(value)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n value\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/container/container.component.ts\n \n \n \n \n \n \n \n throwDuplicateDrawersError\n \n \n \n \n \n \nthrowDuplicateDrawersError(position)\n \n \n\n\n\n\n \n \n Helper function for creating drawer errors.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n position\n\n \n No\n \n\n\n \n The position of the drawer.\n\n \n \n \n \n \n \n \n \n Returns : never\n\n \n \n \n \n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AppModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CheckboxModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CoreModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DonorCardModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DrawerModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DropdownModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DualSliderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FiltersContentModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n FiltersPopoverModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n HeaderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OntologyExplorationModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OntologySearchModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OntologySelectionModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OntologyTreeModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ResultsBrowserModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RunSpatialSearchModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SpatialSearchConfigBehaviorModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SpatialSearchConfigModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SpatialSearchKeyboardUIBehaviorModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SpatialSearchKeyboardUIModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SpatialSearchUiBehaviorModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SpatialSearchUiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SpinnerOverlayModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StoreModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n TermOccurrenceListModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ThemingModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ThumbnailCarouselModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TissueBlockListModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TissueSectionVisModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ViewerModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_CheckboxModule\n\n\n\ncluster_CheckboxModule_declarations\n\n\n\ncluster_CheckboxModule_exports\n\n\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\ncluster_CoreModule_exports\n\n\n\ncluster_DonorCardModule\n\n\n\ncluster_DonorCardModule_declarations\n\n\n\ncluster_DonorCardModule_imports\n\n\n\ncluster_DonorCardModule_exports\n\n\n\ncluster_DrawerModule\n\n\n\ncluster_DrawerModule_declarations\n\n\n\ncluster_DrawerModule_exports\n\n\n\ncluster_DropdownModule\n\n\n\ncluster_DropdownModule_declarations\n\n\n\ncluster_DropdownModule_exports\n\n\n\ncluster_DualSliderModule\n\n\n\ncluster_DualSliderModule_declarations\n\n\n\ncluster_DualSliderModule_exports\n\n\n\ncluster_FiltersContentModule\n\n\n\ncluster_FiltersContentModule_declarations\n\n\n\ncluster_FiltersContentModule_exports\n\n\n\ncluster_FiltersPopoverModule\n\n\n\ncluster_FiltersPopoverModule_declarations\n\n\n\ncluster_FiltersPopoverModule_exports\n\n\n\ncluster_HeaderModule\n\n\n\ncluster_HeaderModule_declarations\n\n\n\ncluster_HeaderModule_exports\n\n\n\ncluster_OntologyExplorationModule\n\n\n\ncluster_OntologyExplorationModule_imports\n\n\n\ncluster_OntologyExplorationModule_exports\n\n\n\ncluster_OntologySearchModule\n\n\n\ncluster_OntologySearchModule_declarations\n\n\n\ncluster_OntologySearchModule_exports\n\n\n\ncluster_OntologySelectionModule\n\n\n\ncluster_OntologySelectionModule_declarations\n\n\n\ncluster_OntologySelectionModule_OntologySelectionComponent_providers\n\n\n\ncluster_OntologySelectionModule_exports\n\n\n\ncluster_OntologyTreeModule\n\n\n\ncluster_OntologyTreeModule_declarations\n\n\n\ncluster_OntologyTreeModule_exports\n\n\n\ncluster_ResultsBrowserModule\n\n\n\ncluster_ResultsBrowserModule_declarations\n\n\n\ncluster_ResultsBrowserModule_exports\n\n\n\ncluster_RunSpatialSearchModule\n\n\n\ncluster_RunSpatialSearchModule_declarations\n\n\n\ncluster_RunSpatialSearchModule_exports\n\n\n\ncluster_SpatialSearchConfigBehaviorModule\n\n\n\ncluster_SpatialSearchConfigBehaviorModule_declarations\n\n\n\ncluster_SpatialSearchConfigBehaviorModule_imports\n\n\n\ncluster_SpatialSearchConfigBehaviorModule_exports\n\n\n\ncluster_SpatialSearchConfigModule\n\n\n\ncluster_SpatialSearchConfigModule_declarations\n\n\n\ncluster_SpatialSearchConfigModule_exports\n\n\n\ncluster_SpatialSearchKeyboardUIBehaviorModule\n\n\n\ncluster_SpatialSearchKeyboardUIBehaviorModule_declarations\n\n\n\ncluster_SpatialSearchKeyboardUIBehaviorModule_imports\n\n\n\ncluster_SpatialSearchKeyboardUIBehaviorModule_exports\n\n\n\ncluster_SpatialSearchKeyboardUIModule\n\n\n\ncluster_SpatialSearchKeyboardUIModule_declarations\n\n\n\ncluster_SpatialSearchKeyboardUIModule_exports\n\n\n\ncluster_SpatialSearchUiBehaviorModule\n\n\n\ncluster_SpatialSearchUiBehaviorModule_declarations\n\n\n\ncluster_SpatialSearchUiBehaviorModule_imports\n\n\n\ncluster_SpatialSearchUiBehaviorModule_exports\n\n\n\ncluster_SpatialSearchUiModule\n\n\n\ncluster_SpatialSearchUiModule_declarations\n\n\n\ncluster_SpatialSearchUiModule_imports\n\n\n\ncluster_SpatialSearchUiModule_exports\n\n\n\ncluster_SpinnerOverlayModule\n\n\n\ncluster_SpinnerOverlayModule_declarations\n\n\n\ncluster_SpinnerOverlayModule_exports\n\n\n\ncluster_TermOccurrenceListModule\n\n\n\ncluster_TermOccurrenceListModule_declarations\n\n\n\ncluster_TermOccurrenceListModule_exports\n\n\n\ncluster_ThemingModule\n\n\n\ncluster_ThemingModule_providers\n\n\n\ncluster_ThumbnailCarouselModule\n\n\n\ncluster_ThumbnailCarouselModule_declarations\n\n\n\ncluster_ThumbnailCarouselModule_exports\n\n\n\ncluster_TissueBlockListModule\n\n\n\ncluster_TissueBlockListModule_declarations\n\n\n\ncluster_TissueBlockListModule_exports\n\n\n\ncluster_TissueSectionVisModule\n\n\n\ncluster_TissueSectionVisModule_declarations\n\n\n\ncluster_TissueSectionVisModule_exports\n\n\n\ncluster_ViewerModule\n\n\n\ncluster_ViewerModule_declarations\n\n\n\ncluster_ViewerModule_exports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nAppModule -->\n\nCoreModule->AppModule\n\n\n\n\n\nHeaderModule \n\nHeaderModule \n\nHeaderModule -->\n\nCoreModule->HeaderModule \n\n\n\n\n\nDrawerModule\n\nDrawerModule\n\nAppModule -->\n\nDrawerModule->AppModule\n\n\n\n\n\nContainerComponent \n\nContainerComponent \n\nContainerComponent -->\n\nDrawerModule->ContainerComponent \n\n\n\n\n\nContentComponent \n\nContentComponent \n\nContentComponent -->\n\nDrawerModule->ContentComponent \n\n\n\n\n\nDrawerComponent \n\nDrawerComponent \n\nDrawerComponent -->\n\nDrawerModule->DrawerComponent \n\n\n\n\n\nToggleButtonComponent \n\nToggleButtonComponent \n\nToggleButtonComponent -->\n\nDrawerModule->ToggleButtonComponent \n\n\n\n\n\nDualSliderModule\n\nDualSliderModule\n\nAppModule -->\n\nDualSliderModule->AppModule\n\n\n\n\n\nDualSliderComponent \n\nDualSliderComponent \n\nDualSliderComponent -->\n\nDualSliderModule->DualSliderComponent \n\n\n\n\n\nFiltersContentModule\n\nFiltersContentModule\n\nFiltersContentModule -->\n\nDualSliderModule->FiltersContentModule\n\n\n\n\n\nFiltersPopoverModule\n\nFiltersPopoverModule\n\nAppModule -->\n\nFiltersPopoverModule->AppModule\n\n\n\n\n\nFiltersPopoverComponent \n\nFiltersPopoverComponent \n\nFiltersPopoverComponent -->\n\nFiltersPopoverModule->FiltersPopoverComponent \n\n\n\n\n\nOntologyExplorationModule\n\nOntologyExplorationModule\n\nAppModule -->\n\nOntologyExplorationModule->AppModule\n\n\n\n\n\nOntologySearchModule \n\nOntologySearchModule \n\nOntologySearchModule -->\n\nOntologyExplorationModule->OntologySearchModule \n\n\n\n\n\nOntologySelectionModule \n\nOntologySelectionModule \n\nOntologySelectionModule -->\n\nOntologyExplorationModule->OntologySelectionModule \n\n\n\n\n\nOntologyTreeModule \n\nOntologyTreeModule \n\nOntologyTreeModule -->\n\nOntologyExplorationModule->OntologyTreeModule \n\n\n\n\n\nResultsBrowserModule\n\nResultsBrowserModule\n\nAppModule -->\n\nResultsBrowserModule->AppModule\n\n\n\n\n\nResultsBrowserComponent \n\nResultsBrowserComponent \n\nResultsBrowserComponent -->\n\nResultsBrowserModule->ResultsBrowserComponent \n\n\n\n\n\nRunSpatialSearchModule\n\nRunSpatialSearchModule\n\nAppModule -->\n\nRunSpatialSearchModule->AppModule\n\n\n\nFiltersContentModule -->\n\nRunSpatialSearchModule->FiltersContentModule\n\n\n\n\n\nRunSpatialSearchComponent \n\nRunSpatialSearchComponent \n\nRunSpatialSearchComponent -->\n\nRunSpatialSearchModule->RunSpatialSearchComponent \n\n\n\n\n\nSpinnerOverlayModule\n\nSpinnerOverlayModule\n\nAppModule -->\n\nSpinnerOverlayModule->AppModule\n\n\n\n\n\nSpinnerOverlayComponent \n\nSpinnerOverlayComponent \n\nSpinnerOverlayComponent -->\n\nSpinnerOverlayModule->SpinnerOverlayComponent \n\n\n\n\n\nViewerModule\n\nViewerModule\n\nAppModule -->\n\nViewerModule->AppModule\n\n\n\n\n\nViewerComponent \n\nViewerComponent \n\nViewerComponent -->\n\nViewerModule->ViewerComponent \n\n\n\n\n\nCheckboxComponent\n\nCheckboxComponent\n\n\n\nCheckboxModule\n\nCheckboxModule\n\nCheckboxModule -->\n\nCheckboxComponent->CheckboxModule\n\n\n\n\n\nCheckboxComponent \n\nCheckboxComponent \n\nCheckboxComponent -->\n\nCheckboxModule->CheckboxComponent \n\n\n\nFiltersContentModule -->\n\nCheckboxModule->FiltersContentModule\n\n\n\n\n\nHeaderModule\n\nHeaderModule\n\nCoreModule -->\n\nHeaderModule->CoreModule\n\n\n\n\n\nHeaderComponent \n\nHeaderComponent \n\nHeaderComponent -->\n\nHeaderModule->HeaderComponent \n\n\n\n\n\nStoreModule\n\nStoreModule\n\nCoreModule -->\n\nStoreModule->CoreModule\n\n\n\n\n\nThemingModule\n\nThemingModule\n\nCoreModule -->\n\nThemingModule->CoreModule\n\n\n\n\n\nDonorCardComponent\n\nDonorCardComponent\n\n\n\nDonorCardModule\n\nDonorCardModule\n\nDonorCardModule -->\n\nDonorCardComponent->DonorCardModule\n\n\n\nResultsBrowserModule -->\n\nDonorCardModule->ResultsBrowserModule\n\n\n\n\n\nDonorCardComponent \n\nDonorCardComponent \n\nDonorCardComponent -->\n\nDonorCardModule->DonorCardComponent \n\n\n\n\n\nThumbnailCarouselModule\n\nThumbnailCarouselModule\n\nDonorCardModule -->\n\nThumbnailCarouselModule->DonorCardModule\n\n\n\n\n\nThumbnailCarouselComponent \n\nThumbnailCarouselComponent \n\nThumbnailCarouselComponent -->\n\nThumbnailCarouselModule->ThumbnailCarouselComponent \n\n\n\n\n\nTissueSectionVisModule\n\nTissueSectionVisModule\n\nDonorCardModule -->\n\nTissueSectionVisModule->DonorCardModule\n\n\n\n\n\nTissueSectionVisComponent \n\nTissueSectionVisComponent \n\nTissueSectionVisComponent -->\n\nTissueSectionVisModule->TissueSectionVisComponent \n\n\n\n\n\nContainerComponent\n\nContainerComponent\n\nDrawerModule -->\n\nContainerComponent->DrawerModule\n\n\n\n\n\nContentComponent\n\nContentComponent\n\nDrawerModule -->\n\nContentComponent->DrawerModule\n\n\n\n\n\nDrawerComponent\n\nDrawerComponent\n\nDrawerModule -->\n\nDrawerComponent->DrawerModule\n\n\n\n\n\nToggleButtonComponent\n\nToggleButtonComponent\n\nDrawerModule -->\n\nToggleButtonComponent->DrawerModule\n\n\n\n\n\nDropdownComponent\n\nDropdownComponent\n\n\n\nDropdownModule\n\nDropdownModule\n\nDropdownModule -->\n\nDropdownComponent->DropdownModule\n\n\n\n\n\nDropdownComponent \n\nDropdownComponent \n\nDropdownComponent -->\n\nDropdownModule->DropdownComponent \n\n\n\nFiltersContentModule -->\n\nDropdownModule->FiltersContentModule\n\n\n\n\n\nDualSliderComponent\n\nDualSliderComponent\n\nDualSliderModule -->\n\nDualSliderComponent->DualSliderModule\n\n\n\n\n\nFiltersContentComponent\n\nFiltersContentComponent\n\nFiltersContentModule -->\n\nFiltersContentComponent->FiltersContentModule\n\n\n\nFiltersPopoverModule -->\n\nFiltersContentModule->FiltersPopoverModule\n\n\n\n\n\nFiltersContentComponent \n\nFiltersContentComponent \n\nFiltersContentComponent -->\n\nFiltersContentModule->FiltersContentComponent \n\n\n\n\n\nFiltersPopoverComponent\n\nFiltersPopoverComponent\n\nFiltersPopoverModule -->\n\nFiltersPopoverComponent->FiltersPopoverModule\n\n\n\n\n\nHeaderComponent\n\nHeaderComponent\n\nHeaderModule -->\n\nHeaderComponent->HeaderModule\n\n\n\n\n\nOntologySearchModule\n\nOntologySearchModule\n\nOntologyExplorationModule -->\n\nOntologySearchModule->OntologyExplorationModule\n\n\n\n\n\nOntologySelectionModule\n\nOntologySelectionModule\n\nOntologySelectionModule -->\n\nOntologySearchModule->OntologySelectionModule\n\n\n\n\n\nOntologySearchComponent \n\nOntologySearchComponent \n\nOntologySearchComponent -->\n\nOntologySearchModule->OntologySearchComponent \n\n\n\nOntologyExplorationModule -->\n\nOntologySelectionModule->OntologyExplorationModule\n\n\n\n\n\nOntologySelectionComponent \n\nOntologySelectionComponent \n\nOntologySelectionComponent -->\n\nOntologySelectionModule->OntologySelectionComponent \n\n\n\n\n\nOntologyTreeModule\n\nOntologyTreeModule\n\nOntologyExplorationModule -->\n\nOntologyTreeModule->OntologyExplorationModule\n\n\n\nOntologySelectionModule -->\n\nOntologyTreeModule->OntologySelectionModule\n\n\n\n\n\nOntologyTreeComponent \n\nOntologyTreeComponent \n\nOntologyTreeComponent -->\n\nOntologyTreeModule->OntologyTreeComponent \n\n\n\n\n\nOntologySearchComponent\n\nOntologySearchComponent\n\nOntologySearchModule -->\n\nOntologySearchComponent->OntologySearchModule\n\n\n\n\n\nOntologySelectionComponent\n\nOntologySelectionComponent\n\nOntologySelectionModule -->\n\nOntologySelectionComponent->OntologySelectionModule\n\n\n\n\n\nOntologySearchService\n\nOntologySearchService\n\nOntologySelectionComponent -->\n\nOntologySearchService->OntologySelectionComponent\n\n\n\n\n\nOntologyTreeComponent\n\nOntologyTreeComponent\n\nOntologyTreeModule -->\n\nOntologyTreeComponent->OntologyTreeModule\n\n\n\n\n\nResultsBrowserComponent\n\nResultsBrowserComponent\n\nResultsBrowserModule -->\n\nResultsBrowserComponent->ResultsBrowserModule\n\n\n\n\n\nRunSpatialSearchComponent\n\nRunSpatialSearchComponent\n\nRunSpatialSearchModule -->\n\nRunSpatialSearchComponent->RunSpatialSearchModule\n\n\n\n\n\nSpatialSearchConfigBehaviorComponent\n\nSpatialSearchConfigBehaviorComponent\n\n\n\nSpatialSearchConfigBehaviorModule\n\nSpatialSearchConfigBehaviorModule\n\nSpatialSearchConfigBehaviorModule -->\n\nSpatialSearchConfigBehaviorComponent->SpatialSearchConfigBehaviorModule\n\n\n\n\n\nSpatialSearchConfigBehaviorComponent \n\nSpatialSearchConfigBehaviorComponent \n\nSpatialSearchConfigBehaviorComponent -->\n\nSpatialSearchConfigBehaviorModule->SpatialSearchConfigBehaviorComponent \n\n\n\n\n\nSpatialSearchConfigModule\n\nSpatialSearchConfigModule\n\nSpatialSearchConfigBehaviorModule -->\n\nSpatialSearchConfigModule->SpatialSearchConfigBehaviorModule\n\n\n\n\n\nSpatialSearchConfigComponent \n\nSpatialSearchConfigComponent \n\nSpatialSearchConfigComponent -->\n\nSpatialSearchConfigModule->SpatialSearchConfigComponent \n\n\n\n\n\nSpatialSearchConfigComponent\n\nSpatialSearchConfigComponent\n\nSpatialSearchConfigModule -->\n\nSpatialSearchConfigComponent->SpatialSearchConfigModule\n\n\n\n\n\nSpatialSearchKeyboardUIBehaviorComponent\n\nSpatialSearchKeyboardUIBehaviorComponent\n\n\n\nSpatialSearchKeyboardUIBehaviorModule\n\nSpatialSearchKeyboardUIBehaviorModule\n\nSpatialSearchKeyboardUIBehaviorModule -->\n\nSpatialSearchKeyboardUIBehaviorComponent->SpatialSearchKeyboardUIBehaviorModule\n\n\n\n\n\nSpatialSearchKeyboardUIBehaviorComponent \n\nSpatialSearchKeyboardUIBehaviorComponent \n\nSpatialSearchKeyboardUIBehaviorComponent -->\n\nSpatialSearchKeyboardUIBehaviorModule->SpatialSearchKeyboardUIBehaviorComponent \n\n\n\n\n\nSpatialSearchUiModule\n\nSpatialSearchUiModule\n\nSpatialSearchUiModule -->\n\nSpatialSearchKeyboardUIBehaviorModule->SpatialSearchUiModule\n\n\n\n\n\nSpatialSearchKeyboardUIModule\n\nSpatialSearchKeyboardUIModule\n\nSpatialSearchKeyboardUIBehaviorModule -->\n\nSpatialSearchKeyboardUIModule->SpatialSearchKeyboardUIBehaviorModule\n\n\n\n\n\nSpatialSearchKeyboardUIComponent \n\nSpatialSearchKeyboardUIComponent \n\nSpatialSearchKeyboardUIComponent -->\n\nSpatialSearchKeyboardUIModule->SpatialSearchKeyboardUIComponent \n\n\n\n\n\nSpatialSearchKeyboardUIComponent\n\nSpatialSearchKeyboardUIComponent\n\nSpatialSearchKeyboardUIModule -->\n\nSpatialSearchKeyboardUIComponent->SpatialSearchKeyboardUIModule\n\n\n\n\n\nSpatialSearchUiBehaviorComponent\n\nSpatialSearchUiBehaviorComponent\n\n\n\nSpatialSearchUiBehaviorModule\n\nSpatialSearchUiBehaviorModule\n\nSpatialSearchUiBehaviorModule -->\n\nSpatialSearchUiBehaviorComponent->SpatialSearchUiBehaviorModule\n\n\n\n\n\nSpatialSearchUiBehaviorComponent \n\nSpatialSearchUiBehaviorComponent \n\nSpatialSearchUiBehaviorComponent -->\n\nSpatialSearchUiBehaviorModule->SpatialSearchUiBehaviorComponent \n\n\n\nSpatialSearchUiBehaviorModule -->\n\nSpatialSearchUiModule->SpatialSearchUiBehaviorModule\n\n\n\n\n\nSpatialSearchUiComponent \n\nSpatialSearchUiComponent \n\nSpatialSearchUiComponent -->\n\nSpatialSearchUiModule->SpatialSearchUiComponent \n\n\n\n\n\nSpatialSearchUiComponent\n\nSpatialSearchUiComponent\n\nSpatialSearchUiModule -->\n\nSpatialSearchUiComponent->SpatialSearchUiModule\n\n\n\n\n\nTermOccurrenceListModule\n\nTermOccurrenceListModule\n\nSpatialSearchUiModule -->\n\nTermOccurrenceListModule->SpatialSearchUiModule\n\n\n\nSpatialSearchUiModule -->\n\nTermOccurrenceListModule->SpatialSearchUiModule\n\n\n\n\n\nTermOccurrenceListComponent \n\nTermOccurrenceListComponent \n\nTermOccurrenceListComponent -->\n\nTermOccurrenceListModule->TermOccurrenceListComponent \n\n\n\n\n\nTissueBlockListModule\n\nTissueBlockListModule\n\nSpatialSearchUiModule -->\n\nTissueBlockListModule->SpatialSearchUiModule\n\n\n\n\n\nTissueBlockListComponent \n\nTissueBlockListComponent \n\nTissueBlockListComponent -->\n\nTissueBlockListModule->TissueBlockListComponent \n\n\n\n\n\nSpinnerOverlayComponent\n\nSpinnerOverlayComponent\n\nSpinnerOverlayModule -->\n\nSpinnerOverlayComponent->SpinnerOverlayModule\n\n\n\n\n\nTermOccurrenceListComponent\n\nTermOccurrenceListComponent\n\nTermOccurrenceListModule -->\n\nTermOccurrenceListComponent->TermOccurrenceListModule\n\n\n\n\n\nThemingService\n\nThemingService\n\nThemingModule -->\n\nThemingService->ThemingModule\n\n\n\n\n\nThumbnailCarouselComponent\n\nThumbnailCarouselComponent\n\nThumbnailCarouselModule -->\n\nThumbnailCarouselComponent->ThumbnailCarouselModule\n\n\n\n\n\nTissueBlockListComponent\n\nTissueBlockListComponent\n\nTissueBlockListModule -->\n\nTissueBlockListComponent->TissueBlockListModule\n\n\n\n\n\nTissueSectionVisComponent\n\nTissueSectionVisComponent\n\nTissueSectionVisModule -->\n\nTissueSectionVisComponent->TissueSectionVisModule\n\n\n\n\n\nViewerComponent\n\nViewerComponent\n\nViewerModule -->\n\nViewerComponent->ViewerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n \n\n \n \n \n \n \n \n 30 Modules\n \n \n \n \n \n \n \n \n 30 Components\n \n \n \n \n \n \n \n 13 Injectables\n \n \n \n \n \n \n \n 22 Classes\n \n \n \n \n \n \n \n 23 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n Constructor   (projects/.../action-as-fn.ts)\n \n \n ContainerPayload   (projects/.../messages.ts)\n \n \n DrawerPayload   (projects/.../messages.ts)\n \n \n ExpandedState   (projects/.../drawer.component.ts)\n \n \n ExpandedState2   (projects/.../drawer.component.ts)\n \n \n GetChildrenFunc   (projects/.../ontology-tree.component.ts)\n \n \n Message   (projects/.../messages.ts)\n \n \n MessageChannel   (projects/.../messages.ts)\n \n \n MessageService   (projects/.../messages.ts)\n \n \n OpenedState   (projects/.../drawer.component.ts)\n \n \n Payload   (projects/.../messages.ts)\n \n \n Sex   (projects/.../spatial-search-config.component.ts)\n \n \n SpatialSearchFilterModel   (projects/.../spatial-search-filter.state.ts)\n \n \n \n \n \n \n\n\n projects/ccf-eui/src/app/core/store/action-as-fn.ts\n \n \n \n \n \n \n Constructor\n \n \n \n \n \n\n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n \n \n \n \n \n ContainerPayload\n \n \n \n \n Payload types for messages sent from the drawer container.\n\n \n \n \n \n ContentContainerChanged | DrawerContainersChanged\n\n \n \n \n \n \n \n \n \n \n DrawerPayload\n \n \n \n \n Payload types for messages sent from the drawers.\n\n \n \n \n \n DrawerToggled | DrawerInitialized\n\n \n \n \n \n \n \n \n \n \n Message\n \n \n \n \n Specific message type.\n\n \n \n \n \n GenericMessage\n\n \n \n \n \n \n \n \n \n \n MessageChannel\n \n \n \n \n Specific channel type.\n\n \n \n \n \n GenericMessageChannel\n\n \n \n \n \n \n \n \n \n \n MessageService\n \n \n \n \n Specific service type.\n\n \n \n \n \n GenericMessageService\n\n \n \n \n \n \n \n \n \n \n Payload\n \n \n \n \n Combined payload type for all drawer sub components.\n\n \n \n \n \n ContainerPayload | DrawerPayload\n\n \n \n \n \n projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n \n \n \n \n \n ExpandedState\n \n \n \n \n Expanded/collapsed state.\n\n \n \n \n \n \"open\" | \"open-instant\" | \"closed\"\n\n \n \n \n \n \n \n \n \n \n ExpandedState2\n \n \n \n \n Expanded state relative to an opposite drawer.\n\n \n \n \n \n \"collapsed\" | \"half\" | \"extended\" | \"full\"\n\n \n \n \n \n \n \n \n \n \n OpenedState\n \n \n \n \n Opened/closed state.\n\n \n \n \n \n \"open\" | \"open-instant\" | \"closed\"\n\n \n \n \n \n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-tree/ontology-tree.component.ts\n \n \n \n \n \n \n GetChildrenFunc\n \n \n \n \n Type of function for getting child nodes from a parent node.\n\n \n \n \n \n function\n\n \n \n \n \n projects/ccf-eui/src/app/shared/components/spatial-search-config/spatial-search-config.component.ts\n \n \n \n \n \n \n Sex\n \n \n \n \n Sex can either be male or female\n\n \n \n \n \n \"male\" | \"female\"\n\n \n \n \n \n projects/ccf-eui/src/app/core/store/spatial-search-filter/spatial-search-filter.state.ts\n \n \n \n \n \n \n SpatialSearchFilterModel\n \n \n \n \n SpatialSearchFilterItem[]\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n database   (projects/.../data-source.worker.ts)\n \n \n DEFAULT_COLOR_PALETTE   (projects/.../color-assignment.state.ts)\n \n \n DEFAULT_FILTER   (projects/.../data.state.ts)\n \n \n DEFAULT_ICONS   (projects/.../default-icons.ts)\n \n \n DEFAULT_SELECTED_ORGANS   (projects/.../scene.state.ts)\n \n \n DEFAULT_THEME   (projects/.../theming.service.ts)\n \n \n EXPAND_COLLAPSE_PARAMS_DEFAULT   (projects/.../drawer.component.ts)\n \n \n getLevel   (projects/.../ontology-tree.component.ts)\n \n \n isExpandable   (projects/.../ontology-tree.component.ts)\n \n \n MESSAGE_SERVICE_CONFIG   (projects/.../message.service.ts)\n \n \n MESSAGE_SERVICE_DEFAULT_CONFIG   (projects/.../message.service.ts)\n \n \n MessageService   (projects/.../messages.ts)\n \n \n nextUid   (projects/.../thumbnail-carousel.component.ts)\n \n \n ROOT_STATES   (projects/.../store.module.ts)\n \n \n \n \n \n \n\n\n projects/ccf-eui/src/app/core/services/data-source/data-source.worker.ts\n \n \n \n \n \n \n \n database\n \n \n \n \n \n \n Default value : new CCFDatabase()\n \n \n\n \n \n Worker thread database.\n\n \n \n\n \n \n\n projects/ccf-eui/src/app/core/store/color-assignment/color-assignment.state.ts\n \n \n \n \n \n \n \n DEFAULT_COLOR_PALETTE\n \n \n \n \n \n \n Type : Color[]\n\n \n \n \n \n Default value : [\n '#FF8800',\n '#2979ff',\n '#ffd740',\n '#b92dff',\n '#da326f',\n '#7323e2',\n '#acf32b',\n '#82B1FF',\n '#E040FB',\n '#00E5FF'\n].map((color, rank) => {\n const rgba = hexRgb(color, { format: 'array' });\n rgba[3] = 255; // for Deck.gl\n return { color, rgba, rank };\n})\n \n \n\n\n \n \n\n projects/ccf-eui/src/app/core/store/data/data.state.ts\n \n \n \n \n \n \n \n DEFAULT_FILTER\n \n \n \n \n \n \n Type : Filter\n\n \n \n \n \n Default value : {\n sex: 'Both',\n ageRange: [1, 110],\n bmiRange: [13, 83],\n tmc: [],\n technologies: [],\n ontologyTerms: ['http://purl.obolibrary.org/obo/UBERON_0013702'],\n cellTypeTerms: ['http://purl.obolibrary.org/obo/CL_0000000'],\n spatialSearches: []\n}\n \n \n\n \n \n Default values for filters.\n\n \n \n\n \n \n\n projects/ccf-eui/src/app/core/store/icon-registry/default-icons.ts\n \n \n \n \n \n \n \n DEFAULT_ICONS\n \n \n \n \n \n \n Type : DefaultIconDefinition[]\n\n \n \n \n \n Default value : [\n // Reference Organs\n { name: 'bladder', namespace: 'app', url: 'assets/icons/organs/ico-organs-bladder.svg' },\n { name: 'blood', namespace: 'app', url: 'assets/icons/organs/ico-organs-blood.svg' },\n { name: 'bone-marrow', namespace: 'app', url: 'assets/icons/organs/ico-organs-bone-marrow.svg' },\n { name: 'brain', namespace: 'app', url: 'assets/icons/organs/ico-organs-brain.svg' },\n { name: 'eye', namespace: 'app', url: 'assets/icons/organs/ico-organs-eye.svg' },\n { name: 'fallopian-tube-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-left.svg' },\n { name: 'fallopian-tube-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-right.svg' },\n { name: 'heart', namespace: 'app', url: 'assets/icons/organs/ico-organs-heart.svg' },\n { name: 'kidney-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-left.svg' },\n { name: 'kidney-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-right.svg' },\n { name: 'kidney', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney.svg' },\n { name: 'knee', namespace: 'app', url: 'assets/icons/organs/ico-organs-knee.svg' },\n { name: 'large-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-large-intestine.svg' },\n { name: 'larynx', namespace: 'app', url: 'assets/icons/organs/ico-organs-larynx.svg' },\n { name: 'liver', namespace: 'app', url: 'assets/icons/organs/ico-organs-liver.svg' },\n { name: 'lung-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-left.svg' },\n { name: 'lung-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-right.svg' },\n { name: 'lung', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung.svg' },\n { name: 'lymph-nodes', namespace: 'app', url: 'assets/icons/organs/ico-organs-lymph-nodes.svg' },\n { name: 'main-bronchus', namespace: 'app', url: 'assets/icons/organs/ico-organs-extrapulmonary bronchus.svg' },\n { name: 'mammary-gland', namespace: 'app', url: 'assets/icons/organs/ico-organs-breast.svg' },\n { name: 'neuron', namespace: 'app', url: 'assets/icons/organs/ico-organs-neuron.svg' },\n { name: 'ovaries', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovaries.svg' },\n { name: 'ovary-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-left.svg' },\n { name: 'ovary-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-right.svg' },\n { name: 'palatine-tonsil', namespace: 'app', url: 'assets/icons/organs/ico-organs-palatine tonsil.svg' },\n { name: 'pancreas', namespace: 'app', url: 'assets/icons/organs/ico-organs-pancreas.svg' },\n { name: 'pelvis-f', namespace: 'app', url: 'assets/icons/organs/ico-organs-pelvis-f.svg' },\n { name: 'placenta', namespace: 'app', url: 'assets/icons/organs/ico-organs-placenta.svg' },\n { name: 'prostate', namespace: 'app', url: 'assets/icons/organs/ico-organs-prostate.svg' },\n { name: 'skin', namespace: 'app', url: 'assets/icons/organs/ico-organs-skin.svg' },\n { name: 'small-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-small intestine.svg' },\n { name: 'spinal-cord', namespace: 'app', url: 'assets/icons/organs/ico-organs-spinal-cord.svg' },\n { name: 'spleen', namespace: 'app', url: 'assets/icons/organs/ico-organs-spleen.svg' },\n { name: 'stomach', namespace: 'app', url: 'assets/icons/organs/ico-organs-stomach.svg' },\n { name: 'thymus', namespace: 'app', url: 'assets/icons/organs/ico-organs-thymus.svg' },\n { name: 'trachea', namespace: 'app', url: 'assets/icons/organs/ico-organs-trachea.svg' },\n { name: 'ureter-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-left.svg' },\n { name: 'ureter-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-right.svg' },\n { name: 'uterus', namespace: 'app', url: 'assets/icons/organs/ico-organs-uterus.svg' },\n { name: 'vasculature-thick', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thick.svg' },\n { name: 'vasculature-thin', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thin.svg' },\n\n { name: 'opacity', namespace: 'app', url: 'assets/icons/opacity-24px.svg' },\n { name: 'visibility_on', namespace: 'app', url: 'assets/icons/visibility-on-24px.svg' },\n { name: 'visibility_off', namespace: 'app', url: 'assets/icons/visibility-off-24px.svg' },\n { name: 'expand_more', namespace: 'app', url: 'assets/icons/expand_more-24px.svg' },\n { name: 'expand_less', namespace: 'app', url: 'assets/icons/expand_less-24px.svg' },\n { name: 'filter', url: 'assets/icons/filter.svg' }\n]\n \n \n\n \n \n Icons registered at startup.\n\n \n \n\n \n \n\n projects/ccf-eui/src/app/core/store/scene/scene.state.ts\n \n \n \n \n \n \n \n DEFAULT_SELECTED_ORGANS\n \n \n \n \n \n \n Default value : new Set(['Skin', 'Heart', 'Kidney', 'Spleen'])\n \n \n\n\n \n \n\n projects/ccf-eui/src/app/core/services/theming/theming.service.ts\n \n \n \n \n \n \n \n DEFAULT_THEME\n \n \n \n \n \n \n Default value : new InjectionToken('Default theme class')\n \n \n\n \n \n Token for specifying the default theme class.\n\n \n \n\n \n \n\n projects/ccf-eui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n \n \n \n \n \n \n EXPAND_COLLAPSE_PARAMS_DEFAULT\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n params: {\n width: 0,\n margin: 0,\n margin2: 0\n }\n}\n \n \n\n \n \n Default animation parameters.\n\n \n \n\n \n \n\n projects/ccf-eui/src/app/modules/ontology-exploration/ontology-tree/ontology-tree.component.ts\n \n \n \n \n \n \n \n getLevel\n \n \n \n \n \n \n Default value : property('level')\n \n \n\n \n \n Getter function for 'level' on a flat node.\n\n \n \n\n \n \n \n \n \n \n \n \n isExpandable\n \n \n \n \n \n \n Default value : property('expandable')\n \n \n\n \n \n Getter function for 'expandable' on a flat node.\n\n \n \n\n \n \n\n projects/ccf-eui/src/app/shared/services/message/message.service.ts\n \n \n \n \n \n \n \n MESSAGE_SERVICE_CONFIG\n \n \n \n \n \n \n Default value : new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n)\n \n \n\n \n \n Token for specifying the message service configuration.\n\n \n \n\n \n \n \n \n \n \n \n \n MESSAGE_SERVICE_DEFAULT_CONFIG\n \n \n \n \n \n \n Type : MessageServiceConfig\n\n \n \n \n \n Default value : {\n isolated: true\n}\n \n \n\n \n \n Default message service configuration.\n\n \n \n\n \n \n\n projects/ccf-eui/src/app/shared/components/drawer/messages.ts\n \n \n \n \n \n \n \n MessageService\n \n \n \n \n \n \n Default value : GenericMessageService\n \n \n\n \n \n Reference to the service class.\n\n \n \n\n \n \n\n projects/ccf-eui/src/app/shared/components/thumbnail-carousel/thumbnail-carousel.component.ts\n \n \n \n \n \n \n \n nextUid\n \n \n \n \n \n \n Default value : (() => {\n let counter = -1;\n return () => {\n counter += 1;\n return counter;\n };\n})()\n \n \n\n\n \n \n\n projects/ccf-eui/src/app/core/store/store.module.ts\n \n \n \n \n \n \n \n ROOT_STATES\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n GlobalConfigState,\n ColorAssignmentState,\n IconRegistryState,\n ListResultsState,\n DataState,\n SceneState,\n CallToActionState,\n SpatialSearchUiState,\n SpatialSearchFilterState\n]\n \n \n\n \n \n States shared across the entire app.\n\n \n \n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} } diff --git a/docs/ccf-organ-info/changelog.html b/docs/ccf-organ-info/changelog.html index 8239f5010..119d5b188 100644 --- a/docs/ccf-organ-info/changelog.html +++ b/docs/ccf-organ-info/changelog.html @@ -33,6 +33,11 @@

              Changelog

              Changelog for the Human Reference Atlas (HRA) User Interfaces

              +

              3.7.2 - 2023-07-12

              +

              Added in 3.7.2

              +
                +
              • Client side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1
              • +

              3.7.0 - 2023-06-15

              Added in 3.7.0

                diff --git a/docs/ccf-organ-info/dependencies.html b/docs/ccf-organ-info/dependencies.html index 41450c1c0..9597b876e 100644 --- a/docs/ccf-organ-info/dependencies.html +++ b/docs/ccf-organ-info/dependencies.html @@ -162,6 +162,8 @@ ngx-markdown : ^12.0.1
              • node-fetch : ^2.6.7
              • +
              • + object-hash : ^3.0.0
              • qs : ^6.10.2
              • diff --git a/docs/ccf-organ-info/js/search/search_index.js b/docs/ccf-organ-info/js/search/search_index.js index 043f342ed..c4dd679b7 100644 --- a/docs/ccf-organ-info/js/search/search_index.js +++ b/docs/ccf-organ-info/js/search/search_index.js @@ -1,4 +1,4 @@ var COMPODOC_SEARCH_INDEX = { - "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/components/AppComponent.html",[0,0.49,1,0.928]],["body/components/AppComponent.html",[0,0.531,1,1.145,2,1.084,3,0.506,4,0.238,5,0.837,6,0.837,7,0.837,8,0.755,9,0.151,10,0.506,11,0.349,12,1.048,13,1.662,14,2.731,15,0.755,16,1.084,17,1.084,18,1.755,19,0.925,20,0.912,21,1.198,22,2.731,23,1.198,24,2.197,25,0.377,26,0.892,27,2.926,28,1.651,29,1.84,30,3.804,31,2.731,32,1.204,33,2.731,34,1.866,35,3.7,36,1.673,37,2.067,38,2.443,39,2.371,40,1.534,41,2.351,42,1.198,43,2.662,44,2.662,45,3.109,46,2.662,47,1.48,48,1.677,49,2.094,50,2.351,51,2.676,52,2.731,53,2.094,54,1.864,55,2.662,56,1.534,57,0.039,58,1.614,59,1.204,60,2.197,61,2.197,62,4.14,63,1.677,64,1.534,65,1.967,66,2.197,67,1.475,68,1.677,69,1.192,70,1.677,71,2.197,72,1.936,73,1.677,74,2.197,75,3.755,76,1.677,77,1.695,78,2.197,79,2.197,80,1.891,81,1.48,82,1.677,83,2.731,84,1.677,85,4.041,86,1.891,87,2.197,88,3.109,89,2.676,90,2.676,91,1.677,92,1.677,93,1.677,94,2.197,95,1.677,96,1.677,97,2.197,98,1.677,99,2.197,100,1.677,101,1.677,102,1.677,103,0.693,104,0.933,105,1.385,106,0.683,107,1.192,108,0.207,109,1.662,110,0.755,111,0.933,112,1.048,113,1.048,114,1.048,115,0.837,116,0.462,117,0.933,118,0.837,119,0.837,120,1.048,121,1.192,122,1.385,123,1.385,124,1.385,125,1.385,126,1.385,127,1.192,128,1.385,129,1.048,130,1.385,131,0.462,132,0.933,133,1.048,134,0.837,135,1.048,136,0.933,137,1.192,138,1.535,139,1.048,140,1.489,141,1.695,142,0.933,143,1.192,144,0.238,145,0.238,146,1.385,147,1.385,148,1.385,149,1.385,150,1.048,151,1.385,152,1.385,153,1.385,154,1.385,155,1.192,156,1.385,157,2.197,158,1.385,159,3.923,160,2.197,161,1.385,162,1.385,163,1.385,164,1.385,165,1.385,166,2.731,167,1.192,168,1.385,169,2.731,170,1.385,171,3.109,172,1.385,173,2.197,174,2.197,175,1.385,176,1.385,177,3.109,178,1.385,179,1.385,180,1.385,181,1.385,182,2.197,183,1.385,184,1.385,185,1.385,186,1.385,187,1.385,188,1.385,189,1.385,190,1.385,191,1.385,192,1.385,193,1.385,194,1.385,195,1.891,196,1.385,197,2.197,198,1.891,199,2.197,200,0.933,201,1.192,202,1.385,203,1.385,204,1.328,205,1.192,206,1.385,207,1.385,208,1.192,209,0.755,210,1.385,211,1.385,212,1.048,213,1.385,214,1.385,215,1.328,216,1.385,217,1.048,218,2.067,219,2.197,220,2.197,221,2.351,222,1.192,223,1.192,224,1.192,225,0.933,226,2.197,227,1.385,228,1.385,229,1.385,230,1.677,231,1.385,232,1.677,233,1.192,234,1.192,235,1.385,236,1.677,237,0.837,238,1.192,239,1.385,240,1.48,241,1.677,242,1.385,243,1.048,244,1.048,245,1.192,246,1.677,247,0.837,248,1.328,249,1.084,250,0.837,251,1.879,252,0.837,253,0.837,254,0.562,255,0.837,256,0.51,257,0.62,258,0.837,259,0.562,260,0.837,261,0.562,262,0.683,263,0.837,264,0.562,265,0.755,266,0.837,267,0.837,268,0.01,269,0.016,270,0.01]],["title/modules/AppModule.html",[271,1.127,272,1.906]],["body/modules/AppModule.html",[1,1.771,3,0.482,4,0.494,9,0.315,10,0.409,11,0.301,13,2.18,27,1.741,42,1.571,54,1.17,57,0.039,64,1.422,65,2.037,81,1.941,103,0.833,108,0.431,138,1.17,144,0.494,145,0.494,254,1.891,268,0.021,269,0.028,270,0.021,272,3.82,273,1.17,274,1.517,275,2.881,276,2.881,277,2.881,278,3.138,279,3.138,280,3.138,281,3.138,282,2.037,283,1.571,284,1.422,285,3.49,286,2.517,287,4.526,288,2.037,289,5.024,290,3.49,291,4.526,292,5.316,293,2.037,294,3.49,295,2.881,296,4.526,297,2.881,298,2.18,299,2.48,300,1.941,301,3.49,302,3.49,303,3.49,304,3.49,305,3.49,306,1.941,307,3.49,308,3.49,309,2.18,310,3.49,311,2.881,312,4.526,313,3.49,314,3.49,315,3.49]],["title/components/AppWebComponent.html",[0,0.49,254,1.023]],["body/components/AppWebComponent.html",[0,0.641,1,0.69,2,1.627,3,0.242,4,0.322,5,1.675,7,1.133,8,1.022,9,0.205,10,0.518,11,0.343,15,1.022,16,1.368,17,1.368,18,1.934,19,0.983,20,1.101,25,0.511,26,1.125,32,0.626,34,1.798,36,1.368,38,1.993,39,1.993,40,0.925,47,1.867,53,2.454,54,1.908,56,0.925,57,0.039,58,1.475,59,1.28,67,1.683,72,2.078,77,1.511,103,0.625,106,0.925,108,0.281,116,0.626,133,2.495,134,1.675,135,2.097,136,2.454,137,3.136,138,1.652,144,0.322,145,0.322,195,3.503,209,2.12,215,1.675,247,1.133,248,1.675,249,1.368,250,1.133,251,2.202,252,1.133,253,1.133,254,1.479,255,1.133,256,0.69,257,0.839,258,1.133,259,0.761,260,1.133,261,0.761,262,0.925,263,1.133,264,0.761,265,1.022,266,1.133,267,1.133,268,0.014,269,0.021,270,0.014,300,3.19,316,4.076,317,1.613,318,2.385,319,3.995,320,3.357,321,3.995,322,4.413,323,3.995,324,3.995,325,3.995,326,3.995,327,3.995,328,2.838,329,3.136,330,2.271,331,4.413,332,4.413,333,3.357,334,3.357,335,2.271,336,2.271,337,2.271,338,2.271,339,2.271,340,2.271,341,2.271,342,2.271,343,2.271,344,2.271,345,2.271,346,2.757,347,2.271,348,3.524,349,2.271,350,2.271,351,2.271,352,1.613,353,1.613,354,2.771,355,1.874,356,3.357,357,5.44,358,4.413,359,3.357,360,3.357,361,3.357,362,3.643,363,3.357,364,3.357,365,3.357,366,2.771,367,1.675,368,3.357,369,2.385,370,2.771,371,1.874,372,2.271,373,2.271,374,2.271,375,1.874,376,2.271,377,2.271,378,2.271,379,2.271,380,1.613,381,1.613,382,2.271]],["title/modules/CoreModule.html",[271,1.127,278,1.697]],["body/modules/CoreModule.html",[3,0.504,4,0.53,9,0.338,10,0.338,11,0.283,19,0.986,20,1.031,32,1.031,57,0.039,81,2.08,103,0.836,108,0.462,116,1.031,144,0.53,145,0.53,268,0.023,269,0.029,270,0.023,271,1.748,273,1.253,274,1.586,278,3.246,282,2.13,283,1.683,284,1.523,288,2.13,293,2.13,352,2.657,353,2.657,366,3.087,367,2.361,383,3.087,384,3.087,385,3.196,386,3.74,387,4.732,388,3.74,389,4.732,390,4.732,391,3.74,392,3.74,393,3.087,394,3.906,395,3.74,396,3.74,397,2.631,398,3.74,399,2.336,400,3.74,401,3.74,402,3.74,403,3.74,404,3.74,405,3.74,406,3.74,407,3.087,408,3.087,409,3.74,410,3.74,411,3.74,412,3.74,413,3.74,414,2.08,415,3.74,416,5.19,417,3.74,418,3.74,419,3.74]],["title/interfaces/DelegateDataSourceOptions.html",[131,0.841,420,1.906]],["body/interfaces/DelegateDataSourceOptions.html",[3,0.437,4,0.58,9,0.37,10,0.37,11,0.245,19,0.741,20,1.129,25,0.922,26,1.679,32,1.553,57,0.038,59,1.126,67,1.491,103,0.709,108,0.507,116,1.129,131,1.129,138,1.374,144,0.709,145,0.58,209,1.845,268,0.025,269,0.031,270,0.025,318,2.912,328,4.003,329,4.003,346,3.379,397,2.279,399,2.56,420,3.379,421,2.045,422,2.912,423,2.912,424,2.499,425,4.135,426,4.135,427,4.135,428,3.383,429,4.135,430,2.912,431,3.383,432,3.383,433,4.135,434,3.383,435,3.383]],["title/injectables/DelegateDataSourceService.html",[397,1.697,424,1.523]],["body/injectables/DelegateDataSourceService.html",[3,0.432,4,0.574,9,0.366,10,0.449,11,0.298,19,0.732,20,1.117,25,0.911,32,1.117,42,2.239,54,1.358,56,1.65,57,0.038,58,1.496,59,0.911,64,1.65,67,1.117,103,0.704,108,0.501,116,1.117,131,1.117,138,1.358,144,0.704,145,0.574,150,2.531,209,1.824,268,0.025,269,0.031,270,0.025,318,3.534,328,2.879,329,2.879,346,2.531,397,2.766,399,3.107,420,3.506,422,3.534,423,2.879,424,2.482,425,4.443,426,4.106,427,4.106,428,3.345,429,4.443,430,2.879,431,4.443,432,4.106,433,4.106,434,3.345,435,3.345,436,2.879,437,4.974,438,4.052]],["title/interfaces/GlobalConfig.html",[131,0.841,132,1.697]],["body/interfaces/GlobalConfig.html",[0,0.548,1,0.705,3,0.529,4,0.329,9,0.209,10,0.209,11,0.307,12,1.449,13,1.449,14,2.816,16,0.945,17,0.945,18,0.857,19,0.806,20,0.639,21,1.044,22,1.915,23,1.044,24,1.915,25,0.522,26,1.143,27,2.766,28,1.158,29,1.29,30,3.53,31,1.915,32,1.452,33,1.915,34,1.389,35,3.376,36,1.389,37,1.449,38,2.629,39,2.684,40,0.945,41,1.648,45,1.915,47,1.29,49,1.897,50,1.648,51,2.423,52,1.915,53,1.897,57,0.039,59,1.003,60,1.915,61,1.915,62,4.101,65,1.821,66,1.915,67,1.575,71,1.915,72,1.389,74,1.915,75,3.649,78,1.915,79,1.915,80,1.648,81,1.29,83,2.816,85,3.922,87,1.915,88,2.816,89,2.423,90,2.423,94,1.915,97,1.915,99,1.915,103,0.762,104,1.29,105,1.915,106,0.945,107,1.648,108,0.287,109,2.131,110,1.044,111,1.29,112,1.449,113,1.449,114,1.449,115,1.158,116,0.639,117,1.29,118,1.158,119,1.158,120,1.449,121,1.648,122,1.915,123,1.915,124,1.915,125,1.915,126,1.915,127,1.648,128,1.915,129,1.449,130,1.915,131,0.639,132,1.897,133,2.785,134,2.018,135,2.527,136,2.249,137,3.168,138,1.721,139,1.449,140,1.044,141,2.007,142,1.29,143,1.648,144,0.329,145,0.329,146,1.915,147,1.915,148,1.915,149,1.915,150,1.449,151,1.915,152,1.915,153,1.915,154,1.915,155,1.648,156,1.915,157,2.816,158,1.915,159,4.35,160,2.816,161,1.915,162,1.915,163,1.915,164,1.915,165,1.915,166,3.339,167,1.648,168,1.915,169,3.339,170,1.915,171,3.681,172,1.915,173,2.816,174,2.816,175,1.915,176,1.915,177,3.681,178,1.915,179,1.915,180,1.915,181,1.915,182,2.816,183,1.915,184,1.915,185,1.915,186,1.915,187,1.915,188,1.915,189,1.915,190,1.915,191,1.915,192,1.915,193,1.915,194,1.915,195,2.423,196,1.915,197,2.816,198,2.423,199,2.816,200,1.29,201,1.648,202,1.915,203,1.915,204,1.158,205,1.648,206,1.915,207,1.915,208,1.648,209,1.044,210,1.915,211,1.915,212,1.449,213,1.915,214,1.915,215,1.702,216,1.915,268,0.014,269,0.021,270,0.014,421,1.158]],["title/interfaces/LinkCard.html",[131,0.841,439,1.906]],["body/interfaces/LinkCard.html",[0,0.727,3,0.372,4,0.494,9,0.315,10,0.315,11,0.209,16,1.422,17,1.422,18,1.289,19,0.631,21,1.571,23,1.571,25,0.785,26,1.517,28,2.259,57,0.039,59,1.13,65,1.571,67,1.636,103,0.494,106,1.422,108,0.431,110,2.672,131,1.384,144,0.494,145,0.494,256,1.061,257,1.855,268,0.021,269,0.028,270,0.021,306,1.941,421,1.741,439,3.32,440,2.18,441,2.48,442,4.901,443,4.901,444,2.881,445,2.881,446,2.881,447,2.881,448,2.881,449,3.913,450,2.48,451,3.138,452,2.18,453,2.827,454,2.18,455,2.48,456,3.216,457,2.48,458,3.736,459,2.881,460,2.48,461,2.827,462,2.48,463,2.48,464,2.881,465,2.48,466,2.48,467,2.48,468,2.48,469,2.48,470,2.18,471,2.881,472,3.216,473,3.736,474,2.881,475,2.881,476,2.18,477,2.48,478,2.48,479,2.881,480,2.881,481,2.881,482,2.18,483,2.881,484,2.881,485,2.881,486,2.881,487,2.881,488,2.48,489,2.881,490,2.881,491,2.881]],["title/components/LinkCardsComponent.html",[0,0.49,256,0.928]],["body/components/LinkCardsComponent.html",[0,0.609,1,0.632,2,1.28,3,0.221,4,0.294,5,1.037,6,1.037,7,1.037,8,0.936,9,0.188,10,0.381,11,0.253,15,0.936,16,1.28,17,1.28,18,1.884,19,0.922,20,0.573,21,1.414,23,1.414,25,0.467,26,1.053,28,2.108,32,0.573,34,1.28,36,1.28,40,0.847,42,1.414,54,1.27,56,0.847,57,0.039,58,1.399,59,1.02,64,0.847,65,1.414,67,1.315,72,1.28,77,1.414,103,0.294,106,0.847,108,0.257,110,2.495,131,1.25,140,2.23,141,1.706,144,0.294,145,0.294,201,1.477,204,1.568,217,1.963,218,1.963,220,2.594,221,3.001,222,2.233,223,2.233,224,3.001,225,2.349,226,3.487,227,1.716,228,1.716,229,2.594,231,1.716,233,1.477,234,2.233,237,2.263,238,2.233,240,1.748,243,2.367,244,2.638,245,2.233,247,1.037,248,1.568,249,1.28,250,1.037,251,2.108,252,1.037,253,1.037,254,0.697,255,1.037,256,1.284,257,2.024,258,1.037,259,0.697,260,1.037,261,0.697,262,0.847,263,1.037,264,0.697,265,0.936,266,1.037,267,1.037,268,0.013,269,0.019,270,0.013,306,2.349,439,2.833,440,2.638,441,1.477,442,4.577,443,4.577,444,3.128,445,2.594,446,3.128,447,3.128,448,2.594,449,3.782,450,2.233,451,3.186,452,1.963,453,2.638,454,1.963,455,2.233,456,3.001,457,2.233,458,3.487,459,2.594,460,2.233,461,2.638,462,2.233,463,2.233,464,2.594,465,2.692,466,2.233,467,2.233,468,2.233,469,2.233,470,1.963,471,2.594,472,3.001,473,3.487,474,2.594,475,3.128,476,1.963,477,2.233,478,2.233,479,2.594,480,2.594,481,2.594,482,2.638,483,2.594,484,2.594,485,2.594,486,2.594,487,2.594,488,2.233,489,2.594,490,1.716,491,1.716,492,3.143,493,2.079,494,2.079,495,2.079,496,2.079,497,3.143,498,3.143,499,2.233,500,2.233,501,3.128,502,3.789,503,3.143,504,3.143,505,2.079,506,2.594,507,3.744,508,3.789,509,4.536,510,4.224,511,3.789,512,3.128,513,1.716,514,2.079,515,2.594,516,2.079,517,2.079,518,3.143,519,2.079,520,4.224,521,2.594,522,2.079,523,3.143,524,2.079,525,1.716,526,3.143,527,2.079,528,2.079,529,1.477,530,1.716,531,1.716,532,2.079,533,2.079,534,1.716,535,1.716,536,2.079,537,2.079,538,2.079,539,1.716,540,2.079,541,2.079,542,1.716,543,3.789,544,3.789,545,3.789,546,3.789,547,2.079,548,2.079,549,2.079,550,2.079,551,1.716,552,2.079,553,2.079,554,2.079,555,2.079]],["title/modules/LinkCardsModule.html",[271,1.127,279,1.697]],["body/modules/LinkCardsModule.html",[3,0.443,4,0.589,9,0.376,10,0.376,11,0.249,57,0.038,103,0.802,108,0.515,117,2.315,118,2.077,119,2.077,144,0.589,145,0.589,256,1.872,257,1.537,268,0.026,269,0.031,270,0.026,273,1.395,274,1.694,279,3.321,282,2.276,283,1.873,284,1.695,286,2.812,288,1.873,293,2.276,306,2.315,414,2.812,440,2.6,556,3.436,557,3.436,558,3.436,559,4.162,560,3.158,561,2.315,562,4.162,563,5.056]],["title/components/OrganComponent.html",[0,0.49,259,1.023]],["body/components/OrganComponent.html",[0,0.584,1,0.591,2,1.217,3,0.207,4,0.275,5,0.97,6,0.97,7,0.97,8,0.875,9,0.175,10,0.524,11,0.359,13,1.866,15,0.875,16,1.217,17,1.217,18,1.845,19,0.961,20,0.536,21,1.344,23,1.344,25,0.437,26,1.001,27,2.197,28,1.815,29,2.585,32,1.213,34,1.794,36,1.794,37,2.272,38,1.815,39,1.815,40,0.792,42,1.344,47,1.081,50,2.122,51,2.899,54,1.934,56,1.794,57,0.039,58,1.788,59,1.274,64,1.972,65,2.487,67,1.281,69,2.122,86,1.382,89,2.122,90,2.122,103,0.624,106,0.792,107,1.382,108,0.24,109,2.549,110,1.344,111,1.661,113,2.272,114,2.272,115,0.97,116,0.536,117,1.081,118,0.97,119,0.97,133,2.272,134,1.49,135,2.75,136,2.448,138,1.219,140,1.637,141,0.875,144,0.275,145,0.275,204,0.97,212,1.215,215,1.49,218,1.866,224,1.382,225,1.081,237,0.97,238,1.382,239,1.605,240,1.081,247,0.97,248,1.49,249,1.217,250,0.97,251,2.036,252,0.97,253,0.97,254,0.652,255,0.97,256,0.591,257,0.718,258,0.97,259,1.368,260,0.97,261,0.652,262,0.792,263,0.97,264,0.652,265,0.875,266,0.97,267,0.97,268,0.012,269,0.018,270,0.012,348,3.12,367,1.815,507,1.605,529,1.382,539,1.605,564,1.605,565,3.637,566,3.637,567,3.637,568,2.987,569,4.081,570,3.637,571,3.637,572,4.081,573,2.987,574,2.987,575,4.081,576,2.987,577,2.987,578,4.081,579,2.466,580,3.637,581,3.637,582,1.944,583,2.987,584,1.944,585,1.944,586,1.944,587,1.944,588,1.944,589,1.944,590,1.944,591,3.635,592,1.944,593,1.944,594,1.944,595,2.987,596,4.081,597,1.944,598,2.466,599,2.987,600,4.081,601,1.944,602,1.944,603,2.987,604,1.944,605,3.368,606,2.987,607,1.944,608,1.944,609,3.637,610,2.987,611,1.944,612,1.944,613,3.002,614,1.944,615,1.944,616,1.944,617,1.944,618,1.944,619,1.944,620,1.944,621,1.944,622,1.944,623,1.944,624,1.605,625,1.944,626,4.081,627,1.944,628,1.382,629,1.944,630,1.944,631,4.403,632,1.944,633,1.944,634,1.944,635,2.987,636,1.944,637,1.944,638,1.944,639,1.944,640,1.944,641,1.944,642,1.944,643,4.081,644,1.944,645,4.081,646,1.944,647,4.081,648,1.944,649,1.944,650,1.944,651,3.637,652,4.648,653,1.944,654,2.584,655,1.944,656,3.637,657,1.382,658,1.605,659,1.944,660,1.382,661,1.605,662,1.605,663,1.382,664,1.944]],["title/injectables/OrganLookupService.html",[49,1.697,424,1.523]],["body/injectables/OrganLookupService.html",[3,0.587,4,0.604,9,0.23,10,0.488,11,0.339,19,0.66,20,0.703,25,0.573,26,1.224,27,2.326,29,3.007,30,3.033,32,1.415,35,4.094,38,2.948,39,2.562,42,1.644,47,1.418,49,2.031,54,1.772,56,2.091,57,0.039,58,1.896,59,1.154,64,2.01,67,1.176,69,1.811,72,2.091,75,4.018,77,2.311,103,0.699,108,0.315,109,1.592,112,1.592,113,1.592,114,1.592,115,1.272,116,0.703,120,1.592,121,1.811,127,1.811,129,3.378,134,2.13,136,3.007,138,1.562,144,0.361,145,0.361,155,1.811,167,1.811,198,2.595,205,1.811,208,1.811,209,2.478,268,0.016,269,0.022,270,0.016,311,2.105,394,3.848,424,1.823,430,1.811,436,1.811,665,4.464,666,2.105,667,3.523,668,3.653,669,3.653,670,3.653,671,3.653,672,3.653,673,2.549,674,3.653,675,3.653,676,2.549,677,3.653,678,2.549,679,3.653,680,4.268,681,2.549,682,3.653,683,2.549,684,3.653,685,2.549,686,4.268,687,4.934,688,4.268,689,2.549,690,2.549,691,3.653,692,3.653,693,2.549,694,2.549,695,2.549,696,2.549,697,2.549,698,2.549,699,2.549,700,5.287,701,2.549,702,4.268,703,4.268,704,2.549,705,2.549,706,2.549]],["title/modules/OrganModule.html",[271,1.127,280,1.697]],["body/modules/OrganModule.html",[3,0.428,4,0.569,9,0.363,10,0.363,11,0.241,19,0.727,57,0.039,103,0.814,108,0.497,116,1.108,144,0.569,145,0.569,259,2.055,262,1.638,268,0.025,269,0.03,270,0.025,273,1.348,274,1.659,280,3.356,282,2.228,283,1.81,284,1.638,286,2.753,288,2.228,293,2.228,414,2.753,560,3.092,561,2.236,707,3.32,708,3.32,709,3.32,710,3.32,711,3.254,712,4.021,713,4.021,714,4.951,715,3.092,716,4.021]],["title/components/SlideToggleComponent.html",[0,0.49,261,1.023]],["body/components/SlideToggleComponent.html",[0,0.65,1,0.707,2,1.392,3,0.248,4,0.329,5,1.16,6,1.16,7,1.16,8,1.046,9,0.21,10,0.486,11,0.322,15,1.046,16,1.392,17,1.392,18,1.947,19,1.014,20,0.641,21,1.538,23,1.538,25,0.523,26,1.145,27,2.228,32,0.641,34,2.192,36,1.392,40,0.947,42,1.538,54,1.767,56,0.947,57,0.039,58,1.836,59,1.156,64,1.392,65,1.538,67,1.37,72,2.286,77,2.141,86,1.652,103,0.329,106,0.947,108,0.287,138,0.779,140,1.823,141,1.046,142,2.252,144,0.329,145,0.704,209,1.046,215,1.705,225,1.293,237,1.705,244,1.452,247,1.16,248,2.373,249,1.392,250,1.16,251,2.228,252,1.16,253,1.16,254,0.779,255,1.16,256,0.707,257,0.859,258,1.16,259,0.779,260,1.16,261,1.496,262,2.346,263,1.16,264,0.779,265,1.046,266,1.16,267,1.16,268,0.014,269,0.021,270,0.014,346,3.106,348,3.106,367,1.16,501,1.919,531,1.919,534,2.82,535,1.919,542,1.919,579,2.82,591,3.343,605,3.926,613,2.82,628,1.652,657,1.652,660,1.652,663,2.427,715,3.662,717,3.823,718,1.919,719,4.061,720,4.05,721,3.416,722,4.05,723,3.416,724,4.105,725,4.464,726,4.05,727,3.416,728,3.416,729,3.416,730,2.325,731,2.82,732,3.926,733,2.325,734,2.82,735,3.416,736,2.325,737,2.325,738,4.464,739,3.416,740,3.685,741,4.105,742,4.105,743,3.416,744,3.416,745,2.325,746,2.82,747,2.325,748,3.416,749,3.416,750,3.416,751,3.416,752,3.416,753,2.325,754,2.325,755,3.416,756,2.325,757,2.325,758,2.325,759,2.325,760,2.325,761,2.325,762,2.325,763,3.416,764,2.325,765,2.325,766,3.416,767,1.919,768,2.325,769,2.325,770,1.919,771,2.325,772,2.325,773,3.416,774,2.325,775,3.416,776,3.416,777,3.416,778,2.325,779,2.325,780,2.325]],["title/modules/SlideToggleModule.html",[271,1.127,711,1.697]],["body/modules/SlideToggleModule.html",[3,0.44,4,0.585,9,0.373,10,0.373,11,0.247,57,0.039,103,0.8,108,0.511,144,0.585,145,0.585,261,2.062,262,1.682,268,0.025,269,0.031,270,0.025,273,1.384,274,1.686,282,2.265,283,1.859,284,1.682,286,2.798,288,1.859,293,2.265,414,2.798,560,3.143,561,2.297,711,3.316,715,3.143,717,2.935,719,2.935,781,3.409,782,3.409,783,3.409,784,4.13,785,5.032,786,4.13,787,4.13]],["title/components/StatsListComponent.html",[0,0.49,264,1.023]],["body/components/StatsListComponent.html",[0,0.785,1,1.004,2,1.778,3,0.352,4,0.467,5,1.647,6,1.647,7,1.647,8,1.486,9,0.298,10,0.441,11,0.293,15,1.486,16,1.778,17,1.778,18,2.125,19,1.052,20,0.91,21,1.965,23,1.965,25,0.742,34,1.345,36,1.778,40,2.444,41,3.844,54,1.463,57,0.039,58,1.612,59,0.981,67,1.203,103,0.618,106,1.345,108,0.408,112,3.054,115,1.647,144,0.467,145,0.467,204,1.647,215,2.178,217,2.062,218,2.726,221,3.474,222,2.346,223,3.101,225,2.427,233,3.101,234,3.101,240,1.836,242,2.725,243,2.062,244,3.054,245,3.101,247,1.647,248,2.178,249,1.778,250,1.647,251,2.596,252,1.647,253,1.647,254,1.106,255,1.647,256,1.004,257,1.219,258,1.647,259,1.106,260,1.647,261,1.106,262,1.345,263,1.647,264,1.744,265,2.201,266,1.647,267,1.647,268,0.02,269,0.027,270,0.02,309,3.054,348,3.054,512,3.603,529,2.346,530,2.725,767,2.725,788,3.474,789,2.725,790,4.89,791,4.365,792,3.301,793,3.301,794,4.365,795,4.365,796,3.301,797,3.301,798,3.301]],["title/modules/StatsListModule.html",[271,1.127,281,1.697]],["body/modules/StatsListModule.html",[3,0.447,4,0.594,9,0.379,10,0.379,11,0.251,40,1.709,57,0.039,103,0.774,108,0.519,144,0.594,145,0.594,264,2.066,268,0.026,269,0.031,270,0.026,273,1.406,274,1.703,281,3.326,282,2.287,283,1.888,284,1.709,286,2.825,288,1.888,293,2.287,309,2.62,414,2.825,560,3.173,561,2.333,788,2.981,799,3.463,800,3.463,801,3.463,802,4.195,803,4.195]],["title/modules/StoreModule.html",[271,1.127,385,1.697]],["body/modules/StoreModule.html",[3,0.427,4,0.567,9,0.362,10,0.362,11,0.24,19,0.724,53,2.747,57,0.039,103,0.828,108,0.495,116,1.361,138,1.343,144,0.699,145,0.567,268,0.025,269,0.03,270,0.025,271,1.48,273,1.343,288,1.803,293,2.223,299,2.847,352,2.847,353,2.847,369,2.847,385,2.747,407,3.307,408,4.077,513,3.307,724,3.307,804,2.847,805,4.006,806,3.307,807,3.307,808,4.006,809,3.307,810,4.42,811,4.006,812,3.307,813,3.307,814,3.307,815,2.847,816,4.006,817,4.006,818,4.006,819,3.307,820,4.006,821,4.006,822,4.006,823,4.006,824,4.006,825,4.006,826,4.006,827,4.006,828,4.006,829,4.006,830,4.006]],["title/changelog.html",[831,1.819,832,1.599,833,1.819]],["body/changelog.html",[0,0.435,2,0.698,3,0.384,6,0.493,8,0.445,9,0.089,11,0.318,15,1.218,18,0.633,19,1.005,20,0.272,26,0.331,28,1.35,29,1.505,32,0.272,34,0.402,36,0.698,37,2.493,38,0.855,39,0.493,54,0.331,57,0.026,59,0.222,77,0.445,80,0.702,81,0.549,104,1.702,110,1.797,111,2.384,115,1.527,116,0.272,118,0.493,119,0.493,131,1.05,132,0.549,134,0.855,140,1.218,142,0.549,150,0.617,200,1.261,204,1.527,217,0.617,219,1.872,235,0.815,237,0.493,240,0.549,243,1.07,249,0.402,257,0.633,265,0.771,268,0.006,269,0.011,270,0.025,274,0.907,298,1.07,300,1.865,362,0.815,367,2.14,369,3.72,370,0.815,375,2.972,421,0.493,449,3.281,450,1.923,451,1.416,452,1.416,453,2.493,454,3.545,461,3.36,463,2.383,465,0.702,466,1.611,467,1.923,468,1.923,469,0.702,470,0.617,472,0.702,476,1.912,478,0.702,482,1.416,499,3.454,500,1.611,506,0.815,521,1.414,525,1.414,598,1.872,628,1.217,654,1.923,657,0.702,658,1.872,661,0.815,662,2.234,663,1.217,667,3.886,719,1.217,734,0.815,740,1.872,741,1.414,742,1.414,746,2.769,770,0.815,819,0.815,832,1.416,833,1.217,834,1.713,835,0.988,836,2.706,837,1.713,838,6.051,839,5.148,840,2.268,841,0.988,842,1.713,843,0.988,844,4.52,845,0.988,846,1.713,847,3.812,848,0.815,849,0.988,850,1.414,851,1.414,852,1.414,853,3.81,854,0.988,855,0.988,856,0.988,857,2.268,858,1.713,859,2.268,860,4.288,861,0.988,862,1.414,863,0.815,864,0.988,865,0.988,866,3.295,867,1.713,868,3.061,869,2.268,870,2.268,871,0.988,872,1.713,873,1.713,874,1.713,875,0.988,876,2.948,877,0.988,878,4.788,879,0.988,880,0.988,881,2.268,882,3.061,883,1.713,884,2.268,885,2.268,886,2.706,887,1.713,888,2.268,889,0.988,890,1.713,891,1.713,892,0.988,893,3.6,894,3.354,895,3.6,896,1.713,897,0.988,898,0.988,899,4.788,900,0.988,901,0.988,902,1.713,903,2.268,904,2.527,905,0.988,906,1.713,907,0.988,908,0.988,909,0.988,910,1.713,911,0.988,912,0.988,913,0.988,914,2.268,915,1.872,916,0.988,917,0.988,918,2.527,919,1.414,920,0.988,921,3.354,922,4.288,923,4.411,924,1.713,925,3.061,926,0.988,927,1.713,928,3.354,929,1.713,930,0.988,931,2.706,932,0.988,933,0.988,934,1.713,935,2.972,936,0.988,937,3.6,938,0.988,939,0.988,940,1.713,941,0.988,942,1.713,943,2.268,944,0.988,945,0.988,946,0.988,947,1.713,948,0.988,949,0.988,950,0.988,951,0.988,952,4.618,953,0.988,954,0.815,955,1.414,956,0.988,957,1.713,958,0.815,959,0.988,960,1.713,961,2.706,962,2.706,963,0.988,964,2.268,965,0.988,966,0.988,967,1.713,968,0.988,969,0.988,970,3.354,971,2.095,972,2.527,973,1.872,974,0.988,975,2.527,976,0.988,977,2.268,978,3.145,979,4.52,980,0.988,981,1.713,982,1.872,983,0.988,984,0.988,985,0.988,986,3.061,987,0.988,988,0.988,989,0.988,990,0.988,991,2.268,992,0.988,993,1.414,994,1.414,995,3.6,996,0.988,997,3.6,998,3.145,999,0.988,1000,0.988,1001,0.988,1002,0.988,1003,0.988,1004,0.988,1005,2.527,1006,0.988,1007,0.988,1008,0.988,1009,1.713,1010,1.713,1011,0.988,1012,1.713,1013,1.713,1014,1.713,1015,1.713,1016,0.988,1017,2.268,1018,0.988,1019,0.988,1020,0.815,1021,0.988,1022,1.713,1023,1.713,1024,0.988,1025,0.988,1026,1.713,1027,1.713,1028,1.713,1029,0.988,1030,0.988,1031,0.988,1032,0.988,1033,2.268,1034,0.988,1035,1.713,1036,0.988,1037,0.988,1038,3.354,1039,1.414,1040,0.988,1041,0.815,1042,0.988,1043,0.988,1044,0.988,1045,2.268,1046,1.713,1047,3.354,1048,1.414,1049,2.706,1050,0.988,1051,0.988,1052,2.706,1053,0.988,1054,0.988,1055,0.988,1056,0.988,1057,1.713,1058,1.713,1059,0.988,1060,1.713,1061,0.988,1062,1.713,1063,1.713,1064,0.988,1065,0.988,1066,2.706,1067,0.988,1068,0.988,1069,0.988,1070,0.988,1071,1.713,1072,0.988,1073,0.988,1074,0.988,1075,0.988,1076,0.988,1077,0.988,1078,1.713,1079,0.988,1080,0.988,1081,0.988,1082,0.988,1083,0.988,1084,1.713,1085,0.988,1086,0.988,1087,0.988,1088,2.268,1089,2.268,1090,1.713,1091,0.815,1092,0.988,1093,0.988,1094,1.713,1095,0.988,1096,0.988,1097,0.988,1098,1.713,1099,1.713,1100,1.713,1101,1.713,1102,0.988,1103,1.713,1104,2.706,1105,2.268,1106,0.988,1107,0.988,1108,0.988,1109,0.988,1110,0.815,1111,0.988,1112,1.713,1113,0.988,1114,0.988,1115,1.713,1116,2.706,1117,0.988,1118,0.988,1119,0.988,1120,0.988,1121,3.354,1122,2.268,1123,1.713,1124,0.988,1125,0.988,1126,2.268,1127,1.713,1128,2.706,1129,0.988,1130,0.988,1131,0.988,1132,1.713,1133,0.988,1134,0.988,1135,0.988,1136,0.988,1137,0.988,1138,2.706,1139,0.988,1140,2.268,1141,2.706,1142,0.988,1143,2.268,1144,3.061,1145,1.713,1146,1.713,1147,1.713,1148,1.713,1149,2.268,1150,2.706,1151,3.061,1152,1.713,1153,2.268,1154,0.988,1155,0.988,1156,3.6,1157,0.988,1158,2.706,1159,3.991,1160,0.988,1161,0.988,1162,0.988,1163,0.988,1164,0.988,1165,0.988,1166,1.713,1167,0.988,1168,1.713,1169,0.988,1170,0.988,1171,0.988,1172,0.988,1173,1.713,1174,0.988,1175,0.988,1176,1.713,1177,1.872,1178,1.713,1179,2.268,1180,0.988,1181,0.988,1182,0.988,1183,1.713,1184,0.988,1185,0.988,1186,0.988,1187,0.988,1188,0.988,1189,0.988,1190,0.988,1191,1.713,1192,0.988,1193,0.988,1194,3.354,1195,1.713,1196,2.268,1197,1.713,1198,0.988,1199,0.988,1200,0.988,1201,0.988,1202,2.268,1203,0.988,1204,0.988,1205,0.988,1206,1.713,1207,1.713,1208,1.713,1209,1.713,1210,2.268,1211,0.988,1212,0.988,1213,0.988,1214,0.988,1215,0.988,1216,0.988,1217,0.815,1218,0.988,1219,0.988,1220,0.988,1221,1.713,1222,0.988,1223,0.988,1224,1.414,1225,0.988,1226,0.988,1227,0.988,1228,0.988,1229,0.988,1230,0.988,1231,0.988,1232,0.988,1233,0.988,1234,0.988,1235,3.81,1236,0.988,1237,1.872,1238,3.81,1239,2.268,1240,2.706,1241,1.713,1242,2.268,1243,0.988,1244,1.713,1245,0.988,1246,0.988,1247,1.713,1248,1.713,1249,1.713,1250,0.988,1251,0.988,1252,0.988,1253,0.988,1254,1.713,1255,0.988,1256,1.872,1257,0.988,1258,0.988,1259,0.988,1260,0.988,1261,0.815,1262,0.988,1263,0.988,1264,0.988,1265,0.988,1266,0.988,1267,0.988,1268,0.988,1269,0.988,1270,0.988,1271,0.988,1272,3.061,1273,0.988,1274,0.988,1275,0.988,1276,0.988,1277,0.988,1278,0.988,1279,0.988,1280,0.988,1281,0.988,1282,0.988,1283,0.988,1284,0.988,1285,0.988,1286,0.988,1287,1.713,1288,0.988,1289,1.713,1290,0.988,1291,1.713,1292,1.713,1293,2.706,1294,2.706,1295,1.713,1296,1.713,1297,0.988,1298,0.988,1299,0.988,1300,2.268,1301,0.988,1302,0.815,1303,0.988,1304,0.988,1305,0.988,1306,0.988,1307,0.988,1308,1.713,1309,4.149,1310,2.268,1311,0.988,1312,1.713,1313,0.988,1314,0.988,1315,0.988,1316,0.988,1317,0.988,1318,0.988,1319,0.988,1320,0.988,1321,1.713,1322,2.972,1323,1.713,1324,0.988,1325,0.988,1326,0.988,1327,0.988,1328,1.713,1329,0.988,1330,0.988,1331,1.923,1332,0.988,1333,1.713,1334,0.988,1335,0.988,1336,0.988,1337,1.713,1338,0.988,1339,0.988,1340,0.988,1341,0.988,1342,1.713,1343,2.268,1344,1.713,1345,0.988,1346,1.414,1347,0.988,1348,0.988,1349,0.988,1350,0.988,1351,0.988,1352,0.988,1353,0.988,1354,0.988,1355,0.988,1356,0.815,1357,0.988,1358,0.988,1359,1.713,1360,0.988,1361,0.988,1362,0.988,1363,0.988,1364,0.988,1365,0.988,1366,0.988,1367,1.713,1368,0.988,1369,0.988,1370,0.988,1371,0.815,1372,0.988,1373,0.988,1374,1.713,1375,0.988,1376,0.988,1377,0.988,1378,0.988,1379,0.988,1380,0.988,1381,0.988,1382,0.988,1383,0.988,1384,0.988,1385,0.988,1386,1.713,1387,0.988,1388,0.988,1389,0.988,1390,1.713,1391,0.815,1392,0.815,1393,0.988,1394,0.988,1395,0.988,1396,0.988,1397,0.988,1398,0.988,1399,0.988]],["title/coverage.html",[1331,2.942]],["body/coverage.html",[0,0.916,1,1.106,9,0.328,10,0.553,11,0.367,12,3.201,49,2.023,57,0.038,59,0.818,129,2.273,131,1.412,132,2.023,139,2.273,141,2.736,254,1.219,256,1.106,259,1.219,261,1.219,264,1.219,268,0.022,269,0.029,270,0.022,300,2.849,306,2.585,309,2.273,316,3.641,317,3.641,354,3.838,367,1.815,380,2.585,381,2.585,397,2.023,399,2.904,420,2.273,422,3.303,423,3.303,424,2.32,439,2.273,440,2.904,441,3.303,551,3.838,564,3.003,660,2.585,665,3.003,666,3.003,715,2.904,717,2.585,718,3.003,788,2.585,789,3.003,804,2.585,815,2.585,971,2.273,1331,2.585,1400,3.638,1401,3.638,1402,3.638,1403,5.124,1404,3.638,1405,3.638,1406,3.638,1407,4.649,1408,3.638,1409,3.638,1410,3.638,1411,3.638,1412,3.638,1413,4.649,1414,3.638,1415,3.638]],["title/dependencies.html",[274,1.228,958,2.113]],["body/dependencies.html",[9,0.283,57,0.039,104,1.744,108,0.388,110,1.412,117,2.346,118,1.565,119,1.565,120,1.959,249,1.718,268,0.019,269,0.026,270,0.019,274,1.051,295,2.589,297,3.482,298,2.635,455,2.229,561,1.744,624,2.589,732,2.589,806,3.482,807,2.589,809,2.589,810,3.482,812,2.589,852,2.589,862,2.589,863,2.589,975,2.589,993,2.589,1039,2.589,1048,2.589,1177,2.589,1237,3.482,1416,3.137,1417,3.137,1418,3.137,1419,5.876,1420,3.137,1421,3.137,1422,3.137,1423,3.137,1424,3.137,1425,3.137,1426,3.137,1427,3.137,1428,3.137,1429,3.137,1430,3.137,1431,3.137,1432,4.766,1433,3.137,1434,4.218,1435,3.137,1436,3.137,1437,3.137,1438,3.137,1439,4.766,1440,3.137,1441,3.137,1442,3.137,1443,3.137,1444,3.137,1445,3.137,1446,3.137,1447,3.137,1448,3.137,1449,3.137,1450,4.218,1451,3.137,1452,4.218,1453,3.137,1454,3.137,1455,3.137,1456,3.137,1457,3.137,1458,4.218,1459,3.137,1460,3.137,1461,3.137,1462,4.218,1463,3.137,1464,3.137,1465,3.137,1466,3.137,1467,3.137,1468,3.137,1469,3.137,1470,3.137,1471,3.137,1472,3.137,1473,3.137,1474,3.137,1475,3.137,1476,3.137,1477,3.137,1478,3.137,1479,2.589,1480,3.137,1481,3.137,1482,3.137,1483,3.137,1484,3.137,1485,3.137,1486,4.218,1487,3.137,1488,3.137,1489,3.137,1490,3.137,1491,3.137,1492,3.137,1493,3.137,1494,3.137,1495,3.137,1496,3.137,1497,3.137,1498,3.137,1499,3.137,1500,3.137,1501,3.137,1502,3.137,1503,3.137,1504,3.137,1505,3.137,1506,3.137,1507,3.137,1508,3.137,1509,3.137,1510,3.137,1511,3.137,1512,3.137,1513,3.137,1514,3.137,1515,3.137,1516,3.137,1517,3.137,1518,3.137,1519,3.137,1520,4.218,1521,3.137,1522,3.137,1523,3.137,1524,3.137,1525,3.137,1526,3.137,1527,3.137,1528,3.137,1529,3.137,1530,3.137,1531,3.137,1532,3.137]],["title/miscellaneous/functions.html",[1533,1.599,1534,3.024]],["body/miscellaneous/functions.html",[10,0.407,11,0.27,25,1.015,32,1.462,56,2.162,57,0.037,58,1.96,64,2.162,67,1.462,72,2.162,268,0.028,269,0.033,270,0.028,300,3.135,316,3.207,317,4.005,355,3.726,371,3.726,380,3.771,381,3.771,1533,2.819,1534,3.726,1535,5.307]],["title/index.html",[25,0.576,831,1.819,832,1.599]],["body/index.html",[0,0.538,3,0.579,11,0.295,19,1.125,57,0.027,104,1.865,111,1.865,131,1.215,200,2.452,237,1.673,268,0.021,269,0.027,270,0.021,393,4.321,421,1.673,451,3.078,452,2.094,453,3.078,454,2.754,456,3.501,457,2.382,460,2.382,461,3.078,462,2.382,470,2.754,476,2.094,477,2.382,482,2.754,499,3.133,500,3.133,515,2.768,833,2.382,847,4.767,848,3.64,850,3.64,851,4.321,876,3.719,904,2.768,915,3.64,918,3.64,919,3.64,935,2.768,954,2.768,955,2.768,971,2.094,972,4.489,973,4.321,978,3.64,982,2.768,994,3.64,998,2.768,1091,3.64,1110,2.768,1261,2.768,1346,2.768,1356,2.768,1391,2.768,1536,4.41,1537,4.41,1538,4.41,1539,3.353,1540,3.353,1541,3.353,1542,3.353,1543,3.64,1544,3.353,1545,3.353,1546,4.41,1547,4.41,1548,4.41,1549,4.927,1550,3.353,1551,4.927,1552,3.353,1553,3.353,1554,4.41,1555,3.353,1556,3.353,1557,3.353,1558,3.353,1559,3.353,1560,3.353,1561,3.353,1562,3.353,1563,3.353,1564,3.353,1565,3.353,1566,3.353,1567,4.41,1568,3.353,1569,3.353,1570,4.41,1571,4.41,1572,3.353,1573,4.41,1574,4.41,1575,3.353,1576,3.353,1577,3.353,1578,3.353,1579,3.353,1580,3.353,1581,3.353,1582,3.353,1583,3.353,1584,3.353,1585,3.353,1586,3.353,1587,3.353]],["title/license.html",[831,1.819,832,1.599,1588,2.113]],["body/license.html",[57,0.031,200,2.756,212,2.517,268,0.025,269,0.031,270,0.025,284,1.641,731,3.326,876,2.863,971,2.517,1005,4.091,1020,4.432,1041,3.326,1217,4.091,1302,3.326,1322,3.326,1371,3.326,1392,3.326,1479,3.326,1543,4.984,1588,3.326,1589,4.029,1590,5.369,1591,4.029,1592,4.029,1593,4.957,1594,4.029,1595,4.029,1596,4.029,1597,4.029,1598,4.029,1599,4.029,1600,4.957,1601,4.029,1602,4.029,1603,4.029,1604,4.029,1605,4.029,1606,4.029,1607,4.029,1608,4.029,1609,4.029,1610,4.029,1611,4.029,1612,4.029,1613,4.957,1614,4.029,1615,4.029,1616,4.029,1617,4.029,1618,4.029,1619,4.029,1620,4.957,1621,4.029,1622,4.029,1623,4.029,1624,4.029,1625,4.029,1626,4.029,1627,4.029,1628,4.029,1629,4.029,1630,4.029,1631,4.029,1632,4.029,1633,4.029,1634,4.029,1635,4.029,1636,4.029,1637,4.029,1638,4.029,1639,4.029,1640,4.029,1641,4.029,1642,4.029,1643,4.029,1644,4.029,1645,4.029]],["title/modules.html",[273,1.388]],["body/modules.html",[57,0.033,268,0.028,269,0.033,270,0.028,272,2.825,273,1.516,278,2.515,279,2.515,280,2.515,281,2.515,298,3.757,385,2.515,711,2.515,866,4.965,1256,3.734,1646,6.014,1647,6.072,1648,4.523]],["title/overview.html",[1649,3.418]],["body/overview.html",[1,1.582,2,1.531,57,0.038,254,1.744,256,1.777,259,1.958,261,1.958,264,1.958,268,0.023,269,0.029,270,0.023,272,3.827,273,1.26,274,1.591,275,3.104,276,3.104,277,3.104,278,3.134,279,3.2,280,3.288,281,3.2,282,2.137,283,1.692,284,1.531,383,3.104,384,3.104,385,2.893,421,1.876,436,2.671,488,2.671,556,3.104,557,3.104,558,3.104,654,2.671,707,3.104,708,3.104,709,3.104,710,3.104,711,3.2,781,3.104,782,3.104,783,3.104,799,3.104,800,3.104,801,3.104,1224,3.104,1649,3.104,1650,3.76]],["title/miscellaneous/variables.html",[1533,1.599,1651,3.024]],["body/miscellaneous/variables.html",[10,0.474,11,0.314,12,2.767,25,0.996,53,2.463,57,0.038,59,1.18,72,2.138,77,2.362,116,1.221,139,3.278,140,1.994,141,2.603,142,2.463,143,3.147,268,0.027,269,0.032,270,0.027,299,3.147,804,3.147,813,3.657,814,3.657,815,3.729,1533,2.767,1651,3.657,1652,4.43,1653,4.43]]],"invertedIndex":[["",{"_index":57,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":141,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["0.001",{"_index":143,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["0.1.0",{"_index":1390,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":1532,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":1466,"title":{},"body":{"dependencies.html":{}}}],["0.2",{"_index":546,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["0.2.0",{"_index":1386,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":1487,"title":{},"body":{"dependencies.html":{}}}],["0.5",{"_index":778,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["0.5.0",{"_index":1374,"title":{},"body":{"changelog.html":{}}}],["0.5rem",{"_index":659,"title":{},"body":{"components/OrganComponent.html":{}}}],["0.6.0",{"_index":1346,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0.875rem",{"_index":536,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["0.95rem",{"_index":230,"title":{},"body":{"components/AppComponent.html":{}}}],["0/1",{"_index":1403,"title":{},"body":{"coverage.html":{}}}],["0/15",{"_index":1402,"title":{},"body":{"coverage.html":{}}}],["0/19",{"_index":1404,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":1406,"title":{},"body":{"coverage.html":{}}}],["0/21",{"_index":1410,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":1407,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":1413,"title":{},"body":{"coverage.html":{}}}],["0/5",{"_index":1405,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":1408,"title":{},"body":{"coverage.html":{}}}],["00788",{"_index":487,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["01",{"_index":883,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":1203,"title":{},"body":{"changelog.html":{}}}],["021",{"_index":486,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["03",{"_index":1144,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":925,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":1116,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":836,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":882,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":1323,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":868,"title":{},"body":{"changelog.html":{}}}],["0ms",{"_index":550,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["0ms,border",{"_index":549,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["0ms,box",{"_index":547,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["0rem",{"_index":516,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["1",{"_index":243,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["1.0",{"_index":1238,"title":{},"body":{"changelog.html":{}}}],["1.0.0",{"_index":1309,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":1461,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":1470,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":1527,"title":{},"body":{"dependencies.html":{}}}],["1.1.0",{"_index":1287,"title":{},"body":{"changelog.html":{}}}],["1.16.0",{"_index":1505,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":1463,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":1237,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":1474,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":1507,"title":{},"body":{"dependencies.html":{}}}],["1.25",{"_index":651,"title":{},"body":{"components/OrganComponent.html":{}}}],["1.3.5",{"_index":1202,"title":{},"body":{"changelog.html":{}}}],["1.325rem",{"_index":797,"title":{},"body":{"components/StatsListComponent.html":{}}}],["1.4.0",{"_index":1177,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":1490,"title":{},"body":{"dependencies.html":{}}}],["1.5",{"_index":232,"title":{},"body":{"components/AppComponent.html":{}}}],["1.5.0",{"_index":1143,"title":{},"body":{"changelog.html":{}}}],["1.6.0",{"_index":1128,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":1115,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":1476,"title":{},"body":{"dependencies.html":{}}}],["1/1",{"_index":1409,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":375,"title":{},"body":{"components/AppWebComponent.html":{},"changelog.html":{}}}],["10.0.0",{"_index":1485,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":660,"title":{},"body":{"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"coverage.html":{}}}],["1000",{"_index":652,"title":{},"body":{"components/OrganComponent.html":{}}}],["101",{"_index":777,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["10x",{"_index":1299,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":1179,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":1508,"title":{},"body":{"dependencies.html":{}}}],["12",{"_index":935,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":1510,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":1419,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":1424,"title":{},"body":{"dependencies.html":{}}}],["13",{"_index":1028,"title":{},"body":{"changelog.html":{}}}],["136",{"_index":629,"title":{},"body":{"components/OrganComponent.html":{}}}],["14",{"_index":926,"title":{},"body":{"changelog.html":{}}}],["15",{"_index":837,"title":{},"body":{"changelog.html":{}}}],["15.126.1",{"_index":1417,"title":{},"body":{"dependencies.html":{}}}],["16",{"_index":1090,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":1478,"title":{},"body":{"dependencies.html":{}}}],["17",{"_index":903,"title":{},"body":{"changelog.html":{}}}],["173",{"_index":633,"title":{},"body":{"components/OrganComponent.html":{}}}],["1px",{"_index":509,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["1rem",{"_index":225,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["2",{"_index":654,"title":{},"body":{"components/OrganComponent.html":{},"changelog.html":{},"overview.html":{}}}],["2.0.0",{"_index":1089,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":1482,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":1048,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":1039,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.28125rem",{"_index":532,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["2.3.0",{"_index":1035,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":1027,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":1014,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":993,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.6.7",{"_index":1512,"title":{},"body":{"dependencies.html":{}}}],["2.75",{"_index":541,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["2.8.5",{"_index":1472,"title":{},"body":{"dependencies.html":{}}}],["2.awsapprunner.com",{"_index":1561,"title":{},"body":{"index.html":{}}}],["2019",{"_index":1322,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":1240,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":979,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":853,"title":{},"body":{"changelog.html":{}}}],["2023",{"_index":835,"title":{},"body":{"changelog.html":{}}}],["21",{"_index":1117,"title":{},"body":{"changelog.html":{}}}],["22",{"_index":1311,"title":{},"body":{"changelog.html":{}}}],["229",{"_index":630,"title":{},"body":{"components/OrganComponent.html":{}}}],["229.5",{"_index":635,"title":{},"body":{"components/OrganComponent.html":{}}}],["24",{"_index":1375,"title":{},"body":{"changelog.html":{}}}],["250ms",{"_index":543,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["255",{"_index":631,"title":{},"body":{"components/OrganComponent.html":{}}}],["26",{"_index":1145,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":1182,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":869,"title":{},"body":{"changelog.html":{}}}],["29rem",{"_index":246,"title":{},"body":{"components/AppComponent.html":{}}}],["2f3346",{"_index":524,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["2px",{"_index":540,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["2rem",{"_index":245,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{}}}],["3",{"_index":1224,"title":{},"body":{"changelog.html":{},"overview.html":{}}}],["3.0.0",{"_index":975,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":1439,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":940,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":934,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":924,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":902,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":881,"title":{},"body":{"changelog.html":{}}}],["3.5.0",{"_index":867,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":1445,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":1447,"title":{},"body":{"dependencies.html":{}}}],["3.6",{"_index":1567,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":852,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.7.0",{"_index":834,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":1452,"title":{},"body":{"dependencies.html":{}}}],["3.7.3",{"_index":1454,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":628,"title":{},"body":{"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["30rem",{"_index":505,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["31",{"_index":1288,"title":{},"body":{"changelog.html":{}}}],["352px",{"_index":664,"title":{},"body":{"components/OrganComponent.html":{}}}],["3d",{"_index":899,"title":{},"body":{"changelog.html":{}}}],["4",{"_index":1259,"title":{},"body":{"changelog.html":{}}}],["4.0",{"_index":1547,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":1451,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":1480,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":1502,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":1468,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":1492,"title":{},"body":{"dependencies.html":{}}}],["444a65",{"_index":520,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["47",{"_index":634,"title":{},"body":{"components/OrganComponent.html":{}}}],["4th",{"_index":855,"title":{},"body":{"changelog.html":{}}}],["5.0.0",{"_index":1495,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":1500,"title":{},"body":{"dependencies.html":{}}}],["50",{"_index":769,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["500",{"_index":538,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["5th",{"_index":843,"title":{},"body":{"changelog.html":{}}}],["6",{"_index":488,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"overview.html":{}}}],["6.0.1",{"_index":1498,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":1514,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":1448,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":1524,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":1521,"title":{},"body":{"dependencies.html":{}}}],["6px",{"_index":519,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["6s",{"_index":768,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["7",{"_index":1650,"title":{},"body":{"overview.html":{}}}],["7/8",{"_index":1412,"title":{},"body":{"coverage.html":{}}}],["71",{"_index":776,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["8",{"_index":1123,"title":{},"body":{"changelog.html":{}}}],["8.3.2",{"_index":1530,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":1443,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":1432,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":1435,"title":{},"body":{"dependencies.html":{}}}],["85",{"_index":1385,"title":{},"body":{"changelog.html":{}}}],["87",{"_index":1411,"title":{},"body":{"coverage.html":{}}}],["90",{"_index":661,"title":{},"body":{"components/OrganComponent.html":{},"changelog.html":{}}}],["95",{"_index":929,"title":{},"body":{"changelog.html":{}}}],["9rem",{"_index":530,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{}}}],["9th",{"_index":1155,"title":{},"body":{"changelog.html":{}}}],["_blank",{"_index":491,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["_sex",{"_index":680,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["ability",{"_index":1062,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":1371,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["accessors",{"_index":728,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["accurate",{"_index":1142,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":1639,"title":{},"body":{"license.html":{}}}],["actions",{"_index":1228,"title":{},"body":{"changelog.html":{}}}],["actual_component",{"_index":267,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["add",{"_index":448,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["added",{"_index":838,"title":{},"body":{"changelog.html":{}}}],["additional",{"_index":1372,"title":{},"body":{"changelog.html":{}}}],["addressed",{"_index":1281,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":906,"title":{},"body":{"changelog.html":{}}}],["adjusting",{"_index":1275,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":1175,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":1092,"title":{},"body":{"changelog.html":{}}}],["afterviewchecked",{"_index":565,"title":{},"body":{"components/OrganComponent.html":{}}}],["afterviewinit",{"_index":14,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["again",{"_index":1249,"title":{},"body":{"changelog.html":{}}}],["age",{"_index":1010,"title":{},"body":{"changelog.html":{}}}],["aggregateresult",{"_index":112,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{},"components/StatsListComponent.html":{}}}],["ala",{"_index":1032,"title":{},"body":{"changelog.html":{}}}],["align",{"_index":234,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{}}}],["all_possible_organs",{"_index":686,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["allowed",{"_index":771,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["allows",{"_index":1160,"title":{},"body":{"changelog.html":{}}}],["alpha",{"_index":1358,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":1337,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":1333,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":1321,"title":{},"body":{"changelog.html":{}}}],["alt",{"_index":1550,"title":{},"body":{"index.html":{}}}],["analytics",{"_index":119,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["analyticsmodule",{"_index":395,"title":{},"body":{"modules/CoreModule.html":{}}}],["analyticsmodule.forroot",{"_index":402,"title":{},"body":{"modules/CoreModule.html":{}}}],["anatomical",{"_index":466,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["and/or",{"_index":1611,"title":{},"body":{"license.html":{}}}],["angular",{"_index":104,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":1418,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":1420,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":561,"title":{},"body":{"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"dependencies.html":{}}}],["angular/common/http",{"_index":388,"title":{},"body":{"modules/CoreModule.html":{}}}],["angular/compiler",{"_index":1421,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":108,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"dependencies.html":{}}}],["angular/elements",{"_index":295,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/forms",{"_index":1422,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":1423,"title":{},"body":{"dependencies.html":{}}}],["angular/material/slide",{"_index":786,"title":{},"body":{"modules/SlideToggleModule.html":{}}}],["angular/platform",{"_index":297,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/router",{"_index":1426,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":1427,"title":{},"body":{"dependencies.html":{}}}],["api",{"_index":847,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":1558,"title":{},"body":{"index.html":{}}}],["apiendpointdatasourceservice",{"_index":426,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["app",{"_index":299,"title":{},"body":{"modules/AppModule.html":{},"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["app.component",{"_index":302,"title":{},"body":{"modules/AppModule.html":{}}}],["app.component.html",{"_index":24,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["app.component.scss",{"_index":22,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["appcomponent",{"_index":1,"title":{"components/AppComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"coverage.html":{},"overview.html":{}}}],["appear",{"_index":987,"title":{},"body":{"changelog.html":{}}}],["appelement",{"_index":312,"title":{},"body":{"modules/AppModule.html":{}}}],["application",{"_index":1164,"title":{},"body":{"changelog.html":{}}}],["applied",{"_index":1211,"title":{},"body":{"changelog.html":{}}}],["appmodule",{"_index":272,"title":{"modules/AppModule.html":{}},"body":{"modules/AppModule.html":{},"modules.html":{},"overview.html":{}}}],["appname",{"_index":405,"title":{},"body":{"modules/CoreModule.html":{}}}],["appropriate",{"_index":957,"title":{},"body":{"changelog.html":{}}}],["appwebcomponent",{"_index":254,"title":{"components/AppWebComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"coverage.html":{},"overview.html":{}}}],["april",{"_index":1154,"title":{},"body":{"changelog.html":{}}}],["arial",{"_index":553,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["arising",{"_index":1643,"title":{},"body":{"license.html":{}}}],["array.isarray(val",{"_index":360,"title":{},"body":{"components/AppWebComponent.html":{}}}],["asct",{"_index":474,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["asct+b",{"_index":472,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["assignment/selection",{"_index":1130,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":1041,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["atlas",{"_index":500,"title":{},"body":{"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["attempts",{"_index":1018,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":1633,"title":{},"body":{"license.html":{}}}],["auto",{"_index":241,"title":{},"body":{"components/AppComponent.html":{}}}],["automatic",{"_index":1263,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":1212,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":1256,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["avoid",{"_index":1079,"title":{},"body":{"changelog.html":{}}}],["award",{"_index":1586,"title":{},"body":{"index.html":{}}}],["backend",{"_index":1001,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":237,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{},"index.html":{}}}],["bar",{"_index":774,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["base",{"_index":1342,"title":{},"body":{"changelog.html":{}}}],["based",{"_index":1068,"title":{},"body":{"changelog.html":{}}}],["basepath",{"_index":410,"title":{},"body":{"modules/CoreModule.html":{}}}],["basewebcomponent",{"_index":319,"title":{},"body":{"components/AppWebComponent.html":{}}}],["basic",{"_index":1091,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["before",{"_index":991,"title":{},"body":{"changelog.html":{}}}],["being",{"_index":819,"title":{},"body":{"modules/StoreModule.html":{},"changelog.html":{}}}],["beta",{"_index":978,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":1049,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":465,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["bezier(0.4",{"_index":545,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["bind",{"_index":1460,"title":{},"body":{"dependencies.html":{}}}],["biomarkers",{"_index":471,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["black",{"_index":239,"title":{},"body":{"components/AppComponent.html":{},"components/OrganComponent.html":{}}}],["block",{"_index":658,"title":{},"body":{"components/OrganComponent.html":{},"changelog.html":{}}}],["block['@id",{"_index":621,"title":{},"body":{"components/OrganComponent.html":{}}}],["blocks",{"_index":28,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"changelog.html":{}}}],["bmi",{"_index":1011,"title":{},"body":{"changelog.html":{}}}],["board",{"_index":1335,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":110,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["bodyui",{"_index":569,"title":{},"body":{"components/OrganComponent.html":{}}}],["bodyui.bounds",{"_index":650,"title":{},"body":{"components/OrganComponent.html":{}}}],["bodyui.rotation",{"_index":648,"title":{},"body":{"components/OrganComponent.html":{}}}],["bodyui.rotationx",{"_index":649,"title":{},"body":{"components/OrganComponent.html":{}}}],["bodyui.target",{"_index":653,"title":{},"body":{"components/OrganComponent.html":{}}}],["bodyuicomponent",{"_index":609,"title":{},"body":{"components/OrganComponent.html":{}}}],["bodyuimodule",{"_index":714,"title":{},"body":{"modules/OrganModule.html":{}}}],["boolean",{"_index":346,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/SlideToggleComponent.html":{}}}],["border",{"_index":507,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{}}}],["both",{"_index":134,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"changelog.html":{}}}],["bottom",{"_index":512,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{}}}],["box",{"_index":1078,"title":{},"body":{"changelog.html":{}}}],["breaking",{"_index":1107,"title":{},"body":{"changelog.html":{}}}],["bringing",{"_index":1124,"title":{},"body":{"changelog.html":{}}}],["browse",{"_index":1647,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":298,"title":{},"body":{"modules/AppModule.html":{},"changelog.html":{},"dependencies.html":{},"modules.html":{}}}],["browserify",{"_index":1522,"title":{},"body":{"dependencies.html":{}}}],["browsermodule",{"_index":296,"title":{},"body":{"modules/AppModule.html":{}}}],["browsing",{"_index":1394,"title":{},"body":{"changelog.html":{}}}],["btn",{"_index":526,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["bug",{"_index":922,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":1544,"title":{},"body":{"index.html":{}}}],["builds",{"_index":974,"title":{},"body":{"changelog.html":{}}}],["builtin_parsers",{"_index":349,"title":{},"body":{"components/AppWebComponent.html":{}}}],["builtin_parsers.boolean",{"_index":382,"title":{},"body":{"components/AppWebComponent.html":{}}}],["builtin_parsers.json(value",{"_index":363,"title":{},"body":{"components/AppWebComponent.html":{}}}],["button",{"_index":521,"title":{},"body":{"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["button.buttontitle",{"_index":503,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["buttontitle",{"_index":442,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["buttonurl",{"_index":443,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["c",{"_index":1591,"title":{},"body":{"license.html":{}}}],["cache",{"_index":1458,"title":{},"body":{"dependencies.html":{}}}],["cacheable",{"_index":1526,"title":{},"body":{"dependencies.html":{}}}],["callback",{"_index":1065,"title":{},"body":{"changelog.html":{}}}],["called",{"_index":1112,"title":{},"body":{"changelog.html":{}}}],["calls",{"_index":865,"title":{},"body":{"changelog.html":{}}}],["cancelregistration",{"_index":1064,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":1313,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":1464,"title":{},"body":{"dependencies.html":{}}}],["card",{"_index":506,"title":{},"body":{"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["card.body",{"_index":497,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["card.buttontitle",{"_index":498,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["cards",{"_index":444,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["cards'},{'name",{"_index":258,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["cards.component",{"_index":562,"title":{},"body":{"modules/LinkCardsModule.html":{}}}],["cards.component.html",{"_index":445,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["cards.component.scss",{"_index":446,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["cards.component.ts",{"_index":441,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"coverage.html":{}}}],["cards.component.ts:16",{"_index":496,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["cards.component.ts:34",{"_index":495,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["cards.component.ts:52",{"_index":493,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["cards.module",{"_index":307,"title":{},"body":{"modules/AppModule.html":{}}}],["cards.module.ts",{"_index":559,"title":{},"body":{"modules/LinkCardsModule.html":{}}}],["cards/link",{"_index":306,"title":{},"body":{"modules/AppModule.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"coverage.html":{}}}],["carousel",{"_index":1098,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":1570,"title":{},"body":{"index.html":{}}}],["cased",{"_index":202,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["cases",{"_index":1286,"title":{},"body":{"changelog.html":{}}}],["ccf",{"_index":19,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"modules/StoreModule.html":{},"changelog.html":{},"index.html":{}}}],["ccf's",{"_index":1233,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":840,"title":{},"body":{"changelog.html":{}}}],["ccfapiconfiguration",{"_index":390,"title":{},"body":{"modules/CoreModule.html":{}}}],["ccfapimodule",{"_index":391,"title":{},"body":{"modules/CoreModule.html":{}}}],["ccfapimodule.forroot",{"_index":409,"title":{},"body":{"modules/CoreModule.html":{}}}],["ccfdatabasedatasourceservice",{"_index":427,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["cdr",{"_index":331,"title":{},"body":{"components/AppWebComponent.html":{}}}],["cell",{"_index":468,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["center",{"_index":515,"title":{},"body":{"components/LinkCardsComponent.html":{},"index.html":{}}}],["change",{"_index":1110,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["changed",{"_index":859,"title":{},"body":{"changelog.html":{}}}],["changedetection",{"_index":16,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["changedetectionstrategy",{"_index":106,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["changedetectionstrategy.onpush",{"_index":17,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["changedetectorref",{"_index":332,"title":{},"body":{"components/AppWebComponent.html":{}}}],["changelog",{"_index":833,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changes",{"_index":598,"title":{},"body":{"components/OrganComponent.html":{},"changelog.html":{}}}],["charge",{"_index":1597,"title":{},"body":{"license.html":{}}}],["choose",{"_index":1257,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":1231,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":1636,"title":{},"body":{"license.html":{}}}],["class",{"_index":145,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{}}}],["clean",{"_index":920,"title":{},"body":{"changelog.html":{}}}],["cleaner",{"_index":203,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["cleanup",{"_index":977,"title":{},"body":{"changelog.html":{}}}],["click",{"_index":1024,"title":{},"body":{"changelog.html":{}}}],["clicking",{"_index":1103,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":393,"title":{},"body":{"modules/CoreModule.html":{},"index.html":{}}}],["clsname",{"_index":722,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["cluster_appmodule",{"_index":275,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_declarations",{"_index":276,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_imports",{"_index":277,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_coremodule",{"_index":383,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_coremodule_imports",{"_index":384,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_linkcardsmodule",{"_index":556,"title":{},"body":{"modules/LinkCardsModule.html":{},"overview.html":{}}}],["cluster_linkcardsmodule_declarations",{"_index":557,"title":{},"body":{"modules/LinkCardsModule.html":{},"overview.html":{}}}],["cluster_linkcardsmodule_exports",{"_index":558,"title":{},"body":{"modules/LinkCardsModule.html":{},"overview.html":{}}}],["cluster_organmodule",{"_index":707,"title":{},"body":{"modules/OrganModule.html":{},"overview.html":{}}}],["cluster_organmodule_declarations",{"_index":710,"title":{},"body":{"modules/OrganModule.html":{},"overview.html":{}}}],["cluster_organmodule_exports",{"_index":709,"title":{},"body":{"modules/OrganModule.html":{},"overview.html":{}}}],["cluster_organmodule_imports",{"_index":708,"title":{},"body":{"modules/OrganModule.html":{},"overview.html":{}}}],["cluster_slidetogglemodule",{"_index":781,"title":{},"body":{"modules/SlideToggleModule.html":{},"overview.html":{}}}],["cluster_slidetogglemodule_declarations",{"_index":782,"title":{},"body":{"modules/SlideToggleModule.html":{},"overview.html":{}}}],["cluster_slidetogglemodule_exports",{"_index":783,"title":{},"body":{"modules/SlideToggleModule.html":{},"overview.html":{}}}],["cluster_statslistmodule",{"_index":799,"title":{},"body":{"modules/StatsListModule.html":{},"overview.html":{}}}],["cluster_statslistmodule_declarations",{"_index":801,"title":{},"body":{"modules/StatsListModule.html":{},"overview.html":{}}}],["cluster_statslistmodule_exports",{"_index":800,"title":{},"body":{"modules/StatsListModule.html":{},"overview.html":{}}}],["code",{"_index":970,"title":{},"body":{"changelog.html":{}}}],["codebase",{"_index":1243,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":1298,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":1351,"title":{},"body":{"changelog.html":{}}}],["collaboration",{"_index":1241,"title":{},"body":{"changelog.html":{}}}],["collisions",{"_index":1265,"title":{},"body":{"changelog.html":{}}}],["color",{"_index":140,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["colorizing",{"_index":1306,"title":{},"body":{"changelog.html":{}}}],["combination",{"_index":1258,"title":{},"body":{"changelog.html":{}}}],["come",{"_index":1303,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":1295,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":1467,"title":{},"body":{"dependencies.html":{}}}],["common",{"_index":470,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["commonmodule",{"_index":560,"title":{},"body":{"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{}}}],["compatibility",{"_index":826,"title":{},"body":{"modules/StoreModule.html":{}}}],["complexity",{"_index":1137,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":968,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":0,"title":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["component.component",{"_index":301,"title":{},"body":{"modules/AppModule.html":{}}}],["component.component.ts",{"_index":317,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["component.component.ts:50",{"_index":342,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:51",{"_index":344,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:52",{"_index":345,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:53",{"_index":335,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:54",{"_index":336,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:56",{"_index":338,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:57",{"_index":339,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:58",{"_index":337,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:59",{"_index":341,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:60",{"_index":340,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:62",{"_index":347,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:63",{"_index":343,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:65",{"_index":333,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component_template",{"_index":252,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["components",{"_index":2,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{},"overview.html":{}}}],["comunica/query",{"_index":1429,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":1469,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":1619,"title":{},"body":{"license.html":{}}}],["config",{"_index":150,"title":{},"body":{"components/AppComponent.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{}}}],["config.organiri",{"_index":153,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["config.remoteapiendpoint",{"_index":435,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["config.sex",{"_index":156,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["config.side?.tolowercase",{"_index":154,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["config.useremoteapi",{"_index":434,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["configstate",{"_index":52,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["configstate.config$.pipe",{"_index":147,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["configstore",{"_index":334,"title":{},"body":{"components/AppWebComponent.html":{}}}],["configuration",{"_index":1052,"title":{},"body":{"changelog.html":{}}}],["configurations",{"_index":1061,"title":{},"body":{"changelog.html":{}}}],["confirmation",{"_index":1016,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":1072,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":999,"title":{},"body":{"changelog.html":{}}}],["connection",{"_index":1644,"title":{},"body":{"license.html":{}}}],["consider",{"_index":824,"title":{},"body":{"modules/StoreModule.html":{}}}],["consortium",{"_index":1592,"title":{},"body":{"license.html":{}}}],["const",{"_index":138,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"modules/StoreModule.html":{}}}],["constructor",{"_index":47,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{}}}],["constructor(@optional",{"_index":415,"title":{},"body":{"modules/CoreModule.html":{}}}],["constructor(configstore",{"_index":330,"title":{},"body":{"components/AppWebComponent.html":{}}}],["constructor(ga",{"_index":582,"title":{},"body":{"components/OrganComponent.html":{}}}],["constructor(lookup",{"_index":48,"title":{},"body":{"components/AppComponent.html":{}}}],["constructor(private",{"_index":311,"title":{},"body":{"modules/AppModule.html":{},"injectables/OrganLookupService.html":{}}}],["constructor(readonly",{"_index":614,"title":{},"body":{"components/OrganComponent.html":{}}}],["constructor(source",{"_index":673,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["container",{"_index":217,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["containers",{"_index":1051,"title":{},"body":{"changelog.html":{}}}],["containing",{"_index":1542,"title":{},"body":{"index.html":{}}}],["content",{"_index":220,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{}}}],["contract",{"_index":1640,"title":{},"body":{"license.html":{}}}],["control",{"_index":1198,"title":{},"body":{"changelog.html":{}}}],["coordinate",{"_index":1536,"title":{},"body":{"index.html":{}}}],["copies",{"_index":1613,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1600,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":1590,"title":{},"body":{"license.html":{}}}],["cord",{"_index":909,"title":{},"body":{"changelog.html":{}}}],["core",{"_index":416,"title":{},"body":{"modules/CoreModule.html":{}}}],["core/core.module",{"_index":303,"title":{},"body":{"modules/AppModule.html":{}}}],["core/services/organ",{"_index":128,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["coremodule",{"_index":278,"title":{"modules/CoreModule.html":{}},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules.html":{},"overview.html":{}}}],["cors",{"_index":1471,"title":{},"body":{"dependencies.html":{}}}],["course",{"_index":479,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["coverage",{"_index":1331,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["createcustomelement",{"_index":294,"title":{},"body":{"modules/AppModule.html":{}}}],["createcustomelement(appwebcomponent",{"_index":313,"title":{},"body":{"modules/AppModule.html":{}}}],["created",{"_index":1207,"title":{},"body":{"changelog.html":{}}}],["credits",{"_index":1577,"title":{},"body":{"index.html":{}}}],["css",{"_index":1473,"title":{},"body":{"dependencies.html":{}}}],["cubic",{"_index":544,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["cuboid",{"_index":1330,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":1327,"title":{},"body":{"changelog.html":{}}}],["current",{"_index":748,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["currently",{"_index":740,"title":{},"body":{"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["cursor",{"_index":534,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/SlideToggleComponent.html":{}}}],["customelements.define('ccf",{"_index":315,"title":{},"body":{"modules/AppModule.html":{}}}],["cyberinfrastructure",{"_index":1579,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":1148,"title":{},"body":{"changelog.html":{}}}],["damages",{"_index":1637,"title":{},"body":{"license.html":{}}}],["dark/light",{"_index":1067,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":369,"title":{},"body":{"components/AppWebComponent.html":{},"modules/StoreModule.html":{},"changelog.html":{}}}],["database",{"_index":115,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["datasets",{"_index":1158,"title":{},"body":{"changelog.html":{}}}],["datasourcelike",{"_index":428,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["datasources",{"_index":322,"title":{},"body":{"components/AppWebComponent.html":{}}}],["datasourceservice",{"_index":394,"title":{},"body":{"modules/CoreModule.html":{},"injectables/OrganLookupService.html":{}}}],["datatype",{"_index":739,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["deal",{"_index":1602,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1645,"title":{},"body":{"license.html":{}}}],["december",{"_index":1250,"title":{},"body":{"changelog.html":{}}}],["deck.gl/core",{"_index":1431,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":1433,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":1436,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":1437,"title":{},"body":{"dependencies.html":{}}}],["declarations",{"_index":286,"title":{},"body":{"modules/AppModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{}}}],["decorator",{"_index":1450,"title":{},"body":{"dependencies.html":{}}}],["decorators",{"_index":86,"title":{},"body":{"components/AppComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{}}}],["deep",{"_index":501,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/SlideToggleComponent.html":{}}}],["deepdives",{"_index":475,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["deeply",{"_index":1003,"title":{},"body":{"changelog.html":{}}}],["default",{"_index":77,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["defined",{"_index":54,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DelegateDataSourceService.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["delegatedatasourceoptions",{"_index":420,"title":{"interfaces/DelegateDataSourceOptions.html":{}},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"coverage.html":{}}}],["delegatedatasourceservice",{"_index":397,"title":{"injectables/DelegateDataSourceService.html":{}},"body":{"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"coverage.html":{}}}],["demo",{"_index":1026,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":274,"title":{"dependencies.html":{}},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"changelog.html":{},"dependencies.html":{},"overview.html":{}}}],["depending",{"_index":1114,"title":{},"body":{"changelog.html":{}}}],["descrepancies",{"_index":897,"title":{},"body":{"changelog.html":{}}}],["description",{"_index":747,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["details",{"_index":1373,"title":{},"body":{"changelog.html":{}}}],["determines",{"_index":755,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["developed",{"_index":1578,"title":{},"body":{"index.html":{}}}],["developmentmode",{"_index":407,"title":{},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{}}}],["developments",{"_index":1356,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":1017,"title":{},"body":{"changelog.html":{}}}],["different",{"_index":1050,"title":{},"body":{"changelog.html":{}}}],["digits",{"_index":1225,"title":{},"body":{"changelog.html":{}}}],["direct",{"_index":1382,"title":{},"body":{"changelog.html":{}}}],["direction",{"_index":222,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{}}}],["directive",{"_index":250,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["directives",{"_index":266,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["directly",{"_index":1296,"title":{},"body":{"changelog.html":{}}}],["disabled",{"_index":724,"title":{},"body":{"components/SlideToggleComponent.html":{},"modules/StoreModule.html":{}}}],["display",{"_index":204,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["displayed",{"_index":1328,"title":{},"body":{"changelog.html":{}}}],["displaying",{"_index":1040,"title":{},"body":{"changelog.html":{}}}],["distribute",{"_index":1609,"title":{},"body":{"license.html":{}}}],["dive",{"_index":502,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["dobootstrap",{"_index":291,"title":{},"body":{"modules/AppModule.html":{}}}],["doc",{"_index":1340,"title":{},"body":{"changelog.html":{}}}],["docs",{"_index":917,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":1475,"title":{},"body":{"dependencies.html":{}}}],["documentation",{"_index":971,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["dom",{"_index":7,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["done",{"_index":1108,"title":{},"body":{"changelog.html":{}}}],["donor",{"_index":1094,"title":{},"body":{"changelog.html":{}}}],["donors",{"_index":1161,"title":{},"body":{"changelog.html":{}}}],["dotenv",{"_index":1477,"title":{},"body":{"dependencies.html":{}}}],["download",{"_index":1367,"title":{},"body":{"changelog.html":{}}}],["during",{"_index":1147,"title":{},"body":{"changelog.html":{}}}],["dynamic",{"_index":1425,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":890,"title":{},"body":{"changelog.html":{}}}],["e0e0e0",{"_index":511,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["easier",{"_index":949,"title":{},"body":{"changelog.html":{}}}],["east",{"_index":1560,"title":{},"body":{"index.html":{}}}],["effect",{"_index":1278,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":1187,"title":{},"body":{"changelog.html":{}}}],["element",{"_index":249,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["elementref",{"_index":85,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["embedded",{"_index":1058,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":1047,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":1045,"title":{},"body":{"changelog.html":{}}}],["emits",{"_index":738,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["empty_scene",{"_index":139,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["entire",{"_index":814,"title":{},"body":{"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["entities.find(entity",{"_index":698,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["entity.representation_of",{"_index":699,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["entity.sex",{"_index":701,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["entrycomponents",{"_index":287,"title":{},"body":{"modules/AppModule.html":{}}}],["environment",{"_index":352,"title":{},"body":{"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"modules/StoreModule.html":{}}}],["environment.dboptions",{"_index":377,"title":{},"body":{"components/AppWebComponent.html":{}}}],["environment.dboptions.remoteapiendpoint",{"_index":411,"title":{},"body":{"modules/CoreModule.html":{}}}],["environment.googleanalyticstoken",{"_index":404,"title":{},"body":{"modules/CoreModule.html":{}}}],["environment.production",{"_index":408,"title":{},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{}}}],["environments/environment",{"_index":353,"title":{},"body":{"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"modules/StoreModule.html":{}}}],["error('invalid",{"_index":368,"title":{},"body":{"components/AppWebComponent.html":{}}}],["error('the",{"_index":417,"title":{},"body":{"modules/CoreModule.html":{}}}],["es",{"_index":1465,"title":{},"body":{"dependencies.html":{}}}],["etc",{"_index":1076,"title":{},"body":{"changelog.html":{}}}],["eui",{"_index":461,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":964,"title":{},"body":{"changelog.html":{}}}],["event",{"_index":212,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"license.html":{}}}],["event.node['@id",{"_index":656,"title":{},"body":{"components/OrganComponent.html":{}}}],["eventemitter",{"_index":591,"title":{},"body":{"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{}}}],["executionstrategy",{"_index":827,"title":{},"body":{"modules/StoreModule.html":{}}}],["expanded",{"_index":888,"title":{},"body":{"changelog.html":{}}}],["exploration",{"_index":460,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"index.html":{}}}],["explore",{"_index":458,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["export",{"_index":144,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{}}}],["exports",{"_index":414,"title":{},"body":{"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{}}}],["express",{"_index":1479,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["extends",{"_index":318,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["external",{"_index":1063,"title":{},"body":{"changelog.html":{}}}],["extra",{"_index":1484,"title":{},"body":{"dependencies.html":{}}}],["extraction",{"_index":1022,"title":{},"body":{"changelog.html":{}}}],["fail",{"_index":1246,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":1283,"title":{},"body":{"changelog.html":{}}}],["false",{"_index":729,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["false=right",{"_index":751,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["family",{"_index":227,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{}}}],["favor",{"_index":1236,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":885,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":1149,"title":{},"body":{"changelog.html":{}}}],["features/organ/organ.module",{"_index":304,"title":{},"body":{"modules/AppModule.html":{}}}],["feel",{"_index":1185,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":136,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{}}}],["fetch",{"_index":1511,"title":{},"body":{"dependencies.html":{}}}],["ffffff",{"_index":522,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["field",{"_index":1073,"title":{},"body":{"changelog.html":{}}}],["file",{"_index":9,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{}}}],["files",{"_index":1601,"title":{},"body":{"license.html":{}}}],["filter",{"_index":29,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"changelog.html":{}}}],["filter['sex",{"_index":687,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["filteredblocks",{"_index":570,"title":{},"body":{"components/OrganComponent.html":{}}}],["filters",{"_index":901,"title":{},"body":{"changelog.html":{}}}],["final",{"_index":1239,"title":{},"body":{"changelog.html":{}}}],["finishing",{"_index":1021,"title":{},"body":{"changelog.html":{}}}],["first",{"_index":1251,"title":{},"body":{"changelog.html":{}}}],["fit",{"_index":219,"title":{},"body":{"components/AppComponent.html":{},"changelog.html":{}}}],["fitness",{"_index":1629,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":1139,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":923,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":1307,"title":{},"body":{"changelog.html":{}}}],["flex",{"_index":221,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{}}}],["flexible",{"_index":912,"title":{},"body":{"changelog.html":{}}}],["fly",{"_index":1389,"title":{},"body":{"changelog.html":{}}}],["following",{"_index":1618,"title":{},"body":{"license.html":{}}}],["font",{"_index":226,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{}}}],["form",{"_index":1188,"title":{},"body":{"changelog.html":{}}}],["format",{"_index":1268,"title":{},"body":{"changelog.html":{}}}],["frame",{"_index":1162,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":1537,"title":{},"body":{"index.html":{}}}],["free",{"_index":1596,"title":{},"body":{"license.html":{}}}],["fs",{"_index":1483,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":1101,"title":{},"body":{"changelog.html":{}}}],["fullscreen",{"_index":1336,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":1150,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":354,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{}}}],["functions",{"_index":1534,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["funded",{"_index":1584,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":1616,"title":{},"body":{"license.html":{}}}],["further",{"_index":1332,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":1140,"title":{},"body":{"changelog.html":{}}}],["ga",{"_index":50,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{}}}],["gatoken",{"_index":403,"title":{},"body":{"modules/CoreModule.html":{}}}],["generate",{"_index":942,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":969,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":891,"title":{},"body":{"changelog.html":{}}}],["genericglobalconfig",{"_index":350,"title":{},"body":{"components/AppWebComponent.html":{}}}],["getblocks",{"_index":668,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getblocks(info",{"_index":675,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getleft",{"_index":753,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["getorgan",{"_index":669,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getorgan(info",{"_index":677,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getorganinfo",{"_index":670,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getorganinfo(iri",{"_index":679,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getorganscene",{"_index":671,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getorganscene(info",{"_index":682,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getorganstats",{"_index":672,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getorganstats(info",{"_index":684,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getting",{"_index":831,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["github",{"_index":1227,"title":{},"body":{"changelog.html":{}}}],["gizmo",{"_index":1082,"title":{},"body":{"changelog.html":{}}}],["globalconfig",{"_index":132,"title":{"interfaces/GlobalConfig.html":{}},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{},"coverage.html":{}}}],["globalconfigstate",{"_index":53,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["globalthis['dboptions",{"_index":378,"title":{},"body":{"components/AppWebComponent.html":{}}}],["good",{"_index":1280,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":118,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["googleanalyticsservice",{"_index":51,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{}}}],["gotourl",{"_index":492,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["gotourl(url",{"_index":489,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["granted",{"_index":1595,"title":{},"body":{"license.html":{}}}],["graph",{"_index":1648,"title":{},"body":{"modules.html":{}}}],["graphical",{"_index":933,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":1486,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":1036,"title":{},"body":{"changelog.html":{}}}],["grow",{"_index":242,"title":{},"body":{"components/AppComponent.html":{},"components/StatsListComponent.html":{}}}],["gtex",{"_index":943,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":1271,"title":{},"body":{"changelog.html":{}}}],["hand",{"_index":1276,"title":{},"body":{"changelog.html":{}}}],["happen",{"_index":1314,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":1247,"title":{},"body":{"changelog.html":{}}}],["happy",{"_index":818,"title":{},"body":{"modules/StoreModule.html":{}}}],["header",{"_index":796,"title":{},"body":{"components/StatsListComponent.html":{}}}],["height",{"_index":218,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/StatsListComponent.html":{}}}],["helmet",{"_index":1491,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":1270,"title":{},"body":{"changelog.html":{}}}],["helvetica",{"_index":552,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["here",{"_index":1274,"title":{},"body":{"changelog.html":{}}}],["hereby",{"_index":1594,"title":{},"body":{"license.html":{}}}],["hex",{"_index":1493,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":1357,"title":{},"body":{"changelog.html":{}}}],["highlight",{"_index":1007,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":770,"title":{},"body":{"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["highlightednodeid",{"_index":571,"title":{},"body":{"components/OrganComponent.html":{}}}],["highlightproviders",{"_index":137,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["highlights",{"_index":1009,"title":{},"body":{"changelog.html":{}}}],["holders",{"_index":1634,"title":{},"body":{"license.html":{}}}],["hooked",{"_index":1196,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":657,"title":{},"body":{"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["hostbinding",{"_index":756,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["hostbinding('class",{"_index":752,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["hostbindings",{"_index":727,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["hover",{"_index":523,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["hovering",{"_index":1095,"title":{},"body":{"changelog.html":{}}}],["hra",{"_index":451,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["html",{"_index":248,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["httpclientmodule",{"_index":387,"title":{},"body":{"modules/CoreModule.html":{}}}],["https://beta",{"_index":1548,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":1557,"title":{},"body":{"index.html":{}}}],["https://expand.iu.edu/browse/sice/cns/courses/hubmap",{"_index":480,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["https://hubmap",{"_index":1551,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":456,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"index.html":{}}}],["https://humanatlas.io",{"_index":477,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"index.html":{}}}],["https://observablehq.com/@cns",{"_index":1573,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":1553,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":462,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"index.html":{}}}],["https://r5i95k35v5.us",{"_index":1559,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":1384,"title":{},"body":{"changelog.html":{}}}],["https://www.nature.com/articles/s41556",{"_index":485,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["https://www.ngxs.io/advanced/options",{"_index":828,"title":{},"body":{"modules/StoreModule.html":{}}}],["hubmap",{"_index":876,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["hubmapasseturl",{"_index":323,"title":{},"body":{"components/AppWebComponent.html":{}}}],["hubmapdataservice",{"_index":324,"title":{},"body":{"components/AppWebComponent.html":{}}}],["hubmapdataurl",{"_index":325,"title":{},"body":{"components/AppWebComponent.html":{}}}],["hubmapportalurl",{"_index":326,"title":{},"body":{"components/AppWebComponent.html":{}}}],["hubmaptoken",{"_index":327,"title":{},"body":{"components/AppWebComponent.html":{}}}],["human",{"_index":482,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["icon",{"_index":1368,"title":{},"body":{"changelog.html":{}}}],["icons",{"_index":1102,"title":{},"body":{"changelog.html":{}}}],["id",{"_index":1055,"title":{},"body":{"changelog.html":{}}}],["idb",{"_index":1496,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":1400,"title":{},"body":{"coverage.html":{}}}],["iec",{"_index":1242,"title":{},"body":{"changelog.html":{}}}],["image",{"_index":1235,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":1294,"title":{},"body":{"changelog.html":{}}}],["immutable",{"_index":83,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["implementation",{"_index":996,"title":{},"body":{"changelog.html":{}}}],["implemented",{"_index":1194,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":1339,"title":{},"body":{"changelog.html":{}}}],["implements",{"_index":13,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{}}}],["implied",{"_index":1626,"title":{},"body":{"license.html":{}}}],["import",{"_index":103,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{}}}],["important",{"_index":531,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/SlideToggleComponent.html":{}}}],["imported",{"_index":418,"title":{},"body":{"modules/CoreModule.html":{}}}],["imports",{"_index":288,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{}}}],["improve",{"_index":1186,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":961,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":928,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":1037,"title":{},"body":{"changelog.html":{}}}],["include",{"_index":1253,"title":{},"body":{"changelog.html":{}}}],["included",{"_index":1621,"title":{},"body":{"license.html":{}}}],["includes",{"_index":887,"title":{},"body":{"changelog.html":{}}}],["including",{"_index":1005,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":1220,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":1334,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":25,"title":{"index.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["indexes",{"_index":842,"title":{},"body":{"changelog.html":{}}}],["indiana",{"_index":1582,"title":{},"body":{"index.html":{}}}],["individual",{"_index":1200,"title":{},"body":{"changelog.html":{}}}],["info",{"_index":3,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"changelog.html":{},"index.html":{}}}],["info.disabled",{"_index":690,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["info.hassex",{"_index":165,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["info.id",{"_index":700,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["info.organ",{"_index":208,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["info.side",{"_index":205,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["info.side.charat(0).touppercase",{"_index":206,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["info.side.slice(1",{"_index":207,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["info/src/app/app",{"_index":316,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["info/src/app/app.component.ts",{"_index":12,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["info/src/app/app.component.ts:112",{"_index":70,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:118",{"_index":73,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:122",{"_index":68,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:132",{"_index":63,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:32",{"_index":91,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:33",{"_index":95,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:35",{"_index":98,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:36",{"_index":100,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:37",{"_index":82,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:39",{"_index":93,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:40",{"_index":92,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:41",{"_index":96,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:42",{"_index":101,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:43",{"_index":102,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:44",{"_index":76,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:46",{"_index":84,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:47",{"_index":55,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.module.ts",{"_index":285,"title":{},"body":{"modules/AppModule.html":{}}}],["info/src/app/app.module.ts:30",{"_index":290,"title":{},"body":{"modules/AppModule.html":{}}}],["info/src/app/core/core.module.ts",{"_index":386,"title":{},"body":{"modules/CoreModule.html":{}}}],["info/src/app/core/services/data",{"_index":422,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"coverage.html":{}}}],["info/src/app/core/services/organ",{"_index":665,"title":{},"body":{"injectables/OrganLookupService.html":{},"coverage.html":{}}}],["info/src/app/core/store/store.module.ts",{"_index":804,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["info/src/app/features/organ/organ.component.ts",{"_index":564,"title":{},"body":{"components/OrganComponent.html":{},"coverage.html":{}}}],["info/src/app/features/organ/organ.component.ts:15",{"_index":586,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:16",{"_index":588,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:17",{"_index":587,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:18",{"_index":589,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:19",{"_index":590,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:20",{"_index":584,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:21",{"_index":585,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:23",{"_index":592,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:24",{"_index":593,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:26",{"_index":611,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:28",{"_index":612,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:29",{"_index":583,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:33",{"_index":594,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:37",{"_index":602,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:50",{"_index":597,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:56",{"_index":604,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:61",{"_index":607,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:66",{"_index":608,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:76",{"_index":601,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.module.ts",{"_index":712,"title":{},"body":{"modules/OrganModule.html":{}}}],["info/src/app/features/slide",{"_index":717,"title":{},"body":{"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"coverage.html":{}}}],["info/src/app/modules/link",{"_index":440,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"coverage.html":{}}}],["info/src/app/modules/stats",{"_index":788,"title":{},"body":{"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"coverage.html":{}}}],["info?.side",{"_index":693,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["information",{"_index":919,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":1297,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":1255,"title":{},"body":{"changelog.html":{}}}],["initial",{"_index":1121,"title":{},"body":{"changelog.html":{}}}],["initialconfig",{"_index":376,"title":{},"body":{"components/AppWebComponent.html":{}}}],["initialdelay",{"_index":374,"title":{},"body":{"components/AppWebComponent.html":{}}}],["initialized",{"_index":321,"title":{},"body":{"components/AppWebComponent.html":{}}}],["injectable",{"_index":424,"title":{"injectables/DelegateDataSourceService.html":{},"injectables/OrganLookupService.html":{}},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/OrganLookupService.html":{},"coverage.html":{}}}],["injectables",{"_index":436,"title":{},"body":{"injectables/DelegateDataSourceService.html":{},"injectables/OrganLookupService.html":{},"overview.html":{}}}],["injector",{"_index":292,"title":{},"body":{"modules/AppModule.html":{}}}],["injectordelegatedatasourceservice",{"_index":429,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["input",{"_index":348,"title":{},"body":{"components/AppWebComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["inputs",{"_index":215,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["instead",{"_index":1113,"title":{},"body":{"changelog.html":{}}}],["instructions",{"_index":1046,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":1151,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":1002,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":1254,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":1169,"title":{},"body":{"changelog.html":{}}}],["inter",{"_index":228,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{}}}],["interact",{"_index":1134,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":1317,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":1381,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":131,"title":{"interfaces/DelegateDataSourceOptions.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{}},"body":{"components/AppComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":421,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":1234,"title":{},"body":{"changelog.html":{}}}],["iri",{"_index":198,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["isstring",{"_index":356,"title":{},"body":{"components/AppWebComponent.html":{}}}],["isstringarray",{"_index":359,"title":{},"body":{"components/AppWebComponent.html":{}}}],["isstringarray(json",{"_index":364,"title":{},"body":{"components/AppWebComponent.html":{}}}],["isstringarray(value",{"_index":365,"title":{},"body":{"components/AppWebComponent.html":{}}}],["issue",{"_index":1216,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":894,"title":{},"body":{"changelog.html":{}}}],["it's",{"_index":1000,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":1365,"title":{},"body":{"changelog.html":{}}}],["item.disabled",{"_index":691,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["item.id",{"_index":689,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["item.organ",{"_index":692,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["item.side",{"_index":694,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["items",{"_index":514,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["iu",{"_index":1354,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":1574,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":851,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["json",{"_index":362,"title":{},"body":{"components/AppWebComponent.html":{},"changelog.html":{}}}],["jsonld",{"_index":1499,"title":{},"body":{"dependencies.html":{}}}],["july",{"_index":1316,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":1363,"title":{},"body":{"changelog.html":{}}}],["justify",{"_index":517,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["key",{"_index":74,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["keyboard",{"_index":1361,"title":{},"body":{"changelog.html":{}}}],["keyval",{"_index":1497,"title":{},"body":{"dependencies.html":{}}}],["kidney",{"_index":1033,"title":{},"body":{"changelog.html":{}}}],["kind",{"_index":1625,"title":{},"body":{"license.html":{}}}],["known",{"_index":893,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":873,"title":{},"body":{"changelog.html":{}}}],["label",{"_index":767,"title":{},"body":{"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["labels",{"_index":725,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["labels[0].charat(0).touppercase",{"_index":763,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["labels[0].slice(1",{"_index":764,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["labels[0].slice(1)}}{{labels[1].charat(0).touppercase",{"_index":780,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["labels[1",{"_index":757,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["labels[1].charat(0).touppercase",{"_index":765,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["labels[1].slice(1",{"_index":766,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["labs/data",{"_index":807,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["labs/dispatch",{"_index":1449,"title":{},"body":{"dependencies.html":{}}}],["landmarks",{"_index":910,"title":{},"body":{"changelog.html":{}}}],["larger",{"_index":950,"title":{},"body":{"changelog.html":{}}}],["last",{"_index":513,"title":{},"body":{"components/LinkCardsComponent.html":{},"modules/StoreModule.html":{}}}],["latest",{"_index":904,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["latestconfig",{"_index":31,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["latestorganinfo",{"_index":33,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["layers",{"_index":1434,"title":{},"body":{"dependencies.html":{}}}],["ld",{"_index":1267,"title":{},"body":{"changelog.html":{}}}],["leak",{"_index":1215,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":1019,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":34,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["left.nativeelement.style.height",{"_index":193,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["left/right",{"_index":1034,"title":{},"body":{"changelog.html":{}}}],["legend",{"_index":247,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["level",{"_index":1359,"title":{},"body":{"changelog.html":{}}}],["levels",{"_index":1378,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":1638,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1635,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":954,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":1178,"title":{},"body":{"changelog.html":{}}}],["license",{"_index":1588,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":1013,"title":{},"body":{"changelog.html":{}}}],["limitation",{"_index":1604,"title":{},"body":{"license.html":{}}}],["limited",{"_index":1302,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":231,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{}}}],["link",{"_index":257,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["linkage",{"_index":1318,"title":{},"body":{"changelog.html":{}}}],["linkages",{"_index":464,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["linkcard",{"_index":439,"title":{"interfaces/LinkCard.html":{}},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"coverage.html":{}}}],["linkcards",{"_index":447,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["linkcardscomponent",{"_index":256,"title":{"components/LinkCardsComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"coverage.html":{},"overview.html":{}}}],["linkcardsmodule",{"_index":279,"title":{"modules/LinkCardsModule.html":{}},"body":{"modules/AppModule.html":{},"modules/LinkCardsModule.html":{},"modules.html":{},"overview.html":{}}}],["linked",{"_index":914,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":982,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":265,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["list.component",{"_index":803,"title":{},"body":{"modules/StatsListModule.html":{}}}],["list.component.html",{"_index":791,"title":{},"body":{"components/StatsListComponent.html":{}}}],["list.component.scss",{"_index":790,"title":{},"body":{"components/StatsListComponent.html":{}}}],["list.component.ts",{"_index":789,"title":{},"body":{"components/StatsListComponent.html":{},"coverage.html":{}}}],["list.component.ts:11",{"_index":793,"title":{},"body":{"components/StatsListComponent.html":{}}}],["list.component.ts:12",{"_index":792,"title":{},"body":{"components/StatsListComponent.html":{}}}],["list.module",{"_index":310,"title":{},"body":{"modules/AppModule.html":{}}}],["list.module.ts",{"_index":802,"title":{},"body":{"modules/StatsListModule.html":{}}}],["list/stats",{"_index":309,"title":{},"body":{"modules/AppModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"coverage.html":{}}}],["literal",{"_index":1516,"title":{},"body":{"dependencies.html":{}}}],["little",{"_index":1132,"title":{},"body":{"changelog.html":{}}}],["load",{"_index":931,"title":{},"body":{"changelog.html":{}}}],["loaded",{"_index":1320,"title":{},"body":{"changelog.html":{}}}],["loaders.gl/core",{"_index":1438,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":1440,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":1441,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":880,"title":{},"body":{"changelog.html":{}}}],["location",{"_index":1221,"title":{},"body":{"changelog.html":{}}}],["locations",{"_index":874,"title":{},"body":{"changelog.html":{}}}],["lodash",{"_index":1501,"title":{},"body":{"dependencies.html":{}}}],["log",{"_index":1576,"title":{},"body":{"index.html":{}}}],["logger",{"_index":829,"title":{},"body":{"modules/StoreModule.html":{}}}],["logging",{"_index":945,"title":{},"body":{"changelog.html":{}}}],["logorganlookup",{"_index":43,"title":{},"body":{"components/AppComponent.html":{}}}],["logorganlookup(info",{"_index":61,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["longer",{"_index":1111,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":1184,"title":{},"body":{"changelog.html":{}}}],["lookup",{"_index":60,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["lookup.getblocks",{"_index":190,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["lookup.getorgan",{"_index":164,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["lookup.getorganinfo",{"_index":152,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["lookup.getorganscene",{"_index":179,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["lookup.getorganstats",{"_index":183,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["lookup.service",{"_index":130,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["lookup.service.ts",{"_index":666,"title":{},"body":{"injectables/OrganLookupService.html":{},"coverage.html":{}}}],["lookup.service.ts:12",{"_index":674,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["lookup.service.ts:16",{"_index":681,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["lookup.service.ts:34",{"_index":678,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["lookup.service.ts:42",{"_index":683,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["lookup.service.ts:51",{"_index":685,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["lookup.service.ts:60",{"_index":676,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["lookup/organ",{"_index":129,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{},"coverage.html":{}}}],["lru",{"_index":1503,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":1442,"title":{},"body":{"dependencies.html":{}}}],["made",{"_index":1244,"title":{},"body":{"changelog.html":{}}}],["major",{"_index":884,"title":{},"body":{"changelog.html":{}}}],["makes",{"_index":946,"title":{},"body":{"changelog.html":{}}}],["makestatslabel",{"_index":44,"title":{},"body":{"components/AppComponent.html":{}}}],["makestatslabel(info",{"_index":66,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["making",{"_index":992,"title":{},"body":{"changelog.html":{}}}],["male",{"_index":135,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{}}}],["managers",{"_index":959,"title":{},"body":{"changelog.html":{}}}],["map",{"_index":121,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["map((organ",{"_index":185,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["map(entities",{"_index":697,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["march",{"_index":1181,"title":{},"body":{"changelog.html":{}}}],["margin",{"_index":244,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["markdown",{"_index":1509,"title":{},"body":{"dependencies.html":{}}}],["mat",{"_index":773,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["match",{"_index":1183,"title":{},"body":{"changelog.html":{}}}],["matching",{"_index":269,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["math.gl/core",{"_index":1444,"title":{},"body":{"dependencies.html":{}}}],["math.gl/culling",{"_index":1446,"title":{},"body":{"dependencies.html":{}}}],["matslidetogglemodule",{"_index":785,"title":{},"body":{"modules/SlideToggleModule.html":{}}}],["max",{"_index":504,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["mc",{"_index":1353,"title":{},"body":{"changelog.html":{}}}],["memory",{"_index":1214,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":1277,"title":{},"body":{"changelog.html":{}}}],["merchantability",{"_index":1628,"title":{},"body":{"license.html":{}}}],["merge",{"_index":1607,"title":{},"body":{"license.html":{}}}],["metadata",{"_index":15,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["methods",{"_index":42,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"injectables/DelegateDataSourceService.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{}}}],["min",{"_index":529,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/StatsListComponent.html":{}}}],["minor",{"_index":895,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":1533,"title":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":1589,"title":{},"body":{"license.html":{}}}],["mock",{"_index":1349,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":1119,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":1060,"title":{},"body":{"changelog.html":{}}}],["model",{"_index":1456,"title":{},"body":{"dependencies.html":{}}}],["modify",{"_index":1606,"title":{},"body":{"license.html":{}}}],["module",{"_index":271,"title":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{}}}],["modules",{"_index":273,"title":{"modules.html":{}},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"modules.html":{},"overview.html":{}}}],["modules/link",{"_index":305,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/stats",{"_index":308,"title":{},"body":{"modules/AppModule.html":{}}}],["monorepo",{"_index":1539,"title":{},"body":{"index.html":{}}}],["mooc",{"_index":483,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["more",{"_index":918,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["moved",{"_index":1369,"title":{},"body":{"changelog.html":{}}}],["much",{"_index":948,"title":{},"body":{"changelog.html":{}}}],["multiple",{"_index":1540,"title":{},"body":{"index.html":{}}}],["n3",{"_index":1504,"title":{},"body":{"dependencies.html":{}}}],["name",{"_index":58,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DelegateDataSourceService.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"miscellaneous/functions.html":{}}}],["names",{"_index":1074,"title":{},"body":{"changelog.html":{}}}],["navigation",{"_index":1362,"title":{},"body":{"changelog.html":{}}}],["need",{"_index":864,"title":{},"body":{"changelog.html":{}}}],["needed",{"_index":1189,"title":{},"body":{"changelog.html":{}}}],["needs",{"_index":1195,"title":{},"body":{"changelog.html":{}}}],["network",{"_index":1580,"title":{},"body":{"index.html":{}}}],["new",{"_index":367,"title":{},"body":{"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["newsex",{"_index":169,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["next",{"_index":997,"title":{},"body":{"changelog.html":{}}}],["ng",{"_index":772,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["ng5",{"_index":1506,"title":{},"body":{"dependencies.html":{}}}],["ngafterviewchecked",{"_index":572,"title":{},"body":{"components/OrganComponent.html":{}}}],["ngafterviewinit",{"_index":45,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["ngdobootstrap",{"_index":289,"title":{},"body":{"modules/AppModule.html":{}}}],["ngmodule",{"_index":293,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{}}}],["ngonchanges",{"_index":573,"title":{},"body":{"components/OrganComponent.html":{}}}],["ngonchanges(changes",{"_index":595,"title":{},"body":{"components/OrganComponent.html":{}}}],["ngx",{"_index":117,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"dependencies.html":{}}}],["ngxgoogleanalyticsmodule",{"_index":563,"title":{},"body":{"modules/LinkCardsModule.html":{}}}],["ngxs",{"_index":806,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/logger",{"_index":809,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/storage",{"_index":1453,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":812,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxsdatapluginmodule",{"_index":805,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdatapluginmodule.forroot",{"_index":822,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsloggerpluginmodule",{"_index":808,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsloggerpluginmodule.forroot",{"_index":830,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule",{"_index":811,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule.forroot(root_states",{"_index":823,"title":{},"body":{"modules/StoreModule.html":{}}}],["nih",{"_index":1585,"title":{},"body":{"index.html":{}}}],["node",{"_index":624,"title":{},"body":{"components/OrganComponent.html":{},"dependencies.html":{}}}],["node.entityid",{"_index":625,"title":{},"body":{"components/OrganComponent.html":{}}}],["node['@id",{"_index":627,"title":{},"body":{"components/OrganComponent.html":{}}}],["nodeclicked",{"_index":574,"title":{},"body":{"components/OrganComponent.html":{}}}],["nodeclicked(event",{"_index":599,"title":{},"body":{"components/OrganComponent.html":{}}}],["nodeclickevent",{"_index":600,"title":{},"body":{"components/OrganComponent.html":{}}}],["noninfringement",{"_index":1632,"title":{},"body":{"license.html":{}}}],["not(:last",{"_index":528,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["note",{"_index":857,"title":{},"body":{"changelog.html":{}}}],["notebooks",{"_index":849,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":1568,"title":{},"body":{"index.html":{}}}],["notice",{"_index":1217,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":952,"title":{},"body":{"changelog.html":{}}}],["nowrap",{"_index":533,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["number",{"_index":951,"title":{},"body":{"changelog.html":{}}}],["numeric",{"_index":1222,"title":{},"body":{"changelog.html":{}}}],["observable",{"_index":75,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["obtaining",{"_index":1599,"title":{},"body":{"license.html":{}}}],["of(empty_scene",{"_index":180,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["of(info",{"_index":695,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["of(undefined",{"_index":167,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["off/on",{"_index":1193,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":1315,"title":{},"body":{"changelog.html":{}}}],["old",{"_index":1552,"title":{},"body":{"index.html":{}}}],["once",{"_index":419,"title":{},"body":{"modules/CoreModule.html":{}}}],["onchanges",{"_index":566,"title":{},"body":{"components/OrganComponent.html":{}}}],["one",{"_index":1261,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["online",{"_index":478,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["ontological",{"_index":1388,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":1269,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":860,"title":{},"body":{"changelog.html":{}}}],["ontologyterms",{"_index":703,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["opacities",{"_index":1199,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":142,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["openapi",{"_index":994,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/angular",{"_index":392,"title":{},"body":{"modules/CoreModule.html":{}}}],["openapi/js",{"_index":1564,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":1566,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":1565,"title":{},"body":{"index.html":{}}}],["optimization",{"_index":1131,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":1308,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":1167,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":742,"title":{},"body":{"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["optional",{"_index":32,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["options",{"_index":663,"title":{},"body":{"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["organ",{"_index":11,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["organ'},{'name",{"_index":260,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["organ.component",{"_index":713,"title":{},"body":{"modules/OrganModule.html":{}}}],["organ.component.html",{"_index":568,"title":{},"body":{"components/OrganComponent.html":{}}}],["organ.component.scss",{"_index":567,"title":{},"body":{"components/OrganComponent.html":{}}}],["organ.sex",{"_index":171,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["organ.side",{"_index":173,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["organ?.sex",{"_index":187,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["organ_lookup_failure",{"_index":214,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["organ_lookup_success",{"_index":213,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["organcomponent",{"_index":259,"title":{"components/OrganComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"coverage.html":{},"overview.html":{}}}],["organinfo",{"_index":35,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["organinfo['side",{"_index":155,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["organiri",{"_index":133,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{}}}],["organlookupservice",{"_index":49,"title":{"injectables/OrganLookupService.html":{}},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{},"coverage.html":{}}}],["organmodule",{"_index":280,"title":{"modules/OrganModule.html":{}},"body":{"modules/AppModule.html":{},"modules/OrganModule.html":{},"modules.html":{},"overview.html":{}}}],["organs",{"_index":667,"title":{},"body":{"injectables/OrganLookupService.html":{},"changelog.html":{}}}],["organs/anatomical",{"_index":1201,"title":{},"body":{"changelog.html":{}}}],["orthographic",{"_index":1087,"title":{},"body":{"changelog.html":{}}}],["ot2od026671",{"_index":1587,"title":{},"body":{"index.html":{}}}],["otherwise",{"_index":1642,"title":{},"body":{"license.html":{}}}],["out",{"_index":284,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"license.html":{},"overview.html":{}}}],["outline",{"_index":527,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["output",{"_index":613,"title":{},"body":{"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{}}}],["outputs",{"_index":579,"title":{},"body":{"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{}}}],["over",{"_index":1229,"title":{},"body":{"changelog.html":{}}}],["overall",{"_index":900,"title":{},"body":{"changelog.html":{}}}],["overlays",{"_index":1379,"title":{},"body":{"changelog.html":{}}}],["overview",{"_index":1649,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["p",{"_index":1345,"title":{},"body":{"changelog.html":{}}}],["package",{"_index":958,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["padding",{"_index":224,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{}}}],["pages",{"_index":1044,"title":{},"body":{"changelog.html":{}}}],["paired",{"_index":1029,"title":{},"body":{"changelog.html":{}}}],["pane",{"_index":1157,"title":{},"body":{"changelog.html":{}}}],["panel",{"_index":1043,"title":{},"body":{"changelog.html":{}}}],["paper",{"_index":484,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["param",{"_index":758,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["parameters",{"_index":56,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DelegateDataSourceService.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"miscellaneous/functions.html":{}}}],["parent",{"_index":1031,"title":{},"body":{"changelog.html":{}}}],["parse",{"_index":379,"title":{},"body":{"components/AppWebComponent.html":{}}}],["parsedatasources",{"_index":380,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["parsedatasources(value",{"_index":355,"title":{},"body":{"components/AppWebComponent.html":{},"miscellaneous/functions.html":{}}}],["parser",{"_index":1462,"title":{},"body":{"dependencies.html":{}}}],["parsestringarray",{"_index":381,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["parsestringarray(value",{"_index":371,"title":{},"body":{"components/AppWebComponent.html":{},"miscellaneous/functions.html":{}}}],["partial",{"_index":702,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["particular",{"_index":1630,"title":{},"body":{"license.html":{}}}],["partly",{"_index":1180,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":1105,"title":{},"body":{"changelog.html":{}}}],["parts",{"_index":197,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["parts.filter(seg",{"_index":210,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["path",{"_index":1489,"title":{},"body":{"dependencies.html":{}}}],["performance",{"_index":962,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":1593,"title":{},"body":{"license.html":{}}}],["permit",{"_index":1614,"title":{},"body":{"license.html":{}}}],["person",{"_index":1598,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1615,"title":{},"body":{"license.html":{}}}],["pick",{"_index":879,"title":{},"body":{"changelog.html":{}}}],["pipe(map((providers",{"_index":79,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["placed",{"_index":820,"title":{},"body":{"modules/StoreModule.html":{}}}],["placeholder",{"_index":1319,"title":{},"body":{"changelog.html":{}}}],["placement",{"_index":872,"title":{},"body":{"changelog.html":{}}}],["placenta",{"_index":907,"title":{},"body":{"changelog.html":{}}}],["player",{"_index":1428,"title":{},"body":{"dependencies.html":{}}}],["plugin",{"_index":810,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["plus",{"_index":889,"title":{},"body":{"changelog.html":{}}}],["pointer",{"_index":535,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/SlideToggleComponent.html":{}}}],["popup",{"_index":1326,"title":{},"body":{"changelog.html":{}}}],["portal",{"_index":476,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["portal's",{"_index":1301,"title":{},"body":{"changelog.html":{}}}],["portions",{"_index":1623,"title":{},"body":{"license.html":{}}}],["position",{"_index":235,"title":{},"body":{"components/AppComponent.html":{},"changelog.html":{}}}],["possible",{"_index":1245,"title":{},"body":{"changelog.html":{}}}],["preferences",{"_index":1070,"title":{},"body":{"changelog.html":{}}}],["preparation",{"_index":1355,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":1377,"title":{},"body":{"changelog.html":{}}}],["prevent",{"_index":938,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":1085,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":1206,"title":{},"body":{"changelog.html":{}}}],["previously",{"_index":984,"title":{},"body":{"changelog.html":{}}}],["private",{"_index":30,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["process",{"_index":1338,"title":{},"body":{"changelog.html":{}}}],["processed",{"_index":1292,"title":{},"body":{"changelog.html":{}}}],["processing",{"_index":1071,"title":{},"body":{"changelog.html":{}}}],["production",{"_index":972,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":953,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":1343,"title":{},"body":{"changelog.html":{}}}],["projectname",{"_index":406,"title":{},"body":{"modules/CoreModule.html":{}}}],["projects",{"_index":1541,"title":{},"body":{"index.html":{}}}],["projects/.../app",{"_index":1535,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../app.component.ts",{"_index":1652,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../store.module.ts",{"_index":1653,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/ccf",{"_index":10,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["properties",{"_index":26,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["protected",{"_index":431,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["provide",{"_index":412,"title":{},"body":{"modules/CoreModule.html":{}}}],["provided",{"_index":1392,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["providedin",{"_index":430,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/OrganLookupService.html":{}}}],["providername",{"_index":616,"title":{},"body":{"components/OrganComponent.html":{}}}],["providername.has(block.donor.providername)).map(block",{"_index":620,"title":{},"body":{"components/OrganComponent.html":{}}}],["providers",{"_index":81,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"modules/CoreModule.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{}}}],["providertoken",{"_index":425,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["public",{"_index":1325,"title":{},"body":{"changelog.html":{}}}],["publish",{"_index":1608,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":956,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":1631,"title":{},"body":{"license.html":{}}}],["pushed",{"_index":1146,"title":{},"body":{"changelog.html":{}}}],["python",{"_index":850,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["qs",{"_index":1513,"title":{},"body":{"dependencies.html":{}}}],["qualitative",{"_index":1304,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":1012,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":863,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["query",{"_index":1387,"title":{},"body":{"changelog.html":{}}}],["querying",{"_index":913,"title":{},"body":{"changelog.html":{}}}],["quickly",{"_index":1285,"title":{},"body":{"changelog.html":{}}}],["radius",{"_index":539,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{}}}],["rc.1",{"_index":1310,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":1515,"title":{},"body":{"dependencies.html":{}}}],["rdfjs",{"_index":1430,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":1455,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":1517,"title":{},"body":{"dependencies.html":{}}}],["read",{"_index":88,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["readable",{"_index":1519,"title":{},"body":{"dependencies.html":{}}}],["readonly",{"_index":27,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{}}}],["real",{"_index":1324,"title":{},"body":{"changelog.html":{}}}],["reason",{"_index":817,"title":{},"body":{"modules/StoreModule.html":{}}}],["rectify",{"_index":990,"title":{},"body":{"changelog.html":{}}}],["reduce",{"_index":1136,"title":{},"body":{"changelog.html":{}}}],["reduction",{"_index":930,"title":{},"body":{"changelog.html":{}}}],["reference",{"_index":499,"title":{},"body":{"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["refernced",{"_index":1030,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":1104,"title":{},"body":{"changelog.html":{}}}],["regions",{"_index":1380,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":455,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"dependencies.html":{}}}],["registered",{"_index":985,"title":{},"body":{"changelog.html":{}}}],["registration",{"_index":452,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["registrations",{"_index":1126,"title":{},"body":{"changelog.html":{}}}],["related",{"_index":1173,"title":{},"body":{"changelog.html":{}}}],["relative",{"_index":236,"title":{},"body":{"components/AppComponent.html":{}}}],["release",{"_index":844,"title":{},"body":{"changelog.html":{}}}],["reliability",{"_index":1219,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":1081,"title":{},"body":{"changelog.html":{}}}],["remoteapiendpoint",{"_index":328,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["removed",{"_index":1057,"title":{},"body":{"changelog.html":{}}}],["removes",{"_index":1172,"title":{},"body":{"changelog.html":{}}}],["reporter",{"_index":473,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["repository",{"_index":1538,"title":{},"body":{"index.html":{}}}],["required",{"_index":1273,"title":{},"body":{"changelog.html":{}}}],["reset",{"_index":283,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"overview.html":{}}}],["resets",{"_index":1106,"title":{},"body":{"changelog.html":{}}}],["resolved",{"_index":1152,"title":{},"body":{"changelog.html":{}}}],["respond",{"_index":1099,"title":{},"body":{"changelog.html":{}}}],["restriction",{"_index":1603,"title":{},"body":{"license.html":{}}}],["result",{"_index":268,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["results",{"_index":270,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["return",{"_index":209,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{}}}],["returns",{"_index":64,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"injectables/DelegateDataSourceService.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"miscellaneous/functions.html":{}}}],["rgb",{"_index":1494,"title":{},"body":{"dependencies.html":{}}}],["rgba(67",{"_index":775,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["right",{"_index":36,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["right.nativeelement.offsetheight",{"_index":192,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["rightheight",{"_index":191,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["rightheight}px",{"_index":194,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["rights",{"_index":1605,"title":{},"body":{"license.html":{}}}],["root",{"_index":20,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["root'},{'name",{"_index":253,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["root_states",{"_index":815,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rotates",{"_index":1083,"title":{},"body":{"changelog.html":{}}}],["round",{"_index":1204,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":1223,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":911,"title":{},"body":{"changelog.html":{}}}],["row",{"_index":223,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{}}}],["ru/common",{"_index":1416,"title":{},"body":{"dependencies.html":{}}}],["ru/common/typings",{"_index":105,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["rui",{"_index":454,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["rui_locations.jsonld",{"_index":944,"title":{},"body":{"changelog.html":{}}}],["rxjs",{"_index":120,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":127,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["sample",{"_index":1391,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["samples",{"_index":1138,"title":{},"body":{"changelog.html":{}}}],["sans",{"_index":554,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["saver",{"_index":1481,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":1344,"title":{},"body":{"changelog.html":{}}}],["scene",{"_index":37,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"changelog.html":{}}}],["scheduled",{"_index":1153,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":1347,"title":{},"body":{"changelog.html":{}}}],["schemes",{"_index":1305,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":1581,"title":{},"body":{"index.html":{}}}],["search",{"_index":878,"title":{},"body":{"changelog.html":{}}}],["searches",{"_index":892,"title":{},"body":{"changelog.html":{}}}],["section",{"_index":525,"title":{},"body":{"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["sections",{"_index":459,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["see",{"_index":915,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["seg).join",{"_index":211,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["select",{"_index":1056,"title":{},"body":{"changelog.html":{}}}],["selected",{"_index":741,"title":{},"body":{"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["selecting",{"_index":947,"title":{},"body":{"changelog.html":{}}}],["selection",{"_index":605,"title":{},"body":{"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{}}}],["selector",{"_index":18,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["selects",{"_index":1364,"title":{},"body":{"changelog.html":{}}}],["selecttoken",{"_index":437,"title":{},"body":{"injectables/DelegateDataSourceService.html":{}}}],["selecttoken(config",{"_index":432,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["sell",{"_index":1612,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":1376,"title":{},"body":{"changelog.html":{}}}],["sennet",{"_index":966,"title":{},"body":{"changelog.html":{}}}],["serif",{"_index":555,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["server",{"_index":1350,"title":{},"body":{"changelog.html":{}}}],["services/data",{"_index":398,"title":{},"body":{"modules/CoreModule.html":{}}}],["set",{"_index":1066,"title":{},"body":{"changelog.html":{}}}],["set(this.filter?.tmc",{"_index":617,"title":{},"body":{"components/OrganComponent.html":{}}}],["setting",{"_index":825,"title":{},"body":{"modules/StoreModule.html":{}}}],["setup",{"_index":1122,"title":{},"body":{"changelog.html":{}}}],["sex",{"_index":38,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"changelog.html":{}}}],["sexchange",{"_index":580,"title":{},"body":{"components/OrganComponent.html":{}}}],["sexes",{"_index":1260,"title":{},"body":{"changelog.html":{}}}],["shadow",{"_index":548,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["shall",{"_index":1620,"title":{},"body":{"license.html":{}}}],["shared",{"_index":116,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"modules/StoreModule.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["shared/analytics",{"_index":396,"title":{},"body":{"modules/CoreModule.html":{}}}],["shared/web",{"_index":351,"title":{},"body":{"components/AppWebComponent.html":{}}}],["sharereplay",{"_index":122,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["sharereplay(1",{"_index":160,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["shortest",{"_index":1488,"title":{},"body":{"dependencies.html":{}}}],["show",{"_index":1100,"title":{},"body":{"changelog.html":{}}}],["showing",{"_index":1291,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":1300,"title":{},"body":{"changelog.html":{}}}],["shows",{"_index":1015,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":39,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"changelog.html":{}}}],["sidechange",{"_index":581,"title":{},"body":{"components/OrganComponent.html":{}}}],["sides",{"_index":1262,"title":{},"body":{"changelog.html":{}}}],["significant",{"_index":1109,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":1042,"title":{},"body":{"changelog.html":{}}}],["simplechanges",{"_index":596,"title":{},"body":{"components/OrganComponent.html":{}}}],["simplifies",{"_index":1120,"title":{},"body":{"changelog.html":{}}}],["sites",{"_index":1023,"title":{},"body":{"changelog.html":{}}}],["sizable",{"_index":1218,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":229,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{}}}],["skipself",{"_index":389,"title":{},"body":{"modules/CoreModule.html":{}}}],["slide",{"_index":262,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{}}}],["slider",{"_index":732,"title":{},"body":{"components/SlideToggleComponent.html":{},"dependencies.html":{}}}],["slidetogglecomponent",{"_index":261,"title":{"components/SlideToggleComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"coverage.html":{},"overview.html":{}}}],["slidetogglemodule",{"_index":711,"title":{"modules/SlideToggleModule.html":{}},"body":{"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules.html":{},"overview.html":{}}}],["slightly",{"_index":988,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":1133,"title":{},"body":{"changelog.html":{}}}],["software",{"_index":1543,"title":{},"body":{"index.html":{},"license.html":{}}}],["solid",{"_index":510,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["solved",{"_index":1213,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":1282,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":960,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":1129,"title":{},"body":{"changelog.html":{}}}],["source",{"_index":4,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{}}}],["source.service",{"_index":400,"title":{},"body":{"modules/CoreModule.html":{}}}],["source.service.ts",{"_index":423,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"coverage.html":{}}}],["source.service.ts:17",{"_index":438,"title":{},"body":{"injectables/DelegateDataSourceService.html":{}}}],["source/data",{"_index":399,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"coverage.html":{}}}],["sources",{"_index":370,"title":{},"body":{"components/AppWebComponent.html":{},"changelog.html":{}}}],["space",{"_index":518,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["sparc",{"_index":1125,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":862,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":886,"title":{},"body":{"changelog.html":{}}}],["spatialentity",{"_index":113,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{}}}],["spatialscenenode",{"_index":109,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{}}}],["spec",{"_index":995,"title":{},"body":{"changelog.html":{}}}],["spec.yaml",{"_index":1563,"title":{},"body":{"index.html":{}}}],["specific",{"_index":1008,"title":{},"body":{"changelog.html":{}}}],["specification",{"_index":1562,"title":{},"body":{"index.html":{}}}],["speed",{"_index":927,"title":{},"body":{"changelog.html":{}}}],["spinal",{"_index":908,"title":{},"body":{"changelog.html":{}}}],["spinning",{"_index":1348,"title":{},"body":{"changelog.html":{}}}],["sprint",{"_index":1156,"title":{},"body":{"changelog.html":{}}}],["stage",{"_index":662,"title":{},"body":{"components/OrganComponent.html":{},"changelog.html":{}}}],["staging",{"_index":973,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["standalone",{"_index":1208,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":1266,"title":{},"body":{"changelog.html":{}}}],["standards",{"_index":1352,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":1546,"title":{},"body":{"index.html":{}}}],["started",{"_index":832,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["starts",{"_index":1398,"title":{},"body":{"changelog.html":{}}}],["startup",{"_index":1118,"title":{},"body":{"changelog.html":{}}}],["startwith",{"_index":123,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["startwith('loading",{"_index":188,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["stat",{"_index":798,"title":{},"body":{"components/StatsListComponent.html":{}}}],["stat.count",{"_index":794,"title":{},"body":{"components/StatsListComponent.html":{}}}],["stat.label",{"_index":795,"title":{},"body":{"components/StatsListComponent.html":{}}}],["state",{"_index":749,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["statements",{"_index":1401,"title":{},"body":{"coverage.html":{}}}],["states",{"_index":813,"title":{},"body":{"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["static",{"_index":89,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{}}}],["stats",{"_index":40,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{}}}],["statslabel",{"_index":41,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/StatsListComponent.html":{}}}],["statslistcomponent",{"_index":264,"title":{"components/StatsListComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"coverage.html":{},"overview.html":{}}}],["statslistmodule",{"_index":281,"title":{"modules/StatsListModule.html":{}},"body":{"modules/AppModule.html":{},"modules/StatsListModule.html":{},"modules.html":{},"overview.html":{}}}],["stay",{"_index":1396,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":1141,"title":{},"body":{"changelog.html":{}}}],["store",{"_index":821,"title":{},"body":{"modules/StoreModule.html":{}}}],["store/store.module",{"_index":401,"title":{},"body":{"modules/CoreModule.html":{}}}],["storemodule",{"_index":385,"title":{"modules/StoreModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{},"modules.html":{},"overview.html":{}}}],["stories",{"_index":1341,"title":{},"body":{"changelog.html":{}}}],["strange",{"_index":816,"title":{},"body":{"modules/StoreModule.html":{}}}],["stream",{"_index":1520,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":1518,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":67,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"miscellaneous/functions.html":{}}}],["structure",{"_index":1168,"title":{},"body":{"changelog.html":{}}}],["structures",{"_index":467,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["styles",{"_index":6,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["styleurls",{"_index":21,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["styling",{"_index":1038,"title":{},"body":{"changelog.html":{}}}],["subject",{"_index":1617,"title":{},"body":{"license.html":{}}}],["sublicense",{"_index":1610,"title":{},"body":{"license.html":{}}}],["substantial",{"_index":1622,"title":{},"body":{"license.html":{}}}],["such",{"_index":861,"title":{},"body":{"changelog.html":{}}}],["super(configstore",{"_index":373,"title":{},"body":{"components/AppWebComponent.html":{}}}],["support",{"_index":866,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["svg",{"_index":1646,"title":{},"body":{"modules.html":{}}}],["swiper",{"_index":1523,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":875,"title":{},"body":{"changelog.html":{}}}],["switched",{"_index":1226,"title":{},"body":{"changelog.html":{}}}],["switchmap",{"_index":124,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["switchmap((organ",{"_index":178,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["switchmap(config",{"_index":151,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["switchmap(info",{"_index":163,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["switchmap(organ",{"_index":182,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["sync",{"_index":1084,"title":{},"body":{"changelog.html":{}}}],["table",{"_index":1415,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":980,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":1414,"title":{},"body":{"coverage.html":{}}}],["tagging",{"_index":1264,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":1006,"title":{},"body":{"changelog.html":{}}}],["tap",{"_index":125,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["tap(config",{"_index":148,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["tap(info",{"_index":157,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["tap(organ",{"_index":168,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["technologies",{"_index":1370,"title":{},"body":{"changelog.html":{}}}],["technology",{"_index":1197,"title":{},"body":{"changelog.html":{}}}],["telemetry",{"_index":1077,"title":{},"body":{"changelog.html":{}}}],["template",{"_index":5,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["templateurl",{"_index":23,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["terms",{"_index":858,"title":{},"body":{"changelog.html":{}}}],["test",{"_index":1329,"title":{},"body":{"changelog.html":{}}}],["testing",{"_index":1272,"title":{},"body":{"changelog.html":{}}}],["text",{"_index":233,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{}}}],["theme",{"_index":967,"title":{},"body":{"changelog.html":{}}}],["themes",{"_index":965,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":963,"title":{},"body":{"changelog.html":{}}}],["this.blocks",{"_index":189,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.blocks?.filter(block",{"_index":619,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.bodyui",{"_index":636,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.bodyui.scene",{"_index":622,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.bodyui.scene.map((node",{"_index":623,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.configstate.getoption('highlightproviders",{"_index":78,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.configstate.getoption('sex",{"_index":97,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.configstate.getoption('side",{"_index":99,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.configstate.patchconfig",{"_index":196,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.filteredblocks",{"_index":618,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.filteredblocks.includes(node.entityid",{"_index":632,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.ga.event('node_click",{"_index":655,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.ga.event(event",{"_index":216,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.highlightednodeid",{"_index":626,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.injector",{"_index":314,"title":{},"body":{"modules/AppModule.html":{}}}],["this.labels[0",{"_index":760,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["this.labels[1",{"_index":761,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["this.latestconfig",{"_index":149,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.latestconfig.organiri",{"_index":199,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.latestconfig.sex",{"_index":166,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.latestconfig.side",{"_index":174,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.latestorganinfo",{"_index":159,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.latestorganinfo?.hassex",{"_index":170,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.logorganlookup(info",{"_index":158,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.makestatslabel(this.latestorganinfo",{"_index":186,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.organ",{"_index":161,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.organ$.pipe",{"_index":177,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.organinfo",{"_index":146,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.organinfo$.pipe",{"_index":162,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.organs.find(item",{"_index":688,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["this.scene",{"_index":176,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.sex",{"_index":638,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.sexchange.emit(this.sex",{"_index":639,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.side",{"_index":640,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.sidechange.emit(this.side",{"_index":641,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.source.getaggregateresults(filter",{"_index":705,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["this.source.getreferenceorgans().pipe",{"_index":696,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["this.source.getreferenceorganscene(info.id",{"_index":704,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["this.source.gettissueblockresults(filter",{"_index":706,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["this.stats",{"_index":181,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.statslabel",{"_index":184,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.updatehighlighting",{"_index":615,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.updateinput('sex",{"_index":172,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.updateinput('side",{"_index":175,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.value",{"_index":759,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["this.valuechange.emit(this.value",{"_index":762,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["this.zoomtofitorgan",{"_index":637,"title":{},"body":{"components/OrganComponent.html":{}}}],["through",{"_index":1284,"title":{},"body":{"changelog.html":{}}}],["throw",{"_index":366,"title":{},"body":{"components/AppWebComponent.html":{},"modules/CoreModule.html":{}}}],["thumb",{"_index":779,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["thumbnails",{"_index":1166,"title":{},"body":{"changelog.html":{}}}],["tied",{"_index":1170,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":1293,"title":{},"body":{"changelog.html":{}}}],["timeouts",{"_index":939,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":932,"title":{},"body":{"changelog.html":{}}}],["tissue",{"_index":449,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["tissueblockresult",{"_index":114,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{}}}],["tissues",{"_index":986,"title":{},"body":{"changelog.html":{}}}],["title",{"_index":201,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{}}}],["tmc",{"_index":80,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{}}}],["toggle",{"_index":719,"title":{},"body":{"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"changelog.html":{}}}],["toggle'},{'name",{"_index":263,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["toggle.component",{"_index":787,"title":{},"body":{"modules/SlideToggleModule.html":{}}}],["toggle.component.html",{"_index":721,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.component.scss",{"_index":720,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.component.ts",{"_index":718,"title":{},"body":{"components/SlideToggleComponent.html":{},"coverage.html":{}}}],["toggle.component.ts:13",{"_index":743,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.component.ts:18",{"_index":733,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.component.ts:23",{"_index":736,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.component.ts:28",{"_index":730,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.component.ts:33",{"_index":737,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.component.ts:38",{"_index":754,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.component.ts:48",{"_index":745,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.module",{"_index":716,"title":{},"body":{"modules/OrganModule.html":{}}}],["toggle.module.ts",{"_index":784,"title":{},"body":{"modules/SlideToggleModule.html":{}}}],["toggle/slide",{"_index":715,"title":{},"body":{"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"coverage.html":{}}}],["toggled",{"_index":735,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["tool",{"_index":1209,"title":{},"body":{"changelog.html":{}}}],["top",{"_index":508,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["tort",{"_index":1641,"title":{},"body":{"license.html":{}}}],["tracking/telemetry",{"_index":1093,"title":{},"body":{"changelog.html":{}}}],["transition",{"_index":542,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/SlideToggleComponent.html":{}}}],["transparency",{"_index":1210,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":1230,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":8,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["true",{"_index":90,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{}}}],["true=left",{"_index":750,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["try",{"_index":1248,"title":{},"body":{"changelog.html":{}}}],["ts",{"_index":1525,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":1528,"title":{},"body":{"dependencies.html":{}}}],["tuned",{"_index":1397,"title":{},"body":{"changelog.html":{}}}],["turn",{"_index":1192,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":1174,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":1171,"title":{},"body":{"changelog.html":{}}}],["tutorial",{"_index":1059,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":734,"title":{},"body":{"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["type",{"_index":59,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["typeof",{"_index":358,"title":{},"body":{"components/AppWebComponent.html":{}}}],["types",{"_index":469,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["types/lru",{"_index":1457,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":955,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["typing",{"_index":1360,"title":{},"body":{"changelog.html":{}}}],["ufl",{"_index":1165,"title":{},"body":{"changelog.html":{}}}],["ui",{"_index":111,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"changelog.html":{},"index.html":{}}}],["ui.netlify.app",{"_index":1549,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":1556,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":1554,"title":{},"body":{"index.html":{}}}],["ui/organ",{"_index":1555,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":457,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"index.html":{}}}],["uis",{"_index":846,"title":{},"body":{"changelog.html":{}}}],["undefined",{"_index":62,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["university",{"_index":1583,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":195,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["unnecessary",{"_index":1080,"title":{},"body":{"changelog.html":{}}}],["unselect",{"_index":1135,"title":{},"body":{"changelog.html":{}}}],["until",{"_index":1176,"title":{},"body":{"changelog.html":{}}}],["up",{"_index":921,"title":{},"body":{"changelog.html":{}}}],["update",{"_index":870,"title":{},"body":{"changelog.html":{}}}],["updated",{"_index":839,"title":{},"body":{"changelog.html":{}}}],["updatehighlighting",{"_index":575,"title":{},"body":{"components/OrganComponent.html":{}}}],["updateinput",{"_index":46,"title":{},"body":{"components/AppComponent.html":{}}}],["updateinput(key",{"_index":71,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["updates",{"_index":746,"title":{},"body":{"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["updatesex",{"_index":576,"title":{},"body":{"components/OrganComponent.html":{}}}],["updatesex(selection",{"_index":603,"title":{},"body":{"components/OrganComponent.html":{}}}],["updateside",{"_index":577,"title":{},"body":{"components/OrganComponent.html":{}}}],["updateside(selection",{"_index":606,"title":{},"body":{"components/OrganComponent.html":{}}}],["updatetoggle",{"_index":723,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["updatetoggle(selection",{"_index":744,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["upgraded",{"_index":1289,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":1366,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":1096,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":1205,"title":{},"body":{"changelog.html":{}}}],["url",{"_index":494,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["usage",{"_index":848,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":1569,"title":{},"body":{"index.html":{}}}],["use",{"_index":200,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["usecase",{"_index":1575,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":1572,"title":{},"body":{"index.html":{}}}],["used",{"_index":1191,"title":{},"body":{"changelog.html":{}}}],["useexisting",{"_index":413,"title":{},"body":{"modules/CoreModule.html":{}}}],["user",{"_index":453,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["user/os",{"_index":1069,"title":{},"body":{"changelog.html":{}}}],["useremote",{"_index":433,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["useremoteapi",{"_index":329,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["users",{"_index":1383,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":1086,"title":{},"body":{"changelog.html":{}}}],["using",{"_index":450,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["utilities",{"_index":1075,"title":{},"body":{"changelog.html":{}}}],["uuid",{"_index":1529,"title":{},"body":{"dependencies.html":{}}}],["v1.1",{"_index":981,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":856,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":845,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":1190,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":983,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":976,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":941,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":905,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":871,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":916,"title":{},"body":{"changelog.html":{}}}],["v2.1.0",{"_index":854,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":841,"title":{},"body":{"changelog.html":{}}}],["v3",{"_index":877,"title":{},"body":{"changelog.html":{}}}],["val",{"_index":357,"title":{},"body":{"components/AppWebComponent.html":{}}}],["val.every(isstring",{"_index":361,"title":{},"body":{"components/AppWebComponent.html":{}}}],["value",{"_index":72,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["value?.startswith",{"_index":372,"title":{},"body":{"components/AppWebComponent.html":{}}}],["valuechange",{"_index":726,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["var",{"_index":251,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["variable",{"_index":551,"title":{},"body":{"components/LinkCardsComponent.html":{},"coverage.html":{}}}],["variables",{"_index":1651,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["version",{"_index":998,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["very",{"_index":1279,"title":{},"body":{"changelog.html":{}}}],["via",{"_index":937,"title":{},"body":{"changelog.html":{}}}],["video",{"_index":1097,"title":{},"body":{"changelog.html":{}}}],["view",{"_index":463,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["viewchild",{"_index":107,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{}}}],["viewchild('bodyui",{"_index":610,"title":{},"body":{"components/OrganComponent.html":{}}}],["viewchild('left",{"_index":87,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["viewchild('right",{"_index":94,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["viewer",{"_index":1159,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":898,"title":{},"body":{"changelog.html":{}}}],["views",{"_index":1088,"title":{},"body":{"changelog.html":{}}}],["visible",{"_index":481,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["visual",{"_index":896,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":1127,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":1290,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":65,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{}}}],["vs",{"_index":1054,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":1393,"title":{},"body":{"changelog.html":{}}}],["walkthrough",{"_index":1571,"title":{},"body":{"index.html":{}}}],["warming",{"_index":936,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":1312,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":1627,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1624,"title":{},"body":{"license.html":{}}}],["wc",{"_index":320,"title":{},"body":{"components/AppWebComponent.html":{}}}],["wc'},{'name",{"_index":255,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["web",{"_index":300,"title":{},"body":{"modules/AppModule.html":{},"components/AppWebComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["webcomponent",{"_index":1053,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":1459,"title":{},"body":{"dependencies.html":{}}}],["webpages",{"_index":1004,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":1545,"title":{},"body":{"index.html":{}}}],["week",{"_index":1399,"title":{},"body":{"changelog.html":{}}}],["weight",{"_index":537,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["whether",{"_index":731,"title":{},"body":{"components/SlideToggleComponent.html":{},"license.html":{}}}],["white",{"_index":238,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{}}}],["whole",{"_index":1395,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":240,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["window.open(url",{"_index":490,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["within",{"_index":1163,"title":{},"body":{"changelog.html":{}}}],["withlatestfrom",{"_index":126,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["without",{"_index":1020,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["workflows",{"_index":1232,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":989,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":1252,"title":{},"body":{"changelog.html":{}}}],["x",{"_index":643,"title":{},"body":{"components/OrganComponent.html":{}}}],["x_dimension",{"_index":642,"title":{},"body":{"components/OrganComponent.html":{}}}],["y",{"_index":645,"title":{},"body":{"components/OrganComponent.html":{}}}],["y_dimension",{"_index":644,"title":{},"body":{"components/OrganComponent.html":{}}}],["yes",{"_index":69,"title":{},"body":{"components/AppComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{}}}],["youtube",{"_index":1025,"title":{},"body":{"changelog.html":{}}}],["z",{"_index":647,"title":{},"body":{"components/OrganComponent.html":{}}}],["z_dimension",{"_index":646,"title":{},"body":{"components/OrganComponent.html":{}}}],["zone.js",{"_index":1531,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":282,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"overview.html":{}}}],["zoomtofitorgan",{"_index":578,"title":{},"body":{"components/OrganComponent.html":{}}}]],"pipeline":["stemmer"]}, - "store": {"components/AppComponent.html":{"url":"components/AppComponent.html","title":"component - AppComponent","body":"\n \n\n\n\n\n\n Components\n \n AppComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-organ-info/src/app/app.component.ts\n\n\n\n\n\n \n Implements\n \n \n AfterViewInit\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root\n \n\n \n styleUrls\n ./app.component.scss\n \n\n\n\n \n templateUrl\n ./app.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n blocks$\n \n \n Readonly\n filter$\n \n \n Private\n latestConfig\n \n \n Private\n Optional\n latestOrganInfo\n \n \n left\n \n \n Readonly\n organ$\n \n \n Readonly\n organInfo$\n \n \n right\n \n \n Readonly\n scene$\n \n \n Readonly\n sex$\n \n \n Readonly\n side$\n \n \n Readonly\n stats$\n \n \n Readonly\n statsLabel$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n logOrganLookup\n \n \n Private\n makeStatsLabel\n \n \n ngAfterViewInit\n \n \n updateInput\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(lookup: OrganLookupService, ga: GoogleAnalyticsService, configState: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:47\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n lookup\n \n \n OrganLookupService\n \n \n \n No\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n \n configState\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n logOrganLookup\n \n \n \n \n \n \n \n logOrganLookup(info: OrganInfo | undefined)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:132\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n info\n \n OrganInfo | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n makeStatsLabel\n \n \n \n \n \n \n \n makeStatsLabel(info: OrganInfo | undefined, sex?: string)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:122\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n info\n \n OrganInfo | undefined\n \n\n \n No\n \n\n\n \n \n sex\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngAfterViewInit\n \n \n \n \n \n \nngAfterViewInit()\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:112\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateInput\n \n \n \n \n \n \nupdateInput(key: string, value)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n \n value\n \n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n blocks$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n filter$\n \n \n \n \n \n \n Default value : this.configState.getOption('highlightProviders')\n .pipe(map((providers: string[]) => ({ tmc: providers })))\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n latestConfig\n \n \n \n \n \n \n Type : Immutable\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Optional\n latestOrganInfo\n \n \n \n \n \n \n Type : OrganInfo\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n left\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('left', {read: ElementRef, static: true})\n \n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n organ$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n organInfo$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n right\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('right', {read: ElementRef, static: true})\n \n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n scene$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n sex$\n \n \n \n \n \n \n Default value : this.configState.getOption('sex')\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n side$\n \n \n \n \n \n \n Default value : this.configState.getOption('side')\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n stats$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n statsLabel$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:43\n \n \n\n\n \n \n\n\n\n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, ViewChild } from '@angular/core';\nimport { SpatialSceneNode } from 'ccf-body-ui';\nimport { AggregateResult, SpatialEntity, TissueBlockResult } from 'ccf-database';\nimport { GlobalConfigState, OrganInfo } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { Observable, of } from 'rxjs';\nimport { map, shareReplay, startWith, switchMap, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { OrganLookupService } from './core/services/organ-lookup/organ-lookup.service';\n\n\ninterface GlobalConfig {\n organIri?: string;\n side?: string;\n sex?: 'Both' | 'Male' | 'Female';\n highlightProviders?: string[];\n}\n\nconst EMPTY_SCENE = [\n { color: [0, 0, 0, 0], opacity: 0.001 }\n];\n\n\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent implements AfterViewInit {\n @ViewChild('left', { read: ElementRef, static: true }) left: ElementRef;\n @ViewChild('right', { read: ElementRef, static: true }) right: ElementRef;\n\n readonly sex$ = this.configState.getOption('sex');\n readonly side$ = this.configState.getOption('side');\n readonly filter$ = this.configState.getOption('highlightProviders')\n .pipe(map((providers: string[]) => ({ tmc: providers })));\n readonly organInfo$: Observable;\n readonly organ$: Observable;\n readonly scene$: Observable;\n readonly stats$: Observable;\n readonly statsLabel$: Observable;\n readonly blocks$: Observable;\n\n private latestConfig: Immutable = {};\n private latestOrganInfo?: OrganInfo;\n\n constructor(\n lookup: OrganLookupService,\n private readonly ga: GoogleAnalyticsService,\n private readonly configState: GlobalConfigState\n ) {\n this.organInfo$ = configState.config$.pipe(\n tap(config => (this.latestConfig = config)),\n switchMap(config => lookup.getOrganInfo(\n config.organIri ?? '',\n config.side?.toLowerCase?.() as OrganInfo['side'],\n config.sex\n )),\n tap(info => this.logOrganLookup(info)),\n tap(info => (this.latestOrganInfo = info)),\n shareReplay(1)\n );\n\n this.organ$ = this.organInfo$.pipe(\n switchMap(info => info ? lookup.getOrgan(\n info,\n info.hasSex ? this.latestConfig.sex : undefined\n ) : of(undefined)),\n tap(organ => {\n if (organ && this.latestOrganInfo) {\n const newSex = this.latestOrganInfo?.hasSex ? organ.sex : undefined;\n if (newSex !== this.latestConfig.sex) {\n this.updateInput('sex', newSex);\n }\n if (organ.side !== this.latestConfig.side) {\n this.updateInput('side', organ.side);\n }\n }\n }),\n shareReplay(1)\n );\n\n this.scene$ = this.organ$.pipe(\n switchMap((organ) => organ && this.latestOrganInfo ? lookup.getOrganScene(\n this.latestOrganInfo,\n organ.sex\n ) : of(EMPTY_SCENE as SpatialSceneNode[]))\n );\n\n this.stats$ = this.organ$.pipe(\n switchMap(organ => organ && this.latestOrganInfo ? lookup.getOrganStats(\n this.latestOrganInfo,\n organ.sex\n ) : of([]))\n );\n\n this.statsLabel$ = this.organ$.pipe(\n map((organ) => this.makeStatsLabel(this.latestOrganInfo, organ?.sex)),\n startWith('Loading...')\n );\n\n this.blocks$ = this.organ$.pipe(\n switchMap(organ => organ && this.latestOrganInfo ? lookup.getBlocks(\n this.latestOrganInfo,\n organ.sex\n ) : of([]))\n );\n }\n\n ngAfterViewInit(): void {\n const { left, right } = this;\n const rightHeight = right.nativeElement.offsetHeight;\n left.nativeElement.style.height = `${rightHeight}px`;\n }\n\n updateInput(key: string, value: unknown): void {\n this.configState.patchConfig({ [key]: value });\n }\n\n private makeStatsLabel(info: OrganInfo | undefined, sex?: string): string {\n let parts: (string | undefined)[] = [`Unknown IRI: ${this.latestConfig.organIri}`];\n if (info) {\n // Use title cased side for a cleaner display\n const side = info.side ? info.side.charAt(0).toUpperCase() + info.side.slice(1) : undefined;\n parts = [sex, info.organ, side];\n }\n return parts.filter(seg => !!seg).join(', ');\n }\n\n private logOrganLookup(info: OrganInfo | undefined): void {\n const event = info ? 'organ_lookup_success' : 'organ_lookup_failure';\n const inputs = `Iri: ${this.latestConfig.organIri} - Sex: ${this.latestConfig.sex} - Side: ${this.latestConfig.side}`;\n this.ga.event(event, 'organ', inputs);\n }\n}\n\n \n\n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n \n \n ./app.component.scss\n \n .container {\n height: fit-content;\n display: flex;\n flex-direction: row;\n padding: 1rem;\n font-family: Inter;\n font-size: 0.95rem;\n line-height: 1.5;\n text-align: left;\n position: relative;\n background-color: white;\n color: black;\n\n\n .left {\n width: auto;\n flex-grow: 1;\n }\n\n .right {\n margin-left: 2rem;\n height: fit-content;\n width: 29rem;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'LinkCardsComponent', 'selector': 'ccf-link-cards'},{'name': 'OrganComponent', 'selector': 'ccf-organ'},{'name': 'SlideToggleComponent', 'selector': 'ccf-slide-toggle'},{'name': 'StatsListComponent', 'selector': 'ccf-stats-list'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AppModule.html":{"url":"modules/AppModule.html","title":"module - AppModule","body":"\n \n\n\n\n\n Modules\n AppModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nAppModule -->\n\nCoreModule->AppModule\n\n\n\n\n\nLinkCardsModule\n\nLinkCardsModule\n\nAppModule -->\n\nLinkCardsModule->AppModule\n\n\n\n\n\nOrganModule\n\nOrganModule\n\nAppModule -->\n\nOrganModule->AppModule\n\n\n\n\n\nStatsListModule\n\nStatsListModule\n\nAppModule -->\n\nStatsListModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-organ-info/src/app/app.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n AppComponent\n \n \n AppWebComponent\n \n \n \n \n EntryComponents\n \n \n AppComponent\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n LinkCardsModule\n \n \n OrganModule\n \n \n StatsListModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngDoBootstrap\n \n \n \n \n \n \nngDoBootstrap()\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/app.module.ts:30\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { DoBootstrap, Injector, NgModule } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { AppWebComponent } from './app-web-component.component';\nimport { AppComponent } from './app.component';\nimport { CoreModule } from './core/core.module';\nimport { OrganModule } from './features/organ/organ.module';\nimport { LinkCardsModule } from './modules/link-cards/link-cards.module';\nimport { StatsListModule } from './modules/stats-list/stats-list.module';\n\n\n\n@NgModule({\n imports: [\n BrowserModule,\n\n CoreModule,\n LinkCardsModule,\n StatsListModule,\n OrganModule\n ],\n declarations: [AppComponent, AppWebComponent],\n providers: [],\n entryComponents: [AppComponent]\n})\nexport class AppModule implements DoBootstrap {\n constructor(private readonly injector: Injector) { }\n\n ngDoBootstrap(): void {\n const appElement = createCustomElement(AppWebComponent, {\n injector: this.injector\n });\n\n customElements.define('ccf-organ-info', appElement);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppWebComponent.html":{"url":"components/AppWebComponent.html","title":"component - AppWebComponent","body":"\n \n\n\n\n\n\n Components\n \n AppWebComponent\n\n\n\n \n Info\n \n \n Source\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-organ-info/src/app/app-web-component.component.ts\n\n\n\n\n \n Extends\n \n \n BaseWebComponent\n \n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root-wc\n \n\n\n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n initialized\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n dataSources\n \n \n highlightProviders\n \n \n hubmapAssetUrl\n \n \n hubmapDataService\n \n \n hubmapDataUrl\n \n \n hubmapPortalUrl\n \n \n hubmapToken\n \n \n organIri\n \n \n remoteApiEndpoint\n \n \n sex\n \n \n side\n \n \n useRemoteApi\n \n \n \n \n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configStore: GlobalConfigState, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:65\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configStore\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n dataSources\n \n \n \n \n Type : string | string[]\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:53\n \n \n \n \n \n \n \n \n \n highlightProviders\n \n \n \n \n Type : string | string[]\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:54\n \n \n \n \n \n \n \n \n \n hubmapAssetUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:58\n \n \n \n \n \n \n \n \n \n hubmapDataService\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:56\n \n \n \n \n \n \n \n \n \n hubmapDataUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:57\n \n \n \n \n \n \n \n \n \n hubmapPortalUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:60\n \n \n \n \n \n \n \n \n \n hubmapToken\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:59\n \n \n \n \n \n \n \n \n \n organIri\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:50\n \n \n \n \n \n \n \n \n \n remoteApiEndpoint\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:63\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n Type : \"Both\" | \"Male\" | \"Female\"\n\n \n \n \n \n Default value : 'Female'\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:51\n \n \n \n \n \n \n \n \n \n side\n \n \n \n \n Type : \"Left\" | \"Right\"\n\n \n \n \n \n Default value : 'Left'\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:52\n \n \n \n \n \n \n \n \n \n useRemoteApi\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:62\n \n \n \n \n\n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n initialized\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:65\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { BaseWebComponent, BUILTIN_PARSERS, GenericGlobalConfig } from 'ccf-shared/web-components';\n\nimport { environment } from '../environments/environment';\n\n\nfunction parseDataSources(value: unknown): string[] {\n const isString = (val: unknown): val is string => typeof val === 'string';\n const isStringArray = (val: unknown): val is string[] => Array.isArray(val) && val.every(isString);\n\n if (typeof value === 'string') {\n const json = BUILTIN_PARSERS.json(value);\n if (isStringArray(json)) {\n return json;\n }\n } else if (isStringArray(value)) {\n return value;\n }\n\n throw new Error('Invalid data sources');\n}\n\nfunction parseStringArray(value: unknown): string[] {\n const isString = (val: unknown): val is string => typeof val === 'string';\n const isStringArray = (val: unknown): val is string[] => Array.isArray(val) && val.every(isString);\n\n if (typeof value === 'string') {\n if (value?.startsWith('[')) {\n const json = BUILTIN_PARSERS.json(value);\n if (isStringArray(json)) {\n return json;\n }\n } else {\n return [value];\n }\n } else if (isStringArray(value)) {\n return value;\n }\n\n throw new Error('Invalid data sources');\n}\n\n@Component({\n selector: 'ccf-root-wc',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppWebComponent extends BaseWebComponent {\n @Input() organIri?: string;\n @Input() sex?: 'Both' | 'Male' | 'Female' = 'Female';\n @Input() side?: 'Left' | 'Right' = 'Left';\n @Input() dataSources: string | string[];\n @Input() highlightProviders: string | string[];\n\n @Input() hubmapDataService: string;\n @Input() hubmapDataUrl: string;\n @Input() hubmapAssetUrl: string;\n @Input() hubmapToken: string;\n @Input() hubmapPortalUrl: string;\n\n @Input() useRemoteApi: string | boolean;\n @Input() remoteApiEndpoint: string;\n\n initialized: boolean;\n\n constructor(\n configStore: GlobalConfigState,\n cdr: ChangeDetectorRef\n ) {\n super(configStore, cdr, {\n initialDelay: 10,\n\n initialConfig: {\n ...environment.dbOptions,\n ...globalThis['dbOptions']\n },\n parse: {\n dataSources: parseDataSources,\n highlightProviders: parseStringArray,\n useRemoteApi: BUILTIN_PARSERS.boolean\n }\n });\n }\n}\n\n \n\n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'LinkCardsComponent', 'selector': 'ccf-link-cards'},{'name': 'OrganComponent', 'selector': 'ccf-organ'},{'name': 'SlideToggleComponent', 'selector': 'ccf-slide-toggle'},{'name': 'StatsListComponent', 'selector': 'ccf-stats-list'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppWebComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CoreModule.html":{"url":"modules/CoreModule.html","title":"module - CoreModule","body":"\n \n\n\n\n\n Modules\n CoreModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\n\nStoreModule\n\nStoreModule\n\n\n\nCoreModule\n\nCoreModule\n\nCoreModule -->\n\nStoreModule->CoreModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-organ-info/src/app/core/core.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n StoreModule\n \n \n \n \n \n\n\n \n\n\n \n import { HttpClientModule } from '@angular/common/http';\nimport { NgModule, Optional, SkipSelf } from '@angular/core';\nimport { CcfApiConfiguration, CcfApiModule } from 'ccf-openapi/angular-client';\nimport { DataSourceService } from 'ccf-shared';\nimport { AnalyticsModule } from 'ccf-shared/analytics';\n\nimport { environment } from '../../environments/environment';\nimport { DelegateDataSourceService } from './services/data-source/data-source.service';\nimport { StoreModule } from './store/store.module';\n\n\n@NgModule({\n imports: [\n HttpClientModule,\n AnalyticsModule.forRoot({\n gaToken: environment.googleAnalyticsToken,\n\n appName: 'organ-info',\n projectName: 'ccf',\n\n developmentMode: !environment.production\n }),\n\n CcfApiModule.forRoot(() => new CcfApiConfiguration({\n basePath: environment.dbOptions.remoteApiEndpoint\n })),\n\n StoreModule\n ],\n providers: [\n { provide: DataSourceService, useExisting: DelegateDataSourceService }\n ],\n exports: []\n})\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() core: CoreModule) {\n if (core) {\n throw new Error('The core module should only be imported once in the root module');\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DelegateDataSourceOptions.html":{"url":"interfaces/DelegateDataSourceOptions.html","title":"interface - DelegateDataSourceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DelegateDataSourceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-organ-info/src/app/core/services/data-source/data-source.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n remoteApiEndpoint\n \n \n \n Optional\n \n useRemoteApi\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n remoteApiEndpoint\n \n \n \n \n \n \n \n \n remoteApiEndpoint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n useRemoteApi\n \n \n \n \n \n \n \n \n useRemoteApi: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Injectable, ProviderToken } from '@angular/core';\nimport {\n ApiEndpointDataSourceService, CCFDatabaseDataSourceService, DataSourceLike, InjectorDelegateDataSourceService,\n} from 'ccf-shared';\n\n\nexport interface DelegateDataSourceOptions {\n useRemoteApi?: boolean;\n remoteApiEndpoint?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DelegateDataSourceService extends InjectorDelegateDataSourceService {\n protected selectToken(config: DelegateDataSourceOptions): ProviderToken {\n const useRemote = config.useRemoteApi && !!config.remoteApiEndpoint;\n return useRemote ? ApiEndpointDataSourceService : CCFDatabaseDataSourceService;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DelegateDataSourceService.html":{"url":"injectables/DelegateDataSourceService.html","title":"injectable - DelegateDataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n DelegateDataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-organ-info/src/app/core/services/data-source/data-source.service.ts\n \n\n\n\n \n Extends\n \n \n InjectorDelegateDataSourceService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n selectToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n selectToken\n \n \n \n \n \n \n \n selectToken(config: DelegateDataSourceOptions)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/core/services/data-source/data-source.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n DelegateDataSourceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ProviderToken\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, ProviderToken } from '@angular/core';\nimport {\n ApiEndpointDataSourceService, CCFDatabaseDataSourceService, DataSourceLike, InjectorDelegateDataSourceService,\n} from 'ccf-shared';\n\n\nexport interface DelegateDataSourceOptions {\n useRemoteApi?: boolean;\n remoteApiEndpoint?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DelegateDataSourceService extends InjectorDelegateDataSourceService {\n protected selectToken(config: DelegateDataSourceOptions): ProviderToken {\n const useRemote = config.useRemoteApi && !!config.remoteApiEndpoint;\n return useRemote ? ApiEndpointDataSourceService : CCFDatabaseDataSourceService;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GlobalConfig.html":{"url":"interfaces/GlobalConfig.html","title":"interface - GlobalConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GlobalConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-organ-info/src/app/app.component.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n highlightProviders\n \n \n \n Optional\n \n organIri\n \n \n \n Optional\n \n sex\n \n \n \n Optional\n \n side\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n highlightProviders\n \n \n \n \n \n \n \n \n highlightProviders: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n organIri\n \n \n \n \n \n \n \n \n organIri: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"Both\" | \"Male\" | \"Female\"\n\n \n \n\n\n \n \n Type : \"Both\" | \"Male\" | \"Female\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, ViewChild } from '@angular/core';\nimport { SpatialSceneNode } from 'ccf-body-ui';\nimport { AggregateResult, SpatialEntity, TissueBlockResult } from 'ccf-database';\nimport { GlobalConfigState, OrganInfo } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { Observable, of } from 'rxjs';\nimport { map, shareReplay, startWith, switchMap, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { OrganLookupService } from './core/services/organ-lookup/organ-lookup.service';\n\n\ninterface GlobalConfig {\n organIri?: string;\n side?: string;\n sex?: 'Both' | 'Male' | 'Female';\n highlightProviders?: string[];\n}\n\nconst EMPTY_SCENE = [\n { color: [0, 0, 0, 0], opacity: 0.001 }\n];\n\n\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent implements AfterViewInit {\n @ViewChild('left', { read: ElementRef, static: true }) left: ElementRef;\n @ViewChild('right', { read: ElementRef, static: true }) right: ElementRef;\n\n readonly sex$ = this.configState.getOption('sex');\n readonly side$ = this.configState.getOption('side');\n readonly filter$ = this.configState.getOption('highlightProviders')\n .pipe(map((providers: string[]) => ({ tmc: providers })));\n readonly organInfo$: Observable;\n readonly organ$: Observable;\n readonly scene$: Observable;\n readonly stats$: Observable;\n readonly statsLabel$: Observable;\n readonly blocks$: Observable;\n\n private latestConfig: Immutable = {};\n private latestOrganInfo?: OrganInfo;\n\n constructor(\n lookup: OrganLookupService,\n private readonly ga: GoogleAnalyticsService,\n private readonly configState: GlobalConfigState\n ) {\n this.organInfo$ = configState.config$.pipe(\n tap(config => (this.latestConfig = config)),\n switchMap(config => lookup.getOrganInfo(\n config.organIri ?? '',\n config.side?.toLowerCase?.() as OrganInfo['side'],\n config.sex\n )),\n tap(info => this.logOrganLookup(info)),\n tap(info => (this.latestOrganInfo = info)),\n shareReplay(1)\n );\n\n this.organ$ = this.organInfo$.pipe(\n switchMap(info => info ? lookup.getOrgan(\n info,\n info.hasSex ? this.latestConfig.sex : undefined\n ) : of(undefined)),\n tap(organ => {\n if (organ && this.latestOrganInfo) {\n const newSex = this.latestOrganInfo?.hasSex ? organ.sex : undefined;\n if (newSex !== this.latestConfig.sex) {\n this.updateInput('sex', newSex);\n }\n if (organ.side !== this.latestConfig.side) {\n this.updateInput('side', organ.side);\n }\n }\n }),\n shareReplay(1)\n );\n\n this.scene$ = this.organ$.pipe(\n switchMap((organ) => organ && this.latestOrganInfo ? lookup.getOrganScene(\n this.latestOrganInfo,\n organ.sex\n ) : of(EMPTY_SCENE as SpatialSceneNode[]))\n );\n\n this.stats$ = this.organ$.pipe(\n switchMap(organ => organ && this.latestOrganInfo ? lookup.getOrganStats(\n this.latestOrganInfo,\n organ.sex\n ) : of([]))\n );\n\n this.statsLabel$ = this.organ$.pipe(\n map((organ) => this.makeStatsLabel(this.latestOrganInfo, organ?.sex)),\n startWith('Loading...')\n );\n\n this.blocks$ = this.organ$.pipe(\n switchMap(organ => organ && this.latestOrganInfo ? lookup.getBlocks(\n this.latestOrganInfo,\n organ.sex\n ) : of([]))\n );\n }\n\n ngAfterViewInit(): void {\n const { left, right } = this;\n const rightHeight = right.nativeElement.offsetHeight;\n left.nativeElement.style.height = `${rightHeight}px`;\n }\n\n updateInput(key: string, value: unknown): void {\n this.configState.patchConfig({ [key]: value });\n }\n\n private makeStatsLabel(info: OrganInfo | undefined, sex?: string): string {\n let parts: (string | undefined)[] = [`Unknown IRI: ${this.latestConfig.organIri}`];\n if (info) {\n // Use title cased side for a cleaner display\n const side = info.side ? info.side.charAt(0).toUpperCase() + info.side.slice(1) : undefined;\n parts = [sex, info.organ, side];\n }\n return parts.filter(seg => !!seg).join(', ');\n }\n\n private logOrganLookup(info: OrganInfo | undefined): void {\n const event = info ? 'organ_lookup_success' : 'organ_lookup_failure';\n const inputs = `Iri: ${this.latestConfig.organIri} - Sex: ${this.latestConfig.sex} - Side: ${this.latestConfig.side}`;\n this.ga.event(event, 'organ', inputs);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LinkCard.html":{"url":"interfaces/LinkCard.html","title":"interface - LinkCard","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LinkCard\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-organ-info/src/app/modules/link-cards/link-cards.component.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n body\n \n \n \n \n buttonTitle\n \n \n \n \n buttonUrl\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n body\n \n \n \n \n \n \n \n \n body: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n buttonTitle\n \n \n \n \n \n \n \n \n buttonTitle: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n buttonUrl\n \n \n \n \n \n \n \n \n buttonUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component } from '@angular/core';\n\ninterface LinkCard {\n body: string;\n buttonTitle: string;\n buttonUrl: string;\n}\n\n@Component({\n selector: 'ccf-link-cards',\n templateUrl: './link-cards.component.html',\n styleUrls: ['./link-cards.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LinkCardsComponent {\n linkCards: LinkCard[] = [\n {\n body: 'Add tissue blocks using the HRA Registration User Interface (RUI).',\n buttonTitle: 'Register Tissue',\n buttonUrl: 'https://hubmapconsortium.github.io/ccf-ui/rui/'\n },\n {\n body: 'Explore tissue sections in tissue blocks with the HRA Exploration User Interface (EUI).',\n buttonTitle: 'Explore Tissue',\n buttonUrl: 'https://portal.hubmapconsortium.org/ccf-eui'\n },\n {\n body: 'View linkages between anatomical structures, cell types, and common biomarkers (ASCT+B).',\n buttonTitle: 'ASCT+B Reporter',\n buttonUrl: 'https://hubmapconsortium.github.io/ccf-asct-reporter/'\n }\n ];\n\n deepDives: LinkCard[] = [\n {\n body: '',\n buttonTitle: 'HRA Portal',\n buttonUrl: 'https://humanatlas.io'\n },\n {\n body: '',\n buttonTitle: 'Online Course',\n buttonUrl: 'https://expand.iu.edu/browse/sice/cns/courses/hubmap-visible-human-mooc'\n },\n {\n body: '',\n buttonTitle: 'Paper',\n buttonUrl: 'https://www.nature.com/articles/s41556-021-00788-6'\n }\n ];\n\n goToURL(url: string): void {\n window.open(url, '_blank');\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/LinkCardsComponent.html":{"url":"components/LinkCardsComponent.html","title":"component - LinkCardsComponent","body":"\n \n\n\n\n\n\n Components\n \n LinkCardsComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-organ-info/src/app/modules/link-cards/link-cards.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-link-cards\n \n\n \n styleUrls\n ./link-cards.component.scss\n \n\n\n\n \n templateUrl\n ./link-cards.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n deepDives\n \n \n linkCards\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n goToURL\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n goToURL\n \n \n \n \n \n \ngoToURL(url: string)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/modules/link-cards/link-cards.component.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n deepDives\n \n \n \n \n \n \n Type : LinkCard[]\n\n \n \n \n \n Default value : [\n {\n body: '',\n buttonTitle: 'HRA Portal',\n buttonUrl: 'https://humanatlas.io'\n },\n {\n body: '',\n buttonTitle: 'Online Course',\n buttonUrl: 'https://expand.iu.edu/browse/sice/cns/courses/hubmap-visible-human-mooc'\n },\n {\n body: '',\n buttonTitle: 'Paper',\n buttonUrl: 'https://www.nature.com/articles/s41556-021-00788-6'\n }\n ]\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/modules/link-cards/link-cards.component.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n linkCards\n \n \n \n \n \n \n Type : LinkCard[]\n\n \n \n \n \n Default value : [\n {\n body: 'Add tissue blocks using the HRA Registration User Interface (RUI).',\n buttonTitle: 'Register Tissue',\n buttonUrl: 'https://hubmapconsortium.github.io/ccf-ui/rui/'\n },\n {\n body: 'Explore tissue sections in tissue blocks with the HRA Exploration User Interface (EUI).',\n buttonTitle: 'Explore Tissue',\n buttonUrl: 'https://portal.hubmapconsortium.org/ccf-eui'\n },\n {\n body: 'View linkages between anatomical structures, cell types, and common biomarkers (ASCT+B).',\n buttonTitle: 'ASCT+B Reporter',\n buttonUrl: 'https://hubmapconsortium.github.io/ccf-asct-reporter/'\n }\n ]\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/modules/link-cards/link-cards.component.ts:16\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component } from '@angular/core';\n\ninterface LinkCard {\n body: string;\n buttonTitle: string;\n buttonUrl: string;\n}\n\n@Component({\n selector: 'ccf-link-cards',\n templateUrl: './link-cards.component.html',\n styleUrls: ['./link-cards.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LinkCardsComponent {\n linkCards: LinkCard[] = [\n {\n body: 'Add tissue blocks using the HRA Registration User Interface (RUI).',\n buttonTitle: 'Register Tissue',\n buttonUrl: 'https://hubmapconsortium.github.io/ccf-ui/rui/'\n },\n {\n body: 'Explore tissue sections in tissue blocks with the HRA Exploration User Interface (EUI).',\n buttonTitle: 'Explore Tissue',\n buttonUrl: 'https://portal.hubmapconsortium.org/ccf-eui'\n },\n {\n body: 'View linkages between anatomical structures, cell types, and common biomarkers (ASCT+B).',\n buttonTitle: 'ASCT+B Reporter',\n buttonUrl: 'https://hubmapconsortium.github.io/ccf-asct-reporter/'\n }\n ];\n\n deepDives: LinkCard[] = [\n {\n body: '',\n buttonTitle: 'HRA Portal',\n buttonUrl: 'https://humanatlas.io'\n },\n {\n body: '',\n buttonTitle: 'Online Course',\n buttonUrl: 'https://expand.iu.edu/browse/sice/cns/courses/hubmap-visible-human-mooc'\n },\n {\n body: '',\n buttonTitle: 'Paper',\n buttonUrl: 'https://www.nature.com/articles/s41556-021-00788-6'\n }\n ];\n\n goToURL(url: string): void {\n window.open(url, '_blank');\n }\n}\n\n \n\n \n \n \n \n {{ card.body }}\n \n {{ card.buttonTitle }}\n \n \n\n\n\n Human Reference Atlas (HRA) Deep Dive\n \n {{\n button.buttonTitle }}\n \n\n\n \n\n \n \n ./link-cards.component.scss\n \n .link-cards-container {\n max-width: 30rem;\n\n .link-card {\n border-top: 1px solid #e0e0e0;\n padding-top: 1px;\n padding-bottom: 1px;\n\n &:last-of-type {\n border-bottom: 1px solid #e0e0e0;\n }\n\n .link-card-content {\n align-items: center;\n padding: 1rem;\n padding-right: 0rem;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n border-left: 6px solid #444A65;\n\n .link-button {\n margin-left: 2rem;\n background-color: #444A65;\n color: #ffffff;\n\n &:hover {\n background-color: #2F3346;\n }\n }\n }\n }\n}\n\n.deep-dive-section {\n margin-top: 2rem;\n\n .title {\n margin-bottom: 1rem;\n font-size: 1rem;\n }\n\n .button-container {\n display: flex;\n flex-direction: row;\n\n .btn-outline {\n color: #444A65;\n border: 1px solid #444A65;\n background-color: white;\n\n &:not(:last-of-type) {\n margin-right: 1rem;\n }\n\n &:hover {\n background-color: #e0e0e0;\n }\n }\n }\n}\n\n.btn {\n min-width: 9rem !important;\n max-height: 2.28125rem;\n text-align: center;\n white-space: nowrap;\n cursor: pointer;\n font-size: 0.875rem;\n font-weight: 500;\n border-radius: 2px;\n line-height: 2.75;\n transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n font-family: Inter Variable, Helvetica, Arial, sans-serif;\n\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ card.body }} {{ card.buttonTitle }} Human Reference Atlas (HRA) Deep Dive {{ button.buttonTitle }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'LinkCardsComponent', 'selector': 'ccf-link-cards'},{'name': 'OrganComponent', 'selector': 'ccf-organ'},{'name': 'SlideToggleComponent', 'selector': 'ccf-slide-toggle'},{'name': 'StatsListComponent', 'selector': 'ccf-stats-list'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'LinkCardsComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LinkCardsModule.html":{"url":"modules/LinkCardsModule.html","title":"module - LinkCardsModule","body":"\n \n\n\n\n\n Modules\n LinkCardsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_LinkCardsModule\n\n\n\ncluster_LinkCardsModule_declarations\n\n\n\ncluster_LinkCardsModule_exports\n\n\n\n\nLinkCardsComponent\n\nLinkCardsComponent\n\n\n\nLinkCardsModule\n\nLinkCardsModule\n\nLinkCardsModule -->\n\nLinkCardsComponent->LinkCardsModule\n\n\n\n\n\nLinkCardsComponent \n\nLinkCardsComponent \n\nLinkCardsComponent -->\n\nLinkCardsModule->LinkCardsComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-organ-info/src/app/modules/link-cards/link-cards.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n LinkCardsComponent\n \n \n \n \n Exports\n \n \n LinkCardsComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LinkCardsComponent } from './link-cards.component';\nimport { NgxGoogleAnalyticsModule } from 'ngx-google-analytics';\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n NgxGoogleAnalyticsModule,\n ],\n declarations: [LinkCardsComponent],\n exports: [LinkCardsComponent]\n})\nexport class LinkCardsModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/OrganComponent.html":{"url":"components/OrganComponent.html","title":"component - OrganComponent","body":"\n \n\n\n\n\n\n Components\n \n OrganComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-organ-info/src/app/features/organ/organ.component.ts\n\n\n\n\n\n \n Implements\n \n \n AfterViewChecked\n OnChanges\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-organ\n \n\n \n styleUrls\n ./organ.component.scss\n \n\n\n\n \n templateUrl\n ./organ.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n bodyUI\n \n \n filteredBlocks\n \n \n highlightedNodeId\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngAfterViewChecked\n \n \n ngOnChanges\n \n \n nodeClicked\n \n \n updateHighlighting\n \n \n updateSex\n \n \n updateSide\n \n \n zoomToFitOrgan\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n blocks\n \n \n filter\n \n \n organ\n \n \n organIri\n \n \n scene\n \n \n sex\n \n \n side\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n sexChange\n \n \n sideChange\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:29\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n blocks\n \n \n \n \n Type : TissueBlockResult[]\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:20\n \n \n \n \n \n \n \n \n \n filter\n \n \n \n \n Type : Filter\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:21\n \n \n \n \n \n \n \n \n \n organ\n \n \n \n \n Type : SpatialEntity\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:15\n \n \n \n \n \n \n \n \n \n organIri\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:17\n \n \n \n \n \n \n \n \n \n scene\n \n \n \n \n Type : SpatialSceneNode[]\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:16\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n Type : \"Male\" | \"Female\" | \"Both\"\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:18\n \n \n \n \n \n \n \n \n \n side\n \n \n \n \n Type : \"Left\" | \"Right\"\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:19\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n sexChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:23\n \n \n \n \n \n \n \n \n \n sideChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:24\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngAfterViewChecked\n \n \n \n \n \n \nngAfterViewChecked()\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:33\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnChanges\n \n \n \n \n \n \nngOnChanges(changes: SimpleChanges)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n changes\n \n SimpleChanges\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n nodeClicked\n \n \n \n \n \n \nnodeClicked(event: NodeClickEvent)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n NodeClickEvent\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateHighlighting\n \n \n \n \n \n \nupdateHighlighting()\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:37\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateSex\n \n \n \n \n \n \nupdateSex(selection?: \"Male\" | \"Female\")\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n selection\n \n \"Male\" | \"Female\"\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateSide\n \n \n \n \n \n \nupdateSide(selection?: \"Left\" | \"Right\")\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n selection\n \n \"Left\" | \"Right\"\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n zoomToFitOrgan\n \n \n \n \n \n \nzoomToFitOrgan()\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:66\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n bodyUI\n \n \n \n \n \n \n Type : BodyUiComponent\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('bodyUI', {static: true})\n \n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n filteredBlocks\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n highlightedNodeId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:28\n \n \n\n\n \n \n\n\n\n\n\n \n import { AfterViewChecked, ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { NodeClickEvent, SpatialSceneNode } from 'ccf-body-ui';\nimport { Filter, SpatialEntity, TissueBlockResult } from 'ccf-database';\nimport { BodyUiComponent } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n@Component({\n selector: 'ccf-organ',\n templateUrl: './organ.component.html',\n styleUrls: ['./organ.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OrganComponent implements AfterViewChecked, OnChanges {\n @Input() organ?: SpatialEntity;\n @Input() scene: SpatialSceneNode[];\n @Input() organIri: string;\n @Input() sex?: 'Male' | 'Female' | 'Both';\n @Input() side?: 'Left' | 'Right';\n @Input() blocks?: TissueBlockResult[];\n @Input() filter?: Filter;\n\n @Output() readonly sexChange = new EventEmitter();\n @Output() readonly sideChange = new EventEmitter();\n\n @ViewChild('bodyUI', { static: true }) readonly bodyUI!: BodyUiComponent;\n\n highlightedNodeId: string;\n filteredBlocks: string[];\n\n constructor(readonly ga: GoogleAnalyticsService) { }\n\n ngAfterViewChecked(): void {\n this.updateHighlighting();\n }\n\n updateHighlighting(): void {\n const providerName = new Set(this.filter?.tmc ?? []);\n this.filteredBlocks = this.blocks?.filter(block => providerName.has(block.donor.providerName)).map(block => block['@id']) ?? [];\n this.bodyUI.scene = this.bodyUI.scene.map((node): SpatialSceneNode =>\n ({\n ...node,\n color: node.entityId && this.highlightedNodeId === node['@id'] ?\n [30, 136, 229, 255] :\n this.filteredBlocks.includes(node.entityId ?? '') ? [173, 255, 47, 229.5] : [255, 255, 255, 229.5]\n })\n );\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.bodyUI && 'organ' in changes) {\n this.zoomToFitOrgan();\n }\n }\n\n updateSex(selection?: 'Male' | 'Female'): void {\n this.sex = selection;\n this.sexChange.emit(this.sex);\n }\n\n updateSide(selection?: 'Left' | 'Right'): void {\n this.side = selection;\n this.sideChange.emit(this.side);\n }\n\n zoomToFitOrgan(): void {\n const { bodyUI, organ } = this;\n if (organ) {\n const { x_dimension: x, y_dimension: y, z_dimension: z } = organ;\n bodyUI.rotation = bodyUI.rotationX = 0;\n bodyUI.bounds = { x: 1.25 * x / 1000, y: 1.25 * y / 1000, z: 1.25 * z / 1000 };\n bodyUI.target = [x / 1000 / 2, y / 1000 / 2, z / 1000 / 2];\n }\n }\n\n nodeClicked(event: NodeClickEvent): void {\n this.ga.event('node_click', 'organ', event.node['@id']);\n this.highlightedNodeId = this.highlightedNodeId && this.highlightedNodeId === event.node['@id'] ? '' : event.node['@id'];\n }\n}\n\n \n\n \n \n\n\n\n \n \n\n \n \n\n\n \n\n \n \n ./organ.component.scss\n \n :host {\n display: block;\n background-color: black;\n border-radius: 0.5rem;\n color: white;\n height: 100%;\n\n .body-ui {\n height: 90%;\n }\n\n .stage-options {\n padding: 1rem;\n min-width: 352px;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'LinkCardsComponent', 'selector': 'ccf-link-cards'},{'name': 'OrganComponent', 'selector': 'ccf-organ'},{'name': 'SlideToggleComponent', 'selector': 'ccf-slide-toggle'},{'name': 'StatsListComponent', 'selector': 'ccf-stats-list'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'OrganComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OrganLookupService.html":{"url":"injectables/OrganLookupService.html","title":"injectable - OrganLookupService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n OrganLookupService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n organs\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getBlocks\n \n \n getOrgan\n \n \n getOrganInfo\n \n \n getOrganScene\n \n \n getOrganStats\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(source: DataSourceService)\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n \n DataSourceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getBlocks\n \n \n \n \n \n \ngetBlocks(info: OrganInfo, sex)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n info\n \n OrganInfo\n \n\n \n No\n \n\n \n \n\n \n \n sex\n \n \n\n \n No\n \n\n \n 'Female'\n \n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOrgan\n \n \n \n \n \n \ngetOrgan(info: OrganInfo, sex)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n info\n \n OrganInfo\n \n\n \n No\n \n\n \n \n\n \n \n sex\n \n \n\n \n No\n \n\n \n 'Both'\n \n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOrganInfo\n \n \n \n \n \n \ngetOrganInfo(iri: string, side?, _sex)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n side\n \n \n\n \n Yes\n \n\n \n \n\n \n \n _sex\n \n \n\n \n No\n \n\n \n 'Female'\n \n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOrganScene\n \n \n \n \n \n \ngetOrganScene(info: OrganInfo, sex)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n info\n \n OrganInfo\n \n\n \n No\n \n\n \n \n\n \n \n sex\n \n \n\n \n No\n \n\n \n 'Female'\n \n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOrganStats\n \n \n \n \n \n \ngetOrganStats(info: OrganInfo, sex)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n info\n \n OrganInfo\n \n\n \n No\n \n\n \n \n\n \n \n sex\n \n \n\n \n No\n \n\n \n 'Female'\n \n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n organs\n \n \n \n \n \n \n Default value : ALL_POSSIBLE_ORGANS\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts:12\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { AggregateResult, Filter, SpatialEntity, SpatialSceneNode, TissueBlockResult } from 'ccf-database';\nimport { ALL_POSSIBLE_ORGANS, DataSourceService, OrganInfo } from 'ccf-shared';\nimport { Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OrganLookupService {\n private readonly organs = ALL_POSSIBLE_ORGANS;\n\n constructor(private readonly source: DataSourceService) { }\n\n getOrganInfo(iri: string, side?: OrganInfo['side'], _sex: Filter['sex'] = 'Female'): Observable {\n let info = this.organs.find(item => item.id === iri);\n if (!info) {\n return of(undefined);\n }\n\n const organ = info.organ;\n\n if (info.disabled) {\n info = this.organs.find(item => !item.disabled && item.organ === organ);\n }\n if (info?.side && side && info.side !== side) {\n info = this.organs.find(item => !item.disabled && item.organ === organ && item.side === side);\n }\n\n return of(info);\n }\n\n getOrgan(info: OrganInfo, sex: Filter['sex'] = 'Both'): Observable {\n return this.source.getReferenceOrgans().pipe(\n map(entities => entities.find(entity =>\n entity.representation_of === info.id && (sex === 'Both' || entity.sex === sex)\n ))\n );\n }\n\n getOrganScene(info: OrganInfo, sex: Filter['sex'] = 'Female'): Observable {\n if (info.id) {\n const filter: Partial = { ontologyTerms: [info.id], sex };\n return this.source.getReferenceOrganScene(info.id, filter as Filter);\n } else {\n return of([]);\n }\n }\n\n getOrganStats(info: OrganInfo, sex: Filter['sex'] = 'Female'): Observable {\n if (info.id) {\n const filter: Partial = { ontologyTerms: [info.id], sex };\n return this.source.getAggregateResults(filter as Filter);\n } else {\n return of([]);\n }\n }\n\n getBlocks(info: OrganInfo, sex: Filter['sex'] = 'Female'): Observable {\n if (info.id) {\n const filter: Partial = { ontologyTerms: [info.id], sex };\n return this.source.getTissueBlockResults(filter as Filter);\n } else {\n return of([]);\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OrganModule.html":{"url":"modules/OrganModule.html","title":"module - OrganModule","body":"\n \n\n\n\n\n Modules\n OrganModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_OrganModule\n\n\n\ncluster_OrganModule_imports\n\n\n\ncluster_OrganModule_exports\n\n\n\ncluster_OrganModule_declarations\n\n\n\n\nOrganComponent\n\nOrganComponent\n\n\n\nOrganModule\n\nOrganModule\n\nOrganModule -->\n\nOrganComponent->OrganModule\n\n\n\n\n\nOrganComponent \n\nOrganComponent \n\nOrganComponent -->\n\nOrganModule->OrganComponent \n\n\n\n\n\nSlideToggleModule\n\nSlideToggleModule\n\nOrganModule -->\n\nSlideToggleModule->OrganModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-organ-info/src/app/features/organ/organ.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n OrganComponent\n \n \n \n \n Imports\n \n \n SlideToggleModule\n \n \n \n \n Exports\n \n \n OrganComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OrganComponent } from './organ.component';\n\nimport { BodyUiModule } from 'ccf-shared';\nimport { SlideToggleModule } from '../slide-toggle/slide-toggle/slide-toggle.module';\n\n\n@NgModule({\n declarations: [\n OrganComponent\n ],\n imports: [\n CommonModule,\n BodyUiModule,\n SlideToggleModule\n ],\n exports: [\n OrganComponent\n ]\n})\nexport class OrganModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SlideToggleComponent.html":{"url":"components/SlideToggleComponent.html","title":"component - SlideToggleComponent","body":"\n \n\n\n\n\n\n Components\n \n SlideToggleComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-slide-toggle\n \n\n \n styleUrls\n ./slide-toggle.component.scss\n \n\n\n\n \n templateUrl\n ./slide-toggle.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n updateToggle\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n disabled\n \n \n labels\n \n \n value\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n valueChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n left\n \n \n \n \n \n \n\n\n\n \n Inputs\n \n \n \n \n \n disabled\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts:28\n \n \n \n \n Whether or not the slider is disabled\n\n \n \n \n \n \n \n \n \n \n labels\n \n \n \n \n Type : [string, string]\n\n \n \n \n \n Default value : ['Left', 'Right']\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts:18\n \n \n \n \n The two selection options to be toggled\n\n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Left'\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts:23\n \n \n \n \n Input value for toggle slider\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n valueChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts:33\n \n \n \n \n Emits the datatype with the currently selected option\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-slide-toggle\"\n\n \n \n \n \n Default value : 'ccf-slide-toggle'\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts:13\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n updateToggle\n \n \n \n \n \n \nupdateToggle(selection: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts:48\n \n \n\n\n \n \n Updates and emits the currently selected option\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n selection\n \n boolean\n \n\n \n No\n \n\n\n \n The current toggle state (true=left, false=right)\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-slide-toggle'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts:13\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n left\n \n \n\n \n \n getleft()\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts:38\n \n \n \n \n Determines if left toggle option is selected\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import { Component, EventEmitter, HostBinding, Input, Output, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'ccf-slide-toggle',\n templateUrl: './slide-toggle.component.html',\n styleUrls: ['./slide-toggle.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SlideToggleComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-slide-toggle';\n\n /**\n * The two selection options to be toggled\n */\n @Input() labels: [string, string] = ['Left', 'Right'];\n\n /**\n * Input value for toggle slider\n */\n @Input() value = 'Left';\n\n /**\n * Whether or not the slider is disabled\n */\n @Input() disabled = false;\n\n /**\n * Emits the datatype with the currently selected option\n */\n @Output() readonly valueChange = new EventEmitter();\n\n /**\n * Determines if left toggle option is selected\n */\n get left(): boolean {\n const { value, labels } = this;\n return value !== labels[1];\n }\n\n /**\n * Updates and emits the currently selected option\n *\n * @param selection The current toggle state (true=left, false=right)\n */\n updateToggle(selection: boolean): void {\n this.value = selection ? this.labels[0] : this.labels[1];\n this.valueChange.emit(this.value);\n }\n}\n\n \n\n \n {{labels[0].charAt(0).toUpperCase() + labels[0].slice(1)}}\n\n{{labels[1].charAt(0).toUpperCase() + labels[1].slice(1)}}\n \n\n \n \n ./slide-toggle.component.scss\n \n :host{\n .slide-label {\n margin: 0 1rem;\n transition: color .6s;\n cursor: pointer;\n opacity: 50%;\n \n &.highlighted {\n opacity: 100%;\n }\n }\n \n .disabled {\n opacity: 30% !important;\n cursor: not-allowed;\n }\n\n ::ng-deep .slider {\n .mat-slide-toggle-bar {\n background-color: rgba(67, 71, 101, 0.5);\n }\n .mat-slide-toggle-thumb {\n background-color: rgba(67, 71, 101);\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{labels[0].charAt(0).toUpperCase() + labels[0].slice(1)}}{{labels[1].charAt(0).toUpperCase() + labels[1].slice(1)}}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'LinkCardsComponent', 'selector': 'ccf-link-cards'},{'name': 'OrganComponent', 'selector': 'ccf-organ'},{'name': 'SlideToggleComponent', 'selector': 'ccf-slide-toggle'},{'name': 'StatsListComponent', 'selector': 'ccf-stats-list'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SlideToggleComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SlideToggleModule.html":{"url":"modules/SlideToggleModule.html","title":"module - SlideToggleModule","body":"\n \n\n\n\n\n Modules\n SlideToggleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SlideToggleModule\n\n\n\ncluster_SlideToggleModule_declarations\n\n\n\ncluster_SlideToggleModule_exports\n\n\n\n\nSlideToggleComponent\n\nSlideToggleComponent\n\n\n\nSlideToggleModule\n\nSlideToggleModule\n\nSlideToggleModule -->\n\nSlideToggleComponent->SlideToggleModule\n\n\n\n\n\nSlideToggleComponent \n\nSlideToggleComponent \n\nSlideToggleComponent -->\n\nSlideToggleModule->SlideToggleComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SlideToggleComponent\n \n \n \n \n Exports\n \n \n SlideToggleComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\n\nimport { SlideToggleComponent } from './slide-toggle.component';\n\n\n@NgModule({\n declarations: [\n SlideToggleComponent\n ],\n imports: [\n CommonModule,\n MatSlideToggleModule\n ],\n exports: [\n SlideToggleComponent\n ]\n})\nexport class SlideToggleModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/StatsListComponent.html":{"url":"components/StatsListComponent.html","title":"component - StatsListComponent","body":"\n \n\n\n\n\n\n Components\n \n StatsListComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-organ-info/src/app/modules/stats-list/stats-list.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-stats-list\n \n\n \n styleUrls\n ./stats-list.component.scss\n \n\n\n\n \n templateUrl\n ./stats-list.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n stats\n \n \n statsLabel\n \n \n \n \n\n\n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n stats\n \n \n \n \n Type : AggregateResult[]\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/modules/stats-list/stats-list.component.ts:12\n \n \n \n \n \n \n \n \n \n statsLabel\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/modules/stats-list/stats-list.component.ts:11\n \n \n \n \n\n\n\n\n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { AggregateResult } from 'ccf-database';\n\n@Component({\n selector: 'ccf-stats-list',\n templateUrl: './stats-list.component.html',\n styleUrls: ['./stats-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class StatsListComponent {\n @Input() statsLabel: string;\n @Input() stats: AggregateResult[];\n}\n\n \n\n \n \n \n {{ statsLabel }}\n \n\n \n {{ stat.count }}\n {{ stat.label }}\n \n\n \n\n \n \n ./stats-list.component.scss\n \n .stats-container {\n margin-bottom: 2rem;\n min-height: 9rem;\n\n .header {\n margin-bottom: 1rem;\n }\n\n .stats-row {\n display: flex;\n flex-direction: row;\n height: 1.325rem;\n\n .stat {\n width: 2rem;\n margin-right: 1rem;\n text-align: right;\n }\n\n .label {\n flex-grow: 1;\n text-align: left;\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ statsLabel }} {{ stat.count }} {{ stat.label }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'LinkCardsComponent', 'selector': 'ccf-link-cards'},{'name': 'OrganComponent', 'selector': 'ccf-organ'},{'name': 'SlideToggleComponent', 'selector': 'ccf-slide-toggle'},{'name': 'StatsListComponent', 'selector': 'ccf-stats-list'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'StatsListComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StatsListModule.html":{"url":"modules/StatsListModule.html","title":"module - StatsListModule","body":"\n \n\n\n\n\n Modules\n StatsListModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_StatsListModule\n\n\n\ncluster_StatsListModule_exports\n\n\n\ncluster_StatsListModule_declarations\n\n\n\n\nStatsListComponent\n\nStatsListComponent\n\n\n\nStatsListModule\n\nStatsListModule\n\nStatsListModule -->\n\nStatsListComponent->StatsListModule\n\n\n\n\n\nStatsListComponent \n\nStatsListComponent \n\nStatsListComponent -->\n\nStatsListModule->StatsListComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-organ-info/src/app/modules/stats-list/stats-list.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n StatsListComponent\n \n \n \n \n Exports\n \n \n StatsListComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StatsListComponent } from './stats-list.component';\n\n\n\n@NgModule({\n declarations: [\n StatsListComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [ StatsListComponent ]\n})\nexport class StatsListModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StoreModule.html":{"url":"modules/StoreModule.html","title":"module - StoreModule","body":"\n \n\n\n\n\n Modules\n StoreModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-organ-info/src/app/core/store/store.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { NgxsDataPluginModule } from '@ngxs-labs/data';\nimport { NgxsLoggerPluginModule } from '@ngxs/logger-plugin';\nimport { NgxsModule } from '@ngxs/store';\n\nimport { environment } from '../../../environments/environment';\nimport { GlobalConfigState } from 'ccf-shared';\n\n\n/**\n * States shared across the entire app.\n */\nexport const ROOT_STATES = [\n GlobalConfigState,\n];\n\n@NgModule({\n imports: [\n // For some strange reason the data plugin is not happy being placed after the store module!?\n NgxsDataPluginModule.forRoot(),\n\n NgxsModule.forRoot(ROOT_STATES, {\n developmentMode: !environment.production\n // Consider setting compatibility and executionStrategy\n // https://www.ngxs.io/advanced/options\n }),\n\n // Logger plugin must be last!\n NgxsLoggerPluginModule.forRoot({\n disabled: environment.production\n })\n ]\n})\nexport class StoreModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-organ-info/src/app/app-web-component.component.ts\n \n component\n AppWebComponent\n \n 0 %\n (0/15)\n \n \n \n \n \n projects/ccf-organ-info/src/app/app-web-component.component.ts\n \n function\n parseDataSources\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-organ-info/src/app/app-web-component.component.ts\n \n function\n parseStringArray\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-organ-info/src/app/app.component.ts\n \n component\n AppComponent\n \n 0 %\n (0/19)\n \n \n \n \n \n projects/ccf-organ-info/src/app/app.component.ts\n \n interface\n GlobalConfig\n \n 0 %\n (0/5)\n \n \n \n \n \n projects/ccf-organ-info/src/app/app.component.ts\n \n variable\n EMPTY_SCENE\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-organ-info/src/app/core/services/data-source/data-source.service.ts\n \n injectable\n DelegateDataSourceService\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-organ-info/src/app/core/services/data-source/data-source.service.ts\n \n interface\n DelegateDataSourceOptions\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts\n \n injectable\n OrganLookupService\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-organ-info/src/app/core/store/store.module.ts\n \n variable\n ROOT_STATES\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-organ-info/src/app/features/organ/organ.component.ts\n \n component\n OrganComponent\n \n 0 %\n (0/21)\n \n \n \n \n \n projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts\n \n component\n SlideToggleComponent\n \n 87 %\n (7/8)\n \n \n \n \n \n projects/ccf-organ-info/src/app/modules/link-cards/link-cards.component.ts\n \n component\n LinkCardsComponent\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-organ-info/src/app/modules/link-cards/link-cards.component.ts\n \n interface\n LinkCard\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-organ-info/src/app/modules/stats-list/stats-list.component.ts\n \n component\n StatsListComponent\n \n 0 %\n (0/3)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n parseDataSources   (projects/.../app-web-component.component.ts)\n \n \n parseStringArray   (projects/.../app-web-component.component.ts)\n \n \n \n \n \n \n\n\n projects/ccf-organ-info/src/app/app-web-component.component.ts\n \n \n \n \n \n \n \n parseDataSources\n \n \n \n \n \n \nparseDataSources(value)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n value\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n parseStringArray\n \n \n \n \n \n \nparseStringArray(value)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n value\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AppModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CoreModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LinkCardsModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OrganModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SlideToggleModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StatsListModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StoreModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\ncluster_LinkCardsModule\n\n\n\ncluster_LinkCardsModule_declarations\n\n\n\ncluster_LinkCardsModule_exports\n\n\n\ncluster_OrganModule\n\n\n\ncluster_OrganModule_declarations\n\n\n\ncluster_OrganModule_imports\n\n\n\ncluster_OrganModule_exports\n\n\n\ncluster_SlideToggleModule\n\n\n\ncluster_SlideToggleModule_declarations\n\n\n\ncluster_SlideToggleModule_exports\n\n\n\ncluster_StatsListModule\n\n\n\ncluster_StatsListModule_declarations\n\n\n\ncluster_StatsListModule_exports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nAppModule -->\n\nCoreModule->AppModule\n\n\n\n\n\nLinkCardsModule\n\nLinkCardsModule\n\nAppModule -->\n\nLinkCardsModule->AppModule\n\n\n\n\n\nLinkCardsComponent \n\nLinkCardsComponent \n\nLinkCardsComponent -->\n\nLinkCardsModule->LinkCardsComponent \n\n\n\n\n\nOrganModule\n\nOrganModule\n\nAppModule -->\n\nOrganModule->AppModule\n\n\n\n\n\nOrganComponent \n\nOrganComponent \n\nOrganComponent -->\n\nOrganModule->OrganComponent \n\n\n\n\n\nStatsListModule\n\nStatsListModule\n\nAppModule -->\n\nStatsListModule->AppModule\n\n\n\n\n\nStatsListComponent \n\nStatsListComponent \n\nStatsListComponent -->\n\nStatsListModule->StatsListComponent \n\n\n\n\n\nStoreModule\n\nStoreModule\n\nCoreModule -->\n\nStoreModule->CoreModule\n\n\n\n\n\nLinkCardsComponent\n\nLinkCardsComponent\n\nLinkCardsModule -->\n\nLinkCardsComponent->LinkCardsModule\n\n\n\n\n\nOrganComponent\n\nOrganComponent\n\nOrganModule -->\n\nOrganComponent->OrganModule\n\n\n\n\n\nSlideToggleModule\n\nSlideToggleModule\n\nOrganModule -->\n\nSlideToggleModule->OrganModule\n\n\n\n\n\nSlideToggleComponent \n\nSlideToggleComponent \n\nSlideToggleComponent -->\n\nSlideToggleModule->SlideToggleComponent \n\n\n\n\n\nSlideToggleComponent\n\nSlideToggleComponent\n\nSlideToggleModule -->\n\nSlideToggleComponent->SlideToggleModule\n\n\n\n\n\nStatsListComponent\n\nStatsListComponent\n\nStatsListModule -->\n\nStatsListComponent->StatsListModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n \n\n \n \n \n \n \n \n 7 Modules\n \n \n \n \n \n \n \n \n 6 Components\n \n \n \n \n \n \n \n 2 Injectables\n \n \n \n \n \n \n \n 3 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n EMPTY_SCENE   (projects/.../app.component.ts)\n \n \n ROOT_STATES   (projects/.../store.module.ts)\n \n \n \n \n \n \n\n\n projects/ccf-organ-info/src/app/app.component.ts\n \n \n \n \n \n \n \n EMPTY_SCENE\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n { color: [0, 0, 0, 0], opacity: 0.001 }\n]\n \n \n\n\n \n \n\n projects/ccf-organ-info/src/app/core/store/store.module.ts\n \n \n \n \n \n \n \n ROOT_STATES\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n GlobalConfigState,\n]\n \n \n\n \n \n States shared across the entire app.\n\n \n \n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} + "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/components/AppComponent.html",[0,0.49,1,0.928]],["body/components/AppComponent.html",[0,0.532,1,1.146,2,1.086,3,0.507,4,0.238,5,0.838,6,0.838,7,0.838,8,0.756,9,0.152,10,0.506,11,0.349,12,1.05,13,1.665,14,2.734,15,0.756,16,1.086,17,1.086,18,1.756,19,0.925,20,0.913,21,1.2,22,2.734,23,1.2,24,2.2,25,0.378,26,0.893,27,2.927,28,1.653,29,1.842,30,3.805,31,2.734,32,1.205,33,2.734,34,1.867,35,3.701,36,1.674,37,2.069,38,2.444,39,2.373,40,1.536,41,2.353,42,1.2,43,2.665,44,2.665,45,3.112,46,2.665,47,1.482,48,1.68,49,2.096,50,2.353,51,2.679,52,2.734,53,2.096,54,1.864,55,2.665,56,1.536,57,0.039,58,1.616,59,1.204,60,2.2,61,2.2,62,4.142,63,1.68,64,1.536,65,1.969,66,2.2,67,1.476,68,1.68,69,1.194,70,1.68,71,2.2,72,1.937,73,1.68,74,2.2,75,3.756,76,1.68,77,1.697,78,2.2,79,2.2,80,1.894,81,1.482,82,1.68,83,2.734,84,1.68,85,4.043,86,1.894,87,2.2,88,3.112,89,2.679,90,2.679,91,1.68,92,1.68,93,1.68,94,2.2,95,1.68,96,1.68,97,2.2,98,1.68,99,2.2,100,1.68,101,1.68,102,1.68,103,0.694,104,0.934,105,1.387,106,0.684,107,1.194,108,0.208,109,1.665,110,0.756,111,0.934,112,1.05,113,1.05,114,1.05,115,0.838,116,0.463,117,0.934,118,0.838,119,0.838,120,1.05,121,1.194,122,1.387,123,1.387,124,1.387,125,1.387,126,1.387,127,1.194,128,1.387,129,1.05,130,1.387,131,0.463,132,0.934,133,1.05,134,0.838,135,1.05,136,0.934,137,1.194,138,1.536,139,1.05,140,1.491,141,1.697,142,0.934,143,1.194,144,0.238,145,0.238,146,1.387,147,1.387,148,1.387,149,1.387,150,1.05,151,1.387,152,1.387,153,1.387,154,1.387,155,1.194,156,1.387,157,2.2,158,1.387,159,3.925,160,2.2,161,1.387,162,1.387,163,1.387,164,1.387,165,1.387,166,2.734,167,1.194,168,1.387,169,2.734,170,1.387,171,3.112,172,1.387,173,2.2,174,2.2,175,1.387,176,1.387,177,3.112,178,1.387,179,1.387,180,1.387,181,1.387,182,2.2,183,1.387,184,1.387,185,1.387,186,1.387,187,1.387,188,1.387,189,1.387,190,1.387,191,1.387,192,1.387,193,1.387,194,1.387,195,1.894,196,1.387,197,2.2,198,1.894,199,2.2,200,0.934,201,1.194,202,1.387,203,1.387,204,1.33,205,1.194,206,1.387,207,1.387,208,1.194,209,0.756,210,1.387,211,1.387,212,1.05,213,1.387,214,1.387,215,1.33,216,1.387,217,1.05,218,2.069,219,2.2,220,2.2,221,2.353,222,1.194,223,1.194,224,1.194,225,0.934,226,2.2,227,1.387,228,1.387,229,1.387,230,1.68,231,1.387,232,1.68,233,1.194,234,1.194,235,1.387,236,1.68,237,0.838,238,1.194,239,1.387,240,1.482,241,1.68,242,1.387,243,1.05,244,1.05,245,1.194,246,1.68,247,0.838,248,1.33,249,1.086,250,0.838,251,1.881,252,0.838,253,0.838,254,0.563,255,0.838,256,0.511,257,0.621,258,0.838,259,0.563,260,0.838,261,0.563,262,0.684,263,0.838,264,0.563,265,0.756,266,0.838,267,0.838,268,0.01,269,0.016,270,0.01]],["title/modules/AppModule.html",[271,1.127,272,1.906]],["body/modules/AppModule.html",[1,1.771,3,0.482,4,0.495,9,0.315,10,0.409,11,0.301,13,2.182,27,1.743,42,1.572,54,1.17,57,0.039,64,1.423,65,2.038,81,1.942,103,0.834,108,0.432,138,1.17,144,0.495,145,0.495,254,1.892,268,0.022,269,0.028,270,0.022,272,3.82,273,1.17,274,1.518,275,2.883,276,2.883,277,2.883,278,3.139,279,3.139,280,3.139,281,3.139,282,2.038,283,1.572,284,1.423,285,3.493,286,2.518,287,4.529,288,2.038,289,5.026,290,3.493,291,4.529,292,5.317,293,2.038,294,3.493,295,2.883,296,4.529,297,2.883,298,2.182,299,2.481,300,1.942,301,3.493,302,3.493,303,3.493,304,3.493,305,3.493,306,1.942,307,3.493,308,3.493,309,2.182,310,3.493,311,2.883,312,4.529,313,3.493,314,3.493,315,3.493]],["title/components/AppWebComponent.html",[0,0.49,254,1.023]],["body/components/AppWebComponent.html",[0,0.642,1,0.691,2,1.628,3,0.242,4,0.322,5,1.677,7,1.135,8,1.023,9,0.205,10,0.518,11,0.344,15,1.023,16,1.369,17,1.369,18,1.935,19,0.983,20,1.102,25,0.511,26,1.126,32,0.627,34,1.799,36,1.369,38,1.995,39,1.995,40,0.926,47,1.869,53,2.456,54,1.908,56,0.926,57,0.039,58,1.477,59,1.28,67,1.684,72,2.079,77,1.513,103,0.625,106,0.926,108,0.281,116,0.627,133,2.497,134,1.677,135,2.099,136,2.456,137,3.138,138,1.653,144,0.322,145,0.322,195,3.505,209,2.121,215,1.677,247,1.135,248,1.677,249,1.369,250,1.135,251,2.204,252,1.135,253,1.135,254,1.48,255,1.135,256,0.691,257,0.84,258,1.135,259,0.762,260,1.135,261,0.762,262,0.926,263,1.135,264,0.762,265,1.023,266,1.135,267,1.135,268,0.014,269,0.021,270,0.014,300,3.191,316,4.077,317,1.616,318,2.388,319,3.998,320,3.361,321,3.998,322,4.416,323,3.998,324,3.998,325,3.998,326,3.998,327,3.998,328,2.84,329,3.138,330,2.274,331,4.416,332,4.416,333,3.361,334,3.361,335,2.274,336,2.274,337,2.274,338,2.274,339,2.274,340,2.274,341,2.274,342,2.274,343,2.274,344,2.274,345,2.274,346,2.759,347,2.274,348,3.525,349,2.274,350,2.274,351,2.274,352,1.616,353,1.616,354,2.774,355,1.877,356,3.361,357,5.442,358,4.416,359,3.361,360,3.361,361,3.361,362,3.646,363,3.361,364,3.361,365,3.361,366,2.774,367,1.677,368,3.361,369,2.388,370,2.774,371,1.877,372,2.274,373,2.274,374,2.274,375,1.877,376,2.274,377,2.274,378,2.274,379,2.274,380,1.616,381,1.616,382,2.274]],["title/modules/CoreModule.html",[271,1.127,278,1.697]],["body/modules/CoreModule.html",[3,0.504,4,0.53,9,0.338,10,0.338,11,0.283,19,0.986,20,1.031,32,1.031,57,0.039,81,2.081,103,0.836,108,0.463,116,1.031,144,0.53,145,0.53,268,0.023,269,0.029,270,0.023,271,1.748,273,1.254,274,1.586,278,3.246,282,2.131,283,1.684,284,1.524,288,2.131,293,2.131,352,2.659,353,2.659,366,3.089,367,2.362,383,3.089,384,3.089,385,3.197,386,3.742,387,4.734,388,3.742,389,4.734,390,4.734,391,3.742,392,3.742,393,2.659,394,3.907,395,3.742,396,3.742,397,2.632,398,3.742,399,2.338,400,3.742,401,3.742,402,3.742,403,3.742,404,3.742,405,3.742,406,3.742,407,3.089,408,3.089,409,3.742,410,3.742,411,3.742,412,3.742,413,3.742,414,2.081,415,3.742,416,5.192,417,3.742,418,3.742,419,3.742]],["title/interfaces/DelegateDataSourceOptions.html",[131,0.841,420,1.906]],["body/interfaces/DelegateDataSourceOptions.html",[3,0.437,4,0.581,9,0.37,10,0.37,11,0.245,19,0.741,20,1.13,25,0.922,26,1.679,32,1.553,57,0.038,59,1.127,67,1.491,103,0.709,108,0.507,116,1.13,131,1.13,138,1.374,144,0.709,145,0.581,209,1.846,268,0.025,269,0.031,270,0.025,318,2.913,328,4.004,329,4.004,346,3.379,397,2.28,399,2.561,420,3.379,421,2.046,422,2.913,423,2.913,424,2.5,425,4.136,426,4.136,427,4.136,428,3.385,429,4.136,430,2.913,431,3.385,432,3.385,433,4.136,434,3.385,435,3.385]],["title/injectables/DelegateDataSourceService.html",[397,1.697,424,1.523]],["body/injectables/DelegateDataSourceService.html",[3,0.432,4,0.574,9,0.366,10,0.449,11,0.298,19,0.733,20,1.117,25,0.911,32,1.117,42,2.239,54,1.359,56,1.651,57,0.038,58,1.497,59,0.911,64,1.651,67,1.117,103,0.705,108,0.501,116,1.117,131,1.117,138,1.359,144,0.705,145,0.574,150,2.532,209,1.825,268,0.025,269,0.031,270,0.025,318,3.535,328,2.88,329,2.88,346,2.532,397,2.767,399,3.108,420,3.506,422,3.535,423,2.88,424,2.483,425,4.444,426,4.107,427,4.107,428,3.346,429,4.444,430,2.88,431,4.444,432,4.107,433,4.107,434,3.346,435,3.346,436,2.88,437,4.975,438,4.054]],["title/interfaces/GlobalConfig.html",[131,0.841,132,1.697]],["body/interfaces/GlobalConfig.html",[0,0.548,1,0.706,3,0.53,4,0.329,9,0.21,10,0.21,11,0.308,12,1.451,13,1.451,14,2.818,16,0.946,17,0.946,18,0.858,19,0.806,20,0.64,21,1.046,22,1.918,23,1.046,24,1.918,25,0.522,26,1.144,27,2.767,28,1.159,29,1.292,30,3.532,31,1.918,32,1.453,33,1.918,34,1.391,35,3.378,36,1.391,37,1.451,38,2.63,39,2.684,40,0.946,41,1.651,45,1.918,47,1.292,49,1.899,50,1.651,51,2.426,52,1.918,53,1.899,57,0.039,59,1.003,60,1.918,61,1.918,62,4.103,65,1.822,66,1.918,67,1.575,71,1.918,72,1.391,74,1.918,75,3.651,78,1.918,79,1.918,80,1.651,81,1.292,83,2.818,85,3.924,87,1.918,88,2.818,89,2.426,90,2.426,94,1.918,97,1.918,99,1.918,103,0.762,104,1.292,105,1.918,106,0.946,107,1.651,108,0.287,109,2.133,110,1.046,111,1.292,112,1.451,113,1.451,114,1.451,115,1.159,116,0.64,117,1.292,118,1.159,119,1.159,120,1.451,121,1.651,122,1.918,123,1.918,124,1.918,125,1.918,126,1.918,127,1.651,128,1.918,129,1.451,130,1.918,131,0.64,132,1.899,133,2.787,134,2.02,135,2.529,136,2.251,137,3.171,138,1.722,139,1.451,140,1.046,141,2.008,142,1.292,143,1.651,144,0.329,145,0.329,146,1.918,147,1.918,148,1.918,149,1.918,150,1.451,151,1.918,152,1.918,153,1.918,154,1.918,155,1.651,156,1.918,157,2.818,158,1.918,159,4.351,160,2.818,161,1.918,162,1.918,163,1.918,164,1.918,165,1.918,166,3.342,167,1.651,168,1.918,169,3.342,170,1.918,171,3.684,172,1.918,173,2.818,174,2.818,175,1.918,176,1.918,177,3.684,178,1.918,179,1.918,180,1.918,181,1.918,182,2.818,183,1.918,184,1.918,185,1.918,186,1.918,187,1.918,188,1.918,189,1.918,190,1.918,191,1.918,192,1.918,193,1.918,194,1.918,195,2.426,196,1.918,197,2.818,198,2.426,199,2.818,200,1.292,201,1.651,202,1.918,203,1.918,204,1.159,205,1.651,206,1.918,207,1.918,208,1.651,209,1.046,210,1.918,211,1.918,212,1.451,213,1.918,214,1.918,215,1.704,216,1.918,268,0.014,269,0.021,270,0.014,421,1.159]],["title/interfaces/LinkCard.html",[131,0.841,439,1.906]],["body/interfaces/LinkCard.html",[0,0.727,3,0.372,4,0.495,9,0.315,10,0.315,11,0.209,16,1.423,17,1.423,18,1.29,19,0.631,21,1.572,23,1.572,25,0.785,26,1.518,28,2.26,57,0.039,59,1.13,65,1.572,67,1.636,103,0.495,106,1.423,108,0.432,110,2.673,131,1.385,144,0.495,145,0.495,256,1.062,257,1.856,268,0.022,269,0.028,270,0.022,306,1.942,421,1.743,439,3.321,440,2.182,441,2.481,442,4.902,443,4.902,444,2.883,445,2.883,446,2.883,447,2.883,448,2.883,449,3.914,450,2.481,451,3.139,452,2.182,453,2.829,454,2.182,455,2.481,456,3.218,457,2.481,458,3.738,459,2.883,460,2.481,461,2.829,462,2.481,463,2.481,464,2.883,465,2.481,466,2.481,467,2.481,468,2.481,469,2.481,470,2.182,471,2.883,472,3.218,473,3.738,474,2.883,475,2.883,476,2.182,477,2.481,478,2.481,479,2.883,480,2.883,481,2.883,482,2.182,483,2.883,484,2.883,485,2.883,486,2.883,487,2.883,488,2.481,489,2.883,490,2.883,491,2.883]],["title/components/LinkCardsComponent.html",[0,0.49,256,0.928]],["body/components/LinkCardsComponent.html",[0,0.609,1,0.633,2,1.282,3,0.222,4,0.295,5,1.039,6,1.039,7,1.039,8,0.937,9,0.188,10,0.382,11,0.253,15,0.937,16,1.282,17,1.282,18,1.885,19,0.922,20,0.574,21,1.416,23,1.416,25,0.468,26,1.054,28,2.109,32,0.574,34,1.282,36,1.282,40,0.848,42,1.416,54,1.271,56,0.848,57,0.039,58,1.401,59,1.021,64,0.848,65,1.416,67,1.315,72,1.282,77,1.416,103,0.295,106,0.848,108,0.257,110,2.496,131,1.251,140,2.231,141,1.707,144,0.295,145,0.295,201,1.479,204,1.57,217,1.965,218,1.965,220,2.597,221,3.003,222,2.235,223,2.235,224,3.003,225,2.351,226,3.489,227,1.718,228,1.718,229,2.597,231,1.718,233,1.479,234,2.235,237,2.265,238,2.235,240,1.75,243,2.369,244,2.64,245,2.235,247,1.039,248,1.57,249,1.282,250,1.039,251,2.109,252,1.039,253,1.039,254,0.698,255,1.039,256,1.285,257,2.025,258,1.039,259,0.698,260,1.039,261,0.698,262,0.848,263,1.039,264,0.698,265,0.937,266,1.039,267,1.039,268,0.013,269,0.019,270,0.013,306,2.351,439,2.835,440,2.64,441,1.479,442,4.578,443,4.578,444,3.131,445,2.597,446,3.131,447,3.131,448,2.597,449,3.783,450,2.235,451,3.188,452,1.965,453,2.64,454,1.965,455,2.235,456,3.003,457,2.235,458,3.489,459,2.597,460,2.235,461,2.64,462,2.235,463,2.235,464,2.597,465,2.695,466,2.235,467,2.235,468,2.235,469,2.235,470,1.965,471,2.597,472,3.003,473,3.489,474,2.597,475,3.131,476,1.965,477,2.235,478,2.235,479,2.597,480,2.597,481,2.597,482,2.64,483,2.597,484,2.597,485,2.597,486,2.597,487,2.597,488,2.235,489,2.597,490,1.718,491,1.718,492,3.146,493,2.082,494,2.082,495,2.082,496,2.082,497,3.146,498,3.146,499,2.235,500,2.235,501,3.131,502,3.793,503,3.146,504,3.146,505,2.082,506,2.597,507,3.747,508,3.793,509,4.539,510,4.227,511,3.793,512,3.131,513,1.718,514,2.082,515,2.597,516,2.082,517,2.082,518,3.146,519,2.082,520,4.227,521,2.597,522,2.082,523,3.146,524,2.082,525,1.718,526,3.146,527,2.082,528,2.082,529,1.479,530,1.718,531,1.718,532,2.082,533,2.082,534,1.718,535,1.718,536,2.082,537,2.082,538,2.082,539,1.718,540,2.082,541,2.082,542,1.718,543,3.793,544,3.793,545,3.793,546,3.793,547,2.082,548,2.082,549,2.082,550,2.082,551,1.718,552,2.082,553,2.082,554,2.082,555,2.082]],["title/modules/LinkCardsModule.html",[271,1.127,279,1.697]],["body/modules/LinkCardsModule.html",[3,0.444,4,0.59,9,0.376,10,0.376,11,0.249,57,0.038,103,0.802,108,0.515,117,2.316,118,2.078,119,2.078,144,0.59,145,0.59,256,1.872,257,1.538,268,0.026,269,0.031,270,0.026,273,1.395,274,1.695,279,3.321,282,2.276,283,1.874,284,1.696,286,2.812,288,1.874,293,2.276,306,2.316,414,2.812,440,2.601,556,3.437,557,3.437,558,3.437,559,4.164,560,3.159,561,2.316,562,4.164,563,5.057]],["title/components/OrganComponent.html",[0,0.49,259,1.023]],["body/components/OrganComponent.html",[0,0.585,1,0.592,2,1.218,3,0.207,4,0.276,5,0.972,6,0.972,7,0.972,8,0.877,9,0.176,10,0.524,11,0.359,13,1.868,15,0.877,16,1.218,17,1.218,18,1.846,19,0.962,20,0.537,21,1.346,23,1.346,25,0.438,26,1.002,27,2.199,28,1.816,29,2.586,32,1.214,34,1.795,36,1.795,37,2.274,38,1.816,39,1.816,40,0.793,42,1.346,47,1.083,50,2.125,51,2.902,54,1.935,56,1.795,57,0.039,58,1.789,59,1.275,64,1.973,65,2.488,67,1.282,69,2.125,86,1.384,89,2.125,90,2.125,103,0.624,106,0.793,107,1.384,108,0.241,109,2.551,110,1.346,111,1.663,113,2.274,114,2.274,115,0.972,116,0.537,117,1.083,118,0.972,119,0.972,133,2.274,134,1.492,135,2.752,136,2.45,138,1.22,140,1.638,141,0.877,144,0.276,145,0.276,204,0.972,212,1.216,215,1.492,218,1.868,224,1.384,225,1.083,237,0.972,238,1.384,239,1.608,240,1.083,247,0.972,248,1.492,249,1.218,250,0.972,251,2.038,252,0.972,253,0.972,254,0.653,255,0.972,256,0.592,257,0.719,258,0.972,259,1.369,260,0.972,261,0.653,262,0.793,263,0.972,264,0.653,265,0.877,266,0.972,267,0.972,268,0.012,269,0.018,270,0.012,348,3.122,367,1.816,507,1.608,529,1.384,539,1.608,564,1.608,565,3.64,566,3.64,567,3.64,568,2.99,569,4.084,570,3.64,571,3.64,572,4.084,573,2.99,574,2.99,575,4.084,576,2.99,577,2.99,578,4.084,579,2.469,580,3.64,581,3.64,582,1.947,583,2.99,584,1.947,585,1.947,586,1.947,587,1.947,588,1.947,589,1.947,590,1.947,591,3.637,592,1.947,593,1.947,594,1.947,595,2.99,596,4.084,597,1.947,598,2.469,599,2.99,600,4.084,601,1.947,602,1.947,603,2.99,604,1.947,605,3.371,606,2.99,607,1.947,608,1.947,609,3.64,610,2.99,611,1.947,612,1.947,613,3.005,614,1.947,615,1.947,616,1.947,617,1.947,618,1.947,619,1.947,620,1.947,621,1.947,622,1.947,623,1.947,624,1.608,625,1.947,626,4.084,627,1.947,628,1.384,629,1.947,630,1.947,631,4.406,632,1.947,633,1.947,634,1.947,635,2.99,636,1.947,637,1.947,638,1.947,639,1.947,640,1.947,641,1.947,642,1.947,643,4.084,644,1.947,645,4.084,646,1.947,647,4.084,648,1.947,649,1.947,650,1.947,651,3.64,652,4.651,653,1.947,654,2.586,655,1.947,656,3.64,657,1.384,658,1.608,659,1.947,660,1.384,661,1.608,662,1.608,663,1.384,664,1.947]],["title/injectables/OrganLookupService.html",[49,1.697,424,1.523]],["body/injectables/OrganLookupService.html",[3,0.587,4,0.605,9,0.23,10,0.488,11,0.339,19,0.661,20,0.703,25,0.574,26,1.225,27,2.327,29,3.008,30,3.035,32,1.415,35,4.095,38,2.949,39,2.563,42,1.646,47,1.419,49,2.033,54,1.772,56,2.092,57,0.039,58,1.897,59,1.155,64,2.011,67,1.177,69,1.814,72,2.092,75,4.019,77,2.312,103,0.699,108,0.316,109,1.594,112,1.594,113,1.594,114,1.594,115,1.274,116,0.703,120,1.594,121,1.814,127,1.814,129,3.379,134,2.131,136,3.008,138,1.563,144,0.361,145,0.361,155,1.814,167,1.814,198,2.598,205,1.814,208,1.814,209,2.479,268,0.016,269,0.023,270,0.016,311,2.107,394,3.85,424,1.824,430,1.814,436,1.814,665,4.465,666,2.107,667,3.526,668,3.656,669,3.656,670,3.656,671,3.656,672,3.656,673,2.553,674,3.656,675,3.656,676,2.553,677,3.656,678,2.553,679,3.656,680,4.271,681,2.553,682,3.656,683,2.553,684,3.656,685,2.553,686,4.271,687,4.936,688,4.271,689,2.553,690,2.553,691,3.656,692,3.656,693,2.553,694,2.553,695,2.553,696,2.553,697,2.553,698,2.553,699,2.553,700,5.289,701,2.553,702,4.271,703,4.271,704,2.553,705,2.553,706,2.553]],["title/modules/OrganModule.html",[271,1.127,280,1.697]],["body/modules/OrganModule.html",[3,0.429,4,0.57,9,0.363,10,0.363,11,0.241,19,0.727,57,0.039,103,0.814,108,0.497,116,1.109,144,0.57,145,0.57,259,2.055,262,1.639,268,0.025,269,0.03,270,0.025,273,1.348,274,1.66,280,3.357,282,2.229,283,1.811,284,1.639,286,2.754,288,2.229,293,2.229,414,2.754,560,3.093,561,2.237,707,3.321,708,3.321,709,3.321,710,3.321,711,3.255,712,4.023,713,4.023,714,4.952,715,3.093,716,4.023]],["title/components/SlideToggleComponent.html",[0,0.49,261,1.023]],["body/components/SlideToggleComponent.html",[0,0.651,1,0.708,2,1.393,3,0.248,4,0.33,5,1.162,6,1.162,7,1.162,8,1.048,9,0.21,10,0.486,11,0.322,15,1.048,16,1.393,17,1.393,18,1.948,19,1.014,20,0.642,21,1.539,23,1.539,25,0.523,26,1.146,27,2.229,32,0.642,34,2.193,36,1.393,40,0.948,42,1.539,54,1.768,56,0.948,57,0.039,58,1.837,59,1.156,64,1.393,65,1.539,67,1.371,72,2.286,77,2.142,86,1.654,103,0.33,106,0.948,108,0.288,138,0.78,140,1.824,141,1.048,142,2.254,144,0.33,145,0.704,209,1.048,215,1.706,225,1.295,237,1.706,244,1.454,247,1.162,248,2.374,249,1.393,250,1.162,251,2.229,252,1.162,253,1.162,254,0.78,255,1.162,256,0.708,257,0.86,258,1.162,259,0.78,260,1.162,261,1.497,262,2.347,263,1.162,264,0.78,265,1.048,266,1.162,267,1.162,268,0.014,269,0.021,270,0.014,346,3.107,348,3.107,367,1.162,501,1.922,531,1.922,534,2.823,535,1.922,542,1.922,579,2.823,591,3.346,605,3.928,613,2.823,628,1.654,657,1.654,660,1.654,663,2.43,715,3.663,717,3.824,718,1.922,719,4.062,720,4.053,721,3.42,722,4.053,723,3.42,724,4.107,725,4.467,726,4.053,727,3.42,728,3.42,729,3.42,730,2.328,731,2.823,732,3.928,733,2.328,734,2.823,735,3.42,736,2.328,737,2.328,738,4.467,739,3.42,740,3.687,741,4.107,742,4.107,743,3.42,744,3.42,745,2.328,746,2.823,747,2.328,748,3.42,749,3.42,750,3.42,751,3.42,752,3.42,753,2.328,754,2.328,755,3.42,756,2.328,757,2.328,758,2.328,759,2.328,760,2.328,761,2.328,762,2.328,763,3.42,764,2.328,765,2.328,766,3.42,767,1.922,768,2.328,769,2.328,770,1.922,771,2.328,772,2.328,773,3.42,774,2.328,775,3.42,776,3.42,777,3.42,778,2.328,779,2.328,780,2.328]],["title/modules/SlideToggleModule.html",[271,1.127,711,1.697]],["body/modules/SlideToggleModule.html",[3,0.44,4,0.585,9,0.373,10,0.373,11,0.247,57,0.039,103,0.8,108,0.511,144,0.585,145,0.585,261,2.062,262,1.683,268,0.025,269,0.031,270,0.025,273,1.385,274,1.687,282,2.266,283,1.86,284,1.683,286,2.799,288,1.86,293,2.266,414,2.799,560,3.144,561,2.298,711,3.316,715,3.144,717,2.936,719,2.936,781,3.411,782,3.411,783,3.411,784,4.132,785,5.034,786,4.132,787,4.132]],["title/components/StatsListComponent.html",[0,0.49,264,1.023]],["body/components/StatsListComponent.html",[0,0.786,1,1.005,2,1.779,3,0.352,4,0.468,5,1.649,6,1.649,7,1.649,8,1.487,9,0.298,10,0.442,11,0.293,15,1.487,16,1.779,17,1.779,18,2.126,19,1.053,20,0.91,21,1.966,23,1.966,25,0.743,34,1.346,36,1.779,40,2.444,41,3.845,54,1.464,57,0.039,58,1.613,59,0.982,67,1.203,103,0.618,106,1.346,108,0.408,112,3.056,115,1.649,144,0.468,145,0.468,204,1.649,215,2.179,217,2.064,218,2.728,221,3.476,222,2.348,223,3.103,225,2.428,233,3.103,234,3.103,240,1.837,242,2.727,243,2.064,244,3.056,245,3.103,247,1.649,248,2.179,249,1.779,250,1.649,251,2.597,252,1.649,253,1.649,254,1.107,255,1.649,256,1.005,257,1.22,258,1.649,259,1.107,260,1.649,261,1.107,262,1.346,263,1.649,264,1.744,265,2.202,266,1.649,267,1.649,268,0.02,269,0.027,270,0.02,309,3.056,348,3.056,512,3.605,529,2.348,530,2.727,767,2.727,788,3.476,789,2.727,790,4.892,791,4.367,792,3.304,793,3.304,794,4.367,795,4.367,796,3.304,797,3.304,798,3.304]],["title/modules/StatsListModule.html",[271,1.127,281,1.697]],["body/modules/StatsListModule.html",[3,0.447,4,0.594,9,0.379,10,0.379,11,0.251,40,1.709,57,0.039,103,0.774,108,0.519,144,0.594,145,0.594,264,2.066,268,0.026,269,0.031,270,0.026,273,1.406,274,1.703,281,3.327,282,2.287,283,1.889,284,1.709,286,2.826,288,1.889,293,2.287,309,2.621,414,2.826,560,3.174,561,2.334,788,2.982,799,3.464,800,3.464,801,3.464,802,4.197,803,4.197]],["title/modules/StoreModule.html",[271,1.127,385,1.697]],["body/modules/StoreModule.html",[3,0.427,4,0.568,9,0.362,10,0.362,11,0.24,19,0.724,53,2.747,57,0.039,103,0.828,108,0.495,116,1.361,138,1.343,144,0.7,145,0.568,268,0.025,269,0.03,270,0.025,271,1.48,273,1.343,288,1.804,293,2.224,299,2.848,352,2.848,353,2.848,369,2.848,385,2.747,407,3.309,408,4.079,513,3.309,724,3.309,804,2.848,805,4.008,806,3.309,807,3.309,808,4.008,809,3.309,810,4.421,811,4.008,812,3.309,813,3.309,814,3.309,815,2.848,816,4.008,817,4.008,818,4.008,819,3.309,820,4.008,821,4.008,822,4.008,823,4.008,824,4.008,825,4.008,826,4.008,827,4.008,828,4.008,829,4.008,830,4.008]],["title/changelog.html",[831,1.819,832,1.599,833,1.819]],["body/changelog.html",[0,0.433,2,0.694,3,0.382,6,0.49,8,0.442,9,0.089,11,0.318,15,1.213,18,0.629,19,1.004,20,0.271,26,0.329,28,1.345,29,1.499,32,0.271,34,0.4,36,0.694,37,2.487,38,0.85,39,0.85,54,0.329,57,0.026,59,0.221,77,0.442,80,0.698,81,0.546,104,1.696,110,1.792,111,2.379,115,1.522,116,0.271,118,0.49,119,0.49,131,1.047,132,0.546,134,0.85,140,1.213,142,0.546,150,0.613,200,1.255,204,1.522,217,0.613,219,1.864,235,0.811,237,0.49,240,0.546,243,1.065,249,0.4,257,0.629,265,0.767,268,0.006,269,0.01,270,0.025,274,0.903,298,1.065,300,1.859,362,0.811,367,2.135,369,3.715,370,0.811,375,2.963,393,0.698,421,0.49,449,3.275,450,1.915,451,1.684,452,1.41,453,2.487,454,3.542,461,3.356,463,2.375,465,0.698,466,1.604,467,1.915,468,1.915,469,0.698,470,0.613,472,0.698,476,1.905,478,0.698,482,1.41,499,3.448,500,1.604,506,0.811,521,1.407,525,1.407,598,2.225,628,1.211,654,1.915,657,0.698,658,1.864,661,0.811,662,2.225,663,1.211,667,3.878,719,1.211,734,0.811,740,1.864,741,1.407,742,1.407,746,2.76,770,0.811,819,0.811,832,1.41,833,1.211,834,1.704,835,1.704,836,3.343,837,3.137,838,6.052,839,0.811,840,5.186,841,2.76,842,0.982,843,3.05,844,4.511,845,0.982,846,1.704,847,2.695,848,1.704,849,2.258,850,0.982,851,1.704,852,0.982,853,4.511,854,0.982,855,1.704,856,3.805,857,0.811,858,0.982,859,1.407,860,1.407,861,1.407,862,3.8,863,0.982,864,0.982,865,0.982,866,2.258,867,1.704,868,2.258,869,4.278,870,0.982,871,1.407,872,0.811,873,0.982,874,0.982,875,3.286,876,1.704,877,3.05,878,2.258,879,2.258,880,0.982,881,1.704,882,1.704,883,1.704,884,0.982,885,2.941,886,0.982,887,4.779,888,0.982,889,0.982,890,2.258,891,1.704,892,2.258,893,2.258,894,2.695,895,1.704,896,2.258,897,0.982,898,1.704,899,1.704,900,0.982,901,3.59,902,3.343,903,3.59,904,1.704,905,0.982,906,0.982,907,4.779,908,0.982,909,0.982,910,1.704,911,2.258,912,2.518,913,0.982,914,1.704,915,0.982,916,0.982,917,0.982,918,1.704,919,0.982,920,0.982,921,0.982,922,2.258,923,1.864,924,0.982,925,0.982,926,1.407,927,0.982,928,3.343,929,4.278,930,1.704,931,3.05,932,0.982,933,1.704,934,3.343,935,1.704,936,0.982,937,2.695,938,0.982,939,0.982,940,1.704,941,0.982,942,3.59,943,0.982,944,0.982,945,1.704,946,0.982,947,1.704,948,2.258,949,0.982,950,0.982,951,0.982,952,1.704,953,0.982,954,0.982,955,0.982,956,0.982,957,4.61,958,0.982,959,0.811,960,1.407,961,0.982,962,1.704,963,0.811,964,0.982,965,1.704,966,2.695,967,2.695,968,0.982,969,2.258,970,0.982,971,0.982,972,1.704,973,0.982,974,0.982,975,3.343,976,2.088,977,2.518,978,1.864,979,0.982,980,2.518,981,0.982,982,2.258,983,3.137,984,4.511,985,0.982,986,1.704,987,1.864,988,0.982,989,0.982,990,0.982,991,3.05,992,0.982,993,0.982,994,0.982,995,0.982,996,2.258,997,0.982,998,1.407,999,1.407,1000,3.59,1001,0.982,1002,3.59,1003,3.137,1004,0.982,1005,0.982,1006,0.982,1007,0.982,1008,0.982,1009,0.982,1010,2.518,1011,0.982,1012,0.982,1013,0.982,1014,1.704,1015,1.704,1016,0.982,1017,1.704,1018,1.704,1019,1.704,1020,1.704,1021,0.982,1022,2.258,1023,0.982,1024,0.982,1025,0.811,1026,0.982,1027,1.704,1028,1.704,1029,0.982,1030,0.982,1031,1.704,1032,1.704,1033,1.704,1034,0.982,1035,0.982,1036,0.982,1037,0.982,1038,2.258,1039,0.982,1040,1.704,1041,0.982,1042,0.982,1043,3.343,1044,1.407,1045,0.982,1046,0.811,1047,0.982,1048,0.982,1049,0.982,1050,2.258,1051,1.704,1052,3.343,1053,1.407,1054,2.695,1055,0.982,1056,0.982,1057,0.982,1058,0.982,1059,0.982,1060,0.982,1061,1.704,1062,1.704,1063,0.982,1064,1.704,1065,0.982,1066,1.704,1067,1.704,1068,0.982,1069,0.982,1070,2.695,1071,0.982,1072,0.982,1073,0.982,1074,0.982,1075,1.704,1076,0.982,1077,0.982,1078,0.982,1079,0.982,1080,0.982,1081,0.982,1082,1.704,1083,0.982,1084,0.982,1085,0.982,1086,0.982,1087,0.982,1088,1.704,1089,0.982,1090,0.982,1091,0.982,1092,2.258,1093,2.258,1094,1.704,1095,0.811,1096,0.982,1097,0.982,1098,1.704,1099,0.982,1100,0.982,1101,0.982,1102,1.704,1103,1.704,1104,1.704,1105,1.704,1106,0.982,1107,1.704,1108,2.695,1109,2.258,1110,0.982,1111,0.982,1112,0.982,1113,0.982,1114,0.811,1115,0.982,1116,1.704,1117,0.982,1118,0.982,1119,1.704,1120,2.695,1121,0.982,1122,0.982,1123,0.982,1124,0.982,1125,3.343,1126,2.258,1127,1.704,1128,0.982,1129,0.982,1130,2.258,1131,1.704,1132,2.695,1133,0.982,1134,0.982,1135,0.982,1136,1.704,1137,0.982,1138,0.982,1139,0.982,1140,0.982,1141,0.982,1142,2.695,1143,0.982,1144,2.258,1145,2.695,1146,0.982,1147,2.258,1148,3.05,1149,1.704,1150,1.704,1151,1.704,1152,1.704,1153,2.258,1154,2.695,1155,3.05,1156,1.704,1157,2.258,1158,0.982,1159,0.982,1160,3.59,1161,0.982,1162,2.695,1163,3.981,1164,0.982,1165,0.982,1166,0.982,1167,0.982,1168,0.982,1169,0.982,1170,1.704,1171,0.982,1172,1.704,1173,0.982,1174,0.982,1175,0.982,1176,0.982,1177,1.704,1178,0.982,1179,0.982,1180,1.704,1181,1.864,1182,1.704,1183,2.258,1184,0.982,1185,0.982,1186,0.982,1187,1.704,1188,0.982,1189,0.982,1190,0.982,1191,0.982,1192,0.982,1193,0.982,1194,0.982,1195,1.704,1196,0.982,1197,0.982,1198,3.343,1199,1.704,1200,2.258,1201,1.704,1202,0.982,1203,0.982,1204,0.982,1205,0.982,1206,2.258,1207,0.982,1208,0.982,1209,0.982,1210,1.704,1211,1.704,1212,1.704,1213,1.704,1214,2.258,1215,0.982,1216,0.982,1217,0.982,1218,0.982,1219,0.982,1220,0.982,1221,0.811,1222,0.982,1223,0.982,1224,0.982,1225,1.704,1226,0.982,1227,0.982,1228,1.407,1229,0.982,1230,0.982,1231,0.982,1232,0.982,1233,0.982,1234,0.982,1235,0.982,1236,0.982,1237,0.982,1238,0.982,1239,3.8,1240,0.982,1241,1.864,1242,3.8,1243,2.258,1244,2.695,1245,1.704,1246,2.258,1247,0.982,1248,1.704,1249,0.982,1250,0.982,1251,1.704,1252,1.704,1253,1.704,1254,0.982,1255,0.982,1256,0.982,1257,0.982,1258,1.704,1259,0.982,1260,1.864,1261,0.982,1262,0.982,1263,0.982,1264,0.982,1265,0.811,1266,0.982,1267,0.982,1268,0.982,1269,0.982,1270,0.982,1271,0.982,1272,0.982,1273,0.982,1274,0.982,1275,0.982,1276,3.05,1277,0.982,1278,0.982,1279,0.982,1280,0.982,1281,0.982,1282,0.982,1283,0.982,1284,0.982,1285,0.982,1286,0.982,1287,0.982,1288,0.982,1289,0.982,1290,0.982,1291,1.704,1292,0.982,1293,1.704,1294,0.982,1295,1.704,1296,1.704,1297,2.695,1298,2.695,1299,1.704,1300,1.704,1301,0.982,1302,0.982,1303,0.982,1304,2.258,1305,0.982,1306,0.811,1307,0.982,1308,0.982,1309,0.982,1310,0.982,1311,0.982,1312,1.704,1313,4.139,1314,2.258,1315,0.982,1316,1.704,1317,0.982,1318,0.982,1319,0.982,1320,0.982,1321,0.982,1322,0.982,1323,0.982,1324,0.982,1325,1.704,1326,2.963,1327,1.704,1328,0.982,1329,0.982,1330,0.982,1331,0.982,1332,1.704,1333,0.982,1334,0.982,1335,1.915,1336,0.982,1337,1.704,1338,0.982,1339,0.982,1340,0.982,1341,1.704,1342,0.982,1343,0.982,1344,0.982,1345,0.982,1346,1.704,1347,2.258,1348,1.704,1349,0.982,1350,1.407,1351,0.982,1352,0.982,1353,0.982,1354,0.982,1355,0.982,1356,0.982,1357,0.982,1358,0.982,1359,0.982,1360,0.811,1361,0.982,1362,0.982,1363,1.704,1364,0.982,1365,0.982,1366,0.982,1367,0.982,1368,0.982,1369,0.982,1370,0.982,1371,1.704,1372,0.982,1373,0.982,1374,0.982,1375,0.811,1376,0.982,1377,0.982,1378,1.704,1379,0.982,1380,0.982,1381,0.982,1382,0.982,1383,0.982,1384,0.982,1385,0.982,1386,0.982,1387,0.982,1388,0.982,1389,0.982,1390,1.704,1391,0.982,1392,0.982,1393,0.982,1394,1.704,1395,0.811,1396,0.811,1397,0.982,1398,0.982,1399,0.982,1400,0.982,1401,0.982,1402,0.982,1403,0.982]],["title/coverage.html",[1335,2.942]],["body/coverage.html",[0,0.917,1,1.107,9,0.329,10,0.553,11,0.367,12,3.202,49,2.025,57,0.038,59,0.819,129,2.274,131,1.412,132,2.025,139,2.274,141,2.736,254,1.22,256,1.107,259,1.22,261,1.22,264,1.22,268,0.022,269,0.029,270,0.022,300,2.85,306,2.587,309,2.274,316,3.642,317,3.642,354,3.84,367,1.817,380,2.587,381,2.587,397,2.025,399,2.905,420,2.274,422,3.305,423,3.305,424,2.321,439,2.274,440,2.905,441,3.305,551,3.84,564,3.005,660,2.587,665,3.005,666,3.005,715,2.905,717,2.587,718,3.005,788,2.587,789,3.005,804,2.587,815,2.587,976,2.274,1335,2.587,1404,3.641,1405,3.641,1406,3.641,1407,5.126,1408,3.641,1409,3.641,1410,3.641,1411,4.651,1412,3.641,1413,3.641,1414,3.641,1415,3.641,1416,3.641,1417,4.651,1418,3.641,1419,3.641]],["title/dependencies.html",[274,1.228,963,2.113]],["body/dependencies.html",[9,0.282,57,0.039,104,1.736,108,0.386,110,1.405,117,2.338,118,1.557,119,1.557,120,1.95,249,1.713,268,0.019,269,0.026,270,0.019,274,1.046,295,2.577,297,3.471,298,2.626,455,2.218,561,1.736,624,2.577,732,2.577,806,3.471,807,2.577,809,2.577,810,3.471,812,2.577,839,3.471,861,2.577,871,2.577,872,2.577,980,3.471,998,2.577,1044,2.577,1053,2.577,1181,2.577,1241,3.471,1420,3.121,1421,3.121,1422,3.121,1423,5.872,1424,3.121,1425,3.121,1426,3.121,1427,3.121,1428,3.121,1429,3.121,1430,3.121,1431,3.121,1432,3.121,1433,3.121,1434,3.121,1435,3.121,1436,4.754,1437,3.121,1438,4.204,1439,3.121,1440,3.121,1441,3.121,1442,3.121,1443,4.754,1444,3.121,1445,3.121,1446,3.121,1447,3.121,1448,3.121,1449,3.121,1450,3.121,1451,3.121,1452,3.121,1453,3.121,1454,4.204,1455,3.121,1456,4.204,1457,3.121,1458,3.121,1459,3.121,1460,3.121,1461,3.121,1462,3.121,1463,3.121,1464,3.121,1465,4.204,1466,3.121,1467,3.121,1468,3.121,1469,3.121,1470,3.121,1471,3.121,1472,3.121,1473,3.121,1474,3.121,1475,3.121,1476,3.121,1477,3.121,1478,3.121,1479,3.121,1480,3.121,1481,3.121,1482,2.577,1483,3.121,1484,3.121,1485,3.121,1486,3.121,1487,3.121,1488,3.121,1489,4.204,1490,3.121,1491,3.121,1492,3.121,1493,3.121,1494,3.121,1495,3.121,1496,3.121,1497,3.121,1498,3.121,1499,3.121,1500,3.121,1501,3.121,1502,3.121,1503,3.121,1504,3.121,1505,3.121,1506,3.121,1507,3.121,1508,3.121,1509,3.121,1510,3.121,1511,3.121,1512,3.121,1513,3.121,1514,3.121,1515,3.121,1516,3.121,1517,3.121,1518,3.121,1519,3.121,1520,3.121,1521,3.121,1522,3.121,1523,3.121,1524,3.121,1525,4.204,1526,3.121,1527,3.121,1528,3.121,1529,3.121,1530,3.121,1531,3.121,1532,3.121,1533,3.121,1534,3.121,1535,3.121,1536,3.121,1537,3.121]],["title/miscellaneous/functions.html",[1538,1.599,1539,3.024]],["body/miscellaneous/functions.html",[10,0.407,11,0.27,25,1.015,32,1.463,56,2.162,57,0.037,58,1.96,64,2.162,67,1.463,72,2.162,268,0.028,269,0.033,270,0.028,300,3.135,316,3.208,317,4.006,355,3.727,371,3.727,380,3.771,381,3.771,1538,2.82,1539,3.727,1540,5.308]],["title/index.html",[25,0.576,831,1.819,832,1.599]],["body/index.html",[0,0.539,3,0.579,11,0.295,19,1.125,57,0.027,104,1.866,111,1.866,131,1.216,200,2.453,237,1.675,268,0.021,269,0.027,270,0.021,393,3.72,421,1.675,451,3.079,452,2.096,453,3.079,454,2.756,456,3.502,457,2.384,460,2.384,461,3.079,462,2.384,470,2.756,476,2.096,477,2.384,482,2.756,499,3.135,500,3.135,515,2.77,833,2.384,837,2.77,841,3.642,856,4.768,857,3.642,859,3.642,860,4.322,885,3.72,912,2.77,923,3.642,926,3.642,959,2.77,960,2.77,976,2.096,977,4.49,978,4.322,983,3.642,987,2.77,999,3.642,1003,2.77,1095,3.642,1114,2.77,1265,2.77,1350,2.77,1360,2.77,1395,2.77,1541,4.412,1542,4.412,1543,4.412,1544,3.356,1545,3.356,1546,3.356,1547,3.356,1548,3.642,1549,3.356,1550,3.356,1551,4.412,1552,4.412,1553,4.412,1554,4.929,1555,3.356,1556,4.929,1557,3.356,1558,3.356,1559,4.412,1560,3.356,1561,3.356,1562,3.356,1563,3.356,1564,3.356,1565,3.356,1566,3.356,1567,3.356,1568,3.356,1569,3.356,1570,3.356,1571,3.356,1572,4.412,1573,3.356,1574,3.356,1575,4.412,1576,4.412,1577,3.356,1578,4.412,1579,4.412,1580,3.356,1581,3.356,1582,3.356,1583,3.356,1584,3.356,1585,3.356,1586,3.356,1587,3.356,1588,3.356,1589,3.356,1590,3.356,1591,3.356,1592,3.356]],["title/license.html",[831,1.819,832,1.599,1593,2.113]],["body/license.html",[57,0.031,200,2.757,212,2.518,268,0.025,269,0.031,270,0.025,284,1.642,731,3.327,885,2.864,976,2.518,1010,4.093,1025,4.432,1046,3.327,1221,4.093,1306,3.327,1326,3.327,1375,3.327,1396,3.327,1482,3.327,1548,4.984,1593,3.327,1594,4.031,1595,5.37,1596,4.031,1597,4.031,1598,4.958,1599,4.031,1600,4.031,1601,4.031,1602,4.031,1603,4.031,1604,4.031,1605,4.958,1606,4.031,1607,4.031,1608,4.031,1609,4.031,1610,4.031,1611,4.031,1612,4.031,1613,4.031,1614,4.031,1615,4.031,1616,4.031,1617,4.031,1618,4.958,1619,4.031,1620,4.031,1621,4.031,1622,4.031,1623,4.031,1624,4.031,1625,4.958,1626,4.031,1627,4.031,1628,4.031,1629,4.031,1630,4.031,1631,4.031,1632,4.031,1633,4.031,1634,4.031,1635,4.031,1636,4.031,1637,4.031,1638,4.031,1639,4.031,1640,4.031,1641,4.031,1642,4.031,1643,4.031,1644,4.031,1645,4.031,1646,4.031,1647,4.031,1648,4.031,1649,4.031,1650,4.031]],["title/modules.html",[273,1.388]],["body/modules.html",[57,0.033,268,0.028,269,0.033,270,0.028,272,2.826,273,1.516,278,2.516,279,2.516,280,2.516,281,2.516,298,3.757,385,2.516,711,2.516,875,4.965,1260,3.735,1651,6.015,1652,6.072,1653,4.524]],["title/overview.html",[1654,3.418]],["body/overview.html",[1,1.582,2,1.532,57,0.038,254,1.744,256,1.777,259,1.959,261,1.959,264,1.959,268,0.023,269,0.029,270,0.023,272,3.827,273,1.261,274,1.592,275,3.106,276,3.106,277,3.106,278,3.134,279,3.201,280,3.288,281,3.201,282,2.138,283,1.693,284,1.532,383,3.106,384,3.106,385,2.894,421,1.877,436,2.673,488,2.673,556,3.106,557,3.106,558,3.106,654,2.673,707,3.106,708,3.106,709,3.106,710,3.106,711,3.201,781,3.106,782,3.106,783,3.106,799,3.106,800,3.106,801,3.106,1228,3.106,1654,3.106,1655,3.762]],["title/miscellaneous/variables.html",[1538,1.599,1656,3.024]],["body/miscellaneous/variables.html",[10,0.474,11,0.314,12,2.768,25,0.996,53,2.464,57,0.038,59,1.18,72,2.138,77,2.363,116,1.221,139,3.279,140,1.994,141,2.603,142,2.464,143,3.148,268,0.027,269,0.032,270,0.027,299,3.148,804,3.148,813,3.658,814,3.658,815,3.73,1538,2.768,1656,3.658,1657,4.431,1658,4.431]]],"invertedIndex":[["",{"_index":57,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":141,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["0.001",{"_index":143,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["0.1.0",{"_index":1394,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":1537,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":1469,"title":{},"body":{"dependencies.html":{}}}],["0.2",{"_index":546,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["0.2.0",{"_index":1390,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":1490,"title":{},"body":{"dependencies.html":{}}}],["0.5",{"_index":778,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["0.5.0",{"_index":1378,"title":{},"body":{"changelog.html":{}}}],["0.5rem",{"_index":659,"title":{},"body":{"components/OrganComponent.html":{}}}],["0.6.0",{"_index":1350,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0.875rem",{"_index":536,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["0.95rem",{"_index":230,"title":{},"body":{"components/AppComponent.html":{}}}],["0/1",{"_index":1407,"title":{},"body":{"coverage.html":{}}}],["0/15",{"_index":1406,"title":{},"body":{"coverage.html":{}}}],["0/19",{"_index":1408,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":1410,"title":{},"body":{"coverage.html":{}}}],["0/21",{"_index":1414,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":1411,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":1417,"title":{},"body":{"coverage.html":{}}}],["0/5",{"_index":1409,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":1412,"title":{},"body":{"coverage.html":{}}}],["00788",{"_index":487,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["01",{"_index":891,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":1207,"title":{},"body":{"changelog.html":{}}}],["021",{"_index":486,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["03",{"_index":1148,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":931,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":1120,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":847,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":836,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":1327,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":877,"title":{},"body":{"changelog.html":{}}}],["0ms",{"_index":550,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["0ms,border",{"_index":549,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["0ms,box",{"_index":547,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["0rem",{"_index":516,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["1",{"_index":243,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["1.0",{"_index":1242,"title":{},"body":{"changelog.html":{}}}],["1.0.0",{"_index":1313,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":1464,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":1473,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":1532,"title":{},"body":{"dependencies.html":{}}}],["1.1.0",{"_index":1291,"title":{},"body":{"changelog.html":{}}}],["1.16.0",{"_index":1508,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":1466,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":1241,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":1477,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":1510,"title":{},"body":{"dependencies.html":{}}}],["1.25",{"_index":651,"title":{},"body":{"components/OrganComponent.html":{}}}],["1.3.5",{"_index":1206,"title":{},"body":{"changelog.html":{}}}],["1.325rem",{"_index":797,"title":{},"body":{"components/StatsListComponent.html":{}}}],["1.4.0",{"_index":1181,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":1493,"title":{},"body":{"dependencies.html":{}}}],["1.5",{"_index":232,"title":{},"body":{"components/AppComponent.html":{}}}],["1.5.0",{"_index":1147,"title":{},"body":{"changelog.html":{}}}],["1.6.0",{"_index":1132,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":1119,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":1479,"title":{},"body":{"dependencies.html":{}}}],["1/1",{"_index":1413,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":375,"title":{},"body":{"components/AppWebComponent.html":{},"changelog.html":{}}}],["10.0.0",{"_index":1488,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":660,"title":{},"body":{"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"coverage.html":{}}}],["1000",{"_index":652,"title":{},"body":{"components/OrganComponent.html":{}}}],["101",{"_index":777,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["10x",{"_index":1303,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":1183,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":1511,"title":{},"body":{"dependencies.html":{}}}],["12",{"_index":837,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":1513,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":1423,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":1428,"title":{},"body":{"dependencies.html":{}}}],["13",{"_index":1033,"title":{},"body":{"changelog.html":{}}}],["136",{"_index":629,"title":{},"body":{"components/OrganComponent.html":{}}}],["14",{"_index":932,"title":{},"body":{"changelog.html":{}}}],["15",{"_index":848,"title":{},"body":{"changelog.html":{}}}],["15.126.1",{"_index":1421,"title":{},"body":{"dependencies.html":{}}}],["16",{"_index":1094,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":1481,"title":{},"body":{"dependencies.html":{}}}],["17",{"_index":911,"title":{},"body":{"changelog.html":{}}}],["173",{"_index":633,"title":{},"body":{"components/OrganComponent.html":{}}}],["1px",{"_index":509,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["1rem",{"_index":225,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["2",{"_index":654,"title":{},"body":{"components/OrganComponent.html":{},"changelog.html":{},"overview.html":{}}}],["2.0.0",{"_index":1093,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":1485,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":1053,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":1044,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.28125rem",{"_index":532,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["2.3.0",{"_index":1040,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":1032,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":1019,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":998,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.6.7",{"_index":1515,"title":{},"body":{"dependencies.html":{}}}],["2.75",{"_index":541,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["2.8.5",{"_index":1475,"title":{},"body":{"dependencies.html":{}}}],["2.awsapprunner.com",{"_index":1566,"title":{},"body":{"index.html":{}}}],["2019",{"_index":1326,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":1244,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":984,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":862,"title":{},"body":{"changelog.html":{}}}],["2023",{"_index":835,"title":{},"body":{"changelog.html":{}}}],["21",{"_index":1121,"title":{},"body":{"changelog.html":{}}}],["22",{"_index":1315,"title":{},"body":{"changelog.html":{}}}],["229",{"_index":630,"title":{},"body":{"components/OrganComponent.html":{}}}],["229.5",{"_index":635,"title":{},"body":{"components/OrganComponent.html":{}}}],["24",{"_index":1379,"title":{},"body":{"changelog.html":{}}}],["250ms",{"_index":543,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["255",{"_index":631,"title":{},"body":{"components/OrganComponent.html":{}}}],["26",{"_index":1149,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":1186,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":878,"title":{},"body":{"changelog.html":{}}}],["29rem",{"_index":246,"title":{},"body":{"components/AppComponent.html":{}}}],["2f3346",{"_index":524,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["2px",{"_index":540,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["2rem",{"_index":245,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{}}}],["3",{"_index":1228,"title":{},"body":{"changelog.html":{},"overview.html":{}}}],["3.0.0",{"_index":980,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":1443,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":945,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":940,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":930,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":910,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":890,"title":{},"body":{"changelog.html":{}}}],["3.5.0",{"_index":876,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":1449,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":1451,"title":{},"body":{"dependencies.html":{}}}],["3.6",{"_index":1572,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":861,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.7.0",{"_index":846,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":1456,"title":{},"body":{"dependencies.html":{}}}],["3.7.2",{"_index":834,"title":{},"body":{"changelog.html":{}}}],["3.7.3",{"_index":1458,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":628,"title":{},"body":{"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["30rem",{"_index":505,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["31",{"_index":1292,"title":{},"body":{"changelog.html":{}}}],["352px",{"_index":664,"title":{},"body":{"components/OrganComponent.html":{}}}],["3d",{"_index":907,"title":{},"body":{"changelog.html":{}}}],["4",{"_index":1263,"title":{},"body":{"changelog.html":{}}}],["4.0",{"_index":1552,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":1455,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":1483,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":1505,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":1471,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":1495,"title":{},"body":{"dependencies.html":{}}}],["444a65",{"_index":520,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["47",{"_index":634,"title":{},"body":{"components/OrganComponent.html":{}}}],["4th",{"_index":864,"title":{},"body":{"changelog.html":{}}}],["5.0.0",{"_index":1498,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":1503,"title":{},"body":{"dependencies.html":{}}}],["50",{"_index":769,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["500",{"_index":538,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["5th",{"_index":852,"title":{},"body":{"changelog.html":{}}}],["6",{"_index":488,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"overview.html":{}}}],["6.0.1",{"_index":1501,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":1519,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":1452,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":1529,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":1526,"title":{},"body":{"dependencies.html":{}}}],["6px",{"_index":519,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["6s",{"_index":768,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["7",{"_index":1655,"title":{},"body":{"overview.html":{}}}],["7/8",{"_index":1416,"title":{},"body":{"coverage.html":{}}}],["71",{"_index":776,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["8",{"_index":1127,"title":{},"body":{"changelog.html":{}}}],["8.3.2",{"_index":1535,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":1447,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":1436,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":1439,"title":{},"body":{"dependencies.html":{}}}],["85",{"_index":1389,"title":{},"body":{"changelog.html":{}}}],["87",{"_index":1415,"title":{},"body":{"coverage.html":{}}}],["90",{"_index":661,"title":{},"body":{"components/OrganComponent.html":{},"changelog.html":{}}}],["95",{"_index":935,"title":{},"body":{"changelog.html":{}}}],["9rem",{"_index":530,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{}}}],["9th",{"_index":1159,"title":{},"body":{"changelog.html":{}}}],["_blank",{"_index":491,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["_sex",{"_index":680,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["ability",{"_index":1066,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":1375,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["accessors",{"_index":728,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["accurate",{"_index":1146,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":1644,"title":{},"body":{"license.html":{}}}],["actions",{"_index":1232,"title":{},"body":{"changelog.html":{}}}],["actual_component",{"_index":267,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["add",{"_index":448,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["added",{"_index":838,"title":{},"body":{"changelog.html":{}}}],["additional",{"_index":1376,"title":{},"body":{"changelog.html":{}}}],["addressed",{"_index":1285,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":914,"title":{},"body":{"changelog.html":{}}}],["adjusting",{"_index":1279,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":1179,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":1096,"title":{},"body":{"changelog.html":{}}}],["afterviewchecked",{"_index":565,"title":{},"body":{"components/OrganComponent.html":{}}}],["afterviewinit",{"_index":14,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["again",{"_index":1253,"title":{},"body":{"changelog.html":{}}}],["age",{"_index":1015,"title":{},"body":{"changelog.html":{}}}],["aggregateresult",{"_index":112,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{},"components/StatsListComponent.html":{}}}],["ala",{"_index":1037,"title":{},"body":{"changelog.html":{}}}],["align",{"_index":234,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{}}}],["all_possible_organs",{"_index":686,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["allowed",{"_index":771,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["allows",{"_index":1164,"title":{},"body":{"changelog.html":{}}}],["alpha",{"_index":1362,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":1341,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":1337,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":1325,"title":{},"body":{"changelog.html":{}}}],["alt",{"_index":1555,"title":{},"body":{"index.html":{}}}],["analytics",{"_index":119,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["analyticsmodule",{"_index":395,"title":{},"body":{"modules/CoreModule.html":{}}}],["analyticsmodule.forroot",{"_index":402,"title":{},"body":{"modules/CoreModule.html":{}}}],["anatomical",{"_index":466,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["and/or",{"_index":1616,"title":{},"body":{"license.html":{}}}],["angular",{"_index":104,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":1422,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":1424,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":561,"title":{},"body":{"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"dependencies.html":{}}}],["angular/common/http",{"_index":388,"title":{},"body":{"modules/CoreModule.html":{}}}],["angular/compiler",{"_index":1425,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":108,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"dependencies.html":{}}}],["angular/elements",{"_index":295,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/forms",{"_index":1426,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":1427,"title":{},"body":{"dependencies.html":{}}}],["angular/material/slide",{"_index":786,"title":{},"body":{"modules/SlideToggleModule.html":{}}}],["angular/platform",{"_index":297,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/router",{"_index":1430,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":1431,"title":{},"body":{"dependencies.html":{}}}],["api",{"_index":856,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":1563,"title":{},"body":{"index.html":{}}}],["apiendpointdatasourceservice",{"_index":426,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["app",{"_index":299,"title":{},"body":{"modules/AppModule.html":{},"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["app.component",{"_index":302,"title":{},"body":{"modules/AppModule.html":{}}}],["app.component.html",{"_index":24,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["app.component.scss",{"_index":22,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["appcomponent",{"_index":1,"title":{"components/AppComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"coverage.html":{},"overview.html":{}}}],["appear",{"_index":992,"title":{},"body":{"changelog.html":{}}}],["appelement",{"_index":312,"title":{},"body":{"modules/AppModule.html":{}}}],["application",{"_index":1168,"title":{},"body":{"changelog.html":{}}}],["applied",{"_index":1215,"title":{},"body":{"changelog.html":{}}}],["appmodule",{"_index":272,"title":{"modules/AppModule.html":{}},"body":{"modules/AppModule.html":{},"modules.html":{},"overview.html":{}}}],["appname",{"_index":405,"title":{},"body":{"modules/CoreModule.html":{}}}],["appropriate",{"_index":962,"title":{},"body":{"changelog.html":{}}}],["appwebcomponent",{"_index":254,"title":{"components/AppWebComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"coverage.html":{},"overview.html":{}}}],["april",{"_index":1158,"title":{},"body":{"changelog.html":{}}}],["arial",{"_index":553,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["arising",{"_index":1648,"title":{},"body":{"license.html":{}}}],["array.isarray(val",{"_index":360,"title":{},"body":{"components/AppWebComponent.html":{}}}],["asct",{"_index":474,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["asct+b",{"_index":472,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["assignment/selection",{"_index":1134,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":1046,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["atlas",{"_index":500,"title":{},"body":{"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["attempts",{"_index":1023,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":1638,"title":{},"body":{"license.html":{}}}],["auto",{"_index":241,"title":{},"body":{"components/AppComponent.html":{}}}],["automatic",{"_index":1267,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":1216,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":1260,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["avoid",{"_index":1083,"title":{},"body":{"changelog.html":{}}}],["award",{"_index":1591,"title":{},"body":{"index.html":{}}}],["backend",{"_index":1006,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":237,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{},"index.html":{}}}],["bar",{"_index":774,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["base",{"_index":1346,"title":{},"body":{"changelog.html":{}}}],["based",{"_index":1072,"title":{},"body":{"changelog.html":{}}}],["basepath",{"_index":410,"title":{},"body":{"modules/CoreModule.html":{}}}],["basewebcomponent",{"_index":319,"title":{},"body":{"components/AppWebComponent.html":{}}}],["basic",{"_index":1095,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["before",{"_index":996,"title":{},"body":{"changelog.html":{}}}],["being",{"_index":819,"title":{},"body":{"modules/StoreModule.html":{},"changelog.html":{}}}],["beta",{"_index":983,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":1054,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":465,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["bezier(0.4",{"_index":545,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["bind",{"_index":1463,"title":{},"body":{"dependencies.html":{}}}],["biomarkers",{"_index":471,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["black",{"_index":239,"title":{},"body":{"components/AppComponent.html":{},"components/OrganComponent.html":{}}}],["block",{"_index":658,"title":{},"body":{"components/OrganComponent.html":{},"changelog.html":{}}}],["block['@id",{"_index":621,"title":{},"body":{"components/OrganComponent.html":{}}}],["blocks",{"_index":28,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"changelog.html":{}}}],["bmi",{"_index":1016,"title":{},"body":{"changelog.html":{}}}],["board",{"_index":1339,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":110,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["bodyui",{"_index":569,"title":{},"body":{"components/OrganComponent.html":{}}}],["bodyui.bounds",{"_index":650,"title":{},"body":{"components/OrganComponent.html":{}}}],["bodyui.rotation",{"_index":648,"title":{},"body":{"components/OrganComponent.html":{}}}],["bodyui.rotationx",{"_index":649,"title":{},"body":{"components/OrganComponent.html":{}}}],["bodyui.target",{"_index":653,"title":{},"body":{"components/OrganComponent.html":{}}}],["bodyuicomponent",{"_index":609,"title":{},"body":{"components/OrganComponent.html":{}}}],["bodyuimodule",{"_index":714,"title":{},"body":{"modules/OrganModule.html":{}}}],["boolean",{"_index":346,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"components/SlideToggleComponent.html":{}}}],["border",{"_index":507,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{}}}],["both",{"_index":134,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"changelog.html":{}}}],["bottom",{"_index":512,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{}}}],["box",{"_index":1082,"title":{},"body":{"changelog.html":{}}}],["breaking",{"_index":1111,"title":{},"body":{"changelog.html":{}}}],["bringing",{"_index":1128,"title":{},"body":{"changelog.html":{}}}],["browse",{"_index":1652,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":298,"title":{},"body":{"modules/AppModule.html":{},"changelog.html":{},"dependencies.html":{},"modules.html":{}}}],["browserify",{"_index":1527,"title":{},"body":{"dependencies.html":{}}}],["browsermodule",{"_index":296,"title":{},"body":{"modules/AppModule.html":{}}}],["browsing",{"_index":1398,"title":{},"body":{"changelog.html":{}}}],["btn",{"_index":526,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["bug",{"_index":929,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":1549,"title":{},"body":{"index.html":{}}}],["builds",{"_index":979,"title":{},"body":{"changelog.html":{}}}],["builtin_parsers",{"_index":349,"title":{},"body":{"components/AppWebComponent.html":{}}}],["builtin_parsers.boolean",{"_index":382,"title":{},"body":{"components/AppWebComponent.html":{}}}],["builtin_parsers.json(value",{"_index":363,"title":{},"body":{"components/AppWebComponent.html":{}}}],["button",{"_index":521,"title":{},"body":{"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["button.buttontitle",{"_index":503,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["buttontitle",{"_index":442,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["buttonurl",{"_index":443,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["c",{"_index":1596,"title":{},"body":{"license.html":{}}}],["cache",{"_index":839,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["cacheable",{"_index":1531,"title":{},"body":{"dependencies.html":{}}}],["callback",{"_index":1069,"title":{},"body":{"changelog.html":{}}}],["called",{"_index":1116,"title":{},"body":{"changelog.html":{}}}],["calls",{"_index":874,"title":{},"body":{"changelog.html":{}}}],["cancelregistration",{"_index":1068,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":1317,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":1467,"title":{},"body":{"dependencies.html":{}}}],["card",{"_index":506,"title":{},"body":{"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["card.body",{"_index":497,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["card.buttontitle",{"_index":498,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["cards",{"_index":444,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["cards'},{'name",{"_index":258,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["cards.component",{"_index":562,"title":{},"body":{"modules/LinkCardsModule.html":{}}}],["cards.component.html",{"_index":445,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["cards.component.scss",{"_index":446,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["cards.component.ts",{"_index":441,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"coverage.html":{}}}],["cards.component.ts:16",{"_index":496,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["cards.component.ts:34",{"_index":495,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["cards.component.ts:52",{"_index":493,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["cards.module",{"_index":307,"title":{},"body":{"modules/AppModule.html":{}}}],["cards.module.ts",{"_index":559,"title":{},"body":{"modules/LinkCardsModule.html":{}}}],["cards/link",{"_index":306,"title":{},"body":{"modules/AppModule.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"coverage.html":{}}}],["carousel",{"_index":1102,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":1575,"title":{},"body":{"index.html":{}}}],["cased",{"_index":202,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["cases",{"_index":1290,"title":{},"body":{"changelog.html":{}}}],["ccf",{"_index":19,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"modules/StoreModule.html":{},"changelog.html":{},"index.html":{}}}],["ccf's",{"_index":1237,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":849,"title":{},"body":{"changelog.html":{}}}],["ccfapiconfiguration",{"_index":390,"title":{},"body":{"modules/CoreModule.html":{}}}],["ccfapimodule",{"_index":391,"title":{},"body":{"modules/CoreModule.html":{}}}],["ccfapimodule.forroot",{"_index":409,"title":{},"body":{"modules/CoreModule.html":{}}}],["ccfdatabasedatasourceservice",{"_index":427,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["cdr",{"_index":331,"title":{},"body":{"components/AppWebComponent.html":{}}}],["cell",{"_index":468,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["center",{"_index":515,"title":{},"body":{"components/LinkCardsComponent.html":{},"index.html":{}}}],["change",{"_index":1114,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["changed",{"_index":868,"title":{},"body":{"changelog.html":{}}}],["changedetection",{"_index":16,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["changedetectionstrategy",{"_index":106,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["changedetectionstrategy.onpush",{"_index":17,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["changedetectorref",{"_index":332,"title":{},"body":{"components/AppWebComponent.html":{}}}],["changelog",{"_index":833,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changes",{"_index":598,"title":{},"body":{"components/OrganComponent.html":{},"changelog.html":{}}}],["charge",{"_index":1602,"title":{},"body":{"license.html":{}}}],["choose",{"_index":1261,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":1235,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":1641,"title":{},"body":{"license.html":{}}}],["class",{"_index":145,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{}}}],["clean",{"_index":927,"title":{},"body":{"changelog.html":{}}}],["cleaner",{"_index":203,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["cleanup",{"_index":982,"title":{},"body":{"changelog.html":{}}}],["click",{"_index":1029,"title":{},"body":{"changelog.html":{}}}],["clicking",{"_index":1107,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":393,"title":{},"body":{"modules/CoreModule.html":{},"changelog.html":{},"index.html":{}}}],["clsname",{"_index":722,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["cluster_appmodule",{"_index":275,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_declarations",{"_index":276,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_imports",{"_index":277,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_coremodule",{"_index":383,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_coremodule_imports",{"_index":384,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_linkcardsmodule",{"_index":556,"title":{},"body":{"modules/LinkCardsModule.html":{},"overview.html":{}}}],["cluster_linkcardsmodule_declarations",{"_index":557,"title":{},"body":{"modules/LinkCardsModule.html":{},"overview.html":{}}}],["cluster_linkcardsmodule_exports",{"_index":558,"title":{},"body":{"modules/LinkCardsModule.html":{},"overview.html":{}}}],["cluster_organmodule",{"_index":707,"title":{},"body":{"modules/OrganModule.html":{},"overview.html":{}}}],["cluster_organmodule_declarations",{"_index":710,"title":{},"body":{"modules/OrganModule.html":{},"overview.html":{}}}],["cluster_organmodule_exports",{"_index":709,"title":{},"body":{"modules/OrganModule.html":{},"overview.html":{}}}],["cluster_organmodule_imports",{"_index":708,"title":{},"body":{"modules/OrganModule.html":{},"overview.html":{}}}],["cluster_slidetogglemodule",{"_index":781,"title":{},"body":{"modules/SlideToggleModule.html":{},"overview.html":{}}}],["cluster_slidetogglemodule_declarations",{"_index":782,"title":{},"body":{"modules/SlideToggleModule.html":{},"overview.html":{}}}],["cluster_slidetogglemodule_exports",{"_index":783,"title":{},"body":{"modules/SlideToggleModule.html":{},"overview.html":{}}}],["cluster_statslistmodule",{"_index":799,"title":{},"body":{"modules/StatsListModule.html":{},"overview.html":{}}}],["cluster_statslistmodule_declarations",{"_index":801,"title":{},"body":{"modules/StatsListModule.html":{},"overview.html":{}}}],["cluster_statslistmodule_exports",{"_index":800,"title":{},"body":{"modules/StatsListModule.html":{},"overview.html":{}}}],["code",{"_index":975,"title":{},"body":{"changelog.html":{}}}],["codebase",{"_index":1247,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":1302,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":1355,"title":{},"body":{"changelog.html":{}}}],["collaboration",{"_index":1245,"title":{},"body":{"changelog.html":{}}}],["collisions",{"_index":1269,"title":{},"body":{"changelog.html":{}}}],["color",{"_index":140,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["colorizing",{"_index":1310,"title":{},"body":{"changelog.html":{}}}],["combination",{"_index":1262,"title":{},"body":{"changelog.html":{}}}],["come",{"_index":1307,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":1299,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":1470,"title":{},"body":{"dependencies.html":{}}}],["common",{"_index":470,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["commonmodule",{"_index":560,"title":{},"body":{"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{}}}],["compatibility",{"_index":826,"title":{},"body":{"modules/StoreModule.html":{}}}],["complexity",{"_index":1141,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":973,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":0,"title":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["component.component",{"_index":301,"title":{},"body":{"modules/AppModule.html":{}}}],["component.component.ts",{"_index":317,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["component.component.ts:50",{"_index":342,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:51",{"_index":344,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:52",{"_index":345,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:53",{"_index":335,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:54",{"_index":336,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:56",{"_index":338,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:57",{"_index":339,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:58",{"_index":337,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:59",{"_index":341,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:60",{"_index":340,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:62",{"_index":347,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:63",{"_index":343,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:65",{"_index":333,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component_template",{"_index":252,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["components",{"_index":2,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{},"overview.html":{}}}],["comunica/query",{"_index":1433,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":1472,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":1624,"title":{},"body":{"license.html":{}}}],["config",{"_index":150,"title":{},"body":{"components/AppComponent.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{}}}],["config.organiri",{"_index":153,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["config.remoteapiendpoint",{"_index":435,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["config.sex",{"_index":156,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["config.side?.tolowercase",{"_index":154,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["config.useremoteapi",{"_index":434,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["configstate",{"_index":52,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["configstate.config$.pipe",{"_index":147,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["configstore",{"_index":334,"title":{},"body":{"components/AppWebComponent.html":{}}}],["configuration",{"_index":843,"title":{},"body":{"changelog.html":{}}}],["configurations",{"_index":1065,"title":{},"body":{"changelog.html":{}}}],["confirmation",{"_index":1021,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":1076,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":1004,"title":{},"body":{"changelog.html":{}}}],["connection",{"_index":1649,"title":{},"body":{"license.html":{}}}],["consider",{"_index":824,"title":{},"body":{"modules/StoreModule.html":{}}}],["consortium",{"_index":1597,"title":{},"body":{"license.html":{}}}],["const",{"_index":138,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"modules/StoreModule.html":{}}}],["constructor",{"_index":47,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{}}}],["constructor(@optional",{"_index":415,"title":{},"body":{"modules/CoreModule.html":{}}}],["constructor(configstore",{"_index":330,"title":{},"body":{"components/AppWebComponent.html":{}}}],["constructor(ga",{"_index":582,"title":{},"body":{"components/OrganComponent.html":{}}}],["constructor(lookup",{"_index":48,"title":{},"body":{"components/AppComponent.html":{}}}],["constructor(private",{"_index":311,"title":{},"body":{"modules/AppModule.html":{},"injectables/OrganLookupService.html":{}}}],["constructor(readonly",{"_index":614,"title":{},"body":{"components/OrganComponent.html":{}}}],["constructor(source",{"_index":673,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["container",{"_index":217,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["containers",{"_index":1056,"title":{},"body":{"changelog.html":{}}}],["containing",{"_index":1547,"title":{},"body":{"index.html":{}}}],["content",{"_index":220,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{}}}],["contract",{"_index":1645,"title":{},"body":{"license.html":{}}}],["control",{"_index":1202,"title":{},"body":{"changelog.html":{}}}],["coordinate",{"_index":1541,"title":{},"body":{"index.html":{}}}],["copies",{"_index":1618,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1605,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":1595,"title":{},"body":{"license.html":{}}}],["cord",{"_index":917,"title":{},"body":{"changelog.html":{}}}],["core",{"_index":416,"title":{},"body":{"modules/CoreModule.html":{}}}],["core/core.module",{"_index":303,"title":{},"body":{"modules/AppModule.html":{}}}],["core/services/organ",{"_index":128,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["coremodule",{"_index":278,"title":{"modules/CoreModule.html":{}},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules.html":{},"overview.html":{}}}],["cors",{"_index":1474,"title":{},"body":{"dependencies.html":{}}}],["course",{"_index":479,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["coverage",{"_index":1335,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["createcustomelement",{"_index":294,"title":{},"body":{"modules/AppModule.html":{}}}],["createcustomelement(appwebcomponent",{"_index":313,"title":{},"body":{"modules/AppModule.html":{}}}],["created",{"_index":1211,"title":{},"body":{"changelog.html":{}}}],["credits",{"_index":1582,"title":{},"body":{"index.html":{}}}],["css",{"_index":1476,"title":{},"body":{"dependencies.html":{}}}],["cubic",{"_index":544,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["cuboid",{"_index":1334,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":1331,"title":{},"body":{"changelog.html":{}}}],["current",{"_index":748,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["currently",{"_index":740,"title":{},"body":{"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["cursor",{"_index":534,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/SlideToggleComponent.html":{}}}],["customelements.define('ccf",{"_index":315,"title":{},"body":{"modules/AppModule.html":{}}}],["cyberinfrastructure",{"_index":1584,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":1152,"title":{},"body":{"changelog.html":{}}}],["damages",{"_index":1642,"title":{},"body":{"license.html":{}}}],["dark/light",{"_index":1071,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":369,"title":{},"body":{"components/AppWebComponent.html":{},"modules/StoreModule.html":{},"changelog.html":{}}}],["database",{"_index":115,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["datasets",{"_index":1162,"title":{},"body":{"changelog.html":{}}}],["datasourcelike",{"_index":428,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["datasources",{"_index":322,"title":{},"body":{"components/AppWebComponent.html":{}}}],["datasourceservice",{"_index":394,"title":{},"body":{"modules/CoreModule.html":{},"injectables/OrganLookupService.html":{}}}],["datatype",{"_index":739,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["deal",{"_index":1607,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1650,"title":{},"body":{"license.html":{}}}],["december",{"_index":1254,"title":{},"body":{"changelog.html":{}}}],["deck.gl/core",{"_index":1435,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":1437,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":1440,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":1441,"title":{},"body":{"dependencies.html":{}}}],["declarations",{"_index":286,"title":{},"body":{"modules/AppModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{}}}],["decorator",{"_index":1454,"title":{},"body":{"dependencies.html":{}}}],["decorators",{"_index":86,"title":{},"body":{"components/AppComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{}}}],["deep",{"_index":501,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/SlideToggleComponent.html":{}}}],["deepdives",{"_index":475,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["deeply",{"_index":1008,"title":{},"body":{"changelog.html":{}}}],["default",{"_index":77,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["defined",{"_index":54,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"injectables/DelegateDataSourceService.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["delegatedatasourceoptions",{"_index":420,"title":{"interfaces/DelegateDataSourceOptions.html":{}},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"coverage.html":{}}}],["delegatedatasourceservice",{"_index":397,"title":{"injectables/DelegateDataSourceService.html":{}},"body":{"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"coverage.html":{}}}],["demo",{"_index":1031,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":274,"title":{"dependencies.html":{}},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"changelog.html":{},"dependencies.html":{},"overview.html":{}}}],["depending",{"_index":1118,"title":{},"body":{"changelog.html":{}}}],["descrepancies",{"_index":905,"title":{},"body":{"changelog.html":{}}}],["description",{"_index":747,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["details",{"_index":1377,"title":{},"body":{"changelog.html":{}}}],["determines",{"_index":755,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["developed",{"_index":1583,"title":{},"body":{"index.html":{}}}],["developmentmode",{"_index":407,"title":{},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{}}}],["developments",{"_index":1360,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":1022,"title":{},"body":{"changelog.html":{}}}],["different",{"_index":1055,"title":{},"body":{"changelog.html":{}}}],["digits",{"_index":1229,"title":{},"body":{"changelog.html":{}}}],["direct",{"_index":1386,"title":{},"body":{"changelog.html":{}}}],["direction",{"_index":222,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{}}}],["directive",{"_index":250,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["directives",{"_index":266,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["directly",{"_index":1300,"title":{},"body":{"changelog.html":{}}}],["disabled",{"_index":724,"title":{},"body":{"components/SlideToggleComponent.html":{},"modules/StoreModule.html":{}}}],["display",{"_index":204,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["displayed",{"_index":1332,"title":{},"body":{"changelog.html":{}}}],["displaying",{"_index":1045,"title":{},"body":{"changelog.html":{}}}],["distribute",{"_index":1614,"title":{},"body":{"license.html":{}}}],["dive",{"_index":502,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["dobootstrap",{"_index":291,"title":{},"body":{"modules/AppModule.html":{}}}],["doc",{"_index":1344,"title":{},"body":{"changelog.html":{}}}],["docs",{"_index":925,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":1478,"title":{},"body":{"dependencies.html":{}}}],["documentation",{"_index":976,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["dom",{"_index":7,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["done",{"_index":1112,"title":{},"body":{"changelog.html":{}}}],["donor",{"_index":1098,"title":{},"body":{"changelog.html":{}}}],["donors",{"_index":1165,"title":{},"body":{"changelog.html":{}}}],["dotenv",{"_index":1480,"title":{},"body":{"dependencies.html":{}}}],["download",{"_index":1371,"title":{},"body":{"changelog.html":{}}}],["during",{"_index":1151,"title":{},"body":{"changelog.html":{}}}],["dynamic",{"_index":1429,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":898,"title":{},"body":{"changelog.html":{}}}],["e0e0e0",{"_index":511,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["easier",{"_index":954,"title":{},"body":{"changelog.html":{}}}],["east",{"_index":1565,"title":{},"body":{"index.html":{}}}],["effect",{"_index":1282,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":1191,"title":{},"body":{"changelog.html":{}}}],["element",{"_index":249,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["elementref",{"_index":85,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["embedded",{"_index":1062,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":1052,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":1050,"title":{},"body":{"changelog.html":{}}}],["emits",{"_index":738,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["empty_scene",{"_index":139,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["entire",{"_index":814,"title":{},"body":{"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["entities.find(entity",{"_index":698,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["entity.representation_of",{"_index":699,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["entity.sex",{"_index":701,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["entrycomponents",{"_index":287,"title":{},"body":{"modules/AppModule.html":{}}}],["environment",{"_index":352,"title":{},"body":{"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"modules/StoreModule.html":{}}}],["environment.dboptions",{"_index":377,"title":{},"body":{"components/AppWebComponent.html":{}}}],["environment.dboptions.remoteapiendpoint",{"_index":411,"title":{},"body":{"modules/CoreModule.html":{}}}],["environment.googleanalyticstoken",{"_index":404,"title":{},"body":{"modules/CoreModule.html":{}}}],["environment.production",{"_index":408,"title":{},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{}}}],["environments/environment",{"_index":353,"title":{},"body":{"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"modules/StoreModule.html":{}}}],["error('invalid",{"_index":368,"title":{},"body":{"components/AppWebComponent.html":{}}}],["error('the",{"_index":417,"title":{},"body":{"modules/CoreModule.html":{}}}],["es",{"_index":1468,"title":{},"body":{"dependencies.html":{}}}],["etc",{"_index":1080,"title":{},"body":{"changelog.html":{}}}],["eui",{"_index":461,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":969,"title":{},"body":{"changelog.html":{}}}],["event",{"_index":212,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"license.html":{}}}],["event.node['@id",{"_index":656,"title":{},"body":{"components/OrganComponent.html":{}}}],["eventemitter",{"_index":591,"title":{},"body":{"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{}}}],["executionstrategy",{"_index":827,"title":{},"body":{"modules/StoreModule.html":{}}}],["expanded",{"_index":896,"title":{},"body":{"changelog.html":{}}}],["exploration",{"_index":460,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"index.html":{}}}],["explore",{"_index":458,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["export",{"_index":144,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{}}}],["exports",{"_index":414,"title":{},"body":{"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{}}}],["express",{"_index":1482,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["extends",{"_index":318,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["external",{"_index":1067,"title":{},"body":{"changelog.html":{}}}],["extra",{"_index":1487,"title":{},"body":{"dependencies.html":{}}}],["extraction",{"_index":1027,"title":{},"body":{"changelog.html":{}}}],["fail",{"_index":1250,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":1287,"title":{},"body":{"changelog.html":{}}}],["false",{"_index":729,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["false=right",{"_index":751,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["family",{"_index":227,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{}}}],["favor",{"_index":1240,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":893,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":1153,"title":{},"body":{"changelog.html":{}}}],["features/organ/organ.module",{"_index":304,"title":{},"body":{"modules/AppModule.html":{}}}],["feel",{"_index":1189,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":136,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{}}}],["fetch",{"_index":1514,"title":{},"body":{"dependencies.html":{}}}],["ffffff",{"_index":522,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["field",{"_index":1077,"title":{},"body":{"changelog.html":{}}}],["file",{"_index":9,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{}}}],["files",{"_index":1606,"title":{},"body":{"license.html":{}}}],["filter",{"_index":29,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"changelog.html":{}}}],["filter['sex",{"_index":687,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["filteredblocks",{"_index":570,"title":{},"body":{"components/OrganComponent.html":{}}}],["filters",{"_index":909,"title":{},"body":{"changelog.html":{}}}],["final",{"_index":1243,"title":{},"body":{"changelog.html":{}}}],["finishing",{"_index":1026,"title":{},"body":{"changelog.html":{}}}],["first",{"_index":1255,"title":{},"body":{"changelog.html":{}}}],["fit",{"_index":219,"title":{},"body":{"components/AppComponent.html":{},"changelog.html":{}}}],["fitness",{"_index":1634,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":1143,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":844,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":1311,"title":{},"body":{"changelog.html":{}}}],["flex",{"_index":221,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{}}}],["flexible",{"_index":920,"title":{},"body":{"changelog.html":{}}}],["fly",{"_index":1393,"title":{},"body":{"changelog.html":{}}}],["following",{"_index":1623,"title":{},"body":{"license.html":{}}}],["font",{"_index":226,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{}}}],["form",{"_index":1192,"title":{},"body":{"changelog.html":{}}}],["format",{"_index":1272,"title":{},"body":{"changelog.html":{}}}],["frame",{"_index":1166,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":1542,"title":{},"body":{"index.html":{}}}],["free",{"_index":1601,"title":{},"body":{"license.html":{}}}],["fs",{"_index":1486,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":1105,"title":{},"body":{"changelog.html":{}}}],["fullscreen",{"_index":1340,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":1154,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":354,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{}}}],["functions",{"_index":1539,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["funded",{"_index":1589,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":1621,"title":{},"body":{"license.html":{}}}],["further",{"_index":1336,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":1144,"title":{},"body":{"changelog.html":{}}}],["ga",{"_index":50,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{}}}],["gatoken",{"_index":403,"title":{},"body":{"modules/CoreModule.html":{}}}],["generate",{"_index":947,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":974,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":899,"title":{},"body":{"changelog.html":{}}}],["genericglobalconfig",{"_index":350,"title":{},"body":{"components/AppWebComponent.html":{}}}],["getblocks",{"_index":668,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getblocks(info",{"_index":675,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getleft",{"_index":753,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["getorgan",{"_index":669,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getorgan(info",{"_index":677,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getorganinfo",{"_index":670,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getorganinfo(iri",{"_index":679,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getorganscene",{"_index":671,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getorganscene(info",{"_index":682,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getorganstats",{"_index":672,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getorganstats(info",{"_index":684,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["getting",{"_index":831,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["github",{"_index":1231,"title":{},"body":{"changelog.html":{}}}],["gizmo",{"_index":1086,"title":{},"body":{"changelog.html":{}}}],["globalconfig",{"_index":132,"title":{"interfaces/GlobalConfig.html":{}},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{},"coverage.html":{}}}],["globalconfigstate",{"_index":53,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["globalthis['dboptions",{"_index":378,"title":{},"body":{"components/AppWebComponent.html":{}}}],["good",{"_index":1284,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":118,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["googleanalyticsservice",{"_index":51,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{}}}],["gotourl",{"_index":492,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["gotourl(url",{"_index":489,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["granted",{"_index":1600,"title":{},"body":{"license.html":{}}}],["graph",{"_index":1653,"title":{},"body":{"modules.html":{}}}],["graphical",{"_index":939,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":1489,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":1041,"title":{},"body":{"changelog.html":{}}}],["grow",{"_index":242,"title":{},"body":{"components/AppComponent.html":{},"components/StatsListComponent.html":{}}}],["gtex",{"_index":948,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":1275,"title":{},"body":{"changelog.html":{}}}],["hand",{"_index":1280,"title":{},"body":{"changelog.html":{}}}],["happen",{"_index":1318,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":1251,"title":{},"body":{"changelog.html":{}}}],["happy",{"_index":818,"title":{},"body":{"modules/StoreModule.html":{}}}],["hash",{"_index":1517,"title":{},"body":{"dependencies.html":{}}}],["header",{"_index":796,"title":{},"body":{"components/StatsListComponent.html":{}}}],["height",{"_index":218,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/StatsListComponent.html":{}}}],["helmet",{"_index":1494,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":1274,"title":{},"body":{"changelog.html":{}}}],["helvetica",{"_index":552,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["here",{"_index":1278,"title":{},"body":{"changelog.html":{}}}],["hereby",{"_index":1599,"title":{},"body":{"license.html":{}}}],["hex",{"_index":1496,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":1361,"title":{},"body":{"changelog.html":{}}}],["highlight",{"_index":1012,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":770,"title":{},"body":{"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["highlightednodeid",{"_index":571,"title":{},"body":{"components/OrganComponent.html":{}}}],["highlightproviders",{"_index":137,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["highlights",{"_index":1014,"title":{},"body":{"changelog.html":{}}}],["holders",{"_index":1639,"title":{},"body":{"license.html":{}}}],["hooked",{"_index":1200,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":657,"title":{},"body":{"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["hostbinding",{"_index":756,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["hostbinding('class",{"_index":752,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["hostbindings",{"_index":727,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["hover",{"_index":523,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["hovering",{"_index":1099,"title":{},"body":{"changelog.html":{}}}],["hra",{"_index":451,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["html",{"_index":248,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["httpclientmodule",{"_index":387,"title":{},"body":{"modules/CoreModule.html":{}}}],["https://beta",{"_index":1553,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":1562,"title":{},"body":{"index.html":{}}}],["https://expand.iu.edu/browse/sice/cns/courses/hubmap",{"_index":480,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["https://hubmap",{"_index":1556,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":456,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"index.html":{}}}],["https://humanatlas.io",{"_index":477,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"index.html":{}}}],["https://observablehq.com/@cns",{"_index":1578,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":1558,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":462,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"index.html":{}}}],["https://r5i95k35v5.us",{"_index":1564,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":1388,"title":{},"body":{"changelog.html":{}}}],["https://www.nature.com/articles/s41556",{"_index":485,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["https://www.ngxs.io/advanced/options",{"_index":828,"title":{},"body":{"modules/StoreModule.html":{}}}],["hubmap",{"_index":885,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["hubmapasseturl",{"_index":323,"title":{},"body":{"components/AppWebComponent.html":{}}}],["hubmapdataservice",{"_index":324,"title":{},"body":{"components/AppWebComponent.html":{}}}],["hubmapdataurl",{"_index":325,"title":{},"body":{"components/AppWebComponent.html":{}}}],["hubmapportalurl",{"_index":326,"title":{},"body":{"components/AppWebComponent.html":{}}}],["hubmaptoken",{"_index":327,"title":{},"body":{"components/AppWebComponent.html":{}}}],["human",{"_index":482,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["icon",{"_index":1372,"title":{},"body":{"changelog.html":{}}}],["icons",{"_index":1106,"title":{},"body":{"changelog.html":{}}}],["id",{"_index":1059,"title":{},"body":{"changelog.html":{}}}],["idb",{"_index":1499,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":1404,"title":{},"body":{"coverage.html":{}}}],["iec",{"_index":1246,"title":{},"body":{"changelog.html":{}}}],["image",{"_index":1239,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":1298,"title":{},"body":{"changelog.html":{}}}],["immutable",{"_index":83,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["implementation",{"_index":1001,"title":{},"body":{"changelog.html":{}}}],["implemented",{"_index":1198,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":1343,"title":{},"body":{"changelog.html":{}}}],["implements",{"_index":13,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{}}}],["implied",{"_index":1631,"title":{},"body":{"license.html":{}}}],["import",{"_index":103,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{}}}],["important",{"_index":531,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/SlideToggleComponent.html":{}}}],["imported",{"_index":418,"title":{},"body":{"modules/CoreModule.html":{}}}],["imports",{"_index":288,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{}}}],["improve",{"_index":1190,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":966,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":934,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":1042,"title":{},"body":{"changelog.html":{}}}],["include",{"_index":1257,"title":{},"body":{"changelog.html":{}}}],["included",{"_index":1626,"title":{},"body":{"license.html":{}}}],["includes",{"_index":895,"title":{},"body":{"changelog.html":{}}}],["including",{"_index":1010,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":1224,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":1338,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":25,"title":{"index.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["indexes",{"_index":851,"title":{},"body":{"changelog.html":{}}}],["indiana",{"_index":1587,"title":{},"body":{"index.html":{}}}],["individual",{"_index":1204,"title":{},"body":{"changelog.html":{}}}],["info",{"_index":3,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"changelog.html":{},"index.html":{}}}],["info.disabled",{"_index":690,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["info.hassex",{"_index":165,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["info.id",{"_index":700,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["info.organ",{"_index":208,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["info.side",{"_index":205,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["info.side.charat(0).touppercase",{"_index":206,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["info.side.slice(1",{"_index":207,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["info/src/app/app",{"_index":316,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["info/src/app/app.component.ts",{"_index":12,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["info/src/app/app.component.ts:112",{"_index":70,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:118",{"_index":73,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:122",{"_index":68,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:132",{"_index":63,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:32",{"_index":91,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:33",{"_index":95,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:35",{"_index":98,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:36",{"_index":100,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:37",{"_index":82,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:39",{"_index":93,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:40",{"_index":92,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:41",{"_index":96,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:42",{"_index":101,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:43",{"_index":102,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:44",{"_index":76,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:46",{"_index":84,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.component.ts:47",{"_index":55,"title":{},"body":{"components/AppComponent.html":{}}}],["info/src/app/app.module.ts",{"_index":285,"title":{},"body":{"modules/AppModule.html":{}}}],["info/src/app/app.module.ts:30",{"_index":290,"title":{},"body":{"modules/AppModule.html":{}}}],["info/src/app/core/core.module.ts",{"_index":386,"title":{},"body":{"modules/CoreModule.html":{}}}],["info/src/app/core/services/data",{"_index":422,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"coverage.html":{}}}],["info/src/app/core/services/organ",{"_index":665,"title":{},"body":{"injectables/OrganLookupService.html":{},"coverage.html":{}}}],["info/src/app/core/store/store.module.ts",{"_index":804,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["info/src/app/features/organ/organ.component.ts",{"_index":564,"title":{},"body":{"components/OrganComponent.html":{},"coverage.html":{}}}],["info/src/app/features/organ/organ.component.ts:15",{"_index":586,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:16",{"_index":588,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:17",{"_index":587,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:18",{"_index":589,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:19",{"_index":590,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:20",{"_index":584,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:21",{"_index":585,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:23",{"_index":592,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:24",{"_index":593,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:26",{"_index":611,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:28",{"_index":612,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:29",{"_index":583,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:33",{"_index":594,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:37",{"_index":602,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:50",{"_index":597,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:56",{"_index":604,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:61",{"_index":607,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:66",{"_index":608,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.component.ts:76",{"_index":601,"title":{},"body":{"components/OrganComponent.html":{}}}],["info/src/app/features/organ/organ.module.ts",{"_index":712,"title":{},"body":{"modules/OrganModule.html":{}}}],["info/src/app/features/slide",{"_index":717,"title":{},"body":{"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"coverage.html":{}}}],["info/src/app/modules/link",{"_index":440,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"coverage.html":{}}}],["info/src/app/modules/stats",{"_index":788,"title":{},"body":{"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"coverage.html":{}}}],["info?.side",{"_index":693,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["information",{"_index":926,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":1301,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":1259,"title":{},"body":{"changelog.html":{}}}],["initial",{"_index":1125,"title":{},"body":{"changelog.html":{}}}],["initialconfig",{"_index":376,"title":{},"body":{"components/AppWebComponent.html":{}}}],["initialdelay",{"_index":374,"title":{},"body":{"components/AppWebComponent.html":{}}}],["initialized",{"_index":321,"title":{},"body":{"components/AppWebComponent.html":{}}}],["injectable",{"_index":424,"title":{"injectables/DelegateDataSourceService.html":{},"injectables/OrganLookupService.html":{}},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/OrganLookupService.html":{},"coverage.html":{}}}],["injectables",{"_index":436,"title":{},"body":{"injectables/DelegateDataSourceService.html":{},"injectables/OrganLookupService.html":{},"overview.html":{}}}],["injector",{"_index":292,"title":{},"body":{"modules/AppModule.html":{}}}],["injectordelegatedatasourceservice",{"_index":429,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["input",{"_index":348,"title":{},"body":{"components/AppWebComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["inputs",{"_index":215,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["instead",{"_index":1117,"title":{},"body":{"changelog.html":{}}}],["instructions",{"_index":1051,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":1155,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":1007,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":1258,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":1173,"title":{},"body":{"changelog.html":{}}}],["inter",{"_index":228,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{}}}],["interact",{"_index":1138,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":1321,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":1385,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":131,"title":{"interfaces/DelegateDataSourceOptions.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{}},"body":{"components/AppComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":421,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":1238,"title":{},"body":{"changelog.html":{}}}],["iri",{"_index":198,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["isstring",{"_index":356,"title":{},"body":{"components/AppWebComponent.html":{}}}],["isstringarray",{"_index":359,"title":{},"body":{"components/AppWebComponent.html":{}}}],["isstringarray(json",{"_index":364,"title":{},"body":{"components/AppWebComponent.html":{}}}],["isstringarray(value",{"_index":365,"title":{},"body":{"components/AppWebComponent.html":{}}}],["issue",{"_index":1220,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":902,"title":{},"body":{"changelog.html":{}}}],["it's",{"_index":1005,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":1369,"title":{},"body":{"changelog.html":{}}}],["item.disabled",{"_index":691,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["item.id",{"_index":689,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["item.organ",{"_index":692,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["item.side",{"_index":694,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["items",{"_index":514,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["iu",{"_index":1358,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":1579,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":860,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["json",{"_index":362,"title":{},"body":{"components/AppWebComponent.html":{},"changelog.html":{}}}],["jsonld",{"_index":1502,"title":{},"body":{"dependencies.html":{}}}],["july",{"_index":1320,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":1367,"title":{},"body":{"changelog.html":{}}}],["justify",{"_index":517,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["key",{"_index":74,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["keyboard",{"_index":1365,"title":{},"body":{"changelog.html":{}}}],["keyval",{"_index":1500,"title":{},"body":{"dependencies.html":{}}}],["kidney",{"_index":1038,"title":{},"body":{"changelog.html":{}}}],["kind",{"_index":1630,"title":{},"body":{"license.html":{}}}],["known",{"_index":901,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":882,"title":{},"body":{"changelog.html":{}}}],["label",{"_index":767,"title":{},"body":{"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["labels",{"_index":725,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["labels[0].charat(0).touppercase",{"_index":763,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["labels[0].slice(1",{"_index":764,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["labels[0].slice(1)}}{{labels[1].charat(0).touppercase",{"_index":780,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["labels[1",{"_index":757,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["labels[1].charat(0).touppercase",{"_index":765,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["labels[1].slice(1",{"_index":766,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["labs/data",{"_index":807,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["labs/dispatch",{"_index":1453,"title":{},"body":{"dependencies.html":{}}}],["landmarks",{"_index":918,"title":{},"body":{"changelog.html":{}}}],["larger",{"_index":955,"title":{},"body":{"changelog.html":{}}}],["last",{"_index":513,"title":{},"body":{"components/LinkCardsComponent.html":{},"modules/StoreModule.html":{}}}],["latest",{"_index":912,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["latestconfig",{"_index":31,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["latestorganinfo",{"_index":33,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["layers",{"_index":1438,"title":{},"body":{"dependencies.html":{}}}],["ld",{"_index":1271,"title":{},"body":{"changelog.html":{}}}],["leak",{"_index":1219,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":1024,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":34,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["left.nativeelement.style.height",{"_index":193,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["left/right",{"_index":1039,"title":{},"body":{"changelog.html":{}}}],["legend",{"_index":247,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["level",{"_index":1363,"title":{},"body":{"changelog.html":{}}}],["levels",{"_index":1382,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":1643,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1640,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":959,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":1182,"title":{},"body":{"changelog.html":{}}}],["license",{"_index":1593,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":1018,"title":{},"body":{"changelog.html":{}}}],["limitation",{"_index":1609,"title":{},"body":{"license.html":{}}}],["limited",{"_index":1306,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":231,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{}}}],["link",{"_index":257,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["linkage",{"_index":1322,"title":{},"body":{"changelog.html":{}}}],["linkages",{"_index":464,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["linkcard",{"_index":439,"title":{"interfaces/LinkCard.html":{}},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"coverage.html":{}}}],["linkcards",{"_index":447,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["linkcardscomponent",{"_index":256,"title":{"components/LinkCardsComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"coverage.html":{},"overview.html":{}}}],["linkcardsmodule",{"_index":279,"title":{"modules/LinkCardsModule.html":{}},"body":{"modules/AppModule.html":{},"modules/LinkCardsModule.html":{},"modules.html":{},"overview.html":{}}}],["linked",{"_index":922,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":987,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":265,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["list.component",{"_index":803,"title":{},"body":{"modules/StatsListModule.html":{}}}],["list.component.html",{"_index":791,"title":{},"body":{"components/StatsListComponent.html":{}}}],["list.component.scss",{"_index":790,"title":{},"body":{"components/StatsListComponent.html":{}}}],["list.component.ts",{"_index":789,"title":{},"body":{"components/StatsListComponent.html":{},"coverage.html":{}}}],["list.component.ts:11",{"_index":793,"title":{},"body":{"components/StatsListComponent.html":{}}}],["list.component.ts:12",{"_index":792,"title":{},"body":{"components/StatsListComponent.html":{}}}],["list.module",{"_index":310,"title":{},"body":{"modules/AppModule.html":{}}}],["list.module.ts",{"_index":802,"title":{},"body":{"modules/StatsListModule.html":{}}}],["list/stats",{"_index":309,"title":{},"body":{"modules/AppModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"coverage.html":{}}}],["literal",{"_index":1521,"title":{},"body":{"dependencies.html":{}}}],["little",{"_index":1136,"title":{},"body":{"changelog.html":{}}}],["load",{"_index":937,"title":{},"body":{"changelog.html":{}}}],["loaded",{"_index":1324,"title":{},"body":{"changelog.html":{}}}],["loaders.gl/core",{"_index":1442,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":1444,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":1445,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":889,"title":{},"body":{"changelog.html":{}}}],["location",{"_index":1225,"title":{},"body":{"changelog.html":{}}}],["locations",{"_index":883,"title":{},"body":{"changelog.html":{}}}],["lodash",{"_index":1504,"title":{},"body":{"dependencies.html":{}}}],["log",{"_index":1581,"title":{},"body":{"index.html":{}}}],["logger",{"_index":829,"title":{},"body":{"modules/StoreModule.html":{}}}],["logging",{"_index":950,"title":{},"body":{"changelog.html":{}}}],["logorganlookup",{"_index":43,"title":{},"body":{"components/AppComponent.html":{}}}],["logorganlookup(info",{"_index":61,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["longer",{"_index":1115,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":1188,"title":{},"body":{"changelog.html":{}}}],["lookup",{"_index":60,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["lookup.getblocks",{"_index":190,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["lookup.getorgan",{"_index":164,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["lookup.getorganinfo",{"_index":152,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["lookup.getorganscene",{"_index":179,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["lookup.getorganstats",{"_index":183,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["lookup.service",{"_index":130,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["lookup.service.ts",{"_index":666,"title":{},"body":{"injectables/OrganLookupService.html":{},"coverage.html":{}}}],["lookup.service.ts:12",{"_index":674,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["lookup.service.ts:16",{"_index":681,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["lookup.service.ts:34",{"_index":678,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["lookup.service.ts:42",{"_index":683,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["lookup.service.ts:51",{"_index":685,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["lookup.service.ts:60",{"_index":676,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["lookup/organ",{"_index":129,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{},"coverage.html":{}}}],["lru",{"_index":1506,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":1446,"title":{},"body":{"dependencies.html":{}}}],["made",{"_index":1248,"title":{},"body":{"changelog.html":{}}}],["major",{"_index":892,"title":{},"body":{"changelog.html":{}}}],["makes",{"_index":951,"title":{},"body":{"changelog.html":{}}}],["makestatslabel",{"_index":44,"title":{},"body":{"components/AppComponent.html":{}}}],["makestatslabel(info",{"_index":66,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["making",{"_index":997,"title":{},"body":{"changelog.html":{}}}],["male",{"_index":135,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{}}}],["managers",{"_index":964,"title":{},"body":{"changelog.html":{}}}],["map",{"_index":121,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["map((organ",{"_index":185,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["map(entities",{"_index":697,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["march",{"_index":1185,"title":{},"body":{"changelog.html":{}}}],["margin",{"_index":244,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["markdown",{"_index":1512,"title":{},"body":{"dependencies.html":{}}}],["mat",{"_index":773,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["match",{"_index":1187,"title":{},"body":{"changelog.html":{}}}],["matching",{"_index":269,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["math.gl/core",{"_index":1448,"title":{},"body":{"dependencies.html":{}}}],["math.gl/culling",{"_index":1450,"title":{},"body":{"dependencies.html":{}}}],["matslidetogglemodule",{"_index":785,"title":{},"body":{"modules/SlideToggleModule.html":{}}}],["max",{"_index":504,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["mc",{"_index":1357,"title":{},"body":{"changelog.html":{}}}],["memory",{"_index":1218,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":1281,"title":{},"body":{"changelog.html":{}}}],["merchantability",{"_index":1633,"title":{},"body":{"license.html":{}}}],["merge",{"_index":1612,"title":{},"body":{"license.html":{}}}],["metadata",{"_index":15,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["methods",{"_index":42,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"injectables/DelegateDataSourceService.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{}}}],["min",{"_index":529,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/StatsListComponent.html":{}}}],["minor",{"_index":903,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":1538,"title":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":1594,"title":{},"body":{"license.html":{}}}],["mock",{"_index":1353,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":1123,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":1064,"title":{},"body":{"changelog.html":{}}}],["model",{"_index":1460,"title":{},"body":{"dependencies.html":{}}}],["modify",{"_index":1611,"title":{},"body":{"license.html":{}}}],["module",{"_index":271,"title":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{}}}],["modules",{"_index":273,"title":{"modules.html":{}},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"modules.html":{},"overview.html":{}}}],["modules/link",{"_index":305,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/stats",{"_index":308,"title":{},"body":{"modules/AppModule.html":{}}}],["monorepo",{"_index":1544,"title":{},"body":{"index.html":{}}}],["mooc",{"_index":483,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["more",{"_index":841,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["moved",{"_index":1373,"title":{},"body":{"changelog.html":{}}}],["much",{"_index":953,"title":{},"body":{"changelog.html":{}}}],["multiple",{"_index":1545,"title":{},"body":{"index.html":{}}}],["n3",{"_index":1507,"title":{},"body":{"dependencies.html":{}}}],["name",{"_index":58,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DelegateDataSourceService.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"miscellaneous/functions.html":{}}}],["names",{"_index":1078,"title":{},"body":{"changelog.html":{}}}],["navigation",{"_index":1366,"title":{},"body":{"changelog.html":{}}}],["need",{"_index":873,"title":{},"body":{"changelog.html":{}}}],["needed",{"_index":1193,"title":{},"body":{"changelog.html":{}}}],["needs",{"_index":1199,"title":{},"body":{"changelog.html":{}}}],["network",{"_index":1585,"title":{},"body":{"index.html":{}}}],["new",{"_index":367,"title":{},"body":{"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["newsex",{"_index":169,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["next",{"_index":1002,"title":{},"body":{"changelog.html":{}}}],["ng",{"_index":772,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["ng5",{"_index":1509,"title":{},"body":{"dependencies.html":{}}}],["ngafterviewchecked",{"_index":572,"title":{},"body":{"components/OrganComponent.html":{}}}],["ngafterviewinit",{"_index":45,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["ngdobootstrap",{"_index":289,"title":{},"body":{"modules/AppModule.html":{}}}],["ngmodule",{"_index":293,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{}}}],["ngonchanges",{"_index":573,"title":{},"body":{"components/OrganComponent.html":{}}}],["ngonchanges(changes",{"_index":595,"title":{},"body":{"components/OrganComponent.html":{}}}],["ngx",{"_index":117,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"dependencies.html":{}}}],["ngxgoogleanalyticsmodule",{"_index":563,"title":{},"body":{"modules/LinkCardsModule.html":{}}}],["ngxs",{"_index":806,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/logger",{"_index":809,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/storage",{"_index":1457,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":812,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxsdatapluginmodule",{"_index":805,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdatapluginmodule.forroot",{"_index":822,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsloggerpluginmodule",{"_index":808,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsloggerpluginmodule.forroot",{"_index":830,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule",{"_index":811,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule.forroot(root_states",{"_index":823,"title":{},"body":{"modules/StoreModule.html":{}}}],["nih",{"_index":1590,"title":{},"body":{"index.html":{}}}],["node",{"_index":624,"title":{},"body":{"components/OrganComponent.html":{},"dependencies.html":{}}}],["node.entityid",{"_index":625,"title":{},"body":{"components/OrganComponent.html":{}}}],["node['@id",{"_index":627,"title":{},"body":{"components/OrganComponent.html":{}}}],["nodeclicked",{"_index":574,"title":{},"body":{"components/OrganComponent.html":{}}}],["nodeclicked(event",{"_index":599,"title":{},"body":{"components/OrganComponent.html":{}}}],["nodeclickevent",{"_index":600,"title":{},"body":{"components/OrganComponent.html":{}}}],["noninfringement",{"_index":1637,"title":{},"body":{"license.html":{}}}],["not(:last",{"_index":528,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["note",{"_index":866,"title":{},"body":{"changelog.html":{}}}],["notebooks",{"_index":858,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":1573,"title":{},"body":{"index.html":{}}}],["notice",{"_index":1221,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":957,"title":{},"body":{"changelog.html":{}}}],["nowrap",{"_index":533,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["number",{"_index":956,"title":{},"body":{"changelog.html":{}}}],["numeric",{"_index":1226,"title":{},"body":{"changelog.html":{}}}],["object",{"_index":1516,"title":{},"body":{"dependencies.html":{}}}],["observable",{"_index":75,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["obtaining",{"_index":1604,"title":{},"body":{"license.html":{}}}],["of(empty_scene",{"_index":180,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["of(info",{"_index":695,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["of(undefined",{"_index":167,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["off/on",{"_index":1197,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":1319,"title":{},"body":{"changelog.html":{}}}],["old",{"_index":1557,"title":{},"body":{"index.html":{}}}],["once",{"_index":419,"title":{},"body":{"modules/CoreModule.html":{}}}],["onchanges",{"_index":566,"title":{},"body":{"components/OrganComponent.html":{}}}],["one",{"_index":1265,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["online",{"_index":478,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["ontological",{"_index":1392,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":1273,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":869,"title":{},"body":{"changelog.html":{}}}],["ontologyterms",{"_index":703,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["opacities",{"_index":1203,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":142,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["openapi",{"_index":999,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/angular",{"_index":392,"title":{},"body":{"modules/CoreModule.html":{}}}],["openapi/js",{"_index":1569,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":1571,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":1570,"title":{},"body":{"index.html":{}}}],["optimization",{"_index":1135,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":1312,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":1171,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":742,"title":{},"body":{"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["optional",{"_index":32,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["options",{"_index":663,"title":{},"body":{"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["organ",{"_index":11,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["organ'},{'name",{"_index":260,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["organ.component",{"_index":713,"title":{},"body":{"modules/OrganModule.html":{}}}],["organ.component.html",{"_index":568,"title":{},"body":{"components/OrganComponent.html":{}}}],["organ.component.scss",{"_index":567,"title":{},"body":{"components/OrganComponent.html":{}}}],["organ.sex",{"_index":171,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["organ.side",{"_index":173,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["organ?.sex",{"_index":187,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["organ_lookup_failure",{"_index":214,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["organ_lookup_success",{"_index":213,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["organcomponent",{"_index":259,"title":{"components/OrganComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"coverage.html":{},"overview.html":{}}}],["organinfo",{"_index":35,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["organinfo['side",{"_index":155,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["organiri",{"_index":133,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{}}}],["organlookupservice",{"_index":49,"title":{"injectables/OrganLookupService.html":{}},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{},"coverage.html":{}}}],["organmodule",{"_index":280,"title":{"modules/OrganModule.html":{}},"body":{"modules/AppModule.html":{},"modules/OrganModule.html":{},"modules.html":{},"overview.html":{}}}],["organs",{"_index":667,"title":{},"body":{"injectables/OrganLookupService.html":{},"changelog.html":{}}}],["organs/anatomical",{"_index":1205,"title":{},"body":{"changelog.html":{}}}],["orthographic",{"_index":1091,"title":{},"body":{"changelog.html":{}}}],["ot2od026671",{"_index":1592,"title":{},"body":{"index.html":{}}}],["otherwise",{"_index":1647,"title":{},"body":{"license.html":{}}}],["out",{"_index":284,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"license.html":{},"overview.html":{}}}],["outline",{"_index":527,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["output",{"_index":613,"title":{},"body":{"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{}}}],["outputs",{"_index":579,"title":{},"body":{"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{}}}],["over",{"_index":1233,"title":{},"body":{"changelog.html":{}}}],["overall",{"_index":908,"title":{},"body":{"changelog.html":{}}}],["overlays",{"_index":1383,"title":{},"body":{"changelog.html":{}}}],["overview",{"_index":1654,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["p",{"_index":1349,"title":{},"body":{"changelog.html":{}}}],["package",{"_index":963,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["padding",{"_index":224,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{}}}],["pages",{"_index":1049,"title":{},"body":{"changelog.html":{}}}],["paired",{"_index":1034,"title":{},"body":{"changelog.html":{}}}],["pane",{"_index":1161,"title":{},"body":{"changelog.html":{}}}],["panel",{"_index":1048,"title":{},"body":{"changelog.html":{}}}],["paper",{"_index":484,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["param",{"_index":758,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["parameters",{"_index":56,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"injectables/DelegateDataSourceService.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"miscellaneous/functions.html":{}}}],["parent",{"_index":1036,"title":{},"body":{"changelog.html":{}}}],["parse",{"_index":379,"title":{},"body":{"components/AppWebComponent.html":{}}}],["parsedatasources",{"_index":380,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["parsedatasources(value",{"_index":355,"title":{},"body":{"components/AppWebComponent.html":{},"miscellaneous/functions.html":{}}}],["parser",{"_index":1465,"title":{},"body":{"dependencies.html":{}}}],["parsestringarray",{"_index":381,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["parsestringarray(value",{"_index":371,"title":{},"body":{"components/AppWebComponent.html":{},"miscellaneous/functions.html":{}}}],["partial",{"_index":702,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["particular",{"_index":1635,"title":{},"body":{"license.html":{}}}],["partly",{"_index":1184,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":1109,"title":{},"body":{"changelog.html":{}}}],["parts",{"_index":197,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["parts.filter(seg",{"_index":210,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["path",{"_index":1492,"title":{},"body":{"dependencies.html":{}}}],["performance",{"_index":967,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":1598,"title":{},"body":{"license.html":{}}}],["permit",{"_index":1619,"title":{},"body":{"license.html":{}}}],["person",{"_index":1603,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1620,"title":{},"body":{"license.html":{}}}],["pick",{"_index":888,"title":{},"body":{"changelog.html":{}}}],["pipe(map((providers",{"_index":79,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["placed",{"_index":820,"title":{},"body":{"modules/StoreModule.html":{}}}],["placeholder",{"_index":1323,"title":{},"body":{"changelog.html":{}}}],["placement",{"_index":881,"title":{},"body":{"changelog.html":{}}}],["placenta",{"_index":915,"title":{},"body":{"changelog.html":{}}}],["player",{"_index":1432,"title":{},"body":{"dependencies.html":{}}}],["plugin",{"_index":810,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["plus",{"_index":897,"title":{},"body":{"changelog.html":{}}}],["pointer",{"_index":535,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/SlideToggleComponent.html":{}}}],["popup",{"_index":1330,"title":{},"body":{"changelog.html":{}}}],["portal",{"_index":476,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["portal's",{"_index":1305,"title":{},"body":{"changelog.html":{}}}],["portions",{"_index":1628,"title":{},"body":{"license.html":{}}}],["position",{"_index":235,"title":{},"body":{"components/AppComponent.html":{},"changelog.html":{}}}],["possible",{"_index":1249,"title":{},"body":{"changelog.html":{}}}],["preferences",{"_index":1074,"title":{},"body":{"changelog.html":{}}}],["preparation",{"_index":1359,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":1381,"title":{},"body":{"changelog.html":{}}}],["prevent",{"_index":943,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":1089,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":1210,"title":{},"body":{"changelog.html":{}}}],["previously",{"_index":989,"title":{},"body":{"changelog.html":{}}}],["private",{"_index":30,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["process",{"_index":1342,"title":{},"body":{"changelog.html":{}}}],["processed",{"_index":1296,"title":{},"body":{"changelog.html":{}}}],["processing",{"_index":1075,"title":{},"body":{"changelog.html":{}}}],["production",{"_index":977,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":958,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":1347,"title":{},"body":{"changelog.html":{}}}],["projectname",{"_index":406,"title":{},"body":{"modules/CoreModule.html":{}}}],["projects",{"_index":1546,"title":{},"body":{"index.html":{}}}],["projects/.../app",{"_index":1540,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../app.component.ts",{"_index":1657,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../store.module.ts",{"_index":1658,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/ccf",{"_index":10,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["properties",{"_index":26,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["protected",{"_index":431,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["provide",{"_index":412,"title":{},"body":{"modules/CoreModule.html":{}}}],["provided",{"_index":1396,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["providedin",{"_index":430,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"injectables/OrganLookupService.html":{}}}],["providername",{"_index":616,"title":{},"body":{"components/OrganComponent.html":{}}}],["providername.has(block.donor.providername)).map(block",{"_index":620,"title":{},"body":{"components/OrganComponent.html":{}}}],["providers",{"_index":81,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"modules/CoreModule.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{}}}],["providertoken",{"_index":425,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["public",{"_index":1329,"title":{},"body":{"changelog.html":{}}}],["publish",{"_index":1613,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":961,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":1636,"title":{},"body":{"license.html":{}}}],["pushed",{"_index":1150,"title":{},"body":{"changelog.html":{}}}],["python",{"_index":859,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["qs",{"_index":1518,"title":{},"body":{"dependencies.html":{}}}],["qualitative",{"_index":1308,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":1017,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":872,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["query",{"_index":1391,"title":{},"body":{"changelog.html":{}}}],["querying",{"_index":921,"title":{},"body":{"changelog.html":{}}}],["quickly",{"_index":1289,"title":{},"body":{"changelog.html":{}}}],["radius",{"_index":539,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{}}}],["rc.1",{"_index":1314,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":1520,"title":{},"body":{"dependencies.html":{}}}],["rdfjs",{"_index":1434,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":1459,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":1522,"title":{},"body":{"dependencies.html":{}}}],["read",{"_index":88,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["readable",{"_index":1524,"title":{},"body":{"dependencies.html":{}}}],["readonly",{"_index":27,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{}}}],["real",{"_index":1328,"title":{},"body":{"changelog.html":{}}}],["reason",{"_index":817,"title":{},"body":{"modules/StoreModule.html":{}}}],["rectify",{"_index":995,"title":{},"body":{"changelog.html":{}}}],["reduce",{"_index":1140,"title":{},"body":{"changelog.html":{}}}],["reduction",{"_index":936,"title":{},"body":{"changelog.html":{}}}],["reference",{"_index":499,"title":{},"body":{"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["refernced",{"_index":1035,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":1108,"title":{},"body":{"changelog.html":{}}}],["regions",{"_index":1384,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":455,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"dependencies.html":{}}}],["registered",{"_index":990,"title":{},"body":{"changelog.html":{}}}],["registration",{"_index":452,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["registrations",{"_index":1130,"title":{},"body":{"changelog.html":{}}}],["registrations#1",{"_index":845,"title":{},"body":{"changelog.html":{}}}],["related",{"_index":1177,"title":{},"body":{"changelog.html":{}}}],["relative",{"_index":236,"title":{},"body":{"components/AppComponent.html":{}}}],["release",{"_index":853,"title":{},"body":{"changelog.html":{}}}],["reliability",{"_index":1223,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":1085,"title":{},"body":{"changelog.html":{}}}],["remoteapiendpoint",{"_index":328,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["removed",{"_index":1061,"title":{},"body":{"changelog.html":{}}}],["removes",{"_index":1176,"title":{},"body":{"changelog.html":{}}}],["reporter",{"_index":473,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["repository",{"_index":1543,"title":{},"body":{"index.html":{}}}],["required",{"_index":1277,"title":{},"body":{"changelog.html":{}}}],["reset",{"_index":283,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"overview.html":{}}}],["resets",{"_index":1110,"title":{},"body":{"changelog.html":{}}}],["resolved",{"_index":1156,"title":{},"body":{"changelog.html":{}}}],["respond",{"_index":1103,"title":{},"body":{"changelog.html":{}}}],["restriction",{"_index":1608,"title":{},"body":{"license.html":{}}}],["result",{"_index":268,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["results",{"_index":270,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["return",{"_index":209,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{}}}],["returns",{"_index":64,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"injectables/DelegateDataSourceService.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"miscellaneous/functions.html":{}}}],["rgb",{"_index":1497,"title":{},"body":{"dependencies.html":{}}}],["rgba(67",{"_index":775,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["right",{"_index":36,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["right.nativeelement.offsetheight",{"_index":192,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["rightheight",{"_index":191,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["rightheight}px",{"_index":194,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["rights",{"_index":1610,"title":{},"body":{"license.html":{}}}],["root",{"_index":20,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["root'},{'name",{"_index":253,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["root_states",{"_index":815,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rotates",{"_index":1087,"title":{},"body":{"changelog.html":{}}}],["round",{"_index":1208,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":1227,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":919,"title":{},"body":{"changelog.html":{}}}],["row",{"_index":223,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{}}}],["ru/common",{"_index":1420,"title":{},"body":{"dependencies.html":{}}}],["ru/common/typings",{"_index":105,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["rui",{"_index":454,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["rui_locations.jsonld",{"_index":949,"title":{},"body":{"changelog.html":{}}}],["rxjs",{"_index":120,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":127,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/OrganLookupService.html":{}}}],["sample",{"_index":1395,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["samples",{"_index":1142,"title":{},"body":{"changelog.html":{}}}],["sans",{"_index":554,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["saver",{"_index":1484,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":1348,"title":{},"body":{"changelog.html":{}}}],["scene",{"_index":37,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"changelog.html":{}}}],["scheduled",{"_index":1157,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":1351,"title":{},"body":{"changelog.html":{}}}],["schemes",{"_index":1309,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":1586,"title":{},"body":{"index.html":{}}}],["search",{"_index":887,"title":{},"body":{"changelog.html":{}}}],["searches",{"_index":900,"title":{},"body":{"changelog.html":{}}}],["section",{"_index":525,"title":{},"body":{"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["sections",{"_index":459,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["see",{"_index":923,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["seg).join",{"_index":211,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["select",{"_index":1060,"title":{},"body":{"changelog.html":{}}}],["selected",{"_index":741,"title":{},"body":{"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["selecting",{"_index":952,"title":{},"body":{"changelog.html":{}}}],["selection",{"_index":605,"title":{},"body":{"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{}}}],["selector",{"_index":18,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["selects",{"_index":1368,"title":{},"body":{"changelog.html":{}}}],["selecttoken",{"_index":437,"title":{},"body":{"injectables/DelegateDataSourceService.html":{}}}],["selecttoken(config",{"_index":432,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["sell",{"_index":1617,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":1380,"title":{},"body":{"changelog.html":{}}}],["sennet",{"_index":971,"title":{},"body":{"changelog.html":{}}}],["sensitive",{"_index":842,"title":{},"body":{"changelog.html":{}}}],["serif",{"_index":555,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["server",{"_index":1354,"title":{},"body":{"changelog.html":{}}}],["services/data",{"_index":398,"title":{},"body":{"modules/CoreModule.html":{}}}],["set",{"_index":1070,"title":{},"body":{"changelog.html":{}}}],["set(this.filter?.tmc",{"_index":617,"title":{},"body":{"components/OrganComponent.html":{}}}],["setting",{"_index":825,"title":{},"body":{"modules/StoreModule.html":{}}}],["setup",{"_index":1126,"title":{},"body":{"changelog.html":{}}}],["sex",{"_index":38,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"changelog.html":{}}}],["sexchange",{"_index":580,"title":{},"body":{"components/OrganComponent.html":{}}}],["sexes",{"_index":1264,"title":{},"body":{"changelog.html":{}}}],["shadow",{"_index":548,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["shall",{"_index":1625,"title":{},"body":{"license.html":{}}}],["shared",{"_index":116,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"modules/StoreModule.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["shared/analytics",{"_index":396,"title":{},"body":{"modules/CoreModule.html":{}}}],["shared/web",{"_index":351,"title":{},"body":{"components/AppWebComponent.html":{}}}],["sharereplay",{"_index":122,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["sharereplay(1",{"_index":160,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["shortest",{"_index":1491,"title":{},"body":{"dependencies.html":{}}}],["show",{"_index":1104,"title":{},"body":{"changelog.html":{}}}],["showing",{"_index":1295,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":1304,"title":{},"body":{"changelog.html":{}}}],["shows",{"_index":1020,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":39,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"changelog.html":{}}}],["sidechange",{"_index":581,"title":{},"body":{"components/OrganComponent.html":{}}}],["sides",{"_index":1266,"title":{},"body":{"changelog.html":{}}}],["significant",{"_index":1113,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":1047,"title":{},"body":{"changelog.html":{}}}],["simplechanges",{"_index":596,"title":{},"body":{"components/OrganComponent.html":{}}}],["simplifies",{"_index":1124,"title":{},"body":{"changelog.html":{}}}],["sites",{"_index":1028,"title":{},"body":{"changelog.html":{}}}],["sizable",{"_index":1222,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":229,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{}}}],["skipself",{"_index":389,"title":{},"body":{"modules/CoreModule.html":{}}}],["slide",{"_index":262,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{}}}],["slider",{"_index":732,"title":{},"body":{"components/SlideToggleComponent.html":{},"dependencies.html":{}}}],["slidetogglecomponent",{"_index":261,"title":{"components/SlideToggleComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"coverage.html":{},"overview.html":{}}}],["slidetogglemodule",{"_index":711,"title":{"modules/SlideToggleModule.html":{}},"body":{"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules.html":{},"overview.html":{}}}],["slightly",{"_index":993,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":1137,"title":{},"body":{"changelog.html":{}}}],["software",{"_index":1548,"title":{},"body":{"index.html":{},"license.html":{}}}],["solid",{"_index":510,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["solved",{"_index":1217,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":1286,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":965,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":1133,"title":{},"body":{"changelog.html":{}}}],["source",{"_index":4,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"modules/LinkCardsModule.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"modules/StoreModule.html":{}}}],["source.service",{"_index":400,"title":{},"body":{"modules/CoreModule.html":{}}}],["source.service.ts",{"_index":423,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"coverage.html":{}}}],["source.service.ts:17",{"_index":438,"title":{},"body":{"injectables/DelegateDataSourceService.html":{}}}],["source/data",{"_index":399,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"coverage.html":{}}}],["sources",{"_index":370,"title":{},"body":{"components/AppWebComponent.html":{},"changelog.html":{}}}],["space",{"_index":518,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["sparc",{"_index":1129,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":871,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":894,"title":{},"body":{"changelog.html":{}}}],["spatialentity",{"_index":113,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{}}}],["spatialscenenode",{"_index":109,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{}}}],["spec",{"_index":1000,"title":{},"body":{"changelog.html":{}}}],["spec.yaml",{"_index":1568,"title":{},"body":{"index.html":{}}}],["specific",{"_index":1013,"title":{},"body":{"changelog.html":{}}}],["specification",{"_index":1567,"title":{},"body":{"index.html":{}}}],["speed",{"_index":933,"title":{},"body":{"changelog.html":{}}}],["spinal",{"_index":916,"title":{},"body":{"changelog.html":{}}}],["spinning",{"_index":1352,"title":{},"body":{"changelog.html":{}}}],["sprint",{"_index":1160,"title":{},"body":{"changelog.html":{}}}],["stage",{"_index":662,"title":{},"body":{"components/OrganComponent.html":{},"changelog.html":{}}}],["staging",{"_index":978,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["standalone",{"_index":1212,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":1270,"title":{},"body":{"changelog.html":{}}}],["standards",{"_index":1356,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":1551,"title":{},"body":{"index.html":{}}}],["started",{"_index":832,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["starts",{"_index":1402,"title":{},"body":{"changelog.html":{}}}],["startup",{"_index":1122,"title":{},"body":{"changelog.html":{}}}],["startwith",{"_index":123,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["startwith('loading",{"_index":188,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["stat",{"_index":798,"title":{},"body":{"components/StatsListComponent.html":{}}}],["stat.count",{"_index":794,"title":{},"body":{"components/StatsListComponent.html":{}}}],["stat.label",{"_index":795,"title":{},"body":{"components/StatsListComponent.html":{}}}],["state",{"_index":749,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["statements",{"_index":1405,"title":{},"body":{"coverage.html":{}}}],["states",{"_index":813,"title":{},"body":{"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["static",{"_index":89,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{}}}],["stats",{"_index":40,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{}}}],["statslabel",{"_index":41,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/StatsListComponent.html":{}}}],["statslistcomponent",{"_index":264,"title":{"components/StatsListComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"modules/StatsListModule.html":{},"coverage.html":{},"overview.html":{}}}],["statslistmodule",{"_index":281,"title":{"modules/StatsListModule.html":{}},"body":{"modules/AppModule.html":{},"modules/StatsListModule.html":{},"modules.html":{},"overview.html":{}}}],["stay",{"_index":1400,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":1145,"title":{},"body":{"changelog.html":{}}}],["store",{"_index":821,"title":{},"body":{"modules/StoreModule.html":{}}}],["store/store.module",{"_index":401,"title":{},"body":{"modules/CoreModule.html":{}}}],["storemodule",{"_index":385,"title":{"modules/StoreModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{},"modules.html":{},"overview.html":{}}}],["stories",{"_index":1345,"title":{},"body":{"changelog.html":{}}}],["strange",{"_index":816,"title":{},"body":{"modules/StoreModule.html":{}}}],["stream",{"_index":1525,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":1523,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":67,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"miscellaneous/functions.html":{}}}],["structure",{"_index":1172,"title":{},"body":{"changelog.html":{}}}],["structures",{"_index":467,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["styles",{"_index":6,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["styleurls",{"_index":21,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["styling",{"_index":1043,"title":{},"body":{"changelog.html":{}}}],["subject",{"_index":1622,"title":{},"body":{"license.html":{}}}],["sublicense",{"_index":1615,"title":{},"body":{"license.html":{}}}],["substantial",{"_index":1627,"title":{},"body":{"license.html":{}}}],["such",{"_index":870,"title":{},"body":{"changelog.html":{}}}],["super(configstore",{"_index":373,"title":{},"body":{"components/AppWebComponent.html":{}}}],["support",{"_index":875,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["svg",{"_index":1651,"title":{},"body":{"modules.html":{}}}],["swiper",{"_index":1528,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":884,"title":{},"body":{"changelog.html":{}}}],["switched",{"_index":1230,"title":{},"body":{"changelog.html":{}}}],["switchmap",{"_index":124,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["switchmap((organ",{"_index":178,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["switchmap(config",{"_index":151,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["switchmap(info",{"_index":163,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["switchmap(organ",{"_index":182,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["sync",{"_index":1088,"title":{},"body":{"changelog.html":{}}}],["table",{"_index":1419,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":985,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":1418,"title":{},"body":{"coverage.html":{}}}],["tagging",{"_index":1268,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":1011,"title":{},"body":{"changelog.html":{}}}],["tap",{"_index":125,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["tap(config",{"_index":148,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["tap(info",{"_index":157,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["tap(organ",{"_index":168,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["technologies",{"_index":1374,"title":{},"body":{"changelog.html":{}}}],["technology",{"_index":1201,"title":{},"body":{"changelog.html":{}}}],["telemetry",{"_index":1081,"title":{},"body":{"changelog.html":{}}}],["template",{"_index":5,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["templateurl",{"_index":23,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["terms",{"_index":867,"title":{},"body":{"changelog.html":{}}}],["test",{"_index":1333,"title":{},"body":{"changelog.html":{}}}],["testing",{"_index":1276,"title":{},"body":{"changelog.html":{}}}],["text",{"_index":233,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/StatsListComponent.html":{}}}],["theme",{"_index":972,"title":{},"body":{"changelog.html":{}}}],["themes",{"_index":970,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":968,"title":{},"body":{"changelog.html":{}}}],["this.blocks",{"_index":189,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.blocks?.filter(block",{"_index":619,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.bodyui",{"_index":636,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.bodyui.scene",{"_index":622,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.bodyui.scene.map((node",{"_index":623,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.configstate.getoption('highlightproviders",{"_index":78,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.configstate.getoption('sex",{"_index":97,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.configstate.getoption('side",{"_index":99,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.configstate.patchconfig",{"_index":196,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.filteredblocks",{"_index":618,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.filteredblocks.includes(node.entityid",{"_index":632,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.ga.event('node_click",{"_index":655,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.ga.event(event",{"_index":216,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.highlightednodeid",{"_index":626,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.injector",{"_index":314,"title":{},"body":{"modules/AppModule.html":{}}}],["this.labels[0",{"_index":760,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["this.labels[1",{"_index":761,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["this.latestconfig",{"_index":149,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.latestconfig.organiri",{"_index":199,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.latestconfig.sex",{"_index":166,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.latestconfig.side",{"_index":174,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.latestorganinfo",{"_index":159,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.latestorganinfo?.hassex",{"_index":170,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.logorganlookup(info",{"_index":158,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.makestatslabel(this.latestorganinfo",{"_index":186,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.organ",{"_index":161,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.organ$.pipe",{"_index":177,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.organinfo",{"_index":146,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.organinfo$.pipe",{"_index":162,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.organs.find(item",{"_index":688,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["this.scene",{"_index":176,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.sex",{"_index":638,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.sexchange.emit(this.sex",{"_index":639,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.side",{"_index":640,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.sidechange.emit(this.side",{"_index":641,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.source.getaggregateresults(filter",{"_index":705,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["this.source.getreferenceorgans().pipe",{"_index":696,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["this.source.getreferenceorganscene(info.id",{"_index":704,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["this.source.gettissueblockresults(filter",{"_index":706,"title":{},"body":{"injectables/OrganLookupService.html":{}}}],["this.stats",{"_index":181,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.statslabel",{"_index":184,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.updatehighlighting",{"_index":615,"title":{},"body":{"components/OrganComponent.html":{}}}],["this.updateinput('sex",{"_index":172,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.updateinput('side",{"_index":175,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["this.value",{"_index":759,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["this.valuechange.emit(this.value",{"_index":762,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["this.zoomtofitorgan",{"_index":637,"title":{},"body":{"components/OrganComponent.html":{}}}],["through",{"_index":1288,"title":{},"body":{"changelog.html":{}}}],["throw",{"_index":366,"title":{},"body":{"components/AppWebComponent.html":{},"modules/CoreModule.html":{}}}],["thumb",{"_index":779,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["thumbnails",{"_index":1170,"title":{},"body":{"changelog.html":{}}}],["tied",{"_index":1174,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":1297,"title":{},"body":{"changelog.html":{}}}],["timeouts",{"_index":944,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":938,"title":{},"body":{"changelog.html":{}}}],["tissue",{"_index":449,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["tissueblockresult",{"_index":114,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{}}}],["tissues",{"_index":991,"title":{},"body":{"changelog.html":{}}}],["title",{"_index":201,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{}}}],["tmc",{"_index":80,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{}}}],["toggle",{"_index":719,"title":{},"body":{"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"changelog.html":{}}}],["toggle'},{'name",{"_index":263,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["toggle.component",{"_index":787,"title":{},"body":{"modules/SlideToggleModule.html":{}}}],["toggle.component.html",{"_index":721,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.component.scss",{"_index":720,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.component.ts",{"_index":718,"title":{},"body":{"components/SlideToggleComponent.html":{},"coverage.html":{}}}],["toggle.component.ts:13",{"_index":743,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.component.ts:18",{"_index":733,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.component.ts:23",{"_index":736,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.component.ts:28",{"_index":730,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.component.ts:33",{"_index":737,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.component.ts:38",{"_index":754,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.component.ts:48",{"_index":745,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["toggle.module",{"_index":716,"title":{},"body":{"modules/OrganModule.html":{}}}],["toggle.module.ts",{"_index":784,"title":{},"body":{"modules/SlideToggleModule.html":{}}}],["toggle/slide",{"_index":715,"title":{},"body":{"modules/OrganModule.html":{},"components/SlideToggleComponent.html":{},"modules/SlideToggleModule.html":{},"coverage.html":{}}}],["toggled",{"_index":735,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["tool",{"_index":1213,"title":{},"body":{"changelog.html":{}}}],["top",{"_index":508,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["tort",{"_index":1646,"title":{},"body":{"license.html":{}}}],["tracking/telemetry",{"_index":1097,"title":{},"body":{"changelog.html":{}}}],["transition",{"_index":542,"title":{},"body":{"components/LinkCardsComponent.html":{},"components/SlideToggleComponent.html":{}}}],["transparency",{"_index":1214,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":1234,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":8,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["true",{"_index":90,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{}}}],["true=left",{"_index":750,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["try",{"_index":1252,"title":{},"body":{"changelog.html":{}}}],["ts",{"_index":1530,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":1533,"title":{},"body":{"dependencies.html":{}}}],["tuned",{"_index":1401,"title":{},"body":{"changelog.html":{}}}],["turn",{"_index":1196,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":1178,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":1175,"title":{},"body":{"changelog.html":{}}}],["tutorial",{"_index":1063,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":734,"title":{},"body":{"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["type",{"_index":59,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["typeof",{"_index":358,"title":{},"body":{"components/AppWebComponent.html":{}}}],["types",{"_index":469,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["types/lru",{"_index":1461,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":960,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["typing",{"_index":1364,"title":{},"body":{"changelog.html":{}}}],["ufl",{"_index":1169,"title":{},"body":{"changelog.html":{}}}],["ui",{"_index":111,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{},"changelog.html":{},"index.html":{}}}],["ui.netlify.app",{"_index":1554,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":1561,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":1559,"title":{},"body":{"index.html":{}}}],["ui/organ",{"_index":1560,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":457,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"index.html":{}}}],["uis",{"_index":855,"title":{},"body":{"changelog.html":{}}}],["undefined",{"_index":62,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["university",{"_index":1588,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":195,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["unnecessary",{"_index":1084,"title":{},"body":{"changelog.html":{}}}],["unselect",{"_index":1139,"title":{},"body":{"changelog.html":{}}}],["until",{"_index":1180,"title":{},"body":{"changelog.html":{}}}],["up",{"_index":928,"title":{},"body":{"changelog.html":{}}}],["update",{"_index":879,"title":{},"body":{"changelog.html":{}}}],["updated",{"_index":840,"title":{},"body":{"changelog.html":{}}}],["updatehighlighting",{"_index":575,"title":{},"body":{"components/OrganComponent.html":{}}}],["updateinput",{"_index":46,"title":{},"body":{"components/AppComponent.html":{}}}],["updateinput(key",{"_index":71,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["updates",{"_index":746,"title":{},"body":{"components/SlideToggleComponent.html":{},"changelog.html":{}}}],["updatesex",{"_index":576,"title":{},"body":{"components/OrganComponent.html":{}}}],["updatesex(selection",{"_index":603,"title":{},"body":{"components/OrganComponent.html":{}}}],["updateside",{"_index":577,"title":{},"body":{"components/OrganComponent.html":{}}}],["updateside(selection",{"_index":606,"title":{},"body":{"components/OrganComponent.html":{}}}],["updatetoggle",{"_index":723,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["updatetoggle(selection",{"_index":744,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["upgraded",{"_index":1293,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":1370,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":1100,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":1209,"title":{},"body":{"changelog.html":{}}}],["url",{"_index":494,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["usage",{"_index":857,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":1574,"title":{},"body":{"index.html":{}}}],["use",{"_index":200,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["usecase",{"_index":1580,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":1577,"title":{},"body":{"index.html":{}}}],["used",{"_index":1195,"title":{},"body":{"changelog.html":{}}}],["useexisting",{"_index":413,"title":{},"body":{"modules/CoreModule.html":{}}}],["user",{"_index":453,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{},"index.html":{}}}],["user/os",{"_index":1073,"title":{},"body":{"changelog.html":{}}}],["useremote",{"_index":433,"title":{},"body":{"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["useremoteapi",{"_index":329,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/DelegateDataSourceOptions.html":{},"injectables/DelegateDataSourceService.html":{}}}],["users",{"_index":1387,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":1090,"title":{},"body":{"changelog.html":{}}}],["using",{"_index":450,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["utilities",{"_index":1079,"title":{},"body":{"changelog.html":{}}}],["uuid",{"_index":1534,"title":{},"body":{"dependencies.html":{}}}],["v1.1",{"_index":986,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":865,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":854,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":1194,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":988,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":981,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":946,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":913,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":880,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":924,"title":{},"body":{"changelog.html":{}}}],["v2.1.0",{"_index":863,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":850,"title":{},"body":{"changelog.html":{}}}],["v3",{"_index":886,"title":{},"body":{"changelog.html":{}}}],["val",{"_index":357,"title":{},"body":{"components/AppWebComponent.html":{}}}],["val.every(isstring",{"_index":361,"title":{},"body":{"components/AppWebComponent.html":{}}}],["value",{"_index":72,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LinkCardsComponent.html":{},"injectables/OrganLookupService.html":{},"components/SlideToggleComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["value?.startswith",{"_index":372,"title":{},"body":{"components/AppWebComponent.html":{}}}],["valuechange",{"_index":726,"title":{},"body":{"components/SlideToggleComponent.html":{}}}],["var",{"_index":251,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["variable",{"_index":551,"title":{},"body":{"components/LinkCardsComponent.html":{},"coverage.html":{}}}],["variables",{"_index":1656,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["version",{"_index":1003,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["very",{"_index":1283,"title":{},"body":{"changelog.html":{}}}],["via",{"_index":942,"title":{},"body":{"changelog.html":{}}}],["video",{"_index":1101,"title":{},"body":{"changelog.html":{}}}],["view",{"_index":463,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"changelog.html":{}}}],["viewchild",{"_index":107,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{},"components/OrganComponent.html":{}}}],["viewchild('bodyui",{"_index":610,"title":{},"body":{"components/OrganComponent.html":{}}}],["viewchild('left",{"_index":87,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["viewchild('right",{"_index":94,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["viewer",{"_index":1163,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":906,"title":{},"body":{"changelog.html":{}}}],["views",{"_index":1092,"title":{},"body":{"changelog.html":{}}}],["visible",{"_index":481,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["visual",{"_index":904,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":1131,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":1294,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":65,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/GlobalConfig.html":{},"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{}}}],["vs",{"_index":1058,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":1397,"title":{},"body":{"changelog.html":{}}}],["walkthrough",{"_index":1576,"title":{},"body":{"index.html":{}}}],["warming",{"_index":941,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":1316,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":1632,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1629,"title":{},"body":{"license.html":{}}}],["wc",{"_index":320,"title":{},"body":{"components/AppWebComponent.html":{}}}],["wc'},{'name",{"_index":255,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/SlideToggleComponent.html":{},"components/StatsListComponent.html":{}}}],["web",{"_index":300,"title":{},"body":{"modules/AppModule.html":{},"components/AppWebComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["webcomponent",{"_index":1057,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":1462,"title":{},"body":{"dependencies.html":{}}}],["webpages",{"_index":1009,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":1550,"title":{},"body":{"index.html":{}}}],["week",{"_index":1403,"title":{},"body":{"changelog.html":{}}}],["weight",{"_index":537,"title":{},"body":{"components/LinkCardsComponent.html":{}}}],["whether",{"_index":731,"title":{},"body":{"components/SlideToggleComponent.html":{},"license.html":{}}}],["white",{"_index":238,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{}}}],["whole",{"_index":1399,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":240,"title":{},"body":{"components/AppComponent.html":{},"components/LinkCardsComponent.html":{},"components/OrganComponent.html":{},"components/StatsListComponent.html":{},"changelog.html":{}}}],["window.open(url",{"_index":490,"title":{},"body":{"interfaces/LinkCard.html":{},"components/LinkCardsComponent.html":{}}}],["within",{"_index":1167,"title":{},"body":{"changelog.html":{}}}],["withlatestfrom",{"_index":126,"title":{},"body":{"components/AppComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["without",{"_index":1025,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["workflows",{"_index":1236,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":994,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":1256,"title":{},"body":{"changelog.html":{}}}],["x",{"_index":643,"title":{},"body":{"components/OrganComponent.html":{}}}],["x_dimension",{"_index":642,"title":{},"body":{"components/OrganComponent.html":{}}}],["y",{"_index":645,"title":{},"body":{"components/OrganComponent.html":{}}}],["y_dimension",{"_index":644,"title":{},"body":{"components/OrganComponent.html":{}}}],["yes",{"_index":69,"title":{},"body":{"components/AppComponent.html":{},"components/OrganComponent.html":{},"injectables/OrganLookupService.html":{}}}],["youtube",{"_index":1030,"title":{},"body":{"changelog.html":{}}}],["z",{"_index":647,"title":{},"body":{"components/OrganComponent.html":{}}}],["z_dimension",{"_index":646,"title":{},"body":{"components/OrganComponent.html":{}}}],["zone.js",{"_index":1536,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":282,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules/LinkCardsModule.html":{},"modules/OrganModule.html":{},"modules/SlideToggleModule.html":{},"modules/StatsListModule.html":{},"overview.html":{}}}],["zoomtofitorgan",{"_index":578,"title":{},"body":{"components/OrganComponent.html":{}}}]],"pipeline":["stemmer"]}, + "store": {"components/AppComponent.html":{"url":"components/AppComponent.html","title":"component - AppComponent","body":"\n \n\n\n\n\n\n Components\n \n AppComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-organ-info/src/app/app.component.ts\n\n\n\n\n\n \n Implements\n \n \n AfterViewInit\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root\n \n\n \n styleUrls\n ./app.component.scss\n \n\n\n\n \n templateUrl\n ./app.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n blocks$\n \n \n Readonly\n filter$\n \n \n Private\n latestConfig\n \n \n Private\n Optional\n latestOrganInfo\n \n \n left\n \n \n Readonly\n organ$\n \n \n Readonly\n organInfo$\n \n \n right\n \n \n Readonly\n scene$\n \n \n Readonly\n sex$\n \n \n Readonly\n side$\n \n \n Readonly\n stats$\n \n \n Readonly\n statsLabel$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n logOrganLookup\n \n \n Private\n makeStatsLabel\n \n \n ngAfterViewInit\n \n \n updateInput\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(lookup: OrganLookupService, ga: GoogleAnalyticsService, configState: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:47\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n lookup\n \n \n OrganLookupService\n \n \n \n No\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n \n configState\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n logOrganLookup\n \n \n \n \n \n \n \n logOrganLookup(info: OrganInfo | undefined)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:132\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n info\n \n OrganInfo | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n makeStatsLabel\n \n \n \n \n \n \n \n makeStatsLabel(info: OrganInfo | undefined, sex?: string)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:122\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n info\n \n OrganInfo | undefined\n \n\n \n No\n \n\n\n \n \n sex\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngAfterViewInit\n \n \n \n \n \n \nngAfterViewInit()\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:112\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateInput\n \n \n \n \n \n \nupdateInput(key: string, value)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n \n value\n \n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n blocks$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n filter$\n \n \n \n \n \n \n Default value : this.configState.getOption('highlightProviders')\n .pipe(map((providers: string[]) => ({ tmc: providers })))\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n latestConfig\n \n \n \n \n \n \n Type : Immutable\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Optional\n latestOrganInfo\n \n \n \n \n \n \n Type : OrganInfo\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n left\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('left', {read: ElementRef, static: true})\n \n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n organ$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n organInfo$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n right\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('right', {read: ElementRef, static: true})\n \n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n scene$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n sex$\n \n \n \n \n \n \n Default value : this.configState.getOption('sex')\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n side$\n \n \n \n \n \n \n Default value : this.configState.getOption('side')\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n stats$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n statsLabel$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app.component.ts:43\n \n \n\n\n \n \n\n\n\n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, ViewChild } from '@angular/core';\nimport { SpatialSceneNode } from 'ccf-body-ui';\nimport { AggregateResult, SpatialEntity, TissueBlockResult } from 'ccf-database';\nimport { GlobalConfigState, OrganInfo } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { Observable, of } from 'rxjs';\nimport { map, shareReplay, startWith, switchMap, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { OrganLookupService } from './core/services/organ-lookup/organ-lookup.service';\n\n\ninterface GlobalConfig {\n organIri?: string;\n side?: string;\n sex?: 'Both' | 'Male' | 'Female';\n highlightProviders?: string[];\n}\n\nconst EMPTY_SCENE = [\n { color: [0, 0, 0, 0], opacity: 0.001 }\n];\n\n\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent implements AfterViewInit {\n @ViewChild('left', { read: ElementRef, static: true }) left: ElementRef;\n @ViewChild('right', { read: ElementRef, static: true }) right: ElementRef;\n\n readonly sex$ = this.configState.getOption('sex');\n readonly side$ = this.configState.getOption('side');\n readonly filter$ = this.configState.getOption('highlightProviders')\n .pipe(map((providers: string[]) => ({ tmc: providers })));\n readonly organInfo$: Observable;\n readonly organ$: Observable;\n readonly scene$: Observable;\n readonly stats$: Observable;\n readonly statsLabel$: Observable;\n readonly blocks$: Observable;\n\n private latestConfig: Immutable = {};\n private latestOrganInfo?: OrganInfo;\n\n constructor(\n lookup: OrganLookupService,\n private readonly ga: GoogleAnalyticsService,\n private readonly configState: GlobalConfigState\n ) {\n this.organInfo$ = configState.config$.pipe(\n tap(config => (this.latestConfig = config)),\n switchMap(config => lookup.getOrganInfo(\n config.organIri ?? '',\n config.side?.toLowerCase?.() as OrganInfo['side'],\n config.sex\n )),\n tap(info => this.logOrganLookup(info)),\n tap(info => (this.latestOrganInfo = info)),\n shareReplay(1)\n );\n\n this.organ$ = this.organInfo$.pipe(\n switchMap(info => info ? lookup.getOrgan(\n info,\n info.hasSex ? this.latestConfig.sex : undefined\n ) : of(undefined)),\n tap(organ => {\n if (organ && this.latestOrganInfo) {\n const newSex = this.latestOrganInfo?.hasSex ? organ.sex : undefined;\n if (newSex !== this.latestConfig.sex) {\n this.updateInput('sex', newSex);\n }\n if (organ.side !== this.latestConfig.side) {\n this.updateInput('side', organ.side);\n }\n }\n }),\n shareReplay(1)\n );\n\n this.scene$ = this.organ$.pipe(\n switchMap((organ) => organ && this.latestOrganInfo ? lookup.getOrganScene(\n this.latestOrganInfo,\n organ.sex\n ) : of(EMPTY_SCENE as SpatialSceneNode[]))\n );\n\n this.stats$ = this.organ$.pipe(\n switchMap(organ => organ && this.latestOrganInfo ? lookup.getOrganStats(\n this.latestOrganInfo,\n organ.sex\n ) : of([]))\n );\n\n this.statsLabel$ = this.organ$.pipe(\n map((organ) => this.makeStatsLabel(this.latestOrganInfo, organ?.sex)),\n startWith('Loading...')\n );\n\n this.blocks$ = this.organ$.pipe(\n switchMap(organ => organ && this.latestOrganInfo ? lookup.getBlocks(\n this.latestOrganInfo,\n organ.sex\n ) : of([]))\n );\n }\n\n ngAfterViewInit(): void {\n const { left, right } = this;\n const rightHeight = right.nativeElement.offsetHeight;\n left.nativeElement.style.height = `${rightHeight}px`;\n }\n\n updateInput(key: string, value: unknown): void {\n this.configState.patchConfig({ [key]: value });\n }\n\n private makeStatsLabel(info: OrganInfo | undefined, sex?: string): string {\n let parts: (string | undefined)[] = [`Unknown IRI: ${this.latestConfig.organIri}`];\n if (info) {\n // Use title cased side for a cleaner display\n const side = info.side ? info.side.charAt(0).toUpperCase() + info.side.slice(1) : undefined;\n parts = [sex, info.organ, side];\n }\n return parts.filter(seg => !!seg).join(', ');\n }\n\n private logOrganLookup(info: OrganInfo | undefined): void {\n const event = info ? 'organ_lookup_success' : 'organ_lookup_failure';\n const inputs = `Iri: ${this.latestConfig.organIri} - Sex: ${this.latestConfig.sex} - Side: ${this.latestConfig.side}`;\n this.ga.event(event, 'organ', inputs);\n }\n}\n\n \n\n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n \n \n ./app.component.scss\n \n .container {\n height: fit-content;\n display: flex;\n flex-direction: row;\n padding: 1rem;\n font-family: Inter;\n font-size: 0.95rem;\n line-height: 1.5;\n text-align: left;\n position: relative;\n background-color: white;\n color: black;\n\n\n .left {\n width: auto;\n flex-grow: 1;\n }\n\n .right {\n margin-left: 2rem;\n height: fit-content;\n width: 29rem;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'LinkCardsComponent', 'selector': 'ccf-link-cards'},{'name': 'OrganComponent', 'selector': 'ccf-organ'},{'name': 'SlideToggleComponent', 'selector': 'ccf-slide-toggle'},{'name': 'StatsListComponent', 'selector': 'ccf-stats-list'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AppModule.html":{"url":"modules/AppModule.html","title":"module - AppModule","body":"\n \n\n\n\n\n Modules\n AppModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nAppModule -->\n\nCoreModule->AppModule\n\n\n\n\n\nLinkCardsModule\n\nLinkCardsModule\n\nAppModule -->\n\nLinkCardsModule->AppModule\n\n\n\n\n\nOrganModule\n\nOrganModule\n\nAppModule -->\n\nOrganModule->AppModule\n\n\n\n\n\nStatsListModule\n\nStatsListModule\n\nAppModule -->\n\nStatsListModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-organ-info/src/app/app.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n AppComponent\n \n \n AppWebComponent\n \n \n \n \n EntryComponents\n \n \n AppComponent\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n LinkCardsModule\n \n \n OrganModule\n \n \n StatsListModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngDoBootstrap\n \n \n \n \n \n \nngDoBootstrap()\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/app.module.ts:30\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { DoBootstrap, Injector, NgModule } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { AppWebComponent } from './app-web-component.component';\nimport { AppComponent } from './app.component';\nimport { CoreModule } from './core/core.module';\nimport { OrganModule } from './features/organ/organ.module';\nimport { LinkCardsModule } from './modules/link-cards/link-cards.module';\nimport { StatsListModule } from './modules/stats-list/stats-list.module';\n\n\n\n@NgModule({\n imports: [\n BrowserModule,\n\n CoreModule,\n LinkCardsModule,\n StatsListModule,\n OrganModule\n ],\n declarations: [AppComponent, AppWebComponent],\n providers: [],\n entryComponents: [AppComponent]\n})\nexport class AppModule implements DoBootstrap {\n constructor(private readonly injector: Injector) { }\n\n ngDoBootstrap(): void {\n const appElement = createCustomElement(AppWebComponent, {\n injector: this.injector\n });\n\n customElements.define('ccf-organ-info', appElement);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppWebComponent.html":{"url":"components/AppWebComponent.html","title":"component - AppWebComponent","body":"\n \n\n\n\n\n\n Components\n \n AppWebComponent\n\n\n\n \n Info\n \n \n Source\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-organ-info/src/app/app-web-component.component.ts\n\n\n\n\n \n Extends\n \n \n BaseWebComponent\n \n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root-wc\n \n\n\n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n initialized\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n dataSources\n \n \n highlightProviders\n \n \n hubmapAssetUrl\n \n \n hubmapDataService\n \n \n hubmapDataUrl\n \n \n hubmapPortalUrl\n \n \n hubmapToken\n \n \n organIri\n \n \n remoteApiEndpoint\n \n \n sex\n \n \n side\n \n \n useRemoteApi\n \n \n \n \n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configStore: GlobalConfigState, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:65\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configStore\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n dataSources\n \n \n \n \n Type : string | string[]\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:53\n \n \n \n \n \n \n \n \n \n highlightProviders\n \n \n \n \n Type : string | string[]\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:54\n \n \n \n \n \n \n \n \n \n hubmapAssetUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:58\n \n \n \n \n \n \n \n \n \n hubmapDataService\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:56\n \n \n \n \n \n \n \n \n \n hubmapDataUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:57\n \n \n \n \n \n \n \n \n \n hubmapPortalUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:60\n \n \n \n \n \n \n \n \n \n hubmapToken\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:59\n \n \n \n \n \n \n \n \n \n organIri\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:50\n \n \n \n \n \n \n \n \n \n remoteApiEndpoint\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:63\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n Type : \"Both\" | \"Male\" | \"Female\"\n\n \n \n \n \n Default value : 'Female'\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:51\n \n \n \n \n \n \n \n \n \n side\n \n \n \n \n Type : \"Left\" | \"Right\"\n\n \n \n \n \n Default value : 'Left'\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:52\n \n \n \n \n \n \n \n \n \n useRemoteApi\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:62\n \n \n \n \n\n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n initialized\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/app-web-component.component.ts:65\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { BaseWebComponent, BUILTIN_PARSERS, GenericGlobalConfig } from 'ccf-shared/web-components';\n\nimport { environment } from '../environments/environment';\n\n\nfunction parseDataSources(value: unknown): string[] {\n const isString = (val: unknown): val is string => typeof val === 'string';\n const isStringArray = (val: unknown): val is string[] => Array.isArray(val) && val.every(isString);\n\n if (typeof value === 'string') {\n const json = BUILTIN_PARSERS.json(value);\n if (isStringArray(json)) {\n return json;\n }\n } else if (isStringArray(value)) {\n return value;\n }\n\n throw new Error('Invalid data sources');\n}\n\nfunction parseStringArray(value: unknown): string[] {\n const isString = (val: unknown): val is string => typeof val === 'string';\n const isStringArray = (val: unknown): val is string[] => Array.isArray(val) && val.every(isString);\n\n if (typeof value === 'string') {\n if (value?.startsWith('[')) {\n const json = BUILTIN_PARSERS.json(value);\n if (isStringArray(json)) {\n return json;\n }\n } else {\n return [value];\n }\n } else if (isStringArray(value)) {\n return value;\n }\n\n throw new Error('Invalid data sources');\n}\n\n@Component({\n selector: 'ccf-root-wc',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppWebComponent extends BaseWebComponent {\n @Input() organIri?: string;\n @Input() sex?: 'Both' | 'Male' | 'Female' = 'Female';\n @Input() side?: 'Left' | 'Right' = 'Left';\n @Input() dataSources: string | string[];\n @Input() highlightProviders: string | string[];\n\n @Input() hubmapDataService: string;\n @Input() hubmapDataUrl: string;\n @Input() hubmapAssetUrl: string;\n @Input() hubmapToken: string;\n @Input() hubmapPortalUrl: string;\n\n @Input() useRemoteApi: string | boolean;\n @Input() remoteApiEndpoint: string;\n\n initialized: boolean;\n\n constructor(\n configStore: GlobalConfigState,\n cdr: ChangeDetectorRef\n ) {\n super(configStore, cdr, {\n initialDelay: 10,\n\n initialConfig: {\n ...environment.dbOptions,\n ...globalThis['dbOptions']\n },\n parse: {\n dataSources: parseDataSources,\n highlightProviders: parseStringArray,\n useRemoteApi: BUILTIN_PARSERS.boolean\n }\n });\n }\n}\n\n \n\n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'LinkCardsComponent', 'selector': 'ccf-link-cards'},{'name': 'OrganComponent', 'selector': 'ccf-organ'},{'name': 'SlideToggleComponent', 'selector': 'ccf-slide-toggle'},{'name': 'StatsListComponent', 'selector': 'ccf-stats-list'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppWebComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CoreModule.html":{"url":"modules/CoreModule.html","title":"module - CoreModule","body":"\n \n\n\n\n\n Modules\n CoreModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\n\nStoreModule\n\nStoreModule\n\n\n\nCoreModule\n\nCoreModule\n\nCoreModule -->\n\nStoreModule->CoreModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-organ-info/src/app/core/core.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n StoreModule\n \n \n \n \n \n\n\n \n\n\n \n import { HttpClientModule } from '@angular/common/http';\nimport { NgModule, Optional, SkipSelf } from '@angular/core';\nimport { CcfApiConfiguration, CcfApiModule } from 'ccf-openapi/angular-client';\nimport { DataSourceService } from 'ccf-shared';\nimport { AnalyticsModule } from 'ccf-shared/analytics';\n\nimport { environment } from '../../environments/environment';\nimport { DelegateDataSourceService } from './services/data-source/data-source.service';\nimport { StoreModule } from './store/store.module';\n\n\n@NgModule({\n imports: [\n HttpClientModule,\n AnalyticsModule.forRoot({\n gaToken: environment.googleAnalyticsToken,\n\n appName: 'organ-info',\n projectName: 'ccf',\n\n developmentMode: !environment.production\n }),\n\n CcfApiModule.forRoot(() => new CcfApiConfiguration({\n basePath: environment.dbOptions.remoteApiEndpoint\n })),\n\n StoreModule\n ],\n providers: [\n { provide: DataSourceService, useExisting: DelegateDataSourceService }\n ],\n exports: []\n})\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() core: CoreModule) {\n if (core) {\n throw new Error('The core module should only be imported once in the root module');\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DelegateDataSourceOptions.html":{"url":"interfaces/DelegateDataSourceOptions.html","title":"interface - DelegateDataSourceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DelegateDataSourceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-organ-info/src/app/core/services/data-source/data-source.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n remoteApiEndpoint\n \n \n \n Optional\n \n useRemoteApi\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n remoteApiEndpoint\n \n \n \n \n \n \n \n \n remoteApiEndpoint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n useRemoteApi\n \n \n \n \n \n \n \n \n useRemoteApi: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Injectable, ProviderToken } from '@angular/core';\nimport {\n ApiEndpointDataSourceService, CCFDatabaseDataSourceService, DataSourceLike, InjectorDelegateDataSourceService,\n} from 'ccf-shared';\n\n\nexport interface DelegateDataSourceOptions {\n useRemoteApi?: boolean;\n remoteApiEndpoint?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DelegateDataSourceService extends InjectorDelegateDataSourceService {\n protected selectToken(config: DelegateDataSourceOptions): ProviderToken {\n const useRemote = config.useRemoteApi && !!config.remoteApiEndpoint;\n return useRemote ? ApiEndpointDataSourceService : CCFDatabaseDataSourceService;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DelegateDataSourceService.html":{"url":"injectables/DelegateDataSourceService.html","title":"injectable - DelegateDataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n DelegateDataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-organ-info/src/app/core/services/data-source/data-source.service.ts\n \n\n\n\n \n Extends\n \n \n InjectorDelegateDataSourceService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n selectToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n selectToken\n \n \n \n \n \n \n \n selectToken(config: DelegateDataSourceOptions)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/core/services/data-source/data-source.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n DelegateDataSourceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ProviderToken\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, ProviderToken } from '@angular/core';\nimport {\n ApiEndpointDataSourceService, CCFDatabaseDataSourceService, DataSourceLike, InjectorDelegateDataSourceService,\n} from 'ccf-shared';\n\n\nexport interface DelegateDataSourceOptions {\n useRemoteApi?: boolean;\n remoteApiEndpoint?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DelegateDataSourceService extends InjectorDelegateDataSourceService {\n protected selectToken(config: DelegateDataSourceOptions): ProviderToken {\n const useRemote = config.useRemoteApi && !!config.remoteApiEndpoint;\n return useRemote ? ApiEndpointDataSourceService : CCFDatabaseDataSourceService;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GlobalConfig.html":{"url":"interfaces/GlobalConfig.html","title":"interface - GlobalConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GlobalConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-organ-info/src/app/app.component.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n highlightProviders\n \n \n \n Optional\n \n organIri\n \n \n \n Optional\n \n sex\n \n \n \n Optional\n \n side\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n highlightProviders\n \n \n \n \n \n \n \n \n highlightProviders: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n organIri\n \n \n \n \n \n \n \n \n organIri: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"Both\" | \"Male\" | \"Female\"\n\n \n \n\n\n \n \n Type : \"Both\" | \"Male\" | \"Female\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, ViewChild } from '@angular/core';\nimport { SpatialSceneNode } from 'ccf-body-ui';\nimport { AggregateResult, SpatialEntity, TissueBlockResult } from 'ccf-database';\nimport { GlobalConfigState, OrganInfo } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { Observable, of } from 'rxjs';\nimport { map, shareReplay, startWith, switchMap, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { OrganLookupService } from './core/services/organ-lookup/organ-lookup.service';\n\n\ninterface GlobalConfig {\n organIri?: string;\n side?: string;\n sex?: 'Both' | 'Male' | 'Female';\n highlightProviders?: string[];\n}\n\nconst EMPTY_SCENE = [\n { color: [0, 0, 0, 0], opacity: 0.001 }\n];\n\n\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent implements AfterViewInit {\n @ViewChild('left', { read: ElementRef, static: true }) left: ElementRef;\n @ViewChild('right', { read: ElementRef, static: true }) right: ElementRef;\n\n readonly sex$ = this.configState.getOption('sex');\n readonly side$ = this.configState.getOption('side');\n readonly filter$ = this.configState.getOption('highlightProviders')\n .pipe(map((providers: string[]) => ({ tmc: providers })));\n readonly organInfo$: Observable;\n readonly organ$: Observable;\n readonly scene$: Observable;\n readonly stats$: Observable;\n readonly statsLabel$: Observable;\n readonly blocks$: Observable;\n\n private latestConfig: Immutable = {};\n private latestOrganInfo?: OrganInfo;\n\n constructor(\n lookup: OrganLookupService,\n private readonly ga: GoogleAnalyticsService,\n private readonly configState: GlobalConfigState\n ) {\n this.organInfo$ = configState.config$.pipe(\n tap(config => (this.latestConfig = config)),\n switchMap(config => lookup.getOrganInfo(\n config.organIri ?? '',\n config.side?.toLowerCase?.() as OrganInfo['side'],\n config.sex\n )),\n tap(info => this.logOrganLookup(info)),\n tap(info => (this.latestOrganInfo = info)),\n shareReplay(1)\n );\n\n this.organ$ = this.organInfo$.pipe(\n switchMap(info => info ? lookup.getOrgan(\n info,\n info.hasSex ? this.latestConfig.sex : undefined\n ) : of(undefined)),\n tap(organ => {\n if (organ && this.latestOrganInfo) {\n const newSex = this.latestOrganInfo?.hasSex ? organ.sex : undefined;\n if (newSex !== this.latestConfig.sex) {\n this.updateInput('sex', newSex);\n }\n if (organ.side !== this.latestConfig.side) {\n this.updateInput('side', organ.side);\n }\n }\n }),\n shareReplay(1)\n );\n\n this.scene$ = this.organ$.pipe(\n switchMap((organ) => organ && this.latestOrganInfo ? lookup.getOrganScene(\n this.latestOrganInfo,\n organ.sex\n ) : of(EMPTY_SCENE as SpatialSceneNode[]))\n );\n\n this.stats$ = this.organ$.pipe(\n switchMap(organ => organ && this.latestOrganInfo ? lookup.getOrganStats(\n this.latestOrganInfo,\n organ.sex\n ) : of([]))\n );\n\n this.statsLabel$ = this.organ$.pipe(\n map((organ) => this.makeStatsLabel(this.latestOrganInfo, organ?.sex)),\n startWith('Loading...')\n );\n\n this.blocks$ = this.organ$.pipe(\n switchMap(organ => organ && this.latestOrganInfo ? lookup.getBlocks(\n this.latestOrganInfo,\n organ.sex\n ) : of([]))\n );\n }\n\n ngAfterViewInit(): void {\n const { left, right } = this;\n const rightHeight = right.nativeElement.offsetHeight;\n left.nativeElement.style.height = `${rightHeight}px`;\n }\n\n updateInput(key: string, value: unknown): void {\n this.configState.patchConfig({ [key]: value });\n }\n\n private makeStatsLabel(info: OrganInfo | undefined, sex?: string): string {\n let parts: (string | undefined)[] = [`Unknown IRI: ${this.latestConfig.organIri}`];\n if (info) {\n // Use title cased side for a cleaner display\n const side = info.side ? info.side.charAt(0).toUpperCase() + info.side.slice(1) : undefined;\n parts = [sex, info.organ, side];\n }\n return parts.filter(seg => !!seg).join(', ');\n }\n\n private logOrganLookup(info: OrganInfo | undefined): void {\n const event = info ? 'organ_lookup_success' : 'organ_lookup_failure';\n const inputs = `Iri: ${this.latestConfig.organIri} - Sex: ${this.latestConfig.sex} - Side: ${this.latestConfig.side}`;\n this.ga.event(event, 'organ', inputs);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LinkCard.html":{"url":"interfaces/LinkCard.html","title":"interface - LinkCard","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LinkCard\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-organ-info/src/app/modules/link-cards/link-cards.component.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n body\n \n \n \n \n buttonTitle\n \n \n \n \n buttonUrl\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n body\n \n \n \n \n \n \n \n \n body: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n buttonTitle\n \n \n \n \n \n \n \n \n buttonTitle: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n buttonUrl\n \n \n \n \n \n \n \n \n buttonUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component } from '@angular/core';\n\ninterface LinkCard {\n body: string;\n buttonTitle: string;\n buttonUrl: string;\n}\n\n@Component({\n selector: 'ccf-link-cards',\n templateUrl: './link-cards.component.html',\n styleUrls: ['./link-cards.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LinkCardsComponent {\n linkCards: LinkCard[] = [\n {\n body: 'Add tissue blocks using the HRA Registration User Interface (RUI).',\n buttonTitle: 'Register Tissue',\n buttonUrl: 'https://hubmapconsortium.github.io/ccf-ui/rui/'\n },\n {\n body: 'Explore tissue sections in tissue blocks with the HRA Exploration User Interface (EUI).',\n buttonTitle: 'Explore Tissue',\n buttonUrl: 'https://portal.hubmapconsortium.org/ccf-eui'\n },\n {\n body: 'View linkages between anatomical structures, cell types, and common biomarkers (ASCT+B).',\n buttonTitle: 'ASCT+B Reporter',\n buttonUrl: 'https://hubmapconsortium.github.io/ccf-asct-reporter/'\n }\n ];\n\n deepDives: LinkCard[] = [\n {\n body: '',\n buttonTitle: 'HRA Portal',\n buttonUrl: 'https://humanatlas.io'\n },\n {\n body: '',\n buttonTitle: 'Online Course',\n buttonUrl: 'https://expand.iu.edu/browse/sice/cns/courses/hubmap-visible-human-mooc'\n },\n {\n body: '',\n buttonTitle: 'Paper',\n buttonUrl: 'https://www.nature.com/articles/s41556-021-00788-6'\n }\n ];\n\n goToURL(url: string): void {\n window.open(url, '_blank');\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/LinkCardsComponent.html":{"url":"components/LinkCardsComponent.html","title":"component - LinkCardsComponent","body":"\n \n\n\n\n\n\n Components\n \n LinkCardsComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-organ-info/src/app/modules/link-cards/link-cards.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-link-cards\n \n\n \n styleUrls\n ./link-cards.component.scss\n \n\n\n\n \n templateUrl\n ./link-cards.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n deepDives\n \n \n linkCards\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n goToURL\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n goToURL\n \n \n \n \n \n \ngoToURL(url: string)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/modules/link-cards/link-cards.component.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n deepDives\n \n \n \n \n \n \n Type : LinkCard[]\n\n \n \n \n \n Default value : [\n {\n body: '',\n buttonTitle: 'HRA Portal',\n buttonUrl: 'https://humanatlas.io'\n },\n {\n body: '',\n buttonTitle: 'Online Course',\n buttonUrl: 'https://expand.iu.edu/browse/sice/cns/courses/hubmap-visible-human-mooc'\n },\n {\n body: '',\n buttonTitle: 'Paper',\n buttonUrl: 'https://www.nature.com/articles/s41556-021-00788-6'\n }\n ]\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/modules/link-cards/link-cards.component.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n linkCards\n \n \n \n \n \n \n Type : LinkCard[]\n\n \n \n \n \n Default value : [\n {\n body: 'Add tissue blocks using the HRA Registration User Interface (RUI).',\n buttonTitle: 'Register Tissue',\n buttonUrl: 'https://hubmapconsortium.github.io/ccf-ui/rui/'\n },\n {\n body: 'Explore tissue sections in tissue blocks with the HRA Exploration User Interface (EUI).',\n buttonTitle: 'Explore Tissue',\n buttonUrl: 'https://portal.hubmapconsortium.org/ccf-eui'\n },\n {\n body: 'View linkages between anatomical structures, cell types, and common biomarkers (ASCT+B).',\n buttonTitle: 'ASCT+B Reporter',\n buttonUrl: 'https://hubmapconsortium.github.io/ccf-asct-reporter/'\n }\n ]\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/modules/link-cards/link-cards.component.ts:16\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component } from '@angular/core';\n\ninterface LinkCard {\n body: string;\n buttonTitle: string;\n buttonUrl: string;\n}\n\n@Component({\n selector: 'ccf-link-cards',\n templateUrl: './link-cards.component.html',\n styleUrls: ['./link-cards.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LinkCardsComponent {\n linkCards: LinkCard[] = [\n {\n body: 'Add tissue blocks using the HRA Registration User Interface (RUI).',\n buttonTitle: 'Register Tissue',\n buttonUrl: 'https://hubmapconsortium.github.io/ccf-ui/rui/'\n },\n {\n body: 'Explore tissue sections in tissue blocks with the HRA Exploration User Interface (EUI).',\n buttonTitle: 'Explore Tissue',\n buttonUrl: 'https://portal.hubmapconsortium.org/ccf-eui'\n },\n {\n body: 'View linkages between anatomical structures, cell types, and common biomarkers (ASCT+B).',\n buttonTitle: 'ASCT+B Reporter',\n buttonUrl: 'https://hubmapconsortium.github.io/ccf-asct-reporter/'\n }\n ];\n\n deepDives: LinkCard[] = [\n {\n body: '',\n buttonTitle: 'HRA Portal',\n buttonUrl: 'https://humanatlas.io'\n },\n {\n body: '',\n buttonTitle: 'Online Course',\n buttonUrl: 'https://expand.iu.edu/browse/sice/cns/courses/hubmap-visible-human-mooc'\n },\n {\n body: '',\n buttonTitle: 'Paper',\n buttonUrl: 'https://www.nature.com/articles/s41556-021-00788-6'\n }\n ];\n\n goToURL(url: string): void {\n window.open(url, '_blank');\n }\n}\n\n \n\n \n \n \n \n {{ card.body }}\n \n {{ card.buttonTitle }}\n \n \n\n\n\n Human Reference Atlas (HRA) Deep Dive\n \n {{\n button.buttonTitle }}\n \n\n\n \n\n \n \n ./link-cards.component.scss\n \n .link-cards-container {\n max-width: 30rem;\n\n .link-card {\n border-top: 1px solid #e0e0e0;\n padding-top: 1px;\n padding-bottom: 1px;\n\n &:last-of-type {\n border-bottom: 1px solid #e0e0e0;\n }\n\n .link-card-content {\n align-items: center;\n padding: 1rem;\n padding-right: 0rem;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n border-left: 6px solid #444A65;\n\n .link-button {\n margin-left: 2rem;\n background-color: #444A65;\n color: #ffffff;\n\n &:hover {\n background-color: #2F3346;\n }\n }\n }\n }\n}\n\n.deep-dive-section {\n margin-top: 2rem;\n\n .title {\n margin-bottom: 1rem;\n font-size: 1rem;\n }\n\n .button-container {\n display: flex;\n flex-direction: row;\n\n .btn-outline {\n color: #444A65;\n border: 1px solid #444A65;\n background-color: white;\n\n &:not(:last-of-type) {\n margin-right: 1rem;\n }\n\n &:hover {\n background-color: #e0e0e0;\n }\n }\n }\n}\n\n.btn {\n min-width: 9rem !important;\n max-height: 2.28125rem;\n text-align: center;\n white-space: nowrap;\n cursor: pointer;\n font-size: 0.875rem;\n font-weight: 500;\n border-radius: 2px;\n line-height: 2.75;\n transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n font-family: Inter Variable, Helvetica, Arial, sans-serif;\n\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ card.body }} {{ card.buttonTitle }} Human Reference Atlas (HRA) Deep Dive {{ button.buttonTitle }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'LinkCardsComponent', 'selector': 'ccf-link-cards'},{'name': 'OrganComponent', 'selector': 'ccf-organ'},{'name': 'SlideToggleComponent', 'selector': 'ccf-slide-toggle'},{'name': 'StatsListComponent', 'selector': 'ccf-stats-list'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'LinkCardsComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LinkCardsModule.html":{"url":"modules/LinkCardsModule.html","title":"module - LinkCardsModule","body":"\n \n\n\n\n\n Modules\n LinkCardsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_LinkCardsModule\n\n\n\ncluster_LinkCardsModule_declarations\n\n\n\ncluster_LinkCardsModule_exports\n\n\n\n\nLinkCardsComponent\n\nLinkCardsComponent\n\n\n\nLinkCardsModule\n\nLinkCardsModule\n\nLinkCardsModule -->\n\nLinkCardsComponent->LinkCardsModule\n\n\n\n\n\nLinkCardsComponent \n\nLinkCardsComponent \n\nLinkCardsComponent -->\n\nLinkCardsModule->LinkCardsComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-organ-info/src/app/modules/link-cards/link-cards.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n LinkCardsComponent\n \n \n \n \n Exports\n \n \n LinkCardsComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LinkCardsComponent } from './link-cards.component';\nimport { NgxGoogleAnalyticsModule } from 'ngx-google-analytics';\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n NgxGoogleAnalyticsModule,\n ],\n declarations: [LinkCardsComponent],\n exports: [LinkCardsComponent]\n})\nexport class LinkCardsModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/OrganComponent.html":{"url":"components/OrganComponent.html","title":"component - OrganComponent","body":"\n \n\n\n\n\n\n Components\n \n OrganComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-organ-info/src/app/features/organ/organ.component.ts\n\n\n\n\n\n \n Implements\n \n \n AfterViewChecked\n OnChanges\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-organ\n \n\n \n styleUrls\n ./organ.component.scss\n \n\n\n\n \n templateUrl\n ./organ.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n bodyUI\n \n \n filteredBlocks\n \n \n highlightedNodeId\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngAfterViewChecked\n \n \n ngOnChanges\n \n \n nodeClicked\n \n \n updateHighlighting\n \n \n updateSex\n \n \n updateSide\n \n \n zoomToFitOrgan\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n blocks\n \n \n filter\n \n \n organ\n \n \n organIri\n \n \n scene\n \n \n sex\n \n \n side\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n sexChange\n \n \n sideChange\n \n \n \n \n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:29\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n blocks\n \n \n \n \n Type : TissueBlockResult[]\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:20\n \n \n \n \n \n \n \n \n \n filter\n \n \n \n \n Type : Filter\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:21\n \n \n \n \n \n \n \n \n \n organ\n \n \n \n \n Type : SpatialEntity\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:15\n \n \n \n \n \n \n \n \n \n organIri\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:17\n \n \n \n \n \n \n \n \n \n scene\n \n \n \n \n Type : SpatialSceneNode[]\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:16\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n Type : \"Male\" | \"Female\" | \"Both\"\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:18\n \n \n \n \n \n \n \n \n \n side\n \n \n \n \n Type : \"Left\" | \"Right\"\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:19\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n sexChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:23\n \n \n \n \n \n \n \n \n \n sideChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:24\n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngAfterViewChecked\n \n \n \n \n \n \nngAfterViewChecked()\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:33\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnChanges\n \n \n \n \n \n \nngOnChanges(changes: SimpleChanges)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n changes\n \n SimpleChanges\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n nodeClicked\n \n \n \n \n \n \nnodeClicked(event: NodeClickEvent)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n NodeClickEvent\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateHighlighting\n \n \n \n \n \n \nupdateHighlighting()\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:37\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateSex\n \n \n \n \n \n \nupdateSex(selection?: \"Male\" | \"Female\")\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n selection\n \n \"Male\" | \"Female\"\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateSide\n \n \n \n \n \n \nupdateSide(selection?: \"Left\" | \"Right\")\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n selection\n \n \"Left\" | \"Right\"\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n zoomToFitOrgan\n \n \n \n \n \n \nzoomToFitOrgan()\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:66\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n bodyUI\n \n \n \n \n \n \n Type : BodyUiComponent\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('bodyUI', {static: true})\n \n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n filteredBlocks\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n highlightedNodeId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/organ/organ.component.ts:28\n \n \n\n\n \n \n\n\n\n\n\n \n import { AfterViewChecked, ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { NodeClickEvent, SpatialSceneNode } from 'ccf-body-ui';\nimport { Filter, SpatialEntity, TissueBlockResult } from 'ccf-database';\nimport { BodyUiComponent } from 'ccf-shared';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n@Component({\n selector: 'ccf-organ',\n templateUrl: './organ.component.html',\n styleUrls: ['./organ.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OrganComponent implements AfterViewChecked, OnChanges {\n @Input() organ?: SpatialEntity;\n @Input() scene: SpatialSceneNode[];\n @Input() organIri: string;\n @Input() sex?: 'Male' | 'Female' | 'Both';\n @Input() side?: 'Left' | 'Right';\n @Input() blocks?: TissueBlockResult[];\n @Input() filter?: Filter;\n\n @Output() readonly sexChange = new EventEmitter();\n @Output() readonly sideChange = new EventEmitter();\n\n @ViewChild('bodyUI', { static: true }) readonly bodyUI!: BodyUiComponent;\n\n highlightedNodeId: string;\n filteredBlocks: string[];\n\n constructor(readonly ga: GoogleAnalyticsService) { }\n\n ngAfterViewChecked(): void {\n this.updateHighlighting();\n }\n\n updateHighlighting(): void {\n const providerName = new Set(this.filter?.tmc ?? []);\n this.filteredBlocks = this.blocks?.filter(block => providerName.has(block.donor.providerName)).map(block => block['@id']) ?? [];\n this.bodyUI.scene = this.bodyUI.scene.map((node): SpatialSceneNode =>\n ({\n ...node,\n color: node.entityId && this.highlightedNodeId === node['@id'] ?\n [30, 136, 229, 255] :\n this.filteredBlocks.includes(node.entityId ?? '') ? [173, 255, 47, 229.5] : [255, 255, 255, 229.5]\n })\n );\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.bodyUI && 'organ' in changes) {\n this.zoomToFitOrgan();\n }\n }\n\n updateSex(selection?: 'Male' | 'Female'): void {\n this.sex = selection;\n this.sexChange.emit(this.sex);\n }\n\n updateSide(selection?: 'Left' | 'Right'): void {\n this.side = selection;\n this.sideChange.emit(this.side);\n }\n\n zoomToFitOrgan(): void {\n const { bodyUI, organ } = this;\n if (organ) {\n const { x_dimension: x, y_dimension: y, z_dimension: z } = organ;\n bodyUI.rotation = bodyUI.rotationX = 0;\n bodyUI.bounds = { x: 1.25 * x / 1000, y: 1.25 * y / 1000, z: 1.25 * z / 1000 };\n bodyUI.target = [x / 1000 / 2, y / 1000 / 2, z / 1000 / 2];\n }\n }\n\n nodeClicked(event: NodeClickEvent): void {\n this.ga.event('node_click', 'organ', event.node['@id']);\n this.highlightedNodeId = this.highlightedNodeId && this.highlightedNodeId === event.node['@id'] ? '' : event.node['@id'];\n }\n}\n\n \n\n \n \n\n\n\n \n \n\n \n \n\n\n \n\n \n \n ./organ.component.scss\n \n :host {\n display: block;\n background-color: black;\n border-radius: 0.5rem;\n color: white;\n height: 100%;\n\n .body-ui {\n height: 90%;\n }\n\n .stage-options {\n padding: 1rem;\n min-width: 352px;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'LinkCardsComponent', 'selector': 'ccf-link-cards'},{'name': 'OrganComponent', 'selector': 'ccf-organ'},{'name': 'SlideToggleComponent', 'selector': 'ccf-slide-toggle'},{'name': 'StatsListComponent', 'selector': 'ccf-stats-list'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'OrganComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OrganLookupService.html":{"url":"injectables/OrganLookupService.html","title":"injectable - OrganLookupService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n OrganLookupService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n organs\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getBlocks\n \n \n getOrgan\n \n \n getOrganInfo\n \n \n getOrganScene\n \n \n getOrganStats\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(source: DataSourceService)\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n \n DataSourceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getBlocks\n \n \n \n \n \n \ngetBlocks(info: OrganInfo, sex)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n info\n \n OrganInfo\n \n\n \n No\n \n\n \n \n\n \n \n sex\n \n \n\n \n No\n \n\n \n 'Female'\n \n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOrgan\n \n \n \n \n \n \ngetOrgan(info: OrganInfo, sex)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n info\n \n OrganInfo\n \n\n \n No\n \n\n \n \n\n \n \n sex\n \n \n\n \n No\n \n\n \n 'Both'\n \n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOrganInfo\n \n \n \n \n \n \ngetOrganInfo(iri: string, side?, _sex)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n side\n \n \n\n \n Yes\n \n\n \n \n\n \n \n _sex\n \n \n\n \n No\n \n\n \n 'Female'\n \n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOrganScene\n \n \n \n \n \n \ngetOrganScene(info: OrganInfo, sex)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n info\n \n OrganInfo\n \n\n \n No\n \n\n \n \n\n \n \n sex\n \n \n\n \n No\n \n\n \n 'Female'\n \n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOrganStats\n \n \n \n \n \n \ngetOrganStats(info: OrganInfo, sex)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n info\n \n OrganInfo\n \n\n \n No\n \n\n \n \n\n \n \n sex\n \n \n\n \n No\n \n\n \n 'Female'\n \n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n organs\n \n \n \n \n \n \n Default value : ALL_POSSIBLE_ORGANS\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts:12\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { AggregateResult, Filter, SpatialEntity, SpatialSceneNode, TissueBlockResult } from 'ccf-database';\nimport { ALL_POSSIBLE_ORGANS, DataSourceService, OrganInfo } from 'ccf-shared';\nimport { Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OrganLookupService {\n private readonly organs = ALL_POSSIBLE_ORGANS;\n\n constructor(private readonly source: DataSourceService) { }\n\n getOrganInfo(iri: string, side?: OrganInfo['side'], _sex: Filter['sex'] = 'Female'): Observable {\n let info = this.organs.find(item => item.id === iri);\n if (!info) {\n return of(undefined);\n }\n\n const organ = info.organ;\n\n if (info.disabled) {\n info = this.organs.find(item => !item.disabled && item.organ === organ);\n }\n if (info?.side && side && info.side !== side) {\n info = this.organs.find(item => !item.disabled && item.organ === organ && item.side === side);\n }\n\n return of(info);\n }\n\n getOrgan(info: OrganInfo, sex: Filter['sex'] = 'Both'): Observable {\n return this.source.getReferenceOrgans().pipe(\n map(entities => entities.find(entity =>\n entity.representation_of === info.id && (sex === 'Both' || entity.sex === sex)\n ))\n );\n }\n\n getOrganScene(info: OrganInfo, sex: Filter['sex'] = 'Female'): Observable {\n if (info.id) {\n const filter: Partial = { ontologyTerms: [info.id], sex };\n return this.source.getReferenceOrganScene(info.id, filter as Filter);\n } else {\n return of([]);\n }\n }\n\n getOrganStats(info: OrganInfo, sex: Filter['sex'] = 'Female'): Observable {\n if (info.id) {\n const filter: Partial = { ontologyTerms: [info.id], sex };\n return this.source.getAggregateResults(filter as Filter);\n } else {\n return of([]);\n }\n }\n\n getBlocks(info: OrganInfo, sex: Filter['sex'] = 'Female'): Observable {\n if (info.id) {\n const filter: Partial = { ontologyTerms: [info.id], sex };\n return this.source.getTissueBlockResults(filter as Filter);\n } else {\n return of([]);\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OrganModule.html":{"url":"modules/OrganModule.html","title":"module - OrganModule","body":"\n \n\n\n\n\n Modules\n OrganModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_OrganModule\n\n\n\ncluster_OrganModule_imports\n\n\n\ncluster_OrganModule_exports\n\n\n\ncluster_OrganModule_declarations\n\n\n\n\nOrganComponent\n\nOrganComponent\n\n\n\nOrganModule\n\nOrganModule\n\nOrganModule -->\n\nOrganComponent->OrganModule\n\n\n\n\n\nOrganComponent \n\nOrganComponent \n\nOrganComponent -->\n\nOrganModule->OrganComponent \n\n\n\n\n\nSlideToggleModule\n\nSlideToggleModule\n\nOrganModule -->\n\nSlideToggleModule->OrganModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-organ-info/src/app/features/organ/organ.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n OrganComponent\n \n \n \n \n Imports\n \n \n SlideToggleModule\n \n \n \n \n Exports\n \n \n OrganComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OrganComponent } from './organ.component';\n\nimport { BodyUiModule } from 'ccf-shared';\nimport { SlideToggleModule } from '../slide-toggle/slide-toggle/slide-toggle.module';\n\n\n@NgModule({\n declarations: [\n OrganComponent\n ],\n imports: [\n CommonModule,\n BodyUiModule,\n SlideToggleModule\n ],\n exports: [\n OrganComponent\n ]\n})\nexport class OrganModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SlideToggleComponent.html":{"url":"components/SlideToggleComponent.html","title":"component - SlideToggleComponent","body":"\n \n\n\n\n\n\n Components\n \n SlideToggleComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-slide-toggle\n \n\n \n styleUrls\n ./slide-toggle.component.scss\n \n\n\n\n \n templateUrl\n ./slide-toggle.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n updateToggle\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n disabled\n \n \n labels\n \n \n value\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n valueChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n left\n \n \n \n \n \n \n\n\n\n \n Inputs\n \n \n \n \n \n disabled\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts:28\n \n \n \n \n Whether or not the slider is disabled\n\n \n \n \n \n \n \n \n \n \n labels\n \n \n \n \n Type : [string, string]\n\n \n \n \n \n Default value : ['Left', 'Right']\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts:18\n \n \n \n \n The two selection options to be toggled\n\n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Left'\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts:23\n \n \n \n \n Input value for toggle slider\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n valueChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts:33\n \n \n \n \n Emits the datatype with the currently selected option\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-slide-toggle\"\n\n \n \n \n \n Default value : 'ccf-slide-toggle'\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts:13\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n updateToggle\n \n \n \n \n \n \nupdateToggle(selection: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts:48\n \n \n\n\n \n \n Updates and emits the currently selected option\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n selection\n \n boolean\n \n\n \n No\n \n\n\n \n The current toggle state (true=left, false=right)\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-slide-toggle'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts:13\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n left\n \n \n\n \n \n getleft()\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts:38\n \n \n \n \n Determines if left toggle option is selected\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import { Component, EventEmitter, HostBinding, Input, Output, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'ccf-slide-toggle',\n templateUrl: './slide-toggle.component.html',\n styleUrls: ['./slide-toggle.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SlideToggleComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-slide-toggle';\n\n /**\n * The two selection options to be toggled\n */\n @Input() labels: [string, string] = ['Left', 'Right'];\n\n /**\n * Input value for toggle slider\n */\n @Input() value = 'Left';\n\n /**\n * Whether or not the slider is disabled\n */\n @Input() disabled = false;\n\n /**\n * Emits the datatype with the currently selected option\n */\n @Output() readonly valueChange = new EventEmitter();\n\n /**\n * Determines if left toggle option is selected\n */\n get left(): boolean {\n const { value, labels } = this;\n return value !== labels[1];\n }\n\n /**\n * Updates and emits the currently selected option\n *\n * @param selection The current toggle state (true=left, false=right)\n */\n updateToggle(selection: boolean): void {\n this.value = selection ? this.labels[0] : this.labels[1];\n this.valueChange.emit(this.value);\n }\n}\n\n \n\n \n {{labels[0].charAt(0).toUpperCase() + labels[0].slice(1)}}\n\n{{labels[1].charAt(0).toUpperCase() + labels[1].slice(1)}}\n \n\n \n \n ./slide-toggle.component.scss\n \n :host{\n .slide-label {\n margin: 0 1rem;\n transition: color .6s;\n cursor: pointer;\n opacity: 50%;\n \n &.highlighted {\n opacity: 100%;\n }\n }\n \n .disabled {\n opacity: 30% !important;\n cursor: not-allowed;\n }\n\n ::ng-deep .slider {\n .mat-slide-toggle-bar {\n background-color: rgba(67, 71, 101, 0.5);\n }\n .mat-slide-toggle-thumb {\n background-color: rgba(67, 71, 101);\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{labels[0].charAt(0).toUpperCase() + labels[0].slice(1)}}{{labels[1].charAt(0).toUpperCase() + labels[1].slice(1)}}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'LinkCardsComponent', 'selector': 'ccf-link-cards'},{'name': 'OrganComponent', 'selector': 'ccf-organ'},{'name': 'SlideToggleComponent', 'selector': 'ccf-slide-toggle'},{'name': 'StatsListComponent', 'selector': 'ccf-stats-list'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SlideToggleComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SlideToggleModule.html":{"url":"modules/SlideToggleModule.html","title":"module - SlideToggleModule","body":"\n \n\n\n\n\n Modules\n SlideToggleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SlideToggleModule\n\n\n\ncluster_SlideToggleModule_declarations\n\n\n\ncluster_SlideToggleModule_exports\n\n\n\n\nSlideToggleComponent\n\nSlideToggleComponent\n\n\n\nSlideToggleModule\n\nSlideToggleModule\n\nSlideToggleModule -->\n\nSlideToggleComponent->SlideToggleModule\n\n\n\n\n\nSlideToggleComponent \n\nSlideToggleComponent \n\nSlideToggleComponent -->\n\nSlideToggleModule->SlideToggleComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SlideToggleComponent\n \n \n \n \n Exports\n \n \n SlideToggleComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\n\nimport { SlideToggleComponent } from './slide-toggle.component';\n\n\n@NgModule({\n declarations: [\n SlideToggleComponent\n ],\n imports: [\n CommonModule,\n MatSlideToggleModule\n ],\n exports: [\n SlideToggleComponent\n ]\n})\nexport class SlideToggleModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/StatsListComponent.html":{"url":"components/StatsListComponent.html","title":"component - StatsListComponent","body":"\n \n\n\n\n\n\n Components\n \n StatsListComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-organ-info/src/app/modules/stats-list/stats-list.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-stats-list\n \n\n \n styleUrls\n ./stats-list.component.scss\n \n\n\n\n \n templateUrl\n ./stats-list.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n stats\n \n \n statsLabel\n \n \n \n \n\n\n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n stats\n \n \n \n \n Type : AggregateResult[]\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/modules/stats-list/stats-list.component.ts:12\n \n \n \n \n \n \n \n \n \n statsLabel\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-organ-info/src/app/modules/stats-list/stats-list.component.ts:11\n \n \n \n \n\n\n\n\n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { AggregateResult } from 'ccf-database';\n\n@Component({\n selector: 'ccf-stats-list',\n templateUrl: './stats-list.component.html',\n styleUrls: ['./stats-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class StatsListComponent {\n @Input() statsLabel: string;\n @Input() stats: AggregateResult[];\n}\n\n \n\n \n \n \n {{ statsLabel }}\n \n\n \n {{ stat.count }}\n {{ stat.label }}\n \n\n \n\n \n \n ./stats-list.component.scss\n \n .stats-container {\n margin-bottom: 2rem;\n min-height: 9rem;\n\n .header {\n margin-bottom: 1rem;\n }\n\n .stats-row {\n display: flex;\n flex-direction: row;\n height: 1.325rem;\n\n .stat {\n width: 2rem;\n margin-right: 1rem;\n text-align: right;\n }\n\n .label {\n flex-grow: 1;\n text-align: left;\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ statsLabel }} {{ stat.count }} {{ stat.label }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'LinkCardsComponent', 'selector': 'ccf-link-cards'},{'name': 'OrganComponent', 'selector': 'ccf-organ'},{'name': 'SlideToggleComponent', 'selector': 'ccf-slide-toggle'},{'name': 'StatsListComponent', 'selector': 'ccf-stats-list'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'StatsListComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StatsListModule.html":{"url":"modules/StatsListModule.html","title":"module - StatsListModule","body":"\n \n\n\n\n\n Modules\n StatsListModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_StatsListModule\n\n\n\ncluster_StatsListModule_exports\n\n\n\ncluster_StatsListModule_declarations\n\n\n\n\nStatsListComponent\n\nStatsListComponent\n\n\n\nStatsListModule\n\nStatsListModule\n\nStatsListModule -->\n\nStatsListComponent->StatsListModule\n\n\n\n\n\nStatsListComponent \n\nStatsListComponent \n\nStatsListComponent -->\n\nStatsListModule->StatsListComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-organ-info/src/app/modules/stats-list/stats-list.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n StatsListComponent\n \n \n \n \n Exports\n \n \n StatsListComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StatsListComponent } from './stats-list.component';\n\n\n\n@NgModule({\n declarations: [\n StatsListComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [ StatsListComponent ]\n})\nexport class StatsListModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StoreModule.html":{"url":"modules/StoreModule.html","title":"module - StoreModule","body":"\n \n\n\n\n\n Modules\n StoreModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-organ-info/src/app/core/store/store.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { NgxsDataPluginModule } from '@ngxs-labs/data';\nimport { NgxsLoggerPluginModule } from '@ngxs/logger-plugin';\nimport { NgxsModule } from '@ngxs/store';\n\nimport { environment } from '../../../environments/environment';\nimport { GlobalConfigState } from 'ccf-shared';\n\n\n/**\n * States shared across the entire app.\n */\nexport const ROOT_STATES = [\n GlobalConfigState,\n];\n\n@NgModule({\n imports: [\n // For some strange reason the data plugin is not happy being placed after the store module!?\n NgxsDataPluginModule.forRoot(),\n\n NgxsModule.forRoot(ROOT_STATES, {\n developmentMode: !environment.production\n // Consider setting compatibility and executionStrategy\n // https://www.ngxs.io/advanced/options\n }),\n\n // Logger plugin must be last!\n NgxsLoggerPluginModule.forRoot({\n disabled: environment.production\n })\n ]\n})\nexport class StoreModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.2 - 2023-07-12\nAdded in 3.7.2\n\nClient side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1\n\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-organ-info/src/app/app-web-component.component.ts\n \n component\n AppWebComponent\n \n 0 %\n (0/15)\n \n \n \n \n \n projects/ccf-organ-info/src/app/app-web-component.component.ts\n \n function\n parseDataSources\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-organ-info/src/app/app-web-component.component.ts\n \n function\n parseStringArray\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-organ-info/src/app/app.component.ts\n \n component\n AppComponent\n \n 0 %\n (0/19)\n \n \n \n \n \n projects/ccf-organ-info/src/app/app.component.ts\n \n interface\n GlobalConfig\n \n 0 %\n (0/5)\n \n \n \n \n \n projects/ccf-organ-info/src/app/app.component.ts\n \n variable\n EMPTY_SCENE\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-organ-info/src/app/core/services/data-source/data-source.service.ts\n \n injectable\n DelegateDataSourceService\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-organ-info/src/app/core/services/data-source/data-source.service.ts\n \n interface\n DelegateDataSourceOptions\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-organ-info/src/app/core/services/organ-lookup/organ-lookup.service.ts\n \n injectable\n OrganLookupService\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-organ-info/src/app/core/store/store.module.ts\n \n variable\n ROOT_STATES\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-organ-info/src/app/features/organ/organ.component.ts\n \n component\n OrganComponent\n \n 0 %\n (0/21)\n \n \n \n \n \n projects/ccf-organ-info/src/app/features/slide-toggle/slide-toggle/slide-toggle.component.ts\n \n component\n SlideToggleComponent\n \n 87 %\n (7/8)\n \n \n \n \n \n projects/ccf-organ-info/src/app/modules/link-cards/link-cards.component.ts\n \n component\n LinkCardsComponent\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-organ-info/src/app/modules/link-cards/link-cards.component.ts\n \n interface\n LinkCard\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-organ-info/src/app/modules/stats-list/stats-list.component.ts\n \n component\n StatsListComponent\n \n 0 %\n (0/3)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n object-hash : ^3.0.0\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n parseDataSources   (projects/.../app-web-component.component.ts)\n \n \n parseStringArray   (projects/.../app-web-component.component.ts)\n \n \n \n \n \n \n\n\n projects/ccf-organ-info/src/app/app-web-component.component.ts\n \n \n \n \n \n \n \n parseDataSources\n \n \n \n \n \n \nparseDataSources(value)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n value\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n parseStringArray\n \n \n \n \n \n \nparseStringArray(value)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n value\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AppModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CoreModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LinkCardsModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OrganModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SlideToggleModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StatsListModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StoreModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\ncluster_LinkCardsModule\n\n\n\ncluster_LinkCardsModule_declarations\n\n\n\ncluster_LinkCardsModule_exports\n\n\n\ncluster_OrganModule\n\n\n\ncluster_OrganModule_declarations\n\n\n\ncluster_OrganModule_imports\n\n\n\ncluster_OrganModule_exports\n\n\n\ncluster_SlideToggleModule\n\n\n\ncluster_SlideToggleModule_declarations\n\n\n\ncluster_SlideToggleModule_exports\n\n\n\ncluster_StatsListModule\n\n\n\ncluster_StatsListModule_declarations\n\n\n\ncluster_StatsListModule_exports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nAppModule -->\n\nCoreModule->AppModule\n\n\n\n\n\nLinkCardsModule\n\nLinkCardsModule\n\nAppModule -->\n\nLinkCardsModule->AppModule\n\n\n\n\n\nLinkCardsComponent \n\nLinkCardsComponent \n\nLinkCardsComponent -->\n\nLinkCardsModule->LinkCardsComponent \n\n\n\n\n\nOrganModule\n\nOrganModule\n\nAppModule -->\n\nOrganModule->AppModule\n\n\n\n\n\nOrganComponent \n\nOrganComponent \n\nOrganComponent -->\n\nOrganModule->OrganComponent \n\n\n\n\n\nStatsListModule\n\nStatsListModule\n\nAppModule -->\n\nStatsListModule->AppModule\n\n\n\n\n\nStatsListComponent \n\nStatsListComponent \n\nStatsListComponent -->\n\nStatsListModule->StatsListComponent \n\n\n\n\n\nStoreModule\n\nStoreModule\n\nCoreModule -->\n\nStoreModule->CoreModule\n\n\n\n\n\nLinkCardsComponent\n\nLinkCardsComponent\n\nLinkCardsModule -->\n\nLinkCardsComponent->LinkCardsModule\n\n\n\n\n\nOrganComponent\n\nOrganComponent\n\nOrganModule -->\n\nOrganComponent->OrganModule\n\n\n\n\n\nSlideToggleModule\n\nSlideToggleModule\n\nOrganModule -->\n\nSlideToggleModule->OrganModule\n\n\n\n\n\nSlideToggleComponent \n\nSlideToggleComponent \n\nSlideToggleComponent -->\n\nSlideToggleModule->SlideToggleComponent \n\n\n\n\n\nSlideToggleComponent\n\nSlideToggleComponent\n\nSlideToggleModule -->\n\nSlideToggleComponent->SlideToggleModule\n\n\n\n\n\nStatsListComponent\n\nStatsListComponent\n\nStatsListModule -->\n\nStatsListComponent->StatsListModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n \n\n \n \n \n \n \n \n 7 Modules\n \n \n \n \n \n \n \n \n 6 Components\n \n \n \n \n \n \n \n 2 Injectables\n \n \n \n \n \n \n \n 3 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n EMPTY_SCENE   (projects/.../app.component.ts)\n \n \n ROOT_STATES   (projects/.../store.module.ts)\n \n \n \n \n \n \n\n\n projects/ccf-organ-info/src/app/app.component.ts\n \n \n \n \n \n \n \n EMPTY_SCENE\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n { color: [0, 0, 0, 0], opacity: 0.001 }\n]\n \n \n\n\n \n \n\n projects/ccf-organ-info/src/app/core/store/store.module.ts\n \n \n \n \n \n \n \n ROOT_STATES\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n GlobalConfigState,\n]\n \n \n\n \n \n States shared across the entire app.\n\n \n \n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} } diff --git a/docs/ccf-rui/changelog.html b/docs/ccf-rui/changelog.html index e8dc15f05..9ea14e8de 100644 --- a/docs/ccf-rui/changelog.html +++ b/docs/ccf-rui/changelog.html @@ -33,6 +33,11 @@

                Changelog

                Changelog for the Human Reference Atlas (HRA) User Interfaces

                +

                3.7.2 - 2023-07-12

                +

                Added in 3.7.2

                +
                  +
                • Client side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1
                • +

                3.7.0 - 2023-06-15

                Added in 3.7.0

                  diff --git a/docs/ccf-rui/dependencies.html b/docs/ccf-rui/dependencies.html index 2fe6263d4..b13a927ca 100644 --- a/docs/ccf-rui/dependencies.html +++ b/docs/ccf-rui/dependencies.html @@ -162,6 +162,8 @@ ngx-markdown : ^12.0.1
                • node-fetch : ^2.6.7
                • +
                • + object-hash : ^3.0.0
                • qs : ^6.10.2
                • diff --git a/docs/ccf-rui/js/search/search_index.js b/docs/ccf-rui/js/search/search_index.js index 1b72b41fe..1cc2e63f5 100644 --- a/docs/ccf-rui/js/search/search_index.js +++ b/docs/ccf-rui/js/search/search_index.js @@ -1,4 +1,4 @@ var COMPODOC_SEARCH_INDEX = { - "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/injectables/AnatomicalStructureTagState.html",[0,1.271,1,2.49]],["body/injectables/AnatomicalStructureTagState.html",[0,1.515,1,2.967,2,2.047,3,0.067,4,0.084,5,0.059,6,0.12,7,6.793,8,3.829,9,5.291,10,2.881,11,0.834,12,2.15,13,4.584,14,2.967,15,2.51,16,1.977,17,5.391,18,0.337,19,0.574,20,2.148,21,5.391,22,2.692,23,2.823,24,5.046,25,1.304,26,5.912,27,5.203,28,5.387,29,2.872,30,4.584,31,5.203,32,2.634,33,5.249,34,5.391,35,1.081,36,2.881,37,3.773,38,1.953,39,5.203,40,0.967,41,0.992,42,1.728,43,0.01,44,1.067,45,0.778,46,1.346,47,1.216,48,1.477,49,3.489,50,3.217,51,4.584,52,1.954,53,3.88,54,3.589,55,1.613,56,1.227,57,4.584,58,3.589,59,3.426,60,3.629,61,3.629,62,4.584,63,3.589,64,3.589,65,2.227,66,4.176,67,3.589,68,4.584,69,0.908,70,4.691,71,1.533,72,5.301,73,3.589,74,4.176,75,0.007,76,3.166,77,4,78,4.176,79,4.176,80,0.007,81,4.584,82,4.268,83,3.629,84,0.006,85,0.667,86,0.702,87,3.589,88,2.394,89,3.589,90,2.056,91,2.199,92,3.489,93,3.589,94,3.589,95,3.589,96,2.707,97,3.589,98,3.589,99,0.315,100,4.584,101,3.163,102,1.753,103,3.163,104,0.172,105,2.634,106,2.227,107,2.096,108,1.536,109,1.536,110,1.446,111,2.671,112,1.887,113,1.019,114,1.585,115,1.222,116,2.244,117,2.14,118,2.671,119,1.963,120,2.14,121,2.881,122,1.404,123,1.404,124,1.404,125,1.326,126,1.404,127,2.671,128,1.638,129,0.348,130,0.122,131,2.671,132,1.49,133,0.118,134,1.379,135,3.163,136,3.163,137,3.163,138,3.629,139,1.253,140,3.67,141,0.919,142,0.943,143,4.419,144,3.163,145,2.881,146,3.163,147,3.163,148,3.163,149,3.648,150,3.163,151,3.163,152,3.163,153,3.163,154,3.163,155,2.703,156,2.096,157,3.163,158,2.364,159,4.584,160,1.069,161,0.542,162,1.536,163,1.638,164,2.364,165,2.047,166,2.364,167,2.364,168,2.244,169,2.364,170,2.364,171,3.163,172,3.163,173,2.244,174,2.244,175,3.163,176,3.163,177,2.504,178,4.584,179,4.584,180,4.584,181,3.426,182,1.819,183,4.584,184,2.504,185,2.504,186,3.163,187,3.163,188,1.159,189,2.364,190,3.163,191,3.163,192,3.163,193,3.163,194,3.163]],["title/interfaces/AnatomicalStructureTagStateModel.html",[129,0.292,131,3.249]],["body/interfaces/AnatomicalStructureTagStateModel.html",[0,1.767,1,2.549,3,0.084,4,0.104,5,0.074,6,0.063,7,3.589,8,2.949,9,2.795,10,3.589,11,0.556,12,2.134,13,3.939,14,2.549,15,2.498,16,1.699,17,5.348,20,1.997,21,3.939,22,2.702,23,2.619,24,4.538,26,3.939,28,3.589,29,1.913,33,5.186,34,3.939,35,1.072,37,3.646,40,0.831,41,0.852,43,0.01,44,0.622,45,0.723,47,1.1,48,1.269,49,3.461,50,3.191,51,3.939,53,3.742,55,0.919,56,1.167,57,3.939,59,2.944,60,3.118,61,3.118,62,3.939,65,1.913,66,3.589,68,3.939,69,0.822,70,4.538,71,1.12,72,5.501,74,3.589,75,0.007,76,2.863,77,3.618,78,3.589,79,3.589,80,0.007,81,3.939,82,4.233,83,3.118,84,0.006,88,2.374,90,1.86,91,2.181,92,3.461,96,2.619,99,0.327,100,5.348,101,3.939,102,2.183,103,3.939,104,0.215,105,3.073,106,2.598,107,2.445,108,1.913,109,1.913,110,1.801,111,3.327,112,2.35,113,1.269,114,1.975,115,1.521,116,2.795,117,2.665,118,3.327,119,2.445,120,2.665,121,3.589,122,1.749,123,1.749,124,1.749,125,1.652,126,1.749,127,3.327,128,2.04,129,0.407,130,0.142,131,4.517,132,1.856,133,0.147,134,1.519,135,3.939,136,3.939,137,3.939,138,4.233,139,1.333,140,4.043,141,1.072,142,1.1,143,4.868,144,3.939,145,3.589,146,3.939,147,3.939,148,3.939,149,4.108,150,3.939,151,3.939,152,3.939,153,3.939,154,3.939,155,2.977,156,2.445,157,3.939,158,2.944,159,5.348,160,1.177,161,0.675,162,1.913,163,2.04,164,2.944,165,2.549,166,2.944,167,2.944,168,2.795,169,2.944,170,2.944,171,3.939,172,3.939,173,2.795,174,2.795,175,3.939,176,3.939,177,3.118,178,5.348,179,5.348,180,5.348,181,3.997,182,2.122,183,5.348,184,3.118,185,3.118,186,3.939,187,3.939,188,1.443,189,2.944,190,3.939,191,3.939,192,3.939,193,3.939,194,3.939,195,1.177]],["title/components/AppComponent.html",[196,0.424,197,1.179]],["body/components/AppComponent.html",[3,0.049,4,0.061,5,0.068,6,0.12,11,0.773,12,0.981,16,1,18,0.538,19,0.454,20,1.437,22,1.364,23,1.927,25,1.031,32,2.084,35,0.727,37,3.367,38,1.967,42,1.448,43,0.01,44,0.993,45,0.599,46,1.128,52,1.198,55,1.279,56,1.133,69,1.079,75,0.004,80,0.003,84,0.003,85,1.422,86,1.467,88,2.243,91,2.061,99,0.278,104,0.126,112,1.383,113,0.747,129,0.276,130,0.096,133,0.087,134,0.846,139,0.829,141,1.013,142,0.746,160,0.656,161,1.288,182,1.439,188,1.328,196,0.604,197,1.548,198,1.031,199,0.747,200,0.827,201,0.827,202,0.806,203,1.958,204,2.453,205,1.658,206,2.476,207,3.339,208,0.71,209,1.229,210,1.229,211,2.213,212,1.099,213,1.239,214,1.111,215,4.069,216,1.111,217,3.304,218,4.069,219,3.272,220,4.542,221,4.542,222,3.772,223,3.536,224,3.585,225,4.312,226,4.361,227,4.069,228,3.626,229,4.116,230,2.801,231,3.776,232,4.603,233,3.304,234,3.626,235,4.116,236,4.069,237,2.112,238,5.535,239,4.603,240,4.603,241,3.536,242,3.418,243,3.773,244,3.27,245,2.236,246,2.31,247,2.773,248,3.136,249,4.116,250,2.871,251,3.339,252,2.318,253,3.776,254,4.116,255,4.996,256,1.707,257,2.343,258,2.239,259,1.712,260,1.788,261,4.911,262,3.763,263,2.739,264,2.631,265,4.603,266,4.116,267,4.069,268,4.069,269,3.339,270,4.069,271,3.773,272,3.063,273,3.063,274,3.304,275,3.304,276,2.631,277,2.453,278,1.521,279,2.631,280,2.631,281,2.347,282,3.304,283,2.453,284,4.267,285,4.069,286,3.776,287,2.168,288,2.631,289,3.304,290,2.631,291,2.631,292,3.304,293,2.631,294,2.631,295,3.304,296,2.631,297,1.639,298,2.631,299,2.299,300,1.838,301,2.773,302,2.631,303,2.347,304,2.084,305,2.631,306,2.871,307,2.164,308,1.093,309,1.239,310,3.136,311,3.17,312,2.573,313,2.239,314,2.631,315,3.304,316,2.631,317,3.304,318,2.631,319,2.631,320,2.631,321,0.786,322,1.733,323,1.958,324,1.733,325,2.112,326,0.766,327,1.958,328,2.112,329,1.958,330,1.958,331,1.568,332,1.5,333,0.895,334,1.383,335,1.383,336,1.835,337,0.846,338,2.112,339,2.112,340,3.304,341,2.112,342,2.112,343,2.112,344,2.112,345,3.304,346,2.112,347,1.958,348,2.112,349,2.112,350,1.645,351,2.112,352,2.112,353,1.439,354,2.112,355,2.112,356,2.112,357,1.568,358,2.112,359,0.786,360,2.112,361,2.112,362,2.871,363,2.112,364,2.112,365,2.112,366,2.112,367,2.112,368,2.112,369,5.729,370,2.112,371,4.069,372,2.112,373,5.535,374,2.112,375,1.958,376,2.112,377,5.132,378,1.332,379,2.112,380,3.341,381,2.112,382,2.176,383,3.304,384,3.932,385,1.835,386,2.112,387,1.564,388,3.304,389,1.5,390,1.708,391,3.304,392,2.112,393,1.958,394,2.112,395,1.645,396,4.116,397,5.734,398,5.052,399,0.895,400,1.68,401,2.739,402,2.573,403,2.573,404,2.826,405,1.822,406,1.5,407,2.347,408,1.2,409,1.057,410,2.084,411,2.665,412,2.631,413,1.285,414,1.229,415,2.631,416,2.664,417,2.453,418,2.749,419,2.871,420,2.631,421,2.862,422,5.069,423,2.871,424,1.057,425,2.251,426,2.318,427,2.17,428,2.251,429,1.168,430,2.711,431,1.942,432,1.568,433,2.453,434,2.17,435,1.241,436,1.761,437,1.761,438,3.304,439,2.112,440,2.112,441,1.2,442,2.665,443,2.631,444,1.2,445,1.06,446,2.711,447,1.835,448,2.392,449,3.015,450,0.889,451,2.476,452,4.116,453,0.889,454,1.835,455,2.631,456,2.631,457,1.51,458,1.835,459,3.339,460,4.116,461,2.567,462,2.631,463,2.631,464,1.332,465,2.112,466,1.029,467,1.835,468,0.827,469,1.031,470,0.827,471,1.803,472,0.827,473,0.827,474,0.747,475,0.827,476,0.728,477,1.594,478,0.747,479,0.827,480,1.111,481,1.594,482,0.747,483,0.786,484,0.827,485,0.747,486,0.827,487,0.747,488,0.71,489,0.827,490,0.747,491,0.827,492,0.747,493,0.747,494,0.827,495,0.747,496,0.806,497,0.728,498,0.827,499,0.747,500,1.294,501,0.728,502,0.747,503,0.747,504,1.594,505,0.747,506,1.198,507,1.294,508,0.728,509,0.747,510,0.728,511,0.612,512,0.827,513,0.728,514,0.71,515,0.747,516,0.827,517,0.747,518,0.827,519,0.747,520,0.827,521,0.747,522,1.031,523,0.747,524,1.168,525,0.747,526,0.827,527,0.747,528,1.084,529,0.827,530,0.747,531,0.827,532,0.827]],["title/modules/AppModule.html",[533,1.271,534,3.249]],["body/modules/AppModule.html",[3,0.098,4,0.122,5,0.086,6,0.096,25,1.312,37,3.711,38,1.218,43,0.01,55,1.076,56,1.018,75,0.007,80,0.006,84,0.006,99,0.342,104,0.251,130,0.122,133,0.172,139,0.856,161,0.791,197,2.318,204,3.121,205,2.109,212,0.651,226,2.986,284,3.897,287,1.647,297,1.379,323,3.897,324,3.449,326,1.525,330,3.897,424,1.345,474,2.437,534,6.784,535,1.486,536,1.962,537,4.613,538,4.613,539,4.613,540,5.811,541,5.811,542,5.811,543,5.811,544,5.811,545,5.811,546,5.811,547,2.119,548,1.486,549,5.236,550,2.293,551,6.738,552,2.175,553,7.451,554,5.236,555,6.738,556,2.065,557,5.236,558,4.613,559,6.738,560,4.613,561,2.864,562,2.797,563,2.048,564,6.738,565,5.937,566,4.438,567,3.274,568,5.409,569,4.203,570,5.937,571,6.738,572,3.652,573,5.236,574,5.236,575,5.236,576,5.015,577,5.236,578,5.236,579,5.236,580,3.897,581,6.738,582,5.236,583,4.438,584,4.613,585,5.236,586,3.897,587,5.236,588,3.449,589,5.015,590,5.409,591,3.652,592,4.203,593,4.613,594,5.236,595,5.236,596,2.109,597,6.738,598,5.236,599,4.613,600,5.236,601,3.897]],["title/interfaces/AppOptions.html",[129,0.292,336,3.045]],["body/interfaces/AppOptions.html",[3,0.078,4,0.097,5,0.069,6,0.059,16,2.2,18,0.392,19,0.638,20,1.45,22,1.383,23,1.586,35,0.737,37,3.387,43,0.01,45,0.651,46,1.479,56,1.139,69,1.191,75,0.006,80,0.004,84,0.004,85,0.776,88,2.264,91,2.08,99,0.313,104,0.2,112,2.194,113,1.184,129,0.388,130,0.135,133,0.137,134,1.19,139,1.087,141,1.023,142,0.756,160,0.922,161,1.291,182,1.459,195,1.099,196,0.645,197,1.126,203,3.105,204,2.487,205,1.681,206,2.827,207,3.812,209,1.246,210,1.246,211,1.665,212,0.826,213,1.02,214,1.126,215,3.349,216,1.126,217,3.349,218,3.349,219,3.965,220,5.14,221,5.14,222,3.166,223,2.91,224,3.619,225,4.156,226,4.783,227,3.349,230,2.038,231,2.748,232,3.349,236,3.349,238,5.336,239,4.647,240,4.647,241,2.91,242,3.451,243,3.105,244,3.301,245,2.58,246,2.332,247,2.282,248,3.166,251,2.748,253,2.748,255,4.647,256,1.546,257,2.037,258,1.843,259,1.729,260,1.45,261,4.308,262,3.301,263,2.403,265,3.349,267,3.349,268,3.349,269,2.748,270,3.349,271,3.105,272,3.105,273,3.105,274,3.349,275,3.349,277,2.487,278,1.542,281,2.379,282,3.349,283,2.487,284,4.947,285,4.647,286,4.378,287,2.258,289,3.349,292,3.349,295,3.349,297,1.75,299,2.139,300,1.045,301,3.166,303,2.379,304,2.113,306,2.91,307,2.194,308,0.796,309,1.02,310,2.282,311,3.619,312,2.609,313,1.843,315,3.349,317,3.349,321,1.246,322,2.748,323,3.105,324,2.748,325,3.349,326,1.215,327,3.105,328,3.349,329,3.105,330,3.105,331,2.487,332,2.379,333,1.42,334,2.194,335,2.194,336,4.038,337,1.476,338,3.349,339,3.349,340,4.647,341,3.349,342,3.349,343,3.349,344,3.349,345,4.647,346,3.349,347,3.105,348,3.349,349,3.349,350,2.609,351,3.349,352,3.349,353,2.282,354,3.349,355,3.349,356,3.349,357,2.487,358,3.349,359,1.246,360,3.349,361,3.349,362,2.91,363,3.349,364,3.349,365,3.349,366,3.349,367,3.349,368,3.349,369,6.55,370,3.349,371,5.336,372,3.349,373,6.424,374,3.349,375,3.105,376,3.349,377,5.956,378,2.113,379,3.349,380,3.952,381,3.349,382,2.024,383,4.647,384,4.564,385,2.91,386,3.349,387,2.2,388,4.647,389,2.379,390,2.403,391,4.647,392,3.349,393,3.105,394,3.349,395,2.609]],["title/components/AppWebComponent.html",[196,0.424,474,1.239]],["body/components/AppWebComponent.html",[3,0.076,4,0.095,5,0.093,6,0.124,12,1.355,16,2.159,18,0.381,19,0.626,35,1.004,38,2.02,42,0.945,43,0.01,44,0.988,45,0.804,46,0.736,56,0.858,69,1.219,75,0.006,80,0.004,82,3.962,84,0.004,99,0.301,104,0.195,113,1.153,130,0.181,133,0.134,139,0.664,142,0.736,196,0.636,197,1.096,198,1.641,199,1.613,201,1.277,202,1.244,208,1.096,209,1.697,210,1.697,211,2.27,212,1.13,213,1.601,219,3.73,220,4.315,221,4.315,226,3.736,245,1.459,246,2.858,247,3.881,248,3.881,256,0.945,259,2.578,260,1.423,299,2.935,300,1.641,308,1.083,309,0.993,321,1.213,326,1.182,329,3.022,333,2.704,337,1.666,359,1.213,409,1.043,450,0.877,453,0.877,457,1.069,468,1.277,469,1.423,470,1.277,471,2.231,472,1.277,473,1.277,474,2.014,475,1.277,476,1.124,477,2.06,478,1.153,479,1.277,480,1.534,481,2.06,482,1.153,483,1.213,484,1.277,485,1.153,486,1.277,487,1.153,488,1.096,489,1.277,490,1.153,491,1.277,492,1.153,493,1.153,494,1.277,495,1.153,496,1.244,497,1.124,498,1.277,499,1.153,500,1.786,501,1.124,502,1.153,503,1.153,504,2.06,505,1.153,506,1.654,507,1.786,508,1.124,509,1.153,510,1.124,511,0.945,512,1.277,513,1.124,514,1.096,515,1.153,516,1.277,517,1.153,518,1.277,519,1.153,520,1.277,521,1.153,522,1.423,523,1.153,524,1.613,525,1.153,526,1.277,527,1.153,528,1.496,529,1.277,530,1.153,531,1.277,532,1.277,572,6.086,602,7.004,603,3.26,604,6.551,605,5.68,606,3.906,607,2.288,608,4.096,609,4.673,610,5.696,611,6.251,612,3.134,613,6.251,614,5.28,615,4.061,616,5.68,617,5.68,618,4.061,619,4.57,620,4.061,621,4.315,622,4.061,623,5.772,624,4.061,625,4.061,626,4.061,627,4.061,628,4.061,629,4.876,630,4.061,631,4.061,632,4.061,633,4.061,634,4.061,635,1.983,636,2.056,637,5.68,638,4.061,639,2.056,640,2.056,641,5.005,642,1.738,643,4.061,644,4.061,645,4.061,646,3.26,647,4.061,648,4.061,649,4.061,650,4.061,651,4.061,652,6.551,653,6.551,654,6.551]],["title/interfaces/BlockSize.html",[129,0.292,655,2.388]],["body/interfaces/BlockSize.html",[3,0.099,4,0.124,5,0.087,6,0.075,11,0.659,18,0.498,19,0.749,40,0.986,41,1.011,43,0.01,44,0.946,45,0.68,47,0.961,56,1.026,69,0.718,71,2.178,75,0.007,80,0.006,84,0.006,86,1.037,99,0.257,104,0.255,129,0.502,130,0.159,132,2.202,133,0.224,139,1.111,141,1.201,160,1.194,161,1.132,182,1.855,195,1.397,196,0.767,209,1.584,210,1.584,211,1.329,212,0.844,214,1.432,216,1.432,256,2.102,259,2.571,260,1.329,321,1.584,382,2.857,387,3.106,390,3.392,404,2.51,409,2.211,414,2.029,469,1.329,476,1.468,596,2.137,655,4.323,656,3.7,657,3.493,658,3.162,659,5.056,660,3.44,661,4.469,662,4.508,663,5.986,664,2.82,665,1.506,666,2.82,667,2.658,668,2.016,669,1.96,670,2.51,671,3.947,672,5.579,673,4.508,674,3.947,675,3.493,676,3.493,677,1.506,678,1.668,679,3.281,680,3.947,681,3.493,682,4.673,683,2.658,684,2.27,685,4.248,686,3.162,687,3.861,688,3.947,689,3.493,690,4.673,691,3.7,692,3.493,693,3.317,694,6.605,695,3.947,696,4.673,697,5.986,698,4.673,699,5.986,700,3.947,701,4.673,702,4.673]],["title/components/BlockSizeInputComponent.html",[196,0.424,476,1.209]],["body/components/BlockSizeInputComponent.html",[3,0.069,4,0.086,5,0.087,6,0.112,11,0.773,12,1.267,18,0.347,19,0.586,25,1.331,35,0.653,38,1.798,40,0.988,41,1.013,42,1.236,43,0.01,44,1.138,45,0.681,46,0.963,47,0.963,52,1.076,55,1.092,56,1.027,69,0.921,71,1.558,75,0.006,76,1.743,80,0.004,84,0.004,85,1.156,86,1.409,99,0.201,104,0.177,129,0.356,130,0.124,132,1.533,133,0.247,139,0.869,141,1.099,142,0.67,160,0.991,161,1.088,182,1.857,188,1.714,196,0.75,197,0.997,198,1.331,199,1.049,200,1.162,201,1.162,202,1.132,208,0.997,209,1.586,210,1.586,211,2.254,212,1.124,213,0.903,214,1.434,216,1.434,219,1.942,256,2.078,259,2.585,260,1.704,300,1.558,308,1.013,309,0.903,321,1.103,382,2.378,387,2.585,390,2.823,399,1.257,400,1.434,401,2.581,404,2.513,408,1.685,409,2.318,414,2.031,421,1.533,427,1.581,434,2.273,436,1.581,437,1.581,444,2.424,445,1.488,448,1.743,450,0.798,451,1.804,453,1.147,454,2.577,457,0.973,461,1.871,468,1.162,469,1.805,470,1.162,471,2.138,472,1.162,473,1.162,474,1.049,475,1.162,476,1.883,477,1.956,478,1.049,479,1.162,480,1.434,481,1.956,482,1.049,483,1.103,484,1.162,485,1.049,486,1.162,487,1.049,488,0.997,489,1.162,490,1.049,491,1.162,492,1.049,493,1.049,494,1.162,495,1.049,496,1.132,497,1.023,498,1.162,499,1.049,500,1.67,501,1.023,502,1.049,503,1.049,504,1.956,505,1.049,506,1.546,507,1.67,508,1.023,509,1.049,510,1.023,511,0.859,512,1.162,513,1.023,514,0.997,515,1.049,516,1.162,517,1.049,518,1.162,519,1.049,520,1.162,521,1.049,522,1.331,523,1.049,524,1.508,525,1.049,526,1.162,527,1.049,528,1.399,529,1.162,530,1.049,531,1.162,532,1.162,561,2.02,592,2.965,596,1.488,607,2.505,655,4.103,656,5.516,657,5.209,658,2.202,659,2.749,660,1.871,661,4.295,662,4.407,663,5.48,664,2.581,665,1.049,666,2.205,667,2.66,668,1.404,669,1.365,670,2.298,671,2.749,672,5.061,673,4.108,674,3.953,675,3.498,676,4.096,677,1.508,678,1.956,679,3.283,680,3.953,681,3.498,682,5.48,683,2.433,684,2.273,685,4.505,686,3.166,687,3.664,688,3.953,689,3.498,690,4.68,691,2.577,692,2.433,693,2.31,694,5.48,695,2.749,696,3.255,697,4.68,698,3.255,699,4.68,700,3.953,701,5.992,702,3.255,703,5.312,704,2.594,705,1.76,706,1.942,707,5.312,708,3.255,709,4.68,710,3.694,711,3.255,712,4.264,713,4.096,714,3.255,715,2.577,716,3.255,717,2.31,718,2.02,719,2.577,720,2.202,721,2.577,722,1.942,723,2.577,724,3.255,725,2.965,726,2.577,727,2.31,728,2.433,729,2.433]],["title/modules/BlockSizeInputModule.html",[533,1.271,730,3.045]],["body/modules/BlockSizeInputModule.html",[3,0.12,4,0.149,5,0.105,6,0.091,43,0.01,75,0.008,80,0.007,84,0.007,99,0.335,104,0.307,130,0.149,133,0.21,256,1.488,409,2.094,424,1.642,476,2.516,535,1.815,536,2.221,547,2.398,548,1.815,550,2.596,552,2.064,556,2.337,562,3.166,563,2.501,656,4.46,657,4.211,730,6.17,731,5.634,732,5.634,733,5.634,734,5.133,735,2.596,736,2.741,737,2.176,738,5.676,739,4.759,740,5.32,741,4.46,742,4.172,743,3.497,744,5.133]],["title/modules/ConfigModule.html",[533,1.271,745,3.045]],["body/modules/ConfigModule.html",[3,0.128,4,0.16,5,0.112,6,0.097,43,0.01,75,0.008,80,0.007,84,0.007,99,0.317,104,0.328,130,0.16,133,0.225,212,0.849,326,1.988,535,1.939,556,2.43,588,4.498,589,5.083,745,5.53,746,6.83,747,5.53,748,5.901,749,6.365,750,3.895,751,6.83,752,6.83]],["title/components/ContainerComponent.html",[196,0.424,478,1.239]],["body/components/ContainerComponent.html",[3,0.062,4,0.078,5,0.081,6,0.119,11,0.729,12,1.176,18,0.463,19,0.544,20,2.193,25,1.236,32,2.497,35,0.59,38,1.944,40,0.917,41,0.94,42,1.147,43,0.01,44,0.963,45,0.725,46,0.894,47,0.894,48,1.4,52,1.887,55,1.539,56,0.979,61,2.328,69,0.452,71,1.236,75,0.005,80,0.004,84,0.004,85,1.091,86,1.147,90,1.511,99,0.274,104,0.16,113,0.947,115,1.136,130,0.078,133,0.238,134,1.332,139,1.06,141,1.037,142,0.605,160,1.032,161,0.886,188,1.894,196,0.786,197,0.901,198,1.814,199,0.947,200,1.049,201,1.049,202,1.023,205,1.987,206,2.866,208,0.901,209,1.473,210,1.473,211,2.235,212,1.116,213,0.816,214,1.332,216,1.332,225,4.683,230,3.166,247,3.545,248,3.545,256,1.147,257,2.119,258,2.863,260,1.236,263,3.005,277,2.94,278,2.395,297,1.972,300,2.124,308,0.94,309,0.816,311,3.669,312,3.084,313,3.72,321,0.997,337,1.332,357,1.989,382,1.167,395,2.087,399,1.136,400,0.901,406,2.813,407,1.903,409,0.857,416,3.604,417,1.989,429,0.947,450,0.721,453,0.721,457,0.879,466,1.929,468,1.049,469,1.733,470,1.049,471,2.038,472,1.049,473,1.049,474,0.947,475,1.049,476,0.924,477,1.845,478,1.84,479,1.049,480,1.867,481,1.845,482,0.947,483,0.997,484,1.049,485,1.84,486,1.049,487,0.947,488,0.901,489,1.049,490,0.947,491,1.049,492,0.947,493,0.947,494,1.049,495,0.947,496,1.023,497,0.924,498,1.049,499,0.947,500,1.551,501,0.924,502,0.947,503,0.947,504,1.845,505,0.947,506,1.436,507,1.551,508,0.924,509,0.947,510,0.924,511,0.776,512,1.049,513,0.924,514,0.901,515,0.947,516,1.049,517,0.947,518,1.049,519,0.947,520,1.049,521,0.947,522,1.236,523,0.947,524,1.4,525,0.947,526,1.049,527,0.947,528,1.299,529,1.049,530,0.947,531,1.049,532,1.049,588,3.248,660,1.69,665,0.947,677,1.4,705,1.635,753,2.679,754,2.698,755,4.71,756,4.346,757,4.932,758,3.396,759,5.867,760,4.932,761,3.155,762,4.366,763,5.867,764,5.867,765,4.761,766,3.959,767,5.203,768,6.481,769,5.867,770,3.959,771,4.932,772,2.593,773,3.378,774,3.248,775,4.932,776,4.932,777,3.308,778,3.337,779,4.346,780,4.932,781,3.248,782,3.671,783,3.671,784,3.337,785,2.179,786,4.932,787,4.932,788,3.337,789,3.337,790,4.932,791,4.932,792,2.866,793,3.337,794,3.248,795,7.49,796,4.932,797,6.481,798,3.337,799,5.203,800,3.959,801,6.481,802,4.932,803,3.337,804,3.959,805,4.346,806,4.932,807,3.337,808,3.337,809,3.337,810,4.346,811,3.337,812,3.337,813,1.236,814,3.337,815,3.337,816,2.679,817,2.679,818,2.484,819,2.198,820,2.328,821,2.94,822,3.959,823,3.337,824,2.94,825,3.337,826,2.94,827,3.864,828,3.864,829,2.94,830,2.94,831,3.337,832,3.337,833,3.337,834,3.337,835,2.198,836,2.679,837,2.94,838,2.484,839,3.337,840,3.337,841,4.346,842,2.087,843,2.698,844,4.346,845,3.337,846,3.337,847,3.337,848,1.822,849,3.337,850,3.337,851,4.932,852,4.932,853,3.337,854,3.337,855,3.337,856,3.337,857,3.337,858,3.337,859,3.337,860,2.484,861,3.337,862,3.337]],["title/components/ContentComponent.html",[196,0.424,480,1.179]],["body/components/ContentComponent.html",[3,0.056,4,0.069,5,0.074,6,0.118,11,0.679,12,1.076,15,2.257,18,0.513,19,0.498,20,1.647,22,2.179,23,2.632,24,3.599,25,1.131,35,0.798,38,1.919,40,0.839,41,0.861,42,1.271,43,0.01,44,1.058,45,0.725,46,0.991,52,0.863,55,1.351,56,1.046,69,0.401,71,1.131,75,0.005,80,0.003,84,0.003,85,1.38,86,1.451,88,2.39,91,2.195,92,3.484,99,0.288,104,0.142,114,1.31,115,1.009,130,0.069,133,0.228,139,0.894,141,0.524,142,0.991,160,1.047,161,1.273,188,0.957,196,0.765,197,0.8,198,1.131,199,0.842,200,0.932,201,0.932,202,0.909,205,1.818,206,2.669,207,3.599,208,0.8,209,1.348,210,1.348,211,2.212,212,1.109,213,1.336,214,1.219,216,1.219,230,2.669,231,4.024,237,2.38,244,3.484,247,3.341,248,3.341,256,1.271,257,2.478,258,1.994,260,1.647,263,1.231,278,1.668,283,1.768,287,1.921,297,0.781,300,1.369,308,1.449,309,0.725,321,0.886,324,1.953,331,1.768,332,1.691,337,0.928,377,4.892,378,1.501,380,3.093,382,2.795,384,3.484,387,2.947,390,3.218,393,2.207,399,1.009,400,1.775,401,2.536,404,2.019,405,1.622,406,1.691,407,2.574,409,0.762,410,1.501,411,1.559,414,1.963,416,3.583,418,2.414,421,1.874,427,1.269,429,1.281,433,2.691,434,1.269,435,1.399,436,1.269,437,1.269,447,2.068,449,1.559,450,1.18,453,0.975,457,0.781,459,1.953,461,3.093,464,1.501,468,0.932,469,1.647,470,0.932,471,1.921,472,0.932,473,0.932,474,0.842,475,0.932,476,0.821,477,1.719,478,0.842,479,0.932,480,1.775,481,1.719,482,0.842,483,0.886,484,0.932,485,0.842,486,0.932,487,0.842,488,0.8,489,0.932,490,0.842,491,0.932,492,0.842,493,0.842,494,0.932,495,0.842,496,0.909,497,0.821,498,0.932,499,0.842,500,1.419,501,0.821,502,0.842,503,0.842,504,1.719,505,0.842,506,1.314,507,1.419,508,0.821,509,0.842,510,0.821,511,0.69,512,0.932,513,0.821,514,0.8,515,0.842,516,0.932,517,0.842,518,0.932,519,0.842,520,0.932,521,0.842,522,1.131,523,0.842,524,1.281,525,0.842,526,0.932,527,0.842,528,1.189,529,0.932,530,0.842,531,0.932,532,0.932,548,1.281,612,2.414,635,2.205,636,2.286,639,1.501,640,1.501,665,0.842,673,1.691,677,1.281,678,1.719,705,1.496,713,2.973,720,1.768,721,2.068,722,1.559,754,2.989,774,2.973,781,2.973,785,2.414,813,1.531,863,2.612,864,4.387,865,3.977,866,5.465,867,5.465,868,6.109,869,6.109,870,6.925,871,5.465,872,4.514,873,5.465,874,4.514,875,3.212,876,6.109,877,4.514,878,4.514,879,4.514,880,2.965,881,5.465,882,2.965,883,2.965,884,2.965,885,6.574,886,2.965,887,2.965,888,1.691,889,2.965,890,2.965,891,2.205,892,2.965,893,2.965,894,3.82,895,3.329,896,1.854,897,4.514,898,4.514,899,4.514,900,4.514,901,6.925,902,4.292,903,4.514,904,4.514,905,4.514,906,4.514,907,4.514,908,4.514,909,2.965,910,2.965,911,3.623,912,4.514,913,6.574,914,3.977,915,3.977,916,4.514,917,4.514,918,2.965,919,2.965,920,5.465,921,3.977,922,4.514,923,4.514,924,4.514,925,4.514,926,4.514,927,4.514,928,2.965,929,5.465,930,2.822,931,2.965,932,2.822,933,4.514,934,2.612,935,2.38,936,2.965,937,2.38,938,2.965,939,2.965,940,2.965,941,3.623,942,3.148,943,1.953,944,2.068,945,1.953,946,1.953,947,1.953,948,2.38,949,1.953,950,4.514,951,6.109,952,6.109,953,3.359,954,1.768,955,3.359,956,4.514,957,4.514,958,4.514,959,4.514,960,2.984,961,2.822,962,2.973,963,1.854,964,1.953,965,1.874,966,2.965,967,3.359,968,2.068,969,1.964,970,2.965,971,2.965,972,1.768,973,2.965,974,2.612,975,2.207,976,2.068,977,2.965]],["title/components/ContentComponent-1.html",[188,1.175,196,0.353,480,0.982]],["body/components/ContentComponent-1.html",[3,0.058,4,0.072,5,0.077,6,0.12,11,0.776,12,1.112,15,1.633,18,0.438,19,0.514,20,2.082,25,1.168,35,0.547,38,1.961,40,0.867,41,0.889,42,1.305,43,0.01,44,0.98,45,0.732,46,1.017,47,0.845,48,1.323,52,1.95,55,1.377,56,1.063,69,0.419,71,1.964,75,0.005,80,0.003,84,0.003,85,1.517,86,1.578,90,1.429,99,0.253,104,0.149,113,0.878,130,0.072,133,0.232,134,1.283,139,1.195,141,0.824,142,0.561,160,1.164,161,0.847,165,2.659,188,1.505,196,0.747,197,0.835,198,1.168,199,1.323,200,0.973,201,0.973,202,0.948,205,1.878,206,2.74,208,0.835,209,1.392,210,1.392,211,2.22,212,1.109,213,0.756,214,1.259,225,4.568,230,3.05,247,3.415,248,3.415,256,0.72,257,1.913,258,2.758,260,1.168,263,2.922,277,2.779,278,1.723,287,2.297,297,1.924,300,2.173,308,0.889,309,0.756,311,3.507,312,2.915,321,0.924,337,1.502,357,1.845,362,2.158,378,1.567,380,2.84,382,1.082,395,1.935,399,1.053,400,0.835,401,1.935,402,1.935,403,1.935,404,1.143,405,1.112,406,1.765,409,1.976,414,2.298,416,3.63,421,1.935,423,2.158,424,0.795,429,2.074,434,1.995,435,1.46,450,1.578,453,1.578,457,0.815,465,2.484,466,1.21,467,2.158,468,0.973,469,1.678,470,0.973,471,1.963,472,0.973,473,0.973,474,0.878,475,0.973,476,0.857,477,1.764,478,0.878,479,0.973,480,1.808,481,1.764,482,0.878,483,0.924,484,0.973,485,1.901,486,0.973,487,0.878,488,0.835,489,0.973,490,0.878,491,0.973,492,0.878,493,0.878,494,0.973,495,0.878,496,0.948,497,0.857,498,0.973,499,0.878,500,1.466,501,0.857,502,0.878,503,0.878,504,1.764,505,0.878,506,1.357,507,1.466,508,0.857,509,0.878,510,0.857,511,0.72,512,0.973,513,0.857,514,0.835,515,0.878,516,0.973,517,0.878,518,0.973,519,0.878,520,0.973,521,0.878,522,1.168,523,0.878,524,1.323,525,0.878,526,0.973,527,0.878,528,1.228,529,0.973,530,0.878,531,0.973,532,0.973,606,1.845,665,0.878,677,1.323,684,2.672,705,1.545,758,3.109,762,4.175,765,3.993,766,3.742,770,3.742,772,2.451,773,3.05,774,3.07,777,3.109,781,3.07,782,3.47,783,3.47,805,4.108,813,1.884,818,2.303,827,4.812,828,4.636,838,2.303,842,1.935,843,1.692,864,4.503,964,2.038,965,1.935,969,3.106,978,2.726,979,4.662,980,7.016,981,5.609,982,6.698,983,5.609,984,5.609,985,6.244,986,4.662,987,4.662,988,4.662,989,6.244,990,6.244,991,6.244,992,4.662,993,3.07,994,4.662,995,5.609,996,4.662,997,4.662,998,5.609,999,4.662,1000,4.662,1001,3.742,1002,3.094,1003,3.742,1004,3.742,1005,3.094,1006,3.094,1007,4.108,1008,3.742,1009,4.662,1010,4.979,1011,3.094,1012,4.662,1013,3.094,1014,3.252,1015,2.059,1016,4.662,1017,6.244,1018,2.303,1019,4.175,1020,2.484,1021,2.484,1022,3.094,1023,3.094,1024,3.094,1025,3.094,1026,3.094,1027,3.094,1028,3.094,1029,2.484,1030,4.662,1031,3.094,1032,4.662,1033,3.094,1034,1.692,1035,2.038,1036,3.094,1037,3.094,1038,3.094,1039,5.609,1040,3.094,1041,3.094,1042,4.662,1043,3.094,1044,3.094,1045,4.662,1046,3.094,1047,3.094,1048,3.094,1049,3.094,1050,2.726]],["title/interfaces/ContentContainerChanged.html",[129,0.292,1051,2.73]],["body/interfaces/ContentContainerChanged.html",[3,0.1,4,0.125,5,0.088,6,0.076,11,0.663,15,1.554,18,0.501,19,0.752,43,0.01,45,0.828,47,1.236,48,1.515,71,1.709,75,0.007,80,0.006,84,0.006,90,2.304,99,0.202,122,2.087,123,2.087,124,2.087,125,1.972,126,2.087,129,0.531,130,0.206,133,0.176,139,0.872,141,1.205,182,2.77,195,1.405,196,0.795,198,1.709,222,2.918,300,2.235,313,3.013,337,1.402,414,2.037,416,3.725,425,3.73,431,2.517,522,1.337,606,3.181,642,3.218,679,2.215,758,3.321,761,2.435,765,4.066,772,2.805,773,3.331,777,3.94,792,3.331,813,1.709,842,3.337,843,3.73,848,1.972,969,2.451,1010,4.265,1014,3.722,1034,2.918,1051,4.701,1052,3.337,1053,4.775,1054,4.757,1055,4.757,1056,4.951,1057,3.722,1058,4.265,1059,3.722,1060,4.518,1061,4.265,1062,4.757,1063,3.971,1064,3.971,1065,4.265,1066,4.265,1067,3.971,1068,3.722,1069,4.757,1070,3.722,1071,3.722,1072,4.112,1073,3.337,1074,3.337]],["title/modules/ContentModule.html",[533,1.271,540,3.045]],["body/modules/ContentModule.html",[3,0.116,4,0.145,5,0.102,6,0.088,43,0.01,75,0.008,80,0.007,84,0.007,99,0.336,104,0.298,130,0.145,133,0.204,212,0.771,309,1.83,326,1.805,424,1.593,457,1.633,480,2.444,524,1.76,535,1.76,536,2.18,540,6.291,547,2.355,548,1.76,550,2.548,552,2.417,556,2.294,562,3.108,563,2.426,735,2.548,736,2.691,737,2.11,740,5.223,741,4.325,817,4.978,1075,5.463,1076,5.463,1077,5.463,1078,5.463,1079,6.061,1080,6.061,1081,6.201,1082,7.488,1083,7.488,1084,4.325,1085,6.201,1086,4.084,1087,4.615,1088,6.201]],["title/modules/CoreModule.html",[533,1.271,541,3.045]],["body/modules/CoreModule.html",[3,0.116,4,0.144,5,0.101,6,0.088,43,0.01,46,1.119,75,0.008,80,0.007,84,0.007,99,0.335,104,0.296,130,0.144,133,0.203,141,1.091,212,0.928,213,1.509,326,1.797,327,4.593,424,1.585,533,2.174,535,1.752,536,2.174,541,6.287,547,2.348,548,1.752,552,2.41,556,2.288,601,4.593,639,3.125,640,3.125,735,2.101,745,6.055,830,5.438,1089,5.438,1090,5.438,1091,6.055,1092,6.055,1093,6.172,1094,7.467,1095,6.172,1096,5.208,1097,7.467,1098,6.172,1099,6.172,1100,6.172,1101,6.172,1102,6.172,1103,6.172,1104,6.172,1105,6.172,1106,4.593,1107,8.028,1108,6.172,1109,4.954,1110,6.172]],["title/interfaces/DefaultIconDefinition.html",[129,0.292,1111,3.249]],["body/interfaces/DefaultIconDefinition.html",[3,0.072,4,0.09,5,0.063,6,0.054,11,0.477,18,0.36,19,0.602,43,0.01,44,1.279,45,0.628,46,1.448,69,1.14,75,0.006,80,0.004,84,0.004,90,1.175,129,0.257,130,0.127,139,0.627,142,1.377,195,1.01,204,5.459,303,5.211,308,0.731,350,5.749,441,3.928,450,1.579,453,1.579,469,1.958,612,3.056,660,2.763,754,2.098,965,1.592,1111,4.726,1112,2.675,1113,3.079,1114,3.079,1115,2.016,1116,3.079,1117,3.379,1118,4.06,1119,3.835,1120,3.835,1121,3.079,1122,3.835,1123,3.835,1124,2.675,1125,3.379,1126,6.84,1127,4.06,1128,5.553,1129,3.593,1130,2.526,1131,3.079,1132,2.675,1133,3.379,1134,8.045,1135,3.379,1136,3.379,1137,3.379,1138,4.807,1139,3.379,1140,3.379,1141,3.379,1142,3.379,1143,3.379,1144,3.379,1145,6.095,1146,6.095,1147,6.44,1148,6.44,1149,3.079,1150,3.379,1151,4.57,1152,3.379,1153,3.379,1154,3.379,1155,4.38,1156,4.38,1157,4.807,1158,3.379,1159,3.379,1160,3.379,1161,3.379,1162,6.44,1163,3.379,1164,4.807,1165,2.854,1166,3.379,1167,3.379,1168,3.379,1169,3.379,1170,3.379,1171,3.379,1172,3.379,1173,3.379,1174,3.379,1175,3.379,1176,3.379,1177,6.095,1178,4.807,1179,3.379,1180,3.379,1181,3.379,1182,3.379,1183,4.807,1184,3.379,1185,3.379,1186,3.079,1187,3.379,1188,3.379,1189,3.379,1190,3.379,1191,3.379,1192,4.807,1193,4.38,1194,3.079,1195,3.379,1196,3.079,1197,3.379,1198,3.379,1199,3.379,1200,3.379,1201,3.379,1202,3.379,1203,3.379,1204,6.095,1205,3.379,1206,3.379,1207,6.095,1208,3.079,1209,3.379,1210,2.675,1211,3.379,1212,3.379,1213,5.595,1214,3.379,1215,4.807,1216,3.379,1217,3.379,1218,3.379,1219,3.379]],["title/components/DetailsLabelComponent.html",[196,0.424,482,1.239]],["body/components/DetailsLabelComponent.html",[3,0.085,4,0.106,5,0.101,6,0.11,11,0.763,12,1.465,18,0.427,19,0.677,25,1.539,38,1.732,42,1.059,43,0.01,44,1.14,45,0.676,46,0.825,52,1.325,55,1.263,69,1.188,75,0.007,80,0.005,84,0.005,85,1.293,86,1.36,99,0.172,104,0.219,130,0.106,133,0.264,134,0.935,142,0.825,156,3.227,160,0.725,161,1.05,196,0.755,197,1.229,198,1.539,199,1.292,200,1.431,201,1.431,202,1.394,208,1.229,209,1.835,210,1.835,211,2.288,212,1.139,213,1.112,214,1.658,216,1.658,256,1.429,259,1.835,260,1.539,300,1.742,304,3.11,308,1.171,309,1.112,321,1.359,399,1.549,400,1.877,404,1.681,409,1.169,411,3.23,441,2.803,445,2.474,450,0.983,453,0.983,457,1.198,466,2.403,468,1.431,469,1.948,470,1.431,471,2.341,472,1.431,473,1.431,474,1.292,475,1.431,476,1.26,477,2.187,478,1.292,479,1.431,480,1.658,481,2.187,482,2.114,483,2.654,484,1.431,485,1.292,486,1.431,487,1.292,488,1.229,489,1.431,490,1.292,491,1.431,492,1.292,493,1.292,494,1.431,495,1.292,496,1.394,497,1.26,498,1.431,499,1.292,500,1.932,501,1.26,502,1.292,503,1.292,504,2.187,505,1.292,506,1.789,507,1.932,508,1.26,509,1.292,510,1.26,511,1.059,512,1.431,513,1.26,514,1.229,515,1.292,516,1.431,517,1.292,518,1.431,519,1.292,520,1.431,521,1.292,522,1.539,523,1.292,524,1.744,525,1.292,526,1.431,527,1.292,528,1.618,529,1.431,530,1.292,531,1.431,532,1.431,607,2.474,665,1.292,677,1.744,678,2.187,705,2.036,1220,6.241,1221,5.786,1222,4.01,1223,5.412,1224,5.412,1225,4.666,1226,7.446,1227,6.143,1228,7.446,1229,6.143,1230,6.954,1231,6.143,1232,6.143,1233,4.551,1234,6.143,1235,6.143,1236,4.551,1237,3.36,1238,6.143,1239,5.412,1240,7.446,1241,6.143,1242,6.143,1243,6.143,1244,4.551,1245,6.143,1246,2.845]],["title/modules/DetailsLabelModule.html",[533,1.271,1247,3.045]],["body/modules/DetailsLabelModule.html",[3,0.124,4,0.155,5,0.109,6,0.094,43,0.01,75,0.008,80,0.007,84,0.007,99,0.313,104,0.318,130,0.155,133,0.218,424,1.702,482,2.59,483,1.979,535,1.881,536,2.268,547,2.449,548,1.881,550,2.651,552,2.139,556,2.387,735,2.651,736,2.799,737,2.255,1220,5.319,1221,4.931,1247,6.212,1248,5.838,1249,5.838,1250,5.838,1251,6.626,1252,6.626]],["title/interfaces/DocumentationContent.html",[129,0.292,1253,3.505]],["body/interfaces/DocumentationContent.html",[3,0.147,4,0.157,5,0.11,6,0.095,8,2.868,11,0.833,18,0.629,19,0.865,43,0.01,45,0.711,69,1.197,75,0.008,80,0.007,84,0.007,129,0.449,130,0.157,195,1.764,416,3.785,717,5.53,1253,6.294,1254,5.904,1255,6.701,1256,4.19,1257,4.674,1258,5.751,1259,5.379,1260,3.821,1261,5.835]],["title/interfaces/DrawerContainersChanged.html",[129,0.292,1058,2.73]],["body/interfaces/DrawerContainersChanged.html",[3,0.099,4,0.124,5,0.087,6,0.075,11,0.658,15,1.541,18,0.497,19,0.748,43,0.01,45,0.829,47,1.23,48,1.503,71,1.7,75,0.007,80,0.006,84,0.006,90,2.079,99,0.2,122,2.071,123,2.071,124,2.071,125,1.956,126,2.071,129,0.529,130,0.206,133,0.174,139,0.866,141,0.935,182,2.762,195,1.394,196,0.767,198,1.876,222,2.895,300,2.25,313,2.997,337,1.395,414,2.027,416,3.381,425,3.711,431,2.497,522,1.326,606,3.156,642,3.205,679,2.816,758,3.308,761,2.415,765,4.869,772,2.783,773,3.314,777,3.936,792,3.314,813,1.7,842,3.31,843,3.711,848,2.507,969,2.439,1010,4.243,1014,4.733,1034,2.895,1051,4.243,1052,3.31,1053,4.765,1054,4.733,1055,4.733,1056,4.932,1057,3.692,1058,4.683,1059,4.733,1060,4.504,1061,4.243,1062,4.733,1063,3.94,1064,3.94,1065,4.243,1066,4.243,1067,3.94,1068,3.692,1069,4.733,1070,3.692,1071,3.692,1072,4.096,1073,3.31,1074,3.31]],["title/interfaces/DrawerInitialized.html",[129,0.292,1065,2.73]],["body/interfaces/DrawerInitialized.html",[3,0.101,4,0.126,5,0.088,6,0.076,11,0.668,15,1.565,18,0.504,19,0.756,43,0.01,45,0.829,47,1.242,48,1.525,71,1.717,75,0.007,80,0.006,84,0.006,90,2.099,99,0.203,122,2.102,123,2.102,124,2.102,125,1.986,126,2.102,129,0.532,130,0.206,133,0.177,139,0.879,141,0.95,182,2.637,195,1.415,196,0.732,198,1.717,222,2.939,300,2.246,313,3.026,337,1.408,414,2.046,416,3.4,425,3.747,431,2.535,522,1.346,606,3.204,642,3.228,679,2.23,758,3.332,761,2.452,765,4.084,772,2.825,773,3.346,777,3.944,792,3.346,813,1.717,842,3.36,843,3.747,848,1.986,969,2.462,1010,4.284,1014,3.748,1034,2.939,1051,4.284,1052,3.36,1053,4.784,1054,4.779,1055,4.779,1056,4.967,1057,3.748,1058,4.284,1059,3.748,1060,4.529,1061,4.284,1062,4.779,1063,5.099,1064,5.099,1065,4.716,1066,4.284,1067,3.999,1068,3.748,1069,4.779,1070,3.748,1071,3.748,1072,4.125,1073,3.36,1074,3.36]],["title/modules/DrawerModule.html",[533,1.271,542,3.045]],["body/modules/DrawerModule.html",[3,0.113,4,0.14,5,0.099,6,0.085,43,0.01,75,0.008,80,0.006,84,0.006,99,0.336,104,0.289,130,0.14,133,0.198,424,1.544,478,2.56,480,2.358,485,2.56,521,2.56,522,1.506,535,1.707,536,2.139,542,6.349,547,2.311,548,1.707,550,2.501,552,1.94,556,2.252,562,3.05,563,2.351,565,6.474,566,4.839,567,3.759,568,5.899,569,4.826,588,3.959,589,4.474,590,4.826,735,2.501,817,4.826,818,4.474,1057,4.193,1262,5.297,1263,5.297,1264,5.297,1265,6.012,1266,4.595,1267,4.595,1268,6.012,1269,4.826,1270,5.297]],["title/interfaces/DrawerToggled.html",[129,0.292,1066,2.73]],["body/interfaces/DrawerToggled.html",[3,0.096,4,0.12,5,0.085,6,0.073,11,0.639,15,1.94,18,0.483,19,0.735,43,0.01,45,0.831,47,1.208,48,1.891,71,2.078,75,0.007,80,0.005,84,0.005,90,2.042,99,0.195,122,2.013,123,2.013,124,2.013,125,1.901,126,2.013,129,0.523,130,0.205,133,0.169,139,0.841,141,0.909,182,2.733,195,1.355,196,0.717,198,1.669,222,3.644,300,2.262,313,2.943,337,1.704,414,2.477,416,3.345,425,4.536,431,3.143,522,1.669,606,3.067,642,3.162,679,2.136,758,3.264,761,2.347,765,3.972,772,3.503,773,3.254,777,3.921,792,3.254,813,1.958,842,3.217,843,3.644,848,1.901,969,2.98,1010,5.185,1014,3.589,1034,2.814,1051,4.166,1052,3.217,1053,4.616,1054,4.647,1055,4.647,1056,4.866,1057,3.589,1058,4.166,1059,3.589,1060,4.456,1061,4.166,1062,4.647,1063,3.829,1064,3.829,1065,4.166,1066,4.62,1067,4.958,1068,4.647,1069,4.647,1070,3.589,1071,3.589,1072,4.041,1073,3.217,1074,3.217]],["title/interfaces/ExtractionSet.html",[129,0.292,1271,2.388]],["body/interfaces/ExtractionSet.html",[3,0.12,4,0.15,5,0.105,6,0.091,11,0.796,18,0.601,19,0.842,43,0.01,44,1.219,45,0.74,46,1.384,69,1.185,75,0.008,80,0.007,84,0.007,99,0.242,129,0.429,130,0.15,142,1.587,195,1.686,299,3.295,488,2.408,528,1.686,686,4.55,891,3.728,1271,4.175,1272,5.641,1273,5.641,1274,6.221,1275,7.633,1276,4.44,1277,7.633,1278,3.502]],["title/components/ExtractionSetDropdownComponent.html",[196,0.424,487,1.239]],["body/components/ExtractionSetDropdownComponent.html",[3,0.07,4,0.087,5,0.088,6,0.114,11,0.777,12,1.274,18,0.35,19,0.589,25,1.339,35,0.658,38,1.844,40,0.993,41,1.019,42,1.243,43,0.01,44,1.103,45,0.703,46,0.969,47,0.969,52,1.085,55,1.284,56,0.807,69,0.504,75,0.006,80,0.004,84,0.004,85,0.993,86,1.413,99,0.236,104,0.179,130,0.087,133,0.248,134,0.766,141,0.658,142,1.666,160,0.851,161,1.092,188,1.202,196,0.702,197,1.006,198,1.339,199,1.057,200,1.171,201,1.171,202,1.141,208,1.006,209,1.596,210,1.596,211,2.256,212,1.125,213,0.911,214,1.443,216,1.443,256,0.867,257,1.141,259,1.596,260,1.339,297,1.407,300,1.566,304,2.706,308,1.019,309,0.911,321,1.113,337,1.098,399,1.268,401,1.546,404,1.376,409,0.957,410,2.706,413,1.819,414,1.866,418,2.36,419,4.358,427,2.287,428,3.418,429,1.057,432,3.186,449,3.285,450,1.154,453,0.805,457,0.981,458,3.727,464,1.886,468,1.171,469,1.811,470,1.171,471,2.147,472,1.171,473,1.171,474,1.057,475,1.171,476,1.031,477,1.965,478,1.057,479,1.171,480,1.443,481,1.965,482,1.057,483,1.113,484,1.171,485,1.057,486,1.171,487,1.938,488,2.447,489,1.171,490,1.057,491,1.171,492,1.057,493,1.057,494,1.171,495,1.057,496,1.141,497,1.031,498,1.171,499,1.057,500,1.68,501,1.031,502,1.057,503,1.057,504,1.965,505,1.057,506,1.556,507,1.68,508,1.031,509,1.057,510,1.031,511,0.867,512,1.171,513,1.031,514,1.006,515,1.057,516,1.171,517,1.057,518,1.171,519,1.057,520,1.171,521,1.057,522,1.339,523,1.057,524,1.517,525,1.057,526,1.171,527,1.057,528,1.407,529,1.171,530,1.057,531,1.171,532,1.171,561,3.734,596,1.501,607,2.152,664,2.594,665,1.057,666,2.218,667,2.67,668,1.416,669,1.376,670,2.309,677,1.517,678,1.965,683,2.444,704,2.61,705,1.771,706,1.959,720,2.221,726,3.727,727,2.329,785,3.422,813,1.339,969,1.92,1258,2.453,1271,4.335,1279,6.479,1280,6.007,1281,3.282,1282,7.216,1283,3.727,1284,6.249,1285,5.344,1286,4.943,1287,5.344,1288,6.827,1289,6.249,1290,5.344,1291,3.725,1292,3.563,1293,3.725,1294,3.334,1295,2.706,1296,5.344,1297,5.344,1298,3.725,1299,3.725,1300,4.29,1301,4.762,1302,4.496,1303,3.186,1304,3.725,1305,3.725,1306,3.725,1307,3.725,1308,3.725,1309,3.725,1310,3.725,1311,5.344,1312,5.344,1313,5.344,1314,3.563,1315,3.563,1316,2.453,1317,2.772,1318,2.99,1319,3.282,1320,3.725,1321,5.344,1322,2.772,1323,3.725,1324,3.725,1325,3.193,1326,5.48,1327,3.725,1328,2.329,1329,3.725,1330,3.725,1331,2.99,1332,3.282,1333,2.772]],["title/modules/ExtractionSetDropdownModule.html",[533,1.271,1334,3.045]],["body/modules/ExtractionSetDropdownModule.html",[3,0.123,4,0.153,5,0.108,6,0.093,43,0.01,75,0.008,80,0.007,84,0.007,99,0.322,104,0.315,130,0.153,133,0.216,142,1.493,424,1.683,487,2.587,488,1.769,535,1.86,536,2.253,547,2.433,548,1.86,550,2.634,552,2.115,556,2.371,735,2.634,736,2.781,737,2.23,1279,5.26,1280,4.876,1334,6.199,1335,5.773,1336,5.773,1337,5.773,1338,6.552,1339,6.818,1340,5.773,1341,6.552]],["title/interfaces/GlobalConfig.html",[129,0.292,245,1.569]],["body/interfaces/GlobalConfig.html",[3,0.1,4,0.125,5,0.088,6,0.076,14,3.899,18,0.503,19,0.754,43,0.01,44,0.746,45,0.822,46,1.667,56,1.033,69,1.221,75,0.007,80,0.006,82,4.769,84,0.006,99,0.285,104,0.257,113,1.521,129,0.359,130,0.176,134,1.101,139,0.876,141,0.947,195,1.411,212,0.666,219,4.171,220,5.225,221,5.225,224,4.961,226,4.524,245,2.851,299,2.932,326,1.56,333,2.79,334,3.595,335,3.595,337,1.826,359,1.6,450,1.157,453,1.157,466,3.333,608,4.961,609,5.225,610,6.369,611,6.991,612,3.505,613,6.991,614,5.905,747,4.769,748,3.987,1015,2.366,1115,1.98,1149,4.301,1151,3.35,1155,4.301,1156,4.301,1196,4.301,1342,3.987,1343,4.709,1344,6.369,1345,4.276,1346,3.987,1347,2.93,1348,3.055,1349,3.055,1350,5.358,1351,4.301,1352,2.444,1353,4.72,1354,5.358]],["title/components/HeaderComponent.html",[196,0.424,490,1.239]],["body/components/HeaderComponent.html",[3,0.082,4,0.103,5,0.099,6,0.112,11,0.745,12,1.429,18,0.412,19,0.661,23,3.084,35,0.776,38,1.786,40,1.114,41,1.143,42,1.021,43,0.01,44,1.129,45,0.697,46,0.796,52,1.278,69,1.04,75,0.006,76,2.828,80,0.005,84,0.005,85,1.114,86,1.172,91,2.636,99,0.227,104,0.211,130,0.103,133,0.261,142,0.796,160,0.699,161,1.031,188,1.417,196,0.745,197,1.185,198,1.502,199,1.246,200,1.38,201,1.38,202,1.345,208,1.185,209,1.79,210,1.79,211,2.283,212,1.137,213,1.073,214,1.618,216,1.618,219,4.454,220,4.496,221,4.496,256,1.021,259,2.039,260,1.502,278,1.622,300,1.71,308,1.143,309,1.073,321,1.311,332,2.503,359,1.79,399,1.494,400,1.98,401,3.187,404,2.837,405,2.154,408,3.114,409,1.972,411,2.308,413,2.144,414,2.191,421,1.822,427,2.922,429,2.082,434,3.139,436,1.879,437,1.879,441,2.003,444,3.347,445,2.955,446,3.948,448,2.828,449,3.151,450,0.948,453,0.948,457,1.156,461,3.035,468,1.38,469,1.924,470,1.38,471,2.307,472,1.38,473,1.38,474,1.246,475,1.38,476,1.215,477,2.146,478,1.246,479,1.38,480,1.618,481,2.146,482,1.246,483,1.311,484,1.38,485,1.246,486,1.38,487,1.246,488,1.185,489,1.38,490,2.082,491,1.38,492,1.246,493,1.246,494,1.38,495,1.246,496,1.345,497,1.215,498,1.38,499,1.246,500,1.885,501,1.215,502,1.246,503,1.246,504,2.146,505,1.246,506,1.745,507,1.885,508,1.215,509,1.246,510,1.215,511,1.021,512,1.38,513,1.215,514,1.185,515,1.246,516,1.38,517,1.246,518,1.38,519,1.246,520,1.38,521,1.246,522,1.502,523,1.246,524,1.702,525,1.246,526,1.38,527,1.246,528,1.578,529,1.38,530,1.246,531,1.38,532,1.38,607,2.414,665,1.246,677,1.702,678,2.146,705,1.986,718,2.401,722,2.308,728,2.891,729,2.891,824,3.867,963,2.745,968,3.061,969,1.577,1019,3.267,1059,3.061,1130,2.891,1239,3.867,1246,4.268,1259,3.523,1333,3.267,1355,3.867,1356,6.826,1357,5.994,1358,3.523,1359,5.994,1360,4.389,1361,5.994,1362,4.389,1363,5.994,1364,4.812,1365,3.523,1366,3.267,1367,3.748,1368,3.061,1369,4.389,1370,3.867,1371,4.389,1372,4.389,1373,4.389,1374,2.891,1375,4.389,1376,4.389,1377,3.867,1378,3.523,1379,4.389,1380,4.389,1381,3.061,1382,5.994]],["title/modules/HeaderModule.html",[533,1.271,543,3.045]],["body/modules/HeaderModule.html",[3,0.123,4,0.153,5,0.108,6,0.093,43,0.01,75,0.008,80,0.007,84,0.007,99,0.328,104,0.315,130,0.153,133,0.216,424,1.683,490,2.587,535,1.86,536,2.253,543,6.199,547,2.433,548,1.86,550,2.634,552,2.115,556,2.371,562,3.212,563,2.563,735,2.634,736,2.781,737,2.23,742,4.232,743,3.584,1383,5.773,1384,5.773,1385,5.773,1386,6.552,1387,6.552]],["title/interfaces/IconDefinition.html",[129,0.292,1388,3.249]],["body/interfaces/IconDefinition.html",[0,1.699,3,0.079,4,0.099,5,0.069,6,0.06,11,0.525,15,2.101,16,1.605,18,0.396,19,0.644,20,1.963,29,1.807,40,0.785,41,0.805,43,0.01,44,1.201,45,0.655,46,1.506,47,0.765,48,1.899,53,2.955,55,1.483,56,0.881,60,2.945,69,1.087,75,0.006,80,0.004,84,0.004,85,1.085,86,0.825,99,0.314,104,0.203,106,2.498,107,2.351,108,1.807,109,1.807,110,1.701,129,0.283,130,0.136,133,0.139,134,1.728,139,1.338,141,1.031,142,1.42,160,1.248,161,0.881,162,1.807,195,1.112,212,0.525,245,2.097,246,2.351,250,2.945,287,2.463,297,1.761,308,1.376,326,1.229,337,1.2,350,5.311,441,4.108,469,2.128,563,1.651,566,2.781,567,2.64,608,3.649,612,3.614,642,2.863,660,2.955,848,2.471,888,4.319,896,3.649,960,3.267,1106,3.142,1109,3.389,1112,2.945,1115,2.156,1116,6.568,1126,6.374,1127,5.636,1128,5.792,1129,3.844,1130,5.159,1132,4.071,1225,2.309,1325,2.578,1374,2.781,1388,5.829,1389,3.142,1390,3.389,1391,4.343,1392,6.358,1393,6.358,1394,5.893,1395,5.142,1396,5.142,1397,2.062,1398,3.72,1399,3.72,1400,2.781,1401,6.901,1402,5.142,1403,3.72,1404,3.72,1405,3.649,1406,3.72,1407,3.72,1408,3.72,1409,3.72,1410,3.72,1411,5.893,1412,3.72,1413,3.72,1414,3.72,1415,3.72,1416,3.72,1417,3.72,1418,3.72,1419,3.72,1420,5.142,1421,3.72,1422,3.72,1423,3.142,1424,5.142,1425,3.72,1426,3.72,1427,3.72,1428,3.72,1429,3.72,1430,5.142,1431,3.72,1432,3.72,1433,3.389,1434,3.72,1435,3.72,1436,3.72,1437,5.893,1438,3.72,1439,3.389,1440,3.72,1441,3.72,1442,3.72,1443,4.685,1444,3.72,1445,3.72,1446,3.72,1447,3.72,1448,3.72,1449,3.72,1450,3.72,1451,3.72,1452,3.142,1453,3.72,1454,3.72]],["title/injectables/IconRegistryState.html",[0,1.271,1400,2.875]],["body/injectables/IconRegistryState.html",[0,1.59,2,2.19,3,0.072,4,0.09,5,0.063,6,0.111,11,0.86,15,2.213,16,2.076,18,0.361,20,2.111,25,1.368,29,2.963,35,0.679,38,1.768,40,1.015,41,1.041,42,1.701,43,0.01,44,1.199,45,0.664,46,1.377,47,0.99,48,2.157,52,1.118,53,3.218,55,1.671,56,0.96,60,3.809,69,0.937,75,0.006,80,0.004,84,0.004,85,1.182,86,0.751,99,0.308,104,0.184,106,2.338,107,2.2,108,1.644,109,1.644,110,1.547,129,0.257,130,0.128,133,0.126,134,1.695,139,1.307,141,0.679,142,1.152,160,1.21,161,0.825,162,1.644,212,0.477,245,2.488,246,2.788,250,3.809,287,2.513,297,1.926,308,1.524,326,1.118,337,1.423,350,4.889,441,4.082,469,2.002,563,1.502,566,2.53,567,2.402,608,3.415,612,3.591,642,2.72,660,1.945,848,2.348,888,4.557,896,4.328,960,3.572,1106,2.858,1109,4.384,1112,5.453,1115,1.419,1116,6.526,1126,5.947,1127,5.152,1128,4.384,1129,2.53,1130,5.005,1132,3.809,1225,2.987,1325,3.058,1374,3.597,1388,6.322,1389,5.818,1390,3.083,1391,2.858,1392,4.812,1393,4.812,1394,6.696,1395,6.099,1396,5.6,1397,1.876,1398,4.812,1399,3.384,1400,3.597,1401,7.265,1402,6.099,1403,4.812,1404,4.812,1405,4.328,1406,3.384,1407,3.384,1408,3.384,1409,3.384,1410,3.384,1411,5.6,1412,3.384,1413,3.384,1414,3.384,1415,3.384,1416,3.384,1417,3.384,1418,3.384,1419,3.384,1420,4.812,1421,3.384,1422,3.384,1423,4.065,1424,6.099,1425,4.812,1426,3.384,1427,4.812,1428,6.099,1429,4.812,1430,4.812,1431,3.384,1432,3.384,1433,3.083,1434,3.384,1435,3.384,1436,3.384,1437,5.6,1438,3.384,1439,3.083,1440,3.384,1441,3.384,1442,3.384,1443,5.557,1444,5.6,1445,3.384,1446,3.384,1447,3.384,1448,3.384,1449,3.384,1450,3.384,1451,4.812,1452,4.065,1453,5.6,1454,3.384,1455,5.462,1456,3.841,1457,3.841,1458,3.841,1459,3.841,1460,3.841,1461,3.841,1462,3.841,1463,3.841,1464,3.841]],["title/classes/InitializationState.html",[133,0.144,1465,3.505]],["body/classes/InitializationState.html",[3,0.05,4,0.062,5,0.044,6,0.098,11,0.33,15,2.439,18,0.249,19,0.457,20,2.155,25,1.038,38,1.54,40,0.493,41,0.506,42,0.963,43,0.01,45,0.601,47,0.481,48,1.176,55,1.361,56,1.206,65,1.135,71,1.038,75,0.004,80,0.003,84,0.003,85,1.071,86,1.221,90,1.269,99,0.236,104,0.127,113,0.753,122,2.253,123,2.253,124,1.993,125,2.128,126,1.993,130,0.062,133,0.168,134,1.7,139,1.23,141,1.222,142,1.389,160,1.102,161,0.87,182,0.927,196,0.643,198,0.664,200,0.834,205,1.068,206,2.023,209,0.792,210,0.792,211,0.664,212,0.515,214,0.716,216,0.716,222,4.368,225,3.186,230,1.295,244,2.362,247,2.265,248,2.265,257,1.765,258,1.829,259,1.72,260,1.733,263,2.39,277,1.581,278,0.98,281,2.362,283,2.469,287,2.25,297,2.018,300,2.197,306,1.85,310,4.022,311,2.589,312,1.658,321,0.792,322,1.746,337,1.6,357,1.581,378,1.343,380,1.343,395,1.658,413,1.295,414,2.41,417,2.469,421,1.719,423,2.888,424,1.064,425,4.317,429,2.241,430,2.727,435,1.251,439,2.129,440,2.129,450,0.895,453,0.895,459,2.727,466,1.993,467,4.017,469,1.038,485,1.446,522,0.664,606,3.724,642,1.135,664,1.101,665,0.753,666,2.871,677,0.753,686,1.581,720,1.581,755,3.324,756,2.336,758,2.251,761,2.325,762,1.973,767,2.129,770,2.129,773,2.023,774,1.746,777,2.251,779,2.336,781,1.746,783,1.973,785,1.829,792,2.023,794,1.746,810,3.649,813,1.733,827,4.713,828,4.713,835,1.746,836,2.129,837,2.336,838,1.973,841,3.649,969,2.9,980,2.336,1001,2.129,1004,2.129,1010,4.792,1015,1.171,1018,1.973,1019,5.147,1020,2.129,1021,2.129,1029,2.129,1034,2.265,1035,1.746,1061,1.658,1073,3.186,1074,3.186,1115,1.53,1124,1.85,1295,2.58,1465,4.09,1466,2.129,1467,1.973,1468,4.141,1469,5.095,1470,6.916,1471,5.759,1472,4.623,1473,5.759,1474,4.141,1475,5.095,1476,2.652,1477,6.151,1478,4.09,1479,2.652,1480,2.652,1481,2.652,1482,2.652,1483,4.14,1484,3.324,1485,2.652,1486,5.095,1487,2.652,1488,2.652,1489,2.336,1490,4.489,1491,6.094,1492,4.489,1493,4.489,1494,5.833,1495,4.489,1496,5.504,1497,3.649,1498,4.489,1499,4.09,1500,5.504,1501,4.623,1502,3.649,1503,5.074,1504,4.141,1505,2.652,1506,2.652,1507,2.652,1508,2.652,1509,2.652,1510,2.652,1511,2.652,1512,2.652,1513,2.652,1514,4.141,1515,2.652,1516,4.141,1517,2.652,1518,2.652,1519,2.652,1520,2.336,1521,6.247,1522,2.652,1523,2.652,1524,2.652,1525,4.489,1526,2.336,1527,3.649,1528,4.141,1529,2.652,1530,5.759,1531,2.129,1532,4.141,1533,2.652,1534,2.652,1535,2.652,1536,5.095,1537,2.652,1538,2.652,1539,2.652,1540,3.186,1541,2.652,1542,5.095,1543,2.652,1544,1.746,1545,2.652,1546,3.649,1547,2.652,1548,2.652,1549,2.652,1550,6.621,1551,4.141,1552,5.759,1553,4.141,1554,3.649,1555,2.652,1556,5.095,1557,4.141,1558,2.129,1559,2.652,1560,2.652,1561,2.652,1562,4.141,1563,4.141,1564,2.652,1565,2.652,1566,5.095,1567,2.652,1568,2.652,1569,2.652,1570,2.652,1571,4.141,1572,2.652,1573,2.652,1574,1.973,1575,1.973,1576,2.652,1577,1.658,1578,2.652,1579,2.652,1580,5.074,1581,5.095,1582,5.759,1583,4.141,1584,4.141,1585,2.652,1586,2.652,1587,2.652,1588,2.652,1589,2.652,1590,2.652,1591,2.652,1592,6.621,1593,2.888,1594,4.141,1595,2.652,1596,2.652,1597,2.652,1598,2.652,1599,2.652,1600,2.652,1601,2.652,1602,1.85,1603,2.652,1604,2.652,1605,1.85,1606,2.652,1607,2.652,1608,4.141,1609,2.652,1610,2.652,1611,2.652,1612,2.652,1613,2.652,1614,2.652,1615,4.141,1616,5.095,1617,2.652,1618,2.652,1619,4.141,1620,2.652,1621,2.652,1622,2.652,1623,2.652,1624,2.652,1625,2.336,1626,3.037,1627,2.652,1628,2.652,1629,2.652]],["title/components/JsonFileReaderComponent.html",[196,0.424,492,1.239]],["body/components/JsonFileReaderComponent.html",[3,0.073,4,0.091,5,0.15,6,0.116,11,0.686,12,1.315,18,0.366,19,0.608,25,1.382,35,0.688,38,1.866,40,1.025,41,1.052,42,1.283,43,0.01,44,1.116,45,0.712,46,1,47,1,48,2.167,52,1.606,55,1.134,56,1.052,69,0.867,75,0.006,80,0.004,84,0.004,85,1.191,86,1.252,99,0.209,104,0.187,130,0.091,133,0.251,134,0.8,139,1.202,141,0.975,142,0.706,156,3.162,160,0.878,161,1.11,196,0.714,197,1.051,198,1.382,199,1.105,200,1.225,201,1.225,202,1.193,208,1.051,211,2.263,212,1.128,213,0.952,214,1.489,216,1.489,244,3.652,251,2.565,253,2.565,256,0.906,259,2.395,260,1.745,263,3.169,300,1.605,308,1.052,309,0.952,399,1.325,404,1.439,405,1.399,408,1.777,409,1,414,1.163,421,1.616,431,3.468,436,1.667,437,1.667,450,0.841,453,0.841,457,1.025,468,1.225,469,1.842,470,1.225,471,2.19,472,1.225,473,1.225,474,1.105,475,1.225,476,1.078,477,2.014,478,1.105,479,1.225,480,1.489,481,2.014,482,1.105,483,1.163,484,1.225,485,1.105,486,1.225,487,1.105,488,1.051,489,1.225,490,1.105,491,1.225,492,1.977,493,2.512,494,1.225,495,1.105,496,1.193,497,1.078,498,1.225,499,1.105,500,1.734,501,1.078,502,1.105,503,1.105,504,2.014,505,1.105,506,1.606,507,1.734,508,1.078,509,1.105,510,1.078,511,0.906,512,1.225,513,1.078,514,1.051,515,1.105,516,1.225,517,1.105,518,1.225,519,1.105,520,1.225,521,1.105,522,1.382,523,1.105,524,1.566,525,1.105,526,1.225,527,1.105,528,1.452,529,1.225,530,1.105,531,1.225,532,1.225,596,1.569,607,2.222,642,1.667,646,3.126,664,2.658,665,1.105,666,2.289,667,2.725,668,1.48,669,1.439,670,2.366,677,1.566,678,2.014,683,2.505,685,4.004,691,2.716,693,2.435,704,2.694,705,1.828,706,2.047,718,2.13,722,2.047,888,3.145,915,4.86,1020,5.591,1115,2.574,1224,4.86,1246,2.435,1294,3.402,1630,6.547,1631,6.07,1632,3.431,1633,8.019,1634,6.404,1635,5.515,1636,6.404,1637,5.515,1638,6.965,1639,6.404,1640,5.515,1641,6.477,1642,3.894,1643,3.632,1644,5.515,1645,4.86,1646,4.86,1647,5.515,1648,5.515,1649,3.894,1650,5.515,1651,3.894,1652,5.515,1653,4.587,1654,4.86,1655,3.847,1656,4.86,1657,5.515,1658,3.894,1659,5.515,1660,3.126,1661,3.894,1662,3.894,1663,3.894,1664,3.894,1665,3.894,1666,5.515,1667,3.894,1668,3.894,1669,3.894,1670,5.515,1671,3.894,1672,3.894,1673,3.894]],["title/modules/JsonFileReaderModule.html",[533,1.271,1674,3.045]],["body/modules/JsonFileReaderModule.html",[3,0.122,4,0.153,5,0.14,6,0.093,43,0.01,75,0.008,80,0.007,84,0.007,99,0.322,104,0.314,130,0.153,133,0.215,424,1.679,492,2.586,493,1.855,535,1.855,536,2.25,547,2.43,548,1.855,550,2.63,552,2.11,556,2.368,735,2.63,736,2.777,737,2.225,1630,5.247,1631,4.864,1674,6.196,1675,5.759,1676,5.759,1677,5.759,1678,6.536,1679,6.536,1680,5.39,1681,4.559]],["title/components/LabeledSlideToggleComponent.html",[196,0.424,495,1.239]],["body/components/LabeledSlideToggleComponent.html",[3,0.072,4,0.09,5,0.09,6,0.117,11,0.793,12,1.309,15,1.598,18,0.363,19,0.605,25,1.376,32,2.78,35,0.684,38,1.895,40,1.021,41,1.047,42,1.277,43,0.01,44,1.114,45,0.726,46,0.995,47,0.995,52,1.126,55,1.128,56,0.829,69,1.031,75,0.006,80,0.004,84,0.004,85,1.363,86,1.649,99,0.208,104,0.186,130,0.09,133,0.251,134,0.795,139,0.633,141,0.684,142,0.701,156,1.558,160,0.874,161,1.108,196,0.76,197,1.044,198,1.376,199,1.098,200,1.217,201,1.217,202,1.185,208,1.044,209,1.64,210,1.64,211,2.262,212,1.128,213,0.946,214,1.482,216,1.482,256,0.9,259,2.275,260,1.376,287,1.726,300,1.599,308,1.047,309,0.946,321,1.155,337,1.566,399,1.317,409,0.994,410,1.959,411,2.034,421,1.606,429,1.098,436,2.35,437,1.656,450,1.784,453,1.378,457,1.019,468,1.217,469,1.837,470,1.217,471,2.184,472,1.217,473,1.217,474,1.098,475,1.217,476,1.071,477,2.007,478,1.098,479,1.217,480,1.482,481,2.007,482,1.098,483,1.155,484,1.217,485,1.098,486,1.217,487,1.098,488,1.044,489,1.217,490,1.098,491,1.217,492,1.098,493,1.098,494,1.217,495,1.971,496,2.625,497,2.512,498,1.217,499,1.098,500,1.726,501,1.071,502,1.098,503,1.098,504,2.007,505,1.098,506,1.598,507,1.726,508,1.071,509,1.098,510,1.071,511,0.9,512,1.217,513,1.071,514,1.044,515,1.098,516,1.217,517,1.098,518,1.217,519,1.098,520,1.217,521,1.098,522,2.192,523,1.098,524,1.558,525,1.098,526,1.217,527,1.098,528,1.446,529,1.217,530,1.098,531,1.217,532,1.217,596,1.558,607,2.211,664,2.649,665,1.098,666,2.279,667,2.717,668,1.47,669,1.429,670,2.358,677,1.558,678,2.007,683,2.496,684,2.35,704,2.681,705,1.819,706,2.034,722,2.034,813,1.376,965,1.606,969,1.39,1034,3.003,1286,4.541,1292,3.131,1294,3.392,1295,2.78,1300,4.407,1303,4.14,1682,6.629,1683,5.439,1684,3.106,1685,5.49,1686,4.344,1687,5.622,1688,4.837,1689,5.49,1690,5.313,1691,6.945,1692,6.381,1693,5.49,1694,3.409,1695,3.869,1696,4.837,1697,5.887,1698,3.409,1699,5.49,1700,6.712,1701,5.49,1702,5.49,1703,3.869,1704,5.49,1705,5.49,1706,3.869,1707,3.869,1708,5.49,1709,5.49,1710,3.869,1711,3.869,1712,3.869,1713,3.869,1714,3.869,1715,3.869,1716,3.409,1717,3.106,1718,3.869]],["title/modules/LabeledSlideToggleModule.html",[533,1.271,1719,2.73]],["body/modules/LabeledSlideToggleModule.html",[3,0.123,4,0.153,5,0.108,6,0.093,43,0.01,75,0.008,80,0.007,84,0.007,99,0.322,104,0.314,130,0.153,133,0.215,424,1.681,495,2.587,496,2.005,497,2.279,522,1.64,535,1.858,536,2.251,547,2.432,548,1.858,550,2.632,552,2.112,556,2.369,735,2.632,736,2.779,737,2.227,1682,5.253,1683,4.31,1719,5.556,1720,5.766,1721,5.766,1722,5.766,1723,5.766,1724,6.813,1725,5.766,1726,5.766]],["title/components/LeftSidebarComponent.html",[196,0.424,499,1.239]],["body/components/LeftSidebarComponent.html",[3,0.049,4,0.062,5,0.068,6,0.117,11,0.821,12,0.983,15,1.922,18,0.387,19,0.454,22,1.682,23,1.566,25,1.032,35,0.728,38,1.908,42,1.536,43,0.01,44,1.082,45,0.705,46,1.197,52,0.767,55,1.28,56,1.134,69,0.967,75,0.004,76,1.243,80,0.003,84,0.003,85,1.422,86,1.496,88,2.245,91,2.062,96,1.929,99,0.278,104,0.127,112,2.668,113,0.748,114,1.164,115,0.897,128,1.88,130,0.062,133,0.217,141,0.728,142,1.129,156,2.509,160,0.992,161,1.248,185,3.539,188,0.85,196,0.493,197,0.711,198,1.032,199,0.748,200,0.828,201,0.828,202,0.807,208,0.711,209,1.231,210,1.231,211,2.19,212,1.098,213,0.644,214,1.112,216,1.112,219,2.166,223,3.539,256,0.959,257,0.807,259,1.515,260,1.032,263,2.382,287,2.076,297,1.085,299,2.12,300,1.271,301,2.775,307,2.166,308,1.503,309,1.24,310,2.254,313,1.164,321,0.787,331,2.456,332,1.502,333,1.402,337,1.28,353,4.014,382,0.921,387,1.001,399,0.897,400,1.783,401,2.585,402,1.647,403,1.647,404,2.549,405,1.824,406,1.502,408,3.013,409,1.303,410,2.086,413,2.478,414,1.972,416,1.764,418,2.751,427,2.172,428,1.441,429,1.629,432,1.571,433,1.571,434,2.456,435,1.243,442,3.017,444,2.315,445,2.311,448,2.394,449,2.166,450,1.796,451,1.287,453,1.239,457,1.336,459,1.735,461,2.906,464,1.334,467,2.874,468,0.828,469,1.56,470,0.828,471,1.804,472,0.828,473,0.828,474,0.748,475,0.828,476,0.729,477,1.596,478,0.748,479,0.828,480,1.112,481,1.596,482,0.748,483,0.787,484,0.828,485,0.748,486,0.828,487,0.748,488,1.863,489,0.828,490,0.748,491,0.828,492,0.748,493,1.768,494,0.828,495,0.748,496,0.807,497,0.729,498,0.828,499,1.629,500,1.296,501,0.729,502,0.748,503,0.748,504,1.596,505,0.748,506,1.2,507,1.296,508,0.729,509,0.748,510,0.729,511,0.613,512,0.828,513,0.729,514,0.711,515,0.748,516,0.828,517,0.748,518,0.828,519,0.748,520,0.828,521,0.748,522,1.654,523,0.748,524,1.17,525,0.748,526,0.828,527,0.748,528,1.739,529,0.828,530,0.748,531,0.828,532,0.828,580,6.149,607,1.66,621,3.779,635,2.012,636,1.334,665,0.748,677,1.17,678,1.596,684,2.456,705,1.365,715,1.838,717,1.647,718,3.139,719,2.874,727,2.576,728,1.735,729,1.735,785,2.916,813,1.032,843,2.254,848,2.774,860,3.066,875,3.017,888,2.35,932,2.576,937,2.115,963,1.647,965,2.741,968,1.838,969,2.566,1015,3.434,1124,2.874,1210,1.838,1237,2.254,1246,1.647,1258,3.342,1276,3.947,1278,2.775,1286,3.421,1295,2.086,1314,2.35,1315,2.35,1316,1.735,1317,1.961,1325,2.751,1328,2.576,1333,1.961,1347,4.362,1348,3.765,1349,4.185,1358,2.115,1364,4.606,1365,2.115,1366,1.961,1646,3.63,1654,3.63,1655,1.838,1686,3.551,1727,6.632,1728,2.115,1729,6.291,1730,4.471,1731,3.63,1732,5.074,1733,6.228,1734,4.471,1735,5.074,1736,4.471,1737,5.074,1738,3.63,1739,4.12,1740,4.12,1741,4.12,1742,4.12,1743,5.074,1744,4.471,1745,4.12,1746,2.635,1747,2.635,1748,4.12,1749,3.63,1750,2.635,1751,4.12,1752,6.603,1753,4.635,1754,2.635,1755,4.12,1756,2.635,1757,3.63,1758,3.421,1759,2.874,1760,4.606,1761,3.774,1762,4.101,1763,4.003,1764,4.12,1765,2.635,1766,6.228,1767,4.12,1768,4.12,1769,4.12,1770,4.12,1771,2.635,1772,4.12,1773,4.12,1774,3.066,1775,4.12,1776,4.12,1777,4.12,1778,4.12,1779,4.12,1780,4.12,1781,2.635,1782,2.635,1783,3.63,1784,4.606,1785,4.606,1786,3.63,1787,4.12,1788,4.12,1789,2.635,1790,2.635,1791,4.12,1792,3.63,1793,3.63,1794,2.635,1795,4.12,1796,4.12,1797,2.635,1798,2.321,1799,2.635,1800,4.12,1801,2.635,1802,2.635,1803,2.635,1804,4.12,1805,2.635,1806,2.635,1807,3.308,1808,2.775,1809,3.63,1810,3.63,1811,3.63,1812,3.308,1813,2.115,1814,2.321,1815,1.961,1816,6.291,1817,3.066,1818,2.115,1819,2.635,1820,4.12,1821,2.321,1822,2.321,1823,2.635,1824,2.635]],["title/modules/LeftSidebarModule.html",[533,1.271,544,3.045]],["body/modules/LeftSidebarModule.html",[3,0.104,4,0.13,5,0.126,6,0.079,43,0.01,75,0.007,80,0.006,84,0.006,99,0.342,104,0.268,130,0.13,133,0.183,142,1.27,212,0.692,326,1.622,424,1.431,450,1.203,497,1.94,499,2.535,535,1.581,536,2.041,544,6.397,547,2.204,548,1.581,550,2.386,552,2.262,556,2.148,562,2.909,563,2.179,580,4.146,735,2.386,736,2.519,737,1.896,742,3.834,743,3.047,1221,4.146,1247,5.905,1280,4.146,1334,5.905,1631,4.146,1674,5.905,1683,3.669,1719,5.294,1727,4.472,1825,4.908,1826,4.908,1827,4.908,1828,4.908,1829,5.576,1830,5.905,1831,6.117,1832,4.908,1833,6.176,1834,4.908,1835,5.626,1836,4.472,1837,5.571,1838,5.571,1839,5.571,1840,5.571,1841,4.472,1842,5.626,1843,4.908,1844,3.669,1845,4.472,1846,6.176,1847,7.009,1848,4.146,1849,5.571,1850,4.146,1851,4.908,1852,5.571,1853,5.571]],["title/interfaces/Message.html",[129,0.292,777,1.928]],["body/interfaces/Message.html",[0,1.731,3,0.081,4,0.206,5,0.071,6,0.061,11,0.539,18,0.407,19,0.655,20,1.979,35,0.766,40,1.261,41,0.827,43,0.01,45,0.694,46,1.077,47,1.493,48,1.231,55,1.571,56,0.898,71,1.916,75,0.006,80,0.005,84,0.005,85,0.806,96,3.293,99,0.257,104,0.208,113,1.231,115,1.476,129,0.398,130,0.184,133,0.196,134,1.571,139,0.972,141,1.351,155,3.181,160,1.331,161,1.024,195,1.142,199,1.925,205,1.746,206,2.903,213,1.453,230,2.118,278,1.602,297,1.142,337,0.891,359,1.775,429,1.231,642,3.272,750,3.389,758,2.625,761,3.856,772,2.279,773,4.168,777,4.025,792,2.903,794,2.855,813,1.086,819,2.855,835,3.915,993,2.855,1035,3.915,1053,4.503,1060,4.866,1072,2.371,1096,4.146,1256,2.711,1266,2.711,1267,3.717,1292,2.472,1345,3.717,1352,3.488,1405,2.711,1483,4.241,1540,4.241,1593,3.024,1602,3.024,1605,3.024,1626,2.585,1854,2.855,1855,4.563,1856,3.443,1857,4.423,1858,3.915,1859,4.424,1860,2.585,1861,4.806,1862,2.118,1863,3.227,1864,3.227,1865,4.241,1866,3.227,1867,5.333,1868,4.146,1869,2.855,1870,2.855,1871,4.146,1872,3.024,1873,3.227,1874,4.424,1875,3.227,1876,2.711,1877,3.227,1878,3.227,1879,3.227,1880,4.424,1881,3.024,1882,3.227,1883,3.227,1884,3.227,1885,4.424,1886,3.227,1887,4.424,1888,2.855,1889,4.731,1890,3.227,1891,3.227,1892,3.227,1893,3.227,1894,2.711,1895,3.227,1896,3.227,1897,5.048,1898,3.227,1899,3.227,1900,3.227,1901,3.227,1902,2.855,1903,3.227,1904,3.227,1905,3.227,1906,3.227]],["title/classes/MessageChannel.html",[133,0.144,792,2.132]],["body/classes/MessageChannel.html",[0,1.598,3,0.072,4,0.205,5,0.064,6,0.114,11,0.911,18,0.363,19,0.605,20,2.069,25,1.375,35,0.97,38,1.822,40,1.363,41,0.737,42,1.615,43,0.01,44,0.966,45,0.711,46,1.38,47,1.451,48,1.558,55,1.697,56,0.963,71,1.908,75,0.006,80,0.004,84,0.004,85,1.02,86,0.756,96,3.395,99,0.241,104,0.186,113,1.097,115,1.316,129,0.368,130,0.178,133,0.181,134,1.507,139,0.897,141,1.346,155,2.797,160,1.297,161,0.963,199,1.811,205,1.557,206,2.68,213,1.341,230,1.888,278,1.428,297,1.018,337,0.795,359,1.155,429,1.558,642,3.138,750,3.129,758,2.424,761,3.88,772,2.885,773,4.289,777,4.017,792,3.115,794,2.546,813,0.969,819,2.546,835,3.614,993,3.614,1035,3.614,1053,4.564,1060,4.763,1072,3.001,1096,3.827,1256,3.431,1266,2.417,1267,3.431,1292,2.205,1345,3.431,1352,3.345,1405,2.417,1466,3.103,1483,4.762,1540,4.762,1593,2.697,1602,3.827,1605,3.827,1626,3.802,1854,2.546,1855,4.584,1856,3.459,1857,4.284,1858,2.546,1859,2.877,1860,2.305,1861,5.159,1862,1.888,1863,2.877,1864,2.877,1865,3.988,1866,2.877,1867,5.114,1868,3.827,1869,2.546,1870,2.546,1871,3.827,1872,2.697,1873,4.084,1874,5.456,1875,4.084,1876,3.431,1877,4.084,1878,2.877,1879,2.877,1880,4.084,1881,3.827,1882,4.084,1883,5.167,1884,2.877,1885,5.167,1886,4.084,1887,4.084,1888,3.614,1889,5.312,1890,4.084,1891,2.877,1892,5.167,1893,2.877,1894,2.417,1895,2.877,1896,2.877,1897,4.747,1898,2.877,1899,2.877,1900,2.877,1901,2.877,1902,2.546,1903,2.877,1904,2.877,1905,2.877,1906,2.877,1907,5.487,1908,5.487,1909,5.487,1910,3.866,1911,5.487,1912,3.866,1913,3.866,1914,3.866,1915,3.866,1916,3.866]],["title/injectables/MessageService.html",[0,1.271,758,1.928]],["body/injectables/MessageService.html",[0,1.665,2,2.337,3,0.077,4,0.203,5,0.067,6,0.11,11,0.818,18,0.385,19,0.63,20,2.094,25,1.432,35,1.01,38,1.743,40,1.324,41,1.09,42,1.33,43,0.01,44,0.796,45,0.68,46,1.291,47,1.545,48,1.163,55,1.637,56,0.994,71,1.65,75,0.006,80,0.004,84,0.004,85,1.063,86,0.801,96,3.285,99,0.249,104,0.197,113,1.163,115,1.395,129,0.383,130,0.181,133,0.188,134,1.54,139,0.935,141,1.407,155,2.652,160,1.314,161,0.994,199,1.869,205,1.651,206,2.792,213,1.397,230,3.479,278,2.112,297,1.079,337,0.842,359,1.224,429,1.163,642,3.207,750,3.754,758,3.31,761,3.943,772,2.155,773,4.221,777,4.019,792,3.216,794,3.765,813,1.027,819,3.765,835,3.765,993,2.699,1035,3.765,1053,4.425,1060,4.632,1072,2.242,1096,3.988,1256,2.563,1266,2.563,1267,3.575,1292,2.337,1345,3.575,1352,3.541,1405,4.117,1483,4.117,1540,4.117,1593,3.988,1602,2.859,1605,2.859,1626,2.443,1854,2.699,1855,4.117,1856,3.106,1857,4.098,1858,2.699,1859,3.05,1860,2.443,1861,4.935,1862,2.002,1863,3.05,1864,3.05,1865,4.685,1866,3.05,1867,5.666,1868,3.988,1869,2.699,1870,2.699,1871,3.988,1872,2.859,1873,3.05,1874,4.255,1875,3.05,1876,2.563,1877,3.05,1878,3.05,1879,3.05,1880,4.255,1881,2.859,1882,3.05,1883,3.05,1884,3.05,1885,4.255,1886,3.05,1887,4.255,1888,2.699,1889,4.592,1890,3.05,1891,3.05,1892,3.05,1893,3.05,1894,3.575,1895,3.05,1896,3.05,1897,4.9,1898,3.05,1899,3.05,1900,3.05,1901,3.05,1902,3.765,1903,3.05,1904,4.255,1905,4.255,1906,3.05,1917,5.037,1918,4.098,1919,5.717,1920,4.098,1921,4.098,1922,4.098]],["title/interfaces/MessageServiceConfig.html",[129,0.292,1865,2.73]],["body/interfaces/MessageServiceConfig.html",[0,1.743,3,0.082,4,0.203,5,0.072,6,0.062,11,0.545,18,0.411,19,0.66,20,1.985,35,0.774,40,1.268,41,0.836,43,0.01,45,0.665,46,1.085,47,1.518,48,1.244,55,1.577,56,0.904,71,1.709,75,0.006,80,0.005,84,0.005,85,0.815,96,3.298,99,0.258,104,0.21,113,1.244,115,1.491,129,0.401,130,0.185,133,0.197,134,1.577,139,0.979,141,1.356,155,2.747,160,1.334,161,1.03,195,1.154,199,1.936,205,1.765,206,2.924,213,1.463,230,2.14,278,1.619,297,1.154,337,1.402,359,1.309,429,1.244,642,3.285,750,3.414,758,2.645,761,3.82,772,2.304,773,4.21,777,4.008,792,2.924,794,2.886,813,1.5,819,2.886,835,3.943,993,2.886,1035,3.943,1053,4.376,1060,4.708,1072,2.397,1096,4.176,1256,2.74,1266,2.74,1267,3.744,1292,3.414,1345,3.744,1352,3.615,1405,2.74,1483,4.265,1540,4.265,1593,3.056,1602,3.056,1605,3.056,1626,2.612,1854,2.886,1855,4.265,1856,3.218,1857,4.197,1858,2.886,1859,3.261,1860,2.612,1861,4.828,1862,2.14,1863,3.261,1864,3.261,1865,4.583,1866,4.456,1867,5.526,1868,5.353,1869,2.886,1870,2.886,1871,4.176,1872,3.056,1873,3.261,1874,4.456,1875,3.261,1876,2.74,1877,3.261,1878,3.261,1879,3.261,1880,4.456,1881,3.056,1882,3.261,1883,3.261,1884,3.261,1885,4.456,1886,3.261,1887,4.456,1888,2.886,1889,4.757,1890,3.261,1891,3.261,1892,3.261,1893,3.261,1894,2.74,1895,3.261,1896,3.261,1897,5.076,1898,3.261,1899,3.261,1900,3.261,1901,3.261,1902,2.886,1903,3.261,1904,3.261,1905,3.261,1906,3.261]],["title/interfaces/MetaDataField.html",[129,0.292,1923,3.249]],["body/interfaces/MetaDataField.html",[3,0.128,4,0.16,5,0.113,6,0.097,18,0.643,19,0.876,43,0.01,45,0.761,69,1.203,75,0.008,80,0.007,84,0.007,86,1.687,129,0.459,130,0.185,156,3.476,195,1.803,208,1.849,1923,6.242,1924,5.497,1925,5.497]],["title/interfaces/ModelStateModel.html",[129,0.292,1926,2.73]],["body/interfaces/ModelStateModel.html",[0,1.09,3,0.044,4,0.055,5,0.038,6,0.033,8,0.999,11,0.29,15,2.055,16,0.887,18,0.219,19,0.413,20,1.57,22,2.537,23,0.887,29,0.999,35,0.412,37,2.769,40,0.434,41,0.445,43,0.01,44,1.008,45,0.77,46,1.136,47,0.679,48,0.663,49,1.331,50,1.227,53,3.929,56,1.199,65,0.999,69,1.05,71,1.174,75,0.004,80,0.002,84,0.002,88,0.913,90,2.097,91,1.345,96,3.071,99,0.297,104,0.112,105,2.373,106,1.602,107,1.508,108,0.999,109,0.999,110,0.94,113,0.663,115,0.794,120,1.391,122,1.464,123,1.464,124,0.913,125,0.862,126,1.464,128,1.708,129,0.314,130,0.154,132,0.969,133,0.077,134,1.406,139,1.321,141,1.28,142,0.679,149,3.499,155,2.98,156,2.651,160,1.264,161,1.23,162,0.999,163,1.065,173,1.459,174,1.459,177,1.628,182,0.816,184,1.628,195,0.615,212,0.465,245,1.345,246,1.508,256,1.531,257,2.378,269,2.465,281,1.331,287,1.846,297,1.412,299,3.083,301,1.277,303,1.331,304,1.182,308,0.894,326,0.68,337,1.207,353,2.047,359,1.753,382,2.468,387,2.683,390,2.93,400,0.63,405,1.684,409,1.508,429,1.942,435,2.211,445,1.508,450,1.422,453,1.353,457,0.986,488,1.906,511,1.781,514,1.011,528,0.615,612,1.653,655,3.742,662,2.135,667,1.464,668,0.887,669,0.862,670,0.862,673,2.673,679,1.945,683,0.913,684,3.276,687,1.14,754,1.277,761,2.138,785,2.907,813,1.174,848,1.732,894,4.626,895,1.895,932,2.93,942,5.412,943,4.506,945,1.537,946,1.537,947,1.537,949,2.465,954,1.391,965,2.226,1015,3.645,1115,0.862,1225,2.563,1237,1.277,1271,3.427,1274,4.094,1276,3.89,1278,1.277,1346,3.488,1347,4.295,1348,3.573,1349,3.347,1352,2.859,1397,1.14,1758,3.197,1759,3.269,1761,3.6,1762,4.127,1763,2.611,1774,1.737,1808,3.427,1856,2.211,1857,2.563,1862,1.14,1894,1.459,1926,2.341,1927,1.537,1928,3.005,1929,4.208,1930,4.649,1931,4.923,1932,4.923,1933,4.923,1934,4.365,1935,5.11,1936,4.42,1937,2.465,1938,4.786,1939,4.305,1940,4.37,1941,1.828,1942,2.341,1943,2.611,1944,1.391,1945,1.391,1946,1.874,1947,1.737,1948,1.537,1949,1.874,1950,1.537,1951,1.874,1952,1.391,1953,1.874,1954,1.331,1955,1.277,1956,2.135,1957,1.874,1958,1.874,1959,1.628,1960,1.766,1961,1.14,1962,1.391,1963,1.331,1964,1.331,1965,1.737,1966,2.794,1967,1.874,1968,2.232,1969,1.737,1970,1.874,1971,1.874,1972,1.874,1973,2.93,1974,2.232,1975,1.874,1976,1.874,1977,1.874,1978,1.874,1979,1.874,1980,1.874,1981,1.874,1982,1.874,1983,1.874,1984,1.874,1985,1.874,1986,1.874,1987,1.874,1988,1.874,1989,1.874,1990,1.874,1991,1.874,1992,1.874,1993,1.874,1994,1.874,1995,1.874,1996,1.874,1997,1.874,1998,1.737,1999,1.737,2000,1.874,2001,1.874,2002,1.874,2003,1.874,2004,1.874,2005,1.628,2006,1.628,2007,1.459,2008,1.874,2009,1.874,2010,3.762,2011,1.874,2012,5.284,2013,1.874,2014,1.874,2015,3.005,2016,2.786,2017,1.874,2018,1.874,2019,4.919,2020,1.874,2021,1.874,2022,1.874,2023,1.874,2024,1.331,2025,1.874,2026,4.305,2027,2.135,2028,1.874,2029,1.874,2030,1.874,2031,1.391,2032,1.874,2033,1.874,2034,3.005,2035,1.874,2036,4.305,2037,1.874,2038,3.005,2039,1.874,2040,1.874,2041,1.874,2042,1.874,2043,1.874,2044,1.874,2045,1.874,2046,1.874,2047,1.874,2048,1.874,2049,1.874,2050,1.874,2051,1.874,2052,1.874,2053,1.874,2054,1.874,2055,1.874,2056,1.874,2057,1.874,2058,3.005,2059,1.874,2060,1.874,2061,1.874,2062,1.874,2063,1.874,2064,1.874,2065,1.874,2066,1.874,2067,1.874,2068,3.005,2069,1.874,2070,1.874,2071,1.874,2072,1.874,2073,1.874,2074,1.874,2075,1.874,2076,1.874,2077,1.874,2078,1.874,2079,1.874,2080,1.874,2081,1.874,2082,1.874,2083,1.874,2084,3.005,2085,1.391,2086,1.628,2087,1.874,2088,1.537,2089,1.628,2090,3.005,2091,3.269,2092,3.005,2093,2.232,2094,3.005,2095,1.874,2096,1.874,2097,1.874,2098,1.874,2099,1.874,2100,1.874,2101,1.874,2102,1.391,2103,1.874,2104,1.874,2105,1.874,2106,1.874,2107,1.874,2108,1.874]],["title/components/NameInputComponent.html",[196,0.424,501,1.209]],["body/components/NameInputComponent.html",[3,0.069,4,0.086,5,0.087,6,0.119,11,0.772,12,1.264,18,0.346,19,0.585,20,1.556,25,1.328,32,2.684,35,0.651,38,1.924,40,0.986,41,1.011,42,1.445,43,0.01,44,1.269,45,0.717,46,1.126,47,0.961,48,1.928,52,1.073,55,1.276,56,0.938,69,1.015,75,0.006,76,1.738,80,0.004,84,0.004,85,1.338,86,1.574,99,0.235,104,0.177,129,0.247,130,0.124,133,0.247,134,0.757,139,0.602,141,1.422,142,0.961,160,0.989,161,1.087,196,0.75,197,0.995,198,1.328,199,1.046,200,1.158,201,1.158,202,1.129,208,0.995,209,1.583,210,1.583,211,2.254,212,1.124,213,0.9,214,1.431,216,1.431,256,0.857,259,2.607,260,1.702,300,1.556,308,1.011,309,0.9,321,1.1,333,2.312,334,3.784,335,3.784,359,1.1,399,1.254,400,0.995,401,1.529,405,1.324,409,0.946,414,1.1,427,1.577,444,1.681,450,1.145,453,1.145,457,0.97,468,1.158,469,1.803,470,1.158,471,2.136,472,1.158,473,1.158,474,1.046,475,1.158,476,1.02,477,1.953,478,1.046,479,1.158,480,1.431,481,1.953,482,1.046,483,1.1,484,1.158,485,1.046,486,1.158,487,1.046,488,0.995,489,1.158,490,1.046,491,1.158,492,1.046,493,1.046,494,1.158,495,1.046,496,1.129,497,1.02,498,1.158,499,1.046,500,1.667,501,1.88,502,1.046,503,1.046,504,1.953,505,1.046,506,1.543,507,1.667,508,1.02,509,1.046,510,1.02,511,0.857,512,1.158,513,1.02,514,0.995,515,1.046,516,1.158,517,1.046,518,1.158,519,1.046,520,1.158,521,1.046,522,1.328,523,1.046,524,1.505,525,1.046,526,1.158,527,1.046,528,1.396,529,1.158,530,1.046,531,1.158,532,1.158,561,3.936,596,1.484,607,2.135,658,2.196,664,2.577,665,1.046,666,2.2,667,2.657,668,1.4,669,1.361,670,2.294,675,3.491,676,4.09,677,1.505,678,1.953,683,2.429,684,2.269,685,4.5,686,3.16,687,3.66,691,2.57,692,2.426,693,2.303,695,2.742,704,2.589,705,1.757,706,1.937,708,3.246,709,4.671,711,3.246,725,2.957,726,2.57,727,2.303,1115,2.51,1294,3.317,1295,3.144,1844,5.505,2109,6.221,2110,4.671,2111,4.671,2112,5.471,2113,5.471,2114,5.471,2115,5.301,2116,5.471,2117,5.301,2118,6.368,2119,5.301,2120,4.671,2121,3.684,2122,3.697,2123,5.777,2124,5.984,2125,5.984,2126,3.936,2127,3.684,2128,3.936,2129,3.684,2130,3.684,2131,3.684,2132,3.246,2133,2.426,2134,3.945,2135,4.671,2136,3.246,2137,3.246,2138,3.246,2139,4.671,2140,3.246,2141,3.246,2142,3.246]],["title/modules/NameInputModule.html",[533,1.271,1829,2.875]],["body/modules/NameInputModule.html",[3,0.12,4,0.149,5,0.105,6,0.091,43,0.01,44,0.89,75,0.008,80,0.007,84,0.007,99,0.335,104,0.307,130,0.149,133,0.21,424,1.642,501,2.516,522,1.602,535,1.815,536,2.221,547,2.398,548,1.815,550,2.596,552,2.064,556,2.337,734,5.133,735,2.596,736,2.741,737,2.176,738,5.676,739,4.759,742,4.172,743,3.497,744,5.133,1724,6.72,1725,5.634,1829,5.826,1844,4.211,2109,4.759,2133,4.211,2143,5.634,2144,5.634,2145,5.634,2146,6.72,2147,6.72]],["title/interfaces/OrganData.html",[129,0.292,2148,3.045]],["body/interfaces/OrganData.html",[0,1.609,3,0.073,4,0.091,5,0.064,6,0.055,15,2.143,16,1.484,18,0.367,19,0.61,20,1.607,22,1.294,29,1.672,35,0.69,43,0.01,44,0.769,45,0.582,46,1.264,47,0.708,55,1.136,56,0.59,65,1.672,69,1.153,71,1.747,75,0.006,80,0.004,84,0.004,85,0.726,90,1.966,96,2.101,99,0.325,102,1.908,104,0.188,106,2.366,107,2.226,108,1.672,109,1.672,110,1.573,113,1.109,114,1.725,115,1.329,119,2.136,122,2.162,123,2.162,124,1.528,125,1.443,126,2.162,128,2.522,129,0.37,130,0.163,132,1.621,133,0.129,134,1.649,139,1.426,149,5.037,160,1.111,161,0.59,162,1.672,163,1.782,188,2.07,195,1.028,212,0.797,245,1.986,246,2.226,257,1.197,262,2.227,278,2.042,299,3.19,326,1.137,359,1.651,378,1.978,380,3.248,382,2.243,384,3.658,387,2.438,389,2.227,390,2.662,400,1.054,405,1.404,450,1.651,453,1.651,466,1.528,608,2.442,635,1.908,636,1.978,639,1.978,640,1.978,687,2.7,747,3.855,754,2.136,848,3.016,891,1.908,895,1.978,896,3.456,902,2.328,930,2.442,953,2.907,955,2.907,1015,3.655,1151,2.442,1271,3.023,1347,4.526,1348,4.357,1349,4.357,1397,1.908,1753,2.907,1857,3.023,1929,3.295,1930,3.64,1936,3.023,1938,4.778,1941,2.7,1942,2.442,1954,2.227,1960,1.843,1961,1.908,1963,2.227,1964,2.227,2085,4.158,2088,3.64,2093,2.328,2102,3.824,2148,4.474,2149,2.724,2150,2.724,2151,3.855,2152,2.724,2153,4.225,2154,2.724,2155,2.572,2156,5.599,2157,4.474,2158,2.907,2159,4.113,2160,2.907,2161,3.152,2162,2.572,2163,5.908,2164,3.135,2165,3.135,2166,2.724,2167,3.135,2168,3.135,2169,2.724,2170,3.135,2171,3.135,2172,2.724,2173,2.724,2174,3.135,2175,3.135,2176,3.135,2177,3.135,2178,2.724,2179,4.437,2180,4.437,2181,4.437,2182,4.437,2183,4.437,2184,4.437,2185,2.907,2186,3.135,2187,3.135,2188,3.135,2189,3.135,2190,3.135,2191,3.135,2192,3.135,2193,3.135,2194,3.135,2195,3.135,2196,3.135,2197,3.855,2198,3.135,2199,3.135,2200,3.135,2201,3.135,2202,5.149,2203,5.149,2204,3.135,2205,3.135,2206,3.135,2207,2.724,2208,2.724,2209,2.724,2210,2.724,2211,3.135,2212,2.724,2213,4.437,2214,3.855,2215,3.135,2216,3.135,2217,3.135,2218,3.135,2219,4.437,2220,3.135,2221,3.135,2222,3.135,2223,3.135,2224,3.135,2225,2.907,2226,3.135,2227,3.135,2228,3.135,2229,3.135,2230,3.135,2231,3.135,2232,3.135,2233,2.227,2234,3.135,2235,3.135,2236,3.135,2237,3.135,2238,3.135,2239,3.135,2240,3.135,2241,3.135,2242,3.135]],["title/injectables/PageState.html",[0,1.271,91,1.569]],["body/injectables/PageState.html",[0,1.563,2,2.138,3,0.07,4,0.088,5,0.062,6,0.123,11,0.779,14,3.904,15,2.26,16,2.04,18,0.352,19,0.592,20,1.715,22,1.242,23,2.865,25,1.345,29,2.93,32,2.718,35,0.948,38,2.007,40,0.998,41,1.023,42,1.459,43,0.01,44,1.142,45,0.569,46,1.137,47,0.973,52,2.11,53,4.203,55,1.632,56,1.303,65,2.298,69,0.727,75,0.006,80,0.004,84,0.004,85,1.273,86,1.417,91,1.929,96,3.018,99,0.314,104,0.18,105,3.467,106,2.298,107,2.162,108,1.605,109,1.605,110,1.51,113,1.064,114,1.656,115,1.276,122,2.1,123,2.1,124,1.466,125,1.385,126,1.466,129,0.36,130,0.146,132,1.556,133,0.123,134,1.407,139,1.119,160,0.855,161,1.278,162,1.605,163,1.71,182,1.311,212,0.667,224,5.364,245,2.604,246,2.758,263,1.556,287,2.278,297,1.985,307,3.297,308,1.196,309,1.533,310,3.43,326,1.091,333,2.854,334,2.822,335,2.822,337,1.661,389,2.138,609,4.772,619,3.744,639,1.898,640,1.898,785,3.024,813,0.939,848,1.385,891,1.831,960,2.622,1343,2.344,1352,2.449,1397,1.831,1862,1.831,1876,2.344,1941,3.063,1944,2.235,1945,2.235,1950,4.13,1952,2.235,1955,2.05,1956,2.138,1963,2.138,1964,2.138,2019,3.738,2024,2.138,2027,2.138,2126,2.936,2128,2.936,2243,2.79,2244,4.309,2245,4.965,2246,6.489,2247,5.496,2248,5.496,2249,5.496,2250,5.368,2251,5.368,2252,6.732,2253,5.034,2254,6.584,2255,3.749,2256,3.749,2257,3.749,2258,3.749,2259,3.749,2260,3.749,2261,3.749,2262,3.749,2263,4.309,2264,3.749,2265,4.309,2266,4.374,2267,3.749,2268,5.392,2269,4.309,2270,3.749,2271,4.309,2272,3.749,2273,4.309,2274,4.309,2275,3.749,2276,4.309,2277,3.749,2278,3.749,2279,3.749,2280,3.749,2281,3.749,2282,3.749,2283,3.749,2284,3.009,2285,2.615,2286,2.615,2287,3.009,2288,3.009,2289,3.921,2290,2.344,2291,3.009,2292,3.009,2293,3.009,2294,3.009,2295,3.009,2296,2.615,2297,3.009,2298,3.009,2299,3.009,2300,3.009,2301,3.009,2302,4.309,2303,3.009,2304,4.374,2305,3.009,2306,3.009,2307,3.995,2308,4.309,2309,3.744,2310,3.009,2311,3.009,2312,3.009,2313,3.009,2314,3.009,2315,4.309,2316,3.009,2317,3.009,2318,3.009,2319,5.034,2320,3.009,2321,2.615,2322,4.309,2323,3.009,2324,3.009,2325,3.009]],["title/interfaces/PageStateModel.html",[129,0.292,2290,2.73]],["body/interfaces/PageStateModel.html",[0,1.707,3,0.08,4,0.099,5,0.07,6,0.06,11,0.528,14,3.343,15,2.285,16,1.615,18,0.399,19,0.646,20,1.469,22,1.943,23,2.885,29,1.819,35,0.751,40,0.79,41,0.81,43,0.01,44,1.007,45,0.712,47,0.77,53,3.974,56,1.238,65,1.819,69,0.794,75,0.006,80,0.005,84,0.005,86,0.831,91,1.527,96,2.983,99,0.322,104,0.204,105,3.664,106,2.509,107,2.361,108,1.819,109,1.819,110,1.712,113,1.206,114,1.877,115,1.446,122,2.293,123,2.293,124,1.662,125,1.57,126,1.662,129,0.393,130,0.157,132,1.764,133,0.14,134,1.487,139,1.183,160,0.934,161,1.147,162,1.819,163,1.939,182,1.486,195,1.119,212,0.729,224,5.361,245,2.6,246,2.361,263,1.764,287,2.387,297,1.999,307,3.528,308,1.28,309,1.64,310,3.671,326,1.237,333,2.918,334,3.082,335,3.082,337,1.812,389,2.423,609,3.861,619,4.089,639,2.151,640,2.151,785,2.589,813,1.469,848,1.57,891,2.075,960,2.075,1343,2.657,1352,1.939,1397,2.075,1862,2.075,1876,2.657,1941,2.863,1944,2.533,1945,2.533,1950,4.42,1952,2.533,1955,2.324,1956,2.423,1963,2.423,1964,2.423,2019,4.001,2024,2.423,2027,2.423,2126,2.324,2128,2.324,2243,3.162,2244,3.411,2245,5.297,2246,6.758,2247,3.411,2248,3.411,2249,3.411,2252,6.932,2253,3.411,2254,6.826,2263,3.411,2265,3.411,2266,2.964,2268,5.385,2269,3.411,2271,3.411,2273,3.411,2274,3.411,2276,3.411,2284,3.411,2285,2.964,2286,2.964,2287,3.411,2288,3.411,2289,4.746,2290,3.665,2291,3.411,2292,3.411,2293,3.411,2294,3.411,2295,3.411,2296,2.964,2297,3.411,2298,3.411,2299,3.411,2300,3.411,2301,3.411,2302,4.706,2303,3.411,2304,4.681,2305,3.411,2306,3.411,2307,4.363,2308,4.706,2309,4.089,2310,3.411,2311,3.411,2312,3.411,2313,3.411,2314,3.411,2315,4.706,2316,3.411,2317,3.411,2318,3.411,2319,5.387,2320,3.411,2321,2.964,2322,4.706,2323,3.411,2324,3.411,2325,3.411]],["title/interfaces/Person.html",[129,0.292,2289,2.73]],["body/interfaces/Person.html",[0,1.739,3,0.082,4,0.102,5,0.072,6,0.062,11,0.543,14,3.407,15,2.232,16,1.66,18,0.41,19,0.659,20,1.497,22,1.447,23,2.782,29,1.869,35,0.772,40,0.812,41,0.833,43,0.01,44,1.019,45,0.542,47,0.792,53,4.007,56,1.246,65,1.869,69,1.071,75,0.006,80,0.005,84,0.005,86,0.854,91,1.57,96,3.008,99,0.323,104,0.21,105,3.706,106,2.557,107,2.406,108,1.869,109,1.869,110,1.759,113,1.24,114,1.929,115,1.487,122,2.337,123,2.337,124,1.708,125,1.614,126,1.708,129,0.4,130,0.159,132,1.813,133,0.144,134,1.504,139,1.197,160,0.952,161,1.158,162,1.869,163,1.993,182,1.527,195,1.15,212,0.742,224,5.232,245,2.631,246,2.406,263,1.813,287,2.41,297,2.018,307,3.141,308,1.139,309,1.46,310,3.267,326,1.272,333,2.808,334,4.03,335,4.03,337,1.665,389,2.491,609,3.934,619,4.167,639,2.212,640,2.212,785,2.639,813,1.094,848,1.614,891,2.918,960,2.133,1343,3.735,1352,1.993,1397,2.133,1862,2.133,1876,3.735,1941,2.918,1944,2.604,1945,2.604,1950,4.484,1952,2.604,1955,2.389,1956,2.491,1963,2.491,1964,2.491,2019,4.059,2024,2.491,2027,2.491,2126,2.389,2128,2.389,2243,3.25,2244,3.506,2245,4.821,2246,6.504,2247,3.506,2248,3.506,2249,3.506,2252,6.794,2253,3.506,2254,6.622,2263,3.506,2265,3.506,2266,3.046,2268,5.067,2269,3.506,2271,3.506,2273,3.506,2274,3.506,2276,3.506,2284,3.506,2285,3.046,2286,3.046,2287,3.506,2288,3.506,2289,4.793,2290,2.731,2291,3.506,2292,3.506,2293,3.506,2294,3.506,2295,3.506,2296,3.046,2297,3.506,2298,3.506,2299,3.506,2300,3.506,2301,3.506,2302,4.795,2303,3.506,2304,4.749,2305,3.506,2306,3.506,2307,4.446,2308,4.795,2309,4.167,2310,3.506,2311,3.506,2312,3.506,2313,3.506,2314,3.506,2315,4.795,2316,3.506,2317,3.506,2318,3.506,2319,5.465,2320,3.506,2321,3.046,2322,4.795,2323,3.506,2324,3.506,2325,3.506]],["title/injectables/ReferenceDataState.html",[0,1.271,1960,2.06]],["body/injectables/ReferenceDataState.html",[0,1.494,2,2.008,3,0.066,4,0.082,5,0.058,6,0.108,11,0.752,15,2.218,16,1.95,18,0.33,20,1.771,22,1.7,25,1.285,29,2.846,35,0.906,38,1.716,42,1.547,43,0.01,44,1.027,45,0.603,46,1.205,47,0.93,55,1.565,56,0.775,65,2.196,69,1.188,71,1.666,75,0.005,80,0.004,84,0.004,85,0.655,90,2.166,96,2.3,99,0.319,102,1.72,104,0.169,106,2.196,107,2.066,108,1.507,109,1.507,110,1.418,113,0.999,114,1.555,115,1.198,119,1.926,122,2.007,123,2.007,124,1.377,125,1.301,126,2.007,128,2.341,129,0.344,130,0.155,132,1.461,133,0.116,134,1.604,139,1.406,149,5.151,160,1.059,161,0.532,162,1.507,163,1.606,188,1.953,212,0.752,245,2.39,246,2.679,257,1.079,262,2.008,278,2.457,299,3.193,326,1.025,359,1.986,378,1.783,380,3.064,382,2.116,384,3.451,387,2.3,389,2.008,390,2.512,400,1.385,405,1.265,450,1.645,453,1.645,466,1.377,608,2.201,635,1.72,636,1.783,639,1.783,640,1.783,687,2.506,747,4.638,754,2.806,848,3.139,891,2.506,895,2.597,896,4.158,902,2.099,930,2.201,953,2.62,955,2.62,1015,3.572,1151,2.201,1271,2.806,1347,4.423,1348,4.343,1349,4.343,1397,1.72,1753,2.62,1857,2.806,1929,3.058,1930,3.378,1936,2.806,1938,4.881,1941,2.956,1942,2.201,1954,2.008,1960,2.42,1961,3.72,1963,2.008,1964,2.008,2085,3.964,2088,3.378,2093,2.099,2102,3.608,2148,4.221,2149,5.313,2150,2.456,2151,3.578,2152,2.456,2153,3.986,2154,2.456,2155,2.319,2156,6.114,2157,4.221,2158,2.62,2159,3.818,2160,2.62,2161,2.925,2162,2.319,2163,5.674,2164,2.826,2165,2.826,2166,2.456,2167,2.826,2168,2.826,2169,2.456,2170,2.826,2171,2.826,2172,2.456,2173,2.456,2174,2.826,2175,2.826,2176,2.826,2177,2.826,2178,2.456,2179,4.118,2180,4.118,2181,4.118,2182,4.118,2183,4.118,2184,4.118,2185,3.818,2186,2.826,2187,2.826,2188,2.826,2189,2.826,2190,2.826,2191,2.826,2192,2.826,2193,5.338,2194,2.826,2195,2.826,2196,2.826,2197,3.578,2198,2.826,2199,2.826,2200,2.826,2201,4.118,2202,4.858,2203,4.858,2204,2.826,2205,2.826,2206,2.826,2207,2.456,2208,2.456,2209,2.456,2210,2.456,2211,2.826,2212,2.456,2213,4.118,2214,4.221,2215,2.826,2216,2.826,2217,2.826,2218,2.826,2219,5.338,2220,4.118,2221,4.118,2222,2.826,2223,2.826,2224,2.826,2225,2.62,2226,2.826,2227,2.826,2228,2.826,2229,2.826,2230,2.826,2231,2.826,2232,4.118,2233,2.925,2234,4.118,2235,2.826,2236,2.826,2237,2.826,2238,2.826,2239,2.826,2240,2.826,2241,2.826,2242,2.826,2326,5.13,2327,5.13,2328,5.13,2329,3.521,2330,3.521,2331,3.521,2332,3.521,2333,4.504,2334,3.521,2335,3.521,2336,3.521]],["title/interfaces/ReferenceDataStateModel.html",[129,0.292,2178,3.045]],["body/interfaces/ReferenceDataStateModel.html",[0,1.584,3,0.072,4,0.089,5,0.063,6,0.054,15,2.125,16,1.452,18,0.359,19,0.6,20,1.588,22,1.266,29,1.636,35,0.675,43,0.01,44,0.758,45,0.801,47,0.693,55,1.119,56,0.577,65,1.636,69,1.149,71,1.73,75,0.006,80,0.004,84,0.004,85,0.71,90,1.942,96,2.068,99,0.324,102,1.867,104,0.184,106,2.329,107,2.192,108,1.636,109,1.636,110,1.539,113,1.085,114,1.688,115,1.301,119,2.09,122,2.129,123,2.129,124,1.495,125,1.412,126,2.129,128,2.483,129,0.365,130,0.161,132,1.586,133,0.126,134,1.64,139,1.422,149,5.017,160,1.1,161,0.577,162,1.636,163,1.744,188,2.046,195,1.006,212,0.788,245,1.956,246,2.192,257,1.171,262,2.179,278,2.011,299,3.11,326,1.113,359,1.625,378,1.935,380,3.209,382,2.216,384,3.614,387,2.409,389,2.179,390,2.631,400,1.032,405,1.373,450,1.492,453,1.492,466,1.495,608,2.39,635,1.867,636,1.935,639,1.935,640,1.935,687,2.658,747,3.796,754,2.09,848,3,891,1.867,895,1.935,896,3.403,902,2.278,930,2.39,953,2.844,955,2.844,1015,3.448,1151,2.39,1271,2.977,1344,6.863,1347,4.27,1348,3.938,1349,3.938,1397,1.867,1753,2.844,1857,2.977,1929,4.351,1930,4.807,1936,2.977,1938,4.318,1941,2.658,1942,2.39,1954,2.179,1960,1.803,1961,1.867,1963,2.179,1964,2.179,2085,4.117,2088,3.584,2093,2.278,2102,3.778,2148,3.796,2149,2.666,2150,2.666,2151,3.796,2152,2.666,2153,4.174,2154,2.666,2155,2.517,2156,5.544,2157,4.421,2158,2.844,2159,4.05,2160,2.844,2161,3.103,2162,2.517,2163,5.859,2164,3.068,2165,3.068,2166,2.666,2167,3.068,2168,3.068,2169,2.666,2170,3.068,2171,3.068,2172,2.666,2173,2.666,2174,3.068,2175,3.068,2176,3.068,2177,3.068,2178,3.796,2179,5.859,2180,4.369,2181,5.859,2182,5.859,2183,5.859,2184,5.859,2185,2.844,2186,3.068,2187,3.068,2188,3.068,2189,3.068,2190,3.068,2191,3.068,2192,3.068,2193,3.068,2194,3.068,2195,3.068,2196,3.068,2197,3.796,2198,3.068,2199,3.068,2200,3.068,2201,3.068,2202,5.088,2203,5.088,2204,3.068,2205,3.068,2206,3.068,2207,2.666,2208,2.666,2209,2.666,2210,2.666,2211,3.068,2212,2.666,2213,4.369,2214,3.796,2215,3.068,2216,3.068,2217,3.068,2218,3.068,2219,4.369,2220,3.068,2221,3.068,2222,3.068,2223,3.068,2224,3.068,2225,2.844,2226,3.068,2227,3.068,2228,3.068,2229,3.068,2230,3.068,2231,3.068,2232,3.068,2233,2.179,2234,3.068,2235,3.068,2236,3.068,2237,3.068,2238,3.068,2239,3.068,2240,3.068,2241,3.068,2242,3.068]],["title/components/RegistrationContentComponent.html",[196,0.424,502,1.239]],["body/components/RegistrationContentComponent.html",[3,0.058,4,0.073,5,0.077,6,0.12,11,0.877,12,1.118,15,2.322,18,0.293,19,0.517,22,2.602,23,2.783,25,1.174,35,0.828,38,1.95,40,0.871,41,0.894,42,1.563,43,0.01,44,1.188,45,0.741,46,1.218,52,0.907,55,1.549,56,1.186,69,0.763,75,0.005,80,0.003,84,0.003,85,1.165,86,1.225,88,2.451,91,2.252,99,0.267,104,0.15,114,1.376,115,1.061,125,1.151,130,0.073,133,0.258,134,0.64,142,0.565,156,2.706,160,1.2,161,1.138,196,0.652,197,0.841,198,1.174,199,0.885,200,0.98,201,0.98,202,0.955,208,0.841,209,1.4,210,1.4,211,2.23,212,1.112,213,0.762,214,1.265,216,1.265,223,3.929,256,1.09,259,1.4,260,1.174,263,3.2,297,1.483,299,3.137,300,1.411,301,3.081,307,2.464,308,1.676,309,1.532,313,1.376,321,0.931,326,0.907,331,1.858,332,1.777,337,1.451,400,1.265,401,1.293,404,2.081,408,2.138,409,0.8,410,1.578,413,1.522,414,0.931,416,3.225,418,1.376,421,1.293,427,1.334,429,1.779,431,2.658,434,1.334,437,1.334,438,2.501,442,2.962,444,1.422,445,1.255,448,1.47,450,0.673,451,1.522,453,0.673,457,0.821,468,0.98,469,1.931,470,0.98,471,1.97,472,0.98,473,0.98,474,0.885,475,0.98,476,0.863,477,1.771,478,0.885,479,0.98,480,1.265,481,1.771,482,0.885,483,0.931,484,0.98,485,0.885,486,0.98,487,0.885,488,0.841,489,0.98,490,0.885,491,0.98,492,0.885,493,0.885,494,0.98,495,0.885,496,0.955,497,0.863,498,0.98,499,0.885,500,1.474,501,0.863,502,1.779,503,0.885,504,1.771,505,0.885,506,1.365,507,1.474,508,0.863,509,0.885,510,0.863,511,0.725,512,0.98,513,0.863,514,0.841,515,0.885,516,0.98,517,0.885,518,0.98,519,0.885,520,0.98,521,0.885,522,1.174,523,0.885,524,1.33,525,0.885,526,0.98,527,0.885,528,1.234,529,0.98,530,0.885,531,0.98,532,0.98,583,5.559,660,2.373,665,0.885,677,1.33,678,1.771,684,3.021,705,1.553,718,2.563,719,3.269,785,2.07,813,1.174,827,3.087,864,4.522,865,4.129,964,3.087,969,2.024,976,2.174,1007,4.129,1237,2.563,1260,4.176,1286,4.998,1295,3.976,1328,2.931,1347,4.513,1348,4.025,1349,4.396,1358,2.501,1368,2.174,1377,4.129,1577,2.931,1653,4.127,1686,1.777,1690,2.174,1734,4.963,1736,4.963,1738,4.129,1749,4.129,1792,4.129,1793,4.129,1807,3.762,1815,2.319,1938,4.413,2031,2.794,2126,2.563,2128,2.563,2266,3.929,2289,1.949,2321,2.174,2333,2.319,2337,5.887,2338,5.887,2339,2.746,2340,5.633,2341,5.633,2342,3.71,2343,4.923,2344,5.633,2345,5.633,2346,4.687,2347,6.266,2348,4.687,2349,4.129,2350,5,2351,4.687,2352,4.687,2353,4.687,2354,3.116,2355,3.762,2356,3.762,2357,3.116,2358,4.687,2359,4.687,2360,3.116,2361,4.129,2362,4.963,2363,3.116,2364,4.687,2365,3.116,2366,3.116,2367,3.116,2368,3.116,2369,3.116,2370,3.116,2371,3.116,2372,3.116,2373,1.704,2374,3.116,2375,3.116,2376,3.116,2377,4.687,2378,3.116,2379,3.116,2380,3.116,2381,4.687,2382,3.116,2383,3.116,2384,3.116,2385,3.116,2386,2.501,2387,3.116,2388,3.116,2389,3.116]],["title/modules/RegistrationContentModule.html",[533,1.271,2390,3.045]],["body/modules/RegistrationContentModule.html",[3,0.116,4,0.145,5,0.102,6,0.088,43,0.01,75,0.008,80,0.007,84,0.007,99,0.336,104,0.298,130,0.145,133,0.204,212,0.772,308,1.184,326,1.807,424,1.595,497,2.074,502,2.57,535,1.762,536,2.182,547,2.356,548,1.762,550,2.55,552,2.419,556,2.296,570,6.602,583,4.089,735,2.55,736,2.693,737,2.113,742,4.098,743,3.395,1680,5.226,1681,4.33,1683,4.089,1719,5.435,1829,5.725,1841,4.983,1842,4.983,1843,5.47,1844,4.089,1845,4.983,2337,4.33,2338,4.33,2390,6.292,2391,5.47,2392,5.47,2393,5.47,2394,6.208,2395,6.208,2396,5.47]],["title/components/RegistrationModalComponent.html",[196,0.424,503,1.239]],["body/components/RegistrationModalComponent.html",[3,0.08,4,0.1,5,0.097,6,0.114,11,0.734,12,1.408,18,0.403,19,0.651,20,1.479,22,2.236,23,2.565,25,1.479,35,1.043,38,1.832,40,1.098,41,1.126,42,0.999,43,0.01,44,1.123,45,0.659,46,0.778,52,1.25,55,1.214,56,1.098,69,0.581,75,0.006,80,0.005,84,0.005,85,1.098,86,1.154,88,2.843,91,2.612,99,0.305,102,2.097,104,0.206,112,2.257,113,1.219,115,1.461,122,1.679,123,1.679,124,1.679,125,1.586,130,0.1,133,0.259,134,0.882,142,1.223,160,0.684,161,1.151,196,0.764,197,1.159,198,1.479,199,1.219,201,1.35,202,1.316,205,2.378,207,4.444,208,1.159,211,2.279,212,1.135,213,1.049,216,1.594,231,4.786,256,0.999,258,1.896,260,1.479,287,1.35,299,1.586,300,1.691,308,1.683,309,2.127,331,2.56,332,2.448,409,1.103,450,0.927,453,0.927,457,1.131,468,1.35,469,1.909,470,1.35,471,2.285,472,1.35,473,1.35,474,1.219,475,1.35,476,1.189,477,2.122,478,1.219,479,1.35,480,1.594,481,2.122,482,1.219,483,1.282,484,1.35,485,1.219,486,1.35,487,1.219,488,1.159,489,1.35,490,1.219,491,1.35,492,1.219,493,1.219,494,1.35,495,1.219,496,1.316,497,1.189,498,1.35,499,1.219,500,1.857,501,1.189,502,1.676,503,2.063,504,2.122,505,1.219,506,1.719,507,1.857,508,1.189,509,1.219,510,1.189,511,0.999,512,1.35,513,1.189,514,1.159,515,1.219,516,1.35,517,1.219,518,1.35,519,1.219,520,1.35,521,1.219,522,1.479,523,1.219,524,1.676,525,1.219,526,1.35,527,1.219,528,1.555,529,1.35,530,1.219,531,1.35,532,1.35,583,5.732,665,1.219,677,1.676,678,2.122,705,1.957,781,2.828,961,3.692,1118,5.409,1260,4.898,1575,5.409,1948,2.828,1955,2.348,1956,2.448,2024,2.448,2027,2.448,2225,3.195,2337,5.626,2338,2.995,2342,4.444,2373,2.348,2396,3.783,2397,2.995,2398,5.904,2399,4.394,2400,7.267,2401,3.447,2402,6.116,2403,6.748,2404,3.783,2405,4.394,2406,3.783,2407,4.294,2408,4.294,2409,4.294,2410,3.447,2411,4.294,2412,4.294,2413,4.294,2414,4.294,2415,3.447,2416,4.294,2417,4.294,2418,4.294]],["title/modules/RegistrationModalModule.html",[533,1.271,545,3.045]],["body/modules/RegistrationModalModule.html",[3,0.12,4,0.149,5,0.105,6,0.091,43,0.01,75,0.008,80,0.007,84,0.007,99,0.331,104,0.307,130,0.149,133,0.21,308,1.453,424,1.64,503,2.579,535,1.813,536,2.219,545,6.257,547,2.397,548,1.813,550,2.594,552,2.46,556,2.336,562,3.164,563,2.498,583,5.02,735,2.594,736,2.739,737,2.174,2337,4.455,2338,4.455,2373,3.493,2390,6.103,2419,5.627,2420,5.627,2421,5.627,2422,6.387,2423,5.127,2424,4.455,2425,6.118,2426,6.387]],["title/injectables/RegistrationState.html",[0,1.271,875,2.295]],["body/injectables/RegistrationState.html",[0,1.103,1,2.7,2,1.351,3,0.044,4,0.055,5,0.062,6,0.119,8,2.315,9,1.482,11,0.882,12,1.735,14,2.16,15,2.468,16,1.44,18,0.222,19,0.418,20,2.115,22,2.856,23,3.125,25,0.949,29,2.315,32,1.918,33,4.869,35,0.836,36,1.902,37,3.347,38,1.945,40,0.704,41,0.722,42,1.692,43,0.01,44,1.084,45,0.735,46,1.319,47,0.98,48,1.535,49,2.7,50,2.489,52,1.378,53,3.353,55,1.666,56,1.099,59,2.495,65,1.622,69,1.024,75,0.004,80,0.003,83,2.643,84,0.003,85,0.441,86,1.541,88,1.852,90,2.318,91,1.701,96,2.96,99,0.311,102,1.157,104,0.114,105,3.483,106,1.622,107,1.526,108,1.014,109,1.014,110,0.954,112,1.246,113,0.673,114,1.673,115,0.806,118,1.763,119,1.296,120,1.412,129,0.159,130,0.088,132,0.983,133,0.078,134,1.555,139,1.237,140,1.296,141,1.115,142,0.687,155,2.179,156,3.095,160,1.184,161,0.893,162,1.014,163,1.081,164,1.56,165,1.351,166,1.56,167,1.56,168,1.482,169,1.56,170,1.56,173,1.482,174,1.482,181,1.56,185,1.653,188,1.528,208,2.074,212,0.588,245,2.38,246,2.179,256,1.101,257,0.726,262,1.351,287,1.701,297,0.998,299,0.875,308,1.577,326,0.69,333,0.806,334,1.246,335,1.246,337,1.6,359,2.55,382,1.655,387,1.799,390,1.965,400,1.278,435,1.118,466,1.852,493,1.344,511,0.551,610,3.041,612,2.612,614,2.82,621,3.895,629,1.763,635,1.157,636,1.2,659,2.82,661,2.822,662,1.351,679,1.573,712,3.041,785,1.673,813,1.58,816,3.041,820,3.302,848,2.185,875,1.992,902,1.412,944,1.653,960,3.36,961,3.698,962,3.562,1115,1.4,1129,1.56,1225,2.958,1283,2.643,1295,3.684,1343,3.944,1352,1.729,1391,2.82,1397,1.157,1423,2.82,1472,3.8,1477,3.041,1478,1.902,1758,3.526,1808,2.072,1856,1.787,1888,2.495,1926,1.482,1936,3.45,1941,2.312,1943,2.643,1944,1.412,1945,1.412,1952,1.412,1954,1.351,1955,1.296,1956,2.16,1960,2.233,1961,1.157,1962,1.412,1966,1.412,1968,1.412,1974,2.259,2007,1.482,2019,2.822,2024,1.351,2027,2.16,2102,1.412,2122,3.773,2126,1.296,2128,2.589,2134,2.82,2151,5.734,2152,1.653,2161,1.351,2166,2.643,2197,1.653,2208,1.653,2209,1.653,2210,1.653,2214,1.653,2233,2.7,2285,1.653,2286,1.653,2290,1.482,2296,1.653,2304,2.643,2309,1.653,2333,1.763,2386,1.902,2427,1.902,2428,5.84,2429,5.522,2430,4.171,2431,3.789,2432,4.171,2433,4.171,2434,3.789,2435,3.789,2436,3.789,2437,3.789,2438,5.694,2439,3.523,2440,4.171,2441,4.171,2442,4.171,2443,3.789,2444,3.338,2445,2.369,2446,2.369,2447,2.369,2448,3.338,2449,4.4,2450,2.369,2451,2.369,2452,3.041,2453,3.338,2454,2.369,2455,2.369,2456,3.338,2457,2.369,2458,2.369,2459,3.338,2460,2.369,2461,3.338,2462,4.765,2463,3.338,2464,3.338,2465,3.338,2466,2.82,2467,3.338,2468,2.369,2469,3.338,2470,3.338,2471,2.369,2472,3.338,2473,2.369,2474,4.171,2475,3.338,2476,3.338,2477,3.338,2478,2.369,2479,2.369,2480,2.369,2481,2.369,2482,2.369,2483,2.369,2484,2.369,2485,2.369,2486,2.369,2487,2.369,2488,2.369,2489,2.369,2490,2.369,2491,2.369,2492,3.8,2493,2.369,2494,2.369,2495,3.523,2496,3.338,2497,2.369,2498,2.369,2499,2.088,2500,2.088,2501,1.902,2502,2.088,2503,3.338,2504,2.088,2505,1.763,2506,1.763,2507,4.765,2508,4.171,2509,3.338,2510,3.338,2511,3.338,2512,2.088,2513,2.088,2514,2.088,2515,3.338,2516,2.088,2517,2.088,2518,2.088,2519,2.088,2520,2.088,2521,2.088,2522,2.088,2523,2.088,2524,2.088,2525,2.088,2526,1.902,2527,2.088,2528,2.088,2529,2.088,2530,2.088,2531,2.088,2532,2.088,2533,2.088,2534,2.088,2535,2.088,2536,2.088,2537,2.088,2538,2.088,2539,2.088,2540,2.088,2541,2.088,2542,2.088,2543,2.088,2544,2.088,2545,2.088,2546,2.088,2547,2.088,2548,2.088,2549,2.088,2550,2.088,2551,2.088,2552,2.088,2553,2.088,2554,2.088,2555,2.088,2556,2.088,2557,2.088,2558,2.088,2559,2.088,2560,2.088,2561,2.088,2562,1.763,2563,2.088,2564,1.763,2565,1.653,2566,1.902,2567,2.088,2568,2.088,2569,4.765,2570,4.765,2571,2.088,2572,3.338,2573,2.088,2574,2.088,2575,2.088,2576,2.088,2577,2.088,2578,2.088,2579,2.088,2580,2.088,2581,2.088,2582,2.088,2583,2.088,2584,2.088,2585,2.088,2586,1.902,2587,2.088,2588,2.088,2589,2.088,2590,2.088,2591,2.088,2592,3.338,2593,2.088,2594,2.088,2595,2.088,2596,2.088,2597,2.088,2598,2.088,2599,4.171,2600,2.088,2601,2.088,2602,3.338,2603,2.643,2604,3.338,2605,3.338,2606,2.088,2607,2.088,2608,2.088,2609,2.088,2610,2.088,2611,2.088,2612,2.088,2613,2.088,2614,2.088,2615,1.902,2616,2.088,2617,2.088,2618,2.088,2619,2.088,2620,2.088,2621,2.088,2622,2.088,2623,2.088,2624,2.088,2625,2.088,2626,2.088,2627,2.088,2628,2.088,2629,2.088,2630,2.088,2631,2.088,2632,2.088,2633,2.088,2634,2.088,2635,2.088,2636,2.088,2637,2.088,2638,2.088,2639,2.088,2640,2.088,2641,2.088,2642,2.088,2643,2.088,2644,2.088,2645,2.088,2646,2.088,2647,2.088,2648,2.088,2649,2.088,2650,2.088,2651,2.088,2652,2.088,2653,2.088,2654,2.088]],["title/interfaces/RegistrationStateModel.html",[129,0.292,2506,3.249]],["body/interfaces/RegistrationStateModel.html",[0,1.304,1,2.553,3,0.055,4,0.069,5,0.074,6,0.042,8,2.601,9,1.835,11,0.365,12,1.56,14,1.673,15,2.416,16,1.115,18,0.275,19,0.494,20,1.97,22,2.804,23,2.988,29,1.256,33,4.625,35,0.791,37,3.087,40,0.545,41,0.559,43,0.01,44,0.846,45,0.651,47,0.812,48,1.271,49,2.553,50,2.354,53,3.077,55,1.116,56,0.988,59,1.932,65,1.256,69,0.971,75,0.005,80,0.003,83,3.123,84,0.003,86,1.559,88,1.752,90,2.198,91,1.609,96,2.811,99,0.322,102,1.433,104,0.141,105,3.745,106,1.916,107,1.804,108,1.256,109,1.256,110,1.182,112,1.543,113,0.833,114,1.978,115,0.999,118,2.184,119,1.605,120,1.749,129,0.197,130,0.105,132,1.218,133,0.097,134,1.639,139,1.304,140,1.605,141,1.156,142,0.532,155,2.447,156,3.212,160,1.252,161,0.82,162,1.256,163,1.339,164,1.932,165,1.673,166,1.932,167,1.932,168,1.835,169,1.932,170,1.932,173,1.835,174,1.835,181,1.932,185,2.046,188,1.753,195,0.773,208,1.937,212,0.675,245,2.351,246,1.804,256,1.263,257,0.899,262,1.673,287,1.707,297,0.773,299,1.084,308,1.582,326,0.854,333,1.524,334,1.543,335,1.543,337,1.616,359,2.496,382,1.899,387,2.064,390,2.254,400,1.466,435,1.384,466,2.124,493,1.271,511,0.683,612,2.398,614,3.332,621,3.576,629,2.184,635,1.433,636,1.486,659,2.184,661,3.237,662,1.673,679,1.218,712,3.594,785,1.296,813,1.728,816,3.594,820,3.787,848,2.418,875,1.543,902,1.749,944,2.046,960,3.369,961,3.799,962,2.949,1115,1.084,1129,1.932,1225,2.449,1283,2.046,1295,3.313,1343,4.091,1352,1.339,1391,2.184,1397,1.433,1423,2.184,1472,2.355,1477,2.355,1478,2.355,1758,3.622,1808,2.449,1856,1.384,1888,1.932,1926,1.835,1936,2.97,1941,2.187,1943,3.123,1944,1.749,1945,1.749,1952,1.749,1954,1.673,1955,1.605,1956,2.553,1960,2.113,1961,1.433,1962,1.749,1966,1.749,1968,1.749,1974,2.669,2007,1.835,2019,3.237,2024,1.673,2027,2.553,2102,1.749,2122,3.123,2126,1.605,2128,2.449,2134,2.184,2151,5.159,2152,2.046,2161,1.673,2166,3.123,2197,2.046,2208,2.046,2209,2.046,2210,2.046,2214,2.046,2233,1.673,2285,2.046,2286,2.046,2290,1.835,2296,2.046,2304,3.123,2309,2.046,2386,2.355,2427,2.355,2428,6.311,2429,5.937,2430,2.585,2432,2.585,2433,2.585,2438,4.877,2439,2.184,2440,2.585,2441,2.585,2442,2.585,2444,2.585,2448,2.585,2449,3.787,2452,2.355,2453,2.585,2456,2.585,2459,2.585,2461,2.585,2462,4.784,2463,2.585,2464,2.585,2465,2.585,2466,2.184,2467,2.585,2469,2.585,2470,2.585,2472,2.585,2474,3.945,2475,2.585,2476,2.585,2477,2.585,2492,3.594,2495,3.332,2496,2.585,2499,2.585,2500,2.585,2501,2.355,2502,2.585,2503,3.945,2504,2.585,2505,2.184,2506,3.332,2507,6.32,2508,4.784,2509,3.945,2510,3.945,2511,3.945,2512,2.585,2513,2.585,2514,2.585,2515,3.945,2516,2.585,2517,2.585,2518,2.585,2519,2.585,2520,2.585,2521,2.585,2522,2.585,2523,2.585,2524,2.585,2525,2.585,2526,2.355,2527,2.585,2528,2.585,2529,2.585,2530,2.585,2531,2.585,2532,2.585,2533,2.585,2534,2.585,2535,2.585,2536,2.585,2537,2.585,2538,2.585,2539,2.585,2540,2.585,2541,2.585,2542,2.585,2543,2.585,2544,2.585,2545,2.585,2546,2.585,2547,2.585,2548,2.585,2549,2.585,2550,2.585,2551,2.585,2552,2.585,2553,2.585,2554,2.585,2555,2.585,2556,2.585,2557,2.585,2558,2.585,2559,2.585,2560,2.585,2561,2.585,2562,2.184,2563,2.585,2564,2.184,2565,2.046,2566,2.355,2567,2.585,2568,2.585,2569,5.353,2570,5.353,2571,2.585,2572,3.945,2573,2.585,2574,2.585,2575,2.585,2576,2.585,2577,2.585,2578,2.585,2579,2.585,2580,2.585,2581,2.585,2582,2.585,2583,2.585,2584,2.585,2585,2.585,2586,2.355,2587,2.585,2588,2.585,2589,2.585,2590,2.585,2591,2.585,2592,3.945,2593,2.585,2594,2.585,2595,2.585,2596,2.585,2597,2.585,2598,2.585,2599,4.784,2600,2.585,2601,2.585,2602,3.945,2603,3.123,2604,3.945,2605,3.945,2606,2.585,2607,2.585,2608,2.585,2609,2.585,2610,2.585,2611,2.585,2612,2.585,2613,2.585,2614,2.585,2615,2.355,2616,2.585,2617,2.585,2618,2.585,2619,2.585,2620,2.585,2621,2.585,2622,2.585,2623,2.585,2624,2.585,2625,2.585,2626,2.585,2627,2.585,2628,2.585,2629,2.585,2630,2.585,2631,2.585,2632,2.585,2633,2.585,2634,2.585,2635,2.585,2636,2.585,2637,2.585,2638,2.585,2639,2.585,2640,2.585,2641,2.585,2642,2.585,2643,2.585,2644,2.585,2645,2.585,2646,2.585,2647,2.585,2648,2.585,2649,2.585,2650,2.585,2651,2.585,2652,2.585,2653,2.585,2654,2.585]],["title/components/ReviewButtonComponent.html",[196,0.424,505,1.239]],["body/components/ReviewButtonComponent.html",[3,0.11,4,0.078,5,0.081,6,0.119,11,0.615,12,1.18,18,0.315,19,0.546,20,0.84,25,1.24,32,2.506,35,0.592,38,1.928,40,0.92,41,0.944,42,1.151,43,0.01,44,1.072,45,0.725,46,0.897,47,1.177,48,1.405,52,0.976,55,1.209,56,0.981,69,0.454,75,0.005,80,0.004,84,0.004,85,1.348,86,1.505,90,1.516,99,0.262,104,0.161,130,0.078,133,0.239,134,1.017,139,0.548,141,0.874,142,1.066,160,0.788,161,1.133,196,0.787,197,0.905,198,1.24,199,0.952,200,1.054,201,1.054,202,1.027,204,2.95,205,1.993,208,2.078,211,2.236,212,1.116,213,0.819,214,1.336,216,1.336,222,2.706,256,0.78,259,2.348,260,1.24,261,3.683,263,2.054,286,4.278,287,2.28,297,1.909,300,1.474,308,1.238,309,1.772,333,2.468,337,1.424,359,2.299,400,1.336,404,1.239,405,1.205,408,1.529,409,0.861,414,1.478,421,1.391,431,4.027,436,1.435,450,0.724,453,0.724,457,0.883,468,1.054,469,1.736,470,1.054,471,2.042,472,1.054,473,1.054,474,0.952,475,1.054,476,0.928,477,1.85,478,0.952,479,1.054,480,1.336,481,1.85,482,0.952,483,1.757,484,1.054,485,0.952,486,1.054,487,0.952,488,0.905,489,1.054,490,0.952,491,1.054,492,0.952,493,0.952,494,1.054,495,0.952,496,1.027,497,0.928,498,1.054,499,0.952,500,1.556,501,0.928,502,0.952,503,0.952,504,1.85,505,1.844,506,2.532,507,1.556,508,1.37,509,0.952,510,0.928,511,0.78,512,1.054,513,0.928,514,0.905,515,0.952,516,1.054,517,0.952,518,1.054,519,0.952,520,1.054,521,0.952,522,1.24,523,0.952,524,1.405,525,0.952,526,1.054,527,0.952,528,1.303,529,1.054,530,0.952,531,1.054,532,1.054,596,1.35,607,1.993,612,3.624,646,2.691,664,2.876,665,0.952,666,2.876,667,2.541,668,1.274,669,1.239,670,2.173,677,1.405,678,1.85,683,2.541,684,2.118,704,2.417,705,1.64,718,1.833,722,1.762,813,2.003,820,3.451,822,3.972,891,2.417,962,5.265,972,2.95,1008,3.972,1115,1.828,1121,3.972,1237,2.706,1246,2.096,1260,3.951,1294,2.417,1303,2.95,1575,3.683,1653,3.259,1690,5.057,1717,2.691,2245,4.775,2321,2.338,2333,2.495,2343,2.338,2349,4.36,2361,4.36,2362,5.183,2373,1.833,2401,2.691,2402,5.214,2424,2.338,2429,4.722,2466,3.683,2655,5.508,2656,6.223,2657,2.691,2658,4.948,2659,4.948,2660,5.882,2661,5.183,2662,4.36,2663,6.495,2664,6.495,2665,6.928,2666,5.882,2667,5.882,2668,4.948,2669,4.948,2670,3.352,2671,7.251,2672,4.948,2673,3.352,2674,3.352,2675,2.953,2676,4.36,2677,4.948,2678,4.948,2679,4.36,2680,4.948,2681,4.36,2682,3.352,2683,3.972,2684,4.36,2685,3.352,2686,4.948,2687,4.36,2688,3.352,2689,4.948,2690,2.953,2691,3.352,2692,3.352,2693,2.691,2694,2.208,2695,5.882,2696,3.352,2697,2.495,2698,3.352,2699,3.352,2700,3.352,2701,3.352,2702,3.352,2703,4.948,2704,3.352,2705,3.352,2706,3.352,2707,3.352,2708,3.352,2709,2.691,2710,2.691,2711,3.352,2712,3.352,2713,3.352]],["title/modules/ReviewButtonModule.html",[533,1.271,2714,3.045]],["body/modules/ReviewButtonModule.html",[3,0.119,4,0.149,5,0.105,6,0.09,43,0.01,75,0.008,80,0.007,84,0.007,99,0.331,104,0.306,130,0.149,133,0.21,424,1.639,505,2.579,506,2.218,535,1.811,536,2.218,547,2.395,548,1.811,550,2.592,552,2.458,556,2.334,584,5.621,735,2.592,736,2.737,737,2.171,742,4.166,743,3.489,1270,5.621,1680,5.312,1681,4.449,2655,4.201,2656,4.748,2694,4.201,2714,6.256,2715,5.621,2716,5.621,2717,5.621,2718,5.621,2719,6.101,2720,6.379]],["title/components/ReviewModalComponent.html",[196,0.424,508,1.209]],["body/components/ReviewModalComponent.html",[3,0.116,4,0.086,5,0.087,6,0.114,11,0.657,12,1.26,18,0.344,19,0.583,25,1.8,35,0.934,38,1.836,40,1.336,41,1.008,42,0.853,43,0.01,44,1.074,45,0.7,46,0.665,48,1.759,52,1.539,55,0.754,56,0.798,69,0.497,75,0.006,76,2.923,80,0.004,84,0.004,85,0.983,86,1.033,90,1.898,99,0.234,104,0.176,129,0.246,130,0.086,133,0.246,142,1.229,156,1.478,160,0.842,161,0.936,196,0.792,197,0.99,198,1.324,199,1.041,200,1.154,201,1.154,202,1.124,208,2.171,211,2.253,212,1.125,213,0.897,214,1.427,216,1.427,256,0.853,259,1.579,260,1.324,300,1.552,308,1.576,309,2.076,313,2.335,337,1.273,359,2.537,399,1.249,400,1.83,401,2.571,404,1.356,405,1.318,408,1.674,409,1.358,410,3.432,411,1.929,414,1.85,416,2.652,418,2.736,421,1.523,424,0.942,427,3.075,429,1.5,430,4.929,431,1.731,433,3.151,434,1.57,436,1.57,437,1.57,438,2.945,441,1.674,442,2.779,444,2.827,446,2.416,447,2.559,449,2.779,450,1.338,453,1.552,457,0.966,461,2.676,468,1.154,469,1.8,470,1.154,471,2.132,472,1.154,473,1.154,474,1.041,475,1.154,476,1.016,477,1.948,478,1.041,479,1.154,480,1.427,481,1.948,482,1.041,483,1.096,484,1.154,485,1.041,486,1.154,487,1.041,488,0.99,489,1.154,490,1.041,491,1.154,492,1.041,493,1.041,494,1.154,495,1.041,496,1.124,497,1.016,498,1.154,499,1.041,500,1.662,501,1.016,502,1.041,503,1.041,504,1.948,505,1.041,506,2.567,507,1.662,508,1.877,509,1.041,510,1.016,511,0.853,512,1.154,513,1.016,514,0.99,515,1.041,516,1.154,517,1.041,518,1.154,519,1.041,520,1.154,521,1.041,522,1.324,523,1.041,524,1.5,525,1.041,526,1.154,527,1.041,528,1.392,529,1.154,530,1.041,531,1.154,532,1.154,561,2.007,612,2.335,660,3.137,665,1.041,677,1.5,678,1.948,705,1.752,717,2.294,813,1.552,891,3.026,961,3.874,962,3.481,963,3.305,969,2.582,972,3.693,1018,2.73,1115,2.289,1260,4.585,1261,4.611,1314,2.092,1315,2.092,1325,2.335,1368,3.686,1381,3.686,1452,4.611,1574,2.73,1577,3.305,1860,2.187,2245,4.929,2342,4.929,2343,5.011,2350,5.347,2373,2.007,2397,2.559,2399,3.933,2405,4.611,2406,3.232,2449,2.559,2655,5.296,2683,2.945,2693,2.945,2694,5.296,2709,2.945,2710,2.945,2721,4.657,2722,4.973,2723,3.669,2724,5.347,2725,5.285,2726,5.458,2727,4.611,2728,5.458,2729,5.285,2730,4.243,2731,3.669,2732,3.669,2733,3.232,2734,2.945,2735,3.232,2736,3.232,2737,3.232,2738,3.232,2739,3.232,2740,3.232,2741,2.945,2742,3.232,2743,4.657,2744,5.285,2745,5.285,2746,3.669,2747,3.669,2748,5.285,2749,3.232,2750,3.669,2751,3.669]],["title/interfaces/ReviewModalData.html",[129,0.292,2724,3.249]],["body/interfaces/ReviewModalData.html",[3,0.131,4,0.13,5,0.091,6,0.079,11,0.691,18,0.522,19,0.772,25,1.393,35,0.982,40,1.301,41,1.06,43,0.01,44,0.774,45,0.635,48,1.578,56,0.84,75,0.007,80,0.006,84,0.006,90,1.703,99,0.29,104,0.267,129,0.372,130,0.13,133,0.23,142,1.389,160,1.115,161,0.84,195,1.464,196,0.805,208,2.384,211,1.393,212,0.87,214,1.501,216,1.501,259,2.288,308,1.533,309,2.1,337,1.653,359,2.527,424,1.428,430,3.661,469,1.393,506,2.571,508,1.539,660,3.88,665,1.578,677,1.578,678,1.748,813,1.92,891,3.742,961,4.791,972,4.568,1018,4.137,1115,2.831,1260,4.369,1261,5.702,1452,4.137,1574,4.137,1577,3.476,1860,3.314,2245,5.459,2342,4.61,2343,4.882,2350,5.209,2373,3.04,2397,3.877,2399,4.137,2405,5.702,2449,4.882,2655,3.661,2683,5.619,2693,4.462,2694,3.661,2709,4.462,2710,4.462,2721,4.898,2722,4.462,2724,5.702,2726,4.898,2727,4.137,2728,4.898,2730,4.462,2734,4.462,2735,6.167,2736,4.898,2737,4.898,2738,4.898,2739,4.898,2740,4.898,2741,4.462,2742,4.898]],["title/modules/ReviewModalModule.html",[533,1.271,2719,3.045]],["body/modules/ReviewModalModule.html",[3,0.121,4,0.151,5,0.107,6,0.092,43,0.01,75,0.008,80,0.007,84,0.007,99,0.332,104,0.311,130,0.151,133,0.213,424,1.664,506,1.887,508,2.519,535,1.84,536,2.238,547,2.418,548,1.84,550,2.617,552,2.092,556,2.356,562,3.191,563,2.535,735,2.617,736,2.763,737,2.206,1680,5.362,1681,4.52,2373,3.544,2423,5.202,2424,4.52,2425,6.171,2655,4.268,2694,4.268,2719,6.186,2752,5.71,2753,5.71,2754,5.71]],["title/components/RightSidebarComponent.html",[196,0.424,509,1.239]],["body/components/RightSidebarComponent.html",[1,3.874,3,0.099,4,0.086,5,0.087,6,0.102,8,3.208,9,2.305,11,0.659,12,1.717,15,2.301,18,0.346,19,0.585,22,2.386,23,2.849,33,4.501,35,0.937,38,1.581,40,0.986,41,1.011,42,0.858,43,0.01,44,1.075,45,0.616,46,0.668,47,1.231,52,1.073,69,0.499,75,0.006,76,1.739,77,3.162,80,0.006,84,0.004,85,1.155,86,1.215,88,2.658,91,2.442,99,0.272,104,0.177,130,0.086,133,0.247,140,3.398,142,0.668,158,4.091,160,1.082,161,1.167,188,1.19,196,0.699,197,0.995,198,1.329,199,1.046,200,1.159,201,1.159,202,1.13,208,0.995,209,1.584,210,1.584,211,2.254,212,1.124,213,0.901,214,1.432,216,1.432,219,2.788,237,2.959,256,1.445,257,1.13,259,1.584,260,1.329,287,1.668,300,1.556,307,2.788,308,1.558,309,1.518,310,2.901,313,2.744,321,1.101,331,2.198,332,2.102,333,1.805,337,0.758,387,1.401,399,1.255,400,2.024,401,3.206,402,2.305,403,2.305,404,2.975,405,2.232,406,3.542,408,3.284,409,1.745,410,3.796,413,3.034,414,2.239,416,2.27,418,3.18,427,2.659,428,3.398,429,2.043,431,1.739,432,2.198,433,3.162,434,2.659,442,2.788,444,2.42,445,2.136,448,2.502,449,1.938,450,1.668,451,1.801,453,1.893,457,0.971,459,2.428,461,3.44,464,1.867,468,1.668,469,1.804,470,1.159,471,2.136,472,1.159,473,1.159,474,1.046,475,1.159,476,1.02,477,1.953,478,1.046,479,1.159,480,1.432,481,1.953,482,1.046,483,1.101,484,1.159,485,1.046,486,1.159,487,1.046,488,0.995,489,1.159,490,1.046,491,1.159,492,1.046,493,1.046,494,1.159,495,1.046,496,1.13,497,1.02,498,1.159,499,1.046,500,1.668,501,1.02,502,1.046,503,1.046,504,1.953,505,1.046,506,1.544,507,1.668,508,1.02,509,1.929,510,1.02,511,0.858,512,1.159,513,1.02,514,0.995,515,1.046,516,1.159,517,1.046,518,1.159,519,1.046,520,1.159,521,1.046,522,1.329,523,1.046,524,1.506,525,1.046,526,1.159,527,1.046,528,1.397,529,1.159,530,1.046,531,1.159,532,1.159,586,5.357,607,2.136,635,1.801,665,1.046,671,2.744,677,1.506,678,1.953,705,1.758,715,2.571,718,2.901,727,2.305,728,2.428,729,2.428,813,1.329,828,2.428,860,3.947,875,3.572,937,2.959,968,2.571,969,2.973,972,2.198,976,2.571,1210,2.571,1258,4.091,1314,2.102,1315,2.102,1316,2.428,1317,2.744,1325,3.001,1328,3.316,1333,2.744,1381,2.571,1655,2.571,1728,2.959,1729,7.2,1730,5.473,1731,4.673,1744,5.473,1761,2.016,1808,3.716,1810,4.673,1811,4.673,1812,4.257,1813,2.959,1814,3.248,1816,5.473,1818,2.959,1821,3.248,1822,3.248,2505,2.744,2755,5.778,2756,6.794,2757,5.304,2758,5.304,2759,3.686,2760,3.686,2761,3.686,2762,3.686,2763,3.686,2764,3.686,2765,3.686,2766,6.212,2767,3.686,2768,3.686,2769,4.257,2770,3.686,2771,3.686,2772,3.686]],["title/modules/RightSidebarModule.html",[533,1.271,546,3.045]],["body/modules/RightSidebarModule.html",[3,0.106,4,0.133,5,0.093,6,0.081,43,0.01,75,0.008,80,0.006,84,0.006,99,0.342,104,0.273,130,0.133,133,0.187,212,0.706,326,1.653,409,1.822,424,1.458,453,1.226,509,2.542,535,1.612,536,2.065,546,6.368,547,2.231,548,1.612,550,2.414,552,2.29,556,2.174,562,2.944,563,2.221,566,3.739,568,5.694,569,4.558,586,4.226,657,3.739,730,5.934,735,2.414,736,2.549,737,1.932,742,3.88,743,3.105,1832,5.003,1833,6.25,1834,5.003,1835,5.694,1836,4.558,1845,5.694,1851,5.003,2656,4.226,2714,5.934,2755,4.558,2773,5.003,2774,5.003,2775,5.003,2776,5.003,2777,5.934,2778,5.934,2779,5.934,2780,5.934,2781,5.678,2782,5.678,2783,3.739,2784,5.678,2785,5.678,2786,3.739,2787,7.093,2788,4.226,2789,5.678,2790,3.96,2791,5.678,2792,5.678,2793,5.678,2794,7.093]],["title/interfaces/Rotation.html",[129,0.292,511,1.016]],["body/interfaces/Rotation.html",[3,0.098,4,0.123,5,0.086,6,0.074,11,0.652,18,0.493,19,0.744,40,0.975,41,1,43,0.01,44,0.73,45,0.739,47,0.951,56,1.019,69,0.913,71,2.192,75,0.007,80,0.006,84,0.006,85,0.975,86,1.679,99,0.255,104,0.252,129,0.351,130,0.158,133,0.222,139,0.858,141,1.391,142,0.951,160,1.188,161,1.126,195,1.382,196,0.809,209,1.567,210,1.567,211,1.315,212,0.839,214,1.416,216,1.416,258,2.317,259,2.351,321,1.567,382,2.965,387,3.223,390,3.519,429,2.235,466,2.639,469,1.315,510,1.452,511,2.079,548,1.489,596,2.113,664,2.8,665,1.489,666,3.095,667,2.639,668,1.994,669,1.939,670,2.493,677,1.489,678,1.65,679,3.095,683,2.639,843,3.69,888,2.992,1115,1.939,1237,2.87,1294,2.563,1302,3.455,1540,3.281,1544,3.455,1643,3.455,1686,4.948,1815,5.55,2697,3.905,2783,3.455,2795,3.659,2796,3.905,2797,5.944,2798,5.55,2799,4.623,2800,4.212,2801,4.212,2802,4.623,2803,4.212,2804,4.623,2805,4.623,2806,3.905,2807,4.212,2808,4.623,2809,4.212,2810,6.571,2811,7.345,2812,4.212,2813,4.623,2814,6.571,2815,4.623,2816,5.944,2817,5.944,2818,4.212,2819,4.623,2820,4.623,2821,4.623,2822,4.623]],["title/components/RotationSliderComponent.html",[196,0.424,510,1.209]],["body/components/RotationSliderComponent.html",[3,0.065,4,0.08,5,0.083,6,0.11,11,0.743,12,1.204,18,0.323,19,0.557,25,1.265,35,0.609,38,1.76,40,0.939,41,0.963,42,1.175,43,0.01,44,1.08,45,0.686,46,0.915,47,0.915,52,1.003,55,1.038,56,0.994,69,1.024,71,1.835,75,0.005,76,1.625,80,0.004,84,0.004,85,1.224,86,1.595,99,0.191,104,0.165,129,0.231,130,0.118,133,0.241,139,0.563,141,1.337,142,1.083,156,1.388,160,0.952,161,1.058,188,1.63,196,0.792,197,0.93,198,1.265,199,0.978,200,1.083,201,1.083,202,1.056,208,0.93,209,1.508,210,1.508,211,2.242,212,1.119,213,0.842,214,1.363,216,1.363,219,1.811,256,1.39,258,2.23,259,2.187,260,1.265,283,3.01,300,1.498,308,0.963,309,0.842,313,2.23,321,1.029,382,2.45,387,2.663,390,2.908,399,1.173,400,1.363,401,2.481,404,2.706,405,1.815,408,1.572,409,0.885,410,3.026,413,1.683,414,2.093,416,2.161,418,2.64,421,1.43,427,2.999,428,1.884,429,1.989,432,2.054,433,3.01,434,2.558,436,1.475,437,1.475,444,2.727,445,2.034,448,1.625,449,1.811,450,1.291,451,1.683,453,1.291,454,2.403,457,0.907,458,2.403,461,1.744,466,2.575,468,1.083,469,1.756,470,1.083,471,2.07,472,1.083,473,1.083,474,0.978,475,1.083,476,0.954,477,1.88,478,0.978,479,1.083,480,1.363,481,1.88,482,0.978,483,1.029,484,1.083,485,0.978,486,1.083,487,0.978,488,0.93,489,1.083,490,0.978,491,1.083,492,0.978,493,0.978,494,1.083,495,0.978,496,1.056,497,0.954,498,1.083,499,0.978,500,1.588,501,0.954,502,0.978,503,0.978,504,1.88,505,0.978,506,1.47,507,1.588,508,0.954,509,0.978,510,1.822,511,2.081,512,1.083,513,0.954,514,0.93,515,0.978,516,1.083,517,0.978,518,1.083,519,0.978,520,1.083,521,0.978,522,1.265,523,0.978,524,1.433,525,0.978,526,1.083,527,0.978,528,1.33,529,1.083,530,0.978,531,1.083,532,1.083,548,1.697,596,1.388,607,2.034,661,3.01,664,2.481,665,0.978,666,2.732,667,2.575,668,1.309,669,1.273,670,2.208,677,1.433,678,1.88,679,2.096,683,2.338,704,2.466,705,1.673,706,1.811,713,3.326,717,2.154,718,1.884,719,2.403,720,3.01,721,2.403,722,1.811,723,2.403,728,2.269,729,2.269,843,3.6,888,2.879,963,3.157,968,2.403,969,1.815,1115,1.866,1237,2.762,1294,2.466,1302,3.326,1314,2.879,1315,2.879,1316,2.269,1325,3.095,1367,3.157,1368,3.522,1540,3.157,1544,3.326,1643,3.326,1686,4.936,1815,4.448,2697,3.758,2783,5.11,2795,5.412,2796,2.564,2797,3.036,2798,4.898,2799,4.449,2800,4.053,2801,4.053,2802,4.449,2803,4.053,2804,4.449,2805,5.266,2806,3.758,2807,4.053,2808,5.266,2809,4.053,2810,5.799,2811,7.09,2812,4.053,2813,4.449,2814,5.266,2815,3.036,2816,4.449,2817,4.449,2818,4.053,2819,4.449,2820,4.449,2821,5.799,2822,3.036,2823,5.049,2824,5.049,2825,3.445,2826,5.049,2827,3.445,2828,3.445,2829,5.049,2830,4.053,2831,5.049,2832,3.445,2833,3.445,2834,3.036,2835,3.445,2836,4.449,2837,3.445,2838,6.582,2839,5.049]],["title/modules/RotationSliderModule.html",[533,1.271,2777,3.045]],["body/modules/RotationSliderModule.html",[3,0.12,4,0.15,5,0.106,6,0.091,43,0.01,75,0.008,80,0.007,84,0.007,99,0.335,104,0.308,130,0.15,133,0.211,424,1.648,510,2.517,511,1.493,535,1.822,536,2.225,547,2.404,548,1.822,550,2.602,552,2.071,556,2.342,562,3.173,563,2.51,735,2.602,736,2.747,737,2.184,740,5.331,741,4.476,742,4.181,743,3.51,2777,6.174,2783,4.227,2795,4.476,2840,5.654,2841,5.654,2842,5.654,2843,6.418,2844,6.418,2845,7.644,2846,6.418]],["title/injectables/SceneState.html",[0,1.271,92,2.49]],["body/injectables/SceneState.html",[0,1.318,2,1.697,3,0.056,4,0.07,5,0.049,6,0.119,11,0.563,15,2.357,16,1.721,18,0.279,19,0.499,20,2.028,22,2.522,23,2.082,24,4.568,25,1.134,29,2.968,32,2.292,35,0.968,36,2.389,37,3.591,38,1.935,40,0.842,41,0.863,42,1.053,43,0.01,44,0.763,45,0.704,46,0.821,47,1.11,48,1.285,49,3.124,50,2.88,55,1.126,56,0.684,65,1.938,69,0.891,71,1.738,75,0.005,80,0.003,84,0.003,85,0.842,86,0.582,88,2.143,90,2.018,92,2.582,96,3.109,99,0.309,104,0.143,105,3.93,106,1.938,107,1.824,108,1.274,109,1.274,110,1.199,112,2.38,113,0.845,114,1.315,115,1.013,119,1.628,122,2.143,123,2.143,124,2.143,125,2.024,126,2.143,127,2.215,128,1.358,129,0.303,130,0.106,132,1.236,133,0.098,134,1.76,138,3.158,139,1.269,141,1.345,155,2.466,160,0.474,161,0.925,162,1.274,163,1.358,164,1.96,165,1.697,166,1.96,167,1.96,168,1.861,169,1.96,170,1.96,188,2.327,205,1.199,212,0.37,257,0.912,287,1.424,297,1.443,299,1.1,308,1.045,337,0.612,353,3.348,378,1.507,380,2.774,384,3.491,385,2.076,405,2.67,411,3.906,429,1.969,435,3.272,445,2.466,450,0.643,453,0.643,466,1.164,511,1.806,621,2.982,635,1.454,636,1.507,639,1.507,640,1.507,642,1.274,655,1.628,848,1.1,875,2.88,895,3.334,902,4.135,930,1.861,941,5.787,943,2.982,944,2.076,945,2.982,946,2.982,947,2.982,948,3.634,954,1.775,965,2.879,967,4.901,1015,1.315,1073,2.831,1074,2.831,1115,1.673,1165,5.872,1276,3.462,1278,1.628,1325,1.315,1531,2.389,1558,2.389,1862,1.454,1929,2.699,1931,3.158,1932,4.27,1933,3.158,1935,2.982,1941,2.676,1948,1.96,1959,2.076,1960,2.585,1961,1.454,1962,1.775,1973,2.831,2005,3.821,2006,2.076,2007,1.861,2085,2.699,2086,2.076,2089,3.158,2091,2.076,2093,1.775,2153,1.96,2154,2.076,2155,1.96,2157,5.88,2161,3.491,2162,1.96,2169,2.076,2172,2.076,2173,2.076,2207,3.158,2212,2.076,2410,2.389,2415,2.389,2439,2.215,2562,3.369,2564,3.369,2565,3.158,2603,3.158,2830,2.389,2847,2.215,2848,4.527,2849,4.827,2850,4.827,2851,4.827,2852,4.827,2853,4.827,2854,6.111,2855,4.527,2856,3.989,2857,2.977,2858,2.977,2859,3.989,2860,3.989,2861,3.989,2862,5.802,2863,3.989,2864,3.989,2865,5.393,2866,3.989,2867,3.989,2868,3.989,2869,7.683,2870,2.977,2871,2.977,2872,2.977,2873,2.977,2874,2.977,2875,2.977,2876,2.977,2877,2.977,2878,2.977,2879,3.634,2880,2.977,2881,2.977,2882,2.977,2883,2.977,2884,2.977,2885,2.977,2886,4.527,2887,2.977,2888,2.977,2889,2.977,2890,2.977,2891,4.398,2892,2.623,2893,2.389,2894,2.389,2895,2.389,2896,2.215,2897,3.989,2898,2.389,2899,2.623,2900,3.989,2901,2.623,2902,3.989,2903,2.623,2904,2.623,2905,2.623,2906,2.623,2907,2.623,2908,2.623,2909,2.623,2910,3.989,2911,2.623,2912,2.623,2913,2.623,2914,2.623,2915,2.623,2916,3.989,2917,2.623,2918,2.623,2919,2.623,2920,2.623,2921,2.623,2922,2.623,2923,3.989,2924,2.623,2925,2.623,2926,2.623,2927,3.989,2928,2.623,2929,2.623,2930,2.623,2931,3.634,2932,6.546,2933,4.827,2934,2.623,2935,3.989,2936,3.989,2937,2.623,2938,2.623,2939,3.989,2940,3.989,2941,2.623,2942,2.623,2943,2.623,2944,2.623,2945,2.623,2946,2.623,2947,2.623,2948,2.623,2949,2.623,2950,2.623,2951,2.623,2952,2.623,2953,2.623,2954,2.623,2955,2.623,2956,2.623,2957,2.623,2958,2.623,2959,2.623,2960,2.623,2961,3.989,2962,2.623,2963,2.623,2964,2.623,2965,2.623,2966,2.623,2967,2.623,2968,2.623,2969,3.989,2970,2.623,2971,2.623,2972,2.623,2973,2.623,2974,2.623,2975,2.623,2976,2.623,2977,2.623,2978,2.623,2979,2.623,2980,2.623,2981,2.623,2982,2.623,2983,2.623,2984,2.623,2985,2.623,2986,2.623,2987,2.623,2988,2.623,2989,2.623,2990,2.623,2991,2.623,2992,2.623,2993,2.623]],["title/interfaces/SceneStateModel.html",[129,0.292,2896,3.249]],["body/interfaces/SceneStateModel.html",[0,1.445,3,0.063,4,0.079,5,0.055,6,0.048,11,0.418,15,2.291,16,1.28,18,0.316,19,0.547,20,1.739,22,2.407,23,1.887,24,4.571,29,2.524,35,0.877,37,3.275,40,0.626,41,0.642,43,0.01,44,0.469,45,0.591,47,0.9,48,0.956,49,2.831,50,2.61,56,0.508,65,1.441,69,0.798,71,1.82,75,0.005,80,0.004,84,0.004,85,0.626,88,1.942,90,1.807,92,1.92,96,3.085,99,0.317,104,0.162,105,4.052,106,2.125,107,2,108,1.441,109,1.441,110,1.356,112,2.61,113,0.956,114,1.487,115,1.146,119,1.841,122,1.942,123,1.942,124,1.942,125,1.834,126,1.942,127,2.506,128,1.536,129,0.333,130,0.116,132,1.397,133,0.111,134,1.788,138,3.463,139,1.309,141,1.362,155,2.376,160,0.536,161,0.75,162,1.441,163,1.536,164,2.217,165,1.92,166,2.217,167,2.217,168,2.105,169,2.217,170,2.217,188,2.344,195,0.887,205,1.356,212,0.418,257,1.032,287,1.059,297,1.307,299,1.244,308,0.642,337,1.212,353,3.226,378,1.705,380,2.986,384,3.712,385,2.348,405,2.77,411,3.949,429,2.062,435,3.275,445,2,450,0.727,453,0.727,466,1.317,511,1.793,621,3.27,635,1.644,636,1.705,639,1.705,640,1.705,642,1.441,655,1.841,848,1.244,875,2.61,895,2.986,902,4.329,930,2.105,941,6.029,943,3.27,944,2.348,945,3.27,946,3.27,947,3.27,948,3.985,954,2.007,965,2.881,967,3.695,1015,1.487,1073,2.105,1074,2.105,1115,1.244,1165,5.737,1276,3.101,1278,1.841,1325,1.487,1531,2.703,1558,2.703,1862,1.644,1929,2.96,1931,3.463,1932,4.114,1933,3.463,1935,3.27,1941,2.425,1948,2.217,1959,2.348,1960,2.342,1961,1.644,1962,2.007,1973,3.104,2005,2.348,2006,2.348,2007,2.105,2085,2.96,2086,2.348,2089,3.463,2091,2.348,2093,2.007,2153,2.217,2154,2.348,2155,2.217,2157,5.922,2161,3.712,2162,2.217,2169,2.348,2172,2.348,2173,2.348,2207,3.463,2212,2.348,2410,2.703,2415,2.703,2439,2.506,2562,3.695,2564,3.695,2565,3.463,2603,2.348,2830,2.703,2847,2.506,2849,2.966,2850,2.966,2851,2.966,2852,2.966,2853,2.966,2854,4.374,2856,2.966,2859,2.966,2860,2.966,2861,2.966,2862,5.735,2863,2.966,2864,2.966,2865,5.196,2866,2.966,2867,2.966,2868,2.966,2869,7.693,2879,2.703,2891,4.734,2892,2.966,2893,2.703,2894,2.703,2895,2.703,2896,3.695,2897,6.116,2898,2.703,2899,2.966,2900,4.374,2901,2.966,2902,4.374,2903,2.966,2904,2.966,2905,2.966,2906,2.966,2907,2.966,2908,2.966,2909,2.966,2910,4.374,2911,2.966,2912,2.966,2913,2.966,2914,2.966,2915,2.966,2916,4.374,2917,2.966,2918,2.966,2919,2.966,2920,2.966,2921,2.966,2922,2.966,2923,4.374,2924,2.966,2925,2.966,2926,2.966,2927,4.374,2928,2.966,2929,2.966,2930,2.966,2931,3.985,2932,6.792,2933,5.196,2934,2.966,2935,4.374,2936,4.374,2937,2.966,2938,2.966,2939,4.374,2940,4.374,2941,2.966,2942,2.966,2943,2.966,2944,2.966,2945,2.966,2946,2.966,2947,2.966,2948,2.966,2949,2.966,2950,2.966,2951,2.966,2952,2.966,2953,2.966,2954,2.966,2955,2.966,2956,2.966,2957,2.966,2958,2.966,2959,2.966,2960,2.966,2961,4.374,2962,2.966,2963,2.966,2964,2.966,2965,2.966,2966,2.966,2967,2.966,2968,2.966,2969,4.374,2970,2.966,2971,2.966,2972,2.966,2973,2.966,2974,2.966,2975,2.966,2976,2.966,2977,2.966,2978,2.966,2979,2.966,2980,2.966,2981,2.966,2982,2.966,2983,2.966,2984,2.966,2985,2.966,2986,2.966,2987,2.966,2988,2.966,2989,2.966,2990,2.966,2991,2.966,2992,2.966,2993,2.966]],["title/interfaces/SlicesConfig.html",[129,0.292,1934,2.49]],["body/interfaces/SlicesConfig.html",[0,1.153,3,0.047,4,0.059,5,0.041,6,0.036,8,1.072,11,0.311,15,2.043,16,0.952,18,0.235,19,0.437,20,1.62,22,2.394,23,0.952,29,1.072,35,0.443,37,2.868,40,0.466,41,0.478,43,0.01,44,1.006,45,0.685,47,0.718,48,0.711,49,1.429,50,1.317,53,3.994,56,1.216,65,1.072,69,0.95,71,1.758,75,0.004,80,0.003,84,0.003,88,0.98,90,1.981,91,1.423,96,3.112,99,0.302,104,0.12,105,2.487,106,1.695,107,1.595,108,1.072,109,1.072,110,1.009,113,0.711,115,0.853,120,1.494,122,1.549,123,1.549,124,0.98,125,0.926,126,1.549,128,1.807,129,0.329,130,0.158,132,1.04,133,0.082,134,1.442,139,1.339,141,1.307,142,0.718,149,3.328,155,2.827,156,1.979,160,1.283,161,1.245,162,1.072,163,1.143,173,1.567,174,1.567,177,1.748,182,0.876,184,1.748,195,0.66,212,0.492,245,1.423,246,1.595,256,1.575,257,2.267,269,2.609,281,1.429,287,1.912,297,1.47,299,2.976,301,1.37,303,1.429,304,1.269,308,0.755,326,0.729,337,1.01,353,2.166,359,1.667,382,2.526,387,2.746,390,2.999,400,0.676,405,1.765,409,1.434,429,1.992,435,2.317,445,1.595,450,1.313,453,1.206,457,0.66,488,1.827,511,1.681,514,1.507,528,0.66,612,1.75,655,3.325,662,1.429,667,1.549,668,0.952,669,0.926,670,0.926,673,2.801,679,2.039,683,0.98,684,3.334,687,1.224,754,1.37,761,2.241,785,2.855,813,0.992,848,1.815,894,4.517,895,2.006,932,3.071,942,5.039,943,4.004,945,1.65,946,1.65,947,1.65,949,2.609,954,1.494,965,2.317,1015,3.557,1115,0.926,1225,2.686,1237,1.37,1271,3.053,1274,3.893,1276,3.559,1278,1.37,1346,3.655,1347,4.128,1348,3.183,1349,2.801,1352,2.949,1397,1.224,1758,2.928,1759,2.763,1761,3.535,1762,4.004,1763,2.763,1774,1.865,1808,3.325,1856,1.869,1857,2.686,1862,1.224,1894,1.567,1926,1.567,1927,1.65,1928,2.011,1929,3.853,1930,4.257,1931,4.508,1932,4.508,1933,4.508,1934,4.12,1935,4.758,1936,4.047,1937,1.65,1938,4.719,1939,3.179,1940,4.508,1941,1.935,1942,2.477,1943,2.763,1944,1.494,1945,1.494,1946,2.011,1947,1.865,1948,1.65,1949,2.011,1950,1.65,1951,2.011,1952,1.494,1953,2.011,1954,1.429,1955,1.37,1956,2.259,1957,2.011,1958,2.011,1959,1.748,1960,1.869,1961,1.224,1962,1.494,1963,1.429,1964,1.429,1965,1.865,1966,4.035,1967,3.179,1968,3.624,1969,1.865,1970,2.011,1971,2.011,1972,2.011,1973,3.071,1974,2.361,1975,2.011,1976,2.011,1977,2.011,1978,2.011,1979,2.011,1980,2.011,1981,2.011,1982,2.011,1983,2.011,1984,2.011,1985,2.011,1986,2.011,1987,2.011,1988,2.011,1989,2.011,1990,2.011,1991,2.011,1992,2.011,1993,2.011,1994,2.011,1995,2.011,1996,2.011,1997,2.011,1998,1.865,1999,1.865,2000,2.011,2001,2.011,2002,2.011,2003,2.011,2004,2.011,2005,1.748,2006,1.748,2007,1.567,2008,2.011,2009,2.011,2010,3.943,2011,2.011,2012,5.434,2013,2.011,2014,2.011,2015,3.179,2016,2.948,2017,2.011,2018,2.011,2019,4.976,2020,2.011,2021,2.011,2022,2.011,2023,2.011,2024,1.429,2025,2.011,2026,4.481,2027,2.259,2028,2.011,2029,2.011,2030,2.011,2031,1.494,2032,2.011,2033,2.011,2034,3.179,2035,2.011,2036,4.481,2037,2.011,2038,3.179,2039,2.011,2040,2.011,2041,2.011,2042,2.011,2043,2.011,2044,2.011,2045,2.011,2046,2.011,2047,2.011,2048,2.011,2049,2.011,2050,2.011,2051,2.011,2052,2.011,2053,2.011,2054,2.011,2055,2.011,2056,2.011,2057,2.011,2058,3.179,2059,2.011,2060,2.011,2061,2.011,2062,2.011,2063,2.011,2064,2.011,2065,2.011,2066,2.011,2067,2.011,2068,3.179,2069,2.011,2070,2.011,2071,2.011,2072,2.011,2073,2.011,2074,2.011,2075,2.011,2076,2.011,2077,2.011,2078,2.011,2079,2.011,2080,2.011,2081,2.011,2082,2.011,2083,2.011,2084,3.179,2085,1.494,2086,1.748,2087,2.011,2088,1.65,2089,1.748,2090,3.179,2091,3.426,2092,3.179,2093,2.361,2094,3.179,2095,2.011,2096,2.011,2097,2.011,2098,2.011,2099,2.011,2100,2.011,2101,2.011,2102,1.494,2103,2.011,2104,2.011,2105,2.011,2106,2.011,2107,2.011,2108,2.011]],["title/interfaces/SlicesConfig-1.html",[129,0.244,188,1.175,1934,2.075]],["body/interfaces/SlicesConfig-1.html",[3,0.098,4,0.122,5,0.086,6,0.074,11,0.65,18,0.491,19,0.743,40,0.973,41,0.997,43,0.01,44,0.937,45,0.611,47,0.948,55,1.075,56,1.017,69,0.708,71,2.151,75,0.007,80,0.006,84,0.006,85,0.973,86,1.456,99,0.255,104,0.251,128,2.387,129,0.499,130,0.157,133,0.222,134,1.075,139,1.101,141,1.19,160,1.186,161,1.125,182,1.829,195,1.377,196,0.763,209,1.562,210,1.562,211,1.311,212,0.837,214,1.412,216,1.412,256,1.938,259,2.59,260,1.311,321,1.562,337,1.075,359,2.43,469,1.311,513,1.448,514,2.377,596,2.107,658,3.118,660,3.41,661,4.688,662,2.983,664,2.795,665,1.485,666,2.795,667,2.634,668,1.988,669,1.933,670,2.488,674,3.893,675,3.445,676,3.445,677,1.485,678,1.645,679,3.457,680,3.893,681,3.445,683,2.634,684,2.239,685,4.211,686,3.118,687,3.841,688,3.893,689,3.445,692,3.445,693,3.271,700,3.893,750,2.983,813,1.311,1256,4.211,1934,4.484,1940,5.485,1966,5.117,1968,4.851,1974,4.44,2233,2.983,2356,4.199,2786,3.445,2994,3.649,2995,5.542,2996,4.609,2997,4.609,2998,4.609,2999,4.609,3000,4.609,3001,4.199,3002,4.609,3003,6.562,3004,6.562,3005,4.609,3006,5.933,3007,4.609,3008,5.933,3009,4.609,3010,4.609]],["title/components/SlicesInputComponent.html",[196,0.424,513,1.209]],["body/components/SlicesInputComponent.html",[3,0.068,4,0.085,5,0.086,6,0.114,11,0.764,12,1.249,18,0.34,19,0.577,25,1.312,32,2.651,35,0.64,38,1.83,40,0.973,41,0.998,42,1.218,43,0.01,44,1.133,45,0.676,46,0.949,47,0.949,52,1.054,55,1.469,56,1.018,69,0.912,71,1.541,75,0.006,76,1.708,80,0.004,84,0.004,85,1.253,86,1.538,99,0.198,104,0.174,128,2.389,129,0.351,130,0.122,133,0.245,134,0.744,139,0.856,141,1.087,142,0.656,160,0.98,161,1.08,182,1.831,188,1.69,196,0.746,197,0.978,198,1.312,199,1.028,200,1.139,201,1.139,202,1.11,208,0.978,209,1.564,210,1.564,211,2.251,212,1.123,213,0.885,214,1.414,216,1.414,219,1.904,256,1.787,259,2.602,260,1.688,300,1.541,307,1.904,308,0.998,309,0.885,321,1.082,337,1.076,359,2.295,399,1.232,400,1.819,401,2.553,404,1.338,408,1.652,409,0.93,413,1.769,414,1.082,421,1.503,427,1.55,434,2.241,436,1.55,437,1.55,444,2.389,445,1.459,448,1.708,450,0.782,451,1.769,453,1.131,454,2.526,457,0.954,461,1.834,468,1.139,469,1.791,470,1.139,471,2.119,472,1.139,473,1.139,474,1.028,475,1.139,476,1.002,477,1.934,478,1.028,479,1.139,480,1.414,481,1.934,482,1.028,483,1.082,484,1.139,485,1.028,486,1.139,487,1.028,488,0.978,489,1.139,490,1.028,491,1.139,492,1.028,493,1.028,494,1.139,495,1.028,496,1.11,497,1.002,498,1.139,499,1.028,500,1.646,501,1.002,502,1.028,503,1.028,504,1.934,505,1.028,506,1.524,507,1.646,508,1.002,509,1.028,510,1.002,511,0.842,512,1.139,513,1.865,514,2.361,515,1.028,516,1.139,517,1.028,518,1.139,519,1.028,520,1.139,521,1.028,522,1.312,523,1.028,524,1.486,525,1.028,526,1.139,527,1.028,528,1.379,529,1.139,530,1.028,531,1.139,532,1.139,561,1.981,592,2.907,596,1.459,607,2.477,658,2.159,660,1.834,661,4.017,662,2.986,664,2.553,665,1.028,666,2.173,667,2.636,668,1.376,669,1.338,670,2.272,674,3.897,675,3.448,676,4.05,677,1.486,678,1.934,679,3.421,680,3.897,681,3.448,683,2.406,684,2.241,685,4.47,686,3.121,687,3.639,688,3.897,689,3.448,692,2.385,693,2.264,700,3.897,704,2.557,705,1.735,706,1.904,713,4.05,714,3.191,715,2.526,716,3.191,717,2.264,718,1.981,719,2.526,720,2.159,721,2.526,722,1.904,723,2.526,724,3.191,725,2.907,726,2.526,727,2.264,728,2.385,729,2.385,750,2.065,813,1.312,1256,2.264,1325,1.6,1934,4.249,1940,4.986,1966,4.58,1968,3.121,1974,3.666,2233,2.986,2356,4.203,2786,5.279,2834,3.191,2994,5.591,2995,5.015,2996,5.418,2997,5.418,2998,3.191,2999,4.613,3000,4.613,3001,4.203,3002,4.613,3003,5.418,3004,5.418,3005,3.191,3006,4.613,3007,3.191,3008,4.613,3009,5.937,3010,3.191,3011,5.236,3012,3.621,3013,3.621,3014,3.621,3015,5.236,3016,3.621,3017,3.621,3018,3.621,3019,3.621,3020,6.738,3021,5.236,3022,5.236,3023,3.621]],["title/modules/SlicesInputModule.html",[533,1.271,2778,3.045]],["body/modules/SlicesInputModule.html",[3,0.119,4,0.149,5,0.105,6,0.09,43,0.01,75,0.008,80,0.007,84,0.007,99,0.337,104,0.306,130,0.149,133,0.209,212,0.791,326,1.853,424,1.635,513,2.514,514,1.718,535,1.807,536,2.214,547,2.392,548,1.807,550,2.589,552,2.054,556,2.331,562,3.157,563,2.489,734,5.109,735,2.589,736,2.733,737,2.166,738,5.66,739,4.736,740,5.305,741,4.439,742,4.16,743,3.481,744,5.109,2778,6.164,2786,4.191,2994,4.439,3024,5.607,3025,5.607,3026,5.607,3027,7.606]],["title/components/StageNavComponent.html",[196,0.424,515,1.239]],["body/components/StageNavComponent.html",[3,0.051,4,0.064,5,0.069,6,0.119,11,0.831,12,1.007,18,0.396,19,0.466,20,1.058,25,1.058,32,2.139,35,0.481,38,1.945,40,0.785,41,0.805,42,1.556,43,0.01,44,1.09,45,0.736,46,1.213,47,0.766,52,1.7,55,1.375,56,1.054,61,4.072,69,0.368,75,0.004,80,0.003,84,0.003,85,1.244,86,1.411,99,0.16,104,0.131,125,1.005,130,0.099,133,0.22,134,0.868,139,0.445,141,1.031,142,0.766,156,2.695,160,0.93,161,1.01,182,1.477,188,0.878,196,0.771,197,0.734,198,1.058,199,0.772,200,0.855,201,0.855,202,0.833,208,0.734,209,1.261,210,1.261,211,2.192,212,1.097,213,0.665,214,1.14,216,1.14,228,3.721,233,3.39,234,3.721,244,3.604,250,1.897,251,3.41,252,2.396,253,4.753,256,0.633,257,0.833,258,1.866,259,2.34,260,1.857,262,2.953,263,3.144,272,3.143,273,3.143,286,2.782,287,2.104,297,1.995,300,1.297,308,0.805,309,0.665,321,0.812,322,1.791,324,4.163,333,2.151,337,1.557,382,0.951,398,3.721,399,0.926,400,1.948,401,3.202,402,2.641,403,2.641,404,1.913,407,3.604,409,0.698,410,1.377,413,1.328,414,0.812,418,2.287,421,1.753,428,2.832,429,1.657,434,2.216,436,1.164,437,1.164,441,1.241,442,1.43,444,2.663,445,2.351,447,1.897,448,1.993,449,2.722,450,1.445,451,1.328,453,1.508,457,2.172,461,3.387,464,1.377,468,0.855,469,1.584,470,0.855,471,1.836,472,0.855,473,0.855,474,0.772,475,0.855,476,0.753,477,1.628,478,0.772,479,0.855,480,1.14,481,1.628,482,0.772,483,0.812,484,0.855,485,0.772,486,0.855,487,0.772,488,0.734,489,0.855,490,0.772,491,0.855,492,0.772,493,0.772,494,0.855,495,0.772,496,0.833,497,0.753,498,0.855,499,0.772,500,1.328,501,0.753,502,0.772,503,0.772,504,1.628,505,0.772,506,1.23,507,1.328,508,0.753,509,0.772,510,0.753,511,0.633,512,0.855,513,0.753,514,0.734,515,1.657,516,0.855,517,0.772,518,0.855,519,0.772,520,0.855,521,0.772,522,1.058,523,0.772,524,1.199,525,0.772,526,0.855,527,0.772,528,1.762,529,0.855,530,0.772,531,0.855,532,0.855,596,1.095,607,1.701,612,2.287,664,2.624,665,0.772,666,2.898,667,2.283,668,1.034,669,1.005,670,1.913,677,1.199,678,1.628,679,1.129,681,3.845,683,2.025,704,2.063,705,1.4,706,1.43,723,1.897,726,2.946,813,1.749,827,1.791,894,4.512,895,3.753,911,3.39,949,4.163,954,3.087,960,2.529,963,1.7,965,2.149,969,2.772,1015,3.669,1034,2.31,1084,5.865,1237,3.193,1282,6.674,1286,2.518,1292,4.467,1294,2.851,1295,3.387,1322,2.024,1325,2.579,1366,2.024,1367,1.7,1544,3.845,1577,3.238,1626,3.48,1643,4.406,1653,3.41,1660,2.183,1686,2.408,1697,6.372,1757,3.721,1761,1.487,1784,3.39,1785,3.39,1813,3.39,1817,5.195,2126,1.487,2128,1.487,2233,1.551,2586,4.686,2806,5.195,2809,4.686,3028,6.258,3029,2.183,3030,3.721,3031,4.223,3032,4.223,3033,7.575,3034,5.178,3035,4.223,3036,5.178,3037,6.321,3038,5.178,3039,5.178,3040,4.223,3041,4.223,3042,5.838,3043,5.178,3044,5.178,3045,5.178,3046,5.838,3047,5.838,3048,2.719,3049,2.719,3050,4.223,3051,4.223,3052,5.178,3053,5.178,3054,4.562,3055,2.719,3056,2.719,3057,2.719,3058,4.223,3059,4.223,3060,5.178,3061,4.156,3062,5.894,3063,5.178,3064,5.178,3065,4.223,3066,2.719,3067,5.838,3068,4.223,3069,2.719,3070,2.719,3071,2.719,3072,4.223,3073,2.719,3074,4.223,3075,2.719,3076,2.719,3077,2.719,3078,2.719,3079,5.143,3080,5.838,3081,2.719,3082,2.719,3083,2.719,3084,2.719,3085,5.178,3086,2.719,3087,2.719,3088,2.719,3089,2.719,3090,2.719,3091,4.223,3092,2.719,3093,2.719,3094,2.719,3095,2.719,3096,2.719,3097,2.719,3098,2.719,3099,5.838,3100,4.223,3101,2.396,3102,2.719,3103,2.719,3104,2.719,3105,5.178]],["title/modules/StageNavModule.html",[533,1.271,1079,3.045]],["body/modules/StageNavModule.html",[3,0.117,4,0.146,5,0.102,6,0.088,43,0.01,75,0.008,80,0.007,84,0.007,99,0.338,104,0.299,130,0.146,133,0.205,424,1.6,457,1.64,497,2.079,515,2.572,535,1.768,536,2.186,547,2.361,548,1.768,550,2.556,552,2.424,556,2.301,562,3.117,563,2.437,735,2.556,736,2.698,737,2.12,742,4.107,743,3.407,1079,6.233,1084,4.345,1339,6.616,1340,5.489,1683,4.103,1719,5.44,1835,6.028,1836,5.001,1841,5.001,1842,5.001,3028,4.636,3106,5.489,3107,5.489,3108,6.23,3109,5.489,3110,6.23,3111,7.509,3112,6.23,3113,6.23]],["title/modules/StoreModule.html",[533,1.271,1091,3.045]],["body/modules/StoreModule.html",[1,4.147,3,0.111,4,0.138,5,0.097,6,0.084,8,3.113,9,3.696,43,0.01,75,0.008,80,0.006,84,0.006,88,2.845,90,1.811,91,2.614,92,4.147,99,0.343,104,0.284,107,2.93,110,2.381,119,3.233,120,3.524,121,4.745,130,0.17,133,0.195,139,0.967,165,3.371,204,3.524,212,0.735,246,2.93,326,2.117,359,2.172,441,2.697,533,1.721,535,1.678,552,1.908,556,2.229,639,2.993,640,2.993,687,2.887,875,3.824,930,4.548,974,5.208,1091,5.073,1124,4.123,1389,4.399,1400,4.79,1690,4.123,1808,3.233,1881,4.123,1960,3.431,1961,2.887,1962,3.524,2128,3.233,2505,4.399,2727,4.399,2800,4.745,2895,4.745,3114,4.745,3115,5.911,3116,5.208,3117,5.911,3118,5.208,3119,7.435,3120,5.911,3121,5.208,3122,5.911,3123,5.911,3124,5.208,3125,4.745,3126,5.911,3127,5.911,3128,5.911,3129,5.911,3130,5.911,3131,5.911,3132,5.911,3133,5.911,3134,5.911,3135,5.911,3136,5.911,3137,5.208,3138,5.911,3139,5.911,3140,5.911,3141,5.911,3142,5.911]],["title/interfaces/Tag.html",[12,1.041,129,0.292]],["body/interfaces/Tag.html",[3,0.117,4,0.146,5,0.103,6,0.089,8,2.676,11,0.777,12,2.1,18,0.587,19,0.83,43,0.01,45,0.806,69,1.134,70,4.117,71,2.023,75,0.008,77,3.727,80,0.009,84,0.008,116,5.239,117,3.727,129,0.504,130,0.189,140,4.688,143,5.317,155,3.375,156,3.507,158,5.317,189,4.117,195,1.646,278,2.31,400,2.031,1855,4.705,1856,3.55,1937,4.117,3143,4.653,3144,4.653,3145,5.018,3146,5.508]],["title/components/TagListComponent.html",[196,0.424,517,1.239]],["body/components/TagListComponent.html",[3,0.074,4,0.092,5,0.092,6,0.118,8,1.692,11,0.871,12,2.19,18,0.371,19,0.615,25,1.396,30,4.91,33,5.117,35,0.698,38,1.904,40,1.036,41,1.063,42,1.631,43,0.01,44,1.155,45,0.743,46,1.271,47,1.01,52,1.151,55,1.327,56,0.842,66,4.474,69,0.874,71,1.618,75,0.006,80,0.004,84,0.004,85,1.036,86,1.09,99,0.244,104,0.19,116,3.485,130,0.092,133,0.252,134,1.145,140,3.048,141,1.239,142,0.716,143,4.618,145,3.173,158,2.603,160,1.117,161,1.159,181,2.603,196,0.718,197,1.067,198,1.396,199,1.122,200,1.243,201,1.243,202,1.211,208,1.067,209,1.665,210,1.665,211,2.266,212,1.13,213,0.966,214,1.505,216,1.505,256,1.297,259,1.665,260,1.396,300,1.618,308,1.063,309,0.966,321,1.18,387,1.502,390,1.64,399,1.345,400,1.067,406,3.178,407,2.254,409,1.015,429,1.122,432,2.356,450,0.854,453,0.854,457,1.041,468,1.243,469,1.852,470,1.243,471,2.205,472,1.243,473,1.243,474,1.122,475,1.243,476,1.094,477,2.03,478,1.122,479,1.243,480,1.505,481,2.03,482,1.122,483,1.18,484,1.243,485,1.122,486,1.243,487,1.122,488,1.067,489,1.243,490,1.122,491,1.243,492,1.122,493,1.122,494,1.243,495,1.122,496,1.211,497,1.094,498,1.243,499,1.122,500,1.753,501,1.094,502,1.122,503,1.122,504,2.03,505,1.122,506,1.623,507,1.753,508,1.094,509,1.122,510,1.094,511,0.919,512,1.243,513,1.094,514,1.067,515,1.122,516,1.243,517,1.99,518,1.243,519,1.122,520,1.243,521,1.122,522,1.396,523,1.122,524,1.582,525,1.122,526,1.243,527,1.122,528,1.468,529,1.243,530,1.122,531,1.243,532,1.243,596,1.592,607,2.245,642,1.692,664,3.068,665,1.122,666,2.68,667,2.743,668,1.502,669,1.46,670,2.385,677,1.582,678,2.03,683,2.525,704,2.722,705,1.847,706,2.078,964,2.603,969,1.42,1225,3.048,1294,3.424,1314,2.254,1315,2.254,1325,1.746,1483,3.485,1855,3.485,1856,3.046,2405,4.148,2526,3.173,2769,6.852,2788,6.173,3147,5.463,3148,3.482,3149,5.573,3150,6.456,3151,5.573,3152,5.573,3153,6.456,3154,6.456,3155,5.573,3156,3.952,3157,3.952,3158,5.573,3159,3.952,3160,4.474,3161,4.91,3162,5.573,3163,3.952,3164,4.91,3165,3.952,3166,4.474,3167,4.91,3168,3.482,3169,3.952,3170,3.952,3171,3.952,3172,3.952,3173,6.456,3174,3.952,3175,3.952,3176,3.482]],["title/modules/TagListModule.html",[533,1.271,2779,3.045]],["body/modules/TagListModule.html",[3,0.122,4,0.152,5,0.107,6,0.092,12,1.553,43,0.01,75,0.008,80,0.007,84,0.007,99,0.328,104,0.313,130,0.152,133,0.214,424,1.673,517,2.585,535,1.849,536,2.245,547,2.425,548,1.849,550,2.624,552,2.102,556,2.363,562,3.2,563,2.547,735,2.624,736,2.771,737,2.216,2779,6.192,2788,4.846,3147,4.289,3177,5.738,3178,5.738,3179,5.738,3180,6.512,3181,6.793,3182,5.738,3183,6.512]],["title/components/TagSearchComponent.html",[196,0.424,519,1.239]],["body/components/TagSearchComponent.html",[3,0.041,4,0.052,5,0.059,6,0.12,8,0.947,11,0.861,12,2.044,18,0.337,19,0.395,20,1.919,25,0.898,28,4.173,33,4.334,35,0.634,38,1.968,40,0.667,41,0.684,42,1.56,43,0.01,44,1.066,45,0.712,46,1.216,47,0.65,48,1.018,52,1.781,55,1.574,56,1.013,69,0.828,70,2.361,71,1.86,72,4.793,75,0.004,76,3.436,77,5.197,78,2.878,79,2.878,80,0.009,82,3.626,84,0.008,85,1.354,86,1.355,90,1.099,96,1.363,99,0.244,104,0.106,111,1.647,113,0.628,114,0.977,115,0.753,116,3.572,117,4.245,122,2.033,123,2.033,125,1.921,128,1.01,130,0.052,133,0.201,134,1.379,139,1.164,140,3.124,141,1.287,142,0.401,155,0.891,160,1.104,161,1.172,181,1.457,188,1.844,189,1.457,196,0.733,197,0.597,198,0.898,199,0.628,200,0.696,201,1.796,202,0.678,205,1.444,206,2.208,208,0.597,209,1.071,210,1.071,211,2.142,212,1.074,213,0.541,214,0.968,216,0.968,230,2.539,233,2.878,243,3.364,244,3.825,247,2.843,248,2.843,250,2.501,251,1.457,256,0.834,257,1.099,258,1.584,259,1.706,260,1.532,263,3.319,277,2.138,278,2.111,283,2.138,287,1.923,297,1.504,300,1.133,308,0.684,309,0.541,321,0.661,322,1.457,333,1.22,337,0.737,357,1.319,382,0.774,399,0.753,400,1.22,401,1.876,404,1.67,405,1.625,408,1.01,409,0.921,413,1.081,414,0.661,416,0.947,417,1.319,418,2.296,419,2.501,425,1.21,427,2.225,428,2.473,429,1.967,430,2.361,431,2.133,432,2.138,433,1.319,434,1.935,436,0.947,437,0.947,442,1.163,444,2.063,445,2.792,448,2.453,449,1.163,450,0.774,451,1.751,453,0.976,457,0.583,458,3.153,464,1.12,466,0.866,468,0.696,469,1.431,470,0.696,471,1.635,472,0.696,473,0.696,474,0.628,475,0.696,476,0.612,477,1.422,478,0.628,479,0.696,480,0.968,481,1.422,482,0.628,483,0.661,484,0.696,485,0.628,486,0.696,487,0.628,488,0.597,489,0.696,490,0.628,491,0.696,492,0.628,493,0.628,494,0.696,495,0.628,496,0.678,497,0.612,498,0.696,499,0.628,500,1.128,501,0.612,502,0.628,503,0.628,504,1.422,505,0.628,506,1.044,507,1.128,508,0.612,509,0.628,510,0.612,511,0.515,512,0.696,513,0.612,514,0.597,515,0.628,516,0.696,517,0.628,518,0.696,519,1.476,520,0.696,521,0.628,522,0.898,523,0.628,524,1.018,525,0.628,526,0.696,527,0.628,528,0.944,529,0.696,530,0.628,531,0.696,532,0.696,561,3.668,607,1.444,664,1.876,665,0.628,666,1.488,667,2.033,668,0.841,669,0.818,670,1.67,673,1.262,677,1.018,678,1.422,683,2.033,704,1.751,705,1.188,727,1.384,774,2.361,800,2.878,813,1.303,828,1.457,888,2.045,932,2.242,965,1.488,969,1.289,1115,2.478,1208,1.776,1258,4.417,1283,2.501,1286,2.138,1294,2.987,1300,2.878,1303,2.138,1314,2.045,1315,2.045,1316,2.361,1317,1.647,1318,1.776,1319,1.949,1325,2.701,1326,5.17,1331,1.776,1343,3.251,1367,1.384,1374,1.457,1554,1.949,1575,3.869,1577,3.251,1626,2.138,1653,2.977,1655,3.984,1660,1.776,1762,2.361,1808,1.961,1856,2.453,1861,2.977,1902,2.361,1954,1.262,1998,1.647,1999,1.647,2123,3.629,2133,1.457,2159,2.668,2495,3.364,2615,1.776,2749,1.949,2790,5.923,3145,2.878,3147,5.592,3164,3.159,3166,2.878,3167,3.159,3168,1.949,3184,1.776,3185,3.586,3186,3.983,3187,4.521,3188,3.586,3189,5.199,3190,5.199,3191,4.521,3192,4.521,3193,4.521,3194,5.199,3195,5.199,3196,3.586,3197,3.586,3198,3.586,3199,5.199,3200,5.199,3201,3.586,3202,6.931,3203,4.521,3204,4.521,3205,3.586,3206,3.586,3207,2.213,3208,3.586,3209,5.033,3210,2.213,3211,2.213,3212,2.213,3213,2.213,3214,5.033,3215,3.159,3216,2.213,3217,3.586,3218,4.521,3219,2.213,3220,4.521,3221,2.213,3222,2.213,3223,2.668,3224,3.586,3225,3.586,3226,3.586,3227,2.213,3228,3.586,3229,2.213,3230,3.586,3231,3.586,3232,3.586,3233,2.213,3234,3.586,3235,7.425,3236,3.586,3237,2.213,3238,2.213,3239,3.586,3240,2.213,3241,2.213,3242,3.586,3243,3.586,3244,3.586,3245,2.213,3246,3.586,3247,2.213,3248,3.586,3249,3.586,3250,2.213,3251,2.213,3252,3.586,3253,3.586,3254,4.521,3255,3.586,3256,3.586,3257,3.586,3258,2.213,3259,3.159,3260,2.213,3261,3.586,3262,4.909,3263,2.213,3264,2.213,3265,2.213,3266,3.629,3267,1.949,3268,1.949,3269,2.878,3270,2.213,3271,2.213,3272,2.213,3273,2.213,3274,2.213,3275,3.586,3276,4.521,3277,2.213,3278,2.213,3279,2.213,3280,2.213,3281,2.213,3282,2.213,3283,2.213,3284,2.213,3285,2.213,3286,2.213,3287,2.213,3288,2.213,3289,2.213,3290,2.213,3291,2.213,3292,5.199,3293,2.213,3294,2.213,3295,1.949,3296,2.213,3297,2.213,3298,2.213,3299,2.213,3300,2.213,3301,2.213,3302,2.213,3303,2.213,3304,2.213,3305,2.213,3306,2.213,3307,2.213,3308,2.213,3309,3.586,3310,3.586,3311,3.586,3312,2.213,3313,2.213,3314,2.213,3315,3.586,3316,2.213,3317,2.213,3318,2.213,3319,2.213]],["title/modules/TagSearchModule.html",[533,1.271,2780,3.045]],["body/modules/TagSearchModule.html",[3,0.118,4,0.147,5,0.104,6,0.089,12,1.503,43,0.01,75,0.008,80,0.007,84,0.007,99,0.339,104,0.303,130,0.147,133,0.207,424,1.619,519,2.575,535,1.789,536,2.202,547,2.378,548,1.789,550,2.574,552,2.035,556,2.317,560,5.554,561,3.448,562,3.139,563,2.466,735,2.574,736,2.718,737,2.145,738,5.628,739,4.691,1680,5.275,1681,4.397,2133,4.152,2146,6.663,2147,6.663,2780,6.152,2790,4.397,3147,4.152,3320,5.554,3321,5.554,3322,5.554,3323,6.304,3324,7.562,3325,6.304,3326,7.562,3327,6.304]],["title/interfaces/TagSearchResult.html",[117,2.603,129,0.292]],["body/interfaces/TagSearchResult.html",[3,0.119,4,0.148,5,0.104,6,0.09,8,2.714,11,0.788,12,2.083,18,0.595,19,0.837,43,0.01,45,0.764,69,1.027,70,4.998,71,2.189,75,0.008,77,4.524,80,0.01,84,0.009,116,4.745,117,4.524,129,0.508,130,0.19,140,4.151,143,4.176,155,2.554,156,3.057,158,4.176,189,5.544,195,1.67,278,2.804,400,1.712,1855,3.965,1856,2.992,1937,4.998,3143,4.719,3144,4.719,3145,6.092,3146,6.687]],["title/modules/ThemingModule.html",[533,1.271,1092,3.045]],["body/modules/ThemingModule.html",[3,0.126,4,0.157,5,0.11,6,0.095,43,0.01,75,0.008,80,0.007,84,0.007,99,0.297,104,0.322,130,0.157,133,0.221,242,5.274,297,1.767,424,1.723,535,1.905,536,2.285,547,2.467,548,1.905,556,2.404,588,5.168,589,4.993,590,5.386,1092,6.171,3328,5.911,3329,5.911,3330,6.709,3331,7.847,3332,6.709,3333,6.709,3334,6.709]],["title/injectables/ThemingService.html",[0,1.271,242,2.603]],["body/injectables/ThemingService.html",[0,1.694,2,2.396,3,0.079,4,0.098,5,0.069,6,0.121,11,0.895,18,0.394,19,0.642,20,2.186,25,1.458,35,0.742,37,4.153,38,1.974,40,1.081,42,1.759,43,0.01,44,1.052,45,0.753,46,1.481,47,1.418,55,1.608,56,1.269,59,3.831,69,1.181,75,0.006,80,0.004,84,0.004,85,1.52,86,0.822,99,0.22,104,0.202,130,0.136,133,0.284,134,1.48,139,1.336,141,1.179,142,1.054,160,1.204,196,0.759,198,1.458,213,1.027,226,5.18,241,5.593,242,3.468,244,4.46,253,2.767,260,2.009,278,2.149,347,5.359,418,1.856,576,3.127,599,3.702,606,2.505,785,2.569,800,3.373,813,1.458,821,3.702,822,3.373,888,4.311,1106,3.127,1303,4.872,1331,4.67,1345,2.627,1405,4.503,1433,3.373,1484,4.67,1626,3.977,1860,2.505,1869,2.767,1870,2.767,2268,6.083,2676,5.125,3160,4.67,3161,6.891,3209,7.201,3223,4.329,3335,3.373,3336,5.817,3337,8.019,3338,5.817,3339,7.201,3340,7.201,3341,7.201,3342,5.817,3343,4.202,3344,4.202,3345,5.817,3346,4.202,3347,7.561,3348,4.202,3349,5.817,3350,7.201,3351,4.202,3352,5.817,3353,5.125,3354,5.817,3355,5.817,3356,4.202,3357,5.817,3358,4.202,3359,5.817,3360,4.202,3361,4.202,3362,4.202,3363,4.202,3364,4.202,3365,4.202,3366,4.202,3367,3.702,3368,3.702,3369,3.702,3370,4.202,3371,4.202,3372,4.202,3373,4.202,3374,4.202,3375,4.202,3376,4.202,3377,3.702,3378,4.202,3379,4.202,3380,5.817,3381,4.202,3382,4.202,3383,4.202,3384,4.202,3385,4.202,3386,4.202,3387,4.202,3388,4.202]],["title/components/ToggleButtonComponent.html",[196,0.424,521,1.239]],["body/components/ToggleButtonComponent.html",[3,0.061,4,0.077,5,0.08,6,0.118,11,0.722,12,1.162,15,1.418,18,0.308,19,0.537,20,1.993,25,1.221,32,2.467,35,0.58,38,1.921,40,0.906,41,0.929,42,1.133,43,0.01,44,1.037,45,0.653,46,0.883,47,0.883,48,1.383,52,0.955,55,1.531,56,1.087,65,2.085,69,0.786,75,0.005,80,0.003,84,0.003,85,1.277,86,1.343,90,1.493,99,0.243,104,0.158,113,0.932,130,0.077,133,0.237,134,1.321,139,0.95,141,0.861,142,0.595,160,1.024,161,0.877,196,0.759,197,0.886,198,1.221,199,0.932,200,1.032,201,1.032,202,1.006,205,2.589,206,2.838,208,0.886,209,1.455,210,1.455,211,2.232,212,1.118,213,0.802,214,1.315,216,1.315,225,4.658,230,3.14,247,3.516,248,3.516,256,0.763,257,2.437,258,2.84,260,1.221,263,2.986,277,2.904,278,1.8,287,1.827,297,1.53,300,2.232,308,0.929,309,0.802,311,3.633,312,3.046,321,0.98,337,1.412,357,1.956,395,2.052,399,1.117,400,1.315,404,1.213,407,1.871,409,0.843,410,1.662,414,0.98,418,2.566,419,4.79,421,2.022,425,2.664,426,2.891,427,2.085,429,0.932,431,4.036,436,1.405,437,1.405,439,5.776,440,5.776,441,3.491,442,1.725,448,2.298,450,1.389,451,2.379,453,1.554,457,0.864,464,2.467,468,1.032,469,1.721,470,1.032,471,2.021,472,1.032,473,1.032,474,0.932,475,1.032,476,0.908,477,1.827,478,0.932,479,1.032,480,1.315,481,1.827,482,0.932,483,0.98,484,1.032,485,1.95,486,1.032,487,0.932,488,0.886,489,1.032,490,0.932,491,1.032,492,0.932,493,0.932,494,1.032,495,0.932,496,1.006,497,0.908,498,1.032,499,0.932,500,1.532,501,0.908,502,0.932,503,0.932,504,1.827,505,0.932,506,1.418,507,1.532,508,0.908,509,0.932,510,0.908,511,0.763,512,1.032,513,0.908,514,0.886,515,0.932,516,1.032,517,0.932,518,1.032,519,0.932,520,1.032,521,1.825,522,2.196,523,0.932,524,1.383,525,0.932,526,1.032,527,0.932,528,1.283,529,1.032,530,0.932,531,1.032,532,1.032,596,1.322,665,0.932,677,1.383,684,2.085,705,1.614,722,1.725,755,4.663,758,3.38,761,1.497,762,4.324,765,2.904,766,3.91,767,5.16,772,2.561,773,2.838,774,3.208,777,3.178,781,3.208,782,3.625,783,3.625,813,1.721,818,2.442,827,4.234,828,5.38,836,2.634,838,2.442,844,2.891,965,1.362,993,3.208,1001,3.91,1003,3.91,1004,3.91,1010,4.658,1015,3.178,1029,2.634,1034,1.795,1269,6.687,1318,2.634,1325,1.449,1365,2.634,1367,4.294,1483,3.046,1520,2.891,1525,2.891,1526,5.119,1527,5.119,1546,4.292,1574,2.442,1580,4.292,2657,2.634,2661,5.119,2662,4.292,2675,4.292,2684,4.292,2690,2.891,3389,7.34,3390,4.871,3391,3.282,3392,7.195,3393,4.871,3394,5.81,3395,3.282,3396,3.282,3397,3.282,3398,3.282,3399,3.282,3400,3.282,3401,3.282,3402,3.282,3403,5.81,3404,5.81,3405,3.282,3406,3.282,3407,3.282,3408,3.282,3409,3.282,3410,3.282,3411,3.282,3412,3.282,3413,4.871,3414,3.282,3415,4.871,3416,3.282,3417,3.282,3418,3.282]],["title/interfaces/User.html",[129,0.292,333,1.486]],["body/interfaces/User.html",[3,0.08,4,0.099,5,0.07,6,0.06,16,1.616,18,0.399,19,0.647,20,1.47,22,1.409,23,1.616,35,0.751,37,3.415,43,0.01,45,0.532,56,1.147,69,1.183,75,0.006,80,0.005,84,0.005,85,0.791,88,2.294,91,2.108,99,0.315,104,0.204,112,2.236,113,1.207,129,0.393,130,0.137,133,0.14,134,1.205,139,1.098,141,1.036,142,0.771,160,0.934,161,1.295,182,1.487,195,1.12,196,0.652,197,1.148,203,3.165,204,2.535,205,1.713,206,2.865,207,3.863,209,1.27,210,1.27,211,1.682,212,0.834,213,1.039,214,1.148,215,3.414,216,1.148,217,3.414,218,3.414,219,3.084,220,4.422,221,4.422,222,3.208,223,2.966,224,3.667,225,4.198,226,4.587,227,3.414,230,2.077,231,2.801,232,3.414,236,3.414,238,5.39,239,4.708,240,4.708,241,2.966,242,3.496,243,3.165,244,3.345,245,2.413,246,2.363,247,2.326,248,3.208,251,2.801,253,2.801,255,4.708,256,1.562,257,2.057,258,1.878,259,1.752,260,1.47,261,4.365,262,3.345,263,2.434,265,3.414,267,3.414,268,3.414,269,2.801,270,3.414,271,3.165,272,3.165,273,3.165,274,3.414,275,3.414,277,2.535,278,1.571,281,2.425,282,3.414,283,2.535,284,4.997,285,4.708,286,4.422,287,2.276,289,3.414,292,3.414,295,3.414,297,1.768,299,2.167,300,1.065,301,3.208,303,2.425,304,2.153,306,2.966,307,2.236,308,0.811,309,1.039,310,2.326,311,3.667,312,2.659,313,1.878,315,3.414,317,3.414,321,1.27,322,2.801,323,3.165,324,2.801,325,3.414,326,1.238,327,3.165,328,3.414,329,3.165,330,3.165,331,2.535,332,2.425,333,1.996,334,3.805,335,3.805,336,2.966,337,1.205,338,3.414,339,3.414,340,4.708,341,3.414,342,3.414,343,3.414,344,3.414,345,4.708,346,3.414,347,3.165,348,3.414,349,3.414,350,2.659,351,3.414,352,3.414,353,2.326,354,3.414,355,3.414,356,3.414,357,2.535,358,3.414,359,1.27,360,3.414,361,3.414,362,2.966,363,3.414,364,3.414,365,3.414,366,3.414,367,3.414,368,3.414,369,6.58,370,3.414,371,5.39,372,3.414,373,6.458,374,3.414,375,3.165,376,3.414,377,5.987,378,2.153,379,3.414,380,3.975,381,3.414,382,2.051,383,4.708,384,4.587,385,2.966,386,3.414,387,2.229,388,4.708,389,2.425,390,2.434,391,4.708,392,3.414,393,3.165,394,3.414,395,2.659]],["title/interfaces/UserName.html",[129,0.292,2118,3.249]],["body/interfaces/UserName.html",[3,0.099,4,0.123,5,0.087,6,0.075,11,0.656,18,0.495,19,0.747,20,1.322,40,0.981,41,1.006,43,0.01,44,1.257,45,0.614,47,0.957,48,1.923,56,0.797,69,1.149,75,0.007,80,0.006,84,0.006,86,1.324,99,0.283,104,0.253,129,0.354,130,0.158,133,0.223,134,1.085,139,0.863,141,1.442,142,0.957,160,1.191,161,1.13,195,1.39,196,0.766,209,1.576,210,1.576,211,1.322,212,0.842,214,1.425,216,1.425,259,2.594,260,1.322,321,1.576,333,2.545,334,4.39,335,4.39,359,2.023,469,1.322,501,1.461,561,3.704,596,2.126,658,3.146,664,2.811,665,1.498,666,2.811,667,2.649,668,2.006,669,1.95,670,2.502,675,3.476,676,3.476,677,1.498,678,1.66,683,2.649,684,2.259,685,4.235,686,3.146,687,3.854,691,3.681,692,3.476,693,3.3,695,3.928,1115,2.502,1294,3.308,1295,2.672,1844,3.476,2109,3.928,2110,4.65,2111,4.65,2112,4.65,2113,4.65,2114,4.65,2116,4.65,2118,6.4,2120,4.65,2122,3.681,2123,6.003,2124,5.967,2125,5.967,2126,4.09,2128,4.09,2132,4.65,2133,3.476,2134,5.872,2135,5.967,2136,4.65,2137,4.65,2138,4.65,2139,5.967,2140,4.65,2141,4.65,2142,4.65]],["title/components/VideoModalComponent.html",[196,0.424,523,1.239]],["body/components/VideoModalComponent.html",[3,0.075,4,0.093,5,0.092,6,0.116,11,0.497,12,1.341,18,0.376,19,0.62,20,1.409,25,1.409,35,0.994,38,1.879,40,1.045,41,1.072,42,0.931,43,0.01,44,1.101,45,0.64,46,0.726,50,2.957,52,1.637,55,1.336,56,1.163,69,0.542,75,0.006,80,0.004,84,0.004,85,1.045,86,1.099,99,0.246,102,2.747,104,0.192,130,0.093,133,0.253,139,0.654,142,0.726,161,0.982,196,0.797,197,1.081,198,1.409,199,1.136,200,1.259,201,1.259,202,1.227,205,2.265,207,4.281,208,1.081,211,2.268,212,1.13,213,0.978,214,1.518,216,1.518,231,4.644,256,1.308,257,1.723,260,1.409,300,1.629,308,1.072,309,2.091,313,2.484,359,2.218,399,1.362,400,1.081,404,2.078,406,2.283,408,1.826,409,1.444,411,2.104,414,2.106,416,3.179,417,2.386,418,1.768,419,2.792,421,1.661,427,3.018,428,2.189,429,1.596,430,4.892,436,1.713,437,1.713,441,1.826,442,2.104,448,1.888,450,0.865,451,1.955,453,1.215,457,1.054,464,2.027,468,1.259,469,1.861,470,1.259,471,2.217,472,1.259,473,1.259,474,1.136,475,1.259,476,1.108,477,2.044,478,1.136,479,1.259,480,1.518,481,2.044,482,1.136,483,1.195,484,1.259,485,1.136,486,1.259,487,1.136,488,1.081,489,1.259,490,1.136,491,1.259,492,1.136,493,1.136,494,1.259,495,1.136,496,1.227,497,1.108,498,1.259,499,1.136,500,1.768,501,1.108,502,1.136,503,1.136,504,2.044,505,1.136,506,1.637,507,1.768,508,1.108,509,1.136,510,1.108,511,0.931,512,1.259,513,1.108,514,1.081,515,1.136,516,1.259,517,1.136,518,1.259,519,1.136,520,1.259,521,1.136,522,1.409,523,2.002,524,2.511,525,1.136,526,1.259,527,1.136,528,1.481,529,1.259,530,1.136,531,1.259,532,1.259,642,1.713,665,1.136,677,1.596,678,2.044,705,1.864,737,1.362,964,3.704,969,1.438,972,3.352,975,2.979,976,2.792,1050,3.527,1086,5.786,1260,3.207,1261,4.185,1314,2.283,1315,2.283,1322,4.838,1325,2.484,1374,3.704,1577,3.516,1860,2.386,2342,5.073,2343,5.181,2350,5.528,2373,2.189,2397,2.792,2399,4.185,2404,3.527,2722,5.218,2730,4.514,2733,3.527,2734,3.213,2741,3.213,2743,4.955,3061,6.351,3367,6.786,3419,5.725,3420,6.786,3421,7.051,3422,4.003,3423,6.501,3424,4.003,3425,5.623,3426,5.623,3427,5.66,3428,5.66,3429,4.955,3430,5.623,3431,5.623,3432,4.003,3433,4.003,3434,4.003,3435,4.003,3436,5.623,3437,4.003,3438,4.003,3439,4.003,3440,4.003,3441,4.003,3442,4.003,3443,5.728,3444,4.003]],["title/components/VideoModalLauncherComponent.html",[196,0.424,525,1.239]],["body/components/VideoModalLauncherComponent.html",[3,0.08,4,0.099,5,0.096,6,0.111,11,0.729,12,1.399,18,0.551,19,0.647,25,1.47,35,0.751,38,1.766,40,1.09,41,1.118,42,0.989,43,0.01,44,1.12,45,0.657,46,0.771,48,1.665,52,1.238,55,0.874,56,0.886,69,0.576,75,0.006,76,2.006,80,0.005,84,0.005,85,1.248,86,1.313,99,0.254,102,2.865,104,0.204,129,0.393,130,0.099,133,0.258,142,0.771,161,1.093,188,1.373,196,0.808,197,1.148,198,1.47,199,1.207,200,1.337,201,1.337,202,1.303,208,1.148,209,1.752,210,1.752,211,2.278,212,1.135,213,1.039,214,1.583,216,1.583,256,0.989,257,1.303,259,2.162,260,1.47,297,1.544,300,1.682,308,1.38,309,2.219,321,1.27,333,1.996,337,0.874,359,1.27,382,1.487,399,1.447,400,1.148,401,2.434,402,2.659,403,2.659,408,1.94,409,1.506,410,2.153,414,2.005,418,1.878,431,2.006,434,2.51,436,1.82,437,1.82,441,1.94,444,2.676,445,1.713,449,3.084,450,1.267,453,0.919,457,1.12,461,2.153,464,2.153,468,1.337,469,1.903,470,1.337,471,2.276,472,1.337,473,1.337,474,1.207,475,1.337,476,1.177,477,2.111,478,1.207,479,1.337,480,1.583,481,2.111,482,1.207,483,1.27,484,1.337,485,1.207,486,1.337,487,1.207,488,1.148,489,1.337,490,1.207,491,1.337,492,1.207,493,1.207,494,1.337,495,1.207,496,1.303,497,1.177,498,1.337,499,1.207,500,1.844,501,1.177,502,1.207,503,1.207,504,2.111,505,1.207,506,1.708,507,1.844,508,1.177,509,1.207,510,1.177,511,0.989,512,1.337,513,1.177,514,1.148,515,1.207,516,1.337,517,1.207,518,1.337,519,1.207,520,1.337,521,1.207,522,1.813,523,1.665,524,2.52,525,2.055,526,1.337,527,1.207,528,1.544,529,1.337,530,1.207,531,1.337,532,1.337,591,4.091,596,1.713,607,2.363,665,1.207,677,1.665,678,2.111,705,1.944,717,2.659,720,2.535,960,2.865,969,2.108,975,4.365,1086,5.298,1087,5.842,1260,3.345,1374,3.863,1381,5.048,1761,3.672,2373,2.326,2401,3.414,2402,5.81,2424,2.966,3419,5.475,3445,3.747,3446,5.865,3447,8.42,3448,6.714,3449,5.865,3450,7.238,3451,5.865,3452,5.865,3453,4.252,3454,5.865,3455,4.252,3456,4.252,3457,5.865,3458,5.865,3459,4.252,3460,4.252,3461,4.252]],["title/modules/VideoModalLauncherModule.html",[533,1.271,1080,3.045]],["body/modules/VideoModalLauncherModule.html",[3,0.122,4,0.152,5,0.107,6,0.092,43,0.01,75,0.008,80,0.007,84,0.007,99,0.321,104,0.312,130,0.152,133,0.214,309,2.006,424,1.669,524,1.844,525,2.584,535,1.844,536,2.242,547,2.421,548,1.844,550,2.62,552,2.097,556,2.359,562,3.196,563,2.541,735,2.62,736,2.767,737,2.211,1080,6.189,1086,4.278,1087,4.834,3419,4.531,3462,5.724,3463,5.724,3464,5.724,3465,6.496,3466,6.496]],["title/modules/VideoModalModule.html",[533,1.271,3467,3.249]],["body/modules/VideoModalModule.html",[3,0.12,4,0.15,5,0.106,6,0.091,43,0.01,75,0.008,80,0.007,84,0.007,99,0.331,104,0.308,130,0.15,133,0.211,424,1.648,523,2.581,524,1.822,535,1.822,536,2.225,547,2.404,548,1.822,550,2.602,552,2.071,556,2.342,562,3.173,563,2.51,735,2.602,736,2.747,737,2.184,1086,5.034,2373,3.51,2423,5.152,2424,4.476,2425,6.136,3419,4.476,3427,5.152,3467,6.588,3468,5.654,3469,5.654,3470,5.654,3471,7.644,3472,5.654]],["title/interfaces/VisibilityItem.html",[129,0.292,1276,2.295]],["body/interfaces/VisibilityItem.html",[3,0.116,4,0.145,5,0.102,6,0.088,11,0.772,18,0.583,19,0.826,43,0.01,44,1.21,45,0.776,46,1.515,69,1.209,71,2.178,75,0.008,76,3.535,80,0.007,84,0.007,86,1.465,129,0.502,130,0.145,155,3.501,195,1.635,304,3.794,337,1.654,353,4.754,359,1.854,457,1.973,528,1.635,813,1.877,965,3.608,1276,3.94,1278,4.809,1303,4.467,1761,4.571,3473,5.47,3474,5.47,3475,6.602]],["title/components/VisibilityMenuComponent.html",[196,0.424,527,1.239]],["body/components/VisibilityMenuComponent.html",[3,0.053,4,0.067,5,0.072,6,0.116,11,0.882,12,1.044,18,0.562,19,0.483,25,1.097,35,0.503,38,1.886,40,0.814,41,0.835,42,1.586,43,0.01,44,1.116,45,0.719,46,1.236,47,0.794,52,0.83,55,1.577,56,1.196,69,0.722,71,1.956,75,0.005,76,1.344,80,0.003,84,0.003,85,0.814,86,1.6,99,0.202,104,0.137,130,0.067,133,0.224,134,0.9,139,0.716,141,1.057,142,0.516,155,2.952,160,1.167,161,1.03,182,1.531,188,1.931,196,0.627,197,0.769,198,1.097,199,0.809,200,0.896,201,0.896,202,0.873,208,0.769,209,1.308,210,1.308,211,2.203,212,1.101,213,0.696,214,1.182,216,1.182,256,0.663,257,1.634,258,1.934,259,1.592,260,1.097,281,2.497,297,1.153,300,1.336,304,2.217,308,0.835,309,0.696,321,0.851,333,0.97,362,3.719,382,0.996,387,1.083,399,0.97,400,1.182,401,2.484,402,1.782,403,1.782,404,1.618,406,3.041,407,3.041,409,0.732,413,1.392,414,1.592,417,1.698,418,1.258,421,3.24,423,3.719,424,1.659,427,1.219,428,1.558,429,1.833,434,1.219,436,1.874,437,1.874,441,1.998,442,1.498,444,1.3,445,3.231,447,1.987,448,2.516,450,1.292,451,2.604,453,0.946,454,4.504,457,0.75,459,2.883,464,2.217,465,4.28,466,2.086,467,3.719,468,0.896,469,1.618,470,0.896,471,1.882,472,0.896,473,0.896,474,0.809,475,0.896,476,0.789,477,1.677,478,0.809,479,0.896,480,1.182,481,1.677,482,0.809,483,0.851,484,0.896,485,0.809,486,0.896,487,0.809,488,0.769,489,0.896,490,0.809,491,0.896,492,0.809,493,0.809,494,0.896,495,0.809,496,0.873,497,0.789,498,0.896,499,0.809,500,1.377,501,0.789,502,0.809,503,0.809,504,1.677,505,0.809,506,1.275,507,1.377,508,0.789,509,0.809,510,0.789,511,0.663,512,0.896,513,0.789,514,0.769,515,0.809,516,0.896,517,0.809,518,0.896,519,0.809,520,0.896,521,0.809,522,1.097,523,0.809,524,1.243,525,0.809,526,0.896,527,1.699,528,2.26,529,0.896,530,0.809,531,0.896,532,0.896,548,0.809,596,1.148,607,1.764,664,2.68,665,0.809,666,2.213,667,2.341,668,1.083,669,1.053,670,1.97,677,1.243,678,1.677,683,2.086,684,1.874,689,3.941,704,2.138,705,1.451,706,1.498,713,2.883,720,1.698,721,1.987,722,2.302,723,3.054,785,1.934,848,2.835,963,1.782,964,1.876,965,3.577,969,1.916,972,2.61,976,3.054,1034,2.395,1210,1.987,1225,1.558,1246,1.782,1276,4.263,1278,4.91,1286,4.064,1292,2.497,1294,3.747,1295,3.03,1301,3.054,1302,3.941,1303,4.064,1322,2.12,1328,1.782,1364,3.514,1367,2.738,1368,3.054,1544,2.883,1686,1.625,1697,5.699,1758,2.61,1761,4.008,1763,3.719,1786,5.272,1798,2.51,1812,2.287,1817,6.189,1848,6.091,1965,3.258,2122,1.987,2565,4.504,2566,3.514,2931,4.28,3101,2.51,3166,2.287,3223,3.258,3476,5.709,3477,2.51,3478,5.332,3479,4.378,3480,4.378,3481,5.984,3482,4.378,3483,5.984,3484,4.378,3485,3.857,3486,4.378,3487,5.332,3488,4.378,3489,2.849,3490,2.849,3491,2.849,3492,4.378,3493,4.378,3494,2.849,3495,2.849,3496,4.378,3497,4.378,3498,4.378,3499,4.378,3500,2.849,3501,3.857,3502,2.849,3503,4.378,3504,2.849,3505,3.857,3506,4.378,3507,2.849,3508,4.378,3509,4.378,3510,2.849,3511,7.92,3512,2.849,3513,2.51,3514,5.984,3515,2.849,3516,2.849,3517,2.849,3518,6.817,3519,5.332,3520,4.378,3521,5.984,3522,2.849,3523,2.849,3524,5.332,3525,2.849,3526,2.849,3527,2.849,3528,2.849,3529,2.849,3530,2.849,3531,2.849,3532,2.849,3533,2.849]],["title/modules/VisibilityMenuModule.html",[533,1.271,1830,3.045]],["body/modules/VisibilityMenuModule.html",[3,0.121,4,0.151,5,0.106,6,0.092,43,0.01,75,0.008,80,0.007,84,0.007,99,0.332,104,0.311,130,0.151,133,0.213,212,0.804,326,1.884,424,1.662,527,2.583,528,1.704,535,1.837,536,2.237,547,2.416,548,1.837,550,2.615,552,2.089,556,2.354,562,3.189,563,2.532,735,2.615,736,2.761,737,2.203,740,5.358,741,4.514,1830,6.184,1846,6.769,1848,4.817,3476,4.514,3534,5.703,3535,5.703,3536,5.703,3537,6.472,3538,6.472]],["title/components/VisibilityToggleComponent.html",[196,0.424,530,1.239]],["body/components/VisibilityToggleComponent.html",[3,0.07,4,0.087,5,0.088,6,0.115,11,0.665,12,1.277,15,1.99,18,0.351,19,0.59,25,1.342,35,0.66,38,1.845,40,0.995,41,1.021,42,0.869,43,0.01,44,1.079,45,0.704,46,0.677,47,0.971,52,1.088,55,0.768,56,0.809,69,0.725,75,0.006,80,0.004,84,0.004,85,1.345,86,1.516,99,0.203,104,0.179,130,0.087,133,0.248,141,1.279,142,1.312,156,2.915,160,0.595,161,1.093,182,1.872,196,0.784,197,1.009,198,1.342,199,1.06,200,1.175,201,1.175,202,1.145,208,1.009,209,1.599,210,1.599,211,2.256,212,1.125,213,0.913,214,1.446,216,1.446,256,1.246,257,1.641,259,2.249,260,1.342,278,1.978,281,3.053,287,2.149,300,1.568,308,1.021,309,0.913,321,1.116,333,1.822,337,1.101,399,1.271,400,1.845,401,2.837,404,2.312,405,1.342,407,2.13,408,1.704,409,0.96,411,1.964,413,2.615,414,2.041,416,2.292,417,2.227,418,1.65,421,2.222,423,2.606,424,0.96,427,3.097,428,2.043,429,1.52,432,2.227,433,3.192,434,3.097,436,2.292,437,1.599,441,2.443,442,1.964,444,2.855,445,2.521,446,3.526,448,3.225,450,1.476,451,2.615,453,1.157,457,0.984,458,3.735,461,3.169,464,1.892,468,1.175,469,1.813,470,1.175,471,2.149,472,1.175,473,1.175,474,1.06,475,1.175,476,1.034,477,1.968,478,1.06,479,1.175,480,1.446,481,1.968,482,1.06,483,1.116,484,1.175,485,1.06,486,1.175,487,1.06,488,1.009,489,1.175,490,1.06,491,1.175,492,1.06,493,1.06,494,1.175,495,1.06,496,1.145,497,1.034,498,1.175,499,1.06,500,1.684,501,1.034,502,1.06,503,1.06,504,1.968,505,1.06,506,1.559,507,1.684,508,1.034,509,1.06,510,1.034,511,0.869,512,1.175,513,1.034,514,1.009,515,1.06,516,1.175,517,1.06,518,1.175,519,1.06,520,1.175,521,1.06,522,2.172,523,1.06,524,1.52,525,1.06,526,1.175,527,1.06,528,2.333,529,1.175,530,1.94,531,1.175,532,1.175,596,1.505,607,2.157,664,2.598,665,1.06,666,2.222,667,2.674,668,1.42,669,1.38,670,2.312,677,1.52,678,1.968,681,3.526,683,2.448,704,3.339,705,1.774,706,1.964,715,2.606,718,2.043,722,1.964,813,1.342,860,2.78,965,1.551,969,1.342,975,2.78,1019,2.78,1223,4.718,1246,2.336,1294,2.615,1295,2.711,1301,3.735,1314,2.13,1315,2.13,1325,1.65,1328,3.348,1366,2.78,1367,2.336,1544,3.526,1643,3.526,1684,2.999,1686,3.053,1687,5.514,1688,4.718,1690,5.252,1694,3.291,1698,3.291,1717,2.999,1760,4.298,1761,3.423,1784,4.298,1785,4.298,1818,2.999,1850,6.011,2806,3.985,2818,4.298,2836,3.291,3176,3.291,3186,4.718,3476,5.633,3485,6.634,3513,3.291,3539,5.354,3540,5.354,3541,7.236,3542,6.258,3543,5.354,3544,3.736,3545,5.354,3546,3.736,3547,6.258,3548,3.736,3549,3.736,3550,4.718,3551,3.736,3552,3.736,3553,3.736,3554,5.354,3555,3.736]],["title/modules/VisibilityToggleModule.html",[533,1.271,1831,3.045]],["body/modules/VisibilityToggleModule.html",[3,0.122,4,0.152,5,0.107,6,0.092,43,0.01,75,0.008,80,0.007,84,0.007,99,0.328,104,0.312,130,0.152,133,0.214,424,1.669,528,1.711,530,2.584,535,1.844,536,2.242,547,2.421,548,1.844,550,2.62,552,2.097,556,2.359,562,3.196,563,2.541,735,2.62,736,2.767,737,2.211,1723,5.724,1726,5.724,1831,6.189,1850,4.834,3181,6.783,3182,5.724,3476,4.531,3556,5.724,3557,5.724,3558,5.724]],["title/interfaces/XYZTriplet.html",[129,0.292,1936,2.388]],["body/interfaces/XYZTriplet.html",[0,1.148,3,0.047,4,0.058,5,0.041,6,0.035,8,1.066,11,0.31,15,2.039,16,0.947,18,0.234,19,0.435,20,1.616,22,2.39,23,0.947,29,1.066,35,0.44,37,2.86,40,0.463,41,0.475,43,0.01,44,1.004,45,0.706,47,0.715,48,0.707,49,1.421,50,1.31,53,3.989,56,1.215,65,1.066,69,0.948,71,1.226,75,0.004,80,0.003,84,0.003,88,0.975,90,1.976,91,1.417,96,3.109,99,0.301,104,0.12,105,2.478,106,1.688,107,1.588,108,1.066,109,1.066,110,1.004,113,0.707,115,0.848,120,1.485,122,1.542,123,1.542,124,0.975,125,0.921,126,1.542,128,1.799,129,0.328,130,0.158,132,1.034,133,0.082,134,1.44,139,1.338,141,1.305,142,0.715,149,3.317,155,2.821,156,1.971,160,1.281,161,1.244,162,1.066,163,1.137,173,1.558,174,1.558,177,1.738,182,0.871,184,1.738,195,0.656,212,0.49,245,1.417,246,1.588,256,1.5,257,2.263,269,2.597,281,1.421,287,1.906,297,1.465,299,2.973,301,1.363,303,1.421,304,1.262,308,0.752,326,0.725,337,1.006,353,2.157,359,1.662,382,2.755,387,2.994,390,3.27,400,0.673,405,1.759,409,1.429,429,1.988,435,2.309,445,1.588,450,1.31,453,1.202,457,0.656,488,1.823,511,1.678,514,1.065,528,0.656,612,1.742,655,3.316,662,1.421,667,1.542,668,0.947,669,0.921,670,0.921,673,2.791,679,2.031,683,0.975,684,3.329,687,1.217,754,1.363,761,2.942,785,2.848,813,0.988,848,1.808,894,4.509,895,1.997,932,3.06,942,5.03,943,3.993,945,1.641,946,1.641,947,1.641,949,2.597,954,1.485,965,2.31,1015,3.553,1115,1.457,1225,2.677,1237,1.363,1271,3.043,1274,3.881,1276,3.551,1278,1.363,1346,3.642,1347,4.122,1348,3.173,1349,2.791,1352,2.766,1397,1.217,1758,2.917,1759,2.75,1761,3.527,1762,3.993,1763,2.75,1774,1.854,1808,3.316,1856,1.86,1857,3.944,1862,1.217,1894,2.466,1926,1.558,1927,1.641,1928,2,1929,3.844,1930,4.247,1931,4.497,1932,4.497,1933,4.497,1934,3.994,1935,4.749,1936,4.122,1937,1.641,1938,4.712,1939,3.165,1940,4.229,1941,1.926,1942,2.466,1943,2.75,1944,1.485,1945,1.485,1946,2,1947,1.854,1948,1.641,1949,2,1950,1.641,1951,2,1952,1.485,1953,2,1954,1.421,1955,1.363,1956,2.249,1957,2,1958,2,1959,1.738,1960,1.86,1961,1.217,1962,1.485,1963,1.421,1964,1.421,1965,2.935,1966,2.917,1967,2,1968,2.351,1969,1.854,1970,2,1971,2,1972,2,1973,3.06,1974,2.351,1975,2,1976,2,1977,2,1978,2,1979,2,1980,2,1981,2,1982,2,1983,2,1984,2,1985,2,1986,2,1987,2,1988,2,1989,2,1990,2,1991,2,1992,2,1993,2,1994,2,1995,2,1996,2,1997,2,1998,1.854,1999,1.854,2000,2,2001,2,2002,2,2003,2,2004,2,2005,1.738,2006,1.738,2007,1.558,2008,2,2009,2,2010,3.928,2011,2,2012,5.422,2013,2,2014,2,2015,3.165,2016,2.935,2017,2,2018,2,2019,4.972,2020,2,2021,2,2022,2,2023,2,2024,1.421,2025,2,2026,4.467,2027,2.249,2028,2,2029,2,2030,2,2031,1.485,2032,2,2033,2,2034,3.165,2035,2,2036,4.467,2037,2,2038,3.165,2039,2,2040,2,2041,2,2042,2,2043,2,2044,2,2045,2,2046,2,2047,2,2048,2,2049,2,2050,2,2051,2,2052,2,2053,2,2054,2,2055,2,2056,2,2057,2,2058,3.165,2059,2,2060,2,2061,2,2062,2,2063,2,2064,2,2065,2,2066,2,2067,2,2068,3.165,2069,2,2070,2,2071,2,2072,2,2073,2,2074,2,2075,2,2076,2,2077,2,2078,2,2079,2,2080,2,2081,2,2082,2,2083,2,2084,3.165,2085,1.485,2086,1.738,2087,2,2088,1.641,2089,1.738,2090,3.165,2091,3.413,2092,3.165,2093,2.351,2094,3.165,2095,2,2096,2,2097,2,2098,2,2099,2,2100,2,2101,2,2102,1.485,2103,2,2104,2,2105,2,2106,2,2107,2,2108,2]],["title/changelog.html",[2031,2.169,3559,2.921,3560,2.921]],["body/changelog.html",[3,0.119,5,0.035,8,1.504,19,0.238,24,4.524,38,0.502,43,0.008,45,0.196,46,0.391,48,0.997,50,2.693,59,2.314,60,1.505,71,0.541,74,1.732,75,0.004,77,4.651,80,0.007,83,2.451,84,0.002,85,0.401,90,2.415,102,2.754,124,2.493,126,1.374,129,0.445,138,1.505,140,4.973,141,1.277,142,0.928,143,2.314,155,0.869,168,1.349,182,1.554,188,1.134,195,0.568,196,0.497,198,0.88,200,0.679,202,0.661,208,1.383,211,0.88,212,1.071,213,0.527,226,2.003,241,1.505,245,0.775,256,1.034,257,0.661,258,0.953,260,0.541,271,1.606,278,2.234,283,1.286,286,2.314,299,3.09,303,4.398,304,1.779,306,2.451,307,3.178,308,0.847,309,0.527,313,0.953,326,0.628,333,2.338,359,2.474,375,4.944,378,1.093,399,0.734,400,1.522,407,1.231,411,2.693,414,0.644,425,2.431,431,1.658,435,2.417,441,0.985,446,1.421,450,0.466,453,0.759,457,1.349,483,0.644,488,0.949,493,0.613,522,0.88,524,0.613,536,1.491,561,1.18,567,2.197,572,4.216,588,1.421,591,4.926,593,1.901,601,6.497,609,1.421,635,3.355,636,3.66,661,4.538,669,0.797,670,0.797,673,3.634,684,2.587,689,5.395,713,3.373,750,1.231,782,2.615,799,1.732,804,1.732,842,1.349,843,2.431,891,1.716,894,3.78,895,3.95,911,2.82,914,4.968,921,1.901,932,2.197,935,1.732,960,2.171,961,1.349,962,2.314,965,0.896,967,1.606,972,1.286,1003,1.732,1008,1.732,1015,0.953,1061,1.349,1068,1.505,1072,1.18,1117,1.901,1118,1.606,1121,1.732,1124,3.1,1125,1.901,1130,1.421,1131,1.732,1151,2.779,1186,1.732,1193,1.732,1194,1.732,1257,4.216,1258,1.421,1259,1.732,1260,2.534,1274,2.451,1278,1.18,1283,2.451,1286,2.094,1292,2.003,1301,3.933,1302,1.421,1303,2.649,1316,2.314,1326,1.732,1328,1.349,1332,1.901,1347,1.922,1352,2.337,1370,3.096,1378,4.526,1439,2.82,1443,1.732,1484,2.82,1499,2.82,1625,1.901,1641,1.901,1643,1.421,1653,1.421,1655,1.505,1656,5.326,1696,1.901,1700,3.096,1716,3.096,1758,2.094,1759,3.573,1760,1.732,1762,3.373,1807,2.82,1808,2.431,1809,3.096,1817,1.606,1858,1.421,1862,2.502,1867,1.505,1889,1.505,1902,1.421,1917,1.901,1937,1.421,1955,1.18,1973,1.349,2016,2.615,2031,2.649,2126,1.18,2158,4.196,2161,2.003,2162,1.421,2266,1.505,2307,2.615,2342,1.421,2355,3.567,2428,3.567,2449,1.505,2452,1.732,2679,1.901,2681,3.096,2687,3.915,2697,2.615,2727,1.606,2769,2.82,2801,5.116,2803,1.732,2807,1.732,2812,3.567,2879,4.112,3001,1.732,3030,1.901,3054,1.901,3062,1.901,3079,1.901,3137,1.901,3160,1.732,3215,1.901,3223,1.606,3259,3.915,3353,3.096,3369,3.096,3377,3.096,3420,1.901,3428,6.11,3429,5.326,3443,3.915,3475,1.901,3501,1.901,3505,1.901,3550,1.901,3560,2.82,3561,3.915,3562,3.915,3563,3.915,3564,3.513,3565,2.158,3566,5.122,3567,3.513,3568,4.444,3569,2.158,3570,3.513,3571,2.158,3572,7.5,3573,2.158,3574,3.513,3575,1.901,3576,2.158,3577,3.096,3578,3.096,3579,3.096,3580,6.643,3581,2.158,3582,2.158,3583,2.158,3584,4.444,3585,3.513,3586,7.229,3587,2.158,3588,3.096,3589,6.053,3590,3.513,3591,5.639,3592,4.444,3593,2.158,3594,3.513,3595,3.513,3596,2.158,3597,2.158,3598,4.444,3599,5.639,3600,3.513,3601,4.444,3602,4.444,3603,3.513,3604,2.158,3605,3.513,3606,3.513,3607,6.373,3608,6.045,3609,6.373,3610,3.513,3611,2.158,3612,2.158,3613,2.158,3614,3.513,3615,4.444,3616,4.968,3617,2.158,3618,2.158,3619,2.158,3620,2.158,3621,4.444,3622,2.158,3623,2.158,3624,7.229,3625,7.373,3626,3.513,3627,5.639,3628,2.158,3629,3.513,3630,6.045,3631,3.096,3632,2.158,3633,2.158,3634,2.158,3635,3.513,3636,5.615,3637,2.158,3638,7.429,3639,2.158,3640,2.158,3641,3.513,3642,2.158,3643,5.122,3644,3.513,3645,4.444,3646,2.158,3647,2.158,3648,2.158,3649,2.158,3650,2.158,3651,7.612,3652,2.158,3653,1.901,3654,2.158,3655,3.513,3656,1.901,3657,2.158,3658,3.513,3659,5.122,3660,5.122,3661,4.444,3662,2.158,3663,2.158,3664,2.158,3665,2.158,3666,4.968,3667,3.915,3668,4.968,3669,2.158,3670,4.444,3671,5.853,3672,7.5,3673,2.158,3674,2.158,3675,3.513,3676,3.915,3677,2.158,3678,2.158,3679,5.639,3680,2.158,3681,2.158,3682,2.158,3683,2.158,3684,3.096,3685,3.096,3686,6.373,3687,5.853,3688,2.158,3689,2.158,3690,2.158,3691,2.158,3692,2.158,3693,4.968,3694,2.158,3695,3.513,3696,3.513,3697,2.158,3698,3.513,3699,3.513,3700,3.513,3701,2.158,3702,2.158,3703,2.158,3704,2.158,3705,1.901,3706,3.513,3707,3.513,3708,3.513,3709,2.158,3710,2.158,3711,2.158,3712,2.158,3713,3.513,3714,2.158,3715,2.158,3716,3.513,3717,3.096,3718,5.122,3719,2.158,3720,4.444,3721,3.513,3722,6.045,3723,3.096,3724,5.122,3725,2.158,3726,2.158,3727,3.513,3728,2.158,3729,2.158,3730,3.513,3731,2.158,3732,2.158,3733,2.158,3734,3.513,3735,2.158,3736,2.158,3737,2.158,3738,2.158,3739,2.158,3740,2.158,3741,2.158,3742,2.158,3743,3.513,3744,2.158,3745,2.158,3746,2.158,3747,4.444,3748,4.444,3749,3.513,3750,1.901,3751,2.158,3752,2.158,3753,2.158,3754,2.158,3755,2.158,3756,3.513,3757,3.513,3758,3.513,3759,4.444,3760,2.158,3761,2.158,3762,2.158,3763,2.158,3764,3.513,3765,5.122,3766,2.158,3767,2.158,3768,4.444,3769,3.513,3770,2.158,3771,2.158,3772,3.513,3773,3.513,3774,5.122,3775,2.158,3776,2.158,3777,2.158,3778,3.513,3779,2.158,3780,2.158,3781,2.158,3782,2.158,3783,2.158,3784,5.122,3785,2.158,3786,4.444,3787,5.122,3788,2.158,3789,4.444,3790,5.639,3791,3.513,3792,3.513,3793,3.513,3794,4.444,3795,5.122,3796,5.639,3797,3.513,3798,4.444,3799,2.158,3800,2.158,3801,6.373,3802,5.122,3803,6.87,3804,2.158,3805,2.158,3806,2.158,3807,3.513,3808,2.158,3809,2.158,3810,2.158,3811,2.158,3812,3.513,3813,2.158,3814,2.158,3815,3.915,3816,3.513,3817,4.444,3818,2.158,3819,2.158,3820,2.158,3821,2.158,3822,2.158,3823,2.158,3824,2.158,3825,2.158,3826,2.158,3827,6.045,3828,4.444,3829,3.513,3830,2.158,3831,2.158,3832,2.158,3833,2.158,3834,4.444,3835,2.158,3836,2.158,3837,3.513,3838,3.513,3839,3.513,3840,4.444,3841,2.158,3842,2.158,3843,2.158,3844,2.158,3845,2.158,3846,2.158,3847,1.901,3848,2.158,3849,2.158,3850,2.158,3851,2.158,3852,2.158,3853,2.158,3854,2.158,3855,2.158,3856,2.158,3857,2.158,3858,2.158,3859,2.158,3860,2.158,3861,2.158,3862,6.643,3863,2.158,3864,3.915,3865,4.444,3866,5.122,3867,3.513,3868,4.444,3869,2.158,3870,2.158,3871,3.513,3872,3.513,3873,2.158,3874,2.158,3875,2.158,3876,3.513,3877,2.158,3878,3.915,3879,2.158,3880,2.158,3881,2.158,3882,2.158,3883,2.158,3884,2.158,3885,2.158,3886,2.158,3887,2.158,3888,2.158,3889,2.158,3890,2.158,3891,2.158,3892,2.158,3893,2.158,3894,2.158,3895,2.158,3896,2.158,3897,2.158,3898,2.158,3899,3.513,3900,2.158,3901,3.513,3902,2.158,3903,3.513,3904,5.122,3905,5.122,3906,3.513,3907,3.513,3908,2.158,3909,2.158,3910,2.158,3911,2.158,3912,1.901,3913,2.158,3914,2.158,3915,2.158,3916,2.158,3917,3.513,3918,7.063,3919,4.444,3920,2.158,3921,3.513,3922,2.158,3923,2.158,3924,2.158,3925,2.158,3926,2.158,3927,2.158,3928,3.513,3929,5.615,3930,3.513,3931,2.158,3932,2.158,3933,2.158,3934,2.158,3935,2.158,3936,4.112,3937,2.158,3938,3.513,3939,2.158,3940,2.158,3941,2.158,3942,3.513,3943,2.158,3944,2.158,3945,2.158,3946,3.513,3947,3.513,3948,3.096,3949,2.158,3950,2.158,3951,2.158,3952,2.158,3953,2.158,3954,2.158,3955,2.158,3956,2.158,3957,2.158,3958,1.901,3959,2.158,3960,2.158,3961,2.158,3962,2.158,3963,2.158,3964,2.158,3965,2.158,3966,1.901,3967,2.158,3968,3.513,3969,2.158,3970,2.158,3971,2.158,3972,2.158,3973,2.158,3974,2.158,3975,2.158,3976,2.158,3977,2.158,3978,2.158,3979,1.901,3980,3.513,3981,2.158,3982,2.158,3983,2.158,3984,2.158,3985,3.513,3986,1.901,3987,2.158,3988,2.158,3989,2.158,3990,2.158,3991,2.158,3992,2.158,3993,2.158]],["title/coverage.html",[3936,4.794]],["body/coverage.html",[0,2.319,1,2.012,5,0.1,6,0.132,7,4.124,8,3.16,9,3.212,10,4.124,12,0.841,43,0.01,45,0.32,75,0.005,80,0.004,84,0.004,88,1.38,91,1.268,92,2.012,117,2.103,129,0.601,131,2.625,133,0.169,141,0.623,142,0.931,196,0.867,197,0.952,203,4.509,242,2.103,245,1.268,301,1.929,309,1.256,333,1.201,336,2.46,405,3.302,409,1.896,429,2.353,466,2.604,474,1.001,476,0.976,478,1.001,480,1.387,482,1.001,485,1.001,487,1.001,490,1.001,492,1.001,495,1.001,497,1.422,499,1.001,501,0.976,502,1.001,503,1.001,505,1.001,508,0.976,509,1.001,510,0.976,511,0.821,513,0.976,515,1.001,517,1.001,519,1.001,521,1.001,523,1.001,525,1.001,527,1.001,530,1.001,572,2.46,576,2.625,580,2.625,583,3.99,586,2.625,602,2.832,603,2.832,655,1.929,656,4.226,657,3.99,658,4.656,672,2.625,748,2.625,749,2.832,753,4.124,758,2.269,777,1.558,792,1.723,863,3.108,875,1.855,978,3.108,1051,2.206,1052,4.423,1058,2.206,1065,2.206,1066,2.206,1084,2.46,1086,3.99,1087,2.625,1111,2.625,1112,4.642,1113,4.124,1114,4.124,1132,2.46,1220,2.832,1221,2.625,1222,3.108,1253,2.832,1254,3.108,1257,2.46,1266,2.206,1267,2.206,1269,2.832,1271,1.929,1272,3.108,1273,3.108,1276,1.855,1279,2.832,1280,2.625,1281,3.108,1342,4.953,1351,2.832,1355,3.108,1381,4.226,1388,2.625,1389,3.823,1390,4.124,1400,2.323,1465,2.832,1467,4.509,1501,2.832,1630,2.832,1631,2.625,1632,3.108,1682,2.832,1683,2.323,1684,4.124,1727,2.832,1728,4.124,1783,7.535,1844,3.383,1848,2.625,1850,2.625,1854,4.863,1856,1.664,1865,2.206,1923,2.625,1924,2.832,1925,2.832,1926,2.206,1927,4.659,1934,2.929,1936,1.929,1960,1.664,1961,3.251,1973,3.212,2109,3.823,2118,2.625,2148,2.46,2149,4.642,2150,4.642,2178,2.46,2243,4.509,2289,2.206,2290,2.206,2337,3.583,2338,2.46,2339,3.108,2397,4.642,2427,4.124,2506,2.625,2655,3.99,2656,2.625,2657,4.124,2694,3.383,2724,2.625,2755,2.832,2783,3.99,2786,3.99,2788,2.625,2790,4.642,2795,4.226,2796,4.509,2798,2.625,2847,4.509,2896,2.625,2994,4.226,2995,2.625,3028,2.625,3029,2.832,3114,2.832,3125,2.832,3143,3.823,3144,3.823,3147,4.659,3148,3.108,3184,5.343,3262,2.832,3266,2.832,3269,2.832,3335,4.124,3389,3.108,3419,3.583,3445,3.108,3473,3.108,3474,3.108,3476,3.583,3477,3.108,3631,3.108,3936,2.832,3979,3.108,3994,3.528,3995,3.528,3996,3.528,3997,3.528,3998,3.528,3999,5.137,4000,7.621,4001,7.81,4002,6.656,4003,3.528,4004,7.074,4005,3.528,4006,3.528,4007,8.552,4008,3.528,4009,3.528,4010,6.656,4011,3.528,4012,3.528,4013,3.528,4014,5.137,4015,3.528,4016,3.528,4017,3.528,4018,3.528,4019,3.528,4020,3.528,4021,3.528,4022,3.528,4023,3.528,4024,3.108,4025,3.528,4026,3.528,4027,3.528,4028,3.528,4029,3.108,4030,3.528,4031,3.528,4032,3.528,4033,3.528,4034,3.528,4035,3.528,4036,3.528,4037,3.528,4038,3.528,4039,3.528,4040,3.528,4041,5.137,4042,5.137,4043,6.656,4044,6.656,4045,3.108,4046,3.528,4047,5.137,4048,3.528,4049,3.528,4050,3.528,4051,5.137,4052,3.528,4053,3.528,4054,3.528,4055,3.528]],["title/dependencies.html",[536,1.53,3656,3.206]],["body/dependencies.html",[5,0.089,22,1.795,43,0.01,72,4.032,75,0.007,80,0.006,84,0.006,102,2.646,104,0.26,107,2.774,110,2.182,111,5.125,113,1.538,260,1.725,536,1.577,558,4.773,566,4.536,567,4.306,612,2.393,635,2.646,668,2.617,669,2.002,670,2.002,737,1.844,934,4.773,935,4.349,1021,4.349,1129,3.568,1344,4.349,1686,3.089,1947,4.032,2133,3.568,2155,3.568,2438,4.349,2492,4.349,2501,4.349,2893,4.349,2894,4.349,3061,4.349,3116,4.773,3118,4.773,3119,6.068,3121,4.773,3295,4.773,3427,4.349,3472,4.773,3579,4.773,3588,4.773,3668,4.773,3684,4.773,3717,4.773,3723,4.773,3815,4.773,3864,6.068,4056,5.418,4057,5.418,4058,8.85,4059,5.418,4060,5.418,4061,5.418,4062,5.418,4063,5.418,4064,5.418,4065,5.418,4066,5.418,4067,5.418,4068,7.571,4069,5.418,4070,6.887,4071,5.418,4072,5.418,4073,5.418,4074,5.418,4075,7.571,4076,5.418,4077,5.418,4078,5.418,4079,5.418,4080,5.418,4081,5.418,4082,5.418,4083,5.418,4084,5.418,4085,5.418,4086,6.887,4087,5.418,4088,5.418,4089,5.418,4090,6.887,4091,5.418,4092,5.418,4093,6.887,4094,5.418,4095,5.418,4096,5.418,4097,5.418,4098,5.418,4099,5.418,4100,5.418,4101,5.418,4102,5.418,4103,5.418,4104,5.418,4105,5.418,4106,4.773,4107,5.418,4108,5.418,4109,5.418,4110,5.418,4111,5.418,4112,6.887,4113,5.418,4114,5.418,4115,5.418,4116,5.418,4117,5.418,4118,5.418,4119,5.418,4120,5.418,4121,5.418,4122,5.418,4123,5.418,4124,5.418,4125,5.418,4126,5.418,4127,5.418,4128,5.418,4129,5.418,4130,5.418,4131,5.418,4132,5.418,4133,5.418,4134,5.418,4135,5.418,4136,5.418,4137,5.418,4138,5.418,4139,5.418,4140,5.418,4141,5.418,4142,6.887,4143,5.418,4144,5.418,4145,5.418,4146,5.418,4147,5.418,4148,5.418,4149,5.418,4150,5.418,4151,5.418,4152,5.418,4153,5.418]],["title/miscellaneous/functions.html",[4154,2.397,4155,4.63]],["body/miscellaneous/functions.html",[6,0.121,11,0.816,18,0.617,22,2.177,42,1.981,43,0.01,44,1.185,46,1.543,55,1.75,61,4.581,75,0.008,80,0.007,84,0.007,245,2.36,257,2.375,300,1.942,466,2.569,749,6.221,753,5.273,819,4.326,820,4.581,826,5.787,829,5.787,1342,4.888,1353,5.787,1961,3.208,2149,4.581,2150,5.405,2153,4.326,2160,4.888,2161,4.419,2185,4.888,2847,4.888,2891,5.273,2898,5.273,4024,6.828,4029,6.828,4045,6.828,4154,4.326,4155,5.787,4156,6.568,4157,6.568,4158,5.787,4159,6.568,4160,6.568]],["title/index.html",[18,0.342,2031,2.169,3559,2.921]],["body/index.html",[3,0.156,43,0.008,75,0.008,80,0.006,84,0.006,90,2.172,102,2.77,126,2.219,129,0.475,195,1.493,196,0.551,212,1.146,258,2.505,299,2.857,308,1.081,333,2.632,380,3.589,434,2.428,446,3.735,591,5.65,601,5.275,636,2.872,660,2.872,891,3.462,960,3.462,1257,3.956,1301,4.944,1302,3.735,1378,4.553,2355,5.69,2603,5.393,3428,7.002,3560,4.553,3561,6.246,3562,6.246,3563,6.813,3575,6.246,3577,6.246,3578,7.137,3616,4.997,3636,4.997,3638,6.813,3653,4.997,3666,7.347,3667,7.137,3671,6.246,3676,4.997,3685,6.246,3687,4.997,3705,6.246,3750,6.246,3948,4.997,3958,4.997,3986,4.997,4161,7.089,4162,7.089,4163,7.089,4164,5.672,4165,5.672,4166,5.672,4167,6.246,4168,5.672,4169,5.672,4170,5.672,4171,7.089,4172,7.089,4173,7.089,4174,7.732,4175,5.672,4176,5.672,4177,7.732,4178,5.672,4179,5.672,4180,7.089,4181,5.672,4182,5.672,4183,5.672,4184,5.672,4185,5.672,4186,5.672,4187,5.672,4188,5.672,4189,5.672,4190,5.672,4191,8.1,4192,5.672,4193,5.672,4194,5.672,4195,7.089,4196,5.672,4197,5.672,4198,7.089,4199,5.672,4200,7.089,4201,7.089,4202,5.672,4203,5.672,4204,5.672,4205,5.672,4206,5.672,4207,5.672,4208,5.672,4209,5.672,4210,5.672,4211,5.672,4212,5.672,4213,5.672,4214,5.672,4215,5.672]],["title/license.html",[2031,2.169,3559,2.921,4216,3.206]],["body/license.html",[43,0.008,75,0.008,80,0.007,84,0.007,263,2.657,424,1.644,591,4.466,799,5.139,804,6.547,813,1.604,896,4.003,960,3.728,1257,4.466,1645,5.641,1858,4.217,1861,4.217,2289,4.003,2466,4.765,3693,6.725,3847,6.725,3912,5.641,3929,5.641,3966,5.641,4106,5.641,4167,7.907,4216,5.641,4217,6.402,4218,8.155,4219,6.402,4220,6.402,4221,7.633,4222,6.402,4223,6.402,4224,6.402,4225,6.402,4226,6.402,4227,7.633,4228,6.402,4229,6.402,4230,6.402,4231,6.402,4232,6.402,4233,6.402,4234,6.402,4235,6.402,4236,6.402,4237,6.402,4238,6.402,4239,7.633,4240,6.402,4241,6.402,4242,6.402,4243,6.402,4244,6.402,4245,7.633,4246,6.402,4247,6.402,4248,6.402,4249,6.402,4250,6.402,4251,6.402,4252,6.402,4253,6.402,4254,6.402,4255,6.402,4256,6.402,4257,6.402,4258,6.402,4259,6.402,4260,6.402,4261,6.402,4262,6.402,4263,6.402,4264,6.402,4265,6.402,4266,6.402,4267,6.402,4268,6.402]],["title/modules.html",[535,1.695]],["body/modules.html",[43,0.008,75,0.008,80,0.006,84,0.006,534,4.489,535,1.712,540,4.207,541,4.207,542,4.207,543,4.207,544,4.207,545,4.207,546,4.207,567,5.787,730,4.207,745,4.207,1079,4.207,1080,4.207,1091,4.207,1092,4.207,1127,6.888,1247,4.207,1334,4.207,1674,4.207,1719,3.772,1829,3.973,1830,4.207,1831,4.207,2390,4.207,2714,4.207,2719,4.207,2777,4.207,2778,4.207,2779,4.207,2780,4.207,3467,4.489,3589,8.154,3878,6.488,4269,9.268,4270,7.363]],["title/overview.html",[4271,5.262]],["body/overview.html",[2,2.24,43,0.01,75,0.006,80,0.004,84,0.004,195,1.035,197,1.737,198,0.984,242,3.836,424,1.009,435,1.854,474,1.827,476,2.178,478,2.234,480,2.17,482,2.234,485,2.234,487,2.234,490,2.234,492,2.234,495,2.234,499,2.234,501,2.178,502,2.234,503,2.234,505,2.234,508,2.178,509,2.234,510,2.178,513,2.178,515,2.234,517,2.234,519,2.234,521,2.234,523,2.234,525,2.234,527,2.234,530,2.234,534,6.57,535,1.115,536,1.616,537,3.462,538,3.462,539,3.462,540,5.779,541,5.701,542,5.99,543,5.34,544,6.195,545,5.606,546,6.113,547,1.745,548,1.115,730,5.34,731,3.462,732,3.462,733,3.462,745,4.488,1075,3.462,1076,3.462,1077,3.462,1078,3.462,1079,5.606,1080,5.34,1089,3.462,1090,3.462,1091,4.488,1092,5.145,1247,5.34,1248,3.462,1249,3.462,1250,3.462,1262,3.462,1263,3.462,1264,3.462,1334,5.34,1335,3.462,1336,3.462,1337,3.462,1383,3.462,1384,3.462,1385,3.462,1466,3.154,1674,5.34,1675,3.462,1676,3.462,1677,3.462,1719,5.026,1720,3.462,1721,3.462,1722,3.462,1825,3.462,1826,3.462,1827,3.462,1828,3.462,1829,5.183,1830,5.34,1831,5.489,2143,3.462,2144,3.462,2145,3.462,2390,5.779,2391,3.462,2392,3.462,2393,3.462,2419,3.462,2420,3.462,2421,3.462,2714,5.606,2715,3.462,2716,3.462,2717,3.462,2718,3.462,2719,5.34,2752,3.462,2753,3.462,2754,3.462,2773,3.462,2774,3.462,2775,3.462,2776,3.462,2777,5.34,2778,5.34,2779,5.34,2780,5.34,2840,3.462,2841,3.462,2842,3.462,3024,3.462,3025,3.462,3026,3.462,3106,3.462,3107,3.462,3109,3.462,3177,3.462,3178,3.462,3179,3.462,3320,3.462,3321,3.462,3322,3.462,3328,3.462,3329,3.462,3462,3.462,3463,3.462,3464,3.462,3467,5.489,3468,3.462,3469,3.462,3470,3.462,3534,3.462,3535,3.462,3536,3.462,3556,3.462,3557,3.462,3558,3.462,4271,3.462,4272,5.55,4273,3.929,4274,3.929]],["title/miscellaneous/typealiases.html",[4154,2.397,4275,5.255]],["body/miscellaneous/typealiases.html",[6,0.122,8,3.03,12,1.35,15,2.249,18,0.531,22,2.346,43,0.01,45,0.782,47,1.026,69,0.766,71,1.418,75,0.008,80,0.006,84,0.006,116,4.426,198,1.418,208,1.911,222,4.427,299,2.616,300,1.936,310,3.872,313,2.5,333,2.409,417,3.374,425,3.095,450,1.529,453,1.529,466,3.022,572,5.929,602,4.543,603,6.824,612,2.5,619,4.938,623,6.237,629,5.268,641,6.237,679,2.349,758,3.127,761,2.582,765,3.374,773,3.458,777,3.412,792,3.458,894,3.539,895,3.584,942,4.938,949,4.662,954,4.22,1015,3.575,1051,3.539,1052,3.539,1053,4.037,1054,3.948,1055,3.948,1056,3.727,1058,3.539,1060,4.752,1061,4.426,1062,5.388,1065,3.539,1066,3.539,1069,5.388,1070,3.948,1071,3.948,1072,4.225,1084,3.948,1467,4.212,1489,4.987,1490,6.237,1491,6.237,1492,4.987,1493,6.237,1494,4.987,1495,6.237,1496,4.987,1497,4.987,1498,4.987,1499,4.543,1923,4.212,1924,4.543,1925,5.683,1927,3.727,1935,4.662,1969,4.212,2233,3.227,3028,4.212,3029,5.683,3143,4.212,3144,5.268,4154,3.727,4276,5.66,4277,8.333,4278,7.489,4279,6.806,4280,5.66,4281,5.66,4282,5.66,4283,6.237,4284,5.66]],["title/miscellaneous/variables.html",[4154,2.397,4285,4.63]],["body/miscellaneous/variables.html",[1,1.957,6,0.117,14,1.957,18,0.322,42,0.798,43,0.01,44,1.267,45,0.739,47,1.191,70,2.26,71,1.262,75,0.005,77,3.555,80,0.006,84,0.005,85,1.627,86,1.654,88,1.342,90,1.543,91,1.233,92,1.957,117,2.046,128,1.566,132,1.424,133,0.196,141,1.054,165,1.957,189,2.26,204,5.43,213,0.839,226,2.871,245,1.233,246,1.382,256,0.798,297,0.904,301,2.754,303,5.182,304,1.738,326,0.999,350,5.691,382,1.761,387,1.914,390,2.09,405,1.233,409,1.532,414,1.025,429,2.145,450,1.511,453,1.511,511,1.171,514,0.927,576,3.747,655,1.877,656,2.394,657,2.26,658,3.916,671,2.554,672,3.747,673,3.401,679,2.09,748,3.747,750,1.957,754,1.877,758,2.224,777,2.634,875,1.804,965,1.424,969,1.233,1052,2.146,1056,2.26,1111,2.554,1112,2.394,1113,2.755,1114,4.042,1115,2.204,1118,2.554,1126,6.774,1130,2.26,1131,2.755,1132,3.512,1133,3.024,1134,7.992,1135,3.024,1136,3.024,1137,3.024,1138,4.436,1139,3.024,1140,3.024,1141,3.024,1142,3.024,1143,3.024,1144,3.024,1145,5.788,1146,5.788,1147,6.164,1148,6.164,1149,2.755,1150,3.024,1151,4.374,1152,3.024,1153,3.024,1154,3.024,1155,4.042,1156,4.042,1157,4.436,1158,3.024,1159,3.024,1160,3.024,1161,3.024,1162,6.164,1163,3.024,1164,4.436,1165,2.554,1166,3.024,1167,3.024,1168,3.024,1169,3.024,1170,3.024,1171,3.024,1172,3.024,1173,3.024,1174,3.024,1175,3.024,1176,3.024,1177,5.788,1178,4.436,1179,3.024,1180,3.024,1181,3.024,1182,3.024,1183,4.436,1184,3.024,1185,3.024,1186,2.755,1187,3.024,1188,3.024,1189,3.024,1190,3.024,1191,3.024,1192,4.436,1193,4.042,1194,2.755,1195,3.024,1196,2.755,1197,3.024,1198,3.024,1199,3.024,1200,3.024,1201,3.024,1202,3.024,1203,3.024,1204,5.788,1205,3.024,1206,3.024,1207,5.788,1208,2.755,1209,3.024,1210,2.394,1211,3.024,1212,3.024,1213,5.254,1214,3.024,1215,4.436,1216,3.024,1217,3.024,1218,3.024,1219,3.024,1266,3.148,1267,3.729,1342,2.554,1345,3.148,1351,4.042,1352,2.997,1400,2.26,1467,2.554,1500,3.024,1501,4.042,1502,3.024,1503,3.024,1854,2.26,1865,2.146,1868,2.394,1869,3.316,1870,3.316,1871,2.394,1872,2.394,1927,2.26,1934,1.957,1942,2.146,1960,1.619,1966,2.046,1968,2.046,1974,3.002,2495,2.554,2783,2.26,2786,2.26,2790,2.394,2795,2.394,2796,3.747,2798,3.747,2994,2.394,2995,3.747,3114,2.755,3124,3.024,3125,4.042,3147,2.26,3184,5.274,3214,3.024,3262,4.042,3266,4.042,3267,3.024,3268,3.024,3269,4.042,3335,2.755,3368,3.024,4154,2.26,4158,4.436,4278,3.024,4279,3.024,4283,3.024,4285,3.024,4286,3.432,4287,3.432,4288,3.432,4289,5.964,4290,3.432,4291,3.432,4292,5.035,4293,3.432]]],"invertedIndex":[["",{"_index":43,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":429,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["0.063rem",{"_index":3317,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["0.075rem",{"_index":3552,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["0.1.0",{"_index":3985,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":4153,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":4095,"title":{},"body":{"dependencies.html":{}}}],["0.1rem",{"_index":1319,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{}}}],["0.1s",{"_index":3533,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["0.2.0",{"_index":3980,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":4113,"title":{},"body":{"dependencies.html":{}}}],["0.25rem",{"_index":1367,"title":{},"body":{"components/HeaderComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["0.25s",{"_index":3105,"title":{},"body":{"components/StageNavComponent.html":{}}}],["0.2rem",{"_index":452,"title":{},"body":{"components/AppComponent.html":{}}}],["0.2s",{"_index":3553,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["0.313rem",{"_index":3318,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["0.375rem",{"_index":1811,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["0.3rem",{"_index":1318,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["0.3s",{"_index":3532,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["0.4s",{"_index":3531,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["0.5",{"_index":376,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["0.5.0",{"_index":3968,"title":{},"body":{"changelog.html":{}}}],["0.5rem",{"_index":428,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["0.5s",{"_index":422,"title":{},"body":{"components/AppComponent.html":{}}}],["0.6.0",{"_index":3948,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0.625rem",{"_index":2838,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["0.6s",{"_index":438,"title":{},"body":{"components/AppComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{}}}],["0.75rem",{"_index":727,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RightSidebarComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{}}}],["0.9rem",{"_index":1821,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["0/1",{"_index":4004,"title":{},"body":{"coverage.html":{}}}],["0/15",{"_index":4003,"title":{},"body":{"coverage.html":{}}}],["0/16",{"_index":3995,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":3999,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":4022,"title":{},"body":{"coverage.html":{}}}],["0/5",{"_index":3998,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":4023,"title":{},"body":{"coverage.html":{}}}],["01",{"_index":3600,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":3835,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":3790,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":3627,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":3765,"title":{},"body":{"changelog.html":{}}}],["05rem",{"_index":3418,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["06",{"_index":3566,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":3599,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":3930,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":3591,"title":{},"body":{"changelog.html":{}}}],["0rem",{"_index":419,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{}}}],["1",{"_index":188,"title":{"components/ContentComponent-1.html":{},"interfaces/SlicesConfig-1.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["1.0",{"_index":375,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["1.0.0",{"_index":3918,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":4092,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":4099,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":4149,"title":{},"body":{"dependencies.html":{}}}],["1.0625rem",{"_index":3413,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["1.1.0",{"_index":3899,"title":{},"body":{"changelog.html":{}}}],["1.125rem",{"_index":3555,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["1.16.0",{"_index":4129,"title":{},"body":{"dependencies.html":{}}}],["1.1875rem",{"_index":2768,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["1.19.0",{"_index":4094,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":3864,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":4102,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":4131,"title":{},"body":{"dependencies.html":{}}}],["1.25rem",{"_index":2836,"title":{},"body":{"components/RotationSliderComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["1.2rem",{"_index":443,"title":{},"body":{"components/AppComponent.html":{}}}],["1.3.5",{"_index":3834,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":3815,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":4116,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":3789,"title":{},"body":{"changelog.html":{}}}],["1.5rem",{"_index":461,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["1.6.0",{"_index":3774,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":3764,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":4103,"title":{},"body":{"dependencies.html":{}}}],["1.9375rem",{"_index":2767,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["1/1",{"_index":4007,"title":{},"body":{"coverage.html":{}}}],["1/2",{"_index":4028,"title":{},"body":{"coverage.html":{}}}],["1/3",{"_index":4019,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":673,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["10.0.0",{"_index":4111,"title":{},"body":{"dependencies.html":{}}}],["10.5rem",{"_index":1321,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["10/12",{"_index":4006,"title":{},"body":{"coverage.html":{}}}],["100",{"_index":405,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["1000",{"_index":902,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["10x",{"_index":3910,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":3817,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":4132,"title":{},"body":{"dependencies.html":{}}}],["11/18",{"_index":4038,"title":{},"body":{"coverage.html":{}}}],["118",{"_index":2967,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["12",{"_index":3636,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":4134,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":4058,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":4062,"title":{},"body":{"dependencies.html":{}}}],["12/12",{"_index":4048,"title":{},"body":{"coverage.html":{}}}],["12/22",{"_index":3997,"title":{},"body":{"coverage.html":{}}}],["13",{"_index":3708,"title":{},"body":{"changelog.html":{}}}],["13/13",{"_index":4042,"title":{},"body":{"coverage.html":{}}}],["13/16",{"_index":4031,"title":{},"body":{"coverage.html":{}}}],["14",{"_index":3628,"title":{},"body":{"changelog.html":{}}}],["14/17",{"_index":4026,"title":{},"body":{"coverage.html":{}}}],["14rem",{"_index":463,"title":{},"body":{"components/AppComponent.html":{}}}],["15",{"_index":3567,"title":{},"body":{"changelog.html":{}}}],["15.126.1",{"_index":4057,"title":{},"body":{"dependencies.html":{}}}],["15/15",{"_index":4053,"title":{},"body":{"coverage.html":{}}}],["15rem",{"_index":426,"title":{},"body":{"components/AppComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["16",{"_index":3749,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":4105,"title":{},"body":{"dependencies.html":{}}}],["16.5rem",{"_index":3103,"title":{},"body":{"components/StageNavComponent.html":{}}}],["16/17",{"_index":4040,"title":{},"body":{"coverage.html":{}}}],["17",{"_index":3615,"title":{},"body":{"changelog.html":{}}}],["17/17",{"_index":4032,"title":{},"body":{"coverage.html":{}}}],["18/18",{"_index":4014,"title":{},"body":{"coverage.html":{}}}],["180",{"_index":2989,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["18rem",{"_index":3528,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["1px",{"_index":1365,"title":{},"body":{"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["1rem",{"_index":410,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["1s",{"_index":966,"title":{},"body":{"components/ContentComponent.html":{}}}],["2",{"_index":435,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"overview.html":{}}}],["2.0.0",{"_index":3748,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":4108,"title":{},"body":{"dependencies.html":{}}}],["2.0625rem",{"_index":3412,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["2.06rem",{"_index":3554,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["2.1.0",{"_index":3723,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":3717,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.25rem",{"_index":1246,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewButtonComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["2.3.0",{"_index":3713,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":3707,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":3700,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":3684,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.5rem",{"_index":1322,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/StageNavComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["2.6.7",{"_index":4135,"title":{},"body":{"dependencies.html":{}}}],["2.688rem",{"_index":460,"title":{},"body":{"components/AppComponent.html":{}}}],["2.75rem",{"_index":2832,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["2.8.5",{"_index":4101,"title":{},"body":{"dependencies.html":{}}}],["2.9rem",{"_index":456,"title":{},"body":{"components/AppComponent.html":{}}}],["2.awsapprunner.com",{"_index":4188,"title":{},"body":{"index.html":{}}}],["2/2",{"_index":4047,"title":{},"body":{"coverage.html":{}}}],["20",{"_index":1763,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["200",{"_index":2969,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["2019",{"_index":3929,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":3866,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":3672,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":3580,"title":{},"body":{"changelog.html":{}}}],["2023",{"_index":3565,"title":{},"body":{"changelog.html":{}}}],["21",{"_index":3766,"title":{},"body":{"changelog.html":{}}}],["210",{"_index":2968,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["21rem",{"_index":1824,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["22",{"_index":3920,"title":{},"body":{"changelog.html":{}}}],["24",{"_index":3969,"title":{},"body":{"changelog.html":{}}}],["24px",{"_index":1820,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["24px.svg",{"_index":1213,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["25",{"_index":2966,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["25.5rem",{"_index":415,"title":{},"body":{"components/AppComponent.html":{}}}],["250",{"_index":2742,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["255",{"_index":2869,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["25rem",{"_index":1379,"title":{},"body":{"components/HeaderComponent.html":{}}}],["25s",{"_index":3414,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["26",{"_index":3791,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":3820,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":3592,"title":{},"body":{"changelog.html":{}}}],["27rem",{"_index":1823,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["29",{"_index":4272,"title":{},"body":{"overview.html":{}}}],["29/29",{"_index":4052,"title":{},"body":{"coverage.html":{}}}],["2]).rotatey(toradians(0",{"_index":2864,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["2px",{"_index":723,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["2rem",{"_index":1368,"title":{},"body":{"components/HeaderComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["3",{"_index":2697,"title":{},"body":{"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["3).every(entry",{"_index":2699,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["3.0.0",{"_index":3668,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":4075,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":3641,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":3635,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":3626,"title":{},"body":{"changelog.html":{}}}],["3.25rem",{"_index":3314,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["3.3.0",{"_index":3614,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":3598,"title":{},"body":{"changelog.html":{}}}],["3.5.0",{"_index":3590,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":4080,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":4082,"title":{},"body":{"dependencies.html":{}}}],["3.5rem",{"_index":3104,"title":{},"body":{"components/StageNavComponent.html":{}}}],["3.6",{"_index":4195,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":3579,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.625rem",{"_index":2766,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["3.7.0",{"_index":3564,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":4086,"title":{},"body":{"dependencies.html":{}}}],["3.7.3",{"_index":4087,"title":{},"body":{"dependencies.html":{}}}],["3.75rem",{"_index":2760,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["3/3",{"_index":4001,"title":{},"body":{"coverage.html":{}}}],["3/7",{"_index":4017,"title":{},"body":{"coverage.html":{}}}],["30",{"_index":1716,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"changelog.html":{}}}],["3000",{"_index":365,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["30rem",{"_index":3460,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["31",{"_index":3900,"title":{},"body":{"changelog.html":{}}}],["32",{"_index":4274,"title":{},"body":{"overview.html":{}}}],["32rem",{"_index":2770,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["33",{"_index":4018,"title":{},"body":{"coverage.html":{}}}],["33.33",{"_index":724,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["34/38",{"_index":4013,"title":{},"body":{"coverage.html":{}}}],["3d",{"_index":895,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["3px",{"_index":1814,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["3rem",{"_index":442,"title":{},"body":{"components/AppComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["4",{"_index":3881,"title":{},"body":{"changelog.html":{}}}],["4.0",{"_index":4172,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":4085,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":4107,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":4126,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":4097,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":4118,"title":{},"body":{"dependencies.html":{}}}],["4/4",{"_index":4000,"title":{},"body":{"coverage.html":{}}}],["4/6",{"_index":4036,"title":{},"body":{"coverage.html":{}}}],["4/7",{"_index":4021,"title":{},"body":{"coverage.html":{}}}],["4/8",{"_index":4027,"title":{},"body":{"coverage.html":{}}}],["40",{"_index":901,"title":{},"body":{"components/ContentComponent.html":{}}}],["400",{"_index":1822,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["42",{"_index":4016,"title":{},"body":{"coverage.html":{}}}],["42/44",{"_index":4046,"title":{},"body":{"coverage.html":{}}}],["46rem",{"_index":3456,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["47rem",{"_index":2388,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["4px",{"_index":2387,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["4rem",{"_index":968,"title":{},"body":{"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{}}}],["4th",{"_index":3582,"title":{},"body":{"changelog.html":{}}}],["5",{"_index":3267,"title":{},"body":{"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["5.0.0",{"_index":4121,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":4125,"title":{},"body":{"dependencies.html":{}}}],["5.5rem",{"_index":970,"title":{},"body":{"components/ContentComponent.html":{}}}],["5.688rem",{"_index":420,"title":{},"body":{"components/AppComponent.html":{}}}],["5/5",{"_index":4010,"title":{},"body":{"coverage.html":{}}}],["50",{"_index":1381,"title":{},"body":{"components/HeaderComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/VideoModalLauncherComponent.html":{},"coverage.html":{}}}],["500",{"_index":646,"title":{},"body":{"components/AppWebComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["54",{"_index":3996,"title":{},"body":{"coverage.html":{}}}],["55rem",{"_index":977,"title":{},"body":{"components/ContentComponent.html":{}}}],["57",{"_index":4020,"title":{},"body":{"coverage.html":{}}}],["58",{"_index":4008,"title":{},"body":{"coverage.html":{}}}],["5rem",{"_index":975,"title":{},"body":{"components/ContentComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["5s",{"_index":1050,"title":{},"body":{"components/ContentComponent-1.html":{},"components/VideoModalComponent.html":{}}}],["5th",{"_index":3571,"title":{},"body":{"changelog.html":{}}}],["6.0.1",{"_index":4124,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":4137,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":4083,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":4146,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":4143,"title":{},"body":{"dependencies.html":{}}}],["6/6",{"_index":4002,"title":{},"body":{"coverage.html":{}}}],["6/7",{"_index":4011,"title":{},"body":{"coverage.html":{}}}],["600",{"_index":719,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{}}}],["60rem",{"_index":2708,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["61",{"_index":4037,"title":{},"body":{"coverage.html":{}}}],["65vh",{"_index":3442,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["66",{"_index":4035,"title":{},"body":{"coverage.html":{}}}],["675rem",{"_index":3417,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["6s",{"_index":722,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/ReviewButtonComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["7/12",{"_index":4009,"title":{},"body":{"coverage.html":{}}}],["7/14",{"_index":4015,"title":{},"body":{"coverage.html":{}}}],["7/7",{"_index":4041,"title":{},"body":{"coverage.html":{}}}],["7/9",{"_index":4034,"title":{},"body":{"coverage.html":{}}}],["77",{"_index":4033,"title":{},"body":{"coverage.html":{}}}],["8",{"_index":3769,"title":{},"body":{"changelog.html":{}}}],["8.3.2",{"_index":4151,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":4079,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":4068,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":4071,"title":{},"body":{"dependencies.html":{}}}],["8/8",{"_index":4044,"title":{},"body":{"coverage.html":{}}}],["8/9",{"_index":4050,"title":{},"body":{"coverage.html":{}}}],["81",{"_index":4030,"title":{},"body":{"coverage.html":{}}}],["82",{"_index":4025,"title":{},"body":{"coverage.html":{}}}],["83",{"_index":4005,"title":{},"body":{"coverage.html":{}}}],["85",{"_index":3979,"title":{},"body":{"changelog.html":{},"coverage.html":{}}}],["88",{"_index":4049,"title":{},"body":{"coverage.html":{}}}],["89",{"_index":4012,"title":{},"body":{"coverage.html":{}}}],["9",{"_index":4273,"title":{},"body":{"overview.html":{}}}],["9/10",{"_index":4051,"title":{},"body":{"coverage.html":{}}}],["9/9",{"_index":4043,"title":{},"body":{"coverage.html":{}}}],["90",{"_index":1973,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{}}}],["94",{"_index":4039,"title":{},"body":{"coverage.html":{}}}],["95",{"_index":3631,"title":{},"body":{"changelog.html":{},"coverage.html":{}}}],["9e9e9e",{"_index":1320,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["9e9e9e5e",{"_index":3319,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["9th",{"_index":3800,"title":{},"body":{"changelog.html":{}}}],["_blocksize",{"_index":2976,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["_error",{"_index":1442,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["_expanded",{"_index":1539,"title":{},"body":{"classes/InitializationState.html":{}}}],["_index",{"_index":3166,"title":{},"body":{"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["_latesttags",{"_index":21,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["_lighting",{"_index":2866,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["_measuredmargin",{"_index":1570,"title":{},"body":{"classes/InitializationState.html":{}}}],["_measuredwidth",{"_index":1564,"title":{},"body":{"classes/InitializationState.html":{}}}],["_msg",{"_index":780,"title":{},"body":{"components/ContainerComponent.html":{}}}],["_name",{"_index":2112,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["_opened",{"_index":1535,"title":{},"body":{"classes/InitializationState.html":{}}}],["_position",{"_index":1531,"title":{},"body":{"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["_rotation",{"_index":2977,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["aabb",{"_index":2891,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/functions.html":{}}}],["ability",{"_index":3730,"title":{},"body":{"changelog.html":{}}}],["about.wrapper",{"_index":2746,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["above",{"_index":3966,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["absolute",{"_index":464,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["acc",{"_index":3308,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["acc.concat(nodes",{"_index":2940,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["acc[id",{"_index":3306,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["accepting",{"_index":1624,"title":{},"body":{"classes/InitializationState.html":{}}}],["accessible",{"_index":2191,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["accessing",{"_index":3080,"title":{},"body":{"components/StageNavComponent.html":{}}}],["accessors",{"_index":32,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["accordingly",{"_index":2065,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["accurate",{"_index":3788,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":2466,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"license.html":{}}}],["actions",{"_index":3856,"title":{},"body":{"changelog.html":{}}}],["active",{"_index":2268,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ThemingService.html":{}}}],["actual_component",{"_index":532,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["add",{"_index":3209,"title":{},"body":{"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["addclass",{"_index":3385,"title":{},"body":{"injectables/ThemingService.html":{}}}],["added",{"_index":140,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"changelog.html":{}}}],["added.add(id",{"_index":147,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["added.add(iri",{"_index":153,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["added.has(iri",{"_index":152,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["addeventlistener('beforeunload",{"_index":2325,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["adding",{"_index":3186,"title":{},"body":{"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["additional",{"_index":3967,"title":{},"body":{"changelog.html":{}}}],["addregistration",{"_index":2431,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["addregistration(registration",{"_index":2444,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["addressed",{"_index":3894,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":59,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["addsvgicon",{"_index":1446,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["addtag",{"_index":26,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["addtag(tag",{"_index":51,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["addtagraw",{"_index":27,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["addtagraw(tag",{"_index":57,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["addtags",{"_index":28,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{}}}],["addtags(tags",{"_index":62,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["adjusting",{"_index":3891,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":3814,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":3751,"title":{},"body":{"changelog.html":{}}}],["afterviewinit",{"_index":755,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["again",{"_index":3872,"title":{},"body":{"changelog.html":{}}}],["against",{"_index":1613,"title":{},"body":{"classes/InitializationState.html":{}}}],["age",{"_index":3696,"title":{},"body":{"changelog.html":{}}}],["ala",{"_index":3711,"title":{},"body":{"changelog.html":{}}}],["alert",{"_index":2305,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["aliases",{"_index":4276,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["align",{"_index":444,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["alignment",{"_index":2600,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["all_organs",{"_index":1942,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["all_organs.find((o",{"_index":2034,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["all_organs.find(info",{"_index":2236,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["allow",{"_index":2761,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["allowed",{"_index":1717,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/ReviewButtonComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["allows",{"_index":1643,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["along",{"_index":1774,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["alpha",{"_index":3959,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":3942,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":3938,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":3928,"title":{},"body":{"changelog.html":{}}}],["already",{"_index":800,"title":{},"body":{"components/ContainerComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["alt",{"_index":4176,"title":{},"body":{"index.html":{}}}],["always",{"_index":824,"title":{},"body":{"components/ContainerComponent.html":{},"components/HeaderComponent.html":{}}}],["analytics",{"_index":670,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"dependencies.html":{}}}],["analyticsmodule",{"_index":1098,"title":{},"body":{"modules/CoreModule.html":{}}}],["analyticsmodule.forroot",{"_index":1102,"title":{},"body":{"modules/CoreModule.html":{}}}],["anatomical",{"_index":1808,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["anatomicalstructures",{"_index":1929,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["anatomicalstructuretagstate",{"_index":1,"title":{"injectables/AnatomicalStructureTagState.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["anatomicalstructuretagstatemodel",{"_index":131,"title":{"interfaces/AnatomicalStructureTagStateModel.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"coverage.html":{}}}],["and/or",{"_index":4237,"title":{},"body":{"license.html":{}}}],["angle",{"_index":3031,"title":{},"body":{"components/StageNavComponent.html":{}}}],["angular",{"_index":102,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":1021,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"dependencies.html":{}}}],["angular/cdk",{"_index":4059,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk/coercion",{"_index":1488,"title":{},"body":{"classes/InitializationState.html":{}}}],["angular/cdk/overlay",{"_index":3366,"title":{},"body":{"injectables/ThemingService.html":{}}}],["angular/common",{"_index":737,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DetailsLabelModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"components/VideoModalComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"dependencies.html":{}}}],["angular/common/http",{"_index":1095,"title":{},"body":{"modules/CoreModule.html":{}}}],["angular/compiler",{"_index":4060,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":104,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["angular/elements",{"_index":558,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/forms",{"_index":2133,"title":{},"body":{"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/UserName.html":{},"dependencies.html":{}}}],["angular/material",{"_index":4061,"title":{},"body":{"dependencies.html":{}}}],["angular/material/button",{"_index":1681,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"modules/RegistrationContentModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/TagSearchModule.html":{}}}],["angular/material/checkbox",{"_index":3325,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["angular/material/chips",{"_index":3182,"title":{},"body":{"modules/TagListModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["angular/material/core",{"_index":741,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/VisibilityMenuModule.html":{}}}],["angular/material/dialog",{"_index":2373,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalModule.html":{}}}],["angular/material/divider",{"_index":1836,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{},"modules/StageNavModule.html":{}}}],["angular/material/expansion",{"_index":1834,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{}}}],["angular/material/form",{"_index":560,"title":{},"body":{"modules/AppModule.html":{},"modules/TagSearchModule.html":{}}}],["angular/material/icon",{"_index":563,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DrawerModule.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/LeftSidebarModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["angular/material/input",{"_index":739,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/NameInputModule.html":{},"modules/SlicesInputModule.html":{},"modules/TagSearchModule.html":{}}}],["angular/material/radio",{"_index":3112,"title":{},"body":{"modules/StageNavModule.html":{}}}],["angular/material/select",{"_index":1340,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"modules/StageNavModule.html":{}}}],["angular/material/slide",{"_index":1725,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/NameInputModule.html":{}}}],["angular/material/slider",{"_index":2846,"title":{},"body":{"modules/RotationSliderModule.html":{}}}],["angular/material/snack",{"_index":323,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["angular/material/tooltip",{"_index":743,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/HeaderModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/ReviewButtonModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{}}}],["angular/platform",{"_index":566,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/RightSidebarModule.html":{},"dependencies.html":{}}}],["angular/router",{"_index":4064,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":3472,"title":{},"body":{"modules/VideoModalModule.html":{},"dependencies.html":{}}}],["animate",{"_index":1018,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["animate('.5s",{"_index":1516,"title":{},"body":{"classes/InitializationState.html":{}}}],["animate('1s",{"_index":1026,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["animate(0",{"_index":1515,"title":{},"body":{"classes/InitializationState.html":{}}}],["animated",{"_index":2707,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["animated')[0]?.classlist.add('modal",{"_index":2739,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["animation",{"_index":1500,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["animations",{"_index":980,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{}}}],["animationsenabled",{"_index":981,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["anterior",{"_index":949,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["api",{"_index":3428,"title":{},"body":{"components/VideoModalComponent.html":{},"changelog.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":4185,"title":{},"body":{"index.html":{}}}],["app",{"_index":204,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"components/ReviewButtonComponent.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"miscellaneous/variables.html":{}}}],["app.component",{"_index":574,"title":{},"body":{"modules/AppModule.html":{}}}],["app.component.html",{"_index":217,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["app.component.scss",{"_index":215,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["app_bootstrap_listener",{"_index":3331,"title":{},"body":{"modules/ThemingModule.html":{}}}],["appcomponent",{"_index":197,"title":{"components/AppComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["appear",{"_index":3680,"title":{},"body":{"changelog.html":{}}}],["appearance",{"_index":592,"title":{},"body":{"modules/AppModule.html":{},"components/BlockSizeInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["appears",{"_index":2398,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["appelement",{"_index":597,"title":{},"body":{"modules/AppModule.html":{}}}],["applicable",{"_index":1939,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["application",{"_index":2679,"title":{},"body":{"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["application/json",{"_index":2584,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["applied",{"_index":3841,"title":{},"body":{"changelog.html":{}}}],["applyspatialplacement",{"_index":4024,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["applyspatialplacement(new",{"_index":2206,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["applyspatialplacement(tx",{"_index":2160,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"miscellaneous/functions.html":{}}}],["applythemeclass",{"_index":3338,"title":{},"body":{"injectables/ThemingService.html":{}}}],["applythemeclass(cls",{"_index":3345,"title":{},"body":{"injectables/ThemingService.html":{}}}],["appmodule",{"_index":534,"title":{"modules/AppModule.html":{}},"body":{"modules/AppModule.html":{},"modules.html":{},"overview.html":{}}}],["appname",{"_index":1105,"title":{},"body":{"modules/CoreModule.html":{}}}],["appoptions",{"_index":336,"title":{"interfaces/AppOptions.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{},"coverage.html":{}}}],["appropriate",{"_index":3655,"title":{},"body":{"changelog.html":{}}}],["appwebcomponent",{"_index":474,"title":{"components/AppWebComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["april",{"_index":3799,"title":{},"body":{"changelog.html":{}}}],["area",{"_index":920,"title":{},"body":{"components/ContentComponent.html":{}}}],["arg",{"_index":1436,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["args",{"_index":1437,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["args.filter(value",{"_index":1454,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["argument",{"_index":1451,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["arguments",{"_index":250,"title":{},"body":{"components/AppComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{}}}],["arising",{"_index":4266,"title":{},"body":{"license.html":{}}}],["around",{"_index":2748,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["array",{"_index":1225,"title":{},"body":{"components/DetailsLabelComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagListComponent.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["array.isarray(entity.placement",{"_index":2954,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["array.isarray(reg.placement",{"_index":2533,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["arraytostring",{"_index":1232,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["arraytostring(details",{"_index":1245,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["arraytostring(inputarray",{"_index":1235,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["arrow",{"_index":1329,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["arrow_drop_down",{"_index":398,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{}}}],["arrow_drop_up",{"_index":397,"title":{},"body":{"components/AppComponent.html":{}}}],["arrow_left",{"_index":3404,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["arrow_right",{"_index":3403,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["as.id",{"_index":192,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["as.name",{"_index":193,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["as.name.tolowercase().indexof(text.tolowercase",{"_index":187,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["asct+b",{"_index":3673,"title":{},"body":{"changelog.html":{}}}],["aslookup",{"_index":2087,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["aslookup[iri",{"_index":2092,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["assertions",{"_index":1971,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["assets/icons/ico",{"_index":1218,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/opacity",{"_index":1212,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/organs/ico",{"_index":1134,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/visibility",{"_index":1215,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/reference",{"_index":2196,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["assigned",{"_index":158,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"interfaces/TagSearchResult.html":{}}}],["assignment/selection",{"_index":3776,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":1858,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{},"license.html":{}}}],["astags",{"_index":2756,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["async",{"_index":1472,"title":{},"body":{"classes/InitializationState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["async)?.x",{"_index":957,"title":{},"body":{"components/ContentComponent.html":{}}}],["async)?.y",{"_index":958,"title":{},"body":{"components/ContentComponent.html":{}}}],["async)?.z",{"_index":959,"title":{},"body":{"components/ContentComponent.html":{}}}],["asynchronously",{"_index":3430,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["atlas",{"_index":3562,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["attach",{"_index":3394,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["attempts",{"_index":3702,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":4258,"title":{},"body":{"license.html":{}}}],["auto",{"_index":964,"title":{},"body":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/RegistrationContentComponent.html":{},"components/TagListComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["autofocus",{"_index":2418,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["automatic",{"_index":3884,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":3842,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":3878,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["avoid",{"_index":3739,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":1478,"title":{},"body":{"classes/InitializationState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["awaited",{"_index":1468,"title":{},"body":{"classes/InitializationState.html":{}}}],["award",{"_index":4214,"title":{},"body":{"index.html":{}}}],["axis",{"_index":2811,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["b",{"_index":951,"title":{},"body":{"components/ContentComponent.html":{}}}],["back",{"_index":1364,"title":{},"body":{"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["backbutton",{"_index":1373,"title":{},"body":{"components/HeaderComponent.html":{}}}],["backend",{"_index":3689,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":446,"title":{},"body":{"components/AppComponent.html":{},"components/HeaderComponent.html":{},"components/ReviewModalComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"index.html":{}}}],["backing",{"_index":1427,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["bar",{"_index":324,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{}}}],["base",{"_index":3946,"title":{},"body":{"changelog.html":{}}}],["based",{"_index":1008,"title":{},"body":{"components/ContentComponent-1.html":{},"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["basehref",{"_index":608,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["basewebcomponent",{"_index":604,"title":{},"body":{"components/AppWebComponent.html":{}}}],["basic",{"_index":3750,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["bbox",{"_index":1558,"title":{},"body":{"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["bbox.left",{"_index":1561,"title":{},"body":{"classes/InitializationState.html":{}}}],["bbox.overlaps(getnodebbox(model",{"_index":2948,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["bbox.right",{"_index":1560,"title":{},"body":{"classes/InitializationState.html":{}}}],["before",{"_index":1124,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"modules/StoreModule.html":{},"changelog.html":{}}}],["beforeunloadevent",{"_index":2320,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["beforeunloadlistener",{"_index":2319,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["begin",{"_index":2680,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["being",{"_index":2727,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/StoreModule.html":{},"changelog.html":{}}}],["belong",{"_index":1275,"title":{},"body":{"interfaces/ExtractionSet.html":{}}}],["belonging",{"_index":1277,"title":{},"body":{"interfaces/ExtractionSet.html":{}}}],["beta",{"_index":3671,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":3724,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":283,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["bind",{"_index":72,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{},"dependencies.html":{}}}],["binds",{"_index":3357,"title":{},"body":{"injectables/ThemingService.html":{}}}],["black",{"_index":412,"title":{},"body":{"components/AppComponent.html":{}}}],["bladder",{"_index":1133,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bladder.svg",{"_index":1135,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["blob([json",{"_index":2583,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["block",{"_index":256,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["block.x",{"_index":2052,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["block_size_input",{"_index":697,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["blocks",{"_index":1759,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["blocksize",{"_index":655,"title":{"interfaces/BlockSize.html":{}},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["blocksize.y",{"_index":2984,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["blocksize.z].map(n",{"_index":2985,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["blocksizechange",{"_index":682,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["blocksizeinputcomponent",{"_index":476,"title":{"components/BlockSizeInputComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["blocksizeinputmodule",{"_index":730,"title":{"modules/BlockSizeInputModule.html":{}},"body":{"modules/BlockSizeInputModule.html":{},"modules/RightSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["blood",{"_index":1136,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["blood.svg",{"_index":1137,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bmi",{"_index":3697,"title":{},"body":{"changelog.html":{}}}],["board",{"_index":3940,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":635,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"dependencies.html":{}}}],["bodyuimodule",{"_index":1082,"title":{},"body":{"modules/ContentModule.html":{}}}],["bold",{"_index":1818,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["bone",{"_index":1138,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["boolean",{"_index":337,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["booleaninput",{"_index":1486,"title":{},"body":{"classes/InitializationState.html":{}}}],["bootstrap",{"_index":3354,"title":{},"body":{"injectables/ThemingService.html":{}}}],["border",{"_index":448,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["both",{"_index":3716,"title":{},"body":{"changelog.html":{}}}],["bottom",{"_index":449,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["bounds",{"_index":866,"title":{},"body":{"components/ContentComponent.html":{}}}],["box",{"_index":1316,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["bp",{"_index":643,"title":{},"body":{"components/AppWebComponent.html":{}}}],["bp.boolean",{"_index":652,"title":{},"body":{"components/AppWebComponent.html":{}}}],["bp.function",{"_index":654,"title":{},"body":{"components/AppWebComponent.html":{}}}],["bp.json",{"_index":653,"title":{},"body":{"components/AppWebComponent.html":{}}}],["brain",{"_index":1141,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["brain.svg",{"_index":1142,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["break",{"_index":384,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{}}}],["breaking",{"_index":3760,"title":{},"body":{"changelog.html":{}}}],["breaks",{"_index":166,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["breast.svg",{"_index":1172,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bringing",{"_index":3770,"title":{},"body":{"changelog.html":{}}}],["bronchus",{"_index":1167,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bronchus.svg",{"_index":1169,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["browse",{"_index":4269,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":567,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{},"dependencies.html":{},"modules.html":{}}}],["browser/animations",{"_index":569,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules/RightSidebarModule.html":{}}}],["browseranimationsmodule",{"_index":568,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules/RightSidebarModule.html":{}}}],["browserify",{"_index":4144,"title":{},"body":{"dependencies.html":{}}}],["browsermodule",{"_index":565,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{}}}],["browsing",{"_index":3988,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":3624,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":4168,"title":{},"body":{"index.html":{}}}],["buildjsonld",{"_index":2432,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["buildjsonld(page",{"_index":2446,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["buildmetadata",{"_index":2433,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["buildmetadata(page",{"_index":2450,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["builds",{"_index":2452,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"changelog.html":{}}}],["builtin_parsers",{"_index":637,"title":{},"body":{"components/AppWebComponent.html":{}}}],["button",{"_index":431,"title":{},"body":{"components/AppComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/JsonFileReaderComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{}}}],["button'},{'name",{"_index":507,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["button.component",{"_index":1270,"title":{},"body":{"modules/DrawerModule.html":{},"modules/ReviewButtonModule.html":{}}}],["button.component.html",{"_index":2662,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.scss",{"_index":2661,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.ts",{"_index":2657,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["button.component.ts:100",{"_index":2685,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:19",{"_index":2684,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.ts:22",{"_index":3393,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:24",{"_index":2674,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:27",{"_index":3402,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:29",{"_index":2673,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:35",{"_index":2670,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:38",{"_index":3399,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:40",{"_index":3398,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:42",{"_index":2675,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.ts:47",{"_index":2682,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:54",{"_index":2668,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:65",{"_index":3395,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:68",{"_index":2688,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:75",{"_index":3396,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:78",{"_index":2692,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:85",{"_index":2690,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.ts:97",{"_index":3397,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.module",{"_index":2793,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["button.module.ts",{"_index":2720,"title":{},"body":{"modules/ReviewButtonModule.html":{}}}],["button/review",{"_index":2656,"title":{},"body":{"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"modules/RightSidebarModule.html":{},"coverage.html":{}}}],["button/toggle",{"_index":1269,"title":{},"body":{"modules/DrawerModule.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["buttons",{"_index":933,"title":{},"body":{"components/ContentComponent.html":{}}}],["c",{"_index":4219,"title":{},"body":{"license.html":{}}}],["cache",{"_index":4090,"title":{},"body":{"dependencies.html":{}}}],["cacheable",{"_index":4148,"title":{},"body":{"dependencies.html":{}}}],["cached",{"_index":1562,"title":{},"body":{"classes/InitializationState.html":{}}}],["calc",{"_index":3416,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["calc(100",{"_index":459,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["calc(50",{"_index":1520,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["calculated",{"_index":1554,"title":{},"body":{"classes/InitializationState.html":{},"components/TagSearchComponent.html":{}}}],["call",{"_index":1452,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["callback",{"_index":961,"title":{},"body":{"components/ContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"changelog.html":{}}}],["callbackset",{"_index":343,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["called",{"_index":1484,"title":{},"body":{"classes/InitializationState.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["calling",{"_index":3067,"title":{},"body":{"components/StageNavComponent.html":{}}}],["calls",{"_index":3215,"title":{},"body":{"components/TagSearchComponent.html":{},"changelog.html":{}}}],["cancel",{"_index":2405,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/TagListComponent.html":{}}}],["cancelregistration",{"_index":609,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"changelog.html":{}}}],["cancelregistrationcallback",{"_index":619,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"miscellaneous/typealiases.html":{}}}],["candidate",{"_index":3922,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":2893,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"dependencies.html":{}}}],["capturing",{"_index":1772,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["card",{"_index":3753,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":3756,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":380,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{},"index.html":{}}}],["cases",{"_index":3898,"title":{},"body":{"changelog.html":{}}}],["catch",{"_index":1441,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["catcherror",{"_index":2159,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/TagSearchComponent.html":{}}}],["ccf",{"_index":212,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StoreModule.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["ccf's",{"_index":3860,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":3568,"title":{},"body":{"changelog.html":{}}}],["ccf_annotations",{"_index":2614,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["ccfdrawer",{"_index":1508,"title":{},"body":{"classes/InitializationState.html":{}}}],["ccfdrawercontainer",{"_index":757,"title":{},"body":{"components/ContainerComponent.html":{}}}],["cdk",{"_index":1330,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["cdr",{"_index":247,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["cdr.markforcheck",{"_index":357,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["cell",{"_index":3643,"title":{},"body":{"changelog.html":{}}}],["center",{"_index":434,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"index.html":{}}}],["centimeter",{"_index":2165,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["certain",{"_index":268,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["cff",{"_index":1049,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["change",{"_index":258,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/RegistrationModalComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{},"index.html":{}}}],["changed",{"_index":843,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["changedetection",{"_index":209,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["changedetectionstrategy",{"_index":321,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["changedetectionstrategy.onpush",{"_index":210,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["changedetectorref",{"_index":248,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["changelog",{"_index":3560,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changerotation",{"_index":2823,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["changerotation(newrotation",{"_index":2813,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["changes",{"_index":182,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["changing",{"_index":3050,"title":{},"body":{"components/StageNavComponent.html":{}}}],["channel",{"_index":761,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/ToggleButtonComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["channels",{"_index":1894,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["charge",{"_index":4225,"title":{},"body":{"license.html":{}}}],["check",{"_index":2015,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["checked",{"_index":3235,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["checkedresults",{"_index":3189,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["checkedresults[tag.id",{"_index":3283,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["checknamevalid",{"_index":2346,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["checknamevalid(event",{"_index":2353,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["checks",{"_index":1007,"title":{},"body":{"components/ContentComponent-1.html":{},"components/RegistrationContentComponent.html":{}}}],["chevron_left",{"_index":1363,"title":{},"body":{"components/HeaderComponent.html":{}}}],["child",{"_index":726,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/NameInputComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{}}}],["chip",{"_index":3176,"title":{},"body":{"components/TagListComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["choose",{"_index":3879,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":3858,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":4261,"title":{},"body":{"license.html":{}}}],["class",{"_index":133,"title":{"classes/InitializationState.html":{},"classes/MessageChannel.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["class.ccf",{"_index":3390,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["class.cff",{"_index":988,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["classend",{"_index":1526,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["classes",{"_index":1466,"title":{},"body":{"classes/InitializationState.html":{},"classes/MessageChannel.html":{},"overview.html":{}}}],["classname",{"_index":762,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["clean",{"_index":1902,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["cleans",{"_index":277,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["cleanup",{"_index":3670,"title":{},"body":{"changelog.html":{}}}],["clear",{"_index":2743,"title":{},"body":{"components/ReviewModalComponent.html":{},"components/VideoModalComponent.html":{}}}],["clearhaschanges",{"_index":2247,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["clears",{"_index":3496,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["click",{"_index":1653,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["clicked",{"_index":261,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ReviewButtonComponent.html":{},"interfaces/User.html":{}}}],["clicking",{"_index":3758,"title":{},"body":{"changelog.html":{}}}],["clicks",{"_index":3063,"title":{},"body":{"components/StageNavComponent.html":{}}}],["client",{"_index":4191,"title":{},"body":{"index.html":{}}}],["close",{"_index":430,"title":{},"body":{"components/AppComponent.html":{},"classes/InitializationState.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{}}}],["closed",{"_index":310,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RightSidebarComponent.html":{},"interfaces/User.html":{},"miscellaneous/typealiases.html":{}}}],["closedialog",{"_index":2347,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["closeexpanded",{"_index":1589,"title":{},"body":{"classes/InitializationState.html":{}}}],["closeopendone",{"_index":1596,"title":{},"body":{"classes/InitializationState.html":{}}}],["closeresults",{"_index":3196,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["closeresults(event",{"_index":3225,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["closes",{"_index":1577,"title":{},"body":{"classes/InitializationState.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{}}}],["closesearch",{"_index":3190,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["closesearch.nativeelement.contains(event.target",{"_index":3297,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["cls",{"_index":3347,"title":{},"body":{"injectables/ThemingService.html":{}}}],["clsname",{"_index":678,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["cluster_appmodule",{"_index":537,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_declarations",{"_index":538,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_imports",{"_index":539,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_blocksizeinputmodule",{"_index":731,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"overview.html":{}}}],["cluster_blocksizeinputmodule_declarations",{"_index":732,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"overview.html":{}}}],["cluster_blocksizeinputmodule_exports",{"_index":733,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"overview.html":{}}}],["cluster_contentmodule",{"_index":1075,"title":{},"body":{"modules/ContentModule.html":{},"overview.html":{}}}],["cluster_contentmodule_declarations",{"_index":1078,"title":{},"body":{"modules/ContentModule.html":{},"overview.html":{}}}],["cluster_contentmodule_exports",{"_index":1076,"title":{},"body":{"modules/ContentModule.html":{},"overview.html":{}}}],["cluster_contentmodule_imports",{"_index":1077,"title":{},"body":{"modules/ContentModule.html":{},"overview.html":{}}}],["cluster_coremodule",{"_index":1089,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_coremodule_imports",{"_index":1090,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_detailslabelmodule",{"_index":1248,"title":{},"body":{"modules/DetailsLabelModule.html":{},"overview.html":{}}}],["cluster_detailslabelmodule_declarations",{"_index":1249,"title":{},"body":{"modules/DetailsLabelModule.html":{},"overview.html":{}}}],["cluster_detailslabelmodule_exports",{"_index":1250,"title":{},"body":{"modules/DetailsLabelModule.html":{},"overview.html":{}}}],["cluster_drawermodule",{"_index":1262,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_drawermodule_declarations",{"_index":1264,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_drawermodule_exports",{"_index":1263,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_extractionsetdropdownmodule",{"_index":1335,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"overview.html":{}}}],["cluster_extractionsetdropdownmodule_declarations",{"_index":1337,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"overview.html":{}}}],["cluster_extractionsetdropdownmodule_exports",{"_index":1336,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"overview.html":{}}}],["cluster_headermodule",{"_index":1383,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_headermodule_declarations",{"_index":1384,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_headermodule_exports",{"_index":1385,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_jsonfilereadermodule",{"_index":1675,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"overview.html":{}}}],["cluster_jsonfilereadermodule_declarations",{"_index":1677,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"overview.html":{}}}],["cluster_jsonfilereadermodule_exports",{"_index":1676,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"overview.html":{}}}],["cluster_labeledslidetogglemodule",{"_index":1720,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"overview.html":{}}}],["cluster_labeledslidetogglemodule_declarations",{"_index":1721,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"overview.html":{}}}],["cluster_labeledslidetogglemodule_exports",{"_index":1722,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"overview.html":{}}}],["cluster_leftsidebarmodule",{"_index":1825,"title":{},"body":{"modules/LeftSidebarModule.html":{},"overview.html":{}}}],["cluster_leftsidebarmodule_declarations",{"_index":1826,"title":{},"body":{"modules/LeftSidebarModule.html":{},"overview.html":{}}}],["cluster_leftsidebarmodule_exports",{"_index":1827,"title":{},"body":{"modules/LeftSidebarModule.html":{},"overview.html":{}}}],["cluster_leftsidebarmodule_imports",{"_index":1828,"title":{},"body":{"modules/LeftSidebarModule.html":{},"overview.html":{}}}],["cluster_nameinputmodule",{"_index":2143,"title":{},"body":{"modules/NameInputModule.html":{},"overview.html":{}}}],["cluster_nameinputmodule_declarations",{"_index":2144,"title":{},"body":{"modules/NameInputModule.html":{},"overview.html":{}}}],["cluster_nameinputmodule_exports",{"_index":2145,"title":{},"body":{"modules/NameInputModule.html":{},"overview.html":{}}}],["cluster_registrationcontentmodule",{"_index":2391,"title":{},"body":{"modules/RegistrationContentModule.html":{},"overview.html":{}}}],["cluster_registrationcontentmodule_declarations",{"_index":2392,"title":{},"body":{"modules/RegistrationContentModule.html":{},"overview.html":{}}}],["cluster_registrationcontentmodule_exports",{"_index":2393,"title":{},"body":{"modules/RegistrationContentModule.html":{},"overview.html":{}}}],["cluster_registrationcontentmodule_imports",{"_index":2394,"title":{},"body":{"modules/RegistrationContentModule.html":{}}}],["cluster_registrationmodalmodule",{"_index":2419,"title":{},"body":{"modules/RegistrationModalModule.html":{},"overview.html":{}}}],["cluster_registrationmodalmodule_declarations",{"_index":2420,"title":{},"body":{"modules/RegistrationModalModule.html":{},"overview.html":{}}}],["cluster_registrationmodalmodule_exports",{"_index":2421,"title":{},"body":{"modules/RegistrationModalModule.html":{},"overview.html":{}}}],["cluster_registrationmodalmodule_imports",{"_index":2422,"title":{},"body":{"modules/RegistrationModalModule.html":{}}}],["cluster_reviewbuttonmodule",{"_index":2715,"title":{},"body":{"modules/ReviewButtonModule.html":{},"overview.html":{}}}],["cluster_reviewbuttonmodule_declarations",{"_index":2716,"title":{},"body":{"modules/ReviewButtonModule.html":{},"overview.html":{}}}],["cluster_reviewbuttonmodule_exports",{"_index":2717,"title":{},"body":{"modules/ReviewButtonModule.html":{},"overview.html":{}}}],["cluster_reviewbuttonmodule_imports",{"_index":2718,"title":{},"body":{"modules/ReviewButtonModule.html":{},"overview.html":{}}}],["cluster_reviewmodalmodule",{"_index":2752,"title":{},"body":{"modules/ReviewModalModule.html":{},"overview.html":{}}}],["cluster_reviewmodalmodule_declarations",{"_index":2753,"title":{},"body":{"modules/ReviewModalModule.html":{},"overview.html":{}}}],["cluster_reviewmodalmodule_exports",{"_index":2754,"title":{},"body":{"modules/ReviewModalModule.html":{},"overview.html":{}}}],["cluster_rightsidebarmodule",{"_index":2773,"title":{},"body":{"modules/RightSidebarModule.html":{},"overview.html":{}}}],["cluster_rightsidebarmodule_declarations",{"_index":2774,"title":{},"body":{"modules/RightSidebarModule.html":{},"overview.html":{}}}],["cluster_rightsidebarmodule_exports",{"_index":2775,"title":{},"body":{"modules/RightSidebarModule.html":{},"overview.html":{}}}],["cluster_rightsidebarmodule_imports",{"_index":2776,"title":{},"body":{"modules/RightSidebarModule.html":{},"overview.html":{}}}],["cluster_rotationslidermodule",{"_index":2840,"title":{},"body":{"modules/RotationSliderModule.html":{},"overview.html":{}}}],["cluster_rotationslidermodule_declarations",{"_index":2841,"title":{},"body":{"modules/RotationSliderModule.html":{},"overview.html":{}}}],["cluster_rotationslidermodule_exports",{"_index":2842,"title":{},"body":{"modules/RotationSliderModule.html":{},"overview.html":{}}}],["cluster_slicesinputmodule",{"_index":3024,"title":{},"body":{"modules/SlicesInputModule.html":{},"overview.html":{}}}],["cluster_slicesinputmodule_declarations",{"_index":3026,"title":{},"body":{"modules/SlicesInputModule.html":{},"overview.html":{}}}],["cluster_slicesinputmodule_exports",{"_index":3025,"title":{},"body":{"modules/SlicesInputModule.html":{},"overview.html":{}}}],["cluster_stagenavmodule",{"_index":3106,"title":{},"body":{"modules/StageNavModule.html":{},"overview.html":{}}}],["cluster_stagenavmodule_declarations",{"_index":3109,"title":{},"body":{"modules/StageNavModule.html":{},"overview.html":{}}}],["cluster_stagenavmodule_exports",{"_index":3107,"title":{},"body":{"modules/StageNavModule.html":{},"overview.html":{}}}],["cluster_stagenavmodule_imports",{"_index":3108,"title":{},"body":{"modules/StageNavModule.html":{}}}],["cluster_taglistmodule",{"_index":3177,"title":{},"body":{"modules/TagListModule.html":{},"overview.html":{}}}],["cluster_taglistmodule_declarations",{"_index":3178,"title":{},"body":{"modules/TagListModule.html":{},"overview.html":{}}}],["cluster_taglistmodule_exports",{"_index":3179,"title":{},"body":{"modules/TagListModule.html":{},"overview.html":{}}}],["cluster_tagsearchmodule",{"_index":3320,"title":{},"body":{"modules/TagSearchModule.html":{},"overview.html":{}}}],["cluster_tagsearchmodule_declarations",{"_index":3321,"title":{},"body":{"modules/TagSearchModule.html":{},"overview.html":{}}}],["cluster_tagsearchmodule_exports",{"_index":3322,"title":{},"body":{"modules/TagSearchModule.html":{},"overview.html":{}}}],["cluster_themingmodule",{"_index":3328,"title":{},"body":{"modules/ThemingModule.html":{},"overview.html":{}}}],["cluster_themingmodule_providers",{"_index":3329,"title":{},"body":{"modules/ThemingModule.html":{},"overview.html":{}}}],["cluster_videomodallaunchermodule",{"_index":3462,"title":{},"body":{"modules/VideoModalLauncherModule.html":{},"overview.html":{}}}],["cluster_videomodallaunchermodule_declarations",{"_index":3464,"title":{},"body":{"modules/VideoModalLauncherModule.html":{},"overview.html":{}}}],["cluster_videomodallaunchermodule_exports",{"_index":3463,"title":{},"body":{"modules/VideoModalLauncherModule.html":{},"overview.html":{}}}],["cluster_videomodalmodule",{"_index":3468,"title":{},"body":{"modules/VideoModalModule.html":{},"overview.html":{}}}],["cluster_videomodalmodule_declarations",{"_index":3469,"title":{},"body":{"modules/VideoModalModule.html":{},"overview.html":{}}}],["cluster_videomodalmodule_exports",{"_index":3470,"title":{},"body":{"modules/VideoModalModule.html":{},"overview.html":{}}}],["cluster_visibilitymenumodule",{"_index":3534,"title":{},"body":{"modules/VisibilityMenuModule.html":{},"overview.html":{}}}],["cluster_visibilitymenumodule_declarations",{"_index":3535,"title":{},"body":{"modules/VisibilityMenuModule.html":{},"overview.html":{}}}],["cluster_visibilitymenumodule_exports",{"_index":3536,"title":{},"body":{"modules/VisibilityMenuModule.html":{},"overview.html":{}}}],["cluster_visibilitytogglemodule",{"_index":3556,"title":{},"body":{"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["cluster_visibilitytogglemodule_declarations",{"_index":3558,"title":{},"body":{"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["cluster_visibilitytogglemodule_exports",{"_index":3557,"title":{},"body":{"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["coalescing",{"_index":2227,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["code",{"_index":3429,"title":{},"body":{"components/VideoModalComponent.html":{},"changelog.html":{}}}],["code.touppercase().endswith(lookup",{"_index":2230,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["codebase",{"_index":3869,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":3909,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":3953,"title":{},"body":{"changelog.html":{}}}],["coercebooleanproperty",{"_index":1487,"title":{},"body":{"classes/InitializationState.html":{}}}],["collaboration",{"_index":3867,"title":{},"body":{"changelog.html":{}}}],["collapse",{"_index":440,"title":{},"body":{"components/AppComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["collapsed",{"_index":1496,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["collapses",{"_index":1588,"title":{},"body":{"classes/InitializationState.html":{}}}],["collection",{"_index":13,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["collisions",{"_index":138,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["color",{"_index":411,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/ReviewModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["colorizing",{"_index":3915,"title":{},"body":{"changelog.html":{}}}],["column",{"_index":403,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["combination",{"_index":3880,"title":{},"body":{"changelog.html":{}}}],["combined",{"_index":1070,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["combinelatest",{"_index":112,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{}}}],["combinelatest([regs",{"_index":2521,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["combinelatest([this.entities",{"_index":135,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["combinelatest([this.model.anatomicalstructures",{"_index":2923,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.model.organiri",{"_index":2949,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.model.viewtype",{"_index":2971,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.page.state",{"_index":2508,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["combinelatest([this.page.user",{"_index":2409,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["combinelatest([this.referenceorgansimplenodes",{"_index":2941,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.rotation",{"_index":2918,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.theme",{"_index":354,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["come",{"_index":3137,"title":{},"body":{"modules/StoreModule.html":{},"changelog.html":{}}}],["coming",{"_index":3906,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":4096,"title":{},"body":{"dependencies.html":{}}}],["comma",{"_index":1243,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["commas",{"_index":1229,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["common",{"_index":3705,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["commonmodule",{"_index":736,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DetailsLabelModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["compatibility",{"_index":3134,"title":{},"body":{"modules/StoreModule.html":{}}}],["completed",{"_index":1604,"title":{},"body":{"classes/InitializationState.html":{}}}],["completes",{"_index":3255,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["completion",{"_index":1594,"title":{},"body":{"classes/InitializationState.html":{}}}],["complexity",{"_index":3783,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":3664,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":196,"title":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["component's",{"_index":878,"title":{},"body":{"components/ContentComponent.html":{}}}],["component.component",{"_index":573,"title":{},"body":{"modules/AppModule.html":{}}}],["component.component.ts",{"_index":603,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["component.component.ts:25",{"_index":618,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:26",{"_index":633,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:27",{"_index":634,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:28",{"_index":628,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:29",{"_index":622,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:30",{"_index":630,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:31",{"_index":620,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:32",{"_index":624,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:33",{"_index":631,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:34",{"_index":632,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:35",{"_index":625,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:36",{"_index":626,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:37",{"_index":627,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:39",{"_index":616,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component_template",{"_index":472,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["componentref",{"_index":3350,"title":{},"body":{"injectables/ThemingService.html":{}}}],["components",{"_index":198,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"overview.html":{},"miscellaneous/typealiases.html":{}}}],["computed",{"_index":105,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["computes",{"_index":3234,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["comunica/query",{"_index":4065,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":4098,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":4244,"title":{},"body":{"license.html":{}}}],["config",{"_index":750,"title":{},"body":{"modules/ConfigModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["config.cancelregistration",{"_index":2300,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["config.isolated",{"_index":1896,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["config.register",{"_index":2299,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["config.user",{"_index":2302,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["configmodule",{"_index":745,"title":{"modules/ConfigModule.html":{}},"body":{"modules/ConfigModule.html":{},"modules/CoreModule.html":{},"modules.html":{},"overview.html":{}}}],["configstore",{"_index":617,"title":{},"body":{"components/AppWebComponent.html":{}}}],["configuration",{"_index":1352,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["configurations",{"_index":3729,"title":{},"body":{"changelog.html":{}}}],["confirm('changes",{"_index":2306,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["confirmation",{"_index":3701,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":3735,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":1917,"title":{},"body":{"injectables/MessageService.html":{},"changelog.html":{}}}],["connect(source",{"_index":1905,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["connected",{"_index":794,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["connection",{"_index":4267,"title":{},"body":{"license.html":{}}}],["connects",{"_index":1904,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["consentservice",{"_index":238,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["consider",{"_index":3133,"title":{},"body":{"modules/StoreModule.html":{}}}],["consortium",{"_index":4220,"title":{},"body":{"license.html":{}}}],["const",{"_index":139,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"modules/StoreModule.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["constructor",{"_index":35,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["constructor(@inject(message_service_config",{"_index":1895,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["constructor(@optional",{"_index":1106,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ThemingService.html":{}}}],["constructor(config",{"_index":1918,"title":{},"body":{"injectables/MessageService.html":{}}}],["constructor(configstore",{"_index":615,"title":{},"body":{"components/AppWebComponent.html":{}}}],["constructor(defaulttheme",{"_index":3343,"title":{},"body":{"injectables/ThemingService.html":{}}}],["constructor(dialog",{"_index":2401,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["constructor(dialogref",{"_index":2723,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["constructor(drawer",{"_index":3391,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["constructor(el",{"_index":3207,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["constructor(ga",{"_index":706,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["constructor(globalconfig",{"_index":2255,"title":{},"body":{"injectables/PageState.html":{}}}],["constructor(globals",{"_index":2329,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["constructor(injector",{"_index":36,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"injectables/RegistrationState.html":{},"injectables/SceneState.html":{}}}],["constructor(messageservice",{"_index":770,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{}}}],["constructor(model",{"_index":237,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/RightSidebarComponent.html":{}}}],["constructor(page",{"_index":1358,"title":{},"body":{"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["constructor(private",{"_index":596,"title":{},"body":{"modules/AppModule.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["constructor(readonly",{"_index":1362,"title":{},"body":{"components/HeaderComponent.html":{}}}],["constructor(registry",{"_index":1456,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["constructor(renderer2",{"_index":3422,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["constructor(source",{"_index":1910,"title":{},"body":{"classes/MessageChannel.html":{}}}],["contain",{"_index":1059,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/HeaderComponent.html":{}}}],["contained",{"_index":1928,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["container",{"_index":313,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["container'},{'name",{"_index":479,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["container.component.html",{"_index":760,"title":{},"body":{"components/ContainerComponent.html":{}}}],["container.component.scss",{"_index":759,"title":{},"body":{"components/ContainerComponent.html":{}}}],["container/container.component",{"_index":1268,"title":{},"body":{"modules/DrawerModule.html":{}}}],["containercomponent",{"_index":478,"title":{"components/ContainerComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["containerpayload",{"_index":1062,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["containers",{"_index":842,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"changelog.html":{}}}],["containing",{"_index":660,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"index.html":{}}}],["contains",{"_index":686,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ExtractionSet.html":{},"classes/InitializationState.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["content",{"_index":416,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["content'},{'name",{"_index":481,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["content.component",{"_index":2396,"title":{},"body":{"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{}}}],["content.component.html",{"_index":865,"title":{},"body":{"components/ContentComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["content.component.scss",{"_index":864,"title":{},"body":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/RegistrationContentComponent.html":{}}}],["content.component.ts",{"_index":2339,"title":{},"body":{"components/RegistrationContentComponent.html":{},"coverage.html":{}}}],["content.component.ts:109",{"_index":2357,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:20",{"_index":2352,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:23",{"_index":2371,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:28",{"_index":2369,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:31",{"_index":2372,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:34",{"_index":2370,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:37",{"_index":2367,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:40",{"_index":2366,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:42",{"_index":2351,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:55",{"_index":2368,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:65",{"_index":2365,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:75",{"_index":2354,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:84",{"_index":2360,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:95",{"_index":2363,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.module",{"_index":2426,"title":{},"body":{"modules/RegistrationModalModule.html":{}}}],["content.module.ts",{"_index":2395,"title":{},"body":{"modules/RegistrationContentModule.html":{}}}],["content/content.component",{"_index":817,"title":{},"body":{"components/ContainerComponent.html":{},"modules/ContentModule.html":{},"modules/DrawerModule.html":{}}}],["content/registration",{"_index":2338,"title":{},"body":{"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"coverage.html":{}}}],["content1",{"_index":763,"title":{},"body":{"components/ContainerComponent.html":{}}}],["content2",{"_index":764,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren",{"_index":814,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren(contentcomponent",{"_index":796,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren(drawercomponent",{"_index":806,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentcomponent",{"_index":480,"title":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"components/DetailsLabelComponent.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["contentcontainerchanged",{"_index":1051,"title":{"interfaces/ContentContainerChanged.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["contentmodule",{"_index":540,"title":{"modules/ContentModule.html":{}},"body":{"modules/AppModule.html":{},"modules/ContentModule.html":{},"modules.html":{},"overview.html":{}}}],["context",{"_index":2602,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["context.jsonld",{"_index":2605,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["contract",{"_index":4264,"title":{},"body":{"license.html":{}}}],["control",{"_index":3830,"title":{},"body":{"changelog.html":{}}}],["controller",{"_index":3261,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["convention",{"_index":1074,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["converting",{"_index":1238,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["converts",{"_index":2448,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["coordinate",{"_index":4161,"title":{},"body":{"index.html":{}}}],["copies",{"_index":4239,"title":{},"body":{"license.html":{}}}],["copy",{"_index":4227,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":4218,"title":{},"body":{"license.html":{}}}],["cord",{"_index":1194,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["cord.svg",{"_index":1195,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["core",{"_index":1107,"title":{},"body":{"modules/CoreModule.html":{}}}],["core/core.module",{"_index":575,"title":{},"body":{"modules/AppModule.html":{}}}],["core/models/anatomical",{"_index":3168,"title":{},"body":{"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["core/models/extraction",{"_index":1304,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["core/models/meta",{"_index":2693,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["core/models/visibility",{"_index":1798,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["core/services/config/config",{"_index":329,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/User.html":{}}}],["core/services/theming/theming.service",{"_index":330,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["core/store/anatomical",{"_index":2759,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["core/store/model/model.state",{"_index":331,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/User.html":{}}}],["core/store/page/page.state",{"_index":332,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/User.html":{}}}],["core/store/registration/registration.state",{"_index":937,"title":{},"body":{"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["core/store/scene/scene.state",{"_index":938,"title":{},"body":{"components/ContentComponent.html":{}}}],["coremodule",{"_index":541,"title":{"modules/CoreModule.html":{}},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules.html":{},"overview.html":{}}}],["correct",{"_index":1377,"title":{},"body":{"components/HeaderComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["corresponding",{"_index":3243,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["cors",{"_index":4100,"title":{},"body":{"dependencies.html":{}}}],["count",{"_index":3254,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["counter",{"_index":1874,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["countmapping",{"_index":3191,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["coverage",{"_index":3936,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["createcustomelement",{"_index":557,"title":{},"body":{"modules/AppModule.html":{}}}],["createcustomelement(appwebcomponent",{"_index":598,"title":{},"body":{"modules/AppModule.html":{}}}],["created",{"_index":3837,"title":{},"body":{"changelog.html":{}}}],["createentitycollections",{"_index":100,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["creates",{"_index":40,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["createscenenodes",{"_index":2848,"title":{},"body":{"injectables/SceneState.html":{}}}],["createscenenodes(organiri",{"_index":2856,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["creating",{"_index":819,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/functions.html":{}}}],["creation",{"_index":2669,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["creation_date",{"_index":2613,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["creator",{"_index":2608,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["creator_first_name",{"_index":2609,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["creator_last_name",{"_index":2610,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["creator_orcid",{"_index":2611,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["credits",{"_index":4205,"title":{},"body":{"index.html":{}}}],["crosshairs",{"_index":889,"title":{},"body":{"components/ContentComponent.html":{}}}],["css",{"_index":934,"title":{},"body":{"components/ContentComponent.html":{},"dependencies.html":{}}}],["cube.svg",{"_index":1219,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["cuboid",{"_index":3935,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":3933,"title":{},"body":{"changelog.html":{}}}],["current",{"_index":1295,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["currentdate",{"_index":2441,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["currentidentifier",{"_index":2440,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["currently",{"_index":1303,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/ReviewButtonComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["currentorgan",{"_index":2340,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["currentsex",{"_index":2341,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["cursor",{"_index":436,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["customelements.define('ccf",{"_index":600,"title":{},"body":{"modules/AppModule.html":{}}}],["customizable",{"_index":3539,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["customized",{"_index":1644,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["cyberinfrastructure",{"_index":4207,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":3793,"title":{},"body":{"changelog.html":{}}}],["d",{"_index":392,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["damages",{"_index":4262,"title":{},"body":{"license.html":{}}}],["dark",{"_index":285,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["dark/light",{"_index":3731,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":359,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["data.alignment_operator_orcid",{"_index":2612,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.json",{"_index":2197,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.label",{"_index":2744,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["data.metadata",{"_index":2736,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["data.push",{"_index":2592,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.registrationcallbackset",{"_index":2737,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["data.sex",{"_index":2541,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.side",{"_index":2543,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.state",{"_index":1962,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{}}}],["data.state.ts",{"_index":2150,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["data.state.ts:100",{"_index":2334,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:110",{"_index":2336,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:135",{"_index":2332,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:155",{"_index":2331,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:75",{"_index":2330,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:87",{"_index":2335,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.ts",{"_index":1925,"title":{},"body":{"interfaces/MetaDataField.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["data.value",{"_index":2745,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["data/reference",{"_index":1961,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["dataaction",{"_index":53,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["database",{"_index":2158,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"changelog.html":{}}}],["datasets",{"_index":3802,"title":{},"body":{"changelog.html":{}}}],["datatype",{"_index":1699,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["date().toisostring().split('t')[0",{"_index":2525,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["db",{"_index":2085,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["db.anatomicalstructures[organiri",{"_index":2089,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["db.extractionsets[organiri",{"_index":2096,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["db.organirilookup[key",{"_index":2231,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["db.organspatialentities[organiri",{"_index":2103,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["db.placementpatches[place?.target",{"_index":2204,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["db.scenenodelookup[item.id",{"_index":2933,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["db.scenenodelookup[node['@id",{"_index":2993,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["db.simplescenenodelookup[item.id",{"_index":2934,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["db.simplescenenodelookup[node['@id",{"_index":2938,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["deal",{"_index":4228,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":4268,"title":{},"body":{"license.html":{}}}],["debouncetime",{"_index":1948,"title":{},"body":{"interfaces/ModelStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["debouncetime(100",{"_index":2023,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["debouncetime(400",{"_index":2926,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["debouncetime(500",{"_index":2411,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["debug",{"_index":913,"title":{},"body":{"components/ContentComponent.html":{}}}],["debugmode",{"_index":867,"title":{},"body":{"components/ContentComponent.html":{}}}],["december",{"_index":3873,"title":{},"body":{"changelog.html":{}}}],["decides",{"_index":2671,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["deck.gl/core",{"_index":4067,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":4069,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":4072,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":4073,"title":{},"body":{"dependencies.html":{}}}],["declarations",{"_index":550,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["declare",{"_index":1350,"title":{},"body":{"interfaces/GlobalConfig.html":{}}}],["decoration",{"_index":1371,"title":{},"body":{"components/HeaderComponent.html":{}}}],["decorator",{"_index":111,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{},"dependencies.html":{}}}],["decorators",{"_index":52,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["deep",{"_index":1315,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["deeply",{"_index":3691,"title":{},"body":{"changelog.html":{}}}],["def",{"_index":1411,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["def.html",{"_index":1409,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["def.url",{"_index":1420,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["default",{"_index":85,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["default_block_size",{"_index":672,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_icons",{"_index":1132,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_icons.find",{"_index":1417,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["default_rotation",{"_index":2798,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_search_limit",{"_index":3266,"title":{},"body":{"components/TagSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_search_throttle",{"_index":3269,"title":{},"body":{"components/TagSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_slices_config",{"_index":2995,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_theme",{"_index":576,"title":{},"body":{"modules/AppModule.html":{},"injectables/ThemingService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defaulticondefinition",{"_index":1111,"title":{"interfaces/DefaultIconDefinition.html":{}},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defaultposition",{"_index":2048,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["defaults",{"_index":132,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["defaulttheme",{"_index":3337,"title":{},"body":{"injectables/ThemingService.html":{}}}],["deferred",{"_index":1469,"title":{},"body":{"classes/InitializationState.html":{}}}],["define",{"_index":1255,"title":{},"body":{"interfaces/DocumentationContent.html":{}}}],["defined",{"_index":38,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["definition",{"_index":1116,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["definition.html",{"_index":1432,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["definition.url",{"_index":1431,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["degree",{"_index":2644,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["delay",{"_index":1949,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["delay(200",{"_index":2025,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["delay(5",{"_index":2032,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["delta",{"_index":373,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["demo",{"_index":3706,"title":{},"body":{"changelog.html":{}}}],["depend",{"_index":1407,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["dependencies",{"_index":536,"title":{"dependencies.html":{}},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"changelog.html":{},"dependencies.html":{},"overview.html":{}}}],["depending",{"_index":3763,"title":{},"body":{"changelog.html":{}}}],["deps",{"_index":752,"title":{},"body":{"modules/ConfigModule.html":{}}}],["depth",{"_index":663,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["descendants",{"_index":797,"title":{},"body":{"components/ContainerComponent.html":{}}}],["descrepancies",{"_index":3611,"title":{},"body":{"changelog.html":{}}}],["description",{"_index":11,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{}}}],["destroy",{"_index":3192,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["destroyed",{"_index":3256,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["destruction",{"_index":3239,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["detaches",{"_index":884,"title":{},"body":{"components/ContentComponent.html":{}}}],["details",{"_index":483,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["detailslabelcomponent",{"_index":482,"title":{"components/DetailsLabelComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["detailslabelmodule",{"_index":1247,"title":{"modules/DetailsLabelModule.html":{}},"body":{"modules/DetailsLabelModule.html":{},"modules/LeftSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["detailslabels",{"_index":1732,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["detection",{"_index":781,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/RegistrationModalComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["detector",{"_index":774,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["determines",{"_index":1300,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/TagSearchComponent.html":{}}}],["dev",{"_index":973,"title":{},"body":{"components/ContentComponent.html":{}}}],["developed",{"_index":4206,"title":{},"body":{"index.html":{}}}],["development",{"_index":2188,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["developmentmode",{"_index":3132,"title":{},"body":{"modules/StoreModule.html":{}}}],["developments",{"_index":3958,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":1260,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{}}}],["dialog's",{"_index":2726,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["dialogref",{"_index":2343,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["dialogref.afterclosed().subscribe",{"_index":2711,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["dialogref.disableclose",{"_index":2374,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["dialogue",{"_index":2686,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["different",{"_index":1625,"title":{},"body":{"classes/InitializationState.html":{},"changelog.html":{}}}],["digits",{"_index":3853,"title":{},"body":{"changelog.html":{}}}],["dimension",{"_index":688,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["dimension_units",{"_index":2626,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["dimensions",{"_index":662,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["dims",{"_index":945,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["dims.x",{"_index":2051,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["dims.y",{"_index":2053,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["dims.z",{"_index":2054,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["dims[0",{"_index":950,"title":{},"body":{"components/ContentComponent.html":{}}}],["dims[1",{"_index":952,"title":{},"body":{"components/ContentComponent.html":{}}}],["dims[2",{"_index":956,"title":{},"body":{"components/ContentComponent.html":{}}}],["dims[i",{"_index":2961,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["direct",{"_index":3976,"title":{},"body":{"changelog.html":{}}}],["direction",{"_index":402,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["directive",{"_index":470,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["directives",{"_index":531,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["directly",{"_index":3907,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":123,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["disabled",{"_index":1690,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"modules/StoreModule.html":{},"components/VisibilityToggleComponent.html":{}}}],["disablepositionchange",{"_index":218,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["disables",{"_index":255,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["disableslider",{"_index":1743,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["display",{"_index":400,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["displayed",{"_index":304,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["displayerrors",{"_index":2429,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{}}}],["displaying",{"_index":972,"title":{},"body":{"components/ContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["distinctuntilchanged",{"_index":1950,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["distinctuntilchanged((v1",{"_index":2000,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["distinctuntilkeychanged",{"_index":936,"title":{},"body":{"components/ContentComponent.html":{}}}],["distinctuntilkeychanged('x",{"_index":907,"title":{},"body":{"components/ContentComponent.html":{}}}],["distinctuntilkeychanged('y",{"_index":908,"title":{},"body":{"components/ContentComponent.html":{}}}],["distribute",{"_index":4235,"title":{},"body":{"license.html":{}}}],["div",{"_index":3551,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["divider",{"_index":1813,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{}}}],["dobootstrap",{"_index":555,"title":{},"body":{"modules/AppModule.html":{}}}],["doc",{"_index":3944,"title":{},"body":{"changelog.html":{}}}],["docs",{"_index":3623,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":3061,"title":{},"body":{"components/StageNavComponent.html":{},"components/VideoModalComponent.html":{},"dependencies.html":{}}}],["document.getelementsbyclassname('modal",{"_index":2738,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["document:click",{"_index":234,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{}}}],["document:click(target",{"_index":252,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{}}}],["document:keydown",{"_index":235,"title":{},"body":{"components/AppComponent.html":{}}}],["document:keydown(target",{"_index":264,"title":{},"body":{"components/AppComponent.html":{}}}],["documentation",{"_index":1257,"title":{},"body":{"interfaces/DocumentationContent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["documentationcontent",{"_index":1253,"title":{"interfaces/DocumentationContent.html":{}},"body":{"interfaces/DocumentationContent.html":{},"coverage.html":{}}}],["dom",{"_index":201,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["domsanitizer",{"_index":1395,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["don't",{"_index":1406,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["done",{"_index":3550,"title":{},"body":{"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["donor",{"_index":1807,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"changelog.html":{}}}],["donors",{"_index":3804,"title":{},"body":{"changelog.html":{}}}],["dot",{"_index":2771,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["dotenv",{"_index":4104,"title":{},"body":{"dependencies.html":{}}}],["down",{"_index":3053,"title":{},"body":{"components/StageNavComponent.html":{}}}],["download",{"_index":962,"title":{},"body":{"components/ContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"changelog.html":{}}}],["downloads",{"_index":2461,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["draft",{"_index":2986,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["draftplacement",{"_index":2978,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["draggable",{"_index":2802,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["drawer",{"_index":300,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["drawer'},{'name",{"_index":486,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["drawer.close",{"_index":3410,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.closeexpanded",{"_index":3409,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.component.html",{"_index":1509,"title":{},"body":{"classes/InitializationState.html":{}}}],["drawer.component.scss",{"_index":1510,"title":{},"body":{"classes/InitializationState.html":{}}}],["drawer.open",{"_index":3411,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.position",{"_index":852,"title":{},"body":{"components/ContainerComponent.html":{}}}],["drawer/drawer.component",{"_index":818,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"modules/DrawerModule.html":{},"components/ToggleButtonComponent.html":{}}}],["drawercomponent",{"_index":485,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["drawercomponent).position",{"_index":1036,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["drawercontainerschanged",{"_index":1058,"title":{"interfaces/DrawerContainersChanged.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["drawerinitialized",{"_index":1065,"title":{"interfaces/DrawerInitialized.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["drawermodule",{"_index":542,"title":{"modules/DrawerModule.html":{}},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules.html":{},"overview.html":{}}}],["drawerpayload",{"_index":1069,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["drawers",{"_index":765,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{}}}],["drawers.filter(drawer",{"_index":851,"title":{},"body":{"components/ContainerComponent.html":{}}}],["drawertoggled",{"_index":1066,"title":{"interfaces/DrawerToggled.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["drop",{"_index":3052,"title":{},"body":{"components/StageNavComponent.html":{}}}],["dropdown",{"_index":1282,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/StageNavComponent.html":{}}}],["dropdown'},{'name",{"_index":489,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["dropdown.component",{"_index":1341,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{}}}],["dropdown.component.html",{"_index":1285,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.scss",{"_index":1284,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts",{"_index":1281,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"coverage.html":{}}}],["dropdown.component.ts:18",{"_index":1296,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:23",{"_index":1293,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:28",{"_index":1291,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:33",{"_index":1290,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:47",{"_index":1298,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:58",{"_index":1299,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.module",{"_index":1840,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["dropdown.module.ts",{"_index":1338,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{}}}],["dropdown/extraction",{"_index":1280,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["dropdowncontainer",{"_index":3102,"title":{},"body":{"components/StageNavComponent.html":{}}}],["duration",{"_index":362,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent-1.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{}}}],["during",{"_index":3353,"title":{},"body":{"injectables/ThemingService.html":{},"changelog.html":{}}}],["dynamic",{"_index":4063,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":3605,"title":{},"body":{"changelog.html":{}}}],["e",{"_index":385,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{}}}],["each",{"_index":1256,"title":{},"body":{"interfaces/DocumentationContent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["ease",{"_index":423,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["easier",{"_index":3649,"title":{},"body":{"changelog.html":{}}}],["easily",{"_index":2818,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["east",{"_index":4187,"title":{},"body":{"index.html":{}}}],["ececec",{"_index":455,"title":{},"body":{"components/AppComponent.html":{}}}],["editregistration",{"_index":610,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/RegistrationState.html":{}}}],["editregistration(reg",{"_index":2453,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["effect",{"_index":3892,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":3823,"title":{},"body":{"changelog.html":{}}}],["el",{"_index":243,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{}}}],["element",{"_index":260,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["element's",{"_index":1652,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["element.getboundingclientrect",{"_index":1559,"title":{},"body":{"classes/InitializationState.html":{}}}],["element.nativeelement",{"_index":3382,"title":{},"body":{"injectables/ThemingService.html":{}}}],["elementref",{"_index":244,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{}}}],["ellipsis",{"_index":3530,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["embedded",{"_index":3727,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":3722,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":3720,"title":{},"body":{"changelog.html":{}}}],["emit",{"_index":2820,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["emits",{"_index":1294,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["emitted",{"_index":680,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["emitter",{"_index":681,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["emitting",{"_index":1540,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["empty",{"_index":128,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["empty_result",{"_index":3262,"title":{},"body":{"components/TagSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["enabled",{"_index":998,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["enables",{"_index":2799,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["end",{"_index":828,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["end?.expanded",{"_index":1047,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["end?.opened",{"_index":1046,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["enddrawers",{"_index":853,"title":{},"body":{"components/ContainerComponent.html":{}}}],["enddrawers.length",{"_index":856,"title":{},"body":{"components/ContainerComponent.html":{}}}],["enddrawers[0",{"_index":859,"title":{},"body":{"components/ContainerComponent.html":{}}}],["endexpanded",{"_index":1045,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["endings",{"_index":2585,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["entered",{"_index":2356,"title":{},"body":{"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["entererrormode",{"_index":2666,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["entering",{"_index":674,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["entire",{"_index":3124,"title":{},"body":{"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["entity",{"_index":2088,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entity.comment",{"_index":2094,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entity.label",{"_index":2093,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entity.placement",{"_index":2956,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entity.placement[0",{"_index":2955,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entity.representation_of",{"_index":2090,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entity.sex?.tolowercase",{"_index":2241,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["entity.side",{"_index":2238,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["entity.side.tolowercase",{"_index":2239,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["entity.side?.tolowercase",{"_index":2242,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["entity.y_dimension",{"_index":2964,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entity.z_dimension].map(n",{"_index":2965,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entity['@id",{"_index":2091,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entitycollections",{"_index":101,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["entry",{"_index":2122,"title":{},"body":{"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{}}}],["entry.value",{"_index":2700,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["entrycomponents",{"_index":551,"title":{},"body":{"modules/AppModule.html":{}}}],["environment",{"_index":639,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["environment.customization",{"_index":650,"title":{},"body":{"components/AppWebComponent.html":{}}}],["environment.dboptions",{"_index":648,"title":{},"body":{"components/AppWebComponent.html":{}}}],["environment.googleanalyticstoken",{"_index":1104,"title":{},"body":{"modules/CoreModule.html":{}}}],["environment.production",{"_index":930,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["environment.skipunsavedchangesconfirmation",{"_index":2294,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["environments/environment",{"_index":640,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["error",{"_index":822,"title":{},"body":{"components/ContainerComponent.html":{},"components/ReviewButtonComponent.html":{},"injectables/ThemingService.html":{}}}],["error('the",{"_index":1108,"title":{},"body":{"modules/CoreModule.html":{}}}],["error(`multiple",{"_index":831,"title":{},"body":{"components/ContainerComponent.html":{}}}],["errors",{"_index":820,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"miscellaneous/functions.html":{}}}],["es",{"_index":2894,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"dependencies.html":{}}}],["eslint",{"_index":122,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["eslint/consistent",{"_index":1970,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["eslint/member",{"_index":1963,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["eslint/naming",{"_index":1073,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["eslint/no",{"_index":127,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["eslint/prefer",{"_index":2225,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{}}}],["etc",{"_index":1068,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"changelog.html":{}}}],["eui",{"_index":3638,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":3661,"title":{},"body":{"changelog.html":{}}}],["event",{"_index":263,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"license.html":{}}}],["event'])@hostlistener('window:focusin",{"_index":3227,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["event.firstname.length",{"_index":2378,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["event.lastname.length",{"_index":2379,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["event.preventdefault",{"_index":2321,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["event.returnvalue",{"_index":2322,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["event.target",{"_index":251,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/JsonFileReaderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{}}}],["eventemitter",{"_index":664,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["eventemitter(true",{"_index":1542,"title":{},"body":{"classes/InitializationState.html":{}}}],["events",{"_index":2389,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["except",{"_index":1881,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"modules/StoreModule.html":{}}}],["executes",{"_index":3230,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["executesearch",{"_index":3197,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["executesearch(text",{"_index":3228,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["executionstrategy",{"_index":3135,"title":{},"body":{"modules/StoreModule.html":{}}}],["expand",{"_index":439,"title":{},"body":{"components/AppComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["expand/collapse",{"_index":1598,"title":{},"body":{"classes/InitializationState.html":{}}}],["expand_collapse_params_default",{"_index":1501,"title":{},"body":{"classes/InitializationState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["expandcollapsedone",{"_index":1600,"title":{},"body":{"classes/InitializationState.html":{}}}],["expanded",{"_index":425,"title":{},"body":{"components/AppComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["expanded(value",{"_index":1537,"title":{},"body":{"classes/InitializationState.html":{}}}],["expanded/collapsed",{"_index":1492,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedchange",{"_index":1543,"title":{},"body":{"classes/InitializationState.html":{}}}],["expandedstate",{"_index":1493,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedstate2",{"_index":1495,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedstateobj",{"_index":1549,"title":{},"body":{"classes/InitializationState.html":{}}}],["expands",{"_index":1585,"title":{},"body":{"classes/InitializationState.html":{}}}],["expansion",{"_index":1816,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["expected",{"_index":2735,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["experimentation",{"_index":2765,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["explicit",{"_index":2463,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["exploration",{"_index":4170,"title":{},"body":{"index.html":{}}}],["export",{"_index":130,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{}}}],["exportas",{"_index":756,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["exports",{"_index":735,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["express",{"_index":4106,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["ext/operators",{"_index":1945,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["extended",{"_index":1498,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["extends",{"_index":16,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{}}}],["external",{"_index":83,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"changelog.html":{}}}],["extra",{"_index":4110,"title":{},"body":{"dependencies.html":{}}}],["extraction",{"_index":488,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["extraction_set_dropdown",{"_index":1307,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["extractionset",{"_index":1271,"title":{"interfaces/ExtractionSet.html":{}},"body":{"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["extractionsetchanged",{"_index":1287,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["extractionsetchanged(value",{"_index":1297,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["extractionsetdropdowncomponent",{"_index":487,"title":{"components/ExtractionSetDropdownComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["extractionsetdropdownmodule",{"_index":1334,"title":{"modules/ExtractionSetDropdownModule.html":{}},"body":{"modules/ExtractionSetDropdownModule.html":{},"modules/LeftSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["extractionsets",{"_index":1930,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["extractionsites",{"_index":1931,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["extractionsitetooltip",{"_index":1733,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["extracts",{"_index":3242,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["extrapulmonary",{"_index":1168,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["eye",{"_index":1143,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["eye.svg",{"_index":1144,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["f",{"_index":1184,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["f.svg",{"_index":1185,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["factor",{"_index":2163,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["factory",{"_index":1872,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/variables.html":{}}}],["fade",{"_index":2740,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["faded",{"_index":982,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["fadeinout",{"_index":987,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["fail",{"_index":3870,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":3896,"title":{},"body":{"changelog.html":{}}}],["fallopian",{"_index":1145,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["false",{"_index":287,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["false=right",{"_index":1705,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["favor",{"_index":3863,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":3602,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":3794,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":3821,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":1349,"title":{},"body":{"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["fetch",{"_index":1129,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"dependencies.html":{}}}],["fetched",{"_index":2518,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["fetched]).pipe",{"_index":2522,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["fetchpreviousregistrations",{"_index":611,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["fetchpreviousregistrationscallback",{"_index":623,"title":{},"body":{"components/AppWebComponent.html":{},"miscellaneous/typealiases.html":{}}}],["field",{"_index":561,"title":{},"body":{"modules/AppModule.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewModalComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/UserName.html":{},"changelog.html":{}}}],["fields",{"_index":2749,"title":{},"body":{"components/ReviewModalComponent.html":{},"components/TagSearchComponent.html":{}}}],["file",{"_index":5,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{}}}],["fileinput",{"_index":1636,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["fileinputelement",{"_index":1661,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["fileinputelement.click",{"_index":1663,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["filereader",{"_index":1666,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["filereader.onload",{"_index":1667,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["filereader.readastext(file",{"_index":1673,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["files",{"_index":1645,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"license.html":{}}}],["fill",{"_index":1375,"title":{},"body":{"components/HeaderComponent.html":{}}}],["filler",{"_index":728,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{}}}],["filter",{"_index":1862,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["filter(([_nodes",{"_index":2943,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter((node",{"_index":2935,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter(as",{"_index":186,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["filter(def",{"_index":1408,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["filter(e",{"_index":2970,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter(item",{"_index":2562,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter(key",{"_index":1994,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["filter(started",{"_index":2030,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["filtered",{"_index":1885,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["filternulls",{"_index":1943,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["filters",{"_index":3613,"title":{},"body":{"changelog.html":{}}}],["final",{"_index":3865,"title":{},"body":{"changelog.html":{}}}],["finished",{"_index":1063,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["finishing",{"_index":3704,"title":{},"body":{"changelog.html":{}}}],["fired",{"_index":3064,"title":{},"body":{"components/StageNavComponent.html":{}}}],["first",{"_index":2126,"title":{},"body":{"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"interfaces/UserName.html":{},"changelog.html":{}}}],["firstname",{"_index":334,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/GlobalConfig.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{}}}],["firstnamevalidator",{"_index":2113,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["fit",{"_index":3443,"title":{},"body":{"components/VideoModalComponent.html":{},"changelog.html":{}}}],["fitness",{"_index":4254,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":3785,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":3625,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":3916,"title":{},"body":{"changelog.html":{}}}],["flex",{"_index":401,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["flexible",{"_index":3619,"title":{},"body":{"changelog.html":{}}}],["float",{"_index":2750,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["floatlabel",{"_index":594,"title":{},"body":{"modules/AppModule.html":{}}}],["fly",{"_index":3984,"title":{},"body":{"changelog.html":{}}}],["focused",{"_index":2834,"title":{},"body":{"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{}}}],["focusin",{"_index":3204,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["following",{"_index":4243,"title":{},"body":{"license.html":{}}}],["font",{"_index":408,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["footer",{"_index":2751,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["foreach(def",{"_index":1413,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["form",{"_index":1326,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["format",{"_index":2449,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"changelog.html":{}}}],["formatted",{"_index":1240,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["formcontrol",{"_index":2123,"title":{},"body":{"components/NameInputComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{}}}],["formsmodule",{"_index":2146,"title":{},"body":{"modules/NameInputModule.html":{},"modules/TagSearchModule.html":{}}}],["found",{"_index":2764,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["frame",{"_index":3805,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":4162,"title":{},"body":{"index.html":{}}}],["free",{"_index":4224,"title":{},"body":{"license.html":{}}}],["from(fetch(url)).pipe",{"_index":2199,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["from(search(text",{"_index":3298,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["fs",{"_index":4109,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":1499,"title":{},"body":{"classes/InitializationState.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["fullscreen",{"_index":3941,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":3795,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":466,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"interfaces/GlobalConfig.html":{},"classes/InitializationState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["functions",{"_index":4155,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["funded",{"_index":4212,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":4242,"title":{},"body":{"license.html":{}}}],["further",{"_index":3937,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":3786,"title":{},"body":{"changelog.html":{}}}],["ga",{"_index":683,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["gatoken",{"_index":1103,"title":{},"body":{"modules/CoreModule.html":{}}}],["general",{"_index":2244,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["generate",{"_index":3644,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":3665,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":3606,"title":{},"body":{"changelog.html":{}}}],["generic",{"_index":1685,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["genericmessage",{"_index":1054,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["genericmessagechannel",{"_index":1055,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["genericmessageservice",{"_index":1056,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["getarguments",{"_index":1453,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["getarguments(undefined",{"_index":1458,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["getclassend",{"_index":3400,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["getcontent",{"_index":808,"title":{},"body":{"components/ContainerComponent.html":{}}}],["getcurrentdate",{"_index":2493,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getcurrentidentifier",{"_index":2490,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getdisabled",{"_index":2691,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["getglobalskipconfirmation",{"_index":2280,"title":{},"body":{"injectables/PageState.html":{}}}],["gethaschanges",{"_index":2282,"title":{},"body":{"injectables/PageState.html":{}}}],["gethasthicknessvalue",{"_index":3018,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["gethaswrappedcontent",{"_index":811,"title":{},"body":{"components/ContainerComponent.html":{}}}],["geticon",{"_index":3401,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["getid",{"_index":3480,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["getid(_index",{"_index":3493,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["getislighttheme",{"_index":319,"title":{},"body":{"components/AppComponent.html":{}}}],["getisvalid",{"_index":2497,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getjsonld",{"_index":2484,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getlabelel",{"_index":3077,"title":{},"body":{"components/StageNavComponent.html":{}}}],["getlatesttags",{"_index":97,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["getleft",{"_index":1706,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["getmessages",{"_index":1883,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmessagesfromsource",{"_index":1907,"title":{},"body":{"classes/MessageChannel.html":{}}}],["getmessagesfromsource(source",{"_index":1886,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmessagesfromsources",{"_index":1908,"title":{},"body":{"classes/MessageChannel.html":{}}}],["getmessagesfromsources(sources",{"_index":1890,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmetadata",{"_index":2482,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getmethodname",{"_index":1444,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["getmethodname(undefined",{"_index":1460,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["getname",{"_index":2129,"title":{},"body":{"components/NameInputComponent.html":{}}}],["getnodebbox",{"_index":4029,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["getnodebbox(model",{"_index":2898,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/functions.html":{}}}],["getnodebbox(placement[0",{"_index":2946,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["getnodecollisions",{"_index":2882,"title":{},"body":{"injectables/SceneState.html":{}}}],["getnodes",{"_index":2873,"title":{},"body":{"injectables/SceneState.html":{}}}],["getoptionsel",{"_index":3081,"title":{},"body":{"components/StageNavComponent.html":{}}}],["getorgandata",{"_index":2326,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["getorgandata(iri",{"_index":2234,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["getplacementcube",{"_index":2886,"title":{},"body":{"injectables/SceneState.html":{}}}],["getpreviousregistrationnodes",{"_index":2884,"title":{},"body":{"injectables/SceneState.html":{}}}],["getpreviousregistrations",{"_index":2488,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getreferenceorganiri",{"_index":2327,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["getreferenceorganiri(organ",{"_index":2221,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["getreferenceorgannodes",{"_index":2877,"title":{},"body":{"injectables/SceneState.html":{}}}],["getreferenceorgansimplenodes",{"_index":2880,"title":{},"body":{"injectables/SceneState.html":{}}}],["getrotatednodes",{"_index":2875,"title":{},"body":{"injectables/SceneState.html":{}}}],["getrotation",{"_index":2889,"title":{},"body":{"injectables/SceneState.html":{}}}],["gets",{"_index":1483,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagListComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["getskipconfirmation",{"_index":2278,"title":{},"body":{"injectables/PageState.html":{}}}],["getsourcedb",{"_index":2193,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["gettags",{"_index":94,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["getter/setter",{"_index":1530,"title":{},"body":{"classes/InitializationState.html":{}}}],["gettheme",{"_index":3339,"title":{},"body":{"injectables/ThemingService.html":{}}}],["getting",{"_index":3559,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["getupdatedcheckedresults",{"_index":3198,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["getupdatedcheckedresults(result",{"_index":3232,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["getvalid",{"_index":2486,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["github",{"_index":3855,"title":{},"body":{"changelog.html":{}}}],["give",{"_index":1875,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["given",{"_index":1239,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{}}}],["gizmo",{"_index":967,"title":{},"body":{"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["gland",{"_index":1171,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["global",{"_index":14,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/GlobalConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"miscellaneous/variables.html":{}}}],["global_config",{"_index":748,"title":{},"body":{"modules/ConfigModule.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["globalconfig",{"_index":245,"title":{"interfaces/GlobalConfig.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["globalconfig.getoption('fetchpreviousregistrations').pipe",{"_index":2519,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["globalconfigfactory",{"_index":749,"title":{},"body":{"modules/ConfigModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["globalconfigfactory(globals",{"_index":1353,"title":{},"body":{"interfaces/GlobalConfig.html":{},"miscellaneous/functions.html":{}}}],["globalconfigstate",{"_index":246,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["globally",{"_index":2190,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["globals",{"_index":2185,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"miscellaneous/functions.html":{}}}],["globals.get('ruiconfig",{"_index":1354,"title":{},"body":{"interfaces/GlobalConfig.html":{}}}],["globalskipconfirmation",{"_index":2253,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["globalsservice",{"_index":747,"title":{},"body":{"modules/ConfigModule.html":{},"interfaces/GlobalConfig.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["globalthis.getcomputedstyle(element",{"_index":1567,"title":{},"body":{"classes/InitializationState.html":{}}}],["globalthis['ruiconfig",{"_index":649,"title":{},"body":{"components/AppWebComponent.html":{}}}],["good",{"_index":3893,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":669,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"dependencies.html":{}}}],["googleanalyticsservice",{"_index":667,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["granted",{"_index":4223,"title":{},"body":{"license.html":{}}}],["graph",{"_index":4270,"title":{},"body":{"modules.html":{}}}],["graphical",{"_index":3634,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":4112,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":3714,"title":{},"body":{"changelog.html":{}}}],["group",{"_index":3100,"title":{},"body":{"components/StageNavComponent.html":{}}}],["grow",{"_index":729,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{}}}],["gtex",{"_index":3645,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":3889,"title":{},"body":{"changelog.html":{}}}],["half",{"_index":1497,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["hand",{"_index":1125,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{}}}],["handleclick",{"_index":228,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{}}}],["handleclick(target",{"_index":272,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{}}}],["handlefile",{"_index":1637,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["handlefile(event",{"_index":1648,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["handlekey",{"_index":229,"title":{},"body":{"components/AppComponent.html":{}}}],["handlekey(target",{"_index":274,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["handlemessage",{"_index":766,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"components/ToggleButtonComponent.html":{}}}],["handlemessage(_msg",{"_index":776,"title":{},"body":{"components/ContainerComponent.html":{}}}],["handlemessage(msg",{"_index":1001,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["handlenodedrag",{"_index":872,"title":{},"body":{"components/ContentComponent.html":{}}}],["handlenodedrag(event",{"_index":880,"title":{},"body":{"components/ContentComponent.html":{}}}],["handler",{"_index":1654,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{}}}],["handles",{"_index":1237,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["handling",{"_index":1398,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["happen",{"_index":3923,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":3871,"title":{},"body":{"changelog.html":{}}}],["happy",{"_index":3128,"title":{},"body":{"modules/StoreModule.html":{}}}],["haschanges",{"_index":2254,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["hascheckedtags",{"_index":3199,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hasthicknessvalue",{"_index":2997,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["haswrappedcontent",{"_index":769,"title":{},"body":{"components/ContainerComponent.html":{}}}],["header",{"_index":219,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"interfaces/User.html":{}}}],["header'},{'name",{"_index":491,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["header.component",{"_index":1387,"title":{},"body":{"modules/HeaderModule.html":{}}}],["header.component.html",{"_index":1357,"title":{},"body":{"components/HeaderComponent.html":{}}}],["header.component.scss",{"_index":1356,"title":{},"body":{"components/HeaderComponent.html":{}}}],["headercomponent",{"_index":490,"title":{"components/HeaderComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["headermodule",{"_index":543,"title":{"modules/HeaderModule.html":{}},"body":{"modules/AppModule.html":{},"modules/HeaderModule.html":{},"modules.html":{},"overview.html":{}}}],["heart",{"_index":1149,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["heart.svg",{"_index":1150,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["height",{"_index":404,"title":{},"body":{"components/AppComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["helmet",{"_index":4117,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":3888,"title":{},"body":{"changelog.html":{}}}],["helper",{"_index":61,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContainerComponent.html":{},"components/StageNavComponent.html":{},"miscellaneous/functions.html":{}}}],["here",{"_index":168,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["hereby",{"_index":4222,"title":{},"body":{"license.html":{}}}],["hex",{"_index":4119,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":407,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["hiderequiredmarker",{"_index":595,"title":{},"body":{"modules/AppModule.html":{}}}],["hides",{"_index":912,"title":{},"body":{"components/ContentComponent.html":{}}}],["highlight",{"_index":3694,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":3475,"title":{},"body":{"interfaces/VisibilityItem.html":{},"changelog.html":{}}}],["highlights",{"_index":3695,"title":{},"body":{"changelog.html":{}}}],["hint",{"_index":81,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["holders",{"_index":4259,"title":{},"body":{"license.html":{}}}],["home",{"_index":1372,"title":{},"body":{"components/HeaderComponent.html":{}}}],["homeurl",{"_index":220,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/User.html":{}}}],["hooked",{"_index":3828,"title":{},"body":{"changelog.html":{}}}],["horizontal",{"_index":2837,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["host",{"_index":399,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["hostbinding",{"_index":665,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["hostbinding('@expandcollapse",{"_index":1548,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostbinding('@fadeinout",{"_index":1016,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["hostbinding('@openclose",{"_index":1547,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostbinding('class",{"_index":677,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["hostbinding('class.ccf",{"_index":1525,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["hostbinding('class.cff",{"_index":1012,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["hostbinding('style.margin",{"_index":1017,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["hostbindings",{"_index":705,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["hostlistener",{"_index":322,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"classes/InitializationState.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{}}}],["hostlistener('@expandcollapse.done",{"_index":1599,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostlistener('@openclose.done",{"_index":1595,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostlistener('click",{"_index":3290,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlistener('click')@hostlistener('focusin",{"_index":3240,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlistener('document:click",{"_index":273,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{}}}],["hostlistener('document:keydown",{"_index":275,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["hostlistener('focusin",{"_index":3291,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlistener('window:click",{"_index":3226,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlistener('window:focusin",{"_index":3293,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlisteners",{"_index":233,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{}}}],["hover",{"_index":454,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["hovered",{"_index":1786,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["hovering",{"_index":3754,"title":{},"body":{"changelog.html":{}}}],["hra",{"_index":3563,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["html",{"_index":469,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["htmlelement",{"_index":253,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/JsonFileReaderComponent.html":{},"components/StageNavComponent.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{}}}],["htmlinputelement",{"_index":693,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["htmlscriptelement",{"_index":3438,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["http://purl.org/ccf/1.5/${this.currentidentifier",{"_index":2606,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["http://purl.org/ccf/1.5/${this.currentidentifier}_placement",{"_index":2627,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["http://purl.org/ccf/latest/ccf.owl#vhmaleorgans_vhm_spleen_colic_surface",{"_index":2859,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["httpclientmodule",{"_index":1094,"title":{},"body":{"modules/CoreModule.html":{}}}],["https://beta",{"_index":4173,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":4184,"title":{},"body":{"index.html":{}}}],["https://hubmap",{"_index":4177,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":2603,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"index.html":{}}}],["https://humanatlas.io",{"_index":4203,"title":{},"body":{"index.html":{}}}],["https://observablehq.com/@cns",{"_index":4200,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":4179,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":4175,"title":{},"body":{"index.html":{}}}],["https://r5i95k35v5.us",{"_index":4186,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":3978,"title":{},"body":{"changelog.html":{}}}],["https://www.ngxs.io/advanced/options",{"_index":3136,"title":{},"body":{"modules/StoreModule.html":{}}}],["https://www.youtube.com/iframe_api",{"_index":3440,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["hubmap",{"_index":591,"title":{},"body":{"modules/AppModule.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["human",{"_index":3561,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["i18nplural:countmapping",{"_index":3311,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["icon",{"_index":441,"title":{},"body":{"components/AppComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ReviewModalComponent.html":{},"components/StageNavComponent.html":{},"modules/StoreModule.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["icon.add",{"_index":2762,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["icon.name",{"_index":1418,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["icon.namespace",{"_index":1419,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["icondefinition",{"_index":1388,"title":{"interfaces/IconDefinition.html":{}},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{}}}],["iconregistry",{"_index":1399,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["iconregistrystate",{"_index":1400,"title":{"injectables/IconRegistryState.html":{}},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["icons",{"_index":1130,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["icons.ts",{"_index":1114,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["id",{"_index":155,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["idb",{"_index":4122,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":1856,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["identifiers",{"_index":4284,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["idmatches(ontologyid",{"_index":2033,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["iec",{"_index":3868,"title":{},"body":{"changelog.html":{}}}],["iframe",{"_index":3426,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["ignoredkeys",{"_index":1992,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ignoredkeys.includes(key",{"_index":1995,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["iif",{"_index":2284,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["iif(!!config.user",{"_index":2301,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["image",{"_index":3862,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":3905,"title":{},"body":{"changelog.html":{}}}],["immutable",{"_index":2151,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["implementation",{"_index":60,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{}}}],["implemented",{"_index":3827,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":3943,"title":{},"body":{"changelog.html":{}}}],["implements",{"_index":205,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{}}}],["implied",{"_index":4251,"title":{},"body":{"license.html":{}}}],["implies",{"_index":1067,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["import",{"_index":99,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{}}}],["important",{"_index":458,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["imported",{"_index":1109,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["imports",{"_index":552,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["improve",{"_index":3822,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":3659,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":3630,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":3715,"title":{},"body":{"changelog.html":{}}}],["in's",{"_index":1768,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["include",{"_index":3875,"title":{},"body":{"changelog.html":{}}}],["included",{"_index":4246,"title":{},"body":{"license.html":{}}}],["includes",{"_index":3603,"title":{},"body":{"changelog.html":{}}}],["including",{"_index":3693,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":3850,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":3939,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":18,"title":{"index.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indexes",{"_index":3570,"title":{},"body":{"changelog.html":{}}}],["indiana",{"_index":4210,"title":{},"body":{"index.html":{}}}],["indicator",{"_index":1819,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["individual",{"_index":3832,"title":{},"body":{"changelog.html":{}}}],["infinity",{"_index":364,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["infix",{"_index":3316,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["info",{"_index":3,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["info.side",{"_index":2240,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["infobuttonmodule",{"_index":2794,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["information",{"_index":891,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ExtractionSet.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":3908,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":3877,"title":{},"body":{"changelog.html":{}}}],["init",{"_index":3431,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["initial",{"_index":307,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/SlicesInputComponent.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["initialconfig",{"_index":647,"title":{},"body":{"components/AppWebComponent.html":{}}}],["initialdelay",{"_index":645,"title":{},"body":{"components/AppWebComponent.html":{}}}],["initialization",{"_index":1571,"title":{},"body":{"classes/InitializationState.html":{}}}],["initializationstate",{"_index":1465,"title":{"classes/InitializationState.html":{}},"body":{"classes/InitializationState.html":{},"coverage.html":{}}}],["initialize",{"_index":3340,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initialize(component",{"_index":3349,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initialize(element",{"_index":3355,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initialized",{"_index":606,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"injectables/ThemingService.html":{}}}],["initializer",{"_index":3352,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initializes",{"_index":65,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/ToggleButtonComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["initializing",{"_index":1064,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["initskipconfirmationlisteners",{"_index":2248,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["inject",{"_index":1860,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"injectables/ThemingService.html":{},"components/VideoModalComponent.html":{}}}],["inject(default_theme",{"_index":3372,"title":{},"body":{"injectables/ThemingService.html":{}}}],["inject(document",{"_index":3434,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["inject(mat_dialog_data",{"_index":2730,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["injectable",{"_index":0,"title":{"injectables/AnatomicalStructureTagState.html":{},"injectables/IconRegistryState.html":{},"injectables/MessageService.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"injectables/RegistrationState.html":{},"injectables/SceneState.html":{},"injectables/ThemingService.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"injectables/ThemingService.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["injectables",{"_index":2,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"injectables/IconRegistryState.html":{},"injectables/MessageService.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"injectables/RegistrationState.html":{},"injectables/SceneState.html":{},"injectables/ThemingService.html":{},"overview.html":{}}}],["injected",{"_index":2728,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["injecting",{"_index":164,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["injectiontoken",{"_index":1345,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["injectiontoken('default",{"_index":3368,"title":{},"body":{"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["injector",{"_index":37,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{}}}],["injector.get(overlaycontainer",{"_index":3383,"title":{},"body":{"injectables/ThemingService.html":{}}}],["injector.get(renderer2",{"_index":3381,"title":{},"body":{"injectables/ThemingService.html":{}}}],["injector.get(themingservice",{"_index":3370,"title":{},"body":{"injectables/ThemingService.html":{}}}],["inline",{"_index":2772,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["input",{"_index":259,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["input'},{'name",{"_index":477,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["input.component",{"_index":744,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/NameInputModule.html":{},"modules/SlicesInputModule.html":{}}}],["input.component.html",{"_index":675,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["input.component.scss",{"_index":676,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["input.component.ts",{"_index":658,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["input.component.ts:31",{"_index":3015,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:35",{"_index":709,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{}}}],["input.component.ts:36",{"_index":3013,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:40",{"_index":708,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{}}}],["input.component.ts:41",{"_index":3014,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:44",{"_index":2127,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.component.ts:45",{"_index":707,"title":{},"body":{"components/BlockSizeInputComponent.html":{}}}],["input.component.ts:46",{"_index":3019,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:48",{"_index":3012,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:50",{"_index":2119,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.component.ts:54",{"_index":2131,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.component.ts:60",{"_index":711,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{}}}],["input.component.ts:63",{"_index":3017,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:68",{"_index":2117,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.component.ts:70",{"_index":710,"title":{},"body":{"components/BlockSizeInputComponent.html":{}}}],["input.component.ts:73",{"_index":3016,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:83",{"_index":2121,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.module",{"_index":1845,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RightSidebarModule.html":{}}}],["input.module.ts",{"_index":734,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/NameInputModule.html":{},"modules/SlicesInputModule.html":{}}}],["input.target",{"_index":692,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["input/block",{"_index":657,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/RightSidebarModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["input/name",{"_index":1844,"title":{},"body":{"modules/LeftSidebarModule.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"interfaces/UserName.html":{},"coverage.html":{}}}],["input/slices",{"_index":2786,"title":{},"body":{"modules/RightSidebarModule.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["input[type=number",{"_index":714,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["inputarray",{"_index":1241,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["inputarray.join",{"_index":1244,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["inputevent",{"_index":685,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["inputs",{"_index":607,"title":{},"body":{"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["inputtarget",{"_index":691,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["inputtarget.files",{"_index":1664,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["inputtarget.files[0",{"_index":1665,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["inputtarget.value",{"_index":695,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["inputted",{"_index":2677,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["inputting",{"_index":2110,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["insertitem",{"_index":2499,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["insertitem(registration",{"_index":2567,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["inside",{"_index":1261,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["instance",{"_index":41,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["instanceof",{"_index":3294,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["instant",{"_index":1491,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["instead",{"_index":3054,"title":{},"body":{"components/StageNavComponent.html":{},"changelog.html":{}}}],["instructions",{"_index":3721,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":3796,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":3690,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":3876,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":3809,"title":{},"body":{"changelog.html":{}}}],["interact",{"_index":3780,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":3926,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":3975,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":129,"title":{"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"interfaces/Message.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":195,"title":{},"body":{"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"interfaces/Message.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":3861,"title":{},"body":{"changelog.html":{}}}],["interval",{"_index":3264,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["interval(this.searchthrottle",{"_index":3272,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["intestine",{"_index":1156,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["intestine.svg",{"_index":1157,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["invisible",{"_index":995,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["iri",{"_index":149,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["iris",{"_index":2559,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["iris.has(item.id",{"_index":2563,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["is3dview",{"_index":868,"title":{},"body":{"components/ContentComponent.html":{}}}],["isdatavalid",{"_index":2434,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["isdatavalid(page",{"_index":2456,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["isdropdownactive",{"_index":3036,"title":{},"body":{"components/StageNavComponent.html":{}}}],["isdropdownhidden",{"_index":3037,"title":{},"body":{"components/StageNavComponent.html":{}}}],["islighttheme",{"_index":236,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["ismultiple",{"_index":1288,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["isnan(this.slicesconfig.thickness",{"_index":2998,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["isnarrowview",{"_index":869,"title":{},"body":{"components/ContentComponent.html":{}}}],["isolated",{"_index":1868,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/variables.html":{}}}],["issue",{"_index":3846,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":3608,"title":{},"body":{"changelog.html":{}}}],["isvalid",{"_index":2442,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["it's",{"_index":3688,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":1278,"title":{},"body":{"interfaces/ExtractionSet.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["item.id",{"_index":2565,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/VisibilityMenuComponent.html":{}}}],["item.name",{"_index":2566,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/VisibilityMenuComponent.html":{}}}],["item.opacity",{"_index":2932,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["item.tooltip",{"_index":1801,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["item.ts",{"_index":3474,"title":{},"body":{"interfaces/VisibilityItem.html":{},"coverage.html":{}}}],["item.visible",{"_index":2931,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/VisibilityMenuComponent.html":{}}}],["item?.tooltip",{"_index":1799,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["items",{"_index":445,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["items.length",{"_index":3302,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["items.slice(0",{"_index":3303,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["itemschange",{"_index":3487,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["iu",{"_index":3956,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":4201,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":3578,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["join",{"_index":1242,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["json",{"_index":493,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["json.parse(filereader.result",{"_index":1668,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["json.stringify(jsonobj",{"_index":2580,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["json_file_reader",{"_index":1670,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["jsonfilereadercomponent",{"_index":492,"title":{"components/JsonFileReaderComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["jsonfilereadermodule",{"_index":1674,"title":{"modules/JsonFileReaderModule.html":{}},"body":{"modules/JsonFileReaderModule.html":{},"modules/LeftSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["jsonld",{"_index":2438,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"dependencies.html":{}}}],["jsonobj",{"_index":2576,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["july",{"_index":3925,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":3962,"title":{},"body":{"changelog.html":{}}}],["justify",{"_index":433,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["keeps",{"_index":1784,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["key",{"_index":687,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/StoreModule.html":{},"interfaces/UserName.html":{},"interfaces/XYZTriplet.html":{}}}],["keyboard",{"_index":271,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["keyboardevent",{"_index":265,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["keys",{"_index":269,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{}}}],["keyval",{"_index":4123,"title":{},"body":{"dependencies.html":{}}}],["kidney",{"_index":1151,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["kidney.svg",{"_index":1152,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["kind",{"_index":4250,"title":{},"body":{"license.html":{}}}],["knee",{"_index":1153,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["knee.svg",{"_index":1154,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["known",{"_index":3607,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":3594,"title":{},"body":{"changelog.html":{}}}],["l",{"_index":1752,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["label",{"_index":156,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/DetailsLabelComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["label'},{'name",{"_index":484,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["label.component",{"_index":1252,"title":{},"body":{"modules/DetailsLabelModule.html":{}}}],["label.component.html",{"_index":1231,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.component.scss",{"_index":1230,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.component.ts",{"_index":1222,"title":{},"body":{"components/DetailsLabelComponent.html":{},"coverage.html":{}}}],["label.component.ts:15",{"_index":1234,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.component.ts:20",{"_index":1233,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.component.ts:29",{"_index":1236,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.module",{"_index":1838,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["label.module.ts",{"_index":1251,"title":{},"body":{"modules/DetailsLabelModule.html":{}}}],["label/details",{"_index":1221,"title":{},"body":{"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["labeled",{"_index":496,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["labeledslidetogglecomponent",{"_index":495,"title":{"components/LabeledSlideToggleComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["labeledslidetogglemodule",{"_index":1719,"title":{"modules/LabeledSlideToggleModule.html":{}},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/StageNavModule.html":{},"modules.html":{},"overview.html":{}}}],["labelel",{"_index":3046,"title":{},"body":{"components/StageNavComponent.html":{}}}],["labelel.contains(target",{"_index":3088,"title":{},"body":{"components/StageNavComponent.html":{}}}],["labelref",{"_index":3038,"title":{},"body":{"components/StageNavComponent.html":{}}}],["labels",{"_index":1691,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["labels[0",{"_index":1715,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["labels[0]}}{{labels[1",{"_index":1718,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["labels[1",{"_index":1708,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["labs/data",{"_index":3116,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["labs/data/decorators",{"_index":108,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["labs/data/repositories",{"_index":109,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["labs/dispatch",{"_index":4084,"title":{},"body":{"dependencies.html":{}}}],["landmark",{"_index":1311,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["landmarks",{"_index":1809,"title":{},"body":{"components/LeftSidebarComponent.html":{},"changelog.html":{}}}],["large",{"_index":1155,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["larger",{"_index":3650,"title":{},"body":{"changelog.html":{}}}],["larynx",{"_index":1158,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["larynx.svg",{"_index":1159,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["last",{"_index":2128,"title":{},"body":{"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"modules/StoreModule.html":{},"interfaces/UserName.html":{}}}],["lastname",{"_index":335,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/GlobalConfig.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{}}}],["lastnamevalidator",{"_index":2114,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["latest",{"_index":3616,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["latesttags",{"_index":34,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["launch",{"_index":2658,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["launcher",{"_index":3447,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher'},{'name",{"_index":526,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["launcher.component",{"_index":3466,"title":{},"body":{"modules/VideoModalLauncherModule.html":{}}}],["launcher.component.html",{"_index":3449,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.component.scss",{"_index":3448,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.component.ts",{"_index":3445,"title":{},"body":{"components/VideoModalLauncherComponent.html":{},"coverage.html":{}}}],["launcher.component.ts:17",{"_index":3452,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.component.ts:22",{"_index":3451,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.component.ts:32",{"_index":3453,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.module",{"_index":1088,"title":{},"body":{"modules/ContentModule.html":{}}}],["launcher.module.ts",{"_index":3465,"title":{},"body":{"modules/VideoModalLauncherModule.html":{}}}],["launcher/video",{"_index":1087,"title":{},"body":{"modules/ContentModule.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"coverage.html":{}}}],["launches",{"_index":3454,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launching",{"_index":3446,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launchreviewmodal",{"_index":2663,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["launchvideomodal",{"_index":3450,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["layers",{"_index":4070,"title":{},"body":{"dependencies.html":{}}}],["lazy",{"_index":49,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ld",{"_index":3886,"title":{},"body":{"changelog.html":{}}}],["leading",{"_index":1998,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["leak",{"_index":3845,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":3703,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":450,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["left.px",{"_index":990,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["left.svg",{"_index":1147,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["left/right",{"_index":3712,"title":{},"body":{"changelog.html":{}}}],["leftmargin",{"_index":983,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["leftsidebarcomponent",{"_index":499,"title":{"components/LeftSidebarComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["leftsidebarmodule",{"_index":544,"title":{"modules/LeftSidebarModule.html":{}},"body":{"modules/AppModule.html":{},"modules/LeftSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["legend",{"_index":468,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["length",{"_index":3000,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["level",{"_index":3377,"title":{},"body":{"injectables/ThemingService.html":{},"changelog.html":{}}}],["levels",{"_index":3972,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":4263,"title":{},"body":{"license.html":{}}}],["liable",{"_index":4260,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":3653,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":3816,"title":{},"body":{"changelog.html":{}}}],["library/assets/body4mesh_1338.glb",{"_index":2861,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["license",{"_index":4216,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":3699,"title":{},"body":{"changelog.html":{}}}],["light",{"_index":284,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["lighter",{"_index":1369,"title":{},"body":{"components/HeaderComponent.html":{}}}],["limit",{"_index":70,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"miscellaneous/variables.html":{}}}],["limitation",{"_index":4230,"title":{},"body":{"license.html":{}}}],["limited",{"_index":3912,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["limits",{"_index":2999,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["line",{"_index":125,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["link",{"_index":1370,"title":{},"body":{"components/HeaderComponent.html":{},"changelog.html":{}}}],["linkage",{"_index":3927,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":3621,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":3676,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":2769,"title":{},"body":{"components/RightSidebarComponent.html":{},"components/TagListComponent.html":{},"changelog.html":{}}}],["list'},{'name",{"_index":518,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["list.component",{"_index":3183,"title":{},"body":{"modules/TagListModule.html":{}}}],["list.component.html",{"_index":3151,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.scss",{"_index":3150,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts",{"_index":3148,"title":{},"body":{"components/TagListComponent.html":{},"coverage.html":{}}}],["list.component.ts:18",{"_index":3158,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:23",{"_index":3156,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:28",{"_index":3157,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:33",{"_index":3155,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:49",{"_index":3165,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:53",{"_index":3163,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:62",{"_index":3159,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.module",{"_index":2789,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["list.module.ts",{"_index":3180,"title":{},"body":{"modules/TagListModule.html":{}}}],["list/tag",{"_index":2788,"title":{},"body":{"modules/RightSidebarModule.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"coverage.html":{}}}],["listen",{"_index":1866,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["listener",{"_index":1593,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["listeners",{"_index":786,"title":{},"body":{"components/ContainerComponent.html":{}}}],["listens",{"_index":3060,"title":{},"body":{"components/StageNavComponent.html":{}}}],["literal",{"_index":1344,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/ReferenceDataStateModel.html":{},"dependencies.html":{}}}],["little",{"_index":3778,"title":{},"body":{"changelog.html":{}}}],["liver",{"_index":1160,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["liver.svg",{"_index":1161,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["load",{"_index":50,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VideoModalComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["loaded",{"_index":1117,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{}}}],["loaders.gl/core",{"_index":4074,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":4076,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":4077,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":3597,"title":{},"body":{"changelog.html":{}}}],["loads",{"_index":3425,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["loadyoutubeplayerapi",{"_index":3421,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["local",{"_index":2524,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["located",{"_index":1524,"title":{},"body":{"classes/InitializationState.html":{}}}],["location",{"_index":3369,"title":{},"body":{"injectables/ThemingService.html":{},"changelog.html":{}}}],["locations",{"_index":3595,"title":{},"body":{"changelog.html":{}}}],["lodash",{"_index":1947,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["log",{"_index":4204,"title":{},"body":{"index.html":{}}}],["logger",{"_index":3141,"title":{},"body":{"modules/StoreModule.html":{}}}],["logging",{"_index":3647,"title":{},"body":{"changelog.html":{}}}],["logic",{"_index":1506,"title":{},"body":{"classes/InitializationState.html":{}}}],["logo",{"_index":1380,"title":{},"body":{"components/HeaderComponent.html":{}}}],["logotooltip",{"_index":221,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/User.html":{}}}],["longer",{"_index":3762,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":1259,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/HeaderComponent.html":{},"changelog.html":{}}}],["looks",{"_index":2219,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["lookup",{"_index":2180,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["lowerbound",{"_index":2900,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["lowerbound[i",{"_index":2909,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["lru",{"_index":4127,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":4078,"title":{},"body":{"dependencies.html":{}}}],["lung",{"_index":1162,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["lung.svg",{"_index":1163,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["lymph",{"_index":1164,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["m",{"_index":3021,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["made",{"_index":2307,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"changelog.html":{}}}],["main",{"_index":754,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["major",{"_index":3601,"title":{},"body":{"changelog.html":{}}}],["make",{"_index":2189,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["makes",{"_index":3505,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["making",{"_index":1760,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["male",{"_index":1348,"title":{},"body":{"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["mammary",{"_index":1170,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["managed",{"_index":312,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["managers",{"_index":3657,"title":{},"body":{"changelog.html":{}}}],["manages",{"_index":3336,"title":{},"body":{"injectables/ThemingService.html":{}}}],["manually",{"_index":1659,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["map",{"_index":114,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/TagSearchComponent.html":{}}}],["map(([_viewtype",{"_index":2975,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([anatomicalstructures",{"_index":2927,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([entities",{"_index":137,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["map(([haschanges",{"_index":2318,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["map(([local",{"_index":2523,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["map(([nodes",{"_index":2945,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([organ",{"_index":1779,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["map(([organiri",{"_index":2952,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([page",{"_index":2511,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["map(([placement",{"_index":2915,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([rotation",{"_index":2920,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map((item",{"_index":2564,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map((node",{"_index":2937,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map((set",{"_index":2097,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["map((side",{"_index":2988,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(basehref",{"_index":2195,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["map(def",{"_index":1410,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["map(dims",{"_index":898,"title":{},"body":{"components/ContentComponent.html":{}}}],["map(node",{"_index":2992,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(organ",{"_index":1788,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["map(p",{"_index":924,"title":{},"body":{"components/ContentComponent.html":{}}}],["map(sex",{"_index":1793,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["map(side",{"_index":1796,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["map(this.truncateresults",{"_index":3300,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["map(type",{"_index":917,"title":{},"body":{"components/ContentComponent.html":{}}}],["map(value",{"_index":2293,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["mapping",{"_index":3252,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["mapto",{"_index":1951,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["mapto(undefined",{"_index":2004,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["march",{"_index":3819,"title":{},"body":{"changelog.html":{}}}],["margin",{"_index":969,"title":{},"body":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/variables.html":{}}}],["margin2",{"_index":1503,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["markdown",{"_index":4133,"title":{},"body":{"dependencies.html":{}}}],["marrow",{"_index":1139,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["marrow.svg",{"_index":1140,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["mat",{"_index":1325,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["mat.transformaspoint",{"_index":2901,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["mat.transformaspoint([1",{"_index":2903,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["mat_dialog_data",{"_index":2734,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["mat_form_field_default_options",{"_index":559,"title":{},"body":{"modules/AppModule.html":{}}}],["matbuttonmodule",{"_index":1680,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"modules/RegistrationContentModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/TagSearchModule.html":{}}}],["match",{"_index":2016,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["matcheckboxmodule",{"_index":3324,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["matches",{"_index":184,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["matches.length",{"_index":190,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["matches.map((as",{"_index":191,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["matching",{"_index":75,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["matchipsmodule",{"_index":3181,"title":{},"body":{"modules/TagListModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["matdialog",{"_index":2402,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["matdialogmodule",{"_index":2425,"title":{},"body":{"modules/RegistrationModalModule.html":{},"modules/ReviewModalModule.html":{},"modules/VideoModalModule.html":{}}}],["matdialogref",{"_index":2350,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["matdividermodule",{"_index":1835,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{},"modules/StageNavModule.html":{}}}],["material",{"_index":1374,"title":{},"body":{"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["matexpansionmodule",{"_index":1833,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{}}}],["matformfieldmodule",{"_index":3326,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["math.floor(p.x",{"_index":925,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.floor(p.y",{"_index":926,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.floor(p.z",{"_index":927,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.gl/core",{"_index":2155,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"dependencies.html":{}}}],["math.gl/culling",{"_index":4081,"title":{},"body":{"dependencies.html":{}}}],["math.max(dims.x",{"_index":899,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.max(dims.y",{"_index":903,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.max(dims.z",{"_index":905,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.max(n",{"_index":2908,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["math.min(20",{"_index":2075,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["math.min(n",{"_index":2905,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["math.round(xyz.x",{"_index":2652,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["math.round(xyz.y",{"_index":2653,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["math.round(xyz.z",{"_index":2654,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["maticonmodule",{"_index":562,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DrawerModule.html":{},"modules/HeaderModule.html":{},"modules/LeftSidebarModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["maticonregistry",{"_index":1394,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["matinputmodule",{"_index":738,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/NameInputModule.html":{},"modules/SlicesInputModule.html":{},"modules/TagSearchModule.html":{}}}],["matradiomodule",{"_index":3111,"title":{},"body":{"modules/StageNavModule.html":{}}}],["matripplemodule",{"_index":740,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/VisibilityMenuModule.html":{}}}],["matrix",{"_index":2205,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["matrix.transformaspoint",{"_index":2211,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["matrix4",{"_index":2153,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/functions.html":{}}}],["matrix4(matrix4.identity",{"_index":2207,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["matrix4(matrix4.identity).rotatey(toradians(rotation)).multiplyright(n.transformmatrix",{"_index":2922,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["matrix4(matrix4.identity).scale([2",{"_index":2863,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["matrix4(model.transformmatrix",{"_index":2899,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["matselectmodule",{"_index":1339,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"modules/StageNavModule.html":{}}}],["matslidermodule",{"_index":2845,"title":{},"body":{"modules/RotationSliderModule.html":{}}}],["matslidetogglemodule",{"_index":1724,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/NameInputModule.html":{}}}],["matsnackbar",{"_index":240,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["matsnackbarmodule",{"_index":564,"title":{},"body":{"modules/AppModule.html":{}}}],["mattooltipmodule",{"_index":742,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/HeaderModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/ReviewButtonModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{}}}],["max",{"_index":976,"title":{},"body":{"components/ContentComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["maximum",{"_index":78,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{}}}],["mc",{"_index":3955,"title":{},"body":{"changelog.html":{}}}],["measured",{"_index":1563,"title":{},"body":{"classes/InitializationState.html":{}}}],["measuredmargin",{"_index":1565,"title":{},"body":{"classes/InitializationState.html":{}}}],["measuredwidth",{"_index":1555,"title":{},"body":{"classes/InitializationState.html":{}}}],["memory",{"_index":3844,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":1817,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["menu'},{'name",{"_index":529,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["menu.component",{"_index":3538,"title":{},"body":{"modules/VisibilityMenuModule.html":{}}}],["menu.component.html",{"_index":3479,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.scss",{"_index":3478,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts",{"_index":3477,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"coverage.html":{}}}],["menu.component.ts:104",{"_index":3502,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:119",{"_index":3504,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:132",{"_index":3494,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:21",{"_index":3492,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:26",{"_index":3489,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:31",{"_index":3490,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:36",{"_index":3491,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:41",{"_index":3488,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:55",{"_index":3507,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:70",{"_index":3500,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:80",{"_index":3495,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:90",{"_index":3510,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.module",{"_index":1849,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["menu.module.ts",{"_index":3537,"title":{},"body":{"modules/VisibilityMenuModule.html":{}}}],["menu/visibility",{"_index":1848,"title":{},"body":{"modules/LeftSidebarModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"coverage.html":{}}}],["merchantability",{"_index":4253,"title":{},"body":{"license.html":{}}}],["merge",{"_index":4233,"title":{},"body":{"license.html":{}}}],["mergeall",{"_index":1863,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["message",{"_index":777,"title":{"interfaces/Message.html":{}},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["message_service_config",{"_index":1266,"title":{},"body":{"modules/DrawerModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["message_service_default_config",{"_index":1267,"title":{},"body":{"modules/DrawerModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["messagechannel",{"_index":792,"title":{"classes/MessageChannel.html":{}},"body":{"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["messagechannel(source",{"_index":1906,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["messagechannel.counter",{"_index":1893,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["messages",{"_index":773,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{}}}],["messageservice",{"_index":758,"title":{"injectables/MessageService.html":{}},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["messageservice.connect(this",{"_index":836,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["messageservice.connect(this).getmessages",{"_index":1027,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["messageserviceconfig",{"_index":1865,"title":{"interfaces/MessageServiceConfig.html":{}},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["meta",{"_index":2689,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["metadata",{"_index":208,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/MetaDataField.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["metadatafield",{"_index":1923,"title":{"interfaces/MetaDataField.html":{}},"body":{"interfaces/MetaDataField.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["meter",{"_index":2167,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["method",{"_index":888,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["method.apply(registry",{"_index":1440,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["methodname",{"_index":1433,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ThemingService.html":{}}}],["methods",{"_index":25,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["millimeter",{"_index":2166,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["min",{"_index":1333,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["minor",{"_index":3609,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":4154,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":4217,"title":{},"body":{"license.html":{}}}],["mm",{"_index":712,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["mock",{"_index":3951,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":309,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["modal's",{"_index":2683,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["modal'},{'name",{"_index":504,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["modal.component",{"_index":2424,"title":{},"body":{"modules/RegistrationModalModule.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewModalModule.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalModule.html":{}}}],["modal.component.html",{"_index":2399,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["modal.component.scss",{"_index":2722,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["modal.component.ts",{"_index":2397,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{},"coverage.html":{}}}],["modal.component.ts:15",{"_index":3423,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal.component.ts:21",{"_index":2403,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["modal.component.ts:22",{"_index":3433,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal.component.ts:23",{"_index":3432,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal.component.ts:26",{"_index":2729,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["modal.component.ts:29",{"_index":2407,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["modal.component.ts:30",{"_index":2733,"title":{},"body":{"components/ReviewModalComponent.html":{},"components/VideoModalComponent.html":{}}}],["modal.component.ts:35",{"_index":2725,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["modal.component.ts:37",{"_index":2404,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/VideoModalComponent.html":{}}}],["modal.component.ts:44",{"_index":2732,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["modal.component.ts:45",{"_index":2731,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["modal.component.ts:46",{"_index":3424,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal.component.ts:54",{"_index":2406,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{}}}],["modal.module",{"_index":584,"title":{},"body":{"modules/AppModule.html":{},"modules/ReviewButtonModule.html":{}}}],["modal.module.ts",{"_index":2423,"title":{},"body":{"modules/RegistrationModalModule.html":{},"modules/ReviewModalModule.html":{},"modules/VideoModalModule.html":{}}}],["modal.wrapper",{"_index":3444,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal/registration",{"_index":583,"title":{},"body":{"modules/AppModule.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"coverage.html":{}}}],["modal/review",{"_index":2694,"title":{},"body":{"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"coverage.html":{}}}],["modal/video",{"_index":1086,"title":{},"body":{"modules/ContentModule.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"coverage.html":{}}}],["modalclosed",{"_index":1744,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["mode",{"_index":286,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ReviewButtonComponent.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["model",{"_index":22,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["model.blocksize.x.tofixed(3",{"_index":2621,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.blocksize.y.tofixed(3",{"_index":2623,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.blocksize.z.tofixed(3",{"_index":2625,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.label",{"_index":2607,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.organ.name",{"_index":2572,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.organ.organ",{"_index":2573,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.organ.src",{"_index":2571,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.organiri",{"_index":2629,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.position.x.tofixed(3",{"_index":2646,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.position.y.tofixed(3",{"_index":2648,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.position.z.tofixed(3",{"_index":2650,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.representation_of",{"_index":150,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["model.rotation.x.tofixed(3",{"_index":2637,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.rotation.y.tofixed(3",{"_index":2639,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.rotation.z.tofixed(3",{"_index":2641,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.slicesconfig?.numslices",{"_index":2619,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.slicesconfig?.thickness",{"_index":2617,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.snapshot",{"_index":2578,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.tooltip",{"_index":157,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["model/model.state",{"_index":119,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["modelchanged",{"_index":1991,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["models/anatomical",{"_index":118,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["models/extraction",{"_index":1958,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["models/meta",{"_index":2504,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["models/visibility",{"_index":1959,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["modelstate",{"_index":88,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["modelstatemodel",{"_index":1926,"title":{"interfaces/ModelStateModel.html":{}},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["modification",{"_index":2496,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["modify",{"_index":4232,"title":{},"body":{"license.html":{}}}],["module",{"_index":533,"title":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{}}}],["modules",{"_index":535,"title":{"modules.html":{}},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"modules.html":{},"overview.html":{}}}],["modules/content/content.module",{"_index":577,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/header/header.module",{"_index":578,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/left",{"_index":579,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/registration",{"_index":582,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/right",{"_index":585,"title":{},"body":{"modules/AppModule.html":{}}}],["monorepo",{"_index":4164,"title":{},"body":{"index.html":{}}}],["more",{"_index":1301,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"index.html":{}}}],["mouse",{"_index":3498,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["mouseevent",{"_index":2362,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["mouseout",{"_index":3481,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["mouseover",{"_index":3482,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["mouseover(item",{"_index":3499,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["mousepositiontrackermodule",{"_index":1097,"title":{},"body":{"modules/CoreModule.html":{}}}],["moved",{"_index":3964,"title":{},"body":{"changelog.html":{}}}],["moz",{"_index":715,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ms",{"_index":3268,"title":{},"body":{"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["msg",{"_index":1004,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["msg.payload",{"_index":1037,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["msg.payload.drawers",{"_index":1031,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["msg.payload.opened",{"_index":3407,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["msg.payload.type",{"_index":1029,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["msg.source",{"_index":1035,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["much",{"_index":3648,"title":{},"body":{"changelog.html":{}}}],["multi",{"_index":3334,"title":{},"body":{"modules/ThemingModule.html":{}}}],["multiple",{"_index":4165,"title":{},"body":{"index.html":{}}}],["n",{"_index":941,"title":{},"body":{"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["n3",{"_index":4128,"title":{},"body":{"dependencies.html":{}}}],["name",{"_index":44,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["name(value",{"_index":2136,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["name.endswith(info.organ",{"_index":2237,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["name_input",{"_index":2141,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["namechange",{"_index":2116,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["nameinputcomponent",{"_index":501,"title":{"components/NameInputComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["nameinputmodule",{"_index":1829,"title":{"modules/NameInputModule.html":{}},"body":{"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules.html":{},"overview.html":{}}}],["namematches(organname",{"_index":2037,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["names",{"_index":3736,"title":{},"body":{"changelog.html":{}}}],["namespace",{"_index":1126,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"miscellaneous/variables.html":{}}}],["namevalid",{"_index":2344,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["nan",{"_index":1974,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["narrow",{"_index":922,"title":{},"body":{"components/ContentComponent.html":{}}}],["native",{"_index":2586,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{}}}],["nav",{"_index":3033,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav'},{'name",{"_index":516,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["nav.component",{"_index":3113,"title":{},"body":{"modules/StageNavModule.html":{}}}],["nav.component.html",{"_index":3035,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.scss",{"_index":3034,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts",{"_index":3029,"title":{},"body":{"components/StageNavComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["nav.component.ts:109",{"_index":3069,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:19",{"_index":3058,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:23",{"_index":3051,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:29",{"_index":3049,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:32",{"_index":3055,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:35",{"_index":3056,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:38",{"_index":3057,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:41",{"_index":3073,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:44",{"_index":3075,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:47",{"_index":3070,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:50",{"_index":3071,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:53",{"_index":3078,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:58",{"_index":3082,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:60",{"_index":3048,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:76",{"_index":3059,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:91",{"_index":3066,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.module",{"_index":1085,"title":{},"body":{"modules/ContentModule.html":{}}}],["nav.module.ts",{"_index":3110,"title":{},"body":{"modules/StageNavModule.html":{}}}],["nav/stage",{"_index":1084,"title":{},"body":{"modules/ContentModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["navigation",{"_index":3961,"title":{},"body":{"changelog.html":{}}}],["necessary",{"_index":2676,"title":{},"body":{"components/ReviewButtonComponent.html":{},"injectables/ThemingService.html":{}}}],["need",{"_index":1121,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["needed",{"_index":3001,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"changelog.html":{}}}],["needs",{"_index":782,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["network",{"_index":4208,"title":{},"body":{"index.html":{}}}],["neuron",{"_index":1173,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["neuron.svg",{"_index":1174,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["never",{"_index":829,"title":{},"body":{"components/ContainerComponent.html":{},"miscellaneous/functions.html":{}}}],["new",{"_index":141,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["newplacement",{"_index":2213,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["newplacement.x_translation",{"_index":2216,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["newplacement.y_translation",{"_index":2217,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["newplacement.z_translation",{"_index":2218,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["newposition",{"_index":377,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"interfaces/User.html":{}}}],["newrotation",{"_index":2810,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["newstructures",{"_index":2073,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["next",{"_index":124,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["nextmessageid",{"_index":1892,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["ng",{"_index":1314,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ng5",{"_index":4130,"title":{},"body":{"dependencies.html":{}}}],["ngacceptinputtype_expanded",{"_index":1629,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngacceptinputtype_opened",{"_index":1628,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngacceptinputtype_position",{"_index":1627,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngafterviewinit",{"_index":767,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["ngdobootstrap",{"_index":553,"title":{},"body":{"modules/AppModule.html":{}}}],["ngmodule",{"_index":556,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["ngonchanges",{"_index":2664,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["ngondestroy",{"_index":230,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["ngoninit",{"_index":231,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/RegistrationModalComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{}}}],["ngx",{"_index":668,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["ngxs",{"_index":107,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["ngxs/logger",{"_index":3118,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/storage",{"_index":3121,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/store",{"_index":110,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["ngxs/store/operators",{"_index":2286,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["ngxsdataentitycollectionsrepository",{"_index":17,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["ngxsdatapluginmodule",{"_index":3115,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdatapluginmodule.forroot",{"_index":3130,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdatarepository",{"_index":1396,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["ngxsimmutabledatarepository",{"_index":1941,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ngxsloggerpluginmodule",{"_index":3117,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsloggerpluginmodule.forroot",{"_index":3142,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule",{"_index":3122,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule.forroot(root_states",{"_index":3131,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsoninit",{"_index":29,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ngxsstoragepluginmodule",{"_index":3120,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsstoragepluginmodule.forroot",{"_index":3139,"title":{},"body":{"modules/StoreModule.html":{}}}],["nih",{"_index":4213,"title":{},"body":{"index.html":{}}}],["node",{"_index":3295,"title":{},"body":{"components/TagSearchComponent.html":{},"dependencies.html":{}}}],["node.representation_of",{"_index":2936,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodecollisions",{"_index":2852,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodedragevent",{"_index":881,"title":{},"body":{"components/ContentComponent.html":{}}}],["nodes",{"_index":1165,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/variables.html":{}}}],["nodes.filter((model",{"_index":2947,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodes.map(n",{"_index":2921,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodes.svg",{"_index":1166,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["none",{"_index":413,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["noninfringement",{"_index":4257,"title":{},"body":{"license.html":{}}}],["nonnullable",{"_index":641,"title":{},"body":{"components/AppWebComponent.html":{},"miscellaneous/typealiases.html":{}}}],["normalizeplacement",{"_index":2328,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["normalizeplacement(place",{"_index":2201,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["not(.cdk",{"_index":2833,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["not(:last",{"_index":725,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["note",{"_index":3584,"title":{},"body":{"changelog.html":{}}}],["notebooks",{"_index":3576,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":4196,"title":{},"body":{"index.html":{}}}],["nothing",{"_index":2364,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["notice",{"_index":3847,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":3651,"title":{},"body":{"changelog.html":{}}}],["nowrap",{"_index":3101,"title":{},"body":{"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["null",{"_index":1405,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{}}}],["null)?.getcontainerelement",{"_index":3384,"title":{},"body":{"injectables/ThemingService.html":{}}}],["nullish",{"_index":2226,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["number",{"_index":71,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["number(value.slice(0",{"_index":1569,"title":{},"body":{"classes/InitializationState.html":{}}}],["numbersonlymodule",{"_index":3027,"title":{},"body":{"modules/SlicesInputModule.html":{}}}],["numeric",{"_index":3851,"title":{},"body":{"changelog.html":{}}}],["numslices",{"_index":1968,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["o.id",{"_index":2035,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["o.organ.tolowercase",{"_index":2038,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["o.side",{"_index":2036,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["obj",{"_index":3170,"title":{},"body":{"components/TagListComponent.html":{}}}],["object",{"_index":1115,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["object.entries(entities).foreach(([id",{"_index":144,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["object.keys(db.organirilookup).find((code",{"_index":2229,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["object.keys(this.initialstate",{"_index":1993,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["object.values(aslookup",{"_index":2095,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["object.values(this.checkedresults).some(v",{"_index":3280,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["objects",{"_index":659,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["observable",{"_index":96,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["observableinput",{"_index":82,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/TagSearchComponent.html":{}}}],["observables",{"_index":3257,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["obtaining",{"_index":4226,"title":{},"body":{"license.html":{}}}],["off/on",{"_index":3826,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":3924,"title":{},"body":{"changelog.html":{}}}],["offset",{"_index":1039,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["offsets",{"_index":2763,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["old",{"_index":4178,"title":{},"body":{"index.html":{}}}],["oldposition",{"_index":369,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["oldposition.x",{"_index":391,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["oldposition.y",{"_index":388,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["oldposition.z",{"_index":383,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["once",{"_index":1110,"title":{},"body":{"modules/CoreModule.html":{}}}],["onchanges",{"_index":2660,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["ondestroy",{"_index":206,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["one",{"_index":1302,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{},"index.html":{}}}],["oninit",{"_index":207,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/RegistrationModalComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{}}}],["online",{"_index":3932,"title":{},"body":{"changelog.html":{}}}],["onorganirichange",{"_index":2078,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ontological",{"_index":3983,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":3887,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":3586,"title":{},"body":{"changelog.html":{}}}],["ontology/ccf",{"_index":2604,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["ontologyid",{"_index":1346,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["opacities",{"_index":3831,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":965,"title":{},"body":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["opacityslidermodule",{"_index":1846,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/VisibilityMenuModule.html":{}}}],["open",{"_index":222,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/ReviewButtonComponent.html":{},"interfaces/User.html":{},"miscellaneous/typealiases.html":{}}}],["open/close",{"_index":1546,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["openapi",{"_index":3685,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/js",{"_index":4192,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":4194,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":4193,"title":{},"body":{"index.html":{}}}],["opendialog",{"_index":2400,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["opened",{"_index":1010,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["opened(value",{"_index":1533,"title":{},"body":{"classes/InitializationState.html":{}}}],["opened/closed",{"_index":1489,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["openedchange",{"_index":1541,"title":{},"body":{"classes/InitializationState.html":{}}}],["openedstate",{"_index":1490,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["openexpanded",{"_index":1586,"title":{},"body":{"classes/InitializationState.html":{}}}],["opening/closing/expanding",{"_index":1507,"title":{},"body":{"classes/InitializationState.html":{}}}],["openresults",{"_index":3200,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["opens",{"_index":1575,"title":{},"body":{"classes/InitializationState.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/TagSearchComponent.html":{}}}],["opposite",{"_index":1494,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["optimization",{"_index":3777,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":3917,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":3808,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":1700,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"changelog.html":{}}}],["optional",{"_index":46,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["options",{"_index":1292,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["options:first",{"_index":1323,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["options:last",{"_index":1324,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["optionsel",{"_index":3047,"title":{},"body":{"components/StageNavComponent.html":{}}}],["optionsel.contains(target",{"_index":3089,"title":{},"body":{"components/StageNavComponent.html":{}}}],["optionsref",{"_index":3039,"title":{},"body":{"components/StageNavComponent.html":{}}}],["ordering",{"_index":1964,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organ",{"_index":299,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/ExtractionSet.html":{},"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{},"miscellaneous/typealiases.html":{}}}],["organ.name",{"_index":2057,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organ.side",{"_index":2058,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organ.src",{"_index":2415,"title":{},"body":{"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["organ.touppercase",{"_index":2222,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organ?.name",{"_index":1780,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["organconfig.name.tolowercase",{"_index":2011,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organconfig.ontologyid",{"_index":2014,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organconfig.sex?.tolowercase",{"_index":2020,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organconfig.side",{"_index":2013,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdata",{"_index":2148,"title":{"interfaces/OrganData.html":{}},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"coverage.html":{}}}],["organdimensions",{"_index":943,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdimensions.x",{"_index":946,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdimensions.y",{"_index":947,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdimensions.z",{"_index":2106,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdimensions.z].map(n",{"_index":948,"title":{},"body":{"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["organinfo",{"_index":1938,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organinfo.sex",{"_index":2224,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organinfo?.sex",{"_index":2223,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organinfo?.side?.tolowercase",{"_index":2021,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organinfo?.side].join('|').touppercase",{"_index":2228,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organiri",{"_index":1932,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organirilookup",{"_index":2179,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organlist",{"_index":223,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"interfaces/User.html":{}}}],["organname",{"_index":2010,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organs",{"_index":303,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["organs/anatomical",{"_index":3833,"title":{},"body":{"changelog.html":{}}}],["organselect",{"_index":2348,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["organselect(organ",{"_index":2359,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["organselected",{"_index":1734,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["organselector.expanded",{"_index":396,"title":{},"body":{"components/AppComponent.html":{}}}],["organselectormodule",{"_index":570,"title":{},"body":{"modules/AppModule.html":{},"modules/RegistrationContentModule.html":{}}}],["organside",{"_index":2012,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organspatialentities",{"_index":2181,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["orthographic",{"_index":3746,"title":{},"body":{"changelog.html":{}}}],["ot",{"_index":1122,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["ot2od026671",{"_index":4215,"title":{},"body":{"index.html":{}}}],["other.expanded",{"_index":1615,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.expandedstate2",{"_index":1616,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.margin2",{"_index":1621,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.measuredmargin",{"_index":1619,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.measuredwidth",{"_index":1618,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.opened",{"_index":1617,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.width",{"_index":1620,"title":{},"body":{"classes/InitializationState.html":{}}}],["otherwise",{"_index":896,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"license.html":{}}}],["out",{"_index":424,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"classes/InitializationState.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"license.html":{},"overview.html":{}}}],["outline",{"_index":3315,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["output",{"_index":666,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["outputs",{"_index":704,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["outside",{"_index":2806,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ovaries",{"_index":1175,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["ovaries.svg",{"_index":1176,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["ovary",{"_index":1177,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["over",{"_index":3501,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["overall",{"_index":3612,"title":{},"body":{"changelog.html":{}}}],["overflow",{"_index":406,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagListComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["overlay",{"_index":1331,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["overlaycontainer",{"_index":3365,"title":{},"body":{"injectables/ThemingService.html":{}}}],["overlays",{"_index":3973,"title":{},"body":{"changelog.html":{}}}],["override",{"_index":2464,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["overview",{"_index":4271,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["owning",{"_index":3392,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["p",{"_index":2162,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["p.target",{"_index":2957,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.translation_units",{"_index":2164,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.x_rotation",{"_index":2171,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.x_scaling",{"_index":2174,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.x_translation",{"_index":2168,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.y_rotation",{"_index":2172,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.y_scaling",{"_index":2175,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.y_translation",{"_index":2169,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.z_rotation].map(toradians",{"_index":2173,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.z_scaling",{"_index":2176,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.z_translation].map((n",{"_index":2960,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.z_translation].map(t",{"_index":2170,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["package",{"_index":3656,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["padding",{"_index":427,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["padding/margin/height",{"_index":3313,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["page",{"_index":23,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{}}}],["page.registrationcallbackset",{"_index":2591,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["page.registrationcallbackset$.subscribe((callbackset",{"_index":341,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["page.registrationstarted$.subscribe((registrationstarted",{"_index":344,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["page.user.firstname",{"_index":2569,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["page.user.lastname",{"_index":2570,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["page/page.state",{"_index":120,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{}}}],["pages",{"_index":3719,"title":{},"body":{"changelog.html":{}}}],["pagestate",{"_index":91,"title":{"injectables/PageState.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["pagestatemodel",{"_index":2290,"title":{"interfaces/PageStateModel.html":{}},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"coverage.html":{}}}],["pair",{"_index":1623,"title":{},"body":{"classes/InitializationState.html":{}}}],["paired",{"_index":3709,"title":{},"body":{"changelog.html":{}}}],["palatine",{"_index":1178,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["pancreas",{"_index":1181,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["pancreas.svg",{"_index":1182,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["pane",{"_index":1332,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"changelog.html":{}}}],["panel",{"_index":1258,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["panelclass",{"_index":2706,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["param",{"_index":160,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["parameters",{"_index":42,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["params",{"_index":1502,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["parent",{"_index":1867,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{}}}],["parent.messages.pipe(takewhile",{"_index":1899,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["parse",{"_index":651,"title":{},"body":{"components/AppWebComponent.html":{}}}],["parsed",{"_index":1650,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["parsedjson",{"_index":1639,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["parser",{"_index":4093,"title":{},"body":{"dependencies.html":{}}}],["partial",{"_index":3146,"title":{},"body":{"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{}}}],["particular",{"_index":4255,"title":{},"body":{"license.html":{}}}],["partly",{"_index":3818,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":3759,"title":{},"body":{"changelog.html":{}}}],["parts",{"_index":1445,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.join",{"_index":1450,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('innamespace",{"_index":1449,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('literal",{"_index":1448,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('set",{"_index":1447,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["pass",{"_index":2066,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["passed",{"_index":1767,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["passing",{"_index":1773,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["patch",{"_index":2285,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["patch(name",{"_index":2310,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["patchplacement",{"_index":2203,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["patchplacement.target",{"_index":2215,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["path",{"_index":4115,"title":{},"body":{"dependencies.html":{}}}],["payload",{"_index":1060,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/typealiases.html":{}}}],["pbr",{"_index":2867,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["pelvis",{"_index":1183,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["per",{"_index":1967,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["performance",{"_index":3660,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":4221,"title":{},"body":{"license.html":{}}}],["permit",{"_index":4240,"title":{},"body":{"license.html":{}}}],["person",{"_index":2289,"title":{"interfaces/Person.html":{}},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"coverage.html":{},"license.html":{}}}],["persons",{"_index":4241,"title":{},"body":{"license.html":{}}}],["pick",{"_index":2266,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"changelog.html":{}}}],["piece",{"_index":3231,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["pipe",{"_index":2914,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["pipe(filter(s",{"_index":2314,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["pipe(mergeall",{"_index":1901,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["place",{"_index":2214,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.x_rotation",{"_index":2550,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.x_translation",{"_index":2208,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.y_rotation",{"_index":2551,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.y_translation",{"_index":2209,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.z_rotation",{"_index":2552,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.z_translation",{"_index":2210,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["placed",{"_index":3129,"title":{},"body":{"modules/StoreModule.html":{}}}],["placeholder",{"_index":1655,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["placement",{"_index":2161,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["placement.length",{"_index":2944,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["placement_date",{"_index":2630,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["placementcube",{"_index":2854,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["placementpatches",{"_index":2184,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["placenta",{"_index":1186,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["placenta.svg",{"_index":1187,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["play",{"_index":3461,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["play_circle_outline",{"_index":3458,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["player",{"_index":3427,"title":{},"body":{"components/VideoModalComponent.html":{},"modules/VideoModalModule.html":{},"dependencies.html":{}}}],["pluck",{"_index":1952,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["pluckunique",{"_index":2287,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["plugin",{"_index":3119,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["plugins",{"_index":3138,"title":{},"body":{"modules/StoreModule.html":{}}}],["pluralizing",{"_index":3253,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["plus",{"_index":3604,"title":{},"body":{"changelog.html":{}}}],["pointer",{"_index":437,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["populated",{"_index":2232,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["popup",{"_index":3062,"title":{},"body":{"components/StageNavComponent.html":{},"changelog.html":{}}}],["portal",{"_index":1378,"title":{},"body":{"components/HeaderComponent.html":{},"changelog.html":{},"index.html":{}}}],["portal's",{"_index":3911,"title":{},"body":{"changelog.html":{}}}],["portions",{"_index":4248,"title":{},"body":{"license.html":{}}}],["position",{"_index":257,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["position(value",{"_index":1529,"title":{},"body":{"classes/InitializationState.html":{}}}],["position.x",{"_index":955,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["position.x.tofixed(1)}_${position.y.tofixed(1)}_${position.z.tofixed(1",{"_index":2044,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["position.y",{"_index":2212,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["position.z",{"_index":953,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["position.z].map((n",{"_index":2980,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["positions",{"_index":791,"title":{},"body":{"components/ContainerComponent.html":{}}}],["possible",{"_index":1937,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["posterior",{"_index":954,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["potential",{"_index":2220,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["pre",{"_index":3540,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["preclose",{"_index":360,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["preferences",{"_index":3733,"title":{},"body":{"changelog.html":{}}}],["preparation",{"_index":3957,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":3971,"title":{},"body":{"changelog.html":{}}}],["preserved",{"_index":3236,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["pressed",{"_index":270,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["prev",{"_index":3304,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["prev[id",{"_index":3307,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["prevent",{"_index":3639,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":3744,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":1758,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["previousitems",{"_index":2068,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["previousitems.map(structure",{"_index":2074,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["previously",{"_index":3678,"title":{},"body":{"changelog.html":{}}}],["previousregistrationnodes",{"_index":2853,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["previousregistrations",{"_index":2439,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["previousregistrations.map((entity",{"_index":2953,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["previousvisibility",{"_index":1791,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["previousvisibilityitems",{"_index":1735,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["prevnodes",{"_index":2916,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["private",{"_index":20,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["process",{"_index":1003,"title":{},"body":{"components/ContentComponent-1.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["processed",{"_index":3903,"title":{},"body":{"changelog.html":{}}}],["processes",{"_index":779,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["processing",{"_index":3734,"title":{},"body":{"changelog.html":{}}}],["production",{"_index":3666,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":3652,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":2687,"title":{},"body":{"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["projected",{"_index":787,"title":{},"body":{"components/ContainerComponent.html":{}}}],["projects",{"_index":4166,"title":{},"body":{"index.html":{}}}],["projects/.../anatomical",{"_index":4282,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../app",{"_index":4277,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../block",{"_index":4286,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../config.ts",{"_index":4158,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/.../container.component.ts",{"_index":4159,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../default",{"_index":4287,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../drawer.component.ts",{"_index":4279,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../message.service.ts",{"_index":4292,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../messages.ts",{"_index":4278,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../meta",{"_index":4280,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../model.state.ts",{"_index":4283,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../reference",{"_index":4156,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../rotation",{"_index":4288,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../scene.state.ts",{"_index":4157,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../slices",{"_index":4290,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../stage",{"_index":4281,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../store.module.ts",{"_index":4293,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../tag",{"_index":4289,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../theming.service.ts",{"_index":4291,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/ccf",{"_index":6,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":1477,"title":{},"body":{"classes/InitializationState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["promise(r",{"_index":2556,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["promise(resolve",{"_index":1474,"title":{},"body":{"classes/InitializationState.html":{}}}],["properties",{"_index":19,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["property",{"_index":467,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["prostate",{"_index":1188,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["prostate.svg",{"_index":1189,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["provide",{"_index":589,"title":{},"body":{"modules/AppModule.html":{},"modules/ConfigModule.html":{},"modules/DrawerModule.html":{},"modules/ThemingModule.html":{}}}],["provided",{"_index":799,"title":{},"body":{"components/ContainerComponent.html":{},"changelog.html":{},"license.html":{}}}],["providedin",{"_index":1871,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/variables.html":{}}}],["providers",{"_index":588,"title":{},"body":{"modules/AppModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"modules/DrawerModule.html":{},"modules/ThemingModule.html":{},"changelog.html":{}}}],["providing",{"_index":979,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["public",{"_index":2342,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{},"changelog.html":{}}}],["publish",{"_index":4234,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":3654,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":4256,"title":{},"body":{"license.html":{}}}],["purposes",{"_index":915,"title":{},"body":{"components/ContentComponent.html":{},"components/JsonFileReaderComponent.html":{}}}],["push",{"_index":2408,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["pushed",{"_index":3792,"title":{},"body":{"changelog.html":{}}}],["px",{"_index":1521,"title":{},"body":{"classes/InitializationState.html":{}}}],["python",{"_index":3577,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["q",{"_index":381,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["qs",{"_index":4136,"title":{},"body":{"dependencies.html":{}}}],["qualitative",{"_index":3913,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":3698,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":935,"title":{},"body":{"components/ContentComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["query",{"_index":3981,"title":{},"body":{"changelog.html":{}}}],["querying",{"_index":3620,"title":{},"body":{"changelog.html":{}}}],["querylist",{"_index":795,"title":{},"body":{"components/ContainerComponent.html":{}}}],["quickly",{"_index":3897,"title":{},"body":{"changelog.html":{}}}],["r",{"_index":1753,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["radius",{"_index":451,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ratio",{"_index":2635,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["rc.1",{"_index":3919,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":4138,"title":{},"body":{"dependencies.html":{}}}],["rdfjs",{"_index":4066,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":4088,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":4139,"title":{},"body":{"dependencies.html":{}}}],["reactiveformsmodule",{"_index":2147,"title":{},"body":{"modules/NameInputModule.html":{},"modules/TagSearchModule.html":{}}}],["read",{"_index":3249,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["readable",{"_index":4141,"title":{},"body":{"dependencies.html":{}}}],["reader",{"_index":1633,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader'},{'name",{"_index":494,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["reader.component",{"_index":1679,"title":{},"body":{"modules/JsonFileReaderModule.html":{}}}],["reader.component.html",{"_index":1635,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.scss",{"_index":1634,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts",{"_index":1632,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"coverage.html":{}}}],["reader.component.ts:12",{"_index":1647,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:14",{"_index":1658,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:17",{"_index":1642,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:20",{"_index":1640,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:33",{"_index":1651,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:43",{"_index":1649,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.module",{"_index":1853,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["reader.module.ts",{"_index":1678,"title":{},"body":{"modules/JsonFileReaderModule.html":{}}}],["reader/json",{"_index":1631,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["readonly",{"_index":161,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["real",{"_index":3931,"title":{},"body":{"changelog.html":{}}}],["reason",{"_index":3127,"title":{},"body":{"modules/StoreModule.html":{}}}],["receive",{"_index":993,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{}}}],["receiving",{"_index":1873,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["record",{"_index":1343,"title":{},"body":{"interfaces/GlobalConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagSearchComponent.html":{}}}],["rectify",{"_index":3683,"title":{},"body":{"changelog.html":{}}}],["reduce",{"_index":3782,"title":{},"body":{"changelog.html":{}}}],["reduce((acc",{"_index":2939,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["reduction",{"_index":3632,"title":{},"body":{"changelog.html":{}}}],["refdata",{"_index":2430,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reference",{"_index":90,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["referencedata",{"_index":2005,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["referencedatastate",{"_index":1960,"title":{"injectables/ReferenceDataState.html":{}},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["referencedatastatemodel",{"_index":2178,"title":{"interfaces/ReferenceDataStateModel.html":{}},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"coverage.html":{}}}],["referenceorgannodes",{"_index":2850,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["referenceorgansimplenodes",{"_index":2851,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["references",{"_index":1014,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["refernced",{"_index":3710,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":713,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["refreshblocksize",{"_index":701,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["refreshes",{"_index":700,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["refreshslices",{"_index":3009,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["reg",{"_index":2455,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["reg.creator_first_name",{"_index":2538,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.creator_last_name",{"_index":2539,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.placement",{"_index":2535,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.placement[0",{"_index":2534,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.slice_count",{"_index":2555,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.slice_thickness",{"_index":2554,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.x_dimension",{"_index":2546,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.y_dimension",{"_index":2547,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.z_dimension",{"_index":2548,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["regions",{"_index":3974,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":612,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{},"miscellaneous/typealiases.html":{}}}],["register(usecallback",{"_index":2459,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["register/download",{"_index":2465,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["registerbuttonclick",{"_index":2349,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["registerbuttonclick(event",{"_index":2361,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["registerdata",{"_index":2667,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["registered",{"_index":1131,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["registericon",{"_index":1428,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registericon(definition",{"_index":1425,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registericonimpl",{"_index":1455,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registericonimpl(definition",{"_index":1429,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registering",{"_index":1391,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["registers",{"_index":1423,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["registration",{"_index":308,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["registration.registrations",{"_index":3140,"title":{},"body":{"modules/StoreModule.html":{}}}],["registration/registration.state",{"_index":2895,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["registrationcallback",{"_index":629,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"miscellaneous/typealiases.html":{}}}],["registrationcallback?.(json",{"_index":2582,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["registrationcallbackset",{"_index":2245,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["registrationcontentcomponent",{"_index":502,"title":{"components/RegistrationContentComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["registrationcontentmodule",{"_index":2390,"title":{"modules/RegistrationContentModule.html":{}},"body":{"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules.html":{},"overview.html":{}}}],["registrationisvalid",{"_index":2665,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["registrationmodalcomponent",{"_index":503,"title":{"components/RegistrationModalComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["registrationmodalmodule",{"_index":545,"title":{"modules/RegistrationModalModule.html":{}},"body":{"modules/AppModule.html":{},"modules/RegistrationModalModule.html":{},"modules.html":{},"overview.html":{}}}],["registrations",{"_index":2428,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"changelog.html":{}}}],["registrationstarted",{"_index":224,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/GlobalConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/User.html":{}}}],["registrationstate",{"_index":875,"title":{"injectables/RegistrationState.html":{}},"body":{"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["registrationstated",{"_index":2273,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["registrationstatemodel",{"_index":2506,"title":{"interfaces/RegistrationStateModel.html":{}},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"coverage.html":{}}}],["registry",{"_index":1401,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registry.state",{"_index":3123,"title":{},"body":{"modules/StoreModule.html":{}}}],["registry.state.ts",{"_index":1390,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{}}}],["registry.state.ts:127",{"_index":1461,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:147",{"_index":1459,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:45",{"_index":1457,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:58",{"_index":1462,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:87",{"_index":1463,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:97",{"_index":1464,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry/default",{"_index":1113,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["registry/icon",{"_index":1389,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/StoreModule.html":{},"coverage.html":{}}}],["registry[methodname",{"_index":1435,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["regs",{"_index":2516,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["related",{"_index":3812,"title":{},"body":{"changelog.html":{}}}],["relative",{"_index":417,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/typealiases.html":{}}}],["release",{"_index":3572,"title":{},"body":{"changelog.html":{}}}],["relevant",{"_index":1775,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["reliability",{"_index":3849,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":3741,"title":{},"body":{"changelog.html":{}}}],["removable",{"_index":3149,"title":{},"body":{"components/TagListComponent.html":{}}}],["remove",{"_index":3161,"title":{},"body":{"components/TagListComponent.html":{},"injectables/ThemingService.html":{}}}],["removeclass",{"_index":3386,"title":{},"body":{"injectables/ThemingService.html":{}}}],["removed",{"_index":143,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"interfaces/TagSearchResult.html":{},"changelog.html":{}}}],["removed.add(id",{"_index":146,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["removed.has(iri",{"_index":151,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["removeeventlistener('beforeunload",{"_index":2324,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["removes",{"_index":3160,"title":{},"body":{"components/TagListComponent.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["removetag",{"_index":30,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/TagListComponent.html":{}}}],["removetag(tag",{"_index":66,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagListComponent.html":{}}}],["renderer",{"_index":3380,"title":{},"body":{"injectables/ThemingService.html":{}}}],["renderer2",{"_index":3367,"title":{},"body":{"injectables/ThemingService.html":{},"components/VideoModalComponent.html":{}}}],["renderer[methodname](overlay",{"_index":3388,"title":{},"body":{"injectables/ThemingService.html":{}}}],["renderer[methodname](root",{"_index":3387,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rendering",{"_index":3032,"title":{},"body":{"components/StageNavComponent.html":{}}}],["renders",{"_index":1227,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["repeat",{"_index":1382,"title":{},"body":{"components/HeaderComponent.html":{}}}],["replaysubject",{"_index":328,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["replaysubject(1",{"_index":317,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["repository",{"_index":4163,"title":{},"body":{"index.html":{}}}],["representation",{"_index":2476,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["required",{"_index":3890,"title":{},"body":{"changelog.html":{}}}],["requiredvalues",{"_index":2568,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["requiredvalues.every(value",{"_index":2574,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["researcher's",{"_index":2111,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["reset",{"_index":548,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"components/ContentComponent.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["resetitem",{"_index":3483,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["resetrotation",{"_index":2821,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["resets",{"_index":3223,"title":{},"body":{"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["resetstage",{"_index":873,"title":{},"body":{"components/ContentComponent.html":{}}}],["resettheme",{"_index":3341,"title":{},"body":{"injectables/ThemingService.html":{}}}],["resize",{"_index":885,"title":{},"body":{"components/ContentComponent.html":{}}}],["resizesensor",{"_index":929,"title":{},"body":{"components/ContentComponent.html":{}}}],["resizesensor(this.rootref.nativeelement",{"_index":940,"title":{},"body":{"components/ContentComponent.html":{}}}],["resolve",{"_index":1470,"title":{},"body":{"classes/InitializationState.html":{}}}],["resolved",{"_index":3797,"title":{},"body":{"changelog.html":{}}}],["resolver",{"_index":1415,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["resolves",{"_index":810,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["respond",{"_index":3757,"title":{},"body":{"changelog.html":{}}}],["response",{"_index":3497,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["restriction",{"_index":4229,"title":{},"body":{"license.html":{}}}],["result",{"_index":84,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["result.label",{"_index":3309,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["result.results",{"_index":3301,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["result.results.reduce((acc",{"_index":3305,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["results",{"_index":80,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["resultsvisible",{"_index":3193,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["retracted",{"_index":462,"title":{},"body":{"components/AppComponent.html":{}}}],["return",{"_index":134,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["returned",{"_index":79,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{}}}],["returns",{"_index":55,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/functions.html":{}}}],["reusable",{"_index":1223,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["reverted",{"_index":3508,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["review",{"_index":506,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["review/review",{"_index":2792,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["review_button",{"_index":2703,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["reviewbuttoncomponent",{"_index":505,"title":{"components/ReviewButtonComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["reviewbuttonmodule",{"_index":2714,"title":{"modules/ReviewButtonModule.html":{}},"body":{"modules/ReviewButtonModule.html":{},"modules/RightSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["reviewing",{"_index":2721,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["reviewmodal",{"_index":2659,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["reviewmodalcomponent",{"_index":508,"title":{"components/ReviewModalComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["reviewmodaldata",{"_index":2724,"title":{"interfaces/ReviewModalData.html":{}},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"coverage.html":{}}}],["reviewmodalmodule",{"_index":2719,"title":{"modules/ReviewModalModule.html":{}},"body":{"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules.html":{},"overview.html":{}}}],["rgb",{"_index":4120,"title":{},"body":{"dependencies.html":{}}}],["right",{"_index":453,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["right.px",{"_index":991,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["right.svg",{"_index":1148,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["rightmargin",{"_index":984,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rights",{"_index":4231,"title":{},"body":{"license.html":{}}}],["rightsidebarcomponent",{"_index":509,"title":{"components/RightSidebarComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["rightsidebarmodule",{"_index":546,"title":{"modules/RightSidebarModule.html":{}},"body":{"modules/AppModule.html":{},"modules/RightSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["root",{"_index":213,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["root'},{'name",{"_index":473,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["root_states",{"_index":3125,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rootref",{"_index":876,"title":{},"body":{"components/ContentComponent.html":{}}}],["rotatednodes",{"_index":2849,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotates",{"_index":3742,"title":{},"body":{"changelog.html":{}}}],["rotatexyz([p.x_rotation",{"_index":2962,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotatexyz([rotation.x",{"_index":2981,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotation",{"_index":511,"title":{"interfaces/Rotation.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rotation.x",{"_index":2829,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["rotation.y",{"_index":2830,"title":{},"body":{"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotation.z",{"_index":2831,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["rotation.z].map(toradians",{"_index":2982,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotation_order",{"_index":2642,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["rotation_slider",{"_index":2816,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["rotation_units",{"_index":2643,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["rotationchange",{"_index":2808,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["rotations",{"_index":2819,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["rotationslidercomponent",{"_index":510,"title":{"components/RotationSliderComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["rotationslidermodule",{"_index":2777,"title":{"modules/RotationSliderModule.html":{}},"body":{"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules.html":{},"overview.html":{}}}],["round",{"_index":3836,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":3852,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":3618,"title":{},"body":{"changelog.html":{}}}],["ru/common",{"_index":4056,"title":{},"body":{"dependencies.html":{}}}],["ru/common/entity",{"_index":103,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["ru/common/typings",{"_index":2152,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["rui",{"_index":601,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"changelog.html":{},"index.html":{}}}],["rui/src/app/app",{"_index":602,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["rui/src/app/app.component.ts",{"_index":203,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{},"coverage.html":{}}}],["rui/src/app/app.component.ts:100",{"_index":279,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:118",{"_index":280,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:128",{"_index":266,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:167",{"_index":254,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:178",{"_index":276,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:35",{"_index":302,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:38",{"_index":298,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:41",{"_index":305,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:44",{"_index":288,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:46",{"_index":320,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:50",{"_index":316,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:51",{"_index":318,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:53",{"_index":290,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:54",{"_index":293,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:55",{"_index":296,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:57",{"_index":314,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:59",{"_index":291,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:61",{"_index":294,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:64",{"_index":249,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.module.ts",{"_index":549,"title":{},"body":{"modules/AppModule.html":{}}}],["rui/src/app/app.module.ts:58",{"_index":554,"title":{},"body":{"modules/AppModule.html":{}}}],["rui/src/app/core/core.module.ts",{"_index":1093,"title":{},"body":{"modules/CoreModule.html":{}}}],["rui/src/app/core/models/anatomical",{"_index":3143,"title":{},"body":{"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["rui/src/app/core/models/documentation.ts",{"_index":1254,"title":{},"body":{"interfaces/DocumentationContent.html":{},"coverage.html":{}}}],["rui/src/app/core/models/extraction",{"_index":1272,"title":{},"body":{"interfaces/ExtractionSet.html":{},"coverage.html":{}}}],["rui/src/app/core/models/meta",{"_index":1924,"title":{},"body":{"interfaces/MetaDataField.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["rui/src/app/core/models/visibility",{"_index":3473,"title":{},"body":{"interfaces/VisibilityItem.html":{},"coverage.html":{}}}],["rui/src/app/core/services/config/config.module.ts",{"_index":746,"title":{},"body":{"modules/ConfigModule.html":{}}}],["rui/src/app/core/services/config/config.ts",{"_index":1342,"title":{},"body":{"interfaces/GlobalConfig.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/core/services/theming/theming.module.ts",{"_index":3330,"title":{},"body":{"modules/ThemingModule.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts",{"_index":3335,"title":{},"body":{"injectables/ThemingService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:13",{"_index":3362,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:14",{"_index":3363,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:16",{"_index":3361,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:18",{"_index":3364,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:21",{"_index":3351,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:25",{"_index":3344,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:39",{"_index":3348,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:48",{"_index":3360,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:60",{"_index":3358,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:71",{"_index":3356,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:83",{"_index":3346,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/store/anatomical",{"_index":7,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"coverage.html":{}}}],["rui/src/app/core/store/icon",{"_index":1112,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/core/store/model/model.state.ts",{"_index":1927,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/core/store/page/page.state.ts",{"_index":2243,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"coverage.html":{}}}],["rui/src/app/core/store/page/page.state.ts:110",{"_index":2257,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:125",{"_index":2264,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:135",{"_index":2267,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:145",{"_index":2261,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:152",{"_index":2262,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:162",{"_index":2258,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:168",{"_index":2259,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:56",{"_index":2277,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:58",{"_index":2272,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:59",{"_index":2275,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:60",{"_index":2270,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:63",{"_index":2279,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:68",{"_index":2281,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:76",{"_index":2283,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:78",{"_index":2256,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:94",{"_index":2260,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/reference",{"_index":2149,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts",{"_index":2427,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"coverage.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:102",{"_index":2494,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:107",{"_index":2480,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:110",{"_index":2479,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:113",{"_index":2481,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:116",{"_index":2443,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:134",{"_index":2458,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:157",{"_index":2454,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:200",{"_index":2471,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:210",{"_index":2468,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:220",{"_index":2445,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:226",{"_index":2457,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:239",{"_index":2498,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:248",{"_index":2460,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:283",{"_index":2451,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:317",{"_index":2447,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:370",{"_index":2473,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:52",{"_index":2478,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:56",{"_index":2483,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:64",{"_index":2485,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:71",{"_index":2487,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:81",{"_index":2489,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:96",{"_index":2491,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts",{"_index":2847,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:118",{"_index":2883,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:129",{"_index":2885,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:157",{"_index":2887,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:164",{"_index":2888,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:182",{"_index":2890,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:204",{"_index":2870,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:221",{"_index":2871,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:222",{"_index":2872,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:223",{"_index":2855,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:239",{"_index":2858,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:249",{"_index":2857,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:52",{"_index":2874,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:63",{"_index":2876,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:80",{"_index":2878,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:90",{"_index":2881,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/store.module.ts",{"_index":3114,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/modules/content/content.component.ts",{"_index":863,"title":{},"body":{"components/ContentComponent.html":{},"coverage.html":{}}}],["rui/src/app/modules/content/content.component.ts:106",{"_index":893,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:113",{"_index":887,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:119",{"_index":882,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:26",{"_index":879,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:28",{"_index":928,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:33",{"_index":918,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:37",{"_index":909,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:48",{"_index":919,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:53",{"_index":910,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:58",{"_index":931,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:61",{"_index":877,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:84",{"_index":886,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:97",{"_index":883,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.module.ts",{"_index":1081,"title":{},"body":{"modules/ContentModule.html":{}}}],["rui/src/app/modules/content/stage",{"_index":3028,"title":{},"body":{"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["rui/src/app/modules/content/video",{"_index":3419,"title":{},"body":{"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"coverage.html":{}}}],["rui/src/app/modules/header/header.component.ts",{"_index":1355,"title":{},"body":{"components/HeaderComponent.html":{},"coverage.html":{}}}],["rui/src/app/modules/header/header.component.ts:17",{"_index":1361,"title":{},"body":{"components/HeaderComponent.html":{}}}],["rui/src/app/modules/header/header.component.ts:19",{"_index":1360,"title":{},"body":{"components/HeaderComponent.html":{}}}],["rui/src/app/modules/header/header.component.ts:21",{"_index":1359,"title":{},"body":{"components/HeaderComponent.html":{}}}],["rui/src/app/modules/header/header.module.ts",{"_index":1386,"title":{},"body":{"modules/HeaderModule.html":{}}}],["rui/src/app/modules/left",{"_index":1727,"title":{},"body":{"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["rui/src/app/modules/registration",{"_index":2337,"title":{},"body":{"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"coverage.html":{}}}],["rui/src/app/modules/review/review",{"_index":2655,"title":{},"body":{"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"coverage.html":{}}}],["rui/src/app/modules/right",{"_index":2755,"title":{},"body":{"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/block",{"_index":656,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/details",{"_index":1220,"title":{},"body":{"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts",{"_index":753,"title":{},"body":{"components/ContainerComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:105",{"_index":788,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:115",{"_index":778,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:124",{"_index":789,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:37",{"_index":775,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:41",{"_index":807,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:45",{"_index":798,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:48",{"_index":803,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:50",{"_index":809,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:55",{"_index":812,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:60",{"_index":793,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:62",{"_index":771,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:83",{"_index":784,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts",{"_index":978,"title":{},"body":{"components/ContentComponent-1.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:103",{"_index":1011,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:116",{"_index":1006,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:28",{"_index":996,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:30",{"_index":997,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:32",{"_index":999,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:34",{"_index":1000,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:36",{"_index":994,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:39",{"_index":1013,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:41",{"_index":992,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:60",{"_index":1005,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:70",{"_index":1002,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/drawer.module.ts",{"_index":1265,"title":{},"body":{"modules/DrawerModule.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts",{"_index":1467,"title":{},"body":{"classes/InitializationState.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:35",{"_index":1479,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:37",{"_index":1476,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:41",{"_index":1480,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:46",{"_index":1481,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:56",{"_index":1485,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:65",{"_index":1482,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/messages.ts",{"_index":1052,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/drawer/toggle",{"_index":3389,"title":{},"body":{"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/extraction",{"_index":1279,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/json",{"_index":1630,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/labeled",{"_index":1682,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/name",{"_index":2109,"title":{},"body":{"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/UserName.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/rotation",{"_index":2795,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/slices",{"_index":2994,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/tag",{"_index":3147,"title":{},"body":{"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/visibility",{"_index":3476,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/services/message/message.service.ts",{"_index":1854,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:103",{"_index":1914,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:112",{"_index":1915,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:128",{"_index":1922,"title":{},"body":{"injectables/MessageService.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:130",{"_index":1919,"title":{},"body":{"injectables/MessageService.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:153",{"_index":1921,"title":{},"body":{"injectables/MessageService.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:163",{"_index":1920,"title":{},"body":{"injectables/MessageService.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:50",{"_index":1911,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:70",{"_index":1916,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:83",{"_index":1912,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:93",{"_index":1913,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui_locations.jsonld",{"_index":3646,"title":{},"body":{"changelog.html":{}}}],["rui_organs",{"_index":301,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["ruiconfig",{"_index":1351,"title":{},"body":{"interfaces/GlobalConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["run",{"_index":783,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["runtime",{"_index":1120,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["rxjs",{"_index":113,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/GlobalConfig.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":115,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["s",{"_index":389,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/User.html":{}}}],["safehtml",{"_index":1392,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["saferesourceurl",{"_index":1393,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["same",{"_index":1965,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["sample",{"_index":3986,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["samples",{"_index":3784,"title":{},"body":{"changelog.html":{}}}],["sanitize",{"_index":1403,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["sanitized",{"_index":1123,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["sanitizer",{"_index":1402,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["saveas",{"_index":2500,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["saveas(data",{"_index":2587,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["saved",{"_index":2308,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["saver",{"_index":2501,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"dependencies.html":{}}}],["scaffolding",{"_index":3947,"title":{},"body":{"changelog.html":{}}}],["scale",{"_index":1376,"title":{},"body":{"components/HeaderComponent.html":{}}}],["scale([blocksize.x",{"_index":2983,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scale([entity.x_dimension",{"_index":2963,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scalex",{"_index":721,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["scaling_units",{"_index":2634,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["scene",{"_index":24,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["scene/scene.state",{"_index":121,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"modules/StoreModule.html":{}}}],["scenegraph",{"_index":2860,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scenenodelookup",{"_index":2182,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["scenestate",{"_index":92,"title":{"injectables/SceneState.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["scenestatemodel",{"_index":2896,"title":{"interfaces/SceneStateModel.html":{}},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"coverage.html":{}}}],["scheduled",{"_index":3798,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":3949,"title":{},"body":{"changelog.html":{}}}],["scheme",{"_index":282,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["schemes",{"_index":3914,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":4209,"title":{},"body":{"index.html":{}}}],["script",{"_index":3436,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["script.src",{"_index":3439,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["scroll",{"_index":1810,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["scrollbar",{"_index":1812,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["scrolling",{"_index":861,"title":{},"body":{"components/ContainerComponent.html":{}}}],["search",{"_index":77,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["search'},{'name",{"_index":520,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["search.component",{"_index":3327,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["search.component.html",{"_index":3188,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.scss",{"_index":3187,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts",{"_index":3184,"title":{},"body":{"components/TagSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["search.component.ts:104",{"_index":3238,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:116",{"_index":3241,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:125",{"_index":3237,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:132",{"_index":3222,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:150",{"_index":3218,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:163",{"_index":3220,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:179",{"_index":3229,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:198",{"_index":3245,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:218",{"_index":3233,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:34",{"_index":3217,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:37",{"_index":3210,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:40",{"_index":3211,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:43",{"_index":3212,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:46",{"_index":3213,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:49",{"_index":3216,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:52",{"_index":3250,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:55",{"_index":3251,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:61",{"_index":3260,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:64",{"_index":3263,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:67",{"_index":3247,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:70",{"_index":3258,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:73",{"_index":3208,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.module",{"_index":2791,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["search.module.ts",{"_index":3323,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["search/tag",{"_index":2790,"title":{},"body":{"modules/RightSidebarModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["searchcontrol",{"_index":3194,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchcontrol.reset",{"_index":3285,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searches",{"_index":74,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"changelog.html":{}}}],["searchexternal",{"_index":31,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["searchexternal(text",{"_index":68,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["searching",{"_index":3185,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchlimit",{"_index":3202,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchlimit)).pipe",{"_index":3299,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchresults",{"_index":3195,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchresults.results.filter(tag",{"_index":3282,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchresults.totalcount",{"_index":3310,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchthrottle",{"_index":3203,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["section",{"_index":3772,"title":{},"body":{"changelog.html":{}}}],["sections",{"_index":3020,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["see",{"_index":2355,"title":{},"body":{"components/RegistrationContentComponent.html":{},"changelog.html":{},"index.html":{}}}],["select",{"_index":1328,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["selected",{"_index":1286,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["selecting",{"_index":1283,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["selection",{"_index":1697,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["selections",{"_index":3224,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["selector",{"_index":211,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["selects",{"_index":1443,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{}}}],["sell",{"_index":4238,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":3970,"title":{},"body":{"changelog.html":{}}}],["send",{"_index":772,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{}}}],["sender",{"_index":1859,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sending",{"_index":1605,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sending/receiving",{"_index":1572,"title":{},"body":{"classes/InitializationState.html":{}}}],["sendmessage",{"_index":1909,"title":{},"body":{"classes/MessageChannel.html":{}}}],["sendmessage(payload",{"_index":1877,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sends",{"_index":1602,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sendtoggle",{"_index":1606,"title":{},"body":{"classes/InitializationState.html":{}}}],["sennet",{"_index":3663,"title":{},"body":{"changelog.html":{}}}],["sensor",{"_index":870,"title":{},"body":{"components/ContentComponent.html":{}}}],["sent",{"_index":1053,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/typealiases.html":{}}}],["separated",{"_index":1228,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["server",{"_index":3952,"title":{},"body":{"changelog.html":{}}}],["service",{"_index":47,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["service.initialize(location",{"_index":3371,"title":{},"body":{"injectables/ThemingService.html":{}}}],["services/config/config",{"_index":1397,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["services/config/config.module",{"_index":1099,"title":{},"body":{"modules/CoreModule.html":{}}}],["services/message/message.service",{"_index":1057,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{}}}],["services/theming/theming.module",{"_index":1100,"title":{},"body":{"modules/CoreModule.html":{}}}],["set",{"_index":142,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{}}}],["set's",{"_index":2469,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["set(reg.ccf_annotations",{"_index":2560,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["set.label",{"_index":2098,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["set.name",{"_index":1312,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["set.sites.length",{"_index":1313,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["set.ts",{"_index":1273,"title":{},"body":{"interfaces/ExtractionSet.html":{},"coverage.html":{}}}],["setallopacity",{"_index":3484,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["setallopacity(value",{"_index":3503,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["setanatomicalstructures(anatomicalstructures",{"_index":2063,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setblocksize(blocksize",{"_index":2039,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setchange",{"_index":1289,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["setdisplayerrors",{"_index":2435,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["setdisplayerrors(displayerrors",{"_index":2467,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["setextractionsets(extractionsets",{"_index":2064,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setextractionsites(extractionsites",{"_index":2062,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sethaschanges",{"_index":2249,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["setname(value",{"_index":2130,"title":{},"body":{"components/NameInputComponent.html":{}}}],["setorgan(organ",{"_index":2055,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setposition(position",{"_index":2041,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setrotation(rotation",{"_index":2040,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sets",{"_index":785,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"injectables/ThemingService.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["sets.length",{"_index":2100,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sets[0].sites",{"_index":2101,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setsex(sex",{"_index":2059,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setsexfromlabel",{"_index":1738,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["setsexfromlabel(label",{"_index":1749,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["setshowprevious",{"_index":2067,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setshowprevious(showprevious",{"_index":2061,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setside(side",{"_index":2060,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setsidefromlabel",{"_index":1739,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["setsidefromlabel(label",{"_index":1751,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["setslicesconfig(slicesconfig",{"_index":2045,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["settheme",{"_index":3342,"title":{},"body":{"injectables/ThemingService.html":{}}}],["settheme(theme",{"_index":3359,"title":{},"body":{"injectables/ThemingService.html":{}}}],["settimeout",{"_index":1574,"title":{},"body":{"classes/InitializationState.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/ToggleButtonComponent.html":{}}}],["settimeout(r",{"_index":2557,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["setting",{"_index":2800,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/StoreModule.html":{}}}],["setup",{"_index":3768,"title":{},"body":{"changelog.html":{}}}],["setusecancelregistrationcallback",{"_index":2250,"title":{},"body":{"injectables/PageState.html":{}}}],["setusecancelregistrationcallback(use",{"_index":2263,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["setusedropdownmenu(value",{"_index":3076,"title":{},"body":{"components/StageNavComponent.html":{}}}],["setuseregistrationcallback",{"_index":2436,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["setuseregistrationcallback(use",{"_index":2470,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["setusername",{"_index":2251,"title":{},"body":{"injectables/PageState.html":{}}}],["setusername(name",{"_index":2265,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["setviewside(viewside",{"_index":2047,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setviewtype",{"_index":874,"title":{},"body":{"components/ContentComponent.html":{}}}],["setviewtype(is3dview",{"_index":892,"title":{},"body":{"components/ContentComponent.html":{}}}],["setviewtype(viewtype",{"_index":2046,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sex",{"_index":1347,"title":{},"body":{"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["sexbylabel",{"_index":1736,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["sexes",{"_index":3882,"title":{},"body":{"changelog.html":{}}}],["sexselected",{"_index":2345,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["shadow",{"_index":1317,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{}}}],["shall",{"_index":4245,"title":{},"body":{"license.html":{}}}],["shared",{"_index":326,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"modules/ConfigModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/LeftSidebarModule.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"modules/RightSidebarModule.html":{},"interfaces/SlicesConfig.html":{},"modules/SlicesInputModule.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"modules/VisibilityMenuModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["shared/analytics",{"_index":327,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"modules/CoreModule.html":{},"interfaces/User.html":{}}}],["shared/components/block",{"_index":2781,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["shared/components/details",{"_index":1837,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["shared/components/drawer/drawer.module",{"_index":587,"title":{},"body":{"modules/AppModule.html":{}}}],["shared/components/extraction",{"_index":1839,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["shared/components/json",{"_index":1852,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["shared/components/labeled",{"_index":1841,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/StageNavModule.html":{}}}],["shared/components/name",{"_index":1843,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{}}}],["shared/components/rotation",{"_index":2782,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["shared/components/slices",{"_index":2785,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["shared/components/tag",{"_index":2787,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["shared/components/visibility",{"_index":1847,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["shared/rxjs",{"_index":1944,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["shared/web",{"_index":638,"title":{},"body":{"components/AppWebComponent.html":{}}}],["shifts",{"_index":267,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["shortest",{"_index":4114,"title":{},"body":{"dependencies.html":{}}}],["show",{"_index":932,"title":{},"body":{"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["showcollisions",{"_index":2897,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["showdebugbuttons",{"_index":871,"title":{},"body":{"components/ContentComponent.html":{}}}],["showing",{"_index":2681,"title":{},"body":{"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["shown",{"_index":3259,"title":{},"body":{"components/TagSearchComponent.html":{},"changelog.html":{}}}],["showprevious",{"_index":1933,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["shows",{"_index":911,"title":{},"body":{"components/ContentComponent.html":{},"components/StageNavComponent.html":{},"changelog.html":{}}}],["shrink",{"_index":3529,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["side",{"_index":1015,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/GlobalConfig.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["sidebar",{"_index":1729,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["sidebar'},{'name",{"_index":500,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["sidebar.component",{"_index":1851,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{}}}],["sidebar.component.html",{"_index":1731,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["sidebar.component.scss",{"_index":1730,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["sidebar.component.ts",{"_index":1728,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"coverage.html":{}}}],["sidebar.component.ts:110",{"_index":1756,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:123",{"_index":1771,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:20",{"_index":2758,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["sidebar.component.ts:23",{"_index":2757,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["sidebar.component.ts:24",{"_index":1748,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:26",{"_index":1746,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:29",{"_index":1747,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:31",{"_index":1794,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:35",{"_index":1797,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:39",{"_index":1789,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:43",{"_index":1781,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:52",{"_index":1782,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:58",{"_index":1790,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:60",{"_index":1745,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:76",{"_index":1765,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:89",{"_index":1750,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:98",{"_index":1754,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.module",{"_index":581,"title":{},"body":{"modules/AppModule.html":{}}}],["sidebar.module.ts",{"_index":1832,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{}}}],["sidebar/left",{"_index":580,"title":{},"body":{"modules/AppModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["sidebar/right",{"_index":586,"title":{},"body":{"modules/AppModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"coverage.html":{}}}],["sidebylabel",{"_index":1737,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidechange",{"_index":3044,"title":{},"body":{"components/StageNavComponent.html":{}}}],["sides",{"_index":3883,"title":{},"body":{"changelog.html":{}}}],["signal",{"_index":2358,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["significant",{"_index":3761,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":3079,"title":{},"body":{"components/StageNavComponent.html":{},"changelog.html":{}}}],["simplescenenodelookup",{"_index":2183,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["simplifies",{"_index":3767,"title":{},"body":{"changelog.html":{}}}],["single",{"_index":1876,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["site",{"_index":1766,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sites",{"_index":1274,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["sizable",{"_index":3848,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":409,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["sizes",{"_index":671,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/RightSidebarComponent.html":{},"miscellaneous/variables.html":{}}}],["skin",{"_index":1190,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["skin.svg",{"_index":1191,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["skipconfirmation",{"_index":2252,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["skipself",{"_index":1096,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["skipunsavedchangesconfirmation",{"_index":613,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["skipuntil",{"_index":1953,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["skipuntil(this.page.registrationstarted$.pipe",{"_index":2029,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["slice",{"_index":1940,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["slice(0",{"_index":194,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["slice_count",{"_index":2618,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["slice_input",{"_index":3006,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["slice_thickness",{"_index":2616,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["slices",{"_index":514,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["slicesconfig",{"_index":1934,"title":{"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{}},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["slicesconfigchange",{"_index":2996,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["slicesinputcomponent",{"_index":513,"title":{"components/SlicesInputComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["slicesinputmodule",{"_index":2778,"title":{"modules/SlicesInputModule.html":{}},"body":{"modules/RightSidebarModule.html":{},"modules/SlicesInputModule.html":{},"modules.html":{},"overview.html":{}}}],["slide",{"_index":497,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{}}}],["slide_toggle",{"_index":1713,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["slider",{"_index":1686,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"dependencies.html":{}}}],["slider'},{'name",{"_index":512,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["slider.component",{"_index":2844,"title":{},"body":{"modules/RotationSliderModule.html":{}}}],["slider.component.html",{"_index":2804,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["slider.component.scss",{"_index":2805,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["slider.component.ts",{"_index":2796,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["slider.component.ts:34",{"_index":2826,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.component.ts:39",{"_index":2825,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.component.ts:44",{"_index":2824,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.component.ts:59",{"_index":2827,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.component.ts:68",{"_index":2828,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.module",{"_index":2784,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["slider.module.ts",{"_index":2843,"title":{},"body":{"modules/RotationSliderModule.html":{}}}],["slider/rotation",{"_index":2783,"title":{},"body":{"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["sliders",{"_index":1815,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["slightly",{"_index":3681,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":3779,"title":{},"body":{"changelog.html":{}}}],["small",{"_index":1192,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["snackbar",{"_index":239,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["snackbar.dismiss",{"_index":361,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["snapshot",{"_index":2304,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["snapshot.useregistrationcallback",{"_index":2581,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["software",{"_index":4167,"title":{},"body":{"index.html":{},"license.html":{}}}],["solid",{"_index":1366,"title":{},"body":{"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["solved",{"_index":3843,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":3895,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":3658,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":3775,"title":{},"body":{"changelog.html":{}}}],["sortby",{"_index":1946,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sortby(set.extractionsites.map((entity",{"_index":2099,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["source",{"_index":4,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{}}}],["sources",{"_index":1889,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{}}}],["sources.includes(msg.source",{"_index":1891,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["space",{"_index":963,"title":{},"body":{"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["spacer",{"_index":3312,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["sparc",{"_index":3771,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":3588,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":2879,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["spatialentity",{"_index":2102,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["spatialentity.x_dimension",{"_index":2104,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["spatialentity.y_dimension",{"_index":2105,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["spatialentity.z_dimension",{"_index":2107,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["spatialentityjsonld",{"_index":621,"title":{},"body":{"components/AppWebComponent.html":{},"components/LeftSidebarComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["spatialplacement",{"_index":2628,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["spatialplacementjsonld",{"_index":2156,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["spatialscenenode",{"_index":2157,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["spec",{"_index":3686,"title":{},"body":{"changelog.html":{}}}],["spec.yaml",{"_index":4190,"title":{},"body":{"index.html":{}}}],["specific",{"_index":1072,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["specification",{"_index":4189,"title":{},"body":{"index.html":{}}}],["specified",{"_index":1888,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["specifying",{"_index":1870,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["speed",{"_index":3629,"title":{},"body":{"changelog.html":{}}}],["spinal",{"_index":1193,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["spinning",{"_index":3950,"title":{},"body":{"changelog.html":{}}}],["spleen",{"_index":1196,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["spleen.svg",{"_index":1197,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["sprint",{"_index":3801,"title":{},"body":{"changelog.html":{}}}],["src",{"_index":1972,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["stage",{"_index":457,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["stage_nav",{"_index":3091,"title":{},"body":{"components/StageNavComponent.html":{}}}],["stagenavcomponent",{"_index":515,"title":{"components/StageNavComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["stagenavmodule",{"_index":1079,"title":{"modules/StageNavModule.html":{}},"body":{"modules/ContentModule.html":{},"modules/StageNavModule.html":{},"modules.html":{},"overview.html":{}}}],["staging",{"_index":3667,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["stamp",{"_index":2598,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["standalone",{"_index":3838,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":593,"title":{},"body":{"modules/AppModule.html":{},"changelog.html":{}}}],["standards",{"_index":3954,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":4171,"title":{},"body":{"index.html":{}}}],["start",{"_index":827,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/RegistrationContentComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["start?.expanded",{"_index":1044,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["start?.opened",{"_index":1043,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["startdrawers",{"_index":850,"title":{},"body":{"components/ContainerComponent.html":{}}}],["startdrawers.length",{"_index":854,"title":{},"body":{"components/ContainerComponent.html":{}}}],["startdrawers[0",{"_index":858,"title":{},"body":{"components/ContainerComponent.html":{}}}],["started",{"_index":2031,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["startexpanded",{"_index":1042,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["starts",{"_index":3992,"title":{},"body":{"changelog.html":{}}}],["startup",{"_index":1118,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/RegistrationModalComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["startwith",{"_index":816,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["state",{"_index":15,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["state$.pipe(pluck('registrations",{"_index":2517,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["state('closed",{"_index":1513,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('collapsed",{"_index":1518,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('extended",{"_index":1522,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('false",{"_index":1023,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["state('full",{"_index":1523,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('half",{"_index":1519,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('open",{"_index":1512,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('true",{"_index":1024,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["state.organspatialentities[iri",{"_index":2235,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["statechange",{"_index":1545,"title":{},"body":{"classes/InitializationState.html":{}}}],["statements",{"_index":3994,"title":{},"body":{"coverage.html":{}}}],["staterepository",{"_index":106,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["states",{"_index":165,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent-1.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["static",{"_index":1626,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["stay",{"_index":3990,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":3787,"title":{},"body":{"changelog.html":{}}}],["stomach",{"_index":1198,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["stomach.svg",{"_index":1199,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["store",{"_index":974,"title":{},"body":{"components/ContentComponent.html":{},"modules/StoreModule.html":{}}}],["store/store.module",{"_index":1101,"title":{},"body":{"modules/CoreModule.html":{}}}],["stored",{"_index":2797,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["storedebugmodule",{"_index":1083,"title":{},"body":{"modules/ContentModule.html":{}}}],["storemodule",{"_index":1091,"title":{"modules/StoreModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{},"modules.html":{},"overview.html":{}}}],["stories",{"_index":3945,"title":{},"body":{"changelog.html":{}}}],["strange",{"_index":3126,"title":{},"body":{"modules/StoreModule.html":{}}}],["stream",{"_index":4142,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":4140,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":69,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["strings",{"_index":1226,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["structure",{"_index":8,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/DocumentationContent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["structure.opacity",{"_index":2076,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["structures",{"_index":1762,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["strvalue",{"_index":3003,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["style",{"_index":1019,"title":{},"body":{"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/VisibilityToggleComponent.html":{}}}],["style.margin",{"_index":989,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["styled",{"_index":2672,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["styles",{"_index":200,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["styles.getpropertyvalue(property",{"_index":1568,"title":{},"body":{"classes/InitializationState.html":{}}}],["styleurls",{"_index":214,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["styling",{"_index":1656,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"changelog.html":{}}}],["sub",{"_index":1071,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["subject",{"_index":1861,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagSearchComponent.html":{},"license.html":{}}}],["sublicense",{"_index":4236,"title":{},"body":{"license.html":{}}}],["subscribe",{"_index":2027,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["subscribe(result",{"_index":3274,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["subscribe(updateskipconfirmation",{"_index":2315,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["subscription",{"_index":311,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["subscriptions",{"_index":225,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["substantial",{"_index":4247,"title":{},"body":{"license.html":{}}}],["successful",{"_index":1424,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["such",{"_index":3587,"title":{},"body":{"changelog.html":{}}}],["suffix",{"_index":3022,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["suffix.show",{"_index":3023,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["super",{"_index":162,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["super(configstore",{"_index":644,"title":{},"body":{"components/AppWebComponent.html":{}}}],["super.ngxsoninit",{"_index":163,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["support",{"_index":3589,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["svg",{"_index":1127,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules.html":{}}}],["swiper",{"_index":4145,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":378,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["switched",{"_index":3854,"title":{},"body":{"changelog.html":{}}}],["switchmap",{"_index":1954,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["switchmap(data",{"_index":2200,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["switchmap(fetch",{"_index":2520,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["switchmap(organconfig",{"_index":2009,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["switchmap(this.executesearch",{"_index":3273,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["switchmap(url",{"_index":2198,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["sync",{"_index":3743,"title":{},"body":{"changelog.html":{}}}],["syncexpanded(other",{"_index":1614,"title":{},"body":{"classes/InitializationState.html":{}}}],["syncs",{"_index":1611,"title":{},"body":{"classes/InitializationState.html":{}}}],["t",{"_index":1857,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["t.label).join",{"_index":2597,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["table",{"_index":4055,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":3674,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":4054,"title":{},"body":{"coverage.html":{}}}],["tag",{"_index":12,"title":{"interfaces/Tag.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["tag.id",{"_index":181,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["tag.label",{"_index":3173,"title":{},"body":{"components/TagListComponent.html":{}}}],["tag.label).join",{"_index":3288,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["tag.ts",{"_index":3144,"title":{},"body":{"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["tag.type",{"_index":145,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagListComponent.html":{}}}],["tag_list",{"_index":3172,"title":{},"body":{"components/TagListComponent.html":{}}}],["tag_search",{"_index":3287,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["tagclasses",{"_index":3152,"title":{},"body":{"components/TagListComponent.html":{}}}],["tagclasses(tag",{"_index":3162,"title":{},"body":{"components/TagListComponent.html":{}}}],["tagging",{"_index":3885,"title":{},"body":{"changelog.html":{}}}],["tagid",{"_index":116,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"miscellaneous/typealiases.html":{}}}],["tagid(_index",{"_index":3164,"title":{},"body":{"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["taglistcomponent",{"_index":517,"title":{"components/TagListComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["taglistmodule",{"_index":2779,"title":{"modules/TagListModule.html":{}},"body":{"modules/RightSidebarModule.html":{},"modules/TagListModule.html":{},"modules.html":{},"overview.html":{}}}],["tagremoved",{"_index":3153,"title":{},"body":{"components/TagListComponent.html":{}}}],["tags",{"_index":33,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["tags.length",{"_index":3284,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["tags.map(t",{"_index":2596,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["tags.map(tag",{"_index":2615,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagSearchComponent.html":{}}}],["tags.push",{"_index":154,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["tags.push(tag",{"_index":148,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["tags.state",{"_index":2505,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"modules/StoreModule.html":{}}}],["tags.state.ts",{"_index":10,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"coverage.html":{}}}],["tags.state.ts:112",{"_index":63,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:119",{"_index":54,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:124",{"_index":67,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:140",{"_index":73,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:158",{"_index":58,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:38",{"_index":95,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:68",{"_index":87,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:70",{"_index":98,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:75",{"_index":89,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:77",{"_index":93,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:79",{"_index":39,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:95",{"_index":64,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags/anatomical",{"_index":9,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"modules/StoreModule.html":{},"coverage.html":{}}}],["tagschange",{"_index":3154,"title":{},"body":{"components/TagListComponent.html":{}}}],["tagsearchcomponent",{"_index":519,"title":{"components/TagSearchComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["tagsearchmodule",{"_index":2780,"title":{"modules/TagSearchModule.html":{}},"body":{"modules/RightSidebarModule.html":{},"modules/TagSearchModule.html":{},"modules.html":{},"overview.html":{}}}],["tagsearchresult",{"_index":117,"title":{"interfaces/TagSearchResult.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["take",{"_index":1955,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["take(1",{"_index":2024,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["takes",{"_index":1224,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/JsonFileReaderComponent.html":{}}}],["takeuntil",{"_index":3265,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["takeuntil(this.destroy",{"_index":3271,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["takewhile",{"_index":1864,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["tap",{"_index":1956,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["tap(([user",{"_index":2412,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["tap(config",{"_index":2297,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["tap(reg",{"_index":2530,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["target",{"_index":262,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{}}}],["target.key",{"_index":379,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["target.nodename",{"_index":394,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["target.preventdefault",{"_index":372,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["target.repeat",{"_index":374,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["technologies",{"_index":3965,"title":{},"body":{"changelog.html":{}}}],["technology",{"_index":3829,"title":{},"body":{"changelog.html":{}}}],["telemetry",{"_index":3738,"title":{},"body":{"changelog.html":{}}}],["template",{"_index":199,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["templateurl",{"_index":216,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["temporary",{"_index":971,"title":{},"body":{"components/ContentComponent.html":{}}}],["terms",{"_index":3585,"title":{},"body":{"changelog.html":{}}}],["test",{"_index":3934,"title":{},"body":{"changelog.html":{}}}],["testing",{"_index":914,"title":{},"body":{"components/ContentComponent.html":{},"changelog.html":{}}}],["text",{"_index":76,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{}}}],["textfield",{"_index":716,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["theme",{"_index":226,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["thememode",{"_index":227,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["themes",{"_index":3662,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":241,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["theming.initialize(el",{"_index":339,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["theming.service",{"_index":3332,"title":{},"body":{"modules/ThemingModule.html":{}}}],["themingmodule",{"_index":1092,"title":{"modules/ThemingModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/ThemingModule.html":{},"modules.html":{},"overview.html":{}}}],["themingservice",{"_index":242,"title":{"injectables/ThemingService.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{},"coverage.html":{},"overview.html":{}}}],["themingservice.initialize",{"_index":3333,"title":{},"body":{"modules/ThemingModule.html":{}}}],["thick",{"_index":1208,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["thick.svg",{"_index":1209,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["thickness",{"_index":1966,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["thin",{"_index":1210,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{},"miscellaneous/variables.html":{}}}],["thin.svg",{"_index":1211,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["things",{"_index":167,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this._expanded",{"_index":1536,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._latesttags",{"_index":159,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this._measuredmargin",{"_index":1566,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._measuredwidth",{"_index":1556,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._name",{"_index":2135,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this._opened",{"_index":1532,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._position",{"_index":1528,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.added.emit(tags",{"_index":3289,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.addentityone",{"_index":183,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.addregistration(jsonobj",{"_index":2588,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.addtagraw(tag",{"_index":178,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.animationsenabled",{"_index":1033,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.applythemeclass(theme",{"_index":3375,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.applythemeclass(this.gettheme",{"_index":3379,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.applythemeclass(this.theme",{"_index":3374,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.blocksize",{"_index":694,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.blocksize[key",{"_index":698,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.blocksizechange.emit(this.blocksize",{"_index":699,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.buildjsonld(page",{"_index":2513,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.buildjsonld(page.snapshot",{"_index":2577,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.buildmetadata(page",{"_index":2512,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.cdr.markforcheck",{"_index":844,"title":{},"body":{"components/ContainerComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["this.channel",{"_index":835,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.asobservable",{"_index":1898,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.closed",{"_index":1900,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.complete",{"_index":1903,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.next",{"_index":1878,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.sendmessage",{"_index":841,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["this.checkedresults",{"_index":3276,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.closedialog",{"_index":2382,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.consentservice.consent",{"_index":363,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.content",{"_index":846,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.changes.pipe(startwith(null)).subscribe",{"_index":845,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.first",{"_index":832,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.length",{"_index":834,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content2.first",{"_index":833,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.createscenenodes(organiri",{"_index":2928,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.ctx.patchstate",{"_index":2019,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.ctx.setstate(patch",{"_index":2309,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.currentdate",{"_index":2599,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.currentidentifier",{"_index":2601,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.currentorgan",{"_index":2380,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.currentsex",{"_index":2375,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.defaultposition",{"_index":2108,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.defaulttheme",{"_index":3373,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.deferred",{"_index":1505,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.destroy$.complete",{"_index":3279,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.destroy$.next",{"_index":3278,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.dialog.open(registrationcontentcomponent",{"_index":2417,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["this.dialog.open(reviewmodalcomponent",{"_index":2705,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.dialog.open(videomodalcomponent",{"_index":3455,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["this.dialogref.close",{"_index":2741,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["this.dialogref.close(true",{"_index":2385,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.disablepositionchange",{"_index":371,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.drawer",{"_index":3408,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.drawer.position",{"_index":3406,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.drawers",{"_index":1030,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.drawers.changes.pipe(startwith(null)).subscribe",{"_index":839,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.drawers.toarray",{"_index":849,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.editregistration(reg",{"_index":2531,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.el.nativeelement.contains(event.target",{"_index":3296,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.element",{"_index":3378,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.element.nativeelement",{"_index":1557,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.entererrormode.emit",{"_index":2701,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.entities$.subscribe",{"_index":176,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.expanded",{"_index":1592,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expandedchange.emit(this.expanded",{"_index":1601,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expandedstate",{"_index":1582,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expandedstate2",{"_index":1550,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.extractionsitetooltip",{"_index":1800,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.faded",{"_index":1048,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.fileinput.nativeelement",{"_index":1662,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["this.firstnamevalidator.setvalue(value?.firstname",{"_index":2137,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.ga.event('all_items_opacity_update",{"_index":3527,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.ga.event('block_size_change",{"_index":696,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.ga.event('block_size_reset",{"_index":702,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.ga.event('item_reset",{"_index":3525,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.ga.event('json_file_load_end",{"_index":1669,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["this.ga.event('json_file_load_start",{"_index":1672,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["this.ga.event('name_updated",{"_index":2140,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.ga.event('opacity_update",{"_index":3522,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.ga.event('organ_select",{"_index":2056,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.ga.event('placement",{"_index":2042,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.ga.event('register",{"_index":2712,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.ga.event('review_start",{"_index":2702,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.ga.event('rotation_reset",{"_index":2822,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["this.ga.event('rotation_update",{"_index":2815,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["this.ga.event('selected_extraction_set_change",{"_index":1306,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["this.ga.event('side_update",{"_index":3090,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.ga.event('slice_config_reset",{"_index":3010,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.ga.event('slice_config_update",{"_index":3005,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.ga.event('slide_toggle_toggled",{"_index":1712,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.ga.event('tag_removed",{"_index":3171,"title":{},"body":{"components/TagListComponent.html":{}}}],["this.ga.event('tags_added",{"_index":3286,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.ga.event('view_update",{"_index":3097,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.ga.event('visibility_toggled",{"_index":3513,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["this.getarguments(definition",{"_index":1438,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.getmessages().pipe(filter(msg",{"_index":1887,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.getmethodname(definition",{"_index":1434,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.getsourcedb().subscribe(db",{"_index":2186,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.getupdatedcheckedresults(result",{"_index":3277,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.globalconfig.config$.pipe",{"_index":2296,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.globalconfig.getoption('basehref').pipe",{"_index":2194,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.globalconfig.getoption('editregistration').pipe",{"_index":2529,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.globalconfig.getoption('header",{"_index":289,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('homeurl",{"_index":292,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('homeurl').subscribe((url",{"_index":348,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('logotooltip",{"_index":295,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('logotooltip').subscribe((tooltip",{"_index":351,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('organ').pipe",{"_index":2008,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.globalconfig.getoption('skipunsavedchangesconfirmation').pipe",{"_index":2292,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.globalconfig.getoption('theme",{"_index":315,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.snapshot.basehref",{"_index":1421,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.globals.set('db",{"_index":2192,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.globalskipconfirmation",{"_index":2313,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.handlemessage(msg",{"_index":838,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["this.haschanges$.pipe",{"_index":2316,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.homeurl",{"_index":349,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.hover.emit(item",{"_index":3516,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.hover.emit(undefined",{"_index":3517,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.idmatches(ontologyid",{"_index":2017,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.initialized",{"_index":1504,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.set",{"_index":1573,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.valueof",{"_index":1583,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.wait",{"_index":1607,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initskipconfirmationlisteners",{"_index":2303,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.injector",{"_index":599,"title":{},"body":{"modules/AppModule.html":{},"injectables/ThemingService.html":{}}}],["this.injector.get(anatomicalstructuretagstate",{"_index":2527,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.injector.get(modelstate",{"_index":170,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.injector.get(pagestate",{"_index":174,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.injector.get(referencedatastate",{"_index":2007,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.injector.get(registrationstate",{"_index":2991,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.injector.get(scenestate",{"_index":172,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.isdatavalid(this.page.snapshot",{"_index":2575,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.isdropdownactive",{"_index":3084,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.isdropdownhidden",{"_index":3085,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.isvalid",{"_index":2515,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.items",{"_index":3519,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.items.map(i",{"_index":3526,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.items.map(item",{"_index":3520,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.itemschange.emit(this.items",{"_index":3524,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.labelref.nativeelement",{"_index":3086,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.labels[0",{"_index":1710,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.labels[1",{"_index":1711,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.lastnamevalidator.setvalue(value?.lastname",{"_index":2138,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.launchreviewmodal",{"_index":2704,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.leftmargin",{"_index":1040,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.loadyoutubeplayerapi",{"_index":3435,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["this.logotooltip",{"_index":352,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.margin2",{"_index":1553,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.measuredmargin",{"_index":1552,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.measuredwidth",{"_index":1608,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.messages",{"_index":1897,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.messages.pipe(filter(msg",{"_index":1884,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.metadata",{"_index":2710,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["this.metadata.length",{"_index":2696,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.metadata.slice(0",{"_index":2698,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.model",{"_index":169,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.blocksize",{"_index":2972,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.defaultposition.x",{"_index":900,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.defaultposition.y",{"_index":904,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.defaultposition.z",{"_index":906,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.extractionsites",{"_index":2924,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.organ",{"_index":1776,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.organ$.pipe",{"_index":1787,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.organ$]).pipe",{"_index":2410,"title":{},"body":{"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.organdimensions$.pipe",{"_index":897,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.organiri",{"_index":2929,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.organiri$]).pipe",{"_index":2925,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.position",{"_index":2974,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.position$.pipe",{"_index":923,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.rotation",{"_index":2973,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.setblocksize",{"_index":2545,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setorgan(data.organ",{"_index":2540,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setorgan(this.currentorgan",{"_index":2384,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.model.setposition",{"_index":2558,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setposition(newposition",{"_index":393,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"interfaces/User.html":{}}}],["this.model.setrotation",{"_index":2549,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setsex(data.sex",{"_index":2542,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setsex(label",{"_index":1802,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.setsex(this.currentsex",{"_index":2383,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.model.setside(data.side",{"_index":2544,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setside(label",{"_index":1803,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.setslicesconfig",{"_index":2553,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.sex$.pipe",{"_index":1792,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["this.model.sex$]).pipe",{"_index":1778,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.showprevious",{"_index":2950,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.side",{"_index":1777,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.side$.pipe",{"_index":1795,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.snapshot",{"_index":944,"title":{},"body":{"components/ContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.snapshot.anatomicalstructures",{"_index":185,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/LeftSidebarComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.snapshot.organdimensions",{"_index":2958,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.snapshot.position",{"_index":370,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.model.state",{"_index":2509,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.state$]).pipe",{"_index":2514,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.toggleregistrationblocksvisibility(visible",{"_index":1805,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.viewside$.pipe",{"_index":2987,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.viewtype$.pipe",{"_index":916,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.modelchanged$.pipe",{"_index":2028,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.name",{"_index":2139,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.namechange.emit(this.name",{"_index":2142,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.namematches(organname",{"_index":2018,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.namevalid",{"_index":2377,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.nextmessageid",{"_index":1879,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.nodecollisions",{"_index":2913,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.nodes$]).pipe",{"_index":2919,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.onorganirichange",{"_index":2026,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.open",{"_index":342,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.opendialog",{"_index":2416,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["this.opened",{"_index":1580,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["this.openedchange.emit(this.opened",{"_index":1597,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.openedstate",{"_index":1581,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.optionsref.nativeelement",{"_index":3087,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.organselected",{"_index":2381,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.page",{"_index":173,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.page.clearhaschanges",{"_index":2590,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.page.registrationstarted",{"_index":2386,"title":{},"body":{"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.page.sethaschanges",{"_index":177,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.page.setusername",{"_index":2537,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.parsedjson.emit(json",{"_index":1671,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["this.patchstate",{"_index":2312,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.placementcube",{"_index":2910,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.placementcube$]).pipe",{"_index":2942,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.position",{"_index":1527,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["this.previousregistrationnodes",{"_index":2912,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.previousvisibilityitems",{"_index":1804,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.refdata",{"_index":2528,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.refdata.getorgandata(place.target",{"_index":2536,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.refdata.normalizeplacement",{"_index":2532,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.referencedata",{"_index":2006,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.referencedata.getreferenceorganiri",{"_index":2079,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.referencedata.snapshot",{"_index":2086,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.referencedata.state$.pipe",{"_index":2022,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.referencedata.state$]).pipe",{"_index":2930,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.referenceorgannodes",{"_index":2911,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.registerdata.emit",{"_index":2713,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.registericonimpl(def",{"_index":1414,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.registericonimpl(definition",{"_index":1426,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.registration",{"_index":2990,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.registration.editregistration(event",{"_index":1806,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.registration.previousregistrations$]).pipe",{"_index":2951,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.registrationcallbackset",{"_index":2709,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["this.registrationisvalid",{"_index":2695,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.registrationstarted",{"_index":345,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.registry",{"_index":1430,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.registry?.addsvgiconresolver((name",{"_index":1416,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.renderer2.appendchild(this.document.body",{"_index":3441,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["this.renderer2.createelement('script",{"_index":3437,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["this.resolve",{"_index":1475,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.resultsvisible",{"_index":3292,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.rightmargin",{"_index":1041,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.rotation",{"_index":2814,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["this.rotationchange.emit(this.rotation",{"_index":2817,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["this.sanitizer.bypasssecuritytrusthtml(def.html",{"_index":1412,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.sanitizer.bypasssecuritytrustresourceurl(basehref",{"_index":1422,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.scene",{"_index":171,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.scene.nodecollisions$]).pipe",{"_index":136,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.searchcontrol.valuechanges.pipe",{"_index":3270,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.searchresults",{"_index":3275,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.selected",{"_index":1305,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["this.selection",{"_index":3511,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.selection.id",{"_index":3512,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.sendtoggle",{"_index":1584,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.sensor",{"_index":939,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.setanatomicalstructures(newstructures",{"_index":2077,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.setanatomicalstructures(previousitems",{"_index":2072,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.setchange.emit(value",{"_index":1309,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["this.setdisplayerrors(false",{"_index":2589,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.sets.length",{"_index":1310,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["this.setshowprevious(visible",{"_index":2071,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.setstate(db",{"_index":2187,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.setstate(patch",{"_index":2298,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.settheme(this.defaulttheme",{"_index":3376,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.sexselected",{"_index":2376,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.side",{"_index":3094,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.sidechange.emit(this.side",{"_index":3095,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.skipconfirmation$.subscribe(skipconfirmation",{"_index":2323,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.slicesconfig",{"_index":3004,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.slicesconfig[key",{"_index":3007,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.slicesconfigchange.emit(this.slicesconfig",{"_index":3008,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.snackbar.openfromcomponent(trackingpopupcomponent",{"_index":358,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.snapshot",{"_index":2202,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.snapshot.blocksize",{"_index":2050,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.entities[tag.id",{"_index":179,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.snapshot.organ",{"_index":2083,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.organ?.name}_placement",{"_index":2043,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.organ?.organ",{"_index":2080,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.organ?.sex",{"_index":2084,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.organdimensions",{"_index":2049,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.sex",{"_index":2081,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.showcollisions",{"_index":2917,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.snapshot.side",{"_index":2082,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.source",{"_index":1880,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.state$.pipe",{"_index":1996,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('anatomicalstructures",{"_index":1989,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('blocksize",{"_index":1976,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('displayerrors",{"_index":2477,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.state$.pipe(pluck('extractionsets",{"_index":1990,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('extractionsites",{"_index":1988,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('id",{"_index":1975,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('organ",{"_index":1982,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('organdimensions",{"_index":1984,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('organiri",{"_index":1983,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('position",{"_index":1978,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('registrationcallbackset",{"_index":2269,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluck('rotation",{"_index":1977,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('sex",{"_index":1985,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('showprevious",{"_index":1987,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('side",{"_index":1986,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('slicesconfig",{"_index":1979,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('usecancelregistrationcallback",{"_index":2274,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluck('user",{"_index":2276,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluck('viewside",{"_index":1981,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('viewtype",{"_index":1980,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluckunique('haschanges",{"_index":2295,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluckunique('registrationstarted",{"_index":2271,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluckunique('skipconfirmation",{"_index":2291,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.statechange.emit",{"_index":1609,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.subscriptions.add",{"_index":340,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.subscriptions.add(channel.getmessagesfromsource(drawer).subscribe(msg",{"_index":3405,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.subscriptions.add(messages.subscribe(msg",{"_index":1028,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.subscriptions.add(this.channel.getmessages().subscribe(msg",{"_index":837,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["this.subscriptions.unsubscribe",{"_index":395,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["this.syncexpanded(other",{"_index":1610,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.tagremoved.emit(tag",{"_index":3174,"title":{},"body":{"components/TagListComponent.html":{}}}],["this.tags",{"_index":2526,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagListComponent.html":{}}}],["this.tags$.subscribe((tags",{"_index":175,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.tags.addtags",{"_index":2561,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.tags.filter(obj",{"_index":3169,"title":{},"body":{"components/TagListComponent.html":{}}}],["this.tags.latesttags",{"_index":2579,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.tags.tags$]).pipe",{"_index":2510,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.tagschange.emit(this.tags",{"_index":3175,"title":{},"body":{"components/TagListComponent.html":{}}}],["this.theme",{"_index":347,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{}}}],["this.theme$.subscribe((theme",{"_index":346,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.thememode$.next('light",{"_index":366,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.thememode$.next(this.islighttheme",{"_index":368,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.thememode$]).subscribe",{"_index":355,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.theming.gettheme().endswith('light",{"_index":338,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.theming.settheme(`${theme",{"_index":356,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.theming.settheme(`${this.theme",{"_index":367,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.toggle(coercebooleanproperty(value",{"_index":1534,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggle(false",{"_index":1578,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggle(true",{"_index":1576,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(coercebooleanproperty(value",{"_index":1538,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(false",{"_index":1590,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(true",{"_index":1587,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.updateentitiesmany",{"_index":180,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.updatefaded",{"_index":1032,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.updatemargin(position",{"_index":1038,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.updateopacity(item.opacity",{"_index":3515,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.updateview(false",{"_index":3093,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.updateview(true",{"_index":3092,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.validatedrawers",{"_index":840,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.value",{"_index":1709,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.valuechange.emit(this.value",{"_index":1714,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.view3d",{"_index":3096,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.view3dchange.emit(this.view3d",{"_index":3098,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.visibilitychanged.emit(this.visible",{"_index":3549,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["this.visible",{"_index":3547,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["this.width",{"_index":1551,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.xyztriplettostring(model.blocksize",{"_index":2593,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.xyztriplettostring(model.position",{"_index":2594,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.xyztriplettostring(model.rotation",{"_index":2595,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["those",{"_index":1882,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["throttle",{"_index":3214,"title":{},"body":{"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["throttletime",{"_index":1957,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["throttletime(0",{"_index":1997,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["through",{"_index":2803,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["throw",{"_index":830,"title":{},"body":{"components/ContainerComponent.html":{},"modules/CoreModule.html":{}}}],["throwduplicatedrawerserror",{"_index":4045,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["throwduplicatedrawerserror('end",{"_index":857,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throwduplicatedrawerserror('start",{"_index":855,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throwduplicatedrawerserror(position",{"_index":826,"title":{},"body":{"components/ContainerComponent.html":{},"miscellaneous/functions.html":{}}}],["thrown",{"_index":825,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throws",{"_index":821,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/ThemingService.html":{}}}],["thumb",{"_index":2835,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["thumbnails",{"_index":3807,"title":{},"body":{"changelog.html":{}}}],["thymus",{"_index":1200,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["thymus.svg",{"_index":1201,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["ticks",{"_index":2839,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["tied",{"_index":3810,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":3904,"title":{},"body":{"changelog.html":{}}}],["time",{"_index":2495,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["timeouts",{"_index":3640,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":3633,"title":{},"body":{"changelog.html":{}}}],["timing",{"_index":465,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"components/VisibilityMenuComponent.html":{}}}],["tissue",{"_index":661,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"changelog.html":{}}}],["tissues",{"_index":3679,"title":{},"body":{"changelog.html":{}}}],["title",{"_index":717,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"interfaces/DocumentationContent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["tmc",{"_index":3982,"title":{},"body":{"changelog.html":{}}}],["toggle",{"_index":522,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["toggle'},{'name",{"_index":498,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle(opened",{"_index":1579,"title":{},"body":{"classes/InitializationState.html":{}}}],["toggle.component",{"_index":1726,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["toggle.component.html",{"_index":1688,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle.component.scss",{"_index":1687,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts",{"_index":1684,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{}}}],["toggle.component.ts:18",{"_index":3545,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:19",{"_index":1701,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.component.ts:23",{"_index":3544,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:24",{"_index":1695,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.component.ts:29",{"_index":1698,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:34",{"_index":1694,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:39",{"_index":1693,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.component.ts:40",{"_index":3543,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:51",{"_index":1707,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.component.ts:52",{"_index":3546,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:61",{"_index":1703,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.module",{"_index":1842,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/StageNavModule.html":{}}}],["toggle.module.ts",{"_index":1723,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["toggle/labeled",{"_index":1683,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/StageNavModule.html":{},"coverage.html":{}}}],["toggle/visibility",{"_index":1850,"title":{},"body":{"modules/LeftSidebarModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"coverage.html":{}}}],["togglebuttoncomponent",{"_index":521,"title":{"components/ToggleButtonComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["toggled",{"_index":1034,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["toggleexpanded(expanded",{"_index":1591,"title":{},"body":{"classes/InitializationState.html":{}}}],["togglelabel",{"_index":3541,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["togglepreviousregistrationblocks",{"_index":1740,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["togglepreviousregistrationblocks(visible",{"_index":1755,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["toggleregistrationblocksvisibility(visible",{"_index":2070,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["toggles",{"_index":281,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["togglescheme",{"_index":232,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["togglevisibility",{"_index":3485,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["togglevisibility(item",{"_index":3506,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["toggling",{"_index":1757,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{}}}],["token",{"_index":1869,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["tonsil",{"_index":1179,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["tonsil.svg",{"_index":1180,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["tool",{"_index":3839,"title":{},"body":{"changelog.html":{}}}],["tooltip",{"_index":353,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{}}}],["top",{"_index":418,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toradians",{"_index":2154,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["tort",{"_index":4265,"title":{},"body":{"license.html":{}}}],["total",{"_index":3145,"title":{},"body":{"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{}}}],["totalcount",{"_index":189,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"miscellaneous/variables.html":{}}}],["touch",{"_index":862,"title":{},"body":{"components/ContainerComponent.html":{}}}],["trachea",{"_index":1202,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["trachea.svg",{"_index":1203,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["track",{"_index":1785,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["tracking/telemetry",{"_index":3752,"title":{},"body":{"changelog.html":{}}}],["trackingpopupcomponent",{"_index":325,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["trackingpopupmodule",{"_index":571,"title":{},"body":{"modules/AppModule.html":{}}}],["trailing",{"_index":1999,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["transform",{"_index":720,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["transformmatrix",{"_index":2862,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["transition",{"_index":421,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["transition('closed",{"_index":1514,"title":{},"body":{"classes/InitializationState.html":{}}}],["transition('false",{"_index":1025,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["translate",{"_index":3459,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["translate([p.x_translation",{"_index":2959,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["translate([position.x",{"_index":2979,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["translation_units",{"_index":2651,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["transparency",{"_index":3840,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":3857,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":202,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["trigger",{"_index":1020,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{}}}],["trigger('expandcollapse",{"_index":1517,"title":{},"body":{"classes/InitializationState.html":{}}}],["trigger('fadeinout",{"_index":1022,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["trigger('openclose",{"_index":1511,"title":{},"body":{"classes/InitializationState.html":{}}}],["triggerfileinput",{"_index":1638,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["triplet",{"_index":2475,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["true",{"_index":297,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"modules/ThemingModule.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["true=left",{"_index":1704,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["truncateresults",{"_index":3201,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["truncateresults(result",{"_index":3244,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["truncates",{"_index":3246,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["try",{"_index":1439,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{}}}],["ts",{"_index":4147,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":4150,"title":{},"body":{"dependencies.html":{}}}],["tube",{"_index":1146,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["tuned",{"_index":3991,"title":{},"body":{"changelog.html":{}}}],["tuple",{"_index":847,"title":{},"body":{"components/ContainerComponent.html":{}}}],["turn",{"_index":3825,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":3813,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":3811,"title":{},"body":{"changelog.html":{}}}],["turns",{"_index":2678,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["tutorial",{"_index":3728,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":1696,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"changelog.html":{}}}],["tx",{"_index":4160,"title":{},"body":{"miscellaneous/functions.html":{}}}],["tx.translate(t).rotatexyz(r).scale(s",{"_index":2177,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["type",{"_index":45,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":4275,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["types",{"_index":1061,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["types/lru",{"_index":4089,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":126,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":3960,"title":{},"body":{"changelog.html":{}}}],["typography",{"_index":2747,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["ufl",{"_index":3806,"title":{},"body":{"changelog.html":{}}}],["ui",{"_index":636,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"index.html":{}}}],["ui.netlify.app",{"_index":4174,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":4183,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":4180,"title":{},"body":{"index.html":{}}}],["ui/organ",{"_index":4182,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":4181,"title":{},"body":{"index.html":{}}}],["uis",{"_index":3574,"title":{},"body":{"changelog.html":{}}}],["undefined",{"_index":848,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["under",{"_index":1128,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["underline",{"_index":1327,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["unique",{"_index":1855,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"interfaces/TagSearchResult.html":{}}}],["university",{"_index":4211,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":642,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/TagListComponent.html":{},"components/VideoModalComponent.html":{}}}],["unlike",{"_index":1119,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["unnecessary",{"_index":3740,"title":{},"body":{"changelog.html":{}}}],["unpickable",{"_index":2865,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["unselect",{"_index":3781,"title":{},"body":{"changelog.html":{}}}],["unset",{"_index":3415,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["until",{"_index":306,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"classes/InitializationState.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["unused",{"_index":3167,"title":{},"body":{"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["up",{"_index":278,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["update",{"_index":2812,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["updateblocksizes",{"_index":703,"title":{},"body":{"components/BlockSizeInputComponent.html":{}}}],["updateblocksizes(input",{"_index":690,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["updated",{"_index":689,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["updatedselection",{"_index":3518,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updatedselection.id",{"_index":3521,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updatedselection.opacity",{"_index":3523,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updateextractionsitetooltip",{"_index":1741,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["updateextractionsitetooltip(item",{"_index":1764,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["updatefaded",{"_index":985,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["updatemargin",{"_index":986,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["updatemargin(position",{"_index":1009,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["updatename",{"_index":2115,"title":{},"body":{"components/NameInputComponent.html":{}}}],["updatename(input",{"_index":2120,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["updateopacity",{"_index":3486,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updateopacity(value",{"_index":3509,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updateregistration",{"_index":1742,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["updateregistration(event",{"_index":1770,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["updates",{"_index":684,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent-1.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["updateside",{"_index":3040,"title":{},"body":{"components/StageNavComponent.html":{}}}],["updateside(selection",{"_index":3065,"title":{},"body":{"components/StageNavComponent.html":{}}}],["updateskipconfirmation",{"_index":2311,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["updateslicesdata",{"_index":3011,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["updateslicesdata(input",{"_index":3002,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["updatetoggle",{"_index":1689,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["updatetoggle(selection",{"_index":1702,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["updateview",{"_index":3041,"title":{},"body":{"components/StageNavComponent.html":{}}}],["updateview(selection",{"_index":3068,"title":{},"body":{"components/StageNavComponent.html":{}}}],["updating",{"_index":2809,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{}}}],["upgraded",{"_index":3901,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":3963,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":3755,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":1641,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"changelog.html":{}}}],["uploaded",{"_index":1646,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{}}}],["upperbound",{"_index":2902,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["upperbound[i",{"_index":2906,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["ureter",{"_index":1204,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["url",{"_index":350,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/User.html":{},"miscellaneous/variables.html":{}}}],["urls",{"_index":1404,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["usage",{"_index":3575,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":4197,"title":{},"body":{"index.html":{}}}],["use",{"_index":960,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["usecallback",{"_index":2462,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["usecancelregistrationcallback",{"_index":2246,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["usecase",{"_index":4202,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":4199,"title":{},"body":{"index.html":{}}}],["used",{"_index":48,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["usedownload",{"_index":614,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["usedropdownmenu",{"_index":3042,"title":{},"body":{"components/StageNavComponent.html":{}}}],["usedropdownmenu(value",{"_index":3083,"title":{},"body":{"components/StageNavComponent.html":{}}}],["usefactory",{"_index":751,"title":{},"body":{"modules/ConfigModule.html":{}}}],["useful",{"_index":823,"title":{},"body":{"components/ContainerComponent.html":{}}}],["user",{"_index":333,"title":{"interfaces/User.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"miscellaneous/typealiases.html":{}}}],["user's",{"_index":2134,"title":{},"body":{"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/UserName.html":{}}}],["user.firstname",{"_index":2413,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["user.lastname",{"_index":2414,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["user/os",{"_index":3732,"title":{},"body":{"changelog.html":{}}}],["useregistrationcallback",{"_index":2507,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["username",{"_index":2118,"title":{"interfaces/UserName.html":{}},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{},"coverage.html":{}}}],["users",{"_index":3977,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":3745,"title":{},"body":{"changelog.html":{}}}],["usevalue",{"_index":590,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules/ThemingModule.html":{}}}],["using",{"_index":3718,"title":{},"body":{"changelog.html":{}}}],["uterus",{"_index":1205,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["uterus.svg",{"_index":1206,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["utilities",{"_index":3737,"title":{},"body":{"changelog.html":{}}}],["uuid",{"_index":2492,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"dependencies.html":{}}}],["uuidv4",{"_index":2503,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["v",{"_index":3281,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["v1.1",{"_index":3675,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":3583,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":3573,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":3824,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":3677,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":3669,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":3642,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":3617,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":3593,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":3622,"title":{},"body":{"changelog.html":{}}}],["v1[key",{"_index":2002,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["v2",{"_index":2001,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["v2.1.0",{"_index":3581,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":3569,"title":{},"body":{"changelog.html":{}}}],["v2[key",{"_index":2003,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["v3",{"_index":3596,"title":{},"body":{"changelog.html":{}}}],["v4",{"_index":2502,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["valid",{"_index":2233,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"miscellaneous/typealiases.html":{}}}],["validate",{"_index":2125,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["validatedrawers",{"_index":768,"title":{},"body":{"components/ContainerComponent.html":{}}}],["validates",{"_index":790,"title":{},"body":{"components/ContainerComponent.html":{}}}],["validators",{"_index":2132,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["validators.required",{"_index":2124,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["value",{"_index":86,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MetaDataField.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/variables.html":{}}}],["value.name",{"_index":1308,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["valuechange",{"_index":1692,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["valueof",{"_index":1471,"title":{},"body":{"classes/InitializationState.html":{}}}],["values",{"_index":679,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["var",{"_index":471,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["variable",{"_index":1783,"title":{},"body":{"components/LeftSidebarComponent.html":{},"coverage.html":{}}}],["variables",{"_index":4285,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["vasculature",{"_index":1207,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["vec3",{"_index":2892,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["vec3(...lowerbound.map((n",{"_index":2904,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["vec3(...upperbound.map((n",{"_index":2907,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["version",{"_index":3687,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["very",{"_index":921,"title":{},"body":{"components/ContentComponent.html":{},"changelog.html":{}}}],["via",{"_index":2801,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["video",{"_index":524,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["videomodalcomponent",{"_index":523,"title":{"components/VideoModalComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["videomodallaunchercomponent",{"_index":525,"title":{"components/VideoModalLauncherComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["videomodallaunchermodule",{"_index":1080,"title":{"modules/VideoModalLauncherModule.html":{}},"body":{"modules/ContentModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules.html":{},"overview.html":{}}}],["videomodalmodule",{"_index":3467,"title":{"modules/VideoModalModule.html":{}},"body":{"modules/VideoModalModule.html":{},"modules.html":{},"overview.html":{}}}],["view",{"_index":894,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["view3d",{"_index":3043,"title":{},"body":{"components/StageNavComponent.html":{}}}],["view3dchange",{"_index":3045,"title":{},"body":{"components/StageNavComponent.html":{}}}],["viewchild",{"_index":1660,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{}}}],["viewchild('closesearch",{"_index":3248,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["viewchild('fileinput",{"_index":1657,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["viewchild('label",{"_index":3072,"title":{},"body":{"components/StageNavComponent.html":{}}}],["viewchild('options",{"_index":3074,"title":{},"body":{"components/StageNavComponent.html":{}}}],["viewchildren",{"_index":815,"title":{},"body":{"components/ContainerComponent.html":{}}}],["viewchildren(contentcomponent",{"_index":802,"title":{},"body":{"components/ContainerComponent.html":{}}}],["viewed",{"_index":1969,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["viewer",{"_index":3803,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":3030,"title":{},"body":{"components/StageNavComponent.html":{},"changelog.html":{}}}],["views",{"_index":3747,"title":{},"body":{"changelog.html":{}}}],["viewside",{"_index":942,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["viewtype",{"_index":1935,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["visibility",{"_index":528,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{}}}],["visibility_menu",{"_index":3514,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["visibility_off",{"_index":1216,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["visibility_off_cube",{"_index":1217,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["visibility_on",{"_index":1214,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["visibility_toggle",{"_index":3548,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["visibilitychanged",{"_index":3542,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["visibilityitem",{"_index":1276,"title":{"interfaces/VisibilityItem.html":{}},"body":{"interfaces/ExtractionSet.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["visibilityitems",{"_index":2069,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["visibilitymenucomponent",{"_index":527,"title":{"components/VisibilityMenuComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["visibilitymenumodule",{"_index":1830,"title":{"modules/VisibilityMenuModule.html":{}},"body":{"modules/LeftSidebarModule.html":{},"modules/VisibilityMenuModule.html":{},"modules.html":{},"overview.html":{}}}],["visibilitytogglecomponent",{"_index":530,"title":{"components/VisibilityToggleComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"coverage.html":{},"overview.html":{}}}],["visibilitytogglemodule",{"_index":1831,"title":{"modules/VisibilityToggleModule.html":{}},"body":{"modules/LeftSidebarModule.html":{},"modules/VisibilityToggleModule.html":{},"modules.html":{},"overview.html":{}}}],["visible",{"_index":1761,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["visual",{"_index":3610,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":3773,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":3902,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":56,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["vs",{"_index":3726,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":3987,"title":{},"body":{"changelog.html":{}}}],["w",{"_index":386,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["wait",{"_index":1473,"title":{},"body":{"classes/InitializationState.html":{}}}],["waits",{"_index":1603,"title":{},"body":{"classes/InitializationState.html":{}}}],["walkthrough",{"_index":4198,"title":{},"body":{"index.html":{}}}],["want",{"_index":1769,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["warming",{"_index":3637,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":3921,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":4252,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":4249,"title":{},"body":{"license.html":{}}}],["watch",{"_index":3457,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["wc",{"_index":605,"title":{},"body":{"components/AppWebComponent.html":{}}}],["wc'},{'name",{"_index":475,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["web",{"_index":572,"title":{},"body":{"modules/AppModule.html":{},"components/AppWebComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["webcomponent",{"_index":3725,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":4091,"title":{},"body":{"dependencies.html":{}}}],["webkit",{"_index":860,"title":{},"body":{"components/ContainerComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["webpages",{"_index":3692,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":4169,"title":{},"body":{"index.html":{}}}],["week",{"_index":3993,"title":{},"body":{"changelog.html":{}}}],["weight",{"_index":718,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["whenever",{"_index":1544,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["whether",{"_index":813,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"license.html":{}}}],["white",{"_index":447,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["whole",{"_index":3989,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":414,"title":{},"body":{"components/AppComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["widths",{"_index":1612,"title":{},"body":{"classes/InitializationState.html":{}}}],["window:click",{"_index":3205,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["window:click(event",{"_index":3219,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["window:focusin",{"_index":3206,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["window:focusin(event",{"_index":3221,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["within",{"_index":2807,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["withlatestfrom",{"_index":2288,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["withlatestfrom(this.globalskipconfirmation",{"_index":2317,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["without",{"_index":804,"title":{},"body":{"components/ContainerComponent.html":{},"changelog.html":{},"license.html":{}}}],["workaround",{"_index":1622,"title":{},"body":{"classes/InitializationState.html":{}}}],["workflows",{"_index":3859,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":3682,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":3874,"title":{},"body":{"changelog.html":{}}}],["wrap",{"_index":3099,"title":{},"body":{"components/StageNavComponent.html":{}}}],["wrapped",{"_index":801,"title":{},"body":{"components/ContainerComponent.html":{}}}],["wrapper",{"_index":432,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["wrapping",{"_index":805,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{}}}],["x",{"_index":390,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/TagListComponent.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["x,y,z",{"_index":890,"title":{},"body":{"components/ContentComponent.html":{}}}],["x_dimension",{"_index":2620,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["x_rotation",{"_index":2636,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["x_scaling",{"_index":2631,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["x_translation",{"_index":2645,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["xyz",{"_index":2474,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["xyztriplet",{"_index":1936,"title":{"interfaces/XYZTriplet.html":{}},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["xyztriplettostring",{"_index":2437,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["xyztriplettostring(xyz",{"_index":2472,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["y",{"_index":387,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/TagListComponent.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["y_dimension",{"_index":2622,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["y_rotation",{"_index":2638,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["y_scaling",{"_index":2632,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["y_translation",{"_index":2647,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["yes",{"_index":2333,"title":{},"body":{"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{}}}],["youtube",{"_index":3420,"title":{},"body":{"components/VideoModalComponent.html":{},"changelog.html":{}}}],["youtubeplayermodule",{"_index":3471,"title":{},"body":{"modules/VideoModalModule.html":{}}}],["z",{"_index":382,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["z_dimension",{"_index":2624,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["z_rotation",{"_index":2640,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["z_scaling",{"_index":2633,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["z_translation",{"_index":2649,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["zone.js",{"_index":4152,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":547,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["zoombasedopacity",{"_index":2868,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}]],"pipeline":["stemmer"]}, - "store": {"injectables/AnatomicalStructureTagState.html":{"url":"injectables/AnatomicalStructureTagState.html","title":"injectable - AnatomicalStructureTagState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n AnatomicalStructureTagState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts\n \n\n\n \n Description\n \n \n Tag collection global state\n\n \n\n \n Extends\n \n \n NgxsDataEntityCollectionsRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _latestTags\n \n \n Private\n model\n \n \n Private\n page\n \n \n Private\n scene\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addTag\n \n \n Private\n addTagRaw\n \n \n addTags\n \n \n ngxsOnInit\n \n \n removeTag\n \n \n searchExternal\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n tags$\n \n \n latestTags\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(injector: Injector)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:79\n \n \n\n \n \n Creates an instance of scene state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n Injector service used to lazy load page and model state\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addTag\n \n \n \n \n \n \naddTag(tag: Tag)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n addTagRaw\n \n \n \n \n \n \n \n addTagRaw(tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:158\n \n \n\n\n \n \n Adds a tag. Implementation helper for addTags and addTag\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n The tag\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addTags\n \n \n \n \n \n \naddTags(tags: Tag[])\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:112\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tags\n \n Tag[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:95\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n removeTag\n \n \n \n \n \n \nremoveTag(tag: Tag)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:124\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n searchExternal\n \n \n \n \n \n \nsearchExternal(text: string, limit: number)\n \n \n\n \n \n Decorators : \n \n @Bind()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:140\n \n \n\n\n \n \n Searches for matching tags (not in the state)\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n Search text\n\n \n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n Maximum returned results hint\n\n \n \n \n \n \n \n \n \n Returns : ObservableInput\n\n \n \n external Search result\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _latestTags\n \n \n \n \n \n \n Type : Tag[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n model\n \n \n \n \n \n \n Type : ModelState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:75\n \n \n\n \n \n Reference to the model state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n page\n \n \n \n \n \n \n Type : PageState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n scene\n \n \n \n \n \n \n Type : SceneState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:77\n \n \n\n \n \n Reference to the scene state\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n tags$\n \n \n\n \n \n gettags$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:38\n \n \n \n \n Observable of tags\n\n\n \n Returns : Observable\n\n \n \n \n\n \n \n \n \n \n \n \n latestTags\n \n \n\n \n \n getlatestTags()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:70\n \n \n\n \n \n\n \n\n\n \n import { createEntityCollections, EntityCollections } from '@angular-ru/common/entity';\nimport { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataEntityCollectionsRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { bind as Bind } from 'bind-decorator';\nimport { combineLatest, Observable, ObservableInput } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { Tag, TagId, TagSearchResult } from '../../models/anatomical-structure-tag';\nimport { ModelState } from '../model/model.state';\nimport { PageState } from '../page/page.state';\nimport { SceneState } from '../scene/scene.state';\n\n\n/** Tag state model */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface AnatomicalStructureTagStateModel {\n}\n\n\n/**\n * Tag collection global state\n */\n@StateRepository()\n@State>({\n name: 'tags',\n defaults: {\n ...createEntityCollections()\n }\n})\n@Injectable()\nexport class AnatomicalStructureTagState extends NgxsDataEntityCollectionsRepository {\n /** Observable of tags */\n @Computed()\n get tags$(): Observable {\n return combineLatest([this.entities$, this.scene.nodeCollisions$]).pipe(\n map(([entities, collisions]) => {\n const tags: Tag[] = [];\n const added = new Set();\n const removed = new Set();\n Object.entries(entities).forEach(([id, tag]) => {\n if (tag.type === 'removed') {\n removed.add(id);\n } else {\n added.add(id);\n tags.push(tag);\n }\n });\n for (const model of collisions) {\n const iri = model.representation_of;\n if (iri && !removed.has(iri) && !added.has(iri)) {\n added.add(iri);\n tags.push({\n id: iri,\n label: model.tooltip as string,\n type: 'assigned'\n });\n }\n }\n return tags;\n })\n );\n }\n\n private _latestTags: Tag[] = [];\n\n get latestTags(): Tag[] {\n return this._latestTags;\n }\n\n /** Reference to the model state */\n private model: ModelState;\n /** Reference to the scene state */\n private scene: SceneState;\n\n private page: PageState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load page and model state\n */\n constructor(\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.model = this.injector.get(ModelState);\n this.scene = this.injector.get(SceneState);\n this.page = this.injector.get(PageState);\n\n this.tags$.subscribe((tags) => {\n this._latestTags = tags;\n });\n\n this.entities$.subscribe(() => this.page.setHasChanges());\n }\n\n @DataAction()\n addTags(tags: Tag[]): void {\n for (const tag of tags) {\n this.addTagRaw(tag);\n }\n }\n\n @DataAction()\n addTag(tag: Tag): void {\n this.addTagRaw(tag);\n }\n\n @DataAction()\n removeTag(tag: Tag): void {\n if (this.snapshot.entities[tag.id]) {\n this.updateEntitiesMany([{ id: tag.id, changes: { type: 'removed' } }]);\n } else {\n this.addEntityOne({ ...tag, type: 'removed' });\n }\n }\n\n /**\n * Searches for matching tags (not in the state)\n *\n * @param text Search text\n * @param limit Maximum returned results hint\n * @returns external Search result\n */\n @Bind\n searchExternal(text: string, limit: number): ObservableInput {\n const matches = this.model.snapshot.anatomicalStructures\n .filter(as => as.name.toLowerCase().indexOf(text.toLowerCase()) !== -1);\n return [{\n totalCount: matches.length,\n results: matches.map((as): Tag => ({\n id: as.id,\n label: as.name,\n type: 'added'\n })).slice(0, limit)\n }];\n }\n\n /**\n * Adds a tag. Implementation helper for `addTags` and `addTag`\n *\n * @param tag The tag\n */\n private addTagRaw(tag: Tag): void {\n if (this.snapshot.entities[tag.id]) {\n this.updateEntitiesMany([{ id: tag.id, changes: { type: 'added' } }]);\n } else {\n this.addEntityOne({ ...tag, type: 'added' });\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AnatomicalStructureTagStateModel.html":{"url":"interfaces/AnatomicalStructureTagStateModel.html","title":"interface - AnatomicalStructureTagStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AnatomicalStructureTagStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts\n \n\n\n \n Description\n \n \n Tag state model\n\n \n\n\n\n\n\n \n\n\n \n import { createEntityCollections, EntityCollections } from '@angular-ru/common/entity';\nimport { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataEntityCollectionsRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { bind as Bind } from 'bind-decorator';\nimport { combineLatest, Observable, ObservableInput } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { Tag, TagId, TagSearchResult } from '../../models/anatomical-structure-tag';\nimport { ModelState } from '../model/model.state';\nimport { PageState } from '../page/page.state';\nimport { SceneState } from '../scene/scene.state';\n\n\n/** Tag state model */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface AnatomicalStructureTagStateModel {\n}\n\n\n/**\n * Tag collection global state\n */\n@StateRepository()\n@State>({\n name: 'tags',\n defaults: {\n ...createEntityCollections()\n }\n})\n@Injectable()\nexport class AnatomicalStructureTagState extends NgxsDataEntityCollectionsRepository {\n /** Observable of tags */\n @Computed()\n get tags$(): Observable {\n return combineLatest([this.entities$, this.scene.nodeCollisions$]).pipe(\n map(([entities, collisions]) => {\n const tags: Tag[] = [];\n const added = new Set();\n const removed = new Set();\n Object.entries(entities).forEach(([id, tag]) => {\n if (tag.type === 'removed') {\n removed.add(id);\n } else {\n added.add(id);\n tags.push(tag);\n }\n });\n for (const model of collisions) {\n const iri = model.representation_of;\n if (iri && !removed.has(iri) && !added.has(iri)) {\n added.add(iri);\n tags.push({\n id: iri,\n label: model.tooltip as string,\n type: 'assigned'\n });\n }\n }\n return tags;\n })\n );\n }\n\n private _latestTags: Tag[] = [];\n\n get latestTags(): Tag[] {\n return this._latestTags;\n }\n\n /** Reference to the model state */\n private model: ModelState;\n /** Reference to the scene state */\n private scene: SceneState;\n\n private page: PageState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load page and model state\n */\n constructor(\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.model = this.injector.get(ModelState);\n this.scene = this.injector.get(SceneState);\n this.page = this.injector.get(PageState);\n\n this.tags$.subscribe((tags) => {\n this._latestTags = tags;\n });\n\n this.entities$.subscribe(() => this.page.setHasChanges());\n }\n\n @DataAction()\n addTags(tags: Tag[]): void {\n for (const tag of tags) {\n this.addTagRaw(tag);\n }\n }\n\n @DataAction()\n addTag(tag: Tag): void {\n this.addTagRaw(tag);\n }\n\n @DataAction()\n removeTag(tag: Tag): void {\n if (this.snapshot.entities[tag.id]) {\n this.updateEntitiesMany([{ id: tag.id, changes: { type: 'removed' } }]);\n } else {\n this.addEntityOne({ ...tag, type: 'removed' });\n }\n }\n\n /**\n * Searches for matching tags (not in the state)\n *\n * @param text Search text\n * @param limit Maximum returned results hint\n * @returns external Search result\n */\n @Bind\n searchExternal(text: string, limit: number): ObservableInput {\n const matches = this.model.snapshot.anatomicalStructures\n .filter(as => as.name.toLowerCase().indexOf(text.toLowerCase()) !== -1);\n return [{\n totalCount: matches.length,\n results: matches.map((as): Tag => ({\n id: as.id,\n label: as.name,\n type: 'added'\n })).slice(0, limit)\n }];\n }\n\n /**\n * Adds a tag. Implementation helper for `addTags` and `addTag`\n *\n * @param tag The tag\n */\n private addTagRaw(tag: Tag): void {\n if (this.snapshot.entities[tag.id]) {\n this.updateEntitiesMany([{ id: tag.id, changes: { type: 'added' } }]);\n } else {\n this.addEntityOne({ ...tag, type: 'added' });\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppComponent.html":{"url":"components/AppComponent.html","title":"component - AppComponent","body":"\n \n\n\n\n\n\n Components\n \n AppComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/app.component.ts\n\n\n\n \n Description\n \n \n App component\n\n \n\n\n \n Implements\n \n \n OnDestroy\n OnInit\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root\n \n\n \n styleUrls\n ./app.component.scss\n \n\n\n\n \n templateUrl\n ./app.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n disablePositionChange\n \n \n Readonly\n header$\n \n \n homeUrl\n \n \n Readonly\n homeUrl$\n \n \n logoTooltip\n \n \n Readonly\n logoTooltip$\n \n \n open\n \n \n organList\n \n \n registrationStarted\n \n \n Private\n Readonly\n subscriptions\n \n \n theme\n \n \n Readonly\n theme$\n \n \n Readonly\n themeMode$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleClick\n \n \n handleKey\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n toggleScheme\n \n \n \n \n\n\n\n\n \n \n HostListeners\n \n \n \n \n \n \n document:click\n \n \n document:keydown\n \n \n \n \n\n \n \n Accessors\n \n \n \n \n \n \n isLightTheme\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(model: ModelState, page: PageState, consentService: ConsentService, snackbar: MatSnackBar, theming: ThemingService, el: ElementRef<>, injector: Injector, globalConfig: GlobalConfigState, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:64\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n \n consentService\n \n \n ConsentService\n \n \n \n No\n \n \n \n \n snackbar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n theming\n \n \n ThemingService\n \n \n \n No\n \n \n \n \n el\n \n \n ElementRef<>\n \n \n \n No\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n \n HostListeners \n \n \n \n \n \n document:click\n \n \n \n \n \n \n Arguments : '$event.target' \n \n \n \n \ndocument:click(target: HTMLElement)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:167\n \n \n\n\n \n \n Disables block position change if an input element is clicked\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n The element clicked\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n document:keydown\n \n \n \n \n \n \n Arguments : '$event' \n \n \n \n \ndocument:keydown(target: KeyboardEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:128\n \n \n\n\n \n \n Shifts block position when certain keys are pressed\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n The keyboard event\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleClick\n \n \n \n \n \n \nhandleClick(target: HTMLElement)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:click', ['$event.target'])\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:167\n \n \n\n\n \n \n Disables block position change if an input element is clicked\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n HTMLElement\n \n\n \n No\n \n\n\n \n The element clicked\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n handleKey\n \n \n \n \n \n \nhandleKey(target: KeyboardEvent)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:keydown', ['$event'])\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:128\n \n \n\n\n \n \n Shifts block position when certain keys are pressed\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n KeyboardEvent\n \n\n \n No\n \n\n\n \n The keyboard event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:178\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:100\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n toggleScheme\n \n \n \n \n \n \ntoggleScheme()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:118\n \n \n\n\n \n \n Toggles scheme between light and dark mode\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n disablePositionChange\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:44\n \n \n\n \n \n Disables changes in block position\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n header$\n \n \n \n \n \n \n Default value : this.globalConfig.getOption('header')\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n homeUrl$\n \n \n \n \n \n \n Default value : this.globalConfig.getOption('homeUrl')\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n logoTooltip$\n \n \n \n \n \n \n Default value : this.globalConfig.getOption('logoTooltip')\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n open\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:38\n \n \n\n \n \n True if the organ selector drawer is open\n\n \n \n\n \n \n \n \n \n \n \n \n organList\n \n \n \n \n \n \n Default value : RUI_ORGANS\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:35\n \n \n\n \n \n Organs to be displayed in the organ selector\n\n \n \n\n \n \n \n \n \n \n \n \n registrationStarted\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:41\n \n \n\n \n \n False until the initial registration modal is closed\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:64\n \n \n\n \n \n All subscriptions managed by the container.\n\n \n \n\n \n \n \n \n \n \n \n \n theme\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n theme$\n \n \n \n \n \n \n Default value : this.globalConfig.getOption('theme')\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n themeMode$\n \n \n \n \n \n \n Default value : new ReplaySubject(1)\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:51\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n isLightTheme\n \n \n\n \n \n getisLightTheme()\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:46\n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, OnDestroy, OnInit, HostListener } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { GlobalConfigState, TrackingPopupComponent } from 'ccf-shared';\nimport { ConsentService } from 'ccf-shared/analytics';\nimport { combineLatest, Subscription, ReplaySubject } from 'rxjs';\n\nimport { GlobalConfig } from './core/services/config/config';\nimport { ThemingService } from './core/services/theming/theming.service';\nimport { ModelState, RUI_ORGANS } from './core/store/model/model.state';\nimport { PageState } from './core/store/page/page.state';\n\nexport interface User {\n firstName: string;\n lastName: string;\n}\n\ninterface AppOptions extends GlobalConfig {\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n}\n\n/**\n * App component\n */\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent implements OnDestroy, OnInit {\n /** Organs to be displayed in the organ selector */\n organList = RUI_ORGANS;\n\n /** True if the organ selector drawer is open */\n open = true;\n\n /** False until the initial registration modal is closed */\n registrationStarted = false;\n\n /** Disables changes in block position */\n disablePositionChange = false;\n\n get isLightTheme(): boolean {\n return this.theming.getTheme().endsWith('light');\n }\n\n readonly theme$ = this.globalConfig.getOption('theme');\n readonly themeMode$ = new ReplaySubject(1);\n\n readonly header$ = this.globalConfig.getOption('header');\n readonly homeUrl$ = this.globalConfig.getOption('homeUrl');\n readonly logoTooltip$ = this.globalConfig.getOption('logoTooltip');\n\n theme: string;\n\n homeUrl: string;\n\n logoTooltip: string;\n\n /** All subscriptions managed by the container. */\n private readonly subscriptions = new Subscription();\n\n constructor(\n readonly model: ModelState, readonly page: PageState,\n readonly consentService: ConsentService, readonly snackbar: MatSnackBar, readonly theming: ThemingService,\n el: ElementRef, injector: Injector, private readonly globalConfig: GlobalConfigState, cdr: ChangeDetectorRef\n ) {\n theming.initialize(el, injector);\n this.subscriptions.add(\n page.registrationCallbackSet$.subscribe((callbackSet) => {\n this.open = !callbackSet;\n })\n );\n this.subscriptions.add(\n page.registrationStarted$.subscribe((registrationStarted) => {\n this.registrationStarted = registrationStarted;\n })\n );\n this.theme$.subscribe((theme: string) => {\n this.theme = theme;\n });\n this.globalConfig.getOption('homeUrl').subscribe((url: string) => {\n this.homeUrl = url;\n });\n this.globalConfig.getOption('logoTooltip').subscribe((tooltip: string) => {\n this.logoTooltip = tooltip;\n });\n\n combineLatest([this.theme$, this.themeMode$]).subscribe(\n ([theme, mode]) => {\n this.theming.setTheme(`${theme}-theme-${mode}`);\n cdr.markForCheck();\n }\n );\n }\n\n ngOnInit(): void {\n const snackBar = this.snackbar.openFromComponent(TrackingPopupComponent, {\n data: {\n preClose: () => {\n snackBar.dismiss();\n }\n },\n duration: this.consentService.consent === 'not-set' ? Infinity : 3000\n });\n\n this.themeMode$.next('light');\n\n this.theming.setTheme(`${this.theme}-theme-light`);\n }\n\n /**\n * Toggles scheme between light and dark mode\n */\n toggleScheme(): void {\n this.themeMode$.next(this.isLightTheme ? 'dark' : 'light');\n }\n\n /**\n * Shifts block position when certain keys are pressed\n *\n * @param target The keyboard event\n */\n @HostListener('document:keydown', ['$event'])\n handleKey(target: KeyboardEvent): void {\n const oldPosition = this.model.snapshot.position;\n if (this.disablePositionChange || !this.registrationStarted) {\n return;\n }\n target.preventDefault();\n const delta = target.repeat ? 1.0 : 0.5;\n let newPosition = oldPosition;\n switch (target.key) {\n case 'q':\n newPosition = { ...oldPosition, z: oldPosition.z + delta };\n break;\n case 'e':\n newPosition = { ...oldPosition, z: oldPosition.z - delta };\n break;\n case 'w':\n newPosition = { ...oldPosition, y: oldPosition.y + delta };\n break;\n case 's':\n newPosition = { ...oldPosition, y: oldPosition.y - delta };\n break;\n case 'a':\n newPosition = { ...oldPosition, x: oldPosition.x - delta };\n break;\n case 'd':\n newPosition = { ...oldPosition, x: oldPosition.x + delta };\n break;\n default:\n break;\n }\n this.model.setPosition(newPosition);\n }\n\n /**\n * Disables block position change if an input element is clicked\n *\n * @param target The element clicked\n */\n @HostListener('document:click', ['$event.target'])\n handleClick(target: HTMLElement): void {\n if (target.nodeName === 'INPUT') {\n this.disablePositionChange = true;\n } else {\n this.disablePositionChange = false;\n }\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n}\n\n \n\n \n \n\n\n\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n {{ organSelector.expanded ? 'arrow_drop_up': 'arrow_drop_down' }}\n \n \n \n \n {{ open ? 'arrow_drop_up': 'arrow_drop_down' }}\n \n \n \n \n \n \n\n\n \n\n \n \n ./app.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n font-size: 1rem;\n color: black;\n\n .header-hidden {\n display: none;\n }\n\n ccf-drawer-container {\n height: 100%;\n\n ccf-drawer {\n width: 25.5rem;\n }\n\n ccf-drawer-content {\n position: relative;\n z-index: 1;\n\n .selector-drawer {\n top: 0rem;\n display: flex;\n flex-direction: column;\n position: relative;\n height: 5.688rem;\n transition: all 0.5s ease-in-out;\n\n &.expanded {\n height: 15rem;\n }\n\n ccf-organ-selector {\n height: 100%;\n padding-top: 0.5rem;\n transition: all 0.5s;\n \n &.closed {\n padding-top: 0;\n }\n }\n\n .close-button-wrapper {\n display: flex;\n justify-content: center;\n height: 0;\n z-index: 2;\n \n .close-button {\n cursor: pointer;\n transition: 0.6s;\n\n .expand-collapse-icon {\n width: 3rem;\n height: 1.2rem;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n background-color: white;\n border-bottom-left-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n transition: 0.6s;\n \n &:hover {\n background-color: #ececec;\n }\n }\n }\n }\n\n\n &.closed {\n height: 3rem;\n top: -2.9rem;\n }\n }\n\n .stage-content {\n border-radius: 0.5rem !important;\n height: calc(100% - 2.688rem - 3rem - 1.5rem);\n }\n\n .expanded-stage {\n height: calc(100% - 1.5rem);\n padding-bottom: 1rem;\n }\n\n .retracted-stage {\n height: calc(100% - 2.688rem - 14rem);\n }\n\n }\n\n\n\n ccf-content {\n // top: 0rem;\n position: absolute;\n transition-duration: 0.5s;\n transition-timing-function: ease-in-out;\n transition-property: all;\n bottom: 1.5rem;\n z-index: 1;\n\n }\n\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ organSelector.expanded ? \\'arrow_drop_up\\': \\'arrow_drop_down\\' }} {{ open ? \\'arrow_drop_up\\': \\'arrow_drop_down\\' }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AppModule.html":{"url":"modules/AppModule.html","title":"module - AppModule","body":"\n \n\n\n\n\n Modules\n AppModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nContentModule\n\nContentModule\n\nAppModule -->\n\nContentModule->AppModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nAppModule -->\n\nCoreModule->AppModule\n\n\n\n\n\nDrawerModule\n\nDrawerModule\n\nAppModule -->\n\nDrawerModule->AppModule\n\n\n\n\n\nHeaderModule\n\nHeaderModule\n\nAppModule -->\n\nHeaderModule->AppModule\n\n\n\n\n\nLeftSidebarModule\n\nLeftSidebarModule\n\nAppModule -->\n\nLeftSidebarModule->AppModule\n\n\n\n\n\nRegistrationModalModule\n\nRegistrationModalModule\n\nAppModule -->\n\nRegistrationModalModule->AppModule\n\n\n\n\n\nRightSidebarModule\n\nRightSidebarModule\n\nAppModule -->\n\nRightSidebarModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/app.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n AppComponent\n \n \n AppWebComponent\n \n \n \n \n EntryComponents\n \n \n AppComponent\n \n \n AppWebComponent\n \n \n \n \n Imports\n \n \n ContentModule\n \n \n CoreModule\n \n \n DrawerModule\n \n \n HeaderModule\n \n \n LeftSidebarModule\n \n \n RegistrationModalModule\n \n \n RightSidebarModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngDoBootstrap\n \n \n \n \n \n \nngDoBootstrap()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.module.ts:58\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { DoBootstrap, Injector, NgModule } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { OrganSelectorModule, TrackingPopupModule } from 'ccf-shared';\n\nimport { AppWebComponent } from './app-web-component.component';\nimport { AppComponent } from './app.component';\nimport { CoreModule } from './core/core.module';\nimport { DEFAULT_THEME } from './core/services/theming/theming.service';\nimport { ContentModule } from './modules/content/content.module';\nimport { HeaderModule } from './modules/header/header.module';\nimport { LeftSidebarModule } from './modules/left-sidebar/left-sidebar.module';\nimport { RegistrationModalModule } from './modules/registration-modal/registration-modal/registration-modal.module';\nimport { RightSidebarModule } from './modules/right-sidebar/right-sidebar.module';\nimport { DrawerModule } from './shared/components/drawer/drawer.module';\n\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n CoreModule,\n MatIconModule,\n DrawerModule,\n HeaderModule,\n ContentModule,\n LeftSidebarModule,\n RightSidebarModule,\n OrganSelectorModule,\n RegistrationModalModule,\n TrackingPopupModule,\n MatSnackBarModule\n ],\n declarations: [AppComponent, AppWebComponent],\n providers: [\n {\n provide: DEFAULT_THEME,\n useValue: 'hubmap-theme-light'\n },\n {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: {\n appearance: 'standard',\n floatLabel: false,\n hideRequiredMarker: true\n }\n }\n ],\n entryComponents: [AppComponent, AppWebComponent]\n})\nexport class AppModule implements DoBootstrap {\n constructor(private readonly injector: Injector) { }\n\n ngDoBootstrap(): void {\n const appElement = createCustomElement(AppWebComponent, {\n injector: this.injector\n });\n\n customElements.define('ccf-rui', appElement);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AppOptions.html":{"url":"interfaces/AppOptions.html","title":"interface - AppOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AppOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/app.component.ts\n \n\n\n\n \n Extends\n \n \n GlobalConfig\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n header\n \n \n \n Optional\n \n homeUrl\n \n \n \n Optional\n \n logoTooltip\n \n \n \n Optional\n \n theme\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n header\n \n \n \n \n \n \n \n \n header: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n \n \n \n \n homeUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n \n \n \n \n logoTooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n theme\n \n \n \n \n \n \n \n \n theme: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, OnDestroy, OnInit, HostListener } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { GlobalConfigState, TrackingPopupComponent } from 'ccf-shared';\nimport { ConsentService } from 'ccf-shared/analytics';\nimport { combineLatest, Subscription, ReplaySubject } from 'rxjs';\n\nimport { GlobalConfig } from './core/services/config/config';\nimport { ThemingService } from './core/services/theming/theming.service';\nimport { ModelState, RUI_ORGANS } from './core/store/model/model.state';\nimport { PageState } from './core/store/page/page.state';\n\nexport interface User {\n firstName: string;\n lastName: string;\n}\n\ninterface AppOptions extends GlobalConfig {\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n}\n\n/**\n * App component\n */\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent implements OnDestroy, OnInit {\n /** Organs to be displayed in the organ selector */\n organList = RUI_ORGANS;\n\n /** True if the organ selector drawer is open */\n open = true;\n\n /** False until the initial registration modal is closed */\n registrationStarted = false;\n\n /** Disables changes in block position */\n disablePositionChange = false;\n\n get isLightTheme(): boolean {\n return this.theming.getTheme().endsWith('light');\n }\n\n readonly theme$ = this.globalConfig.getOption('theme');\n readonly themeMode$ = new ReplaySubject(1);\n\n readonly header$ = this.globalConfig.getOption('header');\n readonly homeUrl$ = this.globalConfig.getOption('homeUrl');\n readonly logoTooltip$ = this.globalConfig.getOption('logoTooltip');\n\n theme: string;\n\n homeUrl: string;\n\n logoTooltip: string;\n\n /** All subscriptions managed by the container. */\n private readonly subscriptions = new Subscription();\n\n constructor(\n readonly model: ModelState, readonly page: PageState,\n readonly consentService: ConsentService, readonly snackbar: MatSnackBar, readonly theming: ThemingService,\n el: ElementRef, injector: Injector, private readonly globalConfig: GlobalConfigState, cdr: ChangeDetectorRef\n ) {\n theming.initialize(el, injector);\n this.subscriptions.add(\n page.registrationCallbackSet$.subscribe((callbackSet) => {\n this.open = !callbackSet;\n })\n );\n this.subscriptions.add(\n page.registrationStarted$.subscribe((registrationStarted) => {\n this.registrationStarted = registrationStarted;\n })\n );\n this.theme$.subscribe((theme: string) => {\n this.theme = theme;\n });\n this.globalConfig.getOption('homeUrl').subscribe((url: string) => {\n this.homeUrl = url;\n });\n this.globalConfig.getOption('logoTooltip').subscribe((tooltip: string) => {\n this.logoTooltip = tooltip;\n });\n\n combineLatest([this.theme$, this.themeMode$]).subscribe(\n ([theme, mode]) => {\n this.theming.setTheme(`${theme}-theme-${mode}`);\n cdr.markForCheck();\n }\n );\n }\n\n ngOnInit(): void {\n const snackBar = this.snackbar.openFromComponent(TrackingPopupComponent, {\n data: {\n preClose: () => {\n snackBar.dismiss();\n }\n },\n duration: this.consentService.consent === 'not-set' ? Infinity : 3000\n });\n\n this.themeMode$.next('light');\n\n this.theming.setTheme(`${this.theme}-theme-light`);\n }\n\n /**\n * Toggles scheme between light and dark mode\n */\n toggleScheme(): void {\n this.themeMode$.next(this.isLightTheme ? 'dark' : 'light');\n }\n\n /**\n * Shifts block position when certain keys are pressed\n *\n * @param target The keyboard event\n */\n @HostListener('document:keydown', ['$event'])\n handleKey(target: KeyboardEvent): void {\n const oldPosition = this.model.snapshot.position;\n if (this.disablePositionChange || !this.registrationStarted) {\n return;\n }\n target.preventDefault();\n const delta = target.repeat ? 1.0 : 0.5;\n let newPosition = oldPosition;\n switch (target.key) {\n case 'q':\n newPosition = { ...oldPosition, z: oldPosition.z + delta };\n break;\n case 'e':\n newPosition = { ...oldPosition, z: oldPosition.z - delta };\n break;\n case 'w':\n newPosition = { ...oldPosition, y: oldPosition.y + delta };\n break;\n case 's':\n newPosition = { ...oldPosition, y: oldPosition.y - delta };\n break;\n case 'a':\n newPosition = { ...oldPosition, x: oldPosition.x - delta };\n break;\n case 'd':\n newPosition = { ...oldPosition, x: oldPosition.x + delta };\n break;\n default:\n break;\n }\n this.model.setPosition(newPosition);\n }\n\n /**\n * Disables block position change if an input element is clicked\n *\n * @param target The element clicked\n */\n @HostListener('document:click', ['$event.target'])\n handleClick(target: HTMLElement): void {\n if (target.nodeName === 'INPUT') {\n this.disablePositionChange = true;\n } else {\n this.disablePositionChange = false;\n }\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppWebComponent.html":{"url":"components/AppWebComponent.html","title":"component - AppWebComponent","body":"\n \n\n\n\n\n\n Components\n \n AppWebComponent\n\n\n\n \n Info\n \n \n Source\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/app-web-component.component.ts\n\n\n\n\n \n Extends\n \n \n BaseWebComponent\n \n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root-wc\n \n\n\n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n initialized\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n baseHref\n \n \n cancelRegistration\n \n \n editRegistration\n \n \n fetchPreviousRegistrations\n \n \n header\n \n \n homeUrl\n \n \n logoTooltip\n \n \n organ\n \n \n register\n \n \n skipUnsavedChangesConfirmation\n \n \n theme\n \n \n useDownload\n \n \n user\n \n \n \n \n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configStore: GlobalConfigState, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:39\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configStore\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n baseHref\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:25\n \n \n \n \n \n \n \n \n \n cancelRegistration\n \n \n \n \n Type : string | CancelRegistrationCallback\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:31\n \n \n \n \n \n \n \n \n \n editRegistration\n \n \n \n \n Type : string | SpatialEntityJsonLd\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:29\n \n \n \n \n \n \n \n \n \n fetchPreviousRegistrations\n \n \n \n \n Type : string | FetchPreviousRegistrationsCallback\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:32\n \n \n \n \n \n \n \n \n \n header\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:35\n \n \n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:36\n \n \n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:37\n \n \n \n \n \n \n \n \n \n organ\n \n \n \n \n Type : string | Organ\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:28\n \n \n \n \n \n \n \n \n \n register\n \n \n \n \n Type : string | RegistrationCallback\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:30\n \n \n \n \n \n \n \n \n \n skipUnsavedChangesConfirmation\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:33\n \n \n \n \n \n \n \n \n \n theme\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:34\n \n \n \n \n \n \n \n \n \n useDownload\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:26\n \n \n \n \n \n \n \n \n \n user\n \n \n \n \n Type : string | User\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:27\n \n \n \n \n\n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n initialized\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:39\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { SpatialEntityJsonLd } from 'ccf-body-ui';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { BaseWebComponent, BUILTIN_PARSERS } from 'ccf-shared/web-components';\nimport { ObservableInput } from 'rxjs';\n\nimport { GlobalConfig } from './core/services/config/config';\n\nimport { environment } from '../environments/environment';\n\n\nexport type User = NonNullable;\nexport type Organ = NonNullable;\nexport type RegistrationCallback = (data: unknown) => void;\nexport type CancelRegistrationCallback = () => void;\nexport type FetchPreviousRegistrationsCallback = () => ObservableInput[]>;\n\n\n@Component({\n selector: 'ccf-root-wc',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppWebComponent extends BaseWebComponent {\n @Input() baseHref: string;\n @Input() useDownload: string | boolean;\n @Input() user: string | User;\n @Input() organ: string | Organ;\n @Input() editRegistration: string | SpatialEntityJsonLd;\n @Input() register: string | RegistrationCallback;\n @Input() cancelRegistration: string | CancelRegistrationCallback;\n @Input() fetchPreviousRegistrations: string | FetchPreviousRegistrationsCallback;\n @Input() skipUnsavedChangesConfirmation: string | boolean;\n @Input() theme: string;\n @Input() header: string | boolean;\n @Input() homeUrl: string;\n @Input() logoTooltip: string;\n\n initialized: boolean;\n\n constructor(\n configStore: GlobalConfigState,\n cdr: ChangeDetectorRef\n ) {\n const BP = BUILTIN_PARSERS;\n\n super(configStore, cdr, {\n initialDelay: 500,\n\n initialConfig: {\n ...environment.dbOptions,\n ...globalThis['ruiConfig' as string],\n ...environment.customization\n },\n parse: {\n useDownload: BP.boolean,\n user: BP.json,\n organ: BP.json,\n editRegistration: BP.json,\n register: BP.function,\n cancelRegistration: BP.function,\n fetchPreviousRegistrations: BP.function,\n skipUnsavedChangesConfirmation: BP.boolean,\n header: BP.boolean,\n }\n });\n }\n}\n\n \n\n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppWebComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BlockSize.html":{"url":"interfaces/BlockSize.html","title":"interface - BlockSize","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BlockSize\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n\n\n \n Description\n \n \n Interface for objects containing tissue block dimensions\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Width of block\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Height of block\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Depth of block\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/**\n * Interface for objects containing tissue block dimensions\n */\nexport interface BlockSize {\n /** Width of block */\n x: number;\n /** Height of block */\n y: number;\n /** Depth of block */\n z: number;\n}\n\n/** Defaults for block sizes. */\nconst DEFAULT_BLOCK_SIZE: BlockSize = {\n x: 10,\n y: 10,\n z: 10\n};\n\n/**\n * Component for entering dimensions of the tissue block\n */\n@Component({\n selector: 'ccf-block-size-input',\n templateUrl: './block-size-input.component.html',\n styleUrls: ['./block-size-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BlockSizeInputComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-block-size-input';\n\n /**\n * Values of block dimensions to be emitted\n */\n @Input() blockSize = DEFAULT_BLOCK_SIZE;\n\n /**\n * Emitter for values\n */\n @Output() readonly blockSizeChange = new EventEmitter();\n\n /**\n * Creates an instance of block size input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates values when an input changes\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key Name of the dimension to be updated\n */\n updateBlockSizes(input: InputEvent, key: string): void {\n const inputTarget = input.target as HTMLInputElement;\n this.blockSize = { ...this.blockSize, [key]: +inputTarget.value };\n this.ga.event('block_size_change', 'block_size_input', key, this.blockSize[key]);\n this.blockSizeChange.emit(this.blockSize);\n }\n\n /**\n * Refreshes all block size values to 10\n */\n refreshBlockSize(): void {\n this.blockSize = DEFAULT_BLOCK_SIZE;\n this.ga.event('block_size_reset', 'block_size_input');\n this.blockSizeChange.emit(this.blockSize);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/BlockSizeInputComponent.html":{"url":"components/BlockSizeInputComponent.html","title":"component - BlockSizeInputComponent","body":"\n \n\n\n\n\n\n Components\n \n BlockSizeInputComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n\n\n\n \n Description\n \n \n Component for entering dimensions of the tissue block\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-block-size-input\n \n\n \n styleUrls\n ./block-size-input.component.scss\n \n\n\n\n \n templateUrl\n ./block-size-input.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n refreshBlockSize\n \n \n updateBlockSizes\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n blockSize\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n blockSizeChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:45\n \n \n\n \n \n Creates an instance of block size input component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n blockSize\n \n \n \n \n Type : BlockSize\n\n \n \n \n \n Default value : DEFAULT_BLOCK_SIZE\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:40\n \n \n \n \n Values of block dimensions to be emitted\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n blockSizeChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:45\n \n \n \n \n Emitter for values\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-block-size-input\"\n\n \n \n \n \n Default value : 'ccf-block-size-input'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:35\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n refreshBlockSize\n \n \n \n \n \n \nrefreshBlockSize()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:70\n \n \n\n\n \n \n Refreshes all block size values to 10\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateBlockSizes\n \n \n \n \n \n \nupdateBlockSizes(input: InputEvent, key: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:60\n \n \n\n\n \n \n Updates values when an input changes\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n input\n \n InputEvent\n \n\n \n No\n \n\n\n \n InputEvent from the input element which contains the new value\n\n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n Name of the dimension to be updated\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-block-size-input'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:35\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/**\n * Interface for objects containing tissue block dimensions\n */\nexport interface BlockSize {\n /** Width of block */\n x: number;\n /** Height of block */\n y: number;\n /** Depth of block */\n z: number;\n}\n\n/** Defaults for block sizes. */\nconst DEFAULT_BLOCK_SIZE: BlockSize = {\n x: 10,\n y: 10,\n z: 10\n};\n\n/**\n * Component for entering dimensions of the tissue block\n */\n@Component({\n selector: 'ccf-block-size-input',\n templateUrl: './block-size-input.component.html',\n styleUrls: ['./block-size-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BlockSizeInputComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-block-size-input';\n\n /**\n * Values of block dimensions to be emitted\n */\n @Input() blockSize = DEFAULT_BLOCK_SIZE;\n\n /**\n * Emitter for values\n */\n @Output() readonly blockSizeChange = new EventEmitter();\n\n /**\n * Creates an instance of block size input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates values when an input changes\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key Name of the dimension to be updated\n */\n updateBlockSizes(input: InputEvent, key: string): void {\n const inputTarget = input.target as HTMLInputElement;\n this.blockSize = { ...this.blockSize, [key]: +inputTarget.value };\n this.ga.event('block_size_change', 'block_size_input', key, this.blockSize[key]);\n this.blockSizeChange.emit(this.blockSize);\n }\n\n /**\n * Refreshes all block size values to 10\n */\n refreshBlockSize(): void {\n this.blockSize = DEFAULT_BLOCK_SIZE;\n this.ga.event('block_size_reset', 'block_size_input');\n this.blockSizeChange.emit(this.blockSize);\n }\n}\n\n \n\n \n \n Tissue Block Dimensions (mm)\n \n refresh\n\n\n\n \n Width (X)\n \n \n\n \n Height (Y)\n \n \n\n \n Depth (Z)\n \n \n\n\n \n\n \n \n ./block-size-input.component.scss\n \n :host {\n input[type=number] {\n -moz-appearance: textfield;\n }\n\n .header {\n display: flex;\n height: 1.5rem;\n align-items: center;\n\n .title {\n font-weight: 600;\n }\n\n .refresh {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n\n &:hover {\n border-radius: 2px;\n } \n }\n }\n\n .size-inputs {\n display: flex;\n\n .field {\n width: 33.33%;\n\n &:not(:last-child) {\n padding-right: 0.75rem;\n }\n\n .input {\n text-align: center;\n }\n }\n }\n\n .filler {\n flex-grow: 1;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Tissue Block Dimensions (mm) refresh Width (X) Height (Y) Depth (Z) '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'BlockSizeInputComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/BlockSizeInputModule.html":{"url":"modules/BlockSizeInputModule.html","title":"module - BlockSizeInputModule","body":"\n \n\n\n\n\n Modules\n BlockSizeInputModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_BlockSizeInputModule\n\n\n\ncluster_BlockSizeInputModule_declarations\n\n\n\ncluster_BlockSizeInputModule_exports\n\n\n\n\nBlockSizeInputComponent\n\nBlockSizeInputComponent\n\n\n\nBlockSizeInputModule\n\nBlockSizeInputModule\n\nBlockSizeInputModule -->\n\nBlockSizeInputComponent->BlockSizeInputModule\n\n\n\n\n\nBlockSizeInputComponent \n\nBlockSizeInputComponent \n\nBlockSizeInputComponent -->\n\nBlockSizeInputModule->BlockSizeInputComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n BlockSizeInputComponent\n \n \n \n \n Exports\n \n \n BlockSizeInputComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n\nimport { BlockSizeInputComponent } from './block-size-input.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatInputModule,\n MatIconModule,\n MatRippleModule,\n MatTooltipModule\n ],\n declarations: [BlockSizeInputComponent],\n exports: [BlockSizeInputComponent]\n})\nexport class BlockSizeInputModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ConfigModule.html":{"url":"modules/ConfigModule.html","title":"module - ConfigModule","body":"\n \n\n\n\n\n Modules\n ConfigModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/core/services/config/config.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { GlobalsService } from 'ccf-shared';\n\nimport { GLOBAL_CONFIG, globalConfigFactory } from './config';\n\n\n@NgModule({\n providers: [\n {\n provide: GLOBAL_CONFIG,\n useFactory: globalConfigFactory,\n deps: [GlobalsService]\n }\n ]\n})\nexport class ConfigModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ContainerComponent.html":{"url":"components/ContainerComponent.html","title":"component - ContainerComponent","body":"\n \n\n\n\n\n\n Components\n \n ContainerComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts\n\n\n\n \n Description\n \n \n Main container for drawer components.\n\n \n\n\n \n Implements\n \n \n AfterViewInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n \n exportAs\n ccfDrawerContainer\n \n\n\n\n\n\n \n providers\n \n MessageService\n \n \n\n\n \n selector\n ccf-drawer-container\n \n\n \n styleUrls\n ./container.component.scss\n \n\n\n\n \n templateUrl\n ./container.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n channel\n \n \n Readonly\n className\n \n \n Private\n content1\n \n \n Private\n content2\n \n \n Private\n drawers\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n handleMessage\n \n \n ngAfterViewInit\n \n \n ngOnDestroy\n \n \n Private\n validateDrawers\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n content\n \n \n hasWrappedContent\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:62\n \n \n\n \n \n Creates an instance of container component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n The service used to send event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-container\"\n\n \n \n \n \n Default value : 'ccf-drawer-container'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:37\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n handleMessage\n \n \n \n \n \n \n \n handleMessage(_msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:115\n \n \n\n\n \n \n Processes event messages.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to be run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngAfterViewInit\n \n \n \n \n \n \nngAfterViewInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:83\n \n \n\n\n \n \n Sets up all listeners after all content has been projected.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:105\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n validateDrawers\n \n \n \n \n \n \n \n validateDrawers()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:124\n \n \n\n\n \n \n Validates the number of drawers and their positions.\n\n\n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n channel\n \n \n \n \n \n \n Type : MessageChannel\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:60\n \n \n\n \n \n The connected message channel.\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-container'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:37\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n content1\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ContentChildren(ContentComponent, {descendants: true})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:45\n \n \n\n \n \n Content component if provided already wrapped.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n content2\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ViewChildren(ContentComponent)\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:48\n \n \n\n \n \n Content component if provided without wrapping.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n drawers\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ContentChildren(DrawerComponent, {descendants: true})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:41\n \n \n\n \n \n Drawer components in this container.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:62\n \n \n\n \n \n All subscriptions managed by the container.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n content\n \n \n\n \n \n getcontent()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:50\n \n \n \n \n Resolves the content component.\n\n\n \n Returns : ContentComponent\n\n \n \n \n\n \n \n \n \n \n \n \n hasWrappedContent\n \n \n\n \n \n gethasWrappedContent()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:55\n \n \n \n \n Whether the content was wrapped.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import {\n AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, HostBinding, OnDestroy, QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\n\nimport { ContentComponent } from '../content/content.component';\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageChannel, MessageService } from '../messages';\n\n\n/**\n * Helper function for creating drawer errors.\n *\n * @param position The position of the drawer.\n * @throws {Error} Error with useful message is always thrown.\n */\nfunction throwDuplicateDrawersError(position: 'start' | 'end'): never {\n throw new Error(`Multiple drawers in position ${position}`);\n}\n\n\n/**\n * Main container for drawer components.\n */\n@Component({\n selector: 'ccf-drawer-container',\n exportAs: 'ccfDrawerContainer',\n templateUrl: './container.component.html',\n styleUrls: ['./container.component.scss'],\n providers: [MessageService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContainerComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-container';\n\n /** Drawer components in this container. */\n @ContentChildren(DrawerComponent, { descendants: true })\n private drawers: QueryList;\n\n /** Content component if provided already wrapped. */\n @ContentChildren(ContentComponent, { descendants: true })\n private content1: QueryList;\n /** Content component if provided without wrapping. */\n @ViewChildren(ContentComponent)\n private content2: QueryList;\n /** Resolves the content component. */\n private get content(): ContentComponent {\n return this.content1.first ?? this.content2.first;\n }\n\n /** Whether the content was wrapped. */\n get hasWrappedContent(): boolean {\n return this.content1.length !== 0;\n }\n\n /** The connected message channel. */\n private channel: MessageChannel;\n /** All subscriptions managed by the container. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of container component.\n *\n * @param messageService The service used to send event messages.\n * @param cdr The change detector reference.\n */\n constructor(messageService: MessageService,\n private cdr: ChangeDetectorRef) {\n this.channel = messageService.connect(this);\n this.subscriptions.add(this.channel.getMessages().subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Sets up all listeners after all content has been projected.\n */\n ngAfterViewInit(): void {\n this.drawers.changes.pipe(startWith(null)).subscribe(() => {\n const drawers = this.validateDrawers();\n this.channel.sendMessage({\n type: 'drawer-containers-changed',\n drawers\n });\n this.cdr.markForCheck();\n });\n\n this.content1.changes.pipe(startWith(null)).subscribe(() => {\n this.channel.sendMessage({\n type: 'content-container-changed',\n content: this.content\n });\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Processes event messages.\n *\n * @param _msg The event.\n * @returns true if change detection needs to be run.\n */\n private handleMessage(_msg: Message): boolean {\n return true;\n }\n\n /**\n * Validates the number of drawers and their positions.\n *\n * @returns A tuple containing the start and end drawers.\n */\n private validateDrawers(): [DrawerComponent | undefined, DrawerComponent | undefined] {\n const drawers = this.drawers.toArray();\n const startDrawers = drawers.filter(drawer => drawer.position === 'start');\n const endDrawers = drawers.filter(drawer => drawer.position === 'end');\n\n if (startDrawers.length > 1) {\n throwDuplicateDrawersError('start');\n }\n if (endDrawers.length > 1) {\n throwDuplicateDrawersError('end');\n }\n\n return [startDrawers[0], endDrawers[0]];\n }\n}\n\n \n\n \n \n\n\n\n \n\n\n \n\n \n \n ./container.component.scss\n \n :host {\n display: block;\n position: relative;\n z-index: 1;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ContainerComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ContentComponent.html":{"url":"components/ContentComponent.html","title":"component - ContentComponent","body":"\n \n\n\n\n\n\n Components\n \n ContentComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/content/content.component.ts\n\n\n\n \n Description\n \n \n Main content component\n\n \n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-content\n \n\n \n styleUrls\n ./content.component.scss\n \n\n\n\n \n templateUrl\n ./content.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n bounds$\n \n \n Readonly\n clsName\n \n \n debugMode\n \n \n Readonly\n is3DView$\n \n \n isNarrowView\n \n \n Readonly\n position$\n \n \n Private\n sensor\n \n \n showDebugButtons\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleNodeDrag\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n resetStage\n \n \n setViewType\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(model: ModelState, page: PageState, registration: RegistrationState, scene: SceneState, rootRef: ElementRef, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:61\n \n \n\n \n \n Creates an instance of content component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n The model state\n\n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n The page state\n\n \n \n \n registration\n \n \n RegistrationState\n \n \n \n No\n \n \n \n The registration state\n\n \n \n \n scene\n \n \n SceneState\n \n \n \n No\n \n \n \n \n \n \n rootRef\n \n \n ElementRef\n \n \n \n No\n \n \n \n Component's root element\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n Change detector\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-content\"\n\n \n \n \n \n Default value : 'ccf-content'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:26\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleNodeDrag\n \n \n \n \n \n \nhandleNodeDrag(event: NodeDragEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n NodeDragEvent\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:97\n \n \n\n\n \n \n Detaches the resize sensor\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:84\n \n \n\n\n \n \n Sets up the resize sensor\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n resetStage\n \n \n \n \n \n \nresetStage()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:113\n \n \n\n\n \n \n Method to reset registration block, crosshairs, and x,y,z information.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setViewType\n \n \n \n \n \n \nsetViewType(is3DView: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:106\n \n \n\n\n \n \n Sets view type\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n is3DView\n \n boolean\n \n\n \n No\n \n\n\n \n Set view type to '3d' if this is true otherwise set it to 'register'\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n bounds$\n \n \n \n \n \n \n Default value : this.model.organDimensions$.pipe(\n map(dims => ({\n x: Math.max(dims.x, this.model.defaultPosition.x + 40) / 1000,\n y: Math.max(dims.y, this.model.defaultPosition.y + 40) / 1000,\n z: Math.max(dims.z, this.model.defaultPosition.z + 40) / 1000\n })),\n distinctUntilKeyChanged('x'),\n distinctUntilKeyChanged('y')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-content'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:26\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n debugMode\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:53\n \n \n\n \n \n Shows / hides the state debug component for testing purposes.\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n is3DView$\n \n \n \n \n \n \n Default value : this.model.viewType$.pipe(\n map(type => type === '3d')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:33\n \n \n\n \n \n Whether the view type is 3d or register\n\n \n \n\n \n \n \n \n \n \n \n \n isNarrowView\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:48\n \n \n\n \n \n Whether the content area is very narrow\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n position$\n \n \n \n \n \n \n Default value : this.model.position$.pipe(\n map(p => ({ x: Math.floor(p.x), y: Math.floor(p.y), z: Math.floor(p.z) }))\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n sensor\n \n \n \n \n \n \n Type : ResizeSensor\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:61\n \n \n\n \n \n Resize detection\n\n \n \n\n \n \n \n \n \n \n \n \n showDebugButtons\n \n \n \n \n \n \n Default value : !environment.production\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:58\n \n \n\n \n \n Show debug buttons of content component\n\n \n \n\n \n \n\n\n\n\n\n \n import {\n ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, OnDestroy, OnInit\n} from '@angular/core';\nimport { NodeDragEvent } from 'ccf-body-ui';\nimport { ResizeSensor } from 'css-element-queries';\nimport { distinctUntilKeyChanged, map } from 'rxjs/operators';\n\nimport { environment } from '../../../environments/environment';\nimport { ModelState } from '../../core/store/model/model.state';\nimport { PageState } from '../../core/store/page/page.state';\nimport { RegistrationState } from '../../core/store/registration/registration.state';\nimport { SceneState } from '../../core/store/scene/scene.state';\n\n\n/**\n * Main content component\n */\n@Component({\n selector: 'ccf-content',\n templateUrl: './content.component.html',\n styleUrls: ['./content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentComponent implements OnInit, OnDestroy {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-content';\n\n readonly position$ = this.model.position$.pipe(\n map(p => ({ x: Math.floor(p.x), y: Math.floor(p.y), z: Math.floor(p.z) }))\n );\n\n /** Whether the view type is 3d or register */\n readonly is3DView$ = this.model.viewType$.pipe(\n map(type => type === '3d')\n );\n\n readonly bounds$ = this.model.organDimensions$.pipe(\n map(dims => ({\n x: Math.max(dims.x, this.model.defaultPosition.x + 40) / 1000,\n y: Math.max(dims.y, this.model.defaultPosition.y + 40) / 1000,\n z: Math.max(dims.z, this.model.defaultPosition.z + 40) / 1000\n })),\n distinctUntilKeyChanged('x'),\n distinctUntilKeyChanged('y')\n );\n\n /** Whether the content area is very narrow */\n isNarrowView = false;\n\n /**\n * Shows / hides the state debug component for testing purposes.\n */\n debugMode = false;\n\n /**\n * Show debug buttons of content component\n */\n showDebugButtons = !environment.production;\n\n /** Resize detection */\n private sensor: ResizeSensor;\n\n /**\n * Creates an instance of content component.\n *\n * @param model The model state\n * @param page The page state\n * @param registration The registration state\n * @param rootRef Component's root element\n * @param cdr Change detector\n */\n constructor(\n readonly model: ModelState,\n readonly page: PageState,\n readonly registration: RegistrationState,\n readonly scene: SceneState,\n private readonly rootRef: ElementRef,\n private readonly cdr: ChangeDetectorRef\n ) { }\n\n /**\n * Sets up the resize sensor\n */\n ngOnInit(): void {\n this.sensor = new ResizeSensor(this.rootRef.nativeElement, ({ width }) => {\n const isNarrowView = width n * 1000) as [number, number];\n const { position, viewSide, organDimensions } = this.model.snapshot;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => n / 2);\n let newPosition = position;\n switch (viewSide) {\n case 'anterior':\n newPosition = { x: a + dims[0], y: b + dims[1], z: position.z };\n break;\n case 'posterior':\n newPosition = { x: -a + dims[0], y: b + dims[1], z: position.z };\n break;\n case 'left':\n newPosition = { x: position.x, y: b + dims[1], z: -a + dims[2] };\n break;\n case 'right':\n newPosition = { x: position.x, y: b + dims[1], z: a + dims[2] };\n break;\n }\n this.model.setPosition(newPosition);\n }\n }\n }\n}\n\n \n\n \n \n \n \n refresh\n\n\n\n \n\n \n\n \n \n \n X: {{ (position$ | async)?.x }}\n Y: {{ (position$ | async)?.y }}\n Z: {{ (position$ | async)?.z }}\n \n \n\n \n \n\n\n\n\n\n State\n Use callback\n Use download\n\n\n \n\n \n \n ./content.component.scss\n \n :host {\n display: block;\n width: 100%;\n height: 100%;\n padding: 1.5rem;\n overflow: hidden;\n\n .top-bar {\n display: flex;\n justify-content: space-between;\n\n .reset {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n }\n }\n\n .main-content {\n display: flex;\n height: calc(100% - 1rem);\n\n .body-ui {\n flex: auto;\n transition: opacity 1s;\n }\n\n .gizmo-area {\n width: 4rem;\n margin-top: 1.5rem;\n margin-left: 1.5rem;\n z-index: 10;\n\n .position-display {\n display: flex;\n justify-content: center;\n margin-bottom: 1.5rem;\n }\n\n .gizmo {\n height: 5.5rem;\n .hidden {\n opacity: 0;\n z-index: 0;\n }\n }\n }\n }\n\n // Temporary for displaying dev information\n .ccf-store-debug {\n color: white;\n position: absolute;\n top: .5rem;\n max-width: 55rem;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' refresh X: {{ (position$ | async)?.x }} Y: {{ (position$ | async)?.y }} Z: {{ (position$ | async)?.z }} State Use callback Use download'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ContentComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ContentComponent-1.html":{"url":"components/ContentComponent-1.html","title":"component - ContentComponent-1","body":"\n \n\n\n\n\n\n Components\n \n ContentComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts\n\n\n\n \n Description\n \n \n Component wrapping and providing animations for center content.\n\n \n\n\n \n Implements\n \n \n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-drawer-content\n \n\n \n styleUrls\n ./content.component.scss\n \n\n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n animationsEnabled\n \n \n Readonly\n className\n \n \n Private\n drawers\n \n \n faded\n \n \n leftMargin\n \n \n rightMargin\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n handleMessage\n \n \n ngOnDestroy\n \n \n Private\n updateFaded\n \n \n Private\n updateMargin\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n @fadeInOut\n \n \n class\n \n \n class.cff-drawer-content-animations\n \n \n style.margin-left.px\n \n \n style.margin-right.px\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:41\n \n \n\n \n \n Creates an instance of content component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n Service used to send and receive event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n @fadeInOut\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:36\n \n \n\n \n \n Whether the content is invisible.\n\n \n \n\n \n \n \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-content\"\n\n \n \n \n \n Default value : 'ccf-drawer-content'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:28\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n class.cff-drawer-content-animations\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:30\n \n \n\n \n \n Whether animations are enabled.\n\n \n \n\n \n \n \n \n \n \n \n \n style.margin-left.px\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:32\n \n \n\n \n \n Left margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n style.margin-right.px\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:34\n \n \n\n \n \n Right margin size.\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n handleMessage\n \n \n \n \n \n \n \n handleMessage(msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:70\n \n \n\n\n \n \n Process an event message.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:60\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n updateFaded\n \n \n \n \n \n \n \n updateFaded()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:116\n \n \n\n\n \n \n Checks and updates the faded state based on the drawer states.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n updateMargin\n \n \n \n \n \n \n \n updateMargin(position: \"start\" | \"end\", opened: boolean, width: number, margin: number)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:103\n \n \n\n\n \n \n Updates a margin.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n position\n \n \"start\" | \"end\"\n \n\n \n No\n \n\n\n \n Start (left) or end (right) margin.\n\n \n \n \n opened\n \n boolean\n \n\n \n No\n \n\n\n \n Whether the drawer is opened.\n\n \n \n \n width\n \n number\n \n\n \n No\n \n\n\n \n The width of the drawer if opened.\n\n \n \n \n margin\n \n number\n \n\n \n No\n \n\n\n \n The margin size.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n animationsEnabled\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @HostBinding('class.cff-drawer-content-animations')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:30\n \n \n\n \n \n Whether animations are enabled.\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-content'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:28\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n drawers\n \n \n \n \n \n \n Type : DrawerComponent[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:39\n \n \n\n \n \n References to the side drawers.\n\n \n \n\n \n \n \n \n \n \n \n \n faded\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @HostBinding('@fadeInOut')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:36\n \n \n\n \n \n Whether the content is invisible.\n\n \n \n\n \n \n \n \n \n \n \n \n leftMargin\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @HostBinding('style.margin-left.px')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:32\n \n \n\n \n \n Left margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n rightMargin\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @HostBinding('style.margin-right.px')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:34\n \n \n\n \n \n Right margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:41\n \n \n\n \n \n Subscriptions managed by this component.\n\n \n \n\n \n \n\n\n\n\n\n \n import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageService } from '../messages';\n\n\n/**\n * Component wrapping and providing animations for center content.\n */\n@Component({\n selector: 'ccf-drawer-content',\n template: '',\n styleUrls: ['./content.component.scss'],\n animations: [\n trigger('fadeInOut', [\n state('false', style({ opacity: 1 })),\n state('true', style({ opacity: 0 })),\n\n transition('false true', animate('1s'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentComponent implements OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-content';\n /** Whether animations are enabled. */\n @HostBinding('class.cff-drawer-content-animations') animationsEnabled = false;\n /** Left margin size. */\n @HostBinding('style.margin-left.px') leftMargin = 0;\n /** Right margin size. */\n @HostBinding('style.margin-right.px') rightMargin = 0;\n /** Whether the content is invisible. */\n @HostBinding('@fadeInOut') faded = false;\n\n /** References to the side drawers. */\n private drawers: DrawerComponent[] = [];\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of content component.\n *\n * @param messageService Service used to send and receive event messages.\n * @param cdr The change detector reference.\n */\n constructor(messageService: MessageService,\n cdr: ChangeDetectorRef) {\n const messages = messageService.connect(this).getMessages();\n this.subscriptions.add(messages.subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /** Cleans up all subscriptions. */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Process an event message.\n *\n * @param msg The event.\n * @returns true if change detection needs to run.\n */\n private handleMessage(msg: Message): boolean {\n switch (msg.payload.type) {\n case 'drawer-containers-changed':\n this.drawers = msg.payload.drawers as DrawerComponent[];\n this.updateFaded();\n return true;\n\n case 'drawer-initialized':\n this.animationsEnabled = true;\n return true;\n\n case 'drawer-toggled': {\n const position = (msg.source as DrawerComponent).position;\n const { opened, width, margin } = msg.payload;\n\n this.updateMargin(position, opened, width, margin);\n this.updateFaded();\n return true;\n }\n\n default:\n return false;\n }\n }\n\n /**\n * Updates a margin.\n *\n * @param position Start (left) or end (right) margin.\n * @param opened Whether the drawer is opened.\n * @param width The width of the drawer if opened.\n * @param margin The margin size.\n */\n private updateMargin(position: 'start' | 'end', opened: boolean,\n width: number, margin: number): void {\n const offset = opened ? width + margin : margin;\n if (position === 'start') {\n this.leftMargin = offset;\n } else {\n this.rightMargin = offset;\n }\n }\n\n /**\n * Checks and updates the faded state based on the drawer states.\n */\n private updateFaded(): void {\n const [start, end] = this.drawers;\n const startExpanded = start?.opened && start?.expanded;\n const endExpanded = end?.opened && end?.expanded;\n this.faded = !!(startExpanded || endExpanded);\n }\n}\n\n \n\n\n \n \n ./content.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n height: 100%;\n z-index: 2;\n overflow: auto;\n\n &.cff-drawer-content-animations {\n transition: {\n duration: .5s;\n timing-function: ease-in-out;\n property: margin-left, margin-right;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ContentComponent-1'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ContentContainerChanged.html":{"url":"interfaces/ContentContainerChanged.html","title":"interface - ContentContainerChanged","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ContentContainerChanged\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when the content component changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: \n\n \n \n\n\n\n\n\n\n\n \n \n A reference to the new content component.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ContentModule.html":{"url":"modules/ContentModule.html","title":"module - ContentModule","body":"\n \n\n\n\n\n Modules\n ContentModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ContentModule\n\n\n\ncluster_ContentModule_exports\n\n\n\ncluster_ContentModule_imports\n\n\n\ncluster_ContentModule_declarations\n\n\n\n\nContentComponent\n\nContentComponent\n\n\n\nContentModule\n\nContentModule\n\nContentModule -->\n\nContentComponent->ContentModule\n\n\n\n\n\nContentComponent \n\nContentComponent \n\nContentComponent -->\n\nContentModule->ContentComponent \n\n\n\n\n\nStageNavModule\n\nStageNavModule\n\nContentModule -->\n\nStageNavModule->ContentModule\n\n\n\n\n\nVideoModalLauncherModule\n\nVideoModalLauncherModule\n\nContentModule -->\n\nVideoModalLauncherModule->ContentModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/content/content.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ContentComponent\n \n \n \n \n Imports\n \n \n StageNavModule\n \n \n VideoModalLauncherModule\n \n \n \n \n Exports\n \n \n ContentComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BodyUiModule, StoreDebugModule } from 'ccf-shared';\n\nimport { ContentComponent } from '../content/content.component';\nimport { StageNavModule } from './stage-nav/stage-nav.module';\nimport { VideoModalLauncherModule } from './video-modal/video-modal-launcher/video-modal-launcher.module';\n\n\n@NgModule({\n imports: [\n CommonModule,\n StageNavModule,\n MatIconModule,\n StoreDebugModule,\n VideoModalLauncherModule,\n MatRippleModule,\n BodyUiModule\n ],\n declarations: [ContentComponent],\n exports: [ContentComponent]\n})\nexport class ContentModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CoreModule.html":{"url":"modules/CoreModule.html","title":"module - CoreModule","body":"\n \n\n\n\n\n Modules\n CoreModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\n\nConfigModule\n\nConfigModule\n\n\n\nCoreModule\n\nCoreModule\n\nCoreModule -->\n\nConfigModule->CoreModule\n\n\n\n\n\nStoreModule\n\nStoreModule\n\nCoreModule -->\n\nStoreModule->CoreModule\n\n\n\n\n\nThemingModule\n\nThemingModule\n\nCoreModule -->\n\nThemingModule->CoreModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/core/core.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n ConfigModule\n \n \n StoreModule\n \n \n ThemingModule\n \n \n \n \n \n\n\n \n\n\n \n import { HttpClientModule } from '@angular/common/http';\nimport { NgModule, Optional, SkipSelf } from '@angular/core';\nimport { MousePositionTrackerModule } from 'ccf-shared';\nimport { AnalyticsModule } from 'ccf-shared/analytics';\n\nimport { environment } from '../../environments/environment';\nimport { ConfigModule } from './services/config/config.module';\nimport { ThemingModule } from './services/theming/theming.module';\nimport { StoreModule } from './store/store.module';\n\n\n@NgModule({\n imports: [\n HttpClientModule,\n AnalyticsModule.forRoot({\n gaToken: environment.googleAnalyticsToken,\n appName: 'rui'\n }),\n MousePositionTrackerModule,\n\n ConfigModule,\n StoreModule,\n ThemingModule\n ],\n exports: []\n})\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() core: CoreModule) {\n if (core) {\n throw new Error('The core module should only be imported once in the root module');\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DefaultIconDefinition.html":{"url":"interfaces/DefaultIconDefinition.html","title":"interface - DefaultIconDefinition","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DefaultIconDefinition\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/icon-registry/default-icons.ts\n \n\n\n \n Description\n \n \n Object definition for icon that should be loaded on startup.\nUnlike runtime registration object this does not need url ot html\nto be sanitized before hand.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n html\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n namespace\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n html\n \n \n \n \n \n \n \n \n html: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Html containing the svg of the icon or icon set.\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Name to register the icon under.\n\n \n \n \n \n \n \n \n \n \n namespace\n \n \n \n \n \n \n \n \n namespace: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Namespace to register the icon or icon set under.\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Url to fetch the icon or icon set from.\n\n \n \n \n \n \n \n\n\n \n export interface DefaultIconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: string;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: string;\n}\n\n\n/**\n * Icons registered at startup.\n */\nexport const DEFAULT_ICONS: DefaultIconDefinition[] = [\n // Reference Organs\n { name: 'bladder', namespace: 'app', url: 'assets/icons/organs/ico-organs-bladder.svg' },\n { name: 'blood', namespace: 'app', url: 'assets/icons/organs/ico-organs-blood.svg' },\n { name: 'bone-marrow', namespace: 'app', url: 'assets/icons/organs/ico-organs-bone-marrow.svg' },\n { name: 'brain', namespace: 'app', url: 'assets/icons/organs/ico-organs-brain.svg' },\n { name: 'eye', namespace: 'app', url: 'assets/icons/organs/ico-organs-eye.svg' },\n { name: 'fallopian-tube-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-left.svg' },\n { name: 'fallopian-tube-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-right.svg' },\n { name: 'heart', namespace: 'app', url: 'assets/icons/organs/ico-organs-heart.svg' },\n { name: 'kidney-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-left.svg' },\n { name: 'kidney-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-right.svg' },\n { name: 'kidney', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney.svg' },\n { name: 'knee', namespace: 'app', url: 'assets/icons/organs/ico-organs-knee.svg' },\n { name: 'large-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-large-intestine.svg' },\n { name: 'larynx', namespace: 'app', url: 'assets/icons/organs/ico-organs-larynx.svg' },\n { name: 'liver', namespace: 'app', url: 'assets/icons/organs/ico-organs-liver.svg' },\n { name: 'lung-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-left.svg' },\n { name: 'lung-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-right.svg' },\n { name: 'lung', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung.svg' },\n { name: 'lymph-nodes', namespace: 'app', url: 'assets/icons/organs/ico-organs-lymph-nodes.svg' },\n { name: 'main-bronchus', namespace: 'app', url: 'assets/icons/organs/ico-organs-extrapulmonary bronchus.svg' },\n { name: 'mammary-gland', namespace: 'app', url: 'assets/icons/organs/ico-organs-breast.svg' },\n { name: 'neuron', namespace: 'app', url: 'assets/icons/organs/ico-organs-neuron.svg' },\n { name: 'ovaries', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovaries.svg' },\n { name: 'ovary-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-left.svg' },\n { name: 'ovary-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-right.svg' },\n { name: 'palatine-tonsil', namespace: 'app', url: 'assets/icons/organs/ico-organs-palatine tonsil.svg' },\n { name: 'pancreas', namespace: 'app', url: 'assets/icons/organs/ico-organs-pancreas.svg' },\n { name: 'pelvis-f', namespace: 'app', url: 'assets/icons/organs/ico-organs-pelvis-f.svg' },\n { name: 'placenta', namespace: 'app', url: 'assets/icons/organs/ico-organs-placenta.svg' },\n { name: 'prostate', namespace: 'app', url: 'assets/icons/organs/ico-organs-prostate.svg' },\n { name: 'skin', namespace: 'app', url: 'assets/icons/organs/ico-organs-skin.svg' },\n { name: 'small-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-small intestine.svg' },\n { name: 'spinal-cord', namespace: 'app', url: 'assets/icons/organs/ico-organs-spinal-cord.svg' },\n { name: 'spleen', namespace: 'app', url: 'assets/icons/organs/ico-organs-spleen.svg' },\n { name: 'stomach', namespace: 'app', url: 'assets/icons/organs/ico-organs-stomach.svg' },\n { name: 'thymus', namespace: 'app', url: 'assets/icons/organs/ico-organs-thymus.svg' },\n { name: 'trachea', namespace: 'app', url: 'assets/icons/organs/ico-organs-trachea.svg' },\n { name: 'ureter-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-left.svg' },\n { name: 'ureter-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-right.svg' },\n { name: 'uterus', namespace: 'app', url: 'assets/icons/organs/ico-organs-uterus.svg' },\n { name: 'vasculature-thick', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thick.svg' },\n { name: 'vasculature-thin', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thin.svg' },\n\n { name: 'opacity', namespace: 'app', url: 'assets/icons/opacity-24px.svg' },\n { name: 'visibility_on', namespace: 'app', url: 'assets/icons/visibility-on-24px.svg' },\n { name: 'visibility_off', namespace: 'app', url: 'assets/icons/visibility-off-24px.svg' },\n { name: 'visibility_off_cube', namespace: 'app', url: 'assets/icons/ico-cube.svg' }\n];\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/DetailsLabelComponent.html":{"url":"components/DetailsLabelComponent.html","title":"component - DetailsLabelComponent","body":"\n \n\n\n\n\n\n Components\n \n DetailsLabelComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts\n\n\n\n \n Description\n \n \n Reusable component that takes an array of strings and renders\nthat array as a string, separated by commas, in the icon color.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-details-label\n \n\n \n styleUrls\n ./details-label.component.scss\n \n\n\n\n \n templateUrl\n ./details-label.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n arrayToString\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n details\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n details\n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts:20\n \n \n \n \n The array of details to be displayed.\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-details-label\"\n\n \n \n \n \n Default value : 'ccf-details-label'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts:15\n \n \n\n \n \n HTML Class Name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n arrayToString\n \n \n \n \n \n \narrayToString(inputArray: string[])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts:29\n \n \n\n\n \n \n Function that handles converting the array given\ninto a formatted string for display.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n inputArray\n \n string[]\n \n\n \n No\n \n\n\n \n an array of strings to join.\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n the formatted string of items separated by a comma.\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-details-label'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts:15\n \n \n\n \n \n HTML Class Name\n\n \n \n\n \n \n\n\n\n\n\n \n import { Component, Input, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * Reusable component that takes an array of strings and renders\n * that array as a string, separated by commas, in the icon color.\n */\n@Component({\n selector: 'ccf-details-label',\n templateUrl: './details-label.component.html',\n styleUrls: ['./details-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DetailsLabelComponent {\n /** HTML Class Name */\n @HostBinding('class') readonly clsName = 'ccf-details-label';\n\n /**\n * The array of details to be displayed.\n */\n @Input() details: string[] = [];\n\n /**\n * Function that handles converting the array given\n * into a formatted string for display.\n *\n * @param inputArray an array of strings to join.\n * @returns the formatted string of items separated by a comma.\n */\n arrayToString(inputArray: string[]): string {\n return inputArray.join(', ');\n }\n}\n\n \n\n \n {{ arrayToString(details) }}\n \n\n \n \n ./details-label.component.scss\n \n :host {\n display: block;\n height: 2.25rem;\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ arrayToString(details) }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'DetailsLabelComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DetailsLabelModule.html":{"url":"modules/DetailsLabelModule.html","title":"module - DetailsLabelModule","body":"\n \n\n\n\n\n Modules\n DetailsLabelModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DetailsLabelModule\n\n\n\ncluster_DetailsLabelModule_declarations\n\n\n\ncluster_DetailsLabelModule_exports\n\n\n\n\nDetailsLabelComponent\n\nDetailsLabelComponent\n\n\n\nDetailsLabelModule\n\nDetailsLabelModule\n\nDetailsLabelModule -->\n\nDetailsLabelComponent->DetailsLabelModule\n\n\n\n\n\nDetailsLabelComponent \n\nDetailsLabelComponent \n\nDetailsLabelComponent -->\n\nDetailsLabelModule->DetailsLabelComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/details-label/details-label.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n DetailsLabelComponent\n \n \n \n \n Exports\n \n \n DetailsLabelComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DetailsLabelComponent } from './details-label.component';\n\n@NgModule({\n declarations: [DetailsLabelComponent],\n imports: [CommonModule],\n exports: [DetailsLabelComponent]\n})\nexport class DetailsLabelModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DocumentationContent.html":{"url":"interfaces/DocumentationContent.html","title":"interface - DocumentationContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DocumentationContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/documentation.ts\n \n\n\n \n Description\n \n \n The structure to define how each documentation panel\nshould look like in the info dialog\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Content inside the panel\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Title of the panel\n\n \n \n \n \n \n \n\n\n \n export interface DocumentationContent {\n /** Title of the panel */\n title: string;\n\n /** Content inside the panel */\n content: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerContainersChanged.html":{"url":"interfaces/DrawerContainersChanged.html","title":"interface - DrawerContainersChanged","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerContainersChanged\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when a drawer component changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n drawers\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n drawers\n \n \n \n \n \n \n \n \n drawers: [, ]\n\n \n \n\n\n \n \n Type : [, ]\n\n \n \n\n\n\n\n\n \n \n References to the drawer components. Can contain undefined values.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerInitialized.html":{"url":"interfaces/DrawerInitialized.html","title":"interface - DrawerInitialized","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerInitialized\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when a drawer has finished initializing.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DrawerModule.html":{"url":"modules/DrawerModule.html","title":"module - DrawerModule","body":"\n \n\n\n\n\n Modules\n DrawerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DrawerModule\n\n\n\ncluster_DrawerModule_exports\n\n\n\ncluster_DrawerModule_declarations\n\n\n\n\nContainerComponent\n\nContainerComponent\n\n\n\nDrawerModule\n\nDrawerModule\n\nDrawerModule -->\n\nContainerComponent->DrawerModule\n\n\n\n\n\nContentComponent\n\nContentComponent\n\nDrawerModule -->\n\nContentComponent->DrawerModule\n\n\n\n\n\nDrawerComponent\n\nDrawerComponent\n\nDrawerModule -->\n\nDrawerComponent->DrawerModule\n\n\n\n\n\nToggleButtonComponent\n\nToggleButtonComponent\n\nDrawerModule -->\n\nToggleButtonComponent->DrawerModule\n\n\n\n\n\nContainerComponent \n\nContainerComponent \n\nContainerComponent -->\n\nDrawerModule->ContainerComponent \n\n\n\n\n\nDrawerComponent \n\nDrawerComponent \n\nDrawerComponent -->\n\nDrawerModule->DrawerComponent \n\n\n\n\n\nToggleButtonComponent \n\nToggleButtonComponent \n\nToggleButtonComponent -->\n\nDrawerModule->ToggleButtonComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ContainerComponent\n \n \n ContentComponent\n \n \n DrawerComponent\n \n \n ToggleButtonComponent\n \n \n \n \n Exports\n \n \n ContainerComponent\n \n \n DrawerComponent\n \n \n ToggleButtonComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { MESSAGE_SERVICE_CONFIG, MESSAGE_SERVICE_DEFAULT_CONFIG } from '../../services/message/message.service';\nimport { ContainerComponent } from './container/container.component';\nimport { ContentComponent } from './content/content.component';\nimport { DrawerComponent } from './drawer/drawer.component';\nimport { ToggleButtonComponent } from './toggle-button/toggle-button.component';\n\n\n@NgModule({\n imports: [BrowserModule, BrowserAnimationsModule, MatIconModule],\n providers: [{\n provide: MESSAGE_SERVICE_CONFIG, useValue: MESSAGE_SERVICE_DEFAULT_CONFIG\n }],\n declarations: [ContainerComponent, ContentComponent, DrawerComponent, ToggleButtonComponent],\n exports: [ContainerComponent, ContentComponent, DrawerComponent, ToggleButtonComponent]\n})\nexport class DrawerModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerToggled.html":{"url":"interfaces/DrawerToggled.html","title":"interface - DrawerToggled","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerToggled\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message send when the state of a drawer changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n expanded\n \n \n \n \n margin\n \n \n \n \n opened\n \n \n \n \n type\n \n \n \n \n width\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n expanded\n \n \n \n \n \n \n \n \n expanded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the drawer is expanded. Implies opened.\n\n \n \n \n \n \n \n \n \n \n margin\n \n \n \n \n \n \n \n \n margin: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Margin used by the drawer for toggle button, etc.\n\n \n \n \n \n \n \n \n \n \n opened\n \n \n \n \n \n \n \n \n opened: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the drawer is open.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n \n \n \n width\n \n \n \n \n \n \n \n \n width: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Width of the drawer.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExtractionSet.html":{"url":"interfaces/ExtractionSet.html","title":"interface - ExtractionSet","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExtractionSet\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/extraction-set.ts\n \n\n\n \n Description\n \n \n Contains information for an extraction set\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n Optional\n \n organ\n \n \n \n \n sites\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Name of the set\n\n \n \n \n \n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Organ that the extraction sites belong to\n\n \n \n \n \n \n \n \n \n \n sites\n \n \n \n \n \n \n \n \n sites: VisibilityItem[]\n\n \n \n\n\n \n \n Type : VisibilityItem[]\n\n \n \n\n\n\n\n\n \n \n Extraction sites belonging to the organ in the extraction set\n\n \n \n \n \n \n \n\n\n \n import { VisibilityItem } from './visibility-item';\n\n/**\n * Contains information for an extraction set\n */\nexport interface ExtractionSet {\n /** Name of the set */\n name: string;\n\n /** Organ that the extraction sites belong to */\n organ?: string;\n\n /** Extraction sites belonging to the organ in the extraction set */\n sites: VisibilityItem[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ExtractionSetDropdownComponent.html":{"url":"components/ExtractionSetDropdownComponent.html","title":"component - ExtractionSetDropdownComponent","body":"\n \n\n\n\n\n\n Components\n \n ExtractionSetDropdownComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts\n\n\n\n \n Description\n \n \n Dropdown for selecting the extraction set\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-extraction-set-dropdown\n \n\n \n styleUrls\n ./extraction-set-dropdown.component.scss\n \n\n\n\n \n templateUrl\n ./extraction-set-dropdown.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n selected\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n extractionSetChanged\n \n \n isMultiple\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n sets\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n setChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:33\n \n \n\n \n \n Creates an instance of extraction set dropdown component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n sets\n \n \n \n \n Type : ExtractionSet[]\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:28\n \n \n \n \n Extraction sets to be displayed as options\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n setChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:23\n \n \n \n \n Emits the current extraction set when selected\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-extraction-set-dropdown\"\n\n \n \n \n \n Default value : 'ccf-extraction-set-dropdown'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n extractionSetChanged\n \n \n \n \n \n \nextractionSetChanged(value: ExtractionSet)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:47\n \n \n\n\n \n \n Sets the selected extraction set and emits the extraction set\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n ExtractionSet\n \n\n \n No\n \n\n\n \n The extraction set selected\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isMultiple\n \n \n \n \n \n \nisMultiple()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:58\n \n \n\n\n \n \n Determines whether there is more than one extraction set\n\n\n \n \n \n Returns : boolean\n\n \n \n true if there is more than one extraction set\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-extraction-set-dropdown'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n selected\n \n \n \n \n \n \n Type : ExtractionSet\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:33\n \n \n\n \n \n The currently selected extraction set\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { ExtractionSet } from '../../../core/models/extraction-set';\n\n/**\n * Dropdown for selecting the extraction set\n */\n@Component({\n selector: 'ccf-extraction-set-dropdown',\n templateUrl: './extraction-set-dropdown.component.html',\n styleUrls: ['./extraction-set-dropdown.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ExtractionSetDropdownComponent {\n\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-extraction-set-dropdown';\n\n /**\n * Emits the current extraction set when selected\n */\n @Output() readonly setChange = new EventEmitter();\n\n /**\n * Extraction sets to be displayed as options\n */\n @Input() sets: ExtractionSet[];\n\n /**\n * The currently selected extraction set\n */\n selected: ExtractionSet;\n\n /**\n * Creates an instance of extraction set dropdown component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Sets the selected extraction set and emits the extraction set\n *\n * @param value The extraction set selected\n */\n extractionSetChanged(value: ExtractionSet): void {\n this.selected = value;\n this.ga.event('selected_extraction_set_change', 'extraction_set_dropdown', value.name);\n this.setChange.emit(value);\n }\n\n /**\n * Determines whether there is more than one extraction set\n *\n * @returns true if there is more than one extraction set\n */\n isMultiple(): boolean {\n return this.sets.length > 1;\n }\n}\n\n \n\n \n \n Landmark Set\n \n \n {{set.name}} ({{set.sites.length}})\n \n \n\n\n \n\n \n \n ./extraction-set-dropdown.component.scss\n \n ::ng-deep .extraction-set-panel {\n box-shadow: 0rem 0rem 0.3rem 0.1rem #9e9e9e;\n position: absolute;\n top: -1rem;\n left: 1rem;\n width: 10.5rem;\n\n .extraction-set-options {\n height: 2.5rem !important;\n }\n \n .extraction-set-options:first-child {\n margin-top: 0.5rem;\n }\n\n .extraction-set-options:last-child {\n margin-bottom: 0.5rem;\n }\n\n}\n\n:host {\n ::ng-deep .mat-form-field {\n width: 10.5rem;\n\n .mat-form-field-wrapper {\n padding-bottom: 0.5rem;\n .mat-form-field-flex {\n padding: 0;\n }\n \n .mat-form-field-underline {\n bottom: 0.75rem;\n }\n\n .mat-select-arrow-wrapper {\n transform: none;\n }\n }\n }\n}\n\n::ng-deep .cdk-overlay-pane {\n min-width: 0rem !important;\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Landmark Set {{set.name}} ({{set.sites.length}}) '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ExtractionSetDropdownComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ExtractionSetDropdownModule.html":{"url":"modules/ExtractionSetDropdownModule.html","title":"module - ExtractionSetDropdownModule","body":"\n \n\n\n\n\n Modules\n ExtractionSetDropdownModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ExtractionSetDropdownModule\n\n\n\ncluster_ExtractionSetDropdownModule_exports\n\n\n\ncluster_ExtractionSetDropdownModule_declarations\n\n\n\n\nExtractionSetDropdownComponent\n\nExtractionSetDropdownComponent\n\n\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule -->\n\nExtractionSetDropdownComponent->ExtractionSetDropdownModule\n\n\n\n\n\nExtractionSetDropdownComponent \n\nExtractionSetDropdownComponent \n\nExtractionSetDropdownComponent -->\n\nExtractionSetDropdownModule->ExtractionSetDropdownComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ExtractionSetDropdownComponent\n \n \n \n \n Exports\n \n \n ExtractionSetDropdownComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatSelectModule } from '@angular/material/select';\n\nimport { ExtractionSetDropdownComponent } from './extraction-set-dropdown.component';\n\n\n@NgModule({\n imports: [CommonModule, MatSelectModule],\n declarations: [ExtractionSetDropdownComponent],\n exports: [ExtractionSetDropdownComponent]\n})\nexport class ExtractionSetDropdownModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GlobalConfig.html":{"url":"interfaces/GlobalConfig.html","title":"interface - GlobalConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GlobalConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n baseHref\n \n \n \n Optional\n \n cancelRegistration\n \n \n \n Optional\n \n editRegistration\n \n \n \n Optional\n \n fetchPreviousRegistrations\n \n \n \n Optional\n \n header\n \n \n \n Optional\n \n homeUrl\n \n \n \n Optional\n \n logoTooltip\n \n \n \n Optional\n \n organ\n \n \n \n Optional\n \n register\n \n \n \n Optional\n \n registrationStarted\n \n \n \n Optional\n \n skipUnsavedChangesConfirmation\n \n \n \n Optional\n \n theme\n \n \n \n Optional\n \n useDownload\n \n \n \n Optional\n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n baseHref\n \n \n \n \n \n \n \n \n baseHref: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n cancelRegistration\n \n \n \n \n \n \n \n \n cancelRegistration: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n editRegistration\n \n \n \n \n \n \n \n \n editRegistration: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n fetchPreviousRegistrations\n \n \n \n \n \n \n \n \n fetchPreviousRegistrations: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n header\n \n \n \n \n \n \n \n \n header: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n \n \n \n \n homeUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n \n \n \n \n logoTooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n register\n \n \n \n \n \n \n \n \n register: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n registrationStarted\n \n \n \n \n \n \n \n \n registrationStarted: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skipUnsavedChangesConfirmation\n \n \n \n \n \n \n \n \n skipUnsavedChangesConfirmation: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n theme\n \n \n \n \n \n \n \n \n theme: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n useDownload\n \n \n \n \n \n \n \n \n useDownload: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { InjectionToken } from '@angular/core';\nimport { GlobalsService } from 'ccf-shared';\nimport { ObservableInput } from 'rxjs';\n\n\nexport interface GlobalConfig {\n baseHref?: string;\n editRegistration?: Record;\n organ?: {\n name: 'large intestine' | 'heart' | 'kidney' | 'spleen';\n ontologyId?: string;\n sex?: 'male' | 'female';\n side?: 'left' | 'right';\n };\n user?: {\n firstName: string;\n lastName: string;\n };\n\n register?: (data: string) => void;\n useDownload?: boolean;\n\n fetchPreviousRegistrations?: () => ObservableInput[]>;\n registrationStarted?: boolean;\n\n cancelRegistration?: () => void;\n\n skipUnsavedChangesConfirmation?: boolean;\n\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n}\n\ndeclare global {\n let ruiConfig: GlobalConfig;\n}\n\nexport const GLOBAL_CONFIG = new InjectionToken(\n 'Global configuration object'\n);\n\nexport function globalConfigFactory(globals: GlobalsService): GlobalConfig {\n return globals.get('ruiConfig', { user: { firstName: '', lastName: '' } });\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/HeaderComponent.html":{"url":"components/HeaderComponent.html","title":"component - HeaderComponent","body":"\n \n\n\n\n\n\n Components\n \n HeaderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/header/header.component.ts\n\n\n\n \n Description\n \n \n Page header\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-header\n \n\n \n styleUrls\n ./header.component.scss\n \n\n\n\n \n templateUrl\n ./header.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n homeUrl\n \n \n logoTooltip\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(page: PageState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:21\n \n \n\n \n \n Creates an instance of header component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n Page data.\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n homeUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:19\n \n \n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:21\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-header\"\n\n \n \n \n \n Default value : 'ccf-header'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-header'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { PageState } from '../../core/store/page/page.state';\n\n\n/**\n * Page header\n */\n@Component({\n selector: 'ccf-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-header';\n\n @Input() homeUrl: string;\n\n @Input() logoTooltip: string;\n\n /**\n * Creates an instance of header component.\n *\n * @param page Page data.\n */\n constructor(readonly page: PageState) { }\n}\n\n \n\n \n \n\n\n\n \n chevron_left\n BACK\n \n\n\n\n \n \n \n \n\n\n\n \n\n \n \n ./header.component.scss\n \n :host {\n display: flex;\n align-items: center;\n min-height: 4rem;\n padding: 0 1.5rem;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n\n .text {\n padding: 0.25rem 0;\n height: 2rem;\n display: flex;\n align-items: center;\n font-weight: lighter;\n font-size: 1.5rem;\n }\n\n\n .link {\n display: flex;\n align-items: center;\n cursor: pointer;\n text-decoration: none;\n padding: 0.25rem 0;\n }\n\n .home {\n * {\n transition: color .6s;\n }\n\n .backbutton {\n // Material icons do not always fill the space given\n // Scale up size for icon to look correct\n font-size: 2.25rem;\n width: 2.25rem;\n height: 2.25rem;\n }\n }\n\n .portal {\n height: 100%;\n width: 25rem;\n align-items: center;\n display: flex;\n }\n\n .logo {\n width: 100%;\n height: 50%;\n background-repeat: no-repeat;\n background-size: contain;\n }\n\n .filler {\n flex-grow: 1;\n margin: 0;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' chevron_left BACK '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'HeaderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/HeaderModule.html":{"url":"modules/HeaderModule.html","title":"module - HeaderModule","body":"\n \n\n\n\n\n Modules\n HeaderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_HeaderModule\n\n\n\ncluster_HeaderModule_declarations\n\n\n\ncluster_HeaderModule_exports\n\n\n\n\nHeaderComponent\n\nHeaderComponent\n\n\n\nHeaderModule\n\nHeaderModule\n\nHeaderModule -->\n\nHeaderComponent->HeaderModule\n\n\n\n\n\nHeaderComponent \n\nHeaderComponent \n\nHeaderComponent -->\n\nHeaderModule->HeaderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/header/header.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n HeaderComponent\n \n \n \n \n Exports\n \n \n HeaderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { HeaderComponent } from './header.component';\n\n\n\n@NgModule({\n imports: [CommonModule, MatIconModule, MatTooltipModule],\n declarations: [HeaderComponent],\n exports: [HeaderComponent]\n})\nexport class HeaderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IconDefinition.html":{"url":"interfaces/IconDefinition.html","title":"interface - IconDefinition","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IconDefinition\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n\n\n \n Description\n \n \n Object definition for registering new svg icons.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n html\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n namespace\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n html\n \n \n \n \n \n \n \n \n html: SafeHtml\n\n \n \n\n\n \n \n Type : SafeHtml\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Html containing the svg of the icon or icon set.\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Name to register the icon under.\n\n \n \n \n \n \n \n \n \n \n namespace\n \n \n \n \n \n \n \n \n namespace: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Namespace to register the icon or icon set under.\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: SafeResourceUrl\n\n \n \n\n\n \n \n Type : SafeResourceUrl\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Url to fetch the icon or icon set from.\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Optional } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';\nimport { DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { GlobalConfigState } from 'ccf-shared';\n\nimport { GlobalConfig } from '../../services/config/config';\nimport { DEFAULT_ICONS } from './default-icons';\n\n\n/**\n * Object definition for registering new svg icons.\n */\nexport interface IconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: SafeResourceUrl;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: SafeHtml;\n}\n\n\n/**\n * State handling the registration of icons for use with `mat-icon`.\n */\n@StateRepository()\n@State({ name: 'iconRegistry' })\n@Injectable()\nexport class IconRegistryState extends NgxsDataRepository {\n /**\n * Creates an instance of icon registry state.\n *\n * @param registry Material icon registry.\n * @param sanitizer Service used to sanitize default imported urls and html.\n */\n constructor(@Optional() private registry: MatIconRegistry | null,\n private readonly sanitizer: DomSanitizer,\n private readonly globalConfig: GlobalConfigState) {\n super();\n }\n\n ngxsOnInit(): void {\n // Register html icons as they don't depend on baseHref\n DEFAULT_ICONS\n .filter(def => def.html !== undefined)\n .map(def => ({ ...def, html: this.sanitizer.bypassSecurityTrustHtml(def.html!) }))\n .forEach(def => this.registerIconImpl(def));\n\n // Use resolver for url icons\n this.registry?.addSvgIconResolver((name, namespace) => {\n const def = DEFAULT_ICONS.find(\n icon => (icon.name ?? '') === name && (icon.namespace ?? '') === namespace\n );\n\n if (def === undefined || def.url === undefined) {\n return null;\n }\n\n const baseHref = this.globalConfig.snapshot.baseHref ?? '';\n return this.sanitizer.bypassSecurityTrustResourceUrl(baseHref + def.url);\n });\n }\n\n /**\n * Registers a svg icon for use in mat-icon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n @DataAction()\n registerIcon(definition: IconDefinition): boolean {\n return this.registerIconImpl(definition);\n }\n\n /**\n * Backing implementation of registerIcon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n private registerIconImpl(definition: IconDefinition): boolean {\n if (!this.registry) {\n return false;\n }\n if (!definition.url && !definition.html) {\n return false;\n }\n\n const registry = this.registry;\n const methodName = this.getMethodName(definition);\n const method = registry[methodName] as (...arg: unknown[]) => void;\n const args = this.getArguments(definition);\n\n if (!method) {\n return false;\n }\n try {\n method.apply(registry, args);\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n /**\n * Selects the MatIconRegistry method used to register the icon.\n *\n * @param definition Icon definition.\n * @returns The name of the registry method.\n */\n private getMethodName({ name, namespace, url }: IconDefinition): string {\n const parts = ['addSvgIcon'];\n if (!name) {\n parts.push('Set');\n }\n if (!url) {\n parts.push('Literal');\n }\n if (namespace) {\n parts.push('InNamespace');\n }\n return parts.join('');\n }\n\n /**\n * Selects the argument used to call the registration method.\n *\n * @param definition Icon definition.\n * @returns An array of arguments.\n */\n private getArguments({ name, namespace, url, html }: IconDefinition): unknown[] {\n const args: unknown[] = [namespace, name, url ?? html];\n return args.filter(value => !!value);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/IconRegistryState.html":{"url":"injectables/IconRegistryState.html","title":"injectable - IconRegistryState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n IconRegistryState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n\n\n \n Description\n \n \n State handling the registration of icons for use with mat-icon.\n\n \n\n \n Extends\n \n \n NgxsDataRepository\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n getArguments\n \n \n Private\n getMethodName\n \n \n ngxsOnInit\n \n \n registerIcon\n \n \n Private\n registerIconImpl\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(registry: MatIconRegistry | null, sanitizer: DomSanitizer, globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:45\n \n \n\n \n \n Creates an instance of icon registry state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n registry\n \n \n MatIconRegistry | null\n \n \n \n No\n \n \n \n Material icon registry.\n\n \n \n \n sanitizer\n \n \n DomSanitizer\n \n \n \n No\n \n \n \n Service used to sanitize default imported urls and html.\n\n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n getArguments\n \n \n \n \n \n \n \n getArguments(undefined: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:147\n \n \n\n\n \n \n Selects the argument used to call the registration method.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n IconDefinition\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : []\n\n \n \n An array of arguments.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getMethodName\n \n \n \n \n \n \n \n getMethodName(undefined: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:127\n \n \n\n\n \n \n Selects the MatIconRegistry method used to register the icon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n IconDefinition\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n The name of the registry method.\n\n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:58\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n registerIcon\n \n \n \n \n \n \nregisterIcon(definition: IconDefinition)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:87\n \n \n\n\n \n \n Registers a svg icon for use in mat-icon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n definition\n \n IconDefinition\n \n\n \n No\n \n\n\n \n Icon to register.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if registration was successful, otherwise false.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n registerIconImpl\n \n \n \n \n \n \n \n registerIconImpl(definition: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:97\n \n \n\n\n \n \n Backing implementation of registerIcon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n definition\n \n IconDefinition\n \n\n \n No\n \n\n\n \n Icon to register.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if registration was successful, otherwise false.\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, Optional } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';\nimport { DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { GlobalConfigState } from 'ccf-shared';\n\nimport { GlobalConfig } from '../../services/config/config';\nimport { DEFAULT_ICONS } from './default-icons';\n\n\n/**\n * Object definition for registering new svg icons.\n */\nexport interface IconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: SafeResourceUrl;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: SafeHtml;\n}\n\n\n/**\n * State handling the registration of icons for use with `mat-icon`.\n */\n@StateRepository()\n@State({ name: 'iconRegistry' })\n@Injectable()\nexport class IconRegistryState extends NgxsDataRepository {\n /**\n * Creates an instance of icon registry state.\n *\n * @param registry Material icon registry.\n * @param sanitizer Service used to sanitize default imported urls and html.\n */\n constructor(@Optional() private registry: MatIconRegistry | null,\n private readonly sanitizer: DomSanitizer,\n private readonly globalConfig: GlobalConfigState) {\n super();\n }\n\n ngxsOnInit(): void {\n // Register html icons as they don't depend on baseHref\n DEFAULT_ICONS\n .filter(def => def.html !== undefined)\n .map(def => ({ ...def, html: this.sanitizer.bypassSecurityTrustHtml(def.html!) }))\n .forEach(def => this.registerIconImpl(def));\n\n // Use resolver for url icons\n this.registry?.addSvgIconResolver((name, namespace) => {\n const def = DEFAULT_ICONS.find(\n icon => (icon.name ?? '') === name && (icon.namespace ?? '') === namespace\n );\n\n if (def === undefined || def.url === undefined) {\n return null;\n }\n\n const baseHref = this.globalConfig.snapshot.baseHref ?? '';\n return this.sanitizer.bypassSecurityTrustResourceUrl(baseHref + def.url);\n });\n }\n\n /**\n * Registers a svg icon for use in mat-icon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n @DataAction()\n registerIcon(definition: IconDefinition): boolean {\n return this.registerIconImpl(definition);\n }\n\n /**\n * Backing implementation of registerIcon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n private registerIconImpl(definition: IconDefinition): boolean {\n if (!this.registry) {\n return false;\n }\n if (!definition.url && !definition.html) {\n return false;\n }\n\n const registry = this.registry;\n const methodName = this.getMethodName(definition);\n const method = registry[methodName] as (...arg: unknown[]) => void;\n const args = this.getArguments(definition);\n\n if (!method) {\n return false;\n }\n try {\n method.apply(registry, args);\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n /**\n * Selects the MatIconRegistry method used to register the icon.\n *\n * @param definition Icon definition.\n * @returns The name of the registry method.\n */\n private getMethodName({ name, namespace, url }: IconDefinition): string {\n const parts = ['addSvgIcon'];\n if (!name) {\n parts.push('Set');\n }\n if (!url) {\n parts.push('Literal');\n }\n if (namespace) {\n parts.push('InNamespace');\n }\n return parts.join('');\n }\n\n /**\n * Selects the argument used to call the registration method.\n *\n * @param definition Icon definition.\n * @returns An array of arguments.\n */\n private getArguments({ name, namespace, url, html }: IconDefinition): unknown[] {\n const args: unknown[] = [namespace, name, url ?? html];\n return args.filter(value => !!value);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/InitializationState.html":{"url":"classes/InitializationState.html","title":"class - InitializationState","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n InitializationState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n\n\n \n Description\n \n \n Boolean state that can also be awaited.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n deferred\n \n \n Private\n initialized\n \n \n Private\n resolve\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n set\n \n \n valueOf\n \n \n Async\n wait\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n deferred\n \n \n \n \n \n \n Default value : new Promise(resolve => {\n this.resolve = resolve;\n })\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:37\n \n \n\n \n \n Promise used to await on.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n initialized\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:35\n \n \n\n \n \n Whether this state is true or false.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n resolve\n \n \n \n \n \n \n Type : function\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:41\n \n \n\n \n \n Resolve function for the promise.\n\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n set\n \n \n \n \n \n \nset()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:46\n \n \n\n\n \n \n Sets the state to true and\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n valueOf\n \n \n \n \n \n \nvalueOf()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:65\n \n \n\n\n \n \n Gets the boolean state of this object.\n\n\n \n \n \n Returns : boolean\n\n \n \n true if set has been called.\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n wait\n \n \n \n \n \n \n \n wait()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:56\n \n \n\n\n \n \n Gets a promise that resolves when this state is set to true.\n\n\n \n \n \n Returns : Promise\n\n \n \n A promise.\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener,\n Input, OnDestroy, Output,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { Message, MessageChannel, MessageService } from '../messages';\n\n\n/** Opened/closed state. */\ntype OpenedState = 'open' | 'open-instant' | 'closed';\n/** Expanded/collapsed state. */\ntype ExpandedState = 'open' | 'open-instant' | 'closed';\n/** Expanded state relative to an opposite drawer. */\ntype ExpandedState2 = 'collapsed' | 'half' | 'extended' | 'full';\n\n/** Default animation parameters. */\nconst EXPAND_COLLAPSE_PARAMS_DEFAULT = {\n params: {\n width: 0,\n margin: 0,\n margin2: 0\n }\n};\n\n/**\n * Boolean state that can also be awaited.\n */\nclass InitializationState {\n /** Whether this state is true or false. */\n private initialized = false;\n /** Promise used to await on. */\n private deferred = new Promise(resolve => {\n this.resolve = resolve;\n });\n /** Resolve function for the promise. */\n private resolve: () => void;\n\n /**\n * Sets the state to true and\n */\n set(): void {\n this.initialized = true;\n this.resolve();\n }\n\n /**\n * Gets a promise that resolves when this state is set to true.\n *\n * @returns A promise.\n */\n async wait(): Promise {\n return this.deferred;\n }\n\n /**\n * Gets the boolean state of this object.\n *\n * @returns true if set has been called.\n */\n valueOf(): boolean {\n return this.initialized;\n }\n}\n\n\n/**\n * Side drawer component.\n * Contains all the logic for opening/closing/expanding.\n */\n@Component({\n selector: 'ccf-drawer',\n exportAs: 'ccfDrawer',\n templateUrl: './drawer.component.html',\n styleUrls: ['./drawer.component.scss'],\n animations: [\n trigger('openClose', [\n state('open, open-instant', style({\n transform: 'none'\n })),\n state('closed', style({ })),\n\n transition('closed => open-instant', animate(0)),\n transition('closed open, open-instant => closed', animate('.5s ease-in-out'))\n ]),\n trigger('expandCollapse', [\n state('collapsed', style({})),\n state('half', style({\n width: 'calc(50% - {{ margin }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n state('extended', style({\n width: 'calc(100% - {{ width }}px - {{ margin }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n state('full', style({\n width: 'calc(100% - {{ margin }}px - {{ margin2 }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n\n transition('* *', animate('.5s ease-in-out'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DrawerComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer';\n /** Whether this is located at the end position. */\n @HostBinding('class.ccf-drawer-end')\n get classEnd(): boolean {\n return this.position === 'end';\n }\n\n /** Position of the drawer - start (left) or end (right). */\n @Input()// eslint-disable-line\n get position(): 'start' | 'end' {\n return this._position;\n }\n set position(value: 'start' | 'end') {\n this._position = value || 'start';\n }\n /** Property for position getter/setter. */\n private _position: 'start' | 'end' = 'start';\n\n /** Whether the drawer is opened. */\n @Input()\n @HostBinding('class.ccf-drawer-opened')\n get opened(): boolean {\n return this._opened;\n }\n set opened(value: boolean) {\n this.toggle(coerceBooleanProperty(value));\n }\n /** Property for opened getter/setter. */\n private _opened = false;\n\n /** Whether the drawer is expanded. */\n @Input()\n @HostBinding('class.ccf-drawer-expanded')\n get expanded(): boolean {\n return this._expanded;\n }\n set expanded(value: boolean) {\n this.toggleExpanded(coerceBooleanProperty(value));\n }\n /** Property for expanded getter/setter */\n private _expanded = false;\n\n /** Output emitting when the drawer has opened. */\n @Output() readonly openedChange = new EventEmitter(true);\n /** Output emitting when the drawer has expanded. */\n @Output() readonly expandedChange = new EventEmitter(true);\n /** Output emitting whenever the drawer state changes. */\n @Output() readonly stateChange = new EventEmitter(true);\n\n /** Current open/close animation state. */\n @HostBinding('@openClose')\n openedState: OpenedState = 'closed';\n\n /** Expanded/collapsed state parameters. */\n @HostBinding('@expandCollapse')\n get expandedStateObj(): unknown {\n return { value: this.expandedState2, params: {\n width: this.width, margin: this.measuredMargin,\n margin2: this.margin2\n } };\n }\n /** Current expanded/collapsed animation state. */\n expandedState: ExpandedState = 'closed';\n /** Current expanded state relative to the opposite drawer. */\n private expandedState2: ExpandedState2 = 'collapsed';\n\n /** Gets the calculated width of the drawer. */\n private get measuredWidth(): number {\n if (this._measuredWidth > 0) {\n return this._measuredWidth;\n }\n\n const element = this.element.nativeElement;\n if (!element) {\n return 0;\n }\n\n const bbox = element.getBoundingClientRect();\n const width = bbox.right - bbox.left;\n if (width === 0) {\n return 0;\n }\n\n this._measuredWidth = width;\n return width;\n }\n /** Cached measured width. */\n private _measuredWidth = 0;\n /** Width of opposite drawer. */\n private width = 0;\n\n /** Gets the calculated margin of the drawer. */\n private get measuredMargin(): number {\n if (this._measuredMargin > 0) {\n return this._measuredMargin;\n }\n\n const element = this.element.nativeElement;\n if (!element) {\n return 0;\n }\n\n const styles = globalThis.getComputedStyle(element);\n const property = this.position === 'start' ? 'margin-right' : 'margin-left';\n const value = styles.getPropertyValue(property);\n const margin = Number(value.slice(0, -2));\n\n this._measuredMargin = margin;\n return margin;\n }\n /** Cached measured margin. */\n private _measuredMargin = 0;\n /** Margin of the opposite drawer. */\n private margin2 = 0;\n\n /** Initialization state. */\n private initialized = new InitializationState();\n /** Connected message channel. */\n private channel: MessageChannel;\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of drawer component.\n *\n * @param messageService Service for sending/receiving event messages.\n * @param cdr The change detector reference.\n * @param element Reference to components HTML element.\n */\n constructor(messageService: MessageService,\n cdr: ChangeDetectorRef,\n private element: ElementRef) {\n this.channel = messageService.connect(this);\n this.subscriptions.add(this.channel.getMessages().subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Initializes this component.\n */\n ngAfterViewInit(): void {\n this.initialized.set();\n setTimeout(() => this.channel.sendMessage({ type: 'drawer-initialized' }));\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Opens the drawer.\n */\n open(): void {\n this.toggle(true);\n }\n\n /**\n * Closes the drawer.\n */\n close(): void {\n this.toggle(false);\n }\n\n /**\n * Toggles the drawer between opened and closed.\n *\n * @param [opened] Whether to open or close the drawer.\n */\n toggle(opened = !this.opened): void {\n if (this.opened === opened) {\n return;\n }\n\n if (!opened) {\n this.openedState = 'closed';\n this.expandedState = 'closed';\n this.expandedState2 = 'collapsed';\n this._expanded = false;\n } else if (this.initialized.valueOf()) {\n this.openedState = 'open';\n } else {\n this.openedState = 'open-instant';\n }\n\n this._opened = opened;\n this.sendToggle();\n }\n\n /**\n * Expands the drawer.\n */\n openExpanded(): void {\n this.toggleExpanded(true);\n }\n\n /**\n * Collapses the drawer.\n */\n closeExpanded(): void {\n this.toggleExpanded(false);\n }\n\n /**\n * Toggles the drawer between expanded and collapsed.\n *\n * @param [expanded] Whether to expand or collapse the drawer.\n */\n toggleExpanded(expanded = !this.expanded): void {\n if (this.expanded === expanded) {\n return;\n }\n\n if (!expanded) {\n this.expandedState = 'closed';\n this.expandedState2 = 'collapsed';\n } else if (this.initialized.valueOf()) {\n this.expandedState = 'open';\n } else {\n this.expandedState = 'open-instant';\n }\n\n this._expanded = expanded;\n this.sendToggle();\n }\n\n /**\n * Listener to open/close animation completion.\n */\n @HostListener('@openClose.done')\n closeOpenDone(): void {\n this.openedChange.emit(this.opened);\n }\n\n /**\n * Listener to expand/collapse animation completion.\n */\n @HostListener('@expandCollapse.done')\n expandCollapseDone(): void {\n this.expandedChange.emit(this.expanded);\n }\n\n /**\n * Sends a toggle event to the channel.\n * Waits until initialization is completed before sending.\n */\n private async sendToggle(): Promise {\n await this.initialized.wait();\n this.channel.sendMessage({\n type: 'drawer-toggled',\n opened: this.opened,\n expanded: this.expanded,\n width: this.measuredWidth,\n margin: this.measuredMargin\n });\n this.stateChange.emit();\n }\n\n /**\n * Processes an event.\n *\n * @param msg The event.\n * @returns true if change detection should run.\n */\n private handleMessage(msg: Message): boolean {\n switch (msg.payload.type) {\n case 'drawer-toggled': {\n const other = msg.source as DrawerComponent;\n this.syncExpanded(other);\n return true;\n }\n\n default:\n return false;\n }\n }\n\n /**\n * Syncs the drawer widths and margin against the opposite drawer.\n *\n * @param other The opposite drawer.\n */\n private syncExpanded(other: DrawerComponent): void {\n if (this.expanded || other.expanded) {\n if (this.expanded && other.expanded) {\n this.expandedState2 = other.expandedState2 = 'half';\n } else if (this.expanded) {\n if (other.opened) {\n this.expandedState2 = 'extended';\n this.width = other.measuredWidth + other.measuredMargin;\n } else {\n this.expandedState2 = 'full';\n this.margin2 = other.measuredMargin;\n }\n } else {\n if (this.opened) {\n other.expandedState2 = 'extended';\n other.width = this.measuredWidth + this.measuredMargin;\n } else {\n other.expandedState2 = 'full';\n other.margin2 = this.measuredMargin;\n }\n }\n }\n }\n\n /** Workaround for getter/setter pair not accepting different types. */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_position: '' | 'start' | 'end';\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_opened: BooleanInput;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_expanded: BooleanInput;\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/JsonFileReaderComponent.html":{"url":"components/JsonFileReaderComponent.html","title":"component - JsonFileReaderComponent","body":"\n \n\n\n\n\n\n Components\n \n JsonFileReaderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-json-file-reader\n \n\n \n styleUrls\n ./json-file-reader.component.scss\n \n\n\n\n \n templateUrl\n ./json-file-reader.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n fileInput\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleFile\n \n \n triggerFileInput\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n label\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n parsedJson\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:20\n \n \n\n \n \n Creates an instance of json file reader component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n label\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Upload'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:17\n \n \n \n \n Allows the label on the upload button to be customized.\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n parsedJson\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:20\n \n \n \n \n Emits the json object of any files uploaded.\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-json-file-reader\"\n\n \n \n \n \n Default value : 'ccf-json-file-reader'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:12\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleFile\n \n \n \n \n \n \nhandleFile(event: InputEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:43\n \n \n\n\n \n \n Takes in a json file and emits the parsed json object.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n InputEvent\n \n\n \n No\n \n\n\n \n file input event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n triggerFileInput\n \n \n \n \n \n \ntriggerFileInput()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:33\n \n \n\n\n \n \n Method used to trigger the file input element's click handler\nfrom the placeholder button used for styling purposes.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-json-file-reader'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:12\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n fileInput\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('fileInput')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:14\n \n \n\n \n \n File Input element, used to manually trigger the click event.\n\n \n \n\n \n \n\n\n\n\n\n \n import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n@Component({\n selector: 'ccf-json-file-reader',\n templateUrl: './json-file-reader.component.html',\n styleUrls: ['./json-file-reader.component.scss']\n})\nexport class JsonFileReaderComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-json-file-reader';\n /** File Input element, used to manually trigger the click event. */\n @ViewChild('fileInput') fileInput: ElementRef;\n\n /** Allows the label on the upload button to be customized. */\n @Input() label = 'Upload';\n\n /** Emits the json object of any files uploaded. */\n @Output() readonly parsedJson = new EventEmitter();\n\n /**\n * Creates an instance of json file reader component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Method used to trigger the file input element's click handler\n * from the placeholder button used for styling purposes.\n */\n triggerFileInput(): void {\n const fileInputElement: HTMLElement = this.fileInput.nativeElement;\n fileInputElement.click();\n }\n\n /**\n * Takes in a json file and emits the parsed json object.\n *\n * @param event file input event\n */\n handleFile(event: InputEvent): void {\n const inputTarget = event.target as HTMLInputElement;\n if (!inputTarget.files) {\n return;\n }\n\n const file = inputTarget.files[0];\n const fileReader = new FileReader();\n\n fileReader.onload = () => {\n const json = JSON.parse(fileReader.result as string) as unknown;\n this.ga.event('json_file_load_end', 'json_file_reader');\n this.parsedJson.emit(json);\n };\n\n this.ga.event('json_file_load_start', 'json_file_reader');\n fileReader.readAsText(file);\n }\n}\n\n \n\n \n {{ label }}\n\n\n \n\n \n \n ./json-file-reader.component.scss\n \n :host {\n .upload-button {\n width: 100%;\n height: 2.25rem;\n transition: .6s;\n cursor: pointer;\n font-weight: 500;\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ label }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'JsonFileReaderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/JsonFileReaderModule.html":{"url":"modules/JsonFileReaderModule.html","title":"module - JsonFileReaderModule","body":"\n \n\n\n\n\n Modules\n JsonFileReaderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_JsonFileReaderModule\n\n\n\ncluster_JsonFileReaderModule_exports\n\n\n\ncluster_JsonFileReaderModule_declarations\n\n\n\n\nJsonFileReaderComponent\n\nJsonFileReaderComponent\n\n\n\nJsonFileReaderModule\n\nJsonFileReaderModule\n\nJsonFileReaderModule -->\n\nJsonFileReaderComponent->JsonFileReaderModule\n\n\n\n\n\nJsonFileReaderComponent \n\nJsonFileReaderComponent \n\nJsonFileReaderComponent -->\n\nJsonFileReaderModule->JsonFileReaderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n JsonFileReaderComponent\n \n \n \n \n Exports\n \n \n JsonFileReaderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { JsonFileReaderComponent } from './json-file-reader.component';\nimport { MatButtonModule } from '@angular/material/button';\n\n\n\n@NgModule({\n declarations: [JsonFileReaderComponent],\n imports: [\n CommonModule,\n MatButtonModule\n ],\n exports: [JsonFileReaderComponent]\n})\nexport class JsonFileReaderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/LabeledSlideToggleComponent.html":{"url":"components/LabeledSlideToggleComponent.html","title":"component - LabeledSlideToggleComponent","body":"\n \n\n\n\n\n\n Components\n \n LabeledSlideToggleComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts\n\n\n\n \n Description\n \n \n Generic toggle slider component\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-labeled-slide-toggle\n \n\n \n styleUrls\n ./labeled-slide-toggle.component.scss\n \n\n\n\n \n templateUrl\n ./labeled-slide-toggle.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n updateToggle\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n disabled\n \n \n labels\n \n \n value\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n valueChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n left\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:39\n \n \n\n \n \n Creates an instance of labeled slide toggle component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n disabled\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:34\n \n \n \n \n Whether or not the slider is disabled\n\n \n \n \n \n \n \n \n \n \n labels\n \n \n \n \n Type : [string, string]\n\n \n \n \n \n Default value : ['Left', 'Right']\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:24\n \n \n \n \n The two selection options to be toggled\n\n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Left'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:29\n \n \n \n \n Input value for toggle slider\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n valueChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:39\n \n \n \n \n Emits the datatype with the currently selected option\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-labeled-slide-toggle\"\n\n \n \n \n \n Default value : 'ccf-labeled-slide-toggle'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n updateToggle\n \n \n \n \n \n \nupdateToggle(selection: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:61\n \n \n\n\n \n \n Updates and emits the currently selected option\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n selection\n \n boolean\n \n\n \n No\n \n\n\n \n The current toggle state (true=left, false=right)\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-labeled-slide-toggle'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n left\n \n \n\n \n \n getleft()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:51\n \n \n \n \n Determines if left toggle option is selected\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/**\n * Generic toggle slider component\n */\n@Component({\n selector: 'ccf-labeled-slide-toggle',\n templateUrl: './labeled-slide-toggle.component.html',\n styleUrls: ['./labeled-slide-toggle.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class LabeledSlideToggleComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-labeled-slide-toggle';\n\n /**\n * The two selection options to be toggled\n */\n @Input() labels: [string, string] = ['Left', 'Right'];\n\n /**\n * Input value for toggle slider\n */\n @Input() value = 'Left';\n\n /**\n * Whether or not the slider is disabled\n */\n @Input() disabled = false;\n\n /**\n * Emits the datatype with the currently selected option\n */\n @Output() readonly valueChange = new EventEmitter();\n\n /**\n * Creates an instance of labeled slide toggle component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Determines if left toggle option is selected\n */\n get left(): boolean {\n const { value, labels } = this;\n return value !== labels[1];\n }\n\n /**\n * Updates and emits the currently selected option\n *\n * @param selection The current toggle state (true=left, false=right)\n */\n updateToggle(selection: boolean): void {\n this.value = selection ? this.labels[0] : this.labels[1];\n this.ga.event('slide_toggle_toggled', 'slide_toggle', this.value);\n this.valueChange.emit(this.value);\n }\n}\n\n \n\n \n {{labels[0]}}\n\n{{labels[1]}}\n\n \n\n \n \n ./labeled-slide-toggle.component.scss\n \n :host{\n .slide-label {\n margin: 0 1rem;\n transition: color .6s;\n cursor: pointer;\n }\n \n .disabled {\n opacity: 30%;\n cursor: not-allowed;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{labels[0]}}{{labels[1]}}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'LabeledSlideToggleComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LabeledSlideToggleModule.html":{"url":"modules/LabeledSlideToggleModule.html","title":"module - LabeledSlideToggleModule","body":"\n \n\n\n\n\n Modules\n LabeledSlideToggleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_LabeledSlideToggleModule\n\n\n\ncluster_LabeledSlideToggleModule_declarations\n\n\n\ncluster_LabeledSlideToggleModule_exports\n\n\n\n\nLabeledSlideToggleComponent\n\nLabeledSlideToggleComponent\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule -->\n\nLabeledSlideToggleComponent->LabeledSlideToggleModule\n\n\n\n\n\nLabeledSlideToggleComponent \n\nLabeledSlideToggleComponent \n\nLabeledSlideToggleComponent -->\n\nLabeledSlideToggleModule->LabeledSlideToggleComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n LabeledSlideToggleComponent\n \n \n \n \n Exports\n \n \n LabeledSlideToggleComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\n\nimport { LabeledSlideToggleComponent } from './labeled-slide-toggle.component';\n\n\n@NgModule({\n imports: [CommonModule, MatSlideToggleModule],\n declarations: [LabeledSlideToggleComponent],\n exports: [LabeledSlideToggleComponent]\n})\nexport class LabeledSlideToggleModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/LeftSidebarComponent.html":{"url":"components/LeftSidebarComponent.html","title":"component - LeftSidebarComponent","body":"\n \n\n\n\n\n\n Components\n \n LeftSidebarComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts\n\n\n\n \n Description\n \n \n The left sidebar\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-left-sidebar\n \n\n \n styleUrls\n ./left-sidebar.component.scss\n \n\n\n\n \n templateUrl\n ./left-sidebar.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Readonly\n detailsLabels$\n \n \n extractionSiteTooltip\n \n \n organList\n \n \n Readonly\n organSelected$\n \n \n previousVisibilityItems\n \n \n Readonly\n sexByLabel$\n \n \n Readonly\n sideByLabel$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n setSexFromLabel\n \n \n setSideFromLabel\n \n \n togglePreviousRegistrationBlocks\n \n \n updateExtractionSiteTooltip\n \n \n updateRegistration\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n disableSlider\n \n \n modalClosed\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(page: PageState, model: ModelState, registration: RegistrationState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:60\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n \n registration\n \n \n RegistrationState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n disableSlider\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:26\n \n \n \n \n \n \n \n \n \n modalClosed\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:29\n \n \n \n \n Whether or not the initial registration modal has been closed\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-left-sidebar\"\n\n \n \n \n \n Default value : 'ccf-left-sidebar'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:24\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n setSexFromLabel\n \n \n \n \n \n \nsetSexFromLabel(label: \"Female\" | \"Male\")\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:89\n \n \n\n\n \n \n Sets sex from sex toggle slider\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n label\n \n \"Female\" | \"Male\"\n \n\n \n No\n \n\n\n \n Selected sex\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setSideFromLabel\n \n \n \n \n \n \nsetSideFromLabel(label: \"L\" | \"R\")\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:98\n \n \n\n\n \n \n Sets side from side toggle slider\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n label\n \n \"L\" | \"R\"\n \n\n \n No\n \n\n\n \n Selected side\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n togglePreviousRegistrationBlocks\n \n \n \n \n \n \ntogglePreviousRegistrationBlocks(visible: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:110\n \n \n\n\n \n \n Handles toggling previous registration blocks visibility.\nWhen making them visible, it updates current structures to 20%\nopacity; when making not visible it sets them back to their\nprevious opacity.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n visible\n \n boolean\n \n\n \n No\n \n\n\n \n the state to set the visibility to.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateExtractionSiteTooltip\n \n \n \n \n \n \nupdateExtractionSiteTooltip(item: VisibilityItem | undefined)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:76\n \n \n\n\n \n \n Updates extraction site tooltip to either the VisibilityItem passed in's\ntooltip property, or an empty string if undefined.\nundefined.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n item\n \n VisibilityItem | undefined\n \n\n \n No\n \n\n\n \n The VisibilityItem which we want to show the tooltip of, or\nundefined.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateRegistration\n \n \n \n \n \n \nupdateRegistration(event: SpatialEntityJsonLd)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:123\n \n \n\n\n \n \n Event handler for capturing uploaded json and passing it along to\nthe relevant registration state method.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n SpatialEntityJsonLd\n \n\n \n No\n \n\n\n \n the new registration state json\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-left-sidebar'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:24\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n detailsLabels$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Default value : combineLatest(\n [this.model.organ$, this.model.side$, this.model.sex$]).pipe(\n map(([organ, side, sex]) => [organ?.name , side as string, sex as string])\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n extractionSiteTooltip\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:52\n \n \n\n \n \n Variable that keeps track of the extraction site tooltip to display on\nthe stage when hovered.\n\n \n \n\n \n \n \n \n \n \n \n \n organList\n \n \n \n \n \n \n Default value : RUI_ORGANS\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n organSelected$\n \n \n \n \n \n \n Default value : this.model.organ$.pipe(\n map(organ => organ === undefined ? false : true)\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n previousVisibilityItems\n \n \n \n \n \n \n Default value : [...this.model.snapshot.anatomicalStructures] as VisibilityItem[]\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:58\n \n \n\n \n \n Keeps track of the previousVisibility items so we can set the opacity\nback to what it was before we changed them to 20%\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n sexByLabel$\n \n \n \n \n \n \n Default value : this.model.sex$.pipe(\n map(sex => sex === 'female' ? 'Female' : 'Male')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n sideByLabel$\n \n \n \n \n \n \n Default value : this.model.side$.pipe(\n map(side => side === 'left' ? 'L' : 'R')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:35\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { SpatialEntityJsonLd } from 'ccf-body-ui';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { VisibilityItem } from '../../core/models/visibility-item';\nimport { ModelState } from '../../core/store/model/model.state';\nimport { PageState } from '../../core/store/page/page.state';\nimport { RegistrationState } from '../../core/store/registration/registration.state';\nimport { RUI_ORGANS } from './../../core/store/model/model.state';\n\n\n/**\n * The left sidebar\n */\n@Component({\n selector: 'ccf-left-sidebar',\n templateUrl: './left-sidebar.component.html',\n styleUrls: ['./left-sidebar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LeftSidebarComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-left-sidebar';\n\n @Input() disableSlider = false;\n\n /** Whether or not the initial registration modal has been closed */\n @Input() modalClosed = false;\n\n readonly sexByLabel$ = this.model.sex$.pipe(\n map(sex => sex === 'female' ? 'Female' : 'Male')\n );\n\n readonly sideByLabel$ = this.model.side$.pipe(\n map(side => side === 'left' ? 'L' : 'R')\n );\n\n readonly organSelected$ = this.model.organ$.pipe(\n map(organ => organ === undefined ? false : true)\n );\n\n readonly detailsLabels$: Observable = combineLatest(\n [this.model.organ$, this.model.side$, this.model.sex$]).pipe(\n map(([organ, side, sex]) => [organ?.name , side as string, sex as string])\n );\n\n /**\n * Variable that keeps track of the extraction site tooltip to display on\n * the stage when hovered.\n */\n extractionSiteTooltip = '';\n\n /**\n * Keeps track of the previousVisibility items so we can set the opacity\n * back to what it was before we changed them to 20%\n */\n previousVisibilityItems = [...this.model.snapshot.anatomicalStructures] as VisibilityItem[];\n\n organList = RUI_ORGANS;\n\n constructor(\n readonly page: PageState,\n readonly model: ModelState,\n readonly registration: RegistrationState\n ) { }\n\n\n /**\n * Updates extraction site tooltip to either the VisibilityItem passed in's\n * tooltip property, or an empty string if undefined.\n *\n * @param item The VisibilityItem which we want to show the tooltip of, or\n * undefined.\n */\n updateExtractionSiteTooltip(item: VisibilityItem | undefined): void {\n if (item?.tooltip) {\n this.extractionSiteTooltip = item.tooltip;\n } else {\n this.extractionSiteTooltip = '';\n }\n }\n\n /**\n * Sets sex from sex toggle slider\n *\n * @param label Selected sex\n */\n setSexFromLabel(label: 'Female' | 'Male'): void {\n this.model.setSex(label === 'Female' ? 'female' : 'male');\n }\n\n /**\n * Sets side from side toggle slider\n *\n * @param label Selected side\n */\n setSideFromLabel(label: 'L' | 'R'): void {\n this.model.setSide(label === 'L' ? 'left' : 'right');\n }\n\n /**\n * Handles toggling previous registration blocks visibility.\n * When making them visible, it updates current structures to 20%\n * opacity; when making not visible it sets them back to their\n * previous opacity.\n *\n * @param visible the state to set the visibility to.\n */\n togglePreviousRegistrationBlocks(visible: boolean): void {\n if (visible) {\n this.previousVisibilityItems = [...this.model.snapshot.anatomicalStructures];\n }\n this.model.toggleRegistrationBlocksVisibility(visible, this.previousVisibilityItems);\n }\n\n /**\n * Event handler for capturing uploaded json and passing it along to\n * the relevant registration state method.\n *\n * @param event the new registration state json\n */\n updateRegistration(event: SpatialEntityJsonLd): void {\n this.registration.editRegistration(event);\n }\n}\n\n \n\n \n \n \n \n \n \n \n Donor Sex:\n \n \n \n\n \n\n \n \n Anatomical Structures\n \n\n \n \n \n \n \n\n \n\n \n \n Landmarks\n \n \n \n \n \n \n \n \n\n \n\n \n \n\n \n\n 0\">\n {{ extractionSiteTooltip }}\n \n\n \n\n \n \n\n\n \n\n \n \n ./left-sidebar.component.scss\n \n :host {\n\n display: block;\n height: calc(100% - 3rem);\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n\n .scroll-wrapper {\n overflow-y: scroll;\n height: 100%;\n margin-right: 0.375rem;\n\n scrollbar-width: thin;\n &::-webkit-scrollbar {\n width: 0.75rem;\n }\n\n .container {\n display: flex;\n flex-direction: column;\n margin-left: 1.5rem;\n margin-right: 0.375rem;\n min-height: 100%;\n\n .space {\n height: 3rem;\n }\n\n mat-divider {\n border-top-width: 3px;\n }\n\n .ccf-organ-selector {\n margin-top: 1.5rem;\n }\n\n .organ-sliders {\n .slider-label {\n font-weight: 600;\n }\n\n display: flex;\n height: 3rem;\n align-items: center;\n }\n\n mat-expansion-panel {\n box-shadow: none;\n mat-expansion-panel-header {\n .expansion-title {\n font-size: 1rem;\n font-weight: 600;\n }\n }\n }\n\n ::ng-deep .mat-expansion-panel-body {\n padding: 0;\n }\n\n .extraction-menu,\n .anatomical-structures-menu {\n ::ng-deep .expansion-header {\n -webkit-user-select: none;\n -moz-user-select: none;\n padding: 0;\n font-weight: bold;\n height: 3rem;\n\n .mat-expansion-indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n }\n }\n\n .expansion-content {\n margin-bottom: 0.75rem;\n text-align: center;\n margin-top: 2.25rem;\n .expansion-placeholder {\n width: 100%;\n font-size: 0.9rem;\n font-weight: 400;\n }\n }\n }\n\n .extraction-site-tooltip {\n position: absolute;\n top: 4rem;\n left: 27rem;\n width: 21rem;\n padding: 1rem;\n border-radius: 0.5rem;\n border: 1px solid;\n z-index: 2;\n }\n }\n }\n\n .filler {\n flex-grow: 1;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Donor Sex: Anatomical Structures Landmarks 0\"> {{ extractionSiteTooltip }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'LeftSidebarComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LeftSidebarModule.html":{"url":"modules/LeftSidebarModule.html","title":"module - LeftSidebarModule","body":"\n \n\n\n\n\n Modules\n LeftSidebarModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_LeftSidebarModule\n\n\n\ncluster_LeftSidebarModule_declarations\n\n\n\ncluster_LeftSidebarModule_exports\n\n\n\ncluster_LeftSidebarModule_imports\n\n\n\n\nLeftSidebarComponent\n\nLeftSidebarComponent\n\n\n\nLeftSidebarModule\n\nLeftSidebarModule\n\nLeftSidebarModule -->\n\nLeftSidebarComponent->LeftSidebarModule\n\n\n\n\n\nLeftSidebarComponent \n\nLeftSidebarComponent \n\nLeftSidebarComponent -->\n\nLeftSidebarModule->LeftSidebarComponent \n\n\n\n\n\nDetailsLabelModule\n\nDetailsLabelModule\n\nLeftSidebarModule -->\n\nDetailsLabelModule->LeftSidebarModule\n\n\n\n\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule\n\nLeftSidebarModule -->\n\nExtractionSetDropdownModule->LeftSidebarModule\n\n\n\n\n\nJsonFileReaderModule\n\nJsonFileReaderModule\n\nLeftSidebarModule -->\n\nJsonFileReaderModule->LeftSidebarModule\n\n\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nLeftSidebarModule -->\n\nLabeledSlideToggleModule->LeftSidebarModule\n\n\n\n\n\nNameInputModule\n\nNameInputModule\n\nLeftSidebarModule -->\n\nNameInputModule->LeftSidebarModule\n\n\n\n\n\nVisibilityMenuModule\n\nVisibilityMenuModule\n\nLeftSidebarModule -->\n\nVisibilityMenuModule->LeftSidebarModule\n\n\n\n\n\nVisibilityToggleModule\n\nVisibilityToggleModule\n\nLeftSidebarModule -->\n\nVisibilityToggleModule->LeftSidebarModule\n\n\n\nLeftSidebarModule -->\n\nVisibilityToggleModule->LeftSidebarModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n LeftSidebarComponent\n \n \n \n \n Imports\n \n \n DetailsLabelModule\n \n \n ExtractionSetDropdownModule\n \n \n JsonFileReaderModule\n \n \n LabeledSlideToggleModule\n \n \n NameInputModule\n \n \n VisibilityMenuModule\n \n \n VisibilityToggleModule\n \n \n VisibilityToggleModule\n \n \n \n \n Exports\n \n \n LeftSidebarComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatDividerModule } from '@angular/material/divider';\n\nimport { DetailsLabelModule } from '../../shared/components/details-label/details-label.module';\nimport { ExtractionSetDropdownModule } from '../../shared/components/extraction-set-dropdown/extraction-set-dropdown.module';\nimport { LabeledSlideToggleModule } from '../../shared/components/labeled-slide-toggle/labeled-slide-toggle.module';\nimport { NameInputModule } from '../../shared/components/name-input/name-input.module';\nimport { OpacitySliderModule } from 'ccf-shared';\nimport { VisibilityMenuModule } from '../../shared/components/visibility-menu/visibility-menu.module';\nimport { VisibilityToggleModule } from '../../shared/components/visibility-toggle/visibility-toggle.module';\nimport { LeftSidebarComponent } from './left-sidebar.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { JsonFileReaderModule } from '../../shared/components/json-file-reader/json-file-reader.module';\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatExpansionModule,\n MatIconModule,\n MatTooltipModule,\n\n MatDividerModule,\n DetailsLabelModule,\n LabeledSlideToggleModule,\n NameInputModule,\n VisibilityToggleModule,\n ExtractionSetDropdownModule,\n OpacitySliderModule,\n VisibilityMenuModule,\n VisibilityToggleModule,\n JsonFileReaderModule\n ],\n declarations: [LeftSidebarComponent],\n exports: [LeftSidebarComponent]\n})\nexport class LeftSidebarModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Message.html":{"url":"interfaces/Message.html","title":"interface - Message","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Message\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n A message sent on a channel.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n payload\n \n \n \n \n source\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Unique identifier for a message.\n\n \n \n \n \n \n \n \n \n \n payload\n \n \n \n \n \n \n \n \n payload: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n Data associated with this message.\n\n \n \n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: \n\n \n \n\n\n\n\n\n\n\n \n \n Sender of the message.\n\n \n \n \n \n \n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MessageChannel.html":{"url":"classes/MessageChannel.html","title":"class - MessageChannel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MessageChannel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Channel for sending and receiving messages.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n counter\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getMessages\n \n \n getMessagesFromSource\n \n \n getMessagesFromSources\n \n \n Private\n nextMessageId\n \n \n sendMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(source, channel: Subject>, messages: Observable>)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:50\n \n \n\n \n \n Creates a new channel.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n source\n \n \n \n \n \n No\n \n \n \n The message source.\n\n \n \n \n channel\n \n \n Subject>\n \n \n \n No\n \n \n \n The message send subject.\n\n \n \n \n messages\n \n \n Observable>\n \n \n \n No\n \n \n \n The message receive observable.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n counter\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:50\n \n \n\n \n \n Counter used to give each message a unique id.\n\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getMessages\n \n \n \n \n \n \ngetMessages()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:83\n \n \n\n\n \n \n Gets an observable emitting all messages except for those sent by this source.\n\n\n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n getMessagesFromSource\n \n \n \n \n \n \ngetMessagesFromSource(source)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:93\n \n \n\n\n \n \n Gets an observable emitting messages sent from a specific source.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n source\n\n \n No\n \n\n\n \n The source messages are filtered on.\n\n \n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n getMessagesFromSources\n \n \n \n \n \n \ngetMessagesFromSources(sources: [])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:103\n \n \n\n\n \n \n Gets an observable emitting messages sent from any of the specified sources.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n sources\n \n []\n \n\n \n No\n \n\n\n \n The sources messages are filtered on.\n\n \n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n nextMessageId\n \n \n \n \n \n \n \n nextMessageId()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:112\n \n \n\n\n \n \n Creates a unique message identifier.\n\n\n \n \n \n Returns : number\n\n \n \n The identifier number.\n\n \n \n \n \n \n \n \n \n \n \n \n sendMessage\n \n \n \n \n \n \nsendMessage(payload: T)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:70\n \n \n\n\n \n \n Sends a single message with a payload.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n payload\n \n T\n \n\n \n No\n \n\n\n \n The message payload.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MessageService.html":{"url":"injectables/MessageService.html","title":"injectable - MessageService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n MessageService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Service for creating message channels.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n channel\n \n \n Private\n messages\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n connect\n \n \n ngOnDestroy\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: MessageServiceConfig, parent: MessageService | null)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:130\n \n \n\n \n \n Creates an instance of message service.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n config\n \n \n MessageServiceConfig\n \n \n \n No\n \n \n \n The configuration for this service.\n\n \n \n \n parent\n \n \n MessageService | null\n \n \n \n No\n \n \n \n The parent message service, if any.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n connect\n \n \n \n \n \n \nconnect(source)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:163\n \n \n\n\n \n \n Connects to a message channel.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n source\n\n \n No\n \n\n\n \n The source of messages sent.\n\n \n \n \n \n \n \n \n \n Returns : MessageChannel\n\n \n \n A new connected message channel.\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:153\n \n \n\n\n \n \n Clean up.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n channel\n \n \n \n \n \n \n Default value : new Subject>()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:128\n \n \n\n \n \n The message channel.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n messages\n \n \n \n \n \n \n Type : Observable>\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:130\n \n \n\n \n \n The message listener.\n\n \n \n\n \n \n\n\n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MessageServiceConfig.html":{"url":"interfaces/MessageServiceConfig.html","title":"interface - MessageServiceConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MessageServiceConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Message service configuration options.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n isolated\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n isolated\n \n \n \n \n \n \n \n \n isolated: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether to listen to parent messages.\n\n \n \n \n \n \n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MetaDataField.html":{"url":"interfaces/MetaDataField.html","title":"interface - MetaDataField","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MetaDataField\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/meta-data.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n label\n \n \n \n \n value\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n \n \n value: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface MetaDataField {\n label: string;\n value: string;\n}\n\nexport type MetaData = MetaDataField[];\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ModelStateModel.html":{"url":"interfaces/ModelStateModel.html","title":"interface - ModelStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ModelStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n\n\n \n Description\n \n \n Data contained in the stage state.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n anatomicalStructures\n \n \n \n \n blockSize\n \n \n \n \n extractionSets\n \n \n \n \n extractionSites\n \n \n \n \n id\n \n \n \n \n label\n \n \n \n \n organ\n \n \n \n \n organDimensions\n \n \n \n Optional\n \n organIri\n \n \n \n \n position\n \n \n \n \n rotation\n \n \n \n Optional\n \n sex\n \n \n \n \n showPrevious\n \n \n \n Optional\n \n side\n \n \n \n \n slicesConfig\n \n \n \n \n viewSide\n \n \n \n \n viewType\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n anatomicalStructures\n \n \n \n \n \n \n \n \n anatomicalStructures: VisibilityItem[]\n\n \n \n\n\n \n \n Type : VisibilityItem[]\n\n \n \n\n\n\n\n\n \n \n Anatomical structures for the organ\n\n \n \n \n \n \n \n \n \n \n blockSize\n \n \n \n \n \n \n \n \n blockSize: XYZTriplet\n\n \n \n\n\n \n \n Type : XYZTriplet\n\n \n \n\n\n\n\n\n \n \n Block size\n\n \n \n \n \n \n \n \n \n \n extractionSets\n \n \n \n \n \n \n \n \n extractionSets: ExtractionSet[]\n\n \n \n\n\n \n \n Type : ExtractionSet[]\n\n \n \n\n\n\n\n\n \n \n Extraction sets\n\n \n \n \n \n \n \n \n \n \n extractionSites\n \n \n \n \n \n \n \n \n extractionSites: VisibilityItem[]\n\n \n \n\n\n \n \n Type : VisibilityItem[]\n\n \n \n\n\n\n\n\n \n \n Possible extraction sites\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Model identifier\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Model label\n\n \n \n \n \n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: OrganInfo\n\n \n \n\n\n \n \n Type : OrganInfo\n\n \n \n\n\n\n\n\n \n \n Organ name\n\n \n \n \n \n \n \n \n \n \n organDimensions\n \n \n \n \n \n \n \n \n organDimensions: XYZTriplet\n\n \n \n\n\n \n \n Type : XYZTriplet\n\n \n \n\n\n\n\n\n \n \n Reference Organ Dimensions\n\n \n \n \n \n \n \n \n \n \n organIri\n \n \n \n \n \n \n \n \n organIri: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Reference Organ IRI\n\n \n \n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n \n \n position: XYZTriplet\n\n \n \n\n\n \n \n Type : XYZTriplet\n\n \n \n\n\n\n\n\n \n \n Model position\n\n \n \n \n \n \n \n \n \n \n rotation\n \n \n \n \n \n \n \n \n rotation: XYZTriplet\n\n \n \n\n\n \n \n Type : XYZTriplet\n\n \n \n\n\n\n\n\n \n \n Model rotation\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"male\" | \"female\"\n\n \n \n\n\n \n \n Type : \"male\" | \"female\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Sex if applicable\n\n \n \n \n \n \n \n \n \n \n showPrevious\n \n \n \n \n \n \n \n \n showPrevious: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether previous registration blocks are visible\n\n \n \n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: \"left\" | \"right\"\n\n \n \n\n\n \n \n Type : \"left\" | \"right\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Side if applicable\n\n \n \n \n \n \n \n \n \n \n slicesConfig\n \n \n \n \n \n \n \n \n slicesConfig: SlicesConfig\n\n \n \n\n\n \n \n Type : SlicesConfig\n\n \n \n\n\n\n\n\n \n \n Slice configuration\n\n \n \n \n \n \n \n \n \n \n viewSide\n \n \n \n \n \n \n \n \n viewSide: ViewSide\n\n \n \n\n\n \n \n Type : ViewSide\n\n \n \n\n\n\n\n\n \n \n View side\n\n \n \n \n \n \n \n \n \n \n viewType\n \n \n \n \n \n \n \n \n viewType: ViewType\n\n \n \n\n\n \n \n Type : ViewType\n\n \n \n\n\n\n\n\n \n \n View type\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { ALL_ORGANS, GlobalConfigState, OrganInfo } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { sortBy } from 'lodash';\nimport { EMPTY, Observable } from 'rxjs';\nimport {\n debounceTime, delay, distinctUntilChanged, filter, mapTo, pluck, skipUntil, switchMap, take, tap, throttleTime,\n} from 'rxjs/operators';\n\nimport { ExtractionSet } from '../../models/extraction-set';\nimport { VisibilityItem } from '../../models/visibility-item';\nimport { GlobalConfig } from '../../services/config/config';\nimport { PageState } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A object with x, y, and z channels of the same type. */\nexport interface XYZTriplet {\n /** X channel */\n x: T;\n /** Y channel */\n y: T;\n /** Z channel */\n z: T;\n}\n\n/** Slices configuration */\nexport interface SlicesConfig {\n /** Thickness of slice */\n thickness: number;\n /** Number of slices per block */\n numSlices: number;\n}\n\n/** Model view type */\nexport type ViewType = 'register' | '3d';\n\n/** Side which the model is viewed from */\nexport type ViewSide = 'left' | 'right' | 'anterior' | 'posterior';\n\n/** Data contained in the stage state. */\nexport interface ModelStateModel {\n /** Model identifier */\n id: string;\n /** Model label */\n label: string;\n /** Organ name */\n organ: OrganInfo;\n /** Reference Organ IRI */\n organIri?: string;\n /** Reference Organ Dimensions */\n organDimensions: XYZTriplet;\n /** Sex if applicable */\n sex?: 'male' | 'female';\n /** Side if applicable */\n side?: 'left' | 'right';\n /** Block size */\n blockSize: XYZTriplet;\n /** Model rotation */\n rotation: XYZTriplet;\n /** Model position */\n position: XYZTriplet;\n /** Slice configuration */\n slicesConfig: SlicesConfig;\n /** View type */\n viewType: ViewType;\n /** View side */\n viewSide: ViewSide;\n /** Whether previous registration blocks are visible */\n showPrevious: boolean;\n /** Possible extraction sites */\n extractionSites: VisibilityItem[];\n /** Anatomical structures for the organ */\n anatomicalStructures: VisibilityItem[];\n /** Extraction sets */\n extractionSets: ExtractionSet[];\n}\n\n/**\n * All organs to be displayed\n */\nexport const RUI_ORGANS = ALL_ORGANS;\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'model',\n defaults: {\n id: '',\n label: '',\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n organ: { src: '', name: '' } as OrganInfo,\n organIri: '',\n organDimensions: { x: 90, y: 90, z: 90 },\n sex: 'male',\n side: 'left',\n blockSize: { x: 10, y: 10, z: 10 },\n rotation: { x: 0, y: 0, z: 0 },\n position: { x: 0, y: 0, z: 0 },\n slicesConfig: { thickness: NaN, numSlices: NaN },\n viewType: 'register',\n viewSide: 'anterior',\n showPrevious: false,\n extractionSites: [],\n anatomicalStructures: [],\n extractionSets: []\n }\n})\n@Injectable()\nexport class ModelState extends NgxsImmutableDataRepository {\n /** Identifier observable */\n readonly id$ = this.state$.pipe(pluck('id'));\n /** Block size observable */\n readonly blockSize$ = this.state$.pipe(pluck('blockSize'));\n /** Rotation observable */\n readonly rotation$ = this.state$.pipe(pluck('rotation'));\n /** Position observable */\n readonly position$ = this.state$.pipe(pluck('position'));\n /** Slice configuration observable */\n readonly slicesConfig$ = this.state$.pipe(pluck('slicesConfig'));\n /** View type observable */\n readonly viewType$ = this.state$.pipe(pluck('viewType'));\n /** View side observable */\n readonly viewSide$ = this.state$.pipe(pluck('viewSide'));\n /** Organ observable */\n readonly organ$ = this.state$.pipe(pluck('organ'));\n /** Organ IRI observable */\n readonly organIri$ = this.state$.pipe(pluck('organIri'));\n /** Organ IRI observable */\n readonly organDimensions$ = this.state$.pipe(pluck('organDimensions'));\n /** Sex observable */\n readonly sex$ = this.state$.pipe(pluck('sex'));\n /** Side observable */\n readonly side$ = this.state$.pipe(pluck('side'));\n /** Show previous observable */\n readonly showPrevious$ = this.state$.pipe(pluck('showPrevious'));\n /** Extraction sites observable */\n readonly extractionSites$ = this.state$.pipe(pluck('extractionSites'));\n /** Anatomical structures observable */\n readonly anatomicalStructures$ = this.state$.pipe(pluck('anatomicalStructures'));\n /** Extraction sets observable */\n readonly extractionSets$ = this.state$.pipe(pluck('extractionSets'));\n\n @Computed()\n get modelChanged$(): Observable {\n const ignoredKeys = ['viewType', 'viewSide', 'showPrevious'];\n const keys = Object.keys(this.initialState)\n .filter(key => !ignoredKeys.includes(key));\n\n return this.state$.pipe(\n throttleTime(0, undefined, { leading: false, trailing: true }),\n distinctUntilChanged((v1, v2) => {\n for (const key of keys) {\n if (v1[key] !== v2[key]) {\n return false;\n }\n }\n\n return true;\n }),\n mapTo(undefined)\n );\n }\n\n /** Reference to the reference data state */\n private referenceData: ReferenceDataState;\n\n private page: PageState;\n\n /**\n * Creates an instance of model state.\n *\n * @param injector Injector service used to lazy load reference data state\n */\n constructor(\n private readonly ga: GoogleAnalyticsService,\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.referenceData = this.injector.get(ReferenceDataState);\n this.page = this.injector.get(PageState);\n\n this.globalConfig.getOption('organ').pipe(\n filterNulls(),\n switchMap(organConfig => {\n const organName = organConfig.name.toLowerCase();\n const organSide = organConfig.side;\n const ontologyId = organConfig.ontologyId;\n // check for an id match\n let organInfo = this.idMatches(ontologyId, organSide);\n // if no id matches, check for a name match\n if (!organInfo) {\n organInfo = this.nameMatches(organName, organSide);\n }\n if (organInfo) {\n this.ctx.patchState({\n organ: organInfo,\n sex: organConfig.sex?.toLowerCase() as 'male' | 'female',\n side: organInfo?.side?.toLowerCase() as 'left' | 'right'\n });\n return this.referenceData.state$.pipe(\n debounceTime(100),\n take(1),\n delay(200),\n tap(() => this.onOrganIriChange())\n );\n }\n return EMPTY;\n })\n ).subscribe();\n\n this.modelChanged$.pipe(\n skipUntil(this.page.registrationStarted$.pipe(\n filter(started => started),\n delay(5)\n ))\n ).subscribe(() => this.page.setHasChanges());\n }\n\n idMatches(ontologyId?: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n ontologyId && o.id === ontologyId ? (o.side ? o.side === organSide : true) : false\n );\n }\n\n nameMatches(organName: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n o.side ? o.organ.toLowerCase() === organName && o.side === organSide : o.organ.toLowerCase() === organName\n );\n }\n\n /**\n * Updates the block size\n *\n * @param blockSize The new block size values\n */\n @DataAction()\n setBlockSize(blockSize: XYZTriplet): void {\n this.ctx.patchState({ blockSize });\n }\n\n /**\n * Updates the rotation\n *\n * @param rotation The new rotation values\n */\n @DataAction()\n setRotation(rotation: XYZTriplet): void {\n this.ctx.patchState({ rotation });\n }\n\n /**\n * Updates the position\n *\n * @param position The new position values\n */\n @DataAction()\n setPosition(position: XYZTriplet): void {\n this.ga.event('placement', `${this.snapshot.organ?.name}_placement`, `${position.x.toFixed(1)}_${position.y.toFixed(1)}_${position.z.toFixed(1)}`);\n this.ctx.patchState({ position });\n }\n\n /**\n * Updates the slice configuration\n *\n * @param slicesConfig The new slice configuration\n */\n @DataAction()\n setSlicesConfig(slicesConfig: SlicesConfig): void {\n this.ctx.patchState({ slicesConfig });\n }\n\n /**\n * Updates the view type\n *\n * @param viewType the new view type\n */\n @DataAction()\n setViewType(viewType: ViewType): void {\n this.ctx.patchState({ viewType });\n }\n\n /**\n * Updates the view side\n *\n * @param viewSide The side to view\n */\n @DataAction()\n setViewSide(viewSide: ViewSide): void {\n this.ctx.patchState({ viewSide });\n }\n\n @Computed()\n get defaultPosition(): XYZTriplet {\n const dims = this.snapshot.organDimensions;\n const block = this.snapshot.blockSize;\n return { x: dims.x + 2 * block.x, y: dims.y / 2, z: dims.z / 2 };\n }\n\n /**\n * Updates the organ\n *\n * @param organ Name of the organ\n */\n @DataAction()\n setOrgan(organ: OrganInfo): void {\n this.ga.event('organ_select', 'organ', organ.name);\n this.ctx.patchState({ organ });\n if (organ.side) {\n this.ctx.patchState({ side: organ.side });\n }\n this.onOrganIriChange();\n }\n\n /**\n * Updates the sex\n *\n * @param [sex] The new sex\n */\n @DataAction()\n setSex(sex?: 'male' | 'female'): void {\n this.ctx.patchState({ sex });\n this.onOrganIriChange();\n }\n\n /**\n * Updates the side\n *\n * @param [side] The new side\n */\n @DataAction()\n setSide(side?: 'left' | 'right'): void {\n this.ctx.patchState({ side });\n this.onOrganIriChange();\n }\n\n /**\n * Updates show previous\n *\n * @param showPrevious Whether to show\n */\n @DataAction()\n setShowPrevious(showPrevious: boolean): void {\n this.ctx.patchState({ showPrevious });\n }\n\n /**\n * Updates extraction sites\n *\n * @param extractionSites New array of items\n */\n @DataAction()\n setExtractionSites(extractionSites: VisibilityItem[]): void {\n this.ctx.patchState({ extractionSites });\n }\n\n /**\n * Updates anatomical structures\n *\n * @param anatomicalStructures New array of items\n */\n @DataAction()\n setAnatomicalStructures(anatomicalStructures: VisibilityItem[]): void {\n this.ctx.patchState({ anatomicalStructures });\n }\n\n /**\n * Updates extraction sets\n *\n * @param extractionSets New array of extraction sets\n */\n @DataAction()\n setExtractionSets(extractionSets: ExtractionSet[]): void {\n this.ctx.patchState({ extractionSets });\n }\n\n /**\n * Toggles registration blocks visibility and handles anatomical structures\n * opacity changes accordingly\n *\n * @param visible the visible state to pass along to setShowPrevious()\n * @param previousItems visibilityItems to set anatomical structures\n */\n toggleRegistrationBlocksVisibility(visible: boolean, previousItems: VisibilityItem[]): void {\n this.setShowPrevious(visible);\n\n if (!visible) {\n this.setAnatomicalStructures(previousItems);\n } else {\n const newStructures = previousItems.map(structure => ({\n ...structure, opacity: Math.min(20, structure.opacity ?? 20)\n }));\n this.setAnatomicalStructures(newStructures);\n }\n }\n\n private onOrganIriChange(): void {\n const organIri = this.referenceData.getReferenceOrganIri(\n this.snapshot.organ?.organ || '', this.snapshot.sex, this.snapshot.side, this.snapshot.organ\n );\n const organDimensions: XYZTriplet = { x: 100, y: 100, z: 100 };\n\n if (this.snapshot.organ?.sex) {\n this.ctx.patchState({ sex: this.snapshot.organ?.sex });\n }\n\n if (organIri) {\n const db = this.referenceData.snapshot;\n const asLookup: { [id: string]: VisibilityItem } = {};\n for (const entity of (db.anatomicalStructures[organIri] || [])) {\n const iri = entity.representation_of ?? entity['@id'];\n if (!asLookup[iri]) {\n asLookup[iri] = {\n id: entity.representation_of ?? entity['@id'],\n name: entity.label!,\n visible: true,\n opacity: 20,\n tooltip: entity.comment\n };\n }\n }\n this.ctx.patchState({ anatomicalStructures: Object.values(asLookup) });\n\n const sets: ExtractionSet[] = (db.extractionSets[organIri] || []).map((set) => ({\n name: set.label,\n sites: sortBy(set.extractionSites.map((entity) => ({\n id: entity['@id'],\n name: entity.label!,\n visible: false,\n opacity: 0,\n tooltip: entity.comment\n })), 'name')\n }));\n this.ctx.patchState({ extractionSets: sets });\n this.ctx.patchState({ extractionSites: sets.length > 0 ? sets[0].sites : [] });\n\n const spatialEntity = db.organSpatialEntities[organIri];\n organDimensions.x = spatialEntity.x_dimension;\n organDimensions.y = spatialEntity.y_dimension;\n organDimensions.z = spatialEntity.z_dimension;\n }\n\n this.ctx.patchState({ organIri, organDimensions });\n this.ctx.patchState({ position: this.defaultPosition });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/NameInputComponent.html":{"url":"components/NameInputComponent.html","title":"component - NameInputComponent","body":"\n \n\n\n\n\n\n Components\n \n NameInputComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts\n\n\n\n \n Description\n \n \n Component for inputting the researcher's name\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-name-input\n \n\n \n styleUrls\n ./name-input.component.scss\n \n\n\n\n \n templateUrl\n ./name-input.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _name\n \n \n Readonly\n clsName\n \n \n firstNameValidator\n \n \n lastNameValidator\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n updateName\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n name\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n nameChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:68\n \n \n\n \n \n Creates an instance of name input component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n name\n \n \n \n \n Type : UserName\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:50\n \n \n \n \n Current user name\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n nameChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:68\n \n \n \n \n Emits a UserName object\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-name-input\"\n\n \n \n \n \n Default value : 'ccf-name-input'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:35\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n updateName\n \n \n \n \n \n \nupdateName(input: InputEvent, key: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:83\n \n \n\n\n \n \n Updates username with a new entry and emits the UserName object\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n input\n \n InputEvent\n \n\n \n No\n \n\n\n \n InputEvent from the input element which contains the new value\n\n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n firstName or lastName\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _name\n \n \n \n \n \n \n Type : UserName\n\n \n \n \n \n Default value : {\n firstName: '',\n lastName: ''\n }\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-name-input'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:35\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n firstNameValidator\n \n \n \n \n \n \n Default value : new FormControl('', [Validators.required])\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:40\n \n \n\n \n \n Used to validate the first name input field.\n\n \n \n\n \n \n \n \n \n \n \n \n lastNameValidator\n \n \n \n \n \n \n Default value : new FormControl('', [Validators.required])\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:44\n \n \n\n \n \n Used to validate the last name input field.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n\n \n \n getname()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:50\n \n \n \n \n Current user name\n\n\n \n Returns : UserName\n\n \n \n \n\n \n \n setname(value: UserName)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:54\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n UserName\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * User name data\n */\nexport interface UserName {\n /**\n * User's first name\n */\n firstName: string;\n\n /**\n * User's last name\n */\n lastName: string;\n}\n\n/**\n * Component for inputting the researcher's name\n */\n@Component({\n selector: 'ccf-name-input',\n templateUrl: './name-input.component.html',\n styleUrls: ['./name-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NameInputComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-name-input';\n\n /**\n * Used to validate the first name input field.\n */\n firstNameValidator = new FormControl('', [Validators.required]);\n /**\n * Used to validate the last name input field.\n */\n lastNameValidator = new FormControl('', [Validators.required]);\n\n /**\n * Current user name\n */\n @Input()\n get name(): UserName {\n return this._name;\n }\n\n set name(value: UserName) {\n this._name = value;\n this.firstNameValidator.setValue(value?.firstName || '');\n this.lastNameValidator.setValue(value?.lastName || '');\n }\n\n private _name: UserName = {\n firstName: '',\n lastName: ''\n };\n\n /**\n * Emits a UserName object\n */\n @Output() readonly nameChange = new EventEmitter();\n\n /**\n * Creates an instance of name input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates username with a new entry and emits the UserName object\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key firstName or lastName\n */\n updateName(input: InputEvent, key: string): void {\n const inputTarget = input.target as HTMLInputElement;\n this.name = { ...this.name, [key]: inputTarget.value };\n this.ga.event('name_updated', 'name_input', key);\n this.nameChange.emit(this.name);\n }\n}\n\n \n\n \n \n First Name \n \n\n\n\n Last Name \n \n\n\n \n\n \n \n ./name-input.component.scss\n \n :host {\n display: flex;\n\n .field {\n\n &:not(:last-child) {\n padding-right: 0.75rem;\n }\n\n .input {\n text-align: left;\n width: 100%;\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' First Name Last Name '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'NameInputComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/NameInputModule.html":{"url":"modules/NameInputModule.html","title":"module - NameInputModule","body":"\n \n\n\n\n\n Modules\n NameInputModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_NameInputModule\n\n\n\ncluster_NameInputModule_declarations\n\n\n\ncluster_NameInputModule_exports\n\n\n\n\nNameInputComponent\n\nNameInputComponent\n\n\n\nNameInputModule\n\nNameInputModule\n\nNameInputModule -->\n\nNameInputComponent->NameInputModule\n\n\n\n\n\nNameInputComponent \n\nNameInputComponent \n\nNameInputComponent -->\n\nNameInputModule->NameInputComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/name-input/name-input.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n NameInputComponent\n \n \n \n \n Exports\n \n \n NameInputComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatInputModule } from '@angular/material/input';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { NameInputComponent } from './name-input.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatSlideToggleModule,\n MatInputModule,\n FormsModule,\n ReactiveFormsModule,\n MatTooltipModule\n ],\n declarations: [NameInputComponent],\n exports: [NameInputComponent]\n})\nexport class NameInputModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OrganData.html":{"url":"interfaces/OrganData.html","title":"interface - OrganData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OrganData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n organ\n \n \n \n Optional\n \n sex\n \n \n \n Optional\n \n side\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: OrganInfo\n\n \n \n\n\n \n \n Type : OrganInfo\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"male\" | \"female\"\n\n \n \n\n\n \n \n Type : \"male\" | \"female\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: \"left\" | \"right\"\n\n \n \n\n\n \n \n Type : \"left\" | \"right\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { SpatialPlacementJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { ExtractionSet, SpatialEntity } from 'ccf-database';\nimport { ALL_ORGANS, GlobalConfigState, GlobalsService, OrganInfo } from 'ccf-shared';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\nimport { XYZTriplet } from '../model/model.state';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\nexport function applySpatialPlacement(tx: Matrix4, placement: Immutable): Matrix4 {\n const p = placement;\n let factor: number;\n switch (p.translation_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const T = [p.x_translation, p.y_translation, p.z_translation].map(t => t * factor);\n const R = [p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number];\n const S = [p.x_scaling, p.y_scaling, p.z_scaling];\n\n return tx.translate(T).rotateXYZ(R).scale(S);\n}\n\nexport interface ReferenceDataStateModel {\n organIRILookup: { [lookup: string]: string };\n organSpatialEntities: { [iri: string]: SpatialEntity };\n anatomicalStructures: { [iri: string]: SpatialEntity[] };\n extractionSets: { [iri: string]: ExtractionSet[] };\n sceneNodeLookup: { [iri: string]: SpatialSceneNode };\n simpleSceneNodeLookup: { [iri: string]: SpatialSceneNode };\n placementPatches: { [iri: string]: SpatialPlacementJsonLd };\n}\n\nexport interface OrganData {\n organ: OrganInfo;\n sex?: 'male' | 'female';\n side?: 'left' | 'right';\n}\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'reference',\n defaults: {\n organIRILookup: {},\n organSpatialEntities: {},\n anatomicalStructures: {},\n extractionSets: {},\n sceneNodeLookup: {},\n simpleSceneNodeLookup: {},\n placementPatches: {}\n }\n})\n@Injectable()\nexport class ReferenceDataState extends NgxsImmutableDataRepository {\n\n constructor(\n private readonly globals: GlobalsService,\n private globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.getSourceDB().subscribe(db => {\n this.setState(db);\n\n // In development, make the db globally accessible\n if (!environment.production) {\n this.globals.set('db', db);\n }\n });\n }\n\n private getSourceDB(): Observable {\n return this.globalConfig.getOption('baseHref').pipe(\n map(baseHref => (baseHref ?? '') + 'assets/reference-organ-data.json'),\n switchMap(url => from(fetch(url)).pipe(\n switchMap(data => data.json()),\n catchError(() => EMPTY)\n ))\n );\n }\n\n normalizePlacement(place: SpatialPlacementJsonLd): SpatialPlacementJsonLd {\n const db = this.snapshot;\n const patchPlacement = db.placementPatches[place?.target];\n if (patchPlacement) {\n const matrix = applySpatialPlacement(new Matrix4(Matrix4.IDENTITY), patchPlacement);\n const position: XYZTriplet = { x: place.x_translation, y: place.y_translation, z: place.z_translation };\n const [x, y, z] = matrix.transformAsPoint([ position.x, position.y, position.z ], []);\n const newPlacement = { ...place, target: patchPlacement.target };\n newPlacement.x_translation = x;\n newPlacement.y_translation = y;\n newPlacement.z_translation = z;\n return newPlacement;\n } else {\n return place;\n }\n }\n\n /**\n * Looks up an IRI for a potential reference organ.\n *\n * @param organ the organ\n * @param sex the sex: male, female, or undefined\n * @param side the side: left, right, or undefined\n * @returns An IRI if there is a reference organ for this state, otherwise undefined\n */\n getReferenceOrganIri(organ: string, sex?: 'Male' | 'Female' | string, side?: 'Left' | 'Right' | string, organInfo?: OrganInfo): string | undefined {\n const db = this.snapshot;\n if (organ.toUpperCase() !== 'KIDNEY') {\n side = '';\n }\n if (organInfo?.sex) {\n sex = organInfo.sex;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const lookup = [organ, sex, side || organInfo?.side].join('|').toUpperCase();\n const key = Object.keys(db.organIRILookup).find((code) => code.toUpperCase().endsWith(lookup));\n return key ? db.organIRILookup[key] : undefined;\n }\n\n /**\n * Looks up organ information from an IRI\n *\n * @param iri The IRI\n * @returns A populated organ data if the IRI is valid, otherwise undefined\n */\n getOrganData(iri: string): OrganData | undefined {\n const state = this.snapshot;\n const entity = state.organSpatialEntities[iri];\n if (!entity) {\n return undefined;\n }\n\n const name = entity.label ?? '';\n const organ = ALL_ORGANS.find(info => name.endsWith(info.organ) && (!entity.side || entity.side.toLowerCase() === info.side));\n if (!organ) {\n return undefined;\n }\n\n return {\n organ,\n sex: entity.sex?.toLowerCase() as 'male' | 'female',\n side: entity.side?.toLowerCase() as 'left' | 'right'\n };\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PageState.html":{"url":"injectables/PageState.html","title":"injectable - PageState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n PageState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n\n\n \n Description\n \n \n General page global state\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n registrationCallbackSet$\n \n \n Readonly\n registrationStarted$\n \n \n Readonly\n useCancelRegistrationCallback$\n \n \n Readonly\n user$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n cancelRegistration\n \n \n clearHasChanges\n \n \n Private\n initSkipConfirmationListeners\n \n \n ngxsOnInit\n \n \n registrationStarted\n \n \n setHasChanges\n \n \n setUseCancelRegistrationCallback\n \n \n setUserName\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n skipConfirmation$\n \n \n globalSkipConfirmation$\n \n \n hasChanges$\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:78\n \n \n\n \n \n Creates an instance of page state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n The global configuration\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n cancelRegistration\n \n \n \n \n \n \ncancelRegistration()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:110\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n clearHasChanges\n \n \n \n \n \n \nclearHasChanges()\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:162\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n initSkipConfirmationListeners\n \n \n \n \n \n \n \n initSkipConfirmationListeners()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:168\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:94\n \n \n\n\n \n \n Initializes this service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n registrationStarted\n \n \n \n \n \n \nregistrationStarted()\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:145\n \n \n\n\n \n \n Sets registrationStarted to true (when initial registration modal is closed)\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setHasChanges\n \n \n \n \n \n \nsetHasChanges()\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:152\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setUseCancelRegistrationCallback\n \n \n \n \n \n \nsetUseCancelRegistrationCallback(use: boolean)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:125\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n use\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setUserName\n \n \n \n \n \n \nsetUserName(name: Pick)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:135\n \n \n\n\n \n \n Sets the name of the active user.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n name\n \n Pick\n \n\n \n No\n \n\n\n \n The first and last name\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n registrationCallbackSet$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('registrationCallbackSet'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n registrationStarted$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluckUnique('registrationStarted'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:58\n \n \n\n \n \n RegistrationStated observable\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n useCancelRegistrationCallback$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('useCancelRegistrationCallback'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n user$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('user'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:56\n \n \n\n \n \n Active user observable\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n skipConfirmation$\n \n \n\n \n \n getskipConfirmation$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:63\n \n \n\n \n \n \n \n \n \n \n globalSkipConfirmation$\n \n \n\n \n \n getglobalSkipConfirmation$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:68\n \n \n\n \n \n \n \n \n \n \n hasChanges$\n \n \n\n \n \n gethasChanges$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:76\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { iif, patch } from '@ngxs/store/operators';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { pluckUnique } from 'ccf-shared/rxjs-ext/operators';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, map, pluck, take, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A record with information about a single person */\nexport interface Person {\n firstName: string;\n lastName: string;\n}\n\n/** Page state model */\nexport interface PageStateModel {\n /** Active user */\n user: Person;\n /** Whether or not the initial registration modal has been closed */\n registrationStarted: boolean;\n useCancelRegistrationCallback: boolean;\n registrationCallbackSet: boolean;\n skipConfirmation: boolean;\n hasChanges: boolean;\n}\n\n\n/**\n * General page global state\n */\n@StateRepository()\n@State({\n name: 'page',\n defaults: {\n user: {\n firstName: '',\n lastName: ''\n },\n registrationStarted: false,\n useCancelRegistrationCallback: false,\n registrationCallbackSet: false,\n skipConfirmation: true,\n hasChanges: false\n }\n})\n@Injectable()\nexport class PageState extends NgxsImmutableDataRepository {\n /** Active user observable */\n readonly user$ = this.state$.pipe(pluck('user'));\n /** RegistrationStated observable */\n readonly registrationStarted$ = this.state$.pipe(pluckUnique('registrationStarted'));\n readonly useCancelRegistrationCallback$ = this.state$.pipe(pluck('useCancelRegistrationCallback'));\n readonly registrationCallbackSet$ = this.state$.pipe(pluck('registrationCallbackSet'));\n\n @Computed()\n get skipConfirmation$(): Observable {\n return this.state$.pipe(pluckUnique('skipConfirmation'));\n }\n\n @Computed()\n get globalSkipConfirmation$(): Observable {\n return this.globalConfig.getOption('skipUnsavedChangesConfirmation').pipe(\n map(value => value ?? environment.skipUnsavedChangesConfirmation),\n distinctUntilChanged()\n );\n }\n\n @Computed()\n get hasChanges$(): Observable {\n return this.state$.pipe(pluckUnique('hasChanges'));\n }\n\n /**\n * Creates an instance of page state.\n *\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(config => this.setState(patch({\n registrationCallbackSet: !!config.register,\n useCancelRegistrationCallback: !!config.cancelRegistration,\n user: iif(!!config.user, config.user!),\n registrationStarted: config.user ? true : undefined\n })))\n ).subscribe();\n\n this.initSkipConfirmationListeners();\n }\n\n cancelRegistration(): void {\n const {\n globalConfig: { snapshot: { cancelRegistration: cancelRegistrationCallback } },\n snapshot: { useCancelRegistrationCallback, skipConfirmation }\n } = this;\n\n if (useCancelRegistrationCallback) {\n // eslint-disable-next-line no-alert\n if (skipConfirmation || confirm('Changes you made may not be saved.')) {\n cancelRegistrationCallback?.();\n }\n }\n }\n\n @DataAction()\n setUseCancelRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useCancelRegistrationCallback: use });\n }\n\n /**\n * Sets the name of the active user.\n *\n * @param name The first and last name\n */\n @DataAction()\n setUserName(name: Pick): void {\n this.ctx.setState(patch({\n user: patch(name)\n }));\n }\n\n /**\n * Sets registrationStarted to true (when initial registration modal is closed)\n */\n @DataAction()\n registrationStarted(): void {\n this.ctx.setState(patch({\n registrationStarted: true\n }));\n }\n\n @DataAction()\n setHasChanges(): void {\n const { snapshot: { registrationStarted, hasChanges } } = this;\n if (registrationStarted && !hasChanges) {\n this.ctx.patchState({\n hasChanges: true\n });\n }\n }\n\n @DataAction()\n clearHasChanges(): void {\n this.ctx.patchState({\n hasChanges: false\n });\n }\n\n private initSkipConfirmationListeners(): void {\n const updateSkipConfirmation = (skipConfirmation: boolean) => this.patchState({ skipConfirmation });\n\n this.globalSkipConfirmation$\n .pipe(filter(s => s))\n .subscribe(updateSkipConfirmation);\n\n this.hasChanges$.pipe(\n withLatestFrom(this.globalSkipConfirmation$),\n map(([hasChanges, skipConfirmation]) => skipConfirmation || !hasChanges),\n distinctUntilChanged()\n ).subscribe(updateSkipConfirmation);\n\n const beforeUnloadListener = (event: BeforeUnloadEvent) => {\n event.preventDefault();\n event.returnValue = 'Changes you made may not be saved.';\n return event.returnValue;\n };\n\n this.skipConfirmation$.subscribe(skipConfirmation => {\n if (skipConfirmation) {\n removeEventListener('beforeunload', beforeUnloadListener);\n } else {\n addEventListener('beforeunload', beforeUnloadListener);\n }\n });\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PageStateModel.html":{"url":"interfaces/PageStateModel.html","title":"interface - PageStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PageStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n\n\n \n Description\n \n \n Page state model\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n hasChanges\n \n \n \n \n registrationCallbackSet\n \n \n \n \n registrationStarted\n \n \n \n \n skipConfirmation\n \n \n \n \n useCancelRegistrationCallback\n \n \n \n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n hasChanges\n \n \n \n \n \n \n \n \n hasChanges: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n registrationCallbackSet\n \n \n \n \n \n \n \n \n registrationCallbackSet: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n registrationStarted\n \n \n \n \n \n \n \n \n registrationStarted: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether or not the initial registration modal has been closed\n\n \n \n \n \n \n \n \n \n \n skipConfirmation\n \n \n \n \n \n \n \n \n skipConfirmation: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n useCancelRegistrationCallback\n \n \n \n \n \n \n \n \n useCancelRegistrationCallback: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: Person\n\n \n \n\n\n \n \n Type : Person\n\n \n \n\n\n\n\n\n \n \n Active user\n\n \n \n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { iif, patch } from '@ngxs/store/operators';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { pluckUnique } from 'ccf-shared/rxjs-ext/operators';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, map, pluck, take, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A record with information about a single person */\nexport interface Person {\n firstName: string;\n lastName: string;\n}\n\n/** Page state model */\nexport interface PageStateModel {\n /** Active user */\n user: Person;\n /** Whether or not the initial registration modal has been closed */\n registrationStarted: boolean;\n useCancelRegistrationCallback: boolean;\n registrationCallbackSet: boolean;\n skipConfirmation: boolean;\n hasChanges: boolean;\n}\n\n\n/**\n * General page global state\n */\n@StateRepository()\n@State({\n name: 'page',\n defaults: {\n user: {\n firstName: '',\n lastName: ''\n },\n registrationStarted: false,\n useCancelRegistrationCallback: false,\n registrationCallbackSet: false,\n skipConfirmation: true,\n hasChanges: false\n }\n})\n@Injectable()\nexport class PageState extends NgxsImmutableDataRepository {\n /** Active user observable */\n readonly user$ = this.state$.pipe(pluck('user'));\n /** RegistrationStated observable */\n readonly registrationStarted$ = this.state$.pipe(pluckUnique('registrationStarted'));\n readonly useCancelRegistrationCallback$ = this.state$.pipe(pluck('useCancelRegistrationCallback'));\n readonly registrationCallbackSet$ = this.state$.pipe(pluck('registrationCallbackSet'));\n\n @Computed()\n get skipConfirmation$(): Observable {\n return this.state$.pipe(pluckUnique('skipConfirmation'));\n }\n\n @Computed()\n get globalSkipConfirmation$(): Observable {\n return this.globalConfig.getOption('skipUnsavedChangesConfirmation').pipe(\n map(value => value ?? environment.skipUnsavedChangesConfirmation),\n distinctUntilChanged()\n );\n }\n\n @Computed()\n get hasChanges$(): Observable {\n return this.state$.pipe(pluckUnique('hasChanges'));\n }\n\n /**\n * Creates an instance of page state.\n *\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(config => this.setState(patch({\n registrationCallbackSet: !!config.register,\n useCancelRegistrationCallback: !!config.cancelRegistration,\n user: iif(!!config.user, config.user!),\n registrationStarted: config.user ? true : undefined\n })))\n ).subscribe();\n\n this.initSkipConfirmationListeners();\n }\n\n cancelRegistration(): void {\n const {\n globalConfig: { snapshot: { cancelRegistration: cancelRegistrationCallback } },\n snapshot: { useCancelRegistrationCallback, skipConfirmation }\n } = this;\n\n if (useCancelRegistrationCallback) {\n // eslint-disable-next-line no-alert\n if (skipConfirmation || confirm('Changes you made may not be saved.')) {\n cancelRegistrationCallback?.();\n }\n }\n }\n\n @DataAction()\n setUseCancelRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useCancelRegistrationCallback: use });\n }\n\n /**\n * Sets the name of the active user.\n *\n * @param name The first and last name\n */\n @DataAction()\n setUserName(name: Pick): void {\n this.ctx.setState(patch({\n user: patch(name)\n }));\n }\n\n /**\n * Sets registrationStarted to true (when initial registration modal is closed)\n */\n @DataAction()\n registrationStarted(): void {\n this.ctx.setState(patch({\n registrationStarted: true\n }));\n }\n\n @DataAction()\n setHasChanges(): void {\n const { snapshot: { registrationStarted, hasChanges } } = this;\n if (registrationStarted && !hasChanges) {\n this.ctx.patchState({\n hasChanges: true\n });\n }\n }\n\n @DataAction()\n clearHasChanges(): void {\n this.ctx.patchState({\n hasChanges: false\n });\n }\n\n private initSkipConfirmationListeners(): void {\n const updateSkipConfirmation = (skipConfirmation: boolean) => this.patchState({ skipConfirmation });\n\n this.globalSkipConfirmation$\n .pipe(filter(s => s))\n .subscribe(updateSkipConfirmation);\n\n this.hasChanges$.pipe(\n withLatestFrom(this.globalSkipConfirmation$),\n map(([hasChanges, skipConfirmation]) => skipConfirmation || !hasChanges),\n distinctUntilChanged()\n ).subscribe(updateSkipConfirmation);\n\n const beforeUnloadListener = (event: BeforeUnloadEvent) => {\n event.preventDefault();\n event.returnValue = 'Changes you made may not be saved.';\n return event.returnValue;\n };\n\n this.skipConfirmation$.subscribe(skipConfirmation => {\n if (skipConfirmation) {\n removeEventListener('beforeunload', beforeUnloadListener);\n } else {\n addEventListener('beforeunload', beforeUnloadListener);\n }\n });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Person.html":{"url":"interfaces/Person.html","title":"interface - Person","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Person\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n\n\n \n Description\n \n \n A record with information about a single person\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { iif, patch } from '@ngxs/store/operators';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { pluckUnique } from 'ccf-shared/rxjs-ext/operators';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, map, pluck, take, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A record with information about a single person */\nexport interface Person {\n firstName: string;\n lastName: string;\n}\n\n/** Page state model */\nexport interface PageStateModel {\n /** Active user */\n user: Person;\n /** Whether or not the initial registration modal has been closed */\n registrationStarted: boolean;\n useCancelRegistrationCallback: boolean;\n registrationCallbackSet: boolean;\n skipConfirmation: boolean;\n hasChanges: boolean;\n}\n\n\n/**\n * General page global state\n */\n@StateRepository()\n@State({\n name: 'page',\n defaults: {\n user: {\n firstName: '',\n lastName: ''\n },\n registrationStarted: false,\n useCancelRegistrationCallback: false,\n registrationCallbackSet: false,\n skipConfirmation: true,\n hasChanges: false\n }\n})\n@Injectable()\nexport class PageState extends NgxsImmutableDataRepository {\n /** Active user observable */\n readonly user$ = this.state$.pipe(pluck('user'));\n /** RegistrationStated observable */\n readonly registrationStarted$ = this.state$.pipe(pluckUnique('registrationStarted'));\n readonly useCancelRegistrationCallback$ = this.state$.pipe(pluck('useCancelRegistrationCallback'));\n readonly registrationCallbackSet$ = this.state$.pipe(pluck('registrationCallbackSet'));\n\n @Computed()\n get skipConfirmation$(): Observable {\n return this.state$.pipe(pluckUnique('skipConfirmation'));\n }\n\n @Computed()\n get globalSkipConfirmation$(): Observable {\n return this.globalConfig.getOption('skipUnsavedChangesConfirmation').pipe(\n map(value => value ?? environment.skipUnsavedChangesConfirmation),\n distinctUntilChanged()\n );\n }\n\n @Computed()\n get hasChanges$(): Observable {\n return this.state$.pipe(pluckUnique('hasChanges'));\n }\n\n /**\n * Creates an instance of page state.\n *\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(config => this.setState(patch({\n registrationCallbackSet: !!config.register,\n useCancelRegistrationCallback: !!config.cancelRegistration,\n user: iif(!!config.user, config.user!),\n registrationStarted: config.user ? true : undefined\n })))\n ).subscribe();\n\n this.initSkipConfirmationListeners();\n }\n\n cancelRegistration(): void {\n const {\n globalConfig: { snapshot: { cancelRegistration: cancelRegistrationCallback } },\n snapshot: { useCancelRegistrationCallback, skipConfirmation }\n } = this;\n\n if (useCancelRegistrationCallback) {\n // eslint-disable-next-line no-alert\n if (skipConfirmation || confirm('Changes you made may not be saved.')) {\n cancelRegistrationCallback?.();\n }\n }\n }\n\n @DataAction()\n setUseCancelRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useCancelRegistrationCallback: use });\n }\n\n /**\n * Sets the name of the active user.\n *\n * @param name The first and last name\n */\n @DataAction()\n setUserName(name: Pick): void {\n this.ctx.setState(patch({\n user: patch(name)\n }));\n }\n\n /**\n * Sets registrationStarted to true (when initial registration modal is closed)\n */\n @DataAction()\n registrationStarted(): void {\n this.ctx.setState(patch({\n registrationStarted: true\n }));\n }\n\n @DataAction()\n setHasChanges(): void {\n const { snapshot: { registrationStarted, hasChanges } } = this;\n if (registrationStarted && !hasChanges) {\n this.ctx.patchState({\n hasChanges: true\n });\n }\n }\n\n @DataAction()\n clearHasChanges(): void {\n this.ctx.patchState({\n hasChanges: false\n });\n }\n\n private initSkipConfirmationListeners(): void {\n const updateSkipConfirmation = (skipConfirmation: boolean) => this.patchState({ skipConfirmation });\n\n this.globalSkipConfirmation$\n .pipe(filter(s => s))\n .subscribe(updateSkipConfirmation);\n\n this.hasChanges$.pipe(\n withLatestFrom(this.globalSkipConfirmation$),\n map(([hasChanges, skipConfirmation]) => skipConfirmation || !hasChanges),\n distinctUntilChanged()\n ).subscribe(updateSkipConfirmation);\n\n const beforeUnloadListener = (event: BeforeUnloadEvent) => {\n event.preventDefault();\n event.returnValue = 'Changes you made may not be saved.';\n return event.returnValue;\n };\n\n this.skipConfirmation$.subscribe(skipConfirmation => {\n if (skipConfirmation) {\n removeEventListener('beforeunload', beforeUnloadListener);\n } else {\n addEventListener('beforeunload', beforeUnloadListener);\n }\n });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ReferenceDataState.html":{"url":"injectables/ReferenceDataState.html","title":"injectable - ReferenceDataState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ReferenceDataState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n\n\n \n Description\n \n \n Data for the main 3d model display\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getOrganData\n \n \n getReferenceOrganIri\n \n \n Private\n getSourceDB\n \n \n ngxsOnInit\n \n \n normalizePlacement\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(globals: GlobalsService, globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:75\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n globals\n \n \n GlobalsService\n \n \n \n No\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getOrganData\n \n \n \n \n \n \ngetOrganData(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:155\n \n \n\n\n \n \n Looks up organ information from an IRI\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n The IRI\n\n \n \n \n \n \n \n \n \n Returns : OrganData | undefined\n\n \n \n A populated organ data if the IRI is valid, otherwise undefined\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganIri\n \n \n \n \n \n \ngetReferenceOrganIri(organ: string, sex?: \"Male\" | \"Female\" | string, side?: \"Left\" | \"Right\" | string, organInfo?: OrganInfo)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:135\n \n \n\n\n \n \n Looks up an IRI for a potential reference organ.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n organ\n \n string\n \n\n \n No\n \n\n\n \n the organ\n\n \n \n \n sex\n \n \"Male\" | \"Female\" | string\n \n\n \n Yes\n \n\n\n \n the sex: male, female, or undefined\n\n \n \n \n side\n \n \"Left\" | \"Right\" | string\n \n\n \n Yes\n \n\n\n \n the side: left, right, or undefined\n\n \n \n \n organInfo\n \n OrganInfo\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n Returns : string | undefined\n\n \n \n An IRI if there is a reference organ for this state, otherwise undefined\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getSourceDB\n \n \n \n \n \n \n \n getSourceDB()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:100\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:87\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n normalizePlacement\n \n \n \n \n \n \nnormalizePlacement(place: SpatialPlacementJsonLd)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:110\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n place\n \n SpatialPlacementJsonLd\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialPlacementJsonLd\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { SpatialPlacementJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { ExtractionSet, SpatialEntity } from 'ccf-database';\nimport { ALL_ORGANS, GlobalConfigState, GlobalsService, OrganInfo } from 'ccf-shared';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\nimport { XYZTriplet } from '../model/model.state';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\nexport function applySpatialPlacement(tx: Matrix4, placement: Immutable): Matrix4 {\n const p = placement;\n let factor: number;\n switch (p.translation_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const T = [p.x_translation, p.y_translation, p.z_translation].map(t => t * factor);\n const R = [p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number];\n const S = [p.x_scaling, p.y_scaling, p.z_scaling];\n\n return tx.translate(T).rotateXYZ(R).scale(S);\n}\n\nexport interface ReferenceDataStateModel {\n organIRILookup: { [lookup: string]: string };\n organSpatialEntities: { [iri: string]: SpatialEntity };\n anatomicalStructures: { [iri: string]: SpatialEntity[] };\n extractionSets: { [iri: string]: ExtractionSet[] };\n sceneNodeLookup: { [iri: string]: SpatialSceneNode };\n simpleSceneNodeLookup: { [iri: string]: SpatialSceneNode };\n placementPatches: { [iri: string]: SpatialPlacementJsonLd };\n}\n\nexport interface OrganData {\n organ: OrganInfo;\n sex?: 'male' | 'female';\n side?: 'left' | 'right';\n}\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'reference',\n defaults: {\n organIRILookup: {},\n organSpatialEntities: {},\n anatomicalStructures: {},\n extractionSets: {},\n sceneNodeLookup: {},\n simpleSceneNodeLookup: {},\n placementPatches: {}\n }\n})\n@Injectable()\nexport class ReferenceDataState extends NgxsImmutableDataRepository {\n\n constructor(\n private readonly globals: GlobalsService,\n private globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.getSourceDB().subscribe(db => {\n this.setState(db);\n\n // In development, make the db globally accessible\n if (!environment.production) {\n this.globals.set('db', db);\n }\n });\n }\n\n private getSourceDB(): Observable {\n return this.globalConfig.getOption('baseHref').pipe(\n map(baseHref => (baseHref ?? '') + 'assets/reference-organ-data.json'),\n switchMap(url => from(fetch(url)).pipe(\n switchMap(data => data.json()),\n catchError(() => EMPTY)\n ))\n );\n }\n\n normalizePlacement(place: SpatialPlacementJsonLd): SpatialPlacementJsonLd {\n const db = this.snapshot;\n const patchPlacement = db.placementPatches[place?.target];\n if (patchPlacement) {\n const matrix = applySpatialPlacement(new Matrix4(Matrix4.IDENTITY), patchPlacement);\n const position: XYZTriplet = { x: place.x_translation, y: place.y_translation, z: place.z_translation };\n const [x, y, z] = matrix.transformAsPoint([ position.x, position.y, position.z ], []);\n const newPlacement = { ...place, target: patchPlacement.target };\n newPlacement.x_translation = x;\n newPlacement.y_translation = y;\n newPlacement.z_translation = z;\n return newPlacement;\n } else {\n return place;\n }\n }\n\n /**\n * Looks up an IRI for a potential reference organ.\n *\n * @param organ the organ\n * @param sex the sex: male, female, or undefined\n * @param side the side: left, right, or undefined\n * @returns An IRI if there is a reference organ for this state, otherwise undefined\n */\n getReferenceOrganIri(organ: string, sex?: 'Male' | 'Female' | string, side?: 'Left' | 'Right' | string, organInfo?: OrganInfo): string | undefined {\n const db = this.snapshot;\n if (organ.toUpperCase() !== 'KIDNEY') {\n side = '';\n }\n if (organInfo?.sex) {\n sex = organInfo.sex;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const lookup = [organ, sex, side || organInfo?.side].join('|').toUpperCase();\n const key = Object.keys(db.organIRILookup).find((code) => code.toUpperCase().endsWith(lookup));\n return key ? db.organIRILookup[key] : undefined;\n }\n\n /**\n * Looks up organ information from an IRI\n *\n * @param iri The IRI\n * @returns A populated organ data if the IRI is valid, otherwise undefined\n */\n getOrganData(iri: string): OrganData | undefined {\n const state = this.snapshot;\n const entity = state.organSpatialEntities[iri];\n if (!entity) {\n return undefined;\n }\n\n const name = entity.label ?? '';\n const organ = ALL_ORGANS.find(info => name.endsWith(info.organ) && (!entity.side || entity.side.toLowerCase() === info.side));\n if (!organ) {\n return undefined;\n }\n\n return {\n organ,\n sex: entity.sex?.toLowerCase() as 'male' | 'female',\n side: entity.side?.toLowerCase() as 'left' | 'right'\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ReferenceDataStateModel.html":{"url":"interfaces/ReferenceDataStateModel.html","title":"interface - ReferenceDataStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ReferenceDataStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n anatomicalStructures\n \n \n \n \n extractionSets\n \n \n \n \n organIRILookup\n \n \n \n \n organSpatialEntities\n \n \n \n \n placementPatches\n \n \n \n \n sceneNodeLookup\n \n \n \n \n simpleSceneNodeLookup\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n anatomicalStructures\n \n \n \n \n \n \n \n \n anatomicalStructures: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n extractionSets\n \n \n \n \n \n \n \n \n extractionSets: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n organIRILookup\n \n \n \n \n \n \n \n \n organIRILookup: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n organSpatialEntities\n \n \n \n \n \n \n \n \n organSpatialEntities: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n placementPatches\n \n \n \n \n \n \n \n \n placementPatches: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sceneNodeLookup\n \n \n \n \n \n \n \n \n sceneNodeLookup: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n simpleSceneNodeLookup\n \n \n \n \n \n \n \n \n simpleSceneNodeLookup: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { SpatialPlacementJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { ExtractionSet, SpatialEntity } from 'ccf-database';\nimport { ALL_ORGANS, GlobalConfigState, GlobalsService, OrganInfo } from 'ccf-shared';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\nimport { XYZTriplet } from '../model/model.state';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\nexport function applySpatialPlacement(tx: Matrix4, placement: Immutable): Matrix4 {\n const p = placement;\n let factor: number;\n switch (p.translation_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const T = [p.x_translation, p.y_translation, p.z_translation].map(t => t * factor);\n const R = [p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number];\n const S = [p.x_scaling, p.y_scaling, p.z_scaling];\n\n return tx.translate(T).rotateXYZ(R).scale(S);\n}\n\nexport interface ReferenceDataStateModel {\n organIRILookup: { [lookup: string]: string };\n organSpatialEntities: { [iri: string]: SpatialEntity };\n anatomicalStructures: { [iri: string]: SpatialEntity[] };\n extractionSets: { [iri: string]: ExtractionSet[] };\n sceneNodeLookup: { [iri: string]: SpatialSceneNode };\n simpleSceneNodeLookup: { [iri: string]: SpatialSceneNode };\n placementPatches: { [iri: string]: SpatialPlacementJsonLd };\n}\n\nexport interface OrganData {\n organ: OrganInfo;\n sex?: 'male' | 'female';\n side?: 'left' | 'right';\n}\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'reference',\n defaults: {\n organIRILookup: {},\n organSpatialEntities: {},\n anatomicalStructures: {},\n extractionSets: {},\n sceneNodeLookup: {},\n simpleSceneNodeLookup: {},\n placementPatches: {}\n }\n})\n@Injectable()\nexport class ReferenceDataState extends NgxsImmutableDataRepository {\n\n constructor(\n private readonly globals: GlobalsService,\n private globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.getSourceDB().subscribe(db => {\n this.setState(db);\n\n // In development, make the db globally accessible\n if (!environment.production) {\n this.globals.set('db', db);\n }\n });\n }\n\n private getSourceDB(): Observable {\n return this.globalConfig.getOption('baseHref').pipe(\n map(baseHref => (baseHref ?? '') + 'assets/reference-organ-data.json'),\n switchMap(url => from(fetch(url)).pipe(\n switchMap(data => data.json()),\n catchError(() => EMPTY)\n ))\n );\n }\n\n normalizePlacement(place: SpatialPlacementJsonLd): SpatialPlacementJsonLd {\n const db = this.snapshot;\n const patchPlacement = db.placementPatches[place?.target];\n if (patchPlacement) {\n const matrix = applySpatialPlacement(new Matrix4(Matrix4.IDENTITY), patchPlacement);\n const position: XYZTriplet = { x: place.x_translation, y: place.y_translation, z: place.z_translation };\n const [x, y, z] = matrix.transformAsPoint([ position.x, position.y, position.z ], []);\n const newPlacement = { ...place, target: patchPlacement.target };\n newPlacement.x_translation = x;\n newPlacement.y_translation = y;\n newPlacement.z_translation = z;\n return newPlacement;\n } else {\n return place;\n }\n }\n\n /**\n * Looks up an IRI for a potential reference organ.\n *\n * @param organ the organ\n * @param sex the sex: male, female, or undefined\n * @param side the side: left, right, or undefined\n * @returns An IRI if there is a reference organ for this state, otherwise undefined\n */\n getReferenceOrganIri(organ: string, sex?: 'Male' | 'Female' | string, side?: 'Left' | 'Right' | string, organInfo?: OrganInfo): string | undefined {\n const db = this.snapshot;\n if (organ.toUpperCase() !== 'KIDNEY') {\n side = '';\n }\n if (organInfo?.sex) {\n sex = organInfo.sex;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const lookup = [organ, sex, side || organInfo?.side].join('|').toUpperCase();\n const key = Object.keys(db.organIRILookup).find((code) => code.toUpperCase().endsWith(lookup));\n return key ? db.organIRILookup[key] : undefined;\n }\n\n /**\n * Looks up organ information from an IRI\n *\n * @param iri The IRI\n * @returns A populated organ data if the IRI is valid, otherwise undefined\n */\n getOrganData(iri: string): OrganData | undefined {\n const state = this.snapshot;\n const entity = state.organSpatialEntities[iri];\n if (!entity) {\n return undefined;\n }\n\n const name = entity.label ?? '';\n const organ = ALL_ORGANS.find(info => name.endsWith(info.organ) && (!entity.side || entity.side.toLowerCase() === info.side));\n if (!organ) {\n return undefined;\n }\n\n return {\n organ,\n sex: entity.sex?.toLowerCase() as 'male' | 'female',\n side: entity.side?.toLowerCase() as 'left' | 'right'\n };\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RegistrationContentComponent.html":{"url":"components/RegistrationContentComponent.html","title":"component - RegistrationContentComponent","body":"\n \n\n\n\n\n\n Components\n \n RegistrationContentComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts\n\n\n\n \n Description\n \n \n Component containing content of the initial registration modal\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-registration-content\n \n\n \n styleUrls\n ./registration-content.component.scss\n \n\n\n\n \n templateUrl\n ./registration-content.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n currentOrgan\n \n \n currentSex\n \n \n Public\n dialogRef\n \n \n nameValid\n \n \n organList\n \n \n organSelected\n \n \n Readonly\n sexByLabel$\n \n \n sexSelected\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n checkNameValid\n \n \n closeDialog\n \n \n organSelect\n \n \n registerButtonClick\n \n \n setSexFromLabel\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(page: PageState, model: ModelState, dialogRef: MatDialogRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:42\n \n \n\n \n \n Creates an instance of the registration dialog\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n Page state\n\n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n Model state\n\n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n Registration dialog\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-registration-content\"\n\n \n \n \n \n Default value : 'ccf-registration-content'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:20\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n checkNameValid\n \n \n \n \n \n \ncheckNameValid(event: Pick)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:75\n \n \n\n\n \n \n Checks to see if a first and last name has been entered\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n Pick\n \n\n \n No\n \n\n\n \n Name input event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n closeDialog\n \n \n \n \n \n \ncloseDialog()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:109\n \n \n\n\n \n \n Closes the dialog and sets the correct sex and organ in the model state\nUpdates page state to signal registration has started\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n organSelect\n \n \n \n \n \n \norganSelect(organ: OrganInfo)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:84\n \n \n\n\n \n \n Updates current organ selected\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n organ\n \n OrganInfo\n \n\n \n No\n \n\n\n \n Organ selected\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n registerButtonClick\n \n \n \n \n \n \nregisterButtonClick(event?: MouseEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:95\n \n \n\n\n \n \n Handles button click\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n MouseEvent\n \n\n \n Yes\n \n\n\n \n The click event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n Returns nothing is no organ is selected\n\n \n \n \n \n \n \n \n \n \n \n \n setSexFromLabel\n \n \n \n \n \n \nsetSexFromLabel(label: \"Female\" | \"Male\")\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:65\n \n \n\n\n \n \n Updates current sex selected\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n label\n \n \"Female\" | \"Male\"\n \n\n \n No\n \n\n\n \n Sex selected\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-registration-content'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:20\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n currentOrgan\n \n \n \n \n \n \n Type : OrganInfo\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:40\n \n \n\n \n \n Current organ selected\n\n \n \n\n \n \n \n \n \n \n \n \n currentSex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:37\n \n \n\n \n \n Current sex selected\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n dialogRef\n \n \n \n \n \n \n Type : MatDialogRef\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:55\n \n \n\n \n \n Registration dialog\n \n \n\n \n \n \n \n \n \n \n \n nameValid\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n organList\n \n \n \n \n \n \n Default value : RUI_ORGANS\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:28\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n organSelected\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:34\n \n \n\n \n \n Whether an organ has been selected\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n sexByLabel$\n \n \n \n \n \n \n Default value : this.model.sex$.pipe(\n map(sex => sex === 'female' ? 'Female' : 'Male')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:23\n \n \n\n \n \n Current sex in the model state\n\n \n \n\n \n \n \n \n \n \n \n \n sexSelected\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:31\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PageState, Person } from '../../../core/store/page/page.state';\nimport { ModelState, RUI_ORGANS } from '../../../core/store/model/model.state';\nimport { map } from 'rxjs/operators';\nimport { OrganInfo } from 'ccf-shared';\n\n\n/**\n * Component containing content of the initial registration modal\n */\n@Component({\n selector: 'ccf-registration-content',\n templateUrl: './registration-content.component.html',\n styleUrls: ['./registration-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RegistrationContentComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-registration-content';\n\n /** Current sex in the model state */\n readonly sexByLabel$ = this.model.sex$.pipe(\n map(sex => sex === 'female' ? 'Female' : 'Male')\n );\n\n /** HTML class name */\n organList = RUI_ORGANS;\n\n /** HTML class name */\n sexSelected: boolean;\n\n /** Whether an organ has been selected */\n organSelected: boolean;\n\n /** Current sex selected */\n currentSex: string;\n\n /** Current organ selected */\n currentOrgan: OrganInfo;\n\n nameValid: boolean;\n\n /**\n * Creates an instance of the registration dialog\n *\n * @param page Page state\n * @param model Model state\n * @param registration Registration state\n * @param dialogRef Registration dialog\n */\n constructor(\n readonly page: PageState,\n readonly model: ModelState,\n public dialogRef: MatDialogRef\n ) {\n dialogRef.disableClose = true;\n }\n\n /**\n * Updates current sex selected\n *\n * @param label Sex selected\n */\n setSexFromLabel(label: 'Female' | 'Male'): void {\n this.currentSex = label;\n this.sexSelected = true;\n }\n\n /**\n * Checks to see if a first and last name has been entered\n *\n * @param event Name input event\n */\n checkNameValid(event: Pick): void {\n this.nameValid = event.firstName.length > 0 && event.lastName.length > 0;\n }\n\n /**\n * Updates current organ selected\n *\n * @param organ Organ selected\n */\n organSelect(organ: OrganInfo): void {\n this.currentOrgan = organ;\n this.organSelected = true;\n }\n\n /**\n * Handles button click\n *\n * @param [event] The click event\n * @returns Returns nothing is no organ is selected\n */\n registerButtonClick(event?: MouseEvent): void {\n if (event) {\n event.preventDefault();\n }\n if (!this.organSelected || !this.nameValid) {\n return;\n }\n this.closeDialog();\n }\n\n /**\n * Closes the dialog and sets the correct sex and organ in the model state\n * Updates page state to signal registration has started\n */\n closeDialog(): void {\n this.model.setSex(this.currentSex === 'Female' ? 'female' : 'male');\n this.model.setOrgan(this.currentOrgan);\n this.dialogRef.close(true);\n this.page.registrationStarted();\n }\n}\n\n \n\n \n \n \n \n \n\n \n Donor Sex:\n \n \n \n\n Select an organ\n\n \n \n \n \n START REGISTRATION\n\n \n\n \n \n ./registration-content.component.scss\n \n .modal {\n padding: 1rem;\n border-radius: 4px;\n max-width: 47rem;\n\n .organ-sliders {\n .slider-label {\n font-weight: 600;\n }\n\n display: flex;\n height: 3rem;\n align-items: center;\n }\n\n .selector-label {\n font-weight: 600;\n height: 3rem;\n line-height: 3rem;\n }\n\n .selector-container {\n margin: 0 auto;\n }\n\n .registration-button {\n display: block;\n margin: 0 auto;\n margin-top: 2rem;\n transition: 0.6s;\n\n &.disabled {\n pointer-events: none;\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Donor Sex: Select an organ START REGISTRATION'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RegistrationContentComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RegistrationContentModule.html":{"url":"modules/RegistrationContentModule.html","title":"module - RegistrationContentModule","body":"\n \n\n\n\n\n Modules\n RegistrationContentModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RegistrationContentModule\n\n\n\ncluster_RegistrationContentModule_declarations\n\n\n\ncluster_RegistrationContentModule_exports\n\n\n\ncluster_RegistrationContentModule_imports\n\n\n\n\nRegistrationContentComponent\n\nRegistrationContentComponent\n\n\n\nRegistrationContentModule\n\nRegistrationContentModule\n\nRegistrationContentModule -->\n\nRegistrationContentComponent->RegistrationContentModule\n\n\n\n\n\nRegistrationContentComponent \n\nRegistrationContentComponent \n\nRegistrationContentComponent -->\n\nRegistrationContentModule->RegistrationContentComponent \n\n\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nRegistrationContentModule -->\n\nLabeledSlideToggleModule->RegistrationContentModule\n\n\n\n\n\nNameInputModule\n\nNameInputModule\n\nRegistrationContentModule -->\n\nNameInputModule->RegistrationContentModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RegistrationContentComponent\n \n \n \n \n Imports\n \n \n LabeledSlideToggleModule\n \n \n NameInputModule\n \n \n \n \n Exports\n \n \n RegistrationContentComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RegistrationContentComponent } from './registration-content.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { NameInputModule } from '../../../shared/components/name-input/name-input.module';\nimport { LabeledSlideToggleModule } from '../../../shared/components/labeled-slide-toggle/labeled-slide-toggle.module';\nimport { OrganSelectorModule } from 'ccf-shared';\n\n\n@NgModule({\n declarations: [RegistrationContentComponent],\n imports: [CommonModule, MatButtonModule, MatTooltipModule, NameInputModule, LabeledSlideToggleModule, OrganSelectorModule],\n exports: [RegistrationContentComponent]\n})\nexport class RegistrationContentModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RegistrationModalComponent.html":{"url":"components/RegistrationModalComponent.html","title":"component - RegistrationModalComponent","body":"\n \n\n\n\n\n\n Components\n \n RegistrationModalComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts\n\n\n\n \n Description\n \n \n Registration modal that appears on startup\n\n \n\n\n \n Implements\n \n \n OnInit\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-registration-modal\n \n\n\n\n\n \n templateUrl\n ./registration-modal.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Public\n dialog\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngOnInit\n \n \n openDialog\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog, page: PageState, model: ModelState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:21\n \n \n\n \n \n Creates an instance of registration modal component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n Dialog for the modal\n\n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-registration-modal\"\n\n \n \n \n \n Default value : 'ccf-registration-modal'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:37\n \n \n\n\n \n \n Opens the dialog on startup (but not if cancel registration callback is set)\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n openDialog\n \n \n \n \n \n \nopenDialog()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:54\n \n \n\n\n \n \n Opens dialog\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-registration-modal'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n dialog\n \n \n \n \n \n \n Type : MatDialog\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:29\n \n \n\n \n \n Dialog for the modal\n \n \n\n \n \n\n\n\n\n\n \n import { Component, HostBinding, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { combineLatest } from 'rxjs';\nimport { debounceTime, take, tap } from 'rxjs/operators';\n\nimport { ModelState } from '../../../core/store/model/model.state';\nimport { PageState } from '../../../core/store/page/page.state';\nimport { RegistrationContentComponent } from '../registration-content/registration-content.component';\n\n\n/**\n * Registration modal that appears on startup\n */\n// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n@Component({\n selector: 'ccf-registration-modal',\n templateUrl: './registration-modal.component.html'\n})\nexport class RegistrationModalComponent implements OnInit {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-registration-modal';\n\n /**\n * Creates an instance of registration modal component.\n *\n * @param dialog Dialog for the modal\n */\n constructor(\n public dialog: MatDialog,\n private readonly page: PageState,\n private readonly model: ModelState\n ) {}\n\n /**\n * Opens the dialog on startup (but not if cancel registration callback is set)\n */\n ngOnInit(): void {\n combineLatest([this.page.user$, this.model.organ$]).pipe(\n debounceTime(500),\n take(1),\n tap(([user, organ]) => {\n if (user.firstName !== '' && user.lastName !== '' && organ.src !== '') {\n return;\n }\n\n this.openDialog();\n })\n ).subscribe();\n }\n\n /**\n * Opens dialog\n */\n openDialog(): void {\n this.dialog.open(RegistrationContentComponent, {\n autoFocus: false\n });\n }\n}\n\n \n\n \n \n \n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RegistrationModalComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RegistrationModalModule.html":{"url":"modules/RegistrationModalModule.html","title":"module - RegistrationModalModule","body":"\n \n\n\n\n\n Modules\n RegistrationModalModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RegistrationModalModule\n\n\n\ncluster_RegistrationModalModule_declarations\n\n\n\ncluster_RegistrationModalModule_exports\n\n\n\ncluster_RegistrationModalModule_imports\n\n\n\n\nRegistrationModalComponent\n\nRegistrationModalComponent\n\n\n\nRegistrationModalModule\n\nRegistrationModalModule\n\nRegistrationModalModule -->\n\nRegistrationModalComponent->RegistrationModalModule\n\n\n\n\n\nRegistrationModalComponent \n\nRegistrationModalComponent \n\nRegistrationModalComponent -->\n\nRegistrationModalModule->RegistrationModalComponent \n\n\n\n\n\nRegistrationContentModule\n\nRegistrationContentModule\n\nRegistrationModalModule -->\n\nRegistrationContentModule->RegistrationModalModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RegistrationModalComponent\n \n \n \n \n Imports\n \n \n RegistrationContentModule\n \n \n \n \n Exports\n \n \n RegistrationModalComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RegistrationModalComponent } from './registration-modal.component';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RegistrationContentModule } from '../registration-content/registration-content.module';\n\n@NgModule({\n declarations: [RegistrationModalComponent],\n imports: [CommonModule, MatDialogModule, MatIconModule, RegistrationContentModule],\n exports: [RegistrationModalComponent]\n})\nexport class RegistrationModalModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RegistrationState.html":{"url":"injectables/RegistrationState.html","title":"injectable - RegistrationState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n RegistrationState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/registration/registration.state.ts\n \n\n\n \n Description\n \n \n Data for model registrations\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n displayErrors$\n \n \n Private\n model\n \n \n Private\n page\n \n \n Private\n refData\n \n \n Private\n tags\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addRegistration\n \n \n Private\n buildJsonLd\n \n \n Private\n buildMetadata\n \n \n Async\n editRegistration\n \n \n isDataValid\n \n \n ngxsOnInit\n \n \n register\n \n \n setDisplayErrors\n \n \n setUseRegistrationCallback\n \n \n Private\n xyzTripletToString\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n metadata$\n \n \n jsonld$\n \n \n valid$\n \n \n previousRegistrations$\n \n \n currentIdentifier\n \n \n currentDate\n \n \n isValid\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(injector: Injector, globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:116\n \n \n\n \n \n Creates an instance of registration state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n Injector service used to lazy load page and model state\n\n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n The global configuration\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addRegistration\n \n \n \n \n \n \naddRegistration(registration: Record)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:220\n \n \n\n\n \n \n Adds an entry to the previous registrations\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n registration\n \n Record\n \n\n \n No\n \n\n\n \n The new entry\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildJsonLd\n \n \n \n \n \n \n \n buildJsonLd(page: Immutable, model: Immutable, tags: Tag[])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:317\n \n \n\n\n \n \n Converts the registration data into jsonld format.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n page\n \n Immutable\n \n\n \n No\n \n\n\n \n The current page state data\n\n \n \n \n model\n \n Immutable\n \n\n \n No\n \n\n\n \n The current model state data\n\n \n \n \n tags\n \n Tag[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n Returns : Record\n\n \n \n A jsonld object\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildMetadata\n \n \n \n \n \n \n \n buildMetadata(page: Immutable, model: Immutable, tags: Tag[])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:283\n \n \n\n\n \n \n Builds a metadata array from the specified data.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n page\n \n Immutable\n \n\n \n No\n \n\n\n \n The current page state data\n\n \n \n \n model\n \n Immutable\n \n\n \n No\n \n\n\n \n The current model state data\n\n \n \n \n tags\n \n Tag[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n Returns : MetaData\n\n \n \n metadata An array of label-value objects\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n editRegistration\n \n \n \n \n \n \n \n editRegistration(reg: SpatialEntityJsonLd)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:157\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n reg\n \n SpatialEntityJsonLd\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isDataValid\n \n \n \n \n \n \nisDataValid(page: Immutable, model: Immutable)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:226\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n page\n \n Immutable\n \n\n \n No\n \n\n\n \n \n model\n \n Immutable\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:134\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n register\n \n \n \n \n \n \nregister(useCallback?: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:248\n \n \n\n\n \n \n Registers or downloads json data.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n useCallback\n \n boolean\n \n\n \n Yes\n \n\n\n \n Explicit override selecting the register/download action\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setDisplayErrors\n \n \n \n \n \n \nsetDisplayErrors(displayErrors: boolean)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:210\n \n \n\n\n \n \n Set's whether or not we should display the user's registration errors\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n displayErrors\n \n boolean\n \n\n \n No\n \n\n\n \n the value to set it to\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setUseRegistrationCallback\n \n \n \n \n \n \nsetUseRegistrationCallback(use: boolean)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:200\n \n \n\n\n \n \n Sets whether to use the registration callback function or download.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n use\n \n boolean\n \n\n \n No\n \n\n\n \n True to use the callback, false to download\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n xyzTripletToString\n \n \n \n \n \n \n \n xyzTripletToString(xyz: XYZTriplet)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:370\n \n \n\n\n \n \n Format a XYZTriplet as a string.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n xyz\n \n XYZTriplet\n \n\n \n No\n \n\n\n \n The triplet values\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n The string representation\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n displayErrors$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('displayErrors'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n model\n \n \n \n \n \n \n Type : ModelState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:110\n \n \n\n \n \n Reference to the model state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n page\n \n \n \n \n \n \n Type : PageState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:107\n \n \n\n \n \n Reference to the page state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n refData\n \n \n \n \n \n \n Type : ReferenceDataState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:116\n \n \n\n \n \n Reference to the reference data state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n tags\n \n \n \n \n \n \n Type : AnatomicalStructureTagState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:113\n \n \n\n \n \n Reference to the AS Tag state\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n metadata$\n \n \n\n \n \n getmetadata$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:56\n \n \n \n \n Observable of registration metadata\n\n\n \n Returns : Observable\n\n \n \n \n\n \n \n \n \n \n \n \n jsonld$\n \n \n\n \n \n getjsonld$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:64\n \n \n \n \n Observable of registration data in jsonld format\n\n\n \n Returns : Observable>\n\n \n \n \n\n \n \n \n \n \n \n \n valid$\n \n \n\n \n \n getvalid$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:71\n \n \n\n \n \n \n \n \n \n \n previousRegistrations$\n \n \n\n \n \n getpreviousRegistrations$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:81\n \n \n \n \n Observable of previous registrations\n\n\n \n Returns : Observable\n\n \n \n \n\n \n \n \n \n \n \n \n currentIdentifier\n \n \n\n \n \n getcurrentIdentifier()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:96\n \n \n \n \n Current uuid identifier used when registering\n\n\n \n Returns : string\n\n \n \n \n\n \n \n \n \n \n \n \n currentDate\n \n \n\n \n \n getcurrentDate()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:102\n \n \n \n \n Time of last modification to registration data\n\n\n \n Returns : string\n\n \n \n \n\n \n \n \n \n \n \n \n isValid\n \n \n\n \n \n getisValid()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:239\n \n \n\n \n \n\n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { insertItem, patch } from '@ngxs/store/operators';\nimport { SpatialEntityJsonLd } from 'ccf-body-ui';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { saveAs } from 'file-saver';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map, pluck, startWith, switchMap, take, tap } from 'rxjs/operators';\nimport { v4 as uuidV4 } from 'uuid';\n\nimport { Tag } from '../../models/anatomical-structure-tag';\nimport { MetaData } from '../../models/meta-data';\nimport { GlobalConfig } from '../../services/config/config';\nimport { AnatomicalStructureTagState } from '../anatomical-structure-tags/anatomical-structure-tags.state';\nimport { ModelState, ModelStateModel, XYZTriplet } from '../model/model.state';\nimport { PageState, PageStateModel } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\n\n\n/**\n * Registration state model\n */\nexport interface RegistrationStateModel {\n /** Whether to use the registration callback function */\n useRegistrationCallback: boolean;\n /** Whether or not to display user registration errors */\n displayErrors: boolean;\n /** Previous registrations */\n registrations: Record[];\n}\n\n\n/**\n * Data for model registrations\n */\n@StateRepository()\n@State({\n name: 'registration',\n defaults: {\n useRegistrationCallback: false,\n displayErrors: false,\n registrations: []\n }\n})\n@Injectable()\nexport class RegistrationState extends NgxsImmutableDataRepository {\n readonly displayErrors$ = this.state$.pipe(pluck('displayErrors'));\n\n /** Observable of registration metadata */\n @Computed()\n get metadata$(): Observable {\n return combineLatest([this.page.state$, this.model.state$, this.tags.tags$]).pipe(\n map(([page, model, tags]) => this.buildMetadata(page, model, tags))\n );\n }\n\n /** Observable of registration data in jsonld format */\n @Computed()\n get jsonld$(): Observable> {\n return combineLatest([this.page.state$, this.model.state$, this.tags.tags$]).pipe(\n map(([page, model, tags]) => this.buildJsonLd(page, model, tags))\n );\n }\n\n @Computed()\n get valid$(): Observable {\n return combineLatest([this.page.state$, this.model.state$]).pipe(\n map(() => this.isValid)\n );\n }\n\n /**\n * Observable of previous registrations\n */\n @Computed()\n get previousRegistrations$(): Observable[]> {\n const { globalConfig, state$ } = this;\n const regs = state$.pipe(pluck('registrations'));\n const fetched = globalConfig.getOption('fetchPreviousRegistrations').pipe(\n switchMap(fetch => fetch?.() ?? [[]]),\n startWith([])\n );\n\n return combineLatest([regs, fetched]).pipe(\n map(([local, external]) => [...local, ...external])\n );\n }\n\n /** Current uuid identifier used when registering */\n @Computed()\n private get currentIdentifier(): string {\n return uuidV4();\n }\n\n /** Time of last modification to registration data */\n @Computed()\n private get currentDate(): string {\n return new Date().toISOString().split('T')[0];\n }\n\n /** Reference to the page state */\n private page: PageState;\n\n /** Reference to the model state */\n private model: ModelState;\n\n /** Reference to the AS Tag state */\n private tags: AnatomicalStructureTagState;\n\n /** Reference to the reference data state */\n private refData: ReferenceDataState;\n\n /**\n * Creates an instance of registration state.\n *\n * @param injector Injector service used to lazy load page and model state\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.page = this.injector.get(PageState);\n this.model = this.injector.get(ModelState);\n this.tags = this.injector.get(AnatomicalStructureTagState);\n this.refData = this.injector.get(ReferenceDataState);\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(({ useDownload, register }) => this.ctx.patchState({\n useRegistrationCallback: !!(!useDownload && register)\n }))\n ).subscribe();\n\n this.globalConfig.getOption('editRegistration').pipe(\n filterNulls(),\n tap(reg => this.editRegistration(reg as SpatialEntityJsonLd))\n ).subscribe();\n }\n\n async editRegistration(reg: SpatialEntityJsonLd): Promise {\n const place = this.refData.normalizePlacement(\n Array.isArray(reg.placement) ? reg.placement[0] : reg.placement\n );\n const data = this.refData.getOrganData(place.target);\n\n this.page.setUserName({ firstName: reg.creator_first_name, lastName: reg.creator_last_name });\n\n if (data) {\n this.model.setOrgan(data.organ);\n if (data.sex) {\n this.model.setSex(data.sex);\n }\n if (data.side) {\n this.model.setSide(data.side);\n }\n }\n\n this.model.setBlockSize({ x: reg.x_dimension, y: reg.y_dimension, z: reg.z_dimension });\n this.model.setRotation({ x: place.x_rotation, y: place.y_rotation, z: place.z_rotation });\n this.model.setSlicesConfig({ thickness: reg.slice_thickness || NaN, numSlices: reg.slice_count || NaN });\n\n await new Promise(r => {\n setTimeout(r, 1000);\n });\n\n this.model.setPosition({ x: place.x_translation, y: place.y_translation, z: place.z_translation });\n const iris = new Set(reg.ccf_annotations);\n this.tags.addTags(\n this.model.snapshot.anatomicalStructures\n .filter(item => iris.has(item.id as string))\n .map((item) => ({ id: item.id, label: item.name, type: 'added' }))\n );\n\n this.page.registrationStarted();\n }\n\n /**\n * Sets whether to use the registration callback function or download.\n *\n * @param use True to use the callback, false to download\n */\n @DataAction()\n setUseRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useRegistrationCallback: use });\n }\n\n /**\n * Set's whether or not we should display the user's registration errors\n *\n * @param displayErrors the value to set it to\n */\n @DataAction()\n setDisplayErrors(displayErrors: boolean): void {\n this.ctx.patchState({ displayErrors });\n }\n\n /**\n * Adds an entry to the previous registrations\n *\n * @param registration The new entry\n */\n @DataAction()\n addRegistration(registration: Record): void {\n this.ctx.setState(patch>({\n registrations: insertItem(registration as Immutable>)\n }));\n }\n\n isDataValid(page: Immutable, model: Immutable): boolean {\n const requiredValues = [\n page.user.firstName,\n page.user.lastName,\n model.organ.src,\n model.organ.name,\n model.organ.organ\n ];\n\n return requiredValues.every(value => !!value);\n }\n\n @Computed()\n get isValid(): boolean {\n return this.isDataValid(this.page.snapshot, this.model.snapshot);\n }\n\n /**\n * Registers or downloads json data.\n *\n * @param [useCallback] Explicit override selecting the register/download action\n */\n register(useCallback?: boolean): void {\n if (!this.isValid) {\n return;\n }\n\n const {\n globalConfig: { snapshot: { register: registrationCallback } },\n page, model, snapshot\n } = this;\n const jsonObj = this.buildJsonLd(page.snapshot, model.snapshot, this.tags.latestTags);\n const json = JSON.stringify(jsonObj, undefined, 2);\n\n if (useCallback || (useCallback === undefined && snapshot.useRegistrationCallback)) {\n registrationCallback?.(json);\n } else {\n const data = new Blob([json], {\n type: 'application/json',\n endings: 'native'\n });\n\n saveAs(data, 'registration-data.json');\n }\n\n this.addRegistration(jsonObj);\n this.setDisplayErrors(false);\n this.page.clearHasChanges();\n }\n\n /**\n * Builds a metadata array from the specified data.\n *\n * @param page The current page state data\n * @param model The current model state data\n * @returns metadata An array of label-value objects\n */\n private buildMetadata(\n page: Immutable,\n model: Immutable,\n tags: Tag[]\n ): MetaData {\n const data: MetaData = [];\n\n if (!page.registrationCallbackSet) {\n data.push(\n { label: 'First Name', value: page.user.firstName },\n { label: 'Last Name', value: page.user.lastName }\n );\n }\n\n data.push(\n { label: 'Reference Organ Name', value: model.organ.name },\n { label: 'Tissue Block Dimensions (mm)', value: this.xyzTripletToString(model.blockSize) },\n { label: 'Tissue Block Position (mm)', value: this.xyzTripletToString(model.position) },\n { label: 'Tissue Block Rotation', value: this.xyzTripletToString(model.rotation) },\n { label: 'Anatomical Structure Tags', value: tags.map(t => t.label).join(', ') },\n { label: 'Time Stamp', value: this.currentDate },\n { label: 'Alignment ID', value: this.currentIdentifier }\n );\n\n return data;\n }\n\n /**\n * Converts the registration data into jsonld format.\n *\n * @param page The current page state data\n * @param model The current model state data\n * @returns A jsonld object\n */\n private buildJsonLd(\n page: Immutable,\n model: Immutable,\n tags: Tag[]\n ): Record {\n return {\n '@context': 'https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${this.currentIdentifier}`,\n '@type': 'SpatialEntity',\n label: model.label || undefined,\n creator: `${page.user.firstName} ${page.user.lastName}`,\n creator_first_name: page.user.firstName,\n creator_last_name: page.user.lastName,\n // creator_orcid: data.alignment_operator_orcid,\n creation_date: this.currentDate,\n ccf_annotations: tags.map(tag => tag.id),\n slice_thickness: model.slicesConfig?.thickness || undefined,\n slice_count: model.slicesConfig?.numSlices || undefined,\n\n x_dimension: +model.blockSize.x.toFixed(3),\n y_dimension: +model.blockSize.y.toFixed(3),\n z_dimension: +model.blockSize.z.toFixed(3),\n dimension_units: 'millimeter',\n\n placement: {\n '@context': 'https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${this.currentIdentifier}_placement`,\n '@type': 'SpatialPlacement',\n target: model.organIri as string,\n placement_date: this.currentDate,\n\n x_scaling: 1, y_scaling: 1, z_scaling: 1, scaling_units: 'ratio',\n\n x_rotation: +model.rotation.x.toFixed(3),\n y_rotation: +model.rotation.y.toFixed(3),\n z_rotation: +model.rotation.z.toFixed(3),\n rotation_order: 'XYZ',\n rotation_units: 'degree',\n\n x_translation: +model.position.x.toFixed(3),\n y_translation: +model.position.y.toFixed(3),\n z_translation: +model.position.z.toFixed(3),\n translation_units: 'millimeter'\n }\n };\n }\n\n /**\n * Format a XYZTriplet as a string.\n *\n * @param xyz The triplet values\n * @returns The string representation\n */\n private xyzTripletToString(xyz: XYZTriplet): string {\n return `${Math.round(xyz.x)}, ${Math.round(xyz.y)}, ${Math.round(xyz.z)}`;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RegistrationStateModel.html":{"url":"interfaces/RegistrationStateModel.html","title":"interface - RegistrationStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RegistrationStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/registration/registration.state.ts\n \n\n\n \n Description\n \n \n Registration state model\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n displayErrors\n \n \n \n \n registrations\n \n \n \n \n useRegistrationCallback\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n displayErrors\n \n \n \n \n \n \n \n \n displayErrors: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether or not to display user registration errors\n\n \n \n \n \n \n \n \n \n \n registrations\n \n \n \n \n \n \n \n \n registrations: Record[]\n\n \n \n\n\n \n \n Type : Record[]\n\n \n \n\n\n\n\n\n \n \n Previous registrations\n\n \n \n \n \n \n \n \n \n \n useRegistrationCallback\n \n \n \n \n \n \n \n \n useRegistrationCallback: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether to use the registration callback function\n\n \n \n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { insertItem, patch } from '@ngxs/store/operators';\nimport { SpatialEntityJsonLd } from 'ccf-body-ui';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { saveAs } from 'file-saver';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map, pluck, startWith, switchMap, take, tap } from 'rxjs/operators';\nimport { v4 as uuidV4 } from 'uuid';\n\nimport { Tag } from '../../models/anatomical-structure-tag';\nimport { MetaData } from '../../models/meta-data';\nimport { GlobalConfig } from '../../services/config/config';\nimport { AnatomicalStructureTagState } from '../anatomical-structure-tags/anatomical-structure-tags.state';\nimport { ModelState, ModelStateModel, XYZTriplet } from '../model/model.state';\nimport { PageState, PageStateModel } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\n\n\n/**\n * Registration state model\n */\nexport interface RegistrationStateModel {\n /** Whether to use the registration callback function */\n useRegistrationCallback: boolean;\n /** Whether or not to display user registration errors */\n displayErrors: boolean;\n /** Previous registrations */\n registrations: Record[];\n}\n\n\n/**\n * Data for model registrations\n */\n@StateRepository()\n@State({\n name: 'registration',\n defaults: {\n useRegistrationCallback: false,\n displayErrors: false,\n registrations: []\n }\n})\n@Injectable()\nexport class RegistrationState extends NgxsImmutableDataRepository {\n readonly displayErrors$ = this.state$.pipe(pluck('displayErrors'));\n\n /** Observable of registration metadata */\n @Computed()\n get metadata$(): Observable {\n return combineLatest([this.page.state$, this.model.state$, this.tags.tags$]).pipe(\n map(([page, model, tags]) => this.buildMetadata(page, model, tags))\n );\n }\n\n /** Observable of registration data in jsonld format */\n @Computed()\n get jsonld$(): Observable> {\n return combineLatest([this.page.state$, this.model.state$, this.tags.tags$]).pipe(\n map(([page, model, tags]) => this.buildJsonLd(page, model, tags))\n );\n }\n\n @Computed()\n get valid$(): Observable {\n return combineLatest([this.page.state$, this.model.state$]).pipe(\n map(() => this.isValid)\n );\n }\n\n /**\n * Observable of previous registrations\n */\n @Computed()\n get previousRegistrations$(): Observable[]> {\n const { globalConfig, state$ } = this;\n const regs = state$.pipe(pluck('registrations'));\n const fetched = globalConfig.getOption('fetchPreviousRegistrations').pipe(\n switchMap(fetch => fetch?.() ?? [[]]),\n startWith([])\n );\n\n return combineLatest([regs, fetched]).pipe(\n map(([local, external]) => [...local, ...external])\n );\n }\n\n /** Current uuid identifier used when registering */\n @Computed()\n private get currentIdentifier(): string {\n return uuidV4();\n }\n\n /** Time of last modification to registration data */\n @Computed()\n private get currentDate(): string {\n return new Date().toISOString().split('T')[0];\n }\n\n /** Reference to the page state */\n private page: PageState;\n\n /** Reference to the model state */\n private model: ModelState;\n\n /** Reference to the AS Tag state */\n private tags: AnatomicalStructureTagState;\n\n /** Reference to the reference data state */\n private refData: ReferenceDataState;\n\n /**\n * Creates an instance of registration state.\n *\n * @param injector Injector service used to lazy load page and model state\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.page = this.injector.get(PageState);\n this.model = this.injector.get(ModelState);\n this.tags = this.injector.get(AnatomicalStructureTagState);\n this.refData = this.injector.get(ReferenceDataState);\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(({ useDownload, register }) => this.ctx.patchState({\n useRegistrationCallback: !!(!useDownload && register)\n }))\n ).subscribe();\n\n this.globalConfig.getOption('editRegistration').pipe(\n filterNulls(),\n tap(reg => this.editRegistration(reg as SpatialEntityJsonLd))\n ).subscribe();\n }\n\n async editRegistration(reg: SpatialEntityJsonLd): Promise {\n const place = this.refData.normalizePlacement(\n Array.isArray(reg.placement) ? reg.placement[0] : reg.placement\n );\n const data = this.refData.getOrganData(place.target);\n\n this.page.setUserName({ firstName: reg.creator_first_name, lastName: reg.creator_last_name });\n\n if (data) {\n this.model.setOrgan(data.organ);\n if (data.sex) {\n this.model.setSex(data.sex);\n }\n if (data.side) {\n this.model.setSide(data.side);\n }\n }\n\n this.model.setBlockSize({ x: reg.x_dimension, y: reg.y_dimension, z: reg.z_dimension });\n this.model.setRotation({ x: place.x_rotation, y: place.y_rotation, z: place.z_rotation });\n this.model.setSlicesConfig({ thickness: reg.slice_thickness || NaN, numSlices: reg.slice_count || NaN });\n\n await new Promise(r => {\n setTimeout(r, 1000);\n });\n\n this.model.setPosition({ x: place.x_translation, y: place.y_translation, z: place.z_translation });\n const iris = new Set(reg.ccf_annotations);\n this.tags.addTags(\n this.model.snapshot.anatomicalStructures\n .filter(item => iris.has(item.id as string))\n .map((item) => ({ id: item.id, label: item.name, type: 'added' }))\n );\n\n this.page.registrationStarted();\n }\n\n /**\n * Sets whether to use the registration callback function or download.\n *\n * @param use True to use the callback, false to download\n */\n @DataAction()\n setUseRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useRegistrationCallback: use });\n }\n\n /**\n * Set's whether or not we should display the user's registration errors\n *\n * @param displayErrors the value to set it to\n */\n @DataAction()\n setDisplayErrors(displayErrors: boolean): void {\n this.ctx.patchState({ displayErrors });\n }\n\n /**\n * Adds an entry to the previous registrations\n *\n * @param registration The new entry\n */\n @DataAction()\n addRegistration(registration: Record): void {\n this.ctx.setState(patch>({\n registrations: insertItem(registration as Immutable>)\n }));\n }\n\n isDataValid(page: Immutable, model: Immutable): boolean {\n const requiredValues = [\n page.user.firstName,\n page.user.lastName,\n model.organ.src,\n model.organ.name,\n model.organ.organ\n ];\n\n return requiredValues.every(value => !!value);\n }\n\n @Computed()\n get isValid(): boolean {\n return this.isDataValid(this.page.snapshot, this.model.snapshot);\n }\n\n /**\n * Registers or downloads json data.\n *\n * @param [useCallback] Explicit override selecting the register/download action\n */\n register(useCallback?: boolean): void {\n if (!this.isValid) {\n return;\n }\n\n const {\n globalConfig: { snapshot: { register: registrationCallback } },\n page, model, snapshot\n } = this;\n const jsonObj = this.buildJsonLd(page.snapshot, model.snapshot, this.tags.latestTags);\n const json = JSON.stringify(jsonObj, undefined, 2);\n\n if (useCallback || (useCallback === undefined && snapshot.useRegistrationCallback)) {\n registrationCallback?.(json);\n } else {\n const data = new Blob([json], {\n type: 'application/json',\n endings: 'native'\n });\n\n saveAs(data, 'registration-data.json');\n }\n\n this.addRegistration(jsonObj);\n this.setDisplayErrors(false);\n this.page.clearHasChanges();\n }\n\n /**\n * Builds a metadata array from the specified data.\n *\n * @param page The current page state data\n * @param model The current model state data\n * @returns metadata An array of label-value objects\n */\n private buildMetadata(\n page: Immutable,\n model: Immutable,\n tags: Tag[]\n ): MetaData {\n const data: MetaData = [];\n\n if (!page.registrationCallbackSet) {\n data.push(\n { label: 'First Name', value: page.user.firstName },\n { label: 'Last Name', value: page.user.lastName }\n );\n }\n\n data.push(\n { label: 'Reference Organ Name', value: model.organ.name },\n { label: 'Tissue Block Dimensions (mm)', value: this.xyzTripletToString(model.blockSize) },\n { label: 'Tissue Block Position (mm)', value: this.xyzTripletToString(model.position) },\n { label: 'Tissue Block Rotation', value: this.xyzTripletToString(model.rotation) },\n { label: 'Anatomical Structure Tags', value: tags.map(t => t.label).join(', ') },\n { label: 'Time Stamp', value: this.currentDate },\n { label: 'Alignment ID', value: this.currentIdentifier }\n );\n\n return data;\n }\n\n /**\n * Converts the registration data into jsonld format.\n *\n * @param page The current page state data\n * @param model The current model state data\n * @returns A jsonld object\n */\n private buildJsonLd(\n page: Immutable,\n model: Immutable,\n tags: Tag[]\n ): Record {\n return {\n '@context': 'https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${this.currentIdentifier}`,\n '@type': 'SpatialEntity',\n label: model.label || undefined,\n creator: `${page.user.firstName} ${page.user.lastName}`,\n creator_first_name: page.user.firstName,\n creator_last_name: page.user.lastName,\n // creator_orcid: data.alignment_operator_orcid,\n creation_date: this.currentDate,\n ccf_annotations: tags.map(tag => tag.id),\n slice_thickness: model.slicesConfig?.thickness || undefined,\n slice_count: model.slicesConfig?.numSlices || undefined,\n\n x_dimension: +model.blockSize.x.toFixed(3),\n y_dimension: +model.blockSize.y.toFixed(3),\n z_dimension: +model.blockSize.z.toFixed(3),\n dimension_units: 'millimeter',\n\n placement: {\n '@context': 'https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${this.currentIdentifier}_placement`,\n '@type': 'SpatialPlacement',\n target: model.organIri as string,\n placement_date: this.currentDate,\n\n x_scaling: 1, y_scaling: 1, z_scaling: 1, scaling_units: 'ratio',\n\n x_rotation: +model.rotation.x.toFixed(3),\n y_rotation: +model.rotation.y.toFixed(3),\n z_rotation: +model.rotation.z.toFixed(3),\n rotation_order: 'XYZ',\n rotation_units: 'degree',\n\n x_translation: +model.position.x.toFixed(3),\n y_translation: +model.position.y.toFixed(3),\n z_translation: +model.position.z.toFixed(3),\n translation_units: 'millimeter'\n }\n };\n }\n\n /**\n * Format a XYZTriplet as a string.\n *\n * @param xyz The triplet values\n * @returns The string representation\n */\n private xyzTripletToString(xyz: XYZTriplet): string {\n return `${Math.round(xyz.x)}, ${Math.round(xyz.y)}, ${Math.round(xyz.z)}`;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ReviewButtonComponent.html":{"url":"components/ReviewButtonComponent.html","title":"component - ReviewButtonComponent","body":"\n \n\n\n\n\n\n Components\n \n ReviewButtonComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts\n\n\n\n \n Description\n \n \n Component to launch the ReviewModal component.\n\n \n\n\n \n Implements\n \n \n OnChanges\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-review-button\n \n\n \n styleUrls\n ./review-button.component.scss\n \n\n\n\n \n templateUrl\n ./review-button.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n launchReviewModal\n \n \n ngOnChanges\n \n \n registerButtonClick\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n displayErrors\n \n \n metaData\n \n \n registrationCallbackSet\n \n \n registrationIsValid\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n enterErrorMode\n \n \n registerData\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n disabled\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog, ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:54\n \n \n\n \n \n Creates an instance of review button component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n Reference to the dialog creation service.\n\n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n displayErrors\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:35\n \n \n \n \n Whether or not the app is currently displaying errors\nDecides how the button should be styled\n\n \n \n \n \n \n \n \n \n \n metaData\n \n \n \n \n Type : MetaData\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:29\n \n \n \n \n Input object of information to display in the modal\n\n \n \n \n \n \n \n \n \n \n registrationCallbackSet\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:24\n \n \n \n \n Input to set whether the component should be in register (true) or download (false) mode\n\n \n \n \n \n \n \n \n \n \n registrationIsValid\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:42\n \n \n \n \n Whether or not all the necessary data has been inputted from\nthe user. Decides whether or not to let the user open the\nregistration / download modal\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n enterErrorMode\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:54\n \n \n \n \n Turns on the 'error mode' for the application.\nUsed to begin showing the user what they need to\ndo to be able to register / download.\n\n \n \n \n \n \n \n \n \n \n registerData\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:47\n \n \n \n \n Output that emits when the modal's register button was clicked\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-review-button\"\n\n \n \n \n \n Default value : 'ccf-review-button'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n launchReviewModal\n \n \n \n \n \n \nlaunchReviewModal()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:100\n \n \n\n\n \n \n Opens the info dialogue with the project details\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnChanges\n \n \n \n \n \n \nngOnChanges()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:68\n \n \n\n\n \n \n Updates the value of registrationIsValid based on the\nmeta data.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n registerButtonClick\n \n \n \n \n \n \nregisterButtonClick(event?: MouseEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:85\n \n \n\n\n \n \n Handles the click action for the register button.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n MouseEvent\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-review-button'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n disabled\n \n \n\n \n \n getdisabled()\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:78\n \n \n \n \n Decides whether or not the download / register button should\nbe disabled.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import { Component, EventEmitter, HostBinding, Input, OnChanges, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { MetaData } from '../../../core/models/meta-data';\nimport { ReviewModalComponent } from '../review-modal/review-modal.component';\n\n\n/**\n * Component to launch the ReviewModal component.\n */\n@Component({\n selector: 'ccf-review-button',\n templateUrl: './review-button.component.html',\n styleUrls: ['./review-button.component.scss']\n})\nexport class ReviewButtonComponent implements OnChanges {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-review-button';\n\n /**\n * Input to set whether the component should be in register (true) or download (false) mode\n */\n @Input() registrationCallbackSet = true;\n\n /**\n * Input object of information to display in the modal\n */\n @Input() metaData: MetaData = [];\n\n /**\n * Whether or not the app is currently displaying errors\n * Decides how the button should be styled\n */\n @Input() displayErrors = true;\n\n /**\n * Whether or not all the necessary data has been inputted from\n * the user. Decides whether or not to let the user open the\n * registration / download modal\n */\n @Input() registrationIsValid = false;\n\n /**\n * Output that emits when the modal's register button was clicked\n */\n @Output() readonly registerData = new EventEmitter();\n\n /**\n * Turns on the 'error mode' for the application.\n * Used to begin showing the user what they need to\n * do to be able to register / download.\n */\n @Output() readonly enterErrorMode = new EventEmitter();\n\n /**\n * Creates an instance of review button component.\n *\n * @param dialog Reference to the dialog creation service.\n * @param ga Analytics service\n */\n constructor(private readonly dialog: MatDialog, private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates the value of registrationIsValid based on the\n * meta data.\n */\n ngOnChanges(): void {\n this.registrationIsValid =\n this.metaData.length >= 3 &&\n this.metaData.slice(0, 3).every(entry => entry.value);\n }\n\n /**\n * Decides whether or not the download / register button should\n * be disabled.\n */\n get disabled(): boolean {\n return !this.registrationIsValid;\n }\n\n /**\n * Handles the click action for the register button.\n */\n registerButtonClick(event?: MouseEvent): false {\n if (event) {\n event.preventDefault();\n }\n this.enterErrorMode.emit();\n if (this.registrationIsValid) {\n this.ga.event('review_start', 'review_button');\n this.launchReviewModal();\n }\n return false;\n }\n\n /**\n * Opens the info dialogue with the project details\n */\n launchReviewModal(): void {\n const dialogRef = this.dialog.open(ReviewModalComponent, {\n panelClass: 'modal-animated',\n width: '60rem',\n data: {\n registrationCallbackSet: this.registrationCallbackSet,\n metaData: this.metaData\n }\n });\n\n dialogRef.afterClosed().subscribe(\n data => {\n if (data) {\n this.ga.event('register', 'review_button');\n this.registerData.emit();\n }\n }\n );\n }\n}\n\n \n\n \n \n {{ registrationCallbackSet ? 'REVIEW AND REGISTER' : 'REVIEW AND DOWNLOAD' }}\n\n\n \n\n \n \n ./review-button.component.scss\n \n .review-button {\n width: 100%;\n height: 2.25rem;\n transition: .6s;\n font-weight: 500;\n\n &.disabled {\n cursor: not-allowed;\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ registrationCallbackSet ? \\'REVIEW AND REGISTER\\' : \\'REVIEW AND DOWNLOAD\\' }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ReviewButtonComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ReviewButtonModule.html":{"url":"modules/ReviewButtonModule.html","title":"module - ReviewButtonModule","body":"\n \n\n\n\n\n Modules\n ReviewButtonModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ReviewButtonModule\n\n\n\ncluster_ReviewButtonModule_declarations\n\n\n\ncluster_ReviewButtonModule_exports\n\n\n\ncluster_ReviewButtonModule_imports\n\n\n\n\nReviewButtonComponent\n\nReviewButtonComponent\n\n\n\nReviewButtonModule\n\nReviewButtonModule\n\nReviewButtonModule -->\n\nReviewButtonComponent->ReviewButtonModule\n\n\n\n\n\nReviewButtonComponent \n\nReviewButtonComponent \n\nReviewButtonComponent -->\n\nReviewButtonModule->ReviewButtonComponent \n\n\n\n\n\nReviewModalModule\n\nReviewModalModule\n\nReviewButtonModule -->\n\nReviewModalModule->ReviewButtonModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/review/review-button/review-button.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ReviewButtonComponent\n \n \n \n \n Imports\n \n \n ReviewModalModule\n \n \n \n \n Exports\n \n \n ReviewButtonComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReviewButtonComponent } from './review-button.component';\nimport { ReviewModalModule } from '../review-modal/review-modal.module';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [ReviewButtonComponent],\n imports: [\n CommonModule,\n ReviewModalModule,\n MatButtonModule,\n MatTooltipModule\n ],\n exports: [ReviewButtonComponent]\n})\nexport class ReviewButtonModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ReviewModalComponent.html":{"url":"components/ReviewModalComponent.html","title":"component - ReviewModalComponent","body":"\n \n\n\n\n\n\n Components\n \n ReviewModalComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts\n\n\n\n \n Description\n \n \n Modal for reviewing the registration\n\n \n\n\n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-review-modal\n \n\n \n styleUrls\n ./review-modal.component.scss\n \n\n\n\n \n templateUrl\n ./review-modal.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Public\n data\n \n \n Public\n dialogRef\n \n \n metaData\n \n \n registrationCallbackSet\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n close\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialogRef: MatDialogRef, data: ReviewModalData)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:35\n \n \n\n \n \n Creates an instance of the review modal component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n A reference to the dialog that this component creates, used to call the dialog's methods\n\n \n \n \n data\n \n \n ReviewModalData\n \n \n \n No\n \n \n \n Data being injected into the dialog\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-review-modal\"\n\n \n \n \n \n Default value : 'ccf-review-modal'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:26\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:54\n \n \n\n\n \n \n Closes info dialog component\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-review-modal'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:26\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n data\n \n \n \n \n \n \n Type : ReviewModalData\n\n \n \n \n \n Decorators : \n \n \n @Inject(MAT_DIALOG_DATA)\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:45\n \n \n\n \n \n Data being injected into the dialog\n \n \n\n \n \n \n \n \n \n \n \n Public\n dialogRef\n \n \n \n \n \n \n Type : MatDialogRef\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:44\n \n \n\n \n \n A reference to the dialog that this component creates, used to call the dialog's methods\n \n \n\n \n \n \n \n \n \n \n \n metaData\n \n \n \n \n \n \n Type : MetaData\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:35\n \n \n\n \n \n The object containing all of the review information for displaying inside the modal\n\n \n \n\n \n \n \n \n \n \n \n \n registrationCallbackSet\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:30\n \n \n\n \n \n Whether or not the cancel registration callback is set\n\n \n \n\n \n \n\n\n\n\n\n \n import { Component, Inject, HostBinding, Input } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MetaData } from '../../../core/models/meta-data';\n\n/**\n * The expected format of the review modal's data input.\n */\ninterface ReviewModalData {\n /** The object containing all of the review information for displaying inside the modal */\n metaData: MetaData;\n\n /** Whether or not the cancel registration callback is set */\n registrationCallbackSet: boolean;\n}\n\n/**\n * Modal for reviewing the registration\n */\n@Component({\n selector: 'ccf-review-modal',\n templateUrl: './review-modal.component.html',\n styleUrls: ['./review-modal.component.scss']\n})\nexport class ReviewModalComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-review-modal';\n /**\n * Whether or not the cancel registration callback is set\n */\n registrationCallbackSet: boolean;\n\n /**\n * The object containing all of the review information for displaying inside the modal\n */\n metaData: MetaData;\n\n /**\n * Creates an instance of the review modal component.\n *\n * @param dialogRef A reference to the dialog that this component creates, used to call the dialog's methods\n * @param data Data being injected into the dialog\n */\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: ReviewModalData\n ) {\n this.metaData = data.metaData;\n this.registrationCallbackSet = data.registrationCallbackSet;\n }\n\n /**\n * Closes info dialog component\n */\n close(): void {\n document.getElementsByClassName('modal-animated')[0]?.classList.add('modal-animate-fade-out');\n\n setTimeout(()=>{\n this.dialogRef.close();\n }, 250);\n }\n}\n\n \n\n \n \n \n \n clear\n \n \n Registration Review\n\n \n \n \n {{ data.label }}\n {{ data.value }}\n \n \n \n\n \n {{ registrationCallbackSet ? 'REGISTER' : 'DOWNLOAD REGISTRATION DATA' }}\n \n \n \n\n \n\n \n \n ./review-modal.component.scss\n \n ::ng-deep .mat-dialog-container {\n padding: 0;\n}\n\n:host {\n .ccf-about.wrapper {\n .container {\n .content {\n padding: 3rem;\n background-color: white;\n\n .title {\n text-align: center;\n font-size: 1.5rem;\n margin-bottom: 0;\n }\n\n .mat-typography {\n justify-content: space-around;\n display: flex;\n\n .display-fields {\n margin-top: 2rem;\n margin-bottom: 2rem;\n width: 100%;\n\n .field {\n display: flex;\n\n .label {\n width: 50%;\n text-align: right;\n padding-right: 1rem;\n }\n\n .data {\n width: 50%;\n text-align: left;\n padding-left: 1rem;\n }\n }\n }\n }\n }\n\n .close {\n .close-icon {\n float: right;\n margin-top: 1rem;\n margin-right: 1rem;\n cursor: pointer;\n }\n }\n\n .footer {\n padding-top: 1.5rem;\n display: flex;\n justify-content: space-around;\n\n .review-button {\n height: 3rem;\n transition: 0.6s;\n }\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' clear Registration Review {{ data.label }} {{ data.value }} {{ registrationCallbackSet ? \\'REGISTER\\' : \\'DOWNLOAD REGISTRATION DATA\\' }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ReviewModalComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ReviewModalData.html":{"url":"interfaces/ReviewModalData.html","title":"interface - ReviewModalData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ReviewModalData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts\n \n\n\n \n Description\n \n \n The expected format of the review modal's data input.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n metaData\n \n \n \n \n registrationCallbackSet\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n metaData\n \n \n \n \n \n \n \n \n metaData: MetaData\n\n \n \n\n\n \n \n Type : MetaData\n\n \n \n\n\n\n\n\n \n \n The object containing all of the review information for displaying inside the modal\n\n \n \n \n \n \n \n \n \n \n registrationCallbackSet\n \n \n \n \n \n \n \n \n registrationCallbackSet: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether or not the cancel registration callback is set\n\n \n \n \n \n \n \n\n\n \n import { Component, Inject, HostBinding, Input } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MetaData } from '../../../core/models/meta-data';\n\n/**\n * The expected format of the review modal's data input.\n */\ninterface ReviewModalData {\n /** The object containing all of the review information for displaying inside the modal */\n metaData: MetaData;\n\n /** Whether or not the cancel registration callback is set */\n registrationCallbackSet: boolean;\n}\n\n/**\n * Modal for reviewing the registration\n */\n@Component({\n selector: 'ccf-review-modal',\n templateUrl: './review-modal.component.html',\n styleUrls: ['./review-modal.component.scss']\n})\nexport class ReviewModalComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-review-modal';\n /**\n * Whether or not the cancel registration callback is set\n */\n registrationCallbackSet: boolean;\n\n /**\n * The object containing all of the review information for displaying inside the modal\n */\n metaData: MetaData;\n\n /**\n * Creates an instance of the review modal component.\n *\n * @param dialogRef A reference to the dialog that this component creates, used to call the dialog's methods\n * @param data Data being injected into the dialog\n */\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: ReviewModalData\n ) {\n this.metaData = data.metaData;\n this.registrationCallbackSet = data.registrationCallbackSet;\n }\n\n /**\n * Closes info dialog component\n */\n close(): void {\n document.getElementsByClassName('modal-animated')[0]?.classList.add('modal-animate-fade-out');\n\n setTimeout(()=>{\n this.dialogRef.close();\n }, 250);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ReviewModalModule.html":{"url":"modules/ReviewModalModule.html","title":"module - ReviewModalModule","body":"\n \n\n\n\n\n Modules\n ReviewModalModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ReviewModalModule\n\n\n\ncluster_ReviewModalModule_declarations\n\n\n\ncluster_ReviewModalModule_exports\n\n\n\n\nReviewModalComponent\n\nReviewModalComponent\n\n\n\nReviewModalModule\n\nReviewModalModule\n\nReviewModalModule -->\n\nReviewModalComponent->ReviewModalModule\n\n\n\n\n\nReviewModalComponent \n\nReviewModalComponent \n\nReviewModalComponent -->\n\nReviewModalModule->ReviewModalComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ReviewModalComponent\n \n \n \n \n Exports\n \n \n ReviewModalComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReviewModalComponent } from './review-modal.component';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n declarations: [ReviewModalComponent],\n imports: [CommonModule, MatDialogModule, MatIconModule, MatButtonModule],\n exports: [ReviewModalComponent]\n})\nexport class ReviewModalModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RightSidebarComponent.html":{"url":"components/RightSidebarComponent.html","title":"component - RightSidebarComponent","body":"\n \n\n\n\n\n\n Components\n \n RightSidebarComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts\n\n\n\n \n Description\n \n \n The right sidebar\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-right-sidebar\n \n\n \n styleUrls\n ./right-sidebar.component.scss\n \n\n\n\n \n templateUrl\n ./right-sidebar.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n modalClosed\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(model: ModelState, registration: RegistrationState, page: PageState, astags: AnatomicalStructureTagState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts:23\n \n \n\n \n \n Creates an instance of right sidebar component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n Model state service\n\n \n \n \n registration\n \n \n RegistrationState\n \n \n \n No\n \n \n \n Registration state service\n\n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n The page state\n\n \n \n \n astags\n \n \n AnatomicalStructureTagState\n \n \n \n No\n \n \n \n The anatomical structure tags state\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n modalClosed\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts:23\n \n \n \n \n Whether or not the initial registration modal has been closed\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-right-sidebar\"\n\n \n \n \n \n Default value : 'ccf-right-sidebar'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts:20\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-right-sidebar'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts:20\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { ModelState } from '../../core/store/model/model.state';\nimport { RegistrationState } from '../../core/store/registration/registration.state';\nimport { PageState } from '../../core/store/page/page.state';\nimport { AnatomicalStructureTagState } from '../../core/store/anatomical-structure-tags/anatomical-structure-tags.state';\n\n\n/**\n * The right sidebar\n */\n@Component({\n selector: 'ccf-right-sidebar',\n templateUrl: './right-sidebar.component.html',\n styleUrls: ['./right-sidebar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RightSidebarComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-right-sidebar';\n\n /** Whether or not the initial registration modal has been closed */\n @Input() modalClosed = false;\n\n /**\n * Creates an instance of right sidebar component.\n *\n * @param model Model state service\n * @param registration Registration state service\n * @param page The page state\n * @param astags The anatomical structure tags state\n */\n constructor(\n readonly model: ModelState,\n readonly registration: RegistrationState,\n readonly page: PageState,\n readonly astags: AnatomicalStructureTagState\n ) { }\n}\n\n \n\n \n \n\n \n \n \n \n \n \n\n\n \n \n\n \n \n\n \n \n \n Anatomical Structure Tags\n \n\n \n \n\n \n \n \n \n\n \n \n Assigned\n \n Added\n \n \n \n\n \n\n \n \n \n\n\n \n\n \n \n ./right-sidebar.component.scss\n \n :host {\n display: block;\n height: calc(100% - 3rem);\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n\n .scroll-wrapper {\n // overflow-y: scroll;\n height: 100%;\n margin-right: 0.375rem;\n\n scrollbar-width: thin;\n &::-webkit-scrollbar {\n width: 0.75rem;\n }\n\n \n\n .container {\n display: flex;\n flex-direction: column;\n min-height: 100%;\n margin-left: 1.5rem;\n margin-right: 0.375rem;\n\n .info-button-container {\n height: 3.75rem;\n display: flex;\n justify-content: flex-end;\n }\n\n mat-divider {\n border-top-width: 3px;\n }\n\n mat-expansion-panel {\n box-shadow: none;\n\n mat-expansion-panel-header {\n padding: 0 0.5rem 0 0;\n font-weight: bold;\n -webkit-user-select: none;\n -moz-user-select: none;\n font-size: 1rem;\n }\n }\n\n .tags-container {\n // Allow tag search to overflow when displaying results\n overflow: visible;\n\n ::ng-deep .mat-expansion-panel-body {\n padding-left: 0;\n padding-right: 0;\n }\n\n .header {\n height: 3rem;\n }\n\n .search {\n margin-top: 1rem;\n\n .icon.add {\n position: absolute;\n // Sizes and offsets found by experimentation\n width: 3.625rem;\n height: 3.625rem;\n font-size: 3.625rem;\n top: -1.9375rem;\n right: -1.1875rem;\n }\n }\n\n .tag-list {\n max-height: 32rem;\n margin-left: -1rem;\n }\n\n .tag-list-placeholder {\n display: flex;\n height: 4rem;\n align-items: center;\n justify-content: center;\n font-weight: 400;\n }\n\n .legend {\n display: flex;\n width: 100%;\n margin-top: 1.5rem;\n align-items: center;\n font-size: 0.9rem;\n\n .dot {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n border-radius: 50%;\n\n &.assigned {\n margin-left: 0.5rem;\n }\n\n &.added {\n \n margin-left: 1rem;\n }\n }\n\n .text {\n margin-left: 0.5rem;\n }\n }\n }\n\n .filler {\n flex-grow: 1;\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Anatomical Structure Tags Assigned Added '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RightSidebarComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RightSidebarModule.html":{"url":"modules/RightSidebarModule.html","title":"module - RightSidebarModule","body":"\n \n\n\n\n\n Modules\n RightSidebarModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RightSidebarModule\n\n\n\ncluster_RightSidebarModule_declarations\n\n\n\ncluster_RightSidebarModule_exports\n\n\n\ncluster_RightSidebarModule_imports\n\n\n\n\nRightSidebarComponent\n\nRightSidebarComponent\n\n\n\nRightSidebarModule\n\nRightSidebarModule\n\nRightSidebarModule -->\n\nRightSidebarComponent->RightSidebarModule\n\n\n\n\n\nRightSidebarComponent \n\nRightSidebarComponent \n\nRightSidebarComponent -->\n\nRightSidebarModule->RightSidebarComponent \n\n\n\n\n\nBlockSizeInputModule\n\nBlockSizeInputModule\n\nRightSidebarModule -->\n\nBlockSizeInputModule->RightSidebarModule\n\n\n\n\n\nReviewButtonModule\n\nReviewButtonModule\n\nRightSidebarModule -->\n\nReviewButtonModule->RightSidebarModule\n\n\n\n\n\nRotationSliderModule\n\nRotationSliderModule\n\nRightSidebarModule -->\n\nRotationSliderModule->RightSidebarModule\n\n\n\n\n\nSlicesInputModule\n\nSlicesInputModule\n\nRightSidebarModule -->\n\nSlicesInputModule->RightSidebarModule\n\n\n\n\n\nTagListModule\n\nTagListModule\n\nRightSidebarModule -->\n\nTagListModule->RightSidebarModule\n\n\n\n\n\nTagSearchModule\n\nTagSearchModule\n\nRightSidebarModule -->\n\nTagSearchModule->RightSidebarModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RightSidebarComponent\n \n \n \n \n Imports\n \n \n BlockSizeInputModule\n \n \n ReviewButtonModule\n \n \n RotationSliderModule\n \n \n SlicesInputModule\n \n \n TagListModule\n \n \n TagSearchModule\n \n \n \n \n Exports\n \n \n RightSidebarComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { BlockSizeInputModule } from '../../shared/components/block-size-input/block-size-input.module';\nimport { RotationSliderModule } from '../../shared/components/rotation-slider/rotation-slider.module';\nimport { SlicesInputModule } from '../../shared/components/slices-input/slices-input.module';\nimport { TagListModule } from '../../shared/components/tag-list/tag-list.module';\nimport { TagSearchModule } from '../../shared/components/tag-search/tag-search.module';\nimport { ReviewButtonModule } from '../review/review-button/review-button.module';\nimport { RightSidebarComponent } from './right-sidebar.component';\n\nimport { InfoButtonModule } from 'ccf-shared';\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatExpansionModule,\n MatDividerModule,\n MatIconModule,\n BrowserAnimationsModule,\n MatTooltipModule,\n\n BlockSizeInputModule,\n ReviewButtonModule,\n RotationSliderModule,\n SlicesInputModule,\n TagListModule,\n TagSearchModule,\n InfoButtonModule\n ],\n declarations: [RightSidebarComponent],\n exports: [RightSidebarComponent]\n})\nexport class RightSidebarModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Rotation.html":{"url":"interfaces/Rotation.html","title":"interface - Rotation","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Rotation\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n\n\n \n Description\n \n \n Type in which the values of the sliders are stored.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n X slider value\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Y slider value\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Z slider value\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/** Type in which the values of the sliders are stored. */\nexport interface Rotation {\n /** X slider value */\n x: number;\n /** Y slider value */\n y: number;\n /** Z slider value */\n z: number;\n}\n\n/** Default values for rotation. */\nconst DEFAULT_ROTATION: Rotation = {\n x: 0,\n y: 0,\n z: 0\n};\n\n/**\n * Component that enables the setting of a Rotation object via either 3 draggable sliders\n * or through an Input method.\n */\n@Component({\n selector: 'ccf-rotation-slider',\n templateUrl: './rotation-slider.component.html',\n styleUrls: ['./rotation-slider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RotationSliderComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-rotation-slider';\n\n /**\n * Input that allows the rotation to be changed from outside of the component\n */\n @Input() rotation = DEFAULT_ROTATION;\n\n /**\n * Output that emits the new rotation whenever it is changed from within the component\n */\n @Output() readonly rotationChange = new EventEmitter();\n\n /**\n * Creates an instance of rotation slider component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Function that handles updating the rotation and emitting the new value\n *\n * @param newRotation the new value for one of the axis to be set to\n * @param axis which axis to update\n */\n changeRotation(newRotation: number | string, axis: string): void {\n this.rotation = { ... this.rotation, [axis]: +newRotation };\n this.ga.event('rotation_update', 'rotation_slider', axis, +newRotation);\n this.rotationChange.emit(this.rotation);\n }\n\n /**\n * Function to easily reset the rotations to 0 and emit this change.\n */\n resetRotation(): void {\n this.rotation = DEFAULT_ROTATION;\n this.ga.event('rotation_reset', 'rotation_slider');\n this.rotationChange.emit(this.rotation);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RotationSliderComponent.html":{"url":"components/RotationSliderComponent.html","title":"component - RotationSliderComponent","body":"\n \n\n\n\n\n\n Components\n \n RotationSliderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n\n\n\n \n Description\n \n \n Component that enables the setting of a Rotation object via either 3 draggable sliders\nor through an Input method.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-rotation-slider\n \n\n \n styleUrls\n ./rotation-slider.component.scss\n \n\n\n\n \n templateUrl\n ./rotation-slider.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n changeRotation\n \n \n resetRotation\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n rotation\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n rotationChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:44\n \n \n\n \n \n Creates an instance of rotation slider component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n rotation\n \n \n \n \n Type : Rotation\n\n \n \n \n \n Default value : DEFAULT_ROTATION\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:39\n \n \n \n \n Input that allows the rotation to be changed from outside of the component\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n rotationChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:44\n \n \n \n \n Output that emits the new rotation whenever it is changed from within the component\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-rotation-slider\"\n\n \n \n \n \n Default value : 'ccf-rotation-slider'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:34\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n changeRotation\n \n \n \n \n \n \nchangeRotation(newRotation: number | string, axis: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:59\n \n \n\n\n \n \n Function that handles updating the rotation and emitting the new value\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n newRotation\n \n number | string\n \n\n \n No\n \n\n\n \n the new value for one of the axis to be set to\n\n \n \n \n axis\n \n string\n \n\n \n No\n \n\n\n \n which axis to update\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetRotation\n \n \n \n \n \n \nresetRotation()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:68\n \n \n\n\n \n \n Function to easily reset the rotations to 0 and emit this change.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-rotation-slider'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:34\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/** Type in which the values of the sliders are stored. */\nexport interface Rotation {\n /** X slider value */\n x: number;\n /** Y slider value */\n y: number;\n /** Z slider value */\n z: number;\n}\n\n/** Default values for rotation. */\nconst DEFAULT_ROTATION: Rotation = {\n x: 0,\n y: 0,\n z: 0\n};\n\n/**\n * Component that enables the setting of a Rotation object via either 3 draggable sliders\n * or through an Input method.\n */\n@Component({\n selector: 'ccf-rotation-slider',\n templateUrl: './rotation-slider.component.html',\n styleUrls: ['./rotation-slider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RotationSliderComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-rotation-slider';\n\n /**\n * Input that allows the rotation to be changed from outside of the component\n */\n @Input() rotation = DEFAULT_ROTATION;\n\n /**\n * Output that emits the new rotation whenever it is changed from within the component\n */\n @Output() readonly rotationChange = new EventEmitter();\n\n /**\n * Creates an instance of rotation slider component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Function that handles updating the rotation and emitting the new value\n *\n * @param newRotation the new value for one of the axis to be set to\n * @param axis which axis to update\n */\n changeRotation(newRotation: number | string, axis: string): void {\n this.rotation = { ... this.rotation, [axis]: +newRotation };\n this.ga.event('rotation_update', 'rotation_slider', axis, +newRotation);\n this.rotationChange.emit(this.rotation);\n }\n\n /**\n * Function to easily reset the rotations to 0 and emit this change.\n */\n resetRotation(): void {\n this.rotation = DEFAULT_ROTATION;\n this.ga.event('rotation_reset', 'rotation_slider');\n this.rotationChange.emit(this.rotation);\n }\n}\n\n \n\n \n \n Tissue Block Rotation\n \n refresh\n\n\n\n X\n \n \n \n {{ rotation.x }}\n\n\n\n Y\n \n \n \n {{ rotation.y }}\n\n\n\n Z\n \n \n \n {{ rotation.z }}\n\n\n \n\n \n \n ./rotation-slider.component.scss\n \n :host {\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 1.5rem;\n\n .title {\n font-weight: 600;\n }\n\n .reset {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n \n &:hover {\n border-radius: 2px;\n }\n\n }\n }\n\n .slider-box {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 4rem;\n padding-left: 0.5rem;\n\n .label {\n width: 1rem;\n }\n\n .value {\n width: 2.75rem;\n text-align: center;\n }\n\n .slider-container {\n width: 100%;\n padding-left: 2rem;\n padding-right: 2rem;\n padding-bottom: 1rem;\n padding-top: 1rem;\n\n .slider {\n width: 100%;\n \n &:not(.cdk-focused) {\n ::ng-deep .mat-slider-thumb {\n width: 1.25rem;\n height: 1.25rem;\n transform: none;\n }\n }\n }\n\n ::ng-deep .mat-slider-horizontal {\n .mat-slider-wrapper {\n right: 0.625rem;\n &:after {\n margin-top: -0.25rem;\n height: 0.625rem !important;\n }\n }\n \n .mat-slider-ticks-container {\n margin-top: -0.25rem;\n height: 0.625rem;\n\n .mat-slider-ticks {\n height: 0.625rem;\n }\n }\n \n }\n }\n\n .filler {\n flex-grow: 1;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Tissue Block Rotation refresh X {{ rotation.x }} Y {{ rotation.y }} Z {{ rotation.z }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RotationSliderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RotationSliderModule.html":{"url":"modules/RotationSliderModule.html","title":"module - RotationSliderModule","body":"\n \n\n\n\n\n Modules\n RotationSliderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RotationSliderModule\n\n\n\ncluster_RotationSliderModule_declarations\n\n\n\ncluster_RotationSliderModule_exports\n\n\n\n\nRotationSliderComponent\n\nRotationSliderComponent\n\n\n\nRotationSliderModule\n\nRotationSliderModule\n\nRotationSliderModule -->\n\nRotationSliderComponent->RotationSliderModule\n\n\n\n\n\nRotationSliderComponent \n\nRotationSliderComponent \n\nRotationSliderComponent -->\n\nRotationSliderModule->RotationSliderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RotationSliderComponent\n \n \n \n \n Exports\n \n \n RotationSliderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RotationSliderComponent } from './rotation-slider.component';\n\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [RotationSliderComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatSliderModule,\n MatRippleModule,\n MatTooltipModule\n ],\n exports: [RotationSliderComponent]\n})\nexport class RotationSliderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SceneState.html":{"url":"injectables/SceneState.html","title":"injectable - SceneState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n SceneState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n\n\n \n Description\n \n \n 3d Scene state\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n gizmo$\n \n \n Private\n model\n \n \n Private\n referenceData\n \n \n Private\n registration\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createSceneNodes\n \n \n ngxsOnInit\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n nodes$\n \n \n rotatedNodes$\n \n \n referenceOrganNodes$\n \n \n referenceOrganSimpleNodes$\n \n \n nodeCollisions$\n \n \n previousRegistrationNodes$\n \n \n placementCube$\n \n \n placementCube\n \n \n rotation$\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(injector: Injector)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:223\n \n \n\n \n \n Creates an instance of scene state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n Injector service used to lazy load page and model state\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createSceneNodes\n \n \n \n \n \n \n \n createSceneNodes(organIri: string, items: VisibilityItem[])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:249\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n items\n \n VisibilityItem[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:239\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n gizmo$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Default value : of([\n {\n '@id': 'http://purl.org/ccf/latest/ccf.owl#VHMaleOrgans_VHM_Spleen_Colic_Surface',\n '@type': 'SpatialSceneNode',\n scenegraph: 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/Assets/body4Mesh_1338.glb',\n transformMatrix: new Matrix4(Matrix4.IDENTITY).scale([2, 2, 2]).rotateY(toRadians(0)),\n tooltip: 'Gizmo',\n unpickable: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false,\n color: [255, 255, 255, 255],\n opacity: 1\n }\n ])\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:204\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n model\n \n \n \n \n \n \n Type : ModelState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:221\n \n \n\n \n \n Reference to the model state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n referenceData\n \n \n \n \n \n \n Type : ReferenceDataState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:223\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n registration\n \n \n \n \n \n \n Type : RegistrationState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:222\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n nodes$\n \n \n\n \n \n getnodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:52\n \n \n\n \n \n \n \n \n \n \n rotatedNodes$\n \n \n\n \n \n getrotatedNodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:63\n \n \n\n \n \n \n \n \n \n \n referenceOrganNodes$\n \n \n\n \n \n getreferenceOrganNodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:80\n \n \n \n \n Observable of spatial nodes\n\n\n \n Returns : Observable\n\n \n \n \n\n \n \n \n \n \n \n \n referenceOrganSimpleNodes$\n \n \n\n \n \n getreferenceOrganSimpleNodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:90\n \n \n\n \n \n \n \n \n \n \n nodeCollisions$\n \n \n\n \n \n getnodeCollisions$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:118\n \n \n\n \n \n \n \n \n \n \n previousRegistrationNodes$\n \n \n\n \n \n getpreviousRegistrationNodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:129\n \n \n\n \n \n \n \n \n \n \n placementCube$\n \n \n\n \n \n getplacementCube$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:157\n \n \n\n \n \n \n \n \n \n \n placementCube\n \n \n\n \n \n getplacementCube()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:164\n \n \n\n \n \n \n \n \n \n \n rotation$\n \n \n\n \n \n getrotation$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:182\n \n \n\n \n \n\n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { Computed, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { NgxsOnInit, State } from '@ngxs/store';\nimport { AABB, Vec3 } from 'cannon-es';\nimport { SpatialEntityJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { combineLatest, Observable, of } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { ModelState } from '../model/model.state';\nimport { RegistrationState } from '../registration/registration.state';\nimport { VisibilityItem } from './../../models/visibility-item';\nimport { ReferenceDataState } from './../reference-data/reference-data.state';\n\n\n/**\n * Scene state model\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface SceneStateModel {\n showCollisions: boolean;\n}\n\nfunction getNodeBbox(model: SpatialSceneNode): AABB {\n const mat = new Matrix4(model.transformMatrix);\n const lowerBound = mat.transformAsPoint([-1, -1, -1], []);\n const upperBound = mat.transformAsPoint([1, 1, 1], []);\n return new AABB({\n lowerBound: new Vec3(...lowerBound.map((n, i) => Math.min(n, upperBound[i]))),\n upperBound: new Vec3(...upperBound.map((n, i) => Math.max(n, lowerBound[i])))\n });\n}\n\n/**\n * 3d Scene state\n */\n@StateRepository()\n@State({\n name: 'scene',\n defaults: {\n showCollisions: !environment.production\n }\n})\n@Injectable()\nexport class SceneState extends NgxsImmutableDataRepository implements NgxsOnInit {\n\n @Computed()\n get nodes$(): Observable {\n return combineLatest([\n this.placementCube$, this.referenceOrganNodes$, this.previousRegistrationNodes$, this.nodeCollisions$\n ]).pipe(\n map(([placement, nodes, prevNodes, collisions]) => [\n ...placement, ...prevNodes, ...nodes, ...(this.snapshot.showCollisions ? collisions : [])\n ])\n );\n }\n\n @Computed()\n get rotatedNodes$(): Observable {\n return combineLatest([this.rotation$, this.nodes$]).pipe(\n map(([rotation, nodes]) => {\n if (rotation === 0) {\n return nodes;\n } else {\n return nodes.map(n => ({\n ...n,\n transformMatrix: new Matrix4(Matrix4.IDENTITY).rotateY(toRadians(rotation)).multiplyRight(n.transformMatrix)\n }));\n }\n })\n );\n }\n\n /** Observable of spatial nodes */\n @Computed()\n get referenceOrganNodes$(): Observable {\n return combineLatest([this.model.anatomicalStructures$, this.model.extractionSites$, this.model.organIri$]).pipe(\n debounceTime(400),\n map(([anatomicalStructures, extractionSites, organIri]) =>\n this.createSceneNodes(organIri as string, [...anatomicalStructures, ...extractionSites] as VisibilityItem[])\n )\n );\n }\n\n @Computed()\n get referenceOrganSimpleNodes$(): Observable {\n return combineLatest([this.model.anatomicalStructures$, this.model.organIri$, this.referenceData.state$]).pipe(\n map(([anatomicalStructures, organIri, db]) =>\n anatomicalStructures\n // .filter(item => item.visible && item.opacity && item.opacity > 0)\n .map((item): SpatialSceneNode[] => {\n if (db.sceneNodeLookup[item.id]) {\n return [{\n ...(db.simpleSceneNodeLookup[item.id] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }];\n } else {\n return (db.anatomicalStructures[organIri as string] || [])\n .filter((node) => node.representation_of === item.id)\n .map((node): SpatialSceneNode => ({\n ...(db.simpleSceneNodeLookup[node['@id']] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }));\n }\n })\n .reduce((acc, nodes) => acc.concat(nodes), [])\n )\n );\n }\n\n @Computed()\n get nodeCollisions$(): Observable {\n return combineLatest([this.referenceOrganSimpleNodes$, this.placementCube$]).pipe(\n filter(([_nodes, placement]) => placement.length > 0),\n map(([nodes, placement]) => {\n const bbox = getNodeBbox(placement[0]);\n return nodes.filter((model) => bbox.overlaps(getNodeBbox(model)));\n })\n );\n }\n\n @Computed()\n get previousRegistrationNodes$(): Observable {\n return combineLatest([this.model.organIri$, this.model.showPrevious$, this.registration.previousRegistrations$]).pipe(\n map(([organIri, showPrevious, previousRegistrations]) =>\n showPrevious ? previousRegistrations.map((entity: SpatialEntityJsonLd): SpatialSceneNode => {\n const p = Array.isArray(entity.placement) ? entity.placement[0] : entity.placement;\n if (p.target === organIri) {\n const organDimensions = this.model.snapshot.organDimensions;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => -n / 1000 / 2);\n return {\n '@id': entity['@id'],\n '@type': 'SpatialSceneNode',\n transformMatrix: new Matrix4(Matrix4.IDENTITY)\n .translate([p.x_translation, p.y_translation, p.z_translation].map((n, i) => n / 1000 + dims[i]))\n .rotateXYZ([p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number])\n .scale([entity.x_dimension, entity.y_dimension, entity.z_dimension].map(n => n / 1000 / 2)),\n color: [25, 118, 210, 200],\n tooltip: entity.label,\n unpickable: true\n };\n } else {\n return undefined as unknown as SpatialSceneNode;\n }\n }).filter(e => !!e) : []\n )\n );\n }\n\n @Computed()\n get placementCube$(): Observable | [] {\n return combineLatest([this.model.viewType$, this.model.blockSize$, this.model.rotation$, this.model.position$, this.model.organ$]).pipe(\n map(([_viewType, _blockSize, _rotation, _position, organ]) => organ.src === '' ? [] : [this.placementCube])\n );\n }\n\n @Computed()\n get placementCube(): SpatialSceneNode {\n const { viewType, blockSize, rotation, position, organDimensions } = this.model.snapshot;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => -n / 1000 / 2);\n return {\n '@id': '#DraftPlacement',\n '@type': 'SpatialSceneNode',\n transformMatrix: new Matrix4(Matrix4.IDENTITY)\n .translate([position.x, position.y, position.z].map((n, i) => n / 1000 + dims[i]))\n .rotateXYZ([rotation.x, rotation.y, rotation.z].map(toRadians) as [number, number, number])\n .scale([blockSize.x, blockSize.y, blockSize.z].map(n => n / 1000 / 2)),\n color: [255, 255, 0, 200],\n tooltip: 'Draft Placement',\n unpickable: viewType === '3d',\n };\n }\n\n\n @Computed()\n get rotation$(): Observable {\n return this.model.viewSide$.pipe(\n map((side) => {\n let rotation = 0;\n switch (side) {\n case 'left':\n rotation = -90;\n break;\n case 'right':\n rotation = 90;\n break;\n case 'posterior':\n rotation = 180;\n break;\n default:\n break;\n }\n return rotation;\n })\n );\n }\n\n readonly gizmo$: Observable = of([\n {\n '@id': 'http://purl.org/ccf/latest/ccf.owl#VHMaleOrgans_VHM_Spleen_Colic_Surface',\n '@type': 'SpatialSceneNode',\n scenegraph: 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/Assets/body4Mesh_1338.glb',\n transformMatrix: new Matrix4(Matrix4.IDENTITY).scale([2, 2, 2]).rotateY(toRadians(0)),\n tooltip: 'Gizmo',\n unpickable: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false,\n color: [255, 255, 255, 255],\n opacity: 1\n }\n ]);\n\n /** Reference to the model state */\n private model: ModelState;\n private registration: RegistrationState;\n private referenceData: ReferenceDataState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load page and model state\n */\n constructor(\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.model = this.injector.get(ModelState);\n this.registration = this.injector.get(RegistrationState);\n this.referenceData = this.injector.get(ReferenceDataState);\n }\n\n private createSceneNodes(organIri: string, items: VisibilityItem[]): SpatialSceneNode[] {\n const db = this.referenceData.snapshot;\n return items\n .filter(item => item.visible && item.opacity && item.opacity > 0)\n .map((item): SpatialSceneNode[] => {\n if (db.sceneNodeLookup[item.id]) {\n return [{\n ...(db.sceneNodeLookup[item.id] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }];\n } else {\n return (db.anatomicalStructures[organIri] || [])\n .filter((node) => node.representation_of === item.id)\n .map(node => ({\n ...(db.sceneNodeLookup[node['@id']] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }));\n }\n })\n .reduce((acc, nodes) => acc.concat(nodes), []);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SceneStateModel.html":{"url":"interfaces/SceneStateModel.html","title":"interface - SceneStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SceneStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n\n\n \n Description\n \n \n Scene state model\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n showCollisions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n showCollisions\n \n \n \n \n \n \n \n \n showCollisions: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { Computed, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { NgxsOnInit, State } from '@ngxs/store';\nimport { AABB, Vec3 } from 'cannon-es';\nimport { SpatialEntityJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { combineLatest, Observable, of } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { ModelState } from '../model/model.state';\nimport { RegistrationState } from '../registration/registration.state';\nimport { VisibilityItem } from './../../models/visibility-item';\nimport { ReferenceDataState } from './../reference-data/reference-data.state';\n\n\n/**\n * Scene state model\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface SceneStateModel {\n showCollisions: boolean;\n}\n\nfunction getNodeBbox(model: SpatialSceneNode): AABB {\n const mat = new Matrix4(model.transformMatrix);\n const lowerBound = mat.transformAsPoint([-1, -1, -1], []);\n const upperBound = mat.transformAsPoint([1, 1, 1], []);\n return new AABB({\n lowerBound: new Vec3(...lowerBound.map((n, i) => Math.min(n, upperBound[i]))),\n upperBound: new Vec3(...upperBound.map((n, i) => Math.max(n, lowerBound[i])))\n });\n}\n\n/**\n * 3d Scene state\n */\n@StateRepository()\n@State({\n name: 'scene',\n defaults: {\n showCollisions: !environment.production\n }\n})\n@Injectable()\nexport class SceneState extends NgxsImmutableDataRepository implements NgxsOnInit {\n\n @Computed()\n get nodes$(): Observable {\n return combineLatest([\n this.placementCube$, this.referenceOrganNodes$, this.previousRegistrationNodes$, this.nodeCollisions$\n ]).pipe(\n map(([placement, nodes, prevNodes, collisions]) => [\n ...placement, ...prevNodes, ...nodes, ...(this.snapshot.showCollisions ? collisions : [])\n ])\n );\n }\n\n @Computed()\n get rotatedNodes$(): Observable {\n return combineLatest([this.rotation$, this.nodes$]).pipe(\n map(([rotation, nodes]) => {\n if (rotation === 0) {\n return nodes;\n } else {\n return nodes.map(n => ({\n ...n,\n transformMatrix: new Matrix4(Matrix4.IDENTITY).rotateY(toRadians(rotation)).multiplyRight(n.transformMatrix)\n }));\n }\n })\n );\n }\n\n /** Observable of spatial nodes */\n @Computed()\n get referenceOrganNodes$(): Observable {\n return combineLatest([this.model.anatomicalStructures$, this.model.extractionSites$, this.model.organIri$]).pipe(\n debounceTime(400),\n map(([anatomicalStructures, extractionSites, organIri]) =>\n this.createSceneNodes(organIri as string, [...anatomicalStructures, ...extractionSites] as VisibilityItem[])\n )\n );\n }\n\n @Computed()\n get referenceOrganSimpleNodes$(): Observable {\n return combineLatest([this.model.anatomicalStructures$, this.model.organIri$, this.referenceData.state$]).pipe(\n map(([anatomicalStructures, organIri, db]) =>\n anatomicalStructures\n // .filter(item => item.visible && item.opacity && item.opacity > 0)\n .map((item): SpatialSceneNode[] => {\n if (db.sceneNodeLookup[item.id]) {\n return [{\n ...(db.simpleSceneNodeLookup[item.id] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }];\n } else {\n return (db.anatomicalStructures[organIri as string] || [])\n .filter((node) => node.representation_of === item.id)\n .map((node): SpatialSceneNode => ({\n ...(db.simpleSceneNodeLookup[node['@id']] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }));\n }\n })\n .reduce((acc, nodes) => acc.concat(nodes), [])\n )\n );\n }\n\n @Computed()\n get nodeCollisions$(): Observable {\n return combineLatest([this.referenceOrganSimpleNodes$, this.placementCube$]).pipe(\n filter(([_nodes, placement]) => placement.length > 0),\n map(([nodes, placement]) => {\n const bbox = getNodeBbox(placement[0]);\n return nodes.filter((model) => bbox.overlaps(getNodeBbox(model)));\n })\n );\n }\n\n @Computed()\n get previousRegistrationNodes$(): Observable {\n return combineLatest([this.model.organIri$, this.model.showPrevious$, this.registration.previousRegistrations$]).pipe(\n map(([organIri, showPrevious, previousRegistrations]) =>\n showPrevious ? previousRegistrations.map((entity: SpatialEntityJsonLd): SpatialSceneNode => {\n const p = Array.isArray(entity.placement) ? entity.placement[0] : entity.placement;\n if (p.target === organIri) {\n const organDimensions = this.model.snapshot.organDimensions;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => -n / 1000 / 2);\n return {\n '@id': entity['@id'],\n '@type': 'SpatialSceneNode',\n transformMatrix: new Matrix4(Matrix4.IDENTITY)\n .translate([p.x_translation, p.y_translation, p.z_translation].map((n, i) => n / 1000 + dims[i]))\n .rotateXYZ([p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number])\n .scale([entity.x_dimension, entity.y_dimension, entity.z_dimension].map(n => n / 1000 / 2)),\n color: [25, 118, 210, 200],\n tooltip: entity.label,\n unpickable: true\n };\n } else {\n return undefined as unknown as SpatialSceneNode;\n }\n }).filter(e => !!e) : []\n )\n );\n }\n\n @Computed()\n get placementCube$(): Observable | [] {\n return combineLatest([this.model.viewType$, this.model.blockSize$, this.model.rotation$, this.model.position$, this.model.organ$]).pipe(\n map(([_viewType, _blockSize, _rotation, _position, organ]) => organ.src === '' ? [] : [this.placementCube])\n );\n }\n\n @Computed()\n get placementCube(): SpatialSceneNode {\n const { viewType, blockSize, rotation, position, organDimensions } = this.model.snapshot;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => -n / 1000 / 2);\n return {\n '@id': '#DraftPlacement',\n '@type': 'SpatialSceneNode',\n transformMatrix: new Matrix4(Matrix4.IDENTITY)\n .translate([position.x, position.y, position.z].map((n, i) => n / 1000 + dims[i]))\n .rotateXYZ([rotation.x, rotation.y, rotation.z].map(toRadians) as [number, number, number])\n .scale([blockSize.x, blockSize.y, blockSize.z].map(n => n / 1000 / 2)),\n color: [255, 255, 0, 200],\n tooltip: 'Draft Placement',\n unpickable: viewType === '3d',\n };\n }\n\n\n @Computed()\n get rotation$(): Observable {\n return this.model.viewSide$.pipe(\n map((side) => {\n let rotation = 0;\n switch (side) {\n case 'left':\n rotation = -90;\n break;\n case 'right':\n rotation = 90;\n break;\n case 'posterior':\n rotation = 180;\n break;\n default:\n break;\n }\n return rotation;\n })\n );\n }\n\n readonly gizmo$: Observable = of([\n {\n '@id': 'http://purl.org/ccf/latest/ccf.owl#VHMaleOrgans_VHM_Spleen_Colic_Surface',\n '@type': 'SpatialSceneNode',\n scenegraph: 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/Assets/body4Mesh_1338.glb',\n transformMatrix: new Matrix4(Matrix4.IDENTITY).scale([2, 2, 2]).rotateY(toRadians(0)),\n tooltip: 'Gizmo',\n unpickable: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false,\n color: [255, 255, 255, 255],\n opacity: 1\n }\n ]);\n\n /** Reference to the model state */\n private model: ModelState;\n private registration: RegistrationState;\n private referenceData: ReferenceDataState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load page and model state\n */\n constructor(\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.model = this.injector.get(ModelState);\n this.registration = this.injector.get(RegistrationState);\n this.referenceData = this.injector.get(ReferenceDataState);\n }\n\n private createSceneNodes(organIri: string, items: VisibilityItem[]): SpatialSceneNode[] {\n const db = this.referenceData.snapshot;\n return items\n .filter(item => item.visible && item.opacity && item.opacity > 0)\n .map((item): SpatialSceneNode[] => {\n if (db.sceneNodeLookup[item.id]) {\n return [{\n ...(db.sceneNodeLookup[item.id] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }];\n } else {\n return (db.anatomicalStructures[organIri] || [])\n .filter((node) => node.representation_of === item.id)\n .map(node => ({\n ...(db.sceneNodeLookup[node['@id']] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }));\n }\n })\n .reduce((acc, nodes) => acc.concat(nodes), []);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SlicesConfig.html":{"url":"interfaces/SlicesConfig.html","title":"interface - SlicesConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SlicesConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n\n\n \n Description\n \n \n Slices configuration\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n numSlices\n \n \n \n \n thickness\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n numSlices\n \n \n \n \n \n \n \n \n numSlices: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Number of slices per block\n\n \n \n \n \n \n \n \n \n \n thickness\n \n \n \n \n \n \n \n \n thickness: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Thickness of slice\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { ALL_ORGANS, GlobalConfigState, OrganInfo } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { sortBy } from 'lodash';\nimport { EMPTY, Observable } from 'rxjs';\nimport {\n debounceTime, delay, distinctUntilChanged, filter, mapTo, pluck, skipUntil, switchMap, take, tap, throttleTime,\n} from 'rxjs/operators';\n\nimport { ExtractionSet } from '../../models/extraction-set';\nimport { VisibilityItem } from '../../models/visibility-item';\nimport { GlobalConfig } from '../../services/config/config';\nimport { PageState } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A object with x, y, and z channels of the same type. */\nexport interface XYZTriplet {\n /** X channel */\n x: T;\n /** Y channel */\n y: T;\n /** Z channel */\n z: T;\n}\n\n/** Slices configuration */\nexport interface SlicesConfig {\n /** Thickness of slice */\n thickness: number;\n /** Number of slices per block */\n numSlices: number;\n}\n\n/** Model view type */\nexport type ViewType = 'register' | '3d';\n\n/** Side which the model is viewed from */\nexport type ViewSide = 'left' | 'right' | 'anterior' | 'posterior';\n\n/** Data contained in the stage state. */\nexport interface ModelStateModel {\n /** Model identifier */\n id: string;\n /** Model label */\n label: string;\n /** Organ name */\n organ: OrganInfo;\n /** Reference Organ IRI */\n organIri?: string;\n /** Reference Organ Dimensions */\n organDimensions: XYZTriplet;\n /** Sex if applicable */\n sex?: 'male' | 'female';\n /** Side if applicable */\n side?: 'left' | 'right';\n /** Block size */\n blockSize: XYZTriplet;\n /** Model rotation */\n rotation: XYZTriplet;\n /** Model position */\n position: XYZTriplet;\n /** Slice configuration */\n slicesConfig: SlicesConfig;\n /** View type */\n viewType: ViewType;\n /** View side */\n viewSide: ViewSide;\n /** Whether previous registration blocks are visible */\n showPrevious: boolean;\n /** Possible extraction sites */\n extractionSites: VisibilityItem[];\n /** Anatomical structures for the organ */\n anatomicalStructures: VisibilityItem[];\n /** Extraction sets */\n extractionSets: ExtractionSet[];\n}\n\n/**\n * All organs to be displayed\n */\nexport const RUI_ORGANS = ALL_ORGANS;\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'model',\n defaults: {\n id: '',\n label: '',\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n organ: { src: '', name: '' } as OrganInfo,\n organIri: '',\n organDimensions: { x: 90, y: 90, z: 90 },\n sex: 'male',\n side: 'left',\n blockSize: { x: 10, y: 10, z: 10 },\n rotation: { x: 0, y: 0, z: 0 },\n position: { x: 0, y: 0, z: 0 },\n slicesConfig: { thickness: NaN, numSlices: NaN },\n viewType: 'register',\n viewSide: 'anterior',\n showPrevious: false,\n extractionSites: [],\n anatomicalStructures: [],\n extractionSets: []\n }\n})\n@Injectable()\nexport class ModelState extends NgxsImmutableDataRepository {\n /** Identifier observable */\n readonly id$ = this.state$.pipe(pluck('id'));\n /** Block size observable */\n readonly blockSize$ = this.state$.pipe(pluck('blockSize'));\n /** Rotation observable */\n readonly rotation$ = this.state$.pipe(pluck('rotation'));\n /** Position observable */\n readonly position$ = this.state$.pipe(pluck('position'));\n /** Slice configuration observable */\n readonly slicesConfig$ = this.state$.pipe(pluck('slicesConfig'));\n /** View type observable */\n readonly viewType$ = this.state$.pipe(pluck('viewType'));\n /** View side observable */\n readonly viewSide$ = this.state$.pipe(pluck('viewSide'));\n /** Organ observable */\n readonly organ$ = this.state$.pipe(pluck('organ'));\n /** Organ IRI observable */\n readonly organIri$ = this.state$.pipe(pluck('organIri'));\n /** Organ IRI observable */\n readonly organDimensions$ = this.state$.pipe(pluck('organDimensions'));\n /** Sex observable */\n readonly sex$ = this.state$.pipe(pluck('sex'));\n /** Side observable */\n readonly side$ = this.state$.pipe(pluck('side'));\n /** Show previous observable */\n readonly showPrevious$ = this.state$.pipe(pluck('showPrevious'));\n /** Extraction sites observable */\n readonly extractionSites$ = this.state$.pipe(pluck('extractionSites'));\n /** Anatomical structures observable */\n readonly anatomicalStructures$ = this.state$.pipe(pluck('anatomicalStructures'));\n /** Extraction sets observable */\n readonly extractionSets$ = this.state$.pipe(pluck('extractionSets'));\n\n @Computed()\n get modelChanged$(): Observable {\n const ignoredKeys = ['viewType', 'viewSide', 'showPrevious'];\n const keys = Object.keys(this.initialState)\n .filter(key => !ignoredKeys.includes(key));\n\n return this.state$.pipe(\n throttleTime(0, undefined, { leading: false, trailing: true }),\n distinctUntilChanged((v1, v2) => {\n for (const key of keys) {\n if (v1[key] !== v2[key]) {\n return false;\n }\n }\n\n return true;\n }),\n mapTo(undefined)\n );\n }\n\n /** Reference to the reference data state */\n private referenceData: ReferenceDataState;\n\n private page: PageState;\n\n /**\n * Creates an instance of model state.\n *\n * @param injector Injector service used to lazy load reference data state\n */\n constructor(\n private readonly ga: GoogleAnalyticsService,\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.referenceData = this.injector.get(ReferenceDataState);\n this.page = this.injector.get(PageState);\n\n this.globalConfig.getOption('organ').pipe(\n filterNulls(),\n switchMap(organConfig => {\n const organName = organConfig.name.toLowerCase();\n const organSide = organConfig.side;\n const ontologyId = organConfig.ontologyId;\n // check for an id match\n let organInfo = this.idMatches(ontologyId, organSide);\n // if no id matches, check for a name match\n if (!organInfo) {\n organInfo = this.nameMatches(organName, organSide);\n }\n if (organInfo) {\n this.ctx.patchState({\n organ: organInfo,\n sex: organConfig.sex?.toLowerCase() as 'male' | 'female',\n side: organInfo?.side?.toLowerCase() as 'left' | 'right'\n });\n return this.referenceData.state$.pipe(\n debounceTime(100),\n take(1),\n delay(200),\n tap(() => this.onOrganIriChange())\n );\n }\n return EMPTY;\n })\n ).subscribe();\n\n this.modelChanged$.pipe(\n skipUntil(this.page.registrationStarted$.pipe(\n filter(started => started),\n delay(5)\n ))\n ).subscribe(() => this.page.setHasChanges());\n }\n\n idMatches(ontologyId?: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n ontologyId && o.id === ontologyId ? (o.side ? o.side === organSide : true) : false\n );\n }\n\n nameMatches(organName: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n o.side ? o.organ.toLowerCase() === organName && o.side === organSide : o.organ.toLowerCase() === organName\n );\n }\n\n /**\n * Updates the block size\n *\n * @param blockSize The new block size values\n */\n @DataAction()\n setBlockSize(blockSize: XYZTriplet): void {\n this.ctx.patchState({ blockSize });\n }\n\n /**\n * Updates the rotation\n *\n * @param rotation The new rotation values\n */\n @DataAction()\n setRotation(rotation: XYZTriplet): void {\n this.ctx.patchState({ rotation });\n }\n\n /**\n * Updates the position\n *\n * @param position The new position values\n */\n @DataAction()\n setPosition(position: XYZTriplet): void {\n this.ga.event('placement', `${this.snapshot.organ?.name}_placement`, `${position.x.toFixed(1)}_${position.y.toFixed(1)}_${position.z.toFixed(1)}`);\n this.ctx.patchState({ position });\n }\n\n /**\n * Updates the slice configuration\n *\n * @param slicesConfig The new slice configuration\n */\n @DataAction()\n setSlicesConfig(slicesConfig: SlicesConfig): void {\n this.ctx.patchState({ slicesConfig });\n }\n\n /**\n * Updates the view type\n *\n * @param viewType the new view type\n */\n @DataAction()\n setViewType(viewType: ViewType): void {\n this.ctx.patchState({ viewType });\n }\n\n /**\n * Updates the view side\n *\n * @param viewSide The side to view\n */\n @DataAction()\n setViewSide(viewSide: ViewSide): void {\n this.ctx.patchState({ viewSide });\n }\n\n @Computed()\n get defaultPosition(): XYZTriplet {\n const dims = this.snapshot.organDimensions;\n const block = this.snapshot.blockSize;\n return { x: dims.x + 2 * block.x, y: dims.y / 2, z: dims.z / 2 };\n }\n\n /**\n * Updates the organ\n *\n * @param organ Name of the organ\n */\n @DataAction()\n setOrgan(organ: OrganInfo): void {\n this.ga.event('organ_select', 'organ', organ.name);\n this.ctx.patchState({ organ });\n if (organ.side) {\n this.ctx.patchState({ side: organ.side });\n }\n this.onOrganIriChange();\n }\n\n /**\n * Updates the sex\n *\n * @param [sex] The new sex\n */\n @DataAction()\n setSex(sex?: 'male' | 'female'): void {\n this.ctx.patchState({ sex });\n this.onOrganIriChange();\n }\n\n /**\n * Updates the side\n *\n * @param [side] The new side\n */\n @DataAction()\n setSide(side?: 'left' | 'right'): void {\n this.ctx.patchState({ side });\n this.onOrganIriChange();\n }\n\n /**\n * Updates show previous\n *\n * @param showPrevious Whether to show\n */\n @DataAction()\n setShowPrevious(showPrevious: boolean): void {\n this.ctx.patchState({ showPrevious });\n }\n\n /**\n * Updates extraction sites\n *\n * @param extractionSites New array of items\n */\n @DataAction()\n setExtractionSites(extractionSites: VisibilityItem[]): void {\n this.ctx.patchState({ extractionSites });\n }\n\n /**\n * Updates anatomical structures\n *\n * @param anatomicalStructures New array of items\n */\n @DataAction()\n setAnatomicalStructures(anatomicalStructures: VisibilityItem[]): void {\n this.ctx.patchState({ anatomicalStructures });\n }\n\n /**\n * Updates extraction sets\n *\n * @param extractionSets New array of extraction sets\n */\n @DataAction()\n setExtractionSets(extractionSets: ExtractionSet[]): void {\n this.ctx.patchState({ extractionSets });\n }\n\n /**\n * Toggles registration blocks visibility and handles anatomical structures\n * opacity changes accordingly\n *\n * @param visible the visible state to pass along to setShowPrevious()\n * @param previousItems visibilityItems to set anatomical structures\n */\n toggleRegistrationBlocksVisibility(visible: boolean, previousItems: VisibilityItem[]): void {\n this.setShowPrevious(visible);\n\n if (!visible) {\n this.setAnatomicalStructures(previousItems);\n } else {\n const newStructures = previousItems.map(structure => ({\n ...structure, opacity: Math.min(20, structure.opacity ?? 20)\n }));\n this.setAnatomicalStructures(newStructures);\n }\n }\n\n private onOrganIriChange(): void {\n const organIri = this.referenceData.getReferenceOrganIri(\n this.snapshot.organ?.organ || '', this.snapshot.sex, this.snapshot.side, this.snapshot.organ\n );\n const organDimensions: XYZTriplet = { x: 100, y: 100, z: 100 };\n\n if (this.snapshot.organ?.sex) {\n this.ctx.patchState({ sex: this.snapshot.organ?.sex });\n }\n\n if (organIri) {\n const db = this.referenceData.snapshot;\n const asLookup: { [id: string]: VisibilityItem } = {};\n for (const entity of (db.anatomicalStructures[organIri] || [])) {\n const iri = entity.representation_of ?? entity['@id'];\n if (!asLookup[iri]) {\n asLookup[iri] = {\n id: entity.representation_of ?? entity['@id'],\n name: entity.label!,\n visible: true,\n opacity: 20,\n tooltip: entity.comment\n };\n }\n }\n this.ctx.patchState({ anatomicalStructures: Object.values(asLookup) });\n\n const sets: ExtractionSet[] = (db.extractionSets[organIri] || []).map((set) => ({\n name: set.label,\n sites: sortBy(set.extractionSites.map((entity) => ({\n id: entity['@id'],\n name: entity.label!,\n visible: false,\n opacity: 0,\n tooltip: entity.comment\n })), 'name')\n }));\n this.ctx.patchState({ extractionSets: sets });\n this.ctx.patchState({ extractionSites: sets.length > 0 ? sets[0].sites : [] });\n\n const spatialEntity = db.organSpatialEntities[organIri];\n organDimensions.x = spatialEntity.x_dimension;\n organDimensions.y = spatialEntity.y_dimension;\n organDimensions.z = spatialEntity.z_dimension;\n }\n\n this.ctx.patchState({ organIri, organDimensions });\n this.ctx.patchState({ position: this.defaultPosition });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SlicesConfig-1.html":{"url":"interfaces/SlicesConfig-1.html","title":"interface - SlicesConfig-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SlicesConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n\n\n \n Description\n \n \n Interface containing slices data of the tissue block\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n numSlices\n \n \n \n \n thickness\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n numSlices\n \n \n \n \n \n \n \n \n numSlices: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Number of slices in the block\n\n \n \n \n \n \n \n \n \n \n thickness\n \n \n \n \n \n \n \n \n thickness: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Thickness of each tissue slice\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * Interface containing slices data of the tissue block\n */\nexport interface SlicesConfig {\n /** Thickness of each tissue slice */\n thickness: number;\n /** Number of slices in the block */\n numSlices: number;\n}\n\n/** Default values for slices config. */\nconst DEFAULT_SLICES_CONFIG: SlicesConfig = {\n thickness: NaN,\n numSlices: NaN\n};\n\n/**\n * Component for entering data on block slices\n */\n@Component({\n selector: 'ccf-slices-input',\n templateUrl: './slices-input.component.html',\n styleUrls: ['./slices-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SlicesInputComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-slices-input';\n\n /**\n * Values of block dimensions to be emitted\n */\n @Input() slicesConfig = DEFAULT_SLICES_CONFIG;\n\n /**\n * Emitter for slice data values\n */\n @Output() readonly slicesConfigChange = new EventEmitter();\n\n /**\n * Returns whether a valid thickness value has been entered.\n */\n get hasThicknessValue(): boolean {\n return !isNaN(this.slicesConfig.thickness);\n }\n\n /**\n * Creates an instance of slices input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Limits the length of the input if needed and updates values when an input changes\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key Name of the dimension to be updated\n */\n updateSlicesData(input: InputEvent, key: string): void {\n const { value: strValue } = input.target as HTMLInputElement;\n this.slicesConfig = { ...this.slicesConfig, [key]: strValue !== '' ? +strValue : NaN };\n this.ga.event('slice_config_update', 'slice_input', key, this.slicesConfig[key]);\n this.slicesConfigChange.emit(this.slicesConfig);\n }\n\n /**\n * Refreshes all slice data values to empty values\n */\n refreshSlices(): void {\n this.slicesConfig = DEFAULT_SLICES_CONFIG;\n this.ga.event('slice_config_reset', 'slice_input');\n this.slicesConfigChange.emit(this.slicesConfig);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SlicesInputComponent.html":{"url":"components/SlicesInputComponent.html","title":"component - SlicesInputComponent","body":"\n \n\n\n\n\n\n Components\n \n SlicesInputComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n\n\n\n \n Description\n \n \n Component for entering data on block slices\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-slices-input\n \n\n \n styleUrls\n ./slices-input.component.scss\n \n\n\n\n \n templateUrl\n ./slices-input.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n refreshSlices\n \n \n updateSlicesData\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n slicesConfig\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n slicesConfigChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n hasThicknessValue\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:48\n \n \n\n \n \n Creates an instance of slices input component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n slicesConfig\n \n \n \n \n Type : SlicesConfig\n\n \n \n \n \n Default value : DEFAULT_SLICES_CONFIG\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:36\n \n \n \n \n Values of block dimensions to be emitted\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n slicesConfigChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:41\n \n \n \n \n Emitter for slice data values\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-slices-input\"\n\n \n \n \n \n Default value : 'ccf-slices-input'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:31\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n refreshSlices\n \n \n \n \n \n \nrefreshSlices()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:73\n \n \n\n\n \n \n Refreshes all slice data values to empty values\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateSlicesData\n \n \n \n \n \n \nupdateSlicesData(input: InputEvent, key: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:63\n \n \n\n\n \n \n Limits the length of the input if needed and updates values when an input changes\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n input\n \n InputEvent\n \n\n \n No\n \n\n\n \n InputEvent from the input element which contains the new value\n\n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n Name of the dimension to be updated\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-slices-input'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:31\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n hasThicknessValue\n \n \n\n \n \n gethasThicknessValue()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:46\n \n \n \n \n Returns whether a valid thickness value has been entered.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * Interface containing slices data of the tissue block\n */\nexport interface SlicesConfig {\n /** Thickness of each tissue slice */\n thickness: number;\n /** Number of slices in the block */\n numSlices: number;\n}\n\n/** Default values for slices config. */\nconst DEFAULT_SLICES_CONFIG: SlicesConfig = {\n thickness: NaN,\n numSlices: NaN\n};\n\n/**\n * Component for entering data on block slices\n */\n@Component({\n selector: 'ccf-slices-input',\n templateUrl: './slices-input.component.html',\n styleUrls: ['./slices-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SlicesInputComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-slices-input';\n\n /**\n * Values of block dimensions to be emitted\n */\n @Input() slicesConfig = DEFAULT_SLICES_CONFIG;\n\n /**\n * Emitter for slice data values\n */\n @Output() readonly slicesConfigChange = new EventEmitter();\n\n /**\n * Returns whether a valid thickness value has been entered.\n */\n get hasThicknessValue(): boolean {\n return !isNaN(this.slicesConfig.thickness);\n }\n\n /**\n * Creates an instance of slices input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Limits the length of the input if needed and updates values when an input changes\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key Name of the dimension to be updated\n */\n updateSlicesData(input: InputEvent, key: string): void {\n const { value: strValue } = input.target as HTMLInputElement;\n this.slicesConfig = { ...this.slicesConfig, [key]: strValue !== '' ? +strValue : NaN };\n this.ga.event('slice_config_update', 'slice_input', key, this.slicesConfig[key]);\n this.slicesConfigChange.emit(this.slicesConfig);\n }\n\n /**\n * Refreshes all slice data values to empty values\n */\n refreshSlices(): void {\n this.slicesConfig = DEFAULT_SLICES_CONFIG;\n this.ga.event('slice_config_reset', 'slice_input');\n this.slicesConfigChange.emit(this.slicesConfig);\n }\n}\n\n \n\n \n \n Tissue Sections\n \n \n refresh\n \n\n\n\n \n Thickness\n \n μm\n \n\n \n # Sections\n \n \n\n\n \n\n \n \n ./slices-input.component.scss\n \n :host {\n input[type=number] {\n -moz-appearance: textfield;\n }\n\n .header {\n display: flex;\n align-items: center;\n height: 1.5rem;\n\n .title {\n font-weight: 600;\n }\n\n .refresh {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n\n &:hover {\n border-radius: 2px;\n }\n }\n }\n\n .slices-inputs {\n display: flex;\n\n .field {\n width: 33.33%;\n\n &:not(:last-child) {\n padding-right: 0.75rem;\n }\n\n .input {\n text-align: center;\n }\n\n .suffix {\n display: none;\n }\n\n &.mat-focused .suffix, .suffix.show {\n display: initial;\n }\n }\n }\n\n .filler {\n flex-grow: 1;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Tissue Sections refresh Thickness μm # Sections '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SlicesInputComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SlicesInputModule.html":{"url":"modules/SlicesInputModule.html","title":"module - SlicesInputModule","body":"\n \n\n\n\n\n Modules\n SlicesInputModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SlicesInputModule\n\n\n\ncluster_SlicesInputModule_exports\n\n\n\ncluster_SlicesInputModule_declarations\n\n\n\n\nSlicesInputComponent\n\nSlicesInputComponent\n\n\n\nSlicesInputModule\n\nSlicesInputModule\n\nSlicesInputModule -->\n\nSlicesInputComponent->SlicesInputModule\n\n\n\n\n\nSlicesInputComponent \n\nSlicesInputComponent \n\nSlicesInputComponent -->\n\nSlicesInputModule->SlicesInputComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SlicesInputComponent\n \n \n \n \n Exports\n \n \n SlicesInputComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { NumbersOnlyModule } from 'ccf-shared';\nimport { SlicesInputComponent } from './slices-input.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatInputModule,\n MatIconModule,\n MatRippleModule,\n MatTooltipModule,\n NumbersOnlyModule\n ],\n declarations: [SlicesInputComponent],\n exports: [SlicesInputComponent]\n})\nexport class SlicesInputModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/StageNavComponent.html":{"url":"components/StageNavComponent.html","title":"component - StageNavComponent","body":"\n \n\n\n\n\n\n Components\n \n StageNavComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts\n\n\n\n \n Description\n \n \n Component that allows the user to change the viewing angle and rendering mode of the stage.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-stage-nav\n \n\n \n styleUrls\n ./stage-nav.component.scss\n \n\n\n\n \n templateUrl\n ./stage-nav.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n isDropdownActive\n \n \n isDropdownHidden\n \n \n labelRef\n \n \n optionsRef\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleClick\n \n \n updateSide\n \n \n updateView\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n side\n \n \n useDropdownMenu\n \n \n view3D\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n sideChange\n \n \n view3DChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n \n \n HostListeners\n \n \n \n \n \n \n document:click\n \n \n \n \n\n \n \n Accessors\n \n \n \n \n \n \n useDropdownMenu\n \n \n labelEl\n \n \n optionsEl\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:60\n \n \n\n \n \n Creates an instance of stage nav component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n side\n \n \n \n \n Type : Side\n\n \n \n \n \n Default value : 'anterior'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:29\n \n \n \n \n Input that allows changing the current side from outside the component\n\n \n \n \n \n \n \n \n \n \n useDropdownMenu\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:23\n \n \n \n \n Whether to use a drop down menu instead of a options bar\n\n \n \n \n \n \n \n \n \n \n view3D\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:32\n \n \n \n \n Input that allows toggling of 3D view on / off from outside the component\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n sideChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:35\n \n \n \n \n Output that emits whenever the current side selection changes\n\n \n \n \n \n \n \n \n \n \n view3DChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:38\n \n \n \n \n Output that emits whenever the 3D view is toggled on / off\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-stage-nav\"\n\n \n \n \n \n Default value : 'ccf-stage-nav'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n HostListeners \n \n \n \n \n \n document:click\n \n \n \n \n \n \n Arguments : '$event.target' \n \n \n \n \ndocument:click(target: HTMLElement)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:76\n \n \n\n\n \n \n Listens to document click event\nCloses the popup only if user clicks outside the popup\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n The element on which the event was fired\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleClick\n \n \n \n \n \n \nhandleClick(target: HTMLElement)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:click', ['$event.target'])\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:76\n \n \n\n\n \n \n Listens to document click event\nCloses the popup only if user clicks outside the popup\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n HTMLElement\n \n\n \n No\n \n\n\n \n The element on which the event was fired\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateSide\n \n \n \n \n \n \nupdateSide(selection: Side)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:91\n \n \n\n\n \n \n Handles the updating of the side selection and calling the event emitter\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n selection\n \n Side\n \n\n \n No\n \n\n\n \n the new selected side\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateView\n \n \n \n \n \n \nupdateView(selection: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:109\n \n \n\n\n \n \n Handles updating of the boolean that keeps track of current view\nand calling the event emitter.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n selection\n \n boolean\n \n\n \n No\n \n\n\n \n 3D (true) or Register (false)\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-stage-nav'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n isDropdownActive\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:47\n \n \n\n \n \n Whether this component shows a dropdown menu or an options bar\n\n \n \n\n \n \n \n \n \n \n \n \n isDropdownHidden\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:50\n \n \n\n \n \n Whether the dropdown menu is hidden\n\n \n \n\n \n \n \n \n \n \n \n \n labelRef\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('label', {static: true})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:41\n \n \n\n \n \n Label for dropdown\n\n \n \n\n \n \n \n \n \n \n \n \n optionsRef\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('options', {static: true})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:44\n \n \n\n \n \n Options dropdown\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n useDropdownMenu\n \n \n\n\n \n \n setuseDropdownMenu(value: boolean)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:23\n \n \n \n \n Whether to use a drop down menu instead of a options bar\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n labelEl\n \n \n\n \n \n getlabelEl()\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:53\n \n \n \n \n Simple helper for accessing the native label element\n\n\n \n Returns : HTMLElement\n\n \n \n \n\n \n \n \n \n \n \n \n optionsEl\n \n \n\n \n \n getoptionsEl()\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:58\n \n \n \n \n Simple helper for accessing the native options element\n\n\n \n Returns : HTMLElement\n\n \n \n \n\n \n \n\n\n\n\n \n import {\n ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild,\n} from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/** Valid values for side. */\nexport type Side = 'left' | 'right' | 'anterior' | 'posterior' | '3D';\n\n/** Component that allows the user to change the viewing angle and rendering mode of the stage. */\n@Component({\n selector: 'ccf-stage-nav',\n templateUrl: './stage-nav.component.html',\n styleUrls: ['./stage-nav.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class StageNavComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-stage-nav';\n\n /** Whether to use a drop down menu instead of a options bar */\n @Input()\n set useDropdownMenu(value: boolean) {\n this.isDropdownActive = value;\n this.isDropdownHidden = true;\n }\n\n /** Input that allows changing the current side from outside the component */\n @Input() side: Side = 'anterior';\n\n /** Input that allows toggling of 3D view on / off from outside the component */\n @Input() view3D = false;\n\n /** Output that emits whenever the current side selection changes */\n @Output() readonly sideChange = new EventEmitter();\n\n /** Output that emits whenever the 3D view is toggled on / off */\n @Output() readonly view3DChange = new EventEmitter();\n\n /** Label for dropdown */\n @ViewChild('label', { static: true }) labelRef: ElementRef;\n\n /** Options dropdown */\n @ViewChild('options', { static: true }) optionsRef: ElementRef;\n\n /** Whether this component shows a dropdown menu or an options bar */\n isDropdownActive = false;\n\n /** Whether the dropdown menu is hidden */\n isDropdownHidden = true;\n\n /** Simple helper for accessing the native label element */\n private get labelEl(): HTMLElement {\n return this.labelRef.nativeElement;\n }\n\n /** Simple helper for accessing the native options element */\n private get optionsEl(): HTMLElement {\n return this.optionsRef.nativeElement;\n }\n\n /**\n * Creates an instance of stage nav component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Listens to document click event\n * Closes the popup only if user clicks outside the popup\n *\n * @param target The element on which the event was fired\n */\n @HostListener('document:click', ['$event.target'])\n handleClick(target: HTMLElement): void {\n const { isDropdownHidden, labelEl, optionsEl } = this;\n\n if (labelEl.contains(target)) {\n this.isDropdownHidden = !isDropdownHidden;\n } else if (!optionsEl.contains(target)) {\n this.isDropdownHidden = true;\n }\n }\n\n /**\n * Handles the updating of the side selection and calling the event emitter\n *\n * @param selection the new selected side\n */\n updateSide(selection: Side): void {\n this.ga.event('side_update', 'stage_nav', selection);\n\n if (selection === '3D') {\n this.updateView(true);\n } else {\n this.updateView(false);\n this.side = selection;\n this.sideChange.emit(this.side);\n }\n }\n\n /**\n * Handles updating of the boolean that keeps track of current view\n * and calling the event emitter.\n *\n * @param selection 3D (true) or Register (false)\n */\n updateView(selection: boolean): void {\n this.view3D = selection;\n this.ga.event('view_update', 'stage_nav', selection ? '3D' : 'Register');\n this.view3DChange.emit(this.view3D);\n }\n}\n\n \n\n \n \n Options\n arrow_drop_down\n\n\n\n \n Left\n Right\n Anterior\n Posterior\n \n\n \n\n\n\n \n\n \n \n ./stage-nav.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n\n .dropdown-label {\n display: none;\n align-items: center;\n\n mat-label,\n mat-icon {\n line-height: 1.5rem;\n }\n\n &.dropdown {\n display: flex;\n cursor: pointer;\n align-items: start;\n }\n }\n\n .stage-options {\n display: flex;\n align-items: center;\n\n .input-group {\n .nav-input {\n margin-right: 1.5rem;\n margin-bottom: 1.5rem;\n }\n }\n\n .view-slider {\n margin-left: -1rem;\n margin-bottom: 1.5rem;\n white-space: nowrap;\n }\n\n &.dropdowncontainer {\n display: flex;\n flex-direction: column;\n border-radius: 0.25rem;\n width: 16.5rem;\n position: absolute;\n top: 3.5rem;\n z-index: 1;\n transition: opacity 0.25s;\n\n :first-child {\n margin-top: 0.5rem;\n }\n\n :last-child {\n margin-bottom: 0.5rem;\n }\n\n .input-group {\n margin-left: 1.5rem;\n margin-right: 0;\n display: flex;\n flex-wrap: wrap;\n\n .nav-input {\n display: flex;\n margin: 0;\n margin-right: 1.5rem;\n height: 2.5rem;\n }\n }\n\n .view-slider {\n display: flex;\n align-items: center;\n height: 3rem;\n margin: 0 0.5rem;\n }\n\n mat-divider {\n visibility: visible;\n border-top: 2px solid;\n }\n }\n\n &.hidden {\n visibility: hidden;\n opacity: 0;\n transition: visibility 0.25s, opacity 0.25s;\n\n mat-divider {\n visibility: hidden;\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Options arrow_drop_down Left Right Anterior Posterior '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'StageNavComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StageNavModule.html":{"url":"modules/StageNavModule.html","title":"module - StageNavModule","body":"\n \n\n\n\n\n Modules\n StageNavModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_StageNavModule\n\n\n\ncluster_StageNavModule_exports\n\n\n\ncluster_StageNavModule_imports\n\n\n\ncluster_StageNavModule_declarations\n\n\n\n\nStageNavComponent\n\nStageNavComponent\n\n\n\nStageNavModule\n\nStageNavModule\n\nStageNavModule -->\n\nStageNavComponent->StageNavModule\n\n\n\n\n\nStageNavComponent \n\nStageNavComponent \n\nStageNavComponent -->\n\nStageNavModule->StageNavComponent \n\n\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nStageNavModule -->\n\nLabeledSlideToggleModule->StageNavModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n StageNavComponent\n \n \n \n \n Imports\n \n \n LabeledSlideToggleModule\n \n \n \n \n Exports\n \n \n StageNavComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { LabeledSlideToggleModule } from '../../../shared/components/labeled-slide-toggle/labeled-slide-toggle.module';\n\nimport { StageNavComponent } from './stage-nav.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatRadioModule,\n MatSelectModule,\n MatIconModule,\n MatDividerModule,\n LabeledSlideToggleModule,\n MatTooltipModule\n ],\n declarations: [StageNavComponent],\n exports: [StageNavComponent]\n})\nexport class StageNavModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StoreModule.html":{"url":"modules/StoreModule.html","title":"module - StoreModule","body":"\n \n\n\n\n\n Modules\n StoreModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/core/store/store.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { NgxsDataPluginModule } from '@ngxs-labs/data';\nimport { NgxsLoggerPluginModule } from '@ngxs/logger-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule } from '@ngxs/store';\nimport { GlobalConfigState } from 'ccf-shared';\n\nimport { environment } from '../../../environments/environment';\nimport { AnatomicalStructureTagState } from './anatomical-structure-tags/anatomical-structure-tags.state';\nimport { IconRegistryState } from './icon-registry/icon-registry.state';\nimport { ModelState } from './model/model.state';\nimport { PageState } from './page/page.state';\nimport { ReferenceDataState } from './reference-data/reference-data.state';\nimport { RegistrationState } from './registration/registration.state';\nimport { SceneState } from './scene/scene.state';\n\n\n/**\n * States shared across the entire app.\n */\nexport const ROOT_STATES = [\n GlobalConfigState,\n IconRegistryState,\n PageState,\n ModelState,\n AnatomicalStructureTagState,\n ReferenceDataState,\n RegistrationState,\n SceneState\n];\n\n@NgModule({\n imports: [\n // For some strange reason the data plugin is not happy being placed after the store module!?\n NgxsDataPluginModule.forRoot(),\n\n NgxsModule.forRoot(ROOT_STATES, {\n developmentMode: !environment.production\n // Consider setting compatibility and executionStrategy\n // https://www.ngxs.io/advanced/options\n }),\n\n // Must come before all other plugins except the ngxs data plugin!\n NgxsStoragePluginModule.forRoot({\n key: ['registration.registrations']\n }),\n\n // Logger plugin must be last!\n NgxsLoggerPluginModule.forRoot({\n disabled: environment.production\n })\n ]\n})\nexport class StoreModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Tag.html":{"url":"interfaces/Tag.html","title":"interface - Tag","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Tag\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n\n\n \n Description\n \n \n A tag\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n label\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: TagId\n\n \n \n\n\n \n \n Type : TagId\n\n \n \n\n\n\n\n\n \n \n Unique identifier\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Display label\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \"assigned\" | \"added\" | \"removed\"\n\n \n \n\n\n \n \n Type : \"assigned\" | \"added\" | \"removed\"\n\n \n \n\n\n\n\n\n \n \n How the tag was added\n\n \n \n \n \n \n \n\n\n \n export type TagId = string | number;\n\n/**\n * A tag\n */\nexport interface Tag {\n /** Unique identifier */\n id: TagId;\n /** Display label */\n label: string;\n /** How the tag was added */\n type: 'assigned' | 'added' | 'removed';\n}\n\n/**\n * Search result\n */\nexport interface TagSearchResult {\n /** Total number of possible results */\n totalCount: number;\n /** Partial results up to a limit */\n results: Tag[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TagListComponent.html":{"url":"components/TagListComponent.html","title":"component - TagListComponent","body":"\n \n\n\n\n\n\n Components\n \n TagListComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts\n\n\n\n \n Description\n \n \n A list of removable tags\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-tag-list\n \n\n \n styleUrls\n ./tag-list.component.scss\n \n\n\n\n \n templateUrl\n ./tag-list.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n removeTag\n \n \n tagClasses\n \n \n tagId\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n tags\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n tagRemoved\n \n \n tagsChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:33\n \n \n\n \n \n Creates an instance of tag list component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n tags\n \n \n \n \n Type : Tag[]\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:23\n \n \n \n \n The tags\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n tagRemoved\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:28\n \n \n \n \n Emits when a tag is removed\n\n \n \n \n \n \n \n \n \n \n tagsChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:33\n \n \n \n \n Emits the new array of tags when a tag has been removed\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-tag-list\"\n\n \n \n \n \n Default value : 'ccf-tag-list'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n removeTag\n \n \n \n \n \n \nremoveTag(tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:62\n \n \n\n\n \n \n Removes a tag from the list\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n Tag to remove\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n tagClasses\n \n \n \n \n \n \ntagClasses(tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n tagId\n \n \n \n \n \n \ntagId(_index: number, tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:49\n \n \n\n\n \n \n Gets the unique identifier for a tag\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n Unused\n\n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n A tag\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-tag-list'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { Tag } from '../../../core/models/anatomical-structure-tag';\n\n\n/**\n * A list of removable tags\n */\n@Component({\n selector: 'ccf-tag-list',\n templateUrl: './tag-list.component.html',\n styleUrls: ['./tag-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TagListComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-tag-list';\n\n /**\n * The tags\n */\n @Input() tags: Tag[];\n\n /**\n * Emits when a tag is removed\n */\n @Output() readonly tagRemoved = new EventEmitter();\n\n /**\n * Emits the new array of tags when a tag has been removed\n */\n @Output() readonly tagsChange = new EventEmitter();\n\n /**\n * Creates an instance of tag list component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Gets the unique identifier for a tag\n *\n * @param _index Unused\n * @param tag A tag\n * @returns An identifier\n */\n tagId(_index: number, tag: Tag): unknown {\n return tag.id;\n }\n\n tagClasses(tag: Tag): string[] {\n return tag.type === 'added' ? ['added'] : ['assigned'];\n }\n\n /**\n * Removes a tag from the list\n *\n * @param tag Tag to remove\n */\n removeTag(tag: Tag): void {\n this.tags = this.tags.filter(obj => obj !== tag);\n this.ga.event('tag_removed', 'tag_list', tag.label);\n this.tagRemoved.emit(tag);\n this.tagsChange.emit(this.tags);\n }\n}\n\n \n\n \n \n \n {{ tag.label }}\n cancel\n \n\n\n \n\n \n \n ./tag-list.component.scss\n \n :host {\n display: block;\n overflow-x: hidden;\n overflow-y: auto;\n\n ::ng-deep .mat-chip-list-wrapper {\n margin: 0;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ tag.label }} cancel '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TagListComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TagListModule.html":{"url":"modules/TagListModule.html","title":"module - TagListModule","body":"\n \n\n\n\n\n Modules\n TagListModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TagListModule\n\n\n\ncluster_TagListModule_declarations\n\n\n\ncluster_TagListModule_exports\n\n\n\n\nTagListComponent\n\nTagListComponent\n\n\n\nTagListModule\n\nTagListModule\n\nTagListModule -->\n\nTagListComponent->TagListModule\n\n\n\n\n\nTagListComponent \n\nTagListComponent \n\nTagListComponent -->\n\nTagListModule->TagListComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/tag-list/tag-list.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TagListComponent\n \n \n \n \n Exports\n \n \n TagListComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TagListComponent } from './tag-list.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatChipsModule,\n MatIconModule\n ],\n declarations: [TagListComponent],\n exports: [TagListComponent],\n})\nexport class TagListModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TagSearchComponent.html":{"url":"components/TagSearchComponent.html","title":"component - TagSearchComponent","body":"\n \n\n\n\n\n\n Components\n \n TagSearchComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n\n\n\n \n Description\n \n \n Component for searching, selecting, and adding tags.\n\n \n\n\n \n Implements\n \n \n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-tag-search\n \n\n \n styleUrls\n ./tag-search.component.scss\n \n\n\n\n \n templateUrl\n ./tag-search.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n checkedResults\n \n \n closeSearch\n \n \n Readonly\n clsName\n \n \n Readonly\n countMapping\n \n \n Private\n Readonly\n destroy$\n \n \n resultsVisible\n \n \n Readonly\n searchControl\n \n \n searchResults\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addTags\n \n \n closeResults\n \n \n Private\n executeSearch\n \n \n Private\n getUpdatedCheckedResults\n \n \n hasCheckedTags\n \n \n ngOnDestroy\n \n \n openResults\n \n \n tagId\n \n \n Private\n truncateResults\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n placeholder\n \n \n search\n \n \n searchLimit\n \n \n searchThrottle\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n added\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n \n \n HostListeners\n \n \n \n \n \n \n click\n \n \n focusin\n \n \n window:click\n \n \n window:focusin\n \n \n \n \n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(el: ElementRef, ga: GoogleAnalyticsService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:73\n \n \n\n \n \n Creates an instance of tag search component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n el\n \n \n ElementRef\n \n \n \n No\n \n \n \n Element for this component\n\n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n Reference to change detector\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n placeholder\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Add Anatomical Structures ...'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:37\n \n \n \n \n Placeholder text\n\n \n \n \n \n \n \n \n \n \n search\n \n \n \n \n Type : function\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:40\n \n \n \n \n Search method\n\n \n \n \n \n \n \n \n \n \n searchLimit\n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:43\n \n \n \n \n Maximum number of results to show\n\n \n \n \n \n \n \n \n \n \n searchThrottle\n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:46\n \n \n \n \n Throttle time between search calls\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n added\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:49\n \n \n \n \n Emits when tags are added\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-tag-search\"\n\n \n \n \n \n Default value : 'ccf-tag-search'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:34\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n HostListeners \n \n \n \n \n \n click\n \n \n \n \n \n \nclick()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:150\n \n \n\n\n \n \n Opens the results panel\n\n\n \n \n \n \n \n \n \n \n \n \n focusin\n \n \n \n \n \n \nfocusin()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:150\n \n \n\n\n \n \n Opens the results panel\n\n\n \n \n \n \n \n \n \n \n \n \n window:click\n \n \n \n \n \n \n Arguments : '$event' \n \n \n \n \nwindow:click(event: Event)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:163\n \n \n\n\n \n \n Closes the results panel\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n event\n\n \n No\n \n\n\n \n DOM event\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n window:focusin\n \n \n \n \n \n \n Arguments : '$event' \n \n \n \n \nwindow:focusin(event: Event)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:163\n \n \n\n\n \n \n Closes the results panel\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n event\n\n \n No\n \n\n\n \n DOM event\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n addTags\n \n \n \n \n \n \naddTags()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:132\n \n \n\n\n \n \n Emits selected tags and resets the search and selections\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n closeResults\n \n \n \n \n \n \ncloseResults(event: Event)\n \n \n\n \n \n Decorators : \n \n @HostListener('window:click', ['$event'])@HostListener('window:focusin', ['$event'])\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:163\n \n \n\n\n \n \n Closes the results panel\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n Event\n \n\n \n No\n \n\n\n \n DOM event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n executeSearch\n \n \n \n \n \n \n \n executeSearch(text: string)\n \n \n\n \n \n Decorators : \n \n @Bind()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:179\n \n \n\n\n \n \n Executes a search on a piece of text.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n Search text\n\n \n \n \n \n \n \n \n \n Returns : ObservableInput\n\n \n \n An observable of the search result.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getUpdatedCheckedResults\n \n \n \n \n \n \n \n getUpdatedCheckedResults(result: TagSearchResult)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:218\n \n \n\n\n \n \n Computes a new checked object for result items. Already checked items are preserved.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n result\n \n TagSearchResult\n \n\n \n No\n \n\n\n \n New results\n\n \n \n \n \n \n \n \n \n Returns : Record\n\n \n \n A new checked object\n\n \n \n \n \n \n \n \n \n \n \n \n hasCheckedTags\n \n \n \n \n \n \nhasCheckedTags()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:125\n \n \n\n\n \n \n Determines whether any tags have been checked\n\n\n \n \n \n Returns : boolean\n\n \n \n true if any tag has been checked by the user\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:104\n \n \n\n\n \n \n Cleans up component on destruction\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n openResults\n \n \n \n \n \n \nopenResults()\n \n \n\n \n \n Decorators : \n \n @HostListener('click')@HostListener('focusin')\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:150\n \n \n\n\n \n \n Opens the results panel\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n tagId\n \n \n \n \n \n \ntagId(_index: number, tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:116\n \n \n\n\n \n \n Extracts the tag identifier\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n Unused\n\n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n A tag\n\n \n \n \n \n \n \n \n \n Returns : TagId\n\n \n \n The identifier corresponding to the tag\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n truncateResults\n \n \n \n \n \n \n \n truncateResults(result: TagSearchResult)\n \n \n\n \n \n Decorators : \n \n @Bind()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:198\n \n \n\n\n \n \n Truncates the number of results returned by a search\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n result\n \n TagSearchResult\n \n\n \n No\n \n\n\n \n The results\n\n \n \n \n \n \n \n \n \n Returns : TagSearchResult\n\n \n \n Results with at most searchLimit items\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n checkedResults\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:67\n \n \n\n \n \n Object of currently checked search results\n\n \n \n\n \n \n \n \n \n \n \n \n closeSearch\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('closeSearch', {read: ElementRef, static: false})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:52\n \n \n\n \n \n Element for close search button\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-tag-search'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:34\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n countMapping\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n '=1': '1 result',\n other: '# results'\n }\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:55\n \n \n\n \n \n Mapping for pluralizing the result total count\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n Readonly\n destroy$\n \n \n \n \n \n \n Default value : new Subject()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:73\n \n \n\n \n \n Emits and completes when component is destroyed. Used to clean up observables.\n\n \n \n\n \n \n \n \n \n \n \n \n resultsVisible\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:70\n \n \n\n \n \n Whether results are shown\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n searchControl\n \n \n \n \n \n \n Default value : new FormControl()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:61\n \n \n\n \n \n Search field controller\n\n \n \n\n \n \n \n \n \n \n \n \n searchResults\n \n \n \n \n \n \n Default value : EMPTY_RESULT\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:64\n \n \n\n \n \n Search results\n\n \n \n\n \n \n\n\n\n\n\n \n import {\n ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input,\n OnDestroy, Output, ViewChild,\n} from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { bind as Bind } from 'bind-decorator';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { from, interval, ObservableInput, Subject } from 'rxjs';\nimport { catchError, map, switchMap, takeUntil, throttle } from 'rxjs/operators';\n\nimport { Tag, TagId, TagSearchResult } from '../../../core/models/anatomical-structure-tag';\n\n\n/** Default search results limit */\nconst DEFAULT_SEARCH_LIMIT = 5;\n/** Default search throttle time in ms */\nconst DEFAULT_SEARCH_THROTTLE = 100;\n/** Empty search result object */\nconst EMPTY_RESULT: TagSearchResult = { totalCount: 0, results: [] };\n\n\n/**\n * Component for searching, selecting, and adding tags.\n */\n@Component({\n selector: 'ccf-tag-search',\n templateUrl: './tag-search.component.html',\n styleUrls: ['./tag-search.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TagSearchComponent implements OnDestroy {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-tag-search';\n\n /** Placeholder text */\n @Input() placeholder = 'Add Anatomical Structures ...';\n\n /** Search method */\n @Input() search?: (text: string, limit: number) => ObservableInput;\n\n /** Maximum number of results to show */\n @Input() searchLimit?: number;\n\n /** Throttle time between search calls */\n @Input() searchThrottle?: number;\n\n /** Emits when tags are added */\n @Output() readonly added = new EventEmitter();\n\n /** Element for close search button */\n @ViewChild('closeSearch', { read: ElementRef, static: false }) closeSearch: ElementRef;\n\n /** Mapping for pluralizing the result total count */\n readonly countMapping = {\n '=1': '1 result',\n other: '# results'\n };\n\n /** Search field controller */\n readonly searchControl = new FormControl();\n\n /** Search results */\n searchResults = EMPTY_RESULT;\n\n /** Object of currently checked search results */\n checkedResults: Record = {};\n\n /** Whether results are shown */\n resultsVisible = false;\n\n /** Emits and completes when component is destroyed. Used to clean up observables. */\n private readonly destroy$ = new Subject();\n\n /**\n * Creates an instance of tag search component.\n *\n * @param el Element for this component\n * @param ga Analytics service\n * @param cdr Reference to change detector\n */\n constructor(\n private readonly el: ElementRef,\n private readonly ga: GoogleAnalyticsService,\n cdr: ChangeDetectorRef\n ) {\n this.searchControl.valueChanges.pipe(\n takeUntil(this.destroy$),\n throttle(\n () => interval(this.searchThrottle ?? DEFAULT_SEARCH_THROTTLE),\n { leading: true, trailing: true }\n ),\n switchMap(this.executeSearch),\n ).subscribe(result => {\n this.searchResults = result;\n this.checkedResults = this.getUpdatedCheckedResults(result);\n cdr.markForCheck();\n });\n }\n\n /**\n * Cleans up component on destruction\n */\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n /**\n * Extracts the tag identifier\n *\n * @param _index Unused\n * @param tag A tag\n * @returns The identifier corresponding to the tag\n */\n tagId(_index: number, tag: Tag): TagId {\n return tag.id;\n }\n\n /**\n * Determines whether any tags have been checked\n *\n * @returns true if any tag has been checked by the user\n */\n hasCheckedTags(): boolean {\n return Object.values(this.checkedResults).some(v => v);\n }\n\n /**\n * Emits selected tags and resets the search and selections\n */\n addTags(): void {\n const { searchControl, searchResults, checkedResults } = this;\n const tags = searchResults.results.filter(tag => checkedResults[tag.id]);\n\n if (tags.length > 0) {\n searchControl.reset();\n this.searchResults = EMPTY_RESULT;\n this.checkedResults = {};\n this.ga.event('tags_added', 'tag_search', tags.map(tag => tag.label).join(','));\n this.added.emit(tags);\n }\n }\n\n /**\n * Opens the results panel\n */\n @HostListener('click') // eslint-disable-line\n @HostListener('focusin') // eslint-disable-line\n openResults(): void {\n if (!this.resultsVisible) {\n this.resultsVisible = true;\n }\n }\n\n /**\n * Closes the results panel\n *\n * @param event DOM event\n */\n @HostListener('window:click', ['$event']) // eslint-disable-line\n @HostListener('window:focusin', ['$event']) // eslint-disable-line\n closeResults(event: Event): void {\n const { closeSearch } = this;\n if (this.resultsVisible && event.target instanceof Node) {\n if (!this.el.nativeElement.contains(event.target) || closeSearch.nativeElement.contains(event.target)) {\n this.resultsVisible = false;\n }\n }\n }\n\n /**\n * Executes a search on a piece of text.\n *\n * @param text Search text\n * @returns An observable of the search result.\n */\n @Bind\n private executeSearch(text: string): ObservableInput {\n const { search, searchLimit = DEFAULT_SEARCH_LIMIT } = this;\n if (!text || !search) {\n return [EMPTY_RESULT];\n }\n\n return from(search(text, searchLimit)).pipe(\n catchError(() => [EMPTY_RESULT]),\n map(this.truncateResults)\n );\n }\n\n /**\n * Truncates the number of results returned by a search\n *\n * @param result The results\n * @returns Results with at most `searchLimit` items\n */\n @Bind\n private truncateResults(result: TagSearchResult): TagSearchResult {\n const { searchLimit = DEFAULT_SEARCH_LIMIT } = this;\n const items = result.results;\n\n if (items.length > searchLimit) {\n return {\n ...result,\n results: items.slice(0, searchLimit)\n };\n }\n\n return result;\n }\n\n /**\n * Computes a new checked object for result items. Already checked items are preserved.\n *\n * @param result New results\n * @returns A new checked object\n */\n private getUpdatedCheckedResults(result: TagSearchResult): Record {\n const prev = this.checkedResults;\n return result.results.reduce((acc, { id }) => {\n acc[id] = prev[id] ?? false;\n return acc;\n }, {});\n }\n}\n\n \n\n \n \n\n\n \n \n \n add\n \n \n\n \n \n \n {{ result.label }}\n \n \n\n \n {{ searchResults.totalCount | i18nPlural:countMapping }}\n \n \n\n\n \n\n \n \n ./tag-search.component.scss\n \n :host {\n display: block;\n position: relative;\n\n .spacer {\n // Calculated by adding up all padding/margin/height of material form fields\n height: 3.25rem;\n }\n\n .overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n z-index: 10;\n\n .search-box {\n display: flex;\n width: 100%;\n align-items: center;\n height: 3rem;\n\n .add-button {\n border-radius: 0.25rem;\n border: none;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n height: 100%;\n }\n }\n\n .results {\n margin-top: 0.5rem;\n\n .count {\n margin-top: 0.5rem;\n font-size: 0.75rem;\n text-align: end;\n }\n }\n\n ::ng-deep {\n .mat-form-field-wrapper {\n padding-bottom: 0;\n border-radius: 0.5rem;\n\n .mat-form-field-flex {\n padding-right: 0 !important;\n }\n }\n\n .mat-form-field-outline {\n opacity: 1 !important;\n }\n\n .mat-form-field-outline-thick {\n opacity: 0 !important;\n }\n\n .mat-form-field-infix {\n padding: 0.063rem;\n padding-top: 0.313rem;\n border: 0;\n }\n }\n\n &.expanded {\n ::ng-deep {\n .mat-form-field-wrapper {\n box-shadow: 0rem 0rem 0.3rem 0.1rem #9e9e9e5e;\n }\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' add {{ result.label }} {{ searchResults.totalCount | i18nPlural:countMapping }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TagSearchComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TagSearchModule.html":{"url":"modules/TagSearchModule.html","title":"module - TagSearchModule","body":"\n \n\n\n\n\n Modules\n TagSearchModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TagSearchModule\n\n\n\ncluster_TagSearchModule_declarations\n\n\n\ncluster_TagSearchModule_exports\n\n\n\n\nTagSearchComponent\n\nTagSearchComponent\n\n\n\nTagSearchModule\n\nTagSearchModule\n\nTagSearchModule -->\n\nTagSearchComponent->TagSearchModule\n\n\n\n\n\nTagSearchComponent \n\nTagSearchComponent \n\nTagSearchComponent -->\n\nTagSearchModule->TagSearchComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TagSearchComponent\n \n \n \n \n Exports\n \n \n TagSearchComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { TagSearchComponent } from './tag-search.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n MatButtonModule,\n MatCheckboxModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n ],\n declarations: [TagSearchComponent],\n exports: [TagSearchComponent]\n})\nexport class TagSearchModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TagSearchResult.html":{"url":"interfaces/TagSearchResult.html","title":"interface - TagSearchResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TagSearchResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n\n\n \n Description\n \n \n Search result\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n results\n \n \n \n \n totalCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n results\n \n \n \n \n \n \n \n \n results: Tag[]\n\n \n \n\n\n \n \n Type : Tag[]\n\n \n \n\n\n\n\n\n \n \n Partial results up to a limit\n\n \n \n \n \n \n \n \n \n \n totalCount\n \n \n \n \n \n \n \n \n totalCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Total number of possible results\n\n \n \n \n \n \n \n\n\n \n export type TagId = string | number;\n\n/**\n * A tag\n */\nexport interface Tag {\n /** Unique identifier */\n id: TagId;\n /** Display label */\n label: string;\n /** How the tag was added */\n type: 'assigned' | 'added' | 'removed';\n}\n\n/**\n * Search result\n */\nexport interface TagSearchResult {\n /** Total number of possible results */\n totalCount: number;\n /** Partial results up to a limit */\n results: Tag[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ThemingModule.html":{"url":"modules/ThemingModule.html","title":"module - ThemingModule","body":"\n \n\n\n\n\n Modules\n ThemingModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ThemingModule\n\n\n\ncluster_ThemingModule_providers\n\n\n\n\nThemingService\n\nThemingService\n\n\n\nThemingModule\n\nThemingModule\n\nThemingModule -->\n\nThemingService->ThemingModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/core/services/theming/theming.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ThemingService\n \n \n \n \n \n\n\n \n\n\n \n import { APP_BOOTSTRAP_LISTENER, NgModule } from '@angular/core';\n\nimport { ThemingService } from './theming.service';\n\n\n@NgModule({\n providers: [\n { provide: APP_BOOTSTRAP_LISTENER, useValue: ThemingService.initialize, multi: true },\n ThemingService\n ]\n})\nexport class ThemingModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ThemingService.html":{"url":"injectables/ThemingService.html","title":"injectable - ThemingService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ThemingService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/services/theming/theming.service.ts\n \n\n\n \n Description\n \n \n Manages the currently active theme.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n defaultTheme\n \n \n Private\n element\n \n \n Private\n injector\n \n \n Private\n theme\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n applyThemeClass\n \n \n getTheme\n \n \n Static\n initialize\n \n \n initialize\n \n \n resetTheme\n \n \n setTheme\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(defaultTheme: string | null)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:25\n \n \n\n \n \n Creates the theming service.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n defaultTheme\n \n \n string | null\n \n \n \n No\n \n \n \n An optional default theme.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n applyThemeClass\n \n \n \n \n \n \n \n applyThemeClass(cls: string, method: \"add\" | \"remove\")\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:83\n \n \n\n\n \n \n Adds or removes a theme class from the necessary components.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n Description\n \n \n \n \n cls\n \n string\n \n\n \n No\n \n\n \n \n\n \n The theme class.\n\n \n \n \n method\n \n \"add\" | \"remove\"\n \n\n \n No\n \n\n \n 'add'\n \n\n \n Whether to add or remove the theme.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTheme\n \n \n \n \n \n \ngetTheme()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:39\n \n \n\n\n \n \n Get the currently active theme.\n\n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Static\n initialize\n \n \n \n \n \n \n \n initialize(component: ComponentRef<>)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:21\n \n \n\n\n \n \n Initializer called during bootstrap to set up theming.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n component\n \n ComponentRef<>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n initialize\n \n \n \n \n \n \ninitialize(element: ElementRef<>, injector: Injector)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:71\n \n \n\n\n \n \n Binds theming service to a component.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n ElementRef<>\n \n\n \n No\n \n\n\n \n \n injector\n \n Injector\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetTheme\n \n \n \n \n \n \nresetTheme()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:60\n \n \n\n\n \n \n Resets the theme to the default.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setTheme\n \n \n \n \n \n \nsetTheme(theme: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:48\n \n \n\n\n \n \n Sets the currently active theme.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n theme\n \n string\n \n\n \n No\n \n\n\n \n The new theme class.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n defaultTheme\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:16\n \n \n\n \n \n Default theme class.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n element\n \n \n \n \n \n \n Type : ElementRef<>\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n injector\n \n \n \n \n \n \n Type : Injector\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n theme\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:18\n \n \n\n \n \n Currently active theme class.\n\n \n \n\n \n \n\n\n \n\n\n \n import { OverlayContainer } from '@angular/cdk/overlay';\nimport { ComponentRef, ElementRef, Inject, Injector, Injectable, InjectionToken, Optional, Renderer2 } from '@angular/core';\n\n/** Token for specifying the default theme class. */\nexport const DEFAULT_THEME = new InjectionToken('Default theme class');\n\n/**\n * Manages the currently active theme.\n */\n@Injectable()\nexport class ThemingService {\n private element: ElementRef;\n private injector: Injector;\n /** Default theme class. */\n private defaultTheme: string;\n /** Currently active theme class. */\n private theme: string;\n\n /** Initializer called during bootstrap to set up theming. */\n static initialize(component: ComponentRef): void {\n const { injector, location } = component;\n const service = injector.get(ThemingService);\n service.initialize(location, injector);\n }\n\n /**\n * Creates the theming service.\n *\n * @param defaultTheme An optional default theme.\n */\n constructor(@Optional() @Inject(DEFAULT_THEME) defaultTheme: string | null) {\n this.defaultTheme = this.theme = defaultTheme ?? '';\n }\n\n /**\n * Get the currently active theme.\n */\n getTheme(): string {\n return this.theme;\n }\n\n /**\n * Sets the currently active theme.\n *\n * @param theme The new theme class.\n */\n setTheme(theme: string): void {\n if (theme === this.theme) {\n return;\n }\n this.applyThemeClass(this.theme, 'remove');\n this.applyThemeClass(theme);\n this.theme = theme;\n }\n\n /**\n * Resets the theme to the default.\n */\n resetTheme(): void {\n this.setTheme(this.defaultTheme);\n }\n\n\n /**\n * Binds theming service to a component.\n *\n * @param component The top level component.\n * @throws {Error} If the theming service has already been initialized.\n */\n initialize(element: ElementRef, injector: Injector): void {\n this.element = element;\n this.injector = injector;\n this.applyThemeClass(this.getTheme());\n }\n\n /**\n * Adds or removes a theme class from the necessary components.\n *\n * @param cls The theme class.\n * @param method Whether to add or remove the theme.\n */\n private applyThemeClass(cls: string, method: 'add' | 'remove' = 'add'): void {\n const { element, injector } = this;\n if (!cls || !element || !injector) {\n return;\n }\n\n const renderer = injector.get(Renderer2, null);\n if (!renderer) {\n return;\n }\n\n const root = element.nativeElement as HTMLElement;\n const overlay = injector.get(OverlayContainer, null)?.getContainerElement();\n const methodName = method === 'add' ? 'addClass' : 'removeClass';\n\n renderer[methodName](root, cls);\n if (overlay) {\n renderer[methodName](overlay, cls);\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ToggleButtonComponent.html":{"url":"components/ToggleButtonComponent.html","title":"component - ToggleButtonComponent","body":"\n \n\n\n\n\n\n Components\n \n ToggleButtonComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts\n\n\n\n \n Description\n \n \n Implements open/close button for the side drawers.\n\n \n\n\n \n Implements\n \n \n AfterViewInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-drawer-toggle-button\n \n\n \n styleUrls\n ./toggle-button.component.scss\n \n\n\n\n \n templateUrl\n ./toggle-button.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n Private\n opened\n \n \n Private\n position\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleMessage\n \n \n ngAfterViewInit\n \n \n ngOnDestroy\n \n \n toggle\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n class.ccf-drawer-toggle-button-end\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n classEnd\n \n \n icon\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(drawer: DrawerComponent, messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:42\n \n \n\n \n \n Creates an instance of toggle button component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n drawer\n \n \n DrawerComponent\n \n \n \n No\n \n \n \n The owning side drawer.\n\n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n Service used to send and receive event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-toggle-button\"\n\n \n \n \n \n Default value : 'ccf-drawer-toggle-button'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:19\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n class.ccf-drawer-toggle-button-end\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:22\n \n \n\n \n \n Whether this button is attach to a drawer in position 'end'.\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleMessage\n \n \n \n \n \n \nhandleMessage(msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:85\n \n \n\n\n \n \n Process an event message.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to be run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngAfterViewInit\n \n \n \n \n \n \nngAfterViewInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:65\n \n \n\n\n \n \n Initializes this component.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:75\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n toggle\n \n \n \n \n \n \ntoggle()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:97\n \n \n\n\n \n \n Updates the drawer state.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-toggle-button'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:19\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n opened\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:40\n \n \n\n \n \n Whether the owning drawer is opened.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n position\n \n \n \n \n \n \n Type : \"start\" | \"end\"\n\n \n \n \n \n Default value : 'start'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:38\n \n \n\n \n \n Position of the owning side drawer.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:42\n \n \n\n \n \n Subscriptions managed by this component.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n classEnd\n \n \n\n \n \n getclassEnd()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:22\n \n \n \n \n Whether this button is attach to a drawer in position 'end'.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n \n \n \n \n \n icon\n \n \n\n \n \n geticon()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:27\n \n \n \n \n Gets the name of the icon to display.\n\n\n \n Returns : string\n\n \n \n \n\n \n \n\n\n\n\n \n import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageService } from '../messages';\n\n\n/**\n * Implements open/close button for the side drawers.\n */\n@Component({\n selector: 'ccf-drawer-toggle-button',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToggleButtonComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-toggle-button';\n /** Whether this button is attach to a drawer in position 'end'. */\n @HostBinding('class.ccf-drawer-toggle-button-end')\n get classEnd(): boolean {\n return this.position === 'end';\n }\n\n /** Gets the name of the icon to display. */\n get icon(): string {\n let expand = 'arrow_right';\n let collapse = 'arrow_left';\n if (this.position === 'end') {\n ([expand, collapse] = [collapse, expand]);\n }\n\n return this.opened ? collapse : expand;\n }\n\n /** Position of the owning side drawer. */\n private position: 'start' | 'end' = 'start';\n /** Whether the owning drawer is opened. */\n private opened = false;\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of toggle button component.\n *\n * @param drawer The owning side drawer.\n * @param messageService Service used to send and receive event messages.\n * @param cdr The change detector reference.\n */\n constructor(private drawer: DrawerComponent,\n messageService: MessageService,\n private cdr: ChangeDetectorRef) {\n const channel = messageService.connect(this);\n this.subscriptions.add(channel.getMessagesFromSource(drawer).subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Initializes this component.\n */\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.position = this.drawer.position;\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Process an event message.\n *\n * @param msg The event.\n * @returns true if change detection needs to be run.\n */\n handleMessage(msg: Message): boolean {\n if (msg.payload.type === 'drawer-toggled') {\n this.opened = msg.payload.opened;\n return true;\n }\n\n return false;\n }\n\n /**\n * Updates the drawer state.\n */\n toggle(): void {\n const drawer = this.drawer;\n const { opened, expanded } = drawer;\n if (opened) {\n if (expanded) {\n drawer.closeExpanded();\n } else {\n drawer.close();\n }\n } else {\n drawer.open();\n }\n }\n}\n\n \n\n \n \n arrow_right\n\n\n arrow_left\n\n \n\n \n \n ./toggle-button.component.scss\n \n :host {\n position: absolute;\n top: calc(50% - 2.0625rem);\n right: -1.0625rem;\n width: 1.0625rem;\n height: 3rem;\n border-radius: 0rem 0.25rem 0.25rem 0rem;\n cursor: pointer;\n transition: .25s;\n\n &.ccf-drawer-toggle-button-end {\n right: unset;\n left: calc(-1rem - 1px);\n border-radius: 0.25rem 0rem 0rem 0.25rem;\n }\n\n .expand-collapse-icon {\n position: absolute;\n right: 0rem;\n transition: .6s;\n padding-left: .15rem;\n\n &.hidden {\n opacity: 0;\n }\n }\n\n &.ccf-drawer-toggle-button-end .expand-collapse-icon {\n right: unset;\n left: -0.25rem;\n }\n}\n\n.mat-icon {\n right: 0.3rem;\n top: .675rem;\n padding-top: .05rem;\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' arrow_right arrow_left'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ToggleButtonComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/User.html":{"url":"interfaces/User.html","title":"interface - User","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n User\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/app.component.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, OnDestroy, OnInit, HostListener } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { GlobalConfigState, TrackingPopupComponent } from 'ccf-shared';\nimport { ConsentService } from 'ccf-shared/analytics';\nimport { combineLatest, Subscription, ReplaySubject } from 'rxjs';\n\nimport { GlobalConfig } from './core/services/config/config';\nimport { ThemingService } from './core/services/theming/theming.service';\nimport { ModelState, RUI_ORGANS } from './core/store/model/model.state';\nimport { PageState } from './core/store/page/page.state';\n\nexport interface User {\n firstName: string;\n lastName: string;\n}\n\ninterface AppOptions extends GlobalConfig {\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n}\n\n/**\n * App component\n */\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent implements OnDestroy, OnInit {\n /** Organs to be displayed in the organ selector */\n organList = RUI_ORGANS;\n\n /** True if the organ selector drawer is open */\n open = true;\n\n /** False until the initial registration modal is closed */\n registrationStarted = false;\n\n /** Disables changes in block position */\n disablePositionChange = false;\n\n get isLightTheme(): boolean {\n return this.theming.getTheme().endsWith('light');\n }\n\n readonly theme$ = this.globalConfig.getOption('theme');\n readonly themeMode$ = new ReplaySubject(1);\n\n readonly header$ = this.globalConfig.getOption('header');\n readonly homeUrl$ = this.globalConfig.getOption('homeUrl');\n readonly logoTooltip$ = this.globalConfig.getOption('logoTooltip');\n\n theme: string;\n\n homeUrl: string;\n\n logoTooltip: string;\n\n /** All subscriptions managed by the container. */\n private readonly subscriptions = new Subscription();\n\n constructor(\n readonly model: ModelState, readonly page: PageState,\n readonly consentService: ConsentService, readonly snackbar: MatSnackBar, readonly theming: ThemingService,\n el: ElementRef, injector: Injector, private readonly globalConfig: GlobalConfigState, cdr: ChangeDetectorRef\n ) {\n theming.initialize(el, injector);\n this.subscriptions.add(\n page.registrationCallbackSet$.subscribe((callbackSet) => {\n this.open = !callbackSet;\n })\n );\n this.subscriptions.add(\n page.registrationStarted$.subscribe((registrationStarted) => {\n this.registrationStarted = registrationStarted;\n })\n );\n this.theme$.subscribe((theme: string) => {\n this.theme = theme;\n });\n this.globalConfig.getOption('homeUrl').subscribe((url: string) => {\n this.homeUrl = url;\n });\n this.globalConfig.getOption('logoTooltip').subscribe((tooltip: string) => {\n this.logoTooltip = tooltip;\n });\n\n combineLatest([this.theme$, this.themeMode$]).subscribe(\n ([theme, mode]) => {\n this.theming.setTheme(`${theme}-theme-${mode}`);\n cdr.markForCheck();\n }\n );\n }\n\n ngOnInit(): void {\n const snackBar = this.snackbar.openFromComponent(TrackingPopupComponent, {\n data: {\n preClose: () => {\n snackBar.dismiss();\n }\n },\n duration: this.consentService.consent === 'not-set' ? Infinity : 3000\n });\n\n this.themeMode$.next('light');\n\n this.theming.setTheme(`${this.theme}-theme-light`);\n }\n\n /**\n * Toggles scheme between light and dark mode\n */\n toggleScheme(): void {\n this.themeMode$.next(this.isLightTheme ? 'dark' : 'light');\n }\n\n /**\n * Shifts block position when certain keys are pressed\n *\n * @param target The keyboard event\n */\n @HostListener('document:keydown', ['$event'])\n handleKey(target: KeyboardEvent): void {\n const oldPosition = this.model.snapshot.position;\n if (this.disablePositionChange || !this.registrationStarted) {\n return;\n }\n target.preventDefault();\n const delta = target.repeat ? 1.0 : 0.5;\n let newPosition = oldPosition;\n switch (target.key) {\n case 'q':\n newPosition = { ...oldPosition, z: oldPosition.z + delta };\n break;\n case 'e':\n newPosition = { ...oldPosition, z: oldPosition.z - delta };\n break;\n case 'w':\n newPosition = { ...oldPosition, y: oldPosition.y + delta };\n break;\n case 's':\n newPosition = { ...oldPosition, y: oldPosition.y - delta };\n break;\n case 'a':\n newPosition = { ...oldPosition, x: oldPosition.x - delta };\n break;\n case 'd':\n newPosition = { ...oldPosition, x: oldPosition.x + delta };\n break;\n default:\n break;\n }\n this.model.setPosition(newPosition);\n }\n\n /**\n * Disables block position change if an input element is clicked\n *\n * @param target The element clicked\n */\n @HostListener('document:click', ['$event.target'])\n handleClick(target: HTMLElement): void {\n if (target.nodeName === 'INPUT') {\n this.disablePositionChange = true;\n } else {\n this.disablePositionChange = false;\n }\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserName.html":{"url":"interfaces/UserName.html","title":"interface - UserName","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserName\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts\n \n\n\n \n Description\n \n \n User name data\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n User's first name\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n User's last name\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * User name data\n */\nexport interface UserName {\n /**\n * User's first name\n */\n firstName: string;\n\n /**\n * User's last name\n */\n lastName: string;\n}\n\n/**\n * Component for inputting the researcher's name\n */\n@Component({\n selector: 'ccf-name-input',\n templateUrl: './name-input.component.html',\n styleUrls: ['./name-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NameInputComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-name-input';\n\n /**\n * Used to validate the first name input field.\n */\n firstNameValidator = new FormControl('', [Validators.required]);\n /**\n * Used to validate the last name input field.\n */\n lastNameValidator = new FormControl('', [Validators.required]);\n\n /**\n * Current user name\n */\n @Input()\n get name(): UserName {\n return this._name;\n }\n\n set name(value: UserName) {\n this._name = value;\n this.firstNameValidator.setValue(value?.firstName || '');\n this.lastNameValidator.setValue(value?.lastName || '');\n }\n\n private _name: UserName = {\n firstName: '',\n lastName: ''\n };\n\n /**\n * Emits a UserName object\n */\n @Output() readonly nameChange = new EventEmitter();\n\n /**\n * Creates an instance of name input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates username with a new entry and emits the UserName object\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key firstName or lastName\n */\n updateName(input: InputEvent, key: string): void {\n const inputTarget = input.target as HTMLInputElement;\n this.name = { ...this.name, [key]: inputTarget.value };\n this.ga.event('name_updated', 'name_input', key);\n this.nameChange.emit(this.name);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/VideoModalComponent.html":{"url":"components/VideoModalComponent.html","title":"component - VideoModalComponent","body":"\n \n\n\n\n\n\n Components\n \n VideoModalComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts\n\n\n\n \n Description\n \n \n Component for displaying a youtube video inside of an angular material modal.\n\n \n\n\n \n Implements\n \n \n OnInit\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-video-modal\n \n\n \n styleUrls\n ./video-modal.component.scss\n \n\n\n\n \n templateUrl\n ./video-modal.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Public\n data\n \n \n Public\n dialogRef\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n close\n \n \n loadYoutubePlayerAPI\n \n \n ngOnInit\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(renderer2: Renderer2, dialogRef: MatDialogRef, data, document: Document)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:15\n \n \n\n \n \n Creates an instance of video modal component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n renderer2\n \n \n Renderer2\n \n \n \n No\n \n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n \n data\n \n \n \n \n \n No\n \n \n \n \n document\n \n \n Document\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-video-modal\"\n\n \n \n \n \n Default value : 'ccf-video-modal'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:15\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:46\n \n \n\n\n \n \n Closes the video modal component\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n loadYoutubePlayerAPI\n \n \n \n \n \n \nloadYoutubePlayerAPI()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:37\n \n \n\n\n \n \n loads the IFrame Player API code asynchronously from YouTube.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:30\n \n \n\n\n \n \n load the youtube player api in on init\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-video-modal'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:15\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n data\n \n \n \n \n \n \n Decorators : \n \n \n @Inject(MAT_DIALOG_DATA)\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n dialogRef\n \n \n \n \n \n \n Type : MatDialogRef\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:22\n \n \n\n\n \n \n\n\n\n\n\n \n import { Component, OnInit, HostBinding, Inject, Renderer2 } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * Component for displaying a youtube video inside of an angular material modal.\n */\n@Component({\n selector: 'ccf-video-modal',\n templateUrl: './video-modal.component.html',\n styleUrls: ['./video-modal.component.scss']\n})\nexport class VideoModalComponent implements OnInit {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-video-modal';\n\n /**\n * Creates an instance of video modal component.\n */\n constructor(\n private renderer2: Renderer2,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: unknown,\n @Inject(DOCUMENT) private document: Document\n ) { }\n\n /**\n * load the youtube player api in on init\n */\n ngOnInit(): void {\n this.loadYoutubePlayerAPI();\n }\n\n /**\n * loads the IFrame Player API code asynchronously from YouTube.\n */\n loadYoutubePlayerAPI(): void {\n const script = this.renderer2.createElement('script') as HTMLScriptElement;\n script.src = 'https://www.youtube.com/iframe_api';\n this.renderer2.appendChild(this.document.body, script);\n }\n\n /**\n * Closes the video modal component\n */\n close(): void {\n this.dialogRef.close();\n }\n}\n\n \n\n \n \n \n clear\n \n \n \n \n \n \n\n\n \n\n \n \n ./video-modal.component.scss\n \n ::ng-deep {\n .mat-dialog-container {\n padding: 0;\n }\n\n .mat-dialog-content {\n display: block;\n margin: auto;\n padding: 0;\n max-height: 65vh;\n overflow: auto;\n width: fit-content;\n }\n}\n\n:host {\n .video-modal.wrapper {\n width: fit-content;\n\n .container {\n position: relative;\n\n .content {\n padding: 0.5rem;\n padding-top: 3rem;\n width: fit-content;\n border-radius: .5rem;\n }\n\n .close-icon {\n cursor: pointer;\n position: absolute;\n right: 0rem;\n font-size: 2.5rem;\n width: 2.5rem;\n height: 2.5rem;\n transition: .5s color;\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' clear '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'VideoModalComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/VideoModalLauncherComponent.html":{"url":"components/VideoModalLauncherComponent.html","title":"component - VideoModalLauncherComponent","body":"\n \n\n\n\n\n\n Components\n \n VideoModalLauncherComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts\n\n\n\n \n Description\n \n \n Component for launching an angular material modal.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-video-modal-launcher\n \n\n \n styleUrls\n ./video-modal-launcher.component.scss\n \n\n\n\n \n templateUrl\n ./video-modal-launcher.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n launchVideoModal\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n visible\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:22\n \n \n\n \n \n Creates an instance of video modal launcher component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n visible\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:22\n \n \n \n \n Input used to toggle the launcher on and off.\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-video-modal-launcher\"\n\n \n \n \n \n Default value : 'ccf-video-modal-launcher'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n launchVideoModal\n \n \n \n \n \n \nlaunchVideoModal()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:32\n \n \n\n\n \n \n Launches the video modal component.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-video-modal-launcher'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { VideoModalComponent } from '../video-modal/video-modal.component';\n\n/**\n * Component for launching an angular material modal.\n */\n@Component({\n selector: 'ccf-video-modal-launcher',\n templateUrl: './video-modal-launcher.component.html',\n styleUrls: ['./video-modal-launcher.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VideoModalLauncherComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-video-modal-launcher';\n\n /**\n * Input used to toggle the launcher on and off.\n */\n @Input() visible = true;\n\n /**\n * Creates an instance of video modal launcher component.\n */\n constructor(private readonly dialog: MatDialog) { }\n\n /**\n * Launches the video modal component.\n */\n launchVideoModal(): void {\n this.dialog.open(VideoModalComponent, {\n width: '46rem',\n data: {}\n });\n }\n}\n\n \n\n \n \n WATCH\n \"How to use the HuBMAP Registration User Interface\"\n\n\n play_circle_outline\n\n \n\n \n \n ./video-modal-launcher.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n align-items: center;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n z-index: 1;\n\n .video-description {\n margin-bottom: 1.5rem;\n text-align: center;\n width: 30rem;\n\n .title {\n margin-bottom: 1rem;\n }\n }\n\n .play-icon-button {\n cursor: pointer;\n font-size: 5rem;\n width: 5rem;\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' WATCH \"How to use the HuBMAP Registration User Interface\" play_circle_outline'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'VideoModalLauncherComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VideoModalLauncherModule.html":{"url":"modules/VideoModalLauncherModule.html","title":"module - VideoModalLauncherModule","body":"\n \n\n\n\n\n Modules\n VideoModalLauncherModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_VideoModalLauncherModule\n\n\n\ncluster_VideoModalLauncherModule_exports\n\n\n\ncluster_VideoModalLauncherModule_declarations\n\n\n\n\nVideoModalLauncherComponent\n\nVideoModalLauncherComponent\n\n\n\nVideoModalLauncherModule\n\nVideoModalLauncherModule\n\nVideoModalLauncherModule -->\n\nVideoModalLauncherComponent->VideoModalLauncherModule\n\n\n\n\n\nVideoModalLauncherComponent \n\nVideoModalLauncherComponent \n\nVideoModalLauncherComponent -->\n\nVideoModalLauncherModule->VideoModalLauncherComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n VideoModalLauncherComponent\n \n \n \n \n Exports\n \n \n VideoModalLauncherComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VideoModalLauncherComponent } from './video-modal-launcher.component';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n declarations: [ VideoModalLauncherComponent ],\n imports: [\n CommonModule,\n MatIconModule\n ],\n exports: [ VideoModalLauncherComponent ]\n})\nexport class VideoModalLauncherModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VideoModalModule.html":{"url":"modules/VideoModalModule.html","title":"module - VideoModalModule","body":"\n \n\n\n\n\n Modules\n VideoModalModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_VideoModalModule\n\n\n\ncluster_VideoModalModule_declarations\n\n\n\ncluster_VideoModalModule_exports\n\n\n\n\nVideoModalComponent\n\nVideoModalComponent\n\n\n\nVideoModalModule\n\nVideoModalModule\n\nVideoModalModule -->\n\nVideoModalComponent->VideoModalModule\n\n\n\n\n\nVideoModalComponent \n\nVideoModalComponent \n\nVideoModalComponent -->\n\nVideoModalModule->VideoModalComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n VideoModalComponent\n \n \n \n \n Exports\n \n \n VideoModalComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VideoModalComponent } from './video-modal.component';\nimport { YouTubePlayerModule } from '@angular/youtube-player';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n declarations: [ VideoModalComponent ],\n imports: [\n CommonModule,\n YouTubePlayerModule,\n MatIconModule,\n MatDialogModule\n ],\n exports: [ VideoModalComponent ]\n})\nexport class VideoModalModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/VisibilityItem.html":{"url":"interfaces/VisibilityItem.html","title":"interface - VisibilityItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n VisibilityItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/visibility-item.ts\n \n\n\n \n Description\n \n \n Interface for visibility item data\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n name\n \n \n \n Optional\n \n opacity\n \n \n \n Optional\n \n tooltip\n \n \n \n \n visible\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string | number\n\n \n \n\n\n \n \n Type : string | number\n\n \n \n\n\n\n\n\n \n \n Id of the item\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Name of the item\n\n \n \n \n \n \n \n \n \n \n opacity\n \n \n \n \n \n \n \n \n opacity: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Opacity value\n\n \n \n \n \n \n \n \n \n \n tooltip\n \n \n \n \n \n \n \n \n tooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Tooltip text to be displayed in the stage\n\n \n \n \n \n \n \n \n \n \n visible\n \n \n \n \n \n \n \n \n visible: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the item is currently highlighted\n\n \n \n \n \n \n \n\n\n \n export interface VisibilityItem {\n /**\n * Id of the item\n */\n id: string | number;\n\n /**\n * Name of the item\n */\n name: string;\n\n /**\n * Whether the item is currently highlighted\n */\n visible: boolean;\n\n /**\n * Opacity value\n */\n opacity?: number;\n\n /**\n * Tooltip text to be displayed in the stage\n */\n tooltip?: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/VisibilityMenuComponent.html":{"url":"components/VisibilityMenuComponent.html","title":"component - VisibilityMenuComponent","body":"\n \n\n\n\n\n\n Components\n \n VisibilityMenuComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts\n\n\n\n \n Description\n \n \n Menu for displaying visibility options\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-visibility-menu\n \n\n \n styleUrls\n ./visibility-menu.component.scss\n \n\n\n\n \n templateUrl\n ./visibility-menu.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getId\n \n \n mouseOut\n \n \n mouseOver\n \n \n resetItem\n \n \n setAllOpacity\n \n \n toggleVisibility\n \n \n updateOpacity\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n items\n \n \n selection\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n hover\n \n \n itemsChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:41\n \n \n\n \n \n Creates an instance of visibility menu component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n items\n \n \n \n \n Type : VisibilityItem[]\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:26\n \n \n \n \n Items to be displayed in the visibility menu\n\n \n \n \n \n \n \n \n \n \n selection\n \n \n \n \n Type : VisibilityItem | undefined\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:31\n \n \n \n \n The currently selected item\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n hover\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:36\n \n \n \n \n Emits the currently hovered item\n\n \n \n \n \n \n \n \n \n \n itemsChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:41\n \n \n \n \n Emits whenever there is a change to one or more items.\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-visibility-menu\"\n\n \n \n \n \n Default value : 'ccf-visibility-menu'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getId\n \n \n \n \n \n \ngetId(_index: number, item: VisibilityItem)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:132\n \n \n\n\n \n \n Returns the id of an item\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n item\n \n VisibilityItem\n \n\n \n No\n \n\n\n \n The item to get an id for\n\n \n \n \n \n \n \n \n \n Returns : string | number\n\n \n \n id Id of the item\n\n \n \n \n \n \n \n \n \n \n \n \n mouseOut\n \n \n \n \n \n \nmouseOut()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:80\n \n \n\n\n \n \n Clears current selection and emits undefined in response to mouse out\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n mouseOver\n \n \n \n \n \n \nmouseOver(item: VisibilityItem)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:70\n \n \n\n\n \n \n Changes current selection to hovered over item and emits the item\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n item\n \n VisibilityItem\n \n\n \n No\n \n\n\n \n Menu item\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetItem\n \n \n \n \n \n \nresetItem()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:104\n \n \n\n\n \n \n Resets item to opacity 20 and visible\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setAllOpacity\n \n \n \n \n \n \nsetAllOpacity(value: number)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:119\n \n \n\n\n \n \n Sets all items to the same opacity and makes them visible\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n number\n \n\n \n No\n \n\n\n \n Updated opacity value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n toggleVisibility\n \n \n \n \n \n \ntoggleVisibility(item: VisibilityItem)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:55\n \n \n\n\n \n \n Toggles visibility of an item; opacity is reverted to the previous value if visibility toggled back on\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n item\n \n VisibilityItem\n \n\n \n No\n \n\n\n \n Menu item\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateOpacity\n \n \n \n \n \n \nupdateOpacity(value: number | undefined)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:90\n \n \n\n\n \n \n Updates opacity of the currently selected item (if one is selected) and emits the new items\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n number | undefined\n \n\n \n No\n \n\n\n \n Updated opacity value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-visibility-menu'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { VisibilityItem } from '../../../core/models/visibility-item';\n\n\n/**\n * Menu for displaying visibility options\n */\n@Component({\n selector: 'ccf-visibility-menu',\n templateUrl: './visibility-menu.component.html',\n styleUrls: ['./visibility-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VisibilityMenuComponent {\n\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-visibility-menu';\n\n /**\n * Items to be displayed in the visibility menu\n */\n @Input() items: VisibilityItem[];\n\n /**\n * The currently selected item\n */\n @Input() selection: VisibilityItem | undefined;\n\n /**\n * Emits the currently hovered item\n */\n @Output() readonly hover = new EventEmitter();\n\n /**\n * Emits whenever there is a change to one or more items.\n */\n @Output() readonly itemsChange = new EventEmitter();\n\n /**\n * Creates an instance of visibility menu component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Toggles visibility of an item; opacity is reverted to the previous value if visibility toggled back on\n *\n * @param item Menu item\n */\n toggleVisibility(item: VisibilityItem): void {\n item = { ...item, visible: !item.visible };\n if (this.selection && item.id === this.selection.id) {\n this.selection = { ...this.selection, visible: item.visible };\n }\n\n this.ga.event('visibility_toggled', 'visibility_menu', '' + item.id, +item.visible);\n this.updateOpacity(item.opacity);\n }\n\n /**\n * Changes current selection to hovered over item and emits the item\n *\n * @param item Menu item\n */\n mouseOver(item: VisibilityItem): void {\n this.selection = item === this.selection ? undefined : item;\n this.hover.emit(item);\n }\n\n /**\n * Clears current selection and emits undefined in response to mouse out\n *\n * @param item Menu item\n */\n mouseOut(): void {\n this.selection = undefined;\n this.hover.emit(undefined);\n }\n\n /**\n * Updates opacity of the currently selected item (if one is selected) and emits the new items\n *\n * @param value Updated opacity value\n */\n updateOpacity(value: number | undefined): void {\n if (!this.selection) {\n return;\n }\n const updatedSelection = { ...this.selection, opacity: value };\n this.selection = updatedSelection;\n this.items = this.items.map(item => item.id === updatedSelection.id ? updatedSelection : item);\n this.ga.event('opacity_update', 'visibility_menu', '' + updatedSelection.id, updatedSelection.opacity);\n this.itemsChange.emit(this.items);\n }\n\n /**\n * Resets item to opacity 20 and visible\n */\n resetItem(): void {\n if (this.selection) {\n const updatedSelection = { ...this.selection, opacity: 20, visible: true };\n this.selection = updatedSelection;\n this.items = this.items.map(item => item.id === updatedSelection.id ? updatedSelection : item);\n this.ga.event('item_reset', 'visibility_menu', '' + updatedSelection.id);\n this.itemsChange.emit(this.items);\n }\n }\n\n /**\n * Sets all items to the same opacity and makes them visible\n *\n * @param value Updated opacity value\n */\n setAllOpacity(value: number): void {\n this.items = this.items.map(i => ({ ...i, opacity: value, visible: true }));\n this.ga.event('all_items_opacity_update', 'visibility_menu', undefined, value);\n this.itemsChange.emit(this.items);\n }\n\n /**\n * Returns the id of an item\n *\n * @param index Index of item in items array\n * @param item The item to get an id for\n * @returns id Id of the item\n */\n getId(_index: number, item: VisibilityItem): string | number {\n return item.id;\n }\n}\n\n \n\n \n refresh\n\n\n \n {{ item.name }}\n\n \n \n \n \n\n\n \n\n \n \n ./visibility-menu.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n margin-right: 0;\n margin-left: 0;\n max-height: 18rem;\n overflow-y: auto;\n scrollbar-width: thin;\n\n .icon {\n padding: 0.25rem;\n border-radius: 0.25rem;\n }\n\n .reset {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n position: absolute;\n top: 3rem;\n \n &:hover {\n border-radius: 2px;\n }\n }\n\n .item-entry {\n display: flex;\n height: 2.25rem;\n align-items: center;\n flex-shrink: 0;\n position: relative;\n\n .opacity {\n cursor: pointer;\n }\n\n .opacity-icon {\n z-index: 1;\n transition: .6s;\n\n &:hover {\n border-radius: 2px;\n }\n }\n\n .item-name {\n user-select: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-left: 0.5rem;\n opacity: 1;\n transition-duration: 0.4s;\n transition-timing-function: ease-in-out;\n transition-property: opacity;\n max-width: calc(100% - 2.5rem);\n\n &.hidden {\n opacity: 0;\n }\n }\n\n .slider {\n width: calc(100% - 2rem);\n transition-duration: 0.3s;\n transition-timing-function: ease-in-out;\n transition-property: opacity;\n left: 2rem;\n position: absolute;\n opacity: 1;\n\n &.hidden {\n opacity: 0;\n transition-duration: 0.1s;\n transition-timing-function: ease-in-out;\n transition-property: opacity;\n }\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = 'refresh {{ item.name }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'VisibilityMenuComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VisibilityMenuModule.html":{"url":"modules/VisibilityMenuModule.html","title":"module - VisibilityMenuModule","body":"\n \n\n\n\n\n Modules\n VisibilityMenuModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_VisibilityMenuModule\n\n\n\ncluster_VisibilityMenuModule_declarations\n\n\n\ncluster_VisibilityMenuModule_exports\n\n\n\n\nVisibilityMenuComponent\n\nVisibilityMenuComponent\n\n\n\nVisibilityMenuModule\n\nVisibilityMenuModule\n\nVisibilityMenuModule -->\n\nVisibilityMenuComponent->VisibilityMenuModule\n\n\n\n\n\nVisibilityMenuComponent \n\nVisibilityMenuComponent \n\nVisibilityMenuComponent -->\n\nVisibilityMenuModule->VisibilityMenuComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n VisibilityMenuComponent\n \n \n \n \n Exports\n \n \n VisibilityMenuComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { OpacitySliderModule } from 'ccf-shared';\nimport { MatRippleModule } from '@angular/material/core';\n\nimport { VisibilityMenuComponent } from './visibility-menu.component';\n\n\n@NgModule({\n imports: [CommonModule, MatIconModule, MatRippleModule, OpacitySliderModule],\n declarations: [VisibilityMenuComponent],\n exports: [VisibilityMenuComponent]\n})\nexport class VisibilityMenuModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/VisibilityToggleComponent.html":{"url":"components/VisibilityToggleComponent.html","title":"component - VisibilityToggleComponent","body":"\n \n\n\n\n\n\n Components\n \n VisibilityToggleComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts\n\n\n\n \n Description\n \n \n Component for easily adding a visibility toggle with customizable label and\npre set up emitter.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-visibility-toggle\n \n\n \n styleUrls\n ./visibility-toggle.component.scss\n \n\n\n\n \n templateUrl\n ./visibility-toggle.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n toggleVisibility\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n disabled\n \n \n toggleLabel\n \n \n visible\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n visibilityChanged\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:40\n \n \n\n \n \n Creates an instance of visibility toggle component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n disabled\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:34\n \n \n \n \n Whether or not the slider is disabled\n\n \n \n \n \n \n \n \n \n \n toggleLabel\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:29\n \n \n \n \n Input that allows the label to be set from outside the component,\nmaking it more reusable.\n\n \n \n \n \n \n \n \n \n \n visible\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:23\n \n \n \n \n Keeps track of the current visibility state of the toggle.\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n visibilityChanged\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:40\n \n \n \n \n Outputs the new visibility state whenever toggleVisibility()\nchanges it.\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-visibility-toggle\"\n\n \n \n \n \n Default value : 'ccf-visibility-toggle'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n toggleVisibility\n \n \n \n \n \n \ntoggleVisibility()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:52\n \n \n\n\n \n \n Toggles visibility and emits the new value.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-visibility-toggle'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * Component for easily adding a visibility toggle with customizable label and\n * pre set up emitter.\n */\n@Component({\n selector: 'ccf-visibility-toggle',\n templateUrl: './visibility-toggle.component.html',\n styleUrls: ['./visibility-toggle.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VisibilityToggleComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-visibility-toggle';\n\n /**\n * Keeps track of the current visibility state of the toggle.\n */\n @Input() visible = false;\n\n /**\n * Input that allows the label to be set from outside the component,\n * making it more reusable.\n */\n @Input() toggleLabel = '';\n\n /**\n * Whether or not the slider is disabled\n */\n @Input() disabled = false;\n\n /**\n * Outputs the new visibility state whenever toggleVisibility()\n * changes it.\n */\n @Output() readonly visibilityChanged = new EventEmitter();\n\n /**\n * Creates an instance of visibility toggle component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Toggles visibility and emits the new value.\n */\n toggleVisibility(): void {\n this.visible = !this.visible;\n\n this.ga.event('visibility_toggled', 'visibility_toggle', '' + this.visible);\n this.visibilityChanged.emit(this.visible);\n }\n}\n\n \n\n \n \n \n \n \n done\n \n \n {{ toggleLabel }}\n \n\n \n\n \n \n ./visibility-toggle.component.scss\n \n :host {\n height: 3rem;\n display: flex;\n align-items: center;\n \n ::ng-deep .mat-chip {\n padding: 0 !important;\n\n &.disabled {\n cursor: not-allowed !important;\n }\n }\n\n .toggle-div {\n width: 100%;\n display: flex;\n justify-content: center;\n padding-top: 1.5rem;\n\n .toggle-wrapper {\n -webkit-user-select: none;\n -moz-user-select: none;\n display: flex;\n padding-left: .5rem;\n cursor: pointer;\n align-items: center;\n position: relative;\n border-width: 0.075rem;\n border-style: solid;\n height: 2.25rem;\n border-radius: 1.5rem;\n transition: background-color 0.2s ease-in-out;\n\n .icon-background {\n border-radius: 1.5rem;\n height: 2.06rem;\n width: 2.06rem;\n display: flex;\n align-items: center;\n justify-content: center;\n .icon {\n transition: .6s;\n position: absolute;\n &.block {\n width: 1.125rem;\n }\n &.hidden {\n opacity: 0;\n }\n }\n }\n \n .toggle-label {\n font-weight: bold;\n margin-left: 0.5rem;\n padding-right: 1.25rem;\n padding-left: 0.25rem;\n }\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' done {{ toggleLabel }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'VisibilityToggleComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VisibilityToggleModule.html":{"url":"modules/VisibilityToggleModule.html","title":"module - VisibilityToggleModule","body":"\n \n\n\n\n\n Modules\n VisibilityToggleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_VisibilityToggleModule\n\n\n\ncluster_VisibilityToggleModule_exports\n\n\n\ncluster_VisibilityToggleModule_declarations\n\n\n\n\nVisibilityToggleComponent\n\nVisibilityToggleComponent\n\n\n\nVisibilityToggleModule\n\nVisibilityToggleModule\n\nVisibilityToggleModule -->\n\nVisibilityToggleComponent->VisibilityToggleModule\n\n\n\n\n\nVisibilityToggleComponent \n\nVisibilityToggleComponent \n\nVisibilityToggleComponent -->\n\nVisibilityToggleModule->VisibilityToggleComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n VisibilityToggleComponent\n \n \n \n \n Exports\n \n \n VisibilityToggleComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VisibilityToggleComponent } from './visibility-toggle.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatChipsModule } from '@angular/material/chips';\n\n@NgModule({\n declarations: [VisibilityToggleComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatChipsModule\n ],\n exports: [ VisibilityToggleComponent ]\n})\nexport class VisibilityToggleModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/XYZTriplet.html":{"url":"interfaces/XYZTriplet.html","title":"interface - XYZTriplet","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n XYZTriplet\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n\n\n \n Description\n \n \n A object with x, y, and z channels of the same type.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n X channel\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n Y channel\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n Z channel\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { ALL_ORGANS, GlobalConfigState, OrganInfo } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { sortBy } from 'lodash';\nimport { EMPTY, Observable } from 'rxjs';\nimport {\n debounceTime, delay, distinctUntilChanged, filter, mapTo, pluck, skipUntil, switchMap, take, tap, throttleTime,\n} from 'rxjs/operators';\n\nimport { ExtractionSet } from '../../models/extraction-set';\nimport { VisibilityItem } from '../../models/visibility-item';\nimport { GlobalConfig } from '../../services/config/config';\nimport { PageState } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A object with x, y, and z channels of the same type. */\nexport interface XYZTriplet {\n /** X channel */\n x: T;\n /** Y channel */\n y: T;\n /** Z channel */\n z: T;\n}\n\n/** Slices configuration */\nexport interface SlicesConfig {\n /** Thickness of slice */\n thickness: number;\n /** Number of slices per block */\n numSlices: number;\n}\n\n/** Model view type */\nexport type ViewType = 'register' | '3d';\n\n/** Side which the model is viewed from */\nexport type ViewSide = 'left' | 'right' | 'anterior' | 'posterior';\n\n/** Data contained in the stage state. */\nexport interface ModelStateModel {\n /** Model identifier */\n id: string;\n /** Model label */\n label: string;\n /** Organ name */\n organ: OrganInfo;\n /** Reference Organ IRI */\n organIri?: string;\n /** Reference Organ Dimensions */\n organDimensions: XYZTriplet;\n /** Sex if applicable */\n sex?: 'male' | 'female';\n /** Side if applicable */\n side?: 'left' | 'right';\n /** Block size */\n blockSize: XYZTriplet;\n /** Model rotation */\n rotation: XYZTriplet;\n /** Model position */\n position: XYZTriplet;\n /** Slice configuration */\n slicesConfig: SlicesConfig;\n /** View type */\n viewType: ViewType;\n /** View side */\n viewSide: ViewSide;\n /** Whether previous registration blocks are visible */\n showPrevious: boolean;\n /** Possible extraction sites */\n extractionSites: VisibilityItem[];\n /** Anatomical structures for the organ */\n anatomicalStructures: VisibilityItem[];\n /** Extraction sets */\n extractionSets: ExtractionSet[];\n}\n\n/**\n * All organs to be displayed\n */\nexport const RUI_ORGANS = ALL_ORGANS;\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'model',\n defaults: {\n id: '',\n label: '',\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n organ: { src: '', name: '' } as OrganInfo,\n organIri: '',\n organDimensions: { x: 90, y: 90, z: 90 },\n sex: 'male',\n side: 'left',\n blockSize: { x: 10, y: 10, z: 10 },\n rotation: { x: 0, y: 0, z: 0 },\n position: { x: 0, y: 0, z: 0 },\n slicesConfig: { thickness: NaN, numSlices: NaN },\n viewType: 'register',\n viewSide: 'anterior',\n showPrevious: false,\n extractionSites: [],\n anatomicalStructures: [],\n extractionSets: []\n }\n})\n@Injectable()\nexport class ModelState extends NgxsImmutableDataRepository {\n /** Identifier observable */\n readonly id$ = this.state$.pipe(pluck('id'));\n /** Block size observable */\n readonly blockSize$ = this.state$.pipe(pluck('blockSize'));\n /** Rotation observable */\n readonly rotation$ = this.state$.pipe(pluck('rotation'));\n /** Position observable */\n readonly position$ = this.state$.pipe(pluck('position'));\n /** Slice configuration observable */\n readonly slicesConfig$ = this.state$.pipe(pluck('slicesConfig'));\n /** View type observable */\n readonly viewType$ = this.state$.pipe(pluck('viewType'));\n /** View side observable */\n readonly viewSide$ = this.state$.pipe(pluck('viewSide'));\n /** Organ observable */\n readonly organ$ = this.state$.pipe(pluck('organ'));\n /** Organ IRI observable */\n readonly organIri$ = this.state$.pipe(pluck('organIri'));\n /** Organ IRI observable */\n readonly organDimensions$ = this.state$.pipe(pluck('organDimensions'));\n /** Sex observable */\n readonly sex$ = this.state$.pipe(pluck('sex'));\n /** Side observable */\n readonly side$ = this.state$.pipe(pluck('side'));\n /** Show previous observable */\n readonly showPrevious$ = this.state$.pipe(pluck('showPrevious'));\n /** Extraction sites observable */\n readonly extractionSites$ = this.state$.pipe(pluck('extractionSites'));\n /** Anatomical structures observable */\n readonly anatomicalStructures$ = this.state$.pipe(pluck('anatomicalStructures'));\n /** Extraction sets observable */\n readonly extractionSets$ = this.state$.pipe(pluck('extractionSets'));\n\n @Computed()\n get modelChanged$(): Observable {\n const ignoredKeys = ['viewType', 'viewSide', 'showPrevious'];\n const keys = Object.keys(this.initialState)\n .filter(key => !ignoredKeys.includes(key));\n\n return this.state$.pipe(\n throttleTime(0, undefined, { leading: false, trailing: true }),\n distinctUntilChanged((v1, v2) => {\n for (const key of keys) {\n if (v1[key] !== v2[key]) {\n return false;\n }\n }\n\n return true;\n }),\n mapTo(undefined)\n );\n }\n\n /** Reference to the reference data state */\n private referenceData: ReferenceDataState;\n\n private page: PageState;\n\n /**\n * Creates an instance of model state.\n *\n * @param injector Injector service used to lazy load reference data state\n */\n constructor(\n private readonly ga: GoogleAnalyticsService,\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.referenceData = this.injector.get(ReferenceDataState);\n this.page = this.injector.get(PageState);\n\n this.globalConfig.getOption('organ').pipe(\n filterNulls(),\n switchMap(organConfig => {\n const organName = organConfig.name.toLowerCase();\n const organSide = organConfig.side;\n const ontologyId = organConfig.ontologyId;\n // check for an id match\n let organInfo = this.idMatches(ontologyId, organSide);\n // if no id matches, check for a name match\n if (!organInfo) {\n organInfo = this.nameMatches(organName, organSide);\n }\n if (organInfo) {\n this.ctx.patchState({\n organ: organInfo,\n sex: organConfig.sex?.toLowerCase() as 'male' | 'female',\n side: organInfo?.side?.toLowerCase() as 'left' | 'right'\n });\n return this.referenceData.state$.pipe(\n debounceTime(100),\n take(1),\n delay(200),\n tap(() => this.onOrganIriChange())\n );\n }\n return EMPTY;\n })\n ).subscribe();\n\n this.modelChanged$.pipe(\n skipUntil(this.page.registrationStarted$.pipe(\n filter(started => started),\n delay(5)\n ))\n ).subscribe(() => this.page.setHasChanges());\n }\n\n idMatches(ontologyId?: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n ontologyId && o.id === ontologyId ? (o.side ? o.side === organSide : true) : false\n );\n }\n\n nameMatches(organName: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n o.side ? o.organ.toLowerCase() === organName && o.side === organSide : o.organ.toLowerCase() === organName\n );\n }\n\n /**\n * Updates the block size\n *\n * @param blockSize The new block size values\n */\n @DataAction()\n setBlockSize(blockSize: XYZTriplet): void {\n this.ctx.patchState({ blockSize });\n }\n\n /**\n * Updates the rotation\n *\n * @param rotation The new rotation values\n */\n @DataAction()\n setRotation(rotation: XYZTriplet): void {\n this.ctx.patchState({ rotation });\n }\n\n /**\n * Updates the position\n *\n * @param position The new position values\n */\n @DataAction()\n setPosition(position: XYZTriplet): void {\n this.ga.event('placement', `${this.snapshot.organ?.name}_placement`, `${position.x.toFixed(1)}_${position.y.toFixed(1)}_${position.z.toFixed(1)}`);\n this.ctx.patchState({ position });\n }\n\n /**\n * Updates the slice configuration\n *\n * @param slicesConfig The new slice configuration\n */\n @DataAction()\n setSlicesConfig(slicesConfig: SlicesConfig): void {\n this.ctx.patchState({ slicesConfig });\n }\n\n /**\n * Updates the view type\n *\n * @param viewType the new view type\n */\n @DataAction()\n setViewType(viewType: ViewType): void {\n this.ctx.patchState({ viewType });\n }\n\n /**\n * Updates the view side\n *\n * @param viewSide The side to view\n */\n @DataAction()\n setViewSide(viewSide: ViewSide): void {\n this.ctx.patchState({ viewSide });\n }\n\n @Computed()\n get defaultPosition(): XYZTriplet {\n const dims = this.snapshot.organDimensions;\n const block = this.snapshot.blockSize;\n return { x: dims.x + 2 * block.x, y: dims.y / 2, z: dims.z / 2 };\n }\n\n /**\n * Updates the organ\n *\n * @param organ Name of the organ\n */\n @DataAction()\n setOrgan(organ: OrganInfo): void {\n this.ga.event('organ_select', 'organ', organ.name);\n this.ctx.patchState({ organ });\n if (organ.side) {\n this.ctx.patchState({ side: organ.side });\n }\n this.onOrganIriChange();\n }\n\n /**\n * Updates the sex\n *\n * @param [sex] The new sex\n */\n @DataAction()\n setSex(sex?: 'male' | 'female'): void {\n this.ctx.patchState({ sex });\n this.onOrganIriChange();\n }\n\n /**\n * Updates the side\n *\n * @param [side] The new side\n */\n @DataAction()\n setSide(side?: 'left' | 'right'): void {\n this.ctx.patchState({ side });\n this.onOrganIriChange();\n }\n\n /**\n * Updates show previous\n *\n * @param showPrevious Whether to show\n */\n @DataAction()\n setShowPrevious(showPrevious: boolean): void {\n this.ctx.patchState({ showPrevious });\n }\n\n /**\n * Updates extraction sites\n *\n * @param extractionSites New array of items\n */\n @DataAction()\n setExtractionSites(extractionSites: VisibilityItem[]): void {\n this.ctx.patchState({ extractionSites });\n }\n\n /**\n * Updates anatomical structures\n *\n * @param anatomicalStructures New array of items\n */\n @DataAction()\n setAnatomicalStructures(anatomicalStructures: VisibilityItem[]): void {\n this.ctx.patchState({ anatomicalStructures });\n }\n\n /**\n * Updates extraction sets\n *\n * @param extractionSets New array of extraction sets\n */\n @DataAction()\n setExtractionSets(extractionSets: ExtractionSet[]): void {\n this.ctx.patchState({ extractionSets });\n }\n\n /**\n * Toggles registration blocks visibility and handles anatomical structures\n * opacity changes accordingly\n *\n * @param visible the visible state to pass along to setShowPrevious()\n * @param previousItems visibilityItems to set anatomical structures\n */\n toggleRegistrationBlocksVisibility(visible: boolean, previousItems: VisibilityItem[]): void {\n this.setShowPrevious(visible);\n\n if (!visible) {\n this.setAnatomicalStructures(previousItems);\n } else {\n const newStructures = previousItems.map(structure => ({\n ...structure, opacity: Math.min(20, structure.opacity ?? 20)\n }));\n this.setAnatomicalStructures(newStructures);\n }\n }\n\n private onOrganIriChange(): void {\n const organIri = this.referenceData.getReferenceOrganIri(\n this.snapshot.organ?.organ || '', this.snapshot.sex, this.snapshot.side, this.snapshot.organ\n );\n const organDimensions: XYZTriplet = { x: 100, y: 100, z: 100 };\n\n if (this.snapshot.organ?.sex) {\n this.ctx.patchState({ sex: this.snapshot.organ?.sex });\n }\n\n if (organIri) {\n const db = this.referenceData.snapshot;\n const asLookup: { [id: string]: VisibilityItem } = {};\n for (const entity of (db.anatomicalStructures[organIri] || [])) {\n const iri = entity.representation_of ?? entity['@id'];\n if (!asLookup[iri]) {\n asLookup[iri] = {\n id: entity.representation_of ?? entity['@id'],\n name: entity.label!,\n visible: true,\n opacity: 20,\n tooltip: entity.comment\n };\n }\n }\n this.ctx.patchState({ anatomicalStructures: Object.values(asLookup) });\n\n const sets: ExtractionSet[] = (db.extractionSets[organIri] || []).map((set) => ({\n name: set.label,\n sites: sortBy(set.extractionSites.map((entity) => ({\n id: entity['@id'],\n name: entity.label!,\n visible: false,\n opacity: 0,\n tooltip: entity.comment\n })), 'name')\n }));\n this.ctx.patchState({ extractionSets: sets });\n this.ctx.patchState({ extractionSites: sets.length > 0 ? sets[0].sites : [] });\n\n const spatialEntity = db.organSpatialEntities[organIri];\n organDimensions.x = spatialEntity.x_dimension;\n organDimensions.y = spatialEntity.y_dimension;\n organDimensions.z = spatialEntity.z_dimension;\n }\n\n this.ctx.patchState({ organIri, organDimensions });\n this.ctx.patchState({ position: this.defaultPosition });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-rui/src/app/app-web-component.component.ts\n \n component\n AppWebComponent\n \n 0 %\n (0/16)\n \n \n \n \n \n projects/ccf-rui/src/app/app.component.ts\n \n component\n AppComponent\n \n 54 %\n (12/22)\n \n \n \n \n \n projects/ccf-rui/src/app/app.component.ts\n \n interface\n AppOptions\n \n 0 %\n (0/5)\n \n \n \n \n \n projects/ccf-rui/src/app/app.component.ts\n \n interface\n User\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n interface\n Tag\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n interface\n TagSearchResult\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/documentation.ts\n \n interface\n DocumentationContent\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/extraction-set.ts\n \n interface\n ExtractionSet\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/meta-data.ts\n \n interface\n MetaDataField\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/visibility-item.ts\n \n interface\n VisibilityItem\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n interface\n GlobalConfig\n \n 0 %\n (0/15)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n function\n globalConfigFactory\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n variable\n GLOBAL_CONFIG\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n variable\n ruiConfig\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/theming/theming.service.ts\n \n injectable\n ThemingService\n \n 83 %\n (10/12)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/theming/theming.service.ts\n \n variable\n DEFAULT_THEME\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts\n \n injectable\n AnatomicalStructureTagState\n \n 58 %\n (7/12)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts\n \n interface\n AnatomicalStructureTagStateModel\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/icon-registry/default-icons.ts\n \n interface\n DefaultIconDefinition\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/icon-registry/default-icons.ts\n \n variable\n DEFAULT_ICONS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n injectable\n IconRegistryState\n \n 85 %\n (6/7)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n interface\n IconDefinition\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n injectable\n ModelState\n \n 89 %\n (34/38)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n interface\n ModelStateModel\n \n 100 %\n (18/18)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n interface\n SlicesConfig\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n interface\n XYZTriplet\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n variable\n RUI_ORGANS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n injectable\n PageState\n \n 50 %\n (7/14)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n interface\n PageStateModel\n \n 42 %\n (3/7)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n interface\n Person\n \n 33 %\n (1/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n injectable\n ReferenceDataState\n \n 57 %\n (4/7)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n interface\n OrganData\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n interface\n ReferenceDataStateModel\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n function\n applySpatialPlacement\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/registration/registration.state.ts\n \n injectable\n RegistrationState\n \n 82 %\n (14/17)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/registration/registration.state.ts\n \n interface\n RegistrationStateModel\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n injectable\n SceneState\n \n 50 %\n (4/8)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n interface\n SceneStateModel\n \n 50 %\n (1/2)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n function\n getNodeBbox\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/store.module.ts\n \n variable\n ROOT_STATES\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/content/content.component.ts\n \n component\n ContentComponent\n \n 81 %\n (13/16)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts\n \n component\n StageNavComponent\n \n 100 %\n (17/17)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts\n \n component\n VideoModalLauncherComponent\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts\n \n component\n VideoModalComponent\n \n 77 %\n (7/9)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/header/header.component.ts\n \n component\n HeaderComponent\n \n 66 %\n (4/6)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts\n \n component\n LeftSidebarComponent\n \n 61 %\n (11/18)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts\n \n component\n RegistrationContentComponent\n \n 94 %\n (16/17)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts\n \n component\n RegistrationModalComponent\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts\n \n component\n ReviewButtonComponent\n \n 100 %\n (13/13)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts\n \n component\n ReviewModalComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts\n \n interface\n ReviewModalData\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts\n \n component\n RightSidebarComponent\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n component\n BlockSizeInputComponent\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n interface\n BlockSize\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n variable\n DEFAULT_BLOCK_SIZE\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts\n \n component\n DetailsLabelComponent\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts\n \n component\n ContainerComponent\n \n 100 %\n (13/13)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts\n \n function\n throwDuplicateDrawersError\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts\n \n component\n ContentComponent\n \n 100 %\n (18/18)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n component\n DrawerComponent\n \n 95 %\n (42/44)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n class\n InitializationState\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n variable\n EXPAND_COLLAPSE_PARAMS_DEFAULT\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n interface\n ContentContainerChanged\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerContainersChanged\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerInitialized\n \n 100 %\n (2/2)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerToggled\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n variable\n MessageService\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts\n \n component\n ToggleButtonComponent\n \n 100 %\n (12/12)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts\n \n component\n ExtractionSetDropdownComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts\n \n component\n JsonFileReaderComponent\n \n 88 %\n (8/9)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts\n \n component\n LabeledSlideToggleComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts\n \n component\n NameInputComponent\n \n 90 %\n (9/10)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts\n \n interface\n UserName\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n component\n RotationSliderComponent\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n interface\n Rotation\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n variable\n DEFAULT_ROTATION\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n component\n SlicesInputComponent\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n interface\n SlicesConfig\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n variable\n DEFAULT_SLICES_CONFIG\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts\n \n component\n TagListComponent\n \n 90 %\n (9/10)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n component\n TagSearchComponent\n \n 100 %\n (29/29)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n variable\n DEFAULT_SEARCH_LIMIT\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n variable\n DEFAULT_SEARCH_THROTTLE\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n variable\n EMPTY_RESULT\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts\n \n component\n VisibilityMenuComponent\n \n 100 %\n (15/15)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts\n \n component\n VisibilityToggleComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n class\n MessageChannel\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n injectable\n MessageService\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n interface\n Message\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n interface\n MessageServiceConfig\n \n 100 %\n (2/2)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n variable\n MESSAGE_SERVICE_CONFIG\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n variable\n MESSAGE_SERVICE_DEFAULT_CONFIG\n \n 100 %\n (1/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n applySpatialPlacement   (projects/.../reference-data.state.ts)\n \n \n getNodeBbox   (projects/.../scene.state.ts)\n \n \n globalConfigFactory   (projects/.../config.ts)\n \n \n throwDuplicateDrawersError   (projects/.../container.component.ts)\n \n \n \n \n \n \n\n\n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n \n \n \n \n \n \n applySpatialPlacement\n \n \n \n \n \n \napplySpatialPlacement(tx, placement)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n tx\n\n \n No\n \n\n\n \n \n placement\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Matrix4\n\n \n \n \n \n \n \n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n \n \n \n \n \n \n getNodeBbox\n \n \n \n \n \n \ngetNodeBbox(model)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n model\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : AABB\n\n \n \n \n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n \n \n \n \n \n \n globalConfigFactory\n \n \n \n \n \n \nglobalConfigFactory(globals)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n globals\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : GlobalConfig\n\n \n \n \n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts\n \n \n \n \n \n \n \n throwDuplicateDrawersError\n \n \n \n \n \n \nthrowDuplicateDrawersError(position)\n \n \n\n\n\n\n \n \n Helper function for creating drawer errors.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n position\n\n \n No\n \n\n\n \n The position of the drawer.\n\n \n \n \n \n \n \n \n \n Returns : never\n\n \n \n \n \n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AppModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n BlockSizeInputModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ConfigModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n ContentModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CoreModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DetailsLabelModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DrawerModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ExtractionSetDropdownModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n HeaderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n JsonFileReaderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LabeledSlideToggleModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LeftSidebarModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n NameInputModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RegistrationContentModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RegistrationModalModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ReviewButtonModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ReviewModalModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RightSidebarModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RotationSliderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SlicesInputModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StageNavModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StoreModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n TagListModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TagSearchModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ThemingModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VideoModalLauncherModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VideoModalModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VisibilityMenuModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VisibilityToggleModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_BlockSizeInputModule\n\n\n\ncluster_BlockSizeInputModule_declarations\n\n\n\ncluster_BlockSizeInputModule_exports\n\n\n\ncluster_ContentModule\n\n\n\ncluster_ContentModule_declarations\n\n\n\ncluster_ContentModule_imports\n\n\n\ncluster_ContentModule_exports\n\n\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\ncluster_DetailsLabelModule\n\n\n\ncluster_DetailsLabelModule_declarations\n\n\n\ncluster_DetailsLabelModule_exports\n\n\n\ncluster_DrawerModule\n\n\n\ncluster_DrawerModule_declarations\n\n\n\ncluster_DrawerModule_exports\n\n\n\ncluster_ExtractionSetDropdownModule\n\n\n\ncluster_ExtractionSetDropdownModule_declarations\n\n\n\ncluster_ExtractionSetDropdownModule_exports\n\n\n\ncluster_HeaderModule\n\n\n\ncluster_HeaderModule_declarations\n\n\n\ncluster_HeaderModule_exports\n\n\n\ncluster_JsonFileReaderModule\n\n\n\ncluster_JsonFileReaderModule_declarations\n\n\n\ncluster_JsonFileReaderModule_exports\n\n\n\ncluster_LabeledSlideToggleModule\n\n\n\ncluster_LabeledSlideToggleModule_declarations\n\n\n\ncluster_LabeledSlideToggleModule_exports\n\n\n\ncluster_LeftSidebarModule\n\n\n\ncluster_LeftSidebarModule_declarations\n\n\n\ncluster_LeftSidebarModule_imports\n\n\n\ncluster_LeftSidebarModule_exports\n\n\n\ncluster_NameInputModule\n\n\n\ncluster_NameInputModule_declarations\n\n\n\ncluster_NameInputModule_exports\n\n\n\ncluster_RegistrationContentModule\n\n\n\ncluster_RegistrationContentModule_declarations\n\n\n\ncluster_RegistrationContentModule_exports\n\n\n\ncluster_RegistrationModalModule\n\n\n\ncluster_RegistrationModalModule_declarations\n\n\n\ncluster_RegistrationModalModule_exports\n\n\n\ncluster_ReviewButtonModule\n\n\n\ncluster_ReviewButtonModule_declarations\n\n\n\ncluster_ReviewButtonModule_imports\n\n\n\ncluster_ReviewButtonModule_exports\n\n\n\ncluster_ReviewModalModule\n\n\n\ncluster_ReviewModalModule_declarations\n\n\n\ncluster_ReviewModalModule_exports\n\n\n\ncluster_RightSidebarModule\n\n\n\ncluster_RightSidebarModule_declarations\n\n\n\ncluster_RightSidebarModule_imports\n\n\n\ncluster_RightSidebarModule_exports\n\n\n\ncluster_RotationSliderModule\n\n\n\ncluster_RotationSliderModule_declarations\n\n\n\ncluster_RotationSliderModule_exports\n\n\n\ncluster_SlicesInputModule\n\n\n\ncluster_SlicesInputModule_declarations\n\n\n\ncluster_SlicesInputModule_exports\n\n\n\ncluster_StageNavModule\n\n\n\ncluster_StageNavModule_declarations\n\n\n\ncluster_StageNavModule_exports\n\n\n\ncluster_TagListModule\n\n\n\ncluster_TagListModule_declarations\n\n\n\ncluster_TagListModule_exports\n\n\n\ncluster_TagSearchModule\n\n\n\ncluster_TagSearchModule_declarations\n\n\n\ncluster_TagSearchModule_exports\n\n\n\ncluster_ThemingModule\n\n\n\ncluster_ThemingModule_providers\n\n\n\ncluster_VideoModalLauncherModule\n\n\n\ncluster_VideoModalLauncherModule_declarations\n\n\n\ncluster_VideoModalLauncherModule_exports\n\n\n\ncluster_VideoModalModule\n\n\n\ncluster_VideoModalModule_declarations\n\n\n\ncluster_VideoModalModule_exports\n\n\n\ncluster_VisibilityMenuModule\n\n\n\ncluster_VisibilityMenuModule_declarations\n\n\n\ncluster_VisibilityMenuModule_exports\n\n\n\ncluster_VisibilityToggleModule\n\n\n\ncluster_VisibilityToggleModule_declarations\n\n\n\ncluster_VisibilityToggleModule_exports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nContentModule\n\nContentModule\n\nAppModule -->\n\nContentModule->AppModule\n\n\n\n\n\nContentComponent \n\nContentComponent \n\nContentComponent -->\n\nContentModule->ContentComponent \n\n\n\n\n\nCoreModule\n\nCoreModule\n\nAppModule -->\n\nCoreModule->AppModule\n\n\n\n\n\nDrawerModule\n\nDrawerModule\n\nAppModule -->\n\nDrawerModule->AppModule\n\n\n\n\n\nContainerComponent \n\nContainerComponent \n\nContainerComponent -->\n\nDrawerModule->ContainerComponent \n\n\n\n\n\nDrawerComponent \n\nDrawerComponent \n\nDrawerComponent -->\n\nDrawerModule->DrawerComponent \n\n\n\n\n\nToggleButtonComponent \n\nToggleButtonComponent \n\nToggleButtonComponent -->\n\nDrawerModule->ToggleButtonComponent \n\n\n\n\n\nHeaderModule\n\nHeaderModule\n\nAppModule -->\n\nHeaderModule->AppModule\n\n\n\n\n\nHeaderComponent \n\nHeaderComponent \n\nHeaderComponent -->\n\nHeaderModule->HeaderComponent \n\n\n\n\n\nLeftSidebarModule\n\nLeftSidebarModule\n\nAppModule -->\n\nLeftSidebarModule->AppModule\n\n\n\n\n\nLeftSidebarComponent \n\nLeftSidebarComponent \n\nLeftSidebarComponent -->\n\nLeftSidebarModule->LeftSidebarComponent \n\n\n\n\n\nRegistrationModalModule\n\nRegistrationModalModule\n\nAppModule -->\n\nRegistrationModalModule->AppModule\n\n\n\n\n\nRegistrationModalComponent \n\nRegistrationModalComponent \n\nRegistrationModalComponent -->\n\nRegistrationModalModule->RegistrationModalComponent \n\n\n\n\n\nRightSidebarModule\n\nRightSidebarModule\n\nAppModule -->\n\nRightSidebarModule->AppModule\n\n\n\n\n\nRightSidebarComponent \n\nRightSidebarComponent \n\nRightSidebarComponent -->\n\nRightSidebarModule->RightSidebarComponent \n\n\n\n\n\nBlockSizeInputComponent\n\nBlockSizeInputComponent\n\n\n\nBlockSizeInputModule\n\nBlockSizeInputModule\n\nBlockSizeInputModule -->\n\nBlockSizeInputComponent->BlockSizeInputModule\n\n\n\nRightSidebarModule -->\n\nBlockSizeInputModule->RightSidebarModule\n\n\n\n\n\nBlockSizeInputComponent \n\nBlockSizeInputComponent \n\nBlockSizeInputComponent -->\n\nBlockSizeInputModule->BlockSizeInputComponent \n\n\n\n\n\nContentComponent\n\nContentComponent\n\nContentModule -->\n\nContentComponent->ContentModule\n\n\n\nDrawerModule -->\n\nContentComponent->DrawerModule\n\n\n\n\n\nStageNavModule\n\nStageNavModule\n\nContentModule -->\n\nStageNavModule->ContentModule\n\n\n\n\n\nStageNavComponent \n\nStageNavComponent \n\nStageNavComponent -->\n\nStageNavModule->StageNavComponent \n\n\n\n\n\nVideoModalLauncherModule\n\nVideoModalLauncherModule\n\nContentModule -->\n\nVideoModalLauncherModule->ContentModule\n\n\n\n\n\nVideoModalLauncherComponent \n\nVideoModalLauncherComponent \n\nVideoModalLauncherComponent -->\n\nVideoModalLauncherModule->VideoModalLauncherComponent \n\n\n\n\n\nConfigModule\n\nConfigModule\n\nCoreModule -->\n\nConfigModule->CoreModule\n\n\n\n\n\nStoreModule\n\nStoreModule\n\nCoreModule -->\n\nStoreModule->CoreModule\n\n\n\n\n\nThemingModule\n\nThemingModule\n\nCoreModule -->\n\nThemingModule->CoreModule\n\n\n\n\n\nDetailsLabelComponent\n\nDetailsLabelComponent\n\n\n\nDetailsLabelModule\n\nDetailsLabelModule\n\nDetailsLabelModule -->\n\nDetailsLabelComponent->DetailsLabelModule\n\n\n\nLeftSidebarModule -->\n\nDetailsLabelModule->LeftSidebarModule\n\n\n\n\n\nDetailsLabelComponent \n\nDetailsLabelComponent \n\nDetailsLabelComponent -->\n\nDetailsLabelModule->DetailsLabelComponent \n\n\n\n\n\nContainerComponent\n\nContainerComponent\n\nDrawerModule -->\n\nContainerComponent->DrawerModule\n\n\n\n\n\nDrawerComponent\n\nDrawerComponent\n\nDrawerModule -->\n\nDrawerComponent->DrawerModule\n\n\n\n\n\nToggleButtonComponent\n\nToggleButtonComponent\n\nDrawerModule -->\n\nToggleButtonComponent->DrawerModule\n\n\n\n\n\nExtractionSetDropdownComponent\n\nExtractionSetDropdownComponent\n\n\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule -->\n\nExtractionSetDropdownComponent->ExtractionSetDropdownModule\n\n\n\nLeftSidebarModule -->\n\nExtractionSetDropdownModule->LeftSidebarModule\n\n\n\n\n\nExtractionSetDropdownComponent \n\nExtractionSetDropdownComponent \n\nExtractionSetDropdownComponent -->\n\nExtractionSetDropdownModule->ExtractionSetDropdownComponent \n\n\n\n\n\nHeaderComponent\n\nHeaderComponent\n\nHeaderModule -->\n\nHeaderComponent->HeaderModule\n\n\n\n\n\nJsonFileReaderComponent\n\nJsonFileReaderComponent\n\n\n\nJsonFileReaderModule\n\nJsonFileReaderModule\n\nJsonFileReaderModule -->\n\nJsonFileReaderComponent->JsonFileReaderModule\n\n\n\nLeftSidebarModule -->\n\nJsonFileReaderModule->LeftSidebarModule\n\n\n\n\n\nJsonFileReaderComponent \n\nJsonFileReaderComponent \n\nJsonFileReaderComponent -->\n\nJsonFileReaderModule->JsonFileReaderComponent \n\n\n\n\n\nLabeledSlideToggleComponent\n\nLabeledSlideToggleComponent\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule -->\n\nLabeledSlideToggleComponent->LabeledSlideToggleModule\n\n\n\nLeftSidebarModule -->\n\nLabeledSlideToggleModule->LeftSidebarModule\n\n\n\nStageNavModule -->\n\nLabeledSlideToggleModule->StageNavModule\n\n\n\n\n\nLabeledSlideToggleComponent \n\nLabeledSlideToggleComponent \n\nLabeledSlideToggleComponent -->\n\nLabeledSlideToggleModule->LabeledSlideToggleComponent \n\n\n\n\n\nRegistrationContentModule\n\nRegistrationContentModule\n\nRegistrationContentModule -->\n\nLabeledSlideToggleModule->RegistrationContentModule\n\n\n\n\n\nLeftSidebarComponent\n\nLeftSidebarComponent\n\nLeftSidebarModule -->\n\nLeftSidebarComponent->LeftSidebarModule\n\n\n\n\n\nNameInputModule\n\nNameInputModule\n\nLeftSidebarModule -->\n\nNameInputModule->LeftSidebarModule\n\n\n\n\n\nNameInputComponent \n\nNameInputComponent \n\nNameInputComponent -->\n\nNameInputModule->NameInputComponent \n\n\n\nRegistrationContentModule -->\n\nNameInputModule->RegistrationContentModule\n\n\n\n\n\nVisibilityMenuModule\n\nVisibilityMenuModule\n\nLeftSidebarModule -->\n\nVisibilityMenuModule->LeftSidebarModule\n\n\n\n\n\nVisibilityMenuComponent \n\nVisibilityMenuComponent \n\nVisibilityMenuComponent -->\n\nVisibilityMenuModule->VisibilityMenuComponent \n\n\n\n\n\nVisibilityToggleModule\n\nVisibilityToggleModule\n\nLeftSidebarModule -->\n\nVisibilityToggleModule->LeftSidebarModule\n\n\n\nLeftSidebarModule -->\n\nVisibilityToggleModule->LeftSidebarModule\n\n\n\n\n\nVisibilityToggleComponent \n\nVisibilityToggleComponent \n\nVisibilityToggleComponent -->\n\nVisibilityToggleModule->VisibilityToggleComponent \n\n\n\n\n\nNameInputComponent\n\nNameInputComponent\n\nNameInputModule -->\n\nNameInputComponent->NameInputModule\n\n\n\n\n\nRegistrationContentComponent\n\nRegistrationContentComponent\n\nRegistrationContentModule -->\n\nRegistrationContentComponent->RegistrationContentModule\n\n\n\nRegistrationModalModule -->\n\nRegistrationContentModule->RegistrationModalModule\n\n\n\n\n\nRegistrationContentComponent \n\nRegistrationContentComponent \n\nRegistrationContentComponent -->\n\nRegistrationContentModule->RegistrationContentComponent \n\n\n\n\n\nRegistrationModalComponent\n\nRegistrationModalComponent\n\nRegistrationModalModule -->\n\nRegistrationModalComponent->RegistrationModalModule\n\n\n\n\n\nReviewButtonComponent\n\nReviewButtonComponent\n\n\n\nReviewButtonModule\n\nReviewButtonModule\n\nReviewButtonModule -->\n\nReviewButtonComponent->ReviewButtonModule\n\n\n\nRightSidebarModule -->\n\nReviewButtonModule->RightSidebarModule\n\n\n\n\n\nReviewButtonComponent \n\nReviewButtonComponent \n\nReviewButtonComponent -->\n\nReviewButtonModule->ReviewButtonComponent \n\n\n\n\n\nReviewModalModule\n\nReviewModalModule\n\nReviewButtonModule -->\n\nReviewModalModule->ReviewButtonModule\n\n\n\n\n\nReviewModalComponent \n\nReviewModalComponent \n\nReviewModalComponent -->\n\nReviewModalModule->ReviewModalComponent \n\n\n\n\n\nReviewModalComponent\n\nReviewModalComponent\n\nReviewModalModule -->\n\nReviewModalComponent->ReviewModalModule\n\n\n\n\n\nRightSidebarComponent\n\nRightSidebarComponent\n\nRightSidebarModule -->\n\nRightSidebarComponent->RightSidebarModule\n\n\n\n\n\nRotationSliderModule\n\nRotationSliderModule\n\nRightSidebarModule -->\n\nRotationSliderModule->RightSidebarModule\n\n\n\n\n\nRotationSliderComponent \n\nRotationSliderComponent \n\nRotationSliderComponent -->\n\nRotationSliderModule->RotationSliderComponent \n\n\n\n\n\nSlicesInputModule\n\nSlicesInputModule\n\nRightSidebarModule -->\n\nSlicesInputModule->RightSidebarModule\n\n\n\n\n\nSlicesInputComponent \n\nSlicesInputComponent \n\nSlicesInputComponent -->\n\nSlicesInputModule->SlicesInputComponent \n\n\n\n\n\nTagListModule\n\nTagListModule\n\nRightSidebarModule -->\n\nTagListModule->RightSidebarModule\n\n\n\n\n\nTagListComponent \n\nTagListComponent \n\nTagListComponent -->\n\nTagListModule->TagListComponent \n\n\n\n\n\nTagSearchModule\n\nTagSearchModule\n\nRightSidebarModule -->\n\nTagSearchModule->RightSidebarModule\n\n\n\n\n\nTagSearchComponent \n\nTagSearchComponent \n\nTagSearchComponent -->\n\nTagSearchModule->TagSearchComponent \n\n\n\n\n\nRotationSliderComponent\n\nRotationSliderComponent\n\nRotationSliderModule -->\n\nRotationSliderComponent->RotationSliderModule\n\n\n\n\n\nSlicesInputComponent\n\nSlicesInputComponent\n\nSlicesInputModule -->\n\nSlicesInputComponent->SlicesInputModule\n\n\n\n\n\nStageNavComponent\n\nStageNavComponent\n\nStageNavModule -->\n\nStageNavComponent->StageNavModule\n\n\n\n\n\nTagListComponent\n\nTagListComponent\n\nTagListModule -->\n\nTagListComponent->TagListModule\n\n\n\n\n\nTagSearchComponent\n\nTagSearchComponent\n\nTagSearchModule -->\n\nTagSearchComponent->TagSearchModule\n\n\n\n\n\nThemingService\n\nThemingService\n\nThemingModule -->\n\nThemingService->ThemingModule\n\n\n\n\n\nVideoModalLauncherComponent\n\nVideoModalLauncherComponent\n\nVideoModalLauncherModule -->\n\nVideoModalLauncherComponent->VideoModalLauncherModule\n\n\n\n\n\nVideoModalComponent\n\nVideoModalComponent\n\n\n\nVideoModalModule\n\nVideoModalModule\n\nVideoModalModule -->\n\nVideoModalComponent->VideoModalModule\n\n\n\n\n\nVideoModalComponent \n\nVideoModalComponent \n\nVideoModalComponent -->\n\nVideoModalModule->VideoModalComponent \n\n\n\n\n\nVisibilityMenuComponent\n\nVisibilityMenuComponent\n\nVisibilityMenuModule -->\n\nVisibilityMenuComponent->VisibilityMenuModule\n\n\n\n\n\nVisibilityToggleComponent\n\nVisibilityToggleComponent\n\nVisibilityToggleModule -->\n\nVisibilityToggleComponent->VisibilityToggleModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n \n\n \n \n \n \n \n \n 29 Modules\n \n \n \n \n \n \n \n \n 29 Components\n \n \n \n \n \n \n \n 9 Injectables\n \n \n \n \n \n \n \n 2 Classes\n \n \n \n \n \n \n \n 32 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n CancelRegistrationCallback   (projects/.../app-web-component.component.ts)\n \n \n ContainerPayload   (projects/.../messages.ts)\n \n \n DrawerPayload   (projects/.../messages.ts)\n \n \n ExpandedState   (projects/.../drawer.component.ts)\n \n \n ExpandedState2   (projects/.../drawer.component.ts)\n \n \n FetchPreviousRegistrationsCallback   (projects/.../app-web-component.component.ts)\n \n \n Message   (projects/.../messages.ts)\n \n \n MessageChannel   (projects/.../messages.ts)\n \n \n MessageService   (projects/.../messages.ts)\n \n \n MetaData   (projects/.../meta-data.ts)\n \n \n OpenedState   (projects/.../drawer.component.ts)\n \n \n Organ   (projects/.../app-web-component.component.ts)\n \n \n Payload   (projects/.../messages.ts)\n \n \n RegistrationCallback   (projects/.../app-web-component.component.ts)\n \n \n Side   (projects/.../stage-nav.component.ts)\n \n \n TagId   (projects/.../anatomical-structure-tag.ts)\n \n \n User   (projects/.../app-web-component.component.ts)\n \n \n ViewSide   (projects/.../model.state.ts)\n \n \n ViewType   (projects/.../model.state.ts)\n \n \n \n \n \n \n\n\n projects/ccf-rui/src/app/app-web-component.component.ts\n \n \n \n \n \n \n CancelRegistrationCallback\n \n \n \n \n function\n\n \n \n \n \n \n \n \n \n \n FetchPreviousRegistrationsCallback\n \n \n \n \n function\n\n \n \n \n \n \n \n \n \n \n Organ\n \n \n \n \n NonNullable<>\n\n \n \n \n \n \n \n \n \n \n RegistrationCallback\n \n \n \n \n function\n\n \n \n \n \n \n \n \n \n \n User\n \n \n \n \n NonNullable<>\n\n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n \n \n \n \n \n ContainerPayload\n \n \n \n \n Payload types for messages sent from the drawer container.\n\n \n \n \n \n ContentContainerChanged | DrawerContainersChanged\n\n \n \n \n \n \n \n \n \n \n DrawerPayload\n \n \n \n \n Payload types for messages sent from the drawers.\n\n \n \n \n \n DrawerToggled | DrawerInitialized\n\n \n \n \n \n \n \n \n \n \n Message\n \n \n \n \n Specific message type.\n\n \n \n \n \n GenericMessage\n\n \n \n \n \n \n \n \n \n \n MessageChannel\n \n \n \n \n Specific channel type.\n\n \n \n \n \n GenericMessageChannel\n\n \n \n \n \n \n \n \n \n \n MessageService\n \n \n \n \n Specific service type.\n\n \n \n \n \n GenericMessageService\n\n \n \n \n \n \n \n \n \n \n Payload\n \n \n \n \n Combined payload type for all drawer sub components.\n\n \n \n \n \n ContainerPayload | DrawerPayload\n\n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n \n \n \n \n \n ExpandedState\n \n \n \n \n Expanded/collapsed state.\n\n \n \n \n \n \"open\" | \"open-instant\" | \"closed\"\n\n \n \n \n \n \n \n \n \n \n ExpandedState2\n \n \n \n \n Expanded state relative to an opposite drawer.\n\n \n \n \n \n \"collapsed\" | \"half\" | \"extended\" | \"full\"\n\n \n \n \n \n \n \n \n \n \n OpenedState\n \n \n \n \n Opened/closed state.\n\n \n \n \n \n \"open\" | \"open-instant\" | \"closed\"\n\n \n \n \n \n projects/ccf-rui/src/app/core/models/meta-data.ts\n \n \n \n \n \n \n MetaData\n \n \n \n \n MetaDataField[]\n\n \n \n \n \n projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts\n \n \n \n \n \n \n Side\n \n \n \n \n Valid values for side.\n\n \n \n \n \n \"left\" | \"right\" | \"anterior\" | \"posterior\" | \"3D\"\n\n \n \n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n \n \n \n \n \n TagId\n \n \n \n \n Type for tag identifiers\n\n \n \n \n \n string | number\n\n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n \n \n \n \n \n ViewSide\n \n \n \n \n Side which the model is viewed from\n\n \n \n \n \n \"left\" | \"right\" | \"anterior\" | \"posterior\"\n\n \n \n \n \n \n \n \n \n \n ViewType\n \n \n \n \n Model view type\n\n \n \n \n \n \"register\" | \"3d\"\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n DEFAULT_BLOCK_SIZE   (projects/.../block-size-input.component.ts)\n \n \n DEFAULT_ICONS   (projects/.../default-icons.ts)\n \n \n DEFAULT_ROTATION   (projects/.../rotation-slider.component.ts)\n \n \n DEFAULT_SEARCH_LIMIT   (projects/.../tag-search.component.ts)\n \n \n DEFAULT_SEARCH_THROTTLE   (projects/.../tag-search.component.ts)\n \n \n DEFAULT_SLICES_CONFIG   (projects/.../slices-input.component.ts)\n \n \n DEFAULT_THEME   (projects/.../theming.service.ts)\n \n \n EMPTY_RESULT   (projects/.../tag-search.component.ts)\n \n \n EXPAND_COLLAPSE_PARAMS_DEFAULT   (projects/.../drawer.component.ts)\n \n \n GLOBAL_CONFIG   (projects/.../config.ts)\n \n \n MESSAGE_SERVICE_CONFIG   (projects/.../message.service.ts)\n \n \n MESSAGE_SERVICE_DEFAULT_CONFIG   (projects/.../message.service.ts)\n \n \n MessageService   (projects/.../messages.ts)\n \n \n ROOT_STATES   (projects/.../store.module.ts)\n \n \n RUI_ORGANS   (projects/.../model.state.ts)\n \n \n ruiConfig   (projects/.../config.ts)\n \n \n \n \n \n \n\n\n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n \n \n \n \n \n \n DEFAULT_BLOCK_SIZE\n \n \n \n \n \n \n Type : BlockSize\n\n \n \n \n \n Default value : {\n x: 10,\n y: 10,\n z: 10\n}\n \n \n\n \n \n Defaults for block sizes.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/store/icon-registry/default-icons.ts\n \n \n \n \n \n \n \n DEFAULT_ICONS\n \n \n \n \n \n \n Type : DefaultIconDefinition[]\n\n \n \n \n \n Default value : [\n // Reference Organs\n { name: 'bladder', namespace: 'app', url: 'assets/icons/organs/ico-organs-bladder.svg' },\n { name: 'blood', namespace: 'app', url: 'assets/icons/organs/ico-organs-blood.svg' },\n { name: 'bone-marrow', namespace: 'app', url: 'assets/icons/organs/ico-organs-bone-marrow.svg' },\n { name: 'brain', namespace: 'app', url: 'assets/icons/organs/ico-organs-brain.svg' },\n { name: 'eye', namespace: 'app', url: 'assets/icons/organs/ico-organs-eye.svg' },\n { name: 'fallopian-tube-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-left.svg' },\n { name: 'fallopian-tube-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-right.svg' },\n { name: 'heart', namespace: 'app', url: 'assets/icons/organs/ico-organs-heart.svg' },\n { name: 'kidney-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-left.svg' },\n { name: 'kidney-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-right.svg' },\n { name: 'kidney', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney.svg' },\n { name: 'knee', namespace: 'app', url: 'assets/icons/organs/ico-organs-knee.svg' },\n { name: 'large-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-large-intestine.svg' },\n { name: 'larynx', namespace: 'app', url: 'assets/icons/organs/ico-organs-larynx.svg' },\n { name: 'liver', namespace: 'app', url: 'assets/icons/organs/ico-organs-liver.svg' },\n { name: 'lung-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-left.svg' },\n { name: 'lung-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-right.svg' },\n { name: 'lung', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung.svg' },\n { name: 'lymph-nodes', namespace: 'app', url: 'assets/icons/organs/ico-organs-lymph-nodes.svg' },\n { name: 'main-bronchus', namespace: 'app', url: 'assets/icons/organs/ico-organs-extrapulmonary bronchus.svg' },\n { name: 'mammary-gland', namespace: 'app', url: 'assets/icons/organs/ico-organs-breast.svg' },\n { name: 'neuron', namespace: 'app', url: 'assets/icons/organs/ico-organs-neuron.svg' },\n { name: 'ovaries', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovaries.svg' },\n { name: 'ovary-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-left.svg' },\n { name: 'ovary-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-right.svg' },\n { name: 'palatine-tonsil', namespace: 'app', url: 'assets/icons/organs/ico-organs-palatine tonsil.svg' },\n { name: 'pancreas', namespace: 'app', url: 'assets/icons/organs/ico-organs-pancreas.svg' },\n { name: 'pelvis-f', namespace: 'app', url: 'assets/icons/organs/ico-organs-pelvis-f.svg' },\n { name: 'placenta', namespace: 'app', url: 'assets/icons/organs/ico-organs-placenta.svg' },\n { name: 'prostate', namespace: 'app', url: 'assets/icons/organs/ico-organs-prostate.svg' },\n { name: 'skin', namespace: 'app', url: 'assets/icons/organs/ico-organs-skin.svg' },\n { name: 'small-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-small intestine.svg' },\n { name: 'spinal-cord', namespace: 'app', url: 'assets/icons/organs/ico-organs-spinal-cord.svg' },\n { name: 'spleen', namespace: 'app', url: 'assets/icons/organs/ico-organs-spleen.svg' },\n { name: 'stomach', namespace: 'app', url: 'assets/icons/organs/ico-organs-stomach.svg' },\n { name: 'thymus', namespace: 'app', url: 'assets/icons/organs/ico-organs-thymus.svg' },\n { name: 'trachea', namespace: 'app', url: 'assets/icons/organs/ico-organs-trachea.svg' },\n { name: 'ureter-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-left.svg' },\n { name: 'ureter-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-right.svg' },\n { name: 'uterus', namespace: 'app', url: 'assets/icons/organs/ico-organs-uterus.svg' },\n { name: 'vasculature-thick', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thick.svg' },\n { name: 'vasculature-thin', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thin.svg' },\n\n { name: 'opacity', namespace: 'app', url: 'assets/icons/opacity-24px.svg' },\n { name: 'visibility_on', namespace: 'app', url: 'assets/icons/visibility-on-24px.svg' },\n { name: 'visibility_off', namespace: 'app', url: 'assets/icons/visibility-off-24px.svg' },\n { name: 'visibility_off_cube', namespace: 'app', url: 'assets/icons/ico-cube.svg' }\n]\n \n \n\n \n \n Icons registered at startup.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n \n \n \n \n \n \n DEFAULT_ROTATION\n \n \n \n \n \n \n Type : Rotation\n\n \n \n \n \n Default value : {\n x: 0,\n y: 0,\n z: 0\n}\n \n \n\n \n \n Default values for rotation.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n \n \n \n \n \n \n DEFAULT_SEARCH_LIMIT\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 5\n \n \n\n \n \n Default search results limit\n\n \n \n\n \n \n \n \n \n \n \n \n DEFAULT_SEARCH_THROTTLE\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 100\n \n \n\n \n \n Default search throttle time in ms\n\n \n \n\n \n \n \n \n \n \n \n \n EMPTY_RESULT\n \n \n \n \n \n \n Type : TagSearchResult\n\n \n \n \n \n Default value : { totalCount: 0, results: [] }\n \n \n\n \n \n Empty search result object\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n \n \n \n \n \n \n DEFAULT_SLICES_CONFIG\n \n \n \n \n \n \n Type : SlicesConfig\n\n \n \n \n \n Default value : {\n thickness: NaN,\n numSlices: NaN\n}\n \n \n\n \n \n Default values for slices config.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/services/theming/theming.service.ts\n \n \n \n \n \n \n \n DEFAULT_THEME\n \n \n \n \n \n \n Default value : new InjectionToken('Default theme class')\n \n \n\n \n \n Token for specifying the default theme class.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n \n \n \n \n \n \n EXPAND_COLLAPSE_PARAMS_DEFAULT\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n params: {\n width: 0,\n margin: 0,\n margin2: 0\n }\n}\n \n \n\n \n \n Default animation parameters.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/services/config/config.ts\n \n \n \n \n \n \n \n GLOBAL_CONFIG\n \n \n \n \n \n \n Default value : new InjectionToken(\n 'Global configuration object'\n)\n \n \n\n\n \n \n \n \n \n \n \n \n ruiConfig\n \n \n \n \n \n \n Type : GlobalConfig\n\n \n \n\n\n \n \n\n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n \n \n \n \n \n \n MESSAGE_SERVICE_CONFIG\n \n \n \n \n \n \n Default value : new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n)\n \n \n\n \n \n Token for specifying the message service configuration.\n\n \n \n\n \n \n \n \n \n \n \n \n MESSAGE_SERVICE_DEFAULT_CONFIG\n \n \n \n \n \n \n Type : MessageServiceConfig\n\n \n \n \n \n Default value : {\n isolated: true\n}\n \n \n\n \n \n Default message service configuration.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n \n \n \n \n \n \n MessageService\n \n \n \n \n \n \n Default value : GenericMessageService\n \n \n\n \n \n Reference to the service class.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/store/store.module.ts\n \n \n \n \n \n \n \n ROOT_STATES\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n GlobalConfigState,\n IconRegistryState,\n PageState,\n ModelState,\n AnatomicalStructureTagState,\n ReferenceDataState,\n RegistrationState,\n SceneState\n]\n \n \n\n \n \n States shared across the entire app.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n \n \n \n \n \n \n RUI_ORGANS\n \n \n \n \n \n \n Default value : ALL_ORGANS\n \n \n\n \n \n All organs to be displayed\n\n \n \n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} + "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/injectables/AnatomicalStructureTagState.html",[0,1.271,1,2.49]],["body/injectables/AnatomicalStructureTagState.html",[0,1.515,1,2.967,2,2.047,3,0.067,4,0.084,5,0.059,6,0.12,7,6.793,8,3.829,9,5.291,10,2.882,11,0.834,12,2.15,13,4.584,14,2.967,15,2.51,16,1.978,17,5.392,18,0.337,19,0.574,20,2.148,21,5.392,22,2.692,23,2.823,24,5.047,25,1.304,26,5.913,27,5.203,28,5.387,29,2.872,30,4.584,31,5.203,32,2.635,33,5.249,34,5.392,35,1.081,36,2.882,37,3.774,38,1.953,39,5.203,40,0.967,41,0.992,42,1.728,43,0.01,44,1.067,45,0.778,46,1.346,47,1.216,48,1.477,49,3.49,50,3.218,51,4.584,52,1.954,53,3.88,54,3.59,55,1.613,56,1.227,57,4.584,58,3.59,59,3.427,60,3.629,61,3.629,62,4.584,63,3.59,64,3.59,65,2.227,66,4.177,67,3.59,68,4.584,69,0.909,70,4.692,71,1.533,72,5.302,73,3.59,74,4.177,75,0.007,76,3.166,77,4.001,78,4.177,79,4.177,80,0.007,81,4.584,82,4.269,83,3.629,84,0.006,85,0.667,86,0.702,87,3.59,88,2.394,89,3.59,90,2.056,91,2.199,92,3.49,93,3.59,94,3.59,95,3.59,96,2.708,97,3.59,98,3.59,99,0.315,100,4.584,101,3.163,102,1.754,103,3.163,104,0.172,105,2.635,106,2.227,107,2.096,108,1.537,109,1.537,110,1.446,111,2.672,112,1.888,113,1.019,114,1.586,115,1.222,116,2.245,117,2.14,118,2.672,119,1.964,120,2.14,121,2.882,122,1.404,123,1.404,124,1.404,125,1.327,126,1.404,127,2.672,128,1.638,129,0.349,130,0.122,131,2.672,132,1.49,133,0.118,134,1.379,135,3.163,136,3.163,137,3.163,138,3.629,139,1.253,140,3.671,141,0.919,142,0.943,143,4.42,144,3.163,145,2.882,146,3.163,147,3.163,148,3.163,149,3.648,150,3.163,151,3.163,152,3.163,153,3.163,154,3.163,155,2.703,156,2.096,157,3.163,158,2.364,159,4.584,160,1.069,161,0.542,162,1.537,163,1.638,164,2.364,165,2.047,166,2.364,167,2.364,168,2.245,169,2.364,170,2.364,171,3.163,172,3.163,173,2.245,174,2.245,175,3.163,176,3.163,177,2.504,178,4.584,179,4.584,180,4.584,181,3.427,182,1.819,183,4.584,184,2.504,185,2.504,186,3.163,187,3.163,188,1.159,189,2.364,190,3.163,191,3.163,192,3.163,193,3.163,194,3.163]],["title/interfaces/AnatomicalStructureTagStateModel.html",[129,0.292,131,3.249]],["body/interfaces/AnatomicalStructureTagStateModel.html",[0,1.767,1,2.55,3,0.084,4,0.104,5,0.074,6,0.063,7,3.589,8,2.95,9,2.796,10,3.589,11,0.556,12,2.134,13,3.939,14,2.55,15,2.498,16,1.699,17,5.348,20,1.997,21,3.939,22,2.702,23,2.619,24,4.539,26,3.939,28,3.589,29,1.914,33,5.186,34,3.939,35,1.073,37,3.646,40,0.831,41,0.852,43,0.01,44,0.622,45,0.723,47,1.1,48,1.269,49,3.461,50,3.191,51,3.939,53,3.743,55,0.919,56,1.167,57,3.939,59,2.945,60,3.119,61,3.119,62,3.939,65,1.914,66,3.589,68,3.939,69,0.822,70,4.539,71,1.12,72,5.501,74,3.589,75,0.007,76,2.864,77,3.619,78,3.589,79,3.589,80,0.007,81,3.939,82,4.234,83,3.119,84,0.006,88,2.374,90,1.86,91,2.181,92,3.461,96,2.619,99,0.327,100,5.348,101,3.939,102,2.184,103,3.939,104,0.215,105,3.073,106,2.598,107,2.445,108,1.914,109,1.914,110,1.801,111,3.327,112,2.351,113,1.269,114,1.975,115,1.522,116,2.796,117,2.665,118,3.327,119,2.445,120,2.665,121,3.589,122,1.749,123,1.749,124,1.749,125,1.652,126,1.749,127,3.327,128,2.04,129,0.407,130,0.142,131,4.517,132,1.856,133,0.147,134,1.519,135,3.939,136,3.939,137,3.939,138,4.234,139,1.333,140,4.043,141,1.073,142,1.1,143,4.868,144,3.939,145,3.589,146,3.939,147,3.939,148,3.939,149,4.108,150,3.939,151,3.939,152,3.939,153,3.939,154,3.939,155,2.977,156,2.445,157,3.939,158,2.945,159,5.348,160,1.177,161,0.675,162,1.914,163,2.04,164,2.945,165,2.55,166,2.945,167,2.945,168,2.796,169,2.945,170,2.945,171,3.939,172,3.939,173,2.796,174,2.796,175,3.939,176,3.939,177,3.119,178,5.348,179,5.348,180,5.348,181,3.998,182,2.122,183,5.348,184,3.119,185,3.119,186,3.939,187,3.939,188,1.443,189,2.945,190,3.939,191,3.939,192,3.939,193,3.939,194,3.939,195,1.177]],["title/components/AppComponent.html",[196,0.424,197,1.179]],["body/components/AppComponent.html",[3,0.049,4,0.061,5,0.068,6,0.12,11,0.774,12,0.982,16,1,18,0.538,19,0.454,20,1.437,22,1.364,23,1.927,25,1.031,32,2.084,35,0.727,37,3.367,38,1.967,42,1.448,43,0.01,44,0.993,45,0.599,46,1.128,52,1.198,55,1.279,56,1.133,69,1.079,75,0.004,80,0.003,84,0.003,85,1.422,86,1.467,88,2.243,91,2.061,99,0.278,104,0.126,112,1.383,113,0.747,129,0.276,130,0.096,133,0.087,134,0.846,139,0.829,141,1.013,142,0.746,160,0.656,161,1.288,182,1.439,188,1.329,196,0.604,197,1.548,198,1.031,199,0.747,200,0.827,201,0.827,202,0.806,203,1.958,204,2.454,205,1.658,206,2.476,207,3.339,208,0.71,209,1.229,210,1.229,211,2.213,212,1.099,213,1.239,214,1.111,215,4.07,216,1.111,217,3.304,218,4.07,219,3.272,220,4.542,221,4.542,222,3.772,223,3.536,224,3.586,225,4.312,226,4.361,227,4.07,228,3.627,229,4.116,230,2.801,231,3.777,232,4.603,233,3.304,234,3.627,235,4.116,236,4.07,237,2.112,238,5.536,239,4.603,240,4.603,241,3.536,242,3.419,243,3.773,244,3.27,245,2.237,246,2.31,247,2.773,248,3.136,249,4.116,250,2.871,251,3.339,252,2.318,253,3.777,254,4.116,255,4.996,256,1.707,257,2.343,258,2.24,259,1.713,260,1.788,261,4.911,262,3.763,263,2.739,264,2.631,265,4.603,266,4.116,267,4.07,268,4.07,269,3.339,270,4.07,271,3.773,272,3.063,273,3.063,274,3.304,275,3.304,276,2.631,277,2.454,278,1.521,279,2.631,280,2.631,281,2.347,282,3.304,283,2.454,284,4.268,285,4.07,286,3.777,287,2.169,288,2.631,289,3.304,290,2.631,291,2.631,292,3.304,293,2.631,294,2.631,295,3.304,296,2.631,297,1.639,298,2.631,299,2.3,300,1.838,301,2.773,302,2.631,303,2.347,304,2.084,305,2.631,306,2.871,307,2.164,308,1.093,309,1.239,310,3.136,311,3.17,312,2.574,313,2.24,314,2.631,315,3.304,316,2.631,317,3.304,318,2.631,319,2.631,320,2.631,321,0.786,322,1.733,323,1.958,324,1.733,325,2.112,326,0.766,327,1.958,328,2.112,329,1.958,330,1.958,331,1.569,332,1.501,333,0.896,334,1.383,335,1.383,336,1.835,337,0.846,338,2.112,339,2.112,340,3.304,341,2.112,342,2.112,343,2.112,344,2.112,345,3.304,346,2.112,347,1.958,348,2.112,349,2.112,350,1.645,351,2.112,352,2.112,353,1.439,354,2.112,355,2.112,356,2.112,357,1.569,358,2.112,359,0.786,360,2.112,361,2.112,362,2.871,363,2.112,364,2.112,365,2.112,366,2.112,367,2.112,368,2.112,369,5.729,370,2.112,371,4.07,372,2.112,373,5.536,374,2.112,375,1.958,376,2.112,377,5.132,378,1.332,379,2.112,380,3.342,381,2.112,382,2.176,383,3.304,384,3.933,385,1.835,386,2.112,387,1.565,388,3.304,389,1.501,390,1.709,391,3.304,392,2.112,393,1.958,394,2.112,395,1.645,396,4.116,397,5.735,398,5.053,399,0.896,400,1.68,401,2.739,402,2.574,403,2.574,404,2.826,405,1.822,406,1.501,407,2.347,408,1.201,409,1.057,410,2.084,411,2.666,412,2.631,413,1.285,414,1.229,415,2.631,416,2.664,417,2.454,418,2.749,419,2.871,420,2.631,421,2.862,422,5.07,423,2.871,424,1.057,425,2.251,426,2.318,427,2.17,428,2.251,429,1.169,430,2.711,431,1.942,432,1.569,433,2.454,434,2.17,435,1.241,436,1.762,437,1.762,438,3.304,439,2.112,440,2.112,441,1.201,442,2.666,443,2.631,444,1.201,445,1.06,446,2.711,447,1.835,448,2.392,449,3.015,450,0.889,451,2.476,452,4.116,453,0.889,454,1.835,455,2.631,456,2.631,457,1.51,458,1.835,459,3.339,460,4.116,461,2.567,462,2.631,463,2.631,464,1.332,465,2.112,466,1.029,467,1.835,468,0.827,469,1.031,470,0.827,471,1.803,472,0.827,473,0.827,474,0.747,475,0.827,476,0.728,477,1.594,478,0.747,479,0.827,480,1.111,481,1.594,482,0.747,483,0.786,484,0.827,485,0.747,486,0.827,487,0.747,488,0.71,489,0.827,490,0.747,491,0.827,492,0.747,493,0.747,494,0.827,495,0.747,496,0.806,497,0.728,498,0.827,499,0.747,500,1.294,501,0.728,502,0.747,503,0.747,504,1.594,505,0.747,506,1.198,507,1.294,508,0.728,509,0.747,510,0.728,511,0.612,512,0.827,513,0.728,514,0.71,515,0.747,516,0.827,517,0.747,518,0.827,519,0.747,520,0.827,521,0.747,522,1.031,523,0.747,524,1.169,525,0.747,526,0.827,527,0.747,528,1.084,529,0.827,530,0.747,531,0.827,532,0.827]],["title/modules/AppModule.html",[533,1.271,534,3.249]],["body/modules/AppModule.html",[3,0.098,4,0.122,5,0.086,6,0.096,25,1.312,37,3.712,38,1.218,43,0.01,55,1.076,56,1.018,75,0.007,80,0.006,84,0.006,99,0.342,104,0.251,130,0.122,133,0.172,139,0.856,161,0.791,197,2.318,204,3.122,205,2.109,212,0.651,226,2.986,284,3.897,287,1.647,297,1.379,323,3.897,324,3.449,326,1.525,330,3.897,424,1.345,474,2.437,534,6.784,535,1.487,536,1.962,537,4.614,538,4.614,539,4.614,540,5.812,541,5.812,542,5.812,543,5.812,544,5.812,545,5.812,546,5.812,547,2.119,548,1.487,549,5.237,550,2.294,551,6.739,552,2.175,553,7.451,554,5.237,555,6.739,556,2.065,557,5.237,558,4.614,559,6.739,560,4.614,561,2.864,562,2.797,563,2.048,564,6.739,565,5.937,566,4.438,567,3.274,568,5.409,569,4.204,570,5.937,571,6.739,572,3.653,573,5.237,574,5.237,575,5.237,576,5.015,577,5.237,578,5.237,579,5.237,580,3.897,581,6.739,582,5.237,583,4.438,584,4.614,585,5.237,586,3.897,587,5.237,588,3.449,589,5.015,590,5.409,591,3.653,592,4.204,593,4.614,594,5.237,595,5.237,596,2.109,597,6.739,598,5.237,599,4.614,600,5.237,601,3.897]],["title/interfaces/AppOptions.html",[129,0.292,336,3.045]],["body/interfaces/AppOptions.html",[3,0.078,4,0.097,5,0.069,6,0.059,16,2.2,18,0.392,19,0.638,20,1.451,22,1.383,23,1.586,35,0.737,37,3.387,43,0.01,45,0.651,46,1.479,56,1.139,69,1.191,75,0.006,80,0.004,84,0.004,85,0.776,88,2.265,91,2.08,99,0.314,104,0.2,112,2.194,113,1.185,129,0.388,130,0.135,133,0.137,134,1.19,139,1.087,141,1.023,142,0.756,160,0.922,161,1.291,182,1.459,195,1.099,196,0.645,197,1.127,203,3.106,204,2.488,205,1.681,206,2.828,207,3.813,209,1.246,210,1.246,211,1.666,212,0.826,213,1.02,214,1.127,215,3.35,216,1.127,217,3.35,218,3.35,219,3.965,220,5.14,221,5.14,222,3.166,223,2.911,224,3.62,225,4.157,226,4.783,227,3.35,230,2.038,231,2.748,232,3.35,236,3.35,238,5.336,239,4.647,240,4.647,241,2.911,242,3.451,243,3.106,244,3.301,245,2.58,246,2.332,247,2.282,248,3.166,251,2.748,253,2.748,255,4.647,256,1.546,257,2.037,258,1.843,259,1.729,260,1.451,261,4.308,262,3.301,263,2.403,265,3.35,267,3.35,268,3.35,269,2.748,270,3.35,271,3.106,272,3.106,273,3.106,274,3.35,275,3.35,277,2.488,278,1.542,281,2.38,282,3.35,283,2.488,284,4.947,285,4.647,286,4.378,287,2.258,289,3.35,292,3.35,295,3.35,297,1.75,299,2.139,300,1.046,301,3.166,303,2.38,304,2.113,306,2.911,307,2.194,308,0.796,309,1.02,310,2.282,311,3.62,312,2.609,313,1.843,315,3.35,317,3.35,321,1.246,322,2.748,323,3.106,324,2.748,325,3.35,326,1.215,327,3.106,328,3.35,329,3.106,330,3.106,331,2.488,332,2.38,333,1.42,334,2.194,335,2.194,336,4.038,337,1.476,338,3.35,339,3.35,340,4.647,341,3.35,342,3.35,343,3.35,344,3.35,345,4.647,346,3.35,347,3.106,348,3.35,349,3.35,350,2.609,351,3.35,352,3.35,353,2.282,354,3.35,355,3.35,356,3.35,357,2.488,358,3.35,359,1.246,360,3.35,361,3.35,362,2.911,363,3.35,364,3.35,365,3.35,366,3.35,367,3.35,368,3.35,369,6.55,370,3.35,371,5.336,372,3.35,373,6.425,374,3.35,375,3.106,376,3.35,377,5.956,378,2.113,379,3.35,380,3.952,381,3.35,382,2.024,383,4.647,384,4.564,385,2.911,386,3.35,387,2.2,388,4.647,389,2.38,390,2.403,391,4.647,392,3.35,393,3.106,394,3.35,395,2.609]],["title/components/AppWebComponent.html",[196,0.424,474,1.239]],["body/components/AppWebComponent.html",[3,0.076,4,0.095,5,0.093,6,0.124,12,1.355,16,2.159,18,0.381,19,0.627,35,1.004,38,2.02,42,0.945,43,0.01,44,0.988,45,0.804,46,0.736,56,0.858,69,1.219,75,0.006,80,0.004,82,3.963,84,0.004,99,0.301,104,0.195,113,1.153,130,0.181,133,0.134,139,0.664,142,0.736,196,0.636,197,1.096,198,1.642,199,1.613,201,1.277,202,1.245,208,1.096,209,1.697,210,1.697,211,2.27,212,1.13,213,1.601,219,3.731,220,4.315,221,4.315,226,3.736,245,1.46,246,2.858,247,3.881,248,3.881,256,0.945,259,2.578,260,1.423,299,2.935,300,1.642,308,1.083,309,0.993,321,1.213,326,1.183,329,3.023,333,2.704,337,1.666,359,1.213,409,1.043,450,0.877,453,0.877,457,1.069,468,1.277,469,1.423,470,1.277,471,2.231,472,1.277,473,1.277,474,2.014,475,1.277,476,1.124,477,2.06,478,1.153,479,1.277,480,1.534,481,2.06,482,1.153,483,1.213,484,1.277,485,1.153,486,1.277,487,1.153,488,1.096,489,1.277,490,1.153,491,1.277,492,1.153,493,1.153,494,1.277,495,1.153,496,1.245,497,1.124,498,1.277,499,1.153,500,1.786,501,1.124,502,1.153,503,1.153,504,2.06,505,1.153,506,1.654,507,1.786,508,1.124,509,1.153,510,1.124,511,0.945,512,1.277,513,1.124,514,1.096,515,1.153,516,1.277,517,1.153,518,1.277,519,1.153,520,1.277,521,1.153,522,1.423,523,1.153,524,1.613,525,1.153,526,1.277,527,1.153,528,1.496,529,1.277,530,1.153,531,1.277,532,1.277,572,6.086,602,7.004,603,3.26,604,6.552,605,5.681,606,3.906,607,2.288,608,4.097,609,4.673,610,5.696,611,6.252,612,3.134,613,6.252,614,5.281,615,4.062,616,5.681,617,5.681,618,4.062,619,4.57,620,4.062,621,4.315,622,4.062,623,5.773,624,4.062,625,4.062,626,4.062,627,4.062,628,4.062,629,4.876,630,4.062,631,4.062,632,4.062,633,4.062,634,4.062,635,1.984,636,2.057,637,5.681,638,4.062,639,2.057,640,2.057,641,5.005,642,1.738,643,4.062,644,4.062,645,4.062,646,3.26,647,4.062,648,4.062,649,4.062,650,4.062,651,4.062,652,6.552,653,6.552,654,6.552]],["title/interfaces/BlockSize.html",[129,0.292,655,2.388]],["body/interfaces/BlockSize.html",[3,0.099,4,0.124,5,0.087,6,0.075,11,0.659,18,0.498,19,0.749,40,0.986,41,1.011,43,0.01,44,0.946,45,0.68,47,0.962,56,1.026,69,0.718,71,2.178,75,0.007,80,0.006,84,0.006,86,1.037,99,0.257,104,0.255,129,0.502,130,0.159,132,2.202,133,0.224,139,1.111,141,1.201,160,1.194,161,1.132,182,1.855,195,1.397,196,0.767,209,1.584,210,1.584,211,1.329,212,0.845,214,1.432,216,1.432,256,2.102,259,2.571,260,1.329,321,1.584,382,2.857,387,3.106,390,3.392,404,2.511,409,2.211,414,2.029,469,1.329,476,1.468,596,2.137,655,4.324,656,3.7,657,3.494,658,3.162,659,5.057,660,3.44,661,4.469,662,4.508,663,5.987,664,2.82,665,1.506,666,2.82,667,2.658,668,2.016,669,1.96,670,2.511,671,3.948,672,5.579,673,4.508,674,3.948,675,3.494,676,3.494,677,1.506,678,1.668,679,3.281,680,3.948,681,3.494,682,4.674,683,2.658,684,2.27,685,4.249,686,3.162,687,3.861,688,3.948,689,3.494,690,4.674,691,3.7,692,3.494,693,3.317,694,6.605,695,3.948,696,4.674,697,5.987,698,4.674,699,5.987,700,3.948,701,4.674,702,4.674]],["title/components/BlockSizeInputComponent.html",[196,0.424,476,1.209]],["body/components/BlockSizeInputComponent.html",[3,0.069,4,0.086,5,0.087,6,0.112,11,0.773,12,1.267,18,0.347,19,0.586,25,1.331,35,0.653,38,1.798,40,0.988,41,1.013,42,1.236,43,0.01,44,1.138,45,0.681,46,0.963,47,0.963,52,1.076,55,1.092,56,1.027,69,0.921,71,1.558,75,0.006,76,1.743,80,0.004,84,0.004,85,1.156,86,1.409,99,0.201,104,0.177,129,0.356,130,0.124,132,1.534,133,0.247,139,0.869,141,1.099,142,0.67,160,0.991,161,1.088,182,1.858,188,1.715,196,0.75,197,0.997,198,1.331,199,1.049,200,1.162,201,1.162,202,1.132,208,0.997,209,1.587,210,1.587,211,2.254,212,1.124,213,0.903,214,1.434,216,1.434,219,1.943,256,2.078,259,2.585,260,1.704,300,1.558,308,1.013,309,0.903,321,1.104,382,2.378,387,2.585,390,2.823,399,1.258,400,1.434,401,2.582,404,2.513,408,1.686,409,2.318,414,2.031,421,1.534,427,1.581,434,2.274,436,1.581,437,1.581,444,2.424,445,1.488,448,1.743,450,0.798,451,1.805,453,1.147,454,2.577,457,0.973,461,1.871,468,1.162,469,1.805,470,1.162,471,2.139,472,1.162,473,1.162,474,1.049,475,1.162,476,1.883,477,1.956,478,1.049,479,1.162,480,1.434,481,1.956,482,1.049,483,1.104,484,1.162,485,1.049,486,1.162,487,1.049,488,0.997,489,1.162,490,1.049,491,1.162,492,1.049,493,1.049,494,1.162,495,1.049,496,1.132,497,1.023,498,1.162,499,1.049,500,1.67,501,1.023,502,1.049,503,1.049,504,1.956,505,1.049,506,1.547,507,1.67,508,1.023,509,1.049,510,1.023,511,0.86,512,1.162,513,1.023,514,0.997,515,1.049,516,1.162,517,1.049,518,1.162,519,1.049,520,1.162,521,1.049,522,1.331,523,1.049,524,1.508,525,1.049,526,1.162,527,1.049,528,1.399,529,1.162,530,1.049,531,1.162,532,1.162,561,2.021,592,2.966,596,1.488,607,2.505,655,4.103,656,5.517,657,5.209,658,2.203,659,2.75,660,1.871,661,4.295,662,4.408,663,5.48,664,2.582,665,1.049,666,2.205,667,2.66,668,1.404,669,1.365,670,2.298,671,2.75,672,5.061,673,4.109,674,3.954,675,3.499,676,4.097,677,1.508,678,1.956,679,3.283,680,3.954,681,3.499,682,5.48,683,2.433,684,2.274,685,4.505,686,3.167,687,3.664,688,3.954,689,3.499,690,4.681,691,2.577,692,2.433,693,2.31,694,5.48,695,2.75,696,3.255,697,4.681,698,3.255,699,4.681,700,3.954,701,5.992,702,3.255,703,5.312,704,2.595,705,1.76,706,1.943,707,5.312,708,3.255,709,4.681,710,3.695,711,3.255,712,4.264,713,4.097,714,3.255,715,2.577,716,3.255,717,2.31,718,2.021,719,2.577,720,2.203,721,2.577,722,1.943,723,2.577,724,3.255,725,2.966,726,2.577,727,2.31,728,2.433,729,2.433]],["title/modules/BlockSizeInputModule.html",[533,1.271,730,3.045]],["body/modules/BlockSizeInputModule.html",[3,0.12,4,0.149,5,0.105,6,0.091,43,0.01,75,0.008,80,0.007,84,0.007,99,0.335,104,0.307,130,0.149,133,0.21,256,1.488,409,2.094,424,1.643,476,2.516,535,1.815,536,2.221,547,2.399,548,1.815,550,2.596,552,2.064,556,2.337,562,3.166,563,2.501,656,4.46,657,4.212,730,6.17,731,5.634,732,5.634,733,5.634,734,5.133,735,2.596,736,2.741,737,2.176,738,5.677,739,4.759,740,5.32,741,4.46,742,4.172,743,3.498,744,5.133]],["title/modules/ConfigModule.html",[533,1.271,745,3.045]],["body/modules/ConfigModule.html",[3,0.128,4,0.16,5,0.112,6,0.097,43,0.01,75,0.008,80,0.007,84,0.007,99,0.317,104,0.328,130,0.16,133,0.225,212,0.849,326,1.989,535,1.939,556,2.43,588,4.498,589,5.083,745,5.53,746,6.83,747,5.53,748,5.901,749,6.365,750,3.895,751,6.83,752,6.83]],["title/components/ContainerComponent.html",[196,0.424,478,1.239]],["body/components/ContainerComponent.html",[3,0.062,4,0.078,5,0.081,6,0.119,11,0.729,12,1.176,18,0.463,19,0.544,20,2.193,25,1.236,32,2.498,35,0.59,38,1.944,40,0.917,41,0.941,42,1.148,43,0.01,44,0.963,45,0.725,46,0.894,47,0.894,48,1.4,52,1.887,55,1.539,56,0.979,61,2.328,69,0.452,71,1.236,75,0.005,80,0.004,84,0.004,85,1.091,86,1.147,90,1.512,99,0.274,104,0.16,113,0.948,115,1.136,130,0.078,133,0.238,134,1.332,139,1.06,141,1.037,142,0.605,160,1.032,161,0.886,188,1.894,196,0.786,197,0.901,198,1.814,199,0.948,200,1.05,201,1.05,202,1.023,205,1.987,206,2.866,208,0.901,209,1.473,210,1.473,211,2.235,212,1.116,213,0.816,214,1.332,216,1.332,225,4.683,230,3.166,247,3.545,248,3.545,256,1.148,257,2.119,258,2.863,260,1.236,263,3.005,277,2.941,278,2.395,297,1.972,300,2.124,308,0.941,309,0.816,311,3.669,312,3.085,313,3.72,321,0.997,337,1.332,357,1.99,382,1.167,395,2.087,399,1.136,400,0.901,406,2.813,407,1.903,409,0.857,416,3.604,417,1.99,429,0.948,450,0.721,453,0.721,457,0.879,466,1.93,468,1.05,469,1.733,470,1.05,471,2.038,472,1.05,473,1.05,474,0.948,475,1.05,476,0.924,477,1.845,478,1.84,479,1.05,480,1.867,481,1.845,482,0.948,483,0.997,484,1.05,485,1.84,486,1.05,487,0.948,488,0.901,489,1.05,490,0.948,491,1.05,492,0.948,493,0.948,494,1.05,495,0.948,496,1.023,497,0.924,498,1.05,499,0.948,500,1.551,501,0.924,502,0.948,503,0.948,504,1.845,505,0.948,506,1.436,507,1.551,508,0.924,509,0.948,510,0.924,511,0.777,512,1.05,513,0.924,514,0.901,515,0.948,516,1.05,517,0.948,518,1.05,519,0.948,520,1.05,521,0.948,522,1.236,523,0.948,524,1.4,525,0.948,526,1.05,527,0.948,528,1.299,529,1.05,530,0.948,531,1.05,532,1.05,588,3.249,660,1.69,665,0.948,677,1.4,705,1.635,753,2.679,754,2.698,755,4.71,756,4.346,757,4.933,758,3.396,759,5.868,760,4.933,761,3.156,762,4.367,763,5.868,764,5.868,765,4.761,766,3.96,767,5.203,768,6.482,769,5.868,770,3.96,771,4.933,772,2.594,773,3.378,774,3.249,775,4.933,776,4.933,777,3.308,778,3.338,779,4.346,780,4.933,781,3.249,782,3.671,783,3.671,784,3.338,785,2.179,786,4.933,787,4.933,788,3.338,789,3.338,790,4.933,791,4.933,792,2.866,793,3.338,794,3.249,795,7.49,796,4.933,797,6.482,798,3.338,799,5.203,800,3.96,801,6.482,802,4.933,803,3.338,804,3.96,805,4.346,806,4.933,807,3.338,808,3.338,809,3.338,810,4.346,811,3.338,812,3.338,813,1.236,814,3.338,815,3.338,816,2.679,817,2.679,818,2.484,819,2.198,820,2.328,821,2.941,822,3.96,823,3.338,824,2.941,825,3.338,826,2.941,827,3.865,828,3.865,829,2.941,830,2.941,831,3.338,832,3.338,833,3.338,834,3.338,835,2.198,836,2.679,837,2.941,838,2.484,839,3.338,840,3.338,841,4.346,842,2.087,843,2.698,844,4.346,845,3.338,846,3.338,847,3.338,848,1.823,849,3.338,850,3.338,851,4.933,852,4.933,853,3.338,854,3.338,855,3.338,856,3.338,857,3.338,858,3.338,859,3.338,860,2.484,861,3.338,862,3.338]],["title/components/ContentComponent.html",[196,0.424,480,1.179]],["body/components/ContentComponent.html",[3,0.056,4,0.069,5,0.074,6,0.118,11,0.679,12,1.077,15,2.258,18,0.513,19,0.498,20,1.647,22,2.179,23,2.632,24,3.6,25,1.131,35,0.798,38,1.919,40,0.839,41,0.861,42,1.272,43,0.01,44,1.058,45,0.725,46,0.991,52,0.863,55,1.351,56,1.046,69,0.401,71,1.131,75,0.005,80,0.003,84,0.003,85,1.38,86,1.451,88,2.39,91,2.196,92,3.484,99,0.288,104,0.142,114,1.31,115,1.009,130,0.069,133,0.228,139,0.894,141,0.524,142,0.991,160,1.047,161,1.273,188,0.957,196,0.765,197,0.801,198,1.131,199,0.842,200,0.933,201,0.933,202,0.909,205,1.819,206,2.67,207,3.6,208,0.801,209,1.348,210,1.348,211,2.212,212,1.109,213,1.336,214,1.219,216,1.219,230,2.67,231,4.024,237,2.381,244,3.484,247,3.342,248,3.342,256,1.272,257,2.479,258,1.994,260,1.647,263,1.231,278,1.668,283,1.768,287,1.921,297,0.781,300,1.37,308,1.45,309,0.725,321,0.886,324,1.953,331,1.768,332,1.691,337,0.928,377,4.893,378,1.502,380,3.094,382,2.795,384,3.484,387,2.947,390,3.218,393,2.207,399,1.009,400,1.775,401,2.536,404,2.02,405,1.622,406,1.691,407,2.574,409,0.762,410,1.502,411,1.559,414,1.964,416,3.583,418,2.414,421,1.874,427,1.269,429,1.282,433,2.691,434,1.269,435,1.399,436,1.269,437,1.269,447,2.069,449,1.559,450,1.181,453,0.975,457,0.781,459,1.953,461,3.094,464,1.502,468,0.933,469,1.647,470,0.933,471,1.921,472,0.933,473,0.933,474,0.842,475,0.933,476,0.821,477,1.719,478,0.842,479,0.933,480,1.775,481,1.719,482,0.842,483,0.886,484,0.933,485,0.842,486,0.933,487,0.842,488,0.801,489,0.933,490,0.842,491,0.933,492,0.842,493,0.842,494,0.933,495,0.842,496,0.909,497,0.821,498,0.933,499,0.842,500,1.42,501,0.821,502,0.842,503,0.842,504,1.719,505,0.842,506,1.314,507,1.42,508,0.821,509,0.842,510,0.821,511,0.69,512,0.933,513,0.821,514,0.801,515,0.842,516,0.933,517,0.842,518,0.933,519,0.842,520,0.933,521,0.842,522,1.131,523,0.842,524,1.282,525,0.842,526,0.933,527,0.842,528,1.189,529,0.933,530,0.842,531,0.933,532,0.933,548,1.282,612,2.414,635,2.205,636,2.286,639,1.502,640,1.502,665,0.842,673,1.691,677,1.282,678,1.719,705,1.496,713,2.973,720,1.768,721,2.069,722,1.559,754,2.99,774,2.973,781,2.973,785,2.414,813,1.531,863,2.613,864,4.388,865,3.978,866,5.466,867,5.466,868,6.11,869,6.11,870,6.926,871,5.466,872,4.515,873,5.466,874,4.515,875,3.212,876,6.11,877,4.515,878,4.515,879,4.515,880,2.966,881,5.466,882,2.966,883,2.966,884,2.966,885,6.575,886,2.966,887,2.966,888,1.691,889,2.966,890,2.966,891,2.205,892,2.966,893,2.966,894,3.82,895,3.329,896,1.854,897,4.515,898,4.515,899,4.515,900,4.515,901,6.926,902,4.292,903,4.515,904,4.515,905,4.515,906,4.515,907,4.515,908,4.515,909,2.966,910,2.966,911,3.624,912,4.515,913,6.575,914,3.978,915,3.978,916,4.515,917,4.515,918,2.966,919,2.966,920,5.466,921,3.978,922,4.515,923,4.515,924,4.515,925,4.515,926,4.515,927,4.515,928,2.966,929,5.466,930,2.823,931,2.966,932,2.823,933,4.515,934,2.613,935,2.381,936,2.966,937,2.381,938,2.966,939,2.966,940,2.966,941,3.624,942,3.149,943,1.953,944,2.069,945,1.953,946,1.953,947,1.953,948,2.381,949,1.953,950,4.515,951,6.11,952,6.11,953,3.36,954,1.768,955,3.36,956,4.515,957,4.515,958,4.515,959,4.515,960,2.984,961,2.823,962,2.973,963,1.854,964,1.953,965,1.874,966,2.966,967,3.36,968,2.069,969,1.964,970,2.966,971,2.966,972,1.768,973,2.966,974,2.613,975,2.207,976,2.069,977,2.966]],["title/components/ContentComponent-1.html",[188,1.175,196,0.353,480,0.982]],["body/components/ContentComponent-1.html",[3,0.058,4,0.072,5,0.077,6,0.12,11,0.776,12,1.112,15,1.633,18,0.438,19,0.514,20,2.083,25,1.168,35,0.547,38,1.961,40,0.867,41,0.889,42,1.305,43,0.01,44,0.98,45,0.732,46,1.017,47,0.845,48,1.324,52,1.95,55,1.377,56,1.063,69,0.419,71,1.964,75,0.005,80,0.003,84,0.003,85,1.517,86,1.578,90,1.429,99,0.253,104,0.149,113,0.879,130,0.072,133,0.232,134,1.283,139,1.195,141,0.824,142,0.561,160,1.164,161,0.847,165,2.659,188,1.505,196,0.747,197,0.836,198,1.168,199,1.324,200,0.973,201,0.973,202,0.948,205,1.878,206,2.74,208,0.836,209,1.393,210,1.393,211,2.22,212,1.109,213,0.757,214,1.259,225,4.569,230,3.05,247,3.415,248,3.415,256,0.72,257,1.913,258,2.758,260,1.168,263,2.922,277,2.78,278,1.723,287,2.297,297,1.924,300,2.174,308,0.889,309,0.757,311,3.508,312,2.916,321,0.924,337,1.502,357,1.845,362,2.159,378,1.567,380,2.841,382,1.082,395,1.935,399,1.053,400,0.836,401,1.935,402,1.935,403,1.935,404,1.144,405,1.112,406,1.765,409,1.976,414,2.298,416,3.63,421,1.935,423,2.159,424,0.795,429,2.074,434,1.996,435,1.46,450,1.578,453,1.578,457,0.815,465,2.485,466,1.211,467,2.159,468,0.973,469,1.678,470,0.973,471,1.964,472,0.973,473,0.973,474,0.879,475,0.973,476,0.857,477,1.764,478,0.879,479,0.973,480,1.808,481,1.764,482,0.879,483,0.924,484,0.973,485,1.902,486,0.973,487,0.879,488,0.836,489,0.973,490,0.879,491,0.973,492,0.879,493,0.879,494,0.973,495,0.879,496,0.948,497,0.857,498,0.973,499,0.879,500,1.466,501,0.857,502,0.879,503,0.879,504,1.764,505,0.879,506,1.358,507,1.466,508,0.857,509,0.879,510,0.857,511,0.72,512,0.973,513,0.857,514,0.836,515,0.879,516,0.973,517,0.879,518,0.973,519,0.879,520,0.973,521,0.879,522,1.168,523,0.879,524,1.324,525,0.879,526,0.973,527,0.879,528,1.228,529,0.973,530,0.879,531,0.973,532,0.973,606,1.845,665,0.879,677,1.324,684,2.673,705,1.545,758,3.11,762,4.175,765,3.993,766,3.743,770,3.743,772,2.452,773,3.05,774,3.071,777,3.11,781,3.071,782,3.47,783,3.47,805,4.108,813,1.884,818,2.303,827,4.812,828,4.637,838,2.303,842,1.935,843,1.693,864,4.503,964,2.038,965,1.935,969,3.106,978,2.727,979,4.663,980,7.016,981,5.61,982,6.699,983,5.61,984,5.61,985,6.244,986,4.663,987,4.663,988,4.663,989,6.244,990,6.244,991,6.244,992,4.663,993,3.071,994,4.663,995,5.61,996,4.663,997,4.663,998,5.61,999,4.663,1000,4.663,1001,3.743,1002,3.095,1003,3.743,1004,3.743,1005,3.095,1006,3.095,1007,4.108,1008,3.743,1009,4.663,1010,4.979,1011,3.095,1012,4.663,1013,3.095,1014,3.252,1015,2.06,1016,4.663,1017,6.244,1018,2.303,1019,4.175,1020,2.485,1021,2.485,1022,3.095,1023,3.095,1024,3.095,1025,3.095,1026,3.095,1027,3.095,1028,3.095,1029,2.485,1030,4.663,1031,3.095,1032,4.663,1033,3.095,1034,1.693,1035,2.038,1036,3.095,1037,3.095,1038,3.095,1039,5.61,1040,3.095,1041,3.095,1042,4.663,1043,3.095,1044,3.095,1045,4.663,1046,3.095,1047,3.095,1048,3.095,1049,3.095,1050,2.727]],["title/interfaces/ContentContainerChanged.html",[129,0.292,1051,2.73]],["body/interfaces/ContentContainerChanged.html",[3,0.1,4,0.125,5,0.088,6,0.076,11,0.663,15,1.554,18,0.501,19,0.752,43,0.01,45,0.828,47,1.236,48,1.515,71,1.709,75,0.007,80,0.006,84,0.006,90,2.304,99,0.202,122,2.087,123,2.087,124,2.087,125,1.972,126,2.087,129,0.531,130,0.206,133,0.176,139,0.873,141,1.205,182,2.77,195,1.405,196,0.795,198,1.709,222,2.919,300,2.235,313,3.013,337,1.402,414,2.037,416,3.725,425,3.731,431,2.518,522,1.337,606,3.181,642,3.218,679,2.215,758,3.321,761,2.435,765,4.066,772,2.806,773,3.331,777,3.94,792,3.331,813,1.709,842,3.337,843,3.731,848,1.972,969,2.451,1010,4.265,1014,3.722,1034,2.919,1051,4.701,1052,3.337,1053,4.775,1054,4.758,1055,4.758,1056,4.951,1057,3.722,1058,4.265,1059,3.722,1060,4.518,1061,4.265,1062,4.758,1063,3.972,1064,3.972,1065,4.265,1066,4.265,1067,3.972,1068,3.722,1069,4.758,1070,3.722,1071,3.722,1072,4.112,1073,3.337,1074,3.337]],["title/modules/ContentModule.html",[533,1.271,540,3.045]],["body/modules/ContentModule.html",[3,0.116,4,0.145,5,0.102,6,0.088,43,0.01,75,0.008,80,0.007,84,0.007,99,0.336,104,0.298,130,0.145,133,0.204,212,0.771,309,1.83,326,1.805,424,1.593,457,1.633,480,2.444,524,1.76,535,1.76,536,2.18,540,6.291,547,2.355,548,1.76,550,2.549,552,2.417,556,2.295,562,3.108,563,2.426,735,2.549,736,2.691,737,2.111,740,5.223,741,4.325,817,4.978,1075,5.464,1076,5.464,1077,5.464,1078,5.464,1079,6.061,1080,6.061,1081,6.201,1082,7.488,1083,7.488,1084,4.325,1085,6.201,1086,4.084,1087,4.615,1088,6.201]],["title/modules/CoreModule.html",[533,1.271,541,3.045]],["body/modules/CoreModule.html",[3,0.116,4,0.144,5,0.101,6,0.088,43,0.01,46,1.119,75,0.008,80,0.007,84,0.007,99,0.335,104,0.296,130,0.144,133,0.203,141,1.091,212,0.928,213,1.509,326,1.797,327,4.594,424,1.585,533,2.174,535,1.752,536,2.174,541,6.287,547,2.348,548,1.752,552,2.41,556,2.288,601,4.594,639,3.125,640,3.125,735,2.101,745,6.055,830,5.438,1089,5.438,1090,5.438,1091,6.055,1092,6.055,1093,6.172,1094,7.467,1095,6.172,1096,5.208,1097,7.467,1098,6.172,1099,6.172,1100,6.172,1101,6.172,1102,6.172,1103,6.172,1104,6.172,1105,6.172,1106,4.594,1107,8.028,1108,6.172,1109,4.955,1110,6.172]],["title/interfaces/DefaultIconDefinition.html",[129,0.292,1111,3.249]],["body/interfaces/DefaultIconDefinition.html",[3,0.072,4,0.09,5,0.063,6,0.054,11,0.477,18,0.36,19,0.602,43,0.01,44,1.279,45,0.628,46,1.448,69,1.14,75,0.006,80,0.004,84,0.004,90,1.175,129,0.257,130,0.127,139,0.627,142,1.377,195,1.01,204,5.459,303,5.211,308,0.731,350,5.75,441,3.928,450,1.579,453,1.579,469,1.958,612,3.056,660,2.763,754,2.098,965,1.592,1111,4.727,1112,2.676,1113,3.079,1114,3.079,1115,1.961,1116,3.079,1117,3.38,1118,4.061,1119,3.836,1120,3.836,1121,3.079,1122,3.836,1123,3.836,1124,2.676,1125,3.38,1126,6.84,1127,4.061,1128,5.553,1129,3.594,1130,2.526,1131,3.079,1132,2.676,1133,3.38,1134,8.045,1135,3.38,1136,3.38,1137,3.38,1138,4.808,1139,3.38,1140,3.38,1141,3.38,1142,3.38,1143,3.38,1144,3.38,1145,6.095,1146,6.095,1147,6.44,1148,6.44,1149,3.079,1150,3.38,1151,4.571,1152,3.38,1153,3.38,1154,3.38,1155,4.38,1156,4.38,1157,4.808,1158,3.38,1159,3.38,1160,3.38,1161,3.38,1162,6.44,1163,3.38,1164,4.808,1165,2.855,1166,3.38,1167,3.38,1168,3.38,1169,3.38,1170,3.38,1171,3.38,1172,3.38,1173,3.38,1174,3.38,1175,3.38,1176,3.38,1177,6.095,1178,4.808,1179,3.38,1180,3.38,1181,3.38,1182,3.38,1183,4.808,1184,3.38,1185,3.38,1186,3.079,1187,3.38,1188,3.38,1189,3.38,1190,3.38,1191,3.38,1192,4.808,1193,4.38,1194,3.079,1195,3.38,1196,3.079,1197,3.38,1198,3.38,1199,3.38,1200,3.38,1201,3.38,1202,3.38,1203,3.38,1204,6.095,1205,3.38,1206,3.38,1207,6.095,1208,3.079,1209,3.38,1210,2.676,1211,3.38,1212,3.38,1213,5.596,1214,3.38,1215,4.808,1216,3.38,1217,3.38,1218,3.38,1219,3.38]],["title/components/DetailsLabelComponent.html",[196,0.424,482,1.239]],["body/components/DetailsLabelComponent.html",[3,0.085,4,0.106,5,0.101,6,0.11,11,0.764,12,1.465,18,0.427,19,0.678,25,1.539,38,1.732,42,1.059,43,0.01,44,1.14,45,0.676,46,0.825,52,1.325,55,1.263,69,1.188,75,0.007,80,0.005,84,0.005,85,1.293,86,1.36,99,0.172,104,0.219,130,0.106,133,0.264,134,0.935,142,0.825,156,3.227,160,0.725,161,1.05,196,0.755,197,1.229,198,1.539,199,1.292,200,1.431,201,1.431,202,1.395,208,1.229,209,1.835,210,1.835,211,2.288,212,1.139,213,1.112,214,1.659,216,1.659,256,1.429,259,1.835,260,1.539,300,1.742,304,3.111,308,1.171,309,1.112,321,1.359,399,1.549,400,1.878,404,1.682,409,1.169,411,3.23,441,2.803,445,2.475,450,0.983,453,0.983,457,1.198,466,2.403,468,1.431,469,1.948,470,1.431,471,2.341,472,1.431,473,1.431,474,1.292,475,1.431,476,1.26,477,2.187,478,1.292,479,1.431,480,1.659,481,2.187,482,2.114,483,2.654,484,1.431,485,1.292,486,1.431,487,1.292,488,1.229,489,1.431,490,1.292,491,1.431,492,1.292,493,1.292,494,1.431,495,1.292,496,1.395,497,1.26,498,1.431,499,1.292,500,1.932,501,1.26,502,1.292,503,1.292,504,2.187,505,1.292,506,1.789,507,1.932,508,1.26,509,1.292,510,1.26,511,1.059,512,1.431,513,1.26,514,1.229,515,1.292,516,1.431,517,1.292,518,1.431,519,1.292,520,1.431,521,1.292,522,1.539,523,1.292,524,1.744,525,1.292,526,1.431,527,1.292,528,1.618,529,1.431,530,1.292,531,1.431,532,1.431,607,2.475,665,1.292,677,1.744,678,2.187,705,2.036,1220,6.242,1221,5.787,1222,4.01,1223,5.413,1224,5.413,1225,4.666,1226,7.446,1227,6.144,1228,7.446,1229,6.144,1230,6.955,1231,6.144,1232,6.144,1233,4.551,1234,6.144,1235,6.144,1236,4.551,1237,3.36,1238,6.144,1239,5.413,1240,7.446,1241,6.144,1242,6.144,1243,6.144,1244,4.551,1245,6.144,1246,2.846]],["title/modules/DetailsLabelModule.html",[533,1.271,1247,3.045]],["body/modules/DetailsLabelModule.html",[3,0.124,4,0.155,5,0.109,6,0.094,43,0.01,75,0.008,80,0.007,84,0.007,99,0.313,104,0.318,130,0.155,133,0.218,424,1.702,482,2.59,483,1.979,535,1.881,536,2.268,547,2.449,548,1.881,550,2.651,552,2.139,556,2.387,735,2.651,736,2.799,737,2.255,1220,5.319,1221,4.931,1247,6.212,1248,5.838,1249,5.838,1250,5.838,1251,6.626,1252,6.626]],["title/interfaces/DocumentationContent.html",[129,0.292,1253,3.505]],["body/interfaces/DocumentationContent.html",[3,0.147,4,0.157,5,0.11,6,0.095,8,2.868,11,0.833,18,0.629,19,0.865,43,0.01,45,0.711,69,1.197,75,0.008,80,0.007,84,0.007,129,0.449,130,0.157,195,1.764,416,3.785,717,5.53,1253,6.294,1254,5.904,1255,6.701,1256,4.19,1257,4.674,1258,5.751,1259,5.379,1260,3.821,1261,5.835]],["title/interfaces/DrawerContainersChanged.html",[129,0.292,1058,2.73]],["body/interfaces/DrawerContainersChanged.html",[3,0.099,4,0.124,5,0.087,6,0.075,11,0.658,15,1.541,18,0.497,19,0.748,43,0.01,45,0.829,47,1.23,48,1.503,71,1.7,75,0.007,80,0.006,84,0.006,90,2.079,99,0.2,122,2.071,123,2.071,124,2.071,125,1.956,126,2.071,129,0.529,130,0.206,133,0.174,139,0.866,141,0.935,182,2.762,195,1.394,196,0.767,198,1.877,222,2.896,300,2.25,313,2.997,337,1.395,414,2.027,416,3.381,425,3.712,431,2.498,522,1.326,606,3.156,642,3.206,679,2.817,758,3.308,761,2.415,765,4.869,772,2.783,773,3.314,777,3.936,792,3.314,813,1.7,842,3.31,843,3.712,848,2.507,969,2.439,1010,4.243,1014,4.733,1034,2.896,1051,4.243,1052,3.31,1053,4.765,1054,4.733,1055,4.733,1056,4.933,1057,3.693,1058,4.683,1059,4.733,1060,4.504,1061,4.243,1062,4.733,1063,3.94,1064,3.94,1065,4.243,1066,4.243,1067,3.94,1068,3.693,1069,4.733,1070,3.693,1071,3.693,1072,4.096,1073,3.31,1074,3.31]],["title/interfaces/DrawerInitialized.html",[129,0.292,1065,2.73]],["body/interfaces/DrawerInitialized.html",[3,0.101,4,0.126,5,0.088,6,0.076,11,0.668,15,1.565,18,0.505,19,0.756,43,0.01,45,0.829,47,1.242,48,1.526,71,1.717,75,0.007,80,0.006,84,0.006,90,2.099,99,0.203,122,2.102,123,2.102,124,2.102,125,1.986,126,2.102,129,0.532,130,0.206,133,0.177,139,0.879,141,0.95,182,2.637,195,1.415,196,0.732,198,1.717,222,2.939,300,2.246,313,3.026,337,1.408,414,2.046,416,3.4,425,3.747,431,2.536,522,1.347,606,3.204,642,3.228,679,2.231,758,3.332,761,2.452,765,4.085,772,2.826,773,3.347,777,3.944,792,3.347,813,1.717,842,3.36,843,3.747,848,1.986,969,2.462,1010,4.284,1014,3.749,1034,2.939,1051,4.284,1052,3.36,1053,4.784,1054,4.779,1055,4.779,1056,4.968,1057,3.749,1058,4.284,1059,3.749,1060,4.53,1061,4.284,1062,4.779,1063,5.099,1064,5.099,1065,4.716,1066,4.284,1067,4,1068,3.749,1069,4.779,1070,3.749,1071,3.749,1072,4.125,1073,3.36,1074,3.36]],["title/modules/DrawerModule.html",[533,1.271,542,3.045]],["body/modules/DrawerModule.html",[3,0.113,4,0.14,5,0.099,6,0.085,43,0.01,75,0.008,80,0.006,84,0.006,99,0.336,104,0.289,130,0.14,133,0.198,424,1.544,478,2.56,480,2.358,485,2.56,521,2.56,522,1.506,535,1.707,536,2.139,542,6.349,547,2.311,548,1.707,550,2.501,552,1.94,556,2.252,562,3.05,563,2.352,565,6.474,566,4.84,567,3.759,568,5.899,569,4.826,588,3.959,589,4.474,590,4.826,735,2.501,817,4.826,818,4.474,1057,4.193,1262,5.297,1263,5.297,1264,5.297,1265,6.012,1266,4.595,1267,4.595,1268,6.012,1269,4.826,1270,5.297]],["title/interfaces/DrawerToggled.html",[129,0.292,1066,2.73]],["body/interfaces/DrawerToggled.html",[3,0.096,4,0.12,5,0.085,6,0.073,11,0.64,15,1.94,18,0.483,19,0.735,43,0.01,45,0.831,47,1.208,48,1.891,71,2.078,75,0.007,80,0.005,84,0.005,90,2.042,99,0.195,122,2.013,123,2.013,124,2.013,125,1.901,126,2.013,129,0.523,130,0.205,133,0.169,139,0.841,141,0.909,182,2.733,195,1.355,196,0.717,198,1.669,222,3.644,300,2.262,313,2.943,337,1.705,414,2.477,416,3.345,425,4.536,431,3.143,522,1.669,606,3.067,642,3.163,679,2.136,758,3.264,761,2.348,765,3.972,772,3.503,773,3.254,777,3.921,792,3.254,813,1.958,842,3.217,843,3.644,848,1.901,969,2.98,1010,5.185,1014,3.589,1034,2.814,1051,4.166,1052,3.217,1053,4.616,1054,4.647,1055,4.647,1056,4.866,1057,3.589,1058,4.166,1059,3.589,1060,4.456,1061,4.166,1062,4.647,1063,3.829,1064,3.829,1065,4.166,1066,4.62,1067,4.959,1068,4.647,1069,4.647,1070,3.589,1071,3.589,1072,4.041,1073,3.217,1074,3.217]],["title/interfaces/ExtractionSet.html",[129,0.292,1271,2.388]],["body/interfaces/ExtractionSet.html",[3,0.12,4,0.15,5,0.105,6,0.091,11,0.796,18,0.601,19,0.842,43,0.01,44,1.219,45,0.74,46,1.384,69,1.185,75,0.008,80,0.007,84,0.007,99,0.242,129,0.429,130,0.15,142,1.587,195,1.686,299,3.295,488,2.408,528,1.686,686,4.55,891,3.728,1271,4.175,1272,5.641,1273,5.641,1274,6.221,1275,7.633,1276,4.44,1277,7.633,1278,3.502]],["title/components/ExtractionSetDropdownComponent.html",[196,0.424,487,1.239]],["body/components/ExtractionSetDropdownComponent.html",[3,0.07,4,0.087,5,0.088,6,0.114,11,0.777,12,1.274,18,0.35,19,0.589,25,1.339,35,0.658,38,1.844,40,0.994,41,1.019,42,1.243,43,0.01,44,1.103,45,0.703,46,0.969,47,0.969,52,1.085,55,1.284,56,0.807,69,0.504,75,0.006,80,0.004,84,0.004,85,0.994,86,1.413,99,0.236,104,0.179,130,0.087,133,0.248,134,0.766,141,0.658,142,1.666,160,0.851,161,1.092,188,1.203,196,0.702,197,1.006,198,1.339,199,1.058,200,1.172,201,1.172,202,1.142,208,1.006,209,1.596,210,1.596,211,2.256,212,1.125,213,0.911,214,1.443,216,1.443,256,0.867,257,1.142,259,1.596,260,1.339,297,1.407,300,1.566,304,2.706,308,1.019,309,0.911,321,1.113,337,1.098,399,1.268,401,1.546,404,1.377,409,0.957,410,2.706,413,1.82,414,1.866,418,2.361,419,4.359,427,2.287,428,3.418,429,1.058,432,3.186,449,3.286,450,1.154,453,0.805,457,0.981,458,3.728,464,1.887,468,1.172,469,1.811,470,1.172,471,2.147,472,1.172,473,1.172,474,1.058,475,1.172,476,1.031,477,1.965,478,1.058,479,1.172,480,1.443,481,1.965,482,1.058,483,1.113,484,1.172,485,1.058,486,1.172,487,1.938,488,2.447,489,1.172,490,1.058,491,1.172,492,1.058,493,1.058,494,1.172,495,1.058,496,1.142,497,1.031,498,1.172,499,1.058,500,1.681,501,1.031,502,1.058,503,1.058,504,1.965,505,1.058,506,1.556,507,1.681,508,1.031,509,1.058,510,1.031,511,0.867,512,1.172,513,1.031,514,1.006,515,1.058,516,1.172,517,1.058,518,1.172,519,1.058,520,1.172,521,1.058,522,1.339,523,1.058,524,1.517,525,1.058,526,1.172,527,1.058,528,1.407,529,1.172,530,1.058,531,1.172,532,1.172,561,3.734,596,1.501,607,2.153,664,2.594,665,1.058,666,2.218,667,2.671,668,1.416,669,1.377,670,2.309,677,1.517,678,1.965,683,2.445,704,2.61,705,1.771,706,1.959,720,2.221,726,3.728,727,2.33,785,3.423,813,1.339,969,1.921,1258,2.454,1271,4.336,1279,6.479,1280,6.007,1281,3.283,1282,7.217,1283,3.728,1284,6.249,1285,5.344,1286,4.943,1287,5.344,1288,6.827,1289,6.249,1290,5.344,1291,3.726,1292,3.564,1293,3.726,1294,3.335,1295,2.706,1296,5.344,1297,5.344,1298,3.726,1299,3.726,1300,4.29,1301,4.762,1302,4.496,1303,3.186,1304,3.726,1305,3.726,1306,3.726,1307,3.726,1308,3.726,1309,3.726,1310,3.726,1311,5.344,1312,5.344,1313,5.344,1314,3.564,1315,3.564,1316,2.454,1317,2.773,1318,2.991,1319,3.283,1320,3.726,1321,5.344,1322,2.773,1323,3.726,1324,3.726,1325,3.193,1326,5.48,1327,3.726,1328,2.33,1329,3.726,1330,3.726,1331,2.991,1332,3.283,1333,2.773]],["title/modules/ExtractionSetDropdownModule.html",[533,1.271,1334,3.045]],["body/modules/ExtractionSetDropdownModule.html",[3,0.123,4,0.153,5,0.108,6,0.093,43,0.01,75,0.008,80,0.007,84,0.007,99,0.322,104,0.315,130,0.153,133,0.216,142,1.493,424,1.683,487,2.587,488,1.769,535,1.86,536,2.253,547,2.433,548,1.86,550,2.634,552,2.115,556,2.371,735,2.634,736,2.781,737,2.23,1279,5.26,1280,4.876,1334,6.199,1335,5.773,1336,5.773,1337,5.773,1338,6.552,1339,6.818,1340,5.773,1341,6.552]],["title/interfaces/GlobalConfig.html",[129,0.292,245,1.569]],["body/interfaces/GlobalConfig.html",[3,0.1,4,0.125,5,0.088,6,0.076,14,3.9,18,0.503,19,0.754,43,0.01,44,0.746,45,0.822,46,1.667,56,1.033,69,1.221,75,0.007,80,0.006,82,4.77,84,0.006,99,0.285,104,0.257,113,1.521,129,0.359,130,0.176,134,1.101,139,0.876,141,0.947,195,1.411,212,0.666,219,4.172,220,5.226,221,5.226,224,4.961,226,4.525,245,2.851,299,2.932,326,1.56,333,2.79,334,3.595,335,3.595,337,1.826,359,1.6,450,1.157,453,1.157,466,3.333,608,4.961,609,5.226,610,6.369,611,6.991,612,3.505,613,6.991,614,5.905,747,4.77,748,3.988,1015,2.367,1115,1.926,1149,4.301,1151,3.35,1155,4.301,1156,4.301,1196,4.301,1342,3.988,1343,4.71,1344,6.369,1345,4.276,1346,3.988,1347,2.931,1348,3.055,1349,3.055,1350,5.358,1351,4.301,1352,2.445,1353,4.721,1354,5.358]],["title/components/HeaderComponent.html",[196,0.424,490,1.239]],["body/components/HeaderComponent.html",[3,0.082,4,0.103,5,0.099,6,0.112,11,0.745,12,1.429,18,0.412,19,0.661,23,3.084,35,0.776,38,1.786,40,1.115,41,1.143,42,1.021,43,0.01,44,1.129,45,0.697,46,0.796,52,1.278,69,1.04,75,0.006,76,2.828,80,0.005,84,0.005,85,1.115,86,1.172,91,2.636,99,0.227,104,0.211,130,0.103,133,0.261,142,0.796,160,0.699,161,1.031,188,1.417,196,0.745,197,1.185,198,1.502,199,1.246,200,1.38,201,1.38,202,1.345,208,1.185,209,1.79,210,1.79,211,2.283,212,1.137,213,1.073,214,1.618,216,1.618,219,4.455,220,4.496,221,4.496,256,1.021,259,2.039,260,1.502,278,1.622,300,1.71,308,1.143,309,1.073,321,1.311,332,2.503,359,1.79,399,1.494,400,1.98,401,3.187,404,2.837,405,2.154,408,3.115,409,1.972,411,2.308,413,2.144,414,2.191,421,1.822,427,2.922,429,2.082,434,3.14,436,1.879,437,1.879,441,2.003,444,3.347,445,2.955,446,3.948,448,2.828,449,3.152,450,0.948,453,0.948,457,1.156,461,3.035,468,1.38,469,1.924,470,1.38,471,2.307,472,1.38,473,1.38,474,1.246,475,1.38,476,1.215,477,2.147,478,1.246,479,1.38,480,1.618,481,2.147,482,1.246,483,1.311,484,1.38,485,1.246,486,1.38,487,1.246,488,1.185,489,1.38,490,2.082,491,1.38,492,1.246,493,1.246,494,1.38,495,1.246,496,1.345,497,1.215,498,1.38,499,1.246,500,1.885,501,1.215,502,1.246,503,1.246,504,2.147,505,1.246,506,1.745,507,1.885,508,1.215,509,1.246,510,1.215,511,1.021,512,1.38,513,1.215,514,1.185,515,1.246,516,1.38,517,1.246,518,1.38,519,1.246,520,1.38,521,1.246,522,1.502,523,1.246,524,1.702,525,1.246,526,1.38,527,1.246,528,1.579,529,1.38,530,1.246,531,1.38,532,1.38,607,2.415,665,1.246,677,1.702,678,2.147,705,1.987,718,2.401,722,2.308,728,2.891,729,2.891,824,3.868,963,2.745,968,3.062,969,1.578,1019,3.267,1059,3.062,1130,2.891,1239,3.868,1246,4.269,1259,3.524,1333,3.267,1355,3.868,1356,6.827,1357,5.995,1358,3.524,1359,5.995,1360,4.39,1361,5.995,1362,4.39,1363,5.995,1364,4.812,1365,3.524,1366,3.267,1367,3.748,1368,3.062,1369,4.39,1370,3.868,1371,4.39,1372,4.39,1373,4.39,1374,2.891,1375,4.39,1376,4.39,1377,3.868,1378,3.524,1379,4.39,1380,4.39,1381,3.062,1382,5.995]],["title/modules/HeaderModule.html",[533,1.271,543,3.045]],["body/modules/HeaderModule.html",[3,0.123,4,0.153,5,0.108,6,0.093,43,0.01,75,0.008,80,0.007,84,0.007,99,0.328,104,0.315,130,0.153,133,0.216,424,1.683,490,2.587,535,1.86,536,2.253,543,6.199,547,2.433,548,1.86,550,2.634,552,2.115,556,2.371,562,3.212,563,2.563,735,2.634,736,2.781,737,2.23,742,4.232,743,3.584,1383,5.773,1384,5.773,1385,5.773,1386,6.552,1387,6.552]],["title/interfaces/IconDefinition.html",[129,0.292,1388,3.249]],["body/interfaces/IconDefinition.html",[0,1.699,3,0.079,4,0.099,5,0.069,6,0.06,11,0.525,15,2.101,16,1.605,18,0.396,19,0.644,20,1.963,29,1.807,40,0.785,41,0.805,43,0.01,44,1.201,45,0.655,46,1.506,47,0.765,48,1.899,53,2.955,55,1.483,56,0.882,60,2.945,69,1.087,75,0.006,80,0.004,84,0.004,85,1.085,86,0.826,99,0.314,104,0.203,106,2.498,107,2.351,108,1.807,109,1.807,110,1.701,129,0.283,130,0.136,133,0.139,134,1.728,139,1.338,141,1.031,142,1.42,160,1.248,161,0.882,162,1.807,195,1.112,212,0.525,245,2.098,246,2.351,250,2.945,287,2.463,297,1.761,308,1.376,326,1.229,337,1.2,350,5.311,441,4.108,469,2.128,563,1.652,566,2.781,567,2.64,608,3.65,612,3.614,642,2.863,660,2.955,848,2.472,888,4.319,896,3.65,960,3.267,1106,3.143,1109,3.39,1112,2.945,1115,2.098,1116,6.569,1126,6.375,1127,5.637,1128,5.793,1129,3.844,1130,5.159,1132,4.071,1225,2.31,1325,2.578,1374,2.781,1388,5.83,1389,3.143,1390,3.39,1391,4.344,1392,6.358,1393,6.358,1394,5.894,1395,5.143,1396,5.143,1397,2.062,1398,3.72,1399,3.72,1400,2.781,1401,6.902,1402,5.143,1403,3.72,1404,3.72,1405,3.65,1406,3.72,1407,3.72,1408,3.72,1409,3.72,1410,3.72,1411,5.894,1412,3.72,1413,3.72,1414,3.72,1415,3.72,1416,3.72,1417,3.72,1418,3.72,1419,3.72,1420,5.143,1421,3.72,1422,3.72,1423,3.143,1424,5.143,1425,3.72,1426,3.72,1427,3.72,1428,3.72,1429,3.72,1430,5.143,1431,3.72,1432,3.72,1433,3.39,1434,3.72,1435,3.72,1436,3.72,1437,5.894,1438,3.72,1439,3.39,1440,3.72,1441,3.72,1442,3.72,1443,4.685,1444,3.72,1445,3.72,1446,3.72,1447,3.72,1448,3.72,1449,3.72,1450,3.72,1451,3.72,1452,3.143,1453,3.72,1454,3.72]],["title/injectables/IconRegistryState.html",[0,1.271,1400,2.875]],["body/injectables/IconRegistryState.html",[0,1.59,2,2.191,3,0.072,4,0.09,5,0.063,6,0.111,11,0.86,15,2.213,16,2.076,18,0.361,20,2.111,25,1.369,29,2.963,35,0.679,38,1.768,40,1.016,41,1.041,42,1.701,43,0.01,44,1.199,45,0.664,46,1.378,47,0.99,48,2.157,52,1.118,53,3.218,55,1.671,56,0.96,60,3.81,69,0.937,75,0.006,80,0.004,84,0.004,85,1.182,86,0.751,99,0.308,104,0.184,106,2.338,107,2.2,108,1.644,109,1.644,110,1.547,129,0.257,130,0.128,133,0.126,134,1.695,139,1.307,141,0.679,142,1.152,160,1.211,161,0.825,162,1.644,212,0.477,245,2.488,246,2.789,250,3.81,287,2.513,297,1.926,308,1.524,326,1.118,337,1.423,350,4.889,441,4.082,469,2.002,563,1.503,566,2.53,567,2.402,608,3.416,612,3.591,642,2.721,660,1.945,848,2.349,888,4.557,896,4.329,960,3.572,1106,2.859,1109,4.385,1112,5.453,1115,1.381,1116,6.526,1126,5.947,1127,5.152,1128,4.385,1129,2.53,1130,5.005,1132,3.81,1225,2.988,1325,3.058,1374,3.598,1388,6.322,1389,5.819,1390,3.084,1391,2.859,1392,4.813,1393,4.813,1394,6.696,1395,6.099,1396,5.6,1397,1.876,1398,4.813,1399,3.385,1400,3.598,1401,7.265,1402,6.099,1403,4.813,1404,4.813,1405,4.329,1406,3.385,1407,3.385,1408,3.385,1409,3.385,1410,3.385,1411,5.6,1412,3.385,1413,3.385,1414,3.385,1415,3.385,1416,3.385,1417,3.385,1418,3.385,1419,3.385,1420,4.813,1421,3.385,1422,3.385,1423,4.065,1424,6.099,1425,4.813,1426,3.385,1427,4.813,1428,6.099,1429,4.813,1430,4.813,1431,3.385,1432,3.385,1433,3.084,1434,3.385,1435,3.385,1436,3.385,1437,5.6,1438,3.385,1439,3.084,1440,3.385,1441,3.385,1442,3.385,1443,5.557,1444,5.6,1445,3.385,1446,3.385,1447,3.385,1448,3.385,1449,3.385,1450,3.385,1451,4.813,1452,4.065,1453,5.6,1454,3.385,1455,5.462,1456,3.842,1457,3.842,1458,3.842,1459,3.842,1460,3.842,1461,3.842,1462,3.842,1463,3.842,1464,3.842]],["title/classes/InitializationState.html",[133,0.144,1465,3.505]],["body/classes/InitializationState.html",[3,0.05,4,0.062,5,0.044,6,0.098,11,0.33,15,2.439,18,0.249,19,0.457,20,2.155,25,1.038,38,1.54,40,0.493,41,0.506,42,0.964,43,0.01,45,0.601,47,0.481,48,1.176,55,1.361,56,1.206,65,1.135,71,1.038,75,0.004,80,0.003,84,0.003,85,1.071,86,1.221,90,1.269,99,0.236,104,0.127,113,0.753,122,2.253,123,2.253,124,1.993,125,2.128,126,1.993,130,0.062,133,0.168,134,1.7,139,1.23,141,1.222,142,1.389,160,1.102,161,0.87,182,0.927,196,0.643,198,0.665,200,0.834,205,1.068,206,2.023,209,0.792,210,0.792,211,0.665,212,0.515,214,0.716,216,0.716,222,4.368,225,3.186,230,1.295,244,2.362,247,2.265,248,2.265,257,1.765,258,1.83,259,1.72,260,1.733,263,2.391,277,1.581,278,0.98,281,2.362,283,2.469,287,2.25,297,2.018,300,2.197,306,1.85,310,4.023,311,2.59,312,1.658,321,0.792,322,1.747,337,1.6,357,1.581,378,1.343,380,1.343,395,1.658,413,1.295,414,2.41,417,2.469,421,1.719,423,2.889,424,1.064,425,4.317,429,2.241,430,2.728,435,1.251,439,2.129,440,2.129,450,0.895,453,0.895,459,2.728,466,1.993,467,4.017,469,1.038,485,1.447,522,0.665,606,3.724,642,1.135,664,1.101,665,0.753,666,2.871,677,0.753,686,1.581,720,1.581,755,3.325,756,2.337,758,2.251,761,2.325,762,1.974,767,2.129,770,2.129,773,2.023,774,1.747,777,2.251,779,2.337,781,1.747,783,1.974,785,1.83,792,2.023,794,1.747,810,3.649,813,1.733,827,4.713,828,4.713,835,1.747,836,2.129,837,2.337,838,1.974,841,3.649,969,2.9,980,2.337,1001,2.129,1004,2.129,1010,4.792,1015,1.172,1018,1.974,1019,5.148,1020,2.129,1021,2.129,1029,2.129,1034,2.265,1035,1.747,1061,1.658,1073,3.186,1074,3.186,1115,1.488,1124,1.85,1295,2.58,1465,4.091,1466,2.129,1467,1.974,1468,4.142,1469,5.096,1470,6.917,1471,5.759,1472,4.623,1473,5.759,1474,4.142,1475,5.096,1476,2.652,1477,6.152,1478,4.091,1479,2.652,1480,2.652,1481,2.652,1482,2.652,1483,4.14,1484,3.325,1485,2.652,1486,5.096,1487,2.652,1488,2.652,1489,2.337,1490,4.49,1491,6.094,1492,4.49,1493,4.49,1494,5.834,1495,4.49,1496,5.504,1497,3.649,1498,4.49,1499,4.091,1500,5.504,1501,4.623,1502,3.649,1503,5.074,1504,4.142,1505,2.652,1506,2.652,1507,2.652,1508,2.652,1509,2.652,1510,2.652,1511,2.652,1512,2.652,1513,2.652,1514,4.142,1515,2.652,1516,4.142,1517,2.652,1518,2.652,1519,2.652,1520,2.337,1521,6.247,1522,2.652,1523,2.652,1524,2.652,1525,4.49,1526,2.337,1527,3.649,1528,4.142,1529,2.652,1530,5.759,1531,2.129,1532,4.142,1533,2.652,1534,2.652,1535,2.652,1536,5.096,1537,2.652,1538,2.652,1539,2.652,1540,3.186,1541,2.652,1542,5.096,1543,2.652,1544,1.747,1545,2.652,1546,3.649,1547,2.652,1548,2.652,1549,2.652,1550,6.621,1551,4.142,1552,5.759,1553,4.142,1554,3.649,1555,2.652,1556,5.096,1557,4.142,1558,2.129,1559,2.652,1560,2.652,1561,2.652,1562,4.142,1563,4.142,1564,2.652,1565,2.652,1566,5.096,1567,2.652,1568,2.652,1569,2.652,1570,2.652,1571,4.142,1572,2.652,1573,2.652,1574,1.974,1575,1.974,1576,2.652,1577,1.658,1578,2.652,1579,2.652,1580,5.074,1581,5.096,1582,5.759,1583,4.142,1584,4.142,1585,2.652,1586,2.652,1587,2.652,1588,2.652,1589,2.652,1590,2.652,1591,2.652,1592,6.621,1593,2.889,1594,4.142,1595,2.652,1596,2.652,1597,2.652,1598,2.652,1599,2.652,1600,2.652,1601,2.652,1602,1.85,1603,2.652,1604,2.652,1605,1.85,1606,2.652,1607,2.652,1608,4.142,1609,2.652,1610,2.652,1611,2.652,1612,2.652,1613,2.652,1614,2.652,1615,4.142,1616,5.096,1617,2.652,1618,2.652,1619,4.142,1620,2.652,1621,2.652,1622,2.652,1623,2.652,1624,2.652,1625,2.337,1626,3.038,1627,2.652,1628,2.652,1629,2.652]],["title/components/JsonFileReaderComponent.html",[196,0.424,492,1.239]],["body/components/JsonFileReaderComponent.html",[3,0.073,4,0.091,5,0.15,6,0.116,11,0.686,12,1.315,18,0.366,19,0.608,25,1.382,35,0.688,38,1.866,40,1.026,41,1.052,42,1.283,43,0.01,44,1.116,45,0.712,46,1,47,1,48,2.167,52,1.606,55,1.134,56,1.052,69,0.867,75,0.006,80,0.004,84,0.004,85,1.191,86,1.252,99,0.209,104,0.187,130,0.091,133,0.251,134,0.801,139,1.202,141,0.975,142,0.706,156,3.162,160,0.879,161,1.11,196,0.714,197,1.052,198,1.382,199,1.106,200,1.225,201,1.225,202,1.194,208,1.052,211,2.263,212,1.128,213,0.952,214,1.489,216,1.489,244,3.652,251,2.565,253,2.565,256,0.906,259,2.395,260,1.745,263,3.169,300,1.605,308,1.052,309,0.952,399,1.326,404,1.439,405,1.4,408,1.777,409,1,414,1.163,421,1.617,431,3.469,436,1.667,437,1.667,450,0.841,453,0.841,457,1.026,468,1.225,469,1.842,470,1.225,471,2.19,472,1.225,473,1.225,474,1.106,475,1.225,476,1.078,477,2.014,478,1.106,479,1.225,480,1.489,481,2.014,482,1.106,483,1.163,484,1.225,485,1.106,486,1.225,487,1.106,488,1.052,489,1.225,490,1.106,491,1.225,492,1.977,493,2.512,494,1.225,495,1.106,496,1.194,497,1.078,498,1.225,499,1.106,500,1.735,501,1.078,502,1.106,503,1.106,504,2.014,505,1.106,506,1.606,507,1.735,508,1.078,509,1.106,510,1.078,511,0.906,512,1.225,513,1.078,514,1.052,515,1.106,516,1.225,517,1.106,518,1.225,519,1.106,520,1.225,521,1.106,522,1.382,523,1.106,524,1.566,525,1.106,526,1.225,527,1.106,528,1.453,529,1.225,530,1.106,531,1.225,532,1.225,596,1.569,607,2.222,642,1.667,646,3.127,664,2.658,665,1.106,666,2.29,667,2.725,668,1.48,669,1.439,670,2.366,677,1.566,678,2.014,683,2.505,685,4.005,691,2.717,693,2.435,704,2.694,705,1.828,706,2.048,718,2.13,722,2.048,888,3.146,915,4.86,1020,5.592,1115,2.503,1224,4.86,1246,2.435,1294,3.402,1630,6.548,1631,6.07,1632,3.432,1633,8.02,1634,6.405,1635,5.516,1636,6.405,1637,5.516,1638,6.966,1639,6.405,1640,5.516,1641,6.478,1642,3.895,1643,3.633,1644,5.516,1645,4.86,1646,4.86,1647,5.516,1648,5.516,1649,3.895,1650,5.516,1651,3.895,1652,5.516,1653,4.588,1654,4.86,1655,3.847,1656,4.86,1657,5.516,1658,3.895,1659,5.516,1660,3.127,1661,3.895,1662,3.895,1663,3.895,1664,3.895,1665,3.895,1666,5.516,1667,3.895,1668,3.895,1669,3.895,1670,5.516,1671,3.895,1672,3.895,1673,3.895]],["title/modules/JsonFileReaderModule.html",[533,1.271,1674,3.045]],["body/modules/JsonFileReaderModule.html",[3,0.122,4,0.153,5,0.14,6,0.093,43,0.01,75,0.008,80,0.007,84,0.007,99,0.322,104,0.314,130,0.153,133,0.215,424,1.679,492,2.586,493,1.855,535,1.855,536,2.25,547,2.43,548,1.855,550,2.63,552,2.11,556,2.368,735,2.63,736,2.777,737,2.225,1630,5.247,1631,4.864,1674,6.196,1675,5.759,1676,5.759,1677,5.759,1678,6.536,1679,6.536,1680,5.39,1681,4.559]],["title/components/LabeledSlideToggleComponent.html",[196,0.424,495,1.239]],["body/components/LabeledSlideToggleComponent.html",[3,0.072,4,0.09,5,0.09,6,0.117,11,0.793,12,1.309,15,1.599,18,0.363,19,0.605,25,1.376,32,2.78,35,0.684,38,1.895,40,1.021,41,1.047,42,1.277,43,0.01,44,1.114,45,0.726,46,0.995,47,0.995,52,1.127,55,1.128,56,0.829,69,1.031,75,0.006,80,0.004,84,0.004,85,1.364,86,1.649,99,0.208,104,0.186,130,0.09,133,0.251,134,0.795,139,0.633,141,0.684,142,0.701,156,1.559,160,0.875,161,1.108,196,0.761,197,1.045,198,1.376,199,1.098,200,1.217,201,1.217,202,1.186,208,1.045,209,1.64,210,1.64,211,2.262,212,1.128,213,0.946,214,1.482,216,1.482,256,0.9,259,2.275,260,1.376,287,1.727,300,1.599,308,1.047,309,0.946,321,1.156,337,1.566,399,1.317,409,0.994,410,1.959,411,2.034,421,1.606,429,1.098,436,2.35,437,1.656,450,1.784,453,1.378,457,1.019,468,1.217,469,1.838,470,1.217,471,2.184,472,1.217,473,1.217,474,1.098,475,1.217,476,1.071,477,2.007,478,1.098,479,1.217,480,1.482,481,2.007,482,1.098,483,1.156,484,1.217,485,1.098,486,1.217,487,1.098,488,1.045,489,1.217,490,1.098,491,1.217,492,1.098,493,1.098,494,1.217,495,1.972,496,2.625,497,2.512,498,1.217,499,1.098,500,1.727,501,1.071,502,1.098,503,1.098,504,2.007,505,1.098,506,1.599,507,1.727,508,1.071,509,1.098,510,1.071,511,0.9,512,1.217,513,1.071,514,1.045,515,1.098,516,1.217,517,1.098,518,1.217,519,1.098,520,1.217,521,1.098,522,2.192,523,1.098,524,1.559,525,1.098,526,1.217,527,1.098,528,1.446,529,1.217,530,1.098,531,1.217,532,1.217,596,1.559,607,2.212,664,2.649,665,1.098,666,2.279,667,2.717,668,1.471,669,1.43,670,2.358,677,1.559,678,2.007,683,2.496,684,2.35,704,2.682,705,1.82,706,2.034,722,2.034,813,1.376,965,1.606,969,1.391,1034,3.003,1286,4.542,1292,3.131,1294,3.392,1295,2.78,1300,4.407,1303,4.14,1682,6.629,1683,5.439,1684,3.106,1685,5.491,1686,4.344,1687,5.623,1688,4.838,1689,5.491,1690,5.314,1691,6.945,1692,6.382,1693,5.491,1694,3.409,1695,3.87,1696,4.838,1697,5.887,1698,3.409,1699,5.491,1700,6.712,1701,5.491,1702,5.491,1703,3.87,1704,5.491,1705,5.491,1706,3.87,1707,3.87,1708,5.491,1709,5.491,1710,3.87,1711,3.87,1712,3.87,1713,3.87,1714,3.87,1715,3.87,1716,3.409,1717,3.106,1718,3.87]],["title/modules/LabeledSlideToggleModule.html",[533,1.271,1719,2.73]],["body/modules/LabeledSlideToggleModule.html",[3,0.123,4,0.153,5,0.108,6,0.093,43,0.01,75,0.008,80,0.007,84,0.007,99,0.322,104,0.314,130,0.153,133,0.215,424,1.681,495,2.587,496,2.005,497,2.279,522,1.64,535,1.858,536,2.251,547,2.432,548,1.858,550,2.632,552,2.112,556,2.37,735,2.632,736,2.779,737,2.227,1682,5.253,1683,4.31,1719,5.556,1720,5.766,1721,5.766,1722,5.766,1723,5.766,1724,6.813,1725,5.766,1726,5.766]],["title/components/LeftSidebarComponent.html",[196,0.424,499,1.239]],["body/components/LeftSidebarComponent.html",[3,0.049,4,0.062,5,0.068,6,0.117,11,0.821,12,0.983,15,1.923,18,0.387,19,0.454,22,1.682,23,1.566,25,1.033,35,0.728,38,1.908,42,1.536,43,0.01,44,1.082,45,0.705,46,1.197,52,0.767,55,1.28,56,1.134,69,0.967,75,0.004,76,1.243,80,0.003,84,0.003,85,1.422,86,1.496,88,2.245,91,2.062,96,1.929,99,0.278,104,0.127,112,2.668,113,0.748,114,1.164,115,0.897,128,1.88,130,0.062,133,0.217,141,0.728,142,1.129,156,2.509,160,0.992,161,1.248,185,3.54,188,0.851,196,0.493,197,0.711,198,1.033,199,0.748,200,0.829,201,0.829,202,0.808,208,0.711,209,1.231,210,1.231,211,2.191,212,1.098,213,0.644,214,1.113,216,1.113,219,2.167,223,3.54,256,0.959,257,0.808,259,1.516,260,1.033,263,2.382,287,2.076,297,1.085,299,2.121,300,1.272,301,2.776,307,2.167,308,1.503,309,1.24,310,2.254,313,1.164,321,0.787,331,2.457,332,1.503,333,1.403,337,1.28,353,4.015,382,0.921,387,1.002,399,0.897,400,1.783,401,2.585,402,1.648,403,1.648,404,2.55,405,1.824,406,1.503,408,3.013,409,1.304,410,2.087,413,2.479,414,1.972,416,1.764,418,2.751,427,2.172,428,1.441,429,1.629,432,1.571,433,1.571,434,2.456,435,1.243,442,3.017,444,2.316,445,2.312,448,2.394,449,2.167,450,1.797,451,1.287,453,1.24,457,1.336,459,1.736,461,2.906,464,1.334,467,2.874,468,0.829,469,1.561,470,0.829,471,1.805,472,0.829,473,0.829,474,0.748,475,0.829,476,0.729,477,1.596,478,0.748,479,0.829,480,1.113,481,1.596,482,0.748,483,0.787,484,0.829,485,0.748,486,0.829,487,0.748,488,1.863,489,0.829,490,0.748,491,0.829,492,0.748,493,1.768,494,0.829,495,0.748,496,0.808,497,0.729,498,0.829,499,1.629,500,1.296,501,0.729,502,0.748,503,0.748,504,1.596,505,0.748,506,1.2,507,1.296,508,0.729,509,0.748,510,0.729,511,0.613,512,0.829,513,0.729,514,0.711,515,0.748,516,0.829,517,0.748,518,0.829,519,0.748,520,0.829,521,0.748,522,1.655,523,0.748,524,1.17,525,0.748,526,0.829,527,0.748,528,1.739,529,0.829,530,0.748,531,0.829,532,0.829,580,6.149,607,1.66,621,3.78,635,2.013,636,1.334,665,0.748,677,1.17,678,1.596,684,2.456,705,1.366,715,1.838,717,1.648,718,3.139,719,2.874,727,2.577,728,1.736,729,1.736,785,2.917,813,1.033,843,2.254,848,2.774,860,3.067,875,3.017,888,2.35,932,2.577,937,2.115,963,1.648,965,2.741,968,1.838,969,2.566,1015,3.434,1124,2.874,1210,1.838,1237,2.254,1246,1.648,1258,3.342,1276,3.947,1278,2.776,1286,3.421,1295,2.087,1314,2.35,1315,2.35,1316,1.736,1317,1.961,1325,2.751,1328,2.577,1333,1.961,1347,4.362,1348,3.766,1349,4.186,1358,2.115,1364,4.607,1365,2.115,1366,1.961,1646,3.631,1654,3.631,1655,1.838,1686,3.552,1727,6.632,1728,2.115,1729,6.292,1730,4.471,1731,3.631,1732,5.075,1733,6.228,1734,4.471,1735,5.075,1736,4.471,1737,5.075,1738,3.631,1739,4.121,1740,4.121,1741,4.121,1742,4.121,1743,5.075,1744,4.471,1745,4.121,1746,2.635,1747,2.635,1748,4.121,1749,3.631,1750,2.635,1751,4.121,1752,6.603,1753,4.635,1754,2.635,1755,4.121,1756,2.635,1757,3.631,1758,3.421,1759,2.874,1760,4.607,1761,3.774,1762,4.102,1763,4.003,1764,4.121,1765,2.635,1766,6.228,1767,4.121,1768,4.121,1769,4.121,1770,4.121,1771,2.635,1772,4.121,1773,4.121,1774,3.067,1775,4.121,1776,4.121,1777,4.121,1778,4.121,1779,4.121,1780,4.121,1781,2.635,1782,2.635,1783,3.631,1784,4.607,1785,4.607,1786,3.631,1787,4.121,1788,4.121,1789,2.635,1790,2.635,1791,4.121,1792,3.631,1793,3.631,1794,2.635,1795,4.121,1796,4.121,1797,2.635,1798,2.322,1799,2.635,1800,4.121,1801,2.635,1802,2.635,1803,2.635,1804,4.121,1805,2.635,1806,2.635,1807,3.308,1808,2.776,1809,3.631,1810,3.631,1811,3.631,1812,3.308,1813,2.115,1814,2.322,1815,1.961,1816,6.292,1817,3.067,1818,2.115,1819,2.635,1820,4.121,1821,2.322,1822,2.322,1823,2.635,1824,2.635]],["title/modules/LeftSidebarModule.html",[533,1.271,544,3.045]],["body/modules/LeftSidebarModule.html",[3,0.104,4,0.13,5,0.126,6,0.079,43,0.01,75,0.007,80,0.006,84,0.006,99,0.342,104,0.268,130,0.13,133,0.183,142,1.271,212,0.692,326,1.622,424,1.431,450,1.203,497,1.94,499,2.535,535,1.582,536,2.041,544,6.397,547,2.204,548,1.582,550,2.386,552,2.262,556,2.148,562,2.909,563,2.179,580,4.146,735,2.386,736,2.519,737,1.896,742,3.834,743,3.047,1221,4.146,1247,5.906,1280,4.146,1334,5.906,1631,4.146,1674,5.906,1683,3.669,1719,5.294,1727,4.472,1825,4.909,1826,4.909,1827,4.909,1828,4.909,1829,5.576,1830,5.906,1831,6.118,1832,4.909,1833,6.176,1834,4.909,1835,5.627,1836,4.472,1837,5.571,1838,5.571,1839,5.571,1840,5.571,1841,4.472,1842,5.627,1843,4.909,1844,3.669,1845,4.472,1846,6.176,1847,7.01,1848,4.146,1849,5.571,1850,4.146,1851,4.909,1852,5.571,1853,5.571]],["title/interfaces/Message.html",[129,0.292,777,1.928]],["body/interfaces/Message.html",[0,1.731,3,0.081,4,0.206,5,0.071,6,0.061,11,0.539,18,0.407,19,0.656,20,1.979,35,0.766,40,1.261,41,0.827,43,0.01,45,0.694,46,1.077,47,1.493,48,1.231,55,1.572,56,0.898,71,1.916,75,0.006,80,0.005,84,0.005,85,0.806,96,3.293,99,0.257,104,0.208,113,1.231,115,1.476,129,0.398,130,0.184,133,0.196,134,1.572,139,0.972,141,1.351,155,3.181,160,1.331,161,1.024,195,1.142,199,1.926,205,1.747,206,2.903,213,1.453,230,2.118,278,1.602,297,1.142,337,0.891,359,1.775,429,1.231,642,3.273,750,3.39,758,2.626,761,3.856,772,2.28,773,4.168,777,4.025,792,2.903,794,2.856,813,1.086,819,2.856,835,3.915,993,2.856,1035,3.915,1053,4.503,1060,4.867,1072,2.372,1096,4.146,1256,2.711,1266,2.711,1267,3.717,1292,2.473,1345,3.717,1352,3.489,1405,2.711,1483,4.241,1540,4.241,1593,3.024,1602,3.024,1605,3.024,1626,2.585,1854,2.856,1855,4.563,1856,3.443,1857,4.423,1858,3.915,1859,4.424,1860,2.585,1861,4.806,1862,2.118,1863,3.227,1864,3.227,1865,4.241,1866,3.227,1867,5.333,1868,4.146,1869,2.856,1870,2.856,1871,4.146,1872,3.024,1873,3.227,1874,4.424,1875,3.227,1876,2.711,1877,3.227,1878,3.227,1879,3.227,1880,4.424,1881,3.024,1882,3.227,1883,3.227,1884,3.227,1885,4.424,1886,3.227,1887,4.424,1888,2.856,1889,4.731,1890,3.227,1891,3.227,1892,3.227,1893,3.227,1894,2.711,1895,3.227,1896,3.227,1897,5.048,1898,3.227,1899,3.227,1900,3.227,1901,3.227,1902,2.856,1903,3.227,1904,3.227,1905,3.227,1906,3.227]],["title/classes/MessageChannel.html",[133,0.144,792,2.132]],["body/classes/MessageChannel.html",[0,1.598,3,0.072,4,0.205,5,0.064,6,0.114,11,0.911,18,0.363,19,0.605,20,2.069,25,1.375,35,0.97,38,1.822,40,1.363,41,0.737,42,1.615,43,0.01,44,0.966,45,0.711,46,1.381,47,1.451,48,1.558,55,1.697,56,0.963,71,1.908,75,0.006,80,0.004,84,0.004,85,1.02,86,0.756,96,3.395,99,0.241,104,0.186,113,1.098,115,1.316,129,0.368,130,0.178,133,0.181,134,1.507,139,0.897,141,1.346,155,2.797,160,1.297,161,0.963,199,1.811,205,1.558,206,2.68,213,1.341,230,1.889,278,1.429,297,1.018,337,0.795,359,1.155,429,1.558,642,3.138,750,3.129,758,2.424,761,3.88,772,2.885,773,4.289,777,4.017,792,3.116,794,2.547,813,0.969,819,2.547,835,3.614,993,3.614,1035,3.614,1053,4.564,1060,4.763,1072,3.001,1096,3.828,1256,3.431,1266,2.418,1267,3.431,1292,2.205,1345,3.431,1352,3.345,1405,2.418,1466,3.104,1483,4.762,1540,4.762,1593,2.697,1602,3.828,1605,3.828,1626,3.803,1854,2.547,1855,4.585,1856,3.459,1857,4.284,1858,2.547,1859,2.878,1860,2.305,1861,5.159,1862,1.889,1863,2.878,1864,2.878,1865,3.989,1866,2.878,1867,5.114,1868,3.828,1869,2.547,1870,2.547,1871,3.828,1872,2.697,1873,4.084,1874,5.457,1875,4.084,1876,3.431,1877,4.084,1878,2.878,1879,2.878,1880,4.084,1881,3.828,1882,4.084,1883,5.167,1884,2.878,1885,5.167,1886,4.084,1887,4.084,1888,3.614,1889,5.312,1890,4.084,1891,2.878,1892,5.167,1893,2.878,1894,2.418,1895,2.878,1896,2.878,1897,4.747,1898,2.878,1899,2.878,1900,2.878,1901,2.878,1902,2.547,1903,2.878,1904,2.878,1905,2.878,1906,2.878,1907,5.488,1908,5.488,1909,5.488,1910,3.867,1911,5.488,1912,3.867,1913,3.867,1914,3.867,1915,3.867,1916,3.867]],["title/injectables/MessageService.html",[0,1.271,758,1.928]],["body/injectables/MessageService.html",[0,1.665,2,2.337,3,0.077,4,0.203,5,0.067,6,0.11,11,0.818,18,0.385,19,0.631,20,2.094,25,1.433,35,1.01,38,1.743,40,1.325,41,1.09,42,1.33,43,0.01,44,0.796,45,0.68,46,1.291,47,1.545,48,1.164,55,1.637,56,0.994,71,1.65,75,0.006,80,0.004,84,0.004,85,1.063,86,0.801,96,3.285,99,0.249,104,0.197,113,1.164,115,1.395,129,0.383,130,0.181,133,0.188,134,1.54,139,0.935,141,1.407,155,2.652,160,1.314,161,0.994,199,1.869,205,1.651,206,2.793,213,1.398,230,3.48,278,2.113,297,1.079,337,0.842,359,1.224,429,1.164,642,3.207,750,3.755,758,3.31,761,3.944,772,2.155,773,4.222,777,4.019,792,3.216,794,3.766,813,1.027,819,3.766,835,3.766,993,2.7,1035,3.766,1053,4.426,1060,4.632,1072,2.242,1096,3.988,1256,2.563,1266,2.563,1267,3.575,1292,2.337,1345,3.575,1352,3.541,1405,4.117,1483,4.117,1540,4.117,1593,3.988,1602,2.859,1605,2.859,1626,2.444,1854,2.7,1855,4.117,1856,3.106,1857,4.098,1858,2.7,1859,3.051,1860,2.444,1861,4.935,1862,2.002,1863,3.051,1864,3.051,1865,4.685,1866,3.051,1867,5.666,1868,3.988,1869,2.7,1870,2.7,1871,3.988,1872,2.859,1873,3.051,1874,4.255,1875,3.051,1876,2.563,1877,3.051,1878,3.051,1879,3.051,1880,4.255,1881,2.859,1882,3.051,1883,3.051,1884,3.051,1885,4.255,1886,3.051,1887,4.255,1888,2.7,1889,4.593,1890,3.051,1891,3.051,1892,3.051,1893,3.051,1894,3.575,1895,3.051,1896,3.051,1897,4.9,1898,3.051,1899,3.051,1900,3.051,1901,3.051,1902,3.766,1903,3.051,1904,4.255,1905,4.255,1906,3.051,1917,5.038,1918,4.099,1919,5.718,1920,4.099,1921,4.099,1922,4.099]],["title/interfaces/MessageServiceConfig.html",[129,0.292,1865,2.73]],["body/interfaces/MessageServiceConfig.html",[0,1.743,3,0.082,4,0.203,5,0.072,6,0.062,11,0.545,18,0.411,19,0.66,20,1.985,35,0.774,40,1.268,41,0.836,43,0.01,45,0.665,46,1.085,47,1.518,48,1.244,55,1.577,56,0.904,71,1.709,75,0.006,80,0.005,84,0.005,85,0.815,96,3.298,99,0.258,104,0.21,113,1.244,115,1.492,129,0.401,130,0.185,133,0.197,134,1.577,139,0.979,141,1.356,155,2.747,160,1.334,161,1.03,195,1.154,199,1.936,205,1.765,206,2.925,213,1.464,230,2.141,278,1.619,297,1.154,337,1.402,359,1.309,429,1.244,642,3.285,750,3.415,758,2.645,761,3.82,772,2.304,773,4.21,777,4.008,792,2.925,794,2.886,813,1.5,819,2.886,835,3.944,993,2.886,1035,3.944,1053,4.376,1060,4.708,1072,2.397,1096,4.177,1256,2.74,1266,2.74,1267,3.744,1292,3.415,1345,3.744,1352,3.615,1405,2.74,1483,4.265,1540,4.265,1593,3.057,1602,3.057,1605,3.057,1626,2.613,1854,2.886,1855,4.265,1856,3.218,1857,4.198,1858,2.886,1859,3.262,1860,2.613,1861,4.828,1862,2.141,1863,3.262,1864,3.262,1865,4.584,1866,4.456,1867,5.526,1868,5.353,1869,2.886,1870,2.886,1871,4.177,1872,3.057,1873,3.262,1874,4.456,1875,3.262,1876,2.74,1877,3.262,1878,3.262,1879,3.262,1880,4.456,1881,3.057,1882,3.262,1883,3.262,1884,3.262,1885,4.456,1886,3.262,1887,4.456,1888,2.886,1889,4.757,1890,3.262,1891,3.262,1892,3.262,1893,3.262,1894,2.74,1895,3.262,1896,3.262,1897,5.076,1898,3.262,1899,3.262,1900,3.262,1901,3.262,1902,2.886,1903,3.262,1904,3.262,1905,3.262,1906,3.262]],["title/interfaces/MetaDataField.html",[129,0.292,1923,3.249]],["body/interfaces/MetaDataField.html",[3,0.128,4,0.16,5,0.113,6,0.097,18,0.643,19,0.876,43,0.01,45,0.761,69,1.203,75,0.008,80,0.007,84,0.007,86,1.687,129,0.459,130,0.185,156,3.476,195,1.803,208,1.849,1923,6.242,1924,5.497,1925,5.497]],["title/interfaces/ModelStateModel.html",[129,0.292,1926,2.73]],["body/interfaces/ModelStateModel.html",[0,1.09,3,0.044,4,0.055,5,0.038,6,0.033,8,0.999,11,0.29,15,2.055,16,0.887,18,0.219,19,0.413,20,1.57,22,2.537,23,0.887,29,0.999,35,0.413,37,2.77,40,0.434,41,0.445,43,0.01,44,1.008,45,0.77,46,1.136,47,0.679,48,0.663,49,1.331,50,1.227,53,3.929,56,1.199,65,0.999,69,1.051,71,1.174,75,0.004,80,0.002,84,0.002,88,0.913,90,2.097,91,1.346,96,3.071,99,0.297,104,0.112,105,2.373,106,1.603,107,1.508,108,0.999,109,0.999,110,0.94,113,0.663,115,0.795,120,1.392,122,1.465,123,1.465,124,0.913,125,0.863,126,1.465,128,1.708,129,0.314,130,0.154,132,0.969,133,0.077,134,1.406,139,1.321,141,1.28,142,0.679,149,3.5,155,2.98,156,2.652,160,1.264,161,1.23,162,0.999,163,1.065,173,1.46,174,1.46,177,1.628,182,0.816,184,1.628,195,0.615,212,0.465,245,1.346,246,1.508,256,1.531,257,2.378,269,2.466,281,1.331,287,1.846,297,1.412,299,3.083,301,1.277,303,1.331,304,1.182,308,0.894,326,0.68,337,1.207,353,2.048,359,1.753,382,2.468,387,2.683,390,2.93,400,0.63,405,1.685,409,1.508,429,1.942,435,2.212,445,1.508,450,1.422,453,1.354,457,0.986,488,1.906,511,1.781,514,1.011,528,0.615,612,1.654,655,3.742,662,2.135,667,1.465,668,0.887,669,0.863,670,0.863,673,2.673,679,1.946,683,0.913,684,3.276,687,1.14,754,1.277,761,2.139,785,2.908,813,1.174,848,1.732,894,4.627,895,1.896,932,2.931,942,5.412,943,4.506,945,1.538,946,1.538,947,1.538,949,2.466,954,1.392,965,2.226,1015,3.645,1115,0.839,1225,2.564,1237,1.277,1271,3.427,1274,4.095,1276,3.89,1278,1.277,1346,3.489,1347,4.295,1348,3.573,1349,3.348,1352,2.859,1397,1.14,1758,3.197,1759,3.27,1761,3.601,1762,4.127,1763,2.612,1774,1.737,1808,3.427,1856,2.212,1857,2.564,1862,1.14,1894,1.46,1926,2.341,1927,1.538,1928,3.006,1929,4.208,1930,4.649,1931,4.924,1932,4.924,1933,4.924,1934,4.365,1935,5.111,1936,4.42,1937,2.466,1938,4.786,1939,4.305,1940,4.371,1941,1.829,1942,2.341,1943,2.612,1944,1.392,1945,1.392,1946,1.874,1947,1.737,1948,1.538,1949,1.874,1950,1.538,1951,1.874,1952,1.392,1953,1.874,1954,1.331,1955,1.277,1956,2.135,1957,1.874,1958,1.874,1959,1.628,1960,1.766,1961,1.14,1962,1.392,1963,1.331,1964,1.331,1965,1.737,1966,2.794,1967,1.874,1968,2.232,1969,1.737,1970,1.874,1971,1.874,1972,1.874,1973,2.931,1974,2.232,1975,1.874,1976,1.874,1977,1.874,1978,1.874,1979,1.874,1980,1.874,1981,1.874,1982,1.874,1983,1.874,1984,1.874,1985,1.874,1986,1.874,1987,1.874,1988,1.874,1989,1.874,1990,1.874,1991,1.874,1992,1.874,1993,1.874,1994,1.874,1995,1.874,1996,1.874,1997,1.874,1998,1.737,1999,1.737,2000,1.874,2001,1.874,2002,1.874,2003,1.874,2004,1.874,2005,1.628,2006,1.628,2007,1.46,2008,1.874,2009,1.874,2010,3.763,2011,1.874,2012,5.284,2013,1.874,2014,1.874,2015,3.006,2016,2.786,2017,1.874,2018,1.874,2019,4.919,2020,1.874,2021,1.874,2022,1.874,2023,1.874,2024,1.331,2025,1.874,2026,4.305,2027,2.135,2028,1.874,2029,1.874,2030,1.874,2031,1.392,2032,1.874,2033,1.874,2034,3.006,2035,1.874,2036,4.305,2037,1.874,2038,3.006,2039,1.874,2040,1.874,2041,1.874,2042,1.874,2043,1.874,2044,1.874,2045,1.874,2046,1.874,2047,1.874,2048,1.874,2049,1.874,2050,1.874,2051,1.874,2052,1.874,2053,1.874,2054,1.874,2055,1.874,2056,1.874,2057,1.874,2058,3.006,2059,1.874,2060,1.874,2061,1.874,2062,1.874,2063,1.874,2064,1.874,2065,1.874,2066,1.874,2067,1.874,2068,3.006,2069,1.874,2070,1.874,2071,1.874,2072,1.874,2073,1.874,2074,1.874,2075,1.874,2076,1.874,2077,1.874,2078,1.874,2079,1.874,2080,1.874,2081,1.874,2082,1.874,2083,1.874,2084,3.006,2085,1.392,2086,1.628,2087,1.874,2088,1.538,2089,1.628,2090,3.006,2091,3.27,2092,3.006,2093,2.232,2094,3.006,2095,1.874,2096,1.874,2097,1.874,2098,1.874,2099,1.874,2100,1.874,2101,1.874,2102,1.392,2103,1.874,2104,1.874,2105,1.874,2106,1.874,2107,1.874,2108,1.874]],["title/components/NameInputComponent.html",[196,0.424,501,1.209]],["body/components/NameInputComponent.html",[3,0.069,4,0.086,5,0.087,6,0.119,11,0.772,12,1.264,18,0.346,19,0.585,20,1.556,25,1.328,32,2.685,35,0.651,38,1.924,40,0.986,41,1.011,42,1.445,43,0.01,44,1.269,45,0.717,46,1.126,47,0.961,48,1.928,52,1.073,55,1.276,56,0.938,69,1.015,75,0.006,76,1.738,80,0.004,84,0.004,85,1.338,86,1.574,99,0.235,104,0.177,129,0.247,130,0.124,133,0.247,134,0.757,139,0.602,141,1.422,142,0.961,160,0.989,161,1.087,196,0.75,197,0.995,198,1.328,199,1.046,200,1.159,201,1.159,202,1.129,208,0.995,209,1.583,210,1.583,211,2.254,212,1.124,213,0.901,214,1.431,216,1.431,256,0.857,259,2.607,260,1.702,300,1.556,308,1.011,309,0.901,321,1.1,333,2.312,334,3.784,335,3.784,359,1.1,399,1.254,400,0.995,401,1.529,405,1.324,409,0.946,414,1.1,427,1.577,444,1.681,450,1.145,453,1.145,457,0.97,468,1.159,469,1.803,470,1.159,471,2.136,472,1.159,473,1.159,474,1.046,475,1.159,476,1.02,477,1.953,478,1.046,479,1.159,480,1.431,481,1.953,482,1.046,483,1.1,484,1.159,485,1.046,486,1.159,487,1.046,488,0.995,489,1.159,490,1.046,491,1.159,492,1.046,493,1.046,494,1.159,495,1.046,496,1.129,497,1.02,498,1.159,499,1.046,500,1.667,501,1.88,502,1.046,503,1.046,504,1.953,505,1.046,506,1.544,507,1.667,508,1.02,509,1.046,510,1.02,511,0.857,512,1.159,513,1.02,514,0.995,515,1.046,516,1.159,517,1.046,518,1.159,519,1.046,520,1.159,521,1.046,522,1.328,523,1.046,524,1.505,525,1.046,526,1.159,527,1.046,528,1.396,529,1.159,530,1.046,531,1.159,532,1.159,561,3.936,596,1.484,607,2.136,658,2.197,664,2.578,665,1.046,666,2.201,667,2.657,668,1.4,669,1.361,670,2.295,675,3.492,676,4.09,677,1.505,678,1.953,683,2.429,684,2.269,685,4.5,686,3.161,687,3.661,691,2.57,692,2.427,693,2.304,695,2.742,704,2.59,705,1.757,706,1.937,708,3.246,709,4.671,711,3.246,725,2.958,726,2.57,727,2.304,1115,2.441,1294,3.318,1295,3.145,1844,5.505,2109,6.221,2110,4.671,2111,4.671,2112,5.472,2113,5.472,2114,5.472,2115,5.302,2116,5.472,2117,5.302,2118,6.368,2119,5.302,2120,4.671,2121,3.685,2122,3.698,2123,5.777,2124,5.985,2125,5.985,2126,3.936,2127,3.685,2128,3.936,2129,3.685,2130,3.685,2131,3.685,2132,3.246,2133,2.427,2134,3.946,2135,4.671,2136,3.246,2137,3.246,2138,3.246,2139,4.671,2140,3.246,2141,3.246,2142,3.246]],["title/modules/NameInputModule.html",[533,1.271,1829,2.875]],["body/modules/NameInputModule.html",[3,0.12,4,0.149,5,0.105,6,0.091,43,0.01,44,0.89,75,0.008,80,0.007,84,0.007,99,0.335,104,0.307,130,0.149,133,0.21,424,1.643,501,2.516,522,1.602,535,1.815,536,2.221,547,2.399,548,1.815,550,2.596,552,2.064,556,2.337,734,5.133,735,2.596,736,2.741,737,2.176,738,5.677,739,4.759,742,4.172,743,3.498,744,5.133,1724,6.72,1725,5.634,1829,5.826,1844,4.212,2109,4.759,2133,4.212,2143,5.634,2144,5.634,2145,5.634,2146,6.72,2147,6.72]],["title/interfaces/OrganData.html",[129,0.292,2148,3.045]],["body/interfaces/OrganData.html",[0,1.609,3,0.073,4,0.091,5,0.064,6,0.055,15,2.143,16,1.485,18,0.367,19,0.61,20,1.607,22,1.295,29,1.672,35,0.69,43,0.01,44,0.769,45,0.582,46,1.264,47,0.708,55,1.136,56,0.59,65,1.672,69,1.153,71,1.748,75,0.006,80,0.004,84,0.004,85,0.726,90,1.966,96,2.101,99,0.325,102,1.908,104,0.188,106,2.366,107,2.227,108,1.672,109,1.672,110,1.574,113,1.109,114,1.725,115,1.33,119,2.137,122,2.162,123,2.162,124,1.528,125,1.443,126,2.162,128,2.522,129,0.37,130,0.163,132,1.621,133,0.129,134,1.65,139,1.426,149,5.037,160,1.111,161,0.59,162,1.672,163,1.782,188,2.071,195,1.029,212,0.797,245,1.986,246,2.227,257,1.197,262,2.228,278,2.042,299,3.19,326,1.137,359,1.651,378,1.978,380,3.248,382,2.243,384,3.658,387,2.438,389,2.228,390,2.663,400,1.055,405,1.404,450,1.651,453,1.651,466,1.528,608,2.443,635,1.908,636,1.978,639,1.978,640,1.978,687,2.7,747,3.855,754,2.137,848,3.016,891,1.908,895,1.978,896,3.456,902,2.329,930,2.443,953,2.907,955,2.907,1015,3.655,1151,2.443,1271,3.023,1347,4.526,1348,4.358,1349,4.358,1397,1.908,1753,2.907,1857,3.023,1929,3.295,1930,3.64,1936,3.023,1938,4.778,1941,2.7,1942,2.443,1954,2.228,1960,1.843,1961,1.908,1963,2.228,1964,2.228,2085,4.158,2088,3.64,2093,2.329,2102,3.824,2148,4.474,2149,2.725,2150,2.725,2151,3.855,2152,2.725,2153,4.225,2154,2.725,2155,2.573,2156,5.599,2157,4.474,2158,2.907,2159,4.114,2160,2.907,2161,3.152,2162,2.573,2163,5.908,2164,3.136,2165,3.136,2166,2.725,2167,3.136,2168,3.136,2169,2.725,2170,3.136,2171,3.136,2172,2.725,2173,2.725,2174,3.136,2175,3.136,2176,3.136,2177,3.136,2178,2.725,2179,4.437,2180,4.437,2181,4.437,2182,4.437,2183,4.437,2184,4.437,2185,2.907,2186,3.136,2187,3.136,2188,3.136,2189,3.136,2190,3.136,2191,3.136,2192,3.136,2193,3.136,2194,3.136,2195,3.136,2196,3.136,2197,3.855,2198,3.136,2199,3.136,2200,3.136,2201,3.136,2202,5.15,2203,5.15,2204,3.136,2205,3.136,2206,3.136,2207,2.725,2208,2.725,2209,2.725,2210,2.725,2211,3.136,2212,2.725,2213,4.437,2214,3.855,2215,3.136,2216,3.136,2217,3.136,2218,3.136,2219,4.437,2220,3.136,2221,3.136,2222,3.136,2223,3.136,2224,3.136,2225,2.907,2226,3.136,2227,3.136,2228,3.136,2229,3.136,2230,3.136,2231,3.136,2232,3.136,2233,2.228,2234,3.136,2235,3.136,2236,3.136,2237,3.136,2238,3.136,2239,3.136,2240,3.136,2241,3.136,2242,3.136]],["title/injectables/PageState.html",[0,1.271,91,1.569]],["body/injectables/PageState.html",[0,1.563,2,2.138,3,0.07,4,0.088,5,0.062,6,0.123,11,0.779,14,3.904,15,2.26,16,2.041,18,0.352,19,0.592,20,1.716,22,1.243,23,2.865,25,1.345,29,2.931,32,2.718,35,0.949,38,2.007,40,0.998,41,1.024,42,1.459,43,0.01,44,1.142,45,0.569,46,1.137,47,0.973,52,2.11,53,4.204,55,1.632,56,1.303,65,2.298,69,0.727,75,0.006,80,0.004,84,0.004,85,1.273,86,1.417,91,1.929,96,3.018,99,0.314,104,0.18,105,3.467,106,2.298,107,2.163,108,1.605,109,1.605,110,1.51,113,1.064,114,1.656,115,1.276,122,2.1,123,2.1,124,1.467,125,1.385,126,1.467,129,0.36,130,0.146,132,1.556,133,0.123,134,1.407,139,1.12,160,0.855,161,1.278,162,1.605,163,1.711,182,1.311,212,0.667,224,5.365,245,2.604,246,2.758,263,1.556,287,2.279,297,1.985,307,3.297,308,1.196,309,1.533,310,3.43,326,1.092,333,2.854,334,2.823,335,2.823,337,1.661,389,2.138,609,4.772,619,3.745,639,1.899,640,1.899,785,3.024,813,0.939,848,1.385,891,1.831,960,2.622,1343,2.344,1352,2.45,1397,1.831,1862,1.831,1876,2.344,1941,3.063,1944,2.235,1945,2.235,1950,4.13,1952,2.235,1955,2.051,1956,2.138,1963,2.138,1964,2.138,2019,3.739,2024,2.138,2027,2.138,2126,2.936,2128,2.936,2243,2.79,2244,4.31,2245,4.965,2246,6.489,2247,5.496,2248,5.496,2249,5.496,2250,5.369,2251,5.369,2252,6.732,2253,5.034,2254,6.584,2255,3.75,2256,3.75,2257,3.75,2258,3.75,2259,3.75,2260,3.75,2261,3.75,2262,3.75,2263,4.31,2264,3.75,2265,4.31,2266,4.374,2267,3.75,2268,5.393,2269,4.31,2270,3.75,2271,4.31,2272,3.75,2273,4.31,2274,4.31,2275,3.75,2276,4.31,2277,3.75,2278,3.75,2279,3.75,2280,3.75,2281,3.75,2282,3.75,2283,3.75,2284,3.01,2285,2.615,2286,2.615,2287,3.01,2288,3.01,2289,3.921,2290,2.344,2291,3.01,2292,3.01,2293,3.01,2294,3.01,2295,3.01,2296,2.615,2297,3.01,2298,3.01,2299,3.01,2300,3.01,2301,3.01,2302,4.31,2303,3.01,2304,4.374,2305,3.01,2306,3.01,2307,3.995,2308,4.31,2309,3.745,2310,3.01,2311,3.01,2312,3.01,2313,3.01,2314,3.01,2315,4.31,2316,3.01,2317,3.01,2318,3.01,2319,5.034,2320,3.01,2321,2.615,2322,4.31,2323,3.01,2324,3.01,2325,3.01]],["title/interfaces/PageStateModel.html",[129,0.292,2290,2.73]],["body/interfaces/PageStateModel.html",[0,1.707,3,0.08,4,0.099,5,0.07,6,0.06,11,0.528,14,3.343,15,2.285,16,1.615,18,0.399,19,0.647,20,1.469,22,1.943,23,2.885,29,1.819,35,0.751,40,0.79,41,0.81,43,0.01,44,1.007,45,0.712,47,0.77,53,3.974,56,1.238,65,1.819,69,0.794,75,0.006,80,0.005,84,0.005,86,0.831,91,1.527,96,2.983,99,0.322,104,0.204,105,3.664,106,2.509,107,2.362,108,1.819,109,1.819,110,1.712,113,1.206,114,1.877,115,1.446,122,2.293,123,2.293,124,1.662,125,1.57,126,1.662,129,0.393,130,0.157,132,1.764,133,0.14,134,1.487,139,1.183,160,0.934,161,1.147,162,1.819,163,1.939,182,1.486,195,1.119,212,0.729,224,5.362,245,2.6,246,2.362,263,1.764,287,2.387,297,1.999,307,3.529,308,1.28,309,1.641,310,3.671,326,1.237,333,2.918,334,3.082,335,3.082,337,1.812,389,2.423,609,3.861,619,4.089,639,2.152,640,2.152,785,2.59,813,1.469,848,1.57,891,2.076,960,2.076,1343,2.657,1352,1.939,1397,2.076,1862,2.076,1876,2.657,1941,2.863,1944,2.533,1945,2.533,1950,4.42,1952,2.533,1955,2.324,1956,2.423,1963,2.423,1964,2.423,2019,4.001,2024,2.423,2027,2.423,2126,2.324,2128,2.324,2243,3.163,2244,3.411,2245,5.297,2246,6.758,2247,3.411,2248,3.411,2249,3.411,2252,6.933,2253,3.411,2254,6.826,2263,3.411,2265,3.411,2266,2.964,2268,5.385,2269,3.411,2271,3.411,2273,3.411,2274,3.411,2276,3.411,2284,3.411,2285,2.964,2286,2.964,2287,3.411,2288,3.411,2289,4.747,2290,3.666,2291,3.411,2292,3.411,2293,3.411,2294,3.411,2295,3.411,2296,2.964,2297,3.411,2298,3.411,2299,3.411,2300,3.411,2301,3.411,2302,4.706,2303,3.411,2304,4.681,2305,3.411,2306,3.411,2307,4.363,2308,4.706,2309,4.089,2310,3.411,2311,3.411,2312,3.411,2313,3.411,2314,3.411,2315,4.706,2316,3.411,2317,3.411,2318,3.411,2319,5.388,2320,3.411,2321,2.964,2322,4.706,2323,3.411,2324,3.411,2325,3.411]],["title/interfaces/Person.html",[129,0.292,2289,2.73]],["body/interfaces/Person.html",[0,1.739,3,0.082,4,0.102,5,0.072,6,0.062,11,0.543,14,3.407,15,2.232,16,1.66,18,0.41,19,0.659,20,1.497,22,1.448,23,2.782,29,1.87,35,0.772,40,0.812,41,0.833,43,0.01,44,1.019,45,0.542,47,0.792,53,4.008,56,1.246,65,1.87,69,1.071,75,0.006,80,0.005,84,0.005,86,0.854,91,1.57,96,3.008,99,0.323,104,0.21,105,3.707,106,2.557,107,2.407,108,1.87,109,1.87,110,1.76,113,1.24,114,1.929,115,1.487,122,2.337,123,2.337,124,1.709,125,1.614,126,1.709,129,0.4,130,0.159,132,1.813,133,0.144,134,1.505,139,1.197,160,0.952,161,1.158,162,1.87,163,1.993,182,1.527,195,1.15,212,0.743,224,5.232,245,2.631,246,2.407,263,1.813,287,2.411,297,2.019,307,3.141,308,1.139,309,1.46,310,3.268,326,1.272,333,2.808,334,4.03,335,4.03,337,1.665,389,2.491,609,3.935,619,4.167,639,2.212,640,2.212,785,2.639,813,1.094,848,1.614,891,2.918,960,2.134,1343,3.736,1352,1.993,1397,2.134,1862,2.134,1876,3.736,1941,2.918,1944,2.604,1945,2.604,1950,4.484,1952,2.604,1955,2.389,1956,2.491,1963,2.491,1964,2.491,2019,4.059,2024,2.491,2027,2.491,2126,2.389,2128,2.389,2243,3.251,2244,3.507,2245,4.821,2246,6.504,2247,3.507,2248,3.507,2249,3.507,2252,6.795,2253,3.507,2254,6.622,2263,3.507,2265,3.507,2266,3.047,2268,5.067,2269,3.507,2271,3.507,2273,3.507,2274,3.507,2276,3.507,2284,3.507,2285,3.047,2286,3.047,2287,3.507,2288,3.507,2289,4.793,2290,2.731,2291,3.507,2292,3.507,2293,3.507,2294,3.507,2295,3.507,2296,3.047,2297,3.507,2298,3.507,2299,3.507,2300,3.507,2301,3.507,2302,4.796,2303,3.507,2304,4.749,2305,3.507,2306,3.507,2307,4.446,2308,4.796,2309,4.167,2310,3.507,2311,3.507,2312,3.507,2313,3.507,2314,3.507,2315,4.796,2316,3.507,2317,3.507,2318,3.507,2319,5.466,2320,3.507,2321,3.047,2322,4.796,2323,3.507,2324,3.507,2325,3.507]],["title/injectables/ReferenceDataState.html",[0,1.271,1960,2.06]],["body/injectables/ReferenceDataState.html",[0,1.494,2,2.008,3,0.066,4,0.082,5,0.058,6,0.108,11,0.752,15,2.218,16,1.95,18,0.331,20,1.771,22,1.7,25,1.285,29,2.846,35,0.907,38,1.717,42,1.547,43,0.01,44,1.027,45,0.603,46,1.205,47,0.93,55,1.566,56,0.775,65,2.196,69,1.188,71,1.666,75,0.005,80,0.004,84,0.004,85,0.655,90,2.166,96,2.3,99,0.319,102,1.72,104,0.169,106,2.196,107,2.067,108,1.507,109,1.507,110,1.418,113,1,114,1.555,115,1.198,119,1.926,122,2.007,123,2.007,124,1.377,125,1.301,126,2.007,128,2.341,129,0.344,130,0.155,132,1.462,133,0.116,134,1.604,139,1.406,149,5.151,160,1.059,161,0.532,162,1.507,163,1.607,188,1.954,212,0.752,245,2.39,246,2.679,257,1.079,262,2.008,278,2.457,299,3.193,326,1.025,359,1.986,378,1.783,380,3.065,382,2.116,384,3.451,387,2.3,389,2.008,390,2.512,400,1.385,405,1.265,450,1.645,453,1.645,466,1.377,608,2.202,635,1.72,636,1.783,639,1.783,640,1.783,687,2.506,747,4.638,754,2.806,848,3.139,891,2.506,895,2.598,896,4.158,902,2.099,930,2.202,953,2.621,955,2.621,1015,3.572,1151,2.202,1271,2.806,1347,4.423,1348,4.344,1349,4.344,1397,1.72,1753,2.621,1857,2.806,1929,3.059,1930,3.379,1936,2.806,1938,4.881,1941,2.956,1942,2.202,1954,2.008,1960,2.421,1961,3.72,1963,2.008,1964,2.008,2085,3.964,2088,3.379,2093,2.099,2102,3.608,2148,4.222,2149,5.313,2150,2.456,2151,3.579,2152,2.456,2153,3.986,2154,2.456,2155,2.319,2156,6.114,2157,4.222,2158,2.621,2159,3.818,2160,2.621,2161,2.926,2162,2.319,2163,5.674,2164,2.827,2165,2.827,2166,2.456,2167,2.827,2168,2.827,2169,2.456,2170,2.827,2171,2.827,2172,2.456,2173,2.456,2174,2.827,2175,2.827,2176,2.827,2177,2.827,2178,2.456,2179,4.118,2180,4.118,2181,4.118,2182,4.118,2183,4.118,2184,4.118,2185,3.818,2186,2.827,2187,2.827,2188,2.827,2189,2.827,2190,2.827,2191,2.827,2192,2.827,2193,5.338,2194,2.827,2195,2.827,2196,2.827,2197,3.579,2198,2.827,2199,2.827,2200,2.827,2201,4.118,2202,4.859,2203,4.859,2204,2.827,2205,2.827,2206,2.827,2207,2.456,2208,2.456,2209,2.456,2210,2.456,2211,2.827,2212,2.456,2213,4.118,2214,4.222,2215,2.827,2216,2.827,2217,2.827,2218,2.827,2219,5.338,2220,4.118,2221,4.118,2222,2.827,2223,2.827,2224,2.827,2225,2.621,2226,2.827,2227,2.827,2228,2.827,2229,2.827,2230,2.827,2231,2.827,2232,4.118,2233,2.926,2234,4.118,2235,2.827,2236,2.827,2237,2.827,2238,2.827,2239,2.827,2240,2.827,2241,2.827,2242,2.827,2326,5.131,2327,5.131,2328,5.131,2329,3.521,2330,3.521,2331,3.521,2332,3.521,2333,4.504,2334,3.521,2335,3.521,2336,3.521]],["title/interfaces/ReferenceDataStateModel.html",[129,0.292,2178,3.045]],["body/interfaces/ReferenceDataStateModel.html",[0,1.585,3,0.072,4,0.089,5,0.063,6,0.054,15,2.125,16,1.453,18,0.359,19,0.6,20,1.588,22,1.267,29,1.636,35,0.675,43,0.01,44,0.758,45,0.801,47,0.693,55,1.119,56,0.577,65,1.636,69,1.149,71,1.731,75,0.006,80,0.004,84,0.004,85,0.711,90,1.942,96,2.069,99,0.324,102,1.867,104,0.184,106,2.33,107,2.192,108,1.636,109,1.636,110,1.54,113,1.085,114,1.688,115,1.301,119,2.091,122,2.129,123,2.129,124,1.495,125,1.412,126,2.129,128,2.483,129,0.365,130,0.161,132,1.586,133,0.126,134,1.64,139,1.422,149,5.017,160,1.1,161,0.577,162,1.636,163,1.744,188,2.046,195,1.006,212,0.788,245,1.956,246,2.192,257,1.171,262,2.18,278,2.011,299,3.11,326,1.113,359,1.626,378,1.935,380,3.21,382,2.216,384,3.615,387,2.409,389,2.18,390,2.631,400,1.032,405,1.374,450,1.492,453,1.492,466,1.495,608,2.39,635,1.867,636,1.935,639,1.935,640,1.935,687,2.658,747,3.796,754,2.091,848,3.001,891,1.867,895,1.935,896,3.403,902,2.279,930,2.39,953,2.845,955,2.845,1015,3.448,1151,2.39,1271,2.977,1344,6.863,1347,4.27,1348,3.939,1349,3.939,1397,1.867,1753,2.845,1857,2.977,1929,4.352,1930,4.808,1936,2.977,1938,4.319,1941,2.658,1942,2.39,1954,2.18,1960,1.803,1961,1.867,1963,2.18,1964,2.18,2085,4.118,2088,3.585,2093,2.279,2102,3.779,2148,3.796,2149,2.666,2150,2.666,2151,3.796,2152,2.666,2153,4.175,2154,2.666,2155,2.517,2156,5.544,2157,4.421,2158,2.845,2159,4.051,2160,2.845,2161,3.104,2162,2.517,2163,5.86,2164,3.068,2165,3.068,2166,2.666,2167,3.068,2168,3.068,2169,2.666,2170,3.068,2171,3.068,2172,2.666,2173,2.666,2174,3.068,2175,3.068,2176,3.068,2177,3.068,2178,3.796,2179,5.86,2180,4.369,2181,5.86,2182,5.86,2183,5.86,2184,5.86,2185,2.845,2186,3.068,2187,3.068,2188,3.068,2189,3.068,2190,3.068,2191,3.068,2192,3.068,2193,3.068,2194,3.068,2195,3.068,2196,3.068,2197,3.796,2198,3.068,2199,3.068,2200,3.068,2201,3.068,2202,5.088,2203,5.088,2204,3.068,2205,3.068,2206,3.068,2207,2.666,2208,2.666,2209,2.666,2210,2.666,2211,3.068,2212,2.666,2213,4.369,2214,3.796,2215,3.068,2216,3.068,2217,3.068,2218,3.068,2219,4.369,2220,3.068,2221,3.068,2222,3.068,2223,3.068,2224,3.068,2225,2.845,2226,3.068,2227,3.068,2228,3.068,2229,3.068,2230,3.068,2231,3.068,2232,3.068,2233,2.18,2234,3.068,2235,3.068,2236,3.068,2237,3.068,2238,3.068,2239,3.068,2240,3.068,2241,3.068,2242,3.068]],["title/components/RegistrationContentComponent.html",[196,0.424,502,1.239]],["body/components/RegistrationContentComponent.html",[3,0.058,4,0.073,5,0.077,6,0.12,11,0.877,12,1.118,15,2.322,18,0.293,19,0.517,22,2.603,23,2.784,25,1.174,35,0.828,38,1.951,40,0.871,41,0.894,42,1.563,43,0.01,44,1.188,45,0.741,46,1.218,52,0.907,55,1.549,56,1.186,69,0.763,75,0.005,80,0.003,84,0.003,85,1.165,86,1.225,88,2.451,91,2.252,99,0.267,104,0.15,114,1.377,115,1.061,125,1.152,130,0.073,133,0.258,134,0.641,142,0.565,156,2.706,160,1.2,161,1.138,196,0.652,197,0.841,198,1.174,199,0.885,200,0.98,201,0.98,202,0.955,208,0.841,209,1.4,210,1.4,211,2.23,212,1.112,213,0.762,214,1.266,216,1.266,223,3.93,256,1.091,259,1.4,260,1.174,263,3.2,297,1.483,299,3.137,300,1.412,301,3.081,307,2.465,308,1.676,309,1.532,313,1.377,321,0.931,326,0.907,331,1.858,332,1.777,337,1.451,400,1.266,401,1.294,404,2.082,408,2.139,409,0.801,410,1.578,413,1.522,414,0.931,416,3.225,418,1.377,421,1.294,427,1.334,429,1.779,431,2.658,434,1.334,437,1.334,438,2.502,442,2.962,444,1.422,445,1.256,448,1.471,450,0.673,451,1.522,453,0.673,457,0.821,468,0.98,469,1.932,470,0.98,471,1.97,472,0.98,473,0.98,474,0.885,475,0.98,476,0.863,477,1.772,478,0.885,479,0.98,480,1.266,481,1.772,482,0.885,483,0.931,484,0.98,485,0.885,486,0.98,487,0.885,488,0.841,489,0.98,490,0.885,491,0.98,492,0.885,493,0.885,494,0.98,495,0.885,496,0.955,497,0.863,498,0.98,499,0.885,500,1.474,501,0.863,502,1.779,503,0.885,504,1.772,505,0.885,506,1.365,507,1.474,508,0.863,509,0.885,510,0.863,511,0.725,512,0.98,513,0.863,514,0.841,515,0.885,516,0.98,517,0.885,518,0.98,519,0.885,520,0.98,521,0.885,522,1.174,523,0.885,524,1.331,525,0.885,526,0.98,527,0.885,528,1.234,529,0.98,530,0.885,531,0.98,532,0.98,583,5.559,660,2.374,665,0.885,677,1.331,678,1.772,684,3.021,705,1.553,718,2.564,719,3.27,785,2.071,813,1.174,827,3.087,864,4.522,865,4.13,964,3.087,969,2.025,976,2.174,1007,4.13,1237,2.564,1260,4.176,1286,4.998,1295,3.977,1328,2.931,1347,4.513,1348,4.025,1349,4.396,1358,2.502,1368,2.174,1377,4.13,1577,2.931,1653,4.127,1686,1.777,1690,2.174,1734,4.964,1736,4.964,1738,4.13,1749,4.13,1792,4.13,1793,4.13,1807,3.763,1815,2.32,1938,4.414,2031,2.794,2126,2.564,2128,2.564,2266,3.93,2289,1.949,2321,2.174,2333,2.32,2337,5.887,2338,5.887,2339,2.746,2340,5.634,2341,5.634,2342,3.71,2343,4.924,2344,5.634,2345,5.634,2346,4.688,2347,6.266,2348,4.688,2349,4.13,2350,5,2351,4.688,2352,4.688,2353,4.688,2354,3.117,2355,3.763,2356,3.763,2357,3.117,2358,4.688,2359,4.688,2360,3.117,2361,4.13,2362,4.964,2363,3.117,2364,4.688,2365,3.117,2366,3.117,2367,3.117,2368,3.117,2369,3.117,2370,3.117,2371,3.117,2372,3.117,2373,1.705,2374,3.117,2375,3.117,2376,3.117,2377,4.688,2378,3.117,2379,3.117,2380,3.117,2381,4.688,2382,3.117,2383,3.117,2384,3.117,2385,3.117,2386,2.502,2387,3.117,2388,3.117,2389,3.117]],["title/modules/RegistrationContentModule.html",[533,1.271,2390,3.045]],["body/modules/RegistrationContentModule.html",[3,0.116,4,0.145,5,0.102,6,0.088,43,0.01,75,0.008,80,0.007,84,0.007,99,0.336,104,0.298,130,0.145,133,0.204,212,0.772,308,1.184,326,1.808,424,1.595,497,2.074,502,2.571,535,1.762,536,2.182,547,2.356,548,1.762,550,2.55,552,2.419,556,2.296,570,6.602,583,4.089,735,2.55,736,2.693,737,2.113,742,4.098,743,3.396,1680,5.227,1681,4.33,1683,4.089,1719,5.435,1829,5.725,1841,4.984,1842,4.984,1843,5.47,1844,4.089,1845,4.984,2337,4.33,2338,4.33,2390,6.292,2391,5.47,2392,5.47,2393,5.47,2394,6.208,2395,6.208,2396,5.47]],["title/components/RegistrationModalComponent.html",[196,0.424,503,1.239]],["body/components/RegistrationModalComponent.html",[3,0.08,4,0.1,5,0.097,6,0.114,11,0.734,12,1.408,18,0.403,19,0.651,20,1.48,22,2.236,23,2.565,25,1.48,35,1.043,38,1.832,40,1.098,41,1.126,42,0.999,43,0.01,44,1.123,45,0.659,46,0.778,52,1.25,55,1.214,56,1.098,69,0.581,75,0.006,80,0.005,84,0.005,85,1.098,86,1.155,88,2.843,91,2.612,99,0.305,102,2.097,104,0.206,112,2.258,113,1.219,115,1.462,122,1.68,123,1.68,124,1.68,125,1.587,130,0.1,133,0.259,134,0.883,142,1.223,160,0.684,161,1.151,196,0.764,197,1.159,198,1.48,199,1.219,201,1.35,202,1.316,205,2.379,207,4.445,208,1.159,211,2.279,212,1.135,213,1.05,216,1.594,231,4.787,256,0.999,258,1.897,260,1.48,287,1.35,299,1.587,300,1.691,308,1.683,309,2.127,331,2.56,332,2.449,409,1.103,450,0.928,453,0.928,457,1.131,468,1.35,469,1.909,470,1.35,471,2.285,472,1.35,473,1.35,474,1.219,475,1.35,476,1.189,477,2.122,478,1.219,479,1.35,480,1.594,481,2.122,482,1.219,483,1.283,484,1.35,485,1.219,486,1.35,487,1.219,488,1.159,489,1.35,490,1.219,491,1.35,492,1.219,493,1.219,494,1.35,495,1.219,496,1.316,497,1.189,498,1.35,499,1.219,500,1.857,501,1.189,502,1.676,503,2.063,504,2.122,505,1.219,506,1.719,507,1.857,508,1.189,509,1.219,510,1.189,511,0.999,512,1.35,513,1.189,514,1.159,515,1.219,516,1.35,517,1.219,518,1.35,519,1.219,520,1.35,521,1.219,522,1.48,523,1.219,524,1.676,525,1.219,526,1.35,527,1.219,528,1.555,529,1.35,530,1.219,531,1.35,532,1.35,583,5.732,665,1.219,677,1.676,678,2.122,705,1.957,781,2.828,961,3.692,1118,5.409,1260,4.898,1575,5.409,1948,2.828,1955,2.349,1956,2.449,2024,2.449,2027,2.449,2225,3.196,2337,5.626,2338,2.995,2342,4.445,2373,2.349,2396,3.784,2397,2.995,2398,5.905,2399,4.395,2400,7.268,2401,3.447,2402,6.117,2403,6.749,2404,3.784,2405,4.395,2406,3.784,2407,4.294,2408,4.294,2409,4.294,2410,3.447,2411,4.294,2412,4.294,2413,4.294,2414,4.294,2415,3.447,2416,4.294,2417,4.294,2418,4.294]],["title/modules/RegistrationModalModule.html",[533,1.271,545,3.045]],["body/modules/RegistrationModalModule.html",[3,0.12,4,0.149,5,0.105,6,0.091,43,0.01,75,0.008,80,0.007,84,0.007,99,0.331,104,0.307,130,0.149,133,0.21,308,1.453,424,1.641,503,2.579,535,1.813,536,2.219,545,6.257,547,2.397,548,1.813,550,2.594,552,2.46,556,2.336,562,3.164,563,2.498,583,5.02,735,2.594,736,2.739,737,2.174,2337,4.455,2338,4.455,2373,3.493,2390,6.103,2419,5.628,2420,5.628,2421,5.628,2422,6.387,2423,5.127,2424,4.455,2425,6.118,2426,6.387]],["title/injectables/RegistrationState.html",[0,1.271,875,2.295]],["body/injectables/RegistrationState.html",[0,1.103,1,2.7,2,1.351,3,0.044,4,0.055,5,0.062,6,0.119,8,2.315,9,1.482,11,0.882,12,1.735,14,2.161,15,2.468,16,1.44,18,0.222,19,0.418,20,2.115,22,2.856,23,3.125,25,0.949,29,2.315,32,1.919,33,4.869,35,0.837,36,1.902,37,3.347,38,1.946,40,0.705,41,0.723,42,1.693,43,0.01,44,1.084,45,0.735,46,1.319,47,0.981,48,1.536,49,2.7,50,2.489,52,1.379,53,3.353,55,1.666,56,1.099,59,2.496,65,1.622,69,1.024,75,0.004,80,0.003,83,2.643,84,0.003,85,0.441,86,1.541,88,1.852,90,2.318,91,1.702,96,2.96,99,0.311,102,1.158,104,0.114,105,3.484,106,1.622,107,1.526,108,1.014,109,1.014,110,0.955,112,1.246,113,0.673,114,1.674,115,0.807,118,1.764,119,1.296,120,1.413,129,0.159,130,0.089,132,0.984,133,0.078,134,1.555,139,1.237,140,1.296,141,1.115,142,0.687,155,2.179,156,3.095,160,1.184,161,0.893,162,1.014,163,1.081,164,1.561,165,1.351,166,1.561,167,1.561,168,1.482,169,1.561,170,1.561,173,1.482,174,1.482,181,1.561,185,1.653,188,1.528,208,2.074,212,0.588,245,2.38,246,2.179,256,1.101,257,0.726,262,1.351,287,1.701,297,0.998,299,0.876,308,1.577,326,0.69,333,0.807,334,1.246,335,1.246,337,1.601,359,2.55,382,1.656,387,1.8,390,1.965,400,1.278,435,1.118,466,1.852,493,1.344,511,0.551,610,3.042,612,2.613,614,2.82,621,3.896,629,1.764,635,1.158,636,1.2,659,2.82,661,2.823,662,1.351,679,1.573,712,3.042,785,1.674,813,1.581,816,3.042,820,3.302,848,2.186,875,1.992,902,1.413,944,1.653,960,3.36,961,3.699,962,3.563,1115,1.362,1129,1.561,1225,2.959,1283,2.643,1295,3.684,1343,3.945,1352,1.729,1391,2.82,1397,1.158,1423,2.82,1472,3.801,1477,3.042,1478,1.902,1758,3.526,1808,2.073,1856,1.788,1888,2.496,1926,1.482,1936,3.45,1941,2.313,1943,2.643,1944,1.413,1945,1.413,1952,1.413,1954,1.351,1955,1.296,1956,2.161,1960,2.234,1961,1.158,1962,1.413,1966,1.413,1968,1.413,1974,2.259,2007,1.482,2019,2.823,2024,1.351,2027,2.161,2102,1.413,2122,3.773,2126,1.296,2128,2.59,2134,2.82,2151,5.734,2152,1.653,2161,1.351,2166,2.643,2197,1.653,2208,1.653,2209,1.653,2210,1.653,2214,1.653,2233,2.7,2285,1.653,2286,1.653,2290,1.482,2296,1.653,2304,2.643,2309,1.653,2333,1.764,2386,1.902,2427,1.902,2428,5.84,2429,5.523,2430,4.172,2431,3.789,2432,4.172,2433,4.172,2434,3.789,2435,3.789,2436,3.789,2437,3.789,2438,5.695,2439,3.524,2440,4.172,2441,4.172,2442,4.172,2443,3.789,2444,3.339,2445,2.37,2446,2.37,2447,2.37,2448,3.339,2449,4.4,2450,2.37,2451,2.37,2452,3.042,2453,3.339,2454,2.37,2455,2.37,2456,3.339,2457,2.37,2458,2.37,2459,3.339,2460,2.37,2461,3.339,2462,4.766,2463,3.339,2464,3.339,2465,3.339,2466,2.82,2467,3.339,2468,2.37,2469,3.339,2470,3.339,2471,2.37,2472,3.339,2473,2.37,2474,4.172,2475,3.339,2476,3.339,2477,3.339,2478,2.37,2479,2.37,2480,2.37,2481,2.37,2482,2.37,2483,2.37,2484,2.37,2485,2.37,2486,2.37,2487,2.37,2488,2.37,2489,2.37,2490,2.37,2491,2.37,2492,3.801,2493,2.37,2494,2.37,2495,3.524,2496,3.339,2497,2.37,2498,2.37,2499,2.088,2500,2.088,2501,1.902,2502,2.088,2503,3.339,2504,2.088,2505,1.764,2506,1.764,2507,4.766,2508,4.172,2509,3.339,2510,3.339,2511,3.339,2512,2.088,2513,2.088,2514,2.088,2515,3.339,2516,2.088,2517,2.088,2518,2.088,2519,2.088,2520,2.088,2521,2.088,2522,2.088,2523,2.088,2524,2.088,2525,2.088,2526,1.902,2527,2.088,2528,2.088,2529,2.088,2530,2.088,2531,2.088,2532,2.088,2533,2.088,2534,2.088,2535,2.088,2536,2.088,2537,2.088,2538,2.088,2539,2.088,2540,2.088,2541,2.088,2542,2.088,2543,2.088,2544,2.088,2545,2.088,2546,2.088,2547,2.088,2548,2.088,2549,2.088,2550,2.088,2551,2.088,2552,2.088,2553,2.088,2554,2.088,2555,2.088,2556,2.088,2557,2.088,2558,2.088,2559,2.088,2560,2.088,2561,2.088,2562,1.764,2563,2.088,2564,1.764,2565,1.653,2566,1.902,2567,2.088,2568,2.088,2569,4.766,2570,4.766,2571,2.088,2572,3.339,2573,2.088,2574,2.088,2575,2.088,2576,2.088,2577,2.088,2578,2.088,2579,2.088,2580,2.088,2581,2.088,2582,2.088,2583,2.088,2584,2.088,2585,2.088,2586,1.902,2587,2.088,2588,2.088,2589,2.088,2590,2.088,2591,2.088,2592,3.339,2593,2.088,2594,2.088,2595,2.088,2596,2.088,2597,2.088,2598,2.088,2599,4.172,2600,2.088,2601,2.088,2602,3.339,2603,2.643,2604,3.339,2605,3.339,2606,2.088,2607,2.088,2608,2.088,2609,2.088,2610,2.088,2611,2.088,2612,2.088,2613,2.088,2614,2.088,2615,1.902,2616,2.088,2617,2.088,2618,2.088,2619,2.088,2620,2.088,2621,2.088,2622,2.088,2623,2.088,2624,2.088,2625,2.088,2626,2.088,2627,2.088,2628,2.088,2629,2.088,2630,2.088,2631,2.088,2632,2.088,2633,2.088,2634,2.088,2635,2.088,2636,2.088,2637,2.088,2638,2.088,2639,2.088,2640,2.088,2641,2.088,2642,2.088,2643,2.088,2644,2.088,2645,2.088,2646,2.088,2647,2.088,2648,2.088,2649,2.088,2650,2.088,2651,2.088,2652,2.088,2653,2.088,2654,2.088]],["title/interfaces/RegistrationStateModel.html",[129,0.292,2506,3.249]],["body/interfaces/RegistrationStateModel.html",[0,1.304,1,2.554,3,0.055,4,0.069,5,0.074,6,0.042,8,2.601,9,1.835,11,0.365,12,1.56,14,1.673,15,2.416,16,1.115,18,0.275,19,0.494,20,1.97,22,2.804,23,2.988,29,1.256,33,4.625,35,0.791,37,3.087,40,0.546,41,0.56,43,0.01,44,0.846,45,0.651,47,0.812,48,1.271,49,2.554,50,2.355,53,3.077,55,1.116,56,0.988,59,1.933,65,1.256,69,0.971,75,0.005,80,0.003,83,3.124,84,0.003,86,1.559,88,1.752,90,2.198,91,1.609,96,2.811,99,0.322,102,1.433,104,0.141,105,3.745,106,1.917,107,1.804,108,1.256,109,1.256,110,1.182,112,1.543,113,0.833,114,1.978,115,0.999,118,2.184,119,1.605,120,1.749,129,0.197,130,0.105,132,1.218,133,0.097,134,1.639,139,1.304,140,1.605,141,1.156,142,0.532,155,2.448,156,3.212,160,1.252,161,0.82,162,1.256,163,1.339,164,1.933,165,1.673,166,1.933,167,1.933,168,1.835,169,1.933,170,1.933,173,1.835,174,1.835,181,1.933,185,2.047,188,1.753,195,0.773,208,1.937,212,0.675,245,2.352,246,1.804,256,1.263,257,0.899,262,1.673,287,1.708,297,0.773,299,1.084,308,1.582,326,0.854,333,1.524,334,1.543,335,1.543,337,1.616,359,2.496,382,1.899,387,2.064,390,2.254,400,1.466,435,1.385,466,2.124,493,1.271,511,0.683,612,2.399,614,3.333,621,3.577,629,2.184,635,1.433,636,1.486,659,2.184,661,3.237,662,1.673,679,1.218,712,3.595,785,1.296,813,1.728,816,3.595,820,3.788,848,2.418,875,1.543,902,1.749,944,2.047,960,3.369,961,3.8,962,2.949,1115,1.055,1129,1.933,1225,2.449,1283,2.047,1295,3.313,1343,4.092,1352,1.339,1391,2.184,1397,1.433,1423,2.184,1472,2.356,1477,2.356,1478,2.356,1758,3.623,1808,2.449,1856,1.385,1888,1.933,1926,1.835,1936,2.97,1941,2.187,1943,3.124,1944,1.749,1945,1.749,1952,1.749,1954,1.673,1955,1.605,1956,2.554,1960,2.113,1961,1.433,1962,1.749,1966,1.749,1968,1.749,1974,2.67,2007,1.835,2019,3.237,2024,1.673,2027,2.554,2102,1.749,2122,3.124,2126,1.605,2128,2.449,2134,2.184,2151,5.159,2152,2.047,2161,1.673,2166,3.124,2197,2.047,2208,2.047,2209,2.047,2210,2.047,2214,2.047,2233,1.673,2285,2.047,2286,2.047,2290,1.835,2296,2.047,2304,3.124,2309,2.047,2386,2.356,2427,2.356,2428,6.311,2429,5.937,2430,2.586,2432,2.586,2433,2.586,2438,4.878,2439,2.184,2440,2.586,2441,2.586,2442,2.586,2444,2.586,2448,2.586,2449,3.788,2452,2.356,2453,2.586,2456,2.586,2459,2.586,2461,2.586,2462,4.785,2463,2.586,2464,2.586,2465,2.586,2466,2.184,2467,2.586,2469,2.586,2470,2.586,2472,2.586,2474,3.946,2475,2.586,2476,2.586,2477,2.586,2492,3.595,2495,3.333,2496,2.586,2499,2.586,2500,2.586,2501,2.356,2502,2.586,2503,3.946,2504,2.586,2505,2.184,2506,3.333,2507,6.321,2508,4.785,2509,3.946,2510,3.946,2511,3.946,2512,2.586,2513,2.586,2514,2.586,2515,3.946,2516,2.586,2517,2.586,2518,2.586,2519,2.586,2520,2.586,2521,2.586,2522,2.586,2523,2.586,2524,2.586,2525,2.586,2526,2.356,2527,2.586,2528,2.586,2529,2.586,2530,2.586,2531,2.586,2532,2.586,2533,2.586,2534,2.586,2535,2.586,2536,2.586,2537,2.586,2538,2.586,2539,2.586,2540,2.586,2541,2.586,2542,2.586,2543,2.586,2544,2.586,2545,2.586,2546,2.586,2547,2.586,2548,2.586,2549,2.586,2550,2.586,2551,2.586,2552,2.586,2553,2.586,2554,2.586,2555,2.586,2556,2.586,2557,2.586,2558,2.586,2559,2.586,2560,2.586,2561,2.586,2562,2.184,2563,2.586,2564,2.184,2565,2.047,2566,2.356,2567,2.586,2568,2.586,2569,5.354,2570,5.354,2571,2.586,2572,3.946,2573,2.586,2574,2.586,2575,2.586,2576,2.586,2577,2.586,2578,2.586,2579,2.586,2580,2.586,2581,2.586,2582,2.586,2583,2.586,2584,2.586,2585,2.586,2586,2.356,2587,2.586,2588,2.586,2589,2.586,2590,2.586,2591,2.586,2592,3.946,2593,2.586,2594,2.586,2595,2.586,2596,2.586,2597,2.586,2598,2.586,2599,4.785,2600,2.586,2601,2.586,2602,3.946,2603,3.124,2604,3.946,2605,3.946,2606,2.586,2607,2.586,2608,2.586,2609,2.586,2610,2.586,2611,2.586,2612,2.586,2613,2.586,2614,2.586,2615,2.356,2616,2.586,2617,2.586,2618,2.586,2619,2.586,2620,2.586,2621,2.586,2622,2.586,2623,2.586,2624,2.586,2625,2.586,2626,2.586,2627,2.586,2628,2.586,2629,2.586,2630,2.586,2631,2.586,2632,2.586,2633,2.586,2634,2.586,2635,2.586,2636,2.586,2637,2.586,2638,2.586,2639,2.586,2640,2.586,2641,2.586,2642,2.586,2643,2.586,2644,2.586,2645,2.586,2646,2.586,2647,2.586,2648,2.586,2649,2.586,2650,2.586,2651,2.586,2652,2.586,2653,2.586,2654,2.586]],["title/components/ReviewButtonComponent.html",[196,0.424,505,1.239]],["body/components/ReviewButtonComponent.html",[3,0.11,4,0.078,5,0.081,6,0.119,11,0.615,12,1.18,18,0.315,19,0.546,20,0.84,25,1.24,32,2.506,35,0.592,38,1.928,40,0.92,41,0.944,42,1.151,43,0.01,44,1.072,45,0.725,46,0.897,47,1.177,48,1.405,52,0.976,55,1.209,56,0.981,69,0.454,75,0.005,80,0.004,84,0.004,85,1.348,86,1.505,90,1.517,99,0.262,104,0.161,130,0.078,133,0.239,134,1.017,139,0.548,141,0.874,142,1.066,160,0.788,161,1.133,196,0.787,197,0.905,198,1.24,199,0.952,200,1.054,201,1.054,202,1.027,204,2.95,205,1.994,208,2.079,211,2.236,212,1.116,213,0.819,214,1.336,216,1.336,222,2.707,256,0.78,259,2.348,260,1.24,261,3.683,263,2.054,286,4.278,287,2.28,297,1.909,300,1.474,308,1.239,309,1.772,333,2.468,337,1.424,359,2.299,400,1.336,404,1.239,405,1.205,408,1.53,409,0.861,414,1.478,421,1.392,431,4.027,436,1.435,450,0.724,453,0.724,457,0.883,468,1.054,469,1.736,470,1.054,471,2.043,472,1.054,473,1.054,474,0.952,475,1.054,476,0.928,477,1.85,478,0.952,479,1.054,480,1.336,481,1.85,482,0.952,483,1.757,484,1.054,485,0.952,486,1.054,487,0.952,488,0.905,489,1.054,490,0.952,491,1.054,492,0.952,493,0.952,494,1.054,495,0.952,496,1.027,497,0.928,498,1.054,499,0.952,500,1.556,501,0.928,502,0.952,503,0.952,504,1.85,505,1.844,506,2.532,507,1.556,508,1.37,509,0.952,510,0.928,511,0.78,512,1.054,513,0.928,514,0.905,515,0.952,516,1.054,517,0.952,518,1.054,519,0.952,520,1.054,521,0.952,522,1.24,523,0.952,524,1.405,525,0.952,526,1.054,527,0.952,528,1.303,529,1.054,530,0.952,531,1.054,532,1.054,596,1.35,607,1.994,612,3.624,646,2.691,664,2.876,665,0.952,666,2.876,667,2.541,668,1.274,669,1.239,670,2.174,677,1.405,678,1.85,683,2.541,684,2.118,704,2.417,705,1.64,718,1.834,722,1.763,813,2.003,820,3.452,822,3.973,891,2.417,962,5.266,972,2.95,1008,3.973,1115,1.779,1121,3.973,1237,2.707,1246,2.096,1260,3.951,1294,2.417,1303,2.95,1575,3.683,1653,3.26,1690,5.058,1717,2.691,2245,4.776,2321,2.338,2333,2.495,2343,2.338,2349,4.361,2361,4.361,2362,5.183,2373,1.834,2401,2.691,2402,5.214,2424,2.338,2429,4.722,2466,3.683,2655,5.508,2656,6.224,2657,2.691,2658,4.949,2659,4.949,2660,5.883,2661,5.183,2662,4.361,2663,6.496,2664,6.496,2665,6.929,2666,5.883,2667,5.883,2668,4.949,2669,4.949,2670,3.353,2671,7.251,2672,4.949,2673,3.353,2674,3.353,2675,2.954,2676,4.361,2677,4.949,2678,4.949,2679,4.361,2680,4.949,2681,4.361,2682,3.353,2683,3.973,2684,4.361,2685,3.353,2686,4.949,2687,4.361,2688,3.353,2689,4.949,2690,2.954,2691,3.353,2692,3.353,2693,2.691,2694,2.208,2695,5.883,2696,3.353,2697,2.495,2698,3.353,2699,3.353,2700,3.353,2701,3.353,2702,3.353,2703,4.949,2704,3.353,2705,3.353,2706,3.353,2707,3.353,2708,3.353,2709,2.691,2710,2.691,2711,3.353,2712,3.353,2713,3.353]],["title/modules/ReviewButtonModule.html",[533,1.271,2714,3.045]],["body/modules/ReviewButtonModule.html",[3,0.119,4,0.149,5,0.105,6,0.09,43,0.01,75,0.008,80,0.007,84,0.007,99,0.331,104,0.306,130,0.149,133,0.21,424,1.639,505,2.579,506,2.218,535,1.811,536,2.218,547,2.395,548,1.811,550,2.592,552,2.458,556,2.334,584,5.621,735,2.592,736,2.737,737,2.171,742,4.166,743,3.489,1270,5.621,1680,5.313,1681,4.45,2655,4.202,2656,4.748,2694,4.202,2714,6.256,2715,5.621,2716,5.621,2717,5.621,2718,5.621,2719,6.101,2720,6.38]],["title/components/ReviewModalComponent.html",[196,0.424,508,1.209]],["body/components/ReviewModalComponent.html",[3,0.116,4,0.086,5,0.087,6,0.114,11,0.657,12,1.26,18,0.344,19,0.583,25,1.8,35,0.934,38,1.837,40,1.336,41,1.008,42,0.854,43,0.01,44,1.074,45,0.7,46,0.665,48,1.759,52,1.539,55,0.754,56,0.798,69,0.497,75,0.006,76,2.923,80,0.004,84,0.004,85,0.983,86,1.034,90,1.899,99,0.234,104,0.176,129,0.246,130,0.086,133,0.246,142,1.229,156,1.478,160,0.842,161,0.936,196,0.792,197,0.991,198,1.324,199,1.042,200,1.154,201,1.154,202,1.124,208,2.171,211,2.253,212,1.125,213,0.897,214,1.427,216,1.427,256,0.854,259,1.579,260,1.324,300,1.552,308,1.576,309,2.076,313,2.335,337,1.273,359,2.537,399,1.249,400,1.83,401,2.572,404,1.356,405,1.319,408,1.674,409,1.358,410,3.433,411,1.929,414,1.85,416,2.652,418,2.737,421,1.523,424,0.942,427,3.075,429,1.501,430,4.929,431,1.731,433,3.151,434,1.571,436,1.571,437,1.571,438,2.945,441,1.674,442,2.779,444,2.827,446,2.417,447,2.559,449,2.779,450,1.338,453,1.552,457,0.966,461,2.677,468,1.154,469,1.8,470,1.154,471,2.132,472,1.154,473,1.154,474,1.042,475,1.154,476,1.016,477,1.948,478,1.042,479,1.154,480,1.427,481,1.948,482,1.042,483,1.096,484,1.154,485,1.042,486,1.154,487,1.042,488,0.991,489,1.154,490,1.042,491,1.154,492,1.042,493,1.042,494,1.154,495,1.042,496,1.124,497,1.016,498,1.154,499,1.042,500,1.662,501,1.016,502,1.042,503,1.042,504,1.948,505,1.042,506,2.567,507,1.662,508,1.877,509,1.042,510,1.016,511,0.854,512,1.154,513,1.016,514,0.991,515,1.042,516,1.154,517,1.042,518,1.154,519,1.042,520,1.154,521,1.042,522,1.324,523,1.042,524,1.501,525,1.042,526,1.154,527,1.042,528,1.392,529,1.154,530,1.042,531,1.154,532,1.154,561,2.007,612,2.335,660,3.137,665,1.042,677,1.501,678,1.948,705,1.752,717,2.294,813,1.552,891,3.026,961,3.874,962,3.481,963,3.305,969,2.582,972,3.694,1018,2.731,1115,2.227,1260,4.586,1261,4.611,1314,2.092,1315,2.092,1325,2.335,1368,3.687,1381,3.687,1452,4.611,1574,2.731,1577,3.305,1860,2.187,2245,4.929,2342,4.929,2343,5.012,2350,5.348,2373,2.007,2397,2.559,2399,3.934,2405,4.611,2406,3.233,2449,2.559,2655,5.296,2683,2.945,2693,2.945,2694,5.296,2709,2.945,2710,2.945,2721,4.657,2722,4.974,2723,3.669,2724,5.348,2725,5.286,2726,5.459,2727,4.611,2728,5.459,2729,5.286,2730,4.243,2731,3.669,2732,3.669,2733,3.233,2734,2.945,2735,3.233,2736,3.233,2737,3.233,2738,3.233,2739,3.233,2740,3.233,2741,2.945,2742,3.233,2743,4.657,2744,5.286,2745,5.286,2746,3.669,2747,3.669,2748,5.286,2749,3.233,2750,3.669,2751,3.669]],["title/interfaces/ReviewModalData.html",[129,0.292,2724,3.249]],["body/interfaces/ReviewModalData.html",[3,0.131,4,0.13,5,0.091,6,0.079,11,0.691,18,0.522,19,0.772,25,1.393,35,0.982,40,1.301,41,1.06,43,0.01,44,0.774,45,0.635,48,1.578,56,0.84,75,0.007,80,0.006,84,0.006,90,1.704,99,0.29,104,0.267,129,0.372,130,0.13,133,0.23,142,1.389,160,1.115,161,0.84,195,1.464,196,0.805,208,2.384,211,1.393,212,0.87,214,1.501,216,1.501,259,2.288,308,1.533,309,2.1,337,1.653,359,2.527,424,1.428,430,3.662,469,1.393,506,2.571,508,1.539,660,3.88,665,1.578,677,1.578,678,1.748,813,1.92,891,3.742,961,4.791,972,4.568,1018,4.138,1115,2.754,1260,4.369,1261,5.702,1452,4.138,1574,4.138,1577,3.476,1860,3.314,2245,5.459,2342,4.61,2343,4.883,2350,5.21,2373,3.041,2397,3.878,2399,4.138,2405,5.702,2449,4.883,2655,3.662,2683,5.619,2693,4.463,2694,3.662,2709,4.463,2710,4.463,2721,4.898,2722,4.463,2724,5.702,2726,4.898,2727,4.138,2728,4.898,2730,4.463,2734,4.463,2735,6.168,2736,4.898,2737,4.898,2738,4.898,2739,4.898,2740,4.898,2741,4.463,2742,4.898]],["title/modules/ReviewModalModule.html",[533,1.271,2719,3.045]],["body/modules/ReviewModalModule.html",[3,0.121,4,0.151,5,0.107,6,0.092,43,0.01,75,0.008,80,0.007,84,0.007,99,0.332,104,0.311,130,0.151,133,0.213,424,1.665,506,1.887,508,2.519,535,1.84,536,2.238,547,2.418,548,1.84,550,2.617,552,2.092,556,2.356,562,3.191,563,2.535,735,2.617,736,2.763,737,2.206,1680,5.362,1681,4.52,2373,3.544,2423,5.202,2424,4.52,2425,6.172,2655,4.268,2694,4.268,2719,6.186,2752,5.71,2753,5.71,2754,5.71]],["title/components/RightSidebarComponent.html",[196,0.424,509,1.239]],["body/components/RightSidebarComponent.html",[1,3.875,3,0.099,4,0.086,5,0.087,6,0.102,8,3.209,9,2.306,11,0.659,12,1.717,15,2.302,18,0.346,19,0.585,22,2.386,23,2.849,33,4.501,35,0.937,38,1.581,40,0.986,41,1.011,42,0.858,43,0.01,44,1.075,45,0.616,46,0.668,47,1.232,52,1.074,69,0.499,75,0.006,76,1.74,77,3.162,80,0.006,84,0.004,85,1.155,86,1.215,88,2.658,91,2.442,99,0.272,104,0.177,130,0.086,133,0.247,140,3.398,142,0.668,158,4.092,160,1.082,161,1.167,188,1.19,196,0.699,197,0.995,198,1.329,199,1.047,200,1.159,201,1.159,202,1.13,208,0.995,209,1.584,210,1.584,211,2.254,212,1.124,213,0.901,214,1.432,216,1.432,219,2.789,237,2.96,256,1.445,257,1.13,259,1.584,260,1.329,287,1.668,300,1.557,307,2.789,308,1.558,309,1.519,310,2.901,313,2.744,321,1.101,331,2.198,332,2.103,333,1.805,337,0.758,387,1.401,399,1.255,400,2.024,401,3.206,402,2.306,403,2.306,404,2.975,405,2.233,406,3.543,408,3.285,409,1.745,410,3.796,413,3.034,414,2.239,416,2.27,418,3.18,427,2.659,428,3.398,429,2.044,431,1.74,432,2.198,433,3.162,434,2.659,442,2.789,444,2.42,445,2.137,448,2.503,449,1.939,450,1.669,451,1.801,453,1.893,457,0.971,459,2.428,461,3.44,464,1.867,468,1.668,469,1.804,470,1.159,471,2.137,472,1.159,473,1.159,474,1.047,475,1.159,476,1.021,477,1.954,478,1.047,479,1.159,480,1.432,481,1.954,482,1.047,483,1.101,484,1.159,485,1.047,486,1.159,487,1.047,488,0.995,489,1.159,490,1.047,491,1.159,492,1.047,493,1.047,494,1.159,495,1.047,496,1.13,497,1.021,498,1.159,499,1.047,500,1.668,501,1.021,502,1.047,503,1.047,504,1.954,505,1.047,506,1.544,507,1.668,508,1.021,509,1.929,510,1.021,511,0.858,512,1.159,513,1.021,514,0.995,515,1.047,516,1.159,517,1.047,518,1.159,519,1.047,520,1.159,521,1.047,522,1.329,523,1.047,524,1.506,525,1.047,526,1.159,527,1.047,528,1.397,529,1.159,530,1.047,531,1.159,532,1.159,586,5.358,607,2.137,635,1.801,665,1.047,671,2.744,677,1.506,678,1.954,705,1.758,715,2.572,718,2.901,727,2.306,728,2.428,729,2.428,813,1.329,828,2.428,860,3.948,875,3.572,937,2.96,968,2.572,969,2.973,972,2.198,976,2.572,1210,2.572,1258,4.092,1314,2.103,1315,2.103,1316,2.428,1317,2.744,1325,3.001,1328,3.317,1333,2.744,1381,2.572,1655,2.572,1728,2.96,1729,7.2,1730,5.474,1731,4.674,1744,5.474,1761,2.017,1808,3.716,1810,4.674,1811,4.674,1812,4.258,1813,2.96,1814,3.249,1816,5.474,1818,2.96,1821,3.249,1822,3.249,2505,2.744,2755,5.779,2756,6.795,2757,5.304,2758,5.304,2759,3.687,2760,3.687,2761,3.687,2762,3.687,2763,3.687,2764,3.687,2765,3.687,2766,6.213,2767,3.687,2768,3.687,2769,4.258,2770,3.687,2771,3.687,2772,3.687]],["title/modules/RightSidebarModule.html",[533,1.271,546,3.045]],["body/modules/RightSidebarModule.html",[3,0.106,4,0.133,5,0.093,6,0.081,43,0.01,75,0.008,80,0.006,84,0.006,99,0.342,104,0.273,130,0.133,133,0.187,212,0.706,326,1.653,409,1.822,424,1.458,453,1.227,509,2.542,535,1.612,536,2.065,546,6.368,547,2.231,548,1.612,550,2.414,552,2.29,556,2.174,562,2.944,563,2.221,566,3.74,568,5.694,569,4.558,586,4.226,657,3.74,730,5.934,735,2.414,736,2.549,737,1.933,742,3.88,743,3.106,1832,5.003,1833,6.25,1834,5.003,1835,5.694,1836,4.558,1845,5.694,1851,5.003,2656,4.226,2714,5.934,2755,4.558,2773,5.003,2774,5.003,2775,5.003,2776,5.003,2777,5.934,2778,5.934,2779,5.934,2780,5.934,2781,5.678,2782,5.678,2783,3.74,2784,5.678,2785,5.678,2786,3.74,2787,7.094,2788,4.226,2789,5.678,2790,3.961,2791,5.678,2792,5.678,2793,5.678,2794,7.094]],["title/interfaces/Rotation.html",[129,0.292,511,1.016]],["body/interfaces/Rotation.html",[3,0.098,4,0.123,5,0.086,6,0.074,11,0.652,18,0.493,19,0.744,40,0.976,41,1,43,0.01,44,0.73,45,0.739,47,0.951,56,1.019,69,0.913,71,2.192,75,0.007,80,0.006,84,0.006,85,0.976,86,1.679,99,0.255,104,0.252,129,0.351,130,0.158,133,0.222,139,0.858,141,1.391,142,0.951,160,1.188,161,1.126,195,1.382,196,0.809,209,1.567,210,1.567,211,1.315,212,0.839,214,1.417,216,1.417,258,2.318,259,2.351,321,1.567,382,2.965,387,3.223,390,3.519,429,2.235,466,2.639,469,1.315,510,1.452,511,2.079,548,1.49,596,2.114,664,2.801,665,1.49,666,3.096,667,2.639,668,1.994,669,1.939,670,2.493,677,1.49,678,1.65,679,3.096,683,2.639,843,3.69,888,2.992,1115,1.886,1237,2.87,1294,2.563,1302,3.456,1540,3.281,1544,3.456,1643,3.456,1686,4.948,1815,5.55,2697,3.905,2783,3.456,2795,3.66,2796,3.905,2797,5.945,2798,5.55,2799,4.623,2800,4.212,2801,4.212,2802,4.623,2803,4.212,2804,4.623,2805,4.623,2806,3.905,2807,4.212,2808,4.623,2809,4.212,2810,6.571,2811,7.345,2812,4.212,2813,4.623,2814,6.571,2815,4.623,2816,5.945,2817,5.945,2818,4.212,2819,4.623,2820,4.623,2821,4.623,2822,4.623]],["title/components/RotationSliderComponent.html",[196,0.424,510,1.209]],["body/components/RotationSliderComponent.html",[3,0.065,4,0.08,5,0.083,6,0.11,11,0.743,12,1.204,18,0.323,19,0.557,25,1.265,35,0.609,38,1.76,40,0.939,41,0.963,42,1.175,43,0.01,44,1.08,45,0.686,46,0.915,47,0.915,52,1.003,55,1.038,56,0.994,69,1.024,71,1.835,75,0.005,76,1.626,80,0.004,84,0.004,85,1.224,86,1.595,99,0.191,104,0.165,129,0.231,130,0.118,133,0.241,139,0.563,141,1.337,142,1.084,156,1.388,160,0.952,161,1.058,188,1.63,196,0.792,197,0.93,198,1.265,199,0.978,200,1.084,201,1.084,202,1.056,208,0.93,209,1.508,210,1.508,211,2.242,212,1.119,213,0.842,214,1.363,216,1.363,219,1.812,256,1.391,258,2.231,259,2.187,260,1.265,283,3.011,300,1.498,308,0.963,309,0.842,313,2.231,321,1.029,382,2.45,387,2.663,390,2.909,399,1.173,400,1.363,401,2.481,404,2.706,405,1.815,408,1.572,409,0.885,410,3.027,413,1.683,414,2.093,416,2.161,418,2.64,421,1.43,427,2.999,428,1.885,429,1.989,432,2.054,433,3.011,434,2.559,436,1.475,437,1.475,444,2.727,445,2.034,448,1.626,449,1.812,450,1.291,451,1.683,453,1.291,454,2.404,457,0.907,458,2.404,461,1.745,466,2.575,468,1.084,469,1.756,470,1.084,471,2.07,472,1.084,473,1.084,474,0.978,475,1.084,476,0.954,477,1.88,478,0.978,479,1.084,480,1.363,481,1.88,482,0.978,483,1.029,484,1.084,485,0.978,486,1.084,487,0.978,488,0.93,489,1.084,490,0.978,491,1.084,492,0.978,493,0.978,494,1.084,495,0.978,496,1.056,497,0.954,498,1.084,499,0.978,500,1.588,501,0.954,502,0.978,503,0.978,504,1.88,505,0.978,506,1.47,507,1.588,508,0.954,509,0.978,510,1.822,511,2.081,512,1.084,513,0.954,514,0.93,515,0.978,516,1.084,517,0.978,518,1.084,519,0.978,520,1.084,521,0.978,522,1.265,523,0.978,524,1.434,525,0.978,526,1.084,527,0.978,528,1.33,529,1.084,530,0.978,531,1.084,532,1.084,548,1.697,596,1.388,607,2.034,661,3.011,664,2.481,665,0.978,666,2.732,667,2.575,668,1.31,669,1.273,670,2.209,677,1.434,678,1.88,679,2.096,683,2.338,704,2.467,705,1.674,706,1.812,713,3.326,717,2.155,718,1.885,719,2.404,720,3.011,721,2.404,722,1.812,723,2.404,728,2.27,729,2.27,843,3.6,888,2.88,963,3.158,968,2.404,969,1.815,1115,1.815,1237,2.762,1294,2.467,1302,3.326,1314,2.88,1315,2.88,1316,2.27,1325,3.095,1367,3.158,1368,3.522,1540,3.158,1544,3.326,1643,3.326,1686,4.936,1815,4.449,2697,3.758,2783,5.11,2795,5.412,2796,2.565,2797,3.036,2798,4.899,2799,4.45,2800,4.054,2801,4.054,2802,4.45,2803,4.054,2804,4.45,2805,5.267,2806,3.758,2807,4.054,2808,5.267,2809,4.054,2810,5.799,2811,7.09,2812,4.054,2813,4.45,2814,5.267,2815,3.036,2816,4.45,2817,4.45,2818,4.054,2819,4.45,2820,4.45,2821,5.799,2822,3.036,2823,5.05,2824,5.05,2825,3.446,2826,5.05,2827,3.446,2828,3.446,2829,5.05,2830,4.054,2831,5.05,2832,3.446,2833,3.446,2834,3.036,2835,3.446,2836,4.45,2837,3.446,2838,6.582,2839,5.05]],["title/modules/RotationSliderModule.html",[533,1.271,2777,3.045]],["body/modules/RotationSliderModule.html",[3,0.12,4,0.15,5,0.106,6,0.091,43,0.01,75,0.008,80,0.007,84,0.007,99,0.335,104,0.308,130,0.15,133,0.211,424,1.648,510,2.517,511,1.493,535,1.822,536,2.226,547,2.404,548,1.822,550,2.602,552,2.072,556,2.342,562,3.173,563,2.511,735,2.602,736,2.747,737,2.184,740,5.332,741,4.477,742,4.181,743,3.51,2777,6.174,2783,4.227,2795,4.477,2840,5.655,2841,5.655,2842,5.655,2843,6.418,2844,6.418,2845,7.644,2846,6.418]],["title/injectables/SceneState.html",[0,1.271,92,2.49]],["body/injectables/SceneState.html",[0,1.318,2,1.698,3,0.056,4,0.07,5,0.049,6,0.119,11,0.563,15,2.357,16,1.721,18,0.28,19,0.499,20,2.028,22,2.522,23,2.083,24,4.568,25,1.135,29,2.969,32,2.293,35,0.968,36,2.39,37,3.591,38,1.935,40,0.842,41,0.863,42,1.053,43,0.01,44,0.763,45,0.704,46,0.821,47,1.11,48,1.285,49,3.124,50,2.881,55,1.126,56,0.684,65,1.938,69,0.892,71,1.738,75,0.005,80,0.003,84,0.003,85,0.842,86,0.582,88,2.143,90,2.018,92,2.582,96,3.109,99,0.309,104,0.143,105,3.93,106,1.938,107,1.824,108,1.274,109,1.274,110,1.199,112,2.381,113,0.845,114,1.315,115,1.013,119,1.628,122,2.143,123,2.143,124,2.143,125,2.025,126,2.143,127,2.216,128,1.358,129,0.303,130,0.106,132,1.236,133,0.098,134,1.76,138,3.158,139,1.269,141,1.345,155,2.466,160,0.474,161,0.925,162,1.274,163,1.358,164,1.961,165,1.698,166,1.961,167,1.961,168,1.862,169,1.961,170,1.961,188,2.327,205,1.199,212,0.37,257,0.912,287,1.424,297,1.443,299,1.1,308,1.045,337,0.612,353,3.348,378,1.508,380,2.774,384,3.491,385,2.077,405,2.67,411,3.906,429,1.969,435,3.272,445,2.466,450,0.643,453,0.643,466,1.165,511,1.806,621,2.982,635,1.454,636,1.508,639,1.508,640,1.508,642,1.274,655,1.628,848,1.1,875,2.881,895,3.335,902,4.135,930,1.862,941,5.788,943,2.982,944,2.077,945,2.982,946,2.982,947,2.982,948,3.635,954,1.775,965,2.879,967,4.901,1015,1.315,1073,2.831,1074,2.831,1115,1.627,1165,5.872,1276,3.463,1278,1.628,1325,1.315,1531,2.39,1558,2.39,1862,1.454,1929,2.699,1931,3.158,1932,4.27,1933,3.158,1935,2.982,1941,2.676,1948,1.961,1959,2.077,1960,2.585,1961,1.454,1962,1.775,1973,2.831,2005,3.822,2006,2.077,2007,1.862,2085,2.699,2086,2.077,2089,3.158,2091,2.077,2093,1.775,2153,1.961,2154,2.077,2155,1.961,2157,5.881,2161,3.491,2162,1.961,2169,2.077,2172,2.077,2173,2.077,2207,3.158,2212,2.077,2410,2.39,2415,2.39,2439,2.216,2562,3.37,2564,3.37,2565,3.158,2603,3.158,2830,2.39,2847,2.216,2848,4.528,2849,4.828,2850,4.828,2851,4.828,2852,4.828,2853,4.828,2854,6.111,2855,4.528,2856,3.989,2857,2.977,2858,2.977,2859,3.989,2860,3.989,2861,3.989,2862,5.803,2863,3.989,2864,3.989,2865,5.394,2866,3.989,2867,3.989,2868,3.989,2869,7.683,2870,2.977,2871,2.977,2872,2.977,2873,2.977,2874,2.977,2875,2.977,2876,2.977,2877,2.977,2878,2.977,2879,3.635,2880,2.977,2881,2.977,2882,2.977,2883,2.977,2884,2.977,2885,2.977,2886,4.528,2887,2.977,2888,2.977,2889,2.977,2890,2.977,2891,4.398,2892,2.623,2893,2.39,2894,2.39,2895,2.39,2896,2.216,2897,3.989,2898,2.39,2899,2.623,2900,3.989,2901,2.623,2902,3.989,2903,2.623,2904,2.623,2905,2.623,2906,2.623,2907,2.623,2908,2.623,2909,2.623,2910,3.989,2911,2.623,2912,2.623,2913,2.623,2914,2.623,2915,2.623,2916,3.989,2917,2.623,2918,2.623,2919,2.623,2920,2.623,2921,2.623,2922,2.623,2923,3.989,2924,2.623,2925,2.623,2926,2.623,2927,3.989,2928,2.623,2929,2.623,2930,2.623,2931,3.635,2932,6.547,2933,4.828,2934,2.623,2935,3.989,2936,3.989,2937,2.623,2938,2.623,2939,3.989,2940,3.989,2941,2.623,2942,2.623,2943,2.623,2944,2.623,2945,2.623,2946,2.623,2947,2.623,2948,2.623,2949,2.623,2950,2.623,2951,2.623,2952,2.623,2953,2.623,2954,2.623,2955,2.623,2956,2.623,2957,2.623,2958,2.623,2959,2.623,2960,2.623,2961,3.989,2962,2.623,2963,2.623,2964,2.623,2965,2.623,2966,2.623,2967,2.623,2968,2.623,2969,3.989,2970,2.623,2971,2.623,2972,2.623,2973,2.623,2974,2.623,2975,2.623,2976,2.623,2977,2.623,2978,2.623,2979,2.623,2980,2.623,2981,2.623,2982,2.623,2983,2.623,2984,2.623,2985,2.623,2986,2.623,2987,2.623,2988,2.623,2989,2.623,2990,2.623,2991,2.623,2992,2.623,2993,2.623]],["title/interfaces/SceneStateModel.html",[129,0.292,2896,3.249]],["body/interfaces/SceneStateModel.html",[0,1.446,3,0.063,4,0.079,5,0.055,6,0.048,11,0.419,15,2.291,16,1.28,18,0.316,19,0.548,20,1.739,22,2.407,23,1.887,24,4.572,29,2.524,35,0.877,37,3.275,40,0.626,41,0.642,43,0.01,44,0.469,45,0.591,47,0.9,48,0.956,49,2.831,50,2.611,56,0.509,65,1.441,69,0.798,71,1.82,75,0.005,80,0.004,84,0.004,85,0.626,88,1.942,90,1.807,92,1.92,96,3.085,99,0.317,104,0.162,105,4.053,106,2.125,107,2,108,1.441,109,1.441,110,1.356,112,2.611,113,0.956,114,1.487,115,1.146,119,1.842,122,1.942,123,1.942,124,1.942,125,1.835,126,1.942,127,2.506,128,1.536,129,0.333,130,0.116,132,1.398,133,0.111,134,1.788,138,3.463,139,1.309,141,1.362,155,2.376,160,0.536,161,0.75,162,1.441,163,1.536,164,2.218,165,1.92,166,2.218,167,2.218,168,2.106,169,2.218,170,2.218,188,2.344,195,0.887,205,1.356,212,0.419,257,1.032,287,1.059,297,1.307,299,1.244,308,0.642,337,1.212,353,3.226,378,1.705,380,2.987,384,3.712,385,2.349,405,2.77,411,3.949,429,2.062,435,3.275,445,2,450,0.727,453,0.727,466,1.317,511,1.793,621,3.27,635,1.645,636,1.705,639,1.705,640,1.705,642,1.441,655,1.842,848,1.244,875,2.611,895,2.987,902,4.33,930,2.106,941,6.029,943,3.27,944,2.349,945,3.27,946,3.27,947,3.27,948,3.986,954,2.007,965,2.881,967,3.695,1015,1.487,1073,2.106,1074,2.106,1115,1.21,1165,5.737,1276,3.101,1278,1.842,1325,1.487,1531,2.703,1558,2.703,1862,1.645,1929,2.96,1931,3.463,1932,4.114,1933,3.463,1935,3.27,1941,2.425,1948,2.218,1959,2.349,1960,2.343,1961,1.645,1962,2.007,1973,3.105,2005,2.349,2006,2.349,2007,2.106,2085,2.96,2086,2.349,2089,3.463,2091,2.349,2093,2.007,2153,2.218,2154,2.349,2155,2.218,2157,5.922,2161,3.712,2162,2.218,2169,2.349,2172,2.349,2173,2.349,2207,3.463,2212,2.349,2410,2.703,2415,2.703,2439,2.506,2562,3.695,2564,3.695,2565,3.463,2603,2.349,2830,2.703,2847,2.506,2849,2.967,2850,2.967,2851,2.967,2852,2.967,2853,2.967,2854,4.375,2856,2.967,2859,2.967,2860,2.967,2861,2.967,2862,5.736,2863,2.967,2864,2.967,2865,5.197,2866,2.967,2867,2.967,2868,2.967,2869,7.694,2879,2.703,2891,4.735,2892,2.967,2893,2.703,2894,2.703,2895,2.703,2896,3.695,2897,6.116,2898,2.703,2899,2.967,2900,4.375,2901,2.967,2902,4.375,2903,2.967,2904,2.967,2905,2.967,2906,2.967,2907,2.967,2908,2.967,2909,2.967,2910,4.375,2911,2.967,2912,2.967,2913,2.967,2914,2.967,2915,2.967,2916,4.375,2917,2.967,2918,2.967,2919,2.967,2920,2.967,2921,2.967,2922,2.967,2923,4.375,2924,2.967,2925,2.967,2926,2.967,2927,4.375,2928,2.967,2929,2.967,2930,2.967,2931,3.986,2932,6.792,2933,5.197,2934,2.967,2935,4.375,2936,4.375,2937,2.967,2938,2.967,2939,4.375,2940,4.375,2941,2.967,2942,2.967,2943,2.967,2944,2.967,2945,2.967,2946,2.967,2947,2.967,2948,2.967,2949,2.967,2950,2.967,2951,2.967,2952,2.967,2953,2.967,2954,2.967,2955,2.967,2956,2.967,2957,2.967,2958,2.967,2959,2.967,2960,2.967,2961,4.375,2962,2.967,2963,2.967,2964,2.967,2965,2.967,2966,2.967,2967,2.967,2968,2.967,2969,4.375,2970,2.967,2971,2.967,2972,2.967,2973,2.967,2974,2.967,2975,2.967,2976,2.967,2977,2.967,2978,2.967,2979,2.967,2980,2.967,2981,2.967,2982,2.967,2983,2.967,2984,2.967,2985,2.967,2986,2.967,2987,2.967,2988,2.967,2989,2.967,2990,2.967,2991,2.967,2992,2.967,2993,2.967]],["title/interfaces/SlicesConfig.html",[129,0.292,1934,2.49]],["body/interfaces/SlicesConfig.html",[0,1.153,3,0.047,4,0.059,5,0.041,6,0.036,8,1.073,11,0.311,15,2.043,16,0.953,18,0.235,19,0.437,20,1.62,22,2.394,23,0.953,29,1.073,35,0.443,37,2.869,40,0.466,41,0.478,43,0.01,44,1.006,45,0.685,47,0.718,48,0.711,49,1.429,50,1.318,53,3.994,56,1.217,65,1.073,69,0.95,71,1.759,75,0.004,80,0.003,84,0.003,88,0.98,90,1.981,91,1.424,96,3.112,99,0.302,104,0.12,105,2.487,106,1.696,107,1.596,108,1.073,109,1.073,110,1.01,113,0.711,115,0.853,120,1.494,122,1.55,123,1.55,124,0.98,125,0.926,126,1.55,128,1.808,129,0.329,130,0.158,132,1.04,133,0.082,134,1.443,139,1.339,141,1.307,142,0.718,149,3.328,155,2.827,156,1.979,160,1.283,161,1.246,162,1.073,163,1.143,173,1.567,174,1.567,177,1.748,182,0.876,184,1.748,195,0.66,212,0.492,245,1.424,246,1.596,256,1.575,257,2.267,269,2.609,281,1.429,287,1.912,297,1.47,299,2.976,301,1.371,303,1.429,304,1.269,308,0.755,326,0.73,337,1.01,353,2.167,359,1.667,382,2.526,387,2.746,390,2.999,400,0.677,405,1.765,409,1.434,429,1.992,435,2.318,445,1.596,450,1.313,453,1.206,457,0.66,488,1.828,511,1.681,514,1.507,528,0.66,612,1.75,655,3.326,662,1.429,667,1.55,668,0.953,669,0.926,670,0.926,673,2.801,679,2.039,683,0.98,684,3.334,687,1.224,754,1.371,761,2.241,785,2.855,813,0.993,848,1.815,894,4.518,895,2.006,932,3.072,942,5.039,943,4.004,945,1.651,946,1.651,947,1.651,949,2.609,954,1.494,965,2.317,1015,3.558,1115,0.901,1225,2.687,1237,1.371,1271,3.053,1274,3.894,1276,3.559,1278,1.371,1346,3.656,1347,4.128,1348,3.183,1349,2.801,1352,2.949,1397,1.224,1758,2.929,1759,2.763,1761,3.536,1762,4.004,1763,2.763,1774,1.865,1808,3.326,1856,1.869,1857,2.687,1862,1.224,1894,1.567,1926,1.567,1927,1.651,1928,2.012,1929,3.854,1930,4.257,1931,4.509,1932,4.509,1933,4.509,1934,4.12,1935,4.758,1936,4.047,1937,1.651,1938,4.72,1939,3.18,1940,4.509,1941,1.935,1942,2.477,1943,2.763,1944,1.494,1945,1.494,1946,2.012,1947,1.865,1948,1.651,1949,2.012,1950,1.651,1951,2.012,1952,1.494,1953,2.012,1954,1.429,1955,1.371,1956,2.259,1957,2.012,1958,2.012,1959,1.748,1960,1.869,1961,1.224,1962,1.494,1963,1.429,1964,1.429,1965,1.865,1966,4.036,1967,3.18,1968,3.625,1969,1.865,1970,2.012,1971,2.012,1972,2.012,1973,3.072,1974,2.362,1975,2.012,1976,2.012,1977,2.012,1978,2.012,1979,2.012,1980,2.012,1981,2.012,1982,2.012,1983,2.012,1984,2.012,1985,2.012,1986,2.012,1987,2.012,1988,2.012,1989,2.012,1990,2.012,1991,2.012,1992,2.012,1993,2.012,1994,2.012,1995,2.012,1996,2.012,1997,2.012,1998,1.865,1999,1.865,2000,2.012,2001,2.012,2002,2.012,2003,2.012,2004,2.012,2005,1.748,2006,1.748,2007,1.567,2008,2.012,2009,2.012,2010,3.943,2011,2.012,2012,5.434,2013,2.012,2014,2.012,2015,3.18,2016,2.948,2017,2.012,2018,2.012,2019,4.976,2020,2.012,2021,2.012,2022,2.012,2023,2.012,2024,1.429,2025,2.012,2026,4.481,2027,2.259,2028,2.012,2029,2.012,2030,2.012,2031,1.494,2032,2.012,2033,2.012,2034,3.18,2035,2.012,2036,4.481,2037,2.012,2038,3.18,2039,2.012,2040,2.012,2041,2.012,2042,2.012,2043,2.012,2044,2.012,2045,2.012,2046,2.012,2047,2.012,2048,2.012,2049,2.012,2050,2.012,2051,2.012,2052,2.012,2053,2.012,2054,2.012,2055,2.012,2056,2.012,2057,2.012,2058,3.18,2059,2.012,2060,2.012,2061,2.012,2062,2.012,2063,2.012,2064,2.012,2065,2.012,2066,2.012,2067,2.012,2068,3.18,2069,2.012,2070,2.012,2071,2.012,2072,2.012,2073,2.012,2074,2.012,2075,2.012,2076,2.012,2077,2.012,2078,2.012,2079,2.012,2080,2.012,2081,2.012,2082,2.012,2083,2.012,2084,3.18,2085,1.494,2086,1.748,2087,2.012,2088,1.651,2089,1.748,2090,3.18,2091,3.426,2092,3.18,2093,2.362,2094,3.18,2095,2.012,2096,2.012,2097,2.012,2098,2.012,2099,2.012,2100,2.012,2101,2.012,2102,1.494,2103,2.012,2104,2.012,2105,2.012,2106,2.012,2107,2.012,2108,2.012]],["title/interfaces/SlicesConfig-1.html",[129,0.244,188,1.175,1934,2.075]],["body/interfaces/SlicesConfig-1.html",[3,0.098,4,0.122,5,0.086,6,0.074,11,0.65,18,0.491,19,0.743,40,0.973,41,0.997,43,0.01,44,0.937,45,0.611,47,0.948,55,1.075,56,1.017,69,0.708,71,2.151,75,0.007,80,0.006,84,0.006,85,0.973,86,1.456,99,0.255,104,0.251,128,2.387,129,0.499,130,0.157,133,0.222,134,1.075,139,1.101,141,1.19,160,1.186,161,1.125,182,1.829,195,1.378,196,0.763,209,1.562,210,1.562,211,1.311,212,0.837,214,1.412,216,1.412,256,1.938,259,2.59,260,1.311,321,1.562,337,1.075,359,2.43,469,1.311,513,1.448,514,2.377,596,2.107,658,3.119,660,3.41,661,4.688,662,2.983,664,2.795,665,1.485,666,2.795,667,2.634,668,1.988,669,1.933,670,2.488,674,3.893,675,3.446,676,3.446,677,1.485,678,1.645,679,3.457,680,3.893,681,3.446,683,2.634,684,2.239,685,4.211,686,3.119,687,3.841,688,3.893,689,3.446,692,3.446,693,3.271,700,3.893,750,2.983,813,1.311,1256,4.211,1934,4.484,1940,5.485,1966,5.117,1968,4.851,1974,4.44,2233,2.983,2356,4.2,2786,3.446,2994,3.649,2995,5.543,2996,4.609,2997,4.609,2998,4.609,2999,4.609,3000,4.609,3001,4.2,3002,4.609,3003,6.562,3004,6.562,3005,4.609,3006,5.934,3007,4.609,3008,5.934,3009,4.609,3010,4.609]],["title/components/SlicesInputComponent.html",[196,0.424,513,1.209]],["body/components/SlicesInputComponent.html",[3,0.068,4,0.085,5,0.086,6,0.114,11,0.764,12,1.249,18,0.34,19,0.577,25,1.312,32,2.652,35,0.64,38,1.83,40,0.974,41,0.998,42,1.218,43,0.01,44,1.133,45,0.676,46,0.949,47,0.949,52,1.055,55,1.469,56,1.018,69,0.912,71,1.541,75,0.006,76,1.709,80,0.004,84,0.004,85,1.253,86,1.538,99,0.198,104,0.174,128,2.389,129,0.351,130,0.122,133,0.245,134,0.744,139,0.856,141,1.087,142,0.657,160,0.98,161,1.08,182,1.831,188,1.69,196,0.746,197,0.978,198,1.312,199,1.028,200,1.139,201,1.139,202,1.11,208,0.978,209,1.564,210,1.564,211,2.251,212,1.123,213,0.885,214,1.414,216,1.414,219,1.904,256,1.787,259,2.602,260,1.688,300,1.541,307,1.904,308,0.998,309,0.885,321,1.082,337,1.076,359,2.295,399,1.233,400,1.819,401,2.553,404,1.338,408,1.653,409,0.93,413,1.769,414,1.082,421,1.503,427,1.55,434,2.241,436,1.55,437,1.55,444,2.389,445,1.459,448,1.709,450,0.782,451,1.769,453,1.131,454,2.526,457,0.954,461,1.834,468,1.139,469,1.791,470,1.139,471,2.119,472,1.139,473,1.139,474,1.028,475,1.139,476,1.003,477,1.934,478,1.028,479,1.139,480,1.414,481,1.934,482,1.028,483,1.082,484,1.139,485,1.028,486,1.139,487,1.028,488,0.978,489,1.139,490,1.028,491,1.139,492,1.028,493,1.028,494,1.139,495,1.028,496,1.11,497,1.003,498,1.139,499,1.028,500,1.647,501,1.003,502,1.028,503,1.028,504,1.934,505,1.028,506,1.525,507,1.647,508,1.003,509,1.028,510,1.003,511,0.843,512,1.139,513,1.865,514,2.361,515,1.028,516,1.139,517,1.028,518,1.139,519,1.028,520,1.139,521,1.028,522,1.312,523,1.028,524,1.487,525,1.028,526,1.139,527,1.028,528,1.379,529,1.139,530,1.028,531,1.139,532,1.139,561,1.981,592,2.907,596,1.459,607,2.478,658,2.159,660,1.834,661,4.017,662,2.986,664,2.553,665,1.028,666,2.174,667,2.636,668,1.377,669,1.338,670,2.273,674,3.897,675,3.449,676,4.051,677,1.487,678,1.934,679,3.422,680,3.897,681,3.449,683,2.406,684,2.241,685,4.47,686,3.122,687,3.639,688,3.897,689,3.449,692,2.385,693,2.265,700,3.897,704,2.558,705,1.735,706,1.904,713,4.051,714,3.191,715,2.526,716,3.191,717,2.265,718,1.981,719,2.526,720,2.159,721,2.526,722,1.904,723,2.526,724,3.191,725,2.907,726,2.526,727,2.265,728,2.385,729,2.385,750,2.065,813,1.312,1256,2.265,1325,1.6,1934,4.249,1940,4.986,1966,4.58,1968,3.122,1974,3.667,2233,2.986,2356,4.204,2786,5.279,2834,3.191,2994,5.591,2995,5.015,2996,5.419,2997,5.419,2998,3.191,2999,4.614,3000,4.614,3001,4.204,3002,4.614,3003,5.419,3004,5.419,3005,3.191,3006,4.614,3007,3.191,3008,4.614,3009,5.937,3010,3.191,3011,5.237,3012,3.622,3013,3.622,3014,3.622,3015,5.237,3016,3.622,3017,3.622,3018,3.622,3019,3.622,3020,6.739,3021,5.237,3022,5.237,3023,3.622]],["title/modules/SlicesInputModule.html",[533,1.271,2778,3.045]],["body/modules/SlicesInputModule.html",[3,0.119,4,0.149,5,0.105,6,0.09,43,0.01,75,0.008,80,0.007,84,0.007,99,0.337,104,0.306,130,0.149,133,0.209,212,0.791,326,1.853,424,1.635,513,2.514,514,1.718,535,1.807,536,2.214,547,2.392,548,1.807,550,2.589,552,2.054,556,2.331,562,3.157,563,2.489,734,5.109,735,2.589,736,2.733,737,2.166,738,5.66,739,4.736,740,5.305,741,4.439,742,4.16,743,3.481,744,5.109,2778,6.164,2786,4.191,2994,4.439,3024,5.607,3025,5.607,3026,5.607,3027,7.606]],["title/components/StageNavComponent.html",[196,0.424,515,1.239]],["body/components/StageNavComponent.html",[3,0.051,4,0.064,5,0.069,6,0.119,11,0.832,12,1.007,18,0.397,19,0.466,20,1.058,25,1.058,32,2.139,35,0.481,38,1.945,40,0.785,41,0.805,42,1.556,43,0.01,44,1.09,45,0.736,46,1.213,47,0.766,52,1.7,55,1.375,56,1.054,61,4.072,69,0.368,75,0.004,80,0.003,84,0.003,85,1.244,86,1.411,99,0.16,104,0.131,125,1.005,130,0.099,133,0.22,134,0.868,139,0.445,141,1.032,142,0.766,156,2.695,160,0.93,161,1.011,182,1.477,188,0.878,196,0.771,197,0.734,198,1.058,199,0.772,200,0.855,201,0.855,202,0.834,208,0.734,209,1.262,210,1.262,211,2.193,212,1.097,213,0.665,214,1.14,216,1.14,228,3.722,233,3.391,234,3.722,244,3.605,250,1.897,251,3.411,252,2.397,253,4.753,256,0.633,257,0.834,258,1.866,259,2.34,260,1.857,262,2.953,263,3.144,272,3.144,273,3.144,286,2.782,287,2.104,297,1.995,300,1.298,308,0.805,309,0.665,321,0.812,322,1.791,324,4.163,333,2.152,337,1.557,382,0.951,398,3.722,399,0.926,400,1.948,401,3.202,402,2.641,403,2.641,404,1.913,407,3.605,409,0.699,410,1.377,413,1.329,414,0.812,418,2.287,421,1.753,428,2.832,429,1.657,434,2.217,436,1.164,437,1.164,441,1.241,442,1.43,444,2.664,445,2.352,447,1.897,448,1.993,449,2.723,450,1.445,451,1.329,453,1.508,457,2.172,461,3.388,464,1.377,468,0.855,469,1.584,470,0.855,471,1.836,472,0.855,473,0.855,474,0.772,475,0.855,476,0.753,477,1.628,478,0.772,479,0.855,480,1.14,481,1.628,482,0.772,483,0.812,484,0.855,485,0.772,486,0.855,487,0.772,488,0.734,489,0.855,490,0.772,491,0.855,492,0.772,493,0.772,494,0.855,495,0.772,496,0.834,497,0.753,498,0.855,499,0.772,500,1.328,501,0.753,502,0.772,503,0.772,504,1.628,505,0.772,506,1.23,507,1.328,508,0.753,509,0.772,510,0.753,511,0.633,512,0.855,513,0.753,514,0.734,515,1.657,516,0.855,517,0.772,518,0.855,519,0.772,520,0.855,521,0.772,522,1.058,523,0.772,524,1.199,525,0.772,526,0.855,527,0.772,528,1.762,529,0.855,530,0.772,531,0.855,532,0.855,596,1.096,607,1.702,612,2.287,664,2.624,665,0.772,666,2.898,667,2.284,668,1.034,669,1.005,670,1.913,677,1.199,678,1.628,679,1.129,681,3.845,683,2.026,704,2.063,705,1.4,706,1.43,723,1.897,726,2.946,813,1.749,827,1.791,894,4.513,895,3.753,911,3.391,949,4.163,954,3.087,960,2.529,963,1.701,965,2.15,969,2.772,1015,3.669,1034,2.31,1084,5.865,1237,3.193,1282,6.674,1286,2.518,1292,4.467,1294,2.852,1295,3.388,1322,2.024,1325,2.579,1366,2.024,1367,1.701,1544,3.845,1577,3.238,1626,3.48,1643,4.406,1653,3.411,1660,2.184,1686,2.409,1697,6.372,1757,3.722,1761,1.488,1784,3.391,1785,3.391,1813,3.391,1817,5.196,2126,1.488,2128,1.488,2233,1.551,2586,4.687,2806,5.196,2809,4.687,3028,6.258,3029,2.184,3030,3.722,3031,4.224,3032,4.224,3033,7.575,3034,5.179,3035,4.224,3036,5.179,3037,6.322,3038,5.179,3039,5.179,3040,4.224,3041,4.224,3042,5.838,3043,5.179,3044,5.179,3045,5.179,3046,5.838,3047,5.838,3048,2.72,3049,2.72,3050,4.224,3051,4.224,3052,5.179,3053,5.179,3054,4.563,3055,2.72,3056,2.72,3057,2.72,3058,4.224,3059,4.224,3060,5.179,3061,4.157,3062,5.895,3063,5.179,3064,5.179,3065,4.224,3066,2.72,3067,5.838,3068,4.224,3069,2.72,3070,2.72,3071,2.72,3072,4.224,3073,2.72,3074,4.224,3075,2.72,3076,2.72,3077,2.72,3078,2.72,3079,5.144,3080,5.838,3081,2.72,3082,2.72,3083,2.72,3084,2.72,3085,5.179,3086,2.72,3087,2.72,3088,2.72,3089,2.72,3090,2.72,3091,4.224,3092,2.72,3093,2.72,3094,2.72,3095,2.72,3096,2.72,3097,2.72,3098,2.72,3099,5.838,3100,4.224,3101,2.397,3102,2.72,3103,2.72,3104,2.72,3105,5.179]],["title/modules/StageNavModule.html",[533,1.271,1079,3.045]],["body/modules/StageNavModule.html",[3,0.117,4,0.146,5,0.102,6,0.088,43,0.01,75,0.008,80,0.007,84,0.007,99,0.338,104,0.299,130,0.146,133,0.205,424,1.6,457,1.641,497,2.079,515,2.572,535,1.769,536,2.186,547,2.361,548,1.769,550,2.556,552,2.424,556,2.301,562,3.117,563,2.437,735,2.556,736,2.699,737,2.12,742,4.107,743,3.408,1079,6.233,1084,4.345,1339,6.616,1340,5.489,1683,4.103,1719,5.44,1835,6.028,1836,5.001,1841,5.001,1842,5.001,3028,4.637,3106,5.489,3107,5.489,3108,6.23,3109,5.489,3110,6.23,3111,7.509,3112,6.23,3113,6.23]],["title/modules/StoreModule.html",[533,1.271,1091,3.045]],["body/modules/StoreModule.html",[1,4.147,3,0.111,4,0.138,5,0.097,6,0.084,8,3.113,9,3.696,43,0.01,75,0.008,80,0.006,84,0.006,88,2.845,90,1.811,91,2.614,92,4.147,99,0.343,104,0.284,107,2.93,110,2.381,119,3.233,120,3.524,121,4.745,130,0.17,133,0.195,139,0.967,165,3.371,204,3.524,212,0.735,246,2.93,326,2.118,359,2.172,441,2.697,533,1.721,535,1.678,552,1.908,556,2.229,639,2.993,640,2.993,687,2.887,875,3.824,930,4.548,974,5.209,1091,5.073,1124,4.123,1389,4.4,1400,4.79,1690,4.123,1808,3.233,1881,4.123,1960,3.431,1961,2.887,1962,3.524,2128,3.233,2505,4.4,2727,4.4,2800,4.745,2895,4.745,3114,4.745,3115,5.912,3116,5.209,3117,5.912,3118,5.209,3119,7.435,3120,5.912,3121,5.209,3122,5.912,3123,5.912,3124,5.209,3125,4.745,3126,5.912,3127,5.912,3128,5.912,3129,5.912,3130,5.912,3131,5.912,3132,5.912,3133,5.912,3134,5.912,3135,5.912,3136,5.912,3137,5.209,3138,5.912,3139,5.912,3140,5.912,3141,5.912,3142,5.912]],["title/interfaces/Tag.html",[12,1.041,129,0.292]],["body/interfaces/Tag.html",[3,0.117,4,0.146,5,0.103,6,0.089,8,2.676,11,0.777,12,2.1,18,0.587,19,0.83,43,0.01,45,0.806,69,1.134,70,4.118,71,2.023,75,0.008,77,3.727,80,0.009,84,0.008,116,5.239,117,3.727,129,0.504,130,0.189,140,4.689,143,5.317,155,3.375,156,3.507,158,5.317,189,4.118,195,1.646,278,2.31,400,2.032,1855,4.705,1856,3.55,1937,4.118,3143,4.653,3144,4.653,3145,5.019,3146,5.509]],["title/components/TagListComponent.html",[196,0.424,517,1.239]],["body/components/TagListComponent.html",[3,0.074,4,0.092,5,0.092,6,0.118,8,1.692,11,0.871,12,2.19,18,0.371,19,0.615,25,1.397,30,4.911,33,5.118,35,0.698,38,1.904,40,1.036,41,1.063,42,1.631,43,0.01,44,1.155,45,0.743,46,1.271,47,1.01,52,1.151,55,1.327,56,0.842,66,4.474,69,0.874,71,1.618,75,0.006,80,0.004,84,0.004,85,1.036,86,1.09,99,0.244,104,0.19,116,3.485,130,0.092,133,0.252,134,1.146,140,3.049,141,1.239,142,0.716,143,4.618,145,3.173,158,2.603,160,1.117,161,1.159,181,2.603,196,0.718,197,1.067,198,1.397,199,1.122,200,1.243,201,1.243,202,1.211,208,1.067,209,1.665,210,1.665,211,2.266,212,1.13,213,0.966,214,1.505,216,1.505,256,1.297,259,1.665,260,1.397,300,1.618,308,1.063,309,0.966,321,1.181,387,1.502,390,1.641,399,1.345,400,1.067,406,3.178,407,2.254,409,1.015,429,1.122,432,2.356,450,0.854,453,0.854,457,1.041,468,1.243,469,1.852,470,1.243,471,2.205,472,1.243,473,1.243,474,1.122,475,1.243,476,1.094,477,2.03,478,1.122,479,1.243,480,1.505,481,2.03,482,1.122,483,1.181,484,1.243,485,1.122,486,1.243,487,1.122,488,1.067,489,1.243,490,1.122,491,1.243,492,1.122,493,1.122,494,1.243,495,1.122,496,1.211,497,1.094,498,1.243,499,1.122,500,1.753,501,1.094,502,1.122,503,1.122,504,2.03,505,1.122,506,1.623,507,1.753,508,1.094,509,1.122,510,1.094,511,0.92,512,1.243,513,1.094,514,1.067,515,1.122,516,1.243,517,1.99,518,1.243,519,1.122,520,1.243,521,1.122,522,1.397,523,1.122,524,1.582,525,1.122,526,1.243,527,1.122,528,1.468,529,1.243,530,1.122,531,1.243,532,1.243,596,1.592,607,2.245,642,1.692,664,3.069,665,1.122,666,2.68,667,2.743,668,1.502,669,1.461,670,2.386,677,1.582,678,2.03,683,2.526,704,2.722,705,1.847,706,2.078,964,2.603,969,1.421,1225,3.049,1294,3.425,1314,2.254,1315,2.254,1325,1.746,1483,3.485,1855,3.485,1856,3.046,2405,4.148,2526,3.173,2769,6.852,2788,6.174,3147,5.463,3148,3.483,3149,5.574,3150,6.457,3151,5.574,3152,5.574,3153,6.457,3154,6.457,3155,5.574,3156,3.953,3157,3.953,3158,5.574,3159,3.953,3160,4.474,3161,4.911,3162,5.574,3163,3.953,3164,4.911,3165,3.953,3166,4.474,3167,4.911,3168,3.483,3169,3.953,3170,3.953,3171,3.953,3172,3.953,3173,6.457,3174,3.953,3175,3.953,3176,3.483]],["title/modules/TagListModule.html",[533,1.271,2779,3.045]],["body/modules/TagListModule.html",[3,0.122,4,0.152,5,0.107,6,0.092,12,1.553,43,0.01,75,0.008,80,0.007,84,0.007,99,0.328,104,0.313,130,0.152,133,0.214,424,1.673,517,2.585,535,1.849,536,2.245,547,2.425,548,1.849,550,2.624,552,2.102,556,2.363,562,3.2,563,2.547,735,2.624,736,2.771,737,2.216,2779,6.192,2788,4.847,3147,4.289,3177,5.738,3178,5.738,3179,5.738,3180,6.512,3181,6.793,3182,5.738,3183,6.512]],["title/components/TagSearchComponent.html",[196,0.424,519,1.239]],["body/components/TagSearchComponent.html",[3,0.041,4,0.052,5,0.059,6,0.12,8,0.947,11,0.861,12,2.044,18,0.337,19,0.396,20,1.919,25,0.899,28,4.174,33,4.334,35,0.634,38,1.968,40,0.667,41,0.684,42,1.56,43,0.01,44,1.066,45,0.712,46,1.216,47,0.65,48,1.018,52,1.781,55,1.574,56,1.013,69,0.828,70,2.362,71,1.861,72,4.793,75,0.004,76,3.437,77,5.197,78,2.879,79,2.879,80,0.009,82,3.627,84,0.008,85,1.354,86,1.355,90,1.099,96,1.363,99,0.244,104,0.106,111,1.647,113,0.628,114,0.978,115,0.753,116,3.572,117,4.245,122,2.034,123,2.034,125,1.921,128,1.01,130,0.052,133,0.201,134,1.379,139,1.164,140,3.125,141,1.287,142,0.401,155,0.892,160,1.104,161,1.172,181,1.458,188,1.844,189,1.458,196,0.733,197,0.598,198,0.899,199,0.628,200,0.696,201,1.797,202,0.678,205,1.445,206,2.208,208,0.598,209,1.071,210,1.071,211,2.142,212,1.074,213,0.541,214,0.968,216,0.968,230,2.54,233,2.879,243,3.365,244,3.825,247,2.844,248,2.844,250,2.501,251,1.458,256,0.834,257,1.099,258,1.584,259,1.706,260,1.532,263,3.319,277,2.138,278,2.111,283,2.138,287,1.923,297,1.504,300,1.133,308,0.684,309,0.541,321,0.661,322,1.458,333,1.221,337,0.737,357,1.319,382,0.774,399,0.753,400,1.221,401,1.877,404,1.671,405,1.625,408,1.01,409,0.921,413,1.081,414,0.661,416,0.947,417,1.319,418,2.297,419,2.501,425,1.21,427,2.225,428,2.473,429,1.968,430,2.362,431,2.133,432,2.138,433,1.319,434,1.935,436,0.947,437,0.947,442,1.164,444,2.063,445,2.792,448,2.453,449,1.164,450,0.775,451,1.752,453,0.977,457,0.583,458,3.154,464,1.121,466,0.866,468,0.696,469,1.431,470,0.696,471,1.635,472,0.696,473,0.696,474,0.628,475,0.696,476,0.613,477,1.422,478,0.628,479,0.696,480,0.968,481,1.422,482,0.628,483,0.661,484,0.696,485,0.628,486,0.696,487,0.628,488,0.598,489,0.696,490,0.628,491,0.696,492,0.628,493,0.628,494,0.696,495,0.628,496,0.678,497,0.613,498,0.696,499,0.628,500,1.128,501,0.613,502,0.628,503,0.628,504,1.422,505,0.628,506,1.044,507,1.128,508,0.613,509,0.628,510,0.613,511,0.515,512,0.696,513,0.613,514,0.598,515,0.628,516,0.696,517,0.628,518,0.696,519,1.476,520,0.696,521,0.628,522,0.899,523,0.628,524,1.018,525,0.628,526,0.696,527,0.628,528,0.944,529,0.696,530,0.628,531,0.696,532,0.696,561,3.669,607,1.445,664,1.877,665,0.628,666,1.489,667,2.034,668,0.841,669,0.818,670,1.671,673,1.262,677,1.018,678,1.422,683,2.034,704,1.752,705,1.189,727,1.384,774,2.362,800,2.879,813,1.303,828,1.458,888,2.045,932,2.243,965,1.489,969,1.289,1115,2.411,1208,1.777,1258,4.418,1283,2.501,1286,2.138,1294,2.987,1300,2.879,1303,2.138,1314,2.045,1315,2.045,1316,2.362,1317,1.647,1318,1.777,1319,1.95,1325,2.702,1326,5.17,1331,1.777,1343,3.251,1367,1.384,1374,1.458,1554,1.95,1575,3.869,1577,3.251,1626,2.138,1653,2.978,1655,3.985,1660,1.777,1762,2.362,1808,1.962,1856,2.453,1861,2.978,1902,2.362,1954,1.262,1998,1.647,1999,1.647,2123,3.63,2133,1.458,2159,2.669,2495,3.365,2615,1.777,2749,1.95,2790,5.923,3145,2.879,3147,5.593,3164,3.16,3166,2.879,3167,3.16,3168,1.95,3184,1.777,3185,3.586,3186,3.984,3187,4.522,3188,3.586,3189,5.199,3190,5.199,3191,4.522,3192,4.522,3193,4.522,3194,5.199,3195,5.199,3196,3.586,3197,3.586,3198,3.586,3199,5.199,3200,5.199,3201,3.586,3202,6.931,3203,4.522,3204,4.522,3205,3.586,3206,3.586,3207,2.213,3208,3.586,3209,5.034,3210,2.213,3211,2.213,3212,2.213,3213,2.213,3214,5.034,3215,3.16,3216,2.213,3217,3.586,3218,4.522,3219,2.213,3220,4.522,3221,2.213,3222,2.213,3223,2.669,3224,3.586,3225,3.586,3226,3.586,3227,2.213,3228,3.586,3229,2.213,3230,3.586,3231,3.586,3232,3.586,3233,2.213,3234,3.586,3235,7.426,3236,3.586,3237,2.213,3238,2.213,3239,3.586,3240,2.213,3241,2.213,3242,3.586,3243,3.586,3244,3.586,3245,2.213,3246,3.586,3247,2.213,3248,3.586,3249,3.586,3250,2.213,3251,2.213,3252,3.586,3253,3.586,3254,4.522,3255,3.586,3256,3.586,3257,3.586,3258,2.213,3259,3.16,3260,2.213,3261,3.586,3262,4.91,3263,2.213,3264,2.213,3265,2.213,3266,3.63,3267,1.95,3268,1.95,3269,2.879,3270,2.213,3271,2.213,3272,2.213,3273,2.213,3274,2.213,3275,3.586,3276,4.522,3277,2.213,3278,2.213,3279,2.213,3280,2.213,3281,2.213,3282,2.213,3283,2.213,3284,2.213,3285,2.213,3286,2.213,3287,2.213,3288,2.213,3289,2.213,3290,2.213,3291,2.213,3292,5.199,3293,2.213,3294,2.213,3295,1.95,3296,2.213,3297,2.213,3298,2.213,3299,2.213,3300,2.213,3301,2.213,3302,2.213,3303,2.213,3304,2.213,3305,2.213,3306,2.213,3307,2.213,3308,2.213,3309,3.586,3310,3.586,3311,3.586,3312,2.213,3313,2.213,3314,2.213,3315,3.586,3316,2.213,3317,2.213,3318,2.213,3319,2.213]],["title/modules/TagSearchModule.html",[533,1.271,2780,3.045]],["body/modules/TagSearchModule.html",[3,0.118,4,0.147,5,0.104,6,0.089,12,1.503,43,0.01,75,0.008,80,0.007,84,0.007,99,0.339,104,0.303,130,0.147,133,0.207,424,1.619,519,2.575,535,1.79,536,2.202,547,2.378,548,1.79,550,2.574,552,2.035,556,2.317,560,5.554,561,3.448,562,3.139,563,2.466,735,2.574,736,2.718,737,2.146,738,5.628,739,4.691,1680,5.275,1681,4.397,2133,4.152,2146,6.663,2147,6.663,2780,6.152,2790,4.397,3147,4.152,3320,5.554,3321,5.554,3322,5.554,3323,6.304,3324,7.563,3325,6.304,3326,7.563,3327,6.304]],["title/interfaces/TagSearchResult.html",[117,2.603,129,0.292]],["body/interfaces/TagSearchResult.html",[3,0.119,4,0.148,5,0.104,6,0.09,8,2.714,11,0.788,12,2.083,18,0.595,19,0.837,43,0.01,45,0.764,69,1.027,70,4.998,71,2.189,75,0.008,77,4.524,80,0.01,84,0.009,116,4.746,117,4.524,129,0.508,130,0.19,140,4.151,143,4.177,155,2.554,156,3.057,158,4.177,189,5.544,195,1.67,278,2.804,400,1.712,1855,3.965,1856,2.992,1937,4.998,3143,4.719,3144,4.719,3145,6.092,3146,6.687]],["title/modules/ThemingModule.html",[533,1.271,1092,3.045]],["body/modules/ThemingModule.html",[3,0.126,4,0.157,5,0.11,6,0.095,43,0.01,75,0.008,80,0.007,84,0.007,99,0.297,104,0.322,130,0.157,133,0.221,242,5.274,297,1.767,424,1.723,535,1.905,536,2.285,547,2.467,548,1.905,556,2.404,588,5.168,589,4.993,590,5.386,1092,6.171,3328,5.911,3329,5.911,3330,6.709,3331,7.847,3332,6.709,3333,6.709,3334,6.709]],["title/injectables/ThemingService.html",[0,1.271,242,2.603]],["body/injectables/ThemingService.html",[0,1.694,2,2.397,3,0.079,4,0.098,5,0.069,6,0.121,11,0.895,18,0.395,19,0.642,20,2.186,25,1.458,35,0.743,37,4.153,38,1.974,40,1.082,42,1.759,43,0.01,44,1.052,45,0.753,46,1.482,47,1.418,55,1.608,56,1.269,59,3.832,69,1.181,75,0.006,80,0.004,84,0.004,85,1.52,86,0.822,99,0.22,104,0.202,130,0.136,133,0.284,134,1.48,139,1.336,141,1.179,142,1.055,160,1.204,196,0.759,198,1.458,213,1.027,226,5.18,241,5.593,242,3.468,244,4.46,253,2.768,260,2.009,278,2.15,347,5.359,418,1.856,576,3.128,599,3.703,606,2.505,785,2.57,800,3.374,813,1.458,821,3.703,822,3.374,888,4.312,1106,3.128,1303,4.873,1331,4.67,1345,2.628,1405,4.503,1433,3.374,1484,4.67,1626,3.978,1860,2.505,1869,2.768,1870,2.768,2268,6.083,2676,5.126,3160,4.67,3161,6.891,3209,7.201,3223,4.33,3335,3.374,3336,5.818,3337,8.019,3338,5.818,3339,7.202,3340,7.202,3341,7.202,3342,5.818,3343,4.203,3344,4.203,3345,5.818,3346,4.203,3347,7.561,3348,4.203,3349,5.818,3350,7.202,3351,4.203,3352,5.818,3353,5.126,3354,5.818,3355,5.818,3356,4.203,3357,5.818,3358,4.203,3359,5.818,3360,4.203,3361,4.203,3362,4.203,3363,4.203,3364,4.203,3365,4.203,3366,4.203,3367,3.703,3368,3.703,3369,3.703,3370,4.203,3371,4.203,3372,4.203,3373,4.203,3374,4.203,3375,4.203,3376,4.203,3377,3.703,3378,4.203,3379,4.203,3380,5.818,3381,4.203,3382,4.203,3383,4.203,3384,4.203,3385,4.203,3386,4.203,3387,4.203,3388,4.203]],["title/components/ToggleButtonComponent.html",[196,0.424,521,1.239]],["body/components/ToggleButtonComponent.html",[3,0.061,4,0.077,5,0.08,6,0.118,11,0.722,12,1.162,15,1.419,18,0.308,19,0.537,20,1.993,25,1.221,32,2.467,35,0.58,38,1.921,40,0.906,41,0.929,42,1.133,43,0.01,44,1.037,45,0.653,46,0.883,47,0.883,48,1.383,52,0.956,55,1.531,56,1.087,65,2.085,69,0.787,75,0.005,80,0.003,84,0.003,85,1.277,86,1.343,90,1.493,99,0.243,104,0.158,113,0.932,130,0.077,133,0.237,134,1.321,139,0.95,141,0.861,142,0.595,160,1.024,161,0.878,196,0.759,197,0.886,198,1.221,199,0.932,200,1.032,201,1.032,202,1.006,205,2.59,206,2.838,208,0.886,209,1.455,210,1.455,211,2.232,212,1.118,213,0.802,214,1.315,216,1.315,225,4.658,230,3.14,247,3.516,248,3.516,256,0.764,257,2.437,258,2.84,260,1.221,263,2.987,277,2.904,278,1.8,287,1.827,297,1.53,300,2.232,308,0.929,309,0.802,311,3.633,312,3.046,321,0.98,337,1.412,357,1.957,395,2.052,399,1.117,400,1.315,404,1.213,407,1.872,409,0.843,410,1.662,414,0.98,418,2.566,419,4.791,421,2.022,425,2.665,426,2.892,427,2.085,429,0.932,431,4.037,436,1.405,437,1.405,439,5.776,440,5.776,441,3.491,442,1.726,448,2.299,450,1.389,451,2.38,453,1.554,457,0.864,464,2.467,468,1.032,469,1.721,470,1.032,471,2.022,472,1.032,473,1.032,474,0.932,475,1.032,476,0.909,477,1.827,478,0.932,479,1.032,480,1.315,481,1.827,482,0.932,483,0.98,484,1.032,485,1.95,486,1.032,487,0.932,488,0.886,489,1.032,490,0.932,491,1.032,492,0.932,493,0.932,494,1.032,495,0.932,496,1.006,497,0.909,498,1.032,499,0.932,500,1.532,501,0.909,502,0.932,503,0.932,504,1.827,505,0.932,506,1.419,507,1.532,508,0.909,509,0.932,510,0.909,511,0.764,512,1.032,513,0.909,514,0.886,515,0.932,516,1.032,517,0.932,518,1.032,519,0.932,520,1.032,521,1.825,522,2.196,523,0.932,524,1.383,525,0.932,526,1.032,527,0.932,528,1.283,529,1.032,530,0.932,531,1.032,532,1.032,596,1.322,665,0.932,677,1.383,684,2.085,705,1.615,722,1.726,755,4.664,758,3.38,761,1.498,762,4.324,765,2.904,766,3.911,767,5.161,772,2.562,773,2.838,774,3.209,777,3.178,781,3.209,782,3.626,783,3.626,813,1.721,818,2.443,827,4.234,828,5.381,836,2.635,838,2.443,844,2.892,965,1.362,993,3.209,1001,3.911,1003,3.911,1004,3.911,1010,4.658,1015,3.178,1029,2.635,1034,1.795,1269,6.688,1318,2.635,1325,1.45,1365,2.635,1367,4.295,1483,3.046,1520,2.892,1525,2.892,1526,5.119,1527,5.119,1546,4.293,1574,2.443,1580,4.293,2657,2.635,2661,5.119,2662,4.293,2675,4.293,2684,4.293,2690,2.892,3389,7.34,3390,4.872,3391,3.282,3392,7.196,3393,4.872,3394,5.81,3395,3.282,3396,3.282,3397,3.282,3398,3.282,3399,3.282,3400,3.282,3401,3.282,3402,3.282,3403,5.81,3404,5.81,3405,3.282,3406,3.282,3407,3.282,3408,3.282,3409,3.282,3410,3.282,3411,3.282,3412,3.282,3413,4.872,3414,3.282,3415,4.872,3416,3.282,3417,3.282,3418,3.282]],["title/interfaces/User.html",[129,0.292,333,1.486]],["body/interfaces/User.html",[3,0.08,4,0.099,5,0.07,6,0.06,16,1.616,18,0.399,19,0.647,20,1.47,22,1.409,23,1.616,35,0.751,37,3.415,43,0.01,45,0.532,56,1.147,69,1.183,75,0.006,80,0.005,84,0.005,85,0.791,88,2.295,91,2.108,99,0.315,104,0.204,112,2.236,113,1.207,129,0.393,130,0.137,133,0.14,134,1.206,139,1.098,141,1.036,142,0.771,160,0.934,161,1.295,182,1.487,195,1.12,196,0.652,197,1.148,203,3.165,204,2.535,205,1.713,206,2.865,207,3.863,209,1.27,210,1.27,211,1.682,212,0.835,213,1.04,214,1.148,215,3.414,216,1.148,217,3.414,218,3.414,219,3.084,220,4.422,221,4.422,222,3.208,223,2.966,224,3.668,225,4.198,226,4.588,227,3.414,230,2.077,231,2.801,232,3.414,236,3.414,238,5.39,239,4.709,240,4.709,241,2.966,242,3.497,243,3.165,244,3.345,245,2.413,246,2.363,247,2.326,248,3.208,251,2.801,253,2.801,255,4.709,256,1.562,257,2.058,258,1.879,259,1.752,260,1.47,261,4.365,262,3.345,263,2.435,265,3.414,267,3.414,268,3.414,269,2.801,270,3.414,271,3.165,272,3.165,273,3.165,274,3.414,275,3.414,277,2.535,278,1.571,281,2.425,282,3.414,283,2.535,284,4.997,285,4.709,286,4.422,287,2.276,289,3.414,292,3.414,295,3.414,297,1.768,299,2.167,300,1.066,301,3.208,303,2.425,304,2.154,306,2.966,307,2.236,308,0.811,309,1.04,310,2.326,311,3.668,312,2.659,313,1.879,315,3.414,317,3.414,321,1.27,322,2.801,323,3.165,324,2.801,325,3.414,326,1.238,327,3.165,328,3.414,329,3.165,330,3.165,331,2.535,332,2.425,333,1.996,334,3.806,335,3.806,336,2.966,337,1.206,338,3.414,339,3.414,340,4.709,341,3.414,342,3.414,343,3.414,344,3.414,345,4.709,346,3.414,347,3.165,348,3.414,349,3.414,350,2.659,351,3.414,352,3.414,353,2.326,354,3.414,355,3.414,356,3.414,357,2.535,358,3.414,359,1.27,360,3.414,361,3.414,362,2.966,363,3.414,364,3.414,365,3.414,366,3.414,367,3.414,368,3.414,369,6.58,370,3.414,371,5.39,372,3.414,373,6.458,374,3.414,375,3.165,376,3.414,377,5.987,378,2.154,379,3.414,380,3.975,381,3.414,382,2.051,383,4.709,384,4.588,385,2.966,386,3.414,387,2.229,388,4.709,389,2.425,390,2.435,391,4.709,392,3.414,393,3.165,394,3.414,395,2.659]],["title/interfaces/UserName.html",[129,0.292,2118,3.249]],["body/interfaces/UserName.html",[3,0.099,4,0.123,5,0.087,6,0.075,11,0.656,18,0.496,19,0.747,20,1.323,40,0.981,41,1.006,43,0.01,44,1.257,45,0.615,47,0.957,48,1.923,56,0.797,69,1.149,75,0.007,80,0.006,84,0.006,86,1.324,99,0.283,104,0.253,129,0.354,130,0.158,133,0.223,134,1.085,139,0.863,141,1.442,142,0.957,160,1.191,161,1.13,195,1.39,196,0.766,209,1.576,210,1.576,211,1.323,212,0.842,214,1.425,216,1.425,259,2.594,260,1.323,321,1.576,333,2.546,334,4.39,335,4.39,359,2.023,469,1.323,501,1.461,561,3.704,596,2.126,658,3.147,664,2.811,665,1.498,666,2.811,667,2.649,668,2.006,669,1.95,670,2.503,675,3.476,676,3.476,677,1.498,678,1.66,683,2.649,684,2.259,685,4.235,686,3.147,687,3.854,691,3.682,692,3.476,693,3.3,695,3.928,1115,2.434,1294,3.308,1295,2.673,1844,3.476,2109,3.928,2110,4.651,2111,4.651,2112,4.651,2113,4.651,2114,4.651,2116,4.651,2118,6.4,2120,4.651,2122,3.682,2123,6.004,2124,5.968,2125,5.968,2126,4.091,2128,4.091,2132,4.651,2133,3.476,2134,5.872,2135,5.968,2136,4.651,2137,4.651,2138,4.651,2139,5.968,2140,4.651,2141,4.651,2142,4.651]],["title/components/VideoModalComponent.html",[196,0.424,523,1.239]],["body/components/VideoModalComponent.html",[3,0.075,4,0.094,5,0.092,6,0.116,11,0.498,12,1.341,18,0.376,19,0.62,20,1.409,25,1.409,35,0.994,38,1.879,40,1.046,41,1.072,42,0.931,43,0.01,44,1.101,45,0.64,46,0.726,50,2.957,52,1.637,55,1.336,56,1.163,69,0.542,75,0.006,80,0.004,84,0.004,85,1.046,86,1.1,99,0.246,102,2.747,104,0.192,130,0.094,133,0.254,139,0.655,142,0.726,161,0.982,196,0.797,197,1.081,198,1.409,199,1.136,200,1.259,201,1.259,202,1.227,205,2.265,207,4.282,208,1.081,211,2.268,212,1.13,213,0.979,214,1.518,216,1.518,231,4.644,256,1.308,257,1.723,260,1.409,300,1.629,308,1.072,309,2.091,313,2.484,359,2.219,399,1.363,400,1.081,404,2.078,406,2.283,408,1.827,409,1.445,411,2.105,414,2.106,416,3.179,417,2.387,418,1.768,419,2.792,421,1.662,427,3.018,428,2.19,429,1.597,430,4.892,436,1.713,437,1.713,441,1.827,442,2.105,448,1.889,450,0.865,451,1.955,453,1.215,457,1.054,464,2.027,468,1.259,469,1.861,470,1.259,471,2.217,472,1.259,473,1.259,474,1.136,475,1.259,476,1.108,477,2.044,478,1.136,479,1.259,480,1.518,481,2.044,482,1.136,483,1.196,484,1.259,485,1.136,486,1.259,487,1.136,488,1.081,489,1.259,490,1.136,491,1.259,492,1.136,493,1.136,494,1.259,495,1.136,496,1.227,497,1.108,498,1.259,499,1.136,500,1.768,501,1.108,502,1.136,503,1.136,504,2.044,505,1.136,506,1.637,507,1.768,508,1.108,509,1.136,510,1.108,511,0.931,512,1.259,513,1.108,514,1.081,515,1.136,516,1.259,517,1.136,518,1.259,519,1.136,520,1.259,521,1.136,522,1.409,523,2.002,524,2.512,525,1.136,526,1.259,527,1.136,528,1.481,529,1.259,530,1.136,531,1.259,532,1.259,642,1.713,665,1.136,677,1.597,678,2.044,705,1.864,737,1.363,964,3.704,969,1.439,972,3.353,975,2.979,976,2.792,1050,3.527,1086,5.786,1260,3.207,1261,4.185,1314,2.283,1315,2.283,1322,4.838,1325,2.484,1374,3.704,1577,3.517,1860,2.387,2342,5.073,2343,5.181,2350,5.528,2373,2.19,2397,2.792,2399,4.185,2404,3.527,2722,5.219,2730,4.515,2733,3.527,2734,3.214,2741,3.214,2743,4.955,3061,6.351,3367,6.787,3419,5.725,3420,6.787,3421,7.051,3422,4.003,3423,6.501,3424,4.003,3425,5.624,3426,5.624,3427,5.66,3428,5.66,3429,4.955,3430,5.624,3431,5.624,3432,4.003,3433,4.003,3434,4.003,3435,4.003,3436,5.624,3437,4.003,3438,4.003,3439,4.003,3440,4.003,3441,4.003,3442,4.003,3443,5.728,3444,4.003]],["title/components/VideoModalLauncherComponent.html",[196,0.424,525,1.239]],["body/components/VideoModalLauncherComponent.html",[3,0.08,4,0.099,5,0.096,6,0.111,11,0.729,12,1.399,18,0.551,19,0.647,25,1.47,35,0.751,38,1.767,40,1.091,41,1.118,42,0.989,43,0.01,44,1.12,45,0.657,46,0.771,48,1.665,52,1.238,55,0.874,56,0.886,69,0.576,75,0.006,76,2.007,80,0.005,84,0.005,85,1.248,86,1.313,99,0.254,102,2.865,104,0.204,129,0.393,130,0.099,133,0.258,142,0.771,161,1.093,188,1.373,196,0.808,197,1.148,198,1.47,199,1.207,200,1.337,201,1.337,202,1.303,208,1.148,209,1.752,210,1.752,211,2.278,212,1.135,213,1.04,214,1.584,216,1.584,256,0.989,257,1.303,259,2.162,260,1.47,297,1.545,300,1.682,308,1.38,309,2.219,321,1.27,333,1.996,337,0.874,359,1.27,382,1.487,399,1.448,400,1.148,401,2.435,402,2.659,403,2.659,408,1.94,409,1.507,410,2.154,414,2.005,418,1.879,431,2.007,434,2.511,436,1.82,437,1.82,441,1.94,444,2.676,445,1.713,449,3.084,450,1.267,453,0.919,457,1.12,461,2.154,464,2.154,468,1.337,469,1.903,470,1.337,471,2.276,472,1.337,473,1.337,474,1.207,475,1.337,476,1.177,477,2.111,478,1.207,479,1.337,480,1.584,481,2.111,482,1.207,483,1.27,484,1.337,485,1.207,486,1.337,487,1.207,488,1.148,489,1.337,490,1.207,491,1.337,492,1.207,493,1.207,494,1.337,495,1.207,496,1.303,497,1.177,498,1.337,499,1.207,500,1.845,501,1.177,502,1.207,503,1.207,504,2.111,505,1.207,506,1.708,507,1.845,508,1.177,509,1.207,510,1.177,511,0.989,512,1.337,513,1.177,514,1.148,515,1.207,516,1.337,517,1.207,518,1.337,519,1.207,520,1.337,521,1.207,522,1.814,523,1.665,524,2.52,525,2.055,526,1.337,527,1.207,528,1.545,529,1.337,530,1.207,531,1.337,532,1.337,591,4.091,596,1.713,607,2.363,665,1.207,677,1.665,678,2.111,705,1.944,717,2.659,720,2.535,960,2.865,969,2.108,975,4.365,1086,5.298,1087,5.842,1260,3.345,1374,3.863,1381,5.049,1761,3.672,2373,2.326,2401,3.414,2402,5.81,2424,2.966,3419,5.476,3445,3.747,3446,5.866,3447,8.42,3448,6.715,3449,5.866,3450,7.238,3451,5.866,3452,5.866,3453,4.253,3454,5.866,3455,4.253,3456,4.253,3457,5.866,3458,5.866,3459,4.253,3460,4.253,3461,4.253]],["title/modules/VideoModalLauncherModule.html",[533,1.271,1080,3.045]],["body/modules/VideoModalLauncherModule.html",[3,0.122,4,0.152,5,0.107,6,0.092,43,0.01,75,0.008,80,0.007,84,0.007,99,0.321,104,0.312,130,0.152,133,0.214,309,2.006,424,1.669,524,1.844,525,2.584,535,1.844,536,2.242,547,2.421,548,1.844,550,2.62,552,2.097,556,2.359,562,3.196,563,2.541,735,2.62,736,2.767,737,2.211,1080,6.189,1086,4.278,1087,4.835,3419,4.531,3462,5.724,3463,5.724,3464,5.724,3465,6.496,3466,6.496]],["title/modules/VideoModalModule.html",[533,1.271,3467,3.249]],["body/modules/VideoModalModule.html",[3,0.12,4,0.15,5,0.106,6,0.091,43,0.01,75,0.008,80,0.007,84,0.007,99,0.331,104,0.308,130,0.15,133,0.211,424,1.648,523,2.581,524,1.822,535,1.822,536,2.226,547,2.404,548,1.822,550,2.602,552,2.072,556,2.342,562,3.173,563,2.511,735,2.602,736,2.747,737,2.184,1086,5.034,2373,3.51,2423,5.152,2424,4.477,2425,6.136,3419,4.477,3427,5.152,3467,6.588,3468,5.655,3469,5.655,3470,5.655,3471,7.644,3472,5.655]],["title/interfaces/VisibilityItem.html",[129,0.292,1276,2.295]],["body/interfaces/VisibilityItem.html",[3,0.116,4,0.145,5,0.102,6,0.088,11,0.772,18,0.583,19,0.826,43,0.01,44,1.21,45,0.776,46,1.515,69,1.209,71,2.178,75,0.008,76,3.535,80,0.007,84,0.007,86,1.465,129,0.502,130,0.145,155,3.502,195,1.635,304,3.794,337,1.654,353,4.754,359,1.854,457,1.973,528,1.635,813,1.877,965,3.608,1276,3.94,1278,4.809,1303,4.467,1761,4.571,3473,5.47,3474,5.47,3475,6.602]],["title/components/VisibilityMenuComponent.html",[196,0.424,527,1.239]],["body/components/VisibilityMenuComponent.html",[3,0.053,4,0.067,5,0.072,6,0.116,11,0.882,12,1.044,18,0.562,19,0.483,25,1.097,35,0.504,38,1.886,40,0.814,41,0.835,42,1.586,43,0.01,44,1.116,45,0.719,46,1.236,47,0.794,52,0.83,55,1.577,56,1.196,69,0.722,71,1.956,75,0.005,76,1.345,80,0.003,84,0.003,85,0.814,86,1.6,99,0.202,104,0.137,130,0.067,133,0.224,134,0.9,139,0.716,141,1.057,142,0.517,155,2.952,160,1.167,161,1.03,182,1.531,188,1.932,196,0.627,197,0.769,198,1.097,199,0.809,200,0.896,201,0.896,202,0.873,208,0.769,209,1.308,210,1.308,211,2.203,212,1.102,213,0.697,214,1.182,216,1.182,256,0.663,257,1.634,258,1.934,259,1.593,260,1.097,281,2.497,297,1.153,300,1.336,304,2.217,308,0.835,309,0.697,321,0.851,333,0.97,362,3.72,382,0.996,387,1.083,399,0.97,400,1.182,401,2.484,402,1.782,403,1.782,404,1.618,406,3.041,407,3.041,409,0.732,413,1.392,414,1.593,417,1.699,418,1.259,421,3.24,423,3.72,424,1.659,427,1.22,428,1.559,429,1.833,434,1.22,436,1.874,437,1.874,441,1.998,442,1.498,444,1.3,445,3.231,447,1.988,448,2.516,450,1.293,451,2.605,453,0.946,454,4.504,457,0.75,459,2.884,464,2.217,465,4.281,466,2.086,467,3.72,468,0.896,469,1.618,470,0.896,471,1.882,472,0.896,473,0.896,474,0.809,475,0.896,476,0.789,477,1.677,478,0.809,479,0.896,480,1.182,481,1.677,482,0.809,483,0.851,484,0.896,485,0.809,486,0.896,487,0.809,488,0.769,489,0.896,490,0.809,491,0.896,492,0.809,493,0.809,494,0.896,495,0.809,496,0.873,497,0.789,498,0.896,499,0.809,500,1.377,501,0.789,502,0.809,503,0.809,504,1.677,505,0.809,506,1.275,507,1.377,508,0.789,509,0.809,510,0.789,511,0.663,512,0.896,513,0.789,514,0.769,515,0.809,516,0.896,517,0.809,518,0.896,519,0.809,520,0.896,521,0.809,522,1.097,523,0.809,524,1.243,525,0.809,526,0.896,527,1.699,528,2.26,529,0.896,530,0.809,531,0.896,532,0.896,548,0.809,596,1.148,607,1.764,664,2.681,665,0.809,666,2.213,667,2.341,668,1.083,669,1.053,670,1.97,677,1.243,678,1.677,683,2.086,684,1.874,689,3.941,704,2.139,705,1.451,706,1.498,713,2.884,720,1.699,721,1.988,722,2.302,723,3.054,785,1.934,848,2.835,963,1.782,964,1.877,965,3.577,969,1.916,972,2.61,976,3.054,1034,2.395,1210,1.988,1225,1.559,1246,1.782,1276,4.263,1278,4.91,1286,4.064,1292,2.497,1294,3.747,1295,3.03,1301,3.054,1302,3.941,1303,4.064,1322,2.121,1328,1.782,1364,3.515,1367,2.738,1368,3.054,1544,2.884,1686,1.625,1697,5.7,1758,2.61,1761,4.008,1763,3.72,1786,5.273,1798,2.511,1812,2.288,1817,6.189,1848,6.092,1965,3.259,2122,1.988,2565,4.504,2566,3.515,2931,4.281,3101,2.511,3166,2.288,3223,3.259,3476,5.709,3477,2.511,3478,5.333,3479,4.379,3480,4.379,3481,5.985,3482,4.379,3483,5.985,3484,4.379,3485,3.858,3486,4.379,3487,5.333,3488,4.379,3489,2.85,3490,2.85,3491,2.85,3492,4.379,3493,4.379,3494,2.85,3495,2.85,3496,4.379,3497,4.379,3498,4.379,3499,4.379,3500,2.85,3501,3.858,3502,2.85,3503,4.379,3504,2.85,3505,3.858,3506,4.379,3507,2.85,3508,4.379,3509,4.379,3510,2.85,3511,7.921,3512,2.85,3513,2.511,3514,5.985,3515,2.85,3516,2.85,3517,2.85,3518,6.818,3519,5.333,3520,4.379,3521,5.985,3522,2.85,3523,2.85,3524,5.333,3525,2.85,3526,2.85,3527,2.85,3528,2.85,3529,2.85,3530,2.85,3531,2.85,3532,2.85,3533,2.85]],["title/modules/VisibilityMenuModule.html",[533,1.271,1830,3.045]],["body/modules/VisibilityMenuModule.html",[3,0.121,4,0.151,5,0.106,6,0.092,43,0.01,75,0.008,80,0.007,84,0.007,99,0.332,104,0.311,130,0.151,133,0.213,212,0.804,326,1.885,424,1.662,527,2.583,528,1.704,535,1.837,536,2.237,547,2.416,548,1.837,550,2.615,552,2.089,556,2.354,562,3.189,563,2.532,735,2.615,736,2.761,737,2.203,740,5.359,741,4.515,1830,6.184,1846,6.769,1848,4.817,3476,4.515,3534,5.703,3535,5.703,3536,5.703,3537,6.473,3538,6.473]],["title/components/VisibilityToggleComponent.html",[196,0.424,530,1.239]],["body/components/VisibilityToggleComponent.html",[3,0.07,4,0.087,5,0.088,6,0.115,11,0.666,12,1.277,15,1.99,18,0.351,19,0.591,25,1.342,35,0.66,38,1.845,40,0.996,41,1.021,42,0.869,43,0.01,44,1.079,45,0.704,46,0.677,47,0.971,52,1.088,55,0.768,56,0.809,69,0.725,75,0.006,80,0.004,84,0.004,85,1.345,86,1.516,99,0.203,104,0.179,130,0.087,133,0.248,141,1.279,142,1.312,156,2.915,160,0.595,161,1.093,182,1.873,196,0.784,197,1.009,198,1.342,199,1.061,200,1.175,201,1.175,202,1.145,208,1.009,209,1.599,210,1.599,211,2.256,212,1.125,213,0.913,214,1.446,216,1.446,256,1.246,257,1.641,259,2.249,260,1.342,278,1.979,281,3.054,287,2.15,300,1.568,308,1.021,309,0.913,321,1.116,333,1.823,337,1.101,399,1.272,400,1.846,401,2.837,404,2.313,405,1.343,407,2.131,408,1.705,409,0.96,411,1.964,413,2.616,414,2.042,416,2.292,417,2.227,418,1.65,421,2.223,423,2.606,424,0.96,427,3.097,428,2.044,429,1.52,432,2.227,433,3.192,434,3.097,436,2.292,437,1.599,441,2.443,442,1.964,444,2.856,445,2.521,446,3.527,448,3.225,450,1.477,451,2.616,453,1.157,457,0.984,458,3.735,461,3.169,464,1.892,468,1.175,469,1.813,470,1.175,471,2.15,472,1.175,473,1.175,474,1.061,475,1.175,476,1.034,477,1.968,478,1.061,479,1.175,480,1.446,481,1.968,482,1.061,483,1.116,484,1.175,485,1.061,486,1.175,487,1.061,488,1.009,489,1.175,490,1.061,491,1.175,492,1.061,493,1.061,494,1.175,495,1.061,496,1.145,497,1.034,498,1.175,499,1.061,500,1.684,501,1.034,502,1.061,503,1.061,504,1.968,505,1.061,506,1.559,507,1.684,508,1.034,509,1.061,510,1.034,511,0.869,512,1.175,513,1.034,514,1.009,515,1.061,516,1.175,517,1.061,518,1.175,519,1.061,520,1.175,521,1.061,522,2.172,523,1.061,524,1.52,525,1.061,526,1.175,527,1.061,528,2.333,529,1.175,530,1.941,531,1.175,532,1.175,596,1.505,607,2.157,664,2.598,665,1.061,666,2.223,667,2.674,668,1.42,669,1.381,670,2.313,677,1.52,678,1.968,681,3.527,683,2.448,704,3.339,705,1.775,706,1.964,715,2.606,718,2.044,722,1.964,813,1.342,860,2.781,965,1.551,969,1.343,975,2.781,1019,2.781,1223,4.718,1246,2.336,1294,2.616,1295,2.712,1301,3.735,1314,2.131,1315,2.131,1325,1.65,1328,3.348,1366,2.781,1367,2.336,1544,3.527,1643,3.527,1684,2.999,1686,3.054,1687,5.515,1688,4.718,1690,5.252,1694,3.292,1698,3.292,1717,2.999,1760,4.299,1761,3.423,1784,4.299,1785,4.299,1818,2.999,1850,6.011,2806,3.985,2818,4.299,2836,3.292,3176,3.292,3186,4.718,3476,5.634,3485,6.635,3513,3.292,3539,5.355,3540,5.355,3541,7.236,3542,6.259,3543,5.355,3544,3.736,3545,5.355,3546,3.736,3547,6.259,3548,3.736,3549,3.736,3550,4.718,3551,3.736,3552,3.736,3553,3.736,3554,5.355,3555,3.736]],["title/modules/VisibilityToggleModule.html",[533,1.271,1831,3.045]],["body/modules/VisibilityToggleModule.html",[3,0.122,4,0.152,5,0.107,6,0.092,43,0.01,75,0.008,80,0.007,84,0.007,99,0.328,104,0.312,130,0.152,133,0.214,424,1.669,528,1.711,530,2.584,535,1.844,536,2.242,547,2.421,548,1.844,550,2.62,552,2.097,556,2.359,562,3.196,563,2.541,735,2.62,736,2.767,737,2.211,1723,5.724,1726,5.724,1831,6.189,1850,4.835,3181,6.784,3182,5.724,3476,4.531,3556,5.724,3557,5.724,3558,5.724]],["title/interfaces/XYZTriplet.html",[129,0.292,1936,2.388]],["body/interfaces/XYZTriplet.html",[0,1.148,3,0.047,4,0.058,5,0.041,6,0.035,8,1.067,11,0.31,15,2.039,16,0.947,18,0.234,19,0.435,20,1.616,22,2.39,23,0.947,29,1.067,35,0.44,37,2.861,40,0.463,41,0.475,43,0.01,44,1.004,45,0.706,47,0.715,48,0.707,49,1.421,50,1.31,53,3.989,56,1.215,65,1.067,69,0.948,71,1.226,75,0.004,80,0.003,84,0.003,88,0.975,90,1.976,91,1.417,96,3.109,99,0.301,104,0.12,105,2.478,106,1.688,107,1.589,108,1.067,109,1.067,110,1.004,113,0.707,115,0.848,120,1.486,122,1.543,123,1.543,124,0.975,125,0.921,126,1.543,128,1.799,129,0.328,130,0.158,132,1.034,133,0.082,134,1.44,139,1.338,141,1.305,142,0.715,149,3.318,155,2.822,156,1.972,160,1.281,161,1.244,162,1.067,163,1.137,173,1.558,174,1.558,177,1.738,182,0.871,184,1.738,195,0.656,212,0.49,245,1.417,246,1.589,256,1.5,257,2.264,269,2.597,281,1.421,287,1.907,297,1.465,299,2.973,301,1.363,303,1.421,304,1.262,308,0.752,326,0.726,337,1.006,353,2.157,359,1.662,382,2.755,387,2.994,390,3.27,400,0.673,405,1.759,409,1.429,429,1.988,435,2.309,445,1.589,450,1.31,453,1.202,457,0.656,488,1.824,511,1.678,514,1.065,528,0.656,612,1.742,655,3.316,662,1.421,667,1.543,668,0.947,669,0.921,670,0.921,673,2.791,679,2.032,683,0.975,684,3.329,687,1.217,754,1.363,761,2.942,785,2.848,813,0.988,848,1.808,894,4.51,895,1.997,932,3.06,942,5.03,943,3.993,945,1.641,946,1.641,947,1.641,949,2.597,954,1.486,965,2.31,1015,3.554,1115,1.417,1225,2.677,1237,1.363,1271,3.044,1274,3.882,1276,3.552,1278,1.363,1346,3.643,1347,4.122,1348,3.173,1349,2.791,1352,2.767,1397,1.217,1758,2.918,1759,2.751,1761,3.527,1762,3.993,1763,2.751,1774,1.855,1808,3.316,1856,1.861,1857,3.945,1862,1.217,1894,2.466,1926,1.558,1927,1.641,1928,2,1929,3.844,1930,4.247,1931,4.498,1932,4.498,1933,4.498,1934,3.994,1935,4.75,1936,4.122,1937,1.641,1938,4.712,1939,3.166,1940,4.229,1941,1.926,1942,2.466,1943,2.751,1944,1.486,1945,1.486,1946,2,1947,1.855,1948,1.641,1949,2,1950,1.641,1951,2,1952,1.486,1953,2,1954,1.421,1955,1.363,1956,2.249,1957,2,1958,2,1959,1.738,1960,1.861,1961,1.217,1962,1.486,1963,1.421,1964,1.421,1965,2.935,1966,2.918,1967,2,1968,2.351,1969,1.855,1970,2,1971,2,1972,2,1973,3.06,1974,2.351,1975,2,1976,2,1977,2,1978,2,1979,2,1980,2,1981,2,1982,2,1983,2,1984,2,1985,2,1986,2,1987,2,1988,2,1989,2,1990,2,1991,2,1992,2,1993,2,1994,2,1995,2,1996,2,1997,2,1998,1.855,1999,1.855,2000,2,2001,2,2002,2,2003,2,2004,2,2005,1.738,2006,1.738,2007,1.558,2008,2,2009,2,2010,3.929,2011,2,2012,5.422,2013,2,2014,2,2015,3.166,2016,2.935,2017,2,2018,2,2019,4.972,2020,2,2021,2,2022,2,2023,2,2024,1.421,2025,2,2026,4.467,2027,2.249,2028,2,2029,2,2030,2,2031,1.486,2032,2,2033,2,2034,3.166,2035,2,2036,4.467,2037,2,2038,3.166,2039,2,2040,2,2041,2,2042,2,2043,2,2044,2,2045,2,2046,2,2047,2,2048,2,2049,2,2050,2,2051,2,2052,2,2053,2,2054,2,2055,2,2056,2,2057,2,2058,3.166,2059,2,2060,2,2061,2,2062,2,2063,2,2064,2,2065,2,2066,2,2067,2,2068,3.166,2069,2,2070,2,2071,2,2072,2,2073,2,2074,2,2075,2,2076,2,2077,2,2078,2,2079,2,2080,2,2081,2,2082,2,2083,2,2084,3.166,2085,1.486,2086,1.738,2087,2,2088,1.641,2089,1.738,2090,3.166,2091,3.414,2092,3.166,2093,2.351,2094,3.166,2095,2,2096,2,2097,2,2098,2,2099,2,2100,2,2101,2,2102,1.486,2103,2,2104,2,2105,2,2106,2,2107,2,2108,2]],["title/changelog.html",[2031,2.169,3559,2.921,3560,2.921]],["body/changelog.html",[3,0.119,5,0.035,8,1.496,19,0.236,24,4.514,38,0.499,43,0.008,45,0.194,46,0.389,48,0.992,50,2.682,59,2.301,60,1.495,71,0.537,74,1.721,75,0.004,77,4.644,80,0.007,83,2.437,84,0.002,85,0.399,90,2.412,102,2.745,124,2.486,126,1.367,129,0.444,138,1.495,140,4.973,141,1.275,142,0.925,143,2.301,155,0.863,168,1.34,182,1.784,188,1.128,195,0.564,196,0.495,198,0.876,200,0.674,202,0.657,208,1.377,211,0.876,212,1.07,213,0.524,226,1.993,241,1.495,245,0.77,256,1.029,257,0.657,258,0.947,260,0.537,271,1.595,278,2.227,283,1.278,286,2.301,299,3.087,303,4.391,304,1.769,306,2.437,307,3.168,308,0.843,309,0.524,313,0.947,326,0.624,333,2.333,359,2.471,375,4.931,378,1.085,399,0.73,400,1.517,407,1.222,411,2.682,414,0.64,425,2.42,431,1.649,435,2.407,441,0.978,446,1.412,450,0.463,453,0.755,457,1.343,483,0.64,488,0.943,493,0.609,522,0.876,524,0.609,536,1.485,561,1.172,567,2.185,572,4.203,588,1.412,591,4.915,593,1.889,601,6.492,609,1.412,635,3.348,636,3.653,661,4.53,669,0.792,670,0.792,673,3.624,684,2.579,689,5.42,713,3.36,750,1.222,782,2.601,799,1.721,804,1.721,842,1.34,843,2.42,891,1.707,894,3.768,895,3.944,911,2.805,914,4.951,921,1.889,932,2.185,935,1.721,960,2.161,961,1.34,962,2.301,965,0.89,967,1.595,972,1.278,1003,1.721,1008,1.721,1015,1.544,1061,1.34,1068,1.495,1072,1.172,1117,1.889,1118,1.595,1121,1.721,1124,3.086,1125,1.889,1130,1.412,1131,1.721,1151,2.766,1186,1.721,1193,1.721,1194,1.721,1257,4.203,1258,1.412,1259,1.721,1260,2.523,1274,2.437,1278,1.172,1283,2.437,1286,2.083,1292,1.993,1301,4.203,1302,1.412,1303,2.637,1316,2.301,1326,1.721,1328,1.34,1332,1.889,1347,1.911,1352,2.564,1370,3.079,1378,4.511,1439,2.805,1443,1.721,1484,2.805,1499,2.805,1625,1.889,1641,1.889,1643,1.412,1653,1.412,1655,1.495,1656,5.31,1696,1.889,1700,3.079,1716,3.079,1758,2.083,1759,3.559,1760,1.721,1762,3.36,1807,2.805,1808,2.42,1809,3.079,1817,1.595,1858,1.412,1862,2.492,1867,1.495,1889,1.495,1902,1.412,1917,1.889,1937,1.412,1955,1.172,1973,1.34,2016,2.601,2031,2.637,2126,1.172,2158,4.182,2161,1.993,2162,1.412,2266,1.495,2307,2.601,2342,1.412,2355,3.551,2428,3.551,2449,1.495,2452,1.721,2679,1.889,2681,3.079,2687,3.898,2697,2.601,2727,1.595,2769,2.805,2801,5.101,2803,1.721,2807,1.721,2812,3.551,2879,4.096,3001,1.721,3030,1.889,3054,1.889,3062,1.889,3079,1.889,3137,1.889,3160,1.721,3215,1.889,3223,1.595,3259,3.898,3353,3.079,3369,3.079,3377,3.079,3420,1.889,3428,6.1,3429,5.31,3443,3.898,3475,1.889,3501,1.889,3505,1.889,3550,1.889,3560,2.805,3561,3.898,3562,3.898,3563,4.495,3564,3.495,3565,3.495,3566,6.026,3567,5.838,3568,1.889,3569,1.889,3570,2.144,3571,7.487,3572,2.144,3573,3.495,3574,5.102,3575,3.495,3576,4.424,3577,2.144,3578,3.495,3579,2.144,3580,7.487,3581,2.144,3582,3.495,3583,1.889,3584,2.144,3585,3.079,3586,3.079,3587,3.079,3588,6.626,3589,2.144,3590,2.144,3591,2.144,3592,4.424,3593,3.495,3594,7.214,3595,2.144,3596,3.079,3597,6.039,3598,3.495,3599,5.619,3600,4.424,3601,2.144,3602,3.495,3603,3.495,3604,2.144,3605,2.144,3606,4.424,3607,3.495,3608,4.424,3609,4.424,3610,3.495,3611,2.144,3612,3.495,3613,3.495,3614,6.355,3615,6.026,3616,6.355,3617,3.495,3618,2.144,3619,2.144,3620,2.144,3621,3.495,3622,4.424,3623,4.951,3624,2.144,3625,2.144,3626,2.144,3627,2.144,3628,4.424,3629,2.144,3630,2.144,3631,7.214,3632,3.495,3633,5.619,3634,2.144,3635,3.495,3636,6.026,3637,3.079,3638,2.144,3639,2.144,3640,2.144,3641,3.495,3642,2.144,3643,7.422,3644,2.144,3645,2.144,3646,3.495,3647,2.144,3648,5.102,3649,3.495,3650,4.424,3651,2.144,3652,2.144,3653,2.144,3654,2.144,3655,2.144,3656,7.599,3657,2.144,3658,1.889,3659,2.144,3660,3.495,3661,1.889,3662,2.144,3663,3.495,3664,5.102,3665,5.102,3666,4.424,3667,2.144,3668,2.144,3669,2.144,3670,2.144,3671,4.951,3672,3.898,3673,4.951,3674,2.144,3675,4.424,3676,5.838,3677,7.487,3678,2.144,3679,2.144,3680,3.495,3681,3.898,3682,2.144,3683,2.144,3684,5.619,3685,2.144,3686,2.144,3687,2.144,3688,2.144,3689,3.079,3690,3.079,3691,6.355,3692,5.838,3693,2.144,3694,2.144,3695,2.144,3696,2.144,3697,2.144,3698,4.951,3699,2.144,3700,3.495,3701,3.495,3702,2.144,3703,3.495,3704,3.495,3705,3.495,3706,2.144,3707,2.144,3708,2.144,3709,2.144,3710,1.889,3711,3.495,3712,3.495,3713,3.495,3714,2.144,3715,2.144,3716,2.144,3717,2.144,3718,3.495,3719,2.144,3720,2.144,3721,3.495,3722,3.079,3723,5.102,3724,2.144,3725,4.424,3726,3.495,3727,6.026,3728,3.079,3729,5.102,3730,2.144,3731,2.144,3732,3.495,3733,2.144,3734,2.144,3735,3.495,3736,2.144,3737,2.144,3738,2.144,3739,3.495,3740,2.144,3741,2.144,3742,2.144,3743,2.144,3744,2.144,3745,2.144,3746,2.144,3747,2.144,3748,3.495,3749,2.144,3750,2.144,3751,2.144,3752,4.424,3753,4.424,3754,3.495,3755,1.889,3756,2.144,3757,2.144,3758,2.144,3759,2.144,3760,2.144,3761,3.495,3762,3.495,3763,3.495,3764,4.424,3765,2.144,3766,2.144,3767,2.144,3768,2.144,3769,3.495,3770,5.102,3771,2.144,3772,2.144,3773,4.424,3774,3.495,3775,2.144,3776,2.144,3777,3.495,3778,3.495,3779,5.102,3780,2.144,3781,2.144,3782,2.144,3783,3.495,3784,2.144,3785,2.144,3786,2.144,3787,2.144,3788,2.144,3789,5.102,3790,2.144,3791,4.424,3792,5.102,3793,2.144,3794,4.424,3795,5.619,3796,3.495,3797,3.495,3798,3.495,3799,4.424,3800,5.102,3801,5.619,3802,3.495,3803,4.424,3804,2.144,3805,2.144,3806,6.355,3807,5.102,3808,6.854,3809,2.144,3810,2.144,3811,2.144,3812,3.495,3813,2.144,3814,2.144,3815,2.144,3816,2.144,3817,3.495,3818,2.144,3819,2.144,3820,3.898,3821,3.495,3822,4.424,3823,2.144,3824,2.144,3825,2.144,3826,2.144,3827,2.144,3828,2.144,3829,2.144,3830,2.144,3831,2.144,3832,6.026,3833,4.424,3834,3.495,3835,2.144,3836,2.144,3837,2.144,3838,2.144,3839,4.424,3840,2.144,3841,2.144,3842,3.495,3843,3.495,3844,3.495,3845,4.424,3846,2.144,3847,2.144,3848,2.144,3849,2.144,3850,2.144,3851,2.144,3852,1.889,3853,2.144,3854,2.144,3855,2.144,3856,2.144,3857,2.144,3858,2.144,3859,2.144,3860,2.144,3861,2.144,3862,2.144,3863,2.144,3864,2.144,3865,2.144,3866,2.144,3867,6.626,3868,2.144,3869,3.898,3870,4.424,3871,5.102,3872,3.495,3873,4.424,3874,2.144,3875,2.144,3876,3.495,3877,3.495,3878,2.144,3879,2.144,3880,2.144,3881,3.495,3882,2.144,3883,3.898,3884,2.144,3885,2.144,3886,2.144,3887,2.144,3888,2.144,3889,2.144,3890,2.144,3891,2.144,3892,2.144,3893,2.144,3894,2.144,3895,2.144,3896,2.144,3897,2.144,3898,2.144,3899,2.144,3900,2.144,3901,2.144,3902,2.144,3903,2.144,3904,3.495,3905,2.144,3906,3.495,3907,2.144,3908,3.495,3909,5.102,3910,5.102,3911,3.495,3912,3.495,3913,2.144,3914,2.144,3915,2.144,3916,2.144,3917,1.889,3918,2.144,3919,2.144,3920,2.144,3921,2.144,3922,3.495,3923,7.047,3924,4.424,3925,2.144,3926,3.495,3927,2.144,3928,2.144,3929,2.144,3930,2.144,3931,2.144,3932,2.144,3933,3.495,3934,5.599,3935,3.495,3936,2.144,3937,2.144,3938,2.144,3939,2.144,3940,2.144,3941,4.096,3942,2.144,3943,3.495,3944,2.144,3945,2.144,3946,2.144,3947,3.495,3948,2.144,3949,2.144,3950,2.144,3951,3.495,3952,3.495,3953,3.079,3954,2.144,3955,2.144,3956,2.144,3957,2.144,3958,2.144,3959,2.144,3960,2.144,3961,2.144,3962,2.144,3963,1.889,3964,2.144,3965,2.144,3966,2.144,3967,2.144,3968,2.144,3969,2.144,3970,2.144,3971,1.889,3972,2.144,3973,3.495,3974,2.144,3975,2.144,3976,2.144,3977,2.144,3978,2.144,3979,2.144,3980,2.144,3981,2.144,3982,2.144,3983,2.144,3984,1.889,3985,3.495,3986,2.144,3987,2.144,3988,2.144,3989,2.144,3990,3.495,3991,1.889,3992,2.144,3993,2.144,3994,2.144,3995,2.144,3996,2.144,3997,2.144,3998,2.144]],["title/coverage.html",[3941,4.794]],["body/coverage.html",[0,2.319,1,2.012,5,0.1,6,0.132,7,4.124,8,3.16,9,3.213,10,4.124,12,0.841,43,0.01,45,0.32,75,0.005,80,0.004,84,0.004,88,1.38,91,1.268,92,2.012,117,2.103,129,0.601,131,2.626,133,0.169,141,0.623,142,0.931,196,0.867,197,0.953,203,4.51,242,2.103,245,1.268,301,1.93,309,1.256,333,1.201,336,2.461,405,3.302,409,1.897,429,2.353,466,2.604,474,1.002,476,0.977,478,1.002,480,1.387,482,1.002,485,1.002,487,1.002,490,1.002,492,1.002,495,1.002,497,1.422,499,1.002,501,0.977,502,1.002,503,1.002,505,1.002,508,0.977,509,1.002,510,0.977,511,0.821,513,0.977,515,1.002,517,1.002,519,1.002,521,1.002,523,1.002,525,1.002,527,1.002,530,1.002,572,2.461,576,2.626,580,2.626,583,3.991,586,2.626,602,2.832,603,2.832,655,1.93,656,4.226,657,3.991,658,4.656,672,2.626,748,2.626,749,2.832,753,4.124,758,2.269,777,1.558,792,1.723,863,3.109,875,1.855,978,3.109,1051,2.206,1052,4.424,1058,2.206,1065,2.206,1066,2.206,1084,2.461,1086,3.991,1087,2.626,1111,2.626,1112,4.643,1113,4.124,1114,4.124,1132,2.461,1220,2.832,1221,2.626,1222,3.109,1253,2.832,1254,3.109,1257,2.461,1266,2.206,1267,2.206,1269,2.832,1271,1.93,1272,3.109,1273,3.109,1276,1.855,1279,2.832,1280,2.626,1281,3.109,1342,4.954,1351,2.832,1355,3.109,1381,4.226,1388,2.626,1389,3.824,1390,4.124,1400,2.324,1465,2.832,1467,4.51,1501,2.832,1630,2.832,1631,2.626,1632,3.109,1682,2.832,1683,2.324,1684,4.124,1727,2.832,1728,4.124,1783,7.535,1844,3.384,1848,2.626,1850,2.626,1854,4.863,1856,1.665,1865,2.206,1923,2.626,1924,2.832,1925,2.832,1926,2.206,1927,4.659,1934,2.93,1936,1.93,1960,1.665,1961,3.251,1973,3.213,2109,3.824,2118,2.626,2148,2.461,2149,4.643,2150,4.643,2178,2.461,2243,4.51,2289,2.206,2290,2.206,2337,3.584,2338,2.461,2339,3.109,2397,4.643,2427,4.124,2506,2.626,2655,3.991,2656,2.626,2657,4.124,2694,3.384,2724,2.626,2755,2.832,2783,3.991,2786,3.991,2788,2.626,2790,4.643,2795,4.226,2796,4.51,2798,2.626,2847,4.51,2896,2.626,2994,4.226,2995,2.626,3028,2.626,3029,2.832,3114,2.832,3125,2.832,3143,3.824,3144,3.824,3147,4.659,3148,3.109,3184,5.343,3262,2.832,3266,2.832,3269,2.832,3335,4.124,3389,3.109,3419,3.584,3445,3.109,3473,3.109,3474,3.109,3476,3.584,3477,3.109,3637,3.109,3941,2.832,3984,3.109,3999,3.528,4000,3.528,4001,3.528,4002,3.528,4003,3.528,4004,5.138,4005,7.622,4006,7.811,4007,6.656,4008,3.528,4009,7.075,4010,3.528,4011,3.528,4012,8.552,4013,3.528,4014,3.528,4015,6.656,4016,3.528,4017,3.528,4018,3.528,4019,5.138,4020,3.528,4021,3.528,4022,3.528,4023,3.528,4024,3.528,4025,3.528,4026,3.528,4027,3.528,4028,3.528,4029,3.109,4030,3.528,4031,3.528,4032,3.528,4033,3.528,4034,3.109,4035,3.528,4036,3.528,4037,3.528,4038,3.528,4039,3.528,4040,3.528,4041,3.528,4042,3.528,4043,3.528,4044,3.528,4045,3.528,4046,5.138,4047,5.138,4048,6.656,4049,6.656,4050,3.109,4051,3.528,4052,5.138,4053,3.528,4054,3.528,4055,3.528,4056,5.138,4057,3.528,4058,3.528,4059,3.528,4060,3.528]],["title/dependencies.html",[536,1.53,3661,3.206]],["body/dependencies.html",[5,0.089,22,1.788,43,0.01,72,4.016,75,0.007,80,0.006,84,0.006,102,2.636,104,0.259,107,2.767,110,2.174,111,5.112,113,1.532,260,1.721,536,1.571,558,4.754,566,4.524,567,4.295,612,2.383,635,2.636,668,2.611,669,1.994,670,1.994,737,1.837,934,4.754,935,4.332,1021,4.332,1115,1.939,1129,3.554,1344,4.332,1686,3.077,1947,4.016,2133,3.554,2155,3.554,2438,4.332,2492,4.332,2501,4.332,2893,4.332,2894,4.332,3061,4.332,3116,4.754,3118,4.754,3119,6.052,3121,4.754,3295,4.754,3427,4.332,3472,4.754,3569,6.052,3587,4.754,3596,4.754,3673,6.052,3689,4.754,3722,4.754,3728,4.754,3820,4.754,3869,6.052,4061,5.396,4062,5.396,4063,8.845,4064,5.396,4065,5.396,4066,5.396,4067,5.396,4068,5.396,4069,5.396,4070,5.396,4071,5.396,4072,5.396,4073,7.557,4074,5.396,4075,6.869,4076,5.396,4077,5.396,4078,5.396,4079,5.396,4080,7.557,4081,5.396,4082,5.396,4083,5.396,4084,5.396,4085,5.396,4086,5.396,4087,5.396,4088,5.396,4089,5.396,4090,5.396,4091,6.869,4092,5.396,4093,5.396,4094,5.396,4095,5.396,4096,5.396,4097,6.869,4098,5.396,4099,5.396,4100,5.396,4101,5.396,4102,5.396,4103,5.396,4104,5.396,4105,5.396,4106,5.396,4107,5.396,4108,5.396,4109,5.396,4110,4.754,4111,5.396,4112,5.396,4113,5.396,4114,5.396,4115,5.396,4116,6.869,4117,5.396,4118,5.396,4119,5.396,4120,5.396,4121,5.396,4122,5.396,4123,5.396,4124,5.396,4125,5.396,4126,5.396,4127,5.396,4128,5.396,4129,5.396,4130,5.396,4131,5.396,4132,5.396,4133,5.396,4134,5.396,4135,5.396,4136,5.396,4137,5.396,4138,5.396,4139,5.396,4140,5.396,4141,5.396,4142,5.396,4143,5.396,4144,5.396,4145,5.396,4146,5.396,4147,6.869,4148,5.396,4149,5.396,4150,5.396,4151,5.396,4152,5.396,4153,5.396,4154,5.396,4155,5.396,4156,5.396,4157,5.396,4158,5.396]],["title/miscellaneous/functions.html",[4159,2.397,4160,4.63]],["body/miscellaneous/functions.html",[6,0.121,11,0.816,18,0.617,22,2.177,42,1.981,43,0.01,44,1.185,46,1.544,55,1.75,61,4.582,75,0.008,80,0.007,84,0.007,245,2.361,257,2.375,300,1.942,466,2.569,749,6.221,753,5.273,819,4.326,820,4.582,826,5.787,829,5.787,1342,4.888,1353,5.787,1961,3.208,2149,4.582,2150,5.405,2153,4.326,2160,4.888,2161,4.419,2185,4.888,2847,4.888,2891,5.273,2898,5.273,4029,6.828,4034,6.828,4050,6.828,4159,4.326,4160,5.787,4161,6.569,4162,6.569,4163,5.787,4164,6.569,4165,6.569]],["title/index.html",[18,0.342,2031,2.169,3559,2.921]],["body/index.html",[3,0.156,43,0.008,75,0.008,80,0.006,84,0.006,90,2.172,102,2.77,126,2.219,129,0.475,195,1.494,196,0.551,212,1.146,258,2.505,299,2.857,308,1.082,333,2.632,380,3.589,434,2.428,446,3.736,591,5.65,601,5.276,636,2.872,660,2.872,891,3.462,960,3.462,1257,3.956,1301,4.944,1302,3.736,1378,4.553,2355,5.69,2603,5.394,3428,7.002,3560,4.553,3561,6.246,3562,6.246,3563,6.813,3567,4.998,3568,7.137,3583,6.246,3585,6.246,3586,7.137,3623,4.998,3643,6.813,3658,4.998,3671,7.347,3672,7.137,3676,6.246,3681,4.998,3690,6.246,3692,4.998,3710,6.246,3755,6.246,3953,4.998,3963,4.998,3991,4.998,4166,7.089,4167,7.089,4168,7.089,4169,5.672,4170,5.672,4171,5.672,4172,6.246,4173,5.672,4174,5.672,4175,5.672,4176,7.089,4177,7.089,4178,7.089,4179,7.733,4180,5.672,4181,5.672,4182,7.733,4183,5.672,4184,5.672,4185,7.089,4186,5.672,4187,5.672,4188,5.672,4189,5.672,4190,5.672,4191,5.672,4192,5.672,4193,5.672,4194,5.672,4195,5.672,4196,5.672,4197,5.672,4198,5.672,4199,7.089,4200,5.672,4201,5.672,4202,7.089,4203,5.672,4204,7.089,4205,7.089,4206,5.672,4207,5.672,4208,5.672,4209,5.672,4210,5.672,4211,5.672,4212,5.672,4213,5.672,4214,5.672,4215,5.672,4216,5.672,4217,5.672,4218,5.672,4219,5.672]],["title/license.html",[2031,2.169,3559,2.921,4220,3.206]],["body/license.html",[43,0.008,75,0.008,80,0.007,84,0.007,263,2.657,424,1.644,591,4.466,799,5.14,804,6.547,813,1.604,896,4.003,960,3.728,1257,4.466,1645,5.641,1858,4.217,1861,4.217,2289,4.003,2466,4.765,3698,6.725,3852,6.725,3917,5.641,3934,5.641,3971,5.641,4110,5.641,4172,7.907,4220,5.641,4221,6.403,4222,8.156,4223,6.403,4224,6.403,4225,7.633,4226,6.403,4227,6.403,4228,6.403,4229,6.403,4230,6.403,4231,7.633,4232,6.403,4233,6.403,4234,6.403,4235,6.403,4236,6.403,4237,6.403,4238,6.403,4239,6.403,4240,6.403,4241,6.403,4242,6.403,4243,7.633,4244,6.403,4245,6.403,4246,6.403,4247,6.403,4248,6.403,4249,7.633,4250,6.403,4251,6.403,4252,6.403,4253,6.403,4254,6.403,4255,6.403,4256,6.403,4257,6.403,4258,6.403,4259,6.403,4260,6.403,4261,6.403,4262,6.403,4263,6.403,4264,6.403,4265,6.403,4266,6.403,4267,6.403,4268,6.403,4269,6.403,4270,6.403,4271,6.403,4272,6.403]],["title/modules.html",[535,1.695]],["body/modules.html",[43,0.008,75,0.008,80,0.006,84,0.006,534,4.489,535,1.712,540,4.208,541,4.208,542,4.208,543,4.208,544,4.208,545,4.208,546,4.208,567,5.787,730,4.208,745,4.208,1079,4.208,1080,4.208,1091,4.208,1092,4.208,1127,6.888,1247,4.208,1334,4.208,1674,4.208,1719,3.772,1829,3.973,1830,4.208,1831,4.208,2390,4.208,2714,4.208,2719,4.208,2777,4.208,2778,4.208,2779,4.208,2780,4.208,3467,4.489,3597,8.154,3883,6.488,4273,9.268,4274,7.364]],["title/overview.html",[4275,5.262]],["body/overview.html",[2,2.241,43,0.01,75,0.006,80,0.004,84,0.004,195,1.035,197,1.737,198,0.985,242,3.837,424,1.009,435,1.854,474,1.827,476,2.179,478,2.234,480,2.17,482,2.234,485,2.234,487,2.234,490,2.234,492,2.234,495,2.234,499,2.234,501,2.179,502,2.234,503,2.234,505,2.234,508,2.179,509,2.234,510,2.179,513,2.179,515,2.234,517,2.234,519,2.234,521,2.234,523,2.234,525,2.234,527,2.234,530,2.234,534,6.571,535,1.115,536,1.616,537,3.462,538,3.462,539,3.462,540,5.779,541,5.701,542,5.99,543,5.34,544,6.195,545,5.606,546,6.114,547,1.745,548,1.115,730,5.34,731,3.462,732,3.462,733,3.462,745,4.489,1075,3.462,1076,3.462,1077,3.462,1078,3.462,1079,5.606,1080,5.34,1089,3.462,1090,3.462,1091,4.489,1092,5.145,1247,5.34,1248,3.462,1249,3.462,1250,3.462,1262,3.462,1263,3.462,1264,3.462,1334,5.34,1335,3.462,1336,3.462,1337,3.462,1383,3.462,1384,3.462,1385,3.462,1466,3.154,1674,5.34,1675,3.462,1676,3.462,1677,3.462,1719,5.026,1720,3.462,1721,3.462,1722,3.462,1825,3.462,1826,3.462,1827,3.462,1828,3.462,1829,5.183,1830,5.34,1831,5.489,2143,3.462,2144,3.462,2145,3.462,2390,5.779,2391,3.462,2392,3.462,2393,3.462,2419,3.462,2420,3.462,2421,3.462,2714,5.606,2715,3.462,2716,3.462,2717,3.462,2718,3.462,2719,5.34,2752,3.462,2753,3.462,2754,3.462,2773,3.462,2774,3.462,2775,3.462,2776,3.462,2777,5.34,2778,5.34,2779,5.34,2780,5.34,2840,3.462,2841,3.462,2842,3.462,3024,3.462,3025,3.462,3026,3.462,3106,3.462,3107,3.462,3109,3.462,3177,3.462,3178,3.462,3179,3.462,3320,3.462,3321,3.462,3322,3.462,3328,3.462,3329,3.462,3462,3.462,3463,3.462,3464,3.462,3467,5.49,3468,3.462,3469,3.462,3470,3.462,3534,3.462,3535,3.462,3536,3.462,3556,3.462,3557,3.462,3558,3.462,4275,3.462,4276,5.551,4277,3.93,4278,3.93]],["title/miscellaneous/typealiases.html",[4159,2.397,4279,5.255]],["body/miscellaneous/typealiases.html",[6,0.122,8,3.03,12,1.35,15,2.249,18,0.531,22,2.346,43,0.01,45,0.782,47,1.026,69,0.766,71,1.418,75,0.008,80,0.006,84,0.006,116,4.427,198,1.418,208,1.911,222,4.427,299,2.616,300,1.936,310,3.872,313,2.5,333,2.41,417,3.374,425,3.096,450,1.529,453,1.529,466,3.022,572,5.929,602,4.544,603,6.824,612,2.5,619,4.938,623,6.238,629,5.269,641,6.238,679,2.349,758,3.127,761,2.583,765,3.374,773,3.458,777,3.412,792,3.458,894,3.539,895,3.585,942,4.938,949,4.663,954,4.22,1015,3.575,1051,3.539,1052,3.539,1053,4.037,1054,3.948,1055,3.948,1056,3.728,1058,3.539,1060,4.752,1061,4.427,1062,5.388,1065,3.539,1066,3.539,1069,5.388,1070,3.948,1071,3.948,1072,4.225,1084,3.948,1467,4.212,1489,4.987,1490,6.238,1491,6.238,1492,4.987,1493,6.238,1494,4.987,1495,6.238,1496,4.987,1497,4.987,1498,4.987,1499,4.544,1923,4.212,1924,4.544,1925,5.683,1927,3.728,1935,4.663,1969,4.212,2233,3.228,3028,4.212,3029,5.683,3143,4.212,3144,5.269,4159,3.728,4280,5.66,4281,8.333,4282,7.49,4283,6.806,4284,5.66,4285,5.66,4286,5.66,4287,6.238,4288,5.66]],["title/miscellaneous/variables.html",[4159,2.397,4289,4.63]],["body/miscellaneous/variables.html",[1,1.957,6,0.117,14,1.957,18,0.322,42,0.799,43,0.01,44,1.267,45,0.739,47,1.191,70,2.261,71,1.262,75,0.005,77,3.556,80,0.006,84,0.005,85,1.627,86,1.654,88,1.343,90,1.543,91,1.234,92,1.957,117,2.046,128,1.566,132,1.425,133,0.196,141,1.054,165,1.957,189,2.261,204,5.43,213,0.839,226,2.872,245,1.234,246,1.383,256,0.799,297,0.904,301,2.754,303,5.182,304,1.738,326,0.999,350,5.691,382,1.761,387,1.914,390,2.09,405,1.234,409,1.532,414,1.025,429,2.145,450,1.511,453,1.511,511,1.172,514,0.927,576,3.748,655,1.877,656,2.394,657,2.261,658,3.917,671,2.555,672,3.748,673,3.401,679,2.09,748,3.748,750,1.957,754,1.877,758,2.224,777,2.634,875,1.805,965,1.425,969,1.234,1052,2.146,1056,2.261,1111,2.555,1112,2.394,1113,2.755,1114,4.042,1115,2.143,1118,2.555,1126,6.774,1130,2.261,1131,2.755,1132,3.512,1133,3.024,1134,7.992,1135,3.024,1136,3.024,1137,3.024,1138,4.437,1139,3.024,1140,3.024,1141,3.024,1142,3.024,1143,3.024,1144,3.024,1145,5.789,1146,5.789,1147,6.164,1148,6.164,1149,2.755,1150,3.024,1151,4.375,1152,3.024,1153,3.024,1154,3.024,1155,4.042,1156,4.042,1157,4.437,1158,3.024,1159,3.024,1160,3.024,1161,3.024,1162,6.164,1163,3.024,1164,4.437,1165,2.555,1166,3.024,1167,3.024,1168,3.024,1169,3.024,1170,3.024,1171,3.024,1172,3.024,1173,3.024,1174,3.024,1175,3.024,1176,3.024,1177,5.789,1178,4.437,1179,3.024,1180,3.024,1181,3.024,1182,3.024,1183,4.437,1184,3.024,1185,3.024,1186,2.755,1187,3.024,1188,3.024,1189,3.024,1190,3.024,1191,3.024,1192,4.437,1193,4.042,1194,2.755,1195,3.024,1196,2.755,1197,3.024,1198,3.024,1199,3.024,1200,3.024,1201,3.024,1202,3.024,1203,3.024,1204,5.789,1205,3.024,1206,3.024,1207,5.789,1208,2.755,1209,3.024,1210,2.394,1211,3.024,1212,3.024,1213,5.255,1214,3.024,1215,4.437,1216,3.024,1217,3.024,1218,3.024,1219,3.024,1266,3.149,1267,3.729,1342,2.555,1345,3.149,1351,4.042,1352,2.998,1400,2.261,1467,2.555,1500,3.024,1501,4.042,1502,3.024,1503,3.024,1854,2.261,1865,2.146,1868,2.394,1869,3.317,1870,3.317,1871,2.394,1872,2.394,1927,2.261,1934,1.957,1942,2.146,1960,1.619,1966,2.046,1968,2.046,1974,3.002,2495,2.555,2783,2.261,2786,2.261,2790,2.394,2795,2.394,2796,3.748,2798,3.748,2994,2.394,2995,3.748,3114,2.755,3124,3.024,3125,4.042,3147,2.261,3184,5.274,3214,3.024,3262,4.042,3266,4.042,3267,3.024,3268,3.024,3269,4.042,3335,2.755,3368,3.024,4159,2.261,4163,4.437,4282,3.024,4283,3.024,4287,3.024,4289,3.024,4290,3.433,4291,3.433,4292,3.433,4293,5.964,4294,3.433,4295,3.433,4296,5.036,4297,3.433]]],"invertedIndex":[["",{"_index":43,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":429,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["0.063rem",{"_index":3317,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["0.075rem",{"_index":3552,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["0.1.0",{"_index":3990,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":4158,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":4099,"title":{},"body":{"dependencies.html":{}}}],["0.1rem",{"_index":1319,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{}}}],["0.1s",{"_index":3533,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["0.2.0",{"_index":3985,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":4117,"title":{},"body":{"dependencies.html":{}}}],["0.25rem",{"_index":1367,"title":{},"body":{"components/HeaderComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["0.25s",{"_index":3105,"title":{},"body":{"components/StageNavComponent.html":{}}}],["0.2rem",{"_index":452,"title":{},"body":{"components/AppComponent.html":{}}}],["0.2s",{"_index":3553,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["0.313rem",{"_index":3318,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["0.375rem",{"_index":1811,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["0.3rem",{"_index":1318,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["0.3s",{"_index":3532,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["0.4s",{"_index":3531,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["0.5",{"_index":376,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["0.5.0",{"_index":3973,"title":{},"body":{"changelog.html":{}}}],["0.5rem",{"_index":428,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["0.5s",{"_index":422,"title":{},"body":{"components/AppComponent.html":{}}}],["0.6.0",{"_index":3953,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0.625rem",{"_index":2838,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["0.6s",{"_index":438,"title":{},"body":{"components/AppComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{}}}],["0.75rem",{"_index":727,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RightSidebarComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{}}}],["0.9rem",{"_index":1821,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["0/1",{"_index":4009,"title":{},"body":{"coverage.html":{}}}],["0/15",{"_index":4008,"title":{},"body":{"coverage.html":{}}}],["0/16",{"_index":4000,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":4004,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":4027,"title":{},"body":{"coverage.html":{}}}],["0/5",{"_index":4003,"title":{},"body":{"coverage.html":{}}}],["0/8",{"_index":4028,"title":{},"body":{"coverage.html":{}}}],["01",{"_index":3607,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":3840,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":3795,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":3633,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":3770,"title":{},"body":{"changelog.html":{}}}],["05rem",{"_index":3418,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["06",{"_index":3574,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":3566,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":3935,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":3599,"title":{},"body":{"changelog.html":{}}}],["0rem",{"_index":419,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{}}}],["1",{"_index":188,"title":{"components/ContentComponent-1.html":{},"interfaces/SlicesConfig-1.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["1.0",{"_index":375,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["1.0.0",{"_index":3923,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":4096,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":4103,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":4154,"title":{},"body":{"dependencies.html":{}}}],["1.0625rem",{"_index":3413,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["1.1.0",{"_index":3904,"title":{},"body":{"changelog.html":{}}}],["1.125rem",{"_index":3555,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["1.16.0",{"_index":4133,"title":{},"body":{"dependencies.html":{}}}],["1.1875rem",{"_index":2768,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["1.19.0",{"_index":4098,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":3869,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":4106,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":4135,"title":{},"body":{"dependencies.html":{}}}],["1.25rem",{"_index":2836,"title":{},"body":{"components/RotationSliderComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["1.2rem",{"_index":443,"title":{},"body":{"components/AppComponent.html":{}}}],["1.3.5",{"_index":3839,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":3820,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":4120,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":3794,"title":{},"body":{"changelog.html":{}}}],["1.5rem",{"_index":461,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["1.6.0",{"_index":3779,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":3769,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":4107,"title":{},"body":{"dependencies.html":{}}}],["1.9375rem",{"_index":2767,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["1/1",{"_index":4012,"title":{},"body":{"coverage.html":{}}}],["1/2",{"_index":4033,"title":{},"body":{"coverage.html":{}}}],["1/3",{"_index":4024,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":673,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["10.0.0",{"_index":4115,"title":{},"body":{"dependencies.html":{}}}],["10.5rem",{"_index":1321,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["10/12",{"_index":4011,"title":{},"body":{"coverage.html":{}}}],["100",{"_index":405,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["1000",{"_index":902,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["10x",{"_index":3915,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":3822,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":4136,"title":{},"body":{"dependencies.html":{}}}],["11/18",{"_index":4043,"title":{},"body":{"coverage.html":{}}}],["118",{"_index":2967,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["12",{"_index":3567,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":4138,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":4063,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":4067,"title":{},"body":{"dependencies.html":{}}}],["12/12",{"_index":4053,"title":{},"body":{"coverage.html":{}}}],["12/22",{"_index":4002,"title":{},"body":{"coverage.html":{}}}],["13",{"_index":3713,"title":{},"body":{"changelog.html":{}}}],["13/13",{"_index":4047,"title":{},"body":{"coverage.html":{}}}],["13/16",{"_index":4036,"title":{},"body":{"coverage.html":{}}}],["14",{"_index":3634,"title":{},"body":{"changelog.html":{}}}],["14/17",{"_index":4031,"title":{},"body":{"coverage.html":{}}}],["14rem",{"_index":463,"title":{},"body":{"components/AppComponent.html":{}}}],["15",{"_index":3575,"title":{},"body":{"changelog.html":{}}}],["15.126.1",{"_index":4062,"title":{},"body":{"dependencies.html":{}}}],["15/15",{"_index":4058,"title":{},"body":{"coverage.html":{}}}],["15rem",{"_index":426,"title":{},"body":{"components/AppComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["16",{"_index":3754,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":4109,"title":{},"body":{"dependencies.html":{}}}],["16.5rem",{"_index":3103,"title":{},"body":{"components/StageNavComponent.html":{}}}],["16/17",{"_index":4045,"title":{},"body":{"coverage.html":{}}}],["17",{"_index":3622,"title":{},"body":{"changelog.html":{}}}],["17/17",{"_index":4037,"title":{},"body":{"coverage.html":{}}}],["18/18",{"_index":4019,"title":{},"body":{"coverage.html":{}}}],["180",{"_index":2989,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["18rem",{"_index":3528,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["1px",{"_index":1365,"title":{},"body":{"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["1rem",{"_index":410,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["1s",{"_index":966,"title":{},"body":{"components/ContentComponent.html":{}}}],["2",{"_index":435,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"overview.html":{}}}],["2.0.0",{"_index":3753,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":4112,"title":{},"body":{"dependencies.html":{}}}],["2.0625rem",{"_index":3412,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["2.06rem",{"_index":3554,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["2.1.0",{"_index":3728,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":3722,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.25rem",{"_index":1246,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewButtonComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["2.3.0",{"_index":3718,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":3712,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":3705,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":3689,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.5rem",{"_index":1322,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/StageNavComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["2.6.7",{"_index":4139,"title":{},"body":{"dependencies.html":{}}}],["2.688rem",{"_index":460,"title":{},"body":{"components/AppComponent.html":{}}}],["2.75rem",{"_index":2832,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["2.8.5",{"_index":4105,"title":{},"body":{"dependencies.html":{}}}],["2.9rem",{"_index":456,"title":{},"body":{"components/AppComponent.html":{}}}],["2.awsapprunner.com",{"_index":4193,"title":{},"body":{"index.html":{}}}],["2/2",{"_index":4052,"title":{},"body":{"coverage.html":{}}}],["20",{"_index":1763,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["200",{"_index":2969,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["2019",{"_index":3934,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":3871,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":3677,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":3588,"title":{},"body":{"changelog.html":{}}}],["2023",{"_index":3565,"title":{},"body":{"changelog.html":{}}}],["21",{"_index":3771,"title":{},"body":{"changelog.html":{}}}],["210",{"_index":2968,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["21rem",{"_index":1824,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["22",{"_index":3925,"title":{},"body":{"changelog.html":{}}}],["24",{"_index":3974,"title":{},"body":{"changelog.html":{}}}],["24px",{"_index":1820,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["24px.svg",{"_index":1213,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["25",{"_index":2966,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["25.5rem",{"_index":415,"title":{},"body":{"components/AppComponent.html":{}}}],["250",{"_index":2742,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["255",{"_index":2869,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["25rem",{"_index":1379,"title":{},"body":{"components/HeaderComponent.html":{}}}],["25s",{"_index":3414,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["26",{"_index":3796,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":3825,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":3600,"title":{},"body":{"changelog.html":{}}}],["27rem",{"_index":1823,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["29",{"_index":4276,"title":{},"body":{"overview.html":{}}}],["29/29",{"_index":4057,"title":{},"body":{"coverage.html":{}}}],["2]).rotatey(toradians(0",{"_index":2864,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["2px",{"_index":723,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["2rem",{"_index":1368,"title":{},"body":{"components/HeaderComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["3",{"_index":2697,"title":{},"body":{"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["3).every(entry",{"_index":2699,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["3.0.0",{"_index":3673,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":4080,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":3646,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":3641,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":3632,"title":{},"body":{"changelog.html":{}}}],["3.25rem",{"_index":3314,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["3.3.0",{"_index":3621,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":3606,"title":{},"body":{"changelog.html":{}}}],["3.5.0",{"_index":3598,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":4085,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":4087,"title":{},"body":{"dependencies.html":{}}}],["3.5rem",{"_index":3104,"title":{},"body":{"components/StageNavComponent.html":{}}}],["3.6",{"_index":4199,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":3587,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.625rem",{"_index":2766,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["3.7.0",{"_index":3573,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":4091,"title":{},"body":{"dependencies.html":{}}}],["3.7.2",{"_index":3564,"title":{},"body":{"changelog.html":{}}}],["3.7.3",{"_index":4092,"title":{},"body":{"dependencies.html":{}}}],["3.75rem",{"_index":2760,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["3/3",{"_index":4006,"title":{},"body":{"coverage.html":{}}}],["3/7",{"_index":4022,"title":{},"body":{"coverage.html":{}}}],["30",{"_index":1716,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"changelog.html":{}}}],["3000",{"_index":365,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["30rem",{"_index":3460,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["31",{"_index":3905,"title":{},"body":{"changelog.html":{}}}],["32",{"_index":4278,"title":{},"body":{"overview.html":{}}}],["32rem",{"_index":2770,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["33",{"_index":4023,"title":{},"body":{"coverage.html":{}}}],["33.33",{"_index":724,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["34/38",{"_index":4018,"title":{},"body":{"coverage.html":{}}}],["3d",{"_index":895,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["3px",{"_index":1814,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["3rem",{"_index":442,"title":{},"body":{"components/AppComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["4",{"_index":3886,"title":{},"body":{"changelog.html":{}}}],["4.0",{"_index":4177,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":4090,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":4111,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":4130,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":4101,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":4122,"title":{},"body":{"dependencies.html":{}}}],["4/4",{"_index":4005,"title":{},"body":{"coverage.html":{}}}],["4/6",{"_index":4041,"title":{},"body":{"coverage.html":{}}}],["4/7",{"_index":4026,"title":{},"body":{"coverage.html":{}}}],["4/8",{"_index":4032,"title":{},"body":{"coverage.html":{}}}],["40",{"_index":901,"title":{},"body":{"components/ContentComponent.html":{}}}],["400",{"_index":1822,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["42",{"_index":4021,"title":{},"body":{"coverage.html":{}}}],["42/44",{"_index":4051,"title":{},"body":{"coverage.html":{}}}],["46rem",{"_index":3456,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["47rem",{"_index":2388,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["4px",{"_index":2387,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["4rem",{"_index":968,"title":{},"body":{"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{}}}],["4th",{"_index":3590,"title":{},"body":{"changelog.html":{}}}],["5",{"_index":3267,"title":{},"body":{"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["5.0.0",{"_index":4125,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":4129,"title":{},"body":{"dependencies.html":{}}}],["5.5rem",{"_index":970,"title":{},"body":{"components/ContentComponent.html":{}}}],["5.688rem",{"_index":420,"title":{},"body":{"components/AppComponent.html":{}}}],["5/5",{"_index":4015,"title":{},"body":{"coverage.html":{}}}],["50",{"_index":1381,"title":{},"body":{"components/HeaderComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/VideoModalLauncherComponent.html":{},"coverage.html":{}}}],["500",{"_index":646,"title":{},"body":{"components/AppWebComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["54",{"_index":4001,"title":{},"body":{"coverage.html":{}}}],["55rem",{"_index":977,"title":{},"body":{"components/ContentComponent.html":{}}}],["57",{"_index":4025,"title":{},"body":{"coverage.html":{}}}],["58",{"_index":4013,"title":{},"body":{"coverage.html":{}}}],["5rem",{"_index":975,"title":{},"body":{"components/ContentComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["5s",{"_index":1050,"title":{},"body":{"components/ContentComponent-1.html":{},"components/VideoModalComponent.html":{}}}],["5th",{"_index":3579,"title":{},"body":{"changelog.html":{}}}],["6.0.1",{"_index":4128,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":4142,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":4088,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":4151,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":4148,"title":{},"body":{"dependencies.html":{}}}],["6/6",{"_index":4007,"title":{},"body":{"coverage.html":{}}}],["6/7",{"_index":4016,"title":{},"body":{"coverage.html":{}}}],["600",{"_index":719,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{}}}],["60rem",{"_index":2708,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["61",{"_index":4042,"title":{},"body":{"coverage.html":{}}}],["65vh",{"_index":3442,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["66",{"_index":4040,"title":{},"body":{"coverage.html":{}}}],["675rem",{"_index":3417,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["6s",{"_index":722,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/ReviewButtonComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["7/12",{"_index":4014,"title":{},"body":{"coverage.html":{}}}],["7/14",{"_index":4020,"title":{},"body":{"coverage.html":{}}}],["7/7",{"_index":4046,"title":{},"body":{"coverage.html":{}}}],["7/9",{"_index":4039,"title":{},"body":{"coverage.html":{}}}],["77",{"_index":4038,"title":{},"body":{"coverage.html":{}}}],["8",{"_index":3774,"title":{},"body":{"changelog.html":{}}}],["8.3.2",{"_index":4156,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":4084,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":4073,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":4076,"title":{},"body":{"dependencies.html":{}}}],["8/8",{"_index":4049,"title":{},"body":{"coverage.html":{}}}],["8/9",{"_index":4055,"title":{},"body":{"coverage.html":{}}}],["81",{"_index":4035,"title":{},"body":{"coverage.html":{}}}],["82",{"_index":4030,"title":{},"body":{"coverage.html":{}}}],["83",{"_index":4010,"title":{},"body":{"coverage.html":{}}}],["85",{"_index":3984,"title":{},"body":{"changelog.html":{},"coverage.html":{}}}],["88",{"_index":4054,"title":{},"body":{"coverage.html":{}}}],["89",{"_index":4017,"title":{},"body":{"coverage.html":{}}}],["9",{"_index":4277,"title":{},"body":{"overview.html":{}}}],["9/10",{"_index":4056,"title":{},"body":{"coverage.html":{}}}],["9/9",{"_index":4048,"title":{},"body":{"coverage.html":{}}}],["90",{"_index":1973,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{}}}],["94",{"_index":4044,"title":{},"body":{"coverage.html":{}}}],["95",{"_index":3637,"title":{},"body":{"changelog.html":{},"coverage.html":{}}}],["9e9e9e",{"_index":1320,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["9e9e9e5e",{"_index":3319,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["9th",{"_index":3805,"title":{},"body":{"changelog.html":{}}}],["_blocksize",{"_index":2976,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["_error",{"_index":1442,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["_expanded",{"_index":1539,"title":{},"body":{"classes/InitializationState.html":{}}}],["_index",{"_index":3166,"title":{},"body":{"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["_latesttags",{"_index":21,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["_lighting",{"_index":2866,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["_measuredmargin",{"_index":1570,"title":{},"body":{"classes/InitializationState.html":{}}}],["_measuredwidth",{"_index":1564,"title":{},"body":{"classes/InitializationState.html":{}}}],["_msg",{"_index":780,"title":{},"body":{"components/ContainerComponent.html":{}}}],["_name",{"_index":2112,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["_opened",{"_index":1535,"title":{},"body":{"classes/InitializationState.html":{}}}],["_position",{"_index":1531,"title":{},"body":{"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["_rotation",{"_index":2977,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["aabb",{"_index":2891,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/functions.html":{}}}],["ability",{"_index":3735,"title":{},"body":{"changelog.html":{}}}],["about.wrapper",{"_index":2746,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["above",{"_index":3971,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["absolute",{"_index":464,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["acc",{"_index":3308,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["acc.concat(nodes",{"_index":2940,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["acc[id",{"_index":3306,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["accepting",{"_index":1624,"title":{},"body":{"classes/InitializationState.html":{}}}],["accessible",{"_index":2191,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["accessing",{"_index":3080,"title":{},"body":{"components/StageNavComponent.html":{}}}],["accessors",{"_index":32,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["accordingly",{"_index":2065,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["accurate",{"_index":3793,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":2466,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"license.html":{}}}],["actions",{"_index":3861,"title":{},"body":{"changelog.html":{}}}],["active",{"_index":2268,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ThemingService.html":{}}}],["actual_component",{"_index":532,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["add",{"_index":3209,"title":{},"body":{"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["addclass",{"_index":3385,"title":{},"body":{"injectables/ThemingService.html":{}}}],["added",{"_index":140,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"changelog.html":{}}}],["added.add(id",{"_index":147,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["added.add(iri",{"_index":153,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["added.has(iri",{"_index":152,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["addeventlistener('beforeunload",{"_index":2325,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["adding",{"_index":3186,"title":{},"body":{"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["additional",{"_index":3972,"title":{},"body":{"changelog.html":{}}}],["addregistration",{"_index":2431,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["addregistration(registration",{"_index":2444,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["addressed",{"_index":3899,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":59,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["addsvgicon",{"_index":1446,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["addtag",{"_index":26,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["addtag(tag",{"_index":51,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["addtagraw",{"_index":27,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["addtagraw(tag",{"_index":57,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["addtags",{"_index":28,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{}}}],["addtags(tags",{"_index":62,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["adjusting",{"_index":3896,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":3819,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":3756,"title":{},"body":{"changelog.html":{}}}],["afterviewinit",{"_index":755,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["again",{"_index":3877,"title":{},"body":{"changelog.html":{}}}],["against",{"_index":1613,"title":{},"body":{"classes/InitializationState.html":{}}}],["age",{"_index":3701,"title":{},"body":{"changelog.html":{}}}],["ala",{"_index":3716,"title":{},"body":{"changelog.html":{}}}],["alert",{"_index":2305,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["aliases",{"_index":4280,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["align",{"_index":444,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["alignment",{"_index":2600,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["all_organs",{"_index":1942,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["all_organs.find((o",{"_index":2034,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["all_organs.find(info",{"_index":2236,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["allow",{"_index":2761,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["allowed",{"_index":1717,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/ReviewButtonComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["allows",{"_index":1643,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["along",{"_index":1774,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["alpha",{"_index":3964,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":3947,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":3943,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":3933,"title":{},"body":{"changelog.html":{}}}],["already",{"_index":800,"title":{},"body":{"components/ContainerComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["alt",{"_index":4181,"title":{},"body":{"index.html":{}}}],["always",{"_index":824,"title":{},"body":{"components/ContainerComponent.html":{},"components/HeaderComponent.html":{}}}],["analytics",{"_index":670,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"dependencies.html":{}}}],["analyticsmodule",{"_index":1098,"title":{},"body":{"modules/CoreModule.html":{}}}],["analyticsmodule.forroot",{"_index":1102,"title":{},"body":{"modules/CoreModule.html":{}}}],["anatomical",{"_index":1808,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["anatomicalstructures",{"_index":1929,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["anatomicalstructuretagstate",{"_index":1,"title":{"injectables/AnatomicalStructureTagState.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["anatomicalstructuretagstatemodel",{"_index":131,"title":{"interfaces/AnatomicalStructureTagStateModel.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"coverage.html":{}}}],["and/or",{"_index":4241,"title":{},"body":{"license.html":{}}}],["angle",{"_index":3031,"title":{},"body":{"components/StageNavComponent.html":{}}}],["angular",{"_index":102,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":1021,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"dependencies.html":{}}}],["angular/cdk",{"_index":4064,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk/coercion",{"_index":1488,"title":{},"body":{"classes/InitializationState.html":{}}}],["angular/cdk/overlay",{"_index":3366,"title":{},"body":{"injectables/ThemingService.html":{}}}],["angular/common",{"_index":737,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DetailsLabelModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"components/VideoModalComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"dependencies.html":{}}}],["angular/common/http",{"_index":1095,"title":{},"body":{"modules/CoreModule.html":{}}}],["angular/compiler",{"_index":4065,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":104,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["angular/elements",{"_index":558,"title":{},"body":{"modules/AppModule.html":{},"dependencies.html":{}}}],["angular/forms",{"_index":2133,"title":{},"body":{"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/UserName.html":{},"dependencies.html":{}}}],["angular/material",{"_index":4066,"title":{},"body":{"dependencies.html":{}}}],["angular/material/button",{"_index":1681,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"modules/RegistrationContentModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/TagSearchModule.html":{}}}],["angular/material/checkbox",{"_index":3325,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["angular/material/chips",{"_index":3182,"title":{},"body":{"modules/TagListModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["angular/material/core",{"_index":741,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/VisibilityMenuModule.html":{}}}],["angular/material/dialog",{"_index":2373,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalModule.html":{}}}],["angular/material/divider",{"_index":1836,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{},"modules/StageNavModule.html":{}}}],["angular/material/expansion",{"_index":1834,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{}}}],["angular/material/form",{"_index":560,"title":{},"body":{"modules/AppModule.html":{},"modules/TagSearchModule.html":{}}}],["angular/material/icon",{"_index":563,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DrawerModule.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/LeftSidebarModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["angular/material/input",{"_index":739,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/NameInputModule.html":{},"modules/SlicesInputModule.html":{},"modules/TagSearchModule.html":{}}}],["angular/material/radio",{"_index":3112,"title":{},"body":{"modules/StageNavModule.html":{}}}],["angular/material/select",{"_index":1340,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"modules/StageNavModule.html":{}}}],["angular/material/slide",{"_index":1725,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/NameInputModule.html":{}}}],["angular/material/slider",{"_index":2846,"title":{},"body":{"modules/RotationSliderModule.html":{}}}],["angular/material/snack",{"_index":323,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["angular/material/tooltip",{"_index":743,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/HeaderModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/ReviewButtonModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{}}}],["angular/platform",{"_index":566,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/RightSidebarModule.html":{},"dependencies.html":{}}}],["angular/router",{"_index":4069,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":3472,"title":{},"body":{"modules/VideoModalModule.html":{},"dependencies.html":{}}}],["animate",{"_index":1018,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["animate('.5s",{"_index":1516,"title":{},"body":{"classes/InitializationState.html":{}}}],["animate('1s",{"_index":1026,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["animate(0",{"_index":1515,"title":{},"body":{"classes/InitializationState.html":{}}}],["animated",{"_index":2707,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["animated')[0]?.classlist.add('modal",{"_index":2739,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["animation",{"_index":1500,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["animations",{"_index":980,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{}}}],["animationsenabled",{"_index":981,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["anterior",{"_index":949,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["api",{"_index":3428,"title":{},"body":{"components/VideoModalComponent.html":{},"changelog.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":4190,"title":{},"body":{"index.html":{}}}],["app",{"_index":204,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"components/ReviewButtonComponent.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"miscellaneous/variables.html":{}}}],["app.component",{"_index":574,"title":{},"body":{"modules/AppModule.html":{}}}],["app.component.html",{"_index":217,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["app.component.scss",{"_index":215,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["app_bootstrap_listener",{"_index":3331,"title":{},"body":{"modules/ThemingModule.html":{}}}],["appcomponent",{"_index":197,"title":{"components/AppComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["appear",{"_index":3685,"title":{},"body":{"changelog.html":{}}}],["appearance",{"_index":592,"title":{},"body":{"modules/AppModule.html":{},"components/BlockSizeInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["appears",{"_index":2398,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["appelement",{"_index":597,"title":{},"body":{"modules/AppModule.html":{}}}],["applicable",{"_index":1939,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["application",{"_index":2679,"title":{},"body":{"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["application/json",{"_index":2584,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["applied",{"_index":3846,"title":{},"body":{"changelog.html":{}}}],["applyspatialplacement",{"_index":4029,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["applyspatialplacement(new",{"_index":2206,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["applyspatialplacement(tx",{"_index":2160,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"miscellaneous/functions.html":{}}}],["applythemeclass",{"_index":3338,"title":{},"body":{"injectables/ThemingService.html":{}}}],["applythemeclass(cls",{"_index":3345,"title":{},"body":{"injectables/ThemingService.html":{}}}],["appmodule",{"_index":534,"title":{"modules/AppModule.html":{}},"body":{"modules/AppModule.html":{},"modules.html":{},"overview.html":{}}}],["appname",{"_index":1105,"title":{},"body":{"modules/CoreModule.html":{}}}],["appoptions",{"_index":336,"title":{"interfaces/AppOptions.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{},"coverage.html":{}}}],["appropriate",{"_index":3660,"title":{},"body":{"changelog.html":{}}}],["appwebcomponent",{"_index":474,"title":{"components/AppWebComponent.html":{}},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["april",{"_index":3804,"title":{},"body":{"changelog.html":{}}}],["area",{"_index":920,"title":{},"body":{"components/ContentComponent.html":{}}}],["arg",{"_index":1436,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["args",{"_index":1437,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["args.filter(value",{"_index":1454,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["argument",{"_index":1451,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["arguments",{"_index":250,"title":{},"body":{"components/AppComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{}}}],["arising",{"_index":4270,"title":{},"body":{"license.html":{}}}],["around",{"_index":2748,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["array",{"_index":1225,"title":{},"body":{"components/DetailsLabelComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagListComponent.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["array.isarray(entity.placement",{"_index":2954,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["array.isarray(reg.placement",{"_index":2533,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["arraytostring",{"_index":1232,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["arraytostring(details",{"_index":1245,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["arraytostring(inputarray",{"_index":1235,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["arrow",{"_index":1329,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["arrow_drop_down",{"_index":398,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{}}}],["arrow_drop_up",{"_index":397,"title":{},"body":{"components/AppComponent.html":{}}}],["arrow_left",{"_index":3404,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["arrow_right",{"_index":3403,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["as.id",{"_index":192,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["as.name",{"_index":193,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["as.name.tolowercase().indexof(text.tolowercase",{"_index":187,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["asct+b",{"_index":3678,"title":{},"body":{"changelog.html":{}}}],["aslookup",{"_index":2087,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["aslookup[iri",{"_index":2092,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["assertions",{"_index":1971,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["assets/icons/ico",{"_index":1218,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/opacity",{"_index":1212,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/organs/ico",{"_index":1134,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/icons/visibility",{"_index":1215,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["assets/reference",{"_index":2196,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["assigned",{"_index":158,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"interfaces/TagSearchResult.html":{}}}],["assignment/selection",{"_index":3781,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":1858,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{},"license.html":{}}}],["astags",{"_index":2756,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["async",{"_index":1472,"title":{},"body":{"classes/InitializationState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["async)?.x",{"_index":957,"title":{},"body":{"components/ContentComponent.html":{}}}],["async)?.y",{"_index":958,"title":{},"body":{"components/ContentComponent.html":{}}}],["async)?.z",{"_index":959,"title":{},"body":{"components/ContentComponent.html":{}}}],["asynchronously",{"_index":3430,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["atlas",{"_index":3562,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["attach",{"_index":3394,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["attempts",{"_index":3707,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":4262,"title":{},"body":{"license.html":{}}}],["auto",{"_index":964,"title":{},"body":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/RegistrationContentComponent.html":{},"components/TagListComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["autofocus",{"_index":2418,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["automatic",{"_index":3889,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":3847,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":3883,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["avoid",{"_index":3744,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":1478,"title":{},"body":{"classes/InitializationState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["awaited",{"_index":1468,"title":{},"body":{"classes/InitializationState.html":{}}}],["award",{"_index":4218,"title":{},"body":{"index.html":{}}}],["axis",{"_index":2811,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["b",{"_index":951,"title":{},"body":{"components/ContentComponent.html":{}}}],["back",{"_index":1364,"title":{},"body":{"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["backbutton",{"_index":1373,"title":{},"body":{"components/HeaderComponent.html":{}}}],["backend",{"_index":3694,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":446,"title":{},"body":{"components/AppComponent.html":{},"components/HeaderComponent.html":{},"components/ReviewModalComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"index.html":{}}}],["backing",{"_index":1427,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["bar",{"_index":324,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{}}}],["base",{"_index":3951,"title":{},"body":{"changelog.html":{}}}],["based",{"_index":1008,"title":{},"body":{"components/ContentComponent-1.html":{},"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["basehref",{"_index":608,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["basewebcomponent",{"_index":604,"title":{},"body":{"components/AppWebComponent.html":{}}}],["basic",{"_index":3755,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["bbox",{"_index":1558,"title":{},"body":{"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["bbox.left",{"_index":1561,"title":{},"body":{"classes/InitializationState.html":{}}}],["bbox.overlaps(getnodebbox(model",{"_index":2948,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["bbox.right",{"_index":1560,"title":{},"body":{"classes/InitializationState.html":{}}}],["before",{"_index":1124,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"modules/StoreModule.html":{},"changelog.html":{}}}],["beforeunloadevent",{"_index":2320,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["beforeunloadlistener",{"_index":2319,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["begin",{"_index":2680,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["being",{"_index":2727,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/StoreModule.html":{},"changelog.html":{}}}],["belong",{"_index":1275,"title":{},"body":{"interfaces/ExtractionSet.html":{}}}],["belonging",{"_index":1277,"title":{},"body":{"interfaces/ExtractionSet.html":{}}}],["beta",{"_index":3676,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":3729,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":283,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["bind",{"_index":72,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{},"dependencies.html":{}}}],["binds",{"_index":3357,"title":{},"body":{"injectables/ThemingService.html":{}}}],["black",{"_index":412,"title":{},"body":{"components/AppComponent.html":{}}}],["bladder",{"_index":1133,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bladder.svg",{"_index":1135,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["blob([json",{"_index":2583,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["block",{"_index":256,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["block.x",{"_index":2052,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["block_size_input",{"_index":697,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["blocks",{"_index":1759,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["blocksize",{"_index":655,"title":{"interfaces/BlockSize.html":{}},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["blocksize.y",{"_index":2984,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["blocksize.z].map(n",{"_index":2985,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["blocksizechange",{"_index":682,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["blocksizeinputcomponent",{"_index":476,"title":{"components/BlockSizeInputComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["blocksizeinputmodule",{"_index":730,"title":{"modules/BlockSizeInputModule.html":{}},"body":{"modules/BlockSizeInputModule.html":{},"modules/RightSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["blood",{"_index":1136,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["blood.svg",{"_index":1137,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bmi",{"_index":3702,"title":{},"body":{"changelog.html":{}}}],["board",{"_index":3945,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":635,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"dependencies.html":{}}}],["bodyuimodule",{"_index":1082,"title":{},"body":{"modules/ContentModule.html":{}}}],["bold",{"_index":1818,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["bone",{"_index":1138,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["boolean",{"_index":337,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["booleaninput",{"_index":1486,"title":{},"body":{"classes/InitializationState.html":{}}}],["bootstrap",{"_index":3354,"title":{},"body":{"injectables/ThemingService.html":{}}}],["border",{"_index":448,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["both",{"_index":3721,"title":{},"body":{"changelog.html":{}}}],["bottom",{"_index":449,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["bounds",{"_index":866,"title":{},"body":{"components/ContentComponent.html":{}}}],["box",{"_index":1316,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["bp",{"_index":643,"title":{},"body":{"components/AppWebComponent.html":{}}}],["bp.boolean",{"_index":652,"title":{},"body":{"components/AppWebComponent.html":{}}}],["bp.function",{"_index":654,"title":{},"body":{"components/AppWebComponent.html":{}}}],["bp.json",{"_index":653,"title":{},"body":{"components/AppWebComponent.html":{}}}],["brain",{"_index":1141,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["brain.svg",{"_index":1142,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["break",{"_index":384,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{}}}],["breaking",{"_index":3765,"title":{},"body":{"changelog.html":{}}}],["breaks",{"_index":166,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["breast.svg",{"_index":1172,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bringing",{"_index":3775,"title":{},"body":{"changelog.html":{}}}],["bronchus",{"_index":1167,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["bronchus.svg",{"_index":1169,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["browse",{"_index":4273,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":567,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{},"dependencies.html":{},"modules.html":{}}}],["browser/animations",{"_index":569,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules/RightSidebarModule.html":{}}}],["browseranimationsmodule",{"_index":568,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules/RightSidebarModule.html":{}}}],["browserify",{"_index":4149,"title":{},"body":{"dependencies.html":{}}}],["browsermodule",{"_index":565,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{}}}],["browsing",{"_index":3993,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":3631,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":4173,"title":{},"body":{"index.html":{}}}],["buildjsonld",{"_index":2432,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["buildjsonld(page",{"_index":2446,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["buildmetadata",{"_index":2433,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["buildmetadata(page",{"_index":2450,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["builds",{"_index":2452,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"changelog.html":{}}}],["builtin_parsers",{"_index":637,"title":{},"body":{"components/AppWebComponent.html":{}}}],["button",{"_index":431,"title":{},"body":{"components/AppComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/JsonFileReaderComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{}}}],["button'},{'name",{"_index":507,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["button.component",{"_index":1270,"title":{},"body":{"modules/DrawerModule.html":{},"modules/ReviewButtonModule.html":{}}}],["button.component.html",{"_index":2662,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.scss",{"_index":2661,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.ts",{"_index":2657,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["button.component.ts:100",{"_index":2685,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:19",{"_index":2684,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.ts:22",{"_index":3393,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:24",{"_index":2674,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:27",{"_index":3402,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:29",{"_index":2673,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:35",{"_index":2670,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:38",{"_index":3399,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:40",{"_index":3398,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:42",{"_index":2675,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.ts:47",{"_index":2682,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:54",{"_index":2668,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:65",{"_index":3395,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:68",{"_index":2688,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:75",{"_index":3396,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.component.ts:78",{"_index":2692,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["button.component.ts:85",{"_index":2690,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["button.component.ts:97",{"_index":3397,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["button.module",{"_index":2793,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["button.module.ts",{"_index":2720,"title":{},"body":{"modules/ReviewButtonModule.html":{}}}],["button/review",{"_index":2656,"title":{},"body":{"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"modules/RightSidebarModule.html":{},"coverage.html":{}}}],["button/toggle",{"_index":1269,"title":{},"body":{"modules/DrawerModule.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["buttons",{"_index":933,"title":{},"body":{"components/ContentComponent.html":{}}}],["c",{"_index":4223,"title":{},"body":{"license.html":{}}}],["cache",{"_index":3569,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["cacheable",{"_index":4153,"title":{},"body":{"dependencies.html":{}}}],["cached",{"_index":1562,"title":{},"body":{"classes/InitializationState.html":{}}}],["calc",{"_index":3416,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["calc(100",{"_index":459,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["calc(50",{"_index":1520,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["calculated",{"_index":1554,"title":{},"body":{"classes/InitializationState.html":{},"components/TagSearchComponent.html":{}}}],["call",{"_index":1452,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["callback",{"_index":961,"title":{},"body":{"components/ContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"changelog.html":{}}}],["callbackset",{"_index":343,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["called",{"_index":1484,"title":{},"body":{"classes/InitializationState.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["calling",{"_index":3067,"title":{},"body":{"components/StageNavComponent.html":{}}}],["calls",{"_index":3215,"title":{},"body":{"components/TagSearchComponent.html":{},"changelog.html":{}}}],["cancel",{"_index":2405,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/TagListComponent.html":{}}}],["cancelregistration",{"_index":609,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"changelog.html":{}}}],["cancelregistrationcallback",{"_index":619,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"miscellaneous/typealiases.html":{}}}],["candidate",{"_index":3927,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":2893,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"dependencies.html":{}}}],["capturing",{"_index":1772,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["card",{"_index":3758,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":3761,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":380,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{},"index.html":{}}}],["cases",{"_index":3903,"title":{},"body":{"changelog.html":{}}}],["catch",{"_index":1441,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["catcherror",{"_index":2159,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/TagSearchComponent.html":{}}}],["ccf",{"_index":212,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StoreModule.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["ccf's",{"_index":3865,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":3576,"title":{},"body":{"changelog.html":{}}}],["ccf_annotations",{"_index":2614,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["ccfdrawer",{"_index":1508,"title":{},"body":{"classes/InitializationState.html":{}}}],["ccfdrawercontainer",{"_index":757,"title":{},"body":{"components/ContainerComponent.html":{}}}],["cdk",{"_index":1330,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["cdr",{"_index":247,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["cdr.markforcheck",{"_index":357,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["cell",{"_index":3648,"title":{},"body":{"changelog.html":{}}}],["center",{"_index":434,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"index.html":{}}}],["centimeter",{"_index":2165,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["certain",{"_index":268,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["cff",{"_index":1049,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["change",{"_index":258,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/RegistrationModalComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{},"index.html":{}}}],["changed",{"_index":843,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["changedetection",{"_index":209,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["changedetectionstrategy",{"_index":321,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["changedetectionstrategy.onpush",{"_index":210,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["changedetectorref",{"_index":248,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["changelog",{"_index":3560,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changerotation",{"_index":2823,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["changerotation(newrotation",{"_index":2813,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["changes",{"_index":182,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["changing",{"_index":3050,"title":{},"body":{"components/StageNavComponent.html":{}}}],["channel",{"_index":761,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/ToggleButtonComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["channels",{"_index":1894,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["charge",{"_index":4229,"title":{},"body":{"license.html":{}}}],["check",{"_index":2015,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["checked",{"_index":3235,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["checkedresults",{"_index":3189,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["checkedresults[tag.id",{"_index":3283,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["checknamevalid",{"_index":2346,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["checknamevalid(event",{"_index":2353,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["checks",{"_index":1007,"title":{},"body":{"components/ContentComponent-1.html":{},"components/RegistrationContentComponent.html":{}}}],["chevron_left",{"_index":1363,"title":{},"body":{"components/HeaderComponent.html":{}}}],["child",{"_index":726,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/NameInputComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{}}}],["chip",{"_index":3176,"title":{},"body":{"components/TagListComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["choose",{"_index":3884,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":3863,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":4265,"title":{},"body":{"license.html":{}}}],["class",{"_index":133,"title":{"classes/InitializationState.html":{},"classes/MessageChannel.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["class.ccf",{"_index":3390,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["class.cff",{"_index":988,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["classend",{"_index":1526,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["classes",{"_index":1466,"title":{},"body":{"classes/InitializationState.html":{},"classes/MessageChannel.html":{},"overview.html":{}}}],["classname",{"_index":762,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["clean",{"_index":1902,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["cleans",{"_index":277,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["cleanup",{"_index":3675,"title":{},"body":{"changelog.html":{}}}],["clear",{"_index":2743,"title":{},"body":{"components/ReviewModalComponent.html":{},"components/VideoModalComponent.html":{}}}],["clearhaschanges",{"_index":2247,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["clears",{"_index":3496,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["click",{"_index":1653,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["clicked",{"_index":261,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ReviewButtonComponent.html":{},"interfaces/User.html":{}}}],["clicking",{"_index":3763,"title":{},"body":{"changelog.html":{}}}],["clicks",{"_index":3063,"title":{},"body":{"components/StageNavComponent.html":{}}}],["client",{"_index":3568,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["close",{"_index":430,"title":{},"body":{"components/AppComponent.html":{},"classes/InitializationState.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{}}}],["closed",{"_index":310,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RightSidebarComponent.html":{},"interfaces/User.html":{},"miscellaneous/typealiases.html":{}}}],["closedialog",{"_index":2347,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["closeexpanded",{"_index":1589,"title":{},"body":{"classes/InitializationState.html":{}}}],["closeopendone",{"_index":1596,"title":{},"body":{"classes/InitializationState.html":{}}}],["closeresults",{"_index":3196,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["closeresults(event",{"_index":3225,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["closes",{"_index":1577,"title":{},"body":{"classes/InitializationState.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{}}}],["closesearch",{"_index":3190,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["closesearch.nativeelement.contains(event.target",{"_index":3297,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["cls",{"_index":3347,"title":{},"body":{"injectables/ThemingService.html":{}}}],["clsname",{"_index":678,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["cluster_appmodule",{"_index":537,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_declarations",{"_index":538,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_appmodule_imports",{"_index":539,"title":{},"body":{"modules/AppModule.html":{},"overview.html":{}}}],["cluster_blocksizeinputmodule",{"_index":731,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"overview.html":{}}}],["cluster_blocksizeinputmodule_declarations",{"_index":732,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"overview.html":{}}}],["cluster_blocksizeinputmodule_exports",{"_index":733,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"overview.html":{}}}],["cluster_contentmodule",{"_index":1075,"title":{},"body":{"modules/ContentModule.html":{},"overview.html":{}}}],["cluster_contentmodule_declarations",{"_index":1078,"title":{},"body":{"modules/ContentModule.html":{},"overview.html":{}}}],["cluster_contentmodule_exports",{"_index":1076,"title":{},"body":{"modules/ContentModule.html":{},"overview.html":{}}}],["cluster_contentmodule_imports",{"_index":1077,"title":{},"body":{"modules/ContentModule.html":{},"overview.html":{}}}],["cluster_coremodule",{"_index":1089,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_coremodule_imports",{"_index":1090,"title":{},"body":{"modules/CoreModule.html":{},"overview.html":{}}}],["cluster_detailslabelmodule",{"_index":1248,"title":{},"body":{"modules/DetailsLabelModule.html":{},"overview.html":{}}}],["cluster_detailslabelmodule_declarations",{"_index":1249,"title":{},"body":{"modules/DetailsLabelModule.html":{},"overview.html":{}}}],["cluster_detailslabelmodule_exports",{"_index":1250,"title":{},"body":{"modules/DetailsLabelModule.html":{},"overview.html":{}}}],["cluster_drawermodule",{"_index":1262,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_drawermodule_declarations",{"_index":1264,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_drawermodule_exports",{"_index":1263,"title":{},"body":{"modules/DrawerModule.html":{},"overview.html":{}}}],["cluster_extractionsetdropdownmodule",{"_index":1335,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"overview.html":{}}}],["cluster_extractionsetdropdownmodule_declarations",{"_index":1337,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"overview.html":{}}}],["cluster_extractionsetdropdownmodule_exports",{"_index":1336,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"overview.html":{}}}],["cluster_headermodule",{"_index":1383,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_headermodule_declarations",{"_index":1384,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_headermodule_exports",{"_index":1385,"title":{},"body":{"modules/HeaderModule.html":{},"overview.html":{}}}],["cluster_jsonfilereadermodule",{"_index":1675,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"overview.html":{}}}],["cluster_jsonfilereadermodule_declarations",{"_index":1677,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"overview.html":{}}}],["cluster_jsonfilereadermodule_exports",{"_index":1676,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"overview.html":{}}}],["cluster_labeledslidetogglemodule",{"_index":1720,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"overview.html":{}}}],["cluster_labeledslidetogglemodule_declarations",{"_index":1721,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"overview.html":{}}}],["cluster_labeledslidetogglemodule_exports",{"_index":1722,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"overview.html":{}}}],["cluster_leftsidebarmodule",{"_index":1825,"title":{},"body":{"modules/LeftSidebarModule.html":{},"overview.html":{}}}],["cluster_leftsidebarmodule_declarations",{"_index":1826,"title":{},"body":{"modules/LeftSidebarModule.html":{},"overview.html":{}}}],["cluster_leftsidebarmodule_exports",{"_index":1827,"title":{},"body":{"modules/LeftSidebarModule.html":{},"overview.html":{}}}],["cluster_leftsidebarmodule_imports",{"_index":1828,"title":{},"body":{"modules/LeftSidebarModule.html":{},"overview.html":{}}}],["cluster_nameinputmodule",{"_index":2143,"title":{},"body":{"modules/NameInputModule.html":{},"overview.html":{}}}],["cluster_nameinputmodule_declarations",{"_index":2144,"title":{},"body":{"modules/NameInputModule.html":{},"overview.html":{}}}],["cluster_nameinputmodule_exports",{"_index":2145,"title":{},"body":{"modules/NameInputModule.html":{},"overview.html":{}}}],["cluster_registrationcontentmodule",{"_index":2391,"title":{},"body":{"modules/RegistrationContentModule.html":{},"overview.html":{}}}],["cluster_registrationcontentmodule_declarations",{"_index":2392,"title":{},"body":{"modules/RegistrationContentModule.html":{},"overview.html":{}}}],["cluster_registrationcontentmodule_exports",{"_index":2393,"title":{},"body":{"modules/RegistrationContentModule.html":{},"overview.html":{}}}],["cluster_registrationcontentmodule_imports",{"_index":2394,"title":{},"body":{"modules/RegistrationContentModule.html":{}}}],["cluster_registrationmodalmodule",{"_index":2419,"title":{},"body":{"modules/RegistrationModalModule.html":{},"overview.html":{}}}],["cluster_registrationmodalmodule_declarations",{"_index":2420,"title":{},"body":{"modules/RegistrationModalModule.html":{},"overview.html":{}}}],["cluster_registrationmodalmodule_exports",{"_index":2421,"title":{},"body":{"modules/RegistrationModalModule.html":{},"overview.html":{}}}],["cluster_registrationmodalmodule_imports",{"_index":2422,"title":{},"body":{"modules/RegistrationModalModule.html":{}}}],["cluster_reviewbuttonmodule",{"_index":2715,"title":{},"body":{"modules/ReviewButtonModule.html":{},"overview.html":{}}}],["cluster_reviewbuttonmodule_declarations",{"_index":2716,"title":{},"body":{"modules/ReviewButtonModule.html":{},"overview.html":{}}}],["cluster_reviewbuttonmodule_exports",{"_index":2717,"title":{},"body":{"modules/ReviewButtonModule.html":{},"overview.html":{}}}],["cluster_reviewbuttonmodule_imports",{"_index":2718,"title":{},"body":{"modules/ReviewButtonModule.html":{},"overview.html":{}}}],["cluster_reviewmodalmodule",{"_index":2752,"title":{},"body":{"modules/ReviewModalModule.html":{},"overview.html":{}}}],["cluster_reviewmodalmodule_declarations",{"_index":2753,"title":{},"body":{"modules/ReviewModalModule.html":{},"overview.html":{}}}],["cluster_reviewmodalmodule_exports",{"_index":2754,"title":{},"body":{"modules/ReviewModalModule.html":{},"overview.html":{}}}],["cluster_rightsidebarmodule",{"_index":2773,"title":{},"body":{"modules/RightSidebarModule.html":{},"overview.html":{}}}],["cluster_rightsidebarmodule_declarations",{"_index":2774,"title":{},"body":{"modules/RightSidebarModule.html":{},"overview.html":{}}}],["cluster_rightsidebarmodule_exports",{"_index":2775,"title":{},"body":{"modules/RightSidebarModule.html":{},"overview.html":{}}}],["cluster_rightsidebarmodule_imports",{"_index":2776,"title":{},"body":{"modules/RightSidebarModule.html":{},"overview.html":{}}}],["cluster_rotationslidermodule",{"_index":2840,"title":{},"body":{"modules/RotationSliderModule.html":{},"overview.html":{}}}],["cluster_rotationslidermodule_declarations",{"_index":2841,"title":{},"body":{"modules/RotationSliderModule.html":{},"overview.html":{}}}],["cluster_rotationslidermodule_exports",{"_index":2842,"title":{},"body":{"modules/RotationSliderModule.html":{},"overview.html":{}}}],["cluster_slicesinputmodule",{"_index":3024,"title":{},"body":{"modules/SlicesInputModule.html":{},"overview.html":{}}}],["cluster_slicesinputmodule_declarations",{"_index":3026,"title":{},"body":{"modules/SlicesInputModule.html":{},"overview.html":{}}}],["cluster_slicesinputmodule_exports",{"_index":3025,"title":{},"body":{"modules/SlicesInputModule.html":{},"overview.html":{}}}],["cluster_stagenavmodule",{"_index":3106,"title":{},"body":{"modules/StageNavModule.html":{},"overview.html":{}}}],["cluster_stagenavmodule_declarations",{"_index":3109,"title":{},"body":{"modules/StageNavModule.html":{},"overview.html":{}}}],["cluster_stagenavmodule_exports",{"_index":3107,"title":{},"body":{"modules/StageNavModule.html":{},"overview.html":{}}}],["cluster_stagenavmodule_imports",{"_index":3108,"title":{},"body":{"modules/StageNavModule.html":{}}}],["cluster_taglistmodule",{"_index":3177,"title":{},"body":{"modules/TagListModule.html":{},"overview.html":{}}}],["cluster_taglistmodule_declarations",{"_index":3178,"title":{},"body":{"modules/TagListModule.html":{},"overview.html":{}}}],["cluster_taglistmodule_exports",{"_index":3179,"title":{},"body":{"modules/TagListModule.html":{},"overview.html":{}}}],["cluster_tagsearchmodule",{"_index":3320,"title":{},"body":{"modules/TagSearchModule.html":{},"overview.html":{}}}],["cluster_tagsearchmodule_declarations",{"_index":3321,"title":{},"body":{"modules/TagSearchModule.html":{},"overview.html":{}}}],["cluster_tagsearchmodule_exports",{"_index":3322,"title":{},"body":{"modules/TagSearchModule.html":{},"overview.html":{}}}],["cluster_themingmodule",{"_index":3328,"title":{},"body":{"modules/ThemingModule.html":{},"overview.html":{}}}],["cluster_themingmodule_providers",{"_index":3329,"title":{},"body":{"modules/ThemingModule.html":{},"overview.html":{}}}],["cluster_videomodallaunchermodule",{"_index":3462,"title":{},"body":{"modules/VideoModalLauncherModule.html":{},"overview.html":{}}}],["cluster_videomodallaunchermodule_declarations",{"_index":3464,"title":{},"body":{"modules/VideoModalLauncherModule.html":{},"overview.html":{}}}],["cluster_videomodallaunchermodule_exports",{"_index":3463,"title":{},"body":{"modules/VideoModalLauncherModule.html":{},"overview.html":{}}}],["cluster_videomodalmodule",{"_index":3468,"title":{},"body":{"modules/VideoModalModule.html":{},"overview.html":{}}}],["cluster_videomodalmodule_declarations",{"_index":3469,"title":{},"body":{"modules/VideoModalModule.html":{},"overview.html":{}}}],["cluster_videomodalmodule_exports",{"_index":3470,"title":{},"body":{"modules/VideoModalModule.html":{},"overview.html":{}}}],["cluster_visibilitymenumodule",{"_index":3534,"title":{},"body":{"modules/VisibilityMenuModule.html":{},"overview.html":{}}}],["cluster_visibilitymenumodule_declarations",{"_index":3535,"title":{},"body":{"modules/VisibilityMenuModule.html":{},"overview.html":{}}}],["cluster_visibilitymenumodule_exports",{"_index":3536,"title":{},"body":{"modules/VisibilityMenuModule.html":{},"overview.html":{}}}],["cluster_visibilitytogglemodule",{"_index":3556,"title":{},"body":{"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["cluster_visibilitytogglemodule_declarations",{"_index":3558,"title":{},"body":{"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["cluster_visibilitytogglemodule_exports",{"_index":3557,"title":{},"body":{"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["coalescing",{"_index":2227,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["code",{"_index":3429,"title":{},"body":{"components/VideoModalComponent.html":{},"changelog.html":{}}}],["code.touppercase().endswith(lookup",{"_index":2230,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["codebase",{"_index":3874,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":3914,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":3958,"title":{},"body":{"changelog.html":{}}}],["coercebooleanproperty",{"_index":1487,"title":{},"body":{"classes/InitializationState.html":{}}}],["collaboration",{"_index":3872,"title":{},"body":{"changelog.html":{}}}],["collapse",{"_index":440,"title":{},"body":{"components/AppComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["collapsed",{"_index":1496,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["collapses",{"_index":1588,"title":{},"body":{"classes/InitializationState.html":{}}}],["collection",{"_index":13,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["collisions",{"_index":138,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["color",{"_index":411,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/ReviewModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["colorizing",{"_index":3920,"title":{},"body":{"changelog.html":{}}}],["column",{"_index":403,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["combination",{"_index":3885,"title":{},"body":{"changelog.html":{}}}],["combined",{"_index":1070,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["combinelatest",{"_index":112,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{}}}],["combinelatest([regs",{"_index":2521,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["combinelatest([this.entities",{"_index":135,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["combinelatest([this.model.anatomicalstructures",{"_index":2923,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.model.organiri",{"_index":2949,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.model.viewtype",{"_index":2971,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.page.state",{"_index":2508,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["combinelatest([this.page.user",{"_index":2409,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["combinelatest([this.referenceorgansimplenodes",{"_index":2941,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.rotation",{"_index":2918,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["combinelatest([this.theme",{"_index":354,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["come",{"_index":3137,"title":{},"body":{"modules/StoreModule.html":{},"changelog.html":{}}}],["coming",{"_index":3911,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":4100,"title":{},"body":{"dependencies.html":{}}}],["comma",{"_index":1243,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["commas",{"_index":1229,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["common",{"_index":3710,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["commonmodule",{"_index":736,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DetailsLabelModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["compatibility",{"_index":3134,"title":{},"body":{"modules/StoreModule.html":{}}}],["completed",{"_index":1604,"title":{},"body":{"classes/InitializationState.html":{}}}],["completes",{"_index":3255,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["completion",{"_index":1594,"title":{},"body":{"classes/InitializationState.html":{}}}],["complexity",{"_index":3788,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":3669,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":196,"title":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["component's",{"_index":878,"title":{},"body":{"components/ContentComponent.html":{}}}],["component.component",{"_index":573,"title":{},"body":{"modules/AppModule.html":{}}}],["component.component.ts",{"_index":603,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["component.component.ts:25",{"_index":618,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:26",{"_index":633,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:27",{"_index":634,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:28",{"_index":628,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:29",{"_index":622,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:30",{"_index":630,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:31",{"_index":620,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:32",{"_index":624,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:33",{"_index":631,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:34",{"_index":632,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:35",{"_index":625,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:36",{"_index":626,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:37",{"_index":627,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component.component.ts:39",{"_index":616,"title":{},"body":{"components/AppWebComponent.html":{}}}],["component_template",{"_index":472,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["componentref",{"_index":3350,"title":{},"body":{"injectables/ThemingService.html":{}}}],["components",{"_index":198,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"overview.html":{},"miscellaneous/typealiases.html":{}}}],["computed",{"_index":105,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["computes",{"_index":3234,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["comunica/query",{"_index":4070,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":4102,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":4248,"title":{},"body":{"license.html":{}}}],["config",{"_index":750,"title":{},"body":{"modules/ConfigModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["config.cancelregistration",{"_index":2300,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["config.isolated",{"_index":1896,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["config.register",{"_index":2299,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["config.user",{"_index":2302,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["configmodule",{"_index":745,"title":{"modules/ConfigModule.html":{}},"body":{"modules/ConfigModule.html":{},"modules/CoreModule.html":{},"modules.html":{},"overview.html":{}}}],["configstore",{"_index":617,"title":{},"body":{"components/AppWebComponent.html":{}}}],["configuration",{"_index":1352,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["configurations",{"_index":3734,"title":{},"body":{"changelog.html":{}}}],["confirm('changes",{"_index":2306,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["confirmation",{"_index":3706,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":3740,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":1917,"title":{},"body":{"injectables/MessageService.html":{},"changelog.html":{}}}],["connect(source",{"_index":1905,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["connected",{"_index":794,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["connection",{"_index":4271,"title":{},"body":{"license.html":{}}}],["connects",{"_index":1904,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["consentservice",{"_index":238,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["consider",{"_index":3133,"title":{},"body":{"modules/StoreModule.html":{}}}],["consortium",{"_index":4224,"title":{},"body":{"license.html":{}}}],["const",{"_index":139,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"modules/StoreModule.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["constructor",{"_index":35,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["constructor(@inject(message_service_config",{"_index":1895,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["constructor(@optional",{"_index":1106,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ThemingService.html":{}}}],["constructor(config",{"_index":1918,"title":{},"body":{"injectables/MessageService.html":{}}}],["constructor(configstore",{"_index":615,"title":{},"body":{"components/AppWebComponent.html":{}}}],["constructor(defaulttheme",{"_index":3343,"title":{},"body":{"injectables/ThemingService.html":{}}}],["constructor(dialog",{"_index":2401,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["constructor(dialogref",{"_index":2723,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["constructor(drawer",{"_index":3391,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["constructor(el",{"_index":3207,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["constructor(ga",{"_index":706,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["constructor(globalconfig",{"_index":2255,"title":{},"body":{"injectables/PageState.html":{}}}],["constructor(globals",{"_index":2329,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["constructor(injector",{"_index":36,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"injectables/RegistrationState.html":{},"injectables/SceneState.html":{}}}],["constructor(messageservice",{"_index":770,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{}}}],["constructor(model",{"_index":237,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/RightSidebarComponent.html":{}}}],["constructor(page",{"_index":1358,"title":{},"body":{"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["constructor(private",{"_index":596,"title":{},"body":{"modules/AppModule.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["constructor(readonly",{"_index":1362,"title":{},"body":{"components/HeaderComponent.html":{}}}],["constructor(registry",{"_index":1456,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["constructor(renderer2",{"_index":3422,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["constructor(source",{"_index":1910,"title":{},"body":{"classes/MessageChannel.html":{}}}],["contain",{"_index":1059,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/HeaderComponent.html":{}}}],["contained",{"_index":1928,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["container",{"_index":313,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["container'},{'name",{"_index":479,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["container.component.html",{"_index":760,"title":{},"body":{"components/ContainerComponent.html":{}}}],["container.component.scss",{"_index":759,"title":{},"body":{"components/ContainerComponent.html":{}}}],["container/container.component",{"_index":1268,"title":{},"body":{"modules/DrawerModule.html":{}}}],["containercomponent",{"_index":478,"title":{"components/ContainerComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["containerpayload",{"_index":1062,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["containers",{"_index":842,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"changelog.html":{}}}],["containing",{"_index":660,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"index.html":{}}}],["contains",{"_index":686,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ExtractionSet.html":{},"classes/InitializationState.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["content",{"_index":416,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["content'},{'name",{"_index":481,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["content.component",{"_index":2396,"title":{},"body":{"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{}}}],["content.component.html",{"_index":865,"title":{},"body":{"components/ContentComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["content.component.scss",{"_index":864,"title":{},"body":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/RegistrationContentComponent.html":{}}}],["content.component.ts",{"_index":2339,"title":{},"body":{"components/RegistrationContentComponent.html":{},"coverage.html":{}}}],["content.component.ts:109",{"_index":2357,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:20",{"_index":2352,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:23",{"_index":2371,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:28",{"_index":2369,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:31",{"_index":2372,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:34",{"_index":2370,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:37",{"_index":2367,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:40",{"_index":2366,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:42",{"_index":2351,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:55",{"_index":2368,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:65",{"_index":2365,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:75",{"_index":2354,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:84",{"_index":2360,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.component.ts:95",{"_index":2363,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["content.module",{"_index":2426,"title":{},"body":{"modules/RegistrationModalModule.html":{}}}],["content.module.ts",{"_index":2395,"title":{},"body":{"modules/RegistrationContentModule.html":{}}}],["content/content.component",{"_index":817,"title":{},"body":{"components/ContainerComponent.html":{},"modules/ContentModule.html":{},"modules/DrawerModule.html":{}}}],["content/registration",{"_index":2338,"title":{},"body":{"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"coverage.html":{}}}],["content1",{"_index":763,"title":{},"body":{"components/ContainerComponent.html":{}}}],["content2",{"_index":764,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren",{"_index":814,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren(contentcomponent",{"_index":796,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentchildren(drawercomponent",{"_index":806,"title":{},"body":{"components/ContainerComponent.html":{}}}],["contentcomponent",{"_index":480,"title":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"components/DetailsLabelComponent.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["contentcontainerchanged",{"_index":1051,"title":{"interfaces/ContentContainerChanged.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["contentmodule",{"_index":540,"title":{"modules/ContentModule.html":{}},"body":{"modules/AppModule.html":{},"modules/ContentModule.html":{},"modules.html":{},"overview.html":{}}}],["context",{"_index":2602,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["context.jsonld",{"_index":2605,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["contract",{"_index":4268,"title":{},"body":{"license.html":{}}}],["control",{"_index":3835,"title":{},"body":{"changelog.html":{}}}],["controller",{"_index":3261,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["convention",{"_index":1074,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["converting",{"_index":1238,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["converts",{"_index":2448,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["coordinate",{"_index":4166,"title":{},"body":{"index.html":{}}}],["copies",{"_index":4243,"title":{},"body":{"license.html":{}}}],["copy",{"_index":4231,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":4222,"title":{},"body":{"license.html":{}}}],["cord",{"_index":1194,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["cord.svg",{"_index":1195,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["core",{"_index":1107,"title":{},"body":{"modules/CoreModule.html":{}}}],["core/core.module",{"_index":575,"title":{},"body":{"modules/AppModule.html":{}}}],["core/models/anatomical",{"_index":3168,"title":{},"body":{"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["core/models/extraction",{"_index":1304,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["core/models/meta",{"_index":2693,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["core/models/visibility",{"_index":1798,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["core/services/config/config",{"_index":329,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/User.html":{}}}],["core/services/theming/theming.service",{"_index":330,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["core/store/anatomical",{"_index":2759,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["core/store/model/model.state",{"_index":331,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/User.html":{}}}],["core/store/page/page.state",{"_index":332,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/User.html":{}}}],["core/store/registration/registration.state",{"_index":937,"title":{},"body":{"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["core/store/scene/scene.state",{"_index":938,"title":{},"body":{"components/ContentComponent.html":{}}}],["coremodule",{"_index":541,"title":{"modules/CoreModule.html":{}},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"modules.html":{},"overview.html":{}}}],["correct",{"_index":1377,"title":{},"body":{"components/HeaderComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["corresponding",{"_index":3243,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["cors",{"_index":4104,"title":{},"body":{"dependencies.html":{}}}],["count",{"_index":3254,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["counter",{"_index":1874,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["countmapping",{"_index":3191,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["coverage",{"_index":3941,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["createcustomelement",{"_index":557,"title":{},"body":{"modules/AppModule.html":{}}}],["createcustomelement(appwebcomponent",{"_index":598,"title":{},"body":{"modules/AppModule.html":{}}}],["created",{"_index":3842,"title":{},"body":{"changelog.html":{}}}],["createentitycollections",{"_index":100,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["creates",{"_index":40,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["createscenenodes",{"_index":2848,"title":{},"body":{"injectables/SceneState.html":{}}}],["createscenenodes(organiri",{"_index":2856,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["creating",{"_index":819,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/functions.html":{}}}],["creation",{"_index":2669,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["creation_date",{"_index":2613,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["creator",{"_index":2608,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["creator_first_name",{"_index":2609,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["creator_last_name",{"_index":2610,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["creator_orcid",{"_index":2611,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["credits",{"_index":4209,"title":{},"body":{"index.html":{}}}],["crosshairs",{"_index":889,"title":{},"body":{"components/ContentComponent.html":{}}}],["css",{"_index":934,"title":{},"body":{"components/ContentComponent.html":{},"dependencies.html":{}}}],["cube.svg",{"_index":1219,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["cuboid",{"_index":3940,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":3938,"title":{},"body":{"changelog.html":{}}}],["current",{"_index":1295,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["currentdate",{"_index":2441,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["currentidentifier",{"_index":2440,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["currently",{"_index":1303,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/ReviewButtonComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["currentorgan",{"_index":2340,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["currentsex",{"_index":2341,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["cursor",{"_index":436,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["customelements.define('ccf",{"_index":600,"title":{},"body":{"modules/AppModule.html":{}}}],["customizable",{"_index":3539,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["customized",{"_index":1644,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["cyberinfrastructure",{"_index":4211,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":3798,"title":{},"body":{"changelog.html":{}}}],["d",{"_index":392,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["damages",{"_index":4266,"title":{},"body":{"license.html":{}}}],["dark",{"_index":285,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["dark/light",{"_index":3736,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":359,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["data.alignment_operator_orcid",{"_index":2612,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.json",{"_index":2197,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.label",{"_index":2744,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["data.metadata",{"_index":2736,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["data.push",{"_index":2592,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.registrationcallbackset",{"_index":2737,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["data.sex",{"_index":2541,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.side",{"_index":2543,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["data.state",{"_index":1962,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{}}}],["data.state.ts",{"_index":2150,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["data.state.ts:100",{"_index":2334,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:110",{"_index":2336,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:135",{"_index":2332,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:155",{"_index":2331,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:75",{"_index":2330,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.state.ts:87",{"_index":2335,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["data.ts",{"_index":1925,"title":{},"body":{"interfaces/MetaDataField.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["data.value",{"_index":2745,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["data/reference",{"_index":1961,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["dataaction",{"_index":53,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["database",{"_index":2158,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"changelog.html":{}}}],["datasets",{"_index":3807,"title":{},"body":{"changelog.html":{}}}],["datatype",{"_index":1699,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["date().toisostring().split('t')[0",{"_index":2525,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["db",{"_index":2085,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["db.anatomicalstructures[organiri",{"_index":2089,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["db.extractionsets[organiri",{"_index":2096,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["db.organirilookup[key",{"_index":2231,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["db.organspatialentities[organiri",{"_index":2103,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["db.placementpatches[place?.target",{"_index":2204,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["db.scenenodelookup[item.id",{"_index":2933,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["db.scenenodelookup[node['@id",{"_index":2993,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["db.simplescenenodelookup[item.id",{"_index":2934,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["db.simplescenenodelookup[node['@id",{"_index":2938,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["deal",{"_index":4232,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":4272,"title":{},"body":{"license.html":{}}}],["debouncetime",{"_index":1948,"title":{},"body":{"interfaces/ModelStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["debouncetime(100",{"_index":2023,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["debouncetime(400",{"_index":2926,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["debouncetime(500",{"_index":2411,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["debug",{"_index":913,"title":{},"body":{"components/ContentComponent.html":{}}}],["debugmode",{"_index":867,"title":{},"body":{"components/ContentComponent.html":{}}}],["december",{"_index":3878,"title":{},"body":{"changelog.html":{}}}],["decides",{"_index":2671,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["deck.gl/core",{"_index":4072,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":4074,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":4077,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":4078,"title":{},"body":{"dependencies.html":{}}}],["declarations",{"_index":550,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["declare",{"_index":1350,"title":{},"body":{"interfaces/GlobalConfig.html":{}}}],["decoration",{"_index":1371,"title":{},"body":{"components/HeaderComponent.html":{}}}],["decorator",{"_index":111,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{},"dependencies.html":{}}}],["decorators",{"_index":52,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["deep",{"_index":1315,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["deeply",{"_index":3696,"title":{},"body":{"changelog.html":{}}}],["def",{"_index":1411,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["def.html",{"_index":1409,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["def.url",{"_index":1420,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["default",{"_index":85,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["default_block_size",{"_index":672,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_icons",{"_index":1132,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_icons.find",{"_index":1417,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["default_rotation",{"_index":2798,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_search_limit",{"_index":3266,"title":{},"body":{"components/TagSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_search_throttle",{"_index":3269,"title":{},"body":{"components/TagSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_slices_config",{"_index":2995,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_theme",{"_index":576,"title":{},"body":{"modules/AppModule.html":{},"injectables/ThemingService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defaulticondefinition",{"_index":1111,"title":{"interfaces/DefaultIconDefinition.html":{}},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defaultposition",{"_index":2048,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["defaults",{"_index":132,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["defaulttheme",{"_index":3337,"title":{},"body":{"injectables/ThemingService.html":{}}}],["deferred",{"_index":1469,"title":{},"body":{"classes/InitializationState.html":{}}}],["define",{"_index":1255,"title":{},"body":{"interfaces/DocumentationContent.html":{}}}],["defined",{"_index":38,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["definition",{"_index":1116,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["definition.html",{"_index":1432,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["definition.url",{"_index":1431,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["degree",{"_index":2644,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["delay",{"_index":1949,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["delay(200",{"_index":2025,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["delay(5",{"_index":2032,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["delta",{"_index":373,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["demo",{"_index":3711,"title":{},"body":{"changelog.html":{}}}],["depend",{"_index":1407,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["dependencies",{"_index":536,"title":{"dependencies.html":{}},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"changelog.html":{},"dependencies.html":{},"overview.html":{}}}],["depending",{"_index":3768,"title":{},"body":{"changelog.html":{}}}],["deps",{"_index":752,"title":{},"body":{"modules/ConfigModule.html":{}}}],["depth",{"_index":663,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["descendants",{"_index":797,"title":{},"body":{"components/ContainerComponent.html":{}}}],["descrepancies",{"_index":3618,"title":{},"body":{"changelog.html":{}}}],["description",{"_index":11,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{}}}],["destroy",{"_index":3192,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["destroyed",{"_index":3256,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["destruction",{"_index":3239,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["detaches",{"_index":884,"title":{},"body":{"components/ContentComponent.html":{}}}],["details",{"_index":483,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["detailslabelcomponent",{"_index":482,"title":{"components/DetailsLabelComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["detailslabelmodule",{"_index":1247,"title":{"modules/DetailsLabelModule.html":{}},"body":{"modules/DetailsLabelModule.html":{},"modules/LeftSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["detailslabels",{"_index":1732,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["detection",{"_index":781,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/RegistrationModalComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["detector",{"_index":774,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["determines",{"_index":1300,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/TagSearchComponent.html":{}}}],["dev",{"_index":973,"title":{},"body":{"components/ContentComponent.html":{}}}],["developed",{"_index":4210,"title":{},"body":{"index.html":{}}}],["development",{"_index":2188,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["developmentmode",{"_index":3132,"title":{},"body":{"modules/StoreModule.html":{}}}],["developments",{"_index":3963,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":1260,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{}}}],["dialog's",{"_index":2726,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["dialogref",{"_index":2343,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["dialogref.afterclosed().subscribe",{"_index":2711,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["dialogref.disableclose",{"_index":2374,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["dialogue",{"_index":2686,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["different",{"_index":1625,"title":{},"body":{"classes/InitializationState.html":{},"changelog.html":{}}}],["digits",{"_index":3858,"title":{},"body":{"changelog.html":{}}}],["dimension",{"_index":688,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["dimension_units",{"_index":2626,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["dimensions",{"_index":662,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["dims",{"_index":945,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["dims.x",{"_index":2051,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["dims.y",{"_index":2053,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["dims.z",{"_index":2054,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["dims[0",{"_index":950,"title":{},"body":{"components/ContentComponent.html":{}}}],["dims[1",{"_index":952,"title":{},"body":{"components/ContentComponent.html":{}}}],["dims[2",{"_index":956,"title":{},"body":{"components/ContentComponent.html":{}}}],["dims[i",{"_index":2961,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["direct",{"_index":3981,"title":{},"body":{"changelog.html":{}}}],["direction",{"_index":402,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["directive",{"_index":470,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["directives",{"_index":531,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["directly",{"_index":3912,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":123,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["disabled",{"_index":1690,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"modules/StoreModule.html":{},"components/VisibilityToggleComponent.html":{}}}],["disablepositionchange",{"_index":218,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["disables",{"_index":255,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["disableslider",{"_index":1743,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["display",{"_index":400,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["displayed",{"_index":304,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["displayerrors",{"_index":2429,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{}}}],["displaying",{"_index":972,"title":{},"body":{"components/ContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["distinctuntilchanged",{"_index":1950,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["distinctuntilchanged((v1",{"_index":2000,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["distinctuntilkeychanged",{"_index":936,"title":{},"body":{"components/ContentComponent.html":{}}}],["distinctuntilkeychanged('x",{"_index":907,"title":{},"body":{"components/ContentComponent.html":{}}}],["distinctuntilkeychanged('y",{"_index":908,"title":{},"body":{"components/ContentComponent.html":{}}}],["distribute",{"_index":4239,"title":{},"body":{"license.html":{}}}],["div",{"_index":3551,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["divider",{"_index":1813,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{}}}],["dobootstrap",{"_index":555,"title":{},"body":{"modules/AppModule.html":{}}}],["doc",{"_index":3949,"title":{},"body":{"changelog.html":{}}}],["docs",{"_index":3630,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":3061,"title":{},"body":{"components/StageNavComponent.html":{},"components/VideoModalComponent.html":{},"dependencies.html":{}}}],["document.getelementsbyclassname('modal",{"_index":2738,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["document:click",{"_index":234,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{}}}],["document:click(target",{"_index":252,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{}}}],["document:keydown",{"_index":235,"title":{},"body":{"components/AppComponent.html":{}}}],["document:keydown(target",{"_index":264,"title":{},"body":{"components/AppComponent.html":{}}}],["documentation",{"_index":1257,"title":{},"body":{"interfaces/DocumentationContent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["documentationcontent",{"_index":1253,"title":{"interfaces/DocumentationContent.html":{}},"body":{"interfaces/DocumentationContent.html":{},"coverage.html":{}}}],["dom",{"_index":201,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["domsanitizer",{"_index":1395,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["don't",{"_index":1406,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["done",{"_index":3550,"title":{},"body":{"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["donor",{"_index":1807,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"changelog.html":{}}}],["donors",{"_index":3809,"title":{},"body":{"changelog.html":{}}}],["dot",{"_index":2771,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["dotenv",{"_index":4108,"title":{},"body":{"dependencies.html":{}}}],["down",{"_index":3053,"title":{},"body":{"components/StageNavComponent.html":{}}}],["download",{"_index":962,"title":{},"body":{"components/ContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"changelog.html":{}}}],["downloads",{"_index":2461,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["draft",{"_index":2986,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["draftplacement",{"_index":2978,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["draggable",{"_index":2802,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["drawer",{"_index":300,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["drawer'},{'name",{"_index":486,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["drawer.close",{"_index":3410,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.closeexpanded",{"_index":3409,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.component.html",{"_index":1509,"title":{},"body":{"classes/InitializationState.html":{}}}],["drawer.component.scss",{"_index":1510,"title":{},"body":{"classes/InitializationState.html":{}}}],["drawer.open",{"_index":3411,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["drawer.position",{"_index":852,"title":{},"body":{"components/ContainerComponent.html":{}}}],["drawer/drawer.component",{"_index":818,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"modules/DrawerModule.html":{},"components/ToggleButtonComponent.html":{}}}],["drawercomponent",{"_index":485,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["drawercomponent).position",{"_index":1036,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["drawercontainerschanged",{"_index":1058,"title":{"interfaces/DrawerContainersChanged.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["drawerinitialized",{"_index":1065,"title":{"interfaces/DrawerInitialized.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["drawermodule",{"_index":542,"title":{"modules/DrawerModule.html":{}},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules.html":{},"overview.html":{}}}],["drawerpayload",{"_index":1069,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["drawers",{"_index":765,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{}}}],["drawers.filter(drawer",{"_index":851,"title":{},"body":{"components/ContainerComponent.html":{}}}],["drawertoggled",{"_index":1066,"title":{"interfaces/DrawerToggled.html":{}},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["drop",{"_index":3052,"title":{},"body":{"components/StageNavComponent.html":{}}}],["dropdown",{"_index":1282,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/StageNavComponent.html":{}}}],["dropdown'},{'name",{"_index":489,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["dropdown.component",{"_index":1341,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{}}}],["dropdown.component.html",{"_index":1285,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.scss",{"_index":1284,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts",{"_index":1281,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"coverage.html":{}}}],["dropdown.component.ts:18",{"_index":1296,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:23",{"_index":1293,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:28",{"_index":1291,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:33",{"_index":1290,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:47",{"_index":1298,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.component.ts:58",{"_index":1299,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["dropdown.module",{"_index":1840,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["dropdown.module.ts",{"_index":1338,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{}}}],["dropdown/extraction",{"_index":1280,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["dropdowncontainer",{"_index":3102,"title":{},"body":{"components/StageNavComponent.html":{}}}],["duration",{"_index":362,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent-1.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{}}}],["during",{"_index":3353,"title":{},"body":{"injectables/ThemingService.html":{},"changelog.html":{}}}],["dynamic",{"_index":4068,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":3612,"title":{},"body":{"changelog.html":{}}}],["e",{"_index":385,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{}}}],["each",{"_index":1256,"title":{},"body":{"interfaces/DocumentationContent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["ease",{"_index":423,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["easier",{"_index":3654,"title":{},"body":{"changelog.html":{}}}],["easily",{"_index":2818,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["east",{"_index":4192,"title":{},"body":{"index.html":{}}}],["ececec",{"_index":455,"title":{},"body":{"components/AppComponent.html":{}}}],["editregistration",{"_index":610,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/RegistrationState.html":{}}}],["editregistration(reg",{"_index":2453,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["effect",{"_index":3897,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":3828,"title":{},"body":{"changelog.html":{}}}],["el",{"_index":243,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{}}}],["element",{"_index":260,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["element's",{"_index":1652,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["element.getboundingclientrect",{"_index":1559,"title":{},"body":{"classes/InitializationState.html":{}}}],["element.nativeelement",{"_index":3382,"title":{},"body":{"injectables/ThemingService.html":{}}}],["elementref",{"_index":244,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{}}}],["ellipsis",{"_index":3530,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["embedded",{"_index":3732,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":3727,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":3725,"title":{},"body":{"changelog.html":{}}}],["emit",{"_index":2820,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["emits",{"_index":1294,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["emitted",{"_index":680,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["emitter",{"_index":681,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["emitting",{"_index":1540,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["empty",{"_index":128,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["empty_result",{"_index":3262,"title":{},"body":{"components/TagSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["enabled",{"_index":998,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["enables",{"_index":2799,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["end",{"_index":828,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["end?.expanded",{"_index":1047,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["end?.opened",{"_index":1046,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["enddrawers",{"_index":853,"title":{},"body":{"components/ContainerComponent.html":{}}}],["enddrawers.length",{"_index":856,"title":{},"body":{"components/ContainerComponent.html":{}}}],["enddrawers[0",{"_index":859,"title":{},"body":{"components/ContainerComponent.html":{}}}],["endexpanded",{"_index":1045,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["endings",{"_index":2585,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["entered",{"_index":2356,"title":{},"body":{"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["entererrormode",{"_index":2666,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["entering",{"_index":674,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["entire",{"_index":3124,"title":{},"body":{"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["entity",{"_index":2088,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entity.comment",{"_index":2094,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entity.label",{"_index":2093,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entity.placement",{"_index":2956,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entity.placement[0",{"_index":2955,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entity.representation_of",{"_index":2090,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entity.sex?.tolowercase",{"_index":2241,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["entity.side",{"_index":2238,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["entity.side.tolowercase",{"_index":2239,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["entity.side?.tolowercase",{"_index":2242,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["entity.y_dimension",{"_index":2964,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entity.z_dimension].map(n",{"_index":2965,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["entity['@id",{"_index":2091,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["entitycollections",{"_index":101,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["entry",{"_index":2122,"title":{},"body":{"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{}}}],["entry.value",{"_index":2700,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["entrycomponents",{"_index":551,"title":{},"body":{"modules/AppModule.html":{}}}],["environment",{"_index":639,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["environment.customization",{"_index":650,"title":{},"body":{"components/AppWebComponent.html":{}}}],["environment.dboptions",{"_index":648,"title":{},"body":{"components/AppWebComponent.html":{}}}],["environment.googleanalyticstoken",{"_index":1104,"title":{},"body":{"modules/CoreModule.html":{}}}],["environment.production",{"_index":930,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["environment.skipunsavedchangesconfirmation",{"_index":2294,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["environments/environment",{"_index":640,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"modules/CoreModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["error",{"_index":822,"title":{},"body":{"components/ContainerComponent.html":{},"components/ReviewButtonComponent.html":{},"injectables/ThemingService.html":{}}}],["error('the",{"_index":1108,"title":{},"body":{"modules/CoreModule.html":{}}}],["error(`multiple",{"_index":831,"title":{},"body":{"components/ContainerComponent.html":{}}}],["errors",{"_index":820,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"miscellaneous/functions.html":{}}}],["es",{"_index":2894,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"dependencies.html":{}}}],["eslint",{"_index":122,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["eslint/consistent",{"_index":1970,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["eslint/member",{"_index":1963,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["eslint/naming",{"_index":1073,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["eslint/no",{"_index":127,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["eslint/prefer",{"_index":2225,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{}}}],["etc",{"_index":1068,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"changelog.html":{}}}],["eui",{"_index":3643,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":3666,"title":{},"body":{"changelog.html":{}}}],["event",{"_index":263,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"license.html":{}}}],["event'])@hostlistener('window:focusin",{"_index":3227,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["event.firstname.length",{"_index":2378,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["event.lastname.length",{"_index":2379,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["event.preventdefault",{"_index":2321,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["event.returnvalue",{"_index":2322,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["event.target",{"_index":251,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/JsonFileReaderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{}}}],["eventemitter",{"_index":664,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["eventemitter(true",{"_index":1542,"title":{},"body":{"classes/InitializationState.html":{}}}],["events",{"_index":2389,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["except",{"_index":1881,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"modules/StoreModule.html":{}}}],["executes",{"_index":3230,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["executesearch",{"_index":3197,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["executesearch(text",{"_index":3228,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["executionstrategy",{"_index":3135,"title":{},"body":{"modules/StoreModule.html":{}}}],["expand",{"_index":439,"title":{},"body":{"components/AppComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["expand/collapse",{"_index":1598,"title":{},"body":{"classes/InitializationState.html":{}}}],["expand_collapse_params_default",{"_index":1501,"title":{},"body":{"classes/InitializationState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["expandcollapsedone",{"_index":1600,"title":{},"body":{"classes/InitializationState.html":{}}}],["expanded",{"_index":425,"title":{},"body":{"components/AppComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["expanded(value",{"_index":1537,"title":{},"body":{"classes/InitializationState.html":{}}}],["expanded/collapsed",{"_index":1492,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedchange",{"_index":1543,"title":{},"body":{"classes/InitializationState.html":{}}}],["expandedstate",{"_index":1493,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedstate2",{"_index":1495,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["expandedstateobj",{"_index":1549,"title":{},"body":{"classes/InitializationState.html":{}}}],["expands",{"_index":1585,"title":{},"body":{"classes/InitializationState.html":{}}}],["expansion",{"_index":1816,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["expected",{"_index":2735,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["experimentation",{"_index":2765,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["explicit",{"_index":2463,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["exploration",{"_index":4175,"title":{},"body":{"index.html":{}}}],["export",{"_index":130,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{}}}],["exportas",{"_index":756,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["exports",{"_index":735,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["express",{"_index":4110,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["ext/operators",{"_index":1945,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["extended",{"_index":1498,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["extends",{"_index":16,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{}}}],["external",{"_index":83,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"changelog.html":{}}}],["extra",{"_index":4114,"title":{},"body":{"dependencies.html":{}}}],["extraction",{"_index":488,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["extraction_set_dropdown",{"_index":1307,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["extractionset",{"_index":1271,"title":{"interfaces/ExtractionSet.html":{}},"body":{"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["extractionsetchanged",{"_index":1287,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["extractionsetchanged(value",{"_index":1297,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["extractionsetdropdowncomponent",{"_index":487,"title":{"components/ExtractionSetDropdownComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["extractionsetdropdownmodule",{"_index":1334,"title":{"modules/ExtractionSetDropdownModule.html":{}},"body":{"modules/ExtractionSetDropdownModule.html":{},"modules/LeftSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["extractionsets",{"_index":1930,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["extractionsites",{"_index":1931,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["extractionsitetooltip",{"_index":1733,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["extracts",{"_index":3242,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["extrapulmonary",{"_index":1168,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["eye",{"_index":1143,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["eye.svg",{"_index":1144,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["f",{"_index":1184,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["f.svg",{"_index":1185,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["factor",{"_index":2163,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["factory",{"_index":1872,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/variables.html":{}}}],["fade",{"_index":2740,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["faded",{"_index":982,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["fadeinout",{"_index":987,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["fail",{"_index":3875,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":3901,"title":{},"body":{"changelog.html":{}}}],["fallopian",{"_index":1145,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["false",{"_index":287,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["false=right",{"_index":1705,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["favor",{"_index":3868,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":3609,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":3799,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":3826,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":1349,"title":{},"body":{"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["fetch",{"_index":1129,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"dependencies.html":{}}}],["fetched",{"_index":2518,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["fetched]).pipe",{"_index":2522,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["fetchpreviousregistrations",{"_index":611,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["fetchpreviousregistrationscallback",{"_index":623,"title":{},"body":{"components/AppWebComponent.html":{},"miscellaneous/typealiases.html":{}}}],["field",{"_index":561,"title":{},"body":{"modules/AppModule.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewModalComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/UserName.html":{},"changelog.html":{}}}],["fields",{"_index":2749,"title":{},"body":{"components/ReviewModalComponent.html":{},"components/TagSearchComponent.html":{}}}],["file",{"_index":5,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{}}}],["fileinput",{"_index":1636,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["fileinputelement",{"_index":1661,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["fileinputelement.click",{"_index":1663,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["filereader",{"_index":1666,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["filereader.onload",{"_index":1667,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["filereader.readastext(file",{"_index":1673,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["files",{"_index":1645,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"license.html":{}}}],["fill",{"_index":1375,"title":{},"body":{"components/HeaderComponent.html":{}}}],["filler",{"_index":728,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{}}}],["filter",{"_index":1862,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["filter(([_nodes",{"_index":2943,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter((node",{"_index":2935,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter(as",{"_index":186,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["filter(def",{"_index":1408,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["filter(e",{"_index":2970,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter(item",{"_index":2562,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["filter(key",{"_index":1994,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["filter(started",{"_index":2030,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["filtered",{"_index":1885,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["filternulls",{"_index":1943,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["filters",{"_index":3620,"title":{},"body":{"changelog.html":{}}}],["final",{"_index":3870,"title":{},"body":{"changelog.html":{}}}],["finished",{"_index":1063,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["finishing",{"_index":3709,"title":{},"body":{"changelog.html":{}}}],["fired",{"_index":3064,"title":{},"body":{"components/StageNavComponent.html":{}}}],["first",{"_index":2126,"title":{},"body":{"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"interfaces/UserName.html":{},"changelog.html":{}}}],["firstname",{"_index":334,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/GlobalConfig.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{}}}],["firstnamevalidator",{"_index":2113,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["fit",{"_index":3443,"title":{},"body":{"components/VideoModalComponent.html":{},"changelog.html":{}}}],["fitness",{"_index":4258,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":3790,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":3571,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":3921,"title":{},"body":{"changelog.html":{}}}],["flex",{"_index":401,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["flexible",{"_index":3626,"title":{},"body":{"changelog.html":{}}}],["float",{"_index":2750,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["floatlabel",{"_index":594,"title":{},"body":{"modules/AppModule.html":{}}}],["fly",{"_index":3989,"title":{},"body":{"changelog.html":{}}}],["focused",{"_index":2834,"title":{},"body":{"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{}}}],["focusin",{"_index":3204,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["following",{"_index":4247,"title":{},"body":{"license.html":{}}}],["font",{"_index":408,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["footer",{"_index":2751,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["foreach(def",{"_index":1413,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["form",{"_index":1326,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["format",{"_index":2449,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"changelog.html":{}}}],["formatted",{"_index":1240,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["formcontrol",{"_index":2123,"title":{},"body":{"components/NameInputComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{}}}],["formsmodule",{"_index":2146,"title":{},"body":{"modules/NameInputModule.html":{},"modules/TagSearchModule.html":{}}}],["found",{"_index":2764,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["frame",{"_index":3810,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":4167,"title":{},"body":{"index.html":{}}}],["free",{"_index":4228,"title":{},"body":{"license.html":{}}}],["from(fetch(url)).pipe",{"_index":2199,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["from(search(text",{"_index":3298,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["fs",{"_index":4113,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":1499,"title":{},"body":{"classes/InitializationState.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["fullscreen",{"_index":3946,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":3800,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":466,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"interfaces/GlobalConfig.html":{},"classes/InitializationState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["functions",{"_index":4160,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["funded",{"_index":4216,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":4246,"title":{},"body":{"license.html":{}}}],["further",{"_index":3942,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":3791,"title":{},"body":{"changelog.html":{}}}],["ga",{"_index":683,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["gatoken",{"_index":1103,"title":{},"body":{"modules/CoreModule.html":{}}}],["general",{"_index":2244,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["generate",{"_index":3649,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":3670,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":3613,"title":{},"body":{"changelog.html":{}}}],["generic",{"_index":1685,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["genericmessage",{"_index":1054,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["genericmessagechannel",{"_index":1055,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["genericmessageservice",{"_index":1056,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["getarguments",{"_index":1453,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["getarguments(undefined",{"_index":1458,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["getclassend",{"_index":3400,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["getcontent",{"_index":808,"title":{},"body":{"components/ContainerComponent.html":{}}}],["getcurrentdate",{"_index":2493,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getcurrentidentifier",{"_index":2490,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getdisabled",{"_index":2691,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["getglobalskipconfirmation",{"_index":2280,"title":{},"body":{"injectables/PageState.html":{}}}],["gethaschanges",{"_index":2282,"title":{},"body":{"injectables/PageState.html":{}}}],["gethasthicknessvalue",{"_index":3018,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["gethaswrappedcontent",{"_index":811,"title":{},"body":{"components/ContainerComponent.html":{}}}],["geticon",{"_index":3401,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["getid",{"_index":3480,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["getid(_index",{"_index":3493,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["getislighttheme",{"_index":319,"title":{},"body":{"components/AppComponent.html":{}}}],["getisvalid",{"_index":2497,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getjsonld",{"_index":2484,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getlabelel",{"_index":3077,"title":{},"body":{"components/StageNavComponent.html":{}}}],["getlatesttags",{"_index":97,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["getleft",{"_index":1706,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["getmessages",{"_index":1883,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmessagesfromsource",{"_index":1907,"title":{},"body":{"classes/MessageChannel.html":{}}}],["getmessagesfromsource(source",{"_index":1886,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmessagesfromsources",{"_index":1908,"title":{},"body":{"classes/MessageChannel.html":{}}}],["getmessagesfromsources(sources",{"_index":1890,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["getmetadata",{"_index":2482,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getmethodname",{"_index":1444,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["getmethodname(undefined",{"_index":1460,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["getname",{"_index":2129,"title":{},"body":{"components/NameInputComponent.html":{}}}],["getnodebbox",{"_index":4034,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["getnodebbox(model",{"_index":2898,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/functions.html":{}}}],["getnodebbox(placement[0",{"_index":2946,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["getnodecollisions",{"_index":2882,"title":{},"body":{"injectables/SceneState.html":{}}}],["getnodes",{"_index":2873,"title":{},"body":{"injectables/SceneState.html":{}}}],["getoptionsel",{"_index":3081,"title":{},"body":{"components/StageNavComponent.html":{}}}],["getorgandata",{"_index":2326,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["getorgandata(iri",{"_index":2234,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["getplacementcube",{"_index":2886,"title":{},"body":{"injectables/SceneState.html":{}}}],["getpreviousregistrationnodes",{"_index":2884,"title":{},"body":{"injectables/SceneState.html":{}}}],["getpreviousregistrations",{"_index":2488,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["getreferenceorganiri",{"_index":2327,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["getreferenceorganiri(organ",{"_index":2221,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["getreferenceorgannodes",{"_index":2877,"title":{},"body":{"injectables/SceneState.html":{}}}],["getreferenceorgansimplenodes",{"_index":2880,"title":{},"body":{"injectables/SceneState.html":{}}}],["getrotatednodes",{"_index":2875,"title":{},"body":{"injectables/SceneState.html":{}}}],["getrotation",{"_index":2889,"title":{},"body":{"injectables/SceneState.html":{}}}],["gets",{"_index":1483,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagListComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["getskipconfirmation",{"_index":2278,"title":{},"body":{"injectables/PageState.html":{}}}],["getsourcedb",{"_index":2193,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["gettags",{"_index":94,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["getter/setter",{"_index":1530,"title":{},"body":{"classes/InitializationState.html":{}}}],["gettheme",{"_index":3339,"title":{},"body":{"injectables/ThemingService.html":{}}}],["getting",{"_index":3559,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["getupdatedcheckedresults",{"_index":3198,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["getupdatedcheckedresults(result",{"_index":3232,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["getvalid",{"_index":2486,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["github",{"_index":3860,"title":{},"body":{"changelog.html":{}}}],["give",{"_index":1875,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["given",{"_index":1239,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{}}}],["gizmo",{"_index":967,"title":{},"body":{"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["gland",{"_index":1171,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["global",{"_index":14,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/GlobalConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"miscellaneous/variables.html":{}}}],["global_config",{"_index":748,"title":{},"body":{"modules/ConfigModule.html":{},"interfaces/GlobalConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["globalconfig",{"_index":245,"title":{"interfaces/GlobalConfig.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["globalconfig.getoption('fetchpreviousregistrations').pipe",{"_index":2519,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["globalconfigfactory",{"_index":749,"title":{},"body":{"modules/ConfigModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["globalconfigfactory(globals",{"_index":1353,"title":{},"body":{"interfaces/GlobalConfig.html":{},"miscellaneous/functions.html":{}}}],["globalconfigstate",{"_index":246,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["globally",{"_index":2190,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["globals",{"_index":2185,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"miscellaneous/functions.html":{}}}],["globals.get('ruiconfig",{"_index":1354,"title":{},"body":{"interfaces/GlobalConfig.html":{}}}],["globalskipconfirmation",{"_index":2253,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["globalsservice",{"_index":747,"title":{},"body":{"modules/ConfigModule.html":{},"interfaces/GlobalConfig.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["globalthis.getcomputedstyle(element",{"_index":1567,"title":{},"body":{"classes/InitializationState.html":{}}}],["globalthis['ruiconfig",{"_index":649,"title":{},"body":{"components/AppWebComponent.html":{}}}],["good",{"_index":3898,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":669,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"dependencies.html":{}}}],["googleanalyticsservice",{"_index":667,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["granted",{"_index":4227,"title":{},"body":{"license.html":{}}}],["graph",{"_index":4274,"title":{},"body":{"modules.html":{}}}],["graphical",{"_index":3640,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":4116,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":3719,"title":{},"body":{"changelog.html":{}}}],["group",{"_index":3100,"title":{},"body":{"components/StageNavComponent.html":{}}}],["grow",{"_index":729,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{}}}],["gtex",{"_index":3650,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":3894,"title":{},"body":{"changelog.html":{}}}],["half",{"_index":1497,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["hand",{"_index":1125,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{}}}],["handleclick",{"_index":228,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{}}}],["handleclick(target",{"_index":272,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{}}}],["handlefile",{"_index":1637,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["handlefile(event",{"_index":1648,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["handlekey",{"_index":229,"title":{},"body":{"components/AppComponent.html":{}}}],["handlekey(target",{"_index":274,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["handlemessage",{"_index":766,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"components/ToggleButtonComponent.html":{}}}],["handlemessage(_msg",{"_index":776,"title":{},"body":{"components/ContainerComponent.html":{}}}],["handlemessage(msg",{"_index":1001,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["handlenodedrag",{"_index":872,"title":{},"body":{"components/ContentComponent.html":{}}}],["handlenodedrag(event",{"_index":880,"title":{},"body":{"components/ContentComponent.html":{}}}],["handler",{"_index":1654,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{}}}],["handles",{"_index":1237,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["handling",{"_index":1398,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["happen",{"_index":3928,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":3876,"title":{},"body":{"changelog.html":{}}}],["happy",{"_index":3128,"title":{},"body":{"modules/StoreModule.html":{}}}],["haschanges",{"_index":2254,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["hascheckedtags",{"_index":3199,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hash",{"_index":4140,"title":{},"body":{"dependencies.html":{}}}],["hasthicknessvalue",{"_index":2997,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["haswrappedcontent",{"_index":769,"title":{},"body":{"components/ContainerComponent.html":{}}}],["header",{"_index":219,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"interfaces/User.html":{}}}],["header'},{'name",{"_index":491,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["header.component",{"_index":1387,"title":{},"body":{"modules/HeaderModule.html":{}}}],["header.component.html",{"_index":1357,"title":{},"body":{"components/HeaderComponent.html":{}}}],["header.component.scss",{"_index":1356,"title":{},"body":{"components/HeaderComponent.html":{}}}],["headercomponent",{"_index":490,"title":{"components/HeaderComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["headermodule",{"_index":543,"title":{"modules/HeaderModule.html":{}},"body":{"modules/AppModule.html":{},"modules/HeaderModule.html":{},"modules.html":{},"overview.html":{}}}],["heart",{"_index":1149,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["heart.svg",{"_index":1150,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["height",{"_index":404,"title":{},"body":{"components/AppComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["helmet",{"_index":4121,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":3893,"title":{},"body":{"changelog.html":{}}}],["helper",{"_index":61,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContainerComponent.html":{},"components/StageNavComponent.html":{},"miscellaneous/functions.html":{}}}],["here",{"_index":168,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["hereby",{"_index":4226,"title":{},"body":{"license.html":{}}}],["hex",{"_index":4123,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":407,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["hiderequiredmarker",{"_index":595,"title":{},"body":{"modules/AppModule.html":{}}}],["hides",{"_index":912,"title":{},"body":{"components/ContentComponent.html":{}}}],["highlight",{"_index":3699,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":3475,"title":{},"body":{"interfaces/VisibilityItem.html":{},"changelog.html":{}}}],["highlights",{"_index":3700,"title":{},"body":{"changelog.html":{}}}],["hint",{"_index":81,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["holders",{"_index":4263,"title":{},"body":{"license.html":{}}}],["home",{"_index":1372,"title":{},"body":{"components/HeaderComponent.html":{}}}],["homeurl",{"_index":220,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/User.html":{}}}],["hooked",{"_index":3833,"title":{},"body":{"changelog.html":{}}}],["horizontal",{"_index":2837,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["host",{"_index":399,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["hostbinding",{"_index":665,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["hostbinding('@expandcollapse",{"_index":1548,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostbinding('@fadeinout",{"_index":1016,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["hostbinding('@openclose",{"_index":1547,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostbinding('class",{"_index":677,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["hostbinding('class.ccf",{"_index":1525,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["hostbinding('class.cff",{"_index":1012,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["hostbinding('style.margin",{"_index":1017,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["hostbindings",{"_index":705,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["hostlistener",{"_index":322,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"classes/InitializationState.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{}}}],["hostlistener('@expandcollapse.done",{"_index":1599,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostlistener('@openclose.done",{"_index":1595,"title":{},"body":{"classes/InitializationState.html":{}}}],["hostlistener('click",{"_index":3290,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlistener('click')@hostlistener('focusin",{"_index":3240,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlistener('document:click",{"_index":273,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{}}}],["hostlistener('document:keydown",{"_index":275,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["hostlistener('focusin",{"_index":3291,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlistener('window:click",{"_index":3226,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlistener('window:focusin",{"_index":3293,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["hostlisteners",{"_index":233,"title":{},"body":{"components/AppComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{}}}],["hover",{"_index":454,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["hovered",{"_index":1786,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["hovering",{"_index":3759,"title":{},"body":{"changelog.html":{}}}],["hra",{"_index":3563,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["html",{"_index":469,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["htmlelement",{"_index":253,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/JsonFileReaderComponent.html":{},"components/StageNavComponent.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{}}}],["htmlinputelement",{"_index":693,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["htmlscriptelement",{"_index":3438,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["http://purl.org/ccf/1.5/${this.currentidentifier",{"_index":2606,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["http://purl.org/ccf/1.5/${this.currentidentifier}_placement",{"_index":2627,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["http://purl.org/ccf/latest/ccf.owl#vhmaleorgans_vhm_spleen_colic_surface",{"_index":2859,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["httpclientmodule",{"_index":1094,"title":{},"body":{"modules/CoreModule.html":{}}}],["https://beta",{"_index":4178,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":4189,"title":{},"body":{"index.html":{}}}],["https://hubmap",{"_index":4182,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":2603,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"index.html":{}}}],["https://humanatlas.io",{"_index":4207,"title":{},"body":{"index.html":{}}}],["https://observablehq.com/@cns",{"_index":4204,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":4184,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":4180,"title":{},"body":{"index.html":{}}}],["https://r5i95k35v5.us",{"_index":4191,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":3983,"title":{},"body":{"changelog.html":{}}}],["https://www.ngxs.io/advanced/options",{"_index":3136,"title":{},"body":{"modules/StoreModule.html":{}}}],["https://www.youtube.com/iframe_api",{"_index":3440,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["hubmap",{"_index":591,"title":{},"body":{"modules/AppModule.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["human",{"_index":3561,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["i18nplural:countmapping",{"_index":3311,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["icon",{"_index":441,"title":{},"body":{"components/AppComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/ReviewModalComponent.html":{},"components/StageNavComponent.html":{},"modules/StoreModule.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["icon.add",{"_index":2762,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["icon.name",{"_index":1418,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["icon.namespace",{"_index":1419,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["icondefinition",{"_index":1388,"title":{"interfaces/IconDefinition.html":{}},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{}}}],["iconregistry",{"_index":1399,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["iconregistrystate",{"_index":1400,"title":{"injectables/IconRegistryState.html":{}},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["icons",{"_index":1130,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["icons.ts",{"_index":1114,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["id",{"_index":155,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["idb",{"_index":4126,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":1856,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["identifiers",{"_index":4288,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["idmatches(ontologyid",{"_index":2033,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["iec",{"_index":3873,"title":{},"body":{"changelog.html":{}}}],["iframe",{"_index":3426,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["ignoredkeys",{"_index":1992,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ignoredkeys.includes(key",{"_index":1995,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["iif",{"_index":2284,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["iif(!!config.user",{"_index":2301,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["image",{"_index":3867,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":3910,"title":{},"body":{"changelog.html":{}}}],["immutable",{"_index":2151,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["implementation",{"_index":60,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{}}}],["implemented",{"_index":3832,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":3948,"title":{},"body":{"changelog.html":{}}}],["implements",{"_index":205,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{}}}],["implied",{"_index":4255,"title":{},"body":{"license.html":{}}}],["implies",{"_index":1067,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["import",{"_index":99,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{}}}],["important",{"_index":458,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["imported",{"_index":1109,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["imports",{"_index":552,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["improve",{"_index":3827,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":3664,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":3636,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":3720,"title":{},"body":{"changelog.html":{}}}],["in's",{"_index":1768,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["include",{"_index":3880,"title":{},"body":{"changelog.html":{}}}],["included",{"_index":4250,"title":{},"body":{"license.html":{}}}],["includes",{"_index":3610,"title":{},"body":{"changelog.html":{}}}],["including",{"_index":3698,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":3855,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":3944,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":18,"title":{"index.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indexes",{"_index":3578,"title":{},"body":{"changelog.html":{}}}],["indiana",{"_index":4214,"title":{},"body":{"index.html":{}}}],["indicator",{"_index":1819,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["individual",{"_index":3837,"title":{},"body":{"changelog.html":{}}}],["infinity",{"_index":364,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["infix",{"_index":3316,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["info",{"_index":3,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["info.side",{"_index":2240,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["infobuttonmodule",{"_index":2794,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["information",{"_index":891,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ExtractionSet.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":3913,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":3882,"title":{},"body":{"changelog.html":{}}}],["init",{"_index":3431,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["initial",{"_index":307,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/SlicesInputComponent.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["initialconfig",{"_index":647,"title":{},"body":{"components/AppWebComponent.html":{}}}],["initialdelay",{"_index":645,"title":{},"body":{"components/AppWebComponent.html":{}}}],["initialization",{"_index":1571,"title":{},"body":{"classes/InitializationState.html":{}}}],["initializationstate",{"_index":1465,"title":{"classes/InitializationState.html":{}},"body":{"classes/InitializationState.html":{},"coverage.html":{}}}],["initialize",{"_index":3340,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initialize(component",{"_index":3349,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initialize(element",{"_index":3355,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initialized",{"_index":606,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"injectables/ThemingService.html":{}}}],["initializer",{"_index":3352,"title":{},"body":{"injectables/ThemingService.html":{}}}],["initializes",{"_index":65,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/ToggleButtonComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["initializing",{"_index":1064,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["initskipconfirmationlisteners",{"_index":2248,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["inject",{"_index":1860,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"injectables/ThemingService.html":{},"components/VideoModalComponent.html":{}}}],["inject(default_theme",{"_index":3372,"title":{},"body":{"injectables/ThemingService.html":{}}}],["inject(document",{"_index":3434,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["inject(mat_dialog_data",{"_index":2730,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["injectable",{"_index":0,"title":{"injectables/AnatomicalStructureTagState.html":{},"injectables/IconRegistryState.html":{},"injectables/MessageService.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"injectables/RegistrationState.html":{},"injectables/SceneState.html":{},"injectables/ThemingService.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"injectables/ThemingService.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["injectables",{"_index":2,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"injectables/IconRegistryState.html":{},"injectables/MessageService.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"injectables/RegistrationState.html":{},"injectables/SceneState.html":{},"injectables/ThemingService.html":{},"overview.html":{}}}],["injected",{"_index":2728,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["injecting",{"_index":164,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["injectiontoken",{"_index":1345,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["injectiontoken('default",{"_index":3368,"title":{},"body":{"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["injector",{"_index":37,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{}}}],["injector.get(overlaycontainer",{"_index":3383,"title":{},"body":{"injectables/ThemingService.html":{}}}],["injector.get(renderer2",{"_index":3381,"title":{},"body":{"injectables/ThemingService.html":{}}}],["injector.get(themingservice",{"_index":3370,"title":{},"body":{"injectables/ThemingService.html":{}}}],["inline",{"_index":2772,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["input",{"_index":259,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["input'},{'name",{"_index":477,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["input.component",{"_index":744,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/NameInputModule.html":{},"modules/SlicesInputModule.html":{}}}],["input.component.html",{"_index":675,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["input.component.scss",{"_index":676,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["input.component.ts",{"_index":658,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["input.component.ts:31",{"_index":3015,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:35",{"_index":709,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{}}}],["input.component.ts:36",{"_index":3013,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:40",{"_index":708,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{}}}],["input.component.ts:41",{"_index":3014,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:44",{"_index":2127,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.component.ts:45",{"_index":707,"title":{},"body":{"components/BlockSizeInputComponent.html":{}}}],["input.component.ts:46",{"_index":3019,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:48",{"_index":3012,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:50",{"_index":2119,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.component.ts:54",{"_index":2131,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.component.ts:60",{"_index":711,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{}}}],["input.component.ts:63",{"_index":3017,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:68",{"_index":2117,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.component.ts:70",{"_index":710,"title":{},"body":{"components/BlockSizeInputComponent.html":{}}}],["input.component.ts:73",{"_index":3016,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["input.component.ts:83",{"_index":2121,"title":{},"body":{"components/NameInputComponent.html":{}}}],["input.module",{"_index":1845,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RightSidebarModule.html":{}}}],["input.module.ts",{"_index":734,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/NameInputModule.html":{},"modules/SlicesInputModule.html":{}}}],["input.target",{"_index":692,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["input/block",{"_index":657,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/RightSidebarModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["input/name",{"_index":1844,"title":{},"body":{"modules/LeftSidebarModule.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"interfaces/UserName.html":{},"coverage.html":{}}}],["input/slices",{"_index":2786,"title":{},"body":{"modules/RightSidebarModule.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["input[type=number",{"_index":714,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["inputarray",{"_index":1241,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["inputarray.join",{"_index":1244,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["inputevent",{"_index":685,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/NameInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/UserName.html":{}}}],["inputs",{"_index":607,"title":{},"body":{"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["inputtarget",{"_index":691,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["inputtarget.files",{"_index":1664,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["inputtarget.files[0",{"_index":1665,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["inputtarget.value",{"_index":695,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["inputted",{"_index":2677,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["inputting",{"_index":2110,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["insertitem",{"_index":2499,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["insertitem(registration",{"_index":2567,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["inside",{"_index":1261,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["instance",{"_index":41,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["instanceof",{"_index":3294,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["instant",{"_index":1491,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["instead",{"_index":3054,"title":{},"body":{"components/StageNavComponent.html":{},"changelog.html":{}}}],["instructions",{"_index":3726,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":3801,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":3695,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":3881,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":3814,"title":{},"body":{"changelog.html":{}}}],["interact",{"_index":3785,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":3931,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":3980,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":129,"title":{"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"interfaces/Message.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":195,"title":{},"body":{"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"interfaces/Message.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":3866,"title":{},"body":{"changelog.html":{}}}],["interval",{"_index":3264,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["interval(this.searchthrottle",{"_index":3272,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["intestine",{"_index":1156,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["intestine.svg",{"_index":1157,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["invisible",{"_index":995,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["iri",{"_index":149,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["iris",{"_index":2559,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["iris.has(item.id",{"_index":2563,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["is3dview",{"_index":868,"title":{},"body":{"components/ContentComponent.html":{}}}],["isdatavalid",{"_index":2434,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["isdatavalid(page",{"_index":2456,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["isdropdownactive",{"_index":3036,"title":{},"body":{"components/StageNavComponent.html":{}}}],["isdropdownhidden",{"_index":3037,"title":{},"body":{"components/StageNavComponent.html":{}}}],["islighttheme",{"_index":236,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["ismultiple",{"_index":1288,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["isnan(this.slicesconfig.thickness",{"_index":2998,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["isnarrowview",{"_index":869,"title":{},"body":{"components/ContentComponent.html":{}}}],["isolated",{"_index":1868,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/variables.html":{}}}],["issue",{"_index":3851,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":3615,"title":{},"body":{"changelog.html":{}}}],["isvalid",{"_index":2442,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["it's",{"_index":3693,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":1278,"title":{},"body":{"interfaces/ExtractionSet.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["item.id",{"_index":2565,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/VisibilityMenuComponent.html":{}}}],["item.name",{"_index":2566,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/VisibilityMenuComponent.html":{}}}],["item.opacity",{"_index":2932,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["item.tooltip",{"_index":1801,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["item.ts",{"_index":3474,"title":{},"body":{"interfaces/VisibilityItem.html":{},"coverage.html":{}}}],["item.visible",{"_index":2931,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/VisibilityMenuComponent.html":{}}}],["item?.tooltip",{"_index":1799,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["items",{"_index":445,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/DetailsLabelComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["items.length",{"_index":3302,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["items.slice(0",{"_index":3303,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["itemschange",{"_index":3487,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["iu",{"_index":3961,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":4205,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":3586,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["join",{"_index":1242,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["json",{"_index":493,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["json.parse(filereader.result",{"_index":1668,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["json.stringify(jsonobj",{"_index":2580,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["json_file_reader",{"_index":1670,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["jsonfilereadercomponent",{"_index":492,"title":{"components/JsonFileReaderComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["jsonfilereadermodule",{"_index":1674,"title":{"modules/JsonFileReaderModule.html":{}},"body":{"modules/JsonFileReaderModule.html":{},"modules/LeftSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["jsonld",{"_index":2438,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"dependencies.html":{}}}],["jsonobj",{"_index":2576,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["july",{"_index":3930,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":3967,"title":{},"body":{"changelog.html":{}}}],["justify",{"_index":433,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["keeps",{"_index":1784,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["key",{"_index":687,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/StoreModule.html":{},"interfaces/UserName.html":{},"interfaces/XYZTriplet.html":{}}}],["keyboard",{"_index":271,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["keyboardevent",{"_index":265,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["keys",{"_index":269,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{}}}],["keyval",{"_index":4127,"title":{},"body":{"dependencies.html":{}}}],["kidney",{"_index":1151,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["kidney.svg",{"_index":1152,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["kind",{"_index":4254,"title":{},"body":{"license.html":{}}}],["knee",{"_index":1153,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["knee.svg",{"_index":1154,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["known",{"_index":3614,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":3602,"title":{},"body":{"changelog.html":{}}}],["l",{"_index":1752,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["label",{"_index":156,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/DetailsLabelComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["label'},{'name",{"_index":484,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["label.component",{"_index":1252,"title":{},"body":{"modules/DetailsLabelModule.html":{}}}],["label.component.html",{"_index":1231,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.component.scss",{"_index":1230,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.component.ts",{"_index":1222,"title":{},"body":{"components/DetailsLabelComponent.html":{},"coverage.html":{}}}],["label.component.ts:15",{"_index":1234,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.component.ts:20",{"_index":1233,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.component.ts:29",{"_index":1236,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["label.module",{"_index":1838,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["label.module.ts",{"_index":1251,"title":{},"body":{"modules/DetailsLabelModule.html":{}}}],["label/details",{"_index":1221,"title":{},"body":{"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["labeled",{"_index":496,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["labeledslidetogglecomponent",{"_index":495,"title":{"components/LabeledSlideToggleComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["labeledslidetogglemodule",{"_index":1719,"title":{"modules/LabeledSlideToggleModule.html":{}},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/StageNavModule.html":{},"modules.html":{},"overview.html":{}}}],["labelel",{"_index":3046,"title":{},"body":{"components/StageNavComponent.html":{}}}],["labelel.contains(target",{"_index":3088,"title":{},"body":{"components/StageNavComponent.html":{}}}],["labelref",{"_index":3038,"title":{},"body":{"components/StageNavComponent.html":{}}}],["labels",{"_index":1691,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["labels[0",{"_index":1715,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["labels[0]}}{{labels[1",{"_index":1718,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["labels[1",{"_index":1708,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["labs/data",{"_index":3116,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["labs/data/decorators",{"_index":108,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["labs/data/repositories",{"_index":109,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["labs/dispatch",{"_index":4089,"title":{},"body":{"dependencies.html":{}}}],["landmark",{"_index":1311,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["landmarks",{"_index":1809,"title":{},"body":{"components/LeftSidebarComponent.html":{},"changelog.html":{}}}],["large",{"_index":1155,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["larger",{"_index":3655,"title":{},"body":{"changelog.html":{}}}],["larynx",{"_index":1158,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["larynx.svg",{"_index":1159,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["last",{"_index":2128,"title":{},"body":{"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"modules/StoreModule.html":{},"interfaces/UserName.html":{}}}],["lastname",{"_index":335,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/GlobalConfig.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{}}}],["lastnamevalidator",{"_index":2114,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["latest",{"_index":3623,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["latesttags",{"_index":34,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["launch",{"_index":2658,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["launcher",{"_index":3447,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher'},{'name",{"_index":526,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["launcher.component",{"_index":3466,"title":{},"body":{"modules/VideoModalLauncherModule.html":{}}}],["launcher.component.html",{"_index":3449,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.component.scss",{"_index":3448,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.component.ts",{"_index":3445,"title":{},"body":{"components/VideoModalLauncherComponent.html":{},"coverage.html":{}}}],["launcher.component.ts:17",{"_index":3452,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.component.ts:22",{"_index":3451,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.component.ts:32",{"_index":3453,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launcher.module",{"_index":1088,"title":{},"body":{"modules/ContentModule.html":{}}}],["launcher.module.ts",{"_index":3465,"title":{},"body":{"modules/VideoModalLauncherModule.html":{}}}],["launcher/video",{"_index":1087,"title":{},"body":{"modules/ContentModule.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"coverage.html":{}}}],["launches",{"_index":3454,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launching",{"_index":3446,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["launchreviewmodal",{"_index":2663,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["launchvideomodal",{"_index":3450,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["layers",{"_index":4075,"title":{},"body":{"dependencies.html":{}}}],["lazy",{"_index":49,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ld",{"_index":3891,"title":{},"body":{"changelog.html":{}}}],["leading",{"_index":1998,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["leak",{"_index":3850,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":3708,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":450,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["left.px",{"_index":990,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["left.svg",{"_index":1147,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["left/right",{"_index":3717,"title":{},"body":{"changelog.html":{}}}],["leftmargin",{"_index":983,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["leftsidebarcomponent",{"_index":499,"title":{"components/LeftSidebarComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["leftsidebarmodule",{"_index":544,"title":{"modules/LeftSidebarModule.html":{}},"body":{"modules/AppModule.html":{},"modules/LeftSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["legend",{"_index":468,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["length",{"_index":3000,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["level",{"_index":3377,"title":{},"body":{"injectables/ThemingService.html":{},"changelog.html":{}}}],["levels",{"_index":3977,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":4267,"title":{},"body":{"license.html":{}}}],["liable",{"_index":4264,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":3658,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":3821,"title":{},"body":{"changelog.html":{}}}],["library/assets/body4mesh_1338.glb",{"_index":2861,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["license",{"_index":4220,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":3704,"title":{},"body":{"changelog.html":{}}}],["light",{"_index":284,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["lighter",{"_index":1369,"title":{},"body":{"components/HeaderComponent.html":{}}}],["limit",{"_index":70,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"miscellaneous/variables.html":{}}}],["limitation",{"_index":4234,"title":{},"body":{"license.html":{}}}],["limited",{"_index":3917,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["limits",{"_index":2999,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["line",{"_index":125,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["link",{"_index":1370,"title":{},"body":{"components/HeaderComponent.html":{},"changelog.html":{}}}],["linkage",{"_index":3932,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":3628,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":3681,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":2769,"title":{},"body":{"components/RightSidebarComponent.html":{},"components/TagListComponent.html":{},"changelog.html":{}}}],["list'},{'name",{"_index":518,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["list.component",{"_index":3183,"title":{},"body":{"modules/TagListModule.html":{}}}],["list.component.html",{"_index":3151,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.scss",{"_index":3150,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts",{"_index":3148,"title":{},"body":{"components/TagListComponent.html":{},"coverage.html":{}}}],["list.component.ts:18",{"_index":3158,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:23",{"_index":3156,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:28",{"_index":3157,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:33",{"_index":3155,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:49",{"_index":3165,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:53",{"_index":3163,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.component.ts:62",{"_index":3159,"title":{},"body":{"components/TagListComponent.html":{}}}],["list.module",{"_index":2789,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["list.module.ts",{"_index":3180,"title":{},"body":{"modules/TagListModule.html":{}}}],["list/tag",{"_index":2788,"title":{},"body":{"modules/RightSidebarModule.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"coverage.html":{}}}],["listen",{"_index":1866,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["listener",{"_index":1593,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["listeners",{"_index":786,"title":{},"body":{"components/ContainerComponent.html":{}}}],["listens",{"_index":3060,"title":{},"body":{"components/StageNavComponent.html":{}}}],["literal",{"_index":1344,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/ReferenceDataStateModel.html":{},"dependencies.html":{}}}],["little",{"_index":3783,"title":{},"body":{"changelog.html":{}}}],["liver",{"_index":1160,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["liver.svg",{"_index":1161,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["load",{"_index":50,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VideoModalComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["loaded",{"_index":1117,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{}}}],["loaders.gl/core",{"_index":4079,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":4081,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":4082,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":3605,"title":{},"body":{"changelog.html":{}}}],["loads",{"_index":3425,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["loadyoutubeplayerapi",{"_index":3421,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["local",{"_index":2524,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["located",{"_index":1524,"title":{},"body":{"classes/InitializationState.html":{}}}],["location",{"_index":3369,"title":{},"body":{"injectables/ThemingService.html":{},"changelog.html":{}}}],["locations",{"_index":3603,"title":{},"body":{"changelog.html":{}}}],["lodash",{"_index":1947,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["log",{"_index":4208,"title":{},"body":{"index.html":{}}}],["logger",{"_index":3141,"title":{},"body":{"modules/StoreModule.html":{}}}],["logging",{"_index":3652,"title":{},"body":{"changelog.html":{}}}],["logic",{"_index":1506,"title":{},"body":{"classes/InitializationState.html":{}}}],["logo",{"_index":1380,"title":{},"body":{"components/HeaderComponent.html":{}}}],["logotooltip",{"_index":221,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/User.html":{}}}],["longer",{"_index":3767,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":1259,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/HeaderComponent.html":{},"changelog.html":{}}}],["looks",{"_index":2219,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["lookup",{"_index":2180,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["lowerbound",{"_index":2900,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["lowerbound[i",{"_index":2909,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["lru",{"_index":4131,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":4083,"title":{},"body":{"dependencies.html":{}}}],["lung",{"_index":1162,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["lung.svg",{"_index":1163,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["lymph",{"_index":1164,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["m",{"_index":3021,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["made",{"_index":2307,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"changelog.html":{}}}],["main",{"_index":754,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["major",{"_index":3608,"title":{},"body":{"changelog.html":{}}}],["make",{"_index":2189,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["makes",{"_index":3505,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["making",{"_index":1760,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["male",{"_index":1348,"title":{},"body":{"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["mammary",{"_index":1170,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["managed",{"_index":312,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["managers",{"_index":3662,"title":{},"body":{"changelog.html":{}}}],["manages",{"_index":3336,"title":{},"body":{"injectables/ThemingService.html":{}}}],["manually",{"_index":1659,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["map",{"_index":114,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/TagSearchComponent.html":{}}}],["map(([_viewtype",{"_index":2975,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([anatomicalstructures",{"_index":2927,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([entities",{"_index":137,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["map(([haschanges",{"_index":2318,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["map(([local",{"_index":2523,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["map(([nodes",{"_index":2945,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([organ",{"_index":1779,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["map(([organiri",{"_index":2952,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([page",{"_index":2511,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["map(([placement",{"_index":2915,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(([rotation",{"_index":2920,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map((item",{"_index":2564,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map((node",{"_index":2937,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map((set",{"_index":2097,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["map((side",{"_index":2988,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(basehref",{"_index":2195,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["map(def",{"_index":1410,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["map(dims",{"_index":898,"title":{},"body":{"components/ContentComponent.html":{}}}],["map(node",{"_index":2992,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["map(organ",{"_index":1788,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["map(p",{"_index":924,"title":{},"body":{"components/ContentComponent.html":{}}}],["map(sex",{"_index":1793,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["map(side",{"_index":1796,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["map(this.truncateresults",{"_index":3300,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["map(type",{"_index":917,"title":{},"body":{"components/ContentComponent.html":{}}}],["map(value",{"_index":2293,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["mapping",{"_index":3252,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["mapto",{"_index":1951,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["mapto(undefined",{"_index":2004,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["march",{"_index":3824,"title":{},"body":{"changelog.html":{}}}],["margin",{"_index":969,"title":{},"body":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/variables.html":{}}}],["margin2",{"_index":1503,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["markdown",{"_index":4137,"title":{},"body":{"dependencies.html":{}}}],["marrow",{"_index":1139,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["marrow.svg",{"_index":1140,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["mat",{"_index":1325,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["mat.transformaspoint",{"_index":2901,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["mat.transformaspoint([1",{"_index":2903,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["mat_dialog_data",{"_index":2734,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["mat_form_field_default_options",{"_index":559,"title":{},"body":{"modules/AppModule.html":{}}}],["matbuttonmodule",{"_index":1680,"title":{},"body":{"modules/JsonFileReaderModule.html":{},"modules/RegistrationContentModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/TagSearchModule.html":{}}}],["match",{"_index":2016,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["matcheckboxmodule",{"_index":3324,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["matches",{"_index":184,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["matches.length",{"_index":190,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["matches.map((as",{"_index":191,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["matching",{"_index":75,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["matchipsmodule",{"_index":3181,"title":{},"body":{"modules/TagListModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["matdialog",{"_index":2402,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["matdialogmodule",{"_index":2425,"title":{},"body":{"modules/RegistrationModalModule.html":{},"modules/ReviewModalModule.html":{},"modules/VideoModalModule.html":{}}}],["matdialogref",{"_index":2350,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["matdividermodule",{"_index":1835,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{},"modules/StageNavModule.html":{}}}],["material",{"_index":1374,"title":{},"body":{"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["matexpansionmodule",{"_index":1833,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{}}}],["matformfieldmodule",{"_index":3326,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["math.floor(p.x",{"_index":925,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.floor(p.y",{"_index":926,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.floor(p.z",{"_index":927,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.gl/core",{"_index":2155,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"dependencies.html":{}}}],["math.gl/culling",{"_index":4086,"title":{},"body":{"dependencies.html":{}}}],["math.max(dims.x",{"_index":899,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.max(dims.y",{"_index":903,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.max(dims.z",{"_index":905,"title":{},"body":{"components/ContentComponent.html":{}}}],["math.max(n",{"_index":2908,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["math.min(20",{"_index":2075,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["math.min(n",{"_index":2905,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["math.round(xyz.x",{"_index":2652,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["math.round(xyz.y",{"_index":2653,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["math.round(xyz.z",{"_index":2654,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["maticonmodule",{"_index":562,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/DrawerModule.html":{},"modules/HeaderModule.html":{},"modules/LeftSidebarModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["maticonregistry",{"_index":1394,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["matinputmodule",{"_index":738,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/NameInputModule.html":{},"modules/SlicesInputModule.html":{},"modules/TagSearchModule.html":{}}}],["matradiomodule",{"_index":3111,"title":{},"body":{"modules/StageNavModule.html":{}}}],["matripplemodule",{"_index":740,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/VisibilityMenuModule.html":{}}}],["matrix",{"_index":2205,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["matrix.transformaspoint",{"_index":2211,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["matrix4",{"_index":2153,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/functions.html":{}}}],["matrix4(matrix4.identity",{"_index":2207,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["matrix4(matrix4.identity).rotatey(toradians(rotation)).multiplyright(n.transformmatrix",{"_index":2922,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["matrix4(matrix4.identity).scale([2",{"_index":2863,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["matrix4(model.transformmatrix",{"_index":2899,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["matselectmodule",{"_index":1339,"title":{},"body":{"modules/ExtractionSetDropdownModule.html":{},"modules/StageNavModule.html":{}}}],["matslidermodule",{"_index":2845,"title":{},"body":{"modules/RotationSliderModule.html":{}}}],["matslidetogglemodule",{"_index":1724,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/NameInputModule.html":{}}}],["matsnackbar",{"_index":240,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["matsnackbarmodule",{"_index":564,"title":{},"body":{"modules/AppModule.html":{}}}],["mattooltipmodule",{"_index":742,"title":{},"body":{"modules/BlockSizeInputModule.html":{},"modules/HeaderModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/ReviewButtonModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{}}}],["max",{"_index":976,"title":{},"body":{"components/ContentComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["maximum",{"_index":78,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{}}}],["mc",{"_index":3960,"title":{},"body":{"changelog.html":{}}}],["measured",{"_index":1563,"title":{},"body":{"classes/InitializationState.html":{}}}],["measuredmargin",{"_index":1565,"title":{},"body":{"classes/InitializationState.html":{}}}],["measuredwidth",{"_index":1555,"title":{},"body":{"classes/InitializationState.html":{}}}],["memory",{"_index":3849,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":1817,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["menu'},{'name",{"_index":529,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["menu.component",{"_index":3538,"title":{},"body":{"modules/VisibilityMenuModule.html":{}}}],["menu.component.html",{"_index":3479,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.scss",{"_index":3478,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts",{"_index":3477,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"coverage.html":{}}}],["menu.component.ts:104",{"_index":3502,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:119",{"_index":3504,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:132",{"_index":3494,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:21",{"_index":3492,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:26",{"_index":3489,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:31",{"_index":3490,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:36",{"_index":3491,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:41",{"_index":3488,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:55",{"_index":3507,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:70",{"_index":3500,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:80",{"_index":3495,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.component.ts:90",{"_index":3510,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["menu.module",{"_index":1849,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["menu.module.ts",{"_index":3537,"title":{},"body":{"modules/VisibilityMenuModule.html":{}}}],["menu/visibility",{"_index":1848,"title":{},"body":{"modules/LeftSidebarModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"coverage.html":{}}}],["merchantability",{"_index":4257,"title":{},"body":{"license.html":{}}}],["merge",{"_index":4237,"title":{},"body":{"license.html":{}}}],["mergeall",{"_index":1863,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["message",{"_index":777,"title":{"interfaces/Message.html":{}},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["message_service_config",{"_index":1266,"title":{},"body":{"modules/DrawerModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["message_service_default_config",{"_index":1267,"title":{},"body":{"modules/DrawerModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["messagechannel",{"_index":792,"title":{"classes/MessageChannel.html":{}},"body":{"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["messagechannel(source",{"_index":1906,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["messagechannel.counter",{"_index":1893,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["messages",{"_index":773,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"miscellaneous/typealiases.html":{}}}],["messageservice",{"_index":758,"title":{"injectables/MessageService.html":{}},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["messageservice.connect(this",{"_index":836,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["messageservice.connect(this).getmessages",{"_index":1027,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["messageserviceconfig",{"_index":1865,"title":{"interfaces/MessageServiceConfig.html":{}},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["meta",{"_index":2689,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["metadata",{"_index":208,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/MetaDataField.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["metadatafield",{"_index":1923,"title":{"interfaces/MetaDataField.html":{}},"body":{"interfaces/MetaDataField.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["meter",{"_index":2167,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["method",{"_index":888,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["method.apply(registry",{"_index":1440,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["methodname",{"_index":1433,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/ThemingService.html":{}}}],["methods",{"_index":25,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["millimeter",{"_index":2166,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["min",{"_index":1333,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["minor",{"_index":3616,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":4159,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":4221,"title":{},"body":{"license.html":{}}}],["mm",{"_index":712,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["mock",{"_index":3956,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":309,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["modal's",{"_index":2683,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["modal'},{'name",{"_index":504,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["modal.component",{"_index":2424,"title":{},"body":{"modules/RegistrationModalModule.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewModalModule.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalModule.html":{}}}],["modal.component.html",{"_index":2399,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["modal.component.scss",{"_index":2722,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["modal.component.ts",{"_index":2397,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{},"coverage.html":{}}}],["modal.component.ts:15",{"_index":3423,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal.component.ts:21",{"_index":2403,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["modal.component.ts:22",{"_index":3433,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal.component.ts:23",{"_index":3432,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal.component.ts:26",{"_index":2729,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["modal.component.ts:29",{"_index":2407,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["modal.component.ts:30",{"_index":2733,"title":{},"body":{"components/ReviewModalComponent.html":{},"components/VideoModalComponent.html":{}}}],["modal.component.ts:35",{"_index":2725,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["modal.component.ts:37",{"_index":2404,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/VideoModalComponent.html":{}}}],["modal.component.ts:44",{"_index":2732,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["modal.component.ts:45",{"_index":2731,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["modal.component.ts:46",{"_index":3424,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal.component.ts:54",{"_index":2406,"title":{},"body":{"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{}}}],["modal.module",{"_index":584,"title":{},"body":{"modules/AppModule.html":{},"modules/ReviewButtonModule.html":{}}}],["modal.module.ts",{"_index":2423,"title":{},"body":{"modules/RegistrationModalModule.html":{},"modules/ReviewModalModule.html":{},"modules/VideoModalModule.html":{}}}],["modal.wrapper",{"_index":3444,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["modal/registration",{"_index":583,"title":{},"body":{"modules/AppModule.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"coverage.html":{}}}],["modal/review",{"_index":2694,"title":{},"body":{"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"coverage.html":{}}}],["modal/video",{"_index":1086,"title":{},"body":{"modules/ContentModule.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"coverage.html":{}}}],["modalclosed",{"_index":1744,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["mode",{"_index":286,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ReviewButtonComponent.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["model",{"_index":22,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["model.blocksize.x.tofixed(3",{"_index":2621,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.blocksize.y.tofixed(3",{"_index":2623,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.blocksize.z.tofixed(3",{"_index":2625,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.label",{"_index":2607,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.organ.name",{"_index":2572,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.organ.organ",{"_index":2573,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.organ.src",{"_index":2571,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.organiri",{"_index":2629,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.position.x.tofixed(3",{"_index":2646,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.position.y.tofixed(3",{"_index":2648,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.position.z.tofixed(3",{"_index":2650,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.representation_of",{"_index":150,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["model.rotation.x.tofixed(3",{"_index":2637,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.rotation.y.tofixed(3",{"_index":2639,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.rotation.z.tofixed(3",{"_index":2641,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.slicesconfig?.numslices",{"_index":2619,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.slicesconfig?.thickness",{"_index":2617,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.snapshot",{"_index":2578,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["model.tooltip",{"_index":157,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["model/model.state",{"_index":119,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["modelchanged",{"_index":1991,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["models/anatomical",{"_index":118,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["models/extraction",{"_index":1958,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["models/meta",{"_index":2504,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["models/visibility",{"_index":1959,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["modelstate",{"_index":88,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["modelstatemodel",{"_index":1926,"title":{"interfaces/ModelStateModel.html":{}},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["modification",{"_index":2496,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["modify",{"_index":4236,"title":{},"body":{"license.html":{}}}],["module",{"_index":533,"title":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{}}}],["modules",{"_index":535,"title":{"modules.html":{}},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"modules.html":{},"overview.html":{}}}],["modules/content/content.module",{"_index":577,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/header/header.module",{"_index":578,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/left",{"_index":579,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/registration",{"_index":582,"title":{},"body":{"modules/AppModule.html":{}}}],["modules/right",{"_index":585,"title":{},"body":{"modules/AppModule.html":{}}}],["monorepo",{"_index":4169,"title":{},"body":{"index.html":{}}}],["more",{"_index":1301,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"index.html":{}}}],["mouse",{"_index":3498,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["mouseevent",{"_index":2362,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["mouseout",{"_index":3481,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["mouseover",{"_index":3482,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["mouseover(item",{"_index":3499,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["mousepositiontrackermodule",{"_index":1097,"title":{},"body":{"modules/CoreModule.html":{}}}],["moved",{"_index":3969,"title":{},"body":{"changelog.html":{}}}],["moz",{"_index":715,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ms",{"_index":3268,"title":{},"body":{"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["msg",{"_index":1004,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["msg.payload",{"_index":1037,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["msg.payload.drawers",{"_index":1031,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["msg.payload.opened",{"_index":3407,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["msg.payload.type",{"_index":1029,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["msg.source",{"_index":1035,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["much",{"_index":3653,"title":{},"body":{"changelog.html":{}}}],["multi",{"_index":3334,"title":{},"body":{"modules/ThemingModule.html":{}}}],["multiple",{"_index":4170,"title":{},"body":{"index.html":{}}}],["n",{"_index":941,"title":{},"body":{"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["n3",{"_index":4132,"title":{},"body":{"dependencies.html":{}}}],["name",{"_index":44,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["name(value",{"_index":2136,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["name.endswith(info.organ",{"_index":2237,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["name_input",{"_index":2141,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["namechange",{"_index":2116,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["nameinputcomponent",{"_index":501,"title":{"components/NameInputComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["nameinputmodule",{"_index":1829,"title":{"modules/NameInputModule.html":{}},"body":{"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules.html":{},"overview.html":{}}}],["namematches(organname",{"_index":2037,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["names",{"_index":3741,"title":{},"body":{"changelog.html":{}}}],["namespace",{"_index":1126,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"miscellaneous/variables.html":{}}}],["namevalid",{"_index":2344,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["nan",{"_index":1974,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["narrow",{"_index":922,"title":{},"body":{"components/ContentComponent.html":{}}}],["native",{"_index":2586,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{}}}],["nav",{"_index":3033,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav'},{'name",{"_index":516,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["nav.component",{"_index":3113,"title":{},"body":{"modules/StageNavModule.html":{}}}],["nav.component.html",{"_index":3035,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.scss",{"_index":3034,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts",{"_index":3029,"title":{},"body":{"components/StageNavComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["nav.component.ts:109",{"_index":3069,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:19",{"_index":3058,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:23",{"_index":3051,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:29",{"_index":3049,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:32",{"_index":3055,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:35",{"_index":3056,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:38",{"_index":3057,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:41",{"_index":3073,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:44",{"_index":3075,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:47",{"_index":3070,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:50",{"_index":3071,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:53",{"_index":3078,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:58",{"_index":3082,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:60",{"_index":3048,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:76",{"_index":3059,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.component.ts:91",{"_index":3066,"title":{},"body":{"components/StageNavComponent.html":{}}}],["nav.module",{"_index":1085,"title":{},"body":{"modules/ContentModule.html":{}}}],["nav.module.ts",{"_index":3110,"title":{},"body":{"modules/StageNavModule.html":{}}}],["nav/stage",{"_index":1084,"title":{},"body":{"modules/ContentModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["navigation",{"_index":3966,"title":{},"body":{"changelog.html":{}}}],["necessary",{"_index":2676,"title":{},"body":{"components/ReviewButtonComponent.html":{},"injectables/ThemingService.html":{}}}],["need",{"_index":1121,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["needed",{"_index":3001,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"changelog.html":{}}}],["needs",{"_index":782,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["network",{"_index":4212,"title":{},"body":{"index.html":{}}}],["neuron",{"_index":1173,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["neuron.svg",{"_index":1174,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["never",{"_index":829,"title":{},"body":{"components/ContainerComponent.html":{},"miscellaneous/functions.html":{}}}],["new",{"_index":141,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/CoreModule.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["newplacement",{"_index":2213,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["newplacement.x_translation",{"_index":2216,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["newplacement.y_translation",{"_index":2217,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["newplacement.z_translation",{"_index":2218,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["newposition",{"_index":377,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"interfaces/User.html":{}}}],["newrotation",{"_index":2810,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["newstructures",{"_index":2073,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["next",{"_index":124,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["nextmessageid",{"_index":1892,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["ng",{"_index":1314,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ng5",{"_index":4134,"title":{},"body":{"dependencies.html":{}}}],["ngacceptinputtype_expanded",{"_index":1629,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngacceptinputtype_opened",{"_index":1628,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngacceptinputtype_position",{"_index":1627,"title":{},"body":{"classes/InitializationState.html":{}}}],["ngafterviewinit",{"_index":767,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["ngdobootstrap",{"_index":553,"title":{},"body":{"modules/AppModule.html":{}}}],["ngmodule",{"_index":556,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["ngonchanges",{"_index":2664,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["ngondestroy",{"_index":230,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["ngoninit",{"_index":231,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/RegistrationModalComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{}}}],["ngx",{"_index":668,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["ngxs",{"_index":107,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["ngxs/logger",{"_index":3118,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/storage",{"_index":3121,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["ngxs/store",{"_index":110,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["ngxs/store/operators",{"_index":2286,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["ngxsdataentitycollectionsrepository",{"_index":17,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["ngxsdatapluginmodule",{"_index":3115,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdatapluginmodule.forroot",{"_index":3130,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsdatarepository",{"_index":1396,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["ngxsimmutabledatarepository",{"_index":1941,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ngxsloggerpluginmodule",{"_index":3117,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsloggerpluginmodule.forroot",{"_index":3142,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule",{"_index":3122,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsmodule.forroot(root_states",{"_index":3131,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsoninit",{"_index":29,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ngxsstoragepluginmodule",{"_index":3120,"title":{},"body":{"modules/StoreModule.html":{}}}],["ngxsstoragepluginmodule.forroot",{"_index":3139,"title":{},"body":{"modules/StoreModule.html":{}}}],["nih",{"_index":4217,"title":{},"body":{"index.html":{}}}],["node",{"_index":3295,"title":{},"body":{"components/TagSearchComponent.html":{},"dependencies.html":{}}}],["node.representation_of",{"_index":2936,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodecollisions",{"_index":2852,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodedragevent",{"_index":881,"title":{},"body":{"components/ContentComponent.html":{}}}],["nodes",{"_index":1165,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"miscellaneous/variables.html":{}}}],["nodes.filter((model",{"_index":2947,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodes.map(n",{"_index":2921,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["nodes.svg",{"_index":1166,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["none",{"_index":413,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["noninfringement",{"_index":4261,"title":{},"body":{"license.html":{}}}],["nonnullable",{"_index":641,"title":{},"body":{"components/AppWebComponent.html":{},"miscellaneous/typealiases.html":{}}}],["normalizeplacement",{"_index":2328,"title":{},"body":{"injectables/ReferenceDataState.html":{}}}],["normalizeplacement(place",{"_index":2201,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["not(.cdk",{"_index":2833,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["not(:last",{"_index":725,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/NameInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["note",{"_index":3592,"title":{},"body":{"changelog.html":{}}}],["notebooks",{"_index":3584,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":4200,"title":{},"body":{"index.html":{}}}],["nothing",{"_index":2364,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["notice",{"_index":3852,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":3656,"title":{},"body":{"changelog.html":{}}}],["nowrap",{"_index":3101,"title":{},"body":{"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["null",{"_index":1405,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{}}}],["null)?.getcontainerelement",{"_index":3384,"title":{},"body":{"injectables/ThemingService.html":{}}}],["nullish",{"_index":2226,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["number",{"_index":71,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["number(value.slice(0",{"_index":1569,"title":{},"body":{"classes/InitializationState.html":{}}}],["numbersonlymodule",{"_index":3027,"title":{},"body":{"modules/SlicesInputModule.html":{}}}],["numeric",{"_index":3856,"title":{},"body":{"changelog.html":{}}}],["numslices",{"_index":1968,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["o.id",{"_index":2035,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["o.organ.tolowercase",{"_index":2038,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["o.side",{"_index":2036,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["obj",{"_index":3170,"title":{},"body":{"components/TagListComponent.html":{}}}],["object",{"_index":1115,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["object.entries(entities).foreach(([id",{"_index":144,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["object.keys(db.organirilookup).find((code",{"_index":2229,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["object.keys(this.initialstate",{"_index":1993,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["object.values(aslookup",{"_index":2095,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["object.values(this.checkedresults).some(v",{"_index":3280,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["objects",{"_index":659,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["observable",{"_index":96,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["observableinput",{"_index":82,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/TagSearchComponent.html":{}}}],["observables",{"_index":3257,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["obtaining",{"_index":4230,"title":{},"body":{"license.html":{}}}],["off/on",{"_index":3831,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":3929,"title":{},"body":{"changelog.html":{}}}],["offset",{"_index":1039,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["offsets",{"_index":2763,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["old",{"_index":4183,"title":{},"body":{"index.html":{}}}],["oldposition",{"_index":369,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["oldposition.x",{"_index":391,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["oldposition.y",{"_index":388,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["oldposition.z",{"_index":383,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["once",{"_index":1110,"title":{},"body":{"modules/CoreModule.html":{}}}],["onchanges",{"_index":2660,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["ondestroy",{"_index":206,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["one",{"_index":1302,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{},"index.html":{}}}],["oninit",{"_index":207,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/RegistrationModalComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{}}}],["online",{"_index":3937,"title":{},"body":{"changelog.html":{}}}],["onorganirichange",{"_index":2078,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["ontological",{"_index":3988,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":3892,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":3594,"title":{},"body":{"changelog.html":{}}}],["ontology/ccf",{"_index":2604,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["ontologyid",{"_index":1346,"title":{},"body":{"interfaces/GlobalConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["opacities",{"_index":3836,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":965,"title":{},"body":{"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["opacityslidermodule",{"_index":1846,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/VisibilityMenuModule.html":{}}}],["open",{"_index":222,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/ReviewButtonComponent.html":{},"interfaces/User.html":{},"miscellaneous/typealiases.html":{}}}],["open/close",{"_index":1546,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["openapi",{"_index":3690,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/js",{"_index":4196,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":4198,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":4197,"title":{},"body":{"index.html":{}}}],["opendialog",{"_index":2400,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["opened",{"_index":1010,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["opened(value",{"_index":1533,"title":{},"body":{"classes/InitializationState.html":{}}}],["opened/closed",{"_index":1489,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["openedchange",{"_index":1541,"title":{},"body":{"classes/InitializationState.html":{}}}],["openedstate",{"_index":1490,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["openexpanded",{"_index":1586,"title":{},"body":{"classes/InitializationState.html":{}}}],["opening/closing/expanding",{"_index":1507,"title":{},"body":{"classes/InitializationState.html":{}}}],["openresults",{"_index":3200,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["opens",{"_index":1575,"title":{},"body":{"classes/InitializationState.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/TagSearchComponent.html":{}}}],["opposite",{"_index":1494,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/typealiases.html":{}}}],["optimization",{"_index":3782,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":3922,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":3813,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":1700,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"changelog.html":{}}}],["optional",{"_index":46,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["options",{"_index":1292,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["options:first",{"_index":1323,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["options:last",{"_index":1324,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["optionsel",{"_index":3047,"title":{},"body":{"components/StageNavComponent.html":{}}}],["optionsel.contains(target",{"_index":3089,"title":{},"body":{"components/StageNavComponent.html":{}}}],["optionsref",{"_index":3039,"title":{},"body":{"components/StageNavComponent.html":{}}}],["ordering",{"_index":1964,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organ",{"_index":299,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/ExtractionSet.html":{},"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{},"miscellaneous/typealiases.html":{}}}],["organ.name",{"_index":2057,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organ.side",{"_index":2058,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organ.src",{"_index":2415,"title":{},"body":{"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["organ.touppercase",{"_index":2222,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organ?.name",{"_index":1780,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["organconfig.name.tolowercase",{"_index":2011,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organconfig.ontologyid",{"_index":2014,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organconfig.sex?.tolowercase",{"_index":2020,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organconfig.side",{"_index":2013,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdata",{"_index":2148,"title":{"interfaces/OrganData.html":{}},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"coverage.html":{}}}],["organdimensions",{"_index":943,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdimensions.x",{"_index":946,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdimensions.y",{"_index":947,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdimensions.z",{"_index":2106,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organdimensions.z].map(n",{"_index":948,"title":{},"body":{"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["organinfo",{"_index":1938,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organinfo.sex",{"_index":2224,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organinfo?.sex",{"_index":2223,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organinfo?.side?.tolowercase",{"_index":2021,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organinfo?.side].join('|').touppercase",{"_index":2228,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organiri",{"_index":1932,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organirilookup",{"_index":2179,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["organlist",{"_index":223,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"interfaces/User.html":{}}}],["organname",{"_index":2010,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organs",{"_index":303,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["organs/anatomical",{"_index":3838,"title":{},"body":{"changelog.html":{}}}],["organselect",{"_index":2348,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["organselect(organ",{"_index":2359,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["organselected",{"_index":1734,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["organselector.expanded",{"_index":396,"title":{},"body":{"components/AppComponent.html":{}}}],["organselectormodule",{"_index":570,"title":{},"body":{"modules/AppModule.html":{},"modules/RegistrationContentModule.html":{}}}],["organside",{"_index":2012,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["organspatialentities",{"_index":2181,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["orthographic",{"_index":3751,"title":{},"body":{"changelog.html":{}}}],["ot",{"_index":1122,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["ot2od026671",{"_index":4219,"title":{},"body":{"index.html":{}}}],["other.expanded",{"_index":1615,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.expandedstate2",{"_index":1616,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.margin2",{"_index":1621,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.measuredmargin",{"_index":1619,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.measuredwidth",{"_index":1618,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.opened",{"_index":1617,"title":{},"body":{"classes/InitializationState.html":{}}}],["other.width",{"_index":1620,"title":{},"body":{"classes/InitializationState.html":{}}}],["otherwise",{"_index":896,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"license.html":{}}}],["out",{"_index":424,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"classes/InitializationState.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"license.html":{},"overview.html":{}}}],["outline",{"_index":3315,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["output",{"_index":666,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["outputs",{"_index":704,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewButtonComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["outside",{"_index":2806,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ovaries",{"_index":1175,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["ovaries.svg",{"_index":1176,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["ovary",{"_index":1177,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["over",{"_index":3501,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["overall",{"_index":3619,"title":{},"body":{"changelog.html":{}}}],["overflow",{"_index":406,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagListComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["overlay",{"_index":1331,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["overlaycontainer",{"_index":3365,"title":{},"body":{"injectables/ThemingService.html":{}}}],["overlays",{"_index":3978,"title":{},"body":{"changelog.html":{}}}],["override",{"_index":2464,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["overview",{"_index":4275,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["owning",{"_index":3392,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["p",{"_index":2162,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["p.target",{"_index":2957,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.translation_units",{"_index":2164,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.x_rotation",{"_index":2171,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.x_scaling",{"_index":2174,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.x_translation",{"_index":2168,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.y_rotation",{"_index":2172,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.y_scaling",{"_index":2175,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.y_translation",{"_index":2169,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.z_rotation].map(toradians",{"_index":2173,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.z_scaling",{"_index":2176,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["p.z_translation].map((n",{"_index":2960,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["p.z_translation].map(t",{"_index":2170,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["package",{"_index":3661,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["padding",{"_index":427,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["padding/margin/height",{"_index":3313,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["page",{"_index":23,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{}}}],["page.registrationcallbackset",{"_index":2591,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["page.registrationcallbackset$.subscribe((callbackset",{"_index":341,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["page.registrationstarted$.subscribe((registrationstarted",{"_index":344,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["page.user.firstname",{"_index":2569,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["page.user.lastname",{"_index":2570,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["page/page.state",{"_index":120,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{}}}],["pages",{"_index":3724,"title":{},"body":{"changelog.html":{}}}],["pagestate",{"_index":91,"title":{"injectables/PageState.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["pagestatemodel",{"_index":2290,"title":{"interfaces/PageStateModel.html":{}},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"coverage.html":{}}}],["pair",{"_index":1623,"title":{},"body":{"classes/InitializationState.html":{}}}],["paired",{"_index":3714,"title":{},"body":{"changelog.html":{}}}],["palatine",{"_index":1178,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["pancreas",{"_index":1181,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["pancreas.svg",{"_index":1182,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["pane",{"_index":1332,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"changelog.html":{}}}],["panel",{"_index":1258,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["panelclass",{"_index":2706,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["param",{"_index":160,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["parameters",{"_index":42,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["params",{"_index":1502,"title":{},"body":{"classes/InitializationState.html":{},"miscellaneous/variables.html":{}}}],["parent",{"_index":1867,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{}}}],["parent.messages.pipe(takewhile",{"_index":1899,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["parse",{"_index":651,"title":{},"body":{"components/AppWebComponent.html":{}}}],["parsed",{"_index":1650,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["parsedjson",{"_index":1639,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["parser",{"_index":4097,"title":{},"body":{"dependencies.html":{}}}],["partial",{"_index":3146,"title":{},"body":{"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{}}}],["particular",{"_index":4259,"title":{},"body":{"license.html":{}}}],["partly",{"_index":3823,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":3764,"title":{},"body":{"changelog.html":{}}}],["parts",{"_index":1445,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.join",{"_index":1450,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('innamespace",{"_index":1449,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('literal",{"_index":1448,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["parts.push('set",{"_index":1447,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["pass",{"_index":2066,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["passed",{"_index":1767,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["passing",{"_index":1773,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["patch",{"_index":2285,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["patch(name",{"_index":2310,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["patchplacement",{"_index":2203,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["patchplacement.target",{"_index":2215,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["path",{"_index":4119,"title":{},"body":{"dependencies.html":{}}}],["payload",{"_index":1060,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/typealiases.html":{}}}],["pbr",{"_index":2867,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["pelvis",{"_index":1183,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["per",{"_index":1967,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["performance",{"_index":3665,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":4225,"title":{},"body":{"license.html":{}}}],["permit",{"_index":4244,"title":{},"body":{"license.html":{}}}],["person",{"_index":2289,"title":{"interfaces/Person.html":{}},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"coverage.html":{},"license.html":{}}}],["persons",{"_index":4245,"title":{},"body":{"license.html":{}}}],["pick",{"_index":2266,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"changelog.html":{}}}],["piece",{"_index":3231,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["pipe",{"_index":2914,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["pipe(filter(s",{"_index":2314,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["pipe(mergeall",{"_index":1901,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["place",{"_index":2214,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.x_rotation",{"_index":2550,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.x_translation",{"_index":2208,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.y_rotation",{"_index":2551,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.y_translation",{"_index":2209,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.z_rotation",{"_index":2552,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["place.z_translation",{"_index":2210,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["placed",{"_index":3129,"title":{},"body":{"modules/StoreModule.html":{}}}],["placeholder",{"_index":1655,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["placement",{"_index":2161,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["placement.length",{"_index":2944,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["placement_date",{"_index":2630,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["placementcube",{"_index":2854,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["placementpatches",{"_index":2184,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["placenta",{"_index":1186,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["placenta.svg",{"_index":1187,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["play",{"_index":3461,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["play_circle_outline",{"_index":3458,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["player",{"_index":3427,"title":{},"body":{"components/VideoModalComponent.html":{},"modules/VideoModalModule.html":{},"dependencies.html":{}}}],["pluck",{"_index":1952,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["pluckunique",{"_index":2287,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["plugin",{"_index":3119,"title":{},"body":{"modules/StoreModule.html":{},"dependencies.html":{}}}],["plugins",{"_index":3138,"title":{},"body":{"modules/StoreModule.html":{}}}],["pluralizing",{"_index":3253,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["plus",{"_index":3611,"title":{},"body":{"changelog.html":{}}}],["pointer",{"_index":437,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["populated",{"_index":2232,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["popup",{"_index":3062,"title":{},"body":{"components/StageNavComponent.html":{},"changelog.html":{}}}],["portal",{"_index":1378,"title":{},"body":{"components/HeaderComponent.html":{},"changelog.html":{},"index.html":{}}}],["portal's",{"_index":3916,"title":{},"body":{"changelog.html":{}}}],["portions",{"_index":4252,"title":{},"body":{"license.html":{}}}],["position",{"_index":257,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["position(value",{"_index":1529,"title":{},"body":{"classes/InitializationState.html":{}}}],["position.x",{"_index":955,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["position.x.tofixed(1)}_${position.y.tofixed(1)}_${position.z.tofixed(1",{"_index":2044,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["position.y",{"_index":2212,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["position.z",{"_index":953,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["position.z].map((n",{"_index":2980,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["positions",{"_index":791,"title":{},"body":{"components/ContainerComponent.html":{}}}],["possible",{"_index":1937,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["posterior",{"_index":954,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["potential",{"_index":2220,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["pre",{"_index":3540,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["preclose",{"_index":360,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["preferences",{"_index":3738,"title":{},"body":{"changelog.html":{}}}],["preparation",{"_index":3962,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":3976,"title":{},"body":{"changelog.html":{}}}],["preserved",{"_index":3236,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["pressed",{"_index":270,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["prev",{"_index":3304,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["prev[id",{"_index":3307,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["prevent",{"_index":3644,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":3749,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":1758,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["previousitems",{"_index":2068,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["previousitems.map(structure",{"_index":2074,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["previously",{"_index":3683,"title":{},"body":{"changelog.html":{}}}],["previousregistrationnodes",{"_index":2853,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["previousregistrations",{"_index":2439,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["previousregistrations.map((entity",{"_index":2953,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["previousvisibility",{"_index":1791,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["previousvisibilityitems",{"_index":1735,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["prevnodes",{"_index":2916,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["private",{"_index":20,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["process",{"_index":1003,"title":{},"body":{"components/ContentComponent-1.html":{},"components/ToggleButtonComponent.html":{},"changelog.html":{}}}],["processed",{"_index":3908,"title":{},"body":{"changelog.html":{}}}],["processes",{"_index":779,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["processing",{"_index":3739,"title":{},"body":{"changelog.html":{}}}],["production",{"_index":3671,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":3657,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":2687,"title":{},"body":{"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["projected",{"_index":787,"title":{},"body":{"components/ContainerComponent.html":{}}}],["projects",{"_index":4171,"title":{},"body":{"index.html":{}}}],["projects/.../anatomical",{"_index":4286,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../app",{"_index":4281,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../block",{"_index":4290,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../config.ts",{"_index":4163,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/.../container.component.ts",{"_index":4164,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../default",{"_index":4291,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../drawer.component.ts",{"_index":4283,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../message.service.ts",{"_index":4296,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../messages.ts",{"_index":4282,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../meta",{"_index":4284,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../model.state.ts",{"_index":4287,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../reference",{"_index":4161,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../rotation",{"_index":4292,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../scene.state.ts",{"_index":4162,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../slices",{"_index":4294,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../stage",{"_index":4285,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../store.module.ts",{"_index":4297,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../tag",{"_index":4293,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../theming.service.ts",{"_index":4295,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/ccf",{"_index":6,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":1477,"title":{},"body":{"classes/InitializationState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["promise(r",{"_index":2556,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["promise(resolve",{"_index":1474,"title":{},"body":{"classes/InitializationState.html":{}}}],["properties",{"_index":19,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["property",{"_index":467,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["prostate",{"_index":1188,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["prostate.svg",{"_index":1189,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["provide",{"_index":589,"title":{},"body":{"modules/AppModule.html":{},"modules/ConfigModule.html":{},"modules/DrawerModule.html":{},"modules/ThemingModule.html":{}}}],["provided",{"_index":799,"title":{},"body":{"components/ContainerComponent.html":{},"changelog.html":{},"license.html":{}}}],["providedin",{"_index":1871,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/variables.html":{}}}],["providers",{"_index":588,"title":{},"body":{"modules/AppModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"modules/DrawerModule.html":{},"modules/ThemingModule.html":{},"changelog.html":{}}}],["providing",{"_index":979,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["public",{"_index":2342,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{},"changelog.html":{}}}],["publish",{"_index":4238,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":3659,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":4260,"title":{},"body":{"license.html":{}}}],["purposes",{"_index":915,"title":{},"body":{"components/ContentComponent.html":{},"components/JsonFileReaderComponent.html":{}}}],["push",{"_index":2408,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["pushed",{"_index":3797,"title":{},"body":{"changelog.html":{}}}],["px",{"_index":1521,"title":{},"body":{"classes/InitializationState.html":{}}}],["python",{"_index":3585,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["q",{"_index":381,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["qs",{"_index":4141,"title":{},"body":{"dependencies.html":{}}}],["qualitative",{"_index":3918,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":3703,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":935,"title":{},"body":{"components/ContentComponent.html":{},"changelog.html":{},"dependencies.html":{}}}],["query",{"_index":3986,"title":{},"body":{"changelog.html":{}}}],["querying",{"_index":3627,"title":{},"body":{"changelog.html":{}}}],["querylist",{"_index":795,"title":{},"body":{"components/ContainerComponent.html":{}}}],["quickly",{"_index":3902,"title":{},"body":{"changelog.html":{}}}],["r",{"_index":1753,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["radius",{"_index":451,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["ratio",{"_index":2635,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["rc.1",{"_index":3924,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":4143,"title":{},"body":{"dependencies.html":{}}}],["rdfjs",{"_index":4071,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":4093,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":4144,"title":{},"body":{"dependencies.html":{}}}],["reactiveformsmodule",{"_index":2147,"title":{},"body":{"modules/NameInputModule.html":{},"modules/TagSearchModule.html":{}}}],["read",{"_index":3249,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["readable",{"_index":4146,"title":{},"body":{"dependencies.html":{}}}],["reader",{"_index":1633,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader'},{'name",{"_index":494,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["reader.component",{"_index":1679,"title":{},"body":{"modules/JsonFileReaderModule.html":{}}}],["reader.component.html",{"_index":1635,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.scss",{"_index":1634,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts",{"_index":1632,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"coverage.html":{}}}],["reader.component.ts:12",{"_index":1647,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:14",{"_index":1658,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:17",{"_index":1642,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:20",{"_index":1640,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:33",{"_index":1651,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.component.ts:43",{"_index":1649,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["reader.module",{"_index":1853,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["reader.module.ts",{"_index":1678,"title":{},"body":{"modules/JsonFileReaderModule.html":{}}}],["reader/json",{"_index":1631,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["readonly",{"_index":161,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["real",{"_index":3936,"title":{},"body":{"changelog.html":{}}}],["reason",{"_index":3127,"title":{},"body":{"modules/StoreModule.html":{}}}],["receive",{"_index":993,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{}}}],["receiving",{"_index":1873,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["record",{"_index":1343,"title":{},"body":{"interfaces/GlobalConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagSearchComponent.html":{}}}],["rectify",{"_index":3688,"title":{},"body":{"changelog.html":{}}}],["reduce",{"_index":3787,"title":{},"body":{"changelog.html":{}}}],["reduce((acc",{"_index":2939,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["reduction",{"_index":3638,"title":{},"body":{"changelog.html":{}}}],["refdata",{"_index":2430,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reference",{"_index":90,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["referencedata",{"_index":2005,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["referencedatastate",{"_index":1960,"title":{"injectables/ReferenceDataState.html":{}},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["referencedatastatemodel",{"_index":2178,"title":{"interfaces/ReferenceDataStateModel.html":{}},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"coverage.html":{}}}],["referenceorgannodes",{"_index":2850,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["referenceorgansimplenodes",{"_index":2851,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["references",{"_index":1014,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{}}}],["refernced",{"_index":3715,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":713,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["refreshblocksize",{"_index":701,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["refreshes",{"_index":700,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["refreshslices",{"_index":3009,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["reg",{"_index":2455,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["reg.creator_first_name",{"_index":2538,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.creator_last_name",{"_index":2539,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.placement",{"_index":2535,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.placement[0",{"_index":2534,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.slice_count",{"_index":2555,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.slice_thickness",{"_index":2554,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.x_dimension",{"_index":2546,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.y_dimension",{"_index":2547,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["reg.z_dimension",{"_index":2548,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["regions",{"_index":3979,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":612,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{},"miscellaneous/typealiases.html":{}}}],["register(usecallback",{"_index":2459,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["register/download",{"_index":2465,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["registerbuttonclick",{"_index":2349,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["registerbuttonclick(event",{"_index":2361,"title":{},"body":{"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{}}}],["registerdata",{"_index":2667,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["registered",{"_index":1131,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["registericon",{"_index":1428,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registericon(definition",{"_index":1425,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registericonimpl",{"_index":1455,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registericonimpl(definition",{"_index":1429,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registering",{"_index":1391,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["registers",{"_index":1423,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["registration",{"_index":308,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["registration.registrations",{"_index":3140,"title":{},"body":{"modules/StoreModule.html":{}}}],["registration/registration.state",{"_index":2895,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{}}}],["registrationcallback",{"_index":629,"title":{},"body":{"components/AppWebComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"miscellaneous/typealiases.html":{}}}],["registrationcallback?.(json",{"_index":2582,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["registrationcallbackset",{"_index":2245,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["registrationcontentcomponent",{"_index":502,"title":{"components/RegistrationContentComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["registrationcontentmodule",{"_index":2390,"title":{"modules/RegistrationContentModule.html":{}},"body":{"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules.html":{},"overview.html":{}}}],["registrationisvalid",{"_index":2665,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["registrationmodalcomponent",{"_index":503,"title":{"components/RegistrationModalComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["registrationmodalmodule",{"_index":545,"title":{"modules/RegistrationModalModule.html":{}},"body":{"modules/AppModule.html":{},"modules/RegistrationModalModule.html":{},"modules.html":{},"overview.html":{}}}],["registrations",{"_index":2428,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"changelog.html":{}}}],["registrations#1",{"_index":3572,"title":{},"body":{"changelog.html":{}}}],["registrationstarted",{"_index":224,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/GlobalConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"interfaces/User.html":{}}}],["registrationstate",{"_index":875,"title":{"injectables/RegistrationState.html":{}},"body":{"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["registrationstated",{"_index":2273,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["registrationstatemodel",{"_index":2506,"title":{"interfaces/RegistrationStateModel.html":{}},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"coverage.html":{}}}],["registry",{"_index":1401,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["registry.state",{"_index":3123,"title":{},"body":{"modules/StoreModule.html":{}}}],["registry.state.ts",{"_index":1390,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{}}}],["registry.state.ts:127",{"_index":1461,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:147",{"_index":1459,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:45",{"_index":1457,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:58",{"_index":1462,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:87",{"_index":1463,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry.state.ts:97",{"_index":1464,"title":{},"body":{"injectables/IconRegistryState.html":{}}}],["registry/default",{"_index":1113,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["registry/icon",{"_index":1389,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/StoreModule.html":{},"coverage.html":{}}}],["registry[methodname",{"_index":1435,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["regs",{"_index":2516,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["related",{"_index":3817,"title":{},"body":{"changelog.html":{}}}],["relative",{"_index":417,"title":{},"body":{"components/AppComponent.html":{},"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"components/TagSearchComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/typealiases.html":{}}}],["release",{"_index":3580,"title":{},"body":{"changelog.html":{}}}],["relevant",{"_index":1775,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["reliability",{"_index":3854,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":3746,"title":{},"body":{"changelog.html":{}}}],["removable",{"_index":3149,"title":{},"body":{"components/TagListComponent.html":{}}}],["remove",{"_index":3161,"title":{},"body":{"components/TagListComponent.html":{},"injectables/ThemingService.html":{}}}],["removeclass",{"_index":3386,"title":{},"body":{"injectables/ThemingService.html":{}}}],["removed",{"_index":143,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"interfaces/TagSearchResult.html":{},"changelog.html":{}}}],["removed.add(id",{"_index":146,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["removed.has(iri",{"_index":151,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["removeeventlistener('beforeunload",{"_index":2324,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["removes",{"_index":3160,"title":{},"body":{"components/TagListComponent.html":{},"injectables/ThemingService.html":{},"changelog.html":{}}}],["removetag",{"_index":30,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/TagListComponent.html":{}}}],["removetag(tag",{"_index":66,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagListComponent.html":{}}}],["renderer",{"_index":3380,"title":{},"body":{"injectables/ThemingService.html":{}}}],["renderer2",{"_index":3367,"title":{},"body":{"injectables/ThemingService.html":{},"components/VideoModalComponent.html":{}}}],["renderer[methodname](overlay",{"_index":3388,"title":{},"body":{"injectables/ThemingService.html":{}}}],["renderer[methodname](root",{"_index":3387,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rendering",{"_index":3032,"title":{},"body":{"components/StageNavComponent.html":{}}}],["renders",{"_index":1227,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["repeat",{"_index":1382,"title":{},"body":{"components/HeaderComponent.html":{}}}],["replaysubject",{"_index":328,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["replaysubject(1",{"_index":317,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["repository",{"_index":4168,"title":{},"body":{"index.html":{}}}],["representation",{"_index":2476,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["required",{"_index":3895,"title":{},"body":{"changelog.html":{}}}],["requiredvalues",{"_index":2568,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["requiredvalues.every(value",{"_index":2574,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["researcher's",{"_index":2111,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["reset",{"_index":548,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"components/ContentComponent.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["resetitem",{"_index":3483,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["resetrotation",{"_index":2821,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["resets",{"_index":3223,"title":{},"body":{"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["resetstage",{"_index":873,"title":{},"body":{"components/ContentComponent.html":{}}}],["resettheme",{"_index":3341,"title":{},"body":{"injectables/ThemingService.html":{}}}],["resize",{"_index":885,"title":{},"body":{"components/ContentComponent.html":{}}}],["resizesensor",{"_index":929,"title":{},"body":{"components/ContentComponent.html":{}}}],["resizesensor(this.rootref.nativeelement",{"_index":940,"title":{},"body":{"components/ContentComponent.html":{}}}],["resolve",{"_index":1470,"title":{},"body":{"classes/InitializationState.html":{}}}],["resolved",{"_index":3802,"title":{},"body":{"changelog.html":{}}}],["resolver",{"_index":1415,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["resolves",{"_index":810,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["respond",{"_index":3762,"title":{},"body":{"changelog.html":{}}}],["response",{"_index":3497,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["restriction",{"_index":4233,"title":{},"body":{"license.html":{}}}],["result",{"_index":84,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["result.label",{"_index":3309,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["result.results",{"_index":3301,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["result.results.reduce((acc",{"_index":3305,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["results",{"_index":80,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["resultsvisible",{"_index":3193,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["retracted",{"_index":462,"title":{},"body":{"components/AppComponent.html":{}}}],["return",{"_index":134,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["returned",{"_index":79,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagSearchComponent.html":{}}}],["returns",{"_index":55,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/functions.html":{}}}],["reusable",{"_index":1223,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["reverted",{"_index":3508,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["review",{"_index":506,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["review/review",{"_index":2792,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["review_button",{"_index":2703,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["reviewbuttoncomponent",{"_index":505,"title":{"components/ReviewButtonComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["reviewbuttonmodule",{"_index":2714,"title":{"modules/ReviewButtonModule.html":{}},"body":{"modules/ReviewButtonModule.html":{},"modules/RightSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["reviewing",{"_index":2721,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["reviewmodal",{"_index":2659,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["reviewmodalcomponent",{"_index":508,"title":{"components/ReviewModalComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["reviewmodaldata",{"_index":2724,"title":{"interfaces/ReviewModalData.html":{}},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"coverage.html":{}}}],["reviewmodalmodule",{"_index":2719,"title":{"modules/ReviewModalModule.html":{}},"body":{"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules.html":{},"overview.html":{}}}],["rgb",{"_index":4124,"title":{},"body":{"dependencies.html":{}}}],["right",{"_index":453,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["right.px",{"_index":991,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["right.svg",{"_index":1148,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["rightmargin",{"_index":984,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rights",{"_index":4235,"title":{},"body":{"license.html":{}}}],["rightsidebarcomponent",{"_index":509,"title":{"components/RightSidebarComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["rightsidebarmodule",{"_index":546,"title":{"modules/RightSidebarModule.html":{}},"body":{"modules/AppModule.html":{},"modules/RightSidebarModule.html":{},"modules.html":{},"overview.html":{}}}],["root",{"_index":213,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/CoreModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["root'},{'name",{"_index":473,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["root_states",{"_index":3125,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rootref",{"_index":876,"title":{},"body":{"components/ContentComponent.html":{}}}],["rotatednodes",{"_index":2849,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotates",{"_index":3747,"title":{},"body":{"changelog.html":{}}}],["rotatexyz([p.x_rotation",{"_index":2962,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotatexyz([rotation.x",{"_index":2981,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotation",{"_index":511,"title":{"interfaces/Rotation.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rotation.x",{"_index":2829,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["rotation.y",{"_index":2830,"title":{},"body":{"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotation.z",{"_index":2831,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["rotation.z].map(toradians",{"_index":2982,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["rotation_order",{"_index":2642,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["rotation_slider",{"_index":2816,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["rotation_units",{"_index":2643,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["rotationchange",{"_index":2808,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["rotations",{"_index":2819,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["rotationslidercomponent",{"_index":510,"title":{"components/RotationSliderComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["rotationslidermodule",{"_index":2777,"title":{"modules/RotationSliderModule.html":{}},"body":{"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules.html":{},"overview.html":{}}}],["round",{"_index":3841,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":3857,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":3625,"title":{},"body":{"changelog.html":{}}}],["ru/common",{"_index":4061,"title":{},"body":{"dependencies.html":{}}}],["ru/common/entity",{"_index":103,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["ru/common/typings",{"_index":2152,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["rui",{"_index":601,"title":{},"body":{"modules/AppModule.html":{},"modules/CoreModule.html":{},"changelog.html":{},"index.html":{}}}],["rui/src/app/app",{"_index":602,"title":{},"body":{"components/AppWebComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["rui/src/app/app.component.ts",{"_index":203,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{},"coverage.html":{}}}],["rui/src/app/app.component.ts:100",{"_index":279,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:118",{"_index":280,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:128",{"_index":266,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:167",{"_index":254,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:178",{"_index":276,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:35",{"_index":302,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:38",{"_index":298,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:41",{"_index":305,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:44",{"_index":288,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:46",{"_index":320,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:50",{"_index":316,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:51",{"_index":318,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:53",{"_index":290,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:54",{"_index":293,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:55",{"_index":296,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:57",{"_index":314,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:59",{"_index":291,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:61",{"_index":294,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.component.ts:64",{"_index":249,"title":{},"body":{"components/AppComponent.html":{}}}],["rui/src/app/app.module.ts",{"_index":549,"title":{},"body":{"modules/AppModule.html":{}}}],["rui/src/app/app.module.ts:58",{"_index":554,"title":{},"body":{"modules/AppModule.html":{}}}],["rui/src/app/core/core.module.ts",{"_index":1093,"title":{},"body":{"modules/CoreModule.html":{}}}],["rui/src/app/core/models/anatomical",{"_index":3143,"title":{},"body":{"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["rui/src/app/core/models/documentation.ts",{"_index":1254,"title":{},"body":{"interfaces/DocumentationContent.html":{},"coverage.html":{}}}],["rui/src/app/core/models/extraction",{"_index":1272,"title":{},"body":{"interfaces/ExtractionSet.html":{},"coverage.html":{}}}],["rui/src/app/core/models/meta",{"_index":1924,"title":{},"body":{"interfaces/MetaDataField.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["rui/src/app/core/models/visibility",{"_index":3473,"title":{},"body":{"interfaces/VisibilityItem.html":{},"coverage.html":{}}}],["rui/src/app/core/services/config/config.module.ts",{"_index":746,"title":{},"body":{"modules/ConfigModule.html":{}}}],["rui/src/app/core/services/config/config.ts",{"_index":1342,"title":{},"body":{"interfaces/GlobalConfig.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/core/services/theming/theming.module.ts",{"_index":3330,"title":{},"body":{"modules/ThemingModule.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts",{"_index":3335,"title":{},"body":{"injectables/ThemingService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:13",{"_index":3362,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:14",{"_index":3363,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:16",{"_index":3361,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:18",{"_index":3364,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:21",{"_index":3351,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:25",{"_index":3344,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:39",{"_index":3348,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:48",{"_index":3360,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:60",{"_index":3358,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:71",{"_index":3356,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/services/theming/theming.service.ts:83",{"_index":3346,"title":{},"body":{"injectables/ThemingService.html":{}}}],["rui/src/app/core/store/anatomical",{"_index":7,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"coverage.html":{}}}],["rui/src/app/core/store/icon",{"_index":1112,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/core/store/model/model.state.ts",{"_index":1927,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/core/store/page/page.state.ts",{"_index":2243,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"coverage.html":{}}}],["rui/src/app/core/store/page/page.state.ts:110",{"_index":2257,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:125",{"_index":2264,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:135",{"_index":2267,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:145",{"_index":2261,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:152",{"_index":2262,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:162",{"_index":2258,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:168",{"_index":2259,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:56",{"_index":2277,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:58",{"_index":2272,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:59",{"_index":2275,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:60",{"_index":2270,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:63",{"_index":2279,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:68",{"_index":2281,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:76",{"_index":2283,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:78",{"_index":2256,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/page/page.state.ts:94",{"_index":2260,"title":{},"body":{"injectables/PageState.html":{}}}],["rui/src/app/core/store/reference",{"_index":2149,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts",{"_index":2427,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"coverage.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:102",{"_index":2494,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:107",{"_index":2480,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:110",{"_index":2479,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:113",{"_index":2481,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:116",{"_index":2443,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:134",{"_index":2458,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:157",{"_index":2454,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:200",{"_index":2471,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:210",{"_index":2468,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:220",{"_index":2445,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:226",{"_index":2457,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:239",{"_index":2498,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:248",{"_index":2460,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:283",{"_index":2451,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:317",{"_index":2447,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:370",{"_index":2473,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:52",{"_index":2478,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:56",{"_index":2483,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:64",{"_index":2485,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:71",{"_index":2487,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:81",{"_index":2489,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/registration/registration.state.ts:96",{"_index":2491,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts",{"_index":2847,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:118",{"_index":2883,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:129",{"_index":2885,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:157",{"_index":2887,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:164",{"_index":2888,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:182",{"_index":2890,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:204",{"_index":2870,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:221",{"_index":2871,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:222",{"_index":2872,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:223",{"_index":2855,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:239",{"_index":2858,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:249",{"_index":2857,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:52",{"_index":2874,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:63",{"_index":2876,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:80",{"_index":2878,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/scene/scene.state.ts:90",{"_index":2881,"title":{},"body":{"injectables/SceneState.html":{}}}],["rui/src/app/core/store/store.module.ts",{"_index":3114,"title":{},"body":{"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/modules/content/content.component.ts",{"_index":863,"title":{},"body":{"components/ContentComponent.html":{},"coverage.html":{}}}],["rui/src/app/modules/content/content.component.ts:106",{"_index":893,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:113",{"_index":887,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:119",{"_index":882,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:26",{"_index":879,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:28",{"_index":928,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:33",{"_index":918,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:37",{"_index":909,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:48",{"_index":919,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:53",{"_index":910,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:58",{"_index":931,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:61",{"_index":877,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:84",{"_index":886,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.component.ts:97",{"_index":883,"title":{},"body":{"components/ContentComponent.html":{}}}],["rui/src/app/modules/content/content.module.ts",{"_index":1081,"title":{},"body":{"modules/ContentModule.html":{}}}],["rui/src/app/modules/content/stage",{"_index":3028,"title":{},"body":{"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["rui/src/app/modules/content/video",{"_index":3419,"title":{},"body":{"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"coverage.html":{}}}],["rui/src/app/modules/header/header.component.ts",{"_index":1355,"title":{},"body":{"components/HeaderComponent.html":{},"coverage.html":{}}}],["rui/src/app/modules/header/header.component.ts:17",{"_index":1361,"title":{},"body":{"components/HeaderComponent.html":{}}}],["rui/src/app/modules/header/header.component.ts:19",{"_index":1360,"title":{},"body":{"components/HeaderComponent.html":{}}}],["rui/src/app/modules/header/header.component.ts:21",{"_index":1359,"title":{},"body":{"components/HeaderComponent.html":{}}}],["rui/src/app/modules/header/header.module.ts",{"_index":1386,"title":{},"body":{"modules/HeaderModule.html":{}}}],["rui/src/app/modules/left",{"_index":1727,"title":{},"body":{"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["rui/src/app/modules/registration",{"_index":2337,"title":{},"body":{"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"coverage.html":{}}}],["rui/src/app/modules/review/review",{"_index":2655,"title":{},"body":{"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"coverage.html":{}}}],["rui/src/app/modules/right",{"_index":2755,"title":{},"body":{"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/block",{"_index":656,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/details",{"_index":1220,"title":{},"body":{"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts",{"_index":753,"title":{},"body":{"components/ContainerComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:105",{"_index":788,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:115",{"_index":778,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:124",{"_index":789,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:37",{"_index":775,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:41",{"_index":807,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:45",{"_index":798,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:48",{"_index":803,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:50",{"_index":809,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:55",{"_index":812,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:60",{"_index":793,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:62",{"_index":771,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/container/container.component.ts:83",{"_index":784,"title":{},"body":{"components/ContainerComponent.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts",{"_index":978,"title":{},"body":{"components/ContentComponent-1.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:103",{"_index":1011,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:116",{"_index":1006,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:28",{"_index":996,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:30",{"_index":997,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:32",{"_index":999,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:34",{"_index":1000,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:36",{"_index":994,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:39",{"_index":1013,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:41",{"_index":992,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:60",{"_index":1005,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/content/content.component.ts:70",{"_index":1002,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["rui/src/app/shared/components/drawer/drawer.module.ts",{"_index":1265,"title":{},"body":{"modules/DrawerModule.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts",{"_index":1467,"title":{},"body":{"classes/InitializationState.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:35",{"_index":1479,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:37",{"_index":1476,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:41",{"_index":1480,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:46",{"_index":1481,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:56",{"_index":1485,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/drawer/drawer.component.ts:65",{"_index":1482,"title":{},"body":{"classes/InitializationState.html":{}}}],["rui/src/app/shared/components/drawer/messages.ts",{"_index":1052,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/drawer/toggle",{"_index":3389,"title":{},"body":{"components/ToggleButtonComponent.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/extraction",{"_index":1279,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/json",{"_index":1630,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/labeled",{"_index":1682,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/name",{"_index":2109,"title":{},"body":{"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/UserName.html":{},"coverage.html":{}}}],["rui/src/app/shared/components/rotation",{"_index":2795,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/slices",{"_index":2994,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/tag",{"_index":3147,"title":{},"body":{"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/components/visibility",{"_index":3476,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"coverage.html":{}}}],["rui/src/app/shared/services/message/message.service.ts",{"_index":1854,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:103",{"_index":1914,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:112",{"_index":1915,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:128",{"_index":1922,"title":{},"body":{"injectables/MessageService.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:130",{"_index":1919,"title":{},"body":{"injectables/MessageService.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:153",{"_index":1921,"title":{},"body":{"injectables/MessageService.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:163",{"_index":1920,"title":{},"body":{"injectables/MessageService.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:50",{"_index":1911,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:70",{"_index":1916,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:83",{"_index":1912,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui/src/app/shared/services/message/message.service.ts:93",{"_index":1913,"title":{},"body":{"classes/MessageChannel.html":{}}}],["rui_locations.jsonld",{"_index":3651,"title":{},"body":{"changelog.html":{}}}],["rui_organs",{"_index":301,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["ruiconfig",{"_index":1351,"title":{},"body":{"interfaces/GlobalConfig.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["run",{"_index":783,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["runtime",{"_index":1120,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["rxjs",{"_index":113,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/GlobalConfig.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":115,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["s",{"_index":389,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/User.html":{}}}],["safehtml",{"_index":1392,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["saferesourceurl",{"_index":1393,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["same",{"_index":1965,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["sample",{"_index":3991,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["samples",{"_index":3789,"title":{},"body":{"changelog.html":{}}}],["sanitize",{"_index":1403,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["sanitized",{"_index":1123,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["sanitizer",{"_index":1402,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["saveas",{"_index":2500,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["saveas(data",{"_index":2587,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["saved",{"_index":2308,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["saver",{"_index":2501,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"dependencies.html":{}}}],["scaffolding",{"_index":3952,"title":{},"body":{"changelog.html":{}}}],["scale",{"_index":1376,"title":{},"body":{"components/HeaderComponent.html":{}}}],["scale([blocksize.x",{"_index":2983,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scale([entity.x_dimension",{"_index":2963,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scalex",{"_index":721,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["scaling_units",{"_index":2634,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["scene",{"_index":24,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["scene/scene.state",{"_index":121,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"modules/StoreModule.html":{}}}],["scenegraph",{"_index":2860,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["scenenodelookup",{"_index":2182,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["scenestate",{"_index":92,"title":{"injectables/SceneState.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["scenestatemodel",{"_index":2896,"title":{"interfaces/SceneStateModel.html":{}},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"coverage.html":{}}}],["scheduled",{"_index":3803,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":3954,"title":{},"body":{"changelog.html":{}}}],["scheme",{"_index":282,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["schemes",{"_index":3919,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":4213,"title":{},"body":{"index.html":{}}}],["script",{"_index":3436,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["script.src",{"_index":3439,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["scroll",{"_index":1810,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["scrollbar",{"_index":1812,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["scrolling",{"_index":861,"title":{},"body":{"components/ContainerComponent.html":{}}}],["search",{"_index":77,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["search'},{'name",{"_index":520,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["search.component",{"_index":3327,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["search.component.html",{"_index":3188,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.scss",{"_index":3187,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts",{"_index":3184,"title":{},"body":{"components/TagSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["search.component.ts:104",{"_index":3238,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:116",{"_index":3241,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:125",{"_index":3237,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:132",{"_index":3222,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:150",{"_index":3218,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:163",{"_index":3220,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:179",{"_index":3229,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:198",{"_index":3245,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:218",{"_index":3233,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:34",{"_index":3217,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:37",{"_index":3210,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:40",{"_index":3211,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:43",{"_index":3212,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:46",{"_index":3213,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:49",{"_index":3216,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:52",{"_index":3250,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:55",{"_index":3251,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:61",{"_index":3260,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:64",{"_index":3263,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:67",{"_index":3247,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:70",{"_index":3258,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.component.ts:73",{"_index":3208,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["search.module",{"_index":2791,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["search.module.ts",{"_index":3323,"title":{},"body":{"modules/TagSearchModule.html":{}}}],["search/tag",{"_index":2790,"title":{},"body":{"modules/RightSidebarModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["searchcontrol",{"_index":3194,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchcontrol.reset",{"_index":3285,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searches",{"_index":74,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"changelog.html":{}}}],["searchexternal",{"_index":31,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["searchexternal(text",{"_index":68,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["searching",{"_index":3185,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchlimit",{"_index":3202,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchlimit)).pipe",{"_index":3299,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchresults",{"_index":3195,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchresults.results.filter(tag",{"_index":3282,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchresults.totalcount",{"_index":3310,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["searchthrottle",{"_index":3203,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["section",{"_index":3777,"title":{},"body":{"changelog.html":{}}}],["sections",{"_index":3020,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["see",{"_index":2355,"title":{},"body":{"components/RegistrationContentComponent.html":{},"changelog.html":{},"index.html":{}}}],["select",{"_index":1328,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["selected",{"_index":1286,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["selecting",{"_index":1283,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagSearchComponent.html":{},"changelog.html":{}}}],["selection",{"_index":1697,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["selections",{"_index":3224,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["selector",{"_index":211,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["selects",{"_index":1443,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{}}}],["sell",{"_index":4242,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":3975,"title":{},"body":{"changelog.html":{}}}],["send",{"_index":772,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/ToggleButtonComponent.html":{}}}],["sender",{"_index":1859,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sending",{"_index":1605,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sending/receiving",{"_index":1572,"title":{},"body":{"classes/InitializationState.html":{}}}],["sendmessage",{"_index":1909,"title":{},"body":{"classes/MessageChannel.html":{}}}],["sendmessage(payload",{"_index":1877,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sends",{"_index":1602,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["sendtoggle",{"_index":1606,"title":{},"body":{"classes/InitializationState.html":{}}}],["sennet",{"_index":3668,"title":{},"body":{"changelog.html":{}}}],["sensitive",{"_index":3570,"title":{},"body":{"changelog.html":{}}}],["sensor",{"_index":870,"title":{},"body":{"components/ContentComponent.html":{}}}],["sent",{"_index":1053,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"miscellaneous/typealiases.html":{}}}],["separated",{"_index":1228,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["server",{"_index":3957,"title":{},"body":{"changelog.html":{}}}],["service",{"_index":47,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["service.initialize(location",{"_index":3371,"title":{},"body":{"injectables/ThemingService.html":{}}}],["services/config/config",{"_index":1397,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["services/config/config.module",{"_index":1099,"title":{},"body":{"modules/CoreModule.html":{}}}],["services/message/message.service",{"_index":1057,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{}}}],["services/theming/theming.module",{"_index":1100,"title":{},"body":{"modules/CoreModule.html":{}}}],["set",{"_index":142,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{}}}],["set's",{"_index":2469,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["set(reg.ccf_annotations",{"_index":2560,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["set.label",{"_index":2098,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["set.name",{"_index":1312,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["set.sites.length",{"_index":1313,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["set.ts",{"_index":1273,"title":{},"body":{"interfaces/ExtractionSet.html":{},"coverage.html":{}}}],["setallopacity",{"_index":3484,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["setallopacity(value",{"_index":3503,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["setanatomicalstructures(anatomicalstructures",{"_index":2063,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setblocksize(blocksize",{"_index":2039,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setchange",{"_index":1289,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["setdisplayerrors",{"_index":2435,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["setdisplayerrors(displayerrors",{"_index":2467,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["setextractionsets(extractionsets",{"_index":2064,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setextractionsites(extractionsites",{"_index":2062,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sethaschanges",{"_index":2249,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["setname(value",{"_index":2130,"title":{},"body":{"components/NameInputComponent.html":{}}}],["setorgan(organ",{"_index":2055,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setposition(position",{"_index":2041,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setrotation(rotation",{"_index":2040,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sets",{"_index":785,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"injectables/ThemingService.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["sets.length",{"_index":2100,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sets[0].sites",{"_index":2101,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setsex(sex",{"_index":2059,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setsexfromlabel",{"_index":1738,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["setsexfromlabel(label",{"_index":1749,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["setshowprevious",{"_index":2067,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setshowprevious(showprevious",{"_index":2061,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setside(side",{"_index":2060,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setsidefromlabel",{"_index":1739,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["setsidefromlabel(label",{"_index":1751,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["setslicesconfig(slicesconfig",{"_index":2045,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["settheme",{"_index":3342,"title":{},"body":{"injectables/ThemingService.html":{}}}],["settheme(theme",{"_index":3359,"title":{},"body":{"injectables/ThemingService.html":{}}}],["settimeout",{"_index":1574,"title":{},"body":{"classes/InitializationState.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/ToggleButtonComponent.html":{}}}],["settimeout(r",{"_index":2557,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["setting",{"_index":2800,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/StoreModule.html":{}}}],["setup",{"_index":3773,"title":{},"body":{"changelog.html":{}}}],["setusecancelregistrationcallback",{"_index":2250,"title":{},"body":{"injectables/PageState.html":{}}}],["setusecancelregistrationcallback(use",{"_index":2263,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["setusedropdownmenu(value",{"_index":3076,"title":{},"body":{"components/StageNavComponent.html":{}}}],["setuseregistrationcallback",{"_index":2436,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["setuseregistrationcallback(use",{"_index":2470,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["setusername",{"_index":2251,"title":{},"body":{"injectables/PageState.html":{}}}],["setusername(name",{"_index":2265,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["setviewside(viewside",{"_index":2047,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["setviewtype",{"_index":874,"title":{},"body":{"components/ContentComponent.html":{}}}],["setviewtype(is3dview",{"_index":892,"title":{},"body":{"components/ContentComponent.html":{}}}],["setviewtype(viewtype",{"_index":2046,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sex",{"_index":1347,"title":{},"body":{"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["sexbylabel",{"_index":1736,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["sexes",{"_index":3887,"title":{},"body":{"changelog.html":{}}}],["sexselected",{"_index":2345,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["shadow",{"_index":1317,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/TagSearchComponent.html":{}}}],["shall",{"_index":4249,"title":{},"body":{"license.html":{}}}],["shared",{"_index":326,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"modules/ConfigModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules/LeftSidebarModule.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"modules/RightSidebarModule.html":{},"interfaces/SlicesConfig.html":{},"modules/SlicesInputModule.html":{},"modules/StoreModule.html":{},"interfaces/User.html":{},"modules/VisibilityMenuModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["shared/analytics",{"_index":327,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"modules/CoreModule.html":{},"interfaces/User.html":{}}}],["shared/components/block",{"_index":2781,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["shared/components/details",{"_index":1837,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["shared/components/drawer/drawer.module",{"_index":587,"title":{},"body":{"modules/AppModule.html":{}}}],["shared/components/extraction",{"_index":1839,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["shared/components/json",{"_index":1852,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["shared/components/labeled",{"_index":1841,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/StageNavModule.html":{}}}],["shared/components/name",{"_index":1843,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{}}}],["shared/components/rotation",{"_index":2782,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["shared/components/slices",{"_index":2785,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["shared/components/tag",{"_index":2787,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["shared/components/visibility",{"_index":1847,"title":{},"body":{"modules/LeftSidebarModule.html":{}}}],["shared/rxjs",{"_index":1944,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["shared/web",{"_index":638,"title":{},"body":{"components/AppWebComponent.html":{}}}],["shifts",{"_index":267,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["shortest",{"_index":4118,"title":{},"body":{"dependencies.html":{}}}],["show",{"_index":932,"title":{},"body":{"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["showcollisions",{"_index":2897,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["showdebugbuttons",{"_index":871,"title":{},"body":{"components/ContentComponent.html":{}}}],["showing",{"_index":2681,"title":{},"body":{"components/ReviewButtonComponent.html":{},"changelog.html":{}}}],["shown",{"_index":3259,"title":{},"body":{"components/TagSearchComponent.html":{},"changelog.html":{}}}],["showprevious",{"_index":1933,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["shows",{"_index":911,"title":{},"body":{"components/ContentComponent.html":{},"components/StageNavComponent.html":{},"changelog.html":{}}}],["shrink",{"_index":3529,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["side",{"_index":1015,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/GlobalConfig.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["sidebar",{"_index":1729,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["sidebar'},{'name",{"_index":500,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["sidebar.component",{"_index":1851,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{}}}],["sidebar.component.html",{"_index":1731,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["sidebar.component.scss",{"_index":1730,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{}}}],["sidebar.component.ts",{"_index":1728,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"coverage.html":{}}}],["sidebar.component.ts:110",{"_index":1756,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:123",{"_index":1771,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:20",{"_index":2758,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["sidebar.component.ts:23",{"_index":2757,"title":{},"body":{"components/RightSidebarComponent.html":{}}}],["sidebar.component.ts:24",{"_index":1748,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:26",{"_index":1746,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:29",{"_index":1747,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:31",{"_index":1794,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:35",{"_index":1797,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:39",{"_index":1789,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:43",{"_index":1781,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:52",{"_index":1782,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:58",{"_index":1790,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:60",{"_index":1745,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:76",{"_index":1765,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:89",{"_index":1750,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.component.ts:98",{"_index":1754,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidebar.module",{"_index":581,"title":{},"body":{"modules/AppModule.html":{}}}],["sidebar.module.ts",{"_index":1832,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RightSidebarModule.html":{}}}],["sidebar/left",{"_index":580,"title":{},"body":{"modules/AppModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"coverage.html":{}}}],["sidebar/right",{"_index":586,"title":{},"body":{"modules/AppModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"coverage.html":{}}}],["sidebylabel",{"_index":1737,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sidechange",{"_index":3044,"title":{},"body":{"components/StageNavComponent.html":{}}}],["sides",{"_index":3888,"title":{},"body":{"changelog.html":{}}}],["signal",{"_index":2358,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["significant",{"_index":3766,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":3079,"title":{},"body":{"components/StageNavComponent.html":{},"changelog.html":{}}}],["simplescenenodelookup",{"_index":2183,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["simplifies",{"_index":3772,"title":{},"body":{"changelog.html":{}}}],["single",{"_index":1876,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["site",{"_index":1766,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["sites",{"_index":1274,"title":{},"body":{"interfaces/ExtractionSet.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["sizable",{"_index":3853,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":409,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["sizes",{"_index":671,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/RightSidebarComponent.html":{},"miscellaneous/variables.html":{}}}],["skin",{"_index":1190,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["skin.svg",{"_index":1191,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["skipconfirmation",{"_index":2252,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["skipself",{"_index":1096,"title":{},"body":{"modules/CoreModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["skipunsavedchangesconfirmation",{"_index":613,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{}}}],["skipuntil",{"_index":1953,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["skipuntil(this.page.registrationstarted$.pipe",{"_index":2029,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["slice",{"_index":1940,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["slice(0",{"_index":194,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["slice_count",{"_index":2618,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["slice_input",{"_index":3006,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["slice_thickness",{"_index":2616,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["slices",{"_index":514,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["slicesconfig",{"_index":1934,"title":{"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{}},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["slicesconfigchange",{"_index":2996,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["slicesinputcomponent",{"_index":513,"title":{"components/SlicesInputComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["slicesinputmodule",{"_index":2778,"title":{"modules/SlicesInputModule.html":{}},"body":{"modules/RightSidebarModule.html":{},"modules/SlicesInputModule.html":{},"modules.html":{},"overview.html":{}}}],["slide",{"_index":497,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{}}}],["slide_toggle",{"_index":1713,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["slider",{"_index":1686,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"dependencies.html":{}}}],["slider'},{'name",{"_index":512,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["slider.component",{"_index":2844,"title":{},"body":{"modules/RotationSliderModule.html":{}}}],["slider.component.html",{"_index":2804,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["slider.component.scss",{"_index":2805,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["slider.component.ts",{"_index":2796,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["slider.component.ts:34",{"_index":2826,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.component.ts:39",{"_index":2825,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.component.ts:44",{"_index":2824,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.component.ts:59",{"_index":2827,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.component.ts:68",{"_index":2828,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["slider.module",{"_index":2784,"title":{},"body":{"modules/RightSidebarModule.html":{}}}],["slider.module.ts",{"_index":2843,"title":{},"body":{"modules/RotationSliderModule.html":{}}}],["slider/rotation",{"_index":2783,"title":{},"body":{"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["sliders",{"_index":1815,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["slightly",{"_index":3686,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":3784,"title":{},"body":{"changelog.html":{}}}],["small",{"_index":1192,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["snackbar",{"_index":239,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["snackbar.dismiss",{"_index":361,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["snapshot",{"_index":2304,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["snapshot.useregistrationcallback",{"_index":2581,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["software",{"_index":4172,"title":{},"body":{"index.html":{},"license.html":{}}}],["solid",{"_index":1366,"title":{},"body":{"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["solved",{"_index":3848,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":3900,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":3663,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":3780,"title":{},"body":{"changelog.html":{}}}],["sortby",{"_index":1946,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["sortby(set.extractionsites.map((entity",{"_index":2099,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["source",{"_index":4,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"modules/BlockSizeInputModule.html":{},"modules/ConfigModule.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"modules/DetailsLabelModule.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"modules/ExtractionSetDropdownModule.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"modules/HeaderModule.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"modules/JsonFileReaderModule.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"modules/LeftSidebarModule.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"modules/RegistrationContentModule.html":{},"components/RegistrationModalComponent.html":{},"modules/RegistrationModalModule.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"modules/ReviewButtonModule.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"modules/ReviewModalModule.html":{},"components/RightSidebarComponent.html":{},"modules/RightSidebarModule.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"modules/RotationSliderModule.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"modules/SlicesInputModule.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{}}}],["sources",{"_index":1889,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{}}}],["sources.includes(msg.source",{"_index":1891,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["space",{"_index":963,"title":{},"body":{"components/ContentComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["spacer",{"_index":3312,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["sparc",{"_index":3776,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":3596,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":2879,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{}}}],["spatialentity",{"_index":2102,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["spatialentity.x_dimension",{"_index":2104,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["spatialentity.y_dimension",{"_index":2105,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["spatialentity.z_dimension",{"_index":2107,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["spatialentityjsonld",{"_index":621,"title":{},"body":{"components/AppWebComponent.html":{},"components/LeftSidebarComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["spatialplacement",{"_index":2628,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["spatialplacementjsonld",{"_index":2156,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["spatialscenenode",{"_index":2157,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["spec",{"_index":3691,"title":{},"body":{"changelog.html":{}}}],["spec.yaml",{"_index":4195,"title":{},"body":{"index.html":{}}}],["specific",{"_index":1072,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["specification",{"_index":4194,"title":{},"body":{"index.html":{}}}],["specified",{"_index":1888,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["specifying",{"_index":1870,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["speed",{"_index":3635,"title":{},"body":{"changelog.html":{}}}],["spinal",{"_index":1193,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["spinning",{"_index":3955,"title":{},"body":{"changelog.html":{}}}],["spleen",{"_index":1196,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/GlobalConfig.html":{},"miscellaneous/variables.html":{}}}],["spleen.svg",{"_index":1197,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["sprint",{"_index":3806,"title":{},"body":{"changelog.html":{}}}],["src",{"_index":1972,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["stage",{"_index":457,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["stage_nav",{"_index":3091,"title":{},"body":{"components/StageNavComponent.html":{}}}],["stagenavcomponent",{"_index":515,"title":{"components/StageNavComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"modules/StageNavModule.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["stagenavmodule",{"_index":1079,"title":{"modules/StageNavModule.html":{}},"body":{"modules/ContentModule.html":{},"modules/StageNavModule.html":{},"modules.html":{},"overview.html":{}}}],["staging",{"_index":3672,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["stamp",{"_index":2598,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["standalone",{"_index":3843,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":593,"title":{},"body":{"modules/AppModule.html":{},"changelog.html":{}}}],["standards",{"_index":3959,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":4176,"title":{},"body":{"index.html":{}}}],["start",{"_index":827,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/RegistrationContentComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["start?.expanded",{"_index":1044,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["start?.opened",{"_index":1043,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["startdrawers",{"_index":850,"title":{},"body":{"components/ContainerComponent.html":{}}}],["startdrawers.length",{"_index":854,"title":{},"body":{"components/ContainerComponent.html":{}}}],["startdrawers[0",{"_index":858,"title":{},"body":{"components/ContainerComponent.html":{}}}],["started",{"_index":2031,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"interfaces/ModelStateModel.html":{},"components/RegistrationContentComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["startexpanded",{"_index":1042,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["starts",{"_index":3997,"title":{},"body":{"changelog.html":{}}}],["startup",{"_index":1118,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/RegistrationModalComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["startwith",{"_index":816,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["state",{"_index":15,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["state$.pipe(pluck('registrations",{"_index":2517,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["state('closed",{"_index":1513,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('collapsed",{"_index":1518,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('extended",{"_index":1522,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('false",{"_index":1023,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["state('full",{"_index":1523,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('half",{"_index":1519,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('open",{"_index":1512,"title":{},"body":{"classes/InitializationState.html":{}}}],["state('true",{"_index":1024,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["state.organspatialentities[iri",{"_index":2235,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["statechange",{"_index":1545,"title":{},"body":{"classes/InitializationState.html":{}}}],["statements",{"_index":3999,"title":{},"body":{"coverage.html":{}}}],["staterepository",{"_index":106,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["states",{"_index":165,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContentComponent-1.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"modules/StoreModule.html":{},"miscellaneous/variables.html":{}}}],["static",{"_index":1626,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{}}}],["stay",{"_index":3995,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":3792,"title":{},"body":{"changelog.html":{}}}],["stomach",{"_index":1198,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["stomach.svg",{"_index":1199,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["store",{"_index":974,"title":{},"body":{"components/ContentComponent.html":{},"modules/StoreModule.html":{}}}],["store/store.module",{"_index":1101,"title":{},"body":{"modules/CoreModule.html":{}}}],["stored",{"_index":2797,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["storedebugmodule",{"_index":1083,"title":{},"body":{"modules/ContentModule.html":{}}}],["storemodule",{"_index":1091,"title":{"modules/StoreModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/StoreModule.html":{},"modules.html":{},"overview.html":{}}}],["stories",{"_index":3950,"title":{},"body":{"changelog.html":{}}}],["strange",{"_index":3126,"title":{},"body":{"modules/StoreModule.html":{}}}],["stream",{"_index":4147,"title":{},"body":{"dependencies.html":{}}}],["streaming",{"_index":4145,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":69,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["strings",{"_index":1226,"title":{},"body":{"components/DetailsLabelComponent.html":{}}}],["structure",{"_index":8,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/DocumentationContent.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"modules/StoreModule.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["structure.opacity",{"_index":2076,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["structures",{"_index":1762,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["strvalue",{"_index":3003,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["style",{"_index":1019,"title":{},"body":{"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/VisibilityToggleComponent.html":{}}}],["style.margin",{"_index":989,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["styled",{"_index":2672,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["styles",{"_index":200,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["styles.getpropertyvalue(property",{"_index":1568,"title":{},"body":{"classes/InitializationState.html":{}}}],["styleurls",{"_index":214,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["styling",{"_index":1656,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"changelog.html":{}}}],["sub",{"_index":1071,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"miscellaneous/typealiases.html":{}}}],["subject",{"_index":1861,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/TagSearchComponent.html":{},"license.html":{}}}],["sublicense",{"_index":4240,"title":{},"body":{"license.html":{}}}],["subscribe",{"_index":2027,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["subscribe(result",{"_index":3274,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["subscribe(updateskipconfirmation",{"_index":2315,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["subscription",{"_index":311,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["subscriptions",{"_index":225,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["substantial",{"_index":4251,"title":{},"body":{"license.html":{}}}],["successful",{"_index":1424,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["such",{"_index":3595,"title":{},"body":{"changelog.html":{}}}],["suffix",{"_index":3022,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["suffix.show",{"_index":3023,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["super",{"_index":162,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["super(configstore",{"_index":644,"title":{},"body":{"components/AppWebComponent.html":{}}}],["super.ngxsoninit",{"_index":163,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["support",{"_index":3597,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["svg",{"_index":1127,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"modules.html":{}}}],["swiper",{"_index":4150,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":378,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["switched",{"_index":3859,"title":{},"body":{"changelog.html":{}}}],["switchmap",{"_index":1954,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["switchmap(data",{"_index":2200,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["switchmap(fetch",{"_index":2520,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["switchmap(organconfig",{"_index":2009,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["switchmap(this.executesearch",{"_index":3273,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["switchmap(url",{"_index":2198,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["sync",{"_index":3748,"title":{},"body":{"changelog.html":{}}}],["syncexpanded(other",{"_index":1614,"title":{},"body":{"classes/InitializationState.html":{}}}],["syncs",{"_index":1611,"title":{},"body":{"classes/InitializationState.html":{}}}],["t",{"_index":1857,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["t.label).join",{"_index":2597,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["table",{"_index":4060,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":3679,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":4059,"title":{},"body":{"coverage.html":{}}}],["tag",{"_index":12,"title":{"interfaces/Tag.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"interfaces/TagSearchResult.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["tag.id",{"_index":181,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["tag.label",{"_index":3173,"title":{},"body":{"components/TagListComponent.html":{}}}],["tag.label).join",{"_index":3288,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["tag.ts",{"_index":3144,"title":{},"body":{"interfaces/Tag.html":{},"interfaces/TagSearchResult.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["tag.type",{"_index":145,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/TagListComponent.html":{}}}],["tag_list",{"_index":3172,"title":{},"body":{"components/TagListComponent.html":{}}}],["tag_search",{"_index":3287,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["tagclasses",{"_index":3152,"title":{},"body":{"components/TagListComponent.html":{}}}],["tagclasses(tag",{"_index":3162,"title":{},"body":{"components/TagListComponent.html":{}}}],["tagging",{"_index":3890,"title":{},"body":{"changelog.html":{}}}],["tagid",{"_index":116,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"miscellaneous/typealiases.html":{}}}],["tagid(_index",{"_index":3164,"title":{},"body":{"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["taglistcomponent",{"_index":517,"title":{"components/TagListComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"modules/TagListModule.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["taglistmodule",{"_index":2779,"title":{"modules/TagListModule.html":{}},"body":{"modules/RightSidebarModule.html":{},"modules/TagListModule.html":{},"modules.html":{},"overview.html":{}}}],["tagremoved",{"_index":3153,"title":{},"body":{"components/TagListComponent.html":{}}}],["tags",{"_index":33,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["tags.length",{"_index":3284,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["tags.map(t",{"_index":2596,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["tags.map(tag",{"_index":2615,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagSearchComponent.html":{}}}],["tags.push",{"_index":154,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["tags.push(tag",{"_index":148,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["tags.state",{"_index":2505,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"modules/StoreModule.html":{}}}],["tags.state.ts",{"_index":10,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"coverage.html":{}}}],["tags.state.ts:112",{"_index":63,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:119",{"_index":54,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:124",{"_index":67,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:140",{"_index":73,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:158",{"_index":58,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:38",{"_index":95,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:68",{"_index":87,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:70",{"_index":98,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:75",{"_index":89,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:77",{"_index":93,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:79",{"_index":39,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags.state.ts:95",{"_index":64,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{}}}],["tags/anatomical",{"_index":9,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"modules/StoreModule.html":{},"coverage.html":{}}}],["tagschange",{"_index":3154,"title":{},"body":{"components/TagListComponent.html":{}}}],["tagsearchcomponent",{"_index":519,"title":{"components/TagSearchComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"modules/TagSearchModule.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["tagsearchmodule",{"_index":2780,"title":{"modules/TagSearchModule.html":{}},"body":{"modules/RightSidebarModule.html":{},"modules/TagSearchModule.html":{},"modules.html":{},"overview.html":{}}}],["tagsearchresult",{"_index":117,"title":{"interfaces/TagSearchResult.html":{}},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["take",{"_index":1955,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["take(1",{"_index":2024,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["takes",{"_index":1224,"title":{},"body":{"components/DetailsLabelComponent.html":{},"components/JsonFileReaderComponent.html":{}}}],["takeuntil",{"_index":3265,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["takeuntil(this.destroy",{"_index":3271,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["takewhile",{"_index":1864,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["tap",{"_index":1956,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["tap(([user",{"_index":2412,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["tap(config",{"_index":2297,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["tap(reg",{"_index":2530,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["target",{"_index":262,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"interfaces/User.html":{}}}],["target.key",{"_index":379,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["target.nodename",{"_index":394,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["target.preventdefault",{"_index":372,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["target.repeat",{"_index":374,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["technologies",{"_index":3970,"title":{},"body":{"changelog.html":{}}}],["technology",{"_index":3834,"title":{},"body":{"changelog.html":{}}}],["telemetry",{"_index":3743,"title":{},"body":{"changelog.html":{}}}],["template",{"_index":199,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["templateurl",{"_index":216,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["temporary",{"_index":971,"title":{},"body":{"components/ContentComponent.html":{}}}],["terms",{"_index":3593,"title":{},"body":{"changelog.html":{}}}],["test",{"_index":3939,"title":{},"body":{"changelog.html":{}}}],["testing",{"_index":914,"title":{},"body":{"components/ContentComponent.html":{},"changelog.html":{}}}],["text",{"_index":76,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/TagSearchComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{}}}],["textfield",{"_index":716,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/SlicesInputComponent.html":{}}}],["theme",{"_index":226,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["thememode",{"_index":227,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["themes",{"_index":3667,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":241,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["theming.initialize(el",{"_index":339,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["theming.service",{"_index":3332,"title":{},"body":{"modules/ThemingModule.html":{}}}],["themingmodule",{"_index":1092,"title":{"modules/ThemingModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/ThemingModule.html":{},"modules.html":{},"overview.html":{}}}],["themingservice",{"_index":242,"title":{"injectables/ThemingService.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"modules/ThemingModule.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{},"coverage.html":{},"overview.html":{}}}],["themingservice.initialize",{"_index":3333,"title":{},"body":{"modules/ThemingModule.html":{}}}],["thick",{"_index":1208,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["thick.svg",{"_index":1209,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["thickness",{"_index":1966,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["thin",{"_index":1210,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityMenuComponent.html":{},"miscellaneous/variables.html":{}}}],["thin.svg",{"_index":1211,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["things",{"_index":167,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this._expanded",{"_index":1536,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._latesttags",{"_index":159,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this._measuredmargin",{"_index":1566,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._measuredwidth",{"_index":1556,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._name",{"_index":2135,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this._opened",{"_index":1532,"title":{},"body":{"classes/InitializationState.html":{}}}],["this._position",{"_index":1528,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.added.emit(tags",{"_index":3289,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.addentityone",{"_index":183,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.addregistration(jsonobj",{"_index":2588,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.addtagraw(tag",{"_index":178,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.animationsenabled",{"_index":1033,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.applythemeclass(theme",{"_index":3375,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.applythemeclass(this.gettheme",{"_index":3379,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.applythemeclass(this.theme",{"_index":3374,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.blocksize",{"_index":694,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.blocksize[key",{"_index":698,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.blocksizechange.emit(this.blocksize",{"_index":699,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.buildjsonld(page",{"_index":2513,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.buildjsonld(page.snapshot",{"_index":2577,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.buildmetadata(page",{"_index":2512,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.cdr.markforcheck",{"_index":844,"title":{},"body":{"components/ContainerComponent.html":{},"components/ToggleButtonComponent.html":{}}}],["this.channel",{"_index":835,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.asobservable",{"_index":1898,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.closed",{"_index":1900,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.complete",{"_index":1903,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.next",{"_index":1878,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.channel.sendmessage",{"_index":841,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["this.checkedresults",{"_index":3276,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.closedialog",{"_index":2382,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.consentservice.consent",{"_index":363,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.content",{"_index":846,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.changes.pipe(startwith(null)).subscribe",{"_index":845,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.first",{"_index":832,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content1.length",{"_index":834,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.content2.first",{"_index":833,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.createscenenodes(organiri",{"_index":2928,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.ctx.patchstate",{"_index":2019,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.ctx.setstate(patch",{"_index":2309,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.currentdate",{"_index":2599,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.currentidentifier",{"_index":2601,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.currentorgan",{"_index":2380,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.currentsex",{"_index":2375,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.defaultposition",{"_index":2108,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.defaulttheme",{"_index":3373,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.deferred",{"_index":1505,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.destroy$.complete",{"_index":3279,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.destroy$.next",{"_index":3278,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.dialog.open(registrationcontentcomponent",{"_index":2417,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["this.dialog.open(reviewmodalcomponent",{"_index":2705,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.dialog.open(videomodalcomponent",{"_index":3455,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["this.dialogref.close",{"_index":2741,"title":{},"body":{"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/VideoModalComponent.html":{}}}],["this.dialogref.close(true",{"_index":2385,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.disablepositionchange",{"_index":371,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.drawer",{"_index":3408,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.drawer.position",{"_index":3406,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.drawers",{"_index":1030,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.drawers.changes.pipe(startwith(null)).subscribe",{"_index":839,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.drawers.toarray",{"_index":849,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.editregistration(reg",{"_index":2531,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.el.nativeelement.contains(event.target",{"_index":3296,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.element",{"_index":3378,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.element.nativeelement",{"_index":1557,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.entererrormode.emit",{"_index":2701,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.entities$.subscribe",{"_index":176,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.expanded",{"_index":1592,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expandedchange.emit(this.expanded",{"_index":1601,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expandedstate",{"_index":1582,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.expandedstate2",{"_index":1550,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.extractionsitetooltip",{"_index":1800,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.faded",{"_index":1048,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.fileinput.nativeelement",{"_index":1662,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["this.firstnamevalidator.setvalue(value?.firstname",{"_index":2137,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.ga.event('all_items_opacity_update",{"_index":3527,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.ga.event('block_size_change",{"_index":696,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.ga.event('block_size_reset",{"_index":702,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["this.ga.event('item_reset",{"_index":3525,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.ga.event('json_file_load_end",{"_index":1669,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["this.ga.event('json_file_load_start",{"_index":1672,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["this.ga.event('name_updated",{"_index":2140,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.ga.event('opacity_update",{"_index":3522,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.ga.event('organ_select",{"_index":2056,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.ga.event('placement",{"_index":2042,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.ga.event('register",{"_index":2712,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.ga.event('review_start",{"_index":2702,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.ga.event('rotation_reset",{"_index":2822,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["this.ga.event('rotation_update",{"_index":2815,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["this.ga.event('selected_extraction_set_change",{"_index":1306,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["this.ga.event('side_update",{"_index":3090,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.ga.event('slice_config_reset",{"_index":3010,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.ga.event('slice_config_update",{"_index":3005,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.ga.event('slide_toggle_toggled",{"_index":1712,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.ga.event('tag_removed",{"_index":3171,"title":{},"body":{"components/TagListComponent.html":{}}}],["this.ga.event('tags_added",{"_index":3286,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.ga.event('view_update",{"_index":3097,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.ga.event('visibility_toggled",{"_index":3513,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["this.getarguments(definition",{"_index":1438,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.getmessages().pipe(filter(msg",{"_index":1887,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.getmethodname(definition",{"_index":1434,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.getsourcedb().subscribe(db",{"_index":2186,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.getupdatedcheckedresults(result",{"_index":3277,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.globalconfig.config$.pipe",{"_index":2296,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.globalconfig.getoption('basehref').pipe",{"_index":2194,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.globalconfig.getoption('editregistration').pipe",{"_index":2529,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.globalconfig.getoption('header",{"_index":289,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('homeurl",{"_index":292,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('homeurl').subscribe((url",{"_index":348,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('logotooltip",{"_index":295,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('logotooltip').subscribe((tooltip",{"_index":351,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.getoption('organ').pipe",{"_index":2008,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.globalconfig.getoption('skipunsavedchangesconfirmation').pipe",{"_index":2292,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.globalconfig.getoption('theme",{"_index":315,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.globalconfig.snapshot.basehref",{"_index":1421,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.globals.set('db",{"_index":2192,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.globalskipconfirmation",{"_index":2313,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.handlemessage(msg",{"_index":838,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["this.haschanges$.pipe",{"_index":2316,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.homeurl",{"_index":349,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.hover.emit(item",{"_index":3516,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.hover.emit(undefined",{"_index":3517,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.idmatches(ontologyid",{"_index":2017,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.initialized",{"_index":1504,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.set",{"_index":1573,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.valueof",{"_index":1583,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initialized.wait",{"_index":1607,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.initskipconfirmationlisteners",{"_index":2303,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.injector",{"_index":599,"title":{},"body":{"modules/AppModule.html":{},"injectables/ThemingService.html":{}}}],["this.injector.get(anatomicalstructuretagstate",{"_index":2527,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.injector.get(modelstate",{"_index":170,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.injector.get(pagestate",{"_index":174,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.injector.get(referencedatastate",{"_index":2007,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.injector.get(registrationstate",{"_index":2991,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.injector.get(scenestate",{"_index":172,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.isdatavalid(this.page.snapshot",{"_index":2575,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.isdropdownactive",{"_index":3084,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.isdropdownhidden",{"_index":3085,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.isvalid",{"_index":2515,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.items",{"_index":3519,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.items.map(i",{"_index":3526,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.items.map(item",{"_index":3520,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.itemschange.emit(this.items",{"_index":3524,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.labelref.nativeelement",{"_index":3086,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.labels[0",{"_index":1710,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.labels[1",{"_index":1711,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.lastnamevalidator.setvalue(value?.lastname",{"_index":2138,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.launchreviewmodal",{"_index":2704,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.leftmargin",{"_index":1040,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.loadyoutubeplayerapi",{"_index":3435,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["this.logotooltip",{"_index":352,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.margin2",{"_index":1553,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.measuredmargin",{"_index":1552,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.measuredwidth",{"_index":1608,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.messages",{"_index":1897,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.messages.pipe(filter(msg",{"_index":1884,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.metadata",{"_index":2710,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["this.metadata.length",{"_index":2696,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.metadata.slice(0",{"_index":2698,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.model",{"_index":169,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.blocksize",{"_index":2972,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.defaultposition.x",{"_index":900,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.defaultposition.y",{"_index":904,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.defaultposition.z",{"_index":906,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.extractionsites",{"_index":2924,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.organ",{"_index":1776,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.organ$.pipe",{"_index":1787,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.organ$]).pipe",{"_index":2410,"title":{},"body":{"components/RegistrationModalComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.organdimensions$.pipe",{"_index":897,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.organiri",{"_index":2929,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.organiri$]).pipe",{"_index":2925,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.position",{"_index":2974,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.position$.pipe",{"_index":923,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.model.rotation",{"_index":2973,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.setblocksize",{"_index":2545,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setorgan(data.organ",{"_index":2540,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setorgan(this.currentorgan",{"_index":2384,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.model.setposition",{"_index":2558,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setposition(newposition",{"_index":393,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContentComponent.html":{},"interfaces/User.html":{}}}],["this.model.setrotation",{"_index":2549,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setsex(data.sex",{"_index":2542,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setsex(label",{"_index":1802,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.setsex(this.currentsex",{"_index":2383,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.model.setside(data.side",{"_index":2544,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.setside(label",{"_index":1803,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.setslicesconfig",{"_index":2553,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.sex$.pipe",{"_index":1792,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{}}}],["this.model.sex$]).pipe",{"_index":1778,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.showprevious",{"_index":2950,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.side",{"_index":1777,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.side$.pipe",{"_index":1795,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.snapshot",{"_index":944,"title":{},"body":{"components/ContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.snapshot.anatomicalstructures",{"_index":185,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/LeftSidebarComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.snapshot.organdimensions",{"_index":2958,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.snapshot.position",{"_index":370,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.model.state",{"_index":2509,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.state$]).pipe",{"_index":2514,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.model.toggleregistrationblocksvisibility(visible",{"_index":1805,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.model.viewside$.pipe",{"_index":2987,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.model.viewtype$.pipe",{"_index":916,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.modelchanged$.pipe",{"_index":2028,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.name",{"_index":2139,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.namechange.emit(this.name",{"_index":2142,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["this.namematches(organname",{"_index":2018,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.namevalid",{"_index":2377,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.nextmessageid",{"_index":1879,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.nodecollisions",{"_index":2913,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.nodes$]).pipe",{"_index":2919,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.onorganirichange",{"_index":2026,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.open",{"_index":342,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.opendialog",{"_index":2416,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["this.opened",{"_index":1580,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["this.openedchange.emit(this.opened",{"_index":1597,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.openedstate",{"_index":1581,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.optionsref.nativeelement",{"_index":3087,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.organselected",{"_index":2381,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.page",{"_index":173,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.page.clearhaschanges",{"_index":2590,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.page.registrationstarted",{"_index":2386,"title":{},"body":{"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.page.sethaschanges",{"_index":177,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.page.setusername",{"_index":2537,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.parsedjson.emit(json",{"_index":1671,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["this.patchstate",{"_index":2312,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.placementcube",{"_index":2910,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.placementcube$]).pipe",{"_index":2942,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.position",{"_index":1527,"title":{},"body":{"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{}}}],["this.previousregistrationnodes",{"_index":2912,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.previousvisibilityitems",{"_index":1804,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.refdata",{"_index":2528,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.refdata.getorgandata(place.target",{"_index":2536,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.refdata.normalizeplacement",{"_index":2532,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.referencedata",{"_index":2006,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.referencedata.getreferenceorganiri",{"_index":2079,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.referencedata.snapshot",{"_index":2086,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.referencedata.state$.pipe",{"_index":2022,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.referencedata.state$]).pipe",{"_index":2930,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.referenceorgannodes",{"_index":2911,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.registerdata.emit",{"_index":2713,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.registericonimpl(def",{"_index":1414,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.registericonimpl(definition",{"_index":1426,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.registration",{"_index":2990,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.registration.editregistration(event",{"_index":1806,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["this.registration.previousregistrations$]).pipe",{"_index":2951,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.registrationcallbackset",{"_index":2709,"title":{},"body":{"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{}}}],["this.registrationisvalid",{"_index":2695,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["this.registrationstarted",{"_index":345,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.registry",{"_index":1430,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.registry?.addsvgiconresolver((name",{"_index":1416,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.renderer2.appendchild(this.document.body",{"_index":3441,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["this.renderer2.createelement('script",{"_index":3437,"title":{},"body":{"components/VideoModalComponent.html":{}}}],["this.resolve",{"_index":1475,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.resultsvisible",{"_index":3292,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.rightmargin",{"_index":1041,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.rotation",{"_index":2814,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["this.rotationchange.emit(this.rotation",{"_index":2817,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{}}}],["this.sanitizer.bypasssecuritytrusthtml(def.html",{"_index":1412,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.sanitizer.bypasssecuritytrustresourceurl(basehref",{"_index":1422,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["this.scene",{"_index":171,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.scene.nodecollisions$]).pipe",{"_index":136,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.searchcontrol.valuechanges.pipe",{"_index":3270,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.searchresults",{"_index":3275,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["this.selected",{"_index":1305,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["this.selection",{"_index":3511,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.selection.id",{"_index":3512,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.sendtoggle",{"_index":1584,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.sensor",{"_index":939,"title":{},"body":{"components/ContentComponent.html":{}}}],["this.setanatomicalstructures(newstructures",{"_index":2077,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.setanatomicalstructures(previousitems",{"_index":2072,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.setchange.emit(value",{"_index":1309,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["this.setdisplayerrors(false",{"_index":2589,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.sets.length",{"_index":1310,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["this.setshowprevious(visible",{"_index":2071,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.setstate(db",{"_index":2187,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.setstate(patch",{"_index":2298,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.settheme(this.defaulttheme",{"_index":3376,"title":{},"body":{"injectables/ThemingService.html":{}}}],["this.sexselected",{"_index":2376,"title":{},"body":{"components/RegistrationContentComponent.html":{}}}],["this.side",{"_index":3094,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.sidechange.emit(this.side",{"_index":3095,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.skipconfirmation$.subscribe(skipconfirmation",{"_index":2323,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.slicesconfig",{"_index":3004,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.slicesconfig[key",{"_index":3007,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.slicesconfigchange.emit(this.slicesconfig",{"_index":3008,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["this.snackbar.openfromcomponent(trackingpopupcomponent",{"_index":358,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.snapshot",{"_index":2202,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["this.snapshot.blocksize",{"_index":2050,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.entities[tag.id",{"_index":179,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.snapshot.organ",{"_index":2083,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.organ?.name}_placement",{"_index":2043,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.organ?.organ",{"_index":2080,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.organ?.sex",{"_index":2084,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.organdimensions",{"_index":2049,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.sex",{"_index":2081,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.snapshot.showcollisions",{"_index":2917,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["this.snapshot.side",{"_index":2082,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.source",{"_index":1880,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["this.state$.pipe",{"_index":1996,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('anatomicalstructures",{"_index":1989,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('blocksize",{"_index":1976,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('displayerrors",{"_index":2477,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.state$.pipe(pluck('extractionsets",{"_index":1990,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('extractionsites",{"_index":1988,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('id",{"_index":1975,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('organ",{"_index":1982,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('organdimensions",{"_index":1984,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('organiri",{"_index":1983,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('position",{"_index":1978,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('registrationcallbackset",{"_index":2269,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluck('rotation",{"_index":1977,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('sex",{"_index":1985,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('showprevious",{"_index":1987,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('side",{"_index":1986,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('slicesconfig",{"_index":1979,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('usecancelregistrationcallback",{"_index":2274,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluck('user",{"_index":2276,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluck('viewside",{"_index":1981,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluck('viewtype",{"_index":1980,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["this.state$.pipe(pluckunique('haschanges",{"_index":2295,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluckunique('registrationstarted",{"_index":2271,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.state$.pipe(pluckunique('skipconfirmation",{"_index":2291,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["this.statechange.emit",{"_index":1609,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.subscriptions.add",{"_index":340,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.subscriptions.add(channel.getmessagesfromsource(drawer).subscribe(msg",{"_index":3405,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["this.subscriptions.add(messages.subscribe(msg",{"_index":1028,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.subscriptions.add(this.channel.getmessages().subscribe(msg",{"_index":837,"title":{},"body":{"components/ContainerComponent.html":{},"classes/InitializationState.html":{}}}],["this.subscriptions.unsubscribe",{"_index":395,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{}}}],["this.syncexpanded(other",{"_index":1610,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.tagremoved.emit(tag",{"_index":3174,"title":{},"body":{"components/TagListComponent.html":{}}}],["this.tags",{"_index":2526,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagListComponent.html":{}}}],["this.tags$.subscribe((tags",{"_index":175,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.tags.addtags",{"_index":2561,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.tags.filter(obj",{"_index":3169,"title":{},"body":{"components/TagListComponent.html":{}}}],["this.tags.latesttags",{"_index":2579,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.tags.tags$]).pipe",{"_index":2510,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.tagschange.emit(this.tags",{"_index":3175,"title":{},"body":{"components/TagListComponent.html":{}}}],["this.theme",{"_index":347,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"injectables/ThemingService.html":{},"interfaces/User.html":{}}}],["this.theme$.subscribe((theme",{"_index":346,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.thememode$.next('light",{"_index":366,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.thememode$.next(this.islighttheme",{"_index":368,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.thememode$]).subscribe",{"_index":355,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.theming.gettheme().endswith('light",{"_index":338,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.theming.settheme(`${theme",{"_index":356,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.theming.settheme(`${this.theme",{"_index":367,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["this.toggle(coercebooleanproperty(value",{"_index":1534,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggle(false",{"_index":1578,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggle(true",{"_index":1576,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(coercebooleanproperty(value",{"_index":1538,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(false",{"_index":1590,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.toggleexpanded(true",{"_index":1587,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.updateentitiesmany",{"_index":180,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{}}}],["this.updatefaded",{"_index":1032,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.updatemargin(position",{"_index":1038,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["this.updateopacity(item.opacity",{"_index":3515,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["this.updateview(false",{"_index":3093,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.updateview(true",{"_index":3092,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.validatedrawers",{"_index":840,"title":{},"body":{"components/ContainerComponent.html":{}}}],["this.value",{"_index":1709,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.valuechange.emit(this.value",{"_index":1714,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["this.view3d",{"_index":3096,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.view3dchange.emit(this.view3d",{"_index":3098,"title":{},"body":{"components/StageNavComponent.html":{}}}],["this.visibilitychanged.emit(this.visible",{"_index":3549,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["this.visible",{"_index":3547,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["this.width",{"_index":1551,"title":{},"body":{"classes/InitializationState.html":{}}}],["this.xyztriplettostring(model.blocksize",{"_index":2593,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.xyztriplettostring(model.position",{"_index":2594,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["this.xyztriplettostring(model.rotation",{"_index":2595,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["those",{"_index":1882,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{}}}],["throttle",{"_index":3214,"title":{},"body":{"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["throttletime",{"_index":1957,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["throttletime(0",{"_index":1997,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["through",{"_index":2803,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["throw",{"_index":830,"title":{},"body":{"components/ContainerComponent.html":{},"modules/CoreModule.html":{}}}],["throwduplicatedrawerserror",{"_index":4050,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["throwduplicatedrawerserror('end",{"_index":857,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throwduplicatedrawerserror('start",{"_index":855,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throwduplicatedrawerserror(position",{"_index":826,"title":{},"body":{"components/ContainerComponent.html":{},"miscellaneous/functions.html":{}}}],["thrown",{"_index":825,"title":{},"body":{"components/ContainerComponent.html":{}}}],["throws",{"_index":821,"title":{},"body":{"components/ContainerComponent.html":{},"injectables/ThemingService.html":{}}}],["thumb",{"_index":2835,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["thumbnails",{"_index":3812,"title":{},"body":{"changelog.html":{}}}],["thymus",{"_index":1200,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["thymus.svg",{"_index":1201,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["ticks",{"_index":2839,"title":{},"body":{"components/RotationSliderComponent.html":{}}}],["tied",{"_index":3815,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":3909,"title":{},"body":{"changelog.html":{}}}],["time",{"_index":2495,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/TagSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["timeouts",{"_index":3645,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":3639,"title":{},"body":{"changelog.html":{}}}],["timing",{"_index":465,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent-1.html":{},"components/VisibilityMenuComponent.html":{}}}],["tissue",{"_index":661,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"changelog.html":{}}}],["tissues",{"_index":3684,"title":{},"body":{"changelog.html":{}}}],["title",{"_index":717,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"interfaces/DocumentationContent.html":{},"components/LeftSidebarComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VideoModalLauncherComponent.html":{}}}],["tmc",{"_index":3987,"title":{},"body":{"changelog.html":{}}}],["toggle",{"_index":522,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"modules/DrawerModule.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"modules/NameInputModule.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["toggle'},{'name",{"_index":498,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle(opened",{"_index":1579,"title":{},"body":{"classes/InitializationState.html":{}}}],["toggle.component",{"_index":1726,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["toggle.component.html",{"_index":1688,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle.component.scss",{"_index":1687,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts",{"_index":1684,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{}}}],["toggle.component.ts:18",{"_index":3545,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:19",{"_index":1701,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.component.ts:23",{"_index":3544,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:24",{"_index":1695,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.component.ts:29",{"_index":1698,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:34",{"_index":1694,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:39",{"_index":1693,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.component.ts:40",{"_index":3543,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:51",{"_index":1707,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.component.ts:52",{"_index":3546,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["toggle.component.ts:61",{"_index":1703,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["toggle.module",{"_index":1842,"title":{},"body":{"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/StageNavModule.html":{}}}],["toggle.module.ts",{"_index":1723,"title":{},"body":{"modules/LabeledSlideToggleModule.html":{},"modules/VisibilityToggleModule.html":{}}}],["toggle/labeled",{"_index":1683,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/RegistrationContentModule.html":{},"modules/StageNavModule.html":{},"coverage.html":{}}}],["toggle/visibility",{"_index":1850,"title":{},"body":{"modules/LeftSidebarModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"coverage.html":{}}}],["togglebuttoncomponent",{"_index":521,"title":{"components/ToggleButtonComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"modules/DrawerModule.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["toggled",{"_index":1034,"title":{},"body":{"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["toggleexpanded(expanded",{"_index":1591,"title":{},"body":{"classes/InitializationState.html":{}}}],["togglelabel",{"_index":3541,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["togglepreviousregistrationblocks",{"_index":1740,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["togglepreviousregistrationblocks(visible",{"_index":1755,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["toggleregistrationblocksvisibility(visible",{"_index":2070,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["toggles",{"_index":281,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["togglescheme",{"_index":232,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["togglevisibility",{"_index":3485,"title":{},"body":{"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["togglevisibility(item",{"_index":3506,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["toggling",{"_index":1757,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{}}}],["token",{"_index":1869,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/ThemingService.html":{},"miscellaneous/variables.html":{}}}],["tonsil",{"_index":1179,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["tonsil.svg",{"_index":1180,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["tool",{"_index":3844,"title":{},"body":{"changelog.html":{}}}],["tooltip",{"_index":353,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/User.html":{},"interfaces/VisibilityItem.html":{},"interfaces/XYZTriplet.html":{}}}],["top",{"_index":418,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["toradians",{"_index":2154,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["tort",{"_index":4269,"title":{},"body":{"license.html":{}}}],["total",{"_index":3145,"title":{},"body":{"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{}}}],["totalcount",{"_index":189,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"miscellaneous/variables.html":{}}}],["touch",{"_index":862,"title":{},"body":{"components/ContainerComponent.html":{}}}],["trachea",{"_index":1202,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["trachea.svg",{"_index":1203,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["track",{"_index":1785,"title":{},"body":{"components/LeftSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["tracking/telemetry",{"_index":3757,"title":{},"body":{"changelog.html":{}}}],["trackingpopupcomponent",{"_index":325,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["trackingpopupmodule",{"_index":571,"title":{},"body":{"modules/AppModule.html":{}}}],["trailing",{"_index":1999,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["transform",{"_index":720,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["transformmatrix",{"_index":2862,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["transition",{"_index":421,"title":{},"body":{"components/AppComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["transition('closed",{"_index":1514,"title":{},"body":{"classes/InitializationState.html":{}}}],["transition('false",{"_index":1025,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["translate",{"_index":3459,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["translate([p.x_translation",{"_index":2959,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["translate([position.x",{"_index":2979,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["translation_units",{"_index":2651,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["transparency",{"_index":3845,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":3862,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":202,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["trigger",{"_index":1020,"title":{},"body":{"components/ContentComponent-1.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{}}}],["trigger('expandcollapse",{"_index":1517,"title":{},"body":{"classes/InitializationState.html":{}}}],["trigger('fadeinout",{"_index":1022,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["trigger('openclose",{"_index":1511,"title":{},"body":{"classes/InitializationState.html":{}}}],["triggerfileinput",{"_index":1638,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["triplet",{"_index":2475,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["true",{"_index":297,"title":{},"body":{"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"modules/ThemingModule.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["true=left",{"_index":1704,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["truncateresults",{"_index":3201,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["truncateresults(result",{"_index":3244,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["truncates",{"_index":3246,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["try",{"_index":1439,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"changelog.html":{}}}],["ts",{"_index":4152,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":4155,"title":{},"body":{"dependencies.html":{}}}],["tube",{"_index":1146,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["tuned",{"_index":3996,"title":{},"body":{"changelog.html":{}}}],["tuple",{"_index":847,"title":{},"body":{"components/ContainerComponent.html":{}}}],["turn",{"_index":3830,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":3818,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":3816,"title":{},"body":{"changelog.html":{}}}],["turns",{"_index":2678,"title":{},"body":{"components/ReviewButtonComponent.html":{}}}],["tutorial",{"_index":3733,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":1696,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{},"changelog.html":{}}}],["tx",{"_index":4165,"title":{},"body":{"miscellaneous/functions.html":{}}}],["tx.translate(t).rotatexyz(r).scale(s",{"_index":2177,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{}}}],["type",{"_index":45,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DefaultIconDefinition.html":{},"components/DetailsLabelComponent.html":{},"interfaces/DocumentationContent.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/MetaDataField.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["typealiases",{"_index":4279,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["types",{"_index":1061,"title":{},"body":{"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["types/lru",{"_index":4094,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":126,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"classes/InitializationState.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":3965,"title":{},"body":{"changelog.html":{}}}],["typography",{"_index":2747,"title":{},"body":{"components/ReviewModalComponent.html":{}}}],["ufl",{"_index":3811,"title":{},"body":{"changelog.html":{}}}],["ui",{"_index":636,"title":{},"body":{"components/AppWebComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"changelog.html":{},"index.html":{}}}],["ui.netlify.app",{"_index":4179,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":4188,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":4185,"title":{},"body":{"index.html":{}}}],["ui/organ",{"_index":4187,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":4186,"title":{},"body":{"index.html":{}}}],["uis",{"_index":3582,"title":{},"body":{"changelog.html":{}}}],["undefined",{"_index":848,"title":{},"body":{"components/ContainerComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["under",{"_index":1128,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["underline",{"_index":1327,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["unique",{"_index":1855,"title":{},"body":{"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/Tag.html":{},"components/TagListComponent.html":{},"interfaces/TagSearchResult.html":{}}}],["university",{"_index":4215,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":642,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"components/TagListComponent.html":{},"components/VideoModalComponent.html":{}}}],["unlike",{"_index":1119,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{}}}],["unnecessary",{"_index":3745,"title":{},"body":{"changelog.html":{}}}],["unpickable",{"_index":2865,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["unselect",{"_index":3786,"title":{},"body":{"changelog.html":{}}}],["unset",{"_index":3415,"title":{},"body":{"components/ToggleButtonComponent.html":{}}}],["until",{"_index":306,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"classes/InitializationState.html":{},"interfaces/User.html":{},"changelog.html":{}}}],["unused",{"_index":3167,"title":{},"body":{"components/TagListComponent.html":{},"components/TagSearchComponent.html":{}}}],["up",{"_index":278,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"interfaces/Tag.html":{},"components/TagSearchComponent.html":{},"interfaces/TagSearchResult.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["update",{"_index":2812,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["updateblocksizes",{"_index":703,"title":{},"body":{"components/BlockSizeInputComponent.html":{}}}],["updateblocksizes(input",{"_index":690,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{}}}],["updated",{"_index":689,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityMenuComponent.html":{},"changelog.html":{}}}],["updatedselection",{"_index":3518,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updatedselection.id",{"_index":3521,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updatedselection.opacity",{"_index":3523,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updateextractionsitetooltip",{"_index":1741,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["updateextractionsitetooltip(item",{"_index":1764,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["updatefaded",{"_index":985,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["updatemargin",{"_index":986,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["updatemargin(position",{"_index":1009,"title":{},"body":{"components/ContentComponent-1.html":{}}}],["updatename",{"_index":2115,"title":{},"body":{"components/NameInputComponent.html":{}}}],["updatename(input",{"_index":2120,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["updateopacity",{"_index":3486,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updateopacity(value",{"_index":3509,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["updateregistration",{"_index":1742,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["updateregistration(event",{"_index":1770,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["updates",{"_index":684,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent-1.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["updateside",{"_index":3040,"title":{},"body":{"components/StageNavComponent.html":{}}}],["updateside(selection",{"_index":3065,"title":{},"body":{"components/StageNavComponent.html":{}}}],["updateskipconfirmation",{"_index":2311,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["updateslicesdata",{"_index":3011,"title":{},"body":{"components/SlicesInputComponent.html":{}}}],["updateslicesdata(input",{"_index":3002,"title":{},"body":{"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{}}}],["updatetoggle",{"_index":1689,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["updatetoggle(selection",{"_index":1702,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["updateview",{"_index":3041,"title":{},"body":{"components/StageNavComponent.html":{}}}],["updateview(selection",{"_index":3068,"title":{},"body":{"components/StageNavComponent.html":{}}}],["updating",{"_index":2809,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{}}}],["upgraded",{"_index":3906,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":3968,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":3760,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":1641,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"changelog.html":{}}}],["uploaded",{"_index":1646,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{}}}],["upperbound",{"_index":2902,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["upperbound[i",{"_index":2906,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["ureter",{"_index":1204,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["url",{"_index":350,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/DefaultIconDefinition.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"interfaces/User.html":{},"miscellaneous/variables.html":{}}}],["urls",{"_index":1404,"title":{},"body":{"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{}}}],["usage",{"_index":3583,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":4201,"title":{},"body":{"index.html":{}}}],["use",{"_index":960,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"changelog.html":{},"index.html":{},"license.html":{}}}],["usecallback",{"_index":2462,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["usecancelregistrationcallback",{"_index":2246,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["usecase",{"_index":4206,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":4203,"title":{},"body":{"index.html":{}}}],["used",{"_index":48,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["usedownload",{"_index":614,"title":{},"body":{"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["usedropdownmenu",{"_index":3042,"title":{},"body":{"components/StageNavComponent.html":{}}}],["usedropdownmenu(value",{"_index":3083,"title":{},"body":{"components/StageNavComponent.html":{}}}],["usefactory",{"_index":751,"title":{},"body":{"modules/ConfigModule.html":{}}}],["useful",{"_index":823,"title":{},"body":{"components/ContainerComponent.html":{}}}],["user",{"_index":333,"title":{"interfaces/User.html":{}},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/GlobalConfig.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"miscellaneous/typealiases.html":{}}}],["user's",{"_index":2134,"title":{},"body":{"components/NameInputComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/UserName.html":{}}}],["user.firstname",{"_index":2413,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["user.lastname",{"_index":2414,"title":{},"body":{"components/RegistrationModalComponent.html":{}}}],["user/os",{"_index":3737,"title":{},"body":{"changelog.html":{}}}],["useregistrationcallback",{"_index":2507,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["username",{"_index":2118,"title":{"interfaces/UserName.html":{}},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{},"coverage.html":{}}}],["users",{"_index":3982,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":3750,"title":{},"body":{"changelog.html":{}}}],["usevalue",{"_index":590,"title":{},"body":{"modules/AppModule.html":{},"modules/DrawerModule.html":{},"modules/ThemingModule.html":{}}}],["using",{"_index":3723,"title":{},"body":{"changelog.html":{}}}],["uterus",{"_index":1205,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["uterus.svg",{"_index":1206,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["utilities",{"_index":3742,"title":{},"body":{"changelog.html":{}}}],["uuid",{"_index":2492,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"dependencies.html":{}}}],["uuidv4",{"_index":2503,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["v",{"_index":3281,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["v1.1",{"_index":3680,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":3591,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":3581,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":3829,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":3682,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":3674,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":3647,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":3624,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":3601,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":3629,"title":{},"body":{"changelog.html":{}}}],["v1[key",{"_index":2002,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["v2",{"_index":2001,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["v2.1.0",{"_index":3589,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":3577,"title":{},"body":{"changelog.html":{}}}],["v2[key",{"_index":2003,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["v3",{"_index":3604,"title":{},"body":{"changelog.html":{}}}],["v4",{"_index":2502,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["valid",{"_index":2233,"title":{},"body":{"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"miscellaneous/typealiases.html":{}}}],["validate",{"_index":2125,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["validatedrawers",{"_index":768,"title":{},"body":{"components/ContainerComponent.html":{}}}],["validates",{"_index":790,"title":{},"body":{"components/ContainerComponent.html":{}}}],["validators",{"_index":2132,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["validators.required",{"_index":2124,"title":{},"body":{"components/NameInputComponent.html":{},"interfaces/UserName.html":{}}}],["value",{"_index":86,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"components/AppComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MetaDataField.html":{},"components/NameInputComponent.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"miscellaneous/variables.html":{}}}],["value.name",{"_index":1308,"title":{},"body":{"components/ExtractionSetDropdownComponent.html":{}}}],["valuechange",{"_index":1692,"title":{},"body":{"components/LabeledSlideToggleComponent.html":{}}}],["valueof",{"_index":1471,"title":{},"body":{"classes/InitializationState.html":{}}}],["values",{"_index":679,"title":{},"body":{"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"interfaces/ModelStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["var",{"_index":471,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["variable",{"_index":1783,"title":{},"body":{"components/LeftSidebarComponent.html":{},"coverage.html":{}}}],["variables",{"_index":4289,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["vasculature",{"_index":1207,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["vec3",{"_index":2892,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["vec3(...lowerbound.map((n",{"_index":2904,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["vec3(...upperbound.map((n",{"_index":2907,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}],["version",{"_index":3692,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["very",{"_index":921,"title":{},"body":{"components/ContentComponent.html":{},"changelog.html":{}}}],["via",{"_index":2801,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["video",{"_index":524,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"modules/ContentModule.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{}}}],["videomodalcomponent",{"_index":523,"title":{"components/VideoModalComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalModule.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["videomodallaunchercomponent",{"_index":525,"title":{"components/VideoModalLauncherComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"modules/VideoModalLauncherModule.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["videomodallaunchermodule",{"_index":1080,"title":{"modules/VideoModalLauncherModule.html":{}},"body":{"modules/ContentModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules.html":{},"overview.html":{}}}],["videomodalmodule",{"_index":3467,"title":{"modules/VideoModalModule.html":{}},"body":{"modules/VideoModalModule.html":{},"modules.html":{},"overview.html":{}}}],["view",{"_index":894,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["view3d",{"_index":3043,"title":{},"body":{"components/StageNavComponent.html":{}}}],["view3dchange",{"_index":3045,"title":{},"body":{"components/StageNavComponent.html":{}}}],["viewchild",{"_index":1660,"title":{},"body":{"components/JsonFileReaderComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{}}}],["viewchild('closesearch",{"_index":3248,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["viewchild('fileinput",{"_index":1657,"title":{},"body":{"components/JsonFileReaderComponent.html":{}}}],["viewchild('label",{"_index":3072,"title":{},"body":{"components/StageNavComponent.html":{}}}],["viewchild('options",{"_index":3074,"title":{},"body":{"components/StageNavComponent.html":{}}}],["viewchildren",{"_index":815,"title":{},"body":{"components/ContainerComponent.html":{}}}],["viewchildren(contentcomponent",{"_index":802,"title":{},"body":{"components/ContainerComponent.html":{}}}],["viewed",{"_index":1969,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["viewer",{"_index":3808,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":3030,"title":{},"body":{"components/StageNavComponent.html":{},"changelog.html":{}}}],["views",{"_index":3752,"title":{},"body":{"changelog.html":{}}}],["viewside",{"_index":942,"title":{},"body":{"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["viewtype",{"_index":1935,"title":{},"body":{"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{}}}],["visibility",{"_index":528,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"interfaces/ExtractionSet.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"interfaces/XYZTriplet.html":{}}}],["visibility_menu",{"_index":3514,"title":{},"body":{"components/VisibilityMenuComponent.html":{}}}],["visibility_off",{"_index":1216,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["visibility_off_cube",{"_index":1217,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["visibility_on",{"_index":1214,"title":{},"body":{"interfaces/DefaultIconDefinition.html":{},"miscellaneous/variables.html":{}}}],["visibility_toggle",{"_index":3548,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["visibilitychanged",{"_index":3542,"title":{},"body":{"components/VisibilityToggleComponent.html":{}}}],["visibilityitem",{"_index":1276,"title":{"interfaces/VisibilityItem.html":{}},"body":{"interfaces/ExtractionSet.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["visibilityitems",{"_index":2069,"title":{},"body":{"interfaces/ModelStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{}}}],["visibilitymenucomponent",{"_index":527,"title":{"components/VisibilityMenuComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"modules/VisibilityMenuModule.html":{},"components/VisibilityToggleComponent.html":{},"coverage.html":{},"overview.html":{}}}],["visibilitymenumodule",{"_index":1830,"title":{"modules/VisibilityMenuModule.html":{}},"body":{"modules/LeftSidebarModule.html":{},"modules/VisibilityMenuModule.html":{},"modules.html":{},"overview.html":{}}}],["visibilitytogglecomponent",{"_index":530,"title":{"components/VisibilityToggleComponent.html":{}},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"modules/VisibilityToggleModule.html":{},"coverage.html":{},"overview.html":{}}}],["visibilitytogglemodule",{"_index":1831,"title":{"modules/VisibilityToggleModule.html":{}},"body":{"modules/LeftSidebarModule.html":{},"modules/VisibilityToggleModule.html":{},"modules.html":{},"overview.html":{}}}],["visible",{"_index":1761,"title":{},"body":{"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/VideoModalLauncherComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["visual",{"_index":3617,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":3778,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":3907,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":56,"title":{},"body":{"injectables/AnatomicalStructureTagState.html":{},"interfaces/AnatomicalStructureTagStateModel.html":{},"components/AppComponent.html":{},"modules/AppModule.html":{},"interfaces/AppOptions.html":{},"components/AppWebComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/ExtractionSetDropdownComponent.html":{},"interfaces/GlobalConfig.html":{},"interfaces/IconDefinition.html":{},"injectables/IconRegistryState.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"components/NameInputComponent.html":{},"interfaces/OrganData.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/User.html":{},"interfaces/UserName.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["vs",{"_index":3731,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":3992,"title":{},"body":{"changelog.html":{}}}],["w",{"_index":386,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/User.html":{}}}],["wait",{"_index":1473,"title":{},"body":{"classes/InitializationState.html":{}}}],["waits",{"_index":1603,"title":{},"body":{"classes/InitializationState.html":{}}}],["walkthrough",{"_index":4202,"title":{},"body":{"index.html":{}}}],["want",{"_index":1769,"title":{},"body":{"components/LeftSidebarComponent.html":{}}}],["warming",{"_index":3642,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":3926,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":4256,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":4253,"title":{},"body":{"license.html":{}}}],["watch",{"_index":3457,"title":{},"body":{"components/VideoModalLauncherComponent.html":{}}}],["wc",{"_index":605,"title":{},"body":{"components/AppWebComponent.html":{}}}],["wc'},{'name",{"_index":475,"title":{},"body":{"components/AppComponent.html":{},"components/AppWebComponent.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/DetailsLabelComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/RegistrationModalComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["web",{"_index":572,"title":{},"body":{"modules/AppModule.html":{},"components/AppWebComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["webcomponent",{"_index":3730,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":4095,"title":{},"body":{"dependencies.html":{}}}],["webkit",{"_index":860,"title":{},"body":{"components/ContainerComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["webpages",{"_index":3697,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":4174,"title":{},"body":{"index.html":{}}}],["week",{"_index":3998,"title":{},"body":{"changelog.html":{}}}],["weight",{"_index":718,"title":{},"body":{"components/BlockSizeInputComponent.html":{},"components/HeaderComponent.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["whenever",{"_index":1544,"title":{},"body":{"classes/InitializationState.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["whether",{"_index":813,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"classes/InitializationState.html":{},"components/LabeledSlideToggleComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/Message.html":{},"classes/MessageChannel.html":{},"injectables/MessageService.html":{},"interfaces/MessageServiceConfig.html":{},"interfaces/ModelStateModel.html":{},"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"interfaces/ReviewModalData.html":{},"components/RightSidebarComponent.html":{},"interfaces/SlicesConfig.html":{},"interfaces/SlicesConfig-1.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"injectables/ThemingService.html":{},"components/ToggleButtonComponent.html":{},"interfaces/VisibilityItem.html":{},"components/VisibilityToggleComponent.html":{},"interfaces/XYZTriplet.html":{},"license.html":{}}}],["white",{"_index":447,"title":{},"body":{"components/AppComponent.html":{},"components/ContentComponent.html":{},"components/ReviewModalComponent.html":{},"components/StageNavComponent.html":{},"components/VisibilityMenuComponent.html":{}}}],["whole",{"_index":3994,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":414,"title":{},"body":{"components/AppComponent.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"interfaces/ContentContainerChanged.html":{},"interfaces/DrawerContainersChanged.html":{},"interfaces/DrawerInitialized.html":{},"interfaces/DrawerToggled.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/HeaderComponent.html":{},"classes/InitializationState.html":{},"components/JsonFileReaderComponent.html":{},"components/LeftSidebarComponent.html":{},"components/NameInputComponent.html":{},"components/RegistrationContentComponent.html":{},"components/ReviewButtonComponent.html":{},"components/ReviewModalComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/SlicesInputComponent.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"components/ToggleButtonComponent.html":{},"components/VideoModalComponent.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"components/VisibilityToggleComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["widths",{"_index":1612,"title":{},"body":{"classes/InitializationState.html":{}}}],["window:click",{"_index":3205,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["window:click(event",{"_index":3219,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["window:focusin",{"_index":3206,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["window:focusin(event",{"_index":3221,"title":{},"body":{"components/TagSearchComponent.html":{}}}],["within",{"_index":2807,"title":{},"body":{"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"changelog.html":{}}}],["withlatestfrom",{"_index":2288,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["withlatestfrom(this.globalskipconfirmation",{"_index":2317,"title":{},"body":{"injectables/PageState.html":{},"interfaces/PageStateModel.html":{},"interfaces/Person.html":{}}}],["without",{"_index":804,"title":{},"body":{"components/ContainerComponent.html":{},"changelog.html":{},"license.html":{}}}],["workaround",{"_index":1622,"title":{},"body":{"classes/InitializationState.html":{}}}],["workflows",{"_index":3864,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":3687,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":3879,"title":{},"body":{"changelog.html":{}}}],["wrap",{"_index":3099,"title":{},"body":{"components/StageNavComponent.html":{}}}],["wrapped",{"_index":801,"title":{},"body":{"components/ContainerComponent.html":{}}}],["wrapper",{"_index":432,"title":{},"body":{"components/AppComponent.html":{},"components/ExtractionSetDropdownComponent.html":{},"components/LeftSidebarComponent.html":{},"components/RightSidebarComponent.html":{},"components/RotationSliderComponent.html":{},"components/TagListComponent.html":{},"components/TagSearchComponent.html":{},"components/VisibilityToggleComponent.html":{}}}],["wrapping",{"_index":805,"title":{},"body":{"components/ContainerComponent.html":{},"components/ContentComponent-1.html":{}}}],["x",{"_index":390,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/TagListComponent.html":{},"interfaces/User.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["x,y,z",{"_index":890,"title":{},"body":{"components/ContentComponent.html":{}}}],["x_dimension",{"_index":2620,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["x_rotation",{"_index":2636,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["x_scaling",{"_index":2631,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["x_translation",{"_index":2645,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["xyz",{"_index":2474,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["xyztriplet",{"_index":1936,"title":{"interfaces/XYZTriplet.html":{}},"body":{"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/SlicesConfig.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["xyztriplettostring",{"_index":2437,"title":{},"body":{"injectables/RegistrationState.html":{}}}],["xyztriplettostring(xyz",{"_index":2472,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["y",{"_index":387,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContentComponent.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"components/RightSidebarComponent.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/TagListComponent.html":{},"interfaces/User.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["y_dimension",{"_index":2622,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["y_rotation",{"_index":2638,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["y_scaling",{"_index":2632,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["y_translation",{"_index":2647,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["yes",{"_index":2333,"title":{},"body":{"injectables/ReferenceDataState.html":{},"components/RegistrationContentComponent.html":{},"injectables/RegistrationState.html":{},"components/ReviewButtonComponent.html":{}}}],["youtube",{"_index":3420,"title":{},"body":{"components/VideoModalComponent.html":{},"changelog.html":{}}}],["youtubeplayermodule",{"_index":3471,"title":{},"body":{"modules/VideoModalModule.html":{}}}],["z",{"_index":382,"title":{},"body":{"components/AppComponent.html":{},"interfaces/AppOptions.html":{},"interfaces/BlockSize.html":{},"components/BlockSizeInputComponent.html":{},"components/ContainerComponent.html":{},"components/ContentComponent.html":{},"components/ContentComponent-1.html":{},"components/LeftSidebarComponent.html":{},"interfaces/ModelStateModel.html":{},"interfaces/OrganData.html":{},"injectables/ReferenceDataState.html":{},"interfaces/ReferenceDataStateModel.html":{},"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{},"interfaces/Rotation.html":{},"components/RotationSliderComponent.html":{},"interfaces/SlicesConfig.html":{},"components/StageNavComponent.html":{},"components/TagSearchComponent.html":{},"interfaces/User.html":{},"components/VideoModalLauncherComponent.html":{},"components/VisibilityMenuComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["z_dimension",{"_index":2624,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["z_rotation",{"_index":2640,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["z_scaling",{"_index":2633,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["z_translation",{"_index":2649,"title":{},"body":{"injectables/RegistrationState.html":{},"interfaces/RegistrationStateModel.html":{}}}],["zone.js",{"_index":4157,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":547,"title":{},"body":{"modules/AppModule.html":{},"modules/BlockSizeInputModule.html":{},"modules/ContentModule.html":{},"modules/CoreModule.html":{},"modules/DetailsLabelModule.html":{},"modules/DrawerModule.html":{},"modules/ExtractionSetDropdownModule.html":{},"modules/HeaderModule.html":{},"modules/JsonFileReaderModule.html":{},"modules/LabeledSlideToggleModule.html":{},"modules/LeftSidebarModule.html":{},"modules/NameInputModule.html":{},"modules/RegistrationContentModule.html":{},"modules/RegistrationModalModule.html":{},"modules/ReviewButtonModule.html":{},"modules/ReviewModalModule.html":{},"modules/RightSidebarModule.html":{},"modules/RotationSliderModule.html":{},"modules/SlicesInputModule.html":{},"modules/StageNavModule.html":{},"modules/TagListModule.html":{},"modules/TagSearchModule.html":{},"modules/ThemingModule.html":{},"modules/VideoModalLauncherModule.html":{},"modules/VideoModalModule.html":{},"modules/VisibilityMenuModule.html":{},"modules/VisibilityToggleModule.html":{},"overview.html":{}}}],["zoombasedopacity",{"_index":2868,"title":{},"body":{"injectables/SceneState.html":{},"interfaces/SceneStateModel.html":{}}}]],"pipeline":["stemmer"]}, + "store": {"injectables/AnatomicalStructureTagState.html":{"url":"injectables/AnatomicalStructureTagState.html","title":"injectable - AnatomicalStructureTagState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n AnatomicalStructureTagState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts\n \n\n\n \n Description\n \n \n Tag collection global state\n\n \n\n \n Extends\n \n \n NgxsDataEntityCollectionsRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _latestTags\n \n \n Private\n model\n \n \n Private\n page\n \n \n Private\n scene\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addTag\n \n \n Private\n addTagRaw\n \n \n addTags\n \n \n ngxsOnInit\n \n \n removeTag\n \n \n searchExternal\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n tags$\n \n \n latestTags\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(injector: Injector)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:79\n \n \n\n \n \n Creates an instance of scene state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n Injector service used to lazy load page and model state\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addTag\n \n \n \n \n \n \naddTag(tag: Tag)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n addTagRaw\n \n \n \n \n \n \n \n addTagRaw(tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:158\n \n \n\n\n \n \n Adds a tag. Implementation helper for addTags and addTag\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n The tag\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addTags\n \n \n \n \n \n \naddTags(tags: Tag[])\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:112\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tags\n \n Tag[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:95\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n removeTag\n \n \n \n \n \n \nremoveTag(tag: Tag)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:124\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n searchExternal\n \n \n \n \n \n \nsearchExternal(text: string, limit: number)\n \n \n\n \n \n Decorators : \n \n @Bind()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:140\n \n \n\n\n \n \n Searches for matching tags (not in the state)\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n Search text\n\n \n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n Maximum returned results hint\n\n \n \n \n \n \n \n \n \n Returns : ObservableInput\n\n \n \n external Search result\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _latestTags\n \n \n \n \n \n \n Type : Tag[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n model\n \n \n \n \n \n \n Type : ModelState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:75\n \n \n\n \n \n Reference to the model state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n page\n \n \n \n \n \n \n Type : PageState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n scene\n \n \n \n \n \n \n Type : SceneState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:77\n \n \n\n \n \n Reference to the scene state\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n tags$\n \n \n\n \n \n gettags$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:38\n \n \n \n \n Observable of tags\n\n\n \n Returns : Observable\n\n \n \n \n\n \n \n \n \n \n \n \n latestTags\n \n \n\n \n \n getlatestTags()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts:70\n \n \n\n \n \n\n \n\n\n \n import { createEntityCollections, EntityCollections } from '@angular-ru/common/entity';\nimport { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataEntityCollectionsRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { bind as Bind } from 'bind-decorator';\nimport { combineLatest, Observable, ObservableInput } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { Tag, TagId, TagSearchResult } from '../../models/anatomical-structure-tag';\nimport { ModelState } from '../model/model.state';\nimport { PageState } from '../page/page.state';\nimport { SceneState } from '../scene/scene.state';\n\n\n/** Tag state model */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface AnatomicalStructureTagStateModel {\n}\n\n\n/**\n * Tag collection global state\n */\n@StateRepository()\n@State>({\n name: 'tags',\n defaults: {\n ...createEntityCollections()\n }\n})\n@Injectable()\nexport class AnatomicalStructureTagState extends NgxsDataEntityCollectionsRepository {\n /** Observable of tags */\n @Computed()\n get tags$(): Observable {\n return combineLatest([this.entities$, this.scene.nodeCollisions$]).pipe(\n map(([entities, collisions]) => {\n const tags: Tag[] = [];\n const added = new Set();\n const removed = new Set();\n Object.entries(entities).forEach(([id, tag]) => {\n if (tag.type === 'removed') {\n removed.add(id);\n } else {\n added.add(id);\n tags.push(tag);\n }\n });\n for (const model of collisions) {\n const iri = model.representation_of;\n if (iri && !removed.has(iri) && !added.has(iri)) {\n added.add(iri);\n tags.push({\n id: iri,\n label: model.tooltip as string,\n type: 'assigned'\n });\n }\n }\n return tags;\n })\n );\n }\n\n private _latestTags: Tag[] = [];\n\n get latestTags(): Tag[] {\n return this._latestTags;\n }\n\n /** Reference to the model state */\n private model: ModelState;\n /** Reference to the scene state */\n private scene: SceneState;\n\n private page: PageState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load page and model state\n */\n constructor(\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.model = this.injector.get(ModelState);\n this.scene = this.injector.get(SceneState);\n this.page = this.injector.get(PageState);\n\n this.tags$.subscribe((tags) => {\n this._latestTags = tags;\n });\n\n this.entities$.subscribe(() => this.page.setHasChanges());\n }\n\n @DataAction()\n addTags(tags: Tag[]): void {\n for (const tag of tags) {\n this.addTagRaw(tag);\n }\n }\n\n @DataAction()\n addTag(tag: Tag): void {\n this.addTagRaw(tag);\n }\n\n @DataAction()\n removeTag(tag: Tag): void {\n if (this.snapshot.entities[tag.id]) {\n this.updateEntitiesMany([{ id: tag.id, changes: { type: 'removed' } }]);\n } else {\n this.addEntityOne({ ...tag, type: 'removed' });\n }\n }\n\n /**\n * Searches for matching tags (not in the state)\n *\n * @param text Search text\n * @param limit Maximum returned results hint\n * @returns external Search result\n */\n @Bind\n searchExternal(text: string, limit: number): ObservableInput {\n const matches = this.model.snapshot.anatomicalStructures\n .filter(as => as.name.toLowerCase().indexOf(text.toLowerCase()) !== -1);\n return [{\n totalCount: matches.length,\n results: matches.map((as): Tag => ({\n id: as.id,\n label: as.name,\n type: 'added'\n })).slice(0, limit)\n }];\n }\n\n /**\n * Adds a tag. Implementation helper for `addTags` and `addTag`\n *\n * @param tag The tag\n */\n private addTagRaw(tag: Tag): void {\n if (this.snapshot.entities[tag.id]) {\n this.updateEntitiesMany([{ id: tag.id, changes: { type: 'added' } }]);\n } else {\n this.addEntityOne({ ...tag, type: 'added' });\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AnatomicalStructureTagStateModel.html":{"url":"interfaces/AnatomicalStructureTagStateModel.html","title":"interface - AnatomicalStructureTagStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AnatomicalStructureTagStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts\n \n\n\n \n Description\n \n \n Tag state model\n\n \n\n\n\n\n\n \n\n\n \n import { createEntityCollections, EntityCollections } from '@angular-ru/common/entity';\nimport { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataEntityCollectionsRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { bind as Bind } from 'bind-decorator';\nimport { combineLatest, Observable, ObservableInput } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { Tag, TagId, TagSearchResult } from '../../models/anatomical-structure-tag';\nimport { ModelState } from '../model/model.state';\nimport { PageState } from '../page/page.state';\nimport { SceneState } from '../scene/scene.state';\n\n\n/** Tag state model */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface AnatomicalStructureTagStateModel {\n}\n\n\n/**\n * Tag collection global state\n */\n@StateRepository()\n@State>({\n name: 'tags',\n defaults: {\n ...createEntityCollections()\n }\n})\n@Injectable()\nexport class AnatomicalStructureTagState extends NgxsDataEntityCollectionsRepository {\n /** Observable of tags */\n @Computed()\n get tags$(): Observable {\n return combineLatest([this.entities$, this.scene.nodeCollisions$]).pipe(\n map(([entities, collisions]) => {\n const tags: Tag[] = [];\n const added = new Set();\n const removed = new Set();\n Object.entries(entities).forEach(([id, tag]) => {\n if (tag.type === 'removed') {\n removed.add(id);\n } else {\n added.add(id);\n tags.push(tag);\n }\n });\n for (const model of collisions) {\n const iri = model.representation_of;\n if (iri && !removed.has(iri) && !added.has(iri)) {\n added.add(iri);\n tags.push({\n id: iri,\n label: model.tooltip as string,\n type: 'assigned'\n });\n }\n }\n return tags;\n })\n );\n }\n\n private _latestTags: Tag[] = [];\n\n get latestTags(): Tag[] {\n return this._latestTags;\n }\n\n /** Reference to the model state */\n private model: ModelState;\n /** Reference to the scene state */\n private scene: SceneState;\n\n private page: PageState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load page and model state\n */\n constructor(\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.model = this.injector.get(ModelState);\n this.scene = this.injector.get(SceneState);\n this.page = this.injector.get(PageState);\n\n this.tags$.subscribe((tags) => {\n this._latestTags = tags;\n });\n\n this.entities$.subscribe(() => this.page.setHasChanges());\n }\n\n @DataAction()\n addTags(tags: Tag[]): void {\n for (const tag of tags) {\n this.addTagRaw(tag);\n }\n }\n\n @DataAction()\n addTag(tag: Tag): void {\n this.addTagRaw(tag);\n }\n\n @DataAction()\n removeTag(tag: Tag): void {\n if (this.snapshot.entities[tag.id]) {\n this.updateEntitiesMany([{ id: tag.id, changes: { type: 'removed' } }]);\n } else {\n this.addEntityOne({ ...tag, type: 'removed' });\n }\n }\n\n /**\n * Searches for matching tags (not in the state)\n *\n * @param text Search text\n * @param limit Maximum returned results hint\n * @returns external Search result\n */\n @Bind\n searchExternal(text: string, limit: number): ObservableInput {\n const matches = this.model.snapshot.anatomicalStructures\n .filter(as => as.name.toLowerCase().indexOf(text.toLowerCase()) !== -1);\n return [{\n totalCount: matches.length,\n results: matches.map((as): Tag => ({\n id: as.id,\n label: as.name,\n type: 'added'\n })).slice(0, limit)\n }];\n }\n\n /**\n * Adds a tag. Implementation helper for `addTags` and `addTag`\n *\n * @param tag The tag\n */\n private addTagRaw(tag: Tag): void {\n if (this.snapshot.entities[tag.id]) {\n this.updateEntitiesMany([{ id: tag.id, changes: { type: 'added' } }]);\n } else {\n this.addEntityOne({ ...tag, type: 'added' });\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppComponent.html":{"url":"components/AppComponent.html","title":"component - AppComponent","body":"\n \n\n\n\n\n\n Components\n \n AppComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/app.component.ts\n\n\n\n \n Description\n \n \n App component\n\n \n\n\n \n Implements\n \n \n OnDestroy\n OnInit\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root\n \n\n \n styleUrls\n ./app.component.scss\n \n\n\n\n \n templateUrl\n ./app.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n disablePositionChange\n \n \n Readonly\n header$\n \n \n homeUrl\n \n \n Readonly\n homeUrl$\n \n \n logoTooltip\n \n \n Readonly\n logoTooltip$\n \n \n open\n \n \n organList\n \n \n registrationStarted\n \n \n Private\n Readonly\n subscriptions\n \n \n theme\n \n \n Readonly\n theme$\n \n \n Readonly\n themeMode$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleClick\n \n \n handleKey\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n toggleScheme\n \n \n \n \n\n\n\n\n \n \n HostListeners\n \n \n \n \n \n \n document:click\n \n \n document:keydown\n \n \n \n \n\n \n \n Accessors\n \n \n \n \n \n \n isLightTheme\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(model: ModelState, page: PageState, consentService: ConsentService, snackbar: MatSnackBar, theming: ThemingService, el: ElementRef<>, injector: Injector, globalConfig: GlobalConfigState, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:64\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n \n consentService\n \n \n ConsentService\n \n \n \n No\n \n \n \n \n snackbar\n \n \n MatSnackBar\n \n \n \n No\n \n \n \n \n theming\n \n \n ThemingService\n \n \n \n No\n \n \n \n \n el\n \n \n ElementRef<>\n \n \n \n No\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n \n HostListeners \n \n \n \n \n \n document:click\n \n \n \n \n \n \n Arguments : '$event.target' \n \n \n \n \ndocument:click(target: HTMLElement)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:167\n \n \n\n\n \n \n Disables block position change if an input element is clicked\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n The element clicked\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n document:keydown\n \n \n \n \n \n \n Arguments : '$event' \n \n \n \n \ndocument:keydown(target: KeyboardEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:128\n \n \n\n\n \n \n Shifts block position when certain keys are pressed\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n The keyboard event\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleClick\n \n \n \n \n \n \nhandleClick(target: HTMLElement)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:click', ['$event.target'])\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:167\n \n \n\n\n \n \n Disables block position change if an input element is clicked\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n HTMLElement\n \n\n \n No\n \n\n\n \n The element clicked\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n handleKey\n \n \n \n \n \n \nhandleKey(target: KeyboardEvent)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:keydown', ['$event'])\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:128\n \n \n\n\n \n \n Shifts block position when certain keys are pressed\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n KeyboardEvent\n \n\n \n No\n \n\n\n \n The keyboard event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:178\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:100\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n toggleScheme\n \n \n \n \n \n \ntoggleScheme()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:118\n \n \n\n\n \n \n Toggles scheme between light and dark mode\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n disablePositionChange\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:44\n \n \n\n \n \n Disables changes in block position\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n header$\n \n \n \n \n \n \n Default value : this.globalConfig.getOption('header')\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n homeUrl$\n \n \n \n \n \n \n Default value : this.globalConfig.getOption('homeUrl')\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n logoTooltip$\n \n \n \n \n \n \n Default value : this.globalConfig.getOption('logoTooltip')\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n open\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:38\n \n \n\n \n \n True if the organ selector drawer is open\n\n \n \n\n \n \n \n \n \n \n \n \n organList\n \n \n \n \n \n \n Default value : RUI_ORGANS\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:35\n \n \n\n \n \n Organs to be displayed in the organ selector\n\n \n \n\n \n \n \n \n \n \n \n \n registrationStarted\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:41\n \n \n\n \n \n False until the initial registration modal is closed\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:64\n \n \n\n \n \n All subscriptions managed by the container.\n\n \n \n\n \n \n \n \n \n \n \n \n theme\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n theme$\n \n \n \n \n \n \n Default value : this.globalConfig.getOption('theme')\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n themeMode$\n \n \n \n \n \n \n Default value : new ReplaySubject(1)\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:51\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n isLightTheme\n \n \n\n \n \n getisLightTheme()\n \n \n \n \n Defined in projects/ccf-rui/src/app/app.component.ts:46\n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, OnDestroy, OnInit, HostListener } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { GlobalConfigState, TrackingPopupComponent } from 'ccf-shared';\nimport { ConsentService } from 'ccf-shared/analytics';\nimport { combineLatest, Subscription, ReplaySubject } from 'rxjs';\n\nimport { GlobalConfig } from './core/services/config/config';\nimport { ThemingService } from './core/services/theming/theming.service';\nimport { ModelState, RUI_ORGANS } from './core/store/model/model.state';\nimport { PageState } from './core/store/page/page.state';\n\nexport interface User {\n firstName: string;\n lastName: string;\n}\n\ninterface AppOptions extends GlobalConfig {\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n}\n\n/**\n * App component\n */\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent implements OnDestroy, OnInit {\n /** Organs to be displayed in the organ selector */\n organList = RUI_ORGANS;\n\n /** True if the organ selector drawer is open */\n open = true;\n\n /** False until the initial registration modal is closed */\n registrationStarted = false;\n\n /** Disables changes in block position */\n disablePositionChange = false;\n\n get isLightTheme(): boolean {\n return this.theming.getTheme().endsWith('light');\n }\n\n readonly theme$ = this.globalConfig.getOption('theme');\n readonly themeMode$ = new ReplaySubject(1);\n\n readonly header$ = this.globalConfig.getOption('header');\n readonly homeUrl$ = this.globalConfig.getOption('homeUrl');\n readonly logoTooltip$ = this.globalConfig.getOption('logoTooltip');\n\n theme: string;\n\n homeUrl: string;\n\n logoTooltip: string;\n\n /** All subscriptions managed by the container. */\n private readonly subscriptions = new Subscription();\n\n constructor(\n readonly model: ModelState, readonly page: PageState,\n readonly consentService: ConsentService, readonly snackbar: MatSnackBar, readonly theming: ThemingService,\n el: ElementRef, injector: Injector, private readonly globalConfig: GlobalConfigState, cdr: ChangeDetectorRef\n ) {\n theming.initialize(el, injector);\n this.subscriptions.add(\n page.registrationCallbackSet$.subscribe((callbackSet) => {\n this.open = !callbackSet;\n })\n );\n this.subscriptions.add(\n page.registrationStarted$.subscribe((registrationStarted) => {\n this.registrationStarted = registrationStarted;\n })\n );\n this.theme$.subscribe((theme: string) => {\n this.theme = theme;\n });\n this.globalConfig.getOption('homeUrl').subscribe((url: string) => {\n this.homeUrl = url;\n });\n this.globalConfig.getOption('logoTooltip').subscribe((tooltip: string) => {\n this.logoTooltip = tooltip;\n });\n\n combineLatest([this.theme$, this.themeMode$]).subscribe(\n ([theme, mode]) => {\n this.theming.setTheme(`${theme}-theme-${mode}`);\n cdr.markForCheck();\n }\n );\n }\n\n ngOnInit(): void {\n const snackBar = this.snackbar.openFromComponent(TrackingPopupComponent, {\n data: {\n preClose: () => {\n snackBar.dismiss();\n }\n },\n duration: this.consentService.consent === 'not-set' ? Infinity : 3000\n });\n\n this.themeMode$.next('light');\n\n this.theming.setTheme(`${this.theme}-theme-light`);\n }\n\n /**\n * Toggles scheme between light and dark mode\n */\n toggleScheme(): void {\n this.themeMode$.next(this.isLightTheme ? 'dark' : 'light');\n }\n\n /**\n * Shifts block position when certain keys are pressed\n *\n * @param target The keyboard event\n */\n @HostListener('document:keydown', ['$event'])\n handleKey(target: KeyboardEvent): void {\n const oldPosition = this.model.snapshot.position;\n if (this.disablePositionChange || !this.registrationStarted) {\n return;\n }\n target.preventDefault();\n const delta = target.repeat ? 1.0 : 0.5;\n let newPosition = oldPosition;\n switch (target.key) {\n case 'q':\n newPosition = { ...oldPosition, z: oldPosition.z + delta };\n break;\n case 'e':\n newPosition = { ...oldPosition, z: oldPosition.z - delta };\n break;\n case 'w':\n newPosition = { ...oldPosition, y: oldPosition.y + delta };\n break;\n case 's':\n newPosition = { ...oldPosition, y: oldPosition.y - delta };\n break;\n case 'a':\n newPosition = { ...oldPosition, x: oldPosition.x - delta };\n break;\n case 'd':\n newPosition = { ...oldPosition, x: oldPosition.x + delta };\n break;\n default:\n break;\n }\n this.model.setPosition(newPosition);\n }\n\n /**\n * Disables block position change if an input element is clicked\n *\n * @param target The element clicked\n */\n @HostListener('document:click', ['$event.target'])\n handleClick(target: HTMLElement): void {\n if (target.nodeName === 'INPUT') {\n this.disablePositionChange = true;\n } else {\n this.disablePositionChange = false;\n }\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n}\n\n \n\n \n \n\n\n\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n {{ organSelector.expanded ? 'arrow_drop_up': 'arrow_drop_down' }}\n \n \n \n \n {{ open ? 'arrow_drop_up': 'arrow_drop_down' }}\n \n \n \n \n \n \n\n\n \n\n \n \n ./app.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n font-size: 1rem;\n color: black;\n\n .header-hidden {\n display: none;\n }\n\n ccf-drawer-container {\n height: 100%;\n\n ccf-drawer {\n width: 25.5rem;\n }\n\n ccf-drawer-content {\n position: relative;\n z-index: 1;\n\n .selector-drawer {\n top: 0rem;\n display: flex;\n flex-direction: column;\n position: relative;\n height: 5.688rem;\n transition: all 0.5s ease-in-out;\n\n &.expanded {\n height: 15rem;\n }\n\n ccf-organ-selector {\n height: 100%;\n padding-top: 0.5rem;\n transition: all 0.5s;\n \n &.closed {\n padding-top: 0;\n }\n }\n\n .close-button-wrapper {\n display: flex;\n justify-content: center;\n height: 0;\n z-index: 2;\n \n .close-button {\n cursor: pointer;\n transition: 0.6s;\n\n .expand-collapse-icon {\n width: 3rem;\n height: 1.2rem;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n background-color: white;\n border-bottom-left-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n transition: 0.6s;\n \n &:hover {\n background-color: #ececec;\n }\n }\n }\n }\n\n\n &.closed {\n height: 3rem;\n top: -2.9rem;\n }\n }\n\n .stage-content {\n border-radius: 0.5rem !important;\n height: calc(100% - 2.688rem - 3rem - 1.5rem);\n }\n\n .expanded-stage {\n height: calc(100% - 1.5rem);\n padding-bottom: 1rem;\n }\n\n .retracted-stage {\n height: calc(100% - 2.688rem - 14rem);\n }\n\n }\n\n\n\n ccf-content {\n // top: 0rem;\n position: absolute;\n transition-duration: 0.5s;\n transition-timing-function: ease-in-out;\n transition-property: all;\n bottom: 1.5rem;\n z-index: 1;\n\n }\n\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ organSelector.expanded ? \\'arrow_drop_up\\': \\'arrow_drop_down\\' }} {{ open ? \\'arrow_drop_up\\': \\'arrow_drop_down\\' }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AppModule.html":{"url":"modules/AppModule.html","title":"module - AppModule","body":"\n \n\n\n\n\n Modules\n AppModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nContentModule\n\nContentModule\n\nAppModule -->\n\nContentModule->AppModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nAppModule -->\n\nCoreModule->AppModule\n\n\n\n\n\nDrawerModule\n\nDrawerModule\n\nAppModule -->\n\nDrawerModule->AppModule\n\n\n\n\n\nHeaderModule\n\nHeaderModule\n\nAppModule -->\n\nHeaderModule->AppModule\n\n\n\n\n\nLeftSidebarModule\n\nLeftSidebarModule\n\nAppModule -->\n\nLeftSidebarModule->AppModule\n\n\n\n\n\nRegistrationModalModule\n\nRegistrationModalModule\n\nAppModule -->\n\nRegistrationModalModule->AppModule\n\n\n\n\n\nRightSidebarModule\n\nRightSidebarModule\n\nAppModule -->\n\nRightSidebarModule->AppModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/app.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n AppComponent\n \n \n AppWebComponent\n \n \n \n \n EntryComponents\n \n \n AppComponent\n \n \n AppWebComponent\n \n \n \n \n Imports\n \n \n ContentModule\n \n \n CoreModule\n \n \n DrawerModule\n \n \n HeaderModule\n \n \n LeftSidebarModule\n \n \n RegistrationModalModule\n \n \n RightSidebarModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngDoBootstrap\n \n \n \n \n \n \nngDoBootstrap()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/app.module.ts:58\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { DoBootstrap, Injector, NgModule } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { OrganSelectorModule, TrackingPopupModule } from 'ccf-shared';\n\nimport { AppWebComponent } from './app-web-component.component';\nimport { AppComponent } from './app.component';\nimport { CoreModule } from './core/core.module';\nimport { DEFAULT_THEME } from './core/services/theming/theming.service';\nimport { ContentModule } from './modules/content/content.module';\nimport { HeaderModule } from './modules/header/header.module';\nimport { LeftSidebarModule } from './modules/left-sidebar/left-sidebar.module';\nimport { RegistrationModalModule } from './modules/registration-modal/registration-modal/registration-modal.module';\nimport { RightSidebarModule } from './modules/right-sidebar/right-sidebar.module';\nimport { DrawerModule } from './shared/components/drawer/drawer.module';\n\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n CoreModule,\n MatIconModule,\n DrawerModule,\n HeaderModule,\n ContentModule,\n LeftSidebarModule,\n RightSidebarModule,\n OrganSelectorModule,\n RegistrationModalModule,\n TrackingPopupModule,\n MatSnackBarModule\n ],\n declarations: [AppComponent, AppWebComponent],\n providers: [\n {\n provide: DEFAULT_THEME,\n useValue: 'hubmap-theme-light'\n },\n {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: {\n appearance: 'standard',\n floatLabel: false,\n hideRequiredMarker: true\n }\n }\n ],\n entryComponents: [AppComponent, AppWebComponent]\n})\nexport class AppModule implements DoBootstrap {\n constructor(private readonly injector: Injector) { }\n\n ngDoBootstrap(): void {\n const appElement = createCustomElement(AppWebComponent, {\n injector: this.injector\n });\n\n customElements.define('ccf-rui', appElement);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AppOptions.html":{"url":"interfaces/AppOptions.html","title":"interface - AppOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AppOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/app.component.ts\n \n\n\n\n \n Extends\n \n \n GlobalConfig\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n header\n \n \n \n Optional\n \n homeUrl\n \n \n \n Optional\n \n logoTooltip\n \n \n \n Optional\n \n theme\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n header\n \n \n \n \n \n \n \n \n header: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n \n \n \n \n homeUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n \n \n \n \n logoTooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n theme\n \n \n \n \n \n \n \n \n theme: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, OnDestroy, OnInit, HostListener } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { GlobalConfigState, TrackingPopupComponent } from 'ccf-shared';\nimport { ConsentService } from 'ccf-shared/analytics';\nimport { combineLatest, Subscription, ReplaySubject } from 'rxjs';\n\nimport { GlobalConfig } from './core/services/config/config';\nimport { ThemingService } from './core/services/theming/theming.service';\nimport { ModelState, RUI_ORGANS } from './core/store/model/model.state';\nimport { PageState } from './core/store/page/page.state';\n\nexport interface User {\n firstName: string;\n lastName: string;\n}\n\ninterface AppOptions extends GlobalConfig {\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n}\n\n/**\n * App component\n */\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent implements OnDestroy, OnInit {\n /** Organs to be displayed in the organ selector */\n organList = RUI_ORGANS;\n\n /** True if the organ selector drawer is open */\n open = true;\n\n /** False until the initial registration modal is closed */\n registrationStarted = false;\n\n /** Disables changes in block position */\n disablePositionChange = false;\n\n get isLightTheme(): boolean {\n return this.theming.getTheme().endsWith('light');\n }\n\n readonly theme$ = this.globalConfig.getOption('theme');\n readonly themeMode$ = new ReplaySubject(1);\n\n readonly header$ = this.globalConfig.getOption('header');\n readonly homeUrl$ = this.globalConfig.getOption('homeUrl');\n readonly logoTooltip$ = this.globalConfig.getOption('logoTooltip');\n\n theme: string;\n\n homeUrl: string;\n\n logoTooltip: string;\n\n /** All subscriptions managed by the container. */\n private readonly subscriptions = new Subscription();\n\n constructor(\n readonly model: ModelState, readonly page: PageState,\n readonly consentService: ConsentService, readonly snackbar: MatSnackBar, readonly theming: ThemingService,\n el: ElementRef, injector: Injector, private readonly globalConfig: GlobalConfigState, cdr: ChangeDetectorRef\n ) {\n theming.initialize(el, injector);\n this.subscriptions.add(\n page.registrationCallbackSet$.subscribe((callbackSet) => {\n this.open = !callbackSet;\n })\n );\n this.subscriptions.add(\n page.registrationStarted$.subscribe((registrationStarted) => {\n this.registrationStarted = registrationStarted;\n })\n );\n this.theme$.subscribe((theme: string) => {\n this.theme = theme;\n });\n this.globalConfig.getOption('homeUrl').subscribe((url: string) => {\n this.homeUrl = url;\n });\n this.globalConfig.getOption('logoTooltip').subscribe((tooltip: string) => {\n this.logoTooltip = tooltip;\n });\n\n combineLatest([this.theme$, this.themeMode$]).subscribe(\n ([theme, mode]) => {\n this.theming.setTheme(`${theme}-theme-${mode}`);\n cdr.markForCheck();\n }\n );\n }\n\n ngOnInit(): void {\n const snackBar = this.snackbar.openFromComponent(TrackingPopupComponent, {\n data: {\n preClose: () => {\n snackBar.dismiss();\n }\n },\n duration: this.consentService.consent === 'not-set' ? Infinity : 3000\n });\n\n this.themeMode$.next('light');\n\n this.theming.setTheme(`${this.theme}-theme-light`);\n }\n\n /**\n * Toggles scheme between light and dark mode\n */\n toggleScheme(): void {\n this.themeMode$.next(this.isLightTheme ? 'dark' : 'light');\n }\n\n /**\n * Shifts block position when certain keys are pressed\n *\n * @param target The keyboard event\n */\n @HostListener('document:keydown', ['$event'])\n handleKey(target: KeyboardEvent): void {\n const oldPosition = this.model.snapshot.position;\n if (this.disablePositionChange || !this.registrationStarted) {\n return;\n }\n target.preventDefault();\n const delta = target.repeat ? 1.0 : 0.5;\n let newPosition = oldPosition;\n switch (target.key) {\n case 'q':\n newPosition = { ...oldPosition, z: oldPosition.z + delta };\n break;\n case 'e':\n newPosition = { ...oldPosition, z: oldPosition.z - delta };\n break;\n case 'w':\n newPosition = { ...oldPosition, y: oldPosition.y + delta };\n break;\n case 's':\n newPosition = { ...oldPosition, y: oldPosition.y - delta };\n break;\n case 'a':\n newPosition = { ...oldPosition, x: oldPosition.x - delta };\n break;\n case 'd':\n newPosition = { ...oldPosition, x: oldPosition.x + delta };\n break;\n default:\n break;\n }\n this.model.setPosition(newPosition);\n }\n\n /**\n * Disables block position change if an input element is clicked\n *\n * @param target The element clicked\n */\n @HostListener('document:click', ['$event.target'])\n handleClick(target: HTMLElement): void {\n if (target.nodeName === 'INPUT') {\n this.disablePositionChange = true;\n } else {\n this.disablePositionChange = false;\n }\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/AppWebComponent.html":{"url":"components/AppWebComponent.html","title":"component - AppWebComponent","body":"\n \n\n\n\n\n\n Components\n \n AppWebComponent\n\n\n\n \n Info\n \n \n Source\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/app-web-component.component.ts\n\n\n\n\n \n Extends\n \n \n BaseWebComponent\n \n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-root-wc\n \n\n\n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n initialized\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n baseHref\n \n \n cancelRegistration\n \n \n editRegistration\n \n \n fetchPreviousRegistrations\n \n \n header\n \n \n homeUrl\n \n \n logoTooltip\n \n \n organ\n \n \n register\n \n \n skipUnsavedChangesConfirmation\n \n \n theme\n \n \n useDownload\n \n \n user\n \n \n \n \n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configStore: GlobalConfigState, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:39\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configStore\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n baseHref\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:25\n \n \n \n \n \n \n \n \n \n cancelRegistration\n \n \n \n \n Type : string | CancelRegistrationCallback\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:31\n \n \n \n \n \n \n \n \n \n editRegistration\n \n \n \n \n Type : string | SpatialEntityJsonLd\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:29\n \n \n \n \n \n \n \n \n \n fetchPreviousRegistrations\n \n \n \n \n Type : string | FetchPreviousRegistrationsCallback\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:32\n \n \n \n \n \n \n \n \n \n header\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:35\n \n \n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:36\n \n \n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:37\n \n \n \n \n \n \n \n \n \n organ\n \n \n \n \n Type : string | Organ\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:28\n \n \n \n \n \n \n \n \n \n register\n \n \n \n \n Type : string | RegistrationCallback\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:30\n \n \n \n \n \n \n \n \n \n skipUnsavedChangesConfirmation\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:33\n \n \n \n \n \n \n \n \n \n theme\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:34\n \n \n \n \n \n \n \n \n \n useDownload\n \n \n \n \n Type : string | boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:26\n \n \n \n \n \n \n \n \n \n user\n \n \n \n \n Type : string | User\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:27\n \n \n \n \n\n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n initialized\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/app-web-component.component.ts:39\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { SpatialEntityJsonLd } from 'ccf-body-ui';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { BaseWebComponent, BUILTIN_PARSERS } from 'ccf-shared/web-components';\nimport { ObservableInput } from 'rxjs';\n\nimport { GlobalConfig } from './core/services/config/config';\n\nimport { environment } from '../environments/environment';\n\n\nexport type User = NonNullable;\nexport type Organ = NonNullable;\nexport type RegistrationCallback = (data: unknown) => void;\nexport type CancelRegistrationCallback = () => void;\nexport type FetchPreviousRegistrationsCallback = () => ObservableInput[]>;\n\n\n@Component({\n selector: 'ccf-root-wc',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppWebComponent extends BaseWebComponent {\n @Input() baseHref: string;\n @Input() useDownload: string | boolean;\n @Input() user: string | User;\n @Input() organ: string | Organ;\n @Input() editRegistration: string | SpatialEntityJsonLd;\n @Input() register: string | RegistrationCallback;\n @Input() cancelRegistration: string | CancelRegistrationCallback;\n @Input() fetchPreviousRegistrations: string | FetchPreviousRegistrationsCallback;\n @Input() skipUnsavedChangesConfirmation: string | boolean;\n @Input() theme: string;\n @Input() header: string | boolean;\n @Input() homeUrl: string;\n @Input() logoTooltip: string;\n\n initialized: boolean;\n\n constructor(\n configStore: GlobalConfigState,\n cdr: ChangeDetectorRef\n ) {\n const BP = BUILTIN_PARSERS;\n\n super(configStore, cdr, {\n initialDelay: 500,\n\n initialConfig: {\n ...environment.dbOptions,\n ...globalThis['ruiConfig' as string],\n ...environment.customization\n },\n parse: {\n useDownload: BP.boolean,\n user: BP.json,\n organ: BP.json,\n editRegistration: BP.json,\n register: BP.function,\n cancelRegistration: BP.function,\n fetchPreviousRegistrations: BP.function,\n skipUnsavedChangesConfirmation: BP.boolean,\n header: BP.boolean,\n }\n });\n }\n}\n\n \n\n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'AppWebComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BlockSize.html":{"url":"interfaces/BlockSize.html","title":"interface - BlockSize","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BlockSize\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n\n\n \n Description\n \n \n Interface for objects containing tissue block dimensions\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Width of block\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Height of block\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Depth of block\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/**\n * Interface for objects containing tissue block dimensions\n */\nexport interface BlockSize {\n /** Width of block */\n x: number;\n /** Height of block */\n y: number;\n /** Depth of block */\n z: number;\n}\n\n/** Defaults for block sizes. */\nconst DEFAULT_BLOCK_SIZE: BlockSize = {\n x: 10,\n y: 10,\n z: 10\n};\n\n/**\n * Component for entering dimensions of the tissue block\n */\n@Component({\n selector: 'ccf-block-size-input',\n templateUrl: './block-size-input.component.html',\n styleUrls: ['./block-size-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BlockSizeInputComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-block-size-input';\n\n /**\n * Values of block dimensions to be emitted\n */\n @Input() blockSize = DEFAULT_BLOCK_SIZE;\n\n /**\n * Emitter for values\n */\n @Output() readonly blockSizeChange = new EventEmitter();\n\n /**\n * Creates an instance of block size input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates values when an input changes\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key Name of the dimension to be updated\n */\n updateBlockSizes(input: InputEvent, key: string): void {\n const inputTarget = input.target as HTMLInputElement;\n this.blockSize = { ...this.blockSize, [key]: +inputTarget.value };\n this.ga.event('block_size_change', 'block_size_input', key, this.blockSize[key]);\n this.blockSizeChange.emit(this.blockSize);\n }\n\n /**\n * Refreshes all block size values to 10\n */\n refreshBlockSize(): void {\n this.blockSize = DEFAULT_BLOCK_SIZE;\n this.ga.event('block_size_reset', 'block_size_input');\n this.blockSizeChange.emit(this.blockSize);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/BlockSizeInputComponent.html":{"url":"components/BlockSizeInputComponent.html","title":"component - BlockSizeInputComponent","body":"\n \n\n\n\n\n\n Components\n \n BlockSizeInputComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n\n\n\n \n Description\n \n \n Component for entering dimensions of the tissue block\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-block-size-input\n \n\n \n styleUrls\n ./block-size-input.component.scss\n \n\n\n\n \n templateUrl\n ./block-size-input.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n refreshBlockSize\n \n \n updateBlockSizes\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n blockSize\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n blockSizeChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:45\n \n \n\n \n \n Creates an instance of block size input component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n blockSize\n \n \n \n \n Type : BlockSize\n\n \n \n \n \n Default value : DEFAULT_BLOCK_SIZE\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:40\n \n \n \n \n Values of block dimensions to be emitted\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n blockSizeChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:45\n \n \n \n \n Emitter for values\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-block-size-input\"\n\n \n \n \n \n Default value : 'ccf-block-size-input'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:35\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n refreshBlockSize\n \n \n \n \n \n \nrefreshBlockSize()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:70\n \n \n\n\n \n \n Refreshes all block size values to 10\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateBlockSizes\n \n \n \n \n \n \nupdateBlockSizes(input: InputEvent, key: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:60\n \n \n\n\n \n \n Updates values when an input changes\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n input\n \n InputEvent\n \n\n \n No\n \n\n\n \n InputEvent from the input element which contains the new value\n\n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n Name of the dimension to be updated\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-block-size-input'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts:35\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/**\n * Interface for objects containing tissue block dimensions\n */\nexport interface BlockSize {\n /** Width of block */\n x: number;\n /** Height of block */\n y: number;\n /** Depth of block */\n z: number;\n}\n\n/** Defaults for block sizes. */\nconst DEFAULT_BLOCK_SIZE: BlockSize = {\n x: 10,\n y: 10,\n z: 10\n};\n\n/**\n * Component for entering dimensions of the tissue block\n */\n@Component({\n selector: 'ccf-block-size-input',\n templateUrl: './block-size-input.component.html',\n styleUrls: ['./block-size-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BlockSizeInputComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-block-size-input';\n\n /**\n * Values of block dimensions to be emitted\n */\n @Input() blockSize = DEFAULT_BLOCK_SIZE;\n\n /**\n * Emitter for values\n */\n @Output() readonly blockSizeChange = new EventEmitter();\n\n /**\n * Creates an instance of block size input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates values when an input changes\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key Name of the dimension to be updated\n */\n updateBlockSizes(input: InputEvent, key: string): void {\n const inputTarget = input.target as HTMLInputElement;\n this.blockSize = { ...this.blockSize, [key]: +inputTarget.value };\n this.ga.event('block_size_change', 'block_size_input', key, this.blockSize[key]);\n this.blockSizeChange.emit(this.blockSize);\n }\n\n /**\n * Refreshes all block size values to 10\n */\n refreshBlockSize(): void {\n this.blockSize = DEFAULT_BLOCK_SIZE;\n this.ga.event('block_size_reset', 'block_size_input');\n this.blockSizeChange.emit(this.blockSize);\n }\n}\n\n \n\n \n \n Tissue Block Dimensions (mm)\n \n refresh\n\n\n\n \n Width (X)\n \n \n\n \n Height (Y)\n \n \n\n \n Depth (Z)\n \n \n\n\n \n\n \n \n ./block-size-input.component.scss\n \n :host {\n input[type=number] {\n -moz-appearance: textfield;\n }\n\n .header {\n display: flex;\n height: 1.5rem;\n align-items: center;\n\n .title {\n font-weight: 600;\n }\n\n .refresh {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n\n &:hover {\n border-radius: 2px;\n } \n }\n }\n\n .size-inputs {\n display: flex;\n\n .field {\n width: 33.33%;\n\n &:not(:last-child) {\n padding-right: 0.75rem;\n }\n\n .input {\n text-align: center;\n }\n }\n }\n\n .filler {\n flex-grow: 1;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Tissue Block Dimensions (mm) refresh Width (X) Height (Y) Depth (Z) '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'BlockSizeInputComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/BlockSizeInputModule.html":{"url":"modules/BlockSizeInputModule.html","title":"module - BlockSizeInputModule","body":"\n \n\n\n\n\n Modules\n BlockSizeInputModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_BlockSizeInputModule\n\n\n\ncluster_BlockSizeInputModule_declarations\n\n\n\ncluster_BlockSizeInputModule_exports\n\n\n\n\nBlockSizeInputComponent\n\nBlockSizeInputComponent\n\n\n\nBlockSizeInputModule\n\nBlockSizeInputModule\n\nBlockSizeInputModule -->\n\nBlockSizeInputComponent->BlockSizeInputModule\n\n\n\n\n\nBlockSizeInputComponent \n\nBlockSizeInputComponent \n\nBlockSizeInputComponent -->\n\nBlockSizeInputModule->BlockSizeInputComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n BlockSizeInputComponent\n \n \n \n \n Exports\n \n \n BlockSizeInputComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n\nimport { BlockSizeInputComponent } from './block-size-input.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatInputModule,\n MatIconModule,\n MatRippleModule,\n MatTooltipModule\n ],\n declarations: [BlockSizeInputComponent],\n exports: [BlockSizeInputComponent]\n})\nexport class BlockSizeInputModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ConfigModule.html":{"url":"modules/ConfigModule.html","title":"module - ConfigModule","body":"\n \n\n\n\n\n Modules\n ConfigModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/core/services/config/config.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { GlobalsService } from 'ccf-shared';\n\nimport { GLOBAL_CONFIG, globalConfigFactory } from './config';\n\n\n@NgModule({\n providers: [\n {\n provide: GLOBAL_CONFIG,\n useFactory: globalConfigFactory,\n deps: [GlobalsService]\n }\n ]\n})\nexport class ConfigModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ContainerComponent.html":{"url":"components/ContainerComponent.html","title":"component - ContainerComponent","body":"\n \n\n\n\n\n\n Components\n \n ContainerComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts\n\n\n\n \n Description\n \n \n Main container for drawer components.\n\n \n\n\n \n Implements\n \n \n AfterViewInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n \n exportAs\n ccfDrawerContainer\n \n\n\n\n\n\n \n providers\n \n MessageService\n \n \n\n\n \n selector\n ccf-drawer-container\n \n\n \n styleUrls\n ./container.component.scss\n \n\n\n\n \n templateUrl\n ./container.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n channel\n \n \n Readonly\n className\n \n \n Private\n content1\n \n \n Private\n content2\n \n \n Private\n drawers\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n handleMessage\n \n \n ngAfterViewInit\n \n \n ngOnDestroy\n \n \n Private\n validateDrawers\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n content\n \n \n hasWrappedContent\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:62\n \n \n\n \n \n Creates an instance of container component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n The service used to send event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-container\"\n\n \n \n \n \n Default value : 'ccf-drawer-container'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:37\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n handleMessage\n \n \n \n \n \n \n \n handleMessage(_msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:115\n \n \n\n\n \n \n Processes event messages.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to be run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngAfterViewInit\n \n \n \n \n \n \nngAfterViewInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:83\n \n \n\n\n \n \n Sets up all listeners after all content has been projected.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:105\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n validateDrawers\n \n \n \n \n \n \n \n validateDrawers()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:124\n \n \n\n\n \n \n Validates the number of drawers and their positions.\n\n\n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n channel\n \n \n \n \n \n \n Type : MessageChannel\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:60\n \n \n\n \n \n The connected message channel.\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-container'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:37\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n content1\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ContentChildren(ContentComponent, {descendants: true})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:45\n \n \n\n \n \n Content component if provided already wrapped.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n content2\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ViewChildren(ContentComponent)\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:48\n \n \n\n \n \n Content component if provided without wrapping.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n drawers\n \n \n \n \n \n \n Type : QueryList\n\n \n \n \n \n Decorators : \n \n \n @ContentChildren(DrawerComponent, {descendants: true})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:41\n \n \n\n \n \n Drawer components in this container.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:62\n \n \n\n \n \n All subscriptions managed by the container.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n content\n \n \n\n \n \n getcontent()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:50\n \n \n \n \n Resolves the content component.\n\n\n \n Returns : ContentComponent\n\n \n \n \n\n \n \n \n \n \n \n \n hasWrappedContent\n \n \n\n \n \n gethasWrappedContent()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts:55\n \n \n \n \n Whether the content was wrapped.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import {\n AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, HostBinding, OnDestroy, QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\n\nimport { ContentComponent } from '../content/content.component';\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageChannel, MessageService } from '../messages';\n\n\n/**\n * Helper function for creating drawer errors.\n *\n * @param position The position of the drawer.\n * @throws {Error} Error with useful message is always thrown.\n */\nfunction throwDuplicateDrawersError(position: 'start' | 'end'): never {\n throw new Error(`Multiple drawers in position ${position}`);\n}\n\n\n/**\n * Main container for drawer components.\n */\n@Component({\n selector: 'ccf-drawer-container',\n exportAs: 'ccfDrawerContainer',\n templateUrl: './container.component.html',\n styleUrls: ['./container.component.scss'],\n providers: [MessageService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContainerComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-container';\n\n /** Drawer components in this container. */\n @ContentChildren(DrawerComponent, { descendants: true })\n private drawers: QueryList;\n\n /** Content component if provided already wrapped. */\n @ContentChildren(ContentComponent, { descendants: true })\n private content1: QueryList;\n /** Content component if provided without wrapping. */\n @ViewChildren(ContentComponent)\n private content2: QueryList;\n /** Resolves the content component. */\n private get content(): ContentComponent {\n return this.content1.first ?? this.content2.first;\n }\n\n /** Whether the content was wrapped. */\n get hasWrappedContent(): boolean {\n return this.content1.length !== 0;\n }\n\n /** The connected message channel. */\n private channel: MessageChannel;\n /** All subscriptions managed by the container. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of container component.\n *\n * @param messageService The service used to send event messages.\n * @param cdr The change detector reference.\n */\n constructor(messageService: MessageService,\n private cdr: ChangeDetectorRef) {\n this.channel = messageService.connect(this);\n this.subscriptions.add(this.channel.getMessages().subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Sets up all listeners after all content has been projected.\n */\n ngAfterViewInit(): void {\n this.drawers.changes.pipe(startWith(null)).subscribe(() => {\n const drawers = this.validateDrawers();\n this.channel.sendMessage({\n type: 'drawer-containers-changed',\n drawers\n });\n this.cdr.markForCheck();\n });\n\n this.content1.changes.pipe(startWith(null)).subscribe(() => {\n this.channel.sendMessage({\n type: 'content-container-changed',\n content: this.content\n });\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Processes event messages.\n *\n * @param _msg The event.\n * @returns true if change detection needs to be run.\n */\n private handleMessage(_msg: Message): boolean {\n return true;\n }\n\n /**\n * Validates the number of drawers and their positions.\n *\n * @returns A tuple containing the start and end drawers.\n */\n private validateDrawers(): [DrawerComponent | undefined, DrawerComponent | undefined] {\n const drawers = this.drawers.toArray();\n const startDrawers = drawers.filter(drawer => drawer.position === 'start');\n const endDrawers = drawers.filter(drawer => drawer.position === 'end');\n\n if (startDrawers.length > 1) {\n throwDuplicateDrawersError('start');\n }\n if (endDrawers.length > 1) {\n throwDuplicateDrawersError('end');\n }\n\n return [startDrawers[0], endDrawers[0]];\n }\n}\n\n \n\n \n \n\n\n\n \n\n\n \n\n \n \n ./container.component.scss\n \n :host {\n display: block;\n position: relative;\n z-index: 1;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ContainerComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ContentComponent.html":{"url":"components/ContentComponent.html","title":"component - ContentComponent","body":"\n \n\n\n\n\n\n Components\n \n ContentComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/content/content.component.ts\n\n\n\n \n Description\n \n \n Main content component\n\n \n\n\n \n Implements\n \n \n OnInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-content\n \n\n \n styleUrls\n ./content.component.scss\n \n\n\n\n \n templateUrl\n ./content.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n bounds$\n \n \n Readonly\n clsName\n \n \n debugMode\n \n \n Readonly\n is3DView$\n \n \n isNarrowView\n \n \n Readonly\n position$\n \n \n Private\n sensor\n \n \n showDebugButtons\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleNodeDrag\n \n \n ngOnDestroy\n \n \n ngOnInit\n \n \n resetStage\n \n \n setViewType\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(model: ModelState, page: PageState, registration: RegistrationState, scene: SceneState, rootRef: ElementRef, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:61\n \n \n\n \n \n Creates an instance of content component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n The model state\n\n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n The page state\n\n \n \n \n registration\n \n \n RegistrationState\n \n \n \n No\n \n \n \n The registration state\n\n \n \n \n scene\n \n \n SceneState\n \n \n \n No\n \n \n \n \n \n \n rootRef\n \n \n ElementRef\n \n \n \n No\n \n \n \n Component's root element\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n Change detector\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-content\"\n\n \n \n \n \n Default value : 'ccf-content'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:26\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleNodeDrag\n \n \n \n \n \n \nhandleNodeDrag(event: NodeDragEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n NodeDragEvent\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:97\n \n \n\n\n \n \n Detaches the resize sensor\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:84\n \n \n\n\n \n \n Sets up the resize sensor\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n resetStage\n \n \n \n \n \n \nresetStage()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:113\n \n \n\n\n \n \n Method to reset registration block, crosshairs, and x,y,z information.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setViewType\n \n \n \n \n \n \nsetViewType(is3DView: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:106\n \n \n\n\n \n \n Sets view type\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n is3DView\n \n boolean\n \n\n \n No\n \n\n\n \n Set view type to '3d' if this is true otherwise set it to 'register'\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n bounds$\n \n \n \n \n \n \n Default value : this.model.organDimensions$.pipe(\n map(dims => ({\n x: Math.max(dims.x, this.model.defaultPosition.x + 40) / 1000,\n y: Math.max(dims.y, this.model.defaultPosition.y + 40) / 1000,\n z: Math.max(dims.z, this.model.defaultPosition.z + 40) / 1000\n })),\n distinctUntilKeyChanged('x'),\n distinctUntilKeyChanged('y')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-content'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:26\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n debugMode\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:53\n \n \n\n \n \n Shows / hides the state debug component for testing purposes.\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n is3DView$\n \n \n \n \n \n \n Default value : this.model.viewType$.pipe(\n map(type => type === '3d')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:33\n \n \n\n \n \n Whether the view type is 3d or register\n\n \n \n\n \n \n \n \n \n \n \n \n isNarrowView\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:48\n \n \n\n \n \n Whether the content area is very narrow\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n position$\n \n \n \n \n \n \n Default value : this.model.position$.pipe(\n map(p => ({ x: Math.floor(p.x), y: Math.floor(p.y), z: Math.floor(p.z) }))\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n sensor\n \n \n \n \n \n \n Type : ResizeSensor\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:61\n \n \n\n \n \n Resize detection\n\n \n \n\n \n \n \n \n \n \n \n \n showDebugButtons\n \n \n \n \n \n \n Default value : !environment.production\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/content.component.ts:58\n \n \n\n \n \n Show debug buttons of content component\n\n \n \n\n \n \n\n\n\n\n\n \n import {\n ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, OnDestroy, OnInit\n} from '@angular/core';\nimport { NodeDragEvent } from 'ccf-body-ui';\nimport { ResizeSensor } from 'css-element-queries';\nimport { distinctUntilKeyChanged, map } from 'rxjs/operators';\n\nimport { environment } from '../../../environments/environment';\nimport { ModelState } from '../../core/store/model/model.state';\nimport { PageState } from '../../core/store/page/page.state';\nimport { RegistrationState } from '../../core/store/registration/registration.state';\nimport { SceneState } from '../../core/store/scene/scene.state';\n\n\n/**\n * Main content component\n */\n@Component({\n selector: 'ccf-content',\n templateUrl: './content.component.html',\n styleUrls: ['./content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentComponent implements OnInit, OnDestroy {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-content';\n\n readonly position$ = this.model.position$.pipe(\n map(p => ({ x: Math.floor(p.x), y: Math.floor(p.y), z: Math.floor(p.z) }))\n );\n\n /** Whether the view type is 3d or register */\n readonly is3DView$ = this.model.viewType$.pipe(\n map(type => type === '3d')\n );\n\n readonly bounds$ = this.model.organDimensions$.pipe(\n map(dims => ({\n x: Math.max(dims.x, this.model.defaultPosition.x + 40) / 1000,\n y: Math.max(dims.y, this.model.defaultPosition.y + 40) / 1000,\n z: Math.max(dims.z, this.model.defaultPosition.z + 40) / 1000\n })),\n distinctUntilKeyChanged('x'),\n distinctUntilKeyChanged('y')\n );\n\n /** Whether the content area is very narrow */\n isNarrowView = false;\n\n /**\n * Shows / hides the state debug component for testing purposes.\n */\n debugMode = false;\n\n /**\n * Show debug buttons of content component\n */\n showDebugButtons = !environment.production;\n\n /** Resize detection */\n private sensor: ResizeSensor;\n\n /**\n * Creates an instance of content component.\n *\n * @param model The model state\n * @param page The page state\n * @param registration The registration state\n * @param rootRef Component's root element\n * @param cdr Change detector\n */\n constructor(\n readonly model: ModelState,\n readonly page: PageState,\n readonly registration: RegistrationState,\n readonly scene: SceneState,\n private readonly rootRef: ElementRef,\n private readonly cdr: ChangeDetectorRef\n ) { }\n\n /**\n * Sets up the resize sensor\n */\n ngOnInit(): void {\n this.sensor = new ResizeSensor(this.rootRef.nativeElement, ({ width }) => {\n const isNarrowView = width n * 1000) as [number, number];\n const { position, viewSide, organDimensions } = this.model.snapshot;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => n / 2);\n let newPosition = position;\n switch (viewSide) {\n case 'anterior':\n newPosition = { x: a + dims[0], y: b + dims[1], z: position.z };\n break;\n case 'posterior':\n newPosition = { x: -a + dims[0], y: b + dims[1], z: position.z };\n break;\n case 'left':\n newPosition = { x: position.x, y: b + dims[1], z: -a + dims[2] };\n break;\n case 'right':\n newPosition = { x: position.x, y: b + dims[1], z: a + dims[2] };\n break;\n }\n this.model.setPosition(newPosition);\n }\n }\n }\n}\n\n \n\n \n \n \n \n refresh\n\n\n\n \n\n \n\n \n \n \n X: {{ (position$ | async)?.x }}\n Y: {{ (position$ | async)?.y }}\n Z: {{ (position$ | async)?.z }}\n \n \n\n \n \n\n\n\n\n\n State\n Use callback\n Use download\n\n\n \n\n \n \n ./content.component.scss\n \n :host {\n display: block;\n width: 100%;\n height: 100%;\n padding: 1.5rem;\n overflow: hidden;\n\n .top-bar {\n display: flex;\n justify-content: space-between;\n\n .reset {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n }\n }\n\n .main-content {\n display: flex;\n height: calc(100% - 1rem);\n\n .body-ui {\n flex: auto;\n transition: opacity 1s;\n }\n\n .gizmo-area {\n width: 4rem;\n margin-top: 1.5rem;\n margin-left: 1.5rem;\n z-index: 10;\n\n .position-display {\n display: flex;\n justify-content: center;\n margin-bottom: 1.5rem;\n }\n\n .gizmo {\n height: 5.5rem;\n .hidden {\n opacity: 0;\n z-index: 0;\n }\n }\n }\n }\n\n // Temporary for displaying dev information\n .ccf-store-debug {\n color: white;\n position: absolute;\n top: .5rem;\n max-width: 55rem;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' refresh X: {{ (position$ | async)?.x }} Y: {{ (position$ | async)?.y }} Z: {{ (position$ | async)?.z }} State Use callback Use download'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ContentComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ContentComponent-1.html":{"url":"components/ContentComponent-1.html","title":"component - ContentComponent-1","body":"\n \n\n\n\n\n\n Components\n \n ContentComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts\n\n\n\n \n Description\n \n \n Component wrapping and providing animations for center content.\n\n \n\n\n \n Implements\n \n \n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-drawer-content\n \n\n \n styleUrls\n ./content.component.scss\n \n\n\n \n template\n \n \n\n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n animationsEnabled\n \n \n Readonly\n className\n \n \n Private\n drawers\n \n \n faded\n \n \n leftMargin\n \n \n rightMargin\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n handleMessage\n \n \n ngOnDestroy\n \n \n Private\n updateFaded\n \n \n Private\n updateMargin\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n @fadeInOut\n \n \n class\n \n \n class.cff-drawer-content-animations\n \n \n style.margin-left.px\n \n \n style.margin-right.px\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:41\n \n \n\n \n \n Creates an instance of content component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n Service used to send and receive event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n @fadeInOut\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:36\n \n \n\n \n \n Whether the content is invisible.\n\n \n \n\n \n \n \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-content\"\n\n \n \n \n \n Default value : 'ccf-drawer-content'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:28\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n class.cff-drawer-content-animations\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:30\n \n \n\n \n \n Whether animations are enabled.\n\n \n \n\n \n \n \n \n \n \n \n \n style.margin-left.px\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:32\n \n \n\n \n \n Left margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n style.margin-right.px\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:34\n \n \n\n \n \n Right margin size.\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n handleMessage\n \n \n \n \n \n \n \n handleMessage(msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:70\n \n \n\n\n \n \n Process an event message.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:60\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n updateFaded\n \n \n \n \n \n \n \n updateFaded()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:116\n \n \n\n\n \n \n Checks and updates the faded state based on the drawer states.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n updateMargin\n \n \n \n \n \n \n \n updateMargin(position: \"start\" | \"end\", opened: boolean, width: number, margin: number)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:103\n \n \n\n\n \n \n Updates a margin.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n position\n \n \"start\" | \"end\"\n \n\n \n No\n \n\n\n \n Start (left) or end (right) margin.\n\n \n \n \n opened\n \n boolean\n \n\n \n No\n \n\n\n \n Whether the drawer is opened.\n\n \n \n \n width\n \n number\n \n\n \n No\n \n\n\n \n The width of the drawer if opened.\n\n \n \n \n margin\n \n number\n \n\n \n No\n \n\n\n \n The margin size.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n animationsEnabled\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @HostBinding('class.cff-drawer-content-animations')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:30\n \n \n\n \n \n Whether animations are enabled.\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-content'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:28\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n drawers\n \n \n \n \n \n \n Type : DrawerComponent[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:39\n \n \n\n \n \n References to the side drawers.\n\n \n \n\n \n \n \n \n \n \n \n \n faded\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @HostBinding('@fadeInOut')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:36\n \n \n\n \n \n Whether the content is invisible.\n\n \n \n\n \n \n \n \n \n \n \n \n leftMargin\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @HostBinding('style.margin-left.px')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:32\n \n \n\n \n \n Left margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n rightMargin\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @HostBinding('style.margin-right.px')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:34\n \n \n\n \n \n Right margin size.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts:41\n \n \n\n \n \n Subscriptions managed by this component.\n\n \n \n\n \n \n\n\n\n\n\n \n import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageService } from '../messages';\n\n\n/**\n * Component wrapping and providing animations for center content.\n */\n@Component({\n selector: 'ccf-drawer-content',\n template: '',\n styleUrls: ['./content.component.scss'],\n animations: [\n trigger('fadeInOut', [\n state('false', style({ opacity: 1 })),\n state('true', style({ opacity: 0 })),\n\n transition('false true', animate('1s'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentComponent implements OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-content';\n /** Whether animations are enabled. */\n @HostBinding('class.cff-drawer-content-animations') animationsEnabled = false;\n /** Left margin size. */\n @HostBinding('style.margin-left.px') leftMargin = 0;\n /** Right margin size. */\n @HostBinding('style.margin-right.px') rightMargin = 0;\n /** Whether the content is invisible. */\n @HostBinding('@fadeInOut') faded = false;\n\n /** References to the side drawers. */\n private drawers: DrawerComponent[] = [];\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of content component.\n *\n * @param messageService Service used to send and receive event messages.\n * @param cdr The change detector reference.\n */\n constructor(messageService: MessageService,\n cdr: ChangeDetectorRef) {\n const messages = messageService.connect(this).getMessages();\n this.subscriptions.add(messages.subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /** Cleans up all subscriptions. */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Process an event message.\n *\n * @param msg The event.\n * @returns true if change detection needs to run.\n */\n private handleMessage(msg: Message): boolean {\n switch (msg.payload.type) {\n case 'drawer-containers-changed':\n this.drawers = msg.payload.drawers as DrawerComponent[];\n this.updateFaded();\n return true;\n\n case 'drawer-initialized':\n this.animationsEnabled = true;\n return true;\n\n case 'drawer-toggled': {\n const position = (msg.source as DrawerComponent).position;\n const { opened, width, margin } = msg.payload;\n\n this.updateMargin(position, opened, width, margin);\n this.updateFaded();\n return true;\n }\n\n default:\n return false;\n }\n }\n\n /**\n * Updates a margin.\n *\n * @param position Start (left) or end (right) margin.\n * @param opened Whether the drawer is opened.\n * @param width The width of the drawer if opened.\n * @param margin The margin size.\n */\n private updateMargin(position: 'start' | 'end', opened: boolean,\n width: number, margin: number): void {\n const offset = opened ? width + margin : margin;\n if (position === 'start') {\n this.leftMargin = offset;\n } else {\n this.rightMargin = offset;\n }\n }\n\n /**\n * Checks and updates the faded state based on the drawer states.\n */\n private updateFaded(): void {\n const [start, end] = this.drawers;\n const startExpanded = start?.opened && start?.expanded;\n const endExpanded = end?.opened && end?.expanded;\n this.faded = !!(startExpanded || endExpanded);\n }\n}\n\n \n\n\n \n \n ./content.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n height: 100%;\n z-index: 2;\n overflow: auto;\n\n &.cff-drawer-content-animations {\n transition: {\n duration: .5s;\n timing-function: ease-in-out;\n property: margin-left, margin-right;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ContentComponent-1'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ContentContainerChanged.html":{"url":"interfaces/ContentContainerChanged.html","title":"interface - ContentContainerChanged","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ContentContainerChanged\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when the content component changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: \n\n \n \n\n\n\n\n\n\n\n \n \n A reference to the new content component.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ContentModule.html":{"url":"modules/ContentModule.html","title":"module - ContentModule","body":"\n \n\n\n\n\n Modules\n ContentModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ContentModule\n\n\n\ncluster_ContentModule_exports\n\n\n\ncluster_ContentModule_imports\n\n\n\ncluster_ContentModule_declarations\n\n\n\n\nContentComponent\n\nContentComponent\n\n\n\nContentModule\n\nContentModule\n\nContentModule -->\n\nContentComponent->ContentModule\n\n\n\n\n\nContentComponent \n\nContentComponent \n\nContentComponent -->\n\nContentModule->ContentComponent \n\n\n\n\n\nStageNavModule\n\nStageNavModule\n\nContentModule -->\n\nStageNavModule->ContentModule\n\n\n\n\n\nVideoModalLauncherModule\n\nVideoModalLauncherModule\n\nContentModule -->\n\nVideoModalLauncherModule->ContentModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/content/content.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ContentComponent\n \n \n \n \n Imports\n \n \n StageNavModule\n \n \n VideoModalLauncherModule\n \n \n \n \n Exports\n \n \n ContentComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BodyUiModule, StoreDebugModule } from 'ccf-shared';\n\nimport { ContentComponent } from '../content/content.component';\nimport { StageNavModule } from './stage-nav/stage-nav.module';\nimport { VideoModalLauncherModule } from './video-modal/video-modal-launcher/video-modal-launcher.module';\n\n\n@NgModule({\n imports: [\n CommonModule,\n StageNavModule,\n MatIconModule,\n StoreDebugModule,\n VideoModalLauncherModule,\n MatRippleModule,\n BodyUiModule\n ],\n declarations: [ContentComponent],\n exports: [ContentComponent]\n})\nexport class ContentModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CoreModule.html":{"url":"modules/CoreModule.html","title":"module - CoreModule","body":"\n \n\n\n\n\n Modules\n CoreModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\n\nConfigModule\n\nConfigModule\n\n\n\nCoreModule\n\nCoreModule\n\nCoreModule -->\n\nConfigModule->CoreModule\n\n\n\n\n\nStoreModule\n\nStoreModule\n\nCoreModule -->\n\nStoreModule->CoreModule\n\n\n\n\n\nThemingModule\n\nThemingModule\n\nCoreModule -->\n\nThemingModule->CoreModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/core/core.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n ConfigModule\n \n \n StoreModule\n \n \n ThemingModule\n \n \n \n \n \n\n\n \n\n\n \n import { HttpClientModule } from '@angular/common/http';\nimport { NgModule, Optional, SkipSelf } from '@angular/core';\nimport { MousePositionTrackerModule } from 'ccf-shared';\nimport { AnalyticsModule } from 'ccf-shared/analytics';\n\nimport { environment } from '../../environments/environment';\nimport { ConfigModule } from './services/config/config.module';\nimport { ThemingModule } from './services/theming/theming.module';\nimport { StoreModule } from './store/store.module';\n\n\n@NgModule({\n imports: [\n HttpClientModule,\n AnalyticsModule.forRoot({\n gaToken: environment.googleAnalyticsToken,\n appName: 'rui'\n }),\n MousePositionTrackerModule,\n\n ConfigModule,\n StoreModule,\n ThemingModule\n ],\n exports: []\n})\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() core: CoreModule) {\n if (core) {\n throw new Error('The core module should only be imported once in the root module');\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DefaultIconDefinition.html":{"url":"interfaces/DefaultIconDefinition.html","title":"interface - DefaultIconDefinition","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DefaultIconDefinition\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/icon-registry/default-icons.ts\n \n\n\n \n Description\n \n \n Object definition for icon that should be loaded on startup.\nUnlike runtime registration object this does not need url ot html\nto be sanitized before hand.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n html\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n namespace\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n html\n \n \n \n \n \n \n \n \n html: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Html containing the svg of the icon or icon set.\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Name to register the icon under.\n\n \n \n \n \n \n \n \n \n \n namespace\n \n \n \n \n \n \n \n \n namespace: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Namespace to register the icon or icon set under.\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Url to fetch the icon or icon set from.\n\n \n \n \n \n \n \n\n\n \n export interface DefaultIconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: string;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: string;\n}\n\n\n/**\n * Icons registered at startup.\n */\nexport const DEFAULT_ICONS: DefaultIconDefinition[] = [\n // Reference Organs\n { name: 'bladder', namespace: 'app', url: 'assets/icons/organs/ico-organs-bladder.svg' },\n { name: 'blood', namespace: 'app', url: 'assets/icons/organs/ico-organs-blood.svg' },\n { name: 'bone-marrow', namespace: 'app', url: 'assets/icons/organs/ico-organs-bone-marrow.svg' },\n { name: 'brain', namespace: 'app', url: 'assets/icons/organs/ico-organs-brain.svg' },\n { name: 'eye', namespace: 'app', url: 'assets/icons/organs/ico-organs-eye.svg' },\n { name: 'fallopian-tube-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-left.svg' },\n { name: 'fallopian-tube-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-right.svg' },\n { name: 'heart', namespace: 'app', url: 'assets/icons/organs/ico-organs-heart.svg' },\n { name: 'kidney-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-left.svg' },\n { name: 'kidney-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-right.svg' },\n { name: 'kidney', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney.svg' },\n { name: 'knee', namespace: 'app', url: 'assets/icons/organs/ico-organs-knee.svg' },\n { name: 'large-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-large-intestine.svg' },\n { name: 'larynx', namespace: 'app', url: 'assets/icons/organs/ico-organs-larynx.svg' },\n { name: 'liver', namespace: 'app', url: 'assets/icons/organs/ico-organs-liver.svg' },\n { name: 'lung-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-left.svg' },\n { name: 'lung-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-right.svg' },\n { name: 'lung', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung.svg' },\n { name: 'lymph-nodes', namespace: 'app', url: 'assets/icons/organs/ico-organs-lymph-nodes.svg' },\n { name: 'main-bronchus', namespace: 'app', url: 'assets/icons/organs/ico-organs-extrapulmonary bronchus.svg' },\n { name: 'mammary-gland', namespace: 'app', url: 'assets/icons/organs/ico-organs-breast.svg' },\n { name: 'neuron', namespace: 'app', url: 'assets/icons/organs/ico-organs-neuron.svg' },\n { name: 'ovaries', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovaries.svg' },\n { name: 'ovary-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-left.svg' },\n { name: 'ovary-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-right.svg' },\n { name: 'palatine-tonsil', namespace: 'app', url: 'assets/icons/organs/ico-organs-palatine tonsil.svg' },\n { name: 'pancreas', namespace: 'app', url: 'assets/icons/organs/ico-organs-pancreas.svg' },\n { name: 'pelvis-f', namespace: 'app', url: 'assets/icons/organs/ico-organs-pelvis-f.svg' },\n { name: 'placenta', namespace: 'app', url: 'assets/icons/organs/ico-organs-placenta.svg' },\n { name: 'prostate', namespace: 'app', url: 'assets/icons/organs/ico-organs-prostate.svg' },\n { name: 'skin', namespace: 'app', url: 'assets/icons/organs/ico-organs-skin.svg' },\n { name: 'small-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-small intestine.svg' },\n { name: 'spinal-cord', namespace: 'app', url: 'assets/icons/organs/ico-organs-spinal-cord.svg' },\n { name: 'spleen', namespace: 'app', url: 'assets/icons/organs/ico-organs-spleen.svg' },\n { name: 'stomach', namespace: 'app', url: 'assets/icons/organs/ico-organs-stomach.svg' },\n { name: 'thymus', namespace: 'app', url: 'assets/icons/organs/ico-organs-thymus.svg' },\n { name: 'trachea', namespace: 'app', url: 'assets/icons/organs/ico-organs-trachea.svg' },\n { name: 'ureter-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-left.svg' },\n { name: 'ureter-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-right.svg' },\n { name: 'uterus', namespace: 'app', url: 'assets/icons/organs/ico-organs-uterus.svg' },\n { name: 'vasculature-thick', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thick.svg' },\n { name: 'vasculature-thin', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thin.svg' },\n\n { name: 'opacity', namespace: 'app', url: 'assets/icons/opacity-24px.svg' },\n { name: 'visibility_on', namespace: 'app', url: 'assets/icons/visibility-on-24px.svg' },\n { name: 'visibility_off', namespace: 'app', url: 'assets/icons/visibility-off-24px.svg' },\n { name: 'visibility_off_cube', namespace: 'app', url: 'assets/icons/ico-cube.svg' }\n];\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/DetailsLabelComponent.html":{"url":"components/DetailsLabelComponent.html","title":"component - DetailsLabelComponent","body":"\n \n\n\n\n\n\n Components\n \n DetailsLabelComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts\n\n\n\n \n Description\n \n \n Reusable component that takes an array of strings and renders\nthat array as a string, separated by commas, in the icon color.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-details-label\n \n\n \n styleUrls\n ./details-label.component.scss\n \n\n\n\n \n templateUrl\n ./details-label.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n arrayToString\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n details\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n details\n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts:20\n \n \n \n \n The array of details to be displayed.\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-details-label\"\n\n \n \n \n \n Default value : 'ccf-details-label'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts:15\n \n \n\n \n \n HTML Class Name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n arrayToString\n \n \n \n \n \n \narrayToString(inputArray: string[])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts:29\n \n \n\n\n \n \n Function that handles converting the array given\ninto a formatted string for display.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n inputArray\n \n string[]\n \n\n \n No\n \n\n\n \n an array of strings to join.\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n the formatted string of items separated by a comma.\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-details-label'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts:15\n \n \n\n \n \n HTML Class Name\n\n \n \n\n \n \n\n\n\n\n\n \n import { Component, Input, HostBinding, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * Reusable component that takes an array of strings and renders\n * that array as a string, separated by commas, in the icon color.\n */\n@Component({\n selector: 'ccf-details-label',\n templateUrl: './details-label.component.html',\n styleUrls: ['./details-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DetailsLabelComponent {\n /** HTML Class Name */\n @HostBinding('class') readonly clsName = 'ccf-details-label';\n\n /**\n * The array of details to be displayed.\n */\n @Input() details: string[] = [];\n\n /**\n * Function that handles converting the array given\n * into a formatted string for display.\n *\n * @param inputArray an array of strings to join.\n * @returns the formatted string of items separated by a comma.\n */\n arrayToString(inputArray: string[]): string {\n return inputArray.join(', ');\n }\n}\n\n \n\n \n {{ arrayToString(details) }}\n \n\n \n \n ./details-label.component.scss\n \n :host {\n display: block;\n height: 2.25rem;\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ arrayToString(details) }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'DetailsLabelComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DetailsLabelModule.html":{"url":"modules/DetailsLabelModule.html","title":"module - DetailsLabelModule","body":"\n \n\n\n\n\n Modules\n DetailsLabelModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DetailsLabelModule\n\n\n\ncluster_DetailsLabelModule_declarations\n\n\n\ncluster_DetailsLabelModule_exports\n\n\n\n\nDetailsLabelComponent\n\nDetailsLabelComponent\n\n\n\nDetailsLabelModule\n\nDetailsLabelModule\n\nDetailsLabelModule -->\n\nDetailsLabelComponent->DetailsLabelModule\n\n\n\n\n\nDetailsLabelComponent \n\nDetailsLabelComponent \n\nDetailsLabelComponent -->\n\nDetailsLabelModule->DetailsLabelComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/details-label/details-label.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n DetailsLabelComponent\n \n \n \n \n Exports\n \n \n DetailsLabelComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DetailsLabelComponent } from './details-label.component';\n\n@NgModule({\n declarations: [DetailsLabelComponent],\n imports: [CommonModule],\n exports: [DetailsLabelComponent]\n})\nexport class DetailsLabelModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DocumentationContent.html":{"url":"interfaces/DocumentationContent.html","title":"interface - DocumentationContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DocumentationContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/documentation.ts\n \n\n\n \n Description\n \n \n The structure to define how each documentation panel\nshould look like in the info dialog\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Content inside the panel\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Title of the panel\n\n \n \n \n \n \n \n\n\n \n export interface DocumentationContent {\n /** Title of the panel */\n title: string;\n\n /** Content inside the panel */\n content: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerContainersChanged.html":{"url":"interfaces/DrawerContainersChanged.html","title":"interface - DrawerContainersChanged","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerContainersChanged\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when a drawer component changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n drawers\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n drawers\n \n \n \n \n \n \n \n \n drawers: [, ]\n\n \n \n\n\n \n \n Type : [, ]\n\n \n \n\n\n\n\n\n \n \n References to the drawer components. Can contain undefined values.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerInitialized.html":{"url":"interfaces/DrawerInitialized.html","title":"interface - DrawerInitialized","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerInitialized\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message sent when a drawer has finished initializing.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DrawerModule.html":{"url":"modules/DrawerModule.html","title":"module - DrawerModule","body":"\n \n\n\n\n\n Modules\n DrawerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DrawerModule\n\n\n\ncluster_DrawerModule_exports\n\n\n\ncluster_DrawerModule_declarations\n\n\n\n\nContainerComponent\n\nContainerComponent\n\n\n\nDrawerModule\n\nDrawerModule\n\nDrawerModule -->\n\nContainerComponent->DrawerModule\n\n\n\n\n\nContentComponent\n\nContentComponent\n\nDrawerModule -->\n\nContentComponent->DrawerModule\n\n\n\n\n\nDrawerComponent\n\nDrawerComponent\n\nDrawerModule -->\n\nDrawerComponent->DrawerModule\n\n\n\n\n\nToggleButtonComponent\n\nToggleButtonComponent\n\nDrawerModule -->\n\nToggleButtonComponent->DrawerModule\n\n\n\n\n\nContainerComponent \n\nContainerComponent \n\nContainerComponent -->\n\nDrawerModule->ContainerComponent \n\n\n\n\n\nDrawerComponent \n\nDrawerComponent \n\nDrawerComponent -->\n\nDrawerModule->DrawerComponent \n\n\n\n\n\nToggleButtonComponent \n\nToggleButtonComponent \n\nToggleButtonComponent -->\n\nDrawerModule->ToggleButtonComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ContainerComponent\n \n \n ContentComponent\n \n \n DrawerComponent\n \n \n ToggleButtonComponent\n \n \n \n \n Exports\n \n \n ContainerComponent\n \n \n DrawerComponent\n \n \n ToggleButtonComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { MESSAGE_SERVICE_CONFIG, MESSAGE_SERVICE_DEFAULT_CONFIG } from '../../services/message/message.service';\nimport { ContainerComponent } from './container/container.component';\nimport { ContentComponent } from './content/content.component';\nimport { DrawerComponent } from './drawer/drawer.component';\nimport { ToggleButtonComponent } from './toggle-button/toggle-button.component';\n\n\n@NgModule({\n imports: [BrowserModule, BrowserAnimationsModule, MatIconModule],\n providers: [{\n provide: MESSAGE_SERVICE_CONFIG, useValue: MESSAGE_SERVICE_DEFAULT_CONFIG\n }],\n declarations: [ContainerComponent, ContentComponent, DrawerComponent, ToggleButtonComponent],\n exports: [ContainerComponent, ContentComponent, DrawerComponent, ToggleButtonComponent]\n})\nexport class DrawerModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawerToggled.html":{"url":"interfaces/DrawerToggled.html","title":"interface - DrawerToggled","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawerToggled\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n\n\n \n Description\n \n \n Message send when the state of a drawer changes.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n expanded\n \n \n \n \n margin\n \n \n \n \n opened\n \n \n \n \n type\n \n \n \n \n width\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n expanded\n \n \n \n \n \n \n \n \n expanded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the drawer is expanded. Implies opened.\n\n \n \n \n \n \n \n \n \n \n margin\n \n \n \n \n \n \n \n \n margin: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Margin used by the drawer for toggle button, etc.\n\n \n \n \n \n \n \n \n \n \n opened\n \n \n \n \n \n \n \n \n opened: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the drawer is open.\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \n\n \n \n\n\n\n\n\n\n\n \n \n Message type.\n\n \n \n \n \n \n \n \n \n \n width\n \n \n \n \n \n \n \n \n width: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Width of the drawer.\n\n \n \n \n \n \n \n\n\n \n import {\n Message as GenericMessage, MessageChannel as GenericMessageChannel, MessageService as GenericMessageService,\n} from '../../services/message/message.service';\n\n\n/** Message sent when the content component changes. */\nexport interface ContentContainerChanged {\n /** Message type. */\n type: 'content-container-changed';\n /** A reference to the new content component. */\n content: unknown;\n}\n\n/** Message sent when a drawer component changes. */\nexport interface DrawerContainersChanged {\n /** Message type. */\n type: 'drawer-containers-changed';\n /** References to the drawer components. Can contain undefined values. */\n drawers: [unknown, unknown];\n}\n\n/** Payload types for messages sent from the drawer container. */\nexport type ContainerPayload = ContentContainerChanged | DrawerContainersChanged;\n\n\n/** Message sent when a drawer has finished initializing. */\nexport interface DrawerInitialized {\n /** Message type. */\n type: 'drawer-initialized';\n}\n\n/** Message send when the state of a drawer changes. */\nexport interface DrawerToggled {\n /** Message type. */\n type: 'drawer-toggled';\n /** Whether the drawer is open. */\n opened: boolean;\n /** Whether the drawer is expanded. Implies opened. */\n expanded: boolean;\n /** Width of the drawer. */\n width: number;\n /** Margin used by the drawer for toggle button, etc. */\n margin: number;\n}\n\n/** Payload types for messages sent from the drawers. */\nexport type DrawerPayload = DrawerToggled | DrawerInitialized;\n\n\n/** Combined payload type for all drawer sub components. */\nexport type Payload = ContainerPayload | DrawerPayload;\n/** Specific message type. */\nexport type Message = GenericMessage;\n/** Specific channel type. */\nexport type MessageChannel = GenericMessageChannel;\n/** Specific service type. */\nexport type MessageService = GenericMessageService;\n/** Reference to the service class. */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MessageService = GenericMessageService;\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExtractionSet.html":{"url":"interfaces/ExtractionSet.html","title":"interface - ExtractionSet","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExtractionSet\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/extraction-set.ts\n \n\n\n \n Description\n \n \n Contains information for an extraction set\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n Optional\n \n organ\n \n \n \n \n sites\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Name of the set\n\n \n \n \n \n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Organ that the extraction sites belong to\n\n \n \n \n \n \n \n \n \n \n sites\n \n \n \n \n \n \n \n \n sites: VisibilityItem[]\n\n \n \n\n\n \n \n Type : VisibilityItem[]\n\n \n \n\n\n\n\n\n \n \n Extraction sites belonging to the organ in the extraction set\n\n \n \n \n \n \n \n\n\n \n import { VisibilityItem } from './visibility-item';\n\n/**\n * Contains information for an extraction set\n */\nexport interface ExtractionSet {\n /** Name of the set */\n name: string;\n\n /** Organ that the extraction sites belong to */\n organ?: string;\n\n /** Extraction sites belonging to the organ in the extraction set */\n sites: VisibilityItem[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ExtractionSetDropdownComponent.html":{"url":"components/ExtractionSetDropdownComponent.html","title":"component - ExtractionSetDropdownComponent","body":"\n \n\n\n\n\n\n Components\n \n ExtractionSetDropdownComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts\n\n\n\n \n Description\n \n \n Dropdown for selecting the extraction set\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-extraction-set-dropdown\n \n\n \n styleUrls\n ./extraction-set-dropdown.component.scss\n \n\n\n\n \n templateUrl\n ./extraction-set-dropdown.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n selected\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n extractionSetChanged\n \n \n isMultiple\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n sets\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n setChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:33\n \n \n\n \n \n Creates an instance of extraction set dropdown component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n sets\n \n \n \n \n Type : ExtractionSet[]\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:28\n \n \n \n \n Extraction sets to be displayed as options\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n setChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:23\n \n \n \n \n Emits the current extraction set when selected\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-extraction-set-dropdown\"\n\n \n \n \n \n Default value : 'ccf-extraction-set-dropdown'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n extractionSetChanged\n \n \n \n \n \n \nextractionSetChanged(value: ExtractionSet)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:47\n \n \n\n\n \n \n Sets the selected extraction set and emits the extraction set\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n ExtractionSet\n \n\n \n No\n \n\n\n \n The extraction set selected\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isMultiple\n \n \n \n \n \n \nisMultiple()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:58\n \n \n\n\n \n \n Determines whether there is more than one extraction set\n\n\n \n \n \n Returns : boolean\n\n \n \n true if there is more than one extraction set\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-extraction-set-dropdown'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n selected\n \n \n \n \n \n \n Type : ExtractionSet\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts:33\n \n \n\n \n \n The currently selected extraction set\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { ExtractionSet } from '../../../core/models/extraction-set';\n\n/**\n * Dropdown for selecting the extraction set\n */\n@Component({\n selector: 'ccf-extraction-set-dropdown',\n templateUrl: './extraction-set-dropdown.component.html',\n styleUrls: ['./extraction-set-dropdown.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ExtractionSetDropdownComponent {\n\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-extraction-set-dropdown';\n\n /**\n * Emits the current extraction set when selected\n */\n @Output() readonly setChange = new EventEmitter();\n\n /**\n * Extraction sets to be displayed as options\n */\n @Input() sets: ExtractionSet[];\n\n /**\n * The currently selected extraction set\n */\n selected: ExtractionSet;\n\n /**\n * Creates an instance of extraction set dropdown component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Sets the selected extraction set and emits the extraction set\n *\n * @param value The extraction set selected\n */\n extractionSetChanged(value: ExtractionSet): void {\n this.selected = value;\n this.ga.event('selected_extraction_set_change', 'extraction_set_dropdown', value.name);\n this.setChange.emit(value);\n }\n\n /**\n * Determines whether there is more than one extraction set\n *\n * @returns true if there is more than one extraction set\n */\n isMultiple(): boolean {\n return this.sets.length > 1;\n }\n}\n\n \n\n \n \n Landmark Set\n \n \n {{set.name}} ({{set.sites.length}})\n \n \n\n\n \n\n \n \n ./extraction-set-dropdown.component.scss\n \n ::ng-deep .extraction-set-panel {\n box-shadow: 0rem 0rem 0.3rem 0.1rem #9e9e9e;\n position: absolute;\n top: -1rem;\n left: 1rem;\n width: 10.5rem;\n\n .extraction-set-options {\n height: 2.5rem !important;\n }\n \n .extraction-set-options:first-child {\n margin-top: 0.5rem;\n }\n\n .extraction-set-options:last-child {\n margin-bottom: 0.5rem;\n }\n\n}\n\n:host {\n ::ng-deep .mat-form-field {\n width: 10.5rem;\n\n .mat-form-field-wrapper {\n padding-bottom: 0.5rem;\n .mat-form-field-flex {\n padding: 0;\n }\n \n .mat-form-field-underline {\n bottom: 0.75rem;\n }\n\n .mat-select-arrow-wrapper {\n transform: none;\n }\n }\n }\n}\n\n::ng-deep .cdk-overlay-pane {\n min-width: 0rem !important;\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Landmark Set {{set.name}} ({{set.sites.length}}) '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ExtractionSetDropdownComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ExtractionSetDropdownModule.html":{"url":"modules/ExtractionSetDropdownModule.html","title":"module - ExtractionSetDropdownModule","body":"\n \n\n\n\n\n Modules\n ExtractionSetDropdownModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ExtractionSetDropdownModule\n\n\n\ncluster_ExtractionSetDropdownModule_exports\n\n\n\ncluster_ExtractionSetDropdownModule_declarations\n\n\n\n\nExtractionSetDropdownComponent\n\nExtractionSetDropdownComponent\n\n\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule -->\n\nExtractionSetDropdownComponent->ExtractionSetDropdownModule\n\n\n\n\n\nExtractionSetDropdownComponent \n\nExtractionSetDropdownComponent \n\nExtractionSetDropdownComponent -->\n\nExtractionSetDropdownModule->ExtractionSetDropdownComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ExtractionSetDropdownComponent\n \n \n \n \n Exports\n \n \n ExtractionSetDropdownComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatSelectModule } from '@angular/material/select';\n\nimport { ExtractionSetDropdownComponent } from './extraction-set-dropdown.component';\n\n\n@NgModule({\n imports: [CommonModule, MatSelectModule],\n declarations: [ExtractionSetDropdownComponent],\n exports: [ExtractionSetDropdownComponent]\n})\nexport class ExtractionSetDropdownModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GlobalConfig.html":{"url":"interfaces/GlobalConfig.html","title":"interface - GlobalConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GlobalConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n baseHref\n \n \n \n Optional\n \n cancelRegistration\n \n \n \n Optional\n \n editRegistration\n \n \n \n Optional\n \n fetchPreviousRegistrations\n \n \n \n Optional\n \n header\n \n \n \n Optional\n \n homeUrl\n \n \n \n Optional\n \n logoTooltip\n \n \n \n Optional\n \n organ\n \n \n \n Optional\n \n register\n \n \n \n Optional\n \n registrationStarted\n \n \n \n Optional\n \n skipUnsavedChangesConfirmation\n \n \n \n Optional\n \n theme\n \n \n \n Optional\n \n useDownload\n \n \n \n Optional\n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n baseHref\n \n \n \n \n \n \n \n \n baseHref: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n cancelRegistration\n \n \n \n \n \n \n \n \n cancelRegistration: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n editRegistration\n \n \n \n \n \n \n \n \n editRegistration: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n fetchPreviousRegistrations\n \n \n \n \n \n \n \n \n fetchPreviousRegistrations: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n header\n \n \n \n \n \n \n \n \n header: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n homeUrl\n \n \n \n \n \n \n \n \n homeUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n \n \n \n \n logoTooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n register\n \n \n \n \n \n \n \n \n register: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n registrationStarted\n \n \n \n \n \n \n \n \n registrationStarted: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skipUnsavedChangesConfirmation\n \n \n \n \n \n \n \n \n skipUnsavedChangesConfirmation: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n theme\n \n \n \n \n \n \n \n \n theme: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n useDownload\n \n \n \n \n \n \n \n \n useDownload: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { InjectionToken } from '@angular/core';\nimport { GlobalsService } from 'ccf-shared';\nimport { ObservableInput } from 'rxjs';\n\n\nexport interface GlobalConfig {\n baseHref?: string;\n editRegistration?: Record;\n organ?: {\n name: 'large intestine' | 'heart' | 'kidney' | 'spleen';\n ontologyId?: string;\n sex?: 'male' | 'female';\n side?: 'left' | 'right';\n };\n user?: {\n firstName: string;\n lastName: string;\n };\n\n register?: (data: string) => void;\n useDownload?: boolean;\n\n fetchPreviousRegistrations?: () => ObservableInput[]>;\n registrationStarted?: boolean;\n\n cancelRegistration?: () => void;\n\n skipUnsavedChangesConfirmation?: boolean;\n\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n}\n\ndeclare global {\n let ruiConfig: GlobalConfig;\n}\n\nexport const GLOBAL_CONFIG = new InjectionToken(\n 'Global configuration object'\n);\n\nexport function globalConfigFactory(globals: GlobalsService): GlobalConfig {\n return globals.get('ruiConfig', { user: { firstName: '', lastName: '' } });\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/HeaderComponent.html":{"url":"components/HeaderComponent.html","title":"component - HeaderComponent","body":"\n \n\n\n\n\n\n Components\n \n HeaderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/header/header.component.ts\n\n\n\n \n Description\n \n \n Page header\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-header\n \n\n \n styleUrls\n ./header.component.scss\n \n\n\n\n \n templateUrl\n ./header.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n homeUrl\n \n \n logoTooltip\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(page: PageState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:21\n \n \n\n \n \n Creates an instance of header component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n Page data.\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n homeUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:19\n \n \n \n \n \n \n \n \n \n logoTooltip\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:21\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-header\"\n\n \n \n \n \n Default value : 'ccf-header'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-header'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/header/header.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { PageState } from '../../core/store/page/page.state';\n\n\n/**\n * Page header\n */\n@Component({\n selector: 'ccf-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-header';\n\n @Input() homeUrl: string;\n\n @Input() logoTooltip: string;\n\n /**\n * Creates an instance of header component.\n *\n * @param page Page data.\n */\n constructor(readonly page: PageState) { }\n}\n\n \n\n \n \n\n\n\n \n chevron_left\n BACK\n \n\n\n\n \n \n \n \n\n\n\n \n\n \n \n ./header.component.scss\n \n :host {\n display: flex;\n align-items: center;\n min-height: 4rem;\n padding: 0 1.5rem;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n\n .text {\n padding: 0.25rem 0;\n height: 2rem;\n display: flex;\n align-items: center;\n font-weight: lighter;\n font-size: 1.5rem;\n }\n\n\n .link {\n display: flex;\n align-items: center;\n cursor: pointer;\n text-decoration: none;\n padding: 0.25rem 0;\n }\n\n .home {\n * {\n transition: color .6s;\n }\n\n .backbutton {\n // Material icons do not always fill the space given\n // Scale up size for icon to look correct\n font-size: 2.25rem;\n width: 2.25rem;\n height: 2.25rem;\n }\n }\n\n .portal {\n height: 100%;\n width: 25rem;\n align-items: center;\n display: flex;\n }\n\n .logo {\n width: 100%;\n height: 50%;\n background-repeat: no-repeat;\n background-size: contain;\n }\n\n .filler {\n flex-grow: 1;\n margin: 0;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' chevron_left BACK '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'HeaderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/HeaderModule.html":{"url":"modules/HeaderModule.html","title":"module - HeaderModule","body":"\n \n\n\n\n\n Modules\n HeaderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_HeaderModule\n\n\n\ncluster_HeaderModule_declarations\n\n\n\ncluster_HeaderModule_exports\n\n\n\n\nHeaderComponent\n\nHeaderComponent\n\n\n\nHeaderModule\n\nHeaderModule\n\nHeaderModule -->\n\nHeaderComponent->HeaderModule\n\n\n\n\n\nHeaderComponent \n\nHeaderComponent \n\nHeaderComponent -->\n\nHeaderModule->HeaderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/header/header.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n HeaderComponent\n \n \n \n \n Exports\n \n \n HeaderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { HeaderComponent } from './header.component';\n\n\n\n@NgModule({\n imports: [CommonModule, MatIconModule, MatTooltipModule],\n declarations: [HeaderComponent],\n exports: [HeaderComponent]\n})\nexport class HeaderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IconDefinition.html":{"url":"interfaces/IconDefinition.html","title":"interface - IconDefinition","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IconDefinition\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n\n\n \n Description\n \n \n Object definition for registering new svg icons.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n html\n \n \n \n Optional\n \n name\n \n \n \n Optional\n \n namespace\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n html\n \n \n \n \n \n \n \n \n html: SafeHtml\n\n \n \n\n\n \n \n Type : SafeHtml\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Html containing the svg of the icon or icon set.\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Name to register the icon under.\n\n \n \n \n \n \n \n \n \n \n namespace\n \n \n \n \n \n \n \n \n namespace: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Namespace to register the icon or icon set under.\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: SafeResourceUrl\n\n \n \n\n\n \n \n Type : SafeResourceUrl\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Url to fetch the icon or icon set from.\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Optional } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';\nimport { DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { GlobalConfigState } from 'ccf-shared';\n\nimport { GlobalConfig } from '../../services/config/config';\nimport { DEFAULT_ICONS } from './default-icons';\n\n\n/**\n * Object definition for registering new svg icons.\n */\nexport interface IconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: SafeResourceUrl;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: SafeHtml;\n}\n\n\n/**\n * State handling the registration of icons for use with `mat-icon`.\n */\n@StateRepository()\n@State({ name: 'iconRegistry' })\n@Injectable()\nexport class IconRegistryState extends NgxsDataRepository {\n /**\n * Creates an instance of icon registry state.\n *\n * @param registry Material icon registry.\n * @param sanitizer Service used to sanitize default imported urls and html.\n */\n constructor(@Optional() private registry: MatIconRegistry | null,\n private readonly sanitizer: DomSanitizer,\n private readonly globalConfig: GlobalConfigState) {\n super();\n }\n\n ngxsOnInit(): void {\n // Register html icons as they don't depend on baseHref\n DEFAULT_ICONS\n .filter(def => def.html !== undefined)\n .map(def => ({ ...def, html: this.sanitizer.bypassSecurityTrustHtml(def.html!) }))\n .forEach(def => this.registerIconImpl(def));\n\n // Use resolver for url icons\n this.registry?.addSvgIconResolver((name, namespace) => {\n const def = DEFAULT_ICONS.find(\n icon => (icon.name ?? '') === name && (icon.namespace ?? '') === namespace\n );\n\n if (def === undefined || def.url === undefined) {\n return null;\n }\n\n const baseHref = this.globalConfig.snapshot.baseHref ?? '';\n return this.sanitizer.bypassSecurityTrustResourceUrl(baseHref + def.url);\n });\n }\n\n /**\n * Registers a svg icon for use in mat-icon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n @DataAction()\n registerIcon(definition: IconDefinition): boolean {\n return this.registerIconImpl(definition);\n }\n\n /**\n * Backing implementation of registerIcon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n private registerIconImpl(definition: IconDefinition): boolean {\n if (!this.registry) {\n return false;\n }\n if (!definition.url && !definition.html) {\n return false;\n }\n\n const registry = this.registry;\n const methodName = this.getMethodName(definition);\n const method = registry[methodName] as (...arg: unknown[]) => void;\n const args = this.getArguments(definition);\n\n if (!method) {\n return false;\n }\n try {\n method.apply(registry, args);\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n /**\n * Selects the MatIconRegistry method used to register the icon.\n *\n * @param definition Icon definition.\n * @returns The name of the registry method.\n */\n private getMethodName({ name, namespace, url }: IconDefinition): string {\n const parts = ['addSvgIcon'];\n if (!name) {\n parts.push('Set');\n }\n if (!url) {\n parts.push('Literal');\n }\n if (namespace) {\n parts.push('InNamespace');\n }\n return parts.join('');\n }\n\n /**\n * Selects the argument used to call the registration method.\n *\n * @param definition Icon definition.\n * @returns An array of arguments.\n */\n private getArguments({ name, namespace, url, html }: IconDefinition): unknown[] {\n const args: unknown[] = [namespace, name, url ?? html];\n return args.filter(value => !!value);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/IconRegistryState.html":{"url":"injectables/IconRegistryState.html","title":"injectable - IconRegistryState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n IconRegistryState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n\n\n \n Description\n \n \n State handling the registration of icons for use with mat-icon.\n\n \n\n \n Extends\n \n \n NgxsDataRepository\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n getArguments\n \n \n Private\n getMethodName\n \n \n ngxsOnInit\n \n \n registerIcon\n \n \n Private\n registerIconImpl\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(registry: MatIconRegistry | null, sanitizer: DomSanitizer, globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:45\n \n \n\n \n \n Creates an instance of icon registry state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n registry\n \n \n MatIconRegistry | null\n \n \n \n No\n \n \n \n Material icon registry.\n\n \n \n \n sanitizer\n \n \n DomSanitizer\n \n \n \n No\n \n \n \n Service used to sanitize default imported urls and html.\n\n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n getArguments\n \n \n \n \n \n \n \n getArguments(undefined: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:147\n \n \n\n\n \n \n Selects the argument used to call the registration method.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n IconDefinition\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : []\n\n \n \n An array of arguments.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getMethodName\n \n \n \n \n \n \n \n getMethodName(undefined: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:127\n \n \n\n\n \n \n Selects the MatIconRegistry method used to register the icon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n IconDefinition\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n The name of the registry method.\n\n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:58\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n registerIcon\n \n \n \n \n \n \nregisterIcon(definition: IconDefinition)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:87\n \n \n\n\n \n \n Registers a svg icon for use in mat-icon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n definition\n \n IconDefinition\n \n\n \n No\n \n\n\n \n Icon to register.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if registration was successful, otherwise false.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n registerIconImpl\n \n \n \n \n \n \n \n registerIconImpl(definition: IconDefinition)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts:97\n \n \n\n\n \n \n Backing implementation of registerIcon.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n definition\n \n IconDefinition\n \n\n \n No\n \n\n\n \n Icon to register.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if registration was successful, otherwise false.\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, Optional } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';\nimport { DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { GlobalConfigState } from 'ccf-shared';\n\nimport { GlobalConfig } from '../../services/config/config';\nimport { DEFAULT_ICONS } from './default-icons';\n\n\n/**\n * Object definition for registering new svg icons.\n */\nexport interface IconDefinition {\n /**\n * Name to register the icon under.\n */\n name?: string;\n\n /**\n * Namespace to register the icon or icon set under.\n */\n namespace?: string;\n\n /**\n * Url to fetch the icon or icon set from.\n */\n url?: SafeResourceUrl;\n\n /**\n * Html containing the svg of the icon or icon set.\n */\n html?: SafeHtml;\n}\n\n\n/**\n * State handling the registration of icons for use with `mat-icon`.\n */\n@StateRepository()\n@State({ name: 'iconRegistry' })\n@Injectable()\nexport class IconRegistryState extends NgxsDataRepository {\n /**\n * Creates an instance of icon registry state.\n *\n * @param registry Material icon registry.\n * @param sanitizer Service used to sanitize default imported urls and html.\n */\n constructor(@Optional() private registry: MatIconRegistry | null,\n private readonly sanitizer: DomSanitizer,\n private readonly globalConfig: GlobalConfigState) {\n super();\n }\n\n ngxsOnInit(): void {\n // Register html icons as they don't depend on baseHref\n DEFAULT_ICONS\n .filter(def => def.html !== undefined)\n .map(def => ({ ...def, html: this.sanitizer.bypassSecurityTrustHtml(def.html!) }))\n .forEach(def => this.registerIconImpl(def));\n\n // Use resolver for url icons\n this.registry?.addSvgIconResolver((name, namespace) => {\n const def = DEFAULT_ICONS.find(\n icon => (icon.name ?? '') === name && (icon.namespace ?? '') === namespace\n );\n\n if (def === undefined || def.url === undefined) {\n return null;\n }\n\n const baseHref = this.globalConfig.snapshot.baseHref ?? '';\n return this.sanitizer.bypassSecurityTrustResourceUrl(baseHref + def.url);\n });\n }\n\n /**\n * Registers a svg icon for use in mat-icon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n @DataAction()\n registerIcon(definition: IconDefinition): boolean {\n return this.registerIconImpl(definition);\n }\n\n /**\n * Backing implementation of registerIcon.\n *\n * @param definition Icon to register.\n * @returns true if registration was successful, otherwise false.\n */\n private registerIconImpl(definition: IconDefinition): boolean {\n if (!this.registry) {\n return false;\n }\n if (!definition.url && !definition.html) {\n return false;\n }\n\n const registry = this.registry;\n const methodName = this.getMethodName(definition);\n const method = registry[methodName] as (...arg: unknown[]) => void;\n const args = this.getArguments(definition);\n\n if (!method) {\n return false;\n }\n try {\n method.apply(registry, args);\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n /**\n * Selects the MatIconRegistry method used to register the icon.\n *\n * @param definition Icon definition.\n * @returns The name of the registry method.\n */\n private getMethodName({ name, namespace, url }: IconDefinition): string {\n const parts = ['addSvgIcon'];\n if (!name) {\n parts.push('Set');\n }\n if (!url) {\n parts.push('Literal');\n }\n if (namespace) {\n parts.push('InNamespace');\n }\n return parts.join('');\n }\n\n /**\n * Selects the argument used to call the registration method.\n *\n * @param definition Icon definition.\n * @returns An array of arguments.\n */\n private getArguments({ name, namespace, url, html }: IconDefinition): unknown[] {\n const args: unknown[] = [namespace, name, url ?? html];\n return args.filter(value => !!value);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/InitializationState.html":{"url":"classes/InitializationState.html","title":"class - InitializationState","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n InitializationState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n\n\n \n Description\n \n \n Boolean state that can also be awaited.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n deferred\n \n \n Private\n initialized\n \n \n Private\n resolve\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n set\n \n \n valueOf\n \n \n Async\n wait\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n deferred\n \n \n \n \n \n \n Default value : new Promise(resolve => {\n this.resolve = resolve;\n })\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:37\n \n \n\n \n \n Promise used to await on.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n initialized\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:35\n \n \n\n \n \n Whether this state is true or false.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n resolve\n \n \n \n \n \n \n Type : function\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:41\n \n \n\n \n \n Resolve function for the promise.\n\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n set\n \n \n \n \n \n \nset()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:46\n \n \n\n\n \n \n Sets the state to true and\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n valueOf\n \n \n \n \n \n \nvalueOf()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:65\n \n \n\n\n \n \n Gets the boolean state of this object.\n\n\n \n \n \n Returns : boolean\n\n \n \n true if set has been called.\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n wait\n \n \n \n \n \n \n \n wait()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts:56\n \n \n\n\n \n \n Gets a promise that resolves when this state is set to true.\n\n\n \n \n \n Returns : Promise\n\n \n \n A promise.\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener,\n Input, OnDestroy, Output,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { Message, MessageChannel, MessageService } from '../messages';\n\n\n/** Opened/closed state. */\ntype OpenedState = 'open' | 'open-instant' | 'closed';\n/** Expanded/collapsed state. */\ntype ExpandedState = 'open' | 'open-instant' | 'closed';\n/** Expanded state relative to an opposite drawer. */\ntype ExpandedState2 = 'collapsed' | 'half' | 'extended' | 'full';\n\n/** Default animation parameters. */\nconst EXPAND_COLLAPSE_PARAMS_DEFAULT = {\n params: {\n width: 0,\n margin: 0,\n margin2: 0\n }\n};\n\n/**\n * Boolean state that can also be awaited.\n */\nclass InitializationState {\n /** Whether this state is true or false. */\n private initialized = false;\n /** Promise used to await on. */\n private deferred = new Promise(resolve => {\n this.resolve = resolve;\n });\n /** Resolve function for the promise. */\n private resolve: () => void;\n\n /**\n * Sets the state to true and\n */\n set(): void {\n this.initialized = true;\n this.resolve();\n }\n\n /**\n * Gets a promise that resolves when this state is set to true.\n *\n * @returns A promise.\n */\n async wait(): Promise {\n return this.deferred;\n }\n\n /**\n * Gets the boolean state of this object.\n *\n * @returns true if set has been called.\n */\n valueOf(): boolean {\n return this.initialized;\n }\n}\n\n\n/**\n * Side drawer component.\n * Contains all the logic for opening/closing/expanding.\n */\n@Component({\n selector: 'ccf-drawer',\n exportAs: 'ccfDrawer',\n templateUrl: './drawer.component.html',\n styleUrls: ['./drawer.component.scss'],\n animations: [\n trigger('openClose', [\n state('open, open-instant', style({\n transform: 'none'\n })),\n state('closed', style({ })),\n\n transition('closed => open-instant', animate(0)),\n transition('closed open, open-instant => closed', animate('.5s ease-in-out'))\n ]),\n trigger('expandCollapse', [\n state('collapsed', style({})),\n state('half', style({\n width: 'calc(50% - {{ margin }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n state('extended', style({\n width: 'calc(100% - {{ width }}px - {{ margin }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n state('full', style({\n width: 'calc(100% - {{ margin }}px - {{ margin2 }}px)'\n }), EXPAND_COLLAPSE_PARAMS_DEFAULT),\n\n transition('* *', animate('.5s ease-in-out'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DrawerComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer';\n /** Whether this is located at the end position. */\n @HostBinding('class.ccf-drawer-end')\n get classEnd(): boolean {\n return this.position === 'end';\n }\n\n /** Position of the drawer - start (left) or end (right). */\n @Input()// eslint-disable-line\n get position(): 'start' | 'end' {\n return this._position;\n }\n set position(value: 'start' | 'end') {\n this._position = value || 'start';\n }\n /** Property for position getter/setter. */\n private _position: 'start' | 'end' = 'start';\n\n /** Whether the drawer is opened. */\n @Input()\n @HostBinding('class.ccf-drawer-opened')\n get opened(): boolean {\n return this._opened;\n }\n set opened(value: boolean) {\n this.toggle(coerceBooleanProperty(value));\n }\n /** Property for opened getter/setter. */\n private _opened = false;\n\n /** Whether the drawer is expanded. */\n @Input()\n @HostBinding('class.ccf-drawer-expanded')\n get expanded(): boolean {\n return this._expanded;\n }\n set expanded(value: boolean) {\n this.toggleExpanded(coerceBooleanProperty(value));\n }\n /** Property for expanded getter/setter */\n private _expanded = false;\n\n /** Output emitting when the drawer has opened. */\n @Output() readonly openedChange = new EventEmitter(true);\n /** Output emitting when the drawer has expanded. */\n @Output() readonly expandedChange = new EventEmitter(true);\n /** Output emitting whenever the drawer state changes. */\n @Output() readonly stateChange = new EventEmitter(true);\n\n /** Current open/close animation state. */\n @HostBinding('@openClose')\n openedState: OpenedState = 'closed';\n\n /** Expanded/collapsed state parameters. */\n @HostBinding('@expandCollapse')\n get expandedStateObj(): unknown {\n return { value: this.expandedState2, params: {\n width: this.width, margin: this.measuredMargin,\n margin2: this.margin2\n } };\n }\n /** Current expanded/collapsed animation state. */\n expandedState: ExpandedState = 'closed';\n /** Current expanded state relative to the opposite drawer. */\n private expandedState2: ExpandedState2 = 'collapsed';\n\n /** Gets the calculated width of the drawer. */\n private get measuredWidth(): number {\n if (this._measuredWidth > 0) {\n return this._measuredWidth;\n }\n\n const element = this.element.nativeElement;\n if (!element) {\n return 0;\n }\n\n const bbox = element.getBoundingClientRect();\n const width = bbox.right - bbox.left;\n if (width === 0) {\n return 0;\n }\n\n this._measuredWidth = width;\n return width;\n }\n /** Cached measured width. */\n private _measuredWidth = 0;\n /** Width of opposite drawer. */\n private width = 0;\n\n /** Gets the calculated margin of the drawer. */\n private get measuredMargin(): number {\n if (this._measuredMargin > 0) {\n return this._measuredMargin;\n }\n\n const element = this.element.nativeElement;\n if (!element) {\n return 0;\n }\n\n const styles = globalThis.getComputedStyle(element);\n const property = this.position === 'start' ? 'margin-right' : 'margin-left';\n const value = styles.getPropertyValue(property);\n const margin = Number(value.slice(0, -2));\n\n this._measuredMargin = margin;\n return margin;\n }\n /** Cached measured margin. */\n private _measuredMargin = 0;\n /** Margin of the opposite drawer. */\n private margin2 = 0;\n\n /** Initialization state. */\n private initialized = new InitializationState();\n /** Connected message channel. */\n private channel: MessageChannel;\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of drawer component.\n *\n * @param messageService Service for sending/receiving event messages.\n * @param cdr The change detector reference.\n * @param element Reference to components HTML element.\n */\n constructor(messageService: MessageService,\n cdr: ChangeDetectorRef,\n private element: ElementRef) {\n this.channel = messageService.connect(this);\n this.subscriptions.add(this.channel.getMessages().subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Initializes this component.\n */\n ngAfterViewInit(): void {\n this.initialized.set();\n setTimeout(() => this.channel.sendMessage({ type: 'drawer-initialized' }));\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Opens the drawer.\n */\n open(): void {\n this.toggle(true);\n }\n\n /**\n * Closes the drawer.\n */\n close(): void {\n this.toggle(false);\n }\n\n /**\n * Toggles the drawer between opened and closed.\n *\n * @param [opened] Whether to open or close the drawer.\n */\n toggle(opened = !this.opened): void {\n if (this.opened === opened) {\n return;\n }\n\n if (!opened) {\n this.openedState = 'closed';\n this.expandedState = 'closed';\n this.expandedState2 = 'collapsed';\n this._expanded = false;\n } else if (this.initialized.valueOf()) {\n this.openedState = 'open';\n } else {\n this.openedState = 'open-instant';\n }\n\n this._opened = opened;\n this.sendToggle();\n }\n\n /**\n * Expands the drawer.\n */\n openExpanded(): void {\n this.toggleExpanded(true);\n }\n\n /**\n * Collapses the drawer.\n */\n closeExpanded(): void {\n this.toggleExpanded(false);\n }\n\n /**\n * Toggles the drawer between expanded and collapsed.\n *\n * @param [expanded] Whether to expand or collapse the drawer.\n */\n toggleExpanded(expanded = !this.expanded): void {\n if (this.expanded === expanded) {\n return;\n }\n\n if (!expanded) {\n this.expandedState = 'closed';\n this.expandedState2 = 'collapsed';\n } else if (this.initialized.valueOf()) {\n this.expandedState = 'open';\n } else {\n this.expandedState = 'open-instant';\n }\n\n this._expanded = expanded;\n this.sendToggle();\n }\n\n /**\n * Listener to open/close animation completion.\n */\n @HostListener('@openClose.done')\n closeOpenDone(): void {\n this.openedChange.emit(this.opened);\n }\n\n /**\n * Listener to expand/collapse animation completion.\n */\n @HostListener('@expandCollapse.done')\n expandCollapseDone(): void {\n this.expandedChange.emit(this.expanded);\n }\n\n /**\n * Sends a toggle event to the channel.\n * Waits until initialization is completed before sending.\n */\n private async sendToggle(): Promise {\n await this.initialized.wait();\n this.channel.sendMessage({\n type: 'drawer-toggled',\n opened: this.opened,\n expanded: this.expanded,\n width: this.measuredWidth,\n margin: this.measuredMargin\n });\n this.stateChange.emit();\n }\n\n /**\n * Processes an event.\n *\n * @param msg The event.\n * @returns true if change detection should run.\n */\n private handleMessage(msg: Message): boolean {\n switch (msg.payload.type) {\n case 'drawer-toggled': {\n const other = msg.source as DrawerComponent;\n this.syncExpanded(other);\n return true;\n }\n\n default:\n return false;\n }\n }\n\n /**\n * Syncs the drawer widths and margin against the opposite drawer.\n *\n * @param other The opposite drawer.\n */\n private syncExpanded(other: DrawerComponent): void {\n if (this.expanded || other.expanded) {\n if (this.expanded && other.expanded) {\n this.expandedState2 = other.expandedState2 = 'half';\n } else if (this.expanded) {\n if (other.opened) {\n this.expandedState2 = 'extended';\n this.width = other.measuredWidth + other.measuredMargin;\n } else {\n this.expandedState2 = 'full';\n this.margin2 = other.measuredMargin;\n }\n } else {\n if (this.opened) {\n other.expandedState2 = 'extended';\n other.width = this.measuredWidth + this.measuredMargin;\n } else {\n other.expandedState2 = 'full';\n other.margin2 = this.measuredMargin;\n }\n }\n }\n }\n\n /** Workaround for getter/setter pair not accepting different types. */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_position: '' | 'start' | 'end';\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_opened: BooleanInput;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n static ngAcceptInputType_expanded: BooleanInput;\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/JsonFileReaderComponent.html":{"url":"components/JsonFileReaderComponent.html","title":"component - JsonFileReaderComponent","body":"\n \n\n\n\n\n\n Components\n \n JsonFileReaderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-json-file-reader\n \n\n \n styleUrls\n ./json-file-reader.component.scss\n \n\n\n\n \n templateUrl\n ./json-file-reader.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n fileInput\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleFile\n \n \n triggerFileInput\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n label\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n parsedJson\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:20\n \n \n\n \n \n Creates an instance of json file reader component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n label\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Upload'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:17\n \n \n \n \n Allows the label on the upload button to be customized.\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n parsedJson\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:20\n \n \n \n \n Emits the json object of any files uploaded.\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-json-file-reader\"\n\n \n \n \n \n Default value : 'ccf-json-file-reader'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:12\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleFile\n \n \n \n \n \n \nhandleFile(event: InputEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:43\n \n \n\n\n \n \n Takes in a json file and emits the parsed json object.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n InputEvent\n \n\n \n No\n \n\n\n \n file input event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n triggerFileInput\n \n \n \n \n \n \ntriggerFileInput()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:33\n \n \n\n\n \n \n Method used to trigger the file input element's click handler\nfrom the placeholder button used for styling purposes.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-json-file-reader'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:12\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n fileInput\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('fileInput')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts:14\n \n \n\n \n \n File Input element, used to manually trigger the click event.\n\n \n \n\n \n \n\n\n\n\n\n \n import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n@Component({\n selector: 'ccf-json-file-reader',\n templateUrl: './json-file-reader.component.html',\n styleUrls: ['./json-file-reader.component.scss']\n})\nexport class JsonFileReaderComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-json-file-reader';\n /** File Input element, used to manually trigger the click event. */\n @ViewChild('fileInput') fileInput: ElementRef;\n\n /** Allows the label on the upload button to be customized. */\n @Input() label = 'Upload';\n\n /** Emits the json object of any files uploaded. */\n @Output() readonly parsedJson = new EventEmitter();\n\n /**\n * Creates an instance of json file reader component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Method used to trigger the file input element's click handler\n * from the placeholder button used for styling purposes.\n */\n triggerFileInput(): void {\n const fileInputElement: HTMLElement = this.fileInput.nativeElement;\n fileInputElement.click();\n }\n\n /**\n * Takes in a json file and emits the parsed json object.\n *\n * @param event file input event\n */\n handleFile(event: InputEvent): void {\n const inputTarget = event.target as HTMLInputElement;\n if (!inputTarget.files) {\n return;\n }\n\n const file = inputTarget.files[0];\n const fileReader = new FileReader();\n\n fileReader.onload = () => {\n const json = JSON.parse(fileReader.result as string) as unknown;\n this.ga.event('json_file_load_end', 'json_file_reader');\n this.parsedJson.emit(json);\n };\n\n this.ga.event('json_file_load_start', 'json_file_reader');\n fileReader.readAsText(file);\n }\n}\n\n \n\n \n {{ label }}\n\n\n \n\n \n \n ./json-file-reader.component.scss\n \n :host {\n .upload-button {\n width: 100%;\n height: 2.25rem;\n transition: .6s;\n cursor: pointer;\n font-weight: 500;\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{ label }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'JsonFileReaderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/JsonFileReaderModule.html":{"url":"modules/JsonFileReaderModule.html","title":"module - JsonFileReaderModule","body":"\n \n\n\n\n\n Modules\n JsonFileReaderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_JsonFileReaderModule\n\n\n\ncluster_JsonFileReaderModule_exports\n\n\n\ncluster_JsonFileReaderModule_declarations\n\n\n\n\nJsonFileReaderComponent\n\nJsonFileReaderComponent\n\n\n\nJsonFileReaderModule\n\nJsonFileReaderModule\n\nJsonFileReaderModule -->\n\nJsonFileReaderComponent->JsonFileReaderModule\n\n\n\n\n\nJsonFileReaderComponent \n\nJsonFileReaderComponent \n\nJsonFileReaderComponent -->\n\nJsonFileReaderModule->JsonFileReaderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n JsonFileReaderComponent\n \n \n \n \n Exports\n \n \n JsonFileReaderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { JsonFileReaderComponent } from './json-file-reader.component';\nimport { MatButtonModule } from '@angular/material/button';\n\n\n\n@NgModule({\n declarations: [JsonFileReaderComponent],\n imports: [\n CommonModule,\n MatButtonModule\n ],\n exports: [JsonFileReaderComponent]\n})\nexport class JsonFileReaderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/LabeledSlideToggleComponent.html":{"url":"components/LabeledSlideToggleComponent.html","title":"component - LabeledSlideToggleComponent","body":"\n \n\n\n\n\n\n Components\n \n LabeledSlideToggleComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts\n\n\n\n \n Description\n \n \n Generic toggle slider component\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-labeled-slide-toggle\n \n\n \n styleUrls\n ./labeled-slide-toggle.component.scss\n \n\n\n\n \n templateUrl\n ./labeled-slide-toggle.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n updateToggle\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n disabled\n \n \n labels\n \n \n value\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n valueChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n left\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:39\n \n \n\n \n \n Creates an instance of labeled slide toggle component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n disabled\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:34\n \n \n \n \n Whether or not the slider is disabled\n\n \n \n \n \n \n \n \n \n \n labels\n \n \n \n \n Type : [string, string]\n\n \n \n \n \n Default value : ['Left', 'Right']\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:24\n \n \n \n \n The two selection options to be toggled\n\n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Left'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:29\n \n \n \n \n Input value for toggle slider\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n valueChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:39\n \n \n \n \n Emits the datatype with the currently selected option\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-labeled-slide-toggle\"\n\n \n \n \n \n Default value : 'ccf-labeled-slide-toggle'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n updateToggle\n \n \n \n \n \n \nupdateToggle(selection: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:61\n \n \n\n\n \n \n Updates and emits the currently selected option\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n selection\n \n boolean\n \n\n \n No\n \n\n\n \n The current toggle state (true=left, false=right)\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-labeled-slide-toggle'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n left\n \n \n\n \n \n getleft()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts:51\n \n \n \n \n Determines if left toggle option is selected\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/**\n * Generic toggle slider component\n */\n@Component({\n selector: 'ccf-labeled-slide-toggle',\n templateUrl: './labeled-slide-toggle.component.html',\n styleUrls: ['./labeled-slide-toggle.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class LabeledSlideToggleComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-labeled-slide-toggle';\n\n /**\n * The two selection options to be toggled\n */\n @Input() labels: [string, string] = ['Left', 'Right'];\n\n /**\n * Input value for toggle slider\n */\n @Input() value = 'Left';\n\n /**\n * Whether or not the slider is disabled\n */\n @Input() disabled = false;\n\n /**\n * Emits the datatype with the currently selected option\n */\n @Output() readonly valueChange = new EventEmitter();\n\n /**\n * Creates an instance of labeled slide toggle component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Determines if left toggle option is selected\n */\n get left(): boolean {\n const { value, labels } = this;\n return value !== labels[1];\n }\n\n /**\n * Updates and emits the currently selected option\n *\n * @param selection The current toggle state (true=left, false=right)\n */\n updateToggle(selection: boolean): void {\n this.value = selection ? this.labels[0] : this.labels[1];\n this.ga.event('slide_toggle_toggled', 'slide_toggle', this.value);\n this.valueChange.emit(this.value);\n }\n}\n\n \n\n \n {{labels[0]}}\n\n{{labels[1]}}\n\n \n\n \n \n ./labeled-slide-toggle.component.scss\n \n :host{\n .slide-label {\n margin: 0 1rem;\n transition: color .6s;\n cursor: pointer;\n }\n \n .disabled {\n opacity: 30%;\n cursor: not-allowed;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = '{{labels[0]}}{{labels[1]}}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'LabeledSlideToggleComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LabeledSlideToggleModule.html":{"url":"modules/LabeledSlideToggleModule.html","title":"module - LabeledSlideToggleModule","body":"\n \n\n\n\n\n Modules\n LabeledSlideToggleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_LabeledSlideToggleModule\n\n\n\ncluster_LabeledSlideToggleModule_declarations\n\n\n\ncluster_LabeledSlideToggleModule_exports\n\n\n\n\nLabeledSlideToggleComponent\n\nLabeledSlideToggleComponent\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule -->\n\nLabeledSlideToggleComponent->LabeledSlideToggleModule\n\n\n\n\n\nLabeledSlideToggleComponent \n\nLabeledSlideToggleComponent \n\nLabeledSlideToggleComponent -->\n\nLabeledSlideToggleModule->LabeledSlideToggleComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n LabeledSlideToggleComponent\n \n \n \n \n Exports\n \n \n LabeledSlideToggleComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\n\nimport { LabeledSlideToggleComponent } from './labeled-slide-toggle.component';\n\n\n@NgModule({\n imports: [CommonModule, MatSlideToggleModule],\n declarations: [LabeledSlideToggleComponent],\n exports: [LabeledSlideToggleComponent]\n})\nexport class LabeledSlideToggleModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/LeftSidebarComponent.html":{"url":"components/LeftSidebarComponent.html","title":"component - LeftSidebarComponent","body":"\n \n\n\n\n\n\n Components\n \n LeftSidebarComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts\n\n\n\n \n Description\n \n \n The left sidebar\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-left-sidebar\n \n\n \n styleUrls\n ./left-sidebar.component.scss\n \n\n\n\n \n templateUrl\n ./left-sidebar.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Readonly\n detailsLabels$\n \n \n extractionSiteTooltip\n \n \n organList\n \n \n Readonly\n organSelected$\n \n \n previousVisibilityItems\n \n \n Readonly\n sexByLabel$\n \n \n Readonly\n sideByLabel$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n setSexFromLabel\n \n \n setSideFromLabel\n \n \n togglePreviousRegistrationBlocks\n \n \n updateExtractionSiteTooltip\n \n \n updateRegistration\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n disableSlider\n \n \n modalClosed\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(page: PageState, model: ModelState, registration: RegistrationState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:60\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n \n registration\n \n \n RegistrationState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n disableSlider\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:26\n \n \n \n \n \n \n \n \n \n modalClosed\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:29\n \n \n \n \n Whether or not the initial registration modal has been closed\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-left-sidebar\"\n\n \n \n \n \n Default value : 'ccf-left-sidebar'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:24\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n setSexFromLabel\n \n \n \n \n \n \nsetSexFromLabel(label: \"Female\" | \"Male\")\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:89\n \n \n\n\n \n \n Sets sex from sex toggle slider\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n label\n \n \"Female\" | \"Male\"\n \n\n \n No\n \n\n\n \n Selected sex\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setSideFromLabel\n \n \n \n \n \n \nsetSideFromLabel(label: \"L\" | \"R\")\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:98\n \n \n\n\n \n \n Sets side from side toggle slider\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n label\n \n \"L\" | \"R\"\n \n\n \n No\n \n\n\n \n Selected side\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n togglePreviousRegistrationBlocks\n \n \n \n \n \n \ntogglePreviousRegistrationBlocks(visible: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:110\n \n \n\n\n \n \n Handles toggling previous registration blocks visibility.\nWhen making them visible, it updates current structures to 20%\nopacity; when making not visible it sets them back to their\nprevious opacity.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n visible\n \n boolean\n \n\n \n No\n \n\n\n \n the state to set the visibility to.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateExtractionSiteTooltip\n \n \n \n \n \n \nupdateExtractionSiteTooltip(item: VisibilityItem | undefined)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:76\n \n \n\n\n \n \n Updates extraction site tooltip to either the VisibilityItem passed in's\ntooltip property, or an empty string if undefined.\nundefined.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n item\n \n VisibilityItem | undefined\n \n\n \n No\n \n\n\n \n The VisibilityItem which we want to show the tooltip of, or\nundefined.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateRegistration\n \n \n \n \n \n \nupdateRegistration(event: SpatialEntityJsonLd)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:123\n \n \n\n\n \n \n Event handler for capturing uploaded json and passing it along to\nthe relevant registration state method.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n SpatialEntityJsonLd\n \n\n \n No\n \n\n\n \n the new registration state json\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-left-sidebar'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:24\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n detailsLabels$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Default value : combineLatest(\n [this.model.organ$, this.model.side$, this.model.sex$]).pipe(\n map(([organ, side, sex]) => [organ?.name , side as string, sex as string])\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n extractionSiteTooltip\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:52\n \n \n\n \n \n Variable that keeps track of the extraction site tooltip to display on\nthe stage when hovered.\n\n \n \n\n \n \n \n \n \n \n \n \n organList\n \n \n \n \n \n \n Default value : RUI_ORGANS\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n organSelected$\n \n \n \n \n \n \n Default value : this.model.organ$.pipe(\n map(organ => organ === undefined ? false : true)\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n previousVisibilityItems\n \n \n \n \n \n \n Default value : [...this.model.snapshot.anatomicalStructures] as VisibilityItem[]\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:58\n \n \n\n \n \n Keeps track of the previousVisibility items so we can set the opacity\nback to what it was before we changed them to 20%\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n sexByLabel$\n \n \n \n \n \n \n Default value : this.model.sex$.pipe(\n map(sex => sex === 'female' ? 'Female' : 'Male')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n sideByLabel$\n \n \n \n \n \n \n Default value : this.model.side$.pipe(\n map(side => side === 'left' ? 'L' : 'R')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts:35\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { SpatialEntityJsonLd } from 'ccf-body-ui';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { VisibilityItem } from '../../core/models/visibility-item';\nimport { ModelState } from '../../core/store/model/model.state';\nimport { PageState } from '../../core/store/page/page.state';\nimport { RegistrationState } from '../../core/store/registration/registration.state';\nimport { RUI_ORGANS } from './../../core/store/model/model.state';\n\n\n/**\n * The left sidebar\n */\n@Component({\n selector: 'ccf-left-sidebar',\n templateUrl: './left-sidebar.component.html',\n styleUrls: ['./left-sidebar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LeftSidebarComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-left-sidebar';\n\n @Input() disableSlider = false;\n\n /** Whether or not the initial registration modal has been closed */\n @Input() modalClosed = false;\n\n readonly sexByLabel$ = this.model.sex$.pipe(\n map(sex => sex === 'female' ? 'Female' : 'Male')\n );\n\n readonly sideByLabel$ = this.model.side$.pipe(\n map(side => side === 'left' ? 'L' : 'R')\n );\n\n readonly organSelected$ = this.model.organ$.pipe(\n map(organ => organ === undefined ? false : true)\n );\n\n readonly detailsLabels$: Observable = combineLatest(\n [this.model.organ$, this.model.side$, this.model.sex$]).pipe(\n map(([organ, side, sex]) => [organ?.name , side as string, sex as string])\n );\n\n /**\n * Variable that keeps track of the extraction site tooltip to display on\n * the stage when hovered.\n */\n extractionSiteTooltip = '';\n\n /**\n * Keeps track of the previousVisibility items so we can set the opacity\n * back to what it was before we changed them to 20%\n */\n previousVisibilityItems = [...this.model.snapshot.anatomicalStructures] as VisibilityItem[];\n\n organList = RUI_ORGANS;\n\n constructor(\n readonly page: PageState,\n readonly model: ModelState,\n readonly registration: RegistrationState\n ) { }\n\n\n /**\n * Updates extraction site tooltip to either the VisibilityItem passed in's\n * tooltip property, or an empty string if undefined.\n *\n * @param item The VisibilityItem which we want to show the tooltip of, or\n * undefined.\n */\n updateExtractionSiteTooltip(item: VisibilityItem | undefined): void {\n if (item?.tooltip) {\n this.extractionSiteTooltip = item.tooltip;\n } else {\n this.extractionSiteTooltip = '';\n }\n }\n\n /**\n * Sets sex from sex toggle slider\n *\n * @param label Selected sex\n */\n setSexFromLabel(label: 'Female' | 'Male'): void {\n this.model.setSex(label === 'Female' ? 'female' : 'male');\n }\n\n /**\n * Sets side from side toggle slider\n *\n * @param label Selected side\n */\n setSideFromLabel(label: 'L' | 'R'): void {\n this.model.setSide(label === 'L' ? 'left' : 'right');\n }\n\n /**\n * Handles toggling previous registration blocks visibility.\n * When making them visible, it updates current structures to 20%\n * opacity; when making not visible it sets them back to their\n * previous opacity.\n *\n * @param visible the state to set the visibility to.\n */\n togglePreviousRegistrationBlocks(visible: boolean): void {\n if (visible) {\n this.previousVisibilityItems = [...this.model.snapshot.anatomicalStructures];\n }\n this.model.toggleRegistrationBlocksVisibility(visible, this.previousVisibilityItems);\n }\n\n /**\n * Event handler for capturing uploaded json and passing it along to\n * the relevant registration state method.\n *\n * @param event the new registration state json\n */\n updateRegistration(event: SpatialEntityJsonLd): void {\n this.registration.editRegistration(event);\n }\n}\n\n \n\n \n \n \n \n \n \n \n Donor Sex:\n \n \n \n\n \n\n \n \n Anatomical Structures\n \n\n \n \n \n \n \n\n \n\n \n \n Landmarks\n \n \n \n \n \n \n \n \n\n \n\n \n \n\n \n\n 0\">\n {{ extractionSiteTooltip }}\n \n\n \n\n \n \n\n\n \n\n \n \n ./left-sidebar.component.scss\n \n :host {\n\n display: block;\n height: calc(100% - 3rem);\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n\n .scroll-wrapper {\n overflow-y: scroll;\n height: 100%;\n margin-right: 0.375rem;\n\n scrollbar-width: thin;\n &::-webkit-scrollbar {\n width: 0.75rem;\n }\n\n .container {\n display: flex;\n flex-direction: column;\n margin-left: 1.5rem;\n margin-right: 0.375rem;\n min-height: 100%;\n\n .space {\n height: 3rem;\n }\n\n mat-divider {\n border-top-width: 3px;\n }\n\n .ccf-organ-selector {\n margin-top: 1.5rem;\n }\n\n .organ-sliders {\n .slider-label {\n font-weight: 600;\n }\n\n display: flex;\n height: 3rem;\n align-items: center;\n }\n\n mat-expansion-panel {\n box-shadow: none;\n mat-expansion-panel-header {\n .expansion-title {\n font-size: 1rem;\n font-weight: 600;\n }\n }\n }\n\n ::ng-deep .mat-expansion-panel-body {\n padding: 0;\n }\n\n .extraction-menu,\n .anatomical-structures-menu {\n ::ng-deep .expansion-header {\n -webkit-user-select: none;\n -moz-user-select: none;\n padding: 0;\n font-weight: bold;\n height: 3rem;\n\n .mat-expansion-indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n }\n }\n\n .expansion-content {\n margin-bottom: 0.75rem;\n text-align: center;\n margin-top: 2.25rem;\n .expansion-placeholder {\n width: 100%;\n font-size: 0.9rem;\n font-weight: 400;\n }\n }\n }\n\n .extraction-site-tooltip {\n position: absolute;\n top: 4rem;\n left: 27rem;\n width: 21rem;\n padding: 1rem;\n border-radius: 0.5rem;\n border: 1px solid;\n z-index: 2;\n }\n }\n }\n\n .filler {\n flex-grow: 1;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Donor Sex: Anatomical Structures Landmarks 0\"> {{ extractionSiteTooltip }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'LeftSidebarComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LeftSidebarModule.html":{"url":"modules/LeftSidebarModule.html","title":"module - LeftSidebarModule","body":"\n \n\n\n\n\n Modules\n LeftSidebarModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_LeftSidebarModule\n\n\n\ncluster_LeftSidebarModule_declarations\n\n\n\ncluster_LeftSidebarModule_exports\n\n\n\ncluster_LeftSidebarModule_imports\n\n\n\n\nLeftSidebarComponent\n\nLeftSidebarComponent\n\n\n\nLeftSidebarModule\n\nLeftSidebarModule\n\nLeftSidebarModule -->\n\nLeftSidebarComponent->LeftSidebarModule\n\n\n\n\n\nLeftSidebarComponent \n\nLeftSidebarComponent \n\nLeftSidebarComponent -->\n\nLeftSidebarModule->LeftSidebarComponent \n\n\n\n\n\nDetailsLabelModule\n\nDetailsLabelModule\n\nLeftSidebarModule -->\n\nDetailsLabelModule->LeftSidebarModule\n\n\n\n\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule\n\nLeftSidebarModule -->\n\nExtractionSetDropdownModule->LeftSidebarModule\n\n\n\n\n\nJsonFileReaderModule\n\nJsonFileReaderModule\n\nLeftSidebarModule -->\n\nJsonFileReaderModule->LeftSidebarModule\n\n\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nLeftSidebarModule -->\n\nLabeledSlideToggleModule->LeftSidebarModule\n\n\n\n\n\nNameInputModule\n\nNameInputModule\n\nLeftSidebarModule -->\n\nNameInputModule->LeftSidebarModule\n\n\n\n\n\nVisibilityMenuModule\n\nVisibilityMenuModule\n\nLeftSidebarModule -->\n\nVisibilityMenuModule->LeftSidebarModule\n\n\n\n\n\nVisibilityToggleModule\n\nVisibilityToggleModule\n\nLeftSidebarModule -->\n\nVisibilityToggleModule->LeftSidebarModule\n\n\n\nLeftSidebarModule -->\n\nVisibilityToggleModule->LeftSidebarModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n LeftSidebarComponent\n \n \n \n \n Imports\n \n \n DetailsLabelModule\n \n \n ExtractionSetDropdownModule\n \n \n JsonFileReaderModule\n \n \n LabeledSlideToggleModule\n \n \n NameInputModule\n \n \n VisibilityMenuModule\n \n \n VisibilityToggleModule\n \n \n VisibilityToggleModule\n \n \n \n \n Exports\n \n \n LeftSidebarComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatDividerModule } from '@angular/material/divider';\n\nimport { DetailsLabelModule } from '../../shared/components/details-label/details-label.module';\nimport { ExtractionSetDropdownModule } from '../../shared/components/extraction-set-dropdown/extraction-set-dropdown.module';\nimport { LabeledSlideToggleModule } from '../../shared/components/labeled-slide-toggle/labeled-slide-toggle.module';\nimport { NameInputModule } from '../../shared/components/name-input/name-input.module';\nimport { OpacitySliderModule } from 'ccf-shared';\nimport { VisibilityMenuModule } from '../../shared/components/visibility-menu/visibility-menu.module';\nimport { VisibilityToggleModule } from '../../shared/components/visibility-toggle/visibility-toggle.module';\nimport { LeftSidebarComponent } from './left-sidebar.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { JsonFileReaderModule } from '../../shared/components/json-file-reader/json-file-reader.module';\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatExpansionModule,\n MatIconModule,\n MatTooltipModule,\n\n MatDividerModule,\n DetailsLabelModule,\n LabeledSlideToggleModule,\n NameInputModule,\n VisibilityToggleModule,\n ExtractionSetDropdownModule,\n OpacitySliderModule,\n VisibilityMenuModule,\n VisibilityToggleModule,\n JsonFileReaderModule\n ],\n declarations: [LeftSidebarComponent],\n exports: [LeftSidebarComponent]\n})\nexport class LeftSidebarModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Message.html":{"url":"interfaces/Message.html","title":"interface - Message","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Message\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n A message sent on a channel.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n payload\n \n \n \n \n source\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Unique identifier for a message.\n\n \n \n \n \n \n \n \n \n \n payload\n \n \n \n \n \n \n \n \n payload: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n Data associated with this message.\n\n \n \n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: \n\n \n \n\n\n\n\n\n\n\n \n \n Sender of the message.\n\n \n \n \n \n \n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MessageChannel.html":{"url":"classes/MessageChannel.html","title":"class - MessageChannel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MessageChannel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Channel for sending and receiving messages.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n counter\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getMessages\n \n \n getMessagesFromSource\n \n \n getMessagesFromSources\n \n \n Private\n nextMessageId\n \n \n sendMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(source, channel: Subject>, messages: Observable>)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:50\n \n \n\n \n \n Creates a new channel.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n source\n \n \n \n \n \n No\n \n \n \n The message source.\n\n \n \n \n channel\n \n \n Subject>\n \n \n \n No\n \n \n \n The message send subject.\n\n \n \n \n messages\n \n \n Observable>\n \n \n \n No\n \n \n \n The message receive observable.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n counter\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:50\n \n \n\n \n \n Counter used to give each message a unique id.\n\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getMessages\n \n \n \n \n \n \ngetMessages()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:83\n \n \n\n\n \n \n Gets an observable emitting all messages except for those sent by this source.\n\n\n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n getMessagesFromSource\n \n \n \n \n \n \ngetMessagesFromSource(source)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:93\n \n \n\n\n \n \n Gets an observable emitting messages sent from a specific source.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n source\n\n \n No\n \n\n\n \n The source messages are filtered on.\n\n \n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n getMessagesFromSources\n \n \n \n \n \n \ngetMessagesFromSources(sources: [])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:103\n \n \n\n\n \n \n Gets an observable emitting messages sent from any of the specified sources.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n sources\n \n []\n \n\n \n No\n \n\n\n \n The sources messages are filtered on.\n\n \n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n The message observable.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n nextMessageId\n \n \n \n \n \n \n \n nextMessageId()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:112\n \n \n\n\n \n \n Creates a unique message identifier.\n\n\n \n \n \n Returns : number\n\n \n \n The identifier number.\n\n \n \n \n \n \n \n \n \n \n \n \n sendMessage\n \n \n \n \n \n \nsendMessage(payload: T)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:70\n \n \n\n\n \n \n Sends a single message with a payload.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n payload\n \n T\n \n\n \n No\n \n\n\n \n The message payload.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MessageService.html":{"url":"injectables/MessageService.html","title":"injectable - MessageService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n MessageService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Service for creating message channels.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n channel\n \n \n Private\n messages\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n connect\n \n \n ngOnDestroy\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: MessageServiceConfig, parent: MessageService | null)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:130\n \n \n\n \n \n Creates an instance of message service.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n config\n \n \n MessageServiceConfig\n \n \n \n No\n \n \n \n The configuration for this service.\n\n \n \n \n parent\n \n \n MessageService | null\n \n \n \n No\n \n \n \n The parent message service, if any.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n connect\n \n \n \n \n \n \nconnect(source)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:163\n \n \n\n\n \n \n Connects to a message channel.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n source\n\n \n No\n \n\n\n \n The source of messages sent.\n\n \n \n \n \n \n \n \n \n Returns : MessageChannel\n\n \n \n A new connected message channel.\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:153\n \n \n\n\n \n \n Clean up.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n channel\n \n \n \n \n \n \n Default value : new Subject>()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:128\n \n \n\n \n \n The message channel.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n messages\n \n \n \n \n \n \n Type : Observable>\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/services/message/message.service.ts:130\n \n \n\n \n \n The message listener.\n\n \n \n\n \n \n\n\n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MessageServiceConfig.html":{"url":"interfaces/MessageServiceConfig.html","title":"interface - MessageServiceConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MessageServiceConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n\n\n \n Description\n \n \n Message service configuration options.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n isolated\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n isolated\n \n \n \n \n \n \n \n \n isolated: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether to listen to parent messages.\n\n \n \n \n \n \n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { from, Observable, Subject } from 'rxjs';\nimport { filter, mergeAll, takeWhile } from 'rxjs/operators';\n\n\n/**\n * Message service configuration options.\n */\nexport interface MessageServiceConfig {\n /** Whether to listen to parent messages. */\n isolated: boolean;\n}\n\n/**\n * A message sent on a channel.\n *\n * @template T The payload type.\n */\nexport interface Message {\n /** Unique identifier for a message. */\n id: number;\n /** Sender of the message. */\n source: unknown;\n /** Data associated with this message. */\n payload: T;\n}\n\n/** Default message service configuration. */\nexport const MESSAGE_SERVICE_DEFAULT_CONFIG: MessageServiceConfig = {\n isolated: true\n};\n\n/** Token for specifying the message service configuration. */\nexport const MESSAGE_SERVICE_CONFIG = new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n);\n\n\n/**\n * Channel for sending and receiving messages.\n *\n * @template T The payload type.\n */\nexport class MessageChannel {\n /** Counter used to give each message a unique id. */\n private static counter = 0;\n\n /**\n * Creates a new channel.\n *\n * @param source The message source.\n * @param channel The message send subject.\n * @param messages The message receive observable.\n */\n constructor(\n readonly source: unknown,\n private channel: Subject>,\n private messages: Observable>\n ) { }\n\n /**\n * Sends a single message with a payload.\n *\n * @param payload The message payload.\n */\n sendMessage(payload: T): void {\n this.channel.next({\n id: this.nextMessageId(),\n source: this.source,\n payload\n });\n }\n\n /**\n * Gets an observable emitting all messages except for those sent by this source.\n *\n * @returns The message observable.\n */\n getMessages(): Observable> {\n return this.messages.pipe(filter(msg => msg.source !== this.source));\n }\n\n /**\n * Gets an observable emitting messages sent from a specific source.\n *\n * @param source The source messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSource(source: unknown): Observable> {\n return this.getMessages().pipe(filter(msg => msg.source === source));\n }\n\n /**\n * Gets an observable emitting messages sent from any of the specified sources.\n *\n * @param sources The sources messages are filtered on.\n * @returns The message observable.\n */\n getMessagesFromSources(sources: unknown[]): Observable> {\n return this.getMessages().pipe(filter(msg => sources.includes(msg.source)));\n }\n\n /**\n * Creates a unique message identifier.\n *\n * @returns The identifier number.\n */\n private nextMessageId(): number {\n return MessageChannel.counter++;\n }\n}\n\n\n/**\n * Service for creating message channels.\n *\n * @template T The message payload type.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService implements OnDestroy {\n /** The message channel. */\n private channel = new Subject>();\n /** The message listener. */\n private messages: Observable>;\n\n /**\n * Creates an instance of message service.\n *\n * @param [config] The configuration for this service.\n * @param [parent] The parent message service, if any.\n */\n constructor(@Inject(MESSAGE_SERVICE_CONFIG) readonly config: MessageServiceConfig,\n @Optional() @SkipSelf() readonly parent: MessageService | null) {\n if (config.isolated || !parent) {\n this.messages = this.channel.asObservable();\n } else {\n this.messages = from([\n this.channel,\n parent.messages.pipe(takeWhile(() => !this.channel.closed))\n ]).pipe(mergeAll());\n }\n }\n\n /**\n * Clean up.\n */\n ngOnDestroy(): void {\n this.channel.complete();\n }\n\n /**\n * Connects to a message channel.\n *\n * @param source The source of messages sent.\n * @returns A new connected message channel.\n */\n connect(source: unknown): MessageChannel {\n return new MessageChannel(source, this.channel, this.messages);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MetaDataField.html":{"url":"interfaces/MetaDataField.html","title":"interface - MetaDataField","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MetaDataField\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/meta-data.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n label\n \n \n \n \n value\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n \n \n value: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface MetaDataField {\n label: string;\n value: string;\n}\n\nexport type MetaData = MetaDataField[];\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ModelStateModel.html":{"url":"interfaces/ModelStateModel.html","title":"interface - ModelStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ModelStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n\n\n \n Description\n \n \n Data contained in the stage state.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n anatomicalStructures\n \n \n \n \n blockSize\n \n \n \n \n extractionSets\n \n \n \n \n extractionSites\n \n \n \n \n id\n \n \n \n \n label\n \n \n \n \n organ\n \n \n \n \n organDimensions\n \n \n \n Optional\n \n organIri\n \n \n \n \n position\n \n \n \n \n rotation\n \n \n \n Optional\n \n sex\n \n \n \n \n showPrevious\n \n \n \n Optional\n \n side\n \n \n \n \n slicesConfig\n \n \n \n \n viewSide\n \n \n \n \n viewType\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n anatomicalStructures\n \n \n \n \n \n \n \n \n anatomicalStructures: VisibilityItem[]\n\n \n \n\n\n \n \n Type : VisibilityItem[]\n\n \n \n\n\n\n\n\n \n \n Anatomical structures for the organ\n\n \n \n \n \n \n \n \n \n \n blockSize\n \n \n \n \n \n \n \n \n blockSize: XYZTriplet\n\n \n \n\n\n \n \n Type : XYZTriplet\n\n \n \n\n\n\n\n\n \n \n Block size\n\n \n \n \n \n \n \n \n \n \n extractionSets\n \n \n \n \n \n \n \n \n extractionSets: ExtractionSet[]\n\n \n \n\n\n \n \n Type : ExtractionSet[]\n\n \n \n\n\n\n\n\n \n \n Extraction sets\n\n \n \n \n \n \n \n \n \n \n extractionSites\n \n \n \n \n \n \n \n \n extractionSites: VisibilityItem[]\n\n \n \n\n\n \n \n Type : VisibilityItem[]\n\n \n \n\n\n\n\n\n \n \n Possible extraction sites\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Model identifier\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Model label\n\n \n \n \n \n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: OrganInfo\n\n \n \n\n\n \n \n Type : OrganInfo\n\n \n \n\n\n\n\n\n \n \n Organ name\n\n \n \n \n \n \n \n \n \n \n organDimensions\n \n \n \n \n \n \n \n \n organDimensions: XYZTriplet\n\n \n \n\n\n \n \n Type : XYZTriplet\n\n \n \n\n\n\n\n\n \n \n Reference Organ Dimensions\n\n \n \n \n \n \n \n \n \n \n organIri\n \n \n \n \n \n \n \n \n organIri: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Reference Organ IRI\n\n \n \n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n \n \n position: XYZTriplet\n\n \n \n\n\n \n \n Type : XYZTriplet\n\n \n \n\n\n\n\n\n \n \n Model position\n\n \n \n \n \n \n \n \n \n \n rotation\n \n \n \n \n \n \n \n \n rotation: XYZTriplet\n\n \n \n\n\n \n \n Type : XYZTriplet\n\n \n \n\n\n\n\n\n \n \n Model rotation\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"male\" | \"female\"\n\n \n \n\n\n \n \n Type : \"male\" | \"female\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Sex if applicable\n\n \n \n \n \n \n \n \n \n \n showPrevious\n \n \n \n \n \n \n \n \n showPrevious: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether previous registration blocks are visible\n\n \n \n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: \"left\" | \"right\"\n\n \n \n\n\n \n \n Type : \"left\" | \"right\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Side if applicable\n\n \n \n \n \n \n \n \n \n \n slicesConfig\n \n \n \n \n \n \n \n \n slicesConfig: SlicesConfig\n\n \n \n\n\n \n \n Type : SlicesConfig\n\n \n \n\n\n\n\n\n \n \n Slice configuration\n\n \n \n \n \n \n \n \n \n \n viewSide\n \n \n \n \n \n \n \n \n viewSide: ViewSide\n\n \n \n\n\n \n \n Type : ViewSide\n\n \n \n\n\n\n\n\n \n \n View side\n\n \n \n \n \n \n \n \n \n \n viewType\n \n \n \n \n \n \n \n \n viewType: ViewType\n\n \n \n\n\n \n \n Type : ViewType\n\n \n \n\n\n\n\n\n \n \n View type\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { ALL_ORGANS, GlobalConfigState, OrganInfo } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { sortBy } from 'lodash';\nimport { EMPTY, Observable } from 'rxjs';\nimport {\n debounceTime, delay, distinctUntilChanged, filter, mapTo, pluck, skipUntil, switchMap, take, tap, throttleTime,\n} from 'rxjs/operators';\n\nimport { ExtractionSet } from '../../models/extraction-set';\nimport { VisibilityItem } from '../../models/visibility-item';\nimport { GlobalConfig } from '../../services/config/config';\nimport { PageState } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A object with x, y, and z channels of the same type. */\nexport interface XYZTriplet {\n /** X channel */\n x: T;\n /** Y channel */\n y: T;\n /** Z channel */\n z: T;\n}\n\n/** Slices configuration */\nexport interface SlicesConfig {\n /** Thickness of slice */\n thickness: number;\n /** Number of slices per block */\n numSlices: number;\n}\n\n/** Model view type */\nexport type ViewType = 'register' | '3d';\n\n/** Side which the model is viewed from */\nexport type ViewSide = 'left' | 'right' | 'anterior' | 'posterior';\n\n/** Data contained in the stage state. */\nexport interface ModelStateModel {\n /** Model identifier */\n id: string;\n /** Model label */\n label: string;\n /** Organ name */\n organ: OrganInfo;\n /** Reference Organ IRI */\n organIri?: string;\n /** Reference Organ Dimensions */\n organDimensions: XYZTriplet;\n /** Sex if applicable */\n sex?: 'male' | 'female';\n /** Side if applicable */\n side?: 'left' | 'right';\n /** Block size */\n blockSize: XYZTriplet;\n /** Model rotation */\n rotation: XYZTriplet;\n /** Model position */\n position: XYZTriplet;\n /** Slice configuration */\n slicesConfig: SlicesConfig;\n /** View type */\n viewType: ViewType;\n /** View side */\n viewSide: ViewSide;\n /** Whether previous registration blocks are visible */\n showPrevious: boolean;\n /** Possible extraction sites */\n extractionSites: VisibilityItem[];\n /** Anatomical structures for the organ */\n anatomicalStructures: VisibilityItem[];\n /** Extraction sets */\n extractionSets: ExtractionSet[];\n}\n\n/**\n * All organs to be displayed\n */\nexport const RUI_ORGANS = ALL_ORGANS;\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'model',\n defaults: {\n id: '',\n label: '',\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n organ: { src: '', name: '' } as OrganInfo,\n organIri: '',\n organDimensions: { x: 90, y: 90, z: 90 },\n sex: 'male',\n side: 'left',\n blockSize: { x: 10, y: 10, z: 10 },\n rotation: { x: 0, y: 0, z: 0 },\n position: { x: 0, y: 0, z: 0 },\n slicesConfig: { thickness: NaN, numSlices: NaN },\n viewType: 'register',\n viewSide: 'anterior',\n showPrevious: false,\n extractionSites: [],\n anatomicalStructures: [],\n extractionSets: []\n }\n})\n@Injectable()\nexport class ModelState extends NgxsImmutableDataRepository {\n /** Identifier observable */\n readonly id$ = this.state$.pipe(pluck('id'));\n /** Block size observable */\n readonly blockSize$ = this.state$.pipe(pluck('blockSize'));\n /** Rotation observable */\n readonly rotation$ = this.state$.pipe(pluck('rotation'));\n /** Position observable */\n readonly position$ = this.state$.pipe(pluck('position'));\n /** Slice configuration observable */\n readonly slicesConfig$ = this.state$.pipe(pluck('slicesConfig'));\n /** View type observable */\n readonly viewType$ = this.state$.pipe(pluck('viewType'));\n /** View side observable */\n readonly viewSide$ = this.state$.pipe(pluck('viewSide'));\n /** Organ observable */\n readonly organ$ = this.state$.pipe(pluck('organ'));\n /** Organ IRI observable */\n readonly organIri$ = this.state$.pipe(pluck('organIri'));\n /** Organ IRI observable */\n readonly organDimensions$ = this.state$.pipe(pluck('organDimensions'));\n /** Sex observable */\n readonly sex$ = this.state$.pipe(pluck('sex'));\n /** Side observable */\n readonly side$ = this.state$.pipe(pluck('side'));\n /** Show previous observable */\n readonly showPrevious$ = this.state$.pipe(pluck('showPrevious'));\n /** Extraction sites observable */\n readonly extractionSites$ = this.state$.pipe(pluck('extractionSites'));\n /** Anatomical structures observable */\n readonly anatomicalStructures$ = this.state$.pipe(pluck('anatomicalStructures'));\n /** Extraction sets observable */\n readonly extractionSets$ = this.state$.pipe(pluck('extractionSets'));\n\n @Computed()\n get modelChanged$(): Observable {\n const ignoredKeys = ['viewType', 'viewSide', 'showPrevious'];\n const keys = Object.keys(this.initialState)\n .filter(key => !ignoredKeys.includes(key));\n\n return this.state$.pipe(\n throttleTime(0, undefined, { leading: false, trailing: true }),\n distinctUntilChanged((v1, v2) => {\n for (const key of keys) {\n if (v1[key] !== v2[key]) {\n return false;\n }\n }\n\n return true;\n }),\n mapTo(undefined)\n );\n }\n\n /** Reference to the reference data state */\n private referenceData: ReferenceDataState;\n\n private page: PageState;\n\n /**\n * Creates an instance of model state.\n *\n * @param injector Injector service used to lazy load reference data state\n */\n constructor(\n private readonly ga: GoogleAnalyticsService,\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.referenceData = this.injector.get(ReferenceDataState);\n this.page = this.injector.get(PageState);\n\n this.globalConfig.getOption('organ').pipe(\n filterNulls(),\n switchMap(organConfig => {\n const organName = organConfig.name.toLowerCase();\n const organSide = organConfig.side;\n const ontologyId = organConfig.ontologyId;\n // check for an id match\n let organInfo = this.idMatches(ontologyId, organSide);\n // if no id matches, check for a name match\n if (!organInfo) {\n organInfo = this.nameMatches(organName, organSide);\n }\n if (organInfo) {\n this.ctx.patchState({\n organ: organInfo,\n sex: organConfig.sex?.toLowerCase() as 'male' | 'female',\n side: organInfo?.side?.toLowerCase() as 'left' | 'right'\n });\n return this.referenceData.state$.pipe(\n debounceTime(100),\n take(1),\n delay(200),\n tap(() => this.onOrganIriChange())\n );\n }\n return EMPTY;\n })\n ).subscribe();\n\n this.modelChanged$.pipe(\n skipUntil(this.page.registrationStarted$.pipe(\n filter(started => started),\n delay(5)\n ))\n ).subscribe(() => this.page.setHasChanges());\n }\n\n idMatches(ontologyId?: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n ontologyId && o.id === ontologyId ? (o.side ? o.side === organSide : true) : false\n );\n }\n\n nameMatches(organName: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n o.side ? o.organ.toLowerCase() === organName && o.side === organSide : o.organ.toLowerCase() === organName\n );\n }\n\n /**\n * Updates the block size\n *\n * @param blockSize The new block size values\n */\n @DataAction()\n setBlockSize(blockSize: XYZTriplet): void {\n this.ctx.patchState({ blockSize });\n }\n\n /**\n * Updates the rotation\n *\n * @param rotation The new rotation values\n */\n @DataAction()\n setRotation(rotation: XYZTriplet): void {\n this.ctx.patchState({ rotation });\n }\n\n /**\n * Updates the position\n *\n * @param position The new position values\n */\n @DataAction()\n setPosition(position: XYZTriplet): void {\n this.ga.event('placement', `${this.snapshot.organ?.name}_placement`, `${position.x.toFixed(1)}_${position.y.toFixed(1)}_${position.z.toFixed(1)}`);\n this.ctx.patchState({ position });\n }\n\n /**\n * Updates the slice configuration\n *\n * @param slicesConfig The new slice configuration\n */\n @DataAction()\n setSlicesConfig(slicesConfig: SlicesConfig): void {\n this.ctx.patchState({ slicesConfig });\n }\n\n /**\n * Updates the view type\n *\n * @param viewType the new view type\n */\n @DataAction()\n setViewType(viewType: ViewType): void {\n this.ctx.patchState({ viewType });\n }\n\n /**\n * Updates the view side\n *\n * @param viewSide The side to view\n */\n @DataAction()\n setViewSide(viewSide: ViewSide): void {\n this.ctx.patchState({ viewSide });\n }\n\n @Computed()\n get defaultPosition(): XYZTriplet {\n const dims = this.snapshot.organDimensions;\n const block = this.snapshot.blockSize;\n return { x: dims.x + 2 * block.x, y: dims.y / 2, z: dims.z / 2 };\n }\n\n /**\n * Updates the organ\n *\n * @param organ Name of the organ\n */\n @DataAction()\n setOrgan(organ: OrganInfo): void {\n this.ga.event('organ_select', 'organ', organ.name);\n this.ctx.patchState({ organ });\n if (organ.side) {\n this.ctx.patchState({ side: organ.side });\n }\n this.onOrganIriChange();\n }\n\n /**\n * Updates the sex\n *\n * @param [sex] The new sex\n */\n @DataAction()\n setSex(sex?: 'male' | 'female'): void {\n this.ctx.patchState({ sex });\n this.onOrganIriChange();\n }\n\n /**\n * Updates the side\n *\n * @param [side] The new side\n */\n @DataAction()\n setSide(side?: 'left' | 'right'): void {\n this.ctx.patchState({ side });\n this.onOrganIriChange();\n }\n\n /**\n * Updates show previous\n *\n * @param showPrevious Whether to show\n */\n @DataAction()\n setShowPrevious(showPrevious: boolean): void {\n this.ctx.patchState({ showPrevious });\n }\n\n /**\n * Updates extraction sites\n *\n * @param extractionSites New array of items\n */\n @DataAction()\n setExtractionSites(extractionSites: VisibilityItem[]): void {\n this.ctx.patchState({ extractionSites });\n }\n\n /**\n * Updates anatomical structures\n *\n * @param anatomicalStructures New array of items\n */\n @DataAction()\n setAnatomicalStructures(anatomicalStructures: VisibilityItem[]): void {\n this.ctx.patchState({ anatomicalStructures });\n }\n\n /**\n * Updates extraction sets\n *\n * @param extractionSets New array of extraction sets\n */\n @DataAction()\n setExtractionSets(extractionSets: ExtractionSet[]): void {\n this.ctx.patchState({ extractionSets });\n }\n\n /**\n * Toggles registration blocks visibility and handles anatomical structures\n * opacity changes accordingly\n *\n * @param visible the visible state to pass along to setShowPrevious()\n * @param previousItems visibilityItems to set anatomical structures\n */\n toggleRegistrationBlocksVisibility(visible: boolean, previousItems: VisibilityItem[]): void {\n this.setShowPrevious(visible);\n\n if (!visible) {\n this.setAnatomicalStructures(previousItems);\n } else {\n const newStructures = previousItems.map(structure => ({\n ...structure, opacity: Math.min(20, structure.opacity ?? 20)\n }));\n this.setAnatomicalStructures(newStructures);\n }\n }\n\n private onOrganIriChange(): void {\n const organIri = this.referenceData.getReferenceOrganIri(\n this.snapshot.organ?.organ || '', this.snapshot.sex, this.snapshot.side, this.snapshot.organ\n );\n const organDimensions: XYZTriplet = { x: 100, y: 100, z: 100 };\n\n if (this.snapshot.organ?.sex) {\n this.ctx.patchState({ sex: this.snapshot.organ?.sex });\n }\n\n if (organIri) {\n const db = this.referenceData.snapshot;\n const asLookup: { [id: string]: VisibilityItem } = {};\n for (const entity of (db.anatomicalStructures[organIri] || [])) {\n const iri = entity.representation_of ?? entity['@id'];\n if (!asLookup[iri]) {\n asLookup[iri] = {\n id: entity.representation_of ?? entity['@id'],\n name: entity.label!,\n visible: true,\n opacity: 20,\n tooltip: entity.comment\n };\n }\n }\n this.ctx.patchState({ anatomicalStructures: Object.values(asLookup) });\n\n const sets: ExtractionSet[] = (db.extractionSets[organIri] || []).map((set) => ({\n name: set.label,\n sites: sortBy(set.extractionSites.map((entity) => ({\n id: entity['@id'],\n name: entity.label!,\n visible: false,\n opacity: 0,\n tooltip: entity.comment\n })), 'name')\n }));\n this.ctx.patchState({ extractionSets: sets });\n this.ctx.patchState({ extractionSites: sets.length > 0 ? sets[0].sites : [] });\n\n const spatialEntity = db.organSpatialEntities[organIri];\n organDimensions.x = spatialEntity.x_dimension;\n organDimensions.y = spatialEntity.y_dimension;\n organDimensions.z = spatialEntity.z_dimension;\n }\n\n this.ctx.patchState({ organIri, organDimensions });\n this.ctx.patchState({ position: this.defaultPosition });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/NameInputComponent.html":{"url":"components/NameInputComponent.html","title":"component - NameInputComponent","body":"\n \n\n\n\n\n\n Components\n \n NameInputComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts\n\n\n\n \n Description\n \n \n Component for inputting the researcher's name\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-name-input\n \n\n \n styleUrls\n ./name-input.component.scss\n \n\n\n\n \n templateUrl\n ./name-input.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _name\n \n \n Readonly\n clsName\n \n \n firstNameValidator\n \n \n lastNameValidator\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n updateName\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n name\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n nameChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:68\n \n \n\n \n \n Creates an instance of name input component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n name\n \n \n \n \n Type : UserName\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:50\n \n \n \n \n Current user name\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n nameChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:68\n \n \n \n \n Emits a UserName object\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-name-input\"\n\n \n \n \n \n Default value : 'ccf-name-input'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:35\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n updateName\n \n \n \n \n \n \nupdateName(input: InputEvent, key: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:83\n \n \n\n\n \n \n Updates username with a new entry and emits the UserName object\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n input\n \n InputEvent\n \n\n \n No\n \n\n\n \n InputEvent from the input element which contains the new value\n\n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n firstName or lastName\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _name\n \n \n \n \n \n \n Type : UserName\n\n \n \n \n \n Default value : {\n firstName: '',\n lastName: ''\n }\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-name-input'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:35\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n firstNameValidator\n \n \n \n \n \n \n Default value : new FormControl('', [Validators.required])\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:40\n \n \n\n \n \n Used to validate the first name input field.\n\n \n \n\n \n \n \n \n \n \n \n \n lastNameValidator\n \n \n \n \n \n \n Default value : new FormControl('', [Validators.required])\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:44\n \n \n\n \n \n Used to validate the last name input field.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n\n \n \n getname()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:50\n \n \n \n \n Current user name\n\n\n \n Returns : UserName\n\n \n \n \n\n \n \n setname(value: UserName)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts:54\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n UserName\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * User name data\n */\nexport interface UserName {\n /**\n * User's first name\n */\n firstName: string;\n\n /**\n * User's last name\n */\n lastName: string;\n}\n\n/**\n * Component for inputting the researcher's name\n */\n@Component({\n selector: 'ccf-name-input',\n templateUrl: './name-input.component.html',\n styleUrls: ['./name-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NameInputComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-name-input';\n\n /**\n * Used to validate the first name input field.\n */\n firstNameValidator = new FormControl('', [Validators.required]);\n /**\n * Used to validate the last name input field.\n */\n lastNameValidator = new FormControl('', [Validators.required]);\n\n /**\n * Current user name\n */\n @Input()\n get name(): UserName {\n return this._name;\n }\n\n set name(value: UserName) {\n this._name = value;\n this.firstNameValidator.setValue(value?.firstName || '');\n this.lastNameValidator.setValue(value?.lastName || '');\n }\n\n private _name: UserName = {\n firstName: '',\n lastName: ''\n };\n\n /**\n * Emits a UserName object\n */\n @Output() readonly nameChange = new EventEmitter();\n\n /**\n * Creates an instance of name input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates username with a new entry and emits the UserName object\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key firstName or lastName\n */\n updateName(input: InputEvent, key: string): void {\n const inputTarget = input.target as HTMLInputElement;\n this.name = { ...this.name, [key]: inputTarget.value };\n this.ga.event('name_updated', 'name_input', key);\n this.nameChange.emit(this.name);\n }\n}\n\n \n\n \n \n First Name \n \n\n\n\n Last Name \n \n\n\n \n\n \n \n ./name-input.component.scss\n \n :host {\n display: flex;\n\n .field {\n\n &:not(:last-child) {\n padding-right: 0.75rem;\n }\n\n .input {\n text-align: left;\n width: 100%;\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' First Name Last Name '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'NameInputComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/NameInputModule.html":{"url":"modules/NameInputModule.html","title":"module - NameInputModule","body":"\n \n\n\n\n\n Modules\n NameInputModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_NameInputModule\n\n\n\ncluster_NameInputModule_declarations\n\n\n\ncluster_NameInputModule_exports\n\n\n\n\nNameInputComponent\n\nNameInputComponent\n\n\n\nNameInputModule\n\nNameInputModule\n\nNameInputModule -->\n\nNameInputComponent->NameInputModule\n\n\n\n\n\nNameInputComponent \n\nNameInputComponent \n\nNameInputComponent -->\n\nNameInputModule->NameInputComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/name-input/name-input.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n NameInputComponent\n \n \n \n \n Exports\n \n \n NameInputComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatInputModule } from '@angular/material/input';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { NameInputComponent } from './name-input.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatSlideToggleModule,\n MatInputModule,\n FormsModule,\n ReactiveFormsModule,\n MatTooltipModule\n ],\n declarations: [NameInputComponent],\n exports: [NameInputComponent]\n})\nexport class NameInputModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OrganData.html":{"url":"interfaces/OrganData.html","title":"interface - OrganData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OrganData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n organ\n \n \n \n Optional\n \n sex\n \n \n \n Optional\n \n side\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: OrganInfo\n\n \n \n\n\n \n \n Type : OrganInfo\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"male\" | \"female\"\n\n \n \n\n\n \n \n Type : \"male\" | \"female\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: \"left\" | \"right\"\n\n \n \n\n\n \n \n Type : \"left\" | \"right\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { SpatialPlacementJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { ExtractionSet, SpatialEntity } from 'ccf-database';\nimport { ALL_ORGANS, GlobalConfigState, GlobalsService, OrganInfo } from 'ccf-shared';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\nimport { XYZTriplet } from '../model/model.state';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\nexport function applySpatialPlacement(tx: Matrix4, placement: Immutable): Matrix4 {\n const p = placement;\n let factor: number;\n switch (p.translation_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const T = [p.x_translation, p.y_translation, p.z_translation].map(t => t * factor);\n const R = [p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number];\n const S = [p.x_scaling, p.y_scaling, p.z_scaling];\n\n return tx.translate(T).rotateXYZ(R).scale(S);\n}\n\nexport interface ReferenceDataStateModel {\n organIRILookup: { [lookup: string]: string };\n organSpatialEntities: { [iri: string]: SpatialEntity };\n anatomicalStructures: { [iri: string]: SpatialEntity[] };\n extractionSets: { [iri: string]: ExtractionSet[] };\n sceneNodeLookup: { [iri: string]: SpatialSceneNode };\n simpleSceneNodeLookup: { [iri: string]: SpatialSceneNode };\n placementPatches: { [iri: string]: SpatialPlacementJsonLd };\n}\n\nexport interface OrganData {\n organ: OrganInfo;\n sex?: 'male' | 'female';\n side?: 'left' | 'right';\n}\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'reference',\n defaults: {\n organIRILookup: {},\n organSpatialEntities: {},\n anatomicalStructures: {},\n extractionSets: {},\n sceneNodeLookup: {},\n simpleSceneNodeLookup: {},\n placementPatches: {}\n }\n})\n@Injectable()\nexport class ReferenceDataState extends NgxsImmutableDataRepository {\n\n constructor(\n private readonly globals: GlobalsService,\n private globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.getSourceDB().subscribe(db => {\n this.setState(db);\n\n // In development, make the db globally accessible\n if (!environment.production) {\n this.globals.set('db', db);\n }\n });\n }\n\n private getSourceDB(): Observable {\n return this.globalConfig.getOption('baseHref').pipe(\n map(baseHref => (baseHref ?? '') + 'assets/reference-organ-data.json'),\n switchMap(url => from(fetch(url)).pipe(\n switchMap(data => data.json()),\n catchError(() => EMPTY)\n ))\n );\n }\n\n normalizePlacement(place: SpatialPlacementJsonLd): SpatialPlacementJsonLd {\n const db = this.snapshot;\n const patchPlacement = db.placementPatches[place?.target];\n if (patchPlacement) {\n const matrix = applySpatialPlacement(new Matrix4(Matrix4.IDENTITY), patchPlacement);\n const position: XYZTriplet = { x: place.x_translation, y: place.y_translation, z: place.z_translation };\n const [x, y, z] = matrix.transformAsPoint([ position.x, position.y, position.z ], []);\n const newPlacement = { ...place, target: patchPlacement.target };\n newPlacement.x_translation = x;\n newPlacement.y_translation = y;\n newPlacement.z_translation = z;\n return newPlacement;\n } else {\n return place;\n }\n }\n\n /**\n * Looks up an IRI for a potential reference organ.\n *\n * @param organ the organ\n * @param sex the sex: male, female, or undefined\n * @param side the side: left, right, or undefined\n * @returns An IRI if there is a reference organ for this state, otherwise undefined\n */\n getReferenceOrganIri(organ: string, sex?: 'Male' | 'Female' | string, side?: 'Left' | 'Right' | string, organInfo?: OrganInfo): string | undefined {\n const db = this.snapshot;\n if (organ.toUpperCase() !== 'KIDNEY') {\n side = '';\n }\n if (organInfo?.sex) {\n sex = organInfo.sex;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const lookup = [organ, sex, side || organInfo?.side].join('|').toUpperCase();\n const key = Object.keys(db.organIRILookup).find((code) => code.toUpperCase().endsWith(lookup));\n return key ? db.organIRILookup[key] : undefined;\n }\n\n /**\n * Looks up organ information from an IRI\n *\n * @param iri The IRI\n * @returns A populated organ data if the IRI is valid, otherwise undefined\n */\n getOrganData(iri: string): OrganData | undefined {\n const state = this.snapshot;\n const entity = state.organSpatialEntities[iri];\n if (!entity) {\n return undefined;\n }\n\n const name = entity.label ?? '';\n const organ = ALL_ORGANS.find(info => name.endsWith(info.organ) && (!entity.side || entity.side.toLowerCase() === info.side));\n if (!organ) {\n return undefined;\n }\n\n return {\n organ,\n sex: entity.sex?.toLowerCase() as 'male' | 'female',\n side: entity.side?.toLowerCase() as 'left' | 'right'\n };\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PageState.html":{"url":"injectables/PageState.html","title":"injectable - PageState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n PageState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n\n\n \n Description\n \n \n General page global state\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n registrationCallbackSet$\n \n \n Readonly\n registrationStarted$\n \n \n Readonly\n useCancelRegistrationCallback$\n \n \n Readonly\n user$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n cancelRegistration\n \n \n clearHasChanges\n \n \n Private\n initSkipConfirmationListeners\n \n \n ngxsOnInit\n \n \n registrationStarted\n \n \n setHasChanges\n \n \n setUseCancelRegistrationCallback\n \n \n setUserName\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n skipConfirmation$\n \n \n globalSkipConfirmation$\n \n \n hasChanges$\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:78\n \n \n\n \n \n Creates an instance of page state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n The global configuration\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n cancelRegistration\n \n \n \n \n \n \ncancelRegistration()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:110\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n clearHasChanges\n \n \n \n \n \n \nclearHasChanges()\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:162\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n initSkipConfirmationListeners\n \n \n \n \n \n \n \n initSkipConfirmationListeners()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:168\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:94\n \n \n\n\n \n \n Initializes this service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n registrationStarted\n \n \n \n \n \n \nregistrationStarted()\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:145\n \n \n\n\n \n \n Sets registrationStarted to true (when initial registration modal is closed)\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setHasChanges\n \n \n \n \n \n \nsetHasChanges()\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:152\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setUseCancelRegistrationCallback\n \n \n \n \n \n \nsetUseCancelRegistrationCallback(use: boolean)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:125\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n use\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setUserName\n \n \n \n \n \n \nsetUserName(name: Pick)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:135\n \n \n\n\n \n \n Sets the name of the active user.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n name\n \n Pick\n \n\n \n No\n \n\n\n \n The first and last name\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n registrationCallbackSet$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('registrationCallbackSet'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n registrationStarted$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluckUnique('registrationStarted'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:58\n \n \n\n \n \n RegistrationStated observable\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n useCancelRegistrationCallback$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('useCancelRegistrationCallback'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n user$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('user'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:56\n \n \n\n \n \n Active user observable\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n skipConfirmation$\n \n \n\n \n \n getskipConfirmation$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:63\n \n \n\n \n \n \n \n \n \n \n globalSkipConfirmation$\n \n \n\n \n \n getglobalSkipConfirmation$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:68\n \n \n\n \n \n \n \n \n \n \n hasChanges$\n \n \n\n \n \n gethasChanges$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/page/page.state.ts:76\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { iif, patch } from '@ngxs/store/operators';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { pluckUnique } from 'ccf-shared/rxjs-ext/operators';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, map, pluck, take, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A record with information about a single person */\nexport interface Person {\n firstName: string;\n lastName: string;\n}\n\n/** Page state model */\nexport interface PageStateModel {\n /** Active user */\n user: Person;\n /** Whether or not the initial registration modal has been closed */\n registrationStarted: boolean;\n useCancelRegistrationCallback: boolean;\n registrationCallbackSet: boolean;\n skipConfirmation: boolean;\n hasChanges: boolean;\n}\n\n\n/**\n * General page global state\n */\n@StateRepository()\n@State({\n name: 'page',\n defaults: {\n user: {\n firstName: '',\n lastName: ''\n },\n registrationStarted: false,\n useCancelRegistrationCallback: false,\n registrationCallbackSet: false,\n skipConfirmation: true,\n hasChanges: false\n }\n})\n@Injectable()\nexport class PageState extends NgxsImmutableDataRepository {\n /** Active user observable */\n readonly user$ = this.state$.pipe(pluck('user'));\n /** RegistrationStated observable */\n readonly registrationStarted$ = this.state$.pipe(pluckUnique('registrationStarted'));\n readonly useCancelRegistrationCallback$ = this.state$.pipe(pluck('useCancelRegistrationCallback'));\n readonly registrationCallbackSet$ = this.state$.pipe(pluck('registrationCallbackSet'));\n\n @Computed()\n get skipConfirmation$(): Observable {\n return this.state$.pipe(pluckUnique('skipConfirmation'));\n }\n\n @Computed()\n get globalSkipConfirmation$(): Observable {\n return this.globalConfig.getOption('skipUnsavedChangesConfirmation').pipe(\n map(value => value ?? environment.skipUnsavedChangesConfirmation),\n distinctUntilChanged()\n );\n }\n\n @Computed()\n get hasChanges$(): Observable {\n return this.state$.pipe(pluckUnique('hasChanges'));\n }\n\n /**\n * Creates an instance of page state.\n *\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(config => this.setState(patch({\n registrationCallbackSet: !!config.register,\n useCancelRegistrationCallback: !!config.cancelRegistration,\n user: iif(!!config.user, config.user!),\n registrationStarted: config.user ? true : undefined\n })))\n ).subscribe();\n\n this.initSkipConfirmationListeners();\n }\n\n cancelRegistration(): void {\n const {\n globalConfig: { snapshot: { cancelRegistration: cancelRegistrationCallback } },\n snapshot: { useCancelRegistrationCallback, skipConfirmation }\n } = this;\n\n if (useCancelRegistrationCallback) {\n // eslint-disable-next-line no-alert\n if (skipConfirmation || confirm('Changes you made may not be saved.')) {\n cancelRegistrationCallback?.();\n }\n }\n }\n\n @DataAction()\n setUseCancelRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useCancelRegistrationCallback: use });\n }\n\n /**\n * Sets the name of the active user.\n *\n * @param name The first and last name\n */\n @DataAction()\n setUserName(name: Pick): void {\n this.ctx.setState(patch({\n user: patch(name)\n }));\n }\n\n /**\n * Sets registrationStarted to true (when initial registration modal is closed)\n */\n @DataAction()\n registrationStarted(): void {\n this.ctx.setState(patch({\n registrationStarted: true\n }));\n }\n\n @DataAction()\n setHasChanges(): void {\n const { snapshot: { registrationStarted, hasChanges } } = this;\n if (registrationStarted && !hasChanges) {\n this.ctx.patchState({\n hasChanges: true\n });\n }\n }\n\n @DataAction()\n clearHasChanges(): void {\n this.ctx.patchState({\n hasChanges: false\n });\n }\n\n private initSkipConfirmationListeners(): void {\n const updateSkipConfirmation = (skipConfirmation: boolean) => this.patchState({ skipConfirmation });\n\n this.globalSkipConfirmation$\n .pipe(filter(s => s))\n .subscribe(updateSkipConfirmation);\n\n this.hasChanges$.pipe(\n withLatestFrom(this.globalSkipConfirmation$),\n map(([hasChanges, skipConfirmation]) => skipConfirmation || !hasChanges),\n distinctUntilChanged()\n ).subscribe(updateSkipConfirmation);\n\n const beforeUnloadListener = (event: BeforeUnloadEvent) => {\n event.preventDefault();\n event.returnValue = 'Changes you made may not be saved.';\n return event.returnValue;\n };\n\n this.skipConfirmation$.subscribe(skipConfirmation => {\n if (skipConfirmation) {\n removeEventListener('beforeunload', beforeUnloadListener);\n } else {\n addEventListener('beforeunload', beforeUnloadListener);\n }\n });\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PageStateModel.html":{"url":"interfaces/PageStateModel.html","title":"interface - PageStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PageStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n\n\n \n Description\n \n \n Page state model\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n hasChanges\n \n \n \n \n registrationCallbackSet\n \n \n \n \n registrationStarted\n \n \n \n \n skipConfirmation\n \n \n \n \n useCancelRegistrationCallback\n \n \n \n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n hasChanges\n \n \n \n \n \n \n \n \n hasChanges: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n registrationCallbackSet\n \n \n \n \n \n \n \n \n registrationCallbackSet: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n registrationStarted\n \n \n \n \n \n \n \n \n registrationStarted: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether or not the initial registration modal has been closed\n\n \n \n \n \n \n \n \n \n \n skipConfirmation\n \n \n \n \n \n \n \n \n skipConfirmation: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n useCancelRegistrationCallback\n \n \n \n \n \n \n \n \n useCancelRegistrationCallback: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: Person\n\n \n \n\n\n \n \n Type : Person\n\n \n \n\n\n\n\n\n \n \n Active user\n\n \n \n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { iif, patch } from '@ngxs/store/operators';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { pluckUnique } from 'ccf-shared/rxjs-ext/operators';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, map, pluck, take, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A record with information about a single person */\nexport interface Person {\n firstName: string;\n lastName: string;\n}\n\n/** Page state model */\nexport interface PageStateModel {\n /** Active user */\n user: Person;\n /** Whether or not the initial registration modal has been closed */\n registrationStarted: boolean;\n useCancelRegistrationCallback: boolean;\n registrationCallbackSet: boolean;\n skipConfirmation: boolean;\n hasChanges: boolean;\n}\n\n\n/**\n * General page global state\n */\n@StateRepository()\n@State({\n name: 'page',\n defaults: {\n user: {\n firstName: '',\n lastName: ''\n },\n registrationStarted: false,\n useCancelRegistrationCallback: false,\n registrationCallbackSet: false,\n skipConfirmation: true,\n hasChanges: false\n }\n})\n@Injectable()\nexport class PageState extends NgxsImmutableDataRepository {\n /** Active user observable */\n readonly user$ = this.state$.pipe(pluck('user'));\n /** RegistrationStated observable */\n readonly registrationStarted$ = this.state$.pipe(pluckUnique('registrationStarted'));\n readonly useCancelRegistrationCallback$ = this.state$.pipe(pluck('useCancelRegistrationCallback'));\n readonly registrationCallbackSet$ = this.state$.pipe(pluck('registrationCallbackSet'));\n\n @Computed()\n get skipConfirmation$(): Observable {\n return this.state$.pipe(pluckUnique('skipConfirmation'));\n }\n\n @Computed()\n get globalSkipConfirmation$(): Observable {\n return this.globalConfig.getOption('skipUnsavedChangesConfirmation').pipe(\n map(value => value ?? environment.skipUnsavedChangesConfirmation),\n distinctUntilChanged()\n );\n }\n\n @Computed()\n get hasChanges$(): Observable {\n return this.state$.pipe(pluckUnique('hasChanges'));\n }\n\n /**\n * Creates an instance of page state.\n *\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(config => this.setState(patch({\n registrationCallbackSet: !!config.register,\n useCancelRegistrationCallback: !!config.cancelRegistration,\n user: iif(!!config.user, config.user!),\n registrationStarted: config.user ? true : undefined\n })))\n ).subscribe();\n\n this.initSkipConfirmationListeners();\n }\n\n cancelRegistration(): void {\n const {\n globalConfig: { snapshot: { cancelRegistration: cancelRegistrationCallback } },\n snapshot: { useCancelRegistrationCallback, skipConfirmation }\n } = this;\n\n if (useCancelRegistrationCallback) {\n // eslint-disable-next-line no-alert\n if (skipConfirmation || confirm('Changes you made may not be saved.')) {\n cancelRegistrationCallback?.();\n }\n }\n }\n\n @DataAction()\n setUseCancelRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useCancelRegistrationCallback: use });\n }\n\n /**\n * Sets the name of the active user.\n *\n * @param name The first and last name\n */\n @DataAction()\n setUserName(name: Pick): void {\n this.ctx.setState(patch({\n user: patch(name)\n }));\n }\n\n /**\n * Sets registrationStarted to true (when initial registration modal is closed)\n */\n @DataAction()\n registrationStarted(): void {\n this.ctx.setState(patch({\n registrationStarted: true\n }));\n }\n\n @DataAction()\n setHasChanges(): void {\n const { snapshot: { registrationStarted, hasChanges } } = this;\n if (registrationStarted && !hasChanges) {\n this.ctx.patchState({\n hasChanges: true\n });\n }\n }\n\n @DataAction()\n clearHasChanges(): void {\n this.ctx.patchState({\n hasChanges: false\n });\n }\n\n private initSkipConfirmationListeners(): void {\n const updateSkipConfirmation = (skipConfirmation: boolean) => this.patchState({ skipConfirmation });\n\n this.globalSkipConfirmation$\n .pipe(filter(s => s))\n .subscribe(updateSkipConfirmation);\n\n this.hasChanges$.pipe(\n withLatestFrom(this.globalSkipConfirmation$),\n map(([hasChanges, skipConfirmation]) => skipConfirmation || !hasChanges),\n distinctUntilChanged()\n ).subscribe(updateSkipConfirmation);\n\n const beforeUnloadListener = (event: BeforeUnloadEvent) => {\n event.preventDefault();\n event.returnValue = 'Changes you made may not be saved.';\n return event.returnValue;\n };\n\n this.skipConfirmation$.subscribe(skipConfirmation => {\n if (skipConfirmation) {\n removeEventListener('beforeunload', beforeUnloadListener);\n } else {\n addEventListener('beforeunload', beforeUnloadListener);\n }\n });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Person.html":{"url":"interfaces/Person.html","title":"interface - Person","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Person\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n\n\n \n Description\n \n \n A record with information about a single person\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { iif, patch } from '@ngxs/store/operators';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { pluckUnique } from 'ccf-shared/rxjs-ext/operators';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, map, pluck, take, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A record with information about a single person */\nexport interface Person {\n firstName: string;\n lastName: string;\n}\n\n/** Page state model */\nexport interface PageStateModel {\n /** Active user */\n user: Person;\n /** Whether or not the initial registration modal has been closed */\n registrationStarted: boolean;\n useCancelRegistrationCallback: boolean;\n registrationCallbackSet: boolean;\n skipConfirmation: boolean;\n hasChanges: boolean;\n}\n\n\n/**\n * General page global state\n */\n@StateRepository()\n@State({\n name: 'page',\n defaults: {\n user: {\n firstName: '',\n lastName: ''\n },\n registrationStarted: false,\n useCancelRegistrationCallback: false,\n registrationCallbackSet: false,\n skipConfirmation: true,\n hasChanges: false\n }\n})\n@Injectable()\nexport class PageState extends NgxsImmutableDataRepository {\n /** Active user observable */\n readonly user$ = this.state$.pipe(pluck('user'));\n /** RegistrationStated observable */\n readonly registrationStarted$ = this.state$.pipe(pluckUnique('registrationStarted'));\n readonly useCancelRegistrationCallback$ = this.state$.pipe(pluck('useCancelRegistrationCallback'));\n readonly registrationCallbackSet$ = this.state$.pipe(pluck('registrationCallbackSet'));\n\n @Computed()\n get skipConfirmation$(): Observable {\n return this.state$.pipe(pluckUnique('skipConfirmation'));\n }\n\n @Computed()\n get globalSkipConfirmation$(): Observable {\n return this.globalConfig.getOption('skipUnsavedChangesConfirmation').pipe(\n map(value => value ?? environment.skipUnsavedChangesConfirmation),\n distinctUntilChanged()\n );\n }\n\n @Computed()\n get hasChanges$(): Observable {\n return this.state$.pipe(pluckUnique('hasChanges'));\n }\n\n /**\n * Creates an instance of page state.\n *\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(config => this.setState(patch({\n registrationCallbackSet: !!config.register,\n useCancelRegistrationCallback: !!config.cancelRegistration,\n user: iif(!!config.user, config.user!),\n registrationStarted: config.user ? true : undefined\n })))\n ).subscribe();\n\n this.initSkipConfirmationListeners();\n }\n\n cancelRegistration(): void {\n const {\n globalConfig: { snapshot: { cancelRegistration: cancelRegistrationCallback } },\n snapshot: { useCancelRegistrationCallback, skipConfirmation }\n } = this;\n\n if (useCancelRegistrationCallback) {\n // eslint-disable-next-line no-alert\n if (skipConfirmation || confirm('Changes you made may not be saved.')) {\n cancelRegistrationCallback?.();\n }\n }\n }\n\n @DataAction()\n setUseCancelRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useCancelRegistrationCallback: use });\n }\n\n /**\n * Sets the name of the active user.\n *\n * @param name The first and last name\n */\n @DataAction()\n setUserName(name: Pick): void {\n this.ctx.setState(patch({\n user: patch(name)\n }));\n }\n\n /**\n * Sets registrationStarted to true (when initial registration modal is closed)\n */\n @DataAction()\n registrationStarted(): void {\n this.ctx.setState(patch({\n registrationStarted: true\n }));\n }\n\n @DataAction()\n setHasChanges(): void {\n const { snapshot: { registrationStarted, hasChanges } } = this;\n if (registrationStarted && !hasChanges) {\n this.ctx.patchState({\n hasChanges: true\n });\n }\n }\n\n @DataAction()\n clearHasChanges(): void {\n this.ctx.patchState({\n hasChanges: false\n });\n }\n\n private initSkipConfirmationListeners(): void {\n const updateSkipConfirmation = (skipConfirmation: boolean) => this.patchState({ skipConfirmation });\n\n this.globalSkipConfirmation$\n .pipe(filter(s => s))\n .subscribe(updateSkipConfirmation);\n\n this.hasChanges$.pipe(\n withLatestFrom(this.globalSkipConfirmation$),\n map(([hasChanges, skipConfirmation]) => skipConfirmation || !hasChanges),\n distinctUntilChanged()\n ).subscribe(updateSkipConfirmation);\n\n const beforeUnloadListener = (event: BeforeUnloadEvent) => {\n event.preventDefault();\n event.returnValue = 'Changes you made may not be saved.';\n return event.returnValue;\n };\n\n this.skipConfirmation$.subscribe(skipConfirmation => {\n if (skipConfirmation) {\n removeEventListener('beforeunload', beforeUnloadListener);\n } else {\n addEventListener('beforeunload', beforeUnloadListener);\n }\n });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ReferenceDataState.html":{"url":"injectables/ReferenceDataState.html","title":"injectable - ReferenceDataState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ReferenceDataState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n\n\n \n Description\n \n \n Data for the main 3d model display\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getOrganData\n \n \n getReferenceOrganIri\n \n \n Private\n getSourceDB\n \n \n ngxsOnInit\n \n \n normalizePlacement\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(globals: GlobalsService, globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:75\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n globals\n \n \n GlobalsService\n \n \n \n No\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getOrganData\n \n \n \n \n \n \ngetOrganData(iri: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:155\n \n \n\n\n \n \n Looks up organ information from an IRI\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n iri\n \n string\n \n\n \n No\n \n\n\n \n The IRI\n\n \n \n \n \n \n \n \n \n Returns : OrganData | undefined\n\n \n \n A populated organ data if the IRI is valid, otherwise undefined\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganIri\n \n \n \n \n \n \ngetReferenceOrganIri(organ: string, sex?: \"Male\" | \"Female\" | string, side?: \"Left\" | \"Right\" | string, organInfo?: OrganInfo)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:135\n \n \n\n\n \n \n Looks up an IRI for a potential reference organ.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n organ\n \n string\n \n\n \n No\n \n\n\n \n the organ\n\n \n \n \n sex\n \n \"Male\" | \"Female\" | string\n \n\n \n Yes\n \n\n\n \n the sex: male, female, or undefined\n\n \n \n \n side\n \n \"Left\" | \"Right\" | string\n \n\n \n Yes\n \n\n\n \n the side: left, right, or undefined\n\n \n \n \n organInfo\n \n OrganInfo\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n Returns : string | undefined\n\n \n \n An IRI if there is a reference organ for this state, otherwise undefined\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getSourceDB\n \n \n \n \n \n \n \n getSourceDB()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:100\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:87\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n normalizePlacement\n \n \n \n \n \n \nnormalizePlacement(place: SpatialPlacementJsonLd)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts:110\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n place\n \n SpatialPlacementJsonLd\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialPlacementJsonLd\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { SpatialPlacementJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { ExtractionSet, SpatialEntity } from 'ccf-database';\nimport { ALL_ORGANS, GlobalConfigState, GlobalsService, OrganInfo } from 'ccf-shared';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\nimport { XYZTriplet } from '../model/model.state';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\nexport function applySpatialPlacement(tx: Matrix4, placement: Immutable): Matrix4 {\n const p = placement;\n let factor: number;\n switch (p.translation_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const T = [p.x_translation, p.y_translation, p.z_translation].map(t => t * factor);\n const R = [p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number];\n const S = [p.x_scaling, p.y_scaling, p.z_scaling];\n\n return tx.translate(T).rotateXYZ(R).scale(S);\n}\n\nexport interface ReferenceDataStateModel {\n organIRILookup: { [lookup: string]: string };\n organSpatialEntities: { [iri: string]: SpatialEntity };\n anatomicalStructures: { [iri: string]: SpatialEntity[] };\n extractionSets: { [iri: string]: ExtractionSet[] };\n sceneNodeLookup: { [iri: string]: SpatialSceneNode };\n simpleSceneNodeLookup: { [iri: string]: SpatialSceneNode };\n placementPatches: { [iri: string]: SpatialPlacementJsonLd };\n}\n\nexport interface OrganData {\n organ: OrganInfo;\n sex?: 'male' | 'female';\n side?: 'left' | 'right';\n}\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'reference',\n defaults: {\n organIRILookup: {},\n organSpatialEntities: {},\n anatomicalStructures: {},\n extractionSets: {},\n sceneNodeLookup: {},\n simpleSceneNodeLookup: {},\n placementPatches: {}\n }\n})\n@Injectable()\nexport class ReferenceDataState extends NgxsImmutableDataRepository {\n\n constructor(\n private readonly globals: GlobalsService,\n private globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.getSourceDB().subscribe(db => {\n this.setState(db);\n\n // In development, make the db globally accessible\n if (!environment.production) {\n this.globals.set('db', db);\n }\n });\n }\n\n private getSourceDB(): Observable {\n return this.globalConfig.getOption('baseHref').pipe(\n map(baseHref => (baseHref ?? '') + 'assets/reference-organ-data.json'),\n switchMap(url => from(fetch(url)).pipe(\n switchMap(data => data.json()),\n catchError(() => EMPTY)\n ))\n );\n }\n\n normalizePlacement(place: SpatialPlacementJsonLd): SpatialPlacementJsonLd {\n const db = this.snapshot;\n const patchPlacement = db.placementPatches[place?.target];\n if (patchPlacement) {\n const matrix = applySpatialPlacement(new Matrix4(Matrix4.IDENTITY), patchPlacement);\n const position: XYZTriplet = { x: place.x_translation, y: place.y_translation, z: place.z_translation };\n const [x, y, z] = matrix.transformAsPoint([ position.x, position.y, position.z ], []);\n const newPlacement = { ...place, target: patchPlacement.target };\n newPlacement.x_translation = x;\n newPlacement.y_translation = y;\n newPlacement.z_translation = z;\n return newPlacement;\n } else {\n return place;\n }\n }\n\n /**\n * Looks up an IRI for a potential reference organ.\n *\n * @param organ the organ\n * @param sex the sex: male, female, or undefined\n * @param side the side: left, right, or undefined\n * @returns An IRI if there is a reference organ for this state, otherwise undefined\n */\n getReferenceOrganIri(organ: string, sex?: 'Male' | 'Female' | string, side?: 'Left' | 'Right' | string, organInfo?: OrganInfo): string | undefined {\n const db = this.snapshot;\n if (organ.toUpperCase() !== 'KIDNEY') {\n side = '';\n }\n if (organInfo?.sex) {\n sex = organInfo.sex;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const lookup = [organ, sex, side || organInfo?.side].join('|').toUpperCase();\n const key = Object.keys(db.organIRILookup).find((code) => code.toUpperCase().endsWith(lookup));\n return key ? db.organIRILookup[key] : undefined;\n }\n\n /**\n * Looks up organ information from an IRI\n *\n * @param iri The IRI\n * @returns A populated organ data if the IRI is valid, otherwise undefined\n */\n getOrganData(iri: string): OrganData | undefined {\n const state = this.snapshot;\n const entity = state.organSpatialEntities[iri];\n if (!entity) {\n return undefined;\n }\n\n const name = entity.label ?? '';\n const organ = ALL_ORGANS.find(info => name.endsWith(info.organ) && (!entity.side || entity.side.toLowerCase() === info.side));\n if (!organ) {\n return undefined;\n }\n\n return {\n organ,\n sex: entity.sex?.toLowerCase() as 'male' | 'female',\n side: entity.side?.toLowerCase() as 'left' | 'right'\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ReferenceDataStateModel.html":{"url":"interfaces/ReferenceDataStateModel.html","title":"interface - ReferenceDataStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ReferenceDataStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n anatomicalStructures\n \n \n \n \n extractionSets\n \n \n \n \n organIRILookup\n \n \n \n \n organSpatialEntities\n \n \n \n \n placementPatches\n \n \n \n \n sceneNodeLookup\n \n \n \n \n simpleSceneNodeLookup\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n anatomicalStructures\n \n \n \n \n \n \n \n \n anatomicalStructures: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n extractionSets\n \n \n \n \n \n \n \n \n extractionSets: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n organIRILookup\n \n \n \n \n \n \n \n \n organIRILookup: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n organSpatialEntities\n \n \n \n \n \n \n \n \n organSpatialEntities: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n placementPatches\n \n \n \n \n \n \n \n \n placementPatches: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sceneNodeLookup\n \n \n \n \n \n \n \n \n sceneNodeLookup: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n simpleSceneNodeLookup\n \n \n \n \n \n \n \n \n simpleSceneNodeLookup: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { SpatialPlacementJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { ExtractionSet, SpatialEntity } from 'ccf-database';\nimport { ALL_ORGANS, GlobalConfigState, GlobalsService, OrganInfo } from 'ccf-shared';\nimport { EMPTY, from, Observable } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { GlobalConfig } from '../../services/config/config';\nimport { XYZTriplet } from '../model/model.state';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\nexport function applySpatialPlacement(tx: Matrix4, placement: Immutable): Matrix4 {\n const p = placement;\n let factor: number;\n switch (p.translation_units) {\n case 'centimeter':\n factor = 1 / 100;\n break;\n case 'millimeter':\n factor = 1 / 1000;\n break;\n case 'meter':\n default:\n factor = 1;\n break;\n }\n const T = [p.x_translation, p.y_translation, p.z_translation].map(t => t * factor);\n const R = [p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number];\n const S = [p.x_scaling, p.y_scaling, p.z_scaling];\n\n return tx.translate(T).rotateXYZ(R).scale(S);\n}\n\nexport interface ReferenceDataStateModel {\n organIRILookup: { [lookup: string]: string };\n organSpatialEntities: { [iri: string]: SpatialEntity };\n anatomicalStructures: { [iri: string]: SpatialEntity[] };\n extractionSets: { [iri: string]: ExtractionSet[] };\n sceneNodeLookup: { [iri: string]: SpatialSceneNode };\n simpleSceneNodeLookup: { [iri: string]: SpatialSceneNode };\n placementPatches: { [iri: string]: SpatialPlacementJsonLd };\n}\n\nexport interface OrganData {\n organ: OrganInfo;\n sex?: 'male' | 'female';\n side?: 'left' | 'right';\n}\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'reference',\n defaults: {\n organIRILookup: {},\n organSpatialEntities: {},\n anatomicalStructures: {},\n extractionSets: {},\n sceneNodeLookup: {},\n simpleSceneNodeLookup: {},\n placementPatches: {}\n }\n})\n@Injectable()\nexport class ReferenceDataState extends NgxsImmutableDataRepository {\n\n constructor(\n private readonly globals: GlobalsService,\n private globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.getSourceDB().subscribe(db => {\n this.setState(db);\n\n // In development, make the db globally accessible\n if (!environment.production) {\n this.globals.set('db', db);\n }\n });\n }\n\n private getSourceDB(): Observable {\n return this.globalConfig.getOption('baseHref').pipe(\n map(baseHref => (baseHref ?? '') + 'assets/reference-organ-data.json'),\n switchMap(url => from(fetch(url)).pipe(\n switchMap(data => data.json()),\n catchError(() => EMPTY)\n ))\n );\n }\n\n normalizePlacement(place: SpatialPlacementJsonLd): SpatialPlacementJsonLd {\n const db = this.snapshot;\n const patchPlacement = db.placementPatches[place?.target];\n if (patchPlacement) {\n const matrix = applySpatialPlacement(new Matrix4(Matrix4.IDENTITY), patchPlacement);\n const position: XYZTriplet = { x: place.x_translation, y: place.y_translation, z: place.z_translation };\n const [x, y, z] = matrix.transformAsPoint([ position.x, position.y, position.z ], []);\n const newPlacement = { ...place, target: patchPlacement.target };\n newPlacement.x_translation = x;\n newPlacement.y_translation = y;\n newPlacement.z_translation = z;\n return newPlacement;\n } else {\n return place;\n }\n }\n\n /**\n * Looks up an IRI for a potential reference organ.\n *\n * @param organ the organ\n * @param sex the sex: male, female, or undefined\n * @param side the side: left, right, or undefined\n * @returns An IRI if there is a reference organ for this state, otherwise undefined\n */\n getReferenceOrganIri(organ: string, sex?: 'Male' | 'Female' | string, side?: 'Left' | 'Right' | string, organInfo?: OrganInfo): string | undefined {\n const db = this.snapshot;\n if (organ.toUpperCase() !== 'KIDNEY') {\n side = '';\n }\n if (organInfo?.sex) {\n sex = organInfo.sex;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const lookup = [organ, sex, side || organInfo?.side].join('|').toUpperCase();\n const key = Object.keys(db.organIRILookup).find((code) => code.toUpperCase().endsWith(lookup));\n return key ? db.organIRILookup[key] : undefined;\n }\n\n /**\n * Looks up organ information from an IRI\n *\n * @param iri The IRI\n * @returns A populated organ data if the IRI is valid, otherwise undefined\n */\n getOrganData(iri: string): OrganData | undefined {\n const state = this.snapshot;\n const entity = state.organSpatialEntities[iri];\n if (!entity) {\n return undefined;\n }\n\n const name = entity.label ?? '';\n const organ = ALL_ORGANS.find(info => name.endsWith(info.organ) && (!entity.side || entity.side.toLowerCase() === info.side));\n if (!organ) {\n return undefined;\n }\n\n return {\n organ,\n sex: entity.sex?.toLowerCase() as 'male' | 'female',\n side: entity.side?.toLowerCase() as 'left' | 'right'\n };\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RegistrationContentComponent.html":{"url":"components/RegistrationContentComponent.html","title":"component - RegistrationContentComponent","body":"\n \n\n\n\n\n\n Components\n \n RegistrationContentComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts\n\n\n\n \n Description\n \n \n Component containing content of the initial registration modal\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-registration-content\n \n\n \n styleUrls\n ./registration-content.component.scss\n \n\n\n\n \n templateUrl\n ./registration-content.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n currentOrgan\n \n \n currentSex\n \n \n Public\n dialogRef\n \n \n nameValid\n \n \n organList\n \n \n organSelected\n \n \n Readonly\n sexByLabel$\n \n \n sexSelected\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n checkNameValid\n \n \n closeDialog\n \n \n organSelect\n \n \n registerButtonClick\n \n \n setSexFromLabel\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(page: PageState, model: ModelState, dialogRef: MatDialogRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:42\n \n \n\n \n \n Creates an instance of the registration dialog\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n Page state\n\n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n Model state\n\n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n Registration dialog\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-registration-content\"\n\n \n \n \n \n Default value : 'ccf-registration-content'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:20\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n checkNameValid\n \n \n \n \n \n \ncheckNameValid(event: Pick)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:75\n \n \n\n\n \n \n Checks to see if a first and last name has been entered\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n Pick\n \n\n \n No\n \n\n\n \n Name input event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n closeDialog\n \n \n \n \n \n \ncloseDialog()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:109\n \n \n\n\n \n \n Closes the dialog and sets the correct sex and organ in the model state\nUpdates page state to signal registration has started\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n organSelect\n \n \n \n \n \n \norganSelect(organ: OrganInfo)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:84\n \n \n\n\n \n \n Updates current organ selected\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n organ\n \n OrganInfo\n \n\n \n No\n \n\n\n \n Organ selected\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n registerButtonClick\n \n \n \n \n \n \nregisterButtonClick(event?: MouseEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:95\n \n \n\n\n \n \n Handles button click\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n MouseEvent\n \n\n \n Yes\n \n\n\n \n The click event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n Returns nothing is no organ is selected\n\n \n \n \n \n \n \n \n \n \n \n \n setSexFromLabel\n \n \n \n \n \n \nsetSexFromLabel(label: \"Female\" | \"Male\")\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:65\n \n \n\n\n \n \n Updates current sex selected\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n label\n \n \"Female\" | \"Male\"\n \n\n \n No\n \n\n\n \n Sex selected\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-registration-content'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:20\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n currentOrgan\n \n \n \n \n \n \n Type : OrganInfo\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:40\n \n \n\n \n \n Current organ selected\n\n \n \n\n \n \n \n \n \n \n \n \n currentSex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:37\n \n \n\n \n \n Current sex selected\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n dialogRef\n \n \n \n \n \n \n Type : MatDialogRef\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:55\n \n \n\n \n \n Registration dialog\n \n \n\n \n \n \n \n \n \n \n \n nameValid\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n organList\n \n \n \n \n \n \n Default value : RUI_ORGANS\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:28\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n organSelected\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:34\n \n \n\n \n \n Whether an organ has been selected\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n sexByLabel$\n \n \n \n \n \n \n Default value : this.model.sex$.pipe(\n map(sex => sex === 'female' ? 'Female' : 'Male')\n )\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:23\n \n \n\n \n \n Current sex in the model state\n\n \n \n\n \n \n \n \n \n \n \n \n sexSelected\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts:31\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PageState, Person } from '../../../core/store/page/page.state';\nimport { ModelState, RUI_ORGANS } from '../../../core/store/model/model.state';\nimport { map } from 'rxjs/operators';\nimport { OrganInfo } from 'ccf-shared';\n\n\n/**\n * Component containing content of the initial registration modal\n */\n@Component({\n selector: 'ccf-registration-content',\n templateUrl: './registration-content.component.html',\n styleUrls: ['./registration-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RegistrationContentComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-registration-content';\n\n /** Current sex in the model state */\n readonly sexByLabel$ = this.model.sex$.pipe(\n map(sex => sex === 'female' ? 'Female' : 'Male')\n );\n\n /** HTML class name */\n organList = RUI_ORGANS;\n\n /** HTML class name */\n sexSelected: boolean;\n\n /** Whether an organ has been selected */\n organSelected: boolean;\n\n /** Current sex selected */\n currentSex: string;\n\n /** Current organ selected */\n currentOrgan: OrganInfo;\n\n nameValid: boolean;\n\n /**\n * Creates an instance of the registration dialog\n *\n * @param page Page state\n * @param model Model state\n * @param registration Registration state\n * @param dialogRef Registration dialog\n */\n constructor(\n readonly page: PageState,\n readonly model: ModelState,\n public dialogRef: MatDialogRef\n ) {\n dialogRef.disableClose = true;\n }\n\n /**\n * Updates current sex selected\n *\n * @param label Sex selected\n */\n setSexFromLabel(label: 'Female' | 'Male'): void {\n this.currentSex = label;\n this.sexSelected = true;\n }\n\n /**\n * Checks to see if a first and last name has been entered\n *\n * @param event Name input event\n */\n checkNameValid(event: Pick): void {\n this.nameValid = event.firstName.length > 0 && event.lastName.length > 0;\n }\n\n /**\n * Updates current organ selected\n *\n * @param organ Organ selected\n */\n organSelect(organ: OrganInfo): void {\n this.currentOrgan = organ;\n this.organSelected = true;\n }\n\n /**\n * Handles button click\n *\n * @param [event] The click event\n * @returns Returns nothing is no organ is selected\n */\n registerButtonClick(event?: MouseEvent): void {\n if (event) {\n event.preventDefault();\n }\n if (!this.organSelected || !this.nameValid) {\n return;\n }\n this.closeDialog();\n }\n\n /**\n * Closes the dialog and sets the correct sex and organ in the model state\n * Updates page state to signal registration has started\n */\n closeDialog(): void {\n this.model.setSex(this.currentSex === 'Female' ? 'female' : 'male');\n this.model.setOrgan(this.currentOrgan);\n this.dialogRef.close(true);\n this.page.registrationStarted();\n }\n}\n\n \n\n \n \n \n \n \n\n \n Donor Sex:\n \n \n \n\n Select an organ\n\n \n \n \n \n START REGISTRATION\n\n \n\n \n \n ./registration-content.component.scss\n \n .modal {\n padding: 1rem;\n border-radius: 4px;\n max-width: 47rem;\n\n .organ-sliders {\n .slider-label {\n font-weight: 600;\n }\n\n display: flex;\n height: 3rem;\n align-items: center;\n }\n\n .selector-label {\n font-weight: 600;\n height: 3rem;\n line-height: 3rem;\n }\n\n .selector-container {\n margin: 0 auto;\n }\n\n .registration-button {\n display: block;\n margin: 0 auto;\n margin-top: 2rem;\n transition: 0.6s;\n\n &.disabled {\n pointer-events: none;\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Donor Sex: Select an organ START REGISTRATION'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RegistrationContentComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RegistrationContentModule.html":{"url":"modules/RegistrationContentModule.html","title":"module - RegistrationContentModule","body":"\n \n\n\n\n\n Modules\n RegistrationContentModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RegistrationContentModule\n\n\n\ncluster_RegistrationContentModule_declarations\n\n\n\ncluster_RegistrationContentModule_exports\n\n\n\ncluster_RegistrationContentModule_imports\n\n\n\n\nRegistrationContentComponent\n\nRegistrationContentComponent\n\n\n\nRegistrationContentModule\n\nRegistrationContentModule\n\nRegistrationContentModule -->\n\nRegistrationContentComponent->RegistrationContentModule\n\n\n\n\n\nRegistrationContentComponent \n\nRegistrationContentComponent \n\nRegistrationContentComponent -->\n\nRegistrationContentModule->RegistrationContentComponent \n\n\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nRegistrationContentModule -->\n\nLabeledSlideToggleModule->RegistrationContentModule\n\n\n\n\n\nNameInputModule\n\nNameInputModule\n\nRegistrationContentModule -->\n\nNameInputModule->RegistrationContentModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RegistrationContentComponent\n \n \n \n \n Imports\n \n \n LabeledSlideToggleModule\n \n \n NameInputModule\n \n \n \n \n Exports\n \n \n RegistrationContentComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RegistrationContentComponent } from './registration-content.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { NameInputModule } from '../../../shared/components/name-input/name-input.module';\nimport { LabeledSlideToggleModule } from '../../../shared/components/labeled-slide-toggle/labeled-slide-toggle.module';\nimport { OrganSelectorModule } from 'ccf-shared';\n\n\n@NgModule({\n declarations: [RegistrationContentComponent],\n imports: [CommonModule, MatButtonModule, MatTooltipModule, NameInputModule, LabeledSlideToggleModule, OrganSelectorModule],\n exports: [RegistrationContentComponent]\n})\nexport class RegistrationContentModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RegistrationModalComponent.html":{"url":"components/RegistrationModalComponent.html","title":"component - RegistrationModalComponent","body":"\n \n\n\n\n\n\n Components\n \n RegistrationModalComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts\n\n\n\n \n Description\n \n \n Registration modal that appears on startup\n\n \n\n\n \n Implements\n \n \n OnInit\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-registration-modal\n \n\n\n\n\n \n templateUrl\n ./registration-modal.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Public\n dialog\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngOnInit\n \n \n openDialog\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog, page: PageState, model: ModelState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:21\n \n \n\n \n \n Creates an instance of registration modal component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n Dialog for the modal\n\n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-registration-modal\"\n\n \n \n \n \n Default value : 'ccf-registration-modal'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:37\n \n \n\n\n \n \n Opens the dialog on startup (but not if cancel registration callback is set)\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n openDialog\n \n \n \n \n \n \nopenDialog()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:54\n \n \n\n\n \n \n Opens dialog\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-registration-modal'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n dialog\n \n \n \n \n \n \n Type : MatDialog\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts:29\n \n \n\n \n \n Dialog for the modal\n \n \n\n \n \n\n\n\n\n\n \n import { Component, HostBinding, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { combineLatest } from 'rxjs';\nimport { debounceTime, take, tap } from 'rxjs/operators';\n\nimport { ModelState } from '../../../core/store/model/model.state';\nimport { PageState } from '../../../core/store/page/page.state';\nimport { RegistrationContentComponent } from '../registration-content/registration-content.component';\n\n\n/**\n * Registration modal that appears on startup\n */\n// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n@Component({\n selector: 'ccf-registration-modal',\n templateUrl: './registration-modal.component.html'\n})\nexport class RegistrationModalComponent implements OnInit {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-registration-modal';\n\n /**\n * Creates an instance of registration modal component.\n *\n * @param dialog Dialog for the modal\n */\n constructor(\n public dialog: MatDialog,\n private readonly page: PageState,\n private readonly model: ModelState\n ) {}\n\n /**\n * Opens the dialog on startup (but not if cancel registration callback is set)\n */\n ngOnInit(): void {\n combineLatest([this.page.user$, this.model.organ$]).pipe(\n debounceTime(500),\n take(1),\n tap(([user, organ]) => {\n if (user.firstName !== '' && user.lastName !== '' && organ.src !== '') {\n return;\n }\n\n this.openDialog();\n })\n ).subscribe();\n }\n\n /**\n * Opens dialog\n */\n openDialog(): void {\n this.dialog.open(RegistrationContentComponent, {\n autoFocus: false\n });\n }\n}\n\n \n\n \n \n \n\n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RegistrationModalComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RegistrationModalModule.html":{"url":"modules/RegistrationModalModule.html","title":"module - RegistrationModalModule","body":"\n \n\n\n\n\n Modules\n RegistrationModalModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RegistrationModalModule\n\n\n\ncluster_RegistrationModalModule_declarations\n\n\n\ncluster_RegistrationModalModule_exports\n\n\n\ncluster_RegistrationModalModule_imports\n\n\n\n\nRegistrationModalComponent\n\nRegistrationModalComponent\n\n\n\nRegistrationModalModule\n\nRegistrationModalModule\n\nRegistrationModalModule -->\n\nRegistrationModalComponent->RegistrationModalModule\n\n\n\n\n\nRegistrationModalComponent \n\nRegistrationModalComponent \n\nRegistrationModalComponent -->\n\nRegistrationModalModule->RegistrationModalComponent \n\n\n\n\n\nRegistrationContentModule\n\nRegistrationContentModule\n\nRegistrationModalModule -->\n\nRegistrationContentModule->RegistrationModalModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RegistrationModalComponent\n \n \n \n \n Imports\n \n \n RegistrationContentModule\n \n \n \n \n Exports\n \n \n RegistrationModalComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RegistrationModalComponent } from './registration-modal.component';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RegistrationContentModule } from '../registration-content/registration-content.module';\n\n@NgModule({\n declarations: [RegistrationModalComponent],\n imports: [CommonModule, MatDialogModule, MatIconModule, RegistrationContentModule],\n exports: [RegistrationModalComponent]\n})\nexport class RegistrationModalModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RegistrationState.html":{"url":"injectables/RegistrationState.html","title":"injectable - RegistrationState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n RegistrationState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/registration/registration.state.ts\n \n\n\n \n Description\n \n \n Data for model registrations\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n displayErrors$\n \n \n Private\n model\n \n \n Private\n page\n \n \n Private\n refData\n \n \n Private\n tags\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addRegistration\n \n \n Private\n buildJsonLd\n \n \n Private\n buildMetadata\n \n \n Async\n editRegistration\n \n \n isDataValid\n \n \n ngxsOnInit\n \n \n register\n \n \n setDisplayErrors\n \n \n setUseRegistrationCallback\n \n \n Private\n xyzTripletToString\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n metadata$\n \n \n jsonld$\n \n \n valid$\n \n \n previousRegistrations$\n \n \n currentIdentifier\n \n \n currentDate\n \n \n isValid\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(injector: Injector, globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:116\n \n \n\n \n \n Creates an instance of registration state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n Injector service used to lazy load page and model state\n\n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n The global configuration\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addRegistration\n \n \n \n \n \n \naddRegistration(registration: Record)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:220\n \n \n\n\n \n \n Adds an entry to the previous registrations\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n registration\n \n Record\n \n\n \n No\n \n\n\n \n The new entry\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildJsonLd\n \n \n \n \n \n \n \n buildJsonLd(page: Immutable, model: Immutable, tags: Tag[])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:317\n \n \n\n\n \n \n Converts the registration data into jsonld format.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n page\n \n Immutable\n \n\n \n No\n \n\n\n \n The current page state data\n\n \n \n \n model\n \n Immutable\n \n\n \n No\n \n\n\n \n The current model state data\n\n \n \n \n tags\n \n Tag[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n Returns : Record\n\n \n \n A jsonld object\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildMetadata\n \n \n \n \n \n \n \n buildMetadata(page: Immutable, model: Immutable, tags: Tag[])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:283\n \n \n\n\n \n \n Builds a metadata array from the specified data.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n page\n \n Immutable\n \n\n \n No\n \n\n\n \n The current page state data\n\n \n \n \n model\n \n Immutable\n \n\n \n No\n \n\n\n \n The current model state data\n\n \n \n \n tags\n \n Tag[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n Returns : MetaData\n\n \n \n metadata An array of label-value objects\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n editRegistration\n \n \n \n \n \n \n \n editRegistration(reg: SpatialEntityJsonLd)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:157\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n reg\n \n SpatialEntityJsonLd\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isDataValid\n \n \n \n \n \n \nisDataValid(page: Immutable, model: Immutable)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:226\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n page\n \n Immutable\n \n\n \n No\n \n\n\n \n \n model\n \n Immutable\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:134\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n register\n \n \n \n \n \n \nregister(useCallback?: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:248\n \n \n\n\n \n \n Registers or downloads json data.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n useCallback\n \n boolean\n \n\n \n Yes\n \n\n\n \n Explicit override selecting the register/download action\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setDisplayErrors\n \n \n \n \n \n \nsetDisplayErrors(displayErrors: boolean)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:210\n \n \n\n\n \n \n Set's whether or not we should display the user's registration errors\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n displayErrors\n \n boolean\n \n\n \n No\n \n\n\n \n the value to set it to\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setUseRegistrationCallback\n \n \n \n \n \n \nsetUseRegistrationCallback(use: boolean)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:200\n \n \n\n\n \n \n Sets whether to use the registration callback function or download.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n use\n \n boolean\n \n\n \n No\n \n\n\n \n True to use the callback, false to download\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n xyzTripletToString\n \n \n \n \n \n \n \n xyzTripletToString(xyz: XYZTriplet)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:370\n \n \n\n\n \n \n Format a XYZTriplet as a string.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n xyz\n \n XYZTriplet\n \n\n \n No\n \n\n\n \n The triplet values\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n The string representation\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n displayErrors$\n \n \n \n \n \n \n Default value : this.state$.pipe(pluck('displayErrors'))\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n model\n \n \n \n \n \n \n Type : ModelState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:110\n \n \n\n \n \n Reference to the model state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n page\n \n \n \n \n \n \n Type : PageState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:107\n \n \n\n \n \n Reference to the page state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n refData\n \n \n \n \n \n \n Type : ReferenceDataState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:116\n \n \n\n \n \n Reference to the reference data state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n tags\n \n \n \n \n \n \n Type : AnatomicalStructureTagState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:113\n \n \n\n \n \n Reference to the AS Tag state\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n metadata$\n \n \n\n \n \n getmetadata$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:56\n \n \n \n \n Observable of registration metadata\n\n\n \n Returns : Observable\n\n \n \n \n\n \n \n \n \n \n \n \n jsonld$\n \n \n\n \n \n getjsonld$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:64\n \n \n \n \n Observable of registration data in jsonld format\n\n\n \n Returns : Observable>\n\n \n \n \n\n \n \n \n \n \n \n \n valid$\n \n \n\n \n \n getvalid$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:71\n \n \n\n \n \n \n \n \n \n \n previousRegistrations$\n \n \n\n \n \n getpreviousRegistrations$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:81\n \n \n \n \n Observable of previous registrations\n\n\n \n Returns : Observable\n\n \n \n \n\n \n \n \n \n \n \n \n currentIdentifier\n \n \n\n \n \n getcurrentIdentifier()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:96\n \n \n \n \n Current uuid identifier used when registering\n\n\n \n Returns : string\n\n \n \n \n\n \n \n \n \n \n \n \n currentDate\n \n \n\n \n \n getcurrentDate()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:102\n \n \n \n \n Time of last modification to registration data\n\n\n \n Returns : string\n\n \n \n \n\n \n \n \n \n \n \n \n isValid\n \n \n\n \n \n getisValid()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/registration/registration.state.ts:239\n \n \n\n \n \n\n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { insertItem, patch } from '@ngxs/store/operators';\nimport { SpatialEntityJsonLd } from 'ccf-body-ui';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { saveAs } from 'file-saver';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map, pluck, startWith, switchMap, take, tap } from 'rxjs/operators';\nimport { v4 as uuidV4 } from 'uuid';\n\nimport { Tag } from '../../models/anatomical-structure-tag';\nimport { MetaData } from '../../models/meta-data';\nimport { GlobalConfig } from '../../services/config/config';\nimport { AnatomicalStructureTagState } from '../anatomical-structure-tags/anatomical-structure-tags.state';\nimport { ModelState, ModelStateModel, XYZTriplet } from '../model/model.state';\nimport { PageState, PageStateModel } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\n\n\n/**\n * Registration state model\n */\nexport interface RegistrationStateModel {\n /** Whether to use the registration callback function */\n useRegistrationCallback: boolean;\n /** Whether or not to display user registration errors */\n displayErrors: boolean;\n /** Previous registrations */\n registrations: Record[];\n}\n\n\n/**\n * Data for model registrations\n */\n@StateRepository()\n@State({\n name: 'registration',\n defaults: {\n useRegistrationCallback: false,\n displayErrors: false,\n registrations: []\n }\n})\n@Injectable()\nexport class RegistrationState extends NgxsImmutableDataRepository {\n readonly displayErrors$ = this.state$.pipe(pluck('displayErrors'));\n\n /** Observable of registration metadata */\n @Computed()\n get metadata$(): Observable {\n return combineLatest([this.page.state$, this.model.state$, this.tags.tags$]).pipe(\n map(([page, model, tags]) => this.buildMetadata(page, model, tags))\n );\n }\n\n /** Observable of registration data in jsonld format */\n @Computed()\n get jsonld$(): Observable> {\n return combineLatest([this.page.state$, this.model.state$, this.tags.tags$]).pipe(\n map(([page, model, tags]) => this.buildJsonLd(page, model, tags))\n );\n }\n\n @Computed()\n get valid$(): Observable {\n return combineLatest([this.page.state$, this.model.state$]).pipe(\n map(() => this.isValid)\n );\n }\n\n /**\n * Observable of previous registrations\n */\n @Computed()\n get previousRegistrations$(): Observable[]> {\n const { globalConfig, state$ } = this;\n const regs = state$.pipe(pluck('registrations'));\n const fetched = globalConfig.getOption('fetchPreviousRegistrations').pipe(\n switchMap(fetch => fetch?.() ?? [[]]),\n startWith([])\n );\n\n return combineLatest([regs, fetched]).pipe(\n map(([local, external]) => [...local, ...external])\n );\n }\n\n /** Current uuid identifier used when registering */\n @Computed()\n private get currentIdentifier(): string {\n return uuidV4();\n }\n\n /** Time of last modification to registration data */\n @Computed()\n private get currentDate(): string {\n return new Date().toISOString().split('T')[0];\n }\n\n /** Reference to the page state */\n private page: PageState;\n\n /** Reference to the model state */\n private model: ModelState;\n\n /** Reference to the AS Tag state */\n private tags: AnatomicalStructureTagState;\n\n /** Reference to the reference data state */\n private refData: ReferenceDataState;\n\n /**\n * Creates an instance of registration state.\n *\n * @param injector Injector service used to lazy load page and model state\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.page = this.injector.get(PageState);\n this.model = this.injector.get(ModelState);\n this.tags = this.injector.get(AnatomicalStructureTagState);\n this.refData = this.injector.get(ReferenceDataState);\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(({ useDownload, register }) => this.ctx.patchState({\n useRegistrationCallback: !!(!useDownload && register)\n }))\n ).subscribe();\n\n this.globalConfig.getOption('editRegistration').pipe(\n filterNulls(),\n tap(reg => this.editRegistration(reg as SpatialEntityJsonLd))\n ).subscribe();\n }\n\n async editRegistration(reg: SpatialEntityJsonLd): Promise {\n const place = this.refData.normalizePlacement(\n Array.isArray(reg.placement) ? reg.placement[0] : reg.placement\n );\n const data = this.refData.getOrganData(place.target);\n\n this.page.setUserName({ firstName: reg.creator_first_name, lastName: reg.creator_last_name });\n\n if (data) {\n this.model.setOrgan(data.organ);\n if (data.sex) {\n this.model.setSex(data.sex);\n }\n if (data.side) {\n this.model.setSide(data.side);\n }\n }\n\n this.model.setBlockSize({ x: reg.x_dimension, y: reg.y_dimension, z: reg.z_dimension });\n this.model.setRotation({ x: place.x_rotation, y: place.y_rotation, z: place.z_rotation });\n this.model.setSlicesConfig({ thickness: reg.slice_thickness || NaN, numSlices: reg.slice_count || NaN });\n\n await new Promise(r => {\n setTimeout(r, 1000);\n });\n\n this.model.setPosition({ x: place.x_translation, y: place.y_translation, z: place.z_translation });\n const iris = new Set(reg.ccf_annotations);\n this.tags.addTags(\n this.model.snapshot.anatomicalStructures\n .filter(item => iris.has(item.id as string))\n .map((item) => ({ id: item.id, label: item.name, type: 'added' }))\n );\n\n this.page.registrationStarted();\n }\n\n /**\n * Sets whether to use the registration callback function or download.\n *\n * @param use True to use the callback, false to download\n */\n @DataAction()\n setUseRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useRegistrationCallback: use });\n }\n\n /**\n * Set's whether or not we should display the user's registration errors\n *\n * @param displayErrors the value to set it to\n */\n @DataAction()\n setDisplayErrors(displayErrors: boolean): void {\n this.ctx.patchState({ displayErrors });\n }\n\n /**\n * Adds an entry to the previous registrations\n *\n * @param registration The new entry\n */\n @DataAction()\n addRegistration(registration: Record): void {\n this.ctx.setState(patch>({\n registrations: insertItem(registration as Immutable>)\n }));\n }\n\n isDataValid(page: Immutable, model: Immutable): boolean {\n const requiredValues = [\n page.user.firstName,\n page.user.lastName,\n model.organ.src,\n model.organ.name,\n model.organ.organ\n ];\n\n return requiredValues.every(value => !!value);\n }\n\n @Computed()\n get isValid(): boolean {\n return this.isDataValid(this.page.snapshot, this.model.snapshot);\n }\n\n /**\n * Registers or downloads json data.\n *\n * @param [useCallback] Explicit override selecting the register/download action\n */\n register(useCallback?: boolean): void {\n if (!this.isValid) {\n return;\n }\n\n const {\n globalConfig: { snapshot: { register: registrationCallback } },\n page, model, snapshot\n } = this;\n const jsonObj = this.buildJsonLd(page.snapshot, model.snapshot, this.tags.latestTags);\n const json = JSON.stringify(jsonObj, undefined, 2);\n\n if (useCallback || (useCallback === undefined && snapshot.useRegistrationCallback)) {\n registrationCallback?.(json);\n } else {\n const data = new Blob([json], {\n type: 'application/json',\n endings: 'native'\n });\n\n saveAs(data, 'registration-data.json');\n }\n\n this.addRegistration(jsonObj);\n this.setDisplayErrors(false);\n this.page.clearHasChanges();\n }\n\n /**\n * Builds a metadata array from the specified data.\n *\n * @param page The current page state data\n * @param model The current model state data\n * @returns metadata An array of label-value objects\n */\n private buildMetadata(\n page: Immutable,\n model: Immutable,\n tags: Tag[]\n ): MetaData {\n const data: MetaData = [];\n\n if (!page.registrationCallbackSet) {\n data.push(\n { label: 'First Name', value: page.user.firstName },\n { label: 'Last Name', value: page.user.lastName }\n );\n }\n\n data.push(\n { label: 'Reference Organ Name', value: model.organ.name },\n { label: 'Tissue Block Dimensions (mm)', value: this.xyzTripletToString(model.blockSize) },\n { label: 'Tissue Block Position (mm)', value: this.xyzTripletToString(model.position) },\n { label: 'Tissue Block Rotation', value: this.xyzTripletToString(model.rotation) },\n { label: 'Anatomical Structure Tags', value: tags.map(t => t.label).join(', ') },\n { label: 'Time Stamp', value: this.currentDate },\n { label: 'Alignment ID', value: this.currentIdentifier }\n );\n\n return data;\n }\n\n /**\n * Converts the registration data into jsonld format.\n *\n * @param page The current page state data\n * @param model The current model state data\n * @returns A jsonld object\n */\n private buildJsonLd(\n page: Immutable,\n model: Immutable,\n tags: Tag[]\n ): Record {\n return {\n '@context': 'https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${this.currentIdentifier}`,\n '@type': 'SpatialEntity',\n label: model.label || undefined,\n creator: `${page.user.firstName} ${page.user.lastName}`,\n creator_first_name: page.user.firstName,\n creator_last_name: page.user.lastName,\n // creator_orcid: data.alignment_operator_orcid,\n creation_date: this.currentDate,\n ccf_annotations: tags.map(tag => tag.id),\n slice_thickness: model.slicesConfig?.thickness || undefined,\n slice_count: model.slicesConfig?.numSlices || undefined,\n\n x_dimension: +model.blockSize.x.toFixed(3),\n y_dimension: +model.blockSize.y.toFixed(3),\n z_dimension: +model.blockSize.z.toFixed(3),\n dimension_units: 'millimeter',\n\n placement: {\n '@context': 'https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${this.currentIdentifier}_placement`,\n '@type': 'SpatialPlacement',\n target: model.organIri as string,\n placement_date: this.currentDate,\n\n x_scaling: 1, y_scaling: 1, z_scaling: 1, scaling_units: 'ratio',\n\n x_rotation: +model.rotation.x.toFixed(3),\n y_rotation: +model.rotation.y.toFixed(3),\n z_rotation: +model.rotation.z.toFixed(3),\n rotation_order: 'XYZ',\n rotation_units: 'degree',\n\n x_translation: +model.position.x.toFixed(3),\n y_translation: +model.position.y.toFixed(3),\n z_translation: +model.position.z.toFixed(3),\n translation_units: 'millimeter'\n }\n };\n }\n\n /**\n * Format a XYZTriplet as a string.\n *\n * @param xyz The triplet values\n * @returns The string representation\n */\n private xyzTripletToString(xyz: XYZTriplet): string {\n return `${Math.round(xyz.x)}, ${Math.round(xyz.y)}, ${Math.round(xyz.z)}`;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RegistrationStateModel.html":{"url":"interfaces/RegistrationStateModel.html","title":"interface - RegistrationStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RegistrationStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/registration/registration.state.ts\n \n\n\n \n Description\n \n \n Registration state model\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n displayErrors\n \n \n \n \n registrations\n \n \n \n \n useRegistrationCallback\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n displayErrors\n \n \n \n \n \n \n \n \n displayErrors: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether or not to display user registration errors\n\n \n \n \n \n \n \n \n \n \n registrations\n \n \n \n \n \n \n \n \n registrations: Record[]\n\n \n \n\n\n \n \n Type : Record[]\n\n \n \n\n\n\n\n\n \n \n Previous registrations\n\n \n \n \n \n \n \n \n \n \n useRegistrationCallback\n \n \n \n \n \n \n \n \n useRegistrationCallback: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether to use the registration callback function\n\n \n \n \n \n \n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { insertItem, patch } from '@ngxs/store/operators';\nimport { SpatialEntityJsonLd } from 'ccf-body-ui';\nimport { GlobalConfigState } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { saveAs } from 'file-saver';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map, pluck, startWith, switchMap, take, tap } from 'rxjs/operators';\nimport { v4 as uuidV4 } from 'uuid';\n\nimport { Tag } from '../../models/anatomical-structure-tag';\nimport { MetaData } from '../../models/meta-data';\nimport { GlobalConfig } from '../../services/config/config';\nimport { AnatomicalStructureTagState } from '../anatomical-structure-tags/anatomical-structure-tags.state';\nimport { ModelState, ModelStateModel, XYZTriplet } from '../model/model.state';\nimport { PageState, PageStateModel } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\n\n\n/**\n * Registration state model\n */\nexport interface RegistrationStateModel {\n /** Whether to use the registration callback function */\n useRegistrationCallback: boolean;\n /** Whether or not to display user registration errors */\n displayErrors: boolean;\n /** Previous registrations */\n registrations: Record[];\n}\n\n\n/**\n * Data for model registrations\n */\n@StateRepository()\n@State({\n name: 'registration',\n defaults: {\n useRegistrationCallback: false,\n displayErrors: false,\n registrations: []\n }\n})\n@Injectable()\nexport class RegistrationState extends NgxsImmutableDataRepository {\n readonly displayErrors$ = this.state$.pipe(pluck('displayErrors'));\n\n /** Observable of registration metadata */\n @Computed()\n get metadata$(): Observable {\n return combineLatest([this.page.state$, this.model.state$, this.tags.tags$]).pipe(\n map(([page, model, tags]) => this.buildMetadata(page, model, tags))\n );\n }\n\n /** Observable of registration data in jsonld format */\n @Computed()\n get jsonld$(): Observable> {\n return combineLatest([this.page.state$, this.model.state$, this.tags.tags$]).pipe(\n map(([page, model, tags]) => this.buildJsonLd(page, model, tags))\n );\n }\n\n @Computed()\n get valid$(): Observable {\n return combineLatest([this.page.state$, this.model.state$]).pipe(\n map(() => this.isValid)\n );\n }\n\n /**\n * Observable of previous registrations\n */\n @Computed()\n get previousRegistrations$(): Observable[]> {\n const { globalConfig, state$ } = this;\n const regs = state$.pipe(pluck('registrations'));\n const fetched = globalConfig.getOption('fetchPreviousRegistrations').pipe(\n switchMap(fetch => fetch?.() ?? [[]]),\n startWith([])\n );\n\n return combineLatest([regs, fetched]).pipe(\n map(([local, external]) => [...local, ...external])\n );\n }\n\n /** Current uuid identifier used when registering */\n @Computed()\n private get currentIdentifier(): string {\n return uuidV4();\n }\n\n /** Time of last modification to registration data */\n @Computed()\n private get currentDate(): string {\n return new Date().toISOString().split('T')[0];\n }\n\n /** Reference to the page state */\n private page: PageState;\n\n /** Reference to the model state */\n private model: ModelState;\n\n /** Reference to the AS Tag state */\n private tags: AnatomicalStructureTagState;\n\n /** Reference to the reference data state */\n private refData: ReferenceDataState;\n\n /**\n * Creates an instance of registration state.\n *\n * @param injector Injector service used to lazy load page and model state\n * @param globalConfig The global configuration\n */\n constructor(\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.page = this.injector.get(PageState);\n this.model = this.injector.get(ModelState);\n this.tags = this.injector.get(AnatomicalStructureTagState);\n this.refData = this.injector.get(ReferenceDataState);\n\n this.globalConfig.config$.pipe(\n take(1),\n tap(({ useDownload, register }) => this.ctx.patchState({\n useRegistrationCallback: !!(!useDownload && register)\n }))\n ).subscribe();\n\n this.globalConfig.getOption('editRegistration').pipe(\n filterNulls(),\n tap(reg => this.editRegistration(reg as SpatialEntityJsonLd))\n ).subscribe();\n }\n\n async editRegistration(reg: SpatialEntityJsonLd): Promise {\n const place = this.refData.normalizePlacement(\n Array.isArray(reg.placement) ? reg.placement[0] : reg.placement\n );\n const data = this.refData.getOrganData(place.target);\n\n this.page.setUserName({ firstName: reg.creator_first_name, lastName: reg.creator_last_name });\n\n if (data) {\n this.model.setOrgan(data.organ);\n if (data.sex) {\n this.model.setSex(data.sex);\n }\n if (data.side) {\n this.model.setSide(data.side);\n }\n }\n\n this.model.setBlockSize({ x: reg.x_dimension, y: reg.y_dimension, z: reg.z_dimension });\n this.model.setRotation({ x: place.x_rotation, y: place.y_rotation, z: place.z_rotation });\n this.model.setSlicesConfig({ thickness: reg.slice_thickness || NaN, numSlices: reg.slice_count || NaN });\n\n await new Promise(r => {\n setTimeout(r, 1000);\n });\n\n this.model.setPosition({ x: place.x_translation, y: place.y_translation, z: place.z_translation });\n const iris = new Set(reg.ccf_annotations);\n this.tags.addTags(\n this.model.snapshot.anatomicalStructures\n .filter(item => iris.has(item.id as string))\n .map((item) => ({ id: item.id, label: item.name, type: 'added' }))\n );\n\n this.page.registrationStarted();\n }\n\n /**\n * Sets whether to use the registration callback function or download.\n *\n * @param use True to use the callback, false to download\n */\n @DataAction()\n setUseRegistrationCallback(use: boolean): void {\n this.ctx.patchState({ useRegistrationCallback: use });\n }\n\n /**\n * Set's whether or not we should display the user's registration errors\n *\n * @param displayErrors the value to set it to\n */\n @DataAction()\n setDisplayErrors(displayErrors: boolean): void {\n this.ctx.patchState({ displayErrors });\n }\n\n /**\n * Adds an entry to the previous registrations\n *\n * @param registration The new entry\n */\n @DataAction()\n addRegistration(registration: Record): void {\n this.ctx.setState(patch>({\n registrations: insertItem(registration as Immutable>)\n }));\n }\n\n isDataValid(page: Immutable, model: Immutable): boolean {\n const requiredValues = [\n page.user.firstName,\n page.user.lastName,\n model.organ.src,\n model.organ.name,\n model.organ.organ\n ];\n\n return requiredValues.every(value => !!value);\n }\n\n @Computed()\n get isValid(): boolean {\n return this.isDataValid(this.page.snapshot, this.model.snapshot);\n }\n\n /**\n * Registers or downloads json data.\n *\n * @param [useCallback] Explicit override selecting the register/download action\n */\n register(useCallback?: boolean): void {\n if (!this.isValid) {\n return;\n }\n\n const {\n globalConfig: { snapshot: { register: registrationCallback } },\n page, model, snapshot\n } = this;\n const jsonObj = this.buildJsonLd(page.snapshot, model.snapshot, this.tags.latestTags);\n const json = JSON.stringify(jsonObj, undefined, 2);\n\n if (useCallback || (useCallback === undefined && snapshot.useRegistrationCallback)) {\n registrationCallback?.(json);\n } else {\n const data = new Blob([json], {\n type: 'application/json',\n endings: 'native'\n });\n\n saveAs(data, 'registration-data.json');\n }\n\n this.addRegistration(jsonObj);\n this.setDisplayErrors(false);\n this.page.clearHasChanges();\n }\n\n /**\n * Builds a metadata array from the specified data.\n *\n * @param page The current page state data\n * @param model The current model state data\n * @returns metadata An array of label-value objects\n */\n private buildMetadata(\n page: Immutable,\n model: Immutable,\n tags: Tag[]\n ): MetaData {\n const data: MetaData = [];\n\n if (!page.registrationCallbackSet) {\n data.push(\n { label: 'First Name', value: page.user.firstName },\n { label: 'Last Name', value: page.user.lastName }\n );\n }\n\n data.push(\n { label: 'Reference Organ Name', value: model.organ.name },\n { label: 'Tissue Block Dimensions (mm)', value: this.xyzTripletToString(model.blockSize) },\n { label: 'Tissue Block Position (mm)', value: this.xyzTripletToString(model.position) },\n { label: 'Tissue Block Rotation', value: this.xyzTripletToString(model.rotation) },\n { label: 'Anatomical Structure Tags', value: tags.map(t => t.label).join(', ') },\n { label: 'Time Stamp', value: this.currentDate },\n { label: 'Alignment ID', value: this.currentIdentifier }\n );\n\n return data;\n }\n\n /**\n * Converts the registration data into jsonld format.\n *\n * @param page The current page state data\n * @param model The current model state data\n * @returns A jsonld object\n */\n private buildJsonLd(\n page: Immutable,\n model: Immutable,\n tags: Tag[]\n ): Record {\n return {\n '@context': 'https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${this.currentIdentifier}`,\n '@type': 'SpatialEntity',\n label: model.label || undefined,\n creator: `${page.user.firstName} ${page.user.lastName}`,\n creator_first_name: page.user.firstName,\n creator_last_name: page.user.lastName,\n // creator_orcid: data.alignment_operator_orcid,\n creation_date: this.currentDate,\n ccf_annotations: tags.map(tag => tag.id),\n slice_thickness: model.slicesConfig?.thickness || undefined,\n slice_count: model.slicesConfig?.numSlices || undefined,\n\n x_dimension: +model.blockSize.x.toFixed(3),\n y_dimension: +model.blockSize.y.toFixed(3),\n z_dimension: +model.blockSize.z.toFixed(3),\n dimension_units: 'millimeter',\n\n placement: {\n '@context': 'https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld',\n '@id': `http://purl.org/ccf/1.5/${this.currentIdentifier}_placement`,\n '@type': 'SpatialPlacement',\n target: model.organIri as string,\n placement_date: this.currentDate,\n\n x_scaling: 1, y_scaling: 1, z_scaling: 1, scaling_units: 'ratio',\n\n x_rotation: +model.rotation.x.toFixed(3),\n y_rotation: +model.rotation.y.toFixed(3),\n z_rotation: +model.rotation.z.toFixed(3),\n rotation_order: 'XYZ',\n rotation_units: 'degree',\n\n x_translation: +model.position.x.toFixed(3),\n y_translation: +model.position.y.toFixed(3),\n z_translation: +model.position.z.toFixed(3),\n translation_units: 'millimeter'\n }\n };\n }\n\n /**\n * Format a XYZTriplet as a string.\n *\n * @param xyz The triplet values\n * @returns The string representation\n */\n private xyzTripletToString(xyz: XYZTriplet): string {\n return `${Math.round(xyz.x)}, ${Math.round(xyz.y)}, ${Math.round(xyz.z)}`;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ReviewButtonComponent.html":{"url":"components/ReviewButtonComponent.html","title":"component - ReviewButtonComponent","body":"\n \n\n\n\n\n\n Components\n \n ReviewButtonComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts\n\n\n\n \n Description\n \n \n Component to launch the ReviewModal component.\n\n \n\n\n \n Implements\n \n \n OnChanges\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-review-button\n \n\n \n styleUrls\n ./review-button.component.scss\n \n\n\n\n \n templateUrl\n ./review-button.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n launchReviewModal\n \n \n ngOnChanges\n \n \n registerButtonClick\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n displayErrors\n \n \n metaData\n \n \n registrationCallbackSet\n \n \n registrationIsValid\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n enterErrorMode\n \n \n registerData\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n disabled\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog, ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:54\n \n \n\n \n \n Creates an instance of review button component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n Reference to the dialog creation service.\n\n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n displayErrors\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:35\n \n \n \n \n Whether or not the app is currently displaying errors\nDecides how the button should be styled\n\n \n \n \n \n \n \n \n \n \n metaData\n \n \n \n \n Type : MetaData\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:29\n \n \n \n \n Input object of information to display in the modal\n\n \n \n \n \n \n \n \n \n \n registrationCallbackSet\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:24\n \n \n \n \n Input to set whether the component should be in register (true) or download (false) mode\n\n \n \n \n \n \n \n \n \n \n registrationIsValid\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:42\n \n \n \n \n Whether or not all the necessary data has been inputted from\nthe user. Decides whether or not to let the user open the\nregistration / download modal\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n enterErrorMode\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:54\n \n \n \n \n Turns on the 'error mode' for the application.\nUsed to begin showing the user what they need to\ndo to be able to register / download.\n\n \n \n \n \n \n \n \n \n \n registerData\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:47\n \n \n \n \n Output that emits when the modal's register button was clicked\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-review-button\"\n\n \n \n \n \n Default value : 'ccf-review-button'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n launchReviewModal\n \n \n \n \n \n \nlaunchReviewModal()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:100\n \n \n\n\n \n \n Opens the info dialogue with the project details\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnChanges\n \n \n \n \n \n \nngOnChanges()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:68\n \n \n\n\n \n \n Updates the value of registrationIsValid based on the\nmeta data.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n registerButtonClick\n \n \n \n \n \n \nregisterButtonClick(event?: MouseEvent)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:85\n \n \n\n\n \n \n Handles the click action for the register button.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n MouseEvent\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-review-button'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n disabled\n \n \n\n \n \n getdisabled()\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts:78\n \n \n \n \n Decides whether or not the download / register button should\nbe disabled.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import { Component, EventEmitter, HostBinding, Input, OnChanges, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { MetaData } from '../../../core/models/meta-data';\nimport { ReviewModalComponent } from '../review-modal/review-modal.component';\n\n\n/**\n * Component to launch the ReviewModal component.\n */\n@Component({\n selector: 'ccf-review-button',\n templateUrl: './review-button.component.html',\n styleUrls: ['./review-button.component.scss']\n})\nexport class ReviewButtonComponent implements OnChanges {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-review-button';\n\n /**\n * Input to set whether the component should be in register (true) or download (false) mode\n */\n @Input() registrationCallbackSet = true;\n\n /**\n * Input object of information to display in the modal\n */\n @Input() metaData: MetaData = [];\n\n /**\n * Whether or not the app is currently displaying errors\n * Decides how the button should be styled\n */\n @Input() displayErrors = true;\n\n /**\n * Whether or not all the necessary data has been inputted from\n * the user. Decides whether or not to let the user open the\n * registration / download modal\n */\n @Input() registrationIsValid = false;\n\n /**\n * Output that emits when the modal's register button was clicked\n */\n @Output() readonly registerData = new EventEmitter();\n\n /**\n * Turns on the 'error mode' for the application.\n * Used to begin showing the user what they need to\n * do to be able to register / download.\n */\n @Output() readonly enterErrorMode = new EventEmitter();\n\n /**\n * Creates an instance of review button component.\n *\n * @param dialog Reference to the dialog creation service.\n * @param ga Analytics service\n */\n constructor(private readonly dialog: MatDialog, private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates the value of registrationIsValid based on the\n * meta data.\n */\n ngOnChanges(): void {\n this.registrationIsValid =\n this.metaData.length >= 3 &&\n this.metaData.slice(0, 3).every(entry => entry.value);\n }\n\n /**\n * Decides whether or not the download / register button should\n * be disabled.\n */\n get disabled(): boolean {\n return !this.registrationIsValid;\n }\n\n /**\n * Handles the click action for the register button.\n */\n registerButtonClick(event?: MouseEvent): false {\n if (event) {\n event.preventDefault();\n }\n this.enterErrorMode.emit();\n if (this.registrationIsValid) {\n this.ga.event('review_start', 'review_button');\n this.launchReviewModal();\n }\n return false;\n }\n\n /**\n * Opens the info dialogue with the project details\n */\n launchReviewModal(): void {\n const dialogRef = this.dialog.open(ReviewModalComponent, {\n panelClass: 'modal-animated',\n width: '60rem',\n data: {\n registrationCallbackSet: this.registrationCallbackSet,\n metaData: this.metaData\n }\n });\n\n dialogRef.afterClosed().subscribe(\n data => {\n if (data) {\n this.ga.event('register', 'review_button');\n this.registerData.emit();\n }\n }\n );\n }\n}\n\n \n\n \n \n {{ registrationCallbackSet ? 'REVIEW AND REGISTER' : 'REVIEW AND DOWNLOAD' }}\n\n\n \n\n \n \n ./review-button.component.scss\n \n .review-button {\n width: 100%;\n height: 2.25rem;\n transition: .6s;\n font-weight: 500;\n\n &.disabled {\n cursor: not-allowed;\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ registrationCallbackSet ? \\'REVIEW AND REGISTER\\' : \\'REVIEW AND DOWNLOAD\\' }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ReviewButtonComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ReviewButtonModule.html":{"url":"modules/ReviewButtonModule.html","title":"module - ReviewButtonModule","body":"\n \n\n\n\n\n Modules\n ReviewButtonModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ReviewButtonModule\n\n\n\ncluster_ReviewButtonModule_declarations\n\n\n\ncluster_ReviewButtonModule_exports\n\n\n\ncluster_ReviewButtonModule_imports\n\n\n\n\nReviewButtonComponent\n\nReviewButtonComponent\n\n\n\nReviewButtonModule\n\nReviewButtonModule\n\nReviewButtonModule -->\n\nReviewButtonComponent->ReviewButtonModule\n\n\n\n\n\nReviewButtonComponent \n\nReviewButtonComponent \n\nReviewButtonComponent -->\n\nReviewButtonModule->ReviewButtonComponent \n\n\n\n\n\nReviewModalModule\n\nReviewModalModule\n\nReviewButtonModule -->\n\nReviewModalModule->ReviewButtonModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/review/review-button/review-button.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ReviewButtonComponent\n \n \n \n \n Imports\n \n \n ReviewModalModule\n \n \n \n \n Exports\n \n \n ReviewButtonComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReviewButtonComponent } from './review-button.component';\nimport { ReviewModalModule } from '../review-modal/review-modal.module';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [ReviewButtonComponent],\n imports: [\n CommonModule,\n ReviewModalModule,\n MatButtonModule,\n MatTooltipModule\n ],\n exports: [ReviewButtonComponent]\n})\nexport class ReviewButtonModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ReviewModalComponent.html":{"url":"components/ReviewModalComponent.html","title":"component - ReviewModalComponent","body":"\n \n\n\n\n\n\n Components\n \n ReviewModalComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts\n\n\n\n \n Description\n \n \n Modal for reviewing the registration\n\n \n\n\n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-review-modal\n \n\n \n styleUrls\n ./review-modal.component.scss\n \n\n\n\n \n templateUrl\n ./review-modal.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Public\n data\n \n \n Public\n dialogRef\n \n \n metaData\n \n \n registrationCallbackSet\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n close\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialogRef: MatDialogRef, data: ReviewModalData)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:35\n \n \n\n \n \n Creates an instance of the review modal component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n A reference to the dialog that this component creates, used to call the dialog's methods\n\n \n \n \n data\n \n \n ReviewModalData\n \n \n \n No\n \n \n \n Data being injected into the dialog\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-review-modal\"\n\n \n \n \n \n Default value : 'ccf-review-modal'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:26\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:54\n \n \n\n\n \n \n Closes info dialog component\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-review-modal'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:26\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n data\n \n \n \n \n \n \n Type : ReviewModalData\n\n \n \n \n \n Decorators : \n \n \n @Inject(MAT_DIALOG_DATA)\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:45\n \n \n\n \n \n Data being injected into the dialog\n \n \n\n \n \n \n \n \n \n \n \n Public\n dialogRef\n \n \n \n \n \n \n Type : MatDialogRef\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:44\n \n \n\n \n \n A reference to the dialog that this component creates, used to call the dialog's methods\n \n \n\n \n \n \n \n \n \n \n \n metaData\n \n \n \n \n \n \n Type : MetaData\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:35\n \n \n\n \n \n The object containing all of the review information for displaying inside the modal\n\n \n \n\n \n \n \n \n \n \n \n \n registrationCallbackSet\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts:30\n \n \n\n \n \n Whether or not the cancel registration callback is set\n\n \n \n\n \n \n\n\n\n\n\n \n import { Component, Inject, HostBinding, Input } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MetaData } from '../../../core/models/meta-data';\n\n/**\n * The expected format of the review modal's data input.\n */\ninterface ReviewModalData {\n /** The object containing all of the review information for displaying inside the modal */\n metaData: MetaData;\n\n /** Whether or not the cancel registration callback is set */\n registrationCallbackSet: boolean;\n}\n\n/**\n * Modal for reviewing the registration\n */\n@Component({\n selector: 'ccf-review-modal',\n templateUrl: './review-modal.component.html',\n styleUrls: ['./review-modal.component.scss']\n})\nexport class ReviewModalComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-review-modal';\n /**\n * Whether or not the cancel registration callback is set\n */\n registrationCallbackSet: boolean;\n\n /**\n * The object containing all of the review information for displaying inside the modal\n */\n metaData: MetaData;\n\n /**\n * Creates an instance of the review modal component.\n *\n * @param dialogRef A reference to the dialog that this component creates, used to call the dialog's methods\n * @param data Data being injected into the dialog\n */\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: ReviewModalData\n ) {\n this.metaData = data.metaData;\n this.registrationCallbackSet = data.registrationCallbackSet;\n }\n\n /**\n * Closes info dialog component\n */\n close(): void {\n document.getElementsByClassName('modal-animated')[0]?.classList.add('modal-animate-fade-out');\n\n setTimeout(()=>{\n this.dialogRef.close();\n }, 250);\n }\n}\n\n \n\n \n \n \n \n clear\n \n \n Registration Review\n\n \n \n \n {{ data.label }}\n {{ data.value }}\n \n \n \n\n \n {{ registrationCallbackSet ? 'REGISTER' : 'DOWNLOAD REGISTRATION DATA' }}\n \n \n \n\n \n\n \n \n ./review-modal.component.scss\n \n ::ng-deep .mat-dialog-container {\n padding: 0;\n}\n\n:host {\n .ccf-about.wrapper {\n .container {\n .content {\n padding: 3rem;\n background-color: white;\n\n .title {\n text-align: center;\n font-size: 1.5rem;\n margin-bottom: 0;\n }\n\n .mat-typography {\n justify-content: space-around;\n display: flex;\n\n .display-fields {\n margin-top: 2rem;\n margin-bottom: 2rem;\n width: 100%;\n\n .field {\n display: flex;\n\n .label {\n width: 50%;\n text-align: right;\n padding-right: 1rem;\n }\n\n .data {\n width: 50%;\n text-align: left;\n padding-left: 1rem;\n }\n }\n }\n }\n }\n\n .close {\n .close-icon {\n float: right;\n margin-top: 1rem;\n margin-right: 1rem;\n cursor: pointer;\n }\n }\n\n .footer {\n padding-top: 1.5rem;\n display: flex;\n justify-content: space-around;\n\n .review-button {\n height: 3rem;\n transition: 0.6s;\n }\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' clear Registration Review {{ data.label }} {{ data.value }} {{ registrationCallbackSet ? \\'REGISTER\\' : \\'DOWNLOAD REGISTRATION DATA\\' }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ReviewModalComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ReviewModalData.html":{"url":"interfaces/ReviewModalData.html","title":"interface - ReviewModalData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ReviewModalData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts\n \n\n\n \n Description\n \n \n The expected format of the review modal's data input.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n metaData\n \n \n \n \n registrationCallbackSet\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n metaData\n \n \n \n \n \n \n \n \n metaData: MetaData\n\n \n \n\n\n \n \n Type : MetaData\n\n \n \n\n\n\n\n\n \n \n The object containing all of the review information for displaying inside the modal\n\n \n \n \n \n \n \n \n \n \n registrationCallbackSet\n \n \n \n \n \n \n \n \n registrationCallbackSet: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether or not the cancel registration callback is set\n\n \n \n \n \n \n \n\n\n \n import { Component, Inject, HostBinding, Input } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MetaData } from '../../../core/models/meta-data';\n\n/**\n * The expected format of the review modal's data input.\n */\ninterface ReviewModalData {\n /** The object containing all of the review information for displaying inside the modal */\n metaData: MetaData;\n\n /** Whether or not the cancel registration callback is set */\n registrationCallbackSet: boolean;\n}\n\n/**\n * Modal for reviewing the registration\n */\n@Component({\n selector: 'ccf-review-modal',\n templateUrl: './review-modal.component.html',\n styleUrls: ['./review-modal.component.scss']\n})\nexport class ReviewModalComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-review-modal';\n /**\n * Whether or not the cancel registration callback is set\n */\n registrationCallbackSet: boolean;\n\n /**\n * The object containing all of the review information for displaying inside the modal\n */\n metaData: MetaData;\n\n /**\n * Creates an instance of the review modal component.\n *\n * @param dialogRef A reference to the dialog that this component creates, used to call the dialog's methods\n * @param data Data being injected into the dialog\n */\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: ReviewModalData\n ) {\n this.metaData = data.metaData;\n this.registrationCallbackSet = data.registrationCallbackSet;\n }\n\n /**\n * Closes info dialog component\n */\n close(): void {\n document.getElementsByClassName('modal-animated')[0]?.classList.add('modal-animate-fade-out');\n\n setTimeout(()=>{\n this.dialogRef.close();\n }, 250);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ReviewModalModule.html":{"url":"modules/ReviewModalModule.html","title":"module - ReviewModalModule","body":"\n \n\n\n\n\n Modules\n ReviewModalModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ReviewModalModule\n\n\n\ncluster_ReviewModalModule_declarations\n\n\n\ncluster_ReviewModalModule_exports\n\n\n\n\nReviewModalComponent\n\nReviewModalComponent\n\n\n\nReviewModalModule\n\nReviewModalModule\n\nReviewModalModule -->\n\nReviewModalComponent->ReviewModalModule\n\n\n\n\n\nReviewModalComponent \n\nReviewModalComponent \n\nReviewModalComponent -->\n\nReviewModalModule->ReviewModalComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n ReviewModalComponent\n \n \n \n \n Exports\n \n \n ReviewModalComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReviewModalComponent } from './review-modal.component';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n declarations: [ReviewModalComponent],\n imports: [CommonModule, MatDialogModule, MatIconModule, MatButtonModule],\n exports: [ReviewModalComponent]\n})\nexport class ReviewModalModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RightSidebarComponent.html":{"url":"components/RightSidebarComponent.html","title":"component - RightSidebarComponent","body":"\n \n\n\n\n\n\n Components\n \n RightSidebarComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts\n\n\n\n \n Description\n \n \n The right sidebar\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-right-sidebar\n \n\n \n styleUrls\n ./right-sidebar.component.scss\n \n\n\n\n \n templateUrl\n ./right-sidebar.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n modalClosed\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(model: ModelState, registration: RegistrationState, page: PageState, astags: AnatomicalStructureTagState)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts:23\n \n \n\n \n \n Creates an instance of right sidebar component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n model\n \n \n ModelState\n \n \n \n No\n \n \n \n Model state service\n\n \n \n \n registration\n \n \n RegistrationState\n \n \n \n No\n \n \n \n Registration state service\n\n \n \n \n page\n \n \n PageState\n \n \n \n No\n \n \n \n The page state\n\n \n \n \n astags\n \n \n AnatomicalStructureTagState\n \n \n \n No\n \n \n \n The anatomical structure tags state\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n modalClosed\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts:23\n \n \n \n \n Whether or not the initial registration modal has been closed\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-right-sidebar\"\n\n \n \n \n \n Default value : 'ccf-right-sidebar'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts:20\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-right-sidebar'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts:20\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { ModelState } from '../../core/store/model/model.state';\nimport { RegistrationState } from '../../core/store/registration/registration.state';\nimport { PageState } from '../../core/store/page/page.state';\nimport { AnatomicalStructureTagState } from '../../core/store/anatomical-structure-tags/anatomical-structure-tags.state';\n\n\n/**\n * The right sidebar\n */\n@Component({\n selector: 'ccf-right-sidebar',\n templateUrl: './right-sidebar.component.html',\n styleUrls: ['./right-sidebar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RightSidebarComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-right-sidebar';\n\n /** Whether or not the initial registration modal has been closed */\n @Input() modalClosed = false;\n\n /**\n * Creates an instance of right sidebar component.\n *\n * @param model Model state service\n * @param registration Registration state service\n * @param page The page state\n * @param astags The anatomical structure tags state\n */\n constructor(\n readonly model: ModelState,\n readonly registration: RegistrationState,\n readonly page: PageState,\n readonly astags: AnatomicalStructureTagState\n ) { }\n}\n\n \n\n \n \n\n \n \n \n \n \n \n\n\n \n \n\n \n \n\n \n \n \n Anatomical Structure Tags\n \n\n \n \n\n \n \n \n \n\n \n \n Assigned\n \n Added\n \n \n \n\n \n\n \n \n \n\n\n \n\n \n \n ./right-sidebar.component.scss\n \n :host {\n display: block;\n height: calc(100% - 3rem);\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n\n .scroll-wrapper {\n // overflow-y: scroll;\n height: 100%;\n margin-right: 0.375rem;\n\n scrollbar-width: thin;\n &::-webkit-scrollbar {\n width: 0.75rem;\n }\n\n \n\n .container {\n display: flex;\n flex-direction: column;\n min-height: 100%;\n margin-left: 1.5rem;\n margin-right: 0.375rem;\n\n .info-button-container {\n height: 3.75rem;\n display: flex;\n justify-content: flex-end;\n }\n\n mat-divider {\n border-top-width: 3px;\n }\n\n mat-expansion-panel {\n box-shadow: none;\n\n mat-expansion-panel-header {\n padding: 0 0.5rem 0 0;\n font-weight: bold;\n -webkit-user-select: none;\n -moz-user-select: none;\n font-size: 1rem;\n }\n }\n\n .tags-container {\n // Allow tag search to overflow when displaying results\n overflow: visible;\n\n ::ng-deep .mat-expansion-panel-body {\n padding-left: 0;\n padding-right: 0;\n }\n\n .header {\n height: 3rem;\n }\n\n .search {\n margin-top: 1rem;\n\n .icon.add {\n position: absolute;\n // Sizes and offsets found by experimentation\n width: 3.625rem;\n height: 3.625rem;\n font-size: 3.625rem;\n top: -1.9375rem;\n right: -1.1875rem;\n }\n }\n\n .tag-list {\n max-height: 32rem;\n margin-left: -1rem;\n }\n\n .tag-list-placeholder {\n display: flex;\n height: 4rem;\n align-items: center;\n justify-content: center;\n font-weight: 400;\n }\n\n .legend {\n display: flex;\n width: 100%;\n margin-top: 1.5rem;\n align-items: center;\n font-size: 0.9rem;\n\n .dot {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n border-radius: 50%;\n\n &.assigned {\n margin-left: 0.5rem;\n }\n\n &.added {\n \n margin-left: 1rem;\n }\n }\n\n .text {\n margin-left: 0.5rem;\n }\n }\n }\n\n .filler {\n flex-grow: 1;\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Anatomical Structure Tags Assigned Added '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RightSidebarComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RightSidebarModule.html":{"url":"modules/RightSidebarModule.html","title":"module - RightSidebarModule","body":"\n \n\n\n\n\n Modules\n RightSidebarModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RightSidebarModule\n\n\n\ncluster_RightSidebarModule_declarations\n\n\n\ncluster_RightSidebarModule_exports\n\n\n\ncluster_RightSidebarModule_imports\n\n\n\n\nRightSidebarComponent\n\nRightSidebarComponent\n\n\n\nRightSidebarModule\n\nRightSidebarModule\n\nRightSidebarModule -->\n\nRightSidebarComponent->RightSidebarModule\n\n\n\n\n\nRightSidebarComponent \n\nRightSidebarComponent \n\nRightSidebarComponent -->\n\nRightSidebarModule->RightSidebarComponent \n\n\n\n\n\nBlockSizeInputModule\n\nBlockSizeInputModule\n\nRightSidebarModule -->\n\nBlockSizeInputModule->RightSidebarModule\n\n\n\n\n\nReviewButtonModule\n\nReviewButtonModule\n\nRightSidebarModule -->\n\nReviewButtonModule->RightSidebarModule\n\n\n\n\n\nRotationSliderModule\n\nRotationSliderModule\n\nRightSidebarModule -->\n\nRotationSliderModule->RightSidebarModule\n\n\n\n\n\nSlicesInputModule\n\nSlicesInputModule\n\nRightSidebarModule -->\n\nSlicesInputModule->RightSidebarModule\n\n\n\n\n\nTagListModule\n\nTagListModule\n\nRightSidebarModule -->\n\nTagListModule->RightSidebarModule\n\n\n\n\n\nTagSearchModule\n\nTagSearchModule\n\nRightSidebarModule -->\n\nTagSearchModule->RightSidebarModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RightSidebarComponent\n \n \n \n \n Imports\n \n \n BlockSizeInputModule\n \n \n ReviewButtonModule\n \n \n RotationSliderModule\n \n \n SlicesInputModule\n \n \n TagListModule\n \n \n TagSearchModule\n \n \n \n \n Exports\n \n \n RightSidebarComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { BlockSizeInputModule } from '../../shared/components/block-size-input/block-size-input.module';\nimport { RotationSliderModule } from '../../shared/components/rotation-slider/rotation-slider.module';\nimport { SlicesInputModule } from '../../shared/components/slices-input/slices-input.module';\nimport { TagListModule } from '../../shared/components/tag-list/tag-list.module';\nimport { TagSearchModule } from '../../shared/components/tag-search/tag-search.module';\nimport { ReviewButtonModule } from '../review/review-button/review-button.module';\nimport { RightSidebarComponent } from './right-sidebar.component';\n\nimport { InfoButtonModule } from 'ccf-shared';\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatExpansionModule,\n MatDividerModule,\n MatIconModule,\n BrowserAnimationsModule,\n MatTooltipModule,\n\n BlockSizeInputModule,\n ReviewButtonModule,\n RotationSliderModule,\n SlicesInputModule,\n TagListModule,\n TagSearchModule,\n InfoButtonModule\n ],\n declarations: [RightSidebarComponent],\n exports: [RightSidebarComponent]\n})\nexport class RightSidebarModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Rotation.html":{"url":"interfaces/Rotation.html","title":"interface - Rotation","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Rotation\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n\n\n \n Description\n \n \n Type in which the values of the sliders are stored.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n X slider value\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Y slider value\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Z slider value\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/** Type in which the values of the sliders are stored. */\nexport interface Rotation {\n /** X slider value */\n x: number;\n /** Y slider value */\n y: number;\n /** Z slider value */\n z: number;\n}\n\n/** Default values for rotation. */\nconst DEFAULT_ROTATION: Rotation = {\n x: 0,\n y: 0,\n z: 0\n};\n\n/**\n * Component that enables the setting of a Rotation object via either 3 draggable sliders\n * or through an Input method.\n */\n@Component({\n selector: 'ccf-rotation-slider',\n templateUrl: './rotation-slider.component.html',\n styleUrls: ['./rotation-slider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RotationSliderComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-rotation-slider';\n\n /**\n * Input that allows the rotation to be changed from outside of the component\n */\n @Input() rotation = DEFAULT_ROTATION;\n\n /**\n * Output that emits the new rotation whenever it is changed from within the component\n */\n @Output() readonly rotationChange = new EventEmitter();\n\n /**\n * Creates an instance of rotation slider component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Function that handles updating the rotation and emitting the new value\n *\n * @param newRotation the new value for one of the axis to be set to\n * @param axis which axis to update\n */\n changeRotation(newRotation: number | string, axis: string): void {\n this.rotation = { ... this.rotation, [axis]: +newRotation };\n this.ga.event('rotation_update', 'rotation_slider', axis, +newRotation);\n this.rotationChange.emit(this.rotation);\n }\n\n /**\n * Function to easily reset the rotations to 0 and emit this change.\n */\n resetRotation(): void {\n this.rotation = DEFAULT_ROTATION;\n this.ga.event('rotation_reset', 'rotation_slider');\n this.rotationChange.emit(this.rotation);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/RotationSliderComponent.html":{"url":"components/RotationSliderComponent.html","title":"component - RotationSliderComponent","body":"\n \n\n\n\n\n\n Components\n \n RotationSliderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n\n\n\n \n Description\n \n \n Component that enables the setting of a Rotation object via either 3 draggable sliders\nor through an Input method.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-rotation-slider\n \n\n \n styleUrls\n ./rotation-slider.component.scss\n \n\n\n\n \n templateUrl\n ./rotation-slider.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n changeRotation\n \n \n resetRotation\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n rotation\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n rotationChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:44\n \n \n\n \n \n Creates an instance of rotation slider component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n rotation\n \n \n \n \n Type : Rotation\n\n \n \n \n \n Default value : DEFAULT_ROTATION\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:39\n \n \n \n \n Input that allows the rotation to be changed from outside of the component\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n rotationChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:44\n \n \n \n \n Output that emits the new rotation whenever it is changed from within the component\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-rotation-slider\"\n\n \n \n \n \n Default value : 'ccf-rotation-slider'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:34\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n changeRotation\n \n \n \n \n \n \nchangeRotation(newRotation: number | string, axis: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:59\n \n \n\n\n \n \n Function that handles updating the rotation and emitting the new value\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n newRotation\n \n number | string\n \n\n \n No\n \n\n\n \n the new value for one of the axis to be set to\n\n \n \n \n axis\n \n string\n \n\n \n No\n \n\n\n \n which axis to update\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetRotation\n \n \n \n \n \n \nresetRotation()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:68\n \n \n\n\n \n \n Function to easily reset the rotations to 0 and emit this change.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-rotation-slider'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts:34\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/** Type in which the values of the sliders are stored. */\nexport interface Rotation {\n /** X slider value */\n x: number;\n /** Y slider value */\n y: number;\n /** Z slider value */\n z: number;\n}\n\n/** Default values for rotation. */\nconst DEFAULT_ROTATION: Rotation = {\n x: 0,\n y: 0,\n z: 0\n};\n\n/**\n * Component that enables the setting of a Rotation object via either 3 draggable sliders\n * or through an Input method.\n */\n@Component({\n selector: 'ccf-rotation-slider',\n templateUrl: './rotation-slider.component.html',\n styleUrls: ['./rotation-slider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RotationSliderComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-rotation-slider';\n\n /**\n * Input that allows the rotation to be changed from outside of the component\n */\n @Input() rotation = DEFAULT_ROTATION;\n\n /**\n * Output that emits the new rotation whenever it is changed from within the component\n */\n @Output() readonly rotationChange = new EventEmitter();\n\n /**\n * Creates an instance of rotation slider component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Function that handles updating the rotation and emitting the new value\n *\n * @param newRotation the new value for one of the axis to be set to\n * @param axis which axis to update\n */\n changeRotation(newRotation: number | string, axis: string): void {\n this.rotation = { ... this.rotation, [axis]: +newRotation };\n this.ga.event('rotation_update', 'rotation_slider', axis, +newRotation);\n this.rotationChange.emit(this.rotation);\n }\n\n /**\n * Function to easily reset the rotations to 0 and emit this change.\n */\n resetRotation(): void {\n this.rotation = DEFAULT_ROTATION;\n this.ga.event('rotation_reset', 'rotation_slider');\n this.rotationChange.emit(this.rotation);\n }\n}\n\n \n\n \n \n Tissue Block Rotation\n \n refresh\n\n\n\n X\n \n \n \n {{ rotation.x }}\n\n\n\n Y\n \n \n \n {{ rotation.y }}\n\n\n\n Z\n \n \n \n {{ rotation.z }}\n\n\n \n\n \n \n ./rotation-slider.component.scss\n \n :host {\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 1.5rem;\n\n .title {\n font-weight: 600;\n }\n\n .reset {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n \n &:hover {\n border-radius: 2px;\n }\n\n }\n }\n\n .slider-box {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 4rem;\n padding-left: 0.5rem;\n\n .label {\n width: 1rem;\n }\n\n .value {\n width: 2.75rem;\n text-align: center;\n }\n\n .slider-container {\n width: 100%;\n padding-left: 2rem;\n padding-right: 2rem;\n padding-bottom: 1rem;\n padding-top: 1rem;\n\n .slider {\n width: 100%;\n \n &:not(.cdk-focused) {\n ::ng-deep .mat-slider-thumb {\n width: 1.25rem;\n height: 1.25rem;\n transform: none;\n }\n }\n }\n\n ::ng-deep .mat-slider-horizontal {\n .mat-slider-wrapper {\n right: 0.625rem;\n &:after {\n margin-top: -0.25rem;\n height: 0.625rem !important;\n }\n }\n \n .mat-slider-ticks-container {\n margin-top: -0.25rem;\n height: 0.625rem;\n\n .mat-slider-ticks {\n height: 0.625rem;\n }\n }\n \n }\n }\n\n .filler {\n flex-grow: 1;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Tissue Block Rotation refresh X {{ rotation.x }} Y {{ rotation.y }} Z {{ rotation.z }}'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'RotationSliderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RotationSliderModule.html":{"url":"modules/RotationSliderModule.html","title":"module - RotationSliderModule","body":"\n \n\n\n\n\n Modules\n RotationSliderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_RotationSliderModule\n\n\n\ncluster_RotationSliderModule_declarations\n\n\n\ncluster_RotationSliderModule_exports\n\n\n\n\nRotationSliderComponent\n\nRotationSliderComponent\n\n\n\nRotationSliderModule\n\nRotationSliderModule\n\nRotationSliderModule -->\n\nRotationSliderComponent->RotationSliderModule\n\n\n\n\n\nRotationSliderComponent \n\nRotationSliderComponent \n\nRotationSliderComponent -->\n\nRotationSliderModule->RotationSliderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n RotationSliderComponent\n \n \n \n \n Exports\n \n \n RotationSliderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RotationSliderComponent } from './rotation-slider.component';\n\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [RotationSliderComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatSliderModule,\n MatRippleModule,\n MatTooltipModule\n ],\n exports: [RotationSliderComponent]\n})\nexport class RotationSliderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SceneState.html":{"url":"injectables/SceneState.html","title":"injectable - SceneState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n SceneState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n\n\n \n Description\n \n \n 3d Scene state\n\n \n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n gizmo$\n \n \n Private\n model\n \n \n Private\n referenceData\n \n \n Private\n registration\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createSceneNodes\n \n \n ngxsOnInit\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n nodes$\n \n \n rotatedNodes$\n \n \n referenceOrganNodes$\n \n \n referenceOrganSimpleNodes$\n \n \n nodeCollisions$\n \n \n previousRegistrationNodes$\n \n \n placementCube$\n \n \n placementCube\n \n \n rotation$\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(injector: Injector)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:223\n \n \n\n \n \n Creates an instance of scene state.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n Injector service used to lazy load page and model state\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createSceneNodes\n \n \n \n \n \n \n \n createSceneNodes(organIri: string, items: VisibilityItem[])\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:249\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n items\n \n VisibilityItem[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:239\n \n \n\n\n \n \n Initializes this state service.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n gizmo$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Default value : of([\n {\n '@id': 'http://purl.org/ccf/latest/ccf.owl#VHMaleOrgans_VHM_Spleen_Colic_Surface',\n '@type': 'SpatialSceneNode',\n scenegraph: 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/Assets/body4Mesh_1338.glb',\n transformMatrix: new Matrix4(Matrix4.IDENTITY).scale([2, 2, 2]).rotateY(toRadians(0)),\n tooltip: 'Gizmo',\n unpickable: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false,\n color: [255, 255, 255, 255],\n opacity: 1\n }\n ])\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:204\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n model\n \n \n \n \n \n \n Type : ModelState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:221\n \n \n\n \n \n Reference to the model state\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n referenceData\n \n \n \n \n \n \n Type : ReferenceDataState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:223\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n registration\n \n \n \n \n \n \n Type : RegistrationState\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:222\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n nodes$\n \n \n\n \n \n getnodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:52\n \n \n\n \n \n \n \n \n \n \n rotatedNodes$\n \n \n\n \n \n getrotatedNodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:63\n \n \n\n \n \n \n \n \n \n \n referenceOrganNodes$\n \n \n\n \n \n getreferenceOrganNodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:80\n \n \n \n \n Observable of spatial nodes\n\n\n \n Returns : Observable\n\n \n \n \n\n \n \n \n \n \n \n \n referenceOrganSimpleNodes$\n \n \n\n \n \n getreferenceOrganSimpleNodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:90\n \n \n\n \n \n \n \n \n \n \n nodeCollisions$\n \n \n\n \n \n getnodeCollisions$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:118\n \n \n\n \n \n \n \n \n \n \n previousRegistrationNodes$\n \n \n\n \n \n getpreviousRegistrationNodes$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:129\n \n \n\n \n \n \n \n \n \n \n placementCube$\n \n \n\n \n \n getplacementCube$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:157\n \n \n\n \n \n \n \n \n \n \n placementCube\n \n \n\n \n \n getplacementCube()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:164\n \n \n\n \n \n \n \n \n \n \n rotation$\n \n \n\n \n \n getrotation$()\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/store/scene/scene.state.ts:182\n \n \n\n \n \n\n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { Computed, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { NgxsOnInit, State } from '@ngxs/store';\nimport { AABB, Vec3 } from 'cannon-es';\nimport { SpatialEntityJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { combineLatest, Observable, of } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { ModelState } from '../model/model.state';\nimport { RegistrationState } from '../registration/registration.state';\nimport { VisibilityItem } from './../../models/visibility-item';\nimport { ReferenceDataState } from './../reference-data/reference-data.state';\n\n\n/**\n * Scene state model\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface SceneStateModel {\n showCollisions: boolean;\n}\n\nfunction getNodeBbox(model: SpatialSceneNode): AABB {\n const mat = new Matrix4(model.transformMatrix);\n const lowerBound = mat.transformAsPoint([-1, -1, -1], []);\n const upperBound = mat.transformAsPoint([1, 1, 1], []);\n return new AABB({\n lowerBound: new Vec3(...lowerBound.map((n, i) => Math.min(n, upperBound[i]))),\n upperBound: new Vec3(...upperBound.map((n, i) => Math.max(n, lowerBound[i])))\n });\n}\n\n/**\n * 3d Scene state\n */\n@StateRepository()\n@State({\n name: 'scene',\n defaults: {\n showCollisions: !environment.production\n }\n})\n@Injectable()\nexport class SceneState extends NgxsImmutableDataRepository implements NgxsOnInit {\n\n @Computed()\n get nodes$(): Observable {\n return combineLatest([\n this.placementCube$, this.referenceOrganNodes$, this.previousRegistrationNodes$, this.nodeCollisions$\n ]).pipe(\n map(([placement, nodes, prevNodes, collisions]) => [\n ...placement, ...prevNodes, ...nodes, ...(this.snapshot.showCollisions ? collisions : [])\n ])\n );\n }\n\n @Computed()\n get rotatedNodes$(): Observable {\n return combineLatest([this.rotation$, this.nodes$]).pipe(\n map(([rotation, nodes]) => {\n if (rotation === 0) {\n return nodes;\n } else {\n return nodes.map(n => ({\n ...n,\n transformMatrix: new Matrix4(Matrix4.IDENTITY).rotateY(toRadians(rotation)).multiplyRight(n.transformMatrix)\n }));\n }\n })\n );\n }\n\n /** Observable of spatial nodes */\n @Computed()\n get referenceOrganNodes$(): Observable {\n return combineLatest([this.model.anatomicalStructures$, this.model.extractionSites$, this.model.organIri$]).pipe(\n debounceTime(400),\n map(([anatomicalStructures, extractionSites, organIri]) =>\n this.createSceneNodes(organIri as string, [...anatomicalStructures, ...extractionSites] as VisibilityItem[])\n )\n );\n }\n\n @Computed()\n get referenceOrganSimpleNodes$(): Observable {\n return combineLatest([this.model.anatomicalStructures$, this.model.organIri$, this.referenceData.state$]).pipe(\n map(([anatomicalStructures, organIri, db]) =>\n anatomicalStructures\n // .filter(item => item.visible && item.opacity && item.opacity > 0)\n .map((item): SpatialSceneNode[] => {\n if (db.sceneNodeLookup[item.id]) {\n return [{\n ...(db.simpleSceneNodeLookup[item.id] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }];\n } else {\n return (db.anatomicalStructures[organIri as string] || [])\n .filter((node) => node.representation_of === item.id)\n .map((node): SpatialSceneNode => ({\n ...(db.simpleSceneNodeLookup[node['@id']] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }));\n }\n })\n .reduce((acc, nodes) => acc.concat(nodes), [])\n )\n );\n }\n\n @Computed()\n get nodeCollisions$(): Observable {\n return combineLatest([this.referenceOrganSimpleNodes$, this.placementCube$]).pipe(\n filter(([_nodes, placement]) => placement.length > 0),\n map(([nodes, placement]) => {\n const bbox = getNodeBbox(placement[0]);\n return nodes.filter((model) => bbox.overlaps(getNodeBbox(model)));\n })\n );\n }\n\n @Computed()\n get previousRegistrationNodes$(): Observable {\n return combineLatest([this.model.organIri$, this.model.showPrevious$, this.registration.previousRegistrations$]).pipe(\n map(([organIri, showPrevious, previousRegistrations]) =>\n showPrevious ? previousRegistrations.map((entity: SpatialEntityJsonLd): SpatialSceneNode => {\n const p = Array.isArray(entity.placement) ? entity.placement[0] : entity.placement;\n if (p.target === organIri) {\n const organDimensions = this.model.snapshot.organDimensions;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => -n / 1000 / 2);\n return {\n '@id': entity['@id'],\n '@type': 'SpatialSceneNode',\n transformMatrix: new Matrix4(Matrix4.IDENTITY)\n .translate([p.x_translation, p.y_translation, p.z_translation].map((n, i) => n / 1000 + dims[i]))\n .rotateXYZ([p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number])\n .scale([entity.x_dimension, entity.y_dimension, entity.z_dimension].map(n => n / 1000 / 2)),\n color: [25, 118, 210, 200],\n tooltip: entity.label,\n unpickable: true\n };\n } else {\n return undefined as unknown as SpatialSceneNode;\n }\n }).filter(e => !!e) : []\n )\n );\n }\n\n @Computed()\n get placementCube$(): Observable | [] {\n return combineLatest([this.model.viewType$, this.model.blockSize$, this.model.rotation$, this.model.position$, this.model.organ$]).pipe(\n map(([_viewType, _blockSize, _rotation, _position, organ]) => organ.src === '' ? [] : [this.placementCube])\n );\n }\n\n @Computed()\n get placementCube(): SpatialSceneNode {\n const { viewType, blockSize, rotation, position, organDimensions } = this.model.snapshot;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => -n / 1000 / 2);\n return {\n '@id': '#DraftPlacement',\n '@type': 'SpatialSceneNode',\n transformMatrix: new Matrix4(Matrix4.IDENTITY)\n .translate([position.x, position.y, position.z].map((n, i) => n / 1000 + dims[i]))\n .rotateXYZ([rotation.x, rotation.y, rotation.z].map(toRadians) as [number, number, number])\n .scale([blockSize.x, blockSize.y, blockSize.z].map(n => n / 1000 / 2)),\n color: [255, 255, 0, 200],\n tooltip: 'Draft Placement',\n unpickable: viewType === '3d',\n };\n }\n\n\n @Computed()\n get rotation$(): Observable {\n return this.model.viewSide$.pipe(\n map((side) => {\n let rotation = 0;\n switch (side) {\n case 'left':\n rotation = -90;\n break;\n case 'right':\n rotation = 90;\n break;\n case 'posterior':\n rotation = 180;\n break;\n default:\n break;\n }\n return rotation;\n })\n );\n }\n\n readonly gizmo$: Observable = of([\n {\n '@id': 'http://purl.org/ccf/latest/ccf.owl#VHMaleOrgans_VHM_Spleen_Colic_Surface',\n '@type': 'SpatialSceneNode',\n scenegraph: 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/Assets/body4Mesh_1338.glb',\n transformMatrix: new Matrix4(Matrix4.IDENTITY).scale([2, 2, 2]).rotateY(toRadians(0)),\n tooltip: 'Gizmo',\n unpickable: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false,\n color: [255, 255, 255, 255],\n opacity: 1\n }\n ]);\n\n /** Reference to the model state */\n private model: ModelState;\n private registration: RegistrationState;\n private referenceData: ReferenceDataState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load page and model state\n */\n constructor(\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.model = this.injector.get(ModelState);\n this.registration = this.injector.get(RegistrationState);\n this.referenceData = this.injector.get(ReferenceDataState);\n }\n\n private createSceneNodes(organIri: string, items: VisibilityItem[]): SpatialSceneNode[] {\n const db = this.referenceData.snapshot;\n return items\n .filter(item => item.visible && item.opacity && item.opacity > 0)\n .map((item): SpatialSceneNode[] => {\n if (db.sceneNodeLookup[item.id]) {\n return [{\n ...(db.sceneNodeLookup[item.id] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }];\n } else {\n return (db.anatomicalStructures[organIri] || [])\n .filter((node) => node.representation_of === item.id)\n .map(node => ({\n ...(db.sceneNodeLookup[node['@id']] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }));\n }\n })\n .reduce((acc, nodes) => acc.concat(nodes), []);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SceneStateModel.html":{"url":"interfaces/SceneStateModel.html","title":"interface - SceneStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SceneStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n\n\n \n Description\n \n \n Scene state model\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n showCollisions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n showCollisions\n \n \n \n \n \n \n \n \n showCollisions: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Matrix4, toRadians } from '@math.gl/core';\nimport { Computed, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { NgxsOnInit, State } from '@ngxs/store';\nimport { AABB, Vec3 } from 'cannon-es';\nimport { SpatialEntityJsonLd, SpatialSceneNode } from 'ccf-body-ui';\nimport { combineLatest, Observable, of } from 'rxjs';\nimport { debounceTime, filter, map } from 'rxjs/operators';\n\nimport { environment } from '../../../../environments/environment';\nimport { ModelState } from '../model/model.state';\nimport { RegistrationState } from '../registration/registration.state';\nimport { VisibilityItem } from './../../models/visibility-item';\nimport { ReferenceDataState } from './../reference-data/reference-data.state';\n\n\n/**\n * Scene state model\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface SceneStateModel {\n showCollisions: boolean;\n}\n\nfunction getNodeBbox(model: SpatialSceneNode): AABB {\n const mat = new Matrix4(model.transformMatrix);\n const lowerBound = mat.transformAsPoint([-1, -1, -1], []);\n const upperBound = mat.transformAsPoint([1, 1, 1], []);\n return new AABB({\n lowerBound: new Vec3(...lowerBound.map((n, i) => Math.min(n, upperBound[i]))),\n upperBound: new Vec3(...upperBound.map((n, i) => Math.max(n, lowerBound[i])))\n });\n}\n\n/**\n * 3d Scene state\n */\n@StateRepository()\n@State({\n name: 'scene',\n defaults: {\n showCollisions: !environment.production\n }\n})\n@Injectable()\nexport class SceneState extends NgxsImmutableDataRepository implements NgxsOnInit {\n\n @Computed()\n get nodes$(): Observable {\n return combineLatest([\n this.placementCube$, this.referenceOrganNodes$, this.previousRegistrationNodes$, this.nodeCollisions$\n ]).pipe(\n map(([placement, nodes, prevNodes, collisions]) => [\n ...placement, ...prevNodes, ...nodes, ...(this.snapshot.showCollisions ? collisions : [])\n ])\n );\n }\n\n @Computed()\n get rotatedNodes$(): Observable {\n return combineLatest([this.rotation$, this.nodes$]).pipe(\n map(([rotation, nodes]) => {\n if (rotation === 0) {\n return nodes;\n } else {\n return nodes.map(n => ({\n ...n,\n transformMatrix: new Matrix4(Matrix4.IDENTITY).rotateY(toRadians(rotation)).multiplyRight(n.transformMatrix)\n }));\n }\n })\n );\n }\n\n /** Observable of spatial nodes */\n @Computed()\n get referenceOrganNodes$(): Observable {\n return combineLatest([this.model.anatomicalStructures$, this.model.extractionSites$, this.model.organIri$]).pipe(\n debounceTime(400),\n map(([anatomicalStructures, extractionSites, organIri]) =>\n this.createSceneNodes(organIri as string, [...anatomicalStructures, ...extractionSites] as VisibilityItem[])\n )\n );\n }\n\n @Computed()\n get referenceOrganSimpleNodes$(): Observable {\n return combineLatest([this.model.anatomicalStructures$, this.model.organIri$, this.referenceData.state$]).pipe(\n map(([anatomicalStructures, organIri, db]) =>\n anatomicalStructures\n // .filter(item => item.visible && item.opacity && item.opacity > 0)\n .map((item): SpatialSceneNode[] => {\n if (db.sceneNodeLookup[item.id]) {\n return [{\n ...(db.simpleSceneNodeLookup[item.id] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }];\n } else {\n return (db.anatomicalStructures[organIri as string] || [])\n .filter((node) => node.representation_of === item.id)\n .map((node): SpatialSceneNode => ({\n ...(db.simpleSceneNodeLookup[node['@id']] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }));\n }\n })\n .reduce((acc, nodes) => acc.concat(nodes), [])\n )\n );\n }\n\n @Computed()\n get nodeCollisions$(): Observable {\n return combineLatest([this.referenceOrganSimpleNodes$, this.placementCube$]).pipe(\n filter(([_nodes, placement]) => placement.length > 0),\n map(([nodes, placement]) => {\n const bbox = getNodeBbox(placement[0]);\n return nodes.filter((model) => bbox.overlaps(getNodeBbox(model)));\n })\n );\n }\n\n @Computed()\n get previousRegistrationNodes$(): Observable {\n return combineLatest([this.model.organIri$, this.model.showPrevious$, this.registration.previousRegistrations$]).pipe(\n map(([organIri, showPrevious, previousRegistrations]) =>\n showPrevious ? previousRegistrations.map((entity: SpatialEntityJsonLd): SpatialSceneNode => {\n const p = Array.isArray(entity.placement) ? entity.placement[0] : entity.placement;\n if (p.target === organIri) {\n const organDimensions = this.model.snapshot.organDimensions;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => -n / 1000 / 2);\n return {\n '@id': entity['@id'],\n '@type': 'SpatialSceneNode',\n transformMatrix: new Matrix4(Matrix4.IDENTITY)\n .translate([p.x_translation, p.y_translation, p.z_translation].map((n, i) => n / 1000 + dims[i]))\n .rotateXYZ([p.x_rotation, p.y_rotation, p.z_rotation].map(toRadians) as [number, number, number])\n .scale([entity.x_dimension, entity.y_dimension, entity.z_dimension].map(n => n / 1000 / 2)),\n color: [25, 118, 210, 200],\n tooltip: entity.label,\n unpickable: true\n };\n } else {\n return undefined as unknown as SpatialSceneNode;\n }\n }).filter(e => !!e) : []\n )\n );\n }\n\n @Computed()\n get placementCube$(): Observable | [] {\n return combineLatest([this.model.viewType$, this.model.blockSize$, this.model.rotation$, this.model.position$, this.model.organ$]).pipe(\n map(([_viewType, _blockSize, _rotation, _position, organ]) => organ.src === '' ? [] : [this.placementCube])\n );\n }\n\n @Computed()\n get placementCube(): SpatialSceneNode {\n const { viewType, blockSize, rotation, position, organDimensions } = this.model.snapshot;\n const dims = [organDimensions.x, organDimensions.y, organDimensions.z].map(n => -n / 1000 / 2);\n return {\n '@id': '#DraftPlacement',\n '@type': 'SpatialSceneNode',\n transformMatrix: new Matrix4(Matrix4.IDENTITY)\n .translate([position.x, position.y, position.z].map((n, i) => n / 1000 + dims[i]))\n .rotateXYZ([rotation.x, rotation.y, rotation.z].map(toRadians) as [number, number, number])\n .scale([blockSize.x, blockSize.y, blockSize.z].map(n => n / 1000 / 2)),\n color: [255, 255, 0, 200],\n tooltip: 'Draft Placement',\n unpickable: viewType === '3d',\n };\n }\n\n\n @Computed()\n get rotation$(): Observable {\n return this.model.viewSide$.pipe(\n map((side) => {\n let rotation = 0;\n switch (side) {\n case 'left':\n rotation = -90;\n break;\n case 'right':\n rotation = 90;\n break;\n case 'posterior':\n rotation = 180;\n break;\n default:\n break;\n }\n return rotation;\n })\n );\n }\n\n readonly gizmo$: Observable = of([\n {\n '@id': 'http://purl.org/ccf/latest/ccf.owl#VHMaleOrgans_VHM_Spleen_Colic_Surface',\n '@type': 'SpatialSceneNode',\n scenegraph: 'https://hubmapconsortium.github.io/ccf-3d-reference-object-library/Assets/body4Mesh_1338.glb',\n transformMatrix: new Matrix4(Matrix4.IDENTITY).scale([2, 2, 2]).rotateY(toRadians(0)),\n tooltip: 'Gizmo',\n unpickable: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _lighting: 'pbr',\n zoomBasedOpacity: false,\n color: [255, 255, 255, 255],\n opacity: 1\n }\n ]);\n\n /** Reference to the model state */\n private model: ModelState;\n private registration: RegistrationState;\n private referenceData: ReferenceDataState;\n\n /**\n * Creates an instance of scene state.\n *\n * @param injector Injector service used to lazy load page and model state\n */\n constructor(\n private readonly injector: Injector\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n // Injecting page and model states in the constructor breaks things!?\n // Lazy load here\n this.model = this.injector.get(ModelState);\n this.registration = this.injector.get(RegistrationState);\n this.referenceData = this.injector.get(ReferenceDataState);\n }\n\n private createSceneNodes(organIri: string, items: VisibilityItem[]): SpatialSceneNode[] {\n const db = this.referenceData.snapshot;\n return items\n .filter(item => item.visible && item.opacity && item.opacity > 0)\n .map((item): SpatialSceneNode[] => {\n if (db.sceneNodeLookup[item.id]) {\n return [{\n ...(db.sceneNodeLookup[item.id] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }];\n } else {\n return (db.anatomicalStructures[organIri] || [])\n .filter((node) => node.representation_of === item.id)\n .map(node => ({\n ...(db.sceneNodeLookup[node['@id']] as SpatialSceneNode),\n opacity: (item.opacity ?? 100) / 100,\n color: [255, 255, 255, 255]\n }));\n }\n })\n .reduce((acc, nodes) => acc.concat(nodes), []);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SlicesConfig.html":{"url":"interfaces/SlicesConfig.html","title":"interface - SlicesConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SlicesConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n\n\n \n Description\n \n \n Slices configuration\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n numSlices\n \n \n \n \n thickness\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n numSlices\n \n \n \n \n \n \n \n \n numSlices: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Number of slices per block\n\n \n \n \n \n \n \n \n \n \n thickness\n \n \n \n \n \n \n \n \n thickness: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Thickness of slice\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { ALL_ORGANS, GlobalConfigState, OrganInfo } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { sortBy } from 'lodash';\nimport { EMPTY, Observable } from 'rxjs';\nimport {\n debounceTime, delay, distinctUntilChanged, filter, mapTo, pluck, skipUntil, switchMap, take, tap, throttleTime,\n} from 'rxjs/operators';\n\nimport { ExtractionSet } from '../../models/extraction-set';\nimport { VisibilityItem } from '../../models/visibility-item';\nimport { GlobalConfig } from '../../services/config/config';\nimport { PageState } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A object with x, y, and z channels of the same type. */\nexport interface XYZTriplet {\n /** X channel */\n x: T;\n /** Y channel */\n y: T;\n /** Z channel */\n z: T;\n}\n\n/** Slices configuration */\nexport interface SlicesConfig {\n /** Thickness of slice */\n thickness: number;\n /** Number of slices per block */\n numSlices: number;\n}\n\n/** Model view type */\nexport type ViewType = 'register' | '3d';\n\n/** Side which the model is viewed from */\nexport type ViewSide = 'left' | 'right' | 'anterior' | 'posterior';\n\n/** Data contained in the stage state. */\nexport interface ModelStateModel {\n /** Model identifier */\n id: string;\n /** Model label */\n label: string;\n /** Organ name */\n organ: OrganInfo;\n /** Reference Organ IRI */\n organIri?: string;\n /** Reference Organ Dimensions */\n organDimensions: XYZTriplet;\n /** Sex if applicable */\n sex?: 'male' | 'female';\n /** Side if applicable */\n side?: 'left' | 'right';\n /** Block size */\n blockSize: XYZTriplet;\n /** Model rotation */\n rotation: XYZTriplet;\n /** Model position */\n position: XYZTriplet;\n /** Slice configuration */\n slicesConfig: SlicesConfig;\n /** View type */\n viewType: ViewType;\n /** View side */\n viewSide: ViewSide;\n /** Whether previous registration blocks are visible */\n showPrevious: boolean;\n /** Possible extraction sites */\n extractionSites: VisibilityItem[];\n /** Anatomical structures for the organ */\n anatomicalStructures: VisibilityItem[];\n /** Extraction sets */\n extractionSets: ExtractionSet[];\n}\n\n/**\n * All organs to be displayed\n */\nexport const RUI_ORGANS = ALL_ORGANS;\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'model',\n defaults: {\n id: '',\n label: '',\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n organ: { src: '', name: '' } as OrganInfo,\n organIri: '',\n organDimensions: { x: 90, y: 90, z: 90 },\n sex: 'male',\n side: 'left',\n blockSize: { x: 10, y: 10, z: 10 },\n rotation: { x: 0, y: 0, z: 0 },\n position: { x: 0, y: 0, z: 0 },\n slicesConfig: { thickness: NaN, numSlices: NaN },\n viewType: 'register',\n viewSide: 'anterior',\n showPrevious: false,\n extractionSites: [],\n anatomicalStructures: [],\n extractionSets: []\n }\n})\n@Injectable()\nexport class ModelState extends NgxsImmutableDataRepository {\n /** Identifier observable */\n readonly id$ = this.state$.pipe(pluck('id'));\n /** Block size observable */\n readonly blockSize$ = this.state$.pipe(pluck('blockSize'));\n /** Rotation observable */\n readonly rotation$ = this.state$.pipe(pluck('rotation'));\n /** Position observable */\n readonly position$ = this.state$.pipe(pluck('position'));\n /** Slice configuration observable */\n readonly slicesConfig$ = this.state$.pipe(pluck('slicesConfig'));\n /** View type observable */\n readonly viewType$ = this.state$.pipe(pluck('viewType'));\n /** View side observable */\n readonly viewSide$ = this.state$.pipe(pluck('viewSide'));\n /** Organ observable */\n readonly organ$ = this.state$.pipe(pluck('organ'));\n /** Organ IRI observable */\n readonly organIri$ = this.state$.pipe(pluck('organIri'));\n /** Organ IRI observable */\n readonly organDimensions$ = this.state$.pipe(pluck('organDimensions'));\n /** Sex observable */\n readonly sex$ = this.state$.pipe(pluck('sex'));\n /** Side observable */\n readonly side$ = this.state$.pipe(pluck('side'));\n /** Show previous observable */\n readonly showPrevious$ = this.state$.pipe(pluck('showPrevious'));\n /** Extraction sites observable */\n readonly extractionSites$ = this.state$.pipe(pluck('extractionSites'));\n /** Anatomical structures observable */\n readonly anatomicalStructures$ = this.state$.pipe(pluck('anatomicalStructures'));\n /** Extraction sets observable */\n readonly extractionSets$ = this.state$.pipe(pluck('extractionSets'));\n\n @Computed()\n get modelChanged$(): Observable {\n const ignoredKeys = ['viewType', 'viewSide', 'showPrevious'];\n const keys = Object.keys(this.initialState)\n .filter(key => !ignoredKeys.includes(key));\n\n return this.state$.pipe(\n throttleTime(0, undefined, { leading: false, trailing: true }),\n distinctUntilChanged((v1, v2) => {\n for (const key of keys) {\n if (v1[key] !== v2[key]) {\n return false;\n }\n }\n\n return true;\n }),\n mapTo(undefined)\n );\n }\n\n /** Reference to the reference data state */\n private referenceData: ReferenceDataState;\n\n private page: PageState;\n\n /**\n * Creates an instance of model state.\n *\n * @param injector Injector service used to lazy load reference data state\n */\n constructor(\n private readonly ga: GoogleAnalyticsService,\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.referenceData = this.injector.get(ReferenceDataState);\n this.page = this.injector.get(PageState);\n\n this.globalConfig.getOption('organ').pipe(\n filterNulls(),\n switchMap(organConfig => {\n const organName = organConfig.name.toLowerCase();\n const organSide = organConfig.side;\n const ontologyId = organConfig.ontologyId;\n // check for an id match\n let organInfo = this.idMatches(ontologyId, organSide);\n // if no id matches, check for a name match\n if (!organInfo) {\n organInfo = this.nameMatches(organName, organSide);\n }\n if (organInfo) {\n this.ctx.patchState({\n organ: organInfo,\n sex: organConfig.sex?.toLowerCase() as 'male' | 'female',\n side: organInfo?.side?.toLowerCase() as 'left' | 'right'\n });\n return this.referenceData.state$.pipe(\n debounceTime(100),\n take(1),\n delay(200),\n tap(() => this.onOrganIriChange())\n );\n }\n return EMPTY;\n })\n ).subscribe();\n\n this.modelChanged$.pipe(\n skipUntil(this.page.registrationStarted$.pipe(\n filter(started => started),\n delay(5)\n ))\n ).subscribe(() => this.page.setHasChanges());\n }\n\n idMatches(ontologyId?: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n ontologyId && o.id === ontologyId ? (o.side ? o.side === organSide : true) : false\n );\n }\n\n nameMatches(organName: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n o.side ? o.organ.toLowerCase() === organName && o.side === organSide : o.organ.toLowerCase() === organName\n );\n }\n\n /**\n * Updates the block size\n *\n * @param blockSize The new block size values\n */\n @DataAction()\n setBlockSize(blockSize: XYZTriplet): void {\n this.ctx.patchState({ blockSize });\n }\n\n /**\n * Updates the rotation\n *\n * @param rotation The new rotation values\n */\n @DataAction()\n setRotation(rotation: XYZTriplet): void {\n this.ctx.patchState({ rotation });\n }\n\n /**\n * Updates the position\n *\n * @param position The new position values\n */\n @DataAction()\n setPosition(position: XYZTriplet): void {\n this.ga.event('placement', `${this.snapshot.organ?.name}_placement`, `${position.x.toFixed(1)}_${position.y.toFixed(1)}_${position.z.toFixed(1)}`);\n this.ctx.patchState({ position });\n }\n\n /**\n * Updates the slice configuration\n *\n * @param slicesConfig The new slice configuration\n */\n @DataAction()\n setSlicesConfig(slicesConfig: SlicesConfig): void {\n this.ctx.patchState({ slicesConfig });\n }\n\n /**\n * Updates the view type\n *\n * @param viewType the new view type\n */\n @DataAction()\n setViewType(viewType: ViewType): void {\n this.ctx.patchState({ viewType });\n }\n\n /**\n * Updates the view side\n *\n * @param viewSide The side to view\n */\n @DataAction()\n setViewSide(viewSide: ViewSide): void {\n this.ctx.patchState({ viewSide });\n }\n\n @Computed()\n get defaultPosition(): XYZTriplet {\n const dims = this.snapshot.organDimensions;\n const block = this.snapshot.blockSize;\n return { x: dims.x + 2 * block.x, y: dims.y / 2, z: dims.z / 2 };\n }\n\n /**\n * Updates the organ\n *\n * @param organ Name of the organ\n */\n @DataAction()\n setOrgan(organ: OrganInfo): void {\n this.ga.event('organ_select', 'organ', organ.name);\n this.ctx.patchState({ organ });\n if (organ.side) {\n this.ctx.patchState({ side: organ.side });\n }\n this.onOrganIriChange();\n }\n\n /**\n * Updates the sex\n *\n * @param [sex] The new sex\n */\n @DataAction()\n setSex(sex?: 'male' | 'female'): void {\n this.ctx.patchState({ sex });\n this.onOrganIriChange();\n }\n\n /**\n * Updates the side\n *\n * @param [side] The new side\n */\n @DataAction()\n setSide(side?: 'left' | 'right'): void {\n this.ctx.patchState({ side });\n this.onOrganIriChange();\n }\n\n /**\n * Updates show previous\n *\n * @param showPrevious Whether to show\n */\n @DataAction()\n setShowPrevious(showPrevious: boolean): void {\n this.ctx.patchState({ showPrevious });\n }\n\n /**\n * Updates extraction sites\n *\n * @param extractionSites New array of items\n */\n @DataAction()\n setExtractionSites(extractionSites: VisibilityItem[]): void {\n this.ctx.patchState({ extractionSites });\n }\n\n /**\n * Updates anatomical structures\n *\n * @param anatomicalStructures New array of items\n */\n @DataAction()\n setAnatomicalStructures(anatomicalStructures: VisibilityItem[]): void {\n this.ctx.patchState({ anatomicalStructures });\n }\n\n /**\n * Updates extraction sets\n *\n * @param extractionSets New array of extraction sets\n */\n @DataAction()\n setExtractionSets(extractionSets: ExtractionSet[]): void {\n this.ctx.patchState({ extractionSets });\n }\n\n /**\n * Toggles registration blocks visibility and handles anatomical structures\n * opacity changes accordingly\n *\n * @param visible the visible state to pass along to setShowPrevious()\n * @param previousItems visibilityItems to set anatomical structures\n */\n toggleRegistrationBlocksVisibility(visible: boolean, previousItems: VisibilityItem[]): void {\n this.setShowPrevious(visible);\n\n if (!visible) {\n this.setAnatomicalStructures(previousItems);\n } else {\n const newStructures = previousItems.map(structure => ({\n ...structure, opacity: Math.min(20, structure.opacity ?? 20)\n }));\n this.setAnatomicalStructures(newStructures);\n }\n }\n\n private onOrganIriChange(): void {\n const organIri = this.referenceData.getReferenceOrganIri(\n this.snapshot.organ?.organ || '', this.snapshot.sex, this.snapshot.side, this.snapshot.organ\n );\n const organDimensions: XYZTriplet = { x: 100, y: 100, z: 100 };\n\n if (this.snapshot.organ?.sex) {\n this.ctx.patchState({ sex: this.snapshot.organ?.sex });\n }\n\n if (organIri) {\n const db = this.referenceData.snapshot;\n const asLookup: { [id: string]: VisibilityItem } = {};\n for (const entity of (db.anatomicalStructures[organIri] || [])) {\n const iri = entity.representation_of ?? entity['@id'];\n if (!asLookup[iri]) {\n asLookup[iri] = {\n id: entity.representation_of ?? entity['@id'],\n name: entity.label!,\n visible: true,\n opacity: 20,\n tooltip: entity.comment\n };\n }\n }\n this.ctx.patchState({ anatomicalStructures: Object.values(asLookup) });\n\n const sets: ExtractionSet[] = (db.extractionSets[organIri] || []).map((set) => ({\n name: set.label,\n sites: sortBy(set.extractionSites.map((entity) => ({\n id: entity['@id'],\n name: entity.label!,\n visible: false,\n opacity: 0,\n tooltip: entity.comment\n })), 'name')\n }));\n this.ctx.patchState({ extractionSets: sets });\n this.ctx.patchState({ extractionSites: sets.length > 0 ? sets[0].sites : [] });\n\n const spatialEntity = db.organSpatialEntities[organIri];\n organDimensions.x = spatialEntity.x_dimension;\n organDimensions.y = spatialEntity.y_dimension;\n organDimensions.z = spatialEntity.z_dimension;\n }\n\n this.ctx.patchState({ organIri, organDimensions });\n this.ctx.patchState({ position: this.defaultPosition });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SlicesConfig-1.html":{"url":"interfaces/SlicesConfig-1.html","title":"interface - SlicesConfig-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SlicesConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n\n\n \n Description\n \n \n Interface containing slices data of the tissue block\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n numSlices\n \n \n \n \n thickness\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n numSlices\n \n \n \n \n \n \n \n \n numSlices: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Number of slices in the block\n\n \n \n \n \n \n \n \n \n \n thickness\n \n \n \n \n \n \n \n \n thickness: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Thickness of each tissue slice\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * Interface containing slices data of the tissue block\n */\nexport interface SlicesConfig {\n /** Thickness of each tissue slice */\n thickness: number;\n /** Number of slices in the block */\n numSlices: number;\n}\n\n/** Default values for slices config. */\nconst DEFAULT_SLICES_CONFIG: SlicesConfig = {\n thickness: NaN,\n numSlices: NaN\n};\n\n/**\n * Component for entering data on block slices\n */\n@Component({\n selector: 'ccf-slices-input',\n templateUrl: './slices-input.component.html',\n styleUrls: ['./slices-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SlicesInputComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-slices-input';\n\n /**\n * Values of block dimensions to be emitted\n */\n @Input() slicesConfig = DEFAULT_SLICES_CONFIG;\n\n /**\n * Emitter for slice data values\n */\n @Output() readonly slicesConfigChange = new EventEmitter();\n\n /**\n * Returns whether a valid thickness value has been entered.\n */\n get hasThicknessValue(): boolean {\n return !isNaN(this.slicesConfig.thickness);\n }\n\n /**\n * Creates an instance of slices input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Limits the length of the input if needed and updates values when an input changes\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key Name of the dimension to be updated\n */\n updateSlicesData(input: InputEvent, key: string): void {\n const { value: strValue } = input.target as HTMLInputElement;\n this.slicesConfig = { ...this.slicesConfig, [key]: strValue !== '' ? +strValue : NaN };\n this.ga.event('slice_config_update', 'slice_input', key, this.slicesConfig[key]);\n this.slicesConfigChange.emit(this.slicesConfig);\n }\n\n /**\n * Refreshes all slice data values to empty values\n */\n refreshSlices(): void {\n this.slicesConfig = DEFAULT_SLICES_CONFIG;\n this.ga.event('slice_config_reset', 'slice_input');\n this.slicesConfigChange.emit(this.slicesConfig);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SlicesInputComponent.html":{"url":"components/SlicesInputComponent.html","title":"component - SlicesInputComponent","body":"\n \n\n\n\n\n\n Components\n \n SlicesInputComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n\n\n\n \n Description\n \n \n Component for entering data on block slices\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-slices-input\n \n\n \n styleUrls\n ./slices-input.component.scss\n \n\n\n\n \n templateUrl\n ./slices-input.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n refreshSlices\n \n \n updateSlicesData\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n slicesConfig\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n slicesConfigChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n hasThicknessValue\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:48\n \n \n\n \n \n Creates an instance of slices input component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n slicesConfig\n \n \n \n \n Type : SlicesConfig\n\n \n \n \n \n Default value : DEFAULT_SLICES_CONFIG\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:36\n \n \n \n \n Values of block dimensions to be emitted\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n slicesConfigChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:41\n \n \n \n \n Emitter for slice data values\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-slices-input\"\n\n \n \n \n \n Default value : 'ccf-slices-input'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:31\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n refreshSlices\n \n \n \n \n \n \nrefreshSlices()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:73\n \n \n\n\n \n \n Refreshes all slice data values to empty values\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n updateSlicesData\n \n \n \n \n \n \nupdateSlicesData(input: InputEvent, key: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:63\n \n \n\n\n \n \n Limits the length of the input if needed and updates values when an input changes\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n input\n \n InputEvent\n \n\n \n No\n \n\n\n \n InputEvent from the input element which contains the new value\n\n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n Name of the dimension to be updated\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-slices-input'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:31\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n hasThicknessValue\n \n \n\n \n \n gethasThicknessValue()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts:46\n \n \n \n \n Returns whether a valid thickness value has been entered.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * Interface containing slices data of the tissue block\n */\nexport interface SlicesConfig {\n /** Thickness of each tissue slice */\n thickness: number;\n /** Number of slices in the block */\n numSlices: number;\n}\n\n/** Default values for slices config. */\nconst DEFAULT_SLICES_CONFIG: SlicesConfig = {\n thickness: NaN,\n numSlices: NaN\n};\n\n/**\n * Component for entering data on block slices\n */\n@Component({\n selector: 'ccf-slices-input',\n templateUrl: './slices-input.component.html',\n styleUrls: ['./slices-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SlicesInputComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-slices-input';\n\n /**\n * Values of block dimensions to be emitted\n */\n @Input() slicesConfig = DEFAULT_SLICES_CONFIG;\n\n /**\n * Emitter for slice data values\n */\n @Output() readonly slicesConfigChange = new EventEmitter();\n\n /**\n * Returns whether a valid thickness value has been entered.\n */\n get hasThicknessValue(): boolean {\n return !isNaN(this.slicesConfig.thickness);\n }\n\n /**\n * Creates an instance of slices input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Limits the length of the input if needed and updates values when an input changes\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key Name of the dimension to be updated\n */\n updateSlicesData(input: InputEvent, key: string): void {\n const { value: strValue } = input.target as HTMLInputElement;\n this.slicesConfig = { ...this.slicesConfig, [key]: strValue !== '' ? +strValue : NaN };\n this.ga.event('slice_config_update', 'slice_input', key, this.slicesConfig[key]);\n this.slicesConfigChange.emit(this.slicesConfig);\n }\n\n /**\n * Refreshes all slice data values to empty values\n */\n refreshSlices(): void {\n this.slicesConfig = DEFAULT_SLICES_CONFIG;\n this.ga.event('slice_config_reset', 'slice_input');\n this.slicesConfigChange.emit(this.slicesConfig);\n }\n}\n\n \n\n \n \n Tissue Sections\n \n \n refresh\n \n\n\n\n \n Thickness\n \n μm\n \n\n \n # Sections\n \n \n\n\n \n\n \n \n ./slices-input.component.scss\n \n :host {\n input[type=number] {\n -moz-appearance: textfield;\n }\n\n .header {\n display: flex;\n align-items: center;\n height: 1.5rem;\n\n .title {\n font-weight: 600;\n }\n\n .refresh {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n\n &:hover {\n border-radius: 2px;\n }\n }\n }\n\n .slices-inputs {\n display: flex;\n\n .field {\n width: 33.33%;\n\n &:not(:last-child) {\n padding-right: 0.75rem;\n }\n\n .input {\n text-align: center;\n }\n\n .suffix {\n display: none;\n }\n\n &.mat-focused .suffix, .suffix.show {\n display: initial;\n }\n }\n }\n\n .filler {\n flex-grow: 1;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Tissue Sections refresh Thickness μm # Sections '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'SlicesInputComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SlicesInputModule.html":{"url":"modules/SlicesInputModule.html","title":"module - SlicesInputModule","body":"\n \n\n\n\n\n Modules\n SlicesInputModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SlicesInputModule\n\n\n\ncluster_SlicesInputModule_exports\n\n\n\ncluster_SlicesInputModule_declarations\n\n\n\n\nSlicesInputComponent\n\nSlicesInputComponent\n\n\n\nSlicesInputModule\n\nSlicesInputModule\n\nSlicesInputModule -->\n\nSlicesInputComponent->SlicesInputModule\n\n\n\n\n\nSlicesInputComponent \n\nSlicesInputComponent \n\nSlicesInputComponent -->\n\nSlicesInputModule->SlicesInputComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SlicesInputComponent\n \n \n \n \n Exports\n \n \n SlicesInputComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { NumbersOnlyModule } from 'ccf-shared';\nimport { SlicesInputComponent } from './slices-input.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatInputModule,\n MatIconModule,\n MatRippleModule,\n MatTooltipModule,\n NumbersOnlyModule\n ],\n declarations: [SlicesInputComponent],\n exports: [SlicesInputComponent]\n})\nexport class SlicesInputModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/StageNavComponent.html":{"url":"components/StageNavComponent.html","title":"component - StageNavComponent","body":"\n \n\n\n\n\n\n Components\n \n StageNavComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts\n\n\n\n \n Description\n \n \n Component that allows the user to change the viewing angle and rendering mode of the stage.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-stage-nav\n \n\n \n styleUrls\n ./stage-nav.component.scss\n \n\n\n\n \n templateUrl\n ./stage-nav.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n isDropdownActive\n \n \n isDropdownHidden\n \n \n labelRef\n \n \n optionsRef\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleClick\n \n \n updateSide\n \n \n updateView\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n side\n \n \n useDropdownMenu\n \n \n view3D\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n sideChange\n \n \n view3DChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n \n \n HostListeners\n \n \n \n \n \n \n document:click\n \n \n \n \n\n \n \n Accessors\n \n \n \n \n \n \n useDropdownMenu\n \n \n labelEl\n \n \n optionsEl\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:60\n \n \n\n \n \n Creates an instance of stage nav component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n side\n \n \n \n \n Type : Side\n\n \n \n \n \n Default value : 'anterior'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:29\n \n \n \n \n Input that allows changing the current side from outside the component\n\n \n \n \n \n \n \n \n \n \n useDropdownMenu\n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:23\n \n \n \n \n Whether to use a drop down menu instead of a options bar\n\n \n \n \n \n \n \n \n \n \n view3D\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:32\n \n \n \n \n Input that allows toggling of 3D view on / off from outside the component\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n sideChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:35\n \n \n \n \n Output that emits whenever the current side selection changes\n\n \n \n \n \n \n \n \n \n \n view3DChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:38\n \n \n \n \n Output that emits whenever the 3D view is toggled on / off\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-stage-nav\"\n\n \n \n \n \n Default value : 'ccf-stage-nav'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n HostListeners \n \n \n \n \n \n document:click\n \n \n \n \n \n \n Arguments : '$event.target' \n \n \n \n \ndocument:click(target: HTMLElement)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:76\n \n \n\n\n \n \n Listens to document click event\nCloses the popup only if user clicks outside the popup\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n target\n\n \n No\n \n\n\n \n The element on which the event was fired\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleClick\n \n \n \n \n \n \nhandleClick(target: HTMLElement)\n \n \n\n \n \n Decorators : \n \n @HostListener('document:click', ['$event.target'])\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:76\n \n \n\n\n \n \n Listens to document click event\nCloses the popup only if user clicks outside the popup\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n target\n \n HTMLElement\n \n\n \n No\n \n\n\n \n The element on which the event was fired\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateSide\n \n \n \n \n \n \nupdateSide(selection: Side)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:91\n \n \n\n\n \n \n Handles the updating of the side selection and calling the event emitter\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n selection\n \n Side\n \n\n \n No\n \n\n\n \n the new selected side\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateView\n \n \n \n \n \n \nupdateView(selection: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:109\n \n \n\n\n \n \n Handles updating of the boolean that keeps track of current view\nand calling the event emitter.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n selection\n \n boolean\n \n\n \n No\n \n\n\n \n 3D (true) or Register (false)\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-stage-nav'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:19\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n isDropdownActive\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:47\n \n \n\n \n \n Whether this component shows a dropdown menu or an options bar\n\n \n \n\n \n \n \n \n \n \n \n \n isDropdownHidden\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:50\n \n \n\n \n \n Whether the dropdown menu is hidden\n\n \n \n\n \n \n \n \n \n \n \n \n labelRef\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('label', {static: true})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:41\n \n \n\n \n \n Label for dropdown\n\n \n \n\n \n \n \n \n \n \n \n \n optionsRef\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('options', {static: true})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:44\n \n \n\n \n \n Options dropdown\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n useDropdownMenu\n \n \n\n\n \n \n setuseDropdownMenu(value: boolean)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:23\n \n \n \n \n Whether to use a drop down menu instead of a options bar\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n labelEl\n \n \n\n \n \n getlabelEl()\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:53\n \n \n \n \n Simple helper for accessing the native label element\n\n\n \n Returns : HTMLElement\n\n \n \n \n\n \n \n \n \n \n \n \n optionsEl\n \n \n\n \n \n getoptionsEl()\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts:58\n \n \n \n \n Simple helper for accessing the native options element\n\n\n \n Returns : HTMLElement\n\n \n \n \n\n \n \n\n\n\n\n \n import {\n ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild,\n} from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/** Valid values for side. */\nexport type Side = 'left' | 'right' | 'anterior' | 'posterior' | '3D';\n\n/** Component that allows the user to change the viewing angle and rendering mode of the stage. */\n@Component({\n selector: 'ccf-stage-nav',\n templateUrl: './stage-nav.component.html',\n styleUrls: ['./stage-nav.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class StageNavComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-stage-nav';\n\n /** Whether to use a drop down menu instead of a options bar */\n @Input()\n set useDropdownMenu(value: boolean) {\n this.isDropdownActive = value;\n this.isDropdownHidden = true;\n }\n\n /** Input that allows changing the current side from outside the component */\n @Input() side: Side = 'anterior';\n\n /** Input that allows toggling of 3D view on / off from outside the component */\n @Input() view3D = false;\n\n /** Output that emits whenever the current side selection changes */\n @Output() readonly sideChange = new EventEmitter();\n\n /** Output that emits whenever the 3D view is toggled on / off */\n @Output() readonly view3DChange = new EventEmitter();\n\n /** Label for dropdown */\n @ViewChild('label', { static: true }) labelRef: ElementRef;\n\n /** Options dropdown */\n @ViewChild('options', { static: true }) optionsRef: ElementRef;\n\n /** Whether this component shows a dropdown menu or an options bar */\n isDropdownActive = false;\n\n /** Whether the dropdown menu is hidden */\n isDropdownHidden = true;\n\n /** Simple helper for accessing the native label element */\n private get labelEl(): HTMLElement {\n return this.labelRef.nativeElement;\n }\n\n /** Simple helper for accessing the native options element */\n private get optionsEl(): HTMLElement {\n return this.optionsRef.nativeElement;\n }\n\n /**\n * Creates an instance of stage nav component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Listens to document click event\n * Closes the popup only if user clicks outside the popup\n *\n * @param target The element on which the event was fired\n */\n @HostListener('document:click', ['$event.target'])\n handleClick(target: HTMLElement): void {\n const { isDropdownHidden, labelEl, optionsEl } = this;\n\n if (labelEl.contains(target)) {\n this.isDropdownHidden = !isDropdownHidden;\n } else if (!optionsEl.contains(target)) {\n this.isDropdownHidden = true;\n }\n }\n\n /**\n * Handles the updating of the side selection and calling the event emitter\n *\n * @param selection the new selected side\n */\n updateSide(selection: Side): void {\n this.ga.event('side_update', 'stage_nav', selection);\n\n if (selection === '3D') {\n this.updateView(true);\n } else {\n this.updateView(false);\n this.side = selection;\n this.sideChange.emit(this.side);\n }\n }\n\n /**\n * Handles updating of the boolean that keeps track of current view\n * and calling the event emitter.\n *\n * @param selection 3D (true) or Register (false)\n */\n updateView(selection: boolean): void {\n this.view3D = selection;\n this.ga.event('view_update', 'stage_nav', selection ? '3D' : 'Register');\n this.view3DChange.emit(this.view3D);\n }\n}\n\n \n\n \n \n Options\n arrow_drop_down\n\n\n\n \n Left\n Right\n Anterior\n Posterior\n \n\n \n\n\n\n \n\n \n \n ./stage-nav.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n\n .dropdown-label {\n display: none;\n align-items: center;\n\n mat-label,\n mat-icon {\n line-height: 1.5rem;\n }\n\n &.dropdown {\n display: flex;\n cursor: pointer;\n align-items: start;\n }\n }\n\n .stage-options {\n display: flex;\n align-items: center;\n\n .input-group {\n .nav-input {\n margin-right: 1.5rem;\n margin-bottom: 1.5rem;\n }\n }\n\n .view-slider {\n margin-left: -1rem;\n margin-bottom: 1.5rem;\n white-space: nowrap;\n }\n\n &.dropdowncontainer {\n display: flex;\n flex-direction: column;\n border-radius: 0.25rem;\n width: 16.5rem;\n position: absolute;\n top: 3.5rem;\n z-index: 1;\n transition: opacity 0.25s;\n\n :first-child {\n margin-top: 0.5rem;\n }\n\n :last-child {\n margin-bottom: 0.5rem;\n }\n\n .input-group {\n margin-left: 1.5rem;\n margin-right: 0;\n display: flex;\n flex-wrap: wrap;\n\n .nav-input {\n display: flex;\n margin: 0;\n margin-right: 1.5rem;\n height: 2.5rem;\n }\n }\n\n .view-slider {\n display: flex;\n align-items: center;\n height: 3rem;\n margin: 0 0.5rem;\n }\n\n mat-divider {\n visibility: visible;\n border-top: 2px solid;\n }\n }\n\n &.hidden {\n visibility: hidden;\n opacity: 0;\n transition: visibility 0.25s, opacity 0.25s;\n\n mat-divider {\n visibility: hidden;\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' Options arrow_drop_down Left Right Anterior Posterior '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'StageNavComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StageNavModule.html":{"url":"modules/StageNavModule.html","title":"module - StageNavModule","body":"\n \n\n\n\n\n Modules\n StageNavModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_StageNavModule\n\n\n\ncluster_StageNavModule_exports\n\n\n\ncluster_StageNavModule_imports\n\n\n\ncluster_StageNavModule_declarations\n\n\n\n\nStageNavComponent\n\nStageNavComponent\n\n\n\nStageNavModule\n\nStageNavModule\n\nStageNavModule -->\n\nStageNavComponent->StageNavModule\n\n\n\n\n\nStageNavComponent \n\nStageNavComponent \n\nStageNavComponent -->\n\nStageNavModule->StageNavComponent \n\n\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nStageNavModule -->\n\nLabeledSlideToggleModule->StageNavModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n StageNavComponent\n \n \n \n \n Imports\n \n \n LabeledSlideToggleModule\n \n \n \n \n Exports\n \n \n StageNavComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { LabeledSlideToggleModule } from '../../../shared/components/labeled-slide-toggle/labeled-slide-toggle.module';\n\nimport { StageNavComponent } from './stage-nav.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatRadioModule,\n MatSelectModule,\n MatIconModule,\n MatDividerModule,\n LabeledSlideToggleModule,\n MatTooltipModule\n ],\n declarations: [StageNavComponent],\n exports: [StageNavComponent]\n})\nexport class StageNavModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StoreModule.html":{"url":"modules/StoreModule.html","title":"module - StoreModule","body":"\n \n\n\n\n\n Modules\n StoreModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/core/store/store.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { NgxsDataPluginModule } from '@ngxs-labs/data';\nimport { NgxsLoggerPluginModule } from '@ngxs/logger-plugin';\nimport { NgxsStoragePluginModule } from '@ngxs/storage-plugin';\nimport { NgxsModule } from '@ngxs/store';\nimport { GlobalConfigState } from 'ccf-shared';\n\nimport { environment } from '../../../environments/environment';\nimport { AnatomicalStructureTagState } from './anatomical-structure-tags/anatomical-structure-tags.state';\nimport { IconRegistryState } from './icon-registry/icon-registry.state';\nimport { ModelState } from './model/model.state';\nimport { PageState } from './page/page.state';\nimport { ReferenceDataState } from './reference-data/reference-data.state';\nimport { RegistrationState } from './registration/registration.state';\nimport { SceneState } from './scene/scene.state';\n\n\n/**\n * States shared across the entire app.\n */\nexport const ROOT_STATES = [\n GlobalConfigState,\n IconRegistryState,\n PageState,\n ModelState,\n AnatomicalStructureTagState,\n ReferenceDataState,\n RegistrationState,\n SceneState\n];\n\n@NgModule({\n imports: [\n // For some strange reason the data plugin is not happy being placed after the store module!?\n NgxsDataPluginModule.forRoot(),\n\n NgxsModule.forRoot(ROOT_STATES, {\n developmentMode: !environment.production\n // Consider setting compatibility and executionStrategy\n // https://www.ngxs.io/advanced/options\n }),\n\n // Must come before all other plugins except the ngxs data plugin!\n NgxsStoragePluginModule.forRoot({\n key: ['registration.registrations']\n }),\n\n // Logger plugin must be last!\n NgxsLoggerPluginModule.forRoot({\n disabled: environment.production\n })\n ]\n})\nexport class StoreModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Tag.html":{"url":"interfaces/Tag.html","title":"interface - Tag","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Tag\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n\n\n \n Description\n \n \n A tag\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n label\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: TagId\n\n \n \n\n\n \n \n Type : TagId\n\n \n \n\n\n\n\n\n \n \n Unique identifier\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Display label\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: \"assigned\" | \"added\" | \"removed\"\n\n \n \n\n\n \n \n Type : \"assigned\" | \"added\" | \"removed\"\n\n \n \n\n\n\n\n\n \n \n How the tag was added\n\n \n \n \n \n \n \n\n\n \n export type TagId = string | number;\n\n/**\n * A tag\n */\nexport interface Tag {\n /** Unique identifier */\n id: TagId;\n /** Display label */\n label: string;\n /** How the tag was added */\n type: 'assigned' | 'added' | 'removed';\n}\n\n/**\n * Search result\n */\nexport interface TagSearchResult {\n /** Total number of possible results */\n totalCount: number;\n /** Partial results up to a limit */\n results: Tag[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TagListComponent.html":{"url":"components/TagListComponent.html","title":"component - TagListComponent","body":"\n \n\n\n\n\n\n Components\n \n TagListComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts\n\n\n\n \n Description\n \n \n A list of removable tags\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-tag-list\n \n\n \n styleUrls\n ./tag-list.component.scss\n \n\n\n\n \n templateUrl\n ./tag-list.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n removeTag\n \n \n tagClasses\n \n \n tagId\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n tags\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n tagRemoved\n \n \n tagsChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:33\n \n \n\n \n \n Creates an instance of tag list component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n tags\n \n \n \n \n Type : Tag[]\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:23\n \n \n \n \n The tags\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n tagRemoved\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:28\n \n \n \n \n Emits when a tag is removed\n\n \n \n \n \n \n \n \n \n \n tagsChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:33\n \n \n \n \n Emits the new array of tags when a tag has been removed\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-tag-list\"\n\n \n \n \n \n Default value : 'ccf-tag-list'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n removeTag\n \n \n \n \n \n \nremoveTag(tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:62\n \n \n\n\n \n \n Removes a tag from the list\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n Tag to remove\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n tagClasses\n \n \n \n \n \n \ntagClasses(tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n tagId\n \n \n \n \n \n \ntagId(_index: number, tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:49\n \n \n\n\n \n \n Gets the unique identifier for a tag\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n Unused\n\n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n A tag\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-tag-list'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { Tag } from '../../../core/models/anatomical-structure-tag';\n\n\n/**\n * A list of removable tags\n */\n@Component({\n selector: 'ccf-tag-list',\n templateUrl: './tag-list.component.html',\n styleUrls: ['./tag-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TagListComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-tag-list';\n\n /**\n * The tags\n */\n @Input() tags: Tag[];\n\n /**\n * Emits when a tag is removed\n */\n @Output() readonly tagRemoved = new EventEmitter();\n\n /**\n * Emits the new array of tags when a tag has been removed\n */\n @Output() readonly tagsChange = new EventEmitter();\n\n /**\n * Creates an instance of tag list component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Gets the unique identifier for a tag\n *\n * @param _index Unused\n * @param tag A tag\n * @returns An identifier\n */\n tagId(_index: number, tag: Tag): unknown {\n return tag.id;\n }\n\n tagClasses(tag: Tag): string[] {\n return tag.type === 'added' ? ['added'] : ['assigned'];\n }\n\n /**\n * Removes a tag from the list\n *\n * @param tag Tag to remove\n */\n removeTag(tag: Tag): void {\n this.tags = this.tags.filter(obj => obj !== tag);\n this.ga.event('tag_removed', 'tag_list', tag.label);\n this.tagRemoved.emit(tag);\n this.tagsChange.emit(this.tags);\n }\n}\n\n \n\n \n \n \n {{ tag.label }}\n cancel\n \n\n\n \n\n \n \n ./tag-list.component.scss\n \n :host {\n display: block;\n overflow-x: hidden;\n overflow-y: auto;\n\n ::ng-deep .mat-chip-list-wrapper {\n margin: 0;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ tag.label }} cancel '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TagListComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TagListModule.html":{"url":"modules/TagListModule.html","title":"module - TagListModule","body":"\n \n\n\n\n\n Modules\n TagListModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TagListModule\n\n\n\ncluster_TagListModule_declarations\n\n\n\ncluster_TagListModule_exports\n\n\n\n\nTagListComponent\n\nTagListComponent\n\n\n\nTagListModule\n\nTagListModule\n\nTagListModule -->\n\nTagListComponent->TagListModule\n\n\n\n\n\nTagListComponent \n\nTagListComponent \n\nTagListComponent -->\n\nTagListModule->TagListComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/tag-list/tag-list.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TagListComponent\n \n \n \n \n Exports\n \n \n TagListComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TagListComponent } from './tag-list.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatChipsModule,\n MatIconModule\n ],\n declarations: [TagListComponent],\n exports: [TagListComponent],\n})\nexport class TagListModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TagSearchComponent.html":{"url":"components/TagSearchComponent.html","title":"component - TagSearchComponent","body":"\n \n\n\n\n\n\n Components\n \n TagSearchComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n\n\n\n \n Description\n \n \n Component for searching, selecting, and adding tags.\n\n \n\n\n \n Implements\n \n \n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-tag-search\n \n\n \n styleUrls\n ./tag-search.component.scss\n \n\n\n\n \n templateUrl\n ./tag-search.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n checkedResults\n \n \n closeSearch\n \n \n Readonly\n clsName\n \n \n Readonly\n countMapping\n \n \n Private\n Readonly\n destroy$\n \n \n resultsVisible\n \n \n Readonly\n searchControl\n \n \n searchResults\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addTags\n \n \n closeResults\n \n \n Private\n executeSearch\n \n \n Private\n getUpdatedCheckedResults\n \n \n hasCheckedTags\n \n \n ngOnDestroy\n \n \n openResults\n \n \n tagId\n \n \n Private\n truncateResults\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n placeholder\n \n \n search\n \n \n searchLimit\n \n \n searchThrottle\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n added\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n \n \n HostListeners\n \n \n \n \n \n \n click\n \n \n focusin\n \n \n window:click\n \n \n window:focusin\n \n \n \n \n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(el: ElementRef, ga: GoogleAnalyticsService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:73\n \n \n\n \n \n Creates an instance of tag search component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n el\n \n \n ElementRef\n \n \n \n No\n \n \n \n Element for this component\n\n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n Reference to change detector\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n placeholder\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Add Anatomical Structures ...'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:37\n \n \n \n \n Placeholder text\n\n \n \n \n \n \n \n \n \n \n search\n \n \n \n \n Type : function\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:40\n \n \n \n \n Search method\n\n \n \n \n \n \n \n \n \n \n searchLimit\n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:43\n \n \n \n \n Maximum number of results to show\n\n \n \n \n \n \n \n \n \n \n searchThrottle\n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:46\n \n \n \n \n Throttle time between search calls\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n added\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:49\n \n \n \n \n Emits when tags are added\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-tag-search\"\n\n \n \n \n \n Default value : 'ccf-tag-search'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:34\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n \n HostListeners \n \n \n \n \n \n click\n \n \n \n \n \n \nclick()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:150\n \n \n\n\n \n \n Opens the results panel\n\n\n \n \n \n \n \n \n \n \n \n \n focusin\n \n \n \n \n \n \nfocusin()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:150\n \n \n\n\n \n \n Opens the results panel\n\n\n \n \n \n \n \n \n \n \n \n \n window:click\n \n \n \n \n \n \n Arguments : '$event' \n \n \n \n \nwindow:click(event: Event)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:163\n \n \n\n\n \n \n Closes the results panel\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n event\n\n \n No\n \n\n\n \n DOM event\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n window:focusin\n \n \n \n \n \n \n Arguments : '$event' \n \n \n \n \nwindow:focusin(event: Event)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:163\n \n \n\n\n \n \n Closes the results panel\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n event\n\n \n No\n \n\n\n \n DOM event\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n addTags\n \n \n \n \n \n \naddTags()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:132\n \n \n\n\n \n \n Emits selected tags and resets the search and selections\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n closeResults\n \n \n \n \n \n \ncloseResults(event: Event)\n \n \n\n \n \n Decorators : \n \n @HostListener('window:click', ['$event'])@HostListener('window:focusin', ['$event'])\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:163\n \n \n\n\n \n \n Closes the results panel\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n Event\n \n\n \n No\n \n\n\n \n DOM event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n executeSearch\n \n \n \n \n \n \n \n executeSearch(text: string)\n \n \n\n \n \n Decorators : \n \n @Bind()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:179\n \n \n\n\n \n \n Executes a search on a piece of text.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n Search text\n\n \n \n \n \n \n \n \n \n Returns : ObservableInput\n\n \n \n An observable of the search result.\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getUpdatedCheckedResults\n \n \n \n \n \n \n \n getUpdatedCheckedResults(result: TagSearchResult)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:218\n \n \n\n\n \n \n Computes a new checked object for result items. Already checked items are preserved.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n result\n \n TagSearchResult\n \n\n \n No\n \n\n\n \n New results\n\n \n \n \n \n \n \n \n \n Returns : Record\n\n \n \n A new checked object\n\n \n \n \n \n \n \n \n \n \n \n \n hasCheckedTags\n \n \n \n \n \n \nhasCheckedTags()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:125\n \n \n\n\n \n \n Determines whether any tags have been checked\n\n\n \n \n \n Returns : boolean\n\n \n \n true if any tag has been checked by the user\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:104\n \n \n\n\n \n \n Cleans up component on destruction\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n openResults\n \n \n \n \n \n \nopenResults()\n \n \n\n \n \n Decorators : \n \n @HostListener('click')@HostListener('focusin')\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:150\n \n \n\n\n \n \n Opens the results panel\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n tagId\n \n \n \n \n \n \ntagId(_index: number, tag: Tag)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:116\n \n \n\n\n \n \n Extracts the tag identifier\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n Unused\n\n \n \n \n tag\n \n Tag\n \n\n \n No\n \n\n\n \n A tag\n\n \n \n \n \n \n \n \n \n Returns : TagId\n\n \n \n The identifier corresponding to the tag\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n truncateResults\n \n \n \n \n \n \n \n truncateResults(result: TagSearchResult)\n \n \n\n \n \n Decorators : \n \n @Bind()\n \n \n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:198\n \n \n\n\n \n \n Truncates the number of results returned by a search\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n result\n \n TagSearchResult\n \n\n \n No\n \n\n\n \n The results\n\n \n \n \n \n \n \n \n \n Returns : TagSearchResult\n\n \n \n Results with at most searchLimit items\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n checkedResults\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:67\n \n \n\n \n \n Object of currently checked search results\n\n \n \n\n \n \n \n \n \n \n \n \n closeSearch\n \n \n \n \n \n \n Type : ElementRef\n\n \n \n \n \n Decorators : \n \n \n @ViewChild('closeSearch', {read: ElementRef, static: false})\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:52\n \n \n\n \n \n Element for close search button\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-tag-search'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:34\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n countMapping\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n '=1': '1 result',\n other: '# results'\n }\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:55\n \n \n\n \n \n Mapping for pluralizing the result total count\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n Readonly\n destroy$\n \n \n \n \n \n \n Default value : new Subject()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:73\n \n \n\n \n \n Emits and completes when component is destroyed. Used to clean up observables.\n\n \n \n\n \n \n \n \n \n \n \n \n resultsVisible\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:70\n \n \n\n \n \n Whether results are shown\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n searchControl\n \n \n \n \n \n \n Default value : new FormControl()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:61\n \n \n\n \n \n Search field controller\n\n \n \n\n \n \n \n \n \n \n \n \n searchResults\n \n \n \n \n \n \n Default value : EMPTY_RESULT\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts:64\n \n \n\n \n \n Search results\n\n \n \n\n \n \n\n\n\n\n\n \n import {\n ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input,\n OnDestroy, Output, ViewChild,\n} from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { bind as Bind } from 'bind-decorator';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { from, interval, ObservableInput, Subject } from 'rxjs';\nimport { catchError, map, switchMap, takeUntil, throttle } from 'rxjs/operators';\n\nimport { Tag, TagId, TagSearchResult } from '../../../core/models/anatomical-structure-tag';\n\n\n/** Default search results limit */\nconst DEFAULT_SEARCH_LIMIT = 5;\n/** Default search throttle time in ms */\nconst DEFAULT_SEARCH_THROTTLE = 100;\n/** Empty search result object */\nconst EMPTY_RESULT: TagSearchResult = { totalCount: 0, results: [] };\n\n\n/**\n * Component for searching, selecting, and adding tags.\n */\n@Component({\n selector: 'ccf-tag-search',\n templateUrl: './tag-search.component.html',\n styleUrls: ['./tag-search.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TagSearchComponent implements OnDestroy {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-tag-search';\n\n /** Placeholder text */\n @Input() placeholder = 'Add Anatomical Structures ...';\n\n /** Search method */\n @Input() search?: (text: string, limit: number) => ObservableInput;\n\n /** Maximum number of results to show */\n @Input() searchLimit?: number;\n\n /** Throttle time between search calls */\n @Input() searchThrottle?: number;\n\n /** Emits when tags are added */\n @Output() readonly added = new EventEmitter();\n\n /** Element for close search button */\n @ViewChild('closeSearch', { read: ElementRef, static: false }) closeSearch: ElementRef;\n\n /** Mapping for pluralizing the result total count */\n readonly countMapping = {\n '=1': '1 result',\n other: '# results'\n };\n\n /** Search field controller */\n readonly searchControl = new FormControl();\n\n /** Search results */\n searchResults = EMPTY_RESULT;\n\n /** Object of currently checked search results */\n checkedResults: Record = {};\n\n /** Whether results are shown */\n resultsVisible = false;\n\n /** Emits and completes when component is destroyed. Used to clean up observables. */\n private readonly destroy$ = new Subject();\n\n /**\n * Creates an instance of tag search component.\n *\n * @param el Element for this component\n * @param ga Analytics service\n * @param cdr Reference to change detector\n */\n constructor(\n private readonly el: ElementRef,\n private readonly ga: GoogleAnalyticsService,\n cdr: ChangeDetectorRef\n ) {\n this.searchControl.valueChanges.pipe(\n takeUntil(this.destroy$),\n throttle(\n () => interval(this.searchThrottle ?? DEFAULT_SEARCH_THROTTLE),\n { leading: true, trailing: true }\n ),\n switchMap(this.executeSearch),\n ).subscribe(result => {\n this.searchResults = result;\n this.checkedResults = this.getUpdatedCheckedResults(result);\n cdr.markForCheck();\n });\n }\n\n /**\n * Cleans up component on destruction\n */\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n /**\n * Extracts the tag identifier\n *\n * @param _index Unused\n * @param tag A tag\n * @returns The identifier corresponding to the tag\n */\n tagId(_index: number, tag: Tag): TagId {\n return tag.id;\n }\n\n /**\n * Determines whether any tags have been checked\n *\n * @returns true if any tag has been checked by the user\n */\n hasCheckedTags(): boolean {\n return Object.values(this.checkedResults).some(v => v);\n }\n\n /**\n * Emits selected tags and resets the search and selections\n */\n addTags(): void {\n const { searchControl, searchResults, checkedResults } = this;\n const tags = searchResults.results.filter(tag => checkedResults[tag.id]);\n\n if (tags.length > 0) {\n searchControl.reset();\n this.searchResults = EMPTY_RESULT;\n this.checkedResults = {};\n this.ga.event('tags_added', 'tag_search', tags.map(tag => tag.label).join(','));\n this.added.emit(tags);\n }\n }\n\n /**\n * Opens the results panel\n */\n @HostListener('click') // eslint-disable-line\n @HostListener('focusin') // eslint-disable-line\n openResults(): void {\n if (!this.resultsVisible) {\n this.resultsVisible = true;\n }\n }\n\n /**\n * Closes the results panel\n *\n * @param event DOM event\n */\n @HostListener('window:click', ['$event']) // eslint-disable-line\n @HostListener('window:focusin', ['$event']) // eslint-disable-line\n closeResults(event: Event): void {\n const { closeSearch } = this;\n if (this.resultsVisible && event.target instanceof Node) {\n if (!this.el.nativeElement.contains(event.target) || closeSearch.nativeElement.contains(event.target)) {\n this.resultsVisible = false;\n }\n }\n }\n\n /**\n * Executes a search on a piece of text.\n *\n * @param text Search text\n * @returns An observable of the search result.\n */\n @Bind\n private executeSearch(text: string): ObservableInput {\n const { search, searchLimit = DEFAULT_SEARCH_LIMIT } = this;\n if (!text || !search) {\n return [EMPTY_RESULT];\n }\n\n return from(search(text, searchLimit)).pipe(\n catchError(() => [EMPTY_RESULT]),\n map(this.truncateResults)\n );\n }\n\n /**\n * Truncates the number of results returned by a search\n *\n * @param result The results\n * @returns Results with at most `searchLimit` items\n */\n @Bind\n private truncateResults(result: TagSearchResult): TagSearchResult {\n const { searchLimit = DEFAULT_SEARCH_LIMIT } = this;\n const items = result.results;\n\n if (items.length > searchLimit) {\n return {\n ...result,\n results: items.slice(0, searchLimit)\n };\n }\n\n return result;\n }\n\n /**\n * Computes a new checked object for result items. Already checked items are preserved.\n *\n * @param result New results\n * @returns A new checked object\n */\n private getUpdatedCheckedResults(result: TagSearchResult): Record {\n const prev = this.checkedResults;\n return result.results.reduce((acc, { id }) => {\n acc[id] = prev[id] ?? false;\n return acc;\n }, {});\n }\n}\n\n \n\n \n \n\n\n \n \n \n add\n \n \n\n \n \n \n {{ result.label }}\n \n \n\n \n {{ searchResults.totalCount | i18nPlural:countMapping }}\n \n \n\n\n \n\n \n \n ./tag-search.component.scss\n \n :host {\n display: block;\n position: relative;\n\n .spacer {\n // Calculated by adding up all padding/margin/height of material form fields\n height: 3.25rem;\n }\n\n .overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n z-index: 10;\n\n .search-box {\n display: flex;\n width: 100%;\n align-items: center;\n height: 3rem;\n\n .add-button {\n border-radius: 0.25rem;\n border: none;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n height: 100%;\n }\n }\n\n .results {\n margin-top: 0.5rem;\n\n .count {\n margin-top: 0.5rem;\n font-size: 0.75rem;\n text-align: end;\n }\n }\n\n ::ng-deep {\n .mat-form-field-wrapper {\n padding-bottom: 0;\n border-radius: 0.5rem;\n\n .mat-form-field-flex {\n padding-right: 0 !important;\n }\n }\n\n .mat-form-field-outline {\n opacity: 1 !important;\n }\n\n .mat-form-field-outline-thick {\n opacity: 0 !important;\n }\n\n .mat-form-field-infix {\n padding: 0.063rem;\n padding-top: 0.313rem;\n border: 0;\n }\n }\n\n &.expanded {\n ::ng-deep {\n .mat-form-field-wrapper {\n box-shadow: 0rem 0rem 0.3rem 0.1rem #9e9e9e5e;\n }\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' add {{ result.label }} {{ searchResults.totalCount | i18nPlural:countMapping }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'TagSearchComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TagSearchModule.html":{"url":"modules/TagSearchModule.html","title":"module - TagSearchModule","body":"\n \n\n\n\n\n Modules\n TagSearchModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TagSearchModule\n\n\n\ncluster_TagSearchModule_declarations\n\n\n\ncluster_TagSearchModule_exports\n\n\n\n\nTagSearchComponent\n\nTagSearchComponent\n\n\n\nTagSearchModule\n\nTagSearchModule\n\nTagSearchModule -->\n\nTagSearchComponent->TagSearchModule\n\n\n\n\n\nTagSearchComponent \n\nTagSearchComponent \n\nTagSearchComponent -->\n\nTagSearchModule->TagSearchComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TagSearchComponent\n \n \n \n \n Exports\n \n \n TagSearchComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { TagSearchComponent } from './tag-search.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n MatButtonModule,\n MatCheckboxModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n ],\n declarations: [TagSearchComponent],\n exports: [TagSearchComponent]\n})\nexport class TagSearchModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TagSearchResult.html":{"url":"interfaces/TagSearchResult.html","title":"interface - TagSearchResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TagSearchResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n\n\n \n Description\n \n \n Search result\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n results\n \n \n \n \n totalCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n results\n \n \n \n \n \n \n \n \n results: Tag[]\n\n \n \n\n\n \n \n Type : Tag[]\n\n \n \n\n\n\n\n\n \n \n Partial results up to a limit\n\n \n \n \n \n \n \n \n \n \n totalCount\n \n \n \n \n \n \n \n \n totalCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Total number of possible results\n\n \n \n \n \n \n \n\n\n \n export type TagId = string | number;\n\n/**\n * A tag\n */\nexport interface Tag {\n /** Unique identifier */\n id: TagId;\n /** Display label */\n label: string;\n /** How the tag was added */\n type: 'assigned' | 'added' | 'removed';\n}\n\n/**\n * Search result\n */\nexport interface TagSearchResult {\n /** Total number of possible results */\n totalCount: number;\n /** Partial results up to a limit */\n results: Tag[];\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ThemingModule.html":{"url":"modules/ThemingModule.html","title":"module - ThemingModule","body":"\n \n\n\n\n\n Modules\n ThemingModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_ThemingModule\n\n\n\ncluster_ThemingModule_providers\n\n\n\n\nThemingService\n\nThemingService\n\n\n\nThemingModule\n\nThemingModule\n\nThemingModule -->\n\nThemingService->ThemingModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/core/services/theming/theming.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ThemingService\n \n \n \n \n \n\n\n \n\n\n \n import { APP_BOOTSTRAP_LISTENER, NgModule } from '@angular/core';\n\nimport { ThemingService } from './theming.service';\n\n\n@NgModule({\n providers: [\n { provide: APP_BOOTSTRAP_LISTENER, useValue: ThemingService.initialize, multi: true },\n ThemingService\n ]\n})\nexport class ThemingModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ThemingService.html":{"url":"injectables/ThemingService.html","title":"injectable - ThemingService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ThemingService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/services/theming/theming.service.ts\n \n\n\n \n Description\n \n \n Manages the currently active theme.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n defaultTheme\n \n \n Private\n element\n \n \n Private\n injector\n \n \n Private\n theme\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n applyThemeClass\n \n \n getTheme\n \n \n Static\n initialize\n \n \n initialize\n \n \n resetTheme\n \n \n setTheme\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(defaultTheme: string | null)\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:25\n \n \n\n \n \n Creates the theming service.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n defaultTheme\n \n \n string | null\n \n \n \n No\n \n \n \n An optional default theme.\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n applyThemeClass\n \n \n \n \n \n \n \n applyThemeClass(cls: string, method: \"add\" | \"remove\")\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:83\n \n \n\n\n \n \n Adds or removes a theme class from the necessary components.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n Description\n \n \n \n \n cls\n \n string\n \n\n \n No\n \n\n \n \n\n \n The theme class.\n\n \n \n \n method\n \n \"add\" | \"remove\"\n \n\n \n No\n \n\n \n 'add'\n \n\n \n Whether to add or remove the theme.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTheme\n \n \n \n \n \n \ngetTheme()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:39\n \n \n\n\n \n \n Get the currently active theme.\n\n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Static\n initialize\n \n \n \n \n \n \n \n initialize(component: ComponentRef<>)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:21\n \n \n\n\n \n \n Initializer called during bootstrap to set up theming.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n component\n \n ComponentRef<>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n initialize\n \n \n \n \n \n \ninitialize(element: ElementRef<>, injector: Injector)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:71\n \n \n\n\n \n \n Binds theming service to a component.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n ElementRef<>\n \n\n \n No\n \n\n\n \n \n injector\n \n Injector\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetTheme\n \n \n \n \n \n \nresetTheme()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:60\n \n \n\n\n \n \n Resets the theme to the default.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setTheme\n \n \n \n \n \n \nsetTheme(theme: string)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:48\n \n \n\n\n \n \n Sets the currently active theme.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n theme\n \n string\n \n\n \n No\n \n\n\n \n The new theme class.\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n defaultTheme\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:16\n \n \n\n \n \n Default theme class.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n element\n \n \n \n \n \n \n Type : ElementRef<>\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n injector\n \n \n \n \n \n \n Type : Injector\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n theme\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/core/services/theming/theming.service.ts:18\n \n \n\n \n \n Currently active theme class.\n\n \n \n\n \n \n\n\n \n\n\n \n import { OverlayContainer } from '@angular/cdk/overlay';\nimport { ComponentRef, ElementRef, Inject, Injector, Injectable, InjectionToken, Optional, Renderer2 } from '@angular/core';\n\n/** Token for specifying the default theme class. */\nexport const DEFAULT_THEME = new InjectionToken('Default theme class');\n\n/**\n * Manages the currently active theme.\n */\n@Injectable()\nexport class ThemingService {\n private element: ElementRef;\n private injector: Injector;\n /** Default theme class. */\n private defaultTheme: string;\n /** Currently active theme class. */\n private theme: string;\n\n /** Initializer called during bootstrap to set up theming. */\n static initialize(component: ComponentRef): void {\n const { injector, location } = component;\n const service = injector.get(ThemingService);\n service.initialize(location, injector);\n }\n\n /**\n * Creates the theming service.\n *\n * @param defaultTheme An optional default theme.\n */\n constructor(@Optional() @Inject(DEFAULT_THEME) defaultTheme: string | null) {\n this.defaultTheme = this.theme = defaultTheme ?? '';\n }\n\n /**\n * Get the currently active theme.\n */\n getTheme(): string {\n return this.theme;\n }\n\n /**\n * Sets the currently active theme.\n *\n * @param theme The new theme class.\n */\n setTheme(theme: string): void {\n if (theme === this.theme) {\n return;\n }\n this.applyThemeClass(this.theme, 'remove');\n this.applyThemeClass(theme);\n this.theme = theme;\n }\n\n /**\n * Resets the theme to the default.\n */\n resetTheme(): void {\n this.setTheme(this.defaultTheme);\n }\n\n\n /**\n * Binds theming service to a component.\n *\n * @param component The top level component.\n * @throws {Error} If the theming service has already been initialized.\n */\n initialize(element: ElementRef, injector: Injector): void {\n this.element = element;\n this.injector = injector;\n this.applyThemeClass(this.getTheme());\n }\n\n /**\n * Adds or removes a theme class from the necessary components.\n *\n * @param cls The theme class.\n * @param method Whether to add or remove the theme.\n */\n private applyThemeClass(cls: string, method: 'add' | 'remove' = 'add'): void {\n const { element, injector } = this;\n if (!cls || !element || !injector) {\n return;\n }\n\n const renderer = injector.get(Renderer2, null);\n if (!renderer) {\n return;\n }\n\n const root = element.nativeElement as HTMLElement;\n const overlay = injector.get(OverlayContainer, null)?.getContainerElement();\n const methodName = method === 'add' ? 'addClass' : 'removeClass';\n\n renderer[methodName](root, cls);\n if (overlay) {\n renderer[methodName](overlay, cls);\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/ToggleButtonComponent.html":{"url":"components/ToggleButtonComponent.html","title":"component - ToggleButtonComponent","body":"\n \n\n\n\n\n\n Components\n \n ToggleButtonComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts\n\n\n\n \n Description\n \n \n Implements open/close button for the side drawers.\n\n \n\n\n \n Implements\n \n \n AfterViewInit\n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-drawer-toggle-button\n \n\n \n styleUrls\n ./toggle-button.component.scss\n \n\n\n\n \n templateUrl\n ./toggle-button.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n className\n \n \n Private\n opened\n \n \n Private\n position\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n handleMessage\n \n \n ngAfterViewInit\n \n \n ngOnDestroy\n \n \n toggle\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n class.ccf-drawer-toggle-button-end\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n classEnd\n \n \n icon\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(drawer: DrawerComponent, messageService: MessageService, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:42\n \n \n\n \n \n Creates an instance of toggle button component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n drawer\n \n \n DrawerComponent\n \n \n \n No\n \n \n \n The owning side drawer.\n\n \n \n \n messageService\n \n \n MessageService\n \n \n \n No\n \n \n \n Service used to send and receive event messages.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n The change detector reference.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-drawer-toggle-button\"\n\n \n \n \n \n Default value : 'ccf-drawer-toggle-button'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:19\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n class.ccf-drawer-toggle-button-end\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:22\n \n \n\n \n \n Whether this button is attach to a drawer in position 'end'.\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n handleMessage\n \n \n \n \n \n \nhandleMessage(msg: Message)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:85\n \n \n\n\n \n \n Process an event message.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n msg\n \n Message\n \n\n \n No\n \n\n\n \n The event.\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if change detection needs to be run.\n\n \n \n \n \n \n \n \n \n \n \n \n ngAfterViewInit\n \n \n \n \n \n \nngAfterViewInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:65\n \n \n\n\n \n \n Initializes this component.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:75\n \n \n\n\n \n \n Cleans up all subscriptions.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n toggle\n \n \n \n \n \n \ntoggle()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:97\n \n \n\n\n \n \n Updates the drawer state.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n className\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-drawer-toggle-button'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:19\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n opened\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:40\n \n \n\n \n \n Whether the owning drawer is opened.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n position\n \n \n \n \n \n \n Type : \"start\" | \"end\"\n\n \n \n \n \n Default value : 'start'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:38\n \n \n\n \n \n Position of the owning side drawer.\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:42\n \n \n\n \n \n Subscriptions managed by this component.\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n classEnd\n \n \n\n \n \n getclassEnd()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:22\n \n \n \n \n Whether this button is attach to a drawer in position 'end'.\n\n\n \n Returns : boolean\n\n \n \n \n\n \n \n \n \n \n \n \n icon\n \n \n\n \n \n geticon()\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts:27\n \n \n \n \n Gets the name of the icon to display.\n\n\n \n Returns : string\n\n \n \n \n\n \n \n\n\n\n\n \n import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { Message, MessageService } from '../messages';\n\n\n/**\n * Implements open/close button for the side drawers.\n */\n@Component({\n selector: 'ccf-drawer-toggle-button',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToggleButtonComponent implements AfterViewInit, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly className = 'ccf-drawer-toggle-button';\n /** Whether this button is attach to a drawer in position 'end'. */\n @HostBinding('class.ccf-drawer-toggle-button-end')\n get classEnd(): boolean {\n return this.position === 'end';\n }\n\n /** Gets the name of the icon to display. */\n get icon(): string {\n let expand = 'arrow_right';\n let collapse = 'arrow_left';\n if (this.position === 'end') {\n ([expand, collapse] = [collapse, expand]);\n }\n\n return this.opened ? collapse : expand;\n }\n\n /** Position of the owning side drawer. */\n private position: 'start' | 'end' = 'start';\n /** Whether the owning drawer is opened. */\n private opened = false;\n /** Subscriptions managed by this component. */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of toggle button component.\n *\n * @param drawer The owning side drawer.\n * @param messageService Service used to send and receive event messages.\n * @param cdr The change detector reference.\n */\n constructor(private drawer: DrawerComponent,\n messageService: MessageService,\n private cdr: ChangeDetectorRef) {\n const channel = messageService.connect(this);\n this.subscriptions.add(channel.getMessagesFromSource(drawer).subscribe(msg => {\n if (this.handleMessage(msg)) {\n cdr.markForCheck();\n }\n }));\n }\n\n /**\n * Initializes this component.\n */\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.position = this.drawer.position;\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Process an event message.\n *\n * @param msg The event.\n * @returns true if change detection needs to be run.\n */\n handleMessage(msg: Message): boolean {\n if (msg.payload.type === 'drawer-toggled') {\n this.opened = msg.payload.opened;\n return true;\n }\n\n return false;\n }\n\n /**\n * Updates the drawer state.\n */\n toggle(): void {\n const drawer = this.drawer;\n const { opened, expanded } = drawer;\n if (opened) {\n if (expanded) {\n drawer.closeExpanded();\n } else {\n drawer.close();\n }\n } else {\n drawer.open();\n }\n }\n}\n\n \n\n \n \n arrow_right\n\n\n arrow_left\n\n \n\n \n \n ./toggle-button.component.scss\n \n :host {\n position: absolute;\n top: calc(50% - 2.0625rem);\n right: -1.0625rem;\n width: 1.0625rem;\n height: 3rem;\n border-radius: 0rem 0.25rem 0.25rem 0rem;\n cursor: pointer;\n transition: .25s;\n\n &.ccf-drawer-toggle-button-end {\n right: unset;\n left: calc(-1rem - 1px);\n border-radius: 0.25rem 0rem 0rem 0.25rem;\n }\n\n .expand-collapse-icon {\n position: absolute;\n right: 0rem;\n transition: .6s;\n padding-left: .15rem;\n\n &.hidden {\n opacity: 0;\n }\n }\n\n &.ccf-drawer-toggle-button-end .expand-collapse-icon {\n right: unset;\n left: -0.25rem;\n }\n}\n\n.mat-icon {\n right: 0.3rem;\n top: .675rem;\n padding-top: .05rem;\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' arrow_right arrow_left'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'ToggleButtonComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/User.html":{"url":"interfaces/User.html","title":"interface - User","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n User\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/app.component.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, OnDestroy, OnInit, HostListener } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { GlobalConfigState, TrackingPopupComponent } from 'ccf-shared';\nimport { ConsentService } from 'ccf-shared/analytics';\nimport { combineLatest, Subscription, ReplaySubject } from 'rxjs';\n\nimport { GlobalConfig } from './core/services/config/config';\nimport { ThemingService } from './core/services/theming/theming.service';\nimport { ModelState, RUI_ORGANS } from './core/store/model/model.state';\nimport { PageState } from './core/store/page/page.state';\n\nexport interface User {\n firstName: string;\n lastName: string;\n}\n\ninterface AppOptions extends GlobalConfig {\n theme?: string;\n header?: boolean;\n homeUrl?: string;\n logoTooltip?: string;\n}\n\n/**\n * App component\n */\n@Component({\n selector: 'ccf-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppComponent implements OnDestroy, OnInit {\n /** Organs to be displayed in the organ selector */\n organList = RUI_ORGANS;\n\n /** True if the organ selector drawer is open */\n open = true;\n\n /** False until the initial registration modal is closed */\n registrationStarted = false;\n\n /** Disables changes in block position */\n disablePositionChange = false;\n\n get isLightTheme(): boolean {\n return this.theming.getTheme().endsWith('light');\n }\n\n readonly theme$ = this.globalConfig.getOption('theme');\n readonly themeMode$ = new ReplaySubject(1);\n\n readonly header$ = this.globalConfig.getOption('header');\n readonly homeUrl$ = this.globalConfig.getOption('homeUrl');\n readonly logoTooltip$ = this.globalConfig.getOption('logoTooltip');\n\n theme: string;\n\n homeUrl: string;\n\n logoTooltip: string;\n\n /** All subscriptions managed by the container. */\n private readonly subscriptions = new Subscription();\n\n constructor(\n readonly model: ModelState, readonly page: PageState,\n readonly consentService: ConsentService, readonly snackbar: MatSnackBar, readonly theming: ThemingService,\n el: ElementRef, injector: Injector, private readonly globalConfig: GlobalConfigState, cdr: ChangeDetectorRef\n ) {\n theming.initialize(el, injector);\n this.subscriptions.add(\n page.registrationCallbackSet$.subscribe((callbackSet) => {\n this.open = !callbackSet;\n })\n );\n this.subscriptions.add(\n page.registrationStarted$.subscribe((registrationStarted) => {\n this.registrationStarted = registrationStarted;\n })\n );\n this.theme$.subscribe((theme: string) => {\n this.theme = theme;\n });\n this.globalConfig.getOption('homeUrl').subscribe((url: string) => {\n this.homeUrl = url;\n });\n this.globalConfig.getOption('logoTooltip').subscribe((tooltip: string) => {\n this.logoTooltip = tooltip;\n });\n\n combineLatest([this.theme$, this.themeMode$]).subscribe(\n ([theme, mode]) => {\n this.theming.setTheme(`${theme}-theme-${mode}`);\n cdr.markForCheck();\n }\n );\n }\n\n ngOnInit(): void {\n const snackBar = this.snackbar.openFromComponent(TrackingPopupComponent, {\n data: {\n preClose: () => {\n snackBar.dismiss();\n }\n },\n duration: this.consentService.consent === 'not-set' ? Infinity : 3000\n });\n\n this.themeMode$.next('light');\n\n this.theming.setTheme(`${this.theme}-theme-light`);\n }\n\n /**\n * Toggles scheme between light and dark mode\n */\n toggleScheme(): void {\n this.themeMode$.next(this.isLightTheme ? 'dark' : 'light');\n }\n\n /**\n * Shifts block position when certain keys are pressed\n *\n * @param target The keyboard event\n */\n @HostListener('document:keydown', ['$event'])\n handleKey(target: KeyboardEvent): void {\n const oldPosition = this.model.snapshot.position;\n if (this.disablePositionChange || !this.registrationStarted) {\n return;\n }\n target.preventDefault();\n const delta = target.repeat ? 1.0 : 0.5;\n let newPosition = oldPosition;\n switch (target.key) {\n case 'q':\n newPosition = { ...oldPosition, z: oldPosition.z + delta };\n break;\n case 'e':\n newPosition = { ...oldPosition, z: oldPosition.z - delta };\n break;\n case 'w':\n newPosition = { ...oldPosition, y: oldPosition.y + delta };\n break;\n case 's':\n newPosition = { ...oldPosition, y: oldPosition.y - delta };\n break;\n case 'a':\n newPosition = { ...oldPosition, x: oldPosition.x - delta };\n break;\n case 'd':\n newPosition = { ...oldPosition, x: oldPosition.x + delta };\n break;\n default:\n break;\n }\n this.model.setPosition(newPosition);\n }\n\n /**\n * Disables block position change if an input element is clicked\n *\n * @param target The element clicked\n */\n @HostListener('document:click', ['$event.target'])\n handleClick(target: HTMLElement): void {\n if (target.nodeName === 'INPUT') {\n this.disablePositionChange = true;\n } else {\n this.disablePositionChange = false;\n }\n }\n\n /**\n * Cleans up all subscriptions.\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserName.html":{"url":"interfaces/UserName.html","title":"interface - UserName","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserName\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts\n \n\n\n \n Description\n \n \n User name data\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n User's first name\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n User's last name\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * User name data\n */\nexport interface UserName {\n /**\n * User's first name\n */\n firstName: string;\n\n /**\n * User's last name\n */\n lastName: string;\n}\n\n/**\n * Component for inputting the researcher's name\n */\n@Component({\n selector: 'ccf-name-input',\n templateUrl: './name-input.component.html',\n styleUrls: ['./name-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NameInputComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-name-input';\n\n /**\n * Used to validate the first name input field.\n */\n firstNameValidator = new FormControl('', [Validators.required]);\n /**\n * Used to validate the last name input field.\n */\n lastNameValidator = new FormControl('', [Validators.required]);\n\n /**\n * Current user name\n */\n @Input()\n get name(): UserName {\n return this._name;\n }\n\n set name(value: UserName) {\n this._name = value;\n this.firstNameValidator.setValue(value?.firstName || '');\n this.lastNameValidator.setValue(value?.lastName || '');\n }\n\n private _name: UserName = {\n firstName: '',\n lastName: ''\n };\n\n /**\n * Emits a UserName object\n */\n @Output() readonly nameChange = new EventEmitter();\n\n /**\n * Creates an instance of name input component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Updates username with a new entry and emits the UserName object\n *\n * @param input InputEvent from the input element which contains the new value\n * @param key firstName or lastName\n */\n updateName(input: InputEvent, key: string): void {\n const inputTarget = input.target as HTMLInputElement;\n this.name = { ...this.name, [key]: inputTarget.value };\n this.ga.event('name_updated', 'name_input', key);\n this.nameChange.emit(this.name);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/VideoModalComponent.html":{"url":"components/VideoModalComponent.html","title":"component - VideoModalComponent","body":"\n \n\n\n\n\n\n Components\n \n VideoModalComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts\n\n\n\n \n Description\n \n \n Component for displaying a youtube video inside of an angular material modal.\n\n \n\n\n \n Implements\n \n \n OnInit\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-video-modal\n \n\n \n styleUrls\n ./video-modal.component.scss\n \n\n\n\n \n templateUrl\n ./video-modal.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Public\n data\n \n \n Public\n dialogRef\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n close\n \n \n loadYoutubePlayerAPI\n \n \n ngOnInit\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(renderer2: Renderer2, dialogRef: MatDialogRef, data, document: Document)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:15\n \n \n\n \n \n Creates an instance of video modal component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n renderer2\n \n \n Renderer2\n \n \n \n No\n \n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n \n data\n \n \n \n \n \n No\n \n \n \n \n document\n \n \n Document\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-video-modal\"\n\n \n \n \n \n Default value : 'ccf-video-modal'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:15\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:46\n \n \n\n\n \n \n Closes the video modal component\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n loadYoutubePlayerAPI\n \n \n \n \n \n \nloadYoutubePlayerAPI()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:37\n \n \n\n\n \n \n loads the IFrame Player API code asynchronously from YouTube.\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:30\n \n \n\n\n \n \n load the youtube player api in on init\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-video-modal'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:15\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Public\n data\n \n \n \n \n \n \n Decorators : \n \n \n @Inject(MAT_DIALOG_DATA)\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n dialogRef\n \n \n \n \n \n \n Type : MatDialogRef\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts:22\n \n \n\n\n \n \n\n\n\n\n\n \n import { Component, OnInit, HostBinding, Inject, Renderer2 } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * Component for displaying a youtube video inside of an angular material modal.\n */\n@Component({\n selector: 'ccf-video-modal',\n templateUrl: './video-modal.component.html',\n styleUrls: ['./video-modal.component.scss']\n})\nexport class VideoModalComponent implements OnInit {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-video-modal';\n\n /**\n * Creates an instance of video modal component.\n */\n constructor(\n private renderer2: Renderer2,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: unknown,\n @Inject(DOCUMENT) private document: Document\n ) { }\n\n /**\n * load the youtube player api in on init\n */\n ngOnInit(): void {\n this.loadYoutubePlayerAPI();\n }\n\n /**\n * loads the IFrame Player API code asynchronously from YouTube.\n */\n loadYoutubePlayerAPI(): void {\n const script = this.renderer2.createElement('script') as HTMLScriptElement;\n script.src = 'https://www.youtube.com/iframe_api';\n this.renderer2.appendChild(this.document.body, script);\n }\n\n /**\n * Closes the video modal component\n */\n close(): void {\n this.dialogRef.close();\n }\n}\n\n \n\n \n \n \n clear\n \n \n \n \n \n \n\n\n \n\n \n \n ./video-modal.component.scss\n \n ::ng-deep {\n .mat-dialog-container {\n padding: 0;\n }\n\n .mat-dialog-content {\n display: block;\n margin: auto;\n padding: 0;\n max-height: 65vh;\n overflow: auto;\n width: fit-content;\n }\n}\n\n:host {\n .video-modal.wrapper {\n width: fit-content;\n\n .container {\n position: relative;\n\n .content {\n padding: 0.5rem;\n padding-top: 3rem;\n width: fit-content;\n border-radius: .5rem;\n }\n\n .close-icon {\n cursor: pointer;\n position: absolute;\n right: 0rem;\n font-size: 2.5rem;\n width: 2.5rem;\n height: 2.5rem;\n transition: .5s color;\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' clear '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'VideoModalComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/VideoModalLauncherComponent.html":{"url":"components/VideoModalLauncherComponent.html","title":"component - VideoModalLauncherComponent","body":"\n \n\n\n\n\n\n Components\n \n VideoModalLauncherComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts\n\n\n\n \n Description\n \n \n Component for launching an angular material modal.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-video-modal-launcher\n \n\n \n styleUrls\n ./video-modal-launcher.component.scss\n \n\n\n\n \n templateUrl\n ./video-modal-launcher.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n launchVideoModal\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n visible\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog)\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:22\n \n \n\n \n \n Creates an instance of video modal launcher component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n visible\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:22\n \n \n \n \n Input used to toggle the launcher on and off.\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-video-modal-launcher\"\n\n \n \n \n \n Default value : 'ccf-video-modal-launcher'\n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n launchVideoModal\n \n \n \n \n \n \nlaunchVideoModal()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:32\n \n \n\n\n \n \n Launches the video modal component.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-video-modal-launcher'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { VideoModalComponent } from '../video-modal/video-modal.component';\n\n/**\n * Component for launching an angular material modal.\n */\n@Component({\n selector: 'ccf-video-modal-launcher',\n templateUrl: './video-modal-launcher.component.html',\n styleUrls: ['./video-modal-launcher.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VideoModalLauncherComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-video-modal-launcher';\n\n /**\n * Input used to toggle the launcher on and off.\n */\n @Input() visible = true;\n\n /**\n * Creates an instance of video modal launcher component.\n */\n constructor(private readonly dialog: MatDialog) { }\n\n /**\n * Launches the video modal component.\n */\n launchVideoModal(): void {\n this.dialog.open(VideoModalComponent, {\n width: '46rem',\n data: {}\n });\n }\n}\n\n \n\n \n \n WATCH\n \"How to use the HuBMAP Registration User Interface\"\n\n\n play_circle_outline\n\n \n\n \n \n ./video-modal-launcher.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n align-items: center;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n z-index: 1;\n\n .video-description {\n margin-bottom: 1.5rem;\n text-align: center;\n width: 30rem;\n\n .title {\n margin-bottom: 1rem;\n }\n }\n\n .play-icon-button {\n cursor: pointer;\n font-size: 5rem;\n width: 5rem;\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' WATCH \"How to use the HuBMAP Registration User Interface\" play_circle_outline'\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'VideoModalLauncherComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VideoModalLauncherModule.html":{"url":"modules/VideoModalLauncherModule.html","title":"module - VideoModalLauncherModule","body":"\n \n\n\n\n\n Modules\n VideoModalLauncherModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_VideoModalLauncherModule\n\n\n\ncluster_VideoModalLauncherModule_exports\n\n\n\ncluster_VideoModalLauncherModule_declarations\n\n\n\n\nVideoModalLauncherComponent\n\nVideoModalLauncherComponent\n\n\n\nVideoModalLauncherModule\n\nVideoModalLauncherModule\n\nVideoModalLauncherModule -->\n\nVideoModalLauncherComponent->VideoModalLauncherModule\n\n\n\n\n\nVideoModalLauncherComponent \n\nVideoModalLauncherComponent \n\nVideoModalLauncherComponent -->\n\nVideoModalLauncherModule->VideoModalLauncherComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n VideoModalLauncherComponent\n \n \n \n \n Exports\n \n \n VideoModalLauncherComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VideoModalLauncherComponent } from './video-modal-launcher.component';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n declarations: [ VideoModalLauncherComponent ],\n imports: [\n CommonModule,\n MatIconModule\n ],\n exports: [ VideoModalLauncherComponent ]\n})\nexport class VideoModalLauncherModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VideoModalModule.html":{"url":"modules/VideoModalModule.html","title":"module - VideoModalModule","body":"\n \n\n\n\n\n Modules\n VideoModalModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_VideoModalModule\n\n\n\ncluster_VideoModalModule_declarations\n\n\n\ncluster_VideoModalModule_exports\n\n\n\n\nVideoModalComponent\n\nVideoModalComponent\n\n\n\nVideoModalModule\n\nVideoModalModule\n\nVideoModalModule -->\n\nVideoModalComponent->VideoModalModule\n\n\n\n\n\nVideoModalComponent \n\nVideoModalComponent \n\nVideoModalComponent -->\n\nVideoModalModule->VideoModalComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n VideoModalComponent\n \n \n \n \n Exports\n \n \n VideoModalComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VideoModalComponent } from './video-modal.component';\nimport { YouTubePlayerModule } from '@angular/youtube-player';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n declarations: [ VideoModalComponent ],\n imports: [\n CommonModule,\n YouTubePlayerModule,\n MatIconModule,\n MatDialogModule\n ],\n exports: [ VideoModalComponent ]\n})\nexport class VideoModalModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/VisibilityItem.html":{"url":"interfaces/VisibilityItem.html","title":"interface - VisibilityItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n VisibilityItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/models/visibility-item.ts\n \n\n\n \n Description\n \n \n Interface for visibility item data\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n name\n \n \n \n Optional\n \n opacity\n \n \n \n Optional\n \n tooltip\n \n \n \n \n visible\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string | number\n\n \n \n\n\n \n \n Type : string | number\n\n \n \n\n\n\n\n\n \n \n Id of the item\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Name of the item\n\n \n \n \n \n \n \n \n \n \n opacity\n \n \n \n \n \n \n \n \n opacity: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Opacity value\n\n \n \n \n \n \n \n \n \n \n tooltip\n \n \n \n \n \n \n \n \n tooltip: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Tooltip text to be displayed in the stage\n\n \n \n \n \n \n \n \n \n \n visible\n \n \n \n \n \n \n \n \n visible: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the item is currently highlighted\n\n \n \n \n \n \n \n\n\n \n export interface VisibilityItem {\n /**\n * Id of the item\n */\n id: string | number;\n\n /**\n * Name of the item\n */\n name: string;\n\n /**\n * Whether the item is currently highlighted\n */\n visible: boolean;\n\n /**\n * Opacity value\n */\n opacity?: number;\n\n /**\n * Tooltip text to be displayed in the stage\n */\n tooltip?: string;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/VisibilityMenuComponent.html":{"url":"components/VisibilityMenuComponent.html","title":"component - VisibilityMenuComponent","body":"\n \n\n\n\n\n\n Components\n \n VisibilityMenuComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts\n\n\n\n \n Description\n \n \n Menu for displaying visibility options\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-visibility-menu\n \n\n \n styleUrls\n ./visibility-menu.component.scss\n \n\n\n\n \n templateUrl\n ./visibility-menu.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getId\n \n \n mouseOut\n \n \n mouseOver\n \n \n resetItem\n \n \n setAllOpacity\n \n \n toggleVisibility\n \n \n updateOpacity\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n items\n \n \n selection\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n hover\n \n \n itemsChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:41\n \n \n\n \n \n Creates an instance of visibility menu component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n items\n \n \n \n \n Type : VisibilityItem[]\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:26\n \n \n \n \n Items to be displayed in the visibility menu\n\n \n \n \n \n \n \n \n \n \n selection\n \n \n \n \n Type : VisibilityItem | undefined\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:31\n \n \n \n \n The currently selected item\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n hover\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:36\n \n \n \n \n Emits the currently hovered item\n\n \n \n \n \n \n \n \n \n \n itemsChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:41\n \n \n \n \n Emits whenever there is a change to one or more items.\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-visibility-menu\"\n\n \n \n \n \n Default value : 'ccf-visibility-menu'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getId\n \n \n \n \n \n \ngetId(_index: number, item: VisibilityItem)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:132\n \n \n\n\n \n \n Returns the id of an item\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n item\n \n VisibilityItem\n \n\n \n No\n \n\n\n \n The item to get an id for\n\n \n \n \n \n \n \n \n \n Returns : string | number\n\n \n \n id Id of the item\n\n \n \n \n \n \n \n \n \n \n \n \n mouseOut\n \n \n \n \n \n \nmouseOut()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:80\n \n \n\n\n \n \n Clears current selection and emits undefined in response to mouse out\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n mouseOver\n \n \n \n \n \n \nmouseOver(item: VisibilityItem)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:70\n \n \n\n\n \n \n Changes current selection to hovered over item and emits the item\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n item\n \n VisibilityItem\n \n\n \n No\n \n\n\n \n Menu item\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resetItem\n \n \n \n \n \n \nresetItem()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:104\n \n \n\n\n \n \n Resets item to opacity 20 and visible\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setAllOpacity\n \n \n \n \n \n \nsetAllOpacity(value: number)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:119\n \n \n\n\n \n \n Sets all items to the same opacity and makes them visible\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n number\n \n\n \n No\n \n\n\n \n Updated opacity value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n toggleVisibility\n \n \n \n \n \n \ntoggleVisibility(item: VisibilityItem)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:55\n \n \n\n\n \n \n Toggles visibility of an item; opacity is reverted to the previous value if visibility toggled back on\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n item\n \n VisibilityItem\n \n\n \n No\n \n\n\n \n Menu item\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateOpacity\n \n \n \n \n \n \nupdateOpacity(value: number | undefined)\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:90\n \n \n\n\n \n \n Updates opacity of the currently selected item (if one is selected) and emits the new items\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n number | undefined\n \n\n \n No\n \n\n\n \n Updated opacity value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-visibility-menu'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\nimport { VisibilityItem } from '../../../core/models/visibility-item';\n\n\n/**\n * Menu for displaying visibility options\n */\n@Component({\n selector: 'ccf-visibility-menu',\n templateUrl: './visibility-menu.component.html',\n styleUrls: ['./visibility-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VisibilityMenuComponent {\n\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-visibility-menu';\n\n /**\n * Items to be displayed in the visibility menu\n */\n @Input() items: VisibilityItem[];\n\n /**\n * The currently selected item\n */\n @Input() selection: VisibilityItem | undefined;\n\n /**\n * Emits the currently hovered item\n */\n @Output() readonly hover = new EventEmitter();\n\n /**\n * Emits whenever there is a change to one or more items.\n */\n @Output() readonly itemsChange = new EventEmitter();\n\n /**\n * Creates an instance of visibility menu component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Toggles visibility of an item; opacity is reverted to the previous value if visibility toggled back on\n *\n * @param item Menu item\n */\n toggleVisibility(item: VisibilityItem): void {\n item = { ...item, visible: !item.visible };\n if (this.selection && item.id === this.selection.id) {\n this.selection = { ...this.selection, visible: item.visible };\n }\n\n this.ga.event('visibility_toggled', 'visibility_menu', '' + item.id, +item.visible);\n this.updateOpacity(item.opacity);\n }\n\n /**\n * Changes current selection to hovered over item and emits the item\n *\n * @param item Menu item\n */\n mouseOver(item: VisibilityItem): void {\n this.selection = item === this.selection ? undefined : item;\n this.hover.emit(item);\n }\n\n /**\n * Clears current selection and emits undefined in response to mouse out\n *\n * @param item Menu item\n */\n mouseOut(): void {\n this.selection = undefined;\n this.hover.emit(undefined);\n }\n\n /**\n * Updates opacity of the currently selected item (if one is selected) and emits the new items\n *\n * @param value Updated opacity value\n */\n updateOpacity(value: number | undefined): void {\n if (!this.selection) {\n return;\n }\n const updatedSelection = { ...this.selection, opacity: value };\n this.selection = updatedSelection;\n this.items = this.items.map(item => item.id === updatedSelection.id ? updatedSelection : item);\n this.ga.event('opacity_update', 'visibility_menu', '' + updatedSelection.id, updatedSelection.opacity);\n this.itemsChange.emit(this.items);\n }\n\n /**\n * Resets item to opacity 20 and visible\n */\n resetItem(): void {\n if (this.selection) {\n const updatedSelection = { ...this.selection, opacity: 20, visible: true };\n this.selection = updatedSelection;\n this.items = this.items.map(item => item.id === updatedSelection.id ? updatedSelection : item);\n this.ga.event('item_reset', 'visibility_menu', '' + updatedSelection.id);\n this.itemsChange.emit(this.items);\n }\n }\n\n /**\n * Sets all items to the same opacity and makes them visible\n *\n * @param value Updated opacity value\n */\n setAllOpacity(value: number): void {\n this.items = this.items.map(i => ({ ...i, opacity: value, visible: true }));\n this.ga.event('all_items_opacity_update', 'visibility_menu', undefined, value);\n this.itemsChange.emit(this.items);\n }\n\n /**\n * Returns the id of an item\n *\n * @param index Index of item in items array\n * @param item The item to get an id for\n * @returns id Id of the item\n */\n getId(_index: number, item: VisibilityItem): string | number {\n return item.id;\n }\n}\n\n \n\n \n refresh\n\n\n \n {{ item.name }}\n\n \n \n \n \n\n\n \n\n \n \n ./visibility-menu.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n margin-right: 0;\n margin-left: 0;\n max-height: 18rem;\n overflow-y: auto;\n scrollbar-width: thin;\n\n .icon {\n padding: 0.25rem;\n border-radius: 0.25rem;\n }\n\n .reset {\n transform: scaleX(-1);\n cursor: pointer;\n transition: .6s;\n position: absolute;\n top: 3rem;\n \n &:hover {\n border-radius: 2px;\n }\n }\n\n .item-entry {\n display: flex;\n height: 2.25rem;\n align-items: center;\n flex-shrink: 0;\n position: relative;\n\n .opacity {\n cursor: pointer;\n }\n\n .opacity-icon {\n z-index: 1;\n transition: .6s;\n\n &:hover {\n border-radius: 2px;\n }\n }\n\n .item-name {\n user-select: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-left: 0.5rem;\n opacity: 1;\n transition-duration: 0.4s;\n transition-timing-function: ease-in-out;\n transition-property: opacity;\n max-width: calc(100% - 2.5rem);\n\n &.hidden {\n opacity: 0;\n }\n }\n\n .slider {\n width: calc(100% - 2rem);\n transition-duration: 0.3s;\n transition-timing-function: ease-in-out;\n transition-property: opacity;\n left: 2rem;\n position: absolute;\n opacity: 1;\n\n &.hidden {\n opacity: 0;\n transition-duration: 0.1s;\n transition-timing-function: ease-in-out;\n transition-property: opacity;\n }\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = 'refresh {{ item.name }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'VisibilityMenuComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VisibilityMenuModule.html":{"url":"modules/VisibilityMenuModule.html","title":"module - VisibilityMenuModule","body":"\n \n\n\n\n\n Modules\n VisibilityMenuModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_VisibilityMenuModule\n\n\n\ncluster_VisibilityMenuModule_declarations\n\n\n\ncluster_VisibilityMenuModule_exports\n\n\n\n\nVisibilityMenuComponent\n\nVisibilityMenuComponent\n\n\n\nVisibilityMenuModule\n\nVisibilityMenuModule\n\nVisibilityMenuModule -->\n\nVisibilityMenuComponent->VisibilityMenuModule\n\n\n\n\n\nVisibilityMenuComponent \n\nVisibilityMenuComponent \n\nVisibilityMenuComponent -->\n\nVisibilityMenuModule->VisibilityMenuComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n VisibilityMenuComponent\n \n \n \n \n Exports\n \n \n VisibilityMenuComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { OpacitySliderModule } from 'ccf-shared';\nimport { MatRippleModule } from '@angular/material/core';\n\nimport { VisibilityMenuComponent } from './visibility-menu.component';\n\n\n@NgModule({\n imports: [CommonModule, MatIconModule, MatRippleModule, OpacitySliderModule],\n declarations: [VisibilityMenuComponent],\n exports: [VisibilityMenuComponent]\n})\nexport class VisibilityMenuModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/VisibilityToggleComponent.html":{"url":"components/VisibilityToggleComponent.html","title":"component - VisibilityToggleComponent","body":"\n \n\n\n\n\n\n Components\n \n VisibilityToggleComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts\n\n\n\n \n Description\n \n \n Component for easily adding a visibility toggle with customizable label and\npre set up emitter.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-visibility-toggle\n \n\n \n styleUrls\n ./visibility-toggle.component.scss\n \n\n\n\n \n templateUrl\n ./visibility-toggle.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n toggleVisibility\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n disabled\n \n \n toggleLabel\n \n \n visible\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n visibilityChanged\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ga: GoogleAnalyticsService)\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:40\n \n \n\n \n \n Creates an instance of visibility toggle component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n Analytics service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n disabled\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:34\n \n \n \n \n Whether or not the slider is disabled\n\n \n \n \n \n \n \n \n \n \n toggleLabel\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:29\n \n \n \n \n Input that allows the label to be set from outside the component,\nmaking it more reusable.\n\n \n \n \n \n \n \n \n \n \n visible\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:23\n \n \n \n \n Keeps track of the current visibility state of the toggle.\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n visibilityChanged\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:40\n \n \n \n \n Outputs the new visibility state whenever toggleVisibility()\nchanges it.\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-visibility-toggle\"\n\n \n \n \n \n Default value : 'ccf-visibility-toggle'\n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n toggleVisibility\n \n \n \n \n \n \ntoggleVisibility()\n \n \n\n\n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:52\n \n \n\n\n \n \n Toggles visibility and emits the new value.\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-visibility-toggle'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts:18\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n/**\n * Component for easily adding a visibility toggle with customizable label and\n * pre set up emitter.\n */\n@Component({\n selector: 'ccf-visibility-toggle',\n templateUrl: './visibility-toggle.component.html',\n styleUrls: ['./visibility-toggle.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VisibilityToggleComponent {\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-visibility-toggle';\n\n /**\n * Keeps track of the current visibility state of the toggle.\n */\n @Input() visible = false;\n\n /**\n * Input that allows the label to be set from outside the component,\n * making it more reusable.\n */\n @Input() toggleLabel = '';\n\n /**\n * Whether or not the slider is disabled\n */\n @Input() disabled = false;\n\n /**\n * Outputs the new visibility state whenever toggleVisibility()\n * changes it.\n */\n @Output() readonly visibilityChanged = new EventEmitter();\n\n /**\n * Creates an instance of visibility toggle component.\n *\n * @param ga Analytics service\n */\n constructor(private readonly ga: GoogleAnalyticsService) { }\n\n /**\n * Toggles visibility and emits the new value.\n */\n toggleVisibility(): void {\n this.visible = !this.visible;\n\n this.ga.event('visibility_toggled', 'visibility_toggle', '' + this.visible);\n this.visibilityChanged.emit(this.visible);\n }\n}\n\n \n\n \n \n \n \n \n done\n \n \n {{ toggleLabel }}\n \n\n \n\n \n \n ./visibility-toggle.component.scss\n \n :host {\n height: 3rem;\n display: flex;\n align-items: center;\n \n ::ng-deep .mat-chip {\n padding: 0 !important;\n\n &.disabled {\n cursor: not-allowed !important;\n }\n }\n\n .toggle-div {\n width: 100%;\n display: flex;\n justify-content: center;\n padding-top: 1.5rem;\n\n .toggle-wrapper {\n -webkit-user-select: none;\n -moz-user-select: none;\n display: flex;\n padding-left: .5rem;\n cursor: pointer;\n align-items: center;\n position: relative;\n border-width: 0.075rem;\n border-style: solid;\n height: 2.25rem;\n border-radius: 1.5rem;\n transition: background-color 0.2s ease-in-out;\n\n .icon-background {\n border-radius: 1.5rem;\n height: 2.06rem;\n width: 2.06rem;\n display: flex;\n align-items: center;\n justify-content: center;\n .icon {\n transition: .6s;\n position: absolute;\n &.block {\n width: 1.125rem;\n }\n &.hidden {\n opacity: 0;\n }\n }\n }\n \n .toggle-label {\n font-weight: bold;\n margin-left: 0.5rem;\n padding-right: 1.25rem;\n padding-left: 0.25rem;\n }\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' done {{ toggleLabel }} '\n var COMPONENTS = [{'name': 'AppComponent', 'selector': 'ccf-root'},{'name': 'AppWebComponent', 'selector': 'ccf-root-wc'},{'name': 'BlockSizeInputComponent', 'selector': 'ccf-block-size-input'},{'name': 'ContainerComponent', 'selector': 'ccf-drawer-container'},{'name': 'ContentComponent', 'selector': 'ccf-content'},{'name': 'ContentComponent', 'selector': 'ccf-drawer-content'},{'name': 'DetailsLabelComponent', 'selector': 'ccf-details-label'},{'name': 'DrawerComponent', 'selector': 'ccf-drawer'},{'name': 'ExtractionSetDropdownComponent', 'selector': 'ccf-extraction-set-dropdown'},{'name': 'HeaderComponent', 'selector': 'ccf-header'},{'name': 'JsonFileReaderComponent', 'selector': 'ccf-json-file-reader'},{'name': 'LabeledSlideToggleComponent', 'selector': 'ccf-labeled-slide-toggle'},{'name': 'LeftSidebarComponent', 'selector': 'ccf-left-sidebar'},{'name': 'NameInputComponent', 'selector': 'ccf-name-input'},{'name': 'RegistrationContentComponent', 'selector': 'ccf-registration-content'},{'name': 'RegistrationModalComponent', 'selector': 'ccf-registration-modal'},{'name': 'ReviewButtonComponent', 'selector': 'ccf-review-button'},{'name': 'ReviewModalComponent', 'selector': 'ccf-review-modal'},{'name': 'RightSidebarComponent', 'selector': 'ccf-right-sidebar'},{'name': 'RotationSliderComponent', 'selector': 'ccf-rotation-slider'},{'name': 'SlicesInputComponent', 'selector': 'ccf-slices-input'},{'name': 'StageNavComponent', 'selector': 'ccf-stage-nav'},{'name': 'TagListComponent', 'selector': 'ccf-tag-list'},{'name': 'TagSearchComponent', 'selector': 'ccf-tag-search'},{'name': 'ToggleButtonComponent', 'selector': 'ccf-drawer-toggle-button'},{'name': 'VideoModalComponent', 'selector': 'ccf-video-modal'},{'name': 'VideoModalLauncherComponent', 'selector': 'ccf-video-modal-launcher'},{'name': 'VisibilityMenuComponent', 'selector': 'ccf-visibility-menu'},{'name': 'VisibilityToggleComponent', 'selector': 'ccf-visibility-toggle'}];\n var DIRECTIVES = [];\n var ACTUAL_COMPONENT = {'name': 'VisibilityToggleComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VisibilityToggleModule.html":{"url":"modules/VisibilityToggleModule.html","title":"module - VisibilityToggleModule","body":"\n \n\n\n\n\n Modules\n VisibilityToggleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_VisibilityToggleModule\n\n\n\ncluster_VisibilityToggleModule_exports\n\n\n\ncluster_VisibilityToggleModule_declarations\n\n\n\n\nVisibilityToggleComponent\n\nVisibilityToggleComponent\n\n\n\nVisibilityToggleModule\n\nVisibilityToggleModule\n\nVisibilityToggleModule -->\n\nVisibilityToggleComponent->VisibilityToggleModule\n\n\n\n\n\nVisibilityToggleComponent \n\nVisibilityToggleComponent \n\nVisibilityToggleComponent -->\n\nVisibilityToggleModule->VisibilityToggleComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n VisibilityToggleComponent\n \n \n \n \n Exports\n \n \n VisibilityToggleComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VisibilityToggleComponent } from './visibility-toggle.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatChipsModule } from '@angular/material/chips';\n\n@NgModule({\n declarations: [VisibilityToggleComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatChipsModule\n ],\n exports: [ VisibilityToggleComponent ]\n})\nexport class VisibilityToggleModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/XYZTriplet.html":{"url":"interfaces/XYZTriplet.html","title":"interface - XYZTriplet","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n XYZTriplet\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n\n\n \n Description\n \n \n A object with x, y, and z channels of the same type.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n X channel\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n Y channel\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n Z channel\n\n \n \n \n \n \n \n\n\n \n import { Injectable, Injector } from '@angular/core';\nimport { Computed, DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\nimport { ALL_ORGANS, GlobalConfigState, OrganInfo } from 'ccf-shared';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { sortBy } from 'lodash';\nimport { EMPTY, Observable } from 'rxjs';\nimport {\n debounceTime, delay, distinctUntilChanged, filter, mapTo, pluck, skipUntil, switchMap, take, tap, throttleTime,\n} from 'rxjs/operators';\n\nimport { ExtractionSet } from '../../models/extraction-set';\nimport { VisibilityItem } from '../../models/visibility-item';\nimport { GlobalConfig } from '../../services/config/config';\nimport { PageState } from '../page/page.state';\nimport { ReferenceDataState } from '../reference-data/reference-data.state';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\n\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/** A object with x, y, and z channels of the same type. */\nexport interface XYZTriplet {\n /** X channel */\n x: T;\n /** Y channel */\n y: T;\n /** Z channel */\n z: T;\n}\n\n/** Slices configuration */\nexport interface SlicesConfig {\n /** Thickness of slice */\n thickness: number;\n /** Number of slices per block */\n numSlices: number;\n}\n\n/** Model view type */\nexport type ViewType = 'register' | '3d';\n\n/** Side which the model is viewed from */\nexport type ViewSide = 'left' | 'right' | 'anterior' | 'posterior';\n\n/** Data contained in the stage state. */\nexport interface ModelStateModel {\n /** Model identifier */\n id: string;\n /** Model label */\n label: string;\n /** Organ name */\n organ: OrganInfo;\n /** Reference Organ IRI */\n organIri?: string;\n /** Reference Organ Dimensions */\n organDimensions: XYZTriplet;\n /** Sex if applicable */\n sex?: 'male' | 'female';\n /** Side if applicable */\n side?: 'left' | 'right';\n /** Block size */\n blockSize: XYZTriplet;\n /** Model rotation */\n rotation: XYZTriplet;\n /** Model position */\n position: XYZTriplet;\n /** Slice configuration */\n slicesConfig: SlicesConfig;\n /** View type */\n viewType: ViewType;\n /** View side */\n viewSide: ViewSide;\n /** Whether previous registration blocks are visible */\n showPrevious: boolean;\n /** Possible extraction sites */\n extractionSites: VisibilityItem[];\n /** Anatomical structures for the organ */\n anatomicalStructures: VisibilityItem[];\n /** Extraction sets */\n extractionSets: ExtractionSet[];\n}\n\n/**\n * All organs to be displayed\n */\nexport const RUI_ORGANS = ALL_ORGANS;\n\n/**\n * Data for the main 3d model display\n */\n@StateRepository()\n@State({\n name: 'model',\n defaults: {\n id: '',\n label: '',\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n organ: { src: '', name: '' } as OrganInfo,\n organIri: '',\n organDimensions: { x: 90, y: 90, z: 90 },\n sex: 'male',\n side: 'left',\n blockSize: { x: 10, y: 10, z: 10 },\n rotation: { x: 0, y: 0, z: 0 },\n position: { x: 0, y: 0, z: 0 },\n slicesConfig: { thickness: NaN, numSlices: NaN },\n viewType: 'register',\n viewSide: 'anterior',\n showPrevious: false,\n extractionSites: [],\n anatomicalStructures: [],\n extractionSets: []\n }\n})\n@Injectable()\nexport class ModelState extends NgxsImmutableDataRepository {\n /** Identifier observable */\n readonly id$ = this.state$.pipe(pluck('id'));\n /** Block size observable */\n readonly blockSize$ = this.state$.pipe(pluck('blockSize'));\n /** Rotation observable */\n readonly rotation$ = this.state$.pipe(pluck('rotation'));\n /** Position observable */\n readonly position$ = this.state$.pipe(pluck('position'));\n /** Slice configuration observable */\n readonly slicesConfig$ = this.state$.pipe(pluck('slicesConfig'));\n /** View type observable */\n readonly viewType$ = this.state$.pipe(pluck('viewType'));\n /** View side observable */\n readonly viewSide$ = this.state$.pipe(pluck('viewSide'));\n /** Organ observable */\n readonly organ$ = this.state$.pipe(pluck('organ'));\n /** Organ IRI observable */\n readonly organIri$ = this.state$.pipe(pluck('organIri'));\n /** Organ IRI observable */\n readonly organDimensions$ = this.state$.pipe(pluck('organDimensions'));\n /** Sex observable */\n readonly sex$ = this.state$.pipe(pluck('sex'));\n /** Side observable */\n readonly side$ = this.state$.pipe(pluck('side'));\n /** Show previous observable */\n readonly showPrevious$ = this.state$.pipe(pluck('showPrevious'));\n /** Extraction sites observable */\n readonly extractionSites$ = this.state$.pipe(pluck('extractionSites'));\n /** Anatomical structures observable */\n readonly anatomicalStructures$ = this.state$.pipe(pluck('anatomicalStructures'));\n /** Extraction sets observable */\n readonly extractionSets$ = this.state$.pipe(pluck('extractionSets'));\n\n @Computed()\n get modelChanged$(): Observable {\n const ignoredKeys = ['viewType', 'viewSide', 'showPrevious'];\n const keys = Object.keys(this.initialState)\n .filter(key => !ignoredKeys.includes(key));\n\n return this.state$.pipe(\n throttleTime(0, undefined, { leading: false, trailing: true }),\n distinctUntilChanged((v1, v2) => {\n for (const key of keys) {\n if (v1[key] !== v2[key]) {\n return false;\n }\n }\n\n return true;\n }),\n mapTo(undefined)\n );\n }\n\n /** Reference to the reference data state */\n private referenceData: ReferenceDataState;\n\n private page: PageState;\n\n /**\n * Creates an instance of model state.\n *\n * @param injector Injector service used to lazy load reference data state\n */\n constructor(\n private readonly ga: GoogleAnalyticsService,\n private readonly injector: Injector,\n private readonly globalConfig: GlobalConfigState\n ) {\n super();\n }\n\n /**\n * Initializes this state service.\n */\n ngxsOnInit(): void {\n super.ngxsOnInit();\n\n this.referenceData = this.injector.get(ReferenceDataState);\n this.page = this.injector.get(PageState);\n\n this.globalConfig.getOption('organ').pipe(\n filterNulls(),\n switchMap(organConfig => {\n const organName = organConfig.name.toLowerCase();\n const organSide = organConfig.side;\n const ontologyId = organConfig.ontologyId;\n // check for an id match\n let organInfo = this.idMatches(ontologyId, organSide);\n // if no id matches, check for a name match\n if (!organInfo) {\n organInfo = this.nameMatches(organName, organSide);\n }\n if (organInfo) {\n this.ctx.patchState({\n organ: organInfo,\n sex: organConfig.sex?.toLowerCase() as 'male' | 'female',\n side: organInfo?.side?.toLowerCase() as 'left' | 'right'\n });\n return this.referenceData.state$.pipe(\n debounceTime(100),\n take(1),\n delay(200),\n tap(() => this.onOrganIriChange())\n );\n }\n return EMPTY;\n })\n ).subscribe();\n\n this.modelChanged$.pipe(\n skipUntil(this.page.registrationStarted$.pipe(\n filter(started => started),\n delay(5)\n ))\n ).subscribe(() => this.page.setHasChanges());\n }\n\n idMatches(ontologyId?: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n ontologyId && o.id === ontologyId ? (o.side ? o.side === organSide : true) : false\n );\n }\n\n nameMatches(organName: string, organSide?: string): OrganInfo | undefined {\n return ALL_ORGANS.find((o) =>\n o.side ? o.organ.toLowerCase() === organName && o.side === organSide : o.organ.toLowerCase() === organName\n );\n }\n\n /**\n * Updates the block size\n *\n * @param blockSize The new block size values\n */\n @DataAction()\n setBlockSize(blockSize: XYZTriplet): void {\n this.ctx.patchState({ blockSize });\n }\n\n /**\n * Updates the rotation\n *\n * @param rotation The new rotation values\n */\n @DataAction()\n setRotation(rotation: XYZTriplet): void {\n this.ctx.patchState({ rotation });\n }\n\n /**\n * Updates the position\n *\n * @param position The new position values\n */\n @DataAction()\n setPosition(position: XYZTriplet): void {\n this.ga.event('placement', `${this.snapshot.organ?.name}_placement`, `${position.x.toFixed(1)}_${position.y.toFixed(1)}_${position.z.toFixed(1)}`);\n this.ctx.patchState({ position });\n }\n\n /**\n * Updates the slice configuration\n *\n * @param slicesConfig The new slice configuration\n */\n @DataAction()\n setSlicesConfig(slicesConfig: SlicesConfig): void {\n this.ctx.patchState({ slicesConfig });\n }\n\n /**\n * Updates the view type\n *\n * @param viewType the new view type\n */\n @DataAction()\n setViewType(viewType: ViewType): void {\n this.ctx.patchState({ viewType });\n }\n\n /**\n * Updates the view side\n *\n * @param viewSide The side to view\n */\n @DataAction()\n setViewSide(viewSide: ViewSide): void {\n this.ctx.patchState({ viewSide });\n }\n\n @Computed()\n get defaultPosition(): XYZTriplet {\n const dims = this.snapshot.organDimensions;\n const block = this.snapshot.blockSize;\n return { x: dims.x + 2 * block.x, y: dims.y / 2, z: dims.z / 2 };\n }\n\n /**\n * Updates the organ\n *\n * @param organ Name of the organ\n */\n @DataAction()\n setOrgan(organ: OrganInfo): void {\n this.ga.event('organ_select', 'organ', organ.name);\n this.ctx.patchState({ organ });\n if (organ.side) {\n this.ctx.patchState({ side: organ.side });\n }\n this.onOrganIriChange();\n }\n\n /**\n * Updates the sex\n *\n * @param [sex] The new sex\n */\n @DataAction()\n setSex(sex?: 'male' | 'female'): void {\n this.ctx.patchState({ sex });\n this.onOrganIriChange();\n }\n\n /**\n * Updates the side\n *\n * @param [side] The new side\n */\n @DataAction()\n setSide(side?: 'left' | 'right'): void {\n this.ctx.patchState({ side });\n this.onOrganIriChange();\n }\n\n /**\n * Updates show previous\n *\n * @param showPrevious Whether to show\n */\n @DataAction()\n setShowPrevious(showPrevious: boolean): void {\n this.ctx.patchState({ showPrevious });\n }\n\n /**\n * Updates extraction sites\n *\n * @param extractionSites New array of items\n */\n @DataAction()\n setExtractionSites(extractionSites: VisibilityItem[]): void {\n this.ctx.patchState({ extractionSites });\n }\n\n /**\n * Updates anatomical structures\n *\n * @param anatomicalStructures New array of items\n */\n @DataAction()\n setAnatomicalStructures(anatomicalStructures: VisibilityItem[]): void {\n this.ctx.patchState({ anatomicalStructures });\n }\n\n /**\n * Updates extraction sets\n *\n * @param extractionSets New array of extraction sets\n */\n @DataAction()\n setExtractionSets(extractionSets: ExtractionSet[]): void {\n this.ctx.patchState({ extractionSets });\n }\n\n /**\n * Toggles registration blocks visibility and handles anatomical structures\n * opacity changes accordingly\n *\n * @param visible the visible state to pass along to setShowPrevious()\n * @param previousItems visibilityItems to set anatomical structures\n */\n toggleRegistrationBlocksVisibility(visible: boolean, previousItems: VisibilityItem[]): void {\n this.setShowPrevious(visible);\n\n if (!visible) {\n this.setAnatomicalStructures(previousItems);\n } else {\n const newStructures = previousItems.map(structure => ({\n ...structure, opacity: Math.min(20, structure.opacity ?? 20)\n }));\n this.setAnatomicalStructures(newStructures);\n }\n }\n\n private onOrganIriChange(): void {\n const organIri = this.referenceData.getReferenceOrganIri(\n this.snapshot.organ?.organ || '', this.snapshot.sex, this.snapshot.side, this.snapshot.organ\n );\n const organDimensions: XYZTriplet = { x: 100, y: 100, z: 100 };\n\n if (this.snapshot.organ?.sex) {\n this.ctx.patchState({ sex: this.snapshot.organ?.sex });\n }\n\n if (organIri) {\n const db = this.referenceData.snapshot;\n const asLookup: { [id: string]: VisibilityItem } = {};\n for (const entity of (db.anatomicalStructures[organIri] || [])) {\n const iri = entity.representation_of ?? entity['@id'];\n if (!asLookup[iri]) {\n asLookup[iri] = {\n id: entity.representation_of ?? entity['@id'],\n name: entity.label!,\n visible: true,\n opacity: 20,\n tooltip: entity.comment\n };\n }\n }\n this.ctx.patchState({ anatomicalStructures: Object.values(asLookup) });\n\n const sets: ExtractionSet[] = (db.extractionSets[organIri] || []).map((set) => ({\n name: set.label,\n sites: sortBy(set.extractionSites.map((entity) => ({\n id: entity['@id'],\n name: entity.label!,\n visible: false,\n opacity: 0,\n tooltip: entity.comment\n })), 'name')\n }));\n this.ctx.patchState({ extractionSets: sets });\n this.ctx.patchState({ extractionSites: sets.length > 0 ? sets[0].sites : [] });\n\n const spatialEntity = db.organSpatialEntities[organIri];\n organDimensions.x = spatialEntity.x_dimension;\n organDimensions.y = spatialEntity.y_dimension;\n organDimensions.z = spatialEntity.z_dimension;\n }\n\n this.ctx.patchState({ organIri, organDimensions });\n this.ctx.patchState({ position: this.defaultPosition });\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.2 - 2023-07-12\nAdded in 3.7.2\n\nClient side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1\n\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-rui/src/app/app-web-component.component.ts\n \n component\n AppWebComponent\n \n 0 %\n (0/16)\n \n \n \n \n \n projects/ccf-rui/src/app/app.component.ts\n \n component\n AppComponent\n \n 54 %\n (12/22)\n \n \n \n \n \n projects/ccf-rui/src/app/app.component.ts\n \n interface\n AppOptions\n \n 0 %\n (0/5)\n \n \n \n \n \n projects/ccf-rui/src/app/app.component.ts\n \n interface\n User\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n interface\n Tag\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n interface\n TagSearchResult\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/documentation.ts\n \n interface\n DocumentationContent\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/extraction-set.ts\n \n interface\n ExtractionSet\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/meta-data.ts\n \n interface\n MetaDataField\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/models/visibility-item.ts\n \n interface\n VisibilityItem\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n interface\n GlobalConfig\n \n 0 %\n (0/15)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n function\n globalConfigFactory\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n variable\n GLOBAL_CONFIG\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n variable\n ruiConfig\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/theming/theming.service.ts\n \n injectable\n ThemingService\n \n 83 %\n (10/12)\n \n \n \n \n \n projects/ccf-rui/src/app/core/services/theming/theming.service.ts\n \n variable\n DEFAULT_THEME\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts\n \n injectable\n AnatomicalStructureTagState\n \n 58 %\n (7/12)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/anatomical-structure-tags/anatomical-structure-tags.state.ts\n \n interface\n AnatomicalStructureTagStateModel\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/icon-registry/default-icons.ts\n \n interface\n DefaultIconDefinition\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/icon-registry/default-icons.ts\n \n variable\n DEFAULT_ICONS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n injectable\n IconRegistryState\n \n 85 %\n (6/7)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/icon-registry/icon-registry.state.ts\n \n interface\n IconDefinition\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n injectable\n ModelState\n \n 89 %\n (34/38)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n interface\n ModelStateModel\n \n 100 %\n (18/18)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n interface\n SlicesConfig\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n interface\n XYZTriplet\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n variable\n RUI_ORGANS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n injectable\n PageState\n \n 50 %\n (7/14)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n interface\n PageStateModel\n \n 42 %\n (3/7)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/page/page.state.ts\n \n interface\n Person\n \n 33 %\n (1/3)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n injectable\n ReferenceDataState\n \n 57 %\n (4/7)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n interface\n OrganData\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n interface\n ReferenceDataStateModel\n \n 0 %\n (0/8)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n function\n applySpatialPlacement\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/registration/registration.state.ts\n \n injectable\n RegistrationState\n \n 82 %\n (14/17)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/registration/registration.state.ts\n \n interface\n RegistrationStateModel\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n injectable\n SceneState\n \n 50 %\n (4/8)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n interface\n SceneStateModel\n \n 50 %\n (1/2)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n function\n getNodeBbox\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-rui/src/app/core/store/store.module.ts\n \n variable\n ROOT_STATES\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/content/content.component.ts\n \n component\n ContentComponent\n \n 81 %\n (13/16)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts\n \n component\n StageNavComponent\n \n 100 %\n (17/17)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/content/video-modal/video-modal-launcher/video-modal-launcher.component.ts\n \n component\n VideoModalLauncherComponent\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/content/video-modal/video-modal/video-modal.component.ts\n \n component\n VideoModalComponent\n \n 77 %\n (7/9)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/header/header.component.ts\n \n component\n HeaderComponent\n \n 66 %\n (4/6)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/left-sidebar/left-sidebar.component.ts\n \n component\n LeftSidebarComponent\n \n 61 %\n (11/18)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/registration-modal/registration-content/registration-content.component.ts\n \n component\n RegistrationContentComponent\n \n 94 %\n (16/17)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/registration-modal/registration-modal/registration-modal.component.ts\n \n component\n RegistrationModalComponent\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/review/review-button/review-button.component.ts\n \n component\n ReviewButtonComponent\n \n 100 %\n (13/13)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts\n \n component\n ReviewModalComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/review/review-modal/review-modal.component.ts\n \n interface\n ReviewModalData\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/modules/right-sidebar/right-sidebar.component.ts\n \n component\n RightSidebarComponent\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n component\n BlockSizeInputComponent\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n interface\n BlockSize\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n variable\n DEFAULT_BLOCK_SIZE\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/details-label/details-label.component.ts\n \n component\n DetailsLabelComponent\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts\n \n component\n ContainerComponent\n \n 100 %\n (13/13)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts\n \n function\n throwDuplicateDrawersError\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/content/content.component.ts\n \n component\n ContentComponent\n \n 100 %\n (18/18)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n component\n DrawerComponent\n \n 95 %\n (42/44)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n class\n InitializationState\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n variable\n EXPAND_COLLAPSE_PARAMS_DEFAULT\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n interface\n ContentContainerChanged\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerContainersChanged\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerInitialized\n \n 100 %\n (2/2)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n interface\n DrawerToggled\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n variable\n MessageService\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/toggle-button/toggle-button.component.ts\n \n component\n ToggleButtonComponent\n \n 100 %\n (12/12)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/extraction-set-dropdown/extraction-set-dropdown.component.ts\n \n component\n ExtractionSetDropdownComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/json-file-reader/json-file-reader.component.ts\n \n component\n JsonFileReaderComponent\n \n 88 %\n (8/9)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/labeled-slide-toggle/labeled-slide-toggle.component.ts\n \n component\n LabeledSlideToggleComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts\n \n component\n NameInputComponent\n \n 90 %\n (9/10)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/name-input/name-input.component.ts\n \n interface\n UserName\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n component\n RotationSliderComponent\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n interface\n Rotation\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n variable\n DEFAULT_ROTATION\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n component\n SlicesInputComponent\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n interface\n SlicesConfig\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n variable\n DEFAULT_SLICES_CONFIG\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-list/tag-list.component.ts\n \n component\n TagListComponent\n \n 90 %\n (9/10)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n component\n TagSearchComponent\n \n 100 %\n (29/29)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n variable\n DEFAULT_SEARCH_LIMIT\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n variable\n DEFAULT_SEARCH_THROTTLE\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n variable\n EMPTY_RESULT\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/visibility-menu/visibility-menu.component.ts\n \n component\n VisibilityMenuComponent\n \n 100 %\n (15/15)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/visibility-toggle/visibility-toggle.component.ts\n \n component\n VisibilityToggleComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n class\n MessageChannel\n \n 100 %\n (8/8)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n injectable\n MessageService\n \n 100 %\n (6/6)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n interface\n Message\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n interface\n MessageServiceConfig\n \n 100 %\n (2/2)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n variable\n MESSAGE_SERVICE_CONFIG\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n variable\n MESSAGE_SERVICE_DEFAULT_CONFIG\n \n 100 %\n (1/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n object-hash : ^3.0.0\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n applySpatialPlacement   (projects/.../reference-data.state.ts)\n \n \n getNodeBbox   (projects/.../scene.state.ts)\n \n \n globalConfigFactory   (projects/.../config.ts)\n \n \n throwDuplicateDrawersError   (projects/.../container.component.ts)\n \n \n \n \n \n \n\n\n projects/ccf-rui/src/app/core/store/reference-data/reference-data.state.ts\n \n \n \n \n \n \n \n applySpatialPlacement\n \n \n \n \n \n \napplySpatialPlacement(tx, placement)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n tx\n\n \n No\n \n\n\n \n \n placement\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Matrix4\n\n \n \n \n \n \n \n \n \n projects/ccf-rui/src/app/core/store/scene/scene.state.ts\n \n \n \n \n \n \n \n getNodeBbox\n \n \n \n \n \n \ngetNodeBbox(model)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n model\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : AABB\n\n \n \n \n \n \n \n \n \n projects/ccf-rui/src/app/core/services/config/config.ts\n \n \n \n \n \n \n \n globalConfigFactory\n \n \n \n \n \n \nglobalConfigFactory(globals)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n globals\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : GlobalConfig\n\n \n \n \n \n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/container/container.component.ts\n \n \n \n \n \n \n \n throwDuplicateDrawersError\n \n \n \n \n \n \nthrowDuplicateDrawersError(position)\n \n \n\n\n\n\n \n \n Helper function for creating drawer errors.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n position\n\n \n No\n \n\n\n \n The position of the drawer.\n\n \n \n \n \n \n \n \n \n Returns : never\n\n \n \n \n \n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AppModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n BlockSizeInputModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ConfigModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n ContentModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CoreModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DetailsLabelModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DrawerModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ExtractionSetDropdownModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n HeaderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n JsonFileReaderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LabeledSlideToggleModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n LeftSidebarModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n NameInputModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RegistrationContentModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RegistrationModalModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ReviewButtonModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ReviewModalModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RightSidebarModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n RotationSliderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SlicesInputModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StageNavModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StoreModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n TagListModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TagSearchModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n ThemingModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VideoModalLauncherModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VideoModalModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VisibilityMenuModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n VisibilityToggleModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AppModule\n\n\n\ncluster_AppModule_declarations\n\n\n\ncluster_AppModule_imports\n\n\n\ncluster_BlockSizeInputModule\n\n\n\ncluster_BlockSizeInputModule_declarations\n\n\n\ncluster_BlockSizeInputModule_exports\n\n\n\ncluster_ContentModule\n\n\n\ncluster_ContentModule_declarations\n\n\n\ncluster_ContentModule_imports\n\n\n\ncluster_ContentModule_exports\n\n\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\ncluster_DetailsLabelModule\n\n\n\ncluster_DetailsLabelModule_declarations\n\n\n\ncluster_DetailsLabelModule_exports\n\n\n\ncluster_DrawerModule\n\n\n\ncluster_DrawerModule_declarations\n\n\n\ncluster_DrawerModule_exports\n\n\n\ncluster_ExtractionSetDropdownModule\n\n\n\ncluster_ExtractionSetDropdownModule_declarations\n\n\n\ncluster_ExtractionSetDropdownModule_exports\n\n\n\ncluster_HeaderModule\n\n\n\ncluster_HeaderModule_declarations\n\n\n\ncluster_HeaderModule_exports\n\n\n\ncluster_JsonFileReaderModule\n\n\n\ncluster_JsonFileReaderModule_declarations\n\n\n\ncluster_JsonFileReaderModule_exports\n\n\n\ncluster_LabeledSlideToggleModule\n\n\n\ncluster_LabeledSlideToggleModule_declarations\n\n\n\ncluster_LabeledSlideToggleModule_exports\n\n\n\ncluster_LeftSidebarModule\n\n\n\ncluster_LeftSidebarModule_declarations\n\n\n\ncluster_LeftSidebarModule_imports\n\n\n\ncluster_LeftSidebarModule_exports\n\n\n\ncluster_NameInputModule\n\n\n\ncluster_NameInputModule_declarations\n\n\n\ncluster_NameInputModule_exports\n\n\n\ncluster_RegistrationContentModule\n\n\n\ncluster_RegistrationContentModule_declarations\n\n\n\ncluster_RegistrationContentModule_exports\n\n\n\ncluster_RegistrationModalModule\n\n\n\ncluster_RegistrationModalModule_declarations\n\n\n\ncluster_RegistrationModalModule_exports\n\n\n\ncluster_ReviewButtonModule\n\n\n\ncluster_ReviewButtonModule_declarations\n\n\n\ncluster_ReviewButtonModule_imports\n\n\n\ncluster_ReviewButtonModule_exports\n\n\n\ncluster_ReviewModalModule\n\n\n\ncluster_ReviewModalModule_declarations\n\n\n\ncluster_ReviewModalModule_exports\n\n\n\ncluster_RightSidebarModule\n\n\n\ncluster_RightSidebarModule_declarations\n\n\n\ncluster_RightSidebarModule_imports\n\n\n\ncluster_RightSidebarModule_exports\n\n\n\ncluster_RotationSliderModule\n\n\n\ncluster_RotationSliderModule_declarations\n\n\n\ncluster_RotationSliderModule_exports\n\n\n\ncluster_SlicesInputModule\n\n\n\ncluster_SlicesInputModule_declarations\n\n\n\ncluster_SlicesInputModule_exports\n\n\n\ncluster_StageNavModule\n\n\n\ncluster_StageNavModule_declarations\n\n\n\ncluster_StageNavModule_exports\n\n\n\ncluster_TagListModule\n\n\n\ncluster_TagListModule_declarations\n\n\n\ncluster_TagListModule_exports\n\n\n\ncluster_TagSearchModule\n\n\n\ncluster_TagSearchModule_declarations\n\n\n\ncluster_TagSearchModule_exports\n\n\n\ncluster_ThemingModule\n\n\n\ncluster_ThemingModule_providers\n\n\n\ncluster_VideoModalLauncherModule\n\n\n\ncluster_VideoModalLauncherModule_declarations\n\n\n\ncluster_VideoModalLauncherModule_exports\n\n\n\ncluster_VideoModalModule\n\n\n\ncluster_VideoModalModule_declarations\n\n\n\ncluster_VideoModalModule_exports\n\n\n\ncluster_VisibilityMenuModule\n\n\n\ncluster_VisibilityMenuModule_declarations\n\n\n\ncluster_VisibilityMenuModule_exports\n\n\n\ncluster_VisibilityToggleModule\n\n\n\ncluster_VisibilityToggleModule_declarations\n\n\n\ncluster_VisibilityToggleModule_exports\n\n\n\n\nAppComponent\n\nAppComponent\n\n\n\nAppModule\n\nAppModule\n\nAppModule -->\n\nAppComponent->AppModule\n\n\n\n\n\nAppWebComponent\n\nAppWebComponent\n\nAppModule -->\n\nAppWebComponent->AppModule\n\n\n\n\n\nContentModule\n\nContentModule\n\nAppModule -->\n\nContentModule->AppModule\n\n\n\n\n\nContentComponent \n\nContentComponent \n\nContentComponent -->\n\nContentModule->ContentComponent \n\n\n\n\n\nCoreModule\n\nCoreModule\n\nAppModule -->\n\nCoreModule->AppModule\n\n\n\n\n\nDrawerModule\n\nDrawerModule\n\nAppModule -->\n\nDrawerModule->AppModule\n\n\n\n\n\nContainerComponent \n\nContainerComponent \n\nContainerComponent -->\n\nDrawerModule->ContainerComponent \n\n\n\n\n\nDrawerComponent \n\nDrawerComponent \n\nDrawerComponent -->\n\nDrawerModule->DrawerComponent \n\n\n\n\n\nToggleButtonComponent \n\nToggleButtonComponent \n\nToggleButtonComponent -->\n\nDrawerModule->ToggleButtonComponent \n\n\n\n\n\nHeaderModule\n\nHeaderModule\n\nAppModule -->\n\nHeaderModule->AppModule\n\n\n\n\n\nHeaderComponent \n\nHeaderComponent \n\nHeaderComponent -->\n\nHeaderModule->HeaderComponent \n\n\n\n\n\nLeftSidebarModule\n\nLeftSidebarModule\n\nAppModule -->\n\nLeftSidebarModule->AppModule\n\n\n\n\n\nLeftSidebarComponent \n\nLeftSidebarComponent \n\nLeftSidebarComponent -->\n\nLeftSidebarModule->LeftSidebarComponent \n\n\n\n\n\nRegistrationModalModule\n\nRegistrationModalModule\n\nAppModule -->\n\nRegistrationModalModule->AppModule\n\n\n\n\n\nRegistrationModalComponent \n\nRegistrationModalComponent \n\nRegistrationModalComponent -->\n\nRegistrationModalModule->RegistrationModalComponent \n\n\n\n\n\nRightSidebarModule\n\nRightSidebarModule\n\nAppModule -->\n\nRightSidebarModule->AppModule\n\n\n\n\n\nRightSidebarComponent \n\nRightSidebarComponent \n\nRightSidebarComponent -->\n\nRightSidebarModule->RightSidebarComponent \n\n\n\n\n\nBlockSizeInputComponent\n\nBlockSizeInputComponent\n\n\n\nBlockSizeInputModule\n\nBlockSizeInputModule\n\nBlockSizeInputModule -->\n\nBlockSizeInputComponent->BlockSizeInputModule\n\n\n\nRightSidebarModule -->\n\nBlockSizeInputModule->RightSidebarModule\n\n\n\n\n\nBlockSizeInputComponent \n\nBlockSizeInputComponent \n\nBlockSizeInputComponent -->\n\nBlockSizeInputModule->BlockSizeInputComponent \n\n\n\n\n\nContentComponent\n\nContentComponent\n\nContentModule -->\n\nContentComponent->ContentModule\n\n\n\nDrawerModule -->\n\nContentComponent->DrawerModule\n\n\n\n\n\nStageNavModule\n\nStageNavModule\n\nContentModule -->\n\nStageNavModule->ContentModule\n\n\n\n\n\nStageNavComponent \n\nStageNavComponent \n\nStageNavComponent -->\n\nStageNavModule->StageNavComponent \n\n\n\n\n\nVideoModalLauncherModule\n\nVideoModalLauncherModule\n\nContentModule -->\n\nVideoModalLauncherModule->ContentModule\n\n\n\n\n\nVideoModalLauncherComponent \n\nVideoModalLauncherComponent \n\nVideoModalLauncherComponent -->\n\nVideoModalLauncherModule->VideoModalLauncherComponent \n\n\n\n\n\nConfigModule\n\nConfigModule\n\nCoreModule -->\n\nConfigModule->CoreModule\n\n\n\n\n\nStoreModule\n\nStoreModule\n\nCoreModule -->\n\nStoreModule->CoreModule\n\n\n\n\n\nThemingModule\n\nThemingModule\n\nCoreModule -->\n\nThemingModule->CoreModule\n\n\n\n\n\nDetailsLabelComponent\n\nDetailsLabelComponent\n\n\n\nDetailsLabelModule\n\nDetailsLabelModule\n\nDetailsLabelModule -->\n\nDetailsLabelComponent->DetailsLabelModule\n\n\n\nLeftSidebarModule -->\n\nDetailsLabelModule->LeftSidebarModule\n\n\n\n\n\nDetailsLabelComponent \n\nDetailsLabelComponent \n\nDetailsLabelComponent -->\n\nDetailsLabelModule->DetailsLabelComponent \n\n\n\n\n\nContainerComponent\n\nContainerComponent\n\nDrawerModule -->\n\nContainerComponent->DrawerModule\n\n\n\n\n\nDrawerComponent\n\nDrawerComponent\n\nDrawerModule -->\n\nDrawerComponent->DrawerModule\n\n\n\n\n\nToggleButtonComponent\n\nToggleButtonComponent\n\nDrawerModule -->\n\nToggleButtonComponent->DrawerModule\n\n\n\n\n\nExtractionSetDropdownComponent\n\nExtractionSetDropdownComponent\n\n\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule\n\nExtractionSetDropdownModule -->\n\nExtractionSetDropdownComponent->ExtractionSetDropdownModule\n\n\n\nLeftSidebarModule -->\n\nExtractionSetDropdownModule->LeftSidebarModule\n\n\n\n\n\nExtractionSetDropdownComponent \n\nExtractionSetDropdownComponent \n\nExtractionSetDropdownComponent -->\n\nExtractionSetDropdownModule->ExtractionSetDropdownComponent \n\n\n\n\n\nHeaderComponent\n\nHeaderComponent\n\nHeaderModule -->\n\nHeaderComponent->HeaderModule\n\n\n\n\n\nJsonFileReaderComponent\n\nJsonFileReaderComponent\n\n\n\nJsonFileReaderModule\n\nJsonFileReaderModule\n\nJsonFileReaderModule -->\n\nJsonFileReaderComponent->JsonFileReaderModule\n\n\n\nLeftSidebarModule -->\n\nJsonFileReaderModule->LeftSidebarModule\n\n\n\n\n\nJsonFileReaderComponent \n\nJsonFileReaderComponent \n\nJsonFileReaderComponent -->\n\nJsonFileReaderModule->JsonFileReaderComponent \n\n\n\n\n\nLabeledSlideToggleComponent\n\nLabeledSlideToggleComponent\n\n\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule\n\nLabeledSlideToggleModule -->\n\nLabeledSlideToggleComponent->LabeledSlideToggleModule\n\n\n\nLeftSidebarModule -->\n\nLabeledSlideToggleModule->LeftSidebarModule\n\n\n\nStageNavModule -->\n\nLabeledSlideToggleModule->StageNavModule\n\n\n\n\n\nLabeledSlideToggleComponent \n\nLabeledSlideToggleComponent \n\nLabeledSlideToggleComponent -->\n\nLabeledSlideToggleModule->LabeledSlideToggleComponent \n\n\n\n\n\nRegistrationContentModule\n\nRegistrationContentModule\n\nRegistrationContentModule -->\n\nLabeledSlideToggleModule->RegistrationContentModule\n\n\n\n\n\nLeftSidebarComponent\n\nLeftSidebarComponent\n\nLeftSidebarModule -->\n\nLeftSidebarComponent->LeftSidebarModule\n\n\n\n\n\nNameInputModule\n\nNameInputModule\n\nLeftSidebarModule -->\n\nNameInputModule->LeftSidebarModule\n\n\n\n\n\nNameInputComponent \n\nNameInputComponent \n\nNameInputComponent -->\n\nNameInputModule->NameInputComponent \n\n\n\nRegistrationContentModule -->\n\nNameInputModule->RegistrationContentModule\n\n\n\n\n\nVisibilityMenuModule\n\nVisibilityMenuModule\n\nLeftSidebarModule -->\n\nVisibilityMenuModule->LeftSidebarModule\n\n\n\n\n\nVisibilityMenuComponent \n\nVisibilityMenuComponent \n\nVisibilityMenuComponent -->\n\nVisibilityMenuModule->VisibilityMenuComponent \n\n\n\n\n\nVisibilityToggleModule\n\nVisibilityToggleModule\n\nLeftSidebarModule -->\n\nVisibilityToggleModule->LeftSidebarModule\n\n\n\nLeftSidebarModule -->\n\nVisibilityToggleModule->LeftSidebarModule\n\n\n\n\n\nVisibilityToggleComponent \n\nVisibilityToggleComponent \n\nVisibilityToggleComponent -->\n\nVisibilityToggleModule->VisibilityToggleComponent \n\n\n\n\n\nNameInputComponent\n\nNameInputComponent\n\nNameInputModule -->\n\nNameInputComponent->NameInputModule\n\n\n\n\n\nRegistrationContentComponent\n\nRegistrationContentComponent\n\nRegistrationContentModule -->\n\nRegistrationContentComponent->RegistrationContentModule\n\n\n\nRegistrationModalModule -->\n\nRegistrationContentModule->RegistrationModalModule\n\n\n\n\n\nRegistrationContentComponent \n\nRegistrationContentComponent \n\nRegistrationContentComponent -->\n\nRegistrationContentModule->RegistrationContentComponent \n\n\n\n\n\nRegistrationModalComponent\n\nRegistrationModalComponent\n\nRegistrationModalModule -->\n\nRegistrationModalComponent->RegistrationModalModule\n\n\n\n\n\nReviewButtonComponent\n\nReviewButtonComponent\n\n\n\nReviewButtonModule\n\nReviewButtonModule\n\nReviewButtonModule -->\n\nReviewButtonComponent->ReviewButtonModule\n\n\n\nRightSidebarModule -->\n\nReviewButtonModule->RightSidebarModule\n\n\n\n\n\nReviewButtonComponent \n\nReviewButtonComponent \n\nReviewButtonComponent -->\n\nReviewButtonModule->ReviewButtonComponent \n\n\n\n\n\nReviewModalModule\n\nReviewModalModule\n\nReviewButtonModule -->\n\nReviewModalModule->ReviewButtonModule\n\n\n\n\n\nReviewModalComponent \n\nReviewModalComponent \n\nReviewModalComponent -->\n\nReviewModalModule->ReviewModalComponent \n\n\n\n\n\nReviewModalComponent\n\nReviewModalComponent\n\nReviewModalModule -->\n\nReviewModalComponent->ReviewModalModule\n\n\n\n\n\nRightSidebarComponent\n\nRightSidebarComponent\n\nRightSidebarModule -->\n\nRightSidebarComponent->RightSidebarModule\n\n\n\n\n\nRotationSliderModule\n\nRotationSliderModule\n\nRightSidebarModule -->\n\nRotationSliderModule->RightSidebarModule\n\n\n\n\n\nRotationSliderComponent \n\nRotationSliderComponent \n\nRotationSliderComponent -->\n\nRotationSliderModule->RotationSliderComponent \n\n\n\n\n\nSlicesInputModule\n\nSlicesInputModule\n\nRightSidebarModule -->\n\nSlicesInputModule->RightSidebarModule\n\n\n\n\n\nSlicesInputComponent \n\nSlicesInputComponent \n\nSlicesInputComponent -->\n\nSlicesInputModule->SlicesInputComponent \n\n\n\n\n\nTagListModule\n\nTagListModule\n\nRightSidebarModule -->\n\nTagListModule->RightSidebarModule\n\n\n\n\n\nTagListComponent \n\nTagListComponent \n\nTagListComponent -->\n\nTagListModule->TagListComponent \n\n\n\n\n\nTagSearchModule\n\nTagSearchModule\n\nRightSidebarModule -->\n\nTagSearchModule->RightSidebarModule\n\n\n\n\n\nTagSearchComponent \n\nTagSearchComponent \n\nTagSearchComponent -->\n\nTagSearchModule->TagSearchComponent \n\n\n\n\n\nRotationSliderComponent\n\nRotationSliderComponent\n\nRotationSliderModule -->\n\nRotationSliderComponent->RotationSliderModule\n\n\n\n\n\nSlicesInputComponent\n\nSlicesInputComponent\n\nSlicesInputModule -->\n\nSlicesInputComponent->SlicesInputModule\n\n\n\n\n\nStageNavComponent\n\nStageNavComponent\n\nStageNavModule -->\n\nStageNavComponent->StageNavModule\n\n\n\n\n\nTagListComponent\n\nTagListComponent\n\nTagListModule -->\n\nTagListComponent->TagListModule\n\n\n\n\n\nTagSearchComponent\n\nTagSearchComponent\n\nTagSearchModule -->\n\nTagSearchComponent->TagSearchModule\n\n\n\n\n\nThemingService\n\nThemingService\n\nThemingModule -->\n\nThemingService->ThemingModule\n\n\n\n\n\nVideoModalLauncherComponent\n\nVideoModalLauncherComponent\n\nVideoModalLauncherModule -->\n\nVideoModalLauncherComponent->VideoModalLauncherModule\n\n\n\n\n\nVideoModalComponent\n\nVideoModalComponent\n\n\n\nVideoModalModule\n\nVideoModalModule\n\nVideoModalModule -->\n\nVideoModalComponent->VideoModalModule\n\n\n\n\n\nVideoModalComponent \n\nVideoModalComponent \n\nVideoModalComponent -->\n\nVideoModalModule->VideoModalComponent \n\n\n\n\n\nVisibilityMenuComponent\n\nVisibilityMenuComponent\n\nVisibilityMenuModule -->\n\nVisibilityMenuComponent->VisibilityMenuModule\n\n\n\n\n\nVisibilityToggleComponent\n\nVisibilityToggleComponent\n\nVisibilityToggleModule -->\n\nVisibilityToggleComponent->VisibilityToggleModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n \n\n \n \n \n \n \n \n 29 Modules\n \n \n \n \n \n \n \n \n 29 Components\n \n \n \n \n \n \n \n 9 Injectables\n \n \n \n \n \n \n \n 2 Classes\n \n \n \n \n \n \n \n 32 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n CancelRegistrationCallback   (projects/.../app-web-component.component.ts)\n \n \n ContainerPayload   (projects/.../messages.ts)\n \n \n DrawerPayload   (projects/.../messages.ts)\n \n \n ExpandedState   (projects/.../drawer.component.ts)\n \n \n ExpandedState2   (projects/.../drawer.component.ts)\n \n \n FetchPreviousRegistrationsCallback   (projects/.../app-web-component.component.ts)\n \n \n Message   (projects/.../messages.ts)\n \n \n MessageChannel   (projects/.../messages.ts)\n \n \n MessageService   (projects/.../messages.ts)\n \n \n MetaData   (projects/.../meta-data.ts)\n \n \n OpenedState   (projects/.../drawer.component.ts)\n \n \n Organ   (projects/.../app-web-component.component.ts)\n \n \n Payload   (projects/.../messages.ts)\n \n \n RegistrationCallback   (projects/.../app-web-component.component.ts)\n \n \n Side   (projects/.../stage-nav.component.ts)\n \n \n TagId   (projects/.../anatomical-structure-tag.ts)\n \n \n User   (projects/.../app-web-component.component.ts)\n \n \n ViewSide   (projects/.../model.state.ts)\n \n \n ViewType   (projects/.../model.state.ts)\n \n \n \n \n \n \n\n\n projects/ccf-rui/src/app/app-web-component.component.ts\n \n \n \n \n \n \n CancelRegistrationCallback\n \n \n \n \n function\n\n \n \n \n \n \n \n \n \n \n FetchPreviousRegistrationsCallback\n \n \n \n \n function\n\n \n \n \n \n \n \n \n \n \n Organ\n \n \n \n \n NonNullable<>\n\n \n \n \n \n \n \n \n \n \n RegistrationCallback\n \n \n \n \n function\n\n \n \n \n \n \n \n \n \n \n User\n \n \n \n \n NonNullable<>\n\n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n \n \n \n \n \n ContainerPayload\n \n \n \n \n Payload types for messages sent from the drawer container.\n\n \n \n \n \n ContentContainerChanged | DrawerContainersChanged\n\n \n \n \n \n \n \n \n \n \n DrawerPayload\n \n \n \n \n Payload types for messages sent from the drawers.\n\n \n \n \n \n DrawerToggled | DrawerInitialized\n\n \n \n \n \n \n \n \n \n \n Message\n \n \n \n \n Specific message type.\n\n \n \n \n \n GenericMessage\n\n \n \n \n \n \n \n \n \n \n MessageChannel\n \n \n \n \n Specific channel type.\n\n \n \n \n \n GenericMessageChannel\n\n \n \n \n \n \n \n \n \n \n MessageService\n \n \n \n \n Specific service type.\n\n \n \n \n \n GenericMessageService\n\n \n \n \n \n \n \n \n \n \n Payload\n \n \n \n \n Combined payload type for all drawer sub components.\n\n \n \n \n \n ContainerPayload | DrawerPayload\n\n \n \n \n \n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n \n \n \n \n \n ExpandedState\n \n \n \n \n Expanded/collapsed state.\n\n \n \n \n \n \"open\" | \"open-instant\" | \"closed\"\n\n \n \n \n \n \n \n \n \n \n ExpandedState2\n \n \n \n \n Expanded state relative to an opposite drawer.\n\n \n \n \n \n \"collapsed\" | \"half\" | \"extended\" | \"full\"\n\n \n \n \n \n \n \n \n \n \n OpenedState\n \n \n \n \n Opened/closed state.\n\n \n \n \n \n \"open\" | \"open-instant\" | \"closed\"\n\n \n \n \n \n projects/ccf-rui/src/app/core/models/meta-data.ts\n \n \n \n \n \n \n MetaData\n \n \n \n \n MetaDataField[]\n\n \n \n \n \n projects/ccf-rui/src/app/modules/content/stage-nav/stage-nav.component.ts\n \n \n \n \n \n \n Side\n \n \n \n \n Valid values for side.\n\n \n \n \n \n \"left\" | \"right\" | \"anterior\" | \"posterior\" | \"3D\"\n\n \n \n \n \n projects/ccf-rui/src/app/core/models/anatomical-structure-tag.ts\n \n \n \n \n \n \n TagId\n \n \n \n \n Type for tag identifiers\n\n \n \n \n \n string | number\n\n \n \n \n \n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n \n \n \n \n \n ViewSide\n \n \n \n \n Side which the model is viewed from\n\n \n \n \n \n \"left\" | \"right\" | \"anterior\" | \"posterior\"\n\n \n \n \n \n \n \n \n \n \n ViewType\n \n \n \n \n Model view type\n\n \n \n \n \n \"register\" | \"3d\"\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n DEFAULT_BLOCK_SIZE   (projects/.../block-size-input.component.ts)\n \n \n DEFAULT_ICONS   (projects/.../default-icons.ts)\n \n \n DEFAULT_ROTATION   (projects/.../rotation-slider.component.ts)\n \n \n DEFAULT_SEARCH_LIMIT   (projects/.../tag-search.component.ts)\n \n \n DEFAULT_SEARCH_THROTTLE   (projects/.../tag-search.component.ts)\n \n \n DEFAULT_SLICES_CONFIG   (projects/.../slices-input.component.ts)\n \n \n DEFAULT_THEME   (projects/.../theming.service.ts)\n \n \n EMPTY_RESULT   (projects/.../tag-search.component.ts)\n \n \n EXPAND_COLLAPSE_PARAMS_DEFAULT   (projects/.../drawer.component.ts)\n \n \n GLOBAL_CONFIG   (projects/.../config.ts)\n \n \n MESSAGE_SERVICE_CONFIG   (projects/.../message.service.ts)\n \n \n MESSAGE_SERVICE_DEFAULT_CONFIG   (projects/.../message.service.ts)\n \n \n MessageService   (projects/.../messages.ts)\n \n \n ROOT_STATES   (projects/.../store.module.ts)\n \n \n RUI_ORGANS   (projects/.../model.state.ts)\n \n \n ruiConfig   (projects/.../config.ts)\n \n \n \n \n \n \n\n\n projects/ccf-rui/src/app/shared/components/block-size-input/block-size-input.component.ts\n \n \n \n \n \n \n \n DEFAULT_BLOCK_SIZE\n \n \n \n \n \n \n Type : BlockSize\n\n \n \n \n \n Default value : {\n x: 10,\n y: 10,\n z: 10\n}\n \n \n\n \n \n Defaults for block sizes.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/store/icon-registry/default-icons.ts\n \n \n \n \n \n \n \n DEFAULT_ICONS\n \n \n \n \n \n \n Type : DefaultIconDefinition[]\n\n \n \n \n \n Default value : [\n // Reference Organs\n { name: 'bladder', namespace: 'app', url: 'assets/icons/organs/ico-organs-bladder.svg' },\n { name: 'blood', namespace: 'app', url: 'assets/icons/organs/ico-organs-blood.svg' },\n { name: 'bone-marrow', namespace: 'app', url: 'assets/icons/organs/ico-organs-bone-marrow.svg' },\n { name: 'brain', namespace: 'app', url: 'assets/icons/organs/ico-organs-brain.svg' },\n { name: 'eye', namespace: 'app', url: 'assets/icons/organs/ico-organs-eye.svg' },\n { name: 'fallopian-tube-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-left.svg' },\n { name: 'fallopian-tube-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-fallopian-tube-right.svg' },\n { name: 'heart', namespace: 'app', url: 'assets/icons/organs/ico-organs-heart.svg' },\n { name: 'kidney-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-left.svg' },\n { name: 'kidney-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney-right.svg' },\n { name: 'kidney', namespace: 'app', url: 'assets/icons/organs/ico-organs-kidney.svg' },\n { name: 'knee', namespace: 'app', url: 'assets/icons/organs/ico-organs-knee.svg' },\n { name: 'large-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-large-intestine.svg' },\n { name: 'larynx', namespace: 'app', url: 'assets/icons/organs/ico-organs-larynx.svg' },\n { name: 'liver', namespace: 'app', url: 'assets/icons/organs/ico-organs-liver.svg' },\n { name: 'lung-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-left.svg' },\n { name: 'lung-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung-right.svg' },\n { name: 'lung', namespace: 'app', url: 'assets/icons/organs/ico-organs-lung.svg' },\n { name: 'lymph-nodes', namespace: 'app', url: 'assets/icons/organs/ico-organs-lymph-nodes.svg' },\n { name: 'main-bronchus', namespace: 'app', url: 'assets/icons/organs/ico-organs-extrapulmonary bronchus.svg' },\n { name: 'mammary-gland', namespace: 'app', url: 'assets/icons/organs/ico-organs-breast.svg' },\n { name: 'neuron', namespace: 'app', url: 'assets/icons/organs/ico-organs-neuron.svg' },\n { name: 'ovaries', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovaries.svg' },\n { name: 'ovary-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-left.svg' },\n { name: 'ovary-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ovary-right.svg' },\n { name: 'palatine-tonsil', namespace: 'app', url: 'assets/icons/organs/ico-organs-palatine tonsil.svg' },\n { name: 'pancreas', namespace: 'app', url: 'assets/icons/organs/ico-organs-pancreas.svg' },\n { name: 'pelvis-f', namespace: 'app', url: 'assets/icons/organs/ico-organs-pelvis-f.svg' },\n { name: 'placenta', namespace: 'app', url: 'assets/icons/organs/ico-organs-placenta.svg' },\n { name: 'prostate', namespace: 'app', url: 'assets/icons/organs/ico-organs-prostate.svg' },\n { name: 'skin', namespace: 'app', url: 'assets/icons/organs/ico-organs-skin.svg' },\n { name: 'small-intestine', namespace: 'app', url: 'assets/icons/organs/ico-organs-small intestine.svg' },\n { name: 'spinal-cord', namespace: 'app', url: 'assets/icons/organs/ico-organs-spinal-cord.svg' },\n { name: 'spleen', namespace: 'app', url: 'assets/icons/organs/ico-organs-spleen.svg' },\n { name: 'stomach', namespace: 'app', url: 'assets/icons/organs/ico-organs-stomach.svg' },\n { name: 'thymus', namespace: 'app', url: 'assets/icons/organs/ico-organs-thymus.svg' },\n { name: 'trachea', namespace: 'app', url: 'assets/icons/organs/ico-organs-trachea.svg' },\n { name: 'ureter-left', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-left.svg' },\n { name: 'ureter-right', namespace: 'app', url: 'assets/icons/organs/ico-organs-ureter-right.svg' },\n { name: 'uterus', namespace: 'app', url: 'assets/icons/organs/ico-organs-uterus.svg' },\n { name: 'vasculature-thick', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thick.svg' },\n { name: 'vasculature-thin', namespace: 'app', url: 'assets/icons/organs/ico-organs-vasculature-thin.svg' },\n\n { name: 'opacity', namespace: 'app', url: 'assets/icons/opacity-24px.svg' },\n { name: 'visibility_on', namespace: 'app', url: 'assets/icons/visibility-on-24px.svg' },\n { name: 'visibility_off', namespace: 'app', url: 'assets/icons/visibility-off-24px.svg' },\n { name: 'visibility_off_cube', namespace: 'app', url: 'assets/icons/ico-cube.svg' }\n]\n \n \n\n \n \n Icons registered at startup.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/rotation-slider/rotation-slider.component.ts\n \n \n \n \n \n \n \n DEFAULT_ROTATION\n \n \n \n \n \n \n Type : Rotation\n\n \n \n \n \n Default value : {\n x: 0,\n y: 0,\n z: 0\n}\n \n \n\n \n \n Default values for rotation.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/tag-search/tag-search.component.ts\n \n \n \n \n \n \n \n DEFAULT_SEARCH_LIMIT\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 5\n \n \n\n \n \n Default search results limit\n\n \n \n\n \n \n \n \n \n \n \n \n DEFAULT_SEARCH_THROTTLE\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 100\n \n \n\n \n \n Default search throttle time in ms\n\n \n \n\n \n \n \n \n \n \n \n \n EMPTY_RESULT\n \n \n \n \n \n \n Type : TagSearchResult\n\n \n \n \n \n Default value : { totalCount: 0, results: [] }\n \n \n\n \n \n Empty search result object\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/slices-input/slices-input.component.ts\n \n \n \n \n \n \n \n DEFAULT_SLICES_CONFIG\n \n \n \n \n \n \n Type : SlicesConfig\n\n \n \n \n \n Default value : {\n thickness: NaN,\n numSlices: NaN\n}\n \n \n\n \n \n Default values for slices config.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/services/theming/theming.service.ts\n \n \n \n \n \n \n \n DEFAULT_THEME\n \n \n \n \n \n \n Default value : new InjectionToken('Default theme class')\n \n \n\n \n \n Token for specifying the default theme class.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/drawer/drawer/drawer.component.ts\n \n \n \n \n \n \n \n EXPAND_COLLAPSE_PARAMS_DEFAULT\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Default value : {\n params: {\n width: 0,\n margin: 0,\n margin2: 0\n }\n}\n \n \n\n \n \n Default animation parameters.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/services/config/config.ts\n \n \n \n \n \n \n \n GLOBAL_CONFIG\n \n \n \n \n \n \n Default value : new InjectionToken(\n 'Global configuration object'\n)\n \n \n\n\n \n \n \n \n \n \n \n \n ruiConfig\n \n \n \n \n \n \n Type : GlobalConfig\n\n \n \n\n\n \n \n\n projects/ccf-rui/src/app/shared/services/message/message.service.ts\n \n \n \n \n \n \n \n MESSAGE_SERVICE_CONFIG\n \n \n \n \n \n \n Default value : new InjectionToken(\n 'Message service configuration',\n {\n providedIn: 'root',\n factory: () => MESSAGE_SERVICE_DEFAULT_CONFIG\n }\n)\n \n \n\n \n \n Token for specifying the message service configuration.\n\n \n \n\n \n \n \n \n \n \n \n \n MESSAGE_SERVICE_DEFAULT_CONFIG\n \n \n \n \n \n \n Type : MessageServiceConfig\n\n \n \n \n \n Default value : {\n isolated: true\n}\n \n \n\n \n \n Default message service configuration.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/shared/components/drawer/messages.ts\n \n \n \n \n \n \n \n MessageService\n \n \n \n \n \n \n Default value : GenericMessageService\n \n \n\n \n \n Reference to the service class.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/store/store.module.ts\n \n \n \n \n \n \n \n ROOT_STATES\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n GlobalConfigState,\n IconRegistryState,\n PageState,\n ModelState,\n AnatomicalStructureTagState,\n ReferenceDataState,\n RegistrationState,\n SceneState\n]\n \n \n\n \n \n States shared across the entire app.\n\n \n \n\n \n \n\n projects/ccf-rui/src/app/core/store/model/model.state.ts\n \n \n \n \n \n \n \n RUI_ORGANS\n \n \n \n \n \n \n Default value : ALL_ORGANS\n \n \n\n \n \n All organs to be displayed\n\n \n \n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} } diff --git a/docs/ccf-shared/changelog.html b/docs/ccf-shared/changelog.html index e4fd03631..32f6c57b6 100644 --- a/docs/ccf-shared/changelog.html +++ b/docs/ccf-shared/changelog.html @@ -33,6 +33,11 @@

                  Changelog

                  Changelog for the Human Reference Atlas (HRA) User Interfaces

                  +

                  3.7.2 - 2023-07-12

                  +

                  Added in 3.7.2

                  +
                    +
                  • Client side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1
                  • +

                  3.7.0 - 2023-06-15

                  Added in 3.7.0

                    diff --git a/docs/ccf-shared/dependencies.html b/docs/ccf-shared/dependencies.html index 6f94d93ec..733293f3c 100644 --- a/docs/ccf-shared/dependencies.html +++ b/docs/ccf-shared/dependencies.html @@ -162,6 +162,8 @@ ngx-markdown : ^12.0.1
                  • node-fetch : ^2.6.7
                  • +
                  • + object-hash : ^3.0.0
                  • qs : ^6.10.2
                  • diff --git a/docs/ccf-shared/js/search/search_index.js b/docs/ccf-shared/js/search/search_index.js index b9b860278..9d75ca1ac 100644 --- a/docs/ccf-shared/js/search/search_index.js +++ b/docs/ccf-shared/js/search/search_index.js @@ -1,4 +1,4 @@ var COMPODOC_SEARCH_INDEX = { - "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/modules/AnalyticsModule.html",[0,1.478,1,2.712]],["body/modules/AnalyticsModule.html",[1,5.457,2,1.694,3,2.185,4,4.181,5,4.181,6,3.908,7,0.014,8,4.559,9,4.559,10,2.354,11,1.825,12,1.468,13,0.138,14,0.173,15,0.121,16,0.134,17,3.226,18,4.301,19,1.113,20,3.152,21,4.799,22,5.393,23,5.418,24,0.935,25,4.799,26,1.152,27,0.779,28,0.385,29,0.839,30,3.482,31,0.751,32,5.971,33,0.383,34,5.393,35,2.606,36,0.323,37,4.868,38,5.393,39,2.699,40,3.152,41,3.01,42,3.469,43,5.393,44,3.773,45,2.699,46,0.223,47,0.427,48,4.181,49,0.808,50,5.971,51,5.971,52,5.971,53,1.694,54,1.198,55,4.954,56,2.033,57,3.773,58,3.152,59,1.221,60,4.181,61,2.333,62,1.536,63,2.333,64,4.181,65,4.181,66,4.868,67,4.181,68,1.694,69,2.333,70,3.469,71,1.972,72,3.024,73,4.181,74,2.139,75,4.181,76,1.758,77,4.181,78,0.087,79,4.181,80,4.181,81,0.008,82,0.01,83,0.008]],["title/interfaces/AnalyticsOptions.html",[23,2.917,47,0.359]],["body/interfaces/AnalyticsOptions.html",[1,4.207,6,3.186,7,0.014,8,3.718,9,3.718,13,0.14,14,0.176,15,0.123,16,0.106,17,3.281,18,4.104,20,2.485,22,4.252,23,5.268,28,0.584,29,1.348,30,2.745,32,5.452,33,0.385,34,5.452,35,2.627,36,0.329,37,4.921,38,5.452,39,2.745,40,3.186,41,3.043,42,3.528,43,5.452,44,3.838,45,2.745,46,0.225,47,0.435,48,6.348,49,0.946,50,6.716,51,6.716,52,6.716,53,2.438,54,1.208,55,4.994,56,2.055,57,3.838,58,3.186,59,1.228,60,4.252,61,2.373,62,1.548,63,2.373,64,4.252,65,4.252,66,4.921,67,4.252,68,1.723,69,2.373,70,3.528,71,2.005,72,3.075,73,4.252,74,2.175,75,4.252,76,1.787,77,4.252,78,0.089,79,4.252,80,4.252,81,0.008,82,0.01,83,0.008,84,1.546,85,0.413,86,0.871]],["title/interfaces/ApiEndpointDataSourceOptions.html",[47,0.359,87,2.542]],["body/interfaces/ApiEndpointDataSourceOptions.html",[7,0.014,13,0.1,14,0.179,15,0.088,16,0.075,18,2.07,28,0.537,29,0.871,33,0.382,36,0.235,46,0.179,47,0.518,49,0.929,54,1.173,56,1.635,59,1.336,76,2.776,78,0.063,81,0.006,82,0.008,83,0.006,84,1.104,85,0.295,86,0.693,87,3.137,88,1.325,89,1.96,90,1.96,91,4.582,92,4.582,93,0.871,94,2.519,95,2.342,96,1.96,97,2.97,98,1.96,99,1.96,100,2.958,101,1.96,102,1.078,103,1.553,104,1.96,105,3.599,106,4.261,107,3.599,108,2.519,109,2.519,110,2.342,111,3.599,112,2.539,113,2.661,114,0.837,115,1.432,116,2.219,117,2.07,118,2.196,119,1.23,120,3.906,121,3.347,122,2.316,123,1.862,124,1.862,125,2.535,126,2.21,127,2.519,128,3.661,129,2.519,130,4.261,131,5.693,132,3.994,133,3.906,134,2.702,135,2.519,136,2.196,137,3.565,138,2.07,139,2.342,140,2.519,141,2.342,142,2.519,143,2.519,144,2.519,145,2.07,146,2.196,147,2.196,148,2.196,149,2.342,150,1.186,151,1.774,152,1.694,153,3.661,154,0.97,155,2.196,156,3.347,157,2.196,158,2.342,159,2.196,160,2.519,161,4.225,162,1.553,163,2.196,164,2.421,165,2.008,166,3.347,167,2.342,168,2.196,169,3.599,170,2.07,171,2.519,172,2.07,173,2.519,174,2.519,175,1.325,176,1.23,177,2.196,178,1.066,179,1.144,180,2.125,181,0.809,182,2.8,183,2.8,184,2.519,185,1.621,186,4.2,187,2.519,188,4.847,189,1.621,190,2.519,191,1.621,192,2.519,193,1.621,194,5.402,195,2.519,196,1.621,197,2.519,198,1.621,199,2.519,200,5.041,201,1.621,202,2.519,203,1.621,204,2.519,205,1.621,206,2.519,207,1.621,208,2.519,209,1.621,210,2.519,211,3.137,212,1.621,213,2.519,214,1.621,215,4.2,216,2.702,217,4.2,218,2.519,219,2.342,220,2.519,221,2.519,222,2.519,223,2.519,224,2.519,225,2.519,226,2.519,227,2.519,228,2.519,229,2.519,230,2.519]],["title/injectables/ApiEndpointDataSourceService.html",[93,0.706,177,2.542]],["body/injectables/ApiEndpointDataSourceService.html",[7,0.014,13,0.075,14,0.145,15,0.066,16,0.166,18,1.553,19,0.933,24,1.482,26,1.775,27,1.148,28,0.61,29,1.236,31,1.18,33,0.354,36,0.176,46,0.145,47,0.437,49,0.861,54,1.039,56,1.321,59,1.272,76,2.827,78,0.048,81,0.004,82,0.006,83,0.004,85,0.221,87,1.647,88,2.915,89,4.312,90,1.47,91,1.89,92,1.89,93,0.703,94,1.89,95,1.757,96,1.47,97,3.054,98,1.47,99,1.47,100,2.496,101,1.47,102,0.871,103,1.165,104,1.47,105,3.98,106,3.701,107,2.908,108,1.89,109,1.89,110,1.757,111,2.908,112,2.575,113,2.15,114,0.628,115,1.074,116,1.793,117,1.553,118,1.647,119,0.923,120,3.296,121,2.704,122,2.561,123,1.397,124,1.397,125,2.048,126,1.989,127,1.89,128,3.089,129,1.89,130,4.752,131,5.645,132,4.658,133,4.396,134,2.765,135,2.908,136,1.647,137,3.096,138,1.553,139,1.757,140,1.89,141,1.757,142,1.89,143,1.89,144,1.89,145,1.553,146,1.647,147,1.647,148,1.647,149,1.757,150,0.89,151,1.331,152,1.271,153,3.089,154,0.784,155,1.647,156,2.704,157,1.647,158,1.757,159,1.647,160,1.89,161,3.745,162,1.165,163,1.647,164,1.956,165,1.744,166,2.704,167,1.757,168,1.647,169,2.908,170,1.553,171,1.89,172,1.553,173,1.89,174,1.89,175,0.994,176,0.923,177,2.535,178,0.8,179,1.321,180,2.279,181,0.653,182,2.758,183,3.096,184,1.89,185,2.561,186,3.544,187,1.89,188,5.11,189,2.561,190,1.89,191,2.561,192,1.89,193,2.561,194,5.005,195,1.89,196,2.561,197,1.89,198,2.561,199,1.89,200,5.277,201,1.871,202,1.89,203,1.871,204,1.89,205,1.871,206,1.89,207,1.871,208,1.89,209,1.871,210,1.89,211,2.535,212,1.871,213,1.89,214,1.871,215,5.005,216,2.92,217,4.727,218,1.89,219,1.757,220,1.89,221,1.89,222,1.89,223,1.89,224,1.89,225,1.89,226,1.89,227,1.89,228,1.89,229,1.89,230,1.89,231,1.033,232,2.15,233,2.15,234,2.15,235,2.15,236,2.15,237,2.15,238,2.614,239,2.614,240,4.903,241,2.614,242,3.288,243,2.614,244,2.614,245,2.955,246,2.614,247,2.614,248,2.614,249,2.614,250,2.614,251,2.614,252,2.614,253,2.614,254,2.614,255,2.614,256,2.614,257,2.614]],["title/interfaces/AutoCompleteOption.html",[47,0.359,258,2.917]],["body/interfaces/AutoCompleteOption.html",[7,0.014,13,0.113,14,0.141,15,0.099,16,0.085,27,0.638,28,0.434,29,1.226,30,3.047,31,0.614,33,0.371,36,0.264,46,0.223,47,0.35,49,0.892,54,0.947,56,1.29,59,0.913,62,1.214,68,1.387,72,3.413,78,0.099,81,0.006,82,0.009,83,0.006,84,1.245,85,0.332,86,0.754,102,1.172,112,1.716,114,0.943,115,1.614,116,1.751,117,2.334,119,1.387,137,2.21,154,1.208,162,1.751,164,1.91,165,2.353,170,2.334,175,1.494,176,1.387,179,1.29,180,1.716,181,1.177,258,3.916,259,2.641,260,2.641,261,2.84,262,1.083,263,3.916,264,4.719,265,5.068,266,6.038,267,4.493,268,4.076,269,4.495,270,4.168,271,3.413,272,3.916,273,3.313,274,1.751,275,1.165,276,3.047,277,1.68,278,2.21,279,3.916,280,2.666,281,3.487,282,4.719,283,2.84,284,5.255,285,2.84,286,3.642,287,3.413,288,4.719,289,2.099,290,1.552,291,2,292,1.545,293,5.255,294,5.95,295,3.089,296,3.089,297,2.84,298,2.84,299,2.476,300,2.599,301,2.938,302,5.698,303,3.423,304,3.089,305,1.29,306,1.439,307,3.423,308,1.439,309,3.423,310,1.751,311,1.751,312,1.552,313,1.494,314,1.68,315,1.68,316,3.642,317,3.423,318,3.423,319,3.423,320,3.423,321,1.91,322,3.423,323,5.822,324,3.423,325,3.423,326,3.487,327,5.401,328,3.907,329,1.91,330,3.423,331,3.089,332,2.476,333,3.423,334,3.089,335,4.719,336,4.719,337,3.423,338,3.423,339,2,340,1.827,341,1.657,342,4.719,343,3.423,344,3.423,345,3.423,346,2.84,347,3.423,348,3.089,349,2.334,350,3.423,351,2.334,352,3.423,353,3.423]],["title/modules/BodyUiModule.html",[0,1.478,354,2.917]],["body/modules/BodyUiModule.html",[2,2.093,3,2.491,7,0.014,10,2.684,11,2.254,12,1.814,13,0.17,14,0.213,15,0.149,16,0.128,33,0.386,35,2.684,36,0.399,46,0.213,71,2.436,78,0.108,81,0.009,82,0.011,83,0.009,354,5.907,355,5.165,356,5.165,357,5.165,358,3.448,359,4.662,360,4.662,361,5.929,362,3.019,363,3.019,364,3.146,365,2.436,366,2.436,367,5.929]],["title/injectables/CCFDatabaseDataSourceBaseService.html",[93,0.706,368,2.542]],["body/injectables/CCFDatabaseDataSourceBaseService.html",[7,0.014,13,0.1,14,0.228,15,0.087,16,0.145,19,1.151,24,1.567,26,1.875,27,1.23,28,0.626,29,1.324,31,1.239,33,0.367,36,0.233,46,0.179,47,0.309,49,0.585,54,1.013,59,0.977,76,1.27,78,0.106,81,0.006,82,0.008,83,0.006,85,0.293,86,0.691,88,2.545,93,1.106,97,2.969,102,0.751,103,3.268,112,2.559,114,0.833,115,1.425,116,1.546,119,1.224,122,2.942,123,1.853,124,1.853,126,1.099,151,1.766,152,3.254,154,0.676,175,1.319,176,1.224,179,1.139,180,1.836,181,1.131,183,1.951,185,2.695,189,2.695,191,2.695,193,2.695,196,2.695,198,2.695,201,1.613,203,1.613,205,1.613,207,1.613,209,1.613,212,1.613,214,1.613,216,1.613,231,1.37,232,2.652,233,2.652,234,2.652,235,2.652,236,2.652,237,2.652,242,3.239,349,3.442,351,2.948,368,3.986,369,4.5,370,2.331,371,3.254,372,3.22,373,3.259,374,4.189,375,3.918,376,3.721,377,3.902,378,2.948,379,3.336,380,4.963,381,2.727,382,4.703,383,5.475,384,3.468,385,4.573,386,4.573,387,3.468,388,2.185,389,3.259,390,2.948,391,5.29,392,4.174,393,2.331,394,2.331,395,2.331,396,2.331,397,2.331,398,2.331,399,2.331,400,2.331,401,2.331,402,2.331,403,2.331,404,2.331,405,2.331,406,2.727,407,3.587,408,3.587,409,2.507,410,3.587,411,2.507,412,2.331,413,3.587,414,3.127,415,1.951,416,1.853,417,2.331,418,2.331,419,2.507,420,2.331,421,2.507,422,2.507,423,1.139,424,2.507,425,2.507,426,2.507,427,2.507,428,2.507,429,2.06,430,3.587,431,2.507,432,2.331,433,2.331,434,2.507,435,2.185,436,2.507,437,3.336,438,2.185,439,2.507,440,3.336,441,2.507,442,2.507,443,2.507,444,2.507]],["title/injectables/CCFDatabaseDataSourceService.html",[93,0.706,435,2.542]],["body/injectables/CCFDatabaseDataSourceService.html",[7,0.014,13,0.101,14,0.23,15,0.089,16,0.077,19,1.167,24,1.564,26,1.866,27,1.218,28,0.623,29,1.311,31,1.242,33,0.369,36,0.238,46,0.181,47,0.315,49,0.593,54,1.024,59,0.987,76,1.294,78,0.107,81,0.006,82,0.008,83,0.006,85,0.299,86,0.7,88,1.344,93,1.116,97,2.975,102,0.765,103,3.284,112,2.565,114,0.849,115,1.452,116,1.575,119,1.247,122,2.339,123,1.888,124,1.888,126,1.12,151,1.799,152,3.278,154,0.688,175,1.344,176,1.247,180,1.855,181,1.138,185,2.724,189,2.724,191,2.724,193,2.724,196,2.724,198,2.724,201,1.644,203,1.644,205,1.644,207,1.644,209,1.644,212,1.644,214,1.644,216,1.644,231,1.396,232,2.688,233,2.688,234,2.688,235,2.688,236,2.688,237,2.688,242,3.259,349,3.478,351,2.988,368,4.542,369,2.376,370,2.376,371,3.278,372,2.981,373,3.293,374,4.233,375,3.938,376,3.409,377,3.955,378,2.988,379,2.376,381,2.779,382,4.724,383,5.497,385,4.612,386,4.612,388,2.227,389,3.293,390,2.988,391,5.396,392,4.187,393,2.376,394,2.376,395,2.376,396,2.376,397,2.376,398,2.376,399,2.376,400,2.376,401,2.376,402,2.376,403,2.376,404,2.376,405,2.376,406,2.779,407,3.636,408,3.636,409,2.555,410,3.636,411,2.555,412,2.376,413,3.636,414,3.169,415,1.988,416,1.888,417,2.376,418,2.376,419,2.555,420,2.376,421,2.555,422,2.555,423,1.16,424,2.555,425,2.555,426,2.555,427,2.555,428,2.555,429,2.099,430,3.636,431,2.555,432,2.376,433,2.376,434,2.555,435,3.169,436,2.555,437,3.381,438,2.227,439,2.555,440,3.381,441,2.555,442,2.555,443,2.555,444,2.555,445,3.534,446,3.079,447,3.079]],["title/interfaces/CCFDatabaseManager.html",[47,0.359,382,2.542]],["body/interfaces/CCFDatabaseManager.html",[7,0.014,13,0.136,14,0.259,15,0.119,16,0.102,28,0.378,33,0.398,36,0.318,46,0.22,47,0.42,54,1.189,59,1.146,76,1.729,78,0.124,81,0.008,82,0.01,83,0.008,84,1.496,85,0.399,86,0.853,88,1.795,93,1.258,97,1.729,102,1.022,103,3.552,112,2.28,114,1.133,115,1.939,116,2.104,119,1.666,122,2.849,123,2.522,124,2.522,126,1.496,151,2.403,152,2.978,154,0.919,175,1.795,176,1.666,180,1.496,181,0.995,349,2.804,351,2.804,368,4.284,369,3.173,370,3.173,371,3.625,372,3.118,373,2.655,374,3.412,375,3.845,376,3.845,379,3.173,382,4.901,383,5.524,385,4.915,386,4.915,407,4.428,408,5.202,409,3.412,410,5.202,411,3.412,412,3.173,413,4.915,414,3.859,415,2.655,416,2.522,417,3.173,418,3.173,419,3.412,420,3.173,421,3.412,422,3.412,423,1.55,424,3.412,425,3.412,426,3.412,427,3.412,428,3.412,429,2.804,430,4.428,431,3.412,432,3.173,433,3.173,434,3.412,435,2.974,436,3.412,437,4.117,438,2.974,439,3.412,440,4.117,441,3.412,442,3.412,443,3.412,444,3.412]],["title/components/CallToActionBehaviorComponent.html",[275,0.758,448,1.534]],["body/components/CallToActionBehaviorComponent.html",[7,0.014,13,0.202,14,0.143,15,0.1,16,0.161,24,1.415,27,1.011,28,0.537,31,0.62,33,0.372,36,0.267,46,0.143,62,1.221,78,0.072,81,0.006,82,0.009,83,0.006,85,0.335,86,0.758,102,1.747,112,2.438,150,1.348,154,1.061,181,1.328,245,2.985,262,1.092,274,1.766,275,1.322,285,2.864,290,1.565,292,1.554,300,1.301,301,1.451,305,2.663,306,1.996,308,1.996,310,2.429,311,2.429,312,1.565,313,2.072,358,1.628,366,1.628,448,2.55,449,2.429,450,1.926,451,1.628,452,1.926,453,1.843,454,5.004,455,3.287,456,5.004,457,3.452,458,3.663,459,3.237,460,3.433,461,3.237,462,3.237,463,3.939,464,4.284,465,1.766,466,2.926,467,3.939,468,6.228,469,5.449,470,3.503,471,3.503,472,4.187,473,4.186,474,3.924,475,3.028,476,5.449,477,3.962,478,7.032,479,3.962,480,3.663,481,2.33,482,5.449,483,3.962,484,3.962,485,5.449,486,3.433,487,3.065,488,3.663,489,5.449,490,3.962,491,5.449,492,3.962,493,2.664,494,3.452,495,3.452,496,2.017,497,3.962,498,3.503,499,5.449,500,2.534,501,3.115,502,2.864,503,3.962,504,1.926,505,2.153,506,1.628,507,3.261,508,1.926,509,1.926,510,1.926,511,1.628,512,1.926,513,1.507,514,1.926,515,1.628,516,1.926,517,1.451,518,1.926,519,1.628,520,1.766,521,1.926,522,1.628,523,1.565,524,1.926,525,1.565,526,1.926,527,1.628,528,1.843,529,1.926,530,1.926,531,1.628,532,1.695,533,1.926,534,1.628,535,1.843,536,1.628,537,1.843,538,1.565,539,1.843,540,1.926]],["title/modules/CallToActionBehaviorModule.html",[0,1.478,541,2.917]],["body/modules/CallToActionBehaviorModule.html",[2,1.962,3,2.396,7,0.014,10,2.581,11,2.113,12,1.7,13,0.16,14,0.2,15,0.14,16,0.12,33,0.416,35,2.581,36,0.374,46,0.2,71,2.789,78,0.101,81,0.009,82,0.011,83,0.009,362,2.903,363,2.903,364,3.026,365,2.283,448,3.166,454,3.736,455,2.896,456,3.736,466,2.581,496,2.83,500,2.585,541,5.929,542,4.842,543,4.842,544,4.842,545,4.842,546,5.354,547,5.558,548,5.914,549,4.842,550,5.338,551,3.126,552,4.033,553,3.301,554,6.789,555,5.558,556,4.37]],["title/components/CallToActionComponent.html",[275,0.758,511,1.658]],["body/components/CallToActionComponent.html",[7,0.014,13,0.222,14,0.117,15,0.082,16,0.164,19,1.098,24,1.454,27,0.907,28,0.577,31,0.741,33,0.166,36,0.219,46,0.117,49,0.866,56,2.015,62,1.061,78,0.124,81,0.005,82,0.008,83,0.005,85,0.275,86,0.659,102,1.741,150,1.106,154,0.922,181,1.06,245,1.335,262,0.896,269,2.813,273,2.531,274,1.449,275,1.381,276,3.67,277,1.39,280,2.481,281,3.142,290,1.284,292,1.351,300,1.067,301,1.19,305,2.591,306,1.734,308,1.734,310,2.111,311,2.111,312,1.284,313,2.481,314,2.025,315,2.389,358,1.335,366,1.335,448,1.236,449,2.111,450,1.58,451,1.335,452,1.58,453,1.512,454,5.084,455,2.903,458,5.084,459,3.646,460,3.52,461,2.813,462,2.813,463,3.423,464,3.724,465,1.449,466,2.936,470,3.142,471,3.83,472,3.756,474,4.54,475,2.716,481,2.025,500,3.518,504,1.58,505,1.871,506,1.335,507,2.984,508,1.58,509,1.58,510,1.58,511,2.522,512,1.58,513,1.236,514,1.58,515,1.335,516,1.58,517,1.19,518,1.58,519,1.335,520,1.449,521,1.58,522,1.335,523,1.284,524,1.58,525,1.284,526,1.58,527,1.335,528,1.512,529,1.58,530,1.58,531,1.335,532,1.39,533,1.58,534,1.335,535,1.512,536,1.946,537,1.512,538,1.284,539,1.512,540,1.58,557,2.832,558,5.587,559,4.736,560,5.347,561,2.813,562,3.876,563,3.423,564,5.587,565,5.587,566,2.663,567,3.251,568,3.251,569,2.411,570,3.184,571,3.423,572,3.251,573,3.251,574,3.724,575,5.347,576,3.251,577,6.138,578,6.138,579,5.347,580,3.251,581,4.736,582,3.251,583,4.126,584,4.126,585,1.525,586,3.251,587,3.724,588,4.736,589,2.813,590,3.251,591,3.251,592,3.724,593,1.737,594,2.111,595,2.025,596,2.185,597,3.318,598,2.813,599,4.726,600,2.813,601,4.736,602,2.984,603,4.038,604,4.393,605,4.736,606,2.35,607,2.556,608,3.251,609,3.423,610,2.832,611,2.35,612,2.35,613,4.038,614,2.35,615,3.756,616,4.437,617,3.251,618,2.832,619,2.556,620,2.048,621,3.251,622,1.828,623,2.599,624,3.52,625,2.663,626,3.452,627,3.251,628,3.251,629,4.126,630,3.251,631,2.35,632,4.736,633,3.724,634,3.423,635,2.832,636,3.251,637,3.251,638,2.556,639,1.931,640,4.126,641,3.251,642,2.832,643,2.556,644,2.185,645,3.251,646,2.35,647,3.251,648,2.832,649,1.931,650,2.556,651,2.185,652,3.251]],["title/interfaces/CallToActionModel.html",[47,0.359,653,2.712]],["body/interfaces/CallToActionModel.html",[7,0.014,13,0.17,14,0.129,15,0.091,16,0.078,20,1.832,27,0.584,28,0.565,31,0.797,33,0.399,36,0.242,39,2.024,40,1.832,41,1.75,45,2.024,46,0.183,47,0.573,49,0.944,53,2.488,54,1.295,56,1.182,59,0.997,61,1.75,74,2.636,78,0.066,81,0.006,82,0.008,83,0.006,84,1.14,85,0.304,86,0.709,93,0.891,112,2.038,114,0.864,115,1.479,118,2.268,119,1.27,126,1.614,150,1.734,154,0.992,178,1.101,179,1.182,180,2.233,181,1.102,262,0.992,275,0.676,300,1.182,301,1.866,321,2.876,341,2.076,448,1.368,455,2.337,456,2.419,466,1.368,467,2.601,470,4.076,472,4.563,473,2.024,474,4.277,475,3.427,480,2.419,481,3.1,486,3.21,487,2.866,496,1.832,498,2.024,500,1.674,501,2.83,517,1.318,551,2.024,556,2.83,569,1.832,584,2.419,585,1.598,594,2.271,623,2.37,626,2.024,633,4.006,653,3.425,654,2.024,655,2.601,656,4.439,657,5.153,658,4.439,659,5.698,660,5.821,661,3.425,662,2.268,663,4.006,664,4.439,665,3.161,666,5.914,667,4.006,668,3.135,669,2.723,670,2.866,671,4.439,672,1.832,673,2.419,674,2.024,675,2.601,676,3.425,677,3.135,678,2.601,679,3.135,680,3.026,681,2.601,682,2.83,683,2.601,684,2.601,685,2.83,686,2.419,687,2.83,688,4.006,689,2.601,690,2.601,691,2.83,692,2.268,693,3.21,694,3.976,695,2.83,696,2.601,697,3.135,698,3.135,699,3.135,700,2.138,701,2.83,702,3.135,703,2.419,704,2.83,705,3.135,706,3.135,707,3.135,708,4.651,709,3.135,710,2.601,711,3.135,712,3.135,713,3.135,714,4.439,715,4.439,716,3.135,717,2.601,718,3.135,719,2.419,720,3.135,721,3.135,722,4.439,723,3.135,724,4.439,725,3.135,726,4.439,727,3.135,728,3.135,729,3.135,730,3.135,731,2.419,732,3.135,733,3.135,734,4.006,735,3.135,736,2.83,737,4.006,738,4.006,739,3.21,740,4.006,741,2.83,742,2.024,743,3.135,744,2.268,745,2.419,746,3.135,747,3.135,748,3.135,749,4.439,750,3.135,751,5.153,752,3.135,753,3.135,754,3.135,755,3.135,756,3.135,757,3.135,758,3.135,759,3.135,760,3.135,761,3.135,762,3.135,763,3.135,764,3.135,765,3.135,766,3.135,767,3.135,768,3.135]],["title/modules/CallToActionModule.html",[0,1.478,546,2.712]],["body/modules/CallToActionModule.html",[2,2.041,3,2.454,7,0.014,10,2.644,11,2.199,12,1.769,13,0.166,14,0.208,15,0.146,16,0.125,33,0.411,35,2.644,36,0.389,46,0.208,71,2.376,78,0.105,81,0.009,82,0.011,83,0.009,362,2.974,363,2.974,364,3.099,365,2.376,454,3.887,466,2.199,500,2.689,511,3.437,546,5.466,548,6.058,549,5.037,550,5.467,551,3.252,552,4.13,553,3.434,769,5.037,770,5.037,771,5.037,772,5.782,773,5.782]],["title/classes/CallToActionSelectors.html",[78,0.073,502,2.917]],["body/classes/CallToActionSelectors.html",[7,0.014,13,0.136,14,0.17,15,0.119,16,0.169,19,1.422,20,4.241,24,1.489,26,1.835,27,1.241,28,0.613,29,1.337,31,1.195,33,0.314,46,0.17,49,0.948,53,2.164,59,1.288,78,0.086,81,0.008,82,0.01,83,0.008,85,0.4,245,3.141,305,1.552,466,1.797,470,3.448,472,4.121,474,3.863,475,2.98,496,2.406,500,3.619,502,4.431,653,5.613,654,4.376,659,4.82,660,4.82,665,4.085,703,3.177,774,2.298,775,4.117,776,6.13,777,7.644,778,4.726,779,6.13,780,4.726,781,6.13,782,4.726,783,6.13,784,4.726,785,6.13,786,4.726,787,6.13,788,4.726,789,4.726,790,7.644,791,4.726,792,4.726,793,4.726,794,4.726,795,4.726,796,4.726]],["title/injectables/CallToActionState.html",[93,0.706,703,2.712]],["body/injectables/CallToActionState.html",[7,0.014,13,0.184,14,0.112,15,0.078,16,0.157,19,1.065,20,2.775,24,1.387,26,1.666,27,1.156,28,0.556,29,1.213,31,1.156,33,0.388,36,0.21,39,1.752,40,1.586,41,1.514,45,3.065,46,0.165,47,0.485,49,0.84,53,2.368,54,1.245,56,1.507,59,0.919,61,1.514,62,0.698,74,2.429,78,0.057,81,0.005,82,0.007,83,0.005,85,0.263,93,0.803,112,2.198,114,0.748,115,1.28,118,1.963,119,1.099,126,1.454,150,1.562,154,0.894,178,0.953,179,1.507,180,2.256,181,1.041,231,1.231,245,2.239,262,0.858,275,0.585,292,0.888,300,1.023,301,1.681,321,2.65,341,1.961,448,1.184,455,2.153,456,2.094,466,1.184,467,2.251,470,3.383,471,2.581,472,3.086,473,3.065,474,2.892,475,2.65,480,3.086,481,3.205,486,3.434,487,3.065,488,3.086,496,1.586,498,1.752,500,3.38,501,2.449,517,1.141,551,1.752,556,2.449,569,2.337,584,3.086,585,1.769,594,2.429,623,2.135,626,1.752,633,2.449,653,2.094,654,4.087,655,2.251,656,2.713,657,4.748,658,2.713,659,5.042,660,5.042,661,4.043,662,1.963,663,4.729,664,5.239,665,2.913,666,6.673,667,4.729,668,2.713,669,3.214,670,3.383,671,3.999,672,1.586,673,2.094,674,1.752,675,2.251,676,4.043,677,2.713,678,2.251,679,2.713,680,2.726,681,2.251,682,2.449,683,2.251,684,2.251,685,2.449,686,2.094,687,2.449,688,4.286,689,2.251,690,2.251,691,2.449,692,2.892,693,3.434,694,4.51,695,2.449,696,2.251,697,2.713,698,2.713,699,2.713,700,1.85,701,2.449,702,2.713,703,3.086,704,3.609,705,3.999,706,3.999,707,3.999,708,5.042,709,3.999,710,3.318,711,3.999,712,3.999,713,3.999,714,3.999,715,3.999,716,2.713,717,3.94,718,4.748,719,3.664,720,3.999,721,2.713,722,3.999,723,2.713,724,3.999,725,2.713,726,3.999,727,2.713,728,3.999,729,5.239,730,2.713,731,2.094,732,2.713,733,2.713,734,4.729,735,3.999,736,2.449,737,3.609,738,3.609,739,2.892,740,3.609,741,2.449,742,1.752,743,2.713,744,2.892,745,3.086,746,4.748,747,3.999,748,3.999,749,3.999,750,2.713,751,4.748,752,2.713,753,2.713,754,2.713,755,4.748,756,3.999,757,3.999,758,2.713,759,2.713,760,2.713,761,2.713,762,2.713,763,2.713,764,3.999,765,2.713,766,3.999,767,3.999,768,2.713,797,4.59,798,4.59,799,2.713,800,3.115,801,3.115,802,3.115,803,3.115,804,3.115,805,3.115,806,3.115,807,3.115]],["title/classes/CloseDialog.html",[78,0.073,498,2.269]],["body/classes/CloseDialog.html",[7,0.013,13,0.172,14,0.215,15,0.15,16,0.154,20,4.066,24,1.164,28,0.606,46,0.272,49,0.705,62,1.339,78,0.138,81,0.01,82,0.011,83,0.01,85,0.505,86,0.987,181,1.297,292,1.705,470,3.361,471,3.989,473,3.361,481,3.235,486,3.766,487,3.361,488,4.018,498,3.989,500,3.299,654,3.989,680,3.55,774,2.906,808,4.32,809,5.977,810,5.947]],["title/injectables/ConsentService.html",[6,2.054,93,0.706]],["body/injectables/ConsentService.html",[6,3.355,7,0.014,13,0.152,14,0.191,15,0.133,16,0.173,19,1.529,24,1.534,26,1.272,27,0.86,28,0.575,29,0.926,31,1.122,33,0.337,36,0.357,46,0.237,62,1.73,68,2.65,78,0.096,81,0.008,82,0.011,83,0.008,85,0.448,86,0.917,93,1.152,114,1.272,154,1.284,178,1.62,179,2.356,181,1.165,231,2.093,292,1.88,585,1.956,811,4.165,812,5.127,813,7.175,814,4.459,815,6.591,816,7.508,817,6.591,818,5.297,819,6.591,820,5.297,821,5.297,822,5.297,823,6.591,824,3.915,825,5.297,826,3.829,827,3.561,828,5.297,829,5.297,830,6.591,831,5.297,832,5.297]],["title/interfaces/DataSource.html",[47,0.359,125,2.054]],["body/interfaces/DataSource.html",[7,0.014,13,0.108,14,0.135,15,0.094,16,0.171,19,1.217,24,1.53,26,1.825,27,1.16,28,0.624,29,1.249,31,1.228,33,0.309,46,0.264,47,0.334,49,0.773,59,1.334,78,0.095,81,0.006,82,0.008,83,0.006,84,1.188,85,0.317,88,3.009,96,2.11,97,3.091,98,2.11,99,2.11,100,1.91,101,2.11,102,0.812,103,1.672,104,2.11,112,2.677,114,0.901,116,1.672,119,1.324,125,3.335,162,1.672,178,1.147,181,0.609,185,3.207,189,3.207,191,3.207,193,3.207,196,3.207,198,3.207,201,2.814,203,2.814,205,2.814,207,2.814,209,2.814,212,2.814,214,2.44,216,2.44,232,2.803,233,2.803,234,2.803,235,2.803,236,2.803,237,2.803,242,3.323,286,4.066,371,1.824,372,1.91,373,2.11,375,2.803,376,3.501,378,3.116,389,3.402,390,3.593,392,2.803,416,2.004,833,4.987,834,2.522,835,3.751,836,3.751,837,3.751,838,3.751,839,3.751,840,3.751,841,3.751,842,3.751,843,3.751,844,3.751,845,3.751,846,3.751,847,3.792,848,2.949,849,3.792,850,2.711,851,2.949,852,2.711,853,2.949,854,2.949,855,2.949,856,2.949,857,2.949,858,2.949,859,2.949,860,2.949,861,2.949,862,2.949,863,2.949,864,2.949,865,2.949,866,2.949,867,2.949,868,2.949,869,2.949,870,2.949]],["title/injectables/DataSourceService.html",[93,0.706,871,3.172]],["body/injectables/DataSourceService.html",[7,0.014,13,0.123,14,0.207,15,0.108,16,0.175,19,1.334,24,1.564,26,1.786,27,1.208,28,0.596,29,1.301,31,1.256,33,0.355,36,0.289,46,0.154,49,0.765,78,0.078,81,0.007,82,0.009,83,0.007,85,0.363,88,3.072,93,1.006,96,2.413,97,3.076,98,2.413,99,2.413,100,2.184,101,2.413,102,0.929,103,1.912,104,2.413,112,2.653,114,1.03,125,2.928,126,1.36,178,1.312,185,3.224,189,3.224,191,3.224,193,3.224,196,3.224,198,3.224,201,2.675,203,2.675,205,2.675,207,2.675,209,2.675,212,2.675,214,1.996,231,1.695,232,3.073,233,3.073,234,3.073,235,3.073,236,3.073,237,3.073,242,3.461,376,4.533,833,5.091,871,4.522,872,3.738,873,4.291,874,4.291,875,4.291,876,4.291,877,4.291,878,4.291,879,4.291,880,4.291,881,4.291,882,4.291,883,4.291,884,4.291]],["title/interfaces/DecoratedRange.html",[47,0.359,289,2.156]],["body/interfaces/DecoratedRange.html",[7,0.014,13,0.141,14,0.177,15,0.123,16,0.106,28,0.585,31,0.767,46,0.177,47,0.437,49,0.817,54,1.277,56,1.611,58,3.526,59,1.059,62,1.099,68,2.216,81,0.008,82,0.01,83,0.008,84,1.555,85,0.699,86,0.874,164,3.753,165,2.564,262,1.352,289,3.701,291,2.498,341,1.921,423,2.274,451,3.298,639,2.914,644,3.298,774,3.903,885,2.914,886,3.858,887,3.298,888,6.312,889,7.948,890,4.539,891,6.28,892,6.575,893,7.302,894,4.908,895,6.28,896,4.274,897,3.298,898,4.274,899,2.498,900,5.185,901,4.274,902,4.274,903,2.622,904,4.274,905,4.274,906,4.907,907,4.907,908,4.907,909,3.547]],["title/components/DecoratedTextComponent.html",[275,0.758,513,1.534]],["body/components/DecoratedTextComponent.html",[7,0.014,12,1.15,13,0.133,14,0.086,15,0.06,16,0.157,19,0.872,24,1.393,26,1.371,27,1.142,28,0.553,29,0.998,31,1.1,33,0.192,36,0.161,46,0.135,47,0.335,49,0.795,54,1.207,58,1.915,59,1.068,62,1.04,68,0.846,69,2.555,78,0.119,81,0.008,82,0.006,83,0.004,85,0.536,86,0.843,97,0.878,102,1.657,150,0.816,154,1.112,164,2.555,165,1.192,178,1.15,180,2.372,181,0.754,245,0.985,262,1.669,267,5.033,270,2.528,271,3.311,274,1.069,275,0.872,277,1.025,280,1.765,289,4.064,290,3.044,291,3.691,292,1.324,300,2.686,301,0.878,305,2.458,306,1.377,308,1.377,310,1.676,311,1.676,312,0.947,313,2.171,314,1.608,315,1.985,326,2.115,329,3.355,339,3.084,340,1.749,341,1.607,358,0.985,366,0.985,423,1.524,448,0.912,449,1.676,450,1.166,451,2.695,452,1.166,453,1.115,455,0.947,465,1.069,466,1.43,504,1.166,505,1.486,506,0.985,507,2.555,508,1.166,509,1.166,510,1.166,511,0.985,512,1.166,513,1.998,514,1.166,515,0.985,516,1.166,517,0.878,518,1.166,519,0.985,520,1.069,521,1.166,522,0.985,523,0.947,524,1.166,525,0.947,526,1.166,527,0.985,528,1.115,529,1.166,530,1.166,531,0.985,532,1.025,533,1.166,534,0.985,535,1.115,536,0.985,537,1.115,538,0.947,539,1.115,540,1.166,561,2.234,566,2.115,585,0.935,593,1.281,595,2.591,620,2.37,622,1.348,644,2.528,774,2.945,885,4.306,887,1.612,890,2.719,897,2.528,899,3.225,900,2.37,909,1.733,910,1.733,911,2.924,912,5.886,913,3.355,914,3.649,915,2.957,916,5.831,917,4.132,918,3.761,919,4.132,920,3.761,921,3.761,922,3.761,923,3.761,924,2.397,925,5.426,926,2.957,927,2.957,928,3.649,929,2.957,930,2.397,931,3.761,932,2.397,933,2.924,934,5.113,935,2.957,936,2.397,937,2.957,938,6.092,939,4.489,940,3.649,941,4.258,942,2.397,943,2.719,944,2.957,945,2.719,946,2.957,947,2.397,948,2.397,949,4.641,950,2.397,951,2.397,952,2.957,953,2.719,954,3.799,955,2.397,956,2.957,957,2.957,958,2.719,959,2.957,960,5.157,961,2.397,962,2.719,963,4.489,964,2.719,965,2.397,966,2.719,967,2.719,968,1.612,969,1.733,970,1.885,971,2.234,972,1.733,973,1.733,974,2.719,975,2.37,976,2.37,977,1.885,978,1.885,979,2.957,980,1.885,981,2.957,982,1.885,983,1.885,984,1.511,985,2.957,986,1.885,987,3.649,988,1.733,989,1.885,990,1.885,991,2.957,992,1.885,993,1.885,994,2.957,995,1.885,996,1.733,997,2.957,998,2.957,999,2.957,1000,1.612,1001,1.885,1002,1.424,1003,1.885,1004,1.885,1005,1.885,1006,1.885,1007,1.885,1008,1.885,1009,1.885,1010,1.885,1011,1.885,1012,1.885,1013,1.885,1014,1.885,1015,1.885,1016,1.885,1017,1.885,1018,1.885,1019,1.612,1020,1.733,1021,1.612,1022,1.885,1023,1.885,1024,1.733,1025,1.733,1026,1.885,1027,1.733,1028,1.885,1029,1.424,1030,1.885,1031,1.885,1032,1.733,1033,1.733,1034,1.885,1035,1.885,1036,1.885,1037,1.885,1038,3.761]],["title/modules/DecoratedTextModule.html",[0,1.478,1039,2.712]],["body/modules/DecoratedTextModule.html",[2,2.099,3,2.496,7,0.013,10,2.689,11,2.262,12,1.819,13,0.171,14,0.214,15,0.15,16,0.129,33,0.386,35,2.689,36,0.4,46,0.214,71,2.444,78,0.108,81,0.01,82,0.011,83,0.01,290,2.35,291,3.028,362,3.025,363,3.025,364,3.152,365,2.444,513,3.192,885,3.533,1039,5.496,1040,5.182,1041,5.182,1042,5.182,1043,5.948,1044,5.948]],["title/interfaces/DefaultParams.html",[47,0.359,136,2.542]],["body/interfaces/DefaultParams.html",[7,0.014,13,0.101,14,0.18,15,0.088,16,0.076,18,2.083,28,0.51,29,0.875,33,0.383,36,0.236,46,0.18,47,0.519,49,0.915,54,1.175,56,1.642,59,1.337,76,2.78,78,0.064,81,0.006,82,0.008,83,0.006,84,1.111,85,0.297,86,0.696,87,2.21,88,1.334,89,1.973,90,1.973,91,2.535,92,2.535,93,0.875,94,2.535,95,2.358,96,1.973,97,2.973,98,1.973,99,1.973,100,2.969,101,1.973,102,1.083,103,1.563,104,1.973,105,3.616,106,4.274,107,3.616,108,2.535,109,2.535,110,2.358,111,3.616,112,2.541,113,2.673,114,0.842,115,1.441,116,2.23,117,2.083,118,2.21,119,1.238,120,3.92,121,3.363,122,2.327,123,1.874,124,1.874,125,2.547,126,2.214,127,2.535,128,3.674,129,2.535,130,4.274,131,5.699,132,4.006,133,3.92,134,2.712,135,2.535,136,3.152,137,4.046,138,2.083,139,2.358,140,2.535,141,2.358,142,2.535,143,2.535,144,2.535,145,2.083,146,2.21,147,2.21,148,2.21,149,2.358,150,1.194,151,1.786,152,1.705,153,3.674,154,0.974,155,2.21,156,3.363,157,2.21,158,2.358,159,2.21,160,2.535,161,4.236,162,1.563,163,2.21,164,2.432,165,2.014,166,3.363,167,2.358,168,2.21,169,3.616,170,2.083,171,2.535,172,2.083,173,2.535,174,2.535,175,1.334,176,1.238,177,2.21,178,1.073,179,1.152,180,2.13,181,0.812,182,2.814,183,2.814,184,2.535,185,1.631,186,4.215,187,2.535,188,4.859,189,1.631,190,2.535,191,1.631,192,2.535,193,1.631,194,5.41,195,2.535,196,1.631,197,2.535,198,1.631,199,2.535,200,5.052,201,1.631,202,2.535,203,1.631,204,2.535,205,1.631,206,2.535,207,1.631,208,2.535,209,1.631,210,2.535,211,3.152,212,1.631,213,2.535,214,1.631,215,4.215,216,2.712,217,4.215,218,2.535,219,2.358,220,2.535,221,2.535,222,2.535,223,2.535,224,2.535,225,2.535,226,2.535,227,2.535,228,2.535,229,2.535,230,2.535]],["title/classes/DelegateDataSource.html",[78,0.073,372,2.054]],["body/classes/DelegateDataSource.html",[7,0.014,13,0.104,14,0.13,15,0.091,16,0.111,19,1.188,24,1.544,26,1.89,27,1.18,28,0.635,29,1.27,31,1.231,33,0.304,46,0.261,47,0.323,49,0.761,59,1.327,78,0.093,81,0.006,82,0.008,83,0.006,85,0.307,86,0.713,88,1.948,96,2.04,97,3.085,98,2.04,99,2.04,100,1.846,101,2.04,102,0.785,103,1.617,104,2.04,112,2.676,114,0.871,116,1.617,119,1.28,125,3.024,162,1.617,178,1.109,181,0.965,185,3.167,189,3.167,191,3.167,193,3.167,196,3.167,198,3.167,201,2.763,203,2.763,205,2.763,207,2.763,209,2.763,212,2.763,214,2.383,216,2.763,232,2.738,233,2.738,234,2.738,235,2.738,236,2.738,237,2.738,242,3.287,286,3.993,371,2.491,372,2.608,373,3.341,375,3.449,376,3.776,378,3.834,388,2.285,389,3.974,390,4.044,391,5.291,392,4.284,393,2.438,394,2.438,395,2.438,396,2.438,397,2.438,398,2.438,399,2.438,400,2.438,401,2.438,402,2.438,403,2.438,404,2.438,405,2.438,416,1.938,774,1.763,833,3.228,834,2.438,847,3.703,848,2.852,849,3.703,850,2.622,851,2.852,852,2.622,853,2.852,854,2.852,855,2.852,856,2.852,857,2.852,858,2.852,859,2.852,860,2.852,861,2.852,862,2.852,863,2.852,864,2.852,865,2.852,866,2.852,867,2.852,868,2.852,869,2.852,870,2.852,1045,3.627]],["title/interfaces/DocumentationContent.html",[47,0.359,669,2.156]],["body/interfaces/DocumentationContent.html",[7,0.014,13,0.205,14,0.165,15,0.179,16,0.1,28,0.483,31,0.719,33,0.343,36,0.309,46,0.242,47,0.536,49,0.974,54,1.327,56,1.51,59,0.775,78,0.084,81,0.007,82,0.01,83,0.007,84,1.457,85,0.389,86,0.838,93,1.053,113,2.457,114,1.104,126,1.908,154,0.896,175,1.748,176,1.623,181,0.747,262,1.267,275,0.864,300,1.51,341,1.406,475,3.812,481,2.871,562,4.392,585,1.143,589,3.988,594,3.594,661,4.048,662,2.897,669,4.054,670,2.586,672,2.341,719,3.091,731,3.091,742,4.267,899,2.341,903,2.457,1002,2.731,1046,2.457,1047,3.324,1048,4.048,1049,4.734,1050,4.048,1051,3.807,1052,4.871,1053,4.352,1054,4.734,1055,5.279,1056,3.794,1057,3.091,1058,3.324,1059,4.734,1060,3.091,1061,3.324,1062,4.734,1063,3.615,1064,3.615,1065,2.897,1066,3.615,1067,3.615,1068,3.615,1069,3.615,1070,3.615,1071,3.615,1072,3.615,1073,3.615,1074,3.615,1075,3.615,1076,3.615,1077,4.734,1078,4.734,1079,3.615,1080,3.615,1081,3.615,1082,3.615,1083,3.615,1084,3.615,1085,3.615,1086,3.615,1087,3.615,1088,3.615,1089,3.615]],["title/interfaces/FilterParams.html",[47,0.359,138,2.397]],["body/interfaces/FilterParams.html",[7,0.014,13,0.093,14,0.17,15,0.081,16,0.07,18,3.639,28,0.618,29,1.406,33,0.375,36,0.218,46,0.17,47,0.496,49,0.955,54,1.139,56,1.55,59,1.321,76,2.731,78,0.059,81,0.005,82,0.008,83,0.005,84,1.025,85,0.274,86,0.657,87,2.039,88,1.231,89,1.82,90,1.82,91,2.339,92,2.339,93,0.825,94,2.339,95,2.176,96,1.82,97,2.944,98,1.82,99,1.82,100,2.837,101,1.82,102,1.022,103,1.442,104,1.82,105,3.412,106,4.838,107,4.428,108,2.339,109,2.339,110,2.176,111,3.412,112,2.513,113,2.523,114,0.777,115,1.33,116,2.104,117,1.922,118,2.039,119,1.142,120,3.746,121,3.173,122,2.196,123,1.729,124,1.729,125,2.403,126,2.155,127,2.339,128,3.511,129,2.339,130,4.118,131,5.623,132,3.86,133,3.746,134,2.592,135,2.339,136,2.039,137,3.445,138,2.804,139,4.118,140,4.428,141,4.118,142,4.428,143,4.428,144,4.428,145,3.639,146,3.511,147,3.511,148,3.511,149,4.118,150,2.085,151,1.648,152,1.573,153,3.511,154,0.92,155,2.039,156,3.173,157,2.039,158,2.176,159,2.039,160,2.339,161,4.104,162,1.442,163,2.039,164,2.295,165,1.941,166,3.173,167,2.176,168,2.039,169,3.412,170,1.922,171,2.339,172,1.922,173,2.339,174,2.339,175,1.231,176,1.142,177,2.039,178,0.99,179,1.063,180,2.064,181,0.767,182,2.655,183,2.655,184,2.339,185,1.505,186,4.028,187,2.339,188,4.708,189,1.505,190,2.339,191,1.505,192,2.339,193,1.505,194,5.305,195,2.339,196,1.505,197,2.339,198,1.505,199,2.339,200,4.916,201,1.505,202,2.339,203,1.505,204,2.339,205,1.505,206,2.339,207,1.505,208,2.339,209,1.505,210,2.339,211,2.975,212,1.505,213,2.339,214,1.505,215,4.028,216,2.592,217,4.028,218,2.339,219,2.176,220,2.339,221,2.339,222,2.339,223,2.339,224,2.339,225,2.339,226,2.339,227,2.339,228,2.339,229,2.339,230,2.339]],["title/classes/ForwardingDataSource.html",[78,0.073,392,2.156]],["body/classes/ForwardingDataSource.html",[7,0.014,13,0.104,14,0.131,15,0.091,16,0.172,19,1.189,24,1.533,26,1.89,27,1.18,28,0.631,29,1.27,31,1.231,33,0.304,46,0.261,47,0.323,49,0.762,59,1.327,78,0.093,81,0.006,82,0.008,83,0.006,85,0.307,88,3.014,96,2.042,97,3.086,98,2.042,99,2.042,100,1.848,101,2.042,102,0.786,103,1.618,104,2.042,112,2.674,114,0.872,116,1.618,119,1.281,125,3.287,162,1.618,178,1.568,181,0.59,185,3.168,189,3.168,191,3.168,193,3.168,196,3.168,198,3.168,201,2.764,203,2.764,205,2.764,207,2.764,209,2.764,212,2.764,214,2.385,216,2.764,232,2.739,233,2.739,234,2.739,235,2.739,236,2.739,237,2.739,242,3.288,286,3.995,371,1.765,372,1.848,373,2.042,375,3.45,376,3.777,378,3.836,388,2.288,389,3.976,390,4.046,392,3.176,416,1.94,774,1.765,833,4.995,834,2.441,847,3.706,848,2.854,849,3.706,850,2.624,851,2.854,852,2.624,853,2.854,854,2.854,855,2.854,856,2.854,857,2.854,858,2.854,859,2.854,860,2.854,861,2.854,862,2.854,863,2.854,864,2.854,865,2.854,866,2.854,867,2.854,868,2.854,869,2.854,870,2.854,1090,3.63,1091,3.63,1092,3.63,1093,3.63,1094,3.63,1095,3.63,1096,3.63,1097,3.63,1098,3.63,1099,3.63,1100,3.63,1101,3.63,1102,3.63]],["title/injectables/GlobalConfigState.html",[93,0.706,122,1.877]],["body/injectables/GlobalConfigState.html",[7,0.014,13,0.109,14,0.137,15,0.096,16,0.171,19,1.23,24,1.52,26,1.917,27,1.254,28,0.64,29,1.334,31,1.193,33,0.39,36,0.256,46,0.137,49,0.936,54,0.927,59,1.168,61,1.852,62,0.853,63,1.852,78,0.069,81,0.006,82,0.008,83,0.006,85,0.322,86,0.738,93,0.927,102,0.824,112,2.53,114,0.914,115,2.178,119,1.344,122,2.466,152,3.37,154,1.033,165,2.417,180,2.274,181,0.99,183,2.142,231,1.505,287,3.843,292,1.086,371,2.577,415,2.142,429,3.623,493,4.1,496,1.939,585,1.639,665,2.833,686,4.433,693,2.4,966,3.832,1103,6.86,1104,3.318,1105,4.795,1106,6.099,1107,7.724,1108,5.302,1109,5.302,1110,5.302,1111,5.302,1112,3.341,1113,7.178,1114,6.314,1115,3.809,1116,6.278,1117,3.809,1118,5.79,1119,3.809,1120,6.594,1121,3.809,1122,4.168,1123,3.809,1124,5.302,1125,3.809,1126,5.302,1127,6.099,1128,3.809,1129,5.302,1130,6.594,1131,3.809,1132,5.302,1133,6.594,1134,3.809,1135,3.809,1136,3.809,1137,3.809,1138,3.809,1139,2.56,1140,3.809,1141,4.168,1142,2.994,1143,2.994,1144,3.809,1145,2.994,1146,2.56,1147,3.809,1148,2.994,1149,3.809,1150,3.809,1151,3.809,1152,5.302,1153,3.809,1154,3.809,1155,3.809,1156,3.809,1157,6.099,1158,3.809,1159,3.809,1160,3.809]],["title/injectables/GlobalsService.html",[93,0.706,1161,3.172]],["body/injectables/GlobalsService.html",[7,0.014,13,0.081,14,0.102,15,0.071,16,0.163,19,0.993,24,1.448,26,1.853,27,1.173,28,0.633,29,1.283,31,1.198,33,0.145,36,0.191,46,0.185,49,0.334,53,1.51,54,1.078,59,1.194,61,3.981,62,1.824,63,2.996,68,2.444,72,2.696,74,2.559,76,2.781,78,0.052,81,0.005,82,0.007,83,0.005,85,0.24,93,0.748,134,3.359,151,1.443,154,1.118,162,2.559,175,1.078,176,1.001,181,0.46,216,1.99,231,1.12,242,1.319,262,1.698,292,1.221,304,3.364,321,2.08,340,1.319,341,1.982,348,4.514,375,2.754,389,4.181,440,1.906,569,2.178,585,1.721,594,1.264,625,1.594,638,3.364,639,4.751,692,2.696,894,1.906,975,3.617,984,1.786,1000,1.906,1112,2.696,1161,3.364,1162,2.049,1163,4.279,1164,5.82,1165,5.741,1166,6.724,1167,2.835,1168,4.279,1169,4.279,1170,4.279,1171,4.279,1172,5.154,1173,3.728,1174,4.279,1175,3.093,1176,4.279,1177,4.279,1178,3.728,1179,3.728,1180,5.678,1181,7.222,1182,2.835,1183,3.093,1184,7.336,1185,6.477,1186,2.835,1187,3.728,1188,6.942,1189,2.835,1190,2.835,1191,2.835,1192,4.279,1193,2.835,1194,4.279,1195,3.728,1196,4.279,1197,3.364,1198,4.279,1199,6.162,1200,4.279,1201,2.835,1202,2.696,1203,6.479,1204,2.835,1205,2.835,1206,2.835,1207,2.835,1208,2.835,1209,2.229,1210,2.47,1211,4.845,1212,2.835,1213,2.835,1214,2.835,1215,2.835,1216,2.835,1217,2.229,1218,4.279,1219,5.154,1220,4.279,1221,4.279,1222,2.835,1223,2.47,1224,2.835,1225,4.279,1226,2.877,1227,2.835,1228,2.835,1229,2.229,1230,2.835,1231,6.162,1232,2.835,1233,2.47,1234,2.835,1235,2.835,1236,2.835,1237,2.835,1238,2.229,1239,2.835,1240,2.835,1241,3.364,1242,2.049,1243,2.47,1244,3.093,1245,2.049,1246,2.47,1247,2.47,1248,2.835,1249,2.835,1250,2.835,1251,2.835,1252,2.049,1253,1.906,1254,2.835,1255,1.786,1256,2.229,1257,2.47,1258,2.835,1259,2.835,1260,2.229,1261,2.835,1262,2.835]],["title/injectables/GoogleAnalyticsSyncService.html",[8,2.397,93,0.706]],["body/injectables/GoogleAnalyticsSyncService.html",[6,3.937,7,0.014,8,3.746,13,0.142,14,0.178,15,0.124,16,0.168,19,1.463,24,1.473,26,1.514,27,1.024,28,0.557,29,1.103,31,0.986,33,0.374,36,0.332,39,2.778,40,2.515,41,3.822,42,3.57,46,0.178,49,0.744,53,2.452,58,3.537,62,1.107,63,3.378,76,1.809,78,0.09,81,0.008,82,0.01,83,0.008,85,0.418,86,0.878,93,1.103,114,1.186,137,3.907,154,1.228,178,1.511,179,2.07,180,2.567,181,1.277,231,1.951,278,2.778,292,1.409,585,1.819,812,3.112,814,4.348,824,3.746,827,3.32,1241,5.463,1253,3.32,1263,6.737,1264,3.57,1265,4.67,1266,6.306,1267,4.303,1268,7.32,1269,6.306,1270,4.939,1271,6.306,1272,4.939,1273,3.974,1274,4.127,1275,4.939,1276,4.939,1277,4.939,1278,4.939,1279,4.939,1280,6.306,1281,6.306,1282,4.939,1283,4.939,1284,3.57,1285,4.939,1286,4.939]],["title/components/InfoButtonComponent.html",[275,0.758,515,1.658]],["body/components/InfoButtonComponent.html",[7,0.014,13,0.237,14,0.124,15,0.086,16,0.161,19,1.143,24,1.424,26,1.183,27,1.083,28,0.534,29,0.862,31,0.901,33,0.355,36,0.231,46,0.124,49,0.786,62,1.104,78,0.062,81,0.005,82,0.008,83,0.005,85,0.29,86,0.686,102,1.722,112,1.561,114,0.824,126,1.995,150,1.168,154,0.96,178,1.507,179,1.127,180,1.995,181,1.083,262,1.358,275,1.4,280,2.394,290,1.356,292,1.405,300,1.127,301,1.257,305,2.612,306,1.804,308,1.804,312,1.356,313,1.873,321,1.669,339,2.508,340,2.292,341,1.507,358,1.411,366,1.411,423,1.127,437,3.312,448,1.305,449,2.196,450,1.669,451,1.411,452,1.669,453,1.597,455,1.356,458,5.196,459,3.74,460,3.104,461,2.926,462,3.74,463,4.551,464,3.874,465,1.53,466,1.873,475,2.801,481,3.057,504,1.669,505,1.946,506,1.411,507,3.061,508,1.669,509,1.669,510,1.669,511,1.411,512,1.669,513,1.305,514,1.669,515,2.587,516,1.669,517,1.804,518,1.669,519,1.411,520,1.53,521,1.669,522,1.411,523,1.356,524,1.669,525,1.356,526,1.669,527,1.411,528,1.597,529,1.669,530,1.669,531,1.411,532,1.468,533,1.669,534,1.411,535,1.597,536,1.411,537,1.597,538,1.356,539,1.597,540,1.669,551,1.931,560,5.485,561,2.926,562,3.423,569,2.508,570,3.312,571,3.561,584,3.312,585,1.724,587,3.874,594,1.53,597,2.039,599,2.308,603,2.482,604,2.699,606,2.482,607,2.699,609,3.561,610,2.991,611,2.482,612,2.482,613,2.482,614,2.482,615,2.308,616,2.482,618,2.991,619,2.699,623,1.597,663,4.951,670,4.113,672,3.847,673,3.312,674,1.931,675,2.482,734,3.874,736,2.699,737,2.699,738,2.699,739,2.163,740,2.699,741,2.699,742,3.541,799,2.991,814,3.74,824,3.423,1046,3.979,1052,3.104,1056,3.967,1060,2.308,1265,3.874,1274,3.423,1284,2.482,1287,2.991,1288,5.762,1289,4.927,1290,4.927,1291,5.762,1292,4.927,1293,3.74,1294,4.927,1295,4.951,1296,3.433,1297,3.433,1298,3.433,1299,4.927,1300,3.433,1301,4.927,1302,3.433,1303,4.927,1304,3.433,1305,3.312,1306,3.433,1307,3.433,1308,3.433,1309,3.433,1310,2.991,1311,2.699,1312,3.433,1313,3.433,1314,3.433,1315,2.699,1316,2.699,1317,3.433,1318,2.699,1319,2.699,1320,3.433,1321,2.699]],["title/modules/InfoButtonModule.html",[0,1.478,1322,2.917]],["body/modules/InfoButtonModule.html",[2,2.01,3,2.432,7,0.014,10,2.62,11,2.165,12,1.742,13,0.213,14,0.205,15,0.143,16,0.123,33,0.41,35,2.62,36,0.383,46,0.205,71,2.831,78,0.104,81,0.009,82,0.011,83,0.009,362,2.946,363,2.946,364,3.071,365,2.339,515,3.431,552,4.092,553,3.382,662,3.588,672,2.899,674,3.202,1046,3.042,1322,5.952,1323,4.96,1324,4.96,1325,4.96,1326,4.96,1327,5.385,1328,5.694,1329,5.694,1330,6.889,1331,5.694]],["title/injectables/InfoButtonService.html",[93,0.706,670,2.269]],["body/injectables/InfoButtonService.html",[7,0.014,13,0.196,14,0.148,15,0.189,16,0.154,19,1.299,24,1.329,26,1.527,27,1.033,28,0.547,29,1.112,31,0.994,33,0.325,36,0.278,46,0.229,47,0.499,49,0.977,54,1.286,56,1.839,59,0.695,62,0.924,78,0.075,81,0.007,82,0.009,83,0.007,85,0.349,86,0.78,93,0.979,113,2.993,114,0.99,126,2.161,154,1.091,175,1.568,176,1.456,179,1.354,181,0.67,231,1.63,262,1.137,275,1.053,292,1.177,300,1.354,341,1.262,475,3.467,481,2.72,562,4.547,585,1.392,589,4.369,594,3.459,661,4.585,662,2.599,669,4.02,670,3.15,672,3.631,719,3.765,731,2.773,742,4.413,899,2.851,903,2.993,1002,3.327,1046,3.811,1047,2.982,1048,2.773,1049,3.243,1050,2.773,1051,3.811,1052,4.493,1053,2.982,1054,3.243,1055,5.607,1056,3.529,1057,3.765,1058,4.048,1059,5.363,1060,2.773,1061,4.048,1062,5,1063,4.403,1064,4.403,1065,3.529,1066,4.403,1067,3.243,1068,3.243,1069,3.243,1070,3.243,1071,4.403,1072,4.403,1073,4.403,1074,4.403,1075,4.403,1076,4.403,1077,4.403,1078,4.403,1079,3.243,1080,3.243,1081,3.243,1082,3.243,1083,3.243,1084,3.243,1085,3.243,1086,3.243,1087,3.243,1088,3.243,1089,3.243,1332,5.6,1333,5.6,1334,4.125,1335,5.6,1336,4.125,1337,4.125,1338,2.982]],["title/components/InfoDialogComponent.html",[275,0.758,517,1.478]],["body/components/InfoDialogComponent.html",[7,0.014,12,0.923,13,0.222,14,0.109,15,0.076,16,0.156,19,1.468,24,1.374,26,0.724,27,0.962,28,0.531,29,0.527,31,0.701,33,0.274,36,0.203,46,0.161,47,0.269,49,0.782,54,0.527,78,0.055,81,0.005,82,0.007,83,0.005,85,0.255,86,0.624,102,1.676,126,2.324,150,1.027,168,1.901,178,1.371,179,1.472,182,2.521,245,1.239,262,1.474,275,1.416,278,1.696,280,1.147,290,1.192,300,1.756,301,1.105,305,2.56,306,1.642,308,1.642,312,1.192,313,1.704,339,3.221,340,2.085,341,1.371,358,1.239,366,1.239,423,2.177,448,1.147,449,1.998,450,1.466,451,1.239,452,1.466,453,1.403,455,1.192,459,2.662,460,1.901,461,2.662,462,2.662,465,1.344,466,2.406,471,3.729,475,2.879,480,3.013,481,3.356,504,1.466,505,1.771,506,1.239,507,2.879,508,1.466,509,1.466,510,1.466,511,1.239,512,1.466,513,1.147,514,1.466,515,1.239,516,1.466,517,2.168,518,1.466,519,1.239,520,1.344,521,1.466,522,1.239,523,1.192,524,1.466,525,1.192,526,1.466,527,1.239,528,1.403,529,1.466,530,1.466,531,1.239,532,1.29,533,1.466,534,1.239,535,1.403,536,2.198,537,1.403,538,1.192,539,1.403,540,1.466,551,1.696,562,3.758,570,2.028,585,1.471,589,1.792,592,3.524,594,2.639,595,2.532,597,2.662,598,2.662,599,4.254,600,3.177,602,2.824,609,2.18,611,2.18,612,2.18,614,2.18,615,4.254,616,3.866,620,1.901,622,3.33,623,2.754,624,2.824,625,3.008,626,4.053,631,3.866,634,2.18,638,2.372,648,3.905,649,4.42,650,4.975,651,3.98,669,3.164,672,1.536,673,2.028,674,4.053,739,2.824,742,3.33,744,2.824,903,2.858,971,2.662,1029,2.662,1046,3.851,1051,2.395,1052,1.901,1293,3.177,1315,2.372,1316,2.372,1318,2.372,1319,2.372,1321,4.656,1338,3.24,1339,2.372,1340,2.824,1341,3.905,1342,3.905,1343,3.905,1344,4.206,1345,4.66,1346,3.905,1347,4.793,1348,5.512,1349,4.66,1350,4.656,1351,3.016,1352,5.512,1353,4.574,1354,4.482,1355,4.66,1356,4.206,1357,4.66,1358,3.016,1359,3.016,1360,3.524,1361,3.524,1362,3.866,1363,3.905,1364,3.905,1365,3.016,1366,3.016,1367,3.016,1368,3.905,1369,3.016,1370,4.206,1371,2.628,1372,2.372,1373,2.628,1374,2.628,1375,2.628,1376,2.628,1377,2.628,1378,2.628,1379,2.628,1380,2.628,1381,2.628,1382,2.628,1383,2.628,1384,2.628,1385,2.628,1386,2.628,1387,4.482,1388,4.574,1389,4.574,1390,3.016,1391,5.981,1392,4.482,1393,3.524,1394,2.628,1395,2.372,1396,2.628,1397,3.016,1398,3.016,1399,3.016,1400,2.18,1401,3.524,1402,4.482,1403,4.482,1404,3.016,1405,3.016,1406,2.628,1407,3.016,1408,3.016,1409,3.016,1410,3.016,1411,2.628,1412,3.016]],["title/interfaces/InfoDialogData.html",[47,0.359,1353,2.917]],["body/interfaces/InfoDialogData.html",[7,0.014,12,1.451,13,0.224,14,0.171,15,0.119,16,0.103,19,1.1,28,0.546,33,0.349,36,0.319,46,0.221,47,0.423,49,0.931,54,0.83,78,0.086,81,0.008,82,0.01,83,0.008,84,1.503,85,0.401,86,0.855,102,1.027,126,2.366,178,1.451,179,1.558,182,2.668,262,1.307,275,1.438,278,2.668,280,2.337,305,1.558,306,1.737,308,1.737,339,3.129,340,2.207,341,1.88,459,2.818,461,2.818,462,2.818,466,1.804,471,2.668,475,3.631,480,3.189,481,3.376,517,1.737,551,2.668,562,2.818,585,1.527,594,3.213,669,3.991,672,2.415,673,3.189,674,2.668,739,2.989,742,4.2,744,2.989,903,2.535,1029,2.818,1046,2.535,1051,2.535,1293,2.818,1315,3.73,1316,3.73,1318,3.73,1319,3.73,1338,3.429,1339,3.73,1340,2.989,1341,4.133,1342,4.133,1343,4.133,1344,4.832,1345,4.133,1346,4.133,1347,4.442,1348,5.353,1349,4.133,1350,3.73,1352,5.353,1353,4.927,1355,4.133,1356,3.73,1357,4.133,1360,3.73,1361,3.73,1362,3.429,1363,4.133,1364,4.133,1368,4.133,1370,3.73,1371,4.133,1372,4.832,1373,4.133,1374,4.133,1375,4.133,1376,4.133,1377,4.133,1378,4.133,1379,4.133,1380,4.133,1381,4.133,1382,4.133,1383,4.133,1384,4.133,1385,4.133,1386,4.133]],["title/modules/InfoDialogModule.html",[0,1.478,1327,2.712]],["body/modules/InfoDialogModule.html",[2,2,3,2.425,7,0.014,10,2.612,11,2.155,12,1.734,13,0.197,14,0.204,15,0.143,16,0.123,33,0.418,35,2.612,36,0.381,39,3.188,46,0.204,71,2.329,78,0.103,81,0.009,82,0.011,83,0.009,362,2.938,363,2.938,364,3.062,365,2.329,517,3.056,550,5.402,551,3.188,552,4.081,553,3.367,589,3.367,674,3.188,675,4.097,1046,3.029,1327,5.443,1362,4.097,1413,4.937,1414,4.937,1415,4.937,1416,5.668,1417,6.87,1418,5.668,1419,5.668,1420,6.87,1421,4.937,1422,5.668]],["title/injectables/InjectorDelegateDataSourceService.html",[93,0.706,1423,3.172]],["body/injectables/InjectorDelegateDataSourceService.html",[7,0.014,13,0.118,14,0.245,15,0.103,16,0.137,19,1.292,24,1.587,26,1.913,27,1.258,28,0.634,29,1.355,31,1.262,33,0.364,36,0.275,46,0.147,49,0.657,78,0.075,81,0.007,82,0.009,83,0.007,85,0.346,86,0.775,88,2.408,93,0.974,97,3.014,112,2.591,114,0.983,115,1.682,119,1.445,122,3.162,123,2.187,124,2.187,126,1.297,152,1.99,179,1.829,181,1.029,183,3.133,185,2.946,189,2.946,191,2.946,193,2.946,196,2.946,198,2.946,201,1.904,203,1.904,205,1.904,207,1.904,209,1.904,212,1.904,214,1.904,216,1.904,231,1.617,232,2.977,233,2.977,234,2.977,235,2.977,236,2.977,237,2.977,242,3.413,287,3.51,371,2.708,372,3.461,373,3.562,375,3.801,376,3.633,378,3.309,379,2.751,388,2.579,389,3.562,390,3.309,391,5.424,392,4.287,393,2.751,394,2.751,395,2.751,396,2.751,397,2.751,398,2.751,399,2.751,400,2.751,401,2.751,402,2.751,403,2.751,404,2.751,405,2.751,415,2.302,416,2.187,417,2.751,418,2.751,420,2.751,429,2.431,1423,4.38,1424,5.517,1425,3.566,1426,5.571,1427,7.508,1428,4.093,1429,5.571,1430,5.517,1431,4.093,1432,6.334,1433,4.093,1434,4.093,1435,4.093,1436,4.093,1437,4.093]],["title/classes/LearnMore.html",[78,0.073,473,2.269]],["body/classes/LearnMore.html",[7,0.013,13,0.172,14,0.215,15,0.15,16,0.154,20,4.066,24,1.164,28,0.606,46,0.272,49,0.705,62,1.339,78,0.138,81,0.01,82,0.011,83,0.01,85,0.505,86,0.987,181,1.297,292,1.705,470,3.361,471,3.361,473,3.989,481,3.033,486,4.469,487,3.989,488,4.018,498,3.361,500,3.299,654,3.989,680,3.55,774,2.906,808,4.32,810,5.947,1438,5.977]],["title/injectables/LocalStorageService.html",[93,0.706,676,2.712]],["body/injectables/LocalStorageService.html",[7,0.014,13,0.099,14,0.124,15,0.087,16,0.159,19,1.147,20,2.943,24,1.395,26,1.604,27,1.129,28,0.535,29,1.104,31,1.198,33,0.177,36,0.232,44,4.963,45,4.599,46,0.124,49,0.939,53,1.746,54,1.104,59,1.257,61,3.87,62,1.784,63,3.069,74,2.576,76,2.312,78,0.063,81,0.006,82,0.008,83,0.006,85,0.565,86,0.688,93,0.865,165,2.117,175,1.313,176,1.218,231,1.364,242,1.606,262,0.951,292,1.649,321,2.81,341,2.127,423,1.898,583,4.309,585,1.569,592,4.963,676,3.325,678,5.294,692,3.117,900,4.21,933,4.615,1029,3.749,1112,3.117,1183,5.026,1185,6.237,1202,3.117,1229,3.889,1244,4.178,1260,4.545,1295,3.889,1439,6.38,1440,3.007,1441,4.946,1442,4.309,1443,4.946,1444,3.452,1445,4.946,1446,4.946,1447,6.681,1448,3.452,1449,3.889,1450,4.946,1451,3.452,1452,4.946,1453,3.452,1454,4.946,1455,3.452,1456,4.946,1457,4.946,1458,4.309,1459,4.946,1460,4.946,1461,4.946,1462,4.946,1463,4.963,1464,4.946,1465,4.946,1466,4.946,1467,5.499,1468,4.946,1469,4.946,1470,6.312,1471,6.312,1472,7.324,1473,6.312,1474,4.309,1475,4.946,1476,3.575,1477,4.309,1478,4.946,1479,6.312,1480,4.946,1481,4.946,1482,4.946,1483,3.452,1484,3.452,1485,3.452,1486,3.117,1487,3.452,1488,3.452,1489,3.452,1490,3.452,1491,3.007,1492,3.452,1493,3.452]],["title/injectables/LocalStorageSyncService.html",[9,2.397,93,0.706]],["body/injectables/LocalStorageSyncService.html",[6,3.873,7,0.014,9,3.6,13,0.133,14,0.167,15,0.117,16,0.168,19,1.406,24,1.482,26,1.455,27,0.984,28,0.486,29,1.25,31,1.055,33,0.345,36,0.313,42,3.357,45,4.509,46,0.218,49,0.796,54,1.18,59,1.137,61,3.28,62,1.705,63,2.258,68,2.139,78,0.085,81,0.007,82,0.01,83,0.007,85,0.393,86,0.844,93,1.06,114,1.115,154,1.314,175,1.766,176,1.639,178,1.42,179,1.99,180,2.588,181,1.258,231,1.835,278,2.612,279,3.357,292,1.729,298,3.357,574,3.651,585,1.777,812,4.882,814,4.248,824,3.6,826,3.357,827,3.122,1211,3.651,1244,3.357,1260,3.651,1264,3.357,1265,4.535,1267,4.045,1274,4.007,1284,3.357,1491,4.045,1494,6.093,1495,7.151,1496,6.06,1497,6.06,1498,4.644,1499,4.644,1500,6.06,1501,4.644,1502,4.644,1503,3.651,1504,4.045,1505,4.045,1506,3.357,1507,6.06,1508,4.644,1509,4.644,1510,4.644,1511,4.644,1512,4.644,1513,4.644,1514,4.644,1515,6.06,1516,4.644,1517,4.644,1518,4.045,1519,5.279,1520,4.644,1521,4.644]],["title/modules/MousePositionTrackerModule.html",[0,1.478,1522,3.172]],["body/modules/MousePositionTrackerModule.html",[0,1.962,2,1.891,7,0.014,13,0.154,14,0.193,15,0.135,16,0.116,33,0.396,35,2.524,36,0.361,39,3.013,40,2.728,41,2.605,46,0.239,54,1.355,56,1.759,59,1.119,78,0.098,81,0.009,82,0.011,83,0.009,114,1.286,115,2.201,119,1.891,126,1.698,179,1.759,278,3.013,365,2.201,536,2.201,625,3.013,667,5.67,717,5.213,745,4.462,1019,3.602,1139,3.602,1226,3.602,1252,3.873,1253,3.602,1255,4.182,1256,4.213,1274,3.943,1449,4.213,1522,5.219,1523,4.213,1524,4.213,1525,6.567,1526,5.358,1527,5.358,1528,4.668,1529,4.668,1530,5.358,1531,5.358,1532,6.638,1533,6.638,1534,4.213,1535,6.638,1536,6.638,1537,5.358,1538,5.358,1539,4.668,1540,5.358,1541,5.358,1542,5.358,1543,5.358,1544,5.358,1545,5.358,1546,5.358,1547,5.358,1548,5.358,1549,5.358,1550,4.668,1551,4.668,1552,4.668,1553,4.213,1554,5.358,1555,5.358,1556,5.358]],["title/directives/NumberDirective.html",[506,1.658,538,1.594]],["body/directives/NumberDirective.html",[7,0.014,13,0.143,14,0.179,15,0.125,16,0.159,19,1.47,24,1.358,26,1.674,27,1.133,28,0.508,29,1.219,31,0.779,33,0.255,36,0.335,46,0.179,54,0.871,69,3.082,78,0.091,81,0.008,82,0.01,83,0.008,85,0.421,165,2.008,179,1.635,245,2.046,262,2.023,280,3.12,300,2.289,305,2.081,329,3.39,339,3.227,340,2.948,341,1.939,465,2.219,505,2.9,506,3.184,537,2.316,538,2.504,539,2.948,585,1.575,745,5.517,1060,3.347,1293,3.765,1305,4.688,1534,5.483,1557,5.772,1558,5.772,1559,4.337,1560,6.339,1561,6.339,1562,6.339,1563,6.339,1564,4.979,1565,5.307,1566,4.979,1567,4.979,1568,6.339,1569,6.974,1570,6.075,1571,6.075,1572,6.339,1573,6.339,1574,4.979,1575,6.339,1576,6.974,1577,4.979,1578,4.979,1579,4.979]],["title/modules/NumbersOnlyModule.html",[0,1.478,1580,2.917]],["body/modules/NumbersOnlyModule.html",[2,2.123,3,2.513,7,0.013,10,2.707,11,2.287,12,1.84,13,0.173,14,0.216,15,0.151,16,0.13,33,0.364,35,2.707,36,0.405,46,0.216,78,0.11,81,0.01,82,0.011,83,0.01,362,3.045,363,3.045,538,3.321,1557,4.73,1558,4.73,1571,5.24,1580,5.923,1581,5.24,1582,5.24,1583,5.24,1584,6.015,1585,6.015]],["title/components/OpacitySliderComponent.html",[275,0.758,519,1.658]],["body/components/OpacitySliderComponent.html",[7,0.014,11,2.602,13,0.153,14,0.107,15,0.075,16,0.166,19,1.032,24,1.48,26,0.717,27,1.112,28,0.576,29,0.522,31,0.986,33,0.153,36,0.201,46,0.107,49,0.695,53,1.054,54,0.522,62,1.664,68,1.571,69,2.163,74,1.983,78,0.12,81,0.005,82,0.007,83,0.005,85,0.253,86,0.619,102,1.714,150,1.017,154,1.228,165,1.685,178,1.361,181,1.073,245,1.227,262,1.226,269,1.774,273,2.378,274,1.331,275,1.185,276,3.849,277,1.278,280,2.022,281,3.716,290,1.18,292,1.885,299,1.882,300,0.981,301,1.094,305,2.556,306,1.63,308,1.63,310,1.983,311,1.983,312,1.18,313,2.396,314,1.903,315,2.275,328,4.432,329,2.163,341,0.914,358,1.227,366,1.227,423,1.461,448,1.136,449,1.983,450,1.452,451,1.227,452,1.452,453,1.389,455,1.18,465,1.331,466,1.692,504,1.452,505,1.758,506,1.227,507,2.865,508,1.452,509,1.452,510,1.452,511,1.227,512,1.452,513,1.136,514,1.452,515,1.227,516,1.452,517,1.094,518,1.452,519,2.421,520,3.679,521,1.452,522,1.227,523,1.18,524,1.452,525,1.18,526,1.452,527,1.227,528,1.389,529,1.452,530,1.452,531,1.227,532,1.278,533,1.452,534,1.227,535,1.389,536,1.227,537,1.389,538,1.18,539,1.389,540,1.452,561,2.643,563,3.217,566,2.503,569,2.266,585,1.818,593,1.596,594,1.983,595,2.695,597,3.159,598,3.159,599,2.992,600,1.774,602,1.882,603,3.844,604,4.182,606,2.159,607,4.634,609,3.217,611,4.26,612,4.26,614,3.217,622,3.314,623,2.741,624,3.971,626,3.314,631,2.159,634,2.159,649,2.643,651,2.008,694,2.008,894,2.008,1048,2.992,1273,1.882,1321,2.349,1344,4.182,1350,4.634,1388,2.159,1389,2.159,1393,3.499,1394,3.877,1395,3.499,1396,2.602,1400,2.159,1539,2.602,1586,6.03,1587,6.03,1588,2.602,1589,6.783,1590,4.45,1591,3.877,1592,5.318,1593,4.45,1594,5.318,1595,4.45,1596,5.893,1597,5.893,1598,6.302,1599,6.302,1600,5.318,1601,5.318,1602,5.134,1603,2.987,1604,2.987,1605,4.442,1606,2.987,1607,5.134,1608,2.987,1609,4.45,1610,4.45,1611,2.987,1612,4.45,1613,4.45,1614,2.987,1615,4.45,1616,2.987,1617,2.987,1618,2.987,1619,5.893,1620,2.987,1621,3.877,1622,5.318,1623,2.987,1624,2.987,1625,6.607,1626,5.318,1627,2.987,1628,4.45,1629,4.45,1630,2.987,1631,2.987,1632,3.877,1633,3.575,1634,2.987,1635,2.602,1636,2.987,1637,3.877,1638,2.602,1639,2.602,1640,2.602]],["title/modules/OpacitySliderModule.html",[0,1.478,1641,2.917]],["body/modules/OpacitySliderModule.html",[2,2.034,3,2.45,7,0.014,10,2.639,11,2.192,12,1.763,13,0.166,14,0.207,15,0.145,16,0.125,33,0.411,35,2.639,36,0.388,46,0.207,71,2.368,78,0.105,81,0.009,82,0.011,83,0.009,362,2.968,363,2.968,364,3.093,365,2.368,519,3.436,520,2.569,552,4.123,553,3.424,1586,4.532,1587,4.532,1641,5.873,1642,5.021,1643,5.021,1644,5.021,1645,5.764,1646,5.764,1647,6.941,1648,5.764,1649,6.941,1650,5.764]],["title/classes/OpenDialog.html",[78,0.073,680,2.397]],["body/classes/OpenDialog.html",[7,0.013,13,0.172,14,0.215,15,0.15,16,0.154,20,4.066,24,1.164,28,0.606,46,0.272,49,0.705,62,1.339,78,0.138,81,0.01,82,0.011,83,0.01,85,0.505,86,0.987,181,1.297,292,1.705,470,3.361,471,3.361,473,3.361,481,3.235,486,3.766,487,3.361,488,4.768,498,3.361,500,3.299,654,3.989,680,4.213,774,2.906,808,4.32,810,5.947,1651,5.977]],["title/interfaces/OrganInfo.html",[47,0.359,1652,2.917]],["body/interfaces/OrganInfo.html",[7,0.014,13,0.049,14,0.061,15,0.043,16,0.037,20,1.861,27,1.322,28,0.46,29,1.077,31,0.265,33,0.145,36,0.114,46,0.154,47,0.151,49,0.793,53,2.026,54,1.077,58,1.861,59,0.803,62,0.379,68,1.29,74,3.646,76,1.038,78,0.052,81,0.003,82,0.005,83,0.003,84,0.536,85,0.143,86,0.394,102,0.613,145,4.25,146,1.785,147,4.237,148,3.001,154,0.552,162,0.754,165,0.536,172,2.54,178,0.517,180,0.898,181,0.46,262,0.466,263,2.048,268,4.56,269,1.683,273,0.904,275,0.533,276,1.593,277,0.723,280,2.081,281,1.593,299,1.785,305,1.404,306,0.619,308,0.619,313,0.643,314,0.723,315,0.723,321,3.51,328,1.785,329,0.822,332,3.246,341,1.308,423,1.404,460,3.759,467,1.223,474,1.066,505,0.668,522,0.695,523,3.269,569,2.177,585,1.531,587,1.33,595,1.564,600,4.568,602,4.549,623,0.787,625,2.056,643,6.358,692,2.695,704,2.874,744,1.066,814,1.005,824,1.683,888,2.228,894,1.137,903,2.924,913,2.048,953,1.223,954,2.048,962,2.048,971,1.683,972,1.223,1050,1.137,1122,4.512,1217,1.33,1226,2.458,1245,1.223,1252,2.643,1253,2.458,1255,1.066,1273,4.509,1311,1.33,1338,3.092,1467,3.185,1486,2.304,1565,3.092,1605,1.905,1652,3.955,1653,1.223,1654,1.223,1655,1.33,1656,2.833,1657,2.468,1658,7.045,1659,5.97,1660,2.468,1661,2.833,1662,2.468,1663,2.468,1664,4.844,1665,2.468,1666,2.468,1667,2.468,1668,1.473,1669,2.833,1670,1.473,1671,1.33,1672,1.473,1673,1.473,1674,1.33,1675,1.473,1676,2.468,1677,1.473,1678,1.473,1679,2.468,1680,1.473,1681,2.468,1682,2.048,1683,3.726,1684,1.473,1685,1.473,1686,3.185,1687,4.488,1688,6.03,1689,1.473,1690,1.473,1691,1.473,1692,3.185,1693,5.197,1694,4.488,1695,1.473,1696,1.473,1697,1.473,1698,1.473,1699,2.468,1700,1.473,1701,3.185,1702,4.051,1703,1.473,1704,1.473,1705,1.473,1706,3.185,1707,4.488,1708,1.473,1709,1.473,1710,1.473,1711,1.473,1712,2.468,1713,1.473,1714,2.468,1715,2.468,1716,2.468,1717,1.473,1718,1.473,1719,3.185,1720,5.197,1721,4.488,1722,1.473,1723,1.473,1724,1.473,1725,3.185,1726,4.488,1727,1.473,1728,1.473,1729,1.473,1730,1.473,1731,2.468,1732,1.473,1733,1.473,1734,3.185,1735,2.468,1736,1.473,1737,3.185,1738,5.197,1739,4.488,1740,1.473,1741,1.473,1742,1.473,1743,1.473,1744,2.468,1745,1.473,1746,1.473,1747,1.473,1748,2.468,1749,1.473,1750,1.473,1751,2.228,1752,1.473,1753,2.468,1754,3.726,1755,1.473,1756,1.473,1757,1.473,1758,4.488,1759,2.468,1760,1.473,1761,1.473,1762,2.468,1763,1.473,1764,1.473,1765,2.874,1766,2.228,1767,1.473,1768,1.473,1769,2.468,1770,1.473,1771,1.473,1772,2.468,1773,1.473,1774,1.473,1775,2.468,1776,1.473,1777,3.185,1778,4.488,1779,1.473,1780,1.473,1781,1.473,1782,1.473,1783,2.468,1784,2.468,1785,1.473,1786,1.473,1787,2.468,1788,1.473,1789,2.468,1790,2.468,1791,3.726,1792,3.726,1793,1.473,1794,1.473,1795,1.473,1796,1.473,1797,1.473,1798,2.228,1799,1.473,1800,1.473,1801,5.514,1802,1.473,1803,1.691,1804,1.691,1805,1.691,1806,1.691,1807,4.277,1808,1.691,1809,3.656,1810,1.691,1811,4.277,1812,1.691,1813,1.691,1814,1.691,1815,2.833,1816,3.185,1817,1.691,1818,2.468,1819,1.691,1820,2.833,1821,3.656,1822,3.656,1823,4.277,1824,1.691,1825,1.691,1826,1.691,1827,1.691,1828,2.833,1829,2.833,1830,1.691,1831,1.691,1832,3.656,1833,1.691,1834,2.833,1835,1.691,1836,1.691,1837,2.833,1838,1.473,1839,1.691,1840,1.691,1841,2.833,1842,1.691,1843,1.691,1844,1.691,1845,1.691,1846,1.691,1847,1.691,1848,1.691,1849,2.833,1850,1.691,1851,1.691,1852,4.762,1853,2.468,1854,3.656,1855,1.691,1856,5,1857,2.833,1858,3.656,1859,3.656,1860,5.472,1861,2.833,1862,2.833,1863,1.691,1864,1.691,1865,3.656,1866,1.691,1867,1.691,1868,1.691,1869,1.691,1870,1.691,1871,1.473,1872,1.691,1873,1.691,1874,1.691,1875,1.691,1876,1.691,1877,1.691,1878,1.691,1879,1.691,1880,1.691,1881,1.691,1882,1.691,1883,3.656,1884,2.833,1885,1.691,1886,1.691,1887,1.691,1888,1.691,1889,1.473,1890,1.691,1891,1.691,1892,1.691,1893,1.691,1894,1.691,1895,1.691,1896,1.473,1897,2.833,1898,2.833,1899,2.833,1900,2.833,1901,2.833,1902,1.691,1903,1.691,1904,1.691,1905,1.691]],["title/modules/OrganSelectorModule.html",[0,1.478,1906,2.917]],["body/modules/OrganSelectorModule.html",[2,2.053,3,2.463,7,0.014,10,2.654,11,2.212,12,1.78,13,0.167,14,0.209,15,0.146,16,0.126,33,0.406,35,2.654,36,0.392,46,0.209,71,2.39,78,0.106,81,0.009,82,0.011,83,0.009,362,2.985,363,2.985,364,3.111,365,2.39,522,3.44,523,2.299,552,4.146,553,3.456,1653,4.206,1654,4.206,1906,5.884,1907,5.068,1908,5.068,1909,5.068,1910,5.818,1911,5.818,1912,6.98,1913,5.818]],["title/interfaces/PanelData.html",[47,0.359,1056,2.542]],["body/interfaces/PanelData.html",[7,0.014,13,0.194,14,0.167,15,0.18,16,0.1,28,0.54,31,0.725,33,0.345,36,0.312,46,0.243,47,0.539,49,0.975,54,1.33,56,1.523,59,0.782,78,0.084,81,0.007,82,0.01,83,0.007,84,1.469,85,0.392,86,0.843,93,1.059,113,2.478,114,1.114,126,1.919,154,0.903,175,1.764,176,1.637,181,0.753,275,0.872,300,1.523,341,1.419,475,3.475,481,2.59,562,4.667,585,1.153,589,4.005,594,3.572,661,4.071,662,2.922,669,4.139,670,2.608,672,2.361,719,3.118,731,3.118,742,4.468,899,2.361,903,2.478,1002,2.755,1046,2.478,1047,3.353,1048,3.118,1049,3.647,1050,3.118,1051,3.603,1052,4.504,1053,3.353,1054,3.647,1055,5.301,1056,4.248,1057,3.118,1058,3.353,1059,4.761,1060,3.118,1061,3.353,1062,4.761,1063,3.647,1064,3.647,1065,2.922,1066,3.647,1067,3.647,1068,3.647,1069,3.647,1070,3.647,1071,3.647,1072,3.647,1073,3.647,1074,3.647,1075,3.647,1076,3.647,1077,4.761,1078,4.761,1079,3.647,1080,3.647,1081,3.647,1082,3.647,1083,3.647,1084,3.647,1085,3.647,1086,3.647,1087,3.647,1088,3.647,1089,3.647]],["title/interfaces/PluckUniqueOptions.html",[47,0.359,1914,2.917]],["body/interfaces/PluckUniqueOptions.html",[7,0.014,13,0.135,14,0.22,15,0.118,16,0.102,28,0.377,29,1.068,30,4.041,31,0.735,33,0.313,46,0.289,47,0.419,49,0.9,53,1.66,54,1.068,56,2.657,59,0.793,69,2.97,81,0.008,82,0.01,83,0.008,84,1.49,85,0.398,86,0.945,112,1.49,114,1.129,119,1.66,134,2.842,162,2.096,262,1.296,287,3.85,292,1.341,341,1.869,415,3.436,429,2.793,639,2.793,681,4.417,700,3.629,911,2.963,1000,4.563,1114,6.002,1116,6.317,1118,6.195,1146,3.161,1148,5.337,1209,4.804,1211,3.697,1914,5.849,1915,3.399,1916,3.399,1917,4.804,1918,5.913,1919,7.186,1920,6.11,1921,6.11,1922,6.11,1923,6.999,1924,4.702,1925,4.702,1926,4.804,1927,4.096,1928,4.096,1929,4.096,1930,4.096,1931,5.323,1932,6.938,1933,6.65,1934,6.65,1935,6.26,1936,5.323,1937,5.913,1938,4.702,1939,4.702,1940,4.702,1941,4.702,1942,4.702]],["title/interfaces/Segment.html",[47,0.359,934,2.712]],["body/interfaces/Segment.html",[7,0.014,12,1.451,13,0.094,14,0.117,15,0.082,16,0.071,27,0.529,28,0.448,31,0.961,33,0.243,36,0.219,46,0.171,47,0.423,49,0.83,54,1.306,58,3.129,59,1.186,68,1.675,69,2.307,78,0.102,81,0.01,82,0.008,83,0.005,84,1.033,85,0.595,86,0.855,97,1.194,102,1.027,154,1.09,164,2.988,165,1.503,178,0.997,180,1.947,181,0.529,262,0.898,267,4.942,270,2.191,271,3.525,274,1.453,275,0.892,277,1.394,280,2.127,289,3.991,290,2.849,291,1.659,300,2.707,305,1.07,306,1.194,308,1.194,310,1.453,311,1.453,313,1.239,314,1.394,315,1.394,326,1.833,329,3.421,339,2.416,340,1.516,341,1.88,423,1.837,451,3.109,513,1.239,585,0.81,595,2.628,620,2.99,644,2.191,774,3.631,885,1.936,887,2.191,890,4.044,897,2.191,899,3.129,900,2.99,909,2.356,910,2.356,911,3.525,912,5.78,913,3.43,914,2.562,915,2.562,916,5.78,917,2.562,919,2.562,925,5.36,926,2.562,927,2.562,928,3.731,929,2.562,933,2.99,934,4.942,935,2.562,937,2.562,938,6.168,939,4.399,940,3.731,941,4.131,943,2.356,944,2.562,945,2.356,946,2.562,953,2.356,954,3.43,956,2.562,957,2.562,958,2.356,959,2.562,960,5.36,962,2.356,963,4.399,964,2.356,966,2.356,967,2.356,968,2.191,969,2.356,970,3.731,971,3.651,972,2.356,973,2.356,974,3.43,975,2.99,976,2.99,977,2.562,978,2.562,979,3.731,980,2.562,981,3.731,982,2.562,983,2.562,984,2.053,985,3.731,986,2.562,987,4.399,988,2.356,989,2.562,990,2.562,991,3.731,992,2.562,993,2.562,994,3.731,995,2.562,996,2.356,997,3.731,998,3.731,999,3.731,1000,2.191,1001,2.562,1002,1.936,1003,2.562,1004,2.562,1005,2.562,1006,2.562,1007,2.562,1008,2.562,1009,2.562,1010,2.562,1011,2.562,1012,2.562,1013,2.562,1014,2.562,1015,2.562,1016,2.562,1017,2.562,1018,2.562,1019,2.191,1020,2.356,1021,2.191,1022,2.562,1023,2.562,1024,2.356,1025,2.356,1026,2.562,1027,2.356,1028,2.562,1029,1.936,1030,2.562,1031,2.562,1032,2.356,1033,2.356,1034,2.562,1035,2.562,1036,2.562,1037,2.562]],["title/components/SpatialSearchListComponent.html",[275,0.758,525,1.594]],["body/components/SpatialSearchListComponent.html",[7,0.014,13,0.154,14,0.109,15,0.076,16,0.159,19,1.044,24,1.406,26,1.289,27,1.079,28,0.578,29,0.938,31,0.929,33,0.155,36,0.204,46,0.162,47,0.401,49,0.748,53,2.096,54,1.038,59,0.511,62,1.33,68,1.589,78,0.121,81,0.005,82,0.007,83,0.005,85,0.61,86,0.627,102,1.718,134,2.95,150,2.638,154,1.157,165,2.287,181,1.03,245,1.246,262,1.831,268,3.339,269,4.197,272,4.292,273,1.621,274,1.352,275,1.009,276,3.567,277,1.297,280,2.041,281,3.018,290,1.198,292,1.809,300,0.996,301,3.022,305,2.563,306,1.648,308,1.648,310,2.006,311,2.006,312,1.198,313,2.412,314,1.925,315,2.295,328,3.741,329,2.188,332,4.695,341,1.94,358,1.246,366,1.246,423,0.996,448,1.153,449,2.006,450,1.475,451,1.246,452,1.475,453,1.411,455,1.198,461,2.674,465,1.352,466,1.712,504,1.475,505,1.778,506,1.246,507,2.887,508,1.475,509,1.475,510,1.475,511,1.246,512,1.475,513,1.153,514,1.475,515,1.246,516,1.475,517,1.111,518,1.475,519,1.246,520,1.352,521,1.475,522,1.246,523,1.198,524,1.475,525,2.346,526,1.475,527,1.246,528,1.411,529,1.475,530,1.475,531,1.246,532,1.297,533,1.475,534,1.246,535,1.411,536,1.246,537,1.411,538,1.198,539,1.411,540,1.475,561,2.674,563,3.254,566,2.532,569,1.544,585,1.476,593,1.621,594,1.352,595,2.539,596,2.039,597,1.802,598,1.802,599,3.026,615,2.039,622,2.532,623,2.094,624,1.911,625,1.706,626,3.339,629,5.525,649,1.802,650,2.385,665,3.173,700,2.674,975,3.382,976,2.836,1065,2.836,1202,2.836,1223,2.643,1305,3.026,1388,2.193,1389,2.193,1400,2.193,1401,2.385,1442,3.921,1486,4.919,1605,5.438,1633,4.852,1639,2.643,1943,5.309,1944,5.309,1945,2.385,1946,3.539,1947,4.675,1948,3.921,1949,4.501,1950,4.501,1951,4.675,1952,4.675,1953,3.034,1954,3.034,1955,3.034,1956,3.034,1957,3.921,1958,4.501,1959,3.921,1960,3.034,1961,3.921,1962,3.539,1963,3.539,1964,3.921,1965,3.034,1966,3.921,1967,3.034,1968,2.385,1969,2.193,1970,4.675,1971,3.921,1972,5.173,1973,3.921,1974,2.643,1975,2.643,1976,2.643,1977,2.643,1978,2.643,1979,2.643,1980,4.501,1981,3.034,1982,3.034,1983,3.034,1984,3.034]],["title/interfaces/SpatialSearchListItem.html",[47,0.359,1969,2.917]],["body/interfaces/SpatialSearchListItem.html",[7,0.014,13,0.129,14,0.162,15,0.113,16,0.097,28,0.476,31,0.703,33,0.23,36,0.303,46,0.214,47,0.592,49,0.833,53,2.493,54,1.235,59,0.758,68,1.588,78,0.108,81,0.007,82,0.01,83,0.007,84,1.425,85,0.621,86,0.826,102,1.284,134,2.76,150,2.617,154,1.294,165,2.104,181,1.079,262,2.119,268,3.338,269,3.525,272,4.29,273,3.171,274,2.005,275,1.116,276,3.736,277,1.924,280,2.526,281,3.736,301,2.858,305,1.477,306,1.647,308,1.647,310,2.005,311,2.005,313,1.71,314,1.924,315,1.924,328,3.74,329,2.187,332,5.063,341,2.246,461,2.672,525,1.777,569,3.021,585,1.475,595,1.924,665,3.171,700,2.672,975,2.834,976,2.834,1065,2.834,1202,2.834,1305,3.024,1486,4.918,1605,5.494,1633,4.936,1943,3.251,1944,3.251,1945,3.537,1946,3.537,1947,3.918,1948,3.918,1951,3.918,1952,3.918,1957,3.918,1959,3.918,1961,3.918,1962,3.537,1963,3.537,1964,3.918,1966,3.918,1968,4.666,1969,4.29,1970,3.918,1971,5.17,1972,6.153,1973,5.17,1974,3.918,1975,3.918,1976,3.918,1977,3.918,1978,3.918,1979,3.918]],["title/modules/SpatialSearchListModule.html",[0,1.478,1985,2.917]],["body/modules/SpatialSearchListModule.html",[2,2.006,3,2.429,7,0.014,10,2.617,11,2.162,12,1.739,13,0.163,14,0.205,15,0.143,16,0.123,33,0.415,35,2.617,36,0.383,46,0.205,71,2.336,78,0.103,81,0.009,82,0.011,83,0.009,150,1.935,301,2.711,362,2.944,363,2.944,364,3.068,365,2.336,525,3.299,552,4.088,553,3.377,1943,4.109,1944,4.109,1985,5.857,1986,4.952,1987,4.952,1988,4.952,1989,5.685,1990,5.996,1991,4.952,1992,6.883,1993,5.685,1994,6.883,1995,5.685,1996,5.685]],["title/interfaces/StackOp.html",[47,0.359,941,2.712]],["body/interfaces/StackOp.html",[7,0.014,12,1.452,13,0.094,14,0.117,15,0.082,16,0.071,27,0.53,28,0.449,31,0.962,33,0.243,36,0.22,46,0.171,47,0.423,49,0.66,54,1.306,58,2.417,59,1.186,68,1.151,69,2.308,78,0.102,81,0.01,82,0.008,83,0.005,84,1.033,85,0.64,86,0.856,97,1.195,102,1.028,154,1.09,164,2.989,165,1.948,178,0.998,180,1.948,181,0.53,262,0.899,267,5.088,270,2.193,271,3.527,274,1.454,275,0.892,277,1.395,280,2.129,289,4.162,290,2.849,291,1.661,300,2.669,305,1.071,306,1.195,308,1.195,310,1.454,311,1.454,313,1.24,314,1.395,315,1.395,326,1.835,329,3.506,339,2.417,340,1.517,341,1.881,423,1.838,451,2.802,513,1.24,585,0.811,595,2.394,620,2.992,644,2.193,774,3.176,885,1.938,887,2.193,890,4.046,897,2.193,899,3.13,900,2.992,909,2.358,910,2.358,911,2.992,912,5.782,913,3.432,914,2.565,915,2.565,916,5.874,917,2.565,919,2.565,925,5.534,926,2.565,927,2.565,928,4.401,929,2.565,933,2.992,934,4.731,935,2.565,937,2.565,938,6.207,939,4.401,940,4.401,941,4.392,943,2.358,944,2.565,945,2.358,946,2.565,953,2.358,954,3.432,956,2.565,957,2.565,958,2.358,959,2.565,960,5.361,962,2.358,963,4.834,964,2.358,966,2.358,967,2.358,968,2.193,969,2.358,970,2.565,971,2.82,972,3.432,973,3.432,974,4.723,975,3.527,976,4.117,977,2.565,978,2.565,979,3.733,980,2.565,981,3.733,982,2.565,983,2.565,984,2.055,985,3.733,986,2.565,987,4.401,988,2.358,989,2.565,990,2.565,991,3.733,992,2.565,993,2.565,994,3.733,995,2.565,996,2.358,997,3.733,998,3.733,999,3.733,1000,2.193,1001,2.565,1002,1.938,1003,2.565,1004,2.565,1005,2.565,1006,2.565,1007,2.565,1008,2.565,1009,2.565,1010,2.565,1011,2.565,1012,2.565,1013,2.565,1014,2.565,1015,2.565,1016,2.565,1017,2.565,1018,2.565,1019,2.193,1020,2.358,1021,2.193,1022,2.565,1023,2.565,1024,2.358,1025,2.358,1026,2.565,1027,2.358,1028,2.565,1029,1.938,1030,2.565,1031,2.565,1032,2.358,1033,2.358,1034,2.565,1035,2.565,1036,2.565,1037,2.565]],["title/components/StoreDebugComponent.html",[275,0.758,527,1.658]],["body/components/StoreDebugComponent.html",[7,0.014,13,0.166,14,0.124,15,0.087,16,0.159,19,1.146,24,1.394,26,0.827,27,1.21,28,0.557,29,0.603,31,0.773,33,0.295,36,0.232,46,0.208,49,0.583,54,1.103,58,2.94,59,0.581,61,3.246,62,1.64,69,3.066,78,0.126,81,0.006,82,0.008,83,0.006,85,0.291,86,0.688,102,1.747,114,0.827,126,2.472,134,1.603,150,1.173,154,0.962,176,2.226,178,1.511,179,1.131,180,2.201,181,0.938,245,1.416,262,1.361,274,1.536,275,1.439,277,1.474,290,1.361,292,1.799,300,1.131,301,1.262,305,2.613,306,1.809,308,1.809,310,2.202,311,2.202,312,1.361,313,2.539,314,2.113,315,2.47,326,2.778,339,2.515,340,2.298,341,1.511,358,1.416,366,1.416,423,1.131,448,1.31,449,2.202,450,1.675,451,1.416,452,1.675,453,1.603,455,1.361,465,1.536,466,1.878,496,1.754,504,1.675,505,1.952,506,1.416,507,3.066,508,1.675,509,1.675,510,1.675,511,1.416,512,1.675,513,1.31,514,1.675,515,1.416,516,1.675,517,1.262,518,1.675,519,1.416,520,1.536,521,1.675,522,1.416,523,1.361,524,1.675,525,1.361,526,1.675,527,2.591,528,3.859,529,1.675,530,1.675,531,1.416,532,1.474,533,1.675,534,1.416,535,1.603,536,1.416,537,1.603,538,1.361,539,1.603,540,1.675,566,2.778,585,1.228,593,1.841,595,1.474,596,2.316,619,2.709,665,2.64,692,3.113,814,3.746,824,3.43,899,1.754,964,3.571,1112,3.113,1175,3.571,1183,3.571,1265,4.81,1274,3.43,1284,2.491,1340,3.113,1486,3.113,1997,5.291,1998,5.291,1999,2.709,2000,4.303,2001,7.32,2002,5.774,2003,4.94,2004,4.94,2005,6.307,2006,6.307,2007,4.94,2008,4.959,2009,4.94,2010,4.94,2011,4.94,2012,3.446,2013,4.94,2014,3.446,2015,4.94,2016,3.446,2017,3.446,2018,5.03,2019,5.816,2020,3.002,2021,4.303,2022,3.446,2023,3.446,2024,3.446,2025,3.446,2026,3.446,2027,4.94,2028,3.446,2029,3.446,2030,3.446,2031,3.446,2032,3.446,2033,3.446,2034,4.94,2035,4.94,2036,4.94,2037,4.303]],["title/modules/StoreDebugModule.html",[0,1.478,2038,2.917]],["body/modules/StoreDebugModule.html",[2,2.099,3,2.496,7,0.013,10,2.689,11,2.262,12,1.819,13,0.171,14,0.214,15,0.15,16,0.129,33,0.386,35,2.689,36,0.4,46,0.214,71,2.444,78,0.108,81,0.01,82,0.011,83,0.01,362,3.025,363,3.025,364,3.152,365,2.444,527,3.449,528,2.767,1997,4.3,1998,4.3,2038,5.91,2039,5.182,2040,5.182,2041,5.182,2042,5.948,2043,5.948]],["title/components/TextSearchComponent.html",[275,0.758,312,1.594]],["body/components/TextSearchComponent.html",[7,0.014,13,0.139,14,0.092,15,0.064,16,0.165,19,0.917,24,1.476,26,1.413,27,1.162,28,0.59,29,1.172,30,3.06,31,0.92,33,0.318,36,0.172,46,0.174,47,0.228,49,0.886,54,0.691,56,1.587,59,0.667,62,1.627,63,1.922,68,0.902,72,3.047,78,0.113,81,0.004,82,0.006,83,0.004,85,0.216,86,0.55,102,1.675,112,1.532,114,0.614,115,1.051,116,1.14,117,1.519,119,0.902,137,1.438,150,0.87,154,1.06,162,1.14,164,1.243,165,2.331,170,1.519,175,0.972,176,0.902,179,1.298,180,1.724,181,1.179,245,1.625,258,4.253,259,5.134,260,5.134,261,1.848,262,1.621,263,1.848,264,2.227,265,4.844,266,5.959,267,1.719,268,2.224,269,2.872,270,1.719,271,1.611,272,2.858,273,2.584,274,1.14,275,1.106,276,2.719,277,1.094,278,1.438,279,2.858,280,2.366,281,2.719,282,4.212,283,1.848,284,4.626,285,1.848,286,2.658,287,3.047,288,4.212,289,1.366,290,1.562,291,1.302,292,1.912,293,4.891,294,5.907,295,2.01,296,2.01,297,1.848,298,1.848,299,1.611,300,2.656,301,2.97,302,5.85,303,3.445,304,3.109,305,2.488,306,1.448,307,3.445,308,1.448,309,4.212,310,1.763,311,1.763,312,2.15,313,2.237,314,1.691,315,2.068,316,3.955,317,2.227,318,2.227,319,2.227,320,2.227,321,1.243,322,3.445,323,5.651,324,3.445,325,3.445,326,3.499,327,5.126,328,3.92,329,1.922,330,4.212,331,5.408,332,3.047,333,4.212,334,5.408,335,5.126,336,4.212,337,3.445,338,3.445,339,2.013,340,1.839,341,1.21,342,4.212,343,2.227,344,2.227,345,3.445,346,2.858,347,3.445,348,3.109,349,2.872,350,3.445,351,2.349,352,2.227,353,2.227,358,1.051,366,1.051,423,1.298,448,0.972,449,1.763,450,1.243,451,1.051,452,1.243,453,1.189,455,1.01,465,1.14,466,1.504,504,1.243,505,1.562,506,1.051,507,2.645,508,1.243,509,1.243,510,1.243,511,1.051,512,1.243,513,0.972,514,1.243,515,1.051,516,1.243,517,0.936,518,1.243,519,1.051,520,1.14,521,1.243,522,1.051,523,1.01,524,1.243,525,1.01,526,1.243,527,1.051,528,1.189,529,1.243,530,1.243,531,1.051,532,1.094,533,1.243,534,1.051,535,1.189,536,1.051,537,1.189,538,1.01,539,1.189,540,1.243,561,2.349,563,2.858,566,2.224,585,0.635,593,1.366,595,1.094,596,1.719,597,1.519,598,1.519,600,1.519,603,2.858,606,1.848,622,1.438,623,1.189,624,1.611,626,1.438,631,1.848,634,4.253,639,2.349,649,2.349,1112,2.492,1183,1.848,1388,1.848,1389,1.848,1391,2.227,1400,1.848,1476,4.497,1633,1.719,1637,3.445,1856,2.227,1962,2.01,1963,2.01,2044,3.954,2045,3.954,2046,3.954,2047,2.557,2048,2.557,2049,2.557,2050,2.557,2051,2.557,2052,3.954,2053,2.557,2054,2.557,2055,3.954,2056,2.557,2057,2.557,2058,2.557,2059,2.557,2060,2.557,2061,2.227,2062,2.557,2063,2.557,2064,2.557,2065,2.557,2066,2.557,2067,2.557,2068,2.557,2069,2.557,2070,2.557]],["title/modules/TextSearchModule.html",[0,1.478,2071,2.917]],["body/modules/TextSearchModule.html",[2,1.888,3,2.341,7,0.014,10,2.522,11,2.034,12,1.637,13,0.154,14,0.192,15,0.135,16,0.116,33,0.414,35,2.522,36,0.36,46,0.192,71,2.725,78,0.097,81,0.009,82,0.011,83,0.009,259,3.597,260,3.597,283,3.868,290,2.114,291,2.724,300,1.757,312,3.274,362,2.836,363,2.836,364,2.956,365,2.198,969,3.868,1039,5.305,1476,3.868,2071,5.962,2072,4.661,2073,5.35,2074,4.661,2075,4.661,2076,6.97,2077,6.97,2078,5.35,2079,6.632,2080,6.632,2081,6.632,2082,5.35,2083,6.632,2084,5.35,2085,6.632,2086,5.35,2087,5.35,2088,5.35,2089,5.35,2090,5.35]],["title/components/TrackingPopupComponent.html",[275,0.758,531,1.658]],["body/components/TrackingPopupComponent.html",[0,1.265,6,3.646,7,0.014,12,2.044,13,0.166,14,0.124,15,0.087,16,0.164,19,1.148,24,1.453,26,1.389,27,1.129,28,0.574,29,1.011,31,0.904,33,0.296,36,0.233,46,0.124,49,0.408,53,2.359,54,0.604,59,0.975,62,1.109,68,2.041,74,1.54,78,0.105,81,0.006,82,0.008,83,0.006,85,0.419,86,0.689,102,1.754,126,2.118,132,2.177,150,1.176,168,3.119,179,1.134,181,1.026,245,2.034,274,1.54,275,1.087,277,1.478,278,1.943,290,1.365,292,1.412,300,1.134,301,1.265,302,2.717,305,2.614,306,1.813,308,1.813,310,2.206,311,2.206,312,1.365,313,1.882,314,2.117,315,2.473,358,1.42,366,1.42,423,2.283,448,1.314,449,2.206,450,1.68,451,1.42,452,1.68,453,1.607,455,1.365,458,3.888,465,1.54,466,2.199,504,1.68,505,1.956,506,1.42,507,3.07,508,1.68,509,1.68,510,1.68,511,1.42,512,1.68,513,1.314,514,1.68,515,1.42,516,1.68,517,1.265,518,1.68,519,1.42,520,1.54,521,1.68,522,1.42,523,1.365,524,1.68,525,1.365,526,1.68,527,1.42,528,1.607,529,1.68,530,1.68,531,2.595,532,3.309,533,1.68,534,1.42,535,1.607,536,1.42,537,1.607,538,1.365,539,1.607,540,1.68,566,2.784,585,1.569,593,1.846,594,1.54,595,2.117,597,2.052,598,2.94,613,3.578,622,2.784,623,2.302,625,2.784,646,3.578,649,2.94,651,2.323,694,2.323,710,5.027,812,3.119,826,3.578,827,3.327,971,3.435,1112,3.119,1226,3.327,1252,3.578,1253,3.327,1255,3.979,1256,4.547,1295,3.892,1347,4.18,1393,2.717,1529,4.312,1550,3.01,1551,3.01,1552,3.01,1553,2.717,1565,4.831,1633,2.323,1896,5.823,2091,5.95,2092,5.95,2093,3.01,2094,5.783,2095,4.95,2096,6.315,2097,4.95,2098,4.95,2099,5.864,2100,4.95,2101,4.95,2102,4.95,2103,3.455,2104,4.95,2105,7.568,2106,3.455,2107,4.95,2108,3.455,2109,3.455,2110,4.95,2111,3.455,2112,3.455,2113,3.455,2114,3.455,2115,3.455,2116,3.455,2117,3.455,2118,3.455,2119,3.455,2120,4.95,2121,3.455,2122,3.455,2123,3.455,2124,3.455,2125,3.455,2126,4.312,2127,3.892,2128,4.312,2129,4.95,2130,3.455,2131,3.455,2132,4.95,2133,3.455,2134,3.455,2135,3.455,2136,3.455,2137,3.455,2138,4.95,2139,5.783,2140,3.455,2141,3.455,2142,3.455,2143,3.455,2144,3.455,2145,3.455,2146,2.717,2147,3.455,2148,3.455,2149,3.455,2150,3.455,2151,3.455]],["title/modules/TrackingPopupModule.html",[0,1.478,2152,2.917]],["body/modules/TrackingPopupModule.html",[2,2.073,3,2.477,7,0.014,10,2.669,11,2.233,12,1.796,13,0.169,14,0.211,15,0.148,16,0.127,33,0.398,35,2.669,36,0.395,46,0.211,71,2.413,78,0.107,81,0.009,82,0.011,83,0.009,362,3.002,363,3.002,364,3.128,365,2.413,531,3.444,532,2.512,1990,6.115,1991,5.116,2091,4.618,2092,4.618,2152,5.895,2153,5.116,2154,5.116,2155,5.116,2156,5.873,2157,5.873]],["title/injectables/TrackingState.html",[93,0.706,2158,2.917]],["body/injectables/TrackingState.html",[7,0.014,13,0.151,14,0.19,15,0.133,16,0.142,19,1.525,24,1.027,26,1.266,27,1.068,28,0.423,29,0.922,31,0.825,33,0.383,36,0.355,40,2.685,41,2.564,46,0.27,47,0.47,53,2.722,54,1.311,56,1.732,59,0.889,62,1.473,63,2.564,74,2.351,76,2.623,78,0.096,81,0.008,82,0.011,83,0.008,85,0.446,93,1.149,231,2.084,245,2.167,321,2.564,371,3.196,493,4.419,496,2.685,532,2.256,585,1.634,665,3.513,693,3.323,1057,3.546,1105,5.631,1141,5.168,1142,4.147,1143,4.147,1273,3.323,1506,3.813,2099,6.064,2158,4.752,2159,3.546,2160,6.573,2161,5.726,2162,6.238,2163,5.275,2164,3.813,2165,3.813,2166,4.752,2167,4.814,2168,4.595,2169,4.595,2170,5.726,2171,4.595,2172,4.595,2173,4.595,2174,4.595,2175,4.147,2176,4.595,2177,4.595,2178,4.595]],["title/interfaces/TrackingStateModel.html",[47,0.359,2164,2.917]],["body/interfaces/TrackingStateModel.html",[7,0.014,13,0.154,14,0.193,15,0.135,16,0.116,27,0.873,28,0.431,29,1.163,33,0.386,36,0.362,40,2.736,41,2.612,46,0.271,47,0.479,53,2.737,54,1.319,56,1.764,59,0.906,62,1.49,63,2.612,74,2.395,76,2.645,78,0.098,81,0.009,82,0.011,83,0.009,84,1.703,85,0.454,86,0.926,93,1.163,321,2.612,371,2.612,493,4.47,496,2.736,532,2.298,585,1.335,665,3.553,693,3.386,1057,3.612,1105,5.228,1141,5.228,1142,4.225,1143,4.225,1273,3.386,1506,3.884,2099,6.296,2158,3.884,2159,3.612,2161,4.681,2162,5.793,2164,4.807,2165,3.884,2166,4.807,2167,4.854,2168,4.681,2169,4.681,2170,5.793,2171,4.681,2172,4.681,2173,4.681,2174,4.681,2175,4.225,2176,4.681,2177,4.681,2178,4.681]],["title/injectables/WorkerCCFDatabaseDataSourceService.html",[93,0.706,438,2.542]],["body/injectables/WorkerCCFDatabaseDataSourceService.html",[7,0.014,13,0.099,14,0.227,15,0.087,16,0.107,19,1.149,24,1.566,26,1.874,27,1.229,28,0.626,29,1.324,31,1.245,33,0.366,36,0.233,46,0.178,47,0.308,49,0.584,54,1.012,59,0.975,76,1.267,78,0.105,81,0.006,82,0.008,83,0.006,85,0.292,86,0.689,88,1.883,93,1.105,97,2.968,102,0.749,103,3.266,112,2.558,114,0.83,115,1.421,116,1.542,119,1.221,122,2.304,123,1.848,124,1.848,126,1.096,151,1.761,152,3.382,154,0.674,175,1.315,176,1.221,180,1.833,181,1.13,185,2.691,189,2.691,191,2.691,193,2.691,196,2.691,198,2.691,201,1.609,203,1.609,205,1.609,207,1.609,209,1.609,212,1.609,214,1.609,216,1.609,231,1.366,232,2.647,233,2.647,234,2.647,235,2.647,236,2.647,237,2.647,242,3.236,349,3.437,351,2.942,368,4.514,369,3.33,370,2.325,371,3.251,372,2.946,373,3.254,374,4.183,375,4.045,376,3.717,377,3.894,378,2.942,379,2.325,381,2.719,382,4.7,383,5.595,385,4.567,386,4.567,388,2.179,389,3.254,390,2.942,391,5.381,392,4.172,393,2.325,394,2.325,395,2.325,396,2.325,397,2.325,398,2.325,399,2.325,400,2.325,401,2.325,402,2.325,403,2.325,404,2.325,405,2.325,406,2.719,407,3.58,408,3.58,409,2.5,410,3.58,411,2.5,412,2.325,413,3.58,414,3.121,415,1.945,416,1.848,417,2.325,418,2.325,419,2.5,420,2.325,421,2.5,422,2.5,423,1.135,424,2.5,425,2.5,426,2.5,427,2.5,428,2.5,429,2.054,430,3.58,431,2.5,432,2.325,433,2.325,434,2.5,435,2.179,436,2.5,437,3.33,438,3.121,439,3.58,440,3.89,441,2.5,442,2.5,443,2.5,444,2.5,446,3.013,447,3.013,2179,4.953,2180,3.459,2181,3.459]],["title/components/XYZPositionComponent.html",[275,0.758,534,1.658]],["body/components/XYZPositionComponent.html",[7,0.014,13,0.178,14,0.142,15,0.099,16,0.161,24,1.414,27,1.179,28,0.582,33,0.202,36,0.266,46,0.142,49,0.641,62,1.626,69,2.641,78,0.132,81,0.006,82,0.009,83,0.006,85,0.334,86,0.756,102,1.774,150,1.343,165,2.225,181,1.179,245,1.621,262,1.087,274,1.759,275,1.32,277,1.687,280,2.546,290,1.559,292,2.07,300,1.295,301,1.445,305,2.662,306,1.99,308,1.99,310,2.422,311,2.422,312,1.559,313,2.67,314,2.324,315,2.658,358,1.621,366,1.621,423,2.383,448,1.5,449,2.422,450,1.918,451,1.621,452,1.918,453,1.835,455,1.559,465,1.759,466,2.066,504,1.918,505,2.147,506,1.621,507,3.255,508,1.918,509,1.918,510,1.918,511,1.621,512,1.918,513,1.5,514,1.918,515,1.621,516,1.918,517,1.445,518,1.918,519,1.621,520,1.759,521,1.918,522,1.621,523,1.559,524,1.918,525,1.559,526,1.918,527,1.621,528,1.835,529,1.918,530,1.918,531,1.621,532,1.687,533,1.918,534,2.751,535,3.685,536,3.345,537,1.835,538,1.559,539,1.835,540,1.918,561,3.227,566,3.056,593,2.108,595,1.687,615,3.652,616,2.852,622,3.056,625,2.219,651,2.652,1340,3.423,1401,3.102,1463,6.177,1853,3.437,2146,6.177,2182,5.846,2183,5.846,2184,3.437,2185,6.844,2186,6.214,2187,5.433,2188,6.116,2189,3.946,2190,3.946,2191,3.946,2192,5.433,2193,4.733,2194,4.733,2195,3.946,2196,7.257,2197,3.946,2198,3.946]],["title/modules/XYZPositionModule.html",[0,1.478,2199,2.917]],["body/modules/XYZPositionModule.html",[2,2.099,3,2.496,7,0.013,10,2.689,11,2.262,12,1.819,13,0.171,14,0.214,15,0.15,16,0.129,33,0.386,35,2.689,36,0.4,46,0.214,71,2.444,78,0.108,81,0.01,82,0.011,83,0.01,362,3.025,363,3.025,364,3.152,365,2.444,534,3.449,535,2.767,2182,4.677,2183,4.677,2199,5.91,2200,5.182,2201,5.182,2202,5.182,2203,5.948,2204,5.948]],["title/interfaces/XYZTriplet.html",[47,0.359,2205,3.172]],["body/interfaces/XYZTriplet.html",[7,0.014,10,2.386,13,0.098,14,0.123,15,0.086,16,0.074,27,0.553,28,0.46,33,0.294,36,0.229,46,0.123,47,0.304,49,0.677,53,1.73,54,1.162,59,1.23,62,1.598,68,2.623,74,1.519,78,0.104,81,0.005,82,0.008,83,0.005,84,1.08,85,0.288,86,0.682,100,3.195,102,1.242,114,0.818,134,3.457,154,1.389,162,2.184,165,2.503,178,1.042,180,2.445,181,1.158,268,1.917,275,1.079,276,4.011,277,1.458,280,2.826,281,4.011,305,1.119,306,1.248,308,1.248,313,1.296,314,1.458,315,1.458,340,1.585,349,2.024,351,2.024,358,1.4,359,2.68,360,2.68,366,3.054,414,2.147,423,2.477,433,2.291,585,1.652,623,1.585,626,1.917,649,2.024,744,2.147,814,2.024,824,2.911,1033,2.464,1061,2.464,1241,2.68,1265,2.291,1274,2.911,1293,2.024,1340,2.147,1463,5.227,1565,4.148,1667,4.269,1668,2.969,1682,3.543,1838,2.969,2008,2.68,2146,4.934,2185,5.791,2205,5.443,2206,2.969,2207,7.433,2208,3.408,2209,3.408,2210,5.608,2211,2.969,2212,3.408,2213,2.969,2214,3.408,2215,3.408,2216,4.999,2217,4.901,2218,3.408,2219,3.408,2220,4.901,2221,4.901,2222,3.408,2223,3.408,2224,3.408,2225,4.901,2226,3.408,2227,3.408,2228,4.901,2229,3.408,2230,3.408,2231,4.901,2232,4.901,2233,3.408,2234,3.408,2235,4.901,2236,3.408,2237,3.408,2238,4.901,2239,4.901,2240,3.408,2241,3.408,2242,3.408,2243,3.408,2244,3.408,2245,3.408,2246,3.408,2247,4.901,2248,4.901,2249,3.408,2250,4.901,2251,3.408,2252,3.408,2253,3.408,2254,3.408,2255,3.408,2256,3.408,2257,3.408,2258,3.408,2259,3.408,2260,3.408,2261,3.408,2262,3.408,2263,3.408,2264,3.408,2265,3.408,2266,3.408,2267,3.408,2268,2.969,2269,4.269,2270,3.408,2271,4.901,2272,3.408,2273,4.901,2274,3.408,2275,4.901,2276,5.739,2277,3.408,2278,3.408,2279,3.408,2280,3.408,2281,3.408,2282,3.408,2283,3.408,2284,3.408,2285,4.901,2286,3.408,2287,3.408,2288,4.901,2289,3.408,2290,4.901,2291,3.408,2292,3.408,2293,3.408,2294,3.408,2295,3.408,2296,3.408,2297,3.408,2298,3.408,2299,3.408,2300,3.408,2301,3.408,2302,3.408,2303,3.408,2304,4.901,2305,3.408,2306,3.408,2307,3.408,2308,3.408,2309,3.408,2310,3.408,2311,3.408,2312,3.408,2313,3.408,2314,3.408,2315,3.408,2316,3.408,2317,4.901,2318,3.408,2319,3.408,2320,3.408,2321,3.408]],["title/changelog.html",[2322,2.645,2323,2.432,2324,2.645]],["body/changelog.html",[3,1.474,7,0.01,13,0.154,15,0.041,18,0.967,24,0.317,28,0.131,29,0.285,30,1.544,40,0.829,41,0.792,47,0.503,68,1.474,81,0.003,82,0.004,83,0.009,84,0.516,86,0.227,97,1.529,102,1.679,103,2.077,117,0.967,126,2.339,132,1.026,139,1.845,141,1.095,145,1.63,146,1.729,149,1.095,150,1.421,152,0.792,154,1.217,159,1.026,165,0.516,176,0.575,182,3.741,183,0.916,265,1.984,268,0.916,271,3.184,273,1.467,275,0.785,292,0.465,299,3.387,301,2.51,305,0.901,316,1.095,326,2.621,329,1.729,331,2.158,332,1.729,334,1.28,346,1.177,366,2.415,414,2.631,432,1.845,449,1.223,451,0.669,453,0.757,458,1.845,459,1.63,460,1.026,462,2.113,463,1.177,465,1.861,481,1.521,487,2.621,495,1.419,505,0.643,520,0.726,523,2.951,536,0.669,570,5.299,571,5.455,575,4.919,579,1.419,584,1.095,593,0.87,595,1.993,596,2.391,600,0.967,602,1.729,613,3.018,620,1.026,623,0.757,635,2.391,640,3.099,642,1.419,646,1.177,683,2.571,689,1.177,694,1.845,696,4.248,700,1.63,701,4.44,708,5.23,710,1.177,739,1.026,887,1.095,903,1.467,911,1.026,933,1.026,943,1.177,952,1.28,958,2.571,967,1.984,971,0.967,973,1.177,974,6,976,1.729,984,2.241,988,1.177,1002,0.967,1019,2.391,1020,1.984,1021,1.095,1027,1.177,1029,1.63,1048,1.845,1051,2.7,1052,1.026,1053,1.177,1058,1.984,1065,2.241,1139,3.133,1173,2.391,1175,1.177,1178,2.391,1179,4.06,1195,1.419,1197,1.28,1202,1.026,1226,3.614,1229,1.28,1233,1.419,1238,1.28,1242,1.984,1243,4.402,1244,1.984,1245,1.177,1246,1.419,1247,1.419,1255,1.729,1293,4.124,1305,3.397,1310,1.419,1340,1.026,1347,1.177,1356,1.28,1360,3.283,1361,1.28,1370,1.28,1395,1.28,1449,1.28,1458,1.419,1474,1.419,1476,1.177,1477,4.402,1486,1.729,1518,1.419,1553,1.28,1570,1.419,1591,3.099,1605,1.095,1607,6.342,1621,2.391,1632,3.637,1638,1.419,1640,1.419,1659,1.28,1660,1.419,1662,1.419,1663,2.391,1664,5.314,1665,1.419,1671,1.28,1702,2.797,1751,1.28,1765,1.28,1766,1.28,1801,2.391,1802,2.391,1816,3.099,1818,3.099,1871,4.683,1889,1.419,1946,1.28,1968,2.158,2000,1.419,2008,3.973,2037,1.419,2127,1.28,2128,1.419,2175,1.28,2188,1.419,2193,4.919,2194,3.637,2210,4.912,2211,5.972,2213,3.637,2216,5.12,2268,3.099,2269,1.419,2323,2.571,2324,2.158,2325,3.099,2326,3.099,2327,3.099,2328,2.744,2329,1.629,2330,4.175,2331,2.391,2332,3.557,2333,1.629,2334,2.744,2335,1.629,2336,6.532,2337,1.629,2338,2.797,2339,2.744,2340,1.629,2341,2.391,2342,2.391,2343,2.391,2344,1.629,2345,1.629,2346,1.629,2347,2.744,2348,6.247,2349,1.629,2350,2.391,2351,1.629,2352,1.629,2353,5.12,2354,2.744,2355,4.661,2356,3.557,2357,1.629,2358,2.744,2359,2.744,2360,4.777,2361,1.629,2362,1.629,2363,1.629,2364,3.557,2365,4.661,2366,2.744,2367,3.557,2368,3.557,2369,2.744,2370,1.629,2371,2.744,2372,2.744,2373,5.376,2374,5.053,2375,2.744,2376,1.629,2377,1.629,2378,4.175,2379,1.629,2380,1.629,2381,2.744,2382,3.557,2383,1.629,2384,2.744,2385,2.744,2386,1.629,2387,1.629,2388,1.629,2389,3.557,2390,3.099,2391,1.629,2392,1.629,2393,1.629,2394,6.247,2395,6.399,2396,2.744,2397,4.661,2398,1.419,2399,2.744,2400,5.053,2401,2.744,2402,1.629,2403,1.629,2404,1.629,2405,2.744,2406,4.683,2407,1.629,2408,5.376,2409,1.629,2410,2.744,2411,1.629,2412,4.175,2413,6.652,2414,2.744,2415,3.557,2416,1.629,2417,1.629,2418,1.629,2419,1.629,2420,1.629,2421,1.419,2422,1.629,2423,2.744,2424,1.419,2425,1.629,2426,2.744,2427,4.175,2428,4.175,2429,1.629,2430,3.557,2431,1.629,2432,1.629,2433,2.744,2434,1.629,2435,1.629,2436,4.06,2437,3.099,2438,1.629,2439,4.06,2440,1.629,2441,3.557,2442,4.919,2443,6.532,2444,1.629,2445,1.629,2446,2.744,2447,3.099,2448,1.629,2449,1.629,2450,1.629,2451,4.661,2452,1.629,2453,1.629,2454,1.629,2455,3.557,2456,1.629,2457,2.391,2458,2.391,2459,5.376,2460,1.629,2461,4.919,2462,1.629,2463,1.629,2464,1.629,2465,1.629,2466,1.629,2467,1.629,2468,4.06,2469,4.06,2470,1.629,2471,2.744,2472,2.744,2473,2.744,2474,2.744,2475,2.744,2476,1.629,2477,1.629,2478,1.629,2479,1.629,2480,3.099,2481,2.744,2482,2.744,2483,2.744,2484,2.744,2485,2.744,2486,2.391,2487,1.629,2488,1.629,2489,1.629,2490,2.744,2491,1.629,2492,1.629,2493,2.391,2494,1.629,2495,3.557,2496,2.744,2497,5.053,2498,2.391,2499,4.175,2500,1.629,2501,1.629,2502,4.175,2503,1.629,2504,1.629,2505,2.744,2506,1.629,2507,1.629,2508,2.744,2509,1.629,2510,2.744,2511,1.629,2512,1.419,2513,1.629,2514,1.629,2515,1.629,2516,1.629,2517,1.629,2518,1.629,2519,1.629,2520,1.629,2521,1.629,2522,1.629,2523,1.629,2524,1.629,2525,1.629,2526,2.744,2527,1.629,2528,5.053,2529,1.629,2530,1.629,2531,3.557,2532,3.557,2533,2.391,2534,1.419,2535,1.629,2536,1.629,2537,2.744,2538,1.629,2539,1.629,2540,1.629,2541,2.744,2542,2.744,2543,3.557,2544,1.629,2545,1.629,2546,1.629,2547,1.629,2548,2.744,2549,1.629,2550,2.744,2551,4.175,2552,1.629,2553,1.629,2554,1.629,2555,5.053,2556,2.744,2557,1.629,2558,1.629,2559,3.557,2560,2.744,2561,2.744,2562,4.175,2563,1.629,2564,1.629,2565,1.629,2566,2.744,2567,1.629,2568,1.629,2569,1.629,2570,1.629,2571,1.629,2572,4.175,2573,1.629,2574,3.557,2575,4.175,2576,1.629,2577,3.557,2578,4.661,2579,2.744,2580,2.744,2581,2.744,2582,3.557,2583,4.175,2584,4.661,2585,3.557,2586,1.629,2587,1.629,2588,5.376,2589,1.629,2590,4.175,2591,4.175,2592,5.877,2593,1.629,2594,1.629,2595,1.629,2596,1.629,2597,1.629,2598,1.629,2599,2.744,2600,1.629,2601,1.629,2602,1.629,2603,1.629,2604,2.744,2605,1.629,2606,1.629,2607,2.744,2608,3.099,2609,2.744,2610,3.557,2611,1.629,2612,1.629,2613,1.629,2614,1.629,2615,1.629,2616,1.629,2617,1.629,2618,1.629,2619,5.053,2620,2.744,2621,3.557,2622,2.744,2623,1.629,2624,1.629,2625,1.629,2626,1.629,2627,3.557,2628,1.629,2629,1.629,2630,1.629,2631,2.744,2632,2.744,2633,2.744,2634,3.557,2635,1.629,2636,1.629,2637,1.629,2638,1.629,2639,1.629,2640,1.419,2641,1.629,2642,1.629,2643,1.629,2644,2.744,2645,1.629,2646,1.629,2647,2.744,2648,1.629,2649,1.629,2650,1.629,2651,1.629,2652,1.629,2653,1.629,2654,1.629,2655,1.629,2656,1.629,2657,1.629,2658,1.629,2659,3.099,2660,3.557,2661,4.175,2662,2.744,2663,3.557,2664,1.629,2665,2.744,2666,1.629,2667,2.744,2668,2.744,2669,1.629,2670,1.629,2671,2.744,2672,1.629,2673,1.629,2674,1.629,2675,1.629,2676,1.629,2677,1.629,2678,1.629,2679,1.629,2680,1.629,2681,1.629,2682,1.629,2683,1.629,2684,1.629,2685,1.629,2686,1.629,2687,1.629,2688,1.629,2689,1.629,2690,1.629,2691,1.629,2692,1.629,2693,1.629,2694,2.744,2695,1.629,2696,2.744,2697,1.629,2698,2.744,2699,2.744,2700,4.175,2701,4.175,2702,2.744,2703,2.744,2704,1.629,2705,1.629,2706,1.629,2707,1.629,2708,1.419,2709,1.629,2710,1.629,2711,1.629,2712,1.629,2713,1.629,2714,1.629,2715,2.744,2716,6.075,2717,3.557,2718,2.744,2719,1.629,2720,1.629,2721,1.629,2722,1.629,2723,1.629,2724,1.629,2725,1.629,2726,2.744,2727,4.683,2728,2.744,2729,1.629,2730,1.629,2731,1.629,2732,1.629,2733,1.629,2734,3.283,2735,1.629,2736,2.744,2737,1.629,2738,1.629,2739,1.629,2740,2.744,2741,1.629,2742,1.629,2743,1.629,2744,2.744,2745,2.391,2746,1.629,2747,1.629,2748,1.629,2749,1.629,2750,1.629,2751,1.629,2752,1.629,2753,1.629,2754,1.629,2755,1.419,2756,1.629,2757,2.391,2758,1.629,2759,1.629,2760,1.629,2761,1.629,2762,1.629,2763,1.629,2764,2.744,2765,1.629,2766,2.744,2767,1.629,2768,1.629,2769,1.629,2770,1.629,2771,1.629,2772,1.629,2773,1.629,2774,1.629,2775,1.629,2776,1.419,2777,2.744,2778,1.629,2779,1.629,2780,1.629,2781,1.629,2782,2.744,2783,1.419,2784,1.629,2785,1.629,2786,1.629,2787,1.629,2788,1.629,2789,1.629]],["title/coverage.html",[2734,4.338]],["body/coverage.html",[6,1.385,7,0.014,8,1.616,9,1.616,15,0.068,16,0.184,17,3.779,23,1.967,28,0.218,41,1.323,45,2.333,47,0.696,55,1.967,56,2.602,70,1.967,78,0.116,81,0.004,82,0.007,83,0.004,87,1.715,88,2.987,89,4.086,90,4.086,93,1.33,122,1.266,125,1.385,136,1.715,138,1.616,153,1.715,154,0.53,155,1.715,157,1.715,161,1.715,163,1.715,177,1.715,211,1.715,258,1.967,259,3.379,260,3.379,261,3.634,275,1.402,289,1.454,291,3.247,297,1.967,301,2.059,312,1.075,316,1.829,358,1.118,359,3.261,360,3.261,368,1.715,369,3.779,370,3.779,372,1.385,382,1.715,392,1.454,423,2.747,435,1.715,438,1.715,448,1.035,454,2.788,455,1.639,456,1.829,457,2.371,473,1.53,498,1.53,500,3.258,502,1.967,506,1.118,511,1.118,513,1.035,515,1.118,517,0.997,519,1.118,522,1.118,525,1.075,527,1.118,531,1.118,534,1.118,536,1.118,538,1.075,557,2.371,624,5.094,653,1.829,654,3.845,655,4.064,669,1.454,670,1.53,672,2.862,674,2.333,676,1.829,678,1.967,680,1.616,684,1.967,690,1.967,703,1.829,775,2.371,808,3.634,811,2.14,833,3.542,834,3.379,871,2.14,872,2.371,885,3.788,886,3.952,910,3.634,934,1.829,941,1.829,968,1.829,1046,3.408,1047,3.634,1051,1.454,1056,1.715,1103,2.371,1104,2.371,1145,2.14,1146,5.111,1161,2.14,1162,2.998,1164,1.967,1263,2.371,1264,3.634,1287,2.371,1339,3.261,1353,1.967,1406,6.623,1411,2.371,1423,2.14,1424,2.371,1425,2.371,1439,2.371,1440,2.371,1494,3.261,1503,2.14,1523,2.14,1524,2.14,1557,2.14,1558,2.14,1559,2.371,1586,2.14,1587,2.14,1588,2.371,1602,2.371,1635,2.371,1652,1.967,1653,4.064,1654,4.064,1655,4.42,1674,2.14,1798,2.14,1914,1.967,1915,5.251,1916,5.251,1917,5.508,1926,2.14,1943,2.998,1944,2.998,1945,3.261,1969,1.967,1997,1.967,1998,1.967,1999,2.14,2061,2.371,2091,2.14,2092,2.14,2093,2.371,2158,1.967,2159,4.068,2164,1.967,2165,1.967,2166,1.967,2167,1.829,2182,2.14,2183,2.14,2184,2.371,2205,2.14,2206,3.614,2398,2.371,2734,2.14,2776,2.371,2790,2.721,2791,2.721,2792,2.371,2793,8.014,2794,5.027,2795,2.721,2796,2.371,2797,2.371,2798,7.367,2799,2.371,2800,2.371,2801,2.371,2802,2.371,2803,2.371,2804,2.721,2805,2.371,2806,2.371,2807,2.371,2808,6.632,2809,2.721,2810,4.148,2811,2.721,2812,2.721,2813,2.721,2814,2.721,2815,2.371,2816,2.721,2817,5.622,2818,4.148,2819,4.148,2820,2.721,2821,4.148,2822,4.148,2823,2.721,2824,2.721,2825,2.721,2826,2.721,2827,2.721,2828,2.721,2829,2.721,2830,4.148,2831,2.721,2832,2.721,2833,4.148,2834,4.148,2835,2.721,2836,2.371,2837,4.148,2838,2.721,2839,4.148,2840,2.721,2841,2.721,2842,2.721,2843,2.721,2844,2.721,2845,2.721,2846,2.721]],["title/dependencies.html",[3,1.714,2424,2.931]],["body/dependencies.html",[3,1.633,7,0.014,15,0.116,36,0.311,39,3.4,40,2.355,41,2.249,81,0.007,82,0.01,83,0.007,95,3.11,114,1.111,120,3.11,121,3.11,151,3.078,172,2.748,283,3.344,284,3.638,285,4.37,365,1.901,366,1.901,412,3.11,493,4.064,494,4.03,496,2.355,505,2.389,589,2.748,686,3.11,1025,3.344,1139,3.11,1242,4.37,1362,3.344,1372,3.638,1421,4.03,1525,4.03,1589,4.03,1666,4.03,1670,4.03,1671,3.638,2343,4.03,2350,4.03,2439,4.03,2457,4.03,2493,4.03,2498,4.03,2608,4.03,2659,5.267,2847,4.626,2848,4.626,2849,4.626,2850,8.071,2851,4.626,2852,4.626,2853,4.626,2854,4.626,2855,4.626,2856,6.046,2857,4.626,2858,4.626,2859,4.626,2860,4.626,2861,4.626,2862,6.734,2863,4.626,2864,6.046,2865,4.626,2866,4.626,2867,4.626,2868,4.626,2869,6.734,2870,4.626,2871,4.626,2872,4.626,2873,4.626,2874,4.626,2875,4.626,2876,4.626,2877,4.626,2878,4.626,2879,4.626,2880,4.626,2881,6.046,2882,6.046,2883,4.626,2884,4.626,2885,4.626,2886,4.626,2887,4.626,2888,4.626,2889,6.046,2890,4.626,2891,4.626,2892,4.626,2893,4.626,2894,4.626,2895,4.626,2896,4.626,2897,4.626,2898,4.626,2899,4.626,2900,4.626,2901,4.626,2902,4.626,2903,4.03,2904,4.626,2905,4.626,2906,4.626,2907,4.626,2908,4.626,2909,4.626,2910,6.046,2911,4.626,2912,4.626,2913,4.626,2914,4.626,2915,4.626,2916,4.626,2917,4.626,2918,4.626,2919,4.626,2920,4.626,2921,4.626,2922,4.626,2923,4.626,2924,4.626,2925,4.626,2926,4.626,2927,4.626,2928,4.626,2929,4.626,2930,4.626,2931,4.626,2932,4.626,2933,4.626,2934,4.626,2935,4.626,2936,4.626,2937,4.626,2938,4.626,2939,4.626,2940,4.626,2941,5.267,2942,4.626,2943,4.626,2944,4.626,2945,4.626,2946,4.626,2947,4.626,2948,4.626,2949,4.626,2950,4.626,2951,4.626]],["title/miscellaneous/functions.html",[2952,2.12,2953,4.23]],["body/miscellaneous/functions.html",[7,0.014,16,0.164,17,2.474,26,1.946,27,1.316,29,1.417,30,2.911,31,1.284,37,2.894,53,1.299,57,2.894,58,1.874,62,0.825,63,1.789,66,2.894,69,2.911,70,3.742,76,2.671,81,0.006,82,0.008,83,0.006,85,0.617,86,0.512,88,1.4,89,2.07,90,3.85,97,1.348,100,1.874,106,2.474,112,2.058,134,1.712,138,2.186,154,1.008,161,3.773,163,3.262,164,3.328,165,1.166,166,3.48,167,3.48,170,2.186,211,3.262,219,2.474,242,3.393,262,1.79,263,2.661,280,1.4,287,2.319,289,1.967,291,1.874,415,2.07,423,1.699,462,2.186,505,1.454,536,2.127,639,3.859,693,2.319,717,3.742,885,2.186,886,4.708,888,2.894,892,3.206,896,3.206,897,2.474,898,3.206,899,2.635,900,4.833,901,3.206,902,3.206,903,1.967,904,3.206,905,3.206,911,2.319,933,2.319,945,2.661,968,4.025,1032,2.661,1050,3.48,1114,5.583,1116,6.031,1118,5.855,1145,4.708,1146,4.367,1148,2.894,1166,3.206,1202,2.319,1274,2.186,1523,2.894,1524,4.07,1528,3.206,1534,2.894,1682,2.661,1915,2.661,1916,5.545,1917,6.372,1918,5.659,1923,6.819,1927,3.206,1928,3.206,1929,3.206,1930,3.206,1931,5.216,1932,6.819,1933,6.185,1934,6.185,1935,5.659,1936,4.509,1937,5.216,2159,2.474,2167,4.025,2512,3.206,2757,3.206,2792,4.509,2796,3.206,2797,4.509,2799,3.206,2800,5.216,2801,3.206,2802,4.509,2803,4.509,2807,4.509,2815,4.509,2836,4.509,2941,3.206,2952,2.319,2953,3.206,2954,5.108,2955,3.681,2956,3.681,2957,3.206,2958,4.509,2959,3.681,2960,5.177,2961,6.594,2962,3.681,2963,3.681,2964,3.681,2965,3.681,2966,3.681,2967,3.681,2968,3.681,2969,3.681,2970,3.681,2971,3.681,2972,3.681,2973,3.681,2974,5.177,2975,3.681,2976,3.681]],["title/index.html",[85,0.285,2322,2.645,2323,2.432]],["body/index.html",[7,0.01,13,0.217,47,0.558,81,0.008,82,0.01,83,0.008,84,1.551,102,1.834,110,4.904,182,4.468,275,0.92,326,2.752,459,3.724,487,3.526,523,2.733,570,4.214,571,5,598,2.907,646,3.537,695,3.848,696,5,996,3.537,1051,2.615,1139,3.29,1175,3.537,1238,4.929,1245,3.537,1255,3.083,1293,3.724,1311,3.848,1519,5.461,2126,4.263,2127,4.929,2210,3.848,2324,3.848,2325,5.461,2326,5.461,2327,6.026,2338,4.929,2341,5.461,2342,6.355,2360,5.735,2390,5.461,2406,4.263,2421,4.263,2436,6.569,2437,6.355,2442,5.461,2447,4.263,2458,5.461,2461,4.263,2469,4.263,2480,4.263,2534,5.461,2745,4.263,2755,4.263,2783,4.263,2977,6.269,2978,6.269,2979,6.269,2980,4.894,2981,4.894,2982,4.894,2983,5.461,2984,4.894,2985,6.269,2986,6.269,2987,6.269,2988,6.918,2989,4.894,2990,4.894,2991,6.918,2992,6.918,2993,4.894,2994,4.894,2995,6.269,2996,4.894,2997,4.894,2998,4.894,2999,4.894,3000,4.894,3001,4.894,3002,4.894,3003,4.894,3004,4.894,3005,4.894,3006,4.894,3007,4.894,3008,4.894,3009,6.269,3010,4.894,3011,4.894,3012,6.269,3013,4.894,3014,6.269,3015,6.269,3016,4.894,3017,4.894,3018,4.894,3019,4.894,3020,4.894,3021,4.894,3022,4.894,3023,4.894,3024,4.894,3025,4.894,3026,4.894,3027,4.894,3028,4.894]],["title/license.html",[2322,2.645,2323,2.432,3029,2.931]],["body/license.html",[7,0.011,12,1.742,81,0.009,82,0.011,83,0.009,113,3.042,346,4.116,455,2.249,569,2.899,745,3.827,952,5.825,1021,3.827,1024,4.116,1051,3.042,1197,4.477,1217,4.477,1257,4.96,1430,4.96,2338,5.417,2360,4.477,2468,6.002,2640,6.002,2708,4.96,2727,4.96,2903,4.96,2983,7.173,3029,4.96,3030,5.694,3031,7.408,3032,5.694,3033,6.889,3034,5.694,3035,5.694,3036,5.694,3037,5.694,3038,5.694,3039,5.694,3040,6.889,3041,5.694,3042,5.694,3043,5.694,3044,5.694,3045,5.694,3046,5.694,3047,5.694,3048,5.694,3049,5.694,3050,5.694,3051,5.694,3052,6.889,3053,5.694,3054,5.694,3055,5.694,3056,5.694,3057,5.694,3058,6.889,3059,5.694,3060,5.694,3061,5.694,3062,5.694,3063,5.694,3064,5.694,3065,5.694,3066,5.694,3067,5.694,3068,5.694,3069,5.694,3070,5.694,3071,5.694,3072,5.694,3073,5.694,3074,5.694,3075,5.694,3076,5.694,3077,5.694,3078,5.694,3079,5.694,3080,5.694]],["title/modules.html",[2,1.947]],["body/modules.html",[1,3.905,2,2.05,7,0.011,81,0.009,82,0.011,83,0.009,354,4.199,541,4.199,546,3.905,984,3.66,1039,3.905,1242,6.1,1322,4.199,1327,3.905,1522,4.567,1580,4.199,1641,4.199,1657,7.351,1906,4.199,1985,4.199,2038,4.199,2071,4.199,2152,4.199,2199,4.199,2353,7.351,3081,8.456,3082,5.809]],["title/overview.html",[3083,4.806]],["body/overview.html",[1,5.195,2,1.518,3,2.033,4,3.747,5,3.747,6,3.307,7,0.014,8,3.858,9,3.858,10,2.19,11,1.635,12,1.315,81,0.007,82,0.009,83,0.007,84,1.363,231,1.699,312,3.004,354,5.229,355,3.747,356,3.747,357,3.747,358,3.124,448,2.891,449,1.917,506,1.767,511,3.124,513,2.891,515,3.124,517,2.785,519,3.124,522,3.124,525,3.004,527,3.124,531,3.124,534,3.124,538,3.004,541,5.497,542,3.747,543,3.747,544,3.747,545,3.747,546,5.005,700,2.555,769,3.747,770,3.747,771,3.747,774,2.091,1039,5.005,1040,3.747,1041,3.747,1042,3.747,1322,5.497,1323,3.747,1324,3.747,1325,3.747,1326,3.747,1327,5.005,1413,3.747,1414,3.747,1415,3.747,1580,5.229,1581,3.747,1582,3.747,1583,3.747,1641,5.229,1642,3.747,1643,3.747,1644,3.747,1906,5.229,1907,3.747,1908,3.747,1909,3.747,1985,5.229,1986,3.747,1987,3.747,1988,3.747,2038,5.229,2039,3.747,2040,3.747,2041,3.747,2071,5.658,2072,3.747,2074,3.747,2075,3.747,2076,6.044,2077,6.044,2152,5.229,2153,3.747,2154,3.747,2155,3.747,2199,5.229,2200,3.747,2201,3.747,2202,3.747,2331,3.747,2486,3.747,2533,3.747,3083,3.747,3084,4.301,3085,4.301]],["title/miscellaneous/typealiases.html",[2952,2.12,3086,4.856]],["body/miscellaneous/typealiases.html",[7,0.013,16,0.171,28,0.592,49,0.81,56,2.427,61,3.34,62,1.539,68,2,81,0.009,82,0.011,83,0.009,85,0.479,88,2.612,89,3.188,90,4.323,128,4.329,130,4.618,133,4.618,134,2.636,416,3.671,639,4.081,811,4.456,812,4.329,826,4.097,827,3.81,833,3.571,834,5.292,847,4.097,849,4.966,850,4.966,852,4.966,894,3.81,899,2.885,1162,4.097,1164,4.966,1180,5.402,1187,4.937,1188,5.985,1209,4.456,1210,4.937,1997,4.097,1998,4.097,1999,5.813,2018,4.937,2019,5.985,2020,4.937,2021,6.441,2952,3.571,2954,5.813,3087,5.668,3088,5.668,3089,7.686,3090,5.985,3091,6.87]],["title/miscellaneous/variables.html",[2952,2.12,3092,4.23]],["body/miscellaneous/variables.html",[6,1.194,7,0.014,8,1.393,9,1.393,16,0.149,17,1.576,27,1.342,28,0.522,30,2.078,45,2.078,49,0.539,53,0.828,55,2.671,59,0.395,61,1.14,62,1.636,72,1.477,74,3.682,76,0.859,81,0.004,82,0.006,83,0.004,85,0.198,88,0.892,89,1.319,90,2.92,113,1.253,128,2.329,137,1.319,145,4.284,147,4.406,148,2.329,153,3.271,154,0.891,155,2.329,156,2.484,157,2.329,158,1.576,159,1.477,165,1.449,172,3.084,175,1.405,176,1.304,259,1.576,260,1.576,261,2.671,265,1.695,266,2.906,268,4.647,273,1.975,279,1.695,292,2.126,293,2.906,294,1.843,295,1.843,296,1.843,297,2.671,298,2.671,299,1.477,316,2.484,321,3.506,500,1.091,523,3.264,574,1.843,600,4.653,602,4.48,643,6.496,654,1.319,655,3.306,681,1.695,682,1.843,683,1.695,684,2.671,685,1.843,686,1.576,687,1.843,688,1.843,689,1.695,690,2.671,691,1.843,812,1.477,1122,5.117,1146,2.484,1162,1.695,1164,2.671,1180,1.843,1264,2.671,1273,4.544,1494,1.843,1503,2.906,1504,2.042,1505,2.042,1506,2.671,1652,1.695,1653,1.695,1654,1.695,1655,3.597,1658,7.197,1659,6.159,1664,2.906,1672,2.042,1673,2.042,1674,2.906,1675,2.042,1676,3.219,1677,2.042,1678,2.042,1679,3.219,1680,2.042,1681,3.219,1682,2.671,1683,4.522,1684,2.042,1685,2.042,1686,3.985,1687,5.228,1688,6.493,1689,2.042,1690,2.042,1691,2.042,1692,3.985,1693,5.834,1694,5.228,1695,2.042,1696,2.042,1697,2.042,1698,2.042,1699,3.219,1700,2.042,1701,3.985,1702,4.718,1703,2.042,1704,2.042,1705,2.042,1706,3.985,1707,5.228,1708,2.042,1709,2.042,1710,2.042,1711,2.042,1712,3.219,1713,2.042,1714,3.219,1715,3.219,1716,3.219,1717,2.042,1718,2.042,1719,3.985,1720,5.834,1721,5.228,1722,2.042,1723,2.042,1724,2.042,1725,3.985,1726,5.228,1727,2.042,1728,2.042,1729,2.042,1730,2.042,1731,3.219,1732,2.042,1733,2.042,1734,3.985,1735,3.219,1736,2.042,1737,3.985,1738,5.834,1739,5.228,1740,2.042,1741,2.042,1742,2.042,1743,2.042,1744,3.219,1745,2.042,1746,2.042,1747,2.042,1748,3.219,1749,2.042,1750,2.042,1751,2.906,1752,2.042,1753,3.219,1754,4.522,1755,2.042,1756,2.042,1757,2.042,1758,5.228,1759,3.219,1760,2.042,1761,2.042,1762,3.219,1763,2.042,1764,2.042,1765,3.597,1766,2.906,1767,2.042,1768,2.042,1769,3.219,1770,2.042,1771,2.042,1772,3.219,1773,2.042,1774,2.042,1775,3.219,1776,2.042,1777,3.985,1778,5.228,1779,2.042,1780,2.042,1781,2.042,1782,2.042,1783,3.219,1784,3.219,1785,2.042,1786,2.042,1787,3.219,1788,2.042,1789,3.219,1790,3.219,1791,4.522,1792,4.522,1793,2.042,1794,2.042,1795,2.042,1796,2.042,1797,2.042,1798,2.906,1799,2.042,1800,2.042,1914,1.695,1915,1.695,1916,2.671,1926,2.906,2159,1.576,2165,2.671,2166,2.671,2167,1.576,2805,2.042,2806,3.219,2952,1.477,2954,3.597,2957,3.219,2958,2.042,2961,2.042,3090,2.042,3092,2.042,3093,3.696,3094,2.345,3095,2.345,3096,2.345,3097,3.696]]],"invertedIndex":[["",{"_index":7,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":423,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"injectables/LocalStorageService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["0.1.0",{"_index":2782,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":2951,"title":{},"body":{"dependencies.html":{}}}],["0.12",{"_index":2145,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["0.14",{"_index":2143,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["0.18.0",{"_index":2893,"title":{},"body":{"dependencies.html":{}}}],["0.1875rem",{"_index":1634,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["0.2",{"_index":2140,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["0.2.0",{"_index":2777,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":2911,"title":{},"body":{"dependencies.html":{}}}],["0.25rem",{"_index":607,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["0.5.0",{"_index":2766,"title":{},"body":{"changelog.html":{}}}],["0.5rem",{"_index":1400,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{}}}],["0.6.0",{"_index":2745,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0.60rem",{"_index":608,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["0.65rem",{"_index":1320,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["0.6s",{"_index":610,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{}}}],["0.7",{"_index":2133,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["0.875rem",{"_index":1397,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["0/1",{"_index":2793,"title":{},"body":{"coverage.html":{}}}],["0/11",{"_index":2833,"title":{},"body":{"coverage.html":{}}}],["0/13",{"_index":2839,"title":{},"body":{"coverage.html":{}}}],["0/14",{"_index":2841,"title":{},"body":{"coverage.html":{}}}],["0/15",{"_index":2840,"title":{},"body":{"coverage.html":{}}}],["0/17",{"_index":2834,"title":{},"body":{"coverage.html":{}}}],["0/18",{"_index":2838,"title":{},"body":{"coverage.html":{}}}],["0/19",{"_index":2837,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":2808,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":2835,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":2810,"title":{},"body":{"coverage.html":{}}}],["0/5",{"_index":2791,"title":{},"body":{"coverage.html":{}}}],["0/6",{"_index":2795,"title":{},"body":{"coverage.html":{}}}],["0/7",{"_index":2794,"title":{},"body":{"coverage.html":{}}}],["0/9",{"_index":2832,"title":{},"body":{"coverage.html":{}}}],["007cbe",{"_index":2150,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["01",{"_index":2366,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":2628,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":2578,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":2397,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":2551,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":2330,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":2365,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":2728,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":2355,"title":{},"body":{"changelog.html":{}}}],["0px",{"_index":1896,"title":{},"body":{"interfaces/OrganInfo.html":{},"components/TrackingPopupComponent.html":{}}}],["1",{"_index":700,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/PluckUniqueOptions.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"changelog.html":{},"overview.html":{}}}],["1.0",{"_index":2193,"title":{},"body":{"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["1.0.0",{"_index":2716,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":2888,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":2895,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":2946,"title":{},"body":{"dependencies.html":{}}}],["1.1.0",{"_index":2694,"title":{},"body":{"changelog.html":{}}}],["1.125rem",{"_index":1636,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["1.16.0",{"_index":2928,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":2890,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":2659,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":2898,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":2930,"title":{},"body":{"dependencies.html":{}}}],["1.2rem",{"_index":617,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["1.3.5",{"_index":2627,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":2608,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":2913,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":2577,"title":{},"body":{"changelog.html":{}}}],["1.5rem",{"_index":1321,"title":{},"body":{"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["1.6.0",{"_index":2562,"title":{},"body":{"changelog.html":{}}}],["1.6rem",{"_index":601,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["1.7.0",{"_index":2550,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":2900,"title":{},"body":{"dependencies.html":{}}}],["1/1",{"_index":2798,"title":{},"body":{"coverage.html":{}}}],["1/4",{"_index":2824,"title":{},"body":{"coverage.html":{}}}],["1/7",{"_index":2844,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":299,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/TextSearchComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["10.0.0",{"_index":2909,"title":{},"body":{"dependencies.html":{}}}],["10/10",{"_index":2829,"title":{},"body":{"coverage.html":{}}}],["100",{"_index":624,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{},"coverage.html":{}}}],["1014",{"_index":1475,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["10px",{"_index":2142,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["10rem",{"_index":1405,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["10x",{"_index":2706,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":2610,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":2931,"title":{},"body":{"dependencies.html":{}}}],["11/11",{"_index":2813,"title":{},"body":{"coverage.html":{}}}],["11/14",{"_index":2826,"title":{},"body":{"coverage.html":{}}}],["12",{"_index":2406,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":2932,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":2850,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":2855,"title":{},"body":{"dependencies.html":{}}}],["13",{"_index":2486,"title":{},"body":{"changelog.html":{},"overview.html":{}}}],["13/13",{"_index":2816,"title":{},"body":{"coverage.html":{}}}],["14",{"_index":2398,"title":{},"body":{"changelog.html":{},"coverage.html":{}}}],["15",{"_index":2331,"title":{},"body":{"changelog.html":{},"overview.html":{}}}],["15.126.1",{"_index":2848,"title":{},"body":{"dependencies.html":{}}}],["15/15",{"_index":2831,"title":{},"body":{"coverage.html":{}}}],["16",{"_index":2533,"title":{},"body":{"changelog.html":{},"overview.html":{}}}],["16.0.0",{"_index":2902,"title":{},"body":{"dependencies.html":{}}}],["17",{"_index":2382,"title":{},"body":{"changelog.html":{}}}],["18px",{"_index":2144,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["19",{"_index":3085,"title":{},"body":{"overview.html":{}}}],["1px",{"_index":2138,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["1rem",{"_index":651,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["2",{"_index":2194,"title":{},"body":{"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["2.0.0",{"_index":2532,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":2906,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":2498,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":2493,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.25rem",{"_index":1396,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["2.3.0",{"_index":2490,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":2485,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":2474,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":2457,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.6.7",{"_index":2933,"title":{},"body":{"dependencies.html":{}}}],["2.8.5",{"_index":2897,"title":{},"body":{"dependencies.html":{}}}],["2.awsapprunner.com",{"_index":3003,"title":{},"body":{"index.html":{}}}],["2/2",{"_index":2804,"title":{},"body":{"coverage.html":{}}}],["20",{"_index":1602,"title":{},"body":{"components/OpacitySliderComponent.html":{},"coverage.html":{}}}],["200",{"_index":1868,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["2019",{"_index":2727,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":2661,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":2443,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":701,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"changelog.html":{}}}],["2023",{"_index":2329,"title":{},"body":{"changelog.html":{}}}],["21",{"_index":2552,"title":{},"body":{"changelog.html":{}}}],["22",{"_index":1474,"title":{},"body":{"injectables/LocalStorageService.html":{},"changelog.html":{}}}],["23/30",{"_index":2828,"title":{},"body":{"coverage.html":{}}}],["24",{"_index":2767,"title":{},"body":{"changelog.html":{}}}],["24px",{"_index":2148,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["25",{"_index":2823,"title":{},"body":{"coverage.html":{}}}],["250",{"_index":1386,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["255",{"_index":2132,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["25rem",{"_index":605,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["26",{"_index":2579,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":2613,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":2356,"title":{},"body":{"changelog.html":{}}}],["2rem",{"_index":629,"title":{},"body":{"components/CallToActionComponent.html":{},"components/SpatialSearchListComponent.html":{}}}],["3",{"_index":2647,"title":{},"body":{"changelog.html":{}}}],["3.0.0",{"_index":2439,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":2869,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":2410,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":2405,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":2396,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":2381,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":2364,"title":{},"body":{"changelog.html":{}}}],["3.4rem",{"_index":636,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["3.5.0",{"_index":2354,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":2874,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":2876,"title":{},"body":{"dependencies.html":{}}}],["3.6",{"_index":3009,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":2343,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.7.0",{"_index":2328,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":2882,"title":{},"body":{"dependencies.html":{}}}],["3.7.3",{"_index":2884,"title":{},"body":{"dependencies.html":{}}}],["3/3",{"_index":2821,"title":{},"body":{"coverage.html":{}}}],["3/5",{"_index":2820,"title":{},"body":{"coverage.html":{}}}],["3/7",{"_index":2812,"title":{},"body":{"coverage.html":{}}}],["30",{"_index":635,"title":{},"body":{"components/CallToActionComponent.html":{},"changelog.html":{}}}],["30.75rem",{"_index":759,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["300",{"_index":1402,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["31",{"_index":2695,"title":{},"body":{"changelog.html":{}}}],["323232",{"_index":2134,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["36.688rem",{"_index":760,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["3d",{"_index":2211,"title":{},"body":{"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["3px",{"_index":2136,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["3rem",{"_index":1391,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/TextSearchComponent.html":{}}}],["4",{"_index":159,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["4.0",{"_index":2986,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":2879,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":2904,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":2925,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":2894,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":2915,"title":{},"body":{"dependencies.html":{}}}],["4/4",{"_index":2817,"title":{},"body":{"coverage.html":{}}}],["400",{"_index":2198,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["400px",{"_index":2130,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["42",{"_index":2811,"title":{},"body":{"coverage.html":{}}}],["444a65",{"_index":647,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["48",{"_index":2273,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["4th",{"_index":2345,"title":{},"body":{"changelog.html":{}}}],["5.0.0",{"_index":2918,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":2923,"title":{},"body":{"dependencies.html":{}}}],["5/5",{"_index":2814,"title":{},"body":{"coverage.html":{}}}],["50",{"_index":1411,"title":{},"body":{"components/InfoDialogComponent.html":{},"coverage.html":{}}}],["50rem",{"_index":1404,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["5px",{"_index":2137,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["5rem",{"_index":637,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["5th",{"_index":2335,"title":{},"body":{"changelog.html":{}}}],["6",{"_index":3084,"title":{},"body":{"overview.html":{}}}],["6.0.1",{"_index":2921,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":2935,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":2878,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":2945,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":2942,"title":{},"body":{"dependencies.html":{}}}],["6/12",{"_index":2842,"title":{},"body":{"coverage.html":{}}}],["6/7",{"_index":2843,"title":{},"body":{"coverage.html":{}}}],["60",{"_index":1635,"title":{},"body":{"components/OpacitySliderComponent.html":{},"coverage.html":{}}}],["64",{"_index":1899,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["6px",{"_index":2141,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["6rem",{"_index":2149,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["6s",{"_index":614,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["7.0rem",{"_index":628,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["7/34",{"_index":2809,"title":{},"body":{"coverage.html":{}}}],["7/7",{"_index":2830,"title":{},"body":{"coverage.html":{}}}],["7/9",{"_index":2819,"title":{},"body":{"coverage.html":{}}}],["72",{"_index":1830,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["72rem",{"_index":741,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{}}}],["73",{"_index":1408,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["75",{"_index":2290,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["75rem",{"_index":632,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["76",{"_index":2827,"title":{},"body":{"coverage.html":{}}}],["77",{"_index":2818,"title":{},"body":{"coverage.html":{}}}],["78",{"_index":2825,"title":{},"body":{"coverage.html":{}}}],["8",{"_index":2556,"title":{},"body":{"changelog.html":{}}}],["8.3.2",{"_index":2949,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":2873,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":2862,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":2865,"title":{},"body":{"dependencies.html":{}}}],["85",{"_index":2776,"title":{},"body":{"changelog.html":{},"coverage.html":{}}}],["875rem",{"_index":630,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["9.5",{"_index":2256,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["9/9",{"_index":2822,"title":{},"body":{"coverage.html":{}}}],["90",{"_index":2733,"title":{},"body":{"changelog.html":{}}}],["95",{"_index":2401,"title":{},"body":{"changelog.html":{}}}],["9999",{"_index":2147,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["9]*/g",{"_index":1578,"title":{},"body":{"directives/NumberDirective.html":{}}}],["9rem",{"_index":627,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["9th",{"_index":2587,"title":{},"body":{"changelog.html":{}}}],["__storage_test__",{"_index":1464,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["_bounds",{"_index":2258,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["_camera",{"_index":2260,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["_ctx",{"_index":746,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["_ctxs",{"_index":765,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["_error",{"_index":1491,"title":{},"body":{"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{}}}],["_ignored",{"_index":1261,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["_index",{"_index":1962,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{}}}],["_interactive",{"_index":2252,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["_occurencedata",{"_index":1836,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["_rotation",{"_index":2253,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["_rotationx",{"_index":2254,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["_scene",{"_index":2259,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["_target",{"_index":2257,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["_wont_",{"_index":2176,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["_zoom",{"_index":2255,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["a.name.localecompare(b.name",{"_index":1797,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["ability",{"_index":2508,"title":{},"body":{"changelog.html":{}}}],["about.wrapper",{"_index":1390,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["above",{"_index":1021,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{},"license.html":{}}}],["abstract",{"_index":376,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["access",{"_index":2122,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["accessors",{"_index":1112,"title":{},"body":{"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["according",{"_index":1904,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["accurate",{"_index":2576,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":455,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"license.html":{}}}],["action'},{'name",{"_index":512,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["action(closedialog",{"_index":766,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["action(learnmore",{"_index":747,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["action(opendialog",{"_index":756,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["action.actions",{"_index":501,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["action.actions.ts",{"_index":808,"title":{},"body":{"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"coverage.html":{}}}],["action.actions.ts:10",{"_index":809,"title":{},"body":{"classes/CloseDialog.html":{}}}],["action.actions.ts:2",{"_index":1438,"title":{},"body":{"classes/LearnMore.html":{}}}],["action.actions.ts:6",{"_index":1651,"title":{},"body":{"classes/OpenDialog.html":{}}}],["action.component",{"_index":773,"title":{},"body":{"modules/CallToActionModule.html":{}}}],["action.component.html",{"_index":559,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.scss",{"_index":558,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts",{"_index":557,"title":{},"body":{"components/CallToActionComponent.html":{},"coverage.html":{}}}],["action.component.ts:14",{"_index":581,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts:18",{"_index":572,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts:23",{"_index":568,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts:28",{"_index":573,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts:33",{"_index":567,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts:39",{"_index":576,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts:45",{"_index":580,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts:53",{"_index":582,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts:61",{"_index":586,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.module",{"_index":555,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{}}}],["action.module.ts",{"_index":772,"title":{},"body":{"modules/CallToActionModule.html":{}}}],["action.selectors",{"_index":503,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["action.selectors.ts",{"_index":775,"title":{},"body":{"classes/CallToActionSelectors.html":{},"coverage.html":{}}}],["action.selectors.ts:12",{"_index":784,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["action.selectors.ts:17",{"_index":778,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["action.selectors.ts:22",{"_index":782,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["action.selectors.ts:27",{"_index":780,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["action.selectors.ts:32",{"_index":786,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["action.selectors.ts:7",{"_index":788,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["action.state",{"_index":789,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["action.state.ts",{"_index":655,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["action.state.ts:103",{"_index":804,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["action.state.ts:121",{"_index":805,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["action.state.ts:135",{"_index":807,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["action.state.ts:153",{"_index":801,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["action.state.ts:65",{"_index":802,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["action.state.ts:70",{"_index":800,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["action.state.ts:81",{"_index":806,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["action.state.ts:94",{"_index":803,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["action/call",{"_index":500,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["actions",{"_index":2651,"title":{},"body":{"changelog.html":{}}}],["actual_component",{"_index":540,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["add",{"_index":890,"title":{},"body":{"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["added",{"_index":974,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["adding",{"_index":1930,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["additional",{"_index":911,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["addressed",{"_index":2689,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":2384,"title":{},"body":{"changelog.html":{}}}],["adjusting",{"_index":2684,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":2606,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":2535,"title":{},"body":{"changelog.html":{}}}],["afterviewinit",{"_index":1667,"title":{},"body":{"interfaces/OrganInfo.html":{},"interfaces/XYZTriplet.html":{}}}],["again",{"_index":2668,"title":{},"body":{"changelog.html":{}}}],["age",{"_index":139,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"changelog.html":{}}}],["agerange",{"_index":140,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["aggregateresult",{"_index":96,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{}}}],["ala",{"_index":2488,"title":{},"body":{"changelog.html":{}}}],["aliases",{"_index":3087,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["align",{"_index":597,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["all_organs",{"_index":1798,"title":{},"body":{"interfaces/OrganInfo.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["all_possible_organs",{"_index":1674,"title":{},"body":{"interfaces/OrganInfo.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["all_possible_organs.filter(organ",{"_index":1799,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["allow_telemetry",{"_index":1506,"title":{},"body":{"injectables/LocalStorageSyncService.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"miscellaneous/variables.html":{}}}],["allowed",{"_index":894,"title":{},"body":{"interfaces/DecoratedRange.html":{},"injectables/GlobalsService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"miscellaneous/typealiases.html":{}}}],["allows",{"_index":2593,"title":{},"body":{"changelog.html":{}}}],["allowtelemetry",{"_index":2099,"title":{},"body":{"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["allowtelemetry.tostring",{"_index":2172,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["alpha",{"_index":2756,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":2740,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":2736,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":2726,"title":{},"body":{"changelog.html":{}}}],["already",{"_index":1001,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["alt",{"_index":2990,"title":{},"body":{"index.html":{}}}],["always",{"_index":1234,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["analytics",{"_index":41,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{}}}],["analyticsmodule",{"_index":1,"title":{"modules/AnalyticsModule.html":{}},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"modules.html":{},"overview.html":{}}}],["analyticsoptions",{"_index":23,"title":{"interfaces/AnalyticsOptions.html":{}},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"coverage.html":{}}}],["anatomical",{"_index":1591,"title":{},"body":{"components/OpacitySliderComponent.html":{},"changelog.html":{}}}],["and/or",{"_index":3050,"title":{},"body":{"license.html":{}}}],["angular",{"_index":1139,"title":{},"body":{"injectables/GlobalConfigState.html":{},"modules/MousePositionTrackerModule.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":2849,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":2851,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":365,"title":{},"body":{"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/MousePositionTrackerModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{},"dependencies.html":{}}}],["angular/common/http",{"_index":662,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["angular/compiler",{"_index":2852,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":36,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["angular/elements",{"_index":2853,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":283,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"dependencies.html":{}}}],["angular/material",{"_index":2854,"title":{},"body":{"dependencies.html":{}}}],["angular/material/autocomplete",{"_index":2082,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["angular/material/button",{"_index":1991,"title":{},"body":{"modules/SpatialSearchListModule.html":{},"modules/TrackingPopupModule.html":{}}}],["angular/material/card",{"_index":549,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{}}}],["angular/material/checkbox",{"_index":1993,"title":{},"body":{"modules/SpatialSearchListModule.html":{}}}],["angular/material/core",{"_index":1650,"title":{},"body":{"modules/OpacitySliderModule.html":{}}}],["angular/material/dialog",{"_index":551,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{}}}],["angular/material/expansion",{"_index":1418,"title":{},"body":{"modules/InfoDialogModule.html":{}}}],["angular/material/form",{"_index":2084,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["angular/material/icon",{"_index":553,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{}}}],["angular/material/input",{"_index":2086,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["angular/material/list",{"_index":1995,"title":{},"body":{"modules/SpatialSearchListModule.html":{}}}],["angular/material/slider",{"_index":1648,"title":{},"body":{"modules/OpacitySliderModule.html":{}}}],["angular/material/snack",{"_index":2115,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["angular/material/tooltip",{"_index":1913,"title":{},"body":{"modules/OrganSelectorModule.html":{}}}],["angular/platform",{"_index":2856,"title":{},"body":{"dependencies.html":{}}}],["angular/router",{"_index":2858,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":1421,"title":{},"body":{"modules/InfoDialogModule.html":{},"dependencies.html":{}}}],["animate",{"_index":1382,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["animated",{"_index":740,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{}}}],["animated')[0]?.classlist.add('modal",{"_index":1381,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["anyfunction",{"_index":865,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["anyfunction)(...args",{"_index":870,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["anything",{"_index":2177,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["api",{"_index":182,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"changelog.html":{},"index.html":{}}}],["api.configuration.basepath",{"_index":225,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["api.hubmapconsortium.org",{"_index":3000,"title":{},"body":{"index.html":{}}}],["api.ts",{"_index":2806,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["apiendpointdatasourceoptions",{"_index":87,"title":{"interfaces/ApiEndpointDataSourceOptions.html":{}},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{}}}],["apiendpointdatasourceservice",{"_index":177,"title":{"injectables/ApiEndpointDataSourceService.html":{}},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{}}}],["app",{"_index":1673,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:bladder",{"_index":1782,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:brain",{"_index":1678,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:eye",{"_index":1686,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:fallopian",{"_index":1692,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:heart",{"_index":1698,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:kidney",{"_index":1701,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:knee",{"_index":1706,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:large",{"_index":1761,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:larynx",{"_index":1730,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:liver",{"_index":1711,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:lung",{"_index":1714,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:lymph",{"_index":1681,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:main",{"_index":1733,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:mammary",{"_index":1719,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:ovary",{"_index":1725,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:palatine",{"_index":1737,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:pancreas",{"_index":1743,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:pelvis",{"_index":1746,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:placenta",{"_index":1750,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:prostate",{"_index":1753,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:skin",{"_index":1675,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:small",{"_index":1757,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:spinal",{"_index":1764,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:spleen",{"_index":1768,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:thymus",{"_index":1771,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:trachea",{"_index":1774,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:ureter",{"_index":1777,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:uterus",{"_index":1786,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:vasculature",{"_index":1789,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app_initializer",{"_index":34,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["appear",{"_index":2452,"title":{},"body":{"changelog.html":{}}}],["appearance",{"_index":2067,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["application",{"_index":2597,"title":{},"body":{"changelog.html":{}}}],["applied",{"_index":887,"title":{},"body":{"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["applies",{"_index":962,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["apply",{"_index":925,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["appname",{"_index":50,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["appropriate",{"_index":2423,"title":{},"body":{"changelog.html":{}}}],["april",{"_index":2586,"title":{},"body":{"changelog.html":{}}}],["args",{"_index":390,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["arguments",{"_index":1567,"title":{},"body":{"directives/NumberDirective.html":{}}}],["arising",{"_index":3078,"title":{},"body":{"license.html":{}}}],["array",{"_index":899,"title":{},"body":{"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["array.length",{"_index":353,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["arrays",{"_index":2967,"title":{},"body":{"miscellaneous/functions.html":{}}}],["arrived",{"_index":697,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["asct+b",{"_index":2444,"title":{},"body":{"changelog.html":{}}}],["assets/docs/spatial_search_readme.md",{"_index":691,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"miscellaneous/variables.html":{}}}],["assets/images/spatial_search.gif",{"_index":698,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["assignment/selection",{"_index":2564,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":1197,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{},"license.html":{}}}],["async",{"_index":349,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{}}}],["atlas",{"_index":2326,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["attempt",{"_index":1168,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["attempts",{"_index":2477,"title":{},"body":{"changelog.html":{}}}],["attrs",{"_index":65,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["attrs[key",{"_index":64,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["authors",{"_index":3070,"title":{},"body":{"license.html":{}}}],["auto",{"_index":1398,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["autocomplete",{"_index":266,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["autocompleteoption",{"_index":258,"title":{"interfaces/AutoCompleteOption.html":{}},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"coverage.html":{}}}],["autocompleter",{"_index":327,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["autocompletion",{"_index":303,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["autofocus",{"_index":737,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{}}}],["automatic",{"_index":2676,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":2635,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":984,"title":{},"body":{"components/DecoratedTextComponent.html":{},"injectables/GlobalsService.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{},"modules.html":{}}}],["avoid",{"_index":2521,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":433,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{}}}],["award",{"_index":3027,"title":{},"body":{"index.html":{}}}],["b",{"_index":1796,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["backend",{"_index":2464,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":646,"title":{},"body":{"components/CallToActionComponent.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{},"index.html":{}}}],["bar",{"_index":302,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["base",{"_index":1968,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"changelog.html":{}}}],["based",{"_index":933,"title":{},"body":{"components/DecoratedTextComponent.html":{},"injectables/LocalStorageService.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["basic",{"_index":2534,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["before",{"_index":2455,"title":{},"body":{"changelog.html":{}}}],["beginning",{"_index":1820,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["behavior",{"_index":467,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/OrganInfo.html":{}}}],["behavior'},{'name",{"_index":510,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["behavior.component",{"_index":556,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["behavior.component.html",{"_index":469,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["behavior.component.scss",{"_index":468,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["behavior.component.ts",{"_index":457,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"coverage.html":{}}}],["behavior.component.ts:20",{"_index":492,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["behavior.component.ts:23",{"_index":490,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["behavior.component.ts:26",{"_index":477,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["behavior.component.ts:29",{"_index":483,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["behavior.component.ts:37",{"_index":479,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["behavior.component.ts:44",{"_index":484,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["behavior.module.ts",{"_index":547,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{}}}],["behavior/call",{"_index":456,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"coverage.html":{}}}],["behaviorsubject",{"_index":1055,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["being",{"_index":1356,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"changelog.html":{}}}],["below",{"_index":645,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["beta",{"_index":2442,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":2499,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":1395,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"changelog.html":{}}}],["bind",{"_index":284,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"dependencies.html":{}}}],["binding",{"_index":1407,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["bladder",{"_index":1784,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["block",{"_index":596,"title":{},"body":{"components/CallToActionComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"changelog.html":{}}}],["blocks",{"_index":2378,"title":{},"body":{"changelog.html":{}}}],["blood",{"_index":1791,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["bmi",{"_index":141,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"changelog.html":{}}}],["bmirange",{"_index":142,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["board",{"_index":2738,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":366,"title":{},"body":{"modules/BodyUiModule.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"dependencies.html":{}}}],["bodycanvas",{"_index":2266,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["bodyui",{"_index":2207,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["bodyui.initialize",{"_index":2297,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["bodyuicomponent",{"_index":358,"title":{},"body":{"modules/BodyUiModule.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"overview.html":{}}}],["bodyuimodule",{"_index":354,"title":{"modules/BodyUiModule.html":{}},"body":{"modules/BodyUiModule.html":{},"modules.html":{},"overview.html":{}}}],["bold",{"_index":1981,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["boolean",{"_index":53,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PluckUniqueOptions.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["border",{"_index":603,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/OpacitySliderComponent.html":{},"components/TextSearchComponent.html":{}}}],["both",{"_index":146,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["bottom",{"_index":650,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/SpatialSearchListComponent.html":{}}}],["boundary",{"_index":1552,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"components/TrackingPopupComponent.html":{}}}],["bounds",{"_index":1033,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"interfaces/XYZTriplet.html":{}}}],["bounds(value",{"_index":2236,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["bounds.x",{"_index":2281,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["bounds.y",{"_index":2284,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["box",{"_index":694,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/OpacitySliderComponent.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["boxes",{"_index":764,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["brain",{"_index":1679,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["breaking",{"_index":2545,"title":{},"body":{"changelog.html":{}}}],["bringing",{"_index":2557,"title":{},"body":{"changelog.html":{}}}],["bronchus",{"_index":1734,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["browse",{"_index":3081,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":1242,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{},"dependencies.html":{},"modules.html":{}}}],["browserify",{"_index":2943,"title":{},"body":{"dependencies.html":{}}}],["browsing",{"_index":2785,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":2394,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":996,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"index.html":{}}}],["building",{"_index":940,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["builds",{"_index":2438,"title":{},"body":{"changelog.html":{}}}],["buster",{"_index":153,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["button",{"_index":458,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["button'},{'name",{"_index":516,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["button.component",{"_index":1329,"title":{},"body":{"modules/InfoButtonModule.html":{}}}],["button.component.html",{"_index":1289,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.component.scss",{"_index":1288,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.component.ts",{"_index":1287,"title":{},"body":{"components/InfoButtonComponent.html":{},"coverage.html":{}}}],["button.component.ts:22",{"_index":1297,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.component.ts:27",{"_index":1298,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.component.ts:29",{"_index":1296,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.component.ts:31",{"_index":1292,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.component.ts:51",{"_index":1302,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.component.ts:58",{"_index":1300,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.component.ts:76",{"_index":1304,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.module.ts",{"_index":1328,"title":{},"body":{"modules/InfoButtonModule.html":{}}}],["button.service",{"_index":673,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["button.service.ts",{"_index":1047,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"coverage.html":{}}}],["button.service.ts:31",{"_index":1335,"title":{},"body":{"injectables/InfoButtonService.html":{}}}],["button.service.ts:38",{"_index":1337,"title":{},"body":{"injectables/InfoButtonService.html":{}}}],["button.service.ts:52",{"_index":1336,"title":{},"body":{"injectables/InfoButtonService.html":{}}}],["button/info",{"_index":672,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/PanelData.html":{},"coverage.html":{}}}],["c",{"_index":1430,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{},"license.html":{}}}],["cache",{"_index":151,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalsService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"dependencies.html":{}}}],["cache_config_no_params",{"_index":155,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["cache_config_params",{"_index":157,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["cacheable",{"_index":120,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"dependencies.html":{}}}],["cacheable(cache_config_no_params",{"_index":188,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["cacheable(cache_config_params",{"_index":200,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["cachebusterobserver",{"_index":156,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/variables.html":{}}}],["cached",{"_index":957,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["cacheresults",{"_index":430,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["call",{"_index":466,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["call_to_action",{"_index":751,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["callback",{"_index":2512,"title":{},"body":{"changelog.html":{},"miscellaneous/functions.html":{}}}],["called",{"_index":2548,"title":{},"body":{"changelog.html":{}}}],["calls",{"_index":2352,"title":{},"body":{"changelog.html":{}}}],["calltoaction",{"_index":470,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{}}}],["calltoaction(state",{"_index":776,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["calltoactionbehaviorcomponent",{"_index":448,"title":{"components/CallToActionBehaviorComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["calltoactionbehaviormodule",{"_index":541,"title":{"modules/CallToActionBehaviorModule.html":{}},"body":{"modules/CallToActionBehaviorModule.html":{},"modules.html":{},"overview.html":{}}}],["calltoactionclicked",{"_index":564,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["calltoactioncomponent",{"_index":511,"title":{"components/CallToActionComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"modules/CallToActionModule.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["calltoactionmodel",{"_index":653,"title":{"interfaces/CallToActionModel.html":{}},"body":{"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"coverage.html":{}}}],["calltoactionmodule",{"_index":546,"title":{"modules/CallToActionModule.html":{}},"body":{"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules.html":{},"overview.html":{}}}],["calltoactionpopupshown",{"_index":685,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"miscellaneous/variables.html":{}}}],["calltoactionselectors",{"_index":502,"title":{"classes/CallToActionSelectors.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"classes/CallToActionSelectors.html":{},"coverage.html":{}}}],["calltoactionstate",{"_index":703,"title":{"injectables/CallToActionState.html":{}},"body":{"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"coverage.html":{}}}],["calltoactionstate.ctadatepassed(expirationdate",{"_index":725,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["camera",{"_index":2238,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["camera(value",{"_index":2240,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["cancelregistration",{"_index":2511,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":2719,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":2891,"title":{},"body":{"dependencies.html":{}}}],["canvas",{"_index":2288,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["canvas.addeventlistener('contextmenu",{"_index":2294,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["card",{"_index":2538,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":1801,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["carouselcontainer",{"_index":1807,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["case",{"_index":1519,"title":{},"body":{"injectables/LocalStorageSyncService.html":{},"index.html":{}}}],["cases",{"_index":2693,"title":{},"body":{"changelog.html":{}}}],["cast",{"_index":161,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["catch",{"_index":1260,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{}}}],["ccf",{"_index":102,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["ccf's",{"_index":2656,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":2332,"title":{},"body":{"changelog.html":{}}}],["ccfdatabase",{"_index":408,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["ccfdatabase(config",{"_index":436,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["ccfdatabasedatasourcebaseservice",{"_index":368,"title":{"injectables/CCFDatabaseDataSourceBaseService.html":{}},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["ccfdatabasedatasourcebaseservice:20",{"_index":447,"title":{},"body":{"injectables/CCFDatabaseDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["ccfdatabasedatasourcebaseservice:39",{"_index":446,"title":{},"body":{"injectables/CCFDatabaseDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["ccfdatabasedatasourcebaseservice:53",{"_index":445,"title":{},"body":{"injectables/CCFDatabaseDataSourceService.html":{}}}],["ccfdatabasedatasourcebaseservice:65",{"_index":2180,"title":{},"body":{"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["ccfdatabasedatasourceservice",{"_index":435,"title":{"injectables/CCFDatabaseDataSourceService.html":{}},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["ccfdatabasemanager",{"_index":382,"title":{"interfaces/CCFDatabaseManager.html":{}},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["ccfdatabaseoptions",{"_index":383,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["cdr",{"_index":2005,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["cdr.markforcheck",{"_index":2032,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["cell",{"_index":2412,"title":{},"body":{"changelog.html":{}}}],["celltypeterms",{"_index":144,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["center",{"_index":598,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"index.html":{}}}],["change",{"_index":1175,"title":{},"body":{"injectables/GlobalsService.html":{},"components/StoreDebugComponent.html":{},"changelog.html":{},"index.html":{}}}],["changed",{"_index":958,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["changedetection",{"_index":310,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["changedetectionstrategy",{"_index":274,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["changedetectionstrategy.onpush",{"_index":311,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["changedetectorref",{"_index":2006,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["changelog",{"_index":2324,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changeopacity",{"_index":1595,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["changeopacity(newopacity",{"_index":1613,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["changes",{"_index":329,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/DecoratedTextComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"changelog.html":{}}}],["charge",{"_index":3037,"title":{},"body":{"license.html":{}}}],["check",{"_index":1172,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["choose",{"_index":2673,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":2654,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":3073,"title":{},"body":{"license.html":{}}}],["class",{"_index":78,"title":{"classes/CallToActionSelectors.html":{},"classes/CloseDialog.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{}},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["classes",{"_index":774,"title":{},"body":{"classes/CallToActionSelectors.html":{},"classes/CloseDialog.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"overview.html":{}}}],["clean",{"_index":2393,"title":{},"body":{"changelog.html":{}}}],["cleans",{"_index":2013,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["cleanup",{"_index":2441,"title":{},"body":{"changelog.html":{}}}],["clear",{"_index":592,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"injectables/LocalStorageService.html":{}}}],["clearinterval(this.timeouthandler",{"_index":1879,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["clears",{"_index":1445,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["clearsubscriptions",{"_index":2319,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["click",{"_index":584,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{},"changelog.html":{}}}],["clicked",{"_index":464,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{}}}],["clicking",{"_index":2542,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":110,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"index.html":{}}}],["clientheight",{"_index":1533,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["clientwidth",{"_index":1532,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["clientx",{"_index":1535,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["clienty",{"_index":1536,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["close",{"_index":471,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{}}}],["close(_ctx",{"_index":767,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["closeclicked",{"_index":565,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["closedialog",{"_index":498,"title":{"classes/CloseDialog.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"coverage.html":{}}}],["closes",{"_index":480,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["clsname",{"_index":315,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["cluster_analyticsmodule",{"_index":4,"title":{},"body":{"modules/AnalyticsModule.html":{},"overview.html":{}}}],["cluster_analyticsmodule_providers",{"_index":5,"title":{},"body":{"modules/AnalyticsModule.html":{},"overview.html":{}}}],["cluster_bodyuimodule",{"_index":355,"title":{},"body":{"modules/BodyUiModule.html":{},"overview.html":{}}}],["cluster_bodyuimodule_declarations",{"_index":356,"title":{},"body":{"modules/BodyUiModule.html":{},"overview.html":{}}}],["cluster_bodyuimodule_exports",{"_index":357,"title":{},"body":{"modules/BodyUiModule.html":{},"overview.html":{}}}],["cluster_calltoactionbehaviormodule",{"_index":542,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"overview.html":{}}}],["cluster_calltoactionbehaviormodule_declarations",{"_index":543,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"overview.html":{}}}],["cluster_calltoactionbehaviormodule_exports",{"_index":545,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"overview.html":{}}}],["cluster_calltoactionbehaviormodule_imports",{"_index":544,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"overview.html":{}}}],["cluster_calltoactionmodule",{"_index":769,"title":{},"body":{"modules/CallToActionModule.html":{},"overview.html":{}}}],["cluster_calltoactionmodule_declarations",{"_index":770,"title":{},"body":{"modules/CallToActionModule.html":{},"overview.html":{}}}],["cluster_calltoactionmodule_exports",{"_index":771,"title":{},"body":{"modules/CallToActionModule.html":{},"overview.html":{}}}],["cluster_decoratedtextmodule",{"_index":1040,"title":{},"body":{"modules/DecoratedTextModule.html":{},"overview.html":{}}}],["cluster_decoratedtextmodule_declarations",{"_index":1041,"title":{},"body":{"modules/DecoratedTextModule.html":{},"overview.html":{}}}],["cluster_decoratedtextmodule_exports",{"_index":1042,"title":{},"body":{"modules/DecoratedTextModule.html":{},"overview.html":{}}}],["cluster_infobuttonmodule",{"_index":1323,"title":{},"body":{"modules/InfoButtonModule.html":{},"overview.html":{}}}],["cluster_infobuttonmodule_declarations",{"_index":1325,"title":{},"body":{"modules/InfoButtonModule.html":{},"overview.html":{}}}],["cluster_infobuttonmodule_exports",{"_index":1324,"title":{},"body":{"modules/InfoButtonModule.html":{},"overview.html":{}}}],["cluster_infobuttonmodule_imports",{"_index":1326,"title":{},"body":{"modules/InfoButtonModule.html":{},"overview.html":{}}}],["cluster_infodialogmodule",{"_index":1413,"title":{},"body":{"modules/InfoDialogModule.html":{},"overview.html":{}}}],["cluster_infodialogmodule_declarations",{"_index":1415,"title":{},"body":{"modules/InfoDialogModule.html":{},"overview.html":{}}}],["cluster_infodialogmodule_exports",{"_index":1414,"title":{},"body":{"modules/InfoDialogModule.html":{},"overview.html":{}}}],["cluster_numbersonlymodule",{"_index":1581,"title":{},"body":{"modules/NumbersOnlyModule.html":{},"overview.html":{}}}],["cluster_numbersonlymodule_declarations",{"_index":1583,"title":{},"body":{"modules/NumbersOnlyModule.html":{},"overview.html":{}}}],["cluster_numbersonlymodule_exports",{"_index":1582,"title":{},"body":{"modules/NumbersOnlyModule.html":{},"overview.html":{}}}],["cluster_opacityslidermodule",{"_index":1642,"title":{},"body":{"modules/OpacitySliderModule.html":{},"overview.html":{}}}],["cluster_opacityslidermodule_declarations",{"_index":1643,"title":{},"body":{"modules/OpacitySliderModule.html":{},"overview.html":{}}}],["cluster_opacityslidermodule_exports",{"_index":1644,"title":{},"body":{"modules/OpacitySliderModule.html":{},"overview.html":{}}}],["cluster_organselectormodule",{"_index":1907,"title":{},"body":{"modules/OrganSelectorModule.html":{},"overview.html":{}}}],["cluster_organselectormodule_declarations",{"_index":1908,"title":{},"body":{"modules/OrganSelectorModule.html":{},"overview.html":{}}}],["cluster_organselectormodule_exports",{"_index":1909,"title":{},"body":{"modules/OrganSelectorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchlistmodule",{"_index":1986,"title":{},"body":{"modules/SpatialSearchListModule.html":{},"overview.html":{}}}],["cluster_spatialsearchlistmodule_declarations",{"_index":1988,"title":{},"body":{"modules/SpatialSearchListModule.html":{},"overview.html":{}}}],["cluster_spatialsearchlistmodule_exports",{"_index":1987,"title":{},"body":{"modules/SpatialSearchListModule.html":{},"overview.html":{}}}],["cluster_storedebugmodule",{"_index":2039,"title":{},"body":{"modules/StoreDebugModule.html":{},"overview.html":{}}}],["cluster_storedebugmodule_declarations",{"_index":2041,"title":{},"body":{"modules/StoreDebugModule.html":{},"overview.html":{}}}],["cluster_storedebugmodule_exports",{"_index":2040,"title":{},"body":{"modules/StoreDebugModule.html":{},"overview.html":{}}}],["cluster_textsearchmodule",{"_index":2072,"title":{},"body":{"modules/TextSearchModule.html":{},"overview.html":{}}}],["cluster_textsearchmodule_declarations",{"_index":2075,"title":{},"body":{"modules/TextSearchModule.html":{},"overview.html":{}}}],["cluster_textsearchmodule_exports",{"_index":2074,"title":{},"body":{"modules/TextSearchModule.html":{},"overview.html":{}}}],["cluster_textsearchmodule_imports",{"_index":2073,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["cluster_trackingpopupmodule",{"_index":2153,"title":{},"body":{"modules/TrackingPopupModule.html":{},"overview.html":{}}}],["cluster_trackingpopupmodule_declarations",{"_index":2154,"title":{},"body":{"modules/TrackingPopupModule.html":{},"overview.html":{}}}],["cluster_trackingpopupmodule_exports",{"_index":2155,"title":{},"body":{"modules/TrackingPopupModule.html":{},"overview.html":{}}}],["cluster_xyzpositionmodule",{"_index":2200,"title":{},"body":{"modules/XYZPositionModule.html":{},"overview.html":{}}}],["cluster_xyzpositionmodule_declarations",{"_index":2201,"title":{},"body":{"modules/XYZPositionModule.html":{},"overview.html":{}}}],["cluster_xyzpositionmodule_exports",{"_index":2202,"title":{},"body":{"modules/XYZPositionModule.html":{},"overview.html":{}}}],["code",{"_index":1477,"title":{},"body":{"injectables/LocalStorageService.html":{},"changelog.html":{}}}],["codebase",{"_index":2664,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":2705,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":2750,"title":{},"body":{"changelog.html":{}}}],["collaboration",{"_index":2662,"title":{},"body":{"changelog.html":{}}}],["collisions",{"_index":2678,"title":{},"body":{"changelog.html":{}}}],["color",{"_index":613,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["colorizing",{"_index":2713,"title":{},"body":{"changelog.html":{}}}],["column",{"_index":2197,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["combination",{"_index":2674,"title":{},"body":{"changelog.html":{}}}],["combinelatest",{"_index":111,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["combines",{"_index":1927,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["come",{"_index":2709,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":2702,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":412,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"dependencies.html":{}}}],["command",{"_index":67,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["common",{"_index":1238,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{},"index.html":{}}}],["commonmodule",{"_index":364,"title":{},"body":{"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{}}}],["compare",{"_index":1919,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["comparison",{"_index":1921,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["compiler",{"_index":1547,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["completely",{"_index":1174,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["complexity",{"_index":2571,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":2434,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":275,"title":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["component_template",{"_index":508,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["components",{"_index":449,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{},"overview.html":{}}}],["components/call",{"_index":668,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["components/info/info",{"_index":671,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["computed",{"_index":966,"title":{},"body":{"components/DecoratedTextComponent.html":{},"injectables/GlobalConfigState.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["computes",{"_index":1961,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["comunica/query",{"_index":2859,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":1025,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"dependencies.html":{}}}],["concat(op.added",{"_index":1026,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["conditions",{"_index":3057,"title":{},"body":{"license.html":{}}}],["config",{"_index":152,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"changelog.html":{}}}],["config.state",{"_index":124,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["config.state.ts",{"_index":1104,"title":{},"body":{"injectables/GlobalConfigState.html":{},"coverage.html":{}}}],["config.state.ts:19",{"_index":1135,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:22",{"_index":1137,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:26",{"_index":1134,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:30",{"_index":1131,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:34",{"_index":1128,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:42",{"_index":1115,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:43",{"_index":1117,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:44",{"_index":1119,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:45",{"_index":1121,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:46",{"_index":1123,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:62",{"_index":1125,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config/global",{"_index":123,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["configurable",{"_index":1215,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["configuration",{"_index":2502,"title":{},"body":{"changelog.html":{}}}],["configurations",{"_index":2507,"title":{},"body":{"changelog.html":{}}}],["confirmation",{"_index":2476,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":2516,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":2462,"title":{},"body":{"changelog.html":{}}}],["connectdatabase",{"_index":374,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["connectdatabase(manager",{"_index":381,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["connection",{"_index":3079,"title":{},"body":{"license.html":{}}}],["consent",{"_index":812,"title":{},"body":{"injectables/ConsentService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageSyncService.html":{},"components/TrackingPopupComponent.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["consent.service",{"_index":42,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageSyncService.html":{}}}],["consentchange",{"_index":813,"title":{},"body":{"injectables/ConsentService.html":{}}}],["consentservice",{"_index":6,"title":{"injectables/ConsentService.html":{}},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"injectables/ConsentService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageSyncService.html":{},"components/TrackingPopupComponent.html":{},"coverage.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["consentservice.consentchange.subscribe(consent",{"_index":1513,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["consentservice.setconsent(this.loadconsent",{"_index":1511,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["consortium",{"_index":3032,"title":{},"body":{"license.html":{}}}],["const",{"_index":54,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{}}}],["constrained",{"_index":2976,"title":{},"body":{"miscellaneous/functions.html":{}}}],["constructor",{"_index":179,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["constructor(api",{"_index":238,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["constructor(consentservice",{"_index":1267,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageSyncService.html":{}}}],["constructor(defaultmaxoptions",{"_index":2047,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["constructor(dialog",{"_index":799,"title":{},"body":{"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{}}}],["constructor(dialogref",{"_index":1351,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["constructor(el",{"_index":1564,"title":{},"body":{"directives/NumberDirective.html":{}}}],["constructor(elementref",{"_index":2100,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["constructor(globalconfig",{"_index":379,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["constructor(http",{"_index":1334,"title":{},"body":{"injectables/InfoButtonService.html":{}}}],["constructor(private",{"_index":1060,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"directives/NumberDirective.html":{},"interfaces/PanelData.html":{}}}],["constructor(store",{"_index":2004,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["container",{"_index":971,"title":{},"body":{"components/DecoratedTextComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["containers",{"_index":2501,"title":{},"body":{"changelog.html":{}}}],["containing",{"_index":2982,"title":{},"body":{"index.html":{}}}],["contains",{"_index":1656,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["containting",{"_index":728,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["content",{"_index":594,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"injectables/GlobalsService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/OpacitySliderComponent.html":{},"interfaces/PanelData.html":{},"components/SpatialSearchListComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["content.title",{"_index":1387,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["contents",{"_index":1368,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["continuously",{"_index":1863,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["contract",{"_index":3076,"title":{},"body":{"license.html":{}}}],["control",{"_index":2623,"title":{},"body":{"changelog.html":{}}}],["controller",{"_index":335,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["controls",{"_index":702,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["convert",{"_index":1072,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["coordinate",{"_index":2977,"title":{},"body":{"index.html":{}}}],["copies",{"_index":3052,"title":{},"body":{"license.html":{}}}],["copy",{"_index":3040,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":3031,"title":{},"body":{"license.html":{}}}],["cord",{"_index":1765,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["cors",{"_index":2896,"title":{},"body":{"dependencies.html":{}}}],["cover",{"_index":641,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["coverage",{"_index":2734,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["created",{"_index":1020,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["createdatabase",{"_index":377,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["createdatabase(config",{"_index":386,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["creates",{"_index":339,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"directives/NumberDirective.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{}}}],["createsegments",{"_index":917,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["createstackops",{"_index":918,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["createstackops(ranges",{"_index":935,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["createworker",{"_index":2179,"title":{},"body":{"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["createworker(config",{"_index":439,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["creation",{"_index":1294,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["credits",{"_index":3018,"title":{},"body":{"index.html":{}}}],["csp",{"_index":1250,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["css",{"_index":1670,"title":{},"body":{"interfaces/OrganInfo.html":{},"dependencies.html":{}}}],["cta",{"_index":633,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["ctadatepassed",{"_index":797,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["ctadatepassed(expirationdate",{"_index":712,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["ctx",{"_index":755,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["ctx.dispatch(new",{"_index":727,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["ctx.getstate",{"_index":721,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["ctx.patchstate",{"_index":763,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["cuboid",{"_index":2732,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":2731,"title":{},"body":{"changelog.html":{}}}],["current",{"_index":964,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{}}}],["currently",{"_index":1816,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["cursor",{"_index":611,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["custom",{"_index":1920,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["cyberinfrastructure",{"_index":3020,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":2581,"title":{},"body":{"changelog.html":{}}}],["d",{"_index":1185,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{}}}],["damages",{"_index":3074,"title":{},"body":{"license.html":{}}}],["dark/light",{"_index":2513,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":126,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/PanelData.html":{},"components/StoreDebugComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"changelog.html":{}}}],["data.content",{"_index":1315,"title":{},"body":{"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["data.content.length",{"_index":1307,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["data.infotitle",{"_index":1314,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["data.split",{"_index":1079,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["data.title",{"_index":1374,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["data.videoid",{"_index":1316,"title":{},"body":{"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["dataaction",{"_index":2162,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["database",{"_index":103,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"changelog.html":{}}}],["database.service.ts",{"_index":370,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["database.service.ts:20",{"_index":380,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{}}}],["database.service.ts:37",{"_index":387,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{}}}],["database.service.ts:39",{"_index":384,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{}}}],["database.service.ts:63",{"_index":2181,"title":{},"body":{"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["database[releaseproxy",{"_index":443,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["databasestatus",{"_index":104,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{}}}],["datareviver",{"_index":133,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/typealiases.html":{}}}],["datasets",{"_index":2591,"title":{},"body":{"changelog.html":{}}}],["datasource",{"_index":125,"title":{"interfaces/DataSource.html":{}},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"coverage.html":{}}}],["datasource[k",{"_index":851,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["datasourcedatatype",{"_index":852,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"miscellaneous/typealiases.html":{}}}],["datasourcelike",{"_index":416,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"miscellaneous/typealiases.html":{}}}],["datasourcelikemethod",{"_index":849,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"miscellaneous/typealiases.html":{}}}],["datasourcemethod",{"_index":850,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"miscellaneous/typealiases.html":{}}}],["datasourceservice",{"_index":871,"title":{"injectables/DataSourceService.html":{}},"body":{"injectables/DataSourceService.html":{},"coverage.html":{}}}],["date",{"_index":706,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["date(expirationdate",{"_index":716,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["date.now",{"_index":713,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["deal",{"_index":3042,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":3080,"title":{},"body":{"license.html":{}}}],["debug",{"_index":2001,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["debug'},{'name",{"_index":529,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["debug.component",{"_index":2043,"title":{},"body":{"modules/StoreDebugModule.html":{}}}],["debug.component.html",{"_index":2003,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["debug.component.scss",{"_index":2002,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["debug.component.ts",{"_index":1999,"title":{},"body":{"components/StoreDebugComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["debug.component.ts:21",{"_index":2011,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["debug.component.ts:26",{"_index":2017,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["debug.component.ts:34",{"_index":2014,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["debug.component.ts:37",{"_index":2007,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["debug.component.ts:58",{"_index":2012,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["debug.module.ts",{"_index":2042,"title":{},"body":{"modules/StoreDebugModule.html":{}}}],["debug/store",{"_index":1998,"title":{},"body":{"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["dec",{"_index":699,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["december",{"_index":2669,"title":{},"body":{"changelog.html":{}}}],["decides",{"_index":1844,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["deck.gl/core",{"_index":2861,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":2863,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":2866,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":2867,"title":{},"body":{"dependencies.html":{}}}],["deckgl",{"_index":2262,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["declarations",{"_index":362,"title":{},"body":{"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/NumbersOnlyModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{}}}],["declare",{"_index":1212,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["decorated",{"_index":290,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["decoratedrange",{"_index":289,"title":{"interfaces/DecoratedRange.html":{}},"body":{"interfaces/AutoCompleteOption.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["decoratedtextcomponent",{"_index":513,"title":{"components/DecoratedTextComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["decoratedtextmodule",{"_index":1039,"title":{"modules/DecoratedTextModule.html":{}},"body":{"modules/DecoratedTextModule.html":{},"modules/TextSearchModule.html":{},"modules.html":{},"overview.html":{}}}],["decoration",{"_index":949,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["decorations",{"_index":267,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{}}}],["decorations.length",{"_index":983,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["decorations.reduce",{"_index":1037,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["decorator",{"_index":285,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/TextSearchComponent.html":{},"dependencies.html":{}}}],["decorators",{"_index":245,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"components/InfoDialogComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"components/XYZPositionComponent.html":{}}}],["deep",{"_index":1389,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{}}}],["deeply",{"_index":2466,"title":{},"body":{"changelog.html":{}}}],["def",{"_index":1184,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["default",{"_index":292,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"components/DecoratedTextComponent.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"components/OpacitySliderComponent.html":{},"classes/OpenDialog.html":{},"interfaces/PluckUniqueOptions.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["default_max_options",{"_index":297,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_options",{"_index":1926,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defaultmaxoptions",{"_index":342,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["defaultparams",{"_index":136,"title":{"interfaces/DefaultParams.html":{}},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{}}}],["defaults",{"_index":693,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalConfigState.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"miscellaneous/functions.html":{}}}],["defaultservice",{"_index":105,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["defaultvalue",{"_index":1447,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["define",{"_index":1049,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["defined",{"_index":24,"title":{},"body":{"modules/AnalyticsModule.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"classes/OpenDialog.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["defining",{"_index":709,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["delegate.service.ts",{"_index":1425,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{},"coverage.html":{}}}],["delegate.service.ts:11",{"_index":1428,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["delegate.service.ts:28",{"_index":1431,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["delegatedatasource",{"_index":372,"title":{"classes/DelegateDataSource.html":{}},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["delegatedatasource:11",{"_index":1433,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["delegatedatasource:19",{"_index":406,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["delete",{"_index":1223,"title":{},"body":{"injectables/GlobalsService.html":{},"components/SpatialSearchListComponent.html":{}}}],["delete_outlined",{"_index":1980,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["demo",{"_index":2483,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":3,"title":{"dependencies.html":{}},"body":{"modules/AnalyticsModule.html":{},"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/NumbersOnlyModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{},"changelog.html":{},"dependencies.html":{},"overview.html":{}}}],["depending",{"_index":1247,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{}}}],["depends",{"_index":1230,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["deps",{"_index":77,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["descrepancies",{"_index":2376,"title":{},"body":{"changelog.html":{}}}],["description",{"_index":262,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DocumentationContent.html":{},"injectables/GlobalsService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/LocalStorageService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/XYZPositionComponent.html":{},"miscellaneous/functions.html":{}}}],["destroyed",{"_index":1303,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["detaches",{"_index":1842,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["details",{"_index":463,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"changelog.html":{}}}],["detection",{"_index":2010,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["detects",{"_index":587,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"interfaces/OrganInfo.html":{}}}],["determines",{"_index":704,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/OrganInfo.html":{}}}],["determining",{"_index":681,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/PluckUniqueOptions.html":{},"miscellaneous/variables.html":{}}}],["dev",{"_index":431,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["developed",{"_index":3019,"title":{},"body":{"index.html":{}}}],["developmentmode",{"_index":52,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["developments",{"_index":2755,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":481,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"interfaces/PanelData.html":{},"changelog.html":{}}}],["dialog's",{"_index":1355,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["dialog'},{'name",{"_index":518,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["dialog.component",{"_index":675,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{},"modules/InfoDialogModule.html":{}}}],["dialog.component.html",{"_index":1346,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["dialog.component.scss",{"_index":1345,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["dialog.component.ts",{"_index":1339,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"coverage.html":{}}}],["dialog.component.ts:26",{"_index":1367,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["dialog.component.ts:30",{"_index":1369,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["dialog.component.ts:34",{"_index":1354,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["dialog.component.ts:42",{"_index":1366,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["dialog.component.ts:43",{"_index":1365,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["dialog.component.ts:53",{"_index":1359,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["dialog.component.ts:62",{"_index":1358,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["dialog.module",{"_index":1331,"title":{},"body":{"modules/InfoButtonModule.html":{}}}],["dialog.module.ts",{"_index":1416,"title":{},"body":{"modules/InfoDialogModule.html":{}}}],["dialog/info",{"_index":674,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"coverage.html":{}}}],["dialogref",{"_index":1348,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["dialogs",{"_index":1312,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["dialogue",{"_index":1301,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["different",{"_index":2500,"title":{},"body":{"changelog.html":{}}}],["digits",{"_index":2648,"title":{},"body":{"changelog.html":{}}}],["dir",{"_index":1852,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["direct",{"_index":2773,"title":{},"body":{"changelog.html":{}}}],["direction",{"_index":1853,"title":{},"body":{"interfaces/OrganInfo.html":{},"components/XYZPositionComponent.html":{}}}],["directive",{"_index":506,"title":{"directives/NumberDirective.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["directives",{"_index":537,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["directly",{"_index":2703,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":1253,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/OrganInfo.html":{},"components/TrackingPopupComponent.html":{}}}],["disabled",{"_index":1273,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"miscellaneous/variables.html":{}}}],["disables",{"_index":1891,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["dismiss",{"_index":2096,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["dispatch",{"_index":478,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["display",{"_index":595,"title":{},"body":{"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["displayed",{"_index":273,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["displayerrors",{"_index":1814,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["displaying",{"_index":1340,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/StoreDebugComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["displays",{"_index":461,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["distance",{"_index":1825,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["distinct",{"_index":1922,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["distinctuntilchanged",{"_index":287,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"interfaces/PluckUniqueOptions.html":{},"components/TextSearchComponent.html":{},"miscellaneous/functions.html":{}}}],["distinctuntilchanged(opts.compare",{"_index":1942,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["distribute",{"_index":3048,"title":{},"body":{"license.html":{}}}],["div",{"_index":2263,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["doc",{"_index":689,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["docs",{"_index":2392,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":1525,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"dependencies.html":{}}}],["document).body",{"_index":1556,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["document.body.appendchild(tag",{"_index":1379,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["document.createelement('script",{"_index":1376,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["document.getelementsbyclassname('modal",{"_index":1380,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["documentation",{"_index":1051,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/PanelData.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["documentationcontent",{"_index":669,"title":{"interfaces/DocumentationContent.html":{}},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/PanelData.html":{},"coverage.html":{}}}],["documentationcontents",{"_index":1349,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["documentationurl",{"_index":1291,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["dom",{"_index":452,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["domexception",{"_index":1469,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["don't",{"_index":990,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["done",{"_index":1002,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["donor",{"_index":2537,"title":{},"body":{"changelog.html":{}}}],["donors",{"_index":2594,"title":{},"body":{"changelog.html":{}}}],["dorequest",{"_index":215,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["dorequest(method",{"_index":240,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["dotenv",{"_index":2901,"title":{},"body":{"dependencies.html":{}}}],["download",{"_index":2764,"title":{},"body":{"changelog.html":{}}}],["during",{"_index":1178,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{}}}],["dynamic",{"_index":2857,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":2371,"title":{},"body":{"changelog.html":{}}}],["each",{"_index":1050,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"miscellaneous/functions.html":{}}}],["eagerly_loaded_services",{"_index":55,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["easier",{"_index":2418,"title":{},"body":{"changelog.html":{}}}],["east",{"_index":3002,"title":{},"body":{"index.html":{}}}],["effect",{"_index":973,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["efficiency",{"_index":2615,"title":{},"body":{"changelog.html":{}}}],["el",{"_index":1534,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"miscellaneous/functions.html":{}}}],["element",{"_index":505,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/functions.html":{}}}],["elementref",{"_index":1565,"title":{},"body":{"directives/NumberDirective.html":{},"interfaces/OrganInfo.html":{},"components/TrackingPopupComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["elementref.nativeelement",{"_index":2119,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["embedded",{"_index":2505,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":2497,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":2495,"title":{},"body":{"changelog.html":{}}}],["emitevent",{"_index":320,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["emits",{"_index":328,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{}}}],["emitted",{"_index":2970,"title":{},"body":{"miscellaneous/functions.html":{}}}],["emitter",{"_index":1609,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["emmitter",{"_index":577,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["empty",{"_index":979,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["end",{"_index":888,"title":{},"body":{"interfaces/DecoratedRange.html":{},"interfaces/OrganInfo.html":{},"miscellaneous/functions.html":{}}}],["endpoint",{"_index":226,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["endpoint.service.ts",{"_index":90,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["endpoint.service.ts:104",{"_index":249,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:109",{"_index":253,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:114",{"_index":250,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:119",{"_index":252,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:127",{"_index":248,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:135",{"_index":254,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:143",{"_index":257,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:151",{"_index":246,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:159",{"_index":251,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:167",{"_index":247,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:175",{"_index":256,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:183",{"_index":255,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:190",{"_index":241,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:195",{"_index":243,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:201",{"_index":244,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:96",{"_index":239,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["ensures",{"_index":2174,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["entry",{"_index":2109,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["entry[1",{"_index":1016,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["environment",{"_index":1231,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["error",{"_index":1467,"title":{},"body":{"injectables/LocalStorageService.html":{},"interfaces/OrganInfo.html":{}}}],["error.code",{"_index":1473,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["error.name",{"_index":1479,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["errors",{"_index":1262,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["es",{"_index":2892,"title":{},"body":{"dependencies.html":{}}}],["eslint",{"_index":1252,"title":{},"body":{"injectables/GlobalsService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/OrganInfo.html":{},"components/TrackingPopupComponent.html":{}}}],["eslint/explicit",{"_index":1551,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"components/TrackingPopupComponent.html":{}}}],["eslint/no",{"_index":1256,"title":{},"body":{"injectables/GlobalsService.html":{},"modules/MousePositionTrackerModule.html":{},"components/TrackingPopupComponent.html":{}}}],["especially",{"_index":1176,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["etc",{"_index":2520,"title":{},"body":{"changelog.html":{}}}],["eui",{"_index":571,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":2430,"title":{},"body":{"changelog.html":{}}}],["eval",{"_index":1258,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["even",{"_index":1196,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["event",{"_index":745,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"license.html":{}}}],["event.stoppropagation",{"_index":1579,"title":{},"body":{"directives/NumberDirective.html":{}}}],["eventemitter",{"_index":276,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["events",{"_index":1539,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"components/OpacitySliderComponent.html":{}}}],["events.subscribe(data",{"_index":1544,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["eventually",{"_index":1672,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["everything",{"_index":1470,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["evt",{"_index":2295,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["evt.preventdefault",{"_index":2296,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["except",{"_index":1471,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["exclusive",{"_index":891,"title":{},"body":{"interfaces/DecoratedRange.html":{}}}],["exists",{"_index":1199,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["expanded",{"_index":1818,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["expiered",{"_index":711,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["expiration",{"_index":705,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["expirationdate",{"_index":659,"title":{},"body":{"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{}}}],["expirationdate(state",{"_index":779,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["expire",{"_index":715,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["explicit",{"_index":1550,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"components/TrackingPopupComponent.html":{}}}],["exploration",{"_index":695,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"index.html":{}}}],["export",{"_index":46,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{}}}],["exported",{"_index":127,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["exports",{"_index":363,"title":{},"body":{"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/NumbersOnlyModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{}}}],["express",{"_index":2903,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["ext/operators",{"_index":1147,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["ext/operators/src/lib/filter",{"_index":2796,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["ext/operators/src/lib/flatten.ts",{"_index":2799,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["ext/operators/src/lib/inner",{"_index":2801,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["ext/operators/src/lib/pluck",{"_index":1915,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["ext/src/public",{"_index":2805,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["extends",{"_index":371,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["external",{"_index":2510,"title":{},"body":{"changelog.html":{}}}],["extra",{"_index":2908,"title":{},"body":{"dependencies.html":{}}}],["extraction",{"_index":2481,"title":{},"body":{"changelog.html":{}}}],["eye",{"_index":1687,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["f",{"_index":1747,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["factory",{"_index":298,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"injectables/LocalStorageSyncService.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["fade",{"_index":1383,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["fail",{"_index":1246,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{}}}],["fails",{"_index":1449,"title":{},"body":{"injectables/LocalStorageService.html":{},"modules/MousePositionTrackerModule.html":{},"changelog.html":{}}}],["fallopian",{"_index":1694,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["fallthrough",{"_index":1520,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["false",{"_index":321,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalsService.html":{},"components/InfoButtonComponent.html":{},"injectables/LocalStorageService.html":{},"interfaces/OrganInfo.html":{},"components/TextSearchComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"miscellaneous/variables.html":{}}}],["favor",{"_index":2658,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":2368,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":2582,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":2614,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":147,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["fetch",{"_index":1666,"title":{},"body":{"interfaces/OrganInfo.html":{},"dependencies.html":{}}}],["fetches",{"_index":345,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["field",{"_index":1476,"title":{},"body":{"injectables/LocalStorageService.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"changelog.html":{}}}],["fields",{"_index":980,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["file",{"_index":15,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{}}}],["files",{"_index":3041,"title":{},"body":{"license.html":{}}}],["filled",{"_index":946,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["filler",{"_index":1982,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["filter",{"_index":97,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["filter(config",{"_index":421,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["filter(item",{"_index":1017,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["filter(range",{"_index":1034,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["filternulls",{"_index":1145,"title":{},"body":{"injectables/GlobalConfigState.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["filterparams",{"_index":138,"title":{"interfaces/FilterParams.html":{}},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["filters",{"_index":943,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["filtertoparams",{"_index":2836,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["filtertoparams(filter",{"_index":219,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/functions.html":{}}}],["final",{"_index":2660,"title":{},"body":{"changelog.html":{}}}],["find",{"_index":347,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["findglobalobject",{"_index":1165,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["finishing",{"_index":2479,"title":{},"body":{"changelog.html":{}}}],["firefox",{"_index":1472,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["first",{"_index":620,"title":{},"body":{"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["fit",{"_index":640,"title":{},"body":{"components/CallToActionComponent.html":{},"changelog.html":{}}}],["fitness",{"_index":3066,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":2573,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":2395,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":2714,"title":{},"body":{"changelog.html":{}}}],["flatten",{"_index":2800,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["flattens",{"_index":2965,"title":{},"body":{"miscellaneous/functions.html":{}}}],["flex",{"_index":622,"title":{},"body":{"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["flexible",{"_index":2387,"title":{},"body":{"changelog.html":{}}}],["float",{"_index":1410,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["fly",{"_index":2781,"title":{},"body":{"changelog.html":{}}}],["following",{"_index":3056,"title":{},"body":{"license.html":{}}}],["font",{"_index":615,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/XYZPositionComponent.html":{}}}],["form",{"_index":334,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"changelog.html":{}}}],["format",{"_index":2188,"title":{},"body":{"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["formatdata",{"_index":1530,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["formcontrol",{"_index":282,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["formsmodule",{"_index":2079,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["forroot",{"_index":21,"title":{},"body":{"modules/AnalyticsModule.html":{}}}],["forroot(options",{"_index":22,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["forwardcall",{"_index":378,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardcall(method",{"_index":388,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource",{"_index":392,"title":{"classes/ForwardingDataSource.html":{}},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["forwardingdatasource:36",{"_index":397,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:40",{"_index":401,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:44",{"_index":398,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:48",{"_index":400,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:52",{"_index":396,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:56",{"_index":402,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:60",{"_index":405,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:64",{"_index":394,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:68",{"_index":399,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:72",{"_index":395,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:76",{"_index":404,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:80",{"_index":403,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:93",{"_index":393,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["found",{"_index":348,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"injectables/GlobalsService.html":{},"components/TextSearchComponent.html":{}}}],["frame",{"_index":2595,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":2978,"title":{},"body":{"index.html":{}}}],["free",{"_index":3036,"title":{},"body":{"license.html":{}}}],["fromevent",{"_index":1526,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["fromevent(el",{"_index":1540,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["fs",{"_index":2907,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":1029,"title":{},"body":{"components/DecoratedTextComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/LocalStorageService.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["fullscreen",{"_index":2739,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":2583,"title":{},"body":{"changelog.html":{}}}],["func",{"_index":1254,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["function",{"_index":56,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DecoratedRange.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/InfoButtonService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"components/TextSearchComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["function('return",{"_index":1259,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["functionality",{"_index":304,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"injectables/GlobalsService.html":{},"components/TextSearchComponent.html":{}}}],["functionaliy",{"_index":1928,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["functions",{"_index":2953,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["funded",{"_index":3025,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":3055,"title":{},"body":{"license.html":{}}}],["further",{"_index":2735,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":2574,"title":{},"body":{"changelog.html":{}}}],["ga",{"_index":717,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"modules/MousePositionTrackerModule.html":{},"miscellaneous/functions.html":{}}}],["ga.event('webpage",{"_index":1545,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["gatoken",{"_index":48,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["generate",{"_index":2414,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":2435,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":2372,"title":{},"body":{"changelog.html":{}}}],["get(key",{"_index":1181,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["getaggregateresults",{"_index":232,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getaggregateresults(filter",{"_index":203,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getallowtelemetry",{"_index":2112,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["getcelltypetermoccurences",{"_index":233,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getcelltypetermoccurences(filter",{"_index":207,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getcelltypetreemodel",{"_index":196,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getconfig",{"_index":1136,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["getdata",{"_index":2016,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["getdatabasestatus",{"_index":185,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getdatasettechnologynames",{"_index":191,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getdialogdata",{"_index":729,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["getitem",{"_index":1441,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["getitem(key",{"_index":1446,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["getlength",{"_index":1484,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["getnormalizeddecorations",{"_index":919,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["getobj",{"_index":1207,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["getontologytermoccurences",{"_index":234,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getontologytermoccurences(filter",{"_index":205,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getontologytreemodel",{"_index":193,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getop",{"_index":1005,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["getop(range.end).removed.push(range",{"_index":1008,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["getop(range.start).added.push(range",{"_index":1007,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["getoption",{"_index":1107,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["getoption(...path",{"_index":1120,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["getoption(k1",{"_index":1113,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["getoptions",{"_index":2044,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["getoptions(search",{"_index":350,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["getpathkey",{"_index":1108,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["getpathkey(path",{"_index":1124,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["getproperty",{"_index":1109,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["getproperty(path",{"_index":1126,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["getprovidernames",{"_index":189,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getreferenceorgans",{"_index":198,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getreferenceorganscene",{"_index":235,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getreferenceorganscene(organiri",{"_index":212,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["gets",{"_index":1183,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{}}}],["getscene",{"_index":236,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getscene(filter",{"_index":209,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["gettelemetrystoragesetting",{"_index":2167,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["getting",{"_index":2322,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["gettissueblockresults",{"_index":237,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["gettissueblockresults(filter",{"_index":201,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getvalue",{"_index":2064,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["github",{"_index":2650,"title":{},"body":{"changelog.html":{}}}],["given",{"_index":826,"title":{},"body":{"injectables/ConsentService.html":{},"injectables/LocalStorageSyncService.html":{},"components/TrackingPopupComponent.html":{},"miscellaneous/typealiases.html":{}}}],["gizmo",{"_index":2524,"title":{},"body":{"changelog.html":{}}}],["gland",{"_index":1720,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["global",{"_index":1164,"title":{},"body":{"injectables/GlobalsService.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["globalconfig",{"_index":183,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"changelog.html":{}}}],["globalconfig.config$.pipe",{"_index":420,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["globalconfig.getoption('hubmaptoken",{"_index":221,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["globalconfig.getoption('hubmaptoken').subscribe(buster",{"_index":184,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["globalconfig.getoption('remoteapiendpoint",{"_index":220,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["globalconfigstate",{"_index":122,"title":{"injectables/GlobalConfigState.html":{}},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["globalkey",{"_index":1188,"title":{},"body":{"injectables/GlobalsService.html":{},"miscellaneous/typealiases.html":{}}}],["globalsservice",{"_index":1161,"title":{"injectables/GlobalsService.html":{}},"body":{"injectables/GlobalsService.html":{},"coverage.html":{}}}],["globalthis",{"_index":1180,"title":{},"body":{"injectables/GlobalsService.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["globalthis[k",{"_index":1218,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["good",{"_index":2688,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":40,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"changelog.html":{},"dependencies.html":{}}}],["googleanalyticsservice",{"_index":667,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"modules/MousePositionTrackerModule.html":{}}}],["googleanalyticssyncservice",{"_index":8,"title":{"injectables/GoogleAnalyticsSyncService.html":{}},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"coverage.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["granted",{"_index":3035,"title":{},"body":{"license.html":{}}}],["graph",{"_index":3082,"title":{},"body":{"modules.html":{}}}],["graphical",{"_index":2404,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":2910,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":2491,"title":{},"body":{"changelog.html":{}}}],["grow",{"_index":1983,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["gtex",{"_index":2415,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":2682,"title":{},"body":{"changelog.html":{}}}],["h1",{"_index":1063,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["hack",{"_index":1872,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["hand",{"_index":2685,"title":{},"body":{"changelog.html":{}}}],["handle",{"_index":583,"title":{},"body":{"components/CallToActionComponent.html":{},"injectables/LocalStorageService.html":{}}}],["handles",{"_index":744,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/OrganInfo.html":{},"interfaces/XYZTriplet.html":{}}}],["happen",{"_index":2720,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":2667,"title":{},"body":{"changelog.html":{}}}],["happy",{"_index":1874,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["hard",{"_index":1228,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["has(key",{"_index":1192,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["hassex",{"_index":1658,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["header",{"_index":1392,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["headerandcontent",{"_index":1085,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["headerandcontent.splice(1).join(newline",{"_index":1089,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["headerandcontent[0",{"_index":1088,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["heart",{"_index":1699,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["height",{"_index":626,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["helmet",{"_index":2914,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":1662,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["here",{"_index":2683,"title":{},"body":{"changelog.html":{}}}],["hereby",{"_index":3034,"title":{},"body":{"license.html":{}}}],["hex",{"_index":2916,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":1640,"title":{},"body":{"components/OpacitySliderComponent.html":{},"changelog.html":{}}}],["hide",{"_index":1846,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["hiding",{"_index":1341,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["high",{"_index":167,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/functions.html":{}}}],["highlight",{"_index":2470,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":2379,"title":{},"body":{"changelog.html":{}}}],["highlights",{"_index":2471,"title":{},"body":{"changelog.html":{}}}],["hold",{"_index":656,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["holders",{"_index":3071,"title":{},"body":{"license.html":{}}}],["hooked",{"_index":2621,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":593,"title":{},"body":{"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["hostbinding",{"_index":277,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["hostbinding('class",{"_index":314,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["hostbindings",{"_index":566,"title":{},"body":{"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["hostlistener",{"_index":1574,"title":{},"body":{"directives/NumberDirective.html":{}}}],["hostlistener('input",{"_index":1573,"title":{},"body":{"directives/NumberDirective.html":{}}}],["hostlisteners",{"_index":1563,"title":{},"body":{"directives/NumberDirective.html":{}}}],["hovering",{"_index":2539,"title":{},"body":{"changelog.html":{}}}],["hra",{"_index":2327,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["html",{"_index":313,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["htmlelement",{"_index":1529,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"components/TrackingPopupComponent.html":{}}}],["http",{"_index":719,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000029",{"_index":1684,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000056",{"_index":1779,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000059",{"_index":1763,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000079",{"_index":1756,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000948",{"_index":1700,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000955",{"_index":1680,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000970",{"_index":1689,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000992",{"_index":1727,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000995",{"_index":1788,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001004",{"_index":1718,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001222",{"_index":1781,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001223",{"_index":1780,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001255",{"_index":1785,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001264",{"_index":1745,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001270",{"_index":1749,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001302",{"_index":1697,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001303",{"_index":1696,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001465",{"_index":1708,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001737",{"_index":1732,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001911",{"_index":1722,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001987",{"_index":1752,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002048",{"_index":1717,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002049",{"_index":1794,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002097",{"_index":1677,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002106",{"_index":1770,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002107",{"_index":1713,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002108",{"_index":1760,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002113",{"_index":1703,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002182",{"_index":1736,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002240",{"_index":1767,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002367",{"_index":1755,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002370",{"_index":1773,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002373",{"_index":1740,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002509",{"_index":1685,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0003126",{"_index":1776,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0003889",{"_index":1695,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0004537",{"_index":1793,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0004538",{"_index":1704,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0004539",{"_index":1705,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0004548",{"_index":1690,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0004549",{"_index":1691,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma24977",{"_index":1710,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma24978",{"_index":1709,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma54973",{"_index":1742,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma54974",{"_index":1741,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma57987",{"_index":1724,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma57991",{"_index":1723,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma7213",{"_index":1729,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma7214",{"_index":1728,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["httpclient",{"_index":661,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["httpclientmodule",{"_index":1330,"title":{},"body":{"modules/InfoButtonModule.html":{}}}],["https://beta",{"_index":2987,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":2999,"title":{},"body":{"index.html":{}}}],["https://developer.mozilla.org/en",{"_index":1460,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["https://hubmap",{"_index":2992,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":2991,"title":{},"body":{"index.html":{}}}],["https://humanatlas.io",{"_index":3017,"title":{},"body":{"index.html":{}}}],["https://observablehq.com/@cns",{"_index":3014,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":2994,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":2989,"title":{},"body":{"index.html":{}}}],["https://r5i95k35v5.us",{"_index":3001,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":2775,"title":{},"body":{"changelog.html":{}}}],["https://www.youtube.com/iframe_api",{"_index":1378,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["hubmap",{"_index":2360,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["hubmaptoken",{"_index":91,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["human",{"_index":2325,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["i1[0",{"_index":1012,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["i2",{"_index":1011,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["i2[0",{"_index":1013,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["icon",{"_index":460,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["icons",{"_index":1638,"title":{},"body":{"components/OpacitySliderComponent.html":{},"changelog.html":{}}}],["id",{"_index":268,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["idb",{"_index":2919,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":2061,"title":{},"body":{"components/TextSearchComponent.html":{},"coverage.html":{}}}],["iec",{"_index":2663,"title":{},"body":{"changelog.html":{}}}],["iframe",{"_index":1412,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["ignore",{"_index":1225,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["ignored",{"_index":1510,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["igoogleanalyticscommand",{"_index":37,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"miscellaneous/functions.html":{}}}],["igoogleanalyticssettings",{"_index":1268,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["image",{"_index":575,"title":{},"body":{"components/CallToActionComponent.html":{},"changelog.html":{}}}],["images",{"_index":2701,"title":{},"body":{"changelog.html":{}}}],["imageurl",{"_index":472,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{}}}],["imageurl(state",{"_index":781,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["img",{"_index":1409,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["immutable",{"_index":1138,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["immutablepatchvalue",{"_index":1130,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["immutablestatevalue",{"_index":1133,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["impl",{"_index":373,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["impl[method",{"_index":869,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["implementation",{"_index":2460,"title":{},"body":{"changelog.html":{}}}],["implemented",{"_index":2619,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":2742,"title":{},"body":{"changelog.html":{}}}],["implements",{"_index":178,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/LocalStorageSyncService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["implied",{"_index":1257,"title":{},"body":{"injectables/GlobalsService.html":{},"license.html":{}}}],["import",{"_index":33,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{}}}],["important",{"_index":1639,"title":{},"body":{"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{}}}],["imports",{"_index":71,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{}}}],["improve",{"_index":2128,"title":{},"body":{"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["improved",{"_index":2427,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":2400,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":2492,"title":{},"body":{"changelog.html":{}}}],["in\\'}}opt",{"_index":2151,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["include",{"_index":1570,"title":{},"body":{"directives/NumberDirective.html":{},"changelog.html":{}}}],["included",{"_index":3059,"title":{},"body":{"license.html":{}}}],["includes",{"_index":2369,"title":{},"body":{"changelog.html":{}}}],["including",{"_index":2468,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["inclusive",{"_index":895,"title":{},"body":{"interfaces/DecoratedRange.html":{}}}],["increase",{"_index":2643,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":2737,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":85,"title":{"index.html":{}},"body":{"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indexes",{"_index":2334,"title":{},"body":{"changelog.html":{}}}],["indexing",{"_index":898,"title":{},"body":{"interfaces/DecoratedRange.html":{},"miscellaneous/functions.html":{}}}],["indiana",{"_index":3023,"title":{},"body":{"index.html":{}}}],["indicating",{"_index":902,"title":{},"body":{"interfaces/DecoratedRange.html":{},"miscellaneous/functions.html":{}}}],["indices",{"_index":2974,"title":{},"body":{"miscellaneous/functions.html":{}}}],["indicies",{"_index":893,"title":{},"body":{"interfaces/DecoratedRange.html":{}}}],["individual",{"_index":2625,"title":{},"body":{"changelog.html":{}}}],["infix",{"_index":2069,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["info",{"_index":13,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["infobuttoncomponent",{"_index":515,"title":{"components/InfoButtonComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["infobuttonmodule",{"_index":1322,"title":{"modules/InfoButtonModule.html":{}},"body":{"modules/InfoButtonModule.html":{},"modules.html":{},"overview.html":{}}}],["infobuttonservice",{"_index":670,"title":{"injectables/InfoButtonService.html":{}},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"coverage.html":{}}}],["infodialogcomponent",{"_index":517,"title":{"components/InfoDialogComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["infodialogdata",{"_index":1353,"title":{"interfaces/InfoDialogData.html":{}},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"coverage.html":{}}}],["infodialogmodule",{"_index":1327,"title":{"modules/InfoDialogModule.html":{}},"body":{"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules.html":{},"overview.html":{}}}],["information",{"_index":459,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"changelog.html":{},"index.html":{}}}],["infoservice",{"_index":718,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["infotitle",{"_index":562,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/PanelData.html":{}}}],["infrastructure",{"_index":2704,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":2672,"title":{},"body":{"changelog.html":{}}}],["inherited",{"_index":391,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["init",{"_index":1363,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["initalvalue",{"_index":1575,"title":{},"body":{"directives/NumberDirective.html":{}}}],["initalvalue.replace(/[^0",{"_index":1577,"title":{},"body":{"directives/NumberDirective.html":{}}}],["initcommands",{"_index":2792,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["initcommands(options",{"_index":66,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"miscellaneous/functions.html":{}}}],["initial",{"_index":2555,"title":{},"body":{"changelog.html":{}}}],["initial_telemetry_setting",{"_index":2166,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["initialization",{"_index":2270,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["initialized",{"_index":2246,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["inject",{"_index":278,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["inject(default_max_options",{"_index":343,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["inject(document",{"_index":1554,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["inject(local_storage_consent_key",{"_index":1508,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["inject(mat_dialog_data",{"_index":1364,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["inject(mat_snack_bar_data",{"_index":2110,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["inject(ngx_google_analytics_settings_token",{"_index":1279,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["inject(ngx_window",{"_index":1278,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["injectable",{"_index":93,"title":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"injectables/DataSourceService.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/InfoButtonService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"injectables/TrackingState.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/InfoButtonService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"interfaces/PanelData.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["injectables",{"_index":231,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"injectables/DataSourceService.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/InfoButtonService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"injectables/TrackingState.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"overview.html":{}}}],["injected",{"_index":1357,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["injectiontoken",{"_index":279,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"injectables/LocalStorageSyncService.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["injectiontoken('key",{"_index":1504,"title":{},"body":{"injectables/LocalStorageSyncService.html":{},"miscellaneous/variables.html":{}}}],["injector",{"_index":1427,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["injector.get(token",{"_index":1437,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["injectordelegatedatasourceservice",{"_index":1423,"title":{"injectables/InjectorDelegateDataSourceService.html":{}},"body":{"injectables/InjectorDelegateDataSourceService.html":{},"coverage.html":{}}}],["innermap",{"_index":2803,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["innermap(project",{"_index":2968,"title":{},"body":{"miscellaneous/functions.html":{}}}],["input",{"_index":280,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{}}}],["input[ccfnumbersonly",{"_index":539,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["inputs",{"_index":561,"title":{},"body":{"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{},"components/XYZPositionComponent.html":{}}}],["inside",{"_index":1054,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["instance",{"_index":340,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/DecoratedTextComponent.html":{},"injectables/GlobalsService.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"directives/NumberDirective.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["instanceof",{"_index":1468,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["instead",{"_index":2549,"title":{},"body":{"changelog.html":{}}}],["instructions",{"_index":2496,"title":{},"body":{"changelog.html":{}}}],["integer",{"_index":1561,"title":{},"body":{"directives/NumberDirective.html":{}}}],["integrated",{"_index":2584,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":2465,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":2671,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":2601,"title":{},"body":{"changelog.html":{}}}],["interact",{"_index":2568,"title":{},"body":{"changelog.html":{}}}],["interacting",{"_index":1163,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["interactions",{"_index":2723,"title":{},"body":{"changelog.html":{}}}],["interactive",{"_index":2247,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["interactive(value",{"_index":2249,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["interest",{"_index":1889,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["interface",{"_index":47,"title":{"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"interfaces/DataSource.html":{},"interfaces/DecoratedRange.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"interfaces/InfoDialogData.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"interfaces/TrackingStateModel.html":{},"interfaces/XYZTriplet.html":{}},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DataSource.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":84,"title":{},"body":{"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"interfaces/DataSource.html":{},"interfaces/DecoratedRange.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"interfaces/InfoDialogData.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"interfaces/TrackingStateModel.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":2657,"title":{},"body":{"changelog.html":{}}}],["intestine",{"_index":1758,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["invoked",{"_index":2972,"title":{},"body":{"miscellaneous/functions.html":{}}}],["iobservablecacheconfig",{"_index":128,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["isdevmode",{"_index":407,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["isselected(organ",{"_index":1890,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["issue",{"_index":2639,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":2374,"title":{},"body":{"changelog.html":{}}}],["istanbul",{"_index":1224,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["it's",{"_index":2463,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":1605,"title":{},"body":{"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"changelog.html":{}}}],["item.description",{"_index":1970,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["item.selected",{"_index":1976,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["itemcontainer",{"_index":1811,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["itemcontainer.nativeelement.style.width",{"_index":1900,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["itemid",{"_index":1949,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["itemid(_index",{"_index":1959,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["itemlist",{"_index":1809,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["itemlist.nativeelement.offsetwidth",{"_index":1894,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["itemlist.nativeelement.style.left",{"_index":1861,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["itemremoved",{"_index":1951,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["items",{"_index":1633,"title":{},"body":{"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["iu",{"_index":2753,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":3015,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":2342,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["json",{"_index":2037,"title":{},"body":{"components/StoreDebugComponent.html":{},"changelog.html":{}}}],["jsonld",{"_index":2922,"title":{},"body":{"dependencies.html":{}}}],["july",{"_index":2722,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":2761,"title":{},"body":{"changelog.html":{}}}],["justify",{"_index":1393,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["k",{"_index":389,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalsService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["k1",{"_index":1114,"title":{},"body":{"injectables/GlobalConfigState.html":{},"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["k2",{"_index":1116,"title":{},"body":{"injectables/GlobalConfigState.html":{},"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["k3",{"_index":1118,"title":{},"body":{"injectables/GlobalConfigState.html":{},"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["k4",{"_index":1934,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["k5",{"_index":1935,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["k6",{"_index":1936,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["key",{"_index":61,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"components/StoreDebugComponent.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["key(index",{"_index":1450,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["keyboard",{"_index":2759,"title":{},"body":{"changelog.html":{}}}],["keyof",{"_index":848,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["keys",{"_index":1209,"title":{},"body":{"injectables/GlobalsService.html":{},"interfaces/PluckUniqueOptions.html":{},"miscellaneous/typealiases.html":{}}}],["keys.slice(0",{"_index":1939,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["keyval",{"_index":2920,"title":{},"body":{"dependencies.html":{}}}],["kidney",{"_index":1702,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["kind",{"_index":3063,"title":{},"body":{"license.html":{}}}],["knee",{"_index":1707,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["known",{"_index":2373,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":2359,"title":{},"body":{"changelog.html":{}}}],["kv[0",{"_index":2035,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["kv[1",{"_index":2036,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["kvlist",{"_index":2019,"title":{},"body":{"components/StoreDebugComponent.html":{},"miscellaneous/typealiases.html":{}}}],["kvpair",{"_index":2021,"title":{},"body":{"components/StoreDebugComponent.html":{},"miscellaneous/typealiases.html":{}}}],["l",{"_index":1688,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["label",{"_index":269,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{}}}],["labs/data",{"_index":2877,"title":{},"body":{"dependencies.html":{}}}],["labs/data/decorators",{"_index":1142,"title":{},"body":{"injectables/GlobalConfigState.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["labs/data/repositories",{"_index":1143,"title":{},"body":{"injectables/GlobalConfigState.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["labs/data/typings",{"_index":1144,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["labs/dispatch",{"_index":494,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"dependencies.html":{}}}],["landmarks",{"_index":2385,"title":{},"body":{"changelog.html":{}}}],["large",{"_index":1762,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["larger",{"_index":2419,"title":{},"body":{"changelog.html":{}}}],["larynx",{"_index":1731,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["last",{"_index":1000,"title":{},"body":{"components/DecoratedTextComponent.html":{},"injectables/GlobalsService.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["lastindex",{"_index":987,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["later",{"_index":927,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["latest",{"_index":326,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"changelog.html":{},"index.html":{}}}],["launchinfodialog",{"_index":1290,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["launchinfodialog(data",{"_index":1299,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["launchlearnmore",{"_index":798,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["launchlearnmore(content",{"_index":735,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["layers",{"_index":2864,"title":{},"body":{"dependencies.html":{}}}],["ld",{"_index":2680,"title":{},"body":{"changelog.html":{}}}],["leak",{"_index":2638,"title":{},"body":{"changelog.html":{}}}],["learn",{"_index":486,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{}}}],["learnmore",{"_index":473,"title":{"classes/LearnMore.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"coverage.html":{}}}],["learnmore(_ctx",{"_index":748,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["leave",{"_index":2478,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":600,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/TextSearchComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["left/right",{"_index":2489,"title":{},"body":{"changelog.html":{}}}],["legend",{"_index":504,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["length",{"_index":900,"title":{},"body":{"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"injectables/LocalStorageService.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"miscellaneous/functions.html":{}}}],["level",{"_index":2757,"title":{},"body":{"changelog.html":{},"miscellaneous/functions.html":{}}}],["levels",{"_index":2770,"title":{},"body":{"changelog.html":{}}}],["lhs",{"_index":1924,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["liability",{"_index":3075,"title":{},"body":{"license.html":{}}}],["liable",{"_index":3072,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":2421,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":2609,"title":{},"body":{"changelog.html":{}}}],["license",{"_index":3029,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":2473,"title":{},"body":{"changelog.html":{}}}],["limitation",{"_index":3044,"title":{},"body":{"license.html":{}}}],["limited",{"_index":2708,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":625,"title":{},"body":{"components/CallToActionComponent.html":{},"injectables/GlobalsService.html":{},"components/InfoDialogComponent.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["link",{"_index":2484,"title":{},"body":{"changelog.html":{}}}],["linkage",{"_index":2724,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":2389,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":2447,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":1486,"title":{},"body":{"injectables/LocalStorageService.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/StoreDebugComponent.html":{},"changelog.html":{}}}],["list'},{'name",{"_index":526,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["list.component",{"_index":1996,"title":{},"body":{"modules/SpatialSearchListModule.html":{}}}],["list.component.html",{"_index":1948,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["list.component.scss",{"_index":1947,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["list.component.ts",{"_index":1945,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"coverage.html":{}}}],["list.component.ts:27",{"_index":1958,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["list.component.ts:30",{"_index":1954,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["list.component.ts:33",{"_index":1953,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["list.component.ts:36",{"_index":1956,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["list.component.ts:39",{"_index":1955,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["list.component.ts:48",{"_index":1960,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["list.component.ts:58",{"_index":1967,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["list.component.ts:71",{"_index":1965,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["list.module.ts",{"_index":1989,"title":{},"body":{"modules/SpatialSearchListModule.html":{}}}],["list/spatial",{"_index":1944,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"coverage.html":{}}}],["listeners",{"_index":2009,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["listens",{"_index":1569,"title":{},"body":{"directives/NumberDirective.html":{}}}],["listlength",{"_index":1897,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["listlength}px",{"_index":1901,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["literal",{"_index":2937,"title":{},"body":{"dependencies.html":{}}}],["little",{"_index":2566,"title":{},"body":{"changelog.html":{}}}],["liver",{"_index":1712,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["load",{"_index":1360,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"changelog.html":{}}}],["loadconsent",{"_index":1495,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["loaded",{"_index":2725,"title":{},"body":{"changelog.html":{}}}],["loaders.gl/core",{"_index":2868,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":2870,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":2871,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":2363,"title":{},"body":{"changelog.html":{}}}],["local",{"_index":44,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"injectables/LocalStorageService.html":{}}}],["local_storage_allow_telemetry_key",{"_index":2165,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["local_storage_consent_key",{"_index":1503,"title":{},"body":{"injectables/LocalStorageSyncService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["localstorage",{"_index":1507,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["localstorage.getitem(local_storage_allow_telemetry_key",{"_index":2168,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["localstorage.setitem(local_storage_allow_telemetry_key",{"_index":2171,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["localstorageservice",{"_index":676,"title":{"injectables/LocalStorageService.html":{}},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/LocalStorageService.html":{},"coverage.html":{}}}],["localstorageservice.storage?.clear",{"_index":1493,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["localstorageservice.storage?.getitem(key",{"_index":1489,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["localstorageservice.storage?.key(index",{"_index":1488,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["localstorageservice.storage?.length",{"_index":1487,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["localstorageservice.storage?.removeitem(key",{"_index":1492,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["localstorageservice.storage?.setitem(key",{"_index":1490,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["localstoragesyncservice",{"_index":9,"title":{"injectables/LocalStorageSyncService.html":{}},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"injectables/LocalStorageSyncService.html":{},"coverage.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["locate",{"_index":1169,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["location",{"_index":2644,"title":{},"body":{"changelog.html":{}}}],["location.reload",{"_index":2178,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["locations",{"_index":1173,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{}}}],["lodash",{"_index":2924,"title":{},"body":{"dependencies.html":{}}}],["log",{"_index":2126,"title":{},"body":{"components/TrackingPopupComponent.html":{},"index.html":{}}}],["logging",{"_index":2417,"title":{},"body":{"changelog.html":{}}}],["long",{"_index":1198,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["longer",{"_index":2547,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":1053,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"changelog.html":{}}}],["low",{"_index":166,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/functions.html":{}}}],["lru",{"_index":2926,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":2872,"title":{},"body":{"dependencies.html":{}}}],["lung",{"_index":1715,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["lungs",{"_index":1716,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["lymph",{"_index":1683,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["made",{"_index":2665,"title":{},"body":{"changelog.html":{}}}],["main",{"_index":1735,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["major",{"_index":2367,"title":{},"body":{"changelog.html":{}}}],["make",{"_index":1873,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["makedecoratedsegment",{"_index":920,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["makedecoratedsegment(text",{"_index":947,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["makes",{"_index":642,"title":{},"body":{"components/CallToActionComponent.html":{},"changelog.html":{}}}],["makeundecoratedsegment",{"_index":921,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["makeundecoratedsegment(text",{"_index":950,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["making",{"_index":2456,"title":{},"body":{"changelog.html":{}}}],["male",{"_index":148,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["mammary",{"_index":1721,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["managed",{"_index":2015,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["manager",{"_index":385,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["manager.database",{"_index":428,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["manager.database.connect(config",{"_index":434,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["managers",{"_index":2425,"title":{},"body":{"changelog.html":{}}}],["map",{"_index":115,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"modules/MousePositionTrackerModule.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["map(config",{"_index":1434,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["map(data",{"_index":229,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["map(entry",{"_index":1015,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["map(formatdata",{"_index":1543,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["map(manager",{"_index":427,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["map(range",{"_index":1031,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["map(token",{"_index":1436,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["map.ts",{"_index":2802,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["mapping",{"_index":2971,"title":{},"body":{"miscellaneous/functions.html":{}}}],["maps",{"_index":2969,"title":{},"body":{"miscellaneous/functions.html":{}}}],["march",{"_index":2612,"title":{},"body":{"changelog.html":{}}}],["margin",{"_index":649,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["margin.x",{"_index":2280,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["margin.y",{"_index":2283,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["markdown",{"_index":589,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"modules/InfoDialogModule.html":{},"interfaces/PanelData.html":{},"dependencies.html":{}}}],["markdowncontent",{"_index":1077,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["markdowncontent.push",{"_index":1087,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["markdownmodule",{"_index":1419,"title":{},"body":{"modules/InfoDialogModule.html":{}}}],["markdownmodule.forroot",{"_index":1422,"title":{},"body":{"modules/InfoDialogModule.html":{}}}],["markers",{"_index":2090,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["markup",{"_index":688,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"miscellaneous/variables.html":{}}}],["mat",{"_index":634,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/TextSearchComponent.html":{}}}],["mat_dialog_data",{"_index":1371,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["mat_snack_bar_data",{"_index":2114,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["matautocompletemodule",{"_index":2081,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["matbuttonmodule",{"_index":1990,"title":{},"body":{"modules/SpatialSearchListModule.html":{},"modules/TrackingPopupModule.html":{}}}],["matcardmodule",{"_index":548,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{}}}],["match",{"_index":1663,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["matcheckboxmodule",{"_index":1992,"title":{},"body":{"modules/SpatialSearchListModule.html":{}}}],["matching",{"_index":82,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["matdialog",{"_index":663,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{}}}],["matdialogmodule",{"_index":550,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/InfoDialogModule.html":{}}}],["matdialogref",{"_index":1352,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["material",{"_index":1984,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["matexpansionmodule",{"_index":1417,"title":{},"body":{"modules/InfoDialogModule.html":{}}}],["matformfieldmodule",{"_index":2083,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["math.floor(carouselcontainer.nativeelement.offsetwidth",{"_index":1898,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["math.gl/core",{"_index":95,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"dependencies.html":{}}}],["math.gl/culling",{"_index":2875,"title":{},"body":{"dependencies.html":{}}}],["math.log2((height",{"_index":2282,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["math.log2((width",{"_index":2279,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["math.min",{"_index":2278,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["maticonmodule",{"_index":552,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{}}}],["matinputmodule",{"_index":2085,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["matlistmodule",{"_index":1994,"title":{},"body":{"modules/SpatialSearchListModule.html":{}}}],["matprefix",{"_index":2076,"title":{},"body":{"modules/TextSearchModule.html":{},"overview.html":{}}}],["matripplemodule",{"_index":1649,"title":{},"body":{"modules/OpacitySliderModule.html":{}}}],["matrix4",{"_index":94,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["matrix4(node.transformmatrix",{"_index":174,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["matslidermodule",{"_index":1647,"title":{},"body":{"modules/OpacitySliderModule.html":{}}}],["matsuffix",{"_index":2077,"title":{},"body":{"modules/TextSearchModule.html":{},"overview.html":{}}}],["mattooltipmodule",{"_index":1912,"title":{},"body":{"modules/OrganSelectorModule.html":{}}}],["max",{"_index":170,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"components/TextSearchComponent.html":{},"miscellaneous/functions.html":{}}}],["maxcachecount",{"_index":158,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/variables.html":{}}}],["maximum",{"_index":293,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["maxoptions",{"_index":323,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["maxrotationx",{"_index":2291,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["mc",{"_index":2752,"title":{},"body":{"changelog.html":{}}}],["member",{"_index":2121,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["memory",{"_index":2637,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":2686,"title":{},"body":{"changelog.html":{}}}],["merchantability",{"_index":3065,"title":{},"body":{"license.html":{}}}],["merge",{"_index":3046,"title":{},"body":{"license.html":{}}}],["message",{"_index":474,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"interfaces/OrganInfo.html":{}}}],["message(state",{"_index":783,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["metadata",{"_index":465,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["method",{"_index":216,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalsService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["method(requestparams",{"_index":228,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["methods",{"_index":19,"title":{},"body":{"modules/AnalyticsModule.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"components/CallToActionComponent.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["min",{"_index":168,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"components/InfoDialogComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["minmax",{"_index":106,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/functions.html":{}}}],["minor",{"_index":1871,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["minrotationx",{"_index":2289,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["miscellaneous",{"_index":2952,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":3030,"title":{},"body":{"license.html":{}}}],["mixed",{"_index":1875,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["mock",{"_index":2748,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":739,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"changelog.html":{}}}],["mode",{"_index":432,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"changelog.html":{}}}],["model",{"_index":1372,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"dependencies.html":{}}}],["models",{"_index":2212,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["modified",{"_index":1459,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["modify",{"_index":1024,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"license.html":{}}}],["module",{"_index":0,"title":{"modules/AnalyticsModule.html":{},"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/MousePositionTrackerModule.html":{},"modules/NumbersOnlyModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{}},"body":{"modules/MousePositionTrackerModule.html":{},"components/TrackingPopupComponent.html":{}}}],["modules",{"_index":2,"title":{"modules.html":{}},"body":{"modules/AnalyticsModule.html":{},"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/MousePositionTrackerModule.html":{},"modules/NumbersOnlyModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{},"modules.html":{},"overview.html":{}}}],["modulewithproviders",{"_index":32,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["monorepo",{"_index":2980,"title":{},"body":{"index.html":{}}}],["more",{"_index":487,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"changelog.html":{},"index.html":{}}}],["mount",{"_index":2264,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["mouseevent",{"_index":1531,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["mousemove",{"_index":1546,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["mousemove').pipe",{"_index":1541,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["mousepositiontrackermodule",{"_index":1522,"title":{"modules/MousePositionTrackerModule.html":{}},"body":{"modules/MousePositionTrackerModule.html":{},"modules.html":{}}}],["moved",{"_index":2765,"title":{},"body":{"changelog.html":{}}}],["moves",{"_index":1826,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["much",{"_index":1233,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{}}}],["multi",{"_index":73,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["multiple",{"_index":1311,"title":{},"body":{"components/InfoButtonComponent.html":{},"interfaces/OrganInfo.html":{},"index.html":{}}}],["multiselect",{"_index":1813,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["n3",{"_index":2927,"title":{},"body":{"dependencies.html":{}}}],["n\\n",{"_index":1083,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["name",{"_index":27,"title":{},"body":{"modules/AnalyticsModule.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["names",{"_index":2517,"title":{},"body":{"changelog.html":{}}}],["navigation",{"_index":2760,"title":{},"body":{"changelog.html":{}}}],["necessary",{"_index":657,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["need",{"_index":2351,"title":{},"body":{"changelog.html":{}}}],["needed",{"_index":2616,"title":{},"body":{"changelog.html":{}}}],["needs",{"_index":2620,"title":{},"body":{"changelog.html":{}}}],["negative",{"_index":892,"title":{},"body":{"interfaces/DecoratedRange.html":{},"miscellaneous/functions.html":{}}}],["nested",{"_index":2966,"title":{},"body":{"miscellaneous/functions.html":{}}}],["network",{"_index":3021,"title":{},"body":{"index.html":{}}}],["new",{"_index":154,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"injectables/LocalStorageSyncService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["newitems",{"_index":1971,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["newitems.filter(item",{"_index":1975,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["newitems.splice(index",{"_index":1978,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["newitems[index",{"_index":1973,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["newline",{"_index":1081,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["newopacity",{"_index":1615,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["next",{"_index":1226,"title":{},"body":{"injectables/GlobalsService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/OrganInfo.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["ng",{"_index":1388,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{}}}],["ng5",{"_index":2929,"title":{},"body":{"dependencies.html":{}}}],["ngafterviewinit",{"_index":1838,"title":{},"body":{"interfaces/OrganInfo.html":{},"interfaces/XYZTriplet.html":{}}}],["ngmodule",{"_index":35,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/MousePositionTrackerModule.html":{},"modules/NumbersOnlyModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{}}}],["ngonchanges",{"_index":922,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["ngonchanges(changes",{"_index":953,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["ngondestroy",{"_index":814,"title":{},"body":{"injectables/ConsentService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/LocalStorageSyncService.html":{},"interfaces/OrganInfo.html":{},"components/StoreDebugComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["ngoninit",{"_index":1350,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/OpacitySliderComponent.html":{}}}],["ngx",{"_index":39,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"modules/InfoDialogModule.html":{},"modules/MousePositionTrackerModule.html":{},"dependencies.html":{}}}],["ngx_google_analytics_settings_token",{"_index":1276,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["ngx_window",{"_index":1277,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["ngxgoogleanalyticsmodule",{"_index":38,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["ngxgoogleanalyticsmodule.forroot",{"_index":79,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["ngxs",{"_index":493,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"injectables/GlobalConfigState.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"dependencies.html":{}}}],["ngxs/logger",{"_index":2880,"title":{},"body":{"dependencies.html":{}}}],["ngxs/storage",{"_index":2883,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":496,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalConfigState.html":{},"components/StoreDebugComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"dependencies.html":{}}}],["ngxsimmutabledatarepository",{"_index":1105,"title":{},"body":{"injectables/GlobalConfigState.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["ngxsmodule",{"_index":554,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{}}}],["ngxsoninit",{"_index":664,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["ngxsoninit(ctx",{"_index":720,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["nih",{"_index":3026,"title":{},"body":{"index.html":{}}}],["node",{"_index":172,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"interfaces/OrganInfo.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["node.js",{"_index":1240,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["nodeclick",{"_index":2243,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["nodeclickevent",{"_index":2208,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["nodedrag",{"_index":2242,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["nodedragevent",{"_index":2209,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["nodehoverstart",{"_index":2244,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["nodehoverstop",{"_index":2245,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["nodejs",{"_index":1876,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["nodes",{"_index":1682,"title":{},"body":{"interfaces/OrganInfo.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["none",{"_index":1637,"title":{},"body":{"components/OpacitySliderComponent.html":{},"components/TextSearchComponent.html":{}}}],["noninfringement",{"_index":3069,"title":{},"body":{"license.html":{}}}],["nonnullable",{"_index":1187,"title":{},"body":{"injectables/GlobalsService.html":{},"miscellaneous/typealiases.html":{}}}],["nonnullable[0",{"_index":129,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["normal",{"_index":1893,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["normalize",{"_index":968,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["normalize(range",{"_index":1032,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"miscellaneous/functions.html":{}}}],["normalized",{"_index":945,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"miscellaneous/functions.html":{}}}],["normalizes",{"_index":897,"title":{},"body":{"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"miscellaneous/functions.html":{}}}],["note",{"_index":1019,"title":{},"body":{"components/DecoratedTextComponent.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["notebooks",{"_index":2340,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":3010,"title":{},"body":{"index.html":{}}}],["notice",{"_index":2640,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":708,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"changelog.html":{}}}],["ns_error_dom_quota_reached",{"_index":1481,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["null",{"_index":63,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"components/TextSearchComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"miscellaneous/functions.html":{}}}],["nulls.ts",{"_index":2797,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["number",{"_index":165,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/LocalStorageService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["number:format",{"_index":2196,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["numberdirective",{"_index":538,"title":{"directives/NumberDirective.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["numbers",{"_index":1571,"title":{},"body":{"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{}}}],["numbersonlymodule",{"_index":1580,"title":{"modules/NumbersOnlyModule.html":{}},"body":{"modules/NumbersOnlyModule.html":{},"modules.html":{},"overview.html":{}}}],["numeric",{"_index":2645,"title":{},"body":{"changelog.html":{}}}],["obj",{"_index":1166,"title":{},"body":{"injectables/GlobalsService.html":{},"miscellaneous/functions.html":{}}}],["obj[key",{"_index":1219,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["object",{"_index":639,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/DecoratedRange.html":{},"injectables/GlobalsService.html":{},"interfaces/PluckUniqueOptions.html":{},"components/TextSearchComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["object.defineproperties(this",{"_index":1214,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["object.entries(obj).reduce>((attrs",{"_index":60,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["object.entries(ops",{"_index":1009,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["object.entries(this.root",{"_index":2023,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["object.entries(values",{"_index":2026,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["object.keys(config).length",{"_index":422,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["objects",{"_index":1030,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["obs",{"_index":1157,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["observable",{"_index":112,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"components/InfoButtonComponent.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"interfaces/PluckUniqueOptions.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"miscellaneous/functions.html":{}}}],["observable).pipe",{"_index":337,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["observableinput",{"_index":286,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"components/TextSearchComponent.html":{}}}],["observedvalueof",{"_index":847,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"miscellaneous/typealiases.html":{}}}],["obtaining",{"_index":3039,"title":{},"body":{"license.html":{}}}],["occured",{"_index":1845,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["occurencedata",{"_index":1835,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["occurencedata(value",{"_index":1833,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["off/on",{"_index":2618,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":2721,"title":{},"body":{"changelog.html":{}}}],["old",{"_index":2993,"title":{},"body":{"index.html":{}}}],["oldvalue",{"_index":2170,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["onchanges",{"_index":913,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["ondestroy",{"_index":824,"title":{},"body":{"injectables/ConsentService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/LocalStorageSyncService.html":{},"interfaces/OrganInfo.html":{},"components/StoreDebugComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["ondialogbuttonclick",{"_index":560,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{}}}],["one",{"_index":1245,"title":{},"body":{"injectables/GlobalsService.html":{},"interfaces/OrganInfo.html":{},"changelog.html":{},"index.html":{}}}],["oninit",{"_index":1344,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/OpacitySliderComponent.html":{}}}],["oninputchange",{"_index":1562,"title":{},"body":{"directives/NumberDirective.html":{}}}],["oninputchange(event",{"_index":1572,"title":{},"body":{"directives/NumberDirective.html":{}}}],["onleft",{"_index":1821,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["online",{"_index":2730,"title":{},"body":{"changelog.html":{}}}],["only.directive",{"_index":1585,"title":{},"body":{"modules/NumbersOnlyModule.html":{}}}],["only.directive.ts",{"_index":1559,"title":{},"body":{"directives/NumberDirective.html":{},"coverage.html":{}}}],["only.directive.ts:23",{"_index":1568,"title":{},"body":{"directives/NumberDirective.html":{}}}],["only.directive.ts:9",{"_index":1566,"title":{},"body":{"directives/NumberDirective.html":{}}}],["only.module.ts",{"_index":1584,"title":{},"body":{"modules/NumbersOnlyModule.html":{}}}],["only/numbers",{"_index":1558,"title":{},"body":{"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"coverage.html":{}}}],["onright",{"_index":1822,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["ontological",{"_index":2780,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":2681,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":2348,"title":{},"body":{"changelog.html":{}}}],["ontologyterms",{"_index":143,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["ontologytreemodel",{"_index":98,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{}}}],["op",{"_index":960,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["op.index",{"_index":999,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["op.removed.includes(item",{"_index":1018,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["opacities",{"_index":2624,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":520,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["opacitychange",{"_index":1599,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["opacityreset",{"_index":1600,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["opacityslidercomponent",{"_index":519,"title":{"components/OpacitySliderComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["opacityslidermodule",{"_index":1641,"title":{"modules/OpacitySliderModule.html":{}},"body":{"modules/OpacitySliderModule.html":{},"modules.html":{},"overview.html":{}}}],["open",{"_index":488,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{}}}],["open(ctx",{"_index":757,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["openapi",{"_index":2458,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/angular",{"_index":109,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["openapi/js",{"_index":3006,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":3008,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":3007,"title":{},"body":{"index.html":{}}}],["opendialog",{"_index":680,"title":{"classes/OpenDialog.html":{}},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"coverage.html":{}}}],["opening",{"_index":1313,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["opens",{"_index":734,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{}}}],["operation",{"_index":963,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["operations",{"_index":939,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["operator",{"_index":1918,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["operatorfunction",{"_index":1923,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["ops",{"_index":1004,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["ops[index",{"_index":1006,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["opt",{"_index":2105,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["optimization",{"_index":2565,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":2715,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":2600,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":331,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"changelog.html":{}}}],["optional",{"_index":29,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PluckUniqueOptions.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["optioncache",{"_index":1106,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["optiondisplay",{"_index":2045,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["optiondisplay(option",{"_index":2057,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["optionid",{"_index":2046,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["optionid(_index",{"_index":2059,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["options",{"_index":30,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/PluckUniqueOptions.html":{},"components/TextSearchComponent.html":{},"changelog.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["options.gatoken",{"_index":80,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["optionselected",{"_index":333,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["opts",{"_index":1932,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["ordered",{"_index":937,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["organ",{"_index":523,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["organ(s",{"_index":1880,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["organ.disabled",{"_index":1800,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["organinfo",{"_index":1652,"title":{"interfaces/OrganInfo.html":{}},"body":{"interfaces/OrganInfo.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["organiri",{"_index":214,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["organlist",{"_index":1815,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["organs",{"_index":1664,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["organs/anatomical",{"_index":2626,"title":{},"body":{"changelog.html":{}}}],["organschanged",{"_index":1819,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["organselectorcomponent",{"_index":522,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["organselectormodule",{"_index":1906,"title":{"modules/OrganSelectorModule.html":{}},"body":{"modules/OrganSelectorModule.html":{},"modules.html":{},"overview.html":{}}}],["orthographic",{"_index":2530,"title":{},"body":{"changelog.html":{}}}],["ot2od026671",{"_index":3028,"title":{},"body":{"index.html":{}}}],["otherwise",{"_index":1217,"title":{},"body":{"injectables/GlobalsService.html":{},"interfaces/OrganInfo.html":{},"license.html":{}}}],["out",{"_index":12,"title":{},"body":{"modules/AnalyticsModule.html":{},"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"modules/NumbersOnlyModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"interfaces/Segment.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{},"license.html":{},"overview.html":{}}}],["outdated",{"_index":1237,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["outline",{"_index":2068,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["output",{"_index":281,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["outputs",{"_index":563,"title":{},"body":{"components/CallToActionComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{}}}],["ovary",{"_index":1726,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["over",{"_index":2652,"title":{},"body":{"changelog.html":{}}}],["overall",{"_index":2380,"title":{},"body":{"changelog.html":{}}}],["overlapping",{"_index":926,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["overlay",{"_index":1343,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["overlays",{"_index":2771,"title":{},"body":{"changelog.html":{}}}],["overridden",{"_index":1170,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["overview",{"_index":3083,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["p",{"_index":132,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["package",{"_index":2424,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["padding",{"_index":599,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{}}}],["pages",{"_index":2494,"title":{},"body":{"changelog.html":{}}}],["pair",{"_index":2020,"title":{},"body":{"components/StoreDebugComponent.html":{},"miscellaneous/typealiases.html":{}}}],["paired",{"_index":1665,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["pairin",{"_index":1456,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["pairs",{"_index":2018,"title":{},"body":{"components/StoreDebugComponent.html":{},"miscellaneous/typealiases.html":{}}}],["palatine",{"_index":1739,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["pancreas",{"_index":1744,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["pane",{"_index":2589,"title":{},"body":{"changelog.html":{}}}],["panel",{"_index":1052,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/PanelData.html":{},"changelog.html":{}}}],["panelclass",{"_index":738,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{}}}],["panelcontent",{"_index":1059,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["paneldata",{"_index":1056,"title":{"interfaces/PanelData.html":{}},"body":{"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"coverage.html":{}}}],["panels",{"_index":1073,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["param",{"_index":341,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DocumentationContent.html":{},"injectables/GlobalsService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/LocalStorageService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{}}}],["parameters",{"_index":26,"title":{},"body":{"modules/AnalyticsModule.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"miscellaneous/functions.html":{}}}],["params",{"_index":131,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["parent",{"_index":579,"title":{},"body":{"components/CallToActionComponent.html":{},"changelog.html":{}}}],["parse",{"_index":1071,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["parseint(itemlist.nativeelement.style.left",{"_index":1857,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["parseint(newopacity",{"_index":1627,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["parsemarkdown",{"_index":1332,"title":{},"body":{"injectables/InfoButtonService.html":{}}}],["parsemarkdown(data",{"_index":1076,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["parser",{"_index":2889,"title":{},"body":{"dependencies.html":{}}}],["partial",{"_index":270,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{}}}],["partials",{"_index":1028,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["particular",{"_index":3067,"title":{},"body":{"license.html":{}}}],["partly",{"_index":2611,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":2543,"title":{},"body":{"changelog.html":{}}}],["parts",{"_index":658,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["pass",{"_index":578,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["passed",{"_index":707,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["past",{"_index":1851,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["pastexpiration",{"_index":724,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["patchconfig",{"_index":1110,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["patchconfig(config",{"_index":1129,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["path",{"_index":686,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalConfigState.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["path.length}:${path.join",{"_index":1160,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["pelvis",{"_index":1748,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["performance",{"_index":2428,"title":{},"body":{"changelog.html":{}}}],["performs",{"_index":2267,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["permission",{"_index":3033,"title":{},"body":{"license.html":{}}}],["permit",{"_index":3053,"title":{},"body":{"license.html":{}}}],["person",{"_index":3038,"title":{},"body":{"license.html":{}}}],["persons",{"_index":3054,"title":{},"body":{"license.html":{}}}],["pick",{"_index":2362,"title":{},"body":{"changelog.html":{}}}],["piece",{"_index":970,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["pipe",{"_index":222,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["pipe(map(data",{"_index":732,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["placeholder",{"_index":316,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["placement",{"_index":2358,"title":{},"body":{"changelog.html":{}}}],["placenta",{"_index":1751,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["places",{"_index":1239,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["player",{"_index":1362,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"dependencies.html":{}}}],["pluck",{"_index":1148,"title":{},"body":{"injectables/GlobalConfigState.html":{},"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["pluck(...(path",{"_index":1158,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["pluck(...keys",{"_index":1941,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["pluck(...path",{"_index":1153,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["pluckunique",{"_index":1917,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["pluckunique(...props",{"_index":1937,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["pluckunique(k1",{"_index":1933,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["pluckuniqueoptions",{"_index":1914,"title":{"interfaces/PluckUniqueOptions.html":{}},"body":{"interfaces/PluckUniqueOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["plugin",{"_index":2881,"title":{},"body":{"dependencies.html":{}}}],["plus",{"_index":2370,"title":{},"body":{"changelog.html":{}}}],["pointer",{"_index":612,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["points",{"_index":1537,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["points.join('_",{"_index":1538,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["policy",{"_index":1249,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["popup",{"_index":710,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["popup'},{'name",{"_index":533,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["popup.component",{"_index":2157,"title":{},"body":{"modules/TrackingPopupModule.html":{}}}],["popup.component.html",{"_index":2095,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.component.scss",{"_index":2094,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.component.ts",{"_index":2093,"title":{},"body":{"components/TrackingPopupComponent.html":{},"coverage.html":{}}}],["popup.component.ts:13",{"_index":2102,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.component.ts:15",{"_index":2113,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.component.ts:19",{"_index":2101,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.component.ts:22",{"_index":2111,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.component.ts:26",{"_index":2103,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.component.ts:31",{"_index":2108,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.component.ts:36",{"_index":2106,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.module.ts",{"_index":2156,"title":{},"body":{"modules/TrackingPopupModule.html":{}}}],["popup/tracking",{"_index":2092,"title":{},"body":{"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"coverage.html":{}}}],["popup_shown_storage_key",{"_index":684,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["popupshown",{"_index":660,"title":{},"body":{"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{}}}],["popupshown(state",{"_index":785,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["popupshownstr",{"_index":722,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["portal",{"_index":2469,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["portal's",{"_index":2707,"title":{},"body":{"changelog.html":{}}}],["portions",{"_index":3061,"title":{},"body":{"license.html":{}}}],["position",{"_index":536,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"modules/MousePositionTrackerModule.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["position.component",{"_index":2204,"title":{},"body":{"modules/XYZPositionModule.html":{}}}],["position.component.html",{"_index":2187,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["position.component.scss",{"_index":2186,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["position.component.ts",{"_index":2184,"title":{},"body":{"components/XYZPositionComponent.html":{},"coverage.html":{}}}],["position.component.ts:15",{"_index":2192,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["position.component.ts:18",{"_index":2189,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["position.component.ts:21",{"_index":2190,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["position.component.ts:24",{"_index":2191,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["position.component.ts:27",{"_index":2195,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["position.module.ts",{"_index":2203,"title":{},"body":{"modules/XYZPositionModule.html":{}}}],["position/xyz",{"_index":2183,"title":{},"body":{"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"coverage.html":{}}}],["positive",{"_index":904,"title":{},"body":{"interfaces/DecoratedRange.html":{},"miscellaneous/functions.html":{}}}],["possible",{"_index":2666,"title":{},"body":{"changelog.html":{}}}],["poup",{"_index":682,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"miscellaneous/variables.html":{}}}],["precedence",{"_index":929,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["preferences",{"_index":2515,"title":{},"body":{"changelog.html":{}}}],["prefix/suffix",{"_index":2089,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["preparation",{"_index":2754,"title":{},"body":{"changelog.html":{}}}],["present",{"_index":1478,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["presented",{"_index":2769,"title":{},"body":{"changelog.html":{}}}],["pretty",{"_index":1232,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["prevent",{"_index":1310,"title":{},"body":{"components/InfoButtonComponent.html":{},"changelog.html":{}}}],["prevents",{"_index":1850,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["preview",{"_index":2527,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":2631,"title":{},"body":{"changelog.html":{}}}],["previously",{"_index":2449,"title":{},"body":{"changelog.html":{}}}],["prevopacity",{"_index":1594,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["private",{"_index":180,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/LocalStorageSyncService.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{}}}],["process",{"_index":2741,"title":{},"body":{"changelog.html":{}}}],["processed",{"_index":2699,"title":{},"body":{"changelog.html":{}}}],["processing",{"_index":1058,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"changelog.html":{}}}],["produces",{"_index":2973,"title":{},"body":{"miscellaneous/functions.html":{}}}],["production",{"_index":2436,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":2420,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":462,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["projectname",{"_index":51,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["projects",{"_index":2981,"title":{},"body":{"index.html":{}}}],["projects/.../analytics.module.ts",{"_index":2958,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/.../api",{"_index":2954,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../call",{"_index":3097,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../consent.service.ts",{"_index":3088,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../data",{"_index":3089,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../decorated",{"_index":2960,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../filter",{"_index":2955,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../flatten.ts",{"_index":2956,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../globals.service.ts",{"_index":3090,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../inner",{"_index":2959,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../local",{"_index":3095,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../mouse",{"_index":2962,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../organ",{"_index":3093,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../pluck",{"_index":2961,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/.../public",{"_index":3096,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../store",{"_index":3091,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../text",{"_index":3094,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../tracking.state.ts",{"_index":2957,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/ccf",{"_index":16,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":351,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{}}}],["properly",{"_index":1549,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["properties",{"_index":86,"title":{},"body":{"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"components/OpacitySliderComponent.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["propertykey",{"_index":1127,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["props",{"_index":1931,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["props[props.length",{"_index":1938,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["prostate",{"_index":1754,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["protected",{"_index":375,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalsService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["provide",{"_index":72,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/GlobalsService.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["provided",{"_index":346,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"changelog.html":{},"license.html":{}}}],["providedin",{"_index":175,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalsService.html":{},"injectables/InfoButtonService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"interfaces/PanelData.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"miscellaneous/variables.html":{}}}],["providers",{"_index":18,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"changelog.html":{}}}],["providertoken",{"_index":1432,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["providing",{"_index":324,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["public",{"_index":1347,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["publish",{"_index":3047,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":2422,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":3068,"title":{},"body":{"license.html":{}}}],["push",{"_index":991,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["pushed",{"_index":2580,"title":{},"body":{"changelog.html":{}}}],["px",{"_index":1828,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["pxratio",{"_index":2276,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["python",{"_index":2341,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["qs",{"_index":2934,"title":{},"body":{"dependencies.html":{}}}],["qualitative",{"_index":2711,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":2472,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":1671,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{},"dependencies.html":{}}}],["query",{"_index":2778,"title":{},"body":{"changelog.html":{}}}],["querying",{"_index":2388,"title":{},"body":{"changelog.html":{}}}],["quickly",{"_index":2692,"title":{},"body":{"changelog.html":{}}}],["quotaexceedederror",{"_index":1480,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["r",{"_index":1122,"title":{},"body":{"injectables/GlobalConfigState.html":{},"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["r\\n\\r\\n",{"_index":1084,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["radius",{"_index":604,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["range",{"_index":164,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"miscellaneous/functions.html":{}}}],["range.classes",{"_index":908,"title":{},"body":{"interfaces/DecoratedRange.html":{}}}],["range.start",{"_index":1035,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["range.styles",{"_index":909,"title":{},"body":{"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["range.ts",{"_index":886,"title":{},"body":{"interfaces/DecoratedRange.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["range[0",{"_index":169,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["range[1",{"_index":171,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["ranges",{"_index":912,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["rangetominmax",{"_index":163,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["rangetominmax(range",{"_index":2963,"title":{},"body":{"miscellaneous/functions.html":{}}}],["rawspatialscenenode",{"_index":108,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["rawvalue",{"_index":1515,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["rawvalue.trim().tolowercase",{"_index":1517,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["rc.1",{"_index":2717,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":2936,"title":{},"body":{"dependencies.html":{}}}],["rdfjs",{"_index":2860,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":2885,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":2938,"title":{},"body":{"dependencies.html":{}}}],["reactiveformsmodule",{"_index":2080,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["read",{"_index":1061,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"interfaces/XYZTriplet.html":{}}}],["readable",{"_index":2940,"title":{},"body":{"dependencies.html":{}}}],["reading",{"_index":1075,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["readme",{"_index":687,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"miscellaneous/variables.html":{}}}],["readonly",{"_index":181,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageSyncService.html":{},"components/OpacitySliderComponent.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["reads",{"_index":588,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["real",{"_index":2729,"title":{},"body":{"changelog.html":{}}}],["really",{"_index":1227,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["recalculate",{"_index":956,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["receives",{"_index":325,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["record",{"_index":58,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"miscellaneous/functions.html":{}}}],["recreatebodyui",{"_index":2316,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["rectify",{"_index":2454,"title":{},"body":{"changelog.html":{}}}],["reduce",{"_index":2570,"title":{},"body":{"changelog.html":{}}}],["reduction",{"_index":2402,"title":{},"body":{"changelog.html":{}}}],["reexport",{"_index":969,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"modules/TextSearchModule.html":{}}}],["reference",{"_index":1293,"title":{},"body":{"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"directives/NumberDirective.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["refernced",{"_index":2487,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":1632,"title":{},"body":{"components/OpacitySliderComponent.html":{},"changelog.html":{}}}],["regions",{"_index":2772,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":2899,"title":{},"body":{"dependencies.html":{}}}],["registered",{"_index":2450,"title":{},"body":{"changelog.html":{}}}],["registration",{"_index":2480,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["registrations",{"_index":2559,"title":{},"body":{"changelog.html":{}}}],["regular",{"_index":1877,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["related",{"_index":2604,"title":{},"body":{"changelog.html":{}}}],["relative",{"_index":648,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{}}}],["release",{"_index":2336,"title":{},"body":{"changelog.html":{}}}],["releaseproxy",{"_index":409,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["reliability",{"_index":2642,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":2523,"title":{},"body":{"changelog.html":{}}}],["remote",{"_index":410,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["remoteapiendpoint",{"_index":92,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["removable",{"_index":1222,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["remove",{"_index":975,"title":{},"body":{"components/DecoratedTextComponent.html":{},"injectables/GlobalsService.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{}}}],["remove(key",{"_index":1200,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["removed",{"_index":976,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["removeitem",{"_index":1442,"title":{},"body":{"injectables/LocalStorageService.html":{},"components/SpatialSearchListComponent.html":{}}}],["removeitem(index",{"_index":1964,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["removeitem(key",{"_index":1452,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["removes",{"_index":1202,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["render",{"_index":2286,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["rendering",{"_index":2261,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["replaced",{"_index":2975,"title":{},"body":{"miscellaneous/functions.html":{}}}],["replaysubject",{"_index":825,"title":{},"body":{"injectables/ConsentService.html":{}}}],["replaysubject(1",{"_index":823,"title":{},"body":{"injectables/ConsentService.html":{}}}],["repository",{"_index":2979,"title":{},"body":{"index.html":{}}}],["represents",{"_index":972,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["requestmethod",{"_index":130,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/typealiases.html":{}}}],["requestparams",{"_index":218,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["requestparams['token",{"_index":227,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["required",{"_index":2269,"title":{},"body":{"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["rescinded",{"_index":827,"title":{},"body":{"injectables/ConsentService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageSyncService.html":{},"components/TrackingPopupComponent.html":{},"miscellaneous/typealiases.html":{}}}],["reset",{"_index":11,"title":{},"body":{"modules/AnalyticsModule.html":{},"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{},"overview.html":{}}}],["resetopacity",{"_index":1596,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["resets",{"_index":2544,"title":{},"body":{"changelog.html":{}}}],["resetting",{"_index":1610,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["resize",{"_index":1837,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["resizesensor",{"_index":1669,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["resizesensor(carouselcontainer.nativeelement",{"_index":1840,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["resizing",{"_index":1831,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["resolve",{"_index":901,"title":{},"body":{"interfaces/DecoratedRange.html":{},"miscellaneous/functions.html":{}}}],["resolved",{"_index":967,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["resolveindex",{"_index":2815,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["resolveindex(index",{"_index":905,"title":{},"body":{"interfaces/DecoratedRange.html":{},"miscellaneous/functions.html":{}}}],["resolveindex(range.end",{"_index":907,"title":{},"body":{"interfaces/DecoratedRange.html":{}}}],["resolveindex(range.start",{"_index":906,"title":{},"body":{"interfaces/DecoratedRange.html":{}}}],["resolves",{"_index":896,"title":{},"body":{"interfaces/DecoratedRange.html":{},"miscellaneous/functions.html":{}}}],["respond",{"_index":2541,"title":{},"body":{"changelog.html":{}}}],["responsetype",{"_index":731,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["responsively",{"_index":1902,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["rest",{"_index":866,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["restricting",{"_index":1560,"title":{},"body":{"directives/NumberDirective.html":{}}}],["restriction",{"_index":3043,"title":{},"body":{"license.html":{}}}],["result",{"_index":81,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["result.concat(range.classes",{"_index":1036,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["results",{"_index":83,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["return",{"_index":59,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"interfaces/DataSource.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/InfoButtonService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["returns",{"_index":31,"title":{},"body":{"modules/AnalyticsModule.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"miscellaneous/functions.html":{}}}],["reviver",{"_index":217,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["reviver(data",{"_index":230,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["rgb",{"_index":2917,"title":{},"body":{"dependencies.html":{}}}],["rgba(0",{"_index":2139,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["rgba(255",{"_index":2131,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["rhs",{"_index":1925,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["right",{"_index":602,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["rights",{"_index":3045,"title":{},"body":{"license.html":{}}}],["root",{"_index":176,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalsService.html":{},"injectables/InfoButtonService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"interfaces/PanelData.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["rotates",{"_index":2525,"title":{},"body":{"changelog.html":{}}}],["rotation",{"_index":2220,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["rotation(value",{"_index":2222,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["rotationchange",{"_index":2241,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["rotationx",{"_index":2224,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["rotationx(value",{"_index":2226,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["round",{"_index":2629,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":2646,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":2386,"title":{},"body":{"changelog.html":{}}}],["row",{"_index":621,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["ru/common",{"_index":2847,"title":{},"body":{"dependencies.html":{}}}],["ru/common/typings",{"_index":1140,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["rui",{"_index":570,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"changelog.html":{},"index.html":{}}}],["rui_locations.jsonld",{"_index":2416,"title":{},"body":{"changelog.html":{}}}],["running",{"_index":1236,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["rxjs",{"_index":114,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["rxjs/internal/observable",{"_index":497,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["rxjs/operators",{"_index":119,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DataSource.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/PluckUniqueOptions.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["s.unsubscribe",{"_index":2321,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["safe",{"_index":1023,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["same",{"_index":295,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["sample",{"_index":2783,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["samples",{"_index":2572,"title":{},"body":{"changelog.html":{}}}],["saveconsent",{"_index":1496,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["saveconsent(value",{"_index":1500,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["saver",{"_index":2905,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":2744,"title":{},"body":{"changelog.html":{}}}],["scene",{"_index":2216,"title":{},"body":{"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["scene(nodes",{"_index":2218,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["scheduled",{"_index":2585,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":2746,"title":{},"body":{"changelog.html":{}}}],["schemes",{"_index":2712,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":3022,"title":{},"body":{"index.html":{}}}],["screen",{"_index":1342,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["scroll(dir",{"_index":1864,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["scrolled",{"_index":1854,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["scrolling",{"_index":1823,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["scrolls",{"_index":1849,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["search",{"_index":301,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["search'},{'name",{"_index":530,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["search.component",{"_index":2088,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["search.component.html",{"_index":307,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["search.component.scss",{"_index":309,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["search.component.ts",{"_index":261,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["search.component.ts:100",{"_index":2048,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:120",{"_index":2056,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:139",{"_index":2058,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:150",{"_index":2060,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:48",{"_index":2055,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:53",{"_index":2051,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:59",{"_index":2052,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:63",{"_index":2066,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:70",{"_index":2050,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:76",{"_index":2049,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:81",{"_index":2054,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:86",{"_index":2053,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:91",{"_index":2062,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:96",{"_index":2063,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.module.ts",{"_index":2078,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["search/text",{"_index":260,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["searches",{"_index":1946,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"changelog.html":{}}}],["section",{"_index":2560,"title":{},"body":{"changelog.html":{}}}],["security",{"_index":1248,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["see",{"_index":2390,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["segment",{"_index":934,"title":{"interfaces/Segment.html":{}},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"coverage.html":{}}}],["segment.text",{"_index":1038,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["segments",{"_index":916,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["segments.push(this.makedecoratedsegment",{"_index":997,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["select",{"_index":495,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"changelog.html":{}}}],["select(calltoactionselectors.calltoaction",{"_index":476,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["select(calltoactionselectors.imageurl",{"_index":482,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["select(calltoactionselectors.message",{"_index":489,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["select(calltoactionselectors.title",{"_index":491,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["selected",{"_index":332,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{},"changelog.html":{}}}],["selecteditems",{"_index":1974,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["selectedorgan",{"_index":1886,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["selectedorgans",{"_index":1817,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["selecting",{"_index":1802,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["selection",{"_index":1957,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["selectionchanged",{"_index":1952,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["selections",{"_index":1812,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["selector",{"_index":305,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"classes/CallToActionSelectors.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["selector'},{'name",{"_index":524,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["selector(['calltoactionstate",{"_index":777,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["selector([calltoactionstate",{"_index":790,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["selector.component",{"_index":1911,"title":{},"body":{"modules/OrganSelectorModule.html":{}}}],["selector.component.html",{"_index":1804,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["selector.component.scss",{"_index":1805,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["selector.component.ts",{"_index":1655,"title":{},"body":{"interfaces/OrganInfo.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["selector.module.ts",{"_index":1910,"title":{},"body":{"modules/OrganSelectorModule.html":{}}}],["selector/organ",{"_index":1654,"title":{},"body":{"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["selectorgan(organ",{"_index":1881,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["selects",{"_index":2762,"title":{},"body":{"changelog.html":{}}}],["selecttoken",{"_index":1426,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["selecttoken(config",{"_index":1429,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["self",{"_index":638,"title":{},"body":{"components/CallToActionComponent.html":{},"injectables/GlobalsService.html":{},"components/InfoDialogComponent.html":{}}}],["sell",{"_index":3051,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":2768,"title":{},"body":{"changelog.html":{}}}],["send",{"_index":1057,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["sends",{"_index":485,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["sennet",{"_index":2432,"title":{},"body":{"changelog.html":{}}}],["sensor",{"_index":1832,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["sent",{"_index":1074,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["server",{"_index":2749,"title":{},"body":{"changelog.html":{}}}],["service",{"_index":1295,"title":{},"body":{"components/InfoButtonComponent.html":{},"injectables/LocalStorageService.html":{},"components/TrackingPopupComponent.html":{}}}],["services/local",{"_index":677,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["set",{"_index":68,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/ConsentService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"injectables/GlobalsService.html":{},"injectables/LocalStorageSyncService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["set(key",{"_index":1203,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["setallowtelemetry",{"_index":2160,"title":{},"body":{"injectables/TrackingState.html":{}}}],["setallowtelemetry(allowtelemetry",{"_index":2161,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["setconfig",{"_index":1111,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["setconfig(config",{"_index":1132,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["setconsent",{"_index":815,"title":{},"body":{"injectables/ConsentService.html":{}}}],["setconsent(value",{"_index":819,"title":{},"body":{"injectables/ConsentService.html":{}}}],["setinterval",{"_index":1866,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["setitem",{"_index":1443,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["setitem(key",{"_index":1454,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["setleftright(val",{"_index":1905,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["sets",{"_index":692,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"interfaces/OrganInfo.html":{},"components/StoreDebugComponent.html":{}}}],["settimeout",{"_index":1384,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["setting",{"_index":1590,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["settings",{"_index":1251,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["setup",{"_index":2268,"title":{},"body":{"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["setupbodyui",{"_index":2287,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["setvalue(val",{"_index":2065,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["setwidth",{"_index":1903,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["sex",{"_index":145,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"interfaces/OrganInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["sexes",{"_index":1660,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["shadow",{"_index":2135,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["shall",{"_index":3058,"title":{},"body":{"license.html":{}}}],["shared",{"_index":2518,"title":{},"body":{"changelog.html":{}}}],["shared/analytics",{"_index":2116,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["shared/analytics/src/lib/analytics.module.ts",{"_index":17,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["shared/analytics/src/lib/analytics.module.ts:68",{"_index":25,"title":{},"body":{"modules/AnalyticsModule.html":{}}}],["shared/analytics/src/lib/consent.service.ts",{"_index":811,"title":{},"body":{"injectables/ConsentService.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["shared/analytics/src/lib/consent.service.ts:10",{"_index":822,"title":{},"body":{"injectables/ConsentService.html":{}}}],["shared/analytics/src/lib/consent.service.ts:12",{"_index":817,"title":{},"body":{"injectables/ConsentService.html":{}}}],["shared/analytics/src/lib/consent.service.ts:18",{"_index":818,"title":{},"body":{"injectables/ConsentService.html":{}}}],["shared/analytics/src/lib/consent.service.ts:22",{"_index":820,"title":{},"body":{"injectables/ConsentService.html":{}}}],["shared/analytics/src/lib/consent.service.ts:29",{"_index":821,"title":{},"body":{"injectables/ConsentService.html":{}}}],["shared/analytics/src/lib/google",{"_index":1263,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{},"coverage.html":{}}}],["shared/analytics/src/lib/local",{"_index":1494,"title":{},"body":{"injectables/LocalStorageSyncService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["shared/rxjs",{"_index":1146,"title":{},"body":{"injectables/GlobalConfigState.html":{},"interfaces/PluckUniqueOptions.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["shared/src/lib/analytics/mouse",{"_index":1523,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["shared/src/lib/analytics/tracking.state.ts",{"_index":2159,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["shared/src/lib/analytics/tracking.state.ts:29",{"_index":2163,"title":{},"body":{"injectables/TrackingState.html":{}}}],["shared/src/lib/components/body",{"_index":359,"title":{},"body":{"modules/BodyUiModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["shared/src/lib/components/call",{"_index":454,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"modules/CallToActionModule.html":{},"coverage.html":{}}}],["shared/src/lib/components/decorated",{"_index":885,"title":{},"body":{"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["shared/src/lib/components/info/info",{"_index":1046,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"interfaces/PanelData.html":{},"coverage.html":{}}}],["shared/src/lib/components/opacity",{"_index":1586,"title":{},"body":{"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"coverage.html":{}}}],["shared/src/lib/components/organ",{"_index":1653,"title":{},"body":{"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["shared/src/lib/components/spatial",{"_index":1943,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"coverage.html":{}}}],["shared/src/lib/components/store",{"_index":1997,"title":{},"body":{"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["shared/src/lib/components/text",{"_index":259,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["shared/src/lib/components/tracking",{"_index":2091,"title":{},"body":{"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"coverage.html":{}}}],["shared/src/lib/components/xyz",{"_index":2182,"title":{},"body":{"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"coverage.html":{}}}],["shared/src/lib/config/global",{"_index":1103,"title":{},"body":{"injectables/GlobalConfigState.html":{},"coverage.html":{}}}],["shared/src/lib/directives/numbers",{"_index":1557,"title":{},"body":{"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"coverage.html":{}}}],["shared/src/lib/services/data",{"_index":88,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["shared/src/lib/services/globals/globals.service.ts",{"_index":1162,"title":{},"body":{"injectables/GlobalsService.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:109",{"_index":1167,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:22",{"_index":1208,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:45",{"_index":1193,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:58",{"_index":1182,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:59",{"_index":1186,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:60",{"_index":1189,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:61",{"_index":1190,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:63",{"_index":1191,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:76",{"_index":1204,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:77",{"_index":1205,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:79",{"_index":1206,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:93",{"_index":1201,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/local",{"_index":1439,"title":{},"body":{"injectables/LocalStorageService.html":{},"coverage.html":{}}}],["shared/src/lib/states/call",{"_index":654,"title":{},"body":{"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["sharereplay",{"_index":415,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"interfaces/PluckUniqueOptions.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"miscellaneous/functions.html":{}}}],["sharereplay(1",{"_index":429,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"interfaces/PluckUniqueOptions.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["shifing",{"_index":992,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["shift",{"_index":1827,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["shift(dir",{"_index":1855,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["shortest",{"_index":2912,"title":{},"body":{"dependencies.html":{}}}],["show",{"_index":265,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["showbutton",{"_index":2097,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["showbutton(button",{"_index":2104,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["showing",{"_index":2698,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":683,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["showpopup",{"_index":726,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["shows",{"_index":2475,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":1659,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["sides",{"_index":2675,"title":{},"body":{"changelog.html":{}}}],["signal",{"_index":1619,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["significant",{"_index":2546,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":2000,"title":{},"body":{"components/StoreDebugComponent.html":{},"changelog.html":{}}}],["simplechanges",{"_index":954,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["simplifies",{"_index":2554,"title":{},"body":{"changelog.html":{}}}],["simultaneously",{"_index":322,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["single",{"_index":263,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"interfaces/OrganInfo.html":{},"components/TextSearchComponent.html":{},"miscellaneous/functions.html":{}}}],["sites",{"_index":2482,"title":{},"body":{"changelog.html":{}}}],["sizable",{"_index":2641,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":616,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/XYZPositionComponent.html":{}}}],["skin",{"_index":1676,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["slider",{"_index":1589,"title":{},"body":{"components/OpacitySliderComponent.html":{},"dependencies.html":{}}}],["slider'},{'name",{"_index":521,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["slider.component",{"_index":1646,"title":{},"body":{"modules/OpacitySliderModule.html":{}}}],["slider.component.html",{"_index":1593,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.scss",{"_index":1592,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts",{"_index":1588,"title":{},"body":{"components/OpacitySliderComponent.html":{},"coverage.html":{}}}],["slider.component.ts:17",{"_index":1612,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:22",{"_index":1603,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:27",{"_index":1604,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:32",{"_index":1606,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:37",{"_index":1611,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:42",{"_index":1608,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:44",{"_index":1623,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:46",{"_index":1616,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:54",{"_index":1617,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:63",{"_index":1614,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:71",{"_index":1620,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:82",{"_index":1618,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.module.ts",{"_index":1645,"title":{},"body":{"modules/OpacitySliderModule.html":{}}}],["slider/opacity",{"_index":1587,"title":{},"body":{"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"coverage.html":{}}}],["slightly",{"_index":1458,"title":{},"body":{"injectables/LocalStorageService.html":{},"changelog.html":{}}}],["slow",{"_index":2567,"title":{},"body":{"changelog.html":{}}}],["small",{"_index":1759,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["smaller",{"_index":1892,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["software",{"_index":2983,"title":{},"body":{"index.html":{},"license.html":{}}}],["solved",{"_index":2636,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":2690,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":2426,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":2563,"title":{},"body":{"changelog.html":{}}}],["sort",{"_index":1014,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["sort((a",{"_index":1795,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["sort((i1",{"_index":1010,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["source",{"_index":14,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{}}}],["source.pipe",{"_index":1940,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["source.service.ts",{"_index":872,"title":{},"body":{"injectables/DataSourceService.html":{},"coverage.html":{}}}],["source.service.ts:12",{"_index":876,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:13",{"_index":880,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:14",{"_index":877,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:15",{"_index":879,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:16",{"_index":875,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:17",{"_index":881,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:19",{"_index":884,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:20",{"_index":873,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:21",{"_index":878,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:22",{"_index":874,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:23",{"_index":883,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:24",{"_index":882,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.ts",{"_index":834,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["source.ts:10",{"_index":842,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:11",{"_index":839,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:12",{"_index":841,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:13",{"_index":837,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:14",{"_index":843,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:16",{"_index":846,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:17",{"_index":835,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:18",{"_index":840,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:19",{"_index":836,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:20",{"_index":845,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:21",{"_index":844,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:36",{"_index":1094,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:40",{"_index":1098,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:44",{"_index":1095,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:48",{"_index":1097,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:52",{"_index":1093,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:56",{"_index":1099,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:60",{"_index":1102,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:64",{"_index":1091,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:68",{"_index":1096,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:72",{"_index":1092,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:76",{"_index":1101,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:80",{"_index":1100,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:84",{"_index":1090,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:9",{"_index":838,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:91",{"_index":1045,"title":{},"body":{"classes/DelegateDataSource.html":{}}}],["source/api",{"_index":89,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["source/ccf",{"_index":369,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["source/data",{"_index":833,"title":{},"body":{"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["source/injector",{"_index":1424,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{},"coverage.html":{}}}],["sources",{"_index":2509,"title":{},"body":{"changelog.html":{}}}],["space",{"_index":1394,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["sparc",{"_index":2558,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":2350,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":150,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["spatial_search_readme",{"_index":690,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialentity",{"_index":99,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{}}}],["spatialscenenode",{"_index":100,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{}}}],["spatialscenenodereviver",{"_index":211,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["spatialscenenodereviver(nodes",{"_index":2964,"title":{},"body":{"miscellaneous/functions.html":{}}}],["spatialsearch",{"_index":107,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["spatialsearchlistcomponent",{"_index":525,"title":{"components/SpatialSearchListComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["spatialsearchlistitem",{"_index":1969,"title":{"interfaces/SpatialSearchListItem.html":{}},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"coverage.html":{}}}],["spatialsearchlistmodule",{"_index":1985,"title":{"modules/SpatialSearchListModule.html":{}},"body":{"modules/SpatialSearchListModule.html":{},"modules.html":{},"overview.html":{}}}],["spec",{"_index":2459,"title":{},"body":{"changelog.html":{}}}],["spec.yaml",{"_index":3005,"title":{},"body":{"index.html":{}}}],["specific",{"_index":1195,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{}}}],["specification",{"_index":3004,"title":{},"body":{"index.html":{}}}],["specified",{"_index":644,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["speed",{"_index":2399,"title":{},"body":{"changelog.html":{}}}],["spinal",{"_index":1766,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["spinning",{"_index":2747,"title":{},"body":{"changelog.html":{}}}],["spleen",{"_index":1769,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["split",{"_index":1062,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["split.includes('\\n\\n",{"_index":1082,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["split.length",{"_index":1080,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["split.split(newline",{"_index":1086,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["splitbyheadertag",{"_index":1078,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["sprint",{"_index":2588,"title":{},"body":{"changelog.html":{}}}],["src",{"_index":643,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["stack",{"_index":938,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["stackop",{"_index":941,"title":{"interfaces/StackOp.html":{}},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"coverage.html":{}}}],["stackops",{"_index":985,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["stackops.shift",{"_index":995,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["stackops[0].index",{"_index":993,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["stage",{"_index":2213,"title":{},"body":{"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["staging",{"_index":2437,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["standalone",{"_index":2632,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":2679,"title":{},"body":{"changelog.html":{}}}],["standards",{"_index":2751,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":2985,"title":{},"body":{"index.html":{}}}],["start",{"_index":889,"title":{},"body":{"interfaces/DecoratedRange.html":{}}}],["started",{"_index":2323,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["starts",{"_index":988,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["startup",{"_index":2553,"title":{},"body":{"changelog.html":{}}}],["startwith",{"_index":288,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["state",{"_index":665,"title":{},"body":{"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalConfigState.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/StoreDebugComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["state.calltoaction",{"_index":793,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["state.expirationdate",{"_index":795,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["state.imageurl",{"_index":794,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["state.message",{"_index":792,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["state.popupshown",{"_index":796,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["state.title",{"_index":791,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["state[0",{"_index":2034,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["statecontext",{"_index":666,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["statement",{"_index":1022,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["statements",{"_index":2790,"title":{},"body":{"coverage.html":{}}}],["staterepository",{"_index":1141,"title":{},"body":{"injectables/GlobalConfigState.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["states",{"_index":2022,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["states.map(([key",{"_index":2025,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["states/call",{"_index":499,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["stateswithdata",{"_index":2027,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["statevalues",{"_index":2024,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["statevalues.filter(([_key",{"_index":2028,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["static",{"_index":20,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{}}}],["stay",{"_index":2787,"title":{},"body":{"changelog.html":{}}}],["step",{"_index":1829,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["still",{"_index":2575,"title":{},"body":{"changelog.html":{}}}],["stops",{"_index":1869,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["stopscroll",{"_index":1870,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["storage",{"_index":45,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["storage.length",{"_index":1482,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.removeitem(x",{"_index":1466,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.service",{"_index":679,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["storage.service.ts",{"_index":1440,"title":{},"body":{"injectables/LocalStorageService.html":{},"coverage.html":{}}}],["storage.service.ts:11",{"_index":1483,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.service.ts:41",{"_index":1485,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.service.ts:50",{"_index":1451,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.service.ts:60",{"_index":1448,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.service.ts:70",{"_index":1455,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.service.ts:83",{"_index":1453,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.service.ts:90",{"_index":1444,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.setitem(x",{"_index":1465,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage/local",{"_index":678,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/LocalStorageService.html":{},"coverage.html":{}}}],["store",{"_index":528,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["store.subscribe(root",{"_index":2030,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["stored",{"_index":1505,"title":{},"body":{"injectables/LocalStorageSyncService.html":{},"miscellaneous/variables.html":{}}}],["storedebugcomponent",{"_index":527,"title":{"components/StoreDebugComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["storedebugmodule",{"_index":2038,"title":{"modules/StoreDebugModule.html":{}},"body":{"modules/StoreDebugModule.html":{},"modules.html":{},"overview.html":{}}}],["stories",{"_index":2743,"title":{},"body":{"changelog.html":{}}}],["stream",{"_index":2941,"title":{},"body":{"dependencies.html":{},"miscellaneous/functions.html":{}}}],["streaming",{"_index":2939,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":49,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"components/OpacitySliderComponent.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["structure",{"_index":1048,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/PanelData.html":{},"changelog.html":{}}}],["structures",{"_index":2590,"title":{},"body":{"changelog.html":{}}}],["styles",{"_index":451,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["styleurls",{"_index":308,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["styling",{"_index":271,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"changelog.html":{}}}],["sub",{"_index":619,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/StoreDebugComponent.html":{}}}],["subclass",{"_index":1171,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["subject",{"_index":113,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"license.html":{},"miscellaneous/variables.html":{}}}],["sublicense",{"_index":3049,"title":{},"body":{"license.html":{}}}],["submit",{"_index":2098,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["submit(entry",{"_index":2107,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["subscribe((data",{"_index":1068,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["subscription",{"_index":1274,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"components/StoreDebugComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{}}}],["subscriptions",{"_index":1265,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/LocalStorageSyncService.html":{},"components/StoreDebugComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["substantial",{"_index":3060,"title":{},"body":{"license.html":{}}}],["subtitle",{"_index":1399,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["success/failure",{"_index":1457,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["such",{"_index":2349,"title":{},"body":{"changelog.html":{}}}],["suffix",{"_index":2070,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["suggestion",{"_index":264,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["suggestions",{"_index":294,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["super",{"_index":417,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["support",{"_index":2353,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["svg",{"_index":1657,"title":{},"body":{"interfaces/OrganInfo.html":{},"modules.html":{}}}],["swiper",{"_index":2944,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":1518,"title":{},"body":{"injectables/LocalStorageSyncService.html":{},"changelog.html":{}}}],["switched",{"_index":2649,"title":{},"body":{"changelog.html":{}}}],["switchmap",{"_index":116,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["switchmap(config",{"_index":424,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["switchmap(impl",{"_index":868,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["switchmap(this.getoptions",{"_index":338,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["symbol",{"_index":1210,"title":{},"body":{"injectables/GlobalsService.html":{},"miscellaneous/typealiases.html":{}}}],["sync",{"_index":2526,"title":{},"body":{"changelog.html":{}}}],["sync.service",{"_index":43,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["sync.service.ts",{"_index":1264,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageSyncService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["sync.service.ts:10",{"_index":1275,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["sync.service.ts:11",{"_index":1269,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["sync.service.ts:15",{"_index":1502,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["sync.service.ts:16",{"_index":1497,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["sync.service.ts:25",{"_index":1270,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["sync.service.ts:29",{"_index":1272,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["sync.service.ts:32",{"_index":1499,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["sync.service.ts:36",{"_index":1498,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["sync.service.ts:52",{"_index":1501,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["t",{"_index":134,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalsService.html":{},"interfaces/PluckUniqueOptions.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/StoreDebugComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["table",{"_index":2846,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":2445,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":2845,"title":{},"body":{"coverage.html":{}}}],["tag",{"_index":1375,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["tag.src",{"_index":1377,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["tagging",{"_index":2677,"title":{},"body":{"changelog.html":{}}}],["tags",{"_index":1064,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["take",{"_index":117,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"components/TextSearchComponent.html":{},"changelog.html":{}}}],["take(1",{"_index":223,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["takes",{"_index":928,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["tap",{"_index":118,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["tap(([endpoint",{"_index":224,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["tap(data",{"_index":753,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["target",{"_index":2231,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["target(value",{"_index":2233,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["technologies",{"_index":149,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"changelog.html":{}}}],["technology",{"_index":2622,"title":{},"body":{"changelog.html":{}}}],["telemetry",{"_index":2175,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"changelog.html":{}}}],["temp",{"_index":1629,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["template",{"_index":450,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["templateurl",{"_index":306,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["terms",{"_index":2347,"title":{},"body":{"changelog.html":{}}}],["test",{"_index":1229,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"changelog.html":{}}}],["testing",{"_index":1179,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{}}}],["tests",{"_index":1194,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["text",{"_index":300,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["text'},{'name",{"_index":514,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["text.component",{"_index":1044,"title":{},"body":{"modules/DecoratedTextModule.html":{}}}],["text.component.html",{"_index":915,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["text.component.scss",{"_index":914,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["text.component.ts",{"_index":910,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"coverage.html":{}}}],["text.component.ts:124",{"_index":936,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:145",{"_index":961,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:158",{"_index":942,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:173",{"_index":951,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:184",{"_index":948,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:41",{"_index":931,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:46",{"_index":930,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:52",{"_index":924,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:57",{"_index":965,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:64",{"_index":955,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:76",{"_index":932,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.length",{"_index":1003,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["text.module",{"_index":2087,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["text.module.ts",{"_index":1043,"title":{},"body":{"modules/DecoratedTextModule.html":{}}}],["text.slice(lastindex",{"_index":998,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["text/decorated",{"_index":291,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["textsearchcomponent",{"_index":312,"title":{"components/TextSearchComponent.html":{}},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["textsearchmodule",{"_index":2071,"title":{"modules/TextSearchModule.html":{}},"body":{"modules/TextSearchModule.html":{},"modules.html":{},"overview.html":{}}}],["theme",{"_index":2433,"title":{},"body":{"changelog.html":{}}}],["themes",{"_index":2431,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":2429,"title":{},"body":{"changelog.html":{}}}],["thick",{"_index":1790,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["this._bounds",{"_index":2235,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this._camera",{"_index":2239,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this._interactive",{"_index":2248,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this._occurencedata",{"_index":1834,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this._rotation",{"_index":2221,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this._rotationx",{"_index":2225,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this._scene",{"_index":2217,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this._target",{"_index":2232,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this._zoom",{"_index":2228,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.api.aggregateresults(params",{"_index":204,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.celltypetermoccurences(params",{"_index":208,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.celltypetreemodel(params",{"_index":197,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.dbstatus(params",{"_index":187,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.ontologytermoccurences(params",{"_index":206,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.ontologytreemodel(params",{"_index":195,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.providernames(params",{"_index":190,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.referenceorgans(params",{"_index":199,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.referenceorganscene(params",{"_index":213,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.scene(params",{"_index":210,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.technologynames(params",{"_index":192,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.tissueblocks(params",{"_index":202,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.bodycanvas",{"_index":2274,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodycanvas.nativeelement",{"_index":2275,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui",{"_index":2250,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui.finalize",{"_index":2318,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui.nodeclick$.subscribe((event",{"_index":2309,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui.nodedrag$.subscribe((event",{"_index":2307,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui.nodehoverstart$.subscribe((event",{"_index":2311,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui.nodehoverstop$.subscribe((event",{"_index":2313,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui.scenerotation$.subscribe((rotation",{"_index":2305,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui.setscene(this.scene",{"_index":2299,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui.settarget(this.target",{"_index":2303,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui?.setrotation(value",{"_index":2223,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui?.setrotationx(value",{"_index":2227,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui?.setscene(nodes",{"_index":2219,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui?.settarget(value",{"_index":2234,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui?.setzoom(value",{"_index":2230,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bounds",{"_index":2300,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.calltoactionclicked.emit",{"_index":591,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["this.camera",{"_index":2293,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.clearsubscriptions",{"_index":2317,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.closeclicked.emit",{"_index":590,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["this.config$.pipe",{"_index":1152,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["this.connectdatabase(manager",{"_index":426,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["this.consent",{"_index":830,"title":{},"body":{"injectables/ConsentService.html":{}}}],["this.consentchange.complete",{"_index":829,"title":{},"body":{"injectables/ConsentService.html":{}}}],["this.consentchange.next(this.consent",{"_index":828,"title":{},"body":{"injectables/ConsentService.html":{}}}],["this.consentchange.next(value",{"_index":831,"title":{},"body":{"injectables/ConsentService.html":{}}}],["this.consentservice.consent",{"_index":2117,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["this.consentservice.setconsent(entry",{"_index":2124,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["this.container",{"_index":2118,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["this.controller.setvalue(val",{"_index":319,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["this.controller.value",{"_index":317,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["this.controller.valuechanges",{"_index":336,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["this.createdatabase(config",{"_index":425,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["this.createsegments",{"_index":978,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["this.createstackops(decorations",{"_index":986,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["this.createworker(config",{"_index":441,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["this.ctx.patchstate",{"_index":2173,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["this.data.preclose",{"_index":2123,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["this.database",{"_index":419,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["this.defaultmaxoptions",{"_index":352,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["this.dialog.closeall",{"_index":749,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.dialog.open(calltoactionbehaviorcomponent",{"_index":758,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.dialog.open(infodialogcomponent",{"_index":736,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{}}}],["this.dialog.opendialogs.length",{"_index":1309,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["this.dialogref.close",{"_index":1385,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["this.dismiss",{"_index":2125,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["this.displayerrors",{"_index":1847,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.documentationcontents",{"_index":1373,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["this.dorequest",{"_index":194,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.dorequest(params",{"_index":186,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.el.nativeelement.value",{"_index":1576,"title":{},"body":{"directives/NumberDirective.html":{}}}],["this.findglobalobject",{"_index":1213,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["this.forwardcall('getaggregateresults",{"_index":860,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getcelltypetermoccurences",{"_index":862,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getcelltypetreemodel",{"_index":857,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getdatabasestatus",{"_index":853,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getdatasettechnologynames",{"_index":855,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getontologytermoccurences",{"_index":861,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getontologytreemodel",{"_index":856,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getprovidernames",{"_index":854,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getreferenceorgans",{"_index":858,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getreferenceorganscene",{"_index":864,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getscene",{"_index":863,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('gettissueblockresults",{"_index":859,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.ga.event('close",{"_index":768,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.ga.event('open",{"_index":761,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.ga.event('open_learn_more",{"_index":750,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.getdialogdata().pipe",{"_index":752,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.getnormalizeddecorations",{"_index":982,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["this.getpathkey(path",{"_index":1154,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["this.http.get(spatial_search_readme",{"_index":730,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.http.get(url",{"_index":1067,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["this.impl",{"_index":418,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["this.impl$.pipe",{"_index":867,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.infobuttonservice.updatedata(this.documentationurl",{"_index":1317,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["this.infoservice.parsemarkdown(data",{"_index":733,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.infotitle",{"_index":1319,"title":{},"body":{"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["this.initialized.emit",{"_index":2315,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.interactive",{"_index":2292,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.itemremoved.emit(item",{"_index":1979,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["this.items",{"_index":1972,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["this.launchinfodialog(data",{"_index":1308,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["this.launchlearnmore(data",{"_index":754,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.makeundecoratedsegment(text",{"_index":981,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["this.multiselect",{"_index":1882,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.nodeclick.emit(event",{"_index":2310,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.nodedrag.emit(event",{"_index":2308,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.nodehoverstart.emit(event",{"_index":2312,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.nodehoverstop.emit(event",{"_index":2314,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.onleft",{"_index":1858,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.onright",{"_index":1859,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.opacity",{"_index":1626,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["this.opacitychange.emit(this.opacity",{"_index":1628,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["this.opacityreset.emit",{"_index":1631,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["this.optioncache.get(key",{"_index":1156,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["this.optioncache.has(key",{"_index":1155,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["this.optioncache.set(key",{"_index":1159,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["this.organlist.length",{"_index":1895,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.organschanged.emit(this.selectedorgans",{"_index":1888,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.panelcontent.next(panelcontent",{"_index":1070,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["this.parsemarkdown(data",{"_index":1069,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["this.patchstate(config",{"_index":1151,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["this.prevopacity",{"_index":1625,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["this.recreatebodyui",{"_index":2251,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.root",{"_index":2031,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["this.rotationchange.next(rotation",{"_index":2306,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.saveconsent(consent",{"_index":1514,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["this.scene?.length",{"_index":2298,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.segments",{"_index":977,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["this.selectedorgans",{"_index":1883,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.selectedorgans.concat([organ",{"_index":1887,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.selectedorgans.filter((selectedorgan",{"_index":1885,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.selectedorgans.includes(organ",{"_index":1884,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.selectedorgans.length",{"_index":1848,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.selectionchanged.emit(selecteditems",{"_index":1977,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["this.selecttoken(config",{"_index":1435,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["this.sensor",{"_index":1839,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.sensor.detach",{"_index":1843,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.set",{"_index":1841,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.setconsent('not",{"_index":832,"title":{},"body":{"injectables/ConsentService.html":{}}}],["this.setleftright(val",{"_index":1862,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.setstate(config",{"_index":1150,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["this.setupbodyui",{"_index":2271,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.shift(dir",{"_index":1867,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.state$.pipe(filternulls",{"_index":1149,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["this.step",{"_index":1860,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.storage",{"_index":1509,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["this.storage.getitem(popup_shown_storage_key",{"_index":723,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.storage.setitem(popup_shown_storage_key",{"_index":762,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.storage?.getitem?.(this.key",{"_index":1516,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["this.storage?.setitem?.(this.key",{"_index":1521,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["this.subscriptions",{"_index":2304,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.subscriptions.add",{"_index":1512,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["this.subscriptions.add(consentservice.consentchange.subscribe",{"_index":1282,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["this.subscriptions.add(infobuttonservice.panelcontent.subscribe(data",{"_index":1306,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["this.subscriptions.add(sub",{"_index":2033,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["this.subscriptions.foreach(s",{"_index":2320,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.subscriptions.unsubscribe",{"_index":1284,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/LocalStorageSyncService.html":{},"components/StoreDebugComponent.html":{}}}],["this.target",{"_index":2302,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.timeouthandler",{"_index":1865,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.togglegoogleanalytics(consent",{"_index":1283,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["this.token",{"_index":1281,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["this.updatestack(stack",{"_index":994,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["this.valuechange",{"_index":344,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["this.videoid",{"_index":1318,"title":{},"body":{"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["this.visibilitytoggle.emit",{"_index":1630,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["this.visible",{"_index":1624,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["this.window",{"_index":1285,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["this.window[`ga",{"_index":1286,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["this.zoom",{"_index":2285,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.zoomtobounds(this.bounds",{"_index":2301,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.zoomtobounds(value",{"_index":2237,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["throttletime",{"_index":1527,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["throttletime(1000",{"_index":1542,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["through",{"_index":2691,"title":{},"body":{"changelog.html":{}}}],["throws",{"_index":1220,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["thumbnails",{"_index":2599,"title":{},"body":{"changelog.html":{}}}],["thymus",{"_index":1772,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["tied",{"_index":2602,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":2700,"title":{},"body":{"changelog.html":{}}}],["time",{"_index":296,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["timeouthandler",{"_index":1824,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["timeouts",{"_index":2409,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":2403,"title":{},"body":{"changelog.html":{}}}],["tissue",{"_index":2413,"title":{},"body":{"changelog.html":{}}}],["tissueblockresult",{"_index":101,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{}}}],["tissues",{"_index":2451,"title":{},"body":{"changelog.html":{}}}],["title",{"_index":475,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/PanelData.html":{}}}],["title(state",{"_index":787,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["tmc",{"_index":2779,"title":{},"body":{"changelog.html":{}}}],["toattributes",{"_index":70,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["toattributes(obj",{"_index":57,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"miscellaneous/functions.html":{}}}],["today",{"_index":714,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["toggle",{"_index":1621,"title":{},"body":{"components/OpacitySliderComponent.html":{},"changelog.html":{}}}],["togglegoogleanalytics",{"_index":1266,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["togglegoogleanalytics(disabled",{"_index":1271,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["togglevisibility",{"_index":1597,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["token",{"_index":137,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["tonsil",{"_index":1738,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["tool",{"_index":2633,"title":{},"body":{"changelog.html":{}}}],["top",{"_index":631,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/TextSearchComponent.html":{}}}],["tort",{"_index":3077,"title":{},"body":{"license.html":{}}}],["trachea",{"_index":1775,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["tracker.module.ts",{"_index":1524,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["tracking",{"_index":532,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"components/XYZPositionComponent.html":{}}}],["tracking/telemetry",{"_index":2536,"title":{},"body":{"changelog.html":{}}}],["trackingcode",{"_index":1280,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["trackingpopupcomponent",{"_index":531,"title":{"components/TrackingPopupComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["trackingpopupmodule",{"_index":2152,"title":{"modules/TrackingPopupModule.html":{}},"body":{"modules/TrackingPopupModule.html":{},"modules.html":{},"overview.html":{}}}],["trackingstate",{"_index":2158,"title":{"injectables/TrackingState.html":{}},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"coverage.html":{}}}],["trackingstatemodel",{"_index":2164,"title":{"interfaces/TrackingStateModel.html":{}},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"coverage.html":{}}}],["trackmouseposition",{"_index":2807,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["trackmouseposition((document",{"_index":1555,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["trackmouseposition(el",{"_index":1528,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"miscellaneous/functions.html":{}}}],["transformmatrix",{"_index":173,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["transition",{"_index":609,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["transparency",{"_index":2634,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":2653,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":453,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["true",{"_index":74,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["try",{"_index":1244,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"changelog.html":{}}}],["ts",{"_index":121,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"dependencies.html":{}}}],["tslib",{"_index":2947,"title":{},"body":{"dependencies.html":{}}}],["tube",{"_index":1693,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["tuned",{"_index":2788,"title":{},"body":{"changelog.html":{}}}],["turn",{"_index":1027,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["turned",{"_index":2605,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":2603,"title":{},"body":{"changelog.html":{}}}],["tutorial",{"_index":2506,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":2710,"title":{},"body":{"changelog.html":{}}}],["type",{"_index":28,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["type='[calltoaction",{"_index":810,"title":{},"body":{"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{}}}],["typealiases",{"_index":3086,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typed",{"_index":1548,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["typeerror",{"_index":1221,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["typeof",{"_index":1211,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/LocalStorageSyncService.html":{},"interfaces/PluckUniqueOptions.html":{}}}],["types",{"_index":1553,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["types/lru",{"_index":2886,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":1255,"title":{},"body":{"injectables/GlobalsService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/OrganInfo.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":2758,"title":{},"body":{"changelog.html":{}}}],["typings",{"_index":1878,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["u",{"_index":135,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["uberon",{"_index":1661,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["ufl",{"_index":2598,"title":{},"body":{"changelog.html":{}}}],["ufxmpzatowe",{"_index":743,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["ui",{"_index":2210,"title":{},"body":{"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["ui'},{'name",{"_index":509,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["ui.component",{"_index":367,"title":{},"body":{"modules/BodyUiModule.html":{}}}],["ui.component.html",{"_index":2214,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["ui.component.scss",{"_index":2215,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["ui.component.ts",{"_index":2206,"title":{},"body":{"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["ui.module.ts",{"_index":361,"title":{},"body":{"modules/BodyUiModule.html":{}}}],["ui.netlify.app",{"_index":2988,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":2998,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":2995,"title":{},"body":{"index.html":{}}}],["ui/body",{"_index":360,"title":{},"body":{"modules/BodyUiModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["ui/organ",{"_index":2997,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":2996,"title":{},"body":{"index.html":{}}}],["uis",{"_index":2339,"title":{},"body":{"changelog.html":{}}}],["ul",{"_index":1403,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["undefined",{"_index":76,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageService.html":{},"interfaces/OrganInfo.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["under",{"_index":574,"title":{},"body":{"components/CallToActionComponent.html":{},"injectables/LocalStorageSyncService.html":{},"miscellaneous/variables.html":{}}}],["understand",{"_index":2129,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["unique",{"_index":272,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{}}}],["unique.ts",{"_index":1916,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["university",{"_index":3024,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":162,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/DataSource.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalsService.html":{},"interfaces/OrganInfo.html":{},"interfaces/PluckUniqueOptions.html":{},"components/TextSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["unless",{"_index":1235,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["unnecessary",{"_index":2522,"title":{},"body":{"changelog.html":{}}}],["unsafe",{"_index":2120,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["unselect",{"_index":2569,"title":{},"body":{"changelog.html":{}}}],["unsetconsent",{"_index":816,"title":{},"body":{"injectables/ConsentService.html":{}}}],["unsubscribable",{"_index":413,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["unsubscribe",{"_index":437,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/InfoButtonComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["until",{"_index":2607,"title":{},"body":{"changelog.html":{}}}],["unused",{"_index":1963,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{}}}],["up",{"_index":2008,"title":{},"body":{"components/StoreDebugComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["update",{"_index":1065,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"changelog.html":{}}}],["updated",{"_index":1607,"title":{},"body":{"components/OpacitySliderComponent.html":{},"changelog.html":{}}}],["updatedata",{"_index":1333,"title":{},"body":{"injectables/InfoButtonService.html":{}}}],["updatedata(url",{"_index":1066,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["updateitemselection",{"_index":1950,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["updateitemselection(index",{"_index":1966,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["updates",{"_index":1305,"title":{},"body":{"components/InfoButtonComponent.html":{},"directives/NumberDirective.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"changelog.html":{}}}],["updatestack",{"_index":923,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["updatestack(stack",{"_index":959,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["upgraded",{"_index":2696,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":2763,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":2540,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":2630,"title":{},"body":{"changelog.html":{}}}],["ureter",{"_index":1778,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["urinary",{"_index":1783,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["url",{"_index":1338,"title":{},"body":{"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/OrganInfo.html":{}}}],["us/docs/web/api/web_storage_api/using_the_web_storage_api",{"_index":1461,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["usage",{"_index":2127,"title":{},"body":{"components/TrackingPopupComponent.html":{},"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":3011,"title":{},"body":{"index.html":{}}}],["use",{"_index":2338,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["usecase",{"_index":3016,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":3013,"title":{},"body":{"index.html":{}}}],["used",{"_index":903,"title":{},"body":{"interfaces/DecoratedRange.html":{},"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["usefactory",{"_index":75,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["useful",{"_index":1177,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["user",{"_index":696,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"changelog.html":{},"index.html":{}}}],["user/os",{"_index":2514,"title":{},"body":{"changelog.html":{}}}],["users",{"_index":2774,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":2529,"title":{},"body":{"changelog.html":{}}}],["using",{"_index":414,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["uterus",{"_index":1787,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["utilities",{"_index":2519,"title":{},"body":{"changelog.html":{}}}],["utility",{"_index":160,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["uuid",{"_index":2948,"title":{},"body":{"dependencies.html":{}}}],["v1.1",{"_index":2446,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":2346,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":2337,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":2617,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":2448,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":2440,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":2411,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":2383,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":2357,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":2391,"title":{},"body":{"changelog.html":{}}}],["v2.1.0",{"_index":2344,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":2333,"title":{},"body":{"changelog.html":{}}}],["v3",{"_index":2361,"title":{},"body":{"changelog.html":{}}}],["val",{"_index":1856,"title":{},"body":{"interfaces/OrganInfo.html":{},"components/TextSearchComponent.html":{}}}],["valid",{"_index":944,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["value",{"_index":62,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"components/OpacitySliderComponent.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["value(val",{"_index":318,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["value.tolowercase",{"_index":2169,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["valuechange",{"_index":330,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["values",{"_index":69,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"components/DecoratedTextComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/XYZPositionComponent.html":{},"miscellaneous/functions.html":{}}}],["values.length",{"_index":2029,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["var",{"_index":507,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["variable",{"_index":1406,"title":{},"body":{"components/InfoDialogComponent.html":{},"coverage.html":{}}}],["variables",{"_index":3092,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["vasculature",{"_index":1792,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["version",{"_index":2461,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["vertical",{"_index":618,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{}}}],["very",{"_index":2687,"title":{},"body":{"changelog.html":{}}}],["via",{"_index":2408,"title":{},"body":{"changelog.html":{}}}],["video",{"_index":1370,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"changelog.html":{}}}],["videoid",{"_index":742,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/PanelData.html":{}}}],["view",{"_index":2528,"title":{},"body":{"changelog.html":{}}}],["viewchild",{"_index":1668,"title":{},"body":{"interfaces/OrganInfo.html":{},"interfaces/XYZTriplet.html":{}}}],["viewchild('bodycanvas",{"_index":2265,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["viewchild('carouselcontainer",{"_index":1806,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["viewchild('itemcontainer",{"_index":1810,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["viewchild('itemlist",{"_index":1808,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["viewed",{"_index":1803,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["viewer",{"_index":2592,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":2377,"title":{},"body":{"changelog.html":{}}}],["views",{"_index":2531,"title":{},"body":{"changelog.html":{}}}],["visibility",{"_index":1622,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["visibilitytoggle",{"_index":1601,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["visible",{"_index":1598,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["visual",{"_index":2375,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":2561,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":2697,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":585,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DocumentationContent.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"interfaces/XYZTriplet.html":{}}}],["vs",{"_index":2504,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":2784,"title":{},"body":{"changelog.html":{}}}],["walkthrough",{"_index":3012,"title":{},"body":{"index.html":{}}}],["warming",{"_index":2407,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":2718,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":3064,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":3062,"title":{},"body":{"license.html":{}}}],["web",{"_index":1243,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{}}}],["webcomponent",{"_index":2503,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":2887,"title":{},"body":{"dependencies.html":{}}}],["webpages",{"_index":2467,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":2984,"title":{},"body":{"index.html":{}}}],["week",{"_index":2789,"title":{},"body":{"changelog.html":{}}}],["weight",{"_index":1401,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/XYZPositionComponent.html":{}}}],["well",{"_index":1929,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["whether",{"_index":569,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalsService.html":{},"components/InfoButtonComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"license.html":{}}}],["white",{"_index":652,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["whole",{"_index":2786,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":623,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["window",{"_index":1241,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"interfaces/XYZTriplet.html":{}}}],["window.devicepixelratio",{"_index":2277,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["window.localstorage",{"_index":1462,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["within",{"_index":2596,"title":{},"body":{"changelog.html":{}}}],["without",{"_index":952,"title":{},"body":{"components/DecoratedTextComponent.html":{},"changelog.html":{},"license.html":{}}}],["worker",{"_index":440,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/GlobalsService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["worker.terminate",{"_index":444,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["workerccfdatabasedatasourceservice",{"_index":438,"title":{"injectables/WorkerCCFDatabaseDataSourceService.html":{}},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["workflows",{"_index":2655,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":2453,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":2670,"title":{},"body":{"changelog.html":{}}}],["wrap",{"_index":411,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["wrap(worker",{"_index":442,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["wrapper",{"_index":606,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/OpacitySliderComponent.html":{},"components/TextSearchComponent.html":{}}}],["writable",{"_index":1216,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["x",{"_index":1463,"title":{},"body":{"injectables/LocalStorageService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["xyz",{"_index":535,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{}}}],["xyzpositioncomponent",{"_index":534,"title":{"components/XYZPositionComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"coverage.html":{},"overview.html":{}}}],["xyzpositionmodule",{"_index":2199,"title":{"modules/XYZPositionModule.html":{}},"body":{"modules/XYZPositionModule.html":{},"modules.html":{},"overview.html":{}}}],["xyztriplet",{"_index":2205,"title":{"interfaces/XYZTriplet.html":{}},"body":{"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["y",{"_index":2185,"title":{},"body":{"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["yes",{"_index":242,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalsService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"miscellaneous/functions.html":{}}}],["youtube",{"_index":1361,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"changelog.html":{}}}],["youtubeplayermodule",{"_index":1420,"title":{},"body":{"modules/InfoDialogModule.html":{}}}],["z",{"_index":2146,"title":{},"body":{"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["zero",{"_index":989,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["zone.js",{"_index":2950,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":10,"title":{},"body":{"modules/AnalyticsModule.html":{},"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/NumbersOnlyModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"overview.html":{}}}],["zoom(value",{"_index":2229,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["zoomtobounds(bounds",{"_index":2272,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}]],"pipeline":["stemmer"]}, - "store": {"modules/AnalyticsModule.html":{"url":"modules/AnalyticsModule.html","title":"module - AnalyticsModule","body":"\n \n\n\n\n\n Modules\n AnalyticsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AnalyticsModule\n\n\n\ncluster_AnalyticsModule_providers\n\n\n\n\nConsentService\n\nConsentService\n\n\n\nAnalyticsModule\n\nAnalyticsModule\n\nAnalyticsModule -->\n\nConsentService->AnalyticsModule\n\n\n\n\n\nGoogleAnalyticsSyncService\n\nGoogleAnalyticsSyncService\n\nAnalyticsModule -->\n\nGoogleAnalyticsSyncService->AnalyticsModule\n\n\n\n\n\nLocalStorageSyncService\n\nLocalStorageSyncService\n\nAnalyticsModule -->\n\nLocalStorageSyncService->AnalyticsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/analytics/src/lib/analytics.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ConsentService\n \n \n GoogleAnalyticsSyncService\n \n \n LocalStorageSyncService\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: AnalyticsOptions)\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/analytics.module.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n AnalyticsOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ModuleWithProviders\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { IGoogleAnalyticsCommand, NgxGoogleAnalyticsModule } from 'ngx-google-analytics';\n\nimport { ConsentService } from './consent.service';\nimport { GoogleAnalyticsSyncService } from './google-analytics-sync.service';\nimport { LocalStorageSyncService } from './local-storage-sync.service';\n\n\nexport interface AnalyticsOptions {\n gaToken: string;\n\n appName?: string;\n projectName?: string;\n\n developmentMode?: boolean;\n}\n\n\nconst EAGERLY_LOADED_SERVICES = [\n ConsentService,\n GoogleAnalyticsSyncService,\n LocalStorageSyncService,\n];\n\n\nfunction toAttributes(obj: Record): Record {\n return Object.entries(obj).reduce>((attrs, [key, value]) => {\n if (value != null) {\n attrs[key] = `${value}`;\n }\n\n return attrs;\n }, {});\n}\n\nfunction initCommands(options: AnalyticsOptions): IGoogleAnalyticsCommand[] {\n const { appName, projectName, developmentMode } = options;\n\n return [\n {\n command: 'set',\n values: [toAttributes({\n appName,\n projectName,\n developmentMode\n })]\n }\n ];\n}\n\n\n@NgModule({\n imports: [\n NgxGoogleAnalyticsModule\n ],\n providers: [\n ...EAGERLY_LOADED_SERVICES,\n\n {\n provide: APP_INITIALIZER,\n multi: true,\n useFactory: () => () => undefined,\n deps: EAGERLY_LOADED_SERVICES\n }\n ]\n})\nexport class AnalyticsModule {\n static forRoot(options: AnalyticsOptions): ModuleWithProviders {\n const { providers = [] } = NgxGoogleAnalyticsModule.forRoot(\n options.gaToken,\n initCommands(options)\n );\n\n return { ngModule: AnalyticsModule, providers };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AnalyticsOptions.html":{"url":"interfaces/AnalyticsOptions.html","title":"interface - AnalyticsOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AnalyticsOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/analytics/src/lib/analytics.module.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n appName\n \n \n \n Optional\n \n developmentMode\n \n \n \n \n gaToken\n \n \n \n Optional\n \n projectName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n appName\n \n \n \n \n \n \n \n \n appName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n developmentMode\n \n \n \n \n \n \n \n \n developmentMode: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n gaToken\n \n \n \n \n \n \n \n \n gaToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n projectName\n \n \n \n \n \n \n \n \n projectName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { IGoogleAnalyticsCommand, NgxGoogleAnalyticsModule } from 'ngx-google-analytics';\n\nimport { ConsentService } from './consent.service';\nimport { GoogleAnalyticsSyncService } from './google-analytics-sync.service';\nimport { LocalStorageSyncService } from './local-storage-sync.service';\n\n\nexport interface AnalyticsOptions {\n gaToken: string;\n\n appName?: string;\n projectName?: string;\n\n developmentMode?: boolean;\n}\n\n\nconst EAGERLY_LOADED_SERVICES = [\n ConsentService,\n GoogleAnalyticsSyncService,\n LocalStorageSyncService,\n];\n\n\nfunction toAttributes(obj: Record): Record {\n return Object.entries(obj).reduce>((attrs, [key, value]) => {\n if (value != null) {\n attrs[key] = `${value}`;\n }\n\n return attrs;\n }, {});\n}\n\nfunction initCommands(options: AnalyticsOptions): IGoogleAnalyticsCommand[] {\n const { appName, projectName, developmentMode } = options;\n\n return [\n {\n command: 'set',\n values: [toAttributes({\n appName,\n projectName,\n developmentMode\n })]\n }\n ];\n}\n\n\n@NgModule({\n imports: [\n NgxGoogleAnalyticsModule\n ],\n providers: [\n ...EAGERLY_LOADED_SERVICES,\n\n {\n provide: APP_INITIALIZER,\n multi: true,\n useFactory: () => () => undefined,\n deps: EAGERLY_LOADED_SERVICES\n }\n ]\n})\nexport class AnalyticsModule {\n static forRoot(options: AnalyticsOptions): ModuleWithProviders {\n const { providers = [] } = NgxGoogleAnalyticsModule.forRoot(\n options.gaToken,\n initCommands(options)\n );\n\n return { ngModule: AnalyticsModule, providers };\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ApiEndpointDataSourceOptions.html":{"url":"interfaces/ApiEndpointDataSourceOptions.html","title":"interface - ApiEndpointDataSourceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ApiEndpointDataSourceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n hubmapToken\n \n \n \n \n remoteApiEndpoint\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n hubmapToken\n \n \n \n \n \n \n \n \n hubmapToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remoteApiEndpoint\n \n \n \n \n \n \n \n \n remoteApiEndpoint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport {\n AggregateResult, Filter, OntologyTreeModel, SpatialEntity, SpatialSceneNode, TissueBlockResult,\n} from 'ccf-database';\nimport { DatabaseStatus, DefaultService, MinMax, SpatialSearch, SpatialSceneNode as RawSpatialSceneNode } from 'ccf-openapi/angular-client';\nimport { combineLatest, Observable, Subject } from 'rxjs';\nimport { map, switchMap, take, tap } from 'rxjs/operators';\nimport { Cacheable } from 'ts-cacheable';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSource } from './data-source';\n\n\nexport interface ApiEndpointDataSourceOptions {\n remoteApiEndpoint: string;\n hubmapToken?: string;\n}\n\n// Not exported from ts-cacheable!?\ntype IObservableCacheConfig = NonNullable[0]>;\n\ntype RequestMethod = (params: P) => Observable;\ntype DataReviver = (data: T) => U;\n\ninterface DefaultParams {\n token?: string;\n}\n\ninterface FilterParams {\n age?: MinMax;\n ageRange?: string;\n bmi?: MinMax;\n bmiRange?: string;\n ontologyTerms?: string[];\n cellTypeTerms?: string[];\n providers?: string[];\n sex?: 'both' | 'female' | 'male';\n technologies?: string[];\n spatial?: SpatialSearch[];\n}\n\n\n// Cache config\nconst buster$ = new Subject();\n\nconst CACHE_CONFIG_NO_PARAMS: IObservableCacheConfig = {\n cacheBusterObserver: buster$\n};\n\nconst CACHE_CONFIG_PARAMS: IObservableCacheConfig = {\n cacheBusterObserver: buster$,\n maxCacheCount: 4\n};\n\n\n// Utility\nfunction cast(): (data: unknown) => T {\n return data => data as T;\n}\n\nfunction rangeToMinMax(\n range: [number, number] | undefined,\n low: number, high: number\n): MinMax | undefined {\n return range ? {\n min: range[0] > low ? range[0] : undefined,\n max: range[1] ({\n ...(node as SpatialSceneNode),\n transformMatrix: new Matrix4(node.transformMatrix ?? [])\n }));\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiEndpointDataSourceService implements DataSource {\n constructor(\n private readonly api: DefaultService,\n private readonly globalConfig: GlobalConfigState\n ) {\n globalConfig.getOption('hubmapToken').subscribe(buster$);\n }\n\n getDatabaseStatus(): Observable {\n return this.doRequest(params => this.api.dbStatus(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getProviderNames(): Observable {\n return this.doRequest(params => this.api.providerNames(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getDatasetTechnologyNames(): Observable {\n return this.doRequest(params => this.api.technologyNames(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getOntologyTreeModel(): Observable {\n return this.doRequest(\n params => this.api.ontologyTreeModel(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getCellTypeTreeModel(): Observable {\n return this.doRequest(\n params => this.api.cellTypeTreeModel(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getReferenceOrgans(): Observable {\n return this.doRequest(\n params => this.api.referenceOrgans(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getTissueBlockResults(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.tissueBlocks(params),\n filter, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getAggregateResults(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.aggregateResults(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getOntologyTermOccurences(filter?: Filter): Observable> {\n return this.doRequest(\n params => this.api.ontologyTermOccurences(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getCellTypeTermOccurences(filter?: Filter): Observable> {\n return this.doRequest(\n params => this.api.cellTypeTermOccurences(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getScene(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.scene(params),\n filter, {}, spatialSceneNodeReviver\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.referenceOrganScene(params),\n filter, { organIri }, spatialSceneNodeReviver\n );\n }\n\n private doRequest(\n method: RequestMethod,\n filter?: Filter | undefined,\n params?: P\n ): Observable;\n private doRequest(\n method: RequestMethod,\n filter: Filter | undefined,\n params: P | undefined,\n reviver: DataReviver\n ): Observable;\n private doRequest(\n method: RequestMethod,\n filter: Filter | undefined,\n params?: P,\n reviver?: DataReviver\n ): Observable {\n const { api, globalConfig } = this;\n const requestParams = { ...filterToParams(filter), ...params };\n\n return combineLatest([\n globalConfig.getOption('remoteApiEndpoint'),\n globalConfig.getOption('hubmapToken')\n ]).pipe(\n take(1),\n tap(([endpoint, token]) => {\n api.configuration.basePath = endpoint;\n if (token) {\n requestParams['token'] = token;\n }\n }),\n switchMap(() => method(requestParams)),\n map(data => reviver ? reviver(data) : data)\n );\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ApiEndpointDataSourceService.html":{"url":"injectables/ApiEndpointDataSourceService.html","title":"injectable - ApiEndpointDataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ApiEndpointDataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n doRequest\n \n \n Private\n doRequest\n \n \n Private\n doRequest\n \n \n getAggregateResults\n \n \n getCellTypeTermOccurences\n \n \n getCellTypeTreeModel\n \n \n getDatabaseStatus\n \n \n getDatasetTechnologyNames\n \n \n getOntologyTermOccurences\n \n \n getOntologyTreeModel\n \n \n getProviderNames\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getScene\n \n \n getTissueBlockResults\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(api: DefaultService, globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:96\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n api\n \n \n DefaultService\n \n \n \n No\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n doRequest\n \n \n \n \n \n \n \n doRequest(method: RequestMethod, filter?: Filter | undefined, params?: P)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:190\n \n \n\n \n \n Type parameters :\n \n T\n P\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n RequestMethod\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter | undefined\n \n\n \n Yes\n \n\n\n \n \n params\n \n P\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n doRequest\n \n \n \n \n \n \n \n doRequest(method: RequestMethod, filter: Filter | undefined, params: P | undefined, reviver: DataReviver)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:195\n \n \n\n \n \n Type parameters :\n \n T\n P\n U\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n RequestMethod\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter | undefined\n \n\n \n No\n \n\n\n \n \n params\n \n P | undefined\n \n\n \n No\n \n\n\n \n \n reviver\n \n DataReviver\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n doRequest\n \n \n \n \n \n \n \n doRequest(method: RequestMethod, filter: Filter | undefined, params?: P, reviver?: DataReviver)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:201\n \n \n\n \n \n Type parameters :\n \n P\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n RequestMethod\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter | undefined\n \n\n \n No\n \n\n\n \n \n params\n \n P\n \n\n \n Yes\n \n\n\n \n \n reviver\n \n DataReviver\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:151\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:167\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:127\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseStatus\n \n \n \n \n \n \ngetDatabaseStatus()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:104\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n \n \ngetDatasetTechnologyNames()\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:114\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:159\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:119\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getProviderNames\n \n \n \n \n \n \ngetProviderNames()\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:109\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:135\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:183\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:175\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport {\n AggregateResult, Filter, OntologyTreeModel, SpatialEntity, SpatialSceneNode, TissueBlockResult,\n} from 'ccf-database';\nimport { DatabaseStatus, DefaultService, MinMax, SpatialSearch, SpatialSceneNode as RawSpatialSceneNode } from 'ccf-openapi/angular-client';\nimport { combineLatest, Observable, Subject } from 'rxjs';\nimport { map, switchMap, take, tap } from 'rxjs/operators';\nimport { Cacheable } from 'ts-cacheable';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSource } from './data-source';\n\n\nexport interface ApiEndpointDataSourceOptions {\n remoteApiEndpoint: string;\n hubmapToken?: string;\n}\n\n// Not exported from ts-cacheable!?\ntype IObservableCacheConfig = NonNullable[0]>;\n\ntype RequestMethod = (params: P) => Observable;\ntype DataReviver = (data: T) => U;\n\ninterface DefaultParams {\n token?: string;\n}\n\ninterface FilterParams {\n age?: MinMax;\n ageRange?: string;\n bmi?: MinMax;\n bmiRange?: string;\n ontologyTerms?: string[];\n cellTypeTerms?: string[];\n providers?: string[];\n sex?: 'both' | 'female' | 'male';\n technologies?: string[];\n spatial?: SpatialSearch[];\n}\n\n\n// Cache config\nconst buster$ = new Subject();\n\nconst CACHE_CONFIG_NO_PARAMS: IObservableCacheConfig = {\n cacheBusterObserver: buster$\n};\n\nconst CACHE_CONFIG_PARAMS: IObservableCacheConfig = {\n cacheBusterObserver: buster$,\n maxCacheCount: 4\n};\n\n\n// Utility\nfunction cast(): (data: unknown) => T {\n return data => data as T;\n}\n\nfunction rangeToMinMax(\n range: [number, number] | undefined,\n low: number, high: number\n): MinMax | undefined {\n return range ? {\n min: range[0] > low ? range[0] : undefined,\n max: range[1] ({\n ...(node as SpatialSceneNode),\n transformMatrix: new Matrix4(node.transformMatrix ?? [])\n }));\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiEndpointDataSourceService implements DataSource {\n constructor(\n private readonly api: DefaultService,\n private readonly globalConfig: GlobalConfigState\n ) {\n globalConfig.getOption('hubmapToken').subscribe(buster$);\n }\n\n getDatabaseStatus(): Observable {\n return this.doRequest(params => this.api.dbStatus(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getProviderNames(): Observable {\n return this.doRequest(params => this.api.providerNames(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getDatasetTechnologyNames(): Observable {\n return this.doRequest(params => this.api.technologyNames(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getOntologyTreeModel(): Observable {\n return this.doRequest(\n params => this.api.ontologyTreeModel(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getCellTypeTreeModel(): Observable {\n return this.doRequest(\n params => this.api.cellTypeTreeModel(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getReferenceOrgans(): Observable {\n return this.doRequest(\n params => this.api.referenceOrgans(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getTissueBlockResults(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.tissueBlocks(params),\n filter, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getAggregateResults(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.aggregateResults(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getOntologyTermOccurences(filter?: Filter): Observable> {\n return this.doRequest(\n params => this.api.ontologyTermOccurences(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getCellTypeTermOccurences(filter?: Filter): Observable> {\n return this.doRequest(\n params => this.api.cellTypeTermOccurences(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getScene(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.scene(params),\n filter, {}, spatialSceneNodeReviver\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.referenceOrganScene(params),\n filter, { organIri }, spatialSceneNodeReviver\n );\n }\n\n private doRequest(\n method: RequestMethod,\n filter?: Filter | undefined,\n params?: P\n ): Observable;\n private doRequest(\n method: RequestMethod,\n filter: Filter | undefined,\n params: P | undefined,\n reviver: DataReviver\n ): Observable;\n private doRequest(\n method: RequestMethod,\n filter: Filter | undefined,\n params?: P,\n reviver?: DataReviver\n ): Observable {\n const { api, globalConfig } = this;\n const requestParams = { ...filterToParams(filter), ...params };\n\n return combineLatest([\n globalConfig.getOption('remoteApiEndpoint'),\n globalConfig.getOption('hubmapToken')\n ]).pipe(\n take(1),\n tap(([endpoint, token]) => {\n api.configuration.basePath = endpoint;\n if (token) {\n requestParams['token'] = token;\n }\n }),\n switchMap(() => method(requestParams)),\n map(data => reviver ? reviver(data) : data)\n );\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AutoCompleteOption.html":{"url":"interfaces/AutoCompleteOption.html","title":"interface - AutoCompleteOption","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AutoCompleteOption\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/text-search/text-search.component.ts\n \n\n\n \n Description\n \n \n A single suggestion to show in autocomplete\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n decorations\n \n \n \n \n id\n \n \n \n \n label\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n decorations\n \n \n \n \n \n \n \n \n decorations: Partial[]\n\n \n \n\n\n \n \n Type : Partial[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Optional styling of the label\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: \n\n \n \n\n\n\n\n\n\n\n \n \n A unique id\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n The displayed label\n\n \n \n \n \n \n \n\n\n \n import {\n ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Inject, InjectionToken, Input, Output,\n} from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { bind as Bind } from 'bind-decorator';\nimport { from, Observable, ObservableInput } from 'rxjs';\nimport { distinctUntilChanged, map, startWith, switchMap, take } from 'rxjs/operators';\n\nimport { DecoratedRange } from '../decorated-text/decorated-range';\n\n\n/** A single suggestion to show in autocomplete */\nexport interface AutoCompleteOption {\n /** A unique id */\n id: unknown;\n /** The displayed label */\n label: string;\n /** Optional styling of the label */\n decorations?: Partial[];\n}\n\n/**\n * Token to provide a default for the maximum number of\n * autocomplete suggestions to show at the same time.\n */\nexport const DEFAULT_MAX_OPTIONS = new InjectionToken(\n 'Maximum number of autocomplete options displayed',\n {\n providedIn: 'root',\n factory(): number {\n return 10;\n }\n }\n);\n\n\n/**\n * A text search bar with optional autocompletion functionality.\n */\n@Component({\n selector: 'ccf-text-search',\n templateUrl: './text-search.component.html',\n styleUrls: ['./text-search.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TextSearchComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-text-search';\n\n /**\n * Placeholder text for the search bar\n */\n @Input() placeholder = 'Search...';\n\n /**\n * The text to show on the search bar\n */\n @Input()\n get value(): string {\n return this.controller.value as string;\n }\n\n set value(val: string) {\n this.controller.setValue(val, { emitEvent: false });\n }\n\n /**\n * Maximum number of autocomplete suggestions to show simultaneously\n */\n @Input() maxOptions?: number;\n\n /**\n * Function providing the autocomplete suggestions.\n * Receives the latest search bar text and the maximum of suggestions to provide.\n */\n @Input() autoCompleter?: (search: string, max: number) => ObservableInput;\n\n /**\n * Emits when the search bar text changes\n */\n @Output() readonly valueChange: Observable;\n\n /**\n * Emits when an autocomplete option has been selected\n */\n @Output() readonly optionSelected = new EventEmitter();\n\n /**\n * Form controller for search bar\n */\n readonly controller = new FormControl();\n\n /**\n * Emits the latest autocomplete suggestions\n */\n readonly options = (this.controller.valueChanges as Observable).pipe(\n startWith(''),\n distinctUntilChanged(),\n switchMap(this.getOptions)\n );\n\n /**\n * Creates an instance of text search component.\n *\n * @param defaultMaxOptions The default value for `maxOptions`\n */\n constructor(\n @Inject(DEFAULT_MAX_OPTIONS) private readonly defaultMaxOptions: number\n ) {\n this.valueChange = this.controller.valueChanges;\n }\n\n /**\n * Fetches the latest autocomplete suggestions for the provided search text.\n *\n * @param search The search text to find suggestions for\n * @returns The found suggestions\n */\n @Bind\n private async getOptions(search: string): Promise {\n const { autoCompleter, maxOptions = this.defaultMaxOptions } = this;\n if (!autoCompleter || maxOptions array.length \n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/BodyUiModule.html":{"url":"modules/BodyUiModule.html","title":"module - BodyUiModule","body":"\n \n\n\n\n\n Modules\n BodyUiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_BodyUiModule\n\n\n\ncluster_BodyUiModule_declarations\n\n\n\ncluster_BodyUiModule_exports\n\n\n\n\nBodyUiComponent\n\nBodyUiComponent\n\n\n\nBodyUiModule\n\nBodyUiModule\n\nBodyUiModule -->\n\nBodyUiComponent->BodyUiModule\n\n\n\n\n\nBodyUiComponent \n\nBodyUiComponent \n\nBodyUiComponent -->\n\nBodyUiModule->BodyUiComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/body-ui/body-ui.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n BodyUiComponent\n \n \n \n \n Exports\n \n \n BodyUiComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BodyUiComponent } from './body-ui.component';\n\n@NgModule({\n declarations: [BodyUiComponent],\n imports: [\n CommonModule\n ],\n exports: [BodyUiComponent]\n})\nexport class BodyUiModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CCFDatabaseDataSourceBaseService.html":{"url":"injectables/CCFDatabaseDataSourceBaseService.html","title":"injectable - CCFDatabaseDataSourceBaseService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n CCFDatabaseDataSourceBaseService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts\n \n\n\n\n \n Extends\n \n \n DelegateDataSource\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n database$\n \n \n Readonly\n impl$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n connectDatabase\n \n \n Protected\n Abstract\n createDatabase\n \n \n Protected\n forwardCall\n \n \n getAggregateResults\n \n \n getCellTypeTermOccurences\n \n \n getCellTypeTreeModel\n \n \n getDatabaseStatus\n \n \n getDatasetTechnologyNames\n \n \n getOntologyTermOccurences\n \n \n getOntologyTreeModel\n \n \n getProviderNames\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getScene\n \n \n getTissueBlockResults\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts:20\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n connectDatabase\n \n \n \n \n \n \n \n connectDatabase(manager: CCFDatabaseManager, config: CCFDatabaseOptions)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n manager\n \n CCFDatabaseManager\n \n\n \n No\n \n\n\n \n \n config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Abstract\n createDatabase\n \n \n \n \n \n \n \n createDatabase(config: CCFDatabaseOptions)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : CCFDatabaseManager\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n forwardCall\n \n \n \n \n \n \n \n forwardCall(method: K, args: Parameters>)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:93\n\n \n \n\n \n \n Type parameters :\n \n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n K\n \n\n \n No\n \n\n\n \n \n args\n \n Parameters>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:52\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseStatus\n \n \n \n \n \n \ngetDatabaseStatus()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:36\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n \n \ngetDatasetTechnologyNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:44\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:68\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:48\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getProviderNames\n \n \n \n \n \n \ngetProviderNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:40\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:56\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:80\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:76\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:60\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n database$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n impl$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Inherited from DelegateDataSource\n\n \n \n \n \n Defined in DelegateDataSource:19\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, isDevMode } from '@angular/core';\nimport { CCFDatabase, CCFDatabaseOptions } from 'ccf-database';\nimport { releaseProxy, Remote, wrap } from 'comlink';\nimport { Observable, Unsubscribable, using } from 'rxjs';\nimport { filter, map, shareReplay, switchMap } from 'rxjs/operators';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSourceLike, DelegateDataSource } from './data-source';\n\n\n\ninterface CCFDatabaseManager extends Unsubscribable {\n database: CCFDatabase | Remote;\n}\n\n\n@Injectable()\nabstract class CCFDatabaseDataSourceBaseService extends DelegateDataSource {\n readonly impl$: Observable;\n readonly database$: Observable>;\n\n constructor(globalConfig: GlobalConfigState) {\n super();\n\n this.impl$ = this.database$ = globalConfig.config$.pipe(\n source => source as Observable,\n filter(config => Object.keys(config).length > 0),\n switchMap(config => using(\n () => this.createDatabase(config),\n (manager: CCFDatabaseManager) => this.connectDatabase(manager, config)\n )),\n map(manager => manager.database),\n shareReplay(1)\n );\n }\n\n protected abstract createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager;\n\n private async connectDatabase(\n manager: CCFDatabaseManager, config: CCFDatabaseOptions\n ): Promise {\n const cacheResults = !isDevMode(); // Do not cache while in dev mode\n await manager.database.connect(config, cacheResults);\n return manager;\n }\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CCFDatabaseDataSourceService extends CCFDatabaseDataSourceBaseService {\n protected createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager {\n return {\n database: new CCFDatabase(config),\n unsubscribe: () => undefined\n };\n }\n}\n\n@Injectable()\nexport abstract class WorkerCCFDatabaseDataSourceService extends CCFDatabaseDataSourceBaseService {\n protected abstract createWorker(config: CCFDatabaseOptions): Worker;\n\n protected createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager {\n const worker = this.createWorker(config);\n const database = wrap(worker);\n\n return {\n database,\n unsubscribe: () => {\n database[releaseProxy]();\n worker.terminate();\n }\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CCFDatabaseDataSourceService.html":{"url":"injectables/CCFDatabaseDataSourceService.html","title":"injectable - CCFDatabaseDataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n CCFDatabaseDataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts\n \n\n\n\n \n Extends\n \n \n CCFDatabaseDataSourceBaseService\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n database$\n \n \n Readonly\n impl$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n createDatabase\n \n \n Private\n Async\n connectDatabase\n \n \n Protected\n forwardCall\n \n \n getAggregateResults\n \n \n getCellTypeTermOccurences\n \n \n getCellTypeTreeModel\n \n \n getDatabaseStatus\n \n \n getDatasetTechnologyNames\n \n \n getOntologyTermOccurences\n \n \n getOntologyTreeModel\n \n \n getProviderNames\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getScene\n \n \n getTissueBlockResults\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n createDatabase\n \n \n \n \n \n \n \n createDatabase(config: CCFDatabaseOptions)\n \n \n\n\n \n \n Inherited from CCFDatabaseDataSourceBaseService\n\n \n \n \n \n Defined in CCFDatabaseDataSourceBaseService:53\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : CCFDatabaseManager\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n connectDatabase\n \n \n \n \n \n \n \n connectDatabase(manager: CCFDatabaseManager, config: CCFDatabaseOptions)\n \n \n\n\n \n \n Inherited from CCFDatabaseDataSourceBaseService\n\n \n \n \n \n Defined in CCFDatabaseDataSourceBaseService:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n manager\n \n CCFDatabaseManager\n \n\n \n No\n \n\n\n \n \n config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n forwardCall\n \n \n \n \n \n \n \n forwardCall(method: K, args: Parameters>)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:93\n\n \n \n\n \n \n Type parameters :\n \n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n K\n \n\n \n No\n \n\n\n \n \n args\n \n Parameters>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:52\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseStatus\n \n \n \n \n \n \ngetDatabaseStatus()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:36\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n \n \ngetDatasetTechnologyNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:44\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:68\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:48\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getProviderNames\n \n \n \n \n \n \ngetProviderNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:40\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:56\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:80\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:76\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:60\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n database$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Inherited from CCFDatabaseDataSourceBaseService\n\n \n \n \n \n Defined in CCFDatabaseDataSourceBaseService:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n impl$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Inherited from DelegateDataSource\n\n \n \n \n \n Defined in DelegateDataSource:19\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, isDevMode } from '@angular/core';\nimport { CCFDatabase, CCFDatabaseOptions } from 'ccf-database';\nimport { releaseProxy, Remote, wrap } from 'comlink';\nimport { Observable, Unsubscribable, using } from 'rxjs';\nimport { filter, map, shareReplay, switchMap } from 'rxjs/operators';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSourceLike, DelegateDataSource } from './data-source';\n\n\n\ninterface CCFDatabaseManager extends Unsubscribable {\n database: CCFDatabase | Remote;\n}\n\n\n@Injectable()\nabstract class CCFDatabaseDataSourceBaseService extends DelegateDataSource {\n readonly impl$: Observable;\n readonly database$: Observable>;\n\n constructor(globalConfig: GlobalConfigState) {\n super();\n\n this.impl$ = this.database$ = globalConfig.config$.pipe(\n source => source as Observable,\n filter(config => Object.keys(config).length > 0),\n switchMap(config => using(\n () => this.createDatabase(config),\n (manager: CCFDatabaseManager) => this.connectDatabase(manager, config)\n )),\n map(manager => manager.database),\n shareReplay(1)\n );\n }\n\n protected abstract createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager;\n\n private async connectDatabase(\n manager: CCFDatabaseManager, config: CCFDatabaseOptions\n ): Promise {\n const cacheResults = !isDevMode(); // Do not cache while in dev mode\n await manager.database.connect(config, cacheResults);\n return manager;\n }\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CCFDatabaseDataSourceService extends CCFDatabaseDataSourceBaseService {\n protected createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager {\n return {\n database: new CCFDatabase(config),\n unsubscribe: () => undefined\n };\n }\n}\n\n@Injectable()\nexport abstract class WorkerCCFDatabaseDataSourceService extends CCFDatabaseDataSourceBaseService {\n protected abstract createWorker(config: CCFDatabaseOptions): Worker;\n\n protected createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager {\n const worker = this.createWorker(config);\n const database = wrap(worker);\n\n return {\n database,\n unsubscribe: () => {\n database[releaseProxy]();\n worker.terminate();\n }\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CCFDatabaseManager.html":{"url":"interfaces/CCFDatabaseManager.html","title":"interface - CCFDatabaseManager","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CCFDatabaseManager\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts\n \n\n\n\n \n Extends\n \n \n Unsubscribable\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n database\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n database\n \n \n \n \n \n \n \n \n database: CCFDatabase | Remote\n\n \n \n\n\n \n \n Type : CCFDatabase | Remote\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable, isDevMode } from '@angular/core';\nimport { CCFDatabase, CCFDatabaseOptions } from 'ccf-database';\nimport { releaseProxy, Remote, wrap } from 'comlink';\nimport { Observable, Unsubscribable, using } from 'rxjs';\nimport { filter, map, shareReplay, switchMap } from 'rxjs/operators';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSourceLike, DelegateDataSource } from './data-source';\n\n\n\ninterface CCFDatabaseManager extends Unsubscribable {\n database: CCFDatabase | Remote;\n}\n\n\n@Injectable()\nabstract class CCFDatabaseDataSourceBaseService extends DelegateDataSource {\n readonly impl$: Observable;\n readonly database$: Observable>;\n\n constructor(globalConfig: GlobalConfigState) {\n super();\n\n this.impl$ = this.database$ = globalConfig.config$.pipe(\n source => source as Observable,\n filter(config => Object.keys(config).length > 0),\n switchMap(config => using(\n () => this.createDatabase(config),\n (manager: CCFDatabaseManager) => this.connectDatabase(manager, config)\n )),\n map(manager => manager.database),\n shareReplay(1)\n );\n }\n\n protected abstract createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager;\n\n private async connectDatabase(\n manager: CCFDatabaseManager, config: CCFDatabaseOptions\n ): Promise {\n const cacheResults = !isDevMode(); // Do not cache while in dev mode\n await manager.database.connect(config, cacheResults);\n return manager;\n }\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CCFDatabaseDataSourceService extends CCFDatabaseDataSourceBaseService {\n protected createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager {\n return {\n database: new CCFDatabase(config),\n unsubscribe: () => undefined\n };\n }\n}\n\n@Injectable()\nexport abstract class WorkerCCFDatabaseDataSourceService extends CCFDatabaseDataSourceBaseService {\n protected abstract createWorker(config: CCFDatabaseOptions): Worker;\n\n protected createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager {\n const worker = this.createWorker(config);\n const database = wrap(worker);\n\n return {\n database,\n unsubscribe: () => {\n database[releaseProxy]();\n worker.terminate();\n }\n };\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/CallToActionBehaviorComponent.html":{"url":"components/CallToActionBehaviorComponent.html","title":"component - CallToActionBehaviorComponent","body":"\n \n\n\n\n\n\n Components\n \n CallToActionBehaviorComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.component.ts\n\n\n\n \n Description\n \n \n Info button component: Information icon displays project details when clicked.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-call-to-action-behavior\n \n\n \n styleUrls\n ./call-to-action-behavior.component.scss\n \n\n\n\n \n templateUrl\n ./call-to-action-behavior.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n callToAction$\n \n \n Readonly\n close\n \n \n Readonly\n imageUrl$\n \n \n Readonly\n learnMore\n \n \n Readonly\n message$\n \n \n Readonly\n title$\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n\n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n callToAction$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(CallToActionSelectors.callToAction)\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.component.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n close\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.component.ts:37\n \n \n\n \n \n Closes dialog\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n imageUrl$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(CallToActionSelectors.imageUrl)\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.component.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n learnMore\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.component.ts:44\n \n \n\n \n \n Sends learn more open action\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n message$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(CallToActionSelectors.message)\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.component.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n title$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(CallToActionSelectors.title)\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.component.ts:20\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { Dispatch } from '@ngxs-labs/dispatch-decorator';\nimport { Select } from '@ngxs/store';\nimport { Observable } from 'rxjs/internal/Observable';\n\nimport { CloseDialog, LearnMore } from '../../states/call-to-action/call-to-action.actions';\nimport { CallToActionSelectors } from '../../states/call-to-action/call-to-action.selectors';\n\n/**\n * Info button component: Information icon displays project details when clicked.\n */\n@Component({\n selector: 'ccf-call-to-action-behavior',\n templateUrl: './call-to-action-behavior.component.html',\n styleUrls: ['./call-to-action-behavior.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CallToActionBehaviorComponent {\n @Select(CallToActionSelectors.title)\n readonly title$: Observable;\n\n @Select(CallToActionSelectors.message)\n readonly message$: Observable;\n\n @Select(CallToActionSelectors.callToAction)\n readonly callToAction$: Observable;\n\n @Select(CallToActionSelectors.imageUrl)\n readonly imageUrl$: Observable;\n\n\n\n /**\n * Closes dialog\n */\n @Dispatch()\n readonly close = (): CloseDialog => new CloseDialog();\n\n /**\n * Sends learn more open action\n * @returns LearnMore action\n */\n @Dispatch()\n readonly learnMore = (): LearnMore => new LearnMore();\n}\n\n \n\n \n \n\n\n \n\n \n \n ./call-to-action-behavior.component.scss\n \n \n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'CallToActionBehaviorComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CallToActionBehaviorModule.html":{"url":"modules/CallToActionBehaviorModule.html","title":"module - CallToActionBehaviorModule","body":"\n \n\n\n\n\n Modules\n CallToActionBehaviorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_CallToActionBehaviorModule\n\n\n\ncluster_CallToActionBehaviorModule_declarations\n\n\n\ncluster_CallToActionBehaviorModule_imports\n\n\n\ncluster_CallToActionBehaviorModule_exports\n\n\n\n\nCallToActionBehaviorComponent\n\nCallToActionBehaviorComponent\n\n\n\nCallToActionBehaviorModule\n\nCallToActionBehaviorModule\n\nCallToActionBehaviorModule -->\n\nCallToActionBehaviorComponent->CallToActionBehaviorModule\n\n\n\n\n\nCallToActionBehaviorComponent \n\nCallToActionBehaviorComponent \n\nCallToActionBehaviorComponent -->\n\nCallToActionBehaviorModule->CallToActionBehaviorComponent \n\n\n\n\n\nCallToActionModule\n\nCallToActionModule\n\nCallToActionBehaviorModule -->\n\nCallToActionModule->CallToActionBehaviorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n CallToActionBehaviorComponent\n \n \n \n \n Imports\n \n \n CallToActionModule\n \n \n \n \n Exports\n \n \n CallToActionBehaviorComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { NgxsModule } from '@ngxs/store';\n\nimport { CallToActionModule } from '../call-to-action/call-to-action.module';\nimport { CallToActionBehaviorComponent } from './call-to-action-behavior.component';\n\n@NgModule({\n declarations: [CallToActionBehaviorComponent],\n imports: [CommonModule, NgxsModule, MatIconModule, MatDialogModule, MatCardModule, CallToActionModule],\n exports: [CallToActionBehaviorComponent]\n})\nexport class CallToActionBehaviorModule { }\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/CallToActionComponent.html":{"url":"components/CallToActionComponent.html","title":"component - CallToActionComponent","body":"\n \n\n\n\n\n\n Components\n \n CallToActionComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts\n\n\n\n \n Description\n \n \n Info button component: Information icon displays project details when clicked.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-call-to-action\n \n\n \n styleUrls\n ./call-to-action.component.scss\n \n\n\n\n \n templateUrl\n ./call-to-action.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n close\n \n \n onDialogButtonClick\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n callToAction\n \n \n imageUrl\n \n \n infoTitle\n \n \n message\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n callToActionClicked\n \n \n closeClicked\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n callToAction\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:33\n \n \n \n \n Label for the button\n\n \n \n \n \n \n \n \n \n \n imageUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:23\n \n \n \n \n Whether the information is for the RUI or EUI\n\n \n \n \n \n \n \n \n \n \n infoTitle\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:18\n \n \n \n \n Title of the info dialog\n\n \n \n \n \n \n \n \n \n \n message\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:28\n \n \n \n \n Message to be displayed under image\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n callToActionClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:39\n \n \n \n \n Emmitter for component to pass info to parent\n\n \n \n \n \n \n \n \n \n \n closeClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:45\n \n \n \n \n Emmitter for component to pass info to parent\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-call-to-action\"\n\n \n \n \n \n Default value : 'ccf-call-to-action'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:14\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:53\n \n \n\n\n \n \n Function to handle the close button click action\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n onDialogButtonClick\n \n \n \n \n \n \nonDialogButtonClick()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:61\n \n \n\n\n \n \n Detects button click and reads markdown function\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-call-to-action'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:14\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\n/**\n * Info button component: Information icon displays project details when clicked.\n */\n@Component({\n selector: 'ccf-call-to-action',\n templateUrl: './call-to-action.component.html',\n styleUrls: ['./call-to-action.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CallToActionComponent {\n /**HTML class */\n @HostBinding('class') readonly clsName = 'ccf-call-to-action';\n /**\n * Title of the info dialog\n */\n @Input() infoTitle: string;\n\n /**\n * Whether the information is for the RUI or EUI\n */\n @Input() imageUrl: string;\n\n /**\n * Message to be displayed under image\n */\n @Input() message: string;\n\n /**\n * Label for the button\n */\n @Input() callToAction: string;\n\n\n /**\n * Emmitter for component to pass info to parent\n * */\n @Output() readonly callToActionClicked = new EventEmitter();\n\n\n /**\n * Emmitter for component to pass info to parent\n * */\n @Output() readonly closeClicked = new EventEmitter();\n\n\n\n\n /**\n * Function to handle the close button click action\n */\n close(): void {\n this.closeClicked.emit();\n }\n\n\n /**\n * Detects button click and reads markdown function\n */\n onDialogButtonClick(): void {\n this.callToActionClicked.emit();\n }\n}\n\n \n\n \n \n \n \n \n {{infoTitle}}\n clear\n \n \n\n \n {{message}}\n \n \n \n \n\n\n \n\n \n \n ./call-to-action.component.scss\n \n :host{\n .content{\n display: block;\n align-content: center;\n padding-left: 1.6rem;\n padding-right: 1.6rem;\n border-radius: .25rem;\n }\n\n .info-button-wrapper {\n border-radius: 0.25rem;\n padding: 0.60rem;\n transition: 0.6s;\n\n .ccf-info-button {\n cursor: pointer;\n transition: color .6s;\n font-size: 1.2rem;\n vertical-align: sub;\n }\n }\n\n .first-row {\n display: flex;\n width: 100%;\n line-height: .9rem;\n .title {\n padding-right: 7.0rem;\n padding-left: .2rem;\n font-size: .875rem;\n padding-top: .75rem;\n }\n\n .cta-mat-icon {\n height: 30%;\n line-height: 3.4rem;\n }\n\n }\n\n .message{\n padding: .5rem;\n }\n\n .cta-image {\n align-self: center;\n object-fit: cover; /*this makes the image in src fit to the size specified below*/\n width: 100%;\n border-radius: .25rem;\n }\n\n .mat-button {\n background-color: #444A65;\n font-size: .75rem;\n position: relative;\n margin-bottom: 1rem;\n width: 100%;\n height: 2rem;\n \n color: white;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{infoTitle}} clear {{message}} '\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'CallToActionComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CallToActionModel.html":{"url":"interfaces/CallToActionModel.html","title":"interface - CallToActionModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CallToActionModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts\n \n\n\n \n Description\n \n \n Interface to hold the necessary parts of the CTA dialog\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n callToAction\n \n \n \n \n expirationDate\n \n \n \n \n imageUrl\n \n \n \n \n message\n \n \n \n \n popupShown\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n callToAction\n \n \n \n \n \n \n \n \n callToAction: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n expirationDate\n \n \n \n \n \n \n \n \n expirationDate: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n imageUrl\n \n \n \n \n \n \n \n \n imageUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n popupShown\n \n \n \n \n \n \n \n \n popupShown: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Action, NgxsOnInit, State, StateContext } from '@ngxs/store';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\n\nimport { CallToActionBehaviorComponent } from '../../components/call-to-action-behavior/call-to-action-behavior.component';\nimport { DocumentationContent, InfoButtonService } from '../../components/info/info-button/info-button.service';\nimport { InfoDialogComponent } from '../../components/info/info-dialog/info-dialog.component';\nimport { LocalStorageService } from '../../services/local-storage/local-storage.service';\nimport { CloseDialog, LearnMore, OpenDialog } from './call-to-action.actions';\n\n/**\n * Interface to hold the necessary parts of the CTA dialog\n */\nexport interface CallToActionModel {\n title: string;\n message: string;\n callToAction: string;\n imageUrl: string;\n expirationDate: string;\n popupShown: boolean;\n\n}\n\n/**\n * Key for boolean determining if poup has been shown\n */\nconst POPUP_SHOWN_STORAGE_KEY = 'callToActionPopupShown';\n\n/**\n * Path to readme markup doc\n */\nconst SPATIAL_SEARCH_README = 'assets/docs/SPATIAL_SEARCH_README.md';\n\n/**\n * Sets the necessary defaults for the dialog box\n */\n@State({\n name: 'callToAction',\n defaults: {\n title: 'New to the Exploration User Interface',\n message: 'Spatial Search has arrived!',\n callToAction: 'Learn More',\n imageUrl: 'assets/images/spatial_search.gif',\n expirationDate: 'Dec 1, 2022',\n popupShown: false\n }\n})\n\n\n/**\n * State that controls the data and behavior for the CallToAction Component\n */\n@Injectable()\nexport class CallToActionState implements NgxsOnInit {\n /**\n * Function that determines if expiration date has passed\n * @param expirationDate\n * @param now\n * @returns boolean defining whether or not info popup has expiered\n */\n static ctaDatePassed(expirationDate: string, now = Date.now): boolean {\n const today = now();\n const expire = new Date(expirationDate);\n\n return +today > +expire;\n }\n\n constructor(\n private readonly dialog: MatDialog,\n private readonly ga: GoogleAnalyticsService,\n private readonly storage: LocalStorageService,\n private readonly infoService: InfoButtonService,\n private readonly http: HttpClient\n ) { }\n\n\n ngxsOnInit(ctx: StateContext): void {\n const { expirationDate, popupShown } = ctx.getState();\n const popupShownStr = this.storage.getItem(POPUP_SHOWN_STORAGE_KEY, `${popupShown}`);\n const pastExpiration = CallToActionState.ctaDatePassed(expirationDate);\n const showPopup = popupShownStr !== 'true' && !pastExpiration;\n if (showPopup) {\n ctx.dispatch(new OpenDialog());\n }\n }\n\n /**\n * Returns observable containting info from the markup\n */\n private getDialogData(): Observable{\n return this.http.get(SPATIAL_SEARCH_README, { responseType: 'text' }).pipe(map(data =>\n this.infoService.parseMarkdown(data)\n ));\n }\n\n /**\n * Opens Learn more dialog\n */\n launchLearnMore(content: DocumentationContent[]): void{\n this.dialog.open(InfoDialogComponent, {\n autoFocus: false,\n panelClass: 'modal-animated',\n width: '72rem',\n data: {\n title: 'Spatial Search',\n content: content,\n videoID: 'UfxMpzatowE'\n }\n });\n }\n\n /**\n * Handles click event box\n * @param _ctx\n */\n @Action(LearnMore)\n learnMore(_ctx: StateContext): Observable {\n this.dialog.closeAll();\n this.ga.event('open_learn_more', 'call_to_action');\n\n return this.getDialogData().pipe(\n tap(data => this.launchLearnMore(data))\n );\n }\n\n /**\n * Opens dialog box\n * @param ctx\n */\n @Action(OpenDialog)\n open(ctx: StateContext): void {\n this.dialog.open(CallToActionBehaviorComponent, {\n autoFocus: false,\n panelClass: 'modal-animated',\n width: '30.75rem',\n height: '36.688rem'\n });\n\n this.ga.event('open', 'call_to_action');\n this.storage.setItem(POPUP_SHOWN_STORAGE_KEY, 'true');\n ctx.patchState({ popupShown: true });\n }\n\n /**\n * closes all dialog boxes\n * @param _ctxs;\n */\n @Action(CloseDialog)\n close(_ctx: StateContext): void {\n this.dialog.closeAll();\n this.ga.event('close', 'call_to_action');\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CallToActionModule.html":{"url":"modules/CallToActionModule.html","title":"module - CallToActionModule","body":"\n \n\n\n\n\n Modules\n CallToActionModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_CallToActionModule\n\n\n\ncluster_CallToActionModule_declarations\n\n\n\ncluster_CallToActionModule_exports\n\n\n\n\nCallToActionComponent\n\nCallToActionComponent\n\n\n\nCallToActionModule\n\nCallToActionModule\n\nCallToActionModule -->\n\nCallToActionComponent->CallToActionModule\n\n\n\n\n\nCallToActionComponent \n\nCallToActionComponent \n\nCallToActionComponent -->\n\nCallToActionModule->CallToActionComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/call-to-action/call-to-action.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n CallToActionComponent\n \n \n \n \n Exports\n \n \n CallToActionComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { CallToActionComponent } from './call-to-action.component';\n\n@NgModule({\n declarations: [CallToActionComponent],\n imports: [CommonModule, MatIconModule, MatDialogModule, MatCardModule],\n exports: [CallToActionComponent]\n})\nexport class CallToActionModule { }\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CallToActionSelectors.html":{"url":"classes/CallToActionSelectors.html","title":"class - CallToActionSelectors","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CallToActionSelectors\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.selectors.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n callToAction\n \n \n Static\n expirationDate\n \n \n Static\n imageUrl\n \n \n Static\n message\n \n \n Static\n popupShown\n \n \n Static\n title\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n callToAction\n \n \n \n \n \n \n \n callToAction(state: CallToActionModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['CallToActionState'])\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.selectors.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n CallToActionModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n expirationDate\n \n \n \n \n \n \n \n expirationDate(state: CallToActionModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['CallToActionState'])\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.selectors.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n CallToActionModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n imageUrl\n \n \n \n \n \n \n \n imageUrl(state: CallToActionModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['CallToActionState'])\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.selectors.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n CallToActionModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n message\n \n \n \n \n \n \n \n message(state: CallToActionModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['CallToActionState'])\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.selectors.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n CallToActionModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n popupShown\n \n \n \n \n \n \n \n popupShown(state: CallToActionModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['CallToActionState'])\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.selectors.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n CallToActionModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n title\n \n \n \n \n \n \n \n title(state: CallToActionModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['CallToActionState'])\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.selectors.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n CallToActionModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Selector } from '@ngxs/store';\n\nimport { CallToActionModel, CallToActionState } from './call-to-action.state';\n\nexport class CallToActionSelectors {\n @Selector([CallToActionState])\n static title(state: CallToActionModel): string {\n return state.title;\n }\n\n @Selector([CallToActionState])\n static message(state: CallToActionModel): string {\n return state.message;\n }\n\n @Selector([CallToActionState])\n static callToAction(state: CallToActionModel): string {\n return state.callToAction;\n }\n\n @Selector([CallToActionState])\n static imageUrl(state: CallToActionModel): string {\n return state.imageUrl;\n }\n\n @Selector([CallToActionState])\n static expirationDate(state: CallToActionModel): string {\n return state.expirationDate;\n }\n\n @Selector([CallToActionState])\n static popupShown(state: CallToActionModel): boolean {\n return state.popupShown;\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CallToActionState.html":{"url":"injectables/CallToActionState.html","title":"injectable - CallToActionState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n CallToActionState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts\n \n\n\n \n Description\n \n \n Sets the necessary defaults for the dialog box\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n close\n \n \n Static\n ctaDatePassed\n \n \n Private\n getDialogData\n \n \n launchLearnMore\n \n \n learnMore\n \n \n ngxsOnInit\n \n \n open\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog, ga: GoogleAnalyticsService, storage: LocalStorageService, infoService: InfoButtonService, http: HttpClient)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts:70\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n \n storage\n \n \n LocalStorageService\n \n \n \n No\n \n \n \n \n infoService\n \n \n InfoButtonService\n \n \n \n No\n \n \n \n \n http\n \n \n HttpClient\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose(_ctx: StateContext)\n \n \n\n \n \n Decorators : \n \n @Action(CloseDialog)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts:153\n \n \n\n\n \n \n closes all dialog boxes\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n ctaDatePassed\n \n \n \n \n \n \n \n ctaDatePassed(expirationDate: string, now)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts:65\n \n \n\n\n \n \n Function that determines if expiration date has passed\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n expirationDate\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n now\n \n \n\n \n No\n \n\n \n Date.now\n \n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n boolean defining whether or not info popup has expiered\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getDialogData\n \n \n \n \n \n \n \n getDialogData()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts:94\n \n \n\n\n \n \n Returns observable containting info from the markup\n\n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n launchLearnMore\n \n \n \n \n \n \nlaunchLearnMore(content: DocumentationContent[])\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts:103\n \n \n\n\n \n \n Opens Learn more dialog\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n content\n \n DocumentationContent[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n learnMore\n \n \n \n \n \n \nlearnMore(_ctx: StateContext)\n \n \n\n \n \n Decorators : \n \n @Action(LearnMore)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts:121\n \n \n\n\n \n \n Handles click event box\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit(ctx: StateContext)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n open\n \n \n \n \n \n \nopen(ctx: StateContext)\n \n \n\n \n \n Decorators : \n \n @Action(OpenDialog)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts:135\n \n \n\n\n \n \n Opens dialog box\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Action, NgxsOnInit, State, StateContext } from '@ngxs/store';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\n\nimport { CallToActionBehaviorComponent } from '../../components/call-to-action-behavior/call-to-action-behavior.component';\nimport { DocumentationContent, InfoButtonService } from '../../components/info/info-button/info-button.service';\nimport { InfoDialogComponent } from '../../components/info/info-dialog/info-dialog.component';\nimport { LocalStorageService } from '../../services/local-storage/local-storage.service';\nimport { CloseDialog, LearnMore, OpenDialog } from './call-to-action.actions';\n\n/**\n * Interface to hold the necessary parts of the CTA dialog\n */\nexport interface CallToActionModel {\n title: string;\n message: string;\n callToAction: string;\n imageUrl: string;\n expirationDate: string;\n popupShown: boolean;\n\n}\n\n/**\n * Key for boolean determining if poup has been shown\n */\nconst POPUP_SHOWN_STORAGE_KEY = 'callToActionPopupShown';\n\n/**\n * Path to readme markup doc\n */\nconst SPATIAL_SEARCH_README = 'assets/docs/SPATIAL_SEARCH_README.md';\n\n/**\n * Sets the necessary defaults for the dialog box\n */\n@State({\n name: 'callToAction',\n defaults: {\n title: 'New to the Exploration User Interface',\n message: 'Spatial Search has arrived!',\n callToAction: 'Learn More',\n imageUrl: 'assets/images/spatial_search.gif',\n expirationDate: 'Dec 1, 2022',\n popupShown: false\n }\n})\n\n\n/**\n * State that controls the data and behavior for the CallToAction Component\n */\n@Injectable()\nexport class CallToActionState implements NgxsOnInit {\n /**\n * Function that determines if expiration date has passed\n * @param expirationDate\n * @param now\n * @returns boolean defining whether or not info popup has expiered\n */\n static ctaDatePassed(expirationDate: string, now = Date.now): boolean {\n const today = now();\n const expire = new Date(expirationDate);\n\n return +today > +expire;\n }\n\n constructor(\n private readonly dialog: MatDialog,\n private readonly ga: GoogleAnalyticsService,\n private readonly storage: LocalStorageService,\n private readonly infoService: InfoButtonService,\n private readonly http: HttpClient\n ) { }\n\n\n ngxsOnInit(ctx: StateContext): void {\n const { expirationDate, popupShown } = ctx.getState();\n const popupShownStr = this.storage.getItem(POPUP_SHOWN_STORAGE_KEY, `${popupShown}`);\n const pastExpiration = CallToActionState.ctaDatePassed(expirationDate);\n const showPopup = popupShownStr !== 'true' && !pastExpiration;\n if (showPopup) {\n ctx.dispatch(new OpenDialog());\n }\n }\n\n /**\n * Returns observable containting info from the markup\n */\n private getDialogData(): Observable{\n return this.http.get(SPATIAL_SEARCH_README, { responseType: 'text' }).pipe(map(data =>\n this.infoService.parseMarkdown(data)\n ));\n }\n\n /**\n * Opens Learn more dialog\n */\n launchLearnMore(content: DocumentationContent[]): void{\n this.dialog.open(InfoDialogComponent, {\n autoFocus: false,\n panelClass: 'modal-animated',\n width: '72rem',\n data: {\n title: 'Spatial Search',\n content: content,\n videoID: 'UfxMpzatowE'\n }\n });\n }\n\n /**\n * Handles click event box\n * @param _ctx\n */\n @Action(LearnMore)\n learnMore(_ctx: StateContext): Observable {\n this.dialog.closeAll();\n this.ga.event('open_learn_more', 'call_to_action');\n\n return this.getDialogData().pipe(\n tap(data => this.launchLearnMore(data))\n );\n }\n\n /**\n * Opens dialog box\n * @param ctx\n */\n @Action(OpenDialog)\n open(ctx: StateContext): void {\n this.dialog.open(CallToActionBehaviorComponent, {\n autoFocus: false,\n panelClass: 'modal-animated',\n width: '30.75rem',\n height: '36.688rem'\n });\n\n this.ga.event('open', 'call_to_action');\n this.storage.setItem(POPUP_SHOWN_STORAGE_KEY, 'true');\n ctx.patchState({ popupShown: true });\n }\n\n /**\n * closes all dialog boxes\n * @param _ctxs;\n */\n @Action(CloseDialog)\n close(_ctx: StateContext): void {\n this.dialog.closeAll();\n this.ga.event('close', 'call_to_action');\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CloseDialog.html":{"url":"classes/CloseDialog.html","title":"class - CloseDialog","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CloseDialog\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[CallToAction] Close Dialog'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class LearnMore {\n static readonly type='[CallToAction] Learn More';\n}\n\nexport class OpenDialog {\n static readonly type='[CallToAction] Open Dialog';\n}\n\nexport class CloseDialog {\n static readonly type='[CallToAction] Close Dialog';\n}\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ConsentService.html":{"url":"injectables/ConsentService.html","title":"injectable - ConsentService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ConsentService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/analytics/src/lib/consent.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n consent\n \n \n Readonly\n consentChange\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngOnDestroy\n \n \n setConsent\n \n \n unsetConsent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/consent.service.ts:12\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/consent.service.ts:18\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setConsent\n \n \n \n \n \n \nsetConsent(value: Consent)\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/consent.service.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n Consent\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n unsetConsent\n \n \n \n \n \n \nunsetConsent()\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/consent.service.ts:29\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n consent\n \n \n \n \n \n \n Type : Consent\n\n \n \n \n \n Default value : 'not-set'\n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/consent.service.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n consentChange\n \n \n \n \n \n \n Default value : new ReplaySubject(1)\n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/consent.service.ts:12\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, OnDestroy } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\n\n\nexport type Consent = 'not-set' | 'given' | 'rescinded';\n\n\n@Injectable()\nexport class ConsentService implements OnDestroy {\n consent: Consent = 'not-set';\n\n readonly consentChange = new ReplaySubject(1);\n\n constructor() {\n this.consentChange.next(this.consent);\n }\n\n ngOnDestroy(): void {\n this.consentChange.complete();\n }\n\n setConsent(value: Consent): void {\n if (this.consent !== value) {\n this.consent = value;\n this.consentChange.next(value);\n }\n }\n\n unsetConsent(): void {\n this.setConsent('not-set');\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DataSource.html":{"url":"interfaces/DataSource.html","title":"interface - DataSource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DataSource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n getDatabaseStatus\n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n getOntologyTreeModel\n \n \n \n \n getProviderNames\n \n \n \n \n getReferenceOrgans\n \n \n \n \n getReferenceOrganScene\n \n \n \n \n getScene\n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:13\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseStatus\n \n \n \n \n \n \ngetDatabaseStatus()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:9\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n \n \ngetDatasetTechnologyNames()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:11\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:12\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getProviderNames\n \n \n \n \n \n \ngetProviderNames()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:10\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:14\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import {\n AggregateResult, DatabaseStatus, Filter, OntologyTreeModel, SpatialEntity, SpatialSceneNode, TissueBlockResult\n} from 'ccf-database';\nimport { Observable, ObservableInput, ObservedValueOf } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n\nexport interface DataSource {\n getDatabaseStatus(): Observable;\n getProviderNames(): Observable;\n getDatasetTechnologyNames(): Observable;\n getOntologyTreeModel(): Observable;\n getCellTypeTreeModel(): Observable;\n getReferenceOrgans(): Observable;\n\n getTissueBlockResults(filter?: Filter): Observable;\n getAggregateResults(filter?: Filter): Observable;\n getOntologyTermOccurences(filter?: Filter): Observable>;\n getCellTypeTermOccurences(filter?: Filter): Observable>;\n getScene(filter?: Filter): Observable;\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable;\n}\n\nexport type DataSourceLike = {\n [K in keyof DataSource]: DataSourceLikeMethod;\n};\n\nexport type DataSourceMethod = DataSource[K];\nexport type DataSourceLikeMethod =\n (...args: Parameters>) => ObservableInput>;\nexport type DataSourceDataType =\n ObservedValueOf>>;\n\n\nexport abstract class ForwardingDataSource implements DataSource {\n getDatabaseStatus(): Observable {\n return this.forwardCall('getDatabaseStatus');\n }\n\n getProviderNames(): Observable {\n return this.forwardCall('getProviderNames');\n }\n\n getDatasetTechnologyNames(): Observable {\n return this.forwardCall('getDatasetTechnologyNames');\n }\n\n getOntologyTreeModel(): Observable {\n return this.forwardCall('getOntologyTreeModel');\n }\n\n getCellTypeTreeModel(): Observable {\n return this.forwardCall('getCellTypeTreeModel');\n }\n\n getReferenceOrgans(): Observable {\n return this.forwardCall('getReferenceOrgans');\n }\n\n getTissueBlockResults(filter?: Filter): Observable {\n return this.forwardCall('getTissueBlockResults', filter);\n }\n\n getAggregateResults(filter?: Filter): Observable {\n return this.forwardCall('getAggregateResults', filter);\n }\n\n getOntologyTermOccurences(filter?: Filter): Observable> {\n return this.forwardCall('getOntologyTermOccurences', filter);\n }\n\n getCellTypeTermOccurences(filter?: Filter): Observable> {\n return this.forwardCall('getCellTypeTermOccurences', filter);\n }\n\n getScene(filter?: Filter): Observable {\n return this.forwardCall('getScene', filter);\n }\n\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable {\n return this.forwardCall('getReferenceOrganScene', organIri, filter);\n }\n\n protected abstract forwardCall(\n method: K, ...args: Parameters>\n ): Observable>;\n}\n\n\nexport abstract class DelegateDataSource extends ForwardingDataSource {\n abstract readonly impl$: Observable;\n\n protected forwardCall(\n method: K, ...args: Parameters>\n ): Observable> {\n type AnyFunction = (...rest: unknown[]) => ObservableInput;\n\n return this.impl$.pipe(\n switchMap(impl => (impl[method] as AnyFunction)(...args))\n ) as Observable>;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DataSourceService.html":{"url":"injectables/DataSourceService.html","title":"injectable - DataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n DataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n getAggregateResults\n \n \n Abstract\n getCellTypeTermOccurences\n \n \n Abstract\n getCellTypeTreeModel\n \n \n Abstract\n getDatabaseStatus\n \n \n Abstract\n getDatasetTechnologyNames\n \n \n Abstract\n getOntologyTermOccurences\n \n \n Abstract\n getOntologyTreeModel\n \n \n Abstract\n getProviderNames\n \n \n Abstract\n getReferenceOrgans\n \n \n Abstract\n getReferenceOrganScene\n \n \n Abstract\n getScene\n \n \n Abstract\n getTissueBlockResults\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n getAggregateResults\n \n \n \n \n \n \n \n getAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getCellTypeTermOccurences\n \n \n \n \n \n \n \n getCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getCellTypeTreeModel\n \n \n \n \n \n \n \n getCellTypeTreeModel()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:16\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getDatabaseStatus\n \n \n \n \n \n \n \n getDatabaseStatus()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:12\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getDatasetTechnologyNames\n \n \n \n \n \n \n \n getDatasetTechnologyNames()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:14\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getOntologyTermOccurences\n \n \n \n \n \n \n \n getOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getOntologyTreeModel\n \n \n \n \n \n \n \n getOntologyTreeModel()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:15\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getProviderNames\n \n \n \n \n \n \n \n getProviderNames()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:13\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getReferenceOrgans\n \n \n \n \n \n \n \n getReferenceOrgans()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:17\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getReferenceOrganScene\n \n \n \n \n \n \n \n getReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getScene\n \n \n \n \n \n \n \n getScene(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getTissueBlockResults\n \n \n \n \n \n \n \n getTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport {\n AggregateResult, DatabaseStatus, Filter, OntologyTreeModel, SpatialEntity, SpatialSceneNode, TissueBlockResult,\n} from 'ccf-database';\nimport { Observable } from 'rxjs';\n\nimport { DataSource } from './data-source';\n\n\n@Injectable()\nexport abstract class DataSourceService implements DataSource {\n abstract getDatabaseStatus(): Observable;\n abstract getProviderNames(): Observable;\n abstract getDatasetTechnologyNames(): Observable;\n abstract getOntologyTreeModel(): Observable;\n abstract getCellTypeTreeModel(): Observable;\n abstract getReferenceOrgans(): Observable;\n\n abstract getTissueBlockResults(filter?: Filter): Observable;\n abstract getAggregateResults(filter?: Filter): Observable;\n abstract getOntologyTermOccurences(filter?: Filter): Observable>;\n abstract getCellTypeTermOccurences(filter?: Filter): Observable>;\n abstract getScene(filter?: Filter): Observable;\n abstract getReferenceOrganScene(organIri: string, filter?: Filter): Observable;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DecoratedRange.html":{"url":"interfaces/DecoratedRange.html","title":"interface - DecoratedRange","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DecoratedRange\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-range.ts\n \n\n\n \n Description\n \n \n A range which should have the specified classes and styles applied\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n classes\n \n \n \n \n end\n \n \n \n \n start\n \n \n \n \n styles\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n classes\n \n \n \n \n \n \n \n \n classes: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Classes to add\n\n \n \n \n \n \n \n \n \n \n end\n \n \n \n \n \n \n \n \n end: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n End index of range (exclusive). Negative indicies are allowed.\n\n \n \n \n \n \n \n \n \n \n start\n \n \n \n \n \n \n \n \n start: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Start index of range (inclusive). Negative indicies are allowed.\n\n \n \n \n \n \n \n \n \n \n styles\n \n \n \n \n \n \n \n \n styles: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n\n\n\n\n \n \n Styles to set\n\n \n \n \n \n \n \n\n\n \n export interface DecoratedRange {\n /** Start index of range (inclusive). Negative indicies are allowed. */\n start: number;\n /** End index of range (exclusive). Negative indicies are allowed. */\n end: number;\n /** Classes to add */\n classes: string[];\n /** Styles to set */\n styles: Record;\n}\n\n/**\n * Resolves and normalizes an index for indexing into an array of length `length`.\n *\n * @param index The index value to resolve. May be negative indicating an index from end.\n * @param length The length of the object on which this index will be used.\n * @returns A positive index in range [0, length]\n */\nfunction resolveIndex(index: number, length: number): number {\n if (index >= 0 && index = length) {\n return length;\n } else if (index + length , length: number): DecoratedRange {\n const start = resolveIndex(range.start ?? 0, length);\n const end = resolveIndex(range.end ?? length, length);\n const classes = range.classes ?? [];\n const styles = range.styles ?? {};\n return { start, end, classes, styles };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/DecoratedTextComponent.html":{"url":"components/DecoratedTextComponent.html","title":"component - DecoratedTextComponent","body":"\n \n\n\n\n\n\n Components\n \n DecoratedTextComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts\n\n\n\n \n Description\n \n \n Class to display text with additional styling on ranges of the text.\n\n \n\n\n \n Implements\n \n \n OnChanges\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-decorated-text\n \n\n \n styleUrls\n ./decorated-text.component.scss\n \n\n\n\n \n templateUrl\n ./decorated-text.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n segments\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createSegments\n \n \n Private\n createStackOps\n \n \n Private\n getNormalizedDecorations\n \n \n Private\n makeDecoratedSegment\n \n \n Private\n makeUndecoratedSegment\n \n \n ngOnChanges\n \n \n Private\n updateStack\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n decorations\n \n \n text\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n decorations\n \n \n \n \n Type : Partial[]\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:52\n \n \n \n \n Classes and styles to apply to ranges of the text.\nFor overlapping ranges later values takes precedence.\n\n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:46\n \n \n \n \n Text to display\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-decorated-text\"\n\n \n \n \n \n Default value : 'ccf-decorated-text'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:41\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createSegments\n \n \n \n \n \n \n \n createSegments()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:76\n \n \n\n\n \n \n Creates an array of decorated text segments based on\nthe latest text and decorations.\n\n\n \n \n \n Returns : Segment[]\n\n \n \n The new segments\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n createStackOps\n \n \n \n \n \n \n \n createStackOps(ranges: DecoratedRange[])\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:124\n \n \n\n\n \n \n Creates an ordered array of stack operations to apply when building segments.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ranges\n \n DecoratedRange[]\n \n\n \n No\n \n\n\n \n The decorated ranges to apply\n\n \n \n \n \n \n \n \n \n Returns : StackOp[]\n\n \n \n The array of operations\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getNormalizedDecorations\n \n \n \n \n \n \n \n getNormalizedDecorations()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:158\n \n \n\n\n \n \n Normalizes and filters valid decorated ranges.\n\n\n \n \n \n Returns : DecoratedRange[]\n\n \n \n The normalized ranges with properties filled\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n makeDecoratedSegment\n \n \n \n \n \n \n \n makeDecoratedSegment(text: string, decorations: DecoratedRange[])\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:184\n \n \n\n\n \n \n Creates a segment with decoration\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n The text for the segment\n\n \n \n \n decorations\n \n DecoratedRange[]\n \n\n \n No\n \n\n\n \n Decorations for this segment\n\n \n \n \n \n \n \n \n \n Returns : Segment\n\n \n \n A decorated segment\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n makeUndecoratedSegment\n \n \n \n \n \n \n \n makeUndecoratedSegment(text: string)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:173\n \n \n\n\n \n \n Creates a segment without any decoration\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n The text for the segment\n\n \n \n \n \n \n \n \n \n Returns : Segment\n\n \n \n A segment without any decoration\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnChanges\n \n \n \n \n \n \nngOnChanges(changes: SimpleChanges)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:64\n \n \n\n\n \n \n Apply changes and recalculate cached values.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n changes\n \n SimpleChanges\n \n\n \n No\n \n\n\n \n Instance properties that have changed\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n updateStack\n \n \n \n \n \n \n \n updateStack(stack: DecoratedRange[], op: StackOp)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:145\n \n \n\n\n \n \n Applies the stack changes specified by the stack operation.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n stack\n \n DecoratedRange[]\n \n\n \n No\n \n\n\n \n The current stack\n\n \n \n \n op\n \n StackOp\n \n\n \n No\n \n\n\n \n The operation\n\n \n \n \n \n \n \n \n \n Returns : DecoratedRange[]\n\n \n \n The new stack\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-decorated-text'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:41\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n segments\n \n \n \n \n \n \n Type : Segment[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:57\n \n \n\n \n \n Computed segments of text with decorations resolved.\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges, SimpleChanges } from '@angular/core';\n\nimport { DecoratedRange, normalize } from './decorated-range';\n\n\n// Reexport DecoratedRange\nexport { DecoratedRange };\n\n/** A segment of text with additional classes and styles */\ninterface Segment {\n /** The piece of text to display */\n text: string;\n /** Classes to add to the text container */\n classes: string[];\n /** Styles to set on the text container */\n styles: Record;\n}\n\n/** Represents an operation to apply to the stack when building segments */\ninterface StackOp {\n /** Text index at which the changes takes effect */\n index: number;\n /** Decorations to add */\n added: DecoratedRange[];\n /** Decorations to remove */\n removed: DecoratedRange[];\n}\n\n\n/**\n * Class to display text with additional styling on ranges of the text.\n */\n@Component({\n selector: 'ccf-decorated-text',\n templateUrl: './decorated-text.component.html',\n styleUrls: ['./decorated-text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DecoratedTextComponent implements OnChanges {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-decorated-text';\n\n /**\n * Text to display\n */\n @Input() text: string;\n\n /**\n * Classes and styles to apply to ranges of the text.\n * For overlapping ranges later values takes precedence.\n */\n @Input() decorations?: Partial[];\n\n /**\n * Computed segments of text with decorations resolved.\n */\n segments: Segment[] = [];\n\n /**\n * Apply changes and recalculate cached values.\n *\n * @param changes Instance properties that have changed\n */\n ngOnChanges(changes: SimpleChanges): void {\n if ('text' in changes || 'decorations' in changes) {\n this.segments = this.createSegments();\n }\n }\n\n /**\n * Creates an array of decorated text segments based on\n * the latest text and decorations.\n *\n * @returns The new segments\n */\n private createSegments(): Segment[] {\n const { text } = this;\n if (!text) { // No styling can be applied to empty text fields\n return [this.makeUndecoratedSegment(text)];\n }\n\n const decorations = this.getNormalizedDecorations();\n if (decorations.length === 0) { // No styling available\n return [this.makeUndecoratedSegment(text)];\n }\n\n const stackOps = this.createStackOps(decorations);\n const segments: Segment[] = [];\n let stack: DecoratedRange[] = [];\n let lastIndex = 0;\n\n // If the first op starts at index zero apply stack changes\n // but don't push a segment by shifing out the first op\n if (stackOps[0].index === 0) {\n stack = this.updateStack(stack, stackOps.shift() as StackOp);\n }\n\n // Build segments based on the stack operations\n for (const op of stackOps) {\n segments.push(this.makeDecoratedSegment(\n text.slice(lastIndex, op.index), stack\n ));\n\n lastIndex = op.index;\n stack = this.updateStack(stack, op);\n }\n\n // Push the last segment if not already done\n if (lastIndex !== text.length) {\n segments.push(this.makeDecoratedSegment(\n text.slice(lastIndex), stack\n ));\n }\n\n return segments;\n }\n\n /**\n * Creates an ordered array of stack operations to apply when building segments.\n *\n * @param ranges The decorated ranges to apply\n * @returns The array of operations\n */\n private createStackOps(ranges: DecoratedRange[]): StackOp[] {\n const ops: Record = {};\n const getOp = (index: number) => (ops[index] ??= { index, added: [], removed: [] });\n\n for (const range of ranges) {\n getOp(range.start).added.push(range);\n getOp(range.end).removed.push(range);\n }\n\n return Object.entries(ops)\n .sort((i1, i2) => +i1[0] - +i2[0]) // Sort by index\n .map(entry => entry[1]);\n }\n\n /**\n * Applies the stack changes specified by the stack operation.\n *\n * @param stack The current stack\n * @param op The operation\n * @returns The new stack\n */\n private updateStack(stack: DecoratedRange[], op: StackOp): DecoratedRange[] {\n return stack\n .filter(item => !op.removed.includes(item))\n // Note - A new array is created by the above filter statement\n // so it is safe to modify it with concat\n .concat(op.added);\n }\n\n /**\n * Normalizes and filters valid decorated ranges.\n *\n * @returns The normalized ranges with properties filled\n */\n private getNormalizedDecorations(): DecoratedRange[] {\n const { decorations = [], text: { length } } = this;\n return decorations\n // Turn partials into full objects\n .map(range => normalize(range, length))\n // Remove empty and out of bounds ranges\n .filter(range => range.start (\n (result, range) => result.concat(range.classes),\n []\n );\n const styles = decorations.reduce(\n (result, range) => ({ ...result, ...range.styles }),\n {}\n );\n\n return { text, classes, styles };\n }\n}\n\n \n\n \n \n {{ segment.text }}\n\n\n \n\n \n \n ./decorated-text.component.scss\n \n :host {\n display: flex;\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ segment.text }}'\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'DecoratedTextComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DecoratedTextModule.html":{"url":"modules/DecoratedTextModule.html","title":"module - DecoratedTextModule","body":"\n \n\n\n\n\n Modules\n DecoratedTextModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DecoratedTextModule\n\n\n\ncluster_DecoratedTextModule_declarations\n\n\n\ncluster_DecoratedTextModule_exports\n\n\n\n\nDecoratedTextComponent\n\nDecoratedTextComponent\n\n\n\nDecoratedTextModule\n\nDecoratedTextModule\n\nDecoratedTextModule -->\n\nDecoratedTextComponent->DecoratedTextModule\n\n\n\n\n\nDecoratedTextComponent \n\nDecoratedTextComponent \n\nDecoratedTextComponent -->\n\nDecoratedTextModule->DecoratedTextComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-text.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n DecoratedTextComponent\n \n \n \n \n Exports\n \n \n DecoratedTextComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DecoratedTextComponent } from './decorated-text.component';\n\n\n@NgModule({\n imports: [CommonModule],\n declarations: [DecoratedTextComponent],\n exports: [DecoratedTextComponent]\n})\nexport class DecoratedTextModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DefaultParams.html":{"url":"interfaces/DefaultParams.html","title":"interface - DefaultParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DefaultParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n token\n \n \n \n \n \n \n \n \n token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport {\n AggregateResult, Filter, OntologyTreeModel, SpatialEntity, SpatialSceneNode, TissueBlockResult,\n} from 'ccf-database';\nimport { DatabaseStatus, DefaultService, MinMax, SpatialSearch, SpatialSceneNode as RawSpatialSceneNode } from 'ccf-openapi/angular-client';\nimport { combineLatest, Observable, Subject } from 'rxjs';\nimport { map, switchMap, take, tap } from 'rxjs/operators';\nimport { Cacheable } from 'ts-cacheable';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSource } from './data-source';\n\n\nexport interface ApiEndpointDataSourceOptions {\n remoteApiEndpoint: string;\n hubmapToken?: string;\n}\n\n// Not exported from ts-cacheable!?\ntype IObservableCacheConfig = NonNullable[0]>;\n\ntype RequestMethod = (params: P) => Observable;\ntype DataReviver = (data: T) => U;\n\ninterface DefaultParams {\n token?: string;\n}\n\ninterface FilterParams {\n age?: MinMax;\n ageRange?: string;\n bmi?: MinMax;\n bmiRange?: string;\n ontologyTerms?: string[];\n cellTypeTerms?: string[];\n providers?: string[];\n sex?: 'both' | 'female' | 'male';\n technologies?: string[];\n spatial?: SpatialSearch[];\n}\n\n\n// Cache config\nconst buster$ = new Subject();\n\nconst CACHE_CONFIG_NO_PARAMS: IObservableCacheConfig = {\n cacheBusterObserver: buster$\n};\n\nconst CACHE_CONFIG_PARAMS: IObservableCacheConfig = {\n cacheBusterObserver: buster$,\n maxCacheCount: 4\n};\n\n\n// Utility\nfunction cast(): (data: unknown) => T {\n return data => data as T;\n}\n\nfunction rangeToMinMax(\n range: [number, number] | undefined,\n low: number, high: number\n): MinMax | undefined {\n return range ? {\n min: range[0] > low ? range[0] : undefined,\n max: range[1] ({\n ...(node as SpatialSceneNode),\n transformMatrix: new Matrix4(node.transformMatrix ?? [])\n }));\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiEndpointDataSourceService implements DataSource {\n constructor(\n private readonly api: DefaultService,\n private readonly globalConfig: GlobalConfigState\n ) {\n globalConfig.getOption('hubmapToken').subscribe(buster$);\n }\n\n getDatabaseStatus(): Observable {\n return this.doRequest(params => this.api.dbStatus(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getProviderNames(): Observable {\n return this.doRequest(params => this.api.providerNames(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getDatasetTechnologyNames(): Observable {\n return this.doRequest(params => this.api.technologyNames(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getOntologyTreeModel(): Observable {\n return this.doRequest(\n params => this.api.ontologyTreeModel(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getCellTypeTreeModel(): Observable {\n return this.doRequest(\n params => this.api.cellTypeTreeModel(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getReferenceOrgans(): Observable {\n return this.doRequest(\n params => this.api.referenceOrgans(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getTissueBlockResults(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.tissueBlocks(params),\n filter, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getAggregateResults(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.aggregateResults(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getOntologyTermOccurences(filter?: Filter): Observable> {\n return this.doRequest(\n params => this.api.ontologyTermOccurences(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getCellTypeTermOccurences(filter?: Filter): Observable> {\n return this.doRequest(\n params => this.api.cellTypeTermOccurences(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getScene(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.scene(params),\n filter, {}, spatialSceneNodeReviver\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.referenceOrganScene(params),\n filter, { organIri }, spatialSceneNodeReviver\n );\n }\n\n private doRequest(\n method: RequestMethod,\n filter?: Filter | undefined,\n params?: P\n ): Observable;\n private doRequest(\n method: RequestMethod,\n filter: Filter | undefined,\n params: P | undefined,\n reviver: DataReviver\n ): Observable;\n private doRequest(\n method: RequestMethod,\n filter: Filter | undefined,\n params?: P,\n reviver?: DataReviver\n ): Observable {\n const { api, globalConfig } = this;\n const requestParams = { ...filterToParams(filter), ...params };\n\n return combineLatest([\n globalConfig.getOption('remoteApiEndpoint'),\n globalConfig.getOption('hubmapToken')\n ]).pipe(\n take(1),\n tap(([endpoint, token]) => {\n api.configuration.basePath = endpoint;\n if (token) {\n requestParams['token'] = token;\n }\n }),\n switchMap(() => method(requestParams)),\n map(data => reviver ? reviver(data) : data)\n );\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DelegateDataSource.html":{"url":"classes/DelegateDataSource.html","title":"class - DelegateDataSource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DelegateDataSource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.ts\n \n\n\n\n \n Extends\n \n \n ForwardingDataSource\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n Readonly\n impl$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n forwardCall\n \n \n getAggregateResults\n \n \n getCellTypeTermOccurences\n \n \n getCellTypeTreeModel\n \n \n getDatabaseStatus\n \n \n getDatasetTechnologyNames\n \n \n getOntologyTermOccurences\n \n \n getOntologyTreeModel\n \n \n getProviderNames\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getScene\n \n \n getTissueBlockResults\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n Readonly\n impl$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:91\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n forwardCall\n \n \n \n \n \n \n \n forwardCall(method: K, args: Parameters>)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:93\n\n \n \n\n \n \n Type parameters :\n \n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n K\n \n\n \n No\n \n\n\n \n \n args\n \n Parameters>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:52\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseStatus\n \n \n \n \n \n \ngetDatabaseStatus()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:36\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n \n \ngetDatasetTechnologyNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:44\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:68\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:48\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getProviderNames\n \n \n \n \n \n \ngetProviderNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:40\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:56\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:80\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:76\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:60\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n AggregateResult, DatabaseStatus, Filter, OntologyTreeModel, SpatialEntity, SpatialSceneNode, TissueBlockResult\n} from 'ccf-database';\nimport { Observable, ObservableInput, ObservedValueOf } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n\nexport interface DataSource {\n getDatabaseStatus(): Observable;\n getProviderNames(): Observable;\n getDatasetTechnologyNames(): Observable;\n getOntologyTreeModel(): Observable;\n getCellTypeTreeModel(): Observable;\n getReferenceOrgans(): Observable;\n\n getTissueBlockResults(filter?: Filter): Observable;\n getAggregateResults(filter?: Filter): Observable;\n getOntologyTermOccurences(filter?: Filter): Observable>;\n getCellTypeTermOccurences(filter?: Filter): Observable>;\n getScene(filter?: Filter): Observable;\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable;\n}\n\nexport type DataSourceLike = {\n [K in keyof DataSource]: DataSourceLikeMethod;\n};\n\nexport type DataSourceMethod = DataSource[K];\nexport type DataSourceLikeMethod =\n (...args: Parameters>) => ObservableInput>;\nexport type DataSourceDataType =\n ObservedValueOf>>;\n\n\nexport abstract class ForwardingDataSource implements DataSource {\n getDatabaseStatus(): Observable {\n return this.forwardCall('getDatabaseStatus');\n }\n\n getProviderNames(): Observable {\n return this.forwardCall('getProviderNames');\n }\n\n getDatasetTechnologyNames(): Observable {\n return this.forwardCall('getDatasetTechnologyNames');\n }\n\n getOntologyTreeModel(): Observable {\n return this.forwardCall('getOntologyTreeModel');\n }\n\n getCellTypeTreeModel(): Observable {\n return this.forwardCall('getCellTypeTreeModel');\n }\n\n getReferenceOrgans(): Observable {\n return this.forwardCall('getReferenceOrgans');\n }\n\n getTissueBlockResults(filter?: Filter): Observable {\n return this.forwardCall('getTissueBlockResults', filter);\n }\n\n getAggregateResults(filter?: Filter): Observable {\n return this.forwardCall('getAggregateResults', filter);\n }\n\n getOntologyTermOccurences(filter?: Filter): Observable> {\n return this.forwardCall('getOntologyTermOccurences', filter);\n }\n\n getCellTypeTermOccurences(filter?: Filter): Observable> {\n return this.forwardCall('getCellTypeTermOccurences', filter);\n }\n\n getScene(filter?: Filter): Observable {\n return this.forwardCall('getScene', filter);\n }\n\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable {\n return this.forwardCall('getReferenceOrganScene', organIri, filter);\n }\n\n protected abstract forwardCall(\n method: K, ...args: Parameters>\n ): Observable>;\n}\n\n\nexport abstract class DelegateDataSource extends ForwardingDataSource {\n abstract readonly impl$: Observable;\n\n protected forwardCall(\n method: K, ...args: Parameters>\n ): Observable> {\n type AnyFunction = (...rest: unknown[]) => ObservableInput;\n\n return this.impl$.pipe(\n switchMap(impl => (impl[method] as AnyFunction)(...args))\n ) as Observable>;\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DocumentationContent.html":{"url":"interfaces/DocumentationContent.html","title":"interface - DocumentationContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DocumentationContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts\n \n\n\n \n Description\n \n \n The structure to define how each documentation panel\nshould look like in the info dialog\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Content inside the panel\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Title of the panel\n\n \n \n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\n\n/**\n * The structure to define how each documentation panel\n * should look like in the info dialog\n */\n\nexport interface DocumentationContent {\n /** Title of the panel */\n title: string;\n\n /** Content inside the panel */\n content: string;\n}\n\nexport interface PanelData {\n content: DocumentationContent[];\n infoTitle: string;\n videoID: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InfoButtonService {\n\n /** Subject to send the documentation data to the component when its done processing */\n panelContent: BehaviorSubject = new BehaviorSubject({ content: [], infoTitle: '', videoID: '' });\n\n constructor(private readonly http: HttpClient) { }\n\n /**\n * Read the markdown file to split it by h1 tags and update the panel title and videoID.\n */\n updateData(url: string, videoID: string, infoTitle: string): void {\n this.http.get(url, { responseType: 'text' }).subscribe((data: string) => {\n const panelContent: PanelData = { content: this.parseMarkdown(data), infoTitle: infoTitle, videoID: videoID };\n this.panelContent.next(panelContent);\n });\n }\n\n /**\n * Function to parse the markdown file and convert to\n * documentation content used by the info-dialog panels\n *\n * @param data Markdown file sent as a string after reading it\n * @returns array of DocumentationContent\n */\n parseMarkdown(data: string): DocumentationContent[] {\n const markdownContent: DocumentationContent[] = [];\n const splitByHeaderTag: string[] = data.split('# ');\n for (const split of splitByHeaderTag) {\n if (split.length) {\n const newLine = split.includes('\\n\\n') ? '\\n\\n' : '\\r\\n\\r\\n';\n const headerAndContent: string[] = split.split(newLine);\n markdownContent.push({\n title: headerAndContent[0],\n content: headerAndContent.splice(1).join(newLine)\n });\n }\n }\n return markdownContent;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FilterParams.html":{"url":"interfaces/FilterParams.html","title":"interface - FilterParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FilterParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n age\n \n \n \n Optional\n \n ageRange\n \n \n \n Optional\n \n bmi\n \n \n \n Optional\n \n bmiRange\n \n \n \n Optional\n \n cellTypeTerms\n \n \n \n Optional\n \n ontologyTerms\n \n \n \n Optional\n \n providers\n \n \n \n Optional\n \n sex\n \n \n \n Optional\n \n spatial\n \n \n \n Optional\n \n technologies\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n age\n \n \n \n \n \n \n \n \n age: MinMax\n\n \n \n\n\n \n \n Type : MinMax\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ageRange\n \n \n \n \n \n \n \n \n ageRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n bmi\n \n \n \n \n \n \n \n \n bmi: MinMax\n\n \n \n\n\n \n \n Type : MinMax\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n bmiRange\n \n \n \n \n \n \n \n \n bmiRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n cellTypeTerms\n \n \n \n \n \n \n \n \n cellTypeTerms: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ontologyTerms\n \n \n \n \n \n \n \n \n ontologyTerms: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n providers\n \n \n \n \n \n \n \n \n providers: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"both\" | \"female\" | \"male\"\n\n \n \n\n\n \n \n Type : \"both\" | \"female\" | \"male\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n spatial\n \n \n \n \n \n \n \n \n spatial: SpatialSearch[]\n\n \n \n\n\n \n \n Type : SpatialSearch[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n technologies\n \n \n \n \n \n \n \n \n technologies: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport {\n AggregateResult, Filter, OntologyTreeModel, SpatialEntity, SpatialSceneNode, TissueBlockResult,\n} from 'ccf-database';\nimport { DatabaseStatus, DefaultService, MinMax, SpatialSearch, SpatialSceneNode as RawSpatialSceneNode } from 'ccf-openapi/angular-client';\nimport { combineLatest, Observable, Subject } from 'rxjs';\nimport { map, switchMap, take, tap } from 'rxjs/operators';\nimport { Cacheable } from 'ts-cacheable';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSource } from './data-source';\n\n\nexport interface ApiEndpointDataSourceOptions {\n remoteApiEndpoint: string;\n hubmapToken?: string;\n}\n\n// Not exported from ts-cacheable!?\ntype IObservableCacheConfig = NonNullable[0]>;\n\ntype RequestMethod = (params: P) => Observable;\ntype DataReviver = (data: T) => U;\n\ninterface DefaultParams {\n token?: string;\n}\n\ninterface FilterParams {\n age?: MinMax;\n ageRange?: string;\n bmi?: MinMax;\n bmiRange?: string;\n ontologyTerms?: string[];\n cellTypeTerms?: string[];\n providers?: string[];\n sex?: 'both' | 'female' | 'male';\n technologies?: string[];\n spatial?: SpatialSearch[];\n}\n\n\n// Cache config\nconst buster$ = new Subject();\n\nconst CACHE_CONFIG_NO_PARAMS: IObservableCacheConfig = {\n cacheBusterObserver: buster$\n};\n\nconst CACHE_CONFIG_PARAMS: IObservableCacheConfig = {\n cacheBusterObserver: buster$,\n maxCacheCount: 4\n};\n\n\n// Utility\nfunction cast(): (data: unknown) => T {\n return data => data as T;\n}\n\nfunction rangeToMinMax(\n range: [number, number] | undefined,\n low: number, high: number\n): MinMax | undefined {\n return range ? {\n min: range[0] > low ? range[0] : undefined,\n max: range[1] ({\n ...(node as SpatialSceneNode),\n transformMatrix: new Matrix4(node.transformMatrix ?? [])\n }));\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiEndpointDataSourceService implements DataSource {\n constructor(\n private readonly api: DefaultService,\n private readonly globalConfig: GlobalConfigState\n ) {\n globalConfig.getOption('hubmapToken').subscribe(buster$);\n }\n\n getDatabaseStatus(): Observable {\n return this.doRequest(params => this.api.dbStatus(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getProviderNames(): Observable {\n return this.doRequest(params => this.api.providerNames(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getDatasetTechnologyNames(): Observable {\n return this.doRequest(params => this.api.technologyNames(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getOntologyTreeModel(): Observable {\n return this.doRequest(\n params => this.api.ontologyTreeModel(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getCellTypeTreeModel(): Observable {\n return this.doRequest(\n params => this.api.cellTypeTreeModel(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getReferenceOrgans(): Observable {\n return this.doRequest(\n params => this.api.referenceOrgans(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getTissueBlockResults(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.tissueBlocks(params),\n filter, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getAggregateResults(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.aggregateResults(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getOntologyTermOccurences(filter?: Filter): Observable> {\n return this.doRequest(\n params => this.api.ontologyTermOccurences(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getCellTypeTermOccurences(filter?: Filter): Observable> {\n return this.doRequest(\n params => this.api.cellTypeTermOccurences(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getScene(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.scene(params),\n filter, {}, spatialSceneNodeReviver\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.referenceOrganScene(params),\n filter, { organIri }, spatialSceneNodeReviver\n );\n }\n\n private doRequest(\n method: RequestMethod,\n filter?: Filter | undefined,\n params?: P\n ): Observable;\n private doRequest(\n method: RequestMethod,\n filter: Filter | undefined,\n params: P | undefined,\n reviver: DataReviver\n ): Observable;\n private doRequest(\n method: RequestMethod,\n filter: Filter | undefined,\n params?: P,\n reviver?: DataReviver\n ): Observable {\n const { api, globalConfig } = this;\n const requestParams = { ...filterToParams(filter), ...params };\n\n return combineLatest([\n globalConfig.getOption('remoteApiEndpoint'),\n globalConfig.getOption('hubmapToken')\n ]).pipe(\n take(1),\n tap(([endpoint, token]) => {\n api.configuration.basePath = endpoint;\n if (token) {\n requestParams['token'] = token;\n }\n }),\n switchMap(() => method(requestParams)),\n map(data => reviver ? reviver(data) : data)\n );\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ForwardingDataSource.html":{"url":"classes/ForwardingDataSource.html","title":"class - ForwardingDataSource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ForwardingDataSource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.ts\n \n\n\n\n\n \n Implements\n \n \n DataSource\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n Abstract\n forwardCall\n \n \n getAggregateResults\n \n \n getCellTypeTermOccurences\n \n \n getCellTypeTreeModel\n \n \n getDatabaseStatus\n \n \n getDatasetTechnologyNames\n \n \n getOntologyTermOccurences\n \n \n getOntologyTreeModel\n \n \n getProviderNames\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getScene\n \n \n getTissueBlockResults\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n Abstract\n forwardCall\n \n \n \n \n \n \n \n forwardCall(method: K, args: Parameters>)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:84\n \n \n\n \n \n Type parameters :\n \n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n K\n \n\n \n No\n \n\n\n \n \n args\n \n Parameters>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:52\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseStatus\n \n \n \n \n \n \ngetDatabaseStatus()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:36\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n \n \ngetDatasetTechnologyNames()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:44\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:48\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getProviderNames\n \n \n \n \n \n \ngetProviderNames()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:40\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:56\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n AggregateResult, DatabaseStatus, Filter, OntologyTreeModel, SpatialEntity, SpatialSceneNode, TissueBlockResult\n} from 'ccf-database';\nimport { Observable, ObservableInput, ObservedValueOf } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n\nexport interface DataSource {\n getDatabaseStatus(): Observable;\n getProviderNames(): Observable;\n getDatasetTechnologyNames(): Observable;\n getOntologyTreeModel(): Observable;\n getCellTypeTreeModel(): Observable;\n getReferenceOrgans(): Observable;\n\n getTissueBlockResults(filter?: Filter): Observable;\n getAggregateResults(filter?: Filter): Observable;\n getOntologyTermOccurences(filter?: Filter): Observable>;\n getCellTypeTermOccurences(filter?: Filter): Observable>;\n getScene(filter?: Filter): Observable;\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable;\n}\n\nexport type DataSourceLike = {\n [K in keyof DataSource]: DataSourceLikeMethod;\n};\n\nexport type DataSourceMethod = DataSource[K];\nexport type DataSourceLikeMethod =\n (...args: Parameters>) => ObservableInput>;\nexport type DataSourceDataType =\n ObservedValueOf>>;\n\n\nexport abstract class ForwardingDataSource implements DataSource {\n getDatabaseStatus(): Observable {\n return this.forwardCall('getDatabaseStatus');\n }\n\n getProviderNames(): Observable {\n return this.forwardCall('getProviderNames');\n }\n\n getDatasetTechnologyNames(): Observable {\n return this.forwardCall('getDatasetTechnologyNames');\n }\n\n getOntologyTreeModel(): Observable {\n return this.forwardCall('getOntologyTreeModel');\n }\n\n getCellTypeTreeModel(): Observable {\n return this.forwardCall('getCellTypeTreeModel');\n }\n\n getReferenceOrgans(): Observable {\n return this.forwardCall('getReferenceOrgans');\n }\n\n getTissueBlockResults(filter?: Filter): Observable {\n return this.forwardCall('getTissueBlockResults', filter);\n }\n\n getAggregateResults(filter?: Filter): Observable {\n return this.forwardCall('getAggregateResults', filter);\n }\n\n getOntologyTermOccurences(filter?: Filter): Observable> {\n return this.forwardCall('getOntologyTermOccurences', filter);\n }\n\n getCellTypeTermOccurences(filter?: Filter): Observable> {\n return this.forwardCall('getCellTypeTermOccurences', filter);\n }\n\n getScene(filter?: Filter): Observable {\n return this.forwardCall('getScene', filter);\n }\n\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable {\n return this.forwardCall('getReferenceOrganScene', organIri, filter);\n }\n\n protected abstract forwardCall(\n method: K, ...args: Parameters>\n ): Observable>;\n}\n\n\nexport abstract class DelegateDataSource extends ForwardingDataSource {\n abstract readonly impl$: Observable;\n\n protected forwardCall(\n method: K, ...args: Parameters>\n ): Observable> {\n type AnyFunction = (...rest: unknown[]) => ObservableInput;\n\n return this.impl$.pipe(\n switchMap(impl => (impl[method] as AnyFunction)(...args))\n ) as Observable>;\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/GlobalConfigState.html":{"url":"injectables/GlobalConfigState.html","title":"injectable - GlobalConfigState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n GlobalConfigState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/config/global-config.state.ts\n \n\n\n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n optionCache\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getOption\n \n \n getOption\n \n \n getOption\n \n \n getOption\n \n \n getOption\n \n \n Private\n getPathKey\n \n \n getProperty\n \n \n patchConfig\n \n \n setConfig\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n config$\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getOption\n \n \n \n \n \n \ngetOption(k1: K1)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:42\n \n \n\n \n \n Type parameters :\n \n K1\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n k1\n \n K1\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOption\n \n \n \n \n \n \ngetOption(k1: K1, k2: K2)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:43\n \n \n\n \n \n Type parameters :\n \n K1\n K2\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n k1\n \n K1\n \n\n \n No\n \n\n\n \n \n k2\n \n K2\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOption\n \n \n \n \n \n \ngetOption(k1: K1, k2: K2, k3: K3)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:44\n \n \n\n \n \n Type parameters :\n \n K1\n K2\n K3\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n k1\n \n K1\n \n\n \n No\n \n\n\n \n \n k2\n \n K2\n \n\n \n No\n \n\n\n \n \n k3\n \n K3\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOption\n \n \n \n \n \n \ngetOption(...path: (string | number)[])\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:45\n \n \n\n \n \n Type parameters :\n \n R\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n (string | number)[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOption\n \n \n \n \n \n \ngetOption(...path: (string | number)[])\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n (string | number)[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getPathKey\n \n \n \n \n \n \n \n getPathKey(path: (string | number)[])\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n (string | number)[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getProperty\n \n \n \n \n \n \ngetProperty(path: PropertyKey[])\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:34\n \n \n\n \n \n Type parameters :\n \n R\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n PropertyKey[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n patchConfig\n \n \n \n \n \n \npatchConfig(config: ImmutablePatchValue)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n ImmutablePatchValue\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setConfig\n \n \n \n \n \n \nsetConfig(config: ImmutableStateValue)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n ImmutableStateValue\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n optionCache\n \n \n \n \n \n \n Default value : new Map>()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:19\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n config$\n \n \n\n \n \n getconfig$()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:22\n \n \n\n \n \n\n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { Computed, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { ImmutablePatchValue, ImmutableStateValue } from '@ngxs-labs/data/typings';\nimport { State } from '@ngxs/store';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, pluck, shareReplay } from 'rxjs/operators';\n\n\n@StateRepository()\n@State({\n name: 'globalConfig',\n defaults: null\n})\n@Injectable()\nexport class GlobalConfigState extends NgxsImmutableDataRepository {\n private readonly optionCache = new Map>();\n\n @Computed()\n get config$(): Observable> {\n return this.state$.pipe(filterNulls(), shareReplay(1));\n }\n\n setConfig(config: ImmutableStateValue): void {\n this.setState(config);\n }\n\n patchConfig(config: ImmutablePatchValue): void {\n this.patchState(config);\n }\n\n getProperty(path: PropertyKey[]): Observable {\n return this.config$.pipe(\n pluck(...path as string[]),\n distinctUntilChanged(),\n shareReplay(1)\n );\n }\n\n getOption(k1: K1): Observable;\n getOption(k1: K1, k2: K2): Observable;\n getOption(k1: K1, k2: K2, k3: K3): Observable;\n getOption(...path: (string | number)[]): Observable;\n getOption(...path: (string | number)[]): Observable {\n const key = this.getPathKey(path);\n if (this.optionCache.has(key)) {\n return this.optionCache.get(key)!;\n }\n\n const obs = this.config$.pipe(\n pluck(...(path as string[])),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n this.optionCache.set(key, obs);\n return obs;\n }\n\n private getPathKey(path: (string | number)[]): string {\n return `${path.length}:${path.join('.')}`;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/GlobalsService.html":{"url":"injectables/GlobalsService.html","title":"injectable - GlobalsService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n GlobalsService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/globals/globals.service.ts\n \n\n\n \n Description\n \n \n Provide functionality for interacting with the global object.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n findGlobalObject\n \n \n get\n \n \n get\n \n \n get\n \n \n get\n \n \n get\n \n \n has\n \n \n remove\n \n \n set\n \n \n set\n \n \n set\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n obj\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n findGlobalObject\n \n \n \n \n \n \n \n findGlobalObject()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:109\n \n \n\n\n \n \n Attempt to locate the global object.\nCan be overridden in a subclass to check other locations\nor completely change the object. This is especially useful\nduring testing.\n\n\n \n \n \n Returns : GlobalThis | undefined\n\n \n \n The global object if found\n\n \n \n \n \n \n \n \n \n \n \n \n get\n \n \n \n \n \n \nget(key: K)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:58\n \n \n\n \n \n Type parameters :\n \n K\n \n \n \n\n \n \n Gets a value from the global object.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n key\n \n K\n \n\n \n No\n \n\n\n \n The key for the value\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n get\n \n \n \n \n \n \nget(key: K, def: D)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:59\n \n \n\n \n \n Type parameters :\n \n K\n D\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n K\n \n\n \n No\n \n\n\n \n \n def\n \n D\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : NonNullable | D\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n get\n \n \n \n \n \n \nget(key: GlobalKey)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:60\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n GlobalKey\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : T | null | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n get\n \n \n \n \n \n \nget(key: GlobalKey, def: D)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:61\n \n \n\n \n \n Type parameters :\n \n T\n D\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n GlobalKey\n \n\n \n No\n \n\n\n \n \n def\n \n D\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : T | D\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n get\n \n \n \n \n \n \nget(key: GlobalKey, def?)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n GlobalKey\n \n\n \n No\n \n\n\n \n \n def\n \n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n has\n \n \n \n \n \n \nhas(key: GlobalKey)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:45\n \n \n\n\n \n \n Tests whether the global object has the specific key.\nThis method returns true even when the associated value\nis undefined or null as long as the key exists.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n key\n \n GlobalKey\n \n\n \n No\n \n\n\n \n The key\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if the key exists in the global object\n\n \n \n \n \n \n \n \n \n \n \n \n remove\n \n \n \n \n \n \nremove(key: GlobalKey)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:93\n \n \n\n\n \n \n Removes a key from the global object.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n key\n \n GlobalKey\n \n\n \n No\n \n\n\n \n The key to remove\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n set\n \n \n \n \n \n \nset(key: K, value)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:76\n \n \n\n \n \n Type parameters :\n \n K\n \n \n \n\n \n \n Sets a value on the global object.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n key\n \n K\n \n\n \n No\n \n\n\n \n The key to set the value on\n\n \n \n \n value\n \n \n\n \n No\n \n\n\n \n The new value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n set\n \n \n \n \n \n \nset(key: GlobalKey, value: T)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:77\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n GlobalKey\n \n\n \n No\n \n\n\n \n \n value\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n set\n \n \n \n \n \n \nset(key: GlobalKey, value)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n GlobalKey\n \n\n \n No\n \n\n\n \n \n value\n \n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n obj\n \n \n\n \n \n getobj()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:22\n \n \n \n \n The found global object\n\n\n \n Returns : GlobalThis | undefined\n\n \n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@angular/core';\n\n\n/** Type of keys allowed in the global object */\nexport type GlobalKey = string | symbol;\n\n/** Type of the global object */\nexport type GlobalThis = typeof globalThis;\n\ndeclare let global: GlobalThis;\n\n/**\n * Provide functionality for interacting with the global object.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class GlobalsService {\n /**\n * The found global object\n */\n get obj(): GlobalThis | undefined {\n const obj = this.findGlobalObject();\n // Cache value on the instance\n Object.defineProperties(this, {\n obj: {\n configurable: false,\n writable: false,\n value: obj\n }\n });\n\n return obj;\n }\n\n /**\n * Tests whether the global object has the specific key.\n * This method returns true even when the associated value\n * is undefined or null as long as the key exists.\n *\n * @param key The key\n *\n * @returns true if the key exists in the global object\n */\n has(key: GlobalKey): boolean {\n const { obj } = this;\n return obj != null && key in obj;\n }\n\n /**\n * Gets a value from the global object.\n *\n * @param key The key for the value\n * @param def An optional default value\n *\n * @returns The value if it exists otherwise the default value\n */\n get(key: K): GlobalThis[K];\n get(key: K, def: D): NonNullable | D;\n get(key: GlobalKey): T | null | undefined;\n get(key: GlobalKey, def: D): T | D;\n\n get(key: GlobalKey, def?: unknown): unknown {\n const { obj } = this;\n return (obj && obj[key] as unknown) ?? def;\n }\n\n /**\n * Sets a value on the global object.\n *\n * @param key The key to set the value on\n * @param value The new value\n *\n * @throws TypeError if the value is readonly\n */\n set(key: K, value: GlobalThis[K]): void;\n set(key: GlobalKey, value: T): void;\n\n set(key: GlobalKey, value: unknown): void {\n const { obj } = this;\n if (obj) {\n obj[key] = value;\n }\n }\n\n /**\n * Removes a key from the global object.\n *\n * @param key The key to remove\n *\n * @throws TypeError if the key is not removable\n */\n remove(key: GlobalKey): void {\n const { obj } = this;\n if (obj) {\n delete obj[key];\n }\n }\n\n /**\n * Attempt to locate the global object.\n * Can be overridden in a subclass to check other locations\n * or completely change the object. This is especially useful\n * during testing.\n *\n * @returns The global object if found\n */\n /* istanbul ignore next This is really hard to test as it depends on the global environment */\n protected findGlobalObject(): GlobalThis | undefined {\n // This should pretty much always be available unless\n // we are running in some outdated environment\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n\n // Check the common places for a global object\n if (typeof global !== 'undefined') { // Node.js environment\n return global;\n } else if (typeof window !== 'undefined') { // Browser environment\n return window;\n } else if (typeof self !== 'undefined') { // Web worker environment\n return self;\n }\n\n try {\n // One last try - may fail depending on content security policy (CSP) settings\n // eslint-disable-next-line no-new-func, @typescript-eslint/no-implied-eval\n return (new Function('return this;'))() as GlobalThis | undefined;\n } catch (_ignored) { /* Ignore errors */ }\n\n return undefined;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/GoogleAnalyticsSyncService.html":{"url":"injectables/GoogleAnalyticsSyncService.html","title":"injectable - GoogleAnalyticsSyncService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n GoogleAnalyticsSyncService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/analytics/src/lib/google-analytics-sync.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n Private\n Readonly\n token\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngOnDestroy\n \n \n Private\n toggleGoogleAnalytics\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consentService: ConsentService, window: Record | null, undefined: IGoogleAnalyticsSettings)\n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/google-analytics-sync.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consentService\n \n \n ConsentService\n \n \n \n No\n \n \n \n \n window\n \n \n Record | null\n \n \n \n No\n \n \n \n \n \n \n IGoogleAnalyticsSettings\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/google-analytics-sync.service.ts:25\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n toggleGoogleAnalytics\n \n \n \n \n \n \n \n toggleGoogleAnalytics(disabled: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/google-analytics-sync.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n disabled\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/google-analytics-sync.service.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/google-analytics-sync.service.ts:10\n \n \n\n\n \n \n\n\n \n\n\n \n import { Inject, Injectable, OnDestroy } from '@angular/core';\nimport { IGoogleAnalyticsSettings, NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN, NGX_WINDOW } from 'ngx-google-analytics';\nimport { Subscription } from 'rxjs';\n\nimport { ConsentService } from './consent.service';\n\n\n@Injectable()\nexport class GoogleAnalyticsSyncService implements OnDestroy {\n private readonly token: string;\n private readonly subscriptions = new Subscription();\n\n constructor(\n consentService: ConsentService,\n @Inject(NGX_WINDOW) private readonly window: Record | null,\n @Inject(NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN) { trackingCode }: IGoogleAnalyticsSettings\n ) {\n this.token = trackingCode;\n\n this.subscriptions.add(consentService.consentChange.subscribe(\n consent => this.toggleGoogleAnalytics(consent === 'rescinded')\n ));\n }\n\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n private toggleGoogleAnalytics(disabled: boolean): void {\n if (this.window) {\n this.window[`ga-disable-${this.token}`] = disabled;\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/InfoButtonComponent.html":{"url":"components/InfoButtonComponent.html","title":"component - InfoButtonComponent","body":"\n \n\n\n\n\n\n Components\n \n InfoButtonComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts\n\n\n\n \n Description\n \n \n Info button component: Information icon displays project details when clicked.\n\n \n\n\n \n Implements\n \n \n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-info-button\n \n\n \n styleUrls\n ./info-button.component.scss\n \n\n\n\n \n templateUrl\n ./info-button.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n launchInfoDialog\n \n \n ngOnDestroy\n \n \n onDialogButtonClick\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n documentationUrl\n \n \n infoTitle\n \n \n videoID\n \n \n \n \n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog, infoButtonService: InfoButtonService)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts:31\n \n \n\n \n \n Creates an instance of info button component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n Reference to the dialog creation service.\n\n \n \n \n infoButtonService\n \n \n InfoButtonService\n \n \n \n No\n \n \n \n Reference to the info button service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n documentationUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts:29\n \n \n \n \n \n \n \n \n \n infoTitle\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts:22\n \n \n \n \n Title of the info dialog\n\n \n \n \n \n \n \n \n \n \n videoID\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts:27\n \n \n \n \n Whether the information is for the RUI or EUI\n\n \n \n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n launchInfoDialog\n \n \n \n \n \n \nlaunchInfoDialog(data: PanelData)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts:58\n \n \n\n\n \n \n Opens the info dialogue with the project details\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n PanelData\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts:51\n \n \n\n\n \n \n Unsubscribe to the observable when the component\nis destroyed\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n onDialogButtonClick\n \n \n \n \n \n \nonDialogButtonClick()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts:76\n \n \n\n\n \n \n Detects button click and updates panel data\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts:31\n \n \n\n\n \n \n\n\n\n\n\n \n import { Component, Input, OnDestroy } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Subscription } from 'rxjs';\n\nimport { PanelData } from '../info-button/info-button.service';\nimport { InfoDialogComponent } from '../info-dialog/info-dialog.component';\nimport { InfoButtonService } from './info-button.service';\n\n\n/**\n * Info button component: Information icon displays project details when clicked.\n */\n@Component({\n selector: 'ccf-info-button',\n templateUrl: './info-button.component.html',\n styleUrls: ['./info-button.component.scss']\n})\nexport class InfoButtonComponent implements OnDestroy {\n /**\n * Title of the info dialog\n */\n @Input() infoTitle = '';\n\n /**\n * Whether the information is for the RUI or EUI\n */\n @Input() videoID: string;\n\n @Input() documentationUrl: string;\n\n private readonly subscriptions = new Subscription();\n\n /**\n * Creates an instance of info button component.\n *\n * @param dialog Reference to the dialog creation service.\n * @param infoButtonService Reference to the info button service\n */\n constructor(private readonly dialog: MatDialog, private readonly infoButtonService: InfoButtonService) {\n this.subscriptions.add(infoButtonService.panelContent.subscribe(data => {\n if (data.content.length) {\n this.launchInfoDialog(data);\n }\n }));\n }\n\n /**\n * Unsubscribe to the observable when the component\n * is destroyed\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Opens the info dialogue with the project details\n */\n launchInfoDialog(data: PanelData): void {\n if (this.dialog.openDialogs.length == 0) { //Prevent multiple dialogs from opening\n this.dialog.open(InfoDialogComponent, {\n autoFocus: false,\n panelClass: 'modal-animated',\n width: '72rem',\n data: {\n title: data.infoTitle,\n content: data.content,\n videoID: data.videoID\n }\n });\n }\n }\n\n /**\n * Detects button click and updates panel data\n */\n onDialogButtonClick(): void {\n this.infoButtonService.updateData(this.documentationUrl, this.videoID, this.infoTitle);\n }\n}\n\n \n\n \n \n \n info\n \n\n \n\n \n \n ./info-button.component.scss\n \n .info-button-wrapper {\n border-radius: 0.25rem;\n padding: 0.65rem;\n transition: 0.6s;\n\n .ccf-info-button {\n cursor: pointer;\n transition: color .6s;\n font-size: 1.5rem;\n vertical-align: sub;\n }\n \n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' info '\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'InfoButtonComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/InfoButtonModule.html":{"url":"modules/InfoButtonModule.html","title":"module - InfoButtonModule","body":"\n \n\n\n\n\n Modules\n InfoButtonModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_InfoButtonModule\n\n\n\ncluster_InfoButtonModule_exports\n\n\n\ncluster_InfoButtonModule_declarations\n\n\n\ncluster_InfoButtonModule_imports\n\n\n\n\nInfoButtonComponent\n\nInfoButtonComponent\n\n\n\nInfoButtonModule\n\nInfoButtonModule\n\nInfoButtonModule -->\n\nInfoButtonComponent->InfoButtonModule\n\n\n\n\n\nInfoButtonComponent \n\nInfoButtonComponent \n\nInfoButtonComponent -->\n\nInfoButtonModule->InfoButtonComponent \n\n\n\n\n\nInfoDialogModule\n\nInfoDialogModule\n\nInfoButtonModule -->\n\nInfoDialogModule->InfoButtonModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/info/info-button/info-button.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n InfoButtonComponent\n \n \n \n \n Imports\n \n \n InfoDialogModule\n \n \n \n \n Exports\n \n \n InfoButtonComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\nimport { InfoButtonComponent } from './info-button.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { InfoDialogModule } from '../info-dialog/info-dialog.module';\n\n@NgModule({\n declarations: [InfoButtonComponent],\n imports: [CommonModule, InfoDialogModule, MatIconModule, HttpClientModule],\n exports: [InfoButtonComponent]\n})\nexport class InfoButtonModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/InfoButtonService.html":{"url":"injectables/InfoButtonService.html","title":"injectable - InfoButtonService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n InfoButtonService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n panelContent\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n parseMarkdown\n \n \n updateData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(http: HttpClient)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts:31\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n http\n \n \n HttpClient\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n parseMarkdown\n \n \n \n \n \n \nparseMarkdown(data: string)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts:52\n \n \n\n\n \n \n Function to parse the markdown file and convert to\ndocumentation content used by the info-dialog panels\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n Markdown file sent as a string after reading it\n\n \n \n \n \n \n \n \n \n Returns : DocumentationContent[]\n\n \n \n array of DocumentationContent\n\n \n \n \n \n \n \n \n \n \n \n \n updateData\n \n \n \n \n \n \nupdateData(url: string, videoID: string, infoTitle: string)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts:38\n \n \n\n\n \n \n Read the markdown file to split it by h1 tags and update the panel title and videoID.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n videoID\n \n string\n \n\n \n No\n \n\n\n \n \n infoTitle\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n panelContent\n \n \n \n \n \n \n Type : BehaviorSubject\n\n \n \n \n \n Default value : new BehaviorSubject({ content: [], infoTitle: '', videoID: '' })\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts:31\n \n \n\n \n \n Subject to send the documentation data to the component when its done processing\n\n \n \n\n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\n\n/**\n * The structure to define how each documentation panel\n * should look like in the info dialog\n */\n\nexport interface DocumentationContent {\n /** Title of the panel */\n title: string;\n\n /** Content inside the panel */\n content: string;\n}\n\nexport interface PanelData {\n content: DocumentationContent[];\n infoTitle: string;\n videoID: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InfoButtonService {\n\n /** Subject to send the documentation data to the component when its done processing */\n panelContent: BehaviorSubject = new BehaviorSubject({ content: [], infoTitle: '', videoID: '' });\n\n constructor(private readonly http: HttpClient) { }\n\n /**\n * Read the markdown file to split it by h1 tags and update the panel title and videoID.\n */\n updateData(url: string, videoID: string, infoTitle: string): void {\n this.http.get(url, { responseType: 'text' }).subscribe((data: string) => {\n const panelContent: PanelData = { content: this.parseMarkdown(data), infoTitle: infoTitle, videoID: videoID };\n this.panelContent.next(panelContent);\n });\n }\n\n /**\n * Function to parse the markdown file and convert to\n * documentation content used by the info-dialog panels\n *\n * @param data Markdown file sent as a string after reading it\n * @returns array of DocumentationContent\n */\n parseMarkdown(data: string): DocumentationContent[] {\n const markdownContent: DocumentationContent[] = [];\n const splitByHeaderTag: string[] = data.split('# ');\n for (const split of splitByHeaderTag) {\n if (split.length) {\n const newLine = split.includes('\\n\\n') ? '\\n\\n' : '\\r\\n\\r\\n';\n const headerAndContent: string[] = split.split(newLine);\n markdownContent.push({\n title: headerAndContent[0],\n content: headerAndContent.splice(1).join(newLine)\n });\n }\n }\n return markdownContent;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/InfoDialogComponent.html":{"url":"components/InfoDialogComponent.html","title":"component - InfoDialogComponent","body":"\n \n\n\n\n\n\n Components\n \n InfoDialogComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts\n\n\n\n \n Description\n \n \n This component handles displaying and hiding a full screen modal / overlay that displays information about the project.\n\n \n\n\n \n Implements\n \n \n OnInit\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-info-dialog\n \n\n \n styleUrls\n ./info-dialog.component.scss\n \n\n\n\n \n templateUrl\n ./info-dialog.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n data\n \n \n Public\n dialogRef\n \n \n documentationContents\n \n \n infoTitle\n \n \n videoID\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n close\n \n \n ngOnInit\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialogRef: MatDialogRef, data: InfoDialogData)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts:34\n \n \n\n \n \n Creates an instance of info dialog component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n A reference to the dialog that this component creates, used to call the dialog's methods\n\n \n \n \n data\n \n \n InfoDialogData\n \n \n \n No\n \n \n \n Data being injected into the dialog\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts:62\n \n \n\n\n \n \n Closes info dialog component\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts:53\n \n \n\n\n \n \n load the youtube player api in on init\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n data\n \n \n \n \n \n \n Type : InfoDialogData\n\n \n \n \n \n Decorators : \n \n \n @Inject(MAT_DIALOG_DATA)\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts:43\n \n \n\n \n \n Data being injected into the dialog\n \n \n\n \n \n \n \n \n \n \n \n Public\n dialogRef\n \n \n \n \n \n \n Type : MatDialogRef\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts:42\n \n \n\n \n \n A reference to the dialog that this component creates, used to call the dialog's methods\n \n \n\n \n \n \n \n \n \n \n \n documentationContents\n \n \n \n \n \n \n Type : DocumentationContent[]\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts:26\n \n \n\n \n \n Documentation contents\n\n \n \n\n \n \n \n \n \n \n \n \n infoTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts:30\n \n \n\n \n \n Title of the dialog\n\n \n \n\n \n \n \n \n \n \n \n \n videoID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts:34\n \n \n\n \n \n URL for video\n\n \n \n\n \n \n\n\n\n\n\n \n import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DocumentationContent } from '../info-button/info-button.service';\n\n/**\n * Data model for the dialog input\n */\nexport interface InfoDialogData {\n content: DocumentationContent[];\n title: string;\n videoID: string;\n}\n\n/**\n * This component handles displaying and hiding a full screen modal / overlay that displays information about the project.\n */\n@Component({\n selector: 'ccf-info-dialog',\n templateUrl: './info-dialog.component.html',\n styleUrls: ['./info-dialog.component.scss']\n})\nexport class InfoDialogComponent implements OnInit {\n /**\n * Documentation contents\n */\n documentationContents: DocumentationContent[];\n /**\n * Title of the dialog\n */\n infoTitle: string;\n /**\n * URL for video\n */\n videoID: string;\n /**\n * Creates an instance of info dialog component.\n *\n * @param dialogRef A reference to the dialog that this component creates, used to call the dialog's methods\n * @param data Data being injected into the dialog\n */\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: InfoDialogData,\n ) {\n this.documentationContents = data.content || [];\n this.infoTitle = data.title || '';\n this.videoID = data.videoID;\n }\n\n /**\n * load the youtube player api in on init\n */\n ngOnInit(): void {\n const tag = document.createElement('script');\n tag.src = 'https://www.youtube.com/iframe_api';\n document.body.appendChild(tag);\n }\n\n /**\n * Closes info dialog component\n */\n close(): void {\n document.getElementsByClassName('modal-animated')[0]?.classList.add('modal-animate-fade-out');\n\n setTimeout(() => {\n this.dialogRef.close();\n }, 250);\n }\n}\n\n \n\n \n \n \n \n \n {{infoTitle}}\n \n clear\n \n \n \n \n \n \n \n {{content.title}}\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n ./info-dialog.component.scss\n \n ::ng-deep .mat-dialog-container {\n padding: 0;\n}\n\n.rui-about.wrapper {\n .container {\n .content {\n padding: 3rem;\n text-align: left;\n\n .header {\n display: flex;\n justify-content: space-between;\n height: 3rem;\n margin-bottom: 2.25rem;\n position: relative;\n }\n }\n\n .description {\n font-size: 0.875rem;\n line-height: 1.5rem;\n margin-bottom: 1rem;\n }\n\n .close {\n .close-icon {\n cursor: pointer;\n height: 3rem;\n width: 3rem;\n line-height: 3rem;\n text-align: center;\n transition: .6s;\n }\n }\n\n .title {\n font-size: 1.5rem;\n margin: 0 auto;\n line-height: 3rem;\n height: 3rem;\n justify-self: center;\n display: flex;\n }\n\n .subtitle {\n font-size: 1rem;\n margin-top: 0;\n margin-bottom: 0.5rem;\n }\n\n .panel {\n margin-bottom: 1.5rem;\n\n .no-header-margin {\n font-weight: 300;\n margin-bottom: 0;\n }\n\n .top-padding {\n display: flex;\n\n markdown ::ng-deep ul {\n margin-top: 0;\n padding-left: 1.5rem;\n }\n }\n }\n\n .dialog-content {\n height: 50rem;\n min-height: 10rem;\n\n .variable-binding {\n font-weight: 300;\n display: flex;\n\n &.first {\n padding-right: 1rem;\n width: 73%;\n }\n\n ::ng-deep ul {\n margin: 0;\n }\n\n ::ng-deep img {\n margin-left: 1rem;\n float: right;\n }\n }\n\n .video-player {\n position: relative;\n width: 50%;\n\n ::ng-deep iframe {\n width: 100%;\n height: 100%;\n }\n }\n }\n\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{infoTitle}} clear {{content.title}} '\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'InfoDialogComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/InfoDialogData.html":{"url":"interfaces/InfoDialogData.html","title":"interface - InfoDialogData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n InfoDialogData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts\n \n\n\n \n Description\n \n \n Data model for the dialog input\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n title\n \n \n \n \n videoID\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: DocumentationContent[]\n\n \n \n\n\n \n \n Type : DocumentationContent[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n videoID\n \n \n \n \n \n \n \n \n videoID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DocumentationContent } from '../info-button/info-button.service';\n\n/**\n * Data model for the dialog input\n */\nexport interface InfoDialogData {\n content: DocumentationContent[];\n title: string;\n videoID: string;\n}\n\n/**\n * This component handles displaying and hiding a full screen modal / overlay that displays information about the project.\n */\n@Component({\n selector: 'ccf-info-dialog',\n templateUrl: './info-dialog.component.html',\n styleUrls: ['./info-dialog.component.scss']\n})\nexport class InfoDialogComponent implements OnInit {\n /**\n * Documentation contents\n */\n documentationContents: DocumentationContent[];\n /**\n * Title of the dialog\n */\n infoTitle: string;\n /**\n * URL for video\n */\n videoID: string;\n /**\n * Creates an instance of info dialog component.\n *\n * @param dialogRef A reference to the dialog that this component creates, used to call the dialog's methods\n * @param data Data being injected into the dialog\n */\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: InfoDialogData,\n ) {\n this.documentationContents = data.content || [];\n this.infoTitle = data.title || '';\n this.videoID = data.videoID;\n }\n\n /**\n * load the youtube player api in on init\n */\n ngOnInit(): void {\n const tag = document.createElement('script');\n tag.src = 'https://www.youtube.com/iframe_api';\n document.body.appendChild(tag);\n }\n\n /**\n * Closes info dialog component\n */\n close(): void {\n document.getElementsByClassName('modal-animated')[0]?.classList.add('modal-animate-fade-out');\n\n setTimeout(() => {\n this.dialogRef.close();\n }, 250);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/InfoDialogModule.html":{"url":"modules/InfoDialogModule.html","title":"module - InfoDialogModule","body":"\n \n\n\n\n\n Modules\n InfoDialogModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_InfoDialogModule\n\n\n\ncluster_InfoDialogModule_exports\n\n\n\ncluster_InfoDialogModule_declarations\n\n\n\n\nInfoDialogComponent\n\nInfoDialogComponent\n\n\n\nInfoDialogModule\n\nInfoDialogModule\n\nInfoDialogModule -->\n\nInfoDialogComponent->InfoDialogModule\n\n\n\n\n\nInfoDialogComponent \n\nInfoDialogComponent \n\nInfoDialogComponent -->\n\nInfoDialogModule->InfoDialogComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n InfoDialogComponent\n \n \n \n \n Exports\n \n \n InfoDialogComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InfoDialogComponent } from './info-dialog.component';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MarkdownModule } from 'ngx-markdown';\nimport { YouTubePlayerModule } from '@angular/youtube-player';\n\n\n@NgModule({\n declarations: [InfoDialogComponent],\n imports: [CommonModule, MatDialogModule, MatIconModule, MatExpansionModule, YouTubePlayerModule, MarkdownModule.forRoot({})],\n exports: [InfoDialogComponent]\n})\nexport class InfoDialogModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/InjectorDelegateDataSourceService.html":{"url":"injectables/InjectorDelegateDataSourceService.html","title":"injectable - InjectorDelegateDataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n InjectorDelegateDataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/injector-delegate.service.ts\n \n\n\n\n \n Extends\n \n \n DelegateDataSource\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n impl$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n Abstract\n selectToken\n \n \n Protected\n forwardCall\n \n \n getAggregateResults\n \n \n getCellTypeTermOccurences\n \n \n getCellTypeTreeModel\n \n \n getDatabaseStatus\n \n \n getDatasetTechnologyNames\n \n \n getOntologyTermOccurences\n \n \n getOntologyTreeModel\n \n \n getProviderNames\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getScene\n \n \n getTissueBlockResults\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(globalConfig: GlobalConfigState, injector: Injector)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/injector-delegate.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n Abstract\n selectToken\n \n \n \n \n \n \n \n selectToken(config: C)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/injector-delegate.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n C\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ProviderToken\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n forwardCall\n \n \n \n \n \n \n \n forwardCall(method: K, args: Parameters>)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:93\n\n \n \n\n \n \n Type parameters :\n \n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n K\n \n\n \n No\n \n\n\n \n \n args\n \n Parameters>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:52\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseStatus\n \n \n \n \n \n \ngetDatabaseStatus()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:36\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n \n \ngetDatasetTechnologyNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:44\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:68\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:48\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getProviderNames\n \n \n \n \n \n \ngetProviderNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:40\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:56\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:80\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:76\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:60\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n impl$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Inherited from DelegateDataSource\n\n \n \n \n \n Defined in DelegateDataSource:11\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, Injector, ProviderToken } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs/operators';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSourceLike, DelegateDataSource } from './data-source';\n\n\n@Injectable()\nexport abstract class InjectorDelegateDataSourceService extends DelegateDataSource {\n readonly impl$: Observable;\n\n constructor(\n globalConfig: GlobalConfigState,\n injector: Injector\n ) {\n super();\n\n this.impl$ = globalConfig.config$.pipe(\n source => source as Observable,\n map(config => this.selectToken(config)),\n distinctUntilChanged(),\n map(token => injector.get(token)),\n shareReplay(1)\n );\n }\n\n protected abstract selectToken(config: C): ProviderToken;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LearnMore.html":{"url":"classes/LearnMore.html","title":"class - LearnMore","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LearnMore\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[CallToAction] Learn More'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class LearnMore {\n static readonly type='[CallToAction] Learn More';\n}\n\nexport class OpenDialog {\n static readonly type='[CallToAction] Open Dialog';\n}\n\nexport class CloseDialog {\n static readonly type='[CallToAction] Close Dialog';\n}\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LocalStorageService.html":{"url":"injectables/LocalStorageService.html","title":"injectable - LocalStorageService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n LocalStorageService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts\n \n\n\n \n Description\n \n \n Service to handle local storage\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n storage\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n clear\n \n \n getItem\n \n \n key\n \n \n removeItem\n \n \n setItem\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n length\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n clear\n \n \n \n \n \n \nclear()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts:90\n \n \n\n\n \n \n Clears all storage\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getItem\n \n \n \n \n \n \ngetItem(key: string, defaultValue?: D)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts:60\n \n \n\n \n \n Type parameters :\n \n D\n \n \n \n\n \n \n Gets value based on key, also returns default if it fails\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n \n defaultValue\n \n D\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : string | D\n\n \n \n the value\n\n \n \n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \nkey(index: number)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts:50\n \n \n\n\n \n \n Gets value based on key index\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string | null\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeItem\n \n \n \n \n \n \nremoveItem(key: string)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts:83\n \n \n\n\n \n \n removes value based on key\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setItem\n \n \n \n \n \n \nsetItem(key: string, value: string)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts:70\n \n \n\n\n \n \n sets a key-value pairin local storage\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n \n value\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true or false based on success/failure\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n storage\n \n \n \n \n \n \n Default value : (() => {\n // Slightly modified from https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API\n let storage: Storage | undefined;\n try {\n storage = window.localStorage;\n const x = '__storage_test__';\n storage.setItem(x, x);\n storage.removeItem(x);\n\n return storage;\n } catch (error) {\n const full = error instanceof DOMException && (\n // everything except Firefox\n error.code === 22 ||\n // Firefox\n error.code === 1014 ||\n // test name field too, because code might not be present\n // everything except Firefox\n error.name === 'QuotaExceededError' ||\n // Firefox\n error.name === 'NS_ERROR_DOM_QUOTA_REACHED'\n ) && (storage && storage.length !== 0);\n\n return full ? storage : undefined;\n }\n })()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts:11\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n length\n \n \n\n \n \n getlength()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts:41\n \n \n \n \n gets length of storage list\n\n\n \n Returns : number\n\n \n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@angular/core';\n\n\n/**\n * Service to handle local storage\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class LocalStorageService {\n static storage = (() => {\n // Slightly modified from https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API\n let storage: Storage | undefined;\n try {\n storage = window.localStorage;\n const x = '__storage_test__';\n storage.setItem(x, x);\n storage.removeItem(x);\n\n return storage;\n } catch (error) {\n const full = error instanceof DOMException && (\n // everything except Firefox\n error.code === 22 ||\n // Firefox\n error.code === 1014 ||\n // test name field too, because code might not be present\n // everything except Firefox\n error.name === 'QuotaExceededError' ||\n // Firefox\n error.name === 'NS_ERROR_DOM_QUOTA_REACHED'\n ) && (storage && storage.length !== 0);\n\n return full ? storage : undefined;\n }\n })();\n\n /**\n * gets length of storage list\n */\n get length(): number {\n return LocalStorageService.storage?.length ?? 0;\n }\n\n /**\n * Gets value based on key index\n * @param index\n * @returns\n */\n key(index: number): string | null {\n return LocalStorageService.storage?.key(index) ?? null;\n }\n\n /**\n * Gets value based on key, also returns default if it fails\n * @param key\n * @param defaultValue\n * @returns the value\n */\n getItem(key: string, defaultValue?: D): string | D {\n return LocalStorageService.storage?.getItem(key) ?? defaultValue ?? null as D;\n }\n\n /**\n * sets a key-value pairin local storage\n * @param key\n * @param value\n * @returns true or false based on success/failure\n */\n setItem(key: string, value: string): boolean {\n try {\n LocalStorageService.storage?.setItem(key, value);\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n /**\n * removes value based on key\n * @param key\n */\n removeItem(key: string): void {\n LocalStorageService.storage?.removeItem(key);\n }\n\n /**\n * Clears all storage\n */\n clear(): void {\n LocalStorageService.storage?.clear();\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LocalStorageSyncService.html":{"url":"injectables/LocalStorageSyncService.html","title":"injectable - LocalStorageSyncService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n LocalStorageSyncService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n Optional\n storage\n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n loadConsent\n \n \n ngOnDestroy\n \n \n Private\n saveConsent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consentService: ConsentService, key: string)\n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consentService\n \n \n ConsentService\n \n \n \n No\n \n \n \n \n key\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n loadConsent\n \n \n \n \n \n \n \n loadConsent()\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts:36\n \n \n\n\n \n \n\n \n Returns : Consent\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts:32\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n saveConsent\n \n \n \n \n \n \n \n saveConsent(value: Consent)\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n Consent\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n Optional\n storage\n \n \n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts:16\n \n \n\n\n \n \n\n\n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { Consent, ConsentService } from './consent.service';\n\n\nexport const LOCAL_STORAGE_CONSENT_KEY = new InjectionToken('Key under which consent is stored', {\n providedIn: 'root',\n factory: () => 'ALLOW_TELEMETRY'\n});\n\n\n@Injectable()\nexport class LocalStorageSyncService implements OnDestroy {\n private readonly storage?: typeof localStorage;\n private readonly subscriptions = new Subscription();\n\n constructor(\n consentService: ConsentService,\n @Inject(LOCAL_STORAGE_CONSENT_KEY) private readonly key: string\n ) {\n try {\n this.storage = localStorage;\n } catch (_error) { /* Ignored */ }\n\n consentService.setConsent(this.loadConsent());\n this.subscriptions.add(\n consentService.consentChange.subscribe(consent => this.saveConsent(consent))\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n private loadConsent(): Consent {\n const rawValue = this.storage?.getItem?.(this.key);\n if (rawValue == null) {\n return 'not-set';\n }\n\n const value = rawValue.trim().toLowerCase();\n switch (value) {\n case 'given': /* fallthrough */\n case 'rescinded':\n return value;\n default:\n return 'not-set';\n }\n }\n\n private saveConsent(value: Consent): void {\n this.storage?.setItem?.(this.key, value);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MousePositionTrackerModule.html":{"url":"modules/MousePositionTrackerModule.html","title":"module - MousePositionTrackerModule","body":"\n \n\n\n\n\n Modules\n MousePositionTrackerModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/analytics/mouse-position-tracker.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { DOCUMENT } from '@angular/common';\nimport { Inject, NgModule } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { map, throttleTime } from 'rxjs/operators';\n\n\nexport function trackMousePosition(el: HTMLElement, ga: GoogleAnalyticsService): Subscription {\n const formatData = (event: MouseEvent) => {\n const { clientWidth, clientHeight } = el;\n const { clientX, clientY } = event;\n const points = [clientX, clientY, clientWidth, clientHeight];\n return points.join('_');\n };\n\n const events = fromEvent(el, 'mousemove').pipe(\n throttleTime(1000),\n map(formatData)\n );\n\n return events.subscribe(data => ga.event('webpage', 'mousemove', data));\n}\n\n\n@NgModule()\nexport class MousePositionTrackerModule {\n constructor(\n // NOTE: Angular compiler fails when document is typed properly?!\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n @Inject(DOCUMENT) document: any,\n ga: GoogleAnalyticsService\n ) {\n if (document) {\n trackMousePosition((document as Document).body, ga);\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"directives/NumberDirective.html":{"url":"directives/NumberDirective.html","title":"directive - NumberDirective","body":"\n \n\n\n\n\n\n\n\n Directives\n NumberDirective\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/directives/numbers-only/numbers-only.directive.ts\n \n\n\n \n Description\n \n \n Directive for restricting an input element to integer only values.\n\n \n\n\n\n \n Metadata\n \n \n\n \n Selector\n input[ccfNumbersOnly]\n \n\n \n \n \n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n onInputChange\n \n \n \n \n\n\n\n\n \n \n HostListeners\n \n \n \n \n \n \n input\n \n \n \n \n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(el: ElementRef)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/directives/numbers-only/numbers-only.directive.ts:9\n \n \n\n \n \n Creates an instance of number directive.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n el\n \n \n ElementRef\n \n \n \n No\n \n \n \n Reference to input element\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n \n HostListeners \n \n \n \n \n \n \n input\n \n \n \n \n \n \n \n Arguments : '$event' \n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/directives/numbers-only/numbers-only.directive.ts:23\n \n \n\n\n \n \n Listens to input changes and updates the text to only include numbers.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n event\n\n \n No\n \n\n\n \n The input event\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n onInputChange\n \n \n \n \n \n \nonInputChange(event: Event)\n \n \n\n \n \n Decorators : \n \n @HostListener('input', ['$event'])\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/directives/numbers-only/numbers-only.directive.ts:23\n \n \n\n\n \n \n Listens to input changes and updates the text to only include numbers.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n Event\n \n\n \n No\n \n\n\n \n The input event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n \n\n\n \n import { Directive, ElementRef, HostListener } from '@angular/core';\n\n/**\n * Directive for restricting an input element to integer only values.\n */\n@Directive({\n selector: 'input[ccfNumbersOnly]'\n})\nexport class NumberDirective {\n /**\n * Creates an instance of number directive.\n *\n * @param el Reference to input element\n */\n constructor(private el: ElementRef) { }\n\n /**\n * Listens to input changes and updates the text to only include numbers.\n *\n * @param event The input event\n */\n @HostListener('input', ['$event'])\n onInputChange(event: Event): void {\n const initalValue = this.el.nativeElement.value;\n this.el.nativeElement.value = initalValue.replace(/[^0-9]*/g, '');\n if (initalValue !== this.el.nativeElement.value) {\n event.stopPropagation();\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/NumbersOnlyModule.html":{"url":"modules/NumbersOnlyModule.html","title":"module - NumbersOnlyModule","body":"\n \n\n\n\n\n Modules\n NumbersOnlyModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_NumbersOnlyModule\n\n\n\ncluster_NumbersOnlyModule_exports\n\n\n\ncluster_NumbersOnlyModule_declarations\n\n\n\n\nNumberDirective\n\nNumberDirective\n\n\n\nNumbersOnlyModule\n\nNumbersOnlyModule\n\nNumbersOnlyModule -->\n\nNumberDirective->NumbersOnlyModule\n\n\n\n\n\nNumberDirective \n\nNumberDirective \n\nNumberDirective -->\n\nNumbersOnlyModule->NumberDirective \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/directives/numbers-only/numbers-only.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n NumberDirective\n \n \n \n \n Exports\n \n \n NumberDirective\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\n\nimport { NumberDirective } from './numbers-only.directive';\n\n\n@NgModule({\n declarations: [NumberDirective],\n exports: [NumberDirective]\n})\nexport class NumbersOnlyModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/OpacitySliderComponent.html":{"url":"components/OpacitySliderComponent.html","title":"component - OpacitySliderComponent","body":"\n \n\n\n\n\n\n Components\n \n OpacitySliderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts\n\n\n\n \n Description\n \n \n Slider for setting opacity on an anatomical structure\n\n \n\n\n \n Implements\n \n \n OnInit\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-opacity-slider\n \n\n \n styleUrls\n ./opacity-slider.component.scss\n \n\n\n\n \n templateUrl\n ./opacity-slider.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n prevOpacity\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n changeOpacity\n \n \n ngOnInit\n \n \n reset\n \n \n resetOpacity\n \n \n toggleVisibility\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n opacity\n \n \n visible\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n opacityChange\n \n \n opacityReset\n \n \n visibilityToggle\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n opacity\n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 20\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:22\n \n \n \n \n The value displayed in the slider\n\n \n \n \n \n \n \n \n \n \n visible\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:27\n \n \n \n \n Whether the item is set to visible\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n opacityChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:32\n \n \n \n \n Emits the updated opacity when the opacity changes\n\n \n \n \n \n \n \n \n \n \n opacityReset\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:42\n \n \n \n \n Emitter for resetting all opacity values to default\n\n \n \n \n \n \n \n \n \n \n visibilityToggle\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:37\n \n \n \n \n Output of opacity slider component\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-opacity-slider\"\n\n \n \n \n \n Default value : 'ccf-opacity-slider'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n changeOpacity\n \n \n \n \n \n \nchangeOpacity(newOpacity: string)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:63\n \n \n\n\n \n \n Emits opacityChange with the new opacity value\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n newOpacity\n \n string\n \n\n \n No\n \n\n\n \n The updated opacity value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:46\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n reset\n \n \n \n \n \n \nreset()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:54\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n resetOpacity\n \n \n \n \n \n \nresetOpacity()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:82\n \n \n\n\n \n \n Emits signal to reset the opacity of the item\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n toggleVisibility\n \n \n \n \n \n \ntoggleVisibility()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:71\n \n \n\n\n \n \n Emits signal to toggle the visibility of the item\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-opacity-slider'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n prevOpacity\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:44\n \n \n\n\n \n \n\n\n\n\n\n \n import { Component, EventEmitter, HostBinding, Input, Output, OnInit, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * Slider for setting opacity on an anatomical structure\n */\n@Component({\n selector: 'ccf-opacity-slider',\n templateUrl: './opacity-slider.component.html',\n styleUrls: ['./opacity-slider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OpacitySliderComponent implements OnInit {\n\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-opacity-slider';\n\n /**\n * The value displayed in the slider\n */\n @Input() opacity = 20;\n\n /**\n * Whether the item is set to visible\n */\n @Input() visible = true;\n\n /**\n * Emits the updated opacity when the opacity changes\n */\n @Output() readonly opacityChange = new EventEmitter();\n\n /**\n * Output of opacity slider component\n */\n @Output() readonly visibilityToggle = new EventEmitter();\n\n /**\n * Emitter for resetting all opacity values to default\n */\n @Output() readonly opacityReset = new EventEmitter();\n\n prevOpacity: number;\n\n ngOnInit(): void {\n if (this.visible) {\n this.prevOpacity = 0;\n } else {\n this.prevOpacity = 20;\n }\n }\n\n reset(): void {\n this.prevOpacity = 20;\n }\n\n /**\n * Emits opacityChange with the new opacity value\n *\n * @param newOpacity The updated opacity value\n */\n changeOpacity(newOpacity: string): void {\n this.opacity = parseInt(newOpacity, 10);\n this.opacityChange.emit(this.opacity);\n }\n\n /**\n * Emits signal to toggle the visibility of the item\n */\n toggleVisibility(): void {\n const temp = this.opacity;\n this.opacity = this.prevOpacity;\n this.prevOpacity = temp;\n this.visibilityToggle.emit();\n this.opacityChange.emit(this.opacity);\n }\n\n /**\n * Emits signal to reset the opacity of the item\n */\n resetOpacity(): void {\n this.prevOpacity = 0;\n this.opacityReset.emit();\n }\n}\n\n \n\n \n \n \n \n {{opacity}}%\n \n \n \n \n refresh\n \n\n \n\n \n \n ./opacity-slider.component.scss\n \n :host {\n height: 2.25rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 0.1875rem;\n \n\n .slider-box {\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: space-between;\n height: 100%;\n\n .slider-and-label {\n width: 60%;\n display: flex;\n align-items: center;\n height: 100%;\n\n .slider {\n width: 100%;\n height: 100%;\n\n ::ng-deep .mat-slider-wrapper {\n top: 1.125rem;\n }\n \n &.disabled {\n pointer-events: none;\n cursor: not-allowed;\n }\n }\n\n .opacity-value {\n width: 1.5rem;\n margin-left: 0.5rem;\n }\n }\n\n .icons {\n display: flex;\n cursor: pointer !important;\n\n .reset {\n margin-right: 1rem;\n padding: 0.25rem;\n cursor: pointer;\n transition: .6s;\n border-radius: 0.25rem;\n }\n \n .visibility {\n transition: .6s;\n cursor: pointer;\n padding: 0.25rem;\n border-radius: 0.25rem;\n \n &.hidden {\n display: none;\n }\n }\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{opacity}}% refresh '\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'OpacitySliderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OpacitySliderModule.html":{"url":"modules/OpacitySliderModule.html","title":"module - OpacitySliderModule","body":"\n \n\n\n\n\n Modules\n OpacitySliderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_OpacitySliderModule\n\n\n\ncluster_OpacitySliderModule_declarations\n\n\n\ncluster_OpacitySliderModule_exports\n\n\n\n\nOpacitySliderComponent\n\nOpacitySliderComponent\n\n\n\nOpacitySliderModule\n\nOpacitySliderModule\n\nOpacitySliderModule -->\n\nOpacitySliderComponent->OpacitySliderModule\n\n\n\n\n\nOpacitySliderComponent \n\nOpacitySliderComponent \n\nOpacitySliderComponent -->\n\nOpacitySliderModule->OpacitySliderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n OpacitySliderComponent\n \n \n \n \n Exports\n \n \n OpacitySliderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OpacitySliderComponent } from './opacity-slider.component';\nimport { MatSliderModule } from '@angular/material/slider';\n\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatRippleModule } from '@angular/material/core';\n\n@NgModule({\n declarations: [OpacitySliderComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatSliderModule,\n MatRippleModule\n ],\n exports: [OpacitySliderComponent]\n})\nexport class OpacitySliderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OpenDialog.html":{"url":"classes/OpenDialog.html","title":"class - OpenDialog","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OpenDialog\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[CallToAction] Open Dialog'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class LearnMore {\n static readonly type='[CallToAction] Learn More';\n}\n\nexport class OpenDialog {\n static readonly type='[CallToAction] Open Dialog';\n}\n\nexport class CloseDialog {\n static readonly type='[CallToAction] Close Dialog';\n}\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OrganInfo.html":{"url":"interfaces/OrganInfo.html","title":"interface - OrganInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OrganInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/organ-selector/organ-selector.component.ts\n \n\n\n \n Description\n \n \n Contains the organ name and url of the icon svg\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n disabled\n \n \n \n Optional\n \n hasSex\n \n \n \n Optional\n \n id\n \n \n \n \n name\n \n \n \n \n organ\n \n \n \n Optional\n \n sex\n \n \n \n Optional\n \n side\n \n \n \n \n src\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n disabled\n \n \n \n \n \n \n \n \n disabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n True if the icon is disabled\n\n \n \n \n \n \n \n \n \n \n hasSex\n \n \n \n \n \n \n \n \n hasSex: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n True if applies to both sexes\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n UBERON id for the organ\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Label to display for the organ\n\n \n \n \n \n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Name of the organ (to help match organs with left / right)\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"male\" | \"female\"\n\n \n \n\n\n \n \n Type : \"male\" | \"female\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Used for single sex only organs\n\n \n \n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: \"left\" | \"right\"\n\n \n \n\n\n \n \n Type : \"left\" | \"right\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Used for paired organs\n\n \n \n \n \n \n \n \n \n \n src\n \n \n \n \n \n \n \n \n src: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Used to fetch the url of the organ icon\n\n \n \n \n \n \n \n\n\n \n import {\n AfterViewInit, Component, ElementRef, EventEmitter, HostBinding, Input,\n OnChanges, OnDestroy, Output, SimpleChanges, ViewChild\n} from '@angular/core';\nimport { ResizeSensor } from 'css-element-queries';\n\n/**\n * All organs that will eventually be displayed in the app\n */\nexport const ALL_POSSIBLE_ORGANS = [\n {\n src: 'app:skin',\n organ: 'Skin',\n name: 'Skin',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002097'\n },\n {\n src: 'app:brain',\n organ: 'Brain',\n name: 'Brain',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000955'\n },\n {\n disabled: true,\n src: 'app:lymph-nodes',\n organ: 'Lymph Node',\n name: 'Lymph Node',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000029'\n },\n {\n src: 'app:lymph-nodes',\n organ: 'Lymph Node',\n name: 'Lymph Node',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002509'\n },\n {\n disabled: true,\n src: 'app:eye',\n organ: 'Eye',\n name: 'Eye, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000970'\n },\n {\n src: 'app:eye',\n organ: 'Eye',\n name: 'Eye, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004548'\n },\n {\n src: 'app:eye',\n organ: 'Eye',\n name: 'Eye, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004549'\n },\n {\n disabled: true,\n src: 'app:fallopian-tube-left',\n organ: 'Fallopian Tube',\n name: 'Fallopian Tube, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0003889'\n },\n {\n src: 'app:fallopian-tube-left',\n organ: 'Fallopian Tube',\n name: 'Fallopian Tube, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0001303'\n },\n {\n src: 'app:fallopian-tube-right',\n organ: 'Fallopian Tube',\n name: 'Fallopian Tube, R',\n side: 'right',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0001302'\n },\n {\n src: 'app:heart',\n organ: 'Heart',\n name: 'Heart',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000948'\n },\n {\n disabled: true,\n src: 'app:kidney-left',\n organ: 'Kidney',\n name: 'Kidney, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002113'\n },\n {\n src: 'app:kidney-left',\n organ: 'Kidney',\n name: 'Kidney, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004538'\n },\n {\n src: 'app:kidney-right',\n organ: 'Kidney',\n name: 'Kidney, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004539'\n },\n {\n disabled: true,\n src: 'app:knee',\n organ: 'Knee',\n name: 'Knee, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001465'\n },\n {\n src: 'app:knee',\n organ: 'Knee',\n name: 'Knee, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.org/sig/ont/fma/fma24978'\n },\n {\n src: 'app:knee',\n organ: 'Knee',\n name: 'Knee, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.org/sig/ont/fma/fma24977'\n },\n {\n src: 'app:liver',\n organ: 'Liver',\n name: 'Liver',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002107'\n },\n {\n disabled: true,\n src: 'app:lung',\n organ: 'Lung',\n name: 'Lungs',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002048'\n },\n {\n src: 'app:lung',\n organ: 'Lung',\n name: 'Lungs',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001004'\n },\n {\n disabled: true,\n src: 'app:mammary-gland',\n organ: 'Mammary Gland',\n name: 'Mammary Gland, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0001911'\n },\n {\n src: 'app:mammary-gland',\n organ: 'Mammary Gland',\n name: 'Mammary Gland, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.org/sig/ont/fma/fma57991'\n },\n {\n src: 'app:mammary-gland',\n organ: 'Mammary Gland',\n name: 'Mammary Gland, R',\n side: 'right',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.org/sig/ont/fma/fma57987'\n },\n {\n disabled: true,\n src: 'app:ovary-left',\n organ: 'Ovary',\n name: 'Ovary, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0000992'\n },\n {\n src: 'app:ovary-left',\n organ: 'Ovary',\n name: 'Ovary, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.org/sig/ont/fma/fma7214'\n },\n {\n src: 'app:ovary-right',\n organ: 'Ovary',\n name: 'Ovary, R',\n side: 'right',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.org/sig/ont/fma/fma7213'\n },\n {\n src: 'app:larynx',\n organ: 'Larynx',\n name: 'Larynx',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001737'\n },\n {\n src: 'app:main-bronchus',\n organ: 'Main Bronchus',\n name: 'Main Bronchus',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002182'\n },\n {\n disabled: true,\n src: 'app:palatine-tonsil',\n organ: 'Palatine Tonsil',\n name: 'Palatine Tonsil, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002373'\n },\n {\n src: 'app:palatine-tonsil',\n organ: 'Palatine Tonsil',\n name: 'Palatine Tonsil, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.org/sig/ont/fma/fma54974'\n },\n {\n src: 'app:palatine-tonsil',\n organ: 'Palatine Tonsil',\n name: 'Palatine Tonsil, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.org/sig/ont/fma/fma54973'\n },\n {\n src: 'app:pancreas',\n organ: 'Pancreas',\n name: 'Pancreas',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001264'\n },\n {\n src: 'app:pelvis-f',\n organ: 'Pelvis',\n name: 'Pelvis',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001270'\n },\n {\n src: 'app:placenta',\n organ: 'Placenta',\n name: 'Placenta',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0001987'\n },\n {\n src: 'app:prostate',\n organ: 'Prostate',\n name: 'Prostate',\n hasSex: false,\n sex: 'male',\n id: 'http://purl.obolibrary.org/obo/UBERON_0002367',\n disabled: true\n },\n {\n src: 'app:prostate',\n organ: 'Prostate',\n name: 'Prostate',\n hasSex: false,\n sex: 'male',\n id: 'http://purl.obolibrary.org/obo/UBERON_0000079'\n },\n {\n src: 'app:small-intestine',\n organ: 'Small Intestine',\n name: 'Small Intestine',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002108'\n },\n {\n src: 'app:large-intestine',\n organ: 'Large Intestine',\n name: 'Large Intestine',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000059'\n },\n {\n src: 'app:spinal-cord',\n organ: 'Spinal Cord',\n name: 'Spinal Cord',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002240'\n },\n {\n src: 'app:spleen',\n organ: 'Spleen',\n name: 'Spleen',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002106'\n },\n {\n src: 'app:thymus',\n organ: 'Thymus',\n name: 'Thymus',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002370'\n },\n {\n src: 'app:trachea',\n organ: 'Trachea',\n name: 'Trachea',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0003126'\n },\n {\n disabled: true,\n src: 'app:ureter-left',\n organ: 'Ureter',\n name: 'Ureter, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000056'\n },\n {\n src: 'app:ureter-left',\n organ: 'Ureter',\n name: 'Ureter, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001223'\n },\n {\n src: 'app:ureter-right',\n organ: 'Ureter',\n name: 'Ureter, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001222'\n },\n {\n src: 'app:bladder',\n organ: 'Urinary Bladder',\n name: 'Urinary Bladder',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001255'\n },\n {\n src: 'app:uterus',\n organ: 'Uterus',\n name: 'Uterus',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0000995'\n },\n {\n src: 'app:vasculature-thick',\n organ: 'Blood Vasculature',\n name: 'Blood Vasculature',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004537'\n },\n {\n disabled: true,\n src: 'app:vasculature-thick',\n organ: 'Blood Vasculature',\n name: 'Blood Vasculature',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002049'\n }\n].sort((a, b) => a.name.localeCompare(b.name)) as OrganInfo[];\n\n/**\n * All organs which have not been disabled\n */\nexport const ALL_ORGANS = ALL_POSSIBLE_ORGANS.filter(organ => organ.disabled !== true);\n\n/**\n * Contains the organ name and url of the icon svg\n */\nexport interface OrganInfo {\n\n /**\n * Used to fetch the url of the organ icon\n */\n src: string;\n\n /**\n * Label to display for the organ\n */\n name: string;\n\n /**\n * Name of the organ (to help match organs with left / right)\n */\n organ: string;\n\n /**\n * True if the icon is disabled\n */\n disabled?: boolean;\n\n /**\n * Used for paired organs\n */\n side?: 'left' | 'right';\n\n /**\n * True if applies to both sexes\n */\n hasSex?: boolean;\n\n /**\n * Used for single sex only organs\n */\n sex?: 'male' | 'female';\n\n /**\n * UBERON id for the organ\n */\n id?: string;\n}\n\n/**\n * Organ carousel for selecting the organ to be viewed\n */\n@Component({\n selector: 'ccf-organ-selector',\n templateUrl: './organ-selector.component.html',\n styleUrls: ['./organ-selector.component.scss']\n})\nexport class OrganSelectorComponent implements AfterViewInit, OnChanges, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly clsName = 'ccf-organ-selector';\n\n @ViewChild('carouselContainer', { static: true }) carouselContainer: ElementRef;\n @ViewChild('itemlist', { static: true }) itemList: ElementRef;\n @ViewChild('itemcontainer', { static: true }) itemContainer: ElementRef;\n\n /**\n * If multiple selections should be allowed\n */\n @Input() multiselect = false;\n\n @Input() displayErrors = false;\n\n /**\n * List of organs in the carousel\n */\n @Input() organList: OrganInfo[] = ALL_ORGANS;\n\n /**\n * Currently selected organ\n */\n @Input() selectedOrgans: OrganInfo[] = [];\n\n /**\n * If the organ selector is expanded\n */\n @Input() expanded = false;\n\n /**\n * Emits the name of the organ when selected\n */\n @Output() readonly organsChanged = new EventEmitter();\n\n /**\n * Determines whether the carousel is at the beginning\n */\n onLeft = true;\n\n /**\n * Determines whether the carousel is at the end\n */\n onRight = false;\n\n /**\n * Handles scrolling behavior\n */\n timeoutHandler?: unknown;\n\n /**\n * Distance the carousel moves in each shift (px)\n */\n step = 72;\n\n /**\n * Detects resizing of carousel\n */\n private sensor: ResizeSensor;\n\n // eslint-disable-next-line\n @Input()\n set occurenceData(value: Record) {\n // eslint-disable-next-line\n this._occurenceData = value;\n }\n\n get occurenceData(): Record {\n // eslint-disable-next-line\n return this._occurenceData;\n }\n\n private _occurenceData: Record;\n\n /**\n * Set resize sensor on carousel\n */\n ngAfterViewInit(): void {\n const { carouselContainer } = this;\n this.sensor = new ResizeSensor(carouselContainer.nativeElement, () => {\n this.set();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('organList' in changes) {\n this.set();\n }\n }\n\n /**\n * Detaches resize sensor\n */\n ngOnDestroy(): void {\n this.sensor.detach();\n }\n\n /**\n * Decides whether or not an error has occured,\n * used to display or hide error message.\n */\n get error(): boolean {\n if (!this.displayErrors || this.selectedOrgans.length === 0) {\n return false;\n }\n\n return true;\n }\n\n /**\n * Scrolls the carousel left or right by one step.\n * Prevents scrolling past the beginning or end of the carousel.\n *\n * @param dir Direction to be scrolled\n */\n shift(dir: string): void {\n const { itemList } = this;\n let val = parseInt(itemList.nativeElement.style.left, 10) || 0;\n if (this.onLeft && dir === 'left' || this.onRight && dir === 'right') {\n return;\n }\n val = dir === 'right' ? val - this.step : val + this.step;\n itemList.nativeElement.style.left = val + 'px';\n this.setLeftRight(val);\n }\n\n /**\n * Scrolls carousel continuously\n *\n * @param dir Direction to be scrolled\n */\n scroll(dir: string): void {\n this.timeoutHandler = setInterval(() => {\n this.shift(dir);\n }, 200);\n }\n\n /**\n * Stops carousel scrolling\n */\n stopScroll(): void {\n if (this.timeoutHandler) {\n // Minor hack to make typescript happy when there are mixed NodeJS and regular typings\n clearInterval(this.timeoutHandler as undefined);\n this.timeoutHandler = undefined;\n }\n }\n\n /**\n * Sets and emits currently selected organ(s)\n *\n * @param organ The organ selected\n */\n selectOrgan(organ: OrganInfo): void {\n if (!this.multiselect) {\n this.selectedOrgans = [organ];\n } else {\n if (this.selectedOrgans.includes(organ)) {\n this.selectedOrgans = this.selectedOrgans.filter((selectedOrgan) => organ !== selectedOrgan);\n } else {\n this.selectedOrgans = this.selectedOrgans.concat([organ]);\n }\n }\n this.organsChanged.emit(this.selectedOrgans);\n }\n\n /**\n * Determines whether an icon represents a currently selected organ\n *\n * @param icon The icon of interest\n * @returns true if selected\n */\n isSelected(organ: OrganInfo): boolean {\n return this.selectedOrgans.includes(organ) ? true : false;\n }\n\n /**\n * Disables scrolling if the list of organs is smaller than the container, otherwise sets onLeft and onRight as normal\n */\n set(): void {\n const { itemList, itemContainer, carouselContainer } = this;\n const val = parseInt(itemList.nativeElement.style.left, 10) || 0;\n if (itemList.nativeElement.offsetWidth >= this.organList.length * this.step) {\n itemList.nativeElement.style.left = '0px';\n this.onLeft = true;\n this.onRight = true;\n } else {\n this.setLeftRight(val);\n const listLength = this.step * Math.floor(carouselContainer.nativeElement.offsetWidth / this.step) - 64;\n itemContainer.nativeElement.style.width = `${listLength}px`;\n }\n }\n\n /**\n * Responsively sets width of the item container\n */\n setWidth(): void {\n const { itemContainer, carouselContainer } = this;\n const listLength = this.step * Math.floor(carouselContainer.nativeElement.offsetWidth / this.step) - 64;\n itemContainer.nativeElement.style.width = `${listLength}px`;\n }\n\n /**\n * Sets onLeft and onRight according to where the item list is scrolled\n */\n setLeftRight(val: number): void {\n const { itemContainer } = this;\n this.onLeft = val === 0 ? true : false;\n this.onRight = val \n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OrganSelectorModule.html":{"url":"modules/OrganSelectorModule.html","title":"module - OrganSelectorModule","body":"\n \n\n\n\n\n Modules\n OrganSelectorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_OrganSelectorModule\n\n\n\ncluster_OrganSelectorModule_declarations\n\n\n\ncluster_OrganSelectorModule_exports\n\n\n\n\nOrganSelectorComponent\n\nOrganSelectorComponent\n\n\n\nOrganSelectorModule\n\nOrganSelectorModule\n\nOrganSelectorModule -->\n\nOrganSelectorComponent->OrganSelectorModule\n\n\n\n\n\nOrganSelectorComponent \n\nOrganSelectorComponent \n\nOrganSelectorComponent -->\n\nOrganSelectorModule->OrganSelectorComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/organ-selector/organ-selector.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n OrganSelectorComponent\n \n \n \n \n Exports\n \n \n OrganSelectorComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OrganSelectorComponent } from './organ-selector.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [OrganSelectorComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatTooltipModule\n ],\n exports: [OrganSelectorComponent]\n})\nexport class OrganSelectorModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PanelData.html":{"url":"interfaces/PanelData.html","title":"interface - PanelData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PanelData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n infoTitle\n \n \n \n \n videoID\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: DocumentationContent[]\n\n \n \n\n\n \n \n Type : DocumentationContent[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n infoTitle\n \n \n \n \n \n \n \n \n infoTitle: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n videoID\n \n \n \n \n \n \n \n \n videoID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\n\n/**\n * The structure to define how each documentation panel\n * should look like in the info dialog\n */\n\nexport interface DocumentationContent {\n /** Title of the panel */\n title: string;\n\n /** Content inside the panel */\n content: string;\n}\n\nexport interface PanelData {\n content: DocumentationContent[];\n infoTitle: string;\n videoID: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InfoButtonService {\n\n /** Subject to send the documentation data to the component when its done processing */\n panelContent: BehaviorSubject = new BehaviorSubject({ content: [], infoTitle: '', videoID: '' });\n\n constructor(private readonly http: HttpClient) { }\n\n /**\n * Read the markdown file to split it by h1 tags and update the panel title and videoID.\n */\n updateData(url: string, videoID: string, infoTitle: string): void {\n this.http.get(url, { responseType: 'text' }).subscribe((data: string) => {\n const panelContent: PanelData = { content: this.parseMarkdown(data), infoTitle: infoTitle, videoID: videoID };\n this.panelContent.next(panelContent);\n });\n }\n\n /**\n * Function to parse the markdown file and convert to\n * documentation content used by the info-dialog panels\n *\n * @param data Markdown file sent as a string after reading it\n * @returns array of DocumentationContent\n */\n parseMarkdown(data: string): DocumentationContent[] {\n const markdownContent: DocumentationContent[] = [];\n const splitByHeaderTag: string[] = data.split('# ');\n for (const split of splitByHeaderTag) {\n if (split.length) {\n const newLine = split.includes('\\n\\n') ? '\\n\\n' : '\\r\\n\\r\\n';\n const headerAndContent: string[] = split.split(newLine);\n markdownContent.push({\n title: headerAndContent[0],\n content: headerAndContent.splice(1).join(newLine)\n });\n }\n }\n return markdownContent;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PluckUniqueOptions.html":{"url":"interfaces/PluckUniqueOptions.html","title":"interface - PluckUniqueOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PluckUniqueOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n\n\n \n Description\n \n \n Options for pluckUnique operator\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n compare\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n compare\n \n \n \n \n \n \n \n \n compare: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Custom comparison for determining distinct values\n\n \n \n \n \n \n \n\n\n \n import { OperatorFunction } from 'rxjs';\nimport { distinctUntilChanged, pluck, shareReplay } from 'rxjs/operators';\n\n\n/**\n * Options for `pluckUnique` operator\n */\nexport interface PluckUniqueOptions {\n /**\n * Custom comparison for determining distinct values\n */\n compare?: (lhs: T, rhs: T) => boolean;\n}\n\n\n/**\n * Default options\n */\nconst DEFAULT_OPTIONS: PluckUniqueOptions = {};\n\n\n/**\n * Combines the functionaliy of `pluck` and `distinctUntilChanged`\n * as well as adding a `shareReplay`.\n *\n * @param {...string} props Properties to pluck\n * @param [opts] Additional options\n * @returns An `Observable` operator\n */\nexport function pluckUnique(k1: K1, opts?: PluckUniqueOptions): OperatorFunction;\nexport function pluckUnique(k1: K1, k2: K2, opts?: PluckUniqueOptions): OperatorFunction;\nexport function pluckUnique(k1: K1, k2: K2, k3: K3, opts?: PluckUniqueOptions): OperatorFunction;\nexport function pluckUnique(k1: K1, k2: K2, k3: K3, k4: K4, opts?: PluckUniqueOptions): OperatorFunction;\nexport function pluckUnique(k1: K1, k2: K2, k3: K3, k4: K4, k5: K5, opts?: PluckUniqueOptions): OperatorFunction;\nexport function pluckUnique(k1: K1, k2: K2, k3: K3, k4: K4, k5: K5, k6: K6, opts?: PluckUniqueOptions): OperatorFunction;\nexport function pluckUnique(...props: [string, ...string[]]): OperatorFunction;\nexport function pluckUnique(...props: [string, ...string[], PluckUniqueOptions]): OperatorFunction;\nexport function pluckUnique(...props: unknown[]): OperatorFunction {\n const last = props[props.length - 1];\n let keys = props as string[];\n let opts = DEFAULT_OPTIONS;\n\n if (typeof last === 'object') {\n opts = last as PluckUniqueOptions;\n keys = keys.slice(0, -1);\n }\n\n return source => source.pipe(\n pluck(...keys),\n distinctUntilChanged(opts.compare),\n shareReplay(1)\n );\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Segment.html":{"url":"interfaces/Segment.html","title":"interface - Segment","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Segment\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts\n \n\n\n \n Description\n \n \n A segment of text with additional classes and styles\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n classes\n \n \n \n \n styles\n \n \n \n \n text\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n classes\n \n \n \n \n \n \n \n \n classes: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Classes to add to the text container\n\n \n \n \n \n \n \n \n \n \n styles\n \n \n \n \n \n \n \n \n styles: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n\n\n\n\n \n \n Styles to set on the text container\n\n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n The piece of text to display\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges, SimpleChanges } from '@angular/core';\n\nimport { DecoratedRange, normalize } from './decorated-range';\n\n\n// Reexport DecoratedRange\nexport { DecoratedRange };\n\n/** A segment of text with additional classes and styles */\ninterface Segment {\n /** The piece of text to display */\n text: string;\n /** Classes to add to the text container */\n classes: string[];\n /** Styles to set on the text container */\n styles: Record;\n}\n\n/** Represents an operation to apply to the stack when building segments */\ninterface StackOp {\n /** Text index at which the changes takes effect */\n index: number;\n /** Decorations to add */\n added: DecoratedRange[];\n /** Decorations to remove */\n removed: DecoratedRange[];\n}\n\n\n/**\n * Class to display text with additional styling on ranges of the text.\n */\n@Component({\n selector: 'ccf-decorated-text',\n templateUrl: './decorated-text.component.html',\n styleUrls: ['./decorated-text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DecoratedTextComponent implements OnChanges {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-decorated-text';\n\n /**\n * Text to display\n */\n @Input() text: string;\n\n /**\n * Classes and styles to apply to ranges of the text.\n * For overlapping ranges later values takes precedence.\n */\n @Input() decorations?: Partial[];\n\n /**\n * Computed segments of text with decorations resolved.\n */\n segments: Segment[] = [];\n\n /**\n * Apply changes and recalculate cached values.\n *\n * @param changes Instance properties that have changed\n */\n ngOnChanges(changes: SimpleChanges): void {\n if ('text' in changes || 'decorations' in changes) {\n this.segments = this.createSegments();\n }\n }\n\n /**\n * Creates an array of decorated text segments based on\n * the latest text and decorations.\n *\n * @returns The new segments\n */\n private createSegments(): Segment[] {\n const { text } = this;\n if (!text) { // No styling can be applied to empty text fields\n return [this.makeUndecoratedSegment(text)];\n }\n\n const decorations = this.getNormalizedDecorations();\n if (decorations.length === 0) { // No styling available\n return [this.makeUndecoratedSegment(text)];\n }\n\n const stackOps = this.createStackOps(decorations);\n const segments: Segment[] = [];\n let stack: DecoratedRange[] = [];\n let lastIndex = 0;\n\n // If the first op starts at index zero apply stack changes\n // but don't push a segment by shifing out the first op\n if (stackOps[0].index === 0) {\n stack = this.updateStack(stack, stackOps.shift() as StackOp);\n }\n\n // Build segments based on the stack operations\n for (const op of stackOps) {\n segments.push(this.makeDecoratedSegment(\n text.slice(lastIndex, op.index), stack\n ));\n\n lastIndex = op.index;\n stack = this.updateStack(stack, op);\n }\n\n // Push the last segment if not already done\n if (lastIndex !== text.length) {\n segments.push(this.makeDecoratedSegment(\n text.slice(lastIndex), stack\n ));\n }\n\n return segments;\n }\n\n /**\n * Creates an ordered array of stack operations to apply when building segments.\n *\n * @param ranges The decorated ranges to apply\n * @returns The array of operations\n */\n private createStackOps(ranges: DecoratedRange[]): StackOp[] {\n const ops: Record = {};\n const getOp = (index: number) => (ops[index] ??= { index, added: [], removed: [] });\n\n for (const range of ranges) {\n getOp(range.start).added.push(range);\n getOp(range.end).removed.push(range);\n }\n\n return Object.entries(ops)\n .sort((i1, i2) => +i1[0] - +i2[0]) // Sort by index\n .map(entry => entry[1]);\n }\n\n /**\n * Applies the stack changes specified by the stack operation.\n *\n * @param stack The current stack\n * @param op The operation\n * @returns The new stack\n */\n private updateStack(stack: DecoratedRange[], op: StackOp): DecoratedRange[] {\n return stack\n .filter(item => !op.removed.includes(item))\n // Note - A new array is created by the above filter statement\n // so it is safe to modify it with concat\n .concat(op.added);\n }\n\n /**\n * Normalizes and filters valid decorated ranges.\n *\n * @returns The normalized ranges with properties filled\n */\n private getNormalizedDecorations(): DecoratedRange[] {\n const { decorations = [], text: { length } } = this;\n return decorations\n // Turn partials into full objects\n .map(range => normalize(range, length))\n // Remove empty and out of bounds ranges\n .filter(range => range.start (\n (result, range) => result.concat(range.classes),\n []\n );\n const styles = decorations.reduce(\n (result, range) => ({ ...result, ...range.styles }),\n {}\n );\n\n return { text, classes, styles };\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SpatialSearchListComponent.html":{"url":"components/SpatialSearchListComponent.html","title":"component - SpatialSearchListComponent","body":"\n \n\n\n\n\n\n Components\n \n SpatialSearchListComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts\n\n\n\n \n Description\n \n \n Displays a list of spatial searches\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-spatial-search-list\n \n\n \n styleUrls\n ./spatial-search-list.component.scss\n \n\n\n\n \n templateUrl\n ./spatial-search-list.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n itemId\n \n \n removeItem\n \n \n updateItemSelection\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n items\n \n \n label\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n itemRemoved\n \n \n selectionChanged\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n items\n \n \n \n \n Type : T[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:33\n \n \n \n \n Items to display\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:30\n \n \n \n \n Label for the list\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n itemRemoved\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:39\n \n \n \n \n Emits the item that has been removed from the list\n\n \n \n \n \n \n \n \n \n \n selectionChanged\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:36\n \n \n \n \n Emits the new items when a selection changes\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-spatial-search-list\"\n\n \n \n \n \n Default value : 'ccf-spatial-search-list'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:27\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n itemId\n \n \n \n \n \n \nitemId(_index: number, item: T)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:48\n \n \n\n\n \n \n Computes a unique id for an item\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n Unused\n\n \n \n \n item\n \n T\n \n\n \n No\n \n\n\n \n An item\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n A unique id\n\n \n \n \n \n \n \n \n \n \n \n \n removeItem\n \n \n \n \n \n \nremoveItem(index: number)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:71\n \n \n\n\n \n \n Removes an item from the list\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n Index of the item to remove\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateItemSelection\n \n \n \n \n \n \nupdateItemSelection(index: number, selected: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:58\n \n \n\n\n \n \n Updates the selected state for an item\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n Index of item to update\n\n \n \n \n selected\n \n boolean\n \n\n \n No\n \n\n\n \n What to set the selected state to\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-spatial-search-list'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:27\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\n\n/**\n * Base interface of items in the spatial search list\n */\nexport interface SpatialSearchListItem {\n /** Whether the item is selected */\n selected: boolean;\n\n /** Description displayed for the item */\n description: string;\n}\n\n\n/**\n * Displays a list of spatial searches\n */\n@Component({\n selector: 'ccf-spatial-search-list',\n templateUrl: './spatial-search-list.component.html',\n styleUrls: ['./spatial-search-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpatialSearchListComponent {\n /** HTML class */\n @HostBinding('class') readonly clsName = 'ccf-spatial-search-list';\n\n /** Label for the list */\n @Input() label = '';\n\n /** Items to display */\n @Input() items: T[] = [];\n\n /** Emits the new items when a selection changes */\n @Output() readonly selectionChanged = new EventEmitter();\n\n /** Emits the item that has been removed from the list */\n @Output() readonly itemRemoved = new EventEmitter();\n\n /**\n * Computes a unique id for an item\n *\n * @param _index Unused\n * @param item An item\n * @returns A unique id\n */\n itemId(_index: number, item: T): string {\n return item.description;\n }\n\n /**\n * Updates the selected state for an item\n *\n * @param index Index of item to update\n * @param selected What to set the selected state to\n */\n updateItemSelection(index: number, selected: boolean): void {\n const newItems = this.items = [...this.items];\n newItems[index] = { ...newItems[index], selected };\n\n const selectedItems = newItems.filter(item => item.selected);\n this.selectionChanged.emit(selectedItems);\n }\n\n /**\n * Removes an item from the list\n *\n * @param index Index of the item to remove\n */\n removeItem(index: number): void {\n const newItems = this.items = [...this.items];\n const [item] = newItems.splice(index, 1);\n this.itemRemoved.emit(item);\n }\n}\n\n \n\n \n \n {{ label }}\n\n\n\n \n \n \n {{ item.description }}\n \n\n \n\n \n delete_outlined\n \n \n \n\n\n \n\n \n \n ./spatial-search-list.component.scss\n \n :host {\n display: block;\n\n .label {\n margin-bottom: 0.5rem;\n font-weight: bold;\n }\n\n .item {\n height: 2rem;\n\n .item-content {\n display: flex;\n align-items: center;\n width: 100%;\n height: 2rem;\n\n .delete {\n width: 2rem;\n height: 2rem;\n line-height: 2rem;\n }\n\n .filler {\n flex-grow: 1;\n }\n }\n\n // Remove default padding from material list item\n & > ::ng-deep * {\n padding: 0 !important;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ label }} {{ item.description }} delete_outlined '\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'SpatialSearchListComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialSearchListItem.html":{"url":"interfaces/SpatialSearchListItem.html","title":"interface - SpatialSearchListItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialSearchListItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts\n \n\n\n \n Description\n \n \n Base interface of items in the spatial search list\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n selected\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Description displayed for the item\n\n \n \n \n \n \n \n \n \n \n selected\n \n \n \n \n \n \n \n \n selected: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the item is selected\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\n\n/**\n * Base interface of items in the spatial search list\n */\nexport interface SpatialSearchListItem {\n /** Whether the item is selected */\n selected: boolean;\n\n /** Description displayed for the item */\n description: string;\n}\n\n\n/**\n * Displays a list of spatial searches\n */\n@Component({\n selector: 'ccf-spatial-search-list',\n templateUrl: './spatial-search-list.component.html',\n styleUrls: ['./spatial-search-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpatialSearchListComponent {\n /** HTML class */\n @HostBinding('class') readonly clsName = 'ccf-spatial-search-list';\n\n /** Label for the list */\n @Input() label = '';\n\n /** Items to display */\n @Input() items: T[] = [];\n\n /** Emits the new items when a selection changes */\n @Output() readonly selectionChanged = new EventEmitter();\n\n /** Emits the item that has been removed from the list */\n @Output() readonly itemRemoved = new EventEmitter();\n\n /**\n * Computes a unique id for an item\n *\n * @param _index Unused\n * @param item An item\n * @returns A unique id\n */\n itemId(_index: number, item: T): string {\n return item.description;\n }\n\n /**\n * Updates the selected state for an item\n *\n * @param index Index of item to update\n * @param selected What to set the selected state to\n */\n updateItemSelection(index: number, selected: boolean): void {\n const newItems = this.items = [...this.items];\n newItems[index] = { ...newItems[index], selected };\n\n const selectedItems = newItems.filter(item => item.selected);\n this.selectionChanged.emit(selectedItems);\n }\n\n /**\n * Removes an item from the list\n *\n * @param index Index of the item to remove\n */\n removeItem(index: number): void {\n const newItems = this.items = [...this.items];\n const [item] = newItems.splice(index, 1);\n this.itemRemoved.emit(item);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SpatialSearchListModule.html":{"url":"modules/SpatialSearchListModule.html","title":"module - SpatialSearchListModule","body":"\n \n\n\n\n\n Modules\n SpatialSearchListModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SpatialSearchListModule\n\n\n\ncluster_SpatialSearchListModule_exports\n\n\n\ncluster_SpatialSearchListModule_declarations\n\n\n\n\nSpatialSearchListComponent\n\nSpatialSearchListComponent\n\n\n\nSpatialSearchListModule\n\nSpatialSearchListModule\n\nSpatialSearchListModule -->\n\nSpatialSearchListComponent->SpatialSearchListModule\n\n\n\n\n\nSpatialSearchListComponent \n\nSpatialSearchListComponent \n\nSpatialSearchListComponent -->\n\nSpatialSearchListModule->SpatialSearchListComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SpatialSearchListComponent\n \n \n \n \n Exports\n \n \n SpatialSearchListComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\n\nimport { SpatialSearchListComponent } from './spatial-search-list.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatButtonModule,\n MatCheckboxModule,\n MatIconModule,\n MatListModule\n ],\n declarations: [SpatialSearchListComponent],\n exports: [SpatialSearchListComponent]\n})\nexport class SpatialSearchListModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/StackOp.html":{"url":"interfaces/StackOp.html","title":"interface - StackOp","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n StackOp\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts\n \n\n\n \n Description\n \n \n Represents an operation to apply to the stack when building segments\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n added\n \n \n \n \n index\n \n \n \n \n removed\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n added\n \n \n \n \n \n \n \n \n added: DecoratedRange[]\n\n \n \n\n\n \n \n Type : DecoratedRange[]\n\n \n \n\n\n\n\n\n \n \n Decorations to add\n\n \n \n \n \n \n \n \n \n \n index\n \n \n \n \n \n \n \n \n index: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Text index at which the changes takes effect\n\n \n \n \n \n \n \n \n \n \n removed\n \n \n \n \n \n \n \n \n removed: DecoratedRange[]\n\n \n \n\n\n \n \n Type : DecoratedRange[]\n\n \n \n\n\n\n\n\n \n \n Decorations to remove\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges, SimpleChanges } from '@angular/core';\n\nimport { DecoratedRange, normalize } from './decorated-range';\n\n\n// Reexport DecoratedRange\nexport { DecoratedRange };\n\n/** A segment of text with additional classes and styles */\ninterface Segment {\n /** The piece of text to display */\n text: string;\n /** Classes to add to the text container */\n classes: string[];\n /** Styles to set on the text container */\n styles: Record;\n}\n\n/** Represents an operation to apply to the stack when building segments */\ninterface StackOp {\n /** Text index at which the changes takes effect */\n index: number;\n /** Decorations to add */\n added: DecoratedRange[];\n /** Decorations to remove */\n removed: DecoratedRange[];\n}\n\n\n/**\n * Class to display text with additional styling on ranges of the text.\n */\n@Component({\n selector: 'ccf-decorated-text',\n templateUrl: './decorated-text.component.html',\n styleUrls: ['./decorated-text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DecoratedTextComponent implements OnChanges {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-decorated-text';\n\n /**\n * Text to display\n */\n @Input() text: string;\n\n /**\n * Classes and styles to apply to ranges of the text.\n * For overlapping ranges later values takes precedence.\n */\n @Input() decorations?: Partial[];\n\n /**\n * Computed segments of text with decorations resolved.\n */\n segments: Segment[] = [];\n\n /**\n * Apply changes and recalculate cached values.\n *\n * @param changes Instance properties that have changed\n */\n ngOnChanges(changes: SimpleChanges): void {\n if ('text' in changes || 'decorations' in changes) {\n this.segments = this.createSegments();\n }\n }\n\n /**\n * Creates an array of decorated text segments based on\n * the latest text and decorations.\n *\n * @returns The new segments\n */\n private createSegments(): Segment[] {\n const { text } = this;\n if (!text) { // No styling can be applied to empty text fields\n return [this.makeUndecoratedSegment(text)];\n }\n\n const decorations = this.getNormalizedDecorations();\n if (decorations.length === 0) { // No styling available\n return [this.makeUndecoratedSegment(text)];\n }\n\n const stackOps = this.createStackOps(decorations);\n const segments: Segment[] = [];\n let stack: DecoratedRange[] = [];\n let lastIndex = 0;\n\n // If the first op starts at index zero apply stack changes\n // but don't push a segment by shifing out the first op\n if (stackOps[0].index === 0) {\n stack = this.updateStack(stack, stackOps.shift() as StackOp);\n }\n\n // Build segments based on the stack operations\n for (const op of stackOps) {\n segments.push(this.makeDecoratedSegment(\n text.slice(lastIndex, op.index), stack\n ));\n\n lastIndex = op.index;\n stack = this.updateStack(stack, op);\n }\n\n // Push the last segment if not already done\n if (lastIndex !== text.length) {\n segments.push(this.makeDecoratedSegment(\n text.slice(lastIndex), stack\n ));\n }\n\n return segments;\n }\n\n /**\n * Creates an ordered array of stack operations to apply when building segments.\n *\n * @param ranges The decorated ranges to apply\n * @returns The array of operations\n */\n private createStackOps(ranges: DecoratedRange[]): StackOp[] {\n const ops: Record = {};\n const getOp = (index: number) => (ops[index] ??= { index, added: [], removed: [] });\n\n for (const range of ranges) {\n getOp(range.start).added.push(range);\n getOp(range.end).removed.push(range);\n }\n\n return Object.entries(ops)\n .sort((i1, i2) => +i1[0] - +i2[0]) // Sort by index\n .map(entry => entry[1]);\n }\n\n /**\n * Applies the stack changes specified by the stack operation.\n *\n * @param stack The current stack\n * @param op The operation\n * @returns The new stack\n */\n private updateStack(stack: DecoratedRange[], op: StackOp): DecoratedRange[] {\n return stack\n .filter(item => !op.removed.includes(item))\n // Note - A new array is created by the above filter statement\n // so it is safe to modify it with concat\n .concat(op.added);\n }\n\n /**\n * Normalizes and filters valid decorated ranges.\n *\n * @returns The normalized ranges with properties filled\n */\n private getNormalizedDecorations(): DecoratedRange[] {\n const { decorations = [], text: { length } } = this;\n return decorations\n // Turn partials into full objects\n .map(range => normalize(range, length))\n // Remove empty and out of bounds ranges\n .filter(range => range.start (\n (result, range) => result.concat(range.classes),\n []\n );\n const styles = decorations.reduce(\n (result, range) => ({ ...result, ...range.styles }),\n {}\n );\n\n return { text, classes, styles };\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/StoreDebugComponent.html":{"url":"components/StoreDebugComponent.html","title":"component - StoreDebugComponent","body":"\n \n\n\n\n\n\n Components\n \n StoreDebugComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts\n\n\n\n \n Description\n \n \n Simple component for displaying the current values in the data store.\n\n \n\n\n \n Implements\n \n \n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-store-debug\n \n\n \n styleUrls\n ./store-debug.component.scss\n \n\n\n\n \n templateUrl\n ./store-debug.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Private\n root\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n data\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(store: Store, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts:37\n \n \n\n \n \n Creates an instance of store debug component.\nSets up the store data listeners.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n store\n \n \n Store\n \n \n \n No\n \n \n \n The data store.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n Change detection for this component.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-store-debug\"\n\n \n \n \n \n Default value : 'ccf-store-debug'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts:58\n \n \n\n\n \n \n Cleans up subscriptions\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-store-debug'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n root\n \n \n \n \n \n \n Type : Record>\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts:34\n \n \n\n \n \n Latest store data\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts:37\n \n \n\n \n \n Subscriptions managed by this component\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n data\n \n \n\n \n \n getdata()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts:26\n \n \n \n \n Gets the store data as a list of state name to key-value pairs\n\n\n \n Returns : KVList\n\n \n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, OnDestroy, ChangeDetectorRef, HostBinding } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { Subscription } from 'rxjs';\n\n/** Key-Value pair */\nexport type KVPair = [string, T];\n/** Array of Key-Value pairs */\nexport type KVList = KVPair[];\n\n/**\n * Simple component for displaying the current values in the data store.\n */\n@Component({\n selector: 'ccf-store-debug',\n templateUrl: './store-debug.component.html',\n styleUrls: ['./store-debug.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class StoreDebugComponent implements OnDestroy {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-store-debug';\n\n /**\n * Gets the store data as a list of state name to key-value pairs\n */\n get data(): KVList {\n const states: KVList> = Object.entries(this.root);\n const stateValues: KVList = states.map(([key, values]) => [key, Object.entries(values)]);\n const statesWithData = stateValues.filter(([_key, values]) => values.length > 0);\n return statesWithData;\n }\n\n /** Latest store data */\n private root: Record> = {};\n\n /** Subscriptions managed by this component */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of store debug component.\n * Sets up the store data listeners.\n *\n * @param store The data store.\n * @param cdr Change detection for this component.\n */\n constructor(store: Store, cdr: ChangeDetectorRef) {\n const sub = store.subscribe(root => {\n this.root = root as Record>;\n cdr.markForCheck();\n });\n\n this.subscriptions.add(sub);\n }\n\n /**\n * Cleans up subscriptions\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n}\n\n \n\n \n \n {{ state[0] }}\n \n \n {{ kv[0] }}: {{ kv[1] | json }}\n \n \n\n\n \n\n \n \n ./store-debug.component.scss\n \n :host {\n display: block;\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ state[0] }} {{ kv[0] }}: {{ kv[1] | json }} '\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'StoreDebugComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StoreDebugModule.html":{"url":"modules/StoreDebugModule.html","title":"module - StoreDebugModule","body":"\n \n\n\n\n\n Modules\n StoreDebugModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_StoreDebugModule\n\n\n\ncluster_StoreDebugModule_exports\n\n\n\ncluster_StoreDebugModule_declarations\n\n\n\n\nStoreDebugComponent\n\nStoreDebugComponent\n\n\n\nStoreDebugModule\n\nStoreDebugModule\n\nStoreDebugModule -->\n\nStoreDebugComponent->StoreDebugModule\n\n\n\n\n\nStoreDebugComponent \n\nStoreDebugComponent \n\nStoreDebugComponent -->\n\nStoreDebugModule->StoreDebugComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/store-debug/store-debug.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n StoreDebugComponent\n \n \n \n \n Exports\n \n \n StoreDebugComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { StoreDebugComponent } from './store-debug.component';\n\n\n@NgModule({\n imports: [CommonModule],\n declarations: [StoreDebugComponent],\n exports: [StoreDebugComponent]\n})\nexport class StoreDebugModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TextSearchComponent.html":{"url":"components/TextSearchComponent.html","title":"component - TextSearchComponent","body":"\n \n\n\n\n\n\n Components\n \n TextSearchComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/text-search/text-search.component.ts\n\n\n\n \n Description\n \n \n A text search bar with optional autocompletion functionality.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-text-search\n \n\n \n styleUrls\n ./text-search.component.scss\n \n\n\n\n \n templateUrl\n ./text-search.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Readonly\n controller\n \n \n Readonly\n options\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n getOptions\n \n \n optionDisplay\n \n \n optionId\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n autoCompleter\n \n \n maxOptions\n \n \n placeholder\n \n \n value\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n optionSelected\n \n \n valueChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n value\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(defaultMaxOptions: number)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:100\n \n \n\n \n \n Creates an instance of text search component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n defaultMaxOptions\n \n \n number\n \n \n \n No\n \n \n \n The default value for maxOptions\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n autoCompleter\n \n \n \n \n Type : function\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:76\n \n \n \n \n Function providing the autocomplete suggestions.\nReceives the latest search bar text and the maximum of suggestions to provide.\n\n \n \n \n \n \n \n \n \n \n maxOptions\n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:70\n \n \n \n \n Maximum number of autocomplete suggestions to show simultaneously\n\n \n \n \n \n \n \n \n \n \n placeholder\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Search...'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:53\n \n \n \n \n Placeholder text for the search bar\n\n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:59\n \n \n \n \n The text to show on the search bar\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n optionSelected\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:86\n \n \n \n \n Emits when an autocomplete option has been selected\n\n \n \n \n \n \n \n \n \n \n valueChange\n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:81\n \n \n \n \n Emits when the search bar text changes\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-text-search\"\n\n \n \n \n \n Default value : 'ccf-text-search'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:48\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n getOptions\n \n \n \n \n \n \n \n getOptions(search: string)\n \n \n\n \n \n Decorators : \n \n @Bind()\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:120\n \n \n\n\n \n \n Fetches the latest autocomplete suggestions for the provided search text.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n search\n \n string\n \n\n \n No\n \n\n\n \n The search text to find suggestions for\n\n \n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n The found suggestions\n\n \n \n \n \n \n \n \n \n \n \n \n optionDisplay\n \n \n \n \n \n \noptionDisplay(option: AutoCompleteOption | null)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:139\n \n \n\n\n \n \n Text to show in search bar when an autocomplete option is selected.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n option\n \n AutoCompleteOption | null\n \n\n \n No\n \n\n\n \n The autocomplete option\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n The displayed text\n\n \n \n \n \n \n \n \n \n \n \n \n optionId\n \n \n \n \n \n \noptionId(_index: number, option: AutoCompleteOption)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:150\n \n \n\n\n \n \n Gets an unique identifier for an autocomplete option object.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n Unused\n\n \n \n \n option\n \n AutoCompleteOption\n \n\n \n No\n \n\n\n \n The option object\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-text-search'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:48\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n controller\n \n \n \n \n \n \n Default value : new FormControl()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:91\n \n \n\n \n \n Form controller for search bar\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n options\n \n \n \n \n \n \n Default value : (this.controller.valueChanges as Observable).pipe(\n startWith(''),\n distinctUntilChanged(),\n switchMap(this.getOptions)\n )\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:96\n \n \n\n \n \n Emits the latest autocomplete suggestions\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n value\n \n \n\n \n \n getvalue()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:59\n \n \n \n \n The text to show on the search bar\n\n\n \n Returns : string\n\n \n \n \n\n \n \n setvalue(val: string)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:63\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n val\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n\n\n\n \n import {\n ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Inject, InjectionToken, Input, Output,\n} from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { bind as Bind } from 'bind-decorator';\nimport { from, Observable, ObservableInput } from 'rxjs';\nimport { distinctUntilChanged, map, startWith, switchMap, take } from 'rxjs/operators';\n\nimport { DecoratedRange } from '../decorated-text/decorated-range';\n\n\n/** A single suggestion to show in autocomplete */\nexport interface AutoCompleteOption {\n /** A unique id */\n id: unknown;\n /** The displayed label */\n label: string;\n /** Optional styling of the label */\n decorations?: Partial[];\n}\n\n/**\n * Token to provide a default for the maximum number of\n * autocomplete suggestions to show at the same time.\n */\nexport const DEFAULT_MAX_OPTIONS = new InjectionToken(\n 'Maximum number of autocomplete options displayed',\n {\n providedIn: 'root',\n factory(): number {\n return 10;\n }\n }\n);\n\n\n/**\n * A text search bar with optional autocompletion functionality.\n */\n@Component({\n selector: 'ccf-text-search',\n templateUrl: './text-search.component.html',\n styleUrls: ['./text-search.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TextSearchComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-text-search';\n\n /**\n * Placeholder text for the search bar\n */\n @Input() placeholder = 'Search...';\n\n /**\n * The text to show on the search bar\n */\n @Input()\n get value(): string {\n return this.controller.value as string;\n }\n\n set value(val: string) {\n this.controller.setValue(val, { emitEvent: false });\n }\n\n /**\n * Maximum number of autocomplete suggestions to show simultaneously\n */\n @Input() maxOptions?: number;\n\n /**\n * Function providing the autocomplete suggestions.\n * Receives the latest search bar text and the maximum of suggestions to provide.\n */\n @Input() autoCompleter?: (search: string, max: number) => ObservableInput;\n\n /**\n * Emits when the search bar text changes\n */\n @Output() readonly valueChange: Observable;\n\n /**\n * Emits when an autocomplete option has been selected\n */\n @Output() readonly optionSelected = new EventEmitter();\n\n /**\n * Form controller for search bar\n */\n readonly controller = new FormControl();\n\n /**\n * Emits the latest autocomplete suggestions\n */\n readonly options = (this.controller.valueChanges as Observable).pipe(\n startWith(''),\n distinctUntilChanged(),\n switchMap(this.getOptions)\n );\n\n /**\n * Creates an instance of text search component.\n *\n * @param defaultMaxOptions The default value for `maxOptions`\n */\n constructor(\n @Inject(DEFAULT_MAX_OPTIONS) private readonly defaultMaxOptions: number\n ) {\n this.valueChange = this.controller.valueChanges;\n }\n\n /**\n * Fetches the latest autocomplete suggestions for the provided search text.\n *\n * @param search The search text to find suggestions for\n * @returns The found suggestions\n */\n @Bind\n private async getOptions(search: string): Promise {\n const { autoCompleter, maxOptions = this.defaultMaxOptions } = this;\n if (!autoCompleter || maxOptions array.length \n \n\n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n\n \n \n \n \n\n\n \n\n \n \n ./text-search.component.scss\n \n :host {\n display: block;\n\n .form .form-field {\n width: 100%;\n\n .input {\n margin-left: 0.5rem;\n }\n }\n\n ::ng-deep .mat-form-field-appearance-outline {\n .mat-form-field-wrapper {\n margin: 0;\n\n .mat-form-field-flex {\n align-items: center;\n\n .mat-form-field-infix {\n height: 3rem;\n border: none;\n }\n\n .mat-form-field-suffix {\n top: 0;\n border: none;\n }\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' '\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'TextSearchComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TextSearchModule.html":{"url":"modules/TextSearchModule.html","title":"module - TextSearchModule","body":"\n \n\n\n\n\n Modules\n TextSearchModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TextSearchModule\n\n\n\ncluster_TextSearchModule_imports\n\n\n\ncluster_TextSearchModule_exports\n\n\n\ncluster_TextSearchModule_declarations\n\n\n\n\nTextSearchComponent\n\nTextSearchComponent\n\n\n\nTextSearchModule\n\nTextSearchModule\n\nTextSearchModule -->\n\nTextSearchComponent->TextSearchModule\n\n\n\n\n\nMatPrefix \n\nMatPrefix \n\nMatPrefix -->\n\nTextSearchModule->MatPrefix \n\n\n\n\n\nMatSuffix \n\nMatSuffix \n\nMatSuffix -->\n\nTextSearchModule->MatSuffix \n\n\n\n\n\nTextSearchComponent \n\nTextSearchComponent \n\nTextSearchComponent -->\n\nTextSearchModule->TextSearchComponent \n\n\n\n\n\nDecoratedTextModule\n\nDecoratedTextModule\n\nTextSearchModule -->\n\nDecoratedTextModule->TextSearchModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/text-search/text-search.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TextSearchComponent\n \n \n \n \n Imports\n \n \n DecoratedTextModule\n \n \n \n \n Exports\n \n \n MatPrefix\n \n \n MatSuffix\n \n \n TextSearchComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatFormFieldModule, MatPrefix, MatSuffix } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { DecoratedTextModule } from '../decorated-text/decorated-text.module';\nimport { TextSearchComponent } from './text-search.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n MatAutocompleteModule,\n MatFormFieldModule,\n MatInputModule,\n\n DecoratedTextModule\n ],\n declarations: [TextSearchComponent],\n exports: [\n TextSearchComponent,\n\n // Reexport prefix/suffix markers\n MatPrefix,\n MatSuffix\n ]\n})\nexport class TextSearchModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TrackingPopupComponent.html":{"url":"components/TrackingPopupComponent.html","title":"component - TrackingPopupComponent","body":"\n \n\n\n\n\n\n Components\n \n TrackingPopupComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-tracking-popup\n \n\n \n styleUrls\n ./tracking-popup.component.scss\n \n\n\n\n \n templateUrl\n ./tracking-popup.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n container\n \n \n Public\n data\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n dismiss\n \n \n showButton\n \n \n submit\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n allowTelemetry\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(elementRef: ElementRef, consentService: ConsentService, data: any)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementRef\n \n \n ElementRef\n \n \n \n No\n \n \n \n \n consentService\n \n \n ConsentService\n \n \n \n No\n \n \n \n \n data\n \n \n any\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-tracking-popup\"\n\n \n \n \n \n Default value : 'ccf-tracking-popup'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:13\n \n \n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n dismiss\n \n \n \n \n \n \ndismiss()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:26\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n showButton\n \n \n \n \n \n \nshowButton(button: \"opt-in\" | \"opt-out\")\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n button\n \n \"opt-in\" | \"opt-out\"\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n submit\n \n \n \n \n \n \nsubmit(entry: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n entry\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-tracking-popup'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n container\n \n \n \n \n \n \n Type : HTMLElement\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n data\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Decorators : \n \n \n @Inject(MAT_SNACK_BAR_DATA)\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:22\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n allowTelemetry\n \n \n\n \n \n getallowTelemetry()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:15\n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Inject } from '@angular/core';\nimport { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\nimport { ConsentService, Consent } from 'ccf-shared/analytics';\n\n\n@Component({\n selector: 'ccf-tracking-popup',\n templateUrl: './tracking-popup.component.html',\n styleUrls: ['./tracking-popup.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TrackingPopupComponent {\n @HostBinding('class') readonly clsName = 'ccf-tracking-popup';\n\n get allowTelemetry(): Consent {\n return this.consentService.consent;\n }\n\n container: HTMLElement;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n constructor(elementRef: ElementRef, readonly consentService: ConsentService, @Inject(MAT_SNACK_BAR_DATA) public data: any) {\n this.container = elementRef.nativeElement;\n }\n\n dismiss(): void {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n this.data.preClose();\n }\n\n submit(entry: boolean): void {\n this.consentService.setConsent(entry ? 'given' : 'rescinded');\n this.dismiss();\n }\n\n showButton(button: 'opt-in' | 'opt-out'): boolean {\n const { allowTelemetry } = this;\n if (allowTelemetry === 'not-set') {\n return true;\n } else {\n return button === 'opt-in' ? allowTelemetry === 'rescinded' : allowTelemetry === 'given';\n }\n }\n}\n\n \n\n \n We log usage to improve this service.\n\n {{allowTelemetry === 'not-set' ? 'I understand' : 'Opt in'}}\n\nOpt out\n \n\n \n \n ./tracking-popup.component.scss\n \n :host {\n display: flex;\n align-items: center;\n min-width: 400px;\n color: rgba(255, 255, 255, 0.7);\n background: #323232;\n 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);\n z-index: 9999;\n\n p {\n margin: 24px;\n }\n\n button {\n margin: 1rem;\n min-width: 6rem;\n background-color: #007cbe;\n display: flex;\n justify-content: center;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = 'We log usage to improve this service. {{allowTelemetry === \\'not-set\\' ? \\'I understand\\' : \\'Opt in\\'}}Opt out'\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'TrackingPopupComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TrackingPopupModule.html":{"url":"modules/TrackingPopupModule.html","title":"module - TrackingPopupModule","body":"\n \n\n\n\n\n Modules\n TrackingPopupModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TrackingPopupModule\n\n\n\ncluster_TrackingPopupModule_declarations\n\n\n\ncluster_TrackingPopupModule_exports\n\n\n\n\nTrackingPopupComponent\n\nTrackingPopupComponent\n\n\n\nTrackingPopupModule\n\nTrackingPopupModule\n\nTrackingPopupModule -->\n\nTrackingPopupComponent->TrackingPopupModule\n\n\n\n\n\nTrackingPopupComponent \n\nTrackingPopupComponent \n\nTrackingPopupComponent -->\n\nTrackingPopupModule->TrackingPopupComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TrackingPopupComponent\n \n \n \n \n Exports\n \n \n TrackingPopupComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { TrackingPopupComponent } from './tracking-popup.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatButtonModule\n ],\n declarations: [TrackingPopupComponent],\n exports: [TrackingPopupComponent]\n})\nexport class TrackingPopupModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TrackingState.html":{"url":"injectables/TrackingState.html","title":"injectable - TrackingState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n TrackingState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n\n\n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n setAllowTelemetry\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n setAllowTelemetry\n \n \n \n \n \n \nsetAllowTelemetry(allowTelemetry: boolean)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/analytics/tracking.state.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n allowTelemetry\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\n\n\nexport interface TrackingStateModel {\n allowTelemetry?: boolean;\n}\n\nexport const LOCAL_STORAGE_ALLOW_TELEMETRY_KEY = 'ALLOW_TELEMETRY';\nexport const INITIAL_TELEMETRY_SETTING = getTelemetryStorageSetting();\n\nfunction getTelemetryStorageSetting(): boolean | undefined {\n const value = localStorage.getItem(LOCAL_STORAGE_ALLOW_TELEMETRY_KEY);\n return value === null ? undefined : value.toLowerCase() === 'true';\n}\n\n@StateRepository()\n@State({\n name: 'tracking',\n defaults: {\n allowTelemetry: INITIAL_TELEMETRY_SETTING\n }\n})\n@Injectable()\nexport class TrackingState extends NgxsImmutableDataRepository {\n @DataAction()\n setAllowTelemetry(allowTelemetry: boolean): void {\n const oldValue = getTelemetryStorageSetting();\n localStorage.setItem(LOCAL_STORAGE_ALLOW_TELEMETRY_KEY, allowTelemetry.toString());\n this.ctx.patchState({ allowTelemetry });\n\n if (oldValue !== undefined || allowTelemetry === false) {\n // This ensures that if telemetry is disabled that it _WONT_ send anything to Google Analytics\n location.reload();\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TrackingStateModel.html":{"url":"interfaces/TrackingStateModel.html","title":"interface - TrackingStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TrackingStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n allowTelemetry\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n allowTelemetry\n \n \n \n \n \n \n \n \n allowTelemetry: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\n\n\nexport interface TrackingStateModel {\n allowTelemetry?: boolean;\n}\n\nexport const LOCAL_STORAGE_ALLOW_TELEMETRY_KEY = 'ALLOW_TELEMETRY';\nexport const INITIAL_TELEMETRY_SETTING = getTelemetryStorageSetting();\n\nfunction getTelemetryStorageSetting(): boolean | undefined {\n const value = localStorage.getItem(LOCAL_STORAGE_ALLOW_TELEMETRY_KEY);\n return value === null ? undefined : value.toLowerCase() === 'true';\n}\n\n@StateRepository()\n@State({\n name: 'tracking',\n defaults: {\n allowTelemetry: INITIAL_TELEMETRY_SETTING\n }\n})\n@Injectable()\nexport class TrackingState extends NgxsImmutableDataRepository {\n @DataAction()\n setAllowTelemetry(allowTelemetry: boolean): void {\n const oldValue = getTelemetryStorageSetting();\n localStorage.setItem(LOCAL_STORAGE_ALLOW_TELEMETRY_KEY, allowTelemetry.toString());\n this.ctx.patchState({ allowTelemetry });\n\n if (oldValue !== undefined || allowTelemetry === false) {\n // This ensures that if telemetry is disabled that it _WONT_ send anything to Google Analytics\n location.reload();\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/WorkerCCFDatabaseDataSourceService.html":{"url":"injectables/WorkerCCFDatabaseDataSourceService.html","title":"injectable - WorkerCCFDatabaseDataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n WorkerCCFDatabaseDataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts\n \n\n\n\n \n Extends\n \n \n CCFDatabaseDataSourceBaseService\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n database$\n \n \n Readonly\n impl$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n createDatabase\n \n \n Protected\n Abstract\n createWorker\n \n \n Private\n Async\n connectDatabase\n \n \n Protected\n forwardCall\n \n \n getAggregateResults\n \n \n getCellTypeTermOccurences\n \n \n getCellTypeTreeModel\n \n \n getDatabaseStatus\n \n \n getDatasetTechnologyNames\n \n \n getOntologyTermOccurences\n \n \n getOntologyTreeModel\n \n \n getProviderNames\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getScene\n \n \n getTissueBlockResults\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n createDatabase\n \n \n \n \n \n \n \n createDatabase(config: CCFDatabaseOptions)\n \n \n\n\n \n \n Inherited from CCFDatabaseDataSourceBaseService\n\n \n \n \n \n Defined in CCFDatabaseDataSourceBaseService:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : CCFDatabaseManager\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Abstract\n createWorker\n \n \n \n \n \n \n \n createWorker(config: CCFDatabaseOptions)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Worker\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n connectDatabase\n \n \n \n \n \n \n \n connectDatabase(manager: CCFDatabaseManager, config: CCFDatabaseOptions)\n \n \n\n\n \n \n Inherited from CCFDatabaseDataSourceBaseService\n\n \n \n \n \n Defined in CCFDatabaseDataSourceBaseService:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n manager\n \n CCFDatabaseManager\n \n\n \n No\n \n\n\n \n \n config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n forwardCall\n \n \n \n \n \n \n \n forwardCall(method: K, args: Parameters>)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:93\n\n \n \n\n \n \n Type parameters :\n \n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n K\n \n\n \n No\n \n\n\n \n \n args\n \n Parameters>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:52\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseStatus\n \n \n \n \n \n \ngetDatabaseStatus()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:36\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n \n \ngetDatasetTechnologyNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:44\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:68\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:48\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getProviderNames\n \n \n \n \n \n \ngetProviderNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:40\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:56\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:80\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:76\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:60\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n database$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Inherited from CCFDatabaseDataSourceBaseService\n\n \n \n \n \n Defined in CCFDatabaseDataSourceBaseService:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n impl$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Inherited from DelegateDataSource\n\n \n \n \n \n Defined in DelegateDataSource:19\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, isDevMode } from '@angular/core';\nimport { CCFDatabase, CCFDatabaseOptions } from 'ccf-database';\nimport { releaseProxy, Remote, wrap } from 'comlink';\nimport { Observable, Unsubscribable, using } from 'rxjs';\nimport { filter, map, shareReplay, switchMap } from 'rxjs/operators';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSourceLike, DelegateDataSource } from './data-source';\n\n\n\ninterface CCFDatabaseManager extends Unsubscribable {\n database: CCFDatabase | Remote;\n}\n\n\n@Injectable()\nabstract class CCFDatabaseDataSourceBaseService extends DelegateDataSource {\n readonly impl$: Observable;\n readonly database$: Observable>;\n\n constructor(globalConfig: GlobalConfigState) {\n super();\n\n this.impl$ = this.database$ = globalConfig.config$.pipe(\n source => source as Observable,\n filter(config => Object.keys(config).length > 0),\n switchMap(config => using(\n () => this.createDatabase(config),\n (manager: CCFDatabaseManager) => this.connectDatabase(manager, config)\n )),\n map(manager => manager.database),\n shareReplay(1)\n );\n }\n\n protected abstract createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager;\n\n private async connectDatabase(\n manager: CCFDatabaseManager, config: CCFDatabaseOptions\n ): Promise {\n const cacheResults = !isDevMode(); // Do not cache while in dev mode\n await manager.database.connect(config, cacheResults);\n return manager;\n }\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CCFDatabaseDataSourceService extends CCFDatabaseDataSourceBaseService {\n protected createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager {\n return {\n database: new CCFDatabase(config),\n unsubscribe: () => undefined\n };\n }\n}\n\n@Injectable()\nexport abstract class WorkerCCFDatabaseDataSourceService extends CCFDatabaseDataSourceBaseService {\n protected abstract createWorker(config: CCFDatabaseOptions): Worker;\n\n protected createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager {\n const worker = this.createWorker(config);\n const database = wrap(worker);\n\n return {\n database,\n unsubscribe: () => {\n database[releaseProxy]();\n worker.terminate();\n }\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/XYZPositionComponent.html":{"url":"components/XYZPositionComponent.html","title":"component - XYZPositionComponent","body":"\n \n\n\n\n\n\n Components\n \n XYZPositionComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/xyz-position/xyz-position.component.ts\n\n\n\n \n Description\n \n \n Component displaying a x, y, and z position\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-xyz-position\n \n\n \n styleUrls\n ./xyz-position.component.scss\n \n\n\n\n \n templateUrl\n ./xyz-position.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Readonly\n format\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n x\n \n \n y\n \n \n z\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n x\n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/xyz-position/xyz-position.component.ts:18\n \n \n \n \n X position\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/xyz-position/xyz-position.component.ts:21\n \n \n \n \n Y position\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/xyz-position/xyz-position.component.ts:24\n \n \n \n \n Z position\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-xyz-position\"\n\n \n \n \n \n Default value : 'ccf-xyz-position'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/xyz-position/xyz-position.component.ts:15\n \n \n\n \n \n Html class name\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-xyz-position'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/xyz-position/xyz-position.component.ts:15\n \n \n\n \n \n Html class name\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n format\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '1.0-2'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/xyz-position/xyz-position.component.ts:27\n \n \n\n \n \n Number format for position values\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\n\n/**\n * Component displaying a x, y, and z position\n */\n@Component({\n selector: 'ccf-xyz-position',\n templateUrl: './xyz-position.component.html',\n styleUrls: ['./xyz-position.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class XYZPositionComponent {\n /** Html class name */\n @HostBinding('class') readonly clsName = 'ccf-xyz-position';\n\n /** X position */\n @Input() x = 0;\n\n /** Y position */\n @Input() y = 0;\n\n /** Z position */\n @Input() z = 0;\n\n /** Number format for position values */\n readonly format = '1.0-2';\n}\n\n \n\n \n X: {{ x | number:format }}\nY: {{ y | number:format }}\nZ: {{ z | number:format }}\n\n \n\n \n \n ./xyz-position.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n\n .line {\n font-size: 1rem;\n font-weight: 400;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = 'X: {{ x | number:format }}Y: {{ y | number:format }}Z: {{ z | number:format }}'\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'XYZPositionComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/XYZPositionModule.html":{"url":"modules/XYZPositionModule.html","title":"module - XYZPositionModule","body":"\n \n\n\n\n\n Modules\n XYZPositionModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_XYZPositionModule\n\n\n\ncluster_XYZPositionModule_declarations\n\n\n\ncluster_XYZPositionModule_exports\n\n\n\n\nXYZPositionComponent\n\nXYZPositionComponent\n\n\n\nXYZPositionModule\n\nXYZPositionModule\n\nXYZPositionModule -->\n\nXYZPositionComponent->XYZPositionModule\n\n\n\n\n\nXYZPositionComponent \n\nXYZPositionComponent \n\nXYZPositionComponent -->\n\nXYZPositionModule->XYZPositionComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/xyz-position/xyz-position.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n XYZPositionComponent\n \n \n \n \n Exports\n \n \n XYZPositionComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { XYZPositionComponent } from './xyz-position.component';\n\n\n@NgModule({\n imports: [CommonModule],\n declarations: [XYZPositionComponent],\n exports: [XYZPositionComponent]\n})\nexport class XYZPositionModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/XYZTriplet.html":{"url":"interfaces/XYZTriplet.html","title":"interface - XYZTriplet","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n XYZTriplet\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/body-ui/body-ui.component.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import {\n AfterViewInit, Component, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, Output, ViewChild,\n} from '@angular/core';\nimport { BodyUI, NodeClickEvent, NodeDragEvent, SpatialSceneNode } from 'ccf-body-ui';\nimport { Subscription } from 'rxjs';\n\n\ninterface XYZTriplet {\n x: T;\n y: T;\n z: T;\n}\n\n/**\n * Component that handles displaying the 3D models in the stage\n */\n@Component({\n selector: 'ccf-body-ui',\n templateUrl: './body-ui.component.html',\n styleUrls: ['./body-ui.component.scss']\n})\nexport class BodyUiComponent implements AfterViewInit, OnDestroy {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-body-ui';\n\n @Input()\n get scene(): SpatialSceneNode[] {\n return this._scene;\n }\n\n set scene(nodes: SpatialSceneNode[]) {\n this._scene = nodes;\n this.bodyUI?.setScene(nodes);\n }\n\n @Input()\n get rotation(): number {\n return this._rotation;\n }\n\n set rotation(value: number) {\n this._rotation = value;\n this.bodyUI?.setRotation(value);\n }\n\n @Input()\n get rotationX(): number {\n return this._rotationX;\n }\n\n set rotationX(value: number) {\n this._rotationX = value;\n this.bodyUI?.setRotationX(value);\n }\n\n @Input()\n get zoom(): number {\n return this._zoom;\n }\n\n set zoom(value: number) {\n this._zoom = value;\n this.bodyUI?.setZoom(value);\n }\n\n @Input()\n get target(): [number, number, number] {\n return this._target;\n }\n\n set target(value: [number, number, number]) {\n this._target = value;\n this.bodyUI?.setTarget(value);\n }\n\n @Input()\n get bounds(): XYZTriplet {\n return this._bounds;\n }\n\n set bounds(value: XYZTriplet) {\n this._bounds = value;\n this.zoomToBounds(value);\n }\n\n @Input()\n get camera(): string {\n return this._camera;\n }\n\n set camera(value: string) {\n this._camera = value;\n }\n\n @Output()\n readonly rotationChange = new EventEmitter();\n\n @Output()\n readonly nodeDrag = new EventEmitter();\n\n @Output()\n readonly nodeClick = new EventEmitter();\n\n @Output()\n readonly nodeHoverStart = new EventEmitter();\n\n @Output()\n readonly nodeHoverStop = new EventEmitter();\n\n @Output()\n readonly initialized = new EventEmitter();\n\n @Input()\n get interactive(): boolean {\n return this._interactive;\n }\n\n set interactive(value: boolean) {\n this._interactive = value;\n if (this.bodyUI) {\n this.recreateBodyUI();\n }\n }\n\n private _interactive = true;\n private _rotation = 0;\n private _rotationX = 0;\n private _zoom = 9.5;\n private _target: [number, number, number] = [0, 0, 0];\n private _bounds: XYZTriplet;\n private _scene: SpatialSceneNode[] = [];\n private subscriptions: Subscription[] = [];\n private _camera: string;\n\n /**\n * Instance of the body UI class for rendering the deckGL scene\n */\n bodyUI: BodyUI;\n\n /**\n * Reference to the div we are using to mount the body UI to.\n */\n @ViewChild('bodyCanvas', { read: ElementRef }) bodyCanvas: ElementRef;\n\n /**\n * Performs setup required after initialization\n */\n ngAfterViewInit(): void {\n this.setupBodyUI();\n }\n\n zoomToBounds(bounds: XYZTriplet, margin = { x: 48, y: 48 }): void {\n if (this.bodyCanvas) {\n const { width, height } = this.bodyCanvas.nativeElement;\n const pxRatio = window.devicePixelRatio;\n const zoom = Math.min(\n Math.log2((width - margin.x) / pxRatio / bounds.x),\n Math.log2((height - margin.y) / pxRatio / bounds.y)\n );\n this.zoom = zoom;\n }\n }\n\n /**\n * Set up required to render the body UI with the scene nodes.\n */\n private async setupBodyUI(): Promise {\n const canvas = this.bodyCanvas.nativeElement;\n const bodyUI = new BodyUI({\n id: 'body-ui',\n canvas,\n zoom: this.zoom,\n target: [0, 0, 0],\n rotation: 0,\n minRotationX: -75,\n maxRotationX: 75,\n interactive: this.interactive,\n camera: this.camera\n });\n canvas.addEventListener('contextmenu', evt => evt.preventDefault());\n await bodyUI.initialize();\n this.bodyUI = bodyUI;\n (window as unknown as { bodyUI: unknown }).bodyUI = bodyUI;\n if (this.scene?.length > 0) {\n this.bodyUI.setScene(this.scene);\n }\n if (this.bounds) {\n this.zoomToBounds(this.bounds);\n }\n if (this.target) {\n this.bodyUI.setTarget(this.target);\n }\n this.subscriptions = [\n this.bodyUI.sceneRotation$.subscribe((rotation) => this.rotationChange.next(rotation)),\n this.bodyUI.nodeDrag$.subscribe((event) => this.nodeDrag.emit(event)),\n this.bodyUI.nodeClick$.subscribe((event) => this.nodeClick.emit(event)),\n this.bodyUI.nodeHoverStart$.subscribe((event) => this.nodeHoverStart.emit(event)),\n this.bodyUI.nodeHoverStop$.subscribe((event) => this.nodeHoverStop.emit(event))\n ];\n this.initialized.emit();\n }\n\n private recreateBodyUI(): void {\n this.clearSubscriptions();\n this.bodyUI.finalize();\n this.setupBodyUI();\n }\n\n private clearSubscriptions(): void {\n this.subscriptions.forEach(s => s.unsubscribe());\n this.subscriptions = [];\n }\n\n ngOnDestroy(): void {\n this.clearSubscriptions();\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/analytics.module.ts\n \n interface\n AnalyticsOptions\n \n 0 %\n (0/5)\n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/analytics.module.ts\n \n function\n initCommands\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/analytics.module.ts\n \n function\n toAttributes\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/analytics.module.ts\n \n variable\n EAGERLY_LOADED_SERVICES\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/consent.service.ts\n \n injectable\n ConsentService\n \n 0 %\n (0/7)\n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/google-analytics-sync.service.ts\n \n injectable\n GoogleAnalyticsSyncService\n \n 0 %\n (0/6)\n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts\n \n injectable\n LocalStorageSyncService\n \n 0 %\n (0/7)\n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts\n \n variable\n LOCAL_STORAGE_CONSENT_KEY\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/filter-nulls.ts\n \n function\n filterNulls\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/flatten.ts\n \n function\n flatten\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/inner-map.ts\n \n function\n innerMap\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n interface\n PluckUniqueOptions\n \n 100 %\n (2/2)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n variable\n DEFAULT_OPTIONS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/src/public-api.ts\n \n variable\n placeholder\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/analytics/mouse-position-tracker.module.ts\n \n function\n trackMousePosition\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n injectable\n TrackingState\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n interface\n TrackingStateModel\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n function\n getTelemetryStorageSetting\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n variable\n INITIAL_TELEMETRY_SETTING\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n variable\n LOCAL_STORAGE_ALLOW_TELEMETRY_KEY\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/body-ui/body-ui.component.ts\n \n component\n BodyUiComponent\n \n 20 %\n (7/34)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/body-ui/body-ui.component.ts\n \n interface\n XYZTriplet\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.component.ts\n \n component\n CallToActionBehaviorComponent\n \n 42 %\n (3/7)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts\n \n component\n CallToActionComponent\n \n 100 %\n (11/11)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-range.ts\n \n interface\n DecoratedRange\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-range.ts\n \n function\n normalize\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-range.ts\n \n function\n resolveIndex\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts\n \n component\n DecoratedTextComponent\n \n 100 %\n (13/13)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts\n \n interface\n Segment\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts\n \n interface\n StackOp\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts\n \n component\n InfoButtonComponent\n \n 77 %\n (7/9)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts\n \n injectable\n InfoButtonService\n \n 60 %\n (3/5)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts\n \n interface\n DocumentationContent\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts\n \n interface\n PanelData\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts\n \n component\n InfoDialogComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts\n \n interface\n InfoDialogData\n \n 25 %\n (1/4)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts\n \n component\n OpacitySliderComponent\n \n 78 %\n (11/14)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/organ-selector/organ-selector.component.ts\n \n component\n OrganSelectorComponent\n \n 76 %\n (23/30)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/organ-selector/organ-selector.component.ts\n \n interface\n OrganInfo\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/organ-selector/organ-selector.component.ts\n \n variable\n ALL_ORGANS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/organ-selector/organ-selector.component.ts\n \n variable\n ALL_POSSIBLE_ORGANS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts\n \n component\n SpatialSearchListComponent\n \n 100 %\n (10/10)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts\n \n interface\n SpatialSearchListItem\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts\n \n component\n StoreDebugComponent\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/text-search/text-search.component.ts\n \n component\n TextSearchComponent\n \n 100 %\n (15/15)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/text-search/text-search.component.ts\n \n interface\n AutoCompleteOption\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/text-search/text-search.component.ts\n \n variable\n DEFAULT_MAX_OPTIONS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts\n \n component\n TrackingPopupComponent\n \n 0 %\n (0/9)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/xyz-position/xyz-position.component.ts\n \n component\n XYZPositionComponent\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-shared/src/lib/config/global-config.state.ts\n \n injectable\n GlobalConfigState\n \n 0 %\n (0/11)\n \n \n \n \n \n projects/ccf-shared/src/lib/directives/numbers-only/numbers-only.directive.ts\n \n directive\n NumberDirective\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n injectable\n ApiEndpointDataSourceService\n \n 0 %\n (0/17)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n interface\n ApiEndpointDataSourceOptions\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n interface\n DefaultParams\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n interface\n FilterParams\n \n 0 %\n (0/11)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n function\n cast\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n function\n filterToParams\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n function\n rangeToMinMax\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n function\n spatialSceneNodeReviver\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n variable\n buster$\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n variable\n CACHE_CONFIG_NO_PARAMS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n variable\n CACHE_CONFIG_PARAMS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts\n \n injectable\n CCFDatabaseDataSourceBaseService\n \n 0 %\n (0/19)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts\n \n injectable\n CCFDatabaseDataSourceService\n \n 0 %\n (0/18)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts\n \n injectable\n WorkerCCFDatabaseDataSourceService\n \n 0 %\n (0/19)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts\n \n interface\n CCFDatabaseManager\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.service.ts\n \n injectable\n DataSourceService\n \n 0 %\n (0/13)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.ts\n \n class\n DelegateDataSource\n \n 0 %\n (0/15)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.ts\n \n class\n ForwardingDataSource\n \n 0 %\n (0/14)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.ts\n \n interface\n DataSource\n \n 0 %\n (0/13)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/injector-delegate.service.ts\n \n injectable\n InjectorDelegateDataSourceService\n \n 0 %\n (0/17)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/globals/globals.service.ts\n \n injectable\n GlobalsService\n \n 50 %\n (6/12)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/globals/globals.service.ts\n \n variable\n global\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts\n \n injectable\n LocalStorageService\n \n 85 %\n (6/7)\n \n \n \n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts\n \n class\n CloseDialog\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts\n \n class\n LearnMore\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts\n \n class\n OpenDialog\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.selectors.ts\n \n class\n CallToActionSelectors\n \n 0 %\n (0/7)\n \n \n \n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts\n \n injectable\n CallToActionState\n \n 77 %\n (7/9)\n \n \n \n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts\n \n interface\n CallToActionModel\n \n 14 %\n (1/7)\n \n \n \n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts\n \n variable\n POPUP_SHOWN_STORAGE_KEY\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts\n \n variable\n SPATIAL_SEARCH_README\n \n 100 %\n (1/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n cast   (projects/.../api-endpoint.service.ts)\n \n \n filterNulls   (projects/.../filter-nulls.ts)\n \n \n filterToParams   (projects/.../api-endpoint.service.ts)\n \n \n flatten   (projects/.../flatten.ts)\n \n \n getTelemetryStorageSetting   (projects/.../tracking.state.ts)\n \n \n initCommands   (projects/.../analytics.module.ts)\n \n \n innerMap   (projects/.../inner-map.ts)\n \n \n normalize   (projects/.../decorated-range.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n rangeToMinMax   (projects/.../api-endpoint.service.ts)\n \n \n resolveIndex   (projects/.../decorated-range.ts)\n \n \n spatialSceneNodeReviver   (projects/.../api-endpoint.service.ts)\n \n \n toAttributes   (projects/.../analytics.module.ts)\n \n \n trackMousePosition   (projects/.../mouse-position-tracker.module.ts)\n \n \n \n \n \n \n\n\n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n \n \n \n \n \n \n cast\n \n \n \n \n \n \ncast()\n \n \n\n\n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n filterToParams\n \n \n \n \n \n \nfilterToParams(filter?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n filter\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : FilterParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rangeToMinMax\n \n \n \n \n \n \nrangeToMinMax(range, low, high)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n range\n\n \n No\n \n\n\n \n \n low\n\n \n No\n \n\n\n \n \n high\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : MinMax | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n spatialSceneNodeReviver\n \n \n \n \n \n \nspatialSceneNodeReviver(nodes)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n nodes\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/filter-nulls.ts\n \n \n \n \n \n \n \n filterNulls\n \n \n \n \n \n \nfilterNulls()\n \n \n\n\n\n\n \n \n Removes all null and undefined values from a stream.\n\n\n \n \n \n Returns : OperatorFunction\n\n \n \n An Observable operator\n\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/flatten.ts\n \n \n \n \n \n \n \n flatten\n \n \n \n \n \n \nflatten()\n \n \n\n\n\n\n \n \n Flattens a single level of nested arrays.\n\n\n \n \n \n Returns : OperatorFunction\n\n \n \n An Observable operator\n\n \n \n \n \n \n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n \n \n \n \n \n \n getTelemetryStorageSetting\n \n \n \n \n \n \ngetTelemetryStorageSetting()\n \n \n\n\n\n\n \n \n\n \n Returns : boolean | undefined\n\n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/analytics.module.ts\n \n \n \n \n \n \n \n initCommands\n \n \n \n \n \n \ninitCommands(options)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n options\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : IGoogleAnalyticsCommand[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n toAttributes\n \n \n \n \n \n \ntoAttributes(obj)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n obj\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Record\n\n \n \n \n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/inner-map.ts\n \n \n \n \n \n \n \n innerMap\n \n \n \n \n \n \ninnerMap(project)\n \n \n\n\n\n\n \n \n Maps the values of each emitted array.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n project\n\n \n No\n \n\n\n \n Mapping callback invoked for each element\n\n \n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n An Observable operator\n\n \n \n \n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-range.ts\n \n \n \n \n \n \n \n normalize\n \n \n \n \n \n \nnormalize(range, length)\n \n \n\n\n\n\n \n \n Produces a new range object based on the input where all properties have been normalized.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n range\n\n \n No\n \n\n\n \n The object to normalize.\n\n \n \n \n length\n\n \n No\n \n\n\n \n Max length for indices.\n\n \n \n \n \n \n \n \n \n Returns : DecoratedRange\n\n \n \n A new object where all undefined values have been replaced with defaults and\nwhere all indices have been constrained to the range [0, length].\n\n \n \n \n \n \n \n \n \n \n \n \n resolveIndex\n \n \n \n \n \n \nresolveIndex(index, length)\n \n \n\n\n\n\n \n \n Resolves and normalizes an index for indexing into an array of length length.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n index\n\n \n No\n \n\n\n \n The index value to resolve. May be negative indicating an index from end.\n\n \n \n \n length\n\n \n No\n \n\n\n \n The length of the object on which this index will be used.\n\n \n \n \n \n \n \n \n \n Returns : number\n\n \n \n A positive index in range [0, length]\n\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(k1, opts?)\n \n \n\n\n\n\n \n \n Combines the functionaliy of pluck and distinctUntilChanged\nas well as adding a shareReplay.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n k1\n\n \n No\n \n\n\n \n \n \n \n opts\n\n \n Yes\n \n\n\n \n Additional options\n\n \n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n An Observable operator\n\n \n \n \n \n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(k1, k2, opts?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n k1\n\n \n No\n \n\n\n \n \n k2\n\n \n No\n \n\n\n \n \n opts\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(k1, k2, k3, opts?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n k1\n\n \n No\n \n\n\n \n \n k2\n\n \n No\n \n\n\n \n \n k3\n\n \n No\n \n\n\n \n \n opts\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(k1, k2, k3, k4, opts?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n k1\n\n \n No\n \n\n\n \n \n k2\n\n \n No\n \n\n\n \n \n k3\n\n \n No\n \n\n\n \n \n k4\n\n \n No\n \n\n\n \n \n opts\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(k1, k2, k3, k4, k5, opts?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n k1\n\n \n No\n \n\n\n \n \n k2\n\n \n No\n \n\n\n \n \n k3\n\n \n No\n \n\n\n \n \n k4\n\n \n No\n \n\n\n \n \n k5\n\n \n No\n \n\n\n \n \n opts\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(k1, k2, k3, k4, k5, k6, opts?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n k1\n\n \n No\n \n\n\n \n \n k2\n\n \n No\n \n\n\n \n \n k3\n\n \n No\n \n\n\n \n \n k4\n\n \n No\n \n\n\n \n \n k5\n\n \n No\n \n\n\n \n \n k6\n\n \n No\n \n\n\n \n \n opts\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(...props: undefined)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n props\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(...props: undefined)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n props\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(...props: undefined)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n props\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n \n \n \n \n \n \n projects/ccf-shared/src/lib/analytics/mouse-position-tracker.module.ts\n \n \n \n \n \n \n \n trackMousePosition\n \n \n \n \n \n \ntrackMousePosition(el, ga)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n el\n\n \n No\n \n\n\n \n \n ga\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Subscription\n\n \n \n \n \n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AnalyticsModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n BodyUiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CallToActionBehaviorModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CallToActionModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DecoratedTextModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n InfoButtonModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n InfoDialogModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n MousePositionTrackerModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n NumbersOnlyModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OpacitySliderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OrganSelectorModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SpatialSearchListModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StoreDebugModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TextSearchModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TrackingPopupModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n XYZPositionModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AnalyticsModule\n\n\n\ncluster_AnalyticsModule_providers\n\n\n\ncluster_BodyUiModule\n\n\n\ncluster_BodyUiModule_declarations\n\n\n\ncluster_BodyUiModule_exports\n\n\n\ncluster_CallToActionBehaviorModule\n\n\n\ncluster_CallToActionBehaviorModule_declarations\n\n\n\ncluster_CallToActionBehaviorModule_imports\n\n\n\ncluster_CallToActionBehaviorModule_exports\n\n\n\ncluster_CallToActionModule\n\n\n\ncluster_CallToActionModule_declarations\n\n\n\ncluster_CallToActionModule_exports\n\n\n\ncluster_DecoratedTextModule\n\n\n\ncluster_DecoratedTextModule_declarations\n\n\n\ncluster_DecoratedTextModule_exports\n\n\n\ncluster_InfoButtonModule\n\n\n\ncluster_InfoButtonModule_declarations\n\n\n\ncluster_InfoButtonModule_imports\n\n\n\ncluster_InfoButtonModule_exports\n\n\n\ncluster_InfoDialogModule\n\n\n\ncluster_InfoDialogModule_declarations\n\n\n\ncluster_InfoDialogModule_exports\n\n\n\ncluster_NumbersOnlyModule\n\n\n\ncluster_NumbersOnlyModule_declarations\n\n\n\ncluster_NumbersOnlyModule_exports\n\n\n\ncluster_OpacitySliderModule\n\n\n\ncluster_OpacitySliderModule_declarations\n\n\n\ncluster_OpacitySliderModule_exports\n\n\n\ncluster_OrganSelectorModule\n\n\n\ncluster_OrganSelectorModule_declarations\n\n\n\ncluster_OrganSelectorModule_exports\n\n\n\ncluster_SpatialSearchListModule\n\n\n\ncluster_SpatialSearchListModule_declarations\n\n\n\ncluster_SpatialSearchListModule_exports\n\n\n\ncluster_StoreDebugModule\n\n\n\ncluster_StoreDebugModule_declarations\n\n\n\ncluster_StoreDebugModule_exports\n\n\n\ncluster_TextSearchModule\n\n\n\ncluster_TextSearchModule_declarations\n\n\n\ncluster_TextSearchModule_exports\n\n\n\ncluster_TrackingPopupModule\n\n\n\ncluster_TrackingPopupModule_declarations\n\n\n\ncluster_TrackingPopupModule_exports\n\n\n\ncluster_XYZPositionModule\n\n\n\ncluster_XYZPositionModule_declarations\n\n\n\ncluster_XYZPositionModule_exports\n\n\n\n\nConsentService\n\nConsentService\n\n\n\nAnalyticsModule\n\nAnalyticsModule\n\nAnalyticsModule -->\n\nConsentService->AnalyticsModule\n\n\n\n\n\nGoogleAnalyticsSyncService\n\nGoogleAnalyticsSyncService\n\nAnalyticsModule -->\n\nGoogleAnalyticsSyncService->AnalyticsModule\n\n\n\n\n\nLocalStorageSyncService\n\nLocalStorageSyncService\n\nAnalyticsModule -->\n\nLocalStorageSyncService->AnalyticsModule\n\n\n\n\n\nBodyUiComponent\n\nBodyUiComponent\n\n\n\nBodyUiModule\n\nBodyUiModule\n\nBodyUiModule -->\n\nBodyUiComponent->BodyUiModule\n\n\n\n\n\nBodyUiComponent \n\nBodyUiComponent \n\nBodyUiComponent -->\n\nBodyUiModule->BodyUiComponent \n\n\n\n\n\nCallToActionBehaviorComponent\n\nCallToActionBehaviorComponent\n\n\n\nCallToActionBehaviorModule\n\nCallToActionBehaviorModule\n\nCallToActionBehaviorModule -->\n\nCallToActionBehaviorComponent->CallToActionBehaviorModule\n\n\n\n\n\nCallToActionBehaviorComponent \n\nCallToActionBehaviorComponent \n\nCallToActionBehaviorComponent -->\n\nCallToActionBehaviorModule->CallToActionBehaviorComponent \n\n\n\n\n\nCallToActionModule\n\nCallToActionModule\n\nCallToActionBehaviorModule -->\n\nCallToActionModule->CallToActionBehaviorModule\n\n\n\n\n\nCallToActionComponent \n\nCallToActionComponent \n\nCallToActionComponent -->\n\nCallToActionModule->CallToActionComponent \n\n\n\n\n\nCallToActionComponent\n\nCallToActionComponent\n\nCallToActionModule -->\n\nCallToActionComponent->CallToActionModule\n\n\n\n\n\nDecoratedTextComponent\n\nDecoratedTextComponent\n\n\n\nDecoratedTextModule\n\nDecoratedTextModule\n\nDecoratedTextModule -->\n\nDecoratedTextComponent->DecoratedTextModule\n\n\n\n\n\nDecoratedTextComponent \n\nDecoratedTextComponent \n\nDecoratedTextComponent -->\n\nDecoratedTextModule->DecoratedTextComponent \n\n\n\n\n\nTextSearchModule\n\nTextSearchModule\n\nTextSearchModule -->\n\nDecoratedTextModule->TextSearchModule\n\n\n\n\n\nInfoButtonComponent\n\nInfoButtonComponent\n\n\n\nInfoButtonModule\n\nInfoButtonModule\n\nInfoButtonModule -->\n\nInfoButtonComponent->InfoButtonModule\n\n\n\n\n\nInfoButtonComponent \n\nInfoButtonComponent \n\nInfoButtonComponent -->\n\nInfoButtonModule->InfoButtonComponent \n\n\n\n\n\nInfoDialogModule\n\nInfoDialogModule\n\nInfoButtonModule -->\n\nInfoDialogModule->InfoButtonModule\n\n\n\n\n\nInfoDialogComponent \n\nInfoDialogComponent \n\nInfoDialogComponent -->\n\nInfoDialogModule->InfoDialogComponent \n\n\n\n\n\nInfoDialogComponent\n\nInfoDialogComponent\n\nInfoDialogModule -->\n\nInfoDialogComponent->InfoDialogModule\n\n\n\n\n\nNumberDirective\n\nNumberDirective\n\n\n\nNumbersOnlyModule\n\nNumbersOnlyModule\n\nNumbersOnlyModule -->\n\nNumberDirective->NumbersOnlyModule\n\n\n\n\n\nNumberDirective \n\nNumberDirective \n\nNumberDirective -->\n\nNumbersOnlyModule->NumberDirective \n\n\n\n\n\nOpacitySliderComponent\n\nOpacitySliderComponent\n\n\n\nOpacitySliderModule\n\nOpacitySliderModule\n\nOpacitySliderModule -->\n\nOpacitySliderComponent->OpacitySliderModule\n\n\n\n\n\nOpacitySliderComponent \n\nOpacitySliderComponent \n\nOpacitySliderComponent -->\n\nOpacitySliderModule->OpacitySliderComponent \n\n\n\n\n\nOrganSelectorComponent\n\nOrganSelectorComponent\n\n\n\nOrganSelectorModule\n\nOrganSelectorModule\n\nOrganSelectorModule -->\n\nOrganSelectorComponent->OrganSelectorModule\n\n\n\n\n\nOrganSelectorComponent \n\nOrganSelectorComponent \n\nOrganSelectorComponent -->\n\nOrganSelectorModule->OrganSelectorComponent \n\n\n\n\n\nSpatialSearchListComponent\n\nSpatialSearchListComponent\n\n\n\nSpatialSearchListModule\n\nSpatialSearchListModule\n\nSpatialSearchListModule -->\n\nSpatialSearchListComponent->SpatialSearchListModule\n\n\n\n\n\nSpatialSearchListComponent \n\nSpatialSearchListComponent \n\nSpatialSearchListComponent -->\n\nSpatialSearchListModule->SpatialSearchListComponent \n\n\n\n\n\nStoreDebugComponent\n\nStoreDebugComponent\n\n\n\nStoreDebugModule\n\nStoreDebugModule\n\nStoreDebugModule -->\n\nStoreDebugComponent->StoreDebugModule\n\n\n\n\n\nStoreDebugComponent \n\nStoreDebugComponent \n\nStoreDebugComponent -->\n\nStoreDebugModule->StoreDebugComponent \n\n\n\n\n\nTextSearchComponent\n\nTextSearchComponent\n\nTextSearchModule -->\n\nTextSearchComponent->TextSearchModule\n\n\n\n\n\nMatPrefix \n\nMatPrefix \n\nMatPrefix -->\n\nTextSearchModule->MatPrefix \n\n\n\n\n\nMatSuffix \n\nMatSuffix \n\nMatSuffix -->\n\nTextSearchModule->MatSuffix \n\n\n\n\n\nTextSearchComponent \n\nTextSearchComponent \n\nTextSearchComponent -->\n\nTextSearchModule->TextSearchComponent \n\n\n\n\n\nTrackingPopupComponent\n\nTrackingPopupComponent\n\n\n\nTrackingPopupModule\n\nTrackingPopupModule\n\nTrackingPopupModule -->\n\nTrackingPopupComponent->TrackingPopupModule\n\n\n\n\n\nTrackingPopupComponent \n\nTrackingPopupComponent \n\nTrackingPopupComponent -->\n\nTrackingPopupModule->TrackingPopupComponent \n\n\n\n\n\nXYZPositionComponent\n\nXYZPositionComponent\n\n\n\nXYZPositionModule\n\nXYZPositionModule\n\nXYZPositionModule -->\n\nXYZPositionComponent->XYZPositionModule\n\n\n\n\n\nXYZPositionComponent \n\nXYZPositionComponent \n\nXYZPositionComponent -->\n\nXYZPositionModule->XYZPositionComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n \n\n \n \n \n \n \n \n 16 Modules\n \n \n \n \n \n \n \n \n 13 Components\n \n \n \n \n \n \n \n 1 Directive\n \n \n \n \n \n \n \n 15 Injectables\n \n \n \n \n \n \n \n 6 Classes\n \n \n \n \n \n \n \n 19 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n Consent   (projects/.../consent.service.ts)\n \n \n DataReviver   (projects/.../api-endpoint.service.ts)\n \n \n DataSourceDataType   (projects/.../data-source.ts)\n \n \n DataSourceLike   (projects/.../data-source.ts)\n \n \n DataSourceLikeMethod   (projects/.../data-source.ts)\n \n \n DataSourceMethod   (projects/.../data-source.ts)\n \n \n GlobalKey   (projects/.../globals.service.ts)\n \n \n GlobalThis   (projects/.../globals.service.ts)\n \n \n IObservableCacheConfig   (projects/.../api-endpoint.service.ts)\n \n \n KVList   (projects/.../store-debug.component.ts)\n \n \n KVPair   (projects/.../store-debug.component.ts)\n \n \n RequestMethod   (projects/.../api-endpoint.service.ts)\n \n \n \n \n \n \n\n\n projects/ccf-shared/analytics/src/lib/consent.service.ts\n \n \n \n \n \n \n Consent\n \n \n \n \n \"not-set\" | \"given\" | \"rescinded\"\n\n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n \n \n \n \n \n DataReviver\n \n \n \n \n function\n\n \n \n \n \n \n \n \n \n \n IObservableCacheConfig\n \n \n \n \n NonNullable<>\n\n \n \n \n \n \n \n \n \n \n RequestMethod\n \n \n \n \n function\n\n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.ts\n \n \n \n \n \n \n DataSourceDataType\n \n \n \n \n ObservedValueOf>>\n\n \n \n \n \n \n \n \n \n \n DataSourceLike\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n DataSourceLikeMethod\n \n \n \n \n function\n\n \n \n \n \n \n \n \n \n \n DataSourceMethod\n \n \n \n \n \n\n \n \n \n \n projects/ccf-shared/src/lib/services/globals/globals.service.ts\n \n \n \n \n \n \n GlobalKey\n \n \n \n \n Type of keys allowed in the global object\n\n \n \n \n \n string | symbol\n\n \n \n \n \n \n \n \n \n \n GlobalThis\n \n \n \n \n Type of the global object\n\n \n \n \n \n \n\n \n \n \n \n projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts\n \n \n \n \n \n \n KVList\n \n \n \n \n Array of Key-Value pairs\n\n \n \n \n \n KVPair[]\n\n \n \n \n \n \n \n \n \n \n KVPair\n \n \n \n \n Key-Value pair\n\n \n \n \n \n [string, T]\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n ALL_ORGANS   (projects/.../organ-selector.component.ts)\n \n \n ALL_POSSIBLE_ORGANS   (projects/.../organ-selector.component.ts)\n \n \n buster$   (projects/.../api-endpoint.service.ts)\n \n \n CACHE_CONFIG_NO_PARAMS   (projects/.../api-endpoint.service.ts)\n \n \n CACHE_CONFIG_PARAMS   (projects/.../api-endpoint.service.ts)\n \n \n DEFAULT_MAX_OPTIONS   (projects/.../text-search.component.ts)\n \n \n DEFAULT_OPTIONS   (projects/.../pluck-unique.ts)\n \n \n EAGERLY_LOADED_SERVICES   (projects/.../analytics.module.ts)\n \n \n global   (projects/.../globals.service.ts)\n \n \n INITIAL_TELEMETRY_SETTING   (projects/.../tracking.state.ts)\n \n \n LOCAL_STORAGE_ALLOW_TELEMETRY_KEY   (projects/.../tracking.state.ts)\n \n \n LOCAL_STORAGE_CONSENT_KEY   (projects/.../local-storage-sync.service.ts)\n \n \n placeholder   (projects/.../public-api.ts)\n \n \n POPUP_SHOWN_STORAGE_KEY   (projects/.../call-to-action.state.ts)\n \n \n SPATIAL_SEARCH_README   (projects/.../call-to-action.state.ts)\n \n \n \n \n \n \n\n\n projects/ccf-shared/src/lib/components/organ-selector/organ-selector.component.ts\n \n \n \n \n \n \n \n ALL_ORGANS\n \n \n \n \n \n \n Default value : ALL_POSSIBLE_ORGANS.filter(organ => organ.disabled !== true)\n \n \n\n \n \n All organs which have not been disabled\n\n \n \n\n \n \n \n \n \n \n \n \n ALL_POSSIBLE_ORGANS\n \n \n \n \n \n \n Default value : [\n {\n src: 'app:skin',\n organ: 'Skin',\n name: 'Skin',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002097'\n },\n {\n src: 'app:brain',\n organ: 'Brain',\n name: 'Brain',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000955'\n },\n {\n disabled: true,\n src: 'app:lymph-nodes',\n organ: 'Lymph Node',\n name: 'Lymph Node',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000029'\n },\n {\n src: 'app:lymph-nodes',\n organ: 'Lymph Node',\n name: 'Lymph Node',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002509'\n },\n {\n disabled: true,\n src: 'app:eye',\n organ: 'Eye',\n name: 'Eye, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000970'\n },\n {\n src: 'app:eye',\n organ: 'Eye',\n name: 'Eye, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004548'\n },\n {\n src: 'app:eye',\n organ: 'Eye',\n name: 'Eye, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004549'\n },\n {\n disabled: true,\n src: 'app:fallopian-tube-left',\n organ: 'Fallopian Tube',\n name: 'Fallopian Tube, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0003889'\n },\n {\n src: 'app:fallopian-tube-left',\n organ: 'Fallopian Tube',\n name: 'Fallopian Tube, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0001303'\n },\n {\n src: 'app:fallopian-tube-right',\n organ: 'Fallopian Tube',\n name: 'Fallopian Tube, R',\n side: 'right',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0001302'\n },\n {\n src: 'app:heart',\n organ: 'Heart',\n name: 'Heart',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000948'\n },\n {\n disabled: true,\n src: 'app:kidney-left',\n organ: 'Kidney',\n name: 'Kidney, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002113'\n },\n {\n src: 'app:kidney-left',\n organ: 'Kidney',\n name: 'Kidney, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004538'\n },\n {\n src: 'app:kidney-right',\n organ: 'Kidney',\n name: 'Kidney, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004539'\n },\n {\n disabled: true,\n src: 'app:knee',\n organ: 'Knee',\n name: 'Knee, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001465'\n },\n {\n src: 'app:knee',\n organ: 'Knee',\n name: 'Knee, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.org/sig/ont/fma/fma24978'\n },\n {\n src: 'app:knee',\n organ: 'Knee',\n name: 'Knee, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.org/sig/ont/fma/fma24977'\n },\n {\n src: 'app:liver',\n organ: 'Liver',\n name: 'Liver',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002107'\n },\n {\n disabled: true,\n src: 'app:lung',\n organ: 'Lung',\n name: 'Lungs',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002048'\n },\n {\n src: 'app:lung',\n organ: 'Lung',\n name: 'Lungs',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001004'\n },\n {\n disabled: true,\n src: 'app:mammary-gland',\n organ: 'Mammary Gland',\n name: 'Mammary Gland, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0001911'\n },\n {\n src: 'app:mammary-gland',\n organ: 'Mammary Gland',\n name: 'Mammary Gland, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.org/sig/ont/fma/fma57991'\n },\n {\n src: 'app:mammary-gland',\n organ: 'Mammary Gland',\n name: 'Mammary Gland, R',\n side: 'right',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.org/sig/ont/fma/fma57987'\n },\n {\n disabled: true,\n src: 'app:ovary-left',\n organ: 'Ovary',\n name: 'Ovary, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0000992'\n },\n {\n src: 'app:ovary-left',\n organ: 'Ovary',\n name: 'Ovary, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.org/sig/ont/fma/fma7214'\n },\n {\n src: 'app:ovary-right',\n organ: 'Ovary',\n name: 'Ovary, R',\n side: 'right',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.org/sig/ont/fma/fma7213'\n },\n {\n src: 'app:larynx',\n organ: 'Larynx',\n name: 'Larynx',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001737'\n },\n {\n src: 'app:main-bronchus',\n organ: 'Main Bronchus',\n name: 'Main Bronchus',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002182'\n },\n {\n disabled: true,\n src: 'app:palatine-tonsil',\n organ: 'Palatine Tonsil',\n name: 'Palatine Tonsil, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002373'\n },\n {\n src: 'app:palatine-tonsil',\n organ: 'Palatine Tonsil',\n name: 'Palatine Tonsil, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.org/sig/ont/fma/fma54974'\n },\n {\n src: 'app:palatine-tonsil',\n organ: 'Palatine Tonsil',\n name: 'Palatine Tonsil, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.org/sig/ont/fma/fma54973'\n },\n {\n src: 'app:pancreas',\n organ: 'Pancreas',\n name: 'Pancreas',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001264'\n },\n {\n src: 'app:pelvis-f',\n organ: 'Pelvis',\n name: 'Pelvis',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001270'\n },\n {\n src: 'app:placenta',\n organ: 'Placenta',\n name: 'Placenta',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0001987'\n },\n {\n src: 'app:prostate',\n organ: 'Prostate',\n name: 'Prostate',\n hasSex: false,\n sex: 'male',\n id: 'http://purl.obolibrary.org/obo/UBERON_0002367',\n disabled: true\n },\n {\n src: 'app:prostate',\n organ: 'Prostate',\n name: 'Prostate',\n hasSex: false,\n sex: 'male',\n id: 'http://purl.obolibrary.org/obo/UBERON_0000079'\n },\n {\n src: 'app:small-intestine',\n organ: 'Small Intestine',\n name: 'Small Intestine',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002108'\n },\n {\n src: 'app:large-intestine',\n organ: 'Large Intestine',\n name: 'Large Intestine',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000059'\n },\n {\n src: 'app:spinal-cord',\n organ: 'Spinal Cord',\n name: 'Spinal Cord',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002240'\n },\n {\n src: 'app:spleen',\n organ: 'Spleen',\n name: 'Spleen',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002106'\n },\n {\n src: 'app:thymus',\n organ: 'Thymus',\n name: 'Thymus',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002370'\n },\n {\n src: 'app:trachea',\n organ: 'Trachea',\n name: 'Trachea',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0003126'\n },\n {\n disabled: true,\n src: 'app:ureter-left',\n organ: 'Ureter',\n name: 'Ureter, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000056'\n },\n {\n src: 'app:ureter-left',\n organ: 'Ureter',\n name: 'Ureter, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001223'\n },\n {\n src: 'app:ureter-right',\n organ: 'Ureter',\n name: 'Ureter, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001222'\n },\n {\n src: 'app:bladder',\n organ: 'Urinary Bladder',\n name: 'Urinary Bladder',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001255'\n },\n {\n src: 'app:uterus',\n organ: 'Uterus',\n name: 'Uterus',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0000995'\n },\n {\n src: 'app:vasculature-thick',\n organ: 'Blood Vasculature',\n name: 'Blood Vasculature',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004537'\n },\n {\n disabled: true,\n src: 'app:vasculature-thick',\n organ: 'Blood Vasculature',\n name: 'Blood Vasculature',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002049'\n }\n].sort((a, b) => a.name.localeCompare(b.name)) as OrganInfo[]\n \n \n\n \n \n All organs that will eventually be displayed in the app\n\n \n \n\n \n \n\n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n \n \n \n \n \n \n buster$\n \n \n \n \n \n \n Default value : new Subject()\n \n \n\n\n \n \n \n \n \n \n \n \n CACHE_CONFIG_NO_PARAMS\n \n \n \n \n \n \n Type : IObservableCacheConfig\n\n \n \n \n \n Default value : {\n cacheBusterObserver: buster$\n}\n \n \n\n\n \n \n \n \n \n \n \n \n CACHE_CONFIG_PARAMS\n \n \n \n \n \n \n Type : IObservableCacheConfig\n\n \n \n \n \n Default value : {\n cacheBusterObserver: buster$,\n maxCacheCount: 4\n}\n \n \n\n\n \n \n\n projects/ccf-shared/src/lib/components/text-search/text-search.component.ts\n \n \n \n \n \n \n \n DEFAULT_MAX_OPTIONS\n \n \n \n \n \n \n Default value : new InjectionToken(\n 'Maximum number of autocomplete options displayed',\n {\n providedIn: 'root',\n factory(): number {\n return 10;\n }\n }\n)\n \n \n\n \n \n Token to provide a default for the maximum number of\nautocomplete suggestions to show at the same time.\n\n \n \n\n \n \n\n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n \n \n \n \n \n \n DEFAULT_OPTIONS\n \n \n \n \n \n \n Type : PluckUniqueOptions<>\n\n \n \n \n \n Default value : {}\n \n \n\n \n \n Default options\n\n \n \n\n \n \n\n projects/ccf-shared/analytics/src/lib/analytics.module.ts\n \n \n \n \n \n \n \n EAGERLY_LOADED_SERVICES\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n ConsentService,\n GoogleAnalyticsSyncService,\n LocalStorageSyncService,\n]\n \n \n\n\n \n \n\n projects/ccf-shared/src/lib/services/globals/globals.service.ts\n \n \n \n \n \n \n \n global\n \n \n \n \n \n \n Type : GlobalThis\n\n \n \n\n\n \n \n\n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n \n \n \n \n \n \n INITIAL_TELEMETRY_SETTING\n \n \n \n \n \n \n Default value : getTelemetryStorageSetting()\n \n \n\n\n \n \n \n \n \n \n \n \n LOCAL_STORAGE_ALLOW_TELEMETRY_KEY\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ALLOW_TELEMETRY'\n \n \n\n\n \n \n\n projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts\n \n \n \n \n \n \n \n LOCAL_STORAGE_CONSENT_KEY\n \n \n \n \n \n \n Default value : new InjectionToken('Key under which consent is stored', {\n providedIn: 'root',\n factory: () => 'ALLOW_TELEMETRY'\n})\n \n \n\n\n \n \n\n projects/ccf-shared/rxjs-ext/src/public-api.ts\n \n \n \n \n \n \n \n placeholder\n \n \n \n \n \n \n Default value : undefined\n \n \n\n\n \n \n\n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts\n \n \n \n \n \n \n \n POPUP_SHOWN_STORAGE_KEY\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'callToActionPopupShown'\n \n \n\n \n \n Key for boolean determining if poup has been shown\n\n \n \n\n \n \n \n \n \n \n \n \n SPATIAL_SEARCH_README\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'assets/docs/SPATIAL_SEARCH_README.md'\n \n \n\n \n \n Path to readme markup doc\n\n \n \n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} + "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/modules/AnalyticsModule.html",[0,1.478,1,2.712]],["body/modules/AnalyticsModule.html",[1,5.457,2,1.694,3,2.185,4,4.182,5,4.182,6,3.908,7,0.014,8,4.559,9,4.559,10,2.354,11,1.825,12,1.468,13,0.138,14,0.173,15,0.121,16,0.134,17,3.227,18,4.302,19,1.113,20,3.152,21,4.8,22,5.394,23,5.419,24,0.935,25,4.8,26,1.152,27,0.78,28,0.385,29,0.839,30,3.482,31,0.751,32,5.971,33,0.383,34,5.394,35,2.606,36,0.323,37,4.869,38,5.394,39,2.7,40,3.152,41,3.01,42,3.47,43,5.394,44,3.774,45,2.7,46,0.223,47,0.428,48,4.182,49,0.808,50,5.971,51,5.971,52,5.971,53,1.694,54,1.199,55,4.955,56,2.033,57,3.774,58,3.152,59,1.221,60,4.182,61,2.334,62,1.536,63,2.334,64,4.182,65,4.182,66,4.869,67,4.182,68,1.694,69,2.334,70,3.47,71,1.972,72,3.025,73,4.182,74,2.139,75,4.182,76,1.758,77,4.182,78,0.087,79,4.182,80,4.182,81,0.008,82,0.01,83,0.008]],["title/interfaces/AnalyticsOptions.html",[23,2.917,47,0.359]],["body/interfaces/AnalyticsOptions.html",[1,4.208,6,3.187,7,0.014,8,3.718,9,3.718,13,0.14,14,0.176,15,0.123,16,0.106,17,3.282,18,4.104,20,2.485,22,4.253,23,5.268,28,0.584,29,1.348,30,2.746,32,5.453,33,0.385,34,5.453,35,2.627,36,0.329,37,4.922,38,5.453,39,2.746,40,3.187,41,3.043,42,3.529,43,5.453,44,3.838,45,2.746,46,0.225,47,0.435,48,6.349,49,0.946,50,6.717,51,6.717,52,6.717,53,2.439,54,1.208,55,4.995,56,2.055,57,3.838,58,3.187,59,1.228,60,4.253,61,2.373,62,1.548,63,2.373,64,4.253,65,4.253,66,4.922,67,4.253,68,1.723,69,2.373,70,3.529,71,2.006,72,3.076,73,4.253,74,2.176,75,4.253,76,1.788,77,4.253,78,0.089,79,4.253,80,4.253,81,0.008,82,0.01,83,0.008,84,1.547,85,0.413,86,0.871]],["title/interfaces/ApiEndpointDataSourceOptions.html",[47,0.359,87,2.542]],["body/interfaces/ApiEndpointDataSourceOptions.html",[7,0.014,13,0.1,14,0.179,15,0.088,16,0.076,18,2.07,28,0.537,29,0.871,33,0.382,36,0.235,46,0.179,47,0.518,49,0.929,54,1.173,56,1.635,59,1.336,76,2.777,78,0.063,81,0.006,82,0.008,83,0.006,84,1.104,85,0.295,86,0.693,87,3.138,88,1.325,89,1.96,90,1.96,91,4.583,92,4.583,93,0.871,94,2.52,95,2.343,96,1.96,97,2.971,98,1.96,99,1.96,100,2.959,101,1.96,102,1.078,103,1.554,104,1.96,105,3.6,106,4.262,107,3.6,108,2.52,109,2.52,110,2.196,111,3.6,112,2.539,113,2.661,114,0.837,115,1.432,116,2.22,117,2.07,118,2.196,119,1.23,120,3.907,121,3.348,122,2.317,123,1.863,124,1.863,125,2.536,126,2.21,127,2.52,128,3.662,129,2.52,130,4.262,131,5.693,132,3.995,133,3.907,134,2.703,135,2.52,136,2.196,137,3.566,138,2.07,139,2.343,140,2.52,141,2.343,142,2.52,143,2.52,144,2.52,145,2.07,146,2.196,147,2.196,148,2.196,149,2.343,150,1.186,151,1.695,152,1.695,153,3.662,154,0.97,155,2.196,156,3.348,157,2.196,158,2.343,159,2.196,160,2.52,161,4.226,162,1.554,163,2.196,164,2.421,165,2.009,166,3.348,167,2.343,168,2.196,169,3.6,170,2.07,171,2.52,172,2.07,173,2.52,174,2.52,175,1.325,176,1.23,177,2.196,178,1.066,179,1.144,180,2.125,181,0.809,182,2.801,183,2.801,184,2.52,185,1.621,186,4.201,187,2.52,188,4.848,189,1.621,190,2.52,191,1.621,192,2.52,193,1.621,194,5.402,195,2.52,196,1.621,197,2.52,198,1.621,199,2.52,200,5.042,201,1.621,202,2.52,203,1.621,204,2.52,205,1.621,206,2.52,207,1.621,208,2.52,209,1.621,210,2.52,211,3.138,212,1.621,213,2.52,214,1.621,215,4.201,216,2.703,217,4.201,218,2.52,219,2.343,220,2.52,221,2.52,222,2.52,223,2.52,224,2.52,225,2.52,226,2.52,227,2.52,228,2.52,229,2.52,230,2.52]],["title/injectables/ApiEndpointDataSourceService.html",[93,0.706,177,2.542]],["body/injectables/ApiEndpointDataSourceService.html",[7,0.014,13,0.075,14,0.145,15,0.066,16,0.166,18,1.554,19,0.933,24,1.482,26,1.775,27,1.148,28,0.61,29,1.236,31,1.18,33,0.354,36,0.176,46,0.145,47,0.437,49,0.861,54,1.04,56,1.321,59,1.272,76,2.827,78,0.048,81,0.004,82,0.006,83,0.004,85,0.221,87,1.648,88,2.916,89,4.312,90,1.471,91,1.891,92,1.891,93,0.704,94,1.891,95,1.758,96,1.471,97,3.054,98,1.471,99,1.471,100,2.497,101,1.471,102,0.871,103,1.166,104,1.471,105,3.981,106,3.702,107,2.909,108,1.891,109,1.891,110,1.648,111,2.909,112,2.575,113,2.15,114,0.628,115,1.075,116,1.794,117,1.554,118,1.648,119,0.923,120,3.297,121,2.705,122,2.561,123,1.398,124,1.398,125,2.049,126,1.989,127,1.891,128,3.09,129,1.891,130,4.753,131,5.645,132,4.658,133,4.396,134,2.765,135,2.909,136,1.648,137,3.097,138,1.554,139,1.758,140,1.891,141,1.758,142,1.891,143,1.891,144,1.891,145,1.554,146,1.648,147,1.648,148,1.648,149,1.758,150,0.89,151,1.272,152,1.272,153,3.09,154,0.784,155,1.648,156,2.705,157,1.648,158,1.758,159,1.648,160,1.891,161,3.746,162,1.166,163,1.648,164,1.956,165,1.745,166,2.705,167,1.758,168,1.648,169,2.909,170,1.554,171,1.891,172,1.554,173,1.891,174,1.891,175,0.994,176,0.923,177,2.536,178,0.8,179,1.321,180,2.279,181,0.654,182,2.758,183,3.097,184,1.891,185,2.561,186,3.545,187,1.891,188,5.111,189,2.561,190,1.891,191,2.561,192,1.891,193,2.561,194,5.006,195,1.891,196,2.561,197,1.891,198,2.561,199,1.891,200,5.277,201,1.872,202,1.891,203,1.872,204,1.891,205,1.872,206,1.891,207,1.872,208,1.891,209,1.872,210,1.891,211,2.536,212,1.872,213,1.891,214,1.872,215,5.006,216,2.92,217,4.727,218,1.891,219,1.758,220,1.891,221,1.891,222,1.891,223,1.891,224,1.891,225,1.891,226,1.891,227,1.891,228,1.891,229,1.891,230,1.891,231,1.033,232,2.15,233,2.15,234,2.15,235,2.15,236,2.15,237,2.15,238,2.615,239,2.615,240,4.905,241,2.615,242,3.289,243,2.615,244,2.615,245,2.956,246,2.615,247,2.615,248,2.615,249,2.615,250,2.615,251,2.615,252,2.615,253,2.615,254,2.615,255,2.615,256,2.615,257,2.615]],["title/interfaces/AutoCompleteOption.html",[47,0.359,258,2.917]],["body/interfaces/AutoCompleteOption.html",[7,0.014,13,0.113,14,0.141,15,0.099,16,0.085,27,0.638,28,0.434,29,1.226,30,3.047,31,0.615,33,0.371,36,0.265,46,0.223,47,0.35,49,0.892,54,0.947,56,1.29,59,0.913,62,1.214,68,1.387,72,3.414,78,0.099,81,0.006,82,0.009,83,0.006,84,1.245,85,0.332,86,0.754,102,1.173,112,1.717,114,0.944,115,1.615,116,1.752,117,2.334,119,1.387,137,2.21,154,1.208,162,1.752,164,1.911,165,2.353,170,2.334,175,1.494,176,1.387,179,1.29,180,1.717,181,1.177,258,3.917,259,2.642,260,2.642,261,2.841,262,1.083,263,3.917,264,4.72,265,5.068,266,6.039,267,4.493,268,4.076,269,4.495,270,4.169,271,3.414,272,3.917,273,3.314,274,1.752,275,1.166,276,3.047,277,1.681,278,2.21,279,3.917,280,2.666,281,3.488,282,4.72,283,2.841,284,5.255,285,2.841,286,3.642,287,3.414,288,4.72,289,2.1,290,1.553,291,2.001,292,1.546,293,5.255,294,5.95,295,3.09,296,3.09,297,2.841,298,2.841,299,2.476,300,2.599,301,2.938,302,5.699,303,3.424,304,3.09,305,1.29,306,1.439,307,3.424,308,1.439,309,3.424,310,1.752,311,1.752,312,1.553,313,1.494,314,1.681,315,1.681,316,3.642,317,3.424,318,3.424,319,3.424,320,3.424,321,1.911,322,3.424,323,5.823,324,3.424,325,3.424,326,3.488,327,5.402,328,3.907,329,1.911,330,3.424,331,3.09,332,2.476,333,3.424,334,3.09,335,4.72,336,4.72,337,3.424,338,3.424,339,2.001,340,1.828,341,1.657,342,4.72,343,3.424,344,3.424,345,3.424,346,2.841,347,3.424,348,3.09,349,2.334,350,3.424,351,2.334,352,3.424,353,3.424]],["title/modules/BodyUiModule.html",[0,1.478,354,2.917]],["body/modules/BodyUiModule.html",[2,2.093,3,2.492,7,0.014,10,2.684,11,2.255,12,1.814,13,0.17,14,0.213,15,0.149,16,0.128,33,0.386,35,2.684,36,0.399,46,0.213,71,2.436,78,0.108,81,0.009,82,0.011,83,0.009,354,5.907,355,5.166,356,5.166,357,5.166,358,3.448,359,4.662,360,4.662,361,5.93,362,3.019,363,3.019,364,3.146,365,2.436,366,2.436,367,5.93]],["title/injectables/CCFDatabaseDataSourceBaseService.html",[93,0.706,368,2.542]],["body/injectables/CCFDatabaseDataSourceBaseService.html",[7,0.014,13,0.1,14,0.228,15,0.087,16,0.145,19,1.151,24,1.567,26,1.875,27,1.23,28,0.626,29,1.324,31,1.239,33,0.367,36,0.234,46,0.179,47,0.309,49,0.585,54,1.014,59,0.977,76,1.271,78,0.106,81,0.006,82,0.008,83,0.006,85,0.293,86,0.691,88,2.545,93,1.106,97,2.969,102,0.751,103,3.268,112,2.559,114,0.833,115,1.425,116,1.546,119,1.225,122,2.943,123,1.854,124,1.854,126,1.099,151,1.687,152,3.254,154,0.676,175,1.319,176,1.225,179,1.139,180,1.836,181,1.131,183,1.951,185,2.696,189,2.696,191,2.696,193,2.696,196,2.696,198,2.696,201,1.614,203,1.614,205,1.614,207,1.614,209,1.614,212,1.614,214,1.614,216,1.614,231,1.371,232,2.653,233,2.653,234,2.653,235,2.653,236,2.653,237,2.653,242,3.239,349,3.443,351,2.949,368,3.986,369,4.5,370,2.332,371,3.254,372,3.221,373,3.26,374,4.19,375,3.919,376,3.721,377,3.903,378,2.949,379,3.337,380,4.964,381,2.728,382,4.704,383,5.475,384,3.469,385,4.573,386,4.573,387,3.469,388,2.186,389,3.26,390,2.949,391,5.29,392,4.174,393,2.332,394,2.332,395,2.332,396,2.332,397,2.332,398,2.332,399,2.332,400,2.332,401,2.332,402,2.332,403,2.332,404,2.332,405,2.332,406,2.728,407,3.588,408,3.588,409,2.508,410,3.588,411,2.508,412,2.332,413,3.588,414,3.128,415,1.951,416,1.854,417,2.332,418,2.332,419,2.508,420,2.332,421,2.508,422,2.508,423,1.139,424,2.508,425,2.508,426,2.508,427,2.508,428,2.508,429,2.061,430,3.588,431,2.508,432,2.332,433,2.332,434,2.508,435,2.186,436,2.508,437,3.337,438,2.186,439,2.508,440,3.337,441,2.508,442,2.508,443,2.508,444,2.508]],["title/injectables/CCFDatabaseDataSourceService.html",[93,0.706,435,2.542]],["body/injectables/CCFDatabaseDataSourceService.html",[7,0.014,13,0.102,14,0.23,15,0.089,16,0.077,19,1.167,24,1.564,26,1.866,27,1.218,28,0.623,29,1.311,31,1.242,33,0.369,36,0.238,46,0.181,47,0.315,49,0.593,54,1.024,59,0.987,76,1.295,78,0.107,81,0.006,82,0.008,83,0.006,85,0.299,86,0.7,88,1.344,93,1.116,97,2.975,102,0.765,103,3.285,112,2.565,114,0.849,115,1.452,116,1.576,119,1.248,122,2.34,123,1.889,124,1.889,126,1.12,151,1.719,152,3.278,154,0.689,175,1.344,176,1.248,180,1.856,181,1.138,185,2.724,189,2.724,191,2.724,193,2.724,196,2.724,198,2.724,201,1.644,203,1.644,205,1.644,207,1.644,209,1.644,212,1.644,214,1.644,216,1.644,231,1.397,232,2.688,233,2.688,234,2.688,235,2.688,236,2.688,237,2.688,242,3.259,349,3.479,351,2.988,368,4.543,369,2.376,370,2.376,371,3.278,372,2.982,373,3.294,374,4.234,375,3.938,376,3.41,377,3.956,378,2.988,379,2.376,381,2.78,382,4.725,383,5.497,385,4.612,386,4.612,388,2.228,389,3.294,390,2.988,391,5.397,392,4.187,393,2.376,394,2.376,395,2.376,396,2.376,397,2.376,398,2.376,399,2.376,400,2.376,401,2.376,402,2.376,403,2.376,404,2.376,405,2.376,406,2.78,407,3.637,408,3.637,409,2.555,410,3.637,411,2.555,412,2.376,413,3.637,414,3.17,415,1.988,416,1.889,417,2.376,418,2.376,419,2.555,420,2.376,421,2.555,422,2.555,423,1.161,424,2.555,425,2.555,426,2.555,427,2.555,428,2.555,429,2.1,430,3.637,431,2.555,432,2.376,433,2.376,434,2.555,435,3.17,436,2.555,437,3.382,438,2.228,439,2.555,440,3.382,441,2.555,442,2.555,443,2.555,444,2.555,445,3.535,446,3.08,447,3.08]],["title/interfaces/CCFDatabaseManager.html",[47,0.359,382,2.542]],["body/interfaces/CCFDatabaseManager.html",[7,0.014,13,0.136,14,0.259,15,0.119,16,0.102,28,0.378,33,0.398,36,0.318,46,0.22,47,0.421,54,1.189,59,1.146,76,1.729,78,0.124,81,0.008,82,0.01,83,0.008,84,1.496,85,0.399,86,0.853,88,1.795,93,1.258,97,1.729,102,1.022,103,3.552,112,2.28,114,1.134,115,1.94,116,2.104,119,1.666,122,2.849,123,2.523,124,2.523,126,1.496,151,2.295,152,2.978,154,0.92,175,1.795,176,1.666,180,1.496,181,0.995,349,2.804,351,2.804,368,4.285,369,3.174,370,3.174,371,3.625,372,3.119,373,2.655,374,3.413,375,3.846,376,3.846,379,3.174,382,4.902,383,5.524,385,4.916,386,4.916,407,4.428,408,5.202,409,3.413,410,5.202,411,3.413,412,3.174,413,4.916,414,3.86,415,2.655,416,2.523,417,3.174,418,3.174,419,3.413,420,3.174,421,3.413,422,3.413,423,1.55,424,3.413,425,3.413,426,3.413,427,3.413,428,3.413,429,2.804,430,4.428,431,3.413,432,3.174,433,3.174,434,3.413,435,2.975,436,3.413,437,4.118,438,2.975,439,3.413,440,4.118,441,3.413,442,3.413,443,3.413,444,3.413]],["title/components/CallToActionBehaviorComponent.html",[275,0.758,448,1.534]],["body/components/CallToActionBehaviorComponent.html",[7,0.014,13,0.202,14,0.143,15,0.1,16,0.161,24,1.416,27,1.012,28,0.538,31,0.62,33,0.372,36,0.267,46,0.143,62,1.221,78,0.072,81,0.006,82,0.009,83,0.006,85,0.335,86,0.759,102,1.748,112,2.438,150,1.349,154,1.062,181,1.328,245,2.986,262,1.092,274,1.767,275,1.322,285,2.865,290,1.566,292,1.555,300,1.301,301,1.452,305,2.663,306,1.996,308,1.996,310,2.429,311,2.429,312,1.566,313,2.072,358,1.628,366,1.628,448,2.551,449,2.429,450,1.927,451,1.628,452,1.927,453,1.844,454,5.004,455,3.288,456,5.004,457,3.453,458,3.664,459,3.237,460,3.434,461,3.237,462,3.237,463,3.94,464,4.285,465,1.767,466,2.926,467,3.94,468,6.229,469,5.45,470,3.503,471,3.503,472,4.187,473,4.187,474,3.925,475,3.028,476,5.45,477,3.964,478,7.033,479,3.964,480,3.664,481,2.331,482,5.45,483,3.964,484,3.964,485,5.45,486,3.434,487,3.065,488,3.664,489,5.45,490,3.964,491,5.45,492,3.964,493,2.664,494,3.453,495,3.453,496,2.018,497,3.964,498,3.503,499,5.45,500,2.535,501,3.116,502,2.865,503,3.964,504,1.927,505,2.153,506,1.628,507,3.261,508,1.927,509,1.927,510,1.927,511,1.628,512,1.927,513,1.507,514,1.927,515,1.628,516,1.927,517,1.452,518,1.927,519,1.628,520,1.767,521,1.927,522,1.628,523,1.566,524,1.927,525,1.566,526,1.927,527,1.628,528,1.844,529,1.927,530,1.927,531,1.628,532,1.695,533,1.927,534,1.628,535,1.844,536,1.628,537,1.844,538,1.566,539,1.844,540,1.927]],["title/modules/CallToActionBehaviorModule.html",[0,1.478,541,2.917]],["body/modules/CallToActionBehaviorModule.html",[2,1.962,3,2.396,7,0.014,10,2.582,11,2.114,12,1.7,13,0.16,14,0.2,15,0.14,16,0.12,33,0.417,35,2.582,36,0.374,46,0.2,71,2.789,78,0.101,81,0.009,82,0.011,83,0.009,362,2.904,363,2.904,364,3.026,365,2.284,448,3.166,454,3.737,455,2.896,456,3.737,466,2.582,496,2.83,500,2.585,541,5.929,542,4.842,543,4.842,544,4.842,545,4.842,546,5.355,547,5.559,548,5.915,549,4.842,550,5.338,551,3.126,552,4.033,553,3.302,554,6.789,555,5.559,556,4.37]],["title/components/CallToActionComponent.html",[275,0.758,511,1.658]],["body/components/CallToActionComponent.html",[7,0.014,13,0.222,14,0.117,15,0.082,16,0.164,19,1.099,24,1.454,27,0.907,28,0.577,31,0.741,33,0.166,36,0.219,46,0.117,49,0.867,56,2.016,62,1.061,78,0.124,81,0.005,82,0.008,83,0.005,85,0.275,86,0.659,102,1.741,150,1.107,154,0.923,181,1.06,245,1.336,262,0.896,269,2.814,273,2.531,274,1.449,275,1.381,276,3.67,277,1.391,280,2.481,281,3.143,290,1.285,292,1.351,300,1.068,301,1.191,305,2.591,306,1.735,308,1.735,310,2.111,311,2.111,312,1.285,313,2.481,314,2.026,315,2.39,358,1.336,366,1.336,448,1.236,449,2.111,450,1.581,451,1.336,452,1.581,453,1.512,454,5.085,455,2.903,458,5.085,459,3.647,460,3.521,461,2.814,462,2.814,463,3.424,464,3.725,465,1.449,466,2.936,470,3.143,471,3.831,472,3.756,474,4.54,475,2.717,481,2.026,500,3.518,504,1.581,505,1.872,506,1.336,507,2.985,508,1.581,509,1.581,510,1.581,511,2.522,512,1.581,513,1.236,514,1.581,515,1.336,516,1.581,517,1.191,518,1.581,519,1.336,520,1.449,521,1.581,522,1.336,523,1.285,524,1.581,525,1.285,526,1.581,527,1.336,528,1.512,529,1.581,530,1.581,531,1.336,532,1.391,533,1.581,534,1.336,535,1.512,536,1.946,537,1.512,538,1.285,539,1.512,540,1.581,557,2.833,558,5.588,559,4.737,560,5.348,561,2.814,562,3.876,563,3.424,564,5.588,565,5.588,566,2.664,567,3.252,568,3.252,569,2.412,570,3.184,571,3.424,572,3.252,573,3.252,574,3.725,575,5.348,576,3.252,577,6.139,578,6.139,579,5.348,580,3.252,581,4.737,582,3.252,583,4.127,584,4.127,585,1.526,586,3.252,587,3.725,588,4.737,589,2.814,590,3.252,591,3.252,592,3.725,593,1.738,594,2.111,595,2.026,596,2.186,597,3.319,598,2.814,599,4.727,600,2.814,601,4.737,602,2.985,603,4.039,604,4.394,605,4.737,606,2.35,607,2.557,608,3.252,609,3.424,610,2.833,611,2.35,612,2.35,613,4.039,614,2.35,615,3.756,616,4.438,617,3.252,618,2.833,619,2.557,620,2.049,621,3.252,622,1.829,623,2.599,624,3.521,625,2.664,626,3.453,627,3.252,628,3.252,629,4.127,630,3.252,631,2.35,632,4.737,633,3.725,634,3.424,635,2.833,636,3.252,637,3.252,638,2.557,639,1.829,640,4.127,641,3.252,642,2.833,643,2.557,644,2.186,645,3.252,646,2.35,647,3.252,648,2.833,649,1.931,650,2.557,651,2.186,652,3.252]],["title/interfaces/CallToActionModel.html",[47,0.359,653,2.712]],["body/interfaces/CallToActionModel.html",[7,0.014,13,0.17,14,0.13,15,0.091,16,0.078,20,1.833,27,0.585,28,0.565,31,0.797,33,0.399,36,0.242,39,2.025,40,1.833,41,1.75,45,2.025,46,0.183,47,0.573,49,0.944,53,2.488,54,1.295,56,1.182,59,0.997,61,1.75,74,2.637,78,0.066,81,0.006,82,0.008,83,0.006,84,1.141,85,0.304,86,0.709,93,0.891,112,2.038,114,0.864,115,1.479,118,2.268,119,1.271,126,1.615,150,1.734,154,0.993,178,1.101,179,1.182,180,2.234,181,1.103,262,0.992,275,0.677,300,1.182,301,1.866,321,2.876,341,2.077,448,1.369,455,2.337,456,2.42,466,1.369,467,2.602,470,4.076,472,4.564,473,2.025,474,4.278,475,3.427,480,2.42,481,3.1,486,3.211,487,2.866,496,1.833,498,2.025,500,1.674,501,2.831,517,1.318,551,2.025,556,2.831,569,1.833,584,2.42,585,1.599,594,2.271,623,2.37,626,2.025,633,4.007,653,3.426,654,2.025,655,2.602,656,4.44,657,5.154,658,4.44,659,5.699,660,5.822,661,3.426,662,2.268,663,4.007,664,4.44,665,3.161,666,5.914,667,4.007,668,3.136,669,2.723,670,2.866,671,4.44,672,1.833,673,2.42,674,2.025,675,2.602,676,3.426,677,3.136,678,2.602,679,3.136,680,3.027,681,2.602,682,2.831,683,2.602,684,2.602,685,2.831,686,2.42,687,2.831,688,4.007,689,2.602,690,2.602,691,2.831,692,2.268,693,3.211,694,3.977,695,2.831,696,2.602,697,3.136,698,3.136,699,3.136,700,2.138,701,2.831,702,3.136,703,2.42,704,2.831,705,3.136,706,3.136,707,3.136,708,4.651,709,3.136,710,2.602,711,3.136,712,3.136,713,3.136,714,4.44,715,4.44,716,3.136,717,2.602,718,3.136,719,2.42,720,3.136,721,3.136,722,4.44,723,3.136,724,4.44,725,3.136,726,4.44,727,3.136,728,3.136,729,3.136,730,3.136,731,2.42,732,3.136,733,3.136,734,4.007,735,3.136,736,2.831,737,4.007,738,4.007,739,3.211,740,4.007,741,2.831,742,2.025,743,3.136,744,2.268,745,2.42,746,3.136,747,3.136,748,3.136,749,4.44,750,3.136,751,5.154,752,3.136,753,3.136,754,3.136,755,3.136,756,3.136,757,3.136,758,3.136,759,3.136,760,3.136,761,3.136,762,3.136,763,3.136,764,3.136,765,3.136,766,3.136,767,3.136,768,3.136]],["title/modules/CallToActionModule.html",[0,1.478,546,2.712]],["body/modules/CallToActionModule.html",[2,2.041,3,2.454,7,0.014,10,2.644,11,2.199,12,1.769,13,0.166,14,0.208,15,0.146,16,0.125,33,0.411,35,2.644,36,0.389,46,0.208,71,2.376,78,0.105,81,0.009,82,0.011,83,0.009,362,2.974,363,2.974,364,3.099,365,2.376,454,3.887,466,2.199,500,2.69,511,3.437,546,5.466,548,6.058,549,5.037,550,5.468,551,3.252,552,4.131,553,3.435,769,5.037,770,5.037,771,5.037,772,5.783,773,5.783]],["title/classes/CallToActionSelectors.html",[78,0.073,502,2.917]],["body/classes/CallToActionSelectors.html",[7,0.014,13,0.136,14,0.17,15,0.119,16,0.169,19,1.422,20,4.241,24,1.489,26,1.835,27,1.241,28,0.613,29,1.337,31,1.196,33,0.314,46,0.17,49,0.948,53,2.164,59,1.288,78,0.086,81,0.008,82,0.01,83,0.008,85,0.4,245,3.141,305,1.552,466,1.797,470,3.448,472,4.121,474,3.863,475,2.981,496,2.407,500,3.619,502,4.432,653,5.613,654,4.376,659,4.82,660,4.82,665,4.085,703,3.178,774,2.298,775,4.118,776,6.131,777,7.644,778,4.727,779,6.131,780,4.727,781,6.131,782,4.727,783,6.131,784,4.727,785,6.131,786,4.727,787,6.131,788,4.727,789,4.727,790,7.644,791,4.727,792,4.727,793,4.727,794,4.727,795,4.727,796,4.727]],["title/injectables/CallToActionState.html",[93,0.706,703,2.712]],["body/injectables/CallToActionState.html",[7,0.014,13,0.184,14,0.112,15,0.078,16,0.157,19,1.065,20,2.776,24,1.387,26,1.666,27,1.156,28,0.556,29,1.213,31,1.156,33,0.388,36,0.21,39,1.752,40,1.586,41,1.515,45,3.066,46,0.165,47,0.486,49,0.84,53,2.368,54,1.245,56,1.507,59,0.919,61,1.515,62,0.698,74,2.43,78,0.057,81,0.005,82,0.007,83,0.005,85,0.263,93,0.803,112,2.198,114,0.748,115,1.28,118,1.963,119,1.1,126,1.455,150,1.563,154,0.894,178,0.953,179,1.507,180,2.256,181,1.042,231,1.231,245,2.24,262,0.859,275,0.586,292,0.889,300,1.023,301,1.681,321,2.65,341,1.962,448,1.185,455,2.154,456,2.095,466,1.185,467,2.252,470,3.383,471,2.582,472,3.086,473,3.066,474,2.893,475,2.65,480,3.086,481,3.205,486,3.435,487,3.066,488,3.086,496,1.586,498,1.752,500,3.381,501,2.45,517,1.141,551,1.752,556,2.45,569,2.337,584,3.086,585,1.769,594,2.43,623,2.135,626,1.752,633,2.45,653,2.095,654,4.088,655,2.252,656,2.714,657,4.749,658,2.714,659,5.043,660,5.043,661,4.044,662,1.963,663,4.73,664,5.24,665,2.913,666,6.674,667,4.73,668,2.714,669,3.214,670,3.383,671,4,672,1.586,673,2.095,674,1.752,675,2.252,676,4.044,677,2.714,678,2.252,679,2.714,680,2.727,681,2.252,682,2.45,683,2.252,684,2.252,685,2.45,686,2.095,687,2.45,688,4.286,689,2.252,690,2.252,691,2.45,692,2.893,693,3.435,694,4.51,695,2.45,696,2.252,697,2.714,698,2.714,699,2.714,700,1.851,701,2.45,702,2.714,703,3.086,704,3.61,705,4,706,4,707,4,708,5.043,709,4,710,3.319,711,4,712,4,713,4,714,4,715,4,716,2.714,717,3.941,718,4.749,719,3.665,720,4,721,2.714,722,4,723,2.714,724,4,725,2.714,726,4,727,2.714,728,4,729,5.24,730,2.714,731,2.095,732,2.714,733,2.714,734,4.73,735,4,736,2.45,737,3.61,738,3.61,739,2.893,740,3.61,741,2.45,742,1.752,743,2.714,744,2.893,745,3.086,746,4.749,747,4,748,4,749,4,750,2.714,751,4.749,752,2.714,753,2.714,754,2.714,755,4.749,756,4,757,4,758,2.714,759,2.714,760,2.714,761,2.714,762,2.714,763,2.714,764,4,765,2.714,766,4,767,4,768,2.714,797,4.591,798,4.591,799,2.714,800,3.116,801,3.116,802,3.116,803,3.116,804,3.116,805,3.116,806,3.116,807,3.116]],["title/classes/CloseDialog.html",[78,0.073,498,2.269]],["body/classes/CloseDialog.html",[7,0.013,13,0.172,14,0.215,15,0.15,16,0.154,20,4.066,24,1.164,28,0.606,46,0.272,49,0.705,62,1.339,78,0.138,81,0.01,82,0.011,83,0.01,85,0.505,86,0.987,181,1.297,292,1.705,470,3.362,471,3.989,473,3.362,481,3.235,486,3.766,487,3.362,488,4.018,498,3.989,500,3.299,654,3.989,680,3.55,774,2.906,808,4.321,809,5.977,810,5.947]],["title/injectables/ConsentService.html",[6,2.054,93,0.706]],["body/injectables/ConsentService.html",[6,3.356,7,0.014,13,0.152,14,0.191,15,0.133,16,0.173,19,1.529,24,1.534,26,1.272,27,0.86,28,0.575,29,0.926,31,1.122,33,0.337,36,0.357,46,0.237,62,1.73,68,2.65,78,0.096,81,0.008,82,0.011,83,0.008,85,0.448,86,0.917,93,1.153,114,1.272,154,1.284,178,1.62,179,2.356,181,1.165,231,2.093,292,1.88,585,1.956,811,4.166,812,5.127,813,7.175,814,4.46,815,6.591,816,7.508,817,6.591,818,5.298,819,6.591,820,5.298,821,5.298,822,5.298,823,6.591,824,3.915,825,5.298,826,3.83,827,3.561,828,5.298,829,5.298,830,6.591,831,5.298,832,5.298]],["title/interfaces/DataSource.html",[47,0.359,125,2.054]],["body/interfaces/DataSource.html",[7,0.014,13,0.108,14,0.135,15,0.094,16,0.171,19,1.217,24,1.53,26,1.825,27,1.16,28,0.624,29,1.249,31,1.228,33,0.31,46,0.264,47,0.334,49,0.773,59,1.334,78,0.096,81,0.006,82,0.008,83,0.006,84,1.189,85,0.317,88,3.009,96,2.11,97,3.091,98,2.11,99,2.11,100,1.91,101,2.11,102,0.812,103,1.672,104,2.11,112,2.677,114,0.901,116,1.672,119,1.324,125,3.336,162,1.672,178,1.148,181,0.609,185,3.207,189,3.207,191,3.207,193,3.207,196,3.207,198,3.207,201,2.814,203,2.814,205,2.814,207,2.814,209,2.814,212,2.814,214,2.44,216,2.44,232,2.804,233,2.804,234,2.804,235,2.804,236,2.804,237,2.804,242,3.323,286,4.067,371,1.824,372,1.91,373,2.11,375,2.804,376,3.501,378,3.117,389,3.403,390,3.594,392,2.804,416,2.005,833,4.987,834,2.522,835,3.752,836,3.752,837,3.752,838,3.752,839,3.752,840,3.752,841,3.752,842,3.752,843,3.752,844,3.752,845,3.752,846,3.752,847,3.793,848,2.95,849,3.793,850,2.712,851,2.95,852,2.712,853,2.95,854,2.95,855,2.95,856,2.95,857,2.95,858,2.95,859,2.95,860,2.95,861,2.95,862,2.95,863,2.95,864,2.95,865,2.95,866,2.95,867,2.95,868,2.95,869,2.95,870,2.95]],["title/injectables/DataSourceService.html",[93,0.706,871,3.172]],["body/injectables/DataSourceService.html",[7,0.014,13,0.123,14,0.207,15,0.108,16,0.175,19,1.334,24,1.564,26,1.787,27,1.208,28,0.596,29,1.301,31,1.256,33,0.355,36,0.289,46,0.154,49,0.765,78,0.078,81,0.007,82,0.009,83,0.007,85,0.363,88,3.072,93,1.006,96,2.414,97,3.076,98,2.414,99,2.414,100,2.185,101,2.414,102,0.929,103,1.913,104,2.414,112,2.654,114,1.03,125,2.929,126,1.36,178,1.313,185,3.224,189,3.224,191,3.224,193,3.224,196,3.224,198,3.224,201,2.676,203,2.676,205,2.676,207,2.676,209,2.676,212,2.676,214,1.996,231,1.696,232,3.074,233,3.074,234,3.074,235,3.074,236,3.074,237,3.074,242,3.461,376,4.534,833,5.091,871,4.523,872,3.739,873,4.292,874,4.292,875,4.292,876,4.292,877,4.292,878,4.292,879,4.292,880,4.292,881,4.292,882,4.292,883,4.292,884,4.292]],["title/interfaces/DecoratedRange.html",[47,0.359,289,2.156]],["body/interfaces/DecoratedRange.html",[7,0.014,13,0.141,14,0.177,15,0.123,16,0.106,28,0.585,31,0.768,46,0.177,47,0.437,49,0.817,54,1.277,56,1.611,58,3.526,59,1.059,62,1.1,68,2.217,81,0.008,82,0.01,83,0.008,84,1.555,85,0.699,86,0.874,164,3.754,165,2.564,262,1.352,289,3.701,291,2.498,341,1.921,423,2.274,451,3.298,639,2.76,644,3.299,774,3.903,885,2.915,886,3.859,887,3.299,888,6.312,889,7.949,890,4.54,891,6.281,892,6.575,893,7.302,894,4.909,895,6.281,896,4.275,897,3.299,898,4.275,899,2.498,900,5.185,901,4.275,902,4.275,903,2.622,904,4.275,905,4.275,906,4.908,907,4.908,908,4.908,909,3.547]],["title/components/DecoratedTextComponent.html",[275,0.758,513,1.534]],["body/components/DecoratedTextComponent.html",[7,0.014,12,1.151,13,0.133,14,0.086,15,0.06,16,0.157,19,0.873,24,1.393,26,1.371,27,1.142,28,0.553,29,0.999,31,1.1,33,0.192,36,0.161,46,0.135,47,0.335,49,0.795,54,1.207,58,1.915,59,1.068,62,1.04,68,0.847,69,2.556,78,0.119,81,0.008,82,0.006,83,0.004,85,0.536,86,0.843,97,0.878,102,1.657,150,0.816,154,1.112,164,2.556,165,1.192,178,1.151,180,2.372,181,0.754,245,0.985,262,1.67,267,5.033,270,2.529,271,3.312,274,1.069,275,0.873,277,1.026,280,1.765,289,4.065,290,3.044,291,3.691,292,1.324,300,2.686,301,0.878,305,2.458,306,1.378,308,1.378,310,1.677,311,1.677,312,0.948,313,2.171,314,1.609,315,1.985,326,2.116,329,3.355,339,3.085,340,1.75,341,1.608,358,0.985,366,0.985,423,1.524,448,0.912,449,1.677,450,1.166,451,2.695,452,1.166,453,1.116,455,0.948,465,1.069,466,1.431,504,1.166,505,1.486,506,0.985,507,2.556,508,1.166,509,1.166,510,1.166,511,0.985,512,1.166,513,1.999,514,1.166,515,0.985,516,1.166,517,0.878,518,1.166,519,0.985,520,1.069,521,1.166,522,0.985,523,0.948,524,1.166,525,0.948,526,1.166,527,0.985,528,1.116,529,1.166,530,1.166,531,0.985,532,1.026,533,1.166,534,0.985,535,1.116,536,0.985,537,1.116,538,0.948,539,1.116,540,1.166,561,2.235,566,2.116,585,0.935,593,1.282,595,2.591,620,2.371,622,1.349,644,2.529,774,2.946,885,4.307,887,1.612,890,2.72,897,2.529,899,3.225,900,2.371,909,1.734,910,1.734,911,2.925,912,5.887,913,3.356,914,3.65,915,2.958,916,5.832,917,4.133,918,3.762,919,4.133,920,3.762,921,3.762,922,3.762,923,3.762,924,2.398,925,5.426,926,2.958,927,2.958,928,3.65,929,2.958,930,2.398,931,3.762,932,2.398,933,2.925,934,5.114,935,2.958,936,2.398,937,2.958,938,6.092,939,4.49,940,3.65,941,4.259,942,2.398,943,2.72,944,2.958,945,2.72,946,2.958,947,2.398,948,2.398,949,4.642,950,2.398,951,2.398,952,2.958,953,2.72,954,3.8,955,2.398,956,2.958,957,2.958,958,2.72,959,2.958,960,5.157,961,2.398,962,2.72,963,4.49,964,2.72,965,2.398,966,2.72,967,2.72,968,1.612,969,1.734,970,1.886,971,2.235,972,1.734,973,1.734,974,2.72,975,2.371,976,2.371,977,1.886,978,1.886,979,2.958,980,1.886,981,2.958,982,1.886,983,1.886,984,1.511,985,2.958,986,1.886,987,3.65,988,1.734,989,1.886,990,1.886,991,2.958,992,1.886,993,1.886,994,2.958,995,1.886,996,1.734,997,2.958,998,2.958,999,2.958,1000,1.612,1001,1.886,1002,1.425,1003,1.886,1004,1.886,1005,1.886,1006,1.886,1007,1.886,1008,1.886,1009,1.886,1010,1.886,1011,1.886,1012,1.886,1013,1.886,1014,1.886,1015,1.886,1016,1.886,1017,1.886,1018,1.886,1019,1.612,1020,1.734,1021,1.612,1022,1.886,1023,1.886,1024,1.734,1025,1.734,1026,1.886,1027,1.734,1028,1.886,1029,1.425,1030,1.886,1031,1.886,1032,1.734,1033,1.734,1034,1.886,1035,1.886,1036,1.886,1037,1.886,1038,3.762]],["title/modules/DecoratedTextModule.html",[0,1.478,1039,2.712]],["body/modules/DecoratedTextModule.html",[2,2.099,3,2.496,7,0.013,10,2.689,11,2.262,12,1.819,13,0.171,14,0.214,15,0.15,16,0.129,33,0.386,35,2.689,36,0.4,46,0.214,71,2.444,78,0.108,81,0.01,82,0.011,83,0.01,290,2.35,291,3.028,362,3.025,363,3.025,364,3.152,365,2.444,513,3.192,885,3.533,1039,5.496,1040,5.182,1041,5.182,1042,5.182,1043,5.949,1044,5.949]],["title/interfaces/DefaultParams.html",[47,0.359,136,2.542]],["body/interfaces/DefaultParams.html",[7,0.014,13,0.101,14,0.18,15,0.088,16,0.076,18,2.084,28,0.51,29,0.875,33,0.383,36,0.236,46,0.18,47,0.52,49,0.915,54,1.176,56,1.643,59,1.337,76,2.781,78,0.064,81,0.006,82,0.008,83,0.006,84,1.112,85,0.297,86,0.696,87,2.211,88,1.334,89,1.973,90,1.973,91,2.536,92,2.536,93,0.875,94,2.536,95,2.359,96,1.973,97,2.973,98,1.973,99,1.973,100,2.969,101,1.973,102,1.083,103,1.564,104,1.973,105,3.617,106,4.275,107,3.617,108,2.536,109,2.536,110,2.211,111,3.617,112,2.541,113,2.674,114,0.842,115,1.442,116,2.23,117,2.084,118,2.211,119,1.238,120,3.921,121,3.364,122,2.327,123,1.875,124,1.875,125,2.548,126,2.215,127,2.536,128,3.675,129,2.536,130,4.275,131,5.699,132,4.007,133,3.921,134,2.713,135,2.536,136,3.153,137,4.046,138,2.084,139,2.359,140,2.536,141,2.359,142,2.536,143,2.536,144,2.536,145,2.084,146,2.211,147,2.211,148,2.211,149,2.359,150,1.194,151,1.706,152,1.706,153,3.675,154,0.975,155,2.211,156,3.364,157,2.211,158,2.359,159,2.211,160,2.536,161,4.236,162,1.564,163,2.211,164,2.433,165,2.015,166,3.364,167,2.359,168,2.211,169,3.617,170,2.084,171,2.536,172,2.084,173,2.536,174,2.536,175,1.334,176,1.238,177,2.211,178,1.073,179,1.152,180,2.13,181,0.813,182,2.814,183,2.814,184,2.536,185,1.632,186,4.216,187,2.536,188,4.86,189,1.632,190,2.536,191,1.632,192,2.536,193,1.632,194,5.411,195,2.536,196,1.632,197,2.536,198,1.632,199,2.536,200,5.053,201,1.632,202,2.536,203,1.632,204,2.536,205,1.632,206,2.536,207,1.632,208,2.536,209,1.632,210,2.536,211,3.153,212,1.632,213,2.536,214,1.632,215,4.216,216,2.713,217,4.216,218,2.536,219,2.359,220,2.536,221,2.536,222,2.536,223,2.536,224,2.536,225,2.536,226,2.536,227,2.536,228,2.536,229,2.536,230,2.536]],["title/classes/DelegateDataSource.html",[78,0.073,372,2.054]],["body/classes/DelegateDataSource.html",[7,0.014,13,0.104,14,0.131,15,0.091,16,0.111,19,1.189,24,1.544,26,1.89,27,1.18,28,0.635,29,1.27,31,1.231,33,0.304,46,0.261,47,0.323,49,0.761,59,1.327,78,0.093,81,0.006,82,0.008,83,0.006,85,0.307,86,0.713,88,1.948,96,2.04,97,3.085,98,2.04,99,2.04,100,1.847,101,2.04,102,0.785,103,1.617,104,2.04,112,2.676,114,0.871,116,1.617,119,1.28,125,3.025,162,1.617,178,1.11,181,0.965,185,3.167,189,3.167,191,3.167,193,3.167,196,3.167,198,3.167,201,2.763,203,2.763,205,2.763,207,2.763,209,2.763,212,2.763,214,2.383,216,2.763,232,2.738,233,2.738,234,2.738,235,2.738,236,2.738,237,2.738,242,3.287,286,3.994,371,2.491,372,2.609,373,3.341,375,3.449,376,3.776,378,3.834,388,2.286,389,3.975,390,4.045,391,5.291,392,4.284,393,2.439,394,2.439,395,2.439,396,2.439,397,2.439,398,2.439,399,2.439,400,2.439,401,2.439,402,2.439,403,2.439,404,2.439,405,2.439,416,1.939,774,1.764,833,3.229,834,2.439,847,3.704,848,2.853,849,3.704,850,2.623,851,2.853,852,2.623,853,2.853,854,2.853,855,2.853,856,2.853,857,2.853,858,2.853,859,2.853,860,2.853,861,2.853,862,2.853,863,2.853,864,2.853,865,2.853,866,2.853,867,2.853,868,2.853,869,2.853,870,2.853,1045,3.628]],["title/interfaces/DocumentationContent.html",[47,0.359,669,2.156]],["body/interfaces/DocumentationContent.html",[7,0.014,13,0.205,14,0.165,15,0.179,16,0.1,28,0.483,31,0.719,33,0.343,36,0.31,46,0.242,47,0.536,49,0.974,54,1.327,56,1.51,59,0.775,78,0.084,81,0.007,82,0.01,83,0.007,84,1.457,85,0.389,86,0.838,93,1.053,113,2.457,114,1.104,126,1.908,154,0.896,175,1.749,176,1.623,181,0.747,262,1.267,275,0.864,300,1.51,341,1.407,475,3.812,481,2.872,562,4.393,585,1.143,589,3.988,594,3.594,661,4.048,662,2.898,669,4.054,670,2.586,672,2.341,719,3.092,731,3.092,742,4.267,899,2.341,903,2.457,1002,2.732,1046,2.457,1047,3.324,1048,4.048,1049,4.735,1050,4.048,1051,3.807,1052,4.871,1053,4.353,1054,4.735,1055,5.279,1056,3.794,1057,3.092,1058,3.324,1059,4.735,1060,3.092,1061,3.324,1062,4.735,1063,3.616,1064,3.616,1065,2.898,1066,3.616,1067,3.616,1068,3.616,1069,3.616,1070,3.616,1071,3.616,1072,3.616,1073,3.616,1074,3.616,1075,3.616,1076,3.616,1077,4.735,1078,4.735,1079,3.616,1080,3.616,1081,3.616,1082,3.616,1083,3.616,1084,3.616,1085,3.616,1086,3.616,1087,3.616,1088,3.616,1089,3.616]],["title/interfaces/FilterParams.html",[47,0.359,138,2.397]],["body/interfaces/FilterParams.html",[7,0.014,13,0.093,14,0.17,15,0.081,16,0.07,18,3.639,28,0.618,29,1.406,33,0.375,36,0.218,46,0.17,47,0.496,49,0.955,54,1.139,56,1.55,59,1.321,76,2.731,78,0.059,81,0.005,82,0.008,83,0.005,84,1.026,85,0.274,86,0.657,87,2.04,88,1.231,89,1.821,90,1.821,91,2.34,92,2.34,93,0.826,94,2.34,95,2.176,96,1.821,97,2.944,98,1.821,99,1.821,100,2.838,101,1.821,102,1.022,103,1.443,104,1.821,105,3.413,106,4.838,107,4.429,108,2.34,109,2.34,110,2.04,111,3.413,112,2.513,113,2.523,114,0.777,115,1.33,116,2.105,117,1.923,118,2.04,119,1.143,120,3.747,121,3.174,122,2.196,123,1.73,124,1.73,125,2.404,126,2.155,127,2.34,128,3.512,129,2.34,130,4.119,131,5.624,132,3.86,133,3.747,134,2.593,135,2.34,136,2.04,137,3.446,138,2.805,139,4.119,140,4.429,141,4.119,142,4.429,143,4.429,144,4.429,145,3.639,146,3.512,147,3.512,148,3.512,149,4.119,150,2.085,151,1.574,152,1.574,153,3.512,154,0.92,155,2.04,156,3.174,157,2.04,158,2.176,159,2.04,160,2.34,161,4.105,162,1.443,163,2.04,164,2.296,165,1.941,166,3.174,167,2.176,168,2.04,169,3.413,170,1.923,171,2.34,172,1.923,173,2.34,174,2.34,175,1.231,176,1.143,177,2.04,178,0.99,179,1.063,180,2.064,181,0.767,182,2.656,183,2.656,184,2.34,185,1.506,186,4.029,187,2.34,188,4.709,189,1.506,190,2.34,191,1.506,192,2.34,193,1.506,194,5.305,195,2.34,196,1.506,197,2.34,198,1.506,199,2.34,200,4.916,201,1.506,202,2.34,203,1.506,204,2.34,205,1.506,206,2.34,207,1.506,208,2.34,209,1.506,210,2.34,211,2.975,212,1.506,213,2.34,214,1.506,215,4.029,216,2.593,217,4.029,218,2.34,219,2.176,220,2.34,221,2.34,222,2.34,223,2.34,224,2.34,225,2.34,226,2.34,227,2.34,228,2.34,229,2.34,230,2.34]],["title/classes/ForwardingDataSource.html",[78,0.073,392,2.156]],["body/classes/ForwardingDataSource.html",[7,0.014,13,0.104,14,0.131,15,0.091,16,0.172,19,1.189,24,1.533,26,1.89,27,1.18,28,0.631,29,1.271,31,1.231,33,0.304,46,0.261,47,0.323,49,0.762,59,1.327,78,0.093,81,0.006,82,0.008,83,0.006,85,0.307,88,3.014,96,2.042,97,3.086,98,2.042,99,2.042,100,1.849,101,2.042,102,0.786,103,1.619,104,2.042,112,2.674,114,0.872,116,1.619,119,1.282,125,3.288,162,1.619,178,1.568,181,0.59,185,3.168,189,3.168,191,3.168,193,3.168,196,3.168,198,3.168,201,2.765,203,2.765,205,2.765,207,2.765,209,2.765,212,2.765,214,2.385,216,2.765,232,2.74,233,2.74,234,2.74,235,2.74,236,2.74,237,2.74,242,3.288,286,3.996,371,1.766,372,1.849,373,2.042,375,3.451,376,3.778,378,3.836,388,2.288,389,3.976,390,4.046,392,3.176,416,1.941,774,1.766,833,4.995,834,2.441,847,3.707,848,2.855,849,3.707,850,2.625,851,2.855,852,2.625,853,2.855,854,2.855,855,2.855,856,2.855,857,2.855,858,2.855,859,2.855,860,2.855,861,2.855,862,2.855,863,2.855,864,2.855,865,2.855,866,2.855,867,2.855,868,2.855,869,2.855,870,2.855,1090,3.632,1091,3.632,1092,3.632,1093,3.632,1094,3.632,1095,3.632,1096,3.632,1097,3.632,1098,3.632,1099,3.632,1100,3.632,1101,3.632,1102,3.632]],["title/injectables/GlobalConfigState.html",[93,0.706,122,1.877]],["body/injectables/GlobalConfigState.html",[7,0.014,13,0.109,14,0.137,15,0.096,16,0.171,19,1.23,24,1.521,26,1.917,27,1.255,28,0.64,29,1.334,31,1.193,33,0.39,36,0.256,46,0.137,49,0.936,54,0.927,59,1.169,61,1.852,62,0.854,63,1.852,78,0.069,81,0.006,82,0.008,83,0.006,85,0.322,86,0.738,93,0.927,102,0.825,112,2.53,114,0.915,115,2.179,119,1.345,122,2.466,152,3.371,154,1.033,165,2.417,180,2.274,181,0.991,183,2.143,231,1.505,287,3.843,292,1.087,371,2.578,415,2.143,429,3.623,493,4.1,496,1.94,585,1.639,665,2.834,686,4.434,693,2.4,966,3.833,1103,6.86,1104,3.319,1105,4.796,1106,6.1,1107,7.725,1108,5.303,1109,5.303,1110,5.303,1111,5.303,1112,3.341,1113,7.178,1114,6.314,1115,3.81,1116,6.279,1117,3.81,1118,5.79,1119,3.81,1120,6.595,1121,3.81,1122,4.169,1123,3.81,1124,5.303,1125,3.81,1126,5.303,1127,6.1,1128,3.81,1129,5.303,1130,6.595,1131,3.81,1132,5.303,1133,6.595,1134,3.81,1135,3.81,1136,3.81,1137,3.81,1138,3.81,1139,2.561,1140,3.81,1141,4.169,1142,2.995,1143,2.995,1144,3.81,1145,2.995,1146,2.561,1147,3.81,1148,2.995,1149,3.81,1150,3.81,1151,3.81,1152,5.303,1153,3.81,1154,3.81,1155,3.81,1156,3.81,1157,6.1,1158,3.81,1159,3.81,1160,3.81]],["title/injectables/GlobalsService.html",[93,0.706,1161,3.172]],["body/injectables/GlobalsService.html",[7,0.014,13,0.081,14,0.102,15,0.071,16,0.163,19,0.993,24,1.448,26,1.853,27,1.173,28,0.633,29,1.283,31,1.198,33,0.145,36,0.191,46,0.185,49,0.334,53,1.511,54,1.078,59,1.195,61,3.981,62,1.824,63,2.996,68,2.444,72,2.697,74,2.559,76,2.781,78,0.052,81,0.005,82,0.007,83,0.005,85,0.24,93,0.748,134,3.359,151,1.379,154,1.119,162,2.559,175,1.078,176,1.001,181,0.461,216,1.991,231,1.121,242,1.319,262,1.698,292,1.221,304,3.365,321,2.081,340,1.319,341,1.982,348,4.515,375,2.755,389,4.182,440,1.907,569,2.179,585,1.721,594,1.264,625,1.595,638,3.365,639,4.499,692,2.697,894,1.907,975,3.618,984,1.787,1000,1.907,1112,2.697,1161,3.365,1162,2.05,1163,4.28,1164,5.821,1165,5.742,1166,6.725,1167,2.836,1168,4.28,1169,4.28,1170,4.28,1171,4.28,1172,5.155,1173,3.729,1174,4.28,1175,3.094,1176,4.28,1177,4.28,1178,3.729,1179,3.729,1180,5.679,1181,7.222,1182,2.836,1183,3.094,1184,7.337,1185,6.477,1186,2.836,1187,3.729,1188,6.942,1189,2.836,1190,2.836,1191,2.836,1192,4.28,1193,2.836,1194,4.28,1195,3.729,1196,4.28,1197,3.365,1198,4.28,1199,6.163,1200,4.28,1201,2.836,1202,2.697,1203,6.48,1204,2.836,1205,2.836,1206,2.836,1207,2.836,1208,2.836,1209,2.23,1210,2.471,1211,4.846,1212,2.836,1213,2.836,1214,2.836,1215,2.836,1216,2.836,1217,2.23,1218,4.28,1219,5.155,1220,4.28,1221,4.28,1222,2.836,1223,2.471,1224,2.836,1225,4.28,1226,2.877,1227,2.836,1228,2.836,1229,2.23,1230,2.836,1231,6.163,1232,2.836,1233,2.471,1234,2.836,1235,2.836,1236,2.836,1237,2.836,1238,2.23,1239,2.836,1240,2.836,1241,3.365,1242,2.05,1243,2.471,1244,3.094,1245,2.05,1246,2.471,1247,2.471,1248,2.836,1249,2.836,1250,2.836,1251,2.836,1252,2.05,1253,1.907,1254,2.836,1255,1.787,1256,2.23,1257,2.471,1258,2.836,1259,2.836,1260,2.23,1261,2.836,1262,2.836]],["title/injectables/GoogleAnalyticsSyncService.html",[8,2.397,93,0.706]],["body/injectables/GoogleAnalyticsSyncService.html",[6,3.938,7,0.014,8,3.746,13,0.142,14,0.178,15,0.124,16,0.168,19,1.463,24,1.473,26,1.514,27,1.024,28,0.557,29,1.103,31,0.986,33,0.374,36,0.333,39,2.778,40,2.515,41,3.822,42,3.571,46,0.178,49,0.744,53,2.452,58,3.537,62,1.107,63,3.378,76,1.809,78,0.09,81,0.008,82,0.01,83,0.008,85,0.418,86,0.878,93,1.103,114,1.186,137,3.908,154,1.229,178,1.511,179,2.071,180,2.567,181,1.277,231,1.952,278,2.778,292,1.409,585,1.819,812,3.113,814,4.348,824,3.746,827,3.321,1241,5.463,1253,3.321,1263,6.738,1264,3.571,1265,4.671,1266,6.307,1267,4.303,1268,7.32,1269,6.307,1270,4.94,1271,6.307,1272,4.94,1273,3.974,1274,4.127,1275,4.94,1276,4.94,1277,4.94,1278,4.94,1279,4.94,1280,6.307,1281,6.307,1282,4.94,1283,4.94,1284,3.571,1285,4.94,1286,4.94]],["title/components/InfoButtonComponent.html",[275,0.758,515,1.658]],["body/components/InfoButtonComponent.html",[7,0.014,13,0.237,14,0.124,15,0.086,16,0.161,19,1.143,24,1.425,26,1.183,27,1.083,28,0.534,29,0.862,31,0.901,33,0.355,36,0.231,46,0.124,49,0.786,62,1.104,78,0.063,81,0.006,82,0.008,83,0.006,85,0.29,86,0.686,102,1.722,112,1.561,114,0.825,126,1.995,150,1.169,154,0.96,178,1.507,179,1.128,180,1.995,181,1.083,262,1.358,275,1.4,280,2.394,290,1.357,292,1.406,300,1.128,301,1.258,305,2.612,306,1.805,308,1.805,312,1.357,313,1.874,321,1.67,339,2.509,340,2.292,341,1.507,358,1.411,366,1.411,423,1.128,437,3.313,448,1.306,449,2.196,450,1.67,451,1.411,452,1.67,453,1.597,455,1.357,458,5.196,459,3.741,460,3.105,461,2.927,462,3.741,463,4.552,464,3.875,465,1.531,466,1.874,475,2.802,481,3.057,504,1.67,505,1.947,506,1.411,507,3.061,508,1.67,509,1.67,510,1.67,511,1.411,512,1.67,513,1.306,514,1.67,515,2.587,516,1.67,517,1.805,518,1.67,519,1.411,520,1.531,521,1.67,522,1.411,523,1.357,524,1.67,525,1.357,526,1.67,527,1.411,528,1.597,529,1.67,530,1.67,531,1.411,532,1.469,533,1.67,534,1.411,535,1.597,536,1.411,537,1.597,538,1.357,539,1.597,540,1.67,551,1.931,560,5.486,561,2.927,562,3.423,569,2.509,570,3.313,571,3.562,584,3.313,585,1.725,587,3.875,594,1.531,597,2.04,599,2.309,603,2.483,604,2.7,606,2.483,607,2.7,609,3.562,610,2.992,611,2.483,612,2.483,613,2.483,614,2.483,615,2.309,616,2.483,618,2.992,619,2.7,623,1.597,663,4.951,670,4.113,672,3.848,673,3.313,674,1.931,675,2.483,734,3.875,736,2.7,737,2.7,738,2.7,739,2.164,740,2.7,741,2.7,742,3.542,799,2.992,814,3.741,824,3.423,1046,3.979,1052,3.105,1056,3.968,1060,2.309,1265,3.874,1274,3.423,1284,2.483,1287,2.992,1288,5.764,1289,4.928,1290,4.928,1291,5.764,1292,4.928,1293,3.741,1294,4.928,1295,4.951,1296,3.434,1297,3.434,1298,3.434,1299,4.928,1300,3.434,1301,4.928,1302,3.434,1303,4.928,1304,3.434,1305,3.313,1306,3.434,1307,3.434,1308,3.434,1309,3.434,1310,2.992,1311,2.7,1312,3.434,1313,3.434,1314,3.434,1315,2.7,1316,2.7,1317,3.434,1318,2.7,1319,2.7,1320,3.434,1321,2.7]],["title/modules/InfoButtonModule.html",[0,1.478,1322,2.917]],["body/modules/InfoButtonModule.html",[2,2.01,3,2.432,7,0.014,10,2.62,11,2.165,12,1.742,13,0.213,14,0.205,15,0.143,16,0.123,33,0.41,35,2.62,36,0.383,46,0.205,71,2.831,78,0.104,81,0.009,82,0.011,83,0.009,362,2.947,363,2.947,364,3.071,365,2.34,515,3.431,552,4.092,553,3.382,662,3.588,672,2.899,674,3.203,1046,3.043,1322,5.952,1323,4.96,1324,4.96,1325,4.96,1326,4.96,1327,5.385,1328,5.694,1329,5.694,1330,6.89,1331,5.694]],["title/injectables/InfoButtonService.html",[93,0.706,670,2.269]],["body/injectables/InfoButtonService.html",[7,0.014,13,0.196,14,0.148,15,0.189,16,0.154,19,1.299,24,1.329,26,1.527,27,1.033,28,0.547,29,1.112,31,0.995,33,0.325,36,0.278,46,0.229,47,0.499,49,0.977,54,1.286,56,1.839,59,0.695,62,0.924,78,0.075,81,0.007,82,0.009,83,0.007,85,0.349,86,0.78,93,0.979,113,2.993,114,0.991,126,2.161,154,1.091,175,1.569,176,1.456,179,1.355,181,0.67,231,1.63,262,1.137,275,1.053,292,1.177,300,1.355,341,1.262,475,3.467,481,2.72,562,4.547,585,1.392,589,4.369,594,3.459,661,4.586,662,2.6,669,4.02,670,3.15,672,3.631,719,3.765,731,2.773,742,4.413,899,2.852,903,2.993,1002,3.327,1046,3.811,1047,2.982,1048,2.773,1049,3.244,1050,2.773,1051,3.811,1052,4.494,1053,2.982,1054,3.244,1055,5.608,1056,3.529,1057,3.765,1058,4.049,1059,5.363,1060,2.773,1061,4.049,1062,5,1063,4.404,1064,4.404,1065,3.529,1066,4.404,1067,3.244,1068,3.244,1069,3.244,1070,3.244,1071,4.404,1072,4.404,1073,4.404,1074,4.404,1075,4.404,1076,4.404,1077,4.404,1078,4.404,1079,3.244,1080,3.244,1081,3.244,1082,3.244,1083,3.244,1084,3.244,1085,3.244,1086,3.244,1087,3.244,1088,3.244,1089,3.244,1332,5.602,1333,5.602,1334,4.126,1335,5.602,1336,4.126,1337,4.126,1338,2.982]],["title/components/InfoDialogComponent.html",[275,0.758,517,1.478]],["body/components/InfoDialogComponent.html",[7,0.014,12,0.923,13,0.222,14,0.109,15,0.076,16,0.156,19,1.468,24,1.374,26,0.724,27,0.962,28,0.531,29,0.528,31,0.701,33,0.274,36,0.203,46,0.161,47,0.269,49,0.782,54,0.528,78,0.055,81,0.005,82,0.007,83,0.005,85,0.255,86,0.624,102,1.676,126,2.324,150,1.027,168,1.901,178,1.371,179,1.472,182,2.522,245,1.24,262,1.474,275,1.416,278,1.697,280,1.147,290,1.192,300,1.756,301,1.105,305,2.561,306,1.642,308,1.642,312,1.192,313,1.705,339,3.222,340,2.085,341,1.371,358,1.24,366,1.24,423,2.177,448,1.147,449,1.998,450,1.467,451,1.24,452,1.467,453,1.404,455,1.192,459,2.663,460,1.901,461,2.663,462,2.663,465,1.345,466,2.406,471,3.73,475,2.879,480,3.014,481,3.356,504,1.467,505,1.771,506,1.24,507,2.879,508,1.467,509,1.467,510,1.467,511,1.24,512,1.467,513,1.147,514,1.467,515,1.24,516,1.467,517,2.169,518,1.467,519,1.24,520,1.345,521,1.467,522,1.24,523,1.192,524,1.467,525,1.192,526,1.467,527,1.24,528,1.404,529,1.467,530,1.467,531,1.24,532,1.291,533,1.467,534,1.24,535,1.404,536,2.198,537,1.404,538,1.192,539,1.404,540,1.467,551,1.697,562,3.759,570,2.028,585,1.472,589,1.792,592,3.525,594,2.64,595,2.533,597,2.663,598,2.663,599,4.254,600,3.178,602,2.825,609,2.181,611,2.181,612,2.181,614,2.181,615,4.254,616,3.867,620,1.901,622,3.331,623,2.755,624,2.825,625,3.009,626,4.053,631,3.867,634,2.181,638,2.373,648,3.906,649,4.42,650,4.976,651,3.981,669,3.165,672,1.536,673,2.028,674,4.053,739,2.825,742,3.331,744,2.825,903,2.859,971,2.663,1029,2.663,1046,3.851,1051,2.396,1052,1.901,1293,3.178,1315,2.373,1316,2.373,1318,2.373,1319,2.373,1321,4.656,1338,3.241,1339,2.373,1340,2.825,1341,3.906,1342,3.906,1343,3.906,1344,4.207,1345,4.661,1346,3.906,1347,4.794,1348,5.513,1349,4.661,1350,4.656,1351,3.018,1352,5.513,1353,4.575,1354,4.484,1355,4.661,1356,4.207,1357,4.661,1358,3.018,1359,3.018,1360,3.525,1361,3.525,1362,3.867,1363,3.906,1364,3.906,1365,3.018,1366,3.018,1367,3.018,1368,3.906,1369,3.018,1370,4.207,1371,2.629,1372,2.373,1373,2.629,1374,2.629,1375,2.629,1376,2.629,1377,2.629,1378,2.629,1379,2.629,1380,2.629,1381,2.629,1382,2.629,1383,2.629,1384,2.629,1385,2.629,1386,2.629,1387,4.484,1388,4.575,1389,4.575,1390,3.018,1391,5.982,1392,4.484,1393,3.525,1394,2.629,1395,2.373,1396,2.629,1397,3.018,1398,3.018,1399,3.018,1400,2.181,1401,3.525,1402,4.484,1403,4.484,1404,3.018,1405,3.018,1406,2.629,1407,3.018,1408,3.018,1409,3.018,1410,3.018,1411,2.629,1412,3.018]],["title/interfaces/InfoDialogData.html",[47,0.359,1353,2.917]],["body/interfaces/InfoDialogData.html",[7,0.014,12,1.451,13,0.224,14,0.171,15,0.119,16,0.103,19,1.101,28,0.546,33,0.349,36,0.319,46,0.221,47,0.423,49,0.931,54,0.83,78,0.086,81,0.008,82,0.01,83,0.008,84,1.503,85,0.401,86,0.855,102,1.027,126,2.367,178,1.451,179,1.558,182,2.669,262,1.308,275,1.438,278,2.669,280,2.337,305,1.558,306,1.738,308,1.738,339,3.129,340,2.207,341,1.88,459,2.819,461,2.819,462,2.819,466,1.804,471,2.669,475,3.631,480,3.19,481,3.376,517,1.738,551,2.669,562,2.819,585,1.527,594,3.214,669,3.991,672,2.416,673,3.19,674,2.669,739,2.99,742,4.201,744,2.99,903,2.536,1029,2.819,1046,2.536,1051,2.536,1293,2.819,1315,3.731,1316,3.731,1318,3.731,1319,3.731,1338,3.43,1339,3.731,1340,2.99,1341,4.134,1342,4.134,1343,4.134,1344,4.832,1345,4.134,1346,4.134,1347,4.443,1348,5.354,1349,4.134,1350,3.731,1352,5.354,1353,4.928,1355,4.134,1356,3.731,1357,4.134,1360,3.731,1361,3.731,1362,3.43,1363,4.134,1364,4.134,1368,4.134,1370,3.731,1371,4.134,1372,4.832,1373,4.134,1374,4.134,1375,4.134,1376,4.134,1377,4.134,1378,4.134,1379,4.134,1380,4.134,1381,4.134,1382,4.134,1383,4.134,1384,4.134,1385,4.134,1386,4.134]],["title/modules/InfoDialogModule.html",[0,1.478,1327,2.712]],["body/modules/InfoDialogModule.html",[2,2.001,3,2.425,7,0.014,10,2.613,11,2.155,12,1.734,13,0.197,14,0.204,15,0.143,16,0.123,33,0.418,35,2.613,36,0.382,39,3.188,46,0.204,71,2.329,78,0.103,81,0.009,82,0.011,83,0.009,362,2.938,363,2.938,364,3.062,365,2.329,517,3.057,550,5.402,551,3.188,552,4.081,553,3.367,589,3.367,674,3.188,675,4.097,1046,3.029,1327,5.444,1362,4.097,1413,4.938,1414,4.938,1415,4.938,1416,5.668,1417,6.871,1418,5.668,1419,5.668,1420,6.871,1421,4.938,1422,5.668]],["title/injectables/InjectorDelegateDataSourceService.html",[93,0.706,1423,3.172]],["body/injectables/InjectorDelegateDataSourceService.html",[7,0.014,13,0.118,14,0.245,15,0.103,16,0.137,19,1.292,24,1.587,26,1.914,27,1.258,28,0.634,29,1.355,31,1.262,33,0.364,36,0.276,46,0.147,49,0.657,78,0.075,81,0.007,82,0.009,83,0.007,85,0.346,86,0.776,88,2.409,93,0.974,97,3.014,112,2.591,114,0.983,115,1.682,119,1.445,122,3.163,123,2.188,124,2.188,126,1.297,152,1.99,179,1.829,181,1.029,183,3.134,185,2.946,189,2.946,191,2.946,193,2.946,196,2.946,198,2.946,201,1.904,203,1.904,205,1.904,207,1.904,209,1.904,212,1.904,214,1.904,216,1.904,231,1.617,232,2.978,233,2.978,234,2.978,235,2.978,236,2.978,237,2.978,242,3.413,287,3.511,371,2.709,372,3.462,373,3.563,375,3.801,376,3.633,378,3.31,379,2.752,388,2.58,389,3.563,390,3.31,391,5.424,392,4.287,393,2.752,394,2.752,395,2.752,396,2.752,397,2.752,398,2.752,399,2.752,400,2.752,401,2.752,402,2.752,403,2.752,404,2.752,405,2.752,415,2.303,416,2.188,417,2.752,418,2.752,420,2.752,429,2.432,1423,4.381,1424,5.518,1425,3.566,1426,5.572,1427,7.509,1428,4.094,1429,5.572,1430,5.518,1431,4.094,1432,6.335,1433,4.094,1434,4.094,1435,4.094,1436,4.094,1437,4.094]],["title/classes/LearnMore.html",[78,0.073,473,2.269]],["body/classes/LearnMore.html",[7,0.013,13,0.172,14,0.215,15,0.15,16,0.154,20,4.066,24,1.164,28,0.606,46,0.272,49,0.705,62,1.339,78,0.138,81,0.01,82,0.011,83,0.01,85,0.505,86,0.987,181,1.297,292,1.705,470,3.362,471,3.362,473,3.989,481,3.033,486,4.469,487,3.989,488,4.018,498,3.362,500,3.299,654,3.989,680,3.55,774,2.906,808,4.321,810,5.947,1438,5.977]],["title/injectables/LocalStorageService.html",[93,0.706,676,2.712]],["body/injectables/LocalStorageService.html",[7,0.014,13,0.099,14,0.124,15,0.087,16,0.159,19,1.148,20,2.943,24,1.395,26,1.604,27,1.129,28,0.536,29,1.104,31,1.198,33,0.177,36,0.232,44,4.964,45,4.6,46,0.124,49,0.939,53,1.746,54,1.104,59,1.257,61,3.871,62,1.784,63,3.069,74,2.577,76,2.312,78,0.063,81,0.006,82,0.008,83,0.006,85,0.565,86,0.689,93,0.865,165,2.117,175,1.313,176,1.219,231,1.364,242,1.606,262,0.952,292,1.649,321,2.811,341,2.127,423,1.898,583,4.31,585,1.569,592,4.964,676,3.326,678,5.294,692,3.117,900,4.21,933,4.615,1029,3.75,1112,3.117,1183,5.026,1185,6.238,1202,3.117,1229,3.89,1244,4.179,1260,4.546,1295,3.89,1439,6.38,1440,3.008,1441,4.948,1442,4.31,1443,4.948,1444,3.453,1445,4.948,1446,4.948,1447,6.682,1448,3.453,1449,3.89,1450,4.948,1451,3.453,1452,4.948,1453,3.453,1454,4.948,1455,3.453,1456,4.948,1457,4.948,1458,4.31,1459,4.948,1460,4.948,1461,4.948,1462,4.948,1463,4.964,1464,4.948,1465,4.948,1466,4.948,1467,5.5,1468,4.948,1469,4.948,1470,6.313,1471,6.313,1472,7.324,1473,6.313,1474,4.31,1475,4.948,1476,3.576,1477,4.31,1478,4.948,1479,6.313,1480,4.948,1481,4.948,1482,4.948,1483,3.453,1484,3.453,1485,3.453,1486,3.117,1487,3.453,1488,3.453,1489,3.453,1490,3.453,1491,3.008,1492,3.453,1493,3.453]],["title/injectables/LocalStorageSyncService.html",[9,2.397,93,0.706]],["body/injectables/LocalStorageSyncService.html",[6,3.873,7,0.014,9,3.6,13,0.133,14,0.167,15,0.117,16,0.168,19,1.406,24,1.482,26,1.455,27,0.984,28,0.486,29,1.251,31,1.055,33,0.345,36,0.313,42,3.357,45,4.509,46,0.218,49,0.796,54,1.18,59,1.137,61,3.28,62,1.705,63,2.258,68,2.139,78,0.085,81,0.007,82,0.01,83,0.007,85,0.393,86,0.844,93,1.06,114,1.115,154,1.314,175,1.766,176,1.639,178,1.421,179,1.99,180,2.588,181,1.258,231,1.835,278,2.612,279,3.357,292,1.729,298,3.357,574,3.652,585,1.777,812,4.883,814,4.248,824,3.6,826,3.357,827,3.122,1211,3.652,1244,3.357,1260,3.652,1264,3.357,1265,4.536,1267,4.046,1274,4.008,1284,3.357,1491,4.046,1494,6.093,1495,7.152,1496,6.061,1497,6.061,1498,4.645,1499,4.645,1500,6.061,1501,4.645,1502,4.645,1503,3.652,1504,4.046,1505,4.046,1506,3.357,1507,6.061,1508,4.645,1509,4.645,1510,4.645,1511,4.645,1512,4.645,1513,4.645,1514,4.645,1515,6.061,1516,4.645,1517,4.645,1518,4.046,1519,5.28,1520,4.645,1521,4.645]],["title/modules/MousePositionTrackerModule.html",[0,1.478,1522,3.172]],["body/modules/MousePositionTrackerModule.html",[0,1.962,2,1.891,7,0.014,13,0.154,14,0.193,15,0.135,16,0.116,33,0.396,35,2.524,36,0.361,39,3.014,40,2.728,41,2.605,46,0.239,54,1.355,56,1.759,59,1.119,78,0.098,81,0.009,82,0.011,83,0.009,114,1.287,115,2.202,119,1.891,126,1.698,179,1.759,278,3.014,365,2.202,536,2.202,625,3.014,667,5.671,717,5.214,745,4.463,1019,3.602,1139,3.602,1226,3.602,1252,3.874,1253,3.602,1255,4.183,1256,4.213,1274,3.943,1449,4.213,1522,5.219,1523,4.213,1524,4.213,1525,6.567,1526,5.359,1527,5.359,1528,4.668,1529,4.668,1530,5.359,1531,5.359,1532,6.638,1533,6.638,1534,4.213,1535,6.638,1536,6.638,1537,5.359,1538,5.359,1539,4.668,1540,5.359,1541,5.359,1542,5.359,1543,5.359,1544,5.359,1545,5.359,1546,5.359,1547,5.359,1548,5.359,1549,5.359,1550,4.668,1551,4.668,1552,4.668,1553,4.213,1554,5.359,1555,5.359,1556,5.359]],["title/directives/NumberDirective.html",[506,1.658,538,1.594]],["body/directives/NumberDirective.html",[7,0.014,13,0.143,14,0.179,15,0.125,16,0.159,19,1.47,24,1.358,26,1.674,27,1.133,28,0.508,29,1.22,31,0.779,33,0.255,36,0.335,46,0.179,54,0.871,69,3.082,78,0.091,81,0.008,82,0.01,83,0.008,85,0.421,165,2.009,179,1.635,245,2.046,262,2.023,280,3.121,300,2.29,305,2.081,329,3.391,339,3.227,340,2.949,341,1.939,465,2.219,505,2.901,506,3.184,537,2.316,538,2.505,539,2.949,585,1.575,745,5.517,1060,3.347,1293,3.766,1305,4.688,1534,5.483,1557,5.773,1558,5.773,1559,4.338,1560,6.339,1561,6.339,1562,6.339,1563,6.339,1564,4.98,1565,5.307,1566,4.98,1567,4.98,1568,6.339,1569,6.974,1570,6.075,1571,6.075,1572,6.339,1573,6.339,1574,4.98,1575,6.339,1576,6.974,1577,4.98,1578,4.98,1579,4.98]],["title/modules/NumbersOnlyModule.html",[0,1.478,1580,2.917]],["body/modules/NumbersOnlyModule.html",[2,2.123,3,2.513,7,0.013,10,2.707,11,2.287,12,1.84,13,0.173,14,0.216,15,0.151,16,0.13,33,0.364,35,2.707,36,0.405,46,0.216,78,0.11,81,0.01,82,0.011,83,0.01,362,3.045,363,3.045,538,3.321,1557,4.73,1558,4.73,1571,5.241,1580,5.923,1581,5.241,1582,5.241,1583,5.241,1584,6.016,1585,6.016]],["title/components/OpacitySliderComponent.html",[275,0.758,519,1.658]],["body/components/OpacitySliderComponent.html",[7,0.014,11,2.603,13,0.153,14,0.108,15,0.075,16,0.166,19,1.033,24,1.48,26,0.718,27,1.112,28,0.576,29,0.523,31,0.986,33,0.153,36,0.201,46,0.108,49,0.695,53,1.055,54,0.523,62,1.664,68,1.571,69,2.164,74,1.984,78,0.12,81,0.005,82,0.007,83,0.005,85,0.253,86,0.62,102,1.714,150,1.017,154,1.228,165,1.685,178,1.362,181,1.073,245,1.228,262,1.227,269,1.775,273,2.379,274,1.332,275,1.185,276,3.85,277,1.278,280,2.023,281,3.717,290,1.181,292,1.885,299,1.883,300,0.981,301,1.094,305,2.557,306,1.63,308,1.63,310,1.984,311,1.984,312,1.181,313,2.397,314,1.904,315,2.275,328,4.432,329,2.164,341,0.914,358,1.228,366,1.228,423,1.461,448,1.136,449,1.984,450,1.453,451,1.228,452,1.453,453,1.39,455,1.181,465,1.332,466,1.693,504,1.453,505,1.759,506,1.228,507,2.866,508,1.453,509,1.453,510,1.453,511,1.228,512,1.453,513,1.136,514,1.453,515,1.228,516,1.453,517,1.094,518,1.453,519,2.422,520,3.679,521,1.453,522,1.228,523,1.181,524,1.453,525,1.181,526,1.453,527,1.228,528,1.39,529,1.453,530,1.453,531,1.228,532,1.278,533,1.453,534,1.228,535,1.39,536,1.228,537,1.39,538,1.181,539,1.39,540,1.453,561,2.644,563,3.218,566,2.504,569,2.266,585,1.818,593,1.597,594,1.984,595,2.696,597,3.16,598,3.16,599,2.992,600,1.775,602,1.883,603,3.845,604,4.183,606,2.16,607,4.634,609,3.218,611,4.261,612,4.261,614,3.218,622,3.315,623,2.742,624,3.971,626,3.315,631,2.16,634,2.16,649,2.644,651,2.009,694,2.009,894,2.009,1048,2.992,1273,1.883,1321,2.35,1344,4.183,1350,4.634,1388,2.16,1389,2.16,1393,3.5,1394,3.878,1395,3.5,1396,2.603,1400,2.16,1539,2.603,1586,6.03,1587,6.03,1588,2.603,1589,6.784,1590,4.452,1591,3.878,1592,5.32,1593,4.452,1594,5.32,1595,4.452,1596,5.894,1597,5.894,1598,6.303,1599,6.303,1600,5.32,1601,5.32,1602,5.135,1603,2.989,1604,2.989,1605,4.442,1606,2.989,1607,5.135,1608,2.989,1609,4.452,1610,4.452,1611,2.989,1612,4.452,1613,4.452,1614,2.989,1615,4.452,1616,2.989,1617,2.989,1618,2.989,1619,5.894,1620,2.989,1621,3.878,1622,5.32,1623,2.989,1624,2.989,1625,6.608,1626,5.32,1627,2.989,1628,4.452,1629,4.452,1630,2.989,1631,2.989,1632,3.878,1633,3.576,1634,2.989,1635,2.603,1636,2.989,1637,3.878,1638,2.603,1639,2.603,1640,2.603]],["title/modules/OpacitySliderModule.html",[0,1.478,1641,2.917]],["body/modules/OpacitySliderModule.html",[2,2.035,3,2.45,7,0.014,10,2.639,11,2.192,12,1.763,13,0.166,14,0.207,15,0.145,16,0.125,33,0.411,35,2.639,36,0.388,46,0.207,71,2.368,78,0.105,81,0.009,82,0.011,83,0.009,362,2.969,363,2.969,364,3.094,365,2.368,519,3.436,520,2.569,552,4.123,553,3.424,1586,4.533,1587,4.533,1641,5.874,1642,5.022,1643,5.022,1644,5.022,1645,5.765,1646,5.765,1647,6.941,1648,5.765,1649,6.941,1650,5.765]],["title/classes/OpenDialog.html",[78,0.073,680,2.397]],["body/classes/OpenDialog.html",[7,0.013,13,0.172,14,0.215,15,0.15,16,0.154,20,4.066,24,1.164,28,0.606,46,0.272,49,0.705,62,1.339,78,0.138,81,0.01,82,0.011,83,0.01,85,0.505,86,0.987,181,1.297,292,1.705,470,3.362,471,3.362,473,3.362,481,3.235,486,3.766,487,3.362,488,4.768,498,3.362,500,3.299,654,3.989,680,4.213,774,2.906,808,4.321,810,5.947,1651,5.977]],["title/interfaces/OrganInfo.html",[47,0.359,1652,2.917]],["body/interfaces/OrganInfo.html",[7,0.014,13,0.049,14,0.061,15,0.043,16,0.037,20,1.862,27,1.322,28,0.46,29,1.077,31,0.265,33,0.145,36,0.114,46,0.154,47,0.151,49,0.793,53,2.026,54,1.077,58,1.862,59,0.803,62,0.379,68,1.291,74,3.646,76,1.038,78,0.052,81,0.003,82,0.005,83,0.003,84,0.536,85,0.143,86,0.395,102,0.613,145,4.251,146,1.786,147,4.238,148,3.001,154,0.552,162,0.754,165,0.536,172,2.541,178,0.518,180,0.898,181,0.46,262,0.466,263,2.049,268,4.56,269,1.684,273,0.904,275,0.533,276,1.594,277,0.724,280,2.081,281,1.594,299,1.786,305,1.405,306,0.62,308,0.62,313,0.643,314,0.724,315,0.724,321,3.511,328,1.786,329,0.823,332,3.247,341,1.309,423,1.405,460,3.76,467,1.223,474,1.066,505,0.669,522,0.695,523,3.269,569,2.178,585,1.531,587,1.33,595,1.564,600,4.568,602,4.55,623,0.787,625,2.057,643,6.358,692,2.696,704,2.876,744,1.066,814,1.005,824,1.684,888,2.229,894,1.138,903,2.925,913,2.049,953,1.223,954,2.049,962,2.049,971,1.684,972,1.223,1050,1.138,1122,4.513,1217,1.33,1226,2.459,1245,1.223,1252,2.644,1253,2.459,1255,1.066,1273,4.509,1311,1.33,1338,3.093,1467,3.186,1486,2.304,1565,3.093,1605,1.905,1652,3.956,1653,1.223,1654,1.223,1655,1.33,1656,2.834,1657,2.469,1658,7.045,1659,5.971,1660,2.469,1661,2.834,1662,2.469,1663,2.469,1664,4.845,1665,2.469,1666,2.469,1667,2.469,1668,1.474,1669,2.834,1670,1.474,1671,1.33,1672,1.474,1673,1.474,1674,1.33,1675,1.474,1676,2.469,1677,1.474,1678,1.474,1679,2.469,1680,1.474,1681,2.469,1682,2.049,1683,3.727,1684,1.474,1685,1.474,1686,3.186,1687,4.489,1688,6.031,1689,1.474,1690,1.474,1691,1.474,1692,3.186,1693,5.198,1694,4.489,1695,1.474,1696,1.474,1697,1.474,1698,1.474,1699,2.469,1700,1.474,1701,3.186,1702,4.052,1703,1.474,1704,1.474,1705,1.474,1706,3.186,1707,4.489,1708,1.474,1709,1.474,1710,1.474,1711,1.474,1712,2.469,1713,1.474,1714,2.469,1715,2.469,1716,2.469,1717,1.474,1718,1.474,1719,3.186,1720,5.198,1721,4.489,1722,1.474,1723,1.474,1724,1.474,1725,3.186,1726,4.489,1727,1.474,1728,1.474,1729,1.474,1730,1.474,1731,2.469,1732,1.474,1733,1.474,1734,3.186,1735,2.469,1736,1.474,1737,3.186,1738,5.198,1739,4.489,1740,1.474,1741,1.474,1742,1.474,1743,1.474,1744,2.469,1745,1.474,1746,1.474,1747,1.474,1748,2.469,1749,1.474,1750,1.474,1751,2.229,1752,1.474,1753,2.469,1754,3.727,1755,1.474,1756,1.474,1757,1.474,1758,4.489,1759,2.469,1760,1.474,1761,1.474,1762,2.469,1763,1.474,1764,1.474,1765,2.876,1766,2.229,1767,1.474,1768,1.474,1769,2.469,1770,1.474,1771,1.474,1772,2.469,1773,1.474,1774,1.474,1775,2.469,1776,1.474,1777,3.186,1778,4.489,1779,1.474,1780,1.474,1781,1.474,1782,1.474,1783,2.469,1784,2.469,1785,1.474,1786,1.474,1787,2.469,1788,1.474,1789,2.469,1790,2.469,1791,3.727,1792,3.727,1793,1.474,1794,1.474,1795,1.474,1796,1.474,1797,1.474,1798,2.229,1799,1.474,1800,1.474,1801,5.515,1802,1.474,1803,1.692,1804,1.692,1805,1.692,1806,1.692,1807,4.278,1808,1.692,1809,3.657,1810,1.692,1811,4.278,1812,1.692,1813,1.692,1814,1.692,1815,2.834,1816,3.186,1817,1.692,1818,2.469,1819,1.692,1820,2.834,1821,3.657,1822,3.657,1823,4.278,1824,1.692,1825,1.692,1826,1.692,1827,1.692,1828,2.834,1829,2.834,1830,1.692,1831,1.692,1832,3.657,1833,1.692,1834,2.834,1835,1.692,1836,1.692,1837,2.834,1838,1.474,1839,1.692,1840,1.692,1841,2.834,1842,1.692,1843,1.692,1844,1.692,1845,1.692,1846,1.692,1847,1.692,1848,1.692,1849,2.834,1850,1.692,1851,1.692,1852,4.764,1853,2.469,1854,3.657,1855,1.692,1856,5.001,1857,2.834,1858,3.657,1859,3.657,1860,5.473,1861,2.834,1862,2.834,1863,1.692,1864,1.692,1865,3.657,1866,1.692,1867,1.692,1868,1.692,1869,1.692,1870,1.692,1871,1.474,1872,1.692,1873,1.692,1874,1.692,1875,1.692,1876,1.692,1877,1.692,1878,1.692,1879,1.692,1880,1.692,1881,1.692,1882,1.692,1883,3.657,1884,2.834,1885,1.692,1886,1.692,1887,1.692,1888,1.692,1889,1.474,1890,1.692,1891,1.692,1892,1.692,1893,1.692,1894,1.692,1895,1.692,1896,1.474,1897,2.834,1898,2.834,1899,2.834,1900,2.834,1901,2.834,1902,1.692,1903,1.692,1904,1.692,1905,1.692]],["title/modules/OrganSelectorModule.html",[0,1.478,1906,2.917]],["body/modules/OrganSelectorModule.html",[2,2.054,3,2.464,7,0.014,10,2.654,11,2.212,12,1.78,13,0.167,14,0.209,15,0.146,16,0.126,33,0.406,35,2.654,36,0.392,46,0.209,71,2.391,78,0.106,81,0.009,82,0.011,83,0.009,362,2.985,363,2.985,364,3.111,365,2.391,522,3.44,523,2.299,552,4.146,553,3.456,1653,4.206,1654,4.206,1906,5.885,1907,5.069,1908,5.069,1909,5.069,1910,5.819,1911,5.819,1912,6.98,1913,5.819]],["title/interfaces/PanelData.html",[47,0.359,1056,2.542]],["body/interfaces/PanelData.html",[7,0.014,13,0.194,14,0.167,15,0.18,16,0.1,28,0.54,31,0.726,33,0.345,36,0.312,46,0.243,47,0.539,49,0.975,54,1.33,56,1.523,59,0.782,78,0.084,81,0.007,82,0.01,83,0.007,84,1.47,85,0.392,86,0.843,93,1.059,113,2.479,114,1.114,126,1.919,154,0.904,175,1.764,176,1.637,181,0.753,275,0.872,300,1.523,341,1.419,475,3.475,481,2.59,562,4.667,585,1.153,589,4.005,594,3.573,661,4.071,662,2.923,669,4.14,670,2.609,672,2.362,719,3.118,731,3.118,742,4.468,899,2.362,903,2.479,1002,2.755,1046,2.479,1047,3.353,1048,3.118,1049,3.647,1050,3.118,1051,3.603,1052,4.504,1053,3.353,1054,3.647,1055,5.302,1056,4.249,1057,3.118,1058,3.353,1059,4.762,1060,3.118,1061,3.353,1062,4.762,1063,3.647,1064,3.647,1065,2.923,1066,3.647,1067,3.647,1068,3.647,1069,3.647,1070,3.647,1071,3.647,1072,3.647,1073,3.647,1074,3.647,1075,3.647,1076,3.647,1077,4.762,1078,4.762,1079,3.647,1080,3.647,1081,3.647,1082,3.647,1083,3.647,1084,3.647,1085,3.647,1086,3.647,1087,3.647,1088,3.647,1089,3.647]],["title/interfaces/PluckUniqueOptions.html",[47,0.359,1914,2.917]],["body/interfaces/PluckUniqueOptions.html",[7,0.014,13,0.135,14,0.22,15,0.118,16,0.102,28,0.377,29,1.069,30,4.042,31,0.736,33,0.313,46,0.289,47,0.419,49,0.9,53,1.66,54,1.069,56,2.657,59,0.793,69,2.971,81,0.008,82,0.01,83,0.008,84,1.49,85,0.398,86,0.945,112,1.49,114,1.129,119,1.66,134,2.842,162,2.096,262,1.296,287,3.85,292,1.342,341,1.869,415,3.437,429,2.794,639,2.645,681,4.417,700,3.63,911,2.963,1000,4.563,1114,6.002,1116,6.317,1118,6.195,1146,3.162,1148,5.337,1209,4.805,1211,3.698,1914,5.85,1915,3.4,1916,3.4,1917,4.805,1918,5.913,1919,7.186,1920,6.111,1921,6.111,1922,6.111,1923,6.999,1924,4.703,1925,4.703,1926,4.805,1927,4.097,1928,4.097,1929,4.097,1930,4.097,1931,5.323,1932,6.938,1933,6.65,1934,6.65,1935,6.26,1936,5.323,1937,5.913,1938,4.703,1939,4.703,1940,4.703,1941,4.703,1942,4.703]],["title/interfaces/Segment.html",[47,0.359,934,2.712]],["body/interfaces/Segment.html",[7,0.014,12,1.452,13,0.094,14,0.117,15,0.082,16,0.071,27,0.529,28,0.448,31,0.961,33,0.243,36,0.219,46,0.171,47,0.423,49,0.83,54,1.306,58,3.129,59,1.186,68,1.675,69,2.307,78,0.102,81,0.01,82,0.008,83,0.005,84,1.033,85,0.595,86,0.856,97,1.194,102,1.027,154,1.09,164,2.988,165,1.504,178,0.997,180,1.948,181,0.529,262,0.898,267,4.943,270,2.192,271,3.526,274,1.453,275,0.892,277,1.394,280,2.128,289,3.991,290,2.849,291,1.66,300,2.707,305,1.07,306,1.194,308,1.194,310,1.453,311,1.453,313,1.24,314,1.394,315,1.394,326,1.834,329,3.421,339,2.416,340,1.516,341,1.88,423,1.837,451,3.109,513,1.24,585,0.81,595,2.629,620,2.99,644,2.192,774,3.631,885,1.937,887,2.192,890,4.045,897,2.192,899,3.129,900,2.99,909,2.357,910,2.357,911,3.526,912,5.781,913,3.431,914,2.563,915,2.563,916,5.781,917,2.563,919,2.563,925,5.36,926,2.563,927,2.563,928,3.732,929,2.563,933,2.99,934,4.943,935,2.563,937,2.563,938,6.168,939,4.4,940,3.732,941,4.132,943,2.357,944,2.563,945,2.357,946,2.563,953,2.357,954,3.431,956,2.563,957,2.563,958,2.357,959,2.563,960,5.36,962,2.357,963,4.4,964,2.357,966,2.357,967,2.357,968,2.192,969,2.357,970,3.732,971,3.651,972,2.357,973,2.357,974,3.431,975,2.99,976,2.99,977,2.563,978,2.563,979,3.732,980,2.563,981,3.732,982,2.563,983,2.563,984,2.054,985,3.732,986,2.563,987,4.4,988,2.357,989,2.563,990,2.563,991,3.732,992,2.563,993,2.563,994,3.732,995,2.563,996,2.357,997,3.732,998,3.732,999,3.732,1000,2.192,1001,2.563,1002,1.937,1003,2.563,1004,2.563,1005,2.563,1006,2.563,1007,2.563,1008,2.563,1009,2.563,1010,2.563,1011,2.563,1012,2.563,1013,2.563,1014,2.563,1015,2.563,1016,2.563,1017,2.563,1018,2.563,1019,2.192,1020,2.357,1021,2.192,1022,2.563,1023,2.563,1024,2.357,1025,2.357,1026,2.563,1027,2.357,1028,2.563,1029,1.937,1030,2.563,1031,2.563,1032,2.357,1033,2.357,1034,2.563,1035,2.563,1036,2.563,1037,2.563]],["title/components/SpatialSearchListComponent.html",[275,0.758,525,1.594]],["body/components/SpatialSearchListComponent.html",[7,0.014,13,0.154,14,0.109,15,0.076,16,0.159,19,1.044,24,1.406,26,1.289,27,1.079,28,0.578,29,0.939,31,0.929,33,0.155,36,0.204,46,0.162,47,0.401,49,0.748,53,2.096,54,1.038,59,0.512,62,1.331,68,1.589,78,0.121,81,0.005,82,0.007,83,0.005,85,0.61,86,0.627,102,1.718,134,2.951,150,2.638,154,1.157,165,2.287,181,1.03,245,1.247,262,1.831,268,3.34,269,4.197,272,4.293,273,1.622,274,1.353,275,1.009,276,3.568,277,1.298,280,2.041,281,3.019,290,1.199,292,1.81,300,0.996,301,3.022,305,2.563,306,1.649,308,1.649,310,2.007,311,2.007,312,1.199,313,2.412,314,1.926,315,2.296,328,3.742,329,2.189,332,4.695,341,1.94,358,1.247,366,1.247,423,0.996,448,1.154,449,2.007,450,1.475,451,1.247,452,1.475,453,1.412,455,1.199,461,2.674,465,1.353,466,1.712,504,1.475,505,1.779,506,1.247,507,2.887,508,1.475,509,1.475,510,1.475,511,1.247,512,1.475,513,1.154,514,1.475,515,1.247,516,1.475,517,1.111,518,1.475,519,1.247,520,1.353,521,1.475,522,1.247,523,1.199,524,1.475,525,2.346,526,1.475,527,1.247,528,1.412,529,1.475,530,1.475,531,1.247,532,1.298,533,1.475,534,1.247,535,1.412,536,1.247,537,1.412,538,1.199,539,1.412,540,1.475,561,2.674,563,3.255,566,2.532,569,1.545,585,1.476,593,1.622,594,1.353,595,2.54,596,2.04,597,1.803,598,1.803,599,3.027,615,2.04,622,2.532,623,2.094,624,1.912,625,1.707,626,3.34,629,5.526,649,1.803,650,2.386,665,3.173,700,2.674,975,3.382,976,2.837,1065,2.837,1202,2.837,1223,2.644,1305,3.027,1388,2.194,1389,2.194,1400,2.194,1401,2.386,1442,3.922,1486,4.919,1605,5.438,1633,4.852,1639,2.644,1943,5.309,1944,5.309,1945,2.386,1946,3.54,1947,4.676,1948,3.922,1949,4.503,1950,4.503,1951,4.676,1952,4.676,1953,3.035,1954,3.035,1955,3.035,1956,3.035,1957,3.922,1958,4.503,1959,3.922,1960,3.035,1961,3.922,1962,3.54,1963,3.54,1964,3.922,1965,3.035,1966,3.922,1967,3.035,1968,2.386,1969,2.194,1970,4.676,1971,3.922,1972,5.174,1973,3.922,1974,2.644,1975,2.644,1976,2.644,1977,2.644,1978,2.644,1979,2.644,1980,4.503,1981,3.035,1982,3.035,1983,3.035,1984,3.035]],["title/interfaces/SpatialSearchListItem.html",[47,0.359,1969,2.917]],["body/interfaces/SpatialSearchListItem.html",[7,0.014,13,0.129,14,0.162,15,0.113,16,0.097,28,0.476,31,0.704,33,0.23,36,0.303,46,0.214,47,0.592,49,0.833,53,2.493,54,1.235,59,0.758,68,1.588,78,0.108,81,0.007,82,0.01,83,0.007,84,1.425,85,0.621,86,0.826,102,1.285,134,2.761,150,2.617,154,1.294,165,2.105,181,1.079,262,2.119,268,3.338,269,3.526,272,4.291,273,3.172,274,2.005,275,1.116,276,3.736,277,1.924,280,2.526,281,3.736,301,2.858,305,1.477,306,1.648,308,1.648,310,2.005,311,2.005,313,1.711,314,1.924,315,1.924,328,3.74,329,2.187,332,5.063,341,2.246,461,2.672,525,1.777,569,3.022,585,1.475,595,1.924,665,3.172,700,2.672,975,2.835,976,2.835,1065,2.835,1202,2.835,1305,3.024,1486,4.918,1605,5.494,1633,4.936,1943,3.252,1944,3.252,1945,3.537,1946,3.537,1947,3.919,1948,3.919,1951,3.919,1952,3.919,1957,3.919,1959,3.919,1961,3.919,1962,3.537,1963,3.537,1964,3.919,1966,3.919,1968,4.667,1969,4.291,1970,3.919,1971,5.171,1972,6.153,1973,5.171,1974,3.919,1975,3.919,1976,3.919,1977,3.919,1978,3.919,1979,3.919]],["title/modules/SpatialSearchListModule.html",[0,1.478,1985,2.917]],["body/modules/SpatialSearchListModule.html",[2,2.007,3,2.429,7,0.014,10,2.617,11,2.162,12,1.739,13,0.163,14,0.205,15,0.143,16,0.123,33,0.415,35,2.617,36,0.383,46,0.205,71,2.336,78,0.104,81,0.009,82,0.011,83,0.009,150,1.935,301,2.711,362,2.944,363,2.944,364,3.068,365,2.336,525,3.299,552,4.089,553,3.377,1943,4.11,1944,4.11,1985,5.857,1986,4.953,1987,4.953,1988,4.953,1989,5.686,1990,5.996,1991,4.953,1992,6.883,1993,5.686,1994,6.883,1995,5.686,1996,5.686]],["title/interfaces/StackOp.html",[47,0.359,941,2.712]],["body/interfaces/StackOp.html",[7,0.014,12,1.453,13,0.094,14,0.117,15,0.082,16,0.071,27,0.53,28,0.449,31,0.962,33,0.243,36,0.22,46,0.171,47,0.423,49,0.66,54,1.306,58,2.418,59,1.186,68,1.152,69,2.309,78,0.102,81,0.01,82,0.008,83,0.005,84,1.034,85,0.64,86,0.856,97,1.195,102,1.028,154,1.091,164,2.99,165,1.948,178,0.998,180,1.948,181,0.53,262,0.899,267,5.089,270,2.194,271,3.528,274,1.454,275,0.893,277,1.396,280,2.129,289,4.163,290,2.85,291,1.661,300,2.669,305,1.071,306,1.195,308,1.195,310,1.454,311,1.454,313,1.241,314,1.396,315,1.396,326,1.835,329,3.507,339,2.418,340,1.518,341,1.881,423,1.838,451,2.802,513,1.241,585,0.811,595,2.395,620,2.992,644,2.194,774,3.177,885,1.938,887,2.194,890,4.047,897,2.194,899,3.131,900,2.992,909,2.359,910,2.359,911,2.992,912,5.782,913,3.433,914,2.566,915,2.566,916,5.874,917,2.566,919,2.566,925,5.534,926,2.566,927,2.566,928,4.402,929,2.566,933,2.992,934,4.732,935,2.566,937,2.566,938,6.208,939,4.402,940,4.402,941,4.393,943,2.359,944,2.566,945,2.359,946,2.566,953,2.359,954,3.433,956,2.566,957,2.566,958,2.359,959,2.566,960,5.362,962,2.359,963,4.835,964,2.359,966,2.359,967,2.359,968,2.194,969,2.359,970,2.566,971,2.821,972,3.433,973,3.433,974,4.724,975,3.528,976,4.117,977,2.566,978,2.566,979,3.734,980,2.566,981,3.734,982,2.566,983,2.566,984,2.056,985,3.734,986,2.566,987,4.402,988,2.359,989,2.566,990,2.566,991,3.734,992,2.566,993,2.566,994,3.734,995,2.566,996,2.359,997,3.734,998,3.734,999,3.734,1000,2.194,1001,2.566,1002,1.938,1003,2.566,1004,2.566,1005,2.566,1006,2.566,1007,2.566,1008,2.566,1009,2.566,1010,2.566,1011,2.566,1012,2.566,1013,2.566,1014,2.566,1015,2.566,1016,2.566,1017,2.566,1018,2.566,1019,2.194,1020,2.359,1021,2.194,1022,2.566,1023,2.566,1024,2.359,1025,2.359,1026,2.566,1027,2.359,1028,2.566,1029,1.938,1030,2.566,1031,2.566,1032,2.359,1033,2.359,1034,2.566,1035,2.566,1036,2.566,1037,2.566]],["title/components/StoreDebugComponent.html",[275,0.758,527,1.658]],["body/components/StoreDebugComponent.html",[7,0.014,13,0.166,14,0.124,15,0.087,16,0.159,19,1.146,24,1.394,26,0.828,27,1.21,28,0.557,29,0.603,31,0.773,33,0.295,36,0.232,46,0.208,49,0.583,54,1.103,58,2.94,59,0.581,61,3.246,62,1.64,69,3.067,78,0.127,81,0.006,82,0.008,83,0.006,85,0.291,86,0.688,102,1.747,114,0.828,126,2.472,134,1.603,150,1.173,154,0.962,176,2.226,178,1.511,179,1.132,180,2.202,181,0.938,245,1.416,262,1.362,274,1.536,275,1.439,277,1.474,290,1.362,292,1.799,300,1.132,301,1.262,305,2.613,306,1.809,308,1.809,310,2.202,311,2.202,312,1.362,313,2.539,314,2.113,315,2.47,326,2.779,339,2.515,340,2.298,341,1.511,358,1.416,366,1.416,423,1.132,448,1.311,449,2.202,450,1.676,451,1.416,452,1.676,453,1.603,455,1.362,465,1.536,466,1.879,496,1.755,504,1.676,505,1.952,506,1.416,507,3.067,508,1.676,509,1.676,510,1.676,511,1.416,512,1.676,513,1.311,514,1.676,515,1.416,516,1.676,517,1.262,518,1.676,519,1.416,520,1.536,521,1.676,522,1.416,523,1.362,524,1.676,525,1.362,526,1.676,527,2.592,528,3.859,529,1.676,530,1.676,531,1.416,532,1.474,533,1.676,534,1.416,535,1.603,536,1.416,537,1.603,538,1.362,539,1.603,540,1.676,566,2.779,585,1.228,593,1.842,595,1.474,596,2.317,619,2.71,665,2.64,692,3.113,814,3.747,824,3.431,899,1.755,964,3.572,1112,3.113,1175,3.572,1183,3.572,1265,4.811,1274,3.431,1284,2.492,1340,3.113,1486,3.113,1997,5.292,1998,5.292,1999,2.71,2000,4.304,2001,7.321,2002,5.775,2003,4.941,2004,4.941,2005,6.308,2006,6.308,2007,4.941,2008,4.96,2009,4.941,2010,4.941,2011,4.941,2012,3.447,2013,4.941,2014,3.447,2015,4.941,2016,3.447,2017,3.447,2018,5.031,2019,5.817,2020,3.003,2021,4.304,2022,3.447,2023,3.447,2024,3.447,2025,3.447,2026,3.447,2027,4.941,2028,3.447,2029,3.447,2030,3.447,2031,3.447,2032,3.447,2033,3.447,2034,4.941,2035,4.941,2036,4.941,2037,4.304]],["title/modules/StoreDebugModule.html",[0,1.478,2038,2.917]],["body/modules/StoreDebugModule.html",[2,2.099,3,2.496,7,0.013,10,2.689,11,2.262,12,1.819,13,0.171,14,0.214,15,0.15,16,0.129,33,0.386,35,2.689,36,0.4,46,0.214,71,2.444,78,0.108,81,0.01,82,0.011,83,0.01,362,3.025,363,3.025,364,3.152,365,2.444,527,3.449,528,2.767,1997,4.3,1998,4.3,2038,5.91,2039,5.182,2040,5.182,2041,5.182,2042,5.949,2043,5.949]],["title/components/TextSearchComponent.html",[275,0.758,312,1.594]],["body/components/TextSearchComponent.html",[7,0.014,13,0.139,14,0.092,15,0.064,16,0.165,19,0.918,24,1.476,26,1.413,27,1.162,28,0.59,29,1.172,30,3.061,31,0.92,33,0.318,36,0.172,46,0.174,47,0.228,49,0.886,54,0.692,56,1.588,59,0.667,62,1.627,63,1.923,68,0.903,72,3.048,78,0.113,81,0.004,82,0.006,83,0.004,85,0.216,86,0.551,102,1.675,112,1.532,114,0.614,115,1.051,116,1.14,117,1.519,119,0.903,137,1.439,150,0.871,154,1.06,162,1.14,164,1.244,165,2.331,170,1.519,175,0.973,176,0.903,179,1.299,180,1.724,181,1.179,245,1.625,258,4.254,259,5.135,260,5.135,261,1.849,262,1.622,263,1.849,264,2.228,265,4.845,266,5.959,267,1.72,268,2.225,269,2.873,270,1.72,271,1.612,272,2.859,273,2.584,274,1.14,275,1.106,276,2.72,277,1.094,278,1.439,279,2.859,280,2.366,281,2.72,282,4.213,283,1.849,284,4.627,285,1.849,286,2.659,287,3.048,288,4.213,289,1.367,290,1.563,291,1.302,292,1.912,293,4.892,294,5.908,295,2.011,296,2.011,297,1.849,298,1.849,299,1.612,300,2.657,301,2.97,302,5.85,303,3.446,304,3.11,305,2.488,306,1.449,307,3.446,308,1.449,309,4.213,310,1.763,311,1.763,312,2.15,313,2.238,314,1.692,315,2.069,316,3.956,317,2.228,318,2.228,319,2.228,320,2.228,321,1.244,322,3.446,323,5.652,324,3.446,325,3.446,326,3.5,327,5.127,328,3.921,329,1.923,330,4.213,331,5.409,332,3.048,333,4.213,334,5.409,335,5.127,336,4.213,337,3.446,338,3.446,339,2.014,340,1.84,341,1.21,342,4.213,343,2.228,344,2.228,345,3.446,346,2.859,347,3.446,348,3.11,349,2.873,350,3.446,351,2.35,352,2.228,353,2.228,358,1.051,366,1.051,423,1.299,448,0.973,449,1.763,450,1.244,451,1.051,452,1.244,453,1.19,455,1.011,465,1.14,466,1.504,504,1.244,505,1.563,506,1.051,507,2.646,508,1.244,509,1.244,510,1.244,511,1.051,512,1.244,513,0.973,514,1.244,515,1.051,516,1.244,517,0.937,518,1.244,519,1.051,520,1.14,521,1.244,522,1.051,523,1.011,524,1.244,525,1.011,526,1.244,527,1.051,528,1.19,529,1.244,530,1.244,531,1.051,532,1.094,533,1.244,534,1.051,535,1.19,536,1.051,537,1.19,538,1.011,539,1.19,540,1.244,561,2.35,563,2.859,566,2.225,585,0.636,593,1.367,595,1.094,596,1.72,597,1.519,598,1.519,600,1.519,603,2.859,606,1.849,622,1.439,623,1.19,624,1.612,626,1.439,631,1.849,634,4.254,639,2.225,649,2.35,1112,2.492,1183,1.849,1388,1.849,1389,1.849,1391,2.228,1400,1.849,1476,4.498,1633,1.72,1637,3.446,1856,2.228,1962,2.011,1963,2.011,2044,3.956,2045,3.956,2046,3.956,2047,2.558,2048,2.558,2049,2.558,2050,2.558,2051,2.558,2052,3.956,2053,2.558,2054,2.558,2055,3.956,2056,2.558,2057,2.558,2058,2.558,2059,2.558,2060,2.558,2061,2.228,2062,2.558,2063,2.558,2064,2.558,2065,2.558,2066,2.558,2067,2.558,2068,2.558,2069,2.558,2070,2.558]],["title/modules/TextSearchModule.html",[0,1.478,2071,2.917]],["body/modules/TextSearchModule.html",[2,1.889,3,2.341,7,0.014,10,2.522,11,2.035,12,1.637,13,0.154,14,0.193,15,0.135,16,0.116,33,0.414,35,2.522,36,0.36,46,0.193,71,2.725,78,0.097,81,0.009,82,0.011,83,0.009,259,3.597,260,3.597,283,3.868,290,2.114,291,2.724,300,1.757,312,3.274,362,2.837,363,2.837,364,2.956,365,2.199,969,3.868,1039,5.306,1476,3.868,2071,5.962,2072,4.662,2073,5.351,2074,4.662,2075,4.662,2076,6.97,2077,6.97,2078,5.351,2079,6.633,2080,6.633,2081,6.633,2082,5.351,2083,6.633,2084,5.351,2085,6.633,2086,5.351,2087,5.351,2088,5.351,2089,5.351,2090,5.351]],["title/components/TrackingPopupComponent.html",[275,0.758,531,1.658]],["body/components/TrackingPopupComponent.html",[0,1.266,6,3.646,7,0.014,12,2.045,13,0.166,14,0.124,15,0.087,16,0.164,19,1.148,24,1.453,26,1.389,27,1.13,28,0.574,29,1.011,31,0.905,33,0.296,36,0.233,46,0.124,49,0.408,53,2.359,54,0.604,59,0.975,62,1.109,68,2.042,74,1.541,78,0.105,81,0.006,82,0.008,83,0.006,85,0.419,86,0.689,102,1.754,126,2.118,132,2.178,150,1.176,168,3.119,179,1.135,181,1.026,245,2.034,274,1.541,275,1.087,277,1.478,278,1.944,290,1.366,292,1.412,300,1.135,301,1.266,302,2.718,305,2.614,306,1.813,308,1.813,310,2.207,311,2.207,312,1.366,313,1.882,314,2.117,315,2.474,358,1.42,366,1.42,423,2.283,448,1.314,449,2.207,450,1.68,451,1.42,452,1.68,453,1.608,455,1.366,458,3.888,465,1.541,466,2.199,504,1.68,505,1.956,506,1.42,507,3.071,508,1.68,509,1.68,510,1.68,511,1.42,512,1.68,513,1.314,514,1.68,515,1.42,516,1.68,517,1.266,518,1.68,519,1.42,520,1.541,521,1.68,522,1.42,523,1.366,524,1.68,525,1.366,526,1.68,527,1.42,528,1.608,529,1.68,530,1.68,531,2.595,532,3.31,533,1.68,534,1.42,535,1.608,536,1.42,537,1.608,538,1.366,539,1.608,540,1.68,566,2.784,585,1.57,593,1.847,594,1.541,595,2.117,597,2.053,598,2.941,613,3.579,622,2.784,623,2.303,625,2.784,646,3.579,649,2.941,651,2.324,694,2.324,710,5.028,812,3.119,826,3.579,827,3.328,971,3.436,1112,3.119,1226,3.328,1252,3.579,1253,3.328,1255,3.98,1256,4.548,1295,3.893,1347,4.181,1393,2.718,1529,4.313,1550,3.011,1551,3.011,1552,3.011,1553,2.718,1565,4.832,1633,2.324,1896,5.823,2091,5.95,2092,5.95,2093,3.011,2094,5.784,2095,4.951,2096,6.316,2097,4.951,2098,4.951,2099,5.864,2100,4.951,2101,4.951,2102,4.951,2103,3.457,2104,4.951,2105,7.568,2106,3.457,2107,4.951,2108,3.457,2109,3.457,2110,4.951,2111,3.457,2112,3.457,2113,3.457,2114,3.457,2115,3.457,2116,3.457,2117,3.457,2118,3.457,2119,3.457,2120,4.951,2121,3.457,2122,3.457,2123,3.457,2124,3.457,2125,3.457,2126,4.313,2127,3.893,2128,4.313,2129,4.951,2130,3.457,2131,3.457,2132,4.951,2133,3.457,2134,3.457,2135,3.457,2136,3.457,2137,3.457,2138,4.951,2139,5.784,2140,3.457,2141,3.457,2142,3.457,2143,3.457,2144,3.457,2145,3.457,2146,2.718,2147,3.457,2148,3.457,2149,3.457,2150,3.457,2151,3.457]],["title/modules/TrackingPopupModule.html",[0,1.478,2152,2.917]],["body/modules/TrackingPopupModule.html",[2,2.073,3,2.477,7,0.014,10,2.669,11,2.233,12,1.797,13,0.169,14,0.211,15,0.148,16,0.127,33,0.398,35,2.669,36,0.395,46,0.211,71,2.413,78,0.107,81,0.009,82,0.011,83,0.009,362,3.002,363,3.002,364,3.129,365,2.413,531,3.444,532,2.512,1990,6.115,1991,5.117,2091,4.618,2092,4.618,2152,5.896,2153,5.117,2154,5.117,2155,5.117,2156,5.874,2157,5.874]],["title/injectables/TrackingState.html",[93,0.706,2158,2.917]],["body/injectables/TrackingState.html",[7,0.014,13,0.151,14,0.19,15,0.133,16,0.142,19,1.525,24,1.028,26,1.267,27,1.068,28,0.423,29,0.922,31,0.825,33,0.384,36,0.355,40,2.686,41,2.565,46,0.27,47,0.47,53,2.722,54,1.311,56,1.732,59,0.889,62,1.473,63,2.565,74,2.351,76,2.623,78,0.096,81,0.008,82,0.011,83,0.008,85,0.446,93,1.15,231,2.084,245,2.167,321,2.565,371,3.196,493,4.419,496,2.686,532,2.256,585,1.634,665,3.513,693,3.324,1057,3.546,1105,5.631,1141,5.169,1142,4.148,1143,4.148,1273,3.324,1506,3.813,2099,6.065,2158,4.752,2159,3.546,2160,6.574,2161,5.727,2162,6.239,2163,5.275,2164,3.813,2165,3.813,2166,4.752,2167,4.814,2168,4.596,2169,4.596,2170,5.727,2171,4.596,2172,4.596,2173,4.596,2174,4.596,2175,4.148,2176,4.596,2177,4.596,2178,4.596]],["title/interfaces/TrackingStateModel.html",[47,0.359,2164,2.917]],["body/interfaces/TrackingStateModel.html",[7,0.014,13,0.154,14,0.193,15,0.135,16,0.116,27,0.873,28,0.431,29,1.163,33,0.386,36,0.362,40,2.736,41,2.613,46,0.271,47,0.479,53,2.737,54,1.32,56,1.764,59,0.906,62,1.49,63,2.613,74,2.395,76,2.645,78,0.098,81,0.009,82,0.011,83,0.009,84,1.703,85,0.454,86,0.926,93,1.163,321,2.613,371,2.613,493,4.47,496,2.736,532,2.298,585,1.336,665,3.554,693,3.386,1057,3.613,1105,5.229,1141,5.229,1142,4.226,1143,4.226,1273,3.386,1506,3.885,2099,6.297,2158,3.885,2159,3.613,2161,4.682,2162,5.793,2164,4.807,2165,3.885,2166,4.807,2167,4.855,2168,4.682,2169,4.682,2170,5.793,2171,4.682,2172,4.682,2173,4.682,2174,4.682,2175,4.226,2176,4.682,2177,4.682,2178,4.682]],["title/injectables/WorkerCCFDatabaseDataSourceService.html",[93,0.706,438,2.542]],["body/injectables/WorkerCCFDatabaseDataSourceService.html",[7,0.014,13,0.099,14,0.227,15,0.087,16,0.107,19,1.149,24,1.566,26,1.875,27,1.229,28,0.626,29,1.324,31,1.246,33,0.367,36,0.233,46,0.178,47,0.308,49,0.584,54,1.012,59,0.975,76,1.267,78,0.105,81,0.006,82,0.008,83,0.006,85,0.293,86,0.69,88,1.884,93,1.105,97,2.968,102,0.749,103,3.266,112,2.558,114,0.831,115,1.421,116,1.542,119,1.221,122,2.304,123,1.849,124,1.849,126,1.096,151,1.682,152,3.382,154,0.674,175,1.316,176,1.221,180,1.834,181,1.13,185,2.692,189,2.692,191,2.692,193,2.692,196,2.692,198,2.692,201,1.609,203,1.609,205,1.609,207,1.609,209,1.609,212,1.609,214,1.609,216,1.609,231,1.367,232,2.647,233,2.647,234,2.647,235,2.647,236,2.647,237,2.647,242,3.236,349,3.438,351,2.943,368,4.514,369,3.33,370,2.326,371,3.251,372,2.946,373,3.255,374,4.183,375,4.045,376,3.718,377,3.895,378,2.943,379,2.326,381,2.72,382,4.701,383,5.595,385,4.567,386,4.567,388,2.18,389,3.255,390,2.943,391,5.381,392,4.172,393,2.326,394,2.326,395,2.326,396,2.326,397,2.326,398,2.326,399,2.326,400,2.326,401,2.326,402,2.326,403,2.326,404,2.326,405,2.326,406,2.72,407,3.581,408,3.581,409,2.501,410,3.581,411,2.501,412,2.326,413,3.581,414,3.122,415,1.946,416,1.849,417,2.326,418,2.326,419,2.501,420,2.326,421,2.501,422,2.501,423,1.136,424,2.501,425,2.501,426,2.501,427,2.501,428,2.501,429,2.055,430,3.581,431,2.501,432,2.326,433,2.326,434,2.501,435,2.18,436,2.501,437,3.33,438,3.122,439,3.581,440,3.89,441,2.501,442,2.501,443,2.501,444,2.501,446,3.014,447,3.014,2179,4.954,2180,3.46,2181,3.46]],["title/components/XYZPositionComponent.html",[275,0.758,534,1.658]],["body/components/XYZPositionComponent.html",[7,0.014,13,0.178,14,0.142,15,0.099,16,0.161,24,1.414,27,1.179,28,0.582,33,0.202,36,0.266,46,0.142,49,0.641,62,1.626,69,2.642,78,0.132,81,0.006,82,0.009,83,0.006,85,0.334,86,0.756,102,1.774,150,1.343,165,2.225,181,1.179,245,1.622,262,1.088,274,1.759,275,1.32,277,1.688,280,2.546,290,1.559,292,2.07,300,1.296,301,1.445,305,2.662,306,1.99,308,1.99,310,2.422,311,2.422,312,1.559,313,2.67,314,2.324,315,2.658,358,1.622,366,1.622,423,2.383,448,1.501,449,2.422,450,1.919,451,1.622,452,1.919,453,1.836,455,1.559,465,1.759,466,2.066,504,1.919,505,2.147,506,1.622,507,3.255,508,1.919,509,1.919,510,1.919,511,1.622,512,1.919,513,1.501,514,1.919,515,1.622,516,1.919,517,1.445,518,1.919,519,1.622,520,1.759,521,1.919,522,1.622,523,1.559,524,1.919,525,1.559,526,1.919,527,1.622,528,1.836,529,1.919,530,1.919,531,1.622,532,1.688,533,1.919,534,2.751,535,3.685,536,3.345,537,1.836,538,1.559,539,1.836,540,1.919,561,3.228,566,3.056,593,2.109,595,1.688,615,3.653,616,2.853,622,3.056,625,2.22,651,2.653,1340,3.424,1401,3.103,1463,6.177,1853,3.438,2146,6.177,2182,5.846,2183,5.846,2184,3.438,2185,6.844,2186,6.215,2187,5.434,2188,6.117,2189,3.947,2190,3.947,2191,3.947,2192,5.434,2193,4.734,2194,4.734,2195,3.947,2196,7.258,2197,3.947,2198,3.947]],["title/modules/XYZPositionModule.html",[0,1.478,2199,2.917]],["body/modules/XYZPositionModule.html",[2,2.099,3,2.496,7,0.013,10,2.689,11,2.262,12,1.819,13,0.171,14,0.214,15,0.15,16,0.129,33,0.386,35,2.689,36,0.4,46,0.214,71,2.444,78,0.108,81,0.01,82,0.011,83,0.01,362,3.025,363,3.025,364,3.152,365,2.444,534,3.449,535,2.767,2182,4.677,2183,4.677,2199,5.91,2200,5.182,2201,5.182,2202,5.182,2203,5.949,2204,5.949]],["title/interfaces/XYZTriplet.html",[47,0.359,2205,3.172]],["body/interfaces/XYZTriplet.html",[7,0.014,10,2.386,13,0.098,14,0.123,15,0.086,16,0.074,27,0.554,28,0.46,33,0.294,36,0.229,46,0.123,47,0.304,49,0.677,53,1.73,54,1.163,59,1.23,62,1.598,68,2.624,74,1.519,78,0.104,81,0.005,82,0.008,83,0.005,84,1.08,85,0.288,86,0.682,100,3.195,102,1.242,114,0.819,134,3.458,154,1.389,162,2.185,165,2.503,178,1.043,180,2.446,181,1.158,268,1.917,275,1.079,276,4.012,277,1.458,280,2.827,281,4.012,305,1.119,306,1.249,308,1.249,313,1.296,314,1.458,315,1.458,340,1.586,349,2.025,351,2.025,358,1.401,359,2.68,360,2.68,366,3.054,414,2.148,423,2.477,433,2.292,585,1.652,623,1.586,626,1.917,649,2.025,744,2.148,814,2.025,824,2.912,1033,2.464,1061,2.464,1241,2.68,1265,2.292,1274,2.912,1293,2.025,1340,2.148,1463,5.228,1565,4.149,1667,4.27,1668,2.97,1682,3.543,1838,2.97,2008,2.68,2146,4.935,2185,5.792,2205,5.443,2206,2.97,2207,7.434,2208,3.409,2209,3.409,2210,5.608,2211,2.97,2212,3.409,2213,2.97,2214,3.409,2215,3.409,2216,5,2217,4.902,2218,3.409,2219,3.409,2220,4.902,2221,4.902,2222,3.409,2223,3.409,2224,3.409,2225,4.902,2226,3.409,2227,3.409,2228,4.902,2229,3.409,2230,3.409,2231,4.902,2232,4.902,2233,3.409,2234,3.409,2235,4.902,2236,3.409,2237,3.409,2238,4.902,2239,4.902,2240,3.409,2241,3.409,2242,3.409,2243,3.409,2244,3.409,2245,3.409,2246,3.409,2247,4.902,2248,4.902,2249,3.409,2250,4.902,2251,3.409,2252,3.409,2253,3.409,2254,3.409,2255,3.409,2256,3.409,2257,3.409,2258,3.409,2259,3.409,2260,3.409,2261,3.409,2262,3.409,2263,3.409,2264,3.409,2265,3.409,2266,3.409,2267,3.409,2268,2.97,2269,4.27,2270,3.409,2271,4.902,2272,3.409,2273,4.902,2274,3.409,2275,4.902,2276,5.74,2277,3.409,2278,3.409,2279,3.409,2280,3.409,2281,3.409,2282,3.409,2283,3.409,2284,3.409,2285,4.902,2286,3.409,2287,3.409,2288,4.902,2289,3.409,2290,4.902,2291,3.409,2292,3.409,2293,3.409,2294,3.409,2295,3.409,2296,3.409,2297,3.409,2298,3.409,2299,3.409,2300,3.409,2301,3.409,2302,3.409,2303,3.409,2304,4.902,2305,3.409,2306,3.409,2307,3.409,2308,3.409,2309,3.409,2310,3.409,2311,3.409,2312,3.409,2313,3.409,2314,3.409,2315,3.409,2316,3.409,2317,4.902,2318,3.409,2319,3.409,2320,3.409,2321,3.409]],["title/changelog.html",[2322,2.645,2323,2.432,2324,2.645]],["body/changelog.html",[3,1.467,7,0.01,13,0.154,15,0.041,18,0.961,24,0.315,28,0.13,29,0.283,30,1.535,40,0.823,41,0.786,47,0.501,68,1.467,81,0.003,82,0.004,83,0.009,84,0.512,86,0.225,97,1.522,102,1.677,103,2.069,110,1.019,117,0.961,126,2.336,132,1.019,139,1.834,141,1.087,145,1.621,146,1.719,149,1.087,150,1.415,151,0.786,152,0.786,154,1.214,159,1.019,165,0.512,176,0.571,182,3.733,183,0.91,265,1.972,268,0.91,271,3.173,273,1.458,275,0.781,292,0.461,299,3.376,301,2.506,305,0.896,316,1.087,326,2.611,329,2.021,331,2.145,332,1.719,334,1.272,346,1.169,366,2.408,414,2.619,432,1.834,449,1.216,451,0.664,453,0.752,458,1.834,459,1.621,460,1.019,462,2.102,463,1.169,465,1.853,481,1.514,487,2.832,495,1.409,505,0.639,520,0.721,523,2.947,536,0.664,570,5.295,571,5.449,575,4.904,579,1.409,584,1.087,593,0.864,595,1.986,596,2.379,600,0.961,602,1.719,613,3.005,620,1.019,623,0.752,635,2.377,640,3.083,642,1.409,646,1.169,683,2.558,689,1.169,694,1.834,696,4.236,700,1.621,701,4.427,708,5.219,710,1.169,739,1.019,887,1.087,903,1.458,911,1.019,933,1.019,943,1.169,952,1.272,958,2.558,967,1.972,971,0.961,973,1.169,974,6.001,976,1.719,984,2.23,988,1.169,1002,0.961,1019,2.379,1020,1.972,1021,1.087,1027,1.169,1029,1.621,1048,1.834,1051,2.69,1052,1.019,1053,1.169,1058,1.972,1065,2.23,1139,3.121,1173,2.377,1175,1.169,1178,2.377,1179,4.044,1195,1.409,1197,1.272,1202,1.019,1226,3.602,1229,1.272,1233,1.409,1238,1.272,1242,1.972,1243,4.386,1244,1.972,1245,1.169,1246,1.409,1247,1.409,1255,1.719,1293,4.116,1305,3.385,1310,1.409,1340,1.019,1347,1.169,1356,1.272,1360,3.268,1361,1.272,1370,1.272,1395,1.272,1449,1.272,1458,1.409,1474,1.409,1476,1.169,1477,4.386,1486,1.719,1518,1.409,1553,1.272,1570,1.409,1591,3.083,1605,1.087,1607,6.379,1621,2.377,1632,3.621,1638,1.409,1640,1.409,1659,2.145,1660,1.409,1662,1.409,1663,2.377,1664,5.304,1665,1.409,1671,1.272,1702,2.783,1751,1.272,1765,1.272,1766,1.272,1801,2.377,1802,2.377,1816,3.083,1818,3.083,1871,4.668,1889,1.409,1946,1.272,1968,2.145,2000,1.409,2008,3.959,2037,1.409,2127,1.272,2128,1.409,2175,1.272,2188,1.409,2193,4.904,2194,3.621,2210,4.9,2211,5.961,2213,3.621,2216,5.105,2268,3.083,2269,1.409,2323,2.558,2324,2.145,2325,3.083,2326,3.083,2327,3.621,2328,2.729,2329,2.729,2330,5.035,2331,4.904,2332,1.617,2333,4.643,2334,6.519,2335,1.617,2336,2.729,2337,4.157,2338,2.377,2339,3.539,2340,1.617,2341,2.729,2342,1.617,2343,6.519,2344,1.617,2345,2.783,2346,2.729,2347,1.617,2348,2.377,2349,2.377,2350,2.377,2351,1.617,2352,1.617,2353,1.617,2354,2.729,2355,6.232,2356,1.617,2357,2.377,2358,1.617,2359,1.617,2360,5.105,2361,2.729,2362,4.643,2363,3.539,2364,1.617,2365,2.729,2366,2.729,2367,4.764,2368,1.617,2369,1.617,2370,1.617,2371,3.539,2372,2.729,2373,3.539,2374,3.539,2375,2.729,2376,1.617,2377,2.729,2378,2.729,2379,5.359,2380,5.035,2381,2.729,2382,1.617,2383,1.617,2384,4.157,2385,1.617,2386,1.617,2387,2.729,2388,3.539,2389,1.617,2390,2.729,2391,2.729,2392,1.617,2393,1.617,2394,1.617,2395,3.539,2396,3.083,2397,1.617,2398,1.617,2399,1.617,2400,6.232,2401,2.729,2402,4.643,2403,1.409,2404,2.729,2405,5.035,2406,2.729,2407,1.617,2408,1.617,2409,1.617,2410,2.729,2411,1.617,2412,5.359,2413,1.617,2414,2.729,2415,1.617,2416,4.157,2417,6.638,2418,2.729,2419,3.539,2420,1.617,2421,1.617,2422,1.617,2423,1.617,2424,1.617,2425,1.409,2426,1.617,2427,2.729,2428,1.409,2429,1.617,2430,2.729,2431,4.157,2432,4.157,2433,1.617,2434,3.539,2435,1.617,2436,1.617,2437,2.729,2438,1.617,2439,1.617,2440,4.044,2441,3.083,2442,1.617,2443,4.044,2444,1.617,2445,3.539,2446,4.904,2447,6.519,2448,1.617,2449,1.617,2450,2.729,2451,3.083,2452,1.617,2453,1.617,2454,1.617,2455,4.643,2456,1.617,2457,1.617,2458,1.617,2459,3.539,2460,1.617,2461,2.377,2462,2.377,2463,5.359,2464,1.617,2465,4.904,2466,1.617,2467,1.617,2468,1.617,2469,1.617,2470,1.617,2471,1.617,2472,4.044,2473,4.044,2474,1.617,2475,2.729,2476,2.729,2477,2.729,2478,2.729,2479,2.729,2480,1.617,2481,1.617,2482,1.617,2483,1.617,2484,3.083,2485,2.729,2486,2.729,2487,2.729,2488,2.729,2489,2.729,2490,2.377,2491,1.617,2492,1.617,2493,1.617,2494,2.729,2495,1.617,2496,1.617,2497,2.377,2498,1.617,2499,3.539,2500,2.729,2501,5.035,2502,2.377,2503,4.157,2504,1.617,2505,1.617,2506,1.617,2507,1.617,2508,2.729,2509,1.617,2510,1.617,2511,2.729,2512,1.617,2513,2.729,2514,1.617,2515,1.409,2516,1.617,2517,1.617,2518,1.617,2519,1.617,2520,1.617,2521,1.617,2522,1.617,2523,1.617,2524,1.617,2525,1.617,2526,1.617,2527,1.617,2528,1.617,2529,2.729,2530,1.617,2531,5.035,2532,1.617,2533,1.617,2534,3.539,2535,3.539,2536,2.377,2537,1.409,2538,1.617,2539,1.617,2540,2.729,2541,1.617,2542,1.617,2543,1.617,2544,2.729,2545,2.729,2546,3.539,2547,1.617,2548,1.617,2549,1.617,2550,1.617,2551,2.729,2552,1.617,2553,2.729,2554,4.157,2555,1.617,2556,1.617,2557,1.617,2558,5.035,2559,2.729,2560,1.617,2561,1.617,2562,3.539,2563,2.729,2564,2.729,2565,4.157,2566,1.617,2567,1.617,2568,1.617,2569,2.729,2570,1.617,2571,1.617,2572,1.617,2573,1.617,2574,1.617,2575,4.157,2576,1.617,2577,3.539,2578,4.157,2579,1.617,2580,3.539,2581,4.643,2582,2.729,2583,2.729,2584,2.729,2585,3.539,2586,4.157,2587,4.643,2588,3.539,2589,1.617,2590,1.617,2591,5.359,2592,1.617,2593,4.157,2594,4.157,2595,5.861,2596,1.617,2597,1.617,2598,1.617,2599,1.617,2600,1.617,2601,1.617,2602,2.729,2603,1.617,2604,1.617,2605,1.617,2606,1.617,2607,2.729,2608,1.617,2609,1.617,2610,2.729,2611,3.083,2612,2.729,2613,3.539,2614,1.617,2615,1.617,2616,1.617,2617,1.617,2618,1.617,2619,1.617,2620,1.617,2621,1.617,2622,5.035,2623,2.729,2624,3.539,2625,2.729,2626,1.617,2627,1.617,2628,1.617,2629,1.617,2630,3.539,2631,1.617,2632,1.617,2633,1.617,2634,2.729,2635,2.729,2636,2.729,2637,3.539,2638,1.617,2639,1.617,2640,1.617,2641,1.617,2642,1.617,2643,1.409,2644,1.617,2645,1.617,2646,1.617,2647,2.729,2648,1.617,2649,1.617,2650,2.729,2651,1.617,2652,1.617,2653,1.617,2654,1.617,2655,1.617,2656,1.617,2657,1.617,2658,1.617,2659,1.617,2660,1.617,2661,1.617,2662,3.083,2663,3.539,2664,4.157,2665,2.729,2666,3.539,2667,1.617,2668,2.729,2669,1.617,2670,2.729,2671,2.729,2672,1.617,2673,1.617,2674,2.729,2675,1.617,2676,1.617,2677,1.617,2678,1.617,2679,1.617,2680,1.617,2681,1.617,2682,1.617,2683,1.617,2684,1.617,2685,1.617,2686,1.617,2687,1.617,2688,1.617,2689,1.617,2690,1.617,2691,1.617,2692,1.617,2693,1.617,2694,1.617,2695,1.617,2696,1.617,2697,2.729,2698,1.617,2699,2.729,2700,1.617,2701,2.729,2702,2.729,2703,4.157,2704,4.157,2705,2.729,2706,2.729,2707,1.617,2708,1.617,2709,1.617,2710,1.617,2711,1.409,2712,1.617,2713,1.617,2714,1.617,2715,1.617,2716,1.617,2717,1.617,2718,2.729,2719,6.059,2720,3.539,2721,2.729,2722,1.617,2723,1.617,2724,1.617,2725,1.617,2726,1.617,2727,1.617,2728,1.617,2729,2.729,2730,4.668,2731,2.729,2732,1.617,2733,1.617,2734,1.617,2735,1.617,2736,1.617,2737,3.268,2738,1.617,2739,2.729,2740,1.617,2741,1.617,2742,1.617,2743,2.729,2744,1.617,2745,1.617,2746,1.617,2747,2.729,2748,2.377,2749,1.617,2750,1.617,2751,1.617,2752,1.617,2753,1.617,2754,1.617,2755,1.617,2756,1.617,2757,1.617,2758,1.409,2759,1.617,2760,2.377,2761,1.617,2762,1.617,2763,1.617,2764,1.617,2765,1.617,2766,1.617,2767,2.729,2768,1.617,2769,2.729,2770,1.617,2771,1.617,2772,1.617,2773,1.617,2774,1.617,2775,1.617,2776,1.617,2777,1.617,2778,1.617,2779,1.409,2780,2.729,2781,1.617,2782,1.617,2783,1.617,2784,1.617,2785,2.729,2786,1.409,2787,1.617,2788,1.617,2789,1.617,2790,1.617,2791,1.617,2792,1.617]],["title/coverage.html",[2737,4.338]],["body/coverage.html",[6,1.386,7,0.014,8,1.617,9,1.617,15,0.069,16,0.184,17,3.78,23,1.968,28,0.218,41,1.323,45,2.334,47,0.696,55,1.968,56,2.602,70,1.968,78,0.116,81,0.004,82,0.007,83,0.004,87,1.715,88,2.987,89,4.086,90,4.086,93,1.33,122,1.266,125,1.386,136,1.715,138,1.617,153,1.715,154,0.53,155,1.715,157,1.715,161,1.715,163,1.715,177,1.715,211,1.715,258,1.968,259,3.38,260,3.38,261,3.634,275,1.402,289,1.455,291,3.247,297,1.968,301,2.059,312,1.076,316,1.83,358,1.118,359,3.262,360,3.262,368,1.715,369,3.78,370,3.78,372,1.386,382,1.715,392,1.455,423,2.747,435,1.715,438,1.715,448,1.035,454,2.789,455,1.639,456,1.83,457,2.372,473,1.531,498,1.531,500,3.258,502,1.968,506,1.118,511,1.118,513,1.035,515,1.118,517,0.997,519,1.118,522,1.118,525,1.076,527,1.118,531,1.118,534,1.118,536,1.118,538,1.076,557,2.372,624,5.094,653,1.83,654,3.846,655,4.065,669,1.455,670,1.531,672,2.863,674,2.334,676,1.83,678,1.968,680,1.617,684,1.968,690,1.968,703,1.83,775,2.372,808,3.634,811,2.14,833,3.543,834,3.38,871,2.14,872,2.372,885,3.789,886,3.953,910,3.634,934,1.83,941,1.83,968,1.83,1046,3.408,1047,3.634,1051,1.455,1056,1.715,1103,2.372,1104,2.372,1145,2.14,1146,5.112,1161,2.14,1162,2.999,1164,1.968,1263,2.372,1264,3.634,1287,2.372,1339,3.262,1353,1.968,1406,6.624,1411,2.372,1423,2.14,1424,2.372,1425,2.372,1439,2.372,1440,2.372,1494,3.262,1503,2.14,1523,2.14,1524,2.14,1557,2.14,1558,2.14,1559,2.372,1586,2.14,1587,2.14,1588,2.372,1602,2.372,1635,2.372,1652,1.968,1653,4.065,1654,4.065,1655,4.421,1674,2.14,1798,2.14,1914,1.968,1915,5.252,1916,5.252,1917,5.508,1926,2.14,1943,2.999,1944,2.999,1945,3.262,1969,1.968,1997,1.968,1998,1.968,1999,2.14,2061,2.372,2091,2.14,2092,2.14,2093,2.372,2158,1.968,2159,4.069,2164,1.968,2165,1.968,2166,1.968,2167,1.83,2182,2.14,2183,2.14,2184,2.372,2205,2.14,2206,3.615,2403,2.372,2737,2.14,2779,2.372,2793,2.722,2794,2.722,2795,2.372,2796,8.014,2797,5.028,2798,2.722,2799,2.372,2800,2.372,2801,7.368,2802,2.372,2803,2.372,2804,2.372,2805,2.372,2806,2.372,2807,2.722,2808,2.372,2809,2.372,2810,2.372,2811,6.633,2812,2.722,2813,4.149,2814,2.722,2815,2.722,2816,2.722,2817,2.722,2818,2.372,2819,2.722,2820,5.623,2821,4.149,2822,4.149,2823,2.722,2824,4.149,2825,4.149,2826,2.722,2827,2.722,2828,2.722,2829,2.722,2830,2.722,2831,2.722,2832,2.722,2833,4.149,2834,2.722,2835,2.722,2836,4.149,2837,4.149,2838,2.722,2839,2.372,2840,4.149,2841,2.722,2842,4.149,2843,2.722,2844,2.722,2845,2.722,2846,2.722,2847,2.722,2848,2.722,2849,2.722]],["title/dependencies.html",[3,1.714,2428,2.931]],["body/dependencies.html",[3,1.625,7,0.014,15,0.116,36,0.31,39,3.39,40,2.344,41,2.239,81,0.007,82,0.01,83,0.007,95,3.095,114,1.106,120,3.095,121,3.095,151,2.93,172,2.735,283,3.328,284,3.62,285,4.357,365,1.892,366,1.892,412,3.095,493,4.051,494,4.011,496,2.344,505,2.381,589,2.735,639,2.59,686,3.095,1025,3.328,1139,3.095,1242,4.357,1362,3.328,1372,3.62,1421,4.011,1525,4.011,1589,4.011,1666,4.011,1670,4.011,1671,3.62,2350,4.011,2357,4.011,2443,5.25,2461,4.011,2497,4.011,2502,4.011,2611,4.011,2662,5.25,2850,4.605,2851,4.605,2852,4.605,2853,8.065,2854,4.605,2855,4.605,2856,4.605,2857,4.605,2858,4.605,2859,6.027,2860,4.605,2861,4.605,2862,4.605,2863,4.605,2864,4.605,2865,6.719,2866,4.605,2867,6.027,2868,4.605,2869,4.605,2870,4.605,2871,4.605,2872,6.719,2873,4.605,2874,4.605,2875,4.605,2876,4.605,2877,4.605,2878,4.605,2879,4.605,2880,4.605,2881,4.605,2882,4.605,2883,4.605,2884,6.027,2885,6.027,2886,4.605,2887,4.605,2888,4.605,2889,4.605,2890,4.605,2891,4.605,2892,6.027,2893,4.605,2894,4.605,2895,4.605,2896,4.605,2897,4.605,2898,4.605,2899,4.605,2900,4.605,2901,4.605,2902,4.605,2903,4.605,2904,4.605,2905,4.605,2906,4.011,2907,4.605,2908,4.605,2909,4.605,2910,4.605,2911,4.605,2912,4.605,2913,6.027,2914,4.605,2915,4.605,2916,4.605,2917,4.605,2918,4.605,2919,4.605,2920,4.605,2921,4.605,2922,4.605,2923,4.605,2924,4.605,2925,4.605,2926,4.605,2927,4.605,2928,4.605,2929,4.605,2930,4.605,2931,4.605,2932,4.605,2933,4.605,2934,4.605,2935,4.605,2936,4.605,2937,4.605,2938,4.605,2939,4.605,2940,4.605,2941,4.605,2942,4.605,2943,4.605,2944,4.605,2945,5.25,2946,4.605,2947,4.605,2948,4.605,2949,4.605,2950,4.605,2951,4.605,2952,4.605,2953,4.605,2954,4.605,2955,4.605]],["title/miscellaneous/functions.html",[2956,2.12,2957,4.23]],["body/miscellaneous/functions.html",[7,0.014,16,0.164,17,2.475,26,1.946,27,1.316,29,1.417,30,2.912,31,1.284,37,2.895,53,1.299,57,2.895,58,1.874,62,0.825,63,1.79,66,2.895,69,2.911,70,3.743,76,2.671,81,0.006,82,0.008,83,0.006,85,0.617,86,0.512,88,1.4,89,2.071,90,3.851,97,1.348,100,1.874,106,2.475,112,2.059,134,1.712,138,2.187,154,1.009,161,3.773,163,3.262,164,3.329,165,1.167,166,3.481,167,3.481,170,2.187,211,3.262,219,2.475,242,3.393,262,1.79,263,2.661,280,1.4,287,2.32,289,1.967,291,1.874,415,2.071,423,1.7,462,2.187,505,1.455,536,2.127,639,3.654,693,2.32,717,3.743,885,2.187,886,4.709,888,2.895,892,3.207,896,3.207,897,2.475,898,3.207,899,2.636,900,4.833,901,3.207,902,3.207,903,1.967,904,3.207,905,3.207,911,2.32,933,2.32,945,2.661,968,4.026,1032,2.661,1050,3.481,1114,5.583,1116,6.031,1118,5.855,1145,4.709,1146,4.368,1148,2.895,1166,3.207,1202,2.32,1274,2.187,1523,2.895,1524,4.071,1528,3.207,1534,2.895,1682,2.661,1915,2.661,1916,5.545,1917,6.372,1918,5.66,1923,6.819,1927,3.207,1928,3.207,1929,3.207,1930,3.207,1931,5.217,1932,6.819,1933,6.186,1934,6.186,1935,5.66,1936,4.51,1937,5.217,2159,2.475,2167,4.026,2515,3.207,2760,3.207,2795,4.51,2799,3.207,2800,4.51,2802,3.207,2803,5.217,2804,3.207,2805,4.51,2806,4.51,2810,4.51,2818,4.51,2839,4.51,2945,3.207,2956,2.32,2957,3.207,2958,5.109,2959,3.682,2960,3.682,2961,3.207,2962,4.51,2963,3.682,2964,5.178,2965,6.594,2966,3.682,2967,3.682,2968,3.682,2969,3.682,2970,3.682,2971,3.682,2972,3.682,2973,3.682,2974,3.682,2975,3.682,2976,3.682,2977,3.682,2978,5.178,2979,3.682,2980,3.682]],["title/index.html",[85,0.285,2322,2.645,2323,2.432]],["body/index.html",[7,0.01,13,0.217,47,0.558,81,0.008,82,0.01,83,0.008,84,1.551,102,1.834,110,4.597,182,4.468,275,0.92,326,2.753,459,3.724,487,3.526,523,2.733,570,4.215,571,5.001,598,2.907,646,3.538,695,3.848,696,5.001,996,3.538,1051,2.615,1139,3.29,1175,3.538,1238,4.93,1245,3.538,1255,3.084,1293,3.724,1311,3.848,1519,5.462,2126,4.264,2127,4.93,2210,3.848,2324,3.848,2325,5.462,2326,5.462,2327,6.027,2331,4.264,2345,4.93,2348,5.462,2349,6.355,2367,5.736,2396,5.462,2425,4.264,2440,6.57,2441,6.355,2446,5.462,2451,4.264,2462,5.462,2465,4.264,2473,4.264,2484,4.264,2537,5.462,2748,4.264,2758,4.264,2786,4.264,2981,6.27,2982,6.27,2983,6.27,2984,4.895,2985,4.895,2986,4.895,2987,5.462,2988,4.895,2989,6.27,2990,6.27,2991,6.27,2992,6.918,2993,4.895,2994,4.895,2995,6.918,2996,6.918,2997,4.895,2998,4.895,2999,6.27,3000,4.895,3001,4.895,3002,4.895,3003,4.895,3004,4.895,3005,4.895,3006,4.895,3007,4.895,3008,4.895,3009,4.895,3010,4.895,3011,4.895,3012,4.895,3013,6.27,3014,4.895,3015,4.895,3016,6.27,3017,4.895,3018,6.27,3019,6.27,3020,4.895,3021,4.895,3022,4.895,3023,4.895,3024,4.895,3025,4.895,3026,4.895,3027,4.895,3028,4.895,3029,4.895,3030,4.895,3031,4.895,3032,4.895]],["title/license.html",[2322,2.645,2323,2.432,3033,2.931]],["body/license.html",[7,0.011,12,1.742,81,0.009,82,0.011,83,0.009,113,3.043,346,4.116,455,2.25,569,2.899,745,3.828,952,5.825,1021,3.828,1024,4.116,1051,3.043,1197,4.477,1217,4.477,1257,4.96,1430,4.96,2345,5.417,2367,4.477,2472,6.002,2643,6.002,2711,4.96,2730,4.96,2906,4.96,2987,7.173,3033,4.96,3034,5.694,3035,7.408,3036,5.694,3037,6.89,3038,5.694,3039,5.694,3040,5.694,3041,5.694,3042,5.694,3043,5.694,3044,6.89,3045,5.694,3046,5.694,3047,5.694,3048,5.694,3049,5.694,3050,5.694,3051,5.694,3052,5.694,3053,5.694,3054,5.694,3055,5.694,3056,6.89,3057,5.694,3058,5.694,3059,5.694,3060,5.694,3061,5.694,3062,6.89,3063,5.694,3064,5.694,3065,5.694,3066,5.694,3067,5.694,3068,5.694,3069,5.694,3070,5.694,3071,5.694,3072,5.694,3073,5.694,3074,5.694,3075,5.694,3076,5.694,3077,5.694,3078,5.694,3079,5.694,3080,5.694,3081,5.694,3082,5.694,3083,5.694,3084,5.694]],["title/modules.html",[2,1.947]],["body/modules.html",[1,3.905,2,2.05,7,0.011,81,0.009,82,0.011,83,0.009,354,4.199,541,4.199,546,3.905,984,3.661,1039,3.905,1242,6.1,1322,4.199,1327,3.905,1522,4.568,1580,4.199,1641,4.199,1657,7.351,1906,4.199,1985,4.199,2038,4.199,2071,4.199,2152,4.199,2199,4.199,2360,7.351,3085,8.456,3086,5.81]],["title/overview.html",[3087,4.806]],["body/overview.html",[1,5.195,2,1.518,3,2.033,4,3.747,5,3.747,6,3.307,7,0.014,8,3.859,9,3.859,10,2.191,11,1.636,12,1.316,81,0.007,82,0.009,83,0.007,84,1.363,231,1.7,312,3.005,354,5.229,355,3.747,356,3.747,357,3.747,358,3.124,448,2.892,449,1.917,506,1.767,511,3.124,513,2.892,515,3.124,517,2.785,519,3.124,522,3.124,525,3.005,527,3.124,531,3.124,534,3.124,538,3.005,541,5.497,542,3.747,543,3.747,544,3.747,545,3.747,546,5.005,700,2.555,769,3.747,770,3.747,771,3.747,774,2.091,1039,5.005,1040,3.747,1041,3.747,1042,3.747,1322,5.497,1323,3.747,1324,3.747,1325,3.747,1326,3.747,1327,5.005,1413,3.747,1414,3.747,1415,3.747,1580,5.229,1581,3.747,1582,3.747,1583,3.747,1641,5.229,1642,3.747,1643,3.747,1644,3.747,1906,5.229,1907,3.747,1908,3.747,1909,3.747,1985,5.229,1986,3.747,1987,3.747,1988,3.747,2038,5.229,2039,3.747,2040,3.747,2041,3.747,2071,5.658,2072,3.747,2074,3.747,2075,3.747,2076,6.045,2077,6.045,2152,5.229,2153,3.747,2154,3.747,2155,3.747,2199,5.229,2200,3.747,2201,3.747,2202,3.747,2338,3.747,2490,3.747,2536,3.747,3087,3.747,3088,4.302,3089,4.302]],["title/miscellaneous/typealiases.html",[2956,2.12,3090,4.856]],["body/miscellaneous/typealiases.html",[7,0.013,16,0.171,28,0.593,49,0.81,56,2.427,61,3.34,62,1.54,68,2.001,81,0.009,82,0.011,83,0.009,85,0.479,88,2.613,89,3.188,90,4.323,128,4.329,130,4.619,133,4.619,134,2.636,416,3.671,639,3.864,811,4.457,812,4.329,826,4.097,827,3.81,833,3.572,834,5.292,847,4.097,849,4.967,850,4.967,852,4.967,894,3.81,899,2.886,1162,4.097,1164,4.967,1180,5.402,1187,4.938,1188,5.985,1209,4.457,1210,4.938,1997,4.097,1998,4.097,1999,5.813,2018,4.938,2019,5.985,2020,4.938,2021,6.441,2956,3.572,2958,5.813,3091,5.668,3092,5.668,3093,7.686,3094,5.985,3095,6.871]],["title/miscellaneous/variables.html",[2956,2.12,3096,4.23]],["body/miscellaneous/variables.html",[6,1.194,7,0.014,8,1.393,9,1.393,16,0.149,17,1.577,27,1.342,28,0.522,30,2.079,45,2.079,49,0.54,53,0.828,55,2.672,59,0.395,61,1.14,62,1.636,72,1.478,74,3.683,76,0.859,81,0.004,82,0.006,83,0.004,85,0.198,88,0.892,89,1.319,90,2.92,113,1.253,128,2.329,137,1.319,145,4.284,147,4.406,148,2.329,153,3.272,154,0.891,155,2.329,156,2.485,157,2.329,158,1.577,159,1.478,165,1.45,172,3.084,175,1.406,176,1.305,259,1.577,260,1.577,261,2.672,265,1.696,266,2.907,268,4.647,273,1.975,279,1.696,292,2.126,293,2.907,294,1.844,295,1.844,296,1.844,297,2.672,298,2.672,299,1.478,316,2.485,321,3.507,500,1.091,523,3.264,574,1.844,600,4.653,602,4.48,643,6.496,654,1.319,655,3.307,681,1.696,682,1.844,683,1.696,684,2.672,685,1.844,686,1.577,687,1.844,688,1.844,689,1.696,690,2.672,691,1.844,812,1.478,1122,5.118,1146,2.485,1162,1.696,1164,2.672,1180,1.844,1264,2.672,1273,4.545,1494,1.844,1503,2.907,1504,2.043,1505,2.043,1506,2.672,1652,1.696,1653,1.696,1654,1.696,1655,3.598,1658,7.198,1659,6.159,1664,2.907,1672,2.043,1673,2.043,1674,2.907,1675,2.043,1676,3.221,1677,2.043,1678,2.043,1679,3.221,1680,2.043,1681,3.221,1682,2.672,1683,4.523,1684,2.043,1685,2.043,1686,3.986,1687,5.229,1688,6.494,1689,2.043,1690,2.043,1691,2.043,1692,3.986,1693,5.835,1694,5.229,1695,2.043,1696,2.043,1697,2.043,1698,2.043,1699,3.221,1700,2.043,1701,3.986,1702,4.719,1703,2.043,1704,2.043,1705,2.043,1706,3.986,1707,5.229,1708,2.043,1709,2.043,1710,2.043,1711,2.043,1712,3.221,1713,2.043,1714,3.221,1715,3.221,1716,3.221,1717,2.043,1718,2.043,1719,3.986,1720,5.835,1721,5.229,1722,2.043,1723,2.043,1724,2.043,1725,3.986,1726,5.229,1727,2.043,1728,2.043,1729,2.043,1730,2.043,1731,3.221,1732,2.043,1733,2.043,1734,3.986,1735,3.221,1736,2.043,1737,3.986,1738,5.835,1739,5.229,1740,2.043,1741,2.043,1742,2.043,1743,2.043,1744,3.221,1745,2.043,1746,2.043,1747,2.043,1748,3.221,1749,2.043,1750,2.043,1751,2.907,1752,2.043,1753,3.221,1754,4.523,1755,2.043,1756,2.043,1757,2.043,1758,5.229,1759,3.221,1760,2.043,1761,2.043,1762,3.221,1763,2.043,1764,2.043,1765,3.598,1766,2.907,1767,2.043,1768,2.043,1769,3.221,1770,2.043,1771,2.043,1772,3.221,1773,2.043,1774,2.043,1775,3.221,1776,2.043,1777,3.986,1778,5.229,1779,2.043,1780,2.043,1781,2.043,1782,2.043,1783,3.221,1784,3.221,1785,2.043,1786,2.043,1787,3.221,1788,2.043,1789,3.221,1790,3.221,1791,4.523,1792,4.523,1793,2.043,1794,2.043,1795,2.043,1796,2.043,1797,2.043,1798,2.907,1799,2.043,1800,2.043,1914,1.696,1915,1.696,1916,2.672,1926,2.907,2159,1.577,2165,2.672,2166,2.672,2167,1.577,2808,2.043,2809,3.221,2956,1.478,2958,3.598,2961,3.221,2962,2.043,2965,2.043,3094,2.043,3096,2.043,3097,3.697,3098,2.346,3099,2.346,3100,2.346,3101,3.697]]],"invertedIndex":[["",{"_index":7,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["0",{"_index":423,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"injectables/LocalStorageService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["0.1.0",{"_index":2785,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":2955,"title":{},"body":{"dependencies.html":{}}}],["0.12",{"_index":2145,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["0.14",{"_index":2143,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["0.18.0",{"_index":2896,"title":{},"body":{"dependencies.html":{}}}],["0.1875rem",{"_index":1634,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["0.2",{"_index":2140,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["0.2.0",{"_index":2780,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":2914,"title":{},"body":{"dependencies.html":{}}}],["0.25rem",{"_index":607,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["0.5.0",{"_index":2769,"title":{},"body":{"changelog.html":{}}}],["0.5rem",{"_index":1400,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{}}}],["0.6.0",{"_index":2748,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0.60rem",{"_index":608,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["0.65rem",{"_index":1320,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["0.6s",{"_index":610,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{}}}],["0.7",{"_index":2133,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["0.875rem",{"_index":1397,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["0/1",{"_index":2796,"title":{},"body":{"coverage.html":{}}}],["0/11",{"_index":2836,"title":{},"body":{"coverage.html":{}}}],["0/13",{"_index":2842,"title":{},"body":{"coverage.html":{}}}],["0/14",{"_index":2844,"title":{},"body":{"coverage.html":{}}}],["0/15",{"_index":2843,"title":{},"body":{"coverage.html":{}}}],["0/17",{"_index":2837,"title":{},"body":{"coverage.html":{}}}],["0/18",{"_index":2841,"title":{},"body":{"coverage.html":{}}}],["0/19",{"_index":2840,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":2811,"title":{},"body":{"coverage.html":{}}}],["0/3",{"_index":2838,"title":{},"body":{"coverage.html":{}}}],["0/4",{"_index":2813,"title":{},"body":{"coverage.html":{}}}],["0/5",{"_index":2794,"title":{},"body":{"coverage.html":{}}}],["0/6",{"_index":2798,"title":{},"body":{"coverage.html":{}}}],["0/7",{"_index":2797,"title":{},"body":{"coverage.html":{}}}],["0/9",{"_index":2835,"title":{},"body":{"coverage.html":{}}}],["007cbe",{"_index":2150,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["01",{"_index":2372,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":2631,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":2581,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":2402,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":2554,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":2337,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":2330,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":2731,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":2362,"title":{},"body":{"changelog.html":{}}}],["0px",{"_index":1896,"title":{},"body":{"interfaces/OrganInfo.html":{},"components/TrackingPopupComponent.html":{}}}],["1",{"_index":700,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/PluckUniqueOptions.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"changelog.html":{},"overview.html":{}}}],["1.0",{"_index":2193,"title":{},"body":{"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["1.0.0",{"_index":2719,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":2891,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":2898,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":2950,"title":{},"body":{"dependencies.html":{}}}],["1.1.0",{"_index":2697,"title":{},"body":{"changelog.html":{}}}],["1.125rem",{"_index":1636,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["1.16.0",{"_index":2931,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":2893,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":2662,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":2901,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":2933,"title":{},"body":{"dependencies.html":{}}}],["1.2rem",{"_index":617,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["1.3.5",{"_index":2630,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":2611,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":2916,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":2580,"title":{},"body":{"changelog.html":{}}}],["1.5rem",{"_index":1321,"title":{},"body":{"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["1.6.0",{"_index":2565,"title":{},"body":{"changelog.html":{}}}],["1.6rem",{"_index":601,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["1.7.0",{"_index":2553,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":2903,"title":{},"body":{"dependencies.html":{}}}],["1/1",{"_index":2801,"title":{},"body":{"coverage.html":{}}}],["1/4",{"_index":2827,"title":{},"body":{"coverage.html":{}}}],["1/7",{"_index":2847,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":299,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/TextSearchComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["10.0.0",{"_index":2912,"title":{},"body":{"dependencies.html":{}}}],["10/10",{"_index":2832,"title":{},"body":{"coverage.html":{}}}],["100",{"_index":624,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{},"coverage.html":{}}}],["1014",{"_index":1475,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["10px",{"_index":2142,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["10rem",{"_index":1405,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["10x",{"_index":2709,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":2613,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":2934,"title":{},"body":{"dependencies.html":{}}}],["11/11",{"_index":2816,"title":{},"body":{"coverage.html":{}}}],["11/14",{"_index":2829,"title":{},"body":{"coverage.html":{}}}],["12",{"_index":2331,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":2935,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":2853,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":2858,"title":{},"body":{"dependencies.html":{}}}],["13",{"_index":2490,"title":{},"body":{"changelog.html":{},"overview.html":{}}}],["13/13",{"_index":2819,"title":{},"body":{"coverage.html":{}}}],["14",{"_index":2403,"title":{},"body":{"changelog.html":{},"coverage.html":{}}}],["15",{"_index":2338,"title":{},"body":{"changelog.html":{},"overview.html":{}}}],["15.126.1",{"_index":2851,"title":{},"body":{"dependencies.html":{}}}],["15/15",{"_index":2834,"title":{},"body":{"coverage.html":{}}}],["16",{"_index":2536,"title":{},"body":{"changelog.html":{},"overview.html":{}}}],["16.0.0",{"_index":2905,"title":{},"body":{"dependencies.html":{}}}],["17",{"_index":2388,"title":{},"body":{"changelog.html":{}}}],["18px",{"_index":2144,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["19",{"_index":3089,"title":{},"body":{"overview.html":{}}}],["1px",{"_index":2138,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["1rem",{"_index":651,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["2",{"_index":2194,"title":{},"body":{"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["2.0.0",{"_index":2535,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":2909,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":2502,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":2497,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.25rem",{"_index":1396,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["2.3.0",{"_index":2494,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":2489,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":2478,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":2461,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.6.7",{"_index":2936,"title":{},"body":{"dependencies.html":{}}}],["2.8.5",{"_index":2900,"title":{},"body":{"dependencies.html":{}}}],["2.awsapprunner.com",{"_index":3007,"title":{},"body":{"index.html":{}}}],["2/2",{"_index":2807,"title":{},"body":{"coverage.html":{}}}],["20",{"_index":1602,"title":{},"body":{"components/OpacitySliderComponent.html":{},"coverage.html":{}}}],["200",{"_index":1868,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["2019",{"_index":2730,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":2664,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":2447,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":701,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"changelog.html":{}}}],["2023",{"_index":2329,"title":{},"body":{"changelog.html":{}}}],["21",{"_index":2555,"title":{},"body":{"changelog.html":{}}}],["22",{"_index":1474,"title":{},"body":{"injectables/LocalStorageService.html":{},"changelog.html":{}}}],["23/30",{"_index":2831,"title":{},"body":{"coverage.html":{}}}],["24",{"_index":2770,"title":{},"body":{"changelog.html":{}}}],["24px",{"_index":2148,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["25",{"_index":2826,"title":{},"body":{"coverage.html":{}}}],["250",{"_index":1386,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["255",{"_index":2132,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["25rem",{"_index":605,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["26",{"_index":2582,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":2616,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":2363,"title":{},"body":{"changelog.html":{}}}],["2rem",{"_index":629,"title":{},"body":{"components/CallToActionComponent.html":{},"components/SpatialSearchListComponent.html":{}}}],["3",{"_index":2650,"title":{},"body":{"changelog.html":{}}}],["3.0.0",{"_index":2443,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":2872,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":2414,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":2410,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":2401,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":2387,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":2371,"title":{},"body":{"changelog.html":{}}}],["3.4rem",{"_index":636,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["3.5.0",{"_index":2361,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":2877,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":2879,"title":{},"body":{"dependencies.html":{}}}],["3.6",{"_index":3013,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":2350,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.7.0",{"_index":2336,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":2885,"title":{},"body":{"dependencies.html":{}}}],["3.7.2",{"_index":2328,"title":{},"body":{"changelog.html":{}}}],["3.7.3",{"_index":2887,"title":{},"body":{"dependencies.html":{}}}],["3/3",{"_index":2824,"title":{},"body":{"coverage.html":{}}}],["3/5",{"_index":2823,"title":{},"body":{"coverage.html":{}}}],["3/7",{"_index":2815,"title":{},"body":{"coverage.html":{}}}],["30",{"_index":635,"title":{},"body":{"components/CallToActionComponent.html":{},"changelog.html":{}}}],["30.75rem",{"_index":759,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["300",{"_index":1402,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["31",{"_index":2698,"title":{},"body":{"changelog.html":{}}}],["323232",{"_index":2134,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["36.688rem",{"_index":760,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["3d",{"_index":2211,"title":{},"body":{"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["3px",{"_index":2136,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["3rem",{"_index":1391,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/TextSearchComponent.html":{}}}],["4",{"_index":159,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["4.0",{"_index":2990,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":2882,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":2907,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":2928,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":2897,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":2918,"title":{},"body":{"dependencies.html":{}}}],["4/4",{"_index":2820,"title":{},"body":{"coverage.html":{}}}],["400",{"_index":2198,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["400px",{"_index":2130,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["42",{"_index":2814,"title":{},"body":{"coverage.html":{}}}],["444a65",{"_index":647,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["48",{"_index":2273,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["4th",{"_index":2352,"title":{},"body":{"changelog.html":{}}}],["5.0.0",{"_index":2921,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":2926,"title":{},"body":{"dependencies.html":{}}}],["5/5",{"_index":2817,"title":{},"body":{"coverage.html":{}}}],["50",{"_index":1411,"title":{},"body":{"components/InfoDialogComponent.html":{},"coverage.html":{}}}],["50rem",{"_index":1404,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["5px",{"_index":2137,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["5rem",{"_index":637,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["5th",{"_index":2342,"title":{},"body":{"changelog.html":{}}}],["6",{"_index":3088,"title":{},"body":{"overview.html":{}}}],["6.0.1",{"_index":2924,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":2939,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":2881,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":2949,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":2946,"title":{},"body":{"dependencies.html":{}}}],["6/12",{"_index":2845,"title":{},"body":{"coverage.html":{}}}],["6/7",{"_index":2846,"title":{},"body":{"coverage.html":{}}}],["60",{"_index":1635,"title":{},"body":{"components/OpacitySliderComponent.html":{},"coverage.html":{}}}],["64",{"_index":1899,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["6px",{"_index":2141,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["6rem",{"_index":2149,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["6s",{"_index":614,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["7.0rem",{"_index":628,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["7/34",{"_index":2812,"title":{},"body":{"coverage.html":{}}}],["7/7",{"_index":2833,"title":{},"body":{"coverage.html":{}}}],["7/9",{"_index":2822,"title":{},"body":{"coverage.html":{}}}],["72",{"_index":1830,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["72rem",{"_index":741,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{}}}],["73",{"_index":1408,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["75",{"_index":2290,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["75rem",{"_index":632,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["76",{"_index":2830,"title":{},"body":{"coverage.html":{}}}],["77",{"_index":2821,"title":{},"body":{"coverage.html":{}}}],["78",{"_index":2828,"title":{},"body":{"coverage.html":{}}}],["8",{"_index":2559,"title":{},"body":{"changelog.html":{}}}],["8.3.2",{"_index":2953,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":2876,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":2865,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":2868,"title":{},"body":{"dependencies.html":{}}}],["85",{"_index":2779,"title":{},"body":{"changelog.html":{},"coverage.html":{}}}],["875rem",{"_index":630,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["9.5",{"_index":2256,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["9/9",{"_index":2825,"title":{},"body":{"coverage.html":{}}}],["90",{"_index":2736,"title":{},"body":{"changelog.html":{}}}],["95",{"_index":2406,"title":{},"body":{"changelog.html":{}}}],["9999",{"_index":2147,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["9]*/g",{"_index":1578,"title":{},"body":{"directives/NumberDirective.html":{}}}],["9rem",{"_index":627,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["9th",{"_index":2590,"title":{},"body":{"changelog.html":{}}}],["__storage_test__",{"_index":1464,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["_bounds",{"_index":2258,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["_camera",{"_index":2260,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["_ctx",{"_index":746,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["_ctxs",{"_index":765,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["_error",{"_index":1491,"title":{},"body":{"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{}}}],["_ignored",{"_index":1261,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["_index",{"_index":1962,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{}}}],["_interactive",{"_index":2252,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["_occurencedata",{"_index":1836,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["_rotation",{"_index":2253,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["_rotationx",{"_index":2254,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["_scene",{"_index":2259,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["_target",{"_index":2257,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["_wont_",{"_index":2176,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["_zoom",{"_index":2255,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["a.name.localecompare(b.name",{"_index":1797,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["ability",{"_index":2511,"title":{},"body":{"changelog.html":{}}}],["about.wrapper",{"_index":1390,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["above",{"_index":1021,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{},"license.html":{}}}],["abstract",{"_index":376,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["access",{"_index":2122,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["accessors",{"_index":1112,"title":{},"body":{"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["according",{"_index":1904,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["accurate",{"_index":2579,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":455,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"license.html":{}}}],["action'},{'name",{"_index":512,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["action(closedialog",{"_index":766,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["action(learnmore",{"_index":747,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["action(opendialog",{"_index":756,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["action.actions",{"_index":501,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["action.actions.ts",{"_index":808,"title":{},"body":{"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"coverage.html":{}}}],["action.actions.ts:10",{"_index":809,"title":{},"body":{"classes/CloseDialog.html":{}}}],["action.actions.ts:2",{"_index":1438,"title":{},"body":{"classes/LearnMore.html":{}}}],["action.actions.ts:6",{"_index":1651,"title":{},"body":{"classes/OpenDialog.html":{}}}],["action.component",{"_index":773,"title":{},"body":{"modules/CallToActionModule.html":{}}}],["action.component.html",{"_index":559,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.scss",{"_index":558,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts",{"_index":557,"title":{},"body":{"components/CallToActionComponent.html":{},"coverage.html":{}}}],["action.component.ts:14",{"_index":581,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts:18",{"_index":572,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts:23",{"_index":568,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts:28",{"_index":573,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts:33",{"_index":567,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts:39",{"_index":576,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts:45",{"_index":580,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts:53",{"_index":582,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.component.ts:61",{"_index":586,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["action.module",{"_index":555,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{}}}],["action.module.ts",{"_index":772,"title":{},"body":{"modules/CallToActionModule.html":{}}}],["action.selectors",{"_index":503,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["action.selectors.ts",{"_index":775,"title":{},"body":{"classes/CallToActionSelectors.html":{},"coverage.html":{}}}],["action.selectors.ts:12",{"_index":784,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["action.selectors.ts:17",{"_index":778,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["action.selectors.ts:22",{"_index":782,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["action.selectors.ts:27",{"_index":780,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["action.selectors.ts:32",{"_index":786,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["action.selectors.ts:7",{"_index":788,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["action.state",{"_index":789,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["action.state.ts",{"_index":655,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["action.state.ts:103",{"_index":804,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["action.state.ts:121",{"_index":805,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["action.state.ts:135",{"_index":807,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["action.state.ts:153",{"_index":801,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["action.state.ts:65",{"_index":802,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["action.state.ts:70",{"_index":800,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["action.state.ts:81",{"_index":806,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["action.state.ts:94",{"_index":803,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["action/call",{"_index":500,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["actions",{"_index":2654,"title":{},"body":{"changelog.html":{}}}],["actual_component",{"_index":540,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["add",{"_index":890,"title":{},"body":{"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["added",{"_index":974,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["adding",{"_index":1930,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["additional",{"_index":911,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["addressed",{"_index":2692,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":2390,"title":{},"body":{"changelog.html":{}}}],["adjusting",{"_index":2687,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":2609,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":2538,"title":{},"body":{"changelog.html":{}}}],["afterviewinit",{"_index":1667,"title":{},"body":{"interfaces/OrganInfo.html":{},"interfaces/XYZTriplet.html":{}}}],["again",{"_index":2671,"title":{},"body":{"changelog.html":{}}}],["age",{"_index":139,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"changelog.html":{}}}],["agerange",{"_index":140,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["aggregateresult",{"_index":96,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{}}}],["ala",{"_index":2492,"title":{},"body":{"changelog.html":{}}}],["aliases",{"_index":3091,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["align",{"_index":597,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["all_organs",{"_index":1798,"title":{},"body":{"interfaces/OrganInfo.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["all_possible_organs",{"_index":1674,"title":{},"body":{"interfaces/OrganInfo.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["all_possible_organs.filter(organ",{"_index":1799,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["allow_telemetry",{"_index":1506,"title":{},"body":{"injectables/LocalStorageSyncService.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"miscellaneous/variables.html":{}}}],["allowed",{"_index":894,"title":{},"body":{"interfaces/DecoratedRange.html":{},"injectables/GlobalsService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"miscellaneous/typealiases.html":{}}}],["allows",{"_index":2596,"title":{},"body":{"changelog.html":{}}}],["allowtelemetry",{"_index":2099,"title":{},"body":{"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["allowtelemetry.tostring",{"_index":2172,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["alpha",{"_index":2759,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":2743,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":2739,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":2729,"title":{},"body":{"changelog.html":{}}}],["already",{"_index":1001,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["alt",{"_index":2994,"title":{},"body":{"index.html":{}}}],["always",{"_index":1234,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["analytics",{"_index":41,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{}}}],["analyticsmodule",{"_index":1,"title":{"modules/AnalyticsModule.html":{}},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"modules.html":{},"overview.html":{}}}],["analyticsoptions",{"_index":23,"title":{"interfaces/AnalyticsOptions.html":{}},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"coverage.html":{}}}],["anatomical",{"_index":1591,"title":{},"body":{"components/OpacitySliderComponent.html":{},"changelog.html":{}}}],["and/or",{"_index":3054,"title":{},"body":{"license.html":{}}}],["angular",{"_index":1139,"title":{},"body":{"injectables/GlobalConfigState.html":{},"modules/MousePositionTrackerModule.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":2852,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":2854,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":365,"title":{},"body":{"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/MousePositionTrackerModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{},"dependencies.html":{}}}],["angular/common/http",{"_index":662,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["angular/compiler",{"_index":2855,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":36,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["angular/elements",{"_index":2856,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":283,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"dependencies.html":{}}}],["angular/material",{"_index":2857,"title":{},"body":{"dependencies.html":{}}}],["angular/material/autocomplete",{"_index":2082,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["angular/material/button",{"_index":1991,"title":{},"body":{"modules/SpatialSearchListModule.html":{},"modules/TrackingPopupModule.html":{}}}],["angular/material/card",{"_index":549,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{}}}],["angular/material/checkbox",{"_index":1993,"title":{},"body":{"modules/SpatialSearchListModule.html":{}}}],["angular/material/core",{"_index":1650,"title":{},"body":{"modules/OpacitySliderModule.html":{}}}],["angular/material/dialog",{"_index":551,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{}}}],["angular/material/expansion",{"_index":1418,"title":{},"body":{"modules/InfoDialogModule.html":{}}}],["angular/material/form",{"_index":2084,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["angular/material/icon",{"_index":553,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{}}}],["angular/material/input",{"_index":2086,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["angular/material/list",{"_index":1995,"title":{},"body":{"modules/SpatialSearchListModule.html":{}}}],["angular/material/slider",{"_index":1648,"title":{},"body":{"modules/OpacitySliderModule.html":{}}}],["angular/material/snack",{"_index":2115,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["angular/material/tooltip",{"_index":1913,"title":{},"body":{"modules/OrganSelectorModule.html":{}}}],["angular/platform",{"_index":2859,"title":{},"body":{"dependencies.html":{}}}],["angular/router",{"_index":2861,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":1421,"title":{},"body":{"modules/InfoDialogModule.html":{},"dependencies.html":{}}}],["animate",{"_index":1382,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["animated",{"_index":740,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{}}}],["animated')[0]?.classlist.add('modal",{"_index":1381,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["anyfunction",{"_index":865,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["anyfunction)(...args",{"_index":870,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["anything",{"_index":2177,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["api",{"_index":182,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"changelog.html":{},"index.html":{}}}],["api.configuration.basepath",{"_index":225,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["api.hubmapconsortium.org",{"_index":3004,"title":{},"body":{"index.html":{}}}],["api.ts",{"_index":2809,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["apiendpointdatasourceoptions",{"_index":87,"title":{"interfaces/ApiEndpointDataSourceOptions.html":{}},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{}}}],["apiendpointdatasourceservice",{"_index":177,"title":{"injectables/ApiEndpointDataSourceService.html":{}},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{}}}],["app",{"_index":1673,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:bladder",{"_index":1782,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:brain",{"_index":1678,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:eye",{"_index":1686,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:fallopian",{"_index":1692,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:heart",{"_index":1698,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:kidney",{"_index":1701,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:knee",{"_index":1706,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:large",{"_index":1761,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:larynx",{"_index":1730,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:liver",{"_index":1711,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:lung",{"_index":1714,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:lymph",{"_index":1681,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:main",{"_index":1733,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:mammary",{"_index":1719,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:ovary",{"_index":1725,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:palatine",{"_index":1737,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:pancreas",{"_index":1743,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:pelvis",{"_index":1746,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:placenta",{"_index":1750,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:prostate",{"_index":1753,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:skin",{"_index":1675,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:small",{"_index":1757,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:spinal",{"_index":1764,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:spleen",{"_index":1768,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:thymus",{"_index":1771,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:trachea",{"_index":1774,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:ureter",{"_index":1777,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:uterus",{"_index":1786,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app:vasculature",{"_index":1789,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["app_initializer",{"_index":34,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["appear",{"_index":2456,"title":{},"body":{"changelog.html":{}}}],["appearance",{"_index":2067,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["application",{"_index":2600,"title":{},"body":{"changelog.html":{}}}],["applied",{"_index":887,"title":{},"body":{"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["applies",{"_index":962,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["apply",{"_index":925,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["appname",{"_index":50,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["appropriate",{"_index":2427,"title":{},"body":{"changelog.html":{}}}],["april",{"_index":2589,"title":{},"body":{"changelog.html":{}}}],["args",{"_index":390,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["arguments",{"_index":1567,"title":{},"body":{"directives/NumberDirective.html":{}}}],["arising",{"_index":3082,"title":{},"body":{"license.html":{}}}],["array",{"_index":899,"title":{},"body":{"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["array.length",{"_index":353,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["arrays",{"_index":2971,"title":{},"body":{"miscellaneous/functions.html":{}}}],["arrived",{"_index":697,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["asct+b",{"_index":2448,"title":{},"body":{"changelog.html":{}}}],["assets/docs/spatial_search_readme.md",{"_index":691,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"miscellaneous/variables.html":{}}}],["assets/images/spatial_search.gif",{"_index":698,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["assignment/selection",{"_index":2567,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":1197,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{},"license.html":{}}}],["async",{"_index":349,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{}}}],["atlas",{"_index":2326,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["attempt",{"_index":1168,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["attempts",{"_index":2481,"title":{},"body":{"changelog.html":{}}}],["attrs",{"_index":65,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["attrs[key",{"_index":64,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["authors",{"_index":3074,"title":{},"body":{"license.html":{}}}],["auto",{"_index":1398,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["autocomplete",{"_index":266,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["autocompleteoption",{"_index":258,"title":{"interfaces/AutoCompleteOption.html":{}},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"coverage.html":{}}}],["autocompleter",{"_index":327,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["autocompletion",{"_index":303,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["autofocus",{"_index":737,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{}}}],["automatic",{"_index":2679,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":2638,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":984,"title":{},"body":{"components/DecoratedTextComponent.html":{},"injectables/GlobalsService.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{},"modules.html":{}}}],["avoid",{"_index":2524,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":433,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{}}}],["award",{"_index":3031,"title":{},"body":{"index.html":{}}}],["b",{"_index":1796,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["backend",{"_index":2468,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":646,"title":{},"body":{"components/CallToActionComponent.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{},"index.html":{}}}],["bar",{"_index":302,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["base",{"_index":1968,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"changelog.html":{}}}],["based",{"_index":933,"title":{},"body":{"components/DecoratedTextComponent.html":{},"injectables/LocalStorageService.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["basic",{"_index":2537,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["before",{"_index":2459,"title":{},"body":{"changelog.html":{}}}],["beginning",{"_index":1820,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["behavior",{"_index":467,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/OrganInfo.html":{}}}],["behavior'},{'name",{"_index":510,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["behavior.component",{"_index":556,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["behavior.component.html",{"_index":469,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["behavior.component.scss",{"_index":468,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["behavior.component.ts",{"_index":457,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"coverage.html":{}}}],["behavior.component.ts:20",{"_index":492,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["behavior.component.ts:23",{"_index":490,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["behavior.component.ts:26",{"_index":477,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["behavior.component.ts:29",{"_index":483,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["behavior.component.ts:37",{"_index":479,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["behavior.component.ts:44",{"_index":484,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["behavior.module.ts",{"_index":547,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{}}}],["behavior/call",{"_index":456,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"coverage.html":{}}}],["behaviorsubject",{"_index":1055,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["being",{"_index":1356,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"changelog.html":{}}}],["below",{"_index":645,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["beta",{"_index":2446,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":2503,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":1395,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"changelog.html":{}}}],["bind",{"_index":284,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"dependencies.html":{}}}],["binding",{"_index":1407,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["bladder",{"_index":1784,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["block",{"_index":596,"title":{},"body":{"components/CallToActionComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"changelog.html":{}}}],["blocks",{"_index":2384,"title":{},"body":{"changelog.html":{}}}],["blood",{"_index":1791,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["bmi",{"_index":141,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"changelog.html":{}}}],["bmirange",{"_index":142,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["board",{"_index":2741,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":366,"title":{},"body":{"modules/BodyUiModule.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"dependencies.html":{}}}],["bodycanvas",{"_index":2266,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["bodyui",{"_index":2207,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["bodyui.initialize",{"_index":2297,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["bodyuicomponent",{"_index":358,"title":{},"body":{"modules/BodyUiModule.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"overview.html":{}}}],["bodyuimodule",{"_index":354,"title":{"modules/BodyUiModule.html":{}},"body":{"modules/BodyUiModule.html":{},"modules.html":{},"overview.html":{}}}],["bold",{"_index":1981,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["boolean",{"_index":53,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PluckUniqueOptions.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["border",{"_index":603,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/OpacitySliderComponent.html":{},"components/TextSearchComponent.html":{}}}],["both",{"_index":146,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["bottom",{"_index":650,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/SpatialSearchListComponent.html":{}}}],["boundary",{"_index":1552,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"components/TrackingPopupComponent.html":{}}}],["bounds",{"_index":1033,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"interfaces/XYZTriplet.html":{}}}],["bounds(value",{"_index":2236,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["bounds.x",{"_index":2281,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["bounds.y",{"_index":2284,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["box",{"_index":694,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/OpacitySliderComponent.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["boxes",{"_index":764,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["brain",{"_index":1679,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["breaking",{"_index":2548,"title":{},"body":{"changelog.html":{}}}],["bringing",{"_index":2560,"title":{},"body":{"changelog.html":{}}}],["bronchus",{"_index":1734,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["browse",{"_index":3085,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":1242,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{},"dependencies.html":{},"modules.html":{}}}],["browserify",{"_index":2947,"title":{},"body":{"dependencies.html":{}}}],["browsing",{"_index":2788,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":2400,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":996,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"index.html":{}}}],["building",{"_index":940,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["builds",{"_index":2442,"title":{},"body":{"changelog.html":{}}}],["buster",{"_index":153,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["button",{"_index":458,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["button'},{'name",{"_index":516,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["button.component",{"_index":1329,"title":{},"body":{"modules/InfoButtonModule.html":{}}}],["button.component.html",{"_index":1289,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.component.scss",{"_index":1288,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.component.ts",{"_index":1287,"title":{},"body":{"components/InfoButtonComponent.html":{},"coverage.html":{}}}],["button.component.ts:22",{"_index":1297,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.component.ts:27",{"_index":1298,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.component.ts:29",{"_index":1296,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.component.ts:31",{"_index":1292,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.component.ts:51",{"_index":1302,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.component.ts:58",{"_index":1300,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.component.ts:76",{"_index":1304,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["button.module.ts",{"_index":1328,"title":{},"body":{"modules/InfoButtonModule.html":{}}}],["button.service",{"_index":673,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["button.service.ts",{"_index":1047,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"coverage.html":{}}}],["button.service.ts:31",{"_index":1335,"title":{},"body":{"injectables/InfoButtonService.html":{}}}],["button.service.ts:38",{"_index":1337,"title":{},"body":{"injectables/InfoButtonService.html":{}}}],["button.service.ts:52",{"_index":1336,"title":{},"body":{"injectables/InfoButtonService.html":{}}}],["button/info",{"_index":672,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/PanelData.html":{},"coverage.html":{}}}],["c",{"_index":1430,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{},"license.html":{}}}],["cache",{"_index":151,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalsService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"changelog.html":{},"dependencies.html":{}}}],["cache_config_no_params",{"_index":155,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["cache_config_params",{"_index":157,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["cacheable",{"_index":120,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"dependencies.html":{}}}],["cacheable(cache_config_no_params",{"_index":188,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["cacheable(cache_config_params",{"_index":200,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["cachebusterobserver",{"_index":156,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/variables.html":{}}}],["cached",{"_index":957,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["cacheresults",{"_index":430,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["call",{"_index":466,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["call_to_action",{"_index":751,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["callback",{"_index":2515,"title":{},"body":{"changelog.html":{},"miscellaneous/functions.html":{}}}],["called",{"_index":2551,"title":{},"body":{"changelog.html":{}}}],["calls",{"_index":2359,"title":{},"body":{"changelog.html":{}}}],["calltoaction",{"_index":470,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{}}}],["calltoaction(state",{"_index":776,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["calltoactionbehaviorcomponent",{"_index":448,"title":{"components/CallToActionBehaviorComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["calltoactionbehaviormodule",{"_index":541,"title":{"modules/CallToActionBehaviorModule.html":{}},"body":{"modules/CallToActionBehaviorModule.html":{},"modules.html":{},"overview.html":{}}}],["calltoactionclicked",{"_index":564,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["calltoactioncomponent",{"_index":511,"title":{"components/CallToActionComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"modules/CallToActionModule.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["calltoactionmodel",{"_index":653,"title":{"interfaces/CallToActionModel.html":{}},"body":{"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"coverage.html":{}}}],["calltoactionmodule",{"_index":546,"title":{"modules/CallToActionModule.html":{}},"body":{"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules.html":{},"overview.html":{}}}],["calltoactionpopupshown",{"_index":685,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"miscellaneous/variables.html":{}}}],["calltoactionselectors",{"_index":502,"title":{"classes/CallToActionSelectors.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"classes/CallToActionSelectors.html":{},"coverage.html":{}}}],["calltoactionstate",{"_index":703,"title":{"injectables/CallToActionState.html":{}},"body":{"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"coverage.html":{}}}],["calltoactionstate.ctadatepassed(expirationdate",{"_index":725,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["camera",{"_index":2238,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["camera(value",{"_index":2240,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["cancelregistration",{"_index":2514,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":2722,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":2894,"title":{},"body":{"dependencies.html":{}}}],["canvas",{"_index":2288,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["canvas.addeventlistener('contextmenu",{"_index":2294,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["card",{"_index":2541,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":1801,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["carouselcontainer",{"_index":1807,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["case",{"_index":1519,"title":{},"body":{"injectables/LocalStorageSyncService.html":{},"index.html":{}}}],["cases",{"_index":2696,"title":{},"body":{"changelog.html":{}}}],["cast",{"_index":161,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["catch",{"_index":1260,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{}}}],["ccf",{"_index":102,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["ccf's",{"_index":2659,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":2339,"title":{},"body":{"changelog.html":{}}}],["ccfdatabase",{"_index":408,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["ccfdatabase(config",{"_index":436,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["ccfdatabasedatasourcebaseservice",{"_index":368,"title":{"injectables/CCFDatabaseDataSourceBaseService.html":{}},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["ccfdatabasedatasourcebaseservice:20",{"_index":447,"title":{},"body":{"injectables/CCFDatabaseDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["ccfdatabasedatasourcebaseservice:39",{"_index":446,"title":{},"body":{"injectables/CCFDatabaseDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["ccfdatabasedatasourcebaseservice:53",{"_index":445,"title":{},"body":{"injectables/CCFDatabaseDataSourceService.html":{}}}],["ccfdatabasedatasourcebaseservice:65",{"_index":2180,"title":{},"body":{"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["ccfdatabasedatasourceservice",{"_index":435,"title":{"injectables/CCFDatabaseDataSourceService.html":{}},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["ccfdatabasemanager",{"_index":382,"title":{"interfaces/CCFDatabaseManager.html":{}},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["ccfdatabaseoptions",{"_index":383,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["cdr",{"_index":2005,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["cdr.markforcheck",{"_index":2032,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["cell",{"_index":2416,"title":{},"body":{"changelog.html":{}}}],["celltypeterms",{"_index":144,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["center",{"_index":598,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"index.html":{}}}],["change",{"_index":1175,"title":{},"body":{"injectables/GlobalsService.html":{},"components/StoreDebugComponent.html":{},"changelog.html":{},"index.html":{}}}],["changed",{"_index":958,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["changedetection",{"_index":310,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["changedetectionstrategy",{"_index":274,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["changedetectionstrategy.onpush",{"_index":311,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["changedetectorref",{"_index":2006,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["changelog",{"_index":2324,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changeopacity",{"_index":1595,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["changeopacity(newopacity",{"_index":1613,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["changes",{"_index":329,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/DecoratedTextComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"changelog.html":{}}}],["charge",{"_index":3041,"title":{},"body":{"license.html":{}}}],["check",{"_index":1172,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["choose",{"_index":2676,"title":{},"body":{"changelog.html":{}}}],["ci/cd",{"_index":2657,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":3077,"title":{},"body":{"license.html":{}}}],["class",{"_index":78,"title":{"classes/CallToActionSelectors.html":{},"classes/CloseDialog.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{}},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["classes",{"_index":774,"title":{},"body":{"classes/CallToActionSelectors.html":{},"classes/CloseDialog.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"overview.html":{}}}],["clean",{"_index":2399,"title":{},"body":{"changelog.html":{}}}],["cleans",{"_index":2013,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["cleanup",{"_index":2445,"title":{},"body":{"changelog.html":{}}}],["clear",{"_index":592,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"injectables/LocalStorageService.html":{}}}],["clearinterval(this.timeouthandler",{"_index":1879,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["clears",{"_index":1445,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["clearsubscriptions",{"_index":2319,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["click",{"_index":584,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{},"changelog.html":{}}}],["clicked",{"_index":464,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{}}}],["clicking",{"_index":2545,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":110,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"changelog.html":{},"index.html":{}}}],["clientheight",{"_index":1533,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["clientwidth",{"_index":1532,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["clientx",{"_index":1535,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["clienty",{"_index":1536,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["close",{"_index":471,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{}}}],["close(_ctx",{"_index":767,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["closeclicked",{"_index":565,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["closedialog",{"_index":498,"title":{"classes/CloseDialog.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"coverage.html":{}}}],["closes",{"_index":480,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["clsname",{"_index":315,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["cluster_analyticsmodule",{"_index":4,"title":{},"body":{"modules/AnalyticsModule.html":{},"overview.html":{}}}],["cluster_analyticsmodule_providers",{"_index":5,"title":{},"body":{"modules/AnalyticsModule.html":{},"overview.html":{}}}],["cluster_bodyuimodule",{"_index":355,"title":{},"body":{"modules/BodyUiModule.html":{},"overview.html":{}}}],["cluster_bodyuimodule_declarations",{"_index":356,"title":{},"body":{"modules/BodyUiModule.html":{},"overview.html":{}}}],["cluster_bodyuimodule_exports",{"_index":357,"title":{},"body":{"modules/BodyUiModule.html":{},"overview.html":{}}}],["cluster_calltoactionbehaviormodule",{"_index":542,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"overview.html":{}}}],["cluster_calltoactionbehaviormodule_declarations",{"_index":543,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"overview.html":{}}}],["cluster_calltoactionbehaviormodule_exports",{"_index":545,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"overview.html":{}}}],["cluster_calltoactionbehaviormodule_imports",{"_index":544,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"overview.html":{}}}],["cluster_calltoactionmodule",{"_index":769,"title":{},"body":{"modules/CallToActionModule.html":{},"overview.html":{}}}],["cluster_calltoactionmodule_declarations",{"_index":770,"title":{},"body":{"modules/CallToActionModule.html":{},"overview.html":{}}}],["cluster_calltoactionmodule_exports",{"_index":771,"title":{},"body":{"modules/CallToActionModule.html":{},"overview.html":{}}}],["cluster_decoratedtextmodule",{"_index":1040,"title":{},"body":{"modules/DecoratedTextModule.html":{},"overview.html":{}}}],["cluster_decoratedtextmodule_declarations",{"_index":1041,"title":{},"body":{"modules/DecoratedTextModule.html":{},"overview.html":{}}}],["cluster_decoratedtextmodule_exports",{"_index":1042,"title":{},"body":{"modules/DecoratedTextModule.html":{},"overview.html":{}}}],["cluster_infobuttonmodule",{"_index":1323,"title":{},"body":{"modules/InfoButtonModule.html":{},"overview.html":{}}}],["cluster_infobuttonmodule_declarations",{"_index":1325,"title":{},"body":{"modules/InfoButtonModule.html":{},"overview.html":{}}}],["cluster_infobuttonmodule_exports",{"_index":1324,"title":{},"body":{"modules/InfoButtonModule.html":{},"overview.html":{}}}],["cluster_infobuttonmodule_imports",{"_index":1326,"title":{},"body":{"modules/InfoButtonModule.html":{},"overview.html":{}}}],["cluster_infodialogmodule",{"_index":1413,"title":{},"body":{"modules/InfoDialogModule.html":{},"overview.html":{}}}],["cluster_infodialogmodule_declarations",{"_index":1415,"title":{},"body":{"modules/InfoDialogModule.html":{},"overview.html":{}}}],["cluster_infodialogmodule_exports",{"_index":1414,"title":{},"body":{"modules/InfoDialogModule.html":{},"overview.html":{}}}],["cluster_numbersonlymodule",{"_index":1581,"title":{},"body":{"modules/NumbersOnlyModule.html":{},"overview.html":{}}}],["cluster_numbersonlymodule_declarations",{"_index":1583,"title":{},"body":{"modules/NumbersOnlyModule.html":{},"overview.html":{}}}],["cluster_numbersonlymodule_exports",{"_index":1582,"title":{},"body":{"modules/NumbersOnlyModule.html":{},"overview.html":{}}}],["cluster_opacityslidermodule",{"_index":1642,"title":{},"body":{"modules/OpacitySliderModule.html":{},"overview.html":{}}}],["cluster_opacityslidermodule_declarations",{"_index":1643,"title":{},"body":{"modules/OpacitySliderModule.html":{},"overview.html":{}}}],["cluster_opacityslidermodule_exports",{"_index":1644,"title":{},"body":{"modules/OpacitySliderModule.html":{},"overview.html":{}}}],["cluster_organselectormodule",{"_index":1907,"title":{},"body":{"modules/OrganSelectorModule.html":{},"overview.html":{}}}],["cluster_organselectormodule_declarations",{"_index":1908,"title":{},"body":{"modules/OrganSelectorModule.html":{},"overview.html":{}}}],["cluster_organselectormodule_exports",{"_index":1909,"title":{},"body":{"modules/OrganSelectorModule.html":{},"overview.html":{}}}],["cluster_spatialsearchlistmodule",{"_index":1986,"title":{},"body":{"modules/SpatialSearchListModule.html":{},"overview.html":{}}}],["cluster_spatialsearchlistmodule_declarations",{"_index":1988,"title":{},"body":{"modules/SpatialSearchListModule.html":{},"overview.html":{}}}],["cluster_spatialsearchlistmodule_exports",{"_index":1987,"title":{},"body":{"modules/SpatialSearchListModule.html":{},"overview.html":{}}}],["cluster_storedebugmodule",{"_index":2039,"title":{},"body":{"modules/StoreDebugModule.html":{},"overview.html":{}}}],["cluster_storedebugmodule_declarations",{"_index":2041,"title":{},"body":{"modules/StoreDebugModule.html":{},"overview.html":{}}}],["cluster_storedebugmodule_exports",{"_index":2040,"title":{},"body":{"modules/StoreDebugModule.html":{},"overview.html":{}}}],["cluster_textsearchmodule",{"_index":2072,"title":{},"body":{"modules/TextSearchModule.html":{},"overview.html":{}}}],["cluster_textsearchmodule_declarations",{"_index":2075,"title":{},"body":{"modules/TextSearchModule.html":{},"overview.html":{}}}],["cluster_textsearchmodule_exports",{"_index":2074,"title":{},"body":{"modules/TextSearchModule.html":{},"overview.html":{}}}],["cluster_textsearchmodule_imports",{"_index":2073,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["cluster_trackingpopupmodule",{"_index":2153,"title":{},"body":{"modules/TrackingPopupModule.html":{},"overview.html":{}}}],["cluster_trackingpopupmodule_declarations",{"_index":2154,"title":{},"body":{"modules/TrackingPopupModule.html":{},"overview.html":{}}}],["cluster_trackingpopupmodule_exports",{"_index":2155,"title":{},"body":{"modules/TrackingPopupModule.html":{},"overview.html":{}}}],["cluster_xyzpositionmodule",{"_index":2200,"title":{},"body":{"modules/XYZPositionModule.html":{},"overview.html":{}}}],["cluster_xyzpositionmodule_declarations",{"_index":2201,"title":{},"body":{"modules/XYZPositionModule.html":{},"overview.html":{}}}],["cluster_xyzpositionmodule_exports",{"_index":2202,"title":{},"body":{"modules/XYZPositionModule.html":{},"overview.html":{}}}],["code",{"_index":1477,"title":{},"body":{"injectables/LocalStorageService.html":{},"changelog.html":{}}}],["codebase",{"_index":2667,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":2708,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":2753,"title":{},"body":{"changelog.html":{}}}],["collaboration",{"_index":2665,"title":{},"body":{"changelog.html":{}}}],["collisions",{"_index":2681,"title":{},"body":{"changelog.html":{}}}],["color",{"_index":613,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["colorizing",{"_index":2716,"title":{},"body":{"changelog.html":{}}}],["column",{"_index":2197,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["combination",{"_index":2677,"title":{},"body":{"changelog.html":{}}}],["combinelatest",{"_index":111,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["combines",{"_index":1927,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["come",{"_index":2712,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":2705,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":412,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"dependencies.html":{}}}],["command",{"_index":67,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["common",{"_index":1238,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{},"index.html":{}}}],["commonmodule",{"_index":364,"title":{},"body":{"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{}}}],["compare",{"_index":1919,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["comparison",{"_index":1921,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["compiler",{"_index":1547,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["completely",{"_index":1174,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["complexity",{"_index":2574,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":2438,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":275,"title":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["component_template",{"_index":508,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["components",{"_index":449,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{},"overview.html":{}}}],["components/call",{"_index":668,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["components/info/info",{"_index":671,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["computed",{"_index":966,"title":{},"body":{"components/DecoratedTextComponent.html":{},"injectables/GlobalConfigState.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["computes",{"_index":1961,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["comunica/query",{"_index":2862,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":1025,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"dependencies.html":{}}}],["concat(op.added",{"_index":1026,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["conditions",{"_index":3061,"title":{},"body":{"license.html":{}}}],["config",{"_index":152,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"changelog.html":{}}}],["config.state",{"_index":124,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["config.state.ts",{"_index":1104,"title":{},"body":{"injectables/GlobalConfigState.html":{},"coverage.html":{}}}],["config.state.ts:19",{"_index":1135,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:22",{"_index":1137,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:26",{"_index":1134,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:30",{"_index":1131,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:34",{"_index":1128,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:42",{"_index":1115,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:43",{"_index":1117,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:44",{"_index":1119,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:45",{"_index":1121,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:46",{"_index":1123,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config.state.ts:62",{"_index":1125,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["config/global",{"_index":123,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["configurable",{"_index":1215,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["configuration",{"_index":2333,"title":{},"body":{"changelog.html":{}}}],["configurations",{"_index":2510,"title":{},"body":{"changelog.html":{}}}],["confirmation",{"_index":2480,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":2519,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":2466,"title":{},"body":{"changelog.html":{}}}],["connectdatabase",{"_index":374,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["connectdatabase(manager",{"_index":381,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["connection",{"_index":3083,"title":{},"body":{"license.html":{}}}],["consent",{"_index":812,"title":{},"body":{"injectables/ConsentService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageSyncService.html":{},"components/TrackingPopupComponent.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["consent.service",{"_index":42,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageSyncService.html":{}}}],["consentchange",{"_index":813,"title":{},"body":{"injectables/ConsentService.html":{}}}],["consentservice",{"_index":6,"title":{"injectables/ConsentService.html":{}},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"injectables/ConsentService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageSyncService.html":{},"components/TrackingPopupComponent.html":{},"coverage.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["consentservice.consentchange.subscribe(consent",{"_index":1513,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["consentservice.setconsent(this.loadconsent",{"_index":1511,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["consortium",{"_index":3036,"title":{},"body":{"license.html":{}}}],["const",{"_index":54,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{}}}],["constrained",{"_index":2980,"title":{},"body":{"miscellaneous/functions.html":{}}}],["constructor",{"_index":179,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["constructor(api",{"_index":238,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["constructor(consentservice",{"_index":1267,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageSyncService.html":{}}}],["constructor(defaultmaxoptions",{"_index":2047,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["constructor(dialog",{"_index":799,"title":{},"body":{"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{}}}],["constructor(dialogref",{"_index":1351,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["constructor(el",{"_index":1564,"title":{},"body":{"directives/NumberDirective.html":{}}}],["constructor(elementref",{"_index":2100,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["constructor(globalconfig",{"_index":379,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["constructor(http",{"_index":1334,"title":{},"body":{"injectables/InfoButtonService.html":{}}}],["constructor(private",{"_index":1060,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"directives/NumberDirective.html":{},"interfaces/PanelData.html":{}}}],["constructor(store",{"_index":2004,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["container",{"_index":971,"title":{},"body":{"components/DecoratedTextComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["containers",{"_index":2505,"title":{},"body":{"changelog.html":{}}}],["containing",{"_index":2986,"title":{},"body":{"index.html":{}}}],["contains",{"_index":1656,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["containting",{"_index":728,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["content",{"_index":594,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"injectables/GlobalsService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/OpacitySliderComponent.html":{},"interfaces/PanelData.html":{},"components/SpatialSearchListComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["content.title",{"_index":1387,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["contents",{"_index":1368,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["continuously",{"_index":1863,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["contract",{"_index":3080,"title":{},"body":{"license.html":{}}}],["control",{"_index":2626,"title":{},"body":{"changelog.html":{}}}],["controller",{"_index":335,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["controls",{"_index":702,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["convert",{"_index":1072,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["coordinate",{"_index":2981,"title":{},"body":{"index.html":{}}}],["copies",{"_index":3056,"title":{},"body":{"license.html":{}}}],["copy",{"_index":3044,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":3035,"title":{},"body":{"license.html":{}}}],["cord",{"_index":1765,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["cors",{"_index":2899,"title":{},"body":{"dependencies.html":{}}}],["cover",{"_index":641,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["coverage",{"_index":2737,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["created",{"_index":1020,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["createdatabase",{"_index":377,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["createdatabase(config",{"_index":386,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["creates",{"_index":339,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"directives/NumberDirective.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{}}}],["createsegments",{"_index":917,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["createstackops",{"_index":918,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["createstackops(ranges",{"_index":935,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["createworker",{"_index":2179,"title":{},"body":{"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["createworker(config",{"_index":439,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["creation",{"_index":1294,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["credits",{"_index":3022,"title":{},"body":{"index.html":{}}}],["csp",{"_index":1250,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["css",{"_index":1670,"title":{},"body":{"interfaces/OrganInfo.html":{},"dependencies.html":{}}}],["cta",{"_index":633,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["ctadatepassed",{"_index":797,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["ctadatepassed(expirationdate",{"_index":712,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["ctx",{"_index":755,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["ctx.dispatch(new",{"_index":727,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["ctx.getstate",{"_index":721,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["ctx.patchstate",{"_index":763,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["cuboid",{"_index":2735,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":2734,"title":{},"body":{"changelog.html":{}}}],["current",{"_index":964,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{}}}],["currently",{"_index":1816,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["cursor",{"_index":611,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["custom",{"_index":1920,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["cyberinfrastructure",{"_index":3024,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":2584,"title":{},"body":{"changelog.html":{}}}],["d",{"_index":1185,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{}}}],["damages",{"_index":3078,"title":{},"body":{"license.html":{}}}],["dark/light",{"_index":2516,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":126,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/PanelData.html":{},"components/StoreDebugComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"changelog.html":{}}}],["data.content",{"_index":1315,"title":{},"body":{"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["data.content.length",{"_index":1307,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["data.infotitle",{"_index":1314,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["data.split",{"_index":1079,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["data.title",{"_index":1374,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["data.videoid",{"_index":1316,"title":{},"body":{"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["dataaction",{"_index":2162,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["database",{"_index":103,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"changelog.html":{}}}],["database.service.ts",{"_index":370,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["database.service.ts:20",{"_index":380,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{}}}],["database.service.ts:37",{"_index":387,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{}}}],["database.service.ts:39",{"_index":384,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{}}}],["database.service.ts:63",{"_index":2181,"title":{},"body":{"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["database[releaseproxy",{"_index":443,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["databasestatus",{"_index":104,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{}}}],["datareviver",{"_index":133,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/typealiases.html":{}}}],["datasets",{"_index":2594,"title":{},"body":{"changelog.html":{}}}],["datasource",{"_index":125,"title":{"interfaces/DataSource.html":{}},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"coverage.html":{}}}],["datasource[k",{"_index":851,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["datasourcedatatype",{"_index":852,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"miscellaneous/typealiases.html":{}}}],["datasourcelike",{"_index":416,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"miscellaneous/typealiases.html":{}}}],["datasourcelikemethod",{"_index":849,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"miscellaneous/typealiases.html":{}}}],["datasourcemethod",{"_index":850,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"miscellaneous/typealiases.html":{}}}],["datasourceservice",{"_index":871,"title":{"injectables/DataSourceService.html":{}},"body":{"injectables/DataSourceService.html":{},"coverage.html":{}}}],["date",{"_index":706,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["date(expirationdate",{"_index":716,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["date.now",{"_index":713,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["deal",{"_index":3046,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":3084,"title":{},"body":{"license.html":{}}}],["debug",{"_index":2001,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["debug'},{'name",{"_index":529,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["debug.component",{"_index":2043,"title":{},"body":{"modules/StoreDebugModule.html":{}}}],["debug.component.html",{"_index":2003,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["debug.component.scss",{"_index":2002,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["debug.component.ts",{"_index":1999,"title":{},"body":{"components/StoreDebugComponent.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["debug.component.ts:21",{"_index":2011,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["debug.component.ts:26",{"_index":2017,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["debug.component.ts:34",{"_index":2014,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["debug.component.ts:37",{"_index":2007,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["debug.component.ts:58",{"_index":2012,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["debug.module.ts",{"_index":2042,"title":{},"body":{"modules/StoreDebugModule.html":{}}}],["debug/store",{"_index":1998,"title":{},"body":{"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["dec",{"_index":699,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["december",{"_index":2672,"title":{},"body":{"changelog.html":{}}}],["decides",{"_index":1844,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["deck.gl/core",{"_index":2864,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":2866,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":2869,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":2870,"title":{},"body":{"dependencies.html":{}}}],["deckgl",{"_index":2262,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["declarations",{"_index":362,"title":{},"body":{"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/NumbersOnlyModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{}}}],["declare",{"_index":1212,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["decorated",{"_index":290,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["decoratedrange",{"_index":289,"title":{"interfaces/DecoratedRange.html":{}},"body":{"interfaces/AutoCompleteOption.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["decoratedtextcomponent",{"_index":513,"title":{"components/DecoratedTextComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["decoratedtextmodule",{"_index":1039,"title":{"modules/DecoratedTextModule.html":{}},"body":{"modules/DecoratedTextModule.html":{},"modules/TextSearchModule.html":{},"modules.html":{},"overview.html":{}}}],["decoration",{"_index":949,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["decorations",{"_index":267,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{}}}],["decorations.length",{"_index":983,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["decorations.reduce",{"_index":1037,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["decorator",{"_index":285,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/TextSearchComponent.html":{},"dependencies.html":{}}}],["decorators",{"_index":245,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"components/InfoDialogComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"components/XYZPositionComponent.html":{}}}],["deep",{"_index":1389,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{}}}],["deeply",{"_index":2470,"title":{},"body":{"changelog.html":{}}}],["def",{"_index":1184,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["default",{"_index":292,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"components/DecoratedTextComponent.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"components/OpacitySliderComponent.html":{},"classes/OpenDialog.html":{},"interfaces/PluckUniqueOptions.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["default_max_options",{"_index":297,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["default_options",{"_index":1926,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["defaultmaxoptions",{"_index":342,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["defaultparams",{"_index":136,"title":{"interfaces/DefaultParams.html":{}},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{}}}],["defaults",{"_index":693,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalConfigState.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"miscellaneous/functions.html":{}}}],["defaultservice",{"_index":105,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["defaultvalue",{"_index":1447,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["define",{"_index":1049,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["defined",{"_index":24,"title":{},"body":{"modules/AnalyticsModule.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"classes/OpenDialog.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["defining",{"_index":709,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["delegate.service.ts",{"_index":1425,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{},"coverage.html":{}}}],["delegate.service.ts:11",{"_index":1428,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["delegate.service.ts:28",{"_index":1431,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["delegatedatasource",{"_index":372,"title":{"classes/DelegateDataSource.html":{}},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["delegatedatasource:11",{"_index":1433,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["delegatedatasource:19",{"_index":406,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["delete",{"_index":1223,"title":{},"body":{"injectables/GlobalsService.html":{},"components/SpatialSearchListComponent.html":{}}}],["delete_outlined",{"_index":1980,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["demo",{"_index":2487,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":3,"title":{"dependencies.html":{}},"body":{"modules/AnalyticsModule.html":{},"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/NumbersOnlyModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{},"changelog.html":{},"dependencies.html":{},"overview.html":{}}}],["depending",{"_index":1247,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{}}}],["depends",{"_index":1230,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["deps",{"_index":77,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["descrepancies",{"_index":2382,"title":{},"body":{"changelog.html":{}}}],["description",{"_index":262,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DocumentationContent.html":{},"injectables/GlobalsService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/LocalStorageService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/XYZPositionComponent.html":{},"miscellaneous/functions.html":{}}}],["destroyed",{"_index":1303,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["detaches",{"_index":1842,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["details",{"_index":463,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"changelog.html":{}}}],["detection",{"_index":2010,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["detects",{"_index":587,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"interfaces/OrganInfo.html":{}}}],["determines",{"_index":704,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/OrganInfo.html":{}}}],["determining",{"_index":681,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/PluckUniqueOptions.html":{},"miscellaneous/variables.html":{}}}],["dev",{"_index":431,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["developed",{"_index":3023,"title":{},"body":{"index.html":{}}}],["developmentmode",{"_index":52,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["developments",{"_index":2758,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":481,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"interfaces/PanelData.html":{},"changelog.html":{}}}],["dialog's",{"_index":1355,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["dialog'},{'name",{"_index":518,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["dialog.component",{"_index":675,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{},"modules/InfoDialogModule.html":{}}}],["dialog.component.html",{"_index":1346,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["dialog.component.scss",{"_index":1345,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["dialog.component.ts",{"_index":1339,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"coverage.html":{}}}],["dialog.component.ts:26",{"_index":1367,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["dialog.component.ts:30",{"_index":1369,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["dialog.component.ts:34",{"_index":1354,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["dialog.component.ts:42",{"_index":1366,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["dialog.component.ts:43",{"_index":1365,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["dialog.component.ts:53",{"_index":1359,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["dialog.component.ts:62",{"_index":1358,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["dialog.module",{"_index":1331,"title":{},"body":{"modules/InfoButtonModule.html":{}}}],["dialog.module.ts",{"_index":1416,"title":{},"body":{"modules/InfoDialogModule.html":{}}}],["dialog/info",{"_index":674,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"coverage.html":{}}}],["dialogref",{"_index":1348,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["dialogs",{"_index":1312,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["dialogue",{"_index":1301,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["different",{"_index":2504,"title":{},"body":{"changelog.html":{}}}],["digits",{"_index":2651,"title":{},"body":{"changelog.html":{}}}],["dir",{"_index":1852,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["direct",{"_index":2776,"title":{},"body":{"changelog.html":{}}}],["direction",{"_index":1853,"title":{},"body":{"interfaces/OrganInfo.html":{},"components/XYZPositionComponent.html":{}}}],["directive",{"_index":506,"title":{"directives/NumberDirective.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["directives",{"_index":537,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["directly",{"_index":2706,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":1253,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/OrganInfo.html":{},"components/TrackingPopupComponent.html":{}}}],["disabled",{"_index":1273,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"miscellaneous/variables.html":{}}}],["disables",{"_index":1891,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["dismiss",{"_index":2096,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["dispatch",{"_index":478,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["display",{"_index":595,"title":{},"body":{"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["displayed",{"_index":273,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["displayerrors",{"_index":1814,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["displaying",{"_index":1340,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/StoreDebugComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["displays",{"_index":461,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["distance",{"_index":1825,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["distinct",{"_index":1922,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["distinctuntilchanged",{"_index":287,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"interfaces/PluckUniqueOptions.html":{},"components/TextSearchComponent.html":{},"miscellaneous/functions.html":{}}}],["distinctuntilchanged(opts.compare",{"_index":1942,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["distribute",{"_index":3052,"title":{},"body":{"license.html":{}}}],["div",{"_index":2263,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["doc",{"_index":689,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["docs",{"_index":2398,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":1525,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"dependencies.html":{}}}],["document).body",{"_index":1556,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["document.body.appendchild(tag",{"_index":1379,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["document.createelement('script",{"_index":1376,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["document.getelementsbyclassname('modal",{"_index":1380,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["documentation",{"_index":1051,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/PanelData.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["documentationcontent",{"_index":669,"title":{"interfaces/DocumentationContent.html":{}},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/PanelData.html":{},"coverage.html":{}}}],["documentationcontents",{"_index":1349,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["documentationurl",{"_index":1291,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["dom",{"_index":452,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["domexception",{"_index":1469,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["don't",{"_index":990,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["done",{"_index":1002,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["donor",{"_index":2540,"title":{},"body":{"changelog.html":{}}}],["donors",{"_index":2597,"title":{},"body":{"changelog.html":{}}}],["dorequest",{"_index":215,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["dorequest(method",{"_index":240,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["dotenv",{"_index":2904,"title":{},"body":{"dependencies.html":{}}}],["download",{"_index":2767,"title":{},"body":{"changelog.html":{}}}],["during",{"_index":1178,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{}}}],["dynamic",{"_index":2860,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":2377,"title":{},"body":{"changelog.html":{}}}],["each",{"_index":1050,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"miscellaneous/functions.html":{}}}],["eagerly_loaded_services",{"_index":55,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["easier",{"_index":2422,"title":{},"body":{"changelog.html":{}}}],["east",{"_index":3006,"title":{},"body":{"index.html":{}}}],["effect",{"_index":973,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["efficiency",{"_index":2618,"title":{},"body":{"changelog.html":{}}}],["el",{"_index":1534,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"miscellaneous/functions.html":{}}}],["element",{"_index":505,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/functions.html":{}}}],["elementref",{"_index":1565,"title":{},"body":{"directives/NumberDirective.html":{},"interfaces/OrganInfo.html":{},"components/TrackingPopupComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["elementref.nativeelement",{"_index":2119,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["embedded",{"_index":2508,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":2501,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":2499,"title":{},"body":{"changelog.html":{}}}],["emitevent",{"_index":320,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["emits",{"_index":328,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{}}}],["emitted",{"_index":2974,"title":{},"body":{"miscellaneous/functions.html":{}}}],["emitter",{"_index":1609,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["emmitter",{"_index":577,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["empty",{"_index":979,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["end",{"_index":888,"title":{},"body":{"interfaces/DecoratedRange.html":{},"interfaces/OrganInfo.html":{},"miscellaneous/functions.html":{}}}],["endpoint",{"_index":226,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["endpoint.service.ts",{"_index":90,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["endpoint.service.ts:104",{"_index":249,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:109",{"_index":253,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:114",{"_index":250,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:119",{"_index":252,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:127",{"_index":248,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:135",{"_index":254,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:143",{"_index":257,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:151",{"_index":246,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:159",{"_index":251,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:167",{"_index":247,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:175",{"_index":256,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:183",{"_index":255,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:190",{"_index":241,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:195",{"_index":243,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:201",{"_index":244,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["endpoint.service.ts:96",{"_index":239,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{}}}],["ensures",{"_index":2174,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["entry",{"_index":2109,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["entry[1",{"_index":1016,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["environment",{"_index":1231,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["error",{"_index":1467,"title":{},"body":{"injectables/LocalStorageService.html":{},"interfaces/OrganInfo.html":{}}}],["error.code",{"_index":1473,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["error.name",{"_index":1479,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["errors",{"_index":1262,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["es",{"_index":2895,"title":{},"body":{"dependencies.html":{}}}],["eslint",{"_index":1252,"title":{},"body":{"injectables/GlobalsService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/OrganInfo.html":{},"components/TrackingPopupComponent.html":{}}}],["eslint/explicit",{"_index":1551,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"components/TrackingPopupComponent.html":{}}}],["eslint/no",{"_index":1256,"title":{},"body":{"injectables/GlobalsService.html":{},"modules/MousePositionTrackerModule.html":{},"components/TrackingPopupComponent.html":{}}}],["especially",{"_index":1176,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["etc",{"_index":2523,"title":{},"body":{"changelog.html":{}}}],["eui",{"_index":571,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":2434,"title":{},"body":{"changelog.html":{}}}],["eval",{"_index":1258,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["even",{"_index":1196,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["event",{"_index":745,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"license.html":{}}}],["event.stoppropagation",{"_index":1579,"title":{},"body":{"directives/NumberDirective.html":{}}}],["eventemitter",{"_index":276,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["events",{"_index":1539,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"components/OpacitySliderComponent.html":{}}}],["events.subscribe(data",{"_index":1544,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["eventually",{"_index":1672,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["everything",{"_index":1470,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["evt",{"_index":2295,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["evt.preventdefault",{"_index":2296,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["except",{"_index":1471,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["exclusive",{"_index":891,"title":{},"body":{"interfaces/DecoratedRange.html":{}}}],["exists",{"_index":1199,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["expanded",{"_index":1818,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["expiered",{"_index":711,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["expiration",{"_index":705,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["expirationdate",{"_index":659,"title":{},"body":{"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{}}}],["expirationdate(state",{"_index":779,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["expire",{"_index":715,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["explicit",{"_index":1550,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"components/TrackingPopupComponent.html":{}}}],["exploration",{"_index":695,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"index.html":{}}}],["export",{"_index":46,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{}}}],["exported",{"_index":127,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["exports",{"_index":363,"title":{},"body":{"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/NumbersOnlyModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{}}}],["express",{"_index":2906,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["ext/operators",{"_index":1147,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["ext/operators/src/lib/filter",{"_index":2799,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["ext/operators/src/lib/flatten.ts",{"_index":2802,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["ext/operators/src/lib/inner",{"_index":2804,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["ext/operators/src/lib/pluck",{"_index":1915,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["ext/src/public",{"_index":2808,"title":{},"body":{"coverage.html":{},"miscellaneous/variables.html":{}}}],["extends",{"_index":371,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["external",{"_index":2513,"title":{},"body":{"changelog.html":{}}}],["extra",{"_index":2911,"title":{},"body":{"dependencies.html":{}}}],["extraction",{"_index":2485,"title":{},"body":{"changelog.html":{}}}],["eye",{"_index":1687,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["f",{"_index":1747,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["factory",{"_index":298,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"injectables/LocalStorageSyncService.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["fade",{"_index":1383,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["fail",{"_index":1246,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{}}}],["fails",{"_index":1449,"title":{},"body":{"injectables/LocalStorageService.html":{},"modules/MousePositionTrackerModule.html":{},"changelog.html":{}}}],["fallopian",{"_index":1694,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["fallthrough",{"_index":1520,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["false",{"_index":321,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalsService.html":{},"components/InfoButtonComponent.html":{},"injectables/LocalStorageService.html":{},"interfaces/OrganInfo.html":{},"components/TextSearchComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"miscellaneous/variables.html":{}}}],["favor",{"_index":2661,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":2374,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":2585,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":2617,"title":{},"body":{"changelog.html":{}}}],["female",{"_index":147,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["fetch",{"_index":1666,"title":{},"body":{"interfaces/OrganInfo.html":{},"dependencies.html":{}}}],["fetches",{"_index":345,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["field",{"_index":1476,"title":{},"body":{"injectables/LocalStorageService.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"changelog.html":{}}}],["fields",{"_index":980,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["file",{"_index":15,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{}}}],["files",{"_index":3045,"title":{},"body":{"license.html":{}}}],["filled",{"_index":946,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["filler",{"_index":1982,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["filter",{"_index":97,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["filter(config",{"_index":421,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["filter(item",{"_index":1017,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["filter(range",{"_index":1034,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["filternulls",{"_index":1145,"title":{},"body":{"injectables/GlobalConfigState.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["filterparams",{"_index":138,"title":{"interfaces/FilterParams.html":{}},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["filters",{"_index":943,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["filtertoparams",{"_index":2839,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["filtertoparams(filter",{"_index":219,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/functions.html":{}}}],["final",{"_index":2663,"title":{},"body":{"changelog.html":{}}}],["find",{"_index":347,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["findglobalobject",{"_index":1165,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["finishing",{"_index":2483,"title":{},"body":{"changelog.html":{}}}],["firefox",{"_index":1472,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["first",{"_index":620,"title":{},"body":{"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["fit",{"_index":640,"title":{},"body":{"components/CallToActionComponent.html":{},"changelog.html":{}}}],["fitness",{"_index":3070,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":2576,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":2334,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":2717,"title":{},"body":{"changelog.html":{}}}],["flatten",{"_index":2803,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["flattens",{"_index":2969,"title":{},"body":{"miscellaneous/functions.html":{}}}],["flex",{"_index":622,"title":{},"body":{"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["flexible",{"_index":2393,"title":{},"body":{"changelog.html":{}}}],["float",{"_index":1410,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["fly",{"_index":2784,"title":{},"body":{"changelog.html":{}}}],["following",{"_index":3060,"title":{},"body":{"license.html":{}}}],["font",{"_index":615,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/XYZPositionComponent.html":{}}}],["form",{"_index":334,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"changelog.html":{}}}],["format",{"_index":2188,"title":{},"body":{"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["formatdata",{"_index":1530,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["formcontrol",{"_index":282,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["formsmodule",{"_index":2079,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["forroot",{"_index":21,"title":{},"body":{"modules/AnalyticsModule.html":{}}}],["forroot(options",{"_index":22,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["forwardcall",{"_index":378,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardcall(method",{"_index":388,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource",{"_index":392,"title":{"classes/ForwardingDataSource.html":{}},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["forwardingdatasource:36",{"_index":397,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:40",{"_index":401,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:44",{"_index":398,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:48",{"_index":400,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:52",{"_index":396,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:56",{"_index":402,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:60",{"_index":405,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:64",{"_index":394,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:68",{"_index":399,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:72",{"_index":395,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:76",{"_index":404,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:80",{"_index":403,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["forwardingdatasource:93",{"_index":393,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["found",{"_index":348,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"injectables/GlobalsService.html":{},"components/TextSearchComponent.html":{}}}],["frame",{"_index":2598,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":2982,"title":{},"body":{"index.html":{}}}],["free",{"_index":3040,"title":{},"body":{"license.html":{}}}],["fromevent",{"_index":1526,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["fromevent(el",{"_index":1540,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["fs",{"_index":2910,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":1029,"title":{},"body":{"components/DecoratedTextComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/LocalStorageService.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["fullscreen",{"_index":2742,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":2586,"title":{},"body":{"changelog.html":{}}}],["func",{"_index":1254,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["function",{"_index":56,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DecoratedRange.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/InfoButtonService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"components/TextSearchComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["function('return",{"_index":1259,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["functionality",{"_index":304,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"injectables/GlobalsService.html":{},"components/TextSearchComponent.html":{}}}],["functionaliy",{"_index":1928,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["functions",{"_index":2957,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["funded",{"_index":3029,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":3059,"title":{},"body":{"license.html":{}}}],["further",{"_index":2738,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":2577,"title":{},"body":{"changelog.html":{}}}],["ga",{"_index":717,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"modules/MousePositionTrackerModule.html":{},"miscellaneous/functions.html":{}}}],["ga.event('webpage",{"_index":1545,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["gatoken",{"_index":48,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["generate",{"_index":2418,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":2439,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":2378,"title":{},"body":{"changelog.html":{}}}],["get(key",{"_index":1181,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["getaggregateresults",{"_index":232,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getaggregateresults(filter",{"_index":203,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getallowtelemetry",{"_index":2112,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["getcelltypetermoccurences",{"_index":233,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getcelltypetermoccurences(filter",{"_index":207,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getcelltypetreemodel",{"_index":196,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getconfig",{"_index":1136,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["getdata",{"_index":2016,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["getdatabasestatus",{"_index":185,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getdatasettechnologynames",{"_index":191,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getdialogdata",{"_index":729,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["getitem",{"_index":1441,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["getitem(key",{"_index":1446,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["getlength",{"_index":1484,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["getnormalizeddecorations",{"_index":919,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["getobj",{"_index":1207,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["getontologytermoccurences",{"_index":234,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getontologytermoccurences(filter",{"_index":205,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getontologytreemodel",{"_index":193,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getop",{"_index":1005,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["getop(range.end).removed.push(range",{"_index":1008,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["getop(range.start).added.push(range",{"_index":1007,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["getoption",{"_index":1107,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["getoption(...path",{"_index":1120,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["getoption(k1",{"_index":1113,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["getoptions",{"_index":2044,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["getoptions(search",{"_index":350,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["getpathkey",{"_index":1108,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["getpathkey(path",{"_index":1124,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["getproperty",{"_index":1109,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["getproperty(path",{"_index":1126,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["getprovidernames",{"_index":189,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getreferenceorgans",{"_index":198,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getreferenceorganscene",{"_index":235,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getreferenceorganscene(organiri",{"_index":212,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["gets",{"_index":1183,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{}}}],["getscene",{"_index":236,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getscene(filter",{"_index":209,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["gettelemetrystoragesetting",{"_index":2167,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["getting",{"_index":2322,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["gettissueblockresults",{"_index":237,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["gettissueblockresults(filter",{"_index":201,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["getvalue",{"_index":2064,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["github",{"_index":2653,"title":{},"body":{"changelog.html":{}}}],["given",{"_index":826,"title":{},"body":{"injectables/ConsentService.html":{},"injectables/LocalStorageSyncService.html":{},"components/TrackingPopupComponent.html":{},"miscellaneous/typealiases.html":{}}}],["gizmo",{"_index":2527,"title":{},"body":{"changelog.html":{}}}],["gland",{"_index":1720,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["global",{"_index":1164,"title":{},"body":{"injectables/GlobalsService.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["globalconfig",{"_index":183,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"changelog.html":{}}}],["globalconfig.config$.pipe",{"_index":420,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["globalconfig.getoption('hubmaptoken",{"_index":221,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["globalconfig.getoption('hubmaptoken').subscribe(buster",{"_index":184,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["globalconfig.getoption('remoteapiendpoint",{"_index":220,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["globalconfigstate",{"_index":122,"title":{"injectables/GlobalConfigState.html":{}},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["globalkey",{"_index":1188,"title":{},"body":{"injectables/GlobalsService.html":{},"miscellaneous/typealiases.html":{}}}],["globalsservice",{"_index":1161,"title":{"injectables/GlobalsService.html":{}},"body":{"injectables/GlobalsService.html":{},"coverage.html":{}}}],["globalthis",{"_index":1180,"title":{},"body":{"injectables/GlobalsService.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["globalthis[k",{"_index":1218,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["good",{"_index":2691,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":40,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"changelog.html":{},"dependencies.html":{}}}],["googleanalyticsservice",{"_index":667,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"modules/MousePositionTrackerModule.html":{}}}],["googleanalyticssyncservice",{"_index":8,"title":{"injectables/GoogleAnalyticsSyncService.html":{}},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"coverage.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["granted",{"_index":3039,"title":{},"body":{"license.html":{}}}],["graph",{"_index":3086,"title":{},"body":{"modules.html":{}}}],["graphical",{"_index":2409,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":2913,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":2495,"title":{},"body":{"changelog.html":{}}}],["grow",{"_index":1983,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["gtex",{"_index":2419,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":2685,"title":{},"body":{"changelog.html":{}}}],["h1",{"_index":1063,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["hack",{"_index":1872,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["hand",{"_index":2688,"title":{},"body":{"changelog.html":{}}}],["handle",{"_index":583,"title":{},"body":{"components/CallToActionComponent.html":{},"injectables/LocalStorageService.html":{}}}],["handles",{"_index":744,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/OrganInfo.html":{},"interfaces/XYZTriplet.html":{}}}],["happen",{"_index":2723,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":2670,"title":{},"body":{"changelog.html":{}}}],["happy",{"_index":1874,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["hard",{"_index":1228,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["has(key",{"_index":1192,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["hash",{"_index":2937,"title":{},"body":{"dependencies.html":{}}}],["hassex",{"_index":1658,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["header",{"_index":1392,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["headerandcontent",{"_index":1085,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["headerandcontent.splice(1).join(newline",{"_index":1089,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["headerandcontent[0",{"_index":1088,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["heart",{"_index":1699,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["height",{"_index":626,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["helmet",{"_index":2917,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":1662,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["here",{"_index":2686,"title":{},"body":{"changelog.html":{}}}],["hereby",{"_index":3038,"title":{},"body":{"license.html":{}}}],["hex",{"_index":2919,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":1640,"title":{},"body":{"components/OpacitySliderComponent.html":{},"changelog.html":{}}}],["hide",{"_index":1846,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["hiding",{"_index":1341,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["high",{"_index":167,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/functions.html":{}}}],["highlight",{"_index":2474,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":2385,"title":{},"body":{"changelog.html":{}}}],["highlights",{"_index":2475,"title":{},"body":{"changelog.html":{}}}],["hold",{"_index":656,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["holders",{"_index":3075,"title":{},"body":{"license.html":{}}}],["hooked",{"_index":2624,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":593,"title":{},"body":{"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["hostbinding",{"_index":277,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["hostbinding('class",{"_index":314,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["hostbindings",{"_index":566,"title":{},"body":{"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["hostlistener",{"_index":1574,"title":{},"body":{"directives/NumberDirective.html":{}}}],["hostlistener('input",{"_index":1573,"title":{},"body":{"directives/NumberDirective.html":{}}}],["hostlisteners",{"_index":1563,"title":{},"body":{"directives/NumberDirective.html":{}}}],["hovering",{"_index":2542,"title":{},"body":{"changelog.html":{}}}],["hra",{"_index":2327,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["html",{"_index":313,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["htmlelement",{"_index":1529,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"components/TrackingPopupComponent.html":{}}}],["http",{"_index":719,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000029",{"_index":1684,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000056",{"_index":1779,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000059",{"_index":1763,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000079",{"_index":1756,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000948",{"_index":1700,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000955",{"_index":1680,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000970",{"_index":1689,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000992",{"_index":1727,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0000995",{"_index":1788,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001004",{"_index":1718,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001222",{"_index":1781,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001223",{"_index":1780,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001255",{"_index":1785,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001264",{"_index":1745,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001270",{"_index":1749,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001302",{"_index":1697,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001303",{"_index":1696,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001465",{"_index":1708,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001737",{"_index":1732,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001911",{"_index":1722,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0001987",{"_index":1752,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002048",{"_index":1717,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002049",{"_index":1794,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002097",{"_index":1677,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002106",{"_index":1770,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002107",{"_index":1713,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002108",{"_index":1760,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002113",{"_index":1703,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002182",{"_index":1736,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002240",{"_index":1767,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002367",{"_index":1755,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002370",{"_index":1773,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002373",{"_index":1740,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0002509",{"_index":1685,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0003126",{"_index":1776,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0003889",{"_index":1695,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0004537",{"_index":1793,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0004538",{"_index":1704,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0004539",{"_index":1705,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0004548",{"_index":1690,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.obolibrary.org/obo/uberon_0004549",{"_index":1691,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma24977",{"_index":1710,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma24978",{"_index":1709,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma54973",{"_index":1742,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma54974",{"_index":1741,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma57987",{"_index":1724,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma57991",{"_index":1723,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma7213",{"_index":1729,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["http://purl.org/sig/ont/fma/fma7214",{"_index":1728,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["httpclient",{"_index":661,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["httpclientmodule",{"_index":1330,"title":{},"body":{"modules/InfoButtonModule.html":{}}}],["https://beta",{"_index":2991,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":3003,"title":{},"body":{"index.html":{}}}],["https://developer.mozilla.org/en",{"_index":1460,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["https://hubmap",{"_index":2996,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":2995,"title":{},"body":{"index.html":{}}}],["https://humanatlas.io",{"_index":3021,"title":{},"body":{"index.html":{}}}],["https://observablehq.com/@cns",{"_index":3018,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":2998,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":2993,"title":{},"body":{"index.html":{}}}],["https://r5i95k35v5.us",{"_index":3005,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":2778,"title":{},"body":{"changelog.html":{}}}],["https://www.youtube.com/iframe_api",{"_index":1378,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["hubmap",{"_index":2367,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["hubmaptoken",{"_index":91,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["human",{"_index":2325,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["i1[0",{"_index":1012,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["i2",{"_index":1011,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["i2[0",{"_index":1013,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["icon",{"_index":460,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["icons",{"_index":1638,"title":{},"body":{"components/OpacitySliderComponent.html":{},"changelog.html":{}}}],["id",{"_index":268,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["idb",{"_index":2922,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":2061,"title":{},"body":{"components/TextSearchComponent.html":{},"coverage.html":{}}}],["iec",{"_index":2666,"title":{},"body":{"changelog.html":{}}}],["iframe",{"_index":1412,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["ignore",{"_index":1225,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["ignored",{"_index":1510,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["igoogleanalyticscommand",{"_index":37,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"miscellaneous/functions.html":{}}}],["igoogleanalyticssettings",{"_index":1268,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["image",{"_index":575,"title":{},"body":{"components/CallToActionComponent.html":{},"changelog.html":{}}}],["images",{"_index":2704,"title":{},"body":{"changelog.html":{}}}],["imageurl",{"_index":472,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{}}}],["imageurl(state",{"_index":781,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["img",{"_index":1409,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["immutable",{"_index":1138,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["immutablepatchvalue",{"_index":1130,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["immutablestatevalue",{"_index":1133,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["impl",{"_index":373,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["impl[method",{"_index":869,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["implementation",{"_index":2464,"title":{},"body":{"changelog.html":{}}}],["implemented",{"_index":2622,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":2745,"title":{},"body":{"changelog.html":{}}}],["implements",{"_index":178,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/LocalStorageSyncService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["implied",{"_index":1257,"title":{},"body":{"injectables/GlobalsService.html":{},"license.html":{}}}],["import",{"_index":33,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{}}}],["important",{"_index":1639,"title":{},"body":{"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{}}}],["imports",{"_index":71,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{}}}],["improve",{"_index":2128,"title":{},"body":{"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["improved",{"_index":2431,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":2405,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":2496,"title":{},"body":{"changelog.html":{}}}],["in\\'}}opt",{"_index":2151,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["include",{"_index":1570,"title":{},"body":{"directives/NumberDirective.html":{},"changelog.html":{}}}],["included",{"_index":3063,"title":{},"body":{"license.html":{}}}],["includes",{"_index":2375,"title":{},"body":{"changelog.html":{}}}],["including",{"_index":2472,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["inclusive",{"_index":895,"title":{},"body":{"interfaces/DecoratedRange.html":{}}}],["increase",{"_index":2646,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":2740,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":85,"title":{"index.html":{}},"body":{"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["indexes",{"_index":2341,"title":{},"body":{"changelog.html":{}}}],["indexing",{"_index":898,"title":{},"body":{"interfaces/DecoratedRange.html":{},"miscellaneous/functions.html":{}}}],["indiana",{"_index":3027,"title":{},"body":{"index.html":{}}}],["indicating",{"_index":902,"title":{},"body":{"interfaces/DecoratedRange.html":{},"miscellaneous/functions.html":{}}}],["indices",{"_index":2978,"title":{},"body":{"miscellaneous/functions.html":{}}}],["indicies",{"_index":893,"title":{},"body":{"interfaces/DecoratedRange.html":{}}}],["individual",{"_index":2628,"title":{},"body":{"changelog.html":{}}}],["infix",{"_index":2069,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["info",{"_index":13,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["infobuttoncomponent",{"_index":515,"title":{"components/InfoButtonComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["infobuttonmodule",{"_index":1322,"title":{"modules/InfoButtonModule.html":{}},"body":{"modules/InfoButtonModule.html":{},"modules.html":{},"overview.html":{}}}],["infobuttonservice",{"_index":670,"title":{"injectables/InfoButtonService.html":{}},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"coverage.html":{}}}],["infodialogcomponent",{"_index":517,"title":{"components/InfoDialogComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["infodialogdata",{"_index":1353,"title":{"interfaces/InfoDialogData.html":{}},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"coverage.html":{}}}],["infodialogmodule",{"_index":1327,"title":{"modules/InfoDialogModule.html":{}},"body":{"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules.html":{},"overview.html":{}}}],["information",{"_index":459,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"changelog.html":{},"index.html":{}}}],["infoservice",{"_index":718,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["infotitle",{"_index":562,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/PanelData.html":{}}}],["infrastructure",{"_index":2707,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":2675,"title":{},"body":{"changelog.html":{}}}],["inherited",{"_index":391,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/DelegateDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["init",{"_index":1363,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["initalvalue",{"_index":1575,"title":{},"body":{"directives/NumberDirective.html":{}}}],["initalvalue.replace(/[^0",{"_index":1577,"title":{},"body":{"directives/NumberDirective.html":{}}}],["initcommands",{"_index":2795,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["initcommands(options",{"_index":66,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"miscellaneous/functions.html":{}}}],["initial",{"_index":2558,"title":{},"body":{"changelog.html":{}}}],["initial_telemetry_setting",{"_index":2166,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["initialization",{"_index":2270,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["initialized",{"_index":2246,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["inject",{"_index":278,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["inject(default_max_options",{"_index":343,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["inject(document",{"_index":1554,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["inject(local_storage_consent_key",{"_index":1508,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["inject(mat_dialog_data",{"_index":1364,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["inject(mat_snack_bar_data",{"_index":2110,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["inject(ngx_google_analytics_settings_token",{"_index":1279,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["inject(ngx_window",{"_index":1278,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["injectable",{"_index":93,"title":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"injectables/DataSourceService.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/InfoButtonService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"injectables/TrackingState.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/InfoButtonService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"interfaces/PanelData.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["injectables",{"_index":231,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"injectables/DataSourceService.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/InfoButtonService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"injectables/TrackingState.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"overview.html":{}}}],["injected",{"_index":1357,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["injectiontoken",{"_index":279,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"injectables/LocalStorageSyncService.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["injectiontoken('key",{"_index":1504,"title":{},"body":{"injectables/LocalStorageSyncService.html":{},"miscellaneous/variables.html":{}}}],["injector",{"_index":1427,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["injector.get(token",{"_index":1437,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["injectordelegatedatasourceservice",{"_index":1423,"title":{"injectables/InjectorDelegateDataSourceService.html":{}},"body":{"injectables/InjectorDelegateDataSourceService.html":{},"coverage.html":{}}}],["innermap",{"_index":2806,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["innermap(project",{"_index":2972,"title":{},"body":{"miscellaneous/functions.html":{}}}],["input",{"_index":280,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{}}}],["input[ccfnumbersonly",{"_index":539,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["inputs",{"_index":561,"title":{},"body":{"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{},"components/XYZPositionComponent.html":{}}}],["inside",{"_index":1054,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["instance",{"_index":340,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/DecoratedTextComponent.html":{},"injectables/GlobalsService.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"directives/NumberDirective.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["instanceof",{"_index":1468,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["instead",{"_index":2552,"title":{},"body":{"changelog.html":{}}}],["instructions",{"_index":2500,"title":{},"body":{"changelog.html":{}}}],["integer",{"_index":1561,"title":{},"body":{"directives/NumberDirective.html":{}}}],["integrated",{"_index":2587,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":2469,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":2674,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":2604,"title":{},"body":{"changelog.html":{}}}],["interact",{"_index":2571,"title":{},"body":{"changelog.html":{}}}],["interacting",{"_index":1163,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["interactions",{"_index":2726,"title":{},"body":{"changelog.html":{}}}],["interactive",{"_index":2247,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["interactive(value",{"_index":2249,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["interest",{"_index":1889,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["interface",{"_index":47,"title":{"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"interfaces/DataSource.html":{},"interfaces/DecoratedRange.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"interfaces/InfoDialogData.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"interfaces/TrackingStateModel.html":{},"interfaces/XYZTriplet.html":{}},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DataSource.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"index.html":{}}}],["interfaces",{"_index":84,"title":{},"body":{"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"interfaces/DataSource.html":{},"interfaces/DecoratedRange.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"interfaces/InfoDialogData.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"interfaces/TrackingStateModel.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{},"overview.html":{}}}],["internal",{"_index":2660,"title":{},"body":{"changelog.html":{}}}],["intestine",{"_index":1758,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["invoked",{"_index":2976,"title":{},"body":{"miscellaneous/functions.html":{}}}],["iobservablecacheconfig",{"_index":128,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["isdevmode",{"_index":407,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["isselected(organ",{"_index":1890,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["issue",{"_index":2642,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":2380,"title":{},"body":{"changelog.html":{}}}],["istanbul",{"_index":1224,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["it's",{"_index":2467,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":1605,"title":{},"body":{"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"changelog.html":{}}}],["item.description",{"_index":1970,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["item.selected",{"_index":1976,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["itemcontainer",{"_index":1811,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["itemcontainer.nativeelement.style.width",{"_index":1900,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["itemid",{"_index":1949,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["itemid(_index",{"_index":1959,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["itemlist",{"_index":1809,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["itemlist.nativeelement.offsetwidth",{"_index":1894,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["itemlist.nativeelement.style.left",{"_index":1861,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["itemremoved",{"_index":1951,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["items",{"_index":1633,"title":{},"body":{"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["iu",{"_index":2756,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":3019,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":2349,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["json",{"_index":2037,"title":{},"body":{"components/StoreDebugComponent.html":{},"changelog.html":{}}}],["jsonld",{"_index":2925,"title":{},"body":{"dependencies.html":{}}}],["july",{"_index":2725,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":2764,"title":{},"body":{"changelog.html":{}}}],["justify",{"_index":1393,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["k",{"_index":389,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalsService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["k1",{"_index":1114,"title":{},"body":{"injectables/GlobalConfigState.html":{},"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["k2",{"_index":1116,"title":{},"body":{"injectables/GlobalConfigState.html":{},"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["k3",{"_index":1118,"title":{},"body":{"injectables/GlobalConfigState.html":{},"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["k4",{"_index":1934,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["k5",{"_index":1935,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["k6",{"_index":1936,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["key",{"_index":61,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"components/StoreDebugComponent.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["key(index",{"_index":1450,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["keyboard",{"_index":2762,"title":{},"body":{"changelog.html":{}}}],["keyof",{"_index":848,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["keys",{"_index":1209,"title":{},"body":{"injectables/GlobalsService.html":{},"interfaces/PluckUniqueOptions.html":{},"miscellaneous/typealiases.html":{}}}],["keys.slice(0",{"_index":1939,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["keyval",{"_index":2923,"title":{},"body":{"dependencies.html":{}}}],["kidney",{"_index":1702,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["kind",{"_index":3067,"title":{},"body":{"license.html":{}}}],["knee",{"_index":1707,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["known",{"_index":2379,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":2366,"title":{},"body":{"changelog.html":{}}}],["kv[0",{"_index":2035,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["kv[1",{"_index":2036,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["kvlist",{"_index":2019,"title":{},"body":{"components/StoreDebugComponent.html":{},"miscellaneous/typealiases.html":{}}}],["kvpair",{"_index":2021,"title":{},"body":{"components/StoreDebugComponent.html":{},"miscellaneous/typealiases.html":{}}}],["l",{"_index":1688,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["label",{"_index":269,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{}}}],["labs/data",{"_index":2880,"title":{},"body":{"dependencies.html":{}}}],["labs/data/decorators",{"_index":1142,"title":{},"body":{"injectables/GlobalConfigState.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["labs/data/repositories",{"_index":1143,"title":{},"body":{"injectables/GlobalConfigState.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["labs/data/typings",{"_index":1144,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["labs/dispatch",{"_index":494,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"dependencies.html":{}}}],["landmarks",{"_index":2391,"title":{},"body":{"changelog.html":{}}}],["large",{"_index":1762,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["larger",{"_index":2423,"title":{},"body":{"changelog.html":{}}}],["larynx",{"_index":1731,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["last",{"_index":1000,"title":{},"body":{"components/DecoratedTextComponent.html":{},"injectables/GlobalsService.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["lastindex",{"_index":987,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["later",{"_index":927,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["latest",{"_index":326,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"changelog.html":{},"index.html":{}}}],["launchinfodialog",{"_index":1290,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["launchinfodialog(data",{"_index":1299,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["launchlearnmore",{"_index":798,"title":{},"body":{"injectables/CallToActionState.html":{}}}],["launchlearnmore(content",{"_index":735,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["layers",{"_index":2867,"title":{},"body":{"dependencies.html":{}}}],["ld",{"_index":2683,"title":{},"body":{"changelog.html":{}}}],["leak",{"_index":2641,"title":{},"body":{"changelog.html":{}}}],["learn",{"_index":486,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{}}}],["learnmore",{"_index":473,"title":{"classes/LearnMore.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"coverage.html":{}}}],["learnmore(_ctx",{"_index":748,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["leave",{"_index":2482,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":600,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/TextSearchComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["left/right",{"_index":2493,"title":{},"body":{"changelog.html":{}}}],["legend",{"_index":504,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["length",{"_index":900,"title":{},"body":{"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"injectables/LocalStorageService.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"miscellaneous/functions.html":{}}}],["level",{"_index":2760,"title":{},"body":{"changelog.html":{},"miscellaneous/functions.html":{}}}],["levels",{"_index":2773,"title":{},"body":{"changelog.html":{}}}],["lhs",{"_index":1924,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["liability",{"_index":3079,"title":{},"body":{"license.html":{}}}],["liable",{"_index":3076,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":2425,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":2612,"title":{},"body":{"changelog.html":{}}}],["license",{"_index":3033,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":2477,"title":{},"body":{"changelog.html":{}}}],["limitation",{"_index":3048,"title":{},"body":{"license.html":{}}}],["limited",{"_index":2711,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":625,"title":{},"body":{"components/CallToActionComponent.html":{},"injectables/GlobalsService.html":{},"components/InfoDialogComponent.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["link",{"_index":2488,"title":{},"body":{"changelog.html":{}}}],["linkage",{"_index":2727,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":2395,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":2451,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":1486,"title":{},"body":{"injectables/LocalStorageService.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/StoreDebugComponent.html":{},"changelog.html":{}}}],["list'},{'name",{"_index":526,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["list.component",{"_index":1996,"title":{},"body":{"modules/SpatialSearchListModule.html":{}}}],["list.component.html",{"_index":1948,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["list.component.scss",{"_index":1947,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["list.component.ts",{"_index":1945,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"coverage.html":{}}}],["list.component.ts:27",{"_index":1958,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["list.component.ts:30",{"_index":1954,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["list.component.ts:33",{"_index":1953,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["list.component.ts:36",{"_index":1956,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["list.component.ts:39",{"_index":1955,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["list.component.ts:48",{"_index":1960,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["list.component.ts:58",{"_index":1967,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["list.component.ts:71",{"_index":1965,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["list.module.ts",{"_index":1989,"title":{},"body":{"modules/SpatialSearchListModule.html":{}}}],["list/spatial",{"_index":1944,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"coverage.html":{}}}],["listeners",{"_index":2009,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["listens",{"_index":1569,"title":{},"body":{"directives/NumberDirective.html":{}}}],["listlength",{"_index":1897,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["listlength}px",{"_index":1901,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["literal",{"_index":2941,"title":{},"body":{"dependencies.html":{}}}],["little",{"_index":2569,"title":{},"body":{"changelog.html":{}}}],["liver",{"_index":1712,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["load",{"_index":1360,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"changelog.html":{}}}],["loadconsent",{"_index":1495,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["loaded",{"_index":2728,"title":{},"body":{"changelog.html":{}}}],["loaders.gl/core",{"_index":2871,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":2873,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":2874,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":2370,"title":{},"body":{"changelog.html":{}}}],["local",{"_index":44,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"injectables/LocalStorageService.html":{}}}],["local_storage_allow_telemetry_key",{"_index":2165,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["local_storage_consent_key",{"_index":1503,"title":{},"body":{"injectables/LocalStorageSyncService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["localstorage",{"_index":1507,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["localstorage.getitem(local_storage_allow_telemetry_key",{"_index":2168,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["localstorage.setitem(local_storage_allow_telemetry_key",{"_index":2171,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["localstorageservice",{"_index":676,"title":{"injectables/LocalStorageService.html":{}},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/LocalStorageService.html":{},"coverage.html":{}}}],["localstorageservice.storage?.clear",{"_index":1493,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["localstorageservice.storage?.getitem(key",{"_index":1489,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["localstorageservice.storage?.key(index",{"_index":1488,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["localstorageservice.storage?.length",{"_index":1487,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["localstorageservice.storage?.removeitem(key",{"_index":1492,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["localstorageservice.storage?.setitem(key",{"_index":1490,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["localstoragesyncservice",{"_index":9,"title":{"injectables/LocalStorageSyncService.html":{}},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"injectables/LocalStorageSyncService.html":{},"coverage.html":{},"overview.html":{},"miscellaneous/variables.html":{}}}],["locate",{"_index":1169,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["location",{"_index":2647,"title":{},"body":{"changelog.html":{}}}],["location.reload",{"_index":2178,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["locations",{"_index":1173,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{}}}],["lodash",{"_index":2927,"title":{},"body":{"dependencies.html":{}}}],["log",{"_index":2126,"title":{},"body":{"components/TrackingPopupComponent.html":{},"index.html":{}}}],["logging",{"_index":2421,"title":{},"body":{"changelog.html":{}}}],["long",{"_index":1198,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["longer",{"_index":2550,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":1053,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"changelog.html":{}}}],["low",{"_index":166,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/functions.html":{}}}],["lru",{"_index":2929,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":2875,"title":{},"body":{"dependencies.html":{}}}],["lung",{"_index":1715,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["lungs",{"_index":1716,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["lymph",{"_index":1683,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["made",{"_index":2668,"title":{},"body":{"changelog.html":{}}}],["main",{"_index":1735,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["major",{"_index":2373,"title":{},"body":{"changelog.html":{}}}],["make",{"_index":1873,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["makedecoratedsegment",{"_index":920,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["makedecoratedsegment(text",{"_index":947,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["makes",{"_index":642,"title":{},"body":{"components/CallToActionComponent.html":{},"changelog.html":{}}}],["makeundecoratedsegment",{"_index":921,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["makeundecoratedsegment(text",{"_index":950,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["making",{"_index":2460,"title":{},"body":{"changelog.html":{}}}],["male",{"_index":148,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["mammary",{"_index":1721,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["managed",{"_index":2015,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["manager",{"_index":385,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["manager.database",{"_index":428,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["manager.database.connect(config",{"_index":434,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["managers",{"_index":2429,"title":{},"body":{"changelog.html":{}}}],["map",{"_index":115,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"modules/MousePositionTrackerModule.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["map(config",{"_index":1434,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["map(data",{"_index":229,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["map(entry",{"_index":1015,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["map(formatdata",{"_index":1543,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["map(manager",{"_index":427,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["map(range",{"_index":1031,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["map(token",{"_index":1436,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["map.ts",{"_index":2805,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["mapping",{"_index":2975,"title":{},"body":{"miscellaneous/functions.html":{}}}],["maps",{"_index":2973,"title":{},"body":{"miscellaneous/functions.html":{}}}],["march",{"_index":2615,"title":{},"body":{"changelog.html":{}}}],["margin",{"_index":649,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["margin.x",{"_index":2280,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["margin.y",{"_index":2283,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["markdown",{"_index":589,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"modules/InfoDialogModule.html":{},"interfaces/PanelData.html":{},"dependencies.html":{}}}],["markdowncontent",{"_index":1077,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["markdowncontent.push",{"_index":1087,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["markdownmodule",{"_index":1419,"title":{},"body":{"modules/InfoDialogModule.html":{}}}],["markdownmodule.forroot",{"_index":1422,"title":{},"body":{"modules/InfoDialogModule.html":{}}}],["markers",{"_index":2090,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["markup",{"_index":688,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"miscellaneous/variables.html":{}}}],["mat",{"_index":634,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/TextSearchComponent.html":{}}}],["mat_dialog_data",{"_index":1371,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["mat_snack_bar_data",{"_index":2114,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["matautocompletemodule",{"_index":2081,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["matbuttonmodule",{"_index":1990,"title":{},"body":{"modules/SpatialSearchListModule.html":{},"modules/TrackingPopupModule.html":{}}}],["matcardmodule",{"_index":548,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{}}}],["match",{"_index":1663,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["matcheckboxmodule",{"_index":1992,"title":{},"body":{"modules/SpatialSearchListModule.html":{}}}],["matching",{"_index":82,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["matdialog",{"_index":663,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{}}}],["matdialogmodule",{"_index":550,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/InfoDialogModule.html":{}}}],["matdialogref",{"_index":1352,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["material",{"_index":1984,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["matexpansionmodule",{"_index":1417,"title":{},"body":{"modules/InfoDialogModule.html":{}}}],["matformfieldmodule",{"_index":2083,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["math.floor(carouselcontainer.nativeelement.offsetwidth",{"_index":1898,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["math.gl/core",{"_index":95,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"dependencies.html":{}}}],["math.gl/culling",{"_index":2878,"title":{},"body":{"dependencies.html":{}}}],["math.log2((height",{"_index":2282,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["math.log2((width",{"_index":2279,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["math.min",{"_index":2278,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["maticonmodule",{"_index":552,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{}}}],["matinputmodule",{"_index":2085,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["matlistmodule",{"_index":1994,"title":{},"body":{"modules/SpatialSearchListModule.html":{}}}],["matprefix",{"_index":2076,"title":{},"body":{"modules/TextSearchModule.html":{},"overview.html":{}}}],["matripplemodule",{"_index":1649,"title":{},"body":{"modules/OpacitySliderModule.html":{}}}],["matrix4",{"_index":94,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["matrix4(node.transformmatrix",{"_index":174,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["matslidermodule",{"_index":1647,"title":{},"body":{"modules/OpacitySliderModule.html":{}}}],["matsuffix",{"_index":2077,"title":{},"body":{"modules/TextSearchModule.html":{},"overview.html":{}}}],["mattooltipmodule",{"_index":1912,"title":{},"body":{"modules/OrganSelectorModule.html":{}}}],["max",{"_index":170,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"components/TextSearchComponent.html":{},"miscellaneous/functions.html":{}}}],["maxcachecount",{"_index":158,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/variables.html":{}}}],["maximum",{"_index":293,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["maxoptions",{"_index":323,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["maxrotationx",{"_index":2291,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["mc",{"_index":2755,"title":{},"body":{"changelog.html":{}}}],["member",{"_index":2121,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["memory",{"_index":2640,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":2689,"title":{},"body":{"changelog.html":{}}}],["merchantability",{"_index":3069,"title":{},"body":{"license.html":{}}}],["merge",{"_index":3050,"title":{},"body":{"license.html":{}}}],["message",{"_index":474,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"interfaces/OrganInfo.html":{}}}],["message(state",{"_index":783,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["metadata",{"_index":465,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["method",{"_index":216,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalsService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["method(requestparams",{"_index":228,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["methods",{"_index":19,"title":{},"body":{"modules/AnalyticsModule.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"components/CallToActionComponent.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["min",{"_index":168,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"components/InfoDialogComponent.html":{},"components/TrackingPopupComponent.html":{}}}],["minmax",{"_index":106,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/functions.html":{}}}],["minor",{"_index":1871,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["minrotationx",{"_index":2289,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["miscellaneous",{"_index":2956,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["mit",{"_index":3034,"title":{},"body":{"license.html":{}}}],["mixed",{"_index":1875,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["mock",{"_index":2751,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":739,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"changelog.html":{}}}],["mode",{"_index":432,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"changelog.html":{}}}],["model",{"_index":1372,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"dependencies.html":{}}}],["models",{"_index":2212,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["modified",{"_index":1459,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["modify",{"_index":1024,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"license.html":{}}}],["module",{"_index":0,"title":{"modules/AnalyticsModule.html":{},"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/MousePositionTrackerModule.html":{},"modules/NumbersOnlyModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{}},"body":{"modules/MousePositionTrackerModule.html":{},"components/TrackingPopupComponent.html":{}}}],["modules",{"_index":2,"title":{"modules.html":{}},"body":{"modules/AnalyticsModule.html":{},"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/MousePositionTrackerModule.html":{},"modules/NumbersOnlyModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{},"modules.html":{},"overview.html":{}}}],["modulewithproviders",{"_index":32,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["monorepo",{"_index":2984,"title":{},"body":{"index.html":{}}}],["more",{"_index":487,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"changelog.html":{},"index.html":{}}}],["mount",{"_index":2264,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["mouseevent",{"_index":1531,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["mousemove",{"_index":1546,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["mousemove').pipe",{"_index":1541,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["mousepositiontrackermodule",{"_index":1522,"title":{"modules/MousePositionTrackerModule.html":{}},"body":{"modules/MousePositionTrackerModule.html":{},"modules.html":{}}}],["moved",{"_index":2768,"title":{},"body":{"changelog.html":{}}}],["moves",{"_index":1826,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["much",{"_index":1233,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{}}}],["multi",{"_index":73,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["multiple",{"_index":1311,"title":{},"body":{"components/InfoButtonComponent.html":{},"interfaces/OrganInfo.html":{},"index.html":{}}}],["multiselect",{"_index":1813,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["n3",{"_index":2930,"title":{},"body":{"dependencies.html":{}}}],["n\\n",{"_index":1083,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["name",{"_index":27,"title":{},"body":{"modules/AnalyticsModule.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["names",{"_index":2520,"title":{},"body":{"changelog.html":{}}}],["navigation",{"_index":2763,"title":{},"body":{"changelog.html":{}}}],["necessary",{"_index":657,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["need",{"_index":2358,"title":{},"body":{"changelog.html":{}}}],["needed",{"_index":2619,"title":{},"body":{"changelog.html":{}}}],["needs",{"_index":2623,"title":{},"body":{"changelog.html":{}}}],["negative",{"_index":892,"title":{},"body":{"interfaces/DecoratedRange.html":{},"miscellaneous/functions.html":{}}}],["nested",{"_index":2970,"title":{},"body":{"miscellaneous/functions.html":{}}}],["network",{"_index":3025,"title":{},"body":{"index.html":{}}}],["new",{"_index":154,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"injectables/LocalStorageSyncService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["newitems",{"_index":1971,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["newitems.filter(item",{"_index":1975,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["newitems.splice(index",{"_index":1978,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["newitems[index",{"_index":1973,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["newline",{"_index":1081,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["newopacity",{"_index":1615,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["next",{"_index":1226,"title":{},"body":{"injectables/GlobalsService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/OrganInfo.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["ng",{"_index":1388,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{}}}],["ng5",{"_index":2932,"title":{},"body":{"dependencies.html":{}}}],["ngafterviewinit",{"_index":1838,"title":{},"body":{"interfaces/OrganInfo.html":{},"interfaces/XYZTriplet.html":{}}}],["ngmodule",{"_index":35,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/MousePositionTrackerModule.html":{},"modules/NumbersOnlyModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{}}}],["ngonchanges",{"_index":922,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["ngonchanges(changes",{"_index":953,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["ngondestroy",{"_index":814,"title":{},"body":{"injectables/ConsentService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/LocalStorageSyncService.html":{},"interfaces/OrganInfo.html":{},"components/StoreDebugComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["ngoninit",{"_index":1350,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/OpacitySliderComponent.html":{}}}],["ngx",{"_index":39,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"modules/InfoDialogModule.html":{},"modules/MousePositionTrackerModule.html":{},"dependencies.html":{}}}],["ngx_google_analytics_settings_token",{"_index":1276,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["ngx_window",{"_index":1277,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["ngxgoogleanalyticsmodule",{"_index":38,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["ngxgoogleanalyticsmodule.forroot",{"_index":79,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["ngxs",{"_index":493,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"injectables/GlobalConfigState.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"dependencies.html":{}}}],["ngxs/logger",{"_index":2883,"title":{},"body":{"dependencies.html":{}}}],["ngxs/storage",{"_index":2886,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":496,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalConfigState.html":{},"components/StoreDebugComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"dependencies.html":{}}}],["ngxsimmutabledatarepository",{"_index":1105,"title":{},"body":{"injectables/GlobalConfigState.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["ngxsmodule",{"_index":554,"title":{},"body":{"modules/CallToActionBehaviorModule.html":{}}}],["ngxsoninit",{"_index":664,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["ngxsoninit(ctx",{"_index":720,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["nih",{"_index":3030,"title":{},"body":{"index.html":{}}}],["node",{"_index":172,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"interfaces/OrganInfo.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["node.js",{"_index":1240,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["nodeclick",{"_index":2243,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["nodeclickevent",{"_index":2208,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["nodedrag",{"_index":2242,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["nodedragevent",{"_index":2209,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["nodehoverstart",{"_index":2244,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["nodehoverstop",{"_index":2245,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["nodejs",{"_index":1876,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["nodes",{"_index":1682,"title":{},"body":{"interfaces/OrganInfo.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["none",{"_index":1637,"title":{},"body":{"components/OpacitySliderComponent.html":{},"components/TextSearchComponent.html":{}}}],["noninfringement",{"_index":3073,"title":{},"body":{"license.html":{}}}],["nonnullable",{"_index":1187,"title":{},"body":{"injectables/GlobalsService.html":{},"miscellaneous/typealiases.html":{}}}],["nonnullable[0",{"_index":129,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["normal",{"_index":1893,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["normalize",{"_index":968,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["normalize(range",{"_index":1032,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"miscellaneous/functions.html":{}}}],["normalized",{"_index":945,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"miscellaneous/functions.html":{}}}],["normalizes",{"_index":897,"title":{},"body":{"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"miscellaneous/functions.html":{}}}],["note",{"_index":1019,"title":{},"body":{"components/DecoratedTextComponent.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["notebooks",{"_index":2347,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":3014,"title":{},"body":{"index.html":{}}}],["notice",{"_index":2643,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":708,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"changelog.html":{}}}],["ns_error_dom_quota_reached",{"_index":1481,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["null",{"_index":63,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"components/TextSearchComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"miscellaneous/functions.html":{}}}],["nulls.ts",{"_index":2800,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["number",{"_index":165,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/LocalStorageService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["number:format",{"_index":2196,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["numberdirective",{"_index":538,"title":{"directives/NumberDirective.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["numbers",{"_index":1571,"title":{},"body":{"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{}}}],["numbersonlymodule",{"_index":1580,"title":{"modules/NumbersOnlyModule.html":{}},"body":{"modules/NumbersOnlyModule.html":{},"modules.html":{},"overview.html":{}}}],["numeric",{"_index":2648,"title":{},"body":{"changelog.html":{}}}],["obj",{"_index":1166,"title":{},"body":{"injectables/GlobalsService.html":{},"miscellaneous/functions.html":{}}}],["obj[key",{"_index":1219,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["object",{"_index":639,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/DecoratedRange.html":{},"injectables/GlobalsService.html":{},"interfaces/PluckUniqueOptions.html":{},"components/TextSearchComponent.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["object.defineproperties(this",{"_index":1214,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["object.entries(obj).reduce>((attrs",{"_index":60,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["object.entries(ops",{"_index":1009,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["object.entries(this.root",{"_index":2023,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["object.entries(values",{"_index":2026,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["object.keys(config).length",{"_index":422,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["objects",{"_index":1030,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["obs",{"_index":1157,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["observable",{"_index":112,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"components/InfoButtonComponent.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"interfaces/PluckUniqueOptions.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"miscellaneous/functions.html":{}}}],["observable).pipe",{"_index":337,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["observableinput",{"_index":286,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"components/TextSearchComponent.html":{}}}],["observedvalueof",{"_index":847,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"miscellaneous/typealiases.html":{}}}],["obtaining",{"_index":3043,"title":{},"body":{"license.html":{}}}],["occured",{"_index":1845,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["occurencedata",{"_index":1835,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["occurencedata(value",{"_index":1833,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["off/on",{"_index":2621,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":2724,"title":{},"body":{"changelog.html":{}}}],["old",{"_index":2997,"title":{},"body":{"index.html":{}}}],["oldvalue",{"_index":2170,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["onchanges",{"_index":913,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["ondestroy",{"_index":824,"title":{},"body":{"injectables/ConsentService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/LocalStorageSyncService.html":{},"interfaces/OrganInfo.html":{},"components/StoreDebugComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["ondialogbuttonclick",{"_index":560,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{}}}],["one",{"_index":1245,"title":{},"body":{"injectables/GlobalsService.html":{},"interfaces/OrganInfo.html":{},"changelog.html":{},"index.html":{}}}],["oninit",{"_index":1344,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/OpacitySliderComponent.html":{}}}],["oninputchange",{"_index":1562,"title":{},"body":{"directives/NumberDirective.html":{}}}],["oninputchange(event",{"_index":1572,"title":{},"body":{"directives/NumberDirective.html":{}}}],["onleft",{"_index":1821,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["online",{"_index":2733,"title":{},"body":{"changelog.html":{}}}],["only.directive",{"_index":1585,"title":{},"body":{"modules/NumbersOnlyModule.html":{}}}],["only.directive.ts",{"_index":1559,"title":{},"body":{"directives/NumberDirective.html":{},"coverage.html":{}}}],["only.directive.ts:23",{"_index":1568,"title":{},"body":{"directives/NumberDirective.html":{}}}],["only.directive.ts:9",{"_index":1566,"title":{},"body":{"directives/NumberDirective.html":{}}}],["only.module.ts",{"_index":1584,"title":{},"body":{"modules/NumbersOnlyModule.html":{}}}],["only/numbers",{"_index":1558,"title":{},"body":{"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"coverage.html":{}}}],["onright",{"_index":1822,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["ontological",{"_index":2783,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":2684,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":2355,"title":{},"body":{"changelog.html":{}}}],["ontologyterms",{"_index":143,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["ontologytreemodel",{"_index":98,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{}}}],["op",{"_index":960,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["op.index",{"_index":999,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["op.removed.includes(item",{"_index":1018,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["opacities",{"_index":2627,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":520,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["opacitychange",{"_index":1599,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["opacityreset",{"_index":1600,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["opacityslidercomponent",{"_index":519,"title":{"components/OpacitySliderComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["opacityslidermodule",{"_index":1641,"title":{"modules/OpacitySliderModule.html":{}},"body":{"modules/OpacitySliderModule.html":{},"modules.html":{},"overview.html":{}}}],["open",{"_index":488,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{}}}],["open(ctx",{"_index":757,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["openapi",{"_index":2462,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/angular",{"_index":109,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["openapi/js",{"_index":3010,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":3012,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":3011,"title":{},"body":{"index.html":{}}}],["opendialog",{"_index":680,"title":{"classes/OpenDialog.html":{}},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"coverage.html":{}}}],["opening",{"_index":1313,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["opens",{"_index":734,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{}}}],["operation",{"_index":963,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["operations",{"_index":939,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["operator",{"_index":1918,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["operatorfunction",{"_index":1923,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["ops",{"_index":1004,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["ops[index",{"_index":1006,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["opt",{"_index":2105,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["optimization",{"_index":2568,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":2718,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":2603,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":331,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"changelog.html":{}}}],["optional",{"_index":29,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PluckUniqueOptions.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["optioncache",{"_index":1106,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["optiondisplay",{"_index":2045,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["optiondisplay(option",{"_index":2057,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["optionid",{"_index":2046,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["optionid(_index",{"_index":2059,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["options",{"_index":30,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/PluckUniqueOptions.html":{},"components/TextSearchComponent.html":{},"changelog.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["options.gatoken",{"_index":80,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["optionselected",{"_index":333,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["opts",{"_index":1932,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["ordered",{"_index":937,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["organ",{"_index":523,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["organ(s",{"_index":1880,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["organ.disabled",{"_index":1800,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["organinfo",{"_index":1652,"title":{"interfaces/OrganInfo.html":{}},"body":{"interfaces/OrganInfo.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["organiri",{"_index":214,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["organlist",{"_index":1815,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["organs",{"_index":1664,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["organs/anatomical",{"_index":2629,"title":{},"body":{"changelog.html":{}}}],["organschanged",{"_index":1819,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["organselectorcomponent",{"_index":522,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["organselectormodule",{"_index":1906,"title":{"modules/OrganSelectorModule.html":{}},"body":{"modules/OrganSelectorModule.html":{},"modules.html":{},"overview.html":{}}}],["orthographic",{"_index":2533,"title":{},"body":{"changelog.html":{}}}],["ot2od026671",{"_index":3032,"title":{},"body":{"index.html":{}}}],["otherwise",{"_index":1217,"title":{},"body":{"injectables/GlobalsService.html":{},"interfaces/OrganInfo.html":{},"license.html":{}}}],["out",{"_index":12,"title":{},"body":{"modules/AnalyticsModule.html":{},"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"modules/NumbersOnlyModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"interfaces/Segment.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{},"license.html":{},"overview.html":{}}}],["outdated",{"_index":1237,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["outline",{"_index":2068,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["output",{"_index":281,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["outputs",{"_index":563,"title":{},"body":{"components/CallToActionComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{}}}],["ovary",{"_index":1726,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["over",{"_index":2655,"title":{},"body":{"changelog.html":{}}}],["overall",{"_index":2386,"title":{},"body":{"changelog.html":{}}}],["overlapping",{"_index":926,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["overlay",{"_index":1343,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["overlays",{"_index":2774,"title":{},"body":{"changelog.html":{}}}],["overridden",{"_index":1170,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["overview",{"_index":3087,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["p",{"_index":132,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["package",{"_index":2428,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["padding",{"_index":599,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{}}}],["pages",{"_index":2498,"title":{},"body":{"changelog.html":{}}}],["pair",{"_index":2020,"title":{},"body":{"components/StoreDebugComponent.html":{},"miscellaneous/typealiases.html":{}}}],["paired",{"_index":1665,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["pairin",{"_index":1456,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["pairs",{"_index":2018,"title":{},"body":{"components/StoreDebugComponent.html":{},"miscellaneous/typealiases.html":{}}}],["palatine",{"_index":1739,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["pancreas",{"_index":1744,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["pane",{"_index":2592,"title":{},"body":{"changelog.html":{}}}],["panel",{"_index":1052,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/PanelData.html":{},"changelog.html":{}}}],["panelclass",{"_index":738,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{}}}],["panelcontent",{"_index":1059,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["paneldata",{"_index":1056,"title":{"interfaces/PanelData.html":{}},"body":{"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"coverage.html":{}}}],["panels",{"_index":1073,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["param",{"_index":341,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DocumentationContent.html":{},"injectables/GlobalsService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/LocalStorageService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{}}}],["parameters",{"_index":26,"title":{},"body":{"modules/AnalyticsModule.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"components/DecoratedTextComponent.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"miscellaneous/functions.html":{}}}],["params",{"_index":131,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["parent",{"_index":579,"title":{},"body":{"components/CallToActionComponent.html":{},"changelog.html":{}}}],["parse",{"_index":1071,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["parseint(itemlist.nativeelement.style.left",{"_index":1857,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["parseint(newopacity",{"_index":1627,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["parsemarkdown",{"_index":1332,"title":{},"body":{"injectables/InfoButtonService.html":{}}}],["parsemarkdown(data",{"_index":1076,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["parser",{"_index":2892,"title":{},"body":{"dependencies.html":{}}}],["partial",{"_index":270,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{}}}],["partials",{"_index":1028,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["particular",{"_index":3071,"title":{},"body":{"license.html":{}}}],["partly",{"_index":2614,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":2546,"title":{},"body":{"changelog.html":{}}}],["parts",{"_index":658,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["pass",{"_index":578,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["passed",{"_index":707,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["past",{"_index":1851,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["pastexpiration",{"_index":724,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["patchconfig",{"_index":1110,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["patchconfig(config",{"_index":1129,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["path",{"_index":686,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalConfigState.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["path.length}:${path.join",{"_index":1160,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["pelvis",{"_index":1748,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["performance",{"_index":2432,"title":{},"body":{"changelog.html":{}}}],["performs",{"_index":2267,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["permission",{"_index":3037,"title":{},"body":{"license.html":{}}}],["permit",{"_index":3057,"title":{},"body":{"license.html":{}}}],["person",{"_index":3042,"title":{},"body":{"license.html":{}}}],["persons",{"_index":3058,"title":{},"body":{"license.html":{}}}],["pick",{"_index":2369,"title":{},"body":{"changelog.html":{}}}],["piece",{"_index":970,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["pipe",{"_index":222,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["pipe(map(data",{"_index":732,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["placeholder",{"_index":316,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["placement",{"_index":2365,"title":{},"body":{"changelog.html":{}}}],["placenta",{"_index":1751,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["places",{"_index":1239,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["player",{"_index":1362,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"dependencies.html":{}}}],["pluck",{"_index":1148,"title":{},"body":{"injectables/GlobalConfigState.html":{},"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["pluck(...(path",{"_index":1158,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["pluck(...keys",{"_index":1941,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["pluck(...path",{"_index":1153,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["pluckunique",{"_index":1917,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["pluckunique(...props",{"_index":1937,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["pluckunique(k1",{"_index":1933,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["pluckuniqueoptions",{"_index":1914,"title":{"interfaces/PluckUniqueOptions.html":{}},"body":{"interfaces/PluckUniqueOptions.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["plugin",{"_index":2884,"title":{},"body":{"dependencies.html":{}}}],["plus",{"_index":2376,"title":{},"body":{"changelog.html":{}}}],["pointer",{"_index":612,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["points",{"_index":1537,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["points.join('_",{"_index":1538,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["policy",{"_index":1249,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["popup",{"_index":710,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["popup'},{'name",{"_index":533,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["popup.component",{"_index":2157,"title":{},"body":{"modules/TrackingPopupModule.html":{}}}],["popup.component.html",{"_index":2095,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.component.scss",{"_index":2094,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.component.ts",{"_index":2093,"title":{},"body":{"components/TrackingPopupComponent.html":{},"coverage.html":{}}}],["popup.component.ts:13",{"_index":2102,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.component.ts:15",{"_index":2113,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.component.ts:19",{"_index":2101,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.component.ts:22",{"_index":2111,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.component.ts:26",{"_index":2103,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.component.ts:31",{"_index":2108,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.component.ts:36",{"_index":2106,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["popup.module.ts",{"_index":2156,"title":{},"body":{"modules/TrackingPopupModule.html":{}}}],["popup/tracking",{"_index":2092,"title":{},"body":{"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"coverage.html":{}}}],["popup_shown_storage_key",{"_index":684,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["popupshown",{"_index":660,"title":{},"body":{"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{}}}],["popupshown(state",{"_index":785,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["popupshownstr",{"_index":722,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["portal",{"_index":2473,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["portal's",{"_index":2710,"title":{},"body":{"changelog.html":{}}}],["portions",{"_index":3065,"title":{},"body":{"license.html":{}}}],["position",{"_index":536,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"modules/MousePositionTrackerModule.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["position.component",{"_index":2204,"title":{},"body":{"modules/XYZPositionModule.html":{}}}],["position.component.html",{"_index":2187,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["position.component.scss",{"_index":2186,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["position.component.ts",{"_index":2184,"title":{},"body":{"components/XYZPositionComponent.html":{},"coverage.html":{}}}],["position.component.ts:15",{"_index":2192,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["position.component.ts:18",{"_index":2189,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["position.component.ts:21",{"_index":2190,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["position.component.ts:24",{"_index":2191,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["position.component.ts:27",{"_index":2195,"title":{},"body":{"components/XYZPositionComponent.html":{}}}],["position.module.ts",{"_index":2203,"title":{},"body":{"modules/XYZPositionModule.html":{}}}],["position/xyz",{"_index":2183,"title":{},"body":{"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"coverage.html":{}}}],["positive",{"_index":904,"title":{},"body":{"interfaces/DecoratedRange.html":{},"miscellaneous/functions.html":{}}}],["possible",{"_index":2669,"title":{},"body":{"changelog.html":{}}}],["poup",{"_index":682,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"miscellaneous/variables.html":{}}}],["precedence",{"_index":929,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["preferences",{"_index":2518,"title":{},"body":{"changelog.html":{}}}],["prefix/suffix",{"_index":2089,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["preparation",{"_index":2757,"title":{},"body":{"changelog.html":{}}}],["present",{"_index":1478,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["presented",{"_index":2772,"title":{},"body":{"changelog.html":{}}}],["pretty",{"_index":1232,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["prevent",{"_index":1310,"title":{},"body":{"components/InfoButtonComponent.html":{},"changelog.html":{}}}],["prevents",{"_index":1850,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["preview",{"_index":2530,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":2634,"title":{},"body":{"changelog.html":{}}}],["previously",{"_index":2453,"title":{},"body":{"changelog.html":{}}}],["prevopacity",{"_index":1594,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["private",{"_index":180,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/LocalStorageSyncService.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{}}}],["process",{"_index":2744,"title":{},"body":{"changelog.html":{}}}],["processed",{"_index":2702,"title":{},"body":{"changelog.html":{}}}],["processing",{"_index":1058,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"changelog.html":{}}}],["produces",{"_index":2977,"title":{},"body":{"miscellaneous/functions.html":{}}}],["production",{"_index":2440,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":2424,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":462,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["projectname",{"_index":51,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["projects",{"_index":2985,"title":{},"body":{"index.html":{}}}],["projects/.../analytics.module.ts",{"_index":2962,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/.../api",{"_index":2958,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../call",{"_index":3101,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../consent.service.ts",{"_index":3092,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../data",{"_index":3093,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../decorated",{"_index":2964,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../filter",{"_index":2959,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../flatten.ts",{"_index":2960,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../globals.service.ts",{"_index":3094,"title":{},"body":{"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["projects/.../inner",{"_index":2963,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../local",{"_index":3099,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../mouse",{"_index":2966,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../organ",{"_index":3097,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../pluck",{"_index":2965,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/.../public",{"_index":3100,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../store",{"_index":3095,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../text",{"_index":3098,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../tracking.state.ts",{"_index":2961,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/ccf",{"_index":16,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["promise",{"_index":351,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{}}}],["properly",{"_index":1549,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["properties",{"_index":86,"title":{},"body":{"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalConfigState.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"components/OpacitySliderComponent.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["propertykey",{"_index":1127,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["props",{"_index":1931,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["props[props.length",{"_index":1938,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["prostate",{"_index":1754,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["protected",{"_index":375,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalsService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["provide",{"_index":72,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/GlobalsService.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["provided",{"_index":346,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"changelog.html":{},"license.html":{}}}],["providedin",{"_index":175,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalsService.html":{},"injectables/InfoButtonService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"interfaces/PanelData.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"miscellaneous/variables.html":{}}}],["providers",{"_index":18,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"changelog.html":{}}}],["providertoken",{"_index":1432,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["providing",{"_index":324,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["public",{"_index":1347,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["publish",{"_index":3051,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":2426,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":3072,"title":{},"body":{"license.html":{}}}],["push",{"_index":991,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["pushed",{"_index":2583,"title":{},"body":{"changelog.html":{}}}],["px",{"_index":1828,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["pxratio",{"_index":2276,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["python",{"_index":2348,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["qs",{"_index":2938,"title":{},"body":{"dependencies.html":{}}}],["qualitative",{"_index":2714,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":2476,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":1671,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{},"dependencies.html":{}}}],["query",{"_index":2781,"title":{},"body":{"changelog.html":{}}}],["querying",{"_index":2394,"title":{},"body":{"changelog.html":{}}}],["quickly",{"_index":2695,"title":{},"body":{"changelog.html":{}}}],["quotaexceedederror",{"_index":1480,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["r",{"_index":1122,"title":{},"body":{"injectables/GlobalConfigState.html":{},"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["r\\n\\r\\n",{"_index":1084,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["radius",{"_index":604,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["range",{"_index":164,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"miscellaneous/functions.html":{}}}],["range.classes",{"_index":908,"title":{},"body":{"interfaces/DecoratedRange.html":{}}}],["range.start",{"_index":1035,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["range.styles",{"_index":909,"title":{},"body":{"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["range.ts",{"_index":886,"title":{},"body":{"interfaces/DecoratedRange.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["range[0",{"_index":169,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["range[1",{"_index":171,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["ranges",{"_index":912,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["rangetominmax",{"_index":163,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["rangetominmax(range",{"_index":2967,"title":{},"body":{"miscellaneous/functions.html":{}}}],["rawspatialscenenode",{"_index":108,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["rawvalue",{"_index":1515,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["rawvalue.trim().tolowercase",{"_index":1517,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["rc.1",{"_index":2720,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":2940,"title":{},"body":{"dependencies.html":{}}}],["rdfjs",{"_index":2863,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":2888,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":2942,"title":{},"body":{"dependencies.html":{}}}],["reactiveformsmodule",{"_index":2080,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["read",{"_index":1061,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"interfaces/XYZTriplet.html":{}}}],["readable",{"_index":2944,"title":{},"body":{"dependencies.html":{}}}],["reading",{"_index":1075,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["readme",{"_index":687,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"miscellaneous/variables.html":{}}}],["readonly",{"_index":181,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageSyncService.html":{},"components/OpacitySliderComponent.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["reads",{"_index":588,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["real",{"_index":2732,"title":{},"body":{"changelog.html":{}}}],["really",{"_index":1227,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["recalculate",{"_index":956,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["receives",{"_index":325,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["record",{"_index":58,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"miscellaneous/functions.html":{}}}],["recreatebodyui",{"_index":2316,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["rectify",{"_index":2458,"title":{},"body":{"changelog.html":{}}}],["reduce",{"_index":2573,"title":{},"body":{"changelog.html":{}}}],["reduction",{"_index":2407,"title":{},"body":{"changelog.html":{}}}],["reexport",{"_index":969,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"modules/TextSearchModule.html":{}}}],["reference",{"_index":1293,"title":{},"body":{"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"directives/NumberDirective.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["refernced",{"_index":2491,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":1632,"title":{},"body":{"components/OpacitySliderComponent.html":{},"changelog.html":{}}}],["regions",{"_index":2775,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":2902,"title":{},"body":{"dependencies.html":{}}}],["registered",{"_index":2454,"title":{},"body":{"changelog.html":{}}}],["registration",{"_index":2484,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["registrations",{"_index":2562,"title":{},"body":{"changelog.html":{}}}],["registrations#1",{"_index":2335,"title":{},"body":{"changelog.html":{}}}],["regular",{"_index":1877,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["related",{"_index":2607,"title":{},"body":{"changelog.html":{}}}],["relative",{"_index":648,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{}}}],["release",{"_index":2343,"title":{},"body":{"changelog.html":{}}}],["releaseproxy",{"_index":409,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["reliability",{"_index":2645,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":2526,"title":{},"body":{"changelog.html":{}}}],["remote",{"_index":410,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["remoteapiendpoint",{"_index":92,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["removable",{"_index":1222,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["remove",{"_index":975,"title":{},"body":{"components/DecoratedTextComponent.html":{},"injectables/GlobalsService.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{}}}],["remove(key",{"_index":1200,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["removed",{"_index":976,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["removeitem",{"_index":1442,"title":{},"body":{"injectables/LocalStorageService.html":{},"components/SpatialSearchListComponent.html":{}}}],["removeitem(index",{"_index":1964,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["removeitem(key",{"_index":1452,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["removes",{"_index":1202,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["render",{"_index":2286,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["rendering",{"_index":2261,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["replaced",{"_index":2979,"title":{},"body":{"miscellaneous/functions.html":{}}}],["replaysubject",{"_index":825,"title":{},"body":{"injectables/ConsentService.html":{}}}],["replaysubject(1",{"_index":823,"title":{},"body":{"injectables/ConsentService.html":{}}}],["repository",{"_index":2983,"title":{},"body":{"index.html":{}}}],["represents",{"_index":972,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["requestmethod",{"_index":130,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"miscellaneous/typealiases.html":{}}}],["requestparams",{"_index":218,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["requestparams['token",{"_index":227,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["required",{"_index":2269,"title":{},"body":{"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["rescinded",{"_index":827,"title":{},"body":{"injectables/ConsentService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageSyncService.html":{},"components/TrackingPopupComponent.html":{},"miscellaneous/typealiases.html":{}}}],["reset",{"_index":11,"title":{},"body":{"modules/AnalyticsModule.html":{},"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{},"overview.html":{}}}],["resetopacity",{"_index":1596,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["resets",{"_index":2547,"title":{},"body":{"changelog.html":{}}}],["resetting",{"_index":1610,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["resize",{"_index":1837,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["resizesensor",{"_index":1669,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["resizesensor(carouselcontainer.nativeelement",{"_index":1840,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["resizing",{"_index":1831,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["resolve",{"_index":901,"title":{},"body":{"interfaces/DecoratedRange.html":{},"miscellaneous/functions.html":{}}}],["resolved",{"_index":967,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["resolveindex",{"_index":2818,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["resolveindex(index",{"_index":905,"title":{},"body":{"interfaces/DecoratedRange.html":{},"miscellaneous/functions.html":{}}}],["resolveindex(range.end",{"_index":907,"title":{},"body":{"interfaces/DecoratedRange.html":{}}}],["resolveindex(range.start",{"_index":906,"title":{},"body":{"interfaces/DecoratedRange.html":{}}}],["resolves",{"_index":896,"title":{},"body":{"interfaces/DecoratedRange.html":{},"miscellaneous/functions.html":{}}}],["respond",{"_index":2544,"title":{},"body":{"changelog.html":{}}}],["responsetype",{"_index":731,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["responsively",{"_index":1902,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["rest",{"_index":866,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["restricting",{"_index":1560,"title":{},"body":{"directives/NumberDirective.html":{}}}],["restriction",{"_index":3047,"title":{},"body":{"license.html":{}}}],["result",{"_index":81,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["result.concat(range.classes",{"_index":1036,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["results",{"_index":83,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["return",{"_index":59,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"interfaces/DataSource.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/InfoButtonService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["returns",{"_index":31,"title":{},"body":{"modules/AnalyticsModule.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"miscellaneous/functions.html":{}}}],["reviver",{"_index":217,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["reviver(data",{"_index":230,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["rgb",{"_index":2920,"title":{},"body":{"dependencies.html":{}}}],["rgba(0",{"_index":2139,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["rgba(255",{"_index":2131,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["rhs",{"_index":1925,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["right",{"_index":602,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["rights",{"_index":3049,"title":{},"body":{"license.html":{}}}],["root",{"_index":176,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalsService.html":{},"injectables/InfoButtonService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"interfaces/PanelData.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["rotates",{"_index":2528,"title":{},"body":{"changelog.html":{}}}],["rotation",{"_index":2220,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["rotation(value",{"_index":2222,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["rotationchange",{"_index":2241,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["rotationx",{"_index":2224,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["rotationx(value",{"_index":2226,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["round",{"_index":2632,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":2649,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":2392,"title":{},"body":{"changelog.html":{}}}],["row",{"_index":621,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["ru/common",{"_index":2850,"title":{},"body":{"dependencies.html":{}}}],["ru/common/typings",{"_index":1140,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["rui",{"_index":570,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"changelog.html":{},"index.html":{}}}],["rui_locations.jsonld",{"_index":2420,"title":{},"body":{"changelog.html":{}}}],["running",{"_index":1236,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["rxjs",{"_index":114,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{},"dependencies.html":{}}}],["rxjs/internal/observable",{"_index":497,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["rxjs/operators",{"_index":119,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DataSource.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/PluckUniqueOptions.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["s.unsubscribe",{"_index":2321,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["safe",{"_index":1023,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["same",{"_index":295,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["sample",{"_index":2786,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["samples",{"_index":2575,"title":{},"body":{"changelog.html":{}}}],["saveconsent",{"_index":1496,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["saveconsent(value",{"_index":1500,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["saver",{"_index":2908,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":2747,"title":{},"body":{"changelog.html":{}}}],["scene",{"_index":2216,"title":{},"body":{"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["scene(nodes",{"_index":2218,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["scheduled",{"_index":2588,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":2749,"title":{},"body":{"changelog.html":{}}}],["schemes",{"_index":2715,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":3026,"title":{},"body":{"index.html":{}}}],["screen",{"_index":1342,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["scroll(dir",{"_index":1864,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["scrolled",{"_index":1854,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["scrolling",{"_index":1823,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["scrolls",{"_index":1849,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["search",{"_index":301,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{},"coverage.html":{}}}],["search'},{'name",{"_index":530,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["search.component",{"_index":2088,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["search.component.html",{"_index":307,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["search.component.scss",{"_index":309,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["search.component.ts",{"_index":261,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["search.component.ts:100",{"_index":2048,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:120",{"_index":2056,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:139",{"_index":2058,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:150",{"_index":2060,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:48",{"_index":2055,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:53",{"_index":2051,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:59",{"_index":2052,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:63",{"_index":2066,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:70",{"_index":2050,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:76",{"_index":2049,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:81",{"_index":2054,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:86",{"_index":2053,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:91",{"_index":2062,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.component.ts:96",{"_index":2063,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["search.module.ts",{"_index":2078,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["search/text",{"_index":260,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["searches",{"_index":1946,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"changelog.html":{}}}],["section",{"_index":2563,"title":{},"body":{"changelog.html":{}}}],["security",{"_index":1248,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["see",{"_index":2396,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["segment",{"_index":934,"title":{"interfaces/Segment.html":{}},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"coverage.html":{}}}],["segment.text",{"_index":1038,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["segments",{"_index":916,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["segments.push(this.makedecoratedsegment",{"_index":997,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["select",{"_index":495,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"changelog.html":{}}}],["select(calltoactionselectors.calltoaction",{"_index":476,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["select(calltoactionselectors.imageurl",{"_index":482,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["select(calltoactionselectors.message",{"_index":489,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["select(calltoactionselectors.title",{"_index":491,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["selected",{"_index":332,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{},"changelog.html":{}}}],["selecteditems",{"_index":1974,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["selectedorgan",{"_index":1886,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["selectedorgans",{"_index":1817,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["selecting",{"_index":1802,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["selection",{"_index":1957,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["selectionchanged",{"_index":1952,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["selections",{"_index":1812,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["selector",{"_index":305,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"classes/CallToActionSelectors.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["selector'},{'name",{"_index":524,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["selector(['calltoactionstate",{"_index":777,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["selector([calltoactionstate",{"_index":790,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["selector.component",{"_index":1911,"title":{},"body":{"modules/OrganSelectorModule.html":{}}}],["selector.component.html",{"_index":1804,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["selector.component.scss",{"_index":1805,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["selector.component.ts",{"_index":1655,"title":{},"body":{"interfaces/OrganInfo.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["selector.module.ts",{"_index":1910,"title":{},"body":{"modules/OrganSelectorModule.html":{}}}],["selector/organ",{"_index":1654,"title":{},"body":{"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["selectorgan(organ",{"_index":1881,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["selects",{"_index":2765,"title":{},"body":{"changelog.html":{}}}],["selecttoken",{"_index":1426,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["selecttoken(config",{"_index":1429,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["self",{"_index":638,"title":{},"body":{"components/CallToActionComponent.html":{},"injectables/GlobalsService.html":{},"components/InfoDialogComponent.html":{}}}],["sell",{"_index":3055,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":2771,"title":{},"body":{"changelog.html":{}}}],["send",{"_index":1057,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["sends",{"_index":485,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["sennet",{"_index":2436,"title":{},"body":{"changelog.html":{}}}],["sensitive",{"_index":2332,"title":{},"body":{"changelog.html":{}}}],["sensor",{"_index":1832,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["sent",{"_index":1074,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["server",{"_index":2752,"title":{},"body":{"changelog.html":{}}}],["service",{"_index":1295,"title":{},"body":{"components/InfoButtonComponent.html":{},"injectables/LocalStorageService.html":{},"components/TrackingPopupComponent.html":{}}}],["services/local",{"_index":677,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["set",{"_index":68,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/ConsentService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"injectables/GlobalsService.html":{},"injectables/LocalStorageSyncService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{}}}],["set(key",{"_index":1203,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["setallowtelemetry",{"_index":2160,"title":{},"body":{"injectables/TrackingState.html":{}}}],["setallowtelemetry(allowtelemetry",{"_index":2161,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["setconfig",{"_index":1111,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["setconfig(config",{"_index":1132,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["setconsent",{"_index":815,"title":{},"body":{"injectables/ConsentService.html":{}}}],["setconsent(value",{"_index":819,"title":{},"body":{"injectables/ConsentService.html":{}}}],["setinterval",{"_index":1866,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["setitem",{"_index":1443,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["setitem(key",{"_index":1454,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["setleftright(val",{"_index":1905,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["sets",{"_index":692,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"interfaces/OrganInfo.html":{},"components/StoreDebugComponent.html":{}}}],["settimeout",{"_index":1384,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["setting",{"_index":1590,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["settings",{"_index":1251,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["setup",{"_index":2268,"title":{},"body":{"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["setupbodyui",{"_index":2287,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["setvalue(val",{"_index":2065,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["setwidth",{"_index":1903,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["sex",{"_index":145,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"interfaces/OrganInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["sexes",{"_index":1660,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{}}}],["shadow",{"_index":2135,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["shall",{"_index":3062,"title":{},"body":{"license.html":{}}}],["shared",{"_index":2521,"title":{},"body":{"changelog.html":{}}}],["shared/analytics",{"_index":2116,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["shared/analytics/src/lib/analytics.module.ts",{"_index":17,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["shared/analytics/src/lib/analytics.module.ts:68",{"_index":25,"title":{},"body":{"modules/AnalyticsModule.html":{}}}],["shared/analytics/src/lib/consent.service.ts",{"_index":811,"title":{},"body":{"injectables/ConsentService.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["shared/analytics/src/lib/consent.service.ts:10",{"_index":822,"title":{},"body":{"injectables/ConsentService.html":{}}}],["shared/analytics/src/lib/consent.service.ts:12",{"_index":817,"title":{},"body":{"injectables/ConsentService.html":{}}}],["shared/analytics/src/lib/consent.service.ts:18",{"_index":818,"title":{},"body":{"injectables/ConsentService.html":{}}}],["shared/analytics/src/lib/consent.service.ts:22",{"_index":820,"title":{},"body":{"injectables/ConsentService.html":{}}}],["shared/analytics/src/lib/consent.service.ts:29",{"_index":821,"title":{},"body":{"injectables/ConsentService.html":{}}}],["shared/analytics/src/lib/google",{"_index":1263,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{},"coverage.html":{}}}],["shared/analytics/src/lib/local",{"_index":1494,"title":{},"body":{"injectables/LocalStorageSyncService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["shared/rxjs",{"_index":1146,"title":{},"body":{"injectables/GlobalConfigState.html":{},"interfaces/PluckUniqueOptions.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["shared/src/lib/analytics/mouse",{"_index":1523,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["shared/src/lib/analytics/tracking.state.ts",{"_index":2159,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["shared/src/lib/analytics/tracking.state.ts:29",{"_index":2163,"title":{},"body":{"injectables/TrackingState.html":{}}}],["shared/src/lib/components/body",{"_index":359,"title":{},"body":{"modules/BodyUiModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["shared/src/lib/components/call",{"_index":454,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"modules/CallToActionModule.html":{},"coverage.html":{}}}],["shared/src/lib/components/decorated",{"_index":885,"title":{},"body":{"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["shared/src/lib/components/info/info",{"_index":1046,"title":{},"body":{"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"interfaces/PanelData.html":{},"coverage.html":{}}}],["shared/src/lib/components/opacity",{"_index":1586,"title":{},"body":{"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"coverage.html":{}}}],["shared/src/lib/components/organ",{"_index":1653,"title":{},"body":{"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["shared/src/lib/components/spatial",{"_index":1943,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"coverage.html":{}}}],["shared/src/lib/components/store",{"_index":1997,"title":{},"body":{"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["shared/src/lib/components/text",{"_index":259,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["shared/src/lib/components/tracking",{"_index":2091,"title":{},"body":{"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"coverage.html":{}}}],["shared/src/lib/components/xyz",{"_index":2182,"title":{},"body":{"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"coverage.html":{}}}],["shared/src/lib/config/global",{"_index":1103,"title":{},"body":{"injectables/GlobalConfigState.html":{},"coverage.html":{}}}],["shared/src/lib/directives/numbers",{"_index":1557,"title":{},"body":{"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"coverage.html":{}}}],["shared/src/lib/services/data",{"_index":88,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["shared/src/lib/services/globals/globals.service.ts",{"_index":1162,"title":{},"body":{"injectables/GlobalsService.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:109",{"_index":1167,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:22",{"_index":1208,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:45",{"_index":1193,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:58",{"_index":1182,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:59",{"_index":1186,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:60",{"_index":1189,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:61",{"_index":1190,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:63",{"_index":1191,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:76",{"_index":1204,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:77",{"_index":1205,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:79",{"_index":1206,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/globals/globals.service.ts:93",{"_index":1201,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["shared/src/lib/services/local",{"_index":1439,"title":{},"body":{"injectables/LocalStorageService.html":{},"coverage.html":{}}}],["shared/src/lib/states/call",{"_index":654,"title":{},"body":{"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["sharereplay",{"_index":415,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"interfaces/PluckUniqueOptions.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"miscellaneous/functions.html":{}}}],["sharereplay(1",{"_index":429,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/GlobalConfigState.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"interfaces/PluckUniqueOptions.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["shifing",{"_index":992,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["shift",{"_index":1827,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["shift(dir",{"_index":1855,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["shortest",{"_index":2915,"title":{},"body":{"dependencies.html":{}}}],["show",{"_index":265,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["showbutton",{"_index":2097,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["showbutton(button",{"_index":2104,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["showing",{"_index":2701,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":683,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["showpopup",{"_index":726,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["shows",{"_index":2479,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":1659,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["sides",{"_index":2678,"title":{},"body":{"changelog.html":{}}}],["signal",{"_index":1619,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["significant",{"_index":2549,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":2000,"title":{},"body":{"components/StoreDebugComponent.html":{},"changelog.html":{}}}],["simplechanges",{"_index":954,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["simplifies",{"_index":2557,"title":{},"body":{"changelog.html":{}}}],["simultaneously",{"_index":322,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["single",{"_index":263,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"interfaces/OrganInfo.html":{},"components/TextSearchComponent.html":{},"miscellaneous/functions.html":{}}}],["sites",{"_index":2486,"title":{},"body":{"changelog.html":{}}}],["sizable",{"_index":2644,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":616,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/XYZPositionComponent.html":{}}}],["skin",{"_index":1676,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["slider",{"_index":1589,"title":{},"body":{"components/OpacitySliderComponent.html":{},"dependencies.html":{}}}],["slider'},{'name",{"_index":521,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["slider.component",{"_index":1646,"title":{},"body":{"modules/OpacitySliderModule.html":{}}}],["slider.component.html",{"_index":1593,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.scss",{"_index":1592,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts",{"_index":1588,"title":{},"body":{"components/OpacitySliderComponent.html":{},"coverage.html":{}}}],["slider.component.ts:17",{"_index":1612,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:22",{"_index":1603,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:27",{"_index":1604,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:32",{"_index":1606,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:37",{"_index":1611,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:42",{"_index":1608,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:44",{"_index":1623,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:46",{"_index":1616,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:54",{"_index":1617,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:63",{"_index":1614,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:71",{"_index":1620,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.component.ts:82",{"_index":1618,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["slider.module.ts",{"_index":1645,"title":{},"body":{"modules/OpacitySliderModule.html":{}}}],["slider/opacity",{"_index":1587,"title":{},"body":{"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"coverage.html":{}}}],["slightly",{"_index":1458,"title":{},"body":{"injectables/LocalStorageService.html":{},"changelog.html":{}}}],["slow",{"_index":2570,"title":{},"body":{"changelog.html":{}}}],["small",{"_index":1759,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["smaller",{"_index":1892,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["software",{"_index":2987,"title":{},"body":{"index.html":{},"license.html":{}}}],["solved",{"_index":2639,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":2693,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":2430,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":2566,"title":{},"body":{"changelog.html":{}}}],["sort",{"_index":1014,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["sort((a",{"_index":1795,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["sort((i1",{"_index":1010,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["source",{"_index":14,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"modules/BodyUiModule.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"modules/CallToActionBehaviorModule.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"modules/CallToActionModule.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"modules/InfoButtonModule.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"modules/InfoDialogModule.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"directives/NumberDirective.html":{},"modules/NumbersOnlyModule.html":{},"components/OpacitySliderComponent.html":{},"modules/OpacitySliderModule.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"modules/OrganSelectorModule.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{}}}],["source.pipe",{"_index":1940,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{}}}],["source.service.ts",{"_index":872,"title":{},"body":{"injectables/DataSourceService.html":{},"coverage.html":{}}}],["source.service.ts:12",{"_index":876,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:13",{"_index":880,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:14",{"_index":877,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:15",{"_index":879,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:16",{"_index":875,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:17",{"_index":881,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:19",{"_index":884,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:20",{"_index":873,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:21",{"_index":878,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:22",{"_index":874,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:23",{"_index":883,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.service.ts:24",{"_index":882,"title":{},"body":{"injectables/DataSourceService.html":{}}}],["source.ts",{"_index":834,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["source.ts:10",{"_index":842,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:11",{"_index":839,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:12",{"_index":841,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:13",{"_index":837,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:14",{"_index":843,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:16",{"_index":846,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:17",{"_index":835,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:18",{"_index":840,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:19",{"_index":836,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:20",{"_index":845,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:21",{"_index":844,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:36",{"_index":1094,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:40",{"_index":1098,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:44",{"_index":1095,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:48",{"_index":1097,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:52",{"_index":1093,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:56",{"_index":1099,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:60",{"_index":1102,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:64",{"_index":1091,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:68",{"_index":1096,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:72",{"_index":1092,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:76",{"_index":1101,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:80",{"_index":1100,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:84",{"_index":1090,"title":{},"body":{"classes/ForwardingDataSource.html":{}}}],["source.ts:9",{"_index":838,"title":{},"body":{"interfaces/DataSource.html":{}}}],["source.ts:91",{"_index":1045,"title":{},"body":{"classes/DelegateDataSource.html":{}}}],["source/api",{"_index":89,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["source/ccf",{"_index":369,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["source/data",{"_index":833,"title":{},"body":{"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["source/injector",{"_index":1424,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{},"coverage.html":{}}}],["sources",{"_index":2512,"title":{},"body":{"changelog.html":{}}}],["space",{"_index":1394,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["sparc",{"_index":2561,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":2357,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":150,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["spatial_search_readme",{"_index":690,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["spatialentity",{"_index":99,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{}}}],["spatialscenenode",{"_index":100,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{}}}],["spatialscenenodereviver",{"_index":211,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["spatialscenenodereviver(nodes",{"_index":2968,"title":{},"body":{"miscellaneous/functions.html":{}}}],["spatialsearch",{"_index":107,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["spatialsearchlistcomponent",{"_index":525,"title":{"components/SpatialSearchListComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"modules/SpatialSearchListModule.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["spatialsearchlistitem",{"_index":1969,"title":{"interfaces/SpatialSearchListItem.html":{}},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"coverage.html":{}}}],["spatialsearchlistmodule",{"_index":1985,"title":{"modules/SpatialSearchListModule.html":{}},"body":{"modules/SpatialSearchListModule.html":{},"modules.html":{},"overview.html":{}}}],["spec",{"_index":2463,"title":{},"body":{"changelog.html":{}}}],["spec.yaml",{"_index":3009,"title":{},"body":{"index.html":{}}}],["specific",{"_index":1195,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{}}}],["specification",{"_index":3008,"title":{},"body":{"index.html":{}}}],["specified",{"_index":644,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["speed",{"_index":2404,"title":{},"body":{"changelog.html":{}}}],["spinal",{"_index":1766,"title":{},"body":{"interfaces/OrganInfo.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["spinning",{"_index":2750,"title":{},"body":{"changelog.html":{}}}],["spleen",{"_index":1769,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["split",{"_index":1062,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["split.includes('\\n\\n",{"_index":1082,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["split.length",{"_index":1080,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["split.split(newline",{"_index":1086,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["splitbyheadertag",{"_index":1078,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["sprint",{"_index":2591,"title":{},"body":{"changelog.html":{}}}],["src",{"_index":643,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["stack",{"_index":938,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["stackop",{"_index":941,"title":{"interfaces/StackOp.html":{}},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"coverage.html":{}}}],["stackops",{"_index":985,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["stackops.shift",{"_index":995,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["stackops[0].index",{"_index":993,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["stage",{"_index":2213,"title":{},"body":{"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["staging",{"_index":2441,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["standalone",{"_index":2635,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":2682,"title":{},"body":{"changelog.html":{}}}],["standards",{"_index":2754,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":2989,"title":{},"body":{"index.html":{}}}],["start",{"_index":889,"title":{},"body":{"interfaces/DecoratedRange.html":{}}}],["started",{"_index":2323,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["starts",{"_index":988,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["startup",{"_index":2556,"title":{},"body":{"changelog.html":{}}}],["startwith",{"_index":288,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["state",{"_index":665,"title":{},"body":{"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalConfigState.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/StoreDebugComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["state.calltoaction",{"_index":793,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["state.expirationdate",{"_index":795,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["state.imageurl",{"_index":794,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["state.message",{"_index":792,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["state.popupshown",{"_index":796,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["state.title",{"_index":791,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["state[0",{"_index":2034,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["statecontext",{"_index":666,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["statement",{"_index":1022,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["statements",{"_index":2793,"title":{},"body":{"coverage.html":{}}}],["staterepository",{"_index":1141,"title":{},"body":{"injectables/GlobalConfigState.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["states",{"_index":2022,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["states.map(([key",{"_index":2025,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["states/call",{"_index":499,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{}}}],["stateswithdata",{"_index":2027,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["statevalues",{"_index":2024,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["statevalues.filter(([_key",{"_index":2028,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["static",{"_index":20,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{}}}],["stay",{"_index":2790,"title":{},"body":{"changelog.html":{}}}],["step",{"_index":1829,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["still",{"_index":2578,"title":{},"body":{"changelog.html":{}}}],["stops",{"_index":1869,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["stopscroll",{"_index":1870,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["storage",{"_index":45,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["storage.length",{"_index":1482,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.removeitem(x",{"_index":1466,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.service",{"_index":679,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["storage.service.ts",{"_index":1440,"title":{},"body":{"injectables/LocalStorageService.html":{},"coverage.html":{}}}],["storage.service.ts:11",{"_index":1483,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.service.ts:41",{"_index":1485,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.service.ts:50",{"_index":1451,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.service.ts:60",{"_index":1448,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.service.ts:70",{"_index":1455,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.service.ts:83",{"_index":1453,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.service.ts:90",{"_index":1444,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage.setitem(x",{"_index":1465,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["storage/local",{"_index":678,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/LocalStorageService.html":{},"coverage.html":{}}}],["store",{"_index":528,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["store.subscribe(root",{"_index":2030,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["stored",{"_index":1505,"title":{},"body":{"injectables/LocalStorageSyncService.html":{},"miscellaneous/variables.html":{}}}],["storedebugcomponent",{"_index":527,"title":{"components/StoreDebugComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"modules/StoreDebugModule.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["storedebugmodule",{"_index":2038,"title":{"modules/StoreDebugModule.html":{}},"body":{"modules/StoreDebugModule.html":{},"modules.html":{},"overview.html":{}}}],["stories",{"_index":2746,"title":{},"body":{"changelog.html":{}}}],["stream",{"_index":2945,"title":{},"body":{"dependencies.html":{},"miscellaneous/functions.html":{}}}],["streaming",{"_index":2943,"title":{},"body":{"dependencies.html":{}}}],["string",{"_index":49,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"components/OpacitySliderComponent.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["structure",{"_index":1048,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/PanelData.html":{},"changelog.html":{}}}],["structures",{"_index":2593,"title":{},"body":{"changelog.html":{}}}],["styles",{"_index":451,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["styleurls",{"_index":308,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["styling",{"_index":271,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"changelog.html":{}}}],["sub",{"_index":619,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/StoreDebugComponent.html":{}}}],["subclass",{"_index":1171,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["subject",{"_index":113,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"license.html":{},"miscellaneous/variables.html":{}}}],["sublicense",{"_index":3053,"title":{},"body":{"license.html":{}}}],["submit",{"_index":2098,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["submit(entry",{"_index":2107,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["subscribe((data",{"_index":1068,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["subscription",{"_index":1274,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/LocalStorageSyncService.html":{},"modules/MousePositionTrackerModule.html":{},"components/StoreDebugComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{}}}],["subscriptions",{"_index":1265,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/LocalStorageSyncService.html":{},"components/StoreDebugComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["substantial",{"_index":3064,"title":{},"body":{"license.html":{}}}],["subtitle",{"_index":1399,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["success/failure",{"_index":1457,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["such",{"_index":2356,"title":{},"body":{"changelog.html":{}}}],["suffix",{"_index":2070,"title":{},"body":{"components/TextSearchComponent.html":{}}}],["suggestion",{"_index":264,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["suggestions",{"_index":294,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["super",{"_index":417,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["support",{"_index":2360,"title":{},"body":{"changelog.html":{},"modules.html":{}}}],["svg",{"_index":1657,"title":{},"body":{"interfaces/OrganInfo.html":{},"modules.html":{}}}],["swiper",{"_index":2948,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":1518,"title":{},"body":{"injectables/LocalStorageSyncService.html":{},"changelog.html":{}}}],["switched",{"_index":2652,"title":{},"body":{"changelog.html":{}}}],["switchmap",{"_index":116,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DataSource.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"components/TextSearchComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["switchmap(config",{"_index":424,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["switchmap(impl",{"_index":868,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["switchmap(this.getoptions",{"_index":338,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["symbol",{"_index":1210,"title":{},"body":{"injectables/GlobalsService.html":{},"miscellaneous/typealiases.html":{}}}],["sync",{"_index":2529,"title":{},"body":{"changelog.html":{}}}],["sync.service",{"_index":43,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["sync.service.ts",{"_index":1264,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageSyncService.html":{},"coverage.html":{},"miscellaneous/variables.html":{}}}],["sync.service.ts:10",{"_index":1275,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["sync.service.ts:11",{"_index":1269,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["sync.service.ts:15",{"_index":1502,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["sync.service.ts:16",{"_index":1497,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["sync.service.ts:25",{"_index":1270,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["sync.service.ts:29",{"_index":1272,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["sync.service.ts:32",{"_index":1499,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["sync.service.ts:36",{"_index":1498,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["sync.service.ts:52",{"_index":1501,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["t",{"_index":134,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalsService.html":{},"interfaces/PluckUniqueOptions.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/StoreDebugComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["table",{"_index":2849,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":2449,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":2848,"title":{},"body":{"coverage.html":{}}}],["tag",{"_index":1375,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["tag.src",{"_index":1377,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["tagging",{"_index":2680,"title":{},"body":{"changelog.html":{}}}],["tags",{"_index":1064,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["take",{"_index":117,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"components/TextSearchComponent.html":{},"changelog.html":{}}}],["take(1",{"_index":223,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["takes",{"_index":928,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["tap",{"_index":118,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["tap(([endpoint",{"_index":224,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["tap(data",{"_index":753,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["target",{"_index":2231,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["target(value",{"_index":2233,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["technologies",{"_index":149,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"changelog.html":{}}}],["technology",{"_index":2625,"title":{},"body":{"changelog.html":{}}}],["telemetry",{"_index":2175,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"changelog.html":{}}}],["temp",{"_index":1629,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["template",{"_index":450,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["templateurl",{"_index":306,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["terms",{"_index":2354,"title":{},"body":{"changelog.html":{}}}],["test",{"_index":1229,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"changelog.html":{}}}],["testing",{"_index":1179,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{}}}],["tests",{"_index":1194,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["text",{"_index":300,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["text'},{'name",{"_index":514,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["text.component",{"_index":1044,"title":{},"body":{"modules/DecoratedTextModule.html":{}}}],["text.component.html",{"_index":915,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["text.component.scss",{"_index":914,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["text.component.ts",{"_index":910,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"coverage.html":{}}}],["text.component.ts:124",{"_index":936,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:145",{"_index":961,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:158",{"_index":942,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:173",{"_index":951,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:184",{"_index":948,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:41",{"_index":931,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:46",{"_index":930,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:52",{"_index":924,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:57",{"_index":965,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:64",{"_index":955,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.component.ts:76",{"_index":932,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["text.length",{"_index":1003,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["text.module",{"_index":2087,"title":{},"body":{"modules/TextSearchModule.html":{}}}],["text.module.ts",{"_index":1043,"title":{},"body":{"modules/DecoratedTextModule.html":{}}}],["text.slice(lastindex",{"_index":998,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["text/decorated",{"_index":291,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"modules/DecoratedTextModule.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["textsearchcomponent",{"_index":312,"title":{"components/TextSearchComponent.html":{}},"body":{"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"modules/TextSearchModule.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["textsearchmodule",{"_index":2071,"title":{"modules/TextSearchModule.html":{}},"body":{"modules/TextSearchModule.html":{},"modules.html":{},"overview.html":{}}}],["theme",{"_index":2437,"title":{},"body":{"changelog.html":{}}}],["themes",{"_index":2435,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":2433,"title":{},"body":{"changelog.html":{}}}],["thick",{"_index":1790,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["this._bounds",{"_index":2235,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this._camera",{"_index":2239,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this._interactive",{"_index":2248,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this._occurencedata",{"_index":1834,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this._rotation",{"_index":2221,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this._rotationx",{"_index":2225,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this._scene",{"_index":2217,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this._target",{"_index":2232,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this._zoom",{"_index":2228,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.api.aggregateresults(params",{"_index":204,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.celltypetermoccurences(params",{"_index":208,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.celltypetreemodel(params",{"_index":197,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.dbstatus(params",{"_index":187,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.ontologytermoccurences(params",{"_index":206,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.ontologytreemodel(params",{"_index":195,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.providernames(params",{"_index":190,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.referenceorgans(params",{"_index":199,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.referenceorganscene(params",{"_index":213,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.scene(params",{"_index":210,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.technologynames(params",{"_index":192,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.api.tissueblocks(params",{"_index":202,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.bodycanvas",{"_index":2274,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodycanvas.nativeelement",{"_index":2275,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui",{"_index":2250,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui.finalize",{"_index":2318,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui.nodeclick$.subscribe((event",{"_index":2309,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui.nodedrag$.subscribe((event",{"_index":2307,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui.nodehoverstart$.subscribe((event",{"_index":2311,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui.nodehoverstop$.subscribe((event",{"_index":2313,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui.scenerotation$.subscribe((rotation",{"_index":2305,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui.setscene(this.scene",{"_index":2299,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui.settarget(this.target",{"_index":2303,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui?.setrotation(value",{"_index":2223,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui?.setrotationx(value",{"_index":2227,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui?.setscene(nodes",{"_index":2219,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui?.settarget(value",{"_index":2234,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bodyui?.setzoom(value",{"_index":2230,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.bounds",{"_index":2300,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.calltoactionclicked.emit",{"_index":591,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["this.camera",{"_index":2293,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.clearsubscriptions",{"_index":2317,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.closeclicked.emit",{"_index":590,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["this.config$.pipe",{"_index":1152,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["this.connectdatabase(manager",{"_index":426,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["this.consent",{"_index":830,"title":{},"body":{"injectables/ConsentService.html":{}}}],["this.consentchange.complete",{"_index":829,"title":{},"body":{"injectables/ConsentService.html":{}}}],["this.consentchange.next(this.consent",{"_index":828,"title":{},"body":{"injectables/ConsentService.html":{}}}],["this.consentchange.next(value",{"_index":831,"title":{},"body":{"injectables/ConsentService.html":{}}}],["this.consentservice.consent",{"_index":2117,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["this.consentservice.setconsent(entry",{"_index":2124,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["this.container",{"_index":2118,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["this.controller.setvalue(val",{"_index":319,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["this.controller.value",{"_index":317,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["this.controller.valuechanges",{"_index":336,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["this.createdatabase(config",{"_index":425,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["this.createsegments",{"_index":978,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["this.createstackops(decorations",{"_index":986,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["this.createworker(config",{"_index":441,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["this.ctx.patchstate",{"_index":2173,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["this.data.preclose",{"_index":2123,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["this.database",{"_index":419,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["this.defaultmaxoptions",{"_index":352,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["this.dialog.closeall",{"_index":749,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.dialog.open(calltoactionbehaviorcomponent",{"_index":758,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.dialog.open(infodialogcomponent",{"_index":736,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{}}}],["this.dialog.opendialogs.length",{"_index":1309,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["this.dialogref.close",{"_index":1385,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["this.dismiss",{"_index":2125,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["this.displayerrors",{"_index":1847,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.documentationcontents",{"_index":1373,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["this.dorequest",{"_index":194,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.dorequest(params",{"_index":186,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["this.el.nativeelement.value",{"_index":1576,"title":{},"body":{"directives/NumberDirective.html":{}}}],["this.findglobalobject",{"_index":1213,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["this.forwardcall('getaggregateresults",{"_index":860,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getcelltypetermoccurences",{"_index":862,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getcelltypetreemodel",{"_index":857,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getdatabasestatus",{"_index":853,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getdatasettechnologynames",{"_index":855,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getontologytermoccurences",{"_index":861,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getontologytreemodel",{"_index":856,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getprovidernames",{"_index":854,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getreferenceorgans",{"_index":858,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getreferenceorganscene",{"_index":864,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('getscene",{"_index":863,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.forwardcall('gettissueblockresults",{"_index":859,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.ga.event('close",{"_index":768,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.ga.event('open",{"_index":761,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.ga.event('open_learn_more",{"_index":750,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.getdialogdata().pipe",{"_index":752,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.getnormalizeddecorations",{"_index":982,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["this.getpathkey(path",{"_index":1154,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["this.http.get(spatial_search_readme",{"_index":730,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.http.get(url",{"_index":1067,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["this.impl",{"_index":418,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["this.impl$.pipe",{"_index":867,"title":{},"body":{"interfaces/DataSource.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{}}}],["this.infobuttonservice.updatedata(this.documentationurl",{"_index":1317,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["this.infoservice.parsemarkdown(data",{"_index":733,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.infotitle",{"_index":1319,"title":{},"body":{"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["this.initialized.emit",{"_index":2315,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.interactive",{"_index":2292,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.itemremoved.emit(item",{"_index":1979,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["this.items",{"_index":1972,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["this.launchinfodialog(data",{"_index":1308,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["this.launchlearnmore(data",{"_index":754,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.makeundecoratedsegment(text",{"_index":981,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["this.multiselect",{"_index":1882,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.nodeclick.emit(event",{"_index":2310,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.nodedrag.emit(event",{"_index":2308,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.nodehoverstart.emit(event",{"_index":2312,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.nodehoverstop.emit(event",{"_index":2314,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.onleft",{"_index":1858,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.onright",{"_index":1859,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.opacity",{"_index":1626,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["this.opacitychange.emit(this.opacity",{"_index":1628,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["this.opacityreset.emit",{"_index":1631,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["this.optioncache.get(key",{"_index":1156,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["this.optioncache.has(key",{"_index":1155,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["this.optioncache.set(key",{"_index":1159,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["this.organlist.length",{"_index":1895,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.organschanged.emit(this.selectedorgans",{"_index":1888,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.panelcontent.next(panelcontent",{"_index":1070,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["this.parsemarkdown(data",{"_index":1069,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["this.patchstate(config",{"_index":1151,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["this.prevopacity",{"_index":1625,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["this.recreatebodyui",{"_index":2251,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.root",{"_index":2031,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["this.rotationchange.next(rotation",{"_index":2306,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.saveconsent(consent",{"_index":1514,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["this.scene?.length",{"_index":2298,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.segments",{"_index":977,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["this.selectedorgans",{"_index":1883,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.selectedorgans.concat([organ",{"_index":1887,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.selectedorgans.filter((selectedorgan",{"_index":1885,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.selectedorgans.includes(organ",{"_index":1884,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.selectedorgans.length",{"_index":1848,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.selectionchanged.emit(selecteditems",{"_index":1977,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["this.selecttoken(config",{"_index":1435,"title":{},"body":{"injectables/InjectorDelegateDataSourceService.html":{}}}],["this.sensor",{"_index":1839,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.sensor.detach",{"_index":1843,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.set",{"_index":1841,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.setconsent('not",{"_index":832,"title":{},"body":{"injectables/ConsentService.html":{}}}],["this.setleftright(val",{"_index":1862,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.setstate(config",{"_index":1150,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["this.setupbodyui",{"_index":2271,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.shift(dir",{"_index":1867,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.state$.pipe(filternulls",{"_index":1149,"title":{},"body":{"injectables/GlobalConfigState.html":{}}}],["this.step",{"_index":1860,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.storage",{"_index":1509,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["this.storage.getitem(popup_shown_storage_key",{"_index":723,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.storage.setitem(popup_shown_storage_key",{"_index":762,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["this.storage?.getitem?.(this.key",{"_index":1516,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["this.storage?.setitem?.(this.key",{"_index":1521,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["this.subscriptions",{"_index":2304,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.subscriptions.add",{"_index":1512,"title":{},"body":{"injectables/LocalStorageSyncService.html":{}}}],["this.subscriptions.add(consentservice.consentchange.subscribe",{"_index":1282,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["this.subscriptions.add(infobuttonservice.panelcontent.subscribe(data",{"_index":1306,"title":{},"body":{"components/InfoButtonComponent.html":{}}}],["this.subscriptions.add(sub",{"_index":2033,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["this.subscriptions.foreach(s",{"_index":2320,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.subscriptions.unsubscribe",{"_index":1284,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/LocalStorageSyncService.html":{},"components/StoreDebugComponent.html":{}}}],["this.target",{"_index":2302,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.timeouthandler",{"_index":1865,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["this.togglegoogleanalytics(consent",{"_index":1283,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["this.token",{"_index":1281,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["this.updatestack(stack",{"_index":994,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["this.valuechange",{"_index":344,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["this.videoid",{"_index":1318,"title":{},"body":{"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{}}}],["this.visibilitytoggle.emit",{"_index":1630,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["this.visible",{"_index":1624,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["this.window",{"_index":1285,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["this.window[`ga",{"_index":1286,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["this.zoom",{"_index":2285,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.zoomtobounds(this.bounds",{"_index":2301,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["this.zoomtobounds(value",{"_index":2237,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["throttletime",{"_index":1527,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["throttletime(1000",{"_index":1542,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["through",{"_index":2694,"title":{},"body":{"changelog.html":{}}}],["throws",{"_index":1220,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["thumbnails",{"_index":2602,"title":{},"body":{"changelog.html":{}}}],["thymus",{"_index":1772,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["tied",{"_index":2605,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":2703,"title":{},"body":{"changelog.html":{}}}],["time",{"_index":296,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["timeouthandler",{"_index":1824,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["timeouts",{"_index":2413,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":2408,"title":{},"body":{"changelog.html":{}}}],["tissue",{"_index":2417,"title":{},"body":{"changelog.html":{}}}],["tissueblockresult",{"_index":101,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{}}}],["tissues",{"_index":2455,"title":{},"body":{"changelog.html":{}}}],["title",{"_index":475,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/PanelData.html":{}}}],["title(state",{"_index":787,"title":{},"body":{"classes/CallToActionSelectors.html":{}}}],["tmc",{"_index":2782,"title":{},"body":{"changelog.html":{}}}],["toattributes",{"_index":70,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["toattributes(obj",{"_index":57,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"miscellaneous/functions.html":{}}}],["today",{"_index":714,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["toggle",{"_index":1621,"title":{},"body":{"components/OpacitySliderComponent.html":{},"changelog.html":{}}}],["togglegoogleanalytics",{"_index":1266,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["togglegoogleanalytics(disabled",{"_index":1271,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["togglevisibility",{"_index":1597,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["token",{"_index":137,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/TextSearchComponent.html":{},"miscellaneous/variables.html":{}}}],["tonsil",{"_index":1738,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["tool",{"_index":2636,"title":{},"body":{"changelog.html":{}}}],["top",{"_index":631,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/TextSearchComponent.html":{}}}],["tort",{"_index":3081,"title":{},"body":{"license.html":{}}}],["trachea",{"_index":1775,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["tracker.module.ts",{"_index":1524,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["tracking",{"_index":532,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"components/XYZPositionComponent.html":{}}}],["tracking/telemetry",{"_index":2539,"title":{},"body":{"changelog.html":{}}}],["trackingcode",{"_index":1280,"title":{},"body":{"injectables/GoogleAnalyticsSyncService.html":{}}}],["trackingpopupcomponent",{"_index":531,"title":{"components/TrackingPopupComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"modules/TrackingPopupModule.html":{},"components/XYZPositionComponent.html":{},"coverage.html":{},"overview.html":{}}}],["trackingpopupmodule",{"_index":2152,"title":{"modules/TrackingPopupModule.html":{}},"body":{"modules/TrackingPopupModule.html":{},"modules.html":{},"overview.html":{}}}],["trackingstate",{"_index":2158,"title":{"injectables/TrackingState.html":{}},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"coverage.html":{}}}],["trackingstatemodel",{"_index":2164,"title":{"interfaces/TrackingStateModel.html":{}},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"coverage.html":{}}}],["trackmouseposition",{"_index":2810,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["trackmouseposition((document",{"_index":1555,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["trackmouseposition(el",{"_index":1528,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"miscellaneous/functions.html":{}}}],["transformmatrix",{"_index":173,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["transition",{"_index":609,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{}}}],["transparency",{"_index":2637,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":2656,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":453,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"changelog.html":{}}}],["true",{"_index":74,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/variables.html":{}}}],["try",{"_index":1244,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"changelog.html":{}}}],["ts",{"_index":121,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"dependencies.html":{}}}],["tslib",{"_index":2951,"title":{},"body":{"dependencies.html":{}}}],["tube",{"_index":1693,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["tuned",{"_index":2791,"title":{},"body":{"changelog.html":{}}}],["turn",{"_index":1027,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"changelog.html":{}}}],["turned",{"_index":2608,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":2606,"title":{},"body":{"changelog.html":{}}}],["tutorial",{"_index":2509,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":2713,"title":{},"body":{"changelog.html":{}}}],["type",{"_index":28,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"classes/CallToActionSelectors.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/DocumentationContent.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["type='[calltoaction",{"_index":810,"title":{},"body":{"classes/CloseDialog.html":{},"classes/LearnMore.html":{},"classes/OpenDialog.html":{}}}],["typealiases",{"_index":3090,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typed",{"_index":1548,"title":{},"body":{"modules/MousePositionTrackerModule.html":{}}}],["typeerror",{"_index":1221,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["typeof",{"_index":1211,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/LocalStorageSyncService.html":{},"interfaces/PluckUniqueOptions.html":{}}}],["types",{"_index":1553,"title":{},"body":{"modules/MousePositionTrackerModule.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{}}}],["types/lru",{"_index":2889,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":1255,"title":{},"body":{"injectables/GlobalsService.html":{},"modules/MousePositionTrackerModule.html":{},"interfaces/OrganInfo.html":{},"components/TrackingPopupComponent.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":2761,"title":{},"body":{"changelog.html":{}}}],["typings",{"_index":1878,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["u",{"_index":135,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["uberon",{"_index":1661,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["ufl",{"_index":2601,"title":{},"body":{"changelog.html":{}}}],["ufxmpzatowe",{"_index":743,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{}}}],["ui",{"_index":2210,"title":{},"body":{"interfaces/XYZTriplet.html":{},"changelog.html":{},"index.html":{}}}],["ui'},{'name",{"_index":509,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["ui.component",{"_index":367,"title":{},"body":{"modules/BodyUiModule.html":{}}}],["ui.component.html",{"_index":2214,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["ui.component.scss",{"_index":2215,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["ui.component.ts",{"_index":2206,"title":{},"body":{"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["ui.module.ts",{"_index":361,"title":{},"body":{"modules/BodyUiModule.html":{}}}],["ui.netlify.app",{"_index":2992,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":3002,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":2999,"title":{},"body":{"index.html":{}}}],["ui/body",{"_index":360,"title":{},"body":{"modules/BodyUiModule.html":{},"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["ui/organ",{"_index":3001,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":3000,"title":{},"body":{"index.html":{}}}],["uis",{"_index":2346,"title":{},"body":{"changelog.html":{}}}],["ul",{"_index":1403,"title":{},"body":{"components/InfoDialogComponent.html":{}}}],["undefined",{"_index":76,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"injectables/LocalStorageService.html":{},"interfaces/OrganInfo.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["under",{"_index":574,"title":{},"body":{"components/CallToActionComponent.html":{},"injectables/LocalStorageSyncService.html":{},"miscellaneous/variables.html":{}}}],["understand",{"_index":2129,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["unique",{"_index":272,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{}}}],["unique.ts",{"_index":1916,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["university",{"_index":3028,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":162,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/AutoCompleteOption.html":{},"interfaces/DataSource.html":{},"interfaces/DefaultParams.html":{},"classes/DelegateDataSource.html":{},"interfaces/FilterParams.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalsService.html":{},"interfaces/OrganInfo.html":{},"interfaces/PluckUniqueOptions.html":{},"components/TextSearchComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["unless",{"_index":1235,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["unnecessary",{"_index":2525,"title":{},"body":{"changelog.html":{}}}],["unsafe",{"_index":2120,"title":{},"body":{"components/TrackingPopupComponent.html":{}}}],["unselect",{"_index":2572,"title":{},"body":{"changelog.html":{}}}],["unsetconsent",{"_index":816,"title":{},"body":{"injectables/ConsentService.html":{}}}],["unsubscribable",{"_index":413,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["unsubscribe",{"_index":437,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"components/InfoButtonComponent.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["until",{"_index":2610,"title":{},"body":{"changelog.html":{}}}],["unused",{"_index":1963,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"components/TextSearchComponent.html":{}}}],["up",{"_index":2008,"title":{},"body":{"components/StoreDebugComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["update",{"_index":1065,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"changelog.html":{}}}],["updated",{"_index":1607,"title":{},"body":{"components/OpacitySliderComponent.html":{},"changelog.html":{}}}],["updatedata",{"_index":1333,"title":{},"body":{"injectables/InfoButtonService.html":{}}}],["updatedata(url",{"_index":1066,"title":{},"body":{"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"interfaces/PanelData.html":{}}}],["updateitemselection",{"_index":1950,"title":{},"body":{"components/SpatialSearchListComponent.html":{}}}],["updateitemselection(index",{"_index":1966,"title":{},"body":{"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{}}}],["updates",{"_index":1305,"title":{},"body":{"components/InfoButtonComponent.html":{},"directives/NumberDirective.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"changelog.html":{}}}],["updatestack",{"_index":923,"title":{},"body":{"components/DecoratedTextComponent.html":{}}}],["updatestack(stack",{"_index":959,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["upgraded",{"_index":2699,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":2766,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":2543,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":2633,"title":{},"body":{"changelog.html":{}}}],["ureter",{"_index":1778,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["urinary",{"_index":1783,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["url",{"_index":1338,"title":{},"body":{"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/OrganInfo.html":{}}}],["us/docs/web/api/web_storage_api/using_the_web_storage_api",{"_index":1461,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["usage",{"_index":2127,"title":{},"body":{"components/TrackingPopupComponent.html":{},"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":3015,"title":{},"body":{"index.html":{}}}],["use",{"_index":2345,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["usecase",{"_index":3020,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":3017,"title":{},"body":{"index.html":{}}}],["used",{"_index":903,"title":{},"body":{"interfaces/DecoratedRange.html":{},"interfaces/DocumentationContent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["usefactory",{"_index":75,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{}}}],["useful",{"_index":1177,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["user",{"_index":696,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"changelog.html":{},"index.html":{}}}],["user/os",{"_index":2517,"title":{},"body":{"changelog.html":{}}}],["users",{"_index":2777,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":2532,"title":{},"body":{"changelog.html":{}}}],["using",{"_index":414,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["uterus",{"_index":1787,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["utilities",{"_index":2522,"title":{},"body":{"changelog.html":{}}}],["utility",{"_index":160,"title":{},"body":{"interfaces/ApiEndpointDataSourceOptions.html":{},"injectables/ApiEndpointDataSourceService.html":{},"interfaces/DefaultParams.html":{},"interfaces/FilterParams.html":{}}}],["uuid",{"_index":2952,"title":{},"body":{"dependencies.html":{}}}],["v1.1",{"_index":2450,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":2353,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":2344,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":2620,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":2452,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":2444,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":2415,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":2389,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":2364,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":2397,"title":{},"body":{"changelog.html":{}}}],["v2.1.0",{"_index":2351,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":2340,"title":{},"body":{"changelog.html":{}}}],["v3",{"_index":2368,"title":{},"body":{"changelog.html":{}}}],["val",{"_index":1856,"title":{},"body":{"interfaces/OrganInfo.html":{},"components/TextSearchComponent.html":{}}}],["valid",{"_index":944,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["value",{"_index":62,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"interfaces/AutoCompleteOption.html":{},"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"injectables/CallToActionState.html":{},"classes/CloseDialog.html":{},"injectables/ConsentService.html":{},"interfaces/DecoratedRange.html":{},"components/DecoratedTextComponent.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"classes/LearnMore.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"components/OpacitySliderComponent.html":{},"classes/OpenDialog.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["value(val",{"_index":318,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["value.tolowercase",{"_index":2169,"title":{},"body":{"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{}}}],["valuechange",{"_index":330,"title":{},"body":{"interfaces/AutoCompleteOption.html":{},"components/TextSearchComponent.html":{}}}],["values",{"_index":69,"title":{},"body":{"modules/AnalyticsModule.html":{},"interfaces/AnalyticsOptions.html":{},"components/DecoratedTextComponent.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/PluckUniqueOptions.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/XYZPositionComponent.html":{},"miscellaneous/functions.html":{}}}],["values.length",{"_index":2029,"title":{},"body":{"components/StoreDebugComponent.html":{}}}],["var",{"_index":507,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{}}}],["variable",{"_index":1406,"title":{},"body":{"components/InfoDialogComponent.html":{},"coverage.html":{}}}],["variables",{"_index":3096,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["vasculature",{"_index":1792,"title":{},"body":{"interfaces/OrganInfo.html":{},"miscellaneous/variables.html":{}}}],["version",{"_index":2465,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["vertical",{"_index":618,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{}}}],["very",{"_index":2690,"title":{},"body":{"changelog.html":{}}}],["via",{"_index":2412,"title":{},"body":{"changelog.html":{}}}],["video",{"_index":1370,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"changelog.html":{}}}],["videoid",{"_index":742,"title":{},"body":{"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"interfaces/DocumentationContent.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"interfaces/PanelData.html":{}}}],["view",{"_index":2531,"title":{},"body":{"changelog.html":{}}}],["viewchild",{"_index":1668,"title":{},"body":{"interfaces/OrganInfo.html":{},"interfaces/XYZTriplet.html":{}}}],["viewchild('bodycanvas",{"_index":2265,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["viewchild('carouselcontainer",{"_index":1806,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["viewchild('itemcontainer",{"_index":1810,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["viewchild('itemlist",{"_index":1808,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["viewed",{"_index":1803,"title":{},"body":{"interfaces/OrganInfo.html":{}}}],["viewer",{"_index":2595,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":2383,"title":{},"body":{"changelog.html":{}}}],["views",{"_index":2534,"title":{},"body":{"changelog.html":{}}}],["visibility",{"_index":1622,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["visibilitytoggle",{"_index":1601,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["visible",{"_index":1598,"title":{},"body":{"components/OpacitySliderComponent.html":{}}}],["visual",{"_index":2381,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":2564,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":2700,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":585,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/ConsentService.html":{},"components/DecoratedTextComponent.html":{},"interfaces/DocumentationContent.html":{},"injectables/GlobalConfigState.html":{},"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"components/InfoButtonComponent.html":{},"injectables/InfoButtonService.html":{},"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"injectables/LocalStorageService.html":{},"injectables/LocalStorageSyncService.html":{},"directives/NumberDirective.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"interfaces/PanelData.html":{},"interfaces/Segment.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"interfaces/StackOp.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"injectables/TrackingState.html":{},"interfaces/TrackingStateModel.html":{},"interfaces/XYZTriplet.html":{}}}],["vs",{"_index":2507,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":2787,"title":{},"body":{"changelog.html":{}}}],["walkthrough",{"_index":3016,"title":{},"body":{"index.html":{}}}],["warming",{"_index":2411,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":2721,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":3068,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":3066,"title":{},"body":{"license.html":{}}}],["web",{"_index":1243,"title":{},"body":{"injectables/GlobalsService.html":{},"changelog.html":{}}}],["webcomponent",{"_index":2506,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":2890,"title":{},"body":{"dependencies.html":{}}}],["webpages",{"_index":2471,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":2988,"title":{},"body":{"index.html":{}}}],["week",{"_index":2792,"title":{},"body":{"changelog.html":{}}}],["weight",{"_index":1401,"title":{},"body":{"components/InfoDialogComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/XYZPositionComponent.html":{}}}],["well",{"_index":1929,"title":{},"body":{"interfaces/PluckUniqueOptions.html":{},"miscellaneous/functions.html":{}}}],["whether",{"_index":569,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"injectables/GlobalsService.html":{},"components/InfoButtonComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"interfaces/SpatialSearchListItem.html":{},"license.html":{}}}],["white",{"_index":652,"title":{},"body":{"components/CallToActionComponent.html":{}}}],["whole",{"_index":2789,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":623,"title":{},"body":{"components/CallToActionComponent.html":{},"interfaces/CallToActionModel.html":{},"injectables/CallToActionState.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"interfaces/OrganInfo.html":{},"components/SpatialSearchListComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"interfaces/XYZTriplet.html":{},"changelog.html":{}}}],["window",{"_index":1241,"title":{},"body":{"injectables/GlobalsService.html":{},"injectables/GoogleAnalyticsSyncService.html":{},"interfaces/XYZTriplet.html":{}}}],["window.devicepixelratio",{"_index":2277,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["window.localstorage",{"_index":1462,"title":{},"body":{"injectables/LocalStorageService.html":{}}}],["within",{"_index":2599,"title":{},"body":{"changelog.html":{}}}],["without",{"_index":952,"title":{},"body":{"components/DecoratedTextComponent.html":{},"changelog.html":{},"license.html":{}}}],["worker",{"_index":440,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/GlobalsService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["worker.terminate",{"_index":444,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["workerccfdatabasedatasourceservice",{"_index":438,"title":{"injectables/WorkerCCFDatabaseDataSourceService.html":{}},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"coverage.html":{}}}],["workflows",{"_index":2658,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":2457,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":2673,"title":{},"body":{"changelog.html":{}}}],["wrap",{"_index":411,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["wrap(worker",{"_index":442,"title":{},"body":{"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/CCFDatabaseManager.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{}}}],["wrapper",{"_index":606,"title":{},"body":{"components/CallToActionComponent.html":{},"components/InfoButtonComponent.html":{},"components/OpacitySliderComponent.html":{},"components/TextSearchComponent.html":{}}}],["writable",{"_index":1216,"title":{},"body":{"injectables/GlobalsService.html":{}}}],["x",{"_index":1463,"title":{},"body":{"injectables/LocalStorageService.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["xyz",{"_index":535,"title":{},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{}}}],["xyzpositioncomponent",{"_index":534,"title":{"components/XYZPositionComponent.html":{}},"body":{"components/CallToActionBehaviorComponent.html":{},"components/CallToActionComponent.html":{},"components/DecoratedTextComponent.html":{},"components/InfoButtonComponent.html":{},"components/InfoDialogComponent.html":{},"components/OpacitySliderComponent.html":{},"components/SpatialSearchListComponent.html":{},"components/StoreDebugComponent.html":{},"components/TextSearchComponent.html":{},"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"modules/XYZPositionModule.html":{},"coverage.html":{},"overview.html":{}}}],["xyzpositionmodule",{"_index":2199,"title":{"modules/XYZPositionModule.html":{}},"body":{"modules/XYZPositionModule.html":{},"modules.html":{},"overview.html":{}}}],["xyztriplet",{"_index":2205,"title":{"interfaces/XYZTriplet.html":{}},"body":{"interfaces/XYZTriplet.html":{},"coverage.html":{}}}],["y",{"_index":2185,"title":{},"body":{"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["yes",{"_index":242,"title":{},"body":{"injectables/ApiEndpointDataSourceService.html":{},"injectables/CCFDatabaseDataSourceBaseService.html":{},"injectables/CCFDatabaseDataSourceService.html":{},"interfaces/DataSource.html":{},"injectables/DataSourceService.html":{},"classes/DelegateDataSource.html":{},"classes/ForwardingDataSource.html":{},"injectables/GlobalsService.html":{},"injectables/InjectorDelegateDataSourceService.html":{},"injectables/LocalStorageService.html":{},"injectables/WorkerCCFDatabaseDataSourceService.html":{},"miscellaneous/functions.html":{}}}],["youtube",{"_index":1361,"title":{},"body":{"components/InfoDialogComponent.html":{},"interfaces/InfoDialogData.html":{},"changelog.html":{}}}],["youtubeplayermodule",{"_index":1420,"title":{},"body":{"modules/InfoDialogModule.html":{}}}],["z",{"_index":2146,"title":{},"body":{"components/TrackingPopupComponent.html":{},"components/XYZPositionComponent.html":{},"interfaces/XYZTriplet.html":{}}}],["zero",{"_index":989,"title":{},"body":{"components/DecoratedTextComponent.html":{},"interfaces/Segment.html":{},"interfaces/StackOp.html":{}}}],["zone.js",{"_index":2954,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":10,"title":{},"body":{"modules/AnalyticsModule.html":{},"modules/BodyUiModule.html":{},"modules/CallToActionBehaviorModule.html":{},"modules/CallToActionModule.html":{},"modules/DecoratedTextModule.html":{},"modules/InfoButtonModule.html":{},"modules/InfoDialogModule.html":{},"modules/NumbersOnlyModule.html":{},"modules/OpacitySliderModule.html":{},"modules/OrganSelectorModule.html":{},"modules/SpatialSearchListModule.html":{},"modules/StoreDebugModule.html":{},"modules/TextSearchModule.html":{},"modules/TrackingPopupModule.html":{},"modules/XYZPositionModule.html":{},"interfaces/XYZTriplet.html":{},"overview.html":{}}}],["zoom(value",{"_index":2229,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}],["zoomtobounds(bounds",{"_index":2272,"title":{},"body":{"interfaces/XYZTriplet.html":{}}}]],"pipeline":["stemmer"]}, + "store": {"modules/AnalyticsModule.html":{"url":"modules/AnalyticsModule.html","title":"module - AnalyticsModule","body":"\n \n\n\n\n\n Modules\n AnalyticsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AnalyticsModule\n\n\n\ncluster_AnalyticsModule_providers\n\n\n\n\nConsentService\n\nConsentService\n\n\n\nAnalyticsModule\n\nAnalyticsModule\n\nAnalyticsModule -->\n\nConsentService->AnalyticsModule\n\n\n\n\n\nGoogleAnalyticsSyncService\n\nGoogleAnalyticsSyncService\n\nAnalyticsModule -->\n\nGoogleAnalyticsSyncService->AnalyticsModule\n\n\n\n\n\nLocalStorageSyncService\n\nLocalStorageSyncService\n\nAnalyticsModule -->\n\nLocalStorageSyncService->AnalyticsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/analytics/src/lib/analytics.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ConsentService\n \n \n GoogleAnalyticsSyncService\n \n \n LocalStorageSyncService\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: AnalyticsOptions)\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/analytics.module.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n AnalyticsOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ModuleWithProviders\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { IGoogleAnalyticsCommand, NgxGoogleAnalyticsModule } from 'ngx-google-analytics';\n\nimport { ConsentService } from './consent.service';\nimport { GoogleAnalyticsSyncService } from './google-analytics-sync.service';\nimport { LocalStorageSyncService } from './local-storage-sync.service';\n\n\nexport interface AnalyticsOptions {\n gaToken: string;\n\n appName?: string;\n projectName?: string;\n\n developmentMode?: boolean;\n}\n\n\nconst EAGERLY_LOADED_SERVICES = [\n ConsentService,\n GoogleAnalyticsSyncService,\n LocalStorageSyncService,\n];\n\n\nfunction toAttributes(obj: Record): Record {\n return Object.entries(obj).reduce>((attrs, [key, value]) => {\n if (value != null) {\n attrs[key] = `${value}`;\n }\n\n return attrs;\n }, {});\n}\n\nfunction initCommands(options: AnalyticsOptions): IGoogleAnalyticsCommand[] {\n const { appName, projectName, developmentMode } = options;\n\n return [\n {\n command: 'set',\n values: [toAttributes({\n appName,\n projectName,\n developmentMode\n })]\n }\n ];\n}\n\n\n@NgModule({\n imports: [\n NgxGoogleAnalyticsModule\n ],\n providers: [\n ...EAGERLY_LOADED_SERVICES,\n\n {\n provide: APP_INITIALIZER,\n multi: true,\n useFactory: () => () => undefined,\n deps: EAGERLY_LOADED_SERVICES\n }\n ]\n})\nexport class AnalyticsModule {\n static forRoot(options: AnalyticsOptions): ModuleWithProviders {\n const { providers = [] } = NgxGoogleAnalyticsModule.forRoot(\n options.gaToken,\n initCommands(options)\n );\n\n return { ngModule: AnalyticsModule, providers };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AnalyticsOptions.html":{"url":"interfaces/AnalyticsOptions.html","title":"interface - AnalyticsOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AnalyticsOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/analytics/src/lib/analytics.module.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n appName\n \n \n \n Optional\n \n developmentMode\n \n \n \n \n gaToken\n \n \n \n Optional\n \n projectName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n appName\n \n \n \n \n \n \n \n \n appName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n developmentMode\n \n \n \n \n \n \n \n \n developmentMode: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n gaToken\n \n \n \n \n \n \n \n \n gaToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n projectName\n \n \n \n \n \n \n \n \n projectName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { IGoogleAnalyticsCommand, NgxGoogleAnalyticsModule } from 'ngx-google-analytics';\n\nimport { ConsentService } from './consent.service';\nimport { GoogleAnalyticsSyncService } from './google-analytics-sync.service';\nimport { LocalStorageSyncService } from './local-storage-sync.service';\n\n\nexport interface AnalyticsOptions {\n gaToken: string;\n\n appName?: string;\n projectName?: string;\n\n developmentMode?: boolean;\n}\n\n\nconst EAGERLY_LOADED_SERVICES = [\n ConsentService,\n GoogleAnalyticsSyncService,\n LocalStorageSyncService,\n];\n\n\nfunction toAttributes(obj: Record): Record {\n return Object.entries(obj).reduce>((attrs, [key, value]) => {\n if (value != null) {\n attrs[key] = `${value}`;\n }\n\n return attrs;\n }, {});\n}\n\nfunction initCommands(options: AnalyticsOptions): IGoogleAnalyticsCommand[] {\n const { appName, projectName, developmentMode } = options;\n\n return [\n {\n command: 'set',\n values: [toAttributes({\n appName,\n projectName,\n developmentMode\n })]\n }\n ];\n}\n\n\n@NgModule({\n imports: [\n NgxGoogleAnalyticsModule\n ],\n providers: [\n ...EAGERLY_LOADED_SERVICES,\n\n {\n provide: APP_INITIALIZER,\n multi: true,\n useFactory: () => () => undefined,\n deps: EAGERLY_LOADED_SERVICES\n }\n ]\n})\nexport class AnalyticsModule {\n static forRoot(options: AnalyticsOptions): ModuleWithProviders {\n const { providers = [] } = NgxGoogleAnalyticsModule.forRoot(\n options.gaToken,\n initCommands(options)\n );\n\n return { ngModule: AnalyticsModule, providers };\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ApiEndpointDataSourceOptions.html":{"url":"interfaces/ApiEndpointDataSourceOptions.html","title":"interface - ApiEndpointDataSourceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ApiEndpointDataSourceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n hubmapToken\n \n \n \n \n remoteApiEndpoint\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n hubmapToken\n \n \n \n \n \n \n \n \n hubmapToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remoteApiEndpoint\n \n \n \n \n \n \n \n \n remoteApiEndpoint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport {\n AggregateResult, Filter, OntologyTreeModel, SpatialEntity, SpatialSceneNode, TissueBlockResult,\n} from 'ccf-database';\nimport { DatabaseStatus, DefaultService, MinMax, SpatialSearch, SpatialSceneNode as RawSpatialSceneNode } from 'ccf-openapi/angular-client';\nimport { combineLatest, Observable, Subject } from 'rxjs';\nimport { map, switchMap, take, tap } from 'rxjs/operators';\nimport { Cacheable } from 'ts-cacheable';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSource } from './data-source';\n\n\nexport interface ApiEndpointDataSourceOptions {\n remoteApiEndpoint: string;\n hubmapToken?: string;\n}\n\n// Not exported from ts-cacheable!?\ntype IObservableCacheConfig = NonNullable[0]>;\n\ntype RequestMethod = (params: P) => Observable;\ntype DataReviver = (data: T) => U;\n\ninterface DefaultParams {\n token?: string;\n}\n\ninterface FilterParams {\n age?: MinMax;\n ageRange?: string;\n bmi?: MinMax;\n bmiRange?: string;\n ontologyTerms?: string[];\n cellTypeTerms?: string[];\n providers?: string[];\n sex?: 'both' | 'female' | 'male';\n technologies?: string[];\n spatial?: SpatialSearch[];\n}\n\n\n// Cache config\nconst buster$ = new Subject();\n\nconst CACHE_CONFIG_NO_PARAMS: IObservableCacheConfig = {\n cacheBusterObserver: buster$\n};\n\nconst CACHE_CONFIG_PARAMS: IObservableCacheConfig = {\n cacheBusterObserver: buster$,\n maxCacheCount: 4\n};\n\n\n// Utility\nfunction cast(): (data: unknown) => T {\n return data => data as T;\n}\n\nfunction rangeToMinMax(\n range: [number, number] | undefined,\n low: number, high: number\n): MinMax | undefined {\n return range ? {\n min: range[0] > low ? range[0] : undefined,\n max: range[1] ({\n ...(node as SpatialSceneNode),\n transformMatrix: new Matrix4(node.transformMatrix ?? [])\n }));\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiEndpointDataSourceService implements DataSource {\n constructor(\n private readonly api: DefaultService,\n private readonly globalConfig: GlobalConfigState\n ) {\n globalConfig.getOption('hubmapToken').subscribe(buster$);\n }\n\n getDatabaseStatus(): Observable {\n return this.doRequest(params => this.api.dbStatus(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getProviderNames(): Observable {\n return this.doRequest(params => this.api.providerNames(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getDatasetTechnologyNames(): Observable {\n return this.doRequest(params => this.api.technologyNames(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getOntologyTreeModel(): Observable {\n return this.doRequest(\n params => this.api.ontologyTreeModel(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getCellTypeTreeModel(): Observable {\n return this.doRequest(\n params => this.api.cellTypeTreeModel(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getReferenceOrgans(): Observable {\n return this.doRequest(\n params => this.api.referenceOrgans(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getTissueBlockResults(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.tissueBlocks(params),\n filter, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getAggregateResults(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.aggregateResults(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getOntologyTermOccurences(filter?: Filter): Observable> {\n return this.doRequest(\n params => this.api.ontologyTermOccurences(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getCellTypeTermOccurences(filter?: Filter): Observable> {\n return this.doRequest(\n params => this.api.cellTypeTermOccurences(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getScene(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.scene(params),\n filter, {}, spatialSceneNodeReviver\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.referenceOrganScene(params),\n filter, { organIri }, spatialSceneNodeReviver\n );\n }\n\n private doRequest(\n method: RequestMethod,\n filter?: Filter | undefined,\n params?: P\n ): Observable;\n private doRequest(\n method: RequestMethod,\n filter: Filter | undefined,\n params: P | undefined,\n reviver: DataReviver\n ): Observable;\n private doRequest(\n method: RequestMethod,\n filter: Filter | undefined,\n params?: P,\n reviver?: DataReviver\n ): Observable {\n const { api, globalConfig } = this;\n const requestParams = { ...filterToParams(filter), ...params };\n\n return combineLatest([\n globalConfig.getOption('remoteApiEndpoint'),\n globalConfig.getOption('hubmapToken')\n ]).pipe(\n take(1),\n tap(([endpoint, token]) => {\n api.configuration.basePath = endpoint;\n if (token) {\n requestParams['token'] = token;\n }\n }),\n switchMap(() => method(requestParams)),\n map(data => reviver ? reviver(data) : data)\n );\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ApiEndpointDataSourceService.html":{"url":"injectables/ApiEndpointDataSourceService.html","title":"injectable - ApiEndpointDataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ApiEndpointDataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n doRequest\n \n \n Private\n doRequest\n \n \n Private\n doRequest\n \n \n getAggregateResults\n \n \n getCellTypeTermOccurences\n \n \n getCellTypeTreeModel\n \n \n getDatabaseStatus\n \n \n getDatasetTechnologyNames\n \n \n getOntologyTermOccurences\n \n \n getOntologyTreeModel\n \n \n getProviderNames\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getScene\n \n \n getTissueBlockResults\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(api: DefaultService, globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:96\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n api\n \n \n DefaultService\n \n \n \n No\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n doRequest\n \n \n \n \n \n \n \n doRequest(method: RequestMethod, filter?: Filter | undefined, params?: P)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:190\n \n \n\n \n \n Type parameters :\n \n T\n P\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n RequestMethod\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter | undefined\n \n\n \n Yes\n \n\n\n \n \n params\n \n P\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n doRequest\n \n \n \n \n \n \n \n doRequest(method: RequestMethod, filter: Filter | undefined, params: P | undefined, reviver: DataReviver)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:195\n \n \n\n \n \n Type parameters :\n \n T\n P\n U\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n RequestMethod\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter | undefined\n \n\n \n No\n \n\n\n \n \n params\n \n P | undefined\n \n\n \n No\n \n\n\n \n \n reviver\n \n DataReviver\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n doRequest\n \n \n \n \n \n \n \n doRequest(method: RequestMethod, filter: Filter | undefined, params?: P, reviver?: DataReviver)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:201\n \n \n\n \n \n Type parameters :\n \n P\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n RequestMethod\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter | undefined\n \n\n \n No\n \n\n\n \n \n params\n \n P\n \n\n \n Yes\n \n\n\n \n \n reviver\n \n DataReviver\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:151\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:167\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:127\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseStatus\n \n \n \n \n \n \ngetDatabaseStatus()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:104\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n \n \ngetDatasetTechnologyNames()\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:114\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:159\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:119\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getProviderNames\n \n \n \n \n \n \ngetProviderNames()\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:109\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:135\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:183\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:175\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n \n \n Decorators : \n \n @Cacheable(CACHE_CONFIG_PARAMS)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport {\n AggregateResult, Filter, OntologyTreeModel, SpatialEntity, SpatialSceneNode, TissueBlockResult,\n} from 'ccf-database';\nimport { DatabaseStatus, DefaultService, MinMax, SpatialSearch, SpatialSceneNode as RawSpatialSceneNode } from 'ccf-openapi/angular-client';\nimport { combineLatest, Observable, Subject } from 'rxjs';\nimport { map, switchMap, take, tap } from 'rxjs/operators';\nimport { Cacheable } from 'ts-cacheable';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSource } from './data-source';\n\n\nexport interface ApiEndpointDataSourceOptions {\n remoteApiEndpoint: string;\n hubmapToken?: string;\n}\n\n// Not exported from ts-cacheable!?\ntype IObservableCacheConfig = NonNullable[0]>;\n\ntype RequestMethod = (params: P) => Observable;\ntype DataReviver = (data: T) => U;\n\ninterface DefaultParams {\n token?: string;\n}\n\ninterface FilterParams {\n age?: MinMax;\n ageRange?: string;\n bmi?: MinMax;\n bmiRange?: string;\n ontologyTerms?: string[];\n cellTypeTerms?: string[];\n providers?: string[];\n sex?: 'both' | 'female' | 'male';\n technologies?: string[];\n spatial?: SpatialSearch[];\n}\n\n\n// Cache config\nconst buster$ = new Subject();\n\nconst CACHE_CONFIG_NO_PARAMS: IObservableCacheConfig = {\n cacheBusterObserver: buster$\n};\n\nconst CACHE_CONFIG_PARAMS: IObservableCacheConfig = {\n cacheBusterObserver: buster$,\n maxCacheCount: 4\n};\n\n\n// Utility\nfunction cast(): (data: unknown) => T {\n return data => data as T;\n}\n\nfunction rangeToMinMax(\n range: [number, number] | undefined,\n low: number, high: number\n): MinMax | undefined {\n return range ? {\n min: range[0] > low ? range[0] : undefined,\n max: range[1] ({\n ...(node as SpatialSceneNode),\n transformMatrix: new Matrix4(node.transformMatrix ?? [])\n }));\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiEndpointDataSourceService implements DataSource {\n constructor(\n private readonly api: DefaultService,\n private readonly globalConfig: GlobalConfigState\n ) {\n globalConfig.getOption('hubmapToken').subscribe(buster$);\n }\n\n getDatabaseStatus(): Observable {\n return this.doRequest(params => this.api.dbStatus(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getProviderNames(): Observable {\n return this.doRequest(params => this.api.providerNames(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getDatasetTechnologyNames(): Observable {\n return this.doRequest(params => this.api.technologyNames(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getOntologyTreeModel(): Observable {\n return this.doRequest(\n params => this.api.ontologyTreeModel(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getCellTypeTreeModel(): Observable {\n return this.doRequest(\n params => this.api.cellTypeTreeModel(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getReferenceOrgans(): Observable {\n return this.doRequest(\n params => this.api.referenceOrgans(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getTissueBlockResults(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.tissueBlocks(params),\n filter, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getAggregateResults(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.aggregateResults(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getOntologyTermOccurences(filter?: Filter): Observable> {\n return this.doRequest(\n params => this.api.ontologyTermOccurences(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getCellTypeTermOccurences(filter?: Filter): Observable> {\n return this.doRequest(\n params => this.api.cellTypeTermOccurences(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getScene(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.scene(params),\n filter, {}, spatialSceneNodeReviver\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.referenceOrganScene(params),\n filter, { organIri }, spatialSceneNodeReviver\n );\n }\n\n private doRequest(\n method: RequestMethod,\n filter?: Filter | undefined,\n params?: P\n ): Observable;\n private doRequest(\n method: RequestMethod,\n filter: Filter | undefined,\n params: P | undefined,\n reviver: DataReviver\n ): Observable;\n private doRequest(\n method: RequestMethod,\n filter: Filter | undefined,\n params?: P,\n reviver?: DataReviver\n ): Observable {\n const { api, globalConfig } = this;\n const requestParams = { ...filterToParams(filter), ...params };\n\n return combineLatest([\n globalConfig.getOption('remoteApiEndpoint'),\n globalConfig.getOption('hubmapToken')\n ]).pipe(\n take(1),\n tap(([endpoint, token]) => {\n api.configuration.basePath = endpoint;\n if (token) {\n requestParams['token'] = token;\n }\n }),\n switchMap(() => method(requestParams)),\n map(data => reviver ? reviver(data) : data)\n );\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AutoCompleteOption.html":{"url":"interfaces/AutoCompleteOption.html","title":"interface - AutoCompleteOption","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AutoCompleteOption\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/text-search/text-search.component.ts\n \n\n\n \n Description\n \n \n A single suggestion to show in autocomplete\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n decorations\n \n \n \n \n id\n \n \n \n \n label\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n decorations\n \n \n \n \n \n \n \n \n decorations: Partial[]\n\n \n \n\n\n \n \n Type : Partial[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Optional styling of the label\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: \n\n \n \n\n\n\n\n\n\n\n \n \n A unique id\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n \n \n \n \n label: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n The displayed label\n\n \n \n \n \n \n \n\n\n \n import {\n ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Inject, InjectionToken, Input, Output,\n} from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { bind as Bind } from 'bind-decorator';\nimport { from, Observable, ObservableInput } from 'rxjs';\nimport { distinctUntilChanged, map, startWith, switchMap, take } from 'rxjs/operators';\n\nimport { DecoratedRange } from '../decorated-text/decorated-range';\n\n\n/** A single suggestion to show in autocomplete */\nexport interface AutoCompleteOption {\n /** A unique id */\n id: unknown;\n /** The displayed label */\n label: string;\n /** Optional styling of the label */\n decorations?: Partial[];\n}\n\n/**\n * Token to provide a default for the maximum number of\n * autocomplete suggestions to show at the same time.\n */\nexport const DEFAULT_MAX_OPTIONS = new InjectionToken(\n 'Maximum number of autocomplete options displayed',\n {\n providedIn: 'root',\n factory(): number {\n return 10;\n }\n }\n);\n\n\n/**\n * A text search bar with optional autocompletion functionality.\n */\n@Component({\n selector: 'ccf-text-search',\n templateUrl: './text-search.component.html',\n styleUrls: ['./text-search.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TextSearchComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-text-search';\n\n /**\n * Placeholder text for the search bar\n */\n @Input() placeholder = 'Search...';\n\n /**\n * The text to show on the search bar\n */\n @Input()\n get value(): string {\n return this.controller.value as string;\n }\n\n set value(val: string) {\n this.controller.setValue(val, { emitEvent: false });\n }\n\n /**\n * Maximum number of autocomplete suggestions to show simultaneously\n */\n @Input() maxOptions?: number;\n\n /**\n * Function providing the autocomplete suggestions.\n * Receives the latest search bar text and the maximum of suggestions to provide.\n */\n @Input() autoCompleter?: (search: string, max: number) => ObservableInput;\n\n /**\n * Emits when the search bar text changes\n */\n @Output() readonly valueChange: Observable;\n\n /**\n * Emits when an autocomplete option has been selected\n */\n @Output() readonly optionSelected = new EventEmitter();\n\n /**\n * Form controller for search bar\n */\n readonly controller = new FormControl();\n\n /**\n * Emits the latest autocomplete suggestions\n */\n readonly options = (this.controller.valueChanges as Observable).pipe(\n startWith(''),\n distinctUntilChanged(),\n switchMap(this.getOptions)\n );\n\n /**\n * Creates an instance of text search component.\n *\n * @param defaultMaxOptions The default value for `maxOptions`\n */\n constructor(\n @Inject(DEFAULT_MAX_OPTIONS) private readonly defaultMaxOptions: number\n ) {\n this.valueChange = this.controller.valueChanges;\n }\n\n /**\n * Fetches the latest autocomplete suggestions for the provided search text.\n *\n * @param search The search text to find suggestions for\n * @returns The found suggestions\n */\n @Bind\n private async getOptions(search: string): Promise {\n const { autoCompleter, maxOptions = this.defaultMaxOptions } = this;\n if (!autoCompleter || maxOptions array.length \n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/BodyUiModule.html":{"url":"modules/BodyUiModule.html","title":"module - BodyUiModule","body":"\n \n\n\n\n\n Modules\n BodyUiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_BodyUiModule\n\n\n\ncluster_BodyUiModule_declarations\n\n\n\ncluster_BodyUiModule_exports\n\n\n\n\nBodyUiComponent\n\nBodyUiComponent\n\n\n\nBodyUiModule\n\nBodyUiModule\n\nBodyUiModule -->\n\nBodyUiComponent->BodyUiModule\n\n\n\n\n\nBodyUiComponent \n\nBodyUiComponent \n\nBodyUiComponent -->\n\nBodyUiModule->BodyUiComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/body-ui/body-ui.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n BodyUiComponent\n \n \n \n \n Exports\n \n \n BodyUiComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BodyUiComponent } from './body-ui.component';\n\n@NgModule({\n declarations: [BodyUiComponent],\n imports: [\n CommonModule\n ],\n exports: [BodyUiComponent]\n})\nexport class BodyUiModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CCFDatabaseDataSourceBaseService.html":{"url":"injectables/CCFDatabaseDataSourceBaseService.html","title":"injectable - CCFDatabaseDataSourceBaseService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n CCFDatabaseDataSourceBaseService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts\n \n\n\n\n \n Extends\n \n \n DelegateDataSource\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n database$\n \n \n Readonly\n impl$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n connectDatabase\n \n \n Protected\n Abstract\n createDatabase\n \n \n Protected\n forwardCall\n \n \n getAggregateResults\n \n \n getCellTypeTermOccurences\n \n \n getCellTypeTreeModel\n \n \n getDatabaseStatus\n \n \n getDatasetTechnologyNames\n \n \n getOntologyTermOccurences\n \n \n getOntologyTreeModel\n \n \n getProviderNames\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getScene\n \n \n getTissueBlockResults\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(globalConfig: GlobalConfigState)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts:20\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n connectDatabase\n \n \n \n \n \n \n \n connectDatabase(manager: CCFDatabaseManager, config: CCFDatabaseOptions)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n manager\n \n CCFDatabaseManager\n \n\n \n No\n \n\n\n \n \n config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Abstract\n createDatabase\n \n \n \n \n \n \n \n createDatabase(config: CCFDatabaseOptions)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : CCFDatabaseManager\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n forwardCall\n \n \n \n \n \n \n \n forwardCall(method: K, args: Parameters>)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:93\n\n \n \n\n \n \n Type parameters :\n \n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n K\n \n\n \n No\n \n\n\n \n \n args\n \n Parameters>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:52\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseStatus\n \n \n \n \n \n \ngetDatabaseStatus()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:36\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n \n \ngetDatasetTechnologyNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:44\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:68\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:48\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getProviderNames\n \n \n \n \n \n \ngetProviderNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:40\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:56\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:80\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:76\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:60\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n database$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n impl$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Inherited from DelegateDataSource\n\n \n \n \n \n Defined in DelegateDataSource:19\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, isDevMode } from '@angular/core';\nimport { CCFDatabase, CCFDatabaseOptions } from 'ccf-database';\nimport { releaseProxy, Remote, wrap } from 'comlink';\nimport { Observable, Unsubscribable, using } from 'rxjs';\nimport { filter, map, shareReplay, switchMap } from 'rxjs/operators';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSourceLike, DelegateDataSource } from './data-source';\n\n\n\ninterface CCFDatabaseManager extends Unsubscribable {\n database: CCFDatabase | Remote;\n}\n\n\n@Injectable()\nabstract class CCFDatabaseDataSourceBaseService extends DelegateDataSource {\n readonly impl$: Observable;\n readonly database$: Observable>;\n\n constructor(globalConfig: GlobalConfigState) {\n super();\n\n this.impl$ = this.database$ = globalConfig.config$.pipe(\n source => source as Observable,\n filter(config => Object.keys(config).length > 0),\n switchMap(config => using(\n () => this.createDatabase(config),\n (manager: CCFDatabaseManager) => this.connectDatabase(manager, config)\n )),\n map(manager => manager.database),\n shareReplay(1)\n );\n }\n\n protected abstract createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager;\n\n private async connectDatabase(\n manager: CCFDatabaseManager, config: CCFDatabaseOptions\n ): Promise {\n const cacheResults = !isDevMode(); // Do not cache while in dev mode\n await manager.database.connect(config, cacheResults);\n return manager;\n }\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CCFDatabaseDataSourceService extends CCFDatabaseDataSourceBaseService {\n protected createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager {\n return {\n database: new CCFDatabase(config),\n unsubscribe: () => undefined\n };\n }\n}\n\n@Injectable()\nexport abstract class WorkerCCFDatabaseDataSourceService extends CCFDatabaseDataSourceBaseService {\n protected abstract createWorker(config: CCFDatabaseOptions): Worker;\n\n protected createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager {\n const worker = this.createWorker(config);\n const database = wrap(worker);\n\n return {\n database,\n unsubscribe: () => {\n database[releaseProxy]();\n worker.terminate();\n }\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CCFDatabaseDataSourceService.html":{"url":"injectables/CCFDatabaseDataSourceService.html","title":"injectable - CCFDatabaseDataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n CCFDatabaseDataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts\n \n\n\n\n \n Extends\n \n \n CCFDatabaseDataSourceBaseService\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n database$\n \n \n Readonly\n impl$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n createDatabase\n \n \n Private\n Async\n connectDatabase\n \n \n Protected\n forwardCall\n \n \n getAggregateResults\n \n \n getCellTypeTermOccurences\n \n \n getCellTypeTreeModel\n \n \n getDatabaseStatus\n \n \n getDatasetTechnologyNames\n \n \n getOntologyTermOccurences\n \n \n getOntologyTreeModel\n \n \n getProviderNames\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getScene\n \n \n getTissueBlockResults\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n createDatabase\n \n \n \n \n \n \n \n createDatabase(config: CCFDatabaseOptions)\n \n \n\n\n \n \n Inherited from CCFDatabaseDataSourceBaseService\n\n \n \n \n \n Defined in CCFDatabaseDataSourceBaseService:53\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : CCFDatabaseManager\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n connectDatabase\n \n \n \n \n \n \n \n connectDatabase(manager: CCFDatabaseManager, config: CCFDatabaseOptions)\n \n \n\n\n \n \n Inherited from CCFDatabaseDataSourceBaseService\n\n \n \n \n \n Defined in CCFDatabaseDataSourceBaseService:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n manager\n \n CCFDatabaseManager\n \n\n \n No\n \n\n\n \n \n config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n forwardCall\n \n \n \n \n \n \n \n forwardCall(method: K, args: Parameters>)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:93\n\n \n \n\n \n \n Type parameters :\n \n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n K\n \n\n \n No\n \n\n\n \n \n args\n \n Parameters>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:52\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseStatus\n \n \n \n \n \n \ngetDatabaseStatus()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:36\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n \n \ngetDatasetTechnologyNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:44\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:68\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:48\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getProviderNames\n \n \n \n \n \n \ngetProviderNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:40\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:56\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:80\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:76\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:60\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n database$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Inherited from CCFDatabaseDataSourceBaseService\n\n \n \n \n \n Defined in CCFDatabaseDataSourceBaseService:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n impl$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Inherited from DelegateDataSource\n\n \n \n \n \n Defined in DelegateDataSource:19\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, isDevMode } from '@angular/core';\nimport { CCFDatabase, CCFDatabaseOptions } from 'ccf-database';\nimport { releaseProxy, Remote, wrap } from 'comlink';\nimport { Observable, Unsubscribable, using } from 'rxjs';\nimport { filter, map, shareReplay, switchMap } from 'rxjs/operators';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSourceLike, DelegateDataSource } from './data-source';\n\n\n\ninterface CCFDatabaseManager extends Unsubscribable {\n database: CCFDatabase | Remote;\n}\n\n\n@Injectable()\nabstract class CCFDatabaseDataSourceBaseService extends DelegateDataSource {\n readonly impl$: Observable;\n readonly database$: Observable>;\n\n constructor(globalConfig: GlobalConfigState) {\n super();\n\n this.impl$ = this.database$ = globalConfig.config$.pipe(\n source => source as Observable,\n filter(config => Object.keys(config).length > 0),\n switchMap(config => using(\n () => this.createDatabase(config),\n (manager: CCFDatabaseManager) => this.connectDatabase(manager, config)\n )),\n map(manager => manager.database),\n shareReplay(1)\n );\n }\n\n protected abstract createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager;\n\n private async connectDatabase(\n manager: CCFDatabaseManager, config: CCFDatabaseOptions\n ): Promise {\n const cacheResults = !isDevMode(); // Do not cache while in dev mode\n await manager.database.connect(config, cacheResults);\n return manager;\n }\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CCFDatabaseDataSourceService extends CCFDatabaseDataSourceBaseService {\n protected createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager {\n return {\n database: new CCFDatabase(config),\n unsubscribe: () => undefined\n };\n }\n}\n\n@Injectable()\nexport abstract class WorkerCCFDatabaseDataSourceService extends CCFDatabaseDataSourceBaseService {\n protected abstract createWorker(config: CCFDatabaseOptions): Worker;\n\n protected createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager {\n const worker = this.createWorker(config);\n const database = wrap(worker);\n\n return {\n database,\n unsubscribe: () => {\n database[releaseProxy]();\n worker.terminate();\n }\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CCFDatabaseManager.html":{"url":"interfaces/CCFDatabaseManager.html","title":"interface - CCFDatabaseManager","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CCFDatabaseManager\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts\n \n\n\n\n \n Extends\n \n \n Unsubscribable\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n database\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n database\n \n \n \n \n \n \n \n \n database: CCFDatabase | Remote\n\n \n \n\n\n \n \n Type : CCFDatabase | Remote\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable, isDevMode } from '@angular/core';\nimport { CCFDatabase, CCFDatabaseOptions } from 'ccf-database';\nimport { releaseProxy, Remote, wrap } from 'comlink';\nimport { Observable, Unsubscribable, using } from 'rxjs';\nimport { filter, map, shareReplay, switchMap } from 'rxjs/operators';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSourceLike, DelegateDataSource } from './data-source';\n\n\n\ninterface CCFDatabaseManager extends Unsubscribable {\n database: CCFDatabase | Remote;\n}\n\n\n@Injectable()\nabstract class CCFDatabaseDataSourceBaseService extends DelegateDataSource {\n readonly impl$: Observable;\n readonly database$: Observable>;\n\n constructor(globalConfig: GlobalConfigState) {\n super();\n\n this.impl$ = this.database$ = globalConfig.config$.pipe(\n source => source as Observable,\n filter(config => Object.keys(config).length > 0),\n switchMap(config => using(\n () => this.createDatabase(config),\n (manager: CCFDatabaseManager) => this.connectDatabase(manager, config)\n )),\n map(manager => manager.database),\n shareReplay(1)\n );\n }\n\n protected abstract createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager;\n\n private async connectDatabase(\n manager: CCFDatabaseManager, config: CCFDatabaseOptions\n ): Promise {\n const cacheResults = !isDevMode(); // Do not cache while in dev mode\n await manager.database.connect(config, cacheResults);\n return manager;\n }\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CCFDatabaseDataSourceService extends CCFDatabaseDataSourceBaseService {\n protected createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager {\n return {\n database: new CCFDatabase(config),\n unsubscribe: () => undefined\n };\n }\n}\n\n@Injectable()\nexport abstract class WorkerCCFDatabaseDataSourceService extends CCFDatabaseDataSourceBaseService {\n protected abstract createWorker(config: CCFDatabaseOptions): Worker;\n\n protected createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager {\n const worker = this.createWorker(config);\n const database = wrap(worker);\n\n return {\n database,\n unsubscribe: () => {\n database[releaseProxy]();\n worker.terminate();\n }\n };\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/CallToActionBehaviorComponent.html":{"url":"components/CallToActionBehaviorComponent.html","title":"component - CallToActionBehaviorComponent","body":"\n \n\n\n\n\n\n Components\n \n CallToActionBehaviorComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.component.ts\n\n\n\n \n Description\n \n \n Info button component: Information icon displays project details when clicked.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-call-to-action-behavior\n \n\n \n styleUrls\n ./call-to-action-behavior.component.scss\n \n\n\n\n \n templateUrl\n ./call-to-action-behavior.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n callToAction$\n \n \n Readonly\n close\n \n \n Readonly\n imageUrl$\n \n \n Readonly\n learnMore\n \n \n Readonly\n message$\n \n \n Readonly\n title$\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n\n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n callToAction$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(CallToActionSelectors.callToAction)\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.component.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n close\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.component.ts:37\n \n \n\n \n \n Closes dialog\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n imageUrl$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(CallToActionSelectors.imageUrl)\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.component.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n learnMore\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Decorators : \n \n \n @Dispatch()\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.component.ts:44\n \n \n\n \n \n Sends learn more open action\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n message$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(CallToActionSelectors.message)\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.component.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n title$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Decorators : \n \n \n @Select(CallToActionSelectors.title)\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.component.ts:20\n \n \n\n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { Dispatch } from '@ngxs-labs/dispatch-decorator';\nimport { Select } from '@ngxs/store';\nimport { Observable } from 'rxjs/internal/Observable';\n\nimport { CloseDialog, LearnMore } from '../../states/call-to-action/call-to-action.actions';\nimport { CallToActionSelectors } from '../../states/call-to-action/call-to-action.selectors';\n\n/**\n * Info button component: Information icon displays project details when clicked.\n */\n@Component({\n selector: 'ccf-call-to-action-behavior',\n templateUrl: './call-to-action-behavior.component.html',\n styleUrls: ['./call-to-action-behavior.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CallToActionBehaviorComponent {\n @Select(CallToActionSelectors.title)\n readonly title$: Observable;\n\n @Select(CallToActionSelectors.message)\n readonly message$: Observable;\n\n @Select(CallToActionSelectors.callToAction)\n readonly callToAction$: Observable;\n\n @Select(CallToActionSelectors.imageUrl)\n readonly imageUrl$: Observable;\n\n\n\n /**\n * Closes dialog\n */\n @Dispatch()\n readonly close = (): CloseDialog => new CloseDialog();\n\n /**\n * Sends learn more open action\n * @returns LearnMore action\n */\n @Dispatch()\n readonly learnMore = (): LearnMore => new LearnMore();\n}\n\n \n\n \n \n\n\n \n\n \n \n ./call-to-action-behavior.component.scss\n \n \n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ''\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'CallToActionBehaviorComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CallToActionBehaviorModule.html":{"url":"modules/CallToActionBehaviorModule.html","title":"module - CallToActionBehaviorModule","body":"\n \n\n\n\n\n Modules\n CallToActionBehaviorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_CallToActionBehaviorModule\n\n\n\ncluster_CallToActionBehaviorModule_declarations\n\n\n\ncluster_CallToActionBehaviorModule_imports\n\n\n\ncluster_CallToActionBehaviorModule_exports\n\n\n\n\nCallToActionBehaviorComponent\n\nCallToActionBehaviorComponent\n\n\n\nCallToActionBehaviorModule\n\nCallToActionBehaviorModule\n\nCallToActionBehaviorModule -->\n\nCallToActionBehaviorComponent->CallToActionBehaviorModule\n\n\n\n\n\nCallToActionBehaviorComponent \n\nCallToActionBehaviorComponent \n\nCallToActionBehaviorComponent -->\n\nCallToActionBehaviorModule->CallToActionBehaviorComponent \n\n\n\n\n\nCallToActionModule\n\nCallToActionModule\n\nCallToActionBehaviorModule -->\n\nCallToActionModule->CallToActionBehaviorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n CallToActionBehaviorComponent\n \n \n \n \n Imports\n \n \n CallToActionModule\n \n \n \n \n Exports\n \n \n CallToActionBehaviorComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { NgxsModule } from '@ngxs/store';\n\nimport { CallToActionModule } from '../call-to-action/call-to-action.module';\nimport { CallToActionBehaviorComponent } from './call-to-action-behavior.component';\n\n@NgModule({\n declarations: [CallToActionBehaviorComponent],\n imports: [CommonModule, NgxsModule, MatIconModule, MatDialogModule, MatCardModule, CallToActionModule],\n exports: [CallToActionBehaviorComponent]\n})\nexport class CallToActionBehaviorModule { }\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/CallToActionComponent.html":{"url":"components/CallToActionComponent.html","title":"component - CallToActionComponent","body":"\n \n\n\n\n\n\n Components\n \n CallToActionComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts\n\n\n\n \n Description\n \n \n Info button component: Information icon displays project details when clicked.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-call-to-action\n \n\n \n styleUrls\n ./call-to-action.component.scss\n \n\n\n\n \n templateUrl\n ./call-to-action.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n close\n \n \n onDialogButtonClick\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n callToAction\n \n \n imageUrl\n \n \n infoTitle\n \n \n message\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n callToActionClicked\n \n \n closeClicked\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n callToAction\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:33\n \n \n \n \n Label for the button\n\n \n \n \n \n \n \n \n \n \n imageUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:23\n \n \n \n \n Whether the information is for the RUI or EUI\n\n \n \n \n \n \n \n \n \n \n infoTitle\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:18\n \n \n \n \n Title of the info dialog\n\n \n \n \n \n \n \n \n \n \n message\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:28\n \n \n \n \n Message to be displayed under image\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n callToActionClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:39\n \n \n \n \n Emmitter for component to pass info to parent\n\n \n \n \n \n \n \n \n \n \n closeClicked\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:45\n \n \n \n \n Emmitter for component to pass info to parent\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-call-to-action\"\n\n \n \n \n \n Default value : 'ccf-call-to-action'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:14\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:53\n \n \n\n\n \n \n Function to handle the close button click action\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n onDialogButtonClick\n \n \n \n \n \n \nonDialogButtonClick()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:61\n \n \n\n\n \n \n Detects button click and reads markdown function\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-call-to-action'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts:14\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\n/**\n * Info button component: Information icon displays project details when clicked.\n */\n@Component({\n selector: 'ccf-call-to-action',\n templateUrl: './call-to-action.component.html',\n styleUrls: ['./call-to-action.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CallToActionComponent {\n /**HTML class */\n @HostBinding('class') readonly clsName = 'ccf-call-to-action';\n /**\n * Title of the info dialog\n */\n @Input() infoTitle: string;\n\n /**\n * Whether the information is for the RUI or EUI\n */\n @Input() imageUrl: string;\n\n /**\n * Message to be displayed under image\n */\n @Input() message: string;\n\n /**\n * Label for the button\n */\n @Input() callToAction: string;\n\n\n /**\n * Emmitter for component to pass info to parent\n * */\n @Output() readonly callToActionClicked = new EventEmitter();\n\n\n /**\n * Emmitter for component to pass info to parent\n * */\n @Output() readonly closeClicked = new EventEmitter();\n\n\n\n\n /**\n * Function to handle the close button click action\n */\n close(): void {\n this.closeClicked.emit();\n }\n\n\n /**\n * Detects button click and reads markdown function\n */\n onDialogButtonClick(): void {\n this.callToActionClicked.emit();\n }\n}\n\n \n\n \n \n \n \n \n {{infoTitle}}\n clear\n \n \n\n \n {{message}}\n \n \n \n \n\n\n \n\n \n \n ./call-to-action.component.scss\n \n :host{\n .content{\n display: block;\n align-content: center;\n padding-left: 1.6rem;\n padding-right: 1.6rem;\n border-radius: .25rem;\n }\n\n .info-button-wrapper {\n border-radius: 0.25rem;\n padding: 0.60rem;\n transition: 0.6s;\n\n .ccf-info-button {\n cursor: pointer;\n transition: color .6s;\n font-size: 1.2rem;\n vertical-align: sub;\n }\n }\n\n .first-row {\n display: flex;\n width: 100%;\n line-height: .9rem;\n .title {\n padding-right: 7.0rem;\n padding-left: .2rem;\n font-size: .875rem;\n padding-top: .75rem;\n }\n\n .cta-mat-icon {\n height: 30%;\n line-height: 3.4rem;\n }\n\n }\n\n .message{\n padding: .5rem;\n }\n\n .cta-image {\n align-self: center;\n object-fit: cover; /*this makes the image in src fit to the size specified below*/\n width: 100%;\n border-radius: .25rem;\n }\n\n .mat-button {\n background-color: #444A65;\n font-size: .75rem;\n position: relative;\n margin-bottom: 1rem;\n width: 100%;\n height: 2rem;\n \n color: white;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{infoTitle}} clear {{message}} '\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'CallToActionComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CallToActionModel.html":{"url":"interfaces/CallToActionModel.html","title":"interface - CallToActionModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CallToActionModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts\n \n\n\n \n Description\n \n \n Interface to hold the necessary parts of the CTA dialog\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n callToAction\n \n \n \n \n expirationDate\n \n \n \n \n imageUrl\n \n \n \n \n message\n \n \n \n \n popupShown\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n callToAction\n \n \n \n \n \n \n \n \n callToAction: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n expirationDate\n \n \n \n \n \n \n \n \n expirationDate: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n imageUrl\n \n \n \n \n \n \n \n \n imageUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n popupShown\n \n \n \n \n \n \n \n \n popupShown: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Action, NgxsOnInit, State, StateContext } from '@ngxs/store';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\n\nimport { CallToActionBehaviorComponent } from '../../components/call-to-action-behavior/call-to-action-behavior.component';\nimport { DocumentationContent, InfoButtonService } from '../../components/info/info-button/info-button.service';\nimport { InfoDialogComponent } from '../../components/info/info-dialog/info-dialog.component';\nimport { LocalStorageService } from '../../services/local-storage/local-storage.service';\nimport { CloseDialog, LearnMore, OpenDialog } from './call-to-action.actions';\n\n/**\n * Interface to hold the necessary parts of the CTA dialog\n */\nexport interface CallToActionModel {\n title: string;\n message: string;\n callToAction: string;\n imageUrl: string;\n expirationDate: string;\n popupShown: boolean;\n\n}\n\n/**\n * Key for boolean determining if poup has been shown\n */\nconst POPUP_SHOWN_STORAGE_KEY = 'callToActionPopupShown';\n\n/**\n * Path to readme markup doc\n */\nconst SPATIAL_SEARCH_README = 'assets/docs/SPATIAL_SEARCH_README.md';\n\n/**\n * Sets the necessary defaults for the dialog box\n */\n@State({\n name: 'callToAction',\n defaults: {\n title: 'New to the Exploration User Interface',\n message: 'Spatial Search has arrived!',\n callToAction: 'Learn More',\n imageUrl: 'assets/images/spatial_search.gif',\n expirationDate: 'Dec 1, 2022',\n popupShown: false\n }\n})\n\n\n/**\n * State that controls the data and behavior for the CallToAction Component\n */\n@Injectable()\nexport class CallToActionState implements NgxsOnInit {\n /**\n * Function that determines if expiration date has passed\n * @param expirationDate\n * @param now\n * @returns boolean defining whether or not info popup has expiered\n */\n static ctaDatePassed(expirationDate: string, now = Date.now): boolean {\n const today = now();\n const expire = new Date(expirationDate);\n\n return +today > +expire;\n }\n\n constructor(\n private readonly dialog: MatDialog,\n private readonly ga: GoogleAnalyticsService,\n private readonly storage: LocalStorageService,\n private readonly infoService: InfoButtonService,\n private readonly http: HttpClient\n ) { }\n\n\n ngxsOnInit(ctx: StateContext): void {\n const { expirationDate, popupShown } = ctx.getState();\n const popupShownStr = this.storage.getItem(POPUP_SHOWN_STORAGE_KEY, `${popupShown}`);\n const pastExpiration = CallToActionState.ctaDatePassed(expirationDate);\n const showPopup = popupShownStr !== 'true' && !pastExpiration;\n if (showPopup) {\n ctx.dispatch(new OpenDialog());\n }\n }\n\n /**\n * Returns observable containting info from the markup\n */\n private getDialogData(): Observable{\n return this.http.get(SPATIAL_SEARCH_README, { responseType: 'text' }).pipe(map(data =>\n this.infoService.parseMarkdown(data)\n ));\n }\n\n /**\n * Opens Learn more dialog\n */\n launchLearnMore(content: DocumentationContent[]): void{\n this.dialog.open(InfoDialogComponent, {\n autoFocus: false,\n panelClass: 'modal-animated',\n width: '72rem',\n data: {\n title: 'Spatial Search',\n content: content,\n videoID: 'UfxMpzatowE'\n }\n });\n }\n\n /**\n * Handles click event box\n * @param _ctx\n */\n @Action(LearnMore)\n learnMore(_ctx: StateContext): Observable {\n this.dialog.closeAll();\n this.ga.event('open_learn_more', 'call_to_action');\n\n return this.getDialogData().pipe(\n tap(data => this.launchLearnMore(data))\n );\n }\n\n /**\n * Opens dialog box\n * @param ctx\n */\n @Action(OpenDialog)\n open(ctx: StateContext): void {\n this.dialog.open(CallToActionBehaviorComponent, {\n autoFocus: false,\n panelClass: 'modal-animated',\n width: '30.75rem',\n height: '36.688rem'\n });\n\n this.ga.event('open', 'call_to_action');\n this.storage.setItem(POPUP_SHOWN_STORAGE_KEY, 'true');\n ctx.patchState({ popupShown: true });\n }\n\n /**\n * closes all dialog boxes\n * @param _ctxs;\n */\n @Action(CloseDialog)\n close(_ctx: StateContext): void {\n this.dialog.closeAll();\n this.ga.event('close', 'call_to_action');\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CallToActionModule.html":{"url":"modules/CallToActionModule.html","title":"module - CallToActionModule","body":"\n \n\n\n\n\n Modules\n CallToActionModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_CallToActionModule\n\n\n\ncluster_CallToActionModule_declarations\n\n\n\ncluster_CallToActionModule_exports\n\n\n\n\nCallToActionComponent\n\nCallToActionComponent\n\n\n\nCallToActionModule\n\nCallToActionModule\n\nCallToActionModule -->\n\nCallToActionComponent->CallToActionModule\n\n\n\n\n\nCallToActionComponent \n\nCallToActionComponent \n\nCallToActionComponent -->\n\nCallToActionModule->CallToActionComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/call-to-action/call-to-action.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n CallToActionComponent\n \n \n \n \n Exports\n \n \n CallToActionComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { CallToActionComponent } from './call-to-action.component';\n\n@NgModule({\n declarations: [CallToActionComponent],\n imports: [CommonModule, MatIconModule, MatDialogModule, MatCardModule],\n exports: [CallToActionComponent]\n})\nexport class CallToActionModule { }\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CallToActionSelectors.html":{"url":"classes/CallToActionSelectors.html","title":"class - CallToActionSelectors","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CallToActionSelectors\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.selectors.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n callToAction\n \n \n Static\n expirationDate\n \n \n Static\n imageUrl\n \n \n Static\n message\n \n \n Static\n popupShown\n \n \n Static\n title\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n callToAction\n \n \n \n \n \n \n \n callToAction(state: CallToActionModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['CallToActionState'])\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.selectors.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n CallToActionModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n expirationDate\n \n \n \n \n \n \n \n expirationDate(state: CallToActionModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['CallToActionState'])\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.selectors.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n CallToActionModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n imageUrl\n \n \n \n \n \n \n \n imageUrl(state: CallToActionModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['CallToActionState'])\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.selectors.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n CallToActionModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n message\n \n \n \n \n \n \n \n message(state: CallToActionModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['CallToActionState'])\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.selectors.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n CallToActionModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n popupShown\n \n \n \n \n \n \n \n popupShown(state: CallToActionModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['CallToActionState'])\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.selectors.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n CallToActionModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n title\n \n \n \n \n \n \n \n title(state: CallToActionModel)\n \n \n\n \n \n Decorators : \n \n @Selector(['CallToActionState'])\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.selectors.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n CallToActionModel\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Selector } from '@ngxs/store';\n\nimport { CallToActionModel, CallToActionState } from './call-to-action.state';\n\nexport class CallToActionSelectors {\n @Selector([CallToActionState])\n static title(state: CallToActionModel): string {\n return state.title;\n }\n\n @Selector([CallToActionState])\n static message(state: CallToActionModel): string {\n return state.message;\n }\n\n @Selector([CallToActionState])\n static callToAction(state: CallToActionModel): string {\n return state.callToAction;\n }\n\n @Selector([CallToActionState])\n static imageUrl(state: CallToActionModel): string {\n return state.imageUrl;\n }\n\n @Selector([CallToActionState])\n static expirationDate(state: CallToActionModel): string {\n return state.expirationDate;\n }\n\n @Selector([CallToActionState])\n static popupShown(state: CallToActionModel): boolean {\n return state.popupShown;\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CallToActionState.html":{"url":"injectables/CallToActionState.html","title":"injectable - CallToActionState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n CallToActionState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts\n \n\n\n \n Description\n \n \n Sets the necessary defaults for the dialog box\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n close\n \n \n Static\n ctaDatePassed\n \n \n Private\n getDialogData\n \n \n launchLearnMore\n \n \n learnMore\n \n \n ngxsOnInit\n \n \n open\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog, ga: GoogleAnalyticsService, storage: LocalStorageService, infoService: InfoButtonService, http: HttpClient)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts:70\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n \n ga\n \n \n GoogleAnalyticsService\n \n \n \n No\n \n \n \n \n storage\n \n \n LocalStorageService\n \n \n \n No\n \n \n \n \n infoService\n \n \n InfoButtonService\n \n \n \n No\n \n \n \n \n http\n \n \n HttpClient\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose(_ctx: StateContext)\n \n \n\n \n \n Decorators : \n \n @Action(CloseDialog)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts:153\n \n \n\n\n \n \n closes all dialog boxes\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n ctaDatePassed\n \n \n \n \n \n \n \n ctaDatePassed(expirationDate: string, now)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts:65\n \n \n\n\n \n \n Function that determines if expiration date has passed\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n expirationDate\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n now\n \n \n\n \n No\n \n\n \n Date.now\n \n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n boolean defining whether or not info popup has expiered\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getDialogData\n \n \n \n \n \n \n \n getDialogData()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts:94\n \n \n\n\n \n \n Returns observable containting info from the markup\n\n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n launchLearnMore\n \n \n \n \n \n \nlaunchLearnMore(content: DocumentationContent[])\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts:103\n \n \n\n\n \n \n Opens Learn more dialog\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n content\n \n DocumentationContent[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n learnMore\n \n \n \n \n \n \nlearnMore(_ctx: StateContext)\n \n \n\n \n \n Decorators : \n \n @Action(LearnMore)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts:121\n \n \n\n\n \n \n Handles click event box\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngxsOnInit\n \n \n \n \n \n \nngxsOnInit(ctx: StateContext)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n open\n \n \n \n \n \n \nopen(ctx: StateContext)\n \n \n\n \n \n Decorators : \n \n @Action(OpenDialog)\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts:135\n \n \n\n\n \n \n Opens dialog box\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ctx\n \n StateContext\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Action, NgxsOnInit, State, StateContext } from '@ngxs/store';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\n\nimport { CallToActionBehaviorComponent } from '../../components/call-to-action-behavior/call-to-action-behavior.component';\nimport { DocumentationContent, InfoButtonService } from '../../components/info/info-button/info-button.service';\nimport { InfoDialogComponent } from '../../components/info/info-dialog/info-dialog.component';\nimport { LocalStorageService } from '../../services/local-storage/local-storage.service';\nimport { CloseDialog, LearnMore, OpenDialog } from './call-to-action.actions';\n\n/**\n * Interface to hold the necessary parts of the CTA dialog\n */\nexport interface CallToActionModel {\n title: string;\n message: string;\n callToAction: string;\n imageUrl: string;\n expirationDate: string;\n popupShown: boolean;\n\n}\n\n/**\n * Key for boolean determining if poup has been shown\n */\nconst POPUP_SHOWN_STORAGE_KEY = 'callToActionPopupShown';\n\n/**\n * Path to readme markup doc\n */\nconst SPATIAL_SEARCH_README = 'assets/docs/SPATIAL_SEARCH_README.md';\n\n/**\n * Sets the necessary defaults for the dialog box\n */\n@State({\n name: 'callToAction',\n defaults: {\n title: 'New to the Exploration User Interface',\n message: 'Spatial Search has arrived!',\n callToAction: 'Learn More',\n imageUrl: 'assets/images/spatial_search.gif',\n expirationDate: 'Dec 1, 2022',\n popupShown: false\n }\n})\n\n\n/**\n * State that controls the data and behavior for the CallToAction Component\n */\n@Injectable()\nexport class CallToActionState implements NgxsOnInit {\n /**\n * Function that determines if expiration date has passed\n * @param expirationDate\n * @param now\n * @returns boolean defining whether or not info popup has expiered\n */\n static ctaDatePassed(expirationDate: string, now = Date.now): boolean {\n const today = now();\n const expire = new Date(expirationDate);\n\n return +today > +expire;\n }\n\n constructor(\n private readonly dialog: MatDialog,\n private readonly ga: GoogleAnalyticsService,\n private readonly storage: LocalStorageService,\n private readonly infoService: InfoButtonService,\n private readonly http: HttpClient\n ) { }\n\n\n ngxsOnInit(ctx: StateContext): void {\n const { expirationDate, popupShown } = ctx.getState();\n const popupShownStr = this.storage.getItem(POPUP_SHOWN_STORAGE_KEY, `${popupShown}`);\n const pastExpiration = CallToActionState.ctaDatePassed(expirationDate);\n const showPopup = popupShownStr !== 'true' && !pastExpiration;\n if (showPopup) {\n ctx.dispatch(new OpenDialog());\n }\n }\n\n /**\n * Returns observable containting info from the markup\n */\n private getDialogData(): Observable{\n return this.http.get(SPATIAL_SEARCH_README, { responseType: 'text' }).pipe(map(data =>\n this.infoService.parseMarkdown(data)\n ));\n }\n\n /**\n * Opens Learn more dialog\n */\n launchLearnMore(content: DocumentationContent[]): void{\n this.dialog.open(InfoDialogComponent, {\n autoFocus: false,\n panelClass: 'modal-animated',\n width: '72rem',\n data: {\n title: 'Spatial Search',\n content: content,\n videoID: 'UfxMpzatowE'\n }\n });\n }\n\n /**\n * Handles click event box\n * @param _ctx\n */\n @Action(LearnMore)\n learnMore(_ctx: StateContext): Observable {\n this.dialog.closeAll();\n this.ga.event('open_learn_more', 'call_to_action');\n\n return this.getDialogData().pipe(\n tap(data => this.launchLearnMore(data))\n );\n }\n\n /**\n * Opens dialog box\n * @param ctx\n */\n @Action(OpenDialog)\n open(ctx: StateContext): void {\n this.dialog.open(CallToActionBehaviorComponent, {\n autoFocus: false,\n panelClass: 'modal-animated',\n width: '30.75rem',\n height: '36.688rem'\n });\n\n this.ga.event('open', 'call_to_action');\n this.storage.setItem(POPUP_SHOWN_STORAGE_KEY, 'true');\n ctx.patchState({ popupShown: true });\n }\n\n /**\n * closes all dialog boxes\n * @param _ctxs;\n */\n @Action(CloseDialog)\n close(_ctx: StateContext): void {\n this.dialog.closeAll();\n this.ga.event('close', 'call_to_action');\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CloseDialog.html":{"url":"classes/CloseDialog.html","title":"class - CloseDialog","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CloseDialog\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[CallToAction] Close Dialog'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class LearnMore {\n static readonly type='[CallToAction] Learn More';\n}\n\nexport class OpenDialog {\n static readonly type='[CallToAction] Open Dialog';\n}\n\nexport class CloseDialog {\n static readonly type='[CallToAction] Close Dialog';\n}\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ConsentService.html":{"url":"injectables/ConsentService.html","title":"injectable - ConsentService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n ConsentService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/analytics/src/lib/consent.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n consent\n \n \n Readonly\n consentChange\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngOnDestroy\n \n \n setConsent\n \n \n unsetConsent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/consent.service.ts:12\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/consent.service.ts:18\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n setConsent\n \n \n \n \n \n \nsetConsent(value: Consent)\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/consent.service.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n Consent\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n unsetConsent\n \n \n \n \n \n \nunsetConsent()\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/consent.service.ts:29\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n consent\n \n \n \n \n \n \n Type : Consent\n\n \n \n \n \n Default value : 'not-set'\n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/consent.service.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n consentChange\n \n \n \n \n \n \n Default value : new ReplaySubject(1)\n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/consent.service.ts:12\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, OnDestroy } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\n\n\nexport type Consent = 'not-set' | 'given' | 'rescinded';\n\n\n@Injectable()\nexport class ConsentService implements OnDestroy {\n consent: Consent = 'not-set';\n\n readonly consentChange = new ReplaySubject(1);\n\n constructor() {\n this.consentChange.next(this.consent);\n }\n\n ngOnDestroy(): void {\n this.consentChange.complete();\n }\n\n setConsent(value: Consent): void {\n if (this.consent !== value) {\n this.consent = value;\n this.consentChange.next(value);\n }\n }\n\n unsetConsent(): void {\n this.setConsent('not-set');\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DataSource.html":{"url":"interfaces/DataSource.html","title":"interface - DataSource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DataSource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n getDatabaseStatus\n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n getOntologyTreeModel\n \n \n \n \n getProviderNames\n \n \n \n \n getReferenceOrgans\n \n \n \n \n getReferenceOrganScene\n \n \n \n \n getScene\n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:13\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseStatus\n \n \n \n \n \n \ngetDatabaseStatus()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:9\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n \n \ngetDatasetTechnologyNames()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:11\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:12\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getProviderNames\n \n \n \n \n \n \ngetProviderNames()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:10\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:14\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import {\n AggregateResult, DatabaseStatus, Filter, OntologyTreeModel, SpatialEntity, SpatialSceneNode, TissueBlockResult\n} from 'ccf-database';\nimport { Observable, ObservableInput, ObservedValueOf } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n\nexport interface DataSource {\n getDatabaseStatus(): Observable;\n getProviderNames(): Observable;\n getDatasetTechnologyNames(): Observable;\n getOntologyTreeModel(): Observable;\n getCellTypeTreeModel(): Observable;\n getReferenceOrgans(): Observable;\n\n getTissueBlockResults(filter?: Filter): Observable;\n getAggregateResults(filter?: Filter): Observable;\n getOntologyTermOccurences(filter?: Filter): Observable>;\n getCellTypeTermOccurences(filter?: Filter): Observable>;\n getScene(filter?: Filter): Observable;\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable;\n}\n\nexport type DataSourceLike = {\n [K in keyof DataSource]: DataSourceLikeMethod;\n};\n\nexport type DataSourceMethod = DataSource[K];\nexport type DataSourceLikeMethod =\n (...args: Parameters>) => ObservableInput>;\nexport type DataSourceDataType =\n ObservedValueOf>>;\n\n\nexport abstract class ForwardingDataSource implements DataSource {\n getDatabaseStatus(): Observable {\n return this.forwardCall('getDatabaseStatus');\n }\n\n getProviderNames(): Observable {\n return this.forwardCall('getProviderNames');\n }\n\n getDatasetTechnologyNames(): Observable {\n return this.forwardCall('getDatasetTechnologyNames');\n }\n\n getOntologyTreeModel(): Observable {\n return this.forwardCall('getOntologyTreeModel');\n }\n\n getCellTypeTreeModel(): Observable {\n return this.forwardCall('getCellTypeTreeModel');\n }\n\n getReferenceOrgans(): Observable {\n return this.forwardCall('getReferenceOrgans');\n }\n\n getTissueBlockResults(filter?: Filter): Observable {\n return this.forwardCall('getTissueBlockResults', filter);\n }\n\n getAggregateResults(filter?: Filter): Observable {\n return this.forwardCall('getAggregateResults', filter);\n }\n\n getOntologyTermOccurences(filter?: Filter): Observable> {\n return this.forwardCall('getOntologyTermOccurences', filter);\n }\n\n getCellTypeTermOccurences(filter?: Filter): Observable> {\n return this.forwardCall('getCellTypeTermOccurences', filter);\n }\n\n getScene(filter?: Filter): Observable {\n return this.forwardCall('getScene', filter);\n }\n\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable {\n return this.forwardCall('getReferenceOrganScene', organIri, filter);\n }\n\n protected abstract forwardCall(\n method: K, ...args: Parameters>\n ): Observable>;\n}\n\n\nexport abstract class DelegateDataSource extends ForwardingDataSource {\n abstract readonly impl$: Observable;\n\n protected forwardCall(\n method: K, ...args: Parameters>\n ): Observable> {\n type AnyFunction = (...rest: unknown[]) => ObservableInput;\n\n return this.impl$.pipe(\n switchMap(impl => (impl[method] as AnyFunction)(...args))\n ) as Observable>;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DataSourceService.html":{"url":"injectables/DataSourceService.html","title":"injectable - DataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n DataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n getAggregateResults\n \n \n Abstract\n getCellTypeTermOccurences\n \n \n Abstract\n getCellTypeTreeModel\n \n \n Abstract\n getDatabaseStatus\n \n \n Abstract\n getDatasetTechnologyNames\n \n \n Abstract\n getOntologyTermOccurences\n \n \n Abstract\n getOntologyTreeModel\n \n \n Abstract\n getProviderNames\n \n \n Abstract\n getReferenceOrgans\n \n \n Abstract\n getReferenceOrganScene\n \n \n Abstract\n getScene\n \n \n Abstract\n getTissueBlockResults\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n getAggregateResults\n \n \n \n \n \n \n \n getAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getCellTypeTermOccurences\n \n \n \n \n \n \n \n getCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getCellTypeTreeModel\n \n \n \n \n \n \n \n getCellTypeTreeModel()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:16\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getDatabaseStatus\n \n \n \n \n \n \n \n getDatabaseStatus()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:12\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getDatasetTechnologyNames\n \n \n \n \n \n \n \n getDatasetTechnologyNames()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:14\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getOntologyTermOccurences\n \n \n \n \n \n \n \n getOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getOntologyTreeModel\n \n \n \n \n \n \n \n getOntologyTreeModel()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:15\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getProviderNames\n \n \n \n \n \n \n \n getProviderNames()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:13\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getReferenceOrgans\n \n \n \n \n \n \n \n getReferenceOrgans()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:17\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getReferenceOrganScene\n \n \n \n \n \n \n \n getReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getScene\n \n \n \n \n \n \n \n getScene(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getTissueBlockResults\n \n \n \n \n \n \n \n getTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.service.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport {\n AggregateResult, DatabaseStatus, Filter, OntologyTreeModel, SpatialEntity, SpatialSceneNode, TissueBlockResult,\n} from 'ccf-database';\nimport { Observable } from 'rxjs';\n\nimport { DataSource } from './data-source';\n\n\n@Injectable()\nexport abstract class DataSourceService implements DataSource {\n abstract getDatabaseStatus(): Observable;\n abstract getProviderNames(): Observable;\n abstract getDatasetTechnologyNames(): Observable;\n abstract getOntologyTreeModel(): Observable;\n abstract getCellTypeTreeModel(): Observable;\n abstract getReferenceOrgans(): Observable;\n\n abstract getTissueBlockResults(filter?: Filter): Observable;\n abstract getAggregateResults(filter?: Filter): Observable;\n abstract getOntologyTermOccurences(filter?: Filter): Observable>;\n abstract getCellTypeTermOccurences(filter?: Filter): Observable>;\n abstract getScene(filter?: Filter): Observable;\n abstract getReferenceOrganScene(organIri: string, filter?: Filter): Observable;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DecoratedRange.html":{"url":"interfaces/DecoratedRange.html","title":"interface - DecoratedRange","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DecoratedRange\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-range.ts\n \n\n\n \n Description\n \n \n A range which should have the specified classes and styles applied\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n classes\n \n \n \n \n end\n \n \n \n \n start\n \n \n \n \n styles\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n classes\n \n \n \n \n \n \n \n \n classes: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Classes to add\n\n \n \n \n \n \n \n \n \n \n end\n \n \n \n \n \n \n \n \n end: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n End index of range (exclusive). Negative indicies are allowed.\n\n \n \n \n \n \n \n \n \n \n start\n \n \n \n \n \n \n \n \n start: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Start index of range (inclusive). Negative indicies are allowed.\n\n \n \n \n \n \n \n \n \n \n styles\n \n \n \n \n \n \n \n \n styles: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n\n\n\n\n \n \n Styles to set\n\n \n \n \n \n \n \n\n\n \n export interface DecoratedRange {\n /** Start index of range (inclusive). Negative indicies are allowed. */\n start: number;\n /** End index of range (exclusive). Negative indicies are allowed. */\n end: number;\n /** Classes to add */\n classes: string[];\n /** Styles to set */\n styles: Record;\n}\n\n/**\n * Resolves and normalizes an index for indexing into an array of length `length`.\n *\n * @param index The index value to resolve. May be negative indicating an index from end.\n * @param length The length of the object on which this index will be used.\n * @returns A positive index in range [0, length]\n */\nfunction resolveIndex(index: number, length: number): number {\n if (index >= 0 && index = length) {\n return length;\n } else if (index + length , length: number): DecoratedRange {\n const start = resolveIndex(range.start ?? 0, length);\n const end = resolveIndex(range.end ?? length, length);\n const classes = range.classes ?? [];\n const styles = range.styles ?? {};\n return { start, end, classes, styles };\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/DecoratedTextComponent.html":{"url":"components/DecoratedTextComponent.html","title":"component - DecoratedTextComponent","body":"\n \n\n\n\n\n\n Components\n \n DecoratedTextComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts\n\n\n\n \n Description\n \n \n Class to display text with additional styling on ranges of the text.\n\n \n\n\n \n Implements\n \n \n OnChanges\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-decorated-text\n \n\n \n styleUrls\n ./decorated-text.component.scss\n \n\n\n\n \n templateUrl\n ./decorated-text.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n segments\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createSegments\n \n \n Private\n createStackOps\n \n \n Private\n getNormalizedDecorations\n \n \n Private\n makeDecoratedSegment\n \n \n Private\n makeUndecoratedSegment\n \n \n ngOnChanges\n \n \n Private\n updateStack\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n decorations\n \n \n text\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n decorations\n \n \n \n \n Type : Partial[]\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:52\n \n \n \n \n Classes and styles to apply to ranges of the text.\nFor overlapping ranges later values takes precedence.\n\n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:46\n \n \n \n \n Text to display\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-decorated-text\"\n\n \n \n \n \n Default value : 'ccf-decorated-text'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:41\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createSegments\n \n \n \n \n \n \n \n createSegments()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:76\n \n \n\n\n \n \n Creates an array of decorated text segments based on\nthe latest text and decorations.\n\n\n \n \n \n Returns : Segment[]\n\n \n \n The new segments\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n createStackOps\n \n \n \n \n \n \n \n createStackOps(ranges: DecoratedRange[])\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:124\n \n \n\n\n \n \n Creates an ordered array of stack operations to apply when building segments.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n ranges\n \n DecoratedRange[]\n \n\n \n No\n \n\n\n \n The decorated ranges to apply\n\n \n \n \n \n \n \n \n \n Returns : StackOp[]\n\n \n \n The array of operations\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getNormalizedDecorations\n \n \n \n \n \n \n \n getNormalizedDecorations()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:158\n \n \n\n\n \n \n Normalizes and filters valid decorated ranges.\n\n\n \n \n \n Returns : DecoratedRange[]\n\n \n \n The normalized ranges with properties filled\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n makeDecoratedSegment\n \n \n \n \n \n \n \n makeDecoratedSegment(text: string, decorations: DecoratedRange[])\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:184\n \n \n\n\n \n \n Creates a segment with decoration\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n The text for the segment\n\n \n \n \n decorations\n \n DecoratedRange[]\n \n\n \n No\n \n\n\n \n Decorations for this segment\n\n \n \n \n \n \n \n \n \n Returns : Segment\n\n \n \n A decorated segment\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n makeUndecoratedSegment\n \n \n \n \n \n \n \n makeUndecoratedSegment(text: string)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:173\n \n \n\n\n \n \n Creates a segment without any decoration\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n The text for the segment\n\n \n \n \n \n \n \n \n \n Returns : Segment\n\n \n \n A segment without any decoration\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnChanges\n \n \n \n \n \n \nngOnChanges(changes: SimpleChanges)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:64\n \n \n\n\n \n \n Apply changes and recalculate cached values.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n changes\n \n SimpleChanges\n \n\n \n No\n \n\n\n \n Instance properties that have changed\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n updateStack\n \n \n \n \n \n \n \n updateStack(stack: DecoratedRange[], op: StackOp)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:145\n \n \n\n\n \n \n Applies the stack changes specified by the stack operation.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n stack\n \n DecoratedRange[]\n \n\n \n No\n \n\n\n \n The current stack\n\n \n \n \n op\n \n StackOp\n \n\n \n No\n \n\n\n \n The operation\n\n \n \n \n \n \n \n \n \n Returns : DecoratedRange[]\n\n \n \n The new stack\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-decorated-text'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:41\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n segments\n \n \n \n \n \n \n Type : Segment[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts:57\n \n \n\n \n \n Computed segments of text with decorations resolved.\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges, SimpleChanges } from '@angular/core';\n\nimport { DecoratedRange, normalize } from './decorated-range';\n\n\n// Reexport DecoratedRange\nexport { DecoratedRange };\n\n/** A segment of text with additional classes and styles */\ninterface Segment {\n /** The piece of text to display */\n text: string;\n /** Classes to add to the text container */\n classes: string[];\n /** Styles to set on the text container */\n styles: Record;\n}\n\n/** Represents an operation to apply to the stack when building segments */\ninterface StackOp {\n /** Text index at which the changes takes effect */\n index: number;\n /** Decorations to add */\n added: DecoratedRange[];\n /** Decorations to remove */\n removed: DecoratedRange[];\n}\n\n\n/**\n * Class to display text with additional styling on ranges of the text.\n */\n@Component({\n selector: 'ccf-decorated-text',\n templateUrl: './decorated-text.component.html',\n styleUrls: ['./decorated-text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DecoratedTextComponent implements OnChanges {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-decorated-text';\n\n /**\n * Text to display\n */\n @Input() text: string;\n\n /**\n * Classes and styles to apply to ranges of the text.\n * For overlapping ranges later values takes precedence.\n */\n @Input() decorations?: Partial[];\n\n /**\n * Computed segments of text with decorations resolved.\n */\n segments: Segment[] = [];\n\n /**\n * Apply changes and recalculate cached values.\n *\n * @param changes Instance properties that have changed\n */\n ngOnChanges(changes: SimpleChanges): void {\n if ('text' in changes || 'decorations' in changes) {\n this.segments = this.createSegments();\n }\n }\n\n /**\n * Creates an array of decorated text segments based on\n * the latest text and decorations.\n *\n * @returns The new segments\n */\n private createSegments(): Segment[] {\n const { text } = this;\n if (!text) { // No styling can be applied to empty text fields\n return [this.makeUndecoratedSegment(text)];\n }\n\n const decorations = this.getNormalizedDecorations();\n if (decorations.length === 0) { // No styling available\n return [this.makeUndecoratedSegment(text)];\n }\n\n const stackOps = this.createStackOps(decorations);\n const segments: Segment[] = [];\n let stack: DecoratedRange[] = [];\n let lastIndex = 0;\n\n // If the first op starts at index zero apply stack changes\n // but don't push a segment by shifing out the first op\n if (stackOps[0].index === 0) {\n stack = this.updateStack(stack, stackOps.shift() as StackOp);\n }\n\n // Build segments based on the stack operations\n for (const op of stackOps) {\n segments.push(this.makeDecoratedSegment(\n text.slice(lastIndex, op.index), stack\n ));\n\n lastIndex = op.index;\n stack = this.updateStack(stack, op);\n }\n\n // Push the last segment if not already done\n if (lastIndex !== text.length) {\n segments.push(this.makeDecoratedSegment(\n text.slice(lastIndex), stack\n ));\n }\n\n return segments;\n }\n\n /**\n * Creates an ordered array of stack operations to apply when building segments.\n *\n * @param ranges The decorated ranges to apply\n * @returns The array of operations\n */\n private createStackOps(ranges: DecoratedRange[]): StackOp[] {\n const ops: Record = {};\n const getOp = (index: number) => (ops[index] ??= { index, added: [], removed: [] });\n\n for (const range of ranges) {\n getOp(range.start).added.push(range);\n getOp(range.end).removed.push(range);\n }\n\n return Object.entries(ops)\n .sort((i1, i2) => +i1[0] - +i2[0]) // Sort by index\n .map(entry => entry[1]);\n }\n\n /**\n * Applies the stack changes specified by the stack operation.\n *\n * @param stack The current stack\n * @param op The operation\n * @returns The new stack\n */\n private updateStack(stack: DecoratedRange[], op: StackOp): DecoratedRange[] {\n return stack\n .filter(item => !op.removed.includes(item))\n // Note - A new array is created by the above filter statement\n // so it is safe to modify it with concat\n .concat(op.added);\n }\n\n /**\n * Normalizes and filters valid decorated ranges.\n *\n * @returns The normalized ranges with properties filled\n */\n private getNormalizedDecorations(): DecoratedRange[] {\n const { decorations = [], text: { length } } = this;\n return decorations\n // Turn partials into full objects\n .map(range => normalize(range, length))\n // Remove empty and out of bounds ranges\n .filter(range => range.start (\n (result, range) => result.concat(range.classes),\n []\n );\n const styles = decorations.reduce(\n (result, range) => ({ ...result, ...range.styles }),\n {}\n );\n\n return { text, classes, styles };\n }\n}\n\n \n\n \n \n {{ segment.text }}\n\n\n \n\n \n \n ./decorated-text.component.scss\n \n :host {\n display: flex;\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ segment.text }}'\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'DecoratedTextComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DecoratedTextModule.html":{"url":"modules/DecoratedTextModule.html","title":"module - DecoratedTextModule","body":"\n \n\n\n\n\n Modules\n DecoratedTextModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_DecoratedTextModule\n\n\n\ncluster_DecoratedTextModule_declarations\n\n\n\ncluster_DecoratedTextModule_exports\n\n\n\n\nDecoratedTextComponent\n\nDecoratedTextComponent\n\n\n\nDecoratedTextModule\n\nDecoratedTextModule\n\nDecoratedTextModule -->\n\nDecoratedTextComponent->DecoratedTextModule\n\n\n\n\n\nDecoratedTextComponent \n\nDecoratedTextComponent \n\nDecoratedTextComponent -->\n\nDecoratedTextModule->DecoratedTextComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-text.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n DecoratedTextComponent\n \n \n \n \n Exports\n \n \n DecoratedTextComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DecoratedTextComponent } from './decorated-text.component';\n\n\n@NgModule({\n imports: [CommonModule],\n declarations: [DecoratedTextComponent],\n exports: [DecoratedTextComponent]\n})\nexport class DecoratedTextModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DefaultParams.html":{"url":"interfaces/DefaultParams.html","title":"interface - DefaultParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DefaultParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n token\n \n \n \n \n \n \n \n \n token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport {\n AggregateResult, Filter, OntologyTreeModel, SpatialEntity, SpatialSceneNode, TissueBlockResult,\n} from 'ccf-database';\nimport { DatabaseStatus, DefaultService, MinMax, SpatialSearch, SpatialSceneNode as RawSpatialSceneNode } from 'ccf-openapi/angular-client';\nimport { combineLatest, Observable, Subject } from 'rxjs';\nimport { map, switchMap, take, tap } from 'rxjs/operators';\nimport { Cacheable } from 'ts-cacheable';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSource } from './data-source';\n\n\nexport interface ApiEndpointDataSourceOptions {\n remoteApiEndpoint: string;\n hubmapToken?: string;\n}\n\n// Not exported from ts-cacheable!?\ntype IObservableCacheConfig = NonNullable[0]>;\n\ntype RequestMethod = (params: P) => Observable;\ntype DataReviver = (data: T) => U;\n\ninterface DefaultParams {\n token?: string;\n}\n\ninterface FilterParams {\n age?: MinMax;\n ageRange?: string;\n bmi?: MinMax;\n bmiRange?: string;\n ontologyTerms?: string[];\n cellTypeTerms?: string[];\n providers?: string[];\n sex?: 'both' | 'female' | 'male';\n technologies?: string[];\n spatial?: SpatialSearch[];\n}\n\n\n// Cache config\nconst buster$ = new Subject();\n\nconst CACHE_CONFIG_NO_PARAMS: IObservableCacheConfig = {\n cacheBusterObserver: buster$\n};\n\nconst CACHE_CONFIG_PARAMS: IObservableCacheConfig = {\n cacheBusterObserver: buster$,\n maxCacheCount: 4\n};\n\n\n// Utility\nfunction cast(): (data: unknown) => T {\n return data => data as T;\n}\n\nfunction rangeToMinMax(\n range: [number, number] | undefined,\n low: number, high: number\n): MinMax | undefined {\n return range ? {\n min: range[0] > low ? range[0] : undefined,\n max: range[1] ({\n ...(node as SpatialSceneNode),\n transformMatrix: new Matrix4(node.transformMatrix ?? [])\n }));\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiEndpointDataSourceService implements DataSource {\n constructor(\n private readonly api: DefaultService,\n private readonly globalConfig: GlobalConfigState\n ) {\n globalConfig.getOption('hubmapToken').subscribe(buster$);\n }\n\n getDatabaseStatus(): Observable {\n return this.doRequest(params => this.api.dbStatus(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getProviderNames(): Observable {\n return this.doRequest(params => this.api.providerNames(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getDatasetTechnologyNames(): Observable {\n return this.doRequest(params => this.api.technologyNames(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getOntologyTreeModel(): Observable {\n return this.doRequest(\n params => this.api.ontologyTreeModel(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getCellTypeTreeModel(): Observable {\n return this.doRequest(\n params => this.api.cellTypeTreeModel(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getReferenceOrgans(): Observable {\n return this.doRequest(\n params => this.api.referenceOrgans(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getTissueBlockResults(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.tissueBlocks(params),\n filter, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getAggregateResults(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.aggregateResults(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getOntologyTermOccurences(filter?: Filter): Observable> {\n return this.doRequest(\n params => this.api.ontologyTermOccurences(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getCellTypeTermOccurences(filter?: Filter): Observable> {\n return this.doRequest(\n params => this.api.cellTypeTermOccurences(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getScene(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.scene(params),\n filter, {}, spatialSceneNodeReviver\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.referenceOrganScene(params),\n filter, { organIri }, spatialSceneNodeReviver\n );\n }\n\n private doRequest(\n method: RequestMethod,\n filter?: Filter | undefined,\n params?: P\n ): Observable;\n private doRequest(\n method: RequestMethod,\n filter: Filter | undefined,\n params: P | undefined,\n reviver: DataReviver\n ): Observable;\n private doRequest(\n method: RequestMethod,\n filter: Filter | undefined,\n params?: P,\n reviver?: DataReviver\n ): Observable {\n const { api, globalConfig } = this;\n const requestParams = { ...filterToParams(filter), ...params };\n\n return combineLatest([\n globalConfig.getOption('remoteApiEndpoint'),\n globalConfig.getOption('hubmapToken')\n ]).pipe(\n take(1),\n tap(([endpoint, token]) => {\n api.configuration.basePath = endpoint;\n if (token) {\n requestParams['token'] = token;\n }\n }),\n switchMap(() => method(requestParams)),\n map(data => reviver ? reviver(data) : data)\n );\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DelegateDataSource.html":{"url":"classes/DelegateDataSource.html","title":"class - DelegateDataSource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DelegateDataSource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.ts\n \n\n\n\n \n Extends\n \n \n ForwardingDataSource\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n Readonly\n impl$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n forwardCall\n \n \n getAggregateResults\n \n \n getCellTypeTermOccurences\n \n \n getCellTypeTreeModel\n \n \n getDatabaseStatus\n \n \n getDatasetTechnologyNames\n \n \n getOntologyTermOccurences\n \n \n getOntologyTreeModel\n \n \n getProviderNames\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getScene\n \n \n getTissueBlockResults\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n Readonly\n impl$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:91\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n forwardCall\n \n \n \n \n \n \n \n forwardCall(method: K, args: Parameters>)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:93\n\n \n \n\n \n \n Type parameters :\n \n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n K\n \n\n \n No\n \n\n\n \n \n args\n \n Parameters>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:52\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseStatus\n \n \n \n \n \n \ngetDatabaseStatus()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:36\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n \n \ngetDatasetTechnologyNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:44\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:68\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:48\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getProviderNames\n \n \n \n \n \n \ngetProviderNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:40\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:56\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:80\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:76\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:60\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n AggregateResult, DatabaseStatus, Filter, OntologyTreeModel, SpatialEntity, SpatialSceneNode, TissueBlockResult\n} from 'ccf-database';\nimport { Observable, ObservableInput, ObservedValueOf } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n\nexport interface DataSource {\n getDatabaseStatus(): Observable;\n getProviderNames(): Observable;\n getDatasetTechnologyNames(): Observable;\n getOntologyTreeModel(): Observable;\n getCellTypeTreeModel(): Observable;\n getReferenceOrgans(): Observable;\n\n getTissueBlockResults(filter?: Filter): Observable;\n getAggregateResults(filter?: Filter): Observable;\n getOntologyTermOccurences(filter?: Filter): Observable>;\n getCellTypeTermOccurences(filter?: Filter): Observable>;\n getScene(filter?: Filter): Observable;\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable;\n}\n\nexport type DataSourceLike = {\n [K in keyof DataSource]: DataSourceLikeMethod;\n};\n\nexport type DataSourceMethod = DataSource[K];\nexport type DataSourceLikeMethod =\n (...args: Parameters>) => ObservableInput>;\nexport type DataSourceDataType =\n ObservedValueOf>>;\n\n\nexport abstract class ForwardingDataSource implements DataSource {\n getDatabaseStatus(): Observable {\n return this.forwardCall('getDatabaseStatus');\n }\n\n getProviderNames(): Observable {\n return this.forwardCall('getProviderNames');\n }\n\n getDatasetTechnologyNames(): Observable {\n return this.forwardCall('getDatasetTechnologyNames');\n }\n\n getOntologyTreeModel(): Observable {\n return this.forwardCall('getOntologyTreeModel');\n }\n\n getCellTypeTreeModel(): Observable {\n return this.forwardCall('getCellTypeTreeModel');\n }\n\n getReferenceOrgans(): Observable {\n return this.forwardCall('getReferenceOrgans');\n }\n\n getTissueBlockResults(filter?: Filter): Observable {\n return this.forwardCall('getTissueBlockResults', filter);\n }\n\n getAggregateResults(filter?: Filter): Observable {\n return this.forwardCall('getAggregateResults', filter);\n }\n\n getOntologyTermOccurences(filter?: Filter): Observable> {\n return this.forwardCall('getOntologyTermOccurences', filter);\n }\n\n getCellTypeTermOccurences(filter?: Filter): Observable> {\n return this.forwardCall('getCellTypeTermOccurences', filter);\n }\n\n getScene(filter?: Filter): Observable {\n return this.forwardCall('getScene', filter);\n }\n\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable {\n return this.forwardCall('getReferenceOrganScene', organIri, filter);\n }\n\n protected abstract forwardCall(\n method: K, ...args: Parameters>\n ): Observable>;\n}\n\n\nexport abstract class DelegateDataSource extends ForwardingDataSource {\n abstract readonly impl$: Observable;\n\n protected forwardCall(\n method: K, ...args: Parameters>\n ): Observable> {\n type AnyFunction = (...rest: unknown[]) => ObservableInput;\n\n return this.impl$.pipe(\n switchMap(impl => (impl[method] as AnyFunction)(...args))\n ) as Observable>;\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DocumentationContent.html":{"url":"interfaces/DocumentationContent.html","title":"interface - DocumentationContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DocumentationContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts\n \n\n\n \n Description\n \n \n The structure to define how each documentation panel\nshould look like in the info dialog\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Content inside the panel\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Title of the panel\n\n \n \n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\n\n/**\n * The structure to define how each documentation panel\n * should look like in the info dialog\n */\n\nexport interface DocumentationContent {\n /** Title of the panel */\n title: string;\n\n /** Content inside the panel */\n content: string;\n}\n\nexport interface PanelData {\n content: DocumentationContent[];\n infoTitle: string;\n videoID: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InfoButtonService {\n\n /** Subject to send the documentation data to the component when its done processing */\n panelContent: BehaviorSubject = new BehaviorSubject({ content: [], infoTitle: '', videoID: '' });\n\n constructor(private readonly http: HttpClient) { }\n\n /**\n * Read the markdown file to split it by h1 tags and update the panel title and videoID.\n */\n updateData(url: string, videoID: string, infoTitle: string): void {\n this.http.get(url, { responseType: 'text' }).subscribe((data: string) => {\n const panelContent: PanelData = { content: this.parseMarkdown(data), infoTitle: infoTitle, videoID: videoID };\n this.panelContent.next(panelContent);\n });\n }\n\n /**\n * Function to parse the markdown file and convert to\n * documentation content used by the info-dialog panels\n *\n * @param data Markdown file sent as a string after reading it\n * @returns array of DocumentationContent\n */\n parseMarkdown(data: string): DocumentationContent[] {\n const markdownContent: DocumentationContent[] = [];\n const splitByHeaderTag: string[] = data.split('# ');\n for (const split of splitByHeaderTag) {\n if (split.length) {\n const newLine = split.includes('\\n\\n') ? '\\n\\n' : '\\r\\n\\r\\n';\n const headerAndContent: string[] = split.split(newLine);\n markdownContent.push({\n title: headerAndContent[0],\n content: headerAndContent.splice(1).join(newLine)\n });\n }\n }\n return markdownContent;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FilterParams.html":{"url":"interfaces/FilterParams.html","title":"interface - FilterParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FilterParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n age\n \n \n \n Optional\n \n ageRange\n \n \n \n Optional\n \n bmi\n \n \n \n Optional\n \n bmiRange\n \n \n \n Optional\n \n cellTypeTerms\n \n \n \n Optional\n \n ontologyTerms\n \n \n \n Optional\n \n providers\n \n \n \n Optional\n \n sex\n \n \n \n Optional\n \n spatial\n \n \n \n Optional\n \n technologies\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n age\n \n \n \n \n \n \n \n \n age: MinMax\n\n \n \n\n\n \n \n Type : MinMax\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ageRange\n \n \n \n \n \n \n \n \n ageRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n bmi\n \n \n \n \n \n \n \n \n bmi: MinMax\n\n \n \n\n\n \n \n Type : MinMax\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n bmiRange\n \n \n \n \n \n \n \n \n bmiRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n cellTypeTerms\n \n \n \n \n \n \n \n \n cellTypeTerms: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ontologyTerms\n \n \n \n \n \n \n \n \n ontologyTerms: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n providers\n \n \n \n \n \n \n \n \n providers: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"both\" | \"female\" | \"male\"\n\n \n \n\n\n \n \n Type : \"both\" | \"female\" | \"male\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n spatial\n \n \n \n \n \n \n \n \n spatial: SpatialSearch[]\n\n \n \n\n\n \n \n Type : SpatialSearch[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n technologies\n \n \n \n \n \n \n \n \n technologies: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { Matrix4 } from '@math.gl/core';\nimport {\n AggregateResult, Filter, OntologyTreeModel, SpatialEntity, SpatialSceneNode, TissueBlockResult,\n} from 'ccf-database';\nimport { DatabaseStatus, DefaultService, MinMax, SpatialSearch, SpatialSceneNode as RawSpatialSceneNode } from 'ccf-openapi/angular-client';\nimport { combineLatest, Observable, Subject } from 'rxjs';\nimport { map, switchMap, take, tap } from 'rxjs/operators';\nimport { Cacheable } from 'ts-cacheable';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSource } from './data-source';\n\n\nexport interface ApiEndpointDataSourceOptions {\n remoteApiEndpoint: string;\n hubmapToken?: string;\n}\n\n// Not exported from ts-cacheable!?\ntype IObservableCacheConfig = NonNullable[0]>;\n\ntype RequestMethod = (params: P) => Observable;\ntype DataReviver = (data: T) => U;\n\ninterface DefaultParams {\n token?: string;\n}\n\ninterface FilterParams {\n age?: MinMax;\n ageRange?: string;\n bmi?: MinMax;\n bmiRange?: string;\n ontologyTerms?: string[];\n cellTypeTerms?: string[];\n providers?: string[];\n sex?: 'both' | 'female' | 'male';\n technologies?: string[];\n spatial?: SpatialSearch[];\n}\n\n\n// Cache config\nconst buster$ = new Subject();\n\nconst CACHE_CONFIG_NO_PARAMS: IObservableCacheConfig = {\n cacheBusterObserver: buster$\n};\n\nconst CACHE_CONFIG_PARAMS: IObservableCacheConfig = {\n cacheBusterObserver: buster$,\n maxCacheCount: 4\n};\n\n\n// Utility\nfunction cast(): (data: unknown) => T {\n return data => data as T;\n}\n\nfunction rangeToMinMax(\n range: [number, number] | undefined,\n low: number, high: number\n): MinMax | undefined {\n return range ? {\n min: range[0] > low ? range[0] : undefined,\n max: range[1] ({\n ...(node as SpatialSceneNode),\n transformMatrix: new Matrix4(node.transformMatrix ?? [])\n }));\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiEndpointDataSourceService implements DataSource {\n constructor(\n private readonly api: DefaultService,\n private readonly globalConfig: GlobalConfigState\n ) {\n globalConfig.getOption('hubmapToken').subscribe(buster$);\n }\n\n getDatabaseStatus(): Observable {\n return this.doRequest(params => this.api.dbStatus(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getProviderNames(): Observable {\n return this.doRequest(params => this.api.providerNames(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getDatasetTechnologyNames(): Observable {\n return this.doRequest(params => this.api.technologyNames(params));\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getOntologyTreeModel(): Observable {\n return this.doRequest(\n params => this.api.ontologyTreeModel(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getCellTypeTreeModel(): Observable {\n return this.doRequest(\n params => this.api.cellTypeTreeModel(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_NO_PARAMS)\n getReferenceOrgans(): Observable {\n return this.doRequest(\n params => this.api.referenceOrgans(params),\n undefined, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getTissueBlockResults(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.tissueBlocks(params),\n filter, {}, cast()\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getAggregateResults(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.aggregateResults(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getOntologyTermOccurences(filter?: Filter): Observable> {\n return this.doRequest(\n params => this.api.ontologyTermOccurences(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getCellTypeTermOccurences(filter?: Filter): Observable> {\n return this.doRequest(\n params => this.api.cellTypeTermOccurences(params),\n filter\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getScene(filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.scene(params),\n filter, {}, spatialSceneNodeReviver\n );\n }\n\n @Cacheable(CACHE_CONFIG_PARAMS)\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable {\n return this.doRequest(\n params => this.api.referenceOrganScene(params),\n filter, { organIri }, spatialSceneNodeReviver\n );\n }\n\n private doRequest(\n method: RequestMethod,\n filter?: Filter | undefined,\n params?: P\n ): Observable;\n private doRequest(\n method: RequestMethod,\n filter: Filter | undefined,\n params: P | undefined,\n reviver: DataReviver\n ): Observable;\n private doRequest(\n method: RequestMethod,\n filter: Filter | undefined,\n params?: P,\n reviver?: DataReviver\n ): Observable {\n const { api, globalConfig } = this;\n const requestParams = { ...filterToParams(filter), ...params };\n\n return combineLatest([\n globalConfig.getOption('remoteApiEndpoint'),\n globalConfig.getOption('hubmapToken')\n ]).pipe(\n take(1),\n tap(([endpoint, token]) => {\n api.configuration.basePath = endpoint;\n if (token) {\n requestParams['token'] = token;\n }\n }),\n switchMap(() => method(requestParams)),\n map(data => reviver ? reviver(data) : data)\n );\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ForwardingDataSource.html":{"url":"classes/ForwardingDataSource.html","title":"class - ForwardingDataSource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ForwardingDataSource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.ts\n \n\n\n\n\n \n Implements\n \n \n DataSource\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n Abstract\n forwardCall\n \n \n getAggregateResults\n \n \n getCellTypeTermOccurences\n \n \n getCellTypeTreeModel\n \n \n getDatabaseStatus\n \n \n getDatasetTechnologyNames\n \n \n getOntologyTermOccurences\n \n \n getOntologyTreeModel\n \n \n getProviderNames\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getScene\n \n \n getTissueBlockResults\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n Abstract\n forwardCall\n \n \n \n \n \n \n \n forwardCall(method: K, args: Parameters>)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:84\n \n \n\n \n \n Type parameters :\n \n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n K\n \n\n \n No\n \n\n\n \n \n args\n \n Parameters>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:52\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseStatus\n \n \n \n \n \n \ngetDatabaseStatus()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:36\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n \n \ngetDatasetTechnologyNames()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:44\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:48\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getProviderNames\n \n \n \n \n \n \ngetProviderNames()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:40\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:56\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/data-source.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n AggregateResult, DatabaseStatus, Filter, OntologyTreeModel, SpatialEntity, SpatialSceneNode, TissueBlockResult\n} from 'ccf-database';\nimport { Observable, ObservableInput, ObservedValueOf } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n\nexport interface DataSource {\n getDatabaseStatus(): Observable;\n getProviderNames(): Observable;\n getDatasetTechnologyNames(): Observable;\n getOntologyTreeModel(): Observable;\n getCellTypeTreeModel(): Observable;\n getReferenceOrgans(): Observable;\n\n getTissueBlockResults(filter?: Filter): Observable;\n getAggregateResults(filter?: Filter): Observable;\n getOntologyTermOccurences(filter?: Filter): Observable>;\n getCellTypeTermOccurences(filter?: Filter): Observable>;\n getScene(filter?: Filter): Observable;\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable;\n}\n\nexport type DataSourceLike = {\n [K in keyof DataSource]: DataSourceLikeMethod;\n};\n\nexport type DataSourceMethod = DataSource[K];\nexport type DataSourceLikeMethod =\n (...args: Parameters>) => ObservableInput>;\nexport type DataSourceDataType =\n ObservedValueOf>>;\n\n\nexport abstract class ForwardingDataSource implements DataSource {\n getDatabaseStatus(): Observable {\n return this.forwardCall('getDatabaseStatus');\n }\n\n getProviderNames(): Observable {\n return this.forwardCall('getProviderNames');\n }\n\n getDatasetTechnologyNames(): Observable {\n return this.forwardCall('getDatasetTechnologyNames');\n }\n\n getOntologyTreeModel(): Observable {\n return this.forwardCall('getOntologyTreeModel');\n }\n\n getCellTypeTreeModel(): Observable {\n return this.forwardCall('getCellTypeTreeModel');\n }\n\n getReferenceOrgans(): Observable {\n return this.forwardCall('getReferenceOrgans');\n }\n\n getTissueBlockResults(filter?: Filter): Observable {\n return this.forwardCall('getTissueBlockResults', filter);\n }\n\n getAggregateResults(filter?: Filter): Observable {\n return this.forwardCall('getAggregateResults', filter);\n }\n\n getOntologyTermOccurences(filter?: Filter): Observable> {\n return this.forwardCall('getOntologyTermOccurences', filter);\n }\n\n getCellTypeTermOccurences(filter?: Filter): Observable> {\n return this.forwardCall('getCellTypeTermOccurences', filter);\n }\n\n getScene(filter?: Filter): Observable {\n return this.forwardCall('getScene', filter);\n }\n\n getReferenceOrganScene(organIri: string, filter?: Filter): Observable {\n return this.forwardCall('getReferenceOrganScene', organIri, filter);\n }\n\n protected abstract forwardCall(\n method: K, ...args: Parameters>\n ): Observable>;\n}\n\n\nexport abstract class DelegateDataSource extends ForwardingDataSource {\n abstract readonly impl$: Observable;\n\n protected forwardCall(\n method: K, ...args: Parameters>\n ): Observable> {\n type AnyFunction = (...rest: unknown[]) => ObservableInput;\n\n return this.impl$.pipe(\n switchMap(impl => (impl[method] as AnyFunction)(...args))\n ) as Observable>;\n }\n}\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/GlobalConfigState.html":{"url":"injectables/GlobalConfigState.html","title":"injectable - GlobalConfigState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n GlobalConfigState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/config/global-config.state.ts\n \n\n\n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n optionCache\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getOption\n \n \n getOption\n \n \n getOption\n \n \n getOption\n \n \n getOption\n \n \n Private\n getPathKey\n \n \n getProperty\n \n \n patchConfig\n \n \n setConfig\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n config$\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getOption\n \n \n \n \n \n \ngetOption(k1: K1)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:42\n \n \n\n \n \n Type parameters :\n \n K1\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n k1\n \n K1\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOption\n \n \n \n \n \n \ngetOption(k1: K1, k2: K2)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:43\n \n \n\n \n \n Type parameters :\n \n K1\n K2\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n k1\n \n K1\n \n\n \n No\n \n\n\n \n \n k2\n \n K2\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOption\n \n \n \n \n \n \ngetOption(k1: K1, k2: K2, k3: K3)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:44\n \n \n\n \n \n Type parameters :\n \n K1\n K2\n K3\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n k1\n \n K1\n \n\n \n No\n \n\n\n \n \n k2\n \n K2\n \n\n \n No\n \n\n\n \n \n k3\n \n K3\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOption\n \n \n \n \n \n \ngetOption(...path: (string | number)[])\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:45\n \n \n\n \n \n Type parameters :\n \n R\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n (string | number)[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOption\n \n \n \n \n \n \ngetOption(...path: (string | number)[])\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n (string | number)[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getPathKey\n \n \n \n \n \n \n \n getPathKey(path: (string | number)[])\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n (string | number)[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getProperty\n \n \n \n \n \n \ngetProperty(path: PropertyKey[])\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:34\n \n \n\n \n \n Type parameters :\n \n R\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n PropertyKey[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n patchConfig\n \n \n \n \n \n \npatchConfig(config: ImmutablePatchValue)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n ImmutablePatchValue\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setConfig\n \n \n \n \n \n \nsetConfig(config: ImmutableStateValue)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n ImmutableStateValue\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n optionCache\n \n \n \n \n \n \n Default value : new Map>()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:19\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n config$\n \n \n\n \n \n getconfig$()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/config/global-config.state.ts:22\n \n \n\n \n \n\n \n\n\n \n import { Immutable } from '@angular-ru/common/typings';\nimport { Injectable } from '@angular/core';\nimport { Computed, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { ImmutablePatchValue, ImmutableStateValue } from '@ngxs-labs/data/typings';\nimport { State } from '@ngxs/store';\nimport { filterNulls } from 'ccf-shared/rxjs-ext/operators';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, pluck, shareReplay } from 'rxjs/operators';\n\n\n@StateRepository()\n@State({\n name: 'globalConfig',\n defaults: null\n})\n@Injectable()\nexport class GlobalConfigState extends NgxsImmutableDataRepository {\n private readonly optionCache = new Map>();\n\n @Computed()\n get config$(): Observable> {\n return this.state$.pipe(filterNulls(), shareReplay(1));\n }\n\n setConfig(config: ImmutableStateValue): void {\n this.setState(config);\n }\n\n patchConfig(config: ImmutablePatchValue): void {\n this.patchState(config);\n }\n\n getProperty(path: PropertyKey[]): Observable {\n return this.config$.pipe(\n pluck(...path as string[]),\n distinctUntilChanged(),\n shareReplay(1)\n );\n }\n\n getOption(k1: K1): Observable;\n getOption(k1: K1, k2: K2): Observable;\n getOption(k1: K1, k2: K2, k3: K3): Observable;\n getOption(...path: (string | number)[]): Observable;\n getOption(...path: (string | number)[]): Observable {\n const key = this.getPathKey(path);\n if (this.optionCache.has(key)) {\n return this.optionCache.get(key)!;\n }\n\n const obs = this.config$.pipe(\n pluck(...(path as string[])),\n distinctUntilChanged(),\n shareReplay(1)\n );\n\n this.optionCache.set(key, obs);\n return obs;\n }\n\n private getPathKey(path: (string | number)[]): string {\n return `${path.length}:${path.join('.')}`;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/GlobalsService.html":{"url":"injectables/GlobalsService.html","title":"injectable - GlobalsService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n GlobalsService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/globals/globals.service.ts\n \n\n\n \n Description\n \n \n Provide functionality for interacting with the global object.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n findGlobalObject\n \n \n get\n \n \n get\n \n \n get\n \n \n get\n \n \n get\n \n \n has\n \n \n remove\n \n \n set\n \n \n set\n \n \n set\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n obj\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n findGlobalObject\n \n \n \n \n \n \n \n findGlobalObject()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:109\n \n \n\n\n \n \n Attempt to locate the global object.\nCan be overridden in a subclass to check other locations\nor completely change the object. This is especially useful\nduring testing.\n\n\n \n \n \n Returns : GlobalThis | undefined\n\n \n \n The global object if found\n\n \n \n \n \n \n \n \n \n \n \n \n get\n \n \n \n \n \n \nget(key: K)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:58\n \n \n\n \n \n Type parameters :\n \n K\n \n \n \n\n \n \n Gets a value from the global object.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n key\n \n K\n \n\n \n No\n \n\n\n \n The key for the value\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n get\n \n \n \n \n \n \nget(key: K, def: D)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:59\n \n \n\n \n \n Type parameters :\n \n K\n D\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n K\n \n\n \n No\n \n\n\n \n \n def\n \n D\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : NonNullable | D\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n get\n \n \n \n \n \n \nget(key: GlobalKey)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:60\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n GlobalKey\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : T | null | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n get\n \n \n \n \n \n \nget(key: GlobalKey, def: D)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:61\n \n \n\n \n \n Type parameters :\n \n T\n D\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n GlobalKey\n \n\n \n No\n \n\n\n \n \n def\n \n D\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : T | D\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n get\n \n \n \n \n \n \nget(key: GlobalKey, def?)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n GlobalKey\n \n\n \n No\n \n\n\n \n \n def\n \n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n has\n \n \n \n \n \n \nhas(key: GlobalKey)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:45\n \n \n\n\n \n \n Tests whether the global object has the specific key.\nThis method returns true even when the associated value\nis undefined or null as long as the key exists.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n key\n \n GlobalKey\n \n\n \n No\n \n\n\n \n The key\n\n \n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true if the key exists in the global object\n\n \n \n \n \n \n \n \n \n \n \n \n remove\n \n \n \n \n \n \nremove(key: GlobalKey)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:93\n \n \n\n\n \n \n Removes a key from the global object.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n key\n \n GlobalKey\n \n\n \n No\n \n\n\n \n The key to remove\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n set\n \n \n \n \n \n \nset(key: K, value)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:76\n \n \n\n \n \n Type parameters :\n \n K\n \n \n \n\n \n \n Sets a value on the global object.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n key\n \n K\n \n\n \n No\n \n\n\n \n The key to set the value on\n\n \n \n \n value\n \n \n\n \n No\n \n\n\n \n The new value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n set\n \n \n \n \n \n \nset(key: GlobalKey, value: T)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:77\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n GlobalKey\n \n\n \n No\n \n\n\n \n \n value\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n set\n \n \n \n \n \n \nset(key: GlobalKey, value)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n GlobalKey\n \n\n \n No\n \n\n\n \n \n value\n \n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n obj\n \n \n\n \n \n getobj()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/services/globals/globals.service.ts:22\n \n \n \n \n The found global object\n\n\n \n Returns : GlobalThis | undefined\n\n \n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@angular/core';\n\n\n/** Type of keys allowed in the global object */\nexport type GlobalKey = string | symbol;\n\n/** Type of the global object */\nexport type GlobalThis = typeof globalThis;\n\ndeclare let global: GlobalThis;\n\n/**\n * Provide functionality for interacting with the global object.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class GlobalsService {\n /**\n * The found global object\n */\n get obj(): GlobalThis | undefined {\n const obj = this.findGlobalObject();\n // Cache value on the instance\n Object.defineProperties(this, {\n obj: {\n configurable: false,\n writable: false,\n value: obj\n }\n });\n\n return obj;\n }\n\n /**\n * Tests whether the global object has the specific key.\n * This method returns true even when the associated value\n * is undefined or null as long as the key exists.\n *\n * @param key The key\n *\n * @returns true if the key exists in the global object\n */\n has(key: GlobalKey): boolean {\n const { obj } = this;\n return obj != null && key in obj;\n }\n\n /**\n * Gets a value from the global object.\n *\n * @param key The key for the value\n * @param def An optional default value\n *\n * @returns The value if it exists otherwise the default value\n */\n get(key: K): GlobalThis[K];\n get(key: K, def: D): NonNullable | D;\n get(key: GlobalKey): T | null | undefined;\n get(key: GlobalKey, def: D): T | D;\n\n get(key: GlobalKey, def?: unknown): unknown {\n const { obj } = this;\n return (obj && obj[key] as unknown) ?? def;\n }\n\n /**\n * Sets a value on the global object.\n *\n * @param key The key to set the value on\n * @param value The new value\n *\n * @throws TypeError if the value is readonly\n */\n set(key: K, value: GlobalThis[K]): void;\n set(key: GlobalKey, value: T): void;\n\n set(key: GlobalKey, value: unknown): void {\n const { obj } = this;\n if (obj) {\n obj[key] = value;\n }\n }\n\n /**\n * Removes a key from the global object.\n *\n * @param key The key to remove\n *\n * @throws TypeError if the key is not removable\n */\n remove(key: GlobalKey): void {\n const { obj } = this;\n if (obj) {\n delete obj[key];\n }\n }\n\n /**\n * Attempt to locate the global object.\n * Can be overridden in a subclass to check other locations\n * or completely change the object. This is especially useful\n * during testing.\n *\n * @returns The global object if found\n */\n /* istanbul ignore next This is really hard to test as it depends on the global environment */\n protected findGlobalObject(): GlobalThis | undefined {\n // This should pretty much always be available unless\n // we are running in some outdated environment\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n\n // Check the common places for a global object\n if (typeof global !== 'undefined') { // Node.js environment\n return global;\n } else if (typeof window !== 'undefined') { // Browser environment\n return window;\n } else if (typeof self !== 'undefined') { // Web worker environment\n return self;\n }\n\n try {\n // One last try - may fail depending on content security policy (CSP) settings\n // eslint-disable-next-line no-new-func, @typescript-eslint/no-implied-eval\n return (new Function('return this;'))() as GlobalThis | undefined;\n } catch (_ignored) { /* Ignore errors */ }\n\n return undefined;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/GoogleAnalyticsSyncService.html":{"url":"injectables/GoogleAnalyticsSyncService.html","title":"injectable - GoogleAnalyticsSyncService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n GoogleAnalyticsSyncService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/analytics/src/lib/google-analytics-sync.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n Private\n Readonly\n token\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngOnDestroy\n \n \n Private\n toggleGoogleAnalytics\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consentService: ConsentService, window: Record | null, undefined: IGoogleAnalyticsSettings)\n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/google-analytics-sync.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consentService\n \n \n ConsentService\n \n \n \n No\n \n \n \n \n window\n \n \n Record | null\n \n \n \n No\n \n \n \n \n \n \n IGoogleAnalyticsSettings\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/google-analytics-sync.service.ts:25\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n toggleGoogleAnalytics\n \n \n \n \n \n \n \n toggleGoogleAnalytics(disabled: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/google-analytics-sync.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n disabled\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/google-analytics-sync.service.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/google-analytics-sync.service.ts:10\n \n \n\n\n \n \n\n\n \n\n\n \n import { Inject, Injectable, OnDestroy } from '@angular/core';\nimport { IGoogleAnalyticsSettings, NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN, NGX_WINDOW } from 'ngx-google-analytics';\nimport { Subscription } from 'rxjs';\n\nimport { ConsentService } from './consent.service';\n\n\n@Injectable()\nexport class GoogleAnalyticsSyncService implements OnDestroy {\n private readonly token: string;\n private readonly subscriptions = new Subscription();\n\n constructor(\n consentService: ConsentService,\n @Inject(NGX_WINDOW) private readonly window: Record | null,\n @Inject(NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN) { trackingCode }: IGoogleAnalyticsSettings\n ) {\n this.token = trackingCode;\n\n this.subscriptions.add(consentService.consentChange.subscribe(\n consent => this.toggleGoogleAnalytics(consent === 'rescinded')\n ));\n }\n\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n private toggleGoogleAnalytics(disabled: boolean): void {\n if (this.window) {\n this.window[`ga-disable-${this.token}`] = disabled;\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/InfoButtonComponent.html":{"url":"components/InfoButtonComponent.html","title":"component - InfoButtonComponent","body":"\n \n\n\n\n\n\n Components\n \n InfoButtonComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts\n\n\n\n \n Description\n \n \n Info button component: Information icon displays project details when clicked.\n\n \n\n\n \n Implements\n \n \n OnDestroy\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-info-button\n \n\n \n styleUrls\n ./info-button.component.scss\n \n\n\n\n \n templateUrl\n ./info-button.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n launchInfoDialog\n \n \n ngOnDestroy\n \n \n onDialogButtonClick\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n documentationUrl\n \n \n infoTitle\n \n \n videoID\n \n \n \n \n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialog: MatDialog, infoButtonService: InfoButtonService)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts:31\n \n \n\n \n \n Creates an instance of info button component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dialog\n \n \n MatDialog\n \n \n \n No\n \n \n \n Reference to the dialog creation service.\n\n \n \n \n infoButtonService\n \n \n InfoButtonService\n \n \n \n No\n \n \n \n Reference to the info button service\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n documentationUrl\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts:29\n \n \n \n \n \n \n \n \n \n infoTitle\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts:22\n \n \n \n \n Title of the info dialog\n\n \n \n \n \n \n \n \n \n \n videoID\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts:27\n \n \n \n \n Whether the information is for the RUI or EUI\n\n \n \n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n launchInfoDialog\n \n \n \n \n \n \nlaunchInfoDialog(data: PanelData)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts:58\n \n \n\n\n \n \n Opens the info dialogue with the project details\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n PanelData\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts:51\n \n \n\n\n \n \n Unsubscribe to the observable when the component\nis destroyed\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n onDialogButtonClick\n \n \n \n \n \n \nonDialogButtonClick()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts:76\n \n \n\n\n \n \n Detects button click and updates panel data\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts:31\n \n \n\n\n \n \n\n\n\n\n\n \n import { Component, Input, OnDestroy } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Subscription } from 'rxjs';\n\nimport { PanelData } from '../info-button/info-button.service';\nimport { InfoDialogComponent } from '../info-dialog/info-dialog.component';\nimport { InfoButtonService } from './info-button.service';\n\n\n/**\n * Info button component: Information icon displays project details when clicked.\n */\n@Component({\n selector: 'ccf-info-button',\n templateUrl: './info-button.component.html',\n styleUrls: ['./info-button.component.scss']\n})\nexport class InfoButtonComponent implements OnDestroy {\n /**\n * Title of the info dialog\n */\n @Input() infoTitle = '';\n\n /**\n * Whether the information is for the RUI or EUI\n */\n @Input() videoID: string;\n\n @Input() documentationUrl: string;\n\n private readonly subscriptions = new Subscription();\n\n /**\n * Creates an instance of info button component.\n *\n * @param dialog Reference to the dialog creation service.\n * @param infoButtonService Reference to the info button service\n */\n constructor(private readonly dialog: MatDialog, private readonly infoButtonService: InfoButtonService) {\n this.subscriptions.add(infoButtonService.panelContent.subscribe(data => {\n if (data.content.length) {\n this.launchInfoDialog(data);\n }\n }));\n }\n\n /**\n * Unsubscribe to the observable when the component\n * is destroyed\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n /**\n * Opens the info dialogue with the project details\n */\n launchInfoDialog(data: PanelData): void {\n if (this.dialog.openDialogs.length == 0) { //Prevent multiple dialogs from opening\n this.dialog.open(InfoDialogComponent, {\n autoFocus: false,\n panelClass: 'modal-animated',\n width: '72rem',\n data: {\n title: data.infoTitle,\n content: data.content,\n videoID: data.videoID\n }\n });\n }\n }\n\n /**\n * Detects button click and updates panel data\n */\n onDialogButtonClick(): void {\n this.infoButtonService.updateData(this.documentationUrl, this.videoID, this.infoTitle);\n }\n}\n\n \n\n \n \n \n info\n \n\n \n\n \n \n ./info-button.component.scss\n \n .info-button-wrapper {\n border-radius: 0.25rem;\n padding: 0.65rem;\n transition: 0.6s;\n\n .ccf-info-button {\n cursor: pointer;\n transition: color .6s;\n font-size: 1.5rem;\n vertical-align: sub;\n }\n \n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' info '\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'InfoButtonComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/InfoButtonModule.html":{"url":"modules/InfoButtonModule.html","title":"module - InfoButtonModule","body":"\n \n\n\n\n\n Modules\n InfoButtonModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_InfoButtonModule\n\n\n\ncluster_InfoButtonModule_exports\n\n\n\ncluster_InfoButtonModule_declarations\n\n\n\ncluster_InfoButtonModule_imports\n\n\n\n\nInfoButtonComponent\n\nInfoButtonComponent\n\n\n\nInfoButtonModule\n\nInfoButtonModule\n\nInfoButtonModule -->\n\nInfoButtonComponent->InfoButtonModule\n\n\n\n\n\nInfoButtonComponent \n\nInfoButtonComponent \n\nInfoButtonComponent -->\n\nInfoButtonModule->InfoButtonComponent \n\n\n\n\n\nInfoDialogModule\n\nInfoDialogModule\n\nInfoButtonModule -->\n\nInfoDialogModule->InfoButtonModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/info/info-button/info-button.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n InfoButtonComponent\n \n \n \n \n Imports\n \n \n InfoDialogModule\n \n \n \n \n Exports\n \n \n InfoButtonComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\nimport { InfoButtonComponent } from './info-button.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { InfoDialogModule } from '../info-dialog/info-dialog.module';\n\n@NgModule({\n declarations: [InfoButtonComponent],\n imports: [CommonModule, InfoDialogModule, MatIconModule, HttpClientModule],\n exports: [InfoButtonComponent]\n})\nexport class InfoButtonModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/InfoButtonService.html":{"url":"injectables/InfoButtonService.html","title":"injectable - InfoButtonService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n InfoButtonService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n panelContent\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n parseMarkdown\n \n \n updateData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(http: HttpClient)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts:31\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n http\n \n \n HttpClient\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n parseMarkdown\n \n \n \n \n \n \nparseMarkdown(data: string)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts:52\n \n \n\n\n \n \n Function to parse the markdown file and convert to\ndocumentation content used by the info-dialog panels\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n Markdown file sent as a string after reading it\n\n \n \n \n \n \n \n \n \n Returns : DocumentationContent[]\n\n \n \n array of DocumentationContent\n\n \n \n \n \n \n \n \n \n \n \n \n updateData\n \n \n \n \n \n \nupdateData(url: string, videoID: string, infoTitle: string)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts:38\n \n \n\n\n \n \n Read the markdown file to split it by h1 tags and update the panel title and videoID.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n videoID\n \n string\n \n\n \n No\n \n\n\n \n \n infoTitle\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n panelContent\n \n \n \n \n \n \n Type : BehaviorSubject\n\n \n \n \n \n Default value : new BehaviorSubject({ content: [], infoTitle: '', videoID: '' })\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts:31\n \n \n\n \n \n Subject to send the documentation data to the component when its done processing\n\n \n \n\n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\n\n/**\n * The structure to define how each documentation panel\n * should look like in the info dialog\n */\n\nexport interface DocumentationContent {\n /** Title of the panel */\n title: string;\n\n /** Content inside the panel */\n content: string;\n}\n\nexport interface PanelData {\n content: DocumentationContent[];\n infoTitle: string;\n videoID: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InfoButtonService {\n\n /** Subject to send the documentation data to the component when its done processing */\n panelContent: BehaviorSubject = new BehaviorSubject({ content: [], infoTitle: '', videoID: '' });\n\n constructor(private readonly http: HttpClient) { }\n\n /**\n * Read the markdown file to split it by h1 tags and update the panel title and videoID.\n */\n updateData(url: string, videoID: string, infoTitle: string): void {\n this.http.get(url, { responseType: 'text' }).subscribe((data: string) => {\n const panelContent: PanelData = { content: this.parseMarkdown(data), infoTitle: infoTitle, videoID: videoID };\n this.panelContent.next(panelContent);\n });\n }\n\n /**\n * Function to parse the markdown file and convert to\n * documentation content used by the info-dialog panels\n *\n * @param data Markdown file sent as a string after reading it\n * @returns array of DocumentationContent\n */\n parseMarkdown(data: string): DocumentationContent[] {\n const markdownContent: DocumentationContent[] = [];\n const splitByHeaderTag: string[] = data.split('# ');\n for (const split of splitByHeaderTag) {\n if (split.length) {\n const newLine = split.includes('\\n\\n') ? '\\n\\n' : '\\r\\n\\r\\n';\n const headerAndContent: string[] = split.split(newLine);\n markdownContent.push({\n title: headerAndContent[0],\n content: headerAndContent.splice(1).join(newLine)\n });\n }\n }\n return markdownContent;\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/InfoDialogComponent.html":{"url":"components/InfoDialogComponent.html","title":"component - InfoDialogComponent","body":"\n \n\n\n\n\n\n Components\n \n InfoDialogComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts\n\n\n\n \n Description\n \n \n This component handles displaying and hiding a full screen modal / overlay that displays information about the project.\n\n \n\n\n \n Implements\n \n \n OnInit\n \n\n\n\n Metadata\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-info-dialog\n \n\n \n styleUrls\n ./info-dialog.component.scss\n \n\n\n\n \n templateUrl\n ./info-dialog.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n data\n \n \n Public\n dialogRef\n \n \n documentationContents\n \n \n infoTitle\n \n \n videoID\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n close\n \n \n ngOnInit\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dialogRef: MatDialogRef, data: InfoDialogData)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts:34\n \n \n\n \n \n Creates an instance of info dialog component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dialogRef\n \n \n MatDialogRef\n \n \n \n No\n \n \n \n A reference to the dialog that this component creates, used to call the dialog's methods\n\n \n \n \n data\n \n \n InfoDialogData\n \n \n \n No\n \n \n \n Data being injected into the dialog\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n close\n \n \n \n \n \n \nclose()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts:62\n \n \n\n\n \n \n Closes info dialog component\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts:53\n \n \n\n\n \n \n load the youtube player api in on init\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n data\n \n \n \n \n \n \n Type : InfoDialogData\n\n \n \n \n \n Decorators : \n \n \n @Inject(MAT_DIALOG_DATA)\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts:43\n \n \n\n \n \n Data being injected into the dialog\n \n \n\n \n \n \n \n \n \n \n \n Public\n dialogRef\n \n \n \n \n \n \n Type : MatDialogRef\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts:42\n \n \n\n \n \n A reference to the dialog that this component creates, used to call the dialog's methods\n \n \n\n \n \n \n \n \n \n \n \n documentationContents\n \n \n \n \n \n \n Type : DocumentationContent[]\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts:26\n \n \n\n \n \n Documentation contents\n\n \n \n\n \n \n \n \n \n \n \n \n infoTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts:30\n \n \n\n \n \n Title of the dialog\n\n \n \n\n \n \n \n \n \n \n \n \n videoID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts:34\n \n \n\n \n \n URL for video\n\n \n \n\n \n \n\n\n\n\n\n \n import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DocumentationContent } from '../info-button/info-button.service';\n\n/**\n * Data model for the dialog input\n */\nexport interface InfoDialogData {\n content: DocumentationContent[];\n title: string;\n videoID: string;\n}\n\n/**\n * This component handles displaying and hiding a full screen modal / overlay that displays information about the project.\n */\n@Component({\n selector: 'ccf-info-dialog',\n templateUrl: './info-dialog.component.html',\n styleUrls: ['./info-dialog.component.scss']\n})\nexport class InfoDialogComponent implements OnInit {\n /**\n * Documentation contents\n */\n documentationContents: DocumentationContent[];\n /**\n * Title of the dialog\n */\n infoTitle: string;\n /**\n * URL for video\n */\n videoID: string;\n /**\n * Creates an instance of info dialog component.\n *\n * @param dialogRef A reference to the dialog that this component creates, used to call the dialog's methods\n * @param data Data being injected into the dialog\n */\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: InfoDialogData,\n ) {\n this.documentationContents = data.content || [];\n this.infoTitle = data.title || '';\n this.videoID = data.videoID;\n }\n\n /**\n * load the youtube player api in on init\n */\n ngOnInit(): void {\n const tag = document.createElement('script');\n tag.src = 'https://www.youtube.com/iframe_api';\n document.body.appendChild(tag);\n }\n\n /**\n * Closes info dialog component\n */\n close(): void {\n document.getElementsByClassName('modal-animated')[0]?.classList.add('modal-animate-fade-out');\n\n setTimeout(() => {\n this.dialogRef.close();\n }, 250);\n }\n}\n\n \n\n \n \n \n \n \n {{infoTitle}}\n \n clear\n \n \n \n \n \n \n \n {{content.title}}\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n ./info-dialog.component.scss\n \n ::ng-deep .mat-dialog-container {\n padding: 0;\n}\n\n.rui-about.wrapper {\n .container {\n .content {\n padding: 3rem;\n text-align: left;\n\n .header {\n display: flex;\n justify-content: space-between;\n height: 3rem;\n margin-bottom: 2.25rem;\n position: relative;\n }\n }\n\n .description {\n font-size: 0.875rem;\n line-height: 1.5rem;\n margin-bottom: 1rem;\n }\n\n .close {\n .close-icon {\n cursor: pointer;\n height: 3rem;\n width: 3rem;\n line-height: 3rem;\n text-align: center;\n transition: .6s;\n }\n }\n\n .title {\n font-size: 1.5rem;\n margin: 0 auto;\n line-height: 3rem;\n height: 3rem;\n justify-self: center;\n display: flex;\n }\n\n .subtitle {\n font-size: 1rem;\n margin-top: 0;\n margin-bottom: 0.5rem;\n }\n\n .panel {\n margin-bottom: 1.5rem;\n\n .no-header-margin {\n font-weight: 300;\n margin-bottom: 0;\n }\n\n .top-padding {\n display: flex;\n\n markdown ::ng-deep ul {\n margin-top: 0;\n padding-left: 1.5rem;\n }\n }\n }\n\n .dialog-content {\n height: 50rem;\n min-height: 10rem;\n\n .variable-binding {\n font-weight: 300;\n display: flex;\n\n &.first {\n padding-right: 1rem;\n width: 73%;\n }\n\n ::ng-deep ul {\n margin: 0;\n }\n\n ::ng-deep img {\n margin-left: 1rem;\n float: right;\n }\n }\n\n .video-player {\n position: relative;\n width: 50%;\n\n ::ng-deep iframe {\n width: 100%;\n height: 100%;\n }\n }\n }\n\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{infoTitle}} clear {{content.title}} '\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'InfoDialogComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/InfoDialogData.html":{"url":"interfaces/InfoDialogData.html","title":"interface - InfoDialogData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n InfoDialogData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts\n \n\n\n \n Description\n \n \n Data model for the dialog input\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n title\n \n \n \n \n videoID\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: DocumentationContent[]\n\n \n \n\n\n \n \n Type : DocumentationContent[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n videoID\n \n \n \n \n \n \n \n \n videoID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DocumentationContent } from '../info-button/info-button.service';\n\n/**\n * Data model for the dialog input\n */\nexport interface InfoDialogData {\n content: DocumentationContent[];\n title: string;\n videoID: string;\n}\n\n/**\n * This component handles displaying and hiding a full screen modal / overlay that displays information about the project.\n */\n@Component({\n selector: 'ccf-info-dialog',\n templateUrl: './info-dialog.component.html',\n styleUrls: ['./info-dialog.component.scss']\n})\nexport class InfoDialogComponent implements OnInit {\n /**\n * Documentation contents\n */\n documentationContents: DocumentationContent[];\n /**\n * Title of the dialog\n */\n infoTitle: string;\n /**\n * URL for video\n */\n videoID: string;\n /**\n * Creates an instance of info dialog component.\n *\n * @param dialogRef A reference to the dialog that this component creates, used to call the dialog's methods\n * @param data Data being injected into the dialog\n */\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: InfoDialogData,\n ) {\n this.documentationContents = data.content || [];\n this.infoTitle = data.title || '';\n this.videoID = data.videoID;\n }\n\n /**\n * load the youtube player api in on init\n */\n ngOnInit(): void {\n const tag = document.createElement('script');\n tag.src = 'https://www.youtube.com/iframe_api';\n document.body.appendChild(tag);\n }\n\n /**\n * Closes info dialog component\n */\n close(): void {\n document.getElementsByClassName('modal-animated')[0]?.classList.add('modal-animate-fade-out');\n\n setTimeout(() => {\n this.dialogRef.close();\n }, 250);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/InfoDialogModule.html":{"url":"modules/InfoDialogModule.html","title":"module - InfoDialogModule","body":"\n \n\n\n\n\n Modules\n InfoDialogModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_InfoDialogModule\n\n\n\ncluster_InfoDialogModule_exports\n\n\n\ncluster_InfoDialogModule_declarations\n\n\n\n\nInfoDialogComponent\n\nInfoDialogComponent\n\n\n\nInfoDialogModule\n\nInfoDialogModule\n\nInfoDialogModule -->\n\nInfoDialogComponent->InfoDialogModule\n\n\n\n\n\nInfoDialogComponent \n\nInfoDialogComponent \n\nInfoDialogComponent -->\n\nInfoDialogModule->InfoDialogComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n InfoDialogComponent\n \n \n \n \n Exports\n \n \n InfoDialogComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InfoDialogComponent } from './info-dialog.component';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MarkdownModule } from 'ngx-markdown';\nimport { YouTubePlayerModule } from '@angular/youtube-player';\n\n\n@NgModule({\n declarations: [InfoDialogComponent],\n imports: [CommonModule, MatDialogModule, MatIconModule, MatExpansionModule, YouTubePlayerModule, MarkdownModule.forRoot({})],\n exports: [InfoDialogComponent]\n})\nexport class InfoDialogModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/InjectorDelegateDataSourceService.html":{"url":"injectables/InjectorDelegateDataSourceService.html","title":"injectable - InjectorDelegateDataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n InjectorDelegateDataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/injector-delegate.service.ts\n \n\n\n\n \n Extends\n \n \n DelegateDataSource\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n impl$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n Abstract\n selectToken\n \n \n Protected\n forwardCall\n \n \n getAggregateResults\n \n \n getCellTypeTermOccurences\n \n \n getCellTypeTreeModel\n \n \n getDatabaseStatus\n \n \n getDatasetTechnologyNames\n \n \n getOntologyTermOccurences\n \n \n getOntologyTreeModel\n \n \n getProviderNames\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getScene\n \n \n getTissueBlockResults\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(globalConfig: GlobalConfigState, injector: Injector)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/injector-delegate.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n globalConfig\n \n \n GlobalConfigState\n \n \n \n No\n \n \n \n \n injector\n \n \n Injector\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n Abstract\n selectToken\n \n \n \n \n \n \n \n selectToken(config: C)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/injector-delegate.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n C\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : ProviderToken\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n forwardCall\n \n \n \n \n \n \n \n forwardCall(method: K, args: Parameters>)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:93\n\n \n \n\n \n \n Type parameters :\n \n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n K\n \n\n \n No\n \n\n\n \n \n args\n \n Parameters>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:52\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseStatus\n \n \n \n \n \n \ngetDatabaseStatus()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:36\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n \n \ngetDatasetTechnologyNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:44\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:68\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:48\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getProviderNames\n \n \n \n \n \n \ngetProviderNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:40\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:56\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:80\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:76\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:60\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n impl$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Inherited from DelegateDataSource\n\n \n \n \n \n Defined in DelegateDataSource:11\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, Injector, ProviderToken } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs/operators';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSourceLike, DelegateDataSource } from './data-source';\n\n\n@Injectable()\nexport abstract class InjectorDelegateDataSourceService extends DelegateDataSource {\n readonly impl$: Observable;\n\n constructor(\n globalConfig: GlobalConfigState,\n injector: Injector\n ) {\n super();\n\n this.impl$ = globalConfig.config$.pipe(\n source => source as Observable,\n map(config => this.selectToken(config)),\n distinctUntilChanged(),\n map(token => injector.get(token)),\n shareReplay(1)\n );\n }\n\n protected abstract selectToken(config: C): ProviderToken;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LearnMore.html":{"url":"classes/LearnMore.html","title":"class - LearnMore","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LearnMore\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[CallToAction] Learn More'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class LearnMore {\n static readonly type='[CallToAction] Learn More';\n}\n\nexport class OpenDialog {\n static readonly type='[CallToAction] Open Dialog';\n}\n\nexport class CloseDialog {\n static readonly type='[CallToAction] Close Dialog';\n}\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LocalStorageService.html":{"url":"injectables/LocalStorageService.html","title":"injectable - LocalStorageService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n LocalStorageService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts\n \n\n\n \n Description\n \n \n Service to handle local storage\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n storage\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n clear\n \n \n getItem\n \n \n key\n \n \n removeItem\n \n \n setItem\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n length\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n clear\n \n \n \n \n \n \nclear()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts:90\n \n \n\n\n \n \n Clears all storage\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n getItem\n \n \n \n \n \n \ngetItem(key: string, defaultValue?: D)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts:60\n \n \n\n \n \n Type parameters :\n \n D\n \n \n \n\n \n \n Gets value based on key, also returns default if it fails\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n \n defaultValue\n \n D\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : string | D\n\n \n \n the value\n\n \n \n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \nkey(index: number)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts:50\n \n \n\n\n \n \n Gets value based on key index\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string | null\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeItem\n \n \n \n \n \n \nremoveItem(key: string)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts:83\n \n \n\n\n \n \n removes value based on key\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setItem\n \n \n \n \n \n \nsetItem(key: string, value: string)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts:70\n \n \n\n\n \n \n sets a key-value pairin local storage\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n \n value\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n true or false based on success/failure\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n storage\n \n \n \n \n \n \n Default value : (() => {\n // Slightly modified from https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API\n let storage: Storage | undefined;\n try {\n storage = window.localStorage;\n const x = '__storage_test__';\n storage.setItem(x, x);\n storage.removeItem(x);\n\n return storage;\n } catch (error) {\n const full = error instanceof DOMException && (\n // everything except Firefox\n error.code === 22 ||\n // Firefox\n error.code === 1014 ||\n // test name field too, because code might not be present\n // everything except Firefox\n error.name === 'QuotaExceededError' ||\n // Firefox\n error.name === 'NS_ERROR_DOM_QUOTA_REACHED'\n ) && (storage && storage.length !== 0);\n\n return full ? storage : undefined;\n }\n })()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts:11\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n length\n \n \n\n \n \n getlength()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts:41\n \n \n \n \n gets length of storage list\n\n\n \n Returns : number\n\n \n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@angular/core';\n\n\n/**\n * Service to handle local storage\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class LocalStorageService {\n static storage = (() => {\n // Slightly modified from https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API\n let storage: Storage | undefined;\n try {\n storage = window.localStorage;\n const x = '__storage_test__';\n storage.setItem(x, x);\n storage.removeItem(x);\n\n return storage;\n } catch (error) {\n const full = error instanceof DOMException && (\n // everything except Firefox\n error.code === 22 ||\n // Firefox\n error.code === 1014 ||\n // test name field too, because code might not be present\n // everything except Firefox\n error.name === 'QuotaExceededError' ||\n // Firefox\n error.name === 'NS_ERROR_DOM_QUOTA_REACHED'\n ) && (storage && storage.length !== 0);\n\n return full ? storage : undefined;\n }\n })();\n\n /**\n * gets length of storage list\n */\n get length(): number {\n return LocalStorageService.storage?.length ?? 0;\n }\n\n /**\n * Gets value based on key index\n * @param index\n * @returns\n */\n key(index: number): string | null {\n return LocalStorageService.storage?.key(index) ?? null;\n }\n\n /**\n * Gets value based on key, also returns default if it fails\n * @param key\n * @param defaultValue\n * @returns the value\n */\n getItem(key: string, defaultValue?: D): string | D {\n return LocalStorageService.storage?.getItem(key) ?? defaultValue ?? null as D;\n }\n\n /**\n * sets a key-value pairin local storage\n * @param key\n * @param value\n * @returns true or false based on success/failure\n */\n setItem(key: string, value: string): boolean {\n try {\n LocalStorageService.storage?.setItem(key, value);\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n /**\n * removes value based on key\n * @param key\n */\n removeItem(key: string): void {\n LocalStorageService.storage?.removeItem(key);\n }\n\n /**\n * Clears all storage\n */\n clear(): void {\n LocalStorageService.storage?.clear();\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LocalStorageSyncService.html":{"url":"injectables/LocalStorageSyncService.html","title":"injectable - LocalStorageSyncService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n LocalStorageSyncService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n Optional\n storage\n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n loadConsent\n \n \n ngOnDestroy\n \n \n Private\n saveConsent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consentService: ConsentService, key: string)\n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consentService\n \n \n ConsentService\n \n \n \n No\n \n \n \n \n key\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n loadConsent\n \n \n \n \n \n \n \n loadConsent()\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts:36\n \n \n\n\n \n \n\n \n Returns : Consent\n\n \n \n \n \n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts:32\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n saveConsent\n \n \n \n \n \n \n \n saveConsent(value: Consent)\n \n \n\n\n \n \n Defined in projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n Consent\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n Optional\n storage\n \n \n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts:16\n \n \n\n\n \n \n\n\n \n\n\n \n import { Inject, Injectable, InjectionToken, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { Consent, ConsentService } from './consent.service';\n\n\nexport const LOCAL_STORAGE_CONSENT_KEY = new InjectionToken('Key under which consent is stored', {\n providedIn: 'root',\n factory: () => 'ALLOW_TELEMETRY'\n});\n\n\n@Injectable()\nexport class LocalStorageSyncService implements OnDestroy {\n private readonly storage?: typeof localStorage;\n private readonly subscriptions = new Subscription();\n\n constructor(\n consentService: ConsentService,\n @Inject(LOCAL_STORAGE_CONSENT_KEY) private readonly key: string\n ) {\n try {\n this.storage = localStorage;\n } catch (_error) { /* Ignored */ }\n\n consentService.setConsent(this.loadConsent());\n this.subscriptions.add(\n consentService.consentChange.subscribe(consent => this.saveConsent(consent))\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n private loadConsent(): Consent {\n const rawValue = this.storage?.getItem?.(this.key);\n if (rawValue == null) {\n return 'not-set';\n }\n\n const value = rawValue.trim().toLowerCase();\n switch (value) {\n case 'given': /* fallthrough */\n case 'rescinded':\n return value;\n default:\n return 'not-set';\n }\n }\n\n private saveConsent(value: Consent): void {\n this.storage?.setItem?.(this.key, value);\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MousePositionTrackerModule.html":{"url":"modules/MousePositionTrackerModule.html","title":"module - MousePositionTrackerModule","body":"\n \n\n\n\n\n Modules\n MousePositionTrackerModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/analytics/mouse-position-tracker.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { DOCUMENT } from '@angular/common';\nimport { Inject, NgModule } from '@angular/core';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { map, throttleTime } from 'rxjs/operators';\n\n\nexport function trackMousePosition(el: HTMLElement, ga: GoogleAnalyticsService): Subscription {\n const formatData = (event: MouseEvent) => {\n const { clientWidth, clientHeight } = el;\n const { clientX, clientY } = event;\n const points = [clientX, clientY, clientWidth, clientHeight];\n return points.join('_');\n };\n\n const events = fromEvent(el, 'mousemove').pipe(\n throttleTime(1000),\n map(formatData)\n );\n\n return events.subscribe(data => ga.event('webpage', 'mousemove', data));\n}\n\n\n@NgModule()\nexport class MousePositionTrackerModule {\n constructor(\n // NOTE: Angular compiler fails when document is typed properly?!\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n @Inject(DOCUMENT) document: any,\n ga: GoogleAnalyticsService\n ) {\n if (document) {\n trackMousePosition((document as Document).body, ga);\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"directives/NumberDirective.html":{"url":"directives/NumberDirective.html","title":"directive - NumberDirective","body":"\n \n\n\n\n\n\n\n\n Directives\n NumberDirective\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/directives/numbers-only/numbers-only.directive.ts\n \n\n\n \n Description\n \n \n Directive for restricting an input element to integer only values.\n\n \n\n\n\n \n Metadata\n \n \n\n \n Selector\n input[ccfNumbersOnly]\n \n\n \n \n \n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n onInputChange\n \n \n \n \n\n\n\n\n \n \n HostListeners\n \n \n \n \n \n \n input\n \n \n \n \n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(el: ElementRef)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/directives/numbers-only/numbers-only.directive.ts:9\n \n \n\n \n \n Creates an instance of number directive.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n el\n \n \n ElementRef\n \n \n \n No\n \n \n \n Reference to input element\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n \n HostListeners \n \n \n \n \n \n \n input\n \n \n \n \n \n \n \n Arguments : '$event' \n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/directives/numbers-only/numbers-only.directive.ts:23\n \n \n\n\n \n \n Listens to input changes and updates the text to only include numbers.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n event\n\n \n No\n \n\n\n \n The input event\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n onInputChange\n \n \n \n \n \n \nonInputChange(event: Event)\n \n \n\n \n \n Decorators : \n \n @HostListener('input', ['$event'])\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/directives/numbers-only/numbers-only.directive.ts:23\n \n \n\n\n \n \n Listens to input changes and updates the text to only include numbers.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n event\n \n Event\n \n\n \n No\n \n\n\n \n The input event\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n \n\n\n \n import { Directive, ElementRef, HostListener } from '@angular/core';\n\n/**\n * Directive for restricting an input element to integer only values.\n */\n@Directive({\n selector: 'input[ccfNumbersOnly]'\n})\nexport class NumberDirective {\n /**\n * Creates an instance of number directive.\n *\n * @param el Reference to input element\n */\n constructor(private el: ElementRef) { }\n\n /**\n * Listens to input changes and updates the text to only include numbers.\n *\n * @param event The input event\n */\n @HostListener('input', ['$event'])\n onInputChange(event: Event): void {\n const initalValue = this.el.nativeElement.value;\n this.el.nativeElement.value = initalValue.replace(/[^0-9]*/g, '');\n if (initalValue !== this.el.nativeElement.value) {\n event.stopPropagation();\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/NumbersOnlyModule.html":{"url":"modules/NumbersOnlyModule.html","title":"module - NumbersOnlyModule","body":"\n \n\n\n\n\n Modules\n NumbersOnlyModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_NumbersOnlyModule\n\n\n\ncluster_NumbersOnlyModule_exports\n\n\n\ncluster_NumbersOnlyModule_declarations\n\n\n\n\nNumberDirective\n\nNumberDirective\n\n\n\nNumbersOnlyModule\n\nNumbersOnlyModule\n\nNumbersOnlyModule -->\n\nNumberDirective->NumbersOnlyModule\n\n\n\n\n\nNumberDirective \n\nNumberDirective \n\nNumberDirective -->\n\nNumbersOnlyModule->NumberDirective \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/directives/numbers-only/numbers-only.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n NumberDirective\n \n \n \n \n Exports\n \n \n NumberDirective\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\n\nimport { NumberDirective } from './numbers-only.directive';\n\n\n@NgModule({\n declarations: [NumberDirective],\n exports: [NumberDirective]\n})\nexport class NumbersOnlyModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/OpacitySliderComponent.html":{"url":"components/OpacitySliderComponent.html","title":"component - OpacitySliderComponent","body":"\n \n\n\n\n\n\n Components\n \n OpacitySliderComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts\n\n\n\n \n Description\n \n \n Slider for setting opacity on an anatomical structure\n\n \n\n\n \n Implements\n \n \n OnInit\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-opacity-slider\n \n\n \n styleUrls\n ./opacity-slider.component.scss\n \n\n\n\n \n templateUrl\n ./opacity-slider.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n prevOpacity\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n changeOpacity\n \n \n ngOnInit\n \n \n reset\n \n \n resetOpacity\n \n \n toggleVisibility\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n opacity\n \n \n visible\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n opacityChange\n \n \n opacityReset\n \n \n visibilityToggle\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n opacity\n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 20\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:22\n \n \n \n \n The value displayed in the slider\n\n \n \n \n \n \n \n \n \n \n visible\n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : true\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:27\n \n \n \n \n Whether the item is set to visible\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n opacityChange\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:32\n \n \n \n \n Emits the updated opacity when the opacity changes\n\n \n \n \n \n \n \n \n \n \n opacityReset\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:42\n \n \n \n \n Emitter for resetting all opacity values to default\n\n \n \n \n \n \n \n \n \n \n visibilityToggle\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:37\n \n \n \n \n Output of opacity slider component\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-opacity-slider\"\n\n \n \n \n \n Default value : 'ccf-opacity-slider'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n changeOpacity\n \n \n \n \n \n \nchangeOpacity(newOpacity: string)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:63\n \n \n\n\n \n \n Emits opacityChange with the new opacity value\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n newOpacity\n \n string\n \n\n \n No\n \n\n\n \n The updated opacity value\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ngOnInit\n \n \n \n \n \n \nngOnInit()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:46\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n reset\n \n \n \n \n \n \nreset()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:54\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n resetOpacity\n \n \n \n \n \n \nresetOpacity()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:82\n \n \n\n\n \n \n Emits signal to reset the opacity of the item\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n toggleVisibility\n \n \n \n \n \n \ntoggleVisibility()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:71\n \n \n\n\n \n \n Emits signal to toggle the visibility of the item\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-opacity-slider'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:17\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n prevOpacity\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts:44\n \n \n\n\n \n \n\n\n\n\n\n \n import { Component, EventEmitter, HostBinding, Input, Output, OnInit, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * Slider for setting opacity on an anatomical structure\n */\n@Component({\n selector: 'ccf-opacity-slider',\n templateUrl: './opacity-slider.component.html',\n styleUrls: ['./opacity-slider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OpacitySliderComponent implements OnInit {\n\n /**\n * HTML class name\n */\n @HostBinding('class') readonly clsName = 'ccf-opacity-slider';\n\n /**\n * The value displayed in the slider\n */\n @Input() opacity = 20;\n\n /**\n * Whether the item is set to visible\n */\n @Input() visible = true;\n\n /**\n * Emits the updated opacity when the opacity changes\n */\n @Output() readonly opacityChange = new EventEmitter();\n\n /**\n * Output of opacity slider component\n */\n @Output() readonly visibilityToggle = new EventEmitter();\n\n /**\n * Emitter for resetting all opacity values to default\n */\n @Output() readonly opacityReset = new EventEmitter();\n\n prevOpacity: number;\n\n ngOnInit(): void {\n if (this.visible) {\n this.prevOpacity = 0;\n } else {\n this.prevOpacity = 20;\n }\n }\n\n reset(): void {\n this.prevOpacity = 20;\n }\n\n /**\n * Emits opacityChange with the new opacity value\n *\n * @param newOpacity The updated opacity value\n */\n changeOpacity(newOpacity: string): void {\n this.opacity = parseInt(newOpacity, 10);\n this.opacityChange.emit(this.opacity);\n }\n\n /**\n * Emits signal to toggle the visibility of the item\n */\n toggleVisibility(): void {\n const temp = this.opacity;\n this.opacity = this.prevOpacity;\n this.prevOpacity = temp;\n this.visibilityToggle.emit();\n this.opacityChange.emit(this.opacity);\n }\n\n /**\n * Emits signal to reset the opacity of the item\n */\n resetOpacity(): void {\n this.prevOpacity = 0;\n this.opacityReset.emit();\n }\n}\n\n \n\n \n \n \n \n {{opacity}}%\n \n \n \n \n refresh\n \n\n \n\n \n \n ./opacity-slider.component.scss\n \n :host {\n height: 2.25rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 0.1875rem;\n \n\n .slider-box {\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: space-between;\n height: 100%;\n\n .slider-and-label {\n width: 60%;\n display: flex;\n align-items: center;\n height: 100%;\n\n .slider {\n width: 100%;\n height: 100%;\n\n ::ng-deep .mat-slider-wrapper {\n top: 1.125rem;\n }\n \n &.disabled {\n pointer-events: none;\n cursor: not-allowed;\n }\n }\n\n .opacity-value {\n width: 1.5rem;\n margin-left: 0.5rem;\n }\n }\n\n .icons {\n display: flex;\n cursor: pointer !important;\n\n .reset {\n margin-right: 1rem;\n padding: 0.25rem;\n cursor: pointer;\n transition: .6s;\n border-radius: 0.25rem;\n }\n \n .visibility {\n transition: .6s;\n cursor: pointer;\n padding: 0.25rem;\n border-radius: 0.25rem;\n \n &.hidden {\n display: none;\n }\n }\n }\n }\n}\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{opacity}}% refresh '\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'OpacitySliderComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OpacitySliderModule.html":{"url":"modules/OpacitySliderModule.html","title":"module - OpacitySliderModule","body":"\n \n\n\n\n\n Modules\n OpacitySliderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_OpacitySliderModule\n\n\n\ncluster_OpacitySliderModule_declarations\n\n\n\ncluster_OpacitySliderModule_exports\n\n\n\n\nOpacitySliderComponent\n\nOpacitySliderComponent\n\n\n\nOpacitySliderModule\n\nOpacitySliderModule\n\nOpacitySliderModule -->\n\nOpacitySliderComponent->OpacitySliderModule\n\n\n\n\n\nOpacitySliderComponent \n\nOpacitySliderComponent \n\nOpacitySliderComponent -->\n\nOpacitySliderModule->OpacitySliderComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n OpacitySliderComponent\n \n \n \n \n Exports\n \n \n OpacitySliderComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OpacitySliderComponent } from './opacity-slider.component';\nimport { MatSliderModule } from '@angular/material/slider';\n\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatRippleModule } from '@angular/material/core';\n\n@NgModule({\n declarations: [OpacitySliderComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatSliderModule,\n MatRippleModule\n ],\n exports: [OpacitySliderComponent]\n})\nexport class OpacitySliderModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OpenDialog.html":{"url":"classes/OpenDialog.html","title":"class - OpenDialog","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OpenDialog\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '[CallToAction] Open Dialog'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class LearnMore {\n static readonly type='[CallToAction] Learn More';\n}\n\nexport class OpenDialog {\n static readonly type='[CallToAction] Open Dialog';\n}\n\nexport class CloseDialog {\n static readonly type='[CallToAction] Close Dialog';\n}\n\n\n\n \n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OrganInfo.html":{"url":"interfaces/OrganInfo.html","title":"interface - OrganInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OrganInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/organ-selector/organ-selector.component.ts\n \n\n\n \n Description\n \n \n Contains the organ name and url of the icon svg\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n disabled\n \n \n \n Optional\n \n hasSex\n \n \n \n Optional\n \n id\n \n \n \n \n name\n \n \n \n \n organ\n \n \n \n Optional\n \n sex\n \n \n \n Optional\n \n side\n \n \n \n \n src\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n disabled\n \n \n \n \n \n \n \n \n disabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n True if the icon is disabled\n\n \n \n \n \n \n \n \n \n \n hasSex\n \n \n \n \n \n \n \n \n hasSex: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n True if applies to both sexes\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n UBERON id for the organ\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Label to display for the organ\n\n \n \n \n \n \n \n \n \n \n organ\n \n \n \n \n \n \n \n \n organ: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Name of the organ (to help match organs with left / right)\n\n \n \n \n \n \n \n \n \n \n sex\n \n \n \n \n \n \n \n \n sex: \"male\" | \"female\"\n\n \n \n\n\n \n \n Type : \"male\" | \"female\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Used for single sex only organs\n\n \n \n \n \n \n \n \n \n \n side\n \n \n \n \n \n \n \n \n side: \"left\" | \"right\"\n\n \n \n\n\n \n \n Type : \"left\" | \"right\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Used for paired organs\n\n \n \n \n \n \n \n \n \n \n src\n \n \n \n \n \n \n \n \n src: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Used to fetch the url of the organ icon\n\n \n \n \n \n \n \n\n\n \n import {\n AfterViewInit, Component, ElementRef, EventEmitter, HostBinding, Input,\n OnChanges, OnDestroy, Output, SimpleChanges, ViewChild\n} from '@angular/core';\nimport { ResizeSensor } from 'css-element-queries';\n\n/**\n * All organs that will eventually be displayed in the app\n */\nexport const ALL_POSSIBLE_ORGANS = [\n {\n src: 'app:skin',\n organ: 'Skin',\n name: 'Skin',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002097'\n },\n {\n src: 'app:brain',\n organ: 'Brain',\n name: 'Brain',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000955'\n },\n {\n disabled: true,\n src: 'app:lymph-nodes',\n organ: 'Lymph Node',\n name: 'Lymph Node',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000029'\n },\n {\n src: 'app:lymph-nodes',\n organ: 'Lymph Node',\n name: 'Lymph Node',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002509'\n },\n {\n disabled: true,\n src: 'app:eye',\n organ: 'Eye',\n name: 'Eye, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000970'\n },\n {\n src: 'app:eye',\n organ: 'Eye',\n name: 'Eye, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004548'\n },\n {\n src: 'app:eye',\n organ: 'Eye',\n name: 'Eye, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004549'\n },\n {\n disabled: true,\n src: 'app:fallopian-tube-left',\n organ: 'Fallopian Tube',\n name: 'Fallopian Tube, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0003889'\n },\n {\n src: 'app:fallopian-tube-left',\n organ: 'Fallopian Tube',\n name: 'Fallopian Tube, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0001303'\n },\n {\n src: 'app:fallopian-tube-right',\n organ: 'Fallopian Tube',\n name: 'Fallopian Tube, R',\n side: 'right',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0001302'\n },\n {\n src: 'app:heart',\n organ: 'Heart',\n name: 'Heart',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000948'\n },\n {\n disabled: true,\n src: 'app:kidney-left',\n organ: 'Kidney',\n name: 'Kidney, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002113'\n },\n {\n src: 'app:kidney-left',\n organ: 'Kidney',\n name: 'Kidney, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004538'\n },\n {\n src: 'app:kidney-right',\n organ: 'Kidney',\n name: 'Kidney, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004539'\n },\n {\n disabled: true,\n src: 'app:knee',\n organ: 'Knee',\n name: 'Knee, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001465'\n },\n {\n src: 'app:knee',\n organ: 'Knee',\n name: 'Knee, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.org/sig/ont/fma/fma24978'\n },\n {\n src: 'app:knee',\n organ: 'Knee',\n name: 'Knee, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.org/sig/ont/fma/fma24977'\n },\n {\n src: 'app:liver',\n organ: 'Liver',\n name: 'Liver',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002107'\n },\n {\n disabled: true,\n src: 'app:lung',\n organ: 'Lung',\n name: 'Lungs',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002048'\n },\n {\n src: 'app:lung',\n organ: 'Lung',\n name: 'Lungs',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001004'\n },\n {\n disabled: true,\n src: 'app:mammary-gland',\n organ: 'Mammary Gland',\n name: 'Mammary Gland, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0001911'\n },\n {\n src: 'app:mammary-gland',\n organ: 'Mammary Gland',\n name: 'Mammary Gland, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.org/sig/ont/fma/fma57991'\n },\n {\n src: 'app:mammary-gland',\n organ: 'Mammary Gland',\n name: 'Mammary Gland, R',\n side: 'right',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.org/sig/ont/fma/fma57987'\n },\n {\n disabled: true,\n src: 'app:ovary-left',\n organ: 'Ovary',\n name: 'Ovary, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0000992'\n },\n {\n src: 'app:ovary-left',\n organ: 'Ovary',\n name: 'Ovary, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.org/sig/ont/fma/fma7214'\n },\n {\n src: 'app:ovary-right',\n organ: 'Ovary',\n name: 'Ovary, R',\n side: 'right',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.org/sig/ont/fma/fma7213'\n },\n {\n src: 'app:larynx',\n organ: 'Larynx',\n name: 'Larynx',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001737'\n },\n {\n src: 'app:main-bronchus',\n organ: 'Main Bronchus',\n name: 'Main Bronchus',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002182'\n },\n {\n disabled: true,\n src: 'app:palatine-tonsil',\n organ: 'Palatine Tonsil',\n name: 'Palatine Tonsil, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002373'\n },\n {\n src: 'app:palatine-tonsil',\n organ: 'Palatine Tonsil',\n name: 'Palatine Tonsil, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.org/sig/ont/fma/fma54974'\n },\n {\n src: 'app:palatine-tonsil',\n organ: 'Palatine Tonsil',\n name: 'Palatine Tonsil, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.org/sig/ont/fma/fma54973'\n },\n {\n src: 'app:pancreas',\n organ: 'Pancreas',\n name: 'Pancreas',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001264'\n },\n {\n src: 'app:pelvis-f',\n organ: 'Pelvis',\n name: 'Pelvis',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001270'\n },\n {\n src: 'app:placenta',\n organ: 'Placenta',\n name: 'Placenta',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0001987'\n },\n {\n src: 'app:prostate',\n organ: 'Prostate',\n name: 'Prostate',\n hasSex: false,\n sex: 'male',\n id: 'http://purl.obolibrary.org/obo/UBERON_0002367',\n disabled: true\n },\n {\n src: 'app:prostate',\n organ: 'Prostate',\n name: 'Prostate',\n hasSex: false,\n sex: 'male',\n id: 'http://purl.obolibrary.org/obo/UBERON_0000079'\n },\n {\n src: 'app:small-intestine',\n organ: 'Small Intestine',\n name: 'Small Intestine',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002108'\n },\n {\n src: 'app:large-intestine',\n organ: 'Large Intestine',\n name: 'Large Intestine',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000059'\n },\n {\n src: 'app:spinal-cord',\n organ: 'Spinal Cord',\n name: 'Spinal Cord',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002240'\n },\n {\n src: 'app:spleen',\n organ: 'Spleen',\n name: 'Spleen',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002106'\n },\n {\n src: 'app:thymus',\n organ: 'Thymus',\n name: 'Thymus',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002370'\n },\n {\n src: 'app:trachea',\n organ: 'Trachea',\n name: 'Trachea',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0003126'\n },\n {\n disabled: true,\n src: 'app:ureter-left',\n organ: 'Ureter',\n name: 'Ureter, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000056'\n },\n {\n src: 'app:ureter-left',\n organ: 'Ureter',\n name: 'Ureter, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001223'\n },\n {\n src: 'app:ureter-right',\n organ: 'Ureter',\n name: 'Ureter, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001222'\n },\n {\n src: 'app:bladder',\n organ: 'Urinary Bladder',\n name: 'Urinary Bladder',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001255'\n },\n {\n src: 'app:uterus',\n organ: 'Uterus',\n name: 'Uterus',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0000995'\n },\n {\n src: 'app:vasculature-thick',\n organ: 'Blood Vasculature',\n name: 'Blood Vasculature',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004537'\n },\n {\n disabled: true,\n src: 'app:vasculature-thick',\n organ: 'Blood Vasculature',\n name: 'Blood Vasculature',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002049'\n }\n].sort((a, b) => a.name.localeCompare(b.name)) as OrganInfo[];\n\n/**\n * All organs which have not been disabled\n */\nexport const ALL_ORGANS = ALL_POSSIBLE_ORGANS.filter(organ => organ.disabled !== true);\n\n/**\n * Contains the organ name and url of the icon svg\n */\nexport interface OrganInfo {\n\n /**\n * Used to fetch the url of the organ icon\n */\n src: string;\n\n /**\n * Label to display for the organ\n */\n name: string;\n\n /**\n * Name of the organ (to help match organs with left / right)\n */\n organ: string;\n\n /**\n * True if the icon is disabled\n */\n disabled?: boolean;\n\n /**\n * Used for paired organs\n */\n side?: 'left' | 'right';\n\n /**\n * True if applies to both sexes\n */\n hasSex?: boolean;\n\n /**\n * Used for single sex only organs\n */\n sex?: 'male' | 'female';\n\n /**\n * UBERON id for the organ\n */\n id?: string;\n}\n\n/**\n * Organ carousel for selecting the organ to be viewed\n */\n@Component({\n selector: 'ccf-organ-selector',\n templateUrl: './organ-selector.component.html',\n styleUrls: ['./organ-selector.component.scss']\n})\nexport class OrganSelectorComponent implements AfterViewInit, OnChanges, OnDestroy {\n /** HTML class */\n @HostBinding('class') readonly clsName = 'ccf-organ-selector';\n\n @ViewChild('carouselContainer', { static: true }) carouselContainer: ElementRef;\n @ViewChild('itemlist', { static: true }) itemList: ElementRef;\n @ViewChild('itemcontainer', { static: true }) itemContainer: ElementRef;\n\n /**\n * If multiple selections should be allowed\n */\n @Input() multiselect = false;\n\n @Input() displayErrors = false;\n\n /**\n * List of organs in the carousel\n */\n @Input() organList: OrganInfo[] = ALL_ORGANS;\n\n /**\n * Currently selected organ\n */\n @Input() selectedOrgans: OrganInfo[] = [];\n\n /**\n * If the organ selector is expanded\n */\n @Input() expanded = false;\n\n /**\n * Emits the name of the organ when selected\n */\n @Output() readonly organsChanged = new EventEmitter();\n\n /**\n * Determines whether the carousel is at the beginning\n */\n onLeft = true;\n\n /**\n * Determines whether the carousel is at the end\n */\n onRight = false;\n\n /**\n * Handles scrolling behavior\n */\n timeoutHandler?: unknown;\n\n /**\n * Distance the carousel moves in each shift (px)\n */\n step = 72;\n\n /**\n * Detects resizing of carousel\n */\n private sensor: ResizeSensor;\n\n // eslint-disable-next-line\n @Input()\n set occurenceData(value: Record) {\n // eslint-disable-next-line\n this._occurenceData = value;\n }\n\n get occurenceData(): Record {\n // eslint-disable-next-line\n return this._occurenceData;\n }\n\n private _occurenceData: Record;\n\n /**\n * Set resize sensor on carousel\n */\n ngAfterViewInit(): void {\n const { carouselContainer } = this;\n this.sensor = new ResizeSensor(carouselContainer.nativeElement, () => {\n this.set();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('organList' in changes) {\n this.set();\n }\n }\n\n /**\n * Detaches resize sensor\n */\n ngOnDestroy(): void {\n this.sensor.detach();\n }\n\n /**\n * Decides whether or not an error has occured,\n * used to display or hide error message.\n */\n get error(): boolean {\n if (!this.displayErrors || this.selectedOrgans.length === 0) {\n return false;\n }\n\n return true;\n }\n\n /**\n * Scrolls the carousel left or right by one step.\n * Prevents scrolling past the beginning or end of the carousel.\n *\n * @param dir Direction to be scrolled\n */\n shift(dir: string): void {\n const { itemList } = this;\n let val = parseInt(itemList.nativeElement.style.left, 10) || 0;\n if (this.onLeft && dir === 'left' || this.onRight && dir === 'right') {\n return;\n }\n val = dir === 'right' ? val - this.step : val + this.step;\n itemList.nativeElement.style.left = val + 'px';\n this.setLeftRight(val);\n }\n\n /**\n * Scrolls carousel continuously\n *\n * @param dir Direction to be scrolled\n */\n scroll(dir: string): void {\n this.timeoutHandler = setInterval(() => {\n this.shift(dir);\n }, 200);\n }\n\n /**\n * Stops carousel scrolling\n */\n stopScroll(): void {\n if (this.timeoutHandler) {\n // Minor hack to make typescript happy when there are mixed NodeJS and regular typings\n clearInterval(this.timeoutHandler as undefined);\n this.timeoutHandler = undefined;\n }\n }\n\n /**\n * Sets and emits currently selected organ(s)\n *\n * @param organ The organ selected\n */\n selectOrgan(organ: OrganInfo): void {\n if (!this.multiselect) {\n this.selectedOrgans = [organ];\n } else {\n if (this.selectedOrgans.includes(organ)) {\n this.selectedOrgans = this.selectedOrgans.filter((selectedOrgan) => organ !== selectedOrgan);\n } else {\n this.selectedOrgans = this.selectedOrgans.concat([organ]);\n }\n }\n this.organsChanged.emit(this.selectedOrgans);\n }\n\n /**\n * Determines whether an icon represents a currently selected organ\n *\n * @param icon The icon of interest\n * @returns true if selected\n */\n isSelected(organ: OrganInfo): boolean {\n return this.selectedOrgans.includes(organ) ? true : false;\n }\n\n /**\n * Disables scrolling if the list of organs is smaller than the container, otherwise sets onLeft and onRight as normal\n */\n set(): void {\n const { itemList, itemContainer, carouselContainer } = this;\n const val = parseInt(itemList.nativeElement.style.left, 10) || 0;\n if (itemList.nativeElement.offsetWidth >= this.organList.length * this.step) {\n itemList.nativeElement.style.left = '0px';\n this.onLeft = true;\n this.onRight = true;\n } else {\n this.setLeftRight(val);\n const listLength = this.step * Math.floor(carouselContainer.nativeElement.offsetWidth / this.step) - 64;\n itemContainer.nativeElement.style.width = `${listLength}px`;\n }\n }\n\n /**\n * Responsively sets width of the item container\n */\n setWidth(): void {\n const { itemContainer, carouselContainer } = this;\n const listLength = this.step * Math.floor(carouselContainer.nativeElement.offsetWidth / this.step) - 64;\n itemContainer.nativeElement.style.width = `${listLength}px`;\n }\n\n /**\n * Sets onLeft and onRight according to where the item list is scrolled\n */\n setLeftRight(val: number): void {\n const { itemContainer } = this;\n this.onLeft = val === 0 ? true : false;\n this.onRight = val \n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OrganSelectorModule.html":{"url":"modules/OrganSelectorModule.html","title":"module - OrganSelectorModule","body":"\n \n\n\n\n\n Modules\n OrganSelectorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_OrganSelectorModule\n\n\n\ncluster_OrganSelectorModule_declarations\n\n\n\ncluster_OrganSelectorModule_exports\n\n\n\n\nOrganSelectorComponent\n\nOrganSelectorComponent\n\n\n\nOrganSelectorModule\n\nOrganSelectorModule\n\nOrganSelectorModule -->\n\nOrganSelectorComponent->OrganSelectorModule\n\n\n\n\n\nOrganSelectorComponent \n\nOrganSelectorComponent \n\nOrganSelectorComponent -->\n\nOrganSelectorModule->OrganSelectorComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/organ-selector/organ-selector.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n OrganSelectorComponent\n \n \n \n \n Exports\n \n \n OrganSelectorComponent\n \n \n \n \n \n\n\n \n\n\n \n import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OrganSelectorComponent } from './organ-selector.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [OrganSelectorComponent],\n imports: [\n CommonModule,\n MatIconModule,\n MatTooltipModule\n ],\n exports: [OrganSelectorComponent]\n})\nexport class OrganSelectorModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PanelData.html":{"url":"interfaces/PanelData.html","title":"interface - PanelData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PanelData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n infoTitle\n \n \n \n \n videoID\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: DocumentationContent[]\n\n \n \n\n\n \n \n Type : DocumentationContent[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n infoTitle\n \n \n \n \n \n \n \n \n infoTitle: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n videoID\n \n \n \n \n \n \n \n \n videoID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\n\n/**\n * The structure to define how each documentation panel\n * should look like in the info dialog\n */\n\nexport interface DocumentationContent {\n /** Title of the panel */\n title: string;\n\n /** Content inside the panel */\n content: string;\n}\n\nexport interface PanelData {\n content: DocumentationContent[];\n infoTitle: string;\n videoID: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InfoButtonService {\n\n /** Subject to send the documentation data to the component when its done processing */\n panelContent: BehaviorSubject = new BehaviorSubject({ content: [], infoTitle: '', videoID: '' });\n\n constructor(private readonly http: HttpClient) { }\n\n /**\n * Read the markdown file to split it by h1 tags and update the panel title and videoID.\n */\n updateData(url: string, videoID: string, infoTitle: string): void {\n this.http.get(url, { responseType: 'text' }).subscribe((data: string) => {\n const panelContent: PanelData = { content: this.parseMarkdown(data), infoTitle: infoTitle, videoID: videoID };\n this.panelContent.next(panelContent);\n });\n }\n\n /**\n * Function to parse the markdown file and convert to\n * documentation content used by the info-dialog panels\n *\n * @param data Markdown file sent as a string after reading it\n * @returns array of DocumentationContent\n */\n parseMarkdown(data: string): DocumentationContent[] {\n const markdownContent: DocumentationContent[] = [];\n const splitByHeaderTag: string[] = data.split('# ');\n for (const split of splitByHeaderTag) {\n if (split.length) {\n const newLine = split.includes('\\n\\n') ? '\\n\\n' : '\\r\\n\\r\\n';\n const headerAndContent: string[] = split.split(newLine);\n markdownContent.push({\n title: headerAndContent[0],\n content: headerAndContent.splice(1).join(newLine)\n });\n }\n }\n return markdownContent;\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PluckUniqueOptions.html":{"url":"interfaces/PluckUniqueOptions.html","title":"interface - PluckUniqueOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PluckUniqueOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n\n\n \n Description\n \n \n Options for pluckUnique operator\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n compare\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n compare\n \n \n \n \n \n \n \n \n compare: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Custom comparison for determining distinct values\n\n \n \n \n \n \n \n\n\n \n import { OperatorFunction } from 'rxjs';\nimport { distinctUntilChanged, pluck, shareReplay } from 'rxjs/operators';\n\n\n/**\n * Options for `pluckUnique` operator\n */\nexport interface PluckUniqueOptions {\n /**\n * Custom comparison for determining distinct values\n */\n compare?: (lhs: T, rhs: T) => boolean;\n}\n\n\n/**\n * Default options\n */\nconst DEFAULT_OPTIONS: PluckUniqueOptions = {};\n\n\n/**\n * Combines the functionaliy of `pluck` and `distinctUntilChanged`\n * as well as adding a `shareReplay`.\n *\n * @param {...string} props Properties to pluck\n * @param [opts] Additional options\n * @returns An `Observable` operator\n */\nexport function pluckUnique(k1: K1, opts?: PluckUniqueOptions): OperatorFunction;\nexport function pluckUnique(k1: K1, k2: K2, opts?: PluckUniqueOptions): OperatorFunction;\nexport function pluckUnique(k1: K1, k2: K2, k3: K3, opts?: PluckUniqueOptions): OperatorFunction;\nexport function pluckUnique(k1: K1, k2: K2, k3: K3, k4: K4, opts?: PluckUniqueOptions): OperatorFunction;\nexport function pluckUnique(k1: K1, k2: K2, k3: K3, k4: K4, k5: K5, opts?: PluckUniqueOptions): OperatorFunction;\nexport function pluckUnique(k1: K1, k2: K2, k3: K3, k4: K4, k5: K5, k6: K6, opts?: PluckUniqueOptions): OperatorFunction;\nexport function pluckUnique(...props: [string, ...string[]]): OperatorFunction;\nexport function pluckUnique(...props: [string, ...string[], PluckUniqueOptions]): OperatorFunction;\nexport function pluckUnique(...props: unknown[]): OperatorFunction {\n const last = props[props.length - 1];\n let keys = props as string[];\n let opts = DEFAULT_OPTIONS;\n\n if (typeof last === 'object') {\n opts = last as PluckUniqueOptions;\n keys = keys.slice(0, -1);\n }\n\n return source => source.pipe(\n pluck(...keys),\n distinctUntilChanged(opts.compare),\n shareReplay(1)\n );\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Segment.html":{"url":"interfaces/Segment.html","title":"interface - Segment","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Segment\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts\n \n\n\n \n Description\n \n \n A segment of text with additional classes and styles\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n classes\n \n \n \n \n styles\n \n \n \n \n text\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n classes\n \n \n \n \n \n \n \n \n classes: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n Classes to add to the text container\n\n \n \n \n \n \n \n \n \n \n styles\n \n \n \n \n \n \n \n \n styles: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n\n\n\n\n \n \n Styles to set on the text container\n\n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n The piece of text to display\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges, SimpleChanges } from '@angular/core';\n\nimport { DecoratedRange, normalize } from './decorated-range';\n\n\n// Reexport DecoratedRange\nexport { DecoratedRange };\n\n/** A segment of text with additional classes and styles */\ninterface Segment {\n /** The piece of text to display */\n text: string;\n /** Classes to add to the text container */\n classes: string[];\n /** Styles to set on the text container */\n styles: Record;\n}\n\n/** Represents an operation to apply to the stack when building segments */\ninterface StackOp {\n /** Text index at which the changes takes effect */\n index: number;\n /** Decorations to add */\n added: DecoratedRange[];\n /** Decorations to remove */\n removed: DecoratedRange[];\n}\n\n\n/**\n * Class to display text with additional styling on ranges of the text.\n */\n@Component({\n selector: 'ccf-decorated-text',\n templateUrl: './decorated-text.component.html',\n styleUrls: ['./decorated-text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DecoratedTextComponent implements OnChanges {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-decorated-text';\n\n /**\n * Text to display\n */\n @Input() text: string;\n\n /**\n * Classes and styles to apply to ranges of the text.\n * For overlapping ranges later values takes precedence.\n */\n @Input() decorations?: Partial[];\n\n /**\n * Computed segments of text with decorations resolved.\n */\n segments: Segment[] = [];\n\n /**\n * Apply changes and recalculate cached values.\n *\n * @param changes Instance properties that have changed\n */\n ngOnChanges(changes: SimpleChanges): void {\n if ('text' in changes || 'decorations' in changes) {\n this.segments = this.createSegments();\n }\n }\n\n /**\n * Creates an array of decorated text segments based on\n * the latest text and decorations.\n *\n * @returns The new segments\n */\n private createSegments(): Segment[] {\n const { text } = this;\n if (!text) { // No styling can be applied to empty text fields\n return [this.makeUndecoratedSegment(text)];\n }\n\n const decorations = this.getNormalizedDecorations();\n if (decorations.length === 0) { // No styling available\n return [this.makeUndecoratedSegment(text)];\n }\n\n const stackOps = this.createStackOps(decorations);\n const segments: Segment[] = [];\n let stack: DecoratedRange[] = [];\n let lastIndex = 0;\n\n // If the first op starts at index zero apply stack changes\n // but don't push a segment by shifing out the first op\n if (stackOps[0].index === 0) {\n stack = this.updateStack(stack, stackOps.shift() as StackOp);\n }\n\n // Build segments based on the stack operations\n for (const op of stackOps) {\n segments.push(this.makeDecoratedSegment(\n text.slice(lastIndex, op.index), stack\n ));\n\n lastIndex = op.index;\n stack = this.updateStack(stack, op);\n }\n\n // Push the last segment if not already done\n if (lastIndex !== text.length) {\n segments.push(this.makeDecoratedSegment(\n text.slice(lastIndex), stack\n ));\n }\n\n return segments;\n }\n\n /**\n * Creates an ordered array of stack operations to apply when building segments.\n *\n * @param ranges The decorated ranges to apply\n * @returns The array of operations\n */\n private createStackOps(ranges: DecoratedRange[]): StackOp[] {\n const ops: Record = {};\n const getOp = (index: number) => (ops[index] ??= { index, added: [], removed: [] });\n\n for (const range of ranges) {\n getOp(range.start).added.push(range);\n getOp(range.end).removed.push(range);\n }\n\n return Object.entries(ops)\n .sort((i1, i2) => +i1[0] - +i2[0]) // Sort by index\n .map(entry => entry[1]);\n }\n\n /**\n * Applies the stack changes specified by the stack operation.\n *\n * @param stack The current stack\n * @param op The operation\n * @returns The new stack\n */\n private updateStack(stack: DecoratedRange[], op: StackOp): DecoratedRange[] {\n return stack\n .filter(item => !op.removed.includes(item))\n // Note - A new array is created by the above filter statement\n // so it is safe to modify it with concat\n .concat(op.added);\n }\n\n /**\n * Normalizes and filters valid decorated ranges.\n *\n * @returns The normalized ranges with properties filled\n */\n private getNormalizedDecorations(): DecoratedRange[] {\n const { decorations = [], text: { length } } = this;\n return decorations\n // Turn partials into full objects\n .map(range => normalize(range, length))\n // Remove empty and out of bounds ranges\n .filter(range => range.start (\n (result, range) => result.concat(range.classes),\n []\n );\n const styles = decorations.reduce(\n (result, range) => ({ ...result, ...range.styles }),\n {}\n );\n\n return { text, classes, styles };\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/SpatialSearchListComponent.html":{"url":"components/SpatialSearchListComponent.html","title":"component - SpatialSearchListComponent","body":"\n \n\n\n\n\n\n Components\n \n SpatialSearchListComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts\n\n\n\n \n Description\n \n \n Displays a list of spatial searches\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-spatial-search-list\n \n\n \n styleUrls\n ./spatial-search-list.component.scss\n \n\n\n\n \n templateUrl\n ./spatial-search-list.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n itemId\n \n \n removeItem\n \n \n updateItemSelection\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n items\n \n \n label\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n itemRemoved\n \n \n selectionChanged\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n items\n \n \n \n \n Type : T[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:33\n \n \n \n \n Items to display\n\n \n \n \n \n \n \n \n \n \n label\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:30\n \n \n \n \n Label for the list\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n itemRemoved\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:39\n \n \n \n \n Emits the item that has been removed from the list\n\n \n \n \n \n \n \n \n \n \n selectionChanged\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:36\n \n \n \n \n Emits the new items when a selection changes\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-spatial-search-list\"\n\n \n \n \n \n Default value : 'ccf-spatial-search-list'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:27\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n itemId\n \n \n \n \n \n \nitemId(_index: number, item: T)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:48\n \n \n\n\n \n \n Computes a unique id for an item\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n Unused\n\n \n \n \n item\n \n T\n \n\n \n No\n \n\n\n \n An item\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n A unique id\n\n \n \n \n \n \n \n \n \n \n \n \n removeItem\n \n \n \n \n \n \nremoveItem(index: number)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:71\n \n \n\n\n \n \n Removes an item from the list\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n Index of the item to remove\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateItemSelection\n \n \n \n \n \n \nupdateItemSelection(index: number, selected: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:58\n \n \n\n\n \n \n Updates the selected state for an item\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n Index of item to update\n\n \n \n \n selected\n \n boolean\n \n\n \n No\n \n\n\n \n What to set the selected state to\n\n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-spatial-search-list'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts:27\n \n \n\n \n \n HTML class\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\n\n/**\n * Base interface of items in the spatial search list\n */\nexport interface SpatialSearchListItem {\n /** Whether the item is selected */\n selected: boolean;\n\n /** Description displayed for the item */\n description: string;\n}\n\n\n/**\n * Displays a list of spatial searches\n */\n@Component({\n selector: 'ccf-spatial-search-list',\n templateUrl: './spatial-search-list.component.html',\n styleUrls: ['./spatial-search-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpatialSearchListComponent {\n /** HTML class */\n @HostBinding('class') readonly clsName = 'ccf-spatial-search-list';\n\n /** Label for the list */\n @Input() label = '';\n\n /** Items to display */\n @Input() items: T[] = [];\n\n /** Emits the new items when a selection changes */\n @Output() readonly selectionChanged = new EventEmitter();\n\n /** Emits the item that has been removed from the list */\n @Output() readonly itemRemoved = new EventEmitter();\n\n /**\n * Computes a unique id for an item\n *\n * @param _index Unused\n * @param item An item\n * @returns A unique id\n */\n itemId(_index: number, item: T): string {\n return item.description;\n }\n\n /**\n * Updates the selected state for an item\n *\n * @param index Index of item to update\n * @param selected What to set the selected state to\n */\n updateItemSelection(index: number, selected: boolean): void {\n const newItems = this.items = [...this.items];\n newItems[index] = { ...newItems[index], selected };\n\n const selectedItems = newItems.filter(item => item.selected);\n this.selectionChanged.emit(selectedItems);\n }\n\n /**\n * Removes an item from the list\n *\n * @param index Index of the item to remove\n */\n removeItem(index: number): void {\n const newItems = this.items = [...this.items];\n const [item] = newItems.splice(index, 1);\n this.itemRemoved.emit(item);\n }\n}\n\n \n\n \n \n {{ label }}\n\n\n\n \n \n \n {{ item.description }}\n \n\n \n\n \n delete_outlined\n \n \n \n\n\n \n\n \n \n ./spatial-search-list.component.scss\n \n :host {\n display: block;\n\n .label {\n margin-bottom: 0.5rem;\n font-weight: bold;\n }\n\n .item {\n height: 2rem;\n\n .item-content {\n display: flex;\n align-items: center;\n width: 100%;\n height: 2rem;\n\n .delete {\n width: 2rem;\n height: 2rem;\n line-height: 2rem;\n }\n\n .filler {\n flex-grow: 1;\n }\n }\n\n // Remove default padding from material list item\n & > ::ng-deep * {\n padding: 0 !important;\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ label }} {{ item.description }} delete_outlined '\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'SpatialSearchListComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SpatialSearchListItem.html":{"url":"interfaces/SpatialSearchListItem.html","title":"interface - SpatialSearchListItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SpatialSearchListItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts\n \n\n\n \n Description\n \n \n Base interface of items in the spatial search list\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n selected\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n Description displayed for the item\n\n \n \n \n \n \n \n \n \n \n selected\n \n \n \n \n \n \n \n \n selected: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n Whether the item is selected\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\n\n\n/**\n * Base interface of items in the spatial search list\n */\nexport interface SpatialSearchListItem {\n /** Whether the item is selected */\n selected: boolean;\n\n /** Description displayed for the item */\n description: string;\n}\n\n\n/**\n * Displays a list of spatial searches\n */\n@Component({\n selector: 'ccf-spatial-search-list',\n templateUrl: './spatial-search-list.component.html',\n styleUrls: ['./spatial-search-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpatialSearchListComponent {\n /** HTML class */\n @HostBinding('class') readonly clsName = 'ccf-spatial-search-list';\n\n /** Label for the list */\n @Input() label = '';\n\n /** Items to display */\n @Input() items: T[] = [];\n\n /** Emits the new items when a selection changes */\n @Output() readonly selectionChanged = new EventEmitter();\n\n /** Emits the item that has been removed from the list */\n @Output() readonly itemRemoved = new EventEmitter();\n\n /**\n * Computes a unique id for an item\n *\n * @param _index Unused\n * @param item An item\n * @returns A unique id\n */\n itemId(_index: number, item: T): string {\n return item.description;\n }\n\n /**\n * Updates the selected state for an item\n *\n * @param index Index of item to update\n * @param selected What to set the selected state to\n */\n updateItemSelection(index: number, selected: boolean): void {\n const newItems = this.items = [...this.items];\n newItems[index] = { ...newItems[index], selected };\n\n const selectedItems = newItems.filter(item => item.selected);\n this.selectionChanged.emit(selectedItems);\n }\n\n /**\n * Removes an item from the list\n *\n * @param index Index of the item to remove\n */\n removeItem(index: number): void {\n const newItems = this.items = [...this.items];\n const [item] = newItems.splice(index, 1);\n this.itemRemoved.emit(item);\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SpatialSearchListModule.html":{"url":"modules/SpatialSearchListModule.html","title":"module - SpatialSearchListModule","body":"\n \n\n\n\n\n Modules\n SpatialSearchListModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_SpatialSearchListModule\n\n\n\ncluster_SpatialSearchListModule_exports\n\n\n\ncluster_SpatialSearchListModule_declarations\n\n\n\n\nSpatialSearchListComponent\n\nSpatialSearchListComponent\n\n\n\nSpatialSearchListModule\n\nSpatialSearchListModule\n\nSpatialSearchListModule -->\n\nSpatialSearchListComponent->SpatialSearchListModule\n\n\n\n\n\nSpatialSearchListComponent \n\nSpatialSearchListComponent \n\nSpatialSearchListComponent -->\n\nSpatialSearchListModule->SpatialSearchListComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n SpatialSearchListComponent\n \n \n \n \n Exports\n \n \n SpatialSearchListComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\n\nimport { SpatialSearchListComponent } from './spatial-search-list.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n MatButtonModule,\n MatCheckboxModule,\n MatIconModule,\n MatListModule\n ],\n declarations: [SpatialSearchListComponent],\n exports: [SpatialSearchListComponent]\n})\nexport class SpatialSearchListModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/StackOp.html":{"url":"interfaces/StackOp.html","title":"interface - StackOp","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n StackOp\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts\n \n\n\n \n Description\n \n \n Represents an operation to apply to the stack when building segments\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n added\n \n \n \n \n index\n \n \n \n \n removed\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n added\n \n \n \n \n \n \n \n \n added: DecoratedRange[]\n\n \n \n\n\n \n \n Type : DecoratedRange[]\n\n \n \n\n\n\n\n\n \n \n Decorations to add\n\n \n \n \n \n \n \n \n \n \n index\n \n \n \n \n \n \n \n \n index: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n Text index at which the changes takes effect\n\n \n \n \n \n \n \n \n \n \n removed\n \n \n \n \n \n \n \n \n removed: DecoratedRange[]\n\n \n \n\n\n \n \n Type : DecoratedRange[]\n\n \n \n\n\n\n\n\n \n \n Decorations to remove\n\n \n \n \n \n \n \n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges, SimpleChanges } from '@angular/core';\n\nimport { DecoratedRange, normalize } from './decorated-range';\n\n\n// Reexport DecoratedRange\nexport { DecoratedRange };\n\n/** A segment of text with additional classes and styles */\ninterface Segment {\n /** The piece of text to display */\n text: string;\n /** Classes to add to the text container */\n classes: string[];\n /** Styles to set on the text container */\n styles: Record;\n}\n\n/** Represents an operation to apply to the stack when building segments */\ninterface StackOp {\n /** Text index at which the changes takes effect */\n index: number;\n /** Decorations to add */\n added: DecoratedRange[];\n /** Decorations to remove */\n removed: DecoratedRange[];\n}\n\n\n/**\n * Class to display text with additional styling on ranges of the text.\n */\n@Component({\n selector: 'ccf-decorated-text',\n templateUrl: './decorated-text.component.html',\n styleUrls: ['./decorated-text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DecoratedTextComponent implements OnChanges {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-decorated-text';\n\n /**\n * Text to display\n */\n @Input() text: string;\n\n /**\n * Classes and styles to apply to ranges of the text.\n * For overlapping ranges later values takes precedence.\n */\n @Input() decorations?: Partial[];\n\n /**\n * Computed segments of text with decorations resolved.\n */\n segments: Segment[] = [];\n\n /**\n * Apply changes and recalculate cached values.\n *\n * @param changes Instance properties that have changed\n */\n ngOnChanges(changes: SimpleChanges): void {\n if ('text' in changes || 'decorations' in changes) {\n this.segments = this.createSegments();\n }\n }\n\n /**\n * Creates an array of decorated text segments based on\n * the latest text and decorations.\n *\n * @returns The new segments\n */\n private createSegments(): Segment[] {\n const { text } = this;\n if (!text) { // No styling can be applied to empty text fields\n return [this.makeUndecoratedSegment(text)];\n }\n\n const decorations = this.getNormalizedDecorations();\n if (decorations.length === 0) { // No styling available\n return [this.makeUndecoratedSegment(text)];\n }\n\n const stackOps = this.createStackOps(decorations);\n const segments: Segment[] = [];\n let stack: DecoratedRange[] = [];\n let lastIndex = 0;\n\n // If the first op starts at index zero apply stack changes\n // but don't push a segment by shifing out the first op\n if (stackOps[0].index === 0) {\n stack = this.updateStack(stack, stackOps.shift() as StackOp);\n }\n\n // Build segments based on the stack operations\n for (const op of stackOps) {\n segments.push(this.makeDecoratedSegment(\n text.slice(lastIndex, op.index), stack\n ));\n\n lastIndex = op.index;\n stack = this.updateStack(stack, op);\n }\n\n // Push the last segment if not already done\n if (lastIndex !== text.length) {\n segments.push(this.makeDecoratedSegment(\n text.slice(lastIndex), stack\n ));\n }\n\n return segments;\n }\n\n /**\n * Creates an ordered array of stack operations to apply when building segments.\n *\n * @param ranges The decorated ranges to apply\n * @returns The array of operations\n */\n private createStackOps(ranges: DecoratedRange[]): StackOp[] {\n const ops: Record = {};\n const getOp = (index: number) => (ops[index] ??= { index, added: [], removed: [] });\n\n for (const range of ranges) {\n getOp(range.start).added.push(range);\n getOp(range.end).removed.push(range);\n }\n\n return Object.entries(ops)\n .sort((i1, i2) => +i1[0] - +i2[0]) // Sort by index\n .map(entry => entry[1]);\n }\n\n /**\n * Applies the stack changes specified by the stack operation.\n *\n * @param stack The current stack\n * @param op The operation\n * @returns The new stack\n */\n private updateStack(stack: DecoratedRange[], op: StackOp): DecoratedRange[] {\n return stack\n .filter(item => !op.removed.includes(item))\n // Note - A new array is created by the above filter statement\n // so it is safe to modify it with concat\n .concat(op.added);\n }\n\n /**\n * Normalizes and filters valid decorated ranges.\n *\n * @returns The normalized ranges with properties filled\n */\n private getNormalizedDecorations(): DecoratedRange[] {\n const { decorations = [], text: { length } } = this;\n return decorations\n // Turn partials into full objects\n .map(range => normalize(range, length))\n // Remove empty and out of bounds ranges\n .filter(range => range.start (\n (result, range) => result.concat(range.classes),\n []\n );\n const styles = decorations.reduce(\n (result, range) => ({ ...result, ...range.styles }),\n {}\n );\n\n return { text, classes, styles };\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/StoreDebugComponent.html":{"url":"components/StoreDebugComponent.html","title":"component - StoreDebugComponent","body":"\n \n\n\n\n\n\n Components\n \n StoreDebugComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts\n\n\n\n \n Description\n \n \n Simple component for displaying the current values in the data store.\n\n \n\n\n \n Implements\n \n \n OnDestroy\n \n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-store-debug\n \n\n \n styleUrls\n ./store-debug.component.scss\n \n\n\n\n \n templateUrl\n ./store-debug.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Private\n root\n \n \n Private\n subscriptions\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n data\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(store: Store, cdr: ChangeDetectorRef)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts:37\n \n \n\n \n \n Creates an instance of store debug component.\nSets up the store data listeners.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n store\n \n \n Store\n \n \n \n No\n \n \n \n The data store.\n\n \n \n \n cdr\n \n \n ChangeDetectorRef\n \n \n \n No\n \n \n \n Change detection for this component.\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-store-debug\"\n\n \n \n \n \n Default value : 'ccf-store-debug'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n ngOnDestroy\n \n \n \n \n \n \nngOnDestroy()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts:58\n \n \n\n\n \n \n Cleans up subscriptions\n\n\n \n Returns : void\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-store-debug'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts:21\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n root\n \n \n \n \n \n \n Type : Record>\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts:34\n \n \n\n \n \n Latest store data\n\n \n \n\n \n \n \n \n \n \n \n \n Private\n subscriptions\n \n \n \n \n \n \n Default value : new Subscription()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts:37\n \n \n\n \n \n Subscriptions managed by this component\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n data\n \n \n\n \n \n getdata()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts:26\n \n \n \n \n Gets the store data as a list of state name to key-value pairs\n\n\n \n Returns : KVList\n\n \n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, OnDestroy, ChangeDetectorRef, HostBinding } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { Subscription } from 'rxjs';\n\n/** Key-Value pair */\nexport type KVPair = [string, T];\n/** Array of Key-Value pairs */\nexport type KVList = KVPair[];\n\n/**\n * Simple component for displaying the current values in the data store.\n */\n@Component({\n selector: 'ccf-store-debug',\n templateUrl: './store-debug.component.html',\n styleUrls: ['./store-debug.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class StoreDebugComponent implements OnDestroy {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-store-debug';\n\n /**\n * Gets the store data as a list of state name to key-value pairs\n */\n get data(): KVList {\n const states: KVList> = Object.entries(this.root);\n const stateValues: KVList = states.map(([key, values]) => [key, Object.entries(values)]);\n const statesWithData = stateValues.filter(([_key, values]) => values.length > 0);\n return statesWithData;\n }\n\n /** Latest store data */\n private root: Record> = {};\n\n /** Subscriptions managed by this component */\n private subscriptions = new Subscription();\n\n /**\n * Creates an instance of store debug component.\n * Sets up the store data listeners.\n *\n * @param store The data store.\n * @param cdr Change detection for this component.\n */\n constructor(store: Store, cdr: ChangeDetectorRef) {\n const sub = store.subscribe(root => {\n this.root = root as Record>;\n cdr.markForCheck();\n });\n\n this.subscriptions.add(sub);\n }\n\n /**\n * Cleans up subscriptions\n */\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n}\n\n \n\n \n \n {{ state[0] }}\n \n \n {{ kv[0] }}: {{ kv[1] | json }}\n \n \n\n\n \n\n \n \n ./store-debug.component.scss\n \n :host {\n display: block;\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' {{ state[0] }} {{ kv[0] }}: {{ kv[1] | json }} '\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'StoreDebugComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/StoreDebugModule.html":{"url":"modules/StoreDebugModule.html","title":"module - StoreDebugModule","body":"\n \n\n\n\n\n Modules\n StoreDebugModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_StoreDebugModule\n\n\n\ncluster_StoreDebugModule_exports\n\n\n\ncluster_StoreDebugModule_declarations\n\n\n\n\nStoreDebugComponent\n\nStoreDebugComponent\n\n\n\nStoreDebugModule\n\nStoreDebugModule\n\nStoreDebugModule -->\n\nStoreDebugComponent->StoreDebugModule\n\n\n\n\n\nStoreDebugComponent \n\nStoreDebugComponent \n\nStoreDebugComponent -->\n\nStoreDebugModule->StoreDebugComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/store-debug/store-debug.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n StoreDebugComponent\n \n \n \n \n Exports\n \n \n StoreDebugComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { StoreDebugComponent } from './store-debug.component';\n\n\n@NgModule({\n imports: [CommonModule],\n declarations: [StoreDebugComponent],\n exports: [StoreDebugComponent]\n})\nexport class StoreDebugModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TextSearchComponent.html":{"url":"components/TextSearchComponent.html","title":"component - TextSearchComponent","body":"\n \n\n\n\n\n\n Components\n \n TextSearchComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/text-search/text-search.component.ts\n\n\n\n \n Description\n \n \n A text search bar with optional autocompletion functionality.\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-text-search\n \n\n \n styleUrls\n ./text-search.component.scss\n \n\n\n\n \n templateUrl\n ./text-search.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Readonly\n controller\n \n \n Readonly\n options\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n getOptions\n \n \n optionDisplay\n \n \n optionId\n \n \n \n \n\n \n \n Inputs\n \n \n \n \n \n \n autoCompleter\n \n \n maxOptions\n \n \n placeholder\n \n \n value\n \n \n \n \n\n \n \n Outputs\n \n \n \n \n \n \n optionSelected\n \n \n valueChange\n \n \n \n \n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n value\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(defaultMaxOptions: number)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:100\n \n \n\n \n \n Creates an instance of text search component.\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n defaultMaxOptions\n \n \n number\n \n \n \n No\n \n \n \n The default value for maxOptions\n\n \n \n \n \n \n \n \n \n \n\n\n \n Inputs\n \n \n \n \n \n autoCompleter\n \n \n \n \n Type : function\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:76\n \n \n \n \n Function providing the autocomplete suggestions.\nReceives the latest search bar text and the maximum of suggestions to provide.\n\n \n \n \n \n \n \n \n \n \n maxOptions\n \n \n \n \n Type : number\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:70\n \n \n \n \n Maximum number of autocomplete suggestions to show simultaneously\n\n \n \n \n \n \n \n \n \n \n placeholder\n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'Search...'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:53\n \n \n \n \n Placeholder text for the search bar\n\n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n Type : string\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:59\n \n \n \n \n The text to show on the search bar\n\n \n \n \n \n\n \n Outputs\n \n \n \n \n \n optionSelected\n \n \n \n \n Type : EventEmitter\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:86\n \n \n \n \n Emits when an autocomplete option has been selected\n\n \n \n \n \n \n \n \n \n \n valueChange\n \n \n \n \n Type : Observable\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:81\n \n \n \n \n Emits when the search bar text changes\n\n \n \n \n \n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-text-search\"\n\n \n \n \n \n Default value : 'ccf-text-search'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:48\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n getOptions\n \n \n \n \n \n \n \n getOptions(search: string)\n \n \n\n \n \n Decorators : \n \n @Bind()\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:120\n \n \n\n\n \n \n Fetches the latest autocomplete suggestions for the provided search text.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n search\n \n string\n \n\n \n No\n \n\n\n \n The search text to find suggestions for\n\n \n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n The found suggestions\n\n \n \n \n \n \n \n \n \n \n \n \n optionDisplay\n \n \n \n \n \n \noptionDisplay(option: AutoCompleteOption | null)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:139\n \n \n\n\n \n \n Text to show in search bar when an autocomplete option is selected.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n option\n \n AutoCompleteOption | null\n \n\n \n No\n \n\n\n \n The autocomplete option\n\n \n \n \n \n \n \n \n \n Returns : string\n\n \n \n The displayed text\n\n \n \n \n \n \n \n \n \n \n \n \n optionId\n \n \n \n \n \n \noptionId(_index: number, option: AutoCompleteOption)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:150\n \n \n\n\n \n \n Gets an unique identifier for an autocomplete option object.\n\n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n _index\n \n number\n \n\n \n No\n \n\n\n \n Unused\n\n \n \n \n option\n \n AutoCompleteOption\n \n\n \n No\n \n\n\n \n The option object\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-text-search'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:48\n \n \n\n \n \n HTML class name\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n controller\n \n \n \n \n \n \n Default value : new FormControl()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:91\n \n \n\n \n \n Form controller for search bar\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n options\n \n \n \n \n \n \n Default value : (this.controller.valueChanges as Observable).pipe(\n startWith(''),\n distinctUntilChanged(),\n switchMap(this.getOptions)\n )\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:96\n \n \n\n \n \n Emits the latest autocomplete suggestions\n\n \n \n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n value\n \n \n\n \n \n getvalue()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:59\n \n \n \n \n The text to show on the search bar\n\n\n \n Returns : string\n\n \n \n \n\n \n \n setvalue(val: string)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/text-search/text-search.component.ts:63\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n val\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n\n\n\n \n import {\n ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Inject, InjectionToken, Input, Output,\n} from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { bind as Bind } from 'bind-decorator';\nimport { from, Observable, ObservableInput } from 'rxjs';\nimport { distinctUntilChanged, map, startWith, switchMap, take } from 'rxjs/operators';\n\nimport { DecoratedRange } from '../decorated-text/decorated-range';\n\n\n/** A single suggestion to show in autocomplete */\nexport interface AutoCompleteOption {\n /** A unique id */\n id: unknown;\n /** The displayed label */\n label: string;\n /** Optional styling of the label */\n decorations?: Partial[];\n}\n\n/**\n * Token to provide a default for the maximum number of\n * autocomplete suggestions to show at the same time.\n */\nexport const DEFAULT_MAX_OPTIONS = new InjectionToken(\n 'Maximum number of autocomplete options displayed',\n {\n providedIn: 'root',\n factory(): number {\n return 10;\n }\n }\n);\n\n\n/**\n * A text search bar with optional autocompletion functionality.\n */\n@Component({\n selector: 'ccf-text-search',\n templateUrl: './text-search.component.html',\n styleUrls: ['./text-search.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TextSearchComponent {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-text-search';\n\n /**\n * Placeholder text for the search bar\n */\n @Input() placeholder = 'Search...';\n\n /**\n * The text to show on the search bar\n */\n @Input()\n get value(): string {\n return this.controller.value as string;\n }\n\n set value(val: string) {\n this.controller.setValue(val, { emitEvent: false });\n }\n\n /**\n * Maximum number of autocomplete suggestions to show simultaneously\n */\n @Input() maxOptions?: number;\n\n /**\n * Function providing the autocomplete suggestions.\n * Receives the latest search bar text and the maximum of suggestions to provide.\n */\n @Input() autoCompleter?: (search: string, max: number) => ObservableInput;\n\n /**\n * Emits when the search bar text changes\n */\n @Output() readonly valueChange: Observable;\n\n /**\n * Emits when an autocomplete option has been selected\n */\n @Output() readonly optionSelected = new EventEmitter();\n\n /**\n * Form controller for search bar\n */\n readonly controller = new FormControl();\n\n /**\n * Emits the latest autocomplete suggestions\n */\n readonly options = (this.controller.valueChanges as Observable).pipe(\n startWith(''),\n distinctUntilChanged(),\n switchMap(this.getOptions)\n );\n\n /**\n * Creates an instance of text search component.\n *\n * @param defaultMaxOptions The default value for `maxOptions`\n */\n constructor(\n @Inject(DEFAULT_MAX_OPTIONS) private readonly defaultMaxOptions: number\n ) {\n this.valueChange = this.controller.valueChanges;\n }\n\n /**\n * Fetches the latest autocomplete suggestions for the provided search text.\n *\n * @param search The search text to find suggestions for\n * @returns The found suggestions\n */\n @Bind\n private async getOptions(search: string): Promise {\n const { autoCompleter, maxOptions = this.defaultMaxOptions } = this;\n if (!autoCompleter || maxOptions array.length \n \n\n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n\n \n \n \n \n\n\n \n\n \n \n ./text-search.component.scss\n \n :host {\n display: block;\n\n .form .form-field {\n width: 100%;\n\n .input {\n margin-left: 0.5rem;\n }\n }\n\n ::ng-deep .mat-form-field-appearance-outline {\n .mat-form-field-wrapper {\n margin: 0;\n\n .mat-form-field-flex {\n align-items: center;\n\n .mat-form-field-infix {\n height: 3rem;\n border: none;\n }\n\n .mat-form-field-suffix {\n top: 0;\n border: none;\n }\n }\n }\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = ' '\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'TextSearchComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TextSearchModule.html":{"url":"modules/TextSearchModule.html","title":"module - TextSearchModule","body":"\n \n\n\n\n\n Modules\n TextSearchModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TextSearchModule\n\n\n\ncluster_TextSearchModule_imports\n\n\n\ncluster_TextSearchModule_exports\n\n\n\ncluster_TextSearchModule_declarations\n\n\n\n\nTextSearchComponent\n\nTextSearchComponent\n\n\n\nTextSearchModule\n\nTextSearchModule\n\nTextSearchModule -->\n\nTextSearchComponent->TextSearchModule\n\n\n\n\n\nMatPrefix \n\nMatPrefix \n\nMatPrefix -->\n\nTextSearchModule->MatPrefix \n\n\n\n\n\nMatSuffix \n\nMatSuffix \n\nMatSuffix -->\n\nTextSearchModule->MatSuffix \n\n\n\n\n\nTextSearchComponent \n\nTextSearchComponent \n\nTextSearchComponent -->\n\nTextSearchModule->TextSearchComponent \n\n\n\n\n\nDecoratedTextModule\n\nDecoratedTextModule\n\nTextSearchModule -->\n\nDecoratedTextModule->TextSearchModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/text-search/text-search.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TextSearchComponent\n \n \n \n \n Imports\n \n \n DecoratedTextModule\n \n \n \n \n Exports\n \n \n MatPrefix\n \n \n MatSuffix\n \n \n TextSearchComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatFormFieldModule, MatPrefix, MatSuffix } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { DecoratedTextModule } from '../decorated-text/decorated-text.module';\nimport { TextSearchComponent } from './text-search.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n MatAutocompleteModule,\n MatFormFieldModule,\n MatInputModule,\n\n DecoratedTextModule\n ],\n declarations: [TextSearchComponent],\n exports: [\n TextSearchComponent,\n\n // Reexport prefix/suffix markers\n MatPrefix,\n MatSuffix\n ]\n})\nexport class TextSearchModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/TrackingPopupComponent.html":{"url":"components/TrackingPopupComponent.html","title":"component - TrackingPopupComponent","body":"\n \n\n\n\n\n\n Components\n \n TrackingPopupComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts\n\n\n\n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-tracking-popup\n \n\n \n styleUrls\n ./tracking-popup.component.scss\n \n\n\n\n \n templateUrl\n ./tracking-popup.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n container\n \n \n Public\n data\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n dismiss\n \n \n showButton\n \n \n submit\n \n \n \n \n\n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n allowTelemetry\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(elementRef: ElementRef, consentService: ConsentService, data: any)\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementRef\n \n \n ElementRef\n \n \n \n No\n \n \n \n \n consentService\n \n \n ConsentService\n \n \n \n No\n \n \n \n \n data\n \n \n any\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-tracking-popup\"\n\n \n \n \n \n Default value : 'ccf-tracking-popup'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:13\n \n \n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n dismiss\n \n \n \n \n \n \ndismiss()\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:26\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n showButton\n \n \n \n \n \n \nshowButton(button: \"opt-in\" | \"opt-out\")\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n button\n \n \"opt-in\" | \"opt-out\"\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n submit\n \n \n \n \n \n \nsubmit(entry: boolean)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n entry\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-tracking-popup'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n container\n \n \n \n \n \n \n Type : HTMLElement\n\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n data\n \n \n \n \n \n \n Type : any\n\n \n \n \n \n Decorators : \n \n \n @Inject(MAT_SNACK_BAR_DATA)\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:22\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n allowTelemetry\n \n \n\n \n \n getallowTelemetry()\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts:15\n \n \n\n \n \n\n\n\n\n \n import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Inject } from '@angular/core';\nimport { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\nimport { ConsentService, Consent } from 'ccf-shared/analytics';\n\n\n@Component({\n selector: 'ccf-tracking-popup',\n templateUrl: './tracking-popup.component.html',\n styleUrls: ['./tracking-popup.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TrackingPopupComponent {\n @HostBinding('class') readonly clsName = 'ccf-tracking-popup';\n\n get allowTelemetry(): Consent {\n return this.consentService.consent;\n }\n\n container: HTMLElement;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n constructor(elementRef: ElementRef, readonly consentService: ConsentService, @Inject(MAT_SNACK_BAR_DATA) public data: any) {\n this.container = elementRef.nativeElement;\n }\n\n dismiss(): void {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n this.data.preClose();\n }\n\n submit(entry: boolean): void {\n this.consentService.setConsent(entry ? 'given' : 'rescinded');\n this.dismiss();\n }\n\n showButton(button: 'opt-in' | 'opt-out'): boolean {\n const { allowTelemetry } = this;\n if (allowTelemetry === 'not-set') {\n return true;\n } else {\n return button === 'opt-in' ? allowTelemetry === 'rescinded' : allowTelemetry === 'given';\n }\n }\n}\n\n \n\n \n We log usage to improve this service.\n\n {{allowTelemetry === 'not-set' ? 'I understand' : 'Opt in'}}\n\nOpt out\n \n\n \n \n ./tracking-popup.component.scss\n \n :host {\n display: flex;\n align-items: center;\n min-width: 400px;\n color: rgba(255, 255, 255, 0.7);\n background: #323232;\n 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);\n z-index: 9999;\n\n p {\n margin: 24px;\n }\n\n button {\n margin: 1rem;\n min-width: 6rem;\n background-color: #007cbe;\n display: flex;\n justify-content: center;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = 'We log usage to improve this service. {{allowTelemetry === \\'not-set\\' ? \\'I understand\\' : \\'Opt in\\'}}Opt out'\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'TrackingPopupComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TrackingPopupModule.html":{"url":"modules/TrackingPopupModule.html","title":"module - TrackingPopupModule","body":"\n \n\n\n\n\n Modules\n TrackingPopupModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_TrackingPopupModule\n\n\n\ncluster_TrackingPopupModule_declarations\n\n\n\ncluster_TrackingPopupModule_exports\n\n\n\n\nTrackingPopupComponent\n\nTrackingPopupComponent\n\n\n\nTrackingPopupModule\n\nTrackingPopupModule\n\nTrackingPopupModule -->\n\nTrackingPopupComponent->TrackingPopupModule\n\n\n\n\n\nTrackingPopupComponent \n\nTrackingPopupComponent \n\nTrackingPopupComponent -->\n\nTrackingPopupModule->TrackingPopupComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n TrackingPopupComponent\n \n \n \n \n Exports\n \n \n TrackingPopupComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { TrackingPopupComponent } from './tracking-popup.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatButtonModule\n ],\n declarations: [TrackingPopupComponent],\n exports: [TrackingPopupComponent]\n})\nexport class TrackingPopupModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TrackingState.html":{"url":"injectables/TrackingState.html","title":"injectable - TrackingState","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n TrackingState\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n\n\n\n \n Extends\n \n \n NgxsImmutableDataRepository\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n setAllowTelemetry\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n setAllowTelemetry\n \n \n \n \n \n \nsetAllowTelemetry(allowTelemetry: boolean)\n \n \n\n \n \n Decorators : \n \n @DataAction()\n \n \n\n \n \n Defined in projects/ccf-shared/src/lib/analytics/tracking.state.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n allowTelemetry\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@angular/core';\nimport { DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\n\n\nexport interface TrackingStateModel {\n allowTelemetry?: boolean;\n}\n\nexport const LOCAL_STORAGE_ALLOW_TELEMETRY_KEY = 'ALLOW_TELEMETRY';\nexport const INITIAL_TELEMETRY_SETTING = getTelemetryStorageSetting();\n\nfunction getTelemetryStorageSetting(): boolean | undefined {\n const value = localStorage.getItem(LOCAL_STORAGE_ALLOW_TELEMETRY_KEY);\n return value === null ? undefined : value.toLowerCase() === 'true';\n}\n\n@StateRepository()\n@State({\n name: 'tracking',\n defaults: {\n allowTelemetry: INITIAL_TELEMETRY_SETTING\n }\n})\n@Injectable()\nexport class TrackingState extends NgxsImmutableDataRepository {\n @DataAction()\n setAllowTelemetry(allowTelemetry: boolean): void {\n const oldValue = getTelemetryStorageSetting();\n localStorage.setItem(LOCAL_STORAGE_ALLOW_TELEMETRY_KEY, allowTelemetry.toString());\n this.ctx.patchState({ allowTelemetry });\n\n if (oldValue !== undefined || allowTelemetry === false) {\n // This ensures that if telemetry is disabled that it _WONT_ send anything to Google Analytics\n location.reload();\n }\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TrackingStateModel.html":{"url":"interfaces/TrackingStateModel.html","title":"interface - TrackingStateModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TrackingStateModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n allowTelemetry\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n allowTelemetry\n \n \n \n \n \n \n \n \n allowTelemetry: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Injectable } from '@angular/core';\nimport { DataAction, StateRepository } from '@ngxs-labs/data/decorators';\nimport { NgxsImmutableDataRepository } from '@ngxs-labs/data/repositories';\nimport { State } from '@ngxs/store';\n\n\nexport interface TrackingStateModel {\n allowTelemetry?: boolean;\n}\n\nexport const LOCAL_STORAGE_ALLOW_TELEMETRY_KEY = 'ALLOW_TELEMETRY';\nexport const INITIAL_TELEMETRY_SETTING = getTelemetryStorageSetting();\n\nfunction getTelemetryStorageSetting(): boolean | undefined {\n const value = localStorage.getItem(LOCAL_STORAGE_ALLOW_TELEMETRY_KEY);\n return value === null ? undefined : value.toLowerCase() === 'true';\n}\n\n@StateRepository()\n@State({\n name: 'tracking',\n defaults: {\n allowTelemetry: INITIAL_TELEMETRY_SETTING\n }\n})\n@Injectable()\nexport class TrackingState extends NgxsImmutableDataRepository {\n @DataAction()\n setAllowTelemetry(allowTelemetry: boolean): void {\n const oldValue = getTelemetryStorageSetting();\n localStorage.setItem(LOCAL_STORAGE_ALLOW_TELEMETRY_KEY, allowTelemetry.toString());\n this.ctx.patchState({ allowTelemetry });\n\n if (oldValue !== undefined || allowTelemetry === false) {\n // This ensures that if telemetry is disabled that it _WONT_ send anything to Google Analytics\n location.reload();\n }\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/WorkerCCFDatabaseDataSourceService.html":{"url":"injectables/WorkerCCFDatabaseDataSourceService.html","title":"injectable - WorkerCCFDatabaseDataSourceService","body":"\n \n\n\n\n\n\n\n\n\n Injectables\n WorkerCCFDatabaseDataSourceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts\n \n\n\n\n \n Extends\n \n \n CCFDatabaseDataSourceBaseService\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n database$\n \n \n Readonly\n impl$\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n createDatabase\n \n \n Protected\n Abstract\n createWorker\n \n \n Private\n Async\n connectDatabase\n \n \n Protected\n forwardCall\n \n \n getAggregateResults\n \n \n getCellTypeTermOccurences\n \n \n getCellTypeTreeModel\n \n \n getDatabaseStatus\n \n \n getDatasetTechnologyNames\n \n \n getOntologyTermOccurences\n \n \n getOntologyTreeModel\n \n \n getProviderNames\n \n \n getReferenceOrgans\n \n \n getReferenceOrganScene\n \n \n getScene\n \n \n getTissueBlockResults\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n createDatabase\n \n \n \n \n \n \n \n createDatabase(config: CCFDatabaseOptions)\n \n \n\n\n \n \n Inherited from CCFDatabaseDataSourceBaseService\n\n \n \n \n \n Defined in CCFDatabaseDataSourceBaseService:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : CCFDatabaseManager\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Abstract\n createWorker\n \n \n \n \n \n \n \n createWorker(config: CCFDatabaseOptions)\n \n \n\n\n \n \n Defined in projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Worker\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n connectDatabase\n \n \n \n \n \n \n \n connectDatabase(manager: CCFDatabaseManager, config: CCFDatabaseOptions)\n \n \n\n\n \n \n Inherited from CCFDatabaseDataSourceBaseService\n\n \n \n \n \n Defined in CCFDatabaseDataSourceBaseService:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n manager\n \n CCFDatabaseManager\n \n\n \n No\n \n\n\n \n \n config\n \n CCFDatabaseOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n forwardCall\n \n \n \n \n \n \n \n forwardCall(method: K, args: Parameters>)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:93\n\n \n \n\n \n \n Type parameters :\n \n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n method\n \n K\n \n\n \n No\n \n\n\n \n \n args\n \n Parameters>\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getAggregateResults\n \n \n \n \n \n \ngetAggregateResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTermOccurences\n \n \n \n \n \n \ngetCellTypeTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:72\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCellTypeTreeModel\n \n \n \n \n \n \ngetCellTypeTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:52\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseStatus\n \n \n \n \n \n \ngetDatabaseStatus()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:36\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getDatasetTechnologyNames\n \n \n \n \n \n \ngetDatasetTechnologyNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:44\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getOntologyTermOccurences\n \n \n \n \n \n \ngetOntologyTermOccurences(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:68\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getOntologyTreeModel\n \n \n \n \n \n \ngetOntologyTreeModel()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:48\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getProviderNames\n \n \n \n \n \n \ngetProviderNames()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:40\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrgans\n \n \n \n \n \n \ngetReferenceOrgans()\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:56\n\n \n \n\n\n \n \n\n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n getReferenceOrganScene\n \n \n \n \n \n \ngetReferenceOrganScene(organIri: string, filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:80\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organIri\n \n string\n \n\n \n No\n \n\n\n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getScene\n \n \n \n \n \n \ngetScene(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:76\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getTissueBlockResults\n \n \n \n \n \n \ngetTissueBlockResults(filter?: Filter)\n \n \n\n\n \n \n Inherited from ForwardingDataSource\n\n \n \n \n \n Defined in ForwardingDataSource:60\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filter\n \n Filter\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n database$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Inherited from CCFDatabaseDataSourceBaseService\n\n \n \n \n \n Defined in CCFDatabaseDataSourceBaseService:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n impl$\n \n \n \n \n \n \n Type : Observable\n\n \n \n \n \n Inherited from DelegateDataSource\n\n \n \n \n \n Defined in DelegateDataSource:19\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, isDevMode } from '@angular/core';\nimport { CCFDatabase, CCFDatabaseOptions } from 'ccf-database';\nimport { releaseProxy, Remote, wrap } from 'comlink';\nimport { Observable, Unsubscribable, using } from 'rxjs';\nimport { filter, map, shareReplay, switchMap } from 'rxjs/operators';\n\nimport { GlobalConfigState } from '../../config/global-config.state';\nimport { DataSourceLike, DelegateDataSource } from './data-source';\n\n\n\ninterface CCFDatabaseManager extends Unsubscribable {\n database: CCFDatabase | Remote;\n}\n\n\n@Injectable()\nabstract class CCFDatabaseDataSourceBaseService extends DelegateDataSource {\n readonly impl$: Observable;\n readonly database$: Observable>;\n\n constructor(globalConfig: GlobalConfigState) {\n super();\n\n this.impl$ = this.database$ = globalConfig.config$.pipe(\n source => source as Observable,\n filter(config => Object.keys(config).length > 0),\n switchMap(config => using(\n () => this.createDatabase(config),\n (manager: CCFDatabaseManager) => this.connectDatabase(manager, config)\n )),\n map(manager => manager.database),\n shareReplay(1)\n );\n }\n\n protected abstract createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager;\n\n private async connectDatabase(\n manager: CCFDatabaseManager, config: CCFDatabaseOptions\n ): Promise {\n const cacheResults = !isDevMode(); // Do not cache while in dev mode\n await manager.database.connect(config, cacheResults);\n return manager;\n }\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CCFDatabaseDataSourceService extends CCFDatabaseDataSourceBaseService {\n protected createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager {\n return {\n database: new CCFDatabase(config),\n unsubscribe: () => undefined\n };\n }\n}\n\n@Injectable()\nexport abstract class WorkerCCFDatabaseDataSourceService extends CCFDatabaseDataSourceBaseService {\n protected abstract createWorker(config: CCFDatabaseOptions): Worker;\n\n protected createDatabase(config: CCFDatabaseOptions): CCFDatabaseManager {\n const worker = this.createWorker(config);\n const database = wrap(worker);\n\n return {\n database,\n unsubscribe: () => {\n database[releaseProxy]();\n worker.terminate();\n }\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"components/XYZPositionComponent.html":{"url":"components/XYZPositionComponent.html","title":"component - XYZPositionComponent","body":"\n \n\n\n\n\n\n Components\n \n XYZPositionComponent\n\n\n\n \n Info\n \n \n Source\n \n \n Template\n \n \n Styles\n \n \n DOM Tree\n \n\n\n\n \n File\n\n\n projects/ccf-shared/src/lib/components/xyz-position/xyz-position.component.ts\n\n\n\n \n Description\n \n \n Component displaying a x, y, and z position\n\n \n\n\n\n\n\n Metadata\n \n \n\n \n changeDetection\n ChangeDetectionStrategy.OnPush\n \n\n\n\n\n\n\n\n\n\n\n \n selector\n ccf-xyz-position\n \n\n \n styleUrls\n ./xyz-position.component.scss\n \n\n\n\n \n templateUrl\n ./xyz-position.component.html\n \n\n\n\n\n\n\n\n\n \n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n clsName\n \n \n Readonly\n format\n \n \n \n \n\n\n \n \n Inputs\n \n \n \n \n \n \n x\n \n \n y\n \n \n z\n \n \n \n \n\n\n \n \n HostBindings\n \n \n \n \n \n \n class\n \n \n \n \n\n\n \n \n\n\n\n \n Inputs\n \n \n \n \n \n x\n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/xyz-position/xyz-position.component.ts:18\n \n \n \n \n X position\n\n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/xyz-position/xyz-position.component.ts:21\n \n \n \n \n Y position\n\n \n \n \n \n \n \n \n \n \n z\n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/xyz-position/xyz-position.component.ts:24\n \n \n \n \n Z position\n\n \n \n \n \n\n\n \n HostBindings \n \n \n \n \n \n class\n \n \n \n \n \n \n Type : \"ccf-xyz-position\"\n\n \n \n \n \n Default value : 'ccf-xyz-position'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/xyz-position/xyz-position.component.ts:15\n \n \n\n \n \n Html class name\n\n \n \n\n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n clsName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ccf-xyz-position'\n \n \n \n \n Decorators : \n \n \n @HostBinding('class')\n \n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/xyz-position/xyz-position.component.ts:15\n \n \n\n \n \n Html class name\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n format\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '1.0-2'\n \n \n \n \n Defined in projects/ccf-shared/src/lib/components/xyz-position/xyz-position.component.ts:27\n \n \n\n \n \n Number format for position values\n\n \n \n\n \n \n\n\n\n\n\n \n import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\n\n/**\n * Component displaying a x, y, and z position\n */\n@Component({\n selector: 'ccf-xyz-position',\n templateUrl: './xyz-position.component.html',\n styleUrls: ['./xyz-position.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class XYZPositionComponent {\n /** Html class name */\n @HostBinding('class') readonly clsName = 'ccf-xyz-position';\n\n /** X position */\n @Input() x = 0;\n\n /** Y position */\n @Input() y = 0;\n\n /** Z position */\n @Input() z = 0;\n\n /** Number format for position values */\n readonly format = '1.0-2';\n}\n\n \n\n \n X: {{ x | number:format }}\nY: {{ y | number:format }}\nZ: {{ z | number:format }}\n\n \n\n \n \n ./xyz-position.component.scss\n \n :host {\n display: flex;\n flex-direction: column;\n\n .line {\n font-size: 1rem;\n font-weight: 400;\n }\n}\n\n \n\n \n \n \n \n Legend\n \n \n Html element\n \n \n Component\n \n \n Html element with directive\n \n \n \n\n \n\n\n\n\n\n\n var COMPONENT_TEMPLATE = 'X: {{ x | number:format }}Y: {{ y | number:format }}Z: {{ z | number:format }}'\n var COMPONENTS = [{'name': 'BodyUiComponent', 'selector': 'ccf-body-ui'},{'name': 'CallToActionBehaviorComponent', 'selector': 'ccf-call-to-action-behavior'},{'name': 'CallToActionComponent', 'selector': 'ccf-call-to-action'},{'name': 'DecoratedTextComponent', 'selector': 'ccf-decorated-text'},{'name': 'InfoButtonComponent', 'selector': 'ccf-info-button'},{'name': 'InfoDialogComponent', 'selector': 'ccf-info-dialog'},{'name': 'OpacitySliderComponent', 'selector': 'ccf-opacity-slider'},{'name': 'OrganSelectorComponent', 'selector': 'ccf-organ-selector'},{'name': 'SpatialSearchListComponent', 'selector': 'ccf-spatial-search-list'},{'name': 'StoreDebugComponent', 'selector': 'ccf-store-debug'},{'name': 'TextSearchComponent', 'selector': 'ccf-text-search'},{'name': 'TrackingPopupComponent', 'selector': 'ccf-tracking-popup'},{'name': 'XYZPositionComponent', 'selector': 'ccf-xyz-position'}];\n var DIRECTIVES = [{'name': 'NumberDirective', 'selector': 'input[ccfNumbersOnly]'}];\n var ACTUAL_COMPONENT = {'name': 'XYZPositionComponent'};\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/XYZPositionModule.html":{"url":"modules/XYZPositionModule.html","title":"module - XYZPositionModule","body":"\n \n\n\n\n\n Modules\n XYZPositionModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_XYZPositionModule\n\n\n\ncluster_XYZPositionModule_declarations\n\n\n\ncluster_XYZPositionModule_exports\n\n\n\n\nXYZPositionComponent\n\nXYZPositionComponent\n\n\n\nXYZPositionModule\n\nXYZPositionModule\n\nXYZPositionModule -->\n\nXYZPositionComponent->XYZPositionModule\n\n\n\n\n\nXYZPositionComponent \n\nXYZPositionComponent \n\nXYZPositionComponent -->\n\nXYZPositionModule->XYZPositionComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n projects/ccf-shared/src/lib/components/xyz-position/xyz-position.module.ts\n \n\n\n\n\n\n \n \n \n Declarations\n \n \n XYZPositionComponent\n \n \n \n \n Exports\n \n \n XYZPositionComponent\n \n \n \n \n \n\n\n \n\n\n \n import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { XYZPositionComponent } from './xyz-position.component';\n\n\n@NgModule({\n imports: [CommonModule],\n declarations: [XYZPositionComponent],\n exports: [XYZPositionComponent]\n})\nexport class XYZPositionModule { }\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/XYZTriplet.html":{"url":"interfaces/XYZTriplet.html","title":"interface - XYZTriplet","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n XYZTriplet\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/ccf-shared/src/lib/components/body-ui/body-ui.component.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n x\n \n \n \n \n y\n \n \n \n \n z\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n x\n \n \n \n \n \n \n \n \n x: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n \n \n y: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n z\n \n \n \n \n \n \n \n \n z: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import {\n AfterViewInit, Component, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, Output, ViewChild,\n} from '@angular/core';\nimport { BodyUI, NodeClickEvent, NodeDragEvent, SpatialSceneNode } from 'ccf-body-ui';\nimport { Subscription } from 'rxjs';\n\n\ninterface XYZTriplet {\n x: T;\n y: T;\n z: T;\n}\n\n/**\n * Component that handles displaying the 3D models in the stage\n */\n@Component({\n selector: 'ccf-body-ui',\n templateUrl: './body-ui.component.html',\n styleUrls: ['./body-ui.component.scss']\n})\nexport class BodyUiComponent implements AfterViewInit, OnDestroy {\n /** HTML class name */\n @HostBinding('class') readonly clsName = 'ccf-body-ui';\n\n @Input()\n get scene(): SpatialSceneNode[] {\n return this._scene;\n }\n\n set scene(nodes: SpatialSceneNode[]) {\n this._scene = nodes;\n this.bodyUI?.setScene(nodes);\n }\n\n @Input()\n get rotation(): number {\n return this._rotation;\n }\n\n set rotation(value: number) {\n this._rotation = value;\n this.bodyUI?.setRotation(value);\n }\n\n @Input()\n get rotationX(): number {\n return this._rotationX;\n }\n\n set rotationX(value: number) {\n this._rotationX = value;\n this.bodyUI?.setRotationX(value);\n }\n\n @Input()\n get zoom(): number {\n return this._zoom;\n }\n\n set zoom(value: number) {\n this._zoom = value;\n this.bodyUI?.setZoom(value);\n }\n\n @Input()\n get target(): [number, number, number] {\n return this._target;\n }\n\n set target(value: [number, number, number]) {\n this._target = value;\n this.bodyUI?.setTarget(value);\n }\n\n @Input()\n get bounds(): XYZTriplet {\n return this._bounds;\n }\n\n set bounds(value: XYZTriplet) {\n this._bounds = value;\n this.zoomToBounds(value);\n }\n\n @Input()\n get camera(): string {\n return this._camera;\n }\n\n set camera(value: string) {\n this._camera = value;\n }\n\n @Output()\n readonly rotationChange = new EventEmitter();\n\n @Output()\n readonly nodeDrag = new EventEmitter();\n\n @Output()\n readonly nodeClick = new EventEmitter();\n\n @Output()\n readonly nodeHoverStart = new EventEmitter();\n\n @Output()\n readonly nodeHoverStop = new EventEmitter();\n\n @Output()\n readonly initialized = new EventEmitter();\n\n @Input()\n get interactive(): boolean {\n return this._interactive;\n }\n\n set interactive(value: boolean) {\n this._interactive = value;\n if (this.bodyUI) {\n this.recreateBodyUI();\n }\n }\n\n private _interactive = true;\n private _rotation = 0;\n private _rotationX = 0;\n private _zoom = 9.5;\n private _target: [number, number, number] = [0, 0, 0];\n private _bounds: XYZTriplet;\n private _scene: SpatialSceneNode[] = [];\n private subscriptions: Subscription[] = [];\n private _camera: string;\n\n /**\n * Instance of the body UI class for rendering the deckGL scene\n */\n bodyUI: BodyUI;\n\n /**\n * Reference to the div we are using to mount the body UI to.\n */\n @ViewChild('bodyCanvas', { read: ElementRef }) bodyCanvas: ElementRef;\n\n /**\n * Performs setup required after initialization\n */\n ngAfterViewInit(): void {\n this.setupBodyUI();\n }\n\n zoomToBounds(bounds: XYZTriplet, margin = { x: 48, y: 48 }): void {\n if (this.bodyCanvas) {\n const { width, height } = this.bodyCanvas.nativeElement;\n const pxRatio = window.devicePixelRatio;\n const zoom = Math.min(\n Math.log2((width - margin.x) / pxRatio / bounds.x),\n Math.log2((height - margin.y) / pxRatio / bounds.y)\n );\n this.zoom = zoom;\n }\n }\n\n /**\n * Set up required to render the body UI with the scene nodes.\n */\n private async setupBodyUI(): Promise {\n const canvas = this.bodyCanvas.nativeElement;\n const bodyUI = new BodyUI({\n id: 'body-ui',\n canvas,\n zoom: this.zoom,\n target: [0, 0, 0],\n rotation: 0,\n minRotationX: -75,\n maxRotationX: 75,\n interactive: this.interactive,\n camera: this.camera\n });\n canvas.addEventListener('contextmenu', evt => evt.preventDefault());\n await bodyUI.initialize();\n this.bodyUI = bodyUI;\n (window as unknown as { bodyUI: unknown }).bodyUI = bodyUI;\n if (this.scene?.length > 0) {\n this.bodyUI.setScene(this.scene);\n }\n if (this.bounds) {\n this.zoomToBounds(this.bounds);\n }\n if (this.target) {\n this.bodyUI.setTarget(this.target);\n }\n this.subscriptions = [\n this.bodyUI.sceneRotation$.subscribe((rotation) => this.rotationChange.next(rotation)),\n this.bodyUI.nodeDrag$.subscribe((event) => this.nodeDrag.emit(event)),\n this.bodyUI.nodeClick$.subscribe((event) => this.nodeClick.emit(event)),\n this.bodyUI.nodeHoverStart$.subscribe((event) => this.nodeHoverStart.emit(event)),\n this.bodyUI.nodeHoverStop$.subscribe((event) => this.nodeHoverStop.emit(event))\n ];\n this.initialized.emit();\n }\n\n private recreateBodyUI(): void {\n this.clearSubscriptions();\n this.bodyUI.finalize();\n this.setupBodyUI();\n }\n\n private clearSubscriptions(): void {\n this.subscriptions.forEach(s => s.unsubscribe());\n this.subscriptions = [];\n }\n\n ngOnDestroy(): void {\n this.clearSubscriptions();\n }\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.2 - 2023-07-12\nAdded in 3.7.2\n\nClient side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1\n\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/analytics.module.ts\n \n interface\n AnalyticsOptions\n \n 0 %\n (0/5)\n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/analytics.module.ts\n \n function\n initCommands\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/analytics.module.ts\n \n function\n toAttributes\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/analytics.module.ts\n \n variable\n EAGERLY_LOADED_SERVICES\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/consent.service.ts\n \n injectable\n ConsentService\n \n 0 %\n (0/7)\n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/google-analytics-sync.service.ts\n \n injectable\n GoogleAnalyticsSyncService\n \n 0 %\n (0/6)\n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts\n \n injectable\n LocalStorageSyncService\n \n 0 %\n (0/7)\n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts\n \n variable\n LOCAL_STORAGE_CONSENT_KEY\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/filter-nulls.ts\n \n function\n filterNulls\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/flatten.ts\n \n function\n flatten\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/inner-map.ts\n \n function\n innerMap\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n interface\n PluckUniqueOptions\n \n 100 %\n (2/2)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n function\n pluckUnique\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n variable\n DEFAULT_OPTIONS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/src/public-api.ts\n \n variable\n placeholder\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/analytics/mouse-position-tracker.module.ts\n \n function\n trackMousePosition\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n injectable\n TrackingState\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n interface\n TrackingStateModel\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n function\n getTelemetryStorageSetting\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n variable\n INITIAL_TELEMETRY_SETTING\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n variable\n LOCAL_STORAGE_ALLOW_TELEMETRY_KEY\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/body-ui/body-ui.component.ts\n \n component\n BodyUiComponent\n \n 20 %\n (7/34)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/body-ui/body-ui.component.ts\n \n interface\n XYZTriplet\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/call-to-action-behavior/call-to-action-behavior.component.ts\n \n component\n CallToActionBehaviorComponent\n \n 42 %\n (3/7)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/call-to-action/call-to-action.component.ts\n \n component\n CallToActionComponent\n \n 100 %\n (11/11)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-range.ts\n \n interface\n DecoratedRange\n \n 100 %\n (5/5)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-range.ts\n \n function\n normalize\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-range.ts\n \n function\n resolveIndex\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts\n \n component\n DecoratedTextComponent\n \n 100 %\n (13/13)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts\n \n interface\n Segment\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-text.component.ts\n \n interface\n StackOp\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/info/info-button/info-button.component.ts\n \n component\n InfoButtonComponent\n \n 77 %\n (7/9)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts\n \n injectable\n InfoButtonService\n \n 60 %\n (3/5)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts\n \n interface\n DocumentationContent\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/info/info-button/info-button.service.ts\n \n interface\n PanelData\n \n 0 %\n (0/4)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts\n \n component\n InfoDialogComponent\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/info/info-dialog/info-dialog.component.ts\n \n interface\n InfoDialogData\n \n 25 %\n (1/4)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/opacity-slider/opacity-slider.component.ts\n \n component\n OpacitySliderComponent\n \n 78 %\n (11/14)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/organ-selector/organ-selector.component.ts\n \n component\n OrganSelectorComponent\n \n 76 %\n (23/30)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/organ-selector/organ-selector.component.ts\n \n interface\n OrganInfo\n \n 100 %\n (9/9)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/organ-selector/organ-selector.component.ts\n \n variable\n ALL_ORGANS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/organ-selector/organ-selector.component.ts\n \n variable\n ALL_POSSIBLE_ORGANS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts\n \n component\n SpatialSearchListComponent\n \n 100 %\n (10/10)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/spatial-search-list/spatial-search-list.component.ts\n \n interface\n SpatialSearchListItem\n \n 100 %\n (3/3)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts\n \n component\n StoreDebugComponent\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/text-search/text-search.component.ts\n \n component\n TextSearchComponent\n \n 100 %\n (15/15)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/text-search/text-search.component.ts\n \n interface\n AutoCompleteOption\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/text-search/text-search.component.ts\n \n variable\n DEFAULT_MAX_OPTIONS\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/tracking-popup/tracking-popup.component.ts\n \n component\n TrackingPopupComponent\n \n 0 %\n (0/9)\n \n \n \n \n \n projects/ccf-shared/src/lib/components/xyz-position/xyz-position.component.ts\n \n component\n XYZPositionComponent\n \n 100 %\n (7/7)\n \n \n \n \n \n projects/ccf-shared/src/lib/config/global-config.state.ts\n \n injectable\n GlobalConfigState\n \n 0 %\n (0/11)\n \n \n \n \n \n projects/ccf-shared/src/lib/directives/numbers-only/numbers-only.directive.ts\n \n directive\n NumberDirective\n \n 100 %\n (4/4)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n injectable\n ApiEndpointDataSourceService\n \n 0 %\n (0/17)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n interface\n ApiEndpointDataSourceOptions\n \n 0 %\n (0/3)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n interface\n DefaultParams\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n interface\n FilterParams\n \n 0 %\n (0/11)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n function\n cast\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n function\n filterToParams\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n function\n rangeToMinMax\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n function\n spatialSceneNodeReviver\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n variable\n buster$\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n variable\n CACHE_CONFIG_NO_PARAMS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n variable\n CACHE_CONFIG_PARAMS\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts\n \n injectable\n CCFDatabaseDataSourceBaseService\n \n 0 %\n (0/19)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts\n \n injectable\n CCFDatabaseDataSourceService\n \n 0 %\n (0/18)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts\n \n injectable\n WorkerCCFDatabaseDataSourceService\n \n 0 %\n (0/19)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/ccf-database.service.ts\n \n interface\n CCFDatabaseManager\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.service.ts\n \n injectable\n DataSourceService\n \n 0 %\n (0/13)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.ts\n \n class\n DelegateDataSource\n \n 0 %\n (0/15)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.ts\n \n class\n ForwardingDataSource\n \n 0 %\n (0/14)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.ts\n \n interface\n DataSource\n \n 0 %\n (0/13)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/injector-delegate.service.ts\n \n injectable\n InjectorDelegateDataSourceService\n \n 0 %\n (0/17)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/globals/globals.service.ts\n \n injectable\n GlobalsService\n \n 50 %\n (6/12)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/globals/globals.service.ts\n \n variable\n global\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/services/local-storage/local-storage.service.ts\n \n injectable\n LocalStorageService\n \n 85 %\n (6/7)\n \n \n \n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts\n \n class\n CloseDialog\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts\n \n class\n LearnMore\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.actions.ts\n \n class\n OpenDialog\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.selectors.ts\n \n class\n CallToActionSelectors\n \n 0 %\n (0/7)\n \n \n \n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts\n \n injectable\n CallToActionState\n \n 77 %\n (7/9)\n \n \n \n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts\n \n interface\n CallToActionModel\n \n 14 %\n (1/7)\n \n \n \n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts\n \n variable\n POPUP_SHOWN_STORAGE_KEY\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts\n \n variable\n SPATIAL_SEARCH_README\n \n 100 %\n (1/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n object-hash : ^3.0.0\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n cast   (projects/.../api-endpoint.service.ts)\n \n \n filterNulls   (projects/.../filter-nulls.ts)\n \n \n filterToParams   (projects/.../api-endpoint.service.ts)\n \n \n flatten   (projects/.../flatten.ts)\n \n \n getTelemetryStorageSetting   (projects/.../tracking.state.ts)\n \n \n initCommands   (projects/.../analytics.module.ts)\n \n \n innerMap   (projects/.../inner-map.ts)\n \n \n normalize   (projects/.../decorated-range.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n pluckUnique   (projects/.../pluck-unique.ts)\n \n \n rangeToMinMax   (projects/.../api-endpoint.service.ts)\n \n \n resolveIndex   (projects/.../decorated-range.ts)\n \n \n spatialSceneNodeReviver   (projects/.../api-endpoint.service.ts)\n \n \n toAttributes   (projects/.../analytics.module.ts)\n \n \n trackMousePosition   (projects/.../mouse-position-tracker.module.ts)\n \n \n \n \n \n \n\n\n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n \n \n \n \n \n \n cast\n \n \n \n \n \n \ncast()\n \n \n\n\n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n filterToParams\n \n \n \n \n \n \nfilterToParams(filter?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n filter\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : FilterParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rangeToMinMax\n \n \n \n \n \n \nrangeToMinMax(range, low, high)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n range\n\n \n No\n \n\n\n \n \n low\n\n \n No\n \n\n\n \n \n high\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : MinMax | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n spatialSceneNodeReviver\n \n \n \n \n \n \nspatialSceneNodeReviver(nodes)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n nodes\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : SpatialSceneNode[]\n\n \n \n \n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/filter-nulls.ts\n \n \n \n \n \n \n \n filterNulls\n \n \n \n \n \n \nfilterNulls()\n \n \n\n\n\n\n \n \n Removes all null and undefined values from a stream.\n\n\n \n \n \n Returns : OperatorFunction\n\n \n \n An Observable operator\n\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/flatten.ts\n \n \n \n \n \n \n \n flatten\n \n \n \n \n \n \nflatten()\n \n \n\n\n\n\n \n \n Flattens a single level of nested arrays.\n\n\n \n \n \n Returns : OperatorFunction\n\n \n \n An Observable operator\n\n \n \n \n \n \n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n \n \n \n \n \n \n getTelemetryStorageSetting\n \n \n \n \n \n \ngetTelemetryStorageSetting()\n \n \n\n\n\n\n \n \n\n \n Returns : boolean | undefined\n\n \n \n \n \n \n projects/ccf-shared/analytics/src/lib/analytics.module.ts\n \n \n \n \n \n \n \n initCommands\n \n \n \n \n \n \ninitCommands(options)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n options\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : IGoogleAnalyticsCommand[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n toAttributes\n \n \n \n \n \n \ntoAttributes(obj)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n obj\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Record\n\n \n \n \n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/inner-map.ts\n \n \n \n \n \n \n \n innerMap\n \n \n \n \n \n \ninnerMap(project)\n \n \n\n\n\n\n \n \n Maps the values of each emitted array.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n project\n\n \n No\n \n\n\n \n Mapping callback invoked for each element\n\n \n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n An Observable operator\n\n \n \n \n \n \n projects/ccf-shared/src/lib/components/decorated-text/decorated-range.ts\n \n \n \n \n \n \n \n normalize\n \n \n \n \n \n \nnormalize(range, length)\n \n \n\n\n\n\n \n \n Produces a new range object based on the input where all properties have been normalized.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n range\n\n \n No\n \n\n\n \n The object to normalize.\n\n \n \n \n length\n\n \n No\n \n\n\n \n Max length for indices.\n\n \n \n \n \n \n \n \n \n Returns : DecoratedRange\n\n \n \n A new object where all undefined values have been replaced with defaults and\nwhere all indices have been constrained to the range [0, length].\n\n \n \n \n \n \n \n \n \n \n \n \n resolveIndex\n \n \n \n \n \n \nresolveIndex(index, length)\n \n \n\n\n\n\n \n \n Resolves and normalizes an index for indexing into an array of length length.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n index\n\n \n No\n \n\n\n \n The index value to resolve. May be negative indicating an index from end.\n\n \n \n \n length\n\n \n No\n \n\n\n \n The length of the object on which this index will be used.\n\n \n \n \n \n \n \n \n \n Returns : number\n\n \n \n A positive index in range [0, length]\n\n \n \n \n \n \n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(k1, opts?)\n \n \n\n\n\n\n \n \n Combines the functionaliy of pluck and distinctUntilChanged\nas well as adding a shareReplay.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n k1\n\n \n No\n \n\n\n \n \n \n \n opts\n\n \n Yes\n \n\n\n \n Additional options\n\n \n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n An Observable operator\n\n \n \n \n \n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(k1, k2, opts?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n k1\n\n \n No\n \n\n\n \n \n k2\n\n \n No\n \n\n\n \n \n opts\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(k1, k2, k3, opts?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n k1\n\n \n No\n \n\n\n \n \n k2\n\n \n No\n \n\n\n \n \n k3\n\n \n No\n \n\n\n \n \n opts\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(k1, k2, k3, k4, opts?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n k1\n\n \n No\n \n\n\n \n \n k2\n\n \n No\n \n\n\n \n \n k3\n\n \n No\n \n\n\n \n \n k4\n\n \n No\n \n\n\n \n \n opts\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(k1, k2, k3, k4, k5, opts?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n k1\n\n \n No\n \n\n\n \n \n k2\n\n \n No\n \n\n\n \n \n k3\n\n \n No\n \n\n\n \n \n k4\n\n \n No\n \n\n\n \n \n k5\n\n \n No\n \n\n\n \n \n opts\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(k1, k2, k3, k4, k5, k6, opts?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n k1\n\n \n No\n \n\n\n \n \n k2\n\n \n No\n \n\n\n \n \n k3\n\n \n No\n \n\n\n \n \n k4\n\n \n No\n \n\n\n \n \n k5\n\n \n No\n \n\n\n \n \n k6\n\n \n No\n \n\n\n \n \n opts\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(...props: undefined)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n props\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(...props: undefined)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n props\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n pluckUnique\n \n \n \n \n \n \npluckUnique(...props: undefined)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n props\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : OperatorFunction\n\n \n \n \n \n \n \n \n \n projects/ccf-shared/src/lib/analytics/mouse-position-tracker.module.ts\n \n \n \n \n \n \n \n trackMousePosition\n \n \n \n \n \n \ntrackMousePosition(el, ga)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n el\n\n \n No\n \n\n\n \n \n ga\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Subscription\n\n \n \n \n \n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n \n \n AnalyticsModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n BodyUiModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CallToActionBehaviorModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n CallToActionModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n DecoratedTextModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n InfoButtonModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n InfoDialogModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n MousePositionTrackerModule\n \n \n \n No graph available.\n \n \n Browse\n \n \n \n \n \n \n \n NumbersOnlyModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OpacitySliderModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n OrganSelectorModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n SpatialSearchListModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n StoreDebugModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TextSearchModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n TrackingPopupModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n \n \n XYZPositionModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n\n\n\n\n\ndependencies\n\ndependencies\n\ncluster_AnalyticsModule\n\n\n\ncluster_AnalyticsModule_providers\n\n\n\ncluster_BodyUiModule\n\n\n\ncluster_BodyUiModule_declarations\n\n\n\ncluster_BodyUiModule_exports\n\n\n\ncluster_CallToActionBehaviorModule\n\n\n\ncluster_CallToActionBehaviorModule_declarations\n\n\n\ncluster_CallToActionBehaviorModule_imports\n\n\n\ncluster_CallToActionBehaviorModule_exports\n\n\n\ncluster_CallToActionModule\n\n\n\ncluster_CallToActionModule_declarations\n\n\n\ncluster_CallToActionModule_exports\n\n\n\ncluster_DecoratedTextModule\n\n\n\ncluster_DecoratedTextModule_declarations\n\n\n\ncluster_DecoratedTextModule_exports\n\n\n\ncluster_InfoButtonModule\n\n\n\ncluster_InfoButtonModule_declarations\n\n\n\ncluster_InfoButtonModule_imports\n\n\n\ncluster_InfoButtonModule_exports\n\n\n\ncluster_InfoDialogModule\n\n\n\ncluster_InfoDialogModule_declarations\n\n\n\ncluster_InfoDialogModule_exports\n\n\n\ncluster_NumbersOnlyModule\n\n\n\ncluster_NumbersOnlyModule_declarations\n\n\n\ncluster_NumbersOnlyModule_exports\n\n\n\ncluster_OpacitySliderModule\n\n\n\ncluster_OpacitySliderModule_declarations\n\n\n\ncluster_OpacitySliderModule_exports\n\n\n\ncluster_OrganSelectorModule\n\n\n\ncluster_OrganSelectorModule_declarations\n\n\n\ncluster_OrganSelectorModule_exports\n\n\n\ncluster_SpatialSearchListModule\n\n\n\ncluster_SpatialSearchListModule_declarations\n\n\n\ncluster_SpatialSearchListModule_exports\n\n\n\ncluster_StoreDebugModule\n\n\n\ncluster_StoreDebugModule_declarations\n\n\n\ncluster_StoreDebugModule_exports\n\n\n\ncluster_TextSearchModule\n\n\n\ncluster_TextSearchModule_declarations\n\n\n\ncluster_TextSearchModule_exports\n\n\n\ncluster_TrackingPopupModule\n\n\n\ncluster_TrackingPopupModule_declarations\n\n\n\ncluster_TrackingPopupModule_exports\n\n\n\ncluster_XYZPositionModule\n\n\n\ncluster_XYZPositionModule_declarations\n\n\n\ncluster_XYZPositionModule_exports\n\n\n\n\nConsentService\n\nConsentService\n\n\n\nAnalyticsModule\n\nAnalyticsModule\n\nAnalyticsModule -->\n\nConsentService->AnalyticsModule\n\n\n\n\n\nGoogleAnalyticsSyncService\n\nGoogleAnalyticsSyncService\n\nAnalyticsModule -->\n\nGoogleAnalyticsSyncService->AnalyticsModule\n\n\n\n\n\nLocalStorageSyncService\n\nLocalStorageSyncService\n\nAnalyticsModule -->\n\nLocalStorageSyncService->AnalyticsModule\n\n\n\n\n\nBodyUiComponent\n\nBodyUiComponent\n\n\n\nBodyUiModule\n\nBodyUiModule\n\nBodyUiModule -->\n\nBodyUiComponent->BodyUiModule\n\n\n\n\n\nBodyUiComponent \n\nBodyUiComponent \n\nBodyUiComponent -->\n\nBodyUiModule->BodyUiComponent \n\n\n\n\n\nCallToActionBehaviorComponent\n\nCallToActionBehaviorComponent\n\n\n\nCallToActionBehaviorModule\n\nCallToActionBehaviorModule\n\nCallToActionBehaviorModule -->\n\nCallToActionBehaviorComponent->CallToActionBehaviorModule\n\n\n\n\n\nCallToActionBehaviorComponent \n\nCallToActionBehaviorComponent \n\nCallToActionBehaviorComponent -->\n\nCallToActionBehaviorModule->CallToActionBehaviorComponent \n\n\n\n\n\nCallToActionModule\n\nCallToActionModule\n\nCallToActionBehaviorModule -->\n\nCallToActionModule->CallToActionBehaviorModule\n\n\n\n\n\nCallToActionComponent \n\nCallToActionComponent \n\nCallToActionComponent -->\n\nCallToActionModule->CallToActionComponent \n\n\n\n\n\nCallToActionComponent\n\nCallToActionComponent\n\nCallToActionModule -->\n\nCallToActionComponent->CallToActionModule\n\n\n\n\n\nDecoratedTextComponent\n\nDecoratedTextComponent\n\n\n\nDecoratedTextModule\n\nDecoratedTextModule\n\nDecoratedTextModule -->\n\nDecoratedTextComponent->DecoratedTextModule\n\n\n\n\n\nDecoratedTextComponent \n\nDecoratedTextComponent \n\nDecoratedTextComponent -->\n\nDecoratedTextModule->DecoratedTextComponent \n\n\n\n\n\nTextSearchModule\n\nTextSearchModule\n\nTextSearchModule -->\n\nDecoratedTextModule->TextSearchModule\n\n\n\n\n\nInfoButtonComponent\n\nInfoButtonComponent\n\n\n\nInfoButtonModule\n\nInfoButtonModule\n\nInfoButtonModule -->\n\nInfoButtonComponent->InfoButtonModule\n\n\n\n\n\nInfoButtonComponent \n\nInfoButtonComponent \n\nInfoButtonComponent -->\n\nInfoButtonModule->InfoButtonComponent \n\n\n\n\n\nInfoDialogModule\n\nInfoDialogModule\n\nInfoButtonModule -->\n\nInfoDialogModule->InfoButtonModule\n\n\n\n\n\nInfoDialogComponent \n\nInfoDialogComponent \n\nInfoDialogComponent -->\n\nInfoDialogModule->InfoDialogComponent \n\n\n\n\n\nInfoDialogComponent\n\nInfoDialogComponent\n\nInfoDialogModule -->\n\nInfoDialogComponent->InfoDialogModule\n\n\n\n\n\nNumberDirective\n\nNumberDirective\n\n\n\nNumbersOnlyModule\n\nNumbersOnlyModule\n\nNumbersOnlyModule -->\n\nNumberDirective->NumbersOnlyModule\n\n\n\n\n\nNumberDirective \n\nNumberDirective \n\nNumberDirective -->\n\nNumbersOnlyModule->NumberDirective \n\n\n\n\n\nOpacitySliderComponent\n\nOpacitySliderComponent\n\n\n\nOpacitySliderModule\n\nOpacitySliderModule\n\nOpacitySliderModule -->\n\nOpacitySliderComponent->OpacitySliderModule\n\n\n\n\n\nOpacitySliderComponent \n\nOpacitySliderComponent \n\nOpacitySliderComponent -->\n\nOpacitySliderModule->OpacitySliderComponent \n\n\n\n\n\nOrganSelectorComponent\n\nOrganSelectorComponent\n\n\n\nOrganSelectorModule\n\nOrganSelectorModule\n\nOrganSelectorModule -->\n\nOrganSelectorComponent->OrganSelectorModule\n\n\n\n\n\nOrganSelectorComponent \n\nOrganSelectorComponent \n\nOrganSelectorComponent -->\n\nOrganSelectorModule->OrganSelectorComponent \n\n\n\n\n\nSpatialSearchListComponent\n\nSpatialSearchListComponent\n\n\n\nSpatialSearchListModule\n\nSpatialSearchListModule\n\nSpatialSearchListModule -->\n\nSpatialSearchListComponent->SpatialSearchListModule\n\n\n\n\n\nSpatialSearchListComponent \n\nSpatialSearchListComponent \n\nSpatialSearchListComponent -->\n\nSpatialSearchListModule->SpatialSearchListComponent \n\n\n\n\n\nStoreDebugComponent\n\nStoreDebugComponent\n\n\n\nStoreDebugModule\n\nStoreDebugModule\n\nStoreDebugModule -->\n\nStoreDebugComponent->StoreDebugModule\n\n\n\n\n\nStoreDebugComponent \n\nStoreDebugComponent \n\nStoreDebugComponent -->\n\nStoreDebugModule->StoreDebugComponent \n\n\n\n\n\nTextSearchComponent\n\nTextSearchComponent\n\nTextSearchModule -->\n\nTextSearchComponent->TextSearchModule\n\n\n\n\n\nMatPrefix \n\nMatPrefix \n\nMatPrefix -->\n\nTextSearchModule->MatPrefix \n\n\n\n\n\nMatSuffix \n\nMatSuffix \n\nMatSuffix -->\n\nTextSearchModule->MatSuffix \n\n\n\n\n\nTextSearchComponent \n\nTextSearchComponent \n\nTextSearchComponent -->\n\nTextSearchModule->TextSearchComponent \n\n\n\n\n\nTrackingPopupComponent\n\nTrackingPopupComponent\n\n\n\nTrackingPopupModule\n\nTrackingPopupModule\n\nTrackingPopupModule -->\n\nTrackingPopupComponent->TrackingPopupModule\n\n\n\n\n\nTrackingPopupComponent \n\nTrackingPopupComponent \n\nTrackingPopupComponent -->\n\nTrackingPopupModule->TrackingPopupComponent \n\n\n\n\n\nXYZPositionComponent\n\nXYZPositionComponent\n\n\n\nXYZPositionModule\n\nXYZPositionModule\n\nXYZPositionModule -->\n\nXYZPositionComponent->XYZPositionModule\n\n\n\n\n\nXYZPositionComponent \n\nXYZPositionComponent \n\nXYZPositionComponent -->\n\nXYZPositionModule->XYZPositionComponent \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n \n\n \n \n \n \n \n \n 16 Modules\n \n \n \n \n \n \n \n \n 13 Components\n \n \n \n \n \n \n \n 1 Directive\n \n \n \n \n \n \n \n 15 Injectables\n \n \n \n \n \n \n \n 6 Classes\n \n \n \n \n \n \n \n 19 Interfaces\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n Consent   (projects/.../consent.service.ts)\n \n \n DataReviver   (projects/.../api-endpoint.service.ts)\n \n \n DataSourceDataType   (projects/.../data-source.ts)\n \n \n DataSourceLike   (projects/.../data-source.ts)\n \n \n DataSourceLikeMethod   (projects/.../data-source.ts)\n \n \n DataSourceMethod   (projects/.../data-source.ts)\n \n \n GlobalKey   (projects/.../globals.service.ts)\n \n \n GlobalThis   (projects/.../globals.service.ts)\n \n \n IObservableCacheConfig   (projects/.../api-endpoint.service.ts)\n \n \n KVList   (projects/.../store-debug.component.ts)\n \n \n KVPair   (projects/.../store-debug.component.ts)\n \n \n RequestMethod   (projects/.../api-endpoint.service.ts)\n \n \n \n \n \n \n\n\n projects/ccf-shared/analytics/src/lib/consent.service.ts\n \n \n \n \n \n \n Consent\n \n \n \n \n \"not-set\" | \"given\" | \"rescinded\"\n\n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n \n \n \n \n \n DataReviver\n \n \n \n \n function\n\n \n \n \n \n \n \n \n \n \n IObservableCacheConfig\n \n \n \n \n NonNullable<>\n\n \n \n \n \n \n \n \n \n \n RequestMethod\n \n \n \n \n function\n\n \n \n \n \n projects/ccf-shared/src/lib/services/data-source/data-source.ts\n \n \n \n \n \n \n DataSourceDataType\n \n \n \n \n ObservedValueOf>>\n\n \n \n \n \n \n \n \n \n \n DataSourceLike\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n DataSourceLikeMethod\n \n \n \n \n function\n\n \n \n \n \n \n \n \n \n \n DataSourceMethod\n \n \n \n \n \n\n \n \n \n \n projects/ccf-shared/src/lib/services/globals/globals.service.ts\n \n \n \n \n \n \n GlobalKey\n \n \n \n \n Type of keys allowed in the global object\n\n \n \n \n \n string | symbol\n\n \n \n \n \n \n \n \n \n \n GlobalThis\n \n \n \n \n Type of the global object\n\n \n \n \n \n \n\n \n \n \n \n projects/ccf-shared/src/lib/components/store-debug/store-debug.component.ts\n \n \n \n \n \n \n KVList\n \n \n \n \n Array of Key-Value pairs\n\n \n \n \n \n KVPair[]\n\n \n \n \n \n \n \n \n \n \n KVPair\n \n \n \n \n Key-Value pair\n\n \n \n \n \n [string, T]\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Variables\n\n\n\n Index\n \n \n \n \n \n \n ALL_ORGANS   (projects/.../organ-selector.component.ts)\n \n \n ALL_POSSIBLE_ORGANS   (projects/.../organ-selector.component.ts)\n \n \n buster$   (projects/.../api-endpoint.service.ts)\n \n \n CACHE_CONFIG_NO_PARAMS   (projects/.../api-endpoint.service.ts)\n \n \n CACHE_CONFIG_PARAMS   (projects/.../api-endpoint.service.ts)\n \n \n DEFAULT_MAX_OPTIONS   (projects/.../text-search.component.ts)\n \n \n DEFAULT_OPTIONS   (projects/.../pluck-unique.ts)\n \n \n EAGERLY_LOADED_SERVICES   (projects/.../analytics.module.ts)\n \n \n global   (projects/.../globals.service.ts)\n \n \n INITIAL_TELEMETRY_SETTING   (projects/.../tracking.state.ts)\n \n \n LOCAL_STORAGE_ALLOW_TELEMETRY_KEY   (projects/.../tracking.state.ts)\n \n \n LOCAL_STORAGE_CONSENT_KEY   (projects/.../local-storage-sync.service.ts)\n \n \n placeholder   (projects/.../public-api.ts)\n \n \n POPUP_SHOWN_STORAGE_KEY   (projects/.../call-to-action.state.ts)\n \n \n SPATIAL_SEARCH_README   (projects/.../call-to-action.state.ts)\n \n \n \n \n \n \n\n\n projects/ccf-shared/src/lib/components/organ-selector/organ-selector.component.ts\n \n \n \n \n \n \n \n ALL_ORGANS\n \n \n \n \n \n \n Default value : ALL_POSSIBLE_ORGANS.filter(organ => organ.disabled !== true)\n \n \n\n \n \n All organs which have not been disabled\n\n \n \n\n \n \n \n \n \n \n \n \n ALL_POSSIBLE_ORGANS\n \n \n \n \n \n \n Default value : [\n {\n src: 'app:skin',\n organ: 'Skin',\n name: 'Skin',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002097'\n },\n {\n src: 'app:brain',\n organ: 'Brain',\n name: 'Brain',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000955'\n },\n {\n disabled: true,\n src: 'app:lymph-nodes',\n organ: 'Lymph Node',\n name: 'Lymph Node',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000029'\n },\n {\n src: 'app:lymph-nodes',\n organ: 'Lymph Node',\n name: 'Lymph Node',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002509'\n },\n {\n disabled: true,\n src: 'app:eye',\n organ: 'Eye',\n name: 'Eye, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000970'\n },\n {\n src: 'app:eye',\n organ: 'Eye',\n name: 'Eye, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004548'\n },\n {\n src: 'app:eye',\n organ: 'Eye',\n name: 'Eye, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004549'\n },\n {\n disabled: true,\n src: 'app:fallopian-tube-left',\n organ: 'Fallopian Tube',\n name: 'Fallopian Tube, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0003889'\n },\n {\n src: 'app:fallopian-tube-left',\n organ: 'Fallopian Tube',\n name: 'Fallopian Tube, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0001303'\n },\n {\n src: 'app:fallopian-tube-right',\n organ: 'Fallopian Tube',\n name: 'Fallopian Tube, R',\n side: 'right',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0001302'\n },\n {\n src: 'app:heart',\n organ: 'Heart',\n name: 'Heart',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000948'\n },\n {\n disabled: true,\n src: 'app:kidney-left',\n organ: 'Kidney',\n name: 'Kidney, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002113'\n },\n {\n src: 'app:kidney-left',\n organ: 'Kidney',\n name: 'Kidney, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004538'\n },\n {\n src: 'app:kidney-right',\n organ: 'Kidney',\n name: 'Kidney, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004539'\n },\n {\n disabled: true,\n src: 'app:knee',\n organ: 'Knee',\n name: 'Knee, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001465'\n },\n {\n src: 'app:knee',\n organ: 'Knee',\n name: 'Knee, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.org/sig/ont/fma/fma24978'\n },\n {\n src: 'app:knee',\n organ: 'Knee',\n name: 'Knee, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.org/sig/ont/fma/fma24977'\n },\n {\n src: 'app:liver',\n organ: 'Liver',\n name: 'Liver',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002107'\n },\n {\n disabled: true,\n src: 'app:lung',\n organ: 'Lung',\n name: 'Lungs',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002048'\n },\n {\n src: 'app:lung',\n organ: 'Lung',\n name: 'Lungs',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001004'\n },\n {\n disabled: true,\n src: 'app:mammary-gland',\n organ: 'Mammary Gland',\n name: 'Mammary Gland, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0001911'\n },\n {\n src: 'app:mammary-gland',\n organ: 'Mammary Gland',\n name: 'Mammary Gland, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.org/sig/ont/fma/fma57991'\n },\n {\n src: 'app:mammary-gland',\n organ: 'Mammary Gland',\n name: 'Mammary Gland, R',\n side: 'right',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.org/sig/ont/fma/fma57987'\n },\n {\n disabled: true,\n src: 'app:ovary-left',\n organ: 'Ovary',\n name: 'Ovary, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0000992'\n },\n {\n src: 'app:ovary-left',\n organ: 'Ovary',\n name: 'Ovary, L',\n side: 'left',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.org/sig/ont/fma/fma7214'\n },\n {\n src: 'app:ovary-right',\n organ: 'Ovary',\n name: 'Ovary, R',\n side: 'right',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.org/sig/ont/fma/fma7213'\n },\n {\n src: 'app:larynx',\n organ: 'Larynx',\n name: 'Larynx',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001737'\n },\n {\n src: 'app:main-bronchus',\n organ: 'Main Bronchus',\n name: 'Main Bronchus',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002182'\n },\n {\n disabled: true,\n src: 'app:palatine-tonsil',\n organ: 'Palatine Tonsil',\n name: 'Palatine Tonsil, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002373'\n },\n {\n src: 'app:palatine-tonsil',\n organ: 'Palatine Tonsil',\n name: 'Palatine Tonsil, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.org/sig/ont/fma/fma54974'\n },\n {\n src: 'app:palatine-tonsil',\n organ: 'Palatine Tonsil',\n name: 'Palatine Tonsil, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.org/sig/ont/fma/fma54973'\n },\n {\n src: 'app:pancreas',\n organ: 'Pancreas',\n name: 'Pancreas',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001264'\n },\n {\n src: 'app:pelvis-f',\n organ: 'Pelvis',\n name: 'Pelvis',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001270'\n },\n {\n src: 'app:placenta',\n organ: 'Placenta',\n name: 'Placenta',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0001987'\n },\n {\n src: 'app:prostate',\n organ: 'Prostate',\n name: 'Prostate',\n hasSex: false,\n sex: 'male',\n id: 'http://purl.obolibrary.org/obo/UBERON_0002367',\n disabled: true\n },\n {\n src: 'app:prostate',\n organ: 'Prostate',\n name: 'Prostate',\n hasSex: false,\n sex: 'male',\n id: 'http://purl.obolibrary.org/obo/UBERON_0000079'\n },\n {\n src: 'app:small-intestine',\n organ: 'Small Intestine',\n name: 'Small Intestine',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002108'\n },\n {\n src: 'app:large-intestine',\n organ: 'Large Intestine',\n name: 'Large Intestine',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000059'\n },\n {\n src: 'app:spinal-cord',\n organ: 'Spinal Cord',\n name: 'Spinal Cord',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002240'\n },\n {\n src: 'app:spleen',\n organ: 'Spleen',\n name: 'Spleen',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002106'\n },\n {\n src: 'app:thymus',\n organ: 'Thymus',\n name: 'Thymus',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002370'\n },\n {\n src: 'app:trachea',\n organ: 'Trachea',\n name: 'Trachea',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0003126'\n },\n {\n disabled: true,\n src: 'app:ureter-left',\n organ: 'Ureter',\n name: 'Ureter, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0000056'\n },\n {\n src: 'app:ureter-left',\n organ: 'Ureter',\n name: 'Ureter, L',\n side: 'left',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001223'\n },\n {\n src: 'app:ureter-right',\n organ: 'Ureter',\n name: 'Ureter, R',\n side: 'right',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001222'\n },\n {\n src: 'app:bladder',\n organ: 'Urinary Bladder',\n name: 'Urinary Bladder',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0001255'\n },\n {\n src: 'app:uterus',\n organ: 'Uterus',\n name: 'Uterus',\n hasSex: false,\n sex: 'female',\n id: 'http://purl.obolibrary.org/obo/UBERON_0000995'\n },\n {\n src: 'app:vasculature-thick',\n organ: 'Blood Vasculature',\n name: 'Blood Vasculature',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0004537'\n },\n {\n disabled: true,\n src: 'app:vasculature-thick',\n organ: 'Blood Vasculature',\n name: 'Blood Vasculature',\n hasSex: true,\n id: 'http://purl.obolibrary.org/obo/UBERON_0002049'\n }\n].sort((a, b) => a.name.localeCompare(b.name)) as OrganInfo[]\n \n \n\n \n \n All organs that will eventually be displayed in the app\n\n \n \n\n \n \n\n projects/ccf-shared/src/lib/services/data-source/api-endpoint.service.ts\n \n \n \n \n \n \n \n buster$\n \n \n \n \n \n \n Default value : new Subject()\n \n \n\n\n \n \n \n \n \n \n \n \n CACHE_CONFIG_NO_PARAMS\n \n \n \n \n \n \n Type : IObservableCacheConfig\n\n \n \n \n \n Default value : {\n cacheBusterObserver: buster$\n}\n \n \n\n\n \n \n \n \n \n \n \n \n CACHE_CONFIG_PARAMS\n \n \n \n \n \n \n Type : IObservableCacheConfig\n\n \n \n \n \n Default value : {\n cacheBusterObserver: buster$,\n maxCacheCount: 4\n}\n \n \n\n\n \n \n\n projects/ccf-shared/src/lib/components/text-search/text-search.component.ts\n \n \n \n \n \n \n \n DEFAULT_MAX_OPTIONS\n \n \n \n \n \n \n Default value : new InjectionToken(\n 'Maximum number of autocomplete options displayed',\n {\n providedIn: 'root',\n factory(): number {\n return 10;\n }\n }\n)\n \n \n\n \n \n Token to provide a default for the maximum number of\nautocomplete suggestions to show at the same time.\n\n \n \n\n \n \n\n projects/ccf-shared/rxjs-ext/operators/src/lib/pluck-unique.ts\n \n \n \n \n \n \n \n DEFAULT_OPTIONS\n \n \n \n \n \n \n Type : PluckUniqueOptions<>\n\n \n \n \n \n Default value : {}\n \n \n\n \n \n Default options\n\n \n \n\n \n \n\n projects/ccf-shared/analytics/src/lib/analytics.module.ts\n \n \n \n \n \n \n \n EAGERLY_LOADED_SERVICES\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : [\n ConsentService,\n GoogleAnalyticsSyncService,\n LocalStorageSyncService,\n]\n \n \n\n\n \n \n\n projects/ccf-shared/src/lib/services/globals/globals.service.ts\n \n \n \n \n \n \n \n global\n \n \n \n \n \n \n Type : GlobalThis\n\n \n \n\n\n \n \n\n projects/ccf-shared/src/lib/analytics/tracking.state.ts\n \n \n \n \n \n \n \n INITIAL_TELEMETRY_SETTING\n \n \n \n \n \n \n Default value : getTelemetryStorageSetting()\n \n \n\n\n \n \n \n \n \n \n \n \n LOCAL_STORAGE_ALLOW_TELEMETRY_KEY\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'ALLOW_TELEMETRY'\n \n \n\n\n \n \n\n projects/ccf-shared/analytics/src/lib/local-storage-sync.service.ts\n \n \n \n \n \n \n \n LOCAL_STORAGE_CONSENT_KEY\n \n \n \n \n \n \n Default value : new InjectionToken('Key under which consent is stored', {\n providedIn: 'root',\n factory: () => 'ALLOW_TELEMETRY'\n})\n \n \n\n\n \n \n\n projects/ccf-shared/rxjs-ext/src/public-api.ts\n \n \n \n \n \n \n \n placeholder\n \n \n \n \n \n \n Default value : undefined\n \n \n\n\n \n \n\n projects/ccf-shared/src/lib/states/call-to-action/call-to-action.state.ts\n \n \n \n \n \n \n \n POPUP_SHOWN_STORAGE_KEY\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'callToActionPopupShown'\n \n \n\n \n \n Key for boolean determining if poup has been shown\n\n \n \n\n \n \n \n \n \n \n \n \n SPATIAL_SEARCH_README\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'assets/docs/SPATIAL_SEARCH_README.md'\n \n \n\n \n \n Path to readme markup doc\n\n \n \n\n \n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} } diff --git a/docs/triple-store-utils/changelog.html b/docs/triple-store-utils/changelog.html index 400267e7e..25a5b06c4 100644 --- a/docs/triple-store-utils/changelog.html +++ b/docs/triple-store-utils/changelog.html @@ -33,6 +33,11 @@

                    Changelog

                    Changelog for the Human Reference Atlas (HRA) User Interfaces

                    +

                    3.7.2 - 2023-07-12

                    +

                    Added in 3.7.2

                    +
                      +
                    • Client side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1
                    • +

                    3.7.0 - 2023-06-15

                    Added in 3.7.0

                      diff --git a/docs/triple-store-utils/dependencies.html b/docs/triple-store-utils/dependencies.html index 31637758e..90d398ec5 100644 --- a/docs/triple-store-utils/dependencies.html +++ b/docs/triple-store-utils/dependencies.html @@ -162,6 +162,8 @@ ngx-markdown : ^12.0.1
                    • node-fetch : ^2.6.7
                    • +
                    • + object-hash : ^3.0.0
                    • qs : ^6.10.2
                    • diff --git a/docs/triple-store-utils/js/search/search_index.js b/docs/triple-store-utils/js/search/search_index.js index d5310df52..8ac4f2a82 100644 --- a/docs/triple-store-utils/js/search/search_index.js +++ b/docs/triple-store-utils/js/search/search_index.js @@ -1,4 +1,4 @@ var COMPODOC_SEARCH_INDEX = { - "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/interfaces/QuadReader.html",[0,0.581,1,1.265]],["body/interfaces/QuadReader.html",[0,0.394,1,1.278,2,0.857,3,0.857,4,1.49,5,0.774,6,0.998,7,1.83,8,0.998,9,0.669,10,0.669,11,2.224,12,1.53,13,2.224,14,2.925,15,2.348,16,2.348,17,2.348,18,1.108,19,1.49,20,1.108,21,0.101,22,1.108,23,0.998,24,0.857,25,1.278,26,2.348,27,1.979,28,3.432,29,2.951,30,1.49,31,1.49,32,2.195,33,2.224,34,1.49,35,1.108,36,2.951,37,1.979,38,1.49,39,1.903,40,1.53,41,1.49,42,2.224,43,1.108,44,1.108,45,1.903,46,1.903,47,3.527,48,1.49,49,1.49,50,1.108,51,1.582,52,2.623,53,1.108,54,1.108,55,1.108,56,1.108,57,2.213,58,1.108,59,1.108,60,3.606,61,2.951,62,1.49,63,1.654,64,2.195,65,2.195,66,3.312,67,1.654,68,1.108,69,2.552,70,1.979,71,1.108,72,1.108,73,1.49,74,1.49,75,3.773,76,1.49,77,2.661,78,1.49,79,1.49,80,1.49,81,1.49,82,1.49,83,1.49,84,1.49,85,1.49,86,1.108,87,1.108,88,1.108,89,1.49,90,1.49,91,1.108,92,1.49,93,2.224,94,1.49,95,1.49,96,1.49,97,2.951,98,2.661,99,2.661,100,2.863,101,2.661,102,3.432,103,2.661,104,2.661,105,2.661,106,2.661,107,1.49,108,2.224,109,1.49,110,2.224,111,1.278,112,2.231,113,1.979,114,1.654,115,2.195,116,1.53,117,1.654,118,1.278,119,2.224,120,0.857,121,2.224,122,2.951,123,2.224,124,2.224,125,1.49,126,1.49,127,0.062,128,1.49,129,1.49,130,1.49,131,1.49,132,1.49,133,1.49,134,0.857,135,1.108,136,1.49,137,1.108,138,2.661,139,2.661,140,1.979,141,2.661,142,1.278,143,1.49,144,1.49,145,1.49,146,1.49,147,1.49,148,1.49,149,1.49,150,1.108,151,1.49,152,2.661,153,1.49,154,1.49,155,1.49,156,1.49,157,1.49,158,1.49,159,1.49,160,1.108,161,1.654,162,1.49,163,1.49,164,1.49,165,1.49,166,1.49,167,1.49,168,0.052,169,0.035]],["title/changelog.html",[170,1.077,171,0.841,172,1.077]],["body/changelog.html",[0,0.709,2,0.415,3,1.462,5,0.251,18,0.538,21,0.07,23,0.324,24,0.415,35,1.891,50,1.438,51,1.347,53,0.923,54,0.538,55,2.65,111,0.713,112,2.08,116,1.112,118,2.379,127,0.017,135,0.538,140,1.891,142,0.713,150,1.213,168,0.029,169,0.065,171,0.732,172,0.713,173,1.213,174,2.511,175,1.213,176,1.213,177,2.086,178,1.241,179,0.723,180,1.934,181,1.241,182,1.631,183,0.723,184,1.241,185,0.723,186,3.155,187,0.723,188,0.937,189,2.848,190,1.241,191,2.394,192,0.538,193,0.723,194,0.923,195,0.923,196,0.923,197,2.684,198,2.543,199,0.723,200,0.723,201,0.723,202,1.631,203,1.241,204,1.631,205,3.002,206,0.723,207,0.923,208,0.538,209,0.723,210,0.723,211,2.805,212,1.241,213,2.178,214,1.631,215,1.631,216,0.723,217,1.241,218,1.241,219,2.901,220,1.241,221,0.723,222,1.672,223,0.723,224,3.33,225,0.723,226,1.241,227,2.728,228,0.723,229,1.631,230,2.178,231,1.241,232,1.631,233,1.631,234,1.934,235,1.241,236,1.631,237,0.723,238,1.241,239,1.241,240,0.723,241,2.543,242,2.377,243,2.543,244,1.241,245,0.723,246,0.723,247,3.33,248,2.805,249,1.934,250,0.723,251,1.241,252,0.723,253,0.723,254,1.241,255,1.631,256,1.619,257,0.723,258,0.723,259,0.723,260,0.723,261,1.241,262,3.277,263,0.723,264,2.377,265,0.723,266,0.723,267,0.723,268,1.631,269,1.213,270,0.723,271,0.723,272,1.619,273,0.923,274,0.723,275,2.377,276,3.002,277,3.083,278,1.241,279,2.178,280,0.723,281,2.178,282,1.241,283,2.377,284,1.241,285,0.723,286,0.723,287,0.723,288,1.241,289,1.891,290,2.377,291,1.438,292,1.241,293,0.723,294,2.543,295,2.76,296,0.723,297,0.723,298,1.241,299,0.723,300,1.934,301,3.219,302,1.241,303,1.631,304,0.723,305,0.723,306,1.631,307,0.723,308,1.631,309,1.241,310,0.723,311,1.241,312,0.723,313,0.723,314,0.723,315,0.723,316,3.219,317,0.723,318,0.538,319,1.252,320,0.723,321,1.241,322,0.538,323,0.723,324,1.241,325,1.934,326,1.934,327,0.723,328,1.241,329,1.631,330,0.723,331,0.723,332,0.723,333,1.241,334,0.723,335,0.723,336,2.377,337,1.066,338,1.619,339,1.213,340,0.723,341,1.619,342,0.723,343,1.631,344,1.996,345,3.155,346,0.723,347,0.723,348,1.241,349,1.213,350,0.723,351,0.723,352,0.723,353,2.178,354,0.723,355,0.723,356,0.723,357,0.723,358,0.723,359,0.923,360,0.923,361,0.723,362,1.996,363,0.723,364,0.723,365,0.723,366,2.086,367,2.232,368,0.723,369,0.723,370,0.723,371,1.619,372,1.619,373,0.723,374,1.241,375,0.723,376,0.723,377,1.631,378,1.241,379,0.723,380,1.241,381,1.241,382,0.723,383,1.241,384,1.241,385,1.241,386,1.241,387,0.723,388,1.631,389,0.723,390,0.723,391,0.538,392,0.723,393,1.213,394,0.538,395,1.241,396,1.241,397,0.723,398,0.723,399,1.241,400,1.241,401,1.241,402,1.241,403,0.723,404,0.723,405,0.723,406,0.723,407,1.631,408,0.723,409,1.241,410,0.723,411,0.723,412,1.241,413,2.377,414,0.923,415,0.723,416,0.538,417,0.723,418,0.723,419,2.178,420,0.723,421,1.631,422,1.241,423,2.377,424,0.923,425,1.241,426,1.934,427,0.723,428,0.723,429,1.934,430,0.723,431,0.723,432,0.723,433,0.723,434,0.723,435,0.723,436,1.241,437,1.241,438,0.723,439,1.241,440,0.723,441,0.723,442,1.241,443,0.723,444,1.241,445,0.723,446,0.723,447,1.934,448,0.723,449,0.723,450,0.723,451,0.723,452,1.241,453,0.723,454,0.723,455,0.723,456,0.723,457,0.723,458,0.723,459,0.723,460,1.241,461,0.723,462,0.723,463,0.723,464,0.723,465,0.723,466,1.241,467,0.723,468,2.377,469,0.723,470,0.723,471,1.631,472,1.631,473,1.241,474,0.538,475,1.241,476,0.723,477,0.538,478,0.538,479,0.723,480,1.241,481,0.723,482,0.723,483,1.112,484,0.723,485,0.723,486,1.241,487,1.241,488,0.723,489,0.723,490,1.241,491,1.241,492,0.723,493,1.241,494,1.934,495,1.631,496,0.723,497,0.723,498,0.723,499,0.723,500,0.538,501,0.538,502,0.723,503,1.241,504,0.723,505,0.723,506,0.723,507,0.723,508,1.241,509,1.934,510,0.723,511,0.723,512,0.723,513,0.723,514,2.377,515,1.631,516,1.241,517,0.723,518,0.723,519,1.631,520,1.241,521,1.241,522,1.241,523,1.934,524,0.723,525,1.934,526,0.723,527,0.723,528,1.241,529,0.723,530,0.723,531,0.723,532,0.723,533,0.723,534,1.934,535,0.723,536,1.631,537,1.934,538,0.723,539,1.631,540,2.178,541,1.241,542,1.241,543,1.241,544,1.241,545,1.631,546,1.934,547,2.178,548,1.241,549,1.631,550,0.723,551,0.723,552,2.543,553,1.631,554,0.723,555,1.934,556,1.934,557,2.805,558,0.723,559,0.723,560,0.723,561,0.723,562,0.723,563,0.723,564,1.241,565,0.723,566,1.241,567,0.723,568,0.723,569,0.723,570,0.723,571,1.241,572,0.723,573,1.631,574,0.723,575,0.723,576,1.213,577,1.241,578,1.631,579,0.723,580,0.723,581,0.723,582,1.241,583,0.723,584,0.723,585,0.723,586,0.723,587,0.723,588,0.723,589,0.723,590,1.241,591,0.723,592,0.723,593,1.934,594,2.377,595,1.241,596,1.631,597,1.241,598,1.934,599,0.723,600,0.723,601,0.723,602,0.723,603,1.631,604,0.723,605,0.723,606,0.723,607,1.241,608,1.241,609,1.241,610,1.241,611,1.631,612,0.723,613,0.723,614,0.723,615,0.723,616,0.723,617,0.723,618,0.538,619,0.723,620,0.723,621,0.723,622,1.241,623,0.723,624,0.723,625,1.241,626,0.723,627,0.723,628,0.723,629,0.723,630,0.723,631,0.723,632,0.723,633,0.723,634,0.723,635,0.723,636,2.684,637,0.723,638,1.213,639,2.684,640,1.631,641,1.934,642,1.241,643,1.631,644,0.723,645,1.241,646,0.723,647,0.723,648,1.241,649,1.241,650,1.241,651,0.723,652,0.723,653,0.723,654,0.723,655,1.241,656,0.723,657,1.631,658,0.723,659,0.723,660,0.723,661,1.934,662,0.723,663,0.538,664,0.723,665,0.723,666,0.723,667,0.723,668,0.723,669,0.538,670,0.538,671,0.723,672,0.723,673,0.723,674,2.178,675,0.723,676,0.723,677,0.723,678,0.723,679,0.723,680,0.723,681,0.723,682,0.723,683,0.723,684,0.723,685,0.723,686,0.723,687,0.723,688,0.723,689,0.723,690,0.723,691,1.241,692,0.723,693,1.241,694,0.723,695,1.241,696,1.241,697,1.934,698,1.934,699,1.241,700,1.241,701,0.723,702,0.723,703,0.723,704,1.631,705,0.723,706,0.538,707,0.723,708,0.723,709,0.723,710,0.723,711,0.723,712,0.723,713,1.241,714,2.91,715,1.631,716,0.723,717,1.241,718,0.723,719,0.723,720,0.723,721,0.723,722,0.923,723,0.723,724,0.723,725,0.723,726,0.723,727,0.723,728,1.241,729,1.891,730,1.241,731,0.723,732,0.723,733,0.723,734,0.923,735,0.723,736,1.934,737,0.723,738,1.241,739,0.723,740,0.723,741,0.723,742,1.112,743,0.723,744,1.241,745,0.723,746,0.723,747,0.723,748,1.241,749,1.241,750,0.723,751,0.723,752,0.723,753,0.723,754,1.241,755,1.631,756,1.241,757,0.723,758,0.723,759,0.923,760,0.723,761,0.723,762,0.723,763,0.723,764,0.723,765,0.723,766,0.723,767,0.723,768,0.723,769,0.538,770,0.723,771,0.723,772,1.241,773,0.723,774,0.723,775,0.723,776,0.723,777,0.723,778,0.723,779,0.723,780,1.241,781,0.723,782,0.538,783,0.723,784,0.723,785,0.538,786,0.723,787,0.723,788,0.723,789,1.241,790,0.723,791,0.723,792,0.723,793,0.723,794,0.723,795,0.723,796,0.723,797,0.723,798,0.723,799,0.723,800,0.723,801,1.241,802,0.723,803,0.723,804,0.723,805,0.723,806,1.241,807,0.538,808,0.538,809,0.723,810,0.723,811,0.723,812,0.723,813,0.723,814,0.723,815,0.723]],["title/coverage.html",[742,1.684]],["body/coverage.html",[0,0.729,1,1.586,5,0.96,6,1.846,7,1.904,8,1.846,9,1.846,12,1.586,21,0.097,23,1.238,51,1.238,52,3.036,91,2.841,120,1.586,127,0.064,134,1.586,168,0.079,169,0.064,337,1.238,742,1.586,816,2.759,817,2.759,818,2.759,819,2.052,820,3.922,821,3.922,822,2.052,823,2.052,824,3.664,825,2.052,826,2.052,827,2.759,828,2.759]],["title/dependencies.html",[322,1.394,483,1.509]],["body/dependencies.html",[5,0.767,21,0.101,32,1.64,37,2.182,39,1.268,40,1.268,43,1.64,44,1.64,45,1.268,46,1.687,127,0.052,168,0.069,169,0.052,196,1.64,207,1.64,208,1.64,319,1.268,341,1.64,359,1.64,366,1.64,414,1.64,424,1.64,477,1.64,478,1.64,483,1.268,501,2.182,576,1.64,638,2.182,734,2.182,829,2.206,830,2.206,831,2.206,832,4.022,833,2.206,834,2.206,835,2.206,836,2.206,837,2.206,838,2.206,839,2.206,840,2.206,841,2.935,842,2.206,843,2.206,844,2.206,845,2.206,846,2.206,847,2.206,848,2.206,849,3.298,850,2.206,851,2.935,852,2.206,853,2.206,854,2.206,855,2.206,856,3.298,857,2.206,858,2.206,859,2.206,860,2.206,861,2.206,862,2.206,863,2.206,864,2.206,865,2.935,866,2.206,867,2.206,868,2.206,869,2.935,870,2.206,871,2.206,872,2.935,873,2.935,874,2.206,875,2.206,876,2.206,877,2.206,878,2.206,879,2.206,880,2.935,881,2.206,882,2.206,883,2.206,884,2.206,885,2.206,886,2.206,887,2.206,888,2.206,889,2.206,890,2.206,891,2.206,892,2.206,893,2.206,894,2.206,895,2.206,896,2.206,897,2.206,898,2.206,899,2.206,900,2.206,901,1.64,902,2.206,903,2.206,904,2.206,905,2.206,906,2.206,907,2.206,908,2.935,909,2.206,910,2.206,911,2.206,912,2.206,913,2.206,914,2.206,915,2.206,916,2.206,917,2.206,918,2.206,919,2.206,920,2.206,921,2.206,922,2.206,923,2.206,924,2.206,925,2.206,926,2.206,927,2.206,928,2.206,929,2.935,930,2.206,931,2.206,932,2.206,933,2.206,934,2.206,935,2.206,936,2.206,937,2.206,938,2.206,939,2.206,940,2.206,941,2.206,942,2.206,943,2.206,944,2.206,945,2.206,946,2.206,947,2.206,948,2.206,949,2.206,950,2.206,951,2.206]],["title/miscellaneous/functions.html",[952,0.841,953,1.953]],["body/miscellaneous/functions.html",[5,0.775,6,0.999,7,1.893,8,0.999,9,1.775,10,0.999,12,1.698,15,2.196,16,2.624,17,2.196,20,2.908,21,0.097,22,2.908,24,2.247,25,1.698,26,2.908,27,1.656,39,1.905,40,1.28,45,1.905,46,2.111,51,0.999,57,2.111,59,1.656,63,2.196,64,2.624,65,2.624,67,1.656,68,1.656,69,2.908,70,2.624,71,1.656,72,1.656,86,1.656,87,1.656,88,1.656,100,2.943,111,1.905,112,2.376,113,2.464,114,2.464,115,2.624,116,2.028,117,2.464,118,1.905,120,1.698,127,0.052,134,1.698,137,1.656,160,1.656,161,2.196,168,0.069,169,0.052,669,2.464,670,1.656,819,2.196,822,2.196,823,2.196,825,2.196,826,2.196,952,0.999,953,1.656,954,2.908,955,2.227,956,3.672,957,2.227,958,2.227,959,2.227,960,2.227]],["title/index.html",[10,0.841,170,1.077,171,0.841]],["body/index.html",[0,0.808,2,1.35,3,2.147,21,0.071,127,0.055,142,1.35,168,0.071,169,0.055,172,1.35,173,2.274,174,2.274,175,2.274,176,2.529,177,2.529,188,1.758,189,3.158,191,2.941,192,2.274,194,2.274,195,2.679,219,2.274,222,2.071,227,2.529,256,1.747,269,2.274,272,2.274,273,2.274,289,1.747,291,1.747,295,2.529,318,1.747,319,1.35,337,1.054,338,2.778,339,2.679,344,2.274,349,1.747,360,2.274,362,1.747,367,1.747,372,1.747,393,1.747,394,2.274,474,2.274,500,1.747,663,1.747,759,1.747,769,1.747,782,1.747,807,1.747,961,3.059,962,3.059,963,3.059,964,2.349,965,2.349,966,2.349,967,2.349,968,2.274,969,2.349,970,2.349,971,2.349,972,3.059,973,3.059,974,3.059,975,3.401,976,2.349,977,2.349,978,3.401,979,3.401,980,2.349,981,2.349,982,3.059,983,2.349,984,2.349,985,2.349,986,2.349,987,2.349,988,2.349,989,2.349,990,2.349,991,2.349,992,2.349,993,3.603,994,2.349,995,2.349,996,2.349,997,3.059,998,2.349,999,2.349,1000,3.059,1001,3.059,1002,2.349,1003,3.059,1004,3.059,1005,2.349,1006,2.349,1007,2.349,1008,2.349,1009,2.349,1010,2.349,1011,2.349,1012,2.349,1013,2.349,1014,2.349,1015,2.349,1016,2.349,1017,2.349,1018,2.349,1019,2.349]],["title/license.html",[170,1.077,171,0.841,1020,1.394]],["body/license.html",[21,0.08,25,1.602,127,0.065,168,0.08,169,0.065,188,1.959,222,1.602,337,1.251,371,2.534,391,2.737,416,2.073,618,2.534,706,2.073,729,2.073,785,2.073,808,2.073,901,2.073,968,3.065,1020,2.073,1021,2.788,1022,3.681,1023,2.788,1024,2.788,1025,3.408,1026,2.788,1027,2.788,1028,2.788,1029,2.788,1030,2.788,1031,2.788,1032,3.408,1033,2.788,1034,2.788,1035,2.788,1036,2.788,1037,2.788,1038,2.788,1039,2.788,1040,2.788,1041,2.788,1042,2.788,1043,2.788,1044,2.788,1045,3.408,1046,2.788,1047,2.788,1048,2.788,1049,2.788,1050,2.788,1051,3.408,1052,2.788,1053,2.788,1054,2.788,1055,2.788,1056,2.788,1057,2.788,1058,2.788,1059,2.788,1060,2.788,1061,2.788,1062,2.788,1063,2.788,1064,2.788,1065,2.788,1066,2.788,1067,2.788,1068,2.788,1069,2.788,1070,2.788,1071,2.788,1072,2.788,1073,2.788,1074,2.788,1075,2.788,1076,2.788,1077,2.788,1078,2.788,1079,2.788]],["title/modules.html",[1080,2.179]],["body/modules.html",[21,0.088,127,0.078,168,0.088,169,0.078,1080,2.471]],["title/overview.html",[1081,2.179]],["body/overview.html",[0,0.874,21,0.088,127,0.077,168,0.088,169,0.077,722,2.461,1081,2.461]],["title/miscellaneous/typealiases.html",[952,0.841,1082,2.626]],["body/miscellaneous/typealiases.html",[6,1.437,7,1.751,8,1.437,9,1.66,10,1.437,14,2.752,21,0.094,23,1.437,56,2.381,57,1.841,58,2.381,127,0.075,168,0.086,169,0.075,952,1.437,954,2.381,1083,3.203]]],"invertedIndex":[["",{"_index":21,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{}}}],["0",{"_index":91,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{}}}],["0.1.0",{"_index":806,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":951,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":887,"title":{},"body":{"dependencies.html":{}}}],["0.2.0",{"_index":801,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":909,"title":{},"body":{"dependencies.html":{}}}],["0.5.0",{"_index":789,"title":{},"body":{"changelog.html":{}}}],["0.6.0",{"_index":759,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0/1",{"_index":824,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":818,"title":{},"body":{"coverage.html":{}}}],["01",{"_index":231,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":604,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":540,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":279,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":509,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":180,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":230,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":730,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":213,"title":{},"body":{"changelog.html":{}}}],["1",{"_index":722,"title":{},"body":{"changelog.html":{},"overview.html":{}}}],["1.0",{"_index":639,"title":{},"body":{"changelog.html":{}}}],["1.0.0",{"_index":714,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":883,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":891,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":946,"title":{},"body":{"dependencies.html":{}}}],["1.1.0",{"_index":691,"title":{},"body":{"changelog.html":{}}}],["1.16.0",{"_index":925,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":884,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":638,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":895,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":928,"title":{},"body":{"dependencies.html":{}}}],["1.3.5",{"_index":603,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":576,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":912,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":539,"title":{},"body":{"changelog.html":{}}}],["1.6.0",{"_index":523,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":508,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":898,"title":{},"body":{"dependencies.html":{}}}],["1/1",{"_index":821,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":198,"title":{},"body":{"changelog.html":{}}}],["10.0.0",{"_index":907,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":820,"title":{},"body":{"coverage.html":{}}}],["10x",{"_index":703,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":578,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":930,"title":{},"body":{"dependencies.html":{}}}],["12",{"_index":289,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":932,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":832,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":840,"title":{},"body":{"dependencies.html":{}}}],["13",{"_index":402,"title":{},"body":{"changelog.html":{}}}],["14",{"_index":280,"title":{},"body":{"changelog.html":{}}}],["15",{"_index":181,"title":{},"body":{"changelog.html":{}}}],["15.126.1",{"_index":830,"title":{},"body":{"dependencies.html":{}}}],["16",{"_index":473,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":900,"title":{},"body":{"dependencies.html":{}}}],["17",{"_index":255,"title":{},"body":{"changelog.html":{}}}],["2",{"_index":661,"title":{},"body":{"changelog.html":{}}}],["2.0.0",{"_index":472,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":904,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":424,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":414,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.3.0",{"_index":409,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":401,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":385,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":359,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.6.7",{"_index":935,"title":{},"body":{"dependencies.html":{}}}],["2.8.5",{"_index":893,"title":{},"body":{"dependencies.html":{}}}],["2.awsapprunner.com",{"_index":990,"title":{},"body":{"index.html":{}}}],["2019",{"_index":729,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":641,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":345,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":197,"title":{},"body":{"changelog.html":{}}}],["2023",{"_index":179,"title":{},"body":{"changelog.html":{}}}],["21",{"_index":510,"title":{},"body":{"changelog.html":{}}}],["22",{"_index":716,"title":{},"body":{"changelog.html":{}}}],["24",{"_index":790,"title":{},"body":{"changelog.html":{}}}],["26",{"_index":541,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":581,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":214,"title":{},"body":{"changelog.html":{}}}],["3",{"_index":625,"title":{},"body":{"changelog.html":{}}}],["3.0.0",{"_index":341,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":856,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":298,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":288,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":278,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":254,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":229,"title":{},"body":{"changelog.html":{}}}],["3.5.0",{"_index":212,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":862,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":864,"title":{},"body":{"dependencies.html":{}}}],["3.6",{"_index":997,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":196,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.7.0",{"_index":178,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":873,"title":{},"body":{"dependencies.html":{}}}],["3.7.3",{"_index":876,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":425,"title":{},"body":{"changelog.html":{}}}],["31",{"_index":692,"title":{},"body":{"changelog.html":{}}}],["3d",{"_index":247,"title":{},"body":{"changelog.html":{}}}],["4",{"_index":660,"title":{},"body":{"changelog.html":{}}}],["4.0",{"_index":973,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":870,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":902,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":923,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":889,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":914,"title":{},"body":{"dependencies.html":{}}}],["4th",{"_index":200,"title":{},"body":{"changelog.html":{}}}],["5.0.0",{"_index":917,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":921,"title":{},"body":{"dependencies.html":{}}}],["5th",{"_index":185,"title":{},"body":{"changelog.html":{}}}],["6.0.1",{"_index":920,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":937,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":867,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":943,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":940,"title":{},"body":{"dependencies.html":{}}}],["8",{"_index":516,"title":{},"body":{"changelog.html":{}}}],["8.3.2",{"_index":949,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":860,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":849,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":852,"title":{},"body":{"dependencies.html":{}}}],["85",{"_index":800,"title":{},"body":{"changelog.html":{}}}],["90",{"_index":741,"title":{},"body":{"changelog.html":{}}}],["95",{"_index":284,"title":{},"body":{"changelog.html":{}}}],["9th",{"_index":551,"title":{},"body":{"changelog.html":{}}}],["_factory",{"_index":167,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["ability",{"_index":442,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":785,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["accepts",{"_index":114,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["accurate",{"_index":538,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":1072,"title":{},"body":{"license.html":{}}}],["actions",{"_index":629,"title":{},"body":{"changelog.html":{}}}],["add",{"_index":117,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["added",{"_index":118,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["additional",{"_index":786,"title":{},"body":{"changelog.html":{}}}],["addjsonldtostore",{"_index":819,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["addjsonldtostore(uri",{"_index":955,"title":{},"body":{"miscellaneous/functions.html":{}}}],["addn3tostore",{"_index":134,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["addn3tostore(uri",{"_index":957,"title":{},"body":{"miscellaneous/functions.html":{}}}],["addrdfxmltostore",{"_index":120,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["addrdfxmltostore(uri",{"_index":958,"title":{},"body":{"miscellaneous/functions.html":{}}}],["addressed",{"_index":684,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":111,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["adjusting",{"_index":677,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":575,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":476,"title":{},"body":{"changelog.html":{}}}],["again",{"_index":650,"title":{},"body":{"changelog.html":{}}}],["age",{"_index":380,"title":{},"body":{"changelog.html":{}}}],["ala",{"_index":406,"title":{},"body":{"changelog.html":{}}}],["aliases",{"_index":1083,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["allows",{"_index":558,"title":{},"body":{"changelog.html":{}}}],["alpha",{"_index":771,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":749,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":744,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":728,"title":{},"body":{"changelog.html":{}}}],["alt",{"_index":977,"title":{},"body":{"index.html":{}}}],["analytics",{"_index":478,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["anatomical",{"_index":573,"title":{},"body":{"changelog.html":{}}}],["and/or",{"_index":1043,"title":{},"body":{"license.html":{}}}],["angular",{"_index":319,"title":{},"body":{"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":831,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":833,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":834,"title":{},"body":{"dependencies.html":{}}}],["angular/compiler",{"_index":835,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":836,"title":{},"body":{"dependencies.html":{}}}],["angular/elements",{"_index":837,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":838,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":839,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":841,"title":{},"body":{"dependencies.html":{}}}],["angular/router",{"_index":843,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":844,"title":{},"body":{"dependencies.html":{}}}],["api",{"_index":191,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":987,"title":{},"body":{"index.html":{}}}],["appear",{"_index":354,"title":{},"body":{"changelog.html":{}}}],["application",{"_index":562,"title":{},"body":{"changelog.html":{}}}],["applied",{"_index":612,"title":{},"body":{"changelog.html":{}}}],["appropriate",{"_index":321,"title":{},"body":{"changelog.html":{}}}],["april",{"_index":550,"title":{},"body":{"changelog.html":{}}}],["arising",{"_index":1076,"title":{},"body":{"license.html":{}}}],["arr",{"_index":86,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["arr.length",{"_index":90,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["array",{"_index":65,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["arraytostream",{"_index":822,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["arraytostream(arr",{"_index":88,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["asct+b",{"_index":346,"title":{},"body":{"changelog.html":{}}}],["assignment/selection",{"_index":526,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":416,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["async",{"_index":119,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["atlas",{"_index":175,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["attempts",{"_index":389,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":1065,"title":{},"body":{"license.html":{}}}],["automatic",{"_index":665,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":613,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":657,"title":{},"body":{"changelog.html":{}}}],["avoid",{"_index":461,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":102,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["award",{"_index":1018,"title":{},"body":{"index.html":{}}}],["backend",{"_index":365,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":782,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["base",{"_index":754,"title":{},"body":{"changelog.html":{}}}],["based",{"_index":449,"title":{},"body":{"changelog.html":{}}}],["basic",{"_index":474,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["before",{"_index":150,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["being",{"_index":507,"title":{},"body":{"changelog.html":{}}}],["beta",{"_index":344,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":426,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":720,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":882,"title":{},"body":{"dependencies.html":{}}}],["block",{"_index":306,"title":{},"body":{"changelog.html":{}}}],["blocks",{"_index":249,"title":{},"body":{"changelog.html":{}}}],["bmi",{"_index":382,"title":{},"body":{"changelog.html":{}}}],["board",{"_index":746,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":366,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["both",{"_index":412,"title":{},"body":{"changelog.html":{}}}],["box",{"_index":460,"title":{},"body":{"changelog.html":{}}}],["breaking",{"_index":497,"title":{},"body":{"changelog.html":{}}}],["bringing",{"_index":517,"title":{},"body":{"changelog.html":{}}}],["browser",{"_index":734,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["browserify",{"_index":941,"title":{},"body":{"dependencies.html":{}}}],["browsing",{"_index":810,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":276,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":969,"title":{},"body":{"index.html":{}}}],["builds",{"_index":340,"title":{},"body":{"changelog.html":{}}}],["button",{"_index":748,"title":{},"body":{"changelog.html":{}}}],["c",{"_index":1023,"title":{},"body":{"license.html":{}}}],["cache",{"_index":880,"title":{},"body":{"dependencies.html":{}}}],["cacheable",{"_index":945,"title":{},"body":{"dependencies.html":{}}}],["callback",{"_index":446,"title":{},"body":{"changelog.html":{}}}],["called",{"_index":503,"title":{},"body":{"changelog.html":{}}}],["calls",{"_index":210,"title":{},"body":{"changelog.html":{}}}],["cancelregistration",{"_index":445,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":718,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":885,"title":{},"body":{"dependencies.html":{}}}],["card",{"_index":481,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":486,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":1000,"title":{},"body":{"index.html":{}}}],["cases",{"_index":690,"title":{},"body":{"changelog.html":{}}}],["causes",{"_index":147,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["ccf",{"_index":189,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["ccf's",{"_index":634,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":182,"title":{},"body":{"changelog.html":{}}}],["cell",{"_index":300,"title":{},"body":{"changelog.html":{}}}],["center",{"_index":1013,"title":{},"body":{"index.html":{}}}],["change",{"_index":500,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["changed",{"_index":204,"title":{},"body":{"changelog.html":{}}}],["changelog",{"_index":172,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changes",{"_index":308,"title":{},"body":{"changelog.html":{}}}],["charge",{"_index":1029,"title":{},"body":{"license.html":{}}}],["choose",{"_index":658,"title":{},"body":{"changelog.html":{}}}],["chunk",{"_index":79,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["chunks",{"_index":76,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["chunks.push(chunk",{"_index":80,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["ci/cd",{"_index":632,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":1068,"title":{},"body":{"license.html":{}}}],["clean",{"_index":274,"title":{},"body":{"changelog.html":{}}}],["cleanup",{"_index":343,"title":{},"body":{"changelog.html":{}}}],["click",{"_index":397,"title":{},"body":{"changelog.html":{}}}],["clicking",{"_index":493,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":993,"title":{},"body":{"index.html":{}}}],["code",{"_index":336,"title":{},"body":{"changelog.html":{}}}],["codebase",{"_index":644,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":702,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":764,"title":{},"body":{"changelog.html":{}}}],["collaboration",{"_index":642,"title":{},"body":{"changelog.html":{}}}],["collisions",{"_index":667,"title":{},"body":{"changelog.html":{}}}],["color",{"_index":525,"title":{},"body":{"changelog.html":{}}}],["colorizing",{"_index":711,"title":{},"body":{"changelog.html":{}}}],["combination",{"_index":659,"title":{},"body":{"changelog.html":{}}}],["come",{"_index":707,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":699,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":888,"title":{},"body":{"dependencies.html":{}}}],["common",{"_index":394,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["completes",{"_index":71,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["complexity",{"_index":533,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":334,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":291,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["components",{"_index":475,"title":{},"body":{"changelog.html":{}}}],["compute",{"_index":148,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["comunica/query",{"_index":846,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":890,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":1050,"title":{},"body":{"license.html":{}}}],["config",{"_index":441,"title":{},"body":{"changelog.html":{}}}],["configuration",{"_index":429,"title":{},"body":{"changelog.html":{}}}],["configurations",{"_index":440,"title":{},"body":{"changelog.html":{}}}],["confirmation",{"_index":387,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":453,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":363,"title":{},"body":{"changelog.html":{}}}],["connection",{"_index":1078,"title":{},"body":{"license.html":{}}}],["consortium",{"_index":1024,"title":{},"body":{"license.html":{}}}],["const",{"_index":75,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["container",{"_index":488,"title":{},"body":{"changelog.html":{}}}],["containers",{"_index":428,"title":{},"body":{"changelog.html":{}}}],["containing",{"_index":967,"title":{},"body":{"index.html":{}}}],["contract",{"_index":1073,"title":{},"body":{"license.html":{}}}],["control",{"_index":599,"title":{},"body":{"changelog.html":{}}}],["convention",{"_index":165,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["coordinate",{"_index":961,"title":{},"body":{"index.html":{}}}],["copies",{"_index":1045,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1032,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":1022,"title":{},"body":{"license.html":{}}}],["cord",{"_index":260,"title":{},"body":{"changelog.html":{}}}],["cors",{"_index":892,"title":{},"body":{"dependencies.html":{}}}],["coverage",{"_index":742,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["created",{"_index":608,"title":{},"body":{"changelog.html":{}}}],["credits",{"_index":1008,"title":{},"body":{"index.html":{}}}],["css",{"_index":894,"title":{},"body":{"dependencies.html":{}}}],["cuboid",{"_index":740,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":737,"title":{},"body":{"changelog.html":{}}}],["currently",{"_index":377,"title":{},"body":{"changelog.html":{}}}],["cyberinfrastructure",{"_index":1010,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":544,"title":{},"body":{"changelog.html":{}}}],["damages",{"_index":1069,"title":{},"body":{"license.html":{}}}],["dangle",{"_index":156,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["dark/light",{"_index":448,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":112,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["database",{"_index":281,"title":{},"body":{"changelog.html":{}}}],["datafactory",{"_index":36,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["datasets",{"_index":556,"title":{},"body":{"changelog.html":{}}}],["deal",{"_index":1034,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1079,"title":{},"body":{"license.html":{}}}],["december",{"_index":651,"title":{},"body":{"changelog.html":{}}}],["deck.gl/core",{"_index":848,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":850,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":853,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":854,"title":{},"body":{"dependencies.html":{}}}],["decorator",{"_index":869,"title":{},"body":{"dependencies.html":{}}}],["deeply",{"_index":369,"title":{},"body":{"changelog.html":{}}}],["default",{"_index":332,"title":{},"body":{"changelog.html":{}}}],["defined",{"_index":18,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["delete",{"_index":157,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["demo",{"_index":399,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":483,"title":{"dependencies.html":{}},"body":{"changelog.html":{},"dependencies.html":{}}}],["depending",{"_index":506,"title":{},"body":{"changelog.html":{}}}],["descrepancies",{"_index":245,"title":{},"body":{"changelog.html":{}}}],["description",{"_index":956,"title":{},"body":{"miscellaneous/functions.html":{}}}],["deserializen3store",{"_index":823,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["deserializen3store(serializedstore",{"_index":160,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["details",{"_index":788,"title":{},"body":{"changelog.html":{}}}],["developed",{"_index":1009,"title":{},"body":{"index.html":{}}}],["developments",{"_index":769,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":388,"title":{},"body":{"changelog.html":{}}}],["different",{"_index":427,"title":{},"body":{"changelog.html":{}}}],["digits",{"_index":626,"title":{},"body":{"changelog.html":{}}}],["direct",{"_index":797,"title":{},"body":{"changelog.html":{}}}],["directly",{"_index":700,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":139,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["display",{"_index":419,"title":{},"body":{"changelog.html":{}}}],["displayed",{"_index":738,"title":{},"body":{"changelog.html":{}}}],["displaying",{"_index":415,"title":{},"body":{"changelog.html":{}}}],["distribute",{"_index":1041,"title":{},"body":{"license.html":{}}}],["doc",{"_index":752,"title":{},"body":{"changelog.html":{}}}],["docs",{"_index":271,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":896,"title":{},"body":{"dependencies.html":{}}}],["documentation",{"_index":337,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["done",{"_index":498,"title":{},"body":{"changelog.html":{}}}],["donor",{"_index":480,"title":{},"body":{"changelog.html":{}}}],["donors",{"_index":559,"title":{},"body":{"changelog.html":{}}}],["dotenv",{"_index":899,"title":{},"body":{"dependencies.html":{}}}],["download",{"_index":780,"title":{},"body":{"changelog.html":{}}}],["during",{"_index":543,"title":{},"body":{"changelog.html":{}}}],["dynamic",{"_index":842,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":238,"title":{},"body":{"changelog.html":{}}}],["easier",{"_index":313,"title":{},"body":{"changelog.html":{}}}],["east",{"_index":989,"title":{},"body":{"index.html":{}}}],["effect",{"_index":681,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":586,"title":{},"body":{"changelog.html":{}}}],["element",{"_index":501,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["embedded",{"_index":437,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":423,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":421,"title":{},"body":{"changelog.html":{}}}],["emitting",{"_index":87,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["err",{"_index":84,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["es",{"_index":886,"title":{},"body":{"dependencies.html":{}}}],["eslint",{"_index":138,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["eslint/naming",{"_index":164,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["eslint/no",{"_index":143,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["etc",{"_index":458,"title":{},"body":{"changelog.html":{}}}],["eui",{"_index":295,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":329,"title":{},"body":{"changelog.html":{}}}],["event",{"_index":1064,"title":{},"body":{"license.html":{}}}],["eventemitter",{"_index":29,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["events",{"_index":30,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["expanded",{"_index":236,"title":{},"body":{"changelog.html":{}}}],["exploration",{"_index":971,"title":{},"body":{"index.html":{}}}],["export",{"_index":47,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["express",{"_index":901,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["expressions",{"_index":145,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["external",{"_index":444,"title":{},"body":{"changelog.html":{}}}],["extra",{"_index":906,"title":{},"body":{"dependencies.html":{}}}],["extraction",{"_index":395,"title":{},"body":{"changelog.html":{}}}],["factory",{"_index":161,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["fail",{"_index":647,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":686,"title":{},"body":{"changelog.html":{}}}],["favor",{"_index":637,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":233,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":545,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":584,"title":{},"body":{"changelog.html":{}}}],["fetch",{"_index":934,"title":{},"body":{"dependencies.html":{}}}],["fetch(uri",{"_index":103,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["field",{"_index":454,"title":{},"body":{"changelog.html":{}}}],["file",{"_index":5,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{}}}],["files",{"_index":1033,"title":{},"body":{"license.html":{}}}],["filter",{"_index":598,"title":{},"body":{"changelog.html":{}}}],["filters",{"_index":253,"title":{},"body":{"changelog.html":{}}}],["final",{"_index":640,"title":{},"body":{"changelog.html":{}}}],["finishing",{"_index":392,"title":{},"body":{"changelog.html":{}}}],["first",{"_index":652,"title":{},"body":{"changelog.html":{}}}],["fit",{"_index":553,"title":{},"body":{"changelog.html":{}}}],["fitness",{"_index":1060,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":535,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":277,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":712,"title":{},"body":{"changelog.html":{}}}],["flexible",{"_index":266,"title":{},"body":{"changelog.html":{}}}],["fly",{"_index":805,"title":{},"body":{"changelog.html":{}}}],["follow",{"_index":105,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["following",{"_index":1049,"title":{},"body":{"license.html":{}}}],["form",{"_index":587,"title":{},"body":{"changelog.html":{}}}],["format",{"_index":135,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["formatted",{"_index":115,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["frame",{"_index":560,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":962,"title":{},"body":{"index.html":{}}}],["free",{"_index":1028,"title":{},"body":{"license.html":{}}}],["fs",{"_index":905,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":491,"title":{},"body":{"changelog.html":{}}}],["fullscreen",{"_index":747,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":546,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":52,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{}}}],["functions",{"_index":953,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["funded",{"_index":1016,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":1048,"title":{},"body":{"license.html":{}}}],["further",{"_index":743,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":536,"title":{},"body":{"changelog.html":{}}}],["generate",{"_index":302,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":335,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":239,"title":{},"body":{"changelog.html":{}}}],["generator",{"_index":27,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["getting",{"_index":170,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["github",{"_index":628,"title":{},"body":{"changelog.html":{}}}],["gizmo",{"_index":464,"title":{},"body":{"changelog.html":{}}}],["globalconfig",{"_index":433,"title":{},"body":{"changelog.html":{}}}],["good",{"_index":683,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":477,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["granted",{"_index":1027,"title":{},"body":{"license.html":{}}}],["graph",{"_index":17,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["graphical",{"_index":287,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":908,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":410,"title":{},"body":{"changelog.html":{}}}],["gtex",{"_index":303,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":673,"title":{},"body":{"changelog.html":{}}}],["hand",{"_index":679,"title":{},"body":{"changelog.html":{}}}],["happen",{"_index":719,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":648,"title":{},"body":{"changelog.html":{}}}],["helmet",{"_index":913,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":672,"title":{},"body":{"changelog.html":{}}}],["here",{"_index":676,"title":{},"body":{"changelog.html":{}}}],["hereby",{"_index":1026,"title":{},"body":{"license.html":{}}}],["hex",{"_index":915,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":770,"title":{},"body":{"changelog.html":{}}}],["highlight",{"_index":375,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":250,"title":{},"body":{"changelog.html":{}}}],["highlights",{"_index":378,"title":{},"body":{"changelog.html":{}}}],["holders",{"_index":1066,"title":{},"body":{"license.html":{}}}],["hooked",{"_index":596,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":263,"title":{},"body":{"changelog.html":{}}}],["hovering",{"_index":482,"title":{},"body":{"changelog.html":{}}}],["hra",{"_index":176,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["https://beta",{"_index":974,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":986,"title":{},"body":{"index.html":{}}}],["https://hubmap",{"_index":979,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":978,"title":{},"body":{"index.html":{}}}],["https://humanatlas.io",{"_index":1006,"title":{},"body":{"index.html":{}}}],["https://observablehq.com/@cns",{"_index":1003,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":981,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":976,"title":{},"body":{"index.html":{}}}],["https://r5i95k35v5.us",{"_index":988,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":799,"title":{},"body":{"changelog.html":{}}}],["hubmap",{"_index":222,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["human",{"_index":173,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["icon",{"_index":781,"title":{},"body":{"changelog.html":{}}}],["icons",{"_index":492,"title":{},"body":{"changelog.html":{}}}],["id",{"_index":434,"title":{},"body":{"changelog.html":{}}}],["idb",{"_index":918,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":816,"title":{},"body":{"coverage.html":{}}}],["iec",{"_index":643,"title":{},"body":{"changelog.html":{}}}],["image",{"_index":636,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":698,"title":{},"body":{"changelog.html":{}}}],["implementation",{"_index":361,"title":{},"body":{"changelog.html":{}}}],["implemented",{"_index":594,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":751,"title":{},"body":{"changelog.html":{}}}],["implied",{"_index":1057,"title":{},"body":{"license.html":{}}}],["import",{"_index":28,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["improve",{"_index":585,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":325,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":283,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":411,"title":{},"body":{"changelog.html":{}}}],["include",{"_index":654,"title":{},"body":{"changelog.html":{}}}],["included",{"_index":1052,"title":{},"body":{"license.html":{}}}],["includes",{"_index":235,"title":{},"body":{"changelog.html":{}}}],["including",{"_index":371,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":621,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":745,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":10,"title":{"index.html":{}},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["indexes",{"_index":184,"title":{},"body":{"changelog.html":{}}}],["indiana",{"_index":1014,"title":{},"body":{"index.html":{}}}],["individual",{"_index":601,"title":{},"body":{"changelog.html":{}}}],["info",{"_index":3,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"index.html":{}}}],["information",{"_index":273,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":701,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":656,"title":{},"body":{"changelog.html":{}}}],["initial",{"_index":514,"title":{},"body":{"changelog.html":{}}}],["input",{"_index":68,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["instead",{"_index":505,"title":{},"body":{"changelog.html":{}}}],["instructions",{"_index":422,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":547,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":368,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":655,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":567,"title":{},"body":{"changelog.html":{}}}],["interact",{"_index":530,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":724,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":796,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":0,"title":{"interfaces/QuadReader.html":{}},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"overview.html":{}}}],["interfaces",{"_index":2,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"index.html":{}}}],["internal",{"_index":635,"title":{},"body":{"changelog.html":{}}}],["issue",{"_index":617,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":242,"title":{},"body":{"changelog.html":{}}}],["it's",{"_index":364,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":778,"title":{},"body":{"changelog.html":{}}}],["iu",{"_index":767,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":1004,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":195,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["js",{"_index":41,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["json",{"_index":669,"title":{},"body":{"changelog.html":{},"miscellaneous/functions.html":{}}}],["json.parse(serializedstore",{"_index":163,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["json.stringify(storedata",{"_index":159,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["jsonld",{"_index":32,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{}}}],["jsonld/jsonld",{"_index":34,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["jsonlddata",{"_index":97,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["july",{"_index":723,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":776,"title":{},"body":{"changelog.html":{}}}],["keyboard",{"_index":774,"title":{},"body":{"changelog.html":{}}}],["keyval",{"_index":919,"title":{},"body":{"dependencies.html":{}}}],["kidney",{"_index":407,"title":{},"body":{"changelog.html":{}}}],["kind",{"_index":1056,"title":{},"body":{"license.html":{}}}],["known",{"_index":241,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":218,"title":{},"body":{"changelog.html":{}}}],["labs/data",{"_index":866,"title":{},"body":{"dependencies.html":{}}}],["labs/dispatch",{"_index":868,"title":{},"body":{"dependencies.html":{}}}],["landmarks",{"_index":261,"title":{},"body":{"changelog.html":{}}}],["larger",{"_index":314,"title":{},"body":{"changelog.html":{}}}],["latest",{"_index":256,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["layers",{"_index":851,"title":{},"body":{"dependencies.html":{}}}],["ld",{"_index":670,"title":{},"body":{"changelog.html":{},"miscellaneous/functions.html":{}}}],["leak",{"_index":616,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":390,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":678,"title":{},"body":{"changelog.html":{}}}],["left/right",{"_index":408,"title":{},"body":{"changelog.html":{}}}],["length",{"_index":89,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["level",{"_index":772,"title":{},"body":{"changelog.html":{}}}],["levels",{"_index":793,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":1070,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1067,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":318,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":577,"title":{},"body":{"changelog.html":{}}}],["license",{"_index":1020,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":384,"title":{},"body":{"changelog.html":{}}}],["limitation",{"_index":1036,"title":{},"body":{"license.html":{}}}],["limited",{"_index":706,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":141,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["link",{"_index":400,"title":{},"body":{"changelog.html":{}}}],["linkage",{"_index":725,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":268,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":349,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":522,"title":{},"body":{"changelog.html":{}}}],["literal",{"_index":938,"title":{},"body":{"dependencies.html":{}}}],["little",{"_index":528,"title":{},"body":{"changelog.html":{}}}],["load",{"_index":116,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["loaded",{"_index":727,"title":{},"body":{"changelog.html":{}}}],["loaders.gl/core",{"_index":855,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":857,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":858,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":228,"title":{},"body":{"changelog.html":{}}}],["location",{"_index":622,"title":{},"body":{"changelog.html":{}}}],["locations",{"_index":220,"title":{},"body":{"changelog.html":{}}}],["lodash",{"_index":922,"title":{},"body":{"dependencies.html":{}}}],["log",{"_index":1007,"title":{},"body":{"index.html":{}}}],["logging",{"_index":305,"title":{},"body":{"changelog.html":{}}}],["longer",{"_index":502,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":583,"title":{},"body":{"changelog.html":{}}}],["lru",{"_index":924,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":859,"title":{},"body":{"dependencies.html":{}}}],["made",{"_index":645,"title":{},"body":{"changelog.html":{}}}],["major",{"_index":232,"title":{},"body":{"changelog.html":{}}}],["makes",{"_index":310,"title":{},"body":{"changelog.html":{}}}],["making",{"_index":358,"title":{},"body":{"changelog.html":{}}}],["managers",{"_index":323,"title":{},"body":{"changelog.html":{}}}],["march",{"_index":580,"title":{},"body":{"changelog.html":{}}}],["markdown",{"_index":931,"title":{},"body":{"dependencies.html":{}}}],["match",{"_index":582,"title":{},"body":{"changelog.html":{}}}],["matching",{"_index":168,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{}}}],["math.gl/core",{"_index":861,"title":{},"body":{"dependencies.html":{}}}],["math.gl/culling",{"_index":863,"title":{},"body":{"dependencies.html":{}}}],["mc",{"_index":766,"title":{},"body":{"changelog.html":{}}}],["memory",{"_index":615,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":680,"title":{},"body":{"changelog.html":{}}}],["merchantability",{"_index":1059,"title":{},"body":{"license.html":{}}}],["merge",{"_index":1039,"title":{},"body":{"license.html":{}}}],["metadata",{"_index":736,"title":{},"body":{"changelog.html":{}}}],["methods",{"_index":11,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["minor",{"_index":243,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":952,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["mit",{"_index":1021,"title":{},"body":{"license.html":{}}}],["mock",{"_index":762,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":512,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":439,"title":{},"body":{"changelog.html":{}}}],["model",{"_index":878,"title":{},"body":{"dependencies.html":{}}}],["modify",{"_index":1038,"title":{},"body":{"license.html":{}}}],["modules",{"_index":1080,"title":{"modules.html":{}},"body":{"modules.html":{}}}],["monorepo",{"_index":964,"title":{},"body":{"index.html":{}}}],["more",{"_index":272,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["moved",{"_index":783,"title":{},"body":{"changelog.html":{}}}],["much",{"_index":312,"title":{},"body":{"changelog.html":{}}}],["multiple",{"_index":965,"title":{},"body":{"index.html":{}}}],["n3",{"_index":39,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{},"miscellaneous/functions.html":{}}}],["name",{"_index":22,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["names",{"_index":455,"title":{},"body":{"changelog.html":{}}}],["navigation",{"_index":775,"title":{},"body":{"changelog.html":{}}}],["need",{"_index":209,"title":{},"body":{"changelog.html":{}}}],["needed",{"_index":588,"title":{},"body":{"changelog.html":{}}}],["needs",{"_index":595,"title":{},"body":{"changelog.html":{}}}],["network",{"_index":1011,"title":{},"body":{"index.html":{}}}],["new",{"_index":51,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["next",{"_index":140,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["ng5",{"_index":926,"title":{},"body":{"dependencies.html":{}}}],["ngx",{"_index":929,"title":{},"body":{"dependencies.html":{}}}],["ngxs",{"_index":865,"title":{},"body":{"dependencies.html":{}}}],["ngxs/logger",{"_index":871,"title":{},"body":{"dependencies.html":{}}}],["ngxs/storage",{"_index":874,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":875,"title":{},"body":{"dependencies.html":{}}}],["nih",{"_index":1017,"title":{},"body":{"index.html":{}}}],["node",{"_index":933,"title":{},"body":{"dependencies.html":{}}}],["noninfringement",{"_index":1063,"title":{},"body":{"license.html":{}}}],["note",{"_index":202,"title":{},"body":{"changelog.html":{}}}],["notebooks",{"_index":193,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":998,"title":{},"body":{"index.html":{}}}],["notice",{"_index":618,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":316,"title":{},"body":{"changelog.html":{}}}],["null",{"_index":58,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/typealiases.html":{}}}],["number",{"_index":315,"title":{},"body":{"changelog.html":{}}}],["numeric",{"_index":623,"title":{},"body":{"changelog.html":{}}}],["object",{"_index":16,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["object.assign",{"_index":153,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["object.assign(store",{"_index":166,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["objectmode",{"_index":92,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["obtaining",{"_index":1031,"title":{},"body":{"license.html":{}}}],["off/on",{"_index":592,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":721,"title":{},"body":{"changelog.html":{}}}],["old",{"_index":980,"title":{},"body":{"index.html":{}}}],["on('data",{"_index":78,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["once('end",{"_index":81,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["once('error",{"_index":83,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["one",{"_index":663,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["online",{"_index":732,"title":{},"body":{"changelog.html":{}}}],["ontological",{"_index":804,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":671,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":205,"title":{},"body":{"changelog.html":{}}}],["opacities",{"_index":600,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":574,"title":{},"body":{"changelog.html":{}}}],["openapi",{"_index":360,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/js",{"_index":994,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":996,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":995,"title":{},"body":{"index.html":{}}}],["optimization",{"_index":527,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":713,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":565,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":374,"title":{},"body":{"changelog.html":{}}}],["optional",{"_index":24,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["options",{"_index":292,"title":{},"body":{"changelog.html":{}}}],["organ",{"_index":227,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["organs",{"_index":262,"title":{},"body":{"changelog.html":{}}}],["organs/anatomical",{"_index":602,"title":{},"body":{"changelog.html":{}}}],["orthographic",{"_index":470,"title":{},"body":{"changelog.html":{}}}],["ot2od026671",{"_index":1019,"title":{},"body":{"index.html":{}}}],["oterm",{"_index":14,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/typealiases.html":{}}}],["otherwise",{"_index":1075,"title":{},"body":{"license.html":{}}}],["out",{"_index":1077,"title":{},"body":{"license.html":{}}}],["over",{"_index":630,"title":{},"body":{"changelog.html":{}}}],["overall",{"_index":252,"title":{},"body":{"changelog.html":{}}}],["overlays",{"_index":794,"title":{},"body":{"changelog.html":{}}}],["overview",{"_index":1081,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["p",{"_index":757,"title":{},"body":{"changelog.html":{}}}],["package",{"_index":322,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["pages",{"_index":420,"title":{},"body":{"changelog.html":{}}}],["paired",{"_index":403,"title":{},"body":{"changelog.html":{}}}],["pane",{"_index":554,"title":{},"body":{"changelog.html":{}}}],["panel",{"_index":418,"title":{},"body":{"changelog.html":{}}}],["param",{"_index":66,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["parameters",{"_index":20,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["parent",{"_index":405,"title":{},"body":{"changelog.html":{}}}],["parse(data",{"_index":136,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["parser",{"_index":37,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{}}}],["particular",{"_index":1061,"title":{},"body":{"license.html":{}}}],["partly",{"_index":579,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":495,"title":{},"body":{"changelog.html":{}}}],["path",{"_index":911,"title":{},"body":{"dependencies.html":{}}}],["performance",{"_index":326,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":1025,"title":{},"body":{"license.html":{}}}],["permit",{"_index":1046,"title":{},"body":{"license.html":{}}}],["person",{"_index":1030,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1047,"title":{},"body":{"license.html":{}}}],["pick",{"_index":225,"title":{},"body":{"changelog.html":{}}}],["placeholder",{"_index":726,"title":{},"body":{"changelog.html":{}}}],["placement",{"_index":217,"title":{},"body":{"changelog.html":{}}}],["placenta",{"_index":258,"title":{},"body":{"changelog.html":{}}}],["player",{"_index":845,"title":{},"body":{"dependencies.html":{}}}],["plugin",{"_index":872,"title":{},"body":{"dependencies.html":{}}}],["plus",{"_index":237,"title":{},"body":{"changelog.html":{}}}],["popup",{"_index":735,"title":{},"body":{"changelog.html":{}}}],["portal",{"_index":372,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["portal's",{"_index":705,"title":{},"body":{"changelog.html":{}}}],["portions",{"_index":1054,"title":{},"body":{"license.html":{}}}],["position",{"_index":307,"title":{},"body":{"changelog.html":{}}}],["possible",{"_index":646,"title":{},"body":{"changelog.html":{}}}],["predicate",{"_index":15,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["preferences",{"_index":451,"title":{},"body":{"changelog.html":{}}}],["preparation",{"_index":768,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":792,"title":{},"body":{"changelog.html":{}}}],["prevent",{"_index":296,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":467,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":607,"title":{},"body":{"changelog.html":{}}}],["previously",{"_index":351,"title":{},"body":{"changelog.html":{}}}],["process",{"_index":750,"title":{},"body":{"changelog.html":{}}}],["processed",{"_index":696,"title":{},"body":{"changelog.html":{}}}],["processing",{"_index":452,"title":{},"body":{"changelog.html":{}}}],["production",{"_index":338,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":317,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":755,"title":{},"body":{"changelog.html":{}}}],["projects",{"_index":966,"title":{},"body":{"index.html":{}}}],["projects/.../triple",{"_index":954,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["projects/triple",{"_index":6,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["promise",{"_index":69,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["promise((resolve",{"_index":73,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["promise>(resolve",{"_index":128,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["properties",{"_index":431,"title":{},"body":{"changelog.html":{}}}],["provided",{"_index":808,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["providers",{"_index":379,"title":{},"body":{"changelog.html":{}}}],["public",{"_index":733,"title":{},"body":{"changelog.html":{}}}],["publish",{"_index":1040,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":320,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":1062,"title":{},"body":{"license.html":{}}}],["pushed",{"_index":542,"title":{},"body":{"changelog.html":{}}}],["python",{"_index":194,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["qs",{"_index":936,"title":{},"body":{"dependencies.html":{}}}],["quad",{"_index":38,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["quadreader",{"_index":1,"title":{"interfaces/QuadReader.html":{}},"body":{"interfaces/QuadReader.html":{},"coverage.html":{}}}],["quadreader).readquads(subject",{"_index":62,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["quads",{"_index":108,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["qualitative",{"_index":709,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":383,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":208,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["query",{"_index":802,"title":{},"body":{"changelog.html":{}}}],["querying",{"_index":267,"title":{},"body":{"changelog.html":{}}}],["quickly",{"_index":688,"title":{},"body":{"changelog.html":{}}}],["rc.1",{"_index":715,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":40,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{},"miscellaneous/functions.html":{}}}],["rdf.datafactory",{"_index":162,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["rdf.sink",{"_index":121,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["rdf.term",{"_index":56,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/typealiases.html":{}}}],["rdfjs",{"_index":847,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":877,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":43,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{}}}],["rdfxmlparser",{"_index":42,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["read",{"_index":94,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["readable",{"_index":45,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{},"miscellaneous/functions.html":{}}}],["readquads",{"_index":12,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["readquads(store",{"_index":59,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["readquads(subject",{"_index":13,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["readstream",{"_index":67,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["real",{"_index":731,"title":{},"body":{"changelog.html":{}}}],["record",{"_index":154,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["rectify",{"_index":357,"title":{},"body":{"changelog.html":{}}}],["redirect",{"_index":104,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["reduce",{"_index":532,"title":{},"body":{"changelog.html":{}}}],["reduction",{"_index":285,"title":{},"body":{"changelog.html":{}}}],["reference",{"_index":174,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["refernced",{"_index":404,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":494,"title":{},"body":{"changelog.html":{}}}],["regions",{"_index":795,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":897,"title":{},"body":{"dependencies.html":{}}}],["registered",{"_index":352,"title":{},"body":{"changelog.html":{}}}],["registration",{"_index":393,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["registrations",{"_index":519,"title":{},"body":{"changelog.html":{}}}],["reject",{"_index":74,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["reject(err",{"_index":85,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["related",{"_index":571,"title":{},"body":{"changelog.html":{}}}],["release",{"_index":186,"title":{},"body":{"changelog.html":{}}}],["reliability",{"_index":620,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":463,"title":{},"body":{"changelog.html":{}}}],["removed",{"_index":436,"title":{},"body":{"changelog.html":{}}}],["removes",{"_index":570,"title":{},"body":{"changelog.html":{}}}],["repository",{"_index":963,"title":{},"body":{"index.html":{}}}],["required",{"_index":675,"title":{},"body":{"changelog.html":{}}}],["resets",{"_index":496,"title":{},"body":{"changelog.html":{}}}],["resolve(chunks",{"_index":82,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["resolve(store",{"_index":130,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["resolved",{"_index":548,"title":{},"body":{"changelog.html":{}}}],["resolves",{"_index":70,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["respond",{"_index":487,"title":{},"body":{"changelog.html":{}}}],["response",{"_index":101,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["response.json",{"_index":107,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["response.ok",{"_index":106,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["response.text",{"_index":124,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["restriction",{"_index":1035,"title":{},"body":{"license.html":{}}}],["result",{"_index":127,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{}}}],["results",{"_index":169,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{}}}],["return",{"_index":60,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["returns",{"_index":26,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["rgb",{"_index":916,"title":{},"body":{"dependencies.html":{}}}],["right",{"_index":226,"title":{},"body":{"changelog.html":{}}}],["rights",{"_index":1037,"title":{},"body":{"license.html":{}}}],["root",{"_index":504,"title":{},"body":{"changelog.html":{}}}],["rotates",{"_index":465,"title":{},"body":{"changelog.html":{}}}],["round",{"_index":605,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":624,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":265,"title":{},"body":{"changelog.html":{}}}],["ru/common",{"_index":829,"title":{},"body":{"dependencies.html":{}}}],["rui",{"_index":219,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["rui_locations.jsonld",{"_index":304,"title":{},"body":{"changelog.html":{}}}],["rxjs",{"_index":939,"title":{},"body":{"dependencies.html":{}}}],["sample",{"_index":807,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["samples",{"_index":534,"title":{},"body":{"changelog.html":{}}}],["saver",{"_index":903,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":756,"title":{},"body":{"changelog.html":{}}}],["scene",{"_index":248,"title":{},"body":{"changelog.html":{}}}],["scheduled",{"_index":549,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":760,"title":{},"body":{"changelog.html":{}}}],["schemes",{"_index":710,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":1012,"title":{},"body":{"index.html":{}}}],["search",{"_index":224,"title":{},"body":{"changelog.html":{}}}],["searches",{"_index":240,"title":{},"body":{"changelog.html":{}}}],["section",{"_index":520,"title":{},"body":{"changelog.html":{}}}],["see",{"_index":269,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["select",{"_index":435,"title":{},"body":{"changelog.html":{}}}],["selected",{"_index":251,"title":{},"body":{"changelog.html":{}}}],["selecting",{"_index":311,"title":{},"body":{"changelog.html":{}}}],["selector",{"_index":309,"title":{},"body":{"changelog.html":{}}}],["selects",{"_index":777,"title":{},"body":{"changelog.html":{}}}],["sell",{"_index":1044,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":791,"title":{},"body":{"changelog.html":{}}}],["sennet",{"_index":331,"title":{},"body":{"changelog.html":{}}}],["serialize",{"_index":151,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["serializedstore",{"_index":959,"title":{},"body":{"miscellaneous/functions.html":{}}}],["serializen3store",{"_index":825,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["serializen3store(store",{"_index":137,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["server",{"_index":763,"title":{},"body":{"changelog.html":{}}}],["set",{"_index":447,"title":{},"body":{"changelog.html":{}}}],["setup",{"_index":515,"title":{},"body":{"changelog.html":{}}}],["sex",{"_index":381,"title":{},"body":{"changelog.html":{}}}],["sexes",{"_index":662,"title":{},"body":{"changelog.html":{}}}],["shall",{"_index":1051,"title":{},"body":{"license.html":{}}}],["shared",{"_index":456,"title":{},"body":{"changelog.html":{}}}],["shortest",{"_index":910,"title":{},"body":{"dependencies.html":{}}}],["show",{"_index":490,"title":{},"body":{"changelog.html":{}}}],["showing",{"_index":695,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":704,"title":{},"body":{"changelog.html":{}}}],["shows",{"_index":386,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":689,"title":{},"body":{"changelog.html":{}}}],["sides",{"_index":664,"title":{},"body":{"changelog.html":{}}}],["significant",{"_index":499,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":417,"title":{},"body":{"changelog.html":{}}}],["simplifies",{"_index":513,"title":{},"body":{"changelog.html":{}}}],["sites",{"_index":396,"title":{},"body":{"changelog.html":{}}}],["sizable",{"_index":619,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":149,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["slider",{"_index":927,"title":{},"body":{"dependencies.html":{}}}],["slightly",{"_index":355,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":529,"title":{},"body":{"changelog.html":{}}}],["software",{"_index":968,"title":{},"body":{"index.html":{},"license.html":{}}}],["solution",{"_index":49,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["solved",{"_index":614,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":685,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":324,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":524,"title":{},"body":{"changelog.html":{}}}],["source",{"_index":4,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["sources",{"_index":443,"title":{},"body":{"changelog.html":{}}}],["sparc",{"_index":518,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":207,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":234,"title":{},"body":{"changelog.html":{}}}],["spec",{"_index":35,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["spec.yaml",{"_index":992,"title":{},"body":{"index.html":{}}}],["specific",{"_index":376,"title":{},"body":{"changelog.html":{}}}],["specification",{"_index":991,"title":{},"body":{"index.html":{}}}],["speed",{"_index":282,"title":{},"body":{"changelog.html":{}}}],["spinal",{"_index":259,"title":{},"body":{"changelog.html":{}}}],["spinning",{"_index":761,"title":{},"body":{"changelog.html":{}}}],["sprint",{"_index":552,"title":{},"body":{"changelog.html":{}}}],["stage",{"_index":593,"title":{},"body":{"changelog.html":{}}}],["staging",{"_index":339,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["standalone",{"_index":609,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":668,"title":{},"body":{"changelog.html":{}}}],["standards",{"_index":765,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":972,"title":{},"body":{"index.html":{}}}],["started",{"_index":171,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["starts",{"_index":814,"title":{},"body":{"changelog.html":{}}}],["startup",{"_index":511,"title":{},"body":{"changelog.html":{}}}],["statements",{"_index":817,"title":{},"body":{"coverage.html":{}}}],["stay",{"_index":812,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":537,"title":{},"body":{"changelog.html":{}}}],["store",{"_index":7,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["store.import(arraytostream(quads",{"_index":110,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["store.import(xmlparser",{"_index":131,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["store.size",{"_index":146,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["storedata",{"_index":152,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["storedata._factory",{"_index":158,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["stories",{"_index":753,"title":{},"body":{"changelog.html":{}}}],["stream",{"_index":46,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{},"miscellaneous/functions.html":{}}}],["streaming",{"_index":44,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{}}}],["streamtoarray",{"_index":826,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["streamtoarray(readstream",{"_index":72,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["strict",{"_index":126,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["string",{"_index":57,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["structure",{"_index":566,"title":{},"body":{"changelog.html":{}}}],["structures",{"_index":555,"title":{},"body":{"changelog.html":{}}}],["styles",{"_index":787,"title":{},"body":{"changelog.html":{}}}],["styling",{"_index":413,"title":{},"body":{"changelog.html":{}}}],["subject",{"_index":25,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{},"license.html":{}}}],["sublicense",{"_index":1042,"title":{},"body":{"license.html":{}}}],["substantial",{"_index":1053,"title":{},"body":{"license.html":{}}}],["such",{"_index":206,"title":{},"body":{"changelog.html":{}}}],["support",{"_index":211,"title":{},"body":{"changelog.html":{}}}],["swiper",{"_index":942,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":221,"title":{},"body":{"changelog.html":{}}}],["switched",{"_index":627,"title":{},"body":{"changelog.html":{}}}],["sync",{"_index":466,"title":{},"body":{"changelog.html":{}}}],["t",{"_index":77,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["table",{"_index":828,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":347,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":827,"title":{},"body":{"coverage.html":{}}}],["tagging",{"_index":666,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":373,"title":{},"body":{"changelog.html":{}}}],["technologies",{"_index":784,"title":{},"body":{"changelog.html":{}}}],["technology",{"_index":597,"title":{},"body":{"changelog.html":{}}}],["telemetry",{"_index":459,"title":{},"body":{"changelog.html":{}}}],["temporary",{"_index":48,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["terms",{"_index":203,"title":{},"body":{"changelog.html":{}}}],["test",{"_index":739,"title":{},"body":{"changelog.html":{}}}],["testing",{"_index":674,"title":{},"body":{"changelog.html":{}}}],["theme",{"_index":333,"title":{},"body":{"changelog.html":{}}}],["themes",{"_index":330,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":327,"title":{},"body":{"changelog.html":{}}}],["this.push(i",{"_index":96,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["through",{"_index":687,"title":{},"body":{"changelog.html":{}}}],["thumbnails",{"_index":564,"title":{},"body":{"changelog.html":{}}}],["tied",{"_index":568,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":697,"title":{},"body":{"changelog.html":{}}}],["timeouts",{"_index":297,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":286,"title":{},"body":{"changelog.html":{}}}],["tissue",{"_index":301,"title":{},"body":{"changelog.html":{}}}],["tissues",{"_index":353,"title":{},"body":{"changelog.html":{}}}],["tmc",{"_index":803,"title":{},"body":{"changelog.html":{}}}],["toggle",{"_index":328,"title":{},"body":{"changelog.html":{}}}],["tool",{"_index":610,"title":{},"body":{"changelog.html":{}}}],["tordf",{"_index":31,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["tordf(jsonlddata",{"_index":109,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["tort",{"_index":1074,"title":{},"body":{"license.html":{}}}],["tracking/telemetry",{"_index":479,"title":{},"body":{"changelog.html":{}}}],["transparency",{"_index":611,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":631,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":758,"title":{},"body":{"changelog.html":{}}}],["true",{"_index":93,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["try",{"_index":649,"title":{},"body":{"changelog.html":{}}}],["ts",{"_index":944,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":947,"title":{},"body":{"dependencies.html":{}}}],["tuned",{"_index":813,"title":{},"body":{"changelog.html":{}}}],["turn",{"_index":591,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":572,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":569,"title":{},"body":{"changelog.html":{}}}],["turns",{"_index":63,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["tutorial",{"_index":438,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":708,"title":{},"body":{"changelog.html":{}}}],["type",{"_index":23,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["typealiases",{"_index":1082,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typeof",{"_index":99,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["types",{"_index":54,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["types/lru",{"_index":879,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":142,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":773,"title":{},"body":{"changelog.html":{}}}],["ufl",{"_index":563,"title":{},"body":{"changelog.html":{}}}],["ui",{"_index":367,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["ui.netlify.app",{"_index":975,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":985,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":982,"title":{},"body":{"index.html":{}}}],["ui/organ",{"_index":984,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":983,"title":{},"body":{"index.html":{}}}],["uis",{"_index":190,"title":{},"body":{"changelog.html":{}}}],["undefined",{"_index":98,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["underscore",{"_index":155,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["university",{"_index":1015,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":61,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["unnecessary",{"_index":462,"title":{},"body":{"changelog.html":{}}}],["unselect",{"_index":531,"title":{},"body":{"changelog.html":{}}}],["until",{"_index":53,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["unused",{"_index":144,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["up",{"_index":275,"title":{},"body":{"changelog.html":{}}}],["update",{"_index":215,"title":{},"body":{"changelog.html":{}}}],["updated",{"_index":55,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["updates",{"_index":264,"title":{},"body":{"changelog.html":{}}}],["upgraded",{"_index":693,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":779,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":484,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":606,"title":{},"body":{"changelog.html":{}}}],["uri",{"_index":100,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["uri?.startswith('http",{"_index":123,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["url",{"_index":33,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["usage",{"_index":192,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":999,"title":{},"body":{"index.html":{}}}],["use",{"_index":188,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["usecase",{"_index":1005,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":1002,"title":{},"body":{"index.html":{}}}],["used",{"_index":590,"title":{},"body":{"changelog.html":{}}}],["user",{"_index":177,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["user/os",{"_index":450,"title":{},"body":{"changelog.html":{}}}],["users",{"_index":798,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":469,"title":{},"body":{"changelog.html":{}}}],["using",{"_index":50,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["utilities",{"_index":457,"title":{},"body":{"changelog.html":{}}}],["utils.ts",{"_index":9,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["utils.ts:14",{"_index":19,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["utils/src/lib/triple",{"_index":8,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["uuid",{"_index":948,"title":{},"body":{"dependencies.html":{}}}],["v1.1",{"_index":348,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":201,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":187,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":589,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":350,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":342,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":299,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":257,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":216,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":270,"title":{},"body":{"changelog.html":{}}}],["v2.1.0",{"_index":199,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":183,"title":{},"body":{"changelog.html":{}}}],["v3",{"_index":223,"title":{},"body":{"changelog.html":{}}}],["values",{"_index":64,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["version",{"_index":362,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["very",{"_index":682,"title":{},"body":{"changelog.html":{}}}],["via",{"_index":294,"title":{},"body":{"changelog.html":{}}}],["video",{"_index":485,"title":{},"body":{"changelog.html":{}}}],["view",{"_index":468,"title":{},"body":{"changelog.html":{}}}],["viewer",{"_index":557,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":246,"title":{},"body":{"changelog.html":{}}}],["views",{"_index":471,"title":{},"body":{"changelog.html":{}}}],["visual",{"_index":244,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":521,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":694,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":95,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["vs",{"_index":432,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":809,"title":{},"body":{"changelog.html":{}}}],["walkthrough",{"_index":1001,"title":{},"body":{"index.html":{}}}],["warming",{"_index":293,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":717,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":1058,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1055,"title":{},"body":{"license.html":{}}}],["web",{"_index":290,"title":{},"body":{"changelog.html":{}}}],["webcomponent",{"_index":430,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":881,"title":{},"body":{"dependencies.html":{}}}],["webpages",{"_index":370,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":970,"title":{},"body":{"index.html":{}}}],["week",{"_index":815,"title":{},"body":{"changelog.html":{}}}],["whether",{"_index":1071,"title":{},"body":{"license.html":{}}}],["whole",{"_index":811,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":489,"title":{},"body":{"changelog.html":{}}}],["within",{"_index":561,"title":{},"body":{"changelog.html":{}}}],["without",{"_index":391,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["workflows",{"_index":633,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":356,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":653,"title":{},"body":{"changelog.html":{}}}],["xml",{"_index":113,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["xmldata",{"_index":122,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["xmlparser",{"_index":125,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["xmlparser.end",{"_index":133,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["xmlparser.once('end",{"_index":129,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["xmlparser.write(xmldata",{"_index":132,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["yes",{"_index":960,"title":{},"body":{"miscellaneous/functions.html":{}}}],["youtube",{"_index":398,"title":{},"body":{"changelog.html":{}}}],["zone.js",{"_index":950,"title":{},"body":{"dependencies.html":{}}}]],"pipeline":["stemmer"]}, - "store": {"interfaces/QuadReader.html":{"url":"interfaces/QuadReader.html","title":"interface - QuadReader","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n QuadReader\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n readQuads\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n readQuads\n \n \n \n \n \n \nreadQuads(subject: OTerm, predicate: OTerm, object: OTerm, graph: OTerm)\n \n \n\n\n \n \n Defined in projects/triple-store-utils/src/lib/triple-store-utils.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n subject\n \n OTerm\n \n\n \n No\n \n\n\n \n \n predicate\n \n OTerm\n \n\n \n No\n \n\n\n \n \n object\n \n OTerm\n \n\n \n No\n \n\n\n \n \n graph\n \n OTerm\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Generator\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EventEmitter } from 'events';\nimport { toRDF } from 'jsonld';\nimport { JsonLd, Url } from 'jsonld/jsonld-spec';\nimport { DataFactory, Parser, Store, Quad } from 'n3';\nimport * as RDF from 'rdf-js';\nimport { RdfXmlParser } from 'rdfxml-streaming-parser';\nimport { Readable } from 'readable-stream';\n\nexport * from 'n3';\n\n// Temporary solution for using the new readQuads function on Store until the @types are updated\ntype OTerm = RDF.Term | string | null;\ninterface QuadReader {\n readQuads(subject: OTerm, predicate: OTerm, object: OTerm, graph: OTerm): Generator;\n}\n\nexport function readQuads(store: Store, subject: OTerm, predicate: OTerm, object: OTerm, graph: OTerm): Generator {\n return (store as unknown as QuadReader).readQuads(subject, predicate, object, graph);\n}\n\n/**\n * Turns a stream of values into an array.\n *\n * @param readStream The input stream.\n * @returns A promise that resolves to an array of values when the stream completes.\n */\nexport function streamToArray(readStream: EventEmitter): Promise {\n return new Promise((resolve, reject) => {\n const chunks: T[] = [];\n readStream\n .on('data', (chunk: T) => {\n chunks.push(chunk);\n })\n .once('end', () => {\n resolve(chunks);\n })\n .once('error', (err) => {\n reject(err);\n });\n });\n}\n\n/**\n * Turns an array into a readable stream.\n *\n * @param arr The values.\n * @returns A new readable stream emitting the values from the array.\n */\nexport function arrayToStream(arr: T[]): Readable {\n const length = arr.length;\n let i = 0;\n\n return new Readable({\n objectMode: true,\n read(): void {\n this.push(i \n): Promise> {\n let jsonLdData: JsonLd | undefined;\n if (typeof uri === 'string') {\n const response = await fetch(uri, { redirect: 'follow' });\n if (response.ok) {\n jsonLdData = (await response.json()) as JsonLd;\n }\n } else {\n jsonLdData = uri;\n }\n\n if (jsonLdData) {\n const quads = (await toRDF(jsonLdData)) as unknown[];\n store.import(arrayToStream(quads) as unknown as EventEmitter);\n }\n return store;\n}\n\n/**\n * Adds data from rdf xml to the store.\n * Accepts either a xml-formatted string or a uri to load data from.\n *\n * @param uri A data uri or an xml-formatted string to load data from.\n * @param store The store to add data to\n * @returns A promise that resolves when the data has been added.\n */\nexport async function addRdfXmlToStore(\n uri: string, store: RDF.Sink\n): Promise> {\n let xmlData: string | undefined;\n if (typeof uri === 'string' && uri?.startsWith('http')) {\n const response = await fetch(uri, { redirect: 'follow' });\n if (response.ok) {\n xmlData = await response.text();\n }\n } else {\n xmlData = uri;\n }\n\n if (xmlData) {\n const xmlParser = new RdfXmlParser({ dataFactory: DataFactory, strict: true });\n const result = new Promise>(resolve => {\n xmlParser.once('end', () => resolve(store));\n });\n\n store.import(xmlParser);\n xmlParser.write(xmlData);\n xmlParser.end();\n return result;\n } else {\n return store;\n }\n}\n\n/**\n * Adds data from an n3 file to the store.\n * Accepts either a n3-formatted string or a uri to load data from.\n *\n * @param uri A data uri or an n3-formatted string.\n * @param store The store to add data to.\n * @returns A promise that resolves when the data has been added.\n */\nexport async function addN3ToStore(\n uri: string | Url, store: RDF.Sink\n): Promise> {\n let data: string | undefined;\n if (typeof uri === 'string' && uri?.startsWith('http')) {\n const response = await fetch(uri, { redirect: 'follow' });\n if (response.ok) {\n data = await response.text();\n }\n } else {\n data = uri;\n }\n if (data) {\n const quads = new Parser({ format: 'n3' }).parse(data);\n store.import(arrayToStream(quads) as unknown as EventEmitter);\n }\n return store;\n}\n\nexport function serializeN3Store(store: Store): string {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n store.size; // this causes the store to compute the size before we serialize it\n const storeData = Object.assign({} as Record, store);\n // eslint-disable-next-line no-underscore-dangle\n delete storeData._factory;\n return JSON.stringify(storeData);\n}\n\nexport function deserializeN3Store(serializedStore: string, factory?: RDF.DataFactory): Store {\n const storeData = JSON.parse(serializedStore);\n const store = new Store();\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Object.assign(store, storeData, { _factory: factory ?? DataFactory });\n return store;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n interface\n QuadReader\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n function\n addJsonLdToStore\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n function\n addN3ToStore\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n function\n addRdfXmlToStore\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n function\n arrayToStream\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n function\n deserializeN3Store\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n function\n readQuads\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n function\n serializeN3Store\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n function\n streamToArray\n \n 100 %\n (1/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n addJsonLdToStore   (projects/.../triple-store-utils.ts)\n \n \n addN3ToStore   (projects/.../triple-store-utils.ts)\n \n \n addRdfXmlToStore   (projects/.../triple-store-utils.ts)\n \n \n arrayToStream   (projects/.../triple-store-utils.ts)\n \n \n deserializeN3Store   (projects/.../triple-store-utils.ts)\n \n \n readQuads   (projects/.../triple-store-utils.ts)\n \n \n serializeN3Store   (projects/.../triple-store-utils.ts)\n \n \n streamToArray   (projects/.../triple-store-utils.ts)\n \n \n \n \n \n \n\n\n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n \n \n \n \n \n \n addJsonLdToStore\n \n \n \n \n \n \naddJsonLdToStore(uri, store)\n \n \n\n\n\n\n \n \n Adds data from json ld to the store.\nAccepts either a json object or a uri to load data from.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n uri\n\n \n No\n \n\n\n \n A data uri or a json object.\n\n \n \n \n store\n\n \n No\n \n\n\n \n The store to add data to.\n\n \n \n \n \n \n \n \n \n Returns : Promise>\n\n \n \n A promise that resolves when the data has been added.\n\n \n \n \n \n \n \n \n \n \n \n \n addN3ToStore\n \n \n \n \n \n \naddN3ToStore(uri, store)\n \n \n\n\n\n\n \n \n Adds data from an n3 file to the store.\nAccepts either a n3-formatted string or a uri to load data from.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n uri\n\n \n No\n \n\n\n \n A data uri or an n3-formatted string.\n\n \n \n \n store\n\n \n No\n \n\n\n \n The store to add data to.\n\n \n \n \n \n \n \n \n \n Returns : Promise>\n\n \n \n A promise that resolves when the data has been added.\n\n \n \n \n \n \n \n \n \n \n \n \n addRdfXmlToStore\n \n \n \n \n \n \naddRdfXmlToStore(uri, store)\n \n \n\n\n\n\n \n \n Adds data from rdf xml to the store.\nAccepts either a xml-formatted string or a uri to load data from.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n uri\n\n \n No\n \n\n\n \n A data uri or an xml-formatted string to load data from.\n\n \n \n \n store\n\n \n No\n \n\n\n \n The store to add data to\n\n \n \n \n \n \n \n \n \n Returns : Promise>\n\n \n \n A promise that resolves when the data has been added.\n\n \n \n \n \n \n \n \n \n \n \n \n arrayToStream\n \n \n \n \n \n \narrayToStream(arr)\n \n \n\n\n\n\n \n \n Turns an array into a readable stream.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n arr\n\n \n No\n \n\n\n \n The values.\n\n \n \n \n \n \n \n \n \n Returns : Readable\n\n \n \n A new readable stream emitting the values from the array.\n\n \n \n \n \n \n \n \n \n \n \n \n deserializeN3Store\n \n \n \n \n \n \ndeserializeN3Store(serializedStore, factory?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n serializedStore\n\n \n No\n \n\n\n \n \n factory\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Store\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n readQuads\n \n \n \n \n \n \nreadQuads(store, subject, predicate, object, graph)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n store\n\n \n No\n \n\n\n \n \n subject\n\n \n No\n \n\n\n \n \n predicate\n\n \n No\n \n\n\n \n \n object\n\n \n No\n \n\n\n \n \n graph\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Generator\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n serializeN3Store\n \n \n \n \n \n \nserializeN3Store(store)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n store\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n streamToArray\n \n \n \n \n \n \nstreamToArray(readStream)\n \n \n\n\n\n\n \n \n Turns a stream of values into an array.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n readStream\n\n \n No\n \n\n\n \n The input stream.\n\n \n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n A promise that resolves to an array of values when the stream completes.\n\n \n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n \n \n \n 1 Interface\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n OTerm   (projects/.../triple-store-utils.ts)\n \n \n \n \n \n \n\n\n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n \n \n \n \n \n OTerm\n \n \n \n \n RDF.Term | string | null\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} + "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/interfaces/QuadReader.html",[0,0.581,1,1.265]],["body/interfaces/QuadReader.html",[0,0.395,1,1.282,2,0.86,3,0.86,4,1.496,5,0.776,6,1.001,7,1.83,8,1.001,9,0.671,10,0.671,11,2.23,12,1.533,13,2.23,14,2.927,15,2.352,16,1.817,17,2.352,18,1.112,19,1.496,20,1.112,21,0.101,22,1.112,23,1.001,24,0.86,25,1.282,26,2.352,27,1.983,28,3.436,29,2.956,30,1.496,31,1.496,32,2.198,33,2.23,34,1.496,35,1.112,36,2.956,37,1.983,38,1.496,39,1.906,40,1.533,41,1.496,42,2.23,43,1.112,44,1.112,45,1.906,46,1.906,47,3.531,48,1.496,49,1.496,50,1.112,51,1.584,52,2.626,53,1.112,54,1.112,55,1.112,56,1.112,57,2.214,58,1.112,59,1.112,60,3.609,61,2.956,62,1.496,63,1.659,64,2.198,65,2.198,66,3.316,67,1.659,68,1.112,69,2.555,70,1.983,71,1.112,72,1.112,73,1.496,74,1.496,75,3.776,76,1.496,77,2.667,78,1.496,79,1.496,80,1.496,81,1.496,82,1.496,83,1.496,84,1.496,85,1.496,86,1.112,87,1.112,88,1.112,89,1.496,90,1.496,91,1.112,92,1.496,93,2.23,94,1.496,95,1.496,96,1.496,97,2.956,98,2.667,99,2.667,100,2.865,101,2.667,102,3.436,103,2.667,104,2.667,105,2.667,106,2.667,107,1.496,108,2.23,109,1.496,110,2.23,111,1.282,112,2.232,113,1.983,114,1.659,115,2.198,116,1.533,117,1.659,118,1.282,119,2.23,120,0.86,121,2.23,122,2.956,123,2.23,124,2.23,125,1.496,126,1.496,127,0.062,128,1.496,129,1.496,130,1.496,131,1.496,132,1.496,133,1.496,134,0.86,135,1.112,136,1.496,137,1.112,138,2.667,139,2.667,140,1.983,141,2.667,142,1.282,143,1.496,144,1.496,145,1.496,146,1.496,147,1.496,148,1.496,149,1.496,150,1.112,151,1.496,152,2.667,153,1.496,154,1.496,155,1.496,156,1.496,157,1.496,158,1.496,159,1.496,160,1.112,161,1.659,162,1.496,163,1.496,164,1.496,165,1.496,166,1.496,167,1.496,168,0.052,169,0.035]],["title/changelog.html",[170,1.077,171,0.841,172,1.077]],["body/changelog.html",[0,0.708,2,0.414,3,1.46,5,0.251,18,0.536,21,0.07,23,0.323,24,0.414,35,1.889,50,1.436,51,1.345,53,0.921,54,0.536,55,2.67,111,0.712,112,2.079,116,1.11,118,2.38,127,0.017,135,0.536,140,1.889,142,0.712,150,1.21,168,0.029,169,0.065,171,0.73,172,0.712,173,1.21,174,2.51,175,1.21,176,1.436,177,2.084,178,1.238,179,1.238,180,2.374,181,1.994,182,0.536,183,1.238,184,0.536,185,1.765,186,0.721,187,2.174,188,1.931,189,3.152,190,0.721,191,1.238,192,1.931,193,1.238,194,1.627,195,0.721,196,1.238,197,0.721,198,3.152,199,0.721,200,0.935,201,2.846,202,1.238,203,2.392,204,0.536,205,0.721,206,0.921,207,0.921,208,0.921,209,2.681,210,2.54,211,0.721,212,0.721,213,0.721,214,1.627,215,1.238,216,1.627,217,2.999,218,0.721,219,0.921,220,0.536,221,0.721,222,0.721,223,2.802,224,1.238,225,2.174,226,1.627,227,1.627,228,0.721,229,1.238,230,1.238,231,2.9,232,1.238,233,0.721,234,1.671,235,0.721,236,3.327,237,0.721,238,1.238,239,2.727,240,0.721,241,1.627,242,1.238,243,1.627,244,1.627,245,1.931,246,1.238,247,1.627,248,0.721,249,1.238,250,1.238,251,0.721,252,2.54,253,2.374,254,2.54,255,1.238,256,0.721,257,0.721,258,3.327,259,2.802,260,1.931,261,0.721,262,1.238,263,0.721,264,0.721,265,1.238,266,1.627,267,1.617,268,0.721,269,0.721,270,0.721,271,0.721,272,1.238,273,3.274,274,0.721,275,2.374,276,0.721,277,0.721,278,0.721,279,1.627,280,1.21,281,0.721,282,0.721,283,0.921,284,0.721,285,2.374,286,2.999,287,1.238,288,2.174,289,0.721,290,2.174,291,1.238,292,2.374,293,1.238,294,0.721,295,0.721,296,0.721,297,1.238,298,2.374,299,1.436,300,1.238,301,0.721,302,2.54,303,2.759,304,0.721,305,0.721,306,1.238,307,0.721,308,1.931,309,3.216,310,1.238,311,1.627,312,0.721,313,0.721,314,1.627,315,0.721,316,1.238,317,0.721,318,1.238,319,0.721,320,0.721,321,0.721,322,0.721,323,3.216,324,0.721,325,0.536,326,1.25,327,0.721,328,1.238,329,0.536,330,0.721,331,1.238,332,1.931,333,1.931,334,0.721,335,1.238,336,1.627,337,0.721,338,0.721,339,0.721,340,1.238,341,0.721,342,0.721,343,2.374,344,1.065,345,1.617,346,1.21,347,0.721,348,1.617,349,0.721,350,1.627,351,1.994,352,3.152,353,0.721,354,0.721,355,1.238,356,1.21,357,0.721,358,0.721,359,0.721,360,2.174,361,0.721,362,0.721,363,0.721,364,0.721,365,0.721,366,0.921,367,0.921,368,0.721,369,1.994,370,0.721,371,0.721,372,0.721,373,2.084,374,2.23,375,0.721,376,0.721,377,0.721,378,1.617,379,1.617,380,0.721,381,1.238,382,0.721,383,0.721,384,1.627,385,1.238,386,0.721,387,1.238,388,1.238,389,0.721,390,1.238,391,1.238,392,1.238,393,1.238,394,0.721,395,1.627,396,0.721,397,0.721,398,0.536,399,0.721,400,1.21,401,0.536,402,1.238,403,1.238,404,0.721,405,0.721,406,1.238,407,1.238,408,1.238,409,1.238,410,0.721,411,0.721,412,0.721,413,0.721,414,1.627,415,0.721,416,1.238,417,0.721,418,0.721,419,1.238,420,2.374,421,0.921,422,0.721,423,0.536,424,0.721,425,0.721,426,2.174,427,0.721,428,1.627,429,1.238,430,2.374,431,0.921,432,1.238,433,1.931,434,0.721,435,0.721,436,0.721,437,0.721,438,0.721,439,0.721,440,0.721,441,0.721,442,1.238,443,1.238,444,0.721,445,1.238,446,0.721,447,0.721,448,1.238,449,0.721,450,1.238,451,0.721,452,0.721,453,1.931,454,0.721,455,0.721,456,0.721,457,0.721,458,1.238,459,0.721,460,0.721,461,0.721,462,0.721,463,0.721,464,0.721,465,0.721,466,1.238,467,0.721,468,0.721,469,0.721,470,0.721,471,0.721,472,1.238,473,0.721,474,2.374,475,0.721,476,0.721,477,1.627,478,1.627,479,1.238,480,0.536,481,1.238,482,0.721,483,0.536,484,0.536,485,0.721,486,1.238,487,0.721,488,0.721,489,1.11,490,0.721,491,0.721,492,1.238,493,1.238,494,0.721,495,0.721,496,1.238,497,1.238,498,0.721,499,1.238,500,1.931,501,1.627,502,0.721,503,0.721,504,0.721,505,0.721,506,0.536,507,0.536,508,0.721,509,1.238,510,0.721,511,0.721,512,0.721,513,0.721,514,1.238,515,1.931,516,0.721,517,0.721,518,0.721,519,0.721,520,2.374,521,1.627,522,1.238,523,0.721,524,0.721,525,1.627,526,1.238,527,1.238,528,1.238,529,1.931,530,0.721,531,1.931,532,0.721,533,0.721,534,1.238,535,0.721,536,0.721,537,0.721,538,0.721,539,0.721,540,1.931,541,0.721,542,1.627,543,1.931,544,0.721,545,1.627,546,2.174,547,1.238,548,1.238,549,1.238,550,1.238,551,1.627,552,1.931,553,2.174,554,1.238,555,1.627,556,0.721,557,0.721,558,2.54,559,1.627,560,0.721,561,1.931,562,1.931,563,2.802,564,0.721,565,0.721,566,0.721,567,0.721,568,0.721,569,0.721,570,1.238,571,0.721,572,1.238,573,0.721,574,0.721,575,0.721,576,0.721,577,1.238,578,0.721,579,1.627,580,0.721,581,0.721,582,1.21,583,1.238,584,1.627,585,0.721,586,0.721,587,0.721,588,1.238,589,0.721,590,0.721,591,0.721,592,0.721,593,0.721,594,0.721,595,0.721,596,1.238,597,0.721,598,0.721,599,1.931,600,2.374,601,1.238,602,1.627,603,1.238,604,1.931,605,0.721,606,0.721,607,0.721,608,0.721,609,1.627,610,0.721,611,0.721,612,0.721,613,1.238,614,1.238,615,1.238,616,1.238,617,1.627,618,0.721,619,0.721,620,0.721,621,0.721,622,0.721,623,0.721,624,0.536,625,0.721,626,0.721,627,0.721,628,1.238,629,0.721,630,0.721,631,1.238,632,0.721,633,0.721,634,0.721,635,0.721,636,0.721,637,0.721,638,0.721,639,0.721,640,0.721,641,0.721,642,2.681,643,0.721,644,1.21,645,2.681,646,1.627,647,1.931,648,1.238,649,1.627,650,0.721,651,1.238,652,0.721,653,0.721,654,1.238,655,1.238,656,1.238,657,0.721,658,0.721,659,0.721,660,0.721,661,1.238,662,0.721,663,1.627,664,0.721,665,0.721,666,0.721,667,1.931,668,0.721,669,0.536,670,0.721,671,0.721,672,0.721,673,0.721,674,0.721,675,0.536,676,0.536,677,0.721,678,0.721,679,0.721,680,2.174,681,0.721,682,0.721,683,0.721,684,0.721,685,0.721,686,0.721,687,0.721,688,0.721,689,0.721,690,0.721,691,0.721,692,0.721,693,0.721,694,0.721,695,0.721,696,1.238,697,0.721,698,1.238,699,0.721,700,1.238,701,1.238,702,1.931,703,1.931,704,1.238,705,1.238,706,0.721,707,0.721,708,0.721,709,1.627,710,0.721,711,0.536,712,0.721,713,0.721,714,0.721,715,0.721,716,0.721,717,0.721,718,1.238,719,2.907,720,1.627,721,0.721,722,1.238,723,0.721,724,0.721,725,0.721,726,0.721,727,0.921,728,0.721,729,0.721,730,0.721,731,0.721,732,0.721,733,1.238,734,1.889,735,1.238,736,0.721,737,0.721,738,0.721,739,0.921,740,0.721,741,1.931,742,0.721,743,1.238,744,0.721,745,0.721,746,0.721,747,1.11,748,0.721,749,1.238,750,0.721,751,0.721,752,0.721,753,1.238,754,1.238,755,0.721,756,0.721,757,0.721,758,0.721,759,1.238,760,1.627,761,1.238,762,0.721,763,0.721,764,0.921,765,0.721,766,0.721,767,0.721,768,0.721,769,0.721,770,0.721,771,0.721,772,0.721,773,0.721,774,0.536,775,0.721,776,0.721,777,1.238,778,0.721,779,0.721,780,0.721,781,0.721,782,0.721,783,0.721,784,0.721,785,1.238,786,0.721,787,0.536,788,0.721,789,0.721,790,0.536,791,0.721,792,0.721,793,0.721,794,1.238,795,0.721,796,0.721,797,0.721,798,0.721,799,0.721,800,0.721,801,0.721,802,0.721,803,0.721,804,0.721,805,0.721,806,1.238,807,0.721,808,0.721,809,0.721,810,0.721,811,1.238,812,0.536,813,0.536,814,0.721,815,0.721,816,0.721,817,0.721,818,0.721,819,0.721,820,0.721]],["title/coverage.html",[747,1.684]],["body/coverage.html",[0,0.729,1,1.588,5,0.961,6,1.846,7,1.904,8,1.846,9,1.846,12,1.588,21,0.097,23,1.239,51,1.239,52,3.037,91,2.843,120,1.588,127,0.064,134,1.588,168,0.079,169,0.064,344,1.239,747,1.588,821,2.762,822,2.762,823,2.762,824,2.054,825,3.923,826,3.923,827,2.054,828,2.054,829,3.666,830,2.054,831,2.054,832,2.762,833,2.762]],["title/dependencies.html",[329,1.394,489,1.509]],["body/dependencies.html",[5,0.765,16,1.264,21,0.101,32,1.635,37,2.178,39,1.264,40,1.264,43,1.635,44,1.635,45,1.264,46,1.683,127,0.051,168,0.068,169,0.051,184,2.178,208,1.635,219,1.635,220,1.635,326,1.264,348,2.178,366,1.635,373,1.635,421,1.635,431,1.635,483,1.635,484,1.635,489,1.264,507,2.178,582,1.635,644,2.178,739,2.178,834,2.199,835,2.199,836,2.199,837,4.02,838,2.199,839,2.199,840,2.199,841,2.199,842,2.199,843,2.199,844,2.199,845,2.199,846,2.928,847,2.199,848,2.199,849,2.199,850,2.199,851,2.199,852,2.199,853,2.199,854,3.293,855,2.199,856,2.928,857,2.199,858,2.199,859,2.199,860,2.199,861,3.293,862,2.199,863,2.199,864,2.199,865,2.199,866,2.199,867,2.199,868,2.199,869,2.199,870,2.928,871,2.199,872,2.199,873,2.199,874,2.928,875,2.199,876,2.199,877,2.928,878,2.928,879,2.199,880,2.199,881,2.199,882,2.199,883,2.199,884,2.199,885,2.199,886,2.199,887,2.199,888,2.199,889,2.199,890,2.199,891,2.199,892,2.199,893,2.199,894,2.199,895,2.199,896,2.199,897,2.199,898,2.199,899,2.199,900,2.199,901,2.199,902,2.199,903,2.199,904,2.199,905,1.635,906,2.199,907,2.199,908,2.199,909,2.199,910,2.199,911,2.199,912,2.928,913,2.199,914,2.199,915,2.199,916,2.199,917,2.199,918,2.199,919,2.199,920,2.199,921,2.199,922,2.199,923,2.199,924,2.199,925,2.199,926,2.199,927,2.199,928,2.199,929,2.199,930,2.199,931,2.199,932,2.199,933,2.928,934,2.199,935,2.199,936,2.199,937,2.199,938,2.199,939,2.199,940,2.199,941,2.199,942,2.199,943,2.199,944,2.199,945,2.199,946,2.199,947,2.199,948,2.199,949,2.199,950,2.199,951,2.199,952,2.199,953,2.199,954,2.199,955,2.199,956,2.199]],["title/miscellaneous/functions.html",[957,0.841,958,1.953]],["body/miscellaneous/functions.html",[5,0.777,6,1.001,7,1.893,8,1.001,9,1.776,10,1.001,12,1.7,15,2.2,16,2.03,17,2.2,20,2.909,21,0.097,22,2.909,24,2.248,25,1.7,26,2.909,27,1.66,39,1.907,40,1.283,45,1.907,46,2.112,51,1.001,57,2.112,59,1.66,63,2.2,64,2.627,65,2.627,67,1.66,68,1.66,69,2.909,70,2.627,71,1.66,72,1.66,86,1.66,87,1.66,88,1.66,100,2.944,111,1.907,112,2.376,113,2.467,114,2.467,115,2.627,116,2.03,117,2.467,118,1.907,120,1.7,127,0.052,134,1.7,137,1.66,160,1.66,161,2.2,168,0.069,169,0.052,675,2.467,676,1.66,824,2.2,827,2.2,828,2.2,830,2.2,831,2.2,957,1.001,958,1.66,959,2.909,960,2.232,961,3.675,962,2.232,963,2.232,964,2.232,965,2.232]],["title/index.html",[10,0.841,170,1.077,171,0.841]],["body/index.html",[0,0.809,2,1.353,3,2.149,21,0.072,127,0.055,142,1.353,168,0.072,169,0.055,172,1.353,173,2.277,174,2.277,175,2.277,176,2.532,177,2.532,181,1.75,182,2.681,185,2.277,200,1.76,201,3.159,203,2.942,204,2.277,206,2.277,207,2.681,231,2.277,234,2.072,239,2.532,267,1.75,280,2.277,283,2.277,299,1.75,303,2.532,325,1.75,326,1.353,344,1.056,345,2.78,346,2.681,351,2.277,356,1.75,367,2.277,369,1.75,374,1.75,379,1.75,400,1.75,401,2.277,480,2.277,506,1.75,669,1.75,764,1.75,774,1.75,787,1.75,812,1.75,966,3.062,967,3.062,968,3.062,969,2.353,970,2.353,971,2.353,972,2.353,973,2.277,974,2.353,975,2.353,976,2.353,977,3.062,978,3.062,979,3.062,980,3.404,981,2.353,982,2.353,983,3.404,984,3.404,985,2.353,986,2.353,987,3.062,988,2.353,989,2.353,990,2.353,991,2.353,992,2.353,993,2.353,994,2.353,995,2.353,996,2.353,997,2.353,998,2.353,999,2.353,1000,2.353,1001,3.062,1002,2.353,1003,2.353,1004,3.062,1005,3.062,1006,2.353,1007,3.062,1008,3.062,1009,2.353,1010,2.353,1011,2.353,1012,2.353,1013,2.353,1014,2.353,1015,2.353,1016,2.353,1017,2.353,1018,2.353,1019,2.353,1020,2.353,1021,2.353,1022,2.353,1023,2.353]],["title/license.html",[170,1.077,171,0.841,1024,1.394]],["body/license.html",[21,0.08,25,1.604,127,0.065,168,0.08,169,0.065,200,1.96,234,1.604,344,1.252,378,2.536,398,2.739,423,2.076,624,2.536,711,2.076,734,2.076,790,2.076,813,2.076,905,2.076,973,3.065,1024,2.076,1025,2.791,1026,3.683,1027,2.791,1028,2.791,1029,3.411,1030,2.791,1031,2.791,1032,2.791,1033,2.791,1034,2.791,1035,2.791,1036,3.411,1037,2.791,1038,2.791,1039,2.791,1040,2.791,1041,2.791,1042,2.791,1043,2.791,1044,2.791,1045,2.791,1046,2.791,1047,2.791,1048,2.791,1049,3.411,1050,2.791,1051,2.791,1052,2.791,1053,2.791,1054,2.791,1055,3.411,1056,2.791,1057,2.791,1058,2.791,1059,2.791,1060,2.791,1061,2.791,1062,2.791,1063,2.791,1064,2.791,1065,2.791,1066,2.791,1067,2.791,1068,2.791,1069,2.791,1070,2.791,1071,2.791,1072,2.791,1073,2.791,1074,2.791,1075,2.791,1076,2.791,1077,2.791,1078,2.791,1079,2.791,1080,2.791,1081,2.791,1082,2.791,1083,2.791]],["title/modules.html",[1084,2.179]],["body/modules.html",[21,0.088,127,0.078,168,0.088,169,0.078,1084,2.471]],["title/overview.html",[1085,2.179]],["body/overview.html",[0,0.874,21,0.088,127,0.077,168,0.088,169,0.077,727,2.461,1085,2.461]],["title/miscellaneous/typealiases.html",[957,0.841,1086,2.626]],["body/miscellaneous/typealiases.html",[6,1.437,7,1.751,8,1.437,9,1.661,10,1.437,14,2.753,21,0.094,23,1.437,56,2.382,57,1.841,58,2.382,127,0.075,168,0.086,169,0.075,957,1.437,959,2.382,1087,3.204]]],"invertedIndex":[["",{"_index":21,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{}}}],["0",{"_index":91,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{}}}],["0.1.0",{"_index":811,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":956,"title":{},"body":{"dependencies.html":{}}}],["0.18.0",{"_index":891,"title":{},"body":{"dependencies.html":{}}}],["0.2.0",{"_index":806,"title":{},"body":{"changelog.html":{}}}],["0.20.0",{"_index":913,"title":{},"body":{"dependencies.html":{}}}],["0.5.0",{"_index":794,"title":{},"body":{"changelog.html":{}}}],["0.6.0",{"_index":764,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["0/1",{"_index":829,"title":{},"body":{"coverage.html":{}}}],["0/2",{"_index":823,"title":{},"body":{"coverage.html":{}}}],["01",{"_index":242,"title":{},"body":{"changelog.html":{}}}],["02",{"_index":610,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":546,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":288,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":515,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":192,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":180,"title":{},"body":{"changelog.html":{}}}],["08",{"_index":735,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":225,"title":{},"body":{"changelog.html":{}}}],["1",{"_index":727,"title":{},"body":{"changelog.html":{},"overview.html":{}}}],["1.0",{"_index":645,"title":{},"body":{"changelog.html":{}}}],["1.0.0",{"_index":719,"title":{},"body":{"changelog.html":{}}}],["1.0.11",{"_index":887,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":895,"title":{},"body":{"dependencies.html":{}}}],["1.0.6",{"_index":951,"title":{},"body":{"dependencies.html":{}}}],["1.1.0",{"_index":696,"title":{},"body":{"changelog.html":{}}}],["1.16.0",{"_index":929,"title":{},"body":{"dependencies.html":{}}}],["1.19.0",{"_index":888,"title":{},"body":{"dependencies.html":{}}}],["1.2.0",{"_index":644,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.2.3",{"_index":899,"title":{},"body":{"dependencies.html":{}}}],["1.2.6",{"_index":932,"title":{},"body":{"dependencies.html":{}}}],["1.3.5",{"_index":609,"title":{},"body":{"changelog.html":{}}}],["1.4.0",{"_index":582,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["1.4.1",{"_index":916,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":545,"title":{},"body":{"changelog.html":{}}}],["1.6.0",{"_index":529,"title":{},"body":{"changelog.html":{}}}],["1.7.0",{"_index":514,"title":{},"body":{"changelog.html":{}}}],["1.7.2",{"_index":902,"title":{},"body":{"dependencies.html":{}}}],["1/1",{"_index":826,"title":{},"body":{"coverage.html":{}}}],["10",{"_index":210,"title":{},"body":{"changelog.html":{}}}],["10.0.0",{"_index":911,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":825,"title":{},"body":{"coverage.html":{}}}],["10x",{"_index":708,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":584,"title":{},"body":{"changelog.html":{}}}],["11.2.1",{"_index":934,"title":{},"body":{"dependencies.html":{}}}],["12",{"_index":181,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12.0.1",{"_index":936,"title":{},"body":{"dependencies.html":{}}}],["12.1.1",{"_index":837,"title":{},"body":{"dependencies.html":{}}}],["12.1.3",{"_index":845,"title":{},"body":{"dependencies.html":{}}}],["13",{"_index":409,"title":{},"body":{"changelog.html":{}}}],["14",{"_index":289,"title":{},"body":{"changelog.html":{}}}],["15",{"_index":193,"title":{},"body":{"changelog.html":{}}}],["15.126.1",{"_index":835,"title":{},"body":{"dependencies.html":{}}}],["16",{"_index":479,"title":{},"body":{"changelog.html":{}}}],["16.0.0",{"_index":904,"title":{},"body":{"dependencies.html":{}}}],["17",{"_index":266,"title":{},"body":{"changelog.html":{}}}],["2",{"_index":667,"title":{},"body":{"changelog.html":{}}}],["2.0.0",{"_index":478,"title":{},"body":{"changelog.html":{}}}],["2.0.5",{"_index":908,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":431,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.2.0",{"_index":421,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.3.0",{"_index":416,"title":{},"body":{"changelog.html":{}}}],["2.3.1",{"_index":408,"title":{},"body":{"changelog.html":{}}}],["2.4.0",{"_index":392,"title":{},"body":{"changelog.html":{}}}],["2.5.0",{"_index":366,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["2.6.7",{"_index":939,"title":{},"body":{"dependencies.html":{}}}],["2.8.5",{"_index":897,"title":{},"body":{"dependencies.html":{}}}],["2.awsapprunner.com",{"_index":995,"title":{},"body":{"index.html":{}}}],["2019",{"_index":734,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["2020",{"_index":647,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":352,"title":{},"body":{"changelog.html":{}}}],["2022",{"_index":209,"title":{},"body":{"changelog.html":{}}}],["2023",{"_index":179,"title":{},"body":{"changelog.html":{}}}],["21",{"_index":516,"title":{},"body":{"changelog.html":{}}}],["22",{"_index":721,"title":{},"body":{"changelog.html":{}}}],["24",{"_index":795,"title":{},"body":{"changelog.html":{}}}],["26",{"_index":547,"title":{},"body":{"changelog.html":{}}}],["26th",{"_index":587,"title":{},"body":{"changelog.html":{}}}],["27",{"_index":226,"title":{},"body":{"changelog.html":{}}}],["3",{"_index":631,"title":{},"body":{"changelog.html":{}}}],["3.0.0",{"_index":348,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.0.12",{"_index":861,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":306,"title":{},"body":{"changelog.html":{}}}],["3.1.1",{"_index":297,"title":{},"body":{"changelog.html":{}}}],["3.2.0",{"_index":287,"title":{},"body":{"changelog.html":{}}}],["3.3.0",{"_index":265,"title":{},"body":{"changelog.html":{}}}],["3.4.0",{"_index":241,"title":{},"body":{"changelog.html":{}}}],["3.5.0",{"_index":224,"title":{},"body":{"changelog.html":{}}}],["3.5.5",{"_index":867,"title":{},"body":{"dependencies.html":{}}}],["3.5.7",{"_index":869,"title":{},"body":{"dependencies.html":{}}}],["3.6",{"_index":1001,"title":{},"body":{"index.html":{}}}],["3.6.0",{"_index":208,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["3.7.0",{"_index":191,"title":{},"body":{"changelog.html":{}}}],["3.7.1",{"_index":878,"title":{},"body":{"dependencies.html":{}}}],["3.7.2",{"_index":178,"title":{},"body":{"changelog.html":{}}}],["3.7.3",{"_index":881,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":432,"title":{},"body":{"changelog.html":{}}}],["31",{"_index":697,"title":{},"body":{"changelog.html":{}}}],["3d",{"_index":258,"title":{},"body":{"changelog.html":{}}}],["4",{"_index":666,"title":{},"body":{"changelog.html":{}}}],["4.0",{"_index":978,"title":{},"body":{"index.html":{}}}],["4.0.2",{"_index":875,"title":{},"body":{"dependencies.html":{}}}],["4.17.1",{"_index":906,"title":{},"body":{"dependencies.html":{}}}],["4.17.21",{"_index":927,"title":{},"body":{"dependencies.html":{}}}],["4.3.0",{"_index":893,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":918,"title":{},"body":{"dependencies.html":{}}}],["4th",{"_index":212,"title":{},"body":{"changelog.html":{}}}],["5.0.0",{"_index":921,"title":{},"body":{"dependencies.html":{}}}],["5.2.0",{"_index":925,"title":{},"body":{"dependencies.html":{}}}],["5th",{"_index":197,"title":{},"body":{"changelog.html":{}}}],["6.0.1",{"_index":924,"title":{},"body":{"dependencies.html":{}}}],["6.10.2",{"_index":942,"title":{},"body":{"dependencies.html":{}}}],["6.2.0",{"_index":872,"title":{},"body":{"dependencies.html":{}}}],["6.5.1",{"_index":948,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":945,"title":{},"body":{"dependencies.html":{}}}],["8",{"_index":522,"title":{},"body":{"changelog.html":{}}}],["8.3.2",{"_index":954,"title":{},"body":{"dependencies.html":{}}}],["8.5.12",{"_index":865,"title":{},"body":{"dependencies.html":{}}}],["8.5.7",{"_index":854,"title":{},"body":{"dependencies.html":{}}}],["8.7.8",{"_index":857,"title":{},"body":{"dependencies.html":{}}}],["85",{"_index":805,"title":{},"body":{"changelog.html":{}}}],["90",{"_index":746,"title":{},"body":{"changelog.html":{}}}],["95",{"_index":293,"title":{},"body":{"changelog.html":{}}}],["9th",{"_index":557,"title":{},"body":{"changelog.html":{}}}],["_factory",{"_index":167,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["ability",{"_index":448,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":790,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["accepts",{"_index":114,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["accurate",{"_index":544,"title":{},"body":{"changelog.html":{}}}],["action",{"_index":1076,"title":{},"body":{"license.html":{}}}],["actions",{"_index":635,"title":{},"body":{"changelog.html":{}}}],["add",{"_index":117,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["added",{"_index":118,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["additional",{"_index":791,"title":{},"body":{"changelog.html":{}}}],["addjsonldtostore",{"_index":824,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["addjsonldtostore(uri",{"_index":960,"title":{},"body":{"miscellaneous/functions.html":{}}}],["addn3tostore",{"_index":134,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["addn3tostore(uri",{"_index":962,"title":{},"body":{"miscellaneous/functions.html":{}}}],["addrdfxmltostore",{"_index":120,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["addrdfxmltostore(uri",{"_index":963,"title":{},"body":{"miscellaneous/functions.html":{}}}],["addressed",{"_index":690,"title":{},"body":{"changelog.html":{}}}],["adds",{"_index":111,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["adjusting",{"_index":683,"title":{},"body":{"changelog.html":{}}}],["adjustment",{"_index":581,"title":{},"body":{"changelog.html":{}}}],["advanced",{"_index":482,"title":{},"body":{"changelog.html":{}}}],["again",{"_index":656,"title":{},"body":{"changelog.html":{}}}],["age",{"_index":387,"title":{},"body":{"changelog.html":{}}}],["ala",{"_index":413,"title":{},"body":{"changelog.html":{}}}],["aliases",{"_index":1087,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["allows",{"_index":564,"title":{},"body":{"changelog.html":{}}}],["alpha",{"_index":776,"title":{},"body":{"changelog.html":{}}}],["alpha.1",{"_index":754,"title":{},"body":{"changelog.html":{}}}],["alpha.2",{"_index":749,"title":{},"body":{"changelog.html":{}}}],["alpha.3",{"_index":733,"title":{},"body":{"changelog.html":{}}}],["alt",{"_index":982,"title":{},"body":{"index.html":{}}}],["analytics",{"_index":484,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["anatomical",{"_index":579,"title":{},"body":{"changelog.html":{}}}],["and/or",{"_index":1047,"title":{},"body":{"license.html":{}}}],["angular",{"_index":326,"title":{},"body":{"changelog.html":{},"dependencies.html":{},"index.html":{}}}],["angular/animations",{"_index":836,"title":{},"body":{"dependencies.html":{}}}],["angular/cdk",{"_index":838,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":839,"title":{},"body":{"dependencies.html":{}}}],["angular/compiler",{"_index":840,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":841,"title":{},"body":{"dependencies.html":{}}}],["angular/elements",{"_index":842,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":843,"title":{},"body":{"dependencies.html":{}}}],["angular/material",{"_index":844,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":846,"title":{},"body":{"dependencies.html":{}}}],["angular/router",{"_index":848,"title":{},"body":{"dependencies.html":{}}}],["angular/youtube",{"_index":849,"title":{},"body":{"dependencies.html":{}}}],["api",{"_index":203,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["api.hubmapconsortium.org",{"_index":992,"title":{},"body":{"index.html":{}}}],["appear",{"_index":361,"title":{},"body":{"changelog.html":{}}}],["application",{"_index":568,"title":{},"body":{"changelog.html":{}}}],["applied",{"_index":618,"title":{},"body":{"changelog.html":{}}}],["appropriate",{"_index":328,"title":{},"body":{"changelog.html":{}}}],["april",{"_index":556,"title":{},"body":{"changelog.html":{}}}],["arising",{"_index":1080,"title":{},"body":{"license.html":{}}}],["arr",{"_index":86,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["arr.length",{"_index":90,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["array",{"_index":65,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["arraytostream",{"_index":827,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["arraytostream(arr",{"_index":88,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["asct+b",{"_index":353,"title":{},"body":{"changelog.html":{}}}],["assignment/selection",{"_index":532,"title":{},"body":{"changelog.html":{}}}],["associated",{"_index":423,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["async",{"_index":119,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["atlas",{"_index":175,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["attempts",{"_index":396,"title":{},"body":{"changelog.html":{}}}],["authors",{"_index":1069,"title":{},"body":{"license.html":{}}}],["automatic",{"_index":671,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":619,"title":{},"body":{"changelog.html":{}}}],["available",{"_index":663,"title":{},"body":{"changelog.html":{}}}],["avoid",{"_index":467,"title":{},"body":{"changelog.html":{}}}],["await",{"_index":102,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["award",{"_index":1022,"title":{},"body":{"index.html":{}}}],["backend",{"_index":372,"title":{},"body":{"changelog.html":{}}}],["background",{"_index":787,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["base",{"_index":759,"title":{},"body":{"changelog.html":{}}}],["based",{"_index":455,"title":{},"body":{"changelog.html":{}}}],["basic",{"_index":480,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["before",{"_index":150,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["being",{"_index":513,"title":{},"body":{"changelog.html":{}}}],["beta",{"_index":351,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["better",{"_index":433,"title":{},"body":{"changelog.html":{}}}],["between",{"_index":725,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":886,"title":{},"body":{"dependencies.html":{}}}],["block",{"_index":314,"title":{},"body":{"changelog.html":{}}}],["blocks",{"_index":260,"title":{},"body":{"changelog.html":{}}}],["bmi",{"_index":389,"title":{},"body":{"changelog.html":{}}}],["board",{"_index":751,"title":{},"body":{"changelog.html":{}}}],["body",{"_index":373,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["both",{"_index":419,"title":{},"body":{"changelog.html":{}}}],["box",{"_index":466,"title":{},"body":{"changelog.html":{}}}],["breaking",{"_index":503,"title":{},"body":{"changelog.html":{}}}],["bringing",{"_index":523,"title":{},"body":{"changelog.html":{}}}],["browser",{"_index":739,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["browserify",{"_index":946,"title":{},"body":{"dependencies.html":{}}}],["browsing",{"_index":815,"title":{},"body":{"changelog.html":{}}}],["bug",{"_index":286,"title":{},"body":{"changelog.html":{}}}],["build",{"_index":974,"title":{},"body":{"index.html":{}}}],["builds",{"_index":347,"title":{},"body":{"changelog.html":{}}}],["button",{"_index":753,"title":{},"body":{"changelog.html":{}}}],["c",{"_index":1027,"title":{},"body":{"license.html":{}}}],["cache",{"_index":184,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["cacheable",{"_index":950,"title":{},"body":{"dependencies.html":{}}}],["callback",{"_index":452,"title":{},"body":{"changelog.html":{}}}],["called",{"_index":509,"title":{},"body":{"changelog.html":{}}}],["calls",{"_index":222,"title":{},"body":{"changelog.html":{}}}],["cancelregistration",{"_index":451,"title":{},"body":{"changelog.html":{}}}],["candidate",{"_index":723,"title":{},"body":{"changelog.html":{}}}],["cannon",{"_index":889,"title":{},"body":{"dependencies.html":{}}}],["card",{"_index":487,"title":{},"body":{"changelog.html":{}}}],["carousel",{"_index":492,"title":{},"body":{"changelog.html":{}}}],["case",{"_index":1004,"title":{},"body":{"index.html":{}}}],["cases",{"_index":695,"title":{},"body":{"changelog.html":{}}}],["causes",{"_index":147,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["ccf",{"_index":201,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["ccf's",{"_index":640,"title":{},"body":{"changelog.html":{}}}],["ccf.owl",{"_index":194,"title":{},"body":{"changelog.html":{}}}],["cell",{"_index":308,"title":{},"body":{"changelog.html":{}}}],["center",{"_index":1017,"title":{},"body":{"index.html":{}}}],["change",{"_index":506,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["changed",{"_index":216,"title":{},"body":{"changelog.html":{}}}],["changelog",{"_index":172,"title":{"changelog.html":{}},"body":{"changelog.html":{},"index.html":{}}}],["changes",{"_index":188,"title":{},"body":{"changelog.html":{}}}],["charge",{"_index":1033,"title":{},"body":{"license.html":{}}}],["choose",{"_index":664,"title":{},"body":{"changelog.html":{}}}],["chunk",{"_index":79,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["chunks",{"_index":76,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["chunks.push(chunk",{"_index":80,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["ci/cd",{"_index":638,"title":{},"body":{"changelog.html":{}}}],["claim",{"_index":1072,"title":{},"body":{"license.html":{}}}],["clean",{"_index":284,"title":{},"body":{"changelog.html":{}}}],["cleanup",{"_index":350,"title":{},"body":{"changelog.html":{}}}],["click",{"_index":404,"title":{},"body":{"changelog.html":{}}}],["clicking",{"_index":499,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":182,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["code",{"_index":343,"title":{},"body":{"changelog.html":{}}}],["codebase",{"_index":650,"title":{},"body":{"changelog.html":{}}}],["codex",{"_index":707,"title":{},"body":{"changelog.html":{}}}],["codifies",{"_index":769,"title":{},"body":{"changelog.html":{}}}],["collaboration",{"_index":648,"title":{},"body":{"changelog.html":{}}}],["collisions",{"_index":673,"title":{},"body":{"changelog.html":{}}}],["color",{"_index":531,"title":{},"body":{"changelog.html":{}}}],["colorizing",{"_index":716,"title":{},"body":{"changelog.html":{}}}],["combination",{"_index":665,"title":{},"body":{"changelog.html":{}}}],["come",{"_index":712,"title":{},"body":{"changelog.html":{}}}],["coming",{"_index":704,"title":{},"body":{"changelog.html":{}}}],["comlink",{"_index":892,"title":{},"body":{"dependencies.html":{}}}],["common",{"_index":401,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["completes",{"_index":71,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["complexity",{"_index":539,"title":{},"body":{"changelog.html":{}}}],["compodoc",{"_index":341,"title":{},"body":{"changelog.html":{}}}],["component",{"_index":299,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["components",{"_index":481,"title":{},"body":{"changelog.html":{}}}],["compute",{"_index":148,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["comunica/query",{"_index":851,"title":{},"body":{"dependencies.html":{}}}],["concat",{"_index":894,"title":{},"body":{"dependencies.html":{}}}],["conditions",{"_index":1054,"title":{},"body":{"license.html":{}}}],["config",{"_index":447,"title":{},"body":{"changelog.html":{}}}],["configuration",{"_index":187,"title":{},"body":{"changelog.html":{}}}],["configurations",{"_index":446,"title":{},"body":{"changelog.html":{}}}],["confirmation",{"_index":394,"title":{},"body":{"changelog.html":{}}}],["conform",{"_index":459,"title":{},"body":{"changelog.html":{}}}],["connect",{"_index":370,"title":{},"body":{"changelog.html":{}}}],["connection",{"_index":1082,"title":{},"body":{"license.html":{}}}],["consortium",{"_index":1028,"title":{},"body":{"license.html":{}}}],["const",{"_index":75,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["container",{"_index":494,"title":{},"body":{"changelog.html":{}}}],["containers",{"_index":435,"title":{},"body":{"changelog.html":{}}}],["containing",{"_index":972,"title":{},"body":{"index.html":{}}}],["contract",{"_index":1077,"title":{},"body":{"license.html":{}}}],["control",{"_index":605,"title":{},"body":{"changelog.html":{}}}],["convention",{"_index":165,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["coordinate",{"_index":966,"title":{},"body":{"index.html":{}}}],["copies",{"_index":1049,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1036,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":1026,"title":{},"body":{"license.html":{}}}],["cord",{"_index":271,"title":{},"body":{"changelog.html":{}}}],["cors",{"_index":896,"title":{},"body":{"dependencies.html":{}}}],["coverage",{"_index":747,"title":{"coverage.html":{}},"body":{"changelog.html":{},"coverage.html":{}}}],["created",{"_index":614,"title":{},"body":{"changelog.html":{}}}],["credits",{"_index":1012,"title":{},"body":{"index.html":{}}}],["css",{"_index":898,"title":{},"body":{"dependencies.html":{}}}],["cuboid",{"_index":745,"title":{},"body":{"changelog.html":{}}}],["cuboids",{"_index":742,"title":{},"body":{"changelog.html":{}}}],["currently",{"_index":384,"title":{},"body":{"changelog.html":{}}}],["cyberinfrastructure",{"_index":1014,"title":{},"body":{"index.html":{}}}],["cycle",{"_index":550,"title":{},"body":{"changelog.html":{}}}],["damages",{"_index":1073,"title":{},"body":{"license.html":{}}}],["dangle",{"_index":156,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["dark/light",{"_index":454,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":112,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["database",{"_index":290,"title":{},"body":{"changelog.html":{}}}],["datafactory",{"_index":36,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["datasets",{"_index":562,"title":{},"body":{"changelog.html":{}}}],["deal",{"_index":1038,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1083,"title":{},"body":{"license.html":{}}}],["december",{"_index":657,"title":{},"body":{"changelog.html":{}}}],["deck.gl/core",{"_index":853,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/geo",{"_index":855,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/layers",{"_index":858,"title":{},"body":{"dependencies.html":{}}}],["deck.gl/mesh",{"_index":859,"title":{},"body":{"dependencies.html":{}}}],["decorator",{"_index":874,"title":{},"body":{"dependencies.html":{}}}],["deeply",{"_index":376,"title":{},"body":{"changelog.html":{}}}],["default",{"_index":339,"title":{},"body":{"changelog.html":{}}}],["defined",{"_index":18,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["delete",{"_index":157,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["demo",{"_index":406,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":489,"title":{"dependencies.html":{}},"body":{"changelog.html":{},"dependencies.html":{}}}],["depending",{"_index":512,"title":{},"body":{"changelog.html":{}}}],["descrepancies",{"_index":256,"title":{},"body":{"changelog.html":{}}}],["description",{"_index":961,"title":{},"body":{"miscellaneous/functions.html":{}}}],["deserializen3store",{"_index":828,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["deserializen3store(serializedstore",{"_index":160,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["details",{"_index":793,"title":{},"body":{"changelog.html":{}}}],["developed",{"_index":1013,"title":{},"body":{"index.html":{}}}],["developments",{"_index":774,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["dialog",{"_index":395,"title":{},"body":{"changelog.html":{}}}],["different",{"_index":434,"title":{},"body":{"changelog.html":{}}}],["digits",{"_index":632,"title":{},"body":{"changelog.html":{}}}],["direct",{"_index":802,"title":{},"body":{"changelog.html":{}}}],["directly",{"_index":705,"title":{},"body":{"changelog.html":{}}}],["disable",{"_index":139,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["display",{"_index":426,"title":{},"body":{"changelog.html":{}}}],["displayed",{"_index":743,"title":{},"body":{"changelog.html":{}}}],["displaying",{"_index":422,"title":{},"body":{"changelog.html":{}}}],["distribute",{"_index":1045,"title":{},"body":{"license.html":{}}}],["doc",{"_index":757,"title":{},"body":{"changelog.html":{}}}],["docs",{"_index":282,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":900,"title":{},"body":{"dependencies.html":{}}}],["documentation",{"_index":344,"title":{},"body":{"changelog.html":{},"coverage.html":{},"index.html":{},"license.html":{}}}],["done",{"_index":504,"title":{},"body":{"changelog.html":{}}}],["donor",{"_index":486,"title":{},"body":{"changelog.html":{}}}],["donors",{"_index":565,"title":{},"body":{"changelog.html":{}}}],["dotenv",{"_index":903,"title":{},"body":{"dependencies.html":{}}}],["download",{"_index":785,"title":{},"body":{"changelog.html":{}}}],["during",{"_index":549,"title":{},"body":{"changelog.html":{}}}],["dynamic",{"_index":847,"title":{},"body":{"dependencies.html":{}}}],["dynamically",{"_index":249,"title":{},"body":{"changelog.html":{}}}],["easier",{"_index":320,"title":{},"body":{"changelog.html":{}}}],["east",{"_index":994,"title":{},"body":{"index.html":{}}}],["effect",{"_index":687,"title":{},"body":{"changelog.html":{}}}],["efficiency",{"_index":592,"title":{},"body":{"changelog.html":{}}}],["element",{"_index":507,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["embedded",{"_index":443,"title":{},"body":{"changelog.html":{}}}],["embedding",{"_index":430,"title":{},"body":{"changelog.html":{}}}],["embedding.md",{"_index":428,"title":{},"body":{"changelog.html":{}}}],["emitting",{"_index":87,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["err",{"_index":84,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["es",{"_index":890,"title":{},"body":{"dependencies.html":{}}}],["eslint",{"_index":138,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["eslint/naming",{"_index":164,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["eslint/no",{"_index":143,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["etc",{"_index":464,"title":{},"body":{"changelog.html":{}}}],["eui",{"_index":303,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["eui/rui",{"_index":336,"title":{},"body":{"changelog.html":{}}}],["event",{"_index":1068,"title":{},"body":{"license.html":{}}}],["eventemitter",{"_index":29,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["events",{"_index":30,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["expanded",{"_index":247,"title":{},"body":{"changelog.html":{}}}],["exploration",{"_index":976,"title":{},"body":{"index.html":{}}}],["export",{"_index":47,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["express",{"_index":905,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["expressions",{"_index":145,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["external",{"_index":450,"title":{},"body":{"changelog.html":{}}}],["extra",{"_index":910,"title":{},"body":{"dependencies.html":{}}}],["extraction",{"_index":402,"title":{},"body":{"changelog.html":{}}}],["factory",{"_index":161,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["fail",{"_index":653,"title":{},"body":{"changelog.html":{}}}],["fails",{"_index":692,"title":{},"body":{"changelog.html":{}}}],["favor",{"_index":643,"title":{},"body":{"changelog.html":{}}}],["feature",{"_index":244,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":551,"title":{},"body":{"changelog.html":{}}}],["feel",{"_index":590,"title":{},"body":{"changelog.html":{}}}],["fetch",{"_index":938,"title":{},"body":{"dependencies.html":{}}}],["fetch(uri",{"_index":103,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["field",{"_index":460,"title":{},"body":{"changelog.html":{}}}],["file",{"_index":5,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{}}}],["files",{"_index":1037,"title":{},"body":{"license.html":{}}}],["filter",{"_index":604,"title":{},"body":{"changelog.html":{}}}],["filters",{"_index":264,"title":{},"body":{"changelog.html":{}}}],["final",{"_index":646,"title":{},"body":{"changelog.html":{}}}],["finishing",{"_index":399,"title":{},"body":{"changelog.html":{}}}],["first",{"_index":658,"title":{},"body":{"changelog.html":{}}}],["fit",{"_index":559,"title":{},"body":{"changelog.html":{}}}],["fitness",{"_index":1064,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":541,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":189,"title":{},"body":{"changelog.html":{}}}],["fixes/performance",{"_index":717,"title":{},"body":{"changelog.html":{}}}],["flexible",{"_index":277,"title":{},"body":{"changelog.html":{}}}],["fly",{"_index":810,"title":{},"body":{"changelog.html":{}}}],["follow",{"_index":105,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["following",{"_index":1053,"title":{},"body":{"license.html":{}}}],["form",{"_index":593,"title":{},"body":{"changelog.html":{}}}],["format",{"_index":135,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["formatted",{"_index":115,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["frame",{"_index":566,"title":{},"body":{"changelog.html":{}}}],["framework",{"_index":967,"title":{},"body":{"index.html":{}}}],["free",{"_index":1032,"title":{},"body":{"license.html":{}}}],["fs",{"_index":909,"title":{},"body":{"dependencies.html":{}}}],["full",{"_index":497,"title":{},"body":{"changelog.html":{}}}],["fullscreen",{"_index":752,"title":{},"body":{"changelog.html":{}}}],["fully",{"_index":552,"title":{},"body":{"changelog.html":{}}}],["function",{"_index":52,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{}}}],["functions",{"_index":958,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["funded",{"_index":1020,"title":{},"body":{"index.html":{}}}],["furnished",{"_index":1052,"title":{},"body":{"license.html":{}}}],["further",{"_index":748,"title":{},"body":{"changelog.html":{}}}],["future",{"_index":542,"title":{},"body":{"changelog.html":{}}}],["generate",{"_index":310,"title":{},"body":{"changelog.html":{}}}],["generated",{"_index":342,"title":{},"body":{"changelog.html":{}}}],["generating",{"_index":250,"title":{},"body":{"changelog.html":{}}}],["generator",{"_index":27,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["getting",{"_index":170,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{}}],["github",{"_index":634,"title":{},"body":{"changelog.html":{}}}],["gizmo",{"_index":470,"title":{},"body":{"changelog.html":{}}}],["globalconfig",{"_index":439,"title":{},"body":{"changelog.html":{}}}],["good",{"_index":689,"title":{},"body":{"changelog.html":{}}}],["google",{"_index":483,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["granted",{"_index":1031,"title":{},"body":{"license.html":{}}}],["graph",{"_index":17,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["graphical",{"_index":296,"title":{},"body":{"changelog.html":{}}}],["graphology",{"_index":912,"title":{},"body":{"dependencies.html":{}}}],["greatly",{"_index":417,"title":{},"body":{"changelog.html":{}}}],["gtex",{"_index":311,"title":{},"body":{"changelog.html":{}}}],["guide",{"_index":679,"title":{},"body":{"changelog.html":{}}}],["hand",{"_index":685,"title":{},"body":{"changelog.html":{}}}],["happen",{"_index":724,"title":{},"body":{"changelog.html":{}}}],["happens",{"_index":654,"title":{},"body":{"changelog.html":{}}}],["hash",{"_index":940,"title":{},"body":{"dependencies.html":{}}}],["helmet",{"_index":917,"title":{},"body":{"dependencies.html":{}}}],["help",{"_index":678,"title":{},"body":{"changelog.html":{}}}],["here",{"_index":682,"title":{},"body":{"changelog.html":{}}}],["hereby",{"_index":1030,"title":{},"body":{"license.html":{}}}],["hex",{"_index":919,"title":{},"body":{"dependencies.html":{}}}],["hidden",{"_index":775,"title":{},"body":{"changelog.html":{}}}],["highlight",{"_index":382,"title":{},"body":{"changelog.html":{}}}],["highlighted",{"_index":261,"title":{},"body":{"changelog.html":{}}}],["highlights",{"_index":385,"title":{},"body":{"changelog.html":{}}}],["holders",{"_index":1070,"title":{},"body":{"license.html":{}}}],["hooked",{"_index":602,"title":{},"body":{"changelog.html":{}}}],["host",{"_index":274,"title":{},"body":{"changelog.html":{}}}],["hovering",{"_index":488,"title":{},"body":{"changelog.html":{}}}],["hra",{"_index":176,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["https://beta",{"_index":979,"title":{},"body":{"index.html":{}}}],["https://ccf",{"_index":991,"title":{},"body":{"index.html":{}}}],["https://hubmap",{"_index":984,"title":{},"body":{"index.html":{}}}],["https://hubmapconsortium.github.io/ccf",{"_index":983,"title":{},"body":{"index.html":{}}}],["https://humanatlas.io",{"_index":1010,"title":{},"body":{"index.html":{}}}],["https://observablehq.com/@cns",{"_index":1007,"title":{},"body":{"index.html":{}}}],["https://old",{"_index":986,"title":{},"body":{"index.html":{}}}],["https://portal.hubmapconsortium.org/ccf",{"_index":981,"title":{},"body":{"index.html":{}}}],["https://r5i95k35v5.us",{"_index":993,"title":{},"body":{"index.html":{}}}],["https://sampledata.hubmapconsortium.org",{"_index":804,"title":{},"body":{"changelog.html":{}}}],["hubmap",{"_index":234,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["human",{"_index":173,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["icon",{"_index":786,"title":{},"body":{"changelog.html":{}}}],["icons",{"_index":498,"title":{},"body":{"changelog.html":{}}}],["id",{"_index":440,"title":{},"body":{"changelog.html":{}}}],["idb",{"_index":922,"title":{},"body":{"dependencies.html":{}}}],["identifier",{"_index":821,"title":{},"body":{"coverage.html":{}}}],["iec",{"_index":649,"title":{},"body":{"changelog.html":{}}}],["image",{"_index":642,"title":{},"body":{"changelog.html":{}}}],["images",{"_index":703,"title":{},"body":{"changelog.html":{}}}],["implementation",{"_index":368,"title":{},"body":{"changelog.html":{}}}],["implemented",{"_index":600,"title":{},"body":{"changelog.html":{}}}],["implementing",{"_index":756,"title":{},"body":{"changelog.html":{}}}],["implied",{"_index":1061,"title":{},"body":{"license.html":{}}}],["import",{"_index":28,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["improve",{"_index":591,"title":{},"body":{"changelog.html":{}}}],["improved",{"_index":332,"title":{},"body":{"changelog.html":{}}}],["improvements",{"_index":292,"title":{},"body":{"changelog.html":{}}}],["improves",{"_index":418,"title":{},"body":{"changelog.html":{}}}],["include",{"_index":660,"title":{},"body":{"changelog.html":{}}}],["included",{"_index":1056,"title":{},"body":{"license.html":{}}}],["includes",{"_index":246,"title":{},"body":{"changelog.html":{}}}],["including",{"_index":378,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":627,"title":{},"body":{"changelog.html":{}}}],["increased",{"_index":750,"title":{},"body":{"changelog.html":{}}}],["index",{"_index":10,"title":{"index.html":{}},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["indexes",{"_index":196,"title":{},"body":{"changelog.html":{}}}],["indiana",{"_index":1018,"title":{},"body":{"index.html":{}}}],["individual",{"_index":607,"title":{},"body":{"changelog.html":{}}}],["info",{"_index":3,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"index.html":{}}}],["information",{"_index":283,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["infrastructure",{"_index":706,"title":{},"body":{"changelog.html":{}}}],["ingestion",{"_index":662,"title":{},"body":{"changelog.html":{}}}],["initial",{"_index":520,"title":{},"body":{"changelog.html":{}}}],["input",{"_index":68,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["instead",{"_index":511,"title":{},"body":{"changelog.html":{}}}],["instructions",{"_index":429,"title":{},"body":{"changelog.html":{}}}],["integrated",{"_index":553,"title":{},"body":{"changelog.html":{}}}],["integrating",{"_index":375,"title":{},"body":{"changelog.html":{}}}],["integration",{"_index":661,"title":{},"body":{"changelog.html":{}}}],["integrations",{"_index":573,"title":{},"body":{"changelog.html":{}}}],["interact",{"_index":536,"title":{},"body":{"changelog.html":{}}}],["interactions",{"_index":729,"title":{},"body":{"changelog.html":{}}}],["interest",{"_index":801,"title":{},"body":{"changelog.html":{}}}],["interface",{"_index":0,"title":{"interfaces/QuadReader.html":{}},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"coverage.html":{},"index.html":{},"overview.html":{}}}],["interfaces",{"_index":2,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"index.html":{}}}],["internal",{"_index":641,"title":{},"body":{"changelog.html":{}}}],["issue",{"_index":623,"title":{},"body":{"changelog.html":{}}}],["issues",{"_index":253,"title":{},"body":{"changelog.html":{}}}],["it's",{"_index":371,"title":{},"body":{"changelog.html":{}}}],["item",{"_index":783,"title":{},"body":{"changelog.html":{}}}],["iu",{"_index":772,"title":{},"body":{"changelog.html":{}}}],["iu/ccf",{"_index":1008,"title":{},"body":{"index.html":{}}}],["javascript",{"_index":207,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["js",{"_index":41,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["json",{"_index":675,"title":{},"body":{"changelog.html":{},"miscellaneous/functions.html":{}}}],["json.parse(serializedstore",{"_index":163,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["json.stringify(storedata",{"_index":159,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["jsonld",{"_index":32,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{}}}],["jsonld/jsonld",{"_index":34,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["jsonlddata",{"_index":97,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["july",{"_index":728,"title":{},"body":{"changelog.html":{}}}],["jump",{"_index":781,"title":{},"body":{"changelog.html":{}}}],["keyboard",{"_index":779,"title":{},"body":{"changelog.html":{}}}],["keyval",{"_index":923,"title":{},"body":{"dependencies.html":{}}}],["kidney",{"_index":414,"title":{},"body":{"changelog.html":{}}}],["kind",{"_index":1060,"title":{},"body":{"license.html":{}}}],["known",{"_index":252,"title":{},"body":{"changelog.html":{}}}],["kpmp",{"_index":230,"title":{},"body":{"changelog.html":{}}}],["labs/data",{"_index":871,"title":{},"body":{"dependencies.html":{}}}],["labs/dispatch",{"_index":873,"title":{},"body":{"dependencies.html":{}}}],["landmarks",{"_index":272,"title":{},"body":{"changelog.html":{}}}],["larger",{"_index":321,"title":{},"body":{"changelog.html":{}}}],["latest",{"_index":267,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["layers",{"_index":856,"title":{},"body":{"dependencies.html":{}}}],["ld",{"_index":676,"title":{},"body":{"changelog.html":{},"miscellaneous/functions.html":{}}}],["leak",{"_index":622,"title":{},"body":{"changelog.html":{}}}],["leave",{"_index":397,"title":{},"body":{"changelog.html":{}}}],["left",{"_index":684,"title":{},"body":{"changelog.html":{}}}],["left/right",{"_index":415,"title":{},"body":{"changelog.html":{}}}],["length",{"_index":89,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["level",{"_index":777,"title":{},"body":{"changelog.html":{}}}],["levels",{"_index":798,"title":{},"body":{"changelog.html":{}}}],["liability",{"_index":1074,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1071,"title":{},"body":{"license.html":{}}}],["libraries",{"_index":325,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["library",{"_index":583,"title":{},"body":{"changelog.html":{}}}],["license",{"_index":1024,"title":{"license.html":{}},"body":{"license.html":{}}}],["life",{"_index":391,"title":{},"body":{"changelog.html":{}}}],["limitation",{"_index":1040,"title":{},"body":{"license.html":{}}}],["limited",{"_index":711,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["line",{"_index":141,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["link",{"_index":407,"title":{},"body":{"changelog.html":{}}}],["linkage",{"_index":730,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":279,"title":{},"body":{"changelog.html":{}}}],["links",{"_index":356,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["list",{"_index":528,"title":{},"body":{"changelog.html":{}}}],["literal",{"_index":943,"title":{},"body":{"dependencies.html":{}}}],["little",{"_index":534,"title":{},"body":{"changelog.html":{}}}],["load",{"_index":116,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["loaded",{"_index":732,"title":{},"body":{"changelog.html":{}}}],["loaders.gl/core",{"_index":860,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/draco",{"_index":862,"title":{},"body":{"dependencies.html":{}}}],["loaders.gl/gltf",{"_index":863,"title":{},"body":{"dependencies.html":{}}}],["loading",{"_index":240,"title":{},"body":{"changelog.html":{}}}],["location",{"_index":628,"title":{},"body":{"changelog.html":{}}}],["locations",{"_index":232,"title":{},"body":{"changelog.html":{}}}],["lodash",{"_index":926,"title":{},"body":{"dependencies.html":{}}}],["log",{"_index":1011,"title":{},"body":{"index.html":{}}}],["logging",{"_index":313,"title":{},"body":{"changelog.html":{}}}],["longer",{"_index":508,"title":{},"body":{"changelog.html":{}}}],["look",{"_index":589,"title":{},"body":{"changelog.html":{}}}],["lru",{"_index":928,"title":{},"body":{"dependencies.html":{}}}],["luma.gl/core",{"_index":864,"title":{},"body":{"dependencies.html":{}}}],["made",{"_index":651,"title":{},"body":{"changelog.html":{}}}],["major",{"_index":243,"title":{},"body":{"changelog.html":{}}}],["makes",{"_index":317,"title":{},"body":{"changelog.html":{}}}],["making",{"_index":365,"title":{},"body":{"changelog.html":{}}}],["managers",{"_index":330,"title":{},"body":{"changelog.html":{}}}],["march",{"_index":586,"title":{},"body":{"changelog.html":{}}}],["markdown",{"_index":935,"title":{},"body":{"dependencies.html":{}}}],["match",{"_index":588,"title":{},"body":{"changelog.html":{}}}],["matching",{"_index":168,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{}}}],["math.gl/core",{"_index":866,"title":{},"body":{"dependencies.html":{}}}],["math.gl/culling",{"_index":868,"title":{},"body":{"dependencies.html":{}}}],["mc",{"_index":771,"title":{},"body":{"changelog.html":{}}}],["memory",{"_index":621,"title":{},"body":{"changelog.html":{}}}],["menu",{"_index":686,"title":{},"body":{"changelog.html":{}}}],["merchantability",{"_index":1063,"title":{},"body":{"license.html":{}}}],["merge",{"_index":1043,"title":{},"body":{"license.html":{}}}],["metadata",{"_index":741,"title":{},"body":{"changelog.html":{}}}],["methods",{"_index":11,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["minor",{"_index":254,"title":{},"body":{"changelog.html":{}}}],["miscellaneous",{"_index":957,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["mit",{"_index":1025,"title":{},"body":{"license.html":{}}}],["mock",{"_index":767,"title":{},"body":{"changelog.html":{}}}],["modal",{"_index":518,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":445,"title":{},"body":{"changelog.html":{}}}],["model",{"_index":883,"title":{},"body":{"dependencies.html":{}}}],["modify",{"_index":1042,"title":{},"body":{"license.html":{}}}],["modules",{"_index":1084,"title":{"modules.html":{}},"body":{"modules.html":{}}}],["monorepo",{"_index":969,"title":{},"body":{"index.html":{}}}],["more",{"_index":185,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["moved",{"_index":788,"title":{},"body":{"changelog.html":{}}}],["much",{"_index":319,"title":{},"body":{"changelog.html":{}}}],["multiple",{"_index":970,"title":{},"body":{"index.html":{}}}],["n3",{"_index":39,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{},"miscellaneous/functions.html":{}}}],["name",{"_index":22,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["names",{"_index":461,"title":{},"body":{"changelog.html":{}}}],["navigation",{"_index":780,"title":{},"body":{"changelog.html":{}}}],["need",{"_index":221,"title":{},"body":{"changelog.html":{}}}],["needed",{"_index":594,"title":{},"body":{"changelog.html":{}}}],["needs",{"_index":601,"title":{},"body":{"changelog.html":{}}}],["network",{"_index":1015,"title":{},"body":{"index.html":{}}}],["new",{"_index":51,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["next",{"_index":140,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["ng5",{"_index":930,"title":{},"body":{"dependencies.html":{}}}],["ngx",{"_index":933,"title":{},"body":{"dependencies.html":{}}}],["ngxs",{"_index":870,"title":{},"body":{"dependencies.html":{}}}],["ngxs/logger",{"_index":876,"title":{},"body":{"dependencies.html":{}}}],["ngxs/storage",{"_index":879,"title":{},"body":{"dependencies.html":{}}}],["ngxs/store",{"_index":880,"title":{},"body":{"dependencies.html":{}}}],["nih",{"_index":1021,"title":{},"body":{"index.html":{}}}],["node",{"_index":937,"title":{},"body":{"dependencies.html":{}}}],["noninfringement",{"_index":1067,"title":{},"body":{"license.html":{}}}],["note",{"_index":214,"title":{},"body":{"changelog.html":{}}}],["notebooks",{"_index":205,"title":{},"body":{"changelog.html":{}}}],["notebooks/vignettes",{"_index":1002,"title":{},"body":{"index.html":{}}}],["notice",{"_index":624,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["now",{"_index":323,"title":{},"body":{"changelog.html":{}}}],["null",{"_index":58,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/typealiases.html":{}}}],["number",{"_index":322,"title":{},"body":{"changelog.html":{}}}],["numeric",{"_index":629,"title":{},"body":{"changelog.html":{}}}],["object",{"_index":16,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{},"miscellaneous/functions.html":{}}}],["object.assign",{"_index":153,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["object.assign(store",{"_index":166,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["objectmode",{"_index":92,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["obtaining",{"_index":1035,"title":{},"body":{"license.html":{}}}],["off/on",{"_index":598,"title":{},"body":{"changelog.html":{}}}],["official",{"_index":726,"title":{},"body":{"changelog.html":{}}}],["old",{"_index":985,"title":{},"body":{"index.html":{}}}],["on('data",{"_index":78,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["once('end",{"_index":81,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["once('error",{"_index":83,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["one",{"_index":669,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["online",{"_index":737,"title":{},"body":{"changelog.html":{}}}],["ontological",{"_index":809,"title":{},"body":{"changelog.html":{}}}],["ontologies",{"_index":677,"title":{},"body":{"changelog.html":{}}}],["ontology",{"_index":217,"title":{},"body":{"changelog.html":{}}}],["opacities",{"_index":606,"title":{},"body":{"changelog.html":{}}}],["opacity",{"_index":580,"title":{},"body":{"changelog.html":{}}}],["openapi",{"_index":367,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["openapi/js",{"_index":998,"title":{},"body":{"index.html":{}}}],["openapi/ng",{"_index":1000,"title":{},"body":{"index.html":{}}}],["openapi/ts",{"_index":999,"title":{},"body":{"index.html":{}}}],["optimization",{"_index":533,"title":{},"body":{"changelog.html":{}}}],["optimizations",{"_index":718,"title":{},"body":{"changelog.html":{}}}],["optimized",{"_index":571,"title":{},"body":{"changelog.html":{}}}],["option",{"_index":381,"title":{},"body":{"changelog.html":{}}}],["optional",{"_index":24,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"miscellaneous/functions.html":{}}}],["options",{"_index":300,"title":{},"body":{"changelog.html":{}}}],["organ",{"_index":239,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["organs",{"_index":273,"title":{},"body":{"changelog.html":{}}}],["organs/anatomical",{"_index":608,"title":{},"body":{"changelog.html":{}}}],["orthographic",{"_index":476,"title":{},"body":{"changelog.html":{}}}],["ot2od026671",{"_index":1023,"title":{},"body":{"index.html":{}}}],["oterm",{"_index":14,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/typealiases.html":{}}}],["otherwise",{"_index":1079,"title":{},"body":{"license.html":{}}}],["out",{"_index":1081,"title":{},"body":{"license.html":{}}}],["over",{"_index":636,"title":{},"body":{"changelog.html":{}}}],["overall",{"_index":263,"title":{},"body":{"changelog.html":{}}}],["overlays",{"_index":799,"title":{},"body":{"changelog.html":{}}}],["overview",{"_index":1085,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["p",{"_index":762,"title":{},"body":{"changelog.html":{}}}],["package",{"_index":329,"title":{"dependencies.html":{}},"body":{"changelog.html":{}}}],["pages",{"_index":427,"title":{},"body":{"changelog.html":{}}}],["paired",{"_index":410,"title":{},"body":{"changelog.html":{}}}],["pane",{"_index":560,"title":{},"body":{"changelog.html":{}}}],["panel",{"_index":425,"title":{},"body":{"changelog.html":{}}}],["param",{"_index":66,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["parameters",{"_index":20,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["parent",{"_index":412,"title":{},"body":{"changelog.html":{}}}],["parse(data",{"_index":136,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["parser",{"_index":37,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{}}}],["particular",{"_index":1065,"title":{},"body":{"license.html":{}}}],["partly",{"_index":585,"title":{},"body":{"changelog.html":{}}}],["partonomy",{"_index":501,"title":{},"body":{"changelog.html":{}}}],["path",{"_index":915,"title":{},"body":{"dependencies.html":{}}}],["performance",{"_index":333,"title":{},"body":{"changelog.html":{}}}],["permission",{"_index":1029,"title":{},"body":{"license.html":{}}}],["permit",{"_index":1050,"title":{},"body":{"license.html":{}}}],["person",{"_index":1034,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1051,"title":{},"body":{"license.html":{}}}],["pick",{"_index":237,"title":{},"body":{"changelog.html":{}}}],["placeholder",{"_index":731,"title":{},"body":{"changelog.html":{}}}],["placement",{"_index":229,"title":{},"body":{"changelog.html":{}}}],["placenta",{"_index":269,"title":{},"body":{"changelog.html":{}}}],["player",{"_index":850,"title":{},"body":{"dependencies.html":{}}}],["plugin",{"_index":877,"title":{},"body":{"dependencies.html":{}}}],["plus",{"_index":248,"title":{},"body":{"changelog.html":{}}}],["popup",{"_index":740,"title":{},"body":{"changelog.html":{}}}],["portal",{"_index":379,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["portal's",{"_index":710,"title":{},"body":{"changelog.html":{}}}],["portions",{"_index":1058,"title":{},"body":{"license.html":{}}}],["position",{"_index":315,"title":{},"body":{"changelog.html":{}}}],["possible",{"_index":652,"title":{},"body":{"changelog.html":{}}}],["predicate",{"_index":15,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["preferences",{"_index":457,"title":{},"body":{"changelog.html":{}}}],["preparation",{"_index":773,"title":{},"body":{"changelog.html":{}}}],["presented",{"_index":797,"title":{},"body":{"changelog.html":{}}}],["prevent",{"_index":304,"title":{},"body":{"changelog.html":{}}}],["preview",{"_index":473,"title":{},"body":{"changelog.html":{}}}],["previous",{"_index":613,"title":{},"body":{"changelog.html":{}}}],["previously",{"_index":358,"title":{},"body":{"changelog.html":{}}}],["process",{"_index":755,"title":{},"body":{"changelog.html":{}}}],["processed",{"_index":701,"title":{},"body":{"changelog.html":{}}}],["processing",{"_index":458,"title":{},"body":{"changelog.html":{}}}],["production",{"_index":345,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["programming",{"_index":324,"title":{},"body":{"changelog.html":{}}}],["project",{"_index":760,"title":{},"body":{"changelog.html":{}}}],["projects",{"_index":971,"title":{},"body":{"index.html":{}}}],["projects/.../triple",{"_index":959,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["projects/triple",{"_index":6,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["promise",{"_index":69,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["promise((resolve",{"_index":73,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["promise>(resolve",{"_index":128,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["properties",{"_index":437,"title":{},"body":{"changelog.html":{}}}],["provided",{"_index":813,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["providers",{"_index":386,"title":{},"body":{"changelog.html":{}}}],["public",{"_index":738,"title":{},"body":{"changelog.html":{}}}],["publish",{"_index":1044,"title":{},"body":{"license.html":{}}}],["publishing",{"_index":327,"title":{},"body":{"changelog.html":{}}}],["purpose",{"_index":1066,"title":{},"body":{"license.html":{}}}],["pushed",{"_index":548,"title":{},"body":{"changelog.html":{}}}],["python",{"_index":206,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["qs",{"_index":941,"title":{},"body":{"dependencies.html":{}}}],["quad",{"_index":38,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["quadreader",{"_index":1,"title":{"interfaces/QuadReader.html":{}},"body":{"interfaces/QuadReader.html":{},"coverage.html":{}}}],["quadreader).readquads(subject",{"_index":62,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["quads",{"_index":108,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["qualitative",{"_index":714,"title":{},"body":{"changelog.html":{}}}],["quality",{"_index":390,"title":{},"body":{"changelog.html":{}}}],["queries",{"_index":220,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["query",{"_index":807,"title":{},"body":{"changelog.html":{}}}],["querying",{"_index":278,"title":{},"body":{"changelog.html":{}}}],["quickly",{"_index":694,"title":{},"body":{"changelog.html":{}}}],["rc.1",{"_index":720,"title":{},"body":{"changelog.html":{}}}],["rdf",{"_index":40,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{},"miscellaneous/functions.html":{}}}],["rdf.datafactory",{"_index":162,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["rdf.sink",{"_index":121,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["rdf.term",{"_index":56,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/typealiases.html":{}}}],["rdfjs",{"_index":852,"title":{},"body":{"dependencies.html":{}}}],["rdfjs/data",{"_index":882,"title":{},"body":{"dependencies.html":{}}}],["rdfxml",{"_index":43,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{}}}],["rdfxmlparser",{"_index":42,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["read",{"_index":94,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["readable",{"_index":45,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{},"miscellaneous/functions.html":{}}}],["readquads",{"_index":12,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{},"miscellaneous/functions.html":{}}}],["readquads(store",{"_index":59,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["readquads(subject",{"_index":13,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["readstream",{"_index":67,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["real",{"_index":736,"title":{},"body":{"changelog.html":{}}}],["record",{"_index":154,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["rectify",{"_index":364,"title":{},"body":{"changelog.html":{}}}],["redirect",{"_index":104,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["reduce",{"_index":538,"title":{},"body":{"changelog.html":{}}}],["reduction",{"_index":294,"title":{},"body":{"changelog.html":{}}}],["reference",{"_index":174,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["refernced",{"_index":411,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":500,"title":{},"body":{"changelog.html":{}}}],["regions",{"_index":800,"title":{},"body":{"changelog.html":{}}}],["register",{"_index":901,"title":{},"body":{"dependencies.html":{}}}],["registered",{"_index":359,"title":{},"body":{"changelog.html":{}}}],["registration",{"_index":400,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["registrations",{"_index":525,"title":{},"body":{"changelog.html":{}}}],["registrations#1",{"_index":190,"title":{},"body":{"changelog.html":{}}}],["reject",{"_index":74,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["reject(err",{"_index":85,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["related",{"_index":577,"title":{},"body":{"changelog.html":{}}}],["release",{"_index":198,"title":{},"body":{"changelog.html":{}}}],["reliability",{"_index":626,"title":{},"body":{"changelog.html":{}}}],["reloads",{"_index":469,"title":{},"body":{"changelog.html":{}}}],["removed",{"_index":442,"title":{},"body":{"changelog.html":{}}}],["removes",{"_index":576,"title":{},"body":{"changelog.html":{}}}],["repository",{"_index":968,"title":{},"body":{"index.html":{}}}],["required",{"_index":681,"title":{},"body":{"changelog.html":{}}}],["resets",{"_index":502,"title":{},"body":{"changelog.html":{}}}],["resolve(chunks",{"_index":82,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["resolve(store",{"_index":130,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["resolved",{"_index":554,"title":{},"body":{"changelog.html":{}}}],["resolves",{"_index":70,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["respond",{"_index":493,"title":{},"body":{"changelog.html":{}}}],["response",{"_index":101,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["response.json",{"_index":107,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["response.ok",{"_index":106,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["response.text",{"_index":124,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["restriction",{"_index":1039,"title":{},"body":{"license.html":{}}}],["result",{"_index":127,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{}}}],["results",{"_index":169,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"coverage.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{}}}],["return",{"_index":60,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["returns",{"_index":26,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["rgb",{"_index":920,"title":{},"body":{"dependencies.html":{}}}],["right",{"_index":238,"title":{},"body":{"changelog.html":{}}}],["rights",{"_index":1041,"title":{},"body":{"license.html":{}}}],["root",{"_index":510,"title":{},"body":{"changelog.html":{}}}],["rotates",{"_index":471,"title":{},"body":{"changelog.html":{}}}],["round",{"_index":611,"title":{},"body":{"changelog.html":{}}}],["rounded",{"_index":630,"title":{},"body":{"changelog.html":{}}}],["route",{"_index":276,"title":{},"body":{"changelog.html":{}}}],["ru/common",{"_index":834,"title":{},"body":{"dependencies.html":{}}}],["rui",{"_index":231,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["rui_locations.jsonld",{"_index":312,"title":{},"body":{"changelog.html":{}}}],["rxjs",{"_index":944,"title":{},"body":{"dependencies.html":{}}}],["sample",{"_index":812,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["samples",{"_index":540,"title":{},"body":{"changelog.html":{}}}],["saver",{"_index":907,"title":{},"body":{"dependencies.html":{}}}],["scaffolding",{"_index":761,"title":{},"body":{"changelog.html":{}}}],["scene",{"_index":259,"title":{},"body":{"changelog.html":{}}}],["scheduled",{"_index":555,"title":{},"body":{"changelog.html":{}}}],["schema",{"_index":765,"title":{},"body":{"changelog.html":{}}}],["schemes",{"_index":715,"title":{},"body":{"changelog.html":{}}}],["science",{"_index":1016,"title":{},"body":{"index.html":{}}}],["search",{"_index":236,"title":{},"body":{"changelog.html":{}}}],["searches",{"_index":251,"title":{},"body":{"changelog.html":{}}}],["section",{"_index":526,"title":{},"body":{"changelog.html":{}}}],["see",{"_index":280,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["select",{"_index":441,"title":{},"body":{"changelog.html":{}}}],["selected",{"_index":262,"title":{},"body":{"changelog.html":{}}}],["selecting",{"_index":318,"title":{},"body":{"changelog.html":{}}}],["selector",{"_index":316,"title":{},"body":{"changelog.html":{}}}],["selects",{"_index":782,"title":{},"body":{"changelog.html":{}}}],["sell",{"_index":1048,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":796,"title":{},"body":{"changelog.html":{}}}],["sennet",{"_index":338,"title":{},"body":{"changelog.html":{}}}],["sensitive",{"_index":186,"title":{},"body":{"changelog.html":{}}}],["serialize",{"_index":151,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["serializedstore",{"_index":964,"title":{},"body":{"miscellaneous/functions.html":{}}}],["serializen3store",{"_index":830,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["serializen3store(store",{"_index":137,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["server",{"_index":768,"title":{},"body":{"changelog.html":{}}}],["set",{"_index":453,"title":{},"body":{"changelog.html":{}}}],["setup",{"_index":521,"title":{},"body":{"changelog.html":{}}}],["sex",{"_index":388,"title":{},"body":{"changelog.html":{}}}],["sexes",{"_index":668,"title":{},"body":{"changelog.html":{}}}],["shall",{"_index":1055,"title":{},"body":{"license.html":{}}}],["shared",{"_index":462,"title":{},"body":{"changelog.html":{}}}],["shortest",{"_index":914,"title":{},"body":{"dependencies.html":{}}}],["show",{"_index":496,"title":{},"body":{"changelog.html":{}}}],["showing",{"_index":700,"title":{},"body":{"changelog.html":{}}}],["shown",{"_index":709,"title":{},"body":{"changelog.html":{}}}],["shows",{"_index":393,"title":{},"body":{"changelog.html":{}}}],["side",{"_index":183,"title":{},"body":{"changelog.html":{}}}],["sides",{"_index":670,"title":{},"body":{"changelog.html":{}}}],["significant",{"_index":505,"title":{},"body":{"changelog.html":{}}}],["simple",{"_index":424,"title":{},"body":{"changelog.html":{}}}],["simplifies",{"_index":519,"title":{},"body":{"changelog.html":{}}}],["sites",{"_index":403,"title":{},"body":{"changelog.html":{}}}],["sizable",{"_index":625,"title":{},"body":{"changelog.html":{}}}],["size",{"_index":149,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["slider",{"_index":931,"title":{},"body":{"dependencies.html":{}}}],["slightly",{"_index":362,"title":{},"body":{"changelog.html":{}}}],["slow",{"_index":535,"title":{},"body":{"changelog.html":{}}}],["software",{"_index":973,"title":{},"body":{"index.html":{},"license.html":{}}}],["solution",{"_index":49,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["solved",{"_index":620,"title":{},"body":{"changelog.html":{}}}],["sometimes",{"_index":691,"title":{},"body":{"changelog.html":{}}}],["soon",{"_index":331,"title":{},"body":{"changelog.html":{}}}],["sop",{"_index":530,"title":{},"body":{"changelog.html":{}}}],["source",{"_index":4,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["sources",{"_index":449,"title":{},"body":{"changelog.html":{}}}],["sparc",{"_index":524,"title":{},"body":{"changelog.html":{}}}],["sparql",{"_index":219,"title":{},"body":{"changelog.html":{},"dependencies.html":{}}}],["spatial",{"_index":245,"title":{},"body":{"changelog.html":{}}}],["spec",{"_index":35,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["spec.yaml",{"_index":997,"title":{},"body":{"index.html":{}}}],["specific",{"_index":383,"title":{},"body":{"changelog.html":{}}}],["specification",{"_index":996,"title":{},"body":{"index.html":{}}}],["speed",{"_index":291,"title":{},"body":{"changelog.html":{}}}],["spinal",{"_index":270,"title":{},"body":{"changelog.html":{}}}],["spinning",{"_index":766,"title":{},"body":{"changelog.html":{}}}],["sprint",{"_index":558,"title":{},"body":{"changelog.html":{}}}],["stage",{"_index":599,"title":{},"body":{"changelog.html":{}}}],["staging",{"_index":346,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["standalone",{"_index":615,"title":{},"body":{"changelog.html":{}}}],["standard",{"_index":674,"title":{},"body":{"changelog.html":{}}}],["standards",{"_index":770,"title":{},"body":{"changelog.html":{}}}],["star2",{"_index":977,"title":{},"body":{"index.html":{}}}],["started",{"_index":171,"title":{"changelog.html":{},"index.html":{},"license.html":{}},"body":{"changelog.html":{}}}],["starts",{"_index":819,"title":{},"body":{"changelog.html":{}}}],["startup",{"_index":517,"title":{},"body":{"changelog.html":{}}}],["statements",{"_index":822,"title":{},"body":{"coverage.html":{}}}],["stay",{"_index":817,"title":{},"body":{"changelog.html":{}}}],["still",{"_index":543,"title":{},"body":{"changelog.html":{}}}],["store",{"_index":7,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["store.import(arraytostream(quads",{"_index":110,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["store.import(xmlparser",{"_index":131,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["store.size",{"_index":146,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["storedata",{"_index":152,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["storedata._factory",{"_index":158,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["stories",{"_index":758,"title":{},"body":{"changelog.html":{}}}],["stream",{"_index":46,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{},"miscellaneous/functions.html":{}}}],["streaming",{"_index":44,"title":{},"body":{"interfaces/QuadReader.html":{},"dependencies.html":{}}}],["streamtoarray",{"_index":831,"title":{},"body":{"coverage.html":{},"miscellaneous/functions.html":{}}}],["streamtoarray(readstream",{"_index":72,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["strict",{"_index":126,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["string",{"_index":57,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["structure",{"_index":572,"title":{},"body":{"changelog.html":{}}}],["structures",{"_index":561,"title":{},"body":{"changelog.html":{}}}],["styles",{"_index":792,"title":{},"body":{"changelog.html":{}}}],["styling",{"_index":420,"title":{},"body":{"changelog.html":{}}}],["subject",{"_index":25,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{},"license.html":{}}}],["sublicense",{"_index":1046,"title":{},"body":{"license.html":{}}}],["substantial",{"_index":1057,"title":{},"body":{"license.html":{}}}],["such",{"_index":218,"title":{},"body":{"changelog.html":{}}}],["support",{"_index":223,"title":{},"body":{"changelog.html":{}}}],["swiper",{"_index":947,"title":{},"body":{"dependencies.html":{}}}],["switch",{"_index":233,"title":{},"body":{"changelog.html":{}}}],["switched",{"_index":633,"title":{},"body":{"changelog.html":{}}}],["sync",{"_index":472,"title":{},"body":{"changelog.html":{}}}],["t",{"_index":77,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["table",{"_index":833,"title":{},"body":{"coverage.html":{}}}],["tables",{"_index":354,"title":{},"body":{"changelog.html":{}}}],["tablesort(document.getelementbyid('coverage",{"_index":832,"title":{},"body":{"coverage.html":{}}}],["tagging",{"_index":672,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":380,"title":{},"body":{"changelog.html":{}}}],["technologies",{"_index":789,"title":{},"body":{"changelog.html":{}}}],["technology",{"_index":603,"title":{},"body":{"changelog.html":{}}}],["telemetry",{"_index":465,"title":{},"body":{"changelog.html":{}}}],["temporary",{"_index":48,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["terms",{"_index":215,"title":{},"body":{"changelog.html":{}}}],["test",{"_index":744,"title":{},"body":{"changelog.html":{}}}],["testing",{"_index":680,"title":{},"body":{"changelog.html":{}}}],["theme",{"_index":340,"title":{},"body":{"changelog.html":{}}}],["themes",{"_index":337,"title":{},"body":{"changelog.html":{}}}],["theming",{"_index":334,"title":{},"body":{"changelog.html":{}}}],["this.push(i",{"_index":96,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["through",{"_index":693,"title":{},"body":{"changelog.html":{}}}],["thumbnails",{"_index":570,"title":{},"body":{"changelog.html":{}}}],["tied",{"_index":574,"title":{},"body":{"changelog.html":{}}}],["tiff",{"_index":702,"title":{},"body":{"changelog.html":{}}}],["timeouts",{"_index":305,"title":{},"body":{"changelog.html":{}}}],["times",{"_index":295,"title":{},"body":{"changelog.html":{}}}],["tissue",{"_index":309,"title":{},"body":{"changelog.html":{}}}],["tissues",{"_index":360,"title":{},"body":{"changelog.html":{}}}],["tmc",{"_index":808,"title":{},"body":{"changelog.html":{}}}],["toggle",{"_index":335,"title":{},"body":{"changelog.html":{}}}],["tool",{"_index":616,"title":{},"body":{"changelog.html":{}}}],["tordf",{"_index":31,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["tordf(jsonlddata",{"_index":109,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["tort",{"_index":1078,"title":{},"body":{"license.html":{}}}],["tracking/telemetry",{"_index":485,"title":{},"body":{"changelog.html":{}}}],["transparency",{"_index":617,"title":{},"body":{"changelog.html":{}}}],["travisci",{"_index":637,"title":{},"body":{"changelog.html":{}}}],["tree",{"_index":763,"title":{},"body":{"changelog.html":{}}}],["true",{"_index":93,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["try",{"_index":655,"title":{},"body":{"changelog.html":{}}}],["ts",{"_index":949,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":952,"title":{},"body":{"dependencies.html":{}}}],["tuned",{"_index":818,"title":{},"body":{"changelog.html":{}}}],["turn",{"_index":597,"title":{},"body":{"changelog.html":{}}}],["turned",{"_index":578,"title":{},"body":{"changelog.html":{}}}],["turning",{"_index":575,"title":{},"body":{"changelog.html":{}}}],["turns",{"_index":63,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["tutorial",{"_index":444,"title":{},"body":{"changelog.html":{}}}],["two",{"_index":713,"title":{},"body":{"changelog.html":{}}}],["type",{"_index":23,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"coverage.html":{},"miscellaneous/typealiases.html":{}}}],["typealiases",{"_index":1086,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typeof",{"_index":99,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["types",{"_index":54,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["types/lru",{"_index":884,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":142,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{},"index.html":{}}}],["typing",{"_index":778,"title":{},"body":{"changelog.html":{}}}],["ufl",{"_index":569,"title":{},"body":{"changelog.html":{}}}],["ui",{"_index":374,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["ui.netlify.app",{"_index":980,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/organ",{"_index":990,"title":{},"body":{"index.html":{}}}],["ui.netlify.app/rui",{"_index":987,"title":{},"body":{"index.html":{}}}],["ui/organ",{"_index":989,"title":{},"body":{"index.html":{}}}],["ui/rui",{"_index":988,"title":{},"body":{"index.html":{}}}],["uis",{"_index":202,"title":{},"body":{"changelog.html":{}}}],["undefined",{"_index":98,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["underscore",{"_index":155,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["university",{"_index":1019,"title":{},"body":{"index.html":{}}}],["unknown",{"_index":61,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["unnecessary",{"_index":468,"title":{},"body":{"changelog.html":{}}}],["unselect",{"_index":537,"title":{},"body":{"changelog.html":{}}}],["until",{"_index":53,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["unused",{"_index":144,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["up",{"_index":285,"title":{},"body":{"changelog.html":{}}}],["update",{"_index":227,"title":{},"body":{"changelog.html":{}}}],["updated",{"_index":55,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["updates",{"_index":275,"title":{},"body":{"changelog.html":{}}}],["upgraded",{"_index":698,"title":{},"body":{"changelog.html":{}}}],["upgrades",{"_index":784,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":490,"title":{},"body":{"changelog.html":{}}}],["upload",{"_index":612,"title":{},"body":{"changelog.html":{}}}],["uri",{"_index":100,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["uri?.startswith('http",{"_index":123,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["url",{"_index":33,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["usage",{"_index":204,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["usage.ipynb",{"_index":1003,"title":{},"body":{"index.html":{}}}],["use",{"_index":200,"title":{},"body":{"changelog.html":{},"index.html":{},"license.html":{}}}],["usecase",{"_index":1009,"title":{},"body":{"index.html":{}}}],["usecase.ipynb",{"_index":1006,"title":{},"body":{"index.html":{}}}],["used",{"_index":596,"title":{},"body":{"changelog.html":{}}}],["user",{"_index":177,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["user/os",{"_index":456,"title":{},"body":{"changelog.html":{}}}],["users",{"_index":803,"title":{},"body":{"changelog.html":{}}}],["uses",{"_index":475,"title":{},"body":{"changelog.html":{}}}],["using",{"_index":50,"title":{},"body":{"interfaces/QuadReader.html":{},"changelog.html":{}}}],["utilities",{"_index":463,"title":{},"body":{"changelog.html":{}}}],["utils.ts",{"_index":9,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["utils.ts:14",{"_index":19,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["utils/src/lib/triple",{"_index":8,"title":{},"body":{"interfaces/QuadReader.html":{},"coverage.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{}}}],["uuid",{"_index":953,"title":{},"body":{"dependencies.html":{}}}],["v1.1",{"_index":355,"title":{},"body":{"changelog.html":{}}}],["v1.3",{"_index":213,"title":{},"body":{"changelog.html":{}}}],["v1.4",{"_index":199,"title":{},"body":{"changelog.html":{}}}],["v1.5.0",{"_index":595,"title":{},"body":{"changelog.html":{}}}],["v1.7",{"_index":357,"title":{},"body":{"changelog.html":{}}}],["v1.7.0",{"_index":349,"title":{},"body":{"changelog.html":{}}}],["v1.8.0",{"_index":307,"title":{},"body":{"changelog.html":{}}}],["v1.9.0",{"_index":268,"title":{},"body":{"changelog.html":{}}}],["v1.9.4",{"_index":228,"title":{},"body":{"changelog.html":{}}}],["v1/sparql",{"_index":281,"title":{},"body":{"changelog.html":{}}}],["v2.1.0",{"_index":211,"title":{},"body":{"changelog.html":{}}}],["v2.2.0",{"_index":195,"title":{},"body":{"changelog.html":{}}}],["v3",{"_index":235,"title":{},"body":{"changelog.html":{}}}],["values",{"_index":64,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["version",{"_index":369,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["very",{"_index":688,"title":{},"body":{"changelog.html":{}}}],["via",{"_index":302,"title":{},"body":{"changelog.html":{}}}],["video",{"_index":491,"title":{},"body":{"changelog.html":{}}}],["view",{"_index":474,"title":{},"body":{"changelog.html":{}}}],["viewer",{"_index":563,"title":{},"body":{"changelog.html":{}}}],["viewing",{"_index":257,"title":{},"body":{"changelog.html":{}}}],["views",{"_index":477,"title":{},"body":{"changelog.html":{}}}],["visual",{"_index":255,"title":{},"body":{"changelog.html":{}}}],["visualization",{"_index":527,"title":{},"body":{"changelog.html":{}}}],["vitessce",{"_index":699,"title":{},"body":{"changelog.html":{}}}],["void",{"_index":95,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["vs",{"_index":438,"title":{},"body":{"changelog.html":{}}}],["vu",{"_index":814,"title":{},"body":{"changelog.html":{}}}],["walkthrough",{"_index":1005,"title":{},"body":{"index.html":{}}}],["warming",{"_index":301,"title":{},"body":{"changelog.html":{}}}],["warning",{"_index":722,"title":{},"body":{"changelog.html":{}}}],["warranties",{"_index":1062,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1059,"title":{},"body":{"license.html":{}}}],["web",{"_index":298,"title":{},"body":{"changelog.html":{}}}],["webcomponent",{"_index":436,"title":{},"body":{"changelog.html":{}}}],["webcomponents/webcomponentsjs",{"_index":885,"title":{},"body":{"dependencies.html":{}}}],["webpages",{"_index":377,"title":{},"body":{"changelog.html":{}}}],["website",{"_index":975,"title":{},"body":{"index.html":{}}}],["week",{"_index":820,"title":{},"body":{"changelog.html":{}}}],["whether",{"_index":1075,"title":{},"body":{"license.html":{}}}],["whole",{"_index":816,"title":{},"body":{"changelog.html":{}}}],["width",{"_index":495,"title":{},"body":{"changelog.html":{}}}],["within",{"_index":567,"title":{},"body":{"changelog.html":{}}}],["without",{"_index":398,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["workflows",{"_index":639,"title":{},"body":{"changelog.html":{}}}],["working",{"_index":363,"title":{},"body":{"changelog.html":{}}}],["works",{"_index":659,"title":{},"body":{"changelog.html":{}}}],["xml",{"_index":113,"title":{},"body":{"interfaces/QuadReader.html":{},"miscellaneous/functions.html":{}}}],["xmldata",{"_index":122,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["xmlparser",{"_index":125,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["xmlparser.end",{"_index":133,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["xmlparser.once('end",{"_index":129,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["xmlparser.write(xmldata",{"_index":132,"title":{},"body":{"interfaces/QuadReader.html":{}}}],["yes",{"_index":965,"title":{},"body":{"miscellaneous/functions.html":{}}}],["youtube",{"_index":405,"title":{},"body":{"changelog.html":{}}}],["zone.js",{"_index":955,"title":{},"body":{"dependencies.html":{}}}]],"pipeline":["stemmer"]}, + "store": {"interfaces/QuadReader.html":{"url":"interfaces/QuadReader.html","title":"interface - QuadReader","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n QuadReader\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n readQuads\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n readQuads\n \n \n \n \n \n \nreadQuads(subject: OTerm, predicate: OTerm, object: OTerm, graph: OTerm)\n \n \n\n\n \n \n Defined in projects/triple-store-utils/src/lib/triple-store-utils.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n subject\n \n OTerm\n \n\n \n No\n \n\n\n \n \n predicate\n \n OTerm\n \n\n \n No\n \n\n\n \n \n object\n \n OTerm\n \n\n \n No\n \n\n\n \n \n graph\n \n OTerm\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Generator\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EventEmitter } from 'events';\nimport { toRDF } from 'jsonld';\nimport { JsonLd, Url } from 'jsonld/jsonld-spec';\nimport { DataFactory, Parser, Store, Quad } from 'n3';\nimport * as RDF from 'rdf-js';\nimport { RdfXmlParser } from 'rdfxml-streaming-parser';\nimport { Readable } from 'readable-stream';\n\nexport * from 'n3';\n\n// Temporary solution for using the new readQuads function on Store until the @types are updated\ntype OTerm = RDF.Term | string | null;\ninterface QuadReader {\n readQuads(subject: OTerm, predicate: OTerm, object: OTerm, graph: OTerm): Generator;\n}\n\nexport function readQuads(store: Store, subject: OTerm, predicate: OTerm, object: OTerm, graph: OTerm): Generator {\n return (store as unknown as QuadReader).readQuads(subject, predicate, object, graph);\n}\n\n/**\n * Turns a stream of values into an array.\n *\n * @param readStream The input stream.\n * @returns A promise that resolves to an array of values when the stream completes.\n */\nexport function streamToArray(readStream: EventEmitter): Promise {\n return new Promise((resolve, reject) => {\n const chunks: T[] = [];\n readStream\n .on('data', (chunk: T) => {\n chunks.push(chunk);\n })\n .once('end', () => {\n resolve(chunks);\n })\n .once('error', (err) => {\n reject(err);\n });\n });\n}\n\n/**\n * Turns an array into a readable stream.\n *\n * @param arr The values.\n * @returns A new readable stream emitting the values from the array.\n */\nexport function arrayToStream(arr: T[]): Readable {\n const length = arr.length;\n let i = 0;\n\n return new Readable({\n objectMode: true,\n read(): void {\n this.push(i \n): Promise> {\n let jsonLdData: JsonLd | undefined;\n if (typeof uri === 'string') {\n const response = await fetch(uri, { redirect: 'follow' });\n if (response.ok) {\n jsonLdData = (await response.json()) as JsonLd;\n }\n } else {\n jsonLdData = uri;\n }\n\n if (jsonLdData) {\n const quads = (await toRDF(jsonLdData)) as unknown[];\n store.import(arrayToStream(quads) as unknown as EventEmitter);\n }\n return store;\n}\n\n/**\n * Adds data from rdf xml to the store.\n * Accepts either a xml-formatted string or a uri to load data from.\n *\n * @param uri A data uri or an xml-formatted string to load data from.\n * @param store The store to add data to\n * @returns A promise that resolves when the data has been added.\n */\nexport async function addRdfXmlToStore(\n uri: string, store: RDF.Sink\n): Promise> {\n let xmlData: string | undefined;\n if (typeof uri === 'string' && uri?.startsWith('http')) {\n const response = await fetch(uri, { redirect: 'follow' });\n if (response.ok) {\n xmlData = await response.text();\n }\n } else {\n xmlData = uri;\n }\n\n if (xmlData) {\n const xmlParser = new RdfXmlParser({ dataFactory: DataFactory, strict: true });\n const result = new Promise>(resolve => {\n xmlParser.once('end', () => resolve(store));\n });\n\n store.import(xmlParser);\n xmlParser.write(xmlData);\n xmlParser.end();\n return result;\n } else {\n return store;\n }\n}\n\n/**\n * Adds data from an n3 file to the store.\n * Accepts either a n3-formatted string or a uri to load data from.\n *\n * @param uri A data uri or an n3-formatted string.\n * @param store The store to add data to.\n * @returns A promise that resolves when the data has been added.\n */\nexport async function addN3ToStore(\n uri: string | Url, store: RDF.Sink\n): Promise> {\n let data: string | undefined;\n if (typeof uri === 'string' && uri?.startsWith('http')) {\n const response = await fetch(uri, { redirect: 'follow' });\n if (response.ok) {\n data = await response.text();\n }\n } else {\n data = uri;\n }\n if (data) {\n const quads = new Parser({ format: 'n3' }).parse(data);\n store.import(arrayToStream(quads) as unknown as EventEmitter);\n }\n return store;\n}\n\nexport function serializeN3Store(store: Store): string {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n store.size; // this causes the store to compute the size before we serialize it\n const storeData = Object.assign({} as Record, store);\n // eslint-disable-next-line no-underscore-dangle\n delete storeData._factory;\n return JSON.stringify(storeData);\n}\n\nexport function deserializeN3Store(serializedStore: string, factory?: RDF.DataFactory): Store {\n const storeData = JSON.parse(serializedStore);\n const store = new Store();\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Object.assign(store, storeData, { _factory: factory ?? DataFactory });\n return store;\n}\n\n \n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n \n\nChangelog\nChangelog for the Human Reference Atlas (HRA) User Interfaces\n3.7.2 - 2023-07-12\nAdded in 3.7.2\n\nClient side cache has been updated to be more sensitive to configuration changes. Fixes hra-registrations#1\n\n3.7.0 - 2023-06-15\nAdded in 3.7.0\n\nUpdated to CCF.OWL v2.2.0 which indexes the Human Reference Atlas (HRA) 5th Release (v1.4) for use in the CCF UIs and CCF-API.\nAdded CCF-API usage notebooks for python and javascript\n\n3.6.0 - 2022-10-15\nAdded in 3.6.0.\n\nUpdated to CCF.OWL v2.1.0 which indexes the Human Reference Atlas (HRA) 4th Release (v1.3) for use in the CCF UIs and CCF-API. Note that some terms have changed in the ontology. As such, some SPARQL queries may need to be updated. All CCF-API calls have been updated to support the new terms.\n\n3.5.0 - 2022-09-27\nAdded in 3.5.0\n\nUpdate to CCF.OWL v1.9.4\nUpdate placement for KPMP rui locations\nSwitch to HuBMAP v3 search-api\nPick right organ when loading rui locations from a file in the RUI\n\n3.4.0 - 2022-07-01\nAdded in 3.4.0\n\nMajor feature added: Spatial Search! This includes an expanded API plus a user interface for dynamically generating spatial searches.\n\nKnown Issues in 3.4.0\n\nThere are some minor visual descrepancies when viewing the spatial search 3D scene and the results. However, blocks which are highlighted will be selected if the spatial search is added to your overall search filters.\n\n3.3.0 - 2022-06-17\nAdded in 3.3.0\n\nAdded support for the latest CCF Ontology v1.9.0 which adds Placenta, Spinal Cord, new Landmarks for reference organs, and a host of data updates.\nAdded a SPARQL route to the CCF-API for flexible querying of the Ontology and linked data. See the /v1/sparql docs for more information.\nClean up and bug fixes\n\n3.2.0 - 2022-04-14\nAdded in 3.2.0\n\nMajor CCF Database speed improvements! 95% reduction in load times!\nMinor graphical fixes\n\n3.1.1 - 2022-04-12\nAdded in 3.1.1\n\nExpanded RUI web component options\nAdded support for warming up the CCF database via the CCF-API so that the EUI can prevent timeouts\n\n3.1.0 - 2022-04-07\nAdded in 3.1.0\n\nAdded support for the latest CCF Ontology v1.8.0 which adds cell types\nAdded feature to search for tissue blocks by cell type\nAdded API feature to dynamically generate GTEx rui_locations.jsonld\nAdded logging of organ and block position changes to the RUI\nAdded an expanded organ selector that makes selecting organs much easier with the larger number of reference organs we have now\nNow generating programming libraries for the CCF-API in Python, TypeScript, TypeScript (Angular), and JavaScript. We will be publishing them to appropriate package managers soon.\nImproved performance of the CCF-API\nNew theming options and toggle for the CCF EUI/RUI\nAdded new themes for SenNet, GTEx, and a default theme\nAdded compodoc generated code documentation to production and staging builds\nBug fixes and minor improvements\n\n3.0.0 - 2022-01-27\nAdded in 3.0.0\n\nAdded support for the latest CCF Ontology v1.7.0\nBug fixes and code cleanup\n\n3.0.0 BETA - 2021-12-17\nAdded in 3.0.0 BETA\n\nAdded reference organs and ASCT+B tables from the v1.1 CCF Release\nLinks: CCF Ontology v1.7 BETA, CCF Release v1.1\n\n\n\nKnown issues in 3.0.0 BETA\n\nPreviously registered tissues may appear slightly off. We are working to rectify this before making it a production release.\n\n2.5.0 - 2021-12-17\nAdded in 2.5.0\n\nCCF-API OpenAPI Spec and implementation. Next version will connect the EUI to this as it's backend.\nAdded the CCF Body UI Web Component for integrating the 3D scene deeply in webpages (including the HuBMAP data portal).\nThe organ-info Web Component can now take an option to highlight specific blocks in the scene. Currently only highlights by providers, but age, sex, and BMI will be added in the next version.\nBug fixes and Quality of Life improvements\n\n2.4.0 - 2021-12-10\nAdded in 2.4.0\n\nRUI shows a confirmation dialog when a user attempts to leave without finishing registration\nAdded GTEx data to EUI\nRUI Common Extraction Sites are now known as Landmarks\nOrgan info now highlights the block selected on click\nUpdated RUI YouTube Demo link\nBug fixes and Quality of Life improvements\n\n2.3.1 - 2021-09-13\nAdded in 2.3.1\n\nAdded support for paired organs to be refernced by their parent (ala Kidney + Left/Right Kidney)\n\n2.3.0 - 2021-09-10\nAdded in 2.3.0\n\nGreatly improved CCF Database performance. This improves the performance in both organ-info and EUI.\nImproved styling of organ-info\n\n2.2.0 - 2021-09-10\nAdded in 2.2.0\n\nAdded an organ-info web component for displaying reference organs and associated data in a simple panel display. The hubmap portal will be using this soon for organ pages.\nEMBEDDING.md instructions have been updated for organ-info embedding.\n\n2.1.0 - 2021-07-30\nAdded in EUI / RUI 2.1.0\n\nBetter support for embedding EUI/RUI in different containers, see EMBEDDING.md for updated instructions.\nConfiguration updates:\nConfiguration of EUI/RUI via webcomponent properties (vs globalConfig)\nOptional use of ontology id to select reference organs in the RUI\nRemoved embedded and tutorial mode configurations from the RUI config\nAbility to load data sources in the eui via external configuration\nAdded cancelRegistration callback to rui external configuration\n\n\nSet dark/light theme based on user/OS preferences\nUpdate HuBMAP search processing to conform to new field names\nCode cleanup, shared utilities, etc.\nTelemetry dialog box fixes to avoid unnecessary reloads\nRUI gizmo rotates in sync with the reference organ in 3D preview view\nRUI now uses an orthographic view when in registration views\n\n2.0.0 - 2021-07-16\nAdded in EUI / RUI 2.0.0\n\nRUI and EUI are now basic web-components, see EMBEDDING.md\nAdded advanced google analytics tracking/telemetry\nLinked donor card and tissue block hovering\nUpdated dependencies, including upgrading to Angular 12\nMinor UI and Bug fixes\nUpdated demo video links\nOrgan carousel will respond to container width and show only full icons\nEUI: clicking refresh and selecting body on partonomy resets the body view\n\nBreaking changes in EUI / RUI 2.0.0\n\nEmbedding the EUI and RUI must now be done via web-components. The most significant change is the element is no longer called ccf-root but is instead called ccf-eui or ccf-rui depending on the UI being embedded.\n\n1.7.0 - 2021-05-21\nAdded in EUI / RUI 1.7.0\n\nAdded a startup modal to the RUI which simplifies the initial setup for a new registration\nAdded 8 new reference organs, bringing us to 13 Reference Organs!\nAdded SPARC Registrations to the EUI\nAdded a tissue section visualization to the results list in the EUI\n\n1.6.0 - 2021-04-09\nAdded in RUI 1.6.0\n\nAdded SOP information to the About section\n\nAdded in EUI 1.6.0\n\nAdded color assignment/selection to both 3d scene and list results\nBug fixes, code cleanup, and optimization\n\nKnown issues in 1.6.0\n\nThe 3d scene is a little slow. To be able to interact, unselect reference organs to reduce scene complexity.\nTissue samples may be a little off in the 3D scene. This will be fixed in a future release. Data is still accurate.\n\n1.5.0 - 2021-03-26\nAdded in RUI 1.5.0\n\nMinor styling updates\n\nAdded in EUI 1.5.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features not fully integrated. This should be resolved in the next release scheduled for April 9th. You can view the results of this sprint on staging.\n\nUpdated styling to better fit the user interface spec\nAdded a new results pane which structures data into Donor->Tissue Blocks (+Datasets)->Tissue Samples (+Datasets)\nAdded a link viewer that allows us to display donors, samples, and datasets in a frame within the application\nAdded UFL thumbnails\nUpdated and optimized the ccf-database for the new results structure and future integrations\nTied organ carousel to the 3D scene. Turning off an organ removes the organ and related tissues from the 3D scene.\nTurned off anatomical structure opacity adjustment until it can be fully integrated\n\n1.4.0 - 2021-03-12\nAdded in RUI 1.4.0\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec\n\nAdded in EUI 1.4.0\nNOTE: EUI will not be pushed to production during this cycle as there are some features partly integrated. This should be resolved in the next release scheduled for March 26th. You can view the results of this sprint on staging.\n\nUpdated library dependencies, including to Angular 11\nUpdated styling to better fit the user interface spec and match RUI styling\nUpdated the Info Dialog to match the RUI look and feel\nUpdated the data processing to improve efficiency and generate data in the form needed for the v1.5.0 spec\nAdded a reference organ selector, also used in the RUI, to turn off/on reference organs on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\nAdded a technology filter\nAdded a control to set Opacities of individual organs/anatomical structures on the stage. UI is implemented, but still needs hooked up to the 3d Stage.\n\n1.3.5 - 2021-02-26\nAdded in RUI 1.3.5\n\nUpdated with a new round of User Interface improvements\nAdded the ability to upload previous registrations created using the standalone version of the RUI tool\nOrgans now have transparency applied automatically\nSolved a major memory leak and performance issue with the 3D reference organ interface. You should notice a sizable speed and reliability increase.\nRUI location numeric data is now rounded to 3 digits\nSwitched to using GitHub Actions over TravisCI for our CI/CD workflows\n\nAdded in EUI 1.3.5\n\nRemoved CCF's internal image-viewer in favor of the image-viewer on the HuBMAP Data Portal\n\nEUI 1.2.0 / RUI 1.0 FINAL - 2020-10-30\nAdded in EUI 1.2.0 / RUI 1.0 FINAL\n\nBug fixes and improvements\nUpdated embedding API in collaboration with the IEC\nUpdated EUI codebase to be in sync with code changes made for the RUI\nAdded KPMP data to the EUI\n\nKnown Issues in EUI 1.2.0 / RUI 1.0 FINAL\n\nIt is still possible that a 3d organ may fail to load. If this happens, just refresh and try again.\nEUI has not been updated with the latest organ set. This will be added in December with its scheduled refresh.\n\nRUI 1.0 BETA - 2020-10-16\nAdded in RUI 1.0 BETA\n\nCreated the first version of the RUI 1.0. This version is a BETA and works in standalone mode only. The next version will include full support and integration into the HuBMAP Ingestion Portal.\n10 Reference Organs are available to choose from (a combination of 4 organs, 2 sexes, and one organ with 2 sides [kidney])\nImplemented automatic tagging of data via collisions with anatomical structures\nRUI Location data is in standard JSON-LD format linked via the CCF Ontology and related ontologies\nImplemented extraction sites display to help guide placement of tissues\n\nKnown Issues in RUI 1.0 BETA\n\nWhile support for embedding is implemented, more testing and collaboration with IEC is required before it is made fully available. Initial embedding documentation is available here.\nWhen adjusting transparency via the left-hand Anatomical Structures menu or Show Previous Registrations option, the transparency effect is not very good. This will be addressed before the RUI 1.0 production release.\nSometimes the 3d organ fails to load when clicking through reference organs quickly (and other side cases). If this happens, just refresh and try again.\n\n1.1.0 - 2020-07-31\nAdded in 1.1.0\n\nUpgraded to latest Vitessce Image Viewer and started showing processed TIFF images coming directly from the HuBMAP infrastructure\nProcessed CODEX and 10x datasets are shown in the HuBMAP Portal's visualization tool\nAdded a limited set of TIFF image thumbnails, with more to come\nAdded two qualitative color schemes for colorizing images in the image viewer\nBug fixes/performance optimizations\n\n1.0.0-rc.1 - 2020-06-22\n\n:warning: WARNING: This version is a release candidate. Some minor updates will likely happen between now and the official HuBMAP Data Release 1 in July.\n\nAdded in 1.0.0-rc.1\n\nBody UI interactions\nImage Viewer Integration\nPartonomy linkage to search / Body UI\nNow fully integrated into the HuBMAP Portal\n\nKnown Issues in 1.0.0-rc.1\n\nImage Viewer is using a placeholder .tiff until more .tiff images can be loaded from the IEC\n\n1.0.0-alpha.3 - 2019-05-08\nAdded in 1.0.0-alpha.3\n\nHooked up the interface to real data (not shown online as the data is not public yet)\nAdded the Tissue Browser on the right\nAdded the initial (Tissue) Image Viewer popup. Currently shows metadata, but no images yet.\nAdded an initial 3D Body. Tissues cuboids currently not displayed, but a test cuboid is shown.\nDocumentation (>90%) and testing coverage improved further\n\n1.0.0-alpha.2 - 2019-03-27\nAdded in 1.0.0-alpha.2\n\nIncreased documentation and testing coverage across the board\nAdded fullscreen button\nBug fixes and optimizations\n\n1.0.0-alpha.1 - 2019-03-06\nAdded in 1.0.0-alpha.1\n\nStarted the process of implementing the 1.0.0 UI spec\nSpec Doc\nUser Stories\n\n\nSetup the base project scaffolding for the new version\nAdded CCF Partonomy (CCF-P) search and tree display\nAdded a filter for filter tissues\n\n0.6.0 - 2019-11-08\nAdded in 0.6.0\n\nThe CCF API project was started with an initial OpenAPI Schema, documentation, and code for spinning up a mock data server. This codifies the CCF data and metadata standards defined by MC-IU and will be used by the CCF EUI and RUI.\nIn preparation for future developments, we added a hidden, alpha-level 3d organ viewer. You can toggle this on and off in the organ view, by typing 3d with your keyboard.\nUpdated navigation to directly jump to the tissue browser when a user selects an item from the search box\nUpgraded dependencies, including upgrades to Angular 8\nTesting and bug fixes\nMinor UI updates\nChanged download icon color\nChanged the background color for the search\nMoved the Technologies filter above ontology\nAdditional styles for details button\n\n\n\n0.5.0 - 2019-05-24\nAdded in 0.5.0\n\nDisplay of the CCF ontology, integrated with search\nSemantic search by ontology, results are presented at all levels\nTissue overlays showing regions of interest\nData download links to direct users to https://sampledata.hubmapconsortium.org\nData documentation (95% coverage) and testing (85% coverage)\n\n0.2.0 - 2019-05-03\nAdded in 0.2.0\n\nSprint 2 release of the CCF-UI!\nA search interface was added to query data by age, sex, technology and TMC. Ontological search will be implemented in the next sprint.\nBody, Organ, and Tissue views now respond to updates to the search on the fly\nAppropriate metadata is now displayed in the Body, Organ, Tissue, and Cell views\n\n0.1.0 - 2019-04-12\nAdded in 0.1.0\n\nSprint 1 release of the CCF-UI!\nSetup the base project scaffolding\nAdded a sample database that includes initial data provided by VU\nAdded Visual browsing of tissue samples and metadata at the whole body, organ, tissue, and cell level\nStay tuned! More features coming in Sprint 2 (starts next week!) and Sprint 3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n Documentation coverage\n\n\n\n \n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n interface\n QuadReader\n \n 0 %\n (0/2)\n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n function\n addJsonLdToStore\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n function\n addN3ToStore\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n function\n addRdfXmlToStore\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n function\n arrayToStream\n \n 100 %\n (1/1)\n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n function\n deserializeN3Store\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n function\n readQuads\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n function\n serializeN3Store\n \n 0 %\n (0/1)\n \n \n \n \n \n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n function\n streamToArray\n \n 100 %\n (1/1)\n \n \n \n\n\n\n\n\n new Tablesort(document.getElementById('coverage-table'));\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @angular-ru/common : ^15.126.1\n \n @angular/animations : ^12.1.1\n \n @angular/cdk : ^12.1.1\n \n @angular/common : ^12.1.1\n \n @angular/compiler : ^12.1.1\n \n @angular/core : ^12.1.1\n \n @angular/elements : ^12.1.1\n \n @angular/forms : ^12.1.1\n \n @angular/material : ^12.1.3\n \n @angular/platform-browser : ^12.1.1\n \n @angular/platform-browser-dynamic : ^12.1.1\n \n @angular/router : ^12.1.1\n \n @angular/youtube-player : ^12.1.1\n \n @comunica/query-sparql-rdfjs : ^2.2.0\n \n @deck.gl/core : ^8.5.7\n \n @deck.gl/geo-layers : ^8.7.8\n \n @deck.gl/layers : ^8.5.7\n \n @deck.gl/mesh-layers : ^8.5.7\n \n @loaders.gl/core : ^3.0.12\n \n @loaders.gl/draco : ^3.0.12\n \n @loaders.gl/gltf : ^3.0.12\n \n @luma.gl/core : ^8.5.12\n \n @math.gl/core : ^3.5.5\n \n @math.gl/culling : ^3.5.7\n \n @ngxs-labs/data : ^6.2.0\n \n @ngxs-labs/dispatch-decorator : ^4.0.2\n \n @ngxs/logger-plugin : ^3.7.1\n \n @ngxs/storage-plugin : ^3.7.1\n \n @ngxs/store : ^3.7.3\n \n @rdfjs/data-model : ^1.2.0\n \n @types/lru-cache : \n \n @webcomponents/webcomponentsjs : ^2.5.0\n \n bind-decorator : ^1.0.11\n \n body-parser : ^1.19.0\n \n cannon-es : ^0.18.0\n \n comlink : ^4.3.0\n \n concat : ^1.0.3\n \n cors : ^2.8.5\n \n css-element-queries : ^1.2.3\n \n document-register-element : ^1.7.2\n \n dotenv : ^16.0.0\n \n express : ^4.17.1\n \n file-saver : ^2.0.5\n \n fs-extra : ^10.0.0\n \n graphology : ^0.20.0\n \n graphology-shortest-path : ^1.4.1\n \n helmet : ^4.6.0\n \n hex-rgb : ^5.0.0\n \n idb-keyval : ^6.0.1\n \n jsonld : ^5.2.0\n \n lodash : ^4.17.21\n \n lru-cache : \n \n n3 : ^1.16.0\n \n ng5-slider : ^1.2.6\n \n ngx-google-analytics : ^11.2.1\n \n ngx-markdown : ^12.0.1\n \n node-fetch : ^2.6.7\n \n object-hash : ^3.0.0\n \n qs : ^6.10.2\n \n rdf-literal : ^1.2.0\n \n rdfxml-streaming-parser : ^1.4.0\n \n readable-stream : ^3.6.0\n \n rxjs : ^6.6.7\n \n stream-browserify : ^3.0.0\n \n swiper : ^6.5.1\n \n ts-cacheable : ^1.0.6\n \n tslib : ^2.1.0\n \n uuid : ^8.3.2\n \n zone.js : ~0.11.4\n \n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Functions\n\n\n\n Index\n \n \n \n \n \n \n addJsonLdToStore   (projects/.../triple-store-utils.ts)\n \n \n addN3ToStore   (projects/.../triple-store-utils.ts)\n \n \n addRdfXmlToStore   (projects/.../triple-store-utils.ts)\n \n \n arrayToStream   (projects/.../triple-store-utils.ts)\n \n \n deserializeN3Store   (projects/.../triple-store-utils.ts)\n \n \n readQuads   (projects/.../triple-store-utils.ts)\n \n \n serializeN3Store   (projects/.../triple-store-utils.ts)\n \n \n streamToArray   (projects/.../triple-store-utils.ts)\n \n \n \n \n \n \n\n\n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n \n \n \n \n \n \n addJsonLdToStore\n \n \n \n \n \n \naddJsonLdToStore(uri, store)\n \n \n\n\n\n\n \n \n Adds data from json ld to the store.\nAccepts either a json object or a uri to load data from.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n uri\n\n \n No\n \n\n\n \n A data uri or a json object.\n\n \n \n \n store\n\n \n No\n \n\n\n \n The store to add data to.\n\n \n \n \n \n \n \n \n \n Returns : Promise>\n\n \n \n A promise that resolves when the data has been added.\n\n \n \n \n \n \n \n \n \n \n \n \n addN3ToStore\n \n \n \n \n \n \naddN3ToStore(uri, store)\n \n \n\n\n\n\n \n \n Adds data from an n3 file to the store.\nAccepts either a n3-formatted string or a uri to load data from.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n uri\n\n \n No\n \n\n\n \n A data uri or an n3-formatted string.\n\n \n \n \n store\n\n \n No\n \n\n\n \n The store to add data to.\n\n \n \n \n \n \n \n \n \n Returns : Promise>\n\n \n \n A promise that resolves when the data has been added.\n\n \n \n \n \n \n \n \n \n \n \n \n addRdfXmlToStore\n \n \n \n \n \n \naddRdfXmlToStore(uri, store)\n \n \n\n\n\n\n \n \n Adds data from rdf xml to the store.\nAccepts either a xml-formatted string or a uri to load data from.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n uri\n\n \n No\n \n\n\n \n A data uri or an xml-formatted string to load data from.\n\n \n \n \n store\n\n \n No\n \n\n\n \n The store to add data to\n\n \n \n \n \n \n \n \n \n Returns : Promise>\n\n \n \n A promise that resolves when the data has been added.\n\n \n \n \n \n \n \n \n \n \n \n \n arrayToStream\n \n \n \n \n \n \narrayToStream(arr)\n \n \n\n\n\n\n \n \n Turns an array into a readable stream.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n arr\n\n \n No\n \n\n\n \n The values.\n\n \n \n \n \n \n \n \n \n Returns : Readable\n\n \n \n A new readable stream emitting the values from the array.\n\n \n \n \n \n \n \n \n \n \n \n \n deserializeN3Store\n \n \n \n \n \n \ndeserializeN3Store(serializedStore, factory?)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n serializedStore\n\n \n No\n \n\n\n \n \n factory\n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Store\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n readQuads\n \n \n \n \n \n \nreadQuads(store, subject, predicate, object, graph)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n store\n\n \n No\n \n\n\n \n \n subject\n\n \n No\n \n\n\n \n \n predicate\n\n \n No\n \n\n\n \n \n object\n\n \n No\n \n\n\n \n \n graph\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Generator\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n serializeN3Store\n \n \n \n \n \n \nserializeN3Store(store)\n \n \n\n\n\n\n \n \n\n \n Parameters :\n \n \n \n Name\n Optional\n \n \n \n \n store\n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n streamToArray\n \n \n \n \n \n \nstreamToArray(readStream)\n \n \n\n\n\n\n \n \n Turns a stream of values into an array.\n\n\n \n Parameters :\n \n \n \n Name\n Optional\n Description\n \n \n \n \n readStream\n\n \n No\n \n\n\n \n The input stream.\n\n \n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n A promise that resolves to an array of values when the stream completes.\n\n \n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nHuman Reference Atlas (HRA) and Common Coordinate Framework (CCF) - User Interfaces\n\n\n\n\n\n\n\nThis repository is a monorepo (multiple projects in one repository) containing the software to build the CCF-EUI, CCF-RUI, and CCF-Organ-Info.\nWebsite Links\n\nCCF Exploration User Interface (CCF-EUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app\nProduction: https://portal.hubmapconsortium.org/ccf-eui\nProduction (alt): https://hubmapconsortium.github.io/ccf-ui/\nStaging: https://hubmap-ccf-ui.netlify.app/\nOld Version 0.6.0: https://old--hubmap-ccf-ui.netlify.app\n\n\nCCF Registration User Interface (CCF-RUI)\n:star2: 4.0 BETA: https://beta--hubmap-ccf-ui.netlify.app/rui/\nProduction: https://hubmapconsortium.github.io/ccf-ui/rui/\nStaging: https://hubmap-ccf-ui.netlify.app/rui/\n\n\nCCF Organ Info Component (CCF-Organ-Info)\nProduction: https://hubmapconsortium.github.io/ccf-ui/organ-info/\nStaging: https://hubmap-ccf-ui.netlify.app/organ-info/\n\n\nCCF API\nProduction: https://ccf-api.hubmapconsortium.org\nStaging: https://r5i95k35v5.us-east-2.awsapprunner.com\nOpenAPI Specification: ccf-api-spec.yaml\n\n\nCCF API Client Libraries:\nJavaScript: @ccf-openapi/js-client\nTypeScript: @ccf-openapi/ts-client\nAngular 12+: @ccf-openapi/ng-client\nPython 3.6+: ccf-openapi\n\n\nCCF API Sample Notebooks/Vignettes:\nPython 3.6+:\nBasic Usage: ccf-api-usage.ipynb\nUse case walkthrough: ccf-api-usecase.ipynb\n\n\nJavaScript:\nBasic Usage: https://observablehq.com/@cns-iu/ccf-api-documentation-javascript\nUse case walkthrough: https://observablehq.com/@cns-iu/ccf-api-usecase-javascript\n\n\n\n\n\nBackground and More Information\nFor more information about the Human Reference Atlas (HRA) and the Common Coordinate Framework (CCF), see the HuBMAP HRA Portal at https://humanatlas.io.\nChange Log\nSee the ChangeLog for the latest developments.\nCredits\nThis software is developed by the Cyberinfrastructure for Network Science Center at Indiana University. It is funded by NIH Award OT2OD026671.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nMIT License\nCopyright (c) 2019 HuBMAP Consortium\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\n\n Modules\n\n\n \n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\n\n Overview\n\n \n\n \n \n \n \n \n 1 Interface\n \n \n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n Miscellaneous\n Type aliases\n\n\n\n Index\n \n \n \n \n \n \n OTerm   (projects/.../triple-store-utils.ts)\n \n \n \n \n \n \n\n\n projects/triple-store-utils/src/lib/triple-store-utils.ts\n \n \n \n \n \n \n OTerm\n \n \n \n \n RDF.Term | string | null\n\n \n \n \n \n\n\n\n \n \n result-matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} } diff --git a/main-es2015.js b/main-es2015.js index 90354ccc3..2619cb9f0 100644 --- a/main-es2015.js +++ b/main-es2015.js @@ -1 +1 @@ -var X6e=Object.defineProperty,K6e=Object.defineProperties,q6e=Object.getOwnPropertyDescriptors,YM=Object.getOwnPropertySymbols,bZ=Object.prototype.hasOwnProperty,wZ=Object.prototype.propertyIsEnumerable,Yr=Math.pow,SZ=(t,e,n)=>e in t?X6e(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,vt=(t,e)=>{for(var n in e||(e={}))bZ.call(e,n)&&SZ(t,n,e[n]);if(YM)for(var n of YM(e))wZ.call(e,n)&&SZ(t,n,e[n]);return t},zn=(t,e)=>K6e(t,q6e(e)),CZ=(t,e)=>{var n={};for(var i in t)bZ.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&YM)for(var i of YM(t))e.indexOf(i)<0&&wZ.call(t,i)&&(n[i]=t[i]);return n};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{71440:function(t,e,n){var i=n(91052).default;t.exports=function t(e,n,i){function r(o,a){if(!n[o]){if(!e[o]){if(s)return s(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[o]={exports:{}};e[o][0].call(c.exports,function(t){return r(e[o][1][t]||t)},c,c.exports,t,e,n,i)}return n[o].exports}for(var s=void 0,o=0;o0&&r[r.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]0?o-4:o;for(n=0;n>16&255,l[u++]=e>>8&255,l[u++]=255&e;return 2===a&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,l[u++]=255&e),1===a&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e),l},n.fromByteArray=function(t){for(var e,n=t.length,r=n%3,s=[],o=16383,a=0,l=n-r;al?l:a+o));return 1===r?s.push(i[(e=t[n-1])>>2]+i[e<<4&63]+"=="):2===r&&s.push(i[(e=(t[n-2]<<8)+t[n-1])>>10]+i[e>>4&63]+i[e<<2&63]+"="),s.join("")};for(var i=[],r=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function u(t){return i[t>>18&63]+i[t>>12&63]+i[t>>6&63]+i[63&t]}function h(t,e,n){for(var i=[],r=e;r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"\ufffd";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"\ufffd";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"\ufffd"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):e}function u(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function d(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}n.StringDecoder=s,s.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(r>0&&(t.lastNeed=r-1),r):--i=0?(r>0&&(t.lastNeed=r-2),r):--i=0?(r>0&&(2===r?r=0:t.lastNeed=r-3),r):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var i=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},{"safe-buffer":4}],6:[function(t,e,n){(function(e){(function(){"use strict";var e=t("base64-js"),i=t("ieee754");n.Buffer=o,n.SlowBuffer=function(t){return+t!=t&&(t=0),o.alloc(+t)},n.INSPECT_MAX_BYTES=50;var r=2147483647;function s(t){if(t>r)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return e.__proto__=o.prototype,e}function o(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return c(t)}return a(t,e,n)}function a(t,e,n){if("string"==typeof t)return function(t,e){if(("string"!=typeof e||""===e)&&(e="utf8"),!o.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var n=0|d(t,e),i=s(n),r=i.write(t,e);return r!==n&&(i=i.slice(0,r)),i}(t,e);if(ArrayBuffer.isView(t))return u(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,n){if(e<0||t.byteLength=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|t}function d(t,e){if(o.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return L(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(t).length;default:if(r)return i?-1:L(t).length;e=(""+e).toLowerCase(),r=!0}}function p(t,e,n){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0)||(n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,n);case"utf8":case"utf-8":return C(this,e,n);case"ascii":return E(this,e,n);case"latin1":case"binary":return O(this,e,n);case"base64":return S(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,n);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function f(t,e,n){var i=t[e];t[e]=t[n],t[n]=i}function g(t,e,n,i,r){if(0===t.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=r?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(r)return-1;n=t.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof e&&(e=o.from(e,i)),o.isBuffer(e))return 0===e.length?-1:m(t,e,n,i,r);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):m(t,[e],n,i,r);throw new TypeError("val must be string, number or Buffer")}function m(t,e,n,i,r){var s,o=1,a=t.length,l=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(r){var u=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){for(var h=!0,d=0;dr&&(i=r):i=r;var s=e.length;i>s/2&&(i=s/2);for(var o=0;o>8,r.push(n%256),r.push(i);return r}(e,t.length-n),t,n,i)}function S(t,n,i){return e.fromByteArray(0===n&&i===t.length?t:t.slice(n,i))}function C(t,e,n){n=Math.min(t.length,n);for(var i=[],r=e;r239?4:c>223?3:c>191?2:1;if(r+h<=n)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(s=t[r+1]))&&(l=(31&c)<<6|63&s)>127&&(u=l);break;case 3:o=t[r+2],128==(192&(s=t[r+1]))&&128==(192&o)&&(l=(15&c)<<12|(63&s)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:o=t[r+2],a=t[r+3],128==(192&(s=t[r+1]))&&128==(192&o)&&128==(192&a)&&(l=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(i.push((u-=65536)>>>10&1023|55296),u=56320|1023&u),i.push(u),r+=h}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);for(var n="",i=0;ie&&(t+=" ... "),""},o.prototype.compare=function(t,e,n,i,r){if(B(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),e<0||n>t.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&e>=n)return 0;if(i>=r)return-1;if(e>=n)return 1;if(this===t)return 0;for(var s=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(e>>>=0),l=Math.min(s,a),c=this.slice(i,r),u=t.slice(e,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-e;if((void 0===n||n>r)&&(n=r),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var s=!1;;)switch(i){case"hex":return b(this,t,e,n);case"utf8":case"utf-8":return y(this,t,e,n);case"ascii":return v(this,t,e,n);case"latin1":case"binary":return _(this,t,e,n);case"base64":return w(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,t,e,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function E(t,e,n){var i="";n=Math.min(t.length,n);for(var r=e;ri)&&(n=i);for(var r="",s=e;sn)throw new RangeError("Trying to access beyond buffer length")}function A(t,e,n,i,r,s){if(!o.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||et.length)throw new RangeError("Index out of range")}function M(t,e,n,i,r,s){if(n+i>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function I(t,e,n,r,s){return e=+e,n>>>=0,s||M(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function D(t,e,n,r,s){return e=+e,n>>>=0,s||M(t,0,n,8),i.write(t,e,n,r,52,8),n+8}o.prototype.slice=function(t,e){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t],r=1,s=0;++s>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t+--e],r=1;e>0&&(r*=256);)i+=this[t+--e]*r;return i},o.prototype.readUInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),this[t]},o.prototype.readUInt16LE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUInt16BE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},o.prototype.readUInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t],r=1,s=0;++s=(r*=128)&&(i-=Math.pow(2,8*e)),i},o.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||P(t,e,this.length);for(var i=e,r=1,s=this[t+--i];i>0&&(r*=256);)s+=this[t+--i]*r;return s>=(r*=128)&&(s-=Math.pow(2,8*e)),s},o.prototype.readInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},o.prototype.readInt16LE=function(t,e){t>>>=0,e||P(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt16BE=function(t,e){t>>>=0,e||P(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readFloatLE=function(t,e){return t>>>=0,e||P(t,4,this.length),i.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,e){return t>>>=0,e||P(t,4,this.length),i.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,e){return t>>>=0,e||P(t,8,this.length),i.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,e){return t>>>=0,e||P(t,8,this.length),i.read(this,t,!1,52,8)},o.prototype.writeUIntLE=function(t,e,n,i){t=+t,e>>>=0,n>>>=0,i||A(this,t,e,n,Math.pow(2,8*n)-1,0);var r=1,s=0;for(this[e]=255&t;++s>>=0,n>>>=0,i||A(this,t,e,n,Math.pow(2,8*n)-1,0);var r=n-1,s=1;for(this[e+r]=255&t;--r>=0&&(s*=256);)this[e+r]=t/s&255;return e+n},o.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,255,0),this[e]=255&t,e+1},o.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},o.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeIntLE=function(t,e,n,i){if(t=+t,e>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,t,e,n,r-1,-r)}var s=0,o=1,a=0;for(this[e]=255&t;++s>0)-a&255;return e+n},o.prototype.writeIntBE=function(t,e,n,i){if(t=+t,e>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,t,e,n,r-1,-r)}var s=n-1,o=1,a=0;for(this[e+s]=255&t;--s>=0&&(o*=256);)t<0&&0===a&&0!==this[e+s+1]&&(a=1),this[e+s]=(t/o>>0)-a&255;return e+n},o.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},o.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},o.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeFloatLE=function(t,e,n){return I(this,t,e,!0,n)},o.prototype.writeFloatBE=function(t,e,n){return I(this,t,e,!1,n)},o.prototype.writeDoubleLE=function(t,e,n){return D(this,t,e,!0,n)},o.prototype.writeDoubleBE=function(t,e,n){return D(this,t,e,!1,n)},o.prototype.copy=function(t,e,n,i){if(!o.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&0!==i&&(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e=0;--s)t[s+e]=this[s+n];else Uint8Array.prototype.set.call(t,this.subarray(n,i),e);return r},o.prototype.fill=function(t,e,n,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!o.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===t.length){var r=t.charCodeAt(0);("utf8"===i&&r<128||"latin1"===i)&&(t=r)}}else"number"==typeof t&&(t&=255);if(e<0||this.length>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(s=e;s55295&&n<57344){if(!r){if(n>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(e-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(e-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((e-=1)<0)break;s.push(n)}else if(n<2048){if((e-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function j(t){return e.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(R,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function F(t,e,n,i){for(var r=0;r=e.length||r>=t.length);++r)e[r+n]=t[r];return r}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}}).call(this)}).call(this,t("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(t,e,n){"use strict";e.exports=function t(e){return null===e||"object"!=typeof e||null!=e.toJSON?JSON.stringify(e):Array.isArray(e)?"["+e.reduce((e,n,i)=>e+(0===i?"":",")+t(void 0===n||"symbol"==typeof n?null:n),"")+"]":"{"+Object.keys(e).sort().reduce((n,i,r)=>void 0===e[i]||"symbol"==typeof e[i]?n:n+(0===n.length?"":",")+t(i)+":"+t(e[i]),"")+"}"}},{}],8:[function(t,e,n){"use strict";var i,r="object"==typeof Reflect?Reflect:null,s=r&&"function"==typeof r.apply?r.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)};i=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var o=Number.isNaN||function(t){return t!=t};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(t,e){return new Promise(function(n,i){function r(n){t.removeListener(e,s),i(n)}function s(){"function"==typeof t.removeListener&&t.removeListener("error",r),n([].slice.call(arguments))}b(t,e,s,{once:!0}),"error"!==e&&function(t,e,n){"function"==typeof t.on&&b(t,"error",e,n)}(t,r,{once:!0})})},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function c(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function u(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function h(t,e,n,i){var r,s,o;if(c(n),void 0===(s=t._events)?(s=t._events=Object.create(null),t._eventsCount=0):(void 0!==s.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),s=t._events),o=s[e]),void 0===o)o=s[e]=n,++t._eventsCount;else if("function"==typeof o?o=s[e]=i?[n,o]:[o,n]:i?o.unshift(n):o.push(n),(r=u(t))>0&&o.length>r&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,function(t){console&&console.warn&&console.warn(t)}(a)}return t}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},r=d.bind(i);return r.listener=n,i.wrapFn=r,r}function f(t,e,n){var i=t._events;if(void 0===i)return[];var r=i[e];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var l=r[t];if(void 0===l)return!1;if("function"==typeof l)s(l,this,e);else{var c=l.length,u=m(l,c);for(n=0;n=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},a.prototype.listeners=function(t){return f(this,t,!0)},a.prototype.rawListeners=function(t){return f(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},a.prototype.listenerCount=g,a.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},{}],9:[function(t,e,n){n.read=function(t,e,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,h=n?r-1:0,d=n?-1:1,p=t[e+h];for(h+=d,s=p&(1<<-u)-1,p>>=-u,u+=a;u>0;s=256*s+t[e+h],h+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+t[e+h],h+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,i),s-=c}return(p?-1:1)*o*Math.pow(2,s-i)},n.write=function(t,e,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=i?0:s-1,f=i?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(a=0,o=u):o+h>=1?(a=(e*l-1)*Math.pow(2,r),o+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,r),o=0));r>=8;t[n+p]=255&a,p+=f,a/=256,r-=8);for(o=o<0;t[n+p]=255&o,p+=f,o/=256,c-=8);t[n+p-f]|=128*g}},{}],10:[function(t,e,n){e.exports="function"==typeof Object.create?function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},{}],11:[function(t,e,n){"use strict";const{isArray:r,isObject:s,isString:o}=t("./types"),{asArray:a}=t("./util"),{prependBase:l}=t("./url"),c=t("./JsonLdError"),u=t("./ResolvedContext");function h(t){throw new c("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:t})}function d({context:t,base:e}){if(!t)return;const n=t["@context"];if(o(n))t["@context"]=l(e,n);else if(r(n))for(let i=0;i10)throw new c("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"loading remote context failed":"context overflow",max:10});if(a.has(e))throw new c("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"recursive context inclusion":"context overflow",url:e});let i,l;a.add(e);try{l=yield n(e),i=l.document||null,o(i)&&(i=JSON.parse(i))}catch(u){throw new c("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:e,cause:u})}if(!s(i))throw new c("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:e});return i="@context"in i?{"@context":i["@context"]}:{"@context":{}},l.contextUrl&&(r(i["@context"])||(i["@context"]=[i["@context"]]),i["@context"].push(l.contextUrl)),{context:i,remoteDoc:l}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(t,e,n){"use strict";e.exports=class extends Error{constructor(t="An unspecified JSON-LD error occurred.",e="jsonld.Error",n={}){super(t),this.name=e,this.message=t,this.details=n}}},{}],13:[function(t,e,n){"use strict";e.exports=t=>{class e{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(e,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(e.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:e}),e.compact=function(e,n){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):t.compact(e,n)},e.expand=function(e){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):t.expand(e)},e.flatten=function(e){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):t.flatten(e)},e}},{}],14:[function(t,e,n){"use strict";e.exports=t("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(t,e,n){"use strict";e.exports=class{constructor(){this._requests={}}wrapLoader(t){const e=this;return e._loader=t,function(){return e.add.apply(e,arguments)}}add(t){var e=this;return i(function*(){let n=e._requests[t];if(n)return Promise.resolve(n);n=e._requests[t]=e._loader(t);try{return yield n}finally{delete e._requests[t]}})()}}},{}],16:[function(t,e,n){"use strict";const i=t("lru-cache");e.exports=class{constructor({document:t}){this.document=t,this.cache=new i({max:10})}getProcessed(t){return this.cache.get(t)}setProcessed(t,e){this.cache.set(t,e)}}},{"lru-cache":33}],17:[function(t,e,n){"use strict";const r=t("./JsonLdError"),{isArray:s,isObject:o,isString:a,isUndefined:l}=t("./types"),{isList:c,isValue:u,isGraph:h,isSimpleGraph:d,isSubjectReference:p}=t("./graphTypes"),{expandIri:f,getContextValue:g,isKeyword:m,process:b,processingMode:y}=t("./context"),{removeBase:v,prependBase:_}=t("./url"),{addValue:w,asArray:x,compareShortestLeast:S}=t("./util"),C={};function E(t,e,n){if("@nest"!==f(t,e,{vocab:!0},n))throw new r("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}e.exports=C,C.compact=function(){var t=i(function*({activeCtx:t,activeProperty:e=null,element:n,options:i={},compactionMap:f=(()=>{})}){if(s(n)){let r=[];for(let s=0;s1&&(T=Array.from(T).sort());const k=t;for(const e of T){const n=C.compactIri({activeCtx:k,iri:e,relativeTo:{vocab:!0}}),r=g(S,n,"@context");l(r)||(t=yield b({activeCtx:t,localCtx:r,options:i,propagate:!1}))}const P=Object.keys(n).sort();for(const l of P){const p=n[l];if("@id"!==l)if("@type"!==l)if("@reverse"!==l)if("@preserve"!==l)if("@index"!==l)if("@graph"!==l&&"@list"!==l&&"@included"!==l&&m(l)){const e=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,e,p)}else{if(!s(p))throw new r("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===p.length){const e=C.compactIri({activeCtx:t,iri:l,value:p,relativeTo:{vocab:!0},reverse:v}),n=t.mappings.has(e)?t.mappings.get(e)["@nest"]:null;let r=_;n&&(E(t,n,i),o(_[n])||(_[n]={}),r=_[n]),w(r,e,p,{propertyIsArray:!0})}for(const e of p){const n=C.compactIri({activeCtx:t,iri:l,value:e,relativeTo:{vocab:!0},reverse:v}),r=t.mappings.has(n)?t.mappings.get(n)["@nest"]:null;let p=_;r&&(E(t,r,i),o(_[r])||(_[r]={}),p=_[r]);const m=g(t,n,"@container")||[],b=h(e),y=c(e);let S;y?S=e["@list"]:b&&(S=e["@graph"]);let O=yield C.compact({activeCtx:t,activeProperty:n,element:y||b?S:e,options:i,compactionMap:f});if(y){if(s(O)||(O=[O]),m.includes("@list")){w(p,n,O,{valueIsArray:!0,allowDuplicate:!0});continue}O={[C.compactIri({activeCtx:t,iri:"@list",relativeTo:{vocab:!0}})]:O},"@index"in e&&(O[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=e["@index"])}if(b)if(m.includes("@graph")&&(m.includes("@id")||m.includes("@index")&&d(e))){let r;p.hasOwnProperty(n)?r=p[n]:p[n]=r={};const s=(m.includes("@id")?e["@id"]:e["@index"])||C.compactIri({activeCtx:t,iri:"@none",relativeTo:{vocab:!0}});w(r,s,O,{propertyIsArray:!i.compactArrays||m.includes("@set")})}else m.includes("@graph")&&d(e)?(s(O)&&O.length>1&&(O={"@included":O}),w(p,n,O,{propertyIsArray:!i.compactArrays||m.includes("@set")})):(s(O)&&1===O.length&&i.compactArrays&&(O=O[0]),O={[C.compactIri({activeCtx:t,iri:"@graph",relativeTo:{vocab:!0}})]:O},"@id"in e&&(O[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]=e["@id"]),"@index"in e&&(O[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=e["@index"]),w(p,n,O,{propertyIsArray:!i.compactArrays||m.includes("@set")}));else if(m.includes("@language")||m.includes("@index")||m.includes("@id")||m.includes("@type")){let r,s;if(p.hasOwnProperty(n)?r=p[n]:p[n]=r={},m.includes("@language"))u(O)&&(O=O["@value"]),s=e["@language"];else if(m.includes("@index")){const i=g(t,n,"@index")||"@index",r=C.compactIri({activeCtx:t,iri:i,relativeTo:{vocab:!0}});if("@index"===i)s=e["@index"],delete O[r];else{let t;if([s,...t]=x(O[i]||[]),a(s))switch(t.length){case 0:delete O[i];break;case 1:O[i]=t[0];break;default:O[i]=t}else s=null}}else if(m.includes("@id")){const e=C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}});s=O[e],delete O[e]}else if(m.includes("@type")){const r=C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}});let o;switch([s,...o]=x(O[r]||[]),o.length){case 0:delete O[r];break;case 1:O[r]=o[0];break;default:O[r]=o}1===Object.keys(O).length&&"@id"in e&&(O=yield C.compact({activeCtx:t,activeProperty:n,element:{"@id":e["@id"]},options:i,compactionMap:f}))}s||(s=C.compactIri({activeCtx:t,iri:"@none",relativeTo:{vocab:!0}})),w(r,s,O,{propertyIsArray:m.includes("@set")})}else{const t=!i.compactArrays||m.includes("@set")||m.includes("@list")||s(O)&&0===O.length||"@list"===l||"@graph"===l;w(p,n,O,{propertyIsArray:t})}}}else{if((g(t,e,"@container")||[]).includes("@index"))continue;const n=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,n,p)}else{const n=yield C.compact({activeCtx:t,activeProperty:e,element:p,options:i,compactionMap:f});s(n)&&0===n.length||w(_,l,n)}else{const e=yield C.compact({activeCtx:t,activeProperty:"@reverse",element:p,options:i,compactionMap:f});for(const n in e)if(t.mappings.has(n)&&t.mappings.get(n).reverse){const r=e[n],s=(g(t,n,"@container")||[]).includes("@set")||!i.compactArrays;w(_,n,r,{propertyIsArray:s}),delete e[n]}if(Object.keys(e).length>0){const n=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,n,e)}}else{let e=x(p).map(t=>C.compactIri({activeCtx:S,iri:t,relativeTo:{vocab:!0}}));1===e.length&&(e=e[0]);const n=C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}}),i=(g(t,n,"@container")||[]).includes("@set")&&y(t,1.1)||s(e)&&0===p.length;w(_,n,e,{propertyIsArray:i})}else{let e=x(p).map(e=>C.compactIri({activeCtx:t,iri:e,relativeTo:{vocab:!1},base:i.base}));1===e.length&&(e=e[0]),_[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]=e}}return _}return n});return function(e){return t.apply(this,arguments)}}(),C.compactIri=({activeCtx:t,iri:e,value:n=null,relativeTo:i={vocab:!1},reverse:s=!1,base:a=null})=>{if(null===e)return e;t.isPropertyTermScoped&&t.previousContext&&(t=t.previousContext);const l=t.getInverse();if(m(e)&&e in l&&"@none"in l[e]&&"@type"in l[e]["@none"]&&"@none"in l[e]["@none"]["@type"])return l[e]["@none"]["@type"]["@none"];if(i.vocab&&e in l){const i=t["@language"]||"@none",r=[];o(n)&&"@index"in n&&!("@graph"in n)&&r.push("@index","@index@set"),o(n)&&"@preserve"in n&&(n=n["@preserve"][0]),h(n)?("@index"in n&&r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n&&r.push("@graph@id","@graph@id@set"),r.push("@graph","@graph@set","@set"),"@index"in n||r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n||r.push("@graph@id","@graph@id@set")):o(n)&&!u(n)&&r.push("@id","@id@set","@type","@set@type");let a="@language",l="@null";if(s)a="@type",l="@reverse",r.push("@set");else if(c(n)){"@index"in n||r.push("@list");const t=n["@list"];if(0===t.length)a="@any",l="@none";else{let e=0===t.length?i:null,n=null;for(let i=0;it.includes("_"));t&&a.push(t.replace(/^[^_]+_/,"_"))}a.push("@none");const l=t.inverse[e];for(const o of i){if(!(o in l))continue;const t=l[o][r];for(const e of a)if(e in t)return t[e]}return null}(t,e,n,r,a,l);if(null!==d)return d}if(i.vocab&&"@vocab"in t){const n=t["@vocab"];if(0===e.indexOf(n)&&e!==n){const i=e.substr(n.length);if(!t.mappings.has(i))return i}}let d=null;const p=[];let f=t.fastCurieMap;const g=e.length-1;for(let r=0;r=0;--r){const i=p[r],s=i.terms;for(const r of s){const s=r+":"+e.substr(i.iri.length);t.mappings.get(r)._prefix&&(!t.mappings.has(s)||null===n&&t.mappings.get(s)["@id"]===e)&&(null===d||S(s,d)<0)&&(d=s)}}if(null!==d)return d;for(const[o,c]of t.mappings)if(c&&c._prefix&&e.startsWith(o+":"))throw new r(`Absolute IRI "${e}" confused with prefix "${o}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:t});return i.vocab?e:"@base"in t?t["@base"]?v(_(a,t["@base"]),e):e:v(a,e)},C.compactValue=({activeCtx:t,activeProperty:e,value:n,options:i})=>{if(u(n)){const i=g(t,e,"@type"),r=g(t,e,"@language"),s=g(t,e,"@direction"),o=g(t,e,"@container")||[],l="@index"in n&&!o.includes("@index");if(!l&&"@none"!==i&&(n["@type"]===i||"@language"in n&&n["@language"]===r&&"@direction"in n&&n["@direction"]===s||"@language"in n&&n["@language"]===r||"@direction"in n&&n["@direction"]===s))return n["@value"];const c=Object.keys(n).length,u=1===c||2===c&&"@index"in n&&!l,h="@language"in t,d=a(n["@value"]),p=t.mappings.has(e)&&null===t.mappings.get(e)["@language"];if(u&&"@none"!==i&&(!h||!d||p))return n["@value"];const f={};return l&&(f[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=n["@index"]),"@type"in n?f[C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}})]=C.compactIri({activeCtx:t,iri:n["@type"],relativeTo:{vocab:!0}}):"@language"in n&&(f[C.compactIri({activeCtx:t,iri:"@language",relativeTo:{vocab:!0}})]=n["@language"]),"@direction"in n&&(f[C.compactIri({activeCtx:t,iri:"@direction",relativeTo:{vocab:!0}})]=n["@direction"]),f[C.compactIri({activeCtx:t,iri:"@value",relativeTo:{vocab:!0}})]=n["@value"],f}const r=f(t,e,{vocab:!0},i),s=g(t,e,"@type"),o=C.compactIri({activeCtx:t,iri:n["@id"],relativeTo:{vocab:"@vocab"===s},base:i.base});return"@id"===s||"@vocab"===s||"@graph"===r?o:{[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]:o}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(t,e,n){"use strict";const i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#";e.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:i,RDF_LIST:i+"List",RDF_FIRST:i+"first",RDF_REST:i+"rest",RDF_NIL:i+"nil",RDF_TYPE:i+"type",RDF_PLAIN_LITERAL:i+"PlainLiteral",RDF_XML_LITERAL:i+"XMLLiteral",RDF_JSON_LITERAL:i+"JSON",RDF_OBJECT:i+"object",RDF_LANGSTRING:i+"langString",XSD:r,XSD_BOOLEAN:r+"boolean",XSD_DOUBLE:r+"double",XSD_INTEGER:r+"integer",XSD_STRING:r+"string"}},{}],19:[function(t,e,n){"use strict";const r=t("./util"),s=t("./JsonLdError"),{isArray:o,isObject:a,isString:l,isUndefined:c}=t("./types"),{isAbsolute:u,isRelative:h,prependBase:d}=t("./url"),{asArray:p,compareShortestLeast:f}=t("./util"),g=new Map,m=/^@[a-zA-Z]+$/,b={};function y(t,e,n,i,r,s){if(null===e||!l(e)||b.isKeyword(e))return e;if(e.match(m))return null;if(i&&i.hasOwnProperty(e)&&!0!==r.get(e)&&b.createTermDefinition({activeCtx:t,localCtx:i,term:e,defined:r,options:s}),(n=n||{}).vocab){const n=t.mappings.get(e);if(null===n)return null;if(a(n)&&"@id"in n)return n["@id"]}const o=e.indexOf(":");if(o>0){const n=e.substr(0,o),a=e.substr(o+1);if("_"===n||0===a.indexOf("//"))return e;i&&i.hasOwnProperty(n)&&b.createTermDefinition({activeCtx:t,localCtx:i,term:n,defined:r,options:s});const l=t.mappings.get(n);if(l&&l._prefix)return l["@id"]+a;if(u(e))return e}if(n.vocab&&"@vocab"in t)return t["@vocab"]+e;if(n.base&&"@base"in t){if(t["@base"])return d(d(s.base,t["@base"]),e)}else if(n.base)return d(s.base,e);return e}function v(t,e){if(!t||"object"!=typeof t||!e||"object"!=typeof e)return t===e;const n=Array.isArray(t);if(n!==Array.isArray(e))return!1;if(n){if(t.length!==e.length)return!1;for(let n=0;n{if(i.has(n)){if(i.get(n))return;throw new s("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:e,term:n})}let h;if(i.set(n,!1),e.hasOwnProperty(n)&&(h=e[n]),"@type"===n&&a(h)&&"@set"===(h["@container"]||"@set")&&b.processingMode(t,1.1)){const t=["@container","@id","@protected"],i=Object.keys(h);if(0===i.length||i.some(e=>!t.includes(e)))throw new s("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:e,term:n})}else{if(b.isKeyword(n))throw new s("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:e,term:n});if(n.match(m))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:n});if(""===n)throw new s("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:e})}const d=t.mappings.get(n);t.mappings.has(n)&&t.mappings.delete(n);let p=!1;if((l(h)||null===h)&&(p=!0,h={"@id":h}),!a(h))throw new s("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:e});const f={};t.mappings.set(n,f),f.reverse=!1;const g=["@container","@id","@language","@reverse","@type"];b.processingMode(t,1.1)&&g.push("@context","@direction","@index","@nest","@prefix","@protected");for(const o in h)if(!g.includes(o))throw new s("Invalid JSON-LD syntax; a term definition must not contain "+o,"jsonld.SyntaxError",{code:"invalid term definition",context:e});const _=n.indexOf(":");if(f._termHasColon=_>0,"@reverse"in h){if("@id"in h)throw new s("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});if("@nest"in h)throw new s("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});const o=h["@reverse"];if(!l(o))throw new s("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(!b.isKeyword(o)&&o.match(m))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:o}),void(d?t.mappings.set(n,d):t.mappings.delete(n));const a=y(t,o,{vocab:!0,base:!1},e,i,r);if(!u(a))throw new s("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});f["@id"]=a,f.reverse=!0}else if("@id"in h){let o=h["@id"];if(o&&!l(o))throw new s("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(null===o)f["@id"]=null;else{if(!b.isKeyword(o)&&o.match(m))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:o}),void(d?t.mappings.set(n,d):t.mappings.delete(n));if(o!==n){if(o=y(t,o,{vocab:!0,base:!1},e,i,r),!u(o)&&!b.isKeyword(o))throw new s("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(n.match(/(?::[^:])|\//)&&y(t,n,{vocab:!0,base:!1},e,new Map(i).set(n,!0),r)!==o)throw new s("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});f["@id"]=o,f._prefix=p&&!f._termHasColon&&o.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in f))if(f._termHasColon){const s=n.substr(0,_);if(e.hasOwnProperty(s)&&b.createTermDefinition({activeCtx:t,localCtx:e,term:s,defined:i,options:r}),t.mappings.has(s)){const e=n.substr(_+1);f["@id"]=t.mappings.get(s)["@id"]+e}else f["@id"]=n}else if("@type"===n)f["@id"]=n;else{if(!("@vocab"in t))throw new s("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e,term:n});f["@id"]=t["@vocab"]+n}if((!0===h["@protected"]||!0===i.get("@protected")&&!1!==h["@protected"])&&(t.protected[n]=!0,f.protected=!0),i.set(n,!0),"@type"in h){let n=h["@type"];if(!l(n))throw new s("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:e});if("@json"===n||"@none"===n){if(b.processingMode(t,1))throw new s(`Invalid JSON-LD syntax; an @context @type value must not be "${n}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:e})}else if("@id"!==n&&"@vocab"!==n){if(n=y(t,n,{vocab:!0,base:!1},e,i,r),!u(n))throw new s("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:e});if(0===n.indexOf("_:"))throw new s("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:e})}f["@type"]=n}if("@container"in h){const n=l(h["@container"])?[h["@container"]]:h["@container"]||[],i=["@list","@set","@index","@language"];let r=!0;const a=n.includes("@set");if(b.processingMode(t,1.1)){if(i.push("@graph","@id","@type"),n.includes("@list")){if(1!==n.length)throw new s("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:e})}else if(n.includes("@graph")){if(n.some(t=>"@graph"!==t&&"@id"!==t&&"@index"!==t&&"@set"!==t))throw new s("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:e})}else r&=n.length<=(a?2:1);if(n.includes("@type")&&(f["@type"]=f["@type"]||"@id",!["@id","@vocab"].includes(f["@type"])))throw new s("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:e})}else r&=!o(h["@container"]),r&=n.length<=1;if(r&=n.every(t=>i.includes(t)),r&=!(a&&n.includes("@list")),!r)throw new s("Invalid JSON-LD syntax; @context @container value must be one of the following: "+i.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:e});if(f.reverse&&!n.every(t=>["@index","@set"].includes(t)))throw new s("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});f["@container"]=n}if("@index"in h){if(!("@container"in h)||!f["@container"].includes("@index"))throw new s(`Invalid JSON-LD syntax; @index without @index in @container: "${h["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:e});if(!l(h["@index"])||0===h["@index"].indexOf("@"))throw new s(`Invalid JSON-LD syntax; @index must expand to an IRI: "${h["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:e});f["@index"]=h["@index"]}if("@context"in h&&(f["@context"]=h["@context"]),"@language"in h&&!("@type"in h)){let t=h["@language"];if(null!==t&&!l(t))throw new s("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:e});null!==t&&(t=t.toLowerCase()),f["@language"]=t}if("@prefix"in h){if(n.match(/:|\//))throw new s("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:e});if(b.isKeyword(f["@id"]))throw new s("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:e});if("boolean"!=typeof h["@prefix"])throw new s("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:e});f._prefix=!0===h["@prefix"]}if("@direction"in h){const t=h["@direction"];if(null!==t&&"ltr"!==t&&"rtl"!==t)throw new s('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:e});f["@direction"]=t}if("@nest"in h){const t=h["@nest"];if(!l(t)||"@nest"!==t&&0===t.indexOf("@"))throw new s("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:e});f["@nest"]=t}const w=f["@id"];if("@context"===w||"@preserve"===w)throw new s("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:e});if(d&&d.protected&&!c&&(t.protected[n]=!0,f.protected=!0,!v(d,f))){const t=r&&r.protectedMode||"error";if("error"===t)throw new s(`Invalid JSON-LD syntax; tried to redefine "${n}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:e,term:n});if("warn"===t)return void console.warn("WARNING: protected term redefinition",{term:n});throw new s("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:e,term:n,protectedMode:t})}},b.expandIri=(t,e,n,i)=>y(t,e,n,void 0,void 0,i),b.getInitialContext=t=>{const e=JSON.stringify({processingMode:t.processingMode}),n=g.get(e);if(n)return n;const i={processingMode:t.processingMode,mappings:new Map,inverse:null,getInverse:function(){const t=this;if(t.inverse)return t.inverse;const e=t.inverse={},n=t.fastCurieMap={},i={},r=(t["@language"]||"@none").toLowerCase(),a=t["@direction"],l=t.mappings,c=[...l.keys()].sort(f);for(const s of c){const t=l.get(s);if(null===t)continue;let c=t["@container"]||"@none";if(c=[].concat(c).sort().join(""),null===t["@id"])continue;const u=p(t["@id"]);for(const l of u){let u=e[l];const h=b.isKeyword(l);if(u)!h&&!t._termHasColon&&i[l].push(s);else if(e[l]=u={},!h&&!t._termHasColon){i[l]=[s];const t={iri:l,terms:i[l]};l[0]in n?n[l[0]].push(t):n[l[0]]=[t]}if(u[c]||(u[c]={"@language":{},"@type":{},"@any":{}}),u=u[c],o(s,u["@any"],"@none"),t.reverse)o(s,u["@type"],"@reverse");else if("@none"===t["@type"])o(s,u["@any"],"@none"),o(s,u["@language"],"@none"),o(s,u["@type"],"@none");else if("@type"in t)o(s,u["@type"],t["@type"]);else if("@language"in t&&"@direction"in t){const e=t["@language"],n=t["@direction"];o(s,u["@language"],e&&n?`${e}_${n}`.toLowerCase():e?e.toLowerCase():n?`_${n}`:"@null")}else"@language"in t?o(s,u["@language"],(t["@language"]||"@null").toLowerCase()):"@direction"in t?o(s,u["@language"],t["@direction"]?`_${t["@direction"]}`:"@none"):a?(o(s,u["@language"],`_${a}`),o(s,u["@language"],"@none"),o(s,u["@type"],"@none")):(o(s,u["@language"],r),o(s,u["@language"],"@none"),o(s,u["@type"],"@none"))}}for(const o in n)s(n,o,1);return e},clone:function(){const t={};return t.mappings=r.clone(this.mappings),t.clone=this.clone,t.inverse=null,t.getInverse=this.getInverse,t.protected=r.clone(this.protected),this.previousContext&&(t.previousContext=this.previousContext.clone()),t.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(t["@base"]=this["@base"]),"@language"in this&&(t["@language"]=this["@language"]),"@vocab"in this&&(t["@vocab"]=this["@vocab"]),t},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===g.size&&g.clear(),g.set(e,i),i;function s(t,e,n){const i=t[e],r=t[e]={};let o,a;for(const s of i)o=s.iri,a=n>=o.length?"":o[n],a in r?r[a].push(s):r[a]=[s];for(const l in r)""!==l&&s(r,l,n+1)}function o(t,e,n){e.hasOwnProperty(n)||(e[n]=t)}},b.getContextValue=(t,e,n)=>{if(null===e)return"@context"===n?void 0:null;if(t.mappings.has(e)){const i=t.mappings.get(e);if(c(n))return i;if(i.hasOwnProperty(n))return i[n]}return"@language"===n&&n in t||"@direction"===n&&n in t?t[n]:"@context"!==n?null:void 0},b.processingMode=(t,e)=>e.toString()>="1.1"?!t.processingMode||t.processingMode>="json-ld-"+e.toString():"json-ld-1.0"===t.processingMode,b.isKeyword=t=>{if(!l(t)||"@"!==t[0])return!1;switch(t){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(t,e,n){"use strict";const{parseLinkHeader:r,buildHeaders:s}=t("../util"),{LINK_HEADER_CONTEXT:o}=t("../constants"),a=t("../JsonLdError"),l=t("../RequestQueue"),{prependBase:c}=t("../url"),u=/(^|(\r\n))link:/i;function h(t,e,n){const i=new(t=t||XMLHttpRequest);return new Promise((t,r)=>{i.onload=()=>t(i),i.onerror=t=>r(t),i.open("GET",e,!0);for(const e in n)i.setRequestHeader(e,n[e]);i.send()})}e.exports=({secure:t,headers:e={},xhr:n}={headers:{}})=>{return e=s(e),(new l).wrapLoader(d);function d(t){return p.apply(this,arguments)}function p(){return(p=i(function*(i){if(0!==i.indexOf("http:")&&0!==i.indexOf("https:"))throw new a('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:i});if(t&&0!==i.indexOf("https"))throw new a('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:i});let s;try{s=yield h(n,i,e)}catch(m){throw new a("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:i,cause:m})}if(s.status>=400)throw new a("URL could not be dereferenced: "+s.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:i,httpStatusCode:s.status});let l={contextUrl:null,documentUrl:i,document:s.response},p=null;const f=s.getResponseHeader("Content-Type");let g;if(u.test(s.getAllResponseHeaders())&&(g=s.getResponseHeader("Link")),g&&"application/ld+json"!==f){const t=r(g),e=t[o];if(Array.isArray(e))throw new a("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:i});e&&(l.contextUrl=e.target),p=t.alternate,p&&"application/ld+json"==p.type&&!(f||"").match(/^application\/(\w*\+)?json$/)&&(l=yield d(c(i,p.target)))}return l})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(t,e,n){"use strict";const r=t("./JsonLdError"),{isArray:s,isObject:o,isEmptyObject:a,isString:l,isUndefined:c}=t("./types"),{isList:u,isValue:h,isGraph:d,isSubject:p}=t("./graphTypes"),{expandIri:f,getContextValue:g,isKeyword:m,process:b,processingMode:y}=t("./context"),{isAbsolute:v}=t("./url"),{addValue:_,asArray:w,getValues:x,validateTypeValue:S}=t("./util"),C={};e.exports=C;const E=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function O(t){return T.apply(this,arguments)}function T(){return(T=i(function*({activeCtx:t,activeProperty:e,expandedActiveProperty:n,element:i,expandedParent:d,options:x={},insideList:T,typeKey:k,typeScopedContext:M,expansionMap:I}){const D=Object.keys(i).sort(),R=[];let N;const L=i[k]&&"@json"===f(t,s(i[k])?i[k][0]:i[k],{vocab:!0},x);for(const O of D){let k,D=i[O];if("@context"===O)continue;let j=f(t,O,{vocab:!0},x);if((null===j||!v(j)&&!m(j))&&(j=I({unmappedProperty:O,activeCtx:t,activeProperty:e,parent:i,options:x,insideList:T,value:D,expandedParent:d}),void 0===j))continue;if(m(j)){if("@reverse"===n)throw new r("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:D});if(j in d&&"@included"!==j&&"@type"!==j)throw new r("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:j})}if("@id"===j){if(!l(D)){if(!x.isFrame)throw new r('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:D});if(o(D)){if(!a(D))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D})}else{if(!s(D))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D});if(!D.every(t=>l(t)))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D})}}_(d,"@id",w(D).map(e=>l(e)?f(t,e,{base:!0},x):e),{propertyIsArray:x.isFrame});continue}if("@type"===j){o(D)&&(D=Object.fromEntries(Object.entries(D).map(([t,e])=>[f(M,t,{vocab:!0}),w(e).map(t=>f(M,t,{base:!0,vocab:!0}))]))),S(D,x.isFrame),_(d,"@type",w(D).map(t=>l(t)?f(M,t,{base:!0,vocab:!0},x):t),{propertyIsArray:x.isFrame});continue}if("@included"===j&&y(t,1.1)){const n=w(yield C.expand({activeCtx:t,activeProperty:e,element:D,options:x,expansionMap:I}));if(!n.every(t=>p(t)))throw new r("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:D});_(d,"@included",n,{propertyIsArray:!0});continue}if("@graph"===j&&!o(D)&&!s(D))throw new r('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:D});if("@value"===j){N=D,L&&y(t,1.1)?d["@value"]=D:_(d,"@value",D,{propertyIsArray:x.isFrame});continue}if("@language"===j){if(null===D)continue;if(!l(D)&&!x.isFrame)throw new r('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:D});D=w(D).map(t=>l(t)?t.toLowerCase():t);for(const t of D)l(t)&&!t.match(E)&&console.warn(`@language must be valid BCP47: ${t}`);_(d,"@language",D,{propertyIsArray:x.isFrame});continue}if("@direction"===j){if(!l(D)&&!x.isFrame)throw new r('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:D});D=w(D);for(const t of D)if(l(t)&&"ltr"!==t&&"rtl"!==t)throw new r('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:D});_(d,"@direction",D,{propertyIsArray:x.isFrame});continue}if("@index"===j){if(!l(D))throw new r('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:D});_(d,"@index",D);continue}if("@reverse"===j){if(!o(D))throw new r('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:D});if(k=yield C.expand({activeCtx:t,activeProperty:"@reverse",element:D,options:x,expansionMap:I}),"@reverse"in k)for(const t in k["@reverse"])_(d,t,k["@reverse"][t],{propertyIsArray:!0});let e=d["@reverse"]||null;for(const t in k){if("@reverse"===t)continue;null===e&&(e=d["@reverse"]={}),_(e,t,[],{propertyIsArray:!0});const n=k[t];for(let i=0;i"@id"===t||"@index"===t)&&(k=w(k).map(t=>({"@graph":w(t)}))),F.mappings.has(O)&&F.mappings.get(O).reverse){const t=d["@reverse"]=d["@reverse"]||{};k=w(k);for(let e=0;e"@value"===f(t,e,{vocab:!0},x)))throw new r("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:i});yield O({activeCtx:t,activeProperty:e,expandedActiveProperty:n,element:i,expandedParent:d,options:x,insideList:T,typeScopedContext:M,typeKey:k,expansionMap:I})}}})).apply(this,arguments)}function k({activeCtx:t,activeProperty:e,value:n,options:i}){if(null==n)return null;const r=f(t,e,{vocab:!0},i);if("@id"===r)return f(t,n,{base:!0},i);if("@type"===r)return f(t,n,{vocab:!0,base:!0},i);const s=g(t,e,"@type");if(("@id"===s||"@graph"===r)&&l(n))return{"@id":f(t,n,{base:!0},i)};if("@vocab"===s&&l(n))return{"@id":f(t,n,{vocab:!0,base:!0},i)};if(m(r))return n;const o={};if(s&&!["@id","@vocab","@none"].includes(s))o["@type"]=s;else if(l(n)){const n=g(t,e,"@language");null!==n&&(o["@language"]=n);const i=g(t,e,"@direction");null!==i&&(o["@direction"]=i)}return["boolean","number","string"].includes(typeof n)||(n=n.toString()),o["@value"]=n,o}function P(t,e,n,i){const o=[],a=Object.keys(e).sort();for(const c of a){const a=f(t,c,{vocab:!0},i);let u=e[c];s(u)||(u=[u]);for(const t of u){if(null===t)continue;if(!l(t))throw new r("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:e});const i={"@value":t};"@none"!==a&&(i["@language"]=c.toLowerCase()),n&&(i["@direction"]=n),o.push(i)}}return o}function A(t){return M.apply(this,arguments)}function M(){return(M=i(function*({activeCtx:t,options:e,activeProperty:n,value:i,expansionMap:o,asGraph:a,indexKey:l,propertyIndex:u}){const p=[],m=Object.keys(i).sort(),y="@type"===l;for(let v of m){if(y){const n=g(t,v,"@context");c(n)||(t=yield b({activeCtx:t,localCtx:n,propagate:!1,options:e}))}let m,w=i[v];s(w)||(w=[w]),w=yield C.expand({activeCtx:t,activeProperty:n,element:w,options:e,insideList:!1,insideIndex:!0,expansionMap:o}),m=u?"@none"===v?"@none":k({activeCtx:t,activeProperty:l,value:v,options:e}):f(t,v,{vocab:!0},e),"@id"===l?v=f(t,v,{base:!0},e):y&&(v=m);for(let t of w){if(a&&!d(t)&&(t={"@graph":[t]}),"@type"===l)"@none"===m||(t["@type"]=t["@type"]?[v].concat(t["@type"]):[v]);else{if(h(t)&&!["@language","@type","@index"].includes(l))throw new r(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${l}".`,"jsonld.SyntaxError",{code:"invalid value object",value:t});u?"@none"!==m&&_(t,u,m,{propertyIsArray:!0,prependValue:!0}):"@none"!==m&&!(l in t)&&(t[l]=v)}p.push(t)}}return p})).apply(this,arguments)}C.expand=function(){var t=i(function*({activeCtx:t,activeProperty:e=null,element:n,options:i={},insideList:u=!1,insideIndex:h=!1,typeScopedContext:d=null,expansionMap:p=(()=>{})}){if(null==n)return null;if("@default"===e&&(i=Object.assign({},i,{isFrame:!1})),!s(n)&&!o(n)){if(!u&&(null===e||"@graph"===f(t,e,{vocab:!0},i))){const r=yield p({unmappedValue:n,activeCtx:t,activeProperty:e,options:i,insideList:u});return void 0===r?null:r}return k({activeCtx:t,activeProperty:e,value:n,options:i})}if(s(n)){let r=[];const o=g(t,e,"@container")||[];u=u||o.includes("@list");for(let a=0;a1?e.slice().sort():e:[e];for(const n of s){const e=g(d,n,"@context");c(e)||(t=yield b({activeCtx:t,localCtx:e,options:i,propagate:!1}))}}let P={};yield O({activeCtx:t,activeProperty:e,expandedActiveProperty:m,element:n,expandedParent:P,options:i,insideList:u,typeKey:T,typeScopedContext:d,expansionMap:p}),S=Object.keys(P);let A=S.length;if("@value"in P){if("@type"in P&&("@language"in P||"@direction"in P))throw new r('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:P});let s=A-1;if("@type"in P&&(s-=1),"@index"in P&&(s-=1),"@language"in P&&(s-=1),"@direction"in P&&(s-=1),0!==s)throw new r('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:P});const o=null===P["@value"]?[]:w(P["@value"]),c=x(P,"@type");if(!y(t,1.1)||!c.includes("@json")||1!==c.length)if(0===o.length){const r=yield p({unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}else{if(!o.every(t=>l(t)||a(t))&&"@language"in P)throw new r("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:P});if(!c.every(t=>v(t)&&!(l(t)&&0===t.indexOf("_:"))||a(t)))throw new r('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:P})}}else if("@type"in P&&!s(P["@type"]))P["@type"]=[P["@type"]];else if("@set"in P||"@list"in P){if(A>1&&(2!==A||!("@index"in P)))throw new r('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:P});"@set"in P&&(P=P["@set"],S=Object.keys(P),A=S.length)}else if(1===A&&"@language"in P){const r=yield p(P,{unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}if(o(P)&&!i.keepFreeFloatingNodes&&!u&&(null===e||"@graph"===m)&&(0===A||"@value"in P||"@list"in P||1===A&&"@id"in P)){const r=yield p({unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}return P});return function(e){return t.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(t,e,n){"use strict";const{isSubjectReference:i}=t("./graphTypes"),{createMergedNodeMap:r}=t("./nodeMap"),s={};e.exports=s,s.flatten=t=>{const e=r(t),n=[],s=Object.keys(e).sort();for(let r=0;r=0;--i){const r=n[i];if(r.graph===e&&r.subject["@id"]===t["@id"])return!0}return!1}function f(t,e,n){const i="@"+n;let r=i in t?t[i][0]:e[n];if("embed"===n)if(!0===r)r="@once";else if(!1===r)r="@never";else if("@always"!==r&&"@never"!==r&&"@link"!==r&&"@first"!==r&&"@last"!==r&&"@once"!==r)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:t});return r}function g(t){if(!s.isArray(t)||1!==t.length||!s.isObject(t[0]))throw new l("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:t});if("@id"in t[0])for(const e of o.asArray(t[0]["@id"]))if(!s.isObject(e)&&!a.isAbsolute(e)||s.isString(e)&&0===e.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:t});if("@type"in t[0])for(const e of o.asArray(t[0]["@type"]))if(!s.isObject(e)&&!a.isAbsolute(e)||s.isString(e)&&0===e.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:t})}function m(t,e,n,a){let l=!0,c=!1;for(const u in n){let h=!1;const d=o.getValues(e,u),p=0===o.getValues(n,u).length;if("@id"===u){if(s.isEmptyObject(n["@id"][0]||{})?h=!0:n["@id"].length>=0&&(h=n["@id"].includes(d[0])),!a.requireAll)return h}else if("@type"===u){if(l=!1,p){if(d.length>0)return!1;h=!0}else if(1===n["@type"].length&&s.isEmptyObject(n["@type"][0]))h=d.length>0;else for(const t of n["@type"])h=!(!s.isObject(t)||!("@default"in t))||h||d.some(e=>e===t);if(!a.requireAll)return h}else{if(i(u))continue;{const e=o.getValues(n,u)[0];let i=!1;if(e&&(g([e]),i="@default"in e),l=!1,0===d.length&&i)continue;if(d.length>0&&p)return!1;if(void 0===e){if(d.length>0)return!1;h=!0}else if(r.isList(e)){const n=e["@list"][0];if(r.isList(d[0])){const e=d[0]["@list"];r.isValue(n)?h=e.some(t=>w(n,t)):(r.isSubject(n)||r.isSubjectReference(n))&&(h=e.some(e=>_(t,n,e,a)))}}else h=r.isValue(e)?d.some(t=>w(e,t)):r.isSubjectReference(e)?d.some(n=>_(t,e,n,a)):!!s.isObject(e)&&d.length>0}}if(!h&&a.requireAll)return!1;c=c||h}return l||c}function b(t,e){const n=t.uniqueEmbeds[t.graph],i=n[e],r=i.parent,a=i.property,l={"@id":e};if(s.isArray(r)){for(let t=0;t{const e=Object.keys(n);for(const i of e)i in n&&s.isObject(n[i].parent)&&n[i].parent["@id"]===t&&(delete n[i],c(i))};c(e)}function y(t,e){if(s.isArray(t))return t.map(t=>y(t,e));if(s.isObject(t)){if("@preserve"in t)return t["@preserve"][0];if(r.isValue(t))return t;if(r.isList(t))return t["@list"]=y(t["@list"],e),t;if("@id"in t){const n=t["@id"];if(e.link.hasOwnProperty(n)){const i=e.link[n].indexOf(t);if(-1!==i)return e.link[n][i];e.link[n].push(t)}else e.link[n]=[t]}for(const n in t)"@id"===n&&e.bnodesToClear.includes(t[n])?delete t["@id"]:t[n]=y(t[n],e)}return t}function v(t,e,n){s.isObject(t)?o.addValue(t,e,n,{propertyIsArray:!0}):t.push(n)}function _(t,e,n,i){if(!("@id"in n))return!1;const r=t.subjects[n["@id"]];return r&&m(t,r,e,i)}function w(t,e){const n=e["@value"],i=e["@type"],r=e["@language"],o=t["@value"]?s.isArray(t["@value"])?t["@value"]:[t["@value"]]:[],a=t["@type"]?s.isArray(t["@type"])?t["@type"]:[t["@type"]]:[],l=t["@language"]?s.isArray(t["@language"])?t["@language"]:[t["@language"]]:[];return 0===o.length&&0===a.length&&0===l.length||!(!o.includes(n)&&!s.isEmptyObject(o[0])||!(!i&&0===a.length||a.includes(i)||i&&s.isEmptyObject(a[0]))||!(!r&&0===l.length||l.includes(r)||r&&s.isEmptyObject(l[0])))}e.exports=h,h.frameMergedOrDefault=(t,e,n)=>{const i={options:n,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},r=new o.IdentifierIssuer("_:b");c(t,i.graphMap,"@default",r),n.merged&&(i.graphMap["@merged"]=u(i.graphMap),i.graph="@merged"),i.subjects=i.graphMap[i.graph];const s=[];return h.frame(i,Object.keys(i.subjects).sort(),e,s),n.pruneBlankNodeIdentifiers&&(n.bnodesToClear=Object.keys(i.bnodeMap).filter(t=>1===i.bnodeMap[t].length)),n.link={},y(s,n)},h.frame=(t,e,n,a,c=null)=>{g(n);const u=t.options,y={embed:f(n=n[0],u,"embed"),explicit:f(n,u,"explicit"),requireAll:f(n,u,"requireAll")};t.link.hasOwnProperty(t.graph)||(t.link[t.graph]={});const _=t.link[t.graph],x=function(t,e,n,i){const r={};for(const s of e){const e=t.graphMap[t.graph][s];m(t,e,n,i)&&(r[s]=e)}return r}(t,e,n,y),S=Object.keys(x).sort();for(const g of S){const m=x[g];if(null===c?t.uniqueEmbeds={[t.graph]:{}}:t.uniqueEmbeds[t.graph]=t.uniqueEmbeds[t.graph]||{},"@link"===y.embed&&g in _){v(a,c,_[g]);continue}const S={"@id":g};if(0===g.indexOf("_:")&&o.addValue(t.bnodeMap,g,S,{propertyIsArray:!0}),_[g]=S,("@first"===y.embed||"@last"===y.embed)&&t.is11)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:n});if(t.embedded||!t.uniqueEmbeds[t.graph].hasOwnProperty(g)){if(t.embedded&&("@never"===y.embed||p(m,t.graph,t.subjectStack))){v(a,c,S);continue}if(t.embedded&&("@first"==y.embed||"@once"==y.embed)&&t.uniqueEmbeds[t.graph].hasOwnProperty(g)){v(a,c,S);continue}if("@last"===y.embed&&g in t.uniqueEmbeds[t.graph]&&b(t,g),t.uniqueEmbeds[t.graph][g]={parent:a,property:c},t.subjectStack.push({subject:m,graph:t.graph}),g in t.graphMap){let e=!1,i=null;"@graph"in n?(i=n["@graph"][0],e=!("@merged"===g||"@default"===g),s.isObject(i)||(i={})):(e="@merged"!==t.graph,i={}),e&&h.frame(zn(vt({},t),{graph:g,embedded:!1}),Object.keys(t.graphMap[g]).sort(),[i],S,"@graph")}"@included"in n&&h.frame(zn(vt({},t),{embedded:!1}),e,n["@included"],S,"@included");for(const e of Object.keys(m).sort())if(i(e)){if(S[e]=o.clone(m[e]),"@type"===e)for(const e of m["@type"])0===e.indexOf("_:")&&o.addValue(t.bnodeMap,e,S,{propertyIsArray:!0})}else if(!y.explicit||e in n)for(const i of m[e]){const s=e in n?n[e]:d(y);if(r.isList(i)){const s=n[e]&&n[e][0]&&n[e][0]["@list"]?n[e][0]["@list"]:d(y),a={"@list":[]};v(S,e,a);const l=i["@list"];for(const e of l)r.isSubjectReference(e)?h.frame(zn(vt({},t),{embedded:!0}),[e["@id"]],s,a,"@list"):v(a,"@list",o.clone(e))}else r.isSubjectReference(i)?h.frame(zn(vt({},t),{embedded:!0}),[i["@id"]],s,S,e):w(s[0],i)&&v(S,e,o.clone(i))}for(const t of Object.keys(n).sort()){if("@type"===t){if(!s.isObject(n[t][0])||!("@default"in n[t][0]))continue}else if(i(t))continue;const e=n[t][0]||{};if(!f(e,u,"omitDefault")&&!(t in S)){let n="@null";"@default"in e&&(n=o.clone(e["@default"])),s.isArray(n)||(n=[n]),S[t]=[{"@preserve":n}]}}for(const e of Object.keys(n["@reverse"]||{}).sort()){const i=n["@reverse"][e];for(const n of Object.keys(t.subjects))o.getValues(t.subjects[n],e).some(t=>t["@id"]===g)&&(S["@reverse"]=S["@reverse"]||{},o.addValue(S["@reverse"],e,[],{propertyIsArray:!0}),h.frame(zn(vt({},t),{embedded:!0}),[n],i,S["@reverse"][e],c))}v(a,c,S),t.subjectStack.pop()}}},h.cleanupNull=(t,e)=>{if(s.isArray(t))return t.map(t=>h.cleanupNull(t,e)).filter(t=>t);if("@null"===t)return null;if(s.isObject(t)){if("@id"in t){const n=t["@id"];if(e.link.hasOwnProperty(n)){const i=e.link[n].indexOf(t);if(-1!==i)return e.link[n][i];e.link[n].push(t)}else e.link[n]=[t]}for(const n in t)t[n]=h.cleanupNull(t[n],e)}return t}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(t,e,n){"use strict";const r=t("./JsonLdError"),s=t("./graphTypes"),o=t("./types"),a=t("./util"),{RDF_LIST:l,RDF_FIRST:c,RDF_REST:u,RDF_NIL:h,RDF_TYPE:d,RDF_JSON_LITERAL:p,XSD_BOOLEAN:f,XSD_DOUBLE:g,XSD_INTEGER:m,XSD_STRING:b}=t("./constants"),y=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,v={};function _(t,e,n){if(t.termType.endsWith("Node"))return{"@id":t.value};const i={"@value":t.value};if(t.language)i["@language"]=t.language;else{let a=t.datatype.value;if(a||(a=b),a===p){a="@json";try{i["@value"]=JSON.parse(i["@value"])}catch(s){throw new r("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:i["@value"],cause:s})}}if(e){if(a===f)"true"===i["@value"]?i["@value"]=!0:"false"===i["@value"]&&(i["@value"]=!1);else if(o.isNumeric(i["@value"]))if(a===m){const t=parseInt(i["@value"],10);t.toFixed(0)===i["@value"]&&(i["@value"]=t)}else a===g&&(i["@value"]=parseFloat(i["@value"]));[f,m,g,b].includes(a)||(i["@type"]=a)}else if("i18n-datatype"===n&&a.startsWith("https://www.w3.org/ns/i18n#")){const[,t,e]=a.split(/[#_]/);t.length>0&&(i["@language"]=t,t.match(y)||console.warn(`@language must be valid BCP47: ${t}`)),i["@direction"]=e}else a!==b&&(i["@type"]=a)}return i}e.exports=v,v.fromRDF=function(){var t=i(function*(t,{useRdfType:e=!1,useNativeTypes:n=!1,rdfDirection:i=null}){const r={},p={"@default":r},f={};for(const s of t){const t="DefaultGraph"===s.graph.termType?"@default":s.graph.value;t in p||(p[t]={}),"@default"!==t&&!(t in r)&&(r[t]={"@id":t});const o=p[t],l=s.subject.value,c=s.predicate.value,u=s.object;l in o||(o[l]={"@id":l});const g=o[l],m=u.termType.endsWith("Node");if(m&&!(u.value in o)&&(o[u.value]={"@id":u.value}),c===d&&!e&&m){a.addValue(g,"@type",u.value,{propertyIsArray:!0});continue}const b=_(u,n,i);if(a.addValue(g,c,b,{propertyIsArray:!0}),m)if(u.value===h){const t=o[u.value];"usages"in t||(t.usages=[]),t.usages.push({node:g,property:c,value:b})}else f[u.value]=!(u.value in f)&&{node:g,property:c,value:b}}for(const a in p){const t=p[a];if(!(h in t))continue;const e=t[h];if(e.usages){for(let n of e.usages){let e=n.node,i=n.property,r=n.value;const a=[],h=[];let d=Object.keys(e).length;for(;i===u&&o.isObject(f[e["@id"]])&&o.isArray(e[c])&&1===e[c].length&&o.isArray(e[u])&&1===e[u].length&&(3===d||4===d&&o.isArray(e["@type"])&&1===e["@type"].length&&e["@type"][0]===l)&&(a.push(e[c][0]),h.push(e["@id"]),n=f[e["@id"]],e=n.node,i=n.property,r=n.value,d=Object.keys(e).length,s.isBlankNode(e)););delete r["@id"],r["@list"]=a.reverse();for(const n of h)delete t[n]}delete e.usages}}const g=[],m=Object.keys(r).sort();for(const o of m){const t=r[o];if(o in p){const e=t["@graph"]=[],n=p[o],i=Object.keys(n).sort();for(const t of i){const i=n[t];s.isSubjectReference(i)||e.push(i)}}s.isSubjectReference(t)||g.push(t)}return g});return function(e,n){return t.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(t,e,n){"use strict";const i=t("./types"),r={};e.exports=r,r.isSubject=t=>!(!i.isObject(t)||"@value"in t||"@set"in t||"@list"in t)&&(Object.keys(t).length>1||!("@id"in t)),r.isSubjectReference=t=>i.isObject(t)&&1===Object.keys(t).length&&"@id"in t,r.isValue=t=>i.isObject(t)&&"@value"in t,r.isList=t=>i.isObject(t)&&"@list"in t,r.isGraph=t=>i.isObject(t)&&"@graph"in t&&1===Object.keys(t).filter(t=>"@id"!==t&&"@index"!==t).length,r.isSimpleGraph=t=>r.isGraph(t)&&!("@id"in t),r.isBlankNode=t=>!!i.isObject(t)&&("@id"in t?0===t["@id"].indexOf("_:"):0===Object.keys(t).length||!("@value"in t||"@set"in t||"@list"in t))},{"./types":30}],26:[function(t,e,n){const r=t("rdf-canonize"),s=t("./platform"),o=t("./util"),a=t("./ContextResolver"),l=o.IdentifierIssuer,c=t("./JsonLdError"),u=t("lru-cache"),h=t("./NQuads"),{expand:d}=t("./expand"),{flatten:p}=t("./flatten"),{fromRDF:f}=t("./fromRdf"),{toRDF:g}=t("./toRdf"),{frameMergedOrDefault:m,cleanupNull:b}=t("./frame"),{isArray:y,isObject:v,isString:_}=t("./types"),{isSubjectReference:w}=t("./graphTypes"),{expandIri:x,getInitialContext:S,process:C,processingMode:E}=t("./context"),{compact:O,compactIri:T}=t("./compact"),{createNodeMap:k,createMergedNodeMap:P,mergeNodeMaps:A}=t("./nodeMap"),M=function(e){const n={},M=new u({max:100});function I(t,n){var i=n,{documentLoader:r=e.documentLoader}=i,s=CZ(i,["documentLoader"]);return Object.assign({},{documentLoader:r},s,t)}return e.compact=function(){var t=i(function*(t,n,i){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===n)throw new c("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===t)return null;let r;(i=I(i,{base:_(t)?t:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new l("_:b"),contextResolver:new a({sharedCache:M})})).link&&(i.skipExpansion=!0),i.compactToRelative||delete i.base,r=i.skipExpansion?t:yield e.expand(t,i);const s=yield e.processContext(S(i),n,i);let u=yield O({activeCtx:s,element:r,options:i,compactionMap:i.compactionMap});i.compactArrays&&!i.graph&&y(u)?1===u.length?u=u[0]:0===u.length&&(u={}):i.graph&&v(u)&&(u=[u]),v(n)&&"@context"in n&&(n=n["@context"]),n=o.clone(n),y(n)||(n=[n]);const h=n;n=[];for(let e=0;e0)&&n.push(h[e]);const d=n.length>0;if(1===n.length&&(n=n[0]),y(u)){const t=T({activeCtx:s,iri:"@graph",relativeTo:{vocab:!0}}),e=u;u={},d&&(u["@context"]=n),u[t]=e}else if(v(u)&&d){const t=u;u={"@context":n};for(const e in t)u[e]=t[e]}return u});return function(e,n,i){return t.apply(this,arguments)}}(),e.expand=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(n=I(n,{keepFreeFloatingNodes:!1,contextResolver:new a({sharedCache:M})})).expansionMap&&(n.expansionMap=void 0);const i={},r=[];if("expandContext"in n){const t=o.clone(n.expandContext);i.expandContext=v(t)&&"@context"in t?t:{"@context":t},r.push(i.expandContext)}let s;if(_(t)){const o=yield e.get(t,n);s=o.documentUrl,i.input=o.document,o.contextUrl&&(i.remoteContext={"@context":o.contextUrl},r.push(i.remoteContext))}else i.input=o.clone(t);"base"in n||(n.base=s||"");let l=S(n);for(const e of r)l=yield C({activeCtx:l,localCtx:e,options:n});let c=yield d({activeCtx:l,element:i.input,options:n,expansionMap:n.expansionMap});return v(c)&&"@graph"in c&&1===Object.keys(c).length?c=c["@graph"]:null===c&&(c=[]),y(c)||(c=[c]),c});return function(e,n){return t.apply(this,arguments)}}(),e.flatten=function(){var t=i(function*(t,n,i){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");n="function"==typeof n?null:n||null,i=I(i,{base:_(t)?t:"",contextResolver:new a({sharedCache:M})});const r=yield e.expand(t,i),s=p(r);return null===n?s:(i.graph=!0,i.skipExpansion=!0,yield e.compact(s,n,i))});return function(e,n,i){return t.apply(this,arguments)}}(),e.frame=function(){var t=i(function*(t,n,i){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(i=I(i,{base:_(t)?t:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new a({sharedCache:M})}),_(n)){const t=yield e.get(n,i);if(n=t.document,t.contextUrl){let e=n["@context"];e?y(e)?e.push(t.contextUrl):e=[e,t.contextUrl]:e=t.contextUrl,n["@context"]=e}}const r=n&&n["@context"]||{},s=yield e.processContext(S(i),r,i);i.hasOwnProperty("omitGraph")||(i.omitGraph=E(s,1.1)),i.hasOwnProperty("pruneBlankNodeIdentifiers")||(i.pruneBlankNodeIdentifiers=E(s,1.1));const o=yield e.expand(t,i),l=vt({},i);l.isFrame=!0,l.keepFreeFloatingNodes=!0;const c=yield e.expand(n,l),u=Object.keys(n).map(t=>x(s,t,{vocab:!0}));l.merged=!u.includes("@graph"),l.is11=E(s,1.1);const h=m(o,c,l);l.graph=!i.omitGraph,l.skipExpansion=!0,l.link={},l.framing=!0;let d=yield e.compact(h,r,l);return l.link={},d=b(d,l),d});return function(e,n,i){return t.apply(this,arguments)}}(),e.link=function(){var t=i(function*(t,n,i){const r={};return n&&(r["@context"]=n),r["@embed"]="@link",e.frame(t,r,i)});return function(e,n,i){return t.apply(this,arguments)}}(),e.normalize=e.canonize=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(n=I(n,{base:_(t)?t:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new a({sharedCache:M})}))){if("application/n-quads"!==n.inputFormat&&"application/nquads"!==n.inputFormat)throw new c("Unknown canonicalization input format.","jsonld.CanonizeError");const e=h.parse(t);return r.canonize(e,n)}const i=vt({},n);delete i.format,i.produceGeneralizedRdf=!1;const s=yield e.toRDF(t,i);return r.canonize(s,n)});return function(e,n){return t.apply(this,arguments)}}(),e.fromRDF=function(){var t=i(function*(t,e){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");e=I(e,{format:_(t)?"application/n-quads":void 0});const{format:i}=e;let{rdfParser:r}=e;if(i){if(r=r||n[i],!r)throw new c("Unknown input format.","jsonld.UnknownFormat",{format:i})}else r=()=>t;const s=yield r(t);return f(s,e)});return function(e,n){return t.apply(this,arguments)}}(),e.toRDF=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let i;i=(n=I(n,{base:_(t)?t:"",skipExpansion:!1,contextResolver:new a({sharedCache:M})})).skipExpansion?t:yield e.expand(t,n);const r=g(i,n);if(n.format){if("application/n-quads"===n.format||"application/nquads"===n.format)return h.serialize(r);throw new c("Unknown output format.","jsonld.UnknownFormat",{format:n.format})}return r});return function(e,n){return t.apply(this,arguments)}}(),e.createNodeMap=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");n=I(n,{base:_(t)?t:"",contextResolver:new a({sharedCache:M})});const i=yield e.expand(t,n);return P(i,n)});return function(e,n){return t.apply(this,arguments)}}(),e.merge=function(){var t=i(function*(t,n,i){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!y(t))throw new TypeError('Could not merge, "docs" must be an array.');n="function"==typeof n?null:n||null,i=I(i,{contextResolver:new a({sharedCache:M})});const r=yield Promise.all(t.map(t=>{const n=vt({},i);return e.expand(t,n)}));let s=!0;"mergeNodes"in i&&(s=i.mergeNodes);const c=i.issuer||new l("_:b"),u={"@default":{}};for(let e=0;ee._documentLoader,set:t=>e._documentLoader=t}),e.documentLoader=function(){var t=i(function*(t){throw new c("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:t})});return function(e){return t.apply(this,arguments)}}(),e.get=function(){var t=i(function*(t,n){let i;i="function"==typeof n.documentLoader?n.documentLoader:e.documentLoader;const r=yield i(t);try{if(!r.document)throw new c("No remote document found at the given URL.","jsonld.NullRemoteDocument");_(r.document)&&(r.document=JSON.parse(r.document))}catch(s){throw new c("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:s,remoteDoc:r})}return r});return function(e,n){return t.apply(this,arguments)}}(),e.processContext=function(){var t=i(function*(t,e,n){return n=I(n,{base:"",contextResolver:new a({sharedCache:M})}),null===e?S(n):(e=o.clone(e),v(e)&&"@context"in e||(e={"@context":e}),C({activeCtx:t,localCtx:e,options:n}))});return function(e,n,i){return t.apply(this,arguments)}}(),e.getContextValue=t("./context").getContextValue,e.documentLoaders={},e.useDocumentLoader=function(t){if(!(t in e.documentLoaders))throw new c('Unknown document loader type: "'+t+'"',"jsonld.UnknownDocumentLoader",{type:t});e.documentLoader=e.documentLoaders[t].apply(e,Array.prototype.slice.call(arguments,1))},e.registerRDFParser=function(t,e){n[t]=e},e.unregisterRDFParser=function(t){delete n[t]},e.registerRDFParser("application/n-quads",h.parse),e.registerRDFParser("application/nquads",h.parse),e.url=t("./url"),e.util=o,Object.assign(e,o),e.promises=e,e.RequestQueue=t("./RequestQueue"),e.JsonLdProcessor=t("./JsonLdProcessor")(e),s.setupGlobals(e),s.setupDocumentLoaders(e),e},I=function(){return M(function(){return I()})};M(I),e.exports=I},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(t,e,n){"use strict";const{isKeyword:i}=t("./context"),r=t("./graphTypes"),s=t("./types"),o=t("./util"),a=t("./JsonLdError"),l={};e.exports=l,l.createMergedNodeMap=(t,e)=>{const n=(e=e||{}).issuer||new o.IdentifierIssuer("_:b"),i={"@default":{}};return l.createNodeMap(t,i,"@default",n),l.mergeNodeMaps(i)},l.createNodeMap=(t,e,n,c,u,h)=>{if(s.isArray(t)){for(const i of t)l.createNodeMap(i,e,n,c,void 0,h);return}if(!s.isObject(t))return void(h&&h.push(t));if(r.isValue(t)){if("@type"in t){let e=t["@type"];0===e.indexOf("_:")&&(t["@type"]=e=c.getId(e))}return void(h&&h.push(t))}if(h&&r.isList(t)){const i=[];return l.createNodeMap(t["@list"],e,n,c,u,i),void h.push({"@list":i})}if("@type"in t){const e=t["@type"];for(const t of e)0===t.indexOf("_:")&&c.getId(t)}s.isUndefined(u)&&(u=r.isBlankNode(t)?c.getId(t["@id"]):t["@id"]),h&&h.push({"@id":u});const d=e[n],p=d[u]=d[u]||{};p["@id"]=u;const f=Object.keys(t).sort();for(let s of f){if("@id"===s)continue;if("@reverse"===s){const i={"@id":u},s=t["@reverse"];for(const t in s){const a=s[t];for(const s of a){let a=s["@id"];r.isBlankNode(s)&&(a=c.getId(a)),l.createNodeMap(s,e,n,c,a),o.addValue(d[a],t,i,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===s){u in e||(e[u]={}),l.createNodeMap(t[s],e,u,c);continue}if("@included"===s){l.createNodeMap(t[s],e,n,c);continue}if("@type"!==s&&i(s)){if("@index"===s&&s in p&&(t[s]!==p[s]||t[s]["@id"]!==p[s]["@id"]))throw new a("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:p});p[s]=t[s];continue}const h=t[s];if(0===s.indexOf("_:")&&(s=c.getId(s)),0!==h.length)for(let t of h)if("@type"===s&&(t=0===t.indexOf("_:")?c.getId(t):t),r.isSubject(t)||r.isSubjectReference(t)){if("@id"in t&&!t["@id"])continue;const i=r.isBlankNode(t)?c.getId(t["@id"]):t["@id"];o.addValue(p,s,{"@id":i},{propertyIsArray:!0,allowDuplicate:!1}),l.createNodeMap(t,e,n,c,i)}else if(r.isValue(t))o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1});else if(r.isList(t)){const i=[];l.createNodeMap(t["@list"],e,n,c,u,i),t={"@list":i},o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1})}else l.createNodeMap(t,e,n,c,u),o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1});else o.addValue(p,s,[],{propertyIsArray:!0})}},l.mergeNodeMapGraphs=t=>{const e={};for(const n of Object.keys(t).sort())for(const r of Object.keys(t[n]).sort()){const s=t[n][r];r in e||(e[r]={"@id":r});const a=e[r];for(const t of Object.keys(s).sort())if(i(t)&&"@type"!==t)a[t]=o.clone(s[t]);else for(const e of s[t])o.addValue(a,t,o.clone(e),{propertyIsArray:!0,allowDuplicate:!1})}return e},l.mergeNodeMaps=t=>{const e=t["@default"],n=Object.keys(t).sort();for(const i of n){if("@default"===i)continue;const n=t[i];let s=e[i];s?"@graph"in s||(s["@graph"]=[]):e[i]=s={"@id":i,"@graph":[]};const o=s["@graph"];for(const t of Object.keys(n).sort()){const e=n[t];r.isSubjectReference(e)||o.push(e)}}return e}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(t,e,n){"use strict";const i=t("./documentLoaders/xhr"),r={};e.exports=r,r.setupDocumentLoaders=function(t){"undefined"!=typeof XMLHttpRequest&&(t.documentLoaders.xhr=i,t.useDocumentLoader("xhr"))},r.setupGlobals=function(t){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:t.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(t,e,n){"use strict";const{createNodeMap:i}=t("./nodeMap"),{isKeyword:r}=t("./context"),s=t("./graphTypes"),o=t("canonicalize"),a=t("./types"),l=t("./util"),{RDF_FIRST:c,RDF_REST:u,RDF_NIL:h,RDF_TYPE:d,RDF_JSON_LITERAL:p,RDF_LANGSTRING:f,XSD_BOOLEAN:g,XSD_DOUBLE:m,XSD_INTEGER:b,XSD_STRING:y}=t("./constants"),{isAbsolute:v}=t("./url"),_={};function w(t,e,n,i,s){const o=Object.keys(e).sort();for(const a of o){const o=e[a],l=Object.keys(o).sort();for(let e of l){const l=o[e];if("@type"===e)e=d;else if(r(e))continue;for(const r of l){const o={termType:a.startsWith("_:")?"BlankNode":"NamedNode",value:a};if(!v(a))continue;const l={termType:e.startsWith("_:")?"BlankNode":"NamedNode",value:e};if(!v(e)||"BlankNode"===l.termType&&!s.produceGeneralizedRdf)continue;const c=x(r,i,t,n,s.rdfDirection);c&&t.push({subject:o,predicate:l,object:c,graph:n})}}}}function x(t,e,n,i,r){const l={};if(s.isValue(t)){l.termType="Literal",l.value=void 0,l.datatype={termType:"NamedNode"};let e=t["@value"];const n=t["@type"]||null;"@json"===n?(l.value=o(e),l.datatype.value=p):a.isBoolean(e)?(l.value=e.toString(),l.datatype.value=n||g):a.isDouble(e)||n===m?(a.isDouble(e)||(e=parseFloat(e)),l.value=e.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),l.datatype.value=n||m):a.isNumber(e)?(l.value=e.toFixed(0),l.datatype.value=n||b):"i18n-datatype"===r&&"@direction"in t?(l.datatype.value="https://www.w3.org/ns/i18n#"+(t["@language"]||"")+`_${t["@direction"]}`,l.value=e):"@language"in t?(l.value=e,l.datatype.value=n||f,l.language=t["@language"]):(l.value=e,l.datatype.value=n||y)}else if(s.isList(t)){const s=function(t,e,n,i,r){const s={termType:"NamedNode",value:c},o={termType:"NamedNode",value:u},a={termType:"NamedNode",value:h},l=t.pop(),d=l?{termType:"BlankNode",value:e.getId()}:a;let p=d;for(const c of t){const t=x(c,e,n,i,r),a={termType:"BlankNode",value:e.getId()};n.push({subject:p,predicate:s,object:t,graph:i}),n.push({subject:p,predicate:o,object:a,graph:i}),p=a}if(l){const t=x(l,e,n,i,r);n.push({subject:p,predicate:s,object:t,graph:i}),n.push({subject:p,predicate:o,object:a,graph:i})}return d}(t["@list"],e,n,i,r);l.termType=s.termType,l.value=s.value}else{const e=a.isObject(t)?t["@id"]:t;l.termType=e.startsWith("_:")?"BlankNode":"NamedNode",l.value=e}return"NamedNode"!==l.termType||v(l.value)?l:null}e.exports=_,_.toRDF=(t,e)=>{const n=new l.IdentifierIssuer("_:b"),r={"@default":{}};i(t,r,"@default",n);const s=[],o=Object.keys(r).sort();for(const i of o){let t;if("@default"===i)t={termType:"DefaultGraph",value:""};else{if(!v(i))continue;t=i.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},t.value=i}w(s,r[i],t,n,e)}return s}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(t,e,n){"use strict";const i={};e.exports=i,i.isArray=Array.isArray,i.isBoolean=t=>"boolean"==typeof t||"[object Boolean]"===Object.prototype.toString.call(t),i.isDouble=t=>i.isNumber(t)&&(-1!==String(t).indexOf(".")||Math.abs(t)>=1e21),i.isEmptyObject=t=>i.isObject(t)&&0===Object.keys(t).length,i.isNumber=t=>"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t),i.isNumeric=t=>!isNaN(parseFloat(t))&&isFinite(t),i.isObject=t=>"[object Object]"===Object.prototype.toString.call(t),i.isString=t=>"string"==typeof t||"[object String]"===Object.prototype.toString.call(t),i.isUndefined=t=>void 0===t},{}],31:[function(t,e,n){"use strict";const i=t("./types"),r={};e.exports=r,r.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},r.parse=(t,e)=>{const n={},i=r.parsers[e||"full"],s=i.regex.exec(t);let o=i.keys.length;for(;o--;)n[i.keys[o]]=void 0===s[o]?null:s[o];return("https"===n.scheme&&"443"===n.port||"http"===n.scheme&&"80"===n.port)&&(n.href=n.href.replace(":"+n.port,""),n.authority=n.authority.replace(":"+n.port,""),n.port=null),n.normalizedPath=r.removeDotSegments(n.path),n},r.prependBase=(t,e)=>{if(null===t||r.isAbsolute(e))return e;(!t||i.isString(t))&&(t=r.parse(t||""));const n=r.parse(e),s={protocol:t.protocol||""};if(null!==n.authority)s.authority=n.authority,s.path=n.path,s.query=n.query;else if(s.authority=t.authority,""===n.path)s.path=t.path,s.query=null!==n.query?n.query:t.query;else{if(0===n.path.indexOf("/"))s.path=n.path;else{let e=t.path;e=e.substr(0,e.lastIndexOf("/")+1),(e.length>0||t.authority)&&"/"!==e.substr(-1)&&(e+="/"),e+=n.path,s.path=e}s.query=n.query}""!==n.path&&(s.path=r.removeDotSegments(s.path));let o=s.protocol;return null!==s.authority&&(o+="//"+s.authority),o+=s.path,null!==s.query&&(o+="?"+s.query),null!==n.fragment&&(o+="#"+n.fragment),""===o&&(o="./"),o},r.removeBase=(t,e)=>{if(null===t)return e;(!t||i.isString(t))&&(t=r.parse(t||""));let n="";if(""!==t.href?n+=(t.protocol||"")+"//"+(t.authority||""):e.indexOf("//")&&(n+="//"),0!==e.indexOf(n))return e;const s=r.parse(e.substr(n.length)),o=t.normalizedPath.split("/"),a=s.normalizedPath.split("/"),l=s.fragment||s.query?0:1;for(;o.length>0&&a.length>l&&o[0]===a[0];)o.shift(),a.shift();let c="";if(o.length>0){o.pop();for(let t=0;t{if(0===t.length)return"";const e=t.split("/"),n=[];for(;e.length>0;){const t=e.shift(),i=0===e.length;"."!==t?".."!==t?n.push(t):(n.pop(),i&&n.push("")):i&&n.push("")}return"/"===t[0]&&n.length>0&&""!==n[0]&&n.unshift(""),1===n.length&&""===n[0]?"/":n.join("/")};const s=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;r.isAbsolute=t=>i.isString(t)&&s.test(t),r.isRelative=t=>i.isString(t)},{"./types":30}],32:[function(t,e,n){"use strict";const i=t("./graphTypes"),r=t("./types"),s=t("rdf-canonize").IdentifierIssuer,o=t("./JsonLdError"),a=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,l=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,c=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,u={accept:"application/ld+json, application/json"},h={};function d(t,e){if(r.isArray(e))for(let n=0;n{if(Object.keys(t).some(t=>"accept"===t.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+u.accept+'" is supported.');return Object.assign({Accept:u.accept},t)},h.parseLinkHeader=t=>{const e={},n=t.match(a);for(let i=0;i{if(!(r.isString(t)||r.isArray(t)&&t.every(t=>r.isString(t)))){if(e&&r.isObject(t))switch(Object.keys(t).length){case 0:return;case 1:if("@default"in t&&h.asArray(t["@default"]).every(t=>r.isString(t)))return}throw new o('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:t})}},h.hasProperty=(t,e)=>{if(t.hasOwnProperty(e)){const n=t[e];return!r.isArray(n)||n.length>0}return!1},h.hasValue=(t,e,n)=>{if(h.hasProperty(t,e)){let s=t[e];const o=i.isList(s);if(r.isArray(s)||o){o&&(s=s["@list"]);for(let t=0;t{if("propertyIsArray"in(i=i||{})||(i.propertyIsArray=!1),"valueIsArray"in i||(i.valueIsArray=!1),"allowDuplicate"in i||(i.allowDuplicate=!0),"prependValue"in i||(i.prependValue=!1),i.valueIsArray)t[e]=n;else if(r.isArray(n)){0===n.length&&i.propertyIsArray&&!t.hasOwnProperty(e)&&(t[e]=[]),i.prependValue&&(n=n.concat(t[e]),t[e]=[]);for(let r=0;r[].concat(t[e]||[]),h.removeProperty=(t,e)=>{delete t[e]},h.removeValue=(t,e,n,i)=>{"propertyIsArray"in(i=i||{})||(i.propertyIsArray=!1);const r=h.getValues(t,e).filter(t=>!h.compareValues(t,n));0===r.length?h.removeProperty(t,e):t[e]=1!==r.length||i.propertyIsArray?r:r[0]},h.relabelBlankNodes=(t,e)=>d((e=e||{}).issuer||new s("_:b"),t),h.compareValues=(t,e)=>!!(t===e||i.isValue(t)&&i.isValue(e)&&t["@value"]===e["@value"]&&t["@type"]===e["@type"]&&t["@language"]===e["@language"]&&t["@index"]===e["@index"])||!!(r.isObject(t)&&"@id"in t&&r.isObject(e)&&"@id"in e)&&t["@id"]===e["@id"],h.compareShortestLeast=(t,e)=>t.length1;const g=(t,e,n)=>{const i=t[d].get(e);if(i){const e=i.value;if(m(t,e)){if(y(t,i),!t[a])return}else n&&(t[p]&&(i.value.now=Date.now()),t[h].unshiftNode(i));return e.value}},m=(t,e)=>{if(!e||!e.maxAge&&!t[l])return!1;const n=Date.now()-e.now;return e.maxAge?n>e.maxAge:t[l]&&n>t[l]},b=t=>{if(t[s]>t[r])for(let e=t[h].tail;t[s]>t[r]&&null!==e;){const n=e.prev;y(t,e),e=n}},y=(t,e)=>{if(e){const n=e.value;t[c]&&t[c](n.key,n.value),t[s]-=n.length,t[d].delete(n.key),t[h].removeNode(e)}};class v{constructor(t,e,n,i,r){this.key=t,this.value=e,this.length=n,this.now=i,this.maxAge=r||0}}const _=(t,e,n,i)=>{let r=n.value;m(t,r)&&(y(t,n),t[a]||(r=void 0)),r&&e.call(i,r.value,r.key,t)};e.exports=class{constructor(t){if("number"==typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!=typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[r]=t.max||1/0;const e=t.length||f;if(this[o]="function"!=typeof e?f:e,this[a]=t.stale||!1,t.maxAge&&"number"!=typeof t.maxAge)throw new TypeError("maxAge must be a number");this[l]=t.maxAge||0,this[c]=t.dispose,this[u]=t.noDisposeOnSet||!1,this[p]=t.updateAgeOnGet||!1,this.reset()}set max(t){if("number"!=typeof t||t<0)throw new TypeError("max must be a non-negative number");this[r]=t||1/0,b(this)}get max(){return this[r]}set allowStale(t){this[a]=!!t}get allowStale(){return this[a]}set maxAge(t){if("number"!=typeof t)throw new TypeError("maxAge must be a non-negative number");this[l]=t,b(this)}get maxAge(){return this[l]}set lengthCalculator(t){"function"!=typeof t&&(t=f),t!==this[o]&&(this[o]=t,this[s]=0,this[h].forEach(t=>{t.length=this[o](t.value,t.key),this[s]+=t.length})),b(this)}get lengthCalculator(){return this[o]}get length(){return this[s]}get itemCount(){return this[h].length}rforEach(t,e){e=e||this;for(let n=this[h].tail;null!==n;){const i=n.prev;_(this,t,n,e),n=i}}forEach(t,e){e=e||this;for(let n=this[h].head;null!==n;){const i=n.next;_(this,t,n,e),n=i}}keys(){return this[h].toArray().map(t=>t.key)}values(){return this[h].toArray().map(t=>t.value)}reset(){this[c]&&this[h]&&this[h].length&&this[h].forEach(t=>this[c](t.key,t.value)),this[d]=new Map,this[h]=new i,this[s]=0}dump(){return this[h].map(t=>!m(this,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[h]}set(t,e,n){if((n=n||this[l])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");const i=n?Date.now():0,a=this[o](e,t);if(this[d].has(t)){if(a>this[r])return y(this,this[d].get(t)),!1;const o=this[d].get(t).value;return this[c]&&(this[u]||this[c](t,o.value)),o.now=i,o.maxAge=n,o.value=e,this[s]+=a-o.length,o.length=a,this.get(t),b(this),!0}const p=new v(t,e,a,i,n);return p.length>this[r]?(this[c]&&this[c](t,e),!1):(this[s]+=p.length,this[h].unshift(p),this[d].set(t,this[h].head),b(this),!0)}has(t){if(!this[d].has(t))return!1;const e=this[d].get(t).value;return!m(this,e)}get(t){return g(this,t,!0)}peek(t){return g(this,t,!1)}pop(){const t=this[h].tail;return t?(y(this,t),t.value):null}del(t){y(this,this[d].get(t))}load(t){this.reset();const e=Date.now();for(let n=t.length-1;n>=0;n--){const i=t[n],r=i.e||0;if(0===r)this.set(i.k,i.v);else{const t=r-e;t>0&&this.set(i.k,i.v,t)}}}prune(){this[d].forEach((t,e)=>g(this,e,!1))}}},{yallist:92}],34:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;const i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#",s="http://www.w3.org/2000/10/swap/";n.default={xsd:{decimal:`${r}decimal`,boolean:`${r}boolean`,double:`${r}double`,integer:`${r}integer`,string:`${r}string`},rdf:{type:`${i}type`,nil:`${i}nil`,first:`${i}first`,rest:`${i}rest`,langString:`${i}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${s}reify#forSome`,forAll:`${s}reify#forAll`},log:{implies:`${s}log#implies`}}},{}],35:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=n.Variable=n.Triple=n.Term=n.Quad=n.NamedNode=n.Literal=n.DefaultGraph=n.BlankNode=void 0,n.escapeQuotes=_,n.termFromId=function t(e,n){if(n=n||d,!e)return n.defaultGraph();switch(e[0]){case"?":return n.variable(e.substr(1));case"_":return n.blankNode(e.substr(2));case'"':if(n===d)return new g(e);if('"'===e[e.length-1])return n.literal(e.substr(1,e.length-2));const i=e.lastIndexOf('"',e.length-1);return n.literal(e.substr(1,i-1),"@"===e[i+1]?e.substr(i+2):n.namedNode(e.substr(i+3)));case"<":const r=h.exec(e);return n.quad(t(w(r[1]),n),t(w(r[2]),n),t(w(r[3]),n),r[4]&&t(w(r[4]),n));default:return n.namedNode(e)}},n.termToId=function t(e){if("string"==typeof e)return e;if(e instanceof p&&"Quad"!==e.termType)return e.id;if(!e)return l.id;switch(e.termType){case"NamedNode":return e.value;case"BlankNode":return`_:${e.value}`;case"Variable":return`?${e.value}`;case"DefaultGraph":return"";case"Literal":return`"${e.value}"${e.language?`@${e.language}`:e.datatype&&e.datatype.value!==a.string?`^^${e.datatype.value}`:""}`;case"Quad":return`<<${_(t(e.subject))} ${_(t(e.predicate))} ${_(t(e.object))}${(0,s.isDefaultGraph)(e.graph)?"":` ${t(e.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${e.termType}`)}},n.unescapeQuotes=w;var i,r=(i=t("./IRIs"))&&i.__esModule?i:{default:i},s=t("./N3Util");const{rdf:o,xsd:a}=r.default;let l,c=0;const u=/^"(.*".*)(?="[^"]*$)/,h=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,d={namedNode:function(t){return new f(t)},blankNode:function(t){return new m(t||"n3-"+c++)},variable:function(t){return new b(t)},literal:function(t,e){if("string"==typeof e)return new g(`"${t}"@${e.toLowerCase()}`);let n=e?e.value:"";return""===n&&("boolean"==typeof t?n=a.boolean:"number"==typeof t&&(Number.isFinite(t)?n=Number.isInteger(t)?a.integer:a.double:(n=a.double,Number.isNaN(t)||(t=t>0?"INF":"-INF")))),new g(""===n||n===a.string?`"${t}"`:`"${t}"^^${n}`)},defaultGraph:function(){return l},quad:x,triple:x};n.default=d;class p{constructor(t){this.id=t}get value(){return this.id}equals(t){return t instanceof p?this.id===t.id:!!t&&this.termType===t.termType&&this.value===t.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}n.Term=p;class f extends p{get termType(){return"NamedNode"}}n.NamedNode=f;class g extends p{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const t=this.id;let e=t.lastIndexOf('"')+1;return e`"${e.replace(/"/g,'""')}`)}function w(t){return t.replace(u,(t,e)=>`"${e.replace(/""/g,'"')}`)}function x(t,e,n,i){return new v(t,e,n,i)}n.Triple=n.Quad=v},{"./IRIs":34,"./N3Util":41}],36:[function(t,e,n){(function(e){(function(){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=s(t("./IRIs")),r=s(t("queue-microtask"));function s(t){return t&&t.__esModule?t:{default:t}}const{xsd:o}=i.default,a=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,l={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},c=/[\x00-\x20<>\\"\{\}\|\^\`]/,u={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},h=/$0^/;n.default=class{constructor(t){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(t=t||{}).lineMode){this._n3Mode=!1;for(const t in this)!(t in u)&&this[t]instanceof RegExp&&(this[t]=h)}else this._n3Mode=!1!==t.n3;this._comments=!!t.comments,this._literalClosingPos=0}_tokenizeToEnd(t,e){let n=this._input,i=n.length;for(;;){let t,a;for(;t=this._newline.exec(n);)this._comments&&(a=this._comment.exec(t[0]))&&r("comment",a[1],"",this._line,t[0].length),n=n.substr(t[0].length,n.length),i=n.length,this._line++;if(!t&&(t=this._whitespace.exec(n))&&(n=n.substr(t[0].length,n.length)),this._endOfFile.test(n))return e&&(this._comments&&(a=this._comment.exec(n))&&r("comment",a[1],"",this._line,n.length),n=null,r("eof","","",this._line,0)),this._input=n;const l=this._line,u=n[0];let h="",d="",p="",f=null,g=0,m=!1;switch(u){case"^":if(n.length<3)break;if("^"!==n[1]){this._n3Mode&&(g=1,h="^");break}if(this._previousMarker="^^",n=n.substr(2),"<"!==n[0]){m=!0;break}case"<":if(f=this._unescapedIri.exec(n))h="IRI",d=f[1];else if(f=this._iri.exec(n)){if(d=this._unescape(f[1]),null===d||c.test(d))return s(this);h="IRI"}else n.length>1&&"<"===n[1]?(h="<<",g=2):this._n3Mode&&n.length>1&&"="===n[1]&&(h="inverse",g=2,d=">");break;case">":n.length>1&&">"===n[1]&&(h=">>",g=2);break;case"_":((f=this._blank.exec(n))||e&&(f=this._blank.exec(`${n} `)))&&(h="blank",p="_",d=f[1]);break;case'"':if(f=this._simpleQuotedString.exec(n))d=f[1];else if(({value:d,matchLength:g}=this._parseLiteral(n)),null===d)return s(this);(null!==f||0!==g)&&(h="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(f=this._simpleApostropheString.exec(n))d=f[1];else if(({value:d,matchLength:g}=this._parseLiteral(n)),null===d)return s(this);(null!==f||0!==g)&&(h="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(f=this._variable.exec(n))&&(h="var",d=f[0]);break;case"@":"literal"===this._previousMarker&&(f=this._langcode.exec(n))?(h="langcode",d=f[1]):(f=this._keyword.exec(n))&&(h=f[0]);break;case".":if(1===n.length?e:n[1]<"0"||n[1]>"9"){h=".",g=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(f=this._number.exec(n)||e&&(f=this._number.exec(`${n} `)))&&(h="literal",d=f[0],p="string"==typeof f[1]?o.double:"string"==typeof f[2]?o.decimal:o.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(f=this._sparqlKeyword.exec(n))?h=f[0].toUpperCase():m=!0;break;case"f":case"t":(f=this._boolean.exec(n))?(h="literal",d=f[0],p=o.boolean):m=!0;break;case"a":(f=this._shortPredicates.exec(n))?(h="abbreviation",d="a"):m=!0;break;case"=":this._n3Mode&&n.length>1&&(h="abbreviation",">"!==n[1]?(g=1,d="="):(g=2,d=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(g=1,h=u);break;default:m=!0}if(m&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(f=this._prefix.exec(n))?((f=this._prefixed.exec(n))||e&&(f=this._prefixed.exec(`${n} `)))&&(h="prefixed",p=f[1]||"",d=this._unescape(f[2])):(h="prefix",d=f[1]||"")),"^^"===this._previousMarker)switch(h){case"prefixed":h="type";break;case"IRI":h="typeIRI";break;default:h=""}if(!h)return e||!/^'''|^"""/.test(n)&&/\n|\r/.test(n)?s(this):this._input=n;const b=g||f[0].length,y=r(h,d,p,l,b);this.previousToken=y,this._previousMarker=h,n=n.substr(b,n.length)}function r(e,r,s,o,a){const l=n?i-n.length:i,c={type:e,value:r,prefix:s,line:o,start:l,end:l+a};return t(null,c),c}function s(e){t(e._syntaxError(/^\S*/.exec(n)[0]))}}_unescape(t){let e=!1;const n=t.replace(a,(t,n,i,r)=>{if("string"==typeof n)return String.fromCharCode(Number.parseInt(n,16));if("string"==typeof i){let t=Number.parseInt(i,16);return t<=65535?String.fromCharCode(Number.parseInt(i,16)):String.fromCharCode(55296+((t-=65536)>>10),56320+(1023&t))}return r in l?l[r]:(e=!0,"")});return e?null:n}_parseLiteral(t){if(t.length>=3){const e=t.match(/^(?:"""|"|'''|'|)/)[0],n=e.length;let i=Math.max(this._literalClosingPos,n);for(;(i=t.indexOf(e,i))>0;){let e=0;for(;"\\"===t[i-e-1];)e++;if(e%2==0){const e=t.substring(n,i),r=e.split(/\r\n|\r|\n/).length-1,s=i+n;if(1===n&&0!==r||3===n&&this._lineMode)break;return this._line+=r,{value:this._unescape(e),matchLength:s}}i++}this._literalClosingPos=t.length-n+1}return{value:"",matchLength:0}}_syntaxError(t){this._input=null;const e=new Error(`Unexpected "${t}" on line ${this._line}.`);return e.context={token:void 0,line:this._line,previousToken:this.previousToken},e}_readStartingBom(t){return t.startsWith("\ufeff")?t.substr(1):t}tokenize(t,n){if(this._line=1,"string"==typeof t){if(this._input=this._readStartingBom(t),"function"!=typeof n){const t=[];let e;if(this._tokenizeToEnd((n,i)=>n?e=n:t.push(i),!0),e)throw e;return t}(0,r.default)(()=>this._tokenizeToEnd(n,!0))}else this._pendingBuffer=null,"function"==typeof t.setEncoding&&t.setEncoding("utf8"),t.on("data",t=>{null!==this._input&&0!==t.length&&(this._pendingBuffer&&(t=e.concat([this._pendingBuffer,t]),this._pendingBuffer=null),128&t[t.length-1]?this._pendingBuffer=t:(void 0===this._input?this._input=this._readStartingBom("string"==typeof t?t:t.toString()):this._input+=t,this._tokenizeToEnd(n,!1)))}),t.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(n,!0)}),t.on("error",n)}}}).call(this)}).call(this,t("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=o(t("./N3Lexer")),r=o(t("./N3DataFactory")),s=o(t("./IRIs"));function o(t){return t&&t.__esModule?t:{default:t}}let a=0;class l{constructor(t){this._contextStack=[],this._graph=null,this._setBase((t=t||{}).baseIRI),t.factory&&u(this,t.factory);const e="string"==typeof t.format?t.format.match(/\w*$/)[0].toLowerCase():"",n=/turtle/.test(e),r=/trig/.test(e),s=/triple/.test(e),o=/quad/.test(e),a=this._n3Mode=/n3/.test(e),l=s||o;(this._supportsNamedGraphs=!(n||a))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(n||r||s||a),this._supportsRDFStar=""===e||/star|\*$/.test(e),l&&(this._resolveRelativeIRI=t=>null),this._blankNodePrefix="string"!=typeof t.blankNodePrefix?"":t.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=t.lexer||new i.default({lineMode:l,n3:a}),this._explicitQuantifiers=!!t.explicitQuantifiers}static _resetBlankNodePrefix(){a=0}_setBase(t){if(t){const e=t.indexOf("#");e>=0&&(t=t.substr(0,e)),this._base=t,this._basePath=t.indexOf("/")<0?t:t.replace(/[^\/?]*(?:\?.*)?$/,""),t=t.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=t[0],this._baseScheme=t[1]}else this._base="",this._basePath=""}_saveContext(t,e,n,i,r){const s=this._n3Mode;this._contextStack.push({subject:n,predicate:i,object:r,graph:e,type:t,inverse:!!s&&this._inversePredicate,blankPrefix:s?this._prefixes._:"",quantified:s?this._quantified:null}),s&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const t=this._contextStack.pop(),e=this._n3Mode;this._subject=t.subject,this._predicate=t.predicate,this._object=t.object,this._graph=t.graph,e&&(this._inversePredicate=t.inverse,this._prefixes._=t.blankPrefix,this._quantified=t.quantified)}_readInTopContext(t){switch(t.type){case"eof":return null!==this._graph?this._error("Unclosed graph",t):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(t)}}_readEntity(t,e){let n;switch(t.type){case"IRI":case"typeIRI":const e=this._resolveIRI(t.value);if(null===e)return this._error("Invalid IRI",t);n=this._namedNode(e);break;case"type":case"prefixed":const i=this._prefixes[t.prefix];if(void 0===i)return this._error(`Undefined prefix "${t.prefix}:"`,t);n=this._namedNode(i+t.value);break;case"blank":n=this._blankNode(this._prefixes[t.prefix]+t.value);break;case"var":n=this._variable(t.value.substr(1));break;default:return this._error(`Expected entity but got ${t.type}`,t)}return!e&&this._n3Mode&&n.id in this._quantified&&(n=this._quantified[n.id]),n}_readSubject(t){switch(this._predicate=null,t.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",t);case"}":return this._readPunctuation(t);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',t);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',t);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",t);if(0===t.prefix.length)return this._literalValue=t.value,this._completeSubjectLiteral;this._subject=this._literal(t.value,this._namedNode(t.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",t);default:if(void 0===(this._subject=this._readEntity(t)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(t){const e=t.type;switch(e){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[t.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${e}`,t):(this._subject=null,"]"===e?this._readBlankNodeTail(t):this._readPunctuation(t));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",t);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",t);default:if(void 0===(this._predicate=this._readEntity(t)))return}return this._readObject}_readObject(t){switch(t.type){case"literal":if(0===t.prefix.length)return this._literalValue=t.value,this._readDataTypeOrLang;this._object=this._literal(t.value,this._namedNode(t.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",t);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",t);default:if(void 0===(this._object=this._readEntity(t)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(t){return"{"===t.type?this._readGraph(t):this._readPredicate(t)}_readGraph(t){return"{"!==t.type?this._error(`Expected graph but got ${t.type}`,t):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(t){return"]"===t.type?(this._subject=null,this._readBlankNodeTail(t)):(this._predicate=null,this._readPredicate(t))}_readBlankNodeTail(t){if("]"!==t.type)return this._readBlankNodePunctuation(t);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const e=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:e?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(t){switch(t.type){case".":case"}":return this._subject=null,this._readPunctuation(t);default:return this._readPredicate(t)}}_readListItem(t){let e=null,n=null,i=this._readListItem;const r=this._subject,s=this._contextStack,o=s[s.length-1];switch(t.type){case"[":this._saveContext("blank",this._graph,n=this._blankNode(),this.RDF_FIRST,this._subject=e=this._blankNode()),i=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,n=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==s.length&&"list"===s[s.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(i=this._readPredicate,this._subject===this.RDF_NIL)return i}else if(i=this._getContextEndReader(),this._object===this.RDF_NIL)return i;n=this.RDF_NIL;break;case"literal":0===t.prefix.length?(this._literalValue=t.value,i=this._readListItemDataTypeOrLang):(e=this._literal(t.value,this._namedNode(t.prefix)),i=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",t);default:if(void 0===(e=this._readEntity(t)))return}if(null===n&&(this._subject=n=this._blankNode()),null===r?null===o.predicate?o.subject=n:o.object=n:this._emit(r,this.RDF_REST,n,this._graph),null!==e){if(this._n3Mode&&("IRI"===t.type||"prefixed"===t.type))return this._saveContext("item",this._graph,n,this.RDF_FIRST,e),this._subject=e,this._predicate=null,this._getPathReader(this._readListItem);this._emit(n,this.RDF_FIRST,e,this._graph)}return i}_readDataTypeOrLang(t){return this._completeObjectLiteral(t,!1)}_readListItemDataTypeOrLang(t){return this._completeObjectLiteral(t,!0)}_completeLiteral(t){let e=this._literal(this._literalValue);switch(t.type){case"type":case"typeIRI":const n=this._readEntity(t);if(void 0===n)return;e=this._literal(this._literalValue,n),t=null;break;case"langcode":e=this._literal(this._literalValue,t.value),t=null}return{token:t,literal:e}}_completeSubjectLiteral(t){return this._subject=this._completeLiteral(t).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(t,e){const n=this._completeLiteral(t);if(n)return this._object=n.literal,e&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===n.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(n.token))}_readFormulaTail(t){return"}"!==t.type?this._readPunctuation(t):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(t){let e,n=this._graph;const i=this._subject,r=this._inversePredicate;switch(t.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",t);if(this._n3Mode)return this._readFormulaTail(t);this._graph=null;case".":this._subject=null,e=this._contextStack.length?this._readSubject:this._readInTopContext,r&&(this._inversePredicate=!1);break;case";":e=this._readPredicate;break;case",":e=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(n=this._readEntity(t))){e=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,t)}if(null!==i){const t=this._predicate,e=this._object;r?this._emit(e,t,i,n):this._emit(i,t,e,n)}return e}_readBlankNodePunctuation(t){let e;switch(t.type){case";":e=this._readPredicate;break;case",":e=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,t)}return this._emit(this._subject,this._predicate,this._object,this._graph),e}_readQuadPunctuation(t){return"."!==t.type?this._error("Expected dot to follow quad",t):this._readInTopContext}_readPrefix(t){return"prefix"!==t.type?this._error("Expected prefix to follow @prefix",t):(this._prefix=t.value,this._readPrefixIRI)}_readPrefixIRI(t){if("IRI"!==t.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,t);const e=this._readEntity(t);return this._prefixes[this._prefix]=e.value,this._prefixCallback(this._prefix,e),this._readDeclarationPunctuation}_readBaseIRI(t){const e="IRI"===t.type&&this._resolveIRI(t.value);return e?(this._setBase(e),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",t)}_readNamedGraphLabel(t){switch(t.type){case"IRI":case"blank":case"prefixed":return this._readSubject(t),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",t)}}_readNamedGraphBlankLabel(t){return"]"!==t.type?this._error("Invalid graph label",t):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(t){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(t)):"."!==t.type?this._error("Expected declaration to end with a dot",t):this._readInTopContext}_readQuantifierList(t){let e;switch(t.type){case"IRI":case"prefixed":if(void 0!==(e=this._readEntity(t,!0)))break;default:return this._error(`Unexpected ${t.type}`,t)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,e,this.QUANTIFIERS_GRAPH)):this._quantified[e.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(t){return","===t.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(t))}_getPathReader(t){return this._afterPath=t,this._readPath}_readPath(t){switch(t.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const e=this._contextStack,n=e.length&&e[e.length-1];if(n&&"item"===n.type){const t=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,t,this._graph)}return this._afterPath(t)}}_readForwardPath(t){let e,n;const i=this._blankNode();if(void 0!==(n=this._readEntity(t)))return null===this._predicate?(e=this._subject,this._subject=i):(e=this._object,this._object=i),this._emit(e,n,i,this._graph),this._readPath}_readBackwardPath(t){const e=this._blankNode();let n,i;if(void 0!==(n=this._readEntity(t)))return null===this._predicate?(i=this._subject,this._subject=e):(i=this._object,this._object=e),this._emit(e,n,i,this._graph),this._readPath}_readRDFStarTailOrGraph(t){return">>"!==t.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(t))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,t):this._readRDFStarTail(t)}_readRDFStarTail(t){if(">>"!==t.type)return this._error(`Expected >> but got ${t.type}`,t);const e=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=e,this._readPredicate):(this._object=e,this._getContextEndReader())}_getContextEndReader(){const t=this._contextStack;if(!t.length)return this._readPunctuation;switch(t[t.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(t,e,n,i){this._callback(null,this._quad(t,e,n,i||this.DEFAULTGRAPH))}_error(t,e){const n=new Error(`${t} on line ${e.line}.`);n.context={token:e,line:e.line,previousToken:this._lexer.previousToken},this._callback(n),this._callback=c}_resolveIRI(t){return/^[a-z][a-z0-9+.-]*:/i.test(t)?t:this._resolveRelativeIRI(t)}_resolveRelativeIRI(t){if(!t.length)return this._base;switch(t[0]){case"#":return this._base+t;case"?":return this._base.replace(/(?:\?.*)?$/,t);case"/":return("/"===t[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(t);default:return/^[^/:]*:/.test(t)?null:this._removeDotSegments(this._basePath+t)}}_removeDotSegments(t){if(!/(^|\/)\.\.?($|[/#?])/.test(t))return t;const e=t.length;let n="",i=-1,r=-1,s=0,o="/";for(;i=r&&(n=n.substr(0,s)),"/"!==o)return`${n}/${t.substr(i+1)}`;s=i+1}}}o=t[++i]}return n+t.substring(s)}parse(t,e,n){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${a++}_`,this._prefixCallback=n||c,this._inversePredicate=!1,this._quantified=Object.create(null),!e){const e=[];let n;if(this._callback=(t,i)=>{t?n=t:i&&e.push(i)},this._lexer.tokenize(t).every(t=>this._readCallback=this._readCallback(t)),n)throw n;return e}this._callback=e,this._lexer.tokenize(t,(t,e)=>{null!==t?(this._callback(t),this._callback=c):this._readCallback&&(this._readCallback=this._readCallback(e))})}}function c(){}function u(t,e){const n=e.namedNode;t._namedNode=n,t._blankNode=e.blankNode,t._literal=e.literal,t._variable=e.variable,t._quad=e.quad,t.DEFAULTGRAPH=e.defaultGraph(),t.RDF_FIRST=n(s.default.rdf.first),t.RDF_REST=n(s.default.rdf.rest),t.RDF_NIL=n(s.default.rdf.nil),t.N3_FORALL=n(s.default.r.forAll),t.N3_FORSOME=n(s.default.r.forSome),t.ABBREVIATIONS={a:n(s.default.rdf.type),"=":n(s.default.owl.sameAs),">":n(s.default.log.implies)},t.QUANTIFIERS_GRAPH=n("urn:n3:quantifiers")}n.default=l,u(l.prototype,r.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}(t("./N3DataFactory")),s=t("readable-stream"),o=(i=t("./IRIs"))&&i.__esModule?i:{default:i};function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}class l{constructor(t,e){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!e&&t&&!t[0]&&(e=t,t=null),this._factory=(e=e||{}).factory||r.default,t&&this.addQuads(t)}get size(){let t=this._size;if(null!==t)return t;t=0;const e=this._graphs;let n,i;for(const r in e)for(const s in n=e[r].subjects)for(const e in i=n[s])t+=Object.keys(i[e]).length;return this._size=t}_addToIndex(t,e,n,i){const r=t[e]||(t[e]={}),s=r[n]||(r[n]={}),o=i in s;return o||(s[i]=null),!o}_removeFromIndex(t,e,n,i){const r=t[e],s=r[n];delete s[i];for(const o in s)return;delete r[n];for(const o in r)return;delete t[e]}*_findInIndex(t,e,n,i,s,o,a,l){let c,u,h;const d=!e+!n+!i>1?Object.keys(this._ids):this._entities,p=(0,r.termFromId)(l,this._factory);e&&((c=t,t={})[e]=c[e]);for(const f in t){const e=d[f];if(u=t[f]){n&&((c=u,u={})[n]=c[n]);for(const t in u){const n=d[t];if(h=u[t]){const t=i?i in h?[i]:[]:Object.keys(h);for(let i=0;i{n in e||(e[n]=!0,t((0,r.termFromId)(this._entities[n],this._factory)))}}add(t){return this.addQuad(t),this}addQuad(t,e,n,i){e||(i=t.graph,n=t.object,e=t.predicate,t=t.subject),t=(0,r.termToId)(t),e=(0,r.termToId)(e),n=(0,r.termToId)(n),i=(0,r.termToId)(i);let s=this._graphs[i];s||(s=this._graphs[i]={subjects:{},predicates:{},objects:{}},Object.freeze(s));const o=this._ids,a=this._entities;t=o[t]||(o[a[++this._id]=t]=this._id),e=o[e]||(o[a[++this._id]=e]=this._id),n=o[n]||(o[a[++this._id]=n]=this._id);const l=this._addToIndex(s.subjects,t,e,n);return this._addToIndex(s.predicates,e,n,t),this._addToIndex(s.objects,n,t,e),this._size=null,l}addQuads(t){for(let e=0;e{this.addQuad(t)}),t}removeQuad(t,e,n,i){e||(i=t.graph,n=t.object,e=t.predicate,t=t.subject),t=(0,r.termToId)(t),e=(0,r.termToId)(e),n=(0,r.termToId)(n),i=(0,r.termToId)(i);const s=this._ids,o=this._graphs;let a,l,c;if(!((t=s[t])&&(e=s[e])&&(n=s[n])&&(a=o[i])&&(l=a.subjects[t])&&(c=l[e])&&n in c))return!1;for(t in this._removeFromIndex(a.subjects,t,e,n),this._removeFromIndex(a.predicates,e,n,t),this._removeFromIndex(a.objects,n,t,e),null!==this._size&&this._size--,a.subjects)return!0;return delete o[i],!0}removeQuads(t){for(let e=0;e{this.removeQuad(t)}),t}removeMatches(t,e,n,i){const r=new s.Readable({objectMode:!0});return r._read=()=>{for(const s of this.readQuads(t,e,n,i))r.push(s);r.push(null)},this.remove(r)}deleteGraph(t){return this.removeMatches(null,null,null,t)}getQuads(t,e,n,i){return[...this.readQuads(t,e,n,i)]}*readQuads(t,e,n,i){t=t&&(0,r.termToId)(t),e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._getGraphs(i),o=this._ids;let a,l,u,h;if(!(c(t)&&!(l=o[t])||c(e)&&!(u=o[e])||c(n)&&!(h=o[n])))for(const r in s)(a=s[r])&&(l?h?yield*this._findInIndex(a.objects,h,l,u,"object","subject","predicate",r,null,!0):yield*this._findInIndex(a.subjects,l,u,null,"subject","predicate","object",r,null,!0):u?yield*this._findInIndex(a.predicates,u,h,null,"predicate","object","subject",r,null,!0):h?yield*this._findInIndex(a.objects,h,null,null,"object","subject","predicate",r,null,!0):yield*this._findInIndex(a.subjects,null,null,null,"subject","predicate","object",r,null,!0))}match(t,e,n,i){return new u(this,t,e,n,i)}countQuads(t,e,n,i){t=t&&(0,r.termToId)(t),e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._getGraphs(i),o=this._ids;let a,l,u,h,d=0;if(c(t)&&!(l=o[t])||c(e)&&!(u=o[e])||c(n)&&!(h=o[n]))return 0;for(const r in s)(a=s[r])&&(d+=t?n?this._countInIndex(a.objects,h,l,u):this._countInIndex(a.subjects,l,u,h):e?this._countInIndex(a.predicates,u,h,l):this._countInIndex(a.objects,h,l,u));return d}forEach(t,e,n,i,r){this.some(e=>(t(e),!1),e,n,i,r)}every(t,e,n,i,r){let s=!1;const o=!this.some(e=>(s=!0,!t(e)),e,n,i,r);return s&&o}some(t,e,n,i,r){for(const s of this.readQuads(e,n,i,r))if(t(s))return!0;return!1}getSubjects(t,e,n){const i=[];return this.forSubjects(t=>{i.push(t)},t,e,n),i}forSubjects(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.predicates,l,u,t):this._loopByKey1(a.subjects,l,t):u?this._loopByKey0(a.objects,u,t):this._loop(a.subjects,t))}getPredicates(t,e,n){const i=[];return this.forPredicates(t=>{i.push(t)},t,e,n),i}forPredicates(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.objects,u,l,t):this._loopByKey0(a.subjects,l,t):u?this._loopByKey1(a.predicates,u,t):this._loop(a.predicates,t))}getObjects(t,e,n){const i=[];return this.forObjects(t=>{i.push(t)},t,e,n),i}forObjects(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.subjects,l,u,t):this._loopByKey1(a.objects,l,t):u?this._loopByKey0(a.predicates,u,t):this._loop(a.objects,t))}getGraphs(t,e,n){const i=[];return this.forGraphs(t=>{i.push(t)},t,e,n),i}forGraphs(t,e,n,i){for(const r in this._graphs)this.some(e=>(t(e.graph),!0),e,n,i,r)}createBlankNode(t){let e,n;if(t)for(e=t=`_:${t}`,n=1;this._ids[e];)e=t+n++;else do{e="_:b"+this._blankNodeIndex++}while(this._ids[e]);return this._ids[e]=++this._id,this._entities[this._id]=e,this._factory.blankNode(e.substr(2))}extractLists({remove:t=!1,ignoreErrors:e=!1}={}){const n={},i=e?()=>!0:(t,e)=>{throw new Error(`${t.value} ${e}`)},r=this.getQuads(null,o.default.rdf.rest,o.default.rdf.nil,null),s=t?[...r]:[];return r.forEach(e=>{const r=[];let a,l,c=!1;const u=e.graph;let h=e.subject;for(;h&&!c;){const t=this.getQuads(null,null,h,null),e=this.getQuads(h,null,null,null);let n,d=null,p=null,f=null;for(let r=0;r{switch(t){case"data":e=i;break;case"end":n=i}}},(t,e)=>{t&&this.emit("error",t)||e&&this.push(e)},(t,e)=>{this.emit("prefix",t,e)}),this._transform=(t,n,i)=>{e(t),i()},this._flush=t=>{n(),t()}}import(t){return t.on("data",t=>{this.write(t)}),t.on("end",()=>{this.end()}),t.on("error",t=>{this.emit("error",t)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=t("readable-stream"),s=(i=t("./N3Writer"))&&i.__esModule?i:{default:i};n.default=class extends r.Transform{constructor(t){super({encoding:"utf8",writableObjectMode:!0});const e=this._writer=new s.default({write:(t,e,n)=>{this.push(t),n&&n()},end:t=>{this.push(null),t&&t()}},t);this._transform=(t,n,i)=>{e.addQuad(t,i)},this._flush=t=>{e.end(t)}}import(t){return t.on("data",t=>{this.write(t)}),t.on("end",()=>{this.end()}),t.on("error",t=>{this.emit("error",t)}),t.on("prefix",(t,e)=>{this._writer.addPrefix(t,e)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.inDefaultGraph=function(t){return s(t.graph)},n.isBlankNode=function(t){return!!t&&"BlankNode"===t.termType},n.isDefaultGraph=s,n.isLiteral=function(t){return!!t&&"Literal"===t.termType},n.isNamedNode=function(t){return!!t&&"NamedNode"===t.termType},n.isVariable=function(t){return!!t&&"Variable"===t.termType},n.prefix=function(t,e){return o({"":t.value||t},e)("")},n.prefixes=o;var i,r=(i=t("./N3DataFactory"))&&i.__esModule?i:{default:i};function s(t){return!!t&&"DefaultGraph"===t.termType}function o(t,e){const n=Object.create(null);for(const r in t)i(r,t[r]);function i(t,i){if("string"==typeof i){const r=Object.create(null);n[t]=t=>r[t]||(r[t]=e.namedNode(i+t))}else if(!(t in n))throw new Error(`Unknown prefix: ${t}`);return n[t]}return e=e||r.default,i}},{"./N3DataFactory":35}],42:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=(i=t("./IRIs"))&&i.__esModule?i:{default:i},s=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}(t("./N3DataFactory")),o=t("./N3Util");function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}const l=s.default.defaultGraph(),{rdf:c,xsd:u}=r.default,h=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,d=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,p={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class f extends s.Term{equals(){return!1}}function g(t){let e=p[t];return void 0===e&&(1===t.length?(e=t.charCodeAt(0).toString(16),e="\\u0000".substr(0,6-e.length)+e):(e=(1024*(t.charCodeAt(0)-55296)+t.charCodeAt(1)+9216).toString(16),e="\\U00000000".substr(0,10-e.length)+e)),e}function m(t){return t.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}n.default=class{constructor(t,e){if(this._prefixRegex=/$0^/,t&&"function"!=typeof t.write&&(e=t,t=null),this._lists=(e=e||{}).lists,t)this._outputStream=t,this._endStream=void 0===e.end||!!e.end;else{let t="";this._outputStream={write(e,n,i){t+=e,i&&i()},end:e=>{e&&e(null,t)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(e.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=l,this._prefixIRIs=Object.create(null),e.prefixes&&this.addPrefixes(e.prefixes),e.baseIRI&&(this._baseMatcher=new RegExp(`^${m(e.baseIRI)}${e.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=e.baseIRI.length))}get _inDefaultGraph(){return l.equals(this._graph)}_write(t,e){this._outputStream.write(t,"utf8",e)}_writeQuad(t,e,n,i,r){try{i.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(l.equals(i)?"":`${this._encodeIriOrBlank(i)} {\n`)),this._graph=i,this._subject=null),t.equals(this._subject)?e.equals(this._predicate)?this._write(`, ${this._encodeObject(n)}`,r):this._write(`;\n ${this._encodePredicate(this._predicate=e)} ${this._encodeObject(n)}`,r):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=t)} ${this._encodePredicate(this._predicate=e)} ${this._encodeObject(n)}`,r)}catch(s){r&&r(s)}}_writeQuadLine(t,e,n,i,r){delete this._prefixMatch,this._write(this.quadToString(t,e,n,i),r)}quadToString(t,e,n,i){return`${this._encodeSubject(t)} ${this._encodeIriOrBlank(e)} ${this._encodeObject(n)}${i&&i.value?` ${this._encodeIriOrBlank(i)} .\n`:" .\n"}`}quadsToString(t){return t.map(t=>this.quadToString(t.subject,t.predicate,t.object,t.graph)).join("")}_encodeSubject(t){return"Quad"===t.termType?this._encodeQuad(t):this._encodeIriOrBlank(t)}_encodeIriOrBlank(t){if("NamedNode"!==t.termType)return this._lists&&t.value in this._lists&&(t=this.list(this._lists[t.value])),"id"in t?t.id:`_:${t.value}`;let e=t.value;this._baseMatcher&&this._baseMatcher.test(e)&&(e=e.substr(this._baseLength)),h.test(e)&&(e=e.replace(d,g));const n=this._prefixRegex.exec(e);return n?n[1]?this._prefixIRIs[n[1]]+n[2]:e:`<${e}>`}_encodeLiteral(t){let e=t.value;if(h.test(e)&&(e=e.replace(d,g)),t.language)return`"${e}"@${t.language}`;if(this._lineMode){if(t.datatype.value===u.string)return`"${e}"`}else switch(t.datatype.value){case u.string:return`"${e}"`;case u.boolean:if("true"===e||"false"===e)return e;break;case u.integer:if(/^[+-]?\d+$/.test(e))return e;break;case u.decimal:if(/^[+-]?\d*\.\d+$/.test(e))return e;break;case u.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(e))return e}return`"${e}"^^${this._encodeIriOrBlank(t.datatype)}`}_encodePredicate(t){return t.value===c.type?"a":this._encodeIriOrBlank(t)}_encodeObject(t){switch(t.termType){case"Quad":return this._encodeQuad(t);case"Literal":return this._encodeLiteral(t);default:return this._encodeIriOrBlank(t)}}_encodeQuad({subject:t,predicate:e,object:n,graph:i}){return`<<${this._encodeSubject(t)} ${this._encodePredicate(e)} ${this._encodeObject(n)}${(0,o.isDefaultGraph)(i)?"":` ${this._encodeIriOrBlank(i)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(t,e,n,i,r){void 0===n?this._writeQuad(t.subject,t.predicate,t.object,t.graph,e):"function"==typeof i?this._writeQuad(t,e,n,l,i):this._writeQuad(t,e,n,i||l,r)}addQuads(t){for(let e=0;e.\n`)}if(n){let t="",e="";for(const n in this._prefixIRIs)t+=t?`|${n}`:n,e+=(e?"|":"")+this._prefixIRIs[n];t=m(t),this._prefixRegex=new RegExp(`^(?:${e})[^/]*$|^(${t})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(n?"\n":"",e)}blank(t,e){let n,i,r=t;switch(void 0===t?r=[]:t.termType?r=[{predicate:t,object:e}]:"length"in t||(r=[t]),i=r.length){case 0:return new f("[]");case 1:if(n=r[0],!(n.object instanceof f))return new f(`[ ${this._encodePredicate(n.predicate)} ${this._encodeObject(n.object)} ]`);default:let e="[";for(let s=0;s{e=null,t(n,i)});if(this._endStream)try{return this._outputStream.end(e)}catch(n){}e&&e()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BlankNode",{enumerable:!0,get:function(){return u.BlankNode}}),Object.defineProperty(n,"DataFactory",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(n,"DefaultGraph",{enumerable:!0,get:function(){return u.DefaultGraph}}),Object.defineProperty(n,"Lexer",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(n,"Literal",{enumerable:!0,get:function(){return u.Literal}}),Object.defineProperty(n,"NamedNode",{enumerable:!0,get:function(){return u.NamedNode}}),Object.defineProperty(n,"Parser",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(n,"Quad",{enumerable:!0,get:function(){return u.Quad}}),Object.defineProperty(n,"Store",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(n,"StreamParser",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(n,"StreamWriter",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(n,"Term",{enumerable:!0,get:function(){return u.Term}}),Object.defineProperty(n,"Triple",{enumerable:!0,get:function(){return u.Triple}}),n.Util=void 0,Object.defineProperty(n,"Variable",{enumerable:!0,get:function(){return u.Variable}}),Object.defineProperty(n,"Writer",{enumerable:!0,get:function(){return s.default}}),n.default=void 0,Object.defineProperty(n,"termFromId",{enumerable:!0,get:function(){return u.termFromId}}),Object.defineProperty(n,"termToId",{enumerable:!0,get:function(){return u.termToId}});var i=p(t("./N3Lexer")),r=p(t("./N3Parser")),s=p(t("./N3Writer")),o=p(t("./N3Store")),a=p(t("./N3StreamParser")),l=p(t("./N3StreamWriter")),c=d(t("./N3Util"));n.Util=c;var u=d(t("./N3DataFactory"));function h(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(h=function(t){return t?n:e})(t)}function d(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=h(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}function p(t){return t&&t.__esModule?t:{default:t}}n.default={Lexer:i.default,Parser:r.default,Writer:s.default,Store:o.default,StreamParser:a.default,StreamWriter:l.default,Util:c,DataFactory:u.default,Term:u.Term,NamedNode:u.NamedNode,Literal:u.Literal,BlankNode:u.BlankNode,Variable:u.Variable,DefaultGraph:u.DefaultGraph,Quad:u.Quad,Triple:u.Triple,termFromId:u.termFromId,termToId:u.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(t,e,n){var i,r,s=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(t){if(i===setTimeout)return setTimeout(t,0);if((i===o||!i)&&setTimeout)return i=setTimeout,setTimeout(t,0);try{return i(t,0)}catch(e){try{return i.call(null,t,0)}catch(n){return i.call(this,t,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:o}catch(t){i=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(t){r=a}}();var c,u=[],h=!1,d=-1;function p(){!h||!c||(h=!1,c.length?u=c.concat(u):d=-1,u.length&&f())}function f(){if(!h){var t=l(p);h=!0;for(var e=u.length;e;){for(c=u,u=[];++d1)for(var n=1;n(n||(n=Promise.resolve())).then(t).catch(t=>setTimeout(()=>{throw t},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(t,e,n){e.exports=t("./lib")},{"./lib":55}],47:[function(t,e,n){"use strict";e.exports=class t{constructor(t,e=new Map,n=0){this.prefix=t,this._existing=e,this.counter=n}clone(){const{prefix:e,_existing:n,counter:i}=this;return new t(e,new Map(n),i)}getId(t){const e=t&&this._existing.get(t);if(e)return e;const n=this.prefix+this.counter;return this.counter++,t&&this._existing.set(t,n),n}hasId(t){return this._existing.has(t)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(t,e,n){"use strict";t("setimmediate");const r=self.crypto||self.msCrypto;e.exports=class{constructor(t){if(!r||!r.subtle)throw new Error("crypto.subtle not found.");if("sha256"===t)this.algorithm={name:"SHA-256"};else{if("sha1"!==t)throw new Error(`Unsupport algorithm "${t}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(t){this._content+=t}digest(){var t=this;return i(function*(){const e=(new TextEncoder).encode(t._content),n=new Uint8Array(yield r.subtle.digest(t.algorithm,e));let i="";for(let t=0;t]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),e.exports=class t{static parse(t){const e=[],n={},h=t.split(c.eoln);let p=0;for(const f of h){if(p++,c.empty.test(f))continue;const t=f.match(c.quad);if(null===t)throw new Error("N-Quads parse error on line "+p+".");const h={subject:null,predicate:null,object:null,graph:null};if(h.subject=void 0!==t[1]?{termType:s,value:t[1]}:{termType:o,value:t[2]},h.predicate={termType:s,value:t[3]},void 0!==t[4]?h.object={termType:s,value:t[4]}:void 0!==t[5]?h.object={termType:o,value:t[5]}:(h.object={termType:a,value:void 0,datatype:{termType:s}},void 0!==t[7]?h.object.datatype.value=t[7]:void 0!==t[8]?(h.object.datatype.value=i,h.object.language=t[8]):h.object.datatype.value=r,h.object.value=t[6].replace(d,function(t,e,n,i){if(e)switch(e){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(n)return String.fromCharCode(parseInt(n,16));if(i)throw new Error("Unsupported U escape")})),h.graph=void 0!==t[9]?{termType:s,value:t[9]}:void 0!==t[10]?{termType:o,value:t[10]}:{termType:l,value:""},h.graph.value in n){let t=!0;const i=n[h.graph.value];for(const e of i)if(u(e,h)){t=!1;break}t&&(i.push(h),e.push(h))}else n[h.graph.value]=[h],e.push(h)}return e}static serialize(e){Array.isArray(e)||(e=t.legacyDatasetToQuads(e));const n=[];for(const i of e)n.push(t.serializeQuad(i));return n.sort().join("")}static serializeQuad(t){const e=t.subject,n=t.object,a=t.graph;let l="";return l+=e.termType===s?`<${e.value}>`:`${e.value}`,l+=` <${t.predicate.value}> `,n.termType===s?l+=`<${n.value}>`:n.termType===o?l+=n.value:(l+=`"${c=n.value,c.replace(h,function(t){switch(t){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,n.datatype.value===i?n.language&&(l+=`@${n.language}`):n.datatype.value!==r&&(l+=`^^<${n.datatype.value}>`)),a.termType===s?l+=` <${a.value}>`:a.termType===o&&(l+=` ${a.value}`),l+=" .\n",l;var c}static legacyDatasetToQuads(t){const e=[],n={"blank node":o,IRI:s,literal:a};for(const c in t)t[c].forEach(t=>{const u={};for(const e in t){const o=t[e],l={termType:n[o.type],value:o.value};l.termType===a&&(l.datatype={termType:s},"datatype"in o&&(l.datatype.value=o.datatype),"language"in o?("datatype"in o||(l.datatype.value=i),l.language=o.language):"datatype"in o||(l.datatype.value=r)),u[e]=l}u.graph="@default"===c?{termType:l,value:""}:{termType:c.startsWith("_:")?o:s,value:c},e.push(u)});return e}};const h=/["\\\n\r]/g;const d=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(t,e,n){"use strict";e.exports=class{constructor(t){this.current=t.sort(),this.done=!1,this.dir=new Map;for(let e=0;ei)&&(a&&o>0&&n>t[o-1]||!a&&ot[o+1])&&(i=n,r=o)}if(null===i)this.done=!0;else{const n=e.get(i)?r-1:r+1;t[r]=t[n],t[n]=i;for(const r of t)r>i&&e.set(r,!e.get(r))}return n}}},{}],51:[function(t,e,n){(function(n){(function(){"use strict";const r=t("./IdentifierIssuer"),s=t("./MessageDigest"),o=t("./Permuter"),a=t("./NQuads");function l(t,e){return t.hashe.hash?1:0}e.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new r("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(t){var e=this;return i(function*(){e.quads=t;for(const r of t)e._addBlankNodeQuadInfo({quad:r,component:r.subject}),e._addBlankNodeQuadInfo({quad:r,component:r.object}),e._addBlankNodeQuadInfo({quad:r,component:r.graph});const n=new Map,i=[...e.blankNodeInfo.keys()];let s=0;for(const t of i)++s%100==0&&(yield e._yield()),yield e._hashAndTrackBlankNode({id:t,hashToBlankNodes:n});const o=[...n.keys()].sort(),c=[];for(const t of o){const i=n.get(t);i.length>1?c.push(i):e.canonicalIssuer.getId(i[0])}for(const t of c){const n=[];for(const i of t){if(e.canonicalIssuer.hasId(i))continue;const t=new r("_:b");t.getId(i);const s=yield e.hashNDegreeQuads(i,t);n.push(s)}n.sort(l);for(const t of n){const n=t.issuer.getOldIds();for(const t of n)e.canonicalIssuer.getId(t)}}const u=[];for(const t of e.quads){const n=vt({},t);n.subject=e._useCanonicalId({component:n.subject}),n.object=e._useCanonicalId({component:n.object}),n.graph=e._useCanonicalId({component:n.graph}),u.push(a.serializeQuad(n))}return u.sort(),u.join("")})()}hashFirstDegreeQuads(t){var e=this;return i(function*(){const n=[],i=e.blankNodeInfo.get(t),r=i.quads;for(const s of r){const i={subject:null,predicate:s.predicate,object:null,graph:null};i.subject=e.modifyFirstDegreeComponent(t,s.subject,"subject"),i.object=e.modifyFirstDegreeComponent(t,s.object,"object"),i.graph=e.modifyFirstDegreeComponent(t,s.graph,"graph"),n.push(a.serializeQuad(i))}n.sort();const o=new s(e.hashAlgorithm);for(const t of n)o.update(t);return i.hash=yield o.digest(),i.hash})()}hashRelatedBlankNode(t,e,n,r){var o=this;return i(function*(){let i;i=o.canonicalIssuer.hasId(t)?o.canonicalIssuer.getId(t):n.hasId(t)?n.getId(t):o.blankNodeInfo.get(t).hash;const a=new s(o.hashAlgorithm);return a.update(r),"g"!==r&&a.update(o.getRelatedPredicate(e)),a.update(i),a.digest()})()}hashNDegreeQuads(t,e){var n=this;return i(function*(){const i=new s(n.hashAlgorithm),r=yield n.createHashToRelated(t,e),a=[...r.keys()].sort();for(const t of a){i.update(t);let s,a="";const l=new o(r.get(t));let c=0;for(;l.hasNext();){const t=l.next();++c%3==0&&(yield n._yield());let i=e.clone(),r="";const o=[];let u=!1;for(const e of t)if(n.canonicalIssuer.hasId(e)?r+=n.canonicalIssuer.getId(e):(i.hasId(e)||o.push(e),r+=i.getId(e)),0!==a.length&&r>a){u=!0;break}if(!u){for(const t of o){const e=yield n.hashNDegreeQuads(t,i);if(r+=i.getId(t),r+=`<${e.hash}>`,i=e.issuer,0!==a.length&&r>a){u=!0;break}}u||(0===a.length||r`}createHashToRelated(t,e){var n=this;return i(function*(){const i=new Map,r=n.blankNodeInfo.get(t).quads;let s=0;for(const o of r)++s%100==0&&(yield n._yield()),yield Promise.all([n._addRelatedBlankNodeHash({quad:o,component:o.subject,position:"s",id:t,issuer:e,hashToRelated:i}),n._addRelatedBlankNodeHash({quad:o,component:o.object,position:"o",id:t,issuer:e,hashToRelated:i}),n._addRelatedBlankNodeHash({quad:o,component:o.graph,position:"g",id:t,issuer:e,hashToRelated:i})]);return i})()}_hashAndTrackBlankNode({id:t,hashToBlankNodes:e}){var n=this;return i(function*(){const i=yield n.hashFirstDegreeQuads(t),r=e.get(i);r?r.push(t):e.set(i,[t])})()}_addBlankNodeQuadInfo({quad:t,component:e}){if("BlankNode"!==e.termType)return;const n=e.value,i=this.blankNodeInfo.get(n);i?i.quads.add(t):this.blankNodeInfo.set(n,{quads:new Set([t]),hash:null})}_addRelatedBlankNodeHash({quad:t,component:e,position:n,id:r,issuer:s,hashToRelated:o}){var a=this;return i(function*(){if("BlankNode"!==e.termType||e.value===r)return;const i=e.value,l=yield a.hashRelatedBlankNode(i,t,s,n),c=o.get(l);c?c.push(i):o.set(l,[i])})()}_useCanonicalId({component:t}){return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}_yield(){return i(function*(){return new Promise(t=>n(t))})()}}}).call(this)}).call(this,t("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(t,e,n){"use strict";const i=t("./IdentifierIssuer"),r=t("./MessageDigest"),s=t("./Permuter"),o=t("./NQuads");function a(t,e){return t.hashe.hash?1:0}e.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new i("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(t){this.quads=t;for(const i of t)this._addBlankNodeQuadInfo({quad:i,component:i.subject}),this._addBlankNodeQuadInfo({quad:i,component:i.object}),this._addBlankNodeQuadInfo({quad:i,component:i.graph});const e=new Map,n=[...this.blankNodeInfo.keys()];for(const i of n)this._hashAndTrackBlankNode({id:i,hashToBlankNodes:e});const r=[...e.keys()].sort(),s=[];for(const i of r){const t=e.get(i);t.length>1?s.push(t):this.canonicalIssuer.getId(t[0])}for(const o of s){const t=[];for(const e of o){if(this.canonicalIssuer.hasId(e))continue;const n=new i("_:b");n.getId(e);const r=this.hashNDegreeQuads(e,n);t.push(r)}t.sort(a);for(const e of t){const t=e.issuer.getOldIds();for(const e of t)this.canonicalIssuer.getId(e)}}const l=[];for(const i of this.quads){const t=vt({},i);t.subject=this._useCanonicalId({component:t.subject}),t.object=this._useCanonicalId({component:t.object}),t.graph=this._useCanonicalId({component:t.graph}),l.push(o.serializeQuad(t))}return l.sort(),l.join("")}hashFirstDegreeQuads(t){const e=[],n=this.blankNodeInfo.get(t),i=n.quads;for(const r of i){const n={subject:null,predicate:r.predicate,object:null,graph:null};n.subject=this.modifyFirstDegreeComponent(t,r.subject,"subject"),n.object=this.modifyFirstDegreeComponent(t,r.object,"object"),n.graph=this.modifyFirstDegreeComponent(t,r.graph,"graph"),e.push(o.serializeQuad(n))}e.sort();const s=new r(this.hashAlgorithm);for(const r of e)s.update(r);return n.hash=s.digest(),n.hash}hashRelatedBlankNode(t,e,n,i){let s;s=this.canonicalIssuer.hasId(t)?this.canonicalIssuer.getId(t):n.hasId(t)?n.getId(t):this.blankNodeInfo.get(t).hash;const o=new r(this.hashAlgorithm);return o.update(i),"g"!==i&&o.update(this.getRelatedPredicate(e)),o.update(s),o.digest()}hashNDegreeQuads(t,e){const n=new r(this.hashAlgorithm),i=this.createHashToRelated(t,e),o=[...i.keys()].sort();for(const r of o){n.update(r);let t,o="";const a=new s(i.get(r));for(;a.hasNext();){const n=a.next();let i=e.clone(),r="";const s=[];let l=!1;for(const t of n)if(this.canonicalIssuer.hasId(t)?r+=this.canonicalIssuer.getId(t):(i.hasId(t)||s.push(t),r+=i.getId(t)),0!==o.length&&r>o){l=!0;break}if(!l){for(const t of s){const e=this.hashNDegreeQuads(t,i);if(r+=i.getId(t),r+=`<${e.hash}>`,i=e.issuer,0!==o.length&&r>o){l=!0;break}}l||(0===o.length||r`}createHashToRelated(t,e){const n=new Map,i=this.blankNodeInfo.get(t).quads;for(const r of i)this._addRelatedBlankNodeHash({quad:r,component:r.subject,position:"s",id:t,issuer:e,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.object,position:"o",id:t,issuer:e,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.graph,position:"g",id:t,issuer:e,hashToRelated:n});return n}_hashAndTrackBlankNode({id:t,hashToBlankNodes:e}){const n=this.hashFirstDegreeQuads(t),i=e.get(n);i?i.push(t):e.set(n,[t])}_addBlankNodeQuadInfo({quad:t,component:e}){if("BlankNode"!==e.termType)return;const n=e.value,i=this.blankNodeInfo.get(n);i?i.quads.add(t):this.blankNodeInfo.set(n,{quads:new Set([t]),hash:null})}_addRelatedBlankNodeHash({quad:t,component:e,position:n,id:i,issuer:r,hashToRelated:s}){if("BlankNode"!==e.termType||e.value===i)return;const o=e.value,a=this.hashRelatedBlankNode(o,t,r,n),l=s.get(a);l?l.push(o):s.set(a,[o])}_useCanonicalId({component:t}){return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(t,e,n){"use strict";const r=t("./URDNA2015");e.exports=class extends r{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(t,e,n){return"BlankNode"!==e.termType?e:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:e.value===t?"_:a":"_:z"}}getRelatedPredicate(t){return t.predicate.value}createHashToRelated(t,e){var n=this;return i(function*(){const i=new Map,r=n.blankNodeInfo.get(t).quads;let s=0;for(const o of r){let r,a;if("BlankNode"===o.subject.termType&&o.subject.value!==t)a=o.subject.value,r="p";else{if("BlankNode"!==o.object.termType||o.object.value===t)continue;a=o.object.value,r="r"}++s%100==0&&(yield n._yield());const l=yield n.hashRelatedBlankNode(a,o,e,r),c=i.get(l);c?c.push(a):i.set(l,[a])}return i})()}}},{"./URDNA2015":51}],54:[function(t,e,n){"use strict";const i=t("./URDNA2015Sync");e.exports=class extends i{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(t,e,n){return"BlankNode"!==e.termType?e:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:e.value===t?"_:a":"_:z"}}getRelatedPredicate(t){return t.predicate.value}createHashToRelated(t,e){const n=new Map,i=this.blankNodeInfo.get(t).quads;for(const r of i){let i,s;if("BlankNode"===r.subject.termType&&r.subject.value!==t)s=r.subject.value,i="p";else{if("BlankNode"!==r.object.termType||r.object.value===t)continue;s=r.object.value,i="r"}const o=this.hashRelatedBlankNode(s,r,e,i),a=n.get(o);a?a.push(s):n.set(o,[s])}return n}}},{"./URDNA2015Sync":52}],55:[function(t,e,n){"use strict";const r=t("./URDNA2015"),s=t("./URGNA2012"),o=t("./URDNA2015Sync"),a=t("./URGNA2012Sync");let l;try{l=t("rdf-canonize-native")}catch(u){}const c={};e.exports=c,c.NQuads=t("./NQuads"),c.IdentifierIssuer=t("./IdentifierIssuer"),c._rdfCanonizeNative=function(t){return t&&(l=t),l},c.canonize=function(){var t=i(function*(t,e){if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),e.useNative){if(!l)throw new Error("rdf-canonize-native not available");return new Promise((n,i)=>l.canonize(t,e,(t,e)=>t?i(t):n(e)))}if("URDNA2015"===e.algorithm)return new r(e).main(t);if("URGNA2012"===e.algorithm)return new s(e).main(t);throw"algorithm"in e?new Error("Invalid RDF Dataset Canonicalization algorithm: "+e.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(e,n){return t.apply(this,arguments)}}(),c._canonizeSync=function(t,e){if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),e.useNative){if(l)return l.canonizeSync(t,e);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===e.algorithm)return new o(e).main(t);if("URGNA2012"===e.algorithm)return new a(e).main(t);throw"algorithm"in e?new Error("Invalid RDF Dataset Canonicalization algorithm: "+e.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(t("./lib/BlankNode"),n),r(t("./lib/DataFactory"),n),r(t("./lib/DefaultGraph"),n),r(t("./lib/Literal"),n),r(t("./lib/NamedNode"),n),r(t("./lib/Quad"),n),r(t("./lib/Variable"),n)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.BlankNode=void 0;n.BlankNode=class{constructor(t){this.termType="BlankNode",this.value=t}equals(t){return!!t&&"BlankNode"===t.termType&&t.value===this.value}}},{}],58:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DataFactory=void 0;const i=t("./BlankNode"),r=t("./DefaultGraph"),s=t("./Literal"),o=t("./NamedNode"),a=t("./Quad"),l=t("./Variable");let c=0;n.DataFactory=class{constructor(t){this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||`df_${c++}_`}namedNode(t){return new o.NamedNode(t)}blankNode(t){return new i.BlankNode(t||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(t,e){return new s.Literal(t,e)}variable(t){return new l.Variable(t)}defaultGraph(){return r.DefaultGraph.INSTANCE}quad(t,e,n,i){return new a.Quad(t,e,n,i||this.defaultGraph())}fromTerm(t){switch(t.termType){case"NamedNode":return this.namedNode(t.value);case"BlankNode":return this.blankNode(t.value);case"Literal":return t.language?this.literal(t.value,t.language):t.datatype.equals(s.Literal.XSD_STRING)?this.literal(t.value):this.literal(t.value,this.fromTerm(t.datatype));case"Variable":return this.variable(t.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(t.subject),this.fromTerm(t.predicate),this.fromTerm(t.object),this.fromTerm(t.graph))}}fromQuad(t){return this.fromTerm(t)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DefaultGraph=void 0;class i{constructor(){this.termType="DefaultGraph",this.value=""}equals(t){return!!t&&"DefaultGraph"===t.termType}}n.DefaultGraph=i,i.INSTANCE=new i},{}],60:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Literal=void 0;const i=t("./NamedNode");class r{constructor(t,e){this.termType="Literal",this.value=t,"string"==typeof e?(this.language=e,this.datatype=r.RDF_LANGUAGE_STRING):e?(this.language="",this.datatype=e):(this.language="",this.datatype=r.XSD_STRING)}equals(t){return!!t&&"Literal"===t.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}n.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.NamedNode=void 0;n.NamedNode=class{constructor(t){this.termType="NamedNode",this.value=t}equals(t){return!!t&&"NamedNode"===t.termType&&t.value===this.value}}},{}],62:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Quad=void 0;n.Quad=class{constructor(t,e,n,i){this.termType="Quad",this.value="",this.subject=t,this.predicate=e,this.object=n,this.graph=i}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&this.subject.equals(t.subject)&&this.predicate.equals(t.predicate)&&this.object.equals(t.object)&&this.graph.equals(t.graph)}}},{}],63:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Variable=void 0;n.Variable=class{constructor(t){this.termType="Variable",this.value=t}equals(t){return!!t&&"Variable"===t.termType&&t.value===this.value}}},{}],64:[function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(t("./lib/RdfXmlParser"),n)},{"./lib/RdfXmlParser":66}],65:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseError=void 0;class i extends Error{constructor(t,e){const n=t.saxStream._parser;super(t.trackPosition?`Line ${n.line+1} column ${n.column+1}: ${e}`:e)}}n.ParseError=i},{}],66:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseType=n.RdfXmlParser=void 0;const i=t("relative-to-absolute-iri"),r=t("sax"),s=t("stream"),o=t("./ParseError"),a=t("rdf-data-factory");class l extends s.Transform{constructor(t){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},t&&(Object.assign(this,t),this.options=t),this.dataFactory||(this.dataFactory=new a.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=r.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(t,e){const n={};let i=!1;for(const s in t.attributes)s.startsWith("xmlns")&&(5===s.length?(i=!0,n[""]=t.attributes[s]):":"===s.charAt(5)&&(i=!0,n[s.substr(6)]=t.attributes[s]));const r=e&&e.ns?e.ns:[l.DEFAULT_NS];return i?r.concat([n]):r}static expandPrefixedTerm(t,e,n){const i=t.indexOf(":");let r,s;i>=0?(r=t.substr(0,i),s=t.substr(i+1)):(r="",s=t);let a=null,l=null;for(let o=e.length-1;o>=0;o--){const t=e[o][r];if(t){a=t;break}l||(l=e[o][""])}if(!a){if(r&&"xmlns"!==r)throw new o.ParseError(n,`The prefix '${r}' in term '${t}' was not bound.`);a=l||""}return{prefix:r,local:s,uri:a}}static isValidIri(t){return l.IRI_REGEX.test(t)}import(t){const e=new s.PassThrough({readableObjectMode:!0});t.on("error",t=>n.emit("error",t)),t.on("data",t=>e.push(t)),t.on("end",()=>e.push(null));const n=e.pipe(new l(this.options));return n}_transform(t,e,n){try{this.saxStream.write(t,e)}catch(i){return n(i)}n()}newParseError(t){return new o.ParseError(this,t)}valueToUri(t,e){return this.uriToNamedNode(i.resolve(t,e.baseIRI))}uriToNamedNode(t){if(!l.isValidIri(t))throw this.newParseError(`Invalid URI: ${t}`);return this.dataFactory.namedNode(t)}validateNcname(t){if(!l.NCNAME_MATCHER.test(t))throw this.newParseError(`Not a valid NCName: ${t}`)}attachSaxListeners(){this.saxStream.on("error",t=>this.emit("error",t)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(t){const e=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let n=c.RESOURCE;if(e&&(e.hadChildren=!0,n=e.childrenParseType),e&&e.childrenStringTags){const n=t.name;let i="";for(const e in t.attributes)i+=` ${e}="${t.attributes[e]}"`;e.childrenStringTags.push(`<${n}${i}>`);const r={childrenStringTags:e.childrenStringTags};return r.childrenStringEmitClosingTag=``,void this.activeTagStack.push(r)}const i={};e?(i.language=e.language,i.baseIRI=e.baseIRI):i.baseIRI=this.baseIRI,this.activeTagStack.push(i),i.ns=l.parseNamespace(t,e),n===c.RESOURCE?this.onTagResource(t,i,e,!e):this.onTagProperty(t,i,e)}onTagResource(t,e,n,r){const s=l.expandPrefixedTerm(t.name,e.ns,this);e.childrenParseType=c.PROPERTY;let o=!0;if(s.uri===l.RDF){if(!r&&l.FORBIDDEN_NODE_ELEMENTS.indexOf(s.local)>=0)throw this.newParseError(`Illegal node element name: ${s.local}`);switch(s.local){case"RDF":e.childrenParseType=c.RESOURCE;case"Description":o=!1}}const a=[],u=[];let h=null,d=!1,p=!1,f=null;for(const c in t.attributes){const r=t.attributes[c],s=l.expandPrefixedTerm(c,e.ns,this);if(n&&s.uri===l.RDF)switch(s.local){case"about":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);h=r;continue;case"ID":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);this.validateNcname(r),h="#"+r,d=!0;continue;case"nodeID":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);this.validateNcname(r),h=r,p=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":f=r;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(s.uri===l.XML){if("lang"===s.local){e.language=""===r?null:r.toLowerCase();continue}if("base"===s.local){e.baseIRI=i.resolve(r,e.baseIRI);continue}}"xml"!==s.prefix&&s.uri&&(a.push(this.uriToNamedNode(s.uri+s.local)),u.push(r))}if(null!==h&&(e.subject=p?this.dataFactory.blankNode(h):this.valueToUri(h,e),d&&this.claimNodeId(e.subject)),e.subject||(e.subject=this.dataFactory.blankNode()),o){const t=this.uriToNamedNode(s.uri+s.local);this.emitTriple(e.subject,this.dataFactory.namedNode(l.RDF+"type"),t,n?n.reifiedStatementId:null)}if(n){if(n.predicate)if(n.childrenCollectionSubject){const t=this.dataFactory.blankNode();this.emitTriple(n.childrenCollectionSubject,n.childrenCollectionPredicate,t,n.reifiedStatementId),this.emitTriple(t,this.dataFactory.namedNode(l.RDF+"first"),e.subject,e.reifiedStatementId),n.childrenCollectionSubject=t,n.childrenCollectionPredicate=this.dataFactory.namedNode(l.RDF+"rest")}else{this.emitTriple(n.subject,n.predicate,e.subject,n.reifiedStatementId);for(let t=0;t=0)throw this.newParseError(`Illegal property element name: ${i.local}`);e.predicateSubPredicates=[],e.predicateSubObjects=[];let r=!1,s=!1,o=null,a=!0;const u=[],h=[];for(const d in t.attributes){const n=t.attributes[d],i=l.expandPrefixedTerm(d,e.ns,this);if(i.uri===l.RDF)switch(i.local){case"resource":if(o)throw this.newParseError(`Found both rdf:resource (${n}) and rdf:nodeID (${o}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${n})`);e.hadChildren=!0,o=n,a=!1;continue;case"datatype":if(s)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${n}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${n})`);e.datatype=this.valueToUri(n,e);continue;case"nodeID":if(s)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${n}).`);if(e.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${n}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${n})`);this.validateNcname(n),e.hadChildren=!0,o=n,a=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(s)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(e.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${e.datatype.value})`);if(o)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${o})`);if("Resource"===n){r=!0,e.childrenParseType=c.PROPERTY;const t=this.dataFactory.blankNode();this.emitTriple(e.subject,e.predicate,t,e.reifiedStatementId),e.subject=t,e.predicate=null}else"Collection"===n?(r=!0,e.hadChildren=!0,e.childrenCollectionSubject=e.subject,e.childrenCollectionPredicate=e.predicate,a=!1):"Literal"===n&&(r=!0,e.childrenTagsToString=!0,e.childrenStringTags=[]);continue;case"ID":this.validateNcname(n),e.reifiedStatementId=this.valueToUri("#"+n,e),this.claimNodeId(e.reifiedStatementId);continue}else if(i.uri===l.XML&&"lang"===i.local){e.language=""===n?null:n.toLowerCase();continue}if("xml"!==i.prefix&&"xmlns"!==i.prefix&&i.uri){if(r||e.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${n}`);e.hadChildren=!0,s=!0,u.push(this.uriToNamedNode(i.uri+i.local)),h.push(this.dataFactory.literal(n,e.datatype||e.language))}}if(null!==o){const t=e.subject;e.subject=a?this.dataFactory.blankNode(o):this.valueToUri(o,e),this.emitTriple(t,e.predicate,e.subject,e.reifiedStatementId);for(let n=0;n/g,(t,e,n)=>(this.saxStream._parser.ENTITIES[e]=n,""))}}var c,u;n.RdfXmlParser=l,l.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,l.MIME_TYPE="application/rdf+xml",l.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",l.XML="http://www.w3.org/XML/1998/namespace",l.XMLNS="http://www.w3.org/2000/xmlns/",l.DEFAULT_NS={xml:l.XML},l.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],l.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],l.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(u=c=n.ParseType||(n.ParseType={}))[u.RESOURCE=0]="RESOURCE",u[u.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(t,e,n){"use strict";var i={};function r(t,e,n){n||(n=Error);var r=function(t){function n(n,i,r){return t.call(this,function(t,n,i){return"string"==typeof e?e:e(t,n,i)}(n,i,r))||this}return function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}(n,t),n}(n);r.prototype.name=n.name,r.prototype.code=t,i[t]=r}function s(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map(function(t){return String(t)}),n>2?"one of ".concat(e," ").concat(t.slice(0,n-1).join(", "),", or ")+t[n-1]:2===n?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError),r("ERR_INVALID_ARG_TYPE",function(t,e,n){var i,r;if("string"==typeof e&&function(t,e,n){return t.substr(!n||n<0?0:+n,e.length)===e}(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,n){return(void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}(t," argument"))r="The ".concat(t," ").concat(i," ").concat(s(e,"type"));else{var o=function(t,e,n){return"number"!=typeof n&&(n=0),!(n+e.length>t.length)&&-1!==t.indexOf(e,n)}(t,".")?"property":"argument";r='The "'.concat(t,'" ').concat(o," ").concat(i," ").concat(s(e,"type"))}return r+". Received type ".concat(typeof n)},TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"}),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"}),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=i},{}],68:[function(t,e,n){(function(n){(function(){"use strict";var i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};e.exports=c;var r=t("./_stream_readable"),s=t("./_stream_writable");t("inherits")(c,r);for(var o=i(s.prototype),a=0;a0)if("string"!=typeof e&&!o.objectMode&&Object.getPrototypeOf(e)!==a.prototype&&(e=function(t){return a.from(t)}(e)),i)o.endEmitted?x(t,new w):T(t,o,e,!0);else if(o.ended)x(t,new v);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!n?(e=o.decoder.write(e),o.objectMode||0!==e.length?T(t,o,e,!1):I(t,o)):T(t,o,e,!1)}else i||(o.reading=!1,I(t,o));return!o.ended&&(o.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=k?t=k:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function A(t){var e=t._readableState;c("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(c("emitReadable",e.flowing),e.emittedReadable=!0,n.nextTick(M,t))}function M(t){var e=t._readableState;c("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,j(t)}function I(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(D,t,e))}function D(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function N(t){c("readable nexttick read 0"),t.read(0)}function L(t,e){c("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),j(t),e.flowing&&!e.reading&&t.read(0)}function j(t){var e=t._readableState;for(c("flow",e.flowing);e.flowing&&null!==t.read(););}function F(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):n=e.buffer.consume(t,e.decoder),n);var n}function B(t){var e=t._readableState;c("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,n.nextTick(V,e,t))}function V(t,e){if(c("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var n=e._writableState;(!n||n.autoDestroy&&n.finished)&&e.destroy()}}function z(t,e){for(var n=0,i=t.length;n=e.highWaterMark:e.length>0)||e.ended))return c("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?B(this):A(this),null;if(0===(t=P(t,e))&&e.ended)return 0===e.length&&B(this),null;var i,r=e.needReadable;return c("need readable",r),(0===e.length||e.length-t0?F(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&B(this)),null!==i&&this.emit("data",i),i},E.prototype._read=function(t){x(this,new _("_read()"))},E.prototype.pipe=function(t,e){var i=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=t;break;case 1:r.pipes=[r.pipes,t];break;default:r.pipes.push(t)}r.pipesCount+=1,c("pipe count=%d opts=%j",r.pipesCount,e);var o=e&&!1===e.end||t===n.stdout||t===n.stderr?m:l;function a(e,n){c("onunpipe"),e===i&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,c("cleanup"),t.removeListener("close",f),t.removeListener("finish",g),t.removeListener("drain",u),t.removeListener("error",p),t.removeListener("unpipe",a),i.removeListener("end",l),i.removeListener("end",m),i.removeListener("data",d),h=!0,r.awaitDrain&&(!t._writableState||t._writableState.needDrain)&&u())}function l(){c("onend"),t.end()}r.endEmitted?n.nextTick(o):i.once("end",o),t.on("unpipe",a);var u=function(t){return function(){var e=t._readableState;c("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,j(t))}}(i);t.on("drain",u);var h=!1;function d(e){c("ondata");var n=t.write(e);c("dest.write",n),!1===n&&((1===r.pipesCount&&r.pipes===t||r.pipesCount>1&&-1!==z(r.pipes,t))&&!h&&(c("false write response, pause",r.awaitDrain),r.awaitDrain++),i.pause())}function p(e){c("onerror",e),m(),t.removeListener("error",p),0===s(t,"error")&&x(t,e)}function f(){t.removeListener("finish",g),m()}function g(){c("onfinish"),t.removeListener("close",f),m()}function m(){c("unpipe"),i.unpipe(t)}return i.on("data",d),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",p),t.once("close",f),t.once("finish",g),t.emit("pipe",i),r.flowing||(c("pipe resume"),i.resume()),t},E.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var i=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,!1!==r.flowing&&this.resume()):"readable"===t&&!r.endEmitted&&!r.readableListening&&(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,c("on readable",r.length,r.reading),r.length?A(this):r.reading||n.nextTick(N,this)),i},E.prototype.removeListener=function(t,e){var i=o.prototype.removeListener.call(this,t,e);return"readable"===t&&n.nextTick(R,this),i},E.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return("readable"===t||void 0===t)&&n.nextTick(R,this),e},E.prototype.resume=function(){var t=this._readableState;return t.flowing||(c("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,n.nextTick(L,t,e))}(this,t)),t.paused=!1,this},E.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},E.prototype.wrap=function(t){var e=this,n=this._readableState,i=!1;for(var r in t.on("end",function(){if(c("wrapped end"),n.decoder&&!n.ended){var t=n.decoder.end();t&&t.length&&e.push(t)}e.push(null)}),t.on("data",function(r){c("wrapped data"),n.decoder&&(r=n.decoder.write(r)),n.objectMode&&null==r||!(n.objectMode||r&&r.length)||e.push(r)||(i=!0,t.pause())}),t)void 0===this[r]&&"function"==typeof t[r]&&(this[r]=function(e){return function(){return t[e].apply(t,arguments)}}(r));for(var s=0;s-1))throw new w(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(E.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(t,e,n){n(new g("_write()"))},E.prototype._writev=null,E.prototype.end=function(t,e,i){var r=this._writableState;return"function"==typeof t?(i=t,t=null,e=null):"function"==typeof e&&(i=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||function(t,e,i){e.ending=!0,I(t,e),i&&(e.finished?n.nextTick(i):t.once("finish",i)),e.ended=!0,t.writable=!1}(this,r,i),this},Object.defineProperty(E.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){!this._writableState||(this._writableState.destroyed=t)}}),E.prototype.destroy=h.destroy,E.prototype._undestroy=h.undestroy,E.prototype._destroy=function(t,e){e(t)}}).call(this)}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(t,e,n){(function(n){(function(){"use strict";var i;function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var s=t("./end-of-stream"),o=Symbol("lastResolve"),a=Symbol("lastReject"),l=Symbol("error"),c=Symbol("ended"),u=Symbol("lastPromise"),h=Symbol("handlePromise"),d=Symbol("stream");function p(t,e){return{value:t,done:e}}function f(t){var e=t[o];if(null!==e){var n=t[d].read();null!==n&&(t[u]=null,t[o]=null,t[a]=null,e(p(n,!1)))}}function g(t){n.nextTick(f,t)}var m=Object.getPrototypeOf(function(){}),b=Object.setPrototypeOf((r(i={get stream(){return this[d]},next:function(){var t=this,e=this[l];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(p(void 0,!0));if(this[d].destroyed)return new Promise(function(e,i){n.nextTick(function(){t[l]?i(t[l]):e(p(void 0,!0))})});var i,r=this[u];if(r)i=new Promise(function(t,e){return function(n,i){t.then(function(){e[c]?n(p(void 0,!0)):e[h](n,i)},i)}}(r,this));else{var s=this[d].read();if(null!==s)return Promise.resolve(p(s,!1));i=new Promise(this[h])}return this[u]=i,i}},Symbol.asyncIterator,function(){return this}),r(i,"return",function(){var t=this;return new Promise(function(e,n){t[d].destroy(null,function(t){t?n(t):e(p(void 0,!0))})})}),i),m);e.exports=function(t){var e,n=Object.create(b,(r(e={},d,{value:t,writable:!0}),r(e,o,{value:null,writable:!0}),r(e,a,{value:null,writable:!0}),r(e,l,{value:null,writable:!0}),r(e,c,{value:t._readableState.endEmitted,writable:!0}),r(e,h,{value:function(t,e){var i=n[d].read();i?(n[u]=null,n[o]=null,n[a]=null,t(p(i,!1))):(n[o]=t,n[a]=e)},writable:!0}),e));return n[u]=null,s(t,function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=n[a];return null!==e&&(n[u]=null,n[o]=null,n[a]=null,e(t)),void(n[l]=t)}var i=n[o];null!==i&&(n[u]=null,n[o]=null,n[a]=null,i(p(void 0,!0))),n[c]=!0}),t.on("readable",g.bind(null,n)),n}}).call(this)}).call(this,t("_process"))},{"./end-of-stream":76,_process:44}],74:[function(t,e,n){"use strict";function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function s(t,e){for(var n=0;n0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e=o.allocUnsafe(t>>>0),n=this.head,i=0;n;)c(n.data,e,i),i+=n.data.length,n=n.next;return e}},{key:"consume",value:function(t,e){var n;return tr.length?r.length:t;if(i+=s===r.length?r:r.slice(0,t),0==(t-=s)){s===r.length?(++n,this.head=e.next?e.next:this.tail=null):(this.head=e,e.data=r.slice(s));break}++n}return this.length-=n,i}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),n=this.head,i=1;for(n.data.copy(e),t-=n.data.length;n=n.next;){var r=n.data,s=t>r.length?r.length:t;if(r.copy(e,e.length-t,0,s),0==(t-=s)){s===r.length?(++i,this.head=n.next?n.next:this.tail=null):(this.head=n,n.data=r.slice(s));break}++i}return this.length-=i,e}},{key:l,value:function(t,e){return a(this,function(t){for(var e=1;e0,function(t){r||(r=t),t&&o.forEach(c),!s&&(o.forEach(c),i(r))})});return e.reduce(u)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(t,e,n){"use strict";var i=t("../../../errors").codes.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(t,e,n,r){var s=function(t,e,n){return null!=t.highWaterMark?t.highWaterMark:e?t[n]:null}(e,r,n);if(null!=s){if(!isFinite(s)||Math.floor(s)!==s||s<0)throw new i(r?n:"highWaterMark",s);return Math.floor(s)}return t.objectMode?16:16384}}},{"../../../errors":67}],80:[function(t,e,n){e.exports=t("events").EventEmitter},{events:8}],81:[function(t,e,n){(n=e.exports=t("./lib/_stream_readable.js")).Stream=n,n.Readable=n,n.Writable=t("./lib/_stream_writable.js"),n.Duplex=t("./lib/_stream_duplex.js"),n.Transform=t("./lib/_stream_transform.js"),n.PassThrough=t("./lib/_stream_passthrough.js"),n.finished=t("./lib/internal/streams/end-of-stream.js"),n.pipeline=t("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),function(t){for(var e in t)n.hasOwnProperty(e)||(n[e]=t[e])}(t("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(t,e,n){"use strict";function i(t){const e=[];let n=0;for(;nt.join("")).join("/")}function r(t,e){let n=e+1;e>=0?"/"===t[e+1]&&"/"===t[e+2]&&(n=e+3):"/"===t[0]&&"/"===t[1]&&(n=2);const r=t.indexOf("/",n);return r<0?t:t.substr(0,r)+i(t.substr(r))}function s(t){return!t||"#"===t||"?"===t||"/"===t}Object.defineProperty(n,"__esModule",{value:!0}),n.resolve=function(t,e){const n=(e=e||"").indexOf("#");if(n>0&&(e=e.substr(0,n)),!t.length){if(e.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${e}' for value '${t}'`);return e}if(t.startsWith("?")){const n=e.indexOf("?");return n>0&&(e=e.substr(0,n)),e+t}if(t.startsWith("#"))return e+t;if(!e.length){const e=t.indexOf(":");if(e<0)throw new Error(`Found invalid relative IRI '${t}' for a missing baseIRI`);return r(t,e)}const s=t.indexOf(":");if(s>=0)return r(t,s);const o=e.indexOf(":");if(o<0)throw new Error(`Found invalid baseIRI '${e}' for value '${t}'`);const a=e.substr(0,o+1);if(0===t.indexOf("//"))return a+r(t,s);let l;if(e.indexOf("//",o)===o+1){if(l=e.indexOf("/",o+3),l<0)return e.length>o+3?e+"/"+r(t,s):a+r(t,s)}else if(l=e.indexOf("/",o+1),l<0)return a+r(t,s);if(0===t.indexOf("/"))return e.substr(0,l)+i(t);let c=e.substr(l);const u=c.lastIndexOf("/");return u>=0&&u"===s?(O(e,"onsgmldeclaration",e.sgmlDecl),e.sgmlDecl="",e.state=S.TEXT):(m(s)&&(e.state=S.SGML_DECL_QUOTED),e.sgmlDecl+=s);continue;case S.SGML_DECL_QUOTED:s===e.q&&(e.state=S.SGML_DECL,e.q=""),e.sgmlDecl+=s;continue;case S.DOCTYPE:">"===s?(e.state=S.TEXT,O(e,"ondoctype",e.doctype),e.doctype=!0):(e.doctype+=s,"["===s?e.state=S.DOCTYPE_DTD:m(s)&&(e.state=S.DOCTYPE_QUOTED,e.q=s));continue;case S.DOCTYPE_QUOTED:e.doctype+=s,s===e.q&&(e.q="",e.state=S.DOCTYPE);continue;case S.DOCTYPE_DTD:e.doctype+=s,"]"===s?e.state=S.DOCTYPE:m(s)&&(e.state=S.DOCTYPE_DTD_QUOTED,e.q=s);continue;case S.DOCTYPE_DTD_QUOTED:e.doctype+=s,s===e.q&&(e.state=S.DOCTYPE_DTD,e.q="");continue;case S.COMMENT:"-"===s?e.state=S.COMMENT_ENDING:e.comment+=s;continue;case S.COMMENT_ENDING:"-"===s?(e.state=S.COMMENT_ENDED,e.comment=k(e.opt,e.comment),e.comment&&O(e,"oncomment",e.comment),e.comment=""):(e.comment+="-"+s,e.state=S.COMMENT);continue;case S.COMMENT_ENDED:">"!==s?(M(e,"Malformed comment"),e.comment+="--"+s,e.state=S.COMMENT):e.state=S.TEXT;continue;case S.CDATA:"]"===s?e.state=S.CDATA_ENDING:e.cdata+=s;continue;case S.CDATA_ENDING:"]"===s?e.state=S.CDATA_ENDING_2:(e.cdata+="]"+s,e.state=S.CDATA);continue;case S.CDATA_ENDING_2:">"===s?(e.cdata&&O(e,"oncdata",e.cdata),O(e,"onclosecdata"),e.cdata="",e.state=S.TEXT):"]"===s?e.cdata+="]":(e.cdata+="]]"+s,e.state=S.CDATA);continue;case S.PROC_INST:"?"===s?e.state=S.PROC_INST_ENDING:g(s)?e.state=S.PROC_INST_BODY:e.procInstName+=s;continue;case S.PROC_INST_BODY:if(!e.procInstBody&&g(s))continue;"?"===s?e.state=S.PROC_INST_ENDING:e.procInstBody+=s;continue;case S.PROC_INST_ENDING:">"===s?(O(e,"onprocessinginstruction",{name:e.procInstName,body:e.procInstBody}),e.procInstName=e.procInstBody="",e.state=S.TEXT):(e.procInstBody+="?"+s,e.state=S.PROC_INST_BODY);continue;case S.OPEN_TAG:y(d,s)?e.tagName+=s:(I(e),">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:(g(s)||M(e,"Invalid character in tag name"),e.state=S.ATTRIB));continue;case S.OPEN_TAG_SLASH:">"===s?(N(e,!0),L(e)):(M(e,"Forward-slash in opening tag not followed by >"),e.state=S.ATTRIB);continue;case S.ATTRIB:if(g(s))continue;">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:y(h,s)?(e.attribName=s,e.attribValue="",e.state=S.ATTRIB_NAME):M(e,"Invalid attribute name");continue;case S.ATTRIB_NAME:"="===s?e.state=S.ATTRIB_VALUE:">"===s?(M(e,"Attribute without value"),e.attribValue=e.attribName,R(e),N(e)):g(s)?e.state=S.ATTRIB_NAME_SAW_WHITE:y(d,s)?e.attribName+=s:M(e,"Invalid attribute name");continue;case S.ATTRIB_NAME_SAW_WHITE:if("="===s)e.state=S.ATTRIB_VALUE;else{if(g(s))continue;M(e,"Attribute without value"),e.tag.attributes[e.attribName]="",e.attribValue="",O(e,"onattribute",{name:e.attribName,value:""}),e.attribName="",">"===s?N(e):y(h,s)?(e.attribName=s,e.state=S.ATTRIB_NAME):(M(e,"Invalid attribute name"),e.state=S.ATTRIB)}continue;case S.ATTRIB_VALUE:if(g(s))continue;m(s)?(e.q=s,e.state=S.ATTRIB_VALUE_QUOTED):(M(e,"Unquoted attribute value"),e.state=S.ATTRIB_VALUE_UNQUOTED,e.attribValue=s);continue;case S.ATTRIB_VALUE_QUOTED:if(s!==e.q){"&"===s?e.state=S.ATTRIB_VALUE_ENTITY_Q:e.attribValue+=s;continue}R(e),e.q="",e.state=S.ATTRIB_VALUE_CLOSED;continue;case S.ATTRIB_VALUE_CLOSED:g(s)?e.state=S.ATTRIB:">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:y(h,s)?(M(e,"No whitespace between attributes"),e.attribName=s,e.attribValue="",e.state=S.ATTRIB_NAME):M(e,"Invalid attribute name");continue;case S.ATTRIB_VALUE_UNQUOTED:if(!b(s)){"&"===s?e.state=S.ATTRIB_VALUE_ENTITY_U:e.attribValue+=s;continue}R(e),">"===s?N(e):e.state=S.ATTRIB;continue;case S.CLOSE_TAG:if(e.tagName)">"===s?L(e):y(d,s)?e.tagName+=s:e.script?(e.script+=""===s?L(e):M(e,"Invalid characters in closing tag");continue;case S.TEXT_ENTITY:case S.ATTRIB_VALUE_ENTITY_Q:case S.ATTRIB_VALUE_ENTITY_U:var a,l;switch(e.state){case S.TEXT_ENTITY:a=S.TEXT,l="textNode";break;case S.ATTRIB_VALUE_ENTITY_Q:a=S.ATTRIB_VALUE_QUOTED,l="attribValue";break;case S.ATTRIB_VALUE_ENTITY_U:a=S.ATTRIB_VALUE_UNQUOTED,l="attribValue"}";"===s?(e[l]+=j(e),e.entity="",e.state=a):y(e.entity.length?f:p,s)?e.entity+=s:(M(e,"Invalid character in entity name"),e[l]+="&"+e.entity+s,e.entity="",e.state=a);continue;default:throw new Error(e,"Unknown state: "+e.state)}return e.position>=e.bufferCheckPosition&&function(t){for(var e=Math.max(n.MAX_BUFFER_LENGTH,10),i=0,s=0,o=r.length;se)switch(r[s]){case"textNode":T(t);break;case"cdata":O(t,"oncdata",t.cdata),t.cdata="";break;case"script":O(t,"onscript",t.script),t.script="";break;default:P(t,"Max buffer length exceeded: "+r[s])}i=Math.max(i,a)}t.bufferCheckPosition=n.MAX_BUFFER_LENGTH-i+t.position}(e),e},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(t){T(t),""!==t.cdata&&(O(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(O(t,"onscript",t.script),t.script="")}(this)}};try{i=t("stream").Stream}catch(_){i=function(){}}var o=n.EVENTS.filter(function(t){return"error"!==t&&"end"!==t});function a(t,e){if(!(this instanceof a))return new a(t,e);i.apply(this),this._parser=new s(t,e),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit("end")},this._parser.onerror=function(t){n.emit("error",t),n._parser.error=null},this._decoder=null,o.forEach(function(t){Object.defineProperty(n,"on"+t,{get:function(){return n._parser["on"+t]},set:function(e){if(!e)return n.removeAllListeners(t),n._parser["on"+t]=e,e;n.on(t,e)},enumerable:!0,configurable:!1})})}(a.prototype=Object.create(i.prototype,{constructor:{value:a}})).write=function(n){if("function"==typeof e&&"function"==typeof e.isBuffer&&e.isBuffer(n)){if(!this._decoder){var i=t("string_decoder").StringDecoder;this._decoder=new i("utf8")}n=this._decoder.write(n)}return this._parser.write(n.toString()),this.emit("data",n),!0},a.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},a.prototype.on=function(t,e){var n=this;return!n._parser["on"+t]&&-1!==o.indexOf(t)&&(n._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),n.emit.apply(n,e)}),i.prototype.on.call(n,t,e)};var l="http://www.w3.org/XML/1998/namespace",c="http://www.w3.org/2000/xmlns/",u={xml:l,xmlns:c},h=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,d=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,f=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function g(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function m(t){return'"'===t||"'"===t}function b(t){return">"===t||g(t)}function y(t,e){return t.test(e)}function v(t,e){return!y(t,e)}var _,w,x,S=0;for(var C in n.STATE={BEGIN:S++,BEGIN_WHITESPACE:S++,TEXT:S++,TEXT_ENTITY:S++,OPEN_WAKA:S++,SGML_DECL:S++,SGML_DECL_QUOTED:S++,DOCTYPE:S++,DOCTYPE_QUOTED:S++,DOCTYPE_DTD:S++,DOCTYPE_DTD_QUOTED:S++,COMMENT_STARTING:S++,COMMENT:S++,COMMENT_ENDING:S++,COMMENT_ENDED:S++,CDATA:S++,CDATA_ENDING:S++,CDATA_ENDING_2:S++,PROC_INST:S++,PROC_INST_BODY:S++,PROC_INST_ENDING:S++,OPEN_TAG:S++,OPEN_TAG_SLASH:S++,ATTRIB:S++,ATTRIB_NAME:S++,ATTRIB_NAME_SAW_WHITE:S++,ATTRIB_VALUE:S++,ATTRIB_VALUE_QUOTED:S++,ATTRIB_VALUE_CLOSED:S++,ATTRIB_VALUE_UNQUOTED:S++,ATTRIB_VALUE_ENTITY_Q:S++,ATTRIB_VALUE_ENTITY_U:S++,CLOSE_TAG:S++,CLOSE_TAG_SAW_WHITE:S++,SCRIPT:S++,SCRIPT_ENDING:S++},n.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},n.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(n.ENTITIES).forEach(function(t){var e=n.ENTITIES[t],i="number"==typeof e?String.fromCharCode(e):e;n.ENTITIES[t]=i}),n.STATE)n.STATE[n.STATE[C]]=C;function E(t,e,n){t[e]&&t[e](n)}function O(t,e,n){t.textNode&&T(t),E(t,e,n)}function T(t){t.textNode=k(t.opt,t.textNode),t.textNode&&E(t,"ontext",t.textNode),t.textNode=""}function k(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function P(t,e){return T(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,E(t,"onerror",e),t}function A(t){return t.sawRoot&&!t.closedRoot&&M(t,"Unclosed root tag"),t.state!==S.BEGIN&&t.state!==S.BEGIN_WHITESPACE&&t.state!==S.TEXT&&P(t,"Unexpected end"),T(t),t.c="",t.closed=!0,E(t,"onend"),s.call(t,t.strict,t.opt),t}function M(t,e){if("object"!=typeof t||!(t instanceof s))throw new Error("bad call to strictFail");t.strict&&P(t,e)}function I(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,n=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(n.ns=e.ns),t.attribList.length=0,O(t,"onopentagstart",n)}function D(t,e){var n=t.indexOf(":")<0?["",t]:t.split(":"),i=n[0],r=n[1];return e&&"xmlns"===t&&(i="xmlns",r=""),{prefix:i,local:r}}function R(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=D(t.attribName,!0),n=e.local;if("xmlns"===e.prefix)if("xml"===n&&t.attribValue!==l)M(t,"xml: prefix must be bound to "+l+"\nActual: "+t.attribValue);else if("xmlns"===n&&t.attribValue!==c)M(t,"xmlns: prefix must be bound to "+c+"\nActual: "+t.attribValue);else{var i=t.tag,r=t.tags[t.tags.length-1]||t;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[n]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,O(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function N(t,e){if(t.opt.xmlns){var n=t.tag,i=D(t.tagName);n.prefix=i.prefix,n.local=i.local,n.uri=n.ns[i.prefix]||"",n.prefix&&!n.uri&&(M(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),n.uri=i.prefix),n.ns&&(t.tags[t.tags.length-1]||t).ns!==n.ns&&Object.keys(n.ns).forEach(function(e){O(t,"onopennamespace",{prefix:e,uri:n.ns[e]})});for(var r=0,s=t.attribList.length;r",t.tagName="",void(t.state=S.SCRIPT);O(t,"onscript",t.script),t.script=""}var e=t.tags.length,n=t.tagName;t.strict||(n=n[t.looseCase]());for(var i=n;e--&&t.tags[e].name!==i;)M(t,"Unexpected close tag");if(e<0)return M(t,"Unmatched closing tag: "+t.tagName),t.textNode+="",void(t.state=S.TEXT);t.tagName=n;for(var r=t.tags.length;r-- >e;){var s=t.tag=t.tags.pop();t.tagName=t.tag.name,O(t,"onclosetag",t.tagName);var o={};for(var a in s.ns)o[a]=s.ns[a];t.opt.xmlns&&s.ns!==(t.tags[t.tags.length-1]||t).ns&&Object.keys(s.ns).forEach(function(e){O(t,"onclosenamespace",{prefix:e,uri:s.ns[e]})})}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=S.TEXT}function j(t){var e,n=t.entity,i=n.toLowerCase(),r="";return t.ENTITIES[n]?t.ENTITIES[n]:t.ENTITIES[i]?t.ENTITIES[i]:("#"===(n=i).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),r=(e=parseInt(n,16)).toString(16)):(n=n.slice(1),r=(e=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(e)||r.toLowerCase()!==n?(M(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function F(t,e){"<"===e?(t.state=S.OPEN_WAKA,t.startTagPosition=t.position):g(e)||(M(t,"Non-whitespace before first tag."),t.textNode=e,t.state=S.TEXT)}function B(t,e){var n="";return e1114111||w(s)!==s)throw RangeError("Invalid code point: "+s);s<=65535?e.push(s):e.push(55296+((s-=65536)>>10),s%1024+56320),(n+1===i||e.length>t)&&(r+=_.apply(null,e),e.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:x,configurable:!0,writable:!0}):String.fromCodePoint=x)}(void 0===n?this.sax={}:n)}).call(this)}).call(this,t("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(t,e,n){(function(t,e){(function(){!function(e,n){"use strict";if(!e.setImmediate){var i,r=1,s={},o=!1,a=e.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,"[object process]"==={}.toString.call(e.process)?i=function(e){t.nextTick(function(){d(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?(c="setImmediate$"+Math.random()+"$",u=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(c)&&d(+t.data.slice(c.length))},e.addEventListener?e.addEventListener("message",u,!1):e.attachEvent("onmessage",u),i=function(t){e.postMessage(c+t,"*")}):e.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){d(t.data)},i=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;i=function(e){var n=a.createElement("script");n.onreadystatechange=function(){d(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():i=function(t){setTimeout(d,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n.setImmediate="function"==typeof e?e:function(t){var e=l++,i=!(arguments.length<2)&&o.call(arguments,1);return a[e]=!0,r(function(){a[e]&&(i?t.apply(null,i):t.call(null),n.clearImmediate(e))}),e},n.clearImmediate="function"==typeof i?i:function(t){delete a[t]}}).call(this)}).call(this,t("timers").setImmediate,t("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(t,e,n){(function(t){(function(){function n(e){try{if(!t.localStorage)return!1}catch(i){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(t,e){if(n("noDeprecation"))return t;var i=!1;return function(){if(!i){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation")?console.trace(e):console.warn(e),i=!0}return t.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(t,e,n){"use strict";e.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}},{}],92:[function(t,e,n){"use strict";function i(t){var e=this;if(e instanceof i||(e=new i),e.tail=null,e.head=null,e.length=0,t&&"function"==typeof t.forEach)t.forEach(function(t){e.push(t)});else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=e;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");i=this.head.next,n=this.head.value}for(var r=0;null!==i;r++)n=t(n,i.value,r),i=i.next;return n},i.prototype.reduceReverse=function(t,e){var n,i=this.tail;if(arguments.length>1)n=e;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");i=this.tail.prev,n=this.tail.value}for(var r=this.length-1;null!==i;r--)n=t(n,i.value,r),i=i.prev;return n},i.prototype.toArray=function(){for(var t=new Array(this.length),e=0,n=this.head;null!==n;e++)t[e]=n.value,n=n.next;return t},i.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,n=this.tail;null!==n;e++)t[e]=n.value,n=n.prev;return t},i.prototype.slice=function(t,e){(e=e||this.length)<0&&(e+=this.length),(t=t||0)<0&&(t+=this.length);var n=new i;if(ethis.length&&(e=this.length);for(var r=0,s=this.head;null!==s&&rthis.length&&(e=this.length);for(var r=this.length,s=this.tail;null!==s&&r>e;r--)s=s.prev;for(;null!==s&&r>t;r--,s=s.prev)n.push(s.value);return n},i.prototype.splice=function(t,e,...n){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,s=this.head;null!==s&&i=0?1.2:1))}function i(t,e,n,i,s,o){for(var a=0;a-1);o[++c]=l,a[c]=u,a[c+1]=e}for(l=0,c=0;l{return(t=n||(n={})).typeOfFunction="function",t.boolTrue=!0,n;var t})();function i(t,e,i){if(!i||typeof i.value!==n.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+e+"> is not a method!");return{configurable:n.boolTrue,get:function(){var t=i.value.bind(this);return Object.defineProperty(this,e,{value:t,configurable:n.boolTrue,writable:n.boolTrue}),t}}}e.ak=i,e.ZP=i},97266:function(t,e,n){t.exports={ResizeSensor:n(69835),ElementQueries:n(54845)}},54845:function(t,e,n){"use strict";var i,r,s;"undefined"!=typeof window&&window,r=[n(69835)],void 0!==(s="function"==typeof(i=function(t){var e=function(){var e,n={},i=[];function r(t){t||(t=document.documentElement);var e=window.getComputedStyle(t,null).fontSize;return parseFloat(e)||16}function s(t,e){var n=e.split(/\d/),i=n[n.length-1];switch(e=parseFloat(e),i){case"px":return e;case"em":return e*r(t);case"rem":return e*r();case"vw":return e*document.documentElement.clientWidth/100;case"vh":return e*document.documentElement.clientHeight/100;case"vmin":case"vmax":var s=document.documentElement.clientWidth/100,o=document.documentElement.clientHeight/100;return e*(0,Math["vmin"===i?"min":"max"])(s,o);default:return e}}function o(t,e){this.element=t;var i,r,o,a,l,c,u,h,d=["min-width","min-height","max-width","max-height"];this.call=function(){for(i in o=function(t){if(!t.getBoundingClientRect)return{width:t.offsetWidth,height:t.offsetHeight};var e=t.getBoundingClientRect();return{width:Math.round(e.width),height:Math.round(e.height)}}(this.element),c={},n[e])!n[e].hasOwnProperty(i)||(a=s(this.element,(r=n[e][i]).value),l="width"===r.property?o.width:o.height,u="","min"===r.mode&&l>=a&&(u+=r.value),"max"===r.mode&&l<=a&&(u+=r.value),c[h=r.mode+"-"+r.property]||(c[h]=""),u&&-1===(" "+c[h]+" ").indexOf(" "+u+" ")&&(c[h]+=" "+u));for(var t in d)!d.hasOwnProperty(t)||(c[d[t]]?this.element.setAttribute(d[t],c[d[t]].substr(1)):this.element.removeAttribute(d[t]))}}function a(e,n){e.elementQueriesSetupInformation||(e.elementQueriesSetupInformation=new o(e,n)),e.elementQueriesSensor||(e.elementQueriesSensor=new t(e,function(){e.elementQueriesSetupInformation.call()}))}function l(t,r,s,o){if(void 0===n[t]){n[t]=[];var a=i.length;e.innerHTML+="\n"+t+" {animation: 0.1s element-queries;}",e.innerHTML+="\n"+t+" > .resize-sensor {min-width: "+a+"px;}",i.push(t)}n[t].push({mode:r,property:s,value:o})}function c(t){var e;if(document.querySelectorAll&&(e=t?t.querySelectorAll.bind(t):document.querySelectorAll.bind(document)),!e&&"undefined"!=typeof $$&&(e=$$),!e&&"undefined"!=typeof jQuery&&(e=jQuery),!e)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return e}function u(e){var n=[],i=[],r=[],s=0,o=-1,a=[];for(var l in e.children)if(e.children.hasOwnProperty(l)&&e.children[l].tagName&&"img"===e.children[l].tagName.toLowerCase()){n.push(e.children[l]);var c=e.children[l].getAttribute("min-width")||e.children[l].getAttribute("data-min-width"),u=e.children[l].getAttribute("data-src")||e.children[l].getAttribute("url");r.push(u),i.push({minWidth:c}),c?e.children[l].style.display="none":(s=n.length-1,e.children[l].style.display="block")}function h(){var t,l=!1;for(t in n)!n.hasOwnProperty(t)||i[t].minWidth&&e.offsetWidth>i[t].minWidth&&(l=t);if(l||(l=s),o!==l)if(a[l])n[o].style.display="none",n[l].style.display="block",o=l;else{var c=new Image;c.onload=function(){n[l].src=r[l],n[o].style.display="none",n[l].style.display="block",a[l]=!0,o=l},c.src=r[l]}else n[l].src=r[l]}o=s,e.resizeSensorInstance=new t(e,h),h()}var h=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,d=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function p(t){var e,n,i,r;for(t=t.replace(/'/g,'"');null!==(e=h.exec(t));)for(n=e[1]+e[3],i=e[2];null!==(r=d.exec(i));)l(n,r[1],r[2],r[3])}function f(t){var e="";if(t)if("string"==typeof t)(-1!==(t=t.toLowerCase()).indexOf("min-width")||-1!==t.indexOf("max-width"))&&p(t);else for(var n=0,i=t.length;n img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",e.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(e),g=!0);for(var r=0,s=document.styleSheets.length;r0&&o.length>r&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,console&&console.warn&&console.warn(a)}return t}function O(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function T(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},r=O.bind(i);return r.listener=n,i.wrapFn=r,r}function k(t,e,n){var i=t._events;if(void 0===i)return[];var r=i[e];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(s=e[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var a=r[t];if(void 0===a)return!1;if("function"==typeof a)v(a,this,e);else{var l=a.length,c=A(a,l);for(n=0;n=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},w.prototype.listeners=function(t){return k(this,t,!0)},w.prototype.rawListeners=function(t){return k(this,t,!1)},w.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):P.call(t,e)},w.prototype.listenerCount=P,w.prototype.eventNames=function(){return this._eventsCount>0?m(this._events):[]},I.prototype.next=function(){if(this.done)return{done:!0};var t=this._next();return t.done&&(this.done=!0),t},"undefined"!=typeof Symbol&&(I.prototype[Symbol.iterator]=function(){return this}),I.of=function(){var t=arguments,e=t.length,n=0;return new I(function(){return n>=e?{done:!0}:{done:!1,value:t[n++]}})},I.empty=function(){var t=new I(null);return t.done=!0,t},I.is=function(t){return t instanceof I||"object"==typeof t&&null!==t&&"function"==typeof t.next};var D=I,R=function(t,e){for(var n,i=arguments.length>1?e:1/0,r=i!==1/0?new Array(i):[],s=0;;){if(s===i)return r;if((n=t.next()).done)return s!==e?r.slice(0,s):r;r[s++]=n.value}},N=function(t){function n(e,n){var i;return(i=t.call(this)||this).name="GraphError",i.message=e||"",i.data=n||{},i}return e(n,t),n}(o(Error)),L=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N),j=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N),F=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N);function B(t,e){this.key=t,this.attributes=e,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function V(t,e){this.key=t,this.attributes=e,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function z(t,e){this.key=t,this.attributes=e,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function U(t,e,n,i,r,s){this.key=e,this.attributes=s,this.undirected=t,this.source=i,this.target=r,this.generatedKey=n}function H(t,e,n,i,r,s,o){var a,l,c="out",u="in";if(e&&(c=u="undirected"),t.multi){if(void 0===(l=(a=s[c])[r])&&(l=new Set,a[r]=l),l.add(n),i===r&&e)return;void 0===(a=o[u])[i]&&(a[i]=l)}else{if(s[c][r]=n,i===r&&e)return;o[u][i]=n}}function $(t,e,n){var i=t.multi,r=n.source,s=n.target,o=r.key,a=s.key,l=r[e?"undirected":"out"],c=e?"undirected":"in";if(a in l)if(i){var u=l[a];1===u.size?(delete l[a],delete s[c][o]):u.delete(n)}else delete l[a];i||delete s[c][o]}V.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},z.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var G=[{name:function(t){return"get".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes[i]}}},{name:function(t){return"get".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t){var i;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var r=""+t,s=""+arguments[1];if(!(i=c(this,r,s,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(r,'" - "').concat(s,'").'))}else if(!(i=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&i.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return i.attributes}}},{name:function(t){return"has".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes.hasOwnProperty(i)}}},{name:function(t){return"set".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i,r){var s;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+t,a=""+i;if(i=arguments[2],r=arguments[3],!(s=c(this,o,a,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(s=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&s.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return s.attributes[i]=r,this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:i}),this}}},{name:function(t){return"update".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i,r){var s;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+t,a=""+i;if(i=arguments[2],r=arguments[3],!(s=c(this,o,a,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(s=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("function"!=typeof r)throw new L("Graph.".concat(e,": updater should be a function."));if("mixed"!==n&&s.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return s.attributes[i]=r(s.attributes[i]),this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:i}),this}}},{name:function(t){return"remove".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return delete r.attributes[i],this.emit("edgeAttributesUpdated",{key:r.key,type:"remove",attributes:r.attributes,name:i}),this}}},{name:function(t){return"replace".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(e,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes=i,this.emit("edgeAttributesUpdated",{key:r.key,type:"replace",attributes:r.attributes}),this}}},{name:function(t){return"merge".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(e,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return l(r.attributes,i),this.emit("edgeAttributesUpdated",{key:r.key,type:"merge",attributes:r.attributes,data:i}),this}}}],W=D,q=function(){var t,e=arguments,n=-1;return new W(function i(){if(!t){if(++n>=e.length)return{done:!0};t=e[n]}var r=t.next();return r.done?(t=null,i()):r})},X=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Y(t,e){for(var n in e)t.push(e[n].key)}function K(t,e){for(var n in e)e[n].forEach(function(e){return t.push(e.key)})}function Q(t,e,n){for(var i in t)if(i!==n){var r=t[i];e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey)}}function Z(t,e,n){for(var i in t)i!==n&&t[i].forEach(function(t){return e(t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes,t.undirected,t.generatedKey)})}function J(t,e,n){for(var i in t)if(i!==n){var r=t[i];if(e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey))return!0}return!1}function tt(t,e,n){var i,r,s,o,a;for(var l in t)if(l!==n)for(i=t[l].values();!0!==(r=i.next()).done;)if(o=(s=r.value).source,e(s.key,s.attributes,o.key,(a=s.target).key,o.attributes,a.attributes,s.undirected,s.generatedKey))return!0;return!1}function et(t,e){var n=Object.keys(t),i=n.length,r=null,s=0;return new D(function o(){var a;if(r){var l=r.next();if(l.done)return r=null,s++,o();a=l.value}else{if(s>=i)return{done:!0};var c=n[s];if(c===e)return s++,o();if((a=t[c])instanceof Set)return r=a.values(),o();s++}return{done:!1,value:[a.key,a.attributes,a.source.key,a.target.key,a.source.attributes,a.target.attributes]}})}function nt(t,e,n){var i=e[n];i&&t.push(i.key)}function it(t,e,n){var i=e[n];i&&i.forEach(function(e){return t.push(e.key)})}function rt(t,e,n){var i=t[e];if(i){var r=i.source,s=i.target;n(i.key,i.attributes,r.key,s.key,r.attributes,s.attributes,i.undirected,i.generatedKey)}}function st(t,e,n){var i=t[e];i&&i.forEach(function(t){return n(t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes,t.undirected,t.generatedKey)})}function ot(t,e,n){var i=t[e];if(i){var r=i.source,s=i.target;return n(i.key,i.attributes,r.key,s.key,r.attributes,s.attributes,i.undirected,i.generatedKey)}}function at(t,e,n){var i=t[e];if(i){for(var r,s,o=i.values();!0!==(r=o.next()).done;)if(n((s=r.value).key,s.attributes,s.source.key,s.target.key,s.source.attributes,s.target.attributes,s.undirected,s.generatedKey))return!0;return!1}}function lt(t,e){var n=t[e];if(n instanceof Set){var i=n.values();return new D(function(){var t=i.next();if(t.done)return t;var e=t.value;return{done:!1,value:[e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes]}})}return D.of([n.key,n.attributes,n.source.key,n.target.key,n.source.attributes,n.target.attributes])}function ct(t,e){if(0===t.size)return[];if("mixed"===e||e===t.type)return"function"==typeof Array.from?Array.from(t._edges.keys()):R(t._edges.keys(),t._edges.size);for(var n,i,r=new Array("undirected"===e?t.undirectedSize:t.directedSize),s="undirected"===e,o=t._edges.values(),a=0;!0!==(n=o.next()).done;)(i=n.value).undirected===s&&(r[a++]=i.key);return r}function ut(t,e,n){if(0!==t.size)for(var i,r,s="mixed"!==e&&e!==t.type,o="undirected"===e,a=t._edges.values();!0!==(i=a.next()).done;)if(r=i.value,!s||r.undirected===o){var l=r.source,c=r.target;n(r.key,r.attributes,l.key,c.key,l.attributes,c.attributes,r.undirected,r.generatedKey)}}function ht(t,e,n){if(0!==t.size)for(var i,r,s="mixed"!==e&&e!==t.type,o="undirected"===e,a=t._edges.values();!0!==(i=a.next()).done;)if(r=i.value,!s||r.undirected===o){var l=r.source,c=r.target;if(n(r.key,r.attributes,l.key,c.key,l.attributes,c.attributes,r.undirected,r.generatedKey))break}}function dt(t,e){if(0===t.size)return D.empty();var n="mixed"!==e&&e!==t.type,i="undirected"===e,r=t._edges.values();return new D(function(){for(var t,e;;){if((t=r.next()).done)return t;if(e=t.value,!n||e.undirected===i)break}return{value:[e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes],done:!1}})}function pt(t,e,n,i){var r=[],s=t?K:Y;return"undirected"!==e&&("out"!==n&&s(r,i.in),"in"!==n&&s(r,i.out),!n&&i.directedSelfLoops>0&&r.splice(r.lastIndexOf(i.key),1)),"directed"!==e&&s(r,i.undirected),r}function ft(t,e,n,i,r){var s=t?Z:Q;"undirected"!==e&&("out"!==n&&s(i.in,r),"in"!==n&&s(i.out,r,n?null:i.key)),"directed"!==e&&s(i.undirected,r)}function gt(t,e,n,i,r){var s=t?tt:J;"undirected"!==e&&("out"!==n&&s(i.in,r)||"in"!==n&&s(i.out,r,n?null:i.key))||"directed"===e||s(i.undirected,r)}function mt(t,e,n){var i=D.empty();return"undirected"!==t&&("out"!==e&&void 0!==n.in&&(i=q(i,et(n.in))),"in"!==e&&void 0!==n.out&&(i=q(i,et(n.out,e?null:n.key)))),"directed"!==t&&void 0!==n.undirected&&(i=q(i,et(n.undirected))),i}function bt(t,e,n,i,r){var s=e?it:nt,o=[];return"undirected"!==t&&(void 0!==i.in&&"out"!==n&&s(o,i.in,r),void 0!==i.out&&"in"!==n&&s(o,i.out,r),!n&&i.directedSelfLoops>0&&o.splice(o.lastIndexOf(i.key),1)),"directed"!==t&&void 0!==i.undirected&&s(o,i.undirected,r),o}function yt(t,e,n,i,r,s){var o=e?st:rt;"undirected"!==t&&(void 0!==i.in&&"out"!==n&&o(i.in,r,s),i.key!==r&&void 0!==i.out&&"in"!==n&&o(i.out,r,s)),"directed"!==t&&void 0!==i.undirected&&o(i.undirected,r,s)}function vt(t,e,n,i,r,s){var o=e?at:ot;"undirected"!==t&&(void 0!==i.in&&"out"!==n&&o(i.in,r,s)||i.key!==r&&void 0!==i.out&&"in"!==n&&o(i.out,r,s,n?null:i.key))||"directed"===t||void 0===i.undirected||o(i.undirected,r,s)}function _t(t,e,n,i){var r=D.empty();return"undirected"!==t&&(void 0!==n.in&&"out"!==e&&i in n.in&&(r=q(r,lt(n.in,i))),void 0!==n.out&&"in"!==e&&i in n.out&&(r=q(r,lt(n.out,i)))),"directed"!==t&&void 0!==n.undirected&&i in n.undirected&&(r=q(r,lt(n.undirected,i))),r}var wt=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function xt(t,e){if(void 0!==e)for(var n in e)t.add(n)}function St(t,e,n){if("mixed"!==t){if("undirected"===t)return Object.keys(n.undirected);if("string"==typeof e)return Object.keys(n[e])}var i=new Set;return"undirected"!==t&&("out"!==e&&xt(i,n.in),"in"!==e&&xt(i,n.out)),"directed"!==t&&xt(i,n.undirected),R(i.values(),i.size)}function Ct(t,e,n){for(var i in e){var r=e[i];r instanceof Set&&(r=r.values().next().value);var s=r.source,o=s===t?r.target:s;n(o.key,o.attributes)}}function Et(t,e,n,i){for(var r in n){var s=n[r];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===e?s.target:o;t.has(a.key)||(t.add(a.key),i(a.key,a.attributes))}}function Ot(t,e,n){for(var i in e){var r=e[i];r instanceof Set&&(r=r.values().next().value);var s=r.source,o=s===t?r.target:s;if(n(o.key,o.attributes))return!0}return!1}function Tt(t,e,n,i){for(var r in n){var s=n[r];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===e?s.target:o;if(!t.has(a.key)&&(t.add(a.key),i(a.key,a.attributes)))return!0}return!1}function kt(t,e){var n=Object.keys(e),i=n.length,r=0;return new D(function(){if(r>=i)return{done:!0};var s=e[n[r++]];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===t?s.target:o;return{done:!1,value:[a.key,a.attributes]}})}function Pt(t,e,n){var i=Object.keys(n),r=i.length,s=0;return new D(function o(){if(s>=r)return{done:!0};var a=n[i[s++]];a instanceof Set&&(a=a.values().next().value);var l=a.source,c=l===e?a.target:l;return t.has(c.key)?o():(t.add(c.key),{done:!1,value:[c.key,c.attributes]})})}function At(t,e,n,i,r){var s=t._nodes.get(i);if("undirected"!==e){if("out"!==n&&void 0!==s.in)for(var o in s.in)if(o===r)return!0;if("in"!==n&&void 0!==s.out)for(var a in s.out)if(a===r)return!0}if("directed"!==e&&void 0!==s.undirected)for(var l in s.undirected)if(l===r)return!0;return!1}function Mt(t,e,n){for(var i,r,s,o,a,l,c,u=e._nodes.values(),h=e.type;!0!==(i=u.next()).done;){if(r=i.value,"undirected"!==h)for(s in o=r.out)if(l=(a=o[s]).target,c=n(r.key,l.key,r.attributes,l.attributes,a.key,a.attributes,a.undirected,a.generatedKey),t&&c)return;if("directed"!==h)for(s in o=r.undirected)if((l=(a=o[s]).target).key!==s&&(l=a.source),c=n(r.key,l.key,r.attributes,l.attributes,a.key,a.attributes,a.undirected,a.generatedKey),t&&c)return}}function It(t,e,n){for(var i,r,s,o,a,l,c,u,h,d=e._nodes.values(),p=e.type;!0!==(i=d.next()).done;){if(r=i.value,"undirected"!==p)for(s in l=r.out)for(o=l[s].values();!0!==(a=o.next()).done;)if(u=(c=a.value).target,h=n(r.key,u.key,r.attributes,u.attributes,c.key,c.attributes,c.undirected,c.generatedKey),t&&h)return;if("directed"!==p)for(s in l=r.undirected)for(o=l[s].values();!0!==(a=o.next()).done;)if((u=(c=a.value).target).key!==s&&(u=c.source),h=n(r.key,u.key,r.attributes,u.attributes,c.key,c.attributes,c.undirected,c.generatedKey),t&&h)return}}function Dt(t,e){var n={key:t};return d(e.attributes)||(n.attributes=l({},e.attributes)),n}function Rt(t,e){var n={source:e.source.key,target:e.target.key};return e.generatedKey||(n.key=t),d(e.attributes)||(n.attributes=l({},e.attributes)),e.undirected&&(n.undirected=!0),n}function Nt(t){return h(t)?"key"in t?!("attributes"in t)||h(t.attributes)&&null!==t.attributes?null:"invalid-attributes":"no-key":"not-object"}function Lt(t){return h(t)?"source"in t?"target"in t?!("attributes"in t)||h(t.attributes)&&null!==t.attributes?"undirected"in t&&"boolean"!=typeof t.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var jt=new Set(["directed","undirected","mixed"]),Ft=new Set(["domain","_events","_eventsCount","_maxListeners"]),Bt={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Vt(t,e,n){var i=new t.NodeDataClass(e,n);return t._nodes.set(e,i),t.emit("nodeAdded",{key:e,attributes:n}),i}function zt(t,e,n,i,r,s,o,a){if(!i&&"undirected"===t.type)throw new F("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===t.type)throw new F("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(a&&!h(a))throw new L("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(a,'"'));if(s=""+s,o=""+o,a=a||{},!t.allowSelfLoops&&s===o)throw new F("Graph.".concat(e,': source & target are the same ("').concat(s,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var l=t._nodes.get(s),c=t._nodes.get(o);if(!l)throw new j("Graph.".concat(e,': source node "').concat(s,'" not found.'));if(!c)throw new j("Graph.".concat(e,': target node "').concat(o,'" not found.'));var u={key:null,undirected:i,source:s,target:o,attributes:a};if(n&&(r=t._edgeKeyGenerator(u)),t._edges.has(r=""+r))throw new F("Graph.".concat(e,': the "').concat(r,'" edge already exists in the graph.'));if(!t.multi&&(i?void 0!==l.undirected[o]:void 0!==l.out[o]))throw new F("Graph.".concat(e,': an edge linking "').concat(s,'" to "').concat(o,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var d=new U(i,r,n,l,c,a);return t._edges.set(r,d),s===o?i?(l.undirectedSelfLoops++,t._undirectedSelfLoopCount++):(l.directedSelfLoops++,t._directedSelfLoopCount++):i?(l.undirectedDegree++,c.undirectedDegree++):(l.outDegree++,c.inDegree++),H(t,i,d,s,o,l,c),i?t._undirectedSize++:t._directedSize++,u.key=r,t.emit("edgeAdded",u),r}function Ut(t,e,n,i,r,s,o,a,c){if(!i&&"undirected"===t.type)throw new F("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===t.type)throw new F("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(a)if(c){if("function"!=typeof a)throw new L("Graph.".concat(e,': invalid updater function. Expecting a function but got "').concat(a,'"'))}else if(!h(a))throw new L("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(a,'"'));var u;if(s=""+s,o=""+o,c&&(u=a,a=void 0),!t.allowSelfLoops&&s===o)throw new F("Graph.".concat(e,': source & target are the same ("').concat(s,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var d,p,f=t._nodes.get(s),g=t._nodes.get(o);if(!n&&(d=t._edges.get(r))){if(d.source.key!==s||d.target.key!==o||i&&(d.source.key!==o||d.target.key!==s))throw new F("Graph.".concat(e,': inconsistency detected when attempting to merge the "').concat(r,'" edge with "').concat(s,'" source & "').concat(o,'" target vs. ("').concat(d.source.key,'", "').concat(d.target.key,'").'));p=d}if(p||t.multi||!f||(p=i?f.undirected[o]:f.out[o]),p)return(c?u:a)?(c?(p.attributes=u(p.attributes),t.emit("edgeAttributesUpdated",{type:"replace",key:p.key,attributes:p.attributes})):(l(p.attributes,a),t.emit("edgeAttributesUpdated",{type:"merge",key:p.key,attributes:p.attributes,data:a})),p.key):p.key;a=a||{},c&&u&&(a=u(a));var m={key:null,undirected:i,source:s,target:o,attributes:a};if(n&&(r=t._edgeKeyGenerator(m)),t._edges.has(r=""+r))throw new F("Graph.".concat(e,': the "').concat(r,'" edge already exists in the graph.'));return f||(f=Vt(t,s,{}),s===o&&(g=f)),g||(g=Vt(t,o,{})),d=new U(i,r,n,f,g,a),t._edges.set(r,d),s===o?i?(f.undirectedSelfLoops++,t._undirectedSelfLoopCount++):(f.directedSelfLoops++,t._directedSelfLoopCount++):i?(f.undirectedDegree++,g.undirectedDegree++):(f.outDegree++,g.inDegree++),H(t,i,d,s,o,f,g),i?t._undirectedSize++:t._directedSize++,m.key=r,t.emit("edgeAdded",m),r}var Ht,$t=function(t){function n(e){var n;if(n=t.call(this)||this,(e=l({},Bt,e)).edgeKeyGenerator&&"function"!=typeof e.edgeKeyGenerator)throw new L("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(e.edgeKeyGenerator,'".'));if("boolean"!=typeof e.multi)throw new L("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(e.multi,'".'));if(!jt.has(e.type))throw new L('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(e.type,'".'));if("boolean"!=typeof e.allowSelfLoops)throw new L("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(e.allowSelfLoops,'".'));var i,r="mixed"===e.type?B:"directed"===e.type?V:z;return p(a(n),"NodeDataClass",r),p(a(n),"_attributes",{}),p(a(n),"_nodes",new Map),p(a(n),"_edges",new Map),p(a(n),"_directedSize",0),p(a(n),"_undirectedSize",0),p(a(n),"_directedSelfLoopCount",0),p(a(n),"_undirectedSelfLoopCount",0),p(a(n),"_edgeKeyGenerator",e.edgeKeyGenerator||(i=0,function(){return i++})),p(a(n),"_options",e),Ft.forEach(function(t){return p(a(n),t,n[t])}),f(a(n),"order",function(){return n._nodes.size}),f(a(n),"size",function(){return n._edges.size}),f(a(n),"directedSize",function(){return n._directedSize}),f(a(n),"undirectedSize",function(){return n._undirectedSize}),f(a(n),"selfLoopCount",function(){return n._directedSelfLoopCount+n._undirectedSelfLoopCount}),f(a(n),"directedSelfLoopCount",function(){return n._directedSelfLoopCount}),f(a(n),"undirectedSelfLoopCount",function(){return n._undirectedSelfLoopCount}),f(a(n),"multi",n._options.multi),f(a(n),"type",n._options.type),f(a(n),"allowSelfLoops",n._options.allowSelfLoops),f(a(n),"implementation",function(){return"graphology"}),n}e(n,t);var i=n.prototype;return i.hasNode=function(t){return this._nodes.has(""+t)},i.hasDirectedEdge=function(t,e){if("undirected"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+t);return!!n&&!n.undirected}if(2===arguments.length){e=""+e;var i=this._nodes.get(t=""+t);if(!i)return!1;var r=i.out[e];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasUndirectedEdge=function(t,e){if("directed"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+t);return!!n&&n.undirected}if(2===arguments.length){e=""+e;var i=this._nodes.get(t=""+t);if(!i)return!1;var r=i.undirected[e];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasEdge=function(t,e){if(1===arguments.length)return this._edges.has(""+t);if(2===arguments.length){e=""+e;var n=this._nodes.get(t=""+t);if(!n)return!1;var i=void 0!==n.out&&n.out[e];return i||(i=void 0!==n.undirected&&n.undirected[e]),!(!i||this.multi&&!i.size)}throw new L("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.directedEdge=function(t,e){if("undirected"!==this.type){if(t=""+t,e=""+e,this.multi)throw new F("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var n=this._nodes.get(t);if(!n)throw new j('Graph.directedEdge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.directedEdge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.out&&n.out[e]||void 0;return i?i.key:void 0}},i.undirectedEdge=function(t,e){if("directed"!==this.type){if(t=""+t,e=""+e,this.multi)throw new F("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var n=this._nodes.get(t);if(!n)throw new j('Graph.undirectedEdge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.undirectedEdge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.undirected&&n.undirected[e]||void 0;return i?i.key:void 0}},i.edge=function(t,e){if(this.multi)throw new F("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");e=""+e;var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.edge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.edge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.out&&n.out[e]||n.undirected&&n.undirected[e]||void 0;if(i)return i.key},i.inDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.inDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.inDegree: could not find the "'.concat(t,'" node in the graph.'));return"undirected"===this.type?0:n.inDegree+(e?n.directedSelfLoops:0)},i.outDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.outDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.outDegree: could not find the "'.concat(t,'" node in the graph.'));return"undirected"===this.type?0:n.outDegree+(e?n.directedSelfLoops:0)},i.directedDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.directedDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.directedDegree: could not find the "'.concat(t,'" node in the graph.'));if("undirected"===this.type)return 0;var i=e?n.directedSelfLoops:0;return n.inDegree+i+(n.outDegree+i)},i.undirectedDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.undirectedDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.undirectedDegree: could not find the "'.concat(t,'" node in the graph.'));return"directed"===this.type?0:n.undirectedDegree+2*(e?n.undirectedSelfLoops:0)},i.degree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.degree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.degree: could not find the "'.concat(t,'" node in the graph.'));var i=0,r=0;return"directed"!==this.type&&(e&&(r=n.undirectedSelfLoops),i+=n.undirectedDegree+2*r),"undirected"!==this.type&&(e&&(r=n.directedSelfLoops),i+=n.inDegree+n.outDegree+2*r),i},i.source=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.source: could not find the "'.concat(t,'" edge in the graph.'));return e.source.key},i.target=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.target: could not find the "'.concat(t,'" edge in the graph.'));return e.target.key},i.extremities=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.extremities: could not find the "'.concat(t,'" edge in the graph.'));return[e.source.key,e.target.key]},i.opposite=function(t,e){t=""+t;var n=this._edges.get(e=""+e);if(!n)throw new j('Graph.opposite: could not find the "'.concat(e,'" edge in the graph.'));var i=n.source.key,r=n.target.key;if(t!==i&&t!==r)throw new j('Graph.opposite: the "'.concat(t,'" node is not attached to the "').concat(e,'" edge (').concat(i,", ").concat(r,")."));return t===i?r:i},i.hasExtremity=function(t,e){e=""+e;var n=this._edges.get(t=""+t);if(!n)throw new j('Graph.hasExtremity: could not find the "'.concat(t,'" edge in the graph.'));return n.source.key===e||n.target.key===e},i.isUndirected=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isUndirected: could not find the "'.concat(t,'" edge in the graph.'));return e.undirected},i.isDirected=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isDirected: could not find the "'.concat(t,'" edge in the graph.'));return!e.undirected},i.isSelfLoop=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isSelfLoop: could not find the "'.concat(t,'" edge in the graph.'));return e.source===e.target},i.hasGeneratedKey=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.hasGeneratedKey: could not find the "'.concat(t,'" edge in the graph.'));return e.generatedKey},i.addNode=function(t,e){return function(t,e,n){if(n&&!h(n))throw new L('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(n,'"'));if(n=n||{},t._nodes.has(e=""+e))throw new F('Graph.addNode: the "'.concat(e,'" node already exist in the graph.'));var i=new t.NodeDataClass(e,n);return t._nodes.set(e,i),t.emit("nodeAdded",{key:e,attributes:n}),i}(this,t,e).key},i.mergeNode=function(t,e){if(e&&!h(e))throw new L('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(e,'"'));e=e||{};var n=this._nodes.get(t=""+t);return n?(e&&(l(n.attributes,e),this.emit("nodeAttributesUpdated",{type:"merge",key:t,attributes:n.attributes,data:e})),t):(n=new this.NodeDataClass(t,e),this._nodes.set(t,n),this.emit("nodeAdded",{key:t,attributes:e}),t)},i.updateNode=function(t,e){if(e&&"function"!=typeof e)throw new L('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(e,'"'));var n=this._nodes.get(t=""+t);if(n)return e&&(n.attributes=e(n.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:t,attributes:n.attributes})),t;var i=e?e({}):{};return n=new this.NodeDataClass(t,i),this._nodes.set(t,n),this.emit("nodeAdded",{key:t,attributes:i}),t},i.dropNode=function(t){var e=this,n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.dropNode: could not find the "'.concat(t,'" node in the graph.'));this.forEachEdge(t,function(t){e.dropEdge(t)}),this._nodes.delete(t),this.emit("nodeDropped",{key:t,attributes:n.attributes})},i.dropEdge=function(t){var e;if(arguments.length>1){var n=""+arguments[0],i=""+arguments[1];if(!(e=c(this,n,i,this.type)))throw new j('Graph.dropEdge: could not find the "'.concat(n,'" -> "').concat(i,'" edge in the graph.'))}else if(!(e=this._edges.get(t=""+t)))throw new j('Graph.dropEdge: could not find the "'.concat(t,'" edge in the graph.'));this._edges.delete(e.key);var r=e.source,s=e.target,o=e.attributes,a=e.undirected;return r===s?a?(r.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(r.directedSelfLoops--,this._directedSelfLoopCount--):a?(r.undirectedDegree--,s.undirectedDegree--):(r.outDegree--,s.inDegree--),$(this,a,e),a?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:t,attributes:o,source:r.key,target:s.key,undirected:a}),this},i.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},i.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},i.getAttribute=function(t){return this._attributes[t]},i.getAttributes=function(){return this._attributes},i.hasAttribute=function(t){return this._attributes.hasOwnProperty(t)},i.setAttribute=function(t,e){return this._attributes[t]=e,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this},i.updateAttribute=function(t,e){if("function"!=typeof e)throw new L("Graph.updateAttribute: updater should be a function.");return this._attributes[t]=e(this._attributes[t]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this},i.removeAttribute=function(t){return delete this._attributes[t],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:t}),this},i.replaceAttributes=function(t){if(!h(t))throw new L("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=t,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},i.mergeAttributes=function(t){if(!h(t))throw new L("Graph.mergeAttributes: provided attributes are not a plain object.");return l(this._attributes,t),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:t}),this},i.getNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.getNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return n.attributes[e]},i.getNodeAttributes=function(t){var e=this._nodes.get(t=""+t);if(!e)throw new j('Graph.getNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));return e.attributes},i.hasNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return n.attributes.hasOwnProperty(e)},i.setNodeAttribute=function(t,e,n){var i=this._nodes.get(t=""+t);if(!i)throw new j('Graph.setNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return i.attributes[e]=n,this.emit("nodeAttributesUpdated",{key:t,type:"set",attributes:i.attributes,name:e}),this},i.updateNodeAttribute=function(t,e,n){var i=this._nodes.get(t=""+t);if(!i)throw new j('Graph.updateNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof n)throw new L("Graph.updateAttribute: updater should be a function.");var r=i.attributes,s=n(r[e]);return r[e]=s,this.emit("nodeAttributesUpdated",{key:t,type:"set",attributes:i.attributes,name:e}),this},i.removeNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return delete n.attributes[e],this.emit("nodeAttributesUpdated",{key:t,type:"remove",attributes:n.attributes,name:e}),this},i.replaceNodeAttributes=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.replaceNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));if(!h(e))throw new L("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return n.attributes=e,this.emit("nodeAttributesUpdated",{key:t,type:"replace",attributes:n.attributes}),this},i.mergeNodeAttributes=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.mergeNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));if(!h(e))throw new L("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return l(n.attributes,e),this.emit("nodeAttributesUpdated",{key:t,type:"merge",attributes:n.attributes,data:e}),this},i.updateEachNodeAttributes=function(t,e){if("function"!=typeof t)throw new L("Graph.updateEachNodeAttributes: expecting an updater function.");if(e&&!g(e))throw new L("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._nodes.values();!0!==(n=r.next()).done;)(i=n.value).attributes=t(i.key,i.attributes);this.emit("eachNodeAttributesUpdated",{hints:e||null})},i.updateEachEdgeAttributes=function(t,e){if("function"!=typeof t)throw new L("Graph.updateEachEdgeAttributes: expecting an updater function.");if(e&&!g(e))throw new L("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._edges.values();!0!==(n=r.next()).done;)(i=n.value).attributes=t(i.key,i.attributes);this.emit("eachEdgeAttributesUpdated",{hints:e||null})},i.forEach=function(t){if("function"!=typeof t)throw new L("Graph.forEach: expecting a callback.");this.multi?It(!1,this,t):Mt(!1,this,t)},i.forEachUntil=function(t){if("function"!=typeof t)throw new L("Graph.forEach: expecting a callback.");this.multi?It(!0,this,t):Mt(!0,this,t)},i.adjacency=function(){return this.multi?(p=(l=this)._nodes.values(),f=l.type,g="outer",m=null,new D(function t(){var e;if("outer"===g)return!0===(e=p.next()).done?e:(c=e.value,g="directed",t());if("directed"===g)return"undirected"===f?(g="undirected",t()):(h=c.out,u=Object.keys(c.out),d=0,g="inner-directed",t());if("undirected"===g){if("directed"===f)return g="outer",t();h=c.undirected,u=Object.keys(c.undirected),d=0,g="inner-undirected"}if(!m&&d>=u.length)return g="inner-undirected"===g?"outer":"undirected",t();if(!m){var n=u[d++];return m=h[n].values(),t()}if((e=m.next()).done)return m=null,t();var i=e.value,r=i.target;return"inner-undirected"===g&&r.key===c.key&&(r=i.source),{done:!1,value:[c.key,r.key,c.attributes,r.attributes,i.key,i.attributes]}})):(s=(t=this)._nodes.values(),o=t.type,a="outer",new D(function t(){var l;if("outer"===a)return!0===(l=s.next()).done?l:(e=l.value,a="directed",t());if("directed"===a)return"undirected"===o?(a="undirected",t()):(i=e.out,n=Object.keys(e.out),r=0,a="inner-directed",t());if("undirected"===a){if("directed"===o)return a="outer",t();i=e.undirected,n=Object.keys(e.undirected),r=0,a="inner-undirected"}if(r>=n.length)return a="inner-undirected"===a?"outer":"undirected",t();var c=n[r++],u=i[c],h=u.target;return"inner-undirected"===a&&h.key===e.key&&(h=u.source),{done:!1,value:[e.key,h.key,e.attributes,h.attributes,u.key,u.attributes]}}));var t,e,n,i,r,s,o,a,l,c,u,h,d,p,f,g,m},i.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):R(this._nodes.keys(),this._nodes.size)},i.forEachNode=function(t){if("function"!=typeof t)throw new L("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(e,n){t(n,e.attributes)})},i.forEachNodeUntil=function(t){if("function"!=typeof t)throw new L("Graph.forEachNode: expecting a callback.");for(var e,n,i=this._nodes.values();!0!==(e=i.next())&&!t((n=e.value).key,n.attributes););},i.nodeEntries=function(){var t=this._nodes.values();return new D(function(){var e=t.next();if(e.done)return e;var n=e.value;return{value:[n.key,n.attributes],done:!1}})},i.exportNode=function(t){var e=this._nodes.get(t=""+t);if(!e)throw new j('Graph.exportNode: could not find the "'.concat(t,'" node in the graph.'));return Dt(t,e)},i.exportEdge=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.exportEdge: could not find the "'.concat(t,'" edge in the graph.'));return Rt(t,e)},i.export=function(){var t=new Array(this._nodes.size),e=0;this._nodes.forEach(function(n,i){t[e++]=Dt(i,n)});var n=new Array(this._edges.size);return e=0,this._edges.forEach(function(t,i){n[e++]=Rt(i,t)}),{attributes:this.getAttributes(),nodes:t,edges:n,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},i.importNode=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Nt(t);if(n){if("not-object"===n)throw new L('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===n)throw new L("Graph.importNode: no key provided.");if("invalid-attributes"===n)throw new L("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var i=t.key,r=t.attributes,s=void 0===r?{}:r;return e?this.mergeNode(i,s):this.addNode(i,s),this},i.importEdge=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Lt(t);if(n){if("not-object"===n)throw new L('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===n)throw new L("Graph.importEdge: missing souce.");if("no-target"===n)throw new L("Graph.importEdge: missing target.");if("invalid-attributes"===n)throw new L("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===n)throw new L("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var i=t.source,r=t.target,s=t.attributes,o=void 0===s?{}:s,a=t.undirected,l=void 0!==a&&a;return"key"in t?(e?l?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:l?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,t.key,i,r,o):(e?l?this.mergeUndirectedEdge:this.mergeDirectedEdge:l?this.addUndirectedEdge:this.addDirectedEdge).call(this,i,r,o),this},i.import=function(t){var e,n,i,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(u(t))return this.import(t.export(),r),this;if(!h(t))throw new L("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(t.attributes){if(!h(t.attributes))throw new L("Graph.import: invalid attributes. Expecting a plain object.");r?this.mergeAttributes(t.attributes):this.replaceAttributes(t.attributes)}if(t.nodes){if(i=t.nodes,!Array.isArray(i))throw new L("Graph.import: invalid nodes. Expecting an array.");for(e=0,n=i.length;en)){var o=new Set;o.add(e.undirected[s]),e.undirected[s]=o,t._nodes.get(s).undirected[n]=o}})),this;var t},i.clearIndex=function(){return this._nodes.forEach(function(t){void 0!==t.in&&(t.in={},t.out={}),void 0!==t.undirected&&(t.undirected={})}),this},i.toJSON=function(){return this.export()},i.toString=function(){return"[object Graph]"},i.inspect=function(){var t=this,e={};this._nodes.forEach(function(t,n){e[n]=t.attributes});var n={},i={};this._edges.forEach(function(e,r){var s=e.undirected?"--":"->",o="",a="(".concat(e.source.key,")").concat(s,"(").concat(e.target.key,")");e.generatedKey?t.multi&&(void 0===i[a]?i[a]=0:i[a]++,o+="".concat(i[a],". ")):o+="[".concat(r,"]: "),n[o+=a]=e.attributes});var r={};for(var s in this)this.hasOwnProperty(s)&&!Ft.has(s)&&"function"!=typeof this[s]&&(r[s]=this[s]);return r.attributes=this._attributes,r.nodes=e,r.edges=n,p(r,"constructor",this.constructor),r},n}(b.exports.EventEmitter);"undefined"!=typeof Symbol&&($t.prototype[Symbol.for("nodejs.util.inspect.custom")]=$t.prototype.inspect),[{name:function(t){return"".concat(t,"Edge")},generateKey:!0},{name:function(t){return"".concat(t,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(t){return"".concat(t,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(t){return"".concat(t,"EdgeWithKey")}},{name:function(t){return"".concat(t,"DirectedEdgeWithKey")},type:"directed"},{name:function(t){return"".concat(t,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(t){["add","merge","update"].forEach(function(e){var n=t.name(e),i="add"===e?zt:Ut;$t.prototype[n]=t.generateKey?function(r,s,o){return i(this,n,!0,"undirected"===(t.type||this.type),null,r,s,o,"update"===e)}:function(r,s,o,a){return i(this,n,!1,"undirected"===(t.type||this.type),r,s,o,a,"update"===e)}})}),"undefined"!=typeof Symbol&&($t.prototype[Symbol.iterator]=$t.prototype.adjacency),Ht=$t,G.forEach(function(t){var e=t.name,n=t.attacher;n(Ht,e("Edge"),"mixed"),n(Ht,e("DirectedEdge"),"directed"),n(Ht,e("UndirectedEdge"),"undirected")}),function(t){X.forEach(function(e){var n,i,r,s;r=(n=e).type,s=n.direction,t.prototype[i=n.name]=function(t,e){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(!arguments.length)return ct(this,r);if(1===arguments.length){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));return pt(this.multi,"mixed"===r?this.type:r,s,n)}if(2===arguments.length){e=""+e;var o=this._nodes.get(t=""+t);if(!o)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(i,': could not find the "').concat(e,'" target node in the graph.'));return bt(r,this.multi,s,o,e)}throw new L("Graph.".concat(i,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(t,e,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return ut(this,i,n=t);if(2===arguments.length){n=e;var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));return ft(this.multi,"mixed"===i?this.type:i,r,o,n)}if(3===arguments.length){e=""+e;var a=this._nodes.get(t=""+t);if(!a)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(s,': could not find the "').concat(e,'" target node in the graph.'));return yt(i,this.multi,r,a,e,n)}throw new L("Graph.".concat(s,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(t,e),function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";t.prototype[s]=function(t,e,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return ht(this,i,n=t);if(2===arguments.length){n=e;var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));return gt(this.multi,"mixed"===i?this.type:i,r,o,n)}if(3===arguments.length){e=""+e;var a=this._nodes.get(t=""+t);if(!a)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(s,': could not find the "').concat(e,'" target node in the graph.'));return vt(i,this.multi,r,a,e,n)}throw new L("Graph.".concat(s,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(t,e),function(t,e){var n=e.type,i=e.direction,r=e.name.slice(0,-1)+"Entries";t.prototype[r]=function(t,e){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return D.empty();if(!arguments.length)return dt(this,n);if(1===arguments.length){var s=this._nodes.get(t=""+t);if(!s)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" node in the graph.'));return mt(n,i,s)}if(2===arguments.length){e=""+e;var o=this._nodes.get(t=""+t);if(!o)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(r,': could not find the "').concat(e,'" target node in the graph.'));return _t(n,i,o,e)}throw new L("Graph.".concat(r,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(t,e)})}($t),function(t){wt.forEach(function(e){var n,i,r,s;r=(n=e).type,s=n.direction,t.prototype[i=n.name]=function(t){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(2===arguments.length){var e=""+arguments[0],n=""+arguments[1];if(!this._nodes.has(e))throw new j("Graph.".concat(i,': could not find the "').concat(e,'" node in the graph.'));if(!this._nodes.has(n))throw new j("Graph.".concat(i,': could not find the "').concat(n,'" node in the graph.'));return At(this,r,s,e,n)}if(1===arguments.length){var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));return St("mixed"===r?this.type:r,s,o)}throw new L("Graph.".concat(i,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(t,e){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));!function(t,e,n,i){if("mixed"!==t){if("undirected"===t)return Ct(n,n.undirected,i);if("string"==typeof e)return Ct(n,n[e],i)}var r=new Set;"undirected"!==t&&("out"!==e&&Et(r,n,n.in,i),"in"!==e&&Et(r,n,n.out,i)),"directed"!==t&&Et(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,e)}}}(t,e),function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";t.prototype[s]=function(t,e){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));!function(t,e,n,i){if("mixed"!==t){if("undirected"===t)return Ot(n,n.undirected,i);if("string"==typeof e)return Ot(n,n[e],i)}var r=new Set;"undirected"!==t&&("out"!==e&&Tt(r,n,n.in,i)||"in"!==e&&Tt(r,n,n.out,i))||"directed"===t||Tt(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,e)}}}(t,e),function(t,e){var n=e.type,i=e.direction,r=e.name.slice(0,-1)+"Entries";t.prototype[r]=function(t){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return D.empty();var e=this._nodes.get(t=""+t);if(void 0===e)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" node in the graph.'));return function(t,e,n){if("mixed"!==t){if("undirected"===t)return kt(n,n.undirected);if("string"==typeof e)return kt(n,n[e])}var i=D.empty(),r=new Set;return"undirected"!==t&&("out"!==e&&(i=q(i,Pt(r,n,n.in))),"in"!==e&&(i=q(i,Pt(r,n,n.out)))),"directed"!==t&&(i=q(i,Pt(r,n,n.undirected))),i}("mixed"===n?this.type:n,i,e)}}(t,e)})}($t);var Gt=function(t){function n(e){var n=l({type:"directed"},e);if("multi"in n&&!1!==n.multi)throw new L("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==n.type)throw new L('DirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),Wt=function(t){function n(e){var n=l({type:"undirected"},e);if("multi"in n&&!1!==n.multi)throw new L("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==n.type)throw new L('UndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),qt=function(t){function n(e){var n=l({multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return t.call(this,n)||this}return e(n,t),n}($t),Xt=function(t){function n(e){var n=l({type:"directed",multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==n.type)throw new L('MultiDirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),Yt=function(t){function n(e){var n=l({type:"undirected",multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==n.type)throw new L('MultiUndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t);function Kt(t){t.from=function(e,n){var i=l({},e.options,n),r=new t(i);return r.import(e),r}}return Kt($t),Kt(Gt),Kt(Wt),Kt(qt),Kt(Xt),Kt(Yt),$t.Graph=$t,$t.DirectedGraph=Gt,$t.UndirectedGraph=Wt,$t.MultiGraph=qt,$t.MultiDirectedGraph=Xt,$t.MultiUndirectedGraph=Yt,$t.InvalidArgumentsGraphError=L,$t.NotFoundGraphError=j,$t.UsageGraphError=F,$t}()},11524:function(t,e,n){var i;!function(r,s,o,a){"use strict";var l,c=["","webkit","Moz","MS","ms","o"],u=s.createElement("div"),h=Math.round,d=Math.abs,p=Date.now;function f(t,e,n){return setTimeout(w(t,n),e)}function g(t,e,n){return!!Array.isArray(t)&&(m(t,n[e],n),!0)}function m(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==a)for(i=0;i\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=r.console&&(r.console.warn||r.console.log);return s&&s.call(r.console,i,n),t.apply(this,arguments)}}l="function"!=typeof Object.assign?function(t){if(t===a||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n-1}function k(t){return t.trim().split(/\s+/g)}function P(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;in[e]}):i.sort()),i}function I(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),s=0;s1&&!n.firstMultiple?n.firstMultiple=$(e):1===r&&(n.firstMultiple=!1);var s=n.firstInput,o=n.firstMultiple,l=o?o.center:s.center,c=e.center=G(i);e.timeStamp=p(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=Y(l,c),e.distance=X(l,c),function(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};(1===e.eventType||4===s.eventType)&&(r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}(n,e),e.offsetDirection=q(e.deltaX,e.deltaY);var u=W(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=d(u.x)>d(u.y)?u.x:u.y,e.scale=o?function(t,e){return X(e[0],e[1],z)/X(t[0],t[1],z)}(o.pointers,i):1,e.rotation=o?function(t,e){return Y(e[1],e[0],z)+Y(t[1],t[0],z)}(o.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,i,r,s,o=t.lastInterval||e,l=e.timeStamp-o.timeStamp;if(8!=e.eventType&&(l>25||o.velocity===a)){var c=e.deltaX-o.deltaX,u=e.deltaY-o.deltaY,h=W(l,c,u);i=h.x,r=h.y,n=d(h.x)>d(h.y)?h.x:h.y,s=q(c,u),t.lastInterval=e}else n=o.velocity,i=o.velocityX,r=o.velocityY,s=o.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=s}(n,e);var h=t.element;O(e.srcEvent.target,h)&&(h=e.srcEvent.target),e.target=h}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function $(t){for(var e=[],n=0;n=d(e)?t<0?2:4:e<0?8:16}function X(t,e,n){n||(n=V);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function Y(t,e,n){return n||(n=V),180*Math.atan2(e[n[1]]-t[n[1]],e[n[0]]-t[n[0]])/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&C(this.element,this.evEl,this.domHandler),this.evTarget&&C(this.target,this.evTarget,this.domHandler),this.evWin&&C(R(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(R(this.element),this.evWin,this.domHandler)}};var K={mousedown:1,mousemove:2,mouseup:4},Q="mousedown",Z="mousemove mouseup";function J(){this.evEl=Q,this.evWin=Z,this.pressed=!1,U.apply(this,arguments)}_(J,U,{handler:function(t){var e=K[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:B,srcEvent:t}))}});var tt={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},et={2:F,3:"pen",4:B,5:"kinect"},nt="pointerdown",it="pointermove pointerup pointercancel";function rt(){this.evEl=nt,this.evWin=it,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(nt="MSPointerDown",it="MSPointerMove MSPointerUp MSPointerCancel"),_(rt,U,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace("ms",""),r=tt[i],s=et[t.pointerType]||t.pointerType,o=s==F,a=P(e,t.pointerId,"pointerId");1&r&&(0===t.button||o)?a<0&&(e.push(t),a=e.length-1):12&r&&(n=!0),!(a<0)&&(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),n&&e.splice(a,1))}});var st={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ot="touchstart",at="touchstart touchmove touchend touchcancel";function lt(){this.evTarget=ot,this.evWin=at,this.started=!1,U.apply(this,arguments)}function ct(t,e){var n=A(t.touches),i=A(t.changedTouches);return 12&e&&(n=M(n.concat(i),"identifier",!0)),[n,i]}_(lt,U,{handler:function(t){var e=st[t.type];if(1===e&&(this.started=!0),this.started){var n=ct.call(this,t,e);12&e&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:F,srcEvent:t})}}});var ut={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ht="touchstart touchmove touchend touchcancel";function dt(){this.evTarget=ht,this.targetIds={},U.apply(this,arguments)}function pt(t,e){var n=A(t.touches),i=this.targetIds;if(3&e&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,s,o=A(t.changedTouches),a=[],l=this.target;if(s=n.filter(function(t){return O(t.target,l)}),1===e)for(r=0;r-1&&i.splice(t,1)},2500)}}function bt(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function i(n){e.manager.emit(n,t)}n<8&&i(e.options.event+kt(n)),i(e.options.event),t.additionalEvent&&i(t.additionalEvent),n>=8&&i(e.options.event+kt(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return Mt.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Pt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),_(Dt,Mt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){1!==t.scale&&(t.additionalEvent=this.options.event+(t.scale<1?"in":"out")),this._super.emit.call(this,t)}}),_(Rt,Tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distancee.time;if(this._input=t,!i||!n||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=f(function(){this.state=8,this.tryEmit()},e.time,this);else if(4&t.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=p(),this.manager.emit(this.options.event,this._input)))}}),_(Nt,Mt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),_(Lt,Mt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return It.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return 30&n?e=t.overallVelocity:6&n?e=t.overallVelocityX:24&n&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&d(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=Pt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),_(jt,Tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[wt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance"']/g,W=RegExp($.source),q=RegExp(G.source),X=/<%-([\s\S]+?)%>/g,Y=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Z=/^\w*$/,J=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,tt=/[\\^$.*+?()[\]{}|]/g,et=RegExp(tt.source),nt=/^\s+/,it=/\s/,rt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,st=/\{\n\/\* \[wrapped with (.+)\] \*/,ot=/,? & /,at=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,lt=/[()=,{}\[\]\/\s]/,ct=/\\(\\)?/g,ut=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ht=/\w*$/,dt=/^[-+]0x[0-9a-f]+$/i,pt=/^0b[01]+$/i,ft=/^\[object .+?Constructor\]$/,gt=/^0o[0-7]+$/i,mt=/^(?:0|[1-9]\d*)$/,bt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,yt=/($^)/,vt=/['\n\r\u2028\u2029\\]/g,_t="\\ud800-\\udfff",wt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",xt="\\u2700-\\u27bf",St="a-z\\xdf-\\xf6\\xf8-\\xff",Ct="A-Z\\xc0-\\xd6\\xd8-\\xde",Et="\\ufe0e\\ufe0f",Ot="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Tt="["+_t+"]",kt="["+Ot+"]",Pt="["+wt+"]",At="\\d+",Mt="["+xt+"]",It="["+St+"]",Dt="[^"+_t+Ot+At+xt+St+Ct+"]",Rt="\\ud83c[\\udffb-\\udfff]",Nt="[^"+_t+"]",Lt="(?:\\ud83c[\\udde6-\\uddff]){2}",jt="[\\ud800-\\udbff][\\udc00-\\udfff]",Ft="["+Ct+"]",Bt="(?:"+It+"|"+Dt+")",Vt="(?:"+Ft+"|"+Dt+")",zt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ut="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Ht="(?:"+Pt+"|"+Rt+")?",$t="["+Et+"]?",Gt=$t+Ht+"(?:\\u200d(?:"+[Nt,Lt,jt].join("|")+")"+$t+Ht+")*",Wt="(?:"+[Mt,Lt,jt].join("|")+")"+Gt,qt="(?:"+[Nt+Pt+"?",Pt,Lt,jt,Tt].join("|")+")",Xt=RegExp("['\u2019]","g"),Yt=RegExp(Pt,"g"),Kt=RegExp(Rt+"(?="+Rt+")|"+qt+Gt,"g"),Qt=RegExp([Ft+"?"+It+"+"+zt+"(?="+[kt,Ft,"$"].join("|")+")",Vt+"+"+Ut+"(?="+[kt,Ft+Bt,"$"].join("|")+")",Ft+"?"+Bt+"+"+zt,Ft+"+"+Ut,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",At,Wt].join("|"),"g"),Zt=RegExp("[\\u200d"+_t+wt+Et+"]"),Jt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,te=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ee=-1,ne={};ne[I]=ne[D]=ne[R]=ne[N]=ne[L]=ne[j]=ne[F]=ne[B]=ne[V]=!0,ne[f]=ne[g]=ne[A]=ne[m]=ne[M]=ne[b]=ne[y]=ne[v]=ne[w]=ne[x]=ne[S]=ne[E]=ne[O]=ne[T]=ne[P]=!1;var ie={};ie[f]=ie[g]=ie[A]=ie[M]=ie[m]=ie[b]=ie[I]=ie[D]=ie[R]=ie[N]=ie[L]=ie[w]=ie[x]=ie[S]=ie[E]=ie[O]=ie[T]=ie[k]=ie[j]=ie[F]=ie[B]=ie[V]=!0,ie[y]=ie[v]=ie[P]=!1;var re={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},se=parseFloat,oe=parseInt,ae="object"==typeof global&&global&&global.Object===Object&&global,le="object"==typeof self&&self&&self.Object===Object&&self,ce=ae||le||Function("return this")(),ue=e&&!e.nodeType&&e,he=ue&&t&&!t.nodeType&&t,de=he&&he.exports===ue,pe=de&&ae.process,fe=function(){try{return he&&he.require&&he.require("util").types||pe&&pe.binding&&pe.binding("util")}catch(t){}}(),ge=fe&&fe.isArrayBuffer,me=fe&&fe.isDate,be=fe&&fe.isMap,ye=fe&&fe.isRegExp,ve=fe&&fe.isSet,_e=fe&&fe.isTypedArray;function we(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function xe(t,e,n,i){for(var r=-1,s=null==t?0:t.length;++r-1}function ke(t,e,n){for(var i=-1,r=null==t?0:t.length;++i-1;);return n}function Qe(t,e){for(var n=t.length;n--&&je(e,t[n],0)>-1;);return n}function Ze(t,e){for(var n=t.length,i=0;n--;)t[n]===e&&++i;return i}var Je=Ue({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),tn=Ue({"&":"&","<":"<",">":">",'"':""","'":"'"});function en(t){return"\\"+re[t]}function nn(t){return Zt.test(t)}function rn(t){var e=-1,n=Array(t.size);return t.forEach(function(t,i){n[++e]=[i,t]}),n}function sn(t,e){return function(n){return t(e(n))}}function on(t,e){for(var n=-1,i=t.length,r=0,s=[];++n",""":'"',"'":"'"}),dn=function t(e){var n,i=(e=null==e?ce:dn.defaults(ce.Object(),e,dn.pick(ce,te))).Array,it=e.Date,_t=e.Error,wt=e.Function,xt=e.Math,St=e.Object,Ct=e.RegExp,Et=e.String,Ot=e.TypeError,Tt=i.prototype,kt=St.prototype,Pt=e["__core-js_shared__"],At=wt.prototype.toString,Mt=kt.hasOwnProperty,It=0,Dt=(n=/[^.]+$/.exec(Pt&&Pt.keys&&Pt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Rt=kt.toString,Nt=At.call(St),Lt=ce._,jt=Ct("^"+At.call(Mt).replace(tt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ft=de?e.Buffer:r,Bt=e.Symbol,Vt=e.Uint8Array,zt=Ft?Ft.allocUnsafe:r,Ut=sn(St.getPrototypeOf,St),Ht=St.create,$t=kt.propertyIsEnumerable,Gt=Tt.splice,Wt=Bt?Bt.isConcatSpreadable:r,qt=Bt?Bt.iterator:r,Kt=Bt?Bt.toStringTag:r,Zt=function(){try{var t=os(St,"defineProperty");return t({},"",{}),t}catch(Ms){}}(),re=e.clearTimeout!==ce.clearTimeout&&e.clearTimeout,ae=it&&it.now!==ce.Date.now&&it.now,le=e.setTimeout!==ce.setTimeout&&e.setTimeout,ue=xt.ceil,he=xt.floor,pe=St.getOwnPropertySymbols,fe=Ft?Ft.isBuffer:r,Re=e.isFinite,Ue=Tt.join,pn=sn(St.keys,St),fn=xt.max,gn=xt.min,mn=it.now,bn=e.parseInt,yn=xt.random,vn=Tt.reverse,_n=os(e,"DataView"),wn=os(e,"Map"),xn=os(e,"Promise"),Sn=os(e,"Set"),Cn=os(e,"WeakMap"),En=os(St,"create"),On=Cn&&new Cn,Tn={},kn=Ns(_n),Pn=Ns(wn),An=Ns(xn),Mn=Ns(Sn),In=Ns(Cn),Dn=Bt?Bt.prototype:r,Rn=Dn?Dn.valueOf:r,Nn=Dn?Dn.toString:r;function Ln(t){if(Jo(t)&&!Uo(t)&&!(t instanceof Vn)){if(t instanceof Bn)return t;if(Mt.call(t,"__wrapped__"))return Ls(t)}return new Bn(t)}var jn=function(){function t(){}return function(e){if(!Zo(e))return{};if(Ht)return Ht(e);t.prototype=e;var n=new t;return t.prototype=r,n}}();function Fn(){}function Bn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=r}function Vn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function ri(t,e,n,i,s,o){var a,l=1&e,c=2&e,u=4&e;if(n&&(a=s?n(t,i,s,o):n(t)),a!==r)return a;if(!Zo(t))return t;var h=Uo(t);if(h){if(a=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Mt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!l)return Cr(t,a)}else{var d=cs(t),p=d==v||d==_;if(Wo(t))return yr(t,l);if(d==S||d==f||p&&!s){if(a=c||p?{}:hs(t),!l)return c?function(t,e){return Er(t,ls(t),e)}(t,function(t,e){return t&&Er(e,Aa(e),t)}(a,t)):function(t,e){return Er(t,as(t),e)}(t,ti(a,t))}else{if(!ie[d])return s?t:{};a=function(t,e,n){var i=t.constructor;switch(e){case A:return vr(t);case m:case b:return new i(+t);case M:return function(t,e){var n=e?vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case I:case D:case R:case N:case L:case j:case F:case B:case V:return _r(t,n);case w:return new i;case x:case T:return new i(t);case E:return function(t){var e=new t.constructor(t.source,ht.exec(t));return e.lastIndex=t.lastIndex,e}(t);case O:return new i;case k:return function(t){return Rn?St(Rn.call(t)):{}}(t)}}(t,d,l)}}o||(o=new Gn);var g=o.get(t);if(g)return g;o.set(t,a),ra(t)?t.forEach(function(i){a.add(ri(i,e,n,i,t,o))}):ta(t)&&t.forEach(function(i,r){a.set(r,ri(i,e,n,r,t,o))});var y=h?r:(u?c?Jr:Zr:c?Aa:Pa)(t);return Se(y||t,function(i,r){y&&(i=t[r=i]),Qn(a,r,ri(i,e,n,r,t,o))}),a}function si(t,e,n){var i=n.length;if(null==t)return!i;for(t=St(t);i--;){var s=n[i],o=t[s];if(o===r&&!(s in t)||!(0,e[s])(o))return!1}return!0}function oi(t,e,n){if("function"!=typeof t)throw new Ot(s);return Os(function(){t.apply(r,n)},e)}function ai(t,e,n,i){var r=-1,s=Te,o=!0,a=t.length,l=[],c=e.length;if(!a)return l;n&&(e=Pe(e,qe(n))),i?(s=ke,o=!1):e.length>=200&&(s=Ye,o=!1,e=new $n(e));t:for(;++r-1},Un.prototype.set=function(t,e){var n=this.__data__,i=Zn(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this},Hn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(wn||Un),string:new zn}},Hn.prototype.delete=function(t){var e=rs(this,t).delete(t);return this.size-=e?1:0,e},Hn.prototype.get=function(t){return rs(this,t).get(t)},Hn.prototype.has=function(t){return rs(this,t).has(t)},Hn.prototype.set=function(t,e){var n=rs(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this},$n.prototype.add=$n.prototype.push=function(t){return this.__data__.set(t,o),this},$n.prototype.has=function(t){return this.__data__.has(t)},Gn.prototype.clear=function(){this.__data__=new Un,this.size=0},Gn.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Gn.prototype.get=function(t){return this.__data__.get(t)},Gn.prototype.has=function(t){return this.__data__.has(t)},Gn.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Un){var i=n.__data__;if(!wn||i.length<199)return i.push([t,e]),this.size=++n.size,this;n=this.__data__=new Hn(i)}return n.set(t,e),this.size=n.size,this};var li=kr(mi),ci=kr(bi,!0);function ui(t,e){var n=!0;return li(t,function(t,i,r){return n=!!e(t,i,r)}),n}function hi(t,e,n){for(var i=-1,s=t.length;++i0&&n(a)?e>1?pi(a,e-1,n,i,r):Ae(r,a):i||(r[r.length]=a)}return r}var fi=Pr(),gi=Pr(!0);function mi(t,e){return t&&fi(t,e,Pa)}function bi(t,e){return t&&gi(t,e,Pa)}function yi(t,e){return Oe(e,function(e){return Yo(t[e])})}function vi(t,e){for(var n=0,i=(e=fr(e,t)).length;null!=t&&ne}function Si(t,e){return null!=t&&Mt.call(t,e)}function Ci(t,e){return null!=t&&e in St(t)}function Ei(t,e,n){for(var s=n?ke:Te,o=t[0].length,a=t.length,l=a,c=i(a),u=1/0,h=[];l--;){var d=t[l];l&&e&&(d=Pe(d,qe(e))),u=gn(d.length,u),c[l]=!n&&(e||o>=120&&d.length>=120)?new $n(l&&d):r}d=t[0];var p=-1,f=c[0];t:for(;++p=a?l:l*("desc"==n[i]?-1:1)}return t.index-e.index}(t,e,n)});i--;)t[i]=t[i].value;return t}(Ri(t,function(t,n,r){return{criteria:Pe(e,function(e){return e(t)}),index:++i,value:t}}))}function Vi(t,e,n){for(var i=-1,r=e.length,s={};++i-1;)a!==t&&Gt.call(a,l,1),Gt.call(t,l,1);return t}function Ui(t,e){for(var n=t?e.length:0,i=n-1;n--;){var r=e[n];if(n==i||r!==s){var s=r;ps(r)?Gt.call(t,r,1):or(t,r)}}return t}function Hi(t,e){return t+he(yn()*(e-t+1))}function $i(t,e){var n="";if(!t||e<1||e>h)return n;do{e%2&&(n+=t),(e=he(e/2))&&(t+=t)}while(e);return n}function Gi(t,e){return Ts(ws(t,e,el),t+"")}function Wi(t){return qn(Fa(t))}function qi(t,e){var n=Fa(t);return As(n,ii(e,0,n.length))}function Xi(t,e,n,i){if(!Zo(t))return t;for(var s=-1,o=(e=fr(e,t)).length,a=o-1,l=t;null!=l&&++ss?0:s+e),(n=n>s?s:n)<0&&(n+=s),s=e>n?0:n-e>>>0,e>>>=0;for(var o=i(s);++r>>1,o=t[s];null!==o&&!oa(o)&&(n?o<=e:o=200){var c=e?null:$r(t);if(c)return an(c);o=!1,r=Ye,l=new $n}else l=e?[]:a;t:for(;++i=i?t:Zi(t,e,n)}var br=re||function(t){return ce.clearTimeout(t)};function yr(t,e){if(e)return t.slice();var n=t.length,i=zt?zt(n):new t.constructor(n);return t.copy(i),i}function vr(t){var e=new t.constructor(t.byteLength);return new Vt(e).set(new Vt(t)),e}function _r(t,e){var n=e?vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function wr(t,e){if(t!==e){var n=t!==r,i=null===t,s=t==t,o=oa(t),a=e!==r,l=null===e,c=e==e,u=oa(e);if(!l&&!u&&!o&&t>e||o&&a&&c&&!l&&!u||i&&a&&c||!n&&c||!s)return 1;if(!i&&!o&&!u&&t1?n[s-1]:r,a=s>2?n[2]:r;for(o=t.length>3&&"function"==typeof o?(s--,o):r,a&&fs(n[0],n[1],a)&&(o=s<3?r:o,s=1),e=St(e);++i-1?s[o?e[a]:a]:r}}function Rr(t){return Qr(function(e){var n=e.length,i=n,o=Bn.prototype.thru;for(t&&e.reverse();i--;){var a=e[i];if("function"!=typeof a)throw new Ot(s);if(o&&!l&&"wrapper"==es(a))var l=new Bn([],!0)}for(i=l?i:n;++i1&&v.reverse(),p&&hl))return!1;var u=o.get(t),h=o.get(e);if(u&&h)return u==e&&h==t;var d=-1,p=!0,f=2&n?new $n:r;for(o.set(t,e),o.set(e,t);++d-1&&t%1==0&&t1?"& ":"")+e[i],e=e.join(n>2?", ":" "),t.replace(rt,"{\n/* [wrapped with "+e+"] */\n")}(i,function(t,e){return Se(p,function(n){var i="_."+n[0];e&n[1]&&!Te(t,i)&&t.push(i)}),t.sort()}(function(t){var e=t.match(st);return e?e[1].split(ot):[]}(i),n)))}function Ps(t){var e=0,n=0;return function(){var i=mn(),s=16-(i-n);if(n=i,s>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(r,arguments)}}function As(t,e){var n=-1,i=t.length,s=i-1;for(e=e===r?i:e;++n1?t[e-1]:r;return n="function"==typeof n?(t.pop(),n):r,no(t,n)});function co(t){var e=Ln(t);return e.__chain__=!0,e}function uo(t,e){return e(t)}var ho=Qr(function(t){var e=t.length,n=e?t[0]:0,i=this.__wrapped__,s=function(e){return ni(e,t)};return!(e>1||this.__actions__.length)&&i instanceof Vn&&ps(n)?((i=i.slice(n,+n+(e?1:0))).__actions__.push({func:uo,args:[s],thisArg:r}),new Bn(i,this.__chain__).thru(function(t){return e&&!t.length&&t.push(r),t})):this.thru(s)}),po=Or(function(t,e,n){Mt.call(t,n)?++t[n]:ei(t,n,1)}),fo=Dr(Vs),go=Dr(zs);function mo(t,e){return(Uo(t)?Se:li)(t,is(e,3))}function bo(t,e){return(Uo(t)?Ce:ci)(t,is(e,3))}var yo=Or(function(t,e,n){Mt.call(t,n)?t[n].push(e):ei(t,n,[e])}),vo=Gi(function(t,e,n){var r=-1,s="function"==typeof e,o=$o(t)?i(t.length):[];return li(t,function(t){o[++r]=s?we(e,t,n):Oi(t,e,n)}),o}),_o=Or(function(t,e,n){ei(t,n,e)});function wo(t,e){return(Uo(t)?Pe:Ri)(t,is(e,3))}var xo=Or(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),So=Gi(function(t,e){if(null==t)return[];var n=e.length;return n>1&&fs(t,e[0],e[1])?e=[]:n>2&&fs(e[0],e[1],e[2])&&(e=[e[0]]),Bi(t,pi(e,1),[])}),Co=ae||function(){return ce.Date.now()};function Eo(t,e,n){return e=n?r:e,Wr(t,c,r,r,r,r,e=t&&null==e?t.length:e)}function Oo(t,e){var n;if("function"!=typeof e)throw new Ot(s);return t=da(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=r),n}}var To=Gi(function(t,e,n){var i=1;if(n.length){var r=on(n,ns(To));i|=l}return Wr(t,i,e,n,r)}),ko=Gi(function(t,e,n){var i=3;if(n.length){var r=on(n,ns(ko));i|=l}return Wr(e,i,t,n,r)});function Po(t,e,n){var i,o,a,l,c,u,h=0,d=!1,p=!1,f=!0;if("function"!=typeof t)throw new Ot(s);function g(e){var n=i,s=o;return i=o=r,h=e,l=t.apply(s,n)}function m(t){return h=t,c=Os(y,e),d?g(t):l}function b(t){var n=t-u;return u===r||n>=e||n<0||p&&t-h>=a}function y(){var t=Co();if(b(t))return v(t);c=Os(y,function(t){var n=e-(t-u);return p?gn(n,a-(t-h)):n}(t))}function v(t){return c=r,f&&i?g(t):(i=o=r,l)}function _(){var t=Co(),n=b(t);if(i=arguments,o=this,u=t,n){if(c===r)return m(u);if(p)return br(c),c=Os(y,e),g(u)}return c===r&&(c=Os(y,e)),l}return e=fa(e)||0,Zo(n)&&(d=!!n.leading,a=(p="maxWait"in n)?fn(fa(n.maxWait)||0,e):a,f="trailing"in n?!!n.trailing:f),_.cancel=function(){c!==r&&br(c),h=0,i=u=o=c=r},_.flush=function(){return c===r?l:v(Co())},_}var Ao=Gi(function(t,e){return oi(t,1,e)}),Mo=Gi(function(t,e,n){return oi(t,fa(e)||0,n)});function Io(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new Ot(s);var n=function(){var i=arguments,r=e?e.apply(this,i):i[0],s=n.cache;if(s.has(r))return s.get(r);var o=t.apply(this,i);return n.cache=s.set(r,o)||s,o};return n.cache=new(Io.Cache||Hn),n}function Do(t){if("function"!=typeof t)throw new Ot(s);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Io.Cache=Hn;var Ro=gr(function(t,e){var n=(e=1==e.length&&Uo(e[0])?Pe(e[0],qe(is())):Pe(pi(e,1),qe(is()))).length;return Gi(function(i){for(var r=-1,s=gn(i.length,n);++r=e}),zo=Ti(function(){return arguments}())?Ti:function(t){return Jo(t)&&Mt.call(t,"callee")&&!$t.call(t,"callee")},Uo=i.isArray,Ho=ge?qe(ge):function(t){return Jo(t)&&wi(t)==A};function $o(t){return null!=t&&Qo(t.length)&&!Yo(t)}function Go(t){return Jo(t)&&$o(t)}var Wo=fe||fl,qo=me?qe(me):function(t){return Jo(t)&&wi(t)==b};function Xo(t){if(!Jo(t))return!1;var e=wi(t);return e==y||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!na(t)}function Yo(t){if(!Zo(t))return!1;var e=wi(t);return e==v||e==_||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Ko(t){return"number"==typeof t&&t==da(t)}function Qo(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=h}function Zo(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Jo(t){return null!=t&&"object"==typeof t}var ta=be?qe(be):function(t){return Jo(t)&&cs(t)==w};function ea(t){return"number"==typeof t||Jo(t)&&wi(t)==x}function na(t){if(!Jo(t)||wi(t)!=S)return!1;var e=Ut(t);if(null===e)return!0;var n=Mt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&At.call(n)==Nt}var ia=ye?qe(ye):function(t){return Jo(t)&&wi(t)==E},ra=ve?qe(ve):function(t){return Jo(t)&&cs(t)==O};function sa(t){return"string"==typeof t||!Uo(t)&&Jo(t)&&wi(t)==T}function oa(t){return"symbol"==typeof t||Jo(t)&&wi(t)==k}var aa=_e?qe(_e):function(t){return Jo(t)&&Qo(t.length)&&!!ne[wi(t)]},la=zr(Di),ca=zr(function(t,e){return t<=e});function ua(t){if(!t)return[];if($o(t))return sa(t)?cn(t):Cr(t);if(qt&&t[qt])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[qt]());var e=cs(t);return(e==w?rn:e==O?an:Fa)(t)}function ha(t){return t?(t=fa(t))===u||t===-u?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function da(t){var e=ha(t),n=e%1;return e==e?n?e-n:e:0}function pa(t){return t?ii(da(t),0,d):0}function fa(t){if("number"==typeof t)return t;if(oa(t))return NaN;if(Zo(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Zo(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=We(t);var n=pt.test(t);return n||gt.test(t)?oe(t.slice(2),n?2:8):dt.test(t)?NaN:+t}function ga(t){return Er(t,Aa(t))}function ma(t){return null==t?"":rr(t)}var ba=Tr(function(t,e){if(ys(e)||$o(e))Er(e,Pa(e),t);else for(var n in e)Mt.call(e,n)&&Qn(t,n,e[n])}),ya=Tr(function(t,e){Er(e,Aa(e),t)}),va=Tr(function(t,e,n,i){Er(e,Aa(e),t,i)}),_a=Tr(function(t,e,n,i){Er(e,Pa(e),t,i)}),wa=Qr(ni),xa=Gi(function(t,e){t=St(t);var n=-1,i=e.length,s=i>2?e[2]:r;for(s&&fs(e[0],e[1],s)&&(i=1);++n1),e}),Er(t,Jr(t),n),i&&(n=ri(n,7,Yr));for(var r=e.length;r--;)or(n,e[r]);return n}),Ra=Qr(function(t,e){return null==t?{}:function(t,e){return Vi(t,e,function(e,n){return Ea(t,n)})}(t,e)});function Na(t,e){if(null==t)return{};var n=Pe(Jr(t),function(t){return[t]});return e=is(e),Vi(t,n,function(t,n){return e(t,n[0])})}var La=Gr(Pa),ja=Gr(Aa);function Fa(t){return null==t?[]:Xe(t,Pa(t))}var Ba=Mr(function(t,e,n){return e=e.toLowerCase(),t+(n?Va(e):e)});function Va(t){return Xa(ma(t).toLowerCase())}function za(t){return(t=ma(t))&&t.replace(bt,Je).replace(Yt,"")}var Ua=Mr(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Ha=Mr(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),$a=Ar("toLowerCase"),Ga=Mr(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Wa=Mr(function(t,e,n){return t+(n?" ":"")+Xa(e)}),qa=Mr(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Xa=Ar("toUpperCase");function Ya(t,e,n){return t=ma(t),(e=n?r:e)===r?function(t){return Jt.test(t)}(t)?function(t){return t.match(Qt)||[]}(t):function(t){return t.match(at)||[]}(t):t.match(e)||[]}var Ka=Gi(function(t,e){try{return we(t,r,e)}catch(Is){return Xo(Is)?Is:new _t(Is)}}),Qa=Qr(function(t,e){return Se(e,function(e){e=Rs(e),ei(t,e,To(t[e],t))}),t});function Za(t){return function(){return t}}var Ja=Rr(),tl=Rr(!0);function el(t){return t}function nl(t){return Mi("function"==typeof t?t:ri(t,1))}var il=Gi(function(t,e){return function(n){return Oi(n,t,e)}}),rl=Gi(function(t,e){return function(n){return Oi(t,n,e)}});function sl(t,e,n){var i=Pa(e),r=yi(e,i);null==n&&(!Zo(e)||!r.length&&i.length)&&(n=e,e=t,t=this,r=yi(e,Pa(e)));var s=!(Zo(n)&&"chain"in n&&!n.chain),o=Yo(t);return Se(r,function(n){var i=e[n];t[n]=i,o&&(t.prototype[n]=function(){var e=this.__chain__;if(s||e){var n=t(this.__wrapped__),r=n.__actions__=Cr(this.__actions__);return r.push({func:i,args:arguments,thisArg:t}),n.__chain__=e,n}return i.apply(t,Ae([this.value()],arguments))})}),t}function ol(){}var al=Fr(Pe),ll=Fr(Ee),cl=Fr(De);function ul(t){return gs(t)?ze(Rs(t)):function(t){return function(e){return vi(e,t)}}(t)}var hl=Vr(),dl=Vr(!0);function pl(){return[]}function fl(){return!1}var gl=jr(function(t,e){return t+e},0),ml=Hr("ceil"),bl=jr(function(t,e){return t/e},1),yl=Hr("floor"),vl=jr(function(t,e){return t*e},1),_l=Hr("round"),wl=jr(function(t,e){return t-e},0);return Ln.after=function(t,e){if("function"!=typeof e)throw new Ot(s);return t=da(t),function(){if(--t<1)return e.apply(this,arguments)}},Ln.ary=Eo,Ln.assign=ba,Ln.assignIn=ya,Ln.assignInWith=va,Ln.assignWith=_a,Ln.at=wa,Ln.before=Oo,Ln.bind=To,Ln.bindAll=Qa,Ln.bindKey=ko,Ln.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return Uo(t)?t:[t]},Ln.chain=co,Ln.chunk=function(t,e,n){e=(n?fs(t,e,n):e===r)?1:fn(da(e),0);var s=null==t?0:t.length;if(!s||e<1)return[];for(var o=0,a=0,l=i(ue(s/e));os?0:s+n),(i=i===r||i>s?s:da(i))<0&&(i+=s),i=n>i?0:pa(i);n>>0)?(t=ma(t))&&("string"==typeof e||null!=e&&!ia(e))&&!(e=rr(e))&&nn(t)?mr(cn(t),0,n):t.split(e,n):[]},Ln.spread=function(t,e){if("function"!=typeof t)throw new Ot(s);return e=null==e?0:fn(da(e),0),Gi(function(n){var i=n[e],r=mr(n,0,e);return i&&Ae(r,i),we(t,this,r)})},Ln.tail=function(t){var e=null==t?0:t.length;return e?Zi(t,1,e):[]},Ln.take=function(t,e,n){return t&&t.length?Zi(t,0,(e=n||e===r?1:da(e))<0?0:e):[]},Ln.takeRight=function(t,e,n){var i=null==t?0:t.length;return i?Zi(t,(e=i-(e=n||e===r?1:da(e)))<0?0:e,i):[]},Ln.takeRightWhile=function(t,e){return t&&t.length?lr(t,is(e,3),!1,!0):[]},Ln.takeWhile=function(t,e){return t&&t.length?lr(t,is(e,3)):[]},Ln.tap=function(t,e){return e(t),t},Ln.throttle=function(t,e,n){var i=!0,r=!0;if("function"!=typeof t)throw new Ot(s);return Zo(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),Po(t,e,{leading:i,maxWait:e,trailing:r})},Ln.thru=uo,Ln.toArray=ua,Ln.toPairs=La,Ln.toPairsIn=ja,Ln.toPath=function(t){return Uo(t)?Pe(t,Rs):oa(t)?[t]:Cr(Ds(ma(t)))},Ln.toPlainObject=ga,Ln.transform=function(t,e,n){var i=Uo(t),r=i||Wo(t)||aa(t);if(e=is(e,4),null==n){var s=t&&t.constructor;n=r?i?new s:[]:Zo(t)&&Yo(s)?jn(Ut(t)):{}}return(r?Se:mi)(t,function(t,i,r){return e(n,t,i,r)}),n},Ln.unary=function(t){return Eo(t,1)},Ln.union=Zs,Ln.unionBy=Js,Ln.unionWith=to,Ln.uniq=function(t){return t&&t.length?sr(t):[]},Ln.uniqBy=function(t,e){return t&&t.length?sr(t,is(e,2)):[]},Ln.uniqWith=function(t,e){return e="function"==typeof e?e:r,t&&t.length?sr(t,r,e):[]},Ln.unset=function(t,e){return null==t||or(t,e)},Ln.unzip=eo,Ln.unzipWith=no,Ln.update=function(t,e,n){return null==t?t:ar(t,e,pr(n))},Ln.updateWith=function(t,e,n,i){return i="function"==typeof i?i:r,null==t?t:ar(t,e,pr(n),i)},Ln.values=Fa,Ln.valuesIn=function(t){return null==t?[]:Xe(t,Aa(t))},Ln.without=io,Ln.words=Ya,Ln.wrap=function(t,e){return No(pr(e),t)},Ln.xor=ro,Ln.xorBy=so,Ln.xorWith=oo,Ln.zip=ao,Ln.zipObject=function(t,e){return hr(t||[],e||[],Qn)},Ln.zipObjectDeep=function(t,e){return hr(t||[],e||[],Xi)},Ln.zipWith=lo,Ln.entries=La,Ln.entriesIn=ja,Ln.extend=ya,Ln.extendWith=va,sl(Ln,Ln),Ln.add=gl,Ln.attempt=Ka,Ln.camelCase=Ba,Ln.capitalize=Va,Ln.ceil=ml,Ln.clamp=function(t,e,n){return n===r&&(n=e,e=r),n!==r&&(n=(n=fa(n))==n?n:0),e!==r&&(e=(e=fa(e))==e?e:0),ii(fa(t),e,n)},Ln.clone=function(t){return ri(t,4)},Ln.cloneDeep=function(t){return ri(t,5)},Ln.cloneDeepWith=function(t,e){return ri(t,5,e="function"==typeof e?e:r)},Ln.cloneWith=function(t,e){return ri(t,4,e="function"==typeof e?e:r)},Ln.conformsTo=function(t,e){return null==e||si(t,e,Pa(e))},Ln.deburr=za,Ln.defaultTo=function(t,e){return null==t||t!=t?e:t},Ln.divide=bl,Ln.endsWith=function(t,e,n){t=ma(t),e=rr(e);var i=t.length,s=n=n===r?i:ii(da(n),0,i);return(n-=e.length)>=0&&t.slice(n,s)==e},Ln.eq=Fo,Ln.escape=function(t){return(t=ma(t))&&q.test(t)?t.replace(G,tn):t},Ln.escapeRegExp=function(t){return(t=ma(t))&&et.test(t)?t.replace(tt,"\\$&"):t},Ln.every=function(t,e,n){var i=Uo(t)?Ee:ui;return n&&fs(t,e,n)&&(e=r),i(t,is(e,3))},Ln.find=fo,Ln.findIndex=Vs,Ln.findKey=function(t,e){return Ne(t,is(e,3),mi)},Ln.findLast=go,Ln.findLastIndex=zs,Ln.findLastKey=function(t,e){return Ne(t,is(e,3),bi)},Ln.floor=yl,Ln.forEach=mo,Ln.forEachRight=bo,Ln.forIn=function(t,e){return null==t?t:fi(t,is(e,3),Aa)},Ln.forInRight=function(t,e){return null==t?t:gi(t,is(e,3),Aa)},Ln.forOwn=function(t,e){return t&&mi(t,is(e,3))},Ln.forOwnRight=function(t,e){return t&&bi(t,is(e,3))},Ln.get=Ca,Ln.gt=Bo,Ln.gte=Vo,Ln.has=function(t,e){return null!=t&&us(t,e,Si)},Ln.hasIn=Ea,Ln.head=Hs,Ln.identity=el,Ln.includes=function(t,e,n,i){t=$o(t)?t:Fa(t),n=n&&!i?da(n):0;var r=t.length;return n<0&&(n=fn(r+n,0)),sa(t)?n<=r&&t.indexOf(e,n)>-1:!!r&&je(t,e,n)>-1},Ln.indexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var r=null==n?0:da(n);return r<0&&(r=fn(i+r,0)),je(t,e,r)},Ln.inRange=function(t,e,n){return e=ha(e),n===r?(n=e,e=0):n=ha(n),function(t,e,n){return t>=gn(e,n)&&t=-h&&t<=h},Ln.isSet=ra,Ln.isString=sa,Ln.isSymbol=oa,Ln.isTypedArray=aa,Ln.isUndefined=function(t){return t===r},Ln.isWeakMap=function(t){return Jo(t)&&cs(t)==P},Ln.isWeakSet=function(t){return Jo(t)&&"[object WeakSet]"==wi(t)},Ln.join=function(t,e){return null==t?"":Ue.call(t,e)},Ln.kebabCase=Ua,Ln.last=qs,Ln.lastIndexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var s=i;return n!==r&&(s=(s=da(n))<0?fn(i+s,0):gn(s,i-1)),e==e?function(t,e,n){for(var i=n+1;i--;)if(t[i]===e)return i;return i}(t,e,s):Le(t,Be,s,!0)},Ln.lowerCase=Ha,Ln.lowerFirst=$a,Ln.lt=la,Ln.lte=ca,Ln.max=function(t){return t&&t.length?hi(t,el,xi):r},Ln.maxBy=function(t,e){return t&&t.length?hi(t,is(e,2),xi):r},Ln.mean=function(t){return Ve(t,el)},Ln.meanBy=function(t,e){return Ve(t,is(e,2))},Ln.min=function(t){return t&&t.length?hi(t,el,Di):r},Ln.minBy=function(t,e){return t&&t.length?hi(t,is(e,2),Di):r},Ln.stubArray=pl,Ln.stubFalse=fl,Ln.stubObject=function(){return{}},Ln.stubString=function(){return""},Ln.stubTrue=function(){return!0},Ln.multiply=vl,Ln.nth=function(t,e){return t&&t.length?Fi(t,da(e)):r},Ln.noConflict=function(){return ce._===this&&(ce._=Lt),this},Ln.noop=ol,Ln.now=Co,Ln.pad=function(t,e,n){t=ma(t);var i=(e=da(e))?ln(t):0;if(!e||i>=e)return t;var r=(e-i)/2;return Br(he(r),n)+t+Br(ue(r),n)},Ln.padEnd=function(t,e,n){t=ma(t);var i=(e=da(e))?ln(t):0;return e&&ie){var i=t;t=e,e=i}if(n||t%1||e%1){var s=yn();return gn(t+s*(e-t+se("1e-"+((s+"").length-1))),e)}return Hi(t,e)},Ln.reduce=function(t,e,n){var i=Uo(t)?Me:He,r=arguments.length<3;return i(t,is(e,4),n,r,li)},Ln.reduceRight=function(t,e,n){var i=Uo(t)?Ie:He,r=arguments.length<3;return i(t,is(e,4),n,r,ci)},Ln.repeat=function(t,e,n){return e=(n?fs(t,e,n):e===r)?1:da(e),$i(ma(t),e)},Ln.replace=function(){var t=arguments,e=ma(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Ln.result=function(t,e,n){var i=-1,s=(e=fr(e,t)).length;for(s||(s=1,t=r);++ih)return[];var n=d,i=gn(t,d);e=is(e),t-=d;for(var r=Ge(i,e);++n=o)return t;var l=n-ln(i);if(l<1)return i;var c=a?mr(a,0,l).join(""):t.slice(0,l);if(s===r)return c+i;if(a&&(l+=c.length-l),ia(s)){if(t.slice(l).search(s)){var u,h=c;for(s.global||(s=Ct(s.source,ma(ht.exec(s))+"g")),s.lastIndex=0;u=s.exec(h);)var d=u.index;c=c.slice(0,d===r?l:d)}}else if(t.indexOf(rr(s),l)!=l){var p=c.lastIndexOf(s);p>-1&&(c=c.slice(0,p))}return c+i},Ln.unescape=function(t){return(t=ma(t))&&W.test(t)?t.replace($,hn):t},Ln.uniqueId=function(t){var e=++It;return ma(t)+e},Ln.upperCase=qa,Ln.upperFirst=Xa,Ln.each=mo,Ln.eachRight=bo,Ln.first=Hs,sl(Ln,function(){var t={};return mi(Ln,function(e,n){Mt.call(Ln.prototype,n)||(t[n]=e)}),t}(),{chain:!1}),Ln.VERSION="4.17.21",Se(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){Ln[t].placeholder=Ln}),Se(["drop","take"],function(t,e){Vn.prototype[t]=function(n){n=n===r?1:fn(da(n),0);var i=this.__filtered__&&!e?new Vn(this):this.clone();return i.__filtered__?i.__takeCount__=gn(n,i.__takeCount__):i.__views__.push({size:gn(n,d),type:t+(i.__dir__<0?"Right":"")}),i},Vn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Se(["filter","map","takeWhile"],function(t,e){var n=e+1,i=1==n||3==n;Vn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:is(t,3),type:n}),e.__filtered__=e.__filtered__||i,e}}),Se(["head","last"],function(t,e){var n="take"+(e?"Right":"");Vn.prototype[t]=function(){return this[n](1).value()[0]}}),Se(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");Vn.prototype[t]=function(){return this.__filtered__?new Vn(this):this[n](1)}}),Vn.prototype.compact=function(){return this.filter(el)},Vn.prototype.find=function(t){return this.filter(t).head()},Vn.prototype.findLast=function(t){return this.reverse().find(t)},Vn.prototype.invokeMap=Gi(function(t,e){return"function"==typeof t?new Vn(this):this.map(function(n){return Oi(n,t,e)})}),Vn.prototype.reject=function(t){return this.filter(Do(is(t)))},Vn.prototype.slice=function(t,e){t=da(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Vn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==r&&(n=(e=da(e))<0?n.dropRight(-e):n.take(e-t)),n)},Vn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Vn.prototype.toArray=function(){return this.take(d)},mi(Vn.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),s=Ln[i?"take"+("last"==e?"Right":""):e],o=i||/^find/.test(e);!s||(Ln.prototype[e]=function(){var e=this.__wrapped__,a=i?[1]:arguments,l=e instanceof Vn,c=a[0],u=l||Uo(e),h=function(t){var e=s.apply(Ln,Ae([t],a));return i&&d?e[0]:e};u&&n&&"function"==typeof c&&1!=c.length&&(l=u=!1);var d=this.__chain__,p=!!this.__actions__.length,f=o&&!d,g=l&&!p;if(!o&&u){e=g?e:new Vn(this);var m=t.apply(e,a);return m.__actions__.push({func:uo,args:[h],thisArg:r}),new Bn(m,d)}return f&&g?t.apply(this,a):(m=this.thru(h),f?i?m.value()[0]:m.value():m)})}),Se(["pop","push","shift","sort","splice","unshift"],function(t){var e=Tt[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:pop|shift)$/.test(t);Ln.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var r=this.value();return e.apply(Uo(r)?r:[],t)}return this[n](function(n){return e.apply(Uo(n)?n:[],t)})}}),mi(Vn.prototype,function(t,e){var n=Ln[e];if(n){var i=n.name+"";Mt.call(Tn,i)||(Tn[i]=[]),Tn[i].push({name:e,func:n})}}),Tn[Nr(r,2).name]=[{name:"wrapper",func:r}],Vn.prototype.clone=function(){var t=new Vn(this.__wrapped__);return t.__actions__=Cr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Cr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Cr(this.__views__),t},Vn.prototype.reverse=function(){if(this.__filtered__){var t=new Vn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Vn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=Uo(t),i=e<0,r=n?t.length:0,s=function(t,e,n){for(var i=-1,r=n.length;++i=this.__values__.length;return{done:t,value:t?r:this.__values__[this.__index__++]}},Ln.prototype.plant=function(t){for(var e,n=this;n instanceof Fn;){var i=Ls(n);i.__index__=0,i.__values__=r,e?s.__wrapped__=i:e=i;var s=i;n=n.__wrapped__}return s.__wrapped__=t,e},Ln.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Vn){var e=t;return this.__actions__.length&&(e=new Vn(this)),(e=e.reverse()).__actions__.push({func:uo,args:[Qs],thisArg:r}),new Bn(e,this.__chain__)}return this.thru(Qs)},Ln.prototype.toJSON=Ln.prototype.valueOf=Ln.prototype.value=function(){return cr(this.__wrapped__,this.__actions__)},Ln.prototype.first=Ln.prototype.head,qt&&(Ln.prototype[qt]=function(){return this}),Ln}();ce._=dn,(i=(function(){return dn}).call(e,n,e,t))!==r&&(t.exports=i)}).call(this)},5478:function(t){t.exports=function(){"use strict";function t(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,i=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i={exports:{}};function r(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}i.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:r,changeDefaults:function(t){i.exports.defaults=t}};var s=/[&<>"']/,o=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,l=/[<>"']|&(?!#?\w+;)/g,c={"&":"&","<":"<",">":">",'"':""","'":"'"},u=function(t){return c[t]};var h=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function d(t){return t.replace(h,function(t,e){return"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""})}var p=/(^|[^\[])\^/g;var f=/[^\w:]/g,g=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var m={},b=/^[^:]+:\/*[^/]*$/,y=/^([^:]+:)[\s\S]*$/,v=/^([^:]+:\/*[^/]*)[\s\S]*$/;function _(t,e){m[" "+t]||(m[" "+t]=b.test(t)?t+"/":w(t,"/",!0));var n=-1===(t=m[" "+t]).indexOf(":");return"//"===e.substring(0,2)?n?e:t.replace(y,"$1")+e:"/"===e.charAt(0)?n?e:t.replace(v,"$1")+e:t+e}function w(t,e,n){var i=t.length;if(0===i)return"";for(var r=0;r1;)1&e&&(n+=t),e>>=1,t+=t;return n+t},A=i.exports.defaults,M=w,I=function(t,e){var n=t.replace(/\|/g,function(t,e,n){for(var i=!1,r=e;--r>=0&&"\\"===n[r];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(n.length>e)n.splice(e);else for(;n.length1?{type:"space",raw:e[0]}:{raw:"\n"}},e.code=function(t){var e=this.rules.block.code.exec(t);if(e){var n=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?n:M(n,"\n")}}},e.fences=function(t){var e=this.rules.block.fences.exec(t);if(e){var n=e[0],i=function(t,e){var n=t.match(/^(\s+)(?:```)/);if(null===n)return e;var i=n[1];return e.split("\n").map(function(t){var e=t.match(/^\s+/);return null===e?t:e[0].length>=i.length?t.slice(i.length):t}).join("\n")}(n,e[3]||"");return{type:"code",raw:n,lang:e[2]?e[2].trim():e[2],text:i}}},e.heading=function(t){var e=this.rules.block.heading.exec(t);if(e){var n=e[2].trim();if(/#$/.test(n)){var i=M(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:n}}},e.nptable=function(t){var e=this.rules.block.nptable.exec(t);if(e){var n={type:"table",header:I(e[1].replace(/^ *| *\| *$/g,"")),align:e[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:e[3]?e[3].replace(/\n$/,"").split("\n"):[],raw:e[0]};if(n.header.length===n.align.length){var i,r=n.align.length;for(i=0;i ?/gm,"");return{type:"blockquote",raw:e[0],text:n}}},e.list=function(t){var e=this.rules.block.list.exec(t);if(e){var n,i,r,s,o,a,l,c,u,h=e[0],d=e[2],p=d.length>1,f={type:"list",raw:h,ordered:p,start:p?+d.slice(0,-1):"",loose:!1,items:[]},g=e[0].match(this.rules.block.item),m=!1,b=g.length;r=this.rules.block.listItemStart.exec(g[0]);for(var y=0;yr[1].length:s[1].length>=r[0].length||s[1].length>3){g.splice(y,2,g[y]+(!this.options.pedantic&&s[1].length/i.test(i[0])&&(e=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:i[0],inLink:e,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):D(i[0]):i[0]}},e.link=function(t){var e=this.rules.inline.link.exec(t);if(e){var n=e[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var i=M(n.slice(0,-1),"\\");if((n.length-i.length)%2==0)return}else{var r=R(e[2],"()");if(r>-1){var s=(0===e[0].indexOf("!")?5:4)+e[1].length+r;e[2]=e[2].substring(0,r),e[0]=e[0].substring(0,s).trim(),e[3]=""}}var o=e[2],a="";if(this.options.pedantic){var l=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);l&&(o=l[1],a=l[3])}else a=e[3]?e[3].slice(1,-1):"";return o=o.trim(),/^$/.test(n)?o.slice(1):o.slice(1,-1)),N(e,{href:o&&o.replace(this.rules.inline._escapes,"$1"),title:a&&a.replace(this.rules.inline._escapes,"$1")},e[0])}},e.reflink=function(t,e){var n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){var i=(n[2]||n[1]).replace(/\s+/g," ");if(!(i=e[i.toLowerCase()])||!i.href){var r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return N(n,i,n[0])}},e.emStrong=function(t,e,n){void 0===n&&(n="");var i=this.rules.inline.emStrong.lDelim.exec(t);if(i&&(!i[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=i[1]||i[2]||"";if(!r||r&&(""===n||this.rules.inline.punctuation.exec(n))){var s,o,a=i[0].length-1,l=a,c=0,u="*"===i[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(u.lastIndex=0,e=e.slice(-1*t.length+a);null!=(i=u.exec(e));)if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6]){if(o=s.length,i[3]||i[4]){l+=o;continue}if((i[5]||i[6])&&a%3&&!((a+o)%3)){c+=o;continue}if(!((l-=o)>0))return o=Math.min(o,o+l+c),Math.min(a,o)%2?{type:"em",raw:t.slice(0,a+i.index+o+1),text:t.slice(1,a+i.index+o)}:{type:"strong",raw:t.slice(0,a+i.index+o+1),text:t.slice(2,a+i.index+o-1)}}}}},e.codespan=function(t){var e=this.rules.inline.code.exec(t);if(e){var n=e[2].replace(/\n/g," "),i=/[^ ]/.test(n),r=/^ /.test(n)&&/ $/.test(n);return i&&r&&(n=n.substring(1,n.length-1)),n=D(n,!0),{type:"codespan",raw:e[0],text:n}}},e.br=function(t){var e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}},e.del=function(t){var e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2]}},e.autolink=function(t,e){var n,i,r=this.rules.inline.autolink.exec(t);if(r)return i="@"===r[2]?"mailto:"+(n=D(this.options.mangle?e(r[1]):r[1])):n=D(r[1]),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}},e.url=function(t,e){var n;if(n=this.rules.inline.url.exec(t)){var i,r;if("@"===n[2])r="mailto:"+(i=D(this.options.mangle?e(n[0]):n[0]));else{var s;do{s=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(s!==n[0]);i=D(n[0]),r="www."===n[1]?"http://"+i:i}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}},e.inlineText=function(t,e,n){var i,r=this.rules.inline.text.exec(t);if(r)return i=e?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):D(r[0]):r[0]:D(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:i}},t}(),j=O,F=C,B=T,V={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:j,table:j,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};V.def=F(V.def).replace("label",V._label).replace("title",V._title).getRegex(),V.bullet=/(?:[*+-]|\d{1,9}[.)])/,V.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,V.item=F(V.item,"gm").replace(/bull/g,V.bullet).getRegex(),V.listItemStart=F(/^( *)(bull) */).replace("bull",V.bullet).getRegex(),V.list=F(V.list).replace(/bull/g,V.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+V.def.source+")").getRegex(),V._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",V._comment=/|$)/,V.html=F(V.html,"i").replace("comment",V._comment).replace("tag",V._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),V.paragraph=F(V._paragraph).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.blockquote=F(V.blockquote).replace("paragraph",V.paragraph).getRegex(),V.normal=B({},V),V.gfm=B({},V.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),V.gfm.nptable=F(V.gfm.nptable).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.gfm.table=F(V.gfm.table).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.pedantic=B({},V.normal,{html:F("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",V._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:j,paragraph:F(V.normal._paragraph).replace("hr",V.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",V.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var z={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:j,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:j,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};z.punctuation=F(z.punctuation).replace(/punctuation/g,z._punctuation).getRegex(),z.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,z.escapedEmSt=/\\\*|\\_/g,z._comment=F(V._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),z.emStrong.lDelim=F(z.emStrong.lDelim).replace(/punct/g,z._punctuation).getRegex(),z.emStrong.rDelimAst=F(z.emStrong.rDelimAst,"g").replace(/punct/g,z._punctuation).getRegex(),z.emStrong.rDelimUnd=F(z.emStrong.rDelimUnd,"g").replace(/punct/g,z._punctuation).getRegex(),z._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,z._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,z._email=/[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])?)+(?![-_])/,z.autolink=F(z.autolink).replace("scheme",z._scheme).replace("email",z._email).getRegex(),z._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,z.tag=F(z.tag).replace("comment",z._comment).replace("attribute",z._attribute).getRegex(),z._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,z._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,z._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,z.link=F(z.link).replace("label",z._label).replace("href",z._href).replace("title",z._title).getRegex(),z.reflink=F(z.reflink).replace("label",z._label).getRegex(),z.reflinkSearch=F(z.reflinkSearch,"g").replace("reflink",z.reflink).replace("nolink",z.nolink).getRegex(),z.normal=B({},z),z.pedantic=B({},z.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:F(/^!?\[(label)\]\((.*?)\)/).replace("label",z._label).getRegex(),reflink:F(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",z._label).getRegex()}),z.gfm=B({},z.normal,{escape:F(z.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),i+="&#"+n+";";return i}var K=function(){function e(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||$,this.options.tokenizer=this.options.tokenizer||new H,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var e={block:G.normal,inline:W.normal};this.options.pedantic?(e.block=G.pedantic,e.inline=W.pedantic):this.options.gfm&&(e.block=G.gfm,e.inline=this.options.breaks?W.breaks:W.gfm),this.tokenizer.rules=e}e.lex=function(t,n){return new e(n).lex(t)},e.lexInline=function(t,n){return new e(n).inlineTokens(t)};var n=e.prototype;return n.lex=function(t){return t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(t,this.tokens,!0),this.inline(this.tokens),this.tokens},n.blockTokens=function(t,e,n){var i,r,s,o,a,l,c=this;for(void 0===e&&(e=[]),void 0===n&&(n=!0),this.options.pedantic&&(t=t.replace(/^ +$/gm,""));t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(n){return!!(i=n.call(c,t,e))&&(t=t.substring(i.raw.length),e.push(i),!0)}))){if(i=this.tokenizer.space(t)){t=t.substring(i.raw.length),i.type&&e.push(i);continue}if(i=this.tokenizer.code(t)){t=t.substring(i.raw.length),(o=e[e.length-1])&&"paragraph"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i);continue}if(i=this.tokenizer.fences(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.heading(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.nptable(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.hr(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.blockquote(t)){t=t.substring(i.raw.length),i.tokens=this.blockTokens(i.text,[],n),e.push(i);continue}if(i=this.tokenizer.list(t)){for(t=t.substring(i.raw.length),s=i.items.length,r=0;r=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(a=t.substring(0,e+1))}(),n&&(i=this.tokenizer.paragraph(a))){o=e[e.length-1],l&&"paragraph"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i),l=a.length!==t.length,t=t.substring(i.raw.length);continue}if(i=this.tokenizer.text(t)){t=t.substring(i.raw.length),(o=e[e.length-1])&&"text"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i);continue}if(t){var u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}}return e},n.inline=function(t){var e,n,i,r,s,o,a=t.length;for(e=0;e0)for(;null!=(l=this.tokenizer.rules.inline.reflinkSearch.exec(h));)d.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(h=h.slice(0,l.index)+"["+q("a",l[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(l=this.tokenizer.rules.inline.blockSkip.exec(h));)h=h.slice(0,l.index)+"["+q("a",l[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(l=this.tokenizer.rules.inline.escapedEmSt.exec(h));)h=h.slice(0,l.index)+"++"+h.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;t;)if(c||(u=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(n){return!!(s=n.call(r,t,e))&&(t=t.substring(s.raw.length),e.push(s),!0)}))){if(s=this.tokenizer.escape(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.tag(t,n,i)){t=t.substring(s.raw.length),n=s.inLink,i=s.inRawBlock,(o=e[e.length-1])&&"text"===s.type&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(s=this.tokenizer.link(t)){t=t.substring(s.raw.length),"link"===s.type&&(s.tokens=this.inlineTokens(s.text,[],!0,i)),e.push(s);continue}if(s=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(s.raw.length),o=e[e.length-1],"link"===s.type?(s.tokens=this.inlineTokens(s.text,[],!0,i),e.push(s)):o&&"text"===s.type&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(s=this.tokenizer.emStrong(t,h,u)){t=t.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],n,i),e.push(s);continue}if(s=this.tokenizer.codespan(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.br(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.del(t)){t=t.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],n,i),e.push(s);continue}if(s=this.tokenizer.autolink(t,Y)){t=t.substring(s.raw.length),e.push(s);continue}if(!n&&(s=this.tokenizer.url(t,Y))){t=t.substring(s.raw.length),e.push(s);continue}if(a=t,this.options.extensions&&this.options.extensions.startInline&&function(){var e=1/0,n=t.slice(1),i=void 0;r.options.extensions.startInline.forEach(function(t){"number"==typeof(i=t.call(this,n))&&i>=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(a=t.substring(0,e+1))}(),s=this.tokenizer.inlineText(a,i,X)){t=t.substring(s.raw.length),"_"!==s.raw.slice(-1)&&(u=s.raw.slice(-1)),c=!0,(o=e[e.length-1])&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(t){var p="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(p);break}throw new Error(p)}}return e},function(e,n,i){n&&t(e.prototype,n),i&&t(e,i)}(e,null,[{key:"rules",get:function(){return{block:G,inline:W}}}]),e}(),Q=i.exports.defaults,Z=E,J=x,tt=function(){function t(t){this.options=t||Q}var e=t.prototype;return e.code=function(t,e,n){var i=(e||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(t,i);null!=r&&r!==t&&(n=!0,t=r)}return t=t.replace(/\n$/,"")+"\n",i?'
                      '+(n?t:J(t,!0))+"
                      \n":"
                      "+(n?t:J(t,!0))+"
                      \n"},e.blockquote=function(t){return"
                      \n"+t+"
                      \n"},e.html=function(t){return t},e.heading=function(t,e,n,i){return this.options.headerIds?"'+t+"\n":""+t+"\n"},e.hr=function(){return this.options.xhtml?"
                      \n":"
                      \n"},e.list=function(t,e,n){var i=e?"ol":"ul";return"<"+i+(e&&1!==n?' start="'+n+'"':"")+">\n"+t+"\n"},e.listitem=function(t){return"
                    • "+t+"
                    • \n"},e.checkbox=function(t){return" "},e.paragraph=function(t){return"

                      "+t+"

                      \n"},e.table=function(t,e){return e&&(e=""+e+""),"\n\n"+t+"\n"+e+"
                      \n"},e.tablerow=function(t){return"\n"+t+"\n"},e.tablecell=function(t,e){var n=e.header?"th":"td";return(e.align?"<"+n+' align="'+e.align+'">':"<"+n+">")+t+"\n"},e.strong=function(t){return""+t+""},e.em=function(t){return""+t+""},e.codespan=function(t){return""+t+""},e.br=function(){return this.options.xhtml?"
                      ":"
                      "},e.del=function(t){return""+t+""},e.link=function(t,e,n){if(null===(t=Z(this.options.sanitize,this.options.baseUrl,t)))return n;var i='"+n+""},e.image=function(t,e,n){if(null===(t=Z(this.options.sanitize,this.options.baseUrl,t)))return n;var i=''+n+'":">")},e.text=function(t){return t},t}(),et=function(){function t(){}var e=t.prototype;return e.strong=function(t){return t},e.em=function(t){return t},e.codespan=function(t){return t},e.del=function(t){return t},e.html=function(t){return t},e.text=function(t){return t},e.link=function(t,e,n){return""+n},e.image=function(t,e,n){return""+n},e.br=function(){return""},t}(),nt=function(){function t(){this.seen={}}var e=t.prototype;return e.serialize=function(t){return t.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},e.getNextSafeSlug=function(t,e){var n=t,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[t];do{n=t+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return e||(this.seen[t]=i,this.seen[n]=0),n},e.slug=function(t,e){void 0===e&&(e={});var n=this.serialize(t);return this.getNextSafeSlug(n,e.dryrun)},t}(),it=tt,rt=et,st=nt,ot=i.exports.defaults,at=S,lt=K,ct=function(){function t(t){this.options=t||ot,this.options.renderer=this.options.renderer||new it,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new rt,this.slugger=new st}t.parse=function(e,n){return new t(n).parse(e)},t.parseInline=function(e,n){return new t(n).parseInline(e)};var e=t.prototype;return e.parse=function(t,e){void 0===e&&(e=!0);var n,i,r,s,o,a,l,c,u,h,d,p,f,g,m,b,y,v,_,w="",x=t.length;for(n=0;n0&&"text"===m.tokens[0].type?(m.tokens[0].text=v+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=v+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:v}):g+=v),g+=this.parse(m.tokens,f),u+=this.renderer.listitem(g,y,b);w+=this.renderer.list(u,d,p);continue;case"html":w+=this.renderer.html(h.text);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(h.tokens));continue;case"text":for(u=h.tokens?this.parseInline(h.tokens):h.text;n+1An error occurred:

                      "+mt(l.message+"",!0)+"
                      ";throw l}}return _t.options=_t.setOptions=function(t){return ft(_t.defaults,t),yt(_t.defaults),_t},_t.getDefaults=bt,_t.defaults=vt,_t.use=function(){for(var t=this,e=arguments.length,n=new Array(e),i=0;iAn error occurred:

                      "+mt(i.message+"",!0)+"
                      ";throw i}},_t.Parser=ct,_t.parser=ct.parse,_t.Renderer=ht,_t.TextRenderer=dt,_t.Lexer=lt,_t.lexer=lt.lex,_t.Tokenizer=ut,_t.Slugger=pt,_t.parse=_t,_t}()},29369:function(t,e,n){var i=n(56284),r=n(67830);function s(){this.clear()}s.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},s.prototype.enqueue=function(t){return this.items.push(t),++this.size},s.prototype.dequeue=function(){if(this.size){var t=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,t}},s.prototype.peek=function(){if(this.size)return this.items[this.offset]},s.prototype.forEach=function(t,e){e=arguments.length>1?e:this;for(var n=this.offset,i=0,r=this.items.length;n=t.length)return{done:!0};var n=t[e];return e++,{value:n,done:!1}})},s.prototype.entries=function(){var t=this.items,e=this.offset,n=0;return new i(function(){if(e>=t.length)return{done:!0};var i=t[e];return e++,{value:[n++,i],done:!1}})},"undefined"!=typeof Symbol&&(s.prototype[Symbol.iterator]=s.prototype.values),s.prototype.toString=function(){return this.toArray().join(",")},s.prototype.toJSON=function(){return this.toArray()},s.prototype.inspect=function(){var t=this.toArray();return Object.defineProperty(t,"constructor",{value:s,enumerable:!1}),t},"undefined"!=typeof Symbol&&(s.prototype[Symbol.for("nodejs.util.inspect.custom")]=s.prototype.inspect),s.from=function(t){var e=new s;return r(t,function(t){e.enqueue(t)}),e},s.of=function(){return s.from(arguments)},t.exports=s},65593:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(72293),o=function(t){function e(){t.apply(this,arguments),this.value=null,this.hasNext=!1,this.hasCompleted=!1}return i(e,t),e.prototype._subscribe=function(e){return this.hasError?(e.error(this.thrownError),s.Subscription.EMPTY):this.hasCompleted&&this.hasNext?(e.next(this.value),e.complete(),s.Subscription.EMPTY):t.prototype._subscribe.call(this,e)},e.prototype.next=function(t){this.hasCompleted||(this.value=t,this.hasNext=!0)},e.prototype.error=function(e){this.hasCompleted||t.prototype.error.call(this,e)},e.prototype.complete=function(){this.hasCompleted=!0,this.hasNext&&t.prototype.next.call(this,this.value),t.prototype.complete.call(this)},e}(r.Subject);e.AsyncSubject=o},73907:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(6594),o=function(t){function e(e){t.call(this),this._value=e}return i(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return n&&!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new s.ObjectUnsubscribedError;return this._value},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(r.Subject);e.BehaviorSubject=o},36888:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n,i){t.call(this),this.parent=e,this.outerValue=n,this.outerIndex=i,this.index=0}return i(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(n(42109).Subscriber);e.InnerSubscriber=r},94429:function(t,e,n){"use strict";var i=n(18705),r=function(){function t(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}return t.prototype.observe=function(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}},t.prototype.do=function(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}},t.prototype.accept=function(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)},t.prototype.toObservable=function(){switch(this.kind){case"N":return i.Observable.of(this.value);case"E":return i.Observable.throw(this.error);case"C":return i.Observable.empty()}throw new Error("unexpected notification kind value")},t.createNext=function(e){return void 0!==e?new t("N",e):t.undefinedValueNotification},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return t.completeNotification},t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t}();e.Notification=r},18705:function(t,e,n){"use strict";var i=n(80019),r=n(18154),s=n(45783),o=n(10142),a=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(t,e,n){var i=this.operator,s=r.toSubscriber(t,e,n);if(i?i.call(s,this.source):s.add(this.source||!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){t.syncErrorThrown=!0,t.syncErrorValue=e,t.error(e)}},t.prototype.forEach=function(t,e){var n=this;if(e||(i.root.Rx&&i.root.Rx.config&&i.root.Rx.config.Promise?e=i.root.Rx.config.Promise:i.root.Promise&&(e=i.root.Promise)),!e)throw new Error("no Promise impl found");return new e(function(e,i){var r;r=n.subscribe(function(e){if(r)try{t(e)}catch(n){i(n),r.unsubscribe()}else t(e)},i,e)})},t.prototype._subscribe=function(t){return this.source.subscribe(t)},t.prototype[s.observable]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;ee&&(s=Math.max(s,r-e)),s>0&&i.splice(0,s),i},e}(r.Subject);e.ReplaySubject=u;var h=function(t,e){this.time=t,this.value=e}},25430:function(t,e,n){"use strict";var i=n(2369);e.xQ=i.Subject,n(18705),n(24769),n(95914),n(88007),n(3194),n(61898),n(16301),n(23276),n(66593),n(13745),n(57362),n(24518),n(68789),n(30520),n(67370),n(86866),n(11505),n(5031),n(36780),n(17038),n(15718),n(27915),n(90763),n(6846),n(65662),n(6799),n(81854),n(612),n(10838),n(6725),n(8827),n(43511),n(38922),n(25178),n(56937),n(22947),n(82894),n(11206),n(94183),n(16653),n(17930),n(81118),n(50317),n(90674),n(66460),n(79232),n(3945),n(44674),n(73505),n(38749),n(16479),n(22744),n(44475),n(97384),n(8237),n(24937),n(99013),n(84042),n(44436),n(7099),n(6217),n(57476),n(72646),n(91573),n(27387),n(27366),n(88859),n(65425),n(16733),n(23381),n(80404),n(63770),n(53626),n(98851),n(84878),n(26544),n(53582),n(61749),n(34838),n(49681),n(46227),n(56455),n(40881),n(94315),n(92910),n(52442),n(84664),n(61250),n(28310),n(43027),n(18252),n(49571),n(31782),n(9800),n(41854),n(74839),n(1305),n(99144),n(89952),n(85863),n(2865),n(92667),n(22185),n(72919),n(88630),n(75458),n(40780),n(35099),n(57502),n(81676),n(20579),n(71323),n(84950),n(57113),n(95073),n(75654),n(59889),n(96611),n(81845),n(7828),n(4881),n(74568),n(32352),n(50169),n(93543),n(61690),n(15914),n(68583),n(44808),n(49088),n(72293),n(42109),n(65593),n(81959),n(73907),n(51493),n(94429),n(44640),n(11758),n(6594),n(13815),n(84536),n(73390),n(62688),n(24482),n(18353);n(55298);n(10142);n(85522),n(90680),n(97088),n(12948),n(28592),n(72121),n(45783);n(39053)},11965:function(t,e){"use strict";var n=function(){function t(e,n){void 0===n&&(n=t.now),this.SchedulerAction=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(n,e)},t.now=Date.now?Date.now:function(){return+new Date},t}();e.Scheduler=n},2369:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(42109),o=n(72293),a=n(6594),l=n(9060),c=n(28592),u=function(t){function e(e){t.call(this,e),this.destination=e}return i(e,t),e}(s.Subscriber);e.SubjectSubscriber=u;var h=function(t){function e(){t.call(this),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}return i(e,t),e.prototype[c.rxSubscriber]=function(){return new u(this)},e.prototype.lift=function(t){var e=new d(this,this);return e.operator=t,e},e.prototype.next=function(t){if(this.closed)throw new a.ObjectUnsubscribedError;if(!this.isStopped)for(var e=this.observers,n=e.length,i=e.slice(),r=0;r=t.length)return void i.complete();i.next(e[n]),t.index=n+1,this.schedule(t)}},e.prototype._subscribe=function(t){var n=this.arrayLike,i=this.scheduler,r=n.length;if(i)return i.schedule(e.dispatch,0,{arrayLike:n,index:0,length:r,subscriber:t});for(var s=0;s1?new e(t,i):1===r?new s.ScalarObservable(t[0],i):new o.EmptyObservable(i)},e.dispatch=function(t){var e=t.array,n=t.index,i=t.subscriber;n>=t.count?i.complete():(i.next(e[n]),!i.closed&&(t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.array,i=n.length,r=this.scheduler;if(r)return r.schedule(e.dispatch,0,{array:n,index:0,count:i,subscriber:t});for(var s=0;s1)this.connection=null;else{var n=this.connection,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null}}(o.Subscriber)},34078:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(93658),o=n(84308),a=function(t){function e(e){t.call(this),this.observableFactory=e}return i(e,t),e.create=function(t){return new e(t)},e.prototype._subscribe=function(t){return new l(t,this.observableFactory)},e}(r.Observable);e.DeferObservable=a;var l=function(t){function e(e,n){t.call(this,e),this.factory=n,this.tryDefer()}return i(e,t),e.prototype.tryDefer=function(){try{this._callFactory()}catch(t){this._error(t)}},e.prototype._callFactory=function(){var t=this.factory();t&&this.add(s.subscribeToResult(this,t))},e}(o.OuterSubscriber)},70481:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e){t.call(this),this.scheduler=e}return i(e,t),e.create=function(t){return new e(t)},e.dispatch=function(t){t.subscriber.complete()},e.prototype._subscribe=function(t){var n=this.scheduler;if(n)return n.schedule(e.dispatch,0,{subscriber:t});t.complete()},e}(n(18705).Observable);e.EmptyObservable=r},72210:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this),this.error=e,this.scheduler=n}return i(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){t.subscriber.error(t.error)},e.prototype._subscribe=function(t){var n=this.error,i=this.scheduler;if(t.syncErrorThrowable=!0,i)return i.schedule(e.dispatch,0,{error:n,subscriber:t});t.error(n)},e}(n(18705).Observable);e.ErrorObservable=r},56064:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(70481),o=n(48242),a=n(93658),l=n(84308),c=function(t){function e(e,n){t.call(this),this.sources=e,this.resultSelector=n}return i(e,t),e.create=function(){for(var t=[],n=0;nu?u:e:e}(t)),this.arr=t,this.idx=e,this.len=n}return t.prototype[o.iterator]=function(){return this},t.prototype.next=function(){return this.idx=t.count?i.complete():(i.next(e),!i.closed&&(t.index=n+1,t.start=e+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=0,i=this.start,r=this._count,s=this.scheduler;if(s)return s.schedule(e.dispatch,0,{index:n,count:r,start:i,subscriber:t});for(;;){if(n++>=r){t.complete();break}if(t.next(i++),t.closed)break}},e}(n(18705).Observable);e.RangeObservable=r},80478:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this),this.value=e,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return i(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){var e=t.value,n=t.subscriber;t.done?n.complete():(n.next(e),!n.closed&&(t.done=!0,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.value,i=this.scheduler;if(i)return i.schedule(e.dispatch,0,{done:!1,value:n,subscriber:t});t.next(n),t.closed||t.complete()},e}(n(18705).Observable);e.ScalarObservable=r},82966:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(85522),o=n(39479),a=function(t){function e(e,n,i){void 0===n&&(n=0),void 0===i&&(i=s.asap),t.call(this),this.source=e,this.delayTime=n,this.scheduler=i,(!o.isNumeric(n)||n<0)&&(this.delayTime=0),(!i||"function"!=typeof i.schedule)&&(this.scheduler=s.asap)}return i(e,t),e.create=function(t,n,i){return void 0===n&&(n=0),void 0===i&&(i=s.asap),new e(t,n,i)},e.dispatch=function(t){return this.add(t.source.subscribe(t.subscriber))},e.prototype._subscribe=function(t){return this.scheduler.schedule(e.dispatch,this.delayTime,{source:this.source,subscriber:t})},e}(r.Observable);e.SubscribeOnObservable=a},92870:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(39479),s=n(18705),o=n(90680),a=n(41503),l=n(783),c=function(t){function e(e,n,i){void 0===e&&(e=0),t.call(this),this.period=-1,this.dueTime=0,r.isNumeric(n)?this.period=Number(n)<1?1:Number(n):a.isScheduler(n)&&(i=n),a.isScheduler(i)||(i=o.async),this.scheduler=i,this.dueTime=l.isDate(e)?+e-this.scheduler.now():e}return i(e,t),e.create=function(t,n,i){return void 0===t&&(t=0),new e(t,n,i)},e.dispatch=function(t){var e=t.index,n=t.period,i=t.subscriber;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}},e.prototype._subscribe=function(t){var n=this;return n.scheduler.schedule(e.dispatch,n.dueTime,{index:0,period:n.period,subscriber:t})},e}(s.Observable);e.TimerObservable=c},16196:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(93658),o=n(84308),a=function(t){function e(e,n){t.call(this),this.resourceFactory=e,this.observableFactory=n}return i(e,t),e.create=function(t,n){return new e(t,n)},e.prototype._subscribe=function(t){var e,n=this.resourceFactory,i=this.observableFactory;try{return e=n(),new l(t,e,i)}catch(r){t.error(r)}},e}(r.Observable);e.UsingObservable=a;var l=function(t){function e(e,n,i){t.call(this,e),this.resource=n,this.observableFactory=i,e.add(n),this.tryUse()}return i(e,t),e.prototype.tryUse=function(){try{var t=this.observableFactory.call(this,this.resource);t&&this.add(s.subscribeToResult(this,t))}catch(e){this._error(e)}},e}(o.OuterSubscriber)},59246:function(t,e,n){"use strict";var i=n(19183);e.bindCallback=i.BoundCallbackObservable.create},65571:function(t,e,n){"use strict";var i=n(78655);e.bindNodeCallback=i.BoundNodeCallbackObservable.create},24669:function(t,e,n){"use strict";var i=n(41503),r=n(48242),s=n(96177),o=n(49134);e.combineLatest=function(){for(var t=[],e=0;e1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof l&&(n=t.pop()),null===a&&1===t.length&&t[0]instanceof i.Observable?t[0]:o.mergeAll(n)(new r.ArrayObservable(t,a))}},94503:function(t,e,n){"use strict";var i=n(20143);e.never=i.NeverObservable.create},69657:function(t,e,n){"use strict";var i=n(96177);e.of=i.ArrayObservable.of},61395:function(t,e,n){"use strict";var i=n(46243);e.onErrorResumeNext=i.onErrorResumeNextStatic},95425:function(t,e,n){"use strict";var i=n(19770);e.pairs=i.PairsObservable.create},24330:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(48242),s=n(96177),o=n(84308),a=n(93658);e.race=function(){for(var t=[],e=0;e=2&&(o=arguments[1]);var a=Number.POSITIVE_INFINITY;return e>=3&&(a=arguments[2]),s.bufferTime(t,o,a,n)(this)}},92523:function(t,e,n){"use strict";var i=n(15440);e.bufferToggle=function(t,e){return i.bufferToggle(t,e)(this)}},49436:function(t,e,n){"use strict";var i=n(51786);e.bufferWhen=function(t){return i.bufferWhen(t)(this)}},64731:function(t,e,n){"use strict";var i=n(93017);e._catch=function(t){return i.catchError(t)(this)}},92273:function(t,e,n){"use strict";var i=n(17054);e.combineAll=function(t){return i.combineAll(t)(this)}},8709:function(t,e,n){"use strict";var i=n(49134);e.combineLatest=function(){for(var t=[],e=0;e=2?i.reduce(t,e)(this):i.reduce(t)(this)}},12931:function(t,e,n){"use strict";var i=n(15329);e.repeat=function(t){return void 0===t&&(t=-1),i.repeat(t)(this)}},68816:function(t,e,n){"use strict";var i=n(63964);e.repeatWhen=function(t){return i.repeatWhen(t)(this)}},17144:function(t,e,n){"use strict";var i=n(40241);e.retry=function(t){return void 0===t&&(t=-1),i.retry(t)(this)}},82766:function(t,e,n){"use strict";var i=n(23896);e.retryWhen=function(t){return i.retryWhen(t)(this)}},62068:function(t,e,n){"use strict";var i=n(92043);e.sample=function(t){return i.sample(t)(this)}},97013:function(t,e,n){"use strict";var i=n(90680),r=n(71239);e.sampleTime=function(t,e){return void 0===e&&(e=i.async),r.sampleTime(t,e)(this)}},98996:function(t,e,n){"use strict";var i=n(64949);e.scan=function(t,e){return arguments.length>=2?i.scan(t,e)(this):i.scan(t)(this)}},77033:function(t,e,n){"use strict";var i=n(88948);e.sequenceEqual=function(t,e){return i.sequenceEqual(t,e)(this)}},10377:function(t,e,n){"use strict";var i=n(35473);e.share=function(){return i.share()(this)}},71623:function(t,e,n){"use strict";var i=n(62704);e.shareReplay=function(t,e,n){return i.shareReplay(t,e,n)(this)}},91956:function(t,e,n){"use strict";var i=n(92223);e.single=function(t){return i.single(t)(this)}},72355:function(t,e,n){"use strict";var i=n(11189);e.skip=function(t){return i.skip(t)(this)}},69329:function(t,e,n){"use strict";var i=n(73346);e.skipLast=function(t){return i.skipLast(t)(this)}},68481:function(t,e,n){"use strict";var i=n(12928);e.skipUntil=function(t){return i.skipUntil(t)(this)}},587:function(t,e,n){"use strict";var i=n(69415);e.skipWhile=function(t){return i.skipWhile(t)(this)}},49292:function(t,e,n){"use strict";var i=n(30673);e.startWith=function(){for(var t=[],e=0;e0&&this.destination.next(e),t.prototype._complete.call(this)},e}(r.Subscriber),a=function(t){function e(e,n,i){t.call(this,e),this.bufferSize=n,this.startBufferEvery=i,this.buffers=[],this.count=0}return i(e,t),e.prototype._next=function(t){var e=this,n=e.bufferSize,i=e.startBufferEvery,r=e.buffers,s=e.count;this.count++,s%i==0&&r.push([]);for(var o=r.length;o--;){var a=r[o];a.push(t),a.length===n&&(r.splice(o,1),this.destination.next(a))}},e.prototype._complete=function(){for(var e=this.buffers,n=this.destination;e.length>0;){var i=e.shift();i.length>0&&n.next(i)}t.prototype._complete.call(this)},e}(r.Subscriber)},6489:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(90680),s=n(42109),o=n(41503);e.bufferTime=function(t){var e=arguments.length,n=r.async;o.isScheduler(arguments[arguments.length-1])&&(n=arguments[arguments.length-1],e--);var i=null;e>=2&&(i=arguments[1]);var s=Number.POSITIVE_INFINITY;return e>=3&&(s=arguments[2]),function(e){return e.lift(new a(t,i,s,n))}};var a=function(){function t(t,e,n,i){this.bufferTimeSpan=t,this.bufferCreationInterval=e,this.maxBufferSize=n,this.scheduler=i}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))},t}(),l=function(){this.buffer=[]},c=function(t){function e(e,n,i,r,s){t.call(this,e),this.bufferTimeSpan=n,this.bufferCreationInterval=i,this.maxBufferSize=r,this.scheduler=s,this.contexts=[];var o=this.openContext();if(this.timespanOnly=null==i||i<0,this.timespanOnly)this.add(o.closeAction=s.schedule(u,n,{subscriber:this,context:o,bufferTimeSpan:n}));else{var a={bufferTimeSpan:n,bufferCreationInterval:i,subscriber:this,scheduler:s};this.add(o.closeAction=s.schedule(d,n,{subscriber:this,context:o})),this.add(s.schedule(h,i,a))}}return i(e,t),e.prototype._next=function(t){for(var e,n=this.contexts,i=n.length,r=0;r0;){var i=e.shift();n.next(i.buffer)}t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.contexts=null},e.prototype.onBufferFull=function(t){this.closeContext(t);var e=t.closeAction;if(e.unsubscribe(),this.remove(e),!this.closed&&this.timespanOnly){t=this.openContext();var n=this.bufferTimeSpan;this.add(t.closeAction=this.scheduler.schedule(u,n,{subscriber:this,context:t,bufferTimeSpan:n}))}},e.prototype.openContext=function(){var t=new l;return this.contexts.push(t),t},e.prototype.closeContext=function(t){this.destination.next(t.buffer);var e=this.contexts;(e?e.indexOf(t):-1)>=0&&e.splice(e.indexOf(t),1)},e}(s.Subscriber);function u(t){var e=t.subscriber,n=t.context;n&&e.closeContext(n),e.closed||(t.context=e.openContext(),t.context.closeAction=this.schedule(t,t.bufferTimeSpan))}function h(t){var e=t.bufferCreationInterval,n=t.bufferTimeSpan,i=t.subscriber,r=t.scheduler,s=i.openContext();i.closed||(i.add(s.closeAction=r.schedule(d,n,{subscriber:i,context:s})),this.schedule(t,e))}function d(t){t.subscriber.closeContext(t.context)}},15440:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(72293),s=n(93658),o=n(84308);e.bufferToggle=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.openings=t,this.closingSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.openings,this.closingSelector))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(s.subscribeToResult(this,n))}return i(e,t),e.prototype._next=function(t){for(var e=this.contexts,n=e.length,i=0;i0;){var i=n.shift();i.subscription.unsubscribe(),i.buffer=null,i.subscription=null}this.contexts=null,t.prototype._error.call(this,e)},e.prototype._complete=function(){for(var e=this.contexts;e.length>0;){var n=e.shift();this.destination.next(n.buffer),n.subscription.unsubscribe(),n.buffer=null,n.subscription=null}this.contexts=null,t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){t?this.closeBuffer(t):this.openBuffer(e)},e.prototype.notifyComplete=function(t){this.closeBuffer(t.context)},e.prototype.openBuffer=function(t){try{var e=this.closingSelector.call(this,t);e&&this.trySubscribe(e)}catch(n){this._error(n)}},e.prototype.closeBuffer=function(t){var e=this.contexts;if(e&&t){var n=t.subscription;this.destination.next(t.buffer),e.splice(e.indexOf(t),1),this.remove(n),n.unsubscribe()}},e.prototype.trySubscribe=function(t){var e=this.contexts,n=new r.Subscription,i={buffer:[],subscription:n};e.push(i);var o=s.subscribeToResult(this,t,i);!o||o.closed?this.closeBuffer(i):(o.context=i,this.add(o),n.add(o))},e}(o.OuterSubscriber)},51786:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(72293),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.bufferWhen=function(t){return function(e){return e.lift(new c(t))}};var c=function(){function t(t){this.closingSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.closingSelector))},t}(),u=function(t){function e(e,n){t.call(this,e),this.closingSelector=n,this.subscribing=!1,this.openBuffer()}return i(e,t),e.prototype._next=function(t){this.buffer.push(t)},e.prototype._complete=function(){var e=this.buffer;e&&this.destination.next(e),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.buffer=null,this.subscribing=!1},e.prototype.notifyNext=function(t,e,n,i,r){this.openBuffer()},e.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()},e.prototype.openBuffer=function(){var t=this.closingSubscription;t&&(this.remove(t),t.unsubscribe()),this.buffer&&this.destination.next(this.buffer),this.buffer=[];var e=s.tryCatch(this.closingSelector)();e===o.errorObject?this.error(o.errorObject.e):(t=new r.Subscription,this.closingSubscription=t,this.add(t),this.subscribing=!0,t.add(l.subscribeToResult(this,e)),this.subscribing=!1)},e}(a.OuterSubscriber)},93017:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.catchError=function(t){return function(e){var n=new o(t),i=e.lift(n);return n.caught=i}};var o=function(){function t(t){this.selector=t}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.selector,this.caught))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.selector=n,this.caught=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=void 0;try{n=this.selector(e,this.caught)}catch(i){return void t.prototype.error.call(this,i)}this._unsubscribeAndRecycle(),this.add(s.subscribeToResult(this,n))}},e}(r.OuterSubscriber)},17054:function(t,e,n){"use strict";var i=n(49134);e.combineAll=function(t){return function(e){return e.lift(new i.CombineLatestOperator(t))}}},49134:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(96177),s=n(48242),o=n(84308),a=n(93658),l={};e.combineLatest=function(){for(var t=[],e=0;e0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var s=Math.max(0,n[0].time-i.now());this.schedule(t,s)}else this.unsubscribe(),e.active=!1},e.prototype._schedule=function(t){this.active=!0,this.add(t.schedule(e.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))},e.prototype.scheduleNotification=function(t){if(!0!==this.errored){var e=this.scheduler,n=new u(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}},e.prototype._next=function(t){this.scheduleNotification(a.Notification.createNext(t))},e.prototype._error=function(t){this.errored=!0,this.queue=[],this.destination.error(t)},e.prototype._complete=function(){this.scheduleNotification(a.Notification.createComplete())},e}(o.Subscriber),u=function(t,e){this.time=t,this.notification=e}},22944:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(18705),o=n(84308),a=n(93658);e.delayWhen=function(t,e){return e?function(n){return new u(n,e).lift(new l(t))}:function(e){return e.lift(new l(t))}};var l=function(){function t(t){this.delayDurationSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.delayDurationSelector))},t}(),c=function(t){function e(e,n){t.call(this,e),this.delayDurationSelector=n,this.completed=!1,this.delayNotifierSubscriptions=[],this.values=[]}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.destination.next(t),this.removeSubscription(r),this.tryComplete()},e.prototype.notifyError=function(t,e){this._error(t)},e.prototype.notifyComplete=function(t){var e=this.removeSubscription(t);e&&this.destination.next(e),this.tryComplete()},e.prototype._next=function(t){try{var e=this.delayDurationSelector(t);e&&this.tryDelay(e,t)}catch(n){this.destination.error(n)}},e.prototype._complete=function(){this.completed=!0,this.tryComplete()},e.prototype.removeSubscription=function(t){t.unsubscribe();var e=this.delayNotifierSubscriptions.indexOf(t),n=null;return-1!==e&&(n=this.values[e],this.delayNotifierSubscriptions.splice(e,1),this.values.splice(e,1)),n},e.prototype.tryDelay=function(t,e){var n=a.subscribeToResult(this,t,e);n&&!n.closed&&(this.add(n),this.delayNotifierSubscriptions.push(n)),this.values.push(e)},e.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()},e}(o.OuterSubscriber),u=function(t){function e(e,n){t.call(this),this.source=e,this.subscriptionDelay=n}return i(e,t),e.prototype._subscribe=function(t){this.subscriptionDelay.subscribe(new h(t,this.source))},e}(s.Observable),h=function(t){function e(e,n){t.call(this),this.parent=e,this.source=n,this.sourceSubscribed=!1}return i(e,t),e.prototype._next=function(t){this.subscribeToSource()},e.prototype._error=function(t){this.unsubscribe(),this.parent.error(t)},e.prototype._complete=function(){this.subscribeToSource()},e.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))},e}(r.Subscriber)},95591:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.dematerialize=function(){return function(t){return t.lift(new s)}};var s=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new o(t))},t}(),o=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype._next=function(t){t.observe(this.destination)},e}(r.Subscriber)},25753:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658),o=n(40317);e.distinct=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.keySelector=t,this.flushes=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.keySelector,this.flushes))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.keySelector=n,this.values=new o.Set,i&&this.add(s.subscribeToResult(this,i))}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.values.clear()},e.prototype.notifyError=function(t,e){this._error(t)},e.prototype._next=function(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)},e.prototype._useKeySelector=function(t){var e,n=this.destination;try{e=this.keySelector(t)}catch(i){return void n.error(i)}this._finalizeNext(e,t)},e.prototype._finalizeNext=function(t,e){var n=this.values;n.has(t)||(n.add(t),this.destination.next(e))},e}(r.OuterSubscriber);e.DistinctSubscriber=l},65608:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(33463),o=n(85814);e.distinctUntilChanged=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.compare=t,this.keySelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.compare,this.keySelector))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.keySelector=i,this.hasKey=!1,"function"==typeof n&&(this.compare=n)}return i(e,t),e.prototype.compare=function(t,e){return t===e},e.prototype._next=function(t){var e=t;if(this.keySelector&&(e=s.tryCatch(this.keySelector)(t))===o.errorObject)return this.destination.error(o.errorObject.e);var n=!1;if(this.hasKey){if((n=s.tryCatch(this.compare)(this.key,e))===o.errorObject)return this.destination.error(o.errorObject.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=e,this.destination.next(t))},e}(r.Subscriber)},8330:function(t,e,n){"use strict";var i=n(65608);e.distinctUntilKeyChanged=function(t,e){return i.distinctUntilChanged(function(n,i){return e?e(n[t],i[t]):n[t]===i[t]})}},29264:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758);e.elementAt=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){if(this.index=t,this.defaultValue=e,t<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.index,this.defaultValue))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.index=n,this.defaultValue=i}return i(e,t),e.prototype._next=function(t){0==this.index--&&(this.destination.next(t),this.destination.complete())},e.prototype._complete=function(){var t=this.destination;this.index>=0&&(void 0!==this.defaultValue?t.next(this.defaultValue):t.error(new s.ArgumentOutOfRangeError)),t.complete()},e}(r.Subscriber)},26285:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.every=function(t,e){return function(n){return n.lift(new s(t,e,n))}};var s=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.thisArg,this.source))},t}(),o=function(t){function e(e,n,i,r){t.call(this,e),this.predicate=n,this.thisArg=i,this.source=r,this.index=0,this.thisArg=i||this}return i(e,t),e.prototype.notifyComplete=function(t){this.destination.next(t),this.destination.complete()},e.prototype._next=function(t){var e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e||this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(r.Subscriber)},93229:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.exhaust=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(e){t.call(this,e),this.hasCompleted=!1,this.hasSubscription=!1}return i(e,t),e.prototype._next=function(t){this.hasSubscription||(this.hasSubscription=!0,this.add(s.subscribeToResult(this,t)))},e.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},e.prototype.notifyComplete=function(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber)},15758:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.exhaustMap=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.resultSelector=i,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}return i(e,t),e.prototype._next=function(t){this.hasSubscription||this.tryNext(t)},e.prototype.tryNext=function(t){var e=this.index++,n=this.destination;try{var i=this.project(t,e);this.hasSubscription=!0,this.add(s.subscribeToResult(this,i,t,e))}catch(r){n.error(r)}},e.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},e.prototype.notifyNext=function(t,e,n,i,r){var s=this.destination;this.resultSelector?this.trySelectResult(t,e,n,i):s.next(e)},e.prototype.trySelectResult=function(t,e,n,i){var r=this.resultSelector,s=this.destination;try{var o=r(t,e,n,i);s.next(o)}catch(a){s.error(a)}},e.prototype.notifyError=function(t){this.destination.error(t)},e.prototype.notifyComplete=function(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber)},55364:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(33463),s=n(85814),o=n(84308),a=n(93658);e.expand=function(t,e,n){return void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===n&&(n=void 0),e=(e||0)<1?Number.POSITIVE_INFINITY:e,function(i){return i.lift(new l(t,e,n))}};var l=function(){function t(t,e,n){this.project=t,this.concurrent=e,this.scheduler=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.project,this.concurrent,this.scheduler))},t}();e.ExpandOperator=l;var c=function(t){function e(e,n,i,r){t.call(this,e),this.project=n,this.concurrent=i,this.scheduler=r,this.index=0,this.active=0,this.hasCompleted=!1,i0&&this._next(e.shift()),this.hasCompleted&&0===this.active&&this.destination.complete()},e}(o.OuterSubscriber);e.ExpandSubscriber=c},27015:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.filter=function(t,e){return function(n){return n.lift(new s(t,e))}};var s=function(){function t(t,e){this.predicate=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.thisArg))},t}(),o=function(t){function e(e,n,i){t.call(this,e),this.predicate=n,this.thisArg=i,this.count=0}return i(e,t),e.prototype._next=function(t){var e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)},e}(r.Subscriber)},94367:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(72293);e.finalize=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){this.callback=t}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.callback))},t}(),a=function(t){function e(e,n){t.call(this,e),this.add(new s.Subscription(n))}return i(e,t),e}(r.Subscriber)},16700:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.find=function(t,e){if("function"!=typeof t)throw new TypeError("predicate is not a function");return function(n){return n.lift(new s(t,n,!1,e))}};var s=function(){function t(t,e,n,i){this.predicate=t,this.source=e,this.yieldIndex=n,this.thisArg=i}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.source,this.yieldIndex,this.thisArg))},t}();e.FindValueOperator=s;var o=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.source=i,this.yieldIndex=r,this.thisArg=s,this.index=0}return i(e,t),e.prototype.notifyComplete=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype._next=function(t){var e=this.predicate,n=this.thisArg,i=this.index++;try{e.call(n||this,t,i,this.source)&&this.notifyComplete(this.yieldIndex?i:t)}catch(r){this.destination.error(r)}},e.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)},e}(r.Subscriber);e.FindValueSubscriber=o},86452:function(t,e,n){"use strict";var i=n(16700);e.findIndex=function(t,e){return function(n){return n.lift(new i.FindValueOperator(t,n,!0,e))}}},12309:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.first=function(t,e,n){return function(i){return i.lift(new o(t,e,n,i))}};var o=function(){function t(t,e,n,i){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=i}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),a=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=s,this.index=0,this.hasCompleted=!1,this._emitted=!1}return i(e,t),e.prototype._next=function(t){var e=this.index++;this.predicate?this._tryPredicate(t,e):this._emit(t,e)},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(i){return void this.destination.error(i)}n&&this._emit(t,e)},e.prototype._emit=function(t,e){this.resultSelector?this._tryResultSelector(t,e):this._emitFinal(t)},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(i){return void this.destination.error(i)}this._emitFinal(n)},e.prototype._emitFinal=function(t){var e=this.destination;this._emitted||(this._emitted=!0,e.next(t),e.complete(),this.hasCompleted=!0)},e.prototype._complete=function(){var t=this.destination;this.hasCompleted||void 0===this.defaultValue?this.hasCompleted||t.error(new s.EmptyError):(t.next(this.defaultValue),t.complete())},e}(r.Subscriber)},92577:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(72293),o=n(18705),a=n(2369),l=n(49754),c=n(30764);e.groupBy=function(t,e,n,i){return function(r){return r.lift(new u(t,e,n,i))}};var u=function(){function t(t,e,n,i){this.keySelector=t,this.elementSelector=e,this.durationSelector=n,this.subjectSelector=i}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))},t}(),h=function(t){function e(e,n,i,r,s){t.call(this,e),this.keySelector=n,this.elementSelector=i,this.durationSelector=r,this.subjectSelector=s,this.groups=null,this.attemptedToUnsubscribe=!1,this.count=0}return i(e,t),e.prototype._next=function(t){var e;try{e=this.keySelector(t)}catch(n){return void this.error(n)}this._group(t,e)},e.prototype._group=function(t,e){var n=this.groups;n||(n=this.groups="string"==typeof e?new c.FastMap:new l.Map);var i,r=n.get(e);if(this.elementSelector)try{i=this.elementSelector(t)}catch(u){this.error(u)}else i=t;if(!r){r=this.subjectSelector?this.subjectSelector():new a.Subject,n.set(e,r);var s=new p(e,r,this);if(this.destination.next(s),this.durationSelector){var o=void 0;try{o=this.durationSelector(new p(e,r))}catch(u){return void this.error(u)}this.add(o.subscribe(new d(e,r,this)))}}r.closed||r.next(i)},e.prototype._error=function(t){var e=this.groups;e&&(e.forEach(function(e,n){e.error(t)}),e.clear()),this.destination.error(t)},e.prototype._complete=function(){var t=this.groups;t&&(t.forEach(function(t,e){t.complete()}),t.clear()),this.destination.complete()},e.prototype.removeGroup=function(t){this.groups.delete(t)},e.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&t.prototype.unsubscribe.call(this))},e}(r.Subscriber),d=function(t){function e(e,n,i){t.call(this,n),this.key=e,this.group=n,this.parent=i}return i(e,t),e.prototype._next=function(t){this.complete()},e.prototype._unsubscribe=function(){var t=this.parent,e=this.key;this.key=this.parent=null,t&&t.removeGroup(e)},e}(r.Subscriber),p=function(t){function e(e,n,i){t.call(this),this.key=e,this.groupSubject=n,this.refCountSubscription=i}return i(e,t),e.prototype._subscribe=function(t){var e=new s.Subscription,n=this.refCountSubscription,i=this.groupSubject;return n&&!n.closed&&e.add(new f(n)),e.add(i.subscribe(t)),e},e}(o.Observable);e.GroupedObservable=p;var f=function(t){function e(e){t.call(this),this.parent=e,e.count++}return i(e,t),e.prototype.unsubscribe=function(){var e=this.parent;!e.closed&&!this.closed&&(t.prototype.unsubscribe.call(this),e.count-=1,0===e.count&&e.attemptedToUnsubscribe&&e.unsubscribe())},e}(s.Subscription)},86898:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(68668);e.ignoreElements=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype._next=function(t){s.noop()},e}(r.Subscriber)},89121:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.isEmpty=function(){return function(t){return t.lift(new s)}};var s=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new o(t))},t}(),o=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype.notifyComplete=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype._next=function(t){this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(r.Subscriber)},4636:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.last=function(t,e,n){return function(i){return i.lift(new o(t,e,n,i))}};var o=function(){function t(t,e,n,i){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=i}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),a=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=s,this.hasValue=!1,this.index=0,void 0!==r&&(this.lastValue=r,this.hasValue=!0)}return i(e,t),e.prototype._next=function(t){var e=this.index++;if(this.predicate)this._tryPredicate(t,e);else{if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(i){return void this.destination.error(i)}if(n){if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(i){return void this.destination.error(i)}this.lastValue=n,this.hasValue=!0},e.prototype._complete=function(){var t=this.destination;this.hasValue?(t.next(this.lastValue),t.complete()):t.error(new s.EmptyError)},e}(r.Subscriber)},40119:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.map=function(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new s(t,e))}};var s=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.project,this.thisArg))},t}();e.MapOperator=s;var o=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.count=0,this.thisArg=i||this}return i(e,t),e.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(r.Subscriber)},23491:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.mapTo=function(t){return function(e){return e.lift(new s(t))}};var s=function(){function t(t){this.value=t}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.value))},t}(),o=function(t){function e(e,n){t.call(this,e),this.value=n}return i(e,t),e.prototype._next=function(t){this.destination.next(this.value)},e}(r.Subscriber)},71177:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(94429);e.materialize=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype._next=function(t){this.destination.next(s.Notification.createNext(t))},e.prototype._error=function(t){var e=this.destination;e.next(s.Notification.createError(t)),e.complete()},e.prototype._complete=function(){var t=this.destination;t.next(s.Notification.createComplete()),t.complete()},e}(r.Subscriber)},33499:function(t,e,n){"use strict";var i=n(97369);e.max=function(t){return i.reduce("function"==typeof t?function(e,n){return t(e,n)>0?e:n}:function(t,e){return t>e?t:e})}},56098:function(t,e,n){"use strict";var i=n(38781),r=n(38781);e.mergeStatic=r.merge,e.merge=function(){for(var t=[],e=0;e0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(s.OuterSubscriber);e.MergeMapSubscriber=a},6693:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.mergeMapTo=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"number"==typeof e&&(n=e,e=null),function(i){return i.lift(new o(t,e,n))}};var o=function(){function t(t,e,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.ish=t,this.resultSelector=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.ish,this.resultSelector,this.concurrent))},t}();e.MergeMapToOperator=o;var a=function(t){function e(e,n,i,r){void 0===r&&(r=Number.POSITIVE_INFINITY),t.call(this,e),this.ish=n,this.resultSelector=i,this.concurrent=r,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){if(this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber);e.MergeMapToSubscriber=a},7550:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(33463),s=n(85814),o=n(93658),a=n(84308);e.mergeScan=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(i){return i.lift(new l(t,e,n))}};var l=function(){function t(t,e,n){this.accumulator=t,this.seed=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.accumulator,this.seed,this.concurrent))},t}();e.MergeScanOperator=l;var c=function(t){function e(e,n,i,r){t.call(this,e),this.accumulator=n,this.acc=i,this.concurrent=r,this.hasValue=!1,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){if(this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())},e}(a.OuterSubscriber);e.MergeScanSubscriber=c},51213:function(t,e,n){"use strict";var i=n(97369);e.min=function(t){return i.reduce("function"==typeof t?function(e,n){return t(e,n)<0?e:n}:function(t,e){return t=2?function(n){return o.pipe(i.scan(t,e),r.takeLast(1),s.defaultIfEmpty(e))(n)}:function(e){return o.pipe(i.scan(function(e,n,i){return t(e,n,i+1)}),r.takeLast(1))(e)}}},1694:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.refCount=function(){return function(t){return t.lift(new s(t))}};var s=function(){function t(t){this.connectable=t}return t.prototype.call=function(t,e){var n=this.connectable;n._refCount++;var i=new o(t,n),r=e.subscribe(i);return i.closed||(i.connection=n.connect()),r},t}(),o=function(t){function e(e,n){t.call(this,e),this.connectable=n}return i(e,t),e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._refCount;if(e<=0)this.connection=null;else if(t._refCount=e-1,e>1)this.connection=null;else{var n=this.connection,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null},e}(r.Subscriber)},15329:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(70481);e.repeat=function(t){return void 0===t&&(t=-1),function(e){return 0===t?new s.EmptyObservable:e.lift(new o(t<0?-1:t-1,e))}};var o=function(){function t(t,e){this.count=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.count,this.source))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.count=n,this.source=i}return i(e,t),e.prototype.complete=function(){if(!this.isStopped){var e=this.source,n=this.count;if(0===n)return t.prototype.complete.call(this);n>-1&&(this.count=n-1),e.subscribe(this._unsubscribeAndRecycle())}},e}(r.Subscriber)},63964:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.repeatWhen=function(t){return function(e){return e.lift(new c(t))}};var c=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.notifier,e))},t}(),u=function(t){function e(e,n,i){t.call(this,e),this.notifier=n,this.source=i,this.sourceIsBeingSubscribedTo=!0}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.sourceIsBeingSubscribedTo=!0,this.source.subscribe(this)},e.prototype.notifyComplete=function(e){if(!1===this.sourceIsBeingSubscribedTo)return t.prototype.complete.call(this)},e.prototype.complete=function(){if(this.sourceIsBeingSubscribedTo=!1,!this.isStopped){if(this.retries||this.subscribeToRetries(),!this.retriesSubscription||this.retriesSubscription.closed)return t.prototype.complete.call(this);this._unsubscribeAndRecycle(),this.notifications.next()}},e.prototype._unsubscribe=function(){var t=this.notifications,e=this.retriesSubscription;t&&(t.unsubscribe(),this.notifications=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null},e.prototype._unsubscribeAndRecycle=function(){var e=this,n=e.notifications,i=e.retries,r=e.retriesSubscription;return this.notifications=null,this.retries=null,this.retriesSubscription=null,t.prototype._unsubscribeAndRecycle.call(this),this.notifications=n,this.retries=i,this.retriesSubscription=r,this},e.prototype.subscribeToRetries=function(){this.notifications=new r.Subject;var e=s.tryCatch(this.notifier)(this.notifications);if(e===o.errorObject)return t.prototype.complete.call(this);this.retries=e,this.retriesSubscription=l.subscribeToResult(this,e)},e}(a.OuterSubscriber)},40241:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.retry=function(t){return void 0===t&&(t=-1),function(e){return e.lift(new s(t,e))}};var s=function(){function t(t,e){this.count=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.count,this.source))},t}(),o=function(t){function e(e,n,i){t.call(this,e),this.count=n,this.source=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=this.source,i=this.count;if(0===i)return t.prototype.error.call(this,e);i>-1&&(this.count=i-1),n.subscribe(this._unsubscribeAndRecycle())}},e}(r.Subscriber)},23896:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.retryWhen=function(t){return function(e){return e.lift(new c(t,e))}};var c=function(){function t(t,e){this.notifier=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.notifier,this.source))},t}(),u=function(t){function e(e,n,i){t.call(this,e),this.notifier=n,this.source=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=this.errors,i=this.retries,a=this.retriesSubscription;if(i)this.errors=null,this.retriesSubscription=null;else{if(n=new r.Subject,(i=s.tryCatch(this.notifier)(n))===o.errorObject)return t.prototype.error.call(this,o.errorObject.e);a=l.subscribeToResult(this,i)}this._unsubscribeAndRecycle(),this.errors=n,this.retries=i,this.retriesSubscription=a,n.next(e)}},e.prototype._unsubscribe=function(){var t=this.errors,e=this.retriesSubscription;t&&(t.unsubscribe(),this.errors=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null},e.prototype.notifyNext=function(t,e,n,i,r){var s=this,o=s.errors,a=s.retries,l=s.retriesSubscription;this.errors=null,this.retries=null,this.retriesSubscription=null,this._unsubscribeAndRecycle(),this.errors=o,this.retries=a,this.retriesSubscription=l,this.source.subscribe(this)},e}(a.OuterSubscriber)},92043:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.sample=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){var n=new a(t),i=e.subscribe(n);return i.add(s.subscribeToResult(n,this.notifier)),i},t}(),a=function(t){function e(){t.apply(this,arguments),this.hasValue=!1}return i(e,t),e.prototype._next=function(t){this.value=t,this.hasValue=!0},e.prototype.notifyNext=function(t,e,n,i,r){this.emitValue()},e.prototype.notifyComplete=function(){this.emitValue()},e.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))},e}(r.OuterSubscriber)},71239:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(90680);e.sampleTime=function(t,e){return void 0===e&&(e=s.async),function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.period=t,this.scheduler=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.period,this.scheduler))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.period=n,this.scheduler=i,this.hasValue=!1,this.add(i.schedule(l,n,{subscriber:this,period:n}))}return i(e,t),e.prototype._next=function(t){this.lastValue=t,this.hasValue=!0},e.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))},e}(r.Subscriber);function l(t){var e=t.period;t.subscriber.notifyNext(),this.schedule(t,e)}},64949:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.scan=function(t,e){var n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new s(t,e,n))}};var s=function(){function t(t,e,n){void 0===n&&(n=!1),this.accumulator=t,this.seed=e,this.hasSeed=n}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.accumulator,this.seed,this.hasSeed))},t}(),o=function(t){function e(e,n,i,r){t.call(this,e),this.accumulator=n,this._seed=i,this.hasSeed=r,this.index=0}return i(e,t),Object.defineProperty(e.prototype,"seed",{get:function(){return this._seed},set:function(t){this.hasSeed=!0,this._seed=t},enumerable:!0,configurable:!0}),e.prototype._next=function(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)},e.prototype._tryNext=function(t){var e,n=this.index++;try{e=this.accumulator(this.seed,t,n)}catch(i){this.destination.error(i)}this.seed=e,this.destination.next(e)},e}(r.Subscriber)},88948:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(33463),o=n(85814);e.sequenceEqual=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.compareTo=t,this.comparor=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.compareTo,this.comparor))},t}();e.SequenceEqualOperator=a;var l=function(t){function e(e,n,i){t.call(this,e),this.compareTo=n,this.comparor=i,this._a=[],this._b=[],this._oneComplete=!1,this.add(n.subscribe(new c(e,this)))}return i(e,t),e.prototype._next=function(t){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(t),this.checkValues())},e.prototype._complete=function(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0},e.prototype.checkValues=function(){for(var t=this,e=t._a,n=t._b,i=t.comparor;e.length>0&&n.length>0;){var r=e.shift(),a=n.shift(),l=!1;i?(l=s.tryCatch(i)(r,a))===o.errorObject&&this.destination.error(o.errorObject.e):l=r===a,l||this.emit(!1)}},e.prototype.emit=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype.nextB=function(t){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(t),this.checkValues())},e}(r.Subscriber);e.SequenceEqualSubscriber=l;var c=function(t){function e(e,n){t.call(this,e),this.parent=n}return i(e,t),e.prototype._next=function(t){this.parent.nextB(t)},e.prototype._error=function(t){this.parent.error(t)},e.prototype._complete=function(){this.parent._complete()},e}(r.Subscriber)},35473:function(t,e,n){"use strict";var i=n(27372),r=n(1694),s=n(2369);function o(){return new s.Subject}e.share=function(){return function(t){return r.refCount()(i.multicast(o)(t))}}},62704:function(t,e,n){"use strict";var i=n(81959);e.shareReplay=function(t,e,n){return function(r){return r.lift(function(t,e,n){var r,s,o=0,a=!1,l=!1;return function(c){o++,(!r||a)&&(a=!1,r=new i.ReplaySubject(t,e,n),s=c.subscribe({next:function(t){r.next(t)},error:function(t){a=!0,r.error(t)},complete:function(){l=!0,r.complete()}}));var u=r.subscribe(this);return function(){o--,u.unsubscribe(),s&&0===o&&l&&s.unsubscribe()}}}(t,e,n))}}},92223:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.single=function(t){return function(e){return e.lift(new o(t,e))}};var o=function(){function t(t,e){this.predicate=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.source))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.predicate=n,this.source=i,this.seenValue=!1,this.index=0}return i(e,t),e.prototype.applySingleValue=function(t){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=t)},e.prototype._next=function(t){var e=this.index++;this.predicate?this.tryNext(t,e):this.applySingleValue(t)},e.prototype.tryNext=function(t,e){try{this.predicate(t,e,this.source)&&this.applySingleValue(t)}catch(n){this.destination.error(n)}},e.prototype._complete=function(){var t=this.destination;this.index>0?(t.next(this.seenValue?this.singleValue:void 0),t.complete()):t.error(new s.EmptyError)},e}(r.Subscriber)},11189:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.skip=function(t){return function(e){return e.lift(new s(t))}};var s=function(){function t(t){this.total=t}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.total))},t}(),o=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return i(e,t),e.prototype._next=function(t){++this.count>this.total&&this.destination.next(t)},e}(r.Subscriber)},73346:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758);e.skipLast=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){if(this._skipCount=t,this._skipCount<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(0===this._skipCount?new r.Subscriber(t):new a(t,this._skipCount))},t}(),a=function(t){function e(e,n){t.call(this,e),this._skipCount=n,this._count=0,this._ring=new Array(n)}return i(e,t),e.prototype._next=function(t){var e=this._skipCount,n=this._count++;if(n1?new i.ArrayObservable(t,n):new s.EmptyObservable(n),e)}}},10118:function(t,e,n){"use strict";var i=n(82966);e.subscribeOn=function(t,e){return void 0===e&&(e=0),function(n){return n.lift(new r(t,e))}};var r=function(){function t(t,e){this.scheduler=t,this.delay=e}return t.prototype.call=function(t,e){return new i.SubscribeOnObservable(e,this.delay,this.scheduler).subscribe(t)},t}()},77243:function(t,e,n){"use strict";var i=n(18483),r=n(5027);e.switchAll=function(){return i.switchMap(r.identity)}},18483:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.switchMap=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.resultSelector=i,this.index=0}return i(e,t),e.prototype._next=function(t){var e,n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this._innerSub(e,t,n)},e.prototype._innerSub=function(t,e,n){var i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=s.subscribeToResult(this,t,e,n))},e.prototype._complete=function(){var e=this.innerSubscription;(!e||e.closed)&&t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){this.resultSelector?this._tryNotifyNext(t,e,n,i):this.destination.next(e)},e.prototype._tryNotifyNext=function(t,e,n,i){var r;try{r=this.resultSelector(t,e,n,i)}catch(s){return void this.destination.error(s)}this.destination.next(r)},e}(r.OuterSubscriber)},10684:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.switchMapTo=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.observable=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.observable,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.inner=n,this.resultSelector=i,this.index=0}return i(e,t),e.prototype._next=function(t){var e=this.innerSubscription;e&&e.unsubscribe(),this.add(this.innerSubscription=s.subscribeToResult(this,this.inner,t,this.index++))},e.prototype._complete=function(){var e=this.innerSubscription;(!e||e.closed)&&t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){var s=this.destination;this.resultSelector?this.tryResultSelector(t,e,n,i):s.next(e)},e.prototype.tryResultSelector=function(t,e,n,i){var r,s=this.resultSelector,o=this.destination;try{r=s(t,e,n,i)}catch(a){return void o.error(a)}o.next(r)},e}(r.OuterSubscriber)},44396:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758),o=n(70481);e.take=function(t){return function(e){return 0===t?new o.EmptyObservable:e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return i(e,t),e.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},e}(r.Subscriber)},73935:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758),o=n(70481);e.takeLast=function(t){return function(e){return 0===t?new o.EmptyObservable:e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.ring=new Array,this.count=0}return i(e,t),e.prototype._next=function(t){var e=this.ring,n=this.total,i=this.count++;e.length0)for(var n=this.count>=this.total?this.total:this.count,i=this.ring,r=0;r0?this.startWindowEvery:this.windowSize,n=this.destination,i=this.windowSize,r=this.windows,o=r.length,a=0;a=0&&l%e==0&&!this.closed&&r.shift().complete(),++this.count%e==0&&!this.closed){var c=new s.Subject;r.push(c),n.next(c)}},e.prototype._error=function(t){var e=this.windows;if(e)for(;e.length>0&&!this.closed;)e.shift().error(t);this.destination.error(t)},e.prototype._complete=function(){var t=this.windows;if(t)for(;t.length>0&&!this.closed;)t.shift().complete();this.destination.complete()},e.prototype._unsubscribe=function(){this.count=0,this.windows=null},e}(r.Subscriber)},42603:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(90680),o=n(42109),a=n(39479),l=n(41503);e.windowTime=function(t){var e=s.async,n=null,i=Number.POSITIVE_INFINITY;return l.isScheduler(arguments[3])&&(e=arguments[3]),l.isScheduler(arguments[2])?e=arguments[2]:a.isNumeric(arguments[2])&&(i=arguments[2]),l.isScheduler(arguments[1])?e=arguments[1]:a.isNumeric(arguments[1])&&(n=arguments[1]),function(r){return r.lift(new c(t,n,i,e))}};var c=function(){function t(t,e,n,i){this.windowTimeSpan=t,this.windowCreationInterval=e,this.maxWindowSize=n,this.scheduler=i}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))},t}(),u=function(t){function e(){t.apply(this,arguments),this._numberOfNextedValues=0}return i(e,t),e.prototype.next=function(e){this._numberOfNextedValues++,t.prototype.next.call(this,e)},Object.defineProperty(e.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0}),e}(r.Subject),h=function(t){function e(e,n,i,r,s){t.call(this,e),this.destination=e,this.windowTimeSpan=n,this.windowCreationInterval=i,this.maxWindowSize=r,this.scheduler=s,this.windows=[];var o=this.openWindow();if(null!==i&&i>=0){var a={windowTimeSpan:n,windowCreationInterval:i,subscriber:this,scheduler:s};this.add(s.schedule(f,n,{subscriber:this,window:o,context:null})),this.add(s.schedule(p,i,a))}else this.add(s.schedule(d,n,{subscriber:this,window:o,windowTimeSpan:n}))}return i(e,t),e.prototype._next=function(t){for(var e=this.windows,n=e.length,i=0;i=this.maxWindowSize&&this.closeWindow(r))}},e.prototype._error=function(t){for(var e=this.windows;e.length>0;)e.shift().error(t);this.destination.error(t)},e.prototype._complete=function(){for(var t=this.windows;t.length>0;){var e=t.shift();e.closed||e.complete()}this.destination.complete()},e.prototype.openWindow=function(){var t=new u;return this.windows.push(t),this.destination.next(t),t},e.prototype.closeWindow=function(t){t.complete();var e=this.windows;e.splice(e.indexOf(t),1)},e}(o.Subscriber);function d(t){var e=t.subscriber,n=t.windowTimeSpan,i=t.window;i&&e.closeWindow(i),t.window=e.openWindow(),this.schedule(t,n)}function p(t){var e=t.windowTimeSpan,n=t.subscriber,i=t.scheduler,r=t.windowCreationInterval,s=n.openWindow(),o=this,a={action:o,subscription:null};a.subscription=i.schedule(f,e,{subscriber:n,window:s,context:a}),o.add(a.subscription),o.schedule(t,r)}function f(t){var e=t.subscriber,n=t.window,i=t.context;i&&i.action&&i.subscription&&i.action.remove(i.subscription),e.closeWindow(n)}},59048:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(72293),o=n(33463),a=n(85814),l=n(84308),c=n(93658);e.windowToggle=function(t,e){return function(n){return n.lift(new u(t,e))}};var u=function(){function t(t,e){this.openings=t,this.closingSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.openings,this.closingSelector))},t}(),h=function(t){function e(e,n,i){t.call(this,e),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(this.openSubscription=c.subscribeToResult(this,n,n))}return i(e,t),e.prototype._next=function(t){var e=this.contexts;if(e)for(var n=e.length,i=0;i0){var o=s.indexOf(n);-1!==o&&s.splice(o,1)}},e.prototype.notifyComplete=function(){},e.prototype._next=function(t){if(0===this.toRespond.length){var e=[t].concat(this.values);this.project?this._tryProject(e):this.destination.next(e)}},e.prototype._tryProject=function(t){var e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(r.OuterSubscriber)},9477:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(96177),s=n(48242),o=n(42109),a=n(84308),l=n(93658),c=n(72121);function u(){for(var t=[],e=0;ethis.index},t.prototype.hasCompleted=function(){return this.array.length===this.index},t}(),g=function(t){function e(e,n,i){t.call(this,e),this.parent=n,this.observable=i,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}return i(e,t),e.prototype[c.iterator]=function(){return this},e.prototype.next=function(){var t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}},e.prototype.hasValue=function(){return this.buffer.length>0},e.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},e.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},e.prototype.notifyNext=function(t,e,n,i,r){this.buffer.push(e),this.parent.checkIterators()},e.prototype.subscribe=function(t,e){return l.subscribeToResult(this,this.observable,this,e)},e}(a.OuterSubscriber)},33310:function(t,e,n){"use strict";var i=n(9477);e.zipAll=function(t){return function(e){return e.lift(new i.ZipOperator(t))}}},28101:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this)}return i(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(n(72293).Subscription);e.Action=r},67529:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(12624),s=n(95018),o=function(t){function e(e,n){t.call(this,e,n),this.scheduler=e,this.work=n}return i(e,t),e.prototype.requestAsyncId=function(e,n,i){return void 0===i&&(i=0),null!==i&&i>0?t.prototype.requestAsyncId.call(this,e,n,i):(e.actions.push(this),e.scheduled||(e.scheduled=s.AnimationFrame.requestAnimationFrame(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,i);0===e.actions.length&&(s.AnimationFrame.cancelAnimationFrame(n),e.scheduled=void 0)},e}(r.AsyncAction);e.AnimationFrameAction=o},68909:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,i=-1,r=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++i0?t.prototype.requestAsyncId.call(this,e,n,i):(e.actions.push(this),e.scheduled||(e.scheduled=r.Immediate.setImmediate(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,i);0===e.actions.length&&(r.Immediate.clearImmediate(n),e.scheduled=void 0)},e}(n(12624).AsyncAction);e.AsapAction=s},25766:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,i=-1,r=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++i0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,i){return void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,i):e.flush(this)},e}(n(12624).AsyncAction);e.QueueAction=r},77373:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e}(n(42704).AsyncScheduler);e.QueueScheduler=r},18353:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(12624),s=function(t){function e(e,n){var i=this;void 0===e&&(e=o),void 0===n&&(n=Number.POSITIVE_INFINITY),t.call(this,e,function(){return i.frame}),this.maxFrames=n,this.frame=0,this.index=-1}return i(e,t),e.prototype.flush=function(){for(var t,e,n=this.actions,i=this.maxFrames;(e=n.shift())&&(this.frame=e.delay)<=i&&!(t=e.execute(e.state,e.delay)););if(t){for(;e=n.shift();)e.unsubscribe();throw t}},e.frameTimeFactor=10,e}(n(42704).AsyncScheduler);e.VirtualTimeScheduler=s;var o=function(t){function e(e,n,i){void 0===i&&(i=e.index+=1),t.call(this,e,n),this.scheduler=e,this.work=n,this.index=i,this.active=!0,this.index=e.index=i}return i(e,t),e.prototype.schedule=function(n,i){if(void 0===i&&(i=0),!this.id)return t.prototype.schedule.call(this,n,i);this.active=!1;var r=new e(this.scheduler,this.work);return this.add(r),r.schedule(n,i)},e.prototype.requestAsyncId=function(t,n,i){void 0===i&&(i=0),this.delay=t.frame+i;var r=t.actions;return r.push(this),r.sort(e.sortActions),!0},e.prototype.recycleAsyncId=function(t,e,n){void 0===n&&(n=0)},e.prototype._execute=function(e,n){if(!0===this.active)return t.prototype._execute.call(this,e,n)},e.sortActions=function(t,e){return t.delay===e.delay?t.index===e.index?0:t.index>e.index?1:-1:t.delay>e.delay?1:-1},e}(r.AsyncAction);e.VirtualAction=o},12948:function(t,e,n){"use strict";var i=n(67529),r=n(68909);e.animationFrame=new r.AnimationFrameScheduler(i.AnimationFrameAction)},85522:function(t,e,n){"use strict";var i=n(3496),r=n(25766);e.asap=new r.AsapScheduler(i.AsapAction)},90680:function(t,e,n){"use strict";var i=n(12624),r=n(42704);e.async=new r.AsyncScheduler(i.AsyncAction)},97088:function(t,e,n){"use strict";var i=n(7100),r=n(77373);e.queue=new r.QueueScheduler(i.QueueAction)},72121:function(t,e,n){"use strict";var i=n(80019);function r(t){var e=t.Symbol;if("function"==typeof e)return e.iterator||(e.iterator=e("iterator polyfill")),e.iterator;var n=t.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var i=t.Map;if(i)for(var r=Object.getOwnPropertyNames(i.prototype),s=0;s0;)e.shift().setup();t.prototype.flush.call(this);for(var n=this.flushTests.filter(function(t){return t.ready});n.length>0;){var i=n.shift();this.assertDeepEqual(i.actual,i.expected)}},e.parseMarblesAsSubscriptions=function(t){if("string"!=typeof t)return new l.SubscriptionLog(Number.POSITIVE_INFINITY);for(var e=t.length,n=-1,i=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,s=0;s-1?n:o;break;case"!":if(r!==Number.POSITIVE_INFINITY)throw new Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");r=n>-1?n:o;break;default:throw new Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+a+"'.")}}return r<0?new l.SubscriptionLog(i):new l.SubscriptionLog(i,r)},e.parseMarbles=function(t,e,n,i){if(void 0===i&&(i=!1),-1!==t.indexOf("!"))throw new Error('conventional marble diagrams cannot have the unsubscription marker "!"');for(var r=t.length,a=[],l=t.indexOf("^"),c=-1===l?0:l*-this.frameTimeFactor,u="object"!=typeof e?function(t){return t}:function(t){return i&&e[t]instanceof o.ColdObservable?e[t].messages:e[t]},h=-1,d=0;d-1?h:p,notification:f})}return a},e}(c.VirtualTimeScheduler);e.TestScheduler=u},95018:function(t,e,n){"use strict";var i=n(80019),r=function(t){t.requestAnimationFrame?(this.cancelAnimationFrame=t.cancelAnimationFrame.bind(t),this.requestAnimationFrame=t.requestAnimationFrame.bind(t)):t.mozRequestAnimationFrame?(this.cancelAnimationFrame=t.mozCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.mozRequestAnimationFrame.bind(t)):t.webkitRequestAnimationFrame?(this.cancelAnimationFrame=t.webkitCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.webkitRequestAnimationFrame.bind(t)):t.msRequestAnimationFrame?(this.cancelAnimationFrame=t.msCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.msRequestAnimationFrame.bind(t)):t.oRequestAnimationFrame?(this.cancelAnimationFrame=t.oCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.oRequestAnimationFrame.bind(t)):(this.cancelAnimationFrame=t.clearTimeout.bind(t),this.requestAnimationFrame=function(e){return t.setTimeout(e,1e3/60)})};e.RequestAnimationFrameDefinition=r,e.AnimationFrame=new r(i.root)},11758:function(t,e){"use strict";var n=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},i=function(t){function e(){var e=t.call(this,"argument out of range");this.name=e.name="ArgumentOutOfRangeError",this.stack=e.stack,this.message=e.message}return n(e,t),e}(Error);e.ArgumentOutOfRangeError=i},44640:function(t,e){"use strict";var n=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},i=function(t){function e(){var e=t.call(this,"no elements in sequence");this.name=e.name="EmptyError",this.stack=e.stack,this.message=e.message}return n(e,t),e}(Error);e.EmptyError=i},30764:function(t,e){"use strict";var n=function(){function t(){this.values={}}return t.prototype.delete=function(t){return this.values[t]=null,!0},t.prototype.set=function(t,e){return this.values[t]=e,this},t.prototype.get=function(t){return this.values[t]},t.prototype.forEach=function(t,e){var n=this.values;for(var i in n)n.hasOwnProperty(i)&&null!==n[i]&&t.call(e,n[i],i)},t.prototype.clear=function(){this.values={}},t}();e.FastMap=n},42982:function(t,e,n){"use strict";var i=n(80019),r=function(){function t(t){if(this.root=t,t.setImmediate&&"function"==typeof t.setImmediate)this.setImmediate=t.setImmediate.bind(t),this.clearImmediate=t.clearImmediate.bind(t);else{this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.setImmediate=this.canUseProcessNextTick()?this.createProcessNextTickSetImmediate():this.canUsePostMessage()?this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.createReadyStateChangeSetImmediate():this.createSetTimeoutSetImmediate();var e=function t(e){delete t.instance.tasksByHandle[e]};e.instance=this,this.clearImmediate=e}}return t.prototype.identify=function(t){return this.root.Object.prototype.toString.call(t)},t.prototype.canUseProcessNextTick=function(){return"[object process]"===this.identify(this.root.process)},t.prototype.canUseMessageChannel=function(){return Boolean(this.root.MessageChannel)},t.prototype.canUseReadyStateChange=function(){var t=this.root.document;return Boolean(t&&"onreadystatechange"in t.createElement("script"))},t.prototype.canUsePostMessage=function(){var t=this.root;if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}return!1},t.prototype.partiallyApplied=function(t){for(var e=[],n=1;n=0}},1856:function(t,e){"use strict";e.isObject=function(t){return null!=t&&"object"==typeof t}},35130:function(t,e){"use strict";e.isPromise=function(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}},41503:function(t,e){"use strict";e.isScheduler=function(t){return t&&"function"==typeof t.schedule}},68668:function(t,e){"use strict";e.noop=function(){}},67239:function(t,e){"use strict";e.not=function(t,e){function n(){return!n.pred.apply(n.thisArg,arguments)}return n.pred=t,n.thisArg=e,n}},10142:function(t,e,n){"use strict";var i=n(68668);function r(t){return t?1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)}:i.noop}e.pipe=function(){for(var t=[],e=0;e=n?{done:!0}:{done:!1,value:t[i++]}})},e.empty=function(){var t=new e(null);return t.done=!0,t},e.is=function(t){return t instanceof e||"object"==typeof t&&null!==t&&"function"==typeof t.next},t.exports=e},97310:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.isMobile=function(){return void 0!==r.window.orientation},e.default=function(t){if(!t&&!(0,s.default)())return"Node";if((0,o.default)(t))return"Electron";var e="undefined"!=typeof navigator?navigator:{},n=t||e.userAgent||"";if(n.indexOf("Edge")>-1)return"Edge";var i=-1!==n.indexOf("MSIE "),a=-1!==n.indexOf("Trident/");return i||a?"IE":r.window.chrome?"Chrome":r.window.safari?"Safari":r.window.mozInnerScreenX?"Firefox":"Unknown"};var r=n(41151),s=i(n(61602)),o=i(n(22344))},41151:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.console=e.process=e.document=e.global=e.window=e.self=void 0;var r=i(n(34321)),s={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&process};e.self=s.self||s.window||s.global,e.window=s.window||s.self||s.global,e.global=s.global||s.self||s.window,e.document=s.document||{},e.process=s.process||{};var o=console;e.console=o},84761:function(t,e,n){"use strict";var i=n(61948),r=n(34321);Object.defineProperty(e,"CO",{enumerable:!0,get:function(){return s.global}}),Object.defineProperty(e,"qs",{enumerable:!0,get:function(){return o.default}});var s=n(41151),o=(l(n(61602)),l(n(97310)));i(n(22344));function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}function l(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!==r(t)&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in t)if("default"!==o&&Object.prototype.hasOwnProperty.call(t,o)){var l=s?Object.getOwnPropertyDescriptor(t,o):null;l&&(l.get||l.set)?Object.defineProperty(i,o,l):i[o]=t[o]}return i.default=t,n&&n.set(t,i),i}},61602:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.default=o,e.isBrowserMainThread=function(){return o()&&"undefined"!=typeof document};var r=i(n(34321)),s=i(n(22344));function o(){return!("object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,s.default)()}},22344:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){if("undefined"!=typeof window&&"object"===(0,r.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,r.default)(process.versions)&&Boolean(process.versions.electron))return!0;var e="object"===("undefined"==typeof navigator?"undefined":(0,r.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||e;return!!(n&&n.indexOf("Electron")>=0)};var r=i(n(34321))},86991:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(n(14180),e),r(n(75103),e),r(n(48965),e),r(n(32595),e),r(n(82417),e),r(n(92451),e),r(n(17735),e)},14180:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BlankNode=void 0,e.BlankNode=class{constructor(t){this.termType="BlankNode",this.value=t}equals(t){return!!t&&"BlankNode"===t.termType&&t.value===this.value}}},75103:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataFactory=void 0;const i=n(14180),r=n(48965),s=n(32595),o=n(82417),a=n(92451),l=n(17735);let c=0;e.DataFactory=class{constructor(t){this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||`df_${c++}_`}namedNode(t){return new o.NamedNode(t)}blankNode(t){return new i.BlankNode(t||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(t,e){return new s.Literal(t,e)}variable(t){return new l.Variable(t)}defaultGraph(){return r.DefaultGraph.INSTANCE}quad(t,e,n,i){return new a.Quad(t,e,n,i||this.defaultGraph())}fromTerm(t){switch(t.termType){case"NamedNode":return this.namedNode(t.value);case"BlankNode":return this.blankNode(t.value);case"Literal":return t.language?this.literal(t.value,t.language):t.datatype.equals(s.Literal.XSD_STRING)?this.literal(t.value):this.literal(t.value,this.fromTerm(t.datatype));case"Variable":return this.variable(t.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(t.subject),this.fromTerm(t.predicate),this.fromTerm(t.object),this.fromTerm(t.graph))}}fromQuad(t){return this.fromTerm(t)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},48965:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultGraph=void 0;class n{constructor(){this.termType="DefaultGraph",this.value=""}equals(t){return!!t&&"DefaultGraph"===t.termType}}e.DefaultGraph=n,n.INSTANCE=new n},32595:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Literal=void 0;const i=n(82417);class r{constructor(t,e){this.termType="Literal",this.value=t,"string"==typeof e?(this.language=e,this.datatype=r.RDF_LANGUAGE_STRING):e?(this.language="",this.datatype=e):(this.language="",this.datatype=r.XSD_STRING)}equals(t){return!!t&&"Literal"===t.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}e.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},82417:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NamedNode=void 0,e.NamedNode=class{constructor(t){this.termType="NamedNode",this.value=t}equals(t){return!!t&&"NamedNode"===t.termType&&t.value===this.value}}},92451:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Quad=void 0,e.Quad=class{constructor(t,e,n,i){this.termType="Quad",this.value="",this.subject=t,this.predicate=e,this.object=n,this.graph=i}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&this.subject.equals(t.subject)&&this.predicate.equals(t.predicate)&&this.object.equals(t.object)&&this.graph.equals(t.graph)}}},17735:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Variable=void 0,e.Variable=class{constructor(t){this.termType="Variable",this.value=t}equals(t){return!!t&&"Variable"===t.termType&&t.value===this.value}}},31609:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.getSupportedJavaScriptPrimitives=e.getSupportedRdfDatatypes=e.getTermRaw=e.toRdf=e.fromRdf=void 0;const s=n(86991),o=n(9938),a=n(66060);r(n(9938),e),r(n(88871),e),r(n(66060),e);const l=new s.DataFactory,c=new a.Translator;function u(t,e){return c.fromRdf(t,e)}c.registerHandler(new o.TypeHandlerString,o.TypeHandlerString.TYPES.map(t=>l.namedNode(t)),["string"]),c.registerHandler(new o.TypeHandlerBoolean,[o.TypeHandlerBoolean.TYPE].map(t=>l.namedNode(t)),["boolean"]),c.registerHandler(new o.TypeHandlerNumberDouble,o.TypeHandlerNumberDouble.TYPES.map(t=>l.namedNode(t)),["number"]),c.registerHandler(new o.TypeHandlerNumberInteger,o.TypeHandlerNumberInteger.TYPES.map(t=>l.namedNode(t)),["number"]),c.registerHandler(new o.TypeHandlerDate,o.TypeHandlerDate.TYPES.map(t=>l.namedNode(t)),["object"]),e.fromRdf=u,e.toRdf=function(t,e){return e&&"namedNode"in e&&(e={dataFactory:e}),(e=e||{})&&!e.dataFactory&&(e.dataFactory=l),c.toRdf(t,e)},e.getTermRaw=function(t,e){return"Literal"===t.termType?u(t,e):t.value},e.getSupportedRdfDatatypes=function(){return c.getSupportedRdfDatatypes()},e.getSupportedJavaScriptPrimitives=function(){return c.getSupportedJavaScriptPrimitives()}},88871:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},66060:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Translator=void 0,e.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(t){throw new Error(`Invalid RDF ${t.datatype.value} value: '${t.value}'`)}registerHandler(t,e,n){for(const i of e)this.supportedRdfDatatypes.push(i),this.fromRdfHandlers[i.value]=t;for(const i of n){let e=this.toRdfHandlers[i];e||(this.toRdfHandlers[i]=e=[]),e.push(t)}}fromRdf(t,e){const n=this.fromRdfHandlers[t.datatype.value];return n?n.fromRdf(t,e):t.value}toRdf(t,e){const n=this.toRdfHandlers[typeof t];if(n)for(const i of n){const n=i.toRdf(t,e);if(n)return n}throw new Error(`Invalid JavaScript value: '${t}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},80727:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerBoolean=void 0;const i=n(66060);class r{fromRdf(t,e){switch(t.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return e&&i.Translator.incorrectRdfDataType(t),!1}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(t?"true":"false",e||n.namedNode(r.TYPE))}}e.TypeHandlerBoolean=r,r.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},52525:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerDate=void 0;const i=n(66060);class r{fromRdf(t,e){switch(e&&!t.value.match(r.VALIDATORS[t.datatype.value.substr(33,t.datatype.value.length)])&&i.Translator.incorrectRdfDataType(t),t.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(t.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const e=t.value.split("-");return new Date(0,parseInt(e[0],10)-1,parseInt(e[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(t.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(t.value+"-01");default:return new Date(t.value)}}toRdf(t,{datatype:e,dataFactory:n}){if(e=e||n.namedNode(r.TYPES[0]),!(t instanceof Date))return null;const i=t;let s;switch(e.value){case"http://www.w3.org/2001/XMLSchema#gDay":s=String(i.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":s=i.getUTCMonth()+1+"-"+i.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":s=String(i.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":s=i.getUTCFullYear()+"-"+(i.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":s=i.toISOString().replace(/T.*$/,"");break;default:s=i.toISOString()}return n.literal(s,e)}}e.TypeHandlerDate=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],r.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},38554:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerNumberDouble=void 0;const i=n(66060);class r{fromRdf(t,e){const n=parseFloat(t.value);return e&&isNaN(n)&&i.Translator.incorrectRdfDataType(t),n}toRdf(t,{datatype:e,dataFactory:n}){return e=e||n.namedNode(r.TYPES[0]),isNaN(t)?n.literal("NaN",e):isFinite(t)?t%1==0?null:n.literal(t.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),e):n.literal(t>0?"INF":"-INF",e)}}e.TypeHandlerNumberDouble=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},37750:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerNumberInteger=void 0;const i=n(66060);class r{fromRdf(t,e){const n=parseInt(t.value,10);return e&&(isNaN(n)||t.value.indexOf(".")>=0)&&i.Translator.incorrectRdfDataType(t),n}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(String(t),e||n.namedNode(t<=r.MAX_INT&&t>=r.MIN_INT?r.TYPES[0]:r.TYPES[1]))}}e.TypeHandlerNumberInteger=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],r.MAX_INT=2147483647,r.MIN_INT=-2147483648},14608:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerString=void 0;class n{fromRdf(t){return t.value}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(t,e)}}e.TypeHandlerString=n,n.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(n(80727),e),r(n(52525),e),r(n(38554),e),r(n(37750),e),r(n(14608),e)},51316:function(t,e,n){"use strict";var i={};n.r(i),n.d(i,{decode:function(){return xj},encode:function(){return Cj}});var r={};n.r(r),n.d(r,{decode:function(){return Aj},encode:function(){return Ij}});var s={};n.r(s),n.d(s,{decode:function(){return Dj},encode:function(){return Nj}});var o={};function a(t){return"function"==typeof t}n.r(o),n.d(o,{decode:function(){return jj},encode:function(){return Bj}});let l=!1;const c={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else l&&console.log("RxJS: Back to a better error behavior. Thank you. <3");l=t},get useDeprecatedSynchronousErrorHandling(){return l}};function u(t){setTimeout(()=>{throw t},0)}const h={closed:!0,next(t){},error(t){if(c.useDeprecatedSynchronousErrorHandling)throw t;u(t)},complete(){}},d=Array.isArray||(t=>t&&"number"==typeof t.length);function p(t){return null!==t&&"object"==typeof t}const f=(()=>{function t(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t})();class g{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let t;if(this.closed)return;let{_parentOrParents:e,_ctorUnsubscribe:n,_unsubscribe:i,_subscriptions:r}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,e instanceof g)e.remove(this);else if(null!==e)for(let a=0;at.concat(e instanceof f?e.errors:e),[])}g.EMPTY=((m=new g).closed=!0,m);const y="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class v extends g{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=h;break;case 1:if(!t){this.destination=h;break}if("object"==typeof t){t instanceof v?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new _(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new _(this,t,e,n)}}[y](){return this}static create(t,e,n){const i=new v(t,e,n);return i.syncErrorThrowable=!1,i}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class _ extends v{constructor(t,e,n,i){super(),this._parentSubscriber=t;let r,s=this;a(e)?r=e:e&&(r=e.next,n=e.error,i=e.complete,e!==h&&(s=Object.create(e),a(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=r,this._error=n,this._complete=i}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;c.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=c;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):u(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;u(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);c.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(n){if(this.unsubscribe(),c.useDeprecatedSynchronousErrorHandling)throw n;u(n)}}__tryOrSetError(t,e,n){if(!c.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(i){return c.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=i,t.syncErrorThrown=!0,!0):(u(i),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const w="function"==typeof Symbol&&Symbol.observable||"@@observable";function x(t){return t}function S(...t){return C(t)}function C(t){return 0===t.length?x:1===t.length?t[0]:function(e){return t.reduce((t,e)=>e(t),e)}}let E=(()=>{class t{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(e){const n=new t;return n.source=this,n.operator=e,n}subscribe(t,e,n){const{operator:i}=this,r=function(t,e,n){if(t){if(t instanceof v)return t;if(t[y])return t[y]()}return t||e||n?new v(t,e,n):new v(h)}(t,e,n);if(r.add(i?i.call(r,this.source):this.source||c.useDeprecatedSynchronousErrorHandling&&!r.syncErrorThrowable?this._subscribe(r):this._trySubscribe(r)),c.useDeprecatedSynchronousErrorHandling&&r.syncErrorThrowable&&(r.syncErrorThrowable=!1,r.syncErrorThrown))throw r.syncErrorValue;return r}_trySubscribe(t){try{return this._subscribe(t)}catch(e){c.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),function(t){for(;t;){const{closed:e,destination:n,isStopped:i}=t;if(e||i)return!1;t=n&&n instanceof v?n:null}return!0}(t)?t.error(e):console.warn(e)}}forEach(t,e){return new(e=O(e))((e,n)=>{let i;i=this.subscribe(e=>{try{t(e)}catch(r){n(r),i&&i.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[w](){return this}pipe(...t){return 0===t.length?this:C(t)(this)}toPromise(t){return new(t=O(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}return t.create=e=>new t(e),t})();function O(t){if(t||(t=c.Promise||Promise),!t)throw new Error("no Promise impl found");return t}const T=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})();class k extends g{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}class P extends v{constructor(t){super(t),this.destination=t}}let A=(()=>{class t extends E{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[y](){return new P(this)}lift(t){const e=new M(this,this);return e.operator=t,e}next(t){if(this.closed)throw new T;if(!this.isStopped){const{observers:e}=this,n=e.length,i=e.slice();for(let r=0;rnew M(t,e),t})();class M extends A{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):g.EMPTY}}function I(t){return t&&"function"==typeof t.schedule}function D(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new R(t,e))}}class R{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new N(t,this.project,this.thisArg))}}class N extends v{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}const L=t=>e=>{for(let n=0,i=t.length;nt&&"number"==typeof t.length&&"function"!=typeof t;function B(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const V=t=>{if(t&&"function"==typeof t[w])return(t=>e=>{const n=t[w]();if("function"!=typeof n.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return n.subscribe(e)})(t);if(F(t))return L(t);if(B(t))return(t=>e=>(t.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,u),e))(t);if(t&&"function"==typeof t[j])return(t=>e=>{const n=t[j]();for(;;){let t;try{t=n.next()}catch(i){return e.error(i),e}if(t.done){e.complete();break}if(e.next(t.value),e.closed)break}return"function"==typeof n.return&&e.add(()=>{n.return&&n.return()}),e})(t);{const e=`You provided ${p(t)?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(e)}};function z(t,e){return new E(n=>{const i=new g;let r=0;return i.add(e.schedule(function(){r!==t.length?(n.next(t[r++]),n.closed||i.add(this.schedule())):n.complete()})),i})}function U(t,e){return e?function(t,e){if(null!=t){if(function(t){return t&&"function"==typeof t[w]}(t))return function(t,e){return new E(n=>{const i=new g;return i.add(e.schedule(()=>{const r=t[w]();i.add(r.subscribe({next(t){i.add(e.schedule(()=>n.next(t)))},error(t){i.add(e.schedule(()=>n.error(t)))},complete(){i.add(e.schedule(()=>n.complete()))}}))})),i})}(t,e);if(B(t))return function(t,e){return new E(n=>{const i=new g;return i.add(e.schedule(()=>t.then(t=>{i.add(e.schedule(()=>{n.next(t),i.add(e.schedule(()=>n.complete()))}))},t=>{i.add(e.schedule(()=>n.error(t)))}))),i})}(t,e);if(F(t))return z(t,e);if(function(t){return t&&"function"==typeof t[j]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new E(n=>{const i=new g;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=t[j](),i.add(e.schedule(function(){if(n.closed)return;let t,e;try{const n=r.next();t=n.value,e=n.done}catch(i){return void n.error(i)}e?n.complete():(n.next(t),this.schedule())}))})),i})}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}(t,e):t instanceof E?t:new E(V(t))}class H extends v{constructor(t){super(),this.parent=t}_next(t){this.parent.notifyNext(t)}_error(t){this.parent.notifyError(t),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class $ extends v{notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.destination.complete()}}function G(t,e){if(e.closed)return;if(t instanceof E)return t.subscribe(e);let n;try{n=V(t)(e)}catch(i){e.error(i)}return n}function W(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(W((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))),n)):("number"==typeof e&&(n=e),e=>e.lift(new q(t,n)))}class q{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new X(t,this.project,this.concurrent))}}class X extends ${constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Y(t=Number.POSITIVE_INFINITY){return W(x,t)}function K(t,e){return e?z(t,e):new E(L(t))}function Q(...t){let e=Number.POSITIVE_INFINITY,n=null,i=t[t.length-1];return I(i)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof i&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof E?t[0]:Y(e)(K(t,n))}function Z(){return function(t){return t.lift(new J(t))}}class J{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const i=new tt(t,n),r=e.subscribe(i);return i.closed||(i.connection=n.connect()),r}}class tt extends v{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}class et extends E{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new g,t.add(this.source.subscribe(new it(this.getSubject(),this))),t.closed&&(this._connection=null,t=g.EMPTY)),t}refCount(){return Z()(this)}}const nt=(()=>{const t=et.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}})();class it extends P{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}function rt(t,e){return function(n){let i;if(i="function"==typeof t?t:function(){return t},"function"==typeof e)return n.lift(new st(i,e));const r=Object.create(n,nt);return r.source=n,r.subjectFactory=i,r}}class st{constructor(t,e){this.subjectFactory=t,this.selector=e}call(t,e){const{selector:n}=this,i=this.subjectFactory(),r=n(i).subscribe(t);return r.add(e.subscribe(i)),r}}function ot(){return new A}function at(){return t=>Z()(rt(ot)(t))}function lt(t){for(let e in t)if(t[e]===lt)return e;throw Error("Could not find renamed property on target object.")}function ct(t,e){for(const n in e)e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n])}function ut(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(ut).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function ht(t,e){return null==t||""===t?null===e?"":e:null==e||""===e?t:t+" "+e}const dt=lt({__forward_ref__:lt});function pt(t){return t.__forward_ref__=pt,t.toString=function(){return ut(this())},t}function ft(t){return gt(t)?t():t}function gt(t){return"function"==typeof t&&t.hasOwnProperty(dt)&&t.__forward_ref__===pt}class mt extends Error{constructor(t,e){super(function(t,e){return`${t?`NG0${t}: `:""}${e}`}(t,e)),this.code=t}}function bt(t){return"string"==typeof t?t:null==t?"":String(t)}function yt(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():bt(t)}function _t(t,e){const n=e?` in ${e}`:"";throw new mt("201",`No provider for ${yt(t)} found${n}`)}function wt(t,e){null==t&&function(t,e,n,i){throw new Error(`ASSERTION ERROR: ${t}`+(null==i?"":` [Expected=> ${n} ${i} ${e} <=Actual]`))}(e,t,null,"!=")}function xt(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function St(t){return{providers:t.providers||[],imports:t.imports||[]}}function Ct(t){return Et(t,Tt)||Et(t,Pt)}function Et(t,e){return t.hasOwnProperty(e)?t[e]:null}function Ot(t){return t&&(t.hasOwnProperty(kt)||t.hasOwnProperty(At))?t[kt]:null}const Tt=lt({"\u0275prov":lt}),kt=lt({"\u0275inj":lt}),Pt=lt({ngInjectableDef:lt}),At=lt({ngInjectorDef:lt});var Mt=(()=>((Mt=Mt||{})[Mt.Default=0]="Default",Mt[Mt.Host=1]="Host",Mt[Mt.Self=2]="Self",Mt[Mt.SkipSelf=4]="SkipSelf",Mt[Mt.Optional=8]="Optional",Mt))();let It;function Dt(t){const e=It;return It=t,e}function Rt(t,e,n){const i=Ct(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&Mt.Optional?null:void 0!==e?e:void _t(ut(t),"Injector")}function Nt(t){return{toString:t}.toString()}var Lt=(()=>((Lt=Lt||{})[Lt.OnPush=0]="OnPush",Lt[Lt.Default=1]="Default",Lt))(),jt=(()=>((jt=jt||{})[jt.Emulated=0]="Emulated",jt[jt.None=2]="None",jt[jt.ShadowDom=3]="ShadowDom",jt))();const Ft="undefined"!=typeof globalThis&&globalThis,Bt="undefined"!=typeof window&&window,Vt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,zt="undefined"!=typeof global&&global,Ut=Ft||zt||Bt||Vt,Ht={},$t=[],Gt=lt({"\u0275cmp":lt}),Wt=lt({"\u0275dir":lt}),qt=lt({"\u0275pipe":lt}),Xt=lt({"\u0275mod":lt}),Yt=lt({"\u0275loc":lt}),Kt=lt({"\u0275fac":lt}),Qt=lt({__NG_ELEMENT_ID__:lt});let Zt=0;function Jt(t){return Nt(()=>{const e={},n={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===Lt.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||$t,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||jt.Emulated,id:"c",styles:t.styles||$t,_:null,setInput:null,schemas:t.schemas||null,tView:null},i=t.directives,r=t.features,s=t.pipes;return n.id+=Zt++,n.inputs=re(t.inputs,e),n.outputs=re(t.outputs),r&&r.forEach(t=>t(n)),n.directiveDefs=i?()=>("function"==typeof i?i():i).map(te):null,n.pipeDefs=s?()=>("function"==typeof s?s():s).map(ee):null,n})}function te(t){return ae(t)||function(t){return t[Wt]||null}(t)}function ee(t){return function(t){return t[qt]||null}(t)}const ne={};function ie(t){return Nt(()=>{const e={type:t.type,bootstrap:t.bootstrap||$t,declarations:t.declarations||$t,imports:t.imports||$t,exports:t.exports||$t,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&(ne[t.id]=t.type),e})}function re(t,e){if(null==t)return Ht;const n={};for(const i in t)if(t.hasOwnProperty(i)){let r=t[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),n[r]=i,e&&(e[r]=s)}return n}const se=Jt;function oe(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,onDestroy:t.type.prototype.ngOnDestroy||null}}function ae(t){return t[Gt]||null}function le(t,e){const n=t[Xt]||null;if(!n&&!0===e)throw new Error(`Type ${ut(t)} does not have '\u0275mod' property.`);return n}function ce(t){return Array.isArray(t)&&"object"==typeof t[1]}function ue(t){return Array.isArray(t)&&!0===t[1]}function he(t){return 0!=(8&t.flags)}function de(t){return 2==(2&t.flags)}function pe(t){return 1==(1&t.flags)}function fe(t){return null!==t.template}function ge(t){return 0!=(512&t[2])}function me(t,e){return t.hasOwnProperty(Kt)?t[Kt]:null}class be{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function ye(){return ve}function ve(t){return t.type.prototype.ngOnChanges&&(t.setInput=we),_e}function _e(){const t=Se(this),e=null==t?void 0:t.current;if(e){const n=t.previous;if(n===Ht)t.previous=e;else for(let t in e)n[t]=e[t];t.current=null,this.ngOnChanges(e)}}function we(t,e,n,i){const r=Se(t)||function(t,e){return t[xe]=e}(t,{previous:Ht,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[n],l=o[a];s[a]=new be(l&&l.currentValue,e,o===Ht),t[i]=e}ye.ngInherit=!0;const xe="__ngSimpleChanges__";function Se(t){return t[xe]||null}const Ce="http://www.w3.org/2000/svg";let Ee;function Oe(){return void 0!==Ee?Ee:"undefined"!=typeof document?document:void 0}function Te(t){return!!t.listen}const ke={createRenderer:(t,e)=>Oe()};function Pe(t){for(;Array.isArray(t);)t=t[0];return t}function Ae(t,e){return Pe(e[t])}function Me(t,e){return Pe(e[t.index])}function Ie(t,e){return t.data[e]}function De(t,e){return t[e]}function Re(t,e){const n=e[t];return ce(n)?n:n[0]}function Ne(t){return 4==(4&t[2])}function Le(t){return 128==(128&t[2])}function je(t,e){return null==e?null:t[e]}function Fe(t){t[18]=0}function Be(t,e){t[5]+=e;let n=t,i=t[3];for(;null!==i&&(1===e&&1===n[5]||-1===e&&0===n[5]);)i[5]+=e,n=i,i=i[3]}const Ve={lFrame:dn(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function ze(){return Ve.bindingsEnabled}function Ue(){return Ve.lFrame.lView}function He(){return Ve.lFrame.tView}function $e(t){return Ve.lFrame.contextLView=t,t[8]}function Ge(){let t=We();for(;null!==t&&64===t.type;)t=t.parent;return t}function We(){return Ve.lFrame.currentTNode}function qe(t,e){const n=Ve.lFrame;n.currentTNode=t,n.isParent=e}function Xe(){return Ve.lFrame.isParent}function Ye(){Ve.lFrame.isParent=!1}function Ke(){return Ve.isInCheckNoChangesMode}function Qe(t){Ve.isInCheckNoChangesMode=t}function Ze(){const t=Ve.lFrame;let e=t.bindingRootIndex;return-1===e&&(e=t.bindingRootIndex=t.tView.bindingStartIndex),e}function Je(){return Ve.lFrame.bindingIndex}function tn(){return Ve.lFrame.bindingIndex++}function en(t){const e=Ve.lFrame,n=e.bindingIndex;return e.bindingIndex=e.bindingIndex+t,n}function nn(t,e){const n=Ve.lFrame;n.bindingIndex=n.bindingRootIndex=t,rn(e)}function rn(t){Ve.lFrame.currentDirectiveIndex=t}function sn(t){const e=Ve.lFrame.currentDirectiveIndex;return-1===e?null:t[e]}function on(){return Ve.lFrame.currentQueryIndex}function an(t){Ve.lFrame.currentQueryIndex=t}function ln(t){const e=t[1];return 2===e.type?e.declTNode:1===e.type?t[6]:null}function cn(t,e,n){if(n&Mt.SkipSelf){let i=e,r=t;for(;!(i=i.parent,null!==i||n&Mt.Host||(i=ln(r),null===i||(r=r[15],10&i.type))););if(null===i)return!1;e=i,t=r}const i=Ve.lFrame=hn();return i.currentTNode=e,i.lView=t,!0}function un(t){const e=hn(),n=t[1];Ve.lFrame=e,e.currentTNode=n.firstChild,e.lView=t,e.tView=n,e.contextLView=t,e.bindingIndex=n.bindingStartIndex,e.inI18n=!1}function hn(){const t=Ve.lFrame,e=null===t?null:t.child;return null===e?dn(t):e}function dn(t){const 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:t,child:null,inI18n:!1};return null!==t&&(t.child=e),e}function pn(){const t=Ve.lFrame;return Ve.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const fn=pn;function gn(){const t=pn();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function mn(){return Ve.lFrame.selectedIndex}function bn(t){Ve.lFrame.selectedIndex=t}function yn(){const t=Ve.lFrame;return Ie(t.tView,t.selectedIndex)}function vn(){Ve.lFrame.currentNamespace=Ce}function _n(t,e){for(let n=e.directiveStart,i=e.directiveEnd;n=i)break}else e[a]<0&&(t[18]+=65536),(o>11>16&&(3&t[2])===e){t[2]+=2048;try{s.call(o)}finally{}}}else try{s.call(o)}finally{}}class On{constructor(t,e,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=n}}function Tn(t,e,n){const i=Te(t);let r=0;for(;re){o=s-1;break}}}for(;s>16}(t),i=e;for(;n>0;)i=i[15],n--;return i}let Nn=!0;function Ln(t){const e=Nn;return Nn=t,e}let jn=0;function Fn(t,e){const n=Vn(t,e);if(-1!==n)return n;const i=e[1];i.firstCreatePass&&(t.injectorIndex=e.length,Bn(i.data,t),Bn(e,null),Bn(i.blueprint,null));const r=Un(t,e),s=t.injectorIndex;if(In(r)){const t=Dn(r),n=Rn(r,e),i=n[1].data;for(let r=0;r<8;r++)e[s+r]=n[t+r]|i[t+r]}return e[s+8]=r,s}function Bn(t,e){t.push(0,0,0,0,0,0,0,0,e)}function Vn(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===e[t.injectorIndex+8]?-1:t.injectorIndex}function Un(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let n=0,i=null,r=e;for(;null!==r;){const t=r[1],e=t.type;if(i=2===e?t.declTNode:1===e?r[6]:null,null===i)return-1;if(n++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return-1}function Hn(t,e,n){!function(t,e,n){let i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(Qt)&&(i=n[Qt]),null==i&&(i=n[Qt]=jn++);const r=255&i;e.data[t+(r>>5)]|=1<=0?255&e:Xn:e}(n);if("function"==typeof s){if(!cn(e,t,i))return i&Mt.Host?$n(r,n,i):Gn(e,n,i,r);try{const t=s(i);if(null!=t||i&Mt.Optional)return t;_t(n)}finally{fn()}}else if("number"==typeof s){let r=null,o=Vn(t,e),a=-1,l=i&Mt.Host?e[16][6]:null;for((-1===o||i&Mt.SkipSelf)&&(a=-1===o?Un(t,e):e[o+8],-1!==a&&Jn(i,!1)?(r=e[1],o=Dn(a),e=Rn(a,e)):o=-1);-1!==o;){const t=e[1];if(Zn(s,o,t.data)){const t=Yn(o,e,n,r,i,l);if(t!==qn)return t}a=e[o+8],-1!==a&&Jn(i,e[1].data[o+8]===l)&&Zn(s,o,e)?(r=t,o=Dn(a),e=Rn(a,e)):o=-1}}}return Gn(e,n,i,r)}const qn={};function Xn(){return new ti(Ge(),Ue())}function Yn(t,e,n,i,r,s){const o=e[1],a=o.data[t+8],l=Kn(a,o,n,null==i?de(a)&&Nn:i!=o&&0!=(3&a.type),r&Mt.Host&&s===a);return null!==l?Qn(e,o,l,a):qn}function Kn(t,e,n,i,r){const s=t.providerIndexes,o=e.data,a=1048575&s,l=t.directiveStart,c=s>>20,u=r?a+c:t.directiveEnd;for(let h=i?a:a+c;h=l&&t.type===n)return h}if(r){const t=o[l];if(t&&fe(t)&&t.type===n)return l}return null}function Qn(t,e,n,i){let r=t[n];const s=e.data;if(function(t){return t instanceof On}(r)){const o=r;o.resolving&&function(t,e){throw new mt("200",`Circular dependency in DI detected for ${t}`)}(yt(s[n]));const a=Ln(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Dt(o.injectImpl):null;cn(t,i,Mt.Default);try{r=t[n]=o.factory(void 0,s,t,i),e.firstCreatePass&&n>=i.directiveStart&&function(t,e,n){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const i=ve(e);(n.preOrderHooks||(n.preOrderHooks=[])).push(t,i),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,i)}r&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-t,r),s&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,s))}(n,s[n],e)}finally{null!==l&&Dt(l),Ln(a),o.resolving=!1,fn()}}return r}function Zn(t,e,n){return!!(n[e+(t>>5)]&1<{const e=t.prototype.constructor,n=e[Kt]||ni(e),i=Object.prototype;let r=Object.getPrototypeOf(t.prototype).constructor;for(;r&&r!==i;){const t=r[Kt]||ni(r);if(t&&t!==n)return t;r=Object.getPrototypeOf(r)}return t=>new t})}function ni(t){return gt(t)?()=>{const e=ni(ft(t));return e&&e()}:me(t)}function ii(t){return function(t,e){if("class"===e)return t.classes;if("style"===e)return t.styles;const n=t.attrs;if(n){const t=n.length;let i=0;for(;i{const i=function(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}(e);function r(...t){if(this instanceof r)return i.apply(this,t),this;const e=new r(...t);return n.annotation=e,n;function n(t,n,i){const r=t.hasOwnProperty(ri)?t[ri]:Object.defineProperty(t,ri,{value:[]})[ri];for(;r.length<=i;)r.push(null);return(r[i]=r[i]||[]).push(e),t}}return n&&(r.prototype=Object.create(n.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r})}class oi{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=xt({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const ai=Function;function li(t,e){void 0===e&&(e=t);for(let n=0;nArray.isArray(t)?ci(t,e):e(t))}function ui(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function hi(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function di(t,e){const n=[];for(let i=0;i=0?t[1|i]=n:(i=~i,function(t,e,n,i){let r=t.length;if(r==e)t.push(n,i);else if(1===r)t.push(i,t[0]),t[0]=n;else{for(r--,t.push(t[r-1],t[r]);r>e;)t[r]=t[r-2],r--;t[e]=n,t[e+1]=i}}(t,i,e,n)),i}function fi(t,e){const n=gi(t,e);if(n>=0)return t[1|n]}function gi(t,e){return function(t,e,n){let i=0,r=t.length>>n;for(;r!==i;){const s=i+(r-i>>1),o=t[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t.push(n+":"+("string"==typeof i?JSON.stringify(i):ut(i)))}r=`{${t.join(", ")}}`}return`${n}${i?"("+i+")":""}[${r}]: ${t.replace(vi,"\n ")}`}("\n"+t.message,r,n,i),t.ngTokenPath=r,t[yi]=null,t}const Mi=ki(si("Inject",t=>({token:t})),-1),Ii=ki(si("Optional"),8),Di=ki(si("SkipSelf"),4);let Ri,Ni;function Li(t){var e;return(null===(e=function(){if(void 0===Ri&&(Ri=null,Ut.trustedTypes))try{Ri=Ut.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(t){}return Ri}())||void 0===e?void 0:e.createHTML(t))||t}function ji(){if(void 0===Ni&&(Ni=null,Ut.trustedTypes))try{Ni=Ut.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(m){}return Ni}function Fi(t){var e;return(null===(e=ji())||void 0===e?void 0:e.createHTML(t))||t}function Bi(t){var e;return(null===(e=ji())||void 0===e?void 0:e.createScriptURL(t))||t}class Vi{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class zi extends Vi{getTypeName(){return"HTML"}}class Ui extends Vi{getTypeName(){return"Style"}}class Hi extends Vi{getTypeName(){return"Script"}}class $i extends Vi{getTypeName(){return"URL"}}class Gi extends Vi{getTypeName(){return"ResourceURL"}}function Wi(t){return t instanceof Vi?t.changingThisBreaksApplicationSecurity:t}function qi(t,e){const n=Xi(t);if(null!=n&&n!==e){if("ResourceURL"===n&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${n} (see https://g.co/ng/security#xss)`)}return n===e}function Xi(t){return t instanceof Vi&&t.getTypeName()||null}class Yi{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const e=(new window.DOMParser).parseFromString(Li(t),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(t):(e.removeChild(e.firstChild),e)}catch(e){return null}}}class Ki{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const e=this.inertDocument.createElement("body");t.appendChild(e)}}getInertBodyElement(t){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Li(t),e;const n=this.inertDocument.createElement("body");return n.innerHTML=Li(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(n),n}stripCustomNsAttrs(t){const e=t.attributes;for(let i=e.length-1;0Ji(t.trim())).join(", ")}function er(t){const e={};for(const n of t.split(","))e[n]=!0;return e}function nr(...t){const e={};for(const n of t)for(const t in n)n.hasOwnProperty(t)&&(e[t]=!0);return e}const ir=er("area,br,col,hr,img,wbr"),rr=er("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),sr=er("rp,rt"),or=nr(ir,nr(rr,er("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")),nr(sr,er("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")),nr(sr,rr)),ar=er("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),lr=er("srcset"),cr=nr(ar,lr,er("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),er("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")),ur=er("script,style,template");class hr{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let e=t.firstChild,n=!0;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?n=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,n&&e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let t=this.checkClobberedElement(e,e.nextSibling);if(t){e=t;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(t){const e=t.nodeName.toLowerCase();if(!or.hasOwnProperty(e))return this.sanitizedSomething=!0,!ur.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const n=t.attributes;for(let i=0;i"),!0}endElement(t){const e=t.nodeName.toLowerCase();or.hasOwnProperty(e)&&!ir.hasOwnProperty(e)&&(this.buf.push(""))}chars(t){this.buf.push(fr(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const dr=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,pr=/([^\#-~ |!])/g;function fr(t){return t.replace(/&/g,"&").replace(dr,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(pr,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let gr;function mr(t,e){let n=null;try{gr=gr||function(t){const e=new Ki(t);return function(){try{return!!(new window.DOMParser).parseFromString(Li(""),"text/html")}catch(t){return!1}}()?new Yi(e):e}(t);let i=e?String(e):"";n=gr.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=n.innerHTML,n=gr.getInertBodyElement(i)}while(i!==s);return Li((new hr).sanitizeChildren(br(n)||n))}finally{if(n){const t=br(n)||n;for(;t.firstChild;)t.removeChild(t.firstChild)}}}function br(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var yr=(()=>((yr=yr||{})[yr.NONE=0]="NONE",yr[yr.HTML=1]="HTML",yr[yr.STYLE=2]="STYLE",yr[yr.SCRIPT=3]="SCRIPT",yr[yr.URL=4]="URL",yr[yr.RESOURCE_URL=5]="RESOURCE_URL",yr))();function vr(t){const e=xr();return e?Fi(e.sanitize(yr.HTML,t)||""):qi(t,"HTML")?Fi(Wi(t)):mr(Oe(),bt(t))}function _r(t){const e=xr();return e?e.sanitize(yr.URL,t)||"":qi(t,"URL")?Wi(t):Ji(bt(t))}function wr(t){const e=xr();if(e)return Bi(e.sanitize(yr.RESOURCE_URL,t)||"");if(qi(t,"ResourceURL"))return Bi(Wi(t));throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)")}function xr(){const t=Ue();return t&&t[12]}const Sr="__ngContext__";function Cr(t,e){t[Sr]=e}function Er(t){const e=function(t){return t[Sr]||null}(t);return e?Array.isArray(e)?e:e.lView:null}function Or(t){return t.ngOriginalError}function Tr(t,...e){t.error(...e)}class kr{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),i=function(t){return t&&t.ngErrorLogger||Tr}(t);i(this._console,"ERROR",t),e&&i(this._console,"ORIGINAL ERROR",e),n&&i(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?function(t){return t.ngDebugContext}(t)||this._findContext(Or(t)):null}_findOriginalError(t){let e=t&&Or(t);for(;e&&Or(e);)e=Or(e);return e||null}}const Pr=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Ut))();function Ar(t){return t.ownerDocument.defaultView}function Mr(t){return t.ownerDocument}function Ir(t){return t instanceof Function?t():t}var Dr=(()=>((Dr=Dr||{})[Dr.Important=1]="Important",Dr[Dr.DashCase=2]="DashCase",Dr))();function Rr(t,e){return undefined(t,e)}function Nr(t){const e=t[3];return ue(e)?e[3]:e}function Lr(t){return Fr(t[13])}function jr(t){return Fr(t[4])}function Fr(t){for(;null!==t&&!ue(t);)t=t[4];return t}function Br(t,e,n,i,r){if(null!=i){let s,o=!1;ue(i)?s=i:ce(i)&&(o=!0,i=i[0]);const a=Pe(i);0===t&&null!==n?null==r?qr(e,n,a):Wr(e,n,a,r||null,!0):1===t&&null!==n?Wr(e,n,a,r||null,!0):2===t?function(t,e,n){const i=Kr(t,e);i&&function(t,e,n,i){Te(t)?t.removeChild(e,n,i):e.removeChild(n)}(t,i,e,n)}(e,a,o):3===t&&e.destroyNode(a),null!=s&&function(t,e,n,i,r){const s=n[7];s!==Pe(n)&&Br(e,t,i,s,r);for(let o=10;o0&&(t[n-1][4]=i[4]);const s=hi(t,10+e);!function(t,e){rs(t,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function Hr(t,e){if(!(256&e[2])){const n=e[11];Te(n)&&n.destroyNode&&rs(t,e,n,3,null,null),function(t){let e=t[13];if(!e)return $r(t[1],t);for(;e;){let n=null;if(ce(e))n=e[13];else{const t=e[10];t&&(n=t)}if(!n){for(;e&&!e[4]&&e!==t;)ce(e)&&$r(e[1],e),e=e[3];null===e&&(e=t),ce(e)&&$r(e[1],e),n=e&&e[4]}e=n}}(e)}}function $r(t,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(t,e){let n;if(null!=t&&null!=(n=t.destroyHooks))for(let i=0;i=0?i[r=l]():i[r=-l].unsubscribe(),s+=2}else{const t=i[r=n[s+1]];n[s].call(t)}if(null!==i){for(let t=r+1;ts?"":r[u+1].toLowerCase();const e=8&i?t:null;if(e&&-1!==ls(e,c,0)||2&i&&c!==t){if(fs(i))return!1;o=!0}}}}else{if(!o&&!fs(i)&&!fs(l))return!1;if(o&&fs(l))continue;o=!1,i=l|1&i}}return fs(i)||o}function fs(t){return 0==(1&t)}function gs(t,e,n,i){if(null===e)return-1;let r=0;if(i||!n){let n=!1;for(;r-1)for(n++;n0?'="'+e+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!fs(o)&&(e+=ys(s,r),r=""),i=o,s=s||!fs(i);n++}return""!==r&&(e+=ys(s,r)),e}const _s={};function ws(t){xs(He(),Ue(),mn()+t,Ke())}function xs(t,e,n,i){if(!i)if(3==(3&e[2])){const i=t.preOrderCheckHooks;null!==i&&wn(e,i,n)}else{const i=t.preOrderHooks;null!==i&&xn(e,i,0,n)}bn(n)}function Ss(t,e){return t<<17|e<<2}function Cs(t){return t>>17&32767}function Es(t){return 2|t}function Os(t){return(131068&t)>>2}function Ts(t,e){return-131069&t|e<<2}function ks(t){return 1|t}function Ps(t,e){const n=t.contentQueries;if(null!==n)for(let i=0;i20&&xs(t,e,20,Ke()),n(i,r)}finally{bn(s)}}function js(t,e,n){if(he(e)){const i=e.directiveEnd;for(let r=e.directiveStart;r0;){const n=t[--e];if("number"==typeof n&&n<0)return n}return 0})(n)!=s&&n.push(s),n.push(i,r,o)}}function qs(t,e){null!==t.hostBindings&&t.hostBindings(1,e)}function Xs(t,e){e.flags|=2,(t.components||(t.components=[])).push(e.index)}function Ys(t,e,n){if(n){if(e.exportAs)for(let i=0;i0&&ro(n)}}function ro(t){for(let n=Lr(t);null!==n;n=jr(n))for(let t=10;t0&&ro(e)}const e=t[1].components;if(null!==e)for(let n=0;n0&&ro(i)}}function so(t,e){const n=Re(e,t),i=n[1];(function(t,e){for(let n=e.length;nPromise.resolve(null))();function po(t){return t[7]||(t[7]=[])}function fo(t){return t.cleanup||(t.cleanup=[])}function go(t,e,n){return(null===t||fe(t))&&(n=function(t){for(;Array.isArray(t);){if("object"==typeof t[1])return t;t=t[0]}return null}(n[e.index])),n[11]}function mo(t,e){const n=t[9],i=n?n.get(kr,null):null;i&&i.handleError(e)}function bo(t,e,n,i,r){for(let s=0;sthis.processProvider(n,t,e)),ci([t],t=>this.processInjectorType(t,[],r)),this.records.set(_o,Mo(void 0,this));const s=this.records.get(xo);this.scope=null!=s?s.value:null,this.source=i||("object"==typeof t?null:ut(t))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(t=>t.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(t,e=mi,n=Mt.Default){this.assertNotDestroyed();const i=Si(this),r=Dt(void 0);try{if(!(n&Mt.SkipSelf)){let e=this.records.get(t);if(void 0===e){const n=function(t){return"function"==typeof t||"object"==typeof t&&t instanceof oi}(t)&&Ct(t);e=n&&this.injectableDefInScope(n)?Mo(Po(t),So):null,this.records.set(t,e)}if(null!=e)return this.hydrate(t,e)}return(n&Mt.Self?Oo():this.parent).get(t,e=n&Mt.Optional&&e===mi?null:e)}catch(s){if("NullInjectorError"===s.name){if((s[yi]=s[yi]||[]).unshift(ut(t)),i)throw s;return Ai(s,t,"R3InjectorError",this.source)}throw s}finally{Dt(r),Si(i)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(t=>this.get(t))}toString(){const t=[];return this.records.forEach((e,n)=>t.push(ut(n))),`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(t,e,n){if(!(t=ft(t)))return!1;let i=Ot(t);const r=null==i&&t.ngModule||void 0,s=void 0===r?t:r,o=-1!==n.indexOf(s);if(void 0!==r&&(i=Ot(r)),null==i)return!1;if(null!=i.imports&&!o){let t;n.push(s);try{ci(i.imports,i=>{this.processInjectorType(i,e,n)&&(void 0===t&&(t=[]),t.push(i))})}finally{}if(void 0!==t)for(let e=0;ethis.processProvider(t,n,i||$t))}}this.injectorDefTypes.add(s);const a=me(s)||(()=>new s);this.records.set(s,Mo(a,So));const l=i.providers;if(null!=l&&!o){const e=t;ci(l,t=>this.processProvider(t,e,l))}return void 0!==r&&void 0!==t.providers}processProvider(t,e,n){let i=Do(t=ft(t))?t:ft(t&&t.provide);const r=function(t,e,n){return Io(t)?Mo(void 0,t.useValue):Mo(Ao(t),So)}(t);if(Do(t)||!0!==t.multi)this.records.get(i);else{let e=this.records.get(i);e||(e=Mo(void 0,So,!0),e.factory=()=>Ti(e.multi),this.records.set(i,e)),i=t,e.multi.push(t)}this.records.set(i,r)}hydrate(t,e){return e.value===So&&(e.value=Co,e.value=e.factory()),"object"==typeof e.value&&e.value&&function(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this.onDestroy.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=ft(t.providedIn);return"string"==typeof e?"any"===e||e===this.scope:this.injectorDefTypes.has(e)}}function Po(t){const e=Ct(t),n=null!==e?e.factory:me(t);if(null!==n)return n;if(t instanceof oi)throw new Error(`Token ${ut(t)} is missing a \u0275prov definition.`);if(t instanceof Function)return function(t){const e=t.length;if(e>0){const n=di(e,"?");throw new Error(`Can't resolve all parameters for ${ut(t)}: (${n.join(", ")}).`)}const n=function(t){const e=t&&(t[Tt]||t[Pt]);if(e){const n=function(t){if(t.hasOwnProperty("name"))return t.name;const e=(""+t).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(t);return console.warn(`DEPRECATED: DI is instantiating a token "${n}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${n}" class.`),e}return null}(t);return null!==n?()=>n.factory(t):()=>new t}(t);throw new Error("unreachable")}function Ao(t,e,n){let i;if(Do(t)){const e=ft(t);return me(e)||Po(e)}if(Io(t))i=()=>ft(t.useValue);else if(function(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...Ti(t.deps||[]));else if(function(t){return!(!t||!t.useExisting)}(t))i=()=>Ei(ft(t.useExisting));else{const e=ft(t&&(t.useClass||t.provide));if(!function(t){return!!t.deps}(t))return me(e)||Po(e);i=()=>new e(...Ti(t.deps))}return i}function Mo(t,e,n=!1){return{factory:t,value:e,multi:n?[]:void 0}}function Io(t){return null!==t&&"object"==typeof t&&wi in t}function Do(t){return"function"==typeof t}const Ro=function(t,e,n){return function(t,e=null,n=null,i){const r=To(t,e,n,i);return r._resolveInjectorDefTypes(),r}({name:n},e,t,n)};class No{static create(t,e){return Array.isArray(t)?Ro(t,e,""):Ro(t.providers,t.parent,t.name||"")}}function Lo(t,e){_n(Er(t)[1],Ge())}function jo(t){let e=function(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),n=!0;const i=[t];for(;e;){let r;if(fe(t))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(n){i.push(r);const e=t;e.inputs=Fo(t.inputs),e.declaredInputs=Fo(t.declaredInputs),e.outputs=Fo(t.outputs);const n=r.hostBindings;n&&zo(t,n);const s=r.viewQuery,o=r.contentQueries;if(s&&Bo(t,s),o&&Vo(t,o),ct(t.inputs,r.inputs),ct(t.declaredInputs,r.declaredInputs),ct(t.outputs,r.outputs),fe(r)&&r.data.animation){const e=t.data;e.animation=(e.animation||[]).concat(r.data.animation)}}const e=r.features;if(e)for(let i=0;i=0;i--){const r=t[i];r.hostVars=e+=r.hostVars,r.hostAttrs=An(r.hostAttrs,n=An(n,r.hostAttrs))}}(i)}function Fo(t){return t===Ht?{}:t===$t?[]:t}function Bo(t,e){const n=t.viewQuery;t.viewQuery=n?(t,i)=>{e(t,i),n(t,i)}:e}function Vo(t,e){const n=t.contentQueries;t.contentQueries=n?(t,i,r)=>{e(t,i,r),n(t,i,r)}:e}function zo(t,e){const n=t.hostBindings;t.hostBindings=n?(t,i)=>{e(t,i),n(t,i)}:e}No.THROW_IF_NOT_FOUND=mi,No.NULL=new wo,No.\u0275prov=xt({token:No,providedIn:"any",factory:()=>Ei(_o)}),No.__NG_ELEMENT_ID__=-1;let Uo=null;function Ho(){if(!Uo){const t=Ut.Symbol;if(t&&t.iterator)Uo=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;ea(Pe(t[i.index])):i.index;if(Te(n)){let o=null;if(!a&&l&&(o=function(t,e,n,i){const r=t.cleanup;if(null!=r)for(let s=0;sn?t[n]:null}"string"==typeof t&&(s+=2)}return null}(t,e,r,i.index)),null!==o)(o.__ngLastListenerFn__||o).__ngNextListenerFn__=s,o.__ngLastListenerFn__=s,d=!1;else{s=ya(i,e,u,s,!1);const t=n.listen(f,r,s);h.push(s,t),c&&c.push(r,m,g,g+1)}}else s=ya(i,e,u,s,!0),f.addEventListener(r,s,o),h.push(s),c&&c.push(r,m,g,o)}else s=ya(i,e,u,s,!1);const p=i.outputs;let f;if(d&&null!==p&&(f=p[r])){const t=f.length;if(t)for(let n=0;n0;)e=e[15],t--;return e}(t,Ve.lFrame.contextLView))[8]}(t)}function _a(t,e){let n=null;const i=function(t){const e=t.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(t);for(let r=0;r=0}const Ta={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function ka(t){return t.substring(Ta.key,Ta.keyEnd)}function Pa(t){return t.substring(Ta.value,Ta.valueEnd)}function Aa(t,e){const n=Ta.textEnd;return n===e?-1:(e=Ta.keyEnd=function(t,e,n){for(;e32;)e++;return e}(t,Ta.key=e,n),Da(t,e,n))}function Ma(t,e){const n=Ta.textEnd;let i=Ta.key=Da(t,e,n);return n===i?-1:(i=Ta.keyEnd=function(t,e,n){let i;for(;e=65&&(-33&i)<=90||i>=48&&i<=57);)e++;return e}(t,i,n),i=Ra(t,i,n),i=Ta.value=Da(t,i,n),i=Ta.valueEnd=function(t,e,n){let i=-1,r=-1,s=-1,o=e,a=o;for(;o32&&(a=o),s=r,r=i,i=-33&l}return a}(t,i,n),Ra(t,i,n))}function Ia(t){Ta.key=0,Ta.keyEnd=0,Ta.value=0,Ta.valueEnd=0,Ta.textEnd=t.length}function Da(t,e,n){for(;e=0;n=Ma(e,n))Xa(t,ka(e),Pa(e))}function Va(t){Ha(pi,za,t,!0)}function za(t,e){for(let n=function(t){return Ia(t),Aa(t,Da(t,0,Ta.textEnd))}(e);n>=0;n=Aa(e,n))pi(t,ka(e),!0)}function Ua(t,e,n,i){const r=Ue(),s=He(),o=en(2);s.firstUpdatePass&&Ga(s,t,o,i),e!==_s&&Xo(r,o,e)&&Ya(s,s.data[mn()],r,r[11],t,r[o+1]=function(t,e){return null==t||("string"==typeof e?t+=e:"object"==typeof t&&(t=ut(Wi(t)))),t}(e,n),i,o)}function Ha(t,e,n,i){const r=He(),s=en(2);r.firstUpdatePass&&Ga(r,null,s,i);const o=Ue();if(n!==_s&&Xo(o,s,n)){const a=r.data[mn()];if(Za(a,i)&&!$a(r,s)){let t=i?a.classesWithoutHost:a.stylesWithoutHost;null!==t&&(n=ht(t,n||"")),ia(r,a,o,n,i)}else!function(t,e,n,i,r,s,o,a){r===_s&&(r=$t);let l=0,c=0,u=0=t.expandoStartIndex}function Ga(t,e,n,i){const r=t.data;if(null===r[n+1]){const s=r[mn()],o=$a(t,n);Za(s,i)&&null===e&&!o&&(e=!1),e=function(t,e,n,i){const r=sn(t);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(n=qa(n=Wa(null,t,e,n,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||t[o]!==r)if(n=Wa(r,t,e,n,i),null===s){let n=function(t,e,n){const i=n?e.classBindings:e.styleBindings;if(0!==Os(i))return t[Cs(i)]}(t,e,i);void 0!==n&&Array.isArray(n)&&(n=Wa(null,t,e,n[1],i),n=qa(n,e.attrs,i),function(t,e,n,i){t[Cs(n?e.classBindings:e.styleBindings)]=i}(t,e,i,n))}else s=function(t,e,n){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(u=!0)}else c=n;if(r)if(0!==l){const e=Cs(t[a+1]);t[i+1]=Ss(e,a),0!==e&&(t[e+1]=Ts(t[e+1],i)),t[a+1]=function(t,e){return 131071&t|e<<17}(t[a+1],i)}else t[i+1]=Ss(a,0),0!==a&&(t[a+1]=Ts(t[a+1],i)),a=i;else t[i+1]=Ss(l,0),0===a?a=i:t[l+1]=Ts(t[l+1],i),l=i;u&&(t[i+1]=Es(t[i+1])),Ea(t,c,i,!0),Ea(t,c,i,!1),function(t,e,n,i,r){const s=r?t.residualClasses:t.residualStyles;null!=s&&"string"==typeof e&&gi(s,e)>=0&&(n[i+1]=ks(n[i+1]))}(e,c,t,i,s),o=Ss(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,n,o,i)}}function Wa(t,e,n,i,r){let s=null;const o=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){const e=t[r],s=Array.isArray(e),l=s?e[1]:e,c=null===l;let u=n[r+1];u===_s&&(u=c?$t:void 0);let h=c?fi(u,i):l===i?u:void 0;if(s&&!Qa(h)&&(h=fi(e,i)),Qa(h)&&(a=h,o))return a;const d=t[r+1];r=o?Cs(d):Os(d)}if(null!==e){let t=s?e.residualClasses:e.residualStyles;null!=t&&(a=fi(t,i))}return a}function Qa(t){return void 0!==t}function Za(t,e){return 0!=(t.flags&(e?16:32))}function Ja(t,e=""){const n=Ue(),i=He(),r=t+20,s=i.firstCreatePass?Ms(i,r,1,e,null):i.data[r],o=n[r]=function(t,e){return Te(t)?t.createText(e):t.createTextNode(e)}(n[11],e);Jr(i,n,o,s),qe(s,!1)}function tl(t){return el("",t,""),tl}function el(t,e,n){const i=Ue(),r=Qo(i,t,e,n);return r!==_s&&yo(i,mn(),r),el}function nl(t,e,n,i,r){const s=Ue(),o=function(t,e,n,i,r,s){const o=Yo(t,Je(),n,r);return en(2),o?e+bt(n)+i+bt(r)+s:_s}(s,t,e,n,i,r);return o!==_s&&yo(s,mn(),o),nl}function il(t,e,n){Ha(pi,za,Qo(Ue(),t,e,n),!0)}function rl(t,e,n){const i=Ue();return Xo(i,tn(),e)&&$s(He(),yn(),i,t,e,i[11],n,!0),rl}function sl(t,e,n){const i=Ue();if(Xo(i,tn(),e)){const r=He(),s=yn();$s(r,s,i,t,e,go(sn(r.data),s,i),n,!0)}return sl}const ol=void 0;var al=["en",[["a","p"],["AM","PM"],ol],[["AM","PM"],ol,ol],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],ol,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],ol,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",ol,"{1} 'at' {0}",ol],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(t){const e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];let ll={};function cl(t){const e=function(t){return t.toLowerCase().replace(/_/g,"-")}(t);let n=ul(e);if(n)return n;const i=e.split("-")[0];if(n=ul(i),n)return n;if("en"===i)return al;throw new Error(`Missing locale data for the locale "${t}".`)}function ul(t){return t in ll||(ll[t]=Ut.ng&&Ut.ng.common&&Ut.ng.common.locales&&Ut.ng.common.locales[t]),ll[t]}var hl=(()=>((hl=hl||{})[hl.LocaleId=0]="LocaleId",hl[hl.DayPeriodsFormat=1]="DayPeriodsFormat",hl[hl.DayPeriodsStandalone=2]="DayPeriodsStandalone",hl[hl.DaysFormat=3]="DaysFormat",hl[hl.DaysStandalone=4]="DaysStandalone",hl[hl.MonthsFormat=5]="MonthsFormat",hl[hl.MonthsStandalone=6]="MonthsStandalone",hl[hl.Eras=7]="Eras",hl[hl.FirstDayOfWeek=8]="FirstDayOfWeek",hl[hl.WeekendRange=9]="WeekendRange",hl[hl.DateFormat=10]="DateFormat",hl[hl.TimeFormat=11]="TimeFormat",hl[hl.DateTimeFormat=12]="DateTimeFormat",hl[hl.NumberSymbols=13]="NumberSymbols",hl[hl.NumberFormats=14]="NumberFormats",hl[hl.CurrencyCode=15]="CurrencyCode",hl[hl.CurrencySymbol=16]="CurrencySymbol",hl[hl.CurrencyName=17]="CurrencyName",hl[hl.Currencies=18]="Currencies",hl[hl.Directionality=19]="Directionality",hl[hl.PluralCase=20]="PluralCase",hl[hl.ExtraData=21]="ExtraData",hl))();const dl="en-US";let pl=dl;function fl(t){wt(t,"Expected localeId to be defined"),"string"==typeof t&&(pl=t.toLowerCase().replace(/_/g,"-"))}function gl(t,e,n,i,r){if(t=ft(t),Array.isArray(t))for(let s=0;s>20;if(Do(t)||!t.multi){const i=new On(l,r,ea),p=yl(a,e,r?u:u+d,h);-1===p?(Hn(Fn(c,o),s,a),ml(s,t,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),n.push(i),o.push(i)):(n[p]=i,o[p]=i)}else{const p=yl(a,e,u+d,h),f=yl(a,e,u,u+d),g=p>=0&&n[p],m=f>=0&&n[f];if(r&&!m||!r&&!g){Hn(Fn(c,o),s,a);const u=function(t,e,n,i,r){const s=new On(t,n,ea);return s.multi=[],s.index=e,s.componentProviders=0,bl(s,r,i&&!n),s}(r?_l:vl,n.length,r,i,l);!r&&m&&(n[f].providerFactory=u),ml(s,t,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),n.push(u),o.push(u)}else ml(s,t,p>-1?p:f,bl(n[r?f:p],l,!r&&i));!r&&i&&m&&n[f].componentProviders++}}}function ml(t,e,n,i){const r=Do(e);if(r||function(t){return!!t.useClass}(e)){const s=(e.useClass||e).prototype.ngOnDestroy;if(s){const o=t.destroyHooks||(t.destroyHooks=[]);if(!r&&e.multi){const t=o.indexOf(n);-1===t?o.push(n,[i,s]):o[t+1].push(i,s)}else o.push(n,s)}}}function bl(t,e,n){return n&&t.componentProviders++,t.multi.push(e)-1}function yl(t,e,n,i){for(let r=n;r{n.providersResolver=(n,i)=>function(t,e,n){const i=He();if(i.firstCreatePass){const r=fe(t);gl(n,i.data,i.blueprint,r,!0),gl(e,i.data,i.blueprint,r,!1)}}(n,i?i(t):t,e)}}class Sl{}const Cl="ngComponent";class El{resolveComponentFactory(t){throw function(t){const e=Error(`No component factory found for ${ut(t)}. Did you add it to @NgModule.entryComponents?`);return e[Cl]=t,e}(t)}}class Ol{}function Tl(...t){}function kl(t,e){return new Al(Me(t,e))}Ol.NULL=new El;const Pl=function(){return kl(Ge(),Ue())};let Al=(()=>{class t{constructor(t){this.nativeElement=t}}return t.__NG_ELEMENT_ID__=Pl,t})();function Ml(t){return t instanceof Al?t.nativeElement:t}class Il{}let Dl=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>Rl(),t})();const Rl=function(){const t=Ue(),e=Re(Ge().index,t);return function(t){return t[11]}(ce(e)?e:t)};let Nl=(()=>{class t{}return t.\u0275prov=xt({token:t,providedIn:"root",factory:()=>null}),t})();class Ll{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const jl=new Ll("12.2.5");class Fl{constructor(){}supports(t){return Go(t)}create(t){return new Vl(t)}}const Bl=(t,e)=>e;class Vl{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Bl}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,i=0,r=null;for(;e||n;){const s=!n||e&&e.currentIndex<$l(n,i,r)?e:n,o=$l(s,i,r),a=s.currentIndex;if(s===n)i--,n=n._nextRemoved;else if(e=e._next,null==s.previousIndex)i++;else{r||(r=[]);const t=o-i,e=a-i;if(t!=e){for(let n=0;n{i=this._trackByFn(e,t),null!==r&&Object.is(r.trackById,i)?(s&&(r=this._verifyReinsertion(r,t,i,e)),Object.is(r.item,t)||this._addIdentityChange(r,t)):(r=this._mismatch(r,t,i,e),s=!0),r=r._next,e++}),this.length=e;return this._truncate(r),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,i){let r;return null===t?r=this._itTail:(r=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,r,i)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,i))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,r,i)):t=this._addAfter(new zl(e,n),r,i),t}_verifyReinsertion(t,e,n,i){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==r?t=this._reinsertAfter(r,t._prev,i):t.currentIndex!=i&&(t.currentIndex=i,this._addToMoves(t,i)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const i=t._prevRemoved,r=t._nextRemoved;return null===i?this._removalsHead=r:i._nextRemoved=r,null===r?this._removalsTail=i:r._prevRemoved=i,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const i=null===e?this._itHead:e._next;return t._next=i,t._prev=e,null===i?this._itTail=t:i._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new Hl),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Hl),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class zl{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Ul{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class Hl{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new Ul,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function $l(t,e,n){const i=t.previousIndex;if(null===i)return i;let r=0;return n&&i{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const i=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,i)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const i=n._prev,r=n._next;return i&&(i._next=r),r&&(r._prev=i),n._next=null,n._prev=null,n}const n=new ql(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}class ql{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Xl(){return new Yl([new Fl])}let Yl=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(null!=n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Xl()),deps:[[t,new Di,new Ii]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(t){return t.name||typeof t}(t)}'`)}}return t.\u0275prov=xt({token:t,providedIn:"root",factory:Xl}),t})();function Kl(){return new Ql([new Gl])}let Ql=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Kl()),deps:[[t,new Di,new Ii]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return t.\u0275prov=xt({token:t,providedIn:"root",factory:Kl}),t})();function Zl(t,e,n,i,r=!1){for(;null!==n;){const s=e[n.index];if(null!==s&&i.push(Pe(s)),ue(s))for(let t=10;t-1&&(Ur(t,n),hi(e,n))}this._attachedToViewContainer=!1}Hr(this._lView[1],this._lView)}onDestroy(t){Us(this._lView[1],this._lView,null,t)}markForCheck(){ao(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){lo(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(t,e,n){Qe(!0);try{lo(t,e,n)}finally{Qe(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(t,e){rs(t,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}}class tc extends Jl{constructor(t){super(t),this._view=t}detectChanges(){co(this._view)}checkNoChanges(){!function(t){Qe(!0);try{co(t)}finally{Qe(!1)}}(this._view)}get context(){return null}}const ec=function(t){return function(t,e,n){if(de(t)&&!n){const n=Re(t.index,e);return new Jl(n,n)}return 47&t.type?new Jl(e[16],e):null}(Ge(),Ue(),16==(16&t))};let nc=(()=>{class t{}return t.__NG_ELEMENT_ID__=ec,t})();const ic=[new Gl],rc=new Yl([new Fl]),sc=new Ql(ic),oc=function(){return uc(Ge(),Ue())};let ac=(()=>{class t{}return t.__NG_ELEMENT_ID__=oc,t})();const lc=ac,cc=class extends lc{constructor(t,e,n){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=n}createEmbeddedView(t){const e=this._declarationTContainer.tViews,n=As(this._declarationLView,e,t,16,null,e.declTNode,null,null,null,null);n[17]=this._declarationLView[this._declarationTContainer.index];const i=this._declarationLView[19];return null!==i&&(n[19]=i.createEmbeddedView(e)),Ds(e,n,t),new Jl(n)}};function uc(t,e){return 4&t.type?new cc(e,t,kl(t,e)):null}class hc{}const dc=function(){return yc(Ge(),Ue())};let pc=(()=>{class t{}return t.__NG_ELEMENT_ID__=dc,t})();const fc=pc,gc=class extends fc{constructor(t,e,n){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=n}get element(){return kl(this._hostTNode,this._hostLView)}get injector(){return new ti(this._hostTNode,this._hostLView)}get parentInjector(){const t=Un(this._hostTNode,this._hostLView);if(In(t)){const e=Rn(t,this._hostLView),n=Dn(t);return new ti(e[1].data[n+8],e)}return new ti(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=mc(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,e,n){const i=t.createEmbeddedView(e||{});return this.insert(i,n),i}createComponent(t,e,n,i,r){const s=n||this.parentInjector;if(!r&&null==t.ngModule&&s){const t=s.get(hc,null);t&&(r=t)}const o=t.create(s,i,void 0,r);return this.insert(o.hostView,e),o}insert(t,e){const n=t._lView,i=n[1];if(function(t){return ue(t[3])}(n)){const e=this.indexOf(t);if(-1!==e)this.detach(e);else{const e=n[3],i=new gc(e,e[6],e[3]);i.detach(i.indexOf(t))}}const r=this._adjustIndex(e),s=this._lContainer;!function(t,e,n,i){const r=10+i,s=n.length;i>0&&(n[r-1][4]=e),iPr});class Sc extends Sl{constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=function(t){return t.map(vs).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return wc(this.componentDef.inputs)}get outputs(){return wc(this.componentDef.outputs)}create(t,e,n,i){const r=(i=i||this.ngModule)?function(t,e){return{get:(n,i,r)=>{const s=t.get(n,vc,r);return s!==vc||i===vc?s:e.get(n,i,r)}}}(t,i.injector):t,s=r.get(Il,ke),o=r.get(Nl,null),a=s.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",c=n?function(t,e,n){if(Te(t))return t.selectRootElement(e,n===jt.ShadowDom);let i="string"==typeof e?t.querySelector(e):e;return i.textContent="",i}(a,n,this.componentDef.encapsulation):Vr(s.createRenderer(null,this.componentDef),l,function(t){const e=t.toLowerCase();return"svg"===e?Ce:"math"===e?"http://www.w3.org/1998/MathML/":null}(l)),u=this.componentDef.onPush?576:528,h=function(t,e){return{components:[],scheduler:t||Pr,clean:ho,playerHandler:e||null,flags:0}}(),d=zs(0,null,null,1,0,null,null,null,null,null),p=As(null,d,h,u,null,null,s,a,o,r);let f,g;un(p);try{const t=function(t,e,n,i,r,s){const o=n[1];n[20]=t;const a=Ms(o,20,2,"#host",null),l=a.mergedAttrs=e.hostAttrs;null!==l&&(vo(a,l,!0),null!==t&&(Tn(r,t,l),null!==a.classes&&as(r,t,a.classes),null!==a.styles&&os(r,t,a.styles)));const c=i.createRenderer(t,e),u=As(n,Vs(e),null,e.onPush?64:16,n[20],a,i,c,s||null,null);return o.firstCreatePass&&(Hn(Fn(a,n),o,e.type),Xs(o,a),Ks(a,n.length,1)),oo(n,u),n[20]=u}(c,this.componentDef,p,s,a);if(c)if(n)Tn(a,c,["ng-version",jl.full]);else{const{attrs:t,classes:e}=function(t){const e=[],n=[];let i=1,r=2;for(;i0&&as(a,c,e.join(" "))}if(g=Ie(d,20),void 0!==e){const t=g.projection=[];for(let n=0;nt(o,e)),e.contentQueries){const t=Ge();e.contentQueries(1,o,t.directiveStart)}const a=Ge();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(bn(a.index),Ws(n[1],a,0,a.directiveStart,a.directiveEnd,e),qs(e,o)),o}(t,this.componentDef,p,h,[Lo]),Ds(d,p,null)}finally{gn()}return new Cc(this.componentType,f,kl(g,p),p,g)}}class Cc extends class{}{constructor(t,e,n,i,r){super(),this.location=n,this._rootLView=i,this._tNode=r,this.instance=e,this.hostView=this.changeDetectorRef=new tc(i),this.componentType=t}get injector(){return new ti(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}const Ec=new Map;class Oc extends hc{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _c(this);const n=le(t),i=function(t){return t[Yt]||null}(t);i&&fl(i),this._bootstrapComponents=Ir(n.bootstrap),this._r3Injector=To(t,e,[{provide:hc,useValue:this},{provide:Ol,useValue:this.componentFactoryResolver}],ut(t)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(t)}get(t,e=No.THROW_IF_NOT_FOUND,n=Mt.Default){return t===No||t===hc||t===_o?this:this._r3Injector.get(t,e,n)}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class Tc extends class{}{constructor(t){super(),this.moduleType=t,null!==le(t)&&function(t){const e=new Set;!function t(n){const i=le(n,!0),r=i.id;null!==r&&(function(t,e,n){if(e&&e!==n)throw new Error(`Duplicate module registered for ${t} - ${ut(e)} vs ${ut(e.name)}`)}(r,Ec.get(r),n),Ec.set(r,n));const s=Ir(i.imports);for(const o of s)e.has(o)||(e.add(o),t(o))}(t)}(t)}create(t){return new Oc(this.moduleType,t)}}function kc(t,e,n){const i=Ze()+t,r=Ue();return r[i]===_s?qo(r,i,n?e.call(n):e()):function(t,e){return t[e]}(r,i)}function Pc(t,e,n,i){return Ic(Ue(),Ze(),t,e,n,i)}function Ac(t,e,n,i,r,s){return function(t,e,n,i,r,s,o,a){const l=e+n;return function(t,e,n,i,r){const s=Yo(t,e,n,i);return Xo(t,e+2,r)||s}(t,l,r,s,o)?qo(t,l+3,a?i.call(a,r,s,o):i(r,s,o)):Mc(t,l+3)}(Ue(),Ze(),t,e,n,i,r,s)}function Mc(t,e){const n=t[e];return n===_s?void 0:n}function Ic(t,e,n,i,r,s){const o=e+n;return Xo(t,o,r)?qo(t,o+1,s?i.call(s,r):i(r)):Mc(t,o+1)}function Dc(t,e){const n=He();let i;const r=t+20;n.firstCreatePass?(i=function(t,e){if(e)for(let n=e.length-1;n>=0;n--){const i=e[n];if(t===i.name)return i}throw new mt("302",`The pipe '${t}' could not be found!`)}(e,n.pipeRegistry),n.data[r]=i,i.onDestroy&&(n.destroyHooks||(n.destroyHooks=[])).push(r,i.onDestroy)):i=n.data[r];const s=i.factory||(i.factory=me(i.type)),o=Dt(ea);try{const t=Ln(!1),e=s();return Ln(t),function(t,e,n,i){n>=t.data.length&&(t.data[n]=null,t.blueprint[n]=null),e[n]=i}(n,Ue(),r,e),e}finally{Dt(o)}}function Rc(t,e,n){const i=t+20,r=Ue(),s=De(r,i);return jc(r,Lc(r,i)?Ic(r,Ze(),e,s.transform,n,s):s.transform(n))}function Nc(t,e,n,i){const r=t+20,s=Ue(),o=De(s,r);return jc(s,Lc(s,r)?function(t,e,n,i,r,s,o){const a=e+n;return Yo(t,a,r,s)?qo(t,a+2,o?i.call(o,r,s):i(r,s)):Mc(t,a+2)}(s,Ze(),e,o.transform,n,i,o):o.transform(n,i))}function Lc(t,e){return t[1].data[e].pure}function jc(t,e){return $o.isWrapped(e)&&(e=$o.unwrap(e),t[Je()]=_s),e}function Fc(t){return e=>{setTimeout(t,void 0,e)}}const Bc=class extends A{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){var i,r,s;let o=t,a=e||(()=>null),l=n;if(t&&"object"==typeof t){const e=t;o=null===(i=e.next)||void 0===i?void 0:i.bind(e),a=null===(r=e.error)||void 0===r?void 0:r.bind(e),l=null===(s=e.complete)||void 0===s?void 0:s.bind(e)}this.__isAsync&&(a=Fc(a),o&&(o=Fc(o)),l&&(l=Fc(l)));const c=super.subscribe({next:o,error:a,complete:l});return t instanceof g&&t.add(c),c}};function Vc(){return this._results[Ho()]()}class zc{constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=Ho(),n=zc.prototype;n[e]||(n[e]=Vc)}get changes(){return this._changes||(this._changes=new Bc)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,e){const n=this;n.dirty=!1;const i=li(t);(this._changesDetected=!function(t,e,n){if(t.length!==e.length)return!1;for(let i=0;i0)i.push(o[t/2]);else{const r=s[t+1],o=e[-n];for(let t=10;t{class t{constructor(t){this.appInits=t,this.resolve=Tl,this.reject=Tl,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n{e.subscribe({complete:t,error:n})});t.push(n)}}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)(Ei(su,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const au=new oi("AppId"),lu={provide:au,useFactory:function(){return`${cu()}${cu()}${cu()}`},deps:[]};function cu(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const uu=new oi("Platform Initializer"),hu=new oi("Platform ID"),du=new oi("appBootstrapListener");let pu=(()=>{class t{log(t){console.log(t)}warn(t){console.warn(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const fu=new oi("LocaleId"),gu=new oi("DefaultCurrencyCode");class mu{constructor(t,e){this.ngModuleFactory=t,this.componentFactories=e}}const bu=function(t){return new Tc(t)},yu=bu,vu=function(t){return Promise.resolve(bu(t))},_u=function(t){const e=bu(t),n=Ir(le(t).declarations).reduce((t,e)=>{const n=ae(e);return n&&t.push(new Sc(n)),t},[]);return new mu(e,n)},wu=_u,xu=function(t){return Promise.resolve(_u(t))};let Su=(()=>{class t{constructor(){this.compileModuleSync=yu,this.compileModuleAsync=vu,this.compileModuleAndAllComponentsSync=wu,this.compileModuleAndAllComponentsAsync=xu}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Cu=new oi("compilerOptions"),Eu=(()=>Promise.resolve(0))();function Ou(t){"undefined"==typeof Zone?Eu.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class Tu{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Bc(!1),this.onMicrotaskEmpty=new Bc(!1),this.onStable=new Bc(!1),this.onError=new Bc(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const i=this;i._nesting=0,i._outer=i._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(i._inner=i._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(i._inner=i._inner.fork(Zone.longStackTraceZoneSpec)),i.shouldCoalesceEventChangeDetection=!n&&e,i.shouldCoalesceRunChangeDetection=n,i.lastRequestAnimationFrameId=-1,i.nativeRequestAnimationFrame=function(){let t=Ut.requestAnimationFrame,e=Ut.cancelAnimationFrame;if("undefined"!=typeof Zone&&t&&e){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(t){const e=()=>{!function(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Ut,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,Au(t),t.isCheckStableRunning=!0,Pu(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),Au(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,i,r,s,o,a)=>{try{return Mu(t),n.invokeTask(r,s,o,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||t.shouldCoalesceRunChangeDetection)&&e(),Iu(t)}},onInvoke:(n,i,r,s,o,a,l)=>{try{return Mu(t),n.invoke(r,s,o,a,l)}finally{t.shouldCoalesceRunChangeDetection&&e(),Iu(t)}},onHasTask:(e,n,i,r)=>{e.hasTask(i,r),n===i&&("microTask"==r.change?(t._hasPendingMicrotasks=r.microTask,Au(t),Pu(t)):"macroTask"==r.change&&(t.hasPendingMacrotasks=r.macroTask))},onHandleError:(e,n,i,r)=>(e.handleError(i,r),t.runOutsideAngular(()=>t.onError.emit(r)),!1)})}(i)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Tu.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Tu.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,i){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+i,t,ku,Tl,Tl);try{return r.runTask(s,e,n)}finally{r.cancelTask(s)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}const ku={};function Pu(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function Au(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function Mu(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function Iu(t){t._nesting--,Pu(t)}class Du{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Bc,this.onMicrotaskEmpty=new Bc,this.onStable=new Bc,this.onError=new Bc}run(t,e,n){return t.apply(e,n)}runGuarded(t,e,n){return t.apply(e,n)}runOutsideAngular(t){return t()}runTask(t,e,n,i){return t.apply(e,n)}}let Ru=(()=>{class t{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Tu.assertNotInAngularZone(),Ou(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Ou(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,e,n){let i=-1;e&&e>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==i),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Nu=(()=>{class t{constructor(){this._applications=new Map,ju.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return ju.findTestabilityInTree(this,t,e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Lu{addToWindow(t){}findTestabilityInTree(t,e,n){return null}}let ju=new Lu,Fu=!0,Bu=!1;function Vu(){return Bu=!0,Fu}let zu;const Uu=new oi("AllowMultipleToken");function Hu(t,e,n=[]){const i=`Platform: ${e}`,r=new oi(i);return(e=[])=>{let s=$u();if(!s||s.injector.get(Uu,!1))if(t)t(n.concat(e).concat({provide:r,useValue:!0}));else{const t=n.concat(e).concat({provide:r,useValue:!0},{provide:xo,useValue:"platform"});!function(t){if(zu&&!zu.destroyed&&!zu.injector.get(Uu,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");zu=t.get(Gu);const e=t.get(uu,null);e&&e.forEach(t=>t())}(No.create({providers:t,name:i}))}return function(t){const e=$u();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function $u(){return zu&&!zu.destroyed?zu:null}let Gu=(()=>{class t{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t,e){let n;return n="noop"===t?new Du:("zone.js"===t?void 0:t)||new Tu({enableLongStackTrace:Vu(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),n}(e?e.ngZone:void 0,{ngZoneEventCoalescing:e&&e.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:e&&e.ngZoneRunCoalescing||!1}),i=[{provide:Tu,useValue:n}];return n.run(()=>{const r=No.create({providers:i,parent:this.injector,name:t.moduleType.name}),s=t.create(r),o=s.injector.get(kr,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return n.runOutsideAngular(()=>{const t=n.onError.subscribe({next:t=>{o.handleError(t)}});s.onDestroy(()=>{Xu(this._modules,s),t.unsubscribe()})}),function(t,n,i){try{const e=i();return ha(e)?e.catch(e=>{throw n.runOutsideAngular(()=>t.handleError(e)),e}):e}catch(e){throw n.runOutsideAngular(()=>t.handleError(e)),e}}(o,n,()=>{const t=s.injector.get(ou);return t.runInitializers(),t.donePromise.then(()=>(fl(s.injector.get(fu,dl)||dl),this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,e=[]){const n=Wu({},e);return function(t,e,n){const i=new Tc(n);return Promise.resolve(i)}(0,0,t).then(t=>this.bootstrapModuleFactory(t,n))}_moduleDoBootstrap(t){const e=t.injector.get(qu);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${ut(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Wu(t,e){return Array.isArray(e)?e.reduce(Wu,t):Object.assign(Object.assign({},t),e)}let qu=(()=>{class t{constructor(t,e,n,i,r){this._zone=t,this._injector=e,this._exceptionHandler=n,this._componentFactoryResolver=i,this._initStatus=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const s=new E(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),o=new E(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{Tu.assertNotInAngularZone(),Ou(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{Tu.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=Q(s,o.pipe(at()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof Sl?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const i=function(t){return t.isBoundToModule}(n)?void 0:this._injector.get(hc),r=n.create(No.NULL,[],e||n.selector,i),s=r.location.nativeElement,o=r.injector.get(Ru,null),a=o&&r.injector.get(Nu);return o&&a&&a.registerApplication(s,o),r.onDestroy(()=>{this.detachView(r.hostView),Xu(this.components,r),a&&a.unregisterApplication(s)}),this._loadComponent(r),r}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;Xu(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(du,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(No),Ei(kr),Ei(Ol),Ei(ou))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Xu(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const Yu=Hu(null,"core",[{provide:hu,useValue:"unknown"},{provide:Gu,deps:[No]},{provide:Nu,deps:[]},{provide:pu,deps:[]}]),Ku=[{provide:qu,useClass:qu,deps:[Tu,No,kr,Ol,ou]},{provide:xc,deps:[Tu],useFactory:function(t){let e=[];return t.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:ou,useClass:ou,deps:[[new Ii,su]]},{provide:Su,useClass:Su,deps:[]},lu,{provide:Yl,useFactory:function(){return rc},deps:[]},{provide:Ql,useFactory:function(){return sc},deps:[]},{provide:fu,useFactory:function(t){return fl(t=t||"undefined"!=typeof $localize&&$localize.locale||dl),t},deps:[[new Mi(fu),new Ii,new Di]]},{provide:gu,useValue:"USD"}];let Qu=(()=>{class t{constructor(t){}}return t.\u0275fac=function(e){return new(e||t)(Ei(qu))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:Ku}),t})(),Zu=null;function Ju(){return Zu}const th=new oi("DocumentToken");let eh=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:nh,token:t,providedIn:"platform"}),t})();function nh(){return Ei(ih)}let ih=(()=>{class t extends eh{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Ju().getBaseHref(this._doc)}onPopState(t){const e=Ju().getGlobalEventTarget(this._doc,"window");return e.addEventListener("popstate",t,!1),()=>e.removeEventListener("popstate",t)}onHashChange(t){const e=Ju().getGlobalEventTarget(this._doc,"window");return e.addEventListener("hashchange",t,!1),()=>e.removeEventListener("hashchange",t)}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(t){this.location.pathname=t}pushState(t,e,n){rh()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){rh()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:sh,token:t,providedIn:"platform"}),t})();function rh(){return!!window.history.pushState}function sh(){return new ih(Ei(th))}function oh(t,e){if(0==t.length)return e;if(0==e.length)return t;let n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e}function ah(t){const e=t.match(/#|\?|$/),n=e&&e.index||t.length;return t.slice(0,n-("/"===t[n-1]?1:0))+t.slice(n)}function lh(t){return t&&"?"!==t[0]?"?"+t:t}let ch=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:uh,token:t,providedIn:"root"}),t})();function uh(t){const e=Ei(th).location;return new dh(Ei(eh),e&&e.origin||"")}const hh=new oi("appBaseHref");let dh=(()=>{class t extends ch{constructor(t,e){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==e&&(e=this._platformLocation.getBaseHrefFromDOM()),null==e)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=e}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return oh(this._baseHref,t)}path(t=!1){const e=this._platformLocation.pathname+lh(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?`${e}${n}`:e}pushState(t,e,n,i){const r=this.prepareExternalUrl(n+lh(i));this._platformLocation.pushState(t,e,r)}replaceState(t,e,n,i){const r=this.prepareExternalUrl(n+lh(i));this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformLocation).historyGo)||void 0===n||n.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(eh),Ei(hh,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),ph=(()=>{class t{constructor(t,e){this._subject=new Bc,this._urlChangeListeners=[],this._platformStrategy=t;const n=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=ah(gh(n)),this._platformStrategy.onPopState(t=>{this._subject.emit({url:this.path(!0),pop:!0,state:t.state,type:t.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,e=""){return this.path()==this.normalize(t+lh(e))}normalize(e){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,gh(e)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,e="",n=null){this._platformStrategy.pushState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+lh(e)),n)}replaceState(t,e="",n=null){this._platformStrategy.replaceState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+lh(e)),n)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformStrategy).historyGo)||void 0===n||n.call(e,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(t=>{this._notifyUrlChangeListeners(t.url,t.state)}))}_notifyUrlChangeListeners(t="",e){this._urlChangeListeners.forEach(n=>n(t,e))}subscribe(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})}}return t.\u0275fac=function(e){return new(e||t)(Ei(ch),Ei(eh))},t.normalizeQueryParams=lh,t.joinWithSlash=oh,t.stripTrailingSlash=ah,t.\u0275prov=xt({factory:fh,token:t,providedIn:"root"}),t})();function fh(){return new ph(Ei(ch),Ei(eh))}function gh(t){return t.replace(/\/index.html$/,"")}var mh=(()=>((mh=mh||{})[mh.Decimal=0]="Decimal",mh[mh.Percent=1]="Percent",mh[mh.Currency=2]="Currency",mh[mh.Scientific=3]="Scientific",mh))(),bh=(()=>((bh=bh||{})[bh.Zero=0]="Zero",bh[bh.One=1]="One",bh[bh.Two=2]="Two",bh[bh.Few=3]="Few",bh[bh.Many=4]="Many",bh[bh.Other=5]="Other",bh))(),yh=(()=>((yh=yh||{})[yh.Decimal=0]="Decimal",yh[yh.Group=1]="Group",yh[yh.List=2]="List",yh[yh.PercentSign=3]="PercentSign",yh[yh.PlusSign=4]="PlusSign",yh[yh.MinusSign=5]="MinusSign",yh[yh.Exponential=6]="Exponential",yh[yh.SuperscriptingExponent=7]="SuperscriptingExponent",yh[yh.PerMille=8]="PerMille",yh[yh.Infinity=9]="Infinity",yh[yh.NaN=10]="NaN",yh[yh.TimeSeparator=11]="TimeSeparator",yh[yh.CurrencyDecimal=12]="CurrencyDecimal",yh[yh.CurrencyGroup=13]="CurrencyGroup",yh))();function vh(t,e){const n=cl(t),i=n[hl.NumberSymbols][e];if(void 0===i){if(e===yh.CurrencyDecimal)return n[hl.NumberSymbols][yh.Decimal];if(e===yh.CurrencyGroup)return n[hl.NumberSymbols][yh.Group]}return i}const _h=function(t){return cl(t)[hl.PluralCase]},wh=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function xh(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}class Sh{}let Ch=(()=>{class t extends Sh{constructor(t){super(),this.locale=t}getPluralCategory(t,e){switch(_h(e||this.locale)(t)){case bh.Zero:return"zero";case bh.One:return"one";case bh.Two:return"two";case bh.Few:return"few";case bh.Many:return"many";default:return"other"}}}return t.\u0275fac=function(e){return new(e||t)(Ei(fu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Eh(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[i,r]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(i.trim()===e)return decodeURIComponent(r)}return null}let Oh=(()=>{class t{constructor(t,e,n,i){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=i,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Go(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${ut(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Yl),ea(Ql),ea(Al),ea(Dl))},t.\u0275dir=se({type:t,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),t})();class Th{constructor(t,e,n,i){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let kh=(()=>{class t{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(t){throw new Error(`Cannot find a differ supporting object '${e}' of type '${function(t){return t.name||typeof t}(e)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,i)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new Th(null,this._ngForOf,-1,-1),null===i?void 0:i),r=new Ph(t,n);e.push(r)}else if(null==i)this._viewContainer.remove(null===n?void 0:n);else if(null!==n){const r=this._viewContainer.get(n);this._viewContainer.move(r,i);const s=new Ph(t,r);e.push(s)}});for(let n=0;n{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Yl))},t.\u0275dir=se({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),t})();class Ph{constructor(t,e){this.record=t,this.view=e}}let Ah=(()=>{class t{constructor(t,e){this._viewContainer=t,this._context=new Mh,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Ih("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Ih("ngIfElse",t),this._elseTemplateRef=t,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(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac))},t.\u0275dir=se({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),t})();class Mh{constructor(){this.$implicit=null,this.ngIf=null}}function Ih(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${ut(e)}'.`)}class Dh{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}let Rh=(()=>{class t{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e{class t{constructor(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new Dh(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Rh,9))},t.\u0275dir=se({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),t})(),Lh=(()=>{class t{constructor(t,e,n){n._addDefault(new Dh(t,e))}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Rh,9))},t.\u0275dir=se({type:t,selectors:[["","ngSwitchDefault",""]]}),t})(),jh=(()=>{class t{constructor(t,e,n){this._ngEl=t,this._differs=e,this._renderer=n,this._ngStyle=null,this._differ=null}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,e){const[n,i]=t.split(".");null!=(e=null!=e&&i?`${e}${i}`:e)?this._renderer.setStyle(this._ngEl.nativeElement,n,e):this._renderer.removeStyle(this._ngEl.nativeElement,n)}_applyChanges(t){t.forEachRemovedItem(t=>this._setStyle(t.key,null)),t.forEachAddedItem(t=>this._setStyle(t.key,t.currentValue)),t.forEachChangedItem(t=>this._setStyle(t.key,t.currentValue))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ql),ea(Dl))},t.\u0275dir=se({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),t})(),Fh=(()=>{class t{constructor(t){this._viewContainerRef=t,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null}ngOnChanges(t){if(t.ngTemplateOutlet){const t=this._viewContainerRef;this._viewRef&&t.remove(t.indexOf(this._viewRef)),this._viewRef=this.ngTemplateOutlet?t.createEmbeddedView(this.ngTemplateOutlet,this.ngTemplateOutletContext):null}else this._viewRef&&t.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return t.\u0275fac=function(e){return new(e||t)(ea(pc))},t.\u0275dir=se({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet"},features:[ye]}),t})();function Bh(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${ut(t)}'`)}class Vh{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}}class zh{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}}const Uh=new zh,Hh=new Vh;let $h=(()=>{class t{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(e){if(ha(e))return Uh;if(da(e))return Hh;throw Bh(t,e)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(ea(nc,16))},t.\u0275pipe=oe({name:"async",type:t,pure:!1}),t})(),Gh=(()=>{class t{constructor(t){this._locale=t}transform(e,n,i){if(!function(t){return!(null==t||""===t||t!=t)}(e))return null;i=i||this._locale;try{return function(t,e,n){return function(t,e,n,i,r,s,o=!1){let a="",l=!1;if(isFinite(t)){let c=function(t){let e,n,i,r,s,o=Math.abs(t)+"",a=0;for((n=o.indexOf("."))>-1&&(o=o.replace(".","")),(i=o.search(/e/i))>0?(n<0&&(n=i),n+=+o.slice(i+1),o=o.substring(0,i)):n<0&&(n=o.length),i=0;"0"===o.charAt(i);i++);if(i===(s=o.length))e=[0],n=1;else{for(s--;"0"===o.charAt(s);)s--;for(n-=i,e=[],r=0;i<=s;i++,r++)e[r]=Number(o.charAt(i))}return n>22&&(e=e.splice(0,21),a=n-1,n=1),{digits:e,exponent:a,integerLen:n}}(t);o&&(c=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(c));let u=e.minInt,h=e.minFrac,d=e.maxFrac;if(s){const t=s.match(wh);if(null===t)throw new Error(`${s} is not a valid digit info`);const e=t[1],n=t[3],i=t[5];null!=e&&(u=xh(e)),null!=n&&(h=xh(n)),null!=i?d=xh(i):null!=n&&h>d&&(d=h)}!function(t,e,n){if(e>n)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${n}).`);let i=t.digits,r=i.length-t.integerLen;const s=Math.min(Math.max(e,r),n);let o=s+t.integerLen,a=i[o];if(o>0){i.splice(Math.max(t.integerLen,o));for(let t=o;t=5)if(o-1<0){for(let e=0;e>o;e--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[o-1]++;for(;r=c?i.pop():l=!1),e>=10?1:0},0);u&&(i.unshift(u),t.integerLen++)}(c,h,d);let p=c.digits,f=c.integerLen;const g=c.exponent;let m=[];for(l=p.every(t=>!t);f0?m=p.splice(f,p.length):(m=p,p=[0]);const b=[];for(p.length>=e.lgSize&&b.unshift(p.splice(-e.lgSize,p.length).join(""));p.length>e.gSize;)b.unshift(p.splice(-e.gSize,p.length).join(""));p.length&&b.unshift(p.join("")),a=b.join(vh(n,i)),m.length&&(a+=vh(n,r)+m.join("")),g&&(a+=vh(n,yh.Exponential)+"+"+g)}else a=vh(n,yh.Infinity);return a=t<0&&!l?e.negPre+a+e.negSuf:e.posPre+a+e.posSuf,a}(t,function(t,e="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(";"),r=i[0],s=i[1],o=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],a=o[0],l=o[1]||"";n.posPre=a.substr(0,a.indexOf("#"));for(let u=0;u{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:Sh,useClass:Ch}]}),t})();const qh="browser";function Xh(t){return t===qh}class Yh{}class Kh extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(t){Zu||(Zu=t)}(new Kh)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=(Zh=Zh||document.querySelector("base"),Zh?Zh.getAttribute("href"):null);return null==e?null:function(t){Qh=Qh||document.createElement("a"),Qh.setAttribute("href",t);const e=Qh.pathname;return"/"===e.charAt(0)?e:`/${e}`}(e)}resetBaseElement(){Zh=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return Eh(document.cookie,t)}}let Qh,Zh=null;const Jh=new oi("TRANSITION_ID"),td=[{provide:su,useFactory:function(t,e,n){return()=>{n.get(ou).donePromise.then(()=>{const n=Ju(),i=e.querySelectorAll(`style[ng-transition="${t}"]`);for(let t=0;t{const i=t.findTestabilityInTree(e,n);if(null==i)throw new Error("Could not find testability for element.");return i},Ut.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ut.getAllAngularRootElements=()=>t.getAllRootElements(),Ut.frameworkStabilizers||(Ut.frameworkStabilizers=[]),Ut.frameworkStabilizers.push(t=>{const e=Ut.getAllAngularTestabilities();let n=e.length,i=!1;const r=function(e){i=i||e,n--,0==n&&t(i)};e.forEach(function(t){t.whenStable(r)})})}findTestabilityInTree(t,e,n){if(null==e)return null;const i=t.getTestability(e);return null!=i?i:n?Ju().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null}}let nd=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const id=new oi("EventManagerPlugins");let rd=(()=>{class t{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let i=0;i{class t{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),ad=(()=>{class t extends od{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,e,n){t.forEach(t=>{const i=this._doc.createElement("style");i.textContent=t,n.push(e.appendChild(i))})}addHost(t){const e=[];this._addStylesToHost(this._stylesSet,t,e),this._hostNodes.set(t,e)}removeHost(t){const e=this._hostNodes.get(t);e&&e.forEach(ld),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((e,n)=>{this._addStylesToHost(t,n,e)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(ld))}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function ld(t){Ju().remove(t)}const cd={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/"},ud=/%COMP%/g;function hd(t,e,n){for(let i=0;i{if("__ngUnwrap__"===e)return t;!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}let pd=(()=>{class t{constructor(t,e,n){this.eventManager=t,this.sharedStylesHost=e,this.appId=n,this.rendererByCompId=new Map,this.defaultRenderer=new fd(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case jt.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new gd(this.eventManager,this.sharedStylesHost,e,this.appId),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case 1:case jt.ShadowDom:return new md(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=hd(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return t.\u0275fac=function(e){return new(e||t)(Ei(rd),Ei(ad),Ei(au))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class fd{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(cd[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let n="string"==typeof t?document.querySelector(t):t;if(!n)throw new Error(`The selector "${t}" did not match any elements`);return e||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,i){if(i){e=i+":"+e;const r=cd[i];r?t.setAttributeNS(r,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const i=cd[n];i?t.removeAttributeNS(i,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,i){i&(Dr.DashCase|Dr.Important)?t.style.setProperty(e,n,i&Dr.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&Dr.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,dd(n)):this.eventManager.addEventListener(t,e,dd(n))}}class gd extends fd{constructor(t,e,n,i){super(t),this.component=n;const r=hd(i+"-"+n.id,n.styles,[]);e.addStyles(r),this.contentAttr=function(t){return"_ngcontent-%COMP%".replace(ud,t)}(i+"-"+n.id),this.hostAttr=function(t){return"_nghost-%COMP%".replace(ud,t)}(i+"-"+n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class md extends fd{constructor(t,e,n,i){super(t),this.sharedStylesHost=e,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const r=hd(i.id,i.styles,[]);for(let s=0;s{class t extends sd{constructor(t){super(t)}supports(t){return!0}addEventListener(t,e,n){return t.addEventListener(e,n,!1),()=>this.removeEventListener(t,e,n)}removeEventListener(t,e,n){return t.removeEventListener(e,n)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const yd=["alt","control","meta","shift"],vd={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_d={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},wd={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let xd=(()=>{class t extends sd{constructor(t){super(t)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,n,i){const r=t.parseEventName(n),s=t.eventCallback(r.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Ju().onAndCancel(e,r.domEventName,s))}static parseEventName(e){const n=e.toLowerCase().split("."),i=n.shift();if(0===n.length||"keydown"!==i&&"keyup"!==i)return null;const r=t._normalizeKey(n.pop());let s="";if(yd.forEach(t=>{const e=n.indexOf(t);e>-1&&(n.splice(e,1),s+=t+".")}),s+=r,0!=n.length||0===r.length)return null;const o={};return o.domEventName=i,o.fullKey=s,o}static getEventFullKey(t){let e="",n=function(t){let e=t.key;if(null==e){if(e=t.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&_d.hasOwnProperty(e)&&(e=_d[e]))}return vd[e]||e}(t);return n=n.toLowerCase()," "===n?n="space":"."===n&&(n="dot"),yd.forEach(i=>{i!=n&&wd[i](t)&&(e+=i+".")}),e+=n,e}static eventCallback(e,n,i){return r=>{t.getEventFullKey(r)===e&&i.runGuarded(()=>n(r))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Sd=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return Ei(Cd)},token:t,providedIn:"root"}),t})(),Cd=(()=>{class t extends Sd{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case yr.NONE:return e;case yr.HTML:return qi(e,"HTML")?Wi(e):mr(this._doc,String(e)).toString();case yr.STYLE:return qi(e,"Style")?Wi(e):e;case yr.SCRIPT:if(qi(e,"Script"))return Wi(e);throw new Error("unsafe value used in a script context");case yr.URL:return Xi(e),qi(e,"URL")?Wi(e):Ji(String(e));case yr.RESOURCE_URL:if(qi(e,"ResourceURL"))return Wi(e);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(t){return new zi(t)}(t)}bypassSecurityTrustStyle(t){return function(t){return new Ui(t)}(t)}bypassSecurityTrustScript(t){return function(t){return new Hi(t)}(t)}bypassSecurityTrustUrl(t){return function(t){return new $i(t)}(t)}bypassSecurityTrustResourceUrl(t){return function(t){return new Gi(t)}(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return function(t){return new Cd(t.get(th))}(Ei(_o))},token:t,providedIn:"root"}),t})();const Ed=Hu(Yu,"browser",[{provide:hu,useValue:qh},{provide:uu,useValue:function(){Kh.makeCurrent(),ed.init()},multi:!0},{provide:th,useFactory:function(){return function(t){Ee=t}(document),document},deps:[]}]),Od=[[],{provide:xo,useValue:"root"},{provide:kr,useFactory:function(){return new kr},deps:[]},{provide:id,useClass:bd,multi:!0,deps:[th,Tu,hu]},{provide:id,useClass:xd,multi:!0,deps:[th]},[],{provide:pd,useClass:pd,deps:[rd,ad,au]},{provide:Il,useExisting:pd},{provide:od,useExisting:ad},{provide:ad,useClass:ad,deps:[th]},{provide:Ru,useClass:Ru,deps:[Tu]},{provide:rd,useClass:rd,deps:[id,Tu]},{provide:Yh,useClass:nd,deps:[]},[]];let Td=(()=>{class t{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(e){return{ngModule:t,providers:[{provide:au,useValue:e.appId},{provide:Jh,useExisting:au},td]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:Od,imports:[Wh,Qu]}),t})();function kd(t){return null!=t&&"false"!=`${t}`}function Pd(t,e=0){return function(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):e}function Ad(t){return Array.isArray(t)?t:[t]}function Md(t){return null==t?"":"string"==typeof t?t:`${t}px`}function Id(t){return t instanceof Al?t.nativeElement:t}function Dd(...t){let e=t[t.length-1];return I(e)?(t.pop(),z(t,e)):K(t)}function Rd(t,e,n,i){return a(n)&&(i=n,n=void 0),i?Rd(t,e,n).pipe(D(t=>d(t)?i(...t):i(t))):new E(i=>{Nd(t,e,function(t){i.next(arguments.length>1?Array.prototype.slice.call(arguments):t)},i,n)})}function Nd(t,e,n,i,r){let s;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(t)){const i=t;t.addEventListener(e,n,r),s=()=>i.removeEventListener(e,n,r)}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(t)){const i=t;t.on(e,n),s=()=>i.off(e,n)}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(t)){const i=t;t.addListener(e,n),s=()=>i.removeListener(e,n)}else{if(!t||!t.length)throw new TypeError("Invalid event target");for(let s=0,o=t.length;s{class t{constructor(e,n=t.now){this.SchedulerAction=e,this.now=n}schedule(t,e=0,n){return new this.SchedulerAction(this,t).schedule(n,e)}}return t.now=()=>Date.now(),t})();class Bd extends Fd{constructor(t,e=Fd.now){super(t,()=>Bd.delegate&&Bd.delegate!==this?Bd.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,n){return Bd.delegate&&Bd.delegate!==this?Bd.delegate.schedule(t,e,n):super.schedule(t,e,n)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}}new class extends Bd{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(()=>t.flush(null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(cancelAnimationFrame(e),t.scheduled=void 0)}});let Vd=1;const zd=Promise.resolve(),Ud={};function Hd(t){return t in Ud&&(delete Ud[t],!0)}const $d={setImmediate(t){const e=Vd++;return Ud[e]=!0,zd.then(()=>Hd(e)&&t()),e},clearImmediate(t){Hd(t)}};new class extends Bd{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=$d.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&($d.clearImmediate(e),t.scheduled=void 0)}});function Gd(t){return!!t&&(t instanceof E||"function"==typeof t.lift&&"function"==typeof t.subscribe)}function Wd(t,e){return n=>n.lift(new qd(t,e))}class qd{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new Xd(t,this.compare,this.keySelector))}}class Xd extends v{constructor(t,e,n){super(t),this.keySelector=n,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e;try{const{keySelector:n}=this;e=n?n(t):t}catch(i){return this.destination.error(i)}let n=!1;if(this.hasKey)try{const{compare:t}=this;n=t(this.key,e)}catch(i){return this.destination.error(i)}else this.hasKey=!0;n||(this.key=e,this.destination.next(t))}}const Yd=new Bd(jd);class Kd{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new Qd(t,this.durationSelector))}}class Qd extends ${constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1}_next(t){if(this.value=t,this.hasValue=!0,!this.throttled){let n;try{const{durationSelector:e}=this;n=e(t)}catch(e){return this.destination.error(e)}const i=G(n,new H(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:t,hasValue:e,throttled:n}=this;n&&(this.remove(n),this.throttled=void 0,n.unsubscribe()),e&&(this.value=void 0,this.hasValue=!1,this.destination.next(t))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function Zd(t){return!d(t)&&t-parseFloat(t)+1>=0}function Jd(t){const{index:e,period:n,subscriber:i}=t;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}}function tp(t,e=Yd){return function(t){return function(e){return e.lift(new Kd(t))}}(()=>function(t=0,e,n){let i=-1;return Zd(e)?i=Number(e)<1?1:Number(e):I(e)&&(n=e),I(n)||(n=Yd),new E(e=>{const r=Zd(t)?t:+t-n.now();return n.schedule(Jd,r,{index:0,period:i,subscriber:e})})}(t,e))}function ep(t,e){return function(n){return n.lift(new np(t,e))}}class np{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new ip(t,this.predicate,this.thisArg))}}class ip extends v{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)}}function rp(t){return e=>e.lift(new sp(t))}class sp{constructor(t){this.notifier=t}call(t,e){const n=new op(t),i=G(this.notifier,new H(n));return i&&!n.seenValue?(n.add(i),e.subscribe(n)):n}}class op extends ${constructor(t){super(t),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function ap(...t){return Y(1)(Dd(...t))}function lp(...t){const e=t[t.length-1];return I(e)?(t.pop(),n=>ap(t,n,e)):e=>ap(t,e)}function cp(t,e){return"function"==typeof e?n=>n.pipe(cp((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))))):e=>e.lift(new up(t))}class up{constructor(t){this.project=t}call(t,e){return e.subscribe(new hp(t,this.project))}}class hp extends ${constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this._innerSub(e)}_innerSub(t){const e=this.innerSubscription;e&&e.unsubscribe();const n=new H(this),i=this.destination;i.add(n),this.innerSubscription=G(t,n),this.innerSubscription!==n&&i.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;(!t||t.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(t){this.destination.next(t)}}const dp=new class extends Bd{}(class extends jd{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}schedule(t,e=0){return e>0?super.schedule(t,e):(this.delay=e,this.state=t,this.scheduler.flush(this),this)}execute(t,e){return e>0||this.closed?super.execute(t,e):this._execute(t,e)}requestAsyncId(t,e,n=0){return null!==n&&n>0||null===n&&this.delay>0?super.requestAsyncId(t,e,n):t.flush(this)}}),pp=new E(t=>t.complete());function fp(t){return t?function(t){return new E(e=>t.schedule(()=>e.complete()))}(t):pp}function gp(t,e){return new E(e?n=>e.schedule(mp,0,{error:t,subscriber:n}):e=>e.error(t))}function mp({error:t,subscriber:e}){e.error(t)}class bp{constructor(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}}accept(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)}toObservable(){switch(this.kind){case"N":return Dd(this.value);case"E":return gp(this.error);case"C":return fp()}throw new Error("unexpected notification kind value")}static createNext(t){return void 0!==t?new bp("N",t):bp.undefinedValueNotification}static createError(t){return new bp("E",void 0,t)}static createComplete(){return bp.completeNotification}}bp.completeNotification=new bp("C"),bp.undefinedValueNotification=new bp("N",void 0);class yp extends v{constructor(t,e,n=0){super(t),this.scheduler=e,this.delay=n}static dispatch(t){const{notification:e,destination:n}=t;e.observe(n),this.unsubscribe()}scheduleMessage(t){this.destination.add(this.scheduler.schedule(yp.dispatch,this.delay,new vp(t,this.destination)))}_next(t){this.scheduleMessage(bp.createNext(t))}_error(t){this.scheduleMessage(bp.createError(t)),this.unsubscribe()}_complete(){this.scheduleMessage(bp.createComplete()),this.unsubscribe()}}class vp{constructor(t,e){this.notification=t,this.destination=e}}class _p extends A{constructor(t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,n){super(),this.scheduler=n,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=t<1?1:t,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(t){if(!this.isStopped){const e=this._events;e.push(t),e.length>this._bufferSize&&e.shift()}super.next(t)}nextTimeWindow(t){this.isStopped||(this._events.push(new wp(this._getNow(),t)),this._trimBufferThenGetEvents()),super.next(t)}_subscribe(t){const e=this._infiniteTimeWindow,n=e?this._events:this._trimBufferThenGetEvents(),i=this.scheduler,r=n.length;let s;if(this.closed)throw new T;if(this.isStopped||this.hasError?s=g.EMPTY:(this.observers.push(t),s=new k(this,t)),i&&t.add(t=new yp(t,i)),e)for(let o=0;oe&&(s=Math.max(s,r-e)),s>0&&i.splice(0,s),i}}class wp{constructor(t,e){this.time=t,this.value=e}}function xp(t,e,n){let i;return i=t&&"object"==typeof t?t:{bufferSize:t,windowTime:e,refCount:!1,scheduler:n},t=>t.lift(function({bufferSize:t=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:n,scheduler:i}){let r,s,o=0,a=!1,l=!1;return function(c){let u;o++,!r||a?(a=!1,r=new _p(t,e,i),u=r.subscribe(this),s=c.subscribe({next(t){r.next(t)},error(t){a=!0,r.error(t)},complete(){l=!0,s=void 0,r.complete()}}),l&&(s=void 0)):u=r.subscribe(this),this.add(()=>{o--,u.unsubscribe(),u=void 0,s&&!l&&n&&0===o&&(s.unsubscribe(),s=void 0,r=void 0)})}}(i))}let Sp;try{Sp="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(m){Sp=!1}let Cp,Ep=(()=>{class t{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Xh(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Sp)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return t.\u0275fac=function(e){return new(e||t)(Ei(hu))},t.\u0275prov=xt({factory:function(){return new t(Ei(hu))},token:t,providedIn:"root"}),t})(),Op=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const Tp=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function kp(){if(Cp)return Cp;if("object"!=typeof document||!document)return Cp=new Set(Tp),Cp;let t=document.createElement("input");return Cp=new Set(Tp.filter(e=>(t.setAttribute("type",e),t.type===e))),Cp}let Pp,Ap,Mp;function Ip(t){return function(){if(null==Pp&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Pp=!0}))}finally{Pp=Pp||!1}return Pp}()?t:!!t.capture}function Dp(){if(null==Ap){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Ap=!1,Ap;if("scrollBehavior"in document.documentElement.style)Ap=!0;else{const t=Element.prototype.scrollTo;Ap=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return Ap}function Rp(t){if(function(){if(null==Mp){const t="undefined"!=typeof document?document.head:null;Mp=!(!t||!t.createShadowRoot&&!t.attachShadow)}return Mp}()){const e=t.getRootNode?t.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}function Np(){let t="undefined"!=typeof document&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const e=t.shadowRoot.activeElement;if(e===t)break;t=e}return t}function Lp(t){return t.composedPath?t.composedPath()[0]:t.target}const jp=new oi("cdk-dir-doc",{providedIn:"root",factory:function(){return Oi(th)}});let Fp=(()=>{class t{constructor(t){if(this.value="ltr",this.change=new Bc,t){const e=t.documentElement?t.documentElement.dir:null,n=(t.body?t.body.dir:null)||e;this.value="ltr"===n||"rtl"===n?n:"ltr"}}ngOnDestroy(){this.change.complete()}}return t.\u0275fac=function(e){return new(e||t)(Ei(jp,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(jp,8))},token:t,providedIn:"root"}),t})(),Bp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();class Vp{constructor(t=!1,e,n=!0){this._multiple=t,this._emitChanges=n,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new A,e&&e.length&&(t?e.forEach(t=>this._markSelected(t)):this._markSelected(e[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...t){this._verifyValueAssignment(t),t.forEach(t=>this._markSelected(t)),this._emitChangeEvent()}deselect(...t){this._verifyValueAssignment(t),t.forEach(t=>this._unmarkSelected(t)),this._emitChangeEvent()}toggle(t){this.isSelected(t)?this.deselect(t):this.select(t)}clear(){this._unmarkAll(),this._emitChangeEvent()}isSelected(t){return this._selection.has(t)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(t){this._multiple&&this.selected&&this._selected.sort(t)}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(t){this.isSelected(t)||(this._multiple||this._unmarkAll(),this._selection.add(t),this._emitChanges&&this._selectedToEmit.push(t))}_unmarkSelected(t){this.isSelected(t)&&(this._selection.delete(t),this._emitChanges&&this._deselectedToEmit.push(t))}_unmarkAll(){this.isEmpty()||this._selection.forEach(t=>this._unmarkSelected(t))}_verifyValueAssignment(t){}}let zp=(()=>{class t{constructor(){this._listeners=[]}notify(t,e){for(let n of this._listeners)n(t,e)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(e=>t!==e)}}ngOnDestroy(){this._listeners=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Up=(()=>{class t{constructor(t,e,n){this._ngZone=t,this._platform=e,this._scrolled=new A,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=n}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new E(e=>{this._globalSubscription||this._addGlobalListener();const n=t>0?this._scrolled.pipe(tp(t)).subscribe(e):this._scrolled.subscribe(e);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Dd()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,e)=>this.deregister(e)),this._scrolled.complete()}ancestorScrolled(t,e){const n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(ep(t=>!t||n.indexOf(t)>-1))}getAncestorScrollContainers(t){const e=[];return this.scrollContainers.forEach((n,i)=>{this._scrollableContainsElement(i,t)&&e.push(i)}),e}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,e){let n=Id(e),i=t.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>Rd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(Ep),Ei(th,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Tu),Ei(Ep),Ei(th,8))},token:t,providedIn:"root"}),t})(),Hp=(()=>{class t{constructor(t,e,n){this._platform=t,this._change=new A,this._changeListener=t=>{this._change.next(t)},this._document=n,e.runOutsideAngular(()=>{if(t.isBrowser){const t=this._getWindow();t.addEventListener("resize",this._changeListener),t.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:e,height:n}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+n,right:t.left+e,height:n,width:e}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,e=this._getWindow(),n=t.documentElement,i=n.getBoundingClientRect();return{top:-i.top||t.body.scrollTop||e.scrollY||n.scrollTop||0,left:-i.left||t.body.scrollLeft||e.scrollX||n.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(tp(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu),Ei(th,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu),Ei(th,8))},token:t,providedIn:"root"}),t})(),$p=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),Gp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Bp,Op,$p],Bp,$p]}),t})();class Wp{attach(t){return this._attachedHost=t,t.attach(this)}detach(){let t=this._attachedHost;null!=t&&(this._attachedHost=null,t.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class qp extends Wp{constructor(t,e,n,i){super(),this.component=t,this.viewContainerRef=e,this.injector=n,this.componentFactoryResolver=i}}class Xp extends Wp{constructor(t,e,n){super(),this.templateRef=t,this.viewContainerRef=e,this.context=n}get origin(){return this.templateRef.elementRef}attach(t,e=this.context){return this.context=e,super.attach(t)}detach(){return this.context=void 0,super.detach()}}class Yp extends Wp{constructor(t){super(),this.element=t instanceof Al?t.nativeElement:t}}class Kp{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(t){return t instanceof qp?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof Xp?(this._attachedPortal=t,this.attachTemplatePortal(t)):this.attachDomPortal&&t instanceof Yp?(this._attachedPortal=t,this.attachDomPortal(t)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(t){this._disposeFn=t}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class Qp extends Kp{constructor(t,e,n,i,r){super(),this.outletElement=t,this._componentFactoryResolver=e,this._appRef=n,this._defaultInjector=i,this.attachDomPortal=t=>{const e=t.element,n=this._document.createComment("dom-portal");e.parentNode.insertBefore(n,e),this.outletElement.appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(e,n)})},this._document=r}attachComponentPortal(t){const e=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component);let n;return t.viewContainerRef?(n=t.viewContainerRef.createComponent(e,t.viewContainerRef.length,t.injector||t.viewContainerRef.injector),this.setDisposeFn(()=>n.destroy())):(n=e.create(t.injector||this._defaultInjector),this._appRef.attachView(n.hostView),this.setDisposeFn(()=>{this._appRef.detachView(n.hostView),n.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(n)),this._attachedPortal=t,n}attachTemplatePortal(t){let e=t.viewContainerRef,n=e.createEmbeddedView(t.templateRef,t.context);return n.rootNodes.forEach(t=>this.outletElement.appendChild(t)),n.detectChanges(),this.setDisposeFn(()=>{let t=e.indexOf(n);-1!==t&&e.remove(t)}),this._attachedPortal=t,n}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}let Zp=(()=>{class t extends Xp{constructor(t,e){super(t,e)}}return t.\u0275fac=function(e){return new(e||t)(ea(ac),ea(pc))},t.\u0275dir=se({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[jo]}),t})(),Jp=(()=>{class t extends Zp{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","cdk-portal",""],["","portal",""]],exportAs:["cdkPortal"],features:[xl([{provide:Zp,useExisting:t}]),jo]}),t})(),tf=(()=>{class t extends Kp{constructor(t,e,n){super(),this._componentFactoryResolver=t,this._viewContainerRef=e,this._isInitialized=!1,this.attached=new Bc,this.attachDomPortal=t=>{const e=t.element,n=this._document.createComment("dom-portal");t.setAttachedHost(this),e.parentNode.insertBefore(n,e),this._getRootNode().appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(e,n)})},this._document=n}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const e=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,n=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),i=e.createComponent(n,e.length,t.injector||e.injector);return e!==this._viewContainerRef&&this._getRootNode().appendChild(i.hostView.rootNodes[0]),super.setDisposeFn(()=>i.destroy()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}attachTemplatePortal(t){t.setAttachedHost(this);const e=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=e,this.attached.emit(e),e}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return t.\u0275fac=function(e){return new(e||t)(ea(Ol),ea(pc),ea(th))},t.\u0275dir=se({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[jo]}),t})(),ef=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const nf=(()=>{function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t})();function rf(t){return e=>0===t?fp():e.lift(new sf(t))}class sf{constructor(t){if(this.total=t,this.total<0)throw new nf}call(t,e){return e.subscribe(new of(t,this.total))}}class of extends v{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}function af(t,e=!1){return n=>n.lift(new lf(t,e))}class lf{constructor(t,e){this.predicate=t,this.inclusive=e}call(t,e){return e.subscribe(new cf(t,this.predicate,this.inclusive))}}class cf extends v{constructor(t,e,n){super(t),this.predicate=e,this.inclusive=n,this.index=0}_next(t){const e=this.destination;let n;try{n=this.predicate(t,this.index++)}catch(i){return void e.error(i)}this.nextOrComplete(t,n)}nextOrComplete(t,e){const n=this.destination;Boolean(e)?n.next(t):(this.inclusive&&n.next(t),n.complete())}}function uf(t,...e){return e.length?e.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}const hf=Dp();class df{constructor(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=Md(-this._previousScrollPosition.left),t.style.top=Md(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const t=this._document.documentElement,e=t.style,n=this._document.body.style,i=e.scrollBehavior||"",r=n.scrollBehavior||"";this._isEnabled=!1,e.left=this._previousHTMLStyles.left,e.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),hf&&(e.scrollBehavior=n.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),hf&&(e.scrollBehavior=i,n.scrollBehavior=r)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width}}class pf{constructor(t,e,n,i){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=i,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(t){this._overlayRef=t}enable(){if(this._scrollSubscription)return;const t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class ff{enable(){}disable(){}attach(){}}function gf(t,e){return e.some(e=>t.bottome.bottom||t.righte.right)}function mf(t,e){return e.some(e=>t.tope.bottom||t.lefte.right)}class bf{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=i,this._scrollSubscription=null}attach(t){this._overlayRef=t}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:e,height:n}=this._viewportRuler.getViewportSize();gf(t,[{width:e,height:n,bottom:n,right:e,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}}let yf=(()=>{class t{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=()=>new ff,this.close=t=>new pf(this._scrollDispatcher,this._ngZone,this._viewportRuler,t),this.block=()=>new df(this._viewportRuler,this._document),this.reposition=t=>new bf(this._scrollDispatcher,this._viewportRuler,this._ngZone,t),this._document=i}}return t.\u0275fac=function(e){return new(e||t)(Ei(Up),Ei(Hp),Ei(Tu),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Up),Ei(Hp),Ei(Tu),Ei(th))},token:t,providedIn:"root"}),t})();class vf{constructor(t){if(this.scrollStrategy=new ff,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t){const e=Object.keys(t);for(const n of e)void 0!==t[n]&&(this[n]=t[n])}}}class _f{constructor(t,e,n,i,r){this.offsetX=n,this.offsetY=i,this.panelClass=r,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class wf{constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}let xf=(()=>{class t{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this.detach()}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})(),Sf=(()=>{class t extends xf{constructor(t){super(t),this._keydownListener=t=>{const e=this._attachedOverlays;for(let n=e.length-1;n>-1;n--)if(e[n]._keydownEvents.observers.length>0){e[n]._keydownEvents.next(t);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})(),Cf=(()=>{class t extends xf{constructor(t,e){super(t),this._platform=e,this._cursorStyleIsSet=!1,this._clickListener=t=>{const e=Lp(t),n=this._attachedOverlays.slice();for(let i=n.length-1;i>-1;i--){const r=n[i];if(!(r._outsidePointerEvents.observers.length<1)&&r.hasAttached()){if(r.overlayElement.contains(e))break;r._outsidePointerEvents.next(t)}}}}add(t){if(super.add(t),!this._isAttached){const t=this._document.body;t.addEventListener("click",this._clickListener,!0),t.addEventListener("auxclick",this._clickListener,!0),t.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=t.style.cursor,t.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(th),Ei(Ep))},token:t,providedIn:"root"}),t})();const Ef="undefined"!=typeof window?window:{},Of=void 0!==Ef.__karma__&&!!Ef.__karma__||void 0!==Ef.jasmine&&!!Ef.jasmine||void 0!==Ef.jest&&!!Ef.jest||void 0!==Ef.Mocha&&!!Ef.Mocha;let Tf=(()=>{class t{constructor(t,e){this._platform=e,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||Of){const e=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let t=0;tthis._backdropClick.next(t),this._keydownEvents=new A,this._outsidePointerEvents=new A,i.scrollStrategy&&(this._scrollStrategy=i.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=i.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(t){let e=this._portalOutlet.attach(t);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(rf(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),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),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),t}dispose(){const t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),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&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.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(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))}updateSize(t){this._config=Object.assign(Object.assign({},this._config),t),this._updateElementSize()}setDirection(t){this._config=Object.assign(Object.assign({},this._config),{direction:t}),this._updateElementDirection()}addPanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!0)}removePanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!1)}getDirection(){const t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"}updateScrollStrategy(t){t!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=t,this.hasAttached()&&(t.attach(this),t.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const t=this._pane.style;t.width=Md(this._config.width),t.height=Md(this._config.height),t.minWidth=Md(this._config.minWidth),t.minHeight=Md(this._config.minHeight),t.maxWidth=Md(this._config.maxWidth),t.maxHeight=Md(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"":"none"}_attachBackdrop(){const t="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),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),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(t)})}):this._backdropElement.classList.add(t)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let t=this._backdropElement;if(!t)return;let e,n=()=>{t&&(t.removeEventListener("click",this._backdropClickHandler),t.removeEventListener("transitionend",n),t.parentNode&&t.parentNode.removeChild(t)),this._backdropElement==t&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(t,this._config.backdropClass,!1),clearTimeout(e)};t.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{t.addEventListener("transitionend",n)}),t.style.pointerEvents="none",e=this._ngZone.runOutsideAngular(()=>setTimeout(n,500))}_toggleClasses(t,e,n){const i=t.classList;Ad(e).forEach(t=>{t&&(n?i.add(t):i.remove(t))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const t=this._ngZone.onStable.pipe(rp(Q(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),t.unsubscribe())})})}_disposeScrollStrategy(){const t=this._scrollStrategy;t&&(t.disable(),t.detach&&t.detach())}}const Pf="cdk-overlay-connected-position-bounding-box",Af=/([A-Za-z%]+)$/;class Mf{constructor(t,e,n,i,r){this._viewportRuler=e,this._document=n,this._platform=i,this._overlayContainer=r,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 A,this._resizeSubscription=g.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(t)}get positions(){return this._preferredPositions}attach(t){this._validatePositions(),t.hostElement.classList.add(Pf),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.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)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const t=this._originRect,e=this._overlayRect,n=this._viewportRect,i=[];let r;for(let s of this._preferredPositions){let o=this._getOriginPoint(t,s),a=this._getOverlayPoint(o,e,s),l=this._getOverlayFit(a,e,n,s);if(l.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(s,o);this._canFitWithFlexibleDimensions(l,a,n)?i.push({position:s,origin:o,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(o,s)}):(!r||r.overlayFit.visibleAreae&&(e=i,t=n)}return this._isPushed=!1,void this._applyPosition(t.position,t.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(r.position,r.originPoint);this._applyPosition(r.position,r.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&If(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Pf),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}}withScrollableContainers(t){return this._scrollables=t,this}withPositions(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e){let n,i;if("center"==e.originX)n=t.left+t.width/2;else{const i=this._isRtl()?t.right:t.left,r=this._isRtl()?t.left:t.right;n="start"==e.originX?i:r}return i="center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom,{x:n,y:i}}_getOverlayPoint(t,e,n){let i,r;return i="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,r="center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height,{x:t.x+i,y:t.y+r}}_getOverlayFit(t,e,n,i){const r=Rf(e);let{x:s,y:o}=t,a=this._getOffset(i,"x"),l=this._getOffset(i,"y");a&&(s+=a),l&&(o+=l);let c=0-o,u=o+r.height-n.height,h=this._subtractOverflows(r.width,0-s,s+r.width-n.width),d=this._subtractOverflows(r.height,c,u),p=h*d;return{visibleArea:p,isCompletelyWithinViewport:r.width*r.height===p,fitsInViewportVertically:d===r.height,fitsInViewportHorizontally:h==r.width}}_canFitWithFlexibleDimensions(t,e,n){if(this._hasFlexibleDimensions){const i=n.bottom-e.y,r=n.right-e.x,s=Df(this._overlayRef.getConfig().minHeight),o=Df(this._overlayRef.getConfig().minWidth),a=t.fitsInViewportHorizontally||null!=o&&o<=r;return(t.fitsInViewportVertically||null!=s&&s<=i)&&a}return!1}_pushOverlayOnScreen(t,e,n){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};const i=Rf(e),r=this._viewportRect,s=Math.max(t.x+i.width-r.width,0),o=Math.max(t.y+i.height-r.height,0),a=Math.max(r.top-n.top-t.y,0),l=Math.max(r.left-n.left-t.x,0);let c=0,u=0;return c=i.width<=r.width?l||-s:t.xi&&!this._isInitialRender&&!this._growAfterOpen&&(s=t.y-i/2)}if("end"===e.overlayX&&!i||"start"===e.overlayX&&i)c=n.width-t.x+this._viewportMargin,a=t.x-this._viewportMargin;else if("start"===e.overlayX&&!i||"end"===e.overlayX&&i)l=t.x,a=n.right-t.x;else{const e=Math.min(n.right-t.x+n.left,t.x),i=this._lastBoundingBoxSize.width;a=2*e,l=t.x-e,a>i&&!this._isInitialRender&&!this._growAfterOpen&&(l=t.x-i/2)}return{top:s,left:l,bottom:o,right:c,width:a,height:r}}_setBoundingBoxStyles(t,e){const n=this._calculateBoundingBoxRect(t,e);!this._isInitialRender&&!this._growAfterOpen&&(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));const i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right=i.maxHeight=i.maxWidth="",i.width=i.height="100%";else{const t=this._overlayRef.getConfig().maxHeight,r=this._overlayRef.getConfig().maxWidth;i.height=Md(n.height),i.top=Md(n.top),i.bottom=Md(n.bottom),i.width=Md(n.width),i.left=Md(n.left),i.right=Md(n.right),i.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",i.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",t&&(i.maxHeight=Md(t)),r&&(i.maxWidth=Md(r))}this._lastBoundingBoxSize=n,If(this._boundingBox.style,i)}_resetBoundingBoxStyles(){If(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){If(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(t,e){const n={},i=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(i){const i=this._viewportRuler.getViewportScrollPosition();If(n,this._getExactOverlayY(e,t,i)),If(n,this._getExactOverlayX(e,t,i))}else n.position="static";let o="",a=this._getOffset(e,"x"),l=this._getOffset(e,"y");a&&(o+=`translateX(${a}px) `),l&&(o+=`translateY(${l}px)`),n.transform=o.trim(),s.maxHeight&&(i?n.maxHeight=Md(s.maxHeight):r&&(n.maxHeight="")),s.maxWidth&&(i?n.maxWidth=Md(s.maxWidth):r&&(n.maxWidth="")),If(this._pane.style,n)}_getExactOverlayY(t,e,n){let i={top:"",bottom:""},r=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,n));let s=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return r.y-=s,"bottom"===t.overlayY?i.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":i.top=Md(r.y),i}_getExactOverlayX(t,e,n){let i,r={left:"",right:""},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,n)),i=this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left","right"===i?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=Md(s.x),r}_getScrollVisibility(){const t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),n=this._scrollables.map(t=>t.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:mf(t,n),isOriginOutsideView:gf(t,n),isOverlayClipped:mf(e,n),isOverlayOutsideView:gf(e,n)}}_subtractOverflows(t,...e){return e.reduce((t,e)=>t-Math.max(e,0),t)}_getNarrowedViewportRect(){const t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,n=this._viewportRuler.getViewportScrollPosition();return{top:n.top+this._viewportMargin,left:n.left+this._viewportMargin,right:n.left+t-this._viewportMargin,bottom:n.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY}_validatePositions(){}_addPanelClasses(t){this._pane&&Ad(t).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(t=>{this._pane.classList.remove(t)}),this._appliedPanelClasses=[])}_getOriginRect(){const t=this._origin;if(t instanceof Al)return t.nativeElement.getBoundingClientRect();if(t instanceof Element)return t.getBoundingClientRect();const e=t.width||0,n=t.height||0;return{top:t.y,bottom:t.y+n,left:t.x,right:t.x+e,height:n,width:e}}}function If(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function Df(t){if("number"!=typeof t&&null!=t){const[e,n]=t.split(Af);return n&&"px"!==n?null:parseFloat(e)}return t||null}function Rf(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}class Nf{constructor(t,e,n,i,r,s,o){this._preferredPositions=[],this._positionStrategy=new Mf(n,i,r,s,o).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(t,e),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(t){this._overlayRef=t,this._positionStrategy.attach(t),this._direction&&(t.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(t){this._positionStrategy.withScrollableContainers(t)}withFallbackPosition(t,e,n,i){const r=new _f(t,e,n,i);return this._preferredPositions.push(r),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(t){return this._overlayRef?this._overlayRef.setDirection(t):this._direction=t,this}withOffsetX(t){return this._positionStrategy.withDefaultOffsetX(t),this}withOffsetY(t){return this._positionStrategy.withDefaultOffsetY(t),this}withLockedPosition(t){return this._positionStrategy.withLockedPosition(t),this}withPositions(t){return this._preferredPositions=t.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(t){return this._positionStrategy.setOrigin(t),this}}const Lf="cdk-global-overlay-wrapper";class jf{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(t){const e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add(Lf),this._isDisposed=!1}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._justifyContent="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig(),{width:i,height:r,maxWidth:s,maxHeight:o}=n,a=!("100%"!==i&&"100vw"!==i||s&&"100%"!==s&&"100vw"!==s),l=!("100%"!==r&&"100vh"!==r||o&&"100%"!==o&&"100vh"!==o);t.position=this._cssPosition,t.marginLeft=a?"0":this._leftOffset,t.marginTop=l?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=this._rightOffset,a?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems=l?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,n=e.style;e.classList.remove(Lf),n.justifyContent=n.alignItems=t.marginTop=t.marginBottom=t.marginLeft=t.marginRight=t.position="",this._overlayRef=null,this._isDisposed=!0}}let Ff=(()=>{class t{constructor(t,e,n,i){this._viewportRuler=t,this._document=e,this._platform=n,this._overlayContainer=i}global(){return new jf}connectedTo(t,e,n){return new Nf(e,n,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new Mf(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Hp),Ei(th),Ei(Ep),Ei(Tf))},t.\u0275prov=xt({factory:function(){return new t(Ei(Hp),Ei(th),Ei(Ep),Ei(Tf))},token:t,providedIn:"root"}),t})(),Bf=0,Vf=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=n,this._positionBuilder=i,this._keyboardDispatcher=r,this._injector=s,this._ngZone=o,this._document=a,this._directionality=l,this._location=c,this._outsideClickDispatcher=u}create(t){const e=this._createHostElement(),n=this._createPaneElement(e),i=this._createPortalOutlet(n),r=new vf(t);return r.direction=r.direction||this._directionality.value,new kf(i,e,n,r,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const e=this._document.createElement("div");return e.id="cdk-overlay-"+Bf++,e.classList.add("cdk-overlay-pane"),t.appendChild(e),e}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(qu)),new Qp(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return t.\u0275fac=function(e){return new(e||t)(Ei(yf),Ei(Tf),Ei(Ol),Ei(Ff),Ei(Sf),Ei(No),Ei(Tu),Ei(th),Ei(Fp),Ei(ph),Ei(Cf))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const zf=[{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"}],Uf=new oi("cdk-connected-overlay-scroll-strategy");let Hf=(()=>{class t{constructor(t){this.elementRef=t}}return t.\u0275fac=function(e){return new(e||t)(ea(Al))},t.\u0275dir=se({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),t})(),$f=(()=>{class t{constructor(t,e,n,i,r){this._overlay=t,this._dir=r,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=g.EMPTY,this._attachSubscription=g.EMPTY,this._detachSubscription=g.EMPTY,this._positionSubscription=g.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new Bc,this.positionChange=new Bc,this.attach=new Bc,this.detach=new Bc,this.overlayKeydown=new Bc,this.overlayOutsideClick=new Bc,this._templatePortal=new Xp(e,n),this._scrollStrategyFactory=i,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(t){this._offsetX=t,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(t){this._offsetY=t,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=kd(t)}get lockPosition(){return this._lockPosition}set lockPosition(t){this._lockPosition=kd(t)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(t){this._flexibleDimensions=kd(t)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(t){this._growAfterOpen=kd(t)}get push(){return this._push}set push(t){this._push=kd(t)}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(t){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),t.origin&&this.open&&this._position.apply()),t.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=zf);const t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=t.detachments().subscribe(()=>this.detach.emit()),t.keydownEvents().subscribe(t=>{this.overlayKeydown.next(t),27===t.keyCode&&!this.disableClose&&!uf(t)&&(t.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(t=>{this.overlayOutsideClick.next(t)})}_buildConfig(){const t=this._position=this.positionStrategy||this._createPositionStrategy(),e=new vf({direction:this._dir,positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(e.width=this.width),(this.height||0===this.height)&&(e.height=this.height),(this.minWidth||0===this.minWidth)&&(e.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(e.minHeight=this.minHeight),this.backdropClass&&(e.backdropClass=this.backdropClass),this.panelClass&&(e.panelClass=this.panelClass),e}_updatePositionStrategy(t){const e=this.positions.map(t=>({originX:t.originX,originY:t.originY,overlayX:t.overlayX,overlayY:t.overlayY,offsetX:t.offsetX||this.offsetX,offsetY:t.offsetY||this.offsetY,panelClass:t.panelClass||void 0}));return t.setOrigin(this.origin.elementRef).withPositions(e).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const t=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(t),t}_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(t=>{this.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(af(()=>this.positionChange.observers.length>0)).subscribe(t=>{this.positionChange.emit(t),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(ac),ea(pc),ea(Uf),ea(Fp,8))},t.\u0275dir=se({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[ye]}),t})();const Gf={provide:Uf,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};let Wf=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Vf,Gf],imports:[[Bp,ef,Gp],Gp]}),t})();const qf={schedule(t,e){const n=setTimeout(t,e);return()=>clearTimeout(n)},scheduleBeforeRender(t){if("undefined"==typeof window)return qf.schedule(t,0);if(void 0===window.requestAnimationFrame)return qf.schedule(t,16);const e=window.requestAnimationFrame(t);return()=>window.cancelAnimationFrame(e)}};let Xf;function Yf(t,e,n){let i=n;return function(t){return!!t&&t.nodeType===Node.ELEMENT_NODE}(t)&&e.some((e,n)=>!("*"===e||!function(t,e){if(!Xf){const t=Element.prototype;Xf=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return t.nodeType===Node.ELEMENT_NODE&&Xf.call(t,e)}(t,e)||(i=n,0))),i}class Kf{constructor(t,e){this.componentFactory=e.get(Ol).resolveComponentFactory(t)}create(t){return new Qf(this.componentFactory,t)}}class Qf{constructor(t,e){this.componentFactory=t,this.injector=e,this.eventEmitters=new _p(1),this.events=this.eventEmitters.pipe(cp(t=>Q(...t))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:t})=>t)),this.ngZone=this.injector.get(Tu),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(t){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(t)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=qf.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(t){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(t):this.componentRef.instance[t])}setInputValue(t,e){this.runInZone(()=>{null!==this.componentRef?function(t,e){return t===e||t!=t&&e!=e}(e,this.getInputValue(t))&&(void 0!==e||!this.unchangedInputs.has(t))||(this.recordInputChange(t,e),this.unchangedInputs.delete(t),this.hasInputChanges=!0,this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e)})}initializeComponent(t){const e=No.create({providers:[],parent:this.injector}),n=function(t,e){const n=t.childNodes,i=e.map(()=>[]);let r=-1;e.some((t,e)=>"*"===t&&(r=e,!0));for(let s=0,o=n.length;s{this.initialInputValues.has(t)&&this.setInputValue(t,this.initialInputValues.get(t))}),this.initialInputValues.clear()}initializeOutputs(t){const e=this.componentFactory.outputs.map(({propName:e,templateName:n})=>t.instance[e].pipe(D(t=>({name:n,value:t}))));this.eventEmitters.next(e)}callNgOnChanges(t){if(!this.implementsOnChanges||null===this.inputChanges)return;const e=this.inputChanges;this.inputChanges=null,t.instance.ngOnChanges(e)}markViewForCheck(t){this.hasInputChanges&&(this.hasInputChanges=!1,t.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=qf.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const n=this.inputChanges[t];if(n)return void(n.currentValue=e);const i=this.unchangedInputs.has(t),r=i?void 0:this.getInputValue(t);this.inputChanges[t]=new be(r,e,i)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(t){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(t):t()}}class Zf extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class Jf extends A{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new T;return this._value}next(t){super.next(this._value=t)}}function tg(){}function eg(t,e,n){return function(i){return i.lift(new ng(t,e,n))}}class ng{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new ig(t,this.nextOrObserver,this.error,this.complete))}}class ig extends v{constructor(t,e,n,i){super(t),this._tapNext=tg,this._tapError=tg,this._tapComplete=tg,this._tapError=n||tg,this._tapComplete=i||tg,a(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||tg,this._tapError=e.error||tg,this._tapComplete=e.complete||tg)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}function rg(t,e=Yd){return n=>n.lift(new sg(t,e))}class sg{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new og(t,this.dueTime,this.scheduler))}}class og extends v{constructor(t,e,n){super(t),this.dueTime=e,this.scheduler=n,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(ag,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function ag(t){t.debouncedNext()}function lg(t){return e=>e.lift(new cg(t))}class cg{constructor(t){this.total=t}call(t,e){return e.subscribe(new ug(t,this.total))}}class ug extends v{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){++this.count>this.total&&this.destination.next(t)}}let hg=(()=>{class t{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),dg=(()=>{class t{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,e)=>this._cleanupObserver(e))}observe(t){const e=Id(t);return new E(t=>{const n=this._observeElement(e).subscribe(t);return()=>{n.unsubscribe(),this._unobserveElement(e)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const e=new A,n=this._mutationObserverFactory.create(t=>e.next(t));n&&n.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:n,stream:e,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:e,stream:n}=this._observedElements.get(t);e&&e.disconnect(),n.complete(),this._observedElements.delete(t)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hg))},t.\u0275prov=xt({factory:function(){return new t(Ei(hg))},token:t,providedIn:"root"}),t})(),pg=(()=>{class t{constructor(t,e,n){this._contentObserver=t,this._elementRef=e,this._ngZone=n,this.event=new Bc,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=Pd(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(rg(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(dg),ea(Al),ea(Tu))},t.\u0275dir=se({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),t})(),fg=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[hg]}),t})();function gg(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}const mg="cdk-describedby-message-container",bg="cdk-describedby-message",yg="cdk-describedby-host";let vg=0;const _g=new Map;let wg=null,xg=(()=>{class t{constructor(t){this._document=t}describe(t,e,n){if(!this._canBeDescribed(t,e))return;const i=Sg(e,n);"string"!=typeof e?(Cg(e),_g.set(i,{messageElement:e,referenceCount:0})):_g.has(i)||this._createMessageElement(e,n),this._isElementDescribedByMessage(t,i)||this._addMessageReference(t,i)}removeDescription(t,e,n){if(!e||!this._isElementNode(t))return;const i=Sg(e,n);if(this._isElementDescribedByMessage(t,i)&&this._removeMessageReference(t,i),"string"==typeof e){const t=_g.get(i);t&&0===t.referenceCount&&this._deleteMessageElement(i)}wg&&0===wg.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${yg}]`);for(let e=0;e0!=t.indexOf(bg));t.setAttribute("aria-describedby",e.join(" "))}_addMessageReference(t,e){const n=_g.get(e);(function(t,e,n){const i=gg(t,e);i.some(t=>t.trim()==n.trim())||(i.push(n.trim()),t.setAttribute(e,i.join(" ")))})(t,"aria-describedby",n.messageElement.id),t.setAttribute(yg,""),n.referenceCount++}_removeMessageReference(t,e){const n=_g.get(e);n.referenceCount--,function(t,e,n){const i=gg(t,e).filter(t=>t!=n.trim());i.length?t.setAttribute(e,i.join(" ")):t.removeAttribute(e)}(t,"aria-describedby",n.messageElement.id),t.removeAttribute(yg)}_isElementDescribedByMessage(t,e){const n=gg(t,"aria-describedby"),i=_g.get(e),r=i&&i.messageElement.id;return!!r&&-1!=n.indexOf(r)}_canBeDescribed(t,e){if(!this._isElementNode(t))return!1;if(e&&"object"==typeof e)return!0;const n=null==e?"":`${e}`.trim(),i=t.getAttribute("aria-label");return!(!n||i&&i.trim()===n)}_isElementNode(t){return t.nodeType===this._document.ELEMENT_NODE}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})();function Sg(t,e){return"string"==typeof t?`${e||""}/${t}`:t}function Cg(t){t.id||(t.id=`${bg}-${vg++}`)}class Eg extends class{constructor(t){this._items=t,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new A,this._typeaheadSubscription=g.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=t=>t.disabled,this._pressedLetters=[],this.tabOut=new A,this.change=new A,t instanceof zc&&t.changes.subscribe(t=>{if(this._activeItem){const e=t.toArray().indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}})}skipPredicate(t){return this._skipPredicateFn=t,this}withWrap(t=!0){return this._wrap=t,this}withVerticalOrientation(t=!0){return this._vertical=t,this}withHorizontalOrientation(t){return this._horizontal=t,this}withAllowedModifierKeys(t){return this._allowedModifierKeys=t,this}withTypeAhead(t=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(eg(t=>this._pressedLetters.push(t)),rg(t),ep(()=>this._pressedLetters.length>0),D(()=>this._pressedLetters.join(""))).subscribe(t=>{const e=this._getItemsArray();for(let n=1;n!t[e]||this._allowedModifierKeys.indexOf(e)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&n){this.setNextItemActive();break}return;case 38:if(this._vertical&&n){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&n){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&n){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&n){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&n){this.setLastItemActive();break}return;default:return void((n||uf(t,"shiftKey"))&&(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(e>=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],t.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._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(t){const e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t),i=e[n];this._activeItem=null==i?null:i,this._activeItemIndex=n}_setActiveItemByDelta(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}_setActiveInWrapMode(t){const e=this._getItemsArray();for(let n=1;n<=e.length;n++){const i=(this._activeItemIndex+t*n+e.length)%e.length;if(!this._skipPredicateFn(e[i]))return void this.setActiveItem(i)}}_setActiveInDefaultMode(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}_setActiveItemByIndex(t,e){const n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}}_getItemsArray(){return this._items instanceof zc?this._items.toArray():this._items}}{setActiveItem(t){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(t),this.activeItem&&this.activeItem.setActiveStyles()}}let Og=(()=>{class t{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const e=function(t){try{return t.frameElement}catch(e){return null}}(function(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}(t));if(e&&(-1===kg(e)||!this.isVisible(e)))return!1;let n=t.nodeName.toLowerCase(),i=kg(t);return t.hasAttribute("contenteditable")?-1!==i:!("iframe"===n||"object"===n||this._platform.WEBKIT&&this._platform.IOS&&!function(t){let e=t.nodeName.toLowerCase(),n="input"===e&&t.type;return"text"===n||"password"===n||"select"===e||"textarea"===e}(t))&&("audio"===n?!!t.hasAttribute("controls")&&-1!==i:"video"===n?-1!==i&&(null!==i||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,e){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){let e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||Tg(t))}(t)&&!this.isDisabled(t)&&((null==e?void 0:e.ignoreVisibility)||this.isVisible(t))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep))},token:t,providedIn:"root"}),t})();function Tg(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function kg(t){if(!Tg(t))return null;const e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class Pg{constructor(t,e,n,i,r=!1){this._element=t,this._checker=e,this._ngZone=n,this._document=i,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,r||this.attachAnchors()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}destroy(){const t=this._startAnchor,e=this._endAnchor;t&&(t.removeEventListener("focus",this.startAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),e&&(e.removeEventListener("focus",this.endAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(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(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(t)))})}focusFirstTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(t)))})}focusLastTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(t)))})}_getRegionBoundary(t){let e=this._element.querySelectorAll(`[cdk-focus-region-${t}], [cdkFocusRegion${t}], [cdk-focus-${t}]`);for(let n=0;n=0;n--){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(t)return t}return null}_createAnchor(){const t=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,t),t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t.setAttribute("aria-hidden","true"),t}_toggleAnchorTabIndex(t,e){t?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(t){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}_executeOnStable(t){this._ngZone.isStable?t():this._ngZone.onStable.pipe(rf(1)).subscribe(t)}}let Ag=(()=>{class t{constructor(t,e,n){this._checker=t,this._ngZone=e,this._document=n}create(t,e=!1){return new Pg(t,this._checker,this._ngZone,this._document,e)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Og),Ei(Tu),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Og),Ei(Tu),Ei(th))},token:t,providedIn:"root"}),t})();function Mg(t){return 0===t.offsetX&&0===t.offsetY}function Ig(t){const e=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const Dg=new oi("cdk-input-modality-detector-options"),Rg={ignoreKeys:[18,17,224,91,16]},Ng=Ip({passive:!0,capture:!0});let Lg=(()=>{class t{constructor(t,e,n,i){this._platform=t,this._mostRecentTarget=null,this._modality=new Jf(null),this._lastTouchMs=0,this._onKeydown=t=>{var e,n;(null===(n=null===(e=this._options)||void 0===e?void 0:e.ignoreKeys)||void 0===n?void 0:n.some(e=>e===t.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Lp(t))},this._onMousedown=t=>{Date.now()-this._lastTouchMs<650||(this._modality.next(Mg(t)?"keyboard":"mouse"),this._mostRecentTarget=Lp(t))},this._onTouchstart=t=>{Ig(t)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Lp(t))},this._options=Object.assign(Object.assign({},Rg),i),this.modalityDetected=this._modality.pipe(lg(1)),this.modalityChanged=this.modalityDetected.pipe(Wd()),t.isBrowser&&e.runOutsideAngular(()=>{n.addEventListener("keydown",this._onKeydown,Ng),n.addEventListener("mousedown",this._onMousedown,Ng),n.addEventListener("touchstart",this._onTouchstart,Ng)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,Ng),document.removeEventListener("mousedown",this._onMousedown,Ng),document.removeEventListener("touchstart",this._onTouchstart,Ng))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu),Ei(th),Ei(Dg,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu),Ei(th),Ei(Dg,8))},token:t,providedIn:"root"}),t})();const jg=new oi("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),Fg=new oi("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let Bg=(()=>{class t{constructor(t,e,n,i){this._ngZone=e,this._defaultOptions=i,this._document=n,this._liveElement=t||this._createLiveElement()}announce(t,...e){const n=this._defaultOptions;let i,r;return 1===e.length&&"number"==typeof e[0]?r=e[0]:[i,r]=e,this.clear(),clearTimeout(this._previousTimeout),i||(i=n&&n.politeness?n.politeness:"polite"),null==r&&n&&(r=n.duration),this._liveElement.setAttribute("aria-live",i),this._ngZone.runOutsideAngular(()=>new Promise(e=>{clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=t,e(),"number"==typeof r&&(this._previousTimeout=setTimeout(()=>this.clear(),r))},100)}))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement&&this._liveElement.parentNode&&(this._liveElement.parentNode.removeChild(this._liveElement),this._liveElement=null)}_createLiveElement(){const t="cdk-live-announcer-element",e=this._document.getElementsByClassName(t),n=this._document.createElement("div");for(let i=0;i{class t{constructor(t,e,n,i,r){this._ngZone=t,this._platform=e,this._inputModalityDetector=n,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=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new A,this._rootNodeFocusAndBlurListener=t=>{const e=Lp(t),n="focus"===t.type?this._onFocus:this._onBlur;for(let i=e;i;i=i.parentElement)n.call(this,t,i)},this._document=i,this._detectionMode=(null==r?void 0:r.detectionMode)||0}monitor(t,e=!1){const n=Id(t);if(!this._platform.isBrowser||1!==n.nodeType)return Dd(null);const i=Rp(n)||this._getDocument(),r=this._elementInfo.get(n);if(r)return e&&(r.checkChildren=!0),r.subject;const s={checkChildren:e,subject:new A,rootNode:i};return this._elementInfo.set(n,s),this._registerGlobalListeners(s),s.subject}stopMonitoring(t){const e=Id(t),n=this._elementInfo.get(e);n&&(n.subject.complete(),this._setClasses(e),this._elementInfo.delete(e),this._removeGlobalListeners(n))}focusVia(t,e,n){const i=Id(t);i===this._getDocument().activeElement?this._getClosestElementsInfo(i).forEach(([t,n])=>this._originChanged(t,e,n)):(this._setOrigin(e),"function"==typeof i.focus&&i.focus(n))}ngOnDestroy(){this._elementInfo.forEach((t,e)=>this.stopMonitoring(e))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,e,n){n?t.classList.add(e):t.classList.remove(e)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,e){this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e)}_setOrigin(t,e=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&e,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,e){const n=this._elementInfo.get(e),i=Lp(t);!n||!n.checkChildren&&e!==i||this._originChanged(e,this._getFocusOrigin(i),n)}_onBlur(t,e){const n=this._elementInfo.get(e);!n||n.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),this._emitOrigin(n.subject,null))}_emitOrigin(t,e){this._ngZone.run(()=>t.next(e))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const e=t.rootNode,n=this._rootNodeFocusListenerCount.get(e)||0;n||this._ngZone.runOutsideAngular(()=>{e.addEventListener("focus",this._rootNodeFocusAndBlurListener,zg),e.addEventListener("blur",this._rootNodeFocusAndBlurListener,zg)}),this._rootNodeFocusListenerCount.set(e,n+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(rp(this._stopInputModalityDetector)).subscribe(t=>{this._setOrigin(t,!0)}))}_removeGlobalListeners(t){const e=t.rootNode;if(this._rootNodeFocusListenerCount.has(e)){const t=this._rootNodeFocusListenerCount.get(e);t>1?this._rootNodeFocusListenerCount.set(e,t-1):(e.removeEventListener("focus",this._rootNodeFocusAndBlurListener,zg),e.removeEventListener("blur",this._rootNodeFocusAndBlurListener,zg),this._rootNodeFocusListenerCount.delete(e))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,e,n){this._setClasses(t,e),this._emitOrigin(n.subject,e),this._lastFocusOrigin=e}_getClosestElementsInfo(t){const e=[];return this._elementInfo.forEach((n,i)=>{(i===t||n.checkChildren&&i.contains(t))&&e.push([i,n])}),e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(Ep),Ei(Lg),Ei(th,8),Ei(Vg,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Tu),Ei(Ep),Ei(Lg),Ei(th,8),Ei(Vg,8))},token:t,providedIn:"root"}),t})();const Hg="cdk-high-contrast-black-on-white",$g="cdk-high-contrast-white-on-black",Gg="cdk-high-contrast-active";let Wg=(()=>{class t{constructor(t,e){this._platform=t,this._document=e}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const e=this._document.defaultView||window,n=e&&e.getComputedStyle?e.getComputedStyle(t):null,i=(n&&n.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),i){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(Gg),t.remove(Hg),t.remove($g),this._hasCheckedHighContrastMode=!0;const e=this.getHighContrastMode();1===e?(t.add(Gg),t.add(Hg)):2===e&&(t.add(Gg),t.add($g))}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(th))},token:t,providedIn:"root"}),t})(),qg=(()=>{class t{constructor(t){t._applyBodyHighContrastModeCssClasses()}}return t.\u0275fac=function(e){return new(e||t)(Ei(Wg))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Op,fg]]}),t})();const Xg=new Ll("12.2.5");class Yg{}const Kg="*";function Qg(t,e){return{type:7,name:t,definitions:e,options:{}}}function Zg(t,e=null){return{type:4,styles:e,timings:t}}function Jg(t,e=null){return{type:2,steps:t,options:e}}function tm(t){return{type:6,styles:t,offset:null}}function em(t,e,n){return{type:0,name:t,styles:e,options:n}}function nm(t){return{type:5,steps:t}}function im(t,e,n=null){return{type:1,expr:t,animation:e,options:n}}function rm(t=null){return{type:9,options:t}}function sm(t,e,n=null){return{type:11,selector:t,animation:e,options:n}}function om(t){Promise.resolve(null).then(t)}class am{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){om(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(t){this._position=this.totalTime?t*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class lm{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,n=0,i=0;const r=this.players.length;0==r?om(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==r&&this._onFinish()}),t.onDestroy(()=>{++n==r&&this._onDestroy()}),t.onStart(()=>{++i==r&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})}getPosition(){const t=this.players.reduce((t,e)=>null===t||e.totalTime>t.totalTime?e:t,null);return null!=t?t.getPosition():0}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}function cm(){return"undefined"!=typeof window&&void 0!==window.document}function um(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function hm(t){switch(t.length){case 0:return new am;case 1:return t[0];default:return new lm(t)}}function dm(t,e,n,i,r={},s={}){const o=[],a=[];let l=-1,c=null;if(i.forEach(t=>{const n=t.offset,i=n==l,u=i&&c||{};Object.keys(t).forEach(n=>{let i=n,a=t[n];if("offset"!==n)switch(i=e.normalizePropertyName(i,o),a){case"!":a=r[n];break;case Kg:a=s[n];break;default:a=e.normalizeStyleValue(n,i,a,o)}u[i]=a}),i||a.push(u),c=u,l=n}),o.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${o.join(t)}`)}return a}function pm(t,e,n,i){switch(e){case"start":t.onStart(()=>i(n&&fm(n,"start",t)));break;case"done":t.onDone(()=>i(n&&fm(n,"done",t)));break;case"destroy":t.onDestroy(()=>i(n&&fm(n,"destroy",t)))}}function fm(t,e,n){const i=n.totalTime,r=gm(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==i?t.totalTime:i,!!n.disabled),s=t._data;return null!=s&&(r._data=s),r}function gm(t,e,n,i,r="",s=0,o){return{element:t,triggerName:e,fromState:n,toState:i,phaseName:r,totalTime:s,disabled:!!o}}function mm(t,e,n){let i;return t instanceof Map?(i=t.get(e),i||t.set(e,i=n)):(i=t[e],i||(i=t[e]=n)),i}function bm(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let ym=(t,e)=>!1,vm=(t,e)=>!1,_m=(t,e,n)=>[];const wm=um();(wm||"undefined"!=typeof Element)&&(ym=cm()?(t,e)=>{for(;e&&e!==document.documentElement;){if(e===t)return!0;e=e.parentNode||e.host}return!1}:(t,e)=>t.contains(e),vm=(()=>{if(wm||Element.prototype.matches)return(t,e)=>t.matches(e);{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?(t,n)=>e.apply(t,[n]):vm}})(),_m=(t,e,n)=>{let i=[];if(n){const n=t.querySelectorAll(e);for(let t=0;t{const i=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=t[n]}),e}let Pm=(()=>{class t{validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return n||""}animate(t,e,n,i,r,s=[],o){return new am(n,i)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Am{}Am.NOOP=new Pm;const Mm="ng-enter",Im="ng-leave",Dm="ng-trigger",Rm=".ng-trigger",Nm="ng-animating",Lm=".ng-animating";function jm(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Fm(parseFloat(e[1]),e[2])}function Fm(t,e){switch(e){case"s":return 1e3*t;default:return t}}function Bm(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){let i,r=0,s="";if("string"==typeof t){const n=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===n)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};i=Fm(parseFloat(n[1]),n[2]);const o=n[3];null!=o&&(r=Fm(parseFloat(o),n[4]));const a=n[5];a&&(s=a)}else i=t;if(!n){let n=!1,s=e.length;i<0&&(e.push("Duration values below 0 are not allowed for this animation step."),n=!0),r<0&&(e.push("Delay values below 0 are not allowed for this animation step."),n=!0),n&&e.splice(s,0,`The provided timing value "${t}" is invalid.`)}return{duration:i,delay:r,easing:s}}(t,e,n)}function Vm(t,e={}){return Object.keys(t).forEach(n=>{e[n]=t[n]}),e}function zm(t,e,n={}){if(e)for(let i in t)n[i]=t[i];else Vm(t,n);return n}function Um(t,e,n){return n?e+":"+n+";":""}function Hm(t){let e="";for(let n=0;n{const r=Zm(i);n&&!n.hasOwnProperty(i)&&(n[i]=t.style[r]),t.style[r]=e[i]}),um()&&Hm(t))}function Gm(t,e){t.style&&(Object.keys(e).forEach(e=>{const n=Zm(e);t.style[n]=""}),um()&&Hm(t))}function Wm(t){return Array.isArray(t)?1==t.length?t[0]:Jg(t):t}const qm=new RegExp("{{\\s*(.+?)\\s*}}","g");function Xm(t){let e=[];if("string"==typeof t){let n;for(;n=qm.exec(t);)e.push(n[1]);qm.lastIndex=0}return e}function Ym(t,e,n){const i=t.toString(),r=i.replace(qm,(t,i)=>{let r=e[i];return e.hasOwnProperty(i)||(n.push(`Please provide a value for the animation param ${i}`),r=""),r.toString()});return r==i?t:r}function Km(t){const e=[];let n=t.next();for(;!n.done;)e.push(n.value),n=t.next();return e}const Qm=/-+([a-z0-9])/g;function Zm(t){return t.replace(Qm,(...t)=>t[1].toUpperCase())}function Jm(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function tb(t,e){return 0===t||0===e}function eb(t,e,n){const i=Object.keys(n);if(i.length&&e.length){let s=e[0],o=[];if(i.forEach(t=>{s.hasOwnProperty(t)||o.push(t),s[t]=n[t]}),o.length)for(var r=1;rfunction(t,e,n){if(":"==t[0]){const i=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e) *"}}(t,n);if("function"==typeof i)return void e.push(i);t=i}const i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push(`The provided transition expression "${t}" is not supported`),e;const r=i[1],s=i[2],o=i[3];e.push(ab(r,o));"<"==s[0]&&!("*"==r&&"*"==o)&&e.push(ab(o,r))}(t,n,e)):n.push(t),n}const sb=new Set(["true","1"]),ob=new Set(["false","0"]);function ab(t,e){const n=sb.has(t)||ob.has(t),i=sb.has(e)||ob.has(e);return(r,s)=>{let o="*"==t||t==r,a="*"==e||e==s;return!o&&n&&"boolean"==typeof r&&(o=r?sb.has(t):ob.has(t)),!a&&i&&"boolean"==typeof s&&(a=s?sb.has(e):ob.has(e)),o&&a}}const lb=new RegExp("s*:selfs*,?","g");function cb(t,e,n){return new ub(t).build(e,n)}class ub{constructor(t){this._driver=t}build(t,e){const n=new hb(e);return this._resetContextStyleTimingState(n),nb(this,Wm(t),n)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles={},t.collectedStyles[""]={},t.currentTime=0}visitTrigger(t,e){let n=e.queryCount=0,i=e.depCount=0;const r=[],s=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const n=t,i=n.name;i.toString().split(/\s*,\s*/).forEach(t=>{n.name=t,r.push(this.visitState(n,e))}),n.name=i}else if(1==t.type){const r=this.visitTransition(t,e);n+=r.queryCount,i+=r.depCount,s.push(r)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:r,transitions:s,queryCount:n,depCount:i,options:null}}visitState(t,e){const n=this.visitStyle(t.styles,e),i=t.options&&t.options.params||null;if(n.containsDynamicStyles){const r=new Set,s=i||{};if(n.styles.forEach(t=>{if(db(t)){const e=t;Object.keys(e).forEach(t=>{Xm(e[t]).forEach(t=>{s.hasOwnProperty(t)||r.add(t)})})}}),r.size){const n=Km(r.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${n.join(", ")}`)}}return{type:0,name:t.name,style:n,options:i?{params:i}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const n=nb(this,Wm(t.animation),e);return{type:1,matchers:rb(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:pb(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>nb(this,t,e)),options:pb(t.options)}}visitGroup(t,e){const n=e.currentTime;let i=0;const r=t.steps.map(t=>{e.currentTime=n;const r=nb(this,t,e);return i=Math.max(i,e.currentTime),r});return e.currentTime=i,{type:3,steps:r,options:pb(t.options)}}visitAnimate(t,e){const n=function(t,e){let n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return fb(Bm(t,e).duration,0,"");const i=t;if(i.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=fb(0,0,"");return t.dynamic=!0,t.strValue=i,t}return n=n||Bm(i,e),fb(n.duration,n.delay,n.easing)}(t.timings,e.errors);e.currentAnimateTimings=n;let i,r=t.styles?t.styles:tm({});if(5==r.type)i=this.visitKeyframes(r,e);else{let r=t.styles,s=!1;if(!r){s=!0;const t={};n.easing&&(t.easing=n.easing),r=tm(t)}e.currentTime+=n.duration+n.delay;const o=this.visitStyle(r,e);o.isEmptyStep=s,i=o}return e.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}visitStyle(t,e){const n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n}_makeStyleAst(t,e){const n=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==Kg?n.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):n.push(t)}):n.push(t.styles);let i=!1,r=null;return n.forEach(t=>{if(db(t)){const e=t,n=e.easing;if(n&&(r=n,delete e.easing),!i)for(let t in e)if(e[t].toString().indexOf("{{")>=0){i=!0;break}}}),{type:6,styles:n,easing:r,offset:t.offset,containsDynamicStyles:i,options:null}}_validateStyleAst(t,e){const n=e.currentAnimateTimings;let i=e.currentTime,r=e.currentTime;n&&r>0&&(r-=n.duration+n.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(n=>{if(!this._driver.validateStyleProperty(n))return void e.errors.push(`The provided animation property "${n}" is not a supported CSS property for animations`);const s=e.collectedStyles[e.currentQuerySelector],o=s[n];let a=!0;o&&(r!=i&&r>=o.startTime&&i<=o.endTime&&(e.errors.push(`The CSS property "${n}" that exists between the times of "${o.startTime}ms" and "${o.endTime}ms" is also being animated in a parallel animation between the times of "${r}ms" and "${i}ms"`),a=!1),r=o.startTime),a&&(s[n]={startTime:r,endTime:i}),e.options&&function(t,e,n){const i=e.params||{},r=Xm(t);r.length&&r.forEach(t=>{i.hasOwnProperty(t)||n.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(t[n],e.options,e.errors)})})}visitKeyframes(t,e){const n={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),n;let i=0;const r=[];let s=!1,o=!1,a=0;const l=t.steps.map(t=>{const n=this._makeStyleAst(t,e);let l=null!=n.offset?n.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if(db(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}});else if(db(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}return e}(n.styles),c=0;return null!=l&&(i++,c=n.offset=l),o=o||c<0||c>1,s=s||c0&&i{const s=u>0?i==h?1:u*i:r[i],o=s*f;e.currentTime=d+p.delay+o,p.duration=o,this._validateStyleAst(t,e),t.offset=s,n.styles.push(t)}),n}visitReference(t,e){return{type:8,animation:nb(this,Wm(t.animation),e),options:pb(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:pb(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:pb(t.options)}}visitQuery(t,e){const n=e.currentQuerySelector,i=t.options||{};e.queryCount++,e.currentQuery=t;const[r,s]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>":self"==t);return e&&(t=t.replace(lb,"")),[t=t.replace(/@\*/g,Rm).replace(/@\w+/g,t=>Rm+"-"+t.substr(1)).replace(/:animating/g,Lm),e]}(t.selector);e.currentQuerySelector=n.length?n+" "+r:r,mm(e.collectedStyles,e.currentQuerySelector,{});const o=nb(this,Wm(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:r,limit:i.limit||0,optional:!!i.optional,includeSelf:s,animation:o,originalSelector:t.selector,options:pb(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Bm(t.timings,e.errors,!0);return{type:12,animation:nb(this,Wm(t.animation),e),timings:n,options:null}}}class hb{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function db(t){return!Array.isArray(t)&&"object"==typeof t}function pb(t){return t?(t=Vm(t)).params&&(t.params=function(t){return t?Vm(t):null}(t.params)):t={},t}function fb(t,e,n){return{duration:t,delay:e,easing:n}}function gb(t,e,n,i,r,s,o=null,a=!1){return{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:i,duration:r,delay:s,totalTime:r+s,easing:o,subTimeline:a}}class mb{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let n=this._map.get(t);n||this._map.set(t,n=[]),n.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const bb=new RegExp(":enter","g"),yb=new RegExp(":leave","g");function vb(t,e,n,i,r,s={},o={},a,l,c=[]){return(new _b).buildKeyframes(t,e,n,i,r,s,o,a,l,c)}class _b{buildKeyframes(t,e,n,i,r,s,o,a,l,c=[]){l=l||new mb;const u=new xb(t,e,l,i,r,c,[]);u.options=a,u.currentTimeline.setStyles([s],null,u.errors,a),nb(this,n,u);const h=u.timelines.filter(t=>t.containsAnimation());if(h.length&&Object.keys(o).length){const t=h[h.length-1];t.allowOnlyTimelineStyles()||t.setStyles([o],null,u.errors,a)}return h.length?h.map(t=>t.buildKeyframes()):[gb(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const n=e.subInstructions.consume(e.element);if(n){const i=e.createSubContext(t.options),r=e.currentTimeline.currentTime,s=this._visitSubInstructions(n,i,i.options);r!=s&&e.transformIntoNewTimeline(s)}e.previousNode=t}visitAnimateRef(t,e){const n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,n){let i=e.currentTimeline.currentTime;const r=null!=n.duration?jm(n.duration):null,s=null!=n.delay?jm(n.delay):null;return 0!==r&&t.forEach(t=>{const n=e.appendInstructionToTimeline(t,r,s);i=Math.max(i,n.duration+n.delay)}),i}visitReference(t,e){e.updateOptions(t.options,!0),nb(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const n=e.subContextCount;let i=e;const r=t.options;if(r&&(r.params||r.delay)&&(i=e.createSubContext(r),i.transformIntoNewTimeline(),null!=r.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=wb);const t=jm(r.delay);i.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>nb(this,t,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>n&&i.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const n=[];let i=e.currentTimeline.currentTime;const r=t.options&&t.options.delay?jm(t.options.delay):0;t.steps.forEach(s=>{const o=e.createSubContext(t.options);r&&o.delayNextStep(r),nb(this,s,o),i=Math.max(i,o.currentTimeline.currentTime),n.push(o.currentTimeline)}),n.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(i),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const n=t.strValue;return Bm(e.params?Ym(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const n=e.currentAnimateTimings=this._visitTiming(t.timings,e),i=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),i.snapshotCurrentStyles());const r=t.style;5==r.type?this.visitKeyframes(r,e):(e.incrementTime(n.duration),this.visitStyle(r,e),i.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const n=e.currentTimeline,i=e.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();const r=i&&i.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(r):n.setStyles(t.styles,r,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const n=e.currentAnimateTimings,i=e.currentTimeline.duration,r=n.duration,s=e.createSubContext().currentTimeline;s.easing=n.easing,t.styles.forEach(t=>{s.forwardTime((t.offset||0)*r),s.setStyles(t.styles,t.easing,e.errors,e.options),s.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(s),e.transformIntoNewTimeline(i+r),e.previousNode=t}visitQuery(t,e){const n=e.currentTimeline.currentTime,i=t.options||{},r=i.delay?jm(i.delay):0;r&&(6===e.previousNode.type||0==n&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=wb);let s=n;const o=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=o.length;let a=null;o.forEach((n,i)=>{e.currentQueryIndex=i;const o=e.createSubContext(t.options,n);r&&o.delayNextStep(r),n===e.element&&(a=o.currentTimeline),nb(this,t.animation,o),o.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,o.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),a&&(e.currentTimeline.mergeTimelineCollectedStyles(a),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const n=e.parentContext,i=e.currentTimeline,r=t.timings,s=Math.abs(r.duration),o=s*(e.currentQueryTotal-1);let a=s*e.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":a=o-a;break;case"full":a=n.currentStaggerTime}const l=e.currentTimeline;a&&l.delayNextStep(a);const c=l.currentTime;nb(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=i.currentTime-c+(i.startTime-n.currentTimeline.startTime)}}const wb={};class xb{constructor(t,e,n,i,r,s,o,a){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=i,this._leaveClassName=r,this.errors=s,this.timelines=o,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=wb,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new Sb(this._driver,e,0),o.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const n=t;let i=this.options;null!=n.duration&&(i.duration=jm(n.duration)),null!=n.delay&&(i.delay=jm(n.delay));const r=n.params;if(r){let t=i.params;t||(t=this.options.params={}),Object.keys(r).forEach(n=>{(!e||!t.hasOwnProperty(n))&&(t[n]=Ym(r[n],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const n=t.params={};Object.keys(e).forEach(t=>{n[t]=e[t]})}}return t}createSubContext(t=null,e,n){const i=e||this.element,r=new xb(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,n||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(t),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(t){return this.previousNode=wb,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,n){const i={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},r=new Cb(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,i,t.stretchStartingKeyframe);return this.timelines.push(r),i}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,n,i,r,s){let o=[];if(i&&o.push(this.element),t.length>0){t=(t=t.replace(bb,"."+this._enterClassName)).replace(yb,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=n);0!==n&&(e=n<0?e.slice(e.length+n,e.length):e.slice(0,n)),o.push(...e)}return!r&&0==o.length&&s.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),o}}class Sb{constructor(t,e,n,i){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=i,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new Sb(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||Kg,this._currentKeyframe[t]=Kg}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,n,i){e&&(this._previousKeyframe.easing=e);const r=i&&i.params||{},s=function(t,e){const n={};let i;return t.forEach(t=>{"*"===t?(i=i||Object.keys(e),i.forEach(t=>{n[t]=Kg})):zm(t,!1,n)}),n}(t,this._globalTimelineStyles);Object.keys(s).forEach(t=>{const e=Ym(s[t],r,n);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:Kg),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const n=this._styleSummary[e],i=t._styleSummary[e];(!n||i.time>n.time)&&this._updateStyle(e,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,n=1===this._keyframes.size&&0===this.duration;let i=[];this._keyframes.forEach((r,s)=>{const o=zm(r,!0);Object.keys(o).forEach(n=>{const i=o[n];"!"==i?t.add(n):i==Kg&&e.add(n)}),n||(o.offset=s/this.duration),i.push(o)});const r=t.size?Km(t.values()):[],s=e.size?Km(e.values()):[];if(n){const t=i[0],e=Vm(t);t.offset=0,e.offset=1,i=[t,e]}return gb(this.element,i,r,s,this.duration,this.startTime,this.easing,!1)}}class Cb extends Sb{constructor(t,e,n,i,r,s,o=!1){super(t,e,s.delay),this.keyframes=n,this.preStyleProps=i,this.postStyleProps=r,this._stretchStartingKeyframe=o,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:n,easing:i}=this.timings;if(this._stretchStartingKeyframe&&e){const r=[],s=n+e,o=e/s,a=zm(t[0],!1);a.offset=0,r.push(a);const l=zm(t[0],!1);l.offset=Eb(o),r.push(l);const c=t.length-1;for(let i=1;i<=c;i++){let o=zm(t[i],!1);o.offset=Eb((e+o.offset*n)/s),r.push(o)}n=s,e=0,i="",t=r}return gb(this.element,t,this.preStyleProps,this.postStyleProps,n,e,i,!0)}}function Eb(t,e=3){const n=Math.pow(10,e-1);return Math.round(t*n)/n}class Ob{}class Tb extends Ob{normalizePropertyName(t,e){return Zm(t)}normalizeStyleValue(t,e,n,i){let r="";const s=n.toString().trim();if(kb[e]&&0!==n&&"0"!==n)if("number"==typeof n)r="px";else{const e=n.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&i.push(`Please provide a CSS unit value for ${t}:${n}`)}return s+r}}const kb=(()=>function(t){const e={};return t.forEach(t=>e[t]=!0),e}("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".split(",")))();function Pb(t,e,n,i,r,s,o,a,l,c,u,h,d){return{type:0,element:t,triggerName:e,isRemovalTransition:r,fromState:n,fromStyles:s,toState:i,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:h,errors:d}}const Ab={};class Mb{constructor(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}match(t,e,n,i){return function(t,e,n,i,r){return t.some(t=>t(e,n,i,r))}(this.ast.matchers,t,e,n,i)}buildStyles(t,e,n){const i=this._stateStyles["*"],r=this._stateStyles[t],s=i?i.buildStyles(e,n):{};return r?r.buildStyles(e,n):s}build(t,e,n,i,r,s,o,a,l,c){const u=[],h=this.ast.options&&this.ast.options.params||Ab,d=this.buildStyles(n,o&&o.params||Ab,u),p=a&&a.params||Ab,f=this.buildStyles(i,p,u),g=new Set,m=new Map,b=new Map,y="void"===i,v={params:Object.assign(Object.assign({},h),p)},_=c?[]:vb(t,e,this.ast.animation,r,s,d,f,v,l,u);let w=0;if(_.forEach(t=>{w=Math.max(t.duration+t.delay,w)}),u.length)return Pb(e,this._triggerName,n,i,y,d,f,[],[],m,b,w,u);_.forEach(t=>{const n=t.element,i=mm(m,n,{});t.preStyleProps.forEach(t=>i[t]=!0);const r=mm(b,n,{});t.postStyleProps.forEach(t=>r[t]=!0),n!==e&&g.add(n)});const x=Km(g.values());return Pb(e,this._triggerName,n,i,y,d,f,_,x,m,b,w)}}class Ib{constructor(t,e,n){this.styles=t,this.defaultParams=e,this.normalizer=n}buildStyles(t,e){const n={},i=Vm(this.defaultParams);return Object.keys(t).forEach(e=>{const n=t[e];null!=n&&(i[e]=n)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const r=t;Object.keys(r).forEach(t=>{let s=r[t];s.length>1&&(s=Ym(s,i,e));const o=this.normalizer.normalizePropertyName(t,e);s=this.normalizer.normalizeStyleValue(t,o,s,e),n[o]=s})}}),n}}class Db{constructor(t,e,n){this.name=t,this.ast=e,this._normalizer=n,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new Ib(t.style,t.options&&t.options.params||{},n)}),Rb(this.states,"true","1"),Rb(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new Mb(t,e,this.states))}),this.fallbackTransition=function(t,e,n){return new Mb(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},e)}(t,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,n,i){return this.transitionFactories.find(r=>r.match(t,e,n,i))||null}matchStyles(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)}}function Rb(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}const Nb=new mb;class Lb{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}register(t,e){const n=[],i=cb(this._driver,e,n);if(n.length)throw new Error(`Unable to build the animation due to the following errors: ${n.join("\n")}`);this._animations[t]=i}_buildPlayer(t,e,n){const i=t.element,r=dm(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(i,r,t.duration,t.delay,t.easing,[],!0)}create(t,e,n={}){const i=[],r=this._animations[t];let s;const o=new Map;if(r?(s=vb(this._driver,e,r,Mm,Im,{},{},n,Nb,i),s.forEach(t=>{const e=mm(o,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)})):(i.push("The requested animation doesn't exist or has already been destroyed"),s=[]),i.length)throw new Error(`Unable to create the animation due to the following errors: ${i.join("\n")}`);o.forEach((t,e)=>{Object.keys(t).forEach(n=>{t[n]=this._driver.computeStyle(e,n,Kg)})});const a=hm(s.map(t=>{const e=o.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=a,a.onDestroy(()=>this.destroy(t)),this.players.push(a),a}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,n,i){const r=gm(e,"","","");return pm(this._getPlayer(t),n,r,i),()=>{}}command(t,e,n,i){if("register"==n)return void this.register(t,i[0]);if("create"==n)return void this.create(t,e,i[0]||{});const r=this._getPlayer(t);switch(n){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(t)}}}const jb="ng-animate-queued",Fb="ng-animate-disabled",Bb=".ng-animate-disabled",Vb=[],zb={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Ub={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Hb="__ng_removed";class $b{constructor(t,e=""){this.namespaceId=e;const n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){const e=Vm(t);delete e.value,this.options=e}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(n=>{null==t[n]&&(t[n]=e[n])})}}}const Gb="void",Wb=new $b(Gb);class qb{constructor(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,ey(e,this._hostClassName)}listen(t,e,n,i){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${n}" because the animation trigger "${e}" doesn't exist!`);if(null==n||0==n.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if(!function(t){return"start"==t||"done"==t}(n))throw new Error(`The provided animation trigger event "${n}" for the animation trigger "${e}" is not supported!`);const r=mm(this._elementListeners,t,[]),s={name:e,phase:n,callback:i};r.push(s);const o=mm(this._engine.statesByElement,t,{});return o.hasOwnProperty(e)||(ey(t,Dm),ey(t,Dm+"-"+e),o[e]=Wb),()=>{this._engine.afterFlush(()=>{const t=r.indexOf(s);t>=0&&r.splice(t,1),this._triggers[e]||delete o[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,n,i=!0){const r=this._getTrigger(e),s=new Yb(this.id,e,t);let o=this._engine.statesByElement.get(t);o||(ey(t,Dm),ey(t,Dm+"-"+e),this._engine.statesByElement.set(t,o={}));let a=o[e];const l=new $b(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&a&&l.absorbOptions(a.options),o[e]=l,a||(a=Wb),l.value!==Gb&&a.value===l.value){if(!function(t,e){const n=Object.keys(t),i=Object.keys(e);if(n.length!=i.length)return!1;for(let r=0;r{Gm(t,n),$m(t,i)})}return}const c=mm(this._engine.playersByElement,t,[]);c.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let u=r.matchTransition(a.value,l.value,t,l.params),h=!1;if(!u){if(!i)return;u=r.fallbackTransition,h=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:u,fromState:a,toState:l,player:s,isFallbackTransition:h}),h||(ey(t,jb),s.onStart(()=>{ny(t,jb)})),s.onDone(()=>{let e=this.players.indexOf(s);e>=0&&this.players.splice(e,1);const n=this._engine.playersByElement.get(t);if(n){let t=n.indexOf(s);t>=0&&n.splice(t,1)}}),this.players.push(s),c.push(s),s}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,n)=>{delete e[t]}),this._elementListeners.forEach((e,n)=>{this._elementListeners.set(n,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e){const n=this._engine.driver.query(t,Rm,!0);n.forEach(t=>{if(t[Hb])return;const n=this._engine.fetchNamespacesByElement(t);n.size?n.forEach(n=>n.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)}),this._engine.afterFlushAnimationsDone(()=>n.forEach(t=>this.clearElementCache(t)))}triggerLeaveAnimation(t,e,n,i){const r=this._engine.statesByElement.get(t);if(r){const s=[];if(Object.keys(r).forEach(e=>{if(this._triggers[e]){const n=this.trigger(t,e,Gb,i);n&&s.push(n)}}),s.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),n&&hm(s).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t),n=this._engine.statesByElement.get(t);if(e&&n){const i=new Set;e.forEach(e=>{const r=e.name;if(i.has(r))return;i.add(r);const s=this._triggers[r].fallbackTransition,o=n[r]||Wb,a=new $b(Gb),l=new Yb(this.id,r,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:r,transition:s,fromState:o,toState:a,player:l,isFallbackTransition:!0})})}}removeNode(t,e){const n=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e),this.triggerLeaveAnimation(t,e,!0))return;let i=!1;if(n.totalAnimations){const e=n.players.length?n.playersByQueriedElement.get(t):[];if(e&&e.length)i=!0;else{let e=t;for(;e=e.parentNode;)if(n.statesByElement.get(e)){i=!0;break}}}if(this.prepareLeaveAnimationListeners(t),i)n.markElementAsRemoved(this.id,t,!1,e);else{const i=t[Hb];(!i||i===zb)&&(n.afterFlush(()=>this.clearElementCache(t)),n.destroyInnerAnimations(t),n._onRemovalComplete(t,e))}}insertNode(t,e){ey(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(n=>{const i=n.player;if(i.destroyed)return;const r=n.element,s=this._elementListeners.get(r);s&&s.forEach(e=>{if(e.name==n.triggerName){const i=gm(r,n.triggerName,n.fromState.value,n.toState.value);i._data=t,pm(n.player,e.phase,i,e.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):e.push(n)}),this._queue=[],e.sort((t,e)=>{const n=t.transition.ast.depCount,i=e.transition.ast.depCount;return 0==n||0==i?n-i:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(e=>e.element===t)||e,e}}class Xb{constructor(t,e,n){this.bodyNode=t,this.driver=e,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=(t,e)=>{}}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const n=new qb(t,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(n,e):(this.newHostElements.set(e,n),this.collectEnterElement(e)),this._namespaceLookup[t]=n}_balanceNamespaceList(t,e){const n=this._namespaceList.length-1;if(n>=0){let i=!1;for(let r=n;r>=0;r--)if(this.driver.containsElement(this._namespaceList[r].hostElement,e)){this._namespaceList.splice(r+1,0,t),i=!0;break}i||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n}registerTrigger(t,e,n){let i=this._namespaceLookup[t];i&&i.register(e,n)&&this.totalAnimations++}destroy(t,e){if(!t)return;const n=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(n.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(n);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>n.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,n=this.statesByElement.get(t);if(n){const t=Object.keys(n);for(let i=0;i=0&&this.collectedLeaveElements.splice(t,1)}if(t){const i=this._fetchNamespace(t);i&&i.insertNode(e,n)}i&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),ey(t,Fb)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),ny(t,Fb))}removeNode(t,e,n,i){if(Kb(e)){const r=t?this._fetchNamespace(t):null;if(r?r.removeNode(e,i):this.markElementAsRemoved(t,e,!1,i),n){const n=this.namespacesByHostElement.get(e);n&&n.id!==t&&n.removeNode(e,i)}}else this._onRemovalComplete(e,i)}markElementAsRemoved(t,e,n,i){this.collectedLeaveElements.push(e),e[Hb]={namespaceId:t,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}listen(t,e,n,i,r){return Kb(e)?this._fetchNamespace(t).listen(e,n,i,r):()=>{}}_buildInstruction(t,e,n,i,r){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,i,t.fromState.options,t.toState.options,e,r)}destroyInnerAnimations(t){let e=this.driver.query(t,Rm,!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,Lm,!0),e.forEach(t=>this.finishActiveQueriedAnimationOnElement(t)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return hm(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[Hb];if(e&&e.setForRemoval){if(t[Hb]=zb,e.namespaceId){this.destroyInnerAnimations(t);const n=this._fetchNamespace(e.namespaceId);n&&n.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,Bb)&&this.markElementAsDisabled(t,!1),this.driver.query(t,Bb,!0).forEach(t=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;nt()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?hm(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const n=new mb,i=[],r=new Map,s=[],o=new Map,a=new Map,l=new Map,c=new Set;this.disabledNodes.forEach(t=>{c.add(t);const e=this.driver.query(t,".ng-animate-queued",!0);for(let n=0;n{const n=Mm+f++;p.set(e,n),t.forEach(t=>ey(t,n))});const g=[],m=new Set,b=new Set;for(let A=0;Am.add(t)):b.add(t))}const y=new Map,v=Jb(h,Array.from(m));v.forEach((t,e)=>{const n=Im+f++;y.set(e,n),t.forEach(t=>ey(t,n))}),t.push(()=>{d.forEach((t,e)=>{const n=p.get(e);t.forEach(t=>ny(t,n))}),v.forEach((t,e)=>{const n=y.get(e);t.forEach(t=>ny(t,n))}),g.forEach(t=>{this.processLeaveNode(t)})});const _=[],w=[];for(let A=this._namespaceList.length-1;A>=0;A--)this._namespaceList[A].drainQueuedTransitions(e).forEach(t=>{const e=t.player,r=t.element;if(_.push(e),this.collectedEnterElements.length){const t=r[Hb];if(t&&t.setForMove)return void e.destroy()}const c=!u||!this.driver.containsElement(u,r),h=y.get(r),d=p.get(r),f=this._buildInstruction(t,n,d,h,c);if(f.errors&&f.errors.length)w.push(f);else{if(c)return e.onStart(()=>Gm(r,f.fromStyles)),e.onDestroy(()=>$m(r,f.toStyles)),void i.push(e);if(t.isFallbackTransition)return e.onStart(()=>Gm(r,f.fromStyles)),e.onDestroy(()=>$m(r,f.toStyles)),void i.push(e);f.timelines.forEach(t=>t.stretchStartingKeyframe=!0),n.append(r,f.timelines),s.push({instruction:f,player:e,element:r}),f.queriedElements.forEach(t=>mm(o,t,[]).push(e)),f.preStyleProps.forEach((t,e)=>{const n=Object.keys(t);if(n.length){let t=a.get(e);t||a.set(e,t=new Set),n.forEach(e=>t.add(e))}}),f.postStyleProps.forEach((t,e)=>{const n=Object.keys(t);let i=l.get(e);i||l.set(e,i=new Set),n.forEach(t=>i.add(t))})}});if(w.length){const t=[];w.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),_.forEach(t=>t.destroy()),this.reportError(t)}const x=new Map,S=new Map;s.forEach(t=>{const e=t.element;n.has(e)&&(S.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,x))}),i.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{mm(x,e,[]).push(t),t.destroy()})});const C=g.filter(t=>sy(t,a,l)),E=new Map;Zb(E,this.driver,b,l,Kg).forEach(t=>{sy(t,a,l)&&C.push(t)});const O=new Map;d.forEach((t,e)=>{Zb(O,this.driver,new Set(t),a,"!")}),C.forEach(t=>{const e=E.get(t),n=O.get(t);E.set(t,Object.assign(Object.assign({},e),n))});const T=[],k=[],P={};s.forEach(t=>{const{element:e,player:s,instruction:o}=t;if(n.has(e)){if(c.has(e))return s.onDestroy(()=>$m(e,o.toStyles)),s.disabled=!0,s.overrideTotalTime(o.totalTime),void i.push(s);let t=P;if(S.size>1){let n=e;const i=[];for(;n=n.parentNode;){const e=S.get(n);if(e){t=e;break}i.push(n)}i.forEach(e=>S.set(e,t))}const n=this._buildAnimation(s.namespaceId,o,x,r,O,E);if(s.setRealPlayer(n),t===P)T.push(s);else{const e=this.playersByElement.get(t);e&&e.length&&(s.parentPlayer=hm(e)),i.push(s)}}else Gm(e,o.fromStyles),s.onDestroy(()=>$m(e,o.toStyles)),k.push(s),c.has(e)&&i.push(s)}),k.forEach(t=>{const e=r.get(t.element);if(e&&e.length){const n=hm(e);t.setRealPlayer(n)}}),i.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let A=0;A!t.destroyed);i.length?iy(this,t,i):this.processLeaveNode(t)}return g.length=0,T.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),T}elementContainsData(t,e){let n=!1;const i=e[Hb];return i&&i.setForRemoval&&(n=!0),this.playersByElement.has(e)&&(n=!0),this.playersByQueriedElement.has(e)&&(n=!0),this.statesByElement.has(e)&&(n=!0),this._fetchNamespace(t).elementContainsData(e)||n}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,n,i,r){let s=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(s=e)}else{const e=this.playersByElement.get(t);if(e){const t=!r||r==Gb;e.forEach(e=>{e.queued||!t&&e.triggerName!=i||s.push(e)})}}return(n||i)&&(s=s.filter(t=>!(n&&n!=t.namespaceId||i&&i!=t.triggerName))),s}_beforeAnimationBuild(t,e,n){const i=e.element,r=e.isRemovalTransition?void 0:t,s=e.isRemovalTransition?void 0:e.triggerName;for(const o of e.timelines){const t=o.element,a=t!==i,l=mm(n,t,[]);this._getPreviousPlayers(t,a,r,s,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),l.push(t)})}Gm(i,e.fromStyles)}_buildAnimation(t,e,n,i,r,s){const o=e.triggerName,a=e.element,l=[],c=new Set,u=new Set,h=e.timelines.map(e=>{const h=e.element;c.add(h);const d=h[Hb];if(d&&d.removedBeforeQueried)return new am(e.duration,e.delay);const p=h!==a,f=function(t){const e=[];return ry(t,e),e}((n.get(h)||Vb).map(t=>t.getRealPlayer())).filter(t=>!!t.element&&t.element===h),g=r.get(h),m=s.get(h),b=dm(0,this._normalizer,0,e.keyframes,g,m),y=this._buildPlayer(e,b,f);if(e.subTimeline&&i&&u.add(h),p){const e=new Yb(t,o,h);e.setRealPlayer(y),l.push(e)}return y});l.forEach(t=>{mm(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>function(t,e,n){let i;if(t instanceof Map){if(i=t.get(e),i){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&t.delete(e)}}else if(i=t[e],i){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&delete t[e]}return i}(this.playersByQueriedElement,t.element,t))}),c.forEach(t=>ey(t,Nm));const d=hm(h);return d.onDestroy(()=>{c.forEach(t=>ny(t,Nm)),$m(a,e.toStyles)}),u.forEach(t=>{mm(i,t,[]).push(d)}),d}_buildPlayer(t,e,n){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new am(t.duration,t.delay)}}class Yb{constructor(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new am,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(n=>pm(t,e,void 0,n))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){mm(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&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(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function Kb(t){return t&&1===t.nodeType}function Qb(t,e){const n=t.style.display;return t.style.display=null!=e?e:"none",n}function Zb(t,e,n,i,r){const s=[];n.forEach(t=>s.push(Qb(t)));const o=[];i.forEach((n,i)=>{const s={};n.forEach(t=>{const n=s[t]=e.computeStyle(i,t,r);(!n||0==n.length)&&(i[Hb]=Ub,o.push(i))}),t.set(i,s)});let a=0;return n.forEach(t=>Qb(t,s[a++])),o}function Jb(t,e){const n=new Map;if(t.forEach(t=>n.set(t,[])),0==e.length)return n;const i=new Set(e),r=new Map;function s(t){if(!t)return 1;let e=r.get(t);if(e)return e;const o=t.parentNode;return e=n.has(o)?o:i.has(o)?1:s(o),r.set(t,e),e}return e.forEach(t=>{const e=s(t);1!==e&&n.get(e).push(t)}),n}const ty="$$classes";function ey(t,e){if(t.classList)t.classList.add(e);else{let n=t[ty];n||(n=t[ty]={}),n[e]=!0}}function ny(t,e){if(t.classList)t.classList.remove(e);else{let n=t[ty];n&&delete n[e]}}function iy(t,e,n){hm(n).onDone(()=>t.processLeaveNode(e))}function ry(t,e){for(let n=0;nr.add(t)):e.set(t,i),n.delete(t),!0}class oy{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._triggerCache={},this.onRemovalComplete=(t,e)=>{},this._transitionEngine=new Xb(t,e,n),this._timelineEngine=new Lb(t,e,n),this._transitionEngine.onRemovalComplete=(t,e)=>this.onRemovalComplete(t,e)}registerTrigger(t,e,n,i,r){const s=t+"-"+i;let o=this._triggerCache[s];if(!o){const t=[],e=cb(this._driver,r,t);if(t.length)throw new Error(`The animation trigger "${i}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);o=function(t,e,n){return new Db(t,e,n)}(i,e,this._normalizer),this._triggerCache[s]=o}this._transitionEngine.registerTrigger(e,i,o)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,n,i){this._transitionEngine.insertNode(t,e,n,i)}onRemove(t,e,n,i){this._transitionEngine.removeNode(t,e,i||!1,n)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,n,i){if("@"==n.charAt(0)){const[t,r]=bm(n);this._timelineEngine.command(t,e,r,i)}else this._transitionEngine.trigger(t,e,n,i)}listen(t,e,n,i,r){if("@"==n.charAt(0)){const[t,i]=bm(n);return this._timelineEngine.listen(t,e,i,r)}return this._transitionEngine.listen(t,e,n,i,r)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function ay(t,e){let n=null,i=null;return Array.isArray(e)&&e.length?(n=cy(e[0]),e.length>1&&(i=cy(e[e.length-1]))):e&&(n=cy(e)),n||i?new ly(t,n,i):null}class ly{constructor(t,e,n){this._element=t,this._startStyles=e,this._endStyles=n,this._state=0;let i=ly.initialStylesByElement.get(t);i||ly.initialStylesByElement.set(t,i={}),this._initialStyles=i}start(){this._state<1&&(this._startStyles&&$m(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&($m(this._element,this._initialStyles),this._endStyles&&($m(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(ly.initialStylesByElement.delete(this._element),this._startStyles&&(Gm(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Gm(this._element,this._endStyles),this._endStyles=null),$m(this._element,this._initialStyles),this._state=3)}}function cy(t){let e=null;const n=Object.keys(t);for(let i=0;ithis._handleCallback(t)}apply(){(function(t,e){const n=vy(t,"").trim();let i=0;n.length&&(function(t,e){let n=0;for(let i=0;i=this._delay&&n>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),by(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const n=vy(t,"").split(","),i=my(n,e);i>=0&&(n.splice(i,1),yy(t,"",n.join(",")))}(this._element,this._name))}}function fy(t,e,n){yy(t,"PlayState",n,gy(t,e))}function gy(t,e){const n=vy(t,"");return n.indexOf(",")>0?my(n.split(","),e):my([n],e)}function my(t,e){for(let n=0;n=0)return n;return-1}function by(t,e,n){n?t.removeEventListener(dy,e):t.addEventListener(dy,e)}function yy(t,e,n,i){const r=hy+e;if(null!=i){const e=t.style[r];if(e.length){const t=e.split(",");t[i]=n,n=t.join(",")}}t.style[r]=n}function vy(t,e){return t.style[hy+e]||""}class _y{constructor(t,e,n,i,r,s,o,a){this.element=t,this.keyframes=e,this.animationName=n,this._duration=i,this._delay=r,this._finalStyles=o,this._specialStyles=a,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=s||"linear",this.totalTime=i+r,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new py(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this._state>=3;Object.keys(this._finalStyles).forEach(n=>{"offset"!=n&&(t[n]=e?this._finalStyles[n]:ib(this.element,n))})}this.currentSnapshot=t}}class wy extends am{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=km(e)}init(){this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){!this._startingStyles||(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}class xy{constructor(){this._count=0}validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,n){n=n.map(t=>km(t));let i=`@keyframes ${e} {\n`,r="";n.forEach(t=>{r=" ";const e=parseFloat(t.offset);i+=`${r}${100*e}% {\n`,r+=" ",Object.keys(t).forEach(e=>{const n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(i+=`${r}animation-timing-function: ${n};\n`));default:return void(i+=`${r}${e}: ${n};\n`)}}),i+=`${r}}\n`}),i+="}\n";const s=document.createElement("style");return s.textContent=i,s}animate(t,e,n,i,r,s=[],o){const a=s.filter(t=>t instanceof _y),l={};tb(n,i)&&a.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const c=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(n=>{"offset"==n||"easing"==n||(e[n]=t[n])})}),e}(e=eb(t,e,l));if(0==n)return new wy(t,c);const u="gen_css_kf_"+this._count++,h=this.buildKeyframeElement(t,u,e);(function(t){var e;const n=null===(e=t.getRootNode)||void 0===e?void 0:e.call(t);return"undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot?n:document.head})(t).appendChild(h);const d=ay(t,e),p=new _y(t,e,u,n,i,r,c,d);return p.onDestroy(()=>function(t){t.parentNode.removeChild(t)}(h)),p}}class Sy{constructor(t,e,n,i){this.element=t,this.keyframes=e,this.options=n,this._specialStyles=i,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,n){return t.animate(e,n)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),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}_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(t=>t()),this._onDestroyFns=[])}setPosition(t){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:ib(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class Cy{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Ey().toString()),this._cssKeyframesDriver=new xy}validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,n,i,r,s=[],o){if(!o&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,i,r,s);const a={duration:n,delay:i,fill:0==i?"both":"forwards"};r&&(a.easing=r);const l={},c=s.filter(t=>t instanceof Sy);tb(n,i)&&c.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const u=ay(t,e=eb(t,e=e.map(t=>zm(t,!1)),l));return new Sy(t,e,a,u)}}function Ey(){return cm()&&Element.prototype.animate||{}}let Oy=(()=>{class t extends Yg{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:jt.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const n=Array.isArray(t)?Jg(t):t;return Py(this._renderer,null,e,"register",[n]),new Ty(e,this._renderer)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Il),Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Ty extends class{}{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new ky(this._id,t,e||{},this._renderer)}}class ky{constructor(t,e,n,i){this.id=t,this.element=e,this._renderer=i,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return Py(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(t){this._command("setPosition",t)}getPosition(){var t,e;return null!==(e=null===(t=this._renderer.engine.players[+this.id])||void 0===t?void 0:t.getPosition())&&void 0!==e?e:0}}function Py(t,e,n,i,r){return t.setProperty(e,`@@${n}:${i}`,r)}const Ay="@.disabled";let My=(()=>{class t{constructor(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=(t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)}}createRenderer(t,e){const n=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(n);return t||(t=new Iy("",n,this.engine),this._rendererCache.set(n,t)),t}const i=e.id,r=e.id+"-"+this._currentId;this._currentId++,this.engine.register(r,t);const s=e=>{Array.isArray(e)?e.forEach(s):this.engine.registerTrigger(i,r,t,e.name,e)};return e.data.animation.forEach(s),new Dy(this,r,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,n){t>=0&&te(n)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,n]=t;e(n)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,n]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return t.\u0275fac=function(e){return new(e||t)(Ei(Il),Ei(oy),Ei(Tu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Iy{constructor(t,e,n){this.namespaceId=t,this.delegate=e,this.engine=n,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,n,i=!0){this.delegate.insertBefore(t,e,n),this.engine.onInsert(this.namespaceId,e,t,i)}removeChild(t,e,n){this.engine.onRemove(this.namespaceId,e,this.delegate,n)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,i){this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,i){this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){"@"==e.charAt(0)&&e==Ay?this.disableAnimations(t,!!n):this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n){return this.delegate.listen(t,e,n)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class Dy extends Iy{constructor(t,e,n,i){super(e,n,i),this.factory=t,this.namespaceId=e}setProperty(t,e,n){"@"==e.charAt(0)?"."==e.charAt(1)&&e==Ay?this.disableAnimations(t,n=void 0===n||!!n):this.engine.process(this.namespaceId,t,e.substr(1),n):this.delegate.setProperty(t,e,n)}listen(t,e,n){if("@"==e.charAt(0)){const i=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let r=e.substr(1),s="";return"@"!=r.charAt(0)&&([r,s]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(r)),this.engine.listen(this.namespaceId,i,r,s,t=>{this.factory.scheduleListenerCallback(t._data||-1,n,t)})}return this.delegate.listen(t,e,n)}}let Ry=(()=>{class t extends oy{constructor(t,e,n){super(t.body,e,n)}ngOnDestroy(){this.flush()}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(Am),Ei(Ob))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Ny=new oi("AnimationModuleType"),Ly=[{provide:Yg,useClass:Oy},{provide:Ob,useFactory:function(){return new Tb}},{provide:oy,useClass:Ry},{provide:Il,useFactory:function(t,e,n){return new My(t,e,n)},deps:[pd,oy,Tu]}],jy=[{provide:Am,useFactory:function(){return"function"==typeof Ey()?new Cy:new xy}},{provide:Ny,useValue:"BrowserAnimations"},...Ly],Fy=[{provide:Am,useClass:Pm},{provide:Ny,useValue:"NoopAnimations"},...Ly];let By=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?Fy:jy}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:jy,imports:[Td]}),t})();function Vy(t,e){if(1&t&&oa(0,"mat-pseudo-checkbox",4),2&t){const t=va();na("state",t.selected?"checked":"unchecked")("disabled",t.disabled)}}function zy(t,e){if(1&t&&(ra(0,"span",5),Ja(1),sa()),2&t){const t=va();ws(1),el("(",t.group.label,")")}}const Uy=["*"],Hy=new Ll("12.2.5"),$y=new oi("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let Gy,Wy=(()=>{class t{constructor(t,e,n){this._hasDoneGlobalChecks=!1,this._document=n,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=e,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!Vu()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&Hy.full!==Xg.full&&console.warn("The Angular Material version ("+Hy.full+") does not match the Angular CDK version ("+Xg.full+").\nPlease ensure the versions of these two packages exactly match.")}}return t.\u0275fac=function(e){return new(e||t)(Ei(Wg),Ei($y,8),Ei(th))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Bp],Bp]}),t})();function qy(t){return class extends t{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t)}}}function Xy(t,e){return class extends t{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const e=t||this.defaultColor;e!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),e&&this._elementRef.nativeElement.classList.add(`mat-${e}`),this._color=e)}}}function Yy(t){return class extends t{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=kd(t)}}}function Ky(t,e=0){return class extends t{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?Pd(t):this.defaultTabIndex}}}function Qy(t){return class extends t{constructor(...t){super(...t),this.stateChanges=new A,this.errorState=!1}updateErrorState(){const t=this.errorState,e=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);e!==t&&(this.errorState=e,this.stateChanges.next())}}}try{Gy="undefined"!=typeof Intl}catch(m){Gy=!1}let Zy=(()=>{class t{isErrorState(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Jy=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-line",""],["","matLine",""]],hostAttrs:[1,"mat-line"]}),t})();function tv(t,e,n){const i=t.nativeElement.classList;n?i.add(e):i.remove(e)}let ev=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();class nv{constructor(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const iv={enterDuration:225,exitDuration:150},rv=Ip({passive:!0}),sv=["mousedown","touchstart"],ov=["mouseup","mouseleave","touchend","touchcancel"];class av{constructor(t,e,n,i){this._target=t,this._ngZone=e,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,i.isBrowser&&(this._containerElement=Id(n))}fadeInRipple(t,e,n={}){const i=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),r=Object.assign(Object.assign({},iv),n.animation);n.centered&&(t=i.left+i.width/2,e=i.top+i.height/2);const s=n.radius||function(t,e,n){const i=Math.max(Math.abs(t-n.left),Math.abs(t-n.right)),r=Math.max(Math.abs(e-n.top),Math.abs(e-n.bottom));return Math.sqrt(i*i+r*r)}(t,e,i),o=t-i.left,a=e-i.top,l=r.enterDuration,c=document.createElement("div");c.classList.add("mat-ripple-element"),c.style.left=o-s+"px",c.style.top=a-s+"px",c.style.height=2*s+"px",c.style.width=2*s+"px",null!=n.color&&(c.style.backgroundColor=n.color),c.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(c),function(t){window.getComputedStyle(t).getPropertyValue("opacity")}(c),c.style.transform="scale(1)";const u=new nv(this,c,n);return u.state=0,this._activeRipples.add(u),n.persistent||(this._mostRecentTransientRipple=u),this._runTimeoutOutsideZone(()=>{const t=u===this._mostRecentTransientRipple;u.state=1,!n.persistent&&(!t||!this._isPointerDown)&&u.fadeOut()},l),u}fadeOutRipple(t){const e=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const n=t.element,i=Object.assign(Object.assign({},iv),t.config.animation);n.style.transitionDuration=`${i.exitDuration}ms`,n.style.opacity="0",t.state=2,this._runTimeoutOutsideZone(()=>{t.state=3,n.parentNode.removeChild(n)},i.exitDuration)}fadeOutAll(){this._activeRipples.forEach(t=>t.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(t=>{t.config.persistent||t.fadeOut()})}setupTriggerEvents(t){const e=Id(t);!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,this._registerEvents(sv))}handleEvent(t){"mousedown"===t.type?this._onMousedown(t):"touchstart"===t.type?this._onTouchStart(t):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(ov),this._pointerUpEventsRegistered=!0)}_onMousedown(t){const e=Mg(t),n=this._lastTouchStartEvent&&Date.now(){!t.config.persistent&&(1===t.state||t.config.terminateOnPointerUp&&0===t.state)&&t.fadeOut()}))}_runTimeoutOutsideZone(t,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(t,e))}_registerEvents(t){this._ngZone.runOutsideAngular(()=>{t.forEach(t=>{this._triggerElement.addEventListener(t,this,rv)})})}_removeTriggerEvents(){this._triggerElement&&(sv.forEach(t=>{this._triggerElement.removeEventListener(t,this,rv)}),this._pointerUpEventsRegistered&&ov.forEach(t=>{this._triggerElement.removeEventListener(t,this,rv)}))}}const lv=new oi("mat-ripple-global-options");let cv=(()=>{class t{constructor(t,e,n,i,r){this._elementRef=t,this._animationMode=r,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=i||{},this._rippleRenderer=new av(this,e,t,n)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}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:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{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(t,e=0,n){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,e,Object.assign(Object.assign({},this.rippleConfig),n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Tu),ea(Ep),ea(lv,8),ea(Ny,8))},t.\u0275dir=se({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,e){2&t&&ja("mat-ripple-unbounded",e.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),t})(),uv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy,Op],Wy]}),t})(),hv=(()=>{class t{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}return t.\u0275fac=function(e){return new(e||t)(ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(t,e){2&t&&ja("mat-pseudo-checkbox-indeterminate","indeterminate"===e.state)("mat-pseudo-checkbox-checked","checked"===e.state)("mat-pseudo-checkbox-disabled",e.disabled)("_mat-animation-noopable","NoopAnimations"===e._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(t,e){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;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-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),t})(),dv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy]]}),t})();const pv=new oi("MAT_OPTION_PARENT_COMPONENT"),fv=qy(class{});let gv=0,mv=(()=>{class t extends fv{constructor(t){var e;super(),this._labelId="mat-optgroup-label-"+gv++,this._inert=null!==(e=null==t?void 0:t.inertGroups)&&void 0!==e&&e}}return t.\u0275fac=function(e){return new(e||t)(ea(pv,8))},t.\u0275dir=se({type:t,inputs:{label:"label"},features:[jo]}),t})();const bv=new oi("MatOptgroup");let yv=0;class vv{constructor(t,e=!1){this.source=t,this.isUserInput=e}}let _v=(()=>{class t{constructor(t,e,n,i){this._element=t,this._changeDetectorRef=e,this._parent=n,this.group=i,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+yv++,this.onSelectionChange=new Bc,this._stateChanges=new A}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(t){this._disabled=kd(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(t,e){const n=this._getHostElement();"function"==typeof n.focus&&n.focus(e)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){(13===t.keyCode||32===t.keyCode)&&!uf(t)&&(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new vv(this,t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(void 0),ea(mv))},t.\u0275dir=se({type:t,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),t})(),wv=(()=>{class t extends _v{constructor(t,e,n,i){super(t,e,n,i)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(pv,8),ea(bv,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(t,e){1&t&&fa("click",function(){return e._selectViaInteraction()})("keydown",function(t){return e._handleKeydown(t)}),2&t&&(rl("id",e.id),Ko("tabindex",e._getTabIndex())("aria-selected",e._getAriaSelected())("aria-disabled",e.disabled.toString()),ja("mat-selected",e.selected)("mat-option-multiple",e.multiple)("mat-active",e.active)("mat-option-disabled",e.disabled))},exportAs:["matOption"],features:[jo],ngContentSelectors:Uy,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(t,e){1&t&&(wa(),Jo(0,Vy,1,2,"mat-pseudo-checkbox",0),ra(1,"span",1),xa(2),sa(),Jo(3,zy,2,1,"span",2),oa(4,"div",3)),2&t&&(na("ngIf",e.multiple),ws(3),na("ngIf",e.group&&e.group._inert),ws(1),na("matRippleTrigger",e._getHostElement())("matRippleDisabled",e.disabled||e.disableRipple))},directives:[Ah,cv,hv],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),t})();function xv(t,e,n){if(n.length){let i=e.toArray(),r=n.toArray(),s=0;for(let e=0;en+i?Math.max(0,t-i+e):n}let Cv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wh,Wy,dv]]}),t})();function Ev(...t){if(1===t.length){const e=t[0];if(d(e))return Ov(e,null);if(p(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Ov(t.map(t=>e[t]),t)}}if("function"==typeof t[t.length-1]){const e=t.pop();return Ov(t=1===t.length&&d(t[0])?t[0]:t,null).pipe(D(t=>e(...t)))}return Ov(t,null)}function Ov(t,e){return new E(n=>{const i=t.length;if(0===i)return void n.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=t},error:t=>n.error(t),complete:()=>{s++,(s===i||!c)&&(o===i&&n.next(e?e.reduce((t,e,n)=>(t[e]=r[n],t),{}):r),n.complete())}}))}})}function Tv(t){return function(e){const n=new kv(t),i=e.lift(n);return n.caught=i}}class kv{constructor(t){this.selector=t}call(t,e){return e.subscribe(new Pv(t,this.selector,this.caught))}}class Pv extends ${constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let n;try{n=this.selector(t,this.caught)}catch(e){return void super.error(e)}this._unsubscribeAndRecycle();const i=new H(this);this.add(i);const r=G(n,i);r!==i&&this.add(r)}}}function Av(t){return e=>e.lift(new Mv(t))}class Mv{constructor(t){this.callback=t}call(t,e){return e.subscribe(new Iv(t,this.callback))}}class Iv extends v{constructor(t,e){super(t),this.add(new g(e))}}class Dv{}class Rv{}class Nv{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),i=n.toLowerCase(),r=t.slice(e+1).trim();this.maybeSetNormalizedName(n,i),this.headers.has(i)?this.headers.get(i).push(r):this.headers.set(i,[r])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const i=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(i,n),this.maybeSetNormalizedName(e,i))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Nv?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Nv;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Nv?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const i=("a"===t.op?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":const r=t.value;if(r){let t=this.headers.get(e);if(!t)return;t=t.filter(t=>-1===r.indexOf(t)),0===t.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class Lv{encodeKey(t){return Bv(t)}encodeValue(t){return Bv(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const jv=/%(\d[a-f0-9])/gi,Fv={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Bv(t){return encodeURIComponent(t).replace(jv,(t,e)=>{var n;return null!==(n=Fv[e])&&void 0!==n?n:t})}function Vv(t){return`${t}`}class zv{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Lv,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(t=>{const i=t.indexOf("="),[r,s]=-1==i?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,i)),e.decodeValue(t.slice(i+1))],o=n.get(r)||[];o.push(s),n.set(r,o)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(n=>{const i=t[n];Array.isArray(i)?i.forEach(t=>{e.push({param:n,value:t,op:"a"})}):e.push({param:n,value:i,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new zv({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(Vv(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(Vv(t.value));-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Uv{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}keys(){return this.map.keys()}}function Hv(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function $v(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Gv(t){return"undefined"!=typeof FormData&&t instanceof FormData}class Wv{constructor(t,e,n,i){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||i?(this.body=void 0!==n?n:null,r=i):r=n,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.context&&(this.context=r.context),r.params&&(this.params=r.params)),this.headers||(this.headers=new Nv),this.context||(this.context=new Uv),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":ne.set(n,t.setHeaders[n]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),c)),new Wv(n,i,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var qv=(()=>((qv=qv||{})[qv.Sent=0]="Sent",qv[qv.UploadProgress=1]="UploadProgress",qv[qv.ResponseHeader=2]="ResponseHeader",qv[qv.DownloadProgress=3]="DownloadProgress",qv[qv.Response=4]="Response",qv[qv.User=5]="User",qv))();class Xv{constructor(t,e=200,n="OK"){this.headers=t.headers||new Nv,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class Yv extends Xv{constructor(t={}){super(t),this.type=qv.ResponseHeader}clone(t={}){return new Yv({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Kv extends Xv{constructor(t={}){super(t),this.type=qv.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new Kv({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Qv extends Xv{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function Zv(t,e){return{body:e,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let Jv=(()=>{class t{constructor(t){this.handler=t}request(t,e,n={}){let i;if(t instanceof Wv)i=t;else{let r,s;r=n.headers instanceof Nv?n.headers:new Nv(n.headers),n.params&&(s=n.params instanceof zv?n.params:new zv({fromObject:n.params})),i=new Wv(t,e,void 0!==n.body?n.body:null,{headers:r,context:n.context,params:s,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const r=Dd(i).pipe(function(t,e){return W(t,e,1)}(t=>this.handler.handle(t)));if(t instanceof Wv||"events"===n.observe)return r;const s=r.pipe(ep(t=>t instanceof Kv));switch(n.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return s.pipe(D(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return s.pipe(D(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return s.pipe(D(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return s.pipe(D(t=>t.body))}case"response":return s;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new zv).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,Zv(n,e))}post(t,e,n={}){return this.request("POST",t,Zv(n,e))}put(t,e,n={}){return this.request("PUT",t,Zv(n,e))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Dv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class t_{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const e_=new oi("HTTP_INTERCEPTORS");let n_=(()=>{class t{intercept(t,e){return e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const i_=/^\)\]\}',?\n/;let r_=(()=>{class t{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new E(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const i=t.serializeBody();let r=null;const s=()=>{if(null!==r)return r;const e=1223===n.status?204:n.status,i=n.statusText||"OK",s=new Nv(n.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return r=new Yv({headers:s,status:e,statusText:i,url:o}),r},o=()=>{let{headers:i,status:r,statusText:o,url:a}=s(),l=null;204!==r&&(l=void 0===n.response?n.responseText:n.response),0===r&&(r=l?200:0);let c=r>=200&&r<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(i_,"");try{l=""!==l?JSON.parse(l):null}catch(u){l=t,c&&(c=!1,l={error:u,text:l})}}c?(e.next(new Kv({body:l,headers:i,status:r,statusText:o,url:a||void 0})),e.complete()):e.error(new Qv({error:l,headers:i,status:r,statusText:o,url:a||void 0}))},a=t=>{const{url:i}=s(),r=new Qv({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error",url:i||void 0});e.error(r)};let l=!1;const c=i=>{l||(e.next(s()),l=!0);let r={type:qv.DownloadProgress,loaded:i.loaded};i.lengthComputable&&(r.total=i.total),"text"===t.responseType&&!!n.responseText&&(r.partialText=n.responseText),e.next(r)},u=t=>{let n={type:qv.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",o),n.addEventListener("error",a),n.addEventListener("timeout",a),n.addEventListener("abort",a),t.reportProgress&&(n.addEventListener("progress",c),null!==i&&n.upload&&n.upload.addEventListener("progress",u)),n.send(i),e.next({type:qv.Sent}),()=>{n.removeEventListener("error",a),n.removeEventListener("abort",a),n.removeEventListener("load",o),n.removeEventListener("timeout",a),t.reportProgress&&(n.removeEventListener("progress",c),null!==i&&n.upload&&n.upload.removeEventListener("progress",u)),n.readyState!==n.DONE&&n.abort()}})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Yh))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const s_=new oi("XSRF_COOKIE_NAME"),o_=new oi("XSRF_HEADER_NAME");class a_{}let l_=(()=>{class t{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Eh(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(hu),Ei(s_))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),c_=(()=>{class t{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const i=this.tokenService.getToken();return null!==i&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,i)})),e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(a_),Ei(o_))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),u_=(()=>{class t{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(e_,[]);this.chain=t.reduceRight((t,e)=>new t_(t,e),this.backend)}return this.chain.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Rv),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),h_=(()=>{class t{static disable(){return{ngModule:t,providers:[{provide:c_,useClass:n_}]}}static withOptions(e={}){return{ngModule:t,providers:[e.cookieName?{provide:s_,useValue:e.cookieName}:[],e.headerName?{provide:o_,useValue:e.headerName}:[]]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[c_,{provide:e_,useExisting:c_,multi:!0},{provide:a_,useClass:l_},{provide:s_,useValue:"XSRF-TOKEN"},{provide:o_,useValue:"X-XSRF-TOKEN"}]}),t})(),d_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Jv,{provide:Dv,useClass:u_},r_,{provide:Rv,useExisting:r_}],imports:[[h_.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),t})();const p_=["*"];function f_(t){return Error(`Unable to find icon with the name "${t}"`)}function g_(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function m_(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}class b_{constructor(t,e,n){this.url=t,this.svgText=e,this.options=n}}let y_=(()=>{class t{constructor(t,e,n,i){this._httpClient=t,this._sanitizer=e,this._errorHandler=i,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",this._document=n}addSvgIcon(t,e,n){return this.addSvgIconInNamespace("",t,e,n)}addSvgIconLiteral(t,e,n){return this.addSvgIconLiteralInNamespace("",t,e,n)}addSvgIconInNamespace(t,e,n,i){return this._addSvgIconConfig(t,e,new b_(n,null,i))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,e,n,i){const r=this._sanitizer.sanitize(yr.HTML,n);if(!r)throw m_(n);return this._addSvgIconConfig(t,e,new b_("",r,i))}addSvgIconSet(t,e){return this.addSvgIconSetInNamespace("",t,e)}addSvgIconSetLiteral(t,e){return this.addSvgIconSetLiteralInNamespace("",t,e)}addSvgIconSetInNamespace(t,e,n){return this._addSvgIconSetConfig(t,new b_(e,null,n))}addSvgIconSetLiteralInNamespace(t,e,n){const i=this._sanitizer.sanitize(yr.HTML,e);if(!i)throw m_(e);return this._addSvgIconSetConfig(t,new b_("",i,n))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const e=this._sanitizer.sanitize(yr.RESOURCE_URL,t);if(!e)throw g_(t);const n=this._cachedIconsByUrl.get(e);return n?Dd(v_(n)):this._loadSvgIconFromConfig(new b_(t,null)).pipe(eg(t=>this._cachedIconsByUrl.set(e,t)),D(t=>v_(t)))}getNamedSvgIcon(t,e=""){const n=__(e,t);let i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);if(i=this._getIconConfigFromResolvers(e,t),i)return this._svgIconConfigs.set(n,i),this._getSvgFromConfig(i);const r=this._iconSetConfigs.get(e);return r?this._getSvgFromIconSetConfigs(t,r):gp(f_(n))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?Dd(v_(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(D(t=>v_(t)))}_getSvgFromIconSetConfigs(t,e){const n=this._extractIconWithNameFromAnySet(t,e);return n?Dd(n):Ev(e.filter(t=>!t.svgText).map(t=>this._loadSvgIconSetFromConfig(t).pipe(Tv(e=>{const n=`Loading icon set URL: ${this._sanitizer.sanitize(yr.RESOURCE_URL,t.url)} failed: ${e.message}`;return this._errorHandler.handleError(new Error(n)),Dd(null)})))).pipe(D(()=>{const n=this._extractIconWithNameFromAnySet(t,e);if(!n)throw f_(t);return n}))}_extractIconWithNameFromAnySet(t,e){for(let n=e.length-1;n>=0;n--){const i=e[n];if(i.svgText&&i.svgText.indexOf(t)>-1){const e=this._svgElementFromConfig(i),n=this._extractSvgIconFromSet(e,t,i.options);if(n)return n}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(eg(e=>t.svgText=e),D(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?Dd(null):this._fetchIcon(t).pipe(eg(e=>t.svgText=e))}_extractSvgIconFromSet(t,e,n){const i=t.querySelector(`[id="${e}"]`);if(!i)return null;const r=i.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r,n);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r),n);const s=this._svgElementFromString("");return s.appendChild(r),this._setSvgAttributes(s,n)}_svgElementFromString(t){const e=this._document.createElement("DIV");e.innerHTML=t;const n=e.querySelector("svg");if(!n)throw Error(" tag not found");return n}_toSvgElement(t){const e=this._svgElementFromString(""),n=t.attributes;for(let i=0;ithis._inProgressUrlFetches.delete(s)),at());return this._inProgressUrlFetches.set(s,a),a}_addSvgIconConfig(t,e,n){return this._svgIconConfigs.set(__(t,e),n),this}_addSvgIconSetConfig(t,e){const n=this._iconSetConfigs.get(t);return n?n.push(e):this._iconSetConfigs.set(t,[e]),this}_svgElementFromConfig(t){if(!t.svgElement){const e=this._svgElementFromString(t.svgText);this._setSvgAttributes(e,t.options),t.svgElement=e}return t.svgElement}_getIconConfigFromResolvers(t,e){for(let n=0;ne?e.pathname+e.search:""}}}),C_=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],E_=C_.map(t=>`[${t}]`).join(", "),O_=/^url\(['"]?#(.*?)['"]?\)$/;let T_=(()=>{class t extends x_{constructor(t,e,n,i,r){super(t),this._iconRegistry=e,this._location=i,this._errorHandler=r,this._inline=!1,this._currentIconFetch=g.EMPTY,n||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=kd(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const e=this._cleanupFontValue(t);e!==this._fontSet&&(this._fontSet=e,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const e=this._cleanupFontValue(t);e!==this._fontIcon&&(this._fontIcon=e,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const t=this._location.getPathname();t!==this._previousPath&&(this._previousPath=t,this._prependPathToReferences(t))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const e=t.querySelectorAll("style");for(let i=0;i{e.forEach(e=>{n.setAttribute(e.name,`url('${t}#${e.value}')`)})})}_cacheChildrenWithExternalReferences(t){const e=t.querySelectorAll(E_),n=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let i=0;i{const r=e[i],s=r.getAttribute(t),o=s?s.match(O_):null;if(o){let e=n.get(r);e||(e=[],n.set(r,e)),e.push({name:t,value:o[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[e,n]=this._splitIconName(t);e&&(this._svgNamespace=e),n&&(this._svgName=n),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(n,e).pipe(rf(1)).subscribe(t=>this._setSvgElement(t),t=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${e}:${n}! ${t.message}`))})}}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(y_),ii("aria-hidden"),ea(S_),ea(kr))},t.\u0275cmp=Jt({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,e){2&t&&(Ko("data-mat-icon-type",e._usingFontIcon()?"font":"svg")("data-mat-icon-name",e._svgName||e.fontIcon)("data-mat-icon-namespace",e._svgNamespace||e.fontSet),ja("mat-icon-inline",e.inline)("mat-icon-no-color","primary"!==e.color&&"accent"!==e.color&&"warn"!==e.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[jo],ngContentSelectors:p_,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[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}\n"],encapsulation:2,changeDetection:0}),t})(),k_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();const P_=["mat-button",""],A_=["*"],M_=".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n",I_=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],D_=Xy(qy(Yy(class{constructor(t){this._elementRef=t}})));let R_=(()=>{class t extends D_{constructor(t,e,n){super(t),this._focusMonitor=e,this._animationMode=n,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const i of I_)this._hasHostAttributes(i)&&this._getHostElement().classList.add(i);t.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(t,e){t?this._focusMonitor.focusVia(this._getHostElement(),t,e):this._getHostElement().focus(e)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(t=>this._getHostElement().hasAttribute(t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ug),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(t,e){if(1&t&&Zc(cv,5),2&t){let t;Qc(t=tu())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(t,e){2&t&&(Ko("disabled",e.disabled||null),ja("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[jo],attrs:P_,ngContentSelectors:A_,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(wa(),ra(0,"span",0),xa(1),sa(),oa(2,"span",1),oa(3,"span",2)),2&t&&(ws(2),ja("mat-button-ripple-round",e.isRoundButton||e.isIconButton),na("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[cv],styles:[M_],encapsulation:2,changeDetection:0}),t})(),N_=(()=>{class t extends R_{constructor(t,e,n){super(e,t,n)}_haltDisabledEvents(t){this.disabled&&(t.preventDefault(),t.stopImmediatePropagation())}}return t.\u0275fac=function(e){return new(e||t)(ea(Ug),ea(Al),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["a","mat-button",""],["a","mat-raised-button",""],["a","mat-icon-button",""],["a","mat-fab",""],["a","mat-mini-fab",""],["a","mat-stroked-button",""],["a","mat-flat-button",""]],hostAttrs:[1,"mat-focus-indicator"],hostVars:7,hostBindings:function(t,e){1&t&&fa("click",function(t){return e._haltDisabledEvents(t)}),2&t&&(Ko("tabindex",e.disabled?-1:e.tabIndex||0)("disabled",e.disabled||null)("aria-disabled",e.disabled.toString()),ja("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matButton","matAnchor"],features:[jo],attrs:P_,ngContentSelectors:A_,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(wa(),ra(0,"span",0),xa(1),sa(),oa(2,"span",1),oa(3,"span",2)),2&t&&(ws(2),ja("mat-button-ripple-round",e.isRoundButton||e.isIconButton),na("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[cv],styles:[M_],encapsulation:2,changeDetection:0}),t})(),L_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wy],Wy]}),t})();class j_ extends v{notifyNext(t,e,n,i,r){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}class F_ extends v{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function B_(t,e,n,i,r=new F_(t,n,i)){if(!r.closed)return e instanceof E?e.subscribe(r):V(e)(r)}const V_={};function z_(...t){let e,n;return I(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&d(t[0])&&(t=t[0]),K(t,n).lift(new U_(e))}class U_{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new H_(t,this.resultSelector))}}class H_ extends j_{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(V_),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n{class t{constructor(t){this._platform=t,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):q_}matchMedia(t){return this._platform.WEBKIT&&function(t){if(!$_.has(t))try{G_||(G_=document.createElement("style"),G_.setAttribute("type","text/css"),document.head.appendChild(G_)),G_.sheet&&(G_.sheet.insertRule(`@media ${t} {.fx-query-test{ }}`,0),$_.add(t))}catch(e){console.error(e)}}(t),this._matchMedia(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep))},token:t,providedIn:"root"}),t})();function q_(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let X_=(()=>{class t{constructor(t,e){this._mediaMatcher=t,this._zone=e,this._queries=new Map,this._destroySubject=new A}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return Y_(Ad(t)).some(t=>this._registerQuery(t).mql.matches)}observe(t){let e=z_(Y_(Ad(t)).map(t=>this._registerQuery(t).observable));return e=ap(e.pipe(rf(1)),e.pipe(lg(1),rg(0))),e.pipe(D(t=>{const e={matches:!1,breakpoints:{}};return t.forEach(({matches:t,query:n})=>{e.matches=e.matches||t,e.breakpoints[n]=t}),e}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const e=this._mediaMatcher.matchMedia(t),n={observable:new E(t=>{const n=e=>this._zone.run(()=>t.next(e));return e.addListener(n),()=>{e.removeListener(n)}}).pipe(lp(e),D(({matches:e})=>({query:t,matches:e})),rp(this._destroySubject)),mql:e};return this._queries.set(t,n),n}}return t.\u0275fac=function(e){return new(e||t)(Ei(W_),Ei(Tu))},t.\u0275prov=xt({factory:function(){return new t(Ei(W_),Ei(Tu))},token:t,providedIn:"root"}),t})();function Y_(t){return t.map(t=>t.split(",")).reduce((t,e)=>t.concat(e)).map(t=>t.trim())}function K_(t,e){if(1&t){const t=ua();ra(0,"div",1),ra(1,"button",2),fa("click",function(){return $e(t),va().action()}),Ja(2),sa(),sa()}if(2&t){const t=va();ws(2),tl(t.data.action)}}function Q_(t,e){}const Z_=new oi("MatSnackBarData");class J_{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const tw=Math.pow(2,31)-1;class ew{constructor(t,e){this._overlayRef=e,this._afterDismissed=new A,this._afterOpened=new A,this._onAction=new A,this._dismissedByAction=!1,this.containerInstance=t,this.onAction().subscribe(()=>this.dismiss()),t._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(t){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(t,tw))}_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}}let nw=(()=>{class t{constructor(t,e){this.snackBarRef=t,this.data=e}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return t.\u0275fac=function(e){return new(e||t)(ea(ew),ea(Z_))},t.\u0275cmp=Jt({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(t,e){1&t&&(ra(0,"span"),Ja(1),sa(),Jo(2,K_,3,1,"div",0)),2&t&&(ws(1),tl(e.data.message),ws(1),na("ngIf",e.hasAction))},directives:[Ah,R_],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}\n"],encapsulation:2,changeDetection:0}),t})();const iw={snackBarState:Qg("state",[em("void, hidden",tm({transform:"scale(0.8)",opacity:0})),em("visible",tm({transform:"scale(1)",opacity:1})),im("* => visible",Zg("150ms cubic-bezier(0, 0, 0.2, 1)")),im("* => void, * => hidden",Zg("75ms cubic-bezier(0.4, 0.0, 1, 1)",tm({opacity:0})))])};let rw=(()=>{class t extends Kp{constructor(t,e,n,i,r){super(),this._ngZone=t,this._elementRef=e,this._changeDetectorRef=n,this._platform=i,this.snackBarConfig=r,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new A,this._onExit=new A,this._onEnter=new A,this._animationState="void",this.attachDomPortal=t=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(t)),this._live="assertive"!==r.politeness||r.announcementMessage?"off"===r.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)}onAnimationEnd(t){const{fromState:e,toState:n}=t;if(("void"===n&&"void"!==e||"hidden"===n)&&this._completeExit(),"visible"===n){const t=this._onEnter;this._ngZone.run(()=>{t.next(),t.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(rf(1)).subscribe(()=>{this._onExit.next(),this._onExit.complete()})}_applySnackBarClasses(){const t=this._elementRef.nativeElement,e=this.snackBarConfig.panelClass;e&&(Array.isArray(e)?e.forEach(e=>t.classList.add(e)):t.classList.add(e)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const t=this._elementRef.nativeElement.querySelector("[aria-hidden]"),e=this._elementRef.nativeElement.querySelector("[aria-live]");if(t&&e){let n=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(n=document.activeElement),t.removeAttribute("aria-hidden"),e.appendChild(t),null==n||n.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(Al),ea(nc),ea(Ep),ea(J_))},t.\u0275cmp=Jt({type:t,selectors:[["snack-bar-container"]],viewQuery:function(t,e){if(1&t&&Zc(tf,7),2&t){let t;Qc(t=tu())&&(e._portalOutlet=t.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(t,e){1&t&&ga("@state.done",function(t){return e.onAnimationEnd(t)}),2&t&&sl("@state",e._animationState)},features:[jo],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(t,e){1&t&&(ra(0,"div",0),Jo(1,Q_,0,0,"ng-template",1),sa(),oa(2,"div")),2&t&&(ws(2),Ko("aria-live",e._live)("role",e._role))},directives:[tf],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[iw.snackBarState]}}),t})(),sw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wf,ef,Wh,L_,Wy],Wy]}),t})();const ow=new oi("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new J_}});let aw=(()=>{class t{constructor(t,e,n,i,r,s){this._overlay=t,this._live=e,this._injector=n,this._breakpointObserver=i,this._parentSnackBar=r,this._defaultConfig=s,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=nw,this.snackBarContainerComponent=rw,this.handsetCssClass="mat-snack-bar-handset"}get _openedSnackBarRef(){const t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t}openFromComponent(t,e){return this._attach(t,e)}openFromTemplate(t,e){return this._attach(t,e)}open(t,e="",n){const i=Object.assign(Object.assign({},this._defaultConfig),n);return i.data={message:t,action:e},i.announcementMessage===t&&(i.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,i)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(t,e){const n=No.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:J_,useValue:e}]}),i=new qp(this.snackBarContainerComponent,e.viewContainerRef,n),r=t.attach(i);return r.instance.snackBarConfig=e,r.instance}_attach(t,e){const n=Object.assign(Object.assign(Object.assign({},new J_),this._defaultConfig),e),i=this._createOverlay(n),r=this._attachSnackBarContainer(i,n),s=new ew(r,i);if(t instanceof ac){const e=new Xp(t,null,{$implicit:n.data,snackBarRef:s});s.instance=r.attachTemplatePortal(e)}else{const e=this._createInjector(n,s),i=new qp(t,void 0,e),o=r.attachComponentPortal(i);s.instance=o.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(rp(i.detachments())).subscribe(t=>{const e=i.overlayElement.classList;t.matches?e.add(this.handsetCssClass):e.remove(this.handsetCssClass)}),n.announcementMessage&&r._onAnnounce.subscribe(()=>{this._live.announce(n.announcementMessage,n.politeness)}),this._animateSnackBar(s,n),this._openedSnackBarRef=s,this._openedSnackBarRef}_animateSnackBar(t,e){t.afterDismissed().subscribe(()=>{this._openedSnackBarRef==t&&(this._openedSnackBarRef=null),e.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),e.duration&&e.duration>0&&t.afterOpened().subscribe(()=>t._dismissAfter(e.duration))}_createOverlay(t){const e=new vf;e.direction=t.direction;let n=this._overlay.position().global();const i="rtl"===t.direction,r="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!i||"end"===t.horizontalPosition&&i,s=!r&&"center"!==t.horizontalPosition;return r?n.left("0"):s?n.right("0"):n.centerHorizontally(),"top"===t.verticalPosition?n.top("0"):n.bottom("0"),e.positionStrategy=n,this._overlay.create(e)}_createInjector(t,e){return No.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:ew,useValue:e},{provide:Z_,useValue:t.data}]})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Vf),Ei(Bg),Ei(No),Ei(X_),Ei(t,12),Ei(ow))},t.\u0275prov=xt({factory:function(){return new t(Ei(Vf),Ei(Bg),Ei(_o),Ei(X_),Ei(t,12),Ei(ow))},token:t,providedIn:sw}),t})();const lw={tooltipState:Qg("state",[em("initial, void, hidden",tm({opacity:0,transform:"scale(0)"})),em("visible",tm({transform:"scale(1)"})),im("* => visible",Zg("200ms cubic-bezier(0, 0, 0.2, 1)",nm([tm({opacity:0,transform:"scale(0)",offset:0}),tm({opacity:.5,transform:"scale(0.99)",offset:.5}),tm({opacity:1,transform:"scale(1)",offset:1})]))),im("* => hidden",Zg("100ms cubic-bezier(0, 0, 0.2, 1)",tm({opacity:0})))])},cw="tooltip-panel",uw=Ip({passive:!0}),hw=new oi("mat-tooltip-scroll-strategy"),dw={provide:hw,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition({scrollThrottle:20})}},pw=new oi("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});let fw=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u,h){this._overlay=t,this._elementRef=e,this._scrollDispatcher=n,this._viewContainerRef=i,this._ngZone=r,this._platform=s,this._ariaDescriber=o,this._focusMonitor=a,this._dir=c,this._defaultOptions=u,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new A,this._handleKeydown=t=>{this._isTooltipVisible()&&27===t.keyCode&&!uf(t)&&(t.preventDefault(),t.stopPropagation(),this._ngZone.run(()=>this.hide(0)))},this._scrollStrategy=l,this._document=h,u&&(u.position&&(this.position=u.position),u.touchGestures&&(this.touchGestures=u.touchGestures)),c.change.pipe(rp(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),r.runOutsideAngular(()=>{e.nativeElement.addEventListener("keydown",this._handleKeydown)})}get position(){return this._position}set position(t){var e;t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(e=this._tooltipInstance)||void 0===e||e.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=t?String(t).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(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(rp(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const t=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),t.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(([e,n])=>{t.removeEventListener(e,n,uw)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t)}show(t=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible()&&!this._tooltipInstance._showTimeoutId&&!this._tooltipInstance._hideTimeoutId)return;const e=this._createOverlay();this._detach(),this._portal=this._portal||new qp(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=e.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(rp(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),e=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return e.positionChanges.pipe(rp(this._destroyed)).subscribe(t=>{this._updateCurrentPositionClass(t.connectionPair),this._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:e,panelClass:`${this._cssClassPrefix}-${cw}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(rp(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(rp(this._destroyed)).subscribe(()=>{var t;return null===(t=this._tooltipInstance)||void 0===t?void 0:t._handleBodyInteraction()}),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(t){const e=t.getConfig().positionStrategy,n=this._getOrigin(),i=this._getOverlayPosition();e.withPositions([this._addOffset(Object.assign(Object.assign({},n.main),i.main)),this._addOffset(Object.assign(Object.assign({},n.fallback),i.fallback))])}_addOffset(t){return t}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;"above"==e||"below"==e?n={originX:"center",originY:"above"==e?"top":"bottom"}:"before"==e||"left"==e&&t||"right"==e&&!t?n={originX:"start",originY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(n={originX:"end",originY:"center"});const{x:i,y:r}=this._invertPosition(n.originX,n.originY);return{main:n,fallback:{originX:i,originY:r}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;"above"==e?n={overlayX:"center",overlayY:"bottom"}:"below"==e?n={overlayX:"center",overlayY:"top"}:"before"==e||"left"==e&&t||"right"==e&&!t?n={overlayX:"end",overlayY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(n={overlayX:"start",overlayY:"center"});const{x:i,y:r}=this._invertPosition(n.overlayX,n.overlayY);return{main:n,fallback:{overlayX:i,overlayY:r}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(rf(1),rp(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}}_updateCurrentPositionClass(t){const{overlayY:e,originX:n,originY:i}=t;let r;if(r="center"===e?this._dir&&"rtl"===this._dir.value?"end"===n?"left":"right":"start"===n?"left":"right":"bottom"===e&&"top"===i?"above":"below",r!==this._currentPosition){const t=this._overlayRef;if(t){const e=`${this._cssClassPrefix}-${cw}-`;t.removePanelClass(e+this._currentPosition),t.addPanelClass(e+r)}this._currentPosition=r}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const t=[];if(this._platformSupportsMouseEvents())t.push(["mouseleave",()=>this.hide()],["wheel",t=>this._wheelListener(t)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const e=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};t.push(["touchend",e],["touchcancel",e])}this._addListeners(t),this._passiveListeners.push(...t)}_addListeners(t){t.forEach(([t,e])=>{this._elementRef.nativeElement.addEventListener(t,e,uw)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(t){if(this._isTooltipVisible()){const e=this._document.elementFromPoint(t.clientX,t.clientY),n=this._elementRef.nativeElement;e!==n&&!n.contains(e)&&this.hide()}}_disableNativeGesturesIfNecessary(){const t=this.touchGestures;if("off"!==t){const e=this._elementRef.nativeElement,n=e.style;("on"===t||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName)&&(n.userSelect=n.msUserSelect=n.webkitUserSelect=n.MozUserSelect="none"),("on"===t||!e.draggable)&&(n.webkitUserDrag="none"),n.touchAction="none",n.webkitTapHighlightColor="transparent"}}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(Up),ea(pc),ea(Tu),ea(Ep),ea(xg),ea(Ug),ea(void 0),ea(Fp),ea(void 0),ea(th))},t.\u0275dir=se({type:t,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),t})(),gw=(()=>{class t extends fw{constructor(t,e,n,i,r,s,o,a,l,c,u,h){super(t,e,n,i,r,s,o,a,l,c,u,h),this._tooltipComponent=bw}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(Up),ea(pc),ea(Tu),ea(Ep),ea(xg),ea(Ug),ea(hw),ea(Fp,8),ea(pw,8),ea(th))},t.\u0275dir=se({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[jo]}),t})(),mw=(()=>{class t{constructor(t){this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new A}show(t){clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._showTimeoutId=void 0,this._onShow(),this._markForCheck()},t)}hide(t){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._hideTimeoutId=void 0,this._markForCheck()},t)}afterHidden(){return this._onHide}isVisible(){return"visible"===this._visibility}ngOnDestroy(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const e=t.toState;"hidden"===e&&!this.isVisible()&&this._onHide.next(),("visible"===e||"hidden"===e)&&(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_onShow(){}}return t.\u0275fac=function(e){return new(e||t)(ea(nc))},t.\u0275dir=se({type:t}),t})(),bw=(()=>{class t extends mw{constructor(t,e){super(t),this._breakpointObserver=e,this._isHandset=this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)")}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(X_))},t.\u0275cmp=Jt({type:t,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(t,e){2&t&&La("zoom","visible"===e._visibility?1:null)},features:[jo],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(t,e){if(1&t&&(ra(0,"div",0),fa("@state.start",function(){return e._animationStart()})("@state.done",function(t){return e._animationDone(t)}),Dc(1,"async"),Ja(2),sa()),2&t){let t;ja("mat-tooltip-handset",null==(t=Rc(1,5,e._isHandset))?null:t.matches),na("ngClass",e.tooltipClass)("@state",e._visibility),ws(2),tl(e.message)}},directives:[Oh],pipes:[$h],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[lw.tooltipState]},changeDetection:0}),t})(),yw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[dw],imports:[[qg,Wh,Wf,Wy],Wy,$p]}),t})();function vw(t,e,n,i){var r,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,n,i);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,n,o):r(e,n))||o);return s>3&&o&&Object.defineProperty(e,n,o),o}function _w(t,e){return function(n,i){e(n,i,t)}}function ww(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function xw(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(e){s(e)}}function a(t){try{l(i.throw(t))}catch(e){s(e)}}function l(t){t.done?r(t.value):function(t){return t instanceof n?t:new n(function(e){e(t)})}(t.value).then(o,a)}l((i=i.apply(t,e||[])).next())})}function Sw(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||e;return!!(n&&n.indexOf("Electron")>=0)}function Cw(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Sw()}const Ew="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",Ow=Cw();class Tw{constructor(t,e,n="sessionStorage"){this.storage=function(e){try{const t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(t){return null}}(n),this.id=t,this.config={},Object.assign(this.config,e),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){return this.config={},this.updateConfiguration(t)}updateConfiguration(t){if(Object.assign(this.config,t),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let t={};if(this.storage){const e=this.storage.getItem(this.id);t=e?JSON.parse(e):{}}return Object.assign(this.config,t),this}}function kw(t,e,n,i=600){const r=t.src.replace(/\(/g,"%28").replace(/\)/g,"%29");t.width>i&&(n=Math.min(n,i/t.width));const s=t.width*n,o=t.height*n,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const Pw={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Aw(t){return"string"==typeof t?Pw[t.toUpperCase()]||Pw.WHITE:t}function Mw(t,e){if(!t)throw new Error(e||"Assertion failed")}const Iw={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Dw=Iw.window||Iw.self||Iw.global,Rw=Iw.process||{};function Nw(){let t;if(Ow&&Dw.performance)t=Dw.performance.now();else if(Rw.hrtime){const e=Rw.hrtime();t=1e3*e[0]+e[1]/1e6}else t=Date.now();return t}console;const Lw={debug:Ow&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},jw={enabled:!0,level:0};function Fw(){}const Bw={},Vw={once:!0};function zw(t){for(const e in t)for(const n in t[e])return n||"untitled";return"empty"}let Uw=(()=>{class t{constructor({id:t}={id:""}){this.id=t,this.VERSION=Ew,this._startTs=Nw(),this._deltaTs=Nw(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Tw("__probe-".concat(this.id,"__"),jw),this.userData={},this.timeStamp("".concat(this.id," started")),function(t,e=["constructor"]){const n=Object.getPrototypeOf(t),i=Object.getOwnPropertyNames(n);for(const r of i)"function"==typeof t[r]&&(e.find(t=>r===t)||(t[r]=t[r].bind(t)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Nw()-this._startTs).toPrecision(10))}getDelta(){return Number((Nw()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,e){Mw(t,e)}warn(t){return this._getLogFunction(0,t,Lw.warn,arguments,Vw)}error(t){return this._getLogFunction(0,t,Lw.error,arguments)}deprecated(t,e){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(e,"` instead"))}removed(t,e){return this.error("`".concat(t,"` has been removed. Use `").concat(e,"` instead"))}probe(t,e){return this._getLogFunction(t,e,Lw.log,arguments,{time:!0,once:!0})}log(t,e){return this._getLogFunction(t,e,Lw.debug,arguments)}info(t,e){return this._getLogFunction(t,e,console.info,arguments)}once(t,e){return this._getLogFunction(t,e,Lw.debug||Lw.info,arguments,Vw)}table(t,e,n){return e?this._getLogFunction(t,e,console.table||Fw,n&&[n],{tag:zw(e)}):Fw}image({logLevel:t,priority:e,image:i,message:r="",scale:s=1}){return this._shouldLog(t||e)?Ow?function({image:t,message:e="",scale:n=1}){if("string"==typeof t){const i=new Image;return i.onload=()=>{const t=kw(i,e,n);console.log(...t)},i.src=t,Fw}const i=t.nodeName||"";if("img"===i.toLowerCase())return console.log(...kw(t,e,n)),Fw;if("canvas"===i.toLowerCase()){const i=new Image;return i.onload=()=>console.log(...kw(i,e,n)),i.src=t.toDataURL(),Fw}return Fw}({image:i,message:r,scale:s}):function({image:t,message:e="",scale:r=1}){let s=null;try{s=n(75307)}catch(i){}return s?()=>s(t,{fit:"box",width:"".concat(Math.round(80*r),"%")}).then(t=>console.log(t)):Fw}({image:i,message:r,scale:s}):Fw}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,e){this._storage.updateConfiguration({[t]:e})}time(t,e){return this._getLogFunction(t,e,console.time?console.time:console.info)}timeEnd(t,e){return this._getLogFunction(t,e,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,e){return this._getLogFunction(t,e,console.timeStamp||Fw)}group(t,e,n={collapsed:!1}){n=$w({logLevel:t,message:e,opts:n});const{collapsed:i}=n;return n.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}groupCollapsed(t,e,n={}){return this.group(t,e,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Fw)}withGroup(t,e,n){this.group(t,e)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=Hw(t)}_getLogFunction(t,e,n,i=[],r){if(this._shouldLog(t)){r=$w({logLevel:t,message:e,args:i,opts:r}),Mw(n=n||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=Nw();const s=r.tag||r.message;if(r.once){if(Bw[s])return Fw;Bw[s]=Nw()}return e=function(t,e,n){if("string"==typeof e){const i=n.time?function(t,e=8){const n=Math.max(e-t.length,0);return"".concat(" ".repeat(n)).concat(t)}(function(t){let e;return e=t<10?"".concat(t.toFixed(2),"ms"):t<100?"".concat(t.toFixed(1),"ms"):t<1e3?"".concat(t.toFixed(0),"ms"):"".concat((t/1e3).toFixed(2),"s"),e}(n.total)):"";e=function(t,e,n){return!Ow&&"string"==typeof t&&(e&&(e=Aw(e),t="\x1b[".concat(e,"m").concat(t,"\x1b[39m")),n&&(e=Aw(n),t="\x1b[".concat(n+10,"m").concat(t,"\x1b[49m"))),t}(e=n.time?"".concat(t,": ").concat(i," ").concat(e):"".concat(t,": ").concat(e),n.color,n.background)}return e}(this.id,r.message,r),n.bind(console,e,...r.args)}return Fw}}return t.VERSION=Ew,t})();function Hw(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return Mw(Number.isFinite(e)&&e>=0),e}function $w(t){const{logLevel:e,message:n}=t;t.logLevel=Hw(e);const i=t.args?Array.from(t.args):[];for(;i.length&&i.shift()!==n;);switch(t.args=i,typeof e){case"string":case"function":void 0!==n&&i.unshift(n),t.message=e;break;case"object":Object.assign(t,e)}"function"==typeof t.message&&(t.message=t.message());const r=typeof t.message;return Mw("string"===r||"object"===r),Object.assign(t,t.opts)}var Gw=new Uw({id:"deck"});const Ww={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Ww,"IDENTITY",{get:()=>Gw.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const qw={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},Xw={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},Yw=new Uw({id:"luma.gl"});function Kw(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}function Qw(t){return"undefined"!=typeof WebGLRenderingContext&&t instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&Number.isFinite(t._version))}function Zw(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&2===t._version)}function Jw(t){return Kw(Qw(t),"Invalid WebGLRenderingContext"),t}function tx(t){return Kw(Zw(t),"Requires WebGL2"),t}const ex={};const nx=function t(e){const n=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),e.reset_()},!0),this.reset_()};ix.prototype.VERTEX_ARRAY_BINDING_OES=34229,ix.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let t=0;tZw(t)?void 0:0,lx={3074:t=>Zw(t)?void 0:36064,35723:t=>Zw(t)?void 0:4352,35977:ax,32937:ax,36795:(t,e)=>{const n=Zw(t)?t.getExtension("EXT_disjoint_timer_query_webgl2"):t.getExtension("EXT_disjoint_timer_query");return n&&n.GPU_DISJOINT_EXT?e(n.GPU_DISJOINT_EXT):0},37445:(t,e)=>{const n=t.getExtension(ox);return e(n&&n.UNMASKED_VENDOR_WEBGL||7936)},37446:(t,e)=>{const n=t.getExtension(ox);return e(n&&n.UNMASKED_RENDERER_WEBGL||7937)},34047:(t,e)=>{const n=t.luma.extensions.EXT_texture_filter_anisotropic;return n?e(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:ax,35071:ax,37447:ax,36063:(t,e)=>{if(!Zw(t)){const n=t.getExtension(sx);return n?e(n.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:ax,35374:ax,35377:ax,34852:t=>{if(!Zw(t)){const e=t.getExtension(sx);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:t=>t.getExtension(rx)?2147483647:65535,33001:t=>t.getExtension(rx)?16777216:65535,33e3:t=>16777216,37157:ax,35373:ax,35657:ax,36183:ax,37137:ax,34045:ax,35978:ax,35979:ax,35968:ax,35376:ax,35375:ax,35659:ax,37154:ax,35371:ax,35658:ax,35076:ax,35077:ax,35380:ax},cx="ANGLE_instanced_arrays",ux={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{Kw(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[cx]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(t,e){Kw(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{Kw(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{Kw(!1)},deleteQuery:()=>{Kw(!1)},beginQuery:()=>{Kw(!1)},endQuery:()=>{},getQuery(t,e){return this.getQueryObject(t,e)},getQueryParameter(t,e){return this.getQueryObject(t,e)},getQueryObject:()=>{}}},hx={readBuffer:(t,e,n)=>{Zw(t)&&e(n)},getVertexAttrib:(t,e,n,i)=>{const{webgl2:r,ext:s}=function(t,e){return{webgl2:Zw(t),ext:t.getExtension("ANGLE_instanced_arrays")}}(t);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(n,i)},getProgramParameter:(t,e,n,i)=>{if(!Zw(t))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(n,i)},getInternalformatParameter:(t,e,n,i,r)=>{if(!Zw(t))switch(r){case 32937:return new Int32Array([0])}return t.getInternalformatParameter(n,i,r)},getTexParameter(t,e,n,i){switch(i){case 34046:const{extensions:e}=t.luma,n=e.EXT_texture_filter_anisotropic;i=n&&n.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(n,i)},getParameter:function(t,e,n){const i=lx[n],r="function"==typeof i?i(t,e,n):i;return void 0!==r?r:e(n)},hint:(t,e,n,i)=>e(n,i)};function dx(t,{extension:e,target:n,target2:i}){const r=ux[e];Kw(r);const{meta:s={}}=r,{suffix:o=""}=s,a=t.getExtension(e);for(const l of Object.keys(r)){const e=`${l}${o}`;let s=null;"meta"===l||"function"==typeof t[l]||(a&&"function"==typeof a[e]?s=(...t)=>a[e](...t):"function"==typeof r[l]&&(s=r[l].bind(n))),s&&(n[l]=s,i[l]=s)}}globalThis.polyfillContext=function(t){t.luma=t.luma||{};const{luma:e}=t;return e.polyfilled||(function(t){if("function"==typeof t.createVertexArray)return;const e=t.getSupportedExtensions;t.getSupportedExtensions=function(){const t=e.call(this)||[];return t.indexOf("OES_vertex_array_object")<0&&t.push("OES_vertex_array_object"),t};const n=t.getExtension;t.getExtension=function(e){return n.call(this,e)||("OES_vertex_array_object"!==e?null:(t.__OESVertexArrayObject||(this.__OESVertexArrayObject=new ix(this)),this.__OESVertexArrayObject))}}(t),function(t){t.luma.extensions={};const e=t.getSupportedExtensions()||[];for(const n of e)t.luma[n]=t.getExtension(n)}(t),function(t,e){for(const n of Object.getOwnPropertyNames(e))"overrides"!==n&&dx(t,{extension:n,target:t.luma,target2:t})}(t,ux),function(t,{target:e,target2:n}){Object.keys(hx).forEach(i=>{if("function"==typeof hx[i]){const r=t[i]?t[i].bind(t):()=>{},s=hx[i].bind(null,t,r);e[i]=s,n[i]=s}})}(t,{target:e,target2:t}),e.polyfilled=!0),t};const px={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},fx=(t,e,n)=>e?t.enable(n):t.disable(n),gx=(t,e,n)=>t.hint(n,e),mx=(t,e,n)=>t.pixelStorei(n,e);function bx(t){return Array.isArray(t)||ArrayBuffer.isView(t)}const yx={3042:fx,32773:(t,e)=>t.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(t,e)=>t.clearColor(...e),3107:(t,e)=>t.colorMask(...e),2884:fx,2885:(t,e)=>t.cullFace(e),2929:fx,2931:(t,e)=>t.clearDepth(e),2932:(t,e)=>t.depthFunc(e),2928:(t,e)=>t.depthRange(...e),2930:(t,e)=>t.depthMask(e),3024:fx,35723:gx,36006:(t,e)=>{const n=Zw(t)?36009:36160;return t.bindFramebuffer(n,e)},2886:(t,e)=>t.frontFace(e),33170:gx,2849:(t,e)=>t.lineWidth(e),32823:fx,32824:"polygonOffset",10752:"polygonOffset",35977:fx,32938:"sampleCoverage",32939:"sampleCoverage",3089:fx,3088:(t,e)=>t.scissor(...e),2960:fx,2961:(t,e)=>t.clearStencil(e),2968:(t,e)=>t.stencilMaskSeparate(1028,e),36005:(t,e)=>t.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(t,e)=>t.viewport(...e),3333:mx,3317:mx,37440:mx,37441:mx,37443:mx,3330:mx,3332:mx,3331:mx,36010:(t,e)=>t.bindFramebuffer(36008,e),3314:mx,32878:mx,3316:mx,3315:mx,32877:mx,framebuffer:(t,e)=>t.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(t,e)=>e?t.enable(3042):t.disable(3042),blendColor:(t,e)=>t.blendColor(...e),blendEquation:(t,e)=>{e=bx(e)?e:[e,e],t.blendEquationSeparate(...e)},blendFunc:(t,e)=>{e=bx(e)&&2===e.length?[...e,...e]:e,t.blendFuncSeparate(...e)},clearColor:(t,e)=>t.clearColor(...e),clearDepth:(t,e)=>t.clearDepth(e),clearStencil:(t,e)=>t.clearStencil(e),colorMask:(t,e)=>t.colorMask(...e),cull:(t,e)=>e?t.enable(2884):t.disable(2884),cullFace:(t,e)=>t.cullFace(e),depthTest:(t,e)=>e?t.enable(2929):t.disable(2929),depthFunc:(t,e)=>t.depthFunc(e),depthMask:(t,e)=>t.depthMask(e),depthRange:(t,e)=>t.depthRange(...e),dither:(t,e)=>e?t.enable(3024):t.disable(3024),derivativeHint:(t,e)=>{t.hint(35723,e)},frontFace:(t,e)=>t.frontFace(e),mipmapHint:(t,e)=>t.hint(33170,e),lineWidth:(t,e)=>t.lineWidth(e),polygonOffsetFill:(t,e)=>e?t.enable(32823):t.disable(32823),polygonOffset:(t,e)=>t.polygonOffset(...e),sampleCoverage:(t,e)=>t.sampleCoverage(...e),scissorTest:(t,e)=>e?t.enable(3089):t.disable(3089),scissor:(t,e)=>t.scissor(...e),stencilTest:(t,e)=>e?t.enable(2960):t.disable(2960),stencilMask:(t,e)=>{e=bx(e)?e:[e,e];const[n,i]=e;t.stencilMaskSeparate(1028,n),t.stencilMaskSeparate(1029,i)},stencilFunc:(t,e)=>{e=bx(e)&&3===e.length?[...e,...e]:e;const[n,i,r,s,o,a]=e;t.stencilFuncSeparate(1028,n,i,r),t.stencilFuncSeparate(1029,s,o,a)},stencilOp:(t,e)=>{e=bx(e)&&3===e.length?[...e,...e]:e;const[n,i,r,s,o,a]=e;t.stencilOpSeparate(1028,n,i,r),t.stencilOpSeparate(1029,s,o,a)},viewport:(t,e)=>t.viewport(...e)};function vx(t,e,n){return void 0!==e[t]?e[t]:n[t]}const _x={blendEquation:(t,e,n)=>t.blendEquationSeparate(vx(32777,e,n),vx(34877,e,n)),blendFunc:(t,e,n)=>t.blendFuncSeparate(vx(32969,e,n),vx(32968,e,n),vx(32971,e,n),vx(32970,e,n)),polygonOffset:(t,e,n)=>t.polygonOffset(vx(32824,e,n),vx(10752,e,n)),sampleCoverage:(t,e,n)=>t.sampleCoverage(vx(32938,e,n),vx(32939,e,n)),stencilFuncFront:(t,e,n)=>t.stencilFuncSeparate(1028,vx(2962,e,n),vx(2967,e,n),vx(2963,e,n)),stencilFuncBack:(t,e,n)=>t.stencilFuncSeparate(1029,vx(34816,e,n),vx(36003,e,n),vx(36004,e,n)),stencilOpFront:(t,e,n)=>t.stencilOpSeparate(1028,vx(2964,e,n),vx(2965,e,n),vx(2966,e,n)),stencilOpBack:(t,e,n)=>t.stencilOpSeparate(1029,vx(34817,e,n),vx(34818,e,n),vx(34819,e,n))},wx={enable:(t,e)=>t({[e]:!0}),disable:(t,e)=>t({[e]:!1}),pixelStorei:(t,e,n)=>t({[e]:n}),hint:(t,e,n)=>t({[e]:n}),bindFramebuffer:(t,e,n)=>{switch(e){case 36160:return t({36006:n,36010:n});case 36009:return t({36006:n});case 36008:return t({36010:n});default:return null}},blendColor:(t,e,n,i,r)=>t({32773:new Float32Array([e,n,i,r])}),blendEquation:(t,e)=>t({32777:e,34877:e}),blendEquationSeparate:(t,e,n)=>t({32777:e,34877:n}),blendFunc:(t,e,n)=>t({32969:e,32968:n,32971:e,32970:n}),blendFuncSeparate:(t,e,n,i,r)=>t({32969:e,32968:n,32971:i,32970:r}),clearColor:(t,e,n,i,r)=>t({3106:new Float32Array([e,n,i,r])}),clearDepth:(t,e)=>t({2931:e}),clearStencil:(t,e)=>t({2961:e}),colorMask:(t,e,n,i,r)=>t({3107:[e,n,i,r]}),cullFace:(t,e)=>t({2885:e}),depthFunc:(t,e)=>t({2932:e}),depthRange:(t,e,n)=>t({2928:new Float32Array([e,n])}),depthMask:(t,e)=>t({2930:e}),frontFace:(t,e)=>t({2886:e}),lineWidth:(t,e)=>t({2849:e}),polygonOffset:(t,e,n)=>t({32824:e,10752:n}),sampleCoverage:(t,e,n)=>t({32938:e,32939:n}),scissor:(t,e,n,i,r)=>t({3088:new Int32Array([e,n,i,r])}),stencilMask:(t,e)=>t({2968:e,36005:e}),stencilMaskSeparate:(t,e,n)=>t({[1028===e?2968:36005]:n}),stencilFunc:(t,e,n,i)=>t({2962:e,2967:n,2963:i,34816:e,36003:n,36004:i}),stencilFuncSeparate:(t,e,n,i,r)=>t({[1028===e?2962:34816]:n,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(t,e,n,i)=>t({2964:e,2965:n,2966:i,34817:e,34818:n,34819:i}),stencilOpSeparate:(t,e,n,i,r)=>t({[1028===e?2964:34817]:n,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(t,e,n,i,r)=>t({2978:[e,n,i,r]})},xx=(t,e)=>t.isEnabled(e),Sx={3042:xx,2884:xx,2929:xx,3024:xx,32823:xx,32926:xx,32928:xx,3089:xx,2960:xx,35977:xx};function Cx(t){for(const e in t)return!1;return!0}function Ex(t,e){if(t===e)return!0;const n=Array.isArray(t)||ArrayBuffer.isView(t),i=Array.isArray(e)||ArrayBuffer.isView(e);if(n&&i&&t.length===e.length){for(let n=0;n{})}={}){this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=e?function(t,e){if("number"==typeof(e=e||px)){const n=e,i=Sx[n];return i?i(t,n):t.getParameter(n)}const n=Array.isArray(e)?e:Object.keys(e),i={};for(const r of n){const e=Sx[r];i[r]=e?e(t,Number(r)):t.getParameter(Number(r))}return i}(t):Object.assign({},px),this.log=n,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(t={}){this.stateStack.push({})}pop(){Kw(this.stateStack.length>0),Mx(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(t){let e,n=!1;const i=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const r in t){Kw(void 0!==r);const s=t[r],o=this.cache[r];Ex(s,o)||(n=!0,e=o,i&&!(r in i)&&(i[r]=o),this.cache[r]=s)}return{valueChanged:n,oldValue:e}}}function Px(t,e={}){const{enable:n=!0,copyState:i}=e;if(Kw(void 0!==i),!t.state){const{polyfillContext:e}=globalThis;e&&e(t),t.state=new kx(t,{copyState:i}),function(t){const e=t.useProgram.bind(t);t.useProgram=function(n){t.state.program!==n&&(e(n),t.state.program=n)}}(t);for(const n in wx)Tx(t,n,wx[n]);Ox(t,"getParameter"),Ox(t,"isEnabled")}return t.state.enable=n,t}function Ax(t){Kw(t.state),t.state.pop()}function Mx(t,e){if(Kw(Qw(t),"setParameters requires a WebGL context"),Cx(e))return;const n={};for(const r in e){const i=Number(r),s=yx[r];s&&("string"==typeof s?n[s]=!0:s(t,e[r],i))}const i=t.state&&t.state.cache;if(i)for(const r in n)_x[r](t,e,i)}function Ix(t,e,n){if(Cx(e))return n(t);const{nocatch:i=!0}=e;let r;if(function(t){t.state||Px(t,{copyState:!1}),t.state.push()}(t),Mx(t,e),i)r=n(t),Ax(t);else try{r=n(t)}finally{Ax(t)}return r}function Dx(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function Rx(t){const{luma:e}=t;if(t.canvas&&e){const{clientWidth:n}=e.canvasSizeInfo;return n?t.drawingBufferWidth/n:1}return 1}function Nx(t,e,n=!0){return function(t,e,n,i,r){const s=Lx(t[0],e,n);let o=jx(t[1],e,i,r),a=Lx(t[0]+1,e,n);const l=a===n-1?a:a-1;let c;return a=jx(t[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,Rx(t),t.drawingBufferWidth,t.drawingBufferHeight,n)}function Lx(t,e,n){return Math.min(Math.round(t*e),n-1)}function jx(t,e,n,i){return i?Math.max(0,n-1-Math.round(t*e)):Math.min(Math.round(t*e),n-1)}const Fx=Dx(),Bx=Fx&&"undefined"!=typeof document,Vx={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function zx(t={}){Kw(Fx,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),t=Object.assign({},Vx,t);const{width:e,height:n}=t;function i(e){if(t.throwOnError)throw new Error(e);return console.error(e),null}let r;t.onError=i;const{canvas:s}=t,o=function({canvas:t,width:e=800,height:n=600,onError:i}){let r;return"string"==typeof t?(Bx&&"complete"===document.readyState||i(`createGLContext called on canvas '${t}' before page was loaded`),r=document.getElementById(t)):t?r=t:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(n)?`${n}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:n,onError:i});return r=function(t,e){const{onError:n}=e;let i=null;const r=t=>i=t.statusMessage||i;t.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||t.getContext("webgl2",e),a=a||t.getContext("experimental-webgl2",e)),s&&(a=a||t.getContext("webgl",e),a=a||t.getContext("experimental-webgl",e)),t.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&t.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&t.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):n(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,t),r?(r=Ux(r,t),function(t){const e=Zw(t)?"WebGL2":"WebGL1",n=function(t){const e=t.getParameter(7936),n=t.getParameter(7937),i=t.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&t.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&t.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||n,vendorMasked:e,rendererMasked:n,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t);Yw.info(1,`${e}${t.debug?" debug":""} context ${n?`(${n.vendor},${n.renderer})`:""}`)()}(r),r):null}function Ux(t,e={}){if(!t||t._instrumented)return t;t._version=t._version||function(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext?2:1}(t),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{},e=Object.assign({},Vx,e);const{manageState:n,debug:i}=e;return n&&Px(t,{copyState:!1,log:(...t)=>Yw.log(1,...t)()}),Fx&&i&&(globalThis.makeDebugContext?(t=globalThis.makeDebugContext(t,e),Yw.level=Math.max(Yw.level,1)):Yw.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),t._instrumented=!0,t}function Hx(){let t;if("undefined"!=typeof window&&window.performance)t=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();t=1e3*e[0]+e[1]/1e6}else t=Date.now();return t}class $x{constructor(t,e){this.name=t,this.type=e,this.sampleSize=1,this.reset()}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=Hx(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Hx()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class Gx{constructor({id:t,stats:e}){this.id=t,this.stats={},this._initializeStats(e),Object.seal(this)}get(t,e="count"){return this._getOrCreate({name:t,type:e})}get size(){return Object.keys(this.stats).length}reset(){for(const t in this.stats)this.stats[t].reset();return this}forEach(t){for(const e in this.stats)t(this.stats[e])}getTable(){const t={};return this.forEach(e=>{t[e.name]={time:e.time||0,count:e.count||0,average:e.getAverageTime()||0,hz:e.getHz()||0}}),t}_initializeStats(t=[]){t.forEach(t=>this._getOrCreate(t))}_getOrCreate(t){if(!t||!t.name)return null;const{name:e,type:n}=t;return this.stats[e]||(this.stats[e]=t instanceof $x?t:new $x(e,n)),this.stats[e]}}const Wx="8.5.12",qx=new class{constructor(){this.stats=new Map}get(t){return this.stats.has(t)||this.stats.set(t,new Gx({id:t})),this.stats.get(t)}};if(globalThis.luma&&globalThis.luma.VERSION!==Wx)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${Wx}`);function Xx(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}function Yx(t,e){if("string"!=typeof e)return e;const n=Number(e);if(!isNaN(n))return n;const i=t[e=e.replace(/^.*\./,"")];return Xx(void 0!==i,`Accessing undefined constant GL.${e}`),i}function Kx(t,e){e=Number(e);for(const n in t)if(t[n]===e)return`GL.${n}`;return String(e)}globalThis.luma||(Dx()&&Yw.log(1,`luma.gl ${Wx} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:Wx,version:Wx,log:Yw,stats:qx,globals:{modules:{},nodeIO:{}}}),globalThis;const Qx={};function Zx(t="id"){return Qx[t]=Qx[t]||1,`${t}-${Qx[t]++}`}function Jx(t){return Xx("number"==typeof t,"Input must be a number"),t&&0==(t&t-1)}function tS(t){let e=!0;for(const n in t){e=!1;break}return e}function eS(t,e,n,i){const r=`See luma.gl ${n} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(t);i.forEach(t=>{s.methodName||(s[t]=()=>{throw Yw.removed(`Calling removed method ${e}.${t}: `,r)(),new Error(t)})})}const nS="Resource subclass must define virtual methods";class iS{get[Symbol.toStringTag](){return"Resource"}constructor(t,e={}){Jw(t);const{id:n,userData:i={}}=e;this.gl=t,this.gl2=t,this.id=n||Zx(this[Symbol.toStringTag]),this.userData=i,this._bound=!1,this._handle=e.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:t=!1}={}){const e=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,e&&t&&e.filter(Boolean).forEach(t=>t.delete()),this}bind(t=this.handle){if("function"!=typeof t)return this._bindHandle(t),this;let e;return this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e}unbind(){this.bind(null)}getParameter(t,e={}){Xx(t=Yx(this.gl,t));const n=(this.constructor.PARAMETERS||{})[t];if(n){const t=Zw(this.gl);if("webgl2"in n&&!t||"extension"in n&&!this.gl.getExtension(n.extension)){const e=n.webgl1,i="webgl2"in n?n.webgl2:n.webgl1;return t?i:e}}return this._getParameter(t,e)}getParameters(t={}){const{parameters:e,keys:n}=t,i=this.constructor.PARAMETERS||{},r=Zw(this.gl),s={},o=e||Object.keys(i);for(const a of o){const e=i[a];if(e&&(!("webgl2"in e)||r)&&(!("extension"in e)||this.gl.getExtension(e.extension))){const i=n?Kx(this.gl,a):a;s[i]=this.getParameter(a,t),n&&"GLenum"===e.type&&(s[i]=Kx(this.gl,s[i]))}}return s}setParameter(t,e){Xx(t=Yx(this.gl,t));const n=(this.constructor.PARAMETERS||{})[t];if(n){const t=Zw(this.gl);if("webgl2"in n&&!t||"extension"in n&&!this.gl.getExtension(n.extension))throw new Error("Parameter not available on this platform");"GLenum"===n.type&&(e=Yx(e))}return this._setParameter(t,e),this}setParameters(t){for(const e in t)this.setParameter(e,t[e]);return this}stubRemovedMethods(t,e,n){return eS(this,t,e,n)}initialize(t){}_createHandle(){throw new Error(nS)}_deleteHandle(){throw new Error(nS)}_bindHandle(t){throw new Error(nS)}_getOptsFromHandle(){throw new Error(nS)}_getParameter(t,e){throw new Error(nS)}_setParameter(t,e){throw new Error(nS)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const t=this[Symbol.toStringTag],e=qx.get("Resource Counts");e.get("Resources Created").incrementCount(),e.get(`${t}s Created`).incrementCount(),e.get(`${t}s Active`).incrementCount()}_removeStats(){const t=this[Symbol.toStringTag];qx.get("Resource Counts").get(`${t}s Active`).decrementCount()}_trackAllocatedMemory(t,e=this[Symbol.toStringTag]){const n=qx.get("Memory Usage");n.get("GPU Memory").addCount(t),n.get(`${e} Memory`).addCount(t),this.byteLength=t}_trackDeallocatedMemory(t=this[Symbol.toStringTag]){const e=qx.get("Memory Usage");e.get("GPU Memory").subtractCount(this.byteLength),e.get(`${t} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function rS(t){switch(ArrayBuffer.isView(t)?t.constructor:t){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function sS(t,{clamped:e=!0}={}){switch(t){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function oS({data:t,width:e,height:n}){const i=Math.round(e/2),r=Math.round(n/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return uS.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return uS.getBytesPerVertex(this)}_assign(t={}){return void 0!==(t=aS("Accessor",t,cS)).type&&(this.type=t.type,(5124===t.type||5125===t.type)&&(this.integer=!0)),void 0!==t.size&&(this.size=t.size),void 0!==t.offset&&(this.offset=t.offset),void 0!==t.stride&&(this.stride=t.stride),void 0!==t.normalized&&(this.normalized=t.normalized),void 0!==t.integer&&(this.integer=t.integer),void 0!==t.divisor&&(this.divisor=t.divisor),void 0!==t.buffer&&(this.buffer=t.buffer),void 0!==t.index&&(this.index="boolean"==typeof t.index?t.index?1:0:t.index),void 0!==t.instanced&&(this.divisor=t.instanced?1:0),void 0!==t.isInstanced&&(this.divisor=t.isInstanced?1:0),this}}const hS={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},dS={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:hS},pS={removedProps:hS};class fS extends iS{get[Symbol.toStringTag](){return"Buffer"}constructor(t,e={}){super(t,e),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=e.target||(this.gl.webgl2?36662:34962),this.initialize(e),Object.seal(this)}getElementCount(t=this.accessor){return Math.round(this.byteLength/uS.getBytesPerElement(t))}getVertexCount(t=this.accessor){return Math.round(this.byteLength/uS.getBytesPerVertex(t))}initialize(t={}){return ArrayBuffer.isView(t)&&(t={data:t}),Number.isFinite(t)&&(t={byteLength:t}),t=aS("Buffer",t,dS),this.usage=t.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},t,t.accessor)),t.data?this._setData(t.data,t.offset,t.byteLength):this._setByteLength(t.byteLength||0),this}setProps(t){return"accessor"in(t=aS("Buffer",t,pS))&&this.setAccessor(t.accessor),this}setAccessor(t){return delete(t=Object.assign({},t)).buffer,this.accessor=new uS(t),this}reallocate(t){return t>this.byteLength?(this._setByteLength(t),!0):(this.bytesUsed=t,!1)}setData(t){return this.initialize(t)}subData(t){ArrayBuffer.isView(t)&&(t={data:t});const{data:e,offset:n=0,srcOffset:i=0}=t,r=t.byteLength||t.length;Xx(e);const s=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(s,this.handle),0!==i||void 0!==r?(tx(this.gl),this.gl.bufferSubData(this.target,n,e,i,r)):this.gl.bufferSubData(s,n,e),this.gl.bindBuffer(s,null),this.debugData=null,this._inferType(e),this}copyData({sourceBuffer:t,readOffset:e=0,writeOffset:n=0,size:i}){const{gl:r}=this;return tx(r),r.bindBuffer(36662,t.handle),r.bindBuffer(36663,this.handle),r.copyBufferSubData(36662,36663,e,n,i),r.bindBuffer(36662,null),r.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:t=null,srcByteOffset:e=0,dstOffset:n=0,length:i=0}={}){tx(this.gl);const r=sS(this.accessor.type||5126,{clamped:!1}),s=this._getAvailableElementCount(e),o=n;let a,l;t?(l=t.length,a=l-o):(a=Math.min(s,i||s),l=o+a);const c=Math.min(s,a);return Xx((i=i||c)<=c),t=t||new r(l),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,e,t,n,i),this.gl.bindBuffer(36662,null),t}bind({target:t=this.target,index:e=this.accessor&&this.accessor.index,offset:n=0,size:i}={}){return 35345===t||35982===t?void 0!==i?this.gl.bindBufferRange(t,e,this.handle,n,i):(Xx(0===n),this.gl.bindBufferBase(t,e,this.handle)):this.gl.bindBuffer(t,this.handle),this}unbind({target:t=this.target,index:e=this.accessor&&this.accessor.index}={}){return 35345===t||35982===t?this.gl.bindBufferBase(t,e,null):this.gl.bindBuffer(t,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(t,e=0,n=t.byteLength+e){Xx(ArrayBuffer.isView(t)),this._trackDeallocatedMemory();const i=this._getTarget();this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,this.usage),this.gl.bufferSubData(i,e,t),this.gl.bindBuffer(i,null),this.debugData=t.slice(0,10),this.bytesUsed=n,this._trackAllocatedMemory(n);const r=rS(t);return Xx(r),this.setAccessor(new uS(this.accessor,{type:r})),this}_setByteLength(t,e=this.usage){Xx(t>=0),this._trackDeallocatedMemory();let n=t;0===t&&(n=new Float32Array(0));const i=this._getTarget();return this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,e),this.gl.bindBuffer(i,null),this.usage=e,this.debugData=null,this.bytesUsed=t,this._trackAllocatedMemory(t),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(t){const e=t/sS(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-e}_inferType(t){this.accessor.type||this.setAccessor(new uS(this.accessor,{type:rS(t)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(t){this.gl.bindBuffer(this.target,this.handle);const e=this.gl.getBufferParameter(this.target,t);return this.gl.bindBuffer(this.target,null),e}get type(){return Yw.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return Yw.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(t){return Yw.deprecated("setByteLength","reallocate")(),this.reallocate(t)}updateAccessor(t){return Yw.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new uS(this.accessor,t),this}}const gS={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},mS={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},bS={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},yS=[9729,9728],vS=globalThis.WebGLBuffer||function(){};class _S extends iS{get[Symbol.toStringTag](){return"Texture"}static isSupported(t,e={}){const{format:n,linearFiltering:i}=e;let r=!0;return n&&(r=r&&function(t,e){const n=gS[e];if(!n)return!1;if(void 0===n.gl1&&void 0===n.gl2)return!0;const i=Zw(t)&&n.gl2||n.gl1;return"string"==typeof i?t.getExtension(i):i}(t,n),r=r&&(!i||function(t,e){const n=gS[e];switch(n&&n.types[0]){case 5126:return t.getExtension("OES_texture_float_linear");case 5131:return t.getExtension("OES_texture_half_float_linear");default:return!0}}(t,n))),r}constructor(t,e){const{id:n=Zx("texture"),handle:i,target:r}=e;super(t,{id:n,handle:i}),this.target=r,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(t={}){let e=t.data;if(e instanceof Promise)return e.then(e=>this.initialize(Object.assign({},t,{pixels:e,data:e}))),this;const n="undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement;if(n&&e.readyStatethis.initialize(t)),this;const{pixels:i=null,format:r=6408,border:s=0,recreate:o=!1,parameters:a={},pixelStore:l={},textureUnit:c}=t;e||(e=i);let{width:u,height:h,dataFormat:d,type:p,compressed:f=!1,mipmaps:g=!0}=t;const{depth:m=0}=t;return({width:u,height:h,compressed:f,dataFormat:d,type:p}=this._deduceParameters({format:r,type:p,dataFormat:d,compressed:f,data:e,width:u,height:h})),this.width=u,this.height=h,this.depth=m,this.format=r,this.type=p,this.dataFormat=d,this.border=s,this.textureUnit=c,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),g&&this._isNPOT()&&(Yw.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),g=!1,this._updateForNPOT(a)),this.mipmaps=g,this.setImageData({data:e,width:u,height:h,depth:m,format:r,type:p,dataFormat:d,border:s,mipmaps:g,parameters:l,compressed:f}),g&&this.generateMipmap(),this.setParameters(a),o&&(this.data=e),n&&(this._video={video:e,parameters:a,lastTime:e.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?e.currentTime:-1}),this}update(){if(this._video){const{video:t,parameters:e,lastTime:n}=this._video;if(n===t.currentTime||t.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(t){this._trackDeallocatedMemory("Texture");const{target:e=this.target,pixels:n=null,level:i=0,format:r=this.format,border:s=this.border,offset:o=0,parameters:a={}}=t;let{data:l=null,type:c=this.type,width:u=this.width,height:h=this.height,dataFormat:d=this.dataFormat,compressed:p=!1}=t;l||(l=n),({type:c,dataFormat:d,compressed:p,width:u,height:h}=this._deduceParameters({format:r,type:c,dataFormat:d,compressed:p,data:l,width:u,height:h}));const{gl:f}=this;f.bindTexture(this.target,this.handle);let g=null;({data:l,dataType:g}=this._getDataType({data:l,compressed:p}));let m,b=0;return Ix(this.gl,a,()=>{switch(g){case"null":f.texImage2D(e,i,r,u,h,s,d,c,l);break;case"typed-array":f.texImage2D(e,i,r,u,h,s,d,c,l,o);break;case"buffer":m=tx(f),m.bindBuffer(35052,l.handle||l),m.texImage2D(e,i,r,u,h,s,d,c,o),m.bindBuffer(35052,null);break;case"browser-object":Zw(f)?f.texImage2D(e,i,r,u,h,s,d,c,l):f.texImage2D(e,i,r,d,c,l);break;case"compressed":for(const[t,n]of l.entries())f.compressedTexImage2D(e,t,n.format,n.width,n.height,s,n.data),b+=n.levelSize;break;default:Xx(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===g?b:l&&l.byteLength?l.byteLength:this.width*this.height*(mS[this.dataFormat]||4)*(bS[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:t=this.target,pixels:e=null,data:n=null,x:i=0,y:r=0,width:s=this.width,height:o=this.height,level:a=0,format:l=this.format,type:c=this.type,dataFormat:u=this.dataFormat,compressed:h=!1,offset:d=0,border:p=this.border,parameters:f={}}){if(({type:c,dataFormat:u,compressed:h,width:s,height:o}=this._deduceParameters({format:l,type:c,dataFormat:u,compressed:h,data:n,width:s,height:o})),Xx(0===this.depth,"texSubImage not supported for 3D textures"),n||(n=e),n&&n.data){const t=n;n=t.data,s=t.shape[0],o=t.shape[1]}n instanceof fS&&(n=n.handle),this.gl.bindTexture(this.target,this.handle),Ix(this.gl,f,()=>{if(h)this.gl.compressedTexSubImage2D(t,a,i,r,s,o,l,n);else if(null===n)this.gl.texSubImage2D(t,a,i,r,s,o,u,c,null);else if(ArrayBuffer.isView(n))this.gl.texSubImage2D(t,a,i,r,s,o,u,c,n,d);else if(n instanceof vS){const e=tx(this.gl);e.bindBuffer(35052,n),e.texSubImage2D(t,a,i,r,s,o,u,c,d),e.bindBuffer(35052,null)}else Zw(this.gl)?tx(this.gl).texSubImage2D(t,a,i,r,s,o,u,c,n):this.gl.texSubImage2D(t,a,i,r,u,c,n)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(t={}){return Yw.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(t=this.textureUnit){const{gl:e}=this;return void 0!==t&&(this.textureUnit=t,e.activeTexture(33984+t)),e.bindTexture(this.target,this.handle),t}unbind(t=this.textureUnit){const{gl:e}=this;return void 0!==t&&(this.textureUnit=t,e.activeTexture(33984+t)),e.bindTexture(this.target,null),t}_getDataType({data:t,compressed:e=!1}){return e?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof fS?{data:t.handle,dataType:"buffer"}:t instanceof vS?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}_deduceParameters(t){const{format:e,data:n}=t;let{width:i,height:r,dataFormat:s,type:o,compressed:a}=t;const l=gS[e];return s=s||l&&l.dataFormat,o=o||l&&l.types[0],a=a||l&&l.compressed,({width:i,height:r}=this._deduceImageSize(n,i,r)),{dataFormat:s,type:o,compressed:a,width:i,height:r,format:e,data:n}}_deduceImageSize(t,e,n){let i;return i="undefined"!=typeof ImageData&&t instanceof ImageData?{width:t.width,height:t.height}:"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement?{width:t.naturalWidth,height:t.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?{width:t.width,height:t.height}:"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement?{width:t.videoWidth,height:t.videoHeight}:t?{width:e,height:n}:{width:e>=0?e:1,height:n>=0?n:1},Xx(i,"Could not deduced texture size"),Xx(void 0===e||i.width===e,"Deduced texture width does not match supplied width"),Xx(void 0===n||i.height===n,"Deduced texture height does not match supplied height"),i}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(t){switch(t){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const e=this.gl.getTexParameter(this.target,t);return this.gl.bindTexture(this.target,null),e}}_setParameter(t,e){switch(this.gl.bindTexture(this.target,this.handle),e=this._getNPOTParam(t,e),t){case 33082:case 33083:this.gl.texParameterf(this.handle,t,e);break;case 4096:case 4097:Xx(!1);break;default:this.gl.texParameteri(this.target,t,e)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Zw(this.gl)||!this.width||!this.height||Jx(this.width)&&Jx(this.height))}_updateForNPOT(t){void 0===t[this.gl.TEXTURE_MIN_FILTER]&&(t[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===t[this.gl.TEXTURE_WRAP_S]&&(t[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===t[this.gl.TEXTURE_WRAP_T]&&(t[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(t,e){if(this._isNPOT())switch(t){case 10241:-1===yS.indexOf(e)&&(e=9729);break;case 10242:case 10243:33071!==e&&(e=33071)}return e}}function wS(t,e){return Xx("string"==typeof t),t=""+t,new Promise((n,i)=>{try{const r=new Image;r.onload=()=>n(r),r.onerror=()=>i(new Error(`Could not load image ${t}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=t}catch(r){i(r)}})}class xS extends _S{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(t,e){return _S.isSupported(t,e)}constructor(t,e={}){Jw(t),(e instanceof Promise||"string"==typeof e)&&(e={data:e}),"string"==typeof e.data&&(e=Object.assign({},e,{data:wS(e.data)})),super(t,Object.assign({},e,{target:3553})),this.initialize(e),Object.seal(this)}}const SS="EXT_color_buffer_float";var CS={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:SS,bpp:2},33327:{gl2:SS,bpp:4},34842:{gl2:SS,bpp:8},33326:{gl2:SS,bpp:4},33328:{gl2:SS,bpp:8},34836:{gl2:SS,bpp:16},35898:{gl2:SS,bpp:4}};class ES extends iS{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(t,{format:e}={format:null}){return!e||function(t,e,n){const i=n[e];if(!i)return!1;const r=Zw(t)&&i.gl2||i.gl1;return"string"==typeof r?t.getExtension(r):r}(t,e,CS)}static getSamplesForFormat(t,{format:e}){return t.getInternalformatParameter(36161,e,32937)}constructor(t,e={}){super(t,e),this.initialize(e),Object.seal(this)}initialize({format:t,width:e=1,height:n=1,samples:i=0}){return Xx(t,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==i&&Zw(this.gl)?this.gl.renderbufferStorageMultisample(36161,i,t,e,n):this.gl.renderbufferStorage(36161,t,e,n),this.format=t,this.width=e,this.height=n,this.samples=i,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*CS[this.format].bpp),this}resize({width:t,height:e}){return t!==this.width||e!==this.height?this.initialize({width:t,height:e,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(t){this.gl.bindRenderbuffer(36161,t)}_syncHandle(t){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(t){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,t)}}const OS="clear: bad arguments";function TS(t,{framebuffer:e=null,color:n=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;n&&(o|=16384,!0!==n&&(s.clearColor=n)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),Xx(0!==o,OS),Ix(t,s,()=>{t.clear(o)})}function kS(t,e,n,i,r,s,o){try{var a=t[s](o),l=a.value}catch(c){return void n(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function PS(t){return function(){var e=this,n=arguments;return new Promise(function(i,r){var s=t.apply(e,n);function o(t){kS(s,i,r,o,a,"next",t)}function a(t){kS(s,i,r,o,a,"throw",t)}o(void 0)})}}const AS=[34069,34070,34071,34072,34073,34074];let MS=(()=>{class t extends _S{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,e={}){Jw(t),super(t,Object.assign({},e,{target:34067})),this.initialize(e),Object.seal(this)}initialize(t={}){const{mipmaps:e=!0,parameters:n={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,e&&this.generateMipmap(t),this.setParameters(n)}),this}subImage({face:t,data:e,x:n=0,y:i=0,mipmapLevel:r=0}){return this._subImage({target:t,data:e,x:n,y:i,mipmapLevel:r})}setCubeMapImageData({width:t,height:e,pixels:n,data:i,border:r=0,format:s=6408,type:o=5121}){var a=this;return PS(function*(){const{gl:l}=a,c=n||i,u=yield Promise.all(AS.map(t=>{const e=c[t];return Promise.all(Array.isArray(e)?e:[e])}));a.bind(),AS.forEach((n,i)=>{u[i].length>1&&!1!==a.opts.mipmaps&&Yw.warn(`${a.id} has mipmap and multiple LODs.`)(),u[i].forEach((i,a)=>{t&&e?l.texImage2D(n,a,s,t,e,r,s,o,i):l.texImage2D(n,a,s,s,o,i)})}),a.unbind()})()}setImageDataForFace(t){const{face:e,width:n,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}=t,{gl:c}=this,u=r||s;return this.bind(),u instanceof Promise?u.then(n=>this.setImageDataForFace(Object.assign({},t,{face:e,data:n,pixels:n}))):this.width||this.height?c.texImage2D(e,0,a,n,i,o,a,l,u):c.texImage2D(e,0,a,a,l,u),this}}return t.FACES=AS,t})();class IS extends _S{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(t){return Zw(t)}constructor(t,e={}){tx(t),super(t,e=Object.assign({depth:1},e,{target:32879,unpackFlipY:!1})),this.initialize(e),Object.seal(this)}setImageData({level:t=0,dataFormat:e=6408,width:n,height:i,depth:r=1,border:s=0,format:o,type:a=5121,offset:l=0,data:c,parameters:u={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),Ix(this.gl,u,()=>{ArrayBuffer.isView(c)&&this.gl.texImage3D(this.target,t,e,n,i,r,s,o,a,c),c instanceof fS&&(this.gl.bindBuffer(35052,c.handle),this.gl.texImage3D(this.target,t,e,n,i,r,s,o,a,l))}),this._trackAllocatedMemory(c&&c.byteLength?c.byteLength:this.width*this.height*this.depth*(mS[this.dataFormat]||4)*(bS[this.type]||1),"Texture"),this.loaded=!0,this}}function DS(t,e){Xx(t instanceof xS||t instanceof MS||t instanceof IS);const n=t.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=t;return new n(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function RS(t,e){const{gl:n,width:i,height:r,id:s}=t;return new BS(n,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:t}}))}function NS(t,e={}){const{sourceX:n=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=jS(t);Xx(u);const{gl:d,handle:p,attachments:f}=u;a=a||u.width,l=l||u.height,36064===s&&null===p&&(s=1028),Xx(f[s]),c=c||f[s].type,o=function(t,e,n,i,r){if(t)return t;return new(sS(e=e||5121,{clamped:!1}))(i*r*function(t){switch(t){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return Xx(!1),0}}(n))}(o,c,r,a,l),c=c||rS(o);const g=d.bindFramebuffer(36160,p);return d.readPixels(n,i,a,l,r,c,o),d.bindFramebuffer(36160,g||null),h&&u.delete(),o}function LS(t,{sourceAttachment:e=36064,targetMaxHeight:n=Number.MAX_SAFE_INTEGER}={}){let i=NS(t,{sourceAttachment:e}),{width:r,height:s}=t;for(;s>n;)({data:i,width:r,height:s}=oS({data:i,width:r,height:s}));!function({data:t,width:e,height:n,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&e>=0,"Width and height need to be integers"),this.width=t,this.height=e,n)for(const c in n){const i=n[c];(Array.isArray(i)?i[0]:i).resize({width:t,height:e})}else n=this._createDefaultAttachments(i,r,s,t,e);this.update({clearAttachments:!0,attachments:n,readBuffer:a,drawBuffers:l}),n&&o&&this.checkStatus()}delete(){for(const t of this.ownResources)t.delete();return super.delete(),this}update({attachments:t={},readBuffer:e,drawBuffers:n,clearAttachments:i=!1,resizeAttachments:r=!0}){this.attach(t,{clearAttachments:i,resizeAttachments:r});const{gl:s}=this,o=s.bindFramebuffer(36160,this.handle);return e&&this._setReadBuffer(e),n&&this._setDrawBuffers(n),s.bindFramebuffer(36160,o||null),this}resize(t={}){let{width:e,height:n}=t;if(null===this.handle)return Xx(void 0===e&&void 0===n),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===e&&(e=this.gl.drawingBufferWidth),void 0===n&&(n=this.gl.drawingBufferHeight),e!==this.width&&n!==this.height&&Yw.log(2,`Resizing framebuffer ${this.id} to ${e}x${n}`)();for(const i in this.attachments)this.attachments[i].resize({width:e,height:n});return this.width=e,this.height=n,this}attach(t,{clearAttachments:e=!1,resizeAttachments:n=!0}={}){const i={};e&&Object.keys(this.attachments).forEach(t=>{i[t]=null}),Object.assign(i,t);const r=this.gl.bindFramebuffer(36160,this.handle);for(const s in i){Xx(void 0!==s,"Misspelled framebuffer binding point?");const t=Number(s),e=i[t];let r=e;if(r)if(r instanceof ES)this._attachRenderbuffer({attachment:t,renderbuffer:r});else if(Array.isArray(e)){const[n,i=0,s=0]=e;r=n,this._attachTexture({attachment:t,texture:n,layer:i,level:s})}else this._attachTexture({attachment:t,texture:r,layer:0,level:0});else this._unattach(t);n&&r&&r.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,r||null),Object.assign(this.attachments,t),Object.keys(this.attachments).filter(t=>!this.attachments[t]).forEach(t=>{delete this.attachments[t]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(t){return(BS.STATUS||{})[t]||`Framebuffer error ${t}`}(t));return this}getStatus(){const{gl:t}=this,e=t.bindFramebuffer(36160,this.handle),n=t.checkFramebufferStatus(36160);return t.bindFramebuffer(36160,e||null),n}clear(t={}){const{color:e,depth:n,stencil:i,drawBuffers:r=[]}=t,s=this.gl.bindFramebuffer(36160,this.handle);return(e||n||i)&&TS(this.gl,{color:e,depth:n,stencil:i}),r.forEach((t,e)=>{!function(t,{framebuffer:e=null,buffer:n=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){tx(t),Ix(t,{framebuffer:e},()=>{switch(n){case 6144:switch(r.constructor){case Int32Array:t.clearBufferiv(n,i,r);break;case Uint32Array:t.clearBufferuiv(n,i,r);break;case Float32Array:default:t.clearBufferfv(n,i,r)}break;case 6145:t.clearBufferfv(6145,0,[r]);break;case 6146:t.clearBufferiv(6146,0,[r]);break;case 34041:const[e,s]=r;t.clearBufferfi(34041,0,e,s);break;default:Xx(!1,OS)}})}(this.gl,{drawBuffer:e,value:t})}),this.gl.bindFramebuffer(36160,s||null),this}readPixels(t={}){return Yw.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(t={}){return Yw.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(t={}){return Yw.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(t={}){return Yw.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(t={}){return Yw.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(t={}){return Yw.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:t=[],x:e=0,y:n=0,width:i,height:r}){const s=tx(this.gl),o=s.bindFramebuffer(36008,this.handle);return 0===e&&0===n&&void 0===i&&void 0===r?s.invalidateFramebuffer(36008,t):s.invalidateFramebuffer(36008,t,e,n,i,r),s.bindFramebuffer(36008,o),this}getAttachmentParameter(t,e,n){let i=this._getAttachmentParameterFallback(e);return null===i&&(this.gl.bindFramebuffer(36160,this.handle),i=this.gl.getFramebufferAttachmentParameter(36160,t,e),this.gl.bindFramebuffer(36160,null)),n&&i>1e3&&(i=Kx(this.gl,i)),i}getAttachmentParameters(t=36064,e,n=this.constructor.ATTACHMENT_PARAMETERS||[]){const i={};for(const r of n)i[e?Kx(this.gl,r):r]=this.getAttachmentParameter(t,r,e);return i}getParameters(t=!0){const e=Object.keys(this.attachments),n={};for(const i of e){const e=Number(i);n[t?Kx(this.gl,e):e]=this.getAttachmentParameters(e,t)}return n}show(){return"undefined"!=typeof window&&window.open(LS(this),"luma-debug-texture"),this}log(t=0,e=""){if(t>Yw.level||"undefined"==typeof window)return this;e=e||`Framebuffer ${this.id}`;const n=LS(this,{targetMaxHeight:100});return Yw.image({logLevel:t,message:e,image:n},e)(),this}bind({target:t=36160}={}){return this.gl.bindFramebuffer(t,this.handle),this}unbind({target:t=36160}={}){return this.gl.bindFramebuffer(t,null),this}_createDefaultAttachments(t,e,n,i,r){let s=null;return t&&(s=s||{},s[36064]=new xS(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:i,height:r,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(s[36064])),e&&n?(s=s||{},s[33306]=new ES(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:i,height:111}),this.ownResources.push(s[33306])):e?(s=s||{},s[36096]=new ES(this.gl,{id:`${this.id}-depth`,format:33189,width:i,height:r}),this.ownResources.push(s[36096])):n&&Xx(!1),s}_unattach(t){const e=this.attachments[t];!e||(e instanceof ES?this.gl.framebufferRenderbuffer(36160,t,36161,null):this.gl.framebufferTexture2D(36160,t,3553,null,0),delete this.attachments[t])}_attachRenderbuffer({attachment:t=36064,renderbuffer:e}){const{gl:n}=this;n.framebufferRenderbuffer(36160,t,36161,e.handle),this.attachments[t]=e}_attachTexture({attachment:t=36064,texture:e,layer:n,level:i}){const{gl:r}=this;switch(r.bindTexture(e.target,e.handle),e.target){case 35866:case 32879:tx(r).framebufferTextureLayer(36160,t,e.target,i,n);break;case 34067:const s=function(t){return t<34069?t+34069:t}(n);r.framebufferTexture2D(36160,t,s,e.handle,i);break;case 3553:r.framebufferTexture2D(36160,t,3553,e.handle,i);break;default:Xx(!1,"Illegal texture type")}r.bindTexture(e.target,null),this.attachments[t]=e}_setReadBuffer(t){const e=function(t){return Zw(t)?t:null}(this.gl);e?e.readBuffer(t):Xx(36064===t||1029===t,FS),this.readBuffer=t}_setDrawBuffers(t){const{gl:e}=this,n=tx(e);if(n)n.drawBuffers(t);else{const n=e.getExtension("WEBGL_draw_buffers");n?n.drawBuffersWEBGL(t):Xx(1===t.length&&(36064===t[0]||1029===t[0]),FS)}this.drawBuffers=t}_getAttachmentParameterFallback(t){const e=function(t){t.luma=t.luma||{},t.luma.caps=t.luma.caps||{};for(const e in VS)void 0===t.luma.caps[e]&&(t.luma.caps[e]=HS(t,e));return t.luma.caps}(this.gl);switch(t){case 36052:return e.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return e.WEBGL2?null:8;case 33297:return e.WEBGL2?null:5125;case 33296:return e.WEBGL2||e.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(t){return this.gl.bindFramebuffer(36160,t)}}BS.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];var VS={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(t){const e=new xS(t,{format:6408,type:5126,dataFormat:6408}),n=new BS(t,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=n.getStatus();return e.delete(),n.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function zS(t,e){return US(t,e)}function US(t,e){return(e=Array.isArray(e)?e:[e]).every(e=>HS(t,e))}function HS(t,e){return t.luma=t.luma||{},t.luma.caps=t.luma.caps||{},void 0===t.luma.caps[e]&&(t.luma.caps[e]=function(t,e){const n=VS[e];let i;Xx(n,e);const r=Zw(t)&&n[1]||n[0];if("function"==typeof r)i=r(t);else if(Array.isArray(r)){i=!0;for(const e of r)i=i&&Boolean(t.getExtension(e))}else"string"==typeof r?i=Boolean(t.getExtension(r)):"boolean"==typeof r?i=r:Xx(!1);return i}(t,e)),t.luma.caps[e]||Yw.log(2,`Feature: ${e} not supported`)(),t.luma.caps[e]}class $S{constructor(t,e){this.opts=e,this.source=t}get value(){return this.source.value}getValue(){const t=this.source.getBuffer(),e=this.getAccessor();if(t)return[t,e];const{value:n}=this.source,{size:i}=e;let r=n;if(n&&n.length!==i){r=new Float32Array(i);const t=e.elementOffset||0;for(let e=0;ei&&(r=i);const s=this._pool,o=t.BYTES_PER_ELEMENT*r,a=s.findIndex(t=>t.byteLength>=o);if(a>=0){const e=new t(s.splice(a,1)[0],0,r);return n&&e.fill(0),e}return new t(r)}_release(t){if(!ArrayBuffer.isView(t))return;const e=this._pool,{buffer:n}=t,{byteLength:i}=n,r=e.findIndex(t=>t.byteLength>=i);r<0?e.push(n):(r>0||e.lengththis.props.poolSize&&e.shift()}};const WS=1/Math.PI*180,qS=1/180*Math.PI,XS={};function YS(t,{precision:e=XS.precision||4}={}){return t=function(t){return Math.round(t/XS.EPSILON)*XS.EPSILON}(t),`${parseFloat(t.toPrecision(e))}`}function KS(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function QS(t,e,n){if(KS(t)){n=n||function(t){return t.clone?t.clone():new Array(t.length)}(t);for(let i=0;it*qS,void 0)}(t)}function JS(t){return function(t,e){return QS(t,t=>t*WS,void 0)}(t)}function tC(t,e,n){return QS(t,t=>Math.max(e,Math.min(n,t)))}function eC(t,e,n){return KS(t)?t.map((t,i)=>eC(t,e[i],n)):n*e+(1-n)*t}function nC(t,e,n){const i=XS.EPSILON;n&&(XS.EPSILON=n);try{if(t===e)return!0;if(KS(t)&&KS(e)){if(t.length!==e.length)return!1;for(let n=0;n0?", ":"")+YS(this[n],t);return`${t.printTypes?this.constructor.name:""}[${e}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e=0&&t=0&&t0&&(LC.length=t.length,i=LC):i=NC,(e>0||Number.isFinite(n))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,n),r.index=e-1),{iterable:i,objectInfo:r}}function FC(t){return t&&t[Symbol.asyncIterator]}function BC(t,e=(()=>!0)){return Array.isArray(t)?VC(t,e,[]):e(t)?[t]:[]}function VC(t,e,n){let i=-1;for(;++ia)return void e.set(t.subarray(0,a),n);if(e.set(t,n),!s)return;let l=o;for(;lt},spring:{stiffness:.05,damping:.5}};function WC(t,e){return t?(Number.isFinite(t)&&(t={duration:t}),t.type=t.type||"interpolation",vt(vt(vt({},GC[t.type]),e),t)):null}function qC(t,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function XC(t){switch(t){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(t,'"'))}}function YC(t){t.push(t.shift())}function KC(t,e){const{doublePrecision:n,settings:i,value:r,size:s}=t,o=n&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function QC({buffer:t,numInstances:e,attribute:n,fromLength:i,fromStartIndices:r,getData:s=(t=>t)}){const o=n.doublePrecision&&n.value instanceof Float64Array?2:1,a=n.size*o,l=n.byteOffset,c=n.startIndices,u=r&&c,h=KC(n,e),d=n.state.constant;if(!u&&i>=h)return;const p=d?n.value:n.getBuffer().getData({srcByteOffset:l});if(n.settings.normalized&&!d){const t=s;s=(e,i)=>n._normalizeConstant(t(e,i))}const f=d?(t,e)=>s(p,e):(t,e)=>s(p.subarray(t,t+a),e),g=t.getData({length:i}),m=new Float32Array(h);(function({source:t,target:e,size:n,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return $C({source:t,target:e,size:n,getData:i}),e;let o=0,a=0;const l=i&&((t,e)=>i(t+a,e)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(t).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(t).map(t=>t/255);case 5123:return new Float32Array(t).map(t=>t/65535);default:return t}}_normalizeValue(t,e,n){const{defaultValue:i,size:r}=this.settings;if(Number.isFinite(t))return e[n]=t,e;if(!t)return e[n]=i[0],e;switch(r){case 4:e[n+3]=Number.isFinite(t[3])?t[3]:i[3];case 3:e[n+2]=Number.isFinite(t[2])?t[2]:i[2];case 2:e[n+1]=Number.isFinite(t[1])?t[1]:i[1];case 1:e[n+0]=Number.isFinite(t[0])?t[0]:i[0];break;default:let s=r;for(;--s>=0;)e[n+s]=Number.isFinite(t[s])?t[s]:i[s]}return e}_areValuesEqual(t,e){if(!t||!e)return!1;const{size:n}=this;for(let i=0;it[e])]:t[e],n)}setNeedsUpdate(t=this.id,e){if(this.state.needsUpdate=this.state.needsUpdate||t,this.setNeedsRedraw(t),e){const{startRow:t=0,endRow:n=1/0}=e;this.state.updateRanges=function(t,e){if(t===HC||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return t;const n=[],i=t.length;let r=0;for(let s=0;se[1]?n.push(i):e=[Math.min(i[0],e[0]),Math.max(i[1],e[1])]}return n.splice(r,0,e),n}(this.state.updateRanges,[t,n])}else this.state.updateRanges=HC}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=UC}setNeedsRedraw(t=this.id){this.state.needsRedraw=this.state.needsRedraw||t}update(t){this.setData(t)}allocate(t){const{state:e,settings:n}=this;return!n.noAlloc&&!!n.update&&(super.allocate({numInstances:t,copy:e.updateRanges!==HC}),!0)}updateBuffer({numInstances:t,data:e,props:n,context:i}){if(!this.needsUpdate())return!1;const{state:{updateRanges:r},settings:{update:s,noAlloc:o}}=this;let a=!0;if(s){for(const[o,a]of r)s.call(i,this,{data:e,startRow:o,endRow:a,props:n,numInstances:t});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const n=i*a+l;for(let i=0;ic?l.set(e,f):(t._normalizeValue(e,m.target,0),zC({target:l,source:m.target,start:f,count:n}));f+=n*c}else t._normalizeValue(e,l,f),f+=c}}_validateAttributeUpdaters(){const{settings:t}=this;if(!t.noAlloc&&"function"!=typeof t.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:t}=this,e=Math.min(4,this.size);if(t&&t.length>=e){let n=!0;switch(e){case 4:n=n&&Number.isFinite(t[3]);case 3:n=n&&Number.isFinite(t[2]);case 2:n=n&&Number.isFinite(t[1]);case 1:n=n&&Number.isFinite(t[0]);break;default:n=!1}if(!n)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let JC={};function tE(t){Gw.level>0&&JC[t]&&JC[t].call(...arguments)}function eE(t,e){if(!t)throw new Error(e||"shadertools: assertion failed.")}const nE="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",iE=`#version 300 es\n${nE}`;function rE(t,e){e=Array.isArray(e)?e:[e];const n=t.replace(/^\s+/,"").split(/\s+/),[i,r,s]=n;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function sE(t={}){const{version:e=100,input:n,inputType:i,output:r}=t;if(!n)return 300===e?iE:e>300?`#version ${e}\n${nE}`:"void main() {gl_FragColor = vec4(0);}";const s=function(t,e){switch(e){case"float":return`vec4(${t}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${t}, 0.0, 1.0)`;case"vec3":return`vec4(${t}, 1.0)`;case"vec4":return t;default:return eE(!1),null}}(n,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${n};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${n};\nvoid main() {\n gl_FragColor = ${s};\n}`}class oE extends iS{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(t){return Zw(t)}constructor(t,e={}){tx(t),super(t,e),this.initialize(e),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(t={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,tS(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(t),this}setProps(t){"program"in t&&(this.configuration=t.program&&t.program.configuration),"configuration"in t&&(this.configuration=t.configuration),"bindOnUse"in t&&(t=t.bindOnUse),"buffers"in t&&this.setBuffers(t.buffers)}setBuffers(t={}){return this.bind(()=>{for(const e in t)this.setBuffer(e,t[e])}),this}setBuffer(t,e){const n=this._getVaryingIndex(t),{buffer:i,byteSize:r,byteOffset:s}=this._getBufferParams(e);return n<0?(this.unused[t]=i,Yw.warn(()=>`${this.id} unused varying buffer ${t}`)(),this):(this.buffers[n]=e,this.bindOnUse||this._bindBuffer(n,i,s,r),this)}begin(t=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(t),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(t){let e,n,i;return t instanceof fS?i=t:(i=t.buffer,n=t.byteSize,e=t.byteOffset),(void 0!==e||void 0!==n)&&(e=e||0,n=n||i.byteLength-e),{buffer:i,byteOffset:e,byteSize:n}}_getVaryingInfo(t){return this.configuration&&this.configuration.getVaryingInfo(t)}_getVaryingIndex(t){if(this.configuration)return this.configuration.getVaryingInfo(t).location;const e=Number(t);return Number.isFinite(e)?e:-1}_bindBuffers(){if(this.bindOnUse)for(const t in this.buffers){const{buffer:e,byteSize:n,byteOffset:i}=this._getBufferParams(this.buffers[t]);this._bindBuffer(t,e,i,n)}}_unbindBuffers(){if(this.bindOnUse)for(const t in this.buffers)this._bindBuffer(t,null)}_bindBuffer(t,e,n=0,i){const r=e&&e.handle;return r&&void 0!==i?this.gl.bindBufferRange(35982,t,r,n,i):this.gl.bindBufferBase(35982,t,r),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(t){this.gl.bindTransformFeedback(36386,this.handle)}}class aE{constructor(t,e={}){this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(e),Object.seal(this)}setupResources(t){for(const e of this.bindings)this._setupTransformFeedback(e,t)}updateModelProps(t={}){const{varyings:e}=this;return e.length>0&&(t=Object.assign({},t,{varyings:e})),t}getDrawOptions(t={}){const e=this.bindings[this.currentIndex],{sourceBuffers:n,transformFeedback:i}=e;return{attributes:Object.assign({},n,t.attributes),transformFeedback:i}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(t={}){this._setupBuffers(t)}getBuffer(t){const{feedbackBuffers:e}=this.bindings[this.currentIndex],n=t?e[t]:null;return n?n instanceof fS?n:n.buffer:null}getData(t={}){const{varyingName:e}=t,n=this.getBuffer(e);return n?n.getData():null}delete(){for(const t in this.resources)this.resources[t].delete()}_initialize(t={}){this._setupBuffers(t),this.varyings=t.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&Xx(Zw(this.gl))}_getFeedbackBuffers(t){const{sourceBuffers:e={}}=t,n={};if(this.bindings[this.currentIndex]&&Object.assign(n,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const i in this.feedbackMap){const t=this.feedbackMap[i];i in e&&(n[t]=i)}Object.assign(n,t.feedbackBuffers);for(const i in n){const t=n[i];if("string"==typeof t){const r=e[t],{byteLength:s,usage:o,accessor:a}=r;n[i]=this._createNewBuffer(i,{byteLength:s,usage:o,accessor:a})}}return n}_setupBuffers(t={}){const{sourceBuffers:e=null}=t;Object.assign(this.feedbackMap,t.feedbackMap);const n=this._getFeedbackBuffers(t);this._updateBindings({sourceBuffers:e,feedbackBuffers:n})}_setupTransformFeedback(t,{model:e}){const{program:n}=e;t.transformFeedback=new oE(this.gl,{program:n,buffers:t.feedbackBuffers})}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:e}=this._swapBuffers(this.bindings[this.currentIndex]),n=this._getNextIndex();this.bindings[n]=this._updateBinding(this.bindings[n],{sourceBuffers:t,feedbackBuffers:e})}}_updateBinding(t,e){return t?(Object.assign(t.sourceBuffers,e.sourceBuffers),Object.assign(t.feedbackBuffers,e.feedbackBuffers),t.transformFeedback&&t.transformFeedback.setBuffers(t.feedbackBuffers),t):{sourceBuffers:Object.assign({},e.sourceBuffers),feedbackBuffers:Object.assign({},e.feedbackBuffers)}}_swapBuffers(t){if(!this.feedbackMap)return null;const e=Object.assign({},t.sourceBuffers),n=Object.assign({},t.feedbackBuffers);for(const i in this.feedbackMap){const r=this.feedbackMap[i];e[i]=t.feedbackBuffers[r],n[r]=t.sourceBuffers[i],Xx(n[r]instanceof fS)}return{sourceBuffers:e,feedbackBuffers:n}}_createNewBuffer(t,e){const n=new fS(this.gl,e);return this.resources[t]&&this.resources[t].delete(),this.resources[t]=n,n}_getNextIndex(){return(this.currentIndex+1)%2}}function lE(t){let e=100;const n=t.match(/[^\s]+/g);if(n.length>=2&&"#version"===n[0]){const t=parseInt(n[1],10);Number.isFinite(t)&&(e=t)}return e}const cE="vs",uE={[cE]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},hE="__LUMA_INJECT_DECLARATIONS__",dE=/void\s+main\s*\([^)]*\)\s*\{\n?/,pE=/}\n?[^{}]*$/,fE=[];function gE(t,e,n,i=!1){const r=e===cE;for(const s in n){const e=n[s];e.sort((t,e)=>t.order-e.order),fE.length=e.length;for(let t=0,n=e.length;tt+i));break;case"vs:#main-end":r&&(t=t.replace(pE,t=>i+t));break;case"fs:#decl":r||(t=t.replace(hE,i));break;case"fs:#main-start":r||(t=t.replace(dE,t=>t+i));break;case"fs:#main-end":r||(t=t.replace(pE,t=>i+t));break;default:t=t.replace(s,t=>t+i)}}return t=t.replace(hE,""),i&&(t=t.replace(/\}\s*$/,t=>t+uE[e])),t}function mE(t){const e={};return eE(Array.isArray(t)&&t.length>1),t.forEach(t=>{for(const n in t)e[n]=e[n]?`${e[n]}\n${t[n]}`:t[n]}),e}const bE={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},yE="transform_uSize_",vE="transform_position";const _E={10241:9728,10240:9728,10242:33071,10243:33071};class wE{constructor(t,e={}){this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(e),Object.seal(this)}updateModelProps(t={}){const e=this._processVertexShader(t);return Object.assign({},t,e)}getDrawOptions(t={}){const{sourceBuffers:e,sourceTextures:n,framebuffer:i,targetTexture:r}=this.bindings[this.currentIndex],s=Object.assign({},e,t.attributes),o=Object.assign({},t.uniforms),a=Object.assign({},t.parameters);let l=t.discard;if(this.hasSourceTextures||this.hasTargetTexture){s.transform_elementID=this.elementIDBuffer;for(const e in this.samplerTextureMap)o[e]=n[this.samplerTextureMap[e]];this._setSourceTextureParameters();const t=function({sourceTextureMap:t,targetTextureVarying:e,targetTexture:n}){const i={};let r,s;e&&(({width:r,height:s}=n),i[`${yE}${e}`]=[r,s]);for(const o in t)({width:r,height:s}=t[o]),i[`${yE}${o}`]=[r,s];return i}({sourceTextureMap:n,targetTextureVarying:this.targetTextureVarying,targetTexture:r});Object.assign(o,t)}return this.hasTargetTexture&&(l=!1,a.viewport=[0,0,i.width,i.height]),{attributes:s,framebuffer:i,uniforms:o,discard:l,parameters:a}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(t={}){this._setupTextures(t)}getTargetTexture(){const{targetTexture:t}=this.bindings[this.currentIndex];return t}getData({packed:t=!1}={}){const{framebuffer:e}=this.bindings[this.currentIndex],n=NS(e);if(!t)return n;const i=n.constructor,r=function(t){switch(t){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return eE(!1),null}}(this.targetTextureType),s=new i(n.length*r/4);let o=0;for(let a=0;a0,this._updateBindings({sourceBuffers:e,sourceTextures:n,targetTexture:r}),"elementCount"in t&&this._updateElementIDBuffer(t.elementCount)}_updateElementIDBuffer(t){if("number"!=typeof t||this.elementCount>=t)return;const e=new Float32Array(t);e.forEach((t,e,n)=>{n[e]=e}),this.elementIDBuffer?this.elementIDBuffer.setData({data:e}):this.elementIDBuffer=new fS(this.gl,{data:e,accessor:{size:1}}),this.elementCount=t}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this._swapTexture){const{sourceTextures:t,targetTexture:e}=this._swapTextures(this.bindings[this.currentIndex]),n=this._getNextIndex();this.bindings[n]=this._updateBinding(this.bindings[n],{sourceTextures:t,targetTexture:e})}}_updateBinding(t,e){const{sourceBuffers:n,sourceTextures:i,targetTexture:r}=e;if(t||(t={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(t.sourceTextures,i),Object.assign(t.sourceBuffers,n),r){t.targetTexture=r;const{width:e,height:n}=r,{framebuffer:i}=t;i?(i.update({attachments:{36064:r},resizeAttachments:!1}),i.resize({width:e,height:n})):t.framebuffer=new BS(this.gl,{id:"transform-framebuffer",width:e,height:n,attachments:{36064:r}})}return t}_setSourceTextureParameters(){const t=this.currentIndex,{sourceTextures:e}=this.bindings[t];for(const n in e)e[n].setParameters(_E)}_swapTextures(t){if(!this._swapTexture)return null;const e=Object.assign({},t.sourceTextures);return e[this._swapTexture]=t.targetTexture,{sourceTextures:e,targetTexture:t.sourceTextures[this._swapTexture]}}_createNewTexture(t){const e=DS(t,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=e,e}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(t={}){const{sourceTextures:e,targetTexture:n}=this.bindings[this.currentIndex],{vs:i,uniforms:r,targetTextureType:s,inject:o,samplerTextureMap:a}=function({vs:t,sourceTextureMap:e,targetTextureVarying:n,targetTexture:i}){let r=Object.keys(e).length,s=null;const o={};let a=t,l={};if(r>0||n){const t=a.split("\n"),c=t.slice();if(t.forEach((t,i,a)=>{if(r>0){const n=function(t,e){const n={},i=function(t){return rE(t,["attribute","in"])}(t);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const e=`// ${t} => Replaced by Transform with a sampler`,{samplerName:i,sizeName:o,uniformDeclerations:a}=function(t){const e=`transform_uSampler_${t}`,n=`${yE}${t}`;return{samplerName:e,sizeName:n,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${n};`}}(s),l=` ${r} ${s} = transform_getInput(${i}, ${o}).${function(t){switch(t){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return eE(!1),null}}(r)};\n`;return n[i]=s,{updatedLine:e,inject:{"vs:#decl":a,"vs:#main-start":l},samplerTextureMap:n}}return null}(t,e);if(n){const{updatedLine:t,inject:e}=n;c[i]=t,l=mE([l,e]),Object.assign(o,n.samplerTextureMap),r--}}n&&!s&&(s=function(t,e){const n=rE(t,["varying","out"]);return n&&n.name===e?n.type:null}(t,n))}),n){Xx(i);const t=`${yE}${n}`;l=mE([l,{"vs:#decl":`uniform vec2 ${t};\n`,"vs:#main-start":` vec2 ${vE} = transform_getPos(${t});\n gl_Position = vec4(${vE}, 0, 1.);\n`}])}a=c.join("\n")}return{vs:a,targetTextureType:s,inject:l,samplerTextureMap:o}}({vs:t.vs,sourceTextureMap:e,targetTextureVarying:this.targetTextureVarying,targetTexture:n}),l=mE([t.inject||{},o]);return this.targetTextureType=s,this.samplerTextureMap=a,{vs:i,fs:t._fs||sE({version:lE(i),input:this.targetTextureVarying,inputType:s,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[bE].concat(t.modules||[]):t.modules,uniforms:r,inject:l}}}const xE={number:{validate:(t,e)=>Number.isFinite(t)&&(!("max"in e)||t<=e.max)&&(!("min"in e)||t>=e.min)},array:{validate:(t,e)=>Array.isArray(t)||ArrayBuffer.isView(t)}};function SE(t){let e=CE(t);return"object"===e?t?"type"in t?Object.assign({},t,xE[t.type]):"value"in t?(e=CE(t.value),Object.assign({type:e},t,xE[e])):{type:"object",value:t}:{type:"object",value:null}:Object.assign({type:e,value:t},xE[e])}function CE(t){return Array.isArray(t)||ArrayBuffer.isView(t)?"array":typeof t}class EE{constructor({name:t,vs:e,fs:n,dependencies:i=[],uniforms:r,getUniforms:s,deprecations:o=[],defines:a={},inject:l={},vertexShader:c,fragmentShader:u}){eE("string"==typeof t),this.name=t,this.vs=e||c,this.fs=n||u,this.getModuleUniforms=s,this.dependencies=i,this.deprecations=this._parseDeprecationDefinitions(o),this.defines=a,this.injections=function(t){const e={vs:{},fs:{}};for(const n in t){let i=t[n];const r=n.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][n]=i}return e}(l),r&&(this.uniforms=function(t){const e={};for(const n in t){const i=SE(t[n]);e[n]=i}return e}(r))}getModuleSource(t){let e;switch(t){case"vs":e=this.vs||"";break;case"fs":e=this.fs||"";break;default:eE(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${e}// END MODULE_${this.name}\n\n`}getUniforms(t,e){return this.getModuleUniforms?this.getModuleUniforms(t,e):this.uniforms?this._defaultGetUniforms(t):{}}getDefines(){return this.defines}checkDeprecations(t,e){this.deprecations.forEach(n=>{n.regex.test(t)&&(n.deprecated?e.deprecated(n.old,n.new)():e.removed(n.old,n.new)())})}_parseDeprecationDefinitions(t){return t.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),t}_defaultGetUniforms(t={}){const e={},n=this.uniforms;for(const i in n){const r=n[i];i in t&&!r.private?(r.validate&&eE(r.validate(t[i],r),`${this.name}: invalid ${i}`),e[i]=t[i]):e[i]=r.value}return e}}function OE(t){return function(t){const e={},n={};return TE({modules:t,level:0,moduleMap:e,moduleDepth:n}),Object.keys(n).sort((t,e)=>n[e]-n[t]).map(t=>e[t])}(kE(t))}function TE({modules:t,level:e,moduleMap:n,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of t)n[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof EE||(eE("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),eE(t.name,"shader module has no name"),(t=new EE(t)).dependencies=kE(t.dependencies)),t))}const PE={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},AE={};function ME(t,e){return t.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":t.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":t.match(/AMD/i)||e.match(/AMD/i)||t.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(PE).forEach(t=>{AE[t]=t});const IE={};function DE(t,e,n={}){const i=PE[e];if(eE(i,e),!function(t={}){const e="undefined"!=typeof window&&window.navigator||{},n=t.userAgent||e.userAgent||"",i=-1!==n.indexOf("MSIE "),r=-1!==n.indexOf("Trident/");return i||r}(n))return!0;if(e in IE)return IE[e];const r=`#extension GL_${i[0]} : ${n.behavior||"enable"}\nvoid main(void) {}`,s=t.createShader(35633);t.shaderSource(s,r),t.compileShader(s);const o=t.getShaderParameter(s,35713);return t.deleteShader(s),IE[e]=o,o}function RE(t,e){return(e=Array.isArray(e)?e:[e]).every(e=>function(t,e){const n=PE[e];eE(n,e);const i=function(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&2===t._version)}(t)&&n[1]||n[0],r="string"==typeof i?Boolean(t.getExtension(i)):i;return eE(!1===r||!0===r),r}(t,e))}function NE(t){return new RegExp(`\\b${t}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const LE=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],jE=[...LE,[NE("attribute"),"in $1"],[NE("varying"),"out $1"]],FE=[...LE,[NE("varying"),"in $1"]],BE=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],VE=[...BE,[NE("in"),"attribute $1"],[NE("out"),"varying $1"]],zE=[...BE,[NE("in"),"varying $1"]],UE="gl_FragColor",HE=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,$E=/void\s+main\s*\([^)]*\)\s*\{\n?/;function GE(t,e){for(const[n,i]of e)t=t.replace(n,i);return t}const WE=`\n\n${hE}\n\n`,qE={[cE]:"vertex",fs:"fragment"};function XE(t,{id:e,source:n,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){eE("string"==typeof n,"shader source must be a string");const h=i===cE,d=n.split("\n");let p=100,f="",g=n;0===d[0].indexOf("#version ")?(p=300,f=d[0],g=d.slice(1).join("\n")):f=`#version ${p}`;const m={};r.forEach(t=>{Object.assign(m,t.getDefines())}),Object.assign(m,s);let b=c?`${f}\n${function({id:t,source:e,type:n}){return t&&"string"==typeof t&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${t}_${qE[n]}\n\n`:""}({id:e,source:n,type:i})}\n${function({type:t}){return`\n#define SHADER_TYPE_${qE[t].toUpperCase()}\n`}({type:i})}\n${function(t){switch(function(t){const e=t.getExtension("WEBGL_debug_renderer_info"),n=t.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=t.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:ME(n,i),vendor:n,renderer:i,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(t)}\n${function(t,e,n){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return RE(t,AE.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),RE(t,AE.GLSL_DERIVATIVES)&&DE(t,AE.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),RE(t,AE.GLSL_FRAG_DATA)&&DE(t,AE.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),RE(t,AE.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(t)}\n${function(t={}){let e=0,n="";for(const i in t){0===e&&(n+="\n// APPLICATION DEFINES\n"),e++;const r=t[i];(r||Number.isFinite(r))&&(n+=`#define ${i.toUpperCase()} ${t[i]}\n`)}return 0===e&&(n+="\n"),n}(m)}\n${h?"":"precision highp float;\n\n"}\n`:`${f}\n`;const y=function(t){const e={vs:{},fs:{}};return t.forEach(t=>{let n;"string"!=typeof t?(n=t,t=n.hook):n={},t=t.trim();const[i,r]=t.split(":"),s=t.replace(/\(.+/,"");e[i][s]=Object.assign(n,{signature:r})}),e}(o),v={},_={},w={};for(const x in a){const t="string"==typeof a[x]?{injection:a[x],order:0}:a[x],e=x.match(/^(v|f)s:(#)?([\w-]+)$/);if(e){const n=e[3];e[2]?"decl"===n?_[x]=[t]:w[x]=[t]:v[x]=[t]}else w[x]=[t]}for(const x of r){u&&x.checkDeprecations(g,u),b+=x.getModuleSource(i,p);const t=x.injections[i];for(const e in t){const n=e.match(/^(v|f)s:#([\w-]+)$/);if(n){const i="decl"===n[2]?_:w;i[e]=i[e]||[],i[e].push(t[e])}else v[e]=v[e]||[],v[e].push(t[e])}}return b+=WE,b=gE(b,i,_),b+=function(t,e){let n="";for(const i in t){const r=t[i];if(n+=`void ${r.signature} {\n`,r.header&&(n+=` ${r.header}`),e[i]){const t=e[i];t.sort((t,e)=>t.order-e.order);for(const e of t)n+=` ${e.injection}\n`}r.footer&&(n+=` ${r.footer}`),n+="}\n"}return n}(y[i],v),b+=g,b=gE(b,i,w),b=function(t,e,n){switch(e){case 300:return n?GE(t,jE):function(t){const e=(t=GE(t,FE)).match(HE);if(e){const n=e[1];t=t.replace(new RegExp(`\\b${UE}\\b`,"g"),n)}else{const e="fragmentColor";t=t.replace($E,t=>`out vec4 ${e};\n${t}`).replace(new RegExp(`\\b${UE}\\b`,"g"),e)}return t}(t);case 100:return n?GE(t,VE):function(t){const e=(t=GE(t,zE)).match(HE);if(e){const n=e[1];t=t.replace(HE,"").replace(new RegExp(`\\b${n}\\b`,"g"),UE)}return t}(t);default:throw new Error(`unknown GLSL version ${e}`)}}(b,l?100:p,h),b}function YE(t){return function(e){const n={};for(const i of t){const t=i.getUniforms(e,n);Object.assign(n,t)}return n}}const KE={5126:uO.bind(null,"uniform1fv",nO,1,hO),35664:uO.bind(null,"uniform2fv",nO,2,hO),35665:uO.bind(null,"uniform3fv",nO,3,hO),35666:uO.bind(null,"uniform4fv",nO,4,hO),5124:uO.bind(null,"uniform1iv",iO,1,hO),35667:uO.bind(null,"uniform2iv",iO,2,hO),35668:uO.bind(null,"uniform3iv",iO,3,hO),35669:uO.bind(null,"uniform4iv",iO,4,hO),35670:uO.bind(null,"uniform1iv",iO,1,hO),35671:uO.bind(null,"uniform2iv",iO,2,hO),35672:uO.bind(null,"uniform3iv",iO,3,hO),35673:uO.bind(null,"uniform4iv",iO,4,hO),35674:uO.bind(null,"uniformMatrix2fv",nO,4,dO),35675:uO.bind(null,"uniformMatrix3fv",nO,9,dO),35676:uO.bind(null,"uniformMatrix4fv",nO,16,dO),35678:cO,35680:cO,5125:uO.bind(null,"uniform1uiv",rO,1,hO),36294:uO.bind(null,"uniform2uiv",rO,2,hO),36295:uO.bind(null,"uniform3uiv",rO,3,hO),36296:uO.bind(null,"uniform4uiv",rO,4,hO),35685:uO.bind(null,"uniformMatrix2x3fv",nO,6,dO),35686:uO.bind(null,"uniformMatrix2x4fv",nO,8,dO),35687:uO.bind(null,"uniformMatrix3x2fv",nO,6,dO),35688:uO.bind(null,"uniformMatrix3x4fv",nO,12,dO),35689:uO.bind(null,"uniformMatrix4x2fv",nO,8,dO),35690:uO.bind(null,"uniformMatrix4x3fv",nO,12,dO),35678:cO,35680:cO,35679:cO,35682:cO,36289:cO,36292:cO,36293:cO,36298:cO,36299:cO,36300:cO,36303:cO,36306:cO,36307:cO,36308:cO,36311:cO},QE={},ZE={},JE={},tO=[0];function eO(t,e,n,i){1===e&&"boolean"==typeof t&&(t=t?1:0),Number.isFinite(t)&&(tO[0]=t,t=tO);const r=t.length;if(r%e&&Yw.warn(`Uniform size should be multiples of ${e}`,t)(),t instanceof n)return t;let s=i[r];s||(s=new n(r),i[r]=s);for(let o=0;o{const r=t!==i;return r&&(e.uniform1i(n,i),t=i),r}}function uO(t,e,n,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,n),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{Xx(s===u,"Uniform length cannot change.");for(let t=0;t{const s=String(i+e);return gO(s,r-s.length)+n+t})}(e);return{shaderName:l,errors:fO(s,c),warnings:fO(o,c)}}(t,this.source,this.shaderType,this.id);throw Yw.error(`GLSL compilation errors in ${e}\n${n}`)(),Yw.warn(`GLSL compilation warnings in ${e}\n${i}`)(),new Error(`GLSL compilation errors in ${e}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class bO extends mO{get[Symbol.toStringTag](){return"VertexShader"}constructor(t,e){"string"==typeof e&&(e={source:e}),super(t,Object.assign({},e,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class yO extends mO{get[Symbol.toStringTag](){return"FragmentShader"}constructor(t,e){"string"==typeof e&&(e={source:e}),super(t,Object.assign({},e,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const vO=5126,_O=5124,wO=5125,xO={[vO]:[vO,1,"float"],35664:[vO,2,"vec2"],35665:[vO,3,"vec3"],35666:[vO,4,"vec4"],[_O]:[_O,1,"int"],35667:[_O,2,"ivec2"],35668:[_O,3,"ivec3"],35669:[_O,4,"ivec4"],[wO]:[wO,1,"uint"],36294:[wO,2,"uvec2"],36295:[wO,3,"uvec3"],36296:[wO,4,"uvec4"],35670:[vO,1,"bool"],35671:[vO,2,"bvec2"],35672:[vO,3,"bvec3"],35673:[vO,4,"bvec4"],35674:[vO,8,"mat2"],35685:[vO,8,"mat2x3"],35686:[vO,8,"mat2x4"],35675:[vO,12,"mat3"],35687:[vO,12,"mat3x2"],35688:[vO,12,"mat3x4"],35676:[vO,16,"mat4"],35689:[vO,16,"mat4x2"],35690:[vO,16,"mat4x3"]};function SO(t){const e=xO[t];if(!e)return null;const[n,i]=e;return{type:n,components:i}}function CO(t,e){switch(t){case 5120:case 5121:case 5122:case 5123:t=vO}for(const n in xO){const[i,r,s]=xO[n];if(i===t&&r===e)return{glType:n,name:s}}return null}class EO{constructor(t){this.id=t.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(t),this._readVaryingsFromProgram(t)}getAttributeInfo(t){const e=Number(t);return Number.isFinite(e)?this.attributeInfosByLocation[e]:this.attributeInfosByName[t]||null}getAttributeLocation(t){const e=this.getAttributeInfo(t);return e?e.location:-1}getAttributeAccessor(t){const e=this.getAttributeInfo(t);return e?e.accessor:null}getVaryingInfo(t){const e=Number(t);return Number.isFinite(e)?this.varyingInfos[e]:this.varyingInfosByName[t]||null}getVaryingIndex(t){const e=this.getVaryingInfo();return e?e.location:-1}getVaryingAccessor(t){const e=this.getVaryingInfo();return e?e.accessor:null}_readAttributesFromProgram(t){const{gl:e}=t,n=e.getProgramParameter(t.handle,35721);for(let i=0;i=0&&this._addAttribute(o,n,r,s)}this.attributeInfos.sort((t,e)=>t.location-e.location)}_readVaryingsFromProgram(t){const{gl:e}=t;if(!Zw(e))return;const n=e.getProgramParameter(t.handle,35971);for(let i=0;it.location-e.location)}_addAttribute(t,e,n,i){const{type:r,components:s}=SO(n),o={type:r,size:i*s};this._inferProperties(t,e,o);const a={location:t,name:e,accessor:new uS(o)};this.attributeInfos.push(a),this.attributeInfosByLocation[t]=a,this.attributeInfosByName[a.name]=a}_inferProperties(t,e,n){/instance/i.test(e)&&(n.divisor=1)}_addVarying(t,e,n,i){const{type:r,components:s}=SO(n),o={location:t,name:e,accessor:new uS({type:r,size:i*s})};this.varyingInfos.push(o),this.varyingInfosByName[o.name]=o}}const OO=35981,TO=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class kO extends iS{get[Symbol.toStringTag](){return"Program"}constructor(t,e={}){super(t,e),this.stubRemovedMethods("Program","v6.0",TO),this._isCached=!1,this.initialize(e),Object.seal(this),this._setId(e.id)}initialize(t={}){const{hash:e,vs:n,fs:i,varyings:r,bufferMode:s=OO}=t;return this.hash=e||"",this.vs="string"==typeof n?new bO(this.gl,{id:`${t.id}-vs`,source:n}):n,this.fs="string"==typeof i?new yO(this.gl,{id:`${t.id}-fs`,source:i}):i,Xx(this.vs instanceof bO),Xx(this.fs instanceof yO),this.uniforms={},this._textureUniforms={},r&&r.length>0&&(tx(this.gl),this.varyings=r,this.gl2.transformFeedbackVaryings(this.handle,r,s)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new EO(this),this.setProps(t)}delete(t={}){return this._isCached?this:super.delete(t)}setProps(t){return"uniforms"in t&&this.setUniforms(t.uniforms),this}draw({logPriority:t,drawMode:e=4,vertexCount:n,offset:i=0,start:r,end:s,isIndexed:o=!1,indexType:a=5123,instanceCount:l=0,isInstanced:c=l>0,vertexArray:u=null,transformFeedback:h,framebuffer:d,parameters:p={},uniforms:f,samplers:g}){if((f||g)&&(Yw.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(f||{})),Yw.priority>=t){const i=d?d.id:"default",r=`mode=${Kx(this.gl,e)} verts=${n} instances=${l} indexType=${Kx(this.gl,a)} isInstanced=${c} isIndexed=${o} Framebuffer=${i}`;Yw.log(t,r)()}return Xx(u),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===n||c&&0===l||(u.bindForDraw(n,l,()=>{if(void 0!==d&&(p=Object.assign({},p,{framebuffer:d})),h){const t=function(t){switch(t){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return Xx(!1),0}}(e);h.begin(t)}this._bindTextures(),Ix(this.gl,p,()=>{o&&c?this.gl2.drawElementsInstanced(e,n,a,i,l):o&&Zw(this.gl)&&!isNaN(r)&&!isNaN(s)?this.gl2.drawRangeElements(e,r,s,n,a,i):o?this.gl.drawElements(e,n,a,i):c?this.gl2.drawArraysInstanced(e,i,n,l):this.gl.drawArrays(e,i,n)}),h&&h.end()}),0))}setUniforms(t={}){Yw.priority>=2&&function(t,e,n){for(const i in t){const r=t[i];if((!n||Boolean(n[i]))&&!aO(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(t,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const e in t){const n=t[e],i=this._uniformSetters[e];if(i){let t=n,r=!1;if(t instanceof BS&&(t=t.texture),t instanceof _S)if(r=this.uniforms[e]!==n,r){void 0===i.textureIndex&&(i.textureIndex=this._textureIndexCounter++);const n=t,{textureIndex:r}=i;n.bind(r),t=r,this._textureUniforms[e]=n}else t=i.textureIndex;else this._textureUniforms[e]&&delete this._textureUniforms[e];(i(t)||r)&&lO(this.uniforms,e,n)}}return this}_areTexturesRenderable(){let t=!0;for(const e in this._textureUniforms){const n=this._textureUniforms[e];n.update(),t=t&&n.loaded}return t}_bindTextures(){for(const t in this._textureUniforms)this._textureUniforms[t].bind(this._uniformSetters[t].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(t){const e=this.gl.getAttachedShaders(t),n={};for(const i of e)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:n.vs=new bO({handle:i});break;case 35632:n.fs=new yO({handle:i})}return n}_getParameter(t){return this.gl.getProgramParameter(this.handle,t)}_setId(t){if(!t){const t=this._getName();this.id=Zx(t)}}_getName(){let t=this.vs.getName()||this.fs.getName();return t=t.replace(/shader/i,""),t=t?`${t}-program`:"program",t}_compileAndLink(){const{gl:t}=this;if(t.attachShader(this.handle,this.vs.handle),t.attachShader(this.handle,this.fs.handle),Yw.time(4,`linkProgram for ${this._getName()}`)(),t.linkProgram(this.handle),Yw.timeEnd(4,`linkProgram for ${this._getName()}`)(),t.debug||Yw.level>0){if(!t.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${t.getProgramInfoLog(this.handle)}`);if(t.validateProgram(this.handle),!t.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${t.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:t}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let e=0;e1)for(let e=0;ee.name===t.name)||this._defaultModules.push(t),this.stateHash++}removeDefaultModule(t){const e="string"==typeof t?t:t.name;this._defaultModules=this._defaultModules.filter(t=>t.name!==e),this.stateHash++}addShaderHook(t,e){e&&(t=Object.assign(e,{hook:t})),this._hookFunctions.push(t),this.stateHash++}get(t={}){const{vs:e="",fs:n="",defines:i={},inject:r={},varyings:s=[],bufferMode:o=35981,transpileToGLSL100:a=!1}=t,l=this._getModuleList(t.modules),c=this._getHash(e),u=this._getHash(n),h=l.map(t=>this._getHash(t.name)).sort(),d=s.map(t=>this._getHash(t)),p=Object.keys(i).sort(),f=Object.keys(r).sort(),g=[],m=[];for(const y of p)g.push(this._getHash(y)),g.push(this._getHash(i[y]));for(const y of f)m.push(this._getHash(y)),m.push(this._getHash(r[y]));const b=`${c}/${u}D${g.join("/")}M${h.join("/")}I${m.join("/")}V${d.join("/")}H${this.stateHash}B${o}${a?"T":""}`;if(!this._programCache[b]){const t=function(t,e){const{vs:n,fs:i}=e,r=OE(e.modules||[]);return{gl:t,vs:XE(t,Object.assign({},e,{source:n,type:cE,modules:r})),fs:XE(t,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:YE(r)}}(this.gl,{vs:e,fs:n,modules:l,inject:r,defines:i,hookFunctions:this._hookFunctions,transpileToGLSL100:a});this._programCache[b]=new kO(this.gl,{hash:b,vs:t.vs,fs:t.fs,varyings:s,bufferMode:o}),this._getUniforms[b]=t.getUniforms||(t=>{}),this._useCounts[b]=0}return this._useCounts[b]++,this._programCache[b]}getUniforms(t){return this._getUniforms[t.hash]||null}release(t){const e=t.hash;this._useCounts[e]--,0===this._useCounts[e]&&(this._programCache[e].delete(),delete this._programCache[e],delete this._getUniforms[e],delete this._useCounts[e])}_getHash(t){return void 0===this._hashes[t]&&(this._hashes[t]=this._hashCounter++),this._hashes[t]}_getModuleList(t=[]){const e=new Array(this._defaultModules.length+t.length),n={};let i=0;for(let r=0,s=this._defaultModules.length;r-1)return"Edge";const n=-1!==e.indexOf("MSIE "),i=-1!==e.indexOf("Trident/");return n||i?"IE":Dw.chrome?"Chrome":Dw.safari?"Safari":Dw.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(t){return t.luma=t.luma||{},t.luma.defaultVertexArray||(t.luma.defaultVertexArray=new MO(t,{handle:null,isDefaultArray:!0})),t.luma.defaultVertexArray}static getMaxAttributes(t){return MO.MAX_ATTRIBUTES=MO.MAX_ATTRIBUTES||t.getParameter(34921),MO.MAX_ATTRIBUTES}static setConstant(t,e,n){switch(n.constructor){case Float32Array:MO._setConstantFloatArray(t,e,n);break;case Int32Array:MO._setConstantIntArray(t,e,n);break;case Uint32Array:MO._setConstantUintArray(t,e,n);break;default:Xx(!1)}}constructor(t,e={}){super(t,Object.assign({},e,{id:e.id||e.program&&e.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=e.isDefaultArray||!1,this.gl2=t,this.initialize(e),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return MO.getMaxAttributes(this.gl)}initialize(t={}){return this.setProps(t)}setProps(t){return this}setElementBuffer(t=null,e={}){return Xx(!t||34963===t.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,t?t.handle:null)}),this}setBuffer(t,e,n){if(34963===e.target)return this.setElementBuffer(e,n);const{size:i,type:r,stride:s,offset:o,normalized:a,integer:l,divisor:c}=n,{gl:u,gl2:h}=this;return t=Number(t),this.bind(()=>{u.bindBuffer(34962,e.handle),l?(Xx(Zw(u)),h.vertexAttribIPointer(t,i,r,s,o)):u.vertexAttribPointer(t,i,r,a,s,o),u.enableVertexAttribArray(t),h.vertexAttribDivisor(t,c||0)}),this}enable(t,e=!0){return!e&&0===t&&!MO.isSupported(this.gl,{constantAttributeZero:!0})||(t=Number(t),this.bind(()=>e?this.gl.enableVertexAttribArray(t):this.gl.disableVertexAttribArray(t))),this}getConstantBuffer(t,e){const n=this._normalizeConstantArrayValue(e),i=n.byteLength*t,r=n.length*t;let s=!this.buffer;if(this.buffer=this.buffer||new fS(this.gl,i),s=s||this.buffer.reallocate(i),s=s||!this._compareConstantArrayValues(n,this.bufferValue),s){const t=function(t,e){return new t(function(t){return(!AO||AO.byteLength{switch(t){case 34373:return this.gl.getVertexAttribOffset(e,t);default:return this.gl.getVertexAttrib(e,t)}})}}const IO=/^(.+)__LOCATION_([0-9]+)$/,DO=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class RO{constructor(t,e={}){this.id=e.id||e.program&&e.program.id,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new MO(t),eS(this,"VertexArray","v6.0",DO),this.initialize(e),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(t={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(t)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:t}=this.vertexArrayObject;return this.values=new Array(t).fill(null),this.accessors=new Array(t).fill(null),this.unused={},this.drawParams=null,this}setProps(t){return"program"in t&&(this.configuration=t.program&&t.program.configuration),"configuration"in t&&(this.configuration=t.configuration),"attributes"in t&&this.setAttributes(t.attributes),"elements"in t&&this.setElementBuffer(t.elements),"bindOnUse"in t&&(t=t.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(t){return Object.assign(this.attributes,t),this.vertexArrayObject.bind(()=>{for(const e in t)this._setAttribute(e,t[e]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(t=null,e={}){return this.elements=t,this.elementsAccessor=e,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(t,e),this}setBuffer(t,e,n={}){if(34963===e.target)return this.setElementBuffer(e,n);const{location:i,accessor:r}=this._resolveLocationAndAccessor(t,e,e.accessor,n);return i>=0&&(this.values[i]=e,this.accessors[i]=r,this.clearDrawParams(),this.vertexArrayObject.setBuffer(i,e,r)),this}setConstant(t,e,n={}){const{location:i,accessor:r}=this._resolveLocationAndAccessor(t,e,Object.assign({size:e.length},n));return i>=0&&(e=this.vertexArrayObject._normalizeConstantArrayValue(e),this.values[i]=e,this.accessors[i]=r,this.clearDrawParams(),this.vertexArrayObject.enable(i,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new fS(this.gl,{accessor:{size:4}});for(let t=0;t{this.elements&&this.setElementBuffer(this.elements);for(let t=0;t{this._setConstantAttributes(t,e),i=n()}),i}_resolveLocationAndAccessor(t,e,n,i){const r={location:-1,accessor:null},{location:s,name:o}=this._getAttributeIndex(t);if(!Number.isFinite(s)||s<0)return this.unused[t]=e,Yw.once(3,()=>`unused value ${t} in ${this.id}`)(),r;const a=this._getAttributeInfo(o||s);if(!a)return r;const l=uS.resolve(a.accessor,this.accessors[s]||{},n,i),{size:c,type:u}=l;return Xx(Number.isFinite(c)&&Number.isFinite(u)),{location:s,accessor:l}}_getAttributeInfo(t){return this.configuration&&this.configuration.getAttributeInfo(t)}_getAttributeIndex(t){const e=Number(t);if(Number.isFinite(e))return{location:e};const n=IO.exec(t),i=n?n[1]:t,r=n?Number(n[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(i)+r,name:i}:{location:-1}}_setAttribute(t,e){if(e instanceof fS)this.setBuffer(t,e);else if(Array.isArray(e)&&e.length&&e[0]instanceof fS)this.setBuffer(t,e[0],e[1]);else if(ArrayBuffer.isView(e)||Array.isArray(e))this.setConstant(t,e);else{if(!(e.buffer instanceof fS))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(t,e.buffer,e)}}_setConstantAttributes(t,e){const n=Math.max(0|t,0|e);let i=this.values[0];ArrayBuffer.isView(i)&&this._setConstantAttributeZero(i,n);for(let r=1;r0;if(t.isInstanced=t.isInstanced||s,n instanceof fS){const e=n;if(s){const n=e.getVertexCount(i);t.instanceCount=Math.min(t.instanceCount,n)}else{const n=e.getVertexCount(i);t.vertexCount=Math.min(t.vertexCount,n)}}}setElements(t=null,e={}){return Yw.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(t,e)}}function NO(t,e={}){const{isInteger:n=!1}=e;if(Array.isArray(t)||ArrayBuffer.isView(t))return function(t,e){const{maxElts:n=16,size:i=1}=e;let r="[";for(let s=0;s0&&(r+=","+(s%i==0?" ":"")),r+=NO(t[s],e);return`${r}${t.length>n?"...":"]"}`}(t,e);if(!Number.isFinite(t))return String(t);if(Math.abs(t)<1e-16)return n?"0":"0.";if(n||Math.abs(t)>100&&Math.abs(t)<1e4)return t.toFixed(0);const i=t.toPrecision(2);return i.indexOf(".0")===i.length-2?i.slice(0,-1):i}function LO(t,e,n,i){const{gl:r}=t;if(!e)return{[i]:"null","Format ":"N/A"};let s,o,a,l="NOT PROVIDED",c=1,u=0,h=0;if(n&&(l=n.type,c=n.size,l=String(l).replace("Array",""),s=-1!==l.indexOf("nt")),e instanceof fS){const t=e,{data:d,changed:p}=t.getDebugData();let f;return o=p?"*":"",a=d,h=t.byteLength,u=h/d.BYTES_PER_ELEMENT/c,n?f=`${n.divisor>0?"I ":"P "} ${u} (x${c}=${h} bytes ${Kx(r,l)})`:(s=!0,f=`${h} bytes`),{[i]:`${o}${NO(a,{size:c,isInteger:s})}`,"Format ":f}}return a=e,c=e.length,l=String(e.constructor.name).replace("Array",""),s=-1!==l.indexOf("nt"),{[i]:`${NO(a,{size:c,isInteger:s})} (constant)`,"Format ":`${c}x${l} (constant)`}}function jO(t,e){const{type:n,size:i}=e,r=CO(n,i);return r?`${t} (${r.name})`:t}function FO({header:t="Uniforms",program:e,uniforms:n,undefinedOnly:i=!1}){Xx(e);const r=".*Matrix",s={},o=Object.keys(e._uniformSetters).sort();let a=0;for(const u of o)!u.match(".*_.*")&&!u.match(r)&&BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;for(const u of o)u.match(r)&&BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;for(const u of o)s[u]||BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;let l=0;const c={};if(!i)for(const u in n){const e=n[u];s[u]||(l++,c[u]={Type:`NOT USED: ${e}`,[t]:NO(e)})}return{table:s,count:a,unusedTable:c,unusedCount:l}}function BO({table:t,header:e,uniforms:n,uniformName:i,undefinedOnly:r}){const s=n[i],o=function(t){return null!=t}(s);return!(r&&o||(t[i]={[e]:o?NO(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function VO(t){const{type:e,size:n}=t.accessor,i=CO(e,n);return i?`${i.name} ${t.name}`:t.name}const zO={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function UO(t,e){const{attributeMap:n=zO}=e||{};return n&&n[t]||t}function HO(t,e){let n;switch(t){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":n="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":n="vectors"}switch(n){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}Xx(Number.isFinite(e.size),`attribute ${t} needs size`)}const $O=()=>{},GO={};class WO{constructor(t,e={}){const{id:n=Zx("model")}=e;Xx(Qw(t)),this.id=n,this.gl=t,this.id=e.id||Zx("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(e)}initialize(t){this.props={},this.programManager=t.programManager||PO.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:e=null,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c}=t;this.programProps={program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(t.moduleSettings))),this.drawMode=void 0!==t.drawMode?t.drawMode:4,this.vertexCount=t.vertexCount||0,this.geometryBuffers={},this.isInstanced=t.isInstanced||t.instanced||t.instanceCount>0,this._setModelProps(t),this.geometry={},Xx(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(t){this._setModelProps(t)}delete(){for(const t in this._attributes)this._attributes[t]!==this.attributes[t]&&this._attributes[t].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(t){const{program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c}=t;this.programProps={program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(t){return this.drawMode=t,this}setVertexCount(t){return Xx(Number.isFinite(t)),this.vertexCount=t,this}setInstanceCount(t){return Xx(Number.isFinite(t)),this.instanceCount=t,this}setGeometry(t){return this.drawMode=t.drawMode,this.vertexCount=t.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(t,e,n){const i={};let r=e.indices;for(const s in e.attributes){const n=e.attributes[s],o=UO(s,undefined);if("indices"===s)r=n;else if(n.constant)i[o]=n.value;else{const e=n.value,r=vt({},n);delete r.value,i[o]=[new fS(t,e),r],HO(s,r)}}if(r){const e=r.value||r;Xx(e instanceof Uint16Array||e instanceof Uint32Array,'attribute array for "indices" must be of integer type');const n={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new fS(t,{data:e,target:34963}),n]}return i}(this.gl,t),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(t={}){if(tS(t))return this;const e={};for(const n in t){const i=t[n];e[n]=i.getValue?i.getValue():i}return this.vertexArray.setAttributes(e),this}setUniforms(t={}){return Object.assign(this.uniforms,t),this}getModuleUniforms(t){this._checkProgram();const e=this.programManager.getUniforms(this.program);return e?e(t):{}}updateModuleSettings(t){const e=this.getModuleUniforms(t||{});return this.setUniforms(e)}clear(t){return TS(this.program.gl,t),this}draw(t={}){this._checkProgram();const{moduleSettings:e=null,framebuffer:n,uniforms:i={},attributes:r={},transformFeedback:s=this.transformFeedback,parameters:o={},vertexArray:a=this.vertexArray}=t;let l;this.setAttributes(r),this.updateModuleSettings(e),this.setUniforms(i),Yw.priority>=2&&(l=this._logDrawCallStart(2));const c=this.vertexArray.getDrawParams(),{isIndexed:u=c.isIndexed,indexType:h=c.indexType,indexOffset:d=c.indexOffset,vertexArrayInstanced:p=c.isInstanced}=this.props;p&&!this.isInstanced&&Yw.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:f,instanceCount:g}=this,{onBeforeRender:m=$O,onAfterRender:b=$O}=this.props;m(),this.program.setUniforms(this.uniforms);const y=this.program.draw(Object.assign(GO,t,{logPriority:l,uniforms:null,framebuffer:n,parameters:o,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:a,transformFeedback:s,isIndexed:u,indexType:h,isInstanced:f,instanceCount:g,offset:u?d:0}));return b(),Yw.priority>=2&&this._logDrawCallEnd(l,a,n),y}transform(t={}){const{discard:e=!0,feedbackBuffers:n,unbindModels:i=[]}=t;let{parameters:r}=t;n&&this._setFeedbackBuffers(n),e&&(r=Object.assign({},r,{35977:e})),i.forEach(t=>t.vertexArray.unbindBuffers());try{this.draw(Object.assign({},t,{parameters:r}))}finally{i.forEach(t=>t.vertexArray.bindBuffers())}return this}render(t={}){return Yw.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(t).draw()}_setModelProps(t){Object.assign(this.props,t),"uniforms"in t&&this.setUniforms(t.uniforms),"pickable"in t&&(this.pickable=t.pickable),"instanceCount"in t&&(this.instanceCount=t.instanceCount),"geometry"in t&&this.setGeometry(t.geometry),"attributes"in t&&this.setAttributes(t.attributes),"_feedbackBuffers"in t&&this._setFeedbackBuffers(t._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:e,fs:n,modules:i,inject:r,defines:s,varyings:o,bufferMode:a,transpileToGLSL100:l}=this.programProps;t=this.programManager.get({vs:e,fs:n,modules:i,inject:r,defines:s,varyings:o,bufferMode:a,transpileToGLSL100:l}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}Xx(t instanceof kO,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new RO(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const t in this.geometryBuffers){const e=this.geometryBuffers[t][0]||this.geometryBuffers[t];e instanceof fS&&e.delete()}}_setAnimationProps(t){this.animated&&Xx(t,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(t={}){if(tS(t))return this;const{gl:e}=this.program;return this.transformFeedback=this.transformFeedback||new oE(e,{program:this.program}),this.transformFeedback.setBuffers(t),this}_logDrawCallStart(t){const e=t>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:Yw.level<=2})(),t}_logDrawCallEnd(t,e,n,i){if(void 0===t)return;const r=function({vertexArray:t,header:e="Attributes"}){if(!t.configuration)return{};const n={};t.elements&&(n.ELEMENT_ARRAY_BUFFER=LO(t,t.elements,null,e));const i=t.values;for(const r in i){const s=t._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=t.accessors[s.location];a&&(o=`${r}: ${jO(s.name,a)}`),n[o]=LO(t,i[r],a,e)}}return n}({vertexArray:e,header:`${this.id} attributes`,attributes:this._attributes}),{table:s,unusedTable:o,unusedCount:a}=FO({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,n)}),{table:l,count:c}=FO({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,n),undefinedOnly:!0});c>0&&Yw.log("MISSING UNIFORMS",Object.keys(l))(),a>0&&Yw.log("UNUSED UNIFORMS",Object.keys(o))();const u=function(t){const e={},n=`Accessors for ${t.id}`;for(const i of t.attributeInfos)i&&(e[`in ${VO(i)}`]={[n]:JSON.stringify(i.accessor)});for(const i of t.varyingInfos)i&&(e[`out ${VO(i)}`]={[n]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);Yw.table(t,r)(),Yw.table(t,s)(),Yw.table(t+1,u)(),i&&i.log({logLevel:2,message:`Rendered to ${i.id}`}),Yw.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class qO{static isSupported(t){return Zw(t)}constructor(t,e={}){this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(e),Object.seal(this)}delete(){const{model:t,bufferTransform:e,textureTransform:n}=this;t&&t.delete(),e&&e.delete(),n&&n.delete()}run(t={}){const{clearRenderTarget:e=!0}=t,n=this._updateDrawOptions(t);e&&n.framebuffer&&n.framebuffer.clear({color:!0}),this.model.transform(n)}swap(){let t=!1;const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e)t=t||n.swap();Xx(t,"Nothing to swap")}getBuffer(t=null){return this.bufferTransform&&this.bufferTransform.getBuffer(t)}getData(t={}){const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e){const e=n.getData(t);if(e)return e}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(t={}){"elementCount"in t&&this.model.setVertexCount(t.elementCount);const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e)n.update(t)}_initialize(t={}){const{gl:e}=this;this._buildResourceTransforms(e,t),t=this._updateModelProps(t),this.model=new WO(e,Object.assign({},t,{fs:t.fs||sE({version:lE(t.vs)}),id:t.id||"transform-model",drawMode:t.drawMode||0,vertexCount:t.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(t){let e=Object.assign({},t);const n=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of n)e=i.updateModelProps(e);return e}_buildResourceTransforms(t,e){(function(t){return!(tS(t.feedbackBuffers)&&tS(t.feedbackMap)&&!(t.varyings&&t.varyings.length>0))})(e)&&(this.bufferTransform=new aE(t,e)),function(t){return!(tS(t._sourceTextures)&&!t._targetTexture&&!t._targetTextureVarying)}(e)&&(this.textureTransform=new wE(t,e)),Xx(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(t){let e=Object.assign({},t);const n=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of n)e=Object.assign(e,i.getDrawOptions(e));return e}}function XO(){}const YO={onStart:XO,onUpdate:XO,onInterrupt:XO,onEnd:XO};class KO{constructor(t){this._inProgress=!1,this._handle=null,this.timeline=t,this.settings={}}get inProgress(){return this._inProgress}start(t){this.cancel(),this.settings=vt(vt({},YO),t),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:t,settings:e}=this;this._handle=t.addChannel({delay:t.getTime(),duration:e.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const QO={interpolation:class{constructor({gl:t,attribute:e,timeline:n}){this.gl=t,this.type="interpolation",this.transition=new KO(n),this.attribute=e,this.attributeInTransition=new ZC(t,e.settings),this.currentStartIndices=e.startIndices,this.currentLength=0,this.transform=function(t,e){const n=XC(e.size);return new qO(t,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:n},varyings:["vCurrent"]})}(t,e);const i={byteLength:0,usage:35050};this.buffers=[new fS(t,i),new fS(t,i)]}get inProgress(){return this.transition.inProgress}start(t,e){if(t.duration<=0)return void this.transition.cancel();const{buffers:n,attribute:i}=this;YC(n);const r={numInstances:e,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(const s of n)QC(vt({buffer:s},r));this.currentStartIndices=i.startIndices,this.currentLength=KC(i,e),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aFrom:n[0],aTo:qC(0,i)},feedbackBuffers:{vCurrent:n[1]}})}update(){const t=this.transition.update();if(t){const{time:t,settings:{duration:e,easing:n}}=this.transition,i=n(t/e);this.transform.run({uniforms:{time:i}})}return t}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:t,attribute:e,timeline:n}){this.gl=t,this.type="spring",this.transition=new KO(n),this.attribute=e,this.attributeInTransition=new ZC(t,zn(vt({},e.settings),{normalized:!1})),this.currentStartIndices=e.startIndices,this.currentLength=0,this.texture=function(t){return new xS(t,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(t),this.framebuffer=function(t,e){return new BS(t,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(t,this.texture),this.transform=function(t,e,n){const i=XC(e.size);return new qO(t,{framebuffer:n,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(t,e,this.framebuffer);const i={byteLength:0,usage:35050};this.buffers=[new fS(t,i),new fS(t,i),new fS(t,i)]}get inProgress(){return this.transition.inProgress}start(t,e){const{buffers:n,attribute:i}=this,r={numInstances:e,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(const s of n)QC(vt({buffer:s},r));this.currentStartIndices=i.startIndices,this.currentLength=KC(i,e),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aTo:qC(0,i)}})}update(){const{buffers:t,transform:e,framebuffer:n,transition:i}=this;return!!i.update()&&(e.update({sourceBuffers:{aPrev:t[0],aCur:t[1]},feedbackBuffers:{vNext:t[2]}}),e.run({framebuffer:n,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:i.settings.stiffness,damping:i.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),YC(t),this.attributeInTransition.update({buffer:t[1],value:this.attribute.value}),NS(n)[0]>0||i.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class ZO{constructor(t,{id:e,timeline:n}){this.id=e,this.gl=t,this.timeline=n,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=qO.isSupported(t)}finalize(){for(const t in this.transitions)this._removeTransition(t)}update({attributes:t,transitions:e,numInstances:n}){this.numInstances=n||1;for(const i in t){const n=t[i],r=n.getTransitionSetting(e);!r||this._updateAttribute(i,n,r)}for(const i in this.transitions){const n=t[i];(!n||!n.getTransitionSetting(e))&&this._removeTransition(i)}}hasAttribute(t){const e=this.transitions[t];return e&&e.inProgress}getAttributes(){const t={};for(const e in this.transitions){const n=this.transitions[e];n.inProgress&&(t[e]=n.attributeInTransition)}return t}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const e in this.transitions)this.transitions[e].update()&&(this.needsRedraw=!0);const t=this.needsRedraw;return this.needsRedraw=!1,t}_removeTransition(t){this.transitions[t].cancel(),delete this.transitions[t]}_updateAttribute(t,e,n){const i=this.transitions[t];let r=!i||i.type!==n.type;if(r){if(!this.isSupported)return void Gw.warn("WebGL2 not supported by this browser. Transition for ".concat(t," is disabled."))();i&&this._removeTransition(t);const s=QO[n.type];s?this.transitions[t]=new s({attribute:e,timeline:this.timeline,gl:this.gl}):(Gw.error("unsupported transition type '".concat(n.type,"'"))(),r=!1)}(r||e.needsRedraw())&&(this.needsRedraw=!0,this.transitions[t].start(n,this.numInstances))}}const JO="attributeManager.invalidate";class tT{constructor(t,{id:e="attribute-manager",stats:n,timeline:i}={}){this.id=e,this.gl=t,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=n,this.attributeTransitionManager=new ZO(t,{id:"".concat(e,"-transitions"),timeline:i}),Object.seal(this)}finalize(){for(const t in this.attributes)this.attributes[t].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(t={clearRedrawFlags:!1}){const e=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!t.clearRedrawFlags,e&&this.id}setNeedsRedraw(t=!0){return this.needsRedraw=!0,this}add(t,e){this._add(t,e)}addInstanced(t,e){this._add(t,e,{instanced:1})}remove(t){for(let e=0;e{t[n]||(t[n]=[]),t[n].push(e)});this.updateTriggers=t}_invalidateTrigger(t,e){const{attributes:n,updateTriggers:i}=this,r=i[t];return r&&r.forEach(t=>{const i=n[t];i&&i.setNeedsUpdate(i.id,e)}),r}_updateAttribute(t){const{attribute:e,numInstances:n}=t;tE("attribute.updateStart",e),e.allocate(n)&&tE("attribute.allocate",e,n),e.updateBuffer(t)&&(this.needsRedraw=!0,tE("attribute.updateEnd",e,n))}}function eT(t,e,n,i,r){const s=e-t;return(n-e)*r+-s*i+s+e}function nT(t,e){if(Array.isArray(t)){let n=0;for(let i=0;i0}add(t,e,n,i){const{transitions:r}=this;if(r.has(t)){const n=r.get(t),{value:i=n.settings.fromValue}=n;e=i,this.remove(t)}if(!(i=WC(i)))return;const s=iT[i.type];if(!s)return void Gw.error("unsupported transition type '".concat(i.type,"'"))();const o=new s(this.timeline);o.start(zn(vt({},i),{fromValue:e,toValue:n})),r.set(t,o)}remove(t){const{transitions:e}=this;e.has(t)&&(e.get(t).cancel(),e.delete(t))}update(){const t={};for(const[e,n]of this.transitions)n.update(),t[e]=n.value,n.inProgress||this.remove(e);return t}clear(){for(const t of this.transitions.keys())this.remove(t)}}const sT={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:oT}=sT;function aT(t,e){if(!t.transitions)return null;const n={},i=dT(t);for(const r in t.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&cT(t[r],e[r],s)&&(n[r]=!0)}return n}function lT({newProps:t,oldProps:e,ignoreProps:n={},propTypes:i={},triggerName:r="props"}={}){if(e===t)return null;if("object"!=typeof t||null===t||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(t))if(!(s in n)){if(!(s in e))return"".concat(r,".").concat(s," added");const n=cT(t[s],e[s],i[s]);if(n)return"".concat(r,".").concat(s," ").concat(n)}for(const s of Object.keys(e))if(!(s in n)){if(!(s in t))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(t,s)){const n=cT(t[s],e[s],i[s]);if(n)return"".concat(r,".").concat(s," ").concat(n)}}return null}function cT(t,e,n){let i=n&&n.equal;return i&&!i(t,e,n)||!i&&(i=t&&e&&t.equals,i&&!i.call(t,e))?"changed deeply":i||e===t?null:"changed shallowly"}function uT(t,e){if(null===e)return"oldProps is null, initial diff";const n=e.extensions,{extensions:i}=t;if(i===n)return!1;if(i.length!==n.length)return!0;for(let r=0;r{for(const r in i)if(!pT(i[r],n[r])){e=t(i),n=i;break}return e}}function gT(t,e){if(!e)return t;const n=vt(vt({},t),e);if("defines"in e&&(n.defines=vt(vt({},t.defines),e.defines)),"modules"in e&&(n.modules=(t.modules||[]).concat(e.modules),e.modules.some(t=>"project64"===t.name))){const t=n.modules.findIndex(t=>"project32"===t.name);t>=0&&n.modules.splice(t,1)}if("inject"in e)if(t.inject){const i=vt({},t.inject);for(const t in e.inject)i[t]=(i[t]||"")+e.inject[t];n.inject=i}else n.inject=e.inject;return n}function mT(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],d=e[10],p=e[11],f=e[12],g=e[13],m=e[14],b=e[15],y=n*a-i*o,v=n*l-r*o,_=n*c-s*o,w=i*l-r*a,x=i*c-s*a,S=r*c-s*l,C=u*g-h*f,E=u*m-d*f,O=u*b-p*f,T=h*m-d*g,k=h*b-p*g,P=d*b-p*m,A=y*P-v*k+_*T+w*O-x*E+S*C;return A?(t[0]=(a*P-l*k+c*T)*(A=1/A),t[1]=(r*k-i*P-s*T)*A,t[2]=(g*S-m*x+b*w)*A,t[3]=(d*x-h*S-p*w)*A,t[4]=(l*O-o*P-c*E)*A,t[5]=(n*P-r*O+s*E)*A,t[6]=(m*_-f*S-b*v)*A,t[7]=(u*S-d*_+p*v)*A,t[8]=(o*k-a*O+c*C)*A,t[9]=(i*O-n*k-s*C)*A,t[10]=(f*x-g*_+b*y)*A,t[11]=(h*_-u*x-p*y)*A,t[12]=(a*E-o*T-l*C)*A,t[13]=(n*T-i*E+r*C)*A,t[14]=(g*v-f*w-m*y)*A,t[15]=(u*w-h*v+d*y)*A,t):null}function bT(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=e[9],p=e[10],f=e[11],g=e[12],m=e[13],b=e[14],y=e[15],v=n[0],_=n[1],w=n[2],x=n[3];return t[0]=v*i+_*a+w*h+x*g,t[1]=v*r+_*l+w*d+x*m,t[2]=v*s+_*c+w*p+x*b,t[3]=v*o+_*u+w*f+x*y,t[4]=(v=n[4])*i+(_=n[5])*a+(w=n[6])*h+(x=n[7])*g,t[5]=v*r+_*l+w*d+x*m,t[6]=v*s+_*c+w*p+x*b,t[7]=v*o+_*u+w*f+x*y,t[8]=(v=n[8])*i+(_=n[9])*a+(w=n[10])*h+(x=n[11])*g,t[9]=v*r+_*l+w*d+x*m,t[10]=v*s+_*c+w*p+x*b,t[11]=v*o+_*u+w*f+x*y,t[12]=(v=n[12])*i+(_=n[13])*a+(w=n[14])*h+(x=n[15])*g,t[13]=v*r+_*l+w*d+x*m,t[14]=v*s+_*c+w*p+x*b,t[15]=v*o+_*u+w*f+x*y,t}function yT(t,e,n){var i,r,s,o,a,l,c,u,h,d,p,f,g=n[0],m=n[1],b=n[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*b+e[12],t[13]=e[1]*g+e[5]*m+e[9]*b+e[13],t[14]=e[2]*g+e[6]*m+e[10]*b+e[14],t[15]=e[3]*g+e[7]*m+e[11]*b+e[15]):(r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=e[9],p=e[10],f=e[11],t[0]=i=e[0],t[1]=r,t[2]=s,t[3]=o,t[4]=a,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=d,t[10]=p,t[11]=f,t[12]=i*g+a*m+h*b+e[12],t[13]=r*g+l*m+d*b+e[13],t[14]=s*g+c*m+p*b+e[14],t[15]=o*g+u*m+f*b+e[15]),t}function vT(t,e,n){var i=n[0],r=n[1],s=n[2];return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=e[3]*i,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function _T(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],d=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=s*r+c*i,t[5]=o*r+u*i,t[6]=a*r+h*i,t[7]=l*r+d*i,t[8]=c*r-s*i,t[9]=u*r-o*i,t[10]=h*r-a*i,t[11]=d*r-l*i,t}function wT(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],d=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*r+c*i,t[1]=o*r+u*i,t[2]=a*r+h*i,t[3]=l*r+d*i,t[4]=c*r-s*i,t[5]=u*r-o*i,t[6]=h*r-a*i,t[7]=d*r-l*i,t}function xT(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t}function ST(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3];return t[0]=n[0]*i+n[4]*r+n[8]*s+n[12]*o,t[1]=n[1]*i+n[5]*r+n[9]*s+n[13]*o,t[2]=n[2]*i+n[6]*r+n[10]*s+n[14]*o,t[3]=n[3]*i+n[7]*r+n[11]*s+n[15]*o,t}function CT(t,e,n){var i=e[0],r=e[1],s=e[2],o=n[0],a=n[1],l=n[2],c=n[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,d=c*s+o*r-a*i,p=-o*i-a*r-l*s;return t[0]=u*c+p*-o+h*-l-d*-a,t[1]=h*c+p*-a+d*-o-u*-l,t[2]=d*c+p*-l+u*-a-h*-o,t[3]=e[3],t}!function(){var t=new hC(4);hC!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();const ET=[0,0,0,0],OT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],TT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],kT=[0,0,0],PT=[0,0,0],AT=fT(function({viewport:t,devicePixelRatio:e,coordinateSystem:n,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(t,e,n){const{viewMatrixUncentered:i,projectionMatrix:r}=t;let{viewMatrix:s,viewProjectionMatrix:o}=t,a=ET,l=ET,c=t.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:d}=MT(t,e,n);return d&&(l=t.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=ST([],l,o),s=i||s,o=bT([],r,s),o=bT([],o,OT)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(t,n,i),u=t.getDistanceScales(),h=[t.width*e,t.height*e],d=t.projectionMatrix.transform([0,0,-t.focalDistance,1])[3]||1,p={project_uCoordinateSystem:n,project_uProjectionMode:t.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:d,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:kT,project_uScale:t.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const e=t.getDistanceScales(c);switch(n){case Ww.METER_OFFSETS:p.project_uCommonUnitsPerWorldUnit=e.unitsPerMeter,p.project_uCommonUnitsPerWorldUnit2=e.unitsPerMeter2;break;case Ww.LNGLAT:case Ww.LNGLAT_OFFSETS:p.project_uCommonUnitsPerWorldUnit=e.unitsPerDegree,p.project_uCommonUnitsPerWorldUnit2=e.unitsPerDegree2;break;case Ww.CARTESIAN:p.project_uCommonUnitsPerWorldUnit=[1,1,e.unitsPerMeter[2]],p.project_uCommonUnitsPerWorldUnit2=[0,0,e.unitsPerMeter2[2]]}}return p});function MT(t,e,n=PT){let i,r=n,s=!0;switch(i=e===Ww.LNGLAT_OFFSETS||e===Ww.METER_OFFSETS?n:t.isGeospatial?[Math.fround(t.longitude),Math.fround(t.latitude),0]:null,t.projectionMode){case qw.WEB_MERCATOR:(e===Ww.LNGLAT||e===Ww.CARTESIAN)&&(s=!1);break;case qw.WEB_MERCATOR_AUTO_OFFSET:e===Ww.LNGLAT?r=i:e===Ww.CARTESIAN&&(r=[Math.fround(t.center[0]),Math.fround(t.center[1]),0],i=t.unprojectPosition(r),r[0]-=n[0],r[1]-=n[1],r[2]-=n[2]);break;case qw.IDENTITY:r=t.position.map(Math.fround);break;case qw.GLOBE:s=!1,i=null;break;default:s=!1}return r[2]=r[2]||0,{geospatialOrigin:i,shaderCoordinateOrigin:r,offsetMode:s}}class IT extends rC{get ELEMENTS(){return iC(!1),0}get RANK(){return iC(!1),0}toString(){let t="[";if(XS.printRowMajor){t+="row-major:";for(let e=0;e2*Math.PI)throw Error("radians");const s=n*Math.tan(t/2),o=s*e;return(new VT).ortho({left:-o,right:o,bottom:-s,top:s,near:i,far:r})}perspective({fovy:t,fov:e=45*Math.PI/180,aspect:n=1,near:i=.1,far:r=500}={}){if((t=t||e)>2*Math.PI)throw Error("radians");return function(t,e,n,i,r){var s,o=1/Math.tan(e/2);t[0]=o/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=r&&r!==1/0?(t[10]=(r+i)*(s=1/(i-r)),t[14]=2*r*i*s):(t[10]=-1,t[14]=-2*i)}(this,t,n,i,r),this.check()}determinant(){return function(t){var e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],o=t[5],a=t[6],l=t[7],c=t[8],u=t[9],h=t[10],d=t[11],p=t[12],f=t[13],g=t[14],m=t[15];return(e*o-n*s)*(h*m-d*g)-(e*a-i*s)*(u*m-d*f)+(e*l-r*s)*(u*g-h*f)+(n*a-i*o)*(c*m-d*p)-(n*l-r*o)*(c*g-h*p)+(i*l-r*a)*(c*f-u*p)}(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],e=null){const n=this.getScale(e||[-0,-0,-0]),i=1/n[0],r=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*r,t[2]=this[2]*s,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*r,t[6]=this[6]*s,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*r,t[10]=this[10]*s,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t=[-0,-0,-0,-0,-0,-0,-0,-0,-0],e=null){const n=this.getScale(e||[-0,-0,-0]),i=1/n[0],r=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*r,t[2]=this[2]*s,t[3]=this[4]*i,t[4]=this[5]*r,t[5]=this[6]*s,t[6]=this[8]*i,t[7]=this[9]*r,t[8]=this[10]*s,t}transpose(){return function(t,e){if(t===e){var n=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=s,t[11]=e[14],t[12]=r,t[13]=o,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15]}(this,this),this.check()}invert(){return mT(this,this),this.check()}multiplyLeft(t){return bT(this,t,this),this.check()}multiplyRight(t){return bT(this,this,t),this.check()}rotateX(t){return _T(this,this,t),this.check()}rotateY(t){return function(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],d=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*r-c*i,t[1]=o*r-u*i,t[2]=a*r-h*i,t[3]=l*r-d*i,t[8]=s*i+c*r,t[9]=o*i+u*r,t[10]=a*i+h*r,t[11]=l*i+d*r}(this,this,t),this.check()}rotateZ(t){return wT(this,this,t),this.check()}rotateXYZ([t,e,n]){return this.rotateX(t).rotateY(e).rotateZ(n)}rotateAxis(t,e){return function(t,e,n,i){var r,s,o,a,l,c,u,h,d,p,f,g,m,b,y,v,_,w,x,S,C,E,O,T,k=i[0],P=i[1],A=i[2],M=Math.hypot(k,P,A);Mn?n:t}const $T=Math.log2||function(t){return Math.log(t)*Math.LOG2E};function GT(t,e){if(!t)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const WT=Math.PI,qT=WT/4,XT=WT/180,KT=180/WT,QT=4003e4,ZT=85.051129;function JT([t,e]){return GT(Number.isFinite(t)),GT(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(t*XT+WT)/(2*WT),512*(WT+Math.log(Math.tan(qT+e*XT*.5)))/(2*WT)]}function tk([t,e]){const n=t/512*(2*WT)-WT,i=2*(Math.atan(Math.exp(e/512*(2*WT)-WT))-qT);return[n*KT,i*KT]}function ek({latitude:t,longitude:e,highPrecision:n=!1}){GT(Number.isFinite(t)&&Number.isFinite(e));const i={},r=Math.cos(t*XT),s=512/360,o=s/r,a=512/QT/r;if(i.unitsPerMeter=[a,a,a],i.metersPerUnit=[1/a,1/a,1/a],i.unitsPerDegree=[s,o,a],i.degreesPerUnit=[1/s,1/o,1/a],n){const e=XT*Math.tan(t*XT)/r,n=512/QT*e,l=n/o*a;i.unitsPerDegree2=[0,s*e/2,n],i.unitsPerMeter2=[l,0,l]}return i}function nk(t,e){const[n,i,r]=t,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=ek({longitude:n,latitude:i,highPrecision:!0}),u=JT(t);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=tk(u),d=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],d]:h}function ik(t){return 2*Math.atan(.5/t)*KT}function rk(t,e){const[n,i,r=0]=t;return GT(Number.isFinite(n)&&Number.isFinite(i)&&Number.isFinite(r)),zT(e,[n,i,r,1])}function sk(t,e,n=0){const[i,r,s]=t;if(GT(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return zT(e,[i,r,s,1]);const o=zT(e,[i,r,0,1]),a=zT(e,[i,r,1,1]),l=o[2],c=a[2];return NT([],o,a,l===c?0:((n||0)-l)/(c-l))}const ok=Math.PI/180;function ak(t,e,n){const{pixelUnprojectionMatrix:i}=t,r=zT(i,[e,0,1,1]),s=zT(i,[e,t.height,1,1]),o=tk(NT([],r,s,(n*t.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return o[2]=n,o}const lk=Math.PI/180,ck=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],uk=[0,0,0],hk={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let dk=(()=>{class t{constructor(t={}){const{id:e=null,x:n=0,y:i=0,width:r=1,height:s=1}=t;this.id=e||this.constructor.displayName||"viewport",this.x=n,this.y=i,this.width=r||1,this.height=s||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?qw.WEB_MERCATOR:qw.WEB_MERCATOR_AUTO_OFFSET:qw.IDENTITY}equals(e){return e instanceof t&&(this===e||e.width===this.width&&e.height===this.height&&e.scale===this.scale&&nC(e.projectionMatrix,this.projectionMatrix)&&nC(e.viewMatrix,this.viewMatrix))}project(t,{topLeft:e=!0}={}){const n=rk(this.projectPosition(t),this.pixelProjectionMatrix),[i,r]=n,s=e?r:this.height-r;return 2===t.length?[i,s]:[i,s,n[2]]}unproject(t,{topLeft:e=!0,targetZ:n}={}){const[i,r,s]=t,o=sk([i,e?r:this.height-r,s],this.pixelUnprojectionMatrix,n&&n*this.distanceScales.unitsPerMeter[2]),[a,l,c]=this.unprojectPosition(o);return Number.isFinite(s)?[a,l,c]:Number.isFinite(n)?[a,l,n]:[a,l]}projectPosition(t){const[e,n]=this.projectFlat(t);return[e,n,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[e,n]=this.unprojectFlat(t);return[e,n,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?JT(t):t}unprojectFlat(t){return this.isGeospatial?tk(t):t}getBounds(t={}){const e={targetZ:t.z||0},n=this.unproject([0,0],e),i=this.unproject([this.width,0],e),r=this.unproject([0,this.height],e),s=this.unproject([this.width,this.height],e);return[Math.min(n[0],i[0],r[0],s[0]),Math.min(n[1],i[1],r[1],s[1]),Math.max(n[0],i[0],r[0],s[0]),Math.max(n[1],i[1],r[1],s[1])]}getDistanceScales(t=null){return t?ek({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:e,width:n=1,height:i=1}){return t{class t extends dk{constructor(t={}){const{latitude:e=0,longitude:n=0,zoom:i=11,pitch:r=0,bearing:s=0,nearZMultiplier:o=.1,farZMultiplier:a=1.01,orthographic:l=!1,repeat:c=!1,worldOffset:u=0}=t;let{width:h,height:d,altitude:p=1.5}=t;const f=Math.pow(2,i);h=h||1,d=d||1,p=Math.max(.75,p);const{fov:g,aspect:m,focalDistance:b,near:y,far:v}=function({width:t,height:e,fovy:n=ik(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(n=ik(i));const a=.5*n*XT,l=function(t){return.5/Math.tan(.5*t*XT)}(n),c=r*XT,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:t/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:h,height:d,pitch:r,altitude:p,nearZMultiplier:o,farZMultiplier:a});let _=function({height:t,pitch:e,bearing:n,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return yT(o,o,[0,0,-i]),_T(o,o,-e*XT),wT(o,o,n*XT),vT(o,o,[r/=t,r,r]),s&&yT(o,o,function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}([],s)),o}({height:d,pitch:r,bearing:s,scale:f,altitude:p});u&&(_=(new VT).translate([512*u,0,0]).multiplyLeft(_)),super(zn(vt({},t),{width:h,height:d,viewMatrix:_,longitude:n,latitude:e,zoom:i,orthographic:l,fovyRadians:g,aspect:m,focalDistance:b,near:y,far:v})),this.latitude=e,this.longitude=n,this.zoom=i,this.pitch=r,this.bearing=s,this.altitude=p,this.orthographic=l,this._subViewports=c?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const e=this.getBounds(),n=Math.floor((e[0]+180)/360),i=Math.ceil((e[2]-180)/360);for(let r=n;r<=i;r++){const e=r?new t(zn(vt({},this),{worldOffset:r})):this;this._subViewports.push(e)}}return this._subViewports}addMetersToLngLat(t,e){return nk(t,e)}panByPosition(t,e){const n=sk(e,this.pixelUnprojectionMatrix),i=DT([],this.projectFlat(t),RT([],n)),r=DT([],this.center,i),[s,o]=this.unprojectFlat(r);return{longitude:s,latitude:o}}getBounds(t={}){const e=function(t,e=0){const{width:n,height:i,unproject:r}=t,s={targetZ:e},o=r([0,i],s),a=r([n,i],s);let l,c;return(t.fovy?.5*t.fovy*ok:Math.atan(.5/t.altitude))>(90-t.pitch)*ok-.01?(l=ak(t,0,e),c=ak(t,n,e)):(l=r([0,0],s),c=r([n,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(e[0][0],e[1][0],e[2][0],e[3][0]),Math.min(e[0][1],e[1][1],e[2][1],e[3][1]),Math.max(e[0][0],e[1][0],e[2][0],e[3][0]),Math.max(e[0][1],e[1][1],e[2][1],e[3][1])]}fitBounds(e,n={}){const{width:i,height:r}=this,{longitude:s,latitude:o,zoom:a}=function({width:t,height:e,bounds:n,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=n;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:GT(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=JT([a,HT(u,-ZT,ZT)]),d=JT([c,HT(l,-ZT,ZT)]),p=[Math.max(Math.abs(d[0]-h[0]),i),Math.max(Math.abs(d[1]-h[1]),i)],f=[t-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];GT(f[0]>0&&f[1]>0);const g=f[0]/p[0],m=f[1]/p[1],b=tk([(d[0]+h[0])/2+(s.right-s.left)/2/g,(d[1]+h[1])/2+(s.bottom-s.top)/2/m]),y=Math.min(r,$T(Math.abs(Math.min(g,m))));return GT(Number.isFinite(y)),{longitude:b[0],latitude:b[1],zoom:y}}(vt({width:i,height:r,bounds:e},n));return new t({width:i,height:r,longitude:s,latitude:o,zoom:a})}}return t.displayName="WebMercatorViewport",t})();function fk(t,e,n=!1){const i=e.projectPosition(t);if(n&&e instanceof pk){const[n,r,s=0]=t,o=e.getDistanceScales([n,r]);i[2]=s*o.unitsPerMeter[2]}return i}function gk(t,{viewport:e,modelMatrix:n,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=t;switch(n&&([o,a,l]=ST([],[o,a,l,1],n)),i){case Ww.LNGLAT:return fk([o,a,l],e,s);case Ww.LNGLAT_OFFSETS:return fk([o+r[0],a+r[1],l+(r[2]||0)],e,s);case Ww.METER_OFFSETS:return fk(nk(r,[o,a,l]),e,s);case Ww.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const mk={10241:9987,10240:9729,10242:33071,10243:33071},bk={},yk={boolean:{validate:(t,e)=>!0,equal:(t,e,n)=>Boolean(t)===Boolean(e)},number:{validate:(t,e)=>Number.isFinite(t)&&(!("max"in e)||t<=e.max)&&(!("min"in e)||t>=e.min)},color:{validate:(t,e)=>e.optional&&!t||xk(t)&&(3===t.length||4===t.length),equal:(t,e,n)=>vk(t,e)},accessor:{validate(t,e){const n=Sk(t);return"function"===n||n===Sk(e.value)},equal:(t,e,n)=>"function"==typeof e||vk(t,e)},array:{validate:(t,e)=>e.optional&&!t||xk(t),equal:(t,e,n)=>n.compare?vk(t,e):t===e},function:{validate:(t,e)=>e.optional&&!t||"function"==typeof t,equal:(t,e,n)=>!n.compare||t===e},data:{transform:(t,e,n)=>{const{dataTransform:i}=n?n.props:{};return i&&t?i(t):t}},image:{transform:(t,e,n)=>function(t,e){const n=t.context&&t.context.gl;if(!n||!e)return null;if(e instanceof xS)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new xS(n,zn(vt({},e),{parameters:vt(vt(vt({},mk),i),t.props.textureParameters)}));return bk[r.id]=!0,r}(n,t),release:t=>{!function(t){!t||!(t instanceof xS)||bk[t.id]&&(t.delete(),delete bk[t.id])}(t)}}};function vk(t,e){if(t===e)return!0;if(!xk(t)||!xk(e))return!1;const n=t.length;if(n!==e.length)return!1;for(let i=0;i{},this.oldProps=jk,this.oldAsyncProps=null}finalize(){for(const t in this.asyncProps){const e=this.asyncProps[t];e.type&&e.type.release&&e.type.release(e.resolvedValue,e.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const t in this.asyncProps)Object.defineProperty(this.oldAsyncProps,t,{enumerable:!0,value:this.oldProps[t]})}}hasAsyncProp(t){return t in this.asyncProps}getAsyncProp(t){const e=this.asyncProps[t];return e&&e.resolvedValue}isAsyncPropLoading(t){if(t){const e=this.asyncProps[t];return Boolean(e&&e.pendingLoadCount>0&&e.pendingLoadCount!==e.resolvedLoadCount)}for(const e in this.asyncProps)if(this.isAsyncPropLoading(e))return!0;return!1}reloadAsyncProp(t,e){this._watchPromise(t,Promise.resolve(e))}setAsyncProps(t){const e=t[Nk]||{},n=t[Rk]||t,i=t[Lk]||{};for(const r in e){const t=e[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,t),e[r]=this.getAsyncProp(r)}for(const r in n){const t=n[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,t)}}_updateAsyncProp(t,e){if(this._didAsyncInputValueChange(t,e)){if("string"==typeof e){var n;const i=null===(n=this.layer)||void 0===n?void 0:n.props.fetch;i&&(e=i(e,{propName:t,layer:this.layer}))}if(e instanceof Promise)return void this._watchPromise(t,e);if(FC(e))return void this._resolveAsyncIterable(t,e);this._setPropValue(t,e)}}_didAsyncInputValueChange(t,e){const n=this.asyncProps[t];return e!==n.resolvedValue&&e!==n.lastValue&&(n.lastValue=e,!0)}_setPropValue(t,e){const n=this.asyncProps[t];e=this._postProcessValue(n,e),n.resolvedValue=e,n.pendingLoadCount++,n.resolvedLoadCount=n.pendingLoadCount}_setAsyncPropValue(t,e,n){const i=this.asyncProps[t];i&&n>=i.resolvedLoadCount&&void 0!==e&&(this.freezeAsyncOldProps(),i.resolvedValue=e,i.resolvedLoadCount=n,this.onAsyncPropUpdated(t,e))}_watchPromise(t,e){const n=this.asyncProps[t];n.pendingLoadCount++;const i=n.pendingLoadCount;e.then(e=>{var r;e=this._postProcessValue(n,e),this._setAsyncPropValue(t,e,i);const s=null===(r=this.layer)||void 0===r?void 0:r.props.onDataLoad;"data"===t&&s&&s(e,{propName:t,layer:this.layer})}).catch(e=>{var n;null===(n=this.layer)||void 0===n||n.raiseError(e,"loading ".concat(t," of ").concat(this.layer))})}_resolveAsyncIterable(t,e){var n=this;return PS(function*(){var i;"data"!==t&&n._setPropValue(t,e);const r=n.asyncProps[t];r.pendingLoadCount++;const s=r.pendingLoadCount;let o=[],a=0;var l,c=!0,u=!1;try{for(var h,d,p=Dk(e);c=(h=yield p.next()).done,d=yield h.value,!c;c=!0){const e=d,{dataTransform:i}=n.component?n.component.props:{};o=i?i(e,o):o.concat(e),Object.defineProperty(o,"__diff",{enumerable:!1,value:[{startRow:a,endRow:o.length}]}),a=o.length,n._setAsyncPropValue(t,o,s)}}catch(g){u=!0,l=g}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(u)throw l}}const f=null===(i=n.layer)||void 0===i?void 0:i.props.onDataLoad;f&&f(o,{propName:t,layer:n.layer})})()}_postProcessValue(t,e){const n=t.type;return n&&(n.release&&n.release(t.resolvedValue,n,this.component),n.transform)?n.transform(e,n,this.component):e}_createAsyncPropData(t,e){if(!this.asyncProps[t]){const n=this.component&&this.component.constructor._propTypes;this.asyncProps[t]={type:n&&n[t],lastValue:null,resolvedValue:e,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:Bk,ASYNC_RESOLVED:Vk,ASYNC_DEFAULTS:zk}=sT,Uk={};let Hk=0,$k=(()=>{class t{constructor(){this.props=kk.apply(this,arguments),this.id=this.props.id,this.count=Hk++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:e}=this,n={};for(const i in e[zk])i in e[Vk]?n[i]=e[Vk][i]:i in e[Bk]&&(n[i]=e[Bk][i]);return new this.constructor(vt(vt(vt({},e),n),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new Fk({})}}return t.componentName="Component",t.defaultProps=Uk,t})();class Gk extends Fk{constructor({attributeManager:t,layer:e}){super(e),this.attributeManager=t,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(t){this.component=t}}const Wk=t=>"function"==typeof t,qk=t=>null!==t&&"object"==typeof t,Xk=t=>qk(t)&&t.constructor==={}.constructor,Yk=t=>t&&"function"==typeof t[Symbol.iterator],Kk=t=>t&&"function"==typeof t[Symbol.asyncIterator],Qk=t=>"undefined"!=typeof Response&&t instanceof Response||t&&t.arrayBuffer&&t.text&&t.json,Zk=t=>"undefined"!=typeof Blob&&t instanceof Blob,Jk=t=>(t=>"undefined"!=typeof ReadableStream&&t instanceof ReadableStream||qk(t)&&Wk(t.tee)&&Wk(t.cancel)&&Wk(t.getReader))(t)||(t=>qk(t)&&Wk(t.read)&&Wk(t.pipe)&&(t=>"boolean"==typeof t)(t.readable))(t);function tP(t,e){if(!t)throw new Error(e||"loader assertion failed.")}function eP(t){var e;return!!t&&(Array.isArray(t)&&(t=t[0]),Array.isArray(null===(e=t)||void 0===e?void 0:e.extensions))}function nP(t){var e,n;let i;return tP(t,"null loader"),tP(eP(t),"invalid loader"),Array.isArray(t)&&(i=t[1],t=zn(vt({},t=t[0]),{options:vt(vt({},t.options),i)})),(null!==(e=t)&&void 0!==e&&e.parseTextSync||null!==(n=t)&&void 0!==n&&n.parseText)&&(t.text=!0),t.text||(t.binary=!0),t}const iP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},rP=iP.global||iP.self||iP.window||{},sP="object"!=typeof process||"[object process]"!==String(process)||process.browser,oP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);oP&&parseFloat(oP[1]);const aP={};function lP(t){for(const e in aP)t.startsWith(e)&&(t=t.replace(e,aP[e]));return!t.startsWith("http://")&&!t.startsWith("https://")&&(t=`${t}`),t}const cP=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,uP=/^([-\w.]+\/[-\w.+]+)/;function hP(t){const e=uP.exec(t);return e?e[1]:t}function dP(t){const e=cP.exec(t);return e?e[1]:""}const pP=/\?.*/;function fP(t){if(Qk(t)){const e=mP(t.url||"");return{url:e,type:hP(t.headers.get("content-type")||"")||dP(e)}}return Zk(t)?{url:mP(t.name||""),type:t.type||""}:"string"==typeof t?{url:mP(t),type:dP(t)}:{url:"",type:""}}function gP(t){return Qk(t)?t.headers["content-length"]||-1:Zk(t)?t.size:"string"==typeof t?t.length:t instanceof ArrayBuffer||ArrayBuffer.isView(t)?t.byteLength:-1}function mP(t){return t.replace(pP,"")}function bP(t){return yP.apply(this,arguments)}function yP(){return(yP=PS(function*(t){if(Qk(t))return t;const e={},n=gP(t);n>=0&&(e["content-length"]=String(n));const{url:i,type:r}=fP(t);r&&(e["content-type"]=r);const s=yield SP(t);s&&(e["x-first-bytes"]=s),"string"==typeof t&&(t=(new TextEncoder).encode(t));const o=new Response(t,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function vP(t){return _P.apply(this,arguments)}function _P(){return(_P=PS(function*(t){if(!t.ok){const e=yield wP(t);throw new Error(e)}})).apply(this,arguments)}function wP(t){return xP.apply(this,arguments)}function xP(){return(xP=PS(function*(t){let e=`Failed to fetch resource ${t.url} (${t.status}): `;try{const n=t.headers.get("Content-Type");let i=t.statusText;n.includes("application/json")&&(i+=` ${yield t.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(n){}return e})).apply(this,arguments)}function SP(t){return CP.apply(this,arguments)}function CP(){return(CP=PS(function*(t){if("string"==typeof t)return`data:,${t.slice(0,5)}`;if(t instanceof Blob){const e=t.slice(0,5);return yield new Promise(t=>{const n=new FileReader;n.onload=e=>{var n;return t(null==e||null===(n=e.target)||void 0===n?void 0:n.result)},n.readAsDataURL(e)})}return t instanceof ArrayBuffer?`data:base64,${EP(t.slice(0,5))}`:null})).apply(this,arguments)}function EP(t){let e="";const n=new Uint8Array(t);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const MP={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){kP(this,"console",void 0),this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},IP={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function DP(){rP.loaders=rP.loaders||{};const{loaders:t}=rP;return t._state=t._state||{},t._state}const RP=()=>{const t=DP();return t.globalOptions=t.globalOptions||vt({},MP),t.globalOptions};function NP(t,e,n,i){return n=n||[],function(t,e){jP(t,null,MP,IP,e);for(const n of e)jP(t&&t[n.id]||{},n.id,n.options&&n.options[n.id]||{},n.deprecatedOptions&&n.deprecatedOptions[n.id]||{},e)}(t,n=Array.isArray(n)?n:[n]),function(t,e,n){const i=vt({},t.options||{});return function(t,e){e&&!("baseUri"in t)&&(t.baseUri=e)}(i,n),null===i.log&&(i.log=new AP),BP(i,RP()),BP(i,e),i}(e,t,i)}function LP(t,e){const n=RP(),i=t||n;return"function"==typeof i.fetch?i.fetch:qk(i.fetch)?t=>OP(t,i):null!=e&&e.fetch?null==e?void 0:e.fetch:OP}function jP(t,e,n,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in t){const l=!e&&qk(t[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in n)&&!c&&!u)if(a in i)PP.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const t=FP(a,r);PP.warn(`${s} loader option '${o}${a}' not recognized. ${t}`)()}}}function FP(t,e){const n=t.toLowerCase();let i="";for(const r of e)for(const e in r.options){if(t===e)return`Did you mean '${r.id}.${e}'?`;const s=e.toLowerCase();(n.startsWith(s)||s.startsWith(n))&&(i=i||`Did you mean '${r.id}.${e}'?`)}return i}function BP(t,e){for(const n in e)n in e&&(t[n]=Xk(e[n])&&Xk(t[n])?vt(vt({},t[n]),e[n]):e[n])}function VP(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}function zP(t,e="3.0.12"){return VP(t,"no worker provided"),!(!e||!t.version)}const UP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},HP=UP.global||UP.self||UP.window||{},$P="object"!=typeof process||"[object process]"!==String(process)||process.browser,GP="function"==typeof importScripts,WP="undefined"!=typeof window&&void 0!==window.orientation,qP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),XP=(qP&&parseFloat(qP[1]),new Map);function YP(t){const e=new Blob([t],{type:"application/javascript"});return URL.createObjectURL(e)}function KP(t,e=!0,n){const i=n||new Set;if(t)if(QP(t))i.add(t);else if(QP(t.buffer))i.add(t.buffer);else if(!ArrayBuffer.isView(t)&&e&&"object"==typeof t)for(const r in t)KP(t[r],e,i);return void 0===n?Array.from(i):[]}function QP(t){return!!t&&(t instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&t instanceof MessagePort||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas)}const ZP=()=>{};class JP{static isSupported(){return"undefined"!=typeof Worker}constructor(t){kP(this,"name",void 0),kP(this,"source",void 0),kP(this,"url",void 0),kP(this,"terminated",!1),kP(this,"worker",void 0),kP(this,"onMessage",void 0),kP(this,"onError",void 0),kP(this,"_loadableURL","");const{name:e,source:n,url:i}=t;VP(n||i),this.name=e,this.source=n,this.url=i,this.onMessage=ZP,this.onError=t=>console.log(t),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=ZP,this.onError=ZP,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,e){e=e||KP(t),this.worker.postMessage(t,e)}_getErrorFromErrorEvent(t){let e="Failed to load ";return e+=`worker ${this.name}. `,t.message&&(e+=`${t.message} in `),t.lineno&&(e+=`:${t.lineno}:${t.colno}`),new Error(e)}_createBrowserWorker(){this._loadableURL=function(t){VP(t.source&&!t.url||!t.source&&t.url);let e=XP.get(t.source||t.url);return e||(t.url&&(e=function(t){return t.startsWith("http")?YP(function(t){return`try {\n importScripts('${t}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(t)):t}(t.url),XP.set(t.url,e)),t.source&&(e=YP(t.source),XP.set(t.source,e))),VP(e),e}({source:this.source,url:this.url});const t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},t.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},t.onmessageerror=t=>console.error(t),t}}class tA{constructor(t,e){kP(this,"name",void 0),kP(this,"workerThread",void 0),kP(this,"isRunning",void 0),kP(this,"result",void 0),kP(this,"_resolve",void 0),kP(this,"_reject",void 0),this.name=t,this.workerThread=e,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((t,e)=>{this._resolve=t,this._reject=e})}postMessage(t,e){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:e})}done(t){VP(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){VP(this.isRunning),this.isRunning=!1,this._reject(t)}}class eA{constructor(t){kP(this,"name","unnamed"),kP(this,"source",void 0),kP(this,"url",void 0),kP(this,"maxConcurrency",1),kP(this,"maxMobileConcurrency",1),kP(this,"onDebug",()=>{}),kP(this,"reuseWorkers",!0),kP(this,"props",{}),kP(this,"jobQueue",[]),kP(this,"idleQueue",[]),kP(this,"count",0),kP(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props=vt(vt({},this.props),t),void 0!==t.name&&(this.name=t.name),void 0!==t.maxConcurrency&&(this.maxConcurrency=t.maxConcurrency),void 0!==t.maxMobileConcurrency&&(this.maxMobileConcurrency=t.maxMobileConcurrency),void 0!==t.reuseWorkers&&(this.reuseWorkers=t.reuseWorkers),void 0!==t.onDebug&&(this.onDebug=t.onDebug)}startJob(t,e=((t,e,n)=>t.done(n)),n=((t,e)=>t.error(e))){var i=this;return PS(function*(){const r=new Promise(r=>(i.jobQueue.push({name:t,onMessage:e,onError:n,onStart:r}),i));return i._startQueuedJob(),yield r})()}_startQueuedJob(){var t=this;return PS(function*(){if(!t.jobQueue.length)return;const e=t._getAvailableWorker();if(!e)return;const n=t.jobQueue.shift();if(n){t.onDebug({message:"Starting job",name:n.name,workerThread:e,backlog:t.jobQueue.length});const i=new tA(n.name,e);e.onMessage=t=>n.onMessage(i,t.type,t.payload),e.onError=t=>n.onError(i,t),n.onStart(i);try{yield i.result}finally{t.returnWorkerToQueue(e)}}})()}returnWorkerToQueue(t){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class iA{static isSupported(){return JP.isSupported()}static getWorkerFarm(t={}){return iA._workerFarm=iA._workerFarm||new iA({}),iA._workerFarm.setProps(t),iA._workerFarm}constructor(t){kP(this,"props",void 0),kP(this,"workerPools",new Map),this.props=vt({},nA),this.setProps(t),this.workerPools=new Map}destroy(){for(const t of this.workerPools.values())t.destroy()}setProps(t){this.props=vt(vt({},this.props),t);for(const e of this.workerPools.values())e.setProps(this._getWorkerPoolProps())}getWorkerPool(t){const{name:e,source:n,url:i}=t;let r=this.workerPools.get(e);return r||(r=new eA({name:e,source:n,url:i}),r.setProps(this._getWorkerPoolProps()),this.workerPools.set(e,r)),r}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function rA(t,e={}){const n=`${t.id}-worker.js`;let i=(e[t.id]||{}).workerUrl;if("test"===e._workerType&&(i=`modules/${t.module}/dist/${n}`),!i){let e=t.version;"latest"===e&&(e="latest"),i=`https://unpkg.com/@loaders.gl/${t.module}${e?`@${e}`:""}/dist/${n}`}return VP(i),i}function sA(t,e){return!!iA.isSupported()&&t.worker&&(null==e?void 0:e.worker)}function oA(t,e,n,i,r){return aA.apply(this,arguments)}function aA(){return(aA=PS(function*(t,e,n,i,r){const s=t.id,o=rA(t,n),a=iA.getWorkerFarm(n).getWorkerPool({name:s,url:o});n=JSON.parse(JSON.stringify(n));const l=yield a.startJob("process-on-worker",lA.bind(null,r));return l.postMessage("process",{input:e,options:n}),yield(yield l.result).result})).apply(this,arguments)}function lA(t,e,n,i){return cA.apply(this,arguments)}function cA(){return(cA=PS(function*(t,e,n,i){switch(n){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:s,input:o,options:a}=i;try{const n=yield t(o,a);e.postMessage("done",{id:s,result:n})}catch(r){const t=r instanceof Error?r.message:"unknown error";e.postMessage("error",{id:s,error:t})}break;default:console.warn(`parse-with-worker unknown message ${n}`)}})).apply(this,arguments)}kP(iA,"_workerFarm",void 0);var uA=n(9521);function hA(t){if(function(t){return t&&"object"==typeof t&&t.isBuffer}(t)&&(t=function(t){return uA.toArrayBuffer?uA.toArrayBuffer(t):t}(t)),t instanceof ArrayBuffer)return t;if(ArrayBuffer.isView(t))return 0===t.byteOffset&&t.byteLength===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength);if("string"==typeof t){const e=t;return(new TextEncoder).encode(e).buffer}if(t&&"object"==typeof t&&t._toArrayBuffer)return t._toArrayBuffer();throw new Error("toArrayBuffer")}function dA(...t){const e=t.map(t=>t instanceof ArrayBuffer?new Uint8Array(t):t),n=e.reduce((t,e)=>t+e.byteLength,0),i=new Uint8Array(n);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function pA(t,e,n){const i=void 0!==n?new Uint8Array(t).subarray(e,e+n):new Uint8Array(t).subarray(e);return new Uint8Array(i).buffer}function fA(t){return gA.apply(this,arguments)}function gA(){return(gA=PS(function*(t){const e=[];var n,i=!0,r=!1;try{for(var s,o,a=Dk(t);i=(s=yield a.next()).done,o=yield s.value,!i;i=!0)e.push(o)}catch(l){r=!0,n=l}finally{try{!i&&null!=a.return&&(yield a.return())}finally{if(r)throw n}}return dA(...e)})).apply(this,arguments)}const mA=262144;function bA(t){this.wrapped=t}function yA(t){return new bA(t)}function vA(t){var e,n;function i(e,n){try{var s=t[e](n),o=s.value,a=o instanceof bA;Promise.resolve(a?o.wrapped:o).then(function(t){a?i("return"===e?"return":"next",t):r(s.done?"return":"normal",t)},function(t){i("throw",t)})}catch(l){r("throw",l)}}function r(t,r){switch(t){case"return":e.resolve({value:r,done:!0});break;case"throw":e.reject(r);break;default:e.resolve({value:r,done:!1})}(e=e.next)?i(e.key,e.arg):n=null}this._invoke=function(t,r){return new Promise(function(s,o){var a={key:t,arg:r,resolve:s,reject:o,next:null};n?n=n.next=a:(e=n=a,i(t,r))})},"function"!=typeof t.return&&(this.return=void 0)}function _A(t){return function(){return new vA(t.apply(this,arguments))}}function wA(){return(wA=_A(function*(t,e){const n=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;it&&"object"==typeof t&&t.isBuffer)(t)&&(t=t.buffer),t instanceof ArrayBuffer){const n=t;return e.text&&!e.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(t)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(t);let n=t.buffer;const i=t.byteLength||t.length;return(0!==t.byteOffset||i!==n.byteLength)&&(n=n.slice(t.byteOffset,t.byteOffset+i)),n}throw new Error(OA)}function kA(t,e,n){return PA.apply(this,arguments)}function PA(){return(PA=PS(function*(t,e,n){const i=t instanceof ArrayBuffer||ArrayBuffer.isView(t);if("string"==typeof t||i)return TA(t,e);if(Zk(t)&&(t=yield bP(t)),Qk(t)){const n=t;return yield vP(n),e.binary?yield n.arrayBuffer():yield n.text()}if(Jk(t)&&(t=EA(t,n)),Yk(t)||Kk(t))return fA(t);throw new Error(OA)})).apply(this,arguments)}function AA(t,e,n=null){if(n)return n;const i=vt({fetch:LP(e,t)},t);return Array.isArray(i.loaders)||(i.loaders=null),i}function MA(t,e){if(!e&&t&&!Array.isArray(t))return t;let n;if(t&&(n=Array.isArray(t)?t:[t]),e&&e.loaders){const t=Array.isArray(e.loaders)?e.loaders:[e.loaders];n=n?[...n,...t]:t}return n&&n.length?n:null}const IA=()=>{const t=DP();return t.loaderRegistry=t.loaderRegistry||[],t.loaderRegistry};function DA(t){const e=IA();t=Array.isArray(t)?t:[t];for(const n of t){const t=nP(n);e.find(e=>t===e)||e.unshift(t)}}const RA=/\.([^.]+)$/;function NA(t){return LA.apply(this,arguments)}function LA(){return(LA=PS(function*(t,e=[],n,i){if(!FA(t))return null;let r=jA(t,e,zn(vt({},n),{nothrow:!0}),i);if(r)return r;if(Zk(t)&&(r=jA(t=yield t.slice(0,10).arrayBuffer(),e,n,i)),!(r||null!=n&&n.nothrow))throw new Error(BA(t));return r})).apply(this,arguments)}function jA(t,e=[],n,i){if(!FA(t))return null;if(e&&!Array.isArray(e))return nP(e);let r=[];e&&(r=r.concat(e)),null!=n&&n.ignoreRegisteredLoaders||r.push(...IA()),function(t){for(const e of t)nP(e)}(r);const s=function(t,e,n,i){const{url:r,type:s}=fP(t),o=r||(null==i?void 0:i.url);let a=null;return null!=n&&n.mimeType&&(a=VA(e,null==n?void 0:n.mimeType)),a=a||function(t,e){const n=e&&RA.exec(e),i=n&&n[1];return i?function(t,e){e=e.toLowerCase();for(const n of t)for(const t of n.extensions)if(t.toLowerCase()===e)return n;return null}(t,i):null}(e,o),a=a||VA(e,s),a=a||function(t,e){if(!e)return null;for(const n of t)if("string"==typeof e){if(zA(e,n))return n}else if(ArrayBuffer.isView(e)){if(UA(e.buffer,e.byteOffset,n))return n}else if(e instanceof ArrayBuffer&&UA(e,0,n))return n;return null}(e,t),a=a||VA(e,null==n?void 0:n.fallbackMimeType),a}(t,r,n,i);if(!(s||null!=n&&n.nothrow))throw new Error(BA(t));return s}function FA(t){return!(t instanceof Response&&204===t.status)}function BA(t){const{url:e,type:n}=fP(t);let i="No valid loader found";return t&&(i+=` data: "${function(t,e=5){return"string"==typeof t?t.slice(0,e):ArrayBuffer.isView(t)?HA(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?HA(t,0,e):""}(t)}", contentType: "${n}"`),e&&(i+=` url: ${e}`),i}function VA(t,e){for(const n of t)if(n.mimeTypes&&n.mimeTypes.includes(e)||e===`application/x.${n.id}`)return n;return null}function zA(t,e){return e.testText?e.testText(t):(Array.isArray(e.tests)?e.tests:[e.tests]).some(e=>t.startsWith(e))}function UA(t,e,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some(i=>function(t,e,n,i){if(i instanceof ArrayBuffer)return function(t,e,n){if(t.byteLength<(n=n||t.byteLength)||e.byteLengtht.equals(e));let JA=new Uint8ClampedArray(0);const tM={data:{type:"data",value:QA,async:!0},dataComparator:null,_dataDiff:{type:"function",value:t=>t&&t.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(t,{propName:e,layer:n,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=n.context;var a;r=r||n.getLoadOptions(),i=i||n.props.loaders,s&&(r=zn(vt({},r),{fetch:zn(vt({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(t);return!l&&!r&&(o.add({resourceId:t,data:XA(t,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:t,onChange:t=>n.internalState.reloadAsyncProp(e,t),consumerId:n.id,requestId:e}):XA(t,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:Ww.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:t})=>[0,100*-t],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let eM=(()=>{class t extends $k{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,e){var n,i,r,s;e&&(t.message="".concat(e,": ").concat(t.message)),(null===(n=(i=this.props).onError)||void 0===n?void 0:n.call(i,t))||null===(r=this.context)||void 0===r||null===(s=r.onError)||void 0===s||s.call(r,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:e}=this.context,n=gk(t,{viewport:e,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[i,r,s]=rk(n,e.pixelProjectionMatrix);return 2===t.length?[i,r]:[i,r,s]}unproject(t){const{viewport:e}=this.context;return e.unproject(t)}projectPosition(t){return function(t,e){const{viewport:n,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(t){const e=vt({},t);let{coordinateSystem:n}=t;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=t;return n===Ww.DEFAULT&&(n=i.isGeospatial?Ww.LNGLAT:Ww.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=n),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=n,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=MT(n,i,r),h=gk(t,{viewport:n,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(t,e,n){t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2]}(h,h,n.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===Ww.DEFAULT||t===Ww.LNGLAT||t===Ww.CARTESIAN}onHover(t,e){return!!this.props.onHover&&this.props.onHover(t,e)}onClick(t,e){return!!this.props.onClick&&this.props.onClick(t,e)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,e=[]){return e[0]=t+1&255,e[1]=t+1>>8&255,e[2]=t+1>>8>>8&255,e}decodePickingColor(t){RC(t instanceof Uint8Array);const[e,n,i]=t;return e+256*n+65536*i-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const e of this.props.extensions)t=gT(t,e.getShaders.call(this,e));return t}shouldUpdateState({changeFlags:t}){return t.propsOrDataChanged}updateState({oldProps:t,props:e,changeFlags:n}){const i=this.getAttributeManager();if(n.dataChanged&&i){const{dataChanged:t}=n;if(Array.isArray(t))for(const e of t)i.invalidateAll(e);else i.invalidateAll()}const r=e.highlightedObjectIndex>=0||e.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==r&&i){const{pickingColors:t,instancePickingColors:e}=i.attributes,n=t||e;n&&(r&&n.constant&&(n.constant=!1,i.invalidate(n.id)),!n.value&&!r&&(n.constant=!0,n.value=[0,0,0]))}}finalizeState(){for(const e of this.getModels())e.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const e of this.getModels())e.draw(t)}getPickingInfo({info:t}){const{index:e}=t;return e>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[e]),t}activateViewport(t){const e=this.internalState.viewport;this.internalState.viewport=t,(!e||!ZA({oldViewport:e,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",e=""){const n=this.getAttributeManager();!n||("all"===t?n.invalidateAll():n.invalidate(t))}updateAttributes(t){for(const e of this.getModels())this._setModelAttributes(e,t)}_updateAttributes(t){const e=this.getAttributeManager();if(!e)return;const n=this.getNumInstances(t),i=this.getStartIndices(t);e.update({data:t.data,numInstances:n,startIndices:i,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const r=e.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(r)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const e=t.update(),n=Object.create(this.props);for(const t in e)Object.defineProperty(n,t,{value:e[t]});return n}return this.props}calculateInstancePickingColors(t,{numInstances:e}){if(t.constant)return;const n=Math.floor(JA.length/3);if(this.internalState.usesPickingColorCache=!0,nKA&&Gw.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),JA=GS.allocate(JA,e,{size:3,copy:!0,maxCount:Math.max(e,KA)});const t=Math.floor(JA.length/3),i=[];for(let e=n;e{const i={moduleParameters:t,uniforms:e,parameters:n,context:this.context};for(const t of this.props.extensions)t.draw.call(this,i,t);this.draw(i)})}finally{this.props=i}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:e}=this.internalState;for(const i in t)if(t[i]){let n=!1;switch(i){case"dataChanged":Array.isArray(e[i])&&(e[i]=Array.isArray(t[i])?e[i].concat(t[i]):t[i],n=!0);default:e[i]||(e[i]=t[i],n=!0)}n&&tE("layer.changeFlag",this,i,t)}const n=e.dataChanged||e.updateTriggersChanged||e.propsChanged||e.extensionsChanged;e.propsOrDataChanged=n,e.somethingChanged=n||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,e){const n=function(t,e){const n=lT({newProps:t,oldProps:e,propTypes:dT(t),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(t,e){if(null===e)return"oldProps is null, initial diff";let n=null;const{dataComparator:i,_dataDiff:r}=t;return i?i(t.data,e.data)||(n="Data comparator detected a change"):t.data!==e.data&&(n="A new data container was supplied"),n&&r&&(n=r(t.data,e.data)||n),n}(t,e);let r=!1;return i||(r=function(t,e){if(null===e)return"oldProps is null, initial diff";if("all"in t.updateTriggers&&hT(t,e,"all"))return{all:!0};const n={};let i=!1;for(const r in t.updateTriggers)"all"!==r&&hT(t,e,r)&&(n[r]=!0,i=n);return i}(t,e)),{dataChanged:i,propsChanged:n,updateTriggersChanged:r,extensionsChanged:uT(t,e),transitionsChanged:aT(t,e)}}(t,e);if(n.updateTriggersChanged)for(const i in n.updateTriggersChanged)n.updateTriggersChanged[i]&&this.invalidateAttribute(i);if(n.transitionsChanged)for(const i in n.transitionsChanged)this.internalState.uniformTransitions.add(i,e[i],t[i],t.transitions[i]);return this.setChangeFlags(n)}validateProps(){!function(t){const e=dT(t);for(const n in e){const i=e[n],{validate:r}=i;if(r&&!r(t[n],i))throw new Error("Invalid prop ".concat(n,": ").concat(t[n]))}}(this.props)}setModuleParameters(t){for(const e of this.getModels())e.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const e={pickingSelectedColor:t.picked?t.color:null},{highlightColor:n}=this.props;t.picked&&"function"==typeof n&&(e.pickingHighlightColor=n(t)),this.setModuleParameters(e),this.setNeedsRedraw()}_updateModules({props:t,oldProps:e},n){const{autoHighlight:i,highlightedObjectIndex:r,highlightColor:s}=t;if(n||e.autoHighlight!==i||e.highlightedObjectIndex!==r||e.highlightColor!==s){const t={};i||(t.pickingSelectedColor=null),Array.isArray(s)&&(t.pickingHighlightColor=s),Number.isInteger(r)&&(t.pickingSelectedColor=r>=0?this.encodePickingColor(r):null),this.setModuleParameters(t)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let e=!1;e=e||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const n=this.getAttributeManager(),i=n&&n.getNeedsRedraw(t);return e=e||i,e}_getAttributeManager(){return new tT(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){RC(!this.internalState&&!this.state),RC(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new Gk({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Gw.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new rT(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){tE("layer.matched",this,this===t);const{state:e,internalState:n}=t;this!==t&&(this.internalState=n,this.internalState.layer=this,this.state=e,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return t.layerName="Layer",t.defaultProps=tM,t})(),nM=(()=>{class t extends eM{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:e}=t;return e&&e.__source&&e.__source.parent&&e.__source.parent.id===this.id&&(t.object=e.__source.object,t.index=e.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,e){return e&&e.length}getSubLayerClass(t,e){const{_subLayerProps:n}=this.props;return n&&n[t]&&n[t].type||e}getSubLayerRow(t,e,n){return t.__source={parent:this,object:e,index:n},t}getSubLayerAccessor(t){if("function"==typeof t){const e={data:this.props.data,target:[]};return(n,i)=>n&&n.__source?(e.index=n.__source.index,t(n.__source.object,e)):t(n,i)}return t}getSubLayerProps(t={}){const{opacity:e,pickable:n,visible:i,parameters:r,getPolygonOffset:s,highlightedObjectIndex:o,autoHighlight:a,highlightColor:l,coordinateSystem:c,coordinateOrigin:u,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:f,fetch:g,_subLayerProps:m}=this.props,b={opacity:e,pickable:n,visible:i,parameters:r,getPolygonOffset:s,highlightedObjectIndex:o,autoHighlight:a,highlightColor:l,coordinateSystem:c,coordinateOrigin:u,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:f,fetch:g},y=m&&m[t.id],v=y&&y.updateTriggers,_=t.id||"sublayer";if(y){const e=this.constructor._propTypes,n=t.type?t.type._propTypes:{};for(const t in y){const i=n[t]||e[t];i&&"accessor"===i.type&&(y[t]=this.getSubLayerAccessor(y[t]))}}Object.assign(b,t,y),b.id="".concat(this.props.id,"-").concat(_),b.updateTriggers=vt(vt({all:this.props.updateTriggers.all},t.updateTriggers),v);for(const w of f){const t=w.getSubLayerProps.call(this,w);t&&Object.assign(b,t,{updateTriggers:Object.assign(b.updateTriggers,t.updateTriggers)})}return b}_updateAutoHighlight(t){for(const e of this.getSubLayers())e.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const e=!t||this.needsUpdate();e&&(t=this.renderLayers(),t=BC(t,Boolean),this.internalState.subLayers=t),tE("compositeLayer.renderLayers",this,e,t);for(const n of t)n.parent=this}}return t.layerName="CompositeLayer",t})();const iM=/([0-9]+\.?[0-9]*)(%|px)/;function rM(t){switch(typeof t){case"number":return{position:t,relative:!1};case"string":const e=t.match(iM);if(e&&e.length>=3){const t="%"===e[2],n=parseFloat(e[1]);return{position:t?n/100:n,relative:t}}default:throw new Error("Could not parse position string ".concat(t))}}function sM(t,e){return t.relative?Math.round(t.position*e):t.position}function oM(t,e){if(t===e)return!0;if(!t||!e)return!1;for(const n in t){const i=t[n],r=e[n];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&oM(i,r)))return!1}return!0}class aM{constructor(t={}){const{id:e=null,x:n=0,y:i=0,width:r="100%",height:s="100%",projectionMatrix:o=null,fovy:a=50,near:l=.1,far:c=1e3,modelMatrix:u=null,viewportInstance:h=null,type:d=dk}=t;RC(!h||h instanceof dk),this.viewportInstance=h,this.id=e||this.constructor.displayName||"view",this.type=d,this.props=zn(vt({},t),{id:this.id,projectionMatrix:o,fovy:a,near:l,far:c,modelMatrix:u}),this._parseDimensions({x:n,y:i,width:r,height:s}),this.equals=this.equals.bind(this),Object.seal(this)}equals(t){return this===t||(this.viewportInstance?t.viewportInstance&&this.viewportInstance.equals(t.viewportInstance):oM(this.props,t.props))}makeViewport({width:t,height:e,viewState:n}){if(this.viewportInstance)return this.viewportInstance;n=this.filterViewState(n);const i=this.getDimensions({width:t,height:e});return this._getViewport(n,i)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(t){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const e=vt({},t);for(const t in this.props.viewState)"id"!==t&&(e[t]=this.props.viewState[t]);return e}return t}getDimensions({width:t,height:e}){return{x:sM(this._x,t),y:sM(this._y,e),width:sM(this._width,t),height:sM(this._height,e)}}_getControllerProps(t){let e=this.props.controller;return e?!0===e?t:("function"==typeof e&&(e={type:e}),vt(vt({},t),e)):null}_getViewport(t,e){const{type:n}=this;return new n(vt(vt(vt({},t),this.props),e))}_parseDimensions({x:t,y:e,width:n,height:i}){this._x=rM(t),this._y=rM(e),this._width=rM(n),this._height=rM(i)}}const lM=()=>{},cM={transitionEasing:t=>t,transitionInterruption:1,onTransitionStart:lM,onTransitionInterrupt:lM,onTransitionEnd:lM};class uM{constructor(t,e={}){this.ControllerState=t,this.props=vt(vt({},cM),e),this.propsInTransition=null,this.transition=new KO(e.timeline),this.onViewStateChange=e.onViewStateChange||lM,this.onStateChange=e.onStateChange||lM,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(t){let e=!1;const n=this.props;if(t=vt(vt({},cM),t),this.props=t,this._shouldIgnoreViewportChange(n,t))return e;if(this._isTransitionEnabled(t)){const{interruption:i,endProps:r}=this.transition.settings,s=vt(vt({},n),2===i?r:this.propsInTransition||n);this._triggerTransition(s,t),e=!0}else this.transition.cancel();return e}updateTransition(){this.transition.update()}_isTransitionEnabled(t){const{transitionDuration:e,transitionInterpolator:n}=t;return(e>0||"auto"===e)&&Boolean(n)}_isUpdateDueToCurrentTransition(t){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(t,this.propsInTransition)}_shouldIgnoreViewportChange(t,e){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(e):!this._isTransitionEnabled(e)||e.transitionInterpolator.arePropsEqual(t,e)}_triggerTransition(t,e){const n=new this.ControllerState(t),i=new this.ControllerState(e).shortestPathFrom(n),{transitionInterpolator:r}=e,s=r.getDuration?r.getDuration(t,e):e.transitionDuration;if(0===s)return;const o=e.transitionInterpolator.initializeProps(t,i);this.propsInTransition={},this.duration=s,this.transition.start({duration:s,easing:e.transitionEasing,interpolator:e.transitionInterpolator,interruption:e.transitionInterruption,startProps:o.start,endProps:o.end,onStart:e.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(e.onTransitionInterrupt),onEnd:this._onTransitionEnd(e.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(t){return e=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),t(e)}}_onTransitionUpdate(t){const{time:e,settings:{interpolator:n,startProps:i,endProps:r,duration:s,easing:o}}=t,a=o(e/s),l=n.interpolateProps(i,r,a);this.propsInTransition=new this.ControllerState(vt(vt({},this.props),l)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const hM=["longitude","latitude","zoom","bearing","pitch"],dM=["longitude","latitude","zoom"];class pM extends class{constructor(t={}){Array.isArray(t)&&(t={compare:t,extract:t,required:t});const{compare:e,extract:n,required:i}=t;this._propsToCompare=e,this._propsToExtract=n,this._requiredProps=i}arePropsEqual(t,e){for(const n of this._propsToCompare||Object.keys(e))if(!(n in t)||!(n in e)||!nC(t[n],e[n]))return!1;return!0}initializeProps(t,e){let n;if(this._propsToExtract){const i={},r={};for(const n of this._propsToExtract)i[n]=t[n],r[n]=e[n];n={start:i,end:r}}else n={start:t,end:e};return this._checkRequiredProps(n.start),this._checkRequiredProps(n.end),n}interpolateProps(t,e,n){return e}getDuration(t,e){return e.transitionDuration}_checkRequiredProps(t){!this._requiredProps||this._requiredProps.forEach(e=>{const n=t[e];RC(Number.isFinite(n)||Array.isArray(n),"".concat(e," is required for transition"))})}}{constructor(t={}){super((Array.isArray(t)?t:t.transitionProps)||{compare:hM,extract:hM,required:dM}),this.opts=t}initializeProps(t,e){const n=super.initializeProps(t,e),{makeViewport:i,around:r}=this.opts;if(i&&r){const s=i(t),o=i(e),a=s.unproject(r);n.start.around=r,Object.assign(n.end,{around:o.project(a),aroundPosition:a,width:e.width,height:e.height})}return n}interpolateProps(t,e,n){const i={};for(const r of this._propsToExtract)i[r]=eC(t[r]||0,e[r]||0,n);if(e.aroundPosition){const r=this.opts.makeViewport(vt(vt({},e),i));Object.assign(i,r.panByPosition(e.aroundPosition,eC(t.around,e.around,n)))}return i}}const fM={transitionDuration:0},gM={transitionDuration:300,transitionEasing:t=>t,transitionInterruption:1},mM=t=>1-(1-t)*(1-t),bM=["wheel"],yM=["panstart","panmove","panend"],vM=["pinchstart","pinchmove","pinchend"],_M=["tripanstart","tripanmove","tripanend"],wM=["doubletap"],xM=["keydown"];class SM{constructor(t,e={}){this.ControllerState=t,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new uM(t,zn(vt({},e),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const n=this.linearTransitionProps;this._transition=n&&zn(vt({},gM),{transitionInterpolator:new pM({transitionProps:n})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(e)}get linearTransitionProps(){return null}set events(t){this.toggleEvents(this._customEvents,!1),this.toggleEvents(t,!0),this._customEvents=t,this.setProps(this.controllerStateProps)}finalize(){for(const t in this._events)this._events[t]&&this.eventManager.off(t,this.handleEvent);this.transitionManager.finalize()}handleEvent(t){const{ControllerState:e}=this;this.controllerState=new e(vt(vt({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const n=this._eventStartBlocked;switch(t.type){case"panstart":return!n&&this._onPanStart(t);case"panmove":return this._onPan(t);case"panend":return this._onPanEnd(t);case"pinchstart":return!n&&this._onPinchStart(t);case"pinchmove":return this._onPinch(t);case"pinchend":return this._onPinchEnd(t);case"tripanstart":return!n&&this._onTriplePanStart(t);case"tripanmove":return this._onTriplePan(t);case"tripanend":return this._onTriplePanEnd(t);case"doubletap":return this._onDoubleTap(t);case"wheel":return this._onWheel(t);case"keydown":return this._onKeyDown(t);default:return!1}}getCenter(t){const{x:e,y:n}=this.controllerStateProps,{offsetCenter:i}=t;return[i.x-e,i.y-n]}isPointInBounds(t,e){const{width:n,height:i}=this.controllerStateProps;if(e&&e.handled)return!1;const r=t[0]>=0&&t[0]<=n&&t[1]>=0&&t[1]<=i;return r&&e&&e.stopPropagation(),r}isFunctionKeyPressed(t){const{srcEvent:e}=t;return Boolean(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(t){const e=setTimeout(()=>{this._eventStartBlocked===e&&(this._eventStartBlocked=null)},t);this._eventStartBlocked=e}setProps(t){"onViewStateChange"in t&&(this.onViewStateChange=t.onViewStateChange),"onStateChange"in t&&(this.onStateChange=t.onStateChange),"makeViewport"in t&&(this.makeViewport=t.makeViewport),"dragMode"in t&&(this.dragMode=t.dragMode),this.controllerStateProps=t,"eventManager"in t&&this.eventManager!==t.eventManager&&(this.eventManager=t.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in t||(t.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(t);let{inertia:e}=t;!0===e&&(e=300),this.inertia=e;const{scrollZoom:n=!0,dragPan:i=!0,dragRotate:r=!0,doubleClickZoom:s=!0,touchZoom:o=!0,touchRotate:a=!1,keyboard:l=!0}=t,c=Boolean(this.onViewStateChange);this.toggleEvents(bM,c&&n),this.toggleEvents(yM,c&&(i||r)),this.toggleEvents(vM,c&&(o||a)),this.toggleEvents(_M,c&&a),this.toggleEvents(wM,c&&s),this.toggleEvents(xM,c&&l),this.scrollZoom=n,this.dragPan=i,this.dragRotate=r,this.doubleClickZoom=s,this.touchZoom=o,this.touchRotate=a,this.keyboard=l}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(t,e){this.eventManager&&t.forEach(t=>{this._events[t]!==e&&(this._events[t]=e,e?this.eventManager.on(t,this.handleEvent):this.eventManager.off(t,this.handleEvent))})}updateViewport(t,e={},n={}){const i=vt(vt({},t.getViewportProps()),e),r=this.controllerState!==t;if(this._state=t.getState(),this._setInteractionState(n),r){const t=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:i,interactionState:this._interactionState,oldViewState:t})}}_onTransition(t){this.onViewStateChange&&(t.interactionState=this._interactionState,this.onViewStateChange(t))}_setInteractionState(t){Object.assign(this._interactionState,t),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;let n=this.isFunctionKeyPressed(t)||t.rightButton;(this.invertPan||"pan"===this.dragMode)&&(n=!n);const i=this.controllerState[n?"panStart":"rotateStart"]({pos:e});return this._panMove=n,this.updateViewport(i,fM,{isDragging:!0}),!0}_onPan(t){return!!this.isDragging()&&(this._panMove?this._onPanMove(t):this._onPanRotate(t))}_onPanEnd(t){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(t):this._onPanRotateEnd(t))}_onPanMove(t){if(!this.dragPan)return!1;const e=this.getCenter(t),n=this.controllerState.pan({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(t){const{inertia:e}=this;if(this.dragPan&&e&&t.velocity){const n=this.getCenter(t),i=this.controllerState.pan({pos:[n[0]+t.velocityX*e/2,n[1]+t.velocityY*e/2]}).panEnd();this.updateViewport(i,zn(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isPanning:!0})}else{const t=this.controllerState.panEnd();this.updateViewport(t,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(t){if(!this.dragRotate)return!1;const e=this.getCenter(t),n=this.controllerState.rotate({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(t){const{inertia:e}=this;if(this.dragRotate&&e&&t.velocity){const n=this.getCenter(t),i=this.controllerState.rotate({pos:[n[0]+t.velocityX*e/2,n[1]+t.velocityY*e/2]}).rotateEnd();this.updateViewport(i,zn(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isRotating:!0})}else{const t=this.controllerState.rotateEnd();this.updateViewport(t,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(t){if(!this.scrollZoom)return!1;t.preventDefault();const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const{speed:n=.01,smooth:i=!1}=this.scrollZoom,{delta:r}=t;let s=2/(1+Math.exp(-Math.abs(r*n)));r<0&&0!==s&&(s=1/s);const o=this.controllerState.zoom({pos:e,scale:s});return this.updateViewport(o,zn(vt({},this._getTransitionProps({around:e})),{transitionDuration:i?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.controllerState.rotateStart({pos:e});return this.updateViewport(n,fM,{isDragging:!0}),!0}_onTriplePan(t){if(!this.touchRotate||!this.isDragging())return!1;const e=this.getCenter(t);e[0]-=t.deltaX;const n=this.controllerState.rotate({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(t){if(!this.isDragging())return!1;const{inertia:e}=this;if(this.touchRotate&&e&&t.velocityY){const n=this.getCenter(t),i=[n[0],n[1]+=t.velocityY*e/2],r=this.controllerState.rotate({pos:i});this.updateViewport(r,zn(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isRotating:!0}),this.blockEvents(e)}else{const t=this.controllerState.rotateEnd();this.updateViewport(t,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.controllerState.zoomStart({pos:e}).rotateStart({pos:e});return this._startPinchRotation=t.rotation,this._lastPinchEvent=t,this.updateViewport(n,fM,{isDragging:!0}),!0}_onPinch(t){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let e=this.controllerState;if(this.touchZoom){const{scale:n}=t,i=this.getCenter(t);e=e.zoom({pos:i,scale:n})}if(this.touchRotate){const{rotation:n}=t;e=e.rotate({deltaAngleX:this._startPinchRotation-n})}return this.updateViewport(e,fM,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=t,!0}_onPinchEnd(t){if(!this.isDragging())return!1;const{inertia:e,_lastPinchEvent:n}=this;if(this.touchZoom&&e&&n&&t.scale!==n.scale){const i=this.getCenter(t);let r=this.controllerState.rotateEnd();const s=Math.log2(t.scale),o=(s-Math.log2(n.scale))/(t.deltaTime-n.deltaTime),a=Math.pow(2,s+o*e/2);r=r.zoom({pos:i,scale:a}).zoomEnd(),this.updateViewport(r,zn(vt({},this._getTransitionProps({around:i})),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(e)}else{const t=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(t,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(t){if(!this.doubleClickZoom)return!1;const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.isFunctionKeyPressed(t),i=this.controllerState.zoom({pos:e,scale:n?.5:2});return this.updateViewport(i,this._getTransitionProps({around:e}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(t){if(!this.keyboard)return!1;const e=this.isFunctionKeyPressed(t),{zoomSpeed:n,moveSpeed:i,rotateSpeedX:r,rotateSpeedY:s}=this.keyboard,{controllerState:o}=this;let a;const l={};switch(t.srcEvent.code){case"Minus":a=e?o.zoomOut(n).zoomOut(n):o.zoomOut(n),l.isZooming=!0;break;case"Equal":a=e?o.zoomIn(n).zoomIn(n):o.zoomIn(n),l.isZooming=!0;break;case"ArrowLeft":e?(a=o.rotateLeft(r),l.isRotating=!0):(a=o.moveLeft(i),l.isPanning=!0);break;case"ArrowRight":e?(a=o.rotateRight(r),l.isRotating=!0):(a=o.moveRight(i),l.isPanning=!0);break;case"ArrowUp":e?(a=o.rotateUp(s),l.isRotating=!0):(a=o.moveUp(i),l.isPanning=!0);break;case"ArrowDown":e?(a=o.rotateDown(s),l.isRotating=!0):(a=o.moveDown(i),l.isPanning=!0);break;default:return!1}return this.updateViewport(a,this._getTransitionProps(),l),!0}_getTransitionProps(t){const{_transition:e}=this;return e?t?zn(vt({},e),{transitionInterpolator:new pM(zn(vt({},t),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):e:fM}}class CM{constructor(t){this._viewportProps=this._applyConstraints(t)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(t){return this._viewportProps}_applyConstraints(t){return t}}const EM=[0,0,0];class OM extends CM{constructor({makeViewport:t,width:e,height:n,rotationX:i=0,rotationOrbit:r=0,target:s=EM,zoom:o=0,minRotationX:a=-90,maxRotationX:l=90,minZoom:c=-(1/0),maxZoom:u=Infinity,startPanPosition:h,startRotatePos:d,startRotationX:p,startRotationOrbit:f,startZoomPosition:g,startZoom:m}){super({width:e,height:n,rotationX:i,rotationOrbit:r,target:s,zoom:o,minRotationX:a,maxRotationX:l,minZoom:c,maxZoom:u}),this._state={startPanPosition:h,startRotatePos:d,startRotationX:p,startRotationOrbit:f,startZoomPosition:g,startZoom:m},this.makeViewport=t}panStart({pos:t}){return this._getUpdatedState({startPanPosition:this._unproject(t)})}pan({pos:t,startPosition:e}){const n=this._state.startPanPosition||e;if(!n)return this;const i=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(i)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:t,deltaAngleX:e=0,deltaAngleY:n=0}){const{startRotatePos:i,startRotationX:r,startRotationOrbit:s}=this._state,{width:o,height:a}=this._viewportProps;if(!i||!Number.isFinite(r)||!Number.isFinite(s))return this;let l;if(t){let e=(t[0]-i[0])/o;(r<-90||r>90)&&(e*=-1),l={rotationX:r+(t[1]-i[1])/a*180,rotationOrbit:s+180*e}}else l={rotationX:r+n,rotationOrbit:s+e};return this._getUpdatedState(l)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(t){const e=t.getViewportProps(),n=vt({},this._viewportProps),{rotationOrbit:i}=n;return Math.abs(i-e.rotationOrbit)>180&&(n.rotationOrbit=i<0?i+360:i-360),n}zoomStart({pos:t}){return this._getUpdatedState({startZoomPosition:this._unproject(t),startZoom:this._viewportProps.zoom})}zoom({pos:t,startPos:e,scale:n}){const{zoom:i}=this._viewportProps;let{startZoom:r,startZoomPosition:s}=this._state;Number.isFinite(r)||(r=i,s=this._unproject(e)||this._unproject(t));const o=this._calculateNewZoom({scale:n,startZoom:r}),a=this.makeViewport(zn(vt({},this._viewportProps),{zoom:o}));return this._getUpdatedState(vt({zoom:o},a.panByPosition(s,t)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(t=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:t})})}zoomOut(t=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/t})})}moveLeft(t=50){return this._panFromCenter([-t,0])}moveRight(t=50){return this._panFromCenter([t,0])}moveUp(t=50){return this._panFromCenter([0,-t])}moveDown(t=50){return this._panFromCenter([0,t])}rotateLeft(t=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-t})}rotateRight(t=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+t})}rotateUp(t=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-t})}rotateDown(t=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+t})}_unproject(t){const e=this.makeViewport(this._viewportProps);return t&&e.unproject(t)}_calculateNewZoom({scale:t,startZoom:e}){const{maxZoom:n,minZoom:i}=this._viewportProps;return Number.isFinite(e)||(e=this._viewportProps.zoom),tC(e+Math.log2(t),i,n)}_panFromCenter(t){const{width:e,height:n,target:i}=this._viewportProps;return this.pan({startPosition:i,pos:[e/2+t[0],n/2+t[1]]})}_getUpdatedState(t){return new OM(vt(vt(vt({},this._viewportProps),this._state),t))}_applyConstraints(t){const{maxZoom:e,minZoom:n,zoom:i,maxRotationX:r,minRotationX:s,rotationOrbit:o}=t;return t.zoom=tC(i,n,e),t.rotationX=tC(t.rotationX,s,r),(o<-180||o>180)&&(t.rotationOrbit=function(t,e){const n=t%360;return n<0?360+n:n}(o+180)-180),t}}class TM extends SM{constructor(t){super(OM,t)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class kM extends SM{constructor(t){t.dragMode=t.dragMode||"pan",super(OM,t)}_onPanRotate(t){return!1}get linearTransitionProps(){return["target","zoom"]}}const PM=(new VT).lookAt({eye:[0,0,1]});function AM({width:t,height:e,near:n,far:i}){return t=t||1,e=e||1,(new VT).ortho({left:-t/2,right:t/2,bottom:-e/2,top:e/2,near:n,far:i})}class MM extends dk{constructor(t){const{width:e,height:n,near:i=.1,far:r=1e3,zoom:s=0,target:o=[0,0,0],flipY:a=!0}=t,l=Math.pow(2,s);super(zn(vt({},t),{longitude:null,position:o,viewMatrix:PM.clone().scale([l,l*(a?-1:1),l]),projectionMatrix:AM({width:e,height:n,near:i,far:r}),zoom:s}))}panByPosition(t,e){const n=DT([],t,RT([],sk(e,this.pixelUnprojectionMatrix)));return{target:DT([],this.center,n)}}}let IM=(()=>{class t extends aM{constructor(t){super(zn(vt({},t),{type:MM}))}get controller(){return this._getControllerProps({type:kM})}}return t.displayName="OrthographicView",t})();const DM=Math.PI/180;function RM({height:t,fovy:e,orbitAxis:n,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*DM/2),a="Z"===n?[0,0,1]:[0,1,0],l="Z"===n?[0,-o,0]:[0,0,o],c=(new VT).lookAt({eye:l,up:a});c.rotateX(i*DM),"Z"===n?c.rotateZ(r*DM):c.rotateY(r*DM);const u=Math.pow(2,s)/(t||1);return c.scale(u),c}class NM extends dk{constructor(t){const{height:e,fovy:n,orbitAxis:i,target:r=[0,0,0],rotationX:s=0,rotationOrbit:o=0,zoom:a=0}=t;super(zn(vt({},t),{longitude:null,viewMatrix:RM({height:e,fovy:n,orbitAxis:i,rotationX:s,rotationOrbit:o,zoom:a}),fovy:n,position:r,zoom:a})),this.projectedCenter=this.project(this.center)}unproject(t,{topLeft:e=!0}={}){const[n,i,r=this.projectedCenter[2]]=t,s=e?i:this.height-i,[o,a,l]=sk([n,s,r],this.pixelUnprojectionMatrix);return[o,a,l]}panByPosition(t,e){const n=this.project(t);return{target:this.unproject([this.width/2+n[0]-e[0],this.height/2+n[1]-e[1],this.projectedCenter[2]])}}}let LM=(()=>{class t extends aM{constructor(t={}){const{orbitAxis:e="Z"}=t;super(zn(vt({},t),{orbitAxis:e,type:NM}))}get controller(){return this._getControllerProps({type:TM})}}return t.displayName="OrbitView",t})();const jM=[255,255,255],FM=1;let BM=0;class VM{constructor(t={}){const{color:e=jM}=t,{intensity:n=FM}=t;this.id=t.id||"ambient-".concat(BM++),this.color=e,this.intensity=n,this.type="ambient"}}const zM=[255,255,255],UM=1,HM=[0,0,-1];let $M=0;class GM{constructor(t={}){const{color:e=zM}=t,{intensity:n=UM}=t,{direction:i=HM}=t,{_shadow:r=!1}=t;this.id=t.id||"directional-".concat($M++),this.color=e,this.intensity=n,this.type="directional",this.direction=new OC(i).normalize().toArray(),this.shadow=r}getProjectedLight(){return this}}class WM{constructor(t={}){const{id:e="effect"}=t;this.id=e,this.props=vt({},t)}preRender(){}getModuleParameters(){}cleanup(){}}class qM extends class{constructor(t,e={}){const{id:n="pass"}=e;this.id=n,this.gl=t,this.props=vt({},e)}setProps(t){Object.assign(this.props,t)}render(){}cleanup(){}}{render(t){return Mx(this.gl,{framebuffer:t.target}),this._drawLayers(t)}_drawLayers(t){const{viewports:e,views:n,onViewportActive:i,clearCanvas:r=!0}=t;t.pass=t.pass||"unknown";const s=this.gl;r&&function(t){Mx(t,{viewport:[0,0,t.drawingBufferWidth,t.drawingBufferHeight]}),t.clear(16640)}(s);const o=[];for(const a of e){const e=a.viewport||a,r=n&&n[e.id];i(e);const l=this._getDrawLayerParams(e,t);t.view=r;const c=e.subViewports||[e];for(const n of c){t.viewport=n;const e=this._drawLayersInViewport(s,t,l);o.push(e)}}return o}_getDrawLayerParams(t,{layers:e,pass:n,layerFilter:i,effects:r,moduleParameters:s}){const o=[],a=XM(),l={viewport:t,isPicking:n.startsWith("picking"),renderPass:n};for(let c=0;cTS(t,e))}const a={totalCount:e.length,visibleCount:0,compositeCount:0,pickableCount:0};Mx(t,{viewport:o});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in n){const t=n[l]=n[l]||XM(e[l],e);c=t(r,s),n[a]=t}else Number.isFinite(o)?(c=o+(e[l]||0),n[a]=null):c=t;return s&&c>=t&&(t=c+1),e[a]=c,c};return i}class YM extends qM{constructor(t,e){super(t,e),this.shadowMap=new xS(t,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new ES(t,{format:33189,width:1,height:1}),this.fbo=new BS(t,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(t){const e=this.fbo;Ix(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const n=t.viewports[0],i=Rx(this.gl),r=n.width*i,s=n.height*i;(r!==e.width||s!==e.height)&&e.resize({width:r,height:s}),super.render(zn(vt({},t),{target:e,pass:"shadow"}))})}shouldDrawLayer(t){return!1!==t.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const KM=Object.keys(Ww).map(t=>"const int COORDINATE_SYSTEM_".concat(t," = ").concat(Ww[t],";")).join(""),QM=Object.keys(qw).map(t=>"const int PROJECTION_MODE_".concat(t," = ").concat(qw[t],";")).join("");var ZM="".concat(KM,"\n").concat(QM,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n");const JM={};var tI={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:ZM,getUniforms:function(t=JM){return t.viewport?function({viewport:t,devicePixelRatio:e=1,modelMatrix:n=null,coordinateSystem:i=Ww.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===Ww.DEFAULT&&(i=t.isGeospatial?Ww.LNGLAT:Ww.CARTESIAN);const o=AT({viewport:t,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=n||TT,o}(t):{}}};const eI=fT(function({viewport:t,center:e}){return new VT(t.viewProjectionMatrix).invert().transform(e)}),nI=fT(function({viewport:t,shadowMatrices:e}){const n=[],i=t.pixelUnprojectionMatrix,r=t.isGeospatial?void 0:1,s=[[0,0,r],[t.width,0,r],[0,t.height,r],[t.width,t.height,r],[0,0,-1],[t.width,0,-1],[0,t.height,-1],[t.width,t.height,-1]].map(t=>function(t,e){const[n,i,r]=t,s=sk([n,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(t,i));for(const o of e){const e=o.clone().translate(new OC(t.center).negate()),i=s.map(t=>e.transform(t)),r=(new VT).ortho({left:Math.min(...i.map(t=>t[0])),right:Math.max(...i.map(t=>t[0])),bottom:Math.min(...i.map(t=>t[1])),top:Math.max(...i.map(t=>t[1])),near:Math.min(...i.map(t=>-t[2])),far:Math.max(...i.map(t=>-t[2]))});n.push(r.multiplyRight(o))}return n}),iI=[0,0,0,1],rI=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0];var sI={name:"shadow",dependencies:[tI],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(t={},e={})=>{if(t.drawToShadowMap||t.shadowMaps&&t.shadowMaps.length>0){const{shadowEnabled:n=!0}=t;return n&&t.shadowMatrices&&t.shadowMatrices.length>0?function(t={},e={}){const n={shadow_uDrawShadowMap:Boolean(t.drawToShadowMap),shadow_uUseShadowMap:!!t.shadowMaps&&t.shadowMaps.length>0,shadow_uColor:t.shadowColor||iI,shadow_uLightId:t.shadowLightId||0,shadow_uLightCount:t.shadowMatrices.length},i=eI({viewport:t.viewport,center:e.project_uCenter}),r=[],s=nI({shadowMatrices:t.shadowMatrices,viewport:t.viewport}).slice();for(let o=0;o0?t.shadowMaps[o]:t.dummyShadowMap;return n}(t,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}};const oI={color:[255,255,255],intensity:1},aI=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],lI=[0,0,0,200/255];class cI extends WM{constructor(t){super(t),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=lI,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const e in t){const n=t[e];switch(n.type){case"ambient":this.ambientLight=n;break;case"directional":this.directionalLights.push(n);break;case"point":this.pointLights.push(n)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(t,{layers:e,layerFilter:n,viewports:i,onViewportActive:r,views:s}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(t),this.programManager||(this.programManager=PO.getDefaultProgramManager(t),sI&&this.programManager.addDefaultModule(sI)),this.dummyShadowMap||(this.dummyShadowMap=new xS(t,{width:1,height:1}));for(let t=0;te.getProjectedLight({layer:t})),pointLights:this.pointLights.map(e=>e.getProjectedLight({layer:t}))},e}cleanup(){for(const t of this.shadowPasses)t.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(sI),this.programManager=null)}_createLightMatrix(){const t=[];for(const e of this.directionalLights){const n=(new VT).lookAt({eye:new OC(e.direction).negate()});t.push(n)}return t}_createShadowPasses(t){for(let e=0;e=e.delay+e.duration*e.repeat}getTime(t){if(void 0===t)return this.time;const e=this.channels.get(t);return void 0===e?-1:e.time}setTime(t){this.time=Math.max(0,t);const e=this.channels.values();for(const i of e)this._setChannelTime(i,this.time);const n=this.animations.values();for(const i of n){const{animation:t,channel:e}=i;t.setTime(this.getTime(e))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(t,e){const n=hI++;return this.animations.set(n,{animation:t,channel:e}),t.setTime(this.getTime(e)),n}detachAnimation(t){this.animations.delete(t)}update(t){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=t),this.setTime(this.time+(t-this.lastEngineTime)),this.lastEngineTime=t)}_setChannelTime(t,e){const n=e-t.delay;n>=t.duration*t.repeat?t.time=t.duration*t.rate:(t.time=Math.max(0,n)%t.duration,t.time*=t.rate)}}class pI{constructor(t,e,n){this.id=t,this.context=n,this._loadCount=0,this._subscribers=new Set,this.setData(e)}subscribe(t){this._subscribers.add(t)}unsubscribe(t){this._subscribers.delete(t)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(t,e){if(t===this._data&&!e)return;this._data=t;const n=++this._loadCount;let i=t;"string"==typeof t&&(i=XA(t)),i instanceof Promise?(this.isLoaded=!1,this._loader=i.then(t=>{this._loadCount===n&&(this.isLoaded=!0,this._error=null,this._content=t)}).catch(t=>{this._loadCount===n&&(this.isLoaded=!0,this._error=t||!0)})):(this.isLoaded=!0,this._error=null,this._content=t);for(const r of this._subscribers)r.onChange(this.getData())}}class fI{constructor({gl:t,protocol:e}){this.protocol=e||"resource://",this._context={gl:t,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(t){return!!t.startsWith(this.protocol)||t in this._resources}add({resourceId:t,data:e,forceUpdate:n=!1,persistent:i=!0}){let r=this._resources[t];r?r.setData(e,n):(r=new pI(t,e,this._context),this._resources[t]=r),r.persistent=i}remove(t){const e=this._resources[t];e&&(e.delete(),delete this._resources[t])}unsubscribe({consumerId:t}){const e=this._consumers[t];if(e){for(const t in e){const n=e[t];n.resource&&n.resource.unsubscribe(n)}delete this._consumers[t],this.prune()}}subscribe({resourceId:t,onChange:e,consumerId:n,requestId:i="default"}){const{_resources:r,protocol:s}=this;t.startsWith(s)&&(r[t=t.replace(s,"")]||this.add({resourceId:t,data:null,persistent:!1}));const o=r[t];if(this._track(n,i,o,e),o)return o.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const t in this._resources)this._resources[t].delete()}_track(t,e,n,i){const r=this._consumers,s=r[t]=r[t]||{},o=s[e]||{};o.resource&&(o.resource.unsubscribe(o),o.resource=null,this.prune()),n&&(s[e]=o,o.onChange=i,o.resource=n,n.subscribe(o))}_prune(){this._pruneRequest=null;for(const t of Object.keys(this._resources)){const e=this._resources[t];!e.persistent&&!e.inUse()&&(e.delete(),delete this._resources[t])}}}const gI=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},tI],mI=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function bI(t){const e=PO.getDefaultProgramManager(t);for(const n of gI)e.addDefaultModule(n);for(const n of mI)e.addShaderHook(n);return e}const yI=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class vI{constructor(t,{deck:e,stats:n,viewport:i,timeline:r}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new fI({gl:t,protocol:"deck://"}),this.context=zn(vt({},yI),{layerManager:this,gl:t,deck:e,programManager:t&&bI(t),stats:n||new Gx({id:"deck.gl"}),viewport:i||new dk({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:r||new dI,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const t of this.layers)this._finalizeLayer(t)}needsRedraw(t={clearRedrawFlags:!1}){let e=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);for(const n of this.layers){const i=n.getNeedsRedraw(t);e=e||i}return e}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(t){this._needsRedraw=this._needsRedraw||t}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t}getLayers({layerIds:t=null}={}){return t?this.layers.filter(e=>t.find(t=>0===e.id.indexOf(t))):this.layers}setProps(t){"debug"in t&&(this._debug=t.debug),"userData"in t&&(this.context.userData=t.userData),"layers"in t&&(this._nextLayers=t.layers),"onError"in t&&(this.context.onError=t.onError)}setLayers(t,e){tE("layerManager.setLayers",this,e,t),this.lastRenderedLayers=t,t=BC(t,Boolean);for(const n of t)n.context=this.context;return this._updateLayers(this.layers,t),this}updateLayers(){const t=this.needsUpdate();t&&(this.setNeedsRedraw("updating layers: ".concat(t)),this.setLayers(this._nextLayers||this.lastRenderedLayers,t)),this._nextLayers=null}activateViewport(t){return tE("layerManager.activateViewport",this,t),t&&(this.context.viewport=t),this}_handleError(t,e,n){n.raiseError(e,"".concat(t," of ").concat(n))}_updateLayers(t,e){const n={};for(const s of t)n[s.id]?Gw.warn("Multiple old layers with same id ".concat(s.id))():n[s.id]=s;const i=[];this._updateSublayersRecursively(e,n,i),this._finalizeOldLayers(n);let r=!1;for(const s of i)if(s.hasUniformTransition()){r=!0;break}this._needsUpdate=r,this.layers=i}_updateSublayersRecursively(t,e,n){for(const r of t){r.context=this.context;const t=e[r.id];null===t&&Gw.warn("Multiple new layers with same id ".concat(r.id))(),e[r.id]=null;let s=null;try{this._debug&&t!==r&&r.validateProps(),t?(this._transferLayerState(t,r),this._updateLayer(r)):this._initializeLayer(r),n.push(r),s=r.isComposite&&r.getSubLayers()}catch(i){this._handleError("matching",i,r)}s&&this._updateSublayersRecursively(s,e,n)}}_finalizeOldLayers(t){for(const e in t){const n=t[e];n&&this._finalizeLayer(n)}}_initializeLayer(t){try{t._initialize(),t.lifecycle="Initialized"}catch(e){this._handleError("initialization",e,t)}}_transferLayerState(t,e){e._transferState(t),e.lifecycle="Matched. State transferred from previous layer",e!==t&&(t.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(t){try{t._update()}catch(e){this._handleError("update",e,t)}}_finalizeLayer(t){this._needsRedraw=this._needsRedraw||"finalized ".concat(t),t.lifecycle="No longer matched. Awaiting garbage collection";try{t._finalize(),t.lifecycle="Finalized! Awaiting garbage collection"}catch(e){this._handleError("finalization",e,t)}}}class _I{constructor(t={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=t.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=t.eventManager,this._eventCallbacks={onViewStateChange:t.onViewStateChange,onInteractionStateChange:t.onInteractionStateChange},Object.seal(this),this.setProps(t)}finalize(){for(const t in this.controllers)this.controllers[t]&&this.controllers[t].finalize();this.controllers={}}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t,this._needsRedraw=this._needsRedraw||t}updateViewStates(){for(const t in this.controllers){const e=this.controllers[t];e&&e.updateTransition()}}getViewports(t){return t?this._viewports.filter(e=>e.containsPixel(t)):this._viewports}getViews(){const t={};return this.views.forEach(e=>{t[e.id]=e}),t}getView(t){return"string"==typeof t?this.views.find(e=>e.id===t):t}getViewState(t){const e=this.getView(t),n=e&&this.viewState[e.getViewStateId()]||this.viewState;return e?e.filterViewState(n):n}getViewport(t){return this._viewportMap[t]}unproject(t,e){const n=this.getViewports(),i={x:t[0],y:t[1]};for(let r=n.length-1;r>=0;--r){const s=n[r];if(s.containsPixel(i)){const n=t.slice();return n[0]-=s.x,n[1]-=s.y,s.unproject(n,e)}}return null}setProps(t){"views"in t&&this._setViews(t.views),"viewState"in t&&this._setViewState(t.viewState),("width"in t||"height"in t)&&this._setSize(t.width,t.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(t,e){(t!==this.width||e!==this.height)&&(this.width=t,this.height=e,this.setNeedsUpdate("Size changed"))}_setViews(t){t=BC(t,Boolean),this._diffViews(t,this.views)&&this.setNeedsUpdate("views changed"),this.views=t}_setViewState(t){t?(!oM(t,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=t):Gw.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(t,e){e.viewId=t,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(e)}_createController(t,e){return new(0,e.type)(vt({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,e.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:e=>t._getViewport(e,{width:e.width,height:e.height})},e))}_updateController(t,e,n,i){let r=t.controller;return r?(r=zn(vt(vt(vt({},e),t.props),r),{id:t.id,x:n.x,y:n.y,width:n.width,height:n.height}),i?i.setProps(r):i=this._createController(t,r),i):null}_rebuildViewports(){const{width:t,height:e,views:n}=this,i=this.controllers;this._viewports=[],this.controllers={};let r=!1;for(let s=n.length;s--;){const o=n[s],a=this.getViewState(o),l=o.makeViewport({width:t,height:e,viewState:a});let c=i[o.id];o.controller&&!c&&(r=!0),(r||!o.controller)&&c&&(c.finalize(),c=null),this.controllers[o.id]=this._updateController(o,a,l,c),this._viewports.unshift(l)}for(const s in i)i[s]&&!this.controllers[s]&&i[s].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(t=>{t.id&&(this._viewportMap[t.id]=this._viewportMap[t.id]||t)})}_diffViews(t,e){return t.length!==e.length||t.some((n,i)=>!t[i].equals(e[i]))}}class wI extends CM{constructor({makeViewport:t,width:e,height:n,latitude:i,longitude:r,zoom:s,bearing:o=0,pitch:a=0,altitude:l=1.5,maxZoom:c=20,minZoom:u=0,maxPitch:h=60,minPitch:d=0,startPanLngLat:p,startZoomLngLat:f,startRotatePos:g,startBearing:m,startPitch:b,startZoom:y,normalize:v}={}){RC(Number.isFinite(r)),RC(Number.isFinite(i)),RC(Number.isFinite(s)),super({width:e,height:n,latitude:i,longitude:r,zoom:s,bearing:o,pitch:a,altitude:l,maxZoom:c,minZoom:u,maxPitch:h,minPitch:d,normalize:v}),this._state={startPanLngLat:p,startZoomLngLat:f,startRotatePos:g,startBearing:m,startPitch:b,startZoom:y},this.makeViewport=t}panStart({pos:t}){return this._getUpdatedState({startPanLngLat:this._unproject(t)})}pan({pos:t,startPos:e}){const n=this._state.startPanLngLat||this._unproject(e);if(!n)return this;const i=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(i)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:t,deltaAngleX:e=0,deltaAngleY:n=0}){const{startRotatePos:i,startBearing:r,startPitch:s}=this._state;if(!i||!Number.isFinite(r)||!Number.isFinite(s))return this;let o;return o=t?this._calculateNewPitchAndBearing(zn(vt({},this._getRotationParams(t,i)),{startBearing:r,startPitch:s})):{bearing:r+e,pitch:s+n},this._getUpdatedState(o)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:t}){return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this._viewportProps.zoom})}zoom({pos:t,startPos:e,scale:n}){let{startZoom:i,startZoomLngLat:r}=this._state;Number.isFinite(i)||(i=this._viewportProps.zoom,r=this._unproject(e)||this._unproject(t));const s=this._calculateNewZoom({scale:n,startZoom:i}),o=this.makeViewport(zn(vt({},this._viewportProps),{zoom:s}));return this._getUpdatedState(vt({zoom:s},o.panByPosition(r,t)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(t=2){return this._zoomFromCenter(t)}zoomOut(t=2){return this._zoomFromCenter(1/t)}moveLeft(t=100){return this._panFromCenter([t,0])}moveRight(t=100){return this._panFromCenter([-t,0])}moveUp(t=100){return this._panFromCenter([0,t])}moveDown(t=100){return this._panFromCenter([0,-t])}rotateLeft(t=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-t})}rotateRight(t=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+t})}rotateUp(t=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+t})}rotateDown(t=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-t})}shortestPathFrom(t){const e=t.getViewportProps(),n=vt({},this._viewportProps),{bearing:i,longitude:r}=n;return Math.abs(i-e.bearing)>180&&(n.bearing=i<0?i+360:i-360),Math.abs(r-e.longitude)>180&&(n.longitude=r<0?r+360:r-360),n}_zoomFromCenter(t){const{width:e,height:n}=this._viewportProps;return this.zoom({pos:[e/2,n/2],scale:t})}_panFromCenter(t){const{width:e,height:n}=this._viewportProps;return this.pan({startPos:[e/2,n/2],pos:[e/2+t[0],n/2+t[1]]})}_getUpdatedState(t){return new this.constructor(vt(vt(vt({makeViewport:this.makeViewport},this._viewportProps),this._state),t))}_applyConstraints(t){const{maxZoom:e,minZoom:n,zoom:i}=t;t.zoom=tC(i,n,e);const{maxPitch:r,minPitch:s,pitch:o}=t;t.pitch=tC(o,s,r);const{normalize:a=!0}=t;return a&&Object.assign(t,function({width:t,height:e,longitude:n,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(n<-180||n>180)&&(n=UT(n+180,360)-180),(o<-180||o>180)&&(o=UT(o+180,360)-180);const a=$T(e/512);if(r<=a)r=a,i=0;else{const t=e/2/Math.pow(2,r),n=tk([0,t])[1];if(ie&&(i=e)}}return{width:t,height:e,longitude:n,latitude:i,zoom:r,pitch:s,bearing:o}}(t)),t}_unproject(t){const e=this.makeViewport(this._viewportProps);return t&&e.unproject(t)}_calculateNewZoom({scale:t,startZoom:e}){const{maxZoom:n,minZoom:i}=this._viewportProps;return tC(e+Math.log2(t),i,n)}_calculateNewPitchAndBearing({deltaScaleX:t,deltaScaleY:e,startBearing:n,startPitch:i}){e=tC(e,-1,1);const{minPitch:r,maxPitch:s}=this._viewportProps;let o=i;return e>0?o=i+e*(s-i):e<0&&(o=i-e*(r-i)),{pitch:o,bearing:n+180*t}}_getRotationParams(t,e){const n=t[0]-e[0],i=t[1]-e[1],r=t[1],s=e[1],{width:o,height:a}=this._viewportProps,l=n/o;let c=0;return i>0?Math.abs(a-s)>5&&(c=i/(s-a)*1.2):i<0&&s>5&&(c=1-r/s),c=Math.min(1,Math.max(-1,c)),{deltaScaleX:l,deltaScaleY:c}}}class xI extends SM{constructor(t){t.dragMode=t.dragMode||"pan",super(wI,t)}setProps(t){const e=this.controllerStateProps;super.setProps(t),(!e||e.height!==t.height)&&this.updateViewport(new this.ControllerState(vt(vt({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let SI=(()=>{class t extends aM{constructor(t){super(zn(vt({},t),{type:pk}))}get controller(){return this._getControllerProps({type:xI})}}return t.displayName="MapView",t})();const CI=new cI;class EI{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(t){"effects"in t&&(t.effects.length!==this.effects.length||!oM(t.effects,this.effects))&&(this.setEffects(t.effects),this._needsRedraw="effects changed")}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(t=[]){this.cleanup(),this.effects=t,this._createInternalEffects()}cleanup(){for(const t of this.effects)t.cleanup();for(const t of this._internalEffects)t.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(t=>t instanceof cI)||this._internalEffects.push(CI)}}class OI extends qM{}const TI={blendFunc:[1,0,32771,0],blendEquation:32774};class kI extends qM{render(t){t.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(t)):(this.useAlpha=!1,super.render(t))}_drawPickingBuffer({layers:t,layerFilter:e,views:n,viewports:i,onViewportActive:r,pickingFBO:s,deviceRect:{x:o,y:a,width:l,height:c},pass:u="picking",redrawReason:h,pickZ:d}){const p=this.gl;return this.pickZ=d,Ix(p,zn(vt({scissorTest:!0,scissor:[o,a,l,c],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},TI),{blend:!d}),()=>{super.render({target:s,layers:t,layerFilter:e,views:n,viewports:i,onViewportActive:r,pass:u,redrawReason:h})})}shouldDrawLayer(t){return t.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(t,e){const n=this.pickZ?{blend:!1}:zn(vt({},TI),{blend:!0,blendColor:[0,0,0,this.useAlpha?(e+1)/255:1]});return vt(vt({},t.props.parameters),n)}}class PI{constructor(t){this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new OI(t),this.pickLayersPass=new kI(t),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(t){"layerFilter"in t&&this.layerFilter!==t.layerFilter&&(this.layerFilter=t.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in t&&this.drawPickingColors!==t.drawPickingColors&&(this.drawPickingColors=t.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(t){const e=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;t.layerFilter=this.layerFilter,t.effects=t.effects||[],t.target=t.target||BS.getDefaultFramebuffer(this.gl),this._preRender(t.effects,t);const n=this.lastPostProcessEffect?this.renderBuffers[0]:t.target,i=e.render(zn(vt({},t),{target:n}));this._postRender(t.effects,t),this.renderCount++,tE("deckRenderer.renderLayers",this,i,t)}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}finalize(){const{renderBuffers:t}=this;for(const e of t)e.delete();t.length=0}_preRender(t,e){let n=null;for(const i of t)i.preRender(this.gl,e),i.postRender&&(n=i);n&&this._resizeRenderBuffers(),this.lastPostProcessEffect=n}_resizeRenderBuffers(){const{renderBuffers:t}=this;0===t.length&&t.push(new BS(this.gl),new BS(this.gl));for(const e of t)e.resize()}_postRender(t,e){const{renderBuffers:n}=this,i={inputBuffer:n[0],swapBuffer:n[1],target:null};for(const r of t)if(r.postRender){if(r===this.lastPostProcessEffect){i.target=e.target,r.postRender(this.gl,i);break}const t=r.postRender(this.gl,i);i.inputBuffer=t,i.swapBuffer=t===n[0]?n[1]:n[0]}}}const AI={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function MI({pickedColors:t,layers:e,deviceX:n,deviceY:i,deviceRadius:r,deviceRect:s}){if(t){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,d=0;for(let e=0;eu)d+=4*l;else for(let e=0;e=0){const t=e+o-n,i=t*t+s;i<=u&&(u=i,h=d)}d+=4}}if(h>=0){const n=t[h+3]-1,i=t.slice(h,h+4),r=e[n];if(r){const t=r.decodePickingColor(i),e=Math.floor(h/4/l);return{pickedColor:i,pickedLayer:r,pickedObjectIndex:t,pickedX:o+(h/4-e*l),pickedY:a+e}}Gw.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return AI}function II({pickInfo:t,mode:e,viewports:n,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=t&&t.pickedLayer,c=function(t,e,n){for(let i=t.length-1;i>=0;i--){const r=t[i];if(r.containsPixel(e)&&(!n||n(r)))return r}return t[0]}(n,{x:s,y:o},i&&l&&(t=>i({layer:l,viewport:t,isPicking:!0,renderPass:"picking:".concat(e)}))),u=c&&c.unproject([s-c.x,o-c.y],{targetZ:a});return{color:null,layer:null,viewport:c,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:u,devicePixel:t&&[t.pickedX,t.pickedY],pixelRatio:r}}function DI(t){const{pickInfo:e,lastPickedInfo:n,mode:i,layers:r}=t,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const t=n.index,e=n.layerId,i=o&&o.props.id;if(i!==e||a!==t){if(i!==e){const t=r.find(t=>t.props.id===e);t&&l.unshift(t)}n.layerId=i,n.index=a,n.info=null}}const c=II(t),u=new Map;return u.set(null,c),l.forEach(t=>{let e=vt({},c);t===o&&(e.color=s,e.index=a,e.picked=!0),e=RI({layer:t,info:e,mode:i}),t===o&&"hover"===i&&(n.info=e),u.set(e.layer.id,e),"hover"===i&&e.layer.updateAutoHighlight(e)}),u}function RI({layer:t,info:e,mode:n}){for(;t&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=t,e=t.getPickingInfo({info:e,mode:n,sourceLayer:i}),t=t.parent}return e}class NI{constructor(t){this.gl=t,this.pickingFBO=null,this.pickLayersPass=new kI(t),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(t){"layerFilter"in t&&(this.layerFilter=t.layerFilter),"_pickable"in t&&(this._pickable=t._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(t){return this._pickClosestObject(t)}pickObjects(t){return this._pickVisibleObjects(t)}getLastPickedObject({x:t,y:e,layers:n,viewports:i},r=this.lastPickedInfo.info){const s=r&&r.layer&&r.layer.id,o=r&&r.viewport&&r.viewport.id,a=s?n.find(t=>t.id===s):null,l=o&&i.find(t=>t.id===o)||i[0],c=l&&l.unproject([t-l.x,e-l.y]),u={x:t,y:e,viewport:l,coordinate:c,layer:a};return a?vt(vt({},r),u):Object.assign(u,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:t}=this;return this.pickingFBO||(this.pickingFBO=new BS(t),BS.isSupported(t,{colorBufferFloat:!0})&&(this.depthFBO=new BS(t),this.depthFBO.attach({36064:new xS(t,{format:Zw(t)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:t.canvas.width,height:t.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:t.canvas.width,height:t.canvas.height}),this.pickingFBO}_getPickable(t){if(!1===this._pickable)return null;const e=t.filter(t=>t.isPickable()&&!t.isComposite);return e.length>255?(Gw.warn("Too many pickable layers, only picking the first 255")(),e.slice(0,255)):e.length?e:null}_pickClosestObject({layers:t,views:e,viewports:n,x:i,y:r,radius:s=0,depth:o=1,mode:a="query",unproject3D:l,onViewportActive:c}){if(!(t=this._getPickable(t)))return{result:[],emptyInfo:II({viewports:n,x:i,y:r})};this._resizeBuffer();const u=Rx(this.gl),h=Nx(this.gl,[i,r],!0),d=[h.x+Math.floor(h.width/2),h.y+Math.floor(h.height/2)],p=Math.round(s*u),{width:f,height:g}=this.pickingFBO,m=this._getPickingRect({deviceX:d[0],deviceY:d[1],deviceRadius:p,deviceWidth:f,deviceHeight:g});let b;const y=[],v={};for(let _=0;_=0){const s=t.slice(i,i+4),o=s.join(",");if(!n.has(o)){const t=e[r];t?n.set(o,{pickedColor:s,pickedLayer:t,pickedObjectIndex:t.decodePickingColor(s)}):Gw.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(n.values())}({pickedColors:this._drawAndSample({layers:t,views:e,viewports:n,onViewportActive:c,deviceRect:{x:d,y:g,width:f.x+f.width-d,height:p-g},pass:"picking:".concat(a),redrawReason:a}),layers:t}),b=new Map,y=Number.isFinite(l);for(let v=0;v=l);v++){const t=m[v];let e={color:t.pickedColor,layer:null,index:t.pickedObjectIndex,picked:!0,x:i,y:r,width:s,height:o,pixelRatio:u};e=RI({layer:t.pickedLayer,info:e,mode:a}),b.has(e.object)||b.set(e.object,e)}return Array.from(b.values())}_drawAndSample({layers:t,views:e,viewports:n,onViewportActive:i,deviceRect:r,pass:s,redrawReason:o,pickZ:a}){if(t.length<1)return null;const l=a?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:t,layerFilter:this.layerFilter,views:e,viewports:n,onViewportActive:i,pickingFBO:l,deviceRect:r,pass:s,redrawReason:o,pickZ:a});const{x:c,y:u,width:h,height:d}=r,p=new(a?Float32Array:Uint8Array)(h*d*4);return NS(l,{sourceX:c,sourceY:u,sourceWidth:h,sourceHeight:d,target:p}),p}_getPickingRect({deviceX:t,deviceY:e,deviceRadius:n,deviceWidth:i,deviceHeight:r}){const s=Math.max(0,t-n),o=Math.max(0,e-n),a=Math.min(i,t+n+1)-s,l=Math.min(r,e+n+1)-o;return a<=0||l<=0?null:{x:s,y:o,width:a,height:l}}}const LI={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class jI{constructor(t){const e=t.parentElement;e&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,LI),e.appendChild(this.el)),this.isVisible=!1}setTooltip(t,e,n){const i=this.el;if("string"==typeof t)i.innerText=t;else{if(!t)return this.isVisible=!1,void(i.style.display="none");"text"in t&&(i.innerText=t.text),"html"in t&&(i.innerHTML=t.html),"className"in t&&(i.className=t.className),Object.assign(i.style,t.style)}this.isVisible=!0,i.style.display="block",i.style.transform="translate(".concat(e,"px, ").concat(n,"px)")}remove(){this.el&&this.el.remove()}}function FI(t,e){if(!t)throw new Error(e)}const BI={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},VI=BI.global||BI.self||BI.window,zI="object"!=typeof process||"[object process]"!==String(process)||process.browser,UI="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:HI}=(UI&&parseFloat(UI[1]),VI),$I="undefined"!=typeof Image,GI="undefined"!=typeof ImageBitmap,WI=Boolean(HI),qI=!!zI||WI;function XI(t){const e=function(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&t instanceof Image?"image":t&&"object"==typeof t&&t.data&&t.width&&t.height?"data":null}(t);if(!e)throw new Error("Not an image");return e}function YI(t){switch(XI(t)){case"data":return t;case"image":case"imagebitmap":const e=document.createElement("canvas"),n=e.getContext("2d");if(!n)throw new Error("getImageData");return e.width=t.width,e.height=t.height,n.drawImage(t,0,0),n.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}const KI=/^data:image\/svg\+xml/,QI=/\.svg((\?|#).*)?$/;function ZI(t){return t&&(KI.test(t)||QI.test(t))}function JI(t,e){if(ZI(e)){let e=(new TextDecoder).decode(t);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(e=unescape(encodeURIComponent(e)))}catch(n){throw new Error(n.message)}return`data:image/svg+xml;base64,${btoa(e)}`}return tD(t,e)}function tD(t,e){if(ZI(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}function eD(t,e,n){return nD.apply(this,arguments)}function nD(){return(nD=PS(function*(t,e,n){const i=JI(t,n),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield iD(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function iD(t,e){return rD.apply(this,arguments)}function rD(){return(rD=PS(function*(t,e){const n=new Image;return n.src=t,e.image&&e.image.decode&&n.decode?(yield n.decode(),n):yield new Promise((e,i)=>{try{n.onload=()=>e(n),n.onerror=e=>i(new Error(`Could not load image ${t}: ${e}`))}catch(r){i(r)}})})).apply(this,arguments)}const sD={};let oD=!0;function aD(t,e,n){return lD.apply(this,arguments)}function lD(){return(lD=PS(function*(t,e,n){let i;i=ZI(n)?yield eD(t,e,n):tD(t,n);const r=e&&e.imagebitmap;return yield cD(i,r)})).apply(this,arguments)}function cD(t){return uD.apply(this,arguments)}function uD(){return(uD=PS(function*(t,e=null){if((hD(e)||!oD)&&(e=null),e)try{return yield createImageBitmap(t,e)}catch(n){console.warn(n),oD=!1}return yield createImageBitmap(t)})).apply(this,arguments)}function hD(t){for(const e in t||sD)return!1;return!0}const dD=!1,pD=!0;function fD(t){const e=gD(t);return function(t){const e=gD(t);return e.byteLength>=24&&2303741511===e.getUint32(0,dD)?{mimeType:"image/png",width:e.getUint32(16,dD),height:e.getUint32(20,dD)}:null}(e)||function(t){const e=gD(t);if(!(e.byteLength>=3&&65496===e.getUint16(0,dD)&&255===e.getUint8(2)))return null;const{tableMarkers:n,sofMarkers:i}=function(){const t=new Set([65499,65476,65484,65501,65534]);for(let e=65504;e<65520;++e)t.add(e);return{tableMarkers:t,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let r=2;for(;r+9=10&&1195984440===e.getUint32(0,dD)?{mimeType:"image/gif",width:e.getUint16(6,pD),height:e.getUint16(8,pD)}:null}(e)||function(t){const e=gD(t);return e.byteLength>=14&&16973===e.getUint16(0,dD)&&e.getUint32(2,pD)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,pD),height:e.getUint32(22,pD)}:null}(e)}function gD(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}function mD(t,e){const{mimeType:n}=fD(t)||{},{_parseImageNode:i}=VI;return FI(i),i(t,n,e)}function bD(){return(bD=PS(function*(t,e,n){const i=((e=e||{}).image||{}).type||"auto",{url:r}=n||{};let s;switch(yD(i)){case"imagebitmap":s=yield aD(t,e,r);break;case"image":s=yield eD(t,e,r);break;case"data":s=yield mD(t,e);break;default:FI(!1)}return"data"===i&&(s=YI(s)),s})).apply(this,arguments)}function yD(t){switch(t){case"auto":case"data":return function(){if(GI)return"imagebitmap";if($I)return"image";if(qI)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(t){switch(t){case"auto":return GI||$I||qI;case"imagebitmap":return GI;case"image":return $I;case"data":return qI;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}(t),t}}const vD={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(t,e,n){return bD.apply(this,arguments)},tests:[t=>Boolean(fD(new DataView(t)))],options:{image:{type:"auto",decode:!0}}};var _D=n(84761),wD={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(t){const e=t[0],n=t[t.length-1];return"{"===e&&"}"===n||"["===e&&"]"===n},parseTextSync:JSON.parse};const xD="8.5.8",SD=_D.CO.deck&&_D.CO.deck.VERSION;if(SD&&SD!==xD)throw new Error("deck.gl - multiple versions detected: ".concat(SD," vs ").concat(xD));SD||(Gw.log(1,"deck.gl ".concat(xD))(),_D.CO.deck=Object.assign(_D.CO.deck||{},{VERSION:xD,version:xD,log:Gw,_registerLoggers:function(t){JC=t}}),DA([wD,[vD,{imagebitmap:{premultiplyAlpha:"none"}}]]));var CD=_D.CO.deck;class ED extends iS{get[Symbol.toStringTag](){return"Query"}static isSupported(t,e=[]){const n=Zw(t),i=US(t,"TIMER_QUERY");let r=n||i;for(const s of e)switch(s){case"queries":r=r&&n;break;case"timers":r=r&&i;break;default:Xx(!1)}return r}constructor(t,e={}){super(t,e),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:t=!1}={}){return this.begin(t?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(t){return this._queryPending||(this.target=t,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const t=this.gl2.getQueryParameter(this.handle,34919);return t&&(this._queryPending=!1),t}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(t=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let e=0;return this._pollingPromise=new Promise((n,i)=>{const r=()=>{this.isResultAvailable()?(n(this.getResult()),this._pollingPromise=null):e++>t?(i("Timed out"),this._pollingPromise=null):requestAnimationFrame(r)};requestAnimationFrame(r)}),this._pollingPromise}_createHandle(){return ED.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const OD=Dx()&&"undefined"!=typeof document;let TD=0;class kD{constructor(t={}){const{onCreateContext:e=(t=>zx(t)),onAddHTML:n=null,onInitialize:i=(()=>{}),onRender:r=(()=>{}),onFinalize:s=(()=>{}),onError:o,gl:a=null,glOptions:l={},debug:c=!1,createFramebuffer:u=!1,autoResizeViewport:h=!0,autoResizeDrawingBuffer:d=!0,stats:p=qx.get("animation-loop-"+TD++)}=t;let{useDevicePixels:f=!0}=t;"useDevicePixelRatio"in t&&(Yw.deprecated("useDevicePixelRatio","useDevicePixels")(),f=t.useDevicePixelRatio),this.props={onCreateContext:e,onAddHTML:n,onInitialize:i,onRender:r,onFinalize:s,onError:o,gl:a,glOptions:l,debug:c,createFramebuffer:u},this.gl=a,this.needsRedraw=null,this.timeline=null,this.stats=p,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:h,autoResizeDrawingBuffer:d,useDevicePixels:f}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(t){return Xx("string"==typeof t),this.needsRedraw=this.needsRedraw||t,this}setProps(t){return"autoResizeViewport"in t&&(this.autoResizeViewport=t.autoResizeViewport),"autoResizeDrawingBuffer"in t&&(this.autoResizeDrawingBuffer=t.autoResizeDrawingBuffer),"useDevicePixels"in t&&(this.useDevicePixels=t.useDevicePixels),this}start(t={}){if(this._running)return this;this._running=!0;const e=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(t),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=ED.isSupported(this.gl,["timers"])?new ED(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(t=>{this._running&&(this._addCallbackData(t||{}),!1!==t&&this._startLoop())});return this.props.onError&&e.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(t){return this.timeline=t,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(t=>{this._resolveNextFrame=t})),this._nextFramePromise}toDataURL(){var t=this;return PS(function*(){return t.setNeedsRedraw("toDataURL"),yield t.waitForRender(),t.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...t){return this.props.onCreateContext(...t)}onInitialize(...t){return this.props.onInitialize(...t)}onRender(...t){return this.props.onRender(...t)}onFinalize(...t){return this.props.onFinalize(...t)}getHTMLControlValue(t,e=1){const n=document.getElementById(t);return n?Number(n.value):e}setViewParameters(){return Yw.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const t=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(t))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(t)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=OD?new Promise((t,e)=>{OD&&"complete"===document.readyState?t(document):window.addEventListener("load",()=>{t(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(t){this.display&&(this.display.delete(),this.display.animationLoop=null),t&&(t.animationLoop=this),this.display=t}_cancelAnimationFrame(t){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(t):function(t){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(t):clearTimeout(t)}(t)}_requestAnimationFrame(t){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(t):function(t){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(t):setTimeout(t,1e3/60)}(t)}_renderFrame(...t){this.display?this.display._renderFrame(...t):this.onRender(...t)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:t,height:e,aspect:n}=this._getSizeAndAspect();(t!==this.animationProps.width||e!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),n!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=t,this.animationProps.height=e,this.animationProps.aspect=n,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(t){"object"==typeof t&&null!==t&&(this.animationProps=Object.assign({},this.animationProps,t))}_createWebGLContext(t){if(this.offScreen=t.canvas&&"undefined"!=typeof OffscreenCanvas&&t.canvas instanceof OffscreenCanvas,t=Object.assign({},t,this.props.glOptions),this.gl=this.props.gl?Ux(this.props.gl,t):this.onCreateContext(t),!Qw(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(t){Mx(t,px)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const t=document.createElement("div");document.body.appendChild(t),t.style.position="relative";const e=document.createElement("div");e.style.position="absolute",e.style.left="10px",e.style.bottom="10px",e.style.width="300px",e.style.background="white",t.appendChild(this.gl.canvas),t.appendChild(e);const n=this.props.onAddHTML(e);n&&(e.innerHTML=n)}}_getSizeAndAspect(){const t=this.gl.drawingBufferWidth,e=this.gl.drawingBufferHeight;let n=1;const{canvas:i}=this.gl;return i&&i.clientHeight?n=i.clientWidth/i.clientHeight:t>0&&e>0&&(n=t/e),{width:t,height:e,aspect:n}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(t,e={}){if(t.canvas)return void function(t,e,n){let i="width"in n?n.width:t.canvas.clientWidth,r="height"in n?n.height:t.canvas.clientHeight;(!i||!r)&&(Yw.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=t.canvas.width||1,r=t.canvas.height||1),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{};const s=t.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let n=e;const s=Math.floor(i*n),o=Math.floor(r*n);t.canvas.width=s,t.canvas.height=o,(t.drawingBufferWidth!==s||t.drawingBufferHeight!==o)&&(Yw.warn("Device pixel ratio clamped")(),n=Math.min(t.drawingBufferWidth/i,t.drawingBufferHeight/r),t.canvas.width=Math.floor(i*n),t.canvas.height=Math.floor(r*n)),Object.assign(t.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(t,function(t){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(t)?t<=0?1:t:t?e:1}(e.useDevicePixels),e);const n=t.getExtension("STACKGL_resize_drawingbuffer");n&&"width"in e&&"height"in e&&n.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new BS(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:t}=this.gl;t&&(t.addEventListener("mousemove",this._onMousemove),t.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(t){this.animationProps._mousePosition=[t.offsetX,t.offsetY]}_onMouseleave(t){this.animationProps._mousePosition=null}}var PD=n(11524),AD=n.n(PD);const MD={mousedown:1,mousemove:2,mouseup:4};(function(t){const e=t.prototype.handler;t.prototype.handler=function(t){const n=this.store;t.button>0&&"pointerdown"===t.type&&(function(e,n){for(let i=0;i=0&&(this.pressed=!0),2&e&&0===t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(AD().MouseInput);const ID=AD().Manager;var DD=AD();const RD=DD?[[DD.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[DD.Rotate,{enable:!1}],[DD.Pinch,{enable:!1}],[DD.Swipe,{enable:!1}],[DD.Pan,{threshold:0,enable:!1}],[DD.Press,{enable:!1}],[DD.Tap,{event:"doubletap",taps:2,enable:!1}],[DD.Tap,{event:"anytap",enable:!1}],[DD.Tap,{enable:!1}]]:null,ND={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},LD={doubletap:["tap"]},jD={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},FD={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},BD={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},VD={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},zD="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",UD="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let HD=!1;try{const t={get passive(){return HD=!0,!0}};UD.addEventListener("test",t,t),UD.removeEventListener("test",t,t)}catch(m){}const $D=-1!==zD.indexOf("firefox"),{WHEEL_EVENTS:GD}=FD,WD=4.000244140625;class qD{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.events=GD.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(e=>t.addEventListener(e,this.handleEvent,!!HD&&{passive:!1}))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){"wheel"===t&&(this.options.enable=e)}handleEvent(t){if(!this.options.enable)return;let e=t.deltaY;UD.WheelEvent&&($D&&t.deltaMode===UD.WheelEvent.DOM_DELTA_PIXEL&&(e/=UD.devicePixelRatio),t.deltaMode===UD.WheelEvent.DOM_DELTA_LINE&&(e*=40));const n={x:t.clientX,y:t.clientY};0!==e&&e%WD==0&&(e=Math.floor(e/WD)),t.shiftKey&&e&&(e*=.25),this._onWheel(t,-e,n)}_onWheel(t,e,n){this.callback({type:"wheel",center:n,delta:e,srcEvent:t,pointerType:"mouse",target:t.target})}}const{MOUSE_EVENTS:XD}=FD,YD="pointermove",KD="pointerover",QD="pointerout",ZD="pointerleave";class JD{constructor(t,e,n={}){this.element=t,this.callback=e,this.pressed=!1,this.options=Object.assign({enable:!0},n),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=XD.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(e=>t.addEventListener(e,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){t===YD&&(this.enableMoveEvent=e),t===KD&&(this.enableOverEvent=e),t===QD&&(this.enableOutEvent=e),t===ZD&&(this.enableLeaveEvent=e)}handleEvent(t){this.handleOverEvent(t),this.handleOutEvent(t),this.handleLeaveEvent(t),this.handleMoveEvent(t)}handleOverEvent(t){this.enableOverEvent&&"mouseover"===t.type&&this.callback({type:KD,srcEvent:t,pointerType:"mouse",target:t.target})}handleOutEvent(t){this.enableOutEvent&&"mouseout"===t.type&&this.callback({type:QD,srcEvent:t,pointerType:"mouse",target:t.target})}handleLeaveEvent(t){this.enableLeaveEvent&&"mouseleave"===t.type&&this.callback({type:ZD,srcEvent:t,pointerType:"mouse",target:t.target})}handleMoveEvent(t){if(this.enableMoveEvent)switch(t.type){case"mousedown":t.button>=0&&(this.pressed=!0);break;case"mousemove":0===t.which&&(this.pressed=!1),this.pressed||this.callback({type:YD,srcEvent:t,pointerType:"mouse",target:t.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:tR}=FD,eR="keydown";class nR{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=tR.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),t.tabIndex=n.tabIndex||0,t.style.outline="none",this.events.forEach(e=>t.addEventListener(e,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){t===eR&&(this.enableDownEvent=e),"keyup"===t&&(this.enableUpEvent=e)}handleEvent(t){const e=t.target||t.srcElement;"INPUT"===e.tagName&&"text"===e.type||"TEXTAREA"===e.tagName||(this.enableDownEvent&&"keydown"===t.type&&this.callback({type:eR,srcEvent:t,key:t.key,target:t.target}),this.enableUpEvent&&"keyup"===t.type&&this.callback({type:"keyup",srcEvent:t,key:t.key,target:t.target}))}}const iR="contextmenu";class rR{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.handleEvent=this.handleEvent.bind(this),t.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(t,e){t===iR&&(this.options.enable=e)}handleEvent(t){!this.options.enable||this.callback({type:iR,center:{x:t.clientX,y:t.clientY},srcEvent:t,pointerType:"mouse",target:t.target})}}const sR={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},oR={srcElement:"root",priority:0};class aR{constructor(t){this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(t,e,n,i=!1,r=!1){const{handlers:s,handlersByElement:o}=this;n&&("object"!=typeof n||n.addEventListener)&&(n={srcElement:n}),n=n?Object.assign({},oR,n):oR;let a=o.get(n.srcElement);a||(a=[],o.set(n.srcElement,a));const l={type:t,handler:e,srcElement:n.srcElement,priority:n.priority};i&&(l.once=!0),r&&(l.passive=!0),s.push(l),this._active=this._active||!l.passive;let c=a.length-1;for(;c>=0&&!(a[c].priority>=l.priority);)c--;a.splice(c+1,0,l)}remove(t,e){const{handlers:n,handlersByElement:i}=this;for(let r=n.length-1;r>=0;r--){const s=n[r];if(s.type===t&&s.handler===e){n.splice(r,1);const t=i.get(s.srcElement);t.splice(t.indexOf(s),1),0===t.length&&i.delete(s.srcElement)}}this._active=n.some(t=>!t.passive)}handleEvent(t){if(this.isEmpty())return;const e=this._normalizeEvent(t);let n=t.srcEvent.target;for(;n&&n!==e.rootElement;){if(this._emit(e,n),e.handled)return;n=n.parentNode}this._emit(e,"root")}_emit(t,e){const n=this.handlersByElement.get(e);if(n){let e=!1;const i=()=>{t.handled=!0},r=()=>{t.handled=!0,e=!0},s=[];for(let o=0;o{const e=this.manager.get(t);e&&ND[t].forEach(t=>{e.recognizeWith(t)})});for(const n in e.recognizerOptions){const t=this.manager.get(n);if(t){const i=e.recognizerOptions[n];delete i.enable,t.set(i)}}this.wheelInput=new qD(t,this._onOtherEvent,{enable:!1}),this.moveInput=new JD(t,this._onOtherEvent,{enable:!1}),this.keyInput=new nR(t,this._onOtherEvent,{enable:!1,tabIndex:e.tabIndex}),this.contextmenuInput=new rR(t,this._onOtherEvent,{enable:!1});for(const[n,i]of this.events)i.isEmpty()||(this._toggleRecognizer(i.recognizerName,!0),this.manager.on(n,i.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(t,e,n){this._addEventHandler(t,e,n,!1)}once(t,e,n){this._addEventHandler(t,e,n,!0)}watch(t,e,n){this._addEventHandler(t,e,n,!1,!0)}off(t,e){this._removeEventHandler(t,e)}_toggleRecognizer(t,e){const{manager:n}=this;if(!n)return;const i=n.get(t);if(i&&i.options.enable!==e){i.set({enable:e});const r=LD[t];r&&!this.options.recognizers&&r.forEach(r=>{const s=n.get(r);e?(s.requireFailure(t),i.dropRequireFailure(r)):s.dropRequireFailure(t)})}this.wheelInput.enableEventType(t,e),this.moveInput.enableEventType(t,e),this.keyInput.enableEventType(t,e),this.contextmenuInput.enableEventType(t,e)}_addEventHandler(t,e,n,i,r){if("string"!=typeof t){n=e;for(const e in t)this._addEventHandler(e,t[e],n,i,r);return}const{manager:s,events:o}=this,a=VD[t]||t;let l=o.get(a);l||(l=new aR(this),o.set(a,l),l.recognizerName=BD[a]||a,s&&s.on(a,l.handleEvent)),l.add(t,e,n,i,r),l.isEmpty()||this._toggleRecognizer(l.recognizerName,!0)}_removeEventHandler(t,e){if("string"!=typeof t){for(const e in t)this._removeEventHandler(e,t[e]);return}const{events:n}=this,i=n.get(VD[t]||t);if(i&&(i.remove(t,e),i.isEmpty())){const{recognizerName:t}=i;let e=!1;for(const i of n.values())if(i.recognizerName===t&&!i.isEmpty()){e=!0;break}e||this._toggleRecognizer(t,!1)}}_onBasicInput(t){const{srcEvent:e}=t,n=jD[e.type];n&&this.manager.emit(n,t)}_onOtherEvent(t){this.manager.emit(t.type,t)}}function uR(){}const hR={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:uR,onResize:uR,onViewStateChange:uR,onInteractionStateChange:uR,onBeforeRender:uR,onAfterRender:uR,onLoad:uR,onError:(t,e)=>Gw.error(t)(),_onMetrics:null,getCursor:({isDragging:t})=>t?"grabbing":"grab",debug:!1,drawPickingColors:!1};class dR{constructor(t){t=vt(vt({},hR),t),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),t.viewState&&t.initialViewState&&Gw.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,_D.qs)()&&Gw.warn("IE 11 support will be deprecated in v8.0")(),t.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new Gx({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&GS.setProps(t._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(t){this.stats.get("setProps Time").timeStart(),"onLayerHover"in t&&Gw.removed("onLayerHover","onHover")(),"onLayerClick"in t&&Gw.removed("onLayerClick","onClick")(),t.initialViewState&&!oM(this.props.initialViewState,t.initialViewState)&&(this.viewState=t.initialViewState),Object.assign(this.props,t),this._setCanvasSize(this.props);const e=Object.create(this.props);Object.assign(e,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(e),this.layerManager&&(this.viewManager.setProps(e),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(e),this.effectManager.setProps(e),this.deckRenderer.setProps(e),this.deckPicker.setProps(e)),this.stats.get("setProps Time").timeEnd()}needsRedraw(t={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let e=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);const n=this.viewManager.needsRedraw(t),i=this.layerManager.needsRedraw(t),r=this.effectManager.needsRedraw(t),s=this.deckRenderer.needsRedraw(t);return e=e||n||i||r||s,e}redraw(t){if(!this.layerManager)return;const e=t||this.needsRedraw({clearRedrawFlags:!0});!e||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(e):this._drawLayers(e))}getViews(){return this.viewManager.views}getViewports(t){return this.viewManager.getViewports(t)}pickObject(t){const e=this._pick("pickObject","pickObject Time",t).result;return e.length?e[0]:null}pickMultipleObjects(t){return t.depth=t.depth||10,this._pick("pickObject","pickMultipleObjects Time",t).result}pickObjects(t){return this._pick("pickObjects","pickObjects Time",t)}_addResources(t,e=!1){for(const n in t)this.layerManager.resourceManager.add({resourceId:n,data:t[n],forceUpdate:e})}_removeResources(t){for(const e of t)this.layerManager.resourceManager.remove(e)}_pick(t,e,n){const{stats:i}=this;i.get("Pick Count").incrementCount(),i.get(e).timeStart();const r=this.deckPicker[t](vt({layers:this.layerManager.getLayers(n),views:this.viewManager.getViews(),viewports:this.getViewports(n),onViewportActive:this.layerManager.activateViewport},n));return i.get(e).timeEnd(),r}_createCanvas(t){let e=t.canvas;return"string"==typeof e&&(e=document.getElementById(e),RC(e)),e||(e=document.createElement("canvas"),e.id=t.id||"deckgl-overlay",(t.parent||document.body).appendChild(e)),Object.assign(e.style,t.style),e}_setCanvasSize(t){if(!this.canvas)return;let{width:e,height:n}=t;(e||0===e)&&(e=Number.isFinite(e)?"".concat(e,"px"):e,this.canvas.style.width=e),(n||0===n)&&(n=Number.isFinite(n)?"".concat(n,"px"):n,this.canvas.style.position="absolute",this.canvas.style.height=n)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:t,height:e}=this;this.viewManager.setProps({width:t,height:e}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:t}=this;if(!t)return!1;const e=t.clientWidth||t.width,n=t.clientHeight||t.height;return(e!==this.width||n!==this.height)&&(this.width=e,this.height=n,!0)}_createAnimationLoop(t){const{width:e,height:n,gl:i,glOptions:r,debug:s,onError:o,onBeforeRender:a,onAfterRender:l,useDevicePixels:c,autoResizeDrawingBuffer:u}=t;return new kD({width:e,height:n,useDevicePixels:c,autoResizeDrawingBuffer:u,autoResizeViewport:!1,gl:i,onCreateContext:t=>zx(zn(vt(vt({},r),t),{canvas:this.canvas,debug:s,onContextLost:()=>this._onContextLost()})),onInitialize:t=>this._setGLContext(t.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:a,onAfterRender:l,onError:o})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let t=this.props.views||[new SI({id:"default-view"})];return t=Array.isArray(t)?t:[t],t.length&&this.props.controller&&(t[0].props.controller=this.props.controller),t}_onContextLost(){const{onError:t}=this.props;this.animationLoop&&t&&t(new Error("WebGL context is lost"))}_onPointerMove(t){const{_pickRequest:e}=this;if("pointerleave"===t.type)e.x=-1,e.y=-1,e.radius=0;else{if(t.leftButton||t.rightButton)return;{const n=t.offsetCenter;if(!n)return;e.x=n.x,e.y=n.y,e.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:e.x,y:e.y}),e.event=t,e.mode="hover"}_pickAndCallback(){const{_pickRequest:t}=this;if(t.event){const{result:e,emptyInfo:n}=this._pick("pickObject","pickObject Time",t);this.interactiveState.isHovering=e.length>0;let i=n,r=!1;for(const s of e)i=s,r=s.layer.onHover(s,t.event);if(!r&&this.props.onHover&&this.props.onHover(i,t.event),this.props.getTooltip){const t=this.props.getTooltip(i);this.tooltip.setTooltip(t,i.x,i.y)}t.event=null}}_updateCursor(){const t=this.props.parent||this.canvas;t&&(t.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(t){if(this.layerManager)return;this.canvas||(this.canvas=t.canvas,Ux(t,{enable:!0,copyState:!0})),this.tooltip=new jI(this.canvas),Mx(t,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(t);const e=new dI;e.play(),this.animationLoop.attachTimeline(e),this.eventManager=new cR(this.props.parent||t.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const i in Xw)this.eventManager.on(i,this._onEvent);this.viewManager=new _I({timeline:e,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const n=this.viewManager.getViewports()[0];this.layerManager=new vI(t,{deck:this,stats:this.stats,viewport:n,timeline:e}),this.effectManager=new EI,this.deckRenderer=new PI(t),this.deckPicker=new NI(t),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(t,e){const{gl:n}=this.layerManager.context;Mx(n,this.props.parameters),this.props.onBeforeRender({gl:n}),this.deckRenderer.renderLayers(vt({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:t,effects:this.effectManager.getEffects()},e)),this.props.onAfterRender({gl:n})}_onRenderFrame(t){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Gw.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(t){const e=this.props.onViewStateChange(t)||t.viewState;this.viewState&&(this.viewState=zn(vt({},this.viewState),{[t.viewId]:e}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(t){this.interactiveState.isDragging=t.isDragging,this.props.onInteractionStateChange(t)}_onEvent(t){const e=Xw[t.type],n=t.offsetCenter;if(!e||!n)return;const i=this.layerManager.getLayers(),r=this.deckPicker.getLastPickedObject({x:n.x,y:n.y,layers:i,viewports:this.getViewports(n)},this._lastPointerDownInfo),{layer:s}=r,o=s&&(s[e.handler]||s.props[e.handler]),a=this.props[e.handler];let l=!1;o&&(l=o.call(s,r,t)),!l&&a&&a(r,t)}_onPointerDown(t){const e=t.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:e.x,y:e.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:t}=this;t.get("frameRate").timeEnd(),t.get("frameRate").timeStart();const e=this.animationLoop.stats;t.get("GPU Time").addTime(e.get("GPU Time").lastTiming),t.get("CPU Time").addTime(e.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:t,stats:e}=this;t.fps=e.get("frameRate").getHz(),t.setPropsTime=e.get("setProps Time").time,t.updateAttributesTime=e.get("Update Attributes").time,t.framesRedrawn=e.get("Redraw Count").count,t.pickTime=e.get("pickObject Time").time+e.get("pickMultipleObjects Time").time+e.get("pickObjects Time").time,t.pickCount=e.get("Pick Count").count,t.gpuTime=e.get("GPU Time").time,t.cpuTime=e.get("CPU Time").time,t.gpuTimePerFrame=e.get("GPU Time").getAverageTime(),t.cpuTimePerFrame=e.get("CPU Time").getAverageTime();const n=qx.get("Memory Usage");t.bufferMemory=n.get("Buffer Memory").count,t.textureMemory=n.get("Texture Memory").count,t.renderbufferMemory=n.get("Renderbuffer Memory").count,t.gpuMemory=n.get("GPU Memory").count}}dR.getPropTypes=function(t){return{id:t.string,width:t.oneOfType([t.number,t.string]),height:t.oneOfType([t.number,t.string]),layers:t.oneOfType([t.object,t.array]),layerFilter:t.func,views:t.oneOfType([t.object,t.array]),viewState:t.object,effects:t.arrayOf(t.instanceOf(WM)),controller:t.oneOfType([t.func,t.bool,t.object]),gl:t.object,glOptions:t.object,parameters:t.object,pickingRadius:t.number,useDevicePixels:t.oneOfType([t.bool,t.number]),touchAction:t.string,eventRecognizerOptions:t.object,onWebGLInitialized:t.func,onResize:t.func,onViewStateChange:t.func,onInteractionStateChange:t.func,onBeforeRender:t.func,onAfterRender:t.func,onLoad:t.func,onError:t.func,debug:t.bool,drawPickingColors:t.bool,_framebuffer:t.object,_animate:t.bool,_pickable:t.bool,_typedArrayManagerProps:t.object}},dR.defaultProps=hR,dR.VERSION=CD.VERSION;var pR={name:"project32",dependencies:[tI],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"};const fR={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1};var gR=vt({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(t=fR){const e={};if(void 0!==t.pickingSelectedColor)if(t.pickingSelectedColor){const n=t.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=n}else e.picking_uSelectedColorValid=0;if(t.pickingHighlightColor){const n=Array.from(t.pickingHighlightColor,t=>t/255);Number.isFinite(n[3])||(n[3]=1),e.picking_uHighlightColor=n}return void 0!==t.pickingActive&&(e.picking_uActive=Boolean(t.pickingActive),e.picking_uAttribute=Boolean(t.pickingAttribute)),e}});const mR={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class bR{static get DRAW_MODE(){return mR}constructor(t={}){const{id:e=Zx("geometry"),drawMode:n=mR.TRIANGLES,attributes:i={},indices:r=null,vertexCount:s=null}=t;this.id=e,this.drawMode=0|n,this.attributes={},this.userData={},this._setAttributes(i,r),this.vertexCount=s||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?vt({indices:this.indices},this.attributes):this.attributes}_print(t){return`Geometry ${this.id} attribute ${t}`}_setAttributes(t,e){e&&(this.indices=ArrayBuffer.isView(e)?{value:e,size:1}:e);for(const n in t){let e=t[n];e=ArrayBuffer.isView(e)?{value:e}:e,Xx(ArrayBuffer.isView(e.value),`${this._print(n)}: must be typed array or object with value as typed array`),("POSITION"===n||"positions"===n)&&!e.size&&(e.size=3),"indices"===n?(Xx(!this.indices),this.indices=e):this.attributes[n]=e}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(t,e){if(e)return e.value.length;let n=1/0;for(const i in t){const e=t[i],{value:r,size:s,constant:o}=e;!o&&r&&s>=1&&(n=Math.min(n,r.length/s))}return Xx(Number.isFinite(n)),n}}const yR=()=>{},vR={10241:9987,10240:9729,10242:33071,10243:33071};function _R(t){return Math.pow(2,Math.ceil(Math.log2(t)))}function wR(t,e,n,i){return n===e.width&&i===e.height?e:(t.canvas.height=i,t.canvas.width=n,t.clearRect(0,0,t.canvas.width,t.canvas.height),t.drawImage(e,0,0,e.width,e.height,0,0,n,i),t.canvas)}function xR(t){return t&&(t.id||t.url)}function SR(t,e,n){for(let i=0;i0){const{mapping:t,xOffset:n,yOffset:i,rowHeight:r,canvasHeight:s}=function({icons:t,buffer:e,mapping:n={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(SR(n,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+l+e,s=Math.max(s,t)}}return a.length>0&&SR(n,a,r),{mapping:n,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:_R(s+r+e)}}({icons:e,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=r,this._mapping=t,this._xOffset=n,this._yOffset=i,this._canvasHeight=s,this._texture||(this._texture=new xS(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:vR})),this._texture.height!==this._canvasHeight&&(this._texture=function(t,e,n,i){const r=e.width,s=e.height,o=DS(e,{width:n,height:i});return function(t,e,n={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=n;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=n;const{framebuffer:d,deleteFramebuffer:p}=jS(t);Xx(d);const{gl:f,handle:g}=d,m=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const b=f.bindFramebuffer(36160,g);Xx(e);let y=null;if(e instanceof _S&&(y=e,u=Number.isFinite(u)?u:y.width,h=Number.isFinite(h)?h:y.height,y.bind(0),e=y.target),m)switch(e){case 3553:case 34067:f.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:tx(f).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else f.copyTexImage2D(e,s,o,i,r,u,h,0);y&&y.unbind(),f.bindFramebuffer(36160,b||null),p&&d.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(e)}}_loadIcons(t){const e=this._canvas.getContext("2d");for(const n of t)this._pendingCount++,XA(n.url,vD,this._loadOptions).then(t=>{const i=xR(n),{x:r,y:s,width:o,height:a}=this._mapping[i],l=wR(e,t,o,a);this._texture.setSubImageData({data:l,x:r,y:s,width:o,height:a}),this._texture.generateMipmap(),this.onUpdate()}).catch(t=>{this.onError({url:n.url,source:n.source,sourceIndex:n.sourceIndex,loadOptions:this._loadOptions,error:t})}).finally(()=>{this._pendingCount--})}}const ER=[0,0,0,255],OR={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:t=>t.position},getIcon:{type:"accessor",value:t=>t.icon},getColor:{type:"accessor",value:ER},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let TR=(()=>{class t extends eM{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[pR,gR]})}initializeState(){this.state={iconManager:new CR(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:ER},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:e,changeFlags:n}){super.updateState({props:e,oldProps:t,changeFlags:n});const i=this.getAttributeManager(),{iconAtlas:r,iconMapping:s,data:o,getIcon:a}=e,{iconManager:l}=this.state;l.setProps({loadOptions:e.loadOptions});let c=!1;if(r||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==e.iconAtlas&&l.setProps({iconAtlas:r,autoPacking:!1}),t.iconMapping!==e.iconMapping&&(l.setProps({iconMapping:s}),c=!0)):l.setProps({autoPacking:!0}),(n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getIcon))&&l.setProps({data:o,getIcon:a}),c&&(i.invalidate("instanceOffsets"),i.invalidate("instanceIconFrames"),i.invalidate("instanceColorModes")),n.extensionsChanged){var u;const{gl:t}=this.context;null===(u=this.state.model)||void 0===u||u.delete(),this.state.model=this._getModel(t),i.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:e,sizeMinPixels:n,sizeMaxPixels:i,sizeUnits:r,billboard:s,alphaCutoff:o}=this.props,{iconManager:a}=this.state,{viewport:l}=this.context,c=a.getTexture();c&&this.state.model.setUniforms(t).setUniforms({iconsTexture:c,iconsTextureDim:[c.width,c.height],sizeScale:e*("pixels"===r?l.metersPerPixel:1),sizeMinPixels:n,sizeMaxPixels:i,billboard:s,alphaCutoff:o}).draw()}_getModel(t){return new WO(t,zn(vt({},this.getShaders()),{id:this.props.id,geometry:new bR({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:e}=this.getCurrentLayer().props;e?e(t):Gw.error(t.error)()}getInstanceOffset(t){const e=this.state.iconManager.getIconMapping(t);return[e.width/2-e.anchorX||0,e.height/2-e.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const e=this.state.iconManager.getIconMapping(t);return[e.x||0,e.y||0,e.width||0,e.height||0]}}return t.layerName="IconLayer",t.defaultProps=OR,t})();const kR=[],PR={getIconOffsets:{type:"accessor",value:t=>t.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let AR=(()=>{class t extends TR{getShaders(){return zn(vt({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(t,{index:e,target:n})=>this.encodePickingColor(e,n)}})}updateState(t){super.updateState(t);const{props:e,oldProps:n}=t;let{outlineColor:i}=e;i!==n.outlineColor&&(i=i.map(t=>t/255),i[3]=Number.isFinite(i[3])?i[3]:1,this.setState({outlineColor:i})),!e.sdf&&e.outlineWidth&&Gw.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:e,smoothing:n,outlineWidth:i}=this.props,{outlineColor:r}=this.state;t.uniforms=zn(vt({},t.uniforms),{buffer:.75,outlineBuffer:i?Math.max(n,.75*(1-i)):-1,gamma:n,sdf:Boolean(e),outlineColor:r}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(t=>super.getInstanceOffset(t)):kR}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(t=>super.getInstanceIconFrame(t)):kR}}return t.layerName="MultiIconLayer",t.defaultProps=PR,t})();var MR=n(51002),IR=n.n(MR);const DR=[];function RR(t){return Math.pow(2,Math.ceil(Math.log2(t)))}function NR(t,e,n,i){let r=0;for(let s=e;si&&(oa){let e=NR(t,a,l,r);c+e>i&&(oi&&(e=LR(t,a,l,i,r,s),o=s[s.length-1])),a=l,c+=e}}(t,r,s,n,i,o),o}function FR(t,e,n,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let d=0,p=0,f=0;for(let g=0;g<=s;g++){const m=t[g];if(("\n"===m||g===s)&&(f=g),f>p){const s=c?jR(t,n,i,r,p,f):DR;for(let n=0;n<=s.length;n++){const i=0===n?p:s[n-1],c=ne===t);e>=0&&this._order.splice(e,1)}_appendOrder(t){this._order.push(t)}}(3),HR=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function $R(t,e){for(let n=0;n{e in t&&(this.props[e]=t[e])});const e=this._key;this._key=this._getKey();const n=function(t,e){const n=UR.get(t);if(!n)return e;const i=[];let r=Object.keys(n.mapping);r=new Set(r);let s=e;return s instanceof Array&&(s=new Set(s)),s.forEach(t=>{r.has(t)||i.push(t)}),i}(this._key,this.props.characterSet),i=UR.get(this._key);if(i&&0===n.length)return void(this._key!==e&&(this._atlas=i));const r=this._generateFontAtlas(this._key,n,i);this._atlas=r,UR.set(this._key,r)}_generateFontAtlas(t,e,n){const{fontFamily:i,fontWeight:r,fontSize:s,buffer:o,sdf:a,radius:l,cutoff:c}=this.props;let u=n&&n.data;u||(u=document.createElement("canvas"),u.width=1024);const h=u.getContext("2d");GR(h,i,s,r);const{mapping:d,canvasHeight:p,xOffset:f,yOffset:g}=function({characterSet:t,getFontWidth:e,fontHeight:n,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const d of t)if(!s[d]){const t=e(d,u++);c+t+2*i>r&&(c=0,l++),s[d]={x:c+i,y:a+l*(n+2*i)+i,width:t,height:n},c+=t+2*i}const h=n+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:RR(a+(l+1)*h)}}(vt({getFontWidth:t=>h.measureText(t).width,fontHeight:1.2*s,buffer:o,characterSet:e,maxCanvasWidth:1024},n&&{mapping:n.mapping,xOffset:n.xOffset,yOffset:n.yOffset}));if(u.height!==p){const t=h.getImageData(0,0,u.width,u.height);u.height=p,h.putImageData(t,0,0)}if(GR(h,i,s,r),a){const t=new(IR())(s,o,l,c,i,r),n=h.getImageData(0,0,t.size,t.size);for(const i of e)$R(t.draw(i),n),h.putImageData(n,d[i].x-o,d[i].y+o)}else for(const m of e)h.fillText(m,d[m].x,d[m].y+.9*s);return{xOffset:f,yOffset:g,mapping:d,data:u,width:u.width,height:u.height}}_getKey(){const{fontFamily:t,fontWeight:e,fontSize:n,buffer:i,sdf:r,radius:s,cutoff:o}=this.props;return r?"".concat(t," ").concat(e," ").concat(n," ").concat(i," ").concat(s," ").concat(o):"".concat(t," ").concat(e," ").concat(n," ").concat(i)}}const qR={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:t=>t.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let XR=(()=>{class t extends eM{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[pR,gR]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:e,changeFlags:n}){if(super.updateState({props:t,oldProps:e,changeFlags:n}),n.extensionsChanged){var i;const{gl:t}=this.context;null===(i=this.state.model)||void 0===i||i.delete(),this.state.model=this._getModel(t),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:e}=this.context,{billboard:n,sizeScale:i,sizeUnits:r,sizeMinPixels:s,sizeMaxPixels:o,getLineWidth:a}=this.props;let{padding:l}=this.props;const c="pixels"===r?e.metersPerPixel:1;l.length<4&&(l=[l[0],l[1],l[0],l[1]]),this.state.model.setUniforms(t).setUniforms({billboard:n,stroked:Boolean(a),padding:l,sizeScale:i*c,sizeMinPixels:s,sizeMaxPixels:o}).draw()}_getModel(t){return new WO(t,zn(vt({},this.getShaders()),{id:this.props.id,geometry:new bR({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return t.layerName="TextBackgroundLayer",t.defaultProps=qR,t})();const YR={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},KR={start:1,middle:0,end:-1},QR={top:1,center:0,bottom:-1},ZR=[0,0,0,255],JR=["fontSize","buffer","sdf","radius","cutoff"],tN={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:ZR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:VR},fontFamily:zR,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:ZR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:t=>t.text},getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:ZR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let eN=(()=>{class t extends nM{initializeState(){this.state={styleVersion:0,fontAtlasManager:new WR}}updateState({props:t,oldProps:e,changeFlags:n}){const i=this.state.characterSet;(n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getText))&&this._updateText();const r=i!==this.state.characterSet||this._fontChanged(e,t);r&&this._updateFontAtlas(e,t),(r||t.lineHeight!==e.lineHeight||t.wordBreak!==e.wordBreak||t.maxWidth!==e.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,e){const{fontSettings:n,fontFamily:i,fontWeight:r}=e,{fontAtlasManager:s,characterSet:o}=this.state;s.setProps(zn(vt(vt({},YR),n),{characterSet:o,fontFamily:i,fontWeight:r}))}_fontChanged(t,e){if(t.fontFamily!==e.fontFamily||t.fontWeight!==e.fontWeight)return!0;if(t.fontSettings===e.fontSettings)return!1;const n=t.fontSettings||{},i=e.fontSettings||{};return JR.some(t=>n[t]!==i[t])}_updateText(){const{data:t,characterSet:e}=this.props,n=t.attributes&&t.attributes.getText;let i,{getText:r}=this.props,{startIndices:s}=t;const o="auto"===e&&new Set;if(n&&s){const{texts:e,characterCount:a}=function({value:t,length:e,stride:n,offset:i,startIndices:r,characterSet:s}){const o=t.BYTES_PER_ELEMENT,a=n?n/o:1,l=i?i/o:0,c=r[e]||Math.ceil((t.length-l)/a),u=s&&new Set,h=new Array(e);let d=t;if(a>1||l>0){d=new t.constructor(c);for(let e=0;ee[n]}else{const{iterable:e,objectInfo:n}=jC(t);s=[0],i=0;for(const t of e){n.index++;const e=Array.from(r(t,n)||"");o&&e.forEach(o.add,o),i+=e.length,s.push(i)}}this.setState({getText:r,startIndices:s,numInstances:i,characterSet:o||e})}getBoundingRect(t,e){const n=this.state.fontAtlasManager.mapping,{getText:i}=this.state,{wordBreak:r,maxWidth:s,lineHeight:o,getTextAnchor:a,getAlignmentBaseline:l}=this.props,c=i(t,e)||"",{size:[u,h]}=BR(c,o,r,s,n);return[(KR["function"==typeof a?a(t,e):a]-1)*u/2,(QR["function"==typeof l?l(t,e):l]-1)*h/2,u,h]}getIconOffsets(t,e){const n=this.state.fontAtlasManager.mapping,{getText:i}=this.state,{wordBreak:r,maxWidth:s,lineHeight:o,getTextAnchor:a,getAlignmentBaseline:l}=this.props,c=i(t,e)||"",{x:u,y:h,rowWidth:d,size:[p,f]}=BR(c,o,r,s,n),g=KR["function"==typeof a?a(t,e):a],m=QR["function"==typeof l?l(t,e):l],b=u.length,y=new Array(2*b);let v=0;for(let _=0;_t*e/255)}const sN={name:"lights",vs:nN,fs:nN,getUniforms:function t(e=iN){if("lightSources"in e){const{ambientLight:t,pointLights:n,directionalLights:i}=e.lightSources||{};return t||n&&n.length>0||i&&i.length>0?Object.assign({},function({ambientLight:t,pointLights:e=[],directionalLights:n=[]}){const i={};return i["lighting_uAmbientLight.color"]=t?rN(t):[0,0,0],e.forEach((t,e)=>{i[`lighting_uPointLight[${e}].color`]=rN(t),i[`lighting_uPointLight[${e}].position`]=t.position,i[`lighting_uPointLight[${e}].attenuation`]=t.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,n.forEach((t,e)=>{i[`lighting_uDirectionalLight[${e}].color`]=rN(t),i[`lighting_uDirectionalLight[${e}].direction`]=t.direction}),i.lighting_uDirectionalLightCount=n.length,i}({ambientLight:t,pointLights:n,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in e){const n={pointLights:[],directionalLights:[]};for(const t of e.lights||[])switch(t.type){case"ambient":n.ambientLight=t;break;case"directional":n.directionalLights.push(t);break;case"point":n.pointLights.push(t)}return t({lightSources:n})}return{}},defines:{MAX_LIGHTS:3}};const oN={};const aN={name:"phong-lighting",dependencies:[sN],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(t=oN){if(!("material"in t))return{};const{material:e}=t;return e?function(t){const{ambient:e=.35,diffuse:n=.6,shininess:i=32,specularColor:r=[30,30,30]}=t;return{lighting_uAmbient:e,lighting_uDiffuse:n,lighting_uShininess:i,lighting_uSpecularColor:r.map(t=>t/255)}}(e):{lighting_uEnabled:!1}}},lN=Math.PI/180,cN=new Float32Array(16),uN=new Float32Array(12);function hN(t,e,n){const i=e[0]*lN,r=e[1]*lN,s=e[2]*lN,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),d=n[0],p=n[1],f=n[2];t[0]=d*h*u,t[1]=d*l*u,t[2]=d*-a,t[3]=p*(-l*c+h*a*o),t[4]=p*(h*c+l*a*o),t[5]=p*u*o,t[6]=f*(l*o+h*a*c),t[7]=f*(-h*o+l*a*c),t[8]=f*u*c}function dN(t){return t[0]=t[0],t[1]=t[1],t[2]=t[2],t[3]=t[4],t[4]=t[5],t[5]=t[6],t[6]=t[8],t[7]=t[9],t[8]=t[10],t[9]=t[12],t[10]=t[13],t[11]=t[14],t.subarray(0,12)}const pN={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(t,{startRow:e,endRow:n}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),d=Array.isArray(o),p=c||!l&&Boolean(a(i[0]));t.constant=p?c:h&&u&&d;const f=t.value;if(t.constant){let e;p?(cN.set(a),e=dN(cN)):(e=uN,hN(e,r,s),e.set(o,9)),t.value=new Float32Array(e)}else{let l=e*t.size;const{iterable:g,objectInfo:m}=jC(i,e,n);for(const t of g){let e;m.index++,p?(cN.set(c?a:a(t,m)),e=dN(cN)):(e=uN,hN(e,h?r:r(t,m),u?s:s(t,m)),e.set(d?o:o(t,m),9)),f[l++]=e[0],f[l++]=e[1],f[l++]=e[2],f[l++]=e[3],f[l++]=e[4],f[l++]=e[5],f[l++]=e[6],f[l++]=e[7],f[l++]=e[8],f[l++]=e[9],f[l++]=e[10],f[l++]=e[11]}}}};function fN(t,e){return e===Ww.CARTESIAN||e===Ww.METER_OFFSETS||e===Ww.DEFAULT&&!t.isGeospatial}function gN(t,e){(t.COLOR_0||t.colors)&&e||(t.colors={constant:!0,value:new Float32Array([1,1,1])}),Gw.assert(t.positions||t.POSITION,'no "postions" or "POSITION" attribute in mesh')}function mN(t,e){if(t.attributes)return gN(t.attributes,e),t instanceof bR?t:new bR(t);if(t.positions||t.POSITION)return gN(t,e),new bR({attributes:t});throw Error("Invalid mesh")}const bN={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let yN=(()=>{class t extends eM{getShaders(){const t=!Zw(this.context.gl),e={};return zS(this.context.gl,"GLSL_DERIVATIVES")&&(e.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[pR,aN,gR],transpileToGLSL100:t,defines:e})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:pN}),this.setState({emptyTexture:new xS(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:e,changeFlags:n}){if(super.updateState({props:t,oldProps:e,changeFlags:n}),t.mesh!==e.mesh||n.extensionsChanged){var i;if(null===(i=this.state.model)||void 0===i||i.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const e=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(e.NORMAL||e.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==e.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:e}=this.context,{sizeScale:n,coordinateSystem:i,_instanced:r}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:n,composeModelMatrix:!r||fN(e,i),flatShading:!this.state.hasNormals}).draw()}getModel(t){const e=new WO(this.context.gl,zn(vt({},this.getShaders()),{id:this.props.id,geometry:mN(t,this.props._useMeshColors),isInstanced:!0})),{texture:n}=this.props,{emptyTexture:i}=this.state;return e.setUniforms({sampler:n||i,hasTexture:Boolean(n)}),e}setTexture(t){const{emptyTexture:e,model:n}=this.state;null==n||n.setUniforms({sampler:t||e,hasTexture:Boolean(t)})}}return t.layerName="SimpleMeshLayer",t.defaultProps=bN,t})();const vN={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[sN]};class _N{constructor(t={}){const{id:e}=t;this.id=e||Zx(this.constructor.name),this.display=!0,this.position=new OC,this.rotation=new OC,this.scale=new OC(1,1,1),this.matrix=new VT,this.userData={},this.props={},this._setScenegraphNodeProps(t)}delete(){}setProps(t){return this._setScenegraphNodeProps(t),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(t){return Xx(3===t.length,"setPosition requires vector argument"),this.position=t,this}setRotation(t){return Xx(3===t.length,"setRotation requires vector argument"),this.rotation=t,this}setScale(t){return Xx(3===t.length,"setScale requires vector argument"),this.scale=t,this}setMatrix(t,e=!0){e?this.matrix.copy(t):this.matrix=t}setMatrixComponents({position:t,rotation:e,scale:n,update:i=!0}){return t&&this.setPosition(t),e&&this.setRotation(e),n&&this.setScale(n),i&&this.updateMatrix(),this}updateMatrix(){const t=this.position,e=this.rotation,n=this.scale;return this.matrix.identity(),this.matrix.translate(t),this.matrix.rotateXYZ(e),this.matrix.scale(n),this}update(t={}){const{position:e,rotation:n,scale:i}=t;return e&&this.setPosition(e),n&&this.setRotation(n),i&&this.setScale(i),this.updateMatrix(),this}getCoordinateUniforms(t,e){Xx(t),e=e||this.matrix;const n=new VT(t).multiplyRight(e),i=n.invert(),r=i.transpose();return{viewMatrix:t,modelMatrix:e,objectMatrix:e,worldMatrix:n,worldInverseMatrix:i,worldInverseTransposeMatrix:r}}_setScenegraphNodeProps(t){"display"in t&&(this.display=t.display),"position"in t&&this.setPosition(t.position),"rotation"in t&&this.setRotation(t.rotation),"scale"in t&&this.setScale(t.scale),"matrix"in t&&this.setMatrix(t.matrix),Object.assign(this.props,t)}}class wN extends _N{constructor(t={}){t=Array.isArray(t)?{children:t}:t;const{children:e=[]}=t;Yw.assert(e.every(t=>t instanceof _N),"every child must an instance of ScenegraphNode"),super(t),this.children=e}add(...t){for(const e of t)Array.isArray(e)?this.add(...e):this.children.push(e);return this}remove(t){const e=this.children,n=e.indexOf(t);return n>-1&&e.splice(n,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(t=>t.delete()),this.removeAll(),super.delete()}traverse(t,{worldMatrix:e=new VT}={}){const n=new VT(e).multiplyRight(this.matrix);for(const i of this.children)i instanceof wN?i.traverse(t,{worldMatrix:n}):t(i,{worldMatrix:n})}}function xN(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=n[0],p=n[1],f=n[2],g=n[3],m=n[4],b=n[5],y=n[6],v=n[7],_=n[8];return t[0]=d*i+p*o+f*c,t[1]=d*r+p*a+f*u,t[2]=d*s+p*l+f*h,t[3]=g*i+m*o+b*c,t[4]=g*r+m*a+b*u,t[5]=g*s+m*l+b*h,t[6]=y*i+v*o+_*c,t[7]=y*r+v*a+_*u,t[8]=y*s+v*l+_*h,t}function SN(t,e,n){var i=n[0],r=n[1];return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=r*e[3],t[4]=r*e[4],t[5]=r*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function CN(){var t=new hC(4);return hC!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function EN(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function ON(t,e,n){n*=.5;var i=Math.sin(n);return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=Math.cos(n),t}function TN(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=n[0],l=n[1],c=n[2],u=n[3];return t[0]=i*u+o*a+r*c-s*l,t[1]=r*u+o*l+s*a-i*c,t[2]=s*u+o*c+i*l-r*a,t[3]=o*u-i*a-r*l-s*c,t}function kN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l+o*a,t[1]=r*l+s*a,t[2]=s*l-r*a,t[3]=o*l-i*a,t}function PN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l-s*a,t[1]=r*l+o*a,t[2]=s*l+i*a,t[3]=o*l-r*a,t}function AN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l+r*a,t[1]=r*l-i*a,t[2]=s*l+o*a,t[3]=o*l-s*a,t}function MN(t,e){var n=e[0],i=e[1],r=e[2];return t[0]=n,t[1]=i,t[2]=r,t[3]=Math.sqrt(Math.abs(1-n*n-i*i-r*r)),t}function IN(t,e,n,i){var r,s,o,a,l,c=e[0],u=e[1],h=e[2],d=e[3],p=n[0],f=n[1],g=n[2],m=n[3];return(s=c*p+u*f+h*g+d*m)<0&&(s=-s,p=-p,f=-f,g=-g,m=-m),1-s>uC?(r=Math.acos(s),o=Math.sin(r),a=Math.sin((1-i)*r)/o,l=Math.sin(i*r)/o):(a=1-i,l=i),t[0]=a*c+l*p,t[1]=a*u+l*f,t[2]=a*h+l*g,t[3]=a*d+l*m,t}function DN(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=n*n+i*i+r*r+s*s,a=o?1/o:0;return t[0]=-n*a,t[1]=-i*a,t[2]=-r*a,t[3]=s*a,t}function RN(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function NN(t,e){var n,i=e[0]+e[4]+e[8];if(i>0)n=Math.sqrt(i+1),t[3]=.5*n,t[0]=(e[5]-e[7])*(n=.5/n),t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;n=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),t[r]=.5*n,t[3]=(e[3*s+o]-e[3*o+s])*(n=.5/n),t[s]=(e[3*s+r]+e[3*r+s])*n,t[o]=(e[3*o+r]+e[3*r+o])*n}return t}var LN=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t},jN=xT,FN=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},BN=function(t,e,n,i){var r=e[0],s=e[1],o=e[2],a=e[3];return t[0]=r+i*(n[0]-r),t[1]=s+i*(n[1]-s),t[2]=o+i*(n[2]-o),t[3]=a+i*(n[3]-a),t},VN=function(t){return Math.hypot(t[0],t[1],t[2],t[3])},zN=function(t){var e=t[0],n=t[1],i=t[2],r=t[3];return e*e+n*n+i*i+r*r},UN=function(){var t=dC(),e=pC(1,0,0),n=pC(0,1,0);return function(i,r,s){var o=fC(r,s);return o<-.999999?(gC(t,e,r),function(t){return Math.hypot(t[0],t[1],t[2])}(t)<1e-6&&gC(t,n,r),function(t,e){var n=e[0],i=e[1],r=e[2],s=n*n+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s}(t,t),ON(i,t,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(gC(t,r,s),i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=1+o,function(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=n*n+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),t[0]=n*o,t[1]=i*o,t[2]=r*o,t[3]=s*o,t}(i,i))}}();CN(),CN(),function(){var t=new hC(9);hC!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1}();const HN=[0,0,0,1];class $N extends rC{constructor(t=0,e=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?this.copy(t):this.set(t,e,n,i)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,e,n,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=i,this.check()}fromMatrix3(t){return NN(this,t),this.check()}identity(){return EN(this),this.check()}fromAxisRotation(t,e){return ON(this,t,e),this.check()}setAxisAngle(t,e){return this.fromAxisRotation(t,e)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=sC(t)}get y(){return this[1]}set y(t){this[1]=sC(t)}get z(){return this[2]}set z(t){this[2]=sC(t)}get w(){return this[3]}set w(t){this[3]=sC(t)}len(){return VN(this)}lengthSquared(){return zN(this)}dot(t,e){if(void 0!==e)throw new Error("Quaternion.dot only takes one argument");return FN(this,t)}rotationTo(t,e){return UN(this,t,e),this.check()}add(t,e){if(void 0!==e)throw new Error("Quaternion.add only takes one argument");return LN(this,this,t),this.check()}calculateW(){return MN(this,this),this.check()}conjugate(){return RN(this,this),this.check()}invert(){return DN(this,this),this.check()}lerp(t,e,n){return BN(this,t,e,n),this.check()}multiplyRight(t,e){return iC(!e),TN(this,this,t),this.check()}multiplyLeft(t,e){return iC(!e),TN(this,t,this),this.check()}normalize(){const t=this.len(),e=t>0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return kN(this,this,t),this.check()}rotateY(t){return PN(this,this,t),this.check()}rotateZ(t){return AN(this,this,t),this.check()}scale(t){return jN(this,this,t),this.check()}slerp(t,e,n){switch(arguments.length){case 1:({start:t=HN,target:e,ratio:n}=arguments[0]);break;case 2:[e,n]=arguments,t=this}return IN(this,t,e,n),this.check()}transformVector4(t,e=t){return CT(e,t,this),oC(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t,e){return this.multiplyLeft(t,e)}multiply(t,e){return this.multiplyRight(t,e)}}const GN={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},WN={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function qN(t){if(!t._animation){const e=WN[t.componentType],n=GN[t.type],i=n*t.count,{buffer:r,byteOffset:s}=t.bufferView.data,o=new e(r,s+(t.byteOffset||0),i);if(1===n)t._animation=Array.from(o);else{const e=[];for(let t=0;t{(function(t,{input:e,interpolation:n,output:i},r,s){const o=t%e[e.length-1],a=e.findIndex(t=>t>=o),l=Math.max(0,a-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:Yw.warn(`Bad animation path ${s}`)()}Xx(r[s].length===i[l].length);const c=e[l],u=e[a];switch(n){case"STEP":!function(t,e,n){for(let i=0;ic&&function(t,e,n,i,r){if("rotation"===e){YN.slerp({start:n,target:i,ratio:r});for(let n=0;nc&&function(t,e,{p0:n,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const i=e.name||`Animation-${n}`,r=e.samplers.map(({input:e,interpolation:n="LINEAR",output:i})=>({input:qN(t.accessors[e]),interpolation:n,output:qN(t.accessors[i])})),s=e.channels.map(({sampler:e,target:n})=>({sampler:r[e],target:t.nodes[n.node],path:n.path}));return new KN({name:i,channels:s})})}animate(t){this.setTime(t)}setTime(t){this.animations.forEach(e=>e.animate(t))}getAnimations(){return this.animations}}class ZN extends _N{constructor(t,e={}){super(e),this.onBeforeRender=null,this.AfterRender=null,t instanceof WO?(this.model=t,this._setModelNodeProps(e)):this.model=new WO(t,e),this.managedResources=e.managedResources||[]}setProps(t){return super.setProps(t),this._setModelNodeProps(t),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(t=>t.delete()),this.managedResources=[]}draw(...t){return this.model.draw(...t)}setUniforms(...t){return this.model.setUniforms(...t),this}setAttributes(...t){return this.model.setAttributes(...t),this}updateModuleSettings(...t){return this.model.updateModuleSettings(...t),this}_setModelNodeProps(t){this.model.setProps(t)}}class JN{constructor(t,{attributes:e,material:n,pbrDebug:i,imageBasedLightingEnvironment:r,lights:s,useTangents:o}){this.gl=t,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},zS(t,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],r&&(this.uniforms.u_DiffuseEnvSampler=r.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=r.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=r.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),i&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(e.NORMAL,"HAS_NORMALS"),this.defineIfPresent(e.TANGENT&&o,"HAS_TANGENTS"),this.defineIfPresent(e.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(r,"USE_IBL"),this.defineIfPresent(s,"USE_LIGHTS"),this.defineIfPresent(i,"PBR_DEBUG"),n&&this.parseMaterial(n)}defineIfPresent(t,e){t&&(this.defines[e]=1)}parseTexture(t,e,n=null){const i=t.texture.source.image;let r,s={};i.compressed?(r=i,s={[this.gl.TEXTURE_MIN_FILTER]:i.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):r={data:i};const o=new xS(this.gl,vt({id:t.name||t.id,parameters:vt(vt({},t.texture&&t.texture.sampler&&t.texture.sampler.parameters||{}),s),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},r));this.uniforms[e]=o,this.defineIfPresent(n,n),this.generatedTextures.push(o)}parsePbrMetallicRoughness(t){t.baseColorTexture&&this.parseTexture(t.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=t.baseColorFactor||[1,1,1,1],t.metallicRoughnessTexture&&this.parseTexture(t.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:e=1,roughnessFactor:n=1}=t;this.uniforms.u_MetallicRoughnessValues=[e,n]}parseMaterial(t){if(this.uniforms.pbr_uUnlit=Boolean(t.unlit),t.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(t.pbrMetallicRoughness),t.normalTexture){this.parseTexture(t.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:e=1}=t.normalTexture;this.uniforms.u_NormalScale=e}if(t.occlusionTexture){this.parseTexture(t.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:e=1}=t.occlusionTexture;this.uniforms.u_OcclusionStrength=e}if(t.emissiveTexture&&(this.parseTexture(t.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=t.emissiveFactor||[0,0,0]),"MASK"===t.alphaMode){const{alphaCutoff:e=.5}=t;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=e}else"BLEND"===t.alphaMode&&(Yw.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function tL(t,e){return Zw(t)?`#version 300 es\n${e}`:e}const eL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},nL={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class iL{constructor(t,e={}){this.gl=t,this.options=Object.assign({},nL,e)}instantiate(t){return this.gltf=t,(t.scenes||[]).map(t=>this.createScene(t))}createAnimator(){return Array.isArray(this.gltf.animations)?new QN(this.gltf):null}createScene(t){const e=(t.nodes||[]).map(t=>this.createNode(t));return new wN({id:t.name||t.id,children:e})}createNode(t){if(!t._node){const e=(t.children||[]).map(t=>this.createNode(t));t.mesh&&e.push(this.createMesh(t.mesh));const n=new wN({id:t.name||t.id,children:e});if(t.matrix)n.setMatrix(t.matrix);else{if(n.matrix.identity(),t.translation&&n.matrix.translate(t.translation),t.rotation){const e=(new VT).fromQuaternion(t.rotation);n.matrix.multiplyRight(e)}t.scale&&n.matrix.scale(t.scale)}t._node=n}return t._node}createMesh(t){if(!t._mesh){const e=(t.primitives||[]).map((e,n)=>this.createPrimitive(e,n,t)),n=new wN({id:t.name||t.id,children:e});t._mesh=n}return t._mesh}getVertexCount(t){Yw.warn("getVertexCount() not found")()}createPrimitive(t,e,n){return function(t,e){const{id:n,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new JN(t,e);Yw.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(t=>t.buffer));const c=new ZN(t,Object.assign({id:n,drawMode:i,vertexCount:r,modules:[vN],defines:a.defines,parameters:a.parameters,vs:tL(t,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:tL(t,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:t.name||`${n.name||n.id}-primitive-${e}`,drawMode:t.mode||4,vertexCount:t.indices?t.indices.count:this.getVertexCount(t.attributes),attributes:this.createAttributes(t.attributes,t.indices),material:t.material},this.options))}createAttributes(t,e){const n={};return Object.keys(t).forEach(e=>{n[e]=this.createAccessor(t[e],this.createBuffer(t[e],this.gl.ARRAY_BUFFER))}),e&&(n.indices=this.createAccessor(e,this.createBuffer(e,this.gl.ELEMENT_ARRAY_BUFFER))),Yw.info(4,"glTF Attributes",{attributes:t,indices:e,generated:n})(),n}createBuffer(t,e){t.bufferView||(t.bufferView={});const{bufferView:n}=t;return n.lumaBuffers||(n.lumaBuffers={}),n.lumaBuffers[e]||(n.lumaBuffers[e]=new fS(this.gl,{id:`from-${n.id}`,data:n.data||t.value,target:e})),n.lumaBuffers[e]}createAccessor(t,e){return new uS({buffer:e,offset:t.byteOffset||0,stride:t.bufferView.byteStride||0,type:t.componentType,size:eL[t.type]})}createSampler(t){return t}needsPOT(){return!1}}function rL(t,e,n){if(t.byteLength<=e+n)return"";const i=new DataView(t);let r="";for(let s=0;se[t.name]);return new cL(n,this.metadata)}selectAt(...t){const e=t.map(t=>this.fields[t]).filter(Boolean);return new cL(e,this.metadata)}assign(t){let e,n=this.metadata;if(t instanceof cL){const i=t;e=i.fields,n=uL(uL(new Map,this.metadata),i.metadata)}else e=t;const i=Object.create(null);for(const s of this.fields)i[s.name]=s;for(const s of e)i[s.name]=s;const r=Object.values(i);return new cL(r,n)}}function uL(t,e){return new Map([...t||new Map,...e||new Map])}let hL,dL,pL,fL,gL,mL,bL,yL;!function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"}(hL||(hL={}));class vL{static isNull(t){return t&&t.typeId===hL.Null}static isInt(t){return t&&t.typeId===hL.Int}static isFloat(t){return t&&t.typeId===hL.Float}static isBinary(t){return t&&t.typeId===hL.Binary}static isUtf8(t){return t&&t.typeId===hL.Utf8}static isBool(t){return t&&t.typeId===hL.Bool}static isDecimal(t){return t&&t.typeId===hL.Decimal}static isDate(t){return t&&t.typeId===hL.Date}static isTime(t){return t&&t.typeId===hL.Time}static isTimestamp(t){return t&&t.typeId===hL.Timestamp}static isInterval(t){return t&&t.typeId===hL.Interval}static isList(t){return t&&t.typeId===hL.List}static isStruct(t){return t&&t.typeId===hL.Struct}static isUnion(t){return t&&t.typeId===hL.Union}static isFixedSizeBinary(t){return t&&t.typeId===hL.FixedSizeBinary}static isFixedSizeList(t){return t&&t.typeId===hL.FixedSizeList}static isMap(t){return t&&t.typeId===hL.Map}static isDictionary(t){return t&&t.typeId===hL.Dictionary}get typeId(){return hL.NONE}compareTo(t){return this===t}}Symbol,Symbol,dL=Symbol.toStringTag;class _L extends vL{constructor(t,e){super(),kP(this,"isSigned",void 0),kP(this,"bitWidth",void 0),this.isSigned=t,this.bitWidth=e}get typeId(){return hL.Int}get[dL](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class wL extends _L{constructor(){super(!0,8)}}class xL extends _L{constructor(){super(!0,16)}}class SL extends _L{constructor(){super(!0,32)}}class CL extends _L{constructor(){super(!1,8)}}class EL extends _L{constructor(){super(!1,16)}}class OL extends _L{constructor(){super(!1,32)}}pL=Symbol.toStringTag;class TL extends vL{constructor(t){super(),kP(this,"precision",void 0),this.precision=t}get typeId(){return hL.Float}get[pL](){return"Float"}toString(){return`Float${this.precision}`}}class kL extends TL{constructor(){super(32)}}class PL extends TL{constructor(){super(64)}}Symbol,Symbol,fL=Symbol.toStringTag,gL=Symbol.toStringTag,mL=Symbol.toStringTag,bL=Symbol.toStringTag,yL=Symbol.toStringTag;class AL extends vL{constructor(t,e){super(),kP(this,"listSize",void 0),kP(this,"children",void 0),this.listSize=t,this.children=[e]}get typeId(){return hL.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[yL](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class ML{constructor(t,e,n=!1,i=new Map){kP(this,"name",void 0),kP(this,"type",void 0),kP(this,"nullable",void 0),kP(this,"metadata",void 0),this.name=t,this.type=e,this.nullable=n,this.metadata=i}get typeId(){return this.type&&this.type.typeId}clone(){return new ML(this.name,this.type,this.nullable,this.metadata)}compareTo(t){return this.name===t.name&&this.type===t.type&&this.nullable===t.nullable&&this.metadata===t.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function IL(t,e,n){const i=n?DL(n.metadata):void 0,r=function(t){switch(t.constructor){case Int8Array:return new wL;case Uint8Array:return new CL;case Int16Array:return new xL;case Uint16Array:return new EL;case Int32Array:return new SL;case Uint32Array:return new OL;case Float32Array:return new kL;case Float64Array:return new PL;default:throw new Error("array type not supported")}}(e.value);return new ML(t,new AL(e.size,new ML("value",r)),!1,i)}function DL(t){const e=new Map;for(const n in t)e.set(`${n}.string`,JSON.stringify(t[n]));return e}const RL={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},NL={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class LL{constructor(t){kP(this,"draco",void 0),kP(this,"decoder",void 0),kP(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,e={}){const n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(e);const i=this.decoder.GetEncodedGeometryType(n),r=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let t;switch(i){case this.draco.TRIANGULAR_MESH:t=this.decoder.DecodeBufferToMesh(n,r);break;case this.draco.POINT_CLOUD:t=this.decoder.DecodeBufferToPointCloud(n,r);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!t.ok()||!r.ptr){const e=`DRACO decompression failed: ${t.error_msg()}`;throw new Error(e)}const s=this._getDracoLoaderData(r,i,e),o=this._getMeshData(r,s,e),a=function(t){let e=1/0,n=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=t.POSITION?t.POSITION.value:[],l=a&&a.length;for(let c=0;cr?t:r,s=l>s?l:s,o=u>o?u:o}return[[e,n,i],[r,s,o]]}(o.attributes),l=function(t,e,n){const i=DL(e.metadata),r=[],s=function(t){const e={};for(const n in t){const i=t[n];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in t){const e=IL(o,t[o],s[o]);r.push(e)}if(n){const t=IL("indices",n);r.push(t)}return new cL(r,i)}(o.attributes,s,o.indices);return zn(vt({loader:"draco",loaderData:s,header:{vertexCount:r.num_points(),boundingBox:a}},o),{schema:l})}finally{this.draco.destroy(n),r&&this.draco.destroy(r)}}_getDracoLoaderData(t,e,n){const i=this._getTopLevelMetadata(t),r=this._getDracoAttributes(t,n);return{geometry_type:e,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:i,attributes:r}}_getDracoAttributes(t,e){const n={};for(let i=0;ithis.decoder[t]).includes(i)){const e=new this.draco.AttributeQuantizationTransform;try{if(e.InitFromAttribute(t))return{quantization_bits:e.quantization_bits(),range:e.range(),min_values:new Float32Array([1,2,3]).map(t=>e.min_value(t))}}finally{this.draco.destroy(e)}}return null}_getOctahedronTransform(t,e){const{octahedronAttributes:n=[]}=e,i=t.attribute_type();if(n.map(t=>this.decoder[t]).includes(i)){const e=new this.draco.AttributeQuantizationTransform;try{if(e.InitFromAttribute(t))return{quantization_bits:e.quantization_bits()}}finally{this.draco.destroy(e)}}return null}}var jL=n(49125);const FL={};function BL(t){return VL.apply(this,arguments)}function VL(){return(VL=PS(function*(t,e=null,n={}){return e&&(t=zL(t,e,n)),FL[t]=FL[t]||UL(t),yield FL[t]})).apply(this,arguments)}function zL(t,e,n){if(t.startsWith("http"))return t;const i=n.modules||{};return i[t]?i[t]:$P?n.CDN?(VP(n.CDN.startsWith("http")),`${n.CDN}/${e}@3.0.12/dist/libs/${t}`):GP?`../src/libs/${t}`:`modules/${e}/src/libs/${t}`:`modules/${e}/dist/libs/${t}`}function UL(t){return HL.apply(this,arguments)}function HL(){return(HL=PS(function*(t){return t.endsWith("wasm")?yield(yield fetch(t)).arrayBuffer():$P?GP?importScripts(t):$L(yield(yield fetch(t)).text(),t):jL.requireFromFile&&(yield jL.requireFromFile(t))})).apply(this,arguments)}function $L(t,e){if(!$P)return jL.requireFromString&&jL.requireFromString(t,e);if(GP)return eval.call(HP,t),null;const n=document.createElement("script");n.id=e;try{n.appendChild(document.createTextNode(t))}catch(i){n.text=t}return document.body.appendChild(n),null}const GL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",WL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",qL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let XL;function YL(t){return KL.apply(this,arguments)}function KL(){return(KL=PS(function*(t){const e=t.modules||{};return XL=e.draco3d?XL||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):XL||QL(t),yield XL})).apply(this,arguments)}function QL(t){return ZL.apply(this,arguments)}function ZL(){return(ZL=PS(function*(t){let e,n;switch(t.draco&&t.draco.decoderType){case"js":e=yield BL(GL,"draco",t);break;case"wasm":default:[e,n]=yield Promise.all([yield BL(WL,"draco",t),yield BL(qL,"draco",t)])}return e=e||globalThis.DracoDecoderModule,yield JL(e,n)})).apply(this,arguments)}function JL(t,e){const n={};return e&&(n.wasmBinary=e),new Promise(e=>{t(zn(vt({},n),{onModuleLoaded:t=>e({draco:t})}))})}const tj=zn(vt({},lL),{parse:function(t,e){return ej.apply(this,arguments)}});function ej(){return(ej=PS(function*(t,e){const{draco:n}=yield YL(e),i=new LL(n);try{return i.parseSync(t,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function nj(t,e){return tP(t>=0),tP(e>0),t+(e-1)&~(e-1)}function ij(t,e,n){let i;return i=t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer||t.arrayBuffer,t.byteOffset,t.byteLength),e.set(i,n),n+nj(i.byteLength,4)}const rj=["SCALAR","VEC2","VEC3","VEC4"],sj=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],oj=new Map(sj),aj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},lj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},cj={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function uj(t){return rj[t-1]||rj[0]}function hj(t){const e=oj.get(t.constructor);if(!e)throw new Error("Illegal typed array");return e}function dj(t,e){const n=cj[t.componentType],i=aj[t.type],r=t.count*i,s=t.count*i*lj[t.componentType];return sL(s>=0&&s<=e.byteLength),{ArrayType:n,length:r,byteLength:s}}const pj={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class fj{constructor(t){kP(this,"gltf",void 0),kP(this,"sourceBuffers",void 0),kP(this,"byteLength",void 0),this.gltf=t||{json:vt({},pj),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}getExtension(t){return this.getUsedExtensions().find(e=>e===t)?(this.json.extensions||{})[t]||!0:null}getRequiredExtension(t){return this.getRequiredExtensions().find(e=>e===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(t,e){return(t.extensions||{})[e]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,e){if("object"==typeof e)return e;const n=this.json[t]&&this.json[t][e];if(!n)throw new Error(`glTF file error: Could not find ${t}[${e}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);const e=this.gltf.buffers[t.buffer];return sL(e),new Uint8Array(e.arrayBuffer,(t.byteOffset||0)+e.byteOffset,t.byteLength)}getTypedArrayForAccessor(t){t=this.getAccessor(t);const e=this.getBufferView(t.bufferView),n=this.getBuffer(e.buffer).data,{ArrayType:i,length:r}=dj(t,e);return new i(n,e.byteOffset+t.byteOffset,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);const e=this.getBufferView(t.bufferView),n=this.getBuffer(e.buffer).data;return new Uint8Array(n,e.byteOffset||0,e.byteLength)}addApplicationData(t,e){return this.json[t]=e,this}addExtraData(t,e){return this.json.extras=this.json.extras||{},this.json.extras[t]=e,this}addObjectExtension(t,e,n){return t.extensions=t.extensions||{},t.extensions[e]=n,this.registerUsedExtension(e),this}setObjectExtension(t,e,n){(t.extensions||{})[e]=n}removeObjectExtension(t,e){const n=t.extensions||{},i=n[e];return delete n[e],i}addExtension(t,e={}){return sL(e),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=e,this.registerUsedExtension(t),e}addRequiredExtension(t,e={}){return sL(e),this.addExtension(t,e),this.registerRequiredExtension(t),e}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(e=>e===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(e=>e===t)||this.json.extensionsRequired.push(t)}removeExtension(t){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t),this.json.extensions&&delete this.json.extensions[t]}setDefaultScene(t){this.json.scene=t}addScene(t){const{nodeIndices:e}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:e}),this.json.scenes.length-1}addNode(t){const{meshIndex:e,matrix:n}=t;this.json.nodes=this.json.nodes||[];const i={mesh:e};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(t){const{attributes:e,indices:n,material:i,mode:r=4}=t,s={primitives:[{attributes:this._addAttributes(e),mode:r}]};if(n){const t=this._addIndices(n);s.primitives[0].indices=t}return Number.isFinite(i)&&(s.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}addPointCloud(t){const e={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(e),this.json.meshes.length-1}addImage(t,e){const n=fD(t),i=e||(null==n?void 0:n.mimeType),r={bufferView:this.addBufferView(t),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(r),this.json.images.length-1}addBufferView(t){const e=t.byteLength;sL(Number.isFinite(e)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);const n={buffer:0,byteOffset:this.byteLength,byteLength:e};return this.byteLength+=nj(e,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}addAccessor(t,e){const n={bufferView:t,type:uj(e.size),componentType:e.componentType,count:e.count,max:e.max,min:e.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,e={size:3}){const n=this.addBufferView(t);let i={min:e.min,max:e.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(t,e.size));const r={size:e.size,componentType:hj(t),count:Math.round(t.length/e.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(r,e))}addTexture(t){const{imageIndex:e}=t,n={source:e};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){var t,e;this.gltf.buffers=[];const n=this.byteLength,i=new ArrayBuffer(n),r=new Uint8Array(i);let s=0;for(const o of this.sourceBuffers||[])s=ij(o,r,s);null!==(t=this.json)&&void 0!==t&&null!==(e=t.buffers)&&void 0!==e&&e[0]?this.json.buffers[0].byteLength=n:this.json.buffers=[{byteLength:n}],this.gltf.binary=i,this.sourceBuffers=[i]}_removeStringFromArray(t,e){let n=!0;for(;n;){const i=t.indexOf(e);i>-1?t.splice(i,1):n=!1}}_addAttributes(t={}){const e={};for(const n in t){const i=t[n],r=this._getGltfAttributeName(n),s=this.addBinaryBuffer(i.value,i);e[r]=s}return e}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,e){const n={min:null,max:null};if(t.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Pj(t){for(const e of t.json.meshes||[])for(const t of e.primitives)yield t}function Aj(t){return Mj.apply(this,arguments)}function Mj(){return(Mj=PS(function*(t){const e=new fj(t),{json:n}=e;e.removeExtension(yj);for(const i of n.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,yj)})).apply(this,arguments)}function Ij(t){const e=new fj(t),{json:n}=e;if(e.materials)for(const i of n.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,yj,{}),e.addExtension(yj))}function Dj(t){return Rj.apply(this,arguments)}function Rj(){return(Rj=PS(function*(t){const e=new fj(t),{json:n}=e,i=e.getExtension(bj);i&&(e.json.lights=i.lights,e.removeExtension(bj));for(const r of n.nodes||[]){const t=e.getObjectExtension(r,bj);t&&(r.light=t.light),e.removeObjectExtension(r,bj)}})).apply(this,arguments)}function Nj(t){return Lj.apply(this,arguments)}function Lj(){return(Lj=PS(function*(t){const e=new fj(t),{json:n}=e;if(n.lights){const t=e.addExtension(bj);sL(!t.lights),t.lights=n.lights,delete n.lights}if(e.json.lights){for(const t of e.json.lights)e.addObjectExtension(t.node,bj,t);delete e.json.lights}})).apply(this,arguments)}function jj(t){return Fj.apply(this,arguments)}function Fj(){return(Fj=PS(function*(t){const e=new fj(t),{json:n}=e,i=e.getExtension(vj);if(i){const t=zj(i,e);for(const i of n.materials||[]){const n=e.getObjectExtension(i,vj);n&&(i.technique=Object.assign({},n,t[n.technique]),i.technique.values=Uj(i.technique,e)),e.removeObjectExtension(i,vj)}e.removeExtension(vj)}})).apply(this,arguments)}function Bj(t,e){return Vj.apply(this,arguments)}function Vj(){return(Vj=PS(function*(t,e){})).apply(this,arguments)}function zj(t,e){const{programs:n=[],shaders:i=[],techniques:r=[]}=t,s=new TextDecoder;return i.forEach(t=>{if(!Number.isFinite(t.bufferView))throw new Error("KHR_techniques_webgl: no shader code");t.code=s.decode(e.getTypedArrayForBufferView(t.bufferView))}),n.forEach(t=>{t.fragmentShader=i[t.fragmentShader],t.vertexShader=i[t.vertexShader]}),r.forEach(t=>{t.program=n[t.program]}),r}function Uj(t,e){const n=Object.assign({},t.values);return Object.keys(t.uniforms||{}).forEach(e=>{t.uniforms[e].value&&!(e in n)&&(n[e]=t.uniforms[e].value)}),Object.keys(n).forEach(t=>{"object"==typeof n[t]&&void 0!==n[t].index&&(n[t].texture=e.getTexture(n[t].index))}),n}const Hj={KHR_draco_mesh_compression:i,KHR_materials_unlit:r,KHR_lights_punctual:s,KHR_techniques_webgl:o};function $j(t){return Gj.apply(this,arguments)}function Gj(){return(Gj=PS(function*(t,e={},n){for(const r in Hj){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield Hj[r].decode(t,e,n))}})).apply(this,arguments)}const Wj={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},qj={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class Xj{constructor(t){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(t,e){this.json=t.json;const n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${n.asset.version}`)}if(!e.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),function(t){const e=new fj(t),{json:n}=e;for(const i of n.images||[]){const t=e.removeObjectExtension(i,gj);t&&Object.assign(i,t)}n.buffers&&n.buffers[0]&&delete n.buffers[0].uri,e.removeExtension(gj)}(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(const e in Wj)this._convertTopLevelObjectToArray(t,e)}_convertTopLevelObjectToArray(t,e){const n=t[e];if(n&&!Array.isArray(n)){t[e]=[];for(const i in n){const r=n[i];r.id=r.id||i;const s=t[e].length;t[e].push(r),this.idToIndexMap[e][i]=s}}}_convertObjectIdsToArrayIndices(t){for(const e in Wj)this._convertIdsToIndices(t,e);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(const e of t.textures)this._convertTextureIds(e);for(const e of t.meshes)this._convertMeshIds(e);for(const e of t.nodes)this._convertNodeIds(e);for(const e of t.scenes)this._convertSceneIds(e)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(const e of t.primitives){const{attributes:t,indices:n,material:i}=e;for(const e in t)t[e]=this._convertIdToIndex(t[e],"accessor");n&&(e.indices=this._convertIdToIndex(n,"accessor")),i&&(e.material=this._convertIdToIndex(i,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(t=>this._convertIdToIndex(t,"node"))),t.meshes&&(t.meshes=t.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(t,e){t[e]||(console.warn(`gltf v1: json doesn't contain attribute ${e}`),t[e]=[]);for(const n of t[e])for(const t in n){const e=this._convertIdToIndex(n[t],t);n[t]=e}}_convertIdToIndex(t,e){const n=qj[e];if(n in this.idToIndexMap){const i=this.idToIndexMap[n][t];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${e} with id ${t}`);return i}return t}_updateObjects(t){for(const e of this.json.buffers)delete e.type}_updateMaterial(t){for(const e of t.materials){e.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const n=e.values&&e.values.tex,i=t.textures.findIndex(t=>t.id===n);-1!==i&&(e.pbrMetallicRoughness.baseColorTexture={index:i})}}}function Yj(t,e={}){return(new Xj).normalize(t,e)}const Kj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Qj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Zj={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},Jj={magFilter:Zj.TEXTURE_MAG_FILTER,minFilter:Zj.TEXTURE_MIN_FILTER,wrapS:Zj.TEXTURE_WRAP_S,wrapT:Zj.TEXTURE_WRAP_T},tF={[Zj.TEXTURE_MAG_FILTER]:Zj.LINEAR,[Zj.TEXTURE_MIN_FILTER]:Zj.NEAREST_MIPMAP_LINEAR,[Zj.TEXTURE_WRAP_S]:Zj.REPEAT,[Zj.TEXTURE_WRAP_]:Zj.REPEAT};class eF{postProcess(t,e={}){const{json:n,buffers:i=[],images:r=[],baseUri:s=""}=t;return sL(n),this.baseUri=s,this.json=n,this.buffers=i,this.images=r,this._resolveTree(this.json,e),this.json}_resolveTree(t,e={}){t.bufferViews&&(t.bufferViews=t.bufferViews.map((t,e)=>this._resolveBufferView(t,e))),t.images&&(t.images=t.images.map((t,e)=>this._resolveImage(t,e))),t.samplers&&(t.samplers=t.samplers.map((t,e)=>this._resolveSampler(t,e))),t.textures&&(t.textures=t.textures.map((t,e)=>this._resolveTexture(t,e))),t.accessors&&(t.accessors=t.accessors.map((t,e)=>this._resolveAccessor(t,e))),t.materials&&(t.materials=t.materials.map((t,e)=>this._resolveMaterial(t,e))),t.meshes&&(t.meshes=t.meshes.map((t,e)=>this._resolveMesh(t,e))),t.nodes&&(t.nodes=t.nodes.map((t,e)=>this._resolveNode(t,e))),t.skins&&(t.skins=t.skins.map((t,e)=>this._resolveSkin(t,e))),t.scenes&&(t.scenes=t.scenes.map((t,e)=>this._resolveScene(t,e))),void 0!==t.scene&&(t.scene=t.scenes[this.json.scene])}getScene(t){return this._get("scenes",t)}getNode(t){return this._get("nodes",t)}getSkin(t){return this._get("skins",t)}getMesh(t){return this._get("meshes",t)}getMaterial(t){return this._get("materials",t)}getAccessor(t){return this._get("accessors",t)}getCamera(t){return null}getTexture(t){return this._get("textures",t)}getSampler(t){return this._get("samplers",t)}getImage(t){return this._get("images",t)}getBufferView(t){return this._get("bufferViews",t)}getBuffer(t){return this._get("buffers",t)}_get(t,e){if("object"==typeof e)return e;const n=this.json[t]&&this.json[t][e];return n||console.warn(`glTF file error: Could not find ${t}[${e}]`),n}_resolveScene(t,e){return t.id=t.id||`scene-${e}`,t.nodes=(t.nodes||[]).map(t=>this.getNode(t)),t}_resolveNode(t,e){return t.id=t.id||`node-${e}`,t.children&&(t.children=t.children.map(t=>this.getNode(t))),void 0!==t.mesh?t.mesh=this.getMesh(t.mesh):void 0!==t.meshes&&t.meshes.length&&(t.mesh=t.meshes.reduce((t,e)=>{const n=this.getMesh(e);return t.id=n.id,t.primitives=t.primitives.concat(n.primitives),t},{primitives:[]})),void 0!==t.camera&&(t.camera=this.getCamera(t.camera)),void 0!==t.skin&&(t.skin=this.getSkin(t.skin)),t}_resolveSkin(t,e){return t.id=t.id||`skin-${e}`,t.inverseBindMatrices=this.getAccessor(t.inverseBindMatrices),t}_resolveMesh(t,e){return t.id=t.id||`mesh-${e}`,t.primitives&&(t.primitives=t.primitives.map(t=>{const e=(t=vt({},t)).attributes;t.attributes={};for(const n in e)t.attributes[n]=this.getAccessor(e[n]);return void 0!==t.indices&&(t.indices=this.getAccessor(t.indices)),void 0!==t.material&&(t.material=this.getMaterial(t.material)),t})),t}_resolveMaterial(t,e){if(t.id=t.id||`material-${e}`,t.normalTexture&&(t.normalTexture=vt({},t.normalTexture),t.normalTexture.texture=this.getTexture(t.normalTexture.index)),t.occlusionTexture&&(t.occlustionTexture=vt({},t.occlustionTexture),t.occlusionTexture.texture=this.getTexture(t.occlusionTexture.index)),t.emissiveTexture&&(t.emmisiveTexture=vt({},t.emmisiveTexture),t.emissiveTexture.texture=this.getTexture(t.emissiveTexture.index)),t.emissiveFactor||(t.emissiveFactor=t.emmisiveTexture?[1,1,1]:[0,0,0]),t.pbrMetallicRoughness){t.pbrMetallicRoughness=vt({},t.pbrMetallicRoughness);const e=t.pbrMetallicRoughness;e.baseColorTexture&&(e.baseColorTexture=vt({},e.baseColorTexture),e.baseColorTexture.texture=this.getTexture(e.baseColorTexture.index)),e.metallicRoughnessTexture&&(e.metallicRoughnessTexture=vt({},e.metallicRoughnessTexture),e.metallicRoughnessTexture.texture=this.getTexture(e.metallicRoughnessTexture.index))}return t}_resolveAccessor(t,e){if(t.id=t.id||`accessor-${e}`,void 0!==t.bufferView&&(t.bufferView=this.getBufferView(t.bufferView)),t.bytesPerComponent=function(t){return Qj[t]}(t.componentType),t.components=function(t){return Kj[t]}(t.type),t.bytesPerElement=t.bytesPerComponent*t.components,t.bufferView){const e=t.bufferView.buffer,{ArrayType:n,byteLength:i}=dj(t,t.bufferView),r=(t.bufferView.byteOffset||0)+(t.byteOffset||0)+e.byteOffset,s=e.arrayBuffer.slice(r,r+i);t.value=new n(s)}return t}_resolveTexture(t,e){return t.id=t.id||`texture-${e}`,t.sampler="sampler"in t?this.getSampler(t.sampler):tF,t.source=this.getImage(t.source),t}_resolveSampler(t,e){t.id=t.id||`sampler-${e}`,t.parameters={};for(const n in t){const e=this._enumSamplerParameter(n);void 0!==e&&(t.parameters[e]=t[n])}return t}_enumSamplerParameter(t){return Jj[t]}_resolveImage(t,e){t.id=t.id||`image-${e}`,void 0!==t.bufferView&&(t.bufferView=this.getBufferView(t.bufferView));const n=this.images[e];return n&&(t.image=n),t}_resolveBufferView(t,e){t.id=t.id||`bufferView-${e}`;const n=t.buffer;t.buffer=this.buffers[n];let i=this.buffers[n].byteOffset||0;return"byteOffset"in t&&(i+=t.byteOffset),t.data=new Uint8Array(this.buffers[n].arrayBuffer,i,t.byteLength),t}_resolveCamera(t,e){return t.id=t.id||`camera-${e}`,t}}function nF(t,e){return(new eF).postProcess(t,e)}const iF=1735152710,rF=!0;function sF(t,e,n,i){const r=new Uint8Array(e.buffer,n,i),s=new TextDecoder("utf8").decode(r);return t.json=JSON.parse(s),nj(i,4)}function oF(t,e,n,i){return t.header.hasBinChunk=!0,t.binChunks.push({byteOffset:n,byteLength:i,arrayBuffer:e.buffer}),nj(i,4)}function aF(t,e){return lF.apply(this,arguments)}function lF(){return(lF=PS(function*(t,e,n=0,i,r){var s,o,a,l;cF(t,e,n,i),Yj(t,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&t.json.buffers&&(yield uF(t,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const e=dF(t,i,r);c.push(e)}const u=$j(t,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?nF(t,i):t})).apply(this,arguments)}function cF(t,e,n,i){if(i.uri&&(t.baseUri=i.uri),e instanceof ArrayBuffer&&!function(t,e=0,n={}){const i=new DataView(t),{magic:r=iF}=n,s=i.getUint32(e,!1);return s===r||s===iF}(e,n,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)t.json=function(t){try{return JSON.parse(t)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(t,e=5){return"string"==typeof t?t.slice(0,e):ArrayBuffer.isView(t)?rL(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?rL(t,0,e):""}(t)}"`)}}(e);else if(e instanceof ArrayBuffer){const r={};n=function(t,e,n=0,i={}){const r=new DataView(e),s=function(t,e=0){return`${String.fromCharCode(t.getUint8(e+0))}${String.fromCharCode(t.getUint8(e+1))}${String.fromCharCode(t.getUint8(e+2))}${String.fromCharCode(t.getUint8(e+3))}`}(r,n+0),o=r.getUint32(n+4,rF),a=r.getUint32(n+8,rF);switch(Object.assign(t,{header:{byteOffset:n,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),n+=12,t.version){case 1:return function(t,e,n){tP(t.header.byteLength>20);const i=e.getUint32(n+0,rF),r=e.getUint32(n+4,rF);return n+=8,tP(0===r),sF(t,e,n,i),(n+=i)+oF(t,e,n,t.header.byteLength)}(t,r,n);case 2:return function(t,e,n,i){return tP(t.header.byteLength>20),function(t,e,n,i){for(;n+8<=t.header.byteLength;){const r=e.getUint32(n+0,rF),s=e.getUint32(n+4,rF);switch(n+=8,s){case 1313821514:sF(t,e,n,r);break;case 5130562:oF(t,e,n,r);break;case 0:i.strict||sF(t,e,n,r);break;case 1:i.strict||oF(t,e,n,r)}n+=nj(r,4)}}(t,e,n,{}),n+t.header.byteLength}(t,r,n);default:throw new Error(`Invalid GLB version ${t.version}. Only supports v1 and v2.`)}}(r,e,n,i.glb),sL("glTF"===r.type,`Invalid GLB magic string ${r.type}`),t._glb=r,t.json=r.json}else sL(!1,"GLTF: must be ArrayBuffer or string");if(t.buffers=new Array((t.json.buffers||[]).length).fill(null),t._glb&&t._glb.header.hasBinChunk){const{binChunks:e}=t._glb;t.buffers[0]={arrayBuffer:e[0].arrayBuffer,byteOffset:e[0].byteOffset,byteLength:e[0].byteLength}}t.images=new Array((t.json.images||[]).length).fill({})}function uF(t,e,n){return hF.apply(this,arguments)}function hF(){return(hF=PS(function*(t,e,n){for(let s=0;s{t.traverse(t=>{Object.values(t.model.getUniforms()).forEach(t=>{!1===t.loaded&&e.push(t)})})}),yield vF(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function vF(t){return _F.apply(this,arguments)}function _F(){return(_F=PS(function*(t){for(;t();)yield new Promise(t=>requestAnimationFrame(t))})).apply(this,arguments)}const wF=[255,255,255,255],xF={scenegraph:{type:"object",value:null,async:!0},getScene:t=>t&&t.scenes?"object"==typeof t.scene?t.scene:t.scenes[t.scene||0]:t,getAnimator:t=>t&&t.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:wF},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[mF]};let SF=(()=>{class t extends eM{getShaders(){const t=[pR,gR];return"pbr"===this.props._lighting&&t.push(vN),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:wF,transition:!0},instanceModelMatrix:pN})}updateState(t){super.updateState(t);const{props:e,oldProps:n}=t;e.scenegraph!==n.scenegraph?this._updateScenegraph(e):e._animations!==n._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,e._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:e}=this.context;let n=null;if(t.scenegraph instanceof _N)n={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const i=t.scenegraph,r=function(t,e,n){const i=new iL(t,n);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(e,i,this._getModelOptions());n=vt({gltf:i},r),function(t){return yF.apply(this,arguments)}(r).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Gw.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),n=t.scenegraph);const i={layer:this,gl:e},r=t.getScene(n,i),s=t.getAnimator(n,i);r instanceof _N?(this._deleteScenegraph(),this._applyAllAttributes(r),this._applyAnimationsProp(r,s,t._animations),this.setState({scenegraph:r,animator:s})):null!==r&&Gw.warn("invalid scenegraph:",r)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const e=this.getAttributeManager().getAttributes();t.traverse(t=>{this._setModelAttributes(t.model,e)})}}_applyAnimationsProp(t,e,n){if(!t||!e||!n)return;const i=e.getAnimations();Object.keys(n).sort().forEach(t=>{const e=n[t];if("*"===t)i.forEach(t=>{Object.assign(t,e)});else if(Number.isFinite(Number(t))){const n=Number(t);n>=0&&ne===t);n?Object.assign(n,e):Gw.warn("animation ".concat(t," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof _N&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let e=null;return t&&(e="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:e,modelOptions:vt({isInstanced:!0,transpileToGLSL100:!Zw(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(e=>{this._setModelAttributes(e.model,t)})}draw({moduleParameters:t=null,parameters:e={},context:n}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(n.timeline.getTime()),this.setNeedsRedraw());const{viewport:i}=this.context,{sizeScale:r,sizeMinPixels:s,sizeMaxPixels:o,opacity:a,coordinateSystem:l}=this.props,c=this.getNumInstances();this.state.scenegraph.traverse((n,{worldMatrix:u})=>{n.model.setInstanceCount(c),n.updateModuleSettings(t),n.draw({parameters:e,uniforms:{sizeScale:r,opacity:a,sizeMinPixels:s,sizeMaxPixels:o,composeModelMatrix:fN(i,l),sceneModelMatrix:u,u_Camera:n.model.getUniforms().project_uCameraPosition}})})}}return t.layerName="ScenegraphLayer",t.defaultProps=xF,t})();class CF extends bR{constructor(t={}){const{id:e=Zx("sphere-geometry")}=t,{indices:n,attributes:i}=function(t){const{nlat:e=10,nlong:n=10}=t;let{radius:i=1}=t;const r=Math.PI-0,s=2*Math.PI-0,o=(e+1)*(n+1);if("number"==typeof i){const t=i;i=(e,n,i,r,s)=>t}const a=new Float32Array(3*o),l=new Float32Array(3*o),c=new Float32Array(2*o),u=new(o>65535?Uint32Array:Uint16Array)(e*n*6);for(let d=0;d<=e;d++)for(let t=0;t<=n;t++){const o=t/n,u=d/e,h=t+d*(n+1),p=2*h,f=3*h,g=s*o,m=r*u,b=Math.sin(g),y=Math.cos(g),v=Math.sin(m),_=y*v,w=Math.cos(m),x=b*v,S=i(_,w,x,o,u);a[f+0]=S*_,a[f+1]=S*w,a[f+2]=S*x,l[f+0]=_,l[f+1]=w,l[f+2]=x,c[p+0]=o,c[p+1]=1-u}const h=n+1;for(let d=0;ds?(a=i,o=1,t=n):t=e+T/s*(n-e),(-2===T||T===s+2)&&(t=0,o=0),a-=i/2;for(let e=0;es?0:n*g,S[E+w[1]]=T<0?-1:T>s?1:m,S[E+w[2]]=T<0||T>s?0:i*g,C[O+0]=e/r,C[O+1]=o,O+=2,E+=3}}for(let T=0;T0){const t=1/i;this.x*=t,this.y*=t,this.z*=t}else this.x=0,this.y=0,this.z=0;return i}unit(t=new jF){const e=this.x,n=this.y,i=this.z;let r=Math.sqrt(e*e+n*n+i*i);return r>0?(r=1/r,t.x=e*r,t.y=n*r,t.z=i*r):(t.x=1,t.y=0,t.z=0),t}length(){const t=this.x,e=this.y,n=this.z;return Math.sqrt(t*t+e*e+n*n)}lengthSquared(){return this.dot(this)}distanceTo(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,o=t.z;return Math.sqrt((r-e)*(r-e)+(s-n)*(s-n)+(o-i)*(o-i))}distanceSquared(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,o=t.z;return(r-e)*(r-e)+(s-n)*(s-n)+(o-i)*(o-i)}scale(t,e=new jF){const n=this.y,i=this.z;return e.x=t*this.x,e.y=t*n,e.z=t*i,e}vmul(t,e=new jF){return e.x=t.x*this.x,e.y=t.y*this.y,e.z=t.z*this.z,e}addScaledVector(t,e,n=new jF){return n.x=this.x+t*e.x,n.y=this.y+t*e.y,n.z=this.z+t*e.z,n}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(t=new jF){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t}tangents(t,e){const n=this.length();if(n>0){const i=FF,r=1/n;i.set(this.x*r,this.y*r,this.z*r);const s=BF;Math.abs(i.x)<.9?(s.set(1,0,0),i.cross(s,t)):(s.set(0,1,0),i.cross(s,t)),i.cross(t,e)}else t.set(1,0,0),e.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}lerp(t,e,n){const i=this.x,r=this.y,s=this.z;n.x=i+(t.x-i)*e,n.y=r+(t.y-r)*e,n.z=s+(t.z-s)*e}almostEquals(t,e=1e-6){return!(Math.abs(this.x-t.x)>e||Math.abs(this.y-t.y)>e||Math.abs(this.z-t.z)>e)}almostZero(t=1e-6){return!(Math.abs(this.x)>t||Math.abs(this.y)>t||Math.abs(this.z)>t)}isAntiparallelTo(t,e){return this.negate(VF),VF.almostEquals(t,e)}clone(){return new jF(this.x,this.y,this.z)}}jF.ZERO=void 0,jF.UNIT_X=void 0,jF.UNIT_Y=void 0,jF.UNIT_Z=void 0,jF.ZERO=new jF(0,0,0),jF.UNIT_X=new jF(1,0,0),jF.UNIT_Y=new jF(0,1,0),jF.UNIT_Z=new jF(0,0,1);const FF=new jF,BF=new jF,VF=new jF;class zF{constructor(t={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new jF,this.upperBound=new jF,t.lowerBound&&this.lowerBound.copy(t.lowerBound),t.upperBound&&this.upperBound.copy(t.upperBound)}setFromPoints(t,e,n,i){const r=this.lowerBound,s=this.upperBound,o=n;r.copy(t[0]),o&&o.vmult(r,r),s.copy(r);for(let a=1;as.x&&(s.x=e.x),e.xs.y&&(s.y=e.y),e.ys.z&&(s.z=e.z),e.z=r.x&&e.y<=i.y&&n.y>=r.y&&e.z<=i.z&&n.z>=r.z}getCorners(t,e,n,i,r,s,o,a){const l=this.lowerBound,c=this.upperBound;t.copy(l),e.set(c.x,l.y,l.z),n.set(c.x,c.y,l.z),i.set(l.x,c.y,c.z),r.set(c.x,l.y,c.z),s.set(l.x,c.y,l.z),o.set(l.x,l.y,c.z),a.copy(c)}toLocalFrame(t,e){const n=HF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(let i=0;8!==i;i++){const e=n[i];t.pointToLocal(e,e)}return e.setFromPoints(n)}toWorldFrame(t,e){const n=HF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(let i=0;8!==i;i++){const e=n[i];t.pointToWorld(e,e)}return e.setFromPoints(n)}overlapsRay(t){const{direction:e,from:n}=t,i=1/e.x,r=1/e.y,s=1/e.z,o=(this.lowerBound.x-n.x)*i,a=(this.upperBound.x-n.x)*i,l=(this.lowerBound.y-n.y)*r,c=(this.upperBound.y-n.y)*r,u=(this.lowerBound.z-n.z)*s,h=(this.upperBound.z-n.z)*s,d=Math.max(Math.max(Math.min(o,a),Math.min(l,c)),Math.min(u,h)),p=Math.min(Math.min(Math.max(o,a),Math.max(l,c)),Math.max(u,h));return!(p<0||d>p)}}const UF=new jF,HF=[new jF,new jF,new jF,new jF,new jF,new jF,new jF,new jF];class $F{constructor(t=0,e=0,n=0,i=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=t,this.y=e,this.z=n,this.w=i}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(t,e){const n=Math.sin(.5*e);return this.x=t.x*n,this.y=t.y*n,this.z=t.z*n,this.w=Math.cos(.5*e),this}toAxisAngle(t=new jF){this.normalize();const e=2*Math.acos(this.w),n=Math.sqrt(1-this.w*this.w);return n<.001?(t.x=this.x,t.y=this.y,t.z=this.z):(t.x=this.x/n,t.y=this.y/n,t.z=this.z/n),[t,e]}setFromVectors(t,e){if(t.isAntiparallelTo(e)){const e=GF;t.tangents(e,WF),this.setFromAxisAngle(e,Math.PI)}else{const n=t.cross(e);this.x=n.x,this.y=n.y,this.z=n.z,this.w=Math.sqrt(Yr(t.length(),2)*Yr(e.length(),2))+t.dot(e),this.normalize()}return this}mult(t,e=new $F){const n=this.x,i=this.y,r=this.z,s=this.w,o=t.x,a=t.y,l=t.z,c=t.w;return e.x=n*c+s*o+i*l-r*a,e.y=i*c+s*a+r*o-n*l,e.z=r*c+s*l+n*a-i*o,e.w=s*c-n*o-i*a-r*l,e}inverse(t=new $F){const e=this.x,n=this.y,i=this.z,r=this.w;this.conjugate(t);const s=1/(e*e+n*n+i*i+r*r);return t.x*=s,t.y*=s,t.z*=s,t.w*=s,t}conjugate(t=new $F){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t.w=this.w,t}normalize(){let t=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===t?(this.x=0,this.y=0,this.z=0,this.w=0):(t=1/t,this.x*=t,this.y*=t,this.z*=t,this.w*=t),this}normalizeFast(){const t=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===t?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=t,this.y*=t,this.z*=t,this.w*=t),this}vmult(t,e=new jF){const n=t.x,i=t.y,r=t.z,s=this.x,o=this.y,a=this.z,l=this.w,c=l*n+o*r-a*i,u=l*i+a*n-s*r,h=l*r+s*i-o*n,d=-s*n-o*i-a*r;return e.x=c*l+d*-s+u*-a-h*-o,e.y=u*l+d*-o+h*-s-c*-a,e.z=h*l+d*-a+c*-o-u*-s,e}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this}toEuler(t,e="YZX"){let n,i,r;const s=this.x,o=this.y,a=this.z,l=this.w;switch(e){case"YZX":const t=s*o+a*l;if(t>.499&&(n=2*Math.atan2(s,l),i=Math.PI/2,r=0),t<-.499&&(n=-2*Math.atan2(s,l),i=-Math.PI/2,r=0),void 0===n){const e=s*s,c=a*a;n=Math.atan2(2*o*l-2*s*a,1-o*o*2-2*c),i=Math.asin(2*t),r=Math.atan2(2*s*l-2*o*a,1-2*e-2*c)}break;default:throw new Error("Euler order "+e+" not supported yet.")}t.y=n,t.z=i,t.x=r}setFromEuler(t,e,n,i="XYZ"){const r=Math.cos(t/2),s=Math.cos(e/2),o=Math.cos(n/2),a=Math.sin(t/2),l=Math.sin(e/2),c=Math.sin(n/2);return"XYZ"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o-a*l*c):"YXZ"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o+a*l*c):"ZXY"===i?(this.x=a*s*o-r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o-a*l*c):"ZYX"===i?(this.x=a*s*o-r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o+a*l*c):"YZX"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o-a*l*c):"XZY"===i&&(this.x=a*s*o-r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o+a*l*c),this}clone(){return new $F(this.x,this.y,this.z,this.w)}slerp(t,e,n=new $F){const i=this.x,r=this.y,s=this.z,o=this.w;let a,l,c,u,h,d=t.x,p=t.y,f=t.z,g=t.w;return l=i*d+r*p+s*f+o*g,l<0&&(l=-l,d=-d,p=-p,f=-f,g=-g),1-l>1e-6?(a=Math.acos(l),c=Math.sin(a),u=Math.sin((1-e)*a)/c,h=Math.sin(e*a)/c):(u=1-e,h=e),n.x=u*i+h*d,n.y=u*r+h*p,n.z=u*s+h*f,n.w=u*o+h*g,n}integrate(t,e,n,i=new $F){const r=t.x*n.x,s=t.y*n.y,o=t.z*n.z,a=this.x,l=this.y,c=this.z,u=this.w,h=.5*e;return i.x+=h*(r*u+s*c-o*l),i.y+=h*(s*u+o*a-r*c),i.z+=h*(o*u+r*l-s*a),i.w+=h*(-r*a-s*l-o*c),i}}const GF=new jF,WF=new jF,qF={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let XF=(()=>{class t{constructor(e={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=t.idCounter++,this.type=e.type||0,this.boundingSphereRadius=0,this.collisionResponse=!e.collisionResponse||e.collisionResponse,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:1,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.material=e.material?e.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,e){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,e,n,i){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return t.idCounter=0,t.types=qF,t})();class YF{constructor(t={}){this.position=void 0,this.quaternion=void 0,this.position=new jF,this.quaternion=new $F,t.position&&this.position.copy(t.position),t.quaternion&&this.quaternion.copy(t.quaternion)}pointToLocal(t,e){return YF.pointToLocalFrame(this.position,this.quaternion,t,e)}pointToWorld(t,e){return YF.pointToWorldFrame(this.position,this.quaternion,t,e)}vectorToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e}static pointToLocalFrame(t,e,n,i=new jF){return n.vsub(t,i),e.conjugate(KF),KF.vmult(i,i),i}static pointToWorldFrame(t,e,n,i=new jF){return e.vmult(n,i),i.vadd(t,i),i}static vectorToWorldFrame(t,e,n=new jF){return t.vmult(e,n),n}static vectorToLocalFrame(t,e,n,i=new jF){return e.w*=-1,e.vmult(n,i),e.w*=-1,i}}const KF=new $F;class QF extends XF{constructor(t={}){const{vertices:e=[],faces:n=[],normals:i=[],axes:r,boundingSphereRadius:s}=t;super({type:XF.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=e,this.faces=n,this.faceNormals=i,0===this.faceNormals.length&&this.computeNormals(),s?this.boundingSphereRadius=s:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=r?r.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const t=this.faces,e=this.vertices,n=this.uniqueEdges;n.length=0;const i=new jF;for(let r=0;r!==t.length;r++){const s=t[r],o=s.length;for(let t=0;t!==o;t++){e[s[t]].vsub(e[s[(t+1)%o]],i),i.normalize();let r=!1;for(let t=0;t!==n.length;t++)if(n[t].almostEquals(i)||n[t].almostEquals(i)){r=!0;break}r||n.push(i.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let t=0;th&&(h=t,u=p)}const d=[];for(let p=0;p=0&&this.clipFaceAgainstHull(s,t,e,d,o,a,l)}findSeparatingAxis(t,e,n,i,r,s,o,a){const l=new jF,c=new jF,u=new jF,h=new jF,d=new jF,p=new jF;let f=Number.MAX_VALUE;const g=this;if(g.uniqueAxes)for(let m=0;m!==g.uniqueAxes.length;m++){n.vmult(g.uniqueAxes[m],l);const o=g.testSepAxis(l,t,e,n,i,r);if(!1===o)return!1;o0&&s.negate(s),!0}testSepAxis(t,e,n,i,r,s){QF.project(this,t,n,i,ZF),QF.project(e,t,r,s,JF);const o=ZF[0],a=ZF[1],l=JF[0],c=JF[1];if(o0?1/e:0,this.material=t.material||null,this.linearDamping="number"==typeof t.linearDamping?t.linearDamping:.01,this.type=e<=0?sB.STATIC:sB.DYNAMIC,typeof t.type==typeof sB.STATIC&&(this.type=t.type),this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.sleepState=sB.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new jF,this.quaternion=new $F,this.initQuaternion=new $F,this.previousQuaternion=new $F,this.interpolatedQuaternion=new $F,t.quaternion&&(this.quaternion.copy(t.quaternion),this.initQuaternion.copy(t.quaternion),this.previousQuaternion.copy(t.quaternion),this.interpolatedQuaternion.copy(t.quaternion)),this.angularVelocity=new jF,t.angularVelocity&&this.angularVelocity.copy(t.angularVelocity),this.initAngularVelocity=new jF,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new jF,this.invInertia=new jF,this.invInertiaWorld=new NF,this.invMassSolve=0,this.invInertiaSolve=new jF,this.invInertiaWorldSolve=new NF,this.fixedRotation=void 0!==t.fixedRotation&&t.fixedRotation,this.angularDamping=void 0!==t.angularDamping?t.angularDamping:.01,this.linearFactor=new jF(1,1,1),t.linearFactor&&this.linearFactor.copy(t.linearFactor),this.angularFactor=new jF(1,1,1),t.angularFactor&&this.angularFactor.copy(t.angularFactor),this.aabb=new zF,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new jF,this.isTrigger=Boolean(t.isTrigger),t.shape&&this.addShape(t.shape),this.updateMassProperties()}wakeUp(){const t=this.sleepState;this.sleepState=sB.AWAKE,this.wakeUpAfterNarrowphase=!1,t===sB.SLEEPING&&this.dispatchEvent(sB.wakeupEvent)}sleep(){this.sleepState=sB.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(t){if(this.allowSleep){const e=this.sleepState,n=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),i=Yr(this.sleepSpeedLimit,2);e===sB.AWAKE&&ni?this.wakeUp():e===sB.SLEEPY&&t-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(sB.sleepEvent))}}updateSolveMassProperties(){this.sleepState===sB.SLEEPING||this.type===sB.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(t,e=new jF){return t.vsub(this.position,e),this.quaternion.conjugate().vmult(e,e),e}vectorToLocalFrame(t,e=new jF){return this.quaternion.conjugate().vmult(t,e),e}pointToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e.vadd(this.position,e),e}vectorToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e}addShape(t,e,n){const i=new jF,r=new $F;return e&&i.copy(e),n&&r.copy(n),this.shapes.push(t),this.shapeOffsets.push(i),this.shapeOrientations.push(r),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,t.body=this,this}removeShape(t){const e=this.shapes.indexOf(t);return-1===e?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(e,1),this.shapeOffsets.splice(e,1),this.shapeOrientations.splice(e,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,t.body=null,this)}updateBoundingRadius(){const t=this.shapes,e=this.shapeOffsets,n=t.length;let i=0;for(let r=0;r!==n;r++){const n=t[r];n.updateBoundingSphereRadius();const s=e[r].length(),o=n.boundingSphereRadius;s+o>i&&(i=s+o)}this.boundingRadius=i}updateAABB(){const t=this.shapes,e=this.shapeOffsets,n=this.shapeOrientations,i=t.length,r=oB,s=aB,o=this.quaternion,a=this.aabb,l=lB;for(let c=0;c!==i;c++){const i=t[c];o.vmult(e[c],r),r.vadd(this.position,r),o.mult(n[c],s),i.calculateWorldAABB(r,s,l.lowerBound,l.upperBound),0===c?a.copy(l):a.extend(l)}this.aabbNeedsUpdate=!1}updateInertiaWorld(t){const e=this.invInertia;if(e.x!==e.y||e.y!==e.z||t){const t=cB,n=uB;t.setRotationFromQuaternion(this.quaternion),t.transpose(n),t.scale(e,t),t.mmult(n,this.invInertiaWorld)}}applyForce(t,e=new jF){if(this.type!==sB.DYNAMIC)return;this.sleepState===sB.SLEEPING&&this.wakeUp();const n=hB;e.cross(t,n),this.force.vadd(t,this.force),this.torque.vadd(n,this.torque)}applyLocalForce(t,e=new jF){if(this.type!==sB.DYNAMIC)return;const n=dB,i=pB;this.vectorToWorldFrame(t,n),this.vectorToWorldFrame(e,i),this.applyForce(n,i)}applyTorque(t){this.type===sB.DYNAMIC&&(this.sleepState===sB.SLEEPING&&this.wakeUp(),this.torque.vadd(t,this.torque))}applyImpulse(t,e=new jF){if(this.type!==sB.DYNAMIC)return;this.sleepState===sB.SLEEPING&&this.wakeUp();const n=e,i=fB;i.copy(t),i.scale(this.invMass,i),this.velocity.vadd(i,this.velocity);const r=gB;n.cross(t,r),this.invInertiaWorld.vmult(r,r),this.angularVelocity.vadd(r,this.angularVelocity)}applyLocalImpulse(t,e=new jF){if(this.type!==sB.DYNAMIC)return;const n=mB,i=bB;this.vectorToWorldFrame(t,n),this.vectorToWorldFrame(e,i),this.applyImpulse(n,i)}updateMassProperties(){const t=yB;this.invMass=this.mass>0?1/this.mass:0;const e=this.inertia,n=this.fixedRotation;this.updateAABB(),t.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),nB.calculateInertia(t,this.mass,e),this.invInertia.set(e.x>0&&!n?1/e.x:0,e.y>0&&!n?1/e.y:0,e.z>0&&!n?1/e.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(t,e){const n=new jF;return t.vsub(this.position,n),this.angularVelocity.cross(n,e),this.velocity.vadd(e,e),e}integrate(t,e,n){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==sB.DYNAMIC&&this.type!==sB.KINEMATIC||this.sleepState===sB.SLEEPING)return;const i=this.velocity,r=this.angularVelocity,s=this.position,o=this.force,a=this.torque,l=this.quaternion,c=this.invInertiaWorld,u=this.linearFactor,h=this.invMass*t;i.x+=o.x*h*u.x,i.y+=o.y*h*u.y,i.z+=o.z*h*u.z;const d=c.elements,p=this.angularFactor,f=a.x*p.x,g=a.y*p.y,m=a.z*p.z;r.x+=t*(d[0]*f+d[1]*g+d[2]*m),r.y+=t*(d[3]*f+d[4]*g+d[5]*m),r.z+=t*(d[6]*f+d[7]*g+d[8]*m),s.x+=i.x*t,s.y+=i.y*t,s.z+=i.z*t,l.integrate(this.angularVelocity,t,this.angularFactor,l),e&&(n?l.normalizeFast():l.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}sB.idCounter=0,sB.COLLIDE_EVENT_NAME="collide",sB.DYNAMIC=1,sB.STATIC=2,sB.KINEMATIC=4,sB.AWAKE=0,sB.SLEEPY=1,sB.SLEEPING=2,sB.wakeupEvent={type:"wakeup"},sB.sleepyEvent={type:"sleepy"},sB.sleepEvent={type:"sleep"};const oB=new jF,aB=new $F,lB=new zF,cB=new NF,uB=new NF,hB=new jF,dB=new jF,pB=new jF,fB=new jF,gB=new jF,mB=new jF,bB=new jF,yB=new jF;new jF,new jF;class vB{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new jF,this.rayToWorld=new jF,this.hitNormalWorld=new jF,this.hitPointWorld=new jF,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(t,e,n,i,r,s,o){this.rayFromWorld.copy(t),this.rayToWorld.copy(e),this.hitNormalWorld.copy(n),this.hitPointWorld.copy(i),this.shape=r,this.body=s,this.distance=o}}let _B,wB,xB,SB,CB,EB,OB;_B=XF.types.SPHERE,wB=XF.types.PLANE,xB=XF.types.BOX,SB=XF.types.CYLINDER,CB=XF.types.CONVEXPOLYHEDRON,EB=XF.types.HEIGHTFIELD,OB=XF.types.TRIMESH;class TB{get[_B](){return this._intersectSphere}get[wB](){return this._intersectPlane}get[xB](){return this._intersectBox}get[SB](){return this._intersectConvex}get[CB](){return this._intersectConvex}get[EB](){return this._intersectHeightfield}get[OB](){return this._intersectTrimesh}constructor(t=new jF,e=new jF){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=t.clone(),this.to=e.clone(),this.direction=new jF,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=TB.ANY,this.result=new vB,this.hasHit=!1,this.callback=t=>{}}intersectWorld(t,e){return this.mode=e.mode||TB.ANY,this.result=e.result||new vB,this.skipBackfaces=!!e.skipBackfaces,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===e.checkCollisionResponse||e.checkCollisionResponse,e.from&&this.from.copy(e.from),e.to&&this.to.copy(e.to),this.callback=e.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(kB),PB.length=0,t.broadphase.aabbQuery(t,kB,PB),this.intersectBodies(PB),this.hasHit}intersectBody(t,e){e&&(this.result=e,this.updateDirection());const n=this.checkCollisionResponse;if(n&&!t.collisionResponse||0==(this.collisionFilterGroup&t.collisionFilterMask)||0==(t.collisionFilterGroup&this.collisionFilterMask))return;const i=IB,r=DB;for(let s=0,o=t.shapes.length;st.boundingSphereRadius)return;const r=this[t.type];r&&r.call(this,t,e,n,i,t)}_intersectBox(t,e,n,i,r){return this._intersectConvex(t.convexPolyhedronRepresentation,e,n,i,r)}_intersectPlane(t,e,n,i,r){const s=this.from,o=this.to,a=this.direction,l=new jF(0,0,1);e.vmult(l,l);const c=new jF;s.vsub(n,c);const u=c.dot(l);if(o.vsub(n,c),u*c.dot(l)>0||s.distanceTo(o)=0&&t<=1&&(s.lerp(o,t,d),d.vsub(n,p),p.normalize(),this.reportIntersection(p,d,r,i,-1)),this.result.shouldStop)return;e>=0&&e<=1&&(s.lerp(o,e,d),d.vsub(n,p),p.normalize(),this.reportIntersection(p,d,r,i,-1))}}_intersectConvex(t,e,n,i,r,s){const o=$B,a=GB,l=s&&s.faceList||null,c=t.faces,u=t.vertices,h=t.faceNormals,d=this.direction,p=this.from,f=p.distanceTo(this.to),g=l?l.length:c.length,m=this.result;for(let b=0;!m.shouldStop&&bf||this.reportIntersection(o,RB,r,i,t)}}}}_intersectTrimesh(t,e,n,i,r,s){const o=WB,a=ZB,l=JB,c=GB,u=qB,h=XB,d=YB,p=QB,f=KB,g=t.indices,m=this.from,b=this.to,y=this.direction;l.position.copy(n),l.quaternion.copy(e),YF.vectorToLocalFrame(n,e,y,u),YF.pointToLocalFrame(n,e,m,h),YF.pointToLocalFrame(n,e,b,d),d.x*=t.scale.x,d.y*=t.scale.y,d.z*=t.scale.z,h.x*=t.scale.x,h.y*=t.scale.y,h.z*=t.scale.z,d.vsub(h,u),u.normalize();const v=h.distanceSquared(d);t.tree.rayQuery(this,l,a);for(let _=0,w=a.length;!this.result.shouldStop&&_!==w;_++){const s=a[_];t.getNormal(s,o),t.getVertex(g[3*s],NB),NB.vsub(h,c);const l=u.dot(o),d=o.dot(c)/l;if(d<0)continue;u.scale(d,RB),RB.vadd(h,RB),t.getVertex(g[3*s+1],LB),t.getVertex(g[3*s+2],jB);const m=RB.distanceSquared(h);!TB.pointInTriangle(RB,LB,NB,jB)&&!TB.pointInTriangle(RB,NB,LB,jB)||m>v||(YF.vectorToWorldFrame(e,o,f),YF.pointToWorldFrame(n,e,RB,p),this.reportIntersection(f,p,r,i,s))}a.length=0}reportIntersection(t,e,n,i,r){const s=this.from,o=this.to,a=s.distanceTo(e),l=this.result;if(!(this.skipBackfaces&&t.dot(this.direction)>0))switch(l.hitFaceIndex=void 0!==r?r:-1,this.mode){case TB.ALL:this.hasHit=!0,l.set(s,o,t,e,n,i,a),l.hasHit=!0,this.callback(l);break;case TB.CLOSEST:(a=0&&(u=r*l-s*o)>=0&&c+uDate.now()-t}var PV=n(24517);function AV(t,e,n){e||(e=new VT(VT.IDENTITY));const i=new VT(VT.IDENTITY);if(!t)return!0;if(t.matrix)i.copy(t.matrix);else{if(i.identity(),t.translation&&i.translate(t.translation),t.rotation){const e=new VT(VT.IDENTITY).fromQuaternion(t.rotation);i.multiplyRight(e)}t.scale&&i.scale(t.scale)}const r=new VT(e).multiplyRight(i);if(!1===n(t,r,e))return!1;for(const s of t.nodes||t.children||[])if(!1===AV(s,r,n))return!1;return!0}function MV(){DA([lL,mF])}function IV(t,e){var n;const i=null===(n=e.nodes)||void 0===n?void 0:n.find(e=>e.name===t);if(i){let n=!1;for(const t of e.scenes)n||AV(t,new VT(VT.IDENTITY),(t,e)=>t!==i||(t.matrix=e,t.translation=void 0,t.rotation=void 0,t.scale=void 0,n=!0,!1));return e.scene={id:t,name:t,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function DV(t,e){return xw(this,void 0,void 0,function*(){const n=t.scenegraph;let i;i=e?e[n]||(e[n]=fetch(n).then(t=>t.blob())):fetch(n);const r=yield $A(i,mF,{DracoLoader:tj,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",n,r),IV(t.scenegraphNode,r)})}function RV(t,e){return xw(this,void 0,void 0,function*(){return IV(t,yield e)})}function NV(t,e,n){if(e&&0!==e.length){let i;switch(n.geometry){case"sphere":i=new CF;break;case"cone":i=new TF;break;case"cylinder":i=new kF;break;case"cube":default:i=new RF}return new yN(Object.assign({id:t,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:Ww.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:t=>t.transformMatrix,getColor:t=>t.color||[255,255,255,229.5]},n))}}function LV(t,e,n){if(e&&0!==e.length)return new eN(Object.assign({id:t,pickable:!0,data:e.map(t=>Object.assign(Object.assign({},t),{position:new VT(t.transformMatrix).getTranslation()})),getText:t=>t.text,getPosition:t=>t.position,getColor:t=>t.color},n))}let jV=(()=>{class t extends nM{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),MV()}renderLayers(){var e,n;const i=this.state,r={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const t of i.data){const n=null!==(e=t.geometry)&&void 0!==e?e:"cube";t.scenegraph?r.scenegraph.push(t):void 0!==r[n]&&r[n].push(t)}const s={};for(const a of r.scenegraph)a.scenegraph&&a.scenegraphNode&&!Object.prototype.hasOwnProperty.call(s,a.scenegraph)&&(s[a.scenegraph]=DV({scenegraph:a.scenegraph},t.gltfCache));const o=[];for(const[t,a]of Object.entries(r))if("scenegraph"===t)for(const e of a)o.push(new SF({id:"models-"+e["@id"],opacity:e.zoomBasedOpacity?i.zoomOpacity:void 0!==e.opacity?e.opacity:1,pickable:!e.unpickable,coordinateSystem:Ww.CARTESIAN,data:[e],scenegraph:e.scenegraphNode?RV(e.scenegraphNode,s[e.scenegraph]):e.scenegraph,_lighting:e._lighting,getTransformMatrix:e.transformMatrix,getColor:null!==(n=e.color)&&void 0!==n?n:[0,255,0,127.5],parameters:{depthMask:!e.zoomBasedOpacity&&(void 0===e.opacity||1===e.opacity)}}));else"text"===t?(o.push(LV("text",a.filter(t=>t.unpickable),{pickable:!1})),o.push(LV("textPickable",a.filter(t=>!t.unpickable),{pickable:!0}))):"wireframe"===t?o.push(NV(t,a,{wireframe:!0,pickable:!1,geometry:t})):(o.push(NV(t,a.filter(t=>t.unpickable),{wireframe:!1,pickable:!1,geometry:t})),o.push(NV(`${t}Pickable`,a.filter(t=>!t.unpickable),{wireframe:!1,pickable:!0,geometry:t})));return i.doCollisions&&function(t){xw(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=t.filter(t=>!t.scenegraph&&"wireframe"!==t.geometry).map(t=>{const e=new VT(t.transformMatrix),n=e.transformAsPoint([-1,-1,-1],[]),i=e.transformAsPoint([1,1,1],[]);return{"@id":t["@id"],name:t.tooltip,entityId:t.entityId,bbox:new zF({lowerBound:new jF(...n.map((t,e)=>Math.min(t,i[e]))),upperBound:new jF(...i.map((t,e)=>Math.max(t,n[e])))})}}),n=[];for(const o of t.filter(t=>!!t.scenegraph)){const t=yield XA(o.scenegraph,mF,{DracoLoader:tj,decompress:!0,postProcess:!0});for(const e of t.scenes)AV(e,new VT(o.transformMatrix),(e,i)=>{if(e.mesh&&e.mesh.primitives&&e.mesh.primitives.length>0)for(const r of e.mesh.primitives)if(r.attributes.POSITION&&r.attributes.POSITION.min){const s=i.transformAsPoint(r.attributes.POSITION.min,[]),a=i.transformAsPoint(r.attributes.POSITION.max,[]);n.push({"@id":o["@id"],name:e.name,entityId:o.entityId,bbox:new zF({lowerBound:new jF(...s.map((t,e)=>Math.min(t,a[e]))),upperBound:new jF(...a.map((t,e)=>Math.max(t,s[e])))}),gltf:t})}return!0})}const i=[],r=[];for(const t of e){const e=[];for(const i of n)t.bbox.overlaps(i.bbox)&&e.push({"@id":i["@id"],name:i.name});e.length>0?i.push({"@id":t.entityId,name:t.name,hits:e}):r.push(t)}console.log({sourceBoxes:e,targetBoxes:n,report:i,sad:r,maxHits:Math.max(...i.map(t=>t.hits.length))});const s=[];for(const t of i){s.push({"Tissue ID":t["@id"],"Tissue Name":t.name,"Hit ID":"","Hit Name":""});for(const e of t.hits)s.push({"Tissue ID":t["@id"],"Tissue Name":t.name,"Hit ID":e["@id"],"Hit Name":e.name})}return console.log(s),i})}(i.data),o.filter(t=>!!t)}getPickingInfo(t){return t.info}}return t.layerName="BodyUILayer",t.gltfCache={},t})();function FV(t,e=[]){for(const n of t.nodes||t.children||[])e.push(n.name),FV(n,e);return e}let BV=(()=>{class t{constructor(t){var e,n,i,r,s;this.deckProps=t,this.bodyUILayer=new jV({}),this.nodeClickSubject=new A,this.nodeHoverStartSubject=new A,this.nodeHoverStopSubject=new A,this.sceneRotationSubject=new Jf([0,0]),this.nodeDragStartSubject=new A,this.nodeDragSubject=new A,this.nodeDragEndSubject=new A,this.nodeClick$=this.nodeClickSubject.pipe(at()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(at()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(at()),this.sceneRotation$=this.sceneRotationSubject.pipe(at()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(at()),this.nodeDrag$=this.nodeDragSubject.pipe(at()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(at());const o=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new IM({flipY:!1,near:-1e3}):new LM({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:t=>{var e;return null!==(e=this.cursor)&&void 0!==e?e:t.isDragging?"grabbing":"grab"}});t.legacyLighting&&(o.effects=[new cI({ambientLight:new VM({color:[255,255,255],intensity:10})})]),this.deck=new dR(o),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(e=t.minRotationX)&&void 0!==e?e:-15,maxRotationX:null!==(n=t.maxRotationX)&&void 0!==n?n:15,target:null!==(i=t.target)&&void 0!==i?i:[.5,.5,0],rotationX:0,rotationOrbit:null!==(r=t.rotation)&&void 0!==r?r:0,zoom:null!==(s=t.zoom)&&void 0!==s?s:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return xw(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let e=this.bodyUILayer.state.zoomOpacity,n=!1;for(const i of t)i.zoomToOnLoad&&(this.zoomTo(i),n=!0);e=n?.05:e,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,e):this.bodyUILayer.setState({data:t,zoomOpacity:e})}}debugSceneNodeProcessing(t,e){const n="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",i=new VT([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(t,e,n,i){return xw(this,void 0,void 0,function*(){MV();const n=yield DV({scenegraph:t,scenegraphNode:"VHF_Kidney_L_Low1"},undefined),i={},r=[];for(const s of n.scenes)AV(s,e=new VT(e||VT.IDENTITY),(n,s)=>{const o={"@id":n.name||n.id,"@type":"ProcessedNode",transformMatrix:new VT(s),geometry:"wireframe",node:n};if(r.push({"@id":`GLTF:${o["@id"]}`,"@type":"GLTFNode",scenegraph:t,scenegraphNode:o["@id"],transformMatrix:new VT(e||VT.IDENTITY),tooltip:n.name||n.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:n}),n.mesh&&n.mesh.primitives&&n.mesh.primitives.length>0)for(const t of n.mesh.primitives)if(t.attributes.POSITION&&t.attributes.POSITION.min){const e=s.transformAsPoint(t.attributes.POSITION.min,[]),n=s.transformAsPoint(t.attributes.POSITION.max,[]);o.bbox=new zF({lowerBound:new jF(...e.map((t,e)=>Math.min(t,n[e]))),upperBound:new jF(...n.map((t,n)=>Math.max(t,e[n])))})}return i[o["@id"]]=o,!0});for(const t of Object.values(i).filter(t=>!t.bbox)){for(const e of FV(t.node).map(t=>i[t]).filter(t=>t.bbox))t.bbox?t.bbox.extend(e.bbox):t.bbox=e.bbox.clone();t.bbox||delete i[t["@id"]]}for(const t of Object.values(i)){const e=t.bbox.lowerBound,n=(t.size=t.bbox.upperBound.clone().vsub(e)).clone().vmul(new jF(.5,.5,.5)),i=t.center=e.clone().vadd(n);t.transformMatrix=new VT(VT.IDENTITY).translate(i.toArray()).scale(n.toArray())}for(const t of r)i[t["@id"]]=t;return i})})(n,i).then(r=>{console.log("results",r),console.log("data",t),(t=t.concat(Object.values(r))).push({"@id":"TEST","@type":"TEST",scenegraph:n,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:i,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:e})})}zoomTo(t){const e=new VT(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:e.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:e}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?e!==t.object&&(e&&this.nodeHoverStopSubject.next(e),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):e&&(this.nodeHoverStopSubject.next(e),this.lastHovered=void 0)}_onClick(t,e){var n,i;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(i=null===(n=null==e?void 0:e.srcEvent)||void 0===n?void 0:n.ctrlKey)&&void 0!==i?i:void 0})}_onViewStateChange(t){var e;if(null===(e=t.interactionState)||void 0===e?void 0:e.isZooming){const e=this.bodyUILayer.state,n=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);e.zoomOpacity!==n&&this.bodyUILayer.setState({data:e.data,zoomOpacity:n})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,e){this._dragEvent(t,e,this.nodeDragStartSubject)}_onDrag(t,e){this._dragEvent(t,e,this.nodeDragSubject)}_onDragEnd(t,e){this._dragEvent(t,e,this.nodeDragEndSubject)}_dragEvent(t,e,n){var i;(null===(i=null==t?void 0:t.object)||void 0===i?void 0:i["@id"])&&n.next({node:t.object,info:t,e})}}return vw([PV.ZP],t.prototype,"_onHover",null),vw([PV.ZP],t.prototype,"_onClick",null),vw([PV.ZP],t.prototype,"_onViewStateChange",null),vw([PV.ZP],t.prototype,"_onDragStart",null),vw([PV.ZP],t.prototype,"_onDrag",null),vw([PV.ZP],t.prototype,"_onDragEnd",null),t})();function VV(t,e){return t===e}function zV(t,e,n){if(null===e||null===n||e.length!==n.length)return!1;const i=e.length;for(let r=0;r(t&&t.providers||[]).some(t=>t&&t.provide&&"MockNgModuleResolver"===t.provide.name||!1))});let $V=(()=>{class t{constructor(){this.bootstrap$=new _p(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const GV=new oi("INITIAL_STATE_TOKEN");let WV=(()=>{class t{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return t.value={},t})();const qV=new oi("Internals.StateContextFactory"),XV=new oi("Internals.StateFactory");function YV(t,e){return e?n=>n.pipe(YV((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))))):e=>e.lift(new KV(t))}class KV{constructor(t){this.project=t}call(t,e){return e.subscribe(new QV(t,this.project))}}class QV extends ${constructor(t,e){super(t),this.project=e,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(t){this.hasSubscription||this.tryNext(t)}tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this.hasSubscription=!0,this._innerSub(e)}_innerSub(t){const e=new H(this),n=this.destination;n.add(e);const i=G(t,e);i!==e&&n.add(i)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function ZV(t=null){return e=>e.lift(new JV(t))}class JV{constructor(t){this.defaultValue=t}call(t,e){return e.subscribe(new tz(t,this.defaultValue))}}class tz extends v{constructor(t,e){super(t),this.defaultValue=e,this.isEmpty=!0}_next(t){this.isEmpty=!1,this.destination.next(t)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}const ez={STATE_NAME:t=>`${t} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(t,e,n)=>`State name '${t}' from ${e} already exists in ${n}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:t=>`'${t}' class should be decorated with @Injectable() right after the @State() decorator`};let nz=(()=>{class t{constructor(t,e){this._ngZone=t,this._platformId=e,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(t){return"server"===t}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return Tu.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return Tu.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof Tu||console.warn(ez.ZONE_WARNING())}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(hu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const iz=new oi("ROOT_STATE_TOKEN"),rz=new oi("FEATURE_STATE_TOKEN"),sz=new oi("NGXS_PLUGINS"),oz=new oi("NG_TEST_MODE"),az=new oi("NG_DEV_MODE"),lz="NGXS_META",cz="NGXS_OPTIONS_META",uz="NGXS_SELECTOR_META";let hz=(()=>{class t{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=nz}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class dz{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}}const pz=new oi("NGXS_EXECUTION_STRATEGY");function fz(t){return t.constructor&&t.constructor.type?t.constructor.type:t.type}const gz=(t,e,n)=>{t=Object.assign({},t);const i=e.split("."),r=i.length-1;return i.reduce((t,e,i)=>(t[e]=i===r?n:Array.isArray(t[e])?t[e].slice():Object.assign({},t[e]),t&&t[e]),t),t},mz=(t,e)=>e.split(".").reduce((t,e)=>t&&t[e],t),bz=t=>t&&"object"==typeof t&&!Array.isArray(t),yz=(t,...e)=>{if(!e.length)return t;const n=e.shift();if(bz(t)&&bz(n))for(const i in n)bz(n[i])?(t[i]||Object.assign(t,{[i]:{}}),yz(t[i],n[i])):Object.assign(t,{[i]:n[i]});return yz(t,...e)};function vz(t){if(!t.hasOwnProperty(lz)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(t,lz,{value:e})}return _z(t)}function _z(t){return t[lz]}function wz(t){return t[uz]}function xz(t,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(t){const e=t.slice();return t=>e.reduce((t,e)=>t&&t[e],t)}(t):function(t){const e=t;let n="store."+e[0],i=0;const r=e.length;let s=n;for(;++i(t[fz(e)]=!0,t),{})}(t),r=e&&function(t){return t.reduce((t,e)=>(t[e]=!0,t),{})}(e);return function(t){return t.pipe(function(t,e){return ep(n=>{const i=fz(n.action);return t[i]&&(!e||e[n.status])})}(i,r),n())}}(t,["DISPATCHED"])}function Ez(){return D(t=>t.action)}function Oz(t){return e=>new E(n=>e.subscribe({next(e){t.leave(()=>n.next(e))},error(e){t.leave(()=>n.error(e))},complete(){t.leave(()=>n.complete())}}))}let Tz=(()=>{class t{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(pz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class kz extends A{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(t){if(this._busyPushingNext)this._itemQueue.unshift(t);else{for(this._busyPushingNext=!0,super.next(t);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let Pz=(()=>{class t extends kz{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Az=(()=>{class t extends E{constructor(t,e){super(n=>{const i=t.pipe(Oz(e)).subscribe({next:t=>n.next(t),error:t=>n.error(t),complete:()=>n.complete()});n.add(i)})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Pz),Ei(Tz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Mz=t=>(...e)=>t.shift()(...e,(...e)=>Mz(t)(...e));let Iz=(()=>{class t extends Jf{constructor(){super({})}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Dz=(()=>{class t{constructor(t,e){this._parentManager=t,this._pluginHandlers=e,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(t=>t.handle?t.handle.bind(t):t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12),Ei(sz,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Rz=(()=>{class t extends A{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Nz=(()=>{class t{constructor(t,e,n,i,r,s){this._injector=t,this._actions=e,this._actionResults=n,this._pluginManager=i,this._stateStream=r,this._ngxsExecutionStrategy=s}dispatch(t){const e=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return e.subscribe({error:t=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(kr),this._errorHandler.handleError(t)}catch(e){}})}),e.pipe(Oz(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?Dd(this._stateStream.getValue()):Ev(t.map(t=>this.dispatchSingle(t))):this.dispatchSingle(t)}dispatchSingle(t){if(!fz(t))return gp(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const e=this._stateStream.getValue();return Mz([...this._pluginManager.plugins,(t,n)=>{t!==e&&this._stateStream.next(t);const i=this.getActionResultStream(n);return i.subscribe(t=>this._actions.next(t)),this._actions.next({action:n,status:"DISPATCHED"}),this.createDispatchObservable(i)}])(e,t).pipe(xp())}getActionResultStream(t){return this._actionResults.pipe(ep(e=>e.action===t&&"DISPATCHED"!==e.status),rf(1),xp())}createDispatchObservable(t){return t.pipe(YV(t=>{switch(t.status){case"SUCCESSFUL":return Dd(this._stateStream.getValue());case"ERRORED":return gp(t.error);default:return pp}})).pipe(xp())}}return t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(Pz),Ei(Rz),Ei(Dz),Ei(Iz),Ei(Tz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Lz=t=>{Object.freeze(t);const e="function"==typeof t,n=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(function(i){n.call(t,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==t[i]&&("object"==typeof t[i]||"function"==typeof t[i])&&!Object.isFrozen(t[i])&&Lz(t[i])}),t};let jz=(()=>{class t{constructor(t,e){this.isDevMode=t,this.isTestMode=e}}return t.\u0275fac=function(e){return new(e||t)(Ei(az),Ei(oz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Fz=(()=>{class t{constructor(t,e){this._host=t,this._config=e}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(ez.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(ez.INCORRECT_DEVELOPMENT()))}}return t.\u0275fac=function(e){return new(e||t)(Ei(jz),Ei(hz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Bz=(()=>{class t{constructor(t,e,n,i){this._stateStream=t,this._dispatcher=e,this._config=n,i.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:t=>this._stateStream.next(t),dispatch:t=>this._dispatcher.dispatch(t)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:e=>{const n=Lz(e);return t.setState(n)},dispatch:e=>t.dispatch(e)}}setStateToTheCurrentWithNew(t){const e=this.getRootStateOperations(),n=e.getState();e.setState(Object.assign({},n,t.defaults))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Iz),Ei(Nz),Ei(hz),Ei(Fz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Vz=(()=>{class t{constructor(t){this._internalStateOperations=t}createStateContext(t){const e=this._internalStateOperations.getRootStateOperations();function n(e){return mz(e,t.path)}function i(n,i){const r=gz(n,t.path,i),s=t.instance;if(s.ngxsOnChanges){const e=Sz(t,{currentAppState:n,newAppState:r});s.ngxsOnChanges(e)}return e.setState(r),r}function r(t,e){return i(t,e(n(t)))}return{getState:()=>n(e.getState()),patchState:t=>r(e.getState(),function(t){return e=>{if(Array.isArray(t))throw new Error(ez.PATCHING_ARRAY());if("object"!=typeof t)throw new Error(ez.PATCHING_PRIMITIVE());const n=Object.assign({},e);for(const i in t)n[i]=t[i];return n}}(t)),setState(t){const n=e.getState();return function(t){return"function"==typeof t}(t)?r(n,t):i(n,t)},dispatch:t=>e.dispatch(t)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Bz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class zz{static stateNameErrorMessage(t){return ez.STATE_NAME(t)}static checkCorrectStateName(t){if(!t)throw new Error(ez.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(t))throw new Error(this.stateNameErrorMessage(t))}static checkStateNameIsUnique(t,e){const n=this.getValidStateMeta(t).name,i=e[n];if(i&&i!==t)throw new Error(ez.STATE_UNIQUE(n,t.name,i.name));return n}static getValidStateMeta(t){const e=_z(t);if(!e)throw new Error(ez.STATE_DECORATOR());return e}}zz.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let Uz=(()=>{class t{constructor(t,e,n,i,r,s,o){this._injector=t,this._config=e,this._parentFactory=n,this._actions=i,this._actionResults=r,this._stateContextFactory=s,this._initialState=o,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=UV(()=>{const t=this;function e(e){const n=t.statePaths[e];return n?xz(n.split("."),t._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(t){let n=e(t);return n||((...i)=>(n||(n=e(t)),n?n(...i):void 0))},getSelectorOptions:e=>Object.assign({},t._config.selectorOptions,e||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let e={};return e=Array.isArray(t)?t.slice():function(t){return"object"==typeof t&&null!==t||"function"==typeof t}(t)?Object.assign({},t):void 0===t?{}:t,e}static checkStatesAreValid(t){t.forEach(zz.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(e){t.checkStatesAreValid(e);const{newStates:n}=this.addToStatesMap(e);if(!n.length)return[];const i=function(t){const e=e=>{const n=t.find(t=>t===e);if(!n)throw new Error(`Child state not found: ${e}. \r\nYou may have forgotten to add states to module`);return n[lz].name};return t.reduce((t,n)=>{const{name:i,children:r}=n[lz];return t[i]=(r||[]).map(e),t},{})}(n),r=function(t){const e=[],n={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),n[r]=!0,t[r].forEach(t=>{if(s.indexOf(t)>=0)throw new Error(`Circular dependency '${t}' is required by '${r}': ${s.join(" -> ")}`);n[t]||i(t,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(t).forEach(t=>i(t)),e.reverse()}(i),s=function(t,e={}){const n=(t,e)=>{for(const i in t)if(t.hasOwnProperty(i)&&t[i].indexOf(e)>=0){const e=n(t,i);return null!==e?`${e}.${i}`:i}return null};for(const i in t)if(t.hasOwnProperty(i)){const r=n(t,i);e[i]=r?`${r}.${i}`:i}return e}(i),o=function(t){return t.reduce((t,e)=>(t[e[lz].name]=e,t),{})}(n),a=[];for(const l of r){const e=o[l],n=s[l],i=e[lz];this.addRuntimeInfoToMeta(i,n);const r={name:l,path:n,isInitialised:!1,actions:i.actions,instance:this._injector.get(e),defaults:t.cloneDefaults(i.defaults)};this.hasBeenMountedAndBootstrapped(l,n)||a.push(r),this.states.push(r)}return a}addAndReturnDefaults(t){const e=this.add(t||[]);return{defaults:e.reduce((t,e)=>gz(t,e.path,e.defaults),{}),states:e}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(ep(t=>"DISPATCHED"===t.status),W(({action:t})=>this.invokeActions(this._actions,t).pipe(D(()=>({action:t,status:"SUCCESSFUL"})),ZV({action:t,status:"CANCELED"}),Tv(e=>Dd({action:t,status:"ERRORED",error:e}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,e){const n=fz(e),i=[];for(const s of this.states){const o=s.actions[n];if(o)for(const n of o){const o=this._stateContextFactory.createStateContext(s);try{let r=s.instance[n.fn](o,e);r instanceof Promise&&(r=U(r)),r instanceof E?(r=r.pipe(ZV({})),n.options.cancelUncompleted&&(r=r.pipe(rp(t.pipe(Cz(e)))))):r=Dd({}).pipe(xp()),i.push(r)}catch(r){i.push(gp(r))}}}return i.length||i.push(Dd({})),Ev(i)}addToStatesMap(t){const e=[],n=this.statesByName;for(const i of t){const t=zz.checkStateNameIsUnique(i,n);!n[t]&&(e.push(i),n[t]=i)}return{newStates:e}}addRuntimeInfoToMeta(t,e){this.statePaths[t.name]=e,t.path=e}hasBeenMountedAndBootstrapped(t,e){const n=void 0!==mz(this._initialState,e);return this.statesByName[t]&&n}}return t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(hz),Ei(t,12),Ei(Pz),Ei(Rz),Ei(Vz),Ei(GV,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Hz=(()=>{class t{constructor(t,e,n){this.internalStateOperations=t,this.stateContextFactory=e,this.bootstrapper=n}ngxsBootstrap(t,e){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(ep(()=>!!e),eg(()=>this.invokeInit(e.states)),W(()=>this.bootstrapper.appBootstrapped$),ep(t=>!!t)).subscribe(()=>this.invokeBootstrap(e.states))}invokeInit(t){for(const e of t){const t=e.instance;if(t.ngxsOnChanges){const n=Sz(e,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});t.ngxsOnChanges(n)}t.ngxsOnInit&&t.ngxsOnInit(this.getStateContext(e)),e.isInitialised=!0}}invokeBootstrap(t){for(const e of t){const t=e.instance;t.ngxsAfterBootstrap&&t.ngxsAfterBootstrap(this.getStateContext(e))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Bz),Ei(Vz),Ei($V))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const $z=t=>t&&t.NGXS_SELECTOR_OPTIONS_META||{};function Gz(t,e,n){const i=n&&n.containerClass,r=UV(function(...t){const n=e.apply(i,t);return n instanceof Function?UV.apply(null,[n]):n});Object.setPrototypeOf(r,e);const s=function(t,e){const n=function(t){return t.hasOwnProperty(uz)||Object.defineProperty(t,uz,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),wz(t)}(t);n.originalFn=t;let i=()=>({});e&&(n.containerClass=e.containerClass,n.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},n);return n.getSelectorOptions=()=>function(t,e){return Object.assign({},$z(t.containerClass)||{},$z(t.originalFn)||{},t.getSelectorOptions()||{},e)}(r,i()),n}(e,n);return s.makeRootSelector=e=>{const{argumentSelectorFunctions:n,selectorOptions:i}=function(t,e,n=[]){const i=e.getSelectorOptions(),r=t.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(t=[],e,n){const i=[];return n&&(0===t.length||e.injectContainerState)&&_z(n)&&i.push(n),t&&i.push(...t),i}(n,r,e.containerClass).map(e=>Wz(e)(t))}}(e,s,t);return function(t){const e=n.map(e=>e(t));try{return r(...e)}catch(s){if(s instanceof TypeError&&i.suppressErrors)return;throw s}}},r}function Wz(t){const e=wz(t)||_z(t);return e&&e.makeRootSelector||(()=>t)}let qz=(()=>{class t{constructor(t,e,n,i,r,s){this._stateStream=t,this._internalStateOperations=e,this._config=n,this._internalExecutionStrategy=i,this._stateFactory=r,this.initStateStream(s)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const e=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(D(e),Tv(t=>{const{suppressErrors:e}=this._config.selectorOptions;return t instanceof TypeError&&e?Dd(void 0):gp(t)}),Wd(),Oz(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(rf(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(Oz(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return Wz(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const e=this._stateStream.value;if(!e||0===Object.keys(e).length){const e=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(e)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Iz),Ei(Bz),Ei(hz),Ei(Tz),Ei(Uz),Ei(GV,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Xz=(()=>{class t{constructor(e,n){t.store=e,t.config=n}ngOnDestroy(){t.store=null,t.config=null}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz),Ei(hz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t.store=null,t.config=null,t})();class Yz{static get type(){return"@@INIT"}}class Kz{constructor(t){this.addedStates=t}static get type(){return"@@UPDATE_STATE"}}const Qz=new _p(1);let Zz=(()=>{class t{constructor(e,n,i,r,s=[],o){!function(){try{const t=window.ng,e=!(t.probe&&t.coreTokens)&&Vu();Qz.next(e)}catch(t){Qz.next(!1)}finally{Qz.complete()}}();const a=e.addAndReturnDefaults(s);n.setStateToTheCurrentWithNew(a),e.connectActionHandlers(),o.ngxsBootstrap(new Yz,a)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Uz),Ei(Bz),Ei(qz),Ei(Xz),Ei(iz,8),Ei(Hz))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),Jz=(()=>{class t{constructor(e,n,i,r=[],s){const o=t.flattenStates(r),a=i.addAndReturnDefaults(o);a.states.length&&(n.setStateToTheCurrentWithNew(a),s.ngxsBootstrap(new Kz(a.defaults),a))}static flattenStates(t=[]){return t.reduce((t,e)=>t.concat(e),[])}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz),Ei(Bz),Ei(Uz),Ei(rz,8),Ei(Hz))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();class tU{static forRoot(t=[],e={}){return{ngModule:Zz,providers:[Uz,Vz,Az,Pz,$V,Fz,jz,Hz,Nz,Rz,Bz,Tz,qz,Iz,Xz,Dz,...t,...tU.ngxsTokenProviders(t,e)]}}static forFeature(t=[]){return{ngModule:Jz,providers:[Uz,Dz,...t,{provide:rz,multi:!0,useValue:t}]}}static ngxsTokenProviders(t,e){return[{provide:oz,useValue:HV},{provide:az,useValue:Vu},{provide:pz,useClass:e.executionStrategy||nz},{provide:iz,useValue:t},{provide:tU.ROOT_OPTIONS,useValue:e},{provide:hz,useFactory:tU.ngxsConfigFactory,deps:[tU.ROOT_OPTIONS]},{provide:du,useFactory:tU.appBootstrapListenerFactory,multi:!0,deps:[$V]},{provide:GV,useFactory:tU.getInitialState},{provide:qV,useExisting:Vz},{provide:XV,useExisting:Uz}]}static ngxsConfigFactory(t){return yz(new hz,t)}static appBootstrapListenerFactory(t){return()=>t.bootstrap()}static getInitialState(){return WV.pop()}}function eU(t,e){return(n,i)=>{if(n.hasOwnProperty("prototype"))throw new Error(ez.ACTION_DECORATOR());const r=vz(n.constructor);Array.isArray(t)||(t=[t]);for(const s of t){const t=s.type;r.actions[t]||(r.actions[t]=[]),r.actions[t].push({fn:i,options:e||{},type:t})}}}function nU(t){return e=>{!function(t){Qz.subscribe(e=>{e&&(t.\u0275prov||console.warn(ez.UNDECORATED_STATE_IN_IVY(t.name)))})}(e);const n=e,i=vz(n),r=Object.getPrototypeOf(n),s=function(e){return Object.assign({},e[cz]||{},t)}(r);(function(t){const{meta:e,inheritedStateClass:n,optionsWithInheritance:i}=t,{children:r,defaults:s,name:o}=i,a="string"==typeof o?o:o&&o.getName()||null;zz.checkCorrectStateName(a),n.hasOwnProperty(lz)&&(e.actions=Object.assign({},e.actions,(n[lz]||{}).actions)),e.children=r,e.defaults=s,e.name=a})({meta:i,inheritedStateClass:r,optionsWithInheritance:s}),n[cz]=s}}function iU(t,...e){return function(n,i){const r=i.toString(),s=`__${r}__selector`,o=function(t,e,n=[]){return"string"==typeof(e=e||function(t){const e=t.length-1;return 36===t.charCodeAt(e)?t.slice(0,e):t}(t))?xz(n.length?[e,...n]:e.split("."),Xz.config):e}(r,t,e);Object.defineProperties(n,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(t){if(!Xz.store)throw new Error(ez.SELECT_FACTORY_NOT_CONNECTED());return Xz.store.select(t)}(o))}}})}}function rU(t){return(e,n,i)=>{if(!i||null===i.value)throw new Error(ez.SELECTOR_DECORATOR());const r=i.value,s=Gz(t,r,{containerClass:e,selectorName:n.toString(),getSelectorOptions:()=>({})}),o={configurable:!0,get:()=>s};return o.originalFn=r,o}}tU.\u0275fac=function(t){return new(t||tU)},tU.\u0275mod=ie({type:tU}),tU.\u0275inj=St({}),tU.ROOT_OPTIONS=new oi("ROOT_OPTIONS");let sU=(()=>{class t{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}setProperty(t,e){this._renderer.setProperty(this._elementRef.nativeElement,t,e)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al))},t.\u0275dir=se({type:t}),t})(),oU=(()=>{class t extends sU{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,features:[jo]}),t})();const aU=new oi("NgValueAccessor"),lU={provide:aU,useExisting:pt(()=>uU),multi:!0},cU=new oi("CompositionEventMode");let uU=(()=>{class t extends sU{constructor(t,e,n){super(t,e),this._compositionMode=n,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=Ju()?Ju().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al),ea(cU,8))},t.\u0275dir=se({type:t,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(t,e){1&t&&fa("input",function(t){return e._handleInput(t.target.value)})("blur",function(){return e.onTouched()})("compositionstart",function(){return e._compositionStart()})("compositionend",function(t){return e._compositionEnd(t.target.value)})},features:[xl([lU]),jo]}),t})();const hU=new oi("NgValidators"),dU=new oi("NgAsyncValidators");function pU(t){return null!=t}function fU(t){const e=ha(t)?U(t):t;return pa(e),e}function gU(t){let e={};return t.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function mU(t,e){return e.map(e=>e(t))}function bU(t){return t.map(t=>function(t){return!t.validate}(t)?t:e=>t.validate(e))}function yU(t){return null!=t?function(t){if(!t)return null;const e=t.filter(pU);return 0==e.length?null:function(t){return gU(mU(t,e))}}(bU(t)):null}function vU(t){return null!=t?function(t){if(!t)return null;const e=t.filter(pU);return 0==e.length?null:function(t){return Ev(mU(t,e).map(fU)).pipe(D(gU))}}(bU(t)):null}function _U(t,e){return null===t?[e]:Array.isArray(t)?[...t,e]:[t,e]}function wU(t){return t._rawValidators}function xU(t){return t._rawAsyncValidators}function SU(t){return t?Array.isArray(t)?t:[t]:[]}function CU(t,e){return Array.isArray(t)?t.includes(e):t===e}function EU(t,e){const n=SU(e);return SU(t).forEach(t=>{CU(n,t)||n.push(t)}),n}function OU(t,e){return SU(e).filter(e=>!CU(t,e))}let TU=(()=>{class t{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(t){this._rawValidators=t||[],this._composedValidatorFn=yU(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=vU(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t}),t})(),kU=(()=>{class t extends TU{get formDirective(){return null}get path(){return null}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,features:[jo]}),t})();class PU extends TU{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class AU{constructor(t){this._cd=t}is(t){var e,n,i;return"submitted"===t?!!(null===(e=this._cd)||void 0===e?void 0:e.submitted):!!(null===(i=null===(n=this._cd)||void 0===n?void 0:n.control)||void 0===i?void 0:i[t])}}let MU=(()=>{class t extends AU{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(PU,2))},t.\u0275dir=se({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,e){2&t&&ja("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[jo]}),t})(),IU=(()=>{class t extends AU{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(kU,10))},t.\u0275dir=se({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(t,e){2&t&&ja("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))("ng-submitted",e.is("submitted"))},features:[jo]}),t})();function DU(t,e){LU(t,e),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&FU(t,e)})}(t,e),function(t,e){const n=(t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)};t.registerOnChange(n),e._registerOnDestroy(()=>{t._unregisterOnChange(n)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&FU(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),function(t,e){if(e.valueAccessor.setDisabledState){const n=t=>{e.valueAccessor.setDisabledState(t)};t.registerOnDisabledChange(n),e._registerOnDestroy(()=>{t._unregisterOnDisabledChange(n)})}}(t,e)}function RU(t,e,n=!0){const i=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(i),e.valueAccessor.registerOnTouched(i)),jU(t,e),t&&(e._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function NU(t,e){t.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function LU(t,e){const n=wU(t);null!==e.validator?t.setValidators(_U(n,e.validator)):"function"==typeof n&&t.setValidators([n]);const i=xU(t);null!==e.asyncValidator?t.setAsyncValidators(_U(i,e.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const r=()=>t.updateValueAndValidity();NU(e._rawValidators,r),NU(e._rawAsyncValidators,r)}function jU(t,e){let n=!1;if(null!==t){if(null!==e.validator){const i=wU(t);if(Array.isArray(i)&&i.length>0){const r=i.filter(t=>t!==e.validator);r.length!==i.length&&(n=!0,t.setValidators(r))}}if(null!==e.asyncValidator){const i=xU(t);if(Array.isArray(i)&&i.length>0){const r=i.filter(t=>t!==e.asyncValidator);r.length!==i.length&&(n=!0,t.setAsyncValidators(r))}}}const i=()=>{};return NU(e._rawValidators,i),NU(e._rawAsyncValidators,i),n}function FU(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function BU(t,e){LU(t,e)}function VU(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!Object.is(e,n.currentValue)}function zU(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function UU(t,e){if(!e)return null;let n,i,r;return Array.isArray(e),e.forEach(t=>{t.constructor===uU?n=t:function(t){return Object.getPrototypeOf(t.constructor)===oU}(t)?i=t:r=t}),r||i||n||null}function HU(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const $U="VALID",GU="INVALID",WU="PENDING",qU="DISABLED";function XU(t){return(ZU(t)?t.validators:t)||null}function YU(t){return Array.isArray(t)?yU(t):t||null}function KU(t,e){return(ZU(e)?e.asyncValidators:t)||null}function QU(t){return Array.isArray(t)?vU(t):t||null}function ZU(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class JU{constructor(t,e){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=e,this._composedValidatorFn=YU(this._rawValidators),this._composedAsyncValidatorFn=QU(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===$U}get invalid(){return this.status===GU}get pending(){return this.status==WU}get disabled(){return this.status===qU}get enabled(){return this.status!==qU}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._rawValidators=t,this._composedValidatorFn=YU(t)}setAsyncValidators(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=QU(t)}addValidators(t){this.setValidators(EU(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(EU(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(OU(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(OU(t,this._rawAsyncValidators))}hasValidator(t){return CU(this._rawValidators,t)}hasAsyncValidator(t){return CU(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=WU,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=qU,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=$U,this._forEachChild(e=>{e.enable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===$U||this.status===WU)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?qU:$U}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=WU,this._hasOwnPendingAsyncValidator=!0;const e=fU(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(e,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){if(null==e||(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length))return null;let i=t;return e.forEach(t=>{i=i instanceof eH?i.controls.hasOwnProperty(t)?i.controls[t]:null:i instanceof nH&&i.at(t)||null}),i}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Bc,this.statusChanges=new Bc}_calculateStatus(){return this._allControlsDisabled()?qU:this.errors?GU:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(WU)?WU:this._anyControlsHaveStatus(GU)?GU:$U}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){ZU(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class tH extends JU{constructor(t=null,e,n){super(XU(e),KU(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){HU(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){HU(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class eH extends JU{constructor(t,e,n){super(XU(e),KU(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,n={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof tH?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const n=this.controls[e];n&&t(n,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const e of Object.keys(this.controls)){const n=this.controls[e];if(this.contains(e)&&t(n))return!0}return!1}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,i)=>{n=e(n,t,i)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class nH extends JU{constructor(t,e,n){super(XU(e),KU(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[t]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,n={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t instanceof tH?t.value:t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const iH={provide:kU,useExisting:pt(()=>sH)},rH=(()=>Promise.resolve(null))();let sH=(()=>{class t extends kU{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new Bc,this.form=new eH({},yU(t),vU(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){rH.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),DU(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){rH.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),HU(this._directives,t)})}addFormGroup(t){rH.then(()=>{const e=this._findContainer(t.path),n=new eH({});BU(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){rH.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){rH.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,zU(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10))},t.\u0275dir=se({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,e){1&t&&fa("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xl([iH]),jo]}),t})();const oH={provide:PU,useExisting:pt(()=>lH)},aH=(()=>Promise.resolve(null))();let lH=(()=>{class t extends PU{constructor(t,e,n,i){super(),this.control=new tH,this._registered=!1,this.update=new Bc,this._parent=t,this._setValidators(e),this._setAsyncValidators(n),this.valueAccessor=UU(0,i)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),VU(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?function(t,e){return[...e.path,t]}(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){DU(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){aH.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const e=t.isDisabled.currentValue,n=""===e||e&&"false"!==e;aH.then(()=>{n&&!this.control.disabled?this.control.disable():!n&&this.control.disabled&&this.control.enable()})}}return t.\u0275fac=function(e){return new(e||t)(ea(kU,9),ea(hU,10),ea(dU,10),ea(aU,10))},t.\u0275dir=se({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[xl([oH]),jo,ye]}),t})(),cH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),uH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const hH=new oi("NgModelWithFormControlWarning"),dH={provide:PU,useExisting:pt(()=>pH)};let pH=(()=>{class t extends PU{constructor(t,e,n,i){super(),this._ngModelWarningConfig=i,this.update=new Bc,this._ngModelWarningSent=!1,this._setValidators(t),this._setAsyncValidators(e),this.valueAccessor=UU(0,n)}set isDisabled(t){}ngOnChanges(t){if(this._isControlChanged(t)){const e=t.form.previousValue;e&&RU(e,this,!1),DU(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}VU(t,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&RU(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10),ea(aU,10),ea(hH,8))},t.\u0275dir=se({type:t,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[xl([dH]),jo,ye]}),t._ngModelWarningSentOnce=!1,t})();const fH={provide:kU,useExisting:pt(()=>gH)};let gH=(()=>{class t extends kU{constructor(t,e){super(),this.validators=t,this.asyncValidators=e,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Bc,this._setValidators(t),this._setAsyncValidators(e)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(jU(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return DU(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){RU(t.control||null,t,!1),HU(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,zU(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=t.control,n=this.form.get(t.path);e!==n&&(RU(e||null,t),n instanceof tH&&(DU(n,t),t.control=n))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const e=this.form.get(t.path);BU(e,t),e.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){const e=this.form.get(t.path);e&&function(t,e){return jU(t,e)}(e,t)&&e.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){LU(this.form,this),this._oldForm&&jU(this._oldForm,this)}_checkFormPresent(){}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10))},t.\u0275dir=se({type:t,selectors:[["","formGroup",""]],hostBindings:function(t,e){1&t&&fa("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xl([fH]),jo,ye]}),t})(),mH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uH]]}),t})(),bH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[mH]}),t})(),yH=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:hH,useValue:e.warnOnNgModelWithFormControl}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[mH]}),t})();function vH(t){return new E(e=>{let n;try{n=t()}catch(i){return void e.error(i)}return(n?U(n):fp()).subscribe(e)})}const _H=["underline"],wH=["connectionContainer"],xH=["inputContainer"],SH=["label"];function CH(t,e){1&t&&(aa(0),ra(1,"div",14),oa(2,"div",15),oa(3,"div",16),oa(4,"div",17),sa(),ra(5,"div",18),oa(6,"div",15),oa(7,"div",16),oa(8,"div",17),sa(),la())}function EH(t,e){1&t&&(ra(0,"div",19),xa(1,1),sa())}function OH(t,e){if(1&t&&(aa(0),xa(1,2),ra(2,"span"),Ja(3),sa(),la()),2&t){const t=va(2);ws(3),tl(t._control.placeholder)}}function TH(t,e){1&t&&xa(0,3,["*ngSwitchCase","true"])}function kH(t,e){1&t&&(ra(0,"span",23),Ja(1," *"),sa())}function PH(t,e){if(1&t){const t=ua();ra(0,"label",20,21),fa("cdkObserveContent",function(){return $e(t),va().updateOutlineGap()}),Jo(2,OH,4,1,"ng-container",12),Jo(3,TH,1,0,"ng-content",12),Jo(4,kH,2,0,"span",22),sa()}if(2&t){const t=va();ja("mat-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-form-field-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-accent","accent"==t.color)("mat-warn","warn"==t.color),na("cdkObserveContentDisabled","outline"!=t.appearance)("id",t._labelId)("ngSwitch",t._hasLabel()),Ko("for",t._control.id)("aria-owns",t._control.id),ws(2),na("ngSwitchCase",!1),ws(1),na("ngSwitchCase",!0),ws(1),na("ngIf",!t.hideRequiredMarker&&t._control.required&&!t._control.disabled)}}function AH(t,e){1&t&&(ra(0,"div",24),xa(1,4),sa())}function MH(t,e){if(1&t&&(ra(0,"div",25,26),oa(2,"span",27),sa()),2&t){const t=va();ws(2),ja("mat-accent","accent"==t.color)("mat-warn","warn"==t.color)}}function IH(t,e){1&t&&(ra(0,"div"),xa(1,5),sa()),2&t&&na("@transitionMessages",va()._subscriptAnimationState)}function DH(t,e){if(1&t&&(ra(0,"div",31),Ja(1),sa()),2&t){const t=va(2);na("id",t._hintLabelId),ws(1),tl(t.hintLabel)}}function RH(t,e){if(1&t&&(ra(0,"div",28),Jo(1,DH,2,2,"div",29),xa(2,6),oa(3,"div",30),xa(4,7),sa()),2&t){const t=va();na("@transitionMessages",t._subscriptAnimationState),ws(1),na("ngIf",t.hintLabel)}}const NH=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],LH=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"],jH=new oi("MatError"),FH={transitionMessages:Qg("transitionMessages",[em("enter",tm({opacity:1,transform:"translateY(0%)"})),im("void => enter",[tm({opacity:0,transform:"translateY(-5px)"}),Zg("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let BH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t}),t})();const VH=new oi("MatHint");let zH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-label"]]}),t})(),UH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-placeholder"]]}),t})();const HH=new oi("MatPrefix");let $H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","matPrefix",""]],features:[xl([{provide:HH,useExisting:t}])]}),t})();const GH=new oi("MatSuffix");let WH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","matSuffix",""]],features:[xl([{provide:GH,useExisting:t}])]}),t})(),qH=0;const XH=Xy(class{constructor(t){this._elementRef=t}},"primary"),YH=new oi("MAT_FORM_FIELD_DEFAULT_OPTIONS"),KH=new oi("MatFormField");let QH=(()=>{class t extends XH{constructor(t,e,n,i,r,s,o,a){super(t),this._changeDetectorRef=e,this._dir=i,this._defaults=r,this._platform=s,this._ngZone=o,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new A,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+qH++,this._labelId="mat-form-field-label-"+qH++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==a,this.appearance=r&&r.appearance?r.appearance:"legacy",this._hideRequiredMarker=!(!r||null==r.hideRequiredMarker)&&r.hideRequiredMarker}get appearance(){return this._appearance}set appearance(t){const e=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&e!==t&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=kd(t)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(t){this._explicitFormFieldControl=t}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${t.controlType}`),t.stateChanges.pipe(lp(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(rp(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(rp(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),Q(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(lp(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(lp(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(rp(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(t){const e=this._control?this._control.ngControl:null;return e&&e[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Rd(this._label.nativeElement,"transitionend").pipe(rf(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let t=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&t.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const e=this._hintChildren?this._hintChildren.find(t=>"start"===t.align):null,n=this._hintChildren?this._hintChildren.find(t=>"end"===t.align):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&t.push(...this._errorChildren.map(t=>t.id));this._control.setDescribedByIds(t)}}_validateControlChild(){}updateOutlineGap(){const t=this._label?this._label.nativeElement:null;if(!("outline"===this.appearance&&t&&t.children.length&&t.textContent.trim()&&this._platform.isBrowser))return;if(!this._isAttachedToDOM())return void(this._outlineGapCalculationNeededImmediately=!0);let e=0,n=0;const i=this._connectionContainerRef.nativeElement,r=i.querySelectorAll(".mat-form-field-outline-start"),s=i.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){const r=i.getBoundingClientRect();if(0===r.width&&0===r.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);const s=this._getStartEnd(r),o=t.children,a=this._getStartEnd(o[0].getBoundingClientRect());let l=0;for(let t=0;t0?.75*l+10:0}for(let o=0;o{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy,fg],Wy]}),t})();function JH(t,e=Yd){const n=function(t){return t instanceof Date&&!isNaN(+t)}(t)?+t-e.now():Math.abs(t);return t=>t.lift(new t$(n,e))}class t${constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new e$(t,this.delay,this.scheduler))}}class e$ extends v{constructor(t,e,n){super(t),this.delay=e,this.scheduler=n,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,n=e.queue,i=t.scheduler,r=t.destination;for(;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){const e=Math.max(0,n[0].time-i.now());this.schedule(t,e)}else this.unsubscribe(),e.active=!1}_schedule(t){this.active=!0,this.destination.add(t.schedule(e$.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,n=new n$(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification(bp.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t),this.unsubscribe()}_complete(){this.scheduleNotification(bp.createComplete()),this.unsubscribe()}}class n${constructor(t,e){this.time=t,this.notification=e}}const i$=["panel"];function r$(t,e){if(1&t&&(ra(0,"div",0,1),xa(2),sa()),2&t){const t=e.id,n=va();na("id",n.id)("ngClass",n._classList),Ko("aria-label",n.ariaLabel||null)("aria-labelledby",n._getPanelAriaLabelledby(t))}}const s$=["*"];let o$=0;class a${constructor(t,e){this.source=t,this.option=e}}const l$=Yy(class{}),c$=new oi("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}});let u$=(()=>{class t extends l${constructor(t,e,n,i){super(),this._changeDetectorRef=t,this._elementRef=e,this._activeOptionChanges=g.EMPTY,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new Bc,this.opened=new Bc,this.closed=new Bc,this.optionActivated=new Bc,this._classList={},this.id="mat-autocomplete-"+o$++,this.inertGroups=(null==i?void 0:i.SAFARI)||!1,this._autoActiveFirstOption=!!n.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(t){this._autoActiveFirstOption=kd(t)}set classList(t){this._classList=t&&t.length?function(t,e=/\s+/){const n=[];if(null!=t){const i=Array.isArray(t)?t:`${t}`.split(e);for(const t of i){const e=`${t}`.trim();e&&n.push(e)}}return n}(t).reduce((t,e)=>(t[e]=!0,t),{}):{},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}ngAfterContentInit(){this._keyManager=new Eg(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(t=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[t]||null})}),this._setVisibility()}ngOnDestroy(){this._activeOptionChanges.unsubscribe()}_setScrollTop(t){this.panel&&(this.panel.nativeElement.scrollTop=t)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}_emitSelectEvent(t){const e=new a$(this,t);this.optionSelected.emit(e)}_getPanelAriaLabelledby(t){return this.ariaLabel?null:this.ariaLabelledby?(t?t+" ":"")+this.ariaLabelledby:t}_setVisibilityClasses(t){t[this._visibleClass]=this.showPanel,t[this._hiddenClass]=!this.showPanel}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(Al),ea(c$),ea(Ep))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&(Zc(ac,7),Zc(i$,5)),2&t){let t;Qc(t=tu())&&(e.template=t.first),Qc(t=tu())&&(e.panel=t.first)}},inputs:{displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",classList:["class","classList"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],panelWidth:"panelWidth"},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[jo]}),t})(),h$=(()=>{class t extends u${constructor(){super(...arguments),this._visibleClass="mat-autocomplete-visible",this._hiddenClass="mat-autocomplete-hidden"}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-autocomplete"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,bv,5),Jc(n,wv,5)),2&t){let t;Qc(t=tu())&&(e.optionGroups=t),Qc(t=tu())&&(e.options=t)}},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[xl([{provide:pv,useExisting:t}]),jo],ngContentSelectors:s$,decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(t,e){1&t&&(wa(),Jo(0,r$,3,4,"ng-template"))},directives:[Oh],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"],encapsulation:2,changeDetection:0}),t})();const d$=new oi("mat-autocomplete-scroll-strategy"),p$={provide:d$,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}},f$={provide:aU,useExisting:pt(()=>m$),multi:!0};let g$=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u){this._element=t,this._overlay=e,this._viewContainerRef=n,this._zone=i,this._changeDetectorRef=r,this._dir=o,this._formField=a,this._document=l,this._viewportRuler=c,this._defaults=u,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=g.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new A,this._windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen},this._onChange=()=>{},this._onTouched=()=>{},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=vH(()=>this.autocomplete&&this.autocomplete.options?Q(...this.autocomplete.options.map(t=>t.onSelectionChange)):this._zone.onStable.pipe(rf(1),cp(()=>this.optionSelections))),this._scrollStrategy=s}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(t){this._autocompleteDisabled=kd(t)}ngAfterViewInit(){const t=this._getWindow();void 0!==t&&this._zone.runOutsideAngular(()=>t.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(t){t.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){const t=this._getWindow();void 0!==t&&t.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Q(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(ep(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(ep(()=>this._overlayAttached)):Dd()).pipe(D(t=>t instanceof vv?t:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return Q(Rd(this._document,"click"),Rd(this._document,"auxclick"),Rd(this._document,"touchend")).pipe(ep(t=>{const e=Lp(t),n=this._formField?this._formField._elementRef.nativeElement:null,i=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&e!==this._element.nativeElement&&(!n||!n.contains(e))&&(!i||!i.contains(e))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(e)}))}writeValue(t){Promise.resolve(null).then(()=>this._setTriggerValue(t))}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this._element.nativeElement.disabled=t}_handleKeydown(t){const e=t.keyCode;if(27===e&&!uf(t)&&t.preventDefault(),this.activeOption&&13===e&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){const n=this.autocomplete._keyManager.activeItem,i=38===e||40===e;this.panelOpen||9===e?this.autocomplete._keyManager.onKeydown(t):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0)}}_handleInput(t){let e=t.target,n=e.value;"number"===e.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this._document.activeElement===t.target&&this.openPanel())}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_floatLabel(t=!1){this._formField&&"auto"===this._formField.floatLabel&&(t?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){return Q(this._zone.onStable.pipe(rf(1)),this.autocomplete.options.changes.pipe(eg(()=>this._positionStrategy.reapplyLastPosition()),JH(0))).pipe(cp(()=>{const t=this.panelOpen;return this._resetActiveItem(),this.autocomplete._setVisibility(),this.panelOpen&&(this._overlayRef.updatePosition(),t!==this.panelOpen&&this.autocomplete.opened.emit()),this.panelClosingActions}),rf(1)).subscribe(t=>this._setValueAndClose(t))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(t){const e=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(t):t,n=null!=e?e:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n,this._previousValue=n}_setValueAndClose(t){t&&t.source&&(this._clearPreviousSelectedOption(t.source),this._setTriggerValue(t.source.value),this._onChange(t.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(t.source)),this.closePanel()}_clearPreviousSelectedOption(t){this.autocomplete.options.forEach(e=>{e!==t&&e.selected&&e.deselect()})}_attachOverlay(){var t;let e=this._overlayRef;e?(this._positionStrategy.setOrigin(this._getConnectedElement()),e.updateSize({width:this._getPanelWidth()})):(this._portal=new Xp(this.autocomplete.template,this._viewContainerRef,{id:null===(t=this._formField)||void 0===t?void 0:t.getLabelId()}),e=this._overlay.create(this._getOverlayConfig()),this._overlayRef=e,e.keydownEvents().subscribe(t=>{(27===t.keyCode&&!uf(t)||38===t.keyCode&&uf(t,"altKey"))&&(this._closeKeyEventStream.next(),this._resetActiveItem(),t.stopPropagation(),t.preventDefault())}),this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&e&&e.updateSize({width:this._getPanelWidth()})})),e&&!e.hasAttached()&&(e.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const n=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&n!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){var t;return new vf({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:null===(t=this._defaults)||void 0===t?void 0:t.overlayPanelClass})}_getOverlayPosition(){const t=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(t),this._positionStrategy=t,t}_setStrategyPositions(t){const e=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],n=this._aboveClass,i=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:n},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:n}];let r;r="above"===this.position?i:"below"===this.position?e:[...e,...i],t.withPositions(r)}_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(){const t=this.autocomplete;t.autoActiveFirstOption?t._keyManager.setFirstItemActive():t._keyManager.setActiveItem(-1)}_canOpen(){const t=this._element.nativeElement;return!t.readOnly&&!t.disabled&&!this._autocompleteDisabled}_getWindow(){var t;return(null===(t=this._document)||void 0===t?void 0:t.defaultView)||window}_scrollToOption(t){const e=this.autocomplete,n=xv(t,e.options,e.optionGroups);if(0===t&&1===n)e._setScrollTop(0);else if(e.panel){const n=e.options.toArray()[t];if(n){const t=n._getHostElement(),i=Sv(t.offsetTop,t.offsetHeight,e._getScrollTop(),e.panel.nativeElement.offsetHeight);e._setScrollTop(i)}}}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Vf),ea(pc),ea(Tu),ea(nc),ea(d$),ea(Fp,8),ea(KH,9),ea(th,8),ea(Hp),ea(c$,8))},t.\u0275dir=se({type:t,inputs:{position:["matAutocompletePosition","position"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"],autocomplete:["matAutocomplete","autocomplete"],connectedTo:["matAutocompleteConnectedTo","connectedTo"]},features:[ye]}),t})(),m$=(()=>{class t extends g${constructor(){super(...arguments),this._aboveClass="mat-autocomplete-panel-above"}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(t,e){1&t&&fa("focusin",function(){return e._handleFocus()})("blur",function(){return e._onTouched()})("input",function(t){return e._handleInput(t)})("keydown",function(t){return e._handleKeydown(t)}),2&t&&Ko("autocomplete",e.autocompleteAttribute)("role",e.autocompleteDisabled?null:"combobox")("aria-autocomplete",e.autocompleteDisabled?null:"list")("aria-activedescendant",e.panelOpen&&e.activeOption?e.activeOption.id:null)("aria-expanded",e.autocompleteDisabled?null:e.panelOpen.toString())("aria-owns",e.autocompleteDisabled||!e.panelOpen||null==e.autocomplete?null:e.autocomplete.id)("aria-haspopup",!e.autocompleteDisabled)},exportAs:["matAutocompleteTrigger"],features:[xl([f$]),jo]}),t})(),b$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[p$],imports:[[Wf,Cv,Wy,Wh],$p,Cv,Wy]}),t})();const y$=Ip({passive:!0});let v$=(()=>{class t{constructor(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return pp;const e=Id(t),n=this._monitoredElements.get(e);if(n)return n.subject;const i=new A,r="cdk-text-field-autofilled",s=t=>{"cdk-text-field-autofill-start"!==t.animationName||e.classList.contains(r)?"cdk-text-field-autofill-end"===t.animationName&&e.classList.contains(r)&&(e.classList.remove(r),this._ngZone.run(()=>i.next({target:t.target,isAutofilled:!1}))):(e.classList.add(r),this._ngZone.run(()=>i.next({target:t.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{e.addEventListener("animationstart",s,y$),e.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(e,{subject:i,unlisten:()=>{e.removeEventListener("animationstart",s,y$)}}),i}stopMonitoring(t){const e=Id(t),n=this._monitoredElements.get(e);n&&(n.unlisten(),n.subject.complete(),e.classList.remove("cdk-text-field-autofill-monitored"),e.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(e))}ngOnDestroy(){this._monitoredElements.forEach((t,e)=>this.stopMonitoring(e))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu))},token:t,providedIn:"root"}),t})(),_$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Op]]}),t})();const w$=new oi("MAT_INPUT_VALUE_ACCESSOR"),x$=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let S$=0;const C$=Qy(class{constructor(t,e,n,i){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=n,this.ngControl=i}});let E$=(()=>{class t extends C${constructor(t,e,n,i,r,s,o,a,l,c){super(s,i,r,n),this._elementRef=t,this._platform=e,this._autofillMonitor=a,this._formField=c,this._uid="mat-input-"+S$++,this.focused=!1,this.stateChanges=new A,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(t=>kp().has(t));const u=this._elementRef.nativeElement,h=u.nodeName.toLowerCase();this._inputValueAccessor=o||u,this._previousNativeValue=this.value,this.id=this.id,e.IOS&&l.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",t=>{const e=t.target;!e.value&&0===e.selectionStart&&0===e.selectionEnd&&(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===h,this._isTextarea="textarea"===h,this._isInFormField=!!c,this._isNativeSelect&&(this.controlType=u.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=kd(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=kd(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea&&kp().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=kd(t)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(t){this._elementRef.nativeElement.focus(t)}_focusChanged(t){t!==this.focused&&(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){var t,e;const n=(null===(e=null===(t=this._formField)||void 0===t?void 0:t._hideControlPlaceholder)||void 0===e?void 0:e.call(t))?null:this.placeholder;if(n!==this._previousPlaceholder){const t=this._elementRef.nativeElement;this._previousPlaceholder=n,n?t.setAttribute("placeholder",n):t.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){x$.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const t=this._elementRef.nativeElement,e=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&e&&e.label)}return this.focused||!this.empty}setDescribedByIds(t){t.length?this._elementRef.nativeElement.setAttribute("aria-describedby",t.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(PU,10),ea(sH,8),ea(gH,8),ea(Zy),ea(w$,10),ea(v$),ea(Tu),ea(KH,8))},t.\u0275dir=se({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._focusChanged(!0)})("blur",function(){return e._focusChanged(!1)})("input",function(){return e._onInput()}),2&t&&(rl("disabled",e.disabled)("required",e.required),Ko("id",e.id)("data-placeholder",e.placeholder)("readonly",e.readonly&&!e._isNativeSelect||null)("aria-invalid",e.empty&&e.required?null:e.errorState)("aria-required",e.required),ja("mat-input-server",e._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[xl([{provide:BH,useExisting:t}]),jo,ye]}),t})(),O$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Zy],imports:[[_$,ZH,Wy],_$,ZH]}),t})();function T$(...t){const e=t.length;if(0===e)throw new Error("list of properties cannot be empty.");return n=>D(function(t,e){return n=>{let i=n;for(let r=0;rF$),multi:!0};class L${}const j$=Ky(Xy(qy(class{constructor(t){this._elementRef=t}}),"accent"));let F$=(()=>{class t extends j${constructor(t,e,n,i,r,s,o,a){super(t),this._focusMonitor=e,this._changeDetectorRef=n,this._dir=i,this._ngZone=s,this._animationMode=a,this._invert=!1,this._max=100,this._min=0,this._step=1,this._thumbLabel=!1,this._tickInterval=0,this._value=null,this._vertical=!1,this.change=new Bc,this.input=new Bc,this.valueChange=new Bc,this.onTouched=()=>{},this._percent=0,this._isSliding=null,this._isActive=!1,this._tickIntervalPercent=0,this._sliderDimensions=null,this._controlValueAccessorChangeFn=()=>{},this._dirChangeSubscription=g.EMPTY,this._pointerDown=t=>{this.disabled||this._isSliding||!B$(t)&&0!==t.button||this._ngZone.run(()=>{this._touchId=B$(t)?function(t,e){for(let n=0;n{if("pointer"===this._isSliding){const e=V$(t,this._touchId);if(e){t.preventDefault();const n=this.value;this._lastPointerEvent=t,this._updateValueFromPosition(e),n!=this.value&&this._emitInputEvent()}}},this._pointerUp=t=>{"pointer"===this._isSliding&&(!B$(t)||"number"!=typeof this._touchId||z$(t.changedTouches,this._touchId))&&(t.preventDefault(),this._removeGlobalEvents(),this._isSliding=null,this._touchId=void 0,this._valueOnSlideStart!=this.value&&!this.disabled&&this._emitChangeEvent(),this._valueOnSlideStart=this._lastPointerEvent=null)},this._windowBlur=()=>{this._lastPointerEvent&&this._pointerUp(this._lastPointerEvent)},this._document=o,this.tabIndex=parseInt(r)||0,s.runOutsideAngular(()=>{const e=t.nativeElement;e.addEventListener("mousedown",this._pointerDown,R$),e.addEventListener("touchstart",this._pointerDown,R$)})}get invert(){return this._invert}set invert(t){this._invert=kd(t)}get max(){return this._max}set max(t){this._max=Pd(t,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get min(){return this._min}set min(t){this._min=Pd(t,this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get step(){return this._step}set step(t){this._step=Pd(t,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()}get thumbLabel(){return this._thumbLabel}set thumbLabel(t){this._thumbLabel=kd(t)}get tickInterval(){return this._tickInterval}set tickInterval(t){this._tickInterval="auto"===t?"auto":"number"==typeof t||"string"==typeof t?Pd(t,this._tickInterval):0}get value(){return null===this._value&&(this.value=this._min),this._value}set value(t){if(t!==this._value){let e=Pd(t,0);this._roundToDecimal&&e!==this.min&&e!==this.max&&(e=parseFloat(e.toFixed(this._roundToDecimal))),this._value=e,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}}get vertical(){return this._vertical}set vertical(t){this._vertical=kd(t)}get displayValue(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0}focus(t){this._focusHostElement(t)}blur(){this._blurHostElement()}get percent(){return this._clamp(this._percent)}_shouldInvertAxis(){return this.vertical?!this.invert:this.invert}_isMinValue(){return 0===this.percent}_getThumbGap(){return this.disabled?7:this._isMinValue()&&!this.thumbLabel?this._isActive?10:7:0}_getTrackBackgroundStyles(){const t=this.vertical?`1, ${1-this.percent}, 1`:1-this.percent+", 1, 1";return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"-":""}${this._getThumbGap()}px) scale3d(${t})`}}_getTrackFillStyles(){const t=this.percent,e=this.vertical?`1, ${t}, 1`:`${t}, 1, 1`;return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"":"-"}${this._getThumbGap()}px) scale3d(${e})`,display:0===t?"none":""}}_getTicksContainerStyles(){return{transform:`translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"-":""}${this._tickIntervalPercent/2*100}%)`}}_getTicksStyles(){let t=100*this._tickIntervalPercent,e={backgroundSize:this.vertical?`2px ${t}%`:`${t}% 2px`,transform:`translateZ(0) translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"":"-"}${t/2}%)${this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)"}`};if(this._isMinValue()&&this._getThumbGap()){const t=this._shouldInvertAxis();let n;n=this.vertical?t?"Bottom":"Top":t?"Right":"Left",e[`padding${n}`]=`${this._getThumbGap()}px`}return e}_getThumbContainerStyles(){const t=this._shouldInvertAxis();return{transform:`translate${this.vertical?"Y":"X"}(-${100*(("rtl"!=this._getDirection()||this.vertical?t:!t)?this.percent:1-this.percent)}%)`}}_shouldInvertMouseCoords(){const t=this._shouldInvertAxis();return"rtl"!=this._getDirection()||this.vertical?t:!t}_getDirection(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{this._isActive=!!t&&"keyboard"!==t,this._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>{this._changeDetectorRef.markForCheck()}))}ngOnDestroy(){const t=this._elementRef.nativeElement;t.removeEventListener("mousedown",this._pointerDown,R$),t.removeEventListener("touchstart",this._pointerDown,R$),this._lastPointerEvent=null,this._removeGlobalEvents(),this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()}_onMouseenter(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())}_onFocus(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()}_onBlur(){this.onTouched()}_onKeydown(t){if(this.disabled||uf(t)||this._isSliding&&"keyboard"!==this._isSliding)return;const e=this.value;switch(t.keyCode){case 33:this._increment(10);break;case 34:this._increment(-10);break;case 35:this.value=this.max;break;case 36:this.value=this.min;break;case 37:this._increment("rtl"==this._getDirection()?1:-1);break;case 38:this._increment(1);break;case 39:this._increment("rtl"==this._getDirection()?-1:1);break;case 40:this._increment(-1);break;default:return}e!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding="keyboard",t.preventDefault()}_onKeyup(){"keyboard"===this._isSliding&&(this._isSliding=null)}_getWindow(){return this._document.defaultView||window}_bindGlobalEvents(t){const e=this._document,n=B$(t),i=n?"touchend":"mouseup";e.addEventListener(n?"touchmove":"mousemove",this._pointerMove,R$),e.addEventListener(i,this._pointerUp,R$),n&&e.addEventListener("touchcancel",this._pointerUp,R$);const r=this._getWindow();void 0!==r&&r&&r.addEventListener("blur",this._windowBlur)}_removeGlobalEvents(){const t=this._document;t.removeEventListener("mousemove",this._pointerMove,R$),t.removeEventListener("mouseup",this._pointerUp,R$),t.removeEventListener("touchmove",this._pointerMove,R$),t.removeEventListener("touchend",this._pointerUp,R$),t.removeEventListener("touchcancel",this._pointerUp,R$);const e=this._getWindow();void 0!==e&&e&&e.removeEventListener("blur",this._windowBlur)}_increment(t){this.value=this._clamp((this.value||0)+this.step*t,this.min,this.max)}_updateValueFromPosition(t){if(!this._sliderDimensions)return;let e=this._clamp(((this.vertical?t.y:t.x)-(this.vertical?this._sliderDimensions.top:this._sliderDimensions.left))/(this.vertical?this._sliderDimensions.height:this._sliderDimensions.width));if(this._shouldInvertMouseCoords()&&(e=1-e),0===e)this.value=this.min;else if(1===e)this.value=this.max;else{const t=this._calculateValue(e),n=Math.round((t-this.min)/this.step)*this.step+this.min;this.value=this._clamp(n,this.min,this.max)}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())}_emitInputEvent(){this.input.emit(this._createChangeEvent())}_updateTickIntervalPercent(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){let t=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,e=Math.ceil(30/(t*this.step/(this.max-this.min)))*this.step;this._tickIntervalPercent=e/t}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)}_createChangeEvent(t=this.value){let e=new L$;return e.source=this,e.value=t,e}_calculatePercentage(t){return((t||0)-this.min)/(this.max-this.min)}_calculateValue(t){return this.min+t*(this.max-this.min)}_clamp(t,e=0,n=1){return Math.max(e,Math.min(t,n))}_getSliderDimensions(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}_focusHostElement(t){this._elementRef.nativeElement.focus(t)}_blurHostElement(){this._elementRef.nativeElement.blur()}writeValue(t){this.value=t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ug),ea(nc),ea(Fp,8),ii("tabindex"),ea(Tu),ea(th),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-slider"]],viewQuery:function(t,e){if(1&t&&Zc(D$,5),2&t){let t;Qc(t=tu())&&(e._sliderWrapper=t.first)}},hostAttrs:["role","slider",1,"mat-slider","mat-focus-indicator"],hostVars:29,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()})("keydown",function(t){return e._onKeydown(t)})("keyup",function(){return e._onKeyup()})("mouseenter",function(){return e._onMouseenter()})("selectstart",function(t){return t.preventDefault()}),2&t&&(rl("tabIndex",e.tabIndex),Ko("aria-disabled",e.disabled)("aria-valuemax",e.max)("aria-valuemin",e.min)("aria-valuenow",e.value)("aria-valuetext",null==e.valueText?e.displayValue:e.valueText)("aria-orientation",e.vertical?"vertical":"horizontal"),ja("mat-slider-disabled",e.disabled)("mat-slider-has-ticks",e.tickInterval)("mat-slider-horizontal",!e.vertical)("mat-slider-axis-inverted",e._shouldInvertAxis())("mat-slider-invert-mouse-coords",e._shouldInvertMouseCoords())("mat-slider-sliding",e._isSliding)("mat-slider-thumb-label-showing",e.thumbLabel)("mat-slider-vertical",e.vertical)("mat-slider-min-value",e._isMinValue())("mat-slider-hide-last-tick",e.disabled||e._isMinValue()&&e._getThumbGap()&&e._shouldInvertAxis())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disabled:"disabled",color:"color",tabIndex:"tabIndex",invert:"invert",max:"max",min:"min",step:"step",thumbLabel:"thumbLabel",tickInterval:"tickInterval",value:"value",vertical:"vertical",displayWith:"displayWith",valueText:"valueText"},outputs:{change:"change",input:"input",valueChange:"valueChange"},exportAs:["matSlider"],features:[xl([N$]),jo],decls:13,vars:6,consts:[[1,"mat-slider-wrapper"],["sliderWrapper",""],[1,"mat-slider-track-wrapper"],[1,"mat-slider-track-background",3,"ngStyle"],[1,"mat-slider-track-fill",3,"ngStyle"],[1,"mat-slider-ticks-container",3,"ngStyle"],[1,"mat-slider-ticks",3,"ngStyle"],[1,"mat-slider-thumb-container",3,"ngStyle"],[1,"mat-slider-focus-ring"],[1,"mat-slider-thumb"],[1,"mat-slider-thumb-label"],[1,"mat-slider-thumb-label-text"]],template:function(t,e){1&t&&(ra(0,"div",0,1),ra(2,"div",2),oa(3,"div",3),oa(4,"div",4),sa(),ra(5,"div",5),oa(6,"div",6),sa(),ra(7,"div",7),oa(8,"div",8),oa(9,"div",9),ra(10,"div",10),ra(11,"span",11),Ja(12),sa(),sa(),sa(),sa()),2&t&&(ws(3),na("ngStyle",e._getTrackBackgroundStyles()),ws(1),na("ngStyle",e._getTrackFillStyles()),ws(1),na("ngStyle",e._getTicksContainerStyles()),ws(1),na("ngStyle",e._getTicksStyles()),ws(1),na("ngStyle",e._getThumbContainerStyles()),ws(5),tl(e.displayValue))},directives:[jh],styles:['.mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:"";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\n'],encapsulation:2,changeDetection:0}),t})();function B$(t){return"t"===t.type[0]}function V$(t,e){let n;return n=B$(t)?"number"==typeof e?z$(t.touches,e)||z$(t.changedTouches,e):t.touches[0]||t.changedTouches[0]:t,n?{x:n.clientX,y:n.clientY}:void 0}function z$(t,e){for(let n=0;n{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy],Wy]}),t})();function H$(t,e){}class $${constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const G$={dialogContainer:Qg("dialogContainer",[em("void, exit",tm({opacity:0,transform:"scale(0.7)"})),em("enter",tm({transform:"none"})),im("* => enter",Zg("150ms cubic-bezier(0, 0, 0.2, 1)",tm({transform:"none",opacity:1}))),im("* => void, * => exit",Zg("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",tm({opacity:0})))])};let W$=(()=>{class t extends Kp{constructor(t,e,n,i,r,s){super(),this._elementRef=t,this._focusTrapFactory=e,this._changeDetectorRef=n,this._config=r,this._focusMonitor=s,this._animationStateChanged=new Bc,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=t=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(t)),this._ariaLabelledBy=r.ariaLabelledBy||null,this._document=i}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const e=Np(),n=this._elementRef.nativeElement;(!e||e===this._document.body||e===n||n.contains(e))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=Np())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,e=Np();return t===e||t.contains(e)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ag),ea(nc),ea(th,8),ea($$),ea(Ug))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&Zc(tf,7),2&t){let t;Qc(t=tu())&&(e._portalOutlet=t.first)}},features:[jo]}),t})(),q$=(()=>{class t extends W${constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:e}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:e})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:e}))}_onAnimationStart({toState:t,totalTime:e}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:e}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:e})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,e){1&t&&ga("@dialogContainer.start",function(t){return e._onAnimationStart(t)})("@dialogContainer.done",function(t){return e._onAnimationDone(t)}),2&t&&(rl("id",e._id),Ko("role",e._config.role)("aria-labelledby",e._config.ariaLabel?null:e._ariaLabelledBy)("aria-label",e._config.ariaLabel)("aria-describedby",e._config.ariaDescribedBy||null),sl("@dialogContainer",e._state))},features:[jo],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,e){1&t&&Jo(0,H$,0,0,"ng-template",0)},directives:[tf],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[G$.dialogContainer]}}),t})(),X$=0;class Y${constructor(t,e,n="mat-dialog-"+X$++){this._overlayRef=t,this._containerInstance=e,this.id=n,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new A,this._afterClosed=new A,this._beforeClosed=new A,this._state=0,e._id=n,e._animationStateChanged.pipe(ep(t=>"opened"===t.state),rf(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),e._animationStateChanged.pipe(ep(t=>"closed"===t.state),rf(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),t.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),t.keydownEvents().pipe(ep(t=>27===t.keyCode&&!this.disableClose&&!uf(t))).subscribe(t=>{t.preventDefault(),K$(this,"keyboard")}),t.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():K$(this,"mouse")})}close(t){this._result=t,this._containerInstance._animationStateChanged.pipe(ep(t=>"closing"===t.state),rf(1)).subscribe(e=>{this._beforeClosed.next(t),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(t){let e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(t="",e=""){return this._overlayRef.updateSize({width:t,height:e}),this._overlayRef.updatePosition(),this}addPanelClass(t){return this._overlayRef.addPanelClass(t),this}removePanelClass(t){return this._overlayRef.removePanelClass(t),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function K$(t,e,n){return void 0!==t._containerInstance&&(t._containerInstance._closeInteractionType=e),t.close(n)}const Q$=new oi("MatDialogData"),Z$=new oi("mat-dialog-default-options"),J$=new oi("mat-dialog-scroll-strategy"),tG={provide:J$,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.block()}};let eG=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l){this._overlay=t,this._injector=e,this._defaultOptions=n,this._parentDialog=i,this._overlayContainer=r,this._dialogRefConstructor=o,this._dialogContainerType=a,this._dialogDataToken=l,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new A,this._afterOpenedAtThisLevel=new A,this._ariaHiddenElements=new Map,this.afterAllClosed=vH(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(lp(void 0))),this._scrollStrategy=s}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,e){(e=function(t,e){return Object.assign(Object.assign({},e),t)}(e,this._defaultOptions||new $$)).id&&this.getDialogById(e.id);const n=this._createOverlay(e),i=this._attachDialogContainer(n,e),r=this._attachDialogContent(t,i,n,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(r),r.afterClosed().subscribe(()=>this._removeOpenDialog(r)),this.afterOpened.next(r),i._initializeWithAttachedContent(),r}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(e=>e.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const e=this._getOverlayConfig(t);return this._overlay.create(e)}_getOverlayConfig(t){const e=new vf({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(e.backdropClass=t.backdropClass),e}_attachDialogContainer(t,e){const n=No.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:$$,useValue:e}]}),i=new qp(this._dialogContainerType,e.viewContainerRef,n,e.componentFactoryResolver);return t.attach(i).instance}_attachDialogContent(t,e,n,i){const r=new this._dialogRefConstructor(n,e,i.id);if(t instanceof ac)e.attachTemplatePortal(new Xp(t,null,{$implicit:i.data,dialogRef:r}));else{const n=this._createInjector(i,r,e),s=e.attachComponentPortal(new qp(t,i.viewContainerRef,n));r.componentInstance=s.instance}return r.updateSize(i.width,i.height).updatePosition(i.position),r}_createInjector(t,e,n){const i=t&&t.viewContainerRef&&t.viewContainerRef.injector,r=[{provide:this._dialogContainerType,useValue:n},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:e}];return t.direction&&(!i||!i.get(Fp,null,Mt.Optional))&&r.push({provide:Fp,useValue:{value:t.direction,change:Dd()}}),No.create({parent:i||this._injector,providers:r})}_removeOpenDialog(t){const e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((t,e)=>{t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const e=t.parentElement.children;for(let n=e.length-1;n>-1;n--){let i=e[n];i!==t&&"SCRIPT"!==i.nodeName&&"STYLE"!==i.nodeName&&!i.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(i,i.getAttribute("aria-hidden")),i.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let e=t.length;for(;e--;)t[e].close()}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(No),ea(void 0),ea(void 0),ea(Tf),ea(void 0),ea(ai),ea(ai),ea(oi))},t.\u0275dir=se({type:t}),t})(),nG=(()=>{class t extends eG{constructor(t,e,n,i,r,s,o){super(t,e,i,s,o,r,Y$,q$,Q$)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Vf),Ei(No),Ei(ph,8),Ei(Z$,8),Ei(J$),Ei(t,12),Ei(Tf))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),iG=0,rG=(()=>{class t{constructor(t,e,n){this._dialogRef=t,this._elementRef=e,this._dialog=n,this.id="mat-dialog-title-"+iG++}ngOnInit(){this._dialogRef||(this._dialogRef=function(t,e){let n=t.nativeElement.parentElement;for(;n&&!n.classList.contains("mat-dialog-container");)n=n.parentElement;return n?e.find(t=>t.id===n.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$,8),ea(Al),ea(nG))},t.\u0275dir=se({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,e){2&t&&rl("id",e.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),t})(),sG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),t})();let oG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[nG,tG],imports:[[Wf,ef,Wy],Wy]}),t})();const aG=new oi("CdkAccordion");let lG=0,cG=(()=>{class t{constructor(t,e,n){this.accordion=t,this._changeDetectorRef=e,this._expansionDispatcher=n,this._openCloseAllSubscription=g.EMPTY,this.closed=new Bc,this.opened=new Bc,this.destroyed=new Bc,this.expandedChange=new Bc,this.id="cdk-accordion-child-"+lG++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=n.listen((t,e)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===e&&this.id!==t&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=kd(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return t.\u0275fac=function(e){return new(e||t)(ea(aG,12),ea(nc),ea(zp))},t.\u0275dir=se({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[xl([{provide:aG,useValue:void 0}])]}),t})(),uG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const hG=["body"];function dG(t,e){}const pG=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],fG=["mat-expansion-panel-header","*","mat-action-row"];function gG(t,e){1&t&&oa(0,"span",2),2&t&&na("@indicatorRotate",va()._getExpandedState())}const mG=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],bG=["mat-panel-title","mat-panel-description","*"],yG=new oi("MAT_ACCORDION"),vG="225ms cubic-bezier(0.4,0.0,0.2,1)",_G={indicatorRotate:Qg("indicatorRotate",[em("collapsed, void",tm({transform:"rotate(0deg)"})),em("expanded",tm({transform:"rotate(180deg)"})),im("expanded <=> collapsed, void => collapsed",Zg(vG))]),bodyExpansion:Qg("bodyExpansion",[em("collapsed, void",tm({height:"0px",visibility:"hidden"})),em("expanded",tm({height:"*",visibility:"visible"})),im("expanded <=> collapsed, void => collapsed",Zg(vG))])};let wG=(()=>{class t{constructor(t){this._template=t}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]}),t})(),xG=0;const SG=new oi("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let CG=(()=>{class t extends cG{constructor(t,e,n,i,r,s,o){super(t,e,n),this._viewContainerRef=i,this._animationMode=s,this._hideToggle=!1,this.afterExpand=new Bc,this.afterCollapse=new Bc,this._inputChanges=new A,this._headerId="mat-expansion-panel-header-"+xG++,this._bodyAnimationDone=new A,this.accordion=t,this._document=r,this._bodyAnimationDone.pipe(Wd((t,e)=>t.fromState===e.fromState&&t.toState===e.toState)).subscribe(t=>{"void"!==t.fromState&&("expanded"===t.toState?this.afterExpand.emit():"collapsed"===t.toState&&this.afterCollapse.emit())}),o&&(this.hideToggle=o.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=kd(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(lp(null),ep(()=>this.expanded&&!this._portal),rf(1)).subscribe(()=>{this._portal=new Xp(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,e=this._body.nativeElement;return t===e||e.contains(t)}return!1}}return t.\u0275fac=function(e){return new(e||t)(ea(yG,12),ea(nc),ea(zp),ea(pc),ea(th),ea(Ny,8),ea(SG,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,wG,5),2&t){let t;Qc(t=tu())&&(e._lazyContent=t.first)}},viewQuery:function(t,e){if(1&t&&Zc(hG,5),2&t){let t;Qc(t=tu())&&(e._body=t.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,e){2&t&&ja("mat-expanded",e.expanded)("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-expansion-panel-spacing",e._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[xl([{provide:yG,useValue:void 0}]),jo,ye],ngContentSelectors:fG,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,e){1&t&&(wa(pG),xa(0),ra(1,"div",0,1),fa("@bodyExpansion.done",function(t){return e._bodyAnimationDone.next(t)}),ra(3,"div",2),xa(4,1),Jo(5,dG,0,0,"ng-template",3),sa(),xa(6,2),sa()),2&t&&(ws(1),na("@bodyExpansion",e._getExpandedState())("id",e.id),Ko("aria-labelledby",e._headerId),ws(4),na("cdkPortalOutlet",e._portal))},directives:[tf],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[_G.bodyExpansion]},changeDetection:0}),t})();class EG{}const OG=Ky(EG);let TG=(()=>{class t extends OG{constructor(t,e,n,i,r,s,o){super(),this.panel=t,this._element=e,this._focusMonitor=n,this._changeDetectorRef=i,this._animationMode=s,this._parentChangeSubscription=g.EMPTY;const a=t.accordion?t.accordion._stateChanges.pipe(ep(t=>!(!t.hideToggle&&!t.togglePosition))):pp;this.tabIndex=parseInt(o||"")||0,this._parentChangeSubscription=Q(t.opened,t.closed,a,t._inputChanges.pipe(ep(t=>!!(t.hideToggle||t.disabled||t.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(ep(()=>t._containsFocus())).subscribe(()=>n.focusVia(e,"program")),r&&(this.expandedHeight=r.expandedHeight,this.collapsedHeight=r.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:uf(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,e){t?this._focusMonitor.focusVia(this._element,t,e):this._element.nativeElement.focus(e)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return t.\u0275fac=function(e){return new(e||t)(ea(CG,1),ea(Al),ea(Ug),ea(nc),ea(SG,8),ea(Ny,8),ii("tabindex"))},t.\u0275cmp=Jt({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,e){1&t&&fa("click",function(){return e._toggle()})("keydown",function(t){return e._keydown(t)}),2&t&&(Ko("id",e.panel._headerId)("tabindex",e.tabIndex)("aria-controls",e._getPanelId())("aria-expanded",e._isExpanded())("aria-disabled",e.panel.disabled),La("height",e._getHeaderHeight()),ja("mat-expanded",e._isExpanded())("mat-expansion-toggle-indicator-after","after"===e._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===e._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[jo],ngContentSelectors:bG,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,e){1&t&&(wa(mG),ra(0,"span",0),xa(1),xa(2,1),xa(3,2),sa(),Jo(4,gG,1,1,"span",1)),2&t&&(ws(4),na("ngIf",e._showToggle()))},directives:[Ah],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[_G.indicatorRotate]},changeDetection:0}),t})(),kG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy,uG,ef]]}),t})();var PG=n(5478);Object.create(Error.prototype);const AG=["*"];var MG=(()=>(function(t){t.LineHighlight="line-highlight",t.LineNumbers="line-numbers"}(MG||(MG={})),MG))();class IG{}const DG=new oi("SECURITY_CONTEXT");let RG=(()=>{class t{constructor(t,e,n,i,r){this.platform=t,this.securityContext=e,this.http=n,this.sanitizer=r,this.initialMarkedOptions={renderer:new PG.Renderer},this.options=i}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,e=!1,n=!1,i=this.options){const r=this.trimIndentation(t),s=e?this.decodeHtml(r):r,o=n?this.renderEmoji(s):s,a=PG.parse(o,i);return this.sanitizer.sanitize(this.securityContext,a)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(D(e=>this.handleExtension(t,e)))}highlight(t){if(Xh(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const e=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(e,t=>t.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,e){if(!Xh(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(t,n)=>katex.renderToString(n,e))}decodeHtml(t){if(!Xh(this.platform))return t;const e=document.createElement("textarea");return e.innerHTML=t,e.value}handleExtension(t,e){const n=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==n?"```"+n+"\n"+e+"\n```":e}renderEmoji(t){if(!Xh(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let e;return t.split("\n").map(t=>{let n=e;return t.length>0&&(n=isNaN(n)?t.search(/\S|$/):Math.min(t.search(/\S|$/),n)),isNaN(e)&&(e=n),n?t.substring(n):t}).join("\n")}}return t.\u0275fac=function(e){return new(e||t)(Ei(hu),Ei(DG),Ei(Jv,8),Ei(IG,8),Ei(Sd))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),NG=(()=>{class t{constructor(t,e){this.element=t,this.markdownService=e,this.error=new Bc,this.load=new Bc,this.ready=new Bc,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,e=!1){let n=this.markdownService.compile(t,e,this.emoji);n=this.katex?this.markdownService.renderKatex(n,this.katexOptions):n,this.element.nativeElement.innerHTML=n,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,MG.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,e){const n=t.querySelectorAll("pre");for(let i=0;i{const r=e[t];if(r){const e=this.toLispCase(t);n.item(i).setAttribute(e,r.toString())}})}toLispCase(t){const e=t.match(/([A-Z])/g);if(!e)return t;let n=t.toString();for(let i=0,r=e.length;i{class t{static forRoot(e){return{ngModule:t,providers:[RG,e&&e.loader||[],e&&e.markedOptions||[],{provide:DG,useValue:e&&null!=e.sanitize?e.sanitize:yr.HTML}]}}static forChild(){return{ngModule:t}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function jG(t,e,n){return n?jG(t,e).pipe(D(t=>d(t)?n(...t):n(t))):new E(n=>{const i=(...t)=>n.next(1===t.length?t[0]:t);let r;try{r=t(i)}catch(s){return void n.error(s)}if(a(e))return()=>e(i,r)})}function FG(...t){return e=>{let n;return"function"==typeof t[t.length-1]&&(n=t.pop()),e.lift(new BG(t,n))}}class BG{constructor(t,e){this.observables=t,this.project=e}call(t,e){return e.subscribe(new VG(t,this.observables,this.project))}}class VG extends j_{constructor(t,e,n){super(t),this.observables=e,this.project=n,this.toRespond=[];const i=e.length;this.values=new Array(i);for(let r=0;r0){const t=i.indexOf(n);-1!==t&&i.splice(t,1)}}notifyComplete(){}_next(t){if(0===this.toRespond.length){const e=[t,...this.values];this.project?this._tryProject(e):this.destination.next(e)}}_tryProject(t){let e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}class zG{constructor(t,e,n=!1){this.accumulator=t,this.seed=e,this.hasSeed=n}call(t,e){return e.subscribe(new UG(t,this.accumulator,this.seed,this.hasSeed))}}class UG extends v{constructor(t,e,n,i){super(t),this.accumulator=e,this._seed=n,this.hasSeed=i,this.index=0}get seed(){return this._seed}set seed(t){this.hasSeed=!0,this._seed=t}_next(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)}_tryNext(t){const e=this.index++;let n;try{n=this.accumulator(this.seed,t,e)}catch(i){this.destination.error(i)}this.seed=n,this.destination.next(n)}}class HG{constructor(t){this.predicate=t}call(t,e){return e.subscribe(new $G(t,this.predicate))}}class $G extends v{constructor(t,e){super(t),this.predicate=e,this.skipping=!0,this.index=0}_next(t){const e=this.destination;this.skipping&&this.tryCallPredicate(t),this.skipping||e.next(t)}tryCallPredicate(t){try{const e=this.predicate(t,this.index++);this.skipping=Boolean(e)}catch(e){this.destination.error(e)}}}const GG=["youtubeContainer"];let WG=(()=>{class t{constructor(t,e){this._ngZone=t,this._youtubeContainer=new A,this._destroyed=new A,this._playerChanges=new Jf(void 0),this._videoId=new Jf(void 0),this._height=new Jf(390),this._width=new Jf(640),this._startSeconds=new Jf(void 0),this._endSeconds=new Jf(void 0),this._suggestedQuality=new Jf(void 0),this._playerVars=new Jf(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Xh(e)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=Dd(!0);if(!window.YT||!window.YT.Player){const e=new A;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>e.next(!0))},t=e.pipe(rf(1),lp(!1))}const e=function(t,e,n,i,r,s,o){const a=z_([e,s]).pipe(FG(z_([i,r])),D(([t,e])=>{const[n,i]=t,[r,s]=e;return n?{videoId:n,playerVars:i,width:r,height:s}:void 0}));return z_([t,a,Dd(o)]).pipe(function(t){return S(function(...t){let e=null;return"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&d(t[0])&&(t=t[0].slice()),n=>n.lift.call(U([n,...t]),new U_(e))}(t),function(t){return e=>e.lift(new HG(t))}(([t,e])=>!e),D(([t])=>t))}(n),function(t,e){let n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new zG(t,e,n))}}(qG,void 0),Wd())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(eg(t=>{this._playerChanges.next(t)}),W(t=>t?XG(t)?Dd(t):new E(e=>{let n=!1,i=!1;const r=t=>{i=!0,n||(t.target.removeEventListener("onReady",r),e.next(t.target))};return t.addEventListener("onReady",r),()=>{n=!0,i||(t=>{XG(t)||t.destroy()})(t)}}).pipe(rf(1),lp(void 0)):Dd(void 0)),rp(this._destroyed),rt(new A));e.subscribe(t=>{this._player=t,t&&this._pendingPlayerState&&this._initializePlayer(t,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(t,e,n){z_([t,e,n]).subscribe(([t,e,n])=>t&&t.setSize(e,n))}(e,this._width,this._height),function(t,e){z_([t,e]).subscribe(([t,e])=>t&&e&&t.setPlaybackQuality(e))}(e,this._suggestedQuality),function(t,e,n,i,r,s){const o=z_([n,i]).pipe(D(([t,e])=>({startSeconds:t,endSeconds:e}))),a=o.pipe(YG(t,t=>!!t&&!function(t){const e=t.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(t))),l=e.pipe(YG(t,(t,e)=>!!t&&t.videoId!==e));Q(t.pipe(YG(z_([e,o]),([t,e],n)=>!(!n||t==n.videoId&&!e.startSeconds&&!e.endSeconds))),l,a).pipe(FG(z_([t,e,o,r])),D(([t,e])=>e),rp(s)).subscribe(([t,e,n,i])=>{!e||!t||(t.videoId=e,t.cueVideoById(Object.assign({videoId:e,suggestedQuality:i},n)))})}(e,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),e.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,e){this._player?this._player.seekTo(t,e):this._getPendingState().seek={seconds:t,allowSeekAhead:e}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,e){const{playbackState:n,playbackRate:i,volume:r,muted:s,seek:o}=e;switch(n){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=i&&t.setPlaybackRate(i),null!=r&&t.setVolume(r),null!=s&&(s?t.mute():t.unMute()),null!=o&&t.seekTo(o.seconds,o.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(cp(e=>e?jG(n=>{e.addEventListener(t,n)},n=>{try{e.removeEventListener&&e.removeEventListener(t,n)}catch(i){}}):Dd()),t=>new E(e=>t.subscribe({next:t=>this._ngZone.run(()=>e.next(t)),error:t=>e.error(t),complete:()=>e.complete()})),rp(this._destroyed))}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(hu))},t.\u0275cmp=Jt({type:t,selectors:[["youtube-player"]],viewQuery:function(t,e){if(1&t&&Zc(GG,5),2&t){let t;Qc(t=tu())&&(e.youtubeContainer=t.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,e){1&t&&oa(0,"div",null,0)},encapsulation:2,changeDetection:0}),t})();function qG(t,[e,n,i]){if(t&&n&&t.playerVars!==n.playerVars)t.destroy();else{if(!n)return void(t&&t.destroy());if(t)return t}const r=i.runOutsideAngular(()=>new YT.Player(e,n));return r.videoId=n.videoId,r.playerVars=n.playerVars,r}function XG(t){return"getPlayerStatus"in t}function YG(t,e){return S(FG(t),ep(([t,n])=>e(n,t)),D(([t])=>t))}let KG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),QG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),t})();function ZG(t){return!0===t}function JG(t){return null==t}function tW(t){return!JG(t)}function eW(t){return Boolean(t)}function nW(t){return JG(t)?t:JSON.parse(JSON.stringify(t))}const iW=t=>{const e=t instanceof Date;if("object"!=typeof t||null===t||e)return t;Object.freeze(t);const n="function"==typeof t,i=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(e=>{i.call(t,e)&&(!n||"caller"!==e&&"callee"!==e&&"arguments"!==e)&&null!==t[e]&&("object"==typeof t[e]||"function"==typeof t[e])&&!Object.isFrozen(t[e])&&iW(t[e])}),t};function rW(t){return tW(t)&&"object"==typeof t&&function(t){return"[object Object]"===Object.prototype.toString.call(t)}(t)}const sW="NGXS_DATA_META",oW="NGXS_META",aW="NGXS_ARGUMENT_REGISTRY_META";let lW=(()=>{class t{constructor(t){this.sequence$=new Jf(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function cW(t){return t[sW]}let uW=(()=>{class t{constructor(e,n,i){t.store=e.get(qz),t.ngZone=e.get(Tu),t.factory=n,t.context=i,t.computed=e.get(lW)}}return t.store=null,t.computed=null,t.context=null,t.factory=null,t.ngZone=null,t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(XV),Ei(qV))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class hW{constructor(){hW.statesCachedMeta.clear()}static createStateContext(t){return uW.context.createStateContext(t)}static ensureMappedState(t){if(JG(uW.factory)||JG(t))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(tW(t.name)?hW.statesCachedMeta.get(t.name):null)||hW.ensureMeta(t)}static getRepositoryByInstance(t){var e;const n=null!==(e=cW(hW.getStateClassByInstance(t)))&&void 0!==e?e:null;if(JG(n))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return n}static getStateClassByInstance(t){return(null!=t?t:{}).constructor}static clearMetaByInstance(t){const e=hW.getRepositoryByInstance(t);e.stateMeta.actions={},e.operations={}}static createPayload(t,e){const n={},i=Array.from(t);for(let r=0;r0?n:null}static createAction(t,e,n){const i=hW.createPayload(e,n);return new(function(t){return class{constructor(t){t&&Object.keys(t).forEach(e=>{this[e]=t[e]})}static get type(){return t}}}(t.type))(i)}static ensureMeta(t){var e;const n=tW(t.name)?null===(e=uW.factory.states)||void 0===e?void 0:e.find(e=>e.name===t.name):null;return tW(n)&&tW(t.name)&&hW.statesCachedMeta.set(t.name,n),n}}hW.statesCachedMeta=new Map,hW.\u0275fac=function(t){return new(t||hW)},hW.\u0275prov=xt({token:hW,factory:hW.\u0275fac}),new _p(1);class dW extends Error{constructor(t){super(`Child states can only be added to an object. Cannot convert ${tW(null==t?void 0:t.constructor)?t.constructor.name:t} to PlainObject`)}}function pW(t){var e;return null!==(e=t.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function fW(t){var e;const n=pW(t),i=null!==(e=n.children)&&void 0!==e?e:[],r=nW(void 0===n.defaults?{}:n.defaults);if(i.length){if(rW(r))return function(t,e){return e.reduce((t,e)=>{const n=pW(e);if(function(t){const e="string"==typeof t?t.trim():t;return[void 0,null,NaN,"",1/0].includes(e)}(n.name))throw new Error("State name not provided in class");return t[n.name.toString()]=fW(e),t},null!=t?t:{})}(r,i);throw new dW(r)}return r}function gW(t){var e;return null!==(e=t.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function mW(){var t,e;return null!==(e=null===(t=null==uW?void 0:uW.computed)||void 0===t?void 0:t.sequenceValue)&&void 0!==e?e:0}function bW(t){let e=!1;return Gd(t)&&(e=!0),e}function yW(t){return t[aW]}class vW extends Error{constructor(t,e){super(`An argument with the name '${t}' already exists in the method '${e}'`)}}class _W{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(t){var e;return null!==(e=this.payloadMap.get(t))&&void 0!==e?e:null}getArgumentNameByIndex(t){var e;return null!==(e=this.argumentMap.get(t))&&void 0!==e?e:null}createPayloadType(t,e,n){this.checkDuplicateName(t,e),this.payloadMap.set(n,t),this.payloadMap.set(t,t)}createArgumentName(t,e,n){this.checkDuplicateName(t,e),this.argumentMap.set(n,t),this.argumentMap.set(t,t)}checkDuplicateName(t,e){if(eW(this.argumentMap.has(t))||eW(this.payloadMap.has(t)))throw new vW(t,e)}}function wW(t){return Vu()?iW(t):t}function xW(t){return{enumerable:!0,configurable:!0,get(){const e=cW(t),n=hW.ensureMappedState(e.stateMeta);return hW.createStateContext(n)}}}function SW(t){if(!t)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},t),{getState:()=>Vu()?iW(t.getState()):t.getState(),setState(e){t.setState(e)},patchState(e){t.patchState(e)}})}function CW(){return(t,e,n)=>{!function(t,e){if(!function(t,e){var n;let i=t,r=!1;if(rW(i))for(;null!==i;){if(ZG(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(n=Object.getOwnPropertyDescriptor(i,e))||void 0===n?void 0:n.get);break}i=Object.getPrototypeOf(i)}return r}(t,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(t,e);const i=n.get;return n.get=function(...t){const e=function(t){return JG(gW(t))&&Object.defineProperties(t,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),gW(t)}(this),n=null==e?void 0:e.get(i);if(ZG(null==n?void 0:n.isObservable))return null==n?void 0:n.value;if(JG(n)||n.sequenceId!==mW()){e.delete(i);const n=i.apply(this,t);return e.set(i,{value:n,sequenceId:mW(),isObservable:bW(n)}),n}return n.value},n}}const EW={cancelUncompleted:!0,insideZone:!1};function OW(t=EW){return(e,n,i)=>{!function(t,e){if(t.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=n.toString();return i.value=function(...e){const n=this;let i=null;const o=hW.getRepositoryByInstance(n),a=o.operations;let l=a[s];const c=o.stateMeta,u=yW(r);if(JG(l)){const e=function(t){var e,n,i;return null!==(i=null===(n=null===(e=(t+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===n?void 0:n.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),n=function(t){const{statePath:e,argumentsNames:n,methodName:i,argumentRegistry:r}=t;let s="";for(let o=0;o{var s;return ZG(t.insideZone)?null===(s=uW.ngZone)||void 0===s||s.run(()=>{i=r.apply(n,e)}):i=r.apply(n,e),Gd(i)?Dd(null).pipe(D(()=>i)):i};const h=hW.createAction(l,e,u),d=uW.store.dispatch(h);return Gd(i)?function(t,e){return Ev([t,e]).pipe(D(t=>t.pop()))}(d,i):i},i}}function TW(t){return(e,n,i)=>{const r=t.trim();if(!r)throw new Error("Payload name should be initialized");(function(t,e){const n=t[e];return JG(yW(n))&&Object.defineProperties(n,{[aW]:{enumerable:!0,configurable:!0,value:new _W}}),yW(n)})(e,n).createPayloadType(r,n,i)}}function kW(){return t=>{const e=function(t){if(function(t){return!eW(t)}(t.hasOwnProperty(oW))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(t,oW,{value:e})}return function(t){var e;return null===(e=t)||void 0===e?void 0:e[oW]}(t)}(t);if(JG(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(t,e){(function(t){var e;const n=null!==(e=cW(t))&&void 0!==e?e:null;return(JG(n)||(null==n?void 0:n.stateClass)!==t)&&function(t){Object.defineProperty(t,sW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:t}})}(t),cW(t)}(t)).stateMeta=e}(t,e),function(t,e,n){Object.defineProperties(t.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>nW(n)},context:xW(t)})}(t,e,fW(t)),function(t){var e,n;const i=cW(t),r=null!==(n=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==n?n:null;if(tW(r)){const e=`__${r}__selector`;Object.defineProperties(t.prototype,{[e]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(tW(this[e]))return this[e];if(JG(uW.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[e]=uW.store.select(t).pipe(D(t=>Vu()?iW(t):t),xp({refCount:!0,bufferSize:1})),this[e]}}})}}(t)}}let PW=(()=>{class t{constructor(){this.browserStorageEvents$=new A,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var e;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(e=this.ngxsDataDoCheck)||void 0===e||e.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var t;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(t=this.ngxsDataDoCheck)||void 0===t||t.call(this))}markAsDirtyAfterReset(){var t;this.dirty=!0,null===(t=this.ngxsDataAfterReset)||void 0===t||t.call(this)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),AW=(()=>{class t extends PW{get snapshot(){return wW(this.getState())}get ctx(){return SW(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW(),ww("design:type",Object),ww("design:paramtypes",[])],t.prototype,"snapshot",null),vw([OW(),_w(0,TW("patchValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"patchState",null),vw([OW(),_w(0,TW("stateValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"setState",null),vw([OW(),ww("design:type",Function),ww("design:paramtypes",[]),ww("design:returntype",void 0)],t.prototype,"reset",null),t})(),MW=(()=>{class t extends PW{get snapshot(){return wW(this.getState())}get ctx(){return SW(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW(),ww("design:type",Object),ww("design:paramtypes",[])],t.prototype,"snapshot",null),vw([OW(),_w(0,TW("patchValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"patchState",null),vw([OW(),_w(0,TW("stateValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"setState",null),vw([OW(),ww("design:type",Function),ww("design:paramtypes",[]),ww("design:returntype",void 0)],t.prototype,"reset",null),t})();function IW(){return ep(t=>null!=t)}const DW=new oi("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),RW=new oi("ngx-window",{providedIn:"root",factory:()=>function(t){return Xh(t)?window:null}(Oi(hu))}),NW=new oi("ngx-data-layer",{providedIn:"root",factory:()=>function(t){return t?t.dataLayer=t.dataLayer||[]:null}(Oi(RW))}),LW=new oi("ngx-gtag-fn",{providedIn:"root",factory:()=>function(t,e){return t?t.gtag=t.gtag||function(){e.push(arguments)}:null}(Oi(RW),Oi(NW))});let jW=(()=>{class t{constructor(t,e,n){this.settings=t,this._document=e,this._gtag=n}get document(){return this._document}throw(t){(this.settings.enableTracing||Vu())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((t,[e,n])=>Object.defineProperty(t,e,{value:n,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(t=>void 0!==t))}catch(e){this.throw(e)}}event(t,e,n,i,r){try{const s=new Map;e&&s.set("event_category",e),n&&s.set("event_label",n),i&&s.set("value",i),void 0!==r&&s.set("interaction",r);const o=this.toKeyValue(s);o?this.gtag("event",t,o):this.gtag("event",t)}catch(s){this.throw(s)}}pageView(t,e,n,i){try{const r=new Map([["page_path",t]]);e&&r.set("page_title",e),(n||this.document)&&r.set("page_location",n||this.document.location.href),i&&Object.entries(i).map(([t,e])=>r.set(t,e)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(r))}catch(r){this.throw(r)}}appView(t,e,n,i,r){try{const s=new Map([["screen_name",t],["app_name",e]]);n&&s.set("app_id",n),i&&s.set("app_version",i),r&&s.set("app_installer_id",r),this.gtag("event","screen_view",this.toKeyValue(s))}catch(s){this.throw(s)}}set(...t){try{this._gtag("set",...t)}catch(e){this.throw(e)}}exception(t,e){try{const n=new Map;t&&n.set("description",t),e&&n.set("fatal",e),this.toKeyValue(n)?this.gtag("event","exception",this.toKeyValue(n)):this.gtag("event","exception")}catch(n){this.throw(n)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(DW),Ei(th),Ei(LW))},t.\u0275prov=xt({factory:function(){return new t(Ei(DW),Ei(th),Ei(LW))},token:t,providedIn:"root"}),t})();const FW={provide:su,multi:!0,useFactory:function(t,e,n){return()=>xw(this,void 0,void 0,function*(){var i;if(!t.trackingCode)return void(Vu()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(Vu()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));n||Vu()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),t.uri=t.uri||`https://www.googletagmanager.com/gtag/js?id=${t.trackingCode}`,t.initCommands=null!==(i=null==t?void 0:t.initCommands)&&void 0!==i?i:[],t.initCommands.find(t=>"config"===t.command)||t.initCommands.unshift({command:"config",values:[t.trackingCode]}),t.initCommands.find(t=>"js"===t.command)||t.initCommands.unshift({command:"js",values:[new Date]});for(const n of t.initCommands)e(n.command,...n.values);const r=n.createElement("script");r.async=!0,r.src=t.uri,t.nonce&&r.setAttribute("nonce",t.nonce),n.getElementsByTagName("head")[0].appendChild(r)})},deps:[DW,LW,th]};new oi("ngx-google-analytics-routing-settings",{factory:()=>({})});let BW=(()=>{class t{static forRoot(e,n=[],i,r,s){return{ngModule:t,providers:[{provide:DW,useValue:{trackingCode:e,initCommands:n,uri:i,enableTracing:r,nonce:s}},FW]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[]]}),t})(),VW=(()=>{class t{constructor(){this.consent="not-set",this.consentChange=new _p(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),zW=(()=>{class t{constructor(t,e,{trackingCode:n}){this.window=e,this.subscriptions=new g,this.token=n,this.subscriptions.add(t.consentChange.subscribe(t=>this.toggleGoogleAnalytics("rescinded"===t)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(VW),Ei(RW),Ei(DW))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const UW=new oi("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),HW=[VW,zW,(()=>{class t{constructor(t,e){this.key=e,this.subscriptions=new g;try{this.storage=localStorage}catch(n){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(t=>this.saveConsent(t)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,e;const n=null===(e=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===e?void 0:e.call(t,this.key);if(null==n)return"not-set";const i=n.trim().toLowerCase();switch(i){case"given":case"rescinded":return i;default:return"not-set"}}saveConsent(t){var e,n;null===(n=null===(e=this.storage)||void 0===e?void 0:e.setItem)||void 0===n||n.call(e,this.key,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(VW),Ei(UW))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})()];function $W(t){return Object.entries(t).reduce((t,[e,n])=>(null!=n&&(t[e]=`${n}`),t),{})}let GW=(()=>{class t{static forRoot(e){const{providers:n=[]}=BW.forRoot(e.gaToken,function(t){const{appName:e,projectName:n,developmentMode:i}=t;return[{command:"set",values:[$W({appName:e,projectName:n,developmentMode:i})]}]}(e));return{ngModule:t,providers:n}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[...HW,{provide:su,multi:!0,useFactory:()=>()=>{},deps:HW}],imports:[[BW]]}),t})();function WW(t,e,n,i){n&&"function"!=typeof n&&(i=n);const r="function"==typeof n?n:void 0,s=new _p(t,e,i);return t=>rt(()=>s,r)(t)}const qW=(t,e)=>JSON.stringify(t)===JSON.stringify(e),XW=t=>t.map(t=>void 0!==t?JSON.parse(JSON.stringify(t)):t),YW={storageStrategy:class extends class{}{constructor(){super(...arguments),this.cachePairs=[]}add(t,e,n){this.cachePairs.push(t)}addMany(t){this.cachePairs=t}updateAtIndex(t,e){Object.assign(this.cachePairs[t],e)}update(t,e){Object.assign(this.cachePairs[t],e)}getAll(){return this.cachePairs}removeAtIndex(t){this.cachePairs.splice(t,1)}remove(t){this.cachePairs.splice(t,1)}removeAll(){this.cachePairs.length=0}},globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},KW=new A;function QW(t={}){return function(e,n,i){const r=t.cacheKey||e.constructor.name+"#"+n,s=i.value;if(i&&i.value){let e=t.storageStrategy?new t.storageStrategy:new YW.storageStrategy;const n=[];t.cacheModifier&&t.cacheModifier.subscribe(t=>e.addMany(t(e.getAll(r,this)),r,this)),Q(KW.asObservable(),t.cacheBusterObserver?t.cacheBusterObserver:fp()).subscribe(t=>{e.removeAll(r,this),n.length=0}),t.cacheResolver=t.cacheResolver||YW.cacheResolver||qW,t.cacheHasher=t.cacheHasher||YW.cacheHasher||XW,i.value=function(...i){const o=e.getAll(r,this);let a=t.cacheHasher(i),l=o.find(e=>t.cacheResolver(e.parameters,a));const c=n.find(e=>t.cacheResolver(e.parameters,a));if((t.maxAge||YW.maxAge)&&l&&l.created&&((new Date).getTime()-new Date(l.created).getTime()>(t.maxAge||YW.maxAge)?(e.remove?e.remove(o.indexOf(l),l,r,this):e.removeAtIndex(o.indexOf(l),r,this),l=null):(t.slidingExpiration||YW.slidingExpiration)&&(l.created=new Date,e.update?e.update(o.indexOf(l),l,r,this):e.updateAtIndex(o.indexOf(l),l,r,this))),l){const e=Dd(l.response);return t.async?e.pipe(JH(0)):e}if(c)return c.response;{const l=s.call(this,...i).pipe(Av(()=>{const e=n.find(e=>t.cacheResolver(e.parameters,a));n.splice(n.indexOf(e),1)}),eg(n=>{(!t.shouldCacheDecider||t.shouldCacheDecider(n))&&((!(t.maxCacheCount||YW.maxCacheCount)||1===(t.maxCacheCount||YW.maxCacheCount)||(t.maxCacheCount||YW.maxCacheCount)&&(t.maxCacheCount||YW.maxCacheCount)this.isJsonMime(t));return void 0===e?t[0]:e}selectHeaderAccept(t){if(0===t.length)return;const e=t.find(t=>this.isJsonMime(t));return void 0===e?t[0]:e}isJsonMime(t){const e=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==t&&(e.test(t)||"application/json-patch+json"===t.toLowerCase())}lookupCredential(t){const e=this.credentials[t];return"function"==typeof e?e():e}}let eq=(()=>{class t{constructor(t,e,n){this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new Nv,this.configuration=new tq,n&&(this.configuration=n),"string"!=typeof this.configuration.basePath&&("string"!=typeof e&&(e=this.basePath),this.configuration.basePath=e),this.encoder=this.configuration.encoder||new ZW}addToHttpParams(t,e,n){return this.addToHttpParamsRecursive(t,e,n)}addToHttpParamsRecursive(t,e,n){if(null==e)return t;if("object"==typeof e)if(Array.isArray(e))e.forEach(e=>t=this.addToHttpParamsRecursive(t,e,n));else if(e instanceof Date){if(null==n)throw Error("key may not be null if value is Date");t=t.append(n,e.toISOString().substr(0,10))}else Object.keys(e).forEach(i=>t=this.addToHttpParamsRecursive(t,e[i],null!=n?`${n}.${i}`:i));else{if(null==n)throw Error("key may not be null if value is not object or array");t=t.append(n,e)}return t}aggregateResults(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/aggregate-results`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}cellTypeTermOccurences(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-term-occurences`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}cellTypeTreeModel(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-tree-model`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}dbStatus(t,e="body",n=!1,i){const r=t.token;let s=new zv({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"token"));let o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));let l=i&&i.context;void 0===l&&(l=new Uv);let c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/db-status`,{context:l,params:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:e,reportProgress:n})}getSpatialPlacement(t,e="body",n=!1,i){const r=t.getSpatialPlacementRequest;if(null==r)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");let s=this.defaultHeaders,o=i&&i.httpHeaderAccept;void 0===o&&(o=this.configuration.selectHeaderAccept(["application/json"])),void 0!==o&&(s=s.set("Accept",o));let a=i&&i.context;void 0===a&&(a=new Uv);const l=this.configuration.selectHeaderContentType(["application/json"]);void 0!==l&&(s=s.set("Content-Type",l));let c="json";return o&&(c=o.startsWith("text")?"text":this.configuration.isJsonMime(o)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/get-spatial-placement`,r,{context:a,responseType:c,withCredentials:this.configuration.withCredentials,headers:s,observe:e,reportProgress:n})}gtexRuiLocations(t,e="body",n=!1,i){const r=t.cache;let s=new zv({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"cache"));let o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));let l=i&&i.context;void 0===l&&(l=new Uv);let c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/gtex/rui_locations.jsonld`,{context:l,params:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:e,reportProgress:n})}hubmapRuiLocations(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/hubmap/rui_locations.jsonld`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}ontologyTermOccurences(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-term-occurences`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}ontologyTreeModel(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-tree-model`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}providerNames(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/provider-names`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}referenceOrganScene(t,e="body",n=!1,i){const r=t.organIri;if(null==r)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");const s=t.age,o=t.ageRange,a=t.bmi,l=t.bmiRange,c=t.cache,u=t.ontologyTerms,h=t.cellTypeTerms,d=t.providers,p=t.sex,f=t.spatial,g=t.technologies,m=t.token;let b=new zv({encoder:this.encoder});null!=s&&(b=this.addToHttpParams(b,s,"age")),null!=o&&(b=this.addToHttpParams(b,o,"age-range")),null!=a&&(b=this.addToHttpParams(b,a,"bmi")),null!=l&&(b=this.addToHttpParams(b,l,"bmi-range")),null!=c&&(b=this.addToHttpParams(b,c,"cache")),u&&u.forEach(t=>{b=this.addToHttpParams(b,t,"ontology-terms")}),h&&h.forEach(t=>{b=this.addToHttpParams(b,t,"cell-type-terms")}),null!=r&&(b=this.addToHttpParams(b,r,"organ-iri")),d&&d.forEach(t=>{b=this.addToHttpParams(b,t,"providers")}),null!=p&&(b=this.addToHttpParams(b,p,"sex")),f&&f.forEach(t=>{b=this.addToHttpParams(b,t,"spatial")}),g&&g.forEach(t=>{b=this.addToHttpParams(b,t,"technologies")}),null!=m&&(b=this.addToHttpParams(b,m,"token"));let y=this.defaultHeaders,v=i&&i.httpHeaderAccept;void 0===v&&(v=this.configuration.selectHeaderAccept(["application/json"])),void 0!==v&&(y=y.set("Accept",v));let _=i&&i.context;void 0===_&&(_=new Uv);let w="json";return v&&(w=v.startsWith("text")?"text":this.configuration.isJsonMime(v)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organ-scene`,{context:_,params:b,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:e,reportProgress:n})}referenceOrgans(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organs`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}scene(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/scene`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}sparql(t,e="body",n=!1,i){const r=t.query;if(null==r)throw new Error("Required parameter query was null or undefined when calling sparql.");const s=t.token,o=t.format;let a=new zv({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"query")),null!=s&&(a=this.addToHttpParams(a,s,"token")),null!=o&&(a=this.addToHttpParams(a,o,"format"));let l=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==c&&(l=l.set("Accept",c));let u=i&&i.context;void 0===u&&(u=new Uv);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/sparql`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:e,reportProgress:n})}sparqlPost(t,e="body",n=!1,i){const r=t.sparqlQueryRequest;if(null==r)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");const s=t.token,o=t.format;let a=new zv({encoder:this.encoder});null!=s&&(a=this.addToHttpParams(a,s,"token")),null!=o&&(a=this.addToHttpParams(a,o,"format"));let l=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==c&&(l=l.set("Accept",c));let u=i&&i.context;void 0===u&&(u=new Uv);const h=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==h&&(l=l.set("Content-Type",h));let d="json";return c&&(d=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/sparql`,r,{context:u,params:a,responseType:d,withCredentials:this.configuration.withCredentials,headers:l,observe:e,reportProgress:n})}technologyNames(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/technology-names`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}tissueBlocks(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/tissue-blocks`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv),Ei(JW,8),Ei(tq,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Jv),Ei(JW,8),Ei(tq,8))},token:t,providedIn:"root"}),t})(),nq=(()=>{class t{constructor(t,e){if(t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!e)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}static forRoot(e){return{ngModule:t,providers:[{provide:tq,useFactory:e}]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12),Ei(Jv,8))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[],imports:[[]]}),t})();function iq(t){return new Promise((e,n)=>{t.oncomplete=t.onsuccess=()=>e(t.result),t.onabort=t.onerror=()=>n(t.error)})}let rq;function sq(){return rq||(rq=function(t,e){const n=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let t;return new Promise(e=>{const n=()=>indexedDB.databases().finally(e);t=setInterval(n,100),n()}).finally(()=>clearInterval(t))}().then(()=>{const t=indexedDB.open("keyval-store");return t.onupgradeneeded=()=>t.result.createObjectStore(e),iq(t)});return(t,i)=>n.then(n=>i(n.transaction(e,t).objectStore(e)))}(0,"keyval")),rq}function oq(t,e=sq()){return e("readonly",e=>iq(e.get(t)))}var aq=n(71440);const lq="Unknown Euler angle order",cq=.99999;class uq extends rC{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return uq.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(t){return uq.RotationOrders[t]}get ELEMENTS(){return 4}constructor(t=0,e=0,n=0,i=uq.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(t,e,n,i)}fromQuaternion(t){const[e,n,i,r]=t,s=n*n,o=-2*(s+i*i)+1,a=2*(e*n+r*i);let l=-2*(e*i-r*n);l=l>1?1:l,l=l<-1?-1:l;const c=Math.atan2(2*(n*i+r*e),-2*(e*e+s)+1),u=Math.asin(l),h=Math.atan2(a,o);return new uq(c,u,h,uq.RollPitchYaw)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=Number.isFinite(t[3])||this.order,this.check()}set(t=0,e=0,n=0,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=Number.isFinite(i)?i:this[3],this.check()}validate(){return function(t){return t>=0&&t<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t}toArray4(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t[e+3]=this[3],t}toVector3(t=[-0,-0,-0]){return t[0]=this[0],t[1]=this[1],t[2]=this[2],t}get x(){return this[0]}set x(t){this[0]=sC(t)}get y(){return this[1]}set y(t){this[1]=sC(t)}get z(){return this[2]}set z(t){this[2]=sC(t)}get alpha(){return this[0]}set alpha(t){this[0]=sC(t)}get beta(){return this[1]}set beta(t){this[1]=sC(t)}get gamma(){return this[2]}set gamma(t){this[2]=sC(t)}get phi(){return this[0]}set phi(t){this[0]=sC(t)}get theta(){return this[1]}set theta(t){this[1]=sC(t)}get psi(){return this[2]}set psi(t){this[2]=sC(t)}get roll(){return this[0]}set roll(t){this[0]=sC(t)}get pitch(){return this[1]}set pitch(t){this[1]=sC(t)}get yaw(){return this[2]}set yaw(t){this[2]=sC(t)}get order(){return this[3]}set order(t){this[3]=function(t){if(t<0&&t>=6)throw new Error(lq);return t}(t)}fromVector3(t,e){return this.set(t[0],t[1],t[2],Number.isFinite(e)?e:this[3])}fromArray(t,e=0){return this[0]=t[0+e],this[1]=t[1+e],this[2]=t[2+e],void 0!==t[3]&&(this[3]=t[3]),this.check()}fromRollPitchYaw(t,e,n){return this.set(t,e,n,uq.ZYX)}fromRotationMatrix(t,e=uq.DefaultOrder){return this._fromRotationMatrix(t,e),this.check()}getRotationMatrix(t){return this._getRotationMatrix(t)}getQuaternion(){const t=new $N;switch(this[4]){case uq.XYZ:return t.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case uq.YXZ:return t.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case uq.ZXY:return t.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case uq.ZYX:return t.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case uq.YZX:return t.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case uq.XZY:return t.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(lq)}}_fromRotationMatrix(t,e=uq.DefaultOrder){const n=t.elements,i=n[0],r=n[4],s=n[8],o=n[1],a=n[5],l=n[9],c=n[2],u=n[6],h=n[10];switch(e=e||this[3]){case uq.XYZ:this[1]=Math.asin(tC(s,-1,1)),Math.abs(s)1&&void 0!==arguments[1]?arguments[1]:0,n=(_q[t[e+0]]+_q[t[e+1]]+_q[t[e+2]]+_q[t[e+3]]+"-"+_q[t[e+4]]+_q[t[e+5]]+"-"+_q[t[e+6]]+_q[t[e+7]]+"-"+_q[t[e+8]]+_q[t[e+9]]+"-"+_q[t[e+10]]+_q[t[e+11]]+_q[t[e+12]]+_q[t[e+13]]+_q[t[e+14]]+_q[t[e+15]]).toLowerCase();if(!vq(n))throw TypeError("Stringified UUID is invalid");return n}(i)},Sq=n(31609);const Cq=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Eq=(Math,Math,{});function Oq(t,{precision:e=Eq.precision||4}={}){return t=function(t){return Math.round(t/Eq.EPSILON)*Eq.EPSILON}(t),"".concat(parseFloat(t.toPrecision(e)))}function Tq(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function kq(t,e,n){const i=Eq.EPSILON;n&&(Eq.EPSILON=n);try{if(t===e)return!0;if(Tq(t)&&Tq(e)){if(t.length!==e.length)return!1;for(let n=0;n0?", ":"")+Oq(this[n],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(e,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e=0&&t=0&&t=s+i)return this.clone();if(i>=s+n)return t.clone();const o=.5*(n+s+i);return Vq.copy(r).scale((-n+o)/s).add(e),this.center.copy(Vq),this.radius=o,this}expand(t){const e=(t=Bq.from(t)).subtract(this.center).magnitude();return e>this.radius&&(this.radius=e),this}transform(t){this.center.transform(t);const e=function(t,e){var n=e[4],i=e[5],r=e[6],s=e[8],o=e[9],a=e[10];return t[0]=Math.hypot(e[0],e[1],e[2]),t[1]=Math.hypot(n,i,r),t[2]=Math.hypot(s,o,a),t}(Bq,t);return this.radius=Math.max(e[0],Math.max(e[1],e[2]))*this.radius,this}distanceSquaredTo(t){const e=this.distanceTo(t);return e*e}distanceTo(t){const e=(t=Bq.from(t)).subtract(this.center);return Math.max(0,e.len()-this.radius)}intersectPlane(t){const e=this.radius,n=t.normal.dot(this.center)+t.distance;return n<-e?Cq.OUTSIDE:n0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return kN(this,this,t),this.check()}rotateY(t){return PN(this,this,t),this.check()}rotateZ(t){return AN(this,this,t),this.check()}scale(t){return jN(this,this,t),this.check()}slerp(t,e,n){switch(arguments.length){case 1:({start:t=Xq,target:e,ratio:n}=arguments[0]);break;case 2:[e,n]=arguments,t=this}return IN(this,t,e,n),this.check()}transformVector4(t,e=t){return CT(e,t,this),Iq(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t,e){return this.multiplyLeft(t,e)}multiply(t,e){return this.multiplyRight(t,e)}}const Kq=new Fq,Qq=new Fq,Zq=new Fq,Jq=new Fq,tX=new Fq,eX=new Fq,nX=new Fq;class iX{constructor(t=[0,0,0],e=[0,0,0,0,0,0,0,0,0]){this.center=(new Fq).from(t),this.halfAxes=new qq(e)}get halfSize(){const t=this.halfAxes.getColumn(0),e=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new Fq(t).len(),new Fq(e).len(),new Fq(n).len()]}get quaternion(){const t=this.halfAxes.getColumn(0),e=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new Fq(t).normalize(),r=new Fq(e).normalize(),s=new Fq(n).normalize();return(new Yq).fromMatrix3(new qq([...i,...r,...s]))}fromCenterHalfSizeQuaternion(t,e,n){const i=new Yq(n),r=(new qq).fromQuaternion(i);return r[0]=r[0]*e[0],r[1]=r[1]*e[0],r[2]=r[2]*e[0],r[3]=r[3]*e[1],r[4]=r[4]*e[1],r[5]=r[5]*e[1],r[6]=r[6]*e[2],r[7]=r[7]*e[2],r[8]=r[8]*e[2],this.center=(new Fq).from(t),this.halfAxes=r,this}clone(){return new iX(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new zq){const e=this.halfAxes,n=e.getColumn(0,Zq),i=e.getColumn(1,Jq),r=e.getColumn(2,tX),s=Kq.copy(n).add(i).add(r);return t.center.copy(this.center),t.radius=s.magnitude(),t}intersectPlane(t){const e=this.center,n=t.normal,i=this.halfAxes,r=n.x,s=n.y,o=n.z,a=Math.abs(r*i[0]+s*i[1]+o*i[2])+Math.abs(r*i[3]+s*i[4]+o*i[5])+Math.abs(r*i[6]+s*i[7]+o*i[8]),l=n.dot(e)+t.distance;return l<=-a?Cq.OUTSIDE:l>=a?Cq.INSIDE:Cq.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){const e=Qq.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,Zq),r=n.getColumn(1,Jq),s=n.getColumn(2,tX),o=i.magnitude(),a=r.magnitude(),l=s.magnitude();i.normalize(),r.normalize(),s.normalize();let c,u=0;return c=Math.abs(e.dot(i))-o,c>0&&(u+=c*c),c=Math.abs(e.dot(r))-a,c>0&&(u+=c*c),c=Math.abs(e.dot(s))-l,c>0&&(u+=c*c),u}computePlaneDistances(t,e,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;const s=this.center,o=this.halfAxes,a=o.getColumn(0,Zq),l=o.getColumn(1,Jq),c=o.getColumn(2,tX),u=eX.copy(a).add(l).add(c).add(s),h=nX.copy(u).subtract(t);let d=e.dot(h);return i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).add(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).subtract(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).subtract(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).add(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).add(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).subtract(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).subtract(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),n[0]=i,n[1]=r,n}transform(t){this.center.transformAsPoint(t);const e=this.halfAxes.getColumn(0,Zq);e.transformAsPoint(t);const n=this.halfAxes.getColumn(1,Jq);n.transformAsPoint(t);const i=this.halfAxes.getColumn(2,tX);return i.transformAsPoint(t),this.halfAxes=new qq([...e,...n,...i]),this}getTransform(){throw new Error("not implemented")}}const rX=new Fq,sX=new Fq;class oX{constructor(t=[0,0,1],e=0){this.normal=new Fq,this.distance=-0,this.fromNormalDistance(t,e)}fromNormalDistance(t,e){return Pq(Number.isFinite(e)),this.normal.from(t).normalize(),this.distance=e,this}fromPointNormal(t,e){t=rX.from(t),this.normal.from(e).normalize();const n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,e,n,i){return this.normal.set(t,e,n),Pq(kq(this.normal.len(),1)),this.distance=i,this}clone(t){return new oX(this.normal,this.distance)}equals(t){return kq(this.distance,t.distance)&&kq(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){const e=sX.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,e)}projectPointOntoPlane(t,e=[0,0,0]){t=rX.from(t);const n=this.getPointDistance(t),i=sX.copy(this.normal).scale(n);return t.subtract(i).to(e)}}function*aX(t,e,n){for(const[i,r]of Object.entries(n))for(const n of(0,aq.readQuads)(t,e,i,null,null)){const t="Literal"===n.object.termType?(0,Sq.fromRdf)(n.object):n.object.id;yield[r,t]}}function lX(t,e,n,i){const r={"@id":e,"@type":n};for(const[s,o]of Object.entries(i))for(const e of(0,aq.readQuads)(t,r["@id"],s,null,null)){const t="Literal"===e.object.termType?(0,Sq.fromRdf)(e.object):e.object.id;r[o]=t}return r}new Fq([1,0,0]),new Fq([0,1,0]),new Fq([0,0,1]),new Fq,new Fq,new oX(new Fq(1,0,0),0),new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,Math,new qq,new qq,new qq,new qq,new qq,new Fq,new Fq,new Fq,new Fq,new Fq,new qq,new qq,new qq;const cX=aq.Util.prefixes({base:"http://purl.org/ccf/latest/ccf.owl#",ccf:"http://purl.org/ccf/",fma:"http://purl.org/sig/ont/fma/fma",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/"},aq.DataFactory),uX={x:cX("rdf"),type:cX("rdf")("type")},hX=(cX("rdfs"),cX("rdfs")("label"),cX("rdfs")("comment"),cX("rdfs")("isDefinedBy"),cX("rdfs")("seeAlso"),cX("ccf")),dX={id:cX("ccf")("has_registration_location"),label:cX("rdfs")("label"),description:cX("rdfs")("comment"),link:hX("url"),sex:hX("sex"),age:hX("age"),bmi:hX("bmi"),Male:aq.DataFactory.literal("Male"),Female:aq.DataFactory.literal("Female"),consortiumName:hX("consortium_name"),providerName:hX("tissue_provider_name"),providerUUID:hX("tissue_provider_uuid"),donor:hX("comes_from"),sections:hX("subdivided_into_sections"),datasets:hX("generates_dataset"),sampleType:hX("sample_type"),TissueBlock:aq.DataFactory.literal("Tissue Block"),TissueSection:aq.DataFactory.literal("Tissue Section"),NonStandard:aq.DataFactory.literal("Non-standard"),sectionCount:hX("section_count"),sectionSize:hX("section_size"),sectionUnits:hX("section_size_unit"),sectionNumber:hX("section_number"),spatialEntity:hX("has_registration_location"),ontologyTerms:hX("has_ontology_term"),cellTypeTerms:hX("has_cell_type_term"),technology:hX("technology"),thumbnail:hX("thumbnail")},pX={x:hX,base:cX("base"),ontologyNode:{label:hX("ccf_pref_label"),parent:hX("ccf_part_of"),children:hX("ccf_part_of"),rui_rank:hX("rui_rank"),synonymLabels:aq.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:hX("ccf_part_of"),ct_is_a:hX("ccf_ct_isa"),located_in:hX("ccf_located_in"),characterizes:hX("ccf_characterizes")},spatial:{Female:cX("base")("VHFemale"),Male:cX("base")("VHMale"),BothSexes:cX("base")("VHBothSexes"),FemaleOrgans:cX("base")("VHFemaleOrgans"),MaleOrgans:cX("base")("VHMaleOrgans")},SpatialObjectReference:hX("spatial_object_reference"),SpatialEntity:hX("spatial_entity"),SpatialPlacement:hX("spatial_placement"),spatialObjectReference:{file:hX("file_url"),file_format:hX("file_format"),file_subpath:hX("file_subpath")},extractionSet:{label:cX("rdfs")("label"),rui_rank:hX("rui_rank")},spatialEntity:{label:cX("rdfs")("label"),description:cX("rdfs")("comment"),creator:cX("dcterms")("creator"),creator_first_name:hX("creator_first_name"),creator_last_name:hX("creator_last_name"),creator_orcid:hX("creator_orcid"),creation_date:cX("dcterms")("created"),updated_date:hX("updated_date"),ccf_annotations:hX("collides_with"),representation_of:hX("representation_of"),reference_organ:hX("has_reference_organ"),extraction_set_for:hX("extraction_set_for"),extraction_set:hX("has_extraction_set"),sex:hX("organ_owner_sex"),side:hX("organ_side"),rui_rank:hX("rui_rank"),slice_thickness:hX("slice_thickness"),slice_count:hX("slice_count"),x_dimension:hX("x_dimension"),y_dimension:hX("y_dimension"),z_dimension:hX("z_dimension"),dimension_units:hX("dimension_unit"),object:hX("has_object_reference")},spatialPlacement:{source:hX("placement_for"),target:hX("placement_relative_to"),placement_date:cX("dcterms")("created"),x_scaling:hX("x_scaling"),y_scaling:hX("y_scaling"),z_scaling:hX("z_scaling"),scaling_units:hX("scaling_unit"),x_rotation:hX("x_rotation"),y_rotation:hX("y_rotation"),z_rotation:hX("z_rotation"),w_rotation:hX("theta_rotation"),rotation_order:hX("rotation_order"),rotation_units:hX("rotation_unit"),x_translation:hX("x_translation"),y_translation:hX("y_translation"),z_translation:hX("z_translation"),translation_units:hX("translation_unit")}},fX={x:cX("uberon"),body:cX("uberon")("0013702")},gX={x:cX("cl"),cell:cX("cl")("0000000")},mX={x:cX("fma")},bX=(cX("lmha"),{body:fX.body,cell:gX.cell,respiratory_system:fX.x("0001004"),colon:fX.x("0001155"),left_lung:fX.x("0002168"),right_lung:fX.x("0002167"),left_bronchus:fX.x("0002178"),right_bronchus:fX.x("0002177"),kidney:fX.x("0002113"),ureter:fX.x("0000056"),eye:fX.x("0000970"),fallopian_tube:fX.x("0003889"),knee:fX.x("0001465"),ovary:fX.x("0000992"),trachea:fX.x("0003126"),aorta:fX.x("0000947"),blood:fX.x("0000178"),bone_marrow:fX.x("0002371"),male_reproductive_system:fX.x("0000079"),lymph_node:fX.x("0000029"),blood_vasculature:fX.x("0004537"),brain:fX.x("0000955"),eye_left:fX.x("0004548"),eye_right:mX.x("54449"),fallopian_tube_left:fX.x("0001303"),fallopian_tube_right:fX.x("0001302"),heart:fX.x("0000948"),kidney_left:fX.x("0004538"),kidney_right:fX.x("0004539"),knee_left:mX.x("24978"),knee_right:mX.x("24977"),large_intestine:fX.x("0000059"),liver:fX.x("0002107"),lungs:fX.x("0002048"),mesenteric_lymph_node:fX.x("0002509"),ovary_left:mX.x("7214"),ovary_right:mX.x("7213"),pancreas:fX.x("0001264"),pelvis:fX.x("0001270"),prostate_gland:fX.x("0002367"),skin:fX.x("0002097"),small_intestine:fX.x("0002108"),spleen:fX.x("0002106"),thymus:fX.x("0002370"),ureter_left:fX.x("0001223"),ureter_right:fX.x("0001222"),urinary_bladder:fX.x("0001255"),uterus:fX.x("0000995")});function yX(t){const e={};return Object.entries(t).forEach(([t,n])=>{e[n.id]=t}),e}const vX={spatialObjectReference:yX(pX.spatialObjectReference),spatialEntity:yX(pX.spatialEntity),spatialPlacement:yX(pX.spatialPlacement)};function _X(t,e){const n=lX(t,e,"ExtractionSet",vX.spatialEntity);return n.extractionSites=(0,gq.sortBy)(t.getSubjects(pX.spatialEntity.extraction_set,e,null).map(e=>wX(t,e.id)),["rui_rank"]),n}function wX(t,e){const n=lX(t,e,"SpatialEntity",vX.spatialEntity);return n.object&&(n.object=function(t,e){return lX(t,e,"SpatialObjectReference",vX.spatialObjectReference)}(t,n.object)),n.ccf_annotations&&(n.ccf_annotations=t.getObjects(e,pX.spatialEntity.ccf_annotations,null).map(t=>t.id)),t.forSubjects(t=>n.entityId=t.id,dX.spatialEntity,e,null),n}function xX(t,e){const n=lX(t,e,"SpatialPlacement",vX.spatialPlacement);return n.source&&(n.source=wX(t,n.source)),n.target&&(n.target=wX(t,n.target)),n}function SX(t,e){const n=e;let i;switch(n.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[n.x_translation,n.y_translation,n.z_translation].map(t=>t*i),s=[n.x_rotation,n.y_rotation,n.z_rotation].map(ZS),o=[n.x_scaling,n.y_scaling,n.z_scaling];return t.translate(r).rotateXYZ(s).scale(o)}class CX{constructor(t){this.db=t,this.createGraph()}createGraph(){this.graph=new dq.DirectedGraph;const t=this.db.store;t.forSubjects(t=>{this.addNode(t.id,"SpatialObjectReference")},uX.type,pX.SpatialObjectReference,null),t.forSubjects(t=>{this.addNode(t.id,"SpatialEntity")},uX.type,pX.SpatialEntity,null);const e={};for(const n of(0,aq.readQuads)(t,null,pX.spatialPlacement.source,null,null))e[n.subject.id]=n.object.id;for(const n of(0,aq.readQuads)(t,null,pX.spatialPlacement.target,null,null)){const t=e[n.subject.id];t&&this.addEdge(n.subject.id,t,n.object.id,"SpatialPlacement")}}addNode(t,e){this.graph.mergeNode(t,{type:e})}addEdge(t,e,n,i){this.graph.mergeDirectedEdge(e,n,{type:i,id:t})}getTransformationMatrix(t,e){if(t===e)return new VT(VT.IDENTITY);if(!this.graph.hasNode(t)||!this.graph.hasNode(e))return;const n=this.db.store,i=new VT(VT.IDENTITY),r=fq()(this.graph,t,e);if(r&&r.length>0){r.reverse();let t="";for(const e of r)t&&SX(i,xX(n,this.graph.getEdgeAttribute(e,t,"id"))),t=e;return i}}getSpatialPlacement(t,e){const n=this.graph.hasNode(t["@id"])?t["@id"]:void 0,i=(0,gq.get)(t,"placement[0]",(0,gq.get)(t,"placement",void 0));let r;if(i&&this.graph.hasNode(i.target)?(r=this.getTransformationMatrix(i.target,e),r&&(r=SX(r,i))):n&&(r=this.getTransformationMatrix(n,e)),r){const n=(new uq).fromRotationMatrix(r,uq.XYZ),i=r.getTranslation().map(t=>1e3*t),s=n.toVector3().map(JS),o=r.getScale().map(t=>t<1&&t>.999999?1:t);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${xq()}_placement`,"@type":"SpatialPlacement",source:t["@id"],target:e,placement_date:(new Date).toISOString().split("T")[0],x_scaling:o[0],y_scaling:o[1],z_scaling:o[2],scaling_units:"ratio",x_rotation:s[0],y_rotation:s[1],z_rotation:s[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:i[0],y_translation:i[1],z_translation:i[2],translation_units:"millimeter"}}}}class EX{constructor(t){this.db=t}getSpatialEntity(t){return wX(this.db.store,t)}getExtractionSets(t){return function(t,e){return(0,gq.sortBy)(t.getSubjects(pX.spatialEntity.extraction_set_for,e,null).map(e=>_X(t,e.id)),["rui_rank"])}(this.db.store,t)}getExtractionSet(t){return _X(this.db.store,t)}getAnatomicalStructures(t){return function(t,e){return(0,gq.sortBy)(t.getSubjects(pX.spatialEntity.reference_organ,e,null).map(e=>wX(t,e.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,t)}getReferenceOrgans(){return function(t){const e=[];return t.forEach(n=>{n.subject.id===n.object.id&&e.push(wX(t,n.subject.id))},null,pX.spatialEntity.reference_organ,null,null),(0,gq.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(t){let e;switch(null==t?void 0:t.sex){case"Male":e=pX.spatial.Male.id;break;case"Female":e=pX.spatial.Female.id;break;case"Both":default:e=pX.spatial.BothSexes.id}return this.getSpatialEntity(e)}getReferenceOrganSets(t){let e=this.getReferenceOrgans();switch(null==t?void 0:t.sex){case"Male":e=e.filter(t=>"Male"===t.sex);break;case"Female":e=e.filter(t=>"Female"===t.sex)}return(null==t?void 0:t.debug)&&(e=e.map(t=>[[t],this.getAnatomicalStructures(t["@id"])]).reduce((t,[e,n])=>t.concat(n.length>0?n:e),[])),e}getReferenceSceneNodes(t){const e=this.getReferenceBody(t),n=[];let i=[...this.getReferenceOrganSets(t).map(t=>{const i="http://purl.obolibrary.org/obo/UBERON_0002097"===t.representation_of,r=this.getSceneNode(t,e,{color:[255,255,255,255],opacity:i?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!i});return i&&r?void n.push(r):r})];return n.length>0&&(i=[...n,...i]),(null==t?void 0:t.debug)&&(i=i.concat([this.getSceneNode(this.getSpatialEntity(pX.base("VHRightKidney").id),e,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(pX.base("VHLeftKidney").id),e,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(pX.base("VHSpleenCC1").id),e,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(pX.base("VHSpleenCC2").id),e,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(pX.base("VHSpleenCC3").id),e,{color:[0,255,0,127.5],geometry:"wireframe"})])),i.filter(t=>void 0!==t)}getReferenceOrganScene(t,e){var n,i;const r=void 0!==(null==e?void 0:e.sex)&&"both"!==(null===(n=null==e?void 0:e.sex)||void 0===n?void 0:n.toLowerCase()),s=this.getReferenceOrgans().filter(n=>n.representation_of===t&&(!r||n.sex===(null==e?void 0:e.sex)));if(s.length>0){const t=s[0],n=this.getSceneNode(t,t,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===t.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),r=(null!==(i=this.db.getSpatialEntities(e))&&void 0!==i?i:[]).map(e=>this.getSceneNode(e,t,{color:[255,255,255,229.5]}));return[n].concat(r).filter(t=>void 0!==t)}return[]}getEntitySceneNodes(t){const e=this.getReferenceBody(t);return this.db.getSpatialEntities(t).map(t=>this.getSceneNode(t,e,{color:[255,255,255,229.5]})).filter(t=>void 0!==t)}getSceneNode(t,e,n={}){var i,r,s,o;const a=null===(r=null===(i=null==t?void 0:t.object)||void 0===i?void 0:i.file_format)||void 0===r?void 0:r.startsWith("model/gltf");let l=this.db.graph.getTransformationMatrix(a&&t.object?t.object["@id"]:t["@id"],e["@id"]);if(l){if(a)l=new VT(VT.IDENTITY).rotateX(ZS(90)).multiplyLeft(l);else{let e;switch(t.dimension_units){case"centimeter":e=.01;break;case"millimeter":e=.001;break;case"meter":default:e=1}const n=[t.x_dimension,t.y_dimension,t.z_dimension].map(t=>t*e/2);l.scale(n)}return Object.assign({"@id":t["@id"],"@type":"SpatialSceneNode",entityId:t.entityId,ccf_annotations:t.ccf_annotations,representation_of:t.representation_of,reference_organ:t.reference_organ,scenegraph:a?null===(s=t.object)||void 0===s?void 0:s.file:void 0,scenegraphNode:a?null===(o=t.object)||void 0===o?void 0:o.file_subpath:void 0,transformMatrix:l,tooltip:t.label},n)}}getScene(t){return[...this.getReferenceSceneNodes(t),...this.getEntitySceneNodes(t)]}}const OX="https://entity.api.hubmapconsortium.org/entities/",TX=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),kX={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},PX={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},AX="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld";class MX{constructor(t,e="",n="",i){var r,s;if(this.data=t,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const o=this.data.descendants||[],a=(this.data.ancestors||[]).find(t=>"Donor"===t.entity_type);this.donor=this.getDonor(a,n);const l=this.getRuiLocation(t,this.donor);l?this.rui_location=l:this.bad=!0,PX[t.group_uuid]||(PX[t.group_uuid]=t.group_name);const c=new Date(t.last_modified_timestamp).toLocaleDateString(),u=PX[t.group_uuid]||t.group_name,h=t.created_by_user_displayname;this["@id"]=OX+t.uuid,this.label=`Registered ${c}, ${h}, ${u}`,this.link=`${n}browse/sample/${t.uuid}`;const d={},p=[];this.sections=p;const f=[];this.datasets=f;for(const v of o.filter(t=>"Sample"===t.entity_type)){const e=this.getSection(v,t,n);d[v.submission_id]=e,p.push(e),e.section_number=null!==(r=e.section_number)&&void 0!==r?r:p.length}for(const v of o)if("Dataset"===v.entity_type){const t=this.getDataset(v,e,n,i),r=(0,gq.get)(v,["ingest_metadata","metadata","tissue_id"]);d[r]?null===(s=d[r].datasets)||void 0===s||s.push(t):f.push(t)}const g=null!=l?l:{},m=`${g.x_dimension} x ${g.y_dimension} x ${g.z_dimension} ${g.dimension_units}`;this.section_count=g.slice_count||p.length;const b=parseFloat((g.slice_thickness||(g.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=b;const y=g.dimension_units||"millimeter";this.section_units=y,this.description=`${m}, ${b} ${y}, ${this.section_count} Sections`,p.forEach((t,e)=>{t.description=`${g.x_dimension} x ${g.y_dimension} x ${b} ${y}, ${b} ${y}, ${t.description}`,t.section_number=e+1})}getSection(t,e,n){const i=new Date(t.last_modified_timestamp).toLocaleDateString();return{"@id":OX+t.uuid,"@type":"Sample",label:`Registered ${i}, ${t.created_by_user_displayname}, ${PX[t.group_uuid]||t.group_name}`,description:`${e.sample_category}`,link:`${n}browse/sample/${t.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(t,e="",n="",i){var r;const s=new Date(t.last_modified_timestamp).toLocaleDateString(),o=PX[t.group_uuid]||t.group_name,a=t.created_by_user_displayname,l=[...t.data_types,(0,gq.get)(t,["ingest_metadata","metadata","assay_type"],"")],c=l.join("|").toLowerCase();let u,h="assets/icons/ico-unknown.svg";return-1!==c.indexOf("10x")?(u="10x",h="assets/icons/ico-bulk-10x.svg"):-1!==c.indexOf("af")?(u="AF",h="assets/icons/ico-spatial-af.svg"):-1!==c.indexOf("codex")?(u="CODEX",h="assets/icons/ico-spatial-codex.svg"):-1!==c.indexOf("imc")?(u="IMC",h="assets/icons/ico-spatial-imc.svg"):-1!==c.indexOf("lc")&&-1===c.indexOf("af")?(u="LC",h="assets/icons/ico-bulk-lc.svg"):u=-1!==c.indexOf("maldi")?"MALDI":-1!==c.indexOf("pas")?"PAS":"OTHER",h=null!==(r=this.getDatasetThumbnail(t,e,i))&&void 0!==r?r:h,{"@id":OX+t.uuid,"@type":"Dataset",label:`Registered ${s}, ${a}, ${o}`,description:`Data/Assay Types: ${l.join(", ")}`,link:`${n}browse/dataset/${t.uuid}`,technology:u,thumbnail:h}}getDatasetThumbnail(t,e,n){if(t.thumbnail_file){const i=t.thumbnail_file;return`${e}/${i.file_uuid}/${i.filename}`+(n?`?token=${n}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===t.group_uuid){const i=(0,gq.get)(t,"metadata.files",[]).filter(t=>/\.(ome\.tif|ome\.tiff)$/.test(t.rel_path)).filter(t=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(t.rel_path)).filter(t=>TX.has(t.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(i=>`${e}/${t.uuid}/${i.rel_path}`+(n?`?token=${n}`:""));if(i.length>0){const t=i[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(TX.has(t))return`assets/thumbnails/TMC-Vanderbilt/DR1/${t}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===t.group_uuid){const e=kX[t.hubmap_id];if(e)return`assets/thumbnails/TMC-Florida/${e}`}}getDonor(t,e){const n=(t.description||"").toLowerCase();let i;n.includes("female")?i="Female":n.includes("male")&&(i="Male");const r=n.match(/age ([0-9]+)/);let s,o;r&&(s=(0,gq.toNumber)(r[1]));for(const u of(0,gq.get)(t,"metadata.organ_donor_data",(0,gq.get)(t,"metadata.living_donor_data",[])))"Feminine gender"===u.preferred_term||"Female"===u.preferred_term?i="Female":"Masculine gender"===u.preferred_term||"Male"===u.preferred_term?i="Male":"Current chronological age"===u.preferred_term||"Age"===u.preferred_term?s=(0,gq.toNumber)(u.data_value):"Body mass index"===u.preferred_term&&(o=(0,gq.toNumber)(u.data_value));let a="";i&&s&&(a+=`${i}, Age ${s}`,o&&(a+=`, BMI ${o.toFixed(1)}`));const l=new Date(t.last_modified_timestamp).toLocaleDateString(),c=PX[t.group_uuid]||t.group_name;return{"@id":OX+t.uuid,"@type":"Donor",label:a,description:`Entered ${l}, ${t.created_by_user_displayname}, ${c}`,link:`${e}browse/donor/${t.uuid}`,age:s,sex:i,bmi:o,consortium_name:"HuBMAP",provider_name:c,provider_uuid:t.group_uuid,samples:[]}}getRuiLocation(t,e){var n;let i,r=t.rui_location;if(r&&("string"==typeof r&&(r=JSON.parse(r)),r.alignment_id?console.log("Detected a deprecated rui_location",t.uuid):r["@id"]&&(i=r),r["@context"]="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"),i){const t=null!==(n=(0,gq.get)(i,["placement","target"]))&&void 0!==n?n:"";t.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,gq.set)(i,["placement","target"],t.replace("#VHSpleenCC","Male"===e.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===t||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===t)&&(0,gq.set)(i,["placement","target"],"Male"===e.sex?t.replace("#VH","#VHM")+"_Patch":t.replace("#VH","#VHF")+"_Patch")}return i}getTissueBlock(){return(0,gq.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const IX=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.metadata.living_donor_data.preferred_term","ancestors.metadata.living_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","sample_category"],DX={exists:{field:"rui_location"}};function RX(t,e,n){return JSON.stringify({version:!0,from:t,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=n?n:DX,_source:{includes:IX}})}function NX(t,e){return xw(this,void 0,void 0,function*(){try{const n=yield fetch(t,e),i=yield n.text();return n.ok||i.startsWith("https")?i.startsWith("https")?yield fetch(i).then(t=>t.json()):JSON.parse(i):void 0}catch(n){return}})}function LX(t,e,n,i,r="",s=""){return xw(this,void 0,void 0,function*(){let o;if("static"===e?o=yield NX(t):"search-api"===e&&(o=yield function(t,e,n){return xw(this,void 0,void 0,function*(){const i=1e4,r=function(t){const e=new Headers;return e.append("Content-type","application/json"),t&&e.append("Authorization",`Bearer ${t}`),e}(e),s=RX(0,i,n),o=yield NX(t,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let e=i;e!t))return;const u=c.map(t=>t.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(t,i,n)),o)return function(t,e="",n="",i,r=!1){const s={},o=(0,gq.get)(t,"hits.hits",[]).map(t=>(0,gq.get)(t,"_source",{})).sort((t,e)=>t.uuid.localeCompare(e.uuid)).map(t=>new MX(t,e,n,i).toJsonLd());for(const l of o){const t=l["@id"];s[t]?s[t].samples.push(l.samples[0]):s[t]=l}const a=Object.values(s);return r&&(function(t){let e=[],n=0;for(const i of t.filter(t=>t.samples.length>1)){const t=i.samples;for(let i=0;it["@id"]===r)&&(t[i].deleteMe=!0,n++)}i.samples=t.filter(t=>!0!==t.deleteMe)}n>0&&console.log(`\u26a0 ${n} sections identified as blocks`)}(a),console.log(a.map(t=>Object.assign({"@context":AX},t)))),{"@context":AX,"@graph":a}}(o,r,s,i);console.warn(`Unable to load ${t} as HuBMAP Data`)})}function jX(t,e,n){const i=new Set;for(const r of e)for(const e of(0,aq.readQuads)(t,r,n,null,null))i.add(e.object.id);return i}const FX={[pX.spatialEntity.x_dimension.id]:"x",[pX.spatialEntity.y_dimension.id]:"y",[pX.spatialEntity.z_dimension.id]:"z"};function BX(t,e,n,i){const r=e.getTransformationMatrix(n,i);let s;if(r){const e=r.getTranslation(),i=function(t,e){const n=lX(t,e,"Dimensions",FX);return[n.x,n.y,n.z]}(t,n).map(t=>t/1e3/2),o=(new uq).fromRotationMatrix(r,uq.XYZ).toQuaternion().normalize().calculateW();s=(new iX).fromCenterHalfSizeQuaternion(e,i,o)}return s}function VX(t,e,n,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of n){const n=BX(t,e,h,l);n&&n.distanceSquaredTo([r,s,o].map(t=>t/1e3))<=u&&c.add(h)}return c}function zX(t,e,n){var i,r;const s=new Map,o=new Set;for(const c of e)for(const e of(0,aq.readQuads)(t,c,dX.donor,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(c):s.set(e.object.id,[c]);const a=n(o),l=new Set;for(const c of a)for(const t of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(t);return l}function UX(t,e,n){var i,r;const s=new Map,o=new Set;for(const c of e)for(const e of(0,aq.readQuads)(t,c,dX.spatialEntity,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(c):s.set(e.object.id,[c]);const a=n(o),l=new Set;for(const c of a)for(const t of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(t);return l}function HX(t,e){return function(n){t.has(n.id)&&e.add(n.id)}}function $X(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.namedNode(r);t.forSubjects(HX(e,i),pX.spatialEntity.ccf_annotations,n,null)}return i}function GX(t,e){const n=function(t,e){const n=new Map;for(const i of t)for(const t of(0,aq.readQuads)(e,i,dX.spatialEntity,null,null))n.has(t.object.id)?n.get(t.object.id).add(i):n.set(t.object.id,new Set([i]));return n}(t,e),i=new Map;for(const r of n.keys()){const t=n.get(r);for(const n of(0,aq.readQuads)(e,r,pX.spatialEntity.ccf_annotations,null,null))if(i.has(n.object.id)){const e=i.get(n.object.id);t.forEach(t=>e.add(t))}else i.set(n.object.id,new Set(t))}return i}function WX(t,e,n){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[pX.ontologyNode.label.id]:"label",[n]:"parent",[pX.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of aX(t,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=t.getSubjects(n,e,null).map(t=>t.id),i}function qX(t,e,n,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,aq.readQuads)(t,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=WX(t,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:n,children:[],synonymLabels:[]});const o=t.getSubjects(i,e,null).map(t=>t.id).sort((t,e)=>r.nodes[t].label.localeCompare(r.nodes[e].label));return r.nodes[e].children=o,XX(r),r}function XX(t,e,n=new Set){const i=t.nodes[null!=e?e:t.root];if(i){i.children=i.children.filter(t=>!n.has(t)),i.children.forEach(t=>n.add(t));for(const e of i.children)XX(t,e,n),t.nodes[e]&&(t.nodes[e].parent=i["@id"])}}const YX=(0,gq.memoize)(function(t){const e=qX(t,bX.body.id,"body",pX.asctb.part_of.id);return e.nodes[bX.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),KX={[dX.label.id]:"label",[dX.description.id]:"description",[dX.link.id]:"link"},QX=Object.assign(Object.assign({},KX),{[dX.providerName.id]:"providerName"}),ZX=Object.assign(Object.assign({},KX),{[dX.technology.id]:"technology",[dX.thumbnail.id]:"thumbnail"}),JX=Object.assign(Object.assign({},KX),{[dX.sampleType.id]:"sampleType",[dX.sectionNumber.id]:"sectionNumber",[dX.datasets.id]:"datasets"}),tY=Object.assign(Object.assign({},KX),{[dX.sampleType.id]:"sampleType",[dX.sectionCount.id]:"sectionCount",[dX.sectionSize.id]:"sectionSize",[dX.sectionUnits.id]:"sectionUnits",[dX.donor.id]:"donor",[dX.spatialEntity.id]:"spatialEntityId",[dX.sections.id]:"sections",[dX.datasets.id]:"datasets"});function eY(t,e){return lX(t,e,"Donor",QX)}function nY(t,e){return lX(t,e,"Dataset",ZX)}function iY(t,e){const n={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of aX(t,e,JX))if("datasets"===i){const e=nY(t,r);n[i].push(e)}else n[i]=r;return n}class rY{constructor(t){this.database=t,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const t=Date.now();return this.database.connect().then(t=>xw(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var e;this.status="Error",this.message=null!==(e=null==t?void 0:t.message)&&void 0!==e?e:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-t})}}const sY={"@context":{"@base":"http://purl.org/ccf/","@vocab":"http://purl.org/ccf/",ccf:"http://purl.org/ccf/",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dcterms:"http://purl.org/dc/terms/",label:"rdfs:label",description:"rdfs:comment",link:"ccf:url",sex:"ccf:sex",age:"ccf:age",bmi:"ccf:bmi",consortium_name:"ccf:consortium_name",provider_name:"ccf:tissue_provider_name",provider_uuid:"ccf:tissue_provider_uuid",donor:{"@id":"ccf:comes_from","@type":"@id"},samples:{"@reverse":"donor"},sections:{"@id":"ccf:subdivided_into_sections","@type":"@id"},datasets:{"@id":"ccf:generates_dataset","@type":"@id"},sample_type:"ccf:sample_type",section_count:"ccf:section_count",section_size:"ccf:section_size",section_units:"ccf:section_size_unit",section_number:"ccf:section_number",rui_location:{"@id":"ccf:has_registration_location","@type":"@id"},ccf_annotations:{"@id":"ccf:collides_with","@type":"@id","@container":"@set"},representation_of:{"@id":"ccf:representation_of","@type":"@id"},reference_organ:{"@id":"ccf:has_reference_organ","@type":"@id"},extraction_set_for:{"@id":"ccf:extraction_set_for","@type":"@id"},extraction_set:{"@id":"ccf:has_extraction_set","@type":"@id"},organ_owner_sex:"ccf:organ_owner_sex",side:"ccf:organ_side",rui_rank:"ccf:rui_rank",slice_thickness:"ccf:slice_thickness",slice_count:"ccf:slice_count",object:{"@id":"ccf:has_object_reference","@type":"@id"},creation_date:"dcterms:created",updated_date:"ccf:updated_date",creator:"dcterms:creator",creator_first_name:"ccf:creator_first_name",creator_last_name:"ccf:creator_last_name",placement:{"@reverse":"ccf:placement_for"},placement_date:"dcterms:created",rotation_order:"ccf:rotation_order",dimension_units:"ccf:dimension_unit",rotation_units:"ccf:rotation_unit",scaling_units:"ccf:scaling_unit",translation_units:"ccf:translation_unit",source:{"@id":"ccf:placement_for","@type":"@id"},target:{"@id":"ccf:placement_relative_to","@type":"@id"},x_rotation:"ccf:x_rotation",y_rotation:"ccf:y_rotation",z_rotation:"ccf:z_rotation",x_scaling:"ccf:x_scaling",y_scaling:"ccf:y_scaling",z_scaling:"ccf:z_scaling",x_translation:"ccf:x_translation",y_translation:"ccf:y_translation",z_translation:"ccf:z_translation",x_dimension:"ccf:x_dimension",y_dimension:"ccf:y_dimension",z_dimension:"ccf:z_dimension",ontology_terms:{"@id":"ccf:has_ontology_term","@type":"@id"},technology:"ccf:technology",thumbnail:"ccf:thumbnail",file:"ccf:file_url",file_format:"ccf:file_format",file_subpath:"ccf:file_subpath"}};function oY(t){return JSON.parse(t,(t,e)=>"ccf_annotations"===t&&Array.isArray(e)?e.map(t=>(null==t?void 0:t.startsWith("http://purl.obolibrary.org/obo/FMA_"))?t.replace("http://purl.obolibrary.org/obo/FMA_","http://purl.org/sig/ont/fma/fma"):t):"@context"!==t||!e||"https://hubmapconsortium.github.io/hubmap-ontology/ccf-entity-context.jsonld"!==e&&"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld"!==e&&"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"!==e&&"http://purl.org/ccf/latest/ccf-entity.owl#"!==e["@base"]?e:sY)}const aY={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class lY{constructor(t=aY){this.options=t,this.store=new aq.Store(void 0,{factory:aq.DataFactory}),this.graph=new CX(this),this.scene=new EX(this)}connect(t,e=!1){return xw(this,void 0,void 0,function*(){return t&&(this.options=t),this.initializing||(this.initializing=e?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return xw(this,void 0,void 0,function*(){const t=(new Date).getTime(),e="ccf-database.last_modified",n="ccf-database",i=yield oq(e).catch(()=>{});let r;i&&t-new Date(+i).getTime()>36e5?yield function(t,e=sq()){return e("readwrite",e=>(t.forEach(t=>e.delete(t)),iq(e.transaction)))}([n,e]).catch(()=>{}):r=yield oq(n).catch(()=>{}),r?yield this.deserialize(r):(yield this.doConnect(),function(t,e=sq()){return e("readwrite",e=>(t.forEach(t=>e.put(t[1],t[0])),iq(e.transaction)))}([[n,this.serialize()],[e,""+t]]).catch(()=>{}))})}doConnect(){var t,e;return xw(this,void 0,void 0,function*(){const n=[],i=null!==(e=null===(t=this.options.dataSources)||void 0===t?void 0:t.concat())&&void 0!==e?e:[],r=this.options.ccfOwlUrl;if(r.startsWith("{"))this.store=(0,aq.deserializeN3Store)(r,aq.DataFactory);else if(r.endsWith(".n3store.json")){const t=yield fetch(r).then(t=>t.text()).catch(()=>console.log("Couldn't locate serialized store."));t&&(this.store=(0,aq.deserializeN3Store)(t,aq.DataFactory))}else(null==r?void 0:r.length)>0&&i.push(r);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?i.push(this.options.hubmapDataUrl):n.push(LX(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(t=>{if(t)return this.addDataSources([t])}))),n.push(this.addDataSources(i)),yield Promise.all(n),yield this.synchronize()})}addDataSources(t,e){return xw(this,void 0,void 0,function*(){const n=null!=e?e:this.store;return yield Promise.all(t.map(t=>xw(this,void 0,void 0,function*(){"string"==typeof t?(t.startsWith("http")||t.startsWith("assets/"))&&t.includes("jsonld")?(t=oY(t=yield fetch(t).then(t=>t.text())),yield(0,aq.addJsonLdToStore)(t,n)):t.endsWith("n3")?yield(0,aq.addN3ToStore)(t,n):t.endsWith("rdf")||t.endsWith("owl")||t.endsWith("xml")?yield(0,aq.addRdfXmlToStore)(t,n):(t=oY(t),yield(0,aq.addJsonLdToStore)(t,n)):(t=oY(JSON.stringify(t)),yield(0,aq.addJsonLdToStore)(t,n))}))),this})}synchronize(){return xw(this,void 0,void 0,function*(){return yield new Promise(t=>{setTimeout(t,500)}),this.graph.createGraph(),function(t){var e,n,i;const r=YX(t),s=new Map;for(const{subject:o,object:a}of(0,aq.readQuads)(t,null,pX.spatialEntity.representation_of,null,null)){const t=new Set([a.id]);let i=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;i&&!t.has(i);)t.add(i),i=null===(n=r.nodes[i])||void 0===n?void 0:n.parent;s.set(o.id,[...t].map(t=>aq.DataFactory.namedNode(t)))}for(const{object:o}of(0,aq.readQuads)(t,null,dX.spatialEntity,null,null))for(const{subject:e}of(0,aq.readQuads)(t,null,pX.spatialPlacement.source,o,null))for(const{object:n}of(0,aq.readQuads)(t,e,pX.spatialPlacement.target,null,null))for(const e of null!==(i=s.get(n.id))&&void 0!==i?i:[])t.addQuad(aq.DataFactory.namedNode(o.id),pX.spatialEntity.ccf_annotations,e)}(this.store),this})}serialize(){return(0,aq.serializeN3Store)(this.store)}deserialize(t){return xw(this,void 0,void 0,function*(){this.store=(0,aq.deserializeN3Store)(t,aq.DataFactory),this.graph=new CX(this),this.scene=new EX(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(t={}){return function(t,e,n){var i,r,s,o,a,l,c;let u=function(t){const e=new Set;return t.forSubjects(t=>e.add(t.id),dX.spatialEntity,null,null),e}(t);if(u.size>0&&(u=function(t,e,n=!0){const i=new Set;if(t.forSubjects(HX(e,i),dX.spatialEntity,null,null),!n){const t=new Set;return e.forEach(e=>i.has(e)?void 0:t.add(e)),t}return i}(t,u)),u.size>0&&("Male"===n.sex||"Female"===n.sex)){const e=n.sex;u=zX(t,u,n=>function(t,e,n){const i=new Set;return t.forSubjects(HX(e,i),dX.sex,dX[n],null),i}(t,n,e))}if(u.size>0&&(null===(i=n.tmc)||void 0===i?void 0:i.length)>0&&(u=zX(t,u,e=>function(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.literal(r);t.forSubjects(HX(e,i),dX.providerName,n,null)}return i}(t,e,n.tmc))),u.size>0&&(null===(r=n.technologies)||void 0===r?void 0:r.length)>0&&(u=function(t,e,n){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const e of(0,aq.readQuads)(t,u,dX.sections,null,null))a.add(e.object.id);for(const u of a)for(const e of(0,aq.readQuads)(t,u,dX.datasets,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(u):s.set(e.object.id,[u]);const l=n(o),c=new Set;for(const u of l)for(const t of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(t);return c}(t,u,e=>function(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.literal(r);t.forSubjects(HX(e,i),dX.technology,n,null)}return i}(t,e,n.technologies))),u.size>0&&(null===(s=n.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=UX(t,u,i=>function(t,e,n,i){const r=new Set;for(const s of i)VX(t,e,n,s).forEach(t=>r.add(t));return r}(t,e,i,n.spatialSearches))),u.size>0&&(null===(o=n.ontologyTerms)||void 0===o?void 0:o.length)>0){const e=n.ontologyTerms;-1===e.indexOf(bX.body.id)&&(u=UX(t,u,n=>$X(t,n,e)))}if(u.size>0&&(null===(a=n.cellTypeTerms)||void 0===a?void 0:a.length)>0){const e=n.cellTypeTerms;-1===e.indexOf(bX.cell.id)&&(u=UX(t,u,n=>function(t,e,n){const i=new Set;for(const r of n)t.forObjects(t=>{i.add(t.id)},r,pX.asctb.located_in,null),r===bX.cell.id&&i.add(bX.body.id);return $X(t,e,[...i])}(t,n,e)))}if(u.size>0&&2===(null===(l=n.ageRange)||void 0===l?void 0:l.length)&&(0,gq.isFinite)(n.ageRange[0])&&(0,gq.isFinite)(n.ageRange[1])){const e=Math.max(...n.ageRange),i=Math.min(...n.ageRange);1===i&&110===e||(u=zX(t,u,n=>function(t,e,n,i){const r=new Set;for(const s of e)for(const e of(0,aq.readQuads)(t,s,dX.age,null,null)){const t=(0,Sq.fromRdf)(e.object);t>=n&&t<=i&&r.add(s)}return r}(t,n,i,e)))}if(u.size>0&&2===(null===(c=n.bmiRange)||void 0===c?void 0:c.length)&&(0,gq.isFinite)(n.bmiRange[0])&&(0,gq.isFinite)(n.bmiRange[1])){const e=Math.max(...n.bmiRange),i=Math.min(...n.bmiRange);13===i&&83===e||(u=zX(t,u,n=>function(t,e,n,i){const r=new Set;for(const s of e)for(const e of(0,aq.readQuads)(t,s,dX.bmi,null,null)){const t=(0,Sq.fromRdf)(e.object);t>=n&&t<=i&&r.add(s)}return r}(t,n,i,e)))}return u}(this.store,this.graph,t)}get(t){return this.store.getQuads(aq.DataFactory.namedNode(t),null,null,null)}search(t={}){return[...this.getIds(t)].map(t=>this.get(t))}getSpatialEntities(t){return t=Object.assign(Object.assign({},t),{hasSpatialEntity:!0}),[...this.getIds(t)].map(t=>function(t,e){const n=t.getObjects(aq.DataFactory.namedNode(e),dX.spatialEntity,null);if(n.length>0)return wX(t,n[0].id)}(this.store,t))}getDatabaseStatus(){return xw(this,void 0,void 0,function*(){return this.status||(this.status=new rY(this)),this.status.toJson()})}getDatasetTechnologyNames(){return xw(this,void 0,void 0,function*(){return function(t){const e=new Set;for(const n of(0,aq.readQuads)(t,null,dX.technology,null,null))e.add(n.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return xw(this,void 0,void 0,function*(){return function(t){const e=new Set;for(const n of(0,aq.readQuads)(t,null,dX.providerName,null,null))e.add(n.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(t){return xw(this,void 0,void 0,function*(){return t=Object.assign(Object.assign({},t),{hasSpatialEntity:!0}),[...this.getIds(t)].map(t=>function(t,e){const n={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of aX(t,e,tY))if("sections"===i){const e=iY(t,r);n[i].push(e)}else if("datasets"===i){const e=nY(t,r);n[i].push(e)}else n[i]="donor"===i?eY(t,r):r;return n}(this.store,t))})}getAggregateResults(t){return xw(this,void 0,void 0,function*(){return function(t,e){const n=jX(e,t,dX.donor.id),i=jX(e,n,dX.providerUUID.id),r=new Set;for(const a of t)for(const t of(0,aq.readQuads)(e,a,dX.spatialEntity,null,null))r.add(t.subject.id);const s=jX(e,r,dX.sections.id),o=new Set([...jX(e,r,dX.datasets.id),...jX(e,s,dX.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:n.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([t,e])=>({label:t,count:e}))}(this.getIds(t),this.store)})}getOntologyTermOccurences(t){return xw(this,void 0,void 0,function*(){return function(t,e){const n={};return GX(t,e).forEach((t,e)=>{n[e]=t.size}),n}(this.getIds(t),this.store)})}getCellTypeTermOccurences(t){return xw(this,void 0,void 0,function*(){return function(t,e){var n,i;const r=GX(t,e),s=new Map;for(const a of r.keys()){const t=r.get(a);for(const n of(0,aq.readQuads)(e,null,pX.asctb.located_in,a,null)){const e=n.subject.id;if(s.has(e)){const n=s.get(e);t.forEach(t=>n.add(t))}else s.set(e,new Set(t))}}const o={};return s.forEach((t,e)=>{o[e]=t.size}),o[bX.cell.id]=null!==(i=null===(n=r.get(bX.body.id))||void 0===n?void 0:n.size)&&void 0!==i?i:0,o}(this.getIds(t),this.store)})}getOntologyTreeModel(){return xw(this,void 0,void 0,function*(){return YX(this.store)})}getCellTypeTreeModel(){return xw(this,void 0,void 0,function*(){return function(t){return qX(t,bX.cell.id,"cell",pX.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return xw(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(t){return xw(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(t)})}getReferenceOrganScene(t,e){return xw(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(t,e)})}getSpatialPlacement(t,e){return xw(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(t,e)})}}const cY=[240,183,98,255],uY=[213,0,0,255],hY=[29,204,101,255],dY=[41,121,255,255],pY=[204,204,204,255],fY=[213,0,0,255],gY=[29,204,101,255],mY=[41,121,255,255];function bY(t,e=!1){const n=t.x_dimension/1e3,i=t.y_dimension/1e3,r=t.z_dimension/1e3,s=.05*Math.max(n,i,r),o=.1*s;return[{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginSphere","@type":"SpatialSceneNode",unpickable:!0,geometry:"sphere",transformMatrix:new VT(VT.IDENTITY).scale(s),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginX","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([n/2,0,0]).rotateZ(ZS(-90)).scale([o,n,o]),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([n,0,0]).rotateZ(ZS(-90)).scale([s,3*s,s]),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new VT(VT.IDENTITY).translate([2*-s,0,0]).scale(s),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new VT(VT.IDENTITY).translate([n+2*s,0,0]).scale(s),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginY","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([0,i/2,0]).scale([o,i,o]),color:gY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([0,i,0]).scale([s,3*s,s]),color:gY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new VT(VT.IDENTITY).translate([1.5*s,1.5*s,0]).scale(s),color:gY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new VT(VT.IDENTITY).translate([0,i+2*s,0]).scale(s),color:gY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r/2]).rotateX(ZS(90)).scale([o,r,o]),color:mY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r]).rotateX(ZS(90)).scale([s,3*s,s]),color:mY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new VT(VT.IDENTITY).translate([1.5*s,1.5*-s,0]).scale(s),color:mY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r+2*s]).scale(s),color:mY}].filter(t=>e&&"text"===t.geometry&&t.text||!t.text)}const yY=Symbol("Comlink.proxy"),vY=Symbol("Comlink.endpoint"),_Y=Symbol("Comlink.releaseProxy"),wY=Symbol("Comlink.thrown"),xY=t=>"object"==typeof t&&null!==t||"function"==typeof t,SY=new Map([["proxy",{canHandle:t=>xY(t)&&t[yY],serialize(t){const{port1:e,port2:n}=new MessageChannel;return CY(t,e),[n,[n]]},deserialize:t=>(t.start(),OY(t))}],["throw",{canHandle:t=>xY(t)&&wY in t,serialize({value:t}){let e;return e=t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[e,[]]},deserialize(t){throw t.isError?Object.assign(new Error(t.value.message),t.value):t.value}}]]);function CY(t,e=self){e.addEventListener("message",function n(i){if(!i||!i.data)return;const{id:r,type:s,path:o}=Object.assign({path:[]},i.data),a=(i.data.argumentList||[]).map(DY);let l;try{const e=o.slice(0,-1).reduce((t,e)=>t[e],t),n=o.reduce((t,e)=>t[e],t);switch(s){case"GET":l=n;break;case"SET":e[o.slice(-1)[0]]=DY(i.data.value),l=!0;break;case"APPLY":l=n.apply(e,a);break;case"CONSTRUCT":l=function(t){return Object.assign(t,{[yY]:!0})}(new n(...a));break;case"ENDPOINT":{const{port1:e,port2:n}=new MessageChannel;CY(t,n),l=function(t,e){return MY.set(t,e),t}(e,[e])}break;case"RELEASE":l=void 0;break;default:return}}catch(c){l={value:c,[wY]:0}}Promise.resolve(l).catch(t=>({value:t,[wY]:0})).then(t=>{const[i,o]=IY(t);e.postMessage(Object.assign(Object.assign({},i),{id:r}),o),"RELEASE"===s&&(e.removeEventListener("message",n),EY(e))})}),e.start&&e.start()}function EY(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function OY(t,e){return kY(t,[],e)}function TY(t){if(t)throw new Error("Proxy has been released and is not useable")}function kY(t,e=[],n=function(){}){let i=!1;const r=new Proxy(n,{get(n,s){if(TY(i),s===_Y)return()=>RY(t,{type:"RELEASE",path:e.map(t=>t.toString())}).then(()=>{EY(t),i=!0});if("then"===s){if(0===e.length)return{then:()=>r};const n=RY(t,{type:"GET",path:e.map(t=>t.toString())}).then(DY);return n.then.bind(n)}return kY(t,[...e,s])},set(n,r,s){TY(i);const[o,a]=IY(s);return RY(t,{type:"SET",path:[...e,r].map(t=>t.toString()),value:o},a).then(DY)},apply(n,r,s){TY(i);const o=e[e.length-1];if(o===vY)return RY(t,{type:"ENDPOINT"}).then(DY);if("bind"===o)return kY(t,e.slice(0,-1));const[a,l]=AY(s);return RY(t,{type:"APPLY",path:e.map(t=>t.toString()),argumentList:a},l).then(DY)},construct(n,r){TY(i);const[s,o]=AY(r);return RY(t,{type:"CONSTRUCT",path:e.map(t=>t.toString()),argumentList:s},o).then(DY)}});return r}function PY(t){return Array.prototype.concat.apply([],t)}function AY(t){const e=t.map(IY);return[e.map(t=>t[0]),PY(e.map(t=>t[1]))]}const MY=new WeakMap;function IY(t){for(const[e,n]of SY)if(n.canHandle(t)){const[i,r]=n.serialize(t);return[{type:"HANDLER",name:e,value:i},r]}return[{type:"RAW",value:t},MY.get(t)||[]]}function DY(t){switch(t.type){case"HANDLER":return SY.get(t.name).deserialize(t.value);case"RAW":return t.value}}function RY(t,e,n){return new Promise(i=>{const r=new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-");t.addEventListener("message",function e(n){!n.data||!n.data.id||n.data.id!==r||(t.removeEventListener("message",e),i(n.data))}),t.start&&t.start(),t.postMessage(Object.assign({id:r},e),n)})}class NY extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}let LY=null;function jY(t){LY=t}function FY(){if(null===LY)throw new NY;return LY.get(qz)}function BY(){if(null===LY)throw new NY;return LY.get(Tu)}function VY(t,e,n){e.run(()=>t.dispatch(n))}function zY(t,e,n,i){return ha(n)?function(t,e,n){return n.then(n=>(VY(t,e,n),n))}(t,e,n):Gd(n)?function(t,e,n,i){return null!==i&&(n=n.pipe(rp(i.cancelUncompleted$))),n.subscribe({next:n=>VY(t,e,n)}),n}(t,e,n,i):(VY(t,e,n),n)}class UY{constructor(){this.cancelUncompleted$=new A}cancelPreviousAction(){this.cancelUncompleted$.next()}}const HY="\u0275fac",$Y=Symbol("InjectorInstance"),GY=Symbol("FactoryHasBeenDecorated");function WY(t,e){const n=t[$Y];return n?n.get(e):null}const qY={cancelUncompleted:!1};function XY(t=qY){return(e,n,i)=>{let r;const s=function(t){return t?new UY:null}(t.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const t=WY(this,qz)||FY(),e=WY(this,Tu)||BY(),n=r.apply(this,arguments);return e.runOutsideAngular(()=>zY(t,e,n,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,n,{set:t=>r=t,get:()=>o}),function(t){if(GY in t.constructor.prototype)return;const e=t.constructor;"function"==typeof e[HY]&&function(t){const e=t[HY];if("function"!=typeof e)return;const n=t.\u0275prov||t.\u0275pipe||t.\u0275cmp||t.\u0275dir,i=()=>{const t=e();return t[$Y]=ea(_o),t};n&&(n.factory=i),Object.defineProperty(t,HY,{get:()=>i})}(e),t.constructor.prototype[GY]=!0}(e)}}let YY=(()=>{class t{constructor(t){jY(t.injector),t.onDestroy(()=>{jY(null)})}static forRoot(){return{ngModule:t}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hc))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),KY=(()=>{class t{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(t){this._vertical=kd(t)}get inset(){return this._inset}set inset(t){this._inset=kd(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(t,e){2&t&&(Ko("aria-orientation",e.vertical?"vertical":"horizontal"),ja("mat-divider-vertical",e.vertical)("mat-divider-horizontal",!e.vertical)("mat-divider-inset",e.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(t,e){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),t})(),QY=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();const ZY=["*"],JY=[[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]],[["","mat-line",""],["","matLine",""]],"*"],tK=["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]","[mat-line], [matLine]","*"],eK=qy(Yy(class{})),nK=Yy(class{}),iK=new oi("MatList"),rK=new oi("MatNavList");let sK=(()=>{class t extends eK{constructor(t){super(),this._elementRef=t,this._stateChanges=new A,"action-list"===this._getListType()&&t.nativeElement.classList.add("mat-action-list")}_getListType(){const t=this._elementRef.nativeElement.nodeName.toLowerCase();return"mat-list"===t?"list":"mat-action-list"===t?"action-list":null}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al))},t.\u0275cmp=Jt({type:t,selectors:[["mat-list"],["mat-action-list"]],hostAttrs:[1,"mat-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matList"],features:[xl([{provide:iK,useExisting:t}]),jo,ye],ngContentSelectors:ZY,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:['.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n'],encapsulation:2,changeDetection:0}),t})(),oK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-list-avatar",""],["","matListAvatar",""]],hostAttrs:[1,"mat-list-avatar"]}),t})(),aK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-list-icon",""],["","matListIcon",""]],hostAttrs:[1,"mat-list-icon"]}),t})(),lK=(()=>{class t extends nK{constructor(t,e,n,i){super(),this._element=t,this._isInteractiveList=!1,this._destroyed=new A,this._disabled=!1,this._isInteractiveList=!!(n||i&&"action-list"===i._getListType()),this._list=n||i;const r=this._getHostElement();"button"===r.nodeName.toLowerCase()&&!r.hasAttribute("type")&&r.setAttribute("type","button"),this._list&&this._list._stateChanges.pipe(rp(this._destroyed)).subscribe(()=>{e.markForCheck()})}get disabled(){return this._disabled||!(!this._list||!this._list.disabled)}set disabled(t){this._disabled=kd(t)}ngAfterContentInit(){!function(t,e,n="mat"){t.changes.pipe(lp(t)).subscribe(({length:t})=>{tv(e,`${n}-2-line`,!1),tv(e,`${n}-3-line`,!1),tv(e,`${n}-multi-line`,!1),2===t||3===t?tv(e,`${n}-${t}-line`,!0):t>3&&tv(e,`${n}-multi-line`,!0)})}(this._lines,this._element)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_isRippleDisabled(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)}_getHostElement(){return this._element.nativeElement}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(rK,8),ea(iK,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,oK,5),Jc(n,aK,5),Jc(n,Jy,5)),2&t){let t;Qc(t=tu())&&(e._avatar=t.first),Qc(t=tu())&&(e._icon=t.first),Qc(t=tu())&&(e._lines=t)}},hostAttrs:[1,"mat-list-item","mat-focus-indicator"],hostVars:6,hostBindings:function(t,e){2&t&&ja("mat-list-item-disabled",e.disabled)("mat-list-item-avatar",e._avatar||e._icon)("mat-list-item-with-avatar",e._avatar||e._icon)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matListItem"],features:[jo],ngContentSelectors:tK,decls:6,vars:2,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-list-text"]],template:function(t,e){1&t&&(wa(JY),ra(0,"div",0),oa(1,"div",1),xa(2),ra(3,"div",2),xa(4,1),sa(),xa(5,2),sa()),2&t&&(ws(1),na("matRippleTrigger",e._getHostElement())("matRippleDisabled",e._isRippleDisabled()))},directives:[cv],encapsulation:2,changeDetection:0}),t})(),cK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[ev,uv,Wy,dv,Wh],ev,Wy,dv,QY]}),t})();const uK=["input"],hK=function(t){return{enterDuration:t}},dK=["*"],pK=new oi("mat-checkbox-default-options",{providedIn:"root",factory:fK});function fK(){return{color:"accent",clickAction:"check-indeterminate"}}let gK=0;const mK=fK(),bK={provide:aU,useExisting:pt(()=>_K),multi:!0};class yK{}const vK=Ky(Xy(Yy(qy(class{constructor(t){this._elementRef=t}}))));let _K=(()=>{class t extends vK{constructor(t,e,n,i,r,s,o){super(t),this._changeDetectorRef=e,this._focusMonitor=n,this._ngZone=i,this._animationMode=s,this._options=o,this.ariaLabel="",this.ariaLabelledby=null,this._uniqueId="mat-checkbox-"+ ++gK,this.id=this._uniqueId,this.labelPosition="after",this.name=null,this.change=new Bc,this.indeterminateChange=new Bc,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||mK,this.color=this.defaultColor=this._options.color||mK.color,this.tabIndex=parseInt(r)||0}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(t){this._required=kd(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{t||Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}ngAfterViewChecked(){}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}get checked(){return this._checked}set checked(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){const e=kd(t);e!==this.disabled&&(this._disabled=e,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(t){const e=t!=this._indeterminate;this._indeterminate=kd(t),e&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(t){this.checked=!!t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(t){let e=this._currentCheckState,n=this._elementRef.nativeElement;if(e!==t&&(this._currentAnimationClass.length>0&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(e,t),this._currentCheckState=t,this._currentAnimationClass.length>0)){n.classList.add(this._currentAnimationClass);const t=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{n.classList.remove(t)},1e3)})}}_emitChangeEvent(){const t=new yK;t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked}_onInputClick(t){var e;const n=null===(e=this._options)||void 0===e?void 0:e.clickAction;t.stopPropagation(),this.disabled||"noop"===n?!this.disabled&&"noop"===n&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==n&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}focus(t,e){t?this._focusMonitor.focusVia(this._inputElement,t,e):this._inputElement.nativeElement.focus(e)}_onInteractionEvent(t){t.stopPropagation()}_getAnimationClassForCheckStateTransition(t,e){if("NoopAnimations"===this._animationMode)return"";let n="";switch(t){case 0:if(1===e)n="unchecked-checked";else{if(3!=e)return"";n="unchecked-indeterminate"}break;case 2:n=1===e?"unchecked-checked":"unchecked-indeterminate";break;case 1:n=2===e?"checked-unchecked":"checked-indeterminate";break;case 3:n=1===e?"indeterminate-checked":"indeterminate-unchecked"}return`mat-checkbox-anim-${n}`}_syncIndeterminate(t){const e=this._inputElement;e&&(e.nativeElement.indeterminate=t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(Ug),ea(Tu),ii("tabindex"),ea(Ny,8),ea(pK,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-checkbox"]],viewQuery:function(t,e){if(1&t&&(Zc(uK,5),Zc(cv,5)),2&t){let t;Qc(t=tu())&&(e._inputElement=t.first),Qc(t=tu())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(t,e){2&t&&(rl("id",e.id),Ko("tabindex",null),ja("mat-checkbox-indeterminate",e.indeterminate)("mat-checkbox-checked",e.checked)("mat-checkbox-disabled",e.disabled)("mat-checkbox-label-before","before"==e.labelPosition)("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[xl([bK]),jo],ngContentSelectors:dK,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(t,e){if(1&t&&(wa(),ra(0,"label",0,1),ra(2,"span",2),ra(3,"input",3,4),fa("change",function(t){return e._onInteractionEvent(t)})("click",function(t){return e._onInputClick(t)}),sa(),ra(5,"span",5),oa(6,"span",6),sa(),oa(7,"span",7),ra(8,"span",8),vn(),ra(9,"svg",9),oa(10,"path",10),sa(),Ve.lFrame.currentNamespace=null,oa(11,"span",11),sa(),sa(),ra(12,"span",12,13),fa("cdkObserveContent",function(){return e._onLabelTextChange()}),ra(14,"span",14),Ja(15,"\xa0"),sa(),xa(16),sa(),sa()),2&t){const t=ta(1),n=ta(13);Ko("for",e.inputId),ws(2),ja("mat-checkbox-inner-container-no-side-margin",!n.textContent||!n.textContent.trim()),ws(1),na("id",e.inputId)("required",e.required)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex),Ko("value",e.value)("name",e.name)("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby)("aria-checked",e._getAriaChecked())("aria-describedby",e.ariaDescribedby),ws(2),na("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",Pc(19,hK,"NoopAnimations"===e._animationMode?0:150))}},directives:[cv,pg],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-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 mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),t})(),wK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),xK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wy,fg,wK],Wy,wK]}),t})();const SK=["bodyCanvas"];let CK=(()=>{class t{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new Bc,this.nodeDrag=new Bc,this.nodeClick=new Bc,this.nodeHoverStart=new Bc,this.nodeHoverStop=new Bc,this.initialized=new Bc,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var e;this._scene=t,null===(e=this.bodyUI)||void 0===e||e.setScene(t)}get rotation(){return this._rotation}set rotation(t){var e;this._rotation=t,null===(e=this.bodyUI)||void 0===e||e.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var e;this._rotationX=t,null===(e=this.bodyUI)||void 0===e||e.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var e;this._zoom=t,null===(e=this.bodyUI)||void 0===e||e.setZoom(t)}get target(){return this._target}set target(t){var e;this._target=t,null===(e=this.bodyUI)||void 0===e||e.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,e={x:48,y:48}){if(this.bodyCanvas){const{width:n,height:i}=this.bodyCanvas.nativeElement,r=window.devicePixelRatio,s=Math.min(Math.log2((n-e.x)/r/t.x),Math.log2((i-e.y)/r/t.y));this.zoom=s}}setupBodyUI(){var t;return xw(this,void 0,void 0,function*(){const e=this.bodyCanvas.nativeElement,n=new BV({id:"body-ui",canvas:e,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});e.addEventListener("contextmenu",t=>t.preventDefault()),yield n.initialize(),this.bodyUI=n,window.bodyUI=n,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(t=>this.rotationChange.next(t)),this.bodyUI.nodeDrag$.subscribe(t=>this.nodeDrag.emit(t)),this.bodyUI.nodeClick$.subscribe(t=>this.nodeClick.emit(t)),this.bodyUI.nodeHoverStart$.subscribe(t=>this.nodeHoverStart.emit(t)),this.bodyUI.nodeHoverStop$.subscribe(t=>this.nodeHoverStop.emit(t))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-body-ui"]],viewQuery:function(t,e){if(1&t&&Zc(SK,5,Al),2&t){let t;Qc(t=tu())&&(e.bodyCanvas=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,e){1&t&&oa(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),t})(),EK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();new oi("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const OK=["carouselContainer"],TK=["itemlist"],kK=["itemcontainer"];function PK(t,e){if(1&t){const t=ua();ra(0,"mat-icon",9),fa("touchstart",function(){return $e(t),va().scroll("left")})("touchend",function(){return $e(t),va().stopScroll()})("click",function(){return $e(t),va().shift("left")})("mousedown",function(){return $e(t),va().scroll("left")})("mouseup",function(){return $e(t),va().stopScroll()}),Ja(1,"chevron_left"),sa()}2&t&&ja("disabled",va().onLeft)}function AK(t,e){if(1&t&&(ra(0,"div",15),Ja(1),sa()),2&t){const t=va().$implicit,e=va();ws(1),tl(e.occurenceData[t.id]||0)}}function MK(t,e){if(1&t){const t=ua();ra(0,"div",10),fa("click",function(){const e=$e(t).$implicit;return va().selectOrgan(e)}),oa(1,"mat-icon",11),ra(2,"div",12),ra(3,"div",13),Ja(4),sa(),Jo(5,AK,2,1,"div",14),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ja("disabled",t.disabled)("selected",n.isSelected(t)),ws(1),Sa("svgIcon",t.src),ws(3),tl(t.name),ws(1),na("ngIf",void 0!==t.numResults)}}function IK(t,e){if(1&t){const t=ua();ra(0,"mat-icon",16),fa("touchstart",function(){return $e(t),va().scroll("right")})("touchend",function(){return $e(t),va().stopScroll()})("click",function(){return $e(t),va().shift("right")})("mousedown",function(){return $e(t),va().scroll("right")})("mouseup",function(){return $e(t),va().stopScroll()}),Ja(1,"chevron_right"),sa()}2&t&&ja("disabled",va().onRight)}const DK=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((t,e)=>t.name.localeCompare(e.name)),RK=DK.filter(t=>!0!==t.disabled);let NK=(()=>{class t{constructor(){this.clsName="ccf-organ-selector",this.multiselect=!1,this.displayErrors=!1,this.organList=RK,this.selectedOrgans=[],this.expanded=!1,this.organsChanged=new Bc,this.onLeft=!0,this.onRight=!1,this.step=72}set occurenceData(t){this._occurenceData=t}get occurenceData(){return this._occurenceData}ngAfterViewInit(){const{carouselContainer:t}=this;this.sensor=new I$.ResizeSensor(t.nativeElement,()=>{this.set()})}ngOnChanges(t){"organList"in t&&this.set()}ngOnDestroy(){this.sensor.detach()}get error(){return!(!this.displayErrors||0===this.selectedOrgans.length)}shift(t){const{itemList:e}=this;let n=parseInt(e.nativeElement.style.left,10)||0;this.onLeft&&"left"===t||this.onRight&&"right"===t||(n="right"===t?n-this.step:n+this.step,e.nativeElement.style.left=n+"px",this.setLeftRight(n))}scroll(t){this.timeoutHandler=setInterval(()=>{this.shift(t)},200)}stopScroll(){this.timeoutHandler&&(clearInterval(this.timeoutHandler),this.timeoutHandler=void 0)}selectOrgan(t){this.selectedOrgans=this.multiselect?this.selectedOrgans.includes(t)?this.selectedOrgans.filter(e=>t!==e):this.selectedOrgans.concat([t]):[t],this.organsChanged.emit(this.selectedOrgans)}isSelected(t){return!!this.selectedOrgans.includes(t)}set(){const{itemList:t,itemContainer:e,carouselContainer:n}=this,i=parseInt(t.nativeElement.style.left,10)||0;if(t.nativeElement.offsetWidth>=this.organList.length*this.step)t.nativeElement.style.left="0px",this.onLeft=!0,this.onRight=!0;else{this.setLeftRight(i);const t=this.step*Math.floor(n.nativeElement.offsetWidth/this.step)-64;e.nativeElement.style.width=`${t}px`}}setWidth(){const{itemContainer:t,carouselContainer:e}=this,n=this.step*Math.floor(e.nativeElement.offsetWidth/this.step)-64;t.nativeElement.style.width=`${n}px`}setLeftRight(t){const{itemContainer:e}=this;this.onLeft=0===t,this.onRight=t<=e.nativeElement.offsetWidth-this.organList.length*this.step}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-organ-selector"]],viewQuery:function(t,e){if(1&t&&(Zc(OK,7),Zc(TK,7),Zc(kK,7)),2&t){let t;Qc(t=tu())&&(e.carouselContainer=t.first),Qc(t=tu())&&(e.itemList=t.first),Qc(t=tu())&&(e.itemContainer=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{multiselect:"multiselect",displayErrors:"displayErrors",organList:"organList",selectedOrgans:"selectedOrgans",expanded:"expanded",occurenceData:"occurenceData"},outputs:{organsChanged:"organsChanged"},features:[ye],decls:9,vars:8,consts:[["matTooltip","Select the organ your tissue block is from.",1,"container",3,"matTooltipDisabled"],["carouselContainer",""],["class","carousel-left-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-item-container"],["itemcontainer",""],[1,"carousel-item-list"],["itemlist",""],["class","carousel-item",3,"disabled","selected","click",4,"ngFor","ngForOf"],["class","carousel-right-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-left-icon",3,"touchstart","touchend","click","mousedown","mouseup"],[1,"carousel-item",3,"click"],[1,"carousel-icon",3,"svgIcon"],[1,"carousel-text-container"],[1,"carousel-text"],["class","num-results",4,"ngIf"],[1,"num-results"],[1,"carousel-right-icon",3,"touchstart","touchend","click","mousedown","mouseup"]],template:function(t,e){1&t&&(ra(0,"div",0,1),Jo(2,PK,2,2,"mat-icon",2),ra(3,"div",3,4),ra(5,"div",5,6),Jo(7,MK,6,7,"div",7),sa(),sa(),Jo(8,IK,2,2,"mat-icon",8),sa()),2&t&&(ja("expanded",e.expanded)("error",e.error),na("matTooltipDisabled",e.multiselect),ws(2),na("ngIf",!e.expanded),ws(5),na("ngForOf",e.organList),ws(1),na("ngIf",!e.expanded))},directives:[gw,Ah,kh,T_],styles:["[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{font-size:2rem;transform:scaleY(1.2);height:2rem;width:2rem;cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon.disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{overflow:hidden;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{position:relative;left:0rem;display:flex;transition:all .2s linear;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer;padding:.25rem .5rem;height:5rem;transition:.6s}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-icon[_ngcontent-%COMP%]{text-align:center;width:3.5rem;height:2rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:4rem;justify-content:center;text-align:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .carousel-text[_ngcontent-%COMP%]{display:flex;justify-content:center;font-size:.625rem;max-width:3.5rem;line-height:.8rem;min-height:1.6rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{font-size:.6875rem;line-height:1.5}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item.disabled[_ngcontent-%COMP%]{pointer-events:none}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;height:1rem}[_nghost-%COMP%] .error-message.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{width:100%!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{flex-wrap:wrap;overflow:auto;left:0rem!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{height:5rem}"]}),t})(),LK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,yw]]}),t})(),jK=(()=>{class t{constructor(){this.clsName="ccf-opacity-slider",this.opacity=20,this.visible=!0,this.opacityChange=new Bc,this.visibilityToggle=new Bc,this.opacityReset=new Bc}ngOnInit(){this.prevOpacity=this.visible?0:20}reset(){this.prevOpacity=20}changeOpacity(t){this.opacity=parseInt(t,10),this.opacityChange.emit(this.opacity)}toggleVisibility(){const t=this.opacity;this.opacity=this.prevOpacity,this.prevOpacity=t,this.visibilityToggle.emit(),this.opacityChange.emit(this.opacity)}resetOpacity(){this.prevOpacity=0,this.opacityReset.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-opacity-slider"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{opacity:"opacity",visible:"visible"},outputs:{opacityChange:"opacityChange",visibilityToggle:"visibilityToggle",opacityReset:"opacityReset"},decls:10,vars:17,consts:[[1,"slider-box"],[1,"slider-and-label"],[1,"slider",3,"step","min","max","value","input"],[1,"opacity-value"],[1,"icons"],["matRipple","","svgIcon","app:visibility_off",1,"visibility","icon","invisible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","","svgIcon","app:visibility_on",1,"visibility","icon","visible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"mat-slider",2),fa("input",function(t){return e.changeOpacity(t.value)}),sa(),ra(3,"span",3),Ja(4),sa(),sa(),ra(5,"div",4),ra(6,"mat-icon",5),fa("click",function(){return e.toggleVisibility()}),sa(),ra(7,"mat-icon",6),fa("click",function(){return e.toggleVisibility()}),sa(),ra(8,"mat-icon",7),fa("click",function(){return e.resetOpacity()}),Ja(9,"refresh"),sa(),sa(),sa()),2&t&&(ws(2),ja("disabled",!e.visible),na("step",1)("min",0)("max",100)("value",e.opacity),ws(2),el("",e.opacity,"%"),ws(2),ja("hidden",e.visible),na("matRippleCentered",!0)("matRippleUnbounded",!0),ws(1),ja("hidden",!e.visible),na("matRippleCentered",!0)("matRippleUnbounded",!0),ws(1),na("matRippleCentered",!0)("matRippleUnbounded",!0))},directives:[F$,T_,cv],styles:["[_nghost-%COMP%]{height:2.25rem;display:flex;align-items:center;justify-content:space-between;border-radius:.1875rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%]{width:60%;display:flex;align-items:center;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .mat-slider-wrapper{top:1.125rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:not-allowed}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .opacity-value[_ngcontent-%COMP%]{width:1.5rem;margin-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{display:flex;cursor:pointer!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{margin-right:1rem;padding:.25rem;cursor:pointer;transition:.6s;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility[_ngcontent-%COMP%]{transition:.6s;cursor:pointer;padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})(),FK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,U$,uv]]}),t})();function BK(t,e){if(1&t&&(ra(0,"div",16),oa(1,"youtube-player",17),sa()),2&t){const t=va(3);ws(1),Sa("videoId",t.videoID)}}function VK(t,e){if(1&t&&(ra(0,"mat-expansion-panel",11),ra(1,"mat-expansion-panel-header"),ra(2,"h2",12),Ja(3),sa(),sa(),ra(4,"div",13),oa(5,"markdown",14),Jo(6,BK,2,1,"div",15),sa(),sa()),2&t){const t=va(),e=t.index,n=t.$implicit;na("expanded",0===e),ws(3),tl(n.title),ws(2),ja("first",0===e),na("data",n.content),ws(1),na("ngIf",0===e)}}function zK(t,e){if(1&t&&(ra(0,"div",9),Jo(1,VK,7,6,"mat-expansion-panel",10),sa()),2&t){const t=e.$implicit;ws(1),na("ngIf",t)}}let UK=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.documentationContents=e.content||[],this.infoTitle=e.title||"",this.videoID=e.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$),ea(Q$))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"h2",4),Ja(5),sa(),ra(6,"div",5),ra(7,"mat-icon",6),fa("click",function(){return e.close()}),Ja(8,"clear"),sa(),sa(),sa(),ra(9,"mat-dialog-content",7),Jo(10,zK,2,1,"div",8),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(5),na("ngForOf",e.documentationContents))},directives:[rG,T_,sG,kh,Ah,CG,TG,NG,WG],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),t})(),HK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,oG,k_,kG,KG,LG.forRoot({})]]}),t})(),$K=(()=>{class t{constructor(t){this.http=t,this.panelContent=new Jf({content:[],infoTitle:"",videoID:""})}updateData(t,e,n){this.http.get(t,{responseType:"text"}).subscribe(t=>{const i={content:this.parseMarkdown(t),infoTitle:n,videoID:e};this.panelContent.next(i)})}parseMarkdown(t){const e=[],n=t.split("# ");for(const i of n)if(i.length){const t=i.includes("\n\n")?"\n\n":"\r\n\r\n",n=i.split(t);e.push({title:n[0],content:n.splice(1).join(t)})}return e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),GK=(()=>{class t{constructor(t,e){this.dialog=t,this.infoButtonService=e,this.infoTitle="",this.subscriptions=new g,this.subscriptions.add(e.panelContent.subscribe(t=>{t.content.length&&this.launchInfoDialog(t)}))}ngOnDestroy(){this.subscriptions.unsubscribe()}launchInfoDialog(t){0==this.dialog.openDialogs.length&&this.dialog.open(UK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoButtonService.updateData(this.documentationUrl,this.videoID,this.infoTitle)}}return t.\u0275fac=function(e){return new(e||t)(ea(nG),ea($K))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-button"]],inputs:{infoTitle:"infoTitle",videoID:"videoID",documentationUrl:"documentationUrl"},decls:3,vars:0,consts:[[1,"info-button-wrapper"],["aria-hidden","false","aria-label","Page information",1,"ccf-info-button",3,"click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"mat-icon",1),fa("click",function(){return e.onDialogButtonClick()}),Ja(2," info "),sa(),sa())},directives:[T_],styles:[".info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.65rem;transition:.6s}.info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.5rem;vertical-align:sub}"]}),t})(),WK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,HK,k_,d_]]}),t})(),qK=(()=>{class t{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Bc,this.closeClicked=new Bc}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"p",4),Ja(5),sa(),ra(6,"mat-icon",5),fa("click",function(){return e.close()}),Ja(7,"clear"),sa(),sa(),oa(8,"img",6),ra(9,"mat-dialog-content",7),ra(10,"div",8),Ja(11),sa(),ra(12,"a",9),fa("click",function(){return e.onDialogButtonClick()}),sa(),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(3),na("src",e.imageUrl,_r),ws(3),el(" ",e.message,""),ws(1),na("text",e.callToAction))},directives:[rG,T_,QG,sG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),t})(),XK=(()=>{let t=class extends MW{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(IW(),xp(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(T$(...t),Wd(),xp(1))}getOption(...t){const e=this.getPathKey(t);if(this.optionCache.has(e))return this.optionCache.get(e);const n=this.config$.pipe(T$(...t),Wd(),xp(1));return this.optionCache.set(e,n),n}getPathKey(t){return`${t.length}:${t.join(".")}`}};return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW()],t.prototype,"config$",null),t=vw([kW(),nU({name:"globalConfig",defaults:null})],t),t})();!function(){const t=localStorage.getItem("ALLOW_TELEMETRY");null===t||t.toLowerCase()}();let YK=(()=>{class t{constructor(t,e){t&&function(t,e){Rd(t,"mousemove").pipe(function(t,e=Yd,n=k$){return i=>i.lift(new P$(t,e,n.leading,n.trailing))}(1e3),D(e=>{const{clientWidth:n,clientHeight:i}=t,{clientX:r,clientY:s}=e;return[r,s,n,i].join("_")})).subscribe(t=>e.event("webpage","mousemove",t))}(t.body,e)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(jW))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function KK(t,e){if(1&t){const t=ua();ra(0,"button",1),fa("click",function(){return $e(t),va().submit(!0)}),Ja(1),sa()}if(2&t){const t=va();ws(1),el(" ","not-set"===t.allowTelemetry?"I understand":"Opt in","\n")}}function QK(t,e){if(1&t){const t=ua();ra(0,"button",1),fa("click",function(){return $e(t),va().submit(!1)}),Ja(1,"Opt out"),sa()}}let ZK=(()=>{class t{constructor(t,e,n){this.consentService=e,this.data=n,this.clsName="ccf-tracking-popup",this.container=t.nativeElement}get allowTelemetry(){return this.consentService.consent}dismiss(){this.data.preClose()}submit(t){this.consentService.setConsent(t?"given":"rescinded"),this.dismiss()}showButton(t){const{allowTelemetry:e}=this;return"not-set"===e||("opt-in"===t?"rescinded"===e:"given"===e)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(VW),ea(Z_))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tracking-popup"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},decls:4,vars:2,consts:[["mat-button","","color","basic",3,"click",4,"ngIf"],["mat-button","","color","basic",3,"click"]],template:function(t,e){1&t&&(ra(0,"p"),Ja(1,"We log usage to improve this service."),sa(),Jo(2,KK,2,1,"button",0),Jo(3,QK,2,0,"button",0)),2&t&&(ws(2),na("ngIf",e.showButton("opt-in")),ws(1),na("ngIf",e.showButton("opt-out")))},directives:[Ah,R_],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-width:400px;color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:9999}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:24px}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin:1rem;min-width:6rem;background-color:#007cbe;display:flex;justify-content:center}"],changeDetection:0}),t})(),JK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_]]}),t})();class tQ extends class{getDatabaseStatus(){return this.forwardCall("getDatabaseStatus")}getProviderNames(){return this.forwardCall("getProviderNames")}getDatasetTechnologyNames(){return this.forwardCall("getDatasetTechnologyNames")}getOntologyTreeModel(){return this.forwardCall("getOntologyTreeModel")}getCellTypeTreeModel(){return this.forwardCall("getCellTypeTreeModel")}getReferenceOrgans(){return this.forwardCall("getReferenceOrgans")}getTissueBlockResults(t){return this.forwardCall("getTissueBlockResults",t)}getAggregateResults(t){return this.forwardCall("getAggregateResults",t)}getOntologyTermOccurences(t){return this.forwardCall("getOntologyTermOccurences",t)}getCellTypeTermOccurences(t){return this.forwardCall("getCellTypeTermOccurences",t)}getScene(t){return this.forwardCall("getScene",t)}getReferenceOrganScene(t,e){return this.forwardCall("getReferenceOrganScene",t,e)}}{forwardCall(t,...e){return this.impl$.pipe(cp(n=>n[t](...e)))}}let eQ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const nQ=new A,iQ={cacheBusterObserver:nQ},rQ={cacheBusterObserver:nQ,maxCacheCount:4};function sQ(t,e,n){return t?{min:t[0]>e?t[0]:void 0,max:t[1]{var e;return Object.assign(Object.assign({},t),{transformMatrix:new VT(null!==(e=t.transformMatrix)&&void 0!==e?e:[])})})}let aQ=(()=>{class t{constructor(t,e){this.api=t,this.globalConfig=e,e.getOption("hubmapToken").subscribe(nQ)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},t=>t)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},t=>t)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},t=>t)}getTissueBlockResults(t){return this.doRequest(t=>this.api.tissueBlocks(t),t,{},t=>t)}getAggregateResults(t){return this.doRequest(t=>this.api.aggregateResults(t),t)}getOntologyTermOccurences(t){return this.doRequest(t=>this.api.ontologyTermOccurences(t),t)}getCellTypeTermOccurences(t){return this.doRequest(t=>this.api.cellTypeTermOccurences(t),t)}getScene(t){return this.doRequest(t=>this.api.scene(t),t,{},oQ)}getReferenceOrganScene(t,e){return this.doRequest(t=>this.api.referenceOrganScene(t),e,{organIri:t},oQ)}doRequest(t,e,n,i){const{api:r,globalConfig:s}=this,o=Object.assign(Object.assign({},function(t){var e,n;return{age:sQ(null==t?void 0:t.ageRange,1,110),bmi:sQ(null==t?void 0:t.bmiRange,13,83),sex:null===(n=null===(e=null==t?void 0:t.sex)||void 0===e?void 0:e.toLowerCase)||void 0===n?void 0:n.call(e),ontologyTerms:null==t?void 0:t.ontologyTerms,cellTypeTerms:null==t?void 0:t.cellTypeTerms,providers:null==t?void 0:t.tmc,technologies:null==t?void 0:t.technologies,spatial:null==t?void 0:t.spatialSearches}}(e)),n);return z_([s.getOption("remoteApiEndpoint"),s.getOption("hubmapToken")]).pipe(rf(1),eg(([t,e])=>{r.configuration.basePath=t,e&&(o.token=e)}),cp(()=>t(o)),D(t=>i?i(t):t))}}return t.\u0275fac=function(e){return new(e||t)(Ei(eq),Ei(XK))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),vw([QW(iQ)],t.prototype,"getProviderNames",null),vw([QW(iQ)],t.prototype,"getDatasetTechnologyNames",null),vw([QW(iQ)],t.prototype,"getOntologyTreeModel",null),vw([QW(iQ)],t.prototype,"getCellTypeTreeModel",null),vw([QW(iQ)],t.prototype,"getReferenceOrgans",null),vw([QW(rQ)],t.prototype,"getTissueBlockResults",null),vw([QW(rQ)],t.prototype,"getAggregateResults",null),vw([QW(rQ)],t.prototype,"getOntologyTermOccurences",null),vw([QW(rQ)],t.prototype,"getCellTypeTermOccurences",null),vw([QW(rQ)],t.prototype,"getScene",null),vw([QW(rQ)],t.prototype,"getReferenceOrganScene",null),t})(),lQ=(()=>{class t extends tQ{constructor(t){super(),this.impl$=this.database$=t.config$.pipe(t=>t,ep(t=>Object.keys(t).length>0),cp(t=>function(t,e){return new E(n=>{let i,r;try{i=t()}catch(o){return void n.error(o)}try{r=e(i)}catch(o){return void n.error(o)}const s=(r?U(r):pp).subscribe(n);return()=>{s.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDatabase(t),e=>this.connectDatabase(e,t))),D(t=>t.database),xp(1))}connectDatabase(t,e){return xw(this,void 0,void 0,function*(){const n=!Vu();return yield t.database.connect(e,n),t})}}return t.\u0275fac=function(e){return new(e||t)(Ei(XK))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),cQ=(()=>{class t extends lQ{createDatabase(t){return{database:new lY(t),unsubscribe:()=>{}}}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),uQ=(()=>{class t extends lQ{createDatabase(t){const e=this.createWorker(t),n=OY(e);return{database:n,unsubscribe:()=>{n[_Y](),e.terminate()}}}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),hQ=(()=>{class t extends tQ{constructor(t,e){super(),this.impl$=t.config$.pipe(t=>t,D(t=>this.selectToken(t)),Wd(),D(t=>e.get(t)),xp(1))}}return t.\u0275fac=function(e){return new(e||t)(Ei(XK),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),dQ=(()=>{class t{}return t.type="[CallToAction] Learn More",t})(),pQ=(()=>{class t{}return t.type="[CallToAction] Open Dialog",t})(),fQ=(()=>{class t{}return t.type="[CallToAction] Close Dialog",t})();var gQ;class mQ{get length(){var t,e;return null!==(e=null===(t=mQ.storage)||void 0===t?void 0:t.length)&&void 0!==e?e:0}key(t){var e,n;return null!==(n=null===(e=mQ.storage)||void 0===e?void 0:e.key(t))&&void 0!==n?n:null}getItem(t,e){var n,i,r;return null!==(r=null!==(i=null===(n=mQ.storage)||void 0===n?void 0:n.getItem(t))&&void 0!==i?i:e)&&void 0!==r?r:null}setItem(t,e){var n;try{return null===(n=mQ.storage)||void 0===n||n.setItem(t,e),!0}catch(i){return!1}}removeItem(t){var e;null===(e=mQ.storage)||void 0===e||e.removeItem(t)}clear(){var t;null===(t=mQ.storage)||void 0===t||t.clear()}}mQ.storage=(()=>{let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),t}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length?t:void 0}})(),mQ.\u0275fac=function(t){return new(t||mQ)},mQ.\u0275prov=xt({token:mQ,factory:mQ.\u0275fac,providedIn:"root"});const bQ="callToActionPopupShown";let yQ=gQ=class{constructor(t,e,n,i,r){this.dialog=t,this.ga=e,this.storage=n,this.infoService=i,this.http=r}static ctaDatePassed(t,e=Date.now){return+e()>+new Date(t)}ngxsOnInit(t){const{expirationDate:e,popupShown:n}=t.getState(),i=this.storage.getItem(bQ,`${n}`),r=gQ.ctaDatePassed(e);"true"!==i&&!r&&t.dispatch(new pQ)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(D(t=>this.infoService.parseMarkdown(t)))}launchLearnMore(t){this.dialog.open(UK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:t,videoID:"UfxMpzatowE"}})}learnMore(t){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(eg(t=>this.launchLearnMore(t)))}open(t){this.dialog.open(_Q,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(bQ,"true"),t.patchState({popupShown:!0})}close(t){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};yQ.\u0275fac=function(t){return new(t||yQ)(Ei(nG),Ei(jW),Ei(mQ),Ei($K),Ei(Jv))},yQ.\u0275prov=xt({token:yQ,factory:yQ.\u0275fac}),vw([eU(dQ)],yQ.prototype,"learnMore",null),vw([eU(pQ)],yQ.prototype,"open",null),vw([eU(fQ)],yQ.prototype,"close",null),yQ=gQ=vw([nU({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],yQ);let vQ=(()=>{class t{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return vw([rU([yQ])],t,"title",null),vw([rU([yQ])],t,"message",null),vw([rU([yQ])],t,"callToAction",null),vw([rU([yQ])],t,"imageUrl",null),vw([rU([yQ])],t,"expirationDate",null),vw([rU([yQ])],t,"popupShown",null),t})(),_Q=(()=>{class t{constructor(){this.close=()=>new fQ,this.learnMore=()=>new dQ}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-call-to-action",0),fa("callToActionClicked",function(){return e.learnMore()})("closeClicked",function(){return e.close()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),sa()),2&t&&na("infoTitle",Rc(1,4,e.title$))("message",Rc(2,6,e.message$))("callToAction",Rc(3,8,e.callToAction$))("imageUrl",Rc(4,10,e.imageUrl$))},directives:[qK],pipes:[$h],styles:[""],changeDetection:0}),vw([iU(vQ.title)],t.prototype,"title$",void 0),vw([iU(vQ.message)],t.prototype,"message$",void 0),vw([iU(vQ.callToAction)],t.prototype,"callToAction$",void 0),vw([iU(vQ.imageUrl)],t.prototype,"imageUrl$",void 0),vw([XY()],t.prototype,"close",void 0),vw([XY()],t.prototype,"learnMore",void 0),t})();function wQ(t,e){if(1&t&&(ra(0,"div",3),Ja(1),sa()),2&t){const t=va();ws(1),el(" ",t.label,"\n")}}function xQ(t,e){if(1&t){const t=ua();ra(0,"mat-list-item",4),ra(1,"div",5),ra(2,"mat-checkbox",6),fa("change",function(e){const n=$e(t).index;return va().updateItemSelection(n,e.checked)}),Ja(3),sa(),oa(4,"div",7),ra(5,"button",8),fa("click",function(){const e=$e(t).index;return va().removeItem(e)}),ra(6,"mat-icon"),Ja(7,"delete_outlined"),sa(),sa(),sa(),sa()}if(2&t){const t=e.$implicit;ws(2),na("checked",t.selected),ws(1),el(" ",t.description," ")}}let SQ=(()=>{class t{constructor(){this.clsName="ccf-spatial-search-list",this.label="",this.items=[],this.selectionChanged=new Bc,this.itemRemoved=new Bc}itemId(t,e){return e.description}updateItemSelection(t,e){const n=this.items=[...this.items];n[t]=Object.assign(Object.assign({},n[t]),{selected:e});const i=n.filter(t=>t.selected);this.selectionChanged.emit(i)}removeItem(t){const e=this.items=[...this.items],[n]=e.splice(t,1);this.itemRemoved.emit(n)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{label:"label",items:"items"},outputs:{selectionChanged:"selectionChanged",itemRemoved:"itemRemoved"},decls:3,vars:3,consts:[["class","label",4,"ngIf"],[1,"list"],["class","item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"label"],[1,"item"],[1,"item-content"],["labelPosition","after",1,"description",3,"checked","change"],[1,"filler"],["mat-icon-button","",1,"delete",3,"click"]],template:function(t,e){1&t&&(Jo(0,wQ,2,1,"div",0),ra(1,"mat-list",1),Jo(2,xQ,8,2,"mat-list-item",2),sa()),2&t&&(na("ngIf",e.label),ws(2),na("ngForOf",e.items)("ngForTrackBy",e.itemId))},directives:[Ah,sK,kh,lK,_K,R_,T_],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}[_nghost-%COMP%] .item[_ngcontent-%COMP%]{height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .delete[_ngcontent-%COMP%]{width:2rem;height:2rem;line-height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}[_nghost-%COMP%] .item[_ngcontent-%COMP%] > *{padding:0!important}"],changeDetection:0}),t})(),CQ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,xK,k_,cK]]}),t})(),EQ=(()=>{class t{constructor(){this.clsName="ccf-xyz-position",this.x=0,this.y=0,this.z=0,this.format="1.0-2"}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-xyz-position"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{x:"x",y:"y",z:"z"},decls:9,vars:12,consts:[[1,"line"]],template:function(t,e){1&t&&(ra(0,"span",0),Ja(1),Dc(2,"number"),sa(),ra(3,"span",0),Ja(4),Dc(5,"number"),sa(),ra(6,"span",0),Ja(7),Dc(8,"number"),sa()),2&t&&(ws(1),el("X: ",Nc(2,3,e.x,e.format),""),ws(3),el("Y: ",Nc(5,6,e.y,e.format),""),ws(3),el("Z: ",Nc(8,9,e.z,e.format),""))},pipes:[Gh],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .line[_ngcontent-%COMP%]{font-size:1rem;font-weight:400}"],changeDetection:0}),t})(),OQ=(()=>{class t extends Tf{constructor(){super(...arguments),this.attached=!1}setRootElement(t){this.attached&&(this.rootElement.nativeElement.removeChild(this._containerElement),this.attached=!1),this.rootElement=t,this.rootElement.nativeElement.style.display="block",this.rootElement.nativeElement.style.position="contents",this.rootElement.nativeElement.style.height="100%",this.appendToRoot()}_createContainer(){super._createContainer(),this.appendToRoot()}appendToRoot(){!this._containerElement||!this.rootElement||(this.rootElement.nativeElement.appendChild(this._containerElement),this.attached=!0)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const TQ=new oi("Default theme class");let kQ=(()=>{class t{constructor(t){this.defaultTheme=this.theme=null!=t?t:""}static initialize(e){const{injector:n,location:i}=e;n.get(t).initialize(i,n)}getTheme(){return this.theme}setTheme(t){t!==this.theme&&(this.applyThemeClass(this.theme,"remove"),this.applyThemeClass(t),this.theme=t)}resetTheme(){this.setTheme(this.defaultTheme)}initialize(t,e){this.element=t,this.injector=e,this.applyThemeClass(this.getTheme())}applyThemeClass(t,e="add"){var n;const{element:i,injector:r}=this;if(!t||!i||!r)return;const s=r.get(Dl,null);if(!s)return;const o=i.nativeElement,a=null===(n=r.get(Tf,null))||void 0===n?void 0:n.getContainerElement(),l="add"===e?"addClass":"removeClass";s[l](o,t),a&&s[l](a,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(TQ,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const PQ={initialConfig:{},parse:{},rename:{}};class AQ{constructor(t,e){this.configState=t,this.storedChanges={},this.options=Object.assign(Object.assign({},PQ),e)}addChanges(t){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),t)}applyChanges(t,e={}){void 0===t&&(t=this.storedChanges,this.storedChanges={});const{configState:n,options:{initialConfig:i}}=this,r=n.snapshot,s=Object.assign(Object.assign(Object.assign({},i),r),e);for(const[o,a]of Object.entries(t))this.processChange(o,a,s);n.setConfig(s)}processChange(t,e,n){var i,r;const{options:{parse:s,rename:o}}=this,a=null!==(i=o[t])&&void 0!==i?i:t,l=e.currentValue,c=null!==(r=s[t])&&void 0!==r?r:s[a];if(null==l)delete n[a];else if(c)try{n[a]=c(l)}catch(u){console.warn(`Failed to parse ${t} = ${l}`,u.message)}else n[a]=l}}let MQ=(()=>{class t{constructor(t,e,n={}){this.configState=t,this.cdr=e,this.options=n,this.initialized=!1,this.configManager=new AQ(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return t.\u0275fac=function(t){!function(){throw new Error("invalid")}()},t.\u0275dir=se({type:t,features:[ye]}),t})();const IQ={boolean:t=>"false"!=`${t}`,json:t=>"string"==typeof t?JSON.parse(t):t,function:t=>{if("function"!=typeof t)throw new Error("Expected a javascript function");return t}};var DQ;const RQ={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://ccf-api.hubmapconsortium.org/v1/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld",dataSources:["assets/kpmp/data/rui_locations.jsonld","assets/sparc/data/rui_locations.jsonld","assets/gtex/data/rui_locations.jsonld","assets/sea-ad/data/rui_locations.jsonld","assets/allen-institute/data/rui_locations.jsonld"],hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"https://search.api.hubmapconsortium.org/v3/entities/search",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==(DQ=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==DQ?DQ:"",useRemoteApi:!1,remoteApiEndpoint:"https://ccf-api.hubmapconsortium.org/v1"},customization:{theme:"hubmap",header:!0,homeUrl:"https://portal.hubmapconsortium.org/",logoTooltip:"Human BioMolecular Atlas Project"},googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};function NQ(t){return(...e)=>new t(...e)}function LQ(t,e){return n=>n.lift(new jQ(t,e))}class jQ{constructor(t,e){this.keySelector=t,this.flushes=e}call(t,e){return e.subscribe(new FQ(t,this.keySelector,this.flushes))}}class FQ extends ${constructor(t,e,n){super(t),this.keySelector=e,this.values=new Set,n&&this.add(G(n,new H(this)))}notifyNext(){this.values.clear()}notifyError(t){this._error(t)}_next(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)}_useKeySelector(t){let e;const{destination:n}=this;try{e=this.keySelector(t)}catch(i){return void n.error(i)}this._finalizeNext(e,t)}_finalizeNext(t,e){const{values:n}=this;n.has(t)||(n.add(t),this.destination.next(e))}}class BQ{constructor(t,e){this.count=t,this.source=e}call(t,e){return e.subscribe(new VQ(t,this.count,this.source))}}class VQ extends v{constructor(t,e,n){super(t),this.count=e,this.source=n}complete(){if(!this.isStopped){const{source:t,count:e}=this;if(0===e)return super.complete();e>-1&&(this.count=e-1),t.subscribe(this._unsubscribeAndRecycle())}}}let zQ=(()=>{class t{constructor(t){this.filter=t}}return t.type="[DataState] Update filter",t})();const UQ={sex:"Both",ageRange:[1,110],bmiRange:[13,83],tmc:[],technologies:[],ontologyTerms:["http://purl.obolibrary.org/obo/UBERON_0013702"],cellTypeTerms:["http://purl.obolibrary.org/obo/CL_0000000"],spatialSearches:[]};var HQ=(()=>(function(t){t.Running="running",t.Completed="completed"}(HQ||(HQ={})),HQ))();function $Q(t){return()=>t.next(HQ.Completed)}function GQ(t,e){return n=>n.pipe(cp(t),eg(e),WW(1),Z())}let WQ=class extends AW{constructor(t){super(),this.source=t,this.databaseReady$=this.state$.pipe(T$("status"),LQ(),ep(t=>"Ready"===t)),this._tissueBlockDataQueryStatus$=new _p(1),this._aggregateDataQueryStatus$=new _p(1),this._ontologyTermOccurencesDataQueryStatus$=new _p(1),this._cellTypeTermOccurencesDataQueryStatus$=new _p(1),this._sceneDataQueryStatus$=new _p(1),this._technologyFilterQueryStatus$=new _p(1),this._providerFilterQueryStatus$=new _p(1),this.ontologyTermsFullData$=new _p(1),this.cellTypeTermsFullData$=new _p(1),this.filter$=this.state$.pipe(T$("filter")),this.tissueBlockData$=this.filter$.pipe(GQ(this.tissueBlockData,$Q(this._tissueBlockDataQueryStatus$))),this.aggregateData$=this.filter$.pipe(GQ(this.aggregateData,$Q(this._aggregateDataQueryStatus$))),this.ontologyTermOccurencesData$=this.filter$.pipe(GQ(this.ontologyTermOccurencesData,$Q(this._ontologyTermOccurencesDataQueryStatus$))),this.cellTypeTermOccurencesData$=this.filter$.pipe(GQ(this.cellTypeTermOccurencesData,$Q(this._cellTypeTermOccurencesDataQueryStatus$))),this.sceneData$=this.filter$.pipe(GQ(this.sceneData,$Q(this._sceneDataQueryStatus$))),this.technologyFilterData$=this.filter$.pipe(GQ(this.technologyFilterData,$Q(this._technologyFilterQueryStatus$))),this.providerFilterData$=this.filter$.pipe(GQ(this.providerFilterData,$Q(this._providerFilterQueryStatus$))),this.tissueBlockDataQueryStatus$=this._tissueBlockDataQueryStatus$.pipe(LQ()),this.aggregateDataQueryStatus$=this._aggregateDataQueryStatus$.pipe(LQ()),this.ontologyTermOccurencesDataQueryStatus$=this._ontologyTermOccurencesDataQueryStatus$.pipe(LQ()),this.cellTypeTermOccurencesDataQueryStatus$=this._cellTypeTermOccurencesDataQueryStatus$.pipe(LQ()),this.sceneDataQueryStatus$=this._sceneDataQueryStatus$.pipe(LQ()),this.technologyFilterQueryStatus$=this._technologyFilterQueryStatus$.pipe(LQ()),this.providerFilterQueryStatus$=this._providerFilterQueryStatus$.pipe(LQ()),this.queryStatus$=z_([this.tissueBlockDataQueryStatus$,this.aggregateDataQueryStatus$,this.ontologyTermOccurencesDataQueryStatus$,this.cellTypeTermOccurencesDataQueryStatus$,this.sceneDataQueryStatus$,this.technologyFilterQueryStatus$,this.providerFilterQueryStatus$]).pipe(D(t=>function(t){return t.every(t=>t===HQ.Completed)}(t)?HQ.Completed:HQ.Running),LQ()),this._tissueBlockDataQueryStatus$.next(HQ.Completed),this._aggregateDataQueryStatus$.next(HQ.Completed),this._ontologyTermOccurencesDataQueryStatus$.next(HQ.Completed),this._cellTypeTermOccurencesDataQueryStatus$.next(HQ.Completed),this._sceneDataQueryStatus$.next(HQ.Completed),this._technologyFilterQueryStatus$.next(HQ.Completed),this._providerFilterQueryStatus$.next(HQ.Completed)}ngxsOnInit(){const{ontologyTermsFullData$:t,ontologyTermOccurencesData$:e,cellTypeTermsFullData$:n,cellTypeTermOccurencesData$:i,source:r,snapshot:{filter:s}}=this;s===UQ?(e.pipe(rf(1)).subscribe(t),i.pipe(rf(1)).subscribe(n)):(r.getOntologyTermOccurences().pipe(rf(1)).subscribe(t),r.getCellTypeTermOccurences().pipe(rf(1)).subscribe(n)),this.source.getOntologyTreeModel().pipe(rf(1)).subscribe(t=>this.updateAnatomicalStructuresTreeModel(t)),this.source.getCellTypeTreeModel().pipe(rf(1)).subscribe(t=>this.updateCellTypesTreeModel(t)),this.warmUpDatabase()}warmUpDatabase(){vH(()=>this.source.getDatabaseStatus()).pipe(eg(t=>this.updateStatus(t)),JH(2e3),rf(1)).pipe(function(t=-1){return e=>0===t?fp():e.lift(new BQ(t<0?-1:t-1,e))}(1e3),af(t=>"Loading"===t.status)).subscribe(),this.databaseReady$.pipe(rf(1),eg(()=>{this.updateStatus({status:"Ready",message:"Loading CCF Exploration User Interface (EUI)"})})).subscribe()}updateAnatomicalStructuresTreeModel(t){this.ctx.patchState({anatomicalStructuresTreeModel:t})}updateCellTypesTreeModel(t){this.ctx.patchState({cellTypesTreeModel:t})}updateStatus(t){this.ctx.patchState({status:t.status,statusMessage:t.message})}updateFilter(t){this.ctx.patchState({filter:Object.assign(Object.assign({},this.getState().filter),t)})}updateFilterHandler(t,{filter:e}){this.updateFilter(e)}tissueBlockData(t){return this._tissueBlockDataQueryStatus$.next(HQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getTissueBlockResults(t)))}aggregateData(t){return this._aggregateDataQueryStatus$.next(HQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getAggregateResults(t)))}ontologyTermOccurencesData(t){return this._ontologyTermOccurencesDataQueryStatus$.next(HQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getOntologyTermOccurences(t)))}cellTypeTermOccurencesData(t){return this._cellTypeTermOccurencesDataQueryStatus$.next(HQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getCellTypeTermOccurences(t)))}sceneData(t){return this._sceneDataQueryStatus$.next(HQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getScene(t)))}technologyFilterData(){return this._technologyFilterQueryStatus$.next(HQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getDatasetTechnologyNames()))}providerFilterData(){return this._providerFilterQueryStatus$.next(HQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getProviderNames()))}};WQ.\u0275fac=function(t){return new(t||WQ)(Ei(eQ))},WQ.\u0275prov=xt({token:WQ,factory:WQ.\u0275fac}),vw([OW(),_w(0,TW("treeModel"))],WQ.prototype,"updateAnatomicalStructuresTreeModel",null),vw([OW(),_w(0,TW("treeModel"))],WQ.prototype,"updateCellTypesTreeModel",null),vw([OW(),_w(0,TW("status"))],WQ.prototype,"updateStatus",null),vw([OW(),_w(0,TW("filter"))],WQ.prototype,"updateFilter",null),vw([eU(zQ)],WQ.prototype,"updateFilterHandler",null),vw([PV.ak],WQ.prototype,"tissueBlockData",null),vw([PV.ak],WQ.prototype,"aggregateData",null),vw([PV.ak],WQ.prototype,"ontologyTermOccurencesData",null),vw([PV.ak],WQ.prototype,"cellTypeTermOccurencesData",null),vw([PV.ak],WQ.prototype,"sceneData",null),vw([PV.ak],WQ.prototype,"technologyFilterData",null),vw([PV.ak],WQ.prototype,"providerFilterData",null),WQ=vw([kW(),nU({name:"data",defaults:{filter:UQ,status:"Loading",statusMessage:"Loading database"}})],WQ);class qQ{static filter(t){return t.filter}static anatomicalStructuresTreeModel(t){var e;return null!==(e=t.anatomicalStructuresTreeModel)&&void 0!==e?e:{root:"",nodes:{}}}static cellTypesTreeModel(t){var e;return null!==(e=t.cellTypesTreeModel)&&void 0!==e?e:{root:"",nodes:{}}}}vw([rU([WQ])],qQ,"filter",null),vw([rU([WQ])],qQ,"anatomicalStructuresTreeModel",null),vw([rU([WQ])],qQ,"cellTypesTreeModel",null);let XQ=(()=>{class t{constructor(t,e,n){this.sex=t,this.organName=e,this.search=n}}return t.type="[Spatial Search Filter] Add",t})(),YQ=(()=>{class t{constructor(t){this.id=t}}return t.type="[Spatial Search Filter] Remove",t})(),KQ=(()=>{class t{constructor(t){this.items=t}}return t.type="[Spatial Search Filter] Set selected searches",t})();let QQ=class{addSearch(t,{sex:e,organName:n,search:i}){t.setState(function(t){return function(e){return t&&t.length||!e?Array.isArray(e)?e.concat(t):t:e}}([this.createItem(e,n,i)]))}removeSearch(t,{id:e}){t.setState(function(t){return function(e){let n=-1;if(function(t){return"function"==typeof t}(t)?n=e.findIndex(t):function(t){return"number"==typeof t}(t)&&(n=t),function(t){return Number.isNaN(t)||-1===t}(n))return e;const i=e.slice();return i.splice(n,1),i}}(t=>(null==t?void 0:t.id)===e))}setSelectedSearches(t,{items:e}){const n=new Map(e.map(t=>[t.id,t])),i=t.getState().map(t=>{var e;return null!==(e=n.get(t.id))&&void 0!==e?e:t.selected?Object.assign(Object.assign({},t),{selected:!1}):t});t.setState(i)}createItem(t,e,n){return{id:this.createItemId(n),selected:!0,description:this.createItemDescription(t,e,n),sex:t,search:n}}createItemId(t){const{x:e,y:n,z:i,radius:r,target:s}=t;return`${s}-${r}-${e},${n},${i}`}createItemDescription(t,e,n){const i=t=>t.slice(0,1).toUpperCase()+t.slice(1),{x:r,y:s,z:o,radius:a}=n;return`${i(t)}, ${i(e)}, ${a.toFixed(1)} mm, X: ${r.toFixed(1)}, Y: ${s.toFixed(1)}, Z: ${o.toFixed(1)}`}};QQ.\u0275fac=function(t){return new(t||QQ)},QQ.\u0275prov=xt({token:QQ,factory:QQ.\u0275fac}),vw([eU(XQ)],QQ.prototype,"addSearch",null),vw([eU(YQ)],QQ.prototype,"removeSearch",null),vw([eU(KQ)],QQ.prototype,"setSelectedSearches",null),QQ=vw([nU({name:"spatialSearchFilter",defaults:[]})],QQ);class ZQ{static items(t){return t}static searches(t){return t.map(t=>t.search)}static selectedSearches(t){return t.filter(t=>t.selected).map(t=>t.search)}}vw([rU([QQ])],ZQ,"items",null),vw([rU([ZQ.items])],ZQ,"searches",null),vw([rU([ZQ.items])],ZQ,"selectedSearches",null);const JQ=new RegExp("[^#a-f\\d]","gi"),tZ=new RegExp("^#?[a-f\\d]{3}[a-f\\d]?$|^#?[a-f\\d]{6}([a-f\\d]{2})?$","i"),eZ=["#FF8800","#2979ff","#ffd740","#b92dff","#da326f","#7323e2","#acf32b","#82B1FF","#E040FB","#00E5FF"].map((t,e)=>{const n=function(t,e={}){if("string"!=typeof t||JQ.test(t)||!tZ.test(t))throw new TypeError("Expected a valid hex string");let n=1;8===(t=t.replace(/^#/,"")).length&&(n=Number.parseInt(t.slice(6,8),16)/255,t=t.slice(0,6)),4===t.length&&(n=Number.parseInt(t.slice(3,4).repeat(2),16)/255,t=t.slice(0,3)),3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]);const i=Number.parseInt(t,16),r=i>>16,s=i>>8&255,o=255&i,a="number"==typeof e.alpha?e.alpha:n;return"array"===e.format?[r,s,o,a]:"css"===e.format?`rgb(${r} ${s} ${o}${1===a?"":` / ${Number((100*a).toFixed(2))}%`})`:{red:r,green:s,blue:o,alpha:a}}(t,{format:"array"});return n[3]=255,{color:t,rgba:n,rank:e}});let nZ=class extends MW{constructor(){super(...arguments),this.forcedUnassignment=new A,this.forcedUnassignment$=this.forcedUnassignment.asObservable(),this.colorAssignments$=this.state$.pipe(T$("colorAssignments"),Wd()),this.colorAssignmentsList$=this.state$.pipe(T$("colorAssignmentsList"),Wd())}getColor(t){const{colorAssignments:e}=this.snapshot;return e[t]}assignColor(t,e=!1){let{colorAssignments:n,colorAssignmentsList:i,colorsAvailable:r}=this.snapshot;e&&(r=this.snapshot.colorPalette.concat(),i=[],n={});let s=n[t];return s||(r.length>0?s=r[0]:(s=i[i.length-1].color,i=i.slice(0,-1),this.forcedUnassignment.next()),r=r.filter(t=>t.color!==s.color),i=[{color:s,key:t}].concat(i),n=i.reduce((t,e,n)=>(t[e.key]=Object.assign(Object.assign({},e.color),{rank:n}),t),{}),this.ctx.patchState({colorsAvailable:r,colorAssignments:n,colorAssignmentsList:i})),s}unassignColor(t){let{colorAssignments:e,colorAssignmentsList:n,colorsAvailable:i}=this.snapshot;const r=e[t];r&&(i=[r].concat(i),n=n.filter(t=>t.color.color!==r.color),e=n.reduce((t,e,n)=>(t[e.key]=Object.assign(Object.assign({},e.color),{rank:n}),t),{}),this.ctx.patchState({colorsAvailable:i,colorAssignments:e,colorAssignmentsList:n}))}};nZ.\u0275fac=function(){let t;return function(e){return(t||(t=ei(nZ)))(e||nZ)}}(),nZ.\u0275prov=xt({token:nZ,factory:nZ.\u0275fac}),vw([OW(),_w(0,TW("key")),_w(1,TW("doReset"))],nZ.prototype,"assignColor",null),vw([OW(),_w(0,TW("key"))],nZ.prototype,"unassignColor",null),nZ=vw([kW(),nU({name:"colors",defaults:{colorPalette:eZ.concat(),colorsAvailable:eZ.concat(),colorAssignments:{},colorAssignmentsList:[]}})],nZ);let iZ=class extends MW{constructor(t,e){super(),this.dataService=t,this.injector=e,this.listResults$=this.state$.pipe(T$("listResults"),Wd()),this.highlightedNodeId$=this.state$.pipe(T$("highlightedNodeId"),Wd())}setListResults(t){this.ctx.patchState({listResults:t})}selectListResult(t){this.colorAssignments.assignColor(t.tissueBlock.spatialEntityId)}deselectListResult(t){this.colorAssignments.unassignColor(t.tissueBlock.spatialEntityId)}highlightNode(t){this.ctx.patchState({highlightedNodeId:t})}unHighlightNode(){this.ctx.patchState({highlightedNodeId:void 0})}ngxsOnInit(){super.ngxsOnInit(),this.dataState=this.injector.get(WQ),this.colorAssignments=this.injector.get(nZ),z_([this.dataState.tissueBlockData$,this.colorAssignments.colorAssignments$]).pipe(D(([t,e])=>{const n=[],i=[];for(const r of t){const t=e[r.spatialEntityId];t?n.push({selected:!0,color:t.color,tissueBlock:r,rank:t.rank}):i.push({selected:!1,tissueBlock:r})}return(0,gq.sortBy)(n,["rank"]).concat(i)}),eg(t=>this.setListResults(t))).subscribe()}};iZ.\u0275fac=function(t){return new(t||iZ)(Ei(eQ),Ei(No))},iZ.\u0275prov=xt({token:iZ,factory:iZ.\u0275fac}),vw([OW(),_w(0,TW("listResults"))],iZ.prototype,"setListResults",null),iZ=vw([kW(),nU({name:"listResults",defaults:{listResults:[]}})],iZ);const rZ=new Set(["Skin","Heart","Kidney","Spleen"]);let sZ=class extends MW{constructor(t,e){super(),this.dataService=t,this.injector=e,this.referenceOrgans$=this.state$.pipe(T$("referenceOrgans"),Wd()),this.selectedReferenceOrgans$=this.state$.pipe(T$("selectedReferenceOrgans"),Wd()),this.scene$=this.state$.pipe(T$("scene"),Wd()),this.highlightedId$=this.state$.pipe(T$("highlightedId"),Wd())}static referenceOrgans(t){return t.referenceOrgans}static referenceOrganEntities(t){return t.referenceOrganEntities}setSelectedReferenceOrgans(t){this.ctx.patchState({selectedReferenceOrgans:t})}setReferenceOrgans(t){this.ctx.patchState({referenceOrgans:t})}setReferenceOrganEntities(t){this.ctx.patchState({referenceOrganEntities:t})}setScene(t){this.ctx.patchState({scene:t})}sceneNodeClicked({node:t,ctrlClick:e}){t.representation_of&&"http://purl.org/ccf/latest/ccf.owl#VHFSkin"!==t["@id"]&&t.entityId?this.dataState.updateFilter({ontologyTerms:[t.representation_of]}):t.entityId&&this.colorAssignments.assignColor(t["@id"],!e)}sceneNodeHovered(t){this.listResults.highlightNode(t["@id"])}sceneNodeUnhover(){this.listResults.unHighlightNode()}ngxsOnInit(){super.ngxsOnInit(),this.dataState=this.injector.get(WQ),this.colorAssignments=this.injector.get(nZ),this.listResults=this.injector.get(iZ),this.dataService.getReferenceOrgans().pipe(eg(t=>this.setReferenceOrganEntities(t)),D(t=>{const e=new Set(t.map(t=>t.representation_of));return DK.filter(t=>e.has(t.id)).map(t=>Object.assign(Object.assign({},t),{disabled:!1,numResults:0}))}),rf(1),eg(t=>{this.setReferenceOrgans(t),this.setSelectedReferenceOrgans(t.filter(t=>rZ.has(t.organ)))})).subscribe(),z_([this.dataState.sceneData$,this.selectedReferenceOrgans$,this.colorAssignments.colorAssignments$,this.dataService.getReferenceOrgans(),this.listResults.highlightedNodeId$]).pipe(D(([t,e,n,i,r])=>{const s=new Set(e.map(t=>t.id)),o=new Set(i.filter(t=>s.has(t.representation_of)).map(t=>t["@id"]));return t.filter(t=>{var e,n;return(null===(n=null===(e=t.ccf_annotations)||void 0===e?void 0:e.some)||void 0===n?void 0:n.call(e,t=>s.has(t)))||t.reference_organ&&o.has(t.reference_organ)}).map(t=>t.entityId&&(Object.prototype.hasOwnProperty.call(n,t["@id"])||r===t["@id"])?Object.assign(Object.assign({},t),{color:r===t["@id"]?[30,136,229,255]:n[t["@id"]].rgba}):t)}),eg(t=>this.setScene(t))).subscribe()}};function oZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function aZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function lZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function cZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}sZ.\u0275fac=function(t){return new(t||sZ)(Ei(eQ),Ei(No))},sZ.\u0275prov=xt({token:sZ,factory:sZ.\u0275fac}),vw([OW(),_w(0,TW("selectedReferenceOrgans"))],sZ.prototype,"setSelectedReferenceOrgans",null),vw([OW(),_w(0,TW("referenceOrgans"))],sZ.prototype,"setReferenceOrgans",null),vw([OW(),_w(0,TW("referenceOrganEntities"))],sZ.prototype,"setReferenceOrganEntities",null),vw([OW(),_w(0,TW("scene"))],sZ.prototype,"setScene",null),vw([rU()],sZ,"referenceOrgans",null),vw([rU()],sZ,"referenceOrganEntities",null),sZ=vw([kW(),nU({name:"scene",defaults:{scene:[],referenceOrgans:[],referenceOrganEntities:[],selectedReferenceOrgans:[],selectedAnatomicalStructures:[],anatomicalStructureSettings:{}}})],sZ);const uZ=".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor;stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\n",hZ=Xy(class{constructor(t){this._elementRef=t}},"primary"),dZ=new oi("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:100}}});class pZ extends hZ{constructor(t,e,n,i,r){super(t),this._document=n,this._diameter=100,this._value=0,this._fallbackAnimation=!1,this.mode="determinate";const s=pZ._diameters;this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),s.has(n.head)||s.set(n.head,new Set([100])),this._fallbackAnimation=e.EDGE||e.TRIDENT,this._noopAnimations="NoopAnimations"===i&&!!r&&!r._forceAnimations,r&&(r.diameter&&(this.diameter=r.diameter),r.strokeWidth&&(this.strokeWidth=r.strokeWidth))}get diameter(){return this._diameter}set diameter(t){this._diameter=Pd(t),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),!this._fallbackAnimation&&this._styleRoot&&this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(t){this._strokeWidth=Pd(t)}get value(){return"determinate"===this.mode?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,Pd(t)))}ngOnInit(){const t=this._elementRef.nativeElement;this._styleRoot=Rp(t)||this._document.head,this._attachStyleNode(),t.classList.add(`mat-progress-spinner-indeterminate${this._fallbackAnimation?"-fallback":""}-animation`)}_getCircleRadius(){return(this.diameter-10)/2}_getViewBox(){const t=2*this._getCircleRadius()+this.strokeWidth;return`0 0 ${t} ${t}`}_getStrokeCircumference(){return 2*Math.PI*this._getCircleRadius()}_getStrokeDashOffset(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._getStrokeCircumference():null}_getCircleStrokeWidth(){return this.strokeWidth/this.diameter*100}_attachStyleNode(){const t=this._styleRoot,e=this._diameter,n=pZ._diameters;let i=n.get(t);if(!i||!i.has(e)){const r=this._document.createElement("style");r.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),r.textContent=this._getAnimationText(),t.appendChild(r),i||(i=new Set,n.set(t,i)),i.add(e)}}_getAnimationText(){const t=this._getStrokeCircumference();return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*t).replace(/END_VALUE/g,""+.2*t).replace(/DIAMETER/g,`${this._spinnerAnimationLabel}`)}_getSpinnerAnimationLabel(){return this.diameter.toString().replace(".","_")}}pZ.\u0275fac=function(t){return new(t||pZ)(ea(Al),ea(Ep),ea(th,8),ea(Ny,8),ea(dZ))},pZ.\u0275cmp=Jt({type:pZ,selectors:[["mat-progress-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner"],hostVars:10,hostBindings:function(t,e){2&t&&(Ko("aria-valuemin","determinate"===e.mode?0:null)("aria-valuemax","determinate"===e.mode?100:null)("aria-valuenow","determinate"===e.mode?e.value:null)("mode",e.mode),La("width",e.diameter,"px")("height",e.diameter,"px"),ja("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color",mode:"mode",diameter:"diameter",strokeWidth:"strokeWidth",value:"value"},exportAs:["matProgressSpinner"],features:[jo],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(vn(),ra(0,"svg",0),Jo(1,oZ,1,9,"circle",1),Jo(2,aZ,1,7,"circle",2),sa()),2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),na("ngSwitch","indeterminate"===e.mode),Ko("viewBox",e._getViewBox()),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1))},directives:[Rh,Nh],styles:[uZ],encapsulation:2,changeDetection:0}),pZ._diameters=new WeakMap;let fZ=(()=>{class t extends pZ{constructor(t,e,n,i,r){super(t,e,n,i,r),this.mode="indeterminate"}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(th,8),ea(Ny,8),ea(dZ))},t.\u0275cmp=Jt({type:t,selectors:[["mat-spinner"]],hostAttrs:["role","progressbar","mode","indeterminate",1,"mat-spinner","mat-progress-spinner"],hostVars:6,hostBindings:function(t,e){2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),ja("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color"},features:[jo],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(vn(),ra(0,"svg",0),Jo(1,lZ,1,9,"circle",1),Jo(2,cZ,1,7,"circle",2),sa()),2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),na("ngSwitch","indeterminate"===e.mode),Ko("viewBox",e._getViewBox()),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1))},directives:[Rh,Nh],styles:[uZ],encapsulation:2,changeDetection:0}),t})(),gZ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy,Wh],Wy]}),t})(),mZ=(()=>{class t{constructor(){this.className="ccf-spinner-overlay",this.active=!1}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spinner-overlay"]],hostVars:4,hostBindings:function(t,e){2&t&&(Va(e.className),ja("active",e.active))},inputs:{active:"active",text:"text"},decls:3,vars:1,consts:[[1,"content"]],template:function(t,e){1&t&&(oa(0,"mat-spinner"),ra(1,"div",0),Ja(2),sa()),2&t&&(ws(2),tl(e.text))},directives:[fZ],styles:["[_nghost-%COMP%]{display:flex;position:absolute;width:100%;height:100%;z-index:99;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;visibility:hidden;opacity:0;transition:visibility .6s,opacity .4s ease-in-out}[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-bottom:1rem;opacity:0;transition:opacity .3s ease-in-out .3s}.active[_nghost-%COMP%]{pointer-events:auto;visibility:visible;opacity:1}.active[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{opacity:1}"],changeDetection:0}),t})();const bZ={isolated:!0},yZ=new oi("Message service configuration",{providedIn:"root",factory:()=>bZ});let vZ=(()=>{class t{constructor(t,e,n){this.source=t,this.channel=e,this.messages=n}sendMessage(t){this.channel.next({id:this.nextMessageId(),source:this.source,payload:t})}getMessages(){return this.messages.pipe(ep(t=>t.source!==this.source))}getMessagesFromSource(t){return this.getMessages().pipe(ep(e=>e.source===t))}getMessagesFromSources(t){return this.getMessages().pipe(ep(e=>t.includes(e.source)))}nextMessageId(){return t.counter++}}return t.counter=0,t})();const _Z=(()=>{class t{constructor(t,e){this.config=t,this.parent=e,this.channel=new A,this.messages=t.isolated||!e?this.channel.asObservable():U([this.channel,e.messages.pipe(af(()=>!this.channel.closed))]).pipe(Y())}ngOnDestroy(){this.channel.complete()}connect(t){return new vZ(t,this.channel,this.messages)}}return t.\u0275fac=function(e){return new(e||t)(Ei(yZ),Ei(t,12))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),wZ=["*"];let xZ=(()=>{class t{constructor(t,e){this.className="ccf-drawer-content",this.animationsEnabled=!1,this.leftMargin=0,this.rightMargin=0,this.faded=!1,this.drawers=[],this.subscriptions=new g;const n=t.connect(this).getMessages();this.subscriptions.add(n.subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){switch(t.payload.type){case"drawer-containers-changed":return this.drawers=t.payload.drawers,this.updateFaded(),!0;case"drawer-initialized":return this.animationsEnabled=!0,!0;case"drawer-toggled":{const e=t.source.position,{opened:n,width:i,margin:r}=t.payload;return this.updateMargin(e,n,i,r),this.updateFaded(),!0}default:return!1}}updateMargin(t,e,n,i){const r=e?n+i:i;"start"===t?this.leftMargin=r:this.rightMargin=r}updateFaded(){const[t,e]=this.drawers;this.faded=(null==t?void 0:t.opened)&&(null==t?void 0:t.expanded)||(null==e?void 0:e.opened)&&(null==e?void 0:e.expanded)}}return t.\u0275fac=function(e){return new(e||t)(ea(_Z),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-content"]],hostVars:9,hostBindings:function(t,e){2&t&&(sl("@fadeInOut",e.faded),Va(e.className),La("margin-left",e.leftMargin,"px")("margin-right",e.rightMargin,"px"),ja("cff-drawer-content-animations",e.animationsEnabled))},ngContentSelectors:wZ,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 5.5rem);z-index:2;overflow:auto}.cff-drawer-content-animations[_nghost-%COMP%]{transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:margin-left,margin-right}"],data:{animation:[Qg("fadeInOut",[em("false",tm({opacity:1})),em("true",tm({opacity:0})),im("false <=> true",Zg("1s"))])]},changeDetection:0}),t})();const SZ=["*"],CZ={params:{width:0,margin:0,margin2:0}};class EZ{constructor(){this.initialized=!1,this.deferred=new Promise(t=>{this.resolve=t})}set(){this.initialized=!0,this.resolve()}wait(){return xw(this,void 0,void 0,function*(){return this.deferred})}valueOf(){return this.initialized}}let OZ=(()=>{class t{constructor(t,e,n){this.element=n,this.className="ccf-drawer",this._position="start",this._opened=!1,this._expanded=!1,this.openedChange=new Bc(!0),this.expandedChange=new Bc(!0),this.stateChange=new Bc(!0),this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._measuredWidth=0,this.width=0,this._measuredMargin=0,this.margin2=0,this.initialized=new EZ,this.subscriptions=new g,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}get classEnd(){return"end"===this.position}get position(){return this._position}set position(t){this._position=t||"start"}get opened(){return this._opened}set opened(t){this.toggle(kd(t))}get expanded(){return this._expanded}set expanded(t){this.toggleExpanded(kd(t))}get expandedStateObj(){return{value:this.expandedState2,params:{width:this.width,margin:this.measuredMargin,margin2:this.margin2}}}get measuredWidth(){if(this._measuredWidth>0)return this._measuredWidth;const t=this.element.nativeElement;if(!t)return 0;const e=t.getBoundingClientRect(),n=e.right-e.left;return 0===n?0:(this._measuredWidth=n,n)}get measuredMargin(){if(this._measuredMargin>0)return this._measuredMargin;const t=this.element.nativeElement;if(!t)return 0;const e=globalThis.getComputedStyle(t).getPropertyValue("start"===this.position?"margin-right":"margin-left"),n=Number(e.slice(0,-2));return this._measuredMargin=n,n}ngAfterViewInit(){this.initialized.set(),setTimeout(()=>this.channel.sendMessage({type:"drawer-initialized"}))}ngOnDestroy(){this.subscriptions.unsubscribe()}open(){this.toggle(!0)}close(){this.toggle(!1)}toggle(t=!this.opened){this.opened!==t&&(t?this.openedState=this.initialized.valueOf()?"open":"open-instant":(this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._expanded=!1),this._opened=t,this.sendToggle())}openExpanded(){this.toggleExpanded(!0)}closeExpanded(){this.toggleExpanded(!1)}toggleExpanded(t=!this.expanded){this.expanded!==t&&(t?this.expandedState=this.initialized.valueOf()?"open":"open-instant":(this.expandedState="closed",this.expandedState2="collapsed"),this._expanded=t,this.sendToggle())}closeOpenDone(){this.openedChange.emit(this.opened)}expandCollapseDone(){this.expandedChange.emit(this.expanded)}sendToggle(){return xw(this,void 0,void 0,function*(){yield this.initialized.wait(),this.channel.sendMessage({type:"drawer-toggled",opened:this.opened,expanded:this.expanded,width:this.measuredWidth,margin:this.measuredMargin}),this.stateChange.emit()})}handleMessage(t){switch(t.payload.type){case"drawer-toggled":return this.syncExpanded(t.source),!0;default:return!1}}syncExpanded(t){(this.expanded||t.expanded)&&(this.expanded&&t.expanded?this.expandedState2=t.expandedState2="half":this.expanded?t.opened?(this.expandedState2="extended",this.width=t.measuredWidth+t.measuredMargin):(this.expandedState2="full",this.margin2=t.measuredMargin):this.opened?(t.expandedState2="extended",t.width=this.measuredWidth+this.measuredMargin):(t.expandedState2="full",t.margin2=this.measuredMargin))}}return t.\u0275fac=function(e){return new(e||t)(ea(_Z),ea(nc),ea(Al))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer"]],hostVars:10,hostBindings:function(t,e){1&t&&ga("@openClose.done",function(){return e.closeOpenDone()})("@expandCollapse.done",function(){return e.expandCollapseDone()}),2&t&&(sl("@openClose",e.openedState)("@expandCollapse",e.expandedStateObj),Va(e.className),ja("ccf-drawer-end",e.classEnd)("ccf-drawer-opened",e.opened)("ccf-drawer-expanded",e.expanded))},inputs:{position:"position",opened:"opened",expanded:"expanded"},outputs:{openedChange:"openedChange",expandedChange:"expandedChange",stateChange:"stateChange"},exportAs:["ccfDrawer"],ngContentSelectors:SZ,decls:2,vars:0,consts:[[1,"cff-drawer-inner-container"]],template:function(t,e){1&t&&(wa(),ra(0,"div",0),xa(1),sa())},styles:["[_nghost-%COMP%]{display:block;position:absolute;top:0;bottom:0;z-index:2;outline:0;transform:translate(-100%);background-color:#fff}.ccf-drawer-end[_nghost-%COMP%]{right:0;transform:translate(100%)}[_nghost-%COMP%] .cff-drawer-inner-container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}"],data:{animation:[Qg("openClose",[em("open, open-instant",tm({transform:"none"})),em("closed",tm({})),im("closed => open-instant",Zg(0)),im("closed <=> open, open-instant => closed",Zg(".5s ease-in-out"))]),Qg("expandCollapse",[em("collapsed",tm({})),em("half",tm({width:"calc(50% - {{ margin }}px)"}),CZ),em("extended",tm({width:"calc(100% - {{ width }}px - {{ margin }}px)"}),CZ),em("full",tm({width:"calc(100% - {{ margin }}px - {{ margin2 }}px)"}),CZ),im("* <=> *",Zg(".5s ease-in-out"))])]},changeDetection:0}),t})();function TZ(t,e){1&t&&(ra(0,"ccf-drawer-content"),xa(1,2),sa())}const kZ=[[["ccf-drawer"]],[["ccf-drawer-content"]],"*"],PZ=["ccf-drawer","ccf-drawer-content","*"];function AZ(t){throw new Error(`Multiple drawers in position ${t}`)}let MZ=(()=>{class t{constructor(t,e){this.cdr=e,this.className="ccf-drawer-container",this.subscriptions=new g,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}get content(){var t;return null!==(t=this.content1.first)&&void 0!==t?t:this.content2.first}get hasWrappedContent(){return 0!==this.content1.length}ngAfterViewInit(){this.drawers.changes.pipe(lp(null)).subscribe(()=>{const t=this.validateDrawers();this.channel.sendMessage({type:"drawer-containers-changed",drawers:t}),this.cdr.markForCheck()}),this.content1.changes.pipe(lp(null)).subscribe(()=>{this.channel.sendMessage({type:"content-container-changed",content:this.content}),this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return!0}validateDrawers(){const t=this.drawers.toArray(),e=t.filter(t=>"start"===t.position),n=t.filter(t=>"end"===t.position);return e.length>1&&AZ("start"),n.length>1&&AZ("end"),[e[0],n[0]]}}return t.\u0275fac=function(e){return new(e||t)(ea(_Z),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-container"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,OZ,5),Jc(n,xZ,5)),2&t){let t;Qc(t=tu())&&(e.drawers=t),Qc(t=tu())&&(e.content1=t)}},viewQuery:function(t,e){if(1&t&&Zc(xZ,5),2&t){let t;Qc(t=tu())&&(e.content2=t)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},exportAs:["ccfDrawerContainer"],features:[xl([_Z])],ngContentSelectors:PZ,decls:3,vars:1,consts:[[4,"ngIf"]],template:function(t,e){1&t&&(wa(kZ),xa(0),xa(1,1),Jo(2,TZ,2,0,"ccf-drawer-content",0)),2&t&&(ws(2),na("ngIf",!e.hasWrappedContent))},directives:[Ah,xZ],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:1;overflow:hidden;-webkit-overflow-scrolling:touch}"],changeDetection:0}),t})(),IZ=(()=>{class t{}return t.type="[SpatialSearchUi] Start the Spatial Search flow",t})(),DZ=(()=>{class t{constructor(t){this.sex=t}}return t.type="[SpatialSearchUi] Set sex",t})(),RZ=(()=>{class t{constructor(t){this.organId=t}}return t.type="[SpatialSearchUi] Set organ",t})(),NZ=(()=>{class t{constructor(t){this.position=t}}return t.type="[SpatialSearchUi] Set position",t})(),LZ=(()=>{class t{constructor(t){this.node=t}}return t.type="[SpatialSearchUi] Start moving the position to a scene node",t})(),jZ=(()=>{class t{}return t.type="[SpatialSearchUi] Reset position",t})(),FZ=(()=>{class t{constructor(t){this.radius=t}}return t.type="[SpatialSearchUi] Set radius",t})(),BZ=(()=>{class t{}return t.type="[SpatialSearchUi] Reset radius",t})(),VZ=(()=>{class t{}return t.type="[SpatialSearchUi] Update spatial search data",t})(),zZ=(()=>{class t{}return t.type="[SpatialSearchUi] Generate and add a spatial search",t})(),UZ=(()=>{class t{constructor(t=!0){this.execute=t}}return t.type="[SpatialSearchUi] Set execute search on generate",t})();const HZ=["trigger"],$Z=["panel"];function GZ(t,e){if(1&t&&(ra(0,"span",8),Ja(1),sa()),2&t){const t=va();ws(1),tl(t.placeholder)}}function WZ(t,e){if(1&t&&(ra(0,"span",12),Ja(1),sa()),2&t){const t=va(2);ws(1),tl(t.triggerValue)}}function qZ(t,e){1&t&&xa(0,0,["*ngSwitchCase","true"])}function XZ(t,e){1&t&&(ra(0,"span",9),Jo(1,WZ,2,1,"span",10),Jo(2,qZ,1,0,"ng-content",11),sa()),2&t&&(na("ngSwitch",!!va().customTrigger),ws(2),na("ngSwitchCase",!0))}function YZ(t,e){if(1&t){const t=ua();ra(0,"div",13),ra(1,"div",14,15),fa("@transformPanel.done",function(e){return $e(t),va()._panelDoneAnimatingStream.next(e.toState)})("keydown",function(e){return $e(t),va()._handleKeydown(e)}),xa(3,1),sa(),sa()}if(2&t){const t=va();na("@transformPanelWrap",void 0),ws(1),il("mat-select-panel ",t._getPanelTheme(),""),La("transform-origin",t._transformOrigin)("font-size",t._triggerFontSize,"px"),na("ngClass",t.panelClass)("@transformPanel",t.multiple?"showing-multiple":"showing"),Ko("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}const KZ=[[["mat-select-trigger"]],"*"],QZ=["mat-select-trigger","*"],ZZ={transformPanelWrap:Qg("transformPanelWrap",[im("* => void",sm("@transformPanel",[rm()],{optional:!0}))]),transformPanel:Qg("transformPanel",[em("void",tm({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),em("showing",tm({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),em("showing-multiple",tm({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),im("void => *",Zg("120ms cubic-bezier(0, 0, 0.2, 1)")),im("* => void",Zg("100ms 25ms linear",tm({opacity:0})))])};let JZ=0;const tJ=new oi("mat-select-scroll-strategy"),eJ=new oi("MAT_SELECT_CONFIG"),nJ={provide:tJ,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};class iJ{constructor(t,e){this.source=t,this.value=e}}const rJ=Yy(Ky(qy(Qy(class{constructor(t,e,n,i,r){this._elementRef=t,this._defaultErrorStateMatcher=e,this._parentForm=n,this._parentFormGroup=i,this.ngControl=r}})))),sJ=new oi("MatSelectTrigger");let oJ=(()=>{class t extends rJ{constructor(t,e,n,i,r,s,o,a,l,c,u,h,d,p){var f,g,m;super(r,i,o,a,c),this._viewportRuler=t,this._changeDetectorRef=e,this._ngZone=n,this._dir=s,this._parentFormField=l,this._liveAnnouncer=d,this._defaultOptions=p,this._panelOpen=!1,this._compareWith=(t,e)=>t===e,this._uid="mat-select-"+JZ++,this._triggerAriaLabelledBy=null,this._destroy=new A,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+JZ++,this._panelDoneAnimatingStream=new A,this._overlayPanelClass=(null===(f=this._defaultOptions)||void 0===f?void 0:f.overlayPanelClass)||"",this._focused=!1,this.controlType="mat-select",this._required=!1,this._multiple=!1,this._disableOptionCentering=null!==(m=null===(g=this._defaultOptions)||void 0===g?void 0:g.disableOptionCentering)&&void 0!==m&&m,this.ariaLabel="",this.optionSelectionChanges=vH(()=>{const t=this.options;return t?t.changes.pipe(lp(t),cp(()=>Q(...t.map(t=>t.onSelectionChange)))):this._ngZone.onStable.pipe(rf(1),cp(()=>this.optionSelectionChanges))}),this.openedChange=new Bc,this._openedStream=this.openedChange.pipe(ep(t=>t),D(()=>{})),this._closedStream=this.openedChange.pipe(ep(t=>!t),D(()=>{})),this.selectionChange=new Bc,this.valueChange=new Bc,this.ngControl&&(this.ngControl.valueAccessor=this),null!=(null==p?void 0:p.typeaheadDebounceInterval)&&(this._typeaheadDebounceInterval=p.typeaheadDebounceInterval),this._scrollStrategyFactory=h,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(u)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get required(){return this._required}set required(t){this._required=kd(t),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(t){this._multiple=kd(t)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(t){this._disableOptionCentering=kd(t)}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){(t!==this._value||this._multiple&&Array.isArray(t))&&(this.options&&this._setSelectionByValue(t),this._value=t)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(t){this._typeaheadDebounceInterval=Pd(t)}get id(){return this._id}set id(t){this._id=t||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new Vp(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(Wd(),rp(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(rp(this._destroy)).subscribe(t=>{t.added.forEach(t=>t.select()),t.removed.forEach(t=>t.deselect())}),this.options.changes.pipe(lp(null),rp(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const t=this._getTriggerAriaLabelledby();if(t!==this._triggerAriaLabelledBy){const e=this._elementRef.nativeElement;this._triggerAriaLabelledBy=t,t?e.setAttribute("aria-labelledby",t):e.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}ngOnChanges(t){t.disabled&&this.stateChanges.next(),t.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(t){this.value=t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,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){const t=this._selectionModel.selected.map(t=>t.viewValue);return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))}_handleClosedKeydown(t){const e=t.keyCode,n=40===e||38===e||37===e||39===e,i=13===e||32===e,r=this._keyManager;if(!r.isTyping()&&i&&!uf(t)||(this.multiple||t.altKey)&&n)t.preventDefault(),this.open();else if(!this.multiple){const e=this.selected;r.onKeydown(t);const n=this.selected;n&&e!==n&&this._liveAnnouncer.announce(n.viewValue,1e4)}}_handleOpenKeydown(t){const e=this._keyManager,n=t.keyCode,i=40===n||38===n,r=e.isTyping();if(i&&t.altKey)t.preventDefault(),this.close();else if(r||13!==n&&32!==n||!e.activeItem||uf(t))if(!r&&this._multiple&&65===n&&t.ctrlKey){t.preventDefault();const e=this.options.some(t=>!t.disabled&&!t.selected);this.options.forEach(t=>{t.disabled||(e?t.select():t.deselect())})}else{const n=e.activeItemIndex;e.onKeydown(t),this._multiple&&i&&t.shiftKey&&e.activeItem&&e.activeItemIndex!==n&&e.activeItem._selectViaInteraction()}else t.preventDefault(),e.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(rf(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._setSelectionByValue(this.ngControl?this.ngControl.value:this._value),this.stateChanges.next()})}_setSelectionByValue(t){if(this._selectionModel.selected.forEach(t=>t.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&t)Array.isArray(t),t.forEach(t=>this._selectValue(t)),this._sortValues();else{const e=this._selectValue(t);e?this._keyManager.updateActiveItem(e):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectValue(t){const e=this.options.find(e=>{if(this._selectionModel.isSelected(e))return!1;try{return null!=e.value&&this._compareWith(e.value,t)}catch(n){return!1}});return e&&this._selectionModel.select(e),e}_initKeyManager(){this._keyManager=new Eg(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(rp(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe(rp(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const t=Q(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(rp(t)).subscribe(t=>{this._onSelect(t.source,t.isUserInput),t.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),Q(...this.options.map(t=>t._stateChanges)).pipe(rp(t)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(t,e){const n=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(n!==t.selected&&(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t)),e&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),e&&this.focus())):(t.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(t.value)),n!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const t=this.options.toArray();this._selectionModel.sort((e,n)=>this.sortComparator?this.sortComparator(e,n,t):t.indexOf(e)-t.indexOf(n)),this.stateChanges.next()}}_propagateChanges(t){let e=null;e=this.multiple?this.selected.map(t=>t.value):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(this._getChangeEvent(e)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){var t;return!this._panelOpen&&!this.disabled&&(null===(t=this.options)||void 0===t?void 0:t.length)>0}focus(t){this._elementRef.nativeElement.focus(t)}_getPanelAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();return this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();let n=(e?e+" ":"")+this._valueId;return this.ariaLabelledby&&(n+=" "+this.ariaLabelledby),n}_panelDoneAnimating(t){this.openedChange.emit(t)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return t.\u0275fac=function(e){return new(e||t)(ea(Hp),ea(nc),ea(Tu),ea(Zy),ea(Al),ea(Fp,8),ea(sH,8),ea(gH,8),ea(KH,8),ea(PU,10),ii("tabindex"),ea(tJ),ea(Bg),ea(eJ,8))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&(Zc(HZ,5),Zc($Z,5),Zc($f,5)),2&t){let t;Qc(t=tu())&&(e.trigger=t.first),Qc(t=tu())&&(e.panel=t.first),Qc(t=tu())&&(e._overlayDir=t.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[jo,ye]}),t})(),aJ=(()=>{class t extends oJ{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(t,e,n){const i=this._getItemHeight();return Math.min(Math.max(0,i*t-e+i/2),n)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(rp(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(rf(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(t){const e=xv(t,this.options,this.optionGroups),n=this._getItemHeight();this.panel.nativeElement.scrollTop=0===t&&1===e?0:Sv((t+e)*n,n,this.panel.nativeElement.scrollTop,256)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(t)}_getChangeEvent(t){return new iJ(this,t)}_calculateOverlayOffsetX(){const t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),e=this._viewportRuler.getViewportSize(),n=this._isRtl(),i=this.multiple?56:32;let r;if(this.multiple)r=40;else if(this.disableOptionCentering)r=16;else{let t=this._selectionModel.selected[0]||this.options.first;r=t&&t.group?32:16}n||(r*=-1);const s=0-(t.left+r-(n?i:0)),o=t.right+r-e.width+(n?0:i);s>0?r+=s+8:o>0&&(r-=o+8),this._overlayDir.offsetX=Math.round(r),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(t,e,n){const i=this._getItemHeight(),r=(i-this._triggerRect.height)/2,s=Math.floor(256/i);let o;return this.disableOptionCentering?0:(o=0===this._scrollTop?t*i:this._scrollTop===n?(t-(this._getItemCount()-s))*i+(i-(this._getItemCount()*i-256)%i):e-i/2,Math.round(-1*o-r))}_checkOverlayWithinViewport(t){const e=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),i=this._triggerRect.top-8,r=n.height-this._triggerRect.bottom-8,s=Math.abs(this._offsetY),o=Math.min(this._getItemCount()*e,256)-s-this._triggerRect.height;o>r?this._adjustPanelUp(o,r):s>i?this._adjustPanelDown(s,i,t):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(t,e){const n=Math.round(t-e);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(t,e,n){const i=Math.round(t-e);if(this._scrollTop+=i,this._offsetY+=i,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const t=this._getItemHeight(),e=this._getItemCount(),n=Math.min(e*t,256),i=e*t-n;let r;r=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),r+=xv(r,this.options,this.optionGroups);const s=n/2;this._scrollTop=this._calculateOverlayScroll(r,s,i),this._offsetY=this._calculateOverlayOffsetY(r,s,i),this._checkOverlayWithinViewport(i)}_getOriginBasedOnOption(){const t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-e+t/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-select"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,sJ,5),Jc(n,wv,5),Jc(n,bv,5)),2&t){let t;Qc(t=tu())&&(e.customTrigger=t.first),Qc(t=tu())&&(e.options=t),Qc(t=tu())&&(e.optionGroups=t)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(t,e){1&t&&fa("keydown",function(t){return e._handleKeydown(t)})("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()}),2&t&&(Ko("id",e.id)("tabindex",e.tabIndex)("aria-controls",e.panelOpen?e.id+"-panel":null)("aria-expanded",e.panelOpen)("aria-label",e.ariaLabel||null)("aria-required",e.required.toString())("aria-disabled",e.disabled.toString())("aria-invalid",e.errorState)("aria-describedby",e._ariaDescribedby||null)("aria-activedescendant",e._getAriaActiveDescendant()),ja("mat-select-disabled",e.disabled)("mat-select-invalid",e.errorState)("mat-select-required",e.required)("mat-select-empty",e.empty)("mat-select-multiple",e.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[xl([{provide:BH,useExisting:t},{provide:pv,useExisting:t}]),jo],ngContentSelectors:QZ,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(t,e){if(1&t&&(wa(KZ),ra(0,"div",0,1),fa("click",function(){return e.toggle()}),ra(3,"div",2),Jo(4,GZ,2,1,"span",3),Jo(5,XZ,3,2,"span",4),sa(),ra(6,"div",5),oa(7,"div",6),sa(),sa(),Jo(8,YZ,4,14,"ng-template",7),fa("backdropClick",function(){return e.close()})("attach",function(){return e._onAttached()})("detach",function(){return e.close()})),2&t){const t=ta(1);Ko("aria-owns",e.panelOpen?e.id+"-panel":null),ws(3),na("ngSwitch",e.empty),Ko("id",e._valueId),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1),ws(3),na("cdkConnectedOverlayPanelClass",e._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",e._scrollStrategy)("cdkConnectedOverlayOrigin",t)("cdkConnectedOverlayOpen",e.panelOpen)("cdkConnectedOverlayPositions",e._positions)("cdkConnectedOverlayMinWidth",null==e._triggerRect?null:e._triggerRect.width)("cdkConnectedOverlayOffsetY",e._offsetY)}},directives:[Hf,Rh,Nh,$f,Lh,Oh],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[ZZ.transformPanelWrap,ZZ.transformPanel]},changeDetection:0}),t})(),lJ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[nJ],imports:[[Wh,Wf,Cv,Wy],$p,ZH,Cv,Wy]}),t})();function cJ(t,e){if(1&t&&(ra(0,"mat-option",6),ra(1,"div"),Ja(2),sa(),sa()),2&t){const t=e.$implicit,n=va();na("value",t),ws(1),Va(n.optionsVisible),ws(1),el(" ",t," ")}}let uJ=(()=>{class t{constructor(t){this.ga=t,this.selectionChange=new Bc,this.optionsVisible="invisible"}toggleOptions(){this.optionsVisible="visible"===this.optionsVisible?"invisible":"visible"}selectionChanged(t){this.selection=t,this.ga.event("selection_change","dropdown",`${this.label}:${t}`),this.selectionChange.emit(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-dropdown"]],inputs:{label:"label",options:"options",selection:"selection"},outputs:{selectionChange:"selectionChange"},decls:7,vars:3,consts:[[1,"ccf-dropdown","wrapper"],[1,"container"],[1,"dropdown-form-field"],[1,"label"],["disableOptionCentering","true","panelClass","option-panel","disableRipple","true",1,"selected-value",3,"value","selectionChange","openedChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"mat-form-field",2),ra(3,"div",3),Ja(4),sa(),ra(5,"mat-select",4),fa("selectionChange",function(t){return e.selectionChanged(t.value)})("openedChange",function(){return e.toggleOptions()}),Jo(6,cJ,3,5,"mat-option",5),sa(),sa(),sa(),sa()),2&t&&(ws(4),el(" ",e.label," "),ws(1),na("value",e.selection),ws(1),na("ngForOf",e.options))},directives:[QH,aJ,kh,wv],styles:["@-webkit-keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dropdown-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:1em;padding-right:1em;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{font-size:.875rem;border:none}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix mat-select{font-size:1rem;font-weight:bold}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .option-panel{-webkit-animation:slideInHorizontalDropdown .3s;animation:slideInHorizontalDropdown .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;position:absolute!important;top:1.55rem;max-width:9.5rem} .option-panel .mat-option{border-bottom-width:1px;border-bottom-style:solid;padding-left:1em} .option-panel :last-child{border-bottom:none} .cdk-overlay-pane{min-width:0rem!important}.dropdown-form-field[_ngcontent-%COMP%]{height:3rem;width:100%}.dropdown-form-field[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{padding-bottom:.063rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem} .ccf-dropdown .mat-select-arrow-wrapper{transform:translatey(-.5em)}"],changeDetection:0}),t})();var hJ=n(25430),dJ=n(39053),pJ=n(26202);const fJ=["tooltipTemplate"],gJ=["leftOuterSelectionBar"],mJ=["rightOuterSelectionBar"],bJ=["fullBar"],yJ=["selectionBar"],vJ=["minHandle"],_J=["maxHandle"],wJ=["floorLabel"],xJ=["ceilLabel"],SJ=["minHandleLabel"],CJ=["maxHandleLabel"],EJ=["combinedLabel"],OJ=["ticksElement"];function TJ(t,e){if(1&t&&oa(0,"ng5-slider-tooltip-wrapper",31),2&t){const t=va().$implicit;na("template",va().tooltipTemplate)("tooltip",t.valueTooltip)("placement",t.valueTooltipPlacement)("content",t.value)}}function kJ(t,e){1&t&&oa(0,"span",32),2&t&&na("innerHTML",va().$implicit.legend,vr)}const PJ=function(t){return{"ng5-slider-selected":t}};function AJ(t,e){if(1&t&&(ra(0,"span",27),oa(1,"ng5-slider-tooltip-wrapper",28),Jo(2,TJ,1,4,"ng5-slider-tooltip-wrapper",29),Jo(3,kJ,1,1,"span",30),sa()),2&t){const t=e.$implicit,n=va();na("ngClass",Pc(7,PJ,t.selected))("ngStyle",t.style),ws(1),na("template",n.tooltipTemplate)("tooltip",t.tooltip)("placement",t.tooltipPlacement),ws(1),na("ngIf",null!=t.value),ws(1),na("ngIf",null!=t.legend)}}function MJ(t,e){}function IJ(t,e){1&t&&Jo(0,MJ,0,0,"ng-template")}const DJ=function(t,e,n){return{tooltip:t,placement:e,content:n}};function RJ(t,e){if(1&t&&(aa(0),Jo(1,IJ,1,0,void 0,1),la()),2&t){const t=va();ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Ac(2,DJ,t.tooltip,t.placement,t.content))}}function NJ(t,e){if(1&t&&(aa(0),ra(1,"div",2),Ja(2),sa(),la()),2&t){const t=va();ws(1),Ko("title",t.tooltip)("data-tooltip-placement",t.placement),ws(1),el(" ",t.content," ")}}const LJ={Min:0,Max:1};LJ[LJ.Min]="Min",LJ[LJ.Max]="Max";const jJ={Low:0,High:1,Floor:2,Ceil:3,TickValue:4};jJ[jJ.Low]="Low",jJ[jJ.High]="High",jJ[jJ.Floor]="Floor",jJ[jJ.Ceil]="Ceil",jJ[jJ.TickValue]="TickValue";class FJ{constructor(){this.floor=0,this.ceil=null,this.step=1,this.minRange=null,this.maxRange=null,this.pushRange=!1,this.minLimit=null,this.maxLimit=null,this.translate=null,this.combineLabels=null,this.getLegend=null,this.stepsArray=null,this.bindIndexForStepsArray=!1,this.draggableRange=!1,this.draggableRangeOnly=!1,this.showSelectionBar=!1,this.showSelectionBarEnd=!1,this.showSelectionBarFromValue=null,this.showOuterSelectionBars=!1,this.hidePointerLabels=!1,this.hideLimitLabels=!1,this.autoHideLimitLabels=!0,this.readOnly=!1,this.disabled=!1,this.mouseEventsInterval=50,this.touchEventsInterval=50,this.inputEventsInterval=100,this.outputEventsInterval=100,this.showTicks=!1,this.showTicksValues=!1,this.tickStep=null,this.tickValueStep=1,this.ticksArray=null,this.ticksTooltip=null,this.ticksValuesTooltip=null,this.vertical=!1,this.getSelectionBarColor=null,this.getTickColor=null,this.getPointerColor=null,this.keyboardSupport=!0,this.scale=1,this.enforceStep=!0,this.enforceRange=!0,this.noSwitching=!1,this.onlyBindHandles=!1,this.rightToLeft=!1,this.reversedControls=!1,this.boundPointerLabels=!0,this.logScale=!1,this.customValueToPosition=null,this.customPositionToValue=null,this.precisionLimit=12,this.selectionBarGradient=null,this.ariaLabel=null,this.ariaLabelledBy=null,this.ariaLabelHigh=null,this.ariaLabelledByHigh=null,this.handleDimension=null,this.barDimension=null,this.animate=!0}}class BJ{}class VJ{static isNullOrUndefined(t){return null==t}static linearValueToPosition(t,e,n){return(t-e)/(n-e)}static logValueToPosition(t,e,n){return((t=Math.log(t))-(e=Math.log(e)))/((n=Math.log(n))-e)}static linearPositionToValue(t,e,n){return t*(n-e)+e}static logPositionToValue(t,e,n){return e=Math.log(e),n=Math.log(n),Math.exp(t*(n-e)+e)}static findStepIndex(t,e){const n=e.map(e=>Math.abs(t-e.value));let i=0;for(let r=0;r{r.events.next(t)};return t.addEventListener(e,s,{passive:!0,capture:!1}),r.teardownCallback=()=>{t.removeEventListener(e,s,{passive:!0,capture:!1})},r.eventsSubscription=r.events.pipe(VJ.isNullOrUndefined(i)?(0,dJ.tap)(()=>{}):(0,dJ.throttleTime)(i,void 0,{leading:!0,trailing:!0})).subscribe(t=>{n(t)}),r}detachEventListener(t){VJ.isNullOrUndefined(t.eventsSubscription)||(t.eventsSubscription.unsubscribe(),t.eventsSubscription=null),VJ.isNullOrUndefined(t.events)||(t.events.complete(),t.events=null),VJ.isNullOrUndefined(t.teardownCallback)||(t.teardownCallback(),t.teardownCallback=null)}attachEventListener(t,e,n,i){const r=new HJ;return r.eventName=e,r.events=new hJ.xQ,r.teardownCallback=this.renderer.listen(t,e,t=>{r.events.next(t)}),r.eventsSubscription=r.events.pipe(VJ.isNullOrUndefined(i)?(0,dJ.tap)(()=>{}):(0,dJ.throttleTime)(i,void 0,{leading:!0,trailing:!0})).subscribe(t=>{n(t)}),r}}let GJ=(()=>{class t{constructor(t,e,n){this.elemRef=t,this.renderer=e,this.changeDetectionRef=n,this._position=0,this._dimension=0,this._alwaysHide=!1,this._vertical=!1,this._scale=1,this.opacity=1,this.visibility="visible",this.left="",this.bottom="",this.height="",this.width="",this.eventListeners=[],this.eventListenerHelper=new $J(this.renderer)}get position(){return this._position}get dimension(){return this._dimension}get alwaysHide(){return this._alwaysHide}get vertical(){return this._vertical}get scale(){return this._scale}setAlwaysHide(t){this._alwaysHide=t,this.visibility=t?"hidden":"visible"}hide(){this.opacity=0}show(){this.alwaysHide||(this.opacity=1)}isVisible(){return!this.alwaysHide&&0!==this.opacity}setVertical(t){this._vertical=t,this._vertical?(this.left="",this.width=""):(this.bottom="",this.height="")}setScale(t){this._scale=t}setPosition(t){this._position!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._position=t,this._vertical?this.bottom=Math.round(t)+"px":this.left=Math.round(t)+"px"}calculateDimension(){const t=this.getBoundingClientRect();this._dimension=this.vertical?(t.bottom-t.top)*this.scale:(t.right-t.left)*this.scale}setDimension(t){this._dimension!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._dimension=t,this._vertical?this.height=Math.round(t)+"px":this.width=Math.round(t)+"px"}getBoundingClientRect(){return this.elemRef.nativeElement.getBoundingClientRect()}on(t,e,n){const i=this.eventListenerHelper.attachEventListener(this.elemRef.nativeElement,t,e,n);this.eventListeners.push(i)}onPassive(t,e,n){const i=this.eventListenerHelper.attachPassiveEventListener(this.elemRef.nativeElement,t,e,n);this.eventListeners.push(i)}off(t){let e,n;VJ.isNullOrUndefined(t)?(e=[],n=this.eventListeners):(e=this.eventListeners.filter(e=>e.eventName!==t),n=this.eventListeners.filter(e=>e.eventName===t));for(const i of n)this.eventListenerHelper.detachEventListener(i);this.eventListeners=e}isRefDestroyed(){return VJ.isNullOrUndefined(this.changeDetectionRef)||this.changeDetectionRef.destroyed}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderElement",""]],hostVars:12,hostBindings:function(t,e){2&t&&La("opacity",e.opacity)("visibility",e.visibility)("left",e.left)("bottom",e.bottom)("height",e.height)("width",e.width)}}),t})(),WJ=(()=>{class t extends GJ{constructor(t,e,n){super(t,e,n),this.active=!1,this.role="",this.tabindex="",this.ariaOrientation="",this.ariaLabel="",this.ariaLabelledBy="",this.ariaValueNow="",this.ariaValueText="",this.ariaValueMin="",this.ariaValueMax=""}focus(){this.elemRef.nativeElement.focus()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderHandle",""]],hostVars:11,hostBindings:function(t,e){2&t&&(Ko("role",e.role)("tabindex",e.tabindex)("aria-orientation",e.ariaOrientation)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledBy)("aria-valuenow",e.ariaValueNow)("aria-valuetext",e.ariaValueText)("aria-valuemin",e.ariaValueMin)("aria-valuemax",e.ariaValueMax),ja("ng5-slider-active",e.active))},features:[jo]}),t})(),qJ=(()=>{class t extends GJ{constructor(t,e,n){super(t,e,n),this._value=null}get value(){return this._value}setValue(t){let e=!1;!this.alwaysHide&&(VJ.isNullOrUndefined(this.value)||this.value.length!==t.length||this.value.length>0&&0===this.dimension)&&(e=!0),this._value=t,this.elemRef.nativeElement.innerHTML=t,e&&this.calculateDimension()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderLabel",""]],features:[jo]}),t})();class XJ{constructor(){this.selected=!1,this.style={},this.tooltip=null,this.tooltipPlacement=null,this.value=null,this.valueTooltip=null,this.valueTooltipPlacement=null,this.legend=null}}class YJ{constructor(){this.active=!1,this.value=0,this.difference=0,this.position=0,this.lowLimit=0,this.highLimit=0}}class KJ{static compare(t,e){return!(VJ.isNullOrUndefined(t)&&VJ.isNullOrUndefined(e)||VJ.isNullOrUndefined(t)!==VJ.isNullOrUndefined(e))&&t.value===e.value&&t.highValue===e.highValue}}class QJ extends KJ{static compare(t,e){return!(VJ.isNullOrUndefined(t)&&VJ.isNullOrUndefined(e)||VJ.isNullOrUndefined(t)!==VJ.isNullOrUndefined(e))&&t.value===e.value&&t.highValue===e.highValue&&t.forceChange===e.forceChange}}const ZJ={provide:aU,useExisting:pt(()=>JJ),multi:!0};let JJ=(()=>{class t{constructor(t,e,n,i){this.renderer=t,this.elementRef=e,this.changeDetectionRef=n,this.zone=i,this.value=null,this.valueChange=new Bc,this.highValue=null,this.highValueChange=new Bc,this.options=new FJ,this.userChangeStart=new Bc,this.userChange=new Bc,this.userChangeEnd=new Bc,this.initHasRun=!1,this.inputModelChangeSubject=new hJ.xQ,this.inputModelChangeSubscription=null,this.outputModelChangeSubject=new hJ.xQ,this.outputModelChangeSubscription=null,this.viewLowValue=null,this.viewHighValue=null,this.viewOptions=new FJ,this.handleHalfDimension=0,this.maxHandlePosition=0,this.currentTrackingPointer=null,this.currentFocusPointer=null,this.firstKeyDown=!1,this.touchId=null,this.dragging=new YJ,this.sliderElementVerticalClass=!1,this.sliderElementAnimateClass=!1,this.sliderElementDisabledAttr=null,this.barStyle={},this.minPointerStyle={},this.maxPointerStyle={},this.fullBarTransparentClass=!1,this.selectionBarDraggableClass=!1,this.ticksUnderValuesClass=!1,this.intermediateTicks=!1,this.ticks=[],this.eventListenerHelper=null,this.onMoveEventListener=null,this.onEndEventListener=null,this.resizeObserver=null,this.onTouchedCallback=null,this.onChangeCallback=null,this.eventListenerHelper=new $J(this.renderer)}set manualRefresh(t){this.unsubscribeManualRefresh(),this.manualRefreshSubscription=t.subscribe(()=>{setTimeout(()=>this.calculateViewDimensionsAndDetectChanges())})}set triggerFocus(t){this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=t.subscribe(t=>{this.focusPointer(t)})}get range(){return!VJ.isNullOrUndefined(this.value)&&!VJ.isNullOrUndefined(this.highValue)}get showTicks(){return this.viewOptions.showTicks}ngOnInit(){this.viewOptions=new FJ,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState()}ngAfterViewInit(){this.applyOptions(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval),this.subscribeOutputModelChangeSubject(this.viewOptions.outputEventsInterval),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}ngOnChanges(t){VJ.isNullOrUndefined(t.options)||this.onChangeOptions(),(!VJ.isNullOrUndefined(t.value)||!VJ.isNullOrUndefined(t.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}ngOnDestroy(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}writeValue(t){t instanceof Array?(this.value=t[0],this.highValue=t[1]):this.value=t,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}registerOnChange(t){this.onChangeCallback=t}registerOnTouched(t){this.onTouchedCallback=t}setDisabledState(t){this.viewOptions.disabled=t,this.updateDisabledState()}onResize(t){this.calculateViewDimensionsAndDetectChanges()}subscribeInputModelChangeSubject(t){this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe((0,dJ.distinctUntilChanged)(QJ.compare),(0,dJ.filter)(t=>!t.forceChange&&!t.internalChange),VJ.isNullOrUndefined(t)?(0,dJ.tap)(()=>{}):(0,dJ.throttleTime)(t,void 0,{leading:!0,trailing:!0})).subscribe(t=>this.applyInputModelChange(t))}subscribeOutputModelChangeSubject(t){this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe((0,dJ.distinctUntilChanged)(QJ.compare),VJ.isNullOrUndefined(t)?(0,dJ.tap)(()=>{}):(0,dJ.throttleTime)(t,void 0,{leading:!0,trailing:!0})).subscribe(t=>this.publishOutputModelChange(t))}subscribeResizeObserver(){zJ.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(()=>this.calculateViewDimensionsAndDetectChanges()),this.resizeObserver.observe(this.elementRef.nativeElement))}unsubscribeResizeObserver(){zJ.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}unsubscribeOnMove(){VJ.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}unsubscribeOnEnd(){VJ.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}unsubscribeInputModelChangeSubject(){VJ.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}unsubscribeOutputModelChangeSubject(){VJ.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}unsubscribeManualRefresh(){VJ.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}unsubscribeTriggerFocus(){VJ.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}getPointerElement(t){return t===LJ.Min?this.minHandleElement:t===LJ.Max?this.maxHandleElement:null}getCurrentTrackingValue(){return this.currentTrackingPointer===LJ.Min?this.viewLowValue:this.currentTrackingPointer===LJ.Max?this.viewHighValue:null}modelValueToViewValue(t){return VJ.isNullOrUndefined(t)?NaN:VJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+t:VJ.findStepIndex(+t,this.viewOptions.stepsArray)}viewValueToModelValue(t){return VJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?t:this.getStepValue(t)}getStepValue(t){const e=this.viewOptions.stepsArray[t];return VJ.isNullOrUndefined(e)?NaN:e.value}applyViewChange(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!0})}applyInputModelChange(t){const e=this.normaliseModelValues(t),n=!KJ.compare(t,e);n&&(this.value=e.value,this.highValue=e.highValue),this.viewLowValue=this.modelValueToViewValue(e.value),this.viewHighValue=this.range?this.modelValueToViewValue(e.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:e.value,highValue:e.highValue,forceChange:n,userEventInitiated:!1})}publishOutputModelChange(t){const e=()=>{this.valueChange.emit(t.value),this.range&&this.highValueChange.emit(t.highValue),VJ.isNullOrUndefined(this.onChangeCallback)||this.onChangeCallback(this.range?[t.value,t.highValue]:t.value),VJ.isNullOrUndefined(this.onTouchedCallback)||this.onTouchedCallback(this.range?[t.value,t.highValue]:t.value)};t.userEventInitiated?(e(),this.userChange.emit(this.getChangeContext())):setTimeout(()=>{e()})}normaliseModelValues(t){const e=new KJ;if(e.value=t.value,e.highValue=t.highValue,this.viewOptions.enforceStep&&(e.value=this.roundStep(e.value),this.range&&(e.highValue=this.roundStep(e.highValue))),!VJ.isNullOrUndefined(this.viewOptions.stepsArray)||!this.viewOptions.enforceRange)return e;if(e.value=UJ.clampToRange(e.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(e.highValue=UJ.clampToRange(e.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&t.value>t.highValue)if(this.viewOptions.noSwitching)e.value=e.highValue;else{const n=t.value;e.value=t.highValue,e.highValue=n}return e}renormaliseModelValues(){const t={value:this.value,highValue:this.highValue},e=this.normaliseModelValues(t);KJ.compare(e,t)||(this.value=e.value,this.highValue=e.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!0,userEventInitiated:!1}))}onChangeOptions(){if(!this.initHasRun)return;const t=this.viewOptions.inputEventsInterval,e=this.viewOptions.outputEventsInterval;this.applyOptions(),t!==this.viewOptions.inputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval)),e!==this.viewOptions.outputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.outputEventsInterval)),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider()}applyOptions(){if(this.viewOptions=new FJ,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!VJ.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!VJ.isNullOrUndefined(this.viewOptions.tickStep)||!VJ.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!VJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),VJ.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),VJ.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=(t,e)=>t+" - "+e),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}applyStepsArrayOptions(){this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,VJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(this.viewOptions.bindIndexForStepsArray?this.getStepValue(t):t)),this.viewOptions.getLegend=t=>this.viewOptions.stepsArray[t].legend}applyFloorCeilOptions(){if(VJ.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),VJ.isNullOrUndefined(this.viewOptions.ceil)||VJ.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,VJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(t))}resetSlider(){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.unbindEvents(),this.manageEventsBindings(),this.updateDisabledState(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}focusPointer(t){t!==LJ.Min&&t!==LJ.Max&&(t=LJ.Min),t===LJ.Min?this.minHandleElement.focus():this.range&&t===LJ.Max&&this.maxHandleElement.focus()}refocusPointerIfNeeded(){VJ.isNullOrUndefined(this.currentFocusPointer)||(this.onPointerFocus(this.currentFocusPointer),this.getPointerElement(this.currentFocusPointer).focus())}manageElementsStyle(){this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);const t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(()=>{this.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate})}manageEventsBindings(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}updateDisabledState(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}updateVerticalState(){this.sliderElementVerticalClass=this.viewOptions.vertical;for(const t of this.getAllSliderElements())VJ.isNullOrUndefined(t)||t.setVertical(this.viewOptions.vertical)}updateScale(){for(const t of this.getAllSliderElements())t.setScale(this.viewOptions.scale)}getAllSliderElements(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}initHandles(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}addAccessibility(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.viewOptions.vertical&&(this.minHandleElement.ariaOrientation="vertical"),VJ.isNullOrUndefined(this.viewOptions.ariaLabel)?VJ.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical?"vertical":"horizontal",VJ.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?VJ.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}updateAriaAttributes(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,jJ.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,jJ.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}calculateViewDimensions(){VJ.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);const t=this.minHandleElement.dimension;this.handleHalfDimension=t/2,VJ.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-t,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}calculateViewDimensionsAndDetectChanges(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}isRefDestroyed(){return this.changeDetectionRef.destroyed}updateTicksScale(){if(!this.viewOptions.showTicks)return;const t=VJ.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,e=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();const n=t.map(t=>{let n=this.valueToPosition(t);this.viewOptions.vertical&&(n=this.maxHandlePosition-n);const i=e+"("+Math.round(n)+"px)",r=new XJ;if(r.selected=this.isTickSelected(t),r.style={"-webkit-transform":i,"-moz-transform":i,"-o-transform":i,"-ms-transform":i,transform:i},r.selected&&!VJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)&&(r.style["background-color"]=this.getSelectionBarColor()),!r.selected&&!VJ.isNullOrUndefined(this.viewOptions.getTickColor)&&(r.style["background-color"]=this.getTickColor(t)),VJ.isNullOrUndefined(this.viewOptions.ticksTooltip)||(r.tooltip=this.viewOptions.ticksTooltip(t),r.tooltipPlacement=this.viewOptions.vertical?"right":"top"),this.viewOptions.showTicksValues&&t%this.viewOptions.tickValueStep==0&&(r.value=this.getDisplayValue(t,jJ.TickValue),VJ.isNullOrUndefined(this.viewOptions.ticksValuesTooltip)||(r.valueTooltip=this.viewOptions.ticksValuesTooltip(t),r.valueTooltipPlacement=this.viewOptions.vertical?"right":"top")),!VJ.isNullOrUndefined(this.viewOptions.getLegend)){const e=this.viewOptions.getLegend(t);VJ.isNullOrUndefined(e)||(r.legend=e)}return r});if(VJ.isNullOrUndefined(this.ticks)||this.ticks.length!==n.length)this.ticks=n;else for(let i=0;i=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&t<=this.viewLowValue)return!0}else{const e=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>e&&t>=e&&t<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&t>=this.viewLowValue&&t<=this.viewHighValue)}updateFloorLabel(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,jJ.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}updateCeilLabel(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,jJ.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}updateHandles(t,e){t===LJ.Min?this.updateLowHandle(e):t===LJ.Max&&this.updateHighHandle(e),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}getHandleLabelPos(t,e){const n=t===LJ.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,i=e-n/2+this.handleHalfDimension,r=this.fullBarElement.dimension-n;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&t===LJ.Min||!this.viewOptions.rightToLeft&&t===LJ.Max?Math.min(i,r):Math.min(Math.max(i,0),r):i}updateLowHandle(t){this.minHandleElement.setPosition(t),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,jJ.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(LJ.Min,t)),VJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(LJ.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateHighHandle(t){this.maxHandleElement.setPosition(t),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,jJ.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(LJ.Max,t)),VJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(LJ.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateFloorAndCeilLabelsVisibility(){if(this.viewOptions.hidePointerLabels)return;let t=!1,e=!1;const n=this.isLabelBelowFloorLabel(this.minHandleLabelElement),i=this.isLabelAboveCeilLabel(this.minHandleLabelElement),r=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),s=this.isLabelBelowFloorLabel(this.combinedLabelElement),o=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(n?(t=!0,this.floorLabelElement.hide()):(t=!1,this.floorLabelElement.show()),i?(e=!0,this.ceilLabelElement.hide()):(e=!1,this.ceilLabelElement.show()),this.range){const i=this.combinedLabelElement.isVisible()?o:r,a=this.combinedLabelElement.isVisible()?s:n;i?this.ceilLabelElement.hide():e||this.ceilLabelElement.show(),a?this.floorLabelElement.hide():t||this.floorLabelElement.show()}}isLabelBelowFloorLabel(t){const e=t.position,n=this.floorLabelElement.position;return this.viewOptions.rightToLeft?e+t.dimension>=n-2:e<=n+this.floorLabelElement.dimension+2}isLabelAboveCeilLabel(t){const e=t.position,n=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?e<=n+this.ceilLabelElement.dimension+2:e+t.dimension>=n-2}updateSelectionBar(){let t=0,e=0;const n=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,i=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)e=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),t=i;else if(VJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))n?(e=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),t=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(e=this.minHandleElement.position+this.handleHalfDimension,t=0);else{const n=this.viewOptions.showSelectionBarFromValue,i=this.valueToPosition(n);(this.viewOptions.rightToLeft?this.viewLowValue<=n:this.viewLowValue>n)?(e=this.minHandleElement.position-i,t=i+this.handleHalfDimension):(e=i-this.minHandleElement.position,t=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(e),this.selectionBarElement.setPosition(t),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(t),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+e)),this.leftOuterSelectionBarElement.setPosition(t+e)):(this.leftOuterSelectionBarElement.setDimension(t),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+e)),this.rightOuterSelectionBarElement.setPosition(t+e))),VJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!VJ.isNullOrUndefined(this.viewOptions.selectionBarGradient)){const i=VJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),r=i-t>0&&!n||i-t<=0&&n;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?r?"bottom":"top":r?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(i+e+t+(r?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=i-t+(r?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{const t=this.getSelectionBarColor();this.barStyle={backgroundColor:t}}}getSelectionBarColor(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}getPointerColor(t){return this.viewOptions.getPointerColor(t===LJ.Max?this.highValue:this.value,t)}getTickColor(t){return this.viewOptions.getTickColor(t)}updateCombinedLabel(){let t=null;if(t=this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position,t){const t=this.getDisplayValue(this.viewLowValue,jJ.Low),e=this.getDisplayValue(this.viewHighValue,jJ.High),n=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(e,t):this.viewOptions.combineLabels(t,e);this.combinedLabelElement.setValue(n);const i=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(i),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}getDisplayValue(t,e){return!VJ.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(t=this.getStepValue(t)),this.viewOptions.translate(t,e)}roundStep(t,e){const n=VJ.isNullOrUndefined(e)?this.viewOptions.step:e;let i=UJ.roundToPrecisionLimit((t-this.viewOptions.floor)/n,this.viewOptions.precisionLimit);return i=Math.round(i)*n,UJ.roundToPrecisionLimit(this.viewOptions.floor+i,this.viewOptions.precisionLimit)}valueToPosition(t){let e=VJ.linearValueToPosition;VJ.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(e=VJ.logValueToPosition):e=this.viewOptions.customValueToPosition;let n=e(t=UJ.clampToRange(t,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return VJ.isNullOrUndefined(n)&&(n=0),this.viewOptions.rightToLeft&&(n=1-n),n*this.maxHandlePosition}positionToValue(t){let e=t/this.maxHandlePosition;this.viewOptions.rightToLeft&&(e=1-e);let n=VJ.linearPositionToValue;VJ.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(n=VJ.logPositionToValue):n=this.viewOptions.customPositionToValue;const i=n(e,this.viewOptions.floor,this.viewOptions.ceil);return VJ.isNullOrUndefined(i)?0:i}getEventXY(t,e){if(t instanceof MouseEvent)return this.viewOptions.vertical?t.clientY:t.clientX;let n=0;const i=t.touches;if(!VJ.isNullOrUndefined(e))for(let r=0;ri?LJ.Max:this.viewOptions.rightToLeft?e>this.minHandleElement.position?LJ.Min:LJ.Max:ethis.onBarStart(null,t,e,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.on("mousedown",e=>this.onBarStart(LJ.Min,t,e,!0,!0)),this.maxHandleElement.on("mousedown",e=>this.onBarStart(LJ.Max,t,e,!0,!0))):(this.minHandleElement.on("mousedown",t=>this.onStart(LJ.Min,t,!0,!0)),this.range&&this.maxHandleElement.on("mousedown",t=>this.onStart(LJ.Max,t,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.on("mousedown",t=>this.onStart(null,t,!0,!0,!0)),this.ticksElement.on("mousedown",t=>this.onStart(null,t,!0,!0,!0,!0)))),this.viewOptions.onlyBindHandles||this.selectionBarElement.onPassive("touchstart",e=>this.onBarStart(null,t,e,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.onPassive("touchstart",e=>this.onBarStart(LJ.Min,t,e,!0,!0)),this.maxHandleElement.onPassive("touchstart",e=>this.onBarStart(LJ.Max,t,e,!0,!0))):(this.minHandleElement.onPassive("touchstart",t=>this.onStart(LJ.Min,t,!0,!0)),this.range&&this.maxHandleElement.onPassive("touchstart",t=>this.onStart(LJ.Max,t,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.onPassive("touchstart",t=>this.onStart(null,t,!0,!0,!0)),this.ticksElement.onPassive("touchstart",t=>this.onStart(null,t,!1,!1,!0,!0)))),this.viewOptions.keyboardSupport&&(this.minHandleElement.on("focus",()=>this.onPointerFocus(LJ.Min)),this.range&&this.maxHandleElement.on("focus",()=>this.onPointerFocus(LJ.Max)))}unbindEvents(){this.unsubscribeOnMove(),this.unsubscribeOnEnd();for(const t of this.getAllSliderElements())VJ.isNullOrUndefined(t)||t.off()}onBarStart(t,e,n,i,r,s,o){e?this.onDragStart(t,n,i,r):this.onStart(t,n,i,r,s,o)}onStart(t,e,n,i,r,s){e.stopPropagation(),(!zJ.isTouchEvent(e)||!pJ.Z.hasSupport)&&e.preventDefault(),this.calculateViewDimensions(),VJ.isNullOrUndefined(t)&&(t=this.getNearestHandle(e)),this.currentTrackingPointer=t;const o=this.getPointerElement(t);if(o.active=!0,this.viewOptions.keyboardSupport&&o.focus(),n){this.unsubscribeOnMove();const t=t=>this.dragging.active?this.onDragMove(t):this.onMove(t);this.onMoveEventListener=zJ.isTouchEvent(e)?this.eventListenerHelper.attachPassiveEventListener(document,"touchmove",t,this.viewOptions.touchEventsInterval):this.eventListenerHelper.attachEventListener(document,"mousemove",t,this.viewOptions.mouseEventsInterval)}if(i){this.unsubscribeOnEnd();const t=t=>this.onEnd(t);this.onEndEventListener=zJ.isTouchEvent(e)?this.eventListenerHelper.attachPassiveEventListener(document,"touchend",t):this.eventListenerHelper.attachEventListener(document,"mouseup",t)}this.userChangeStart.emit(this.getChangeContext()),zJ.isTouchEvent(e)&&!VJ.isNullOrUndefined(e.changedTouches)&&VJ.isNullOrUndefined(this.touchId)&&(this.touchId=e.changedTouches[0].identifier),r&&this.onMove(e,!0),s&&this.onEnd(e)}onMove(t,e){let n=null;if(zJ.isTouchEvent(t)){const e=t.changedTouches;for(let t=0;t=this.maxHandlePosition?r=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(r=this.positionToValue(i),r=e&&!VJ.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(r,this.viewOptions.tickStep):this.roundStep(r)),this.positionTrackingHandle(r)}onEnd(t){zJ.isTouchEvent(t)&&t.changedTouches[0].identifier!==this.touchId||(this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext()))}onPointerFocus(t){const e=this.getPointerElement(t);e.on("blur",()=>this.onPointerBlur(e)),e.on("keydown",t=>this.onKeyboardEvent(t)),e.on("keyup",()=>this.onKeyUp()),e.active=!0,this.currentTrackingPointer=t,this.currentFocusPointer=t,this.firstKeyDown=!0}onKeyUp(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}onPointerBlur(t){t.off("blur"),t.off("keydown"),t.off("keyup"),t.active=!1,VJ.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}getKeyActions(t){const e=this.viewOptions.ceil-this.viewOptions.floor;let n=t+this.viewOptions.step,i=t-this.viewOptions.step,r=t+e/10,s=t-e/10;this.viewOptions.reversedControls&&(n=t-this.viewOptions.step,i=t+this.viewOptions.step,r=t-e/10,s=t+e/10);const o={UP:n,DOWN:i,LEFT:i,RIGHT:n,PAGEUP:r,PAGEDOWN:s,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(o.LEFT=n,o.RIGHT=i,this.viewOptions.vertical&&(o.UP=i,o.DOWN=n)),o}onKeyboardEvent(t){const e=this.getCurrentTrackingValue(),n=VJ.isNullOrUndefined(t.keyCode)?t.which:t.keyCode,i=this.getKeyActions(e)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[n]];if(VJ.isNullOrUndefined(i)||VJ.isNullOrUndefined(this.currentTrackingPointer))return;t.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));const r=UJ.clampToRange(i,this.viewOptions.floor,this.viewOptions.ceil),s=this.roundStep(r);if(this.viewOptions.draggableRangeOnly){const t=this.viewHighValue-this.viewLowValue;let e,n;this.currentTrackingPointer===LJ.Min?(e=s,n=s+t,n>this.viewOptions.ceil&&(n=this.viewOptions.ceil,e=n-t)):this.currentTrackingPointer===LJ.Max&&(n=s,e=s-t,e=this.maxHandlePosition-n;let a,l;if(e<=i){if(0===r.position)return;a=this.getMinValue(e,!0,!1),l=this.getMaxValue(e,!0,!1)}else if(o){if(s.position===this.maxHandlePosition)return;l=this.getMaxValue(e,!0,!0),a=this.getMinValue(e,!0,!0)}else a=this.getMinValue(e,!1,!1),l=this.getMaxValue(e,!1,!1);this.positionTrackingBar(a,l)}positionTrackingBar(t,e){!VJ.isNullOrUndefined(this.viewOptions.minLimit)&&tthis.viewOptions.maxLimit&&(t=UJ.roundToPrecisionLimit((e=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=t,this.viewHighValue=e,this.applyViewChange(),this.updateHandles(LJ.Min,this.valueToPosition(t)),this.updateHandles(LJ.Max,this.valueToPosition(e))}positionTrackingHandle(t){t=this.applyMinMaxLimit(t),this.range&&(this.viewOptions.pushRange?t=this.applyPushRange(t):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===LJ.Min&&t>this.viewHighValue?t=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===LJ.Max&&tthis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(LJ.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=LJ.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===LJ.Max&&tthis.viewOptions.maxLimit?this.viewOptions.maxLimit:t}applyMinMaxRange(t){const e=Math.abs(t-(this.currentTrackingPointer===LJ.Min?this.viewHighValue:this.viewLowValue));if(!VJ.isNullOrUndefined(this.viewOptions.minRange)&&ethis.viewOptions.maxRange){if(this.currentTrackingPointer===LJ.Min)return UJ.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===LJ.Max)return UJ.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return t}applyPushRange(t){const e=this.currentTrackingPointer===LJ.Min?this.viewHighValue-t:t-this.viewLowValue,n=VJ.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,i=this.viewOptions.maxRange;return ei&&(this.currentTrackingPointer===LJ.Min?(this.viewHighValue=UJ.roundToPrecisionLimit(t+i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(LJ.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===LJ.Max&&(this.viewLowValue=UJ.roundToPrecisionLimit(t-i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(LJ.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),t}getChangeContext(){const t=new BJ;return t.pointerType=this.currentTrackingPointer,t.value=+this.value,this.range&&(t.highValue=+this.highValue),t}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al),ea(nc),ea(Tu))},t.\u0275cmp=Jt({type:t,selectors:[["ng5-slider"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,fJ,5),2&t){let t;Qc(t=tu())&&(e.tooltipTemplate=t.first)}},viewQuery:function(t,e){if(1&t&&(Zc(gJ,5,GJ),Zc(mJ,5,GJ),Zc(bJ,5,GJ),Zc(yJ,5,GJ),Zc(vJ,5,WJ),Zc(_J,5,WJ),Zc(wJ,5,qJ),Zc(xJ,5,qJ),Zc(SJ,5,qJ),Zc(CJ,5,qJ),Zc(EJ,5,qJ),Zc(OJ,5,GJ)),2&t){let t;Qc(t=tu())&&(e.leftOuterSelectionBarElement=t.first),Qc(t=tu())&&(e.rightOuterSelectionBarElement=t.first),Qc(t=tu())&&(e.fullBarElement=t.first),Qc(t=tu())&&(e.selectionBarElement=t.first),Qc(t=tu())&&(e.minHandleElement=t.first),Qc(t=tu())&&(e.maxHandleElement=t.first),Qc(t=tu())&&(e.floorLabelElement=t.first),Qc(t=tu())&&(e.ceilLabelElement=t.first),Qc(t=tu())&&(e.minHandleLabelElement=t.first),Qc(t=tu())&&(e.maxHandleLabelElement=t.first),Qc(t=tu())&&(e.combinedLabelElement=t.first),Qc(t=tu())&&(e.ticksElement=t.first)}},hostAttrs:[1,"ng5-slider"],hostVars:5,hostBindings:function(t,e){1&t&&fa("resize",function(t){return e.onResize(t)},!1,Ar),2&t&&(Ko("disabled",e.sliderElementDisabledAttr),ja("vertical",e.sliderElementVerticalClass)("animate",e.sliderElementAnimateClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},features:[xl([ZJ]),ye],decls:29,vars:13,consts:[["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-left-out-selection"],["leftOuterSelectionBar",""],[1,"ng5-slider-span","ng5-slider-bar"],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-right-out-selection"],["rightOuterSelectionBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-full-bar"],["fullBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-selection-bar"],["selectionBar",""],[1,"ng5-slider-span","ng5-slider-bar","ng5-slider-selection",3,"ngStyle"],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-min",3,"ngStyle"],["minHandle",""],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-max",3,"ngStyle"],["maxHandle",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-floor"],["floorLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-ceil"],["ceilLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-value"],["minHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-high"],["maxHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-combined"],["combinedLabel",""],["ng5SliderElement","",1,"ng5-slider-ticks",3,"hidden"],["ticksElement",""],["class","ng5-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ng5-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ng5-slider-span ng5-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ng5-slider-span ng5-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ng5-slider-span","ng5-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ng5-slider-span","ng5-slider-tick-legend",3,"innerHTML"]],template:function(t,e){1&t&&(ra(0,"span",0,1),oa(2,"span",2),sa(),ra(3,"span",3,4),oa(5,"span",2),sa(),ra(6,"span",5,6),oa(8,"span",2),sa(),ra(9,"span",7,8),oa(11,"span",9),sa(),oa(12,"span",10,11),oa(14,"span",12,13),oa(16,"span",14,15),oa(18,"span",16,17),oa(20,"span",18,19),oa(22,"span",20,21),oa(24,"span",22,23),ra(26,"span",24,25),Jo(28,AJ,4,9,"span",26),sa()),2&t&&(ws(6),ja("ng5-slider-transparent",e.fullBarTransparentClass),ws(3),ja("ng5-slider-draggable",e.selectionBarDraggableClass),ws(2),na("ngStyle",e.barStyle),ws(1),na("ngStyle",e.minPointerStyle),ws(2),La("display",e.range?"inherit":"none"),na("ngStyle",e.maxPointerStyle),ws(12),ja("ng5-slider-ticks-values-under",e.ticksUnderValuesClass),na("hidden",!e.showTicks),ws(2),na("ngForOf",e.ticks))},directives:function(){return[GJ,jh,WJ,qJ,kh,Oh,t0,Ah]},styles:[".ng5-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y} .ng5-slider.with-legend{margin-bottom:40px} .ng5-slider[disabled]{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ng5-slider[disabled] .ng5-slider-draggable{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-selection{background:#8b91a2} .ng5-slider[disabled] .ng5-slider-tick{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-tick.ng5-slider-selected{background:#8b91a2} .ng5-slider .ng5-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ng5-slider .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider .ng5-slider-bar-wrapper{left:0;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ng5-slider .ng5-slider-draggable{cursor:move} .ng5-slider .ng5-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;border-radius:2px} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-transparent .ng5-slider-bar{background:0 0} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-left-out-selection .ng5-slider-bar{background:#df002d} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-right-out-selection .ng5-slider-bar{background:#03a688} .ng5-slider .ng5-slider-selection{z-index:2;background:#0db9f0;border-radius:2px} .ng5-slider .ng5-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;border-radius:16px} .ng5-slider .ng5-slider-pointer:after{content:'';width:8px;height:8px;position:absolute;top:12px;left:12px;border-radius:4px;background:#fff} .ng5-slider .ng5-slider-pointer:hover:after{background-color:#fff} .ng5-slider .ng5-slider-pointer.ng5-slider-active{z-index:4} .ng5-slider .ng5-slider-pointer.ng5-slider-active:after{background-color:#451aff} .ng5-slider .ng5-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ng5-slider .ng5-slider-bubble.ng5-slider-limit{color:#55637d} .ng5-slider .ng5-slider-ticks{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ng5-slider .ng5-slider-ticks-values-under .ng5-slider-tick-value{top:auto;bottom:-36px} .ng5-slider .ng5-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ng5-slider .ng5-slider-tick.ng5-slider-selected{background:#0db9f0} .ng5-slider .ng5-slider-tick-value{position:absolute;top:-34px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)} .ng5-slider .ng5-slider-tick-legend{position:absolute;top:24px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);max-width:50px;white-space:normal} .ng5-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;-ms-touch-action:pan-x;touch-action:pan-x} .ng5-slider.vertical .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider.vertical .ng5-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ng5-slider.vertical .ng5-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ng5-slider.vertical .ng5-slider-pointer{left:-14px!important;top:auto;bottom:0} .ng5-slider.vertical .ng5-slider-bubble{left:16px!important;bottom:0} .ng5-slider.vertical .ng5-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ng5-slider.vertical .ng5-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ng5-slider.vertical .ng5-slider-tick-value{left:24px;top:auto;-webkit-transform:translate(0,-28%);transform:translate(0,-28%)} .ng5-slider.vertical .ng5-slider-tick-legend{top:auto;right:24px;-webkit-transform:translate(0,-28%);transform:translate(0,-28%);max-width:none;white-space:nowrap} .ng5-slider.vertical .ng5-slider-ticks-values-under .ng5-slider-tick-value{bottom:auto;left:auto;right:24px} .ng5-slider *{-webkit-transition:none;transition:none} .ng5-slider.animate .ng5-slider-bar-wrapper{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-selection{-webkit-transition:background-color linear .3s;transition:background-color linear .3s} .ng5-slider.animate .ng5-slider-pointer{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-limit{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-combined{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-tick{-webkit-transition:background-color linear .3s;transition:background-color linear .3s}"]}),t})(),t0=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ng5-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng5-slider-inner-tooltip"]],template:function(t,e){1&t&&(Jo(0,RJ,2,6,"ng-container",0),Jo(1,NJ,3,3,"ng-container",0)),2&t&&(na("ngIf",e.template),ws(1),na("ngIf",!e.template))},directives:[Ah,Fh],styles:[".ng5-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]}),t})(),e0=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();const n0=["popover"];function i0(t,e){if(1&t){const t=ua();ra(0,"div",7,8),ra(2,"div"),ra(3,"div",9),Ja(4),sa(),ra(5,"input",10),fa("keyup",function(e){return $e(t),va().onKeyLow(e)}),sa(),sa(),ra(6,"ng5-slider",11),fa("valueChange",function(e){return $e(t),va().lowValue=e})("highValueChange",function(e){return $e(t),va().highValue=e})("userChangeEnd",function(){return $e(t),va().sliderValueChanged()}),sa(),ra(7,"div"),ra(8,"div",12),Ja(9),sa(),ra(10,"input",13),fa("keyup",function(e){return $e(t),va().onKeyHigh(e)}),sa(),sa(),sa()}if(2&t){const t=va();ws(2),il("label min fade-in ",t.contentsVisible,""),ws(2),el(" ",t.options.floor,"> "),ws(1),Sa("value",t.lowValue),ws(1),il("slider fade-in ",t.contentsVisible,""),na("options",t.options)("value",t.lowValue)("highValue",t.highValue),ws(1),il("label max fade-in ",t.contentsVisible,""),ws(2),el(" ",t.options.ceil," "),ws(1),Sa("value",t.highValue)}}let r0=(()=>{class t{constructor(t,e,n){this.element=e,this.ga=n,this.selectionChange=new Bc,this.isSliderOpen=!1,this.contentsVisible="invisible",this.isSliderInitialized=!1;const i=t.position().flexibleConnectedTo(e).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"}]);this.overlayRef=t.create({panelClass:"slider-pane",positionStrategy:i})}get rangeLabel(){const{lowValue:t,highValue:e}=this;return t===e?`${t}`:`${t}-${e}`}ngOnChanges(t){t.valueRange&&this.optionsChanged(),t.selection&&(this.lowValue=Math.min(...this.selection),this.highValue=Math.max(...this.selection))}optionsChanged(){var t,e;this.options={floor:this.valueRange?this.valueRange[0]:0,ceil:this.valueRange?this.valueRange[1]:0,step:1,hideLimitLabels:!0,hidePointerLabels:!0},this.lowValue=null!==(t=this.options.floor)&&void 0!==t?t:0,this.highValue=null!==(e=this.options.ceil)&&void 0!==e?e:0}ngOnDestroy(){this.overlayRef.dispose()}closeSliderPopover(t){var e,n;const{element:i,isSliderOpen:r,popoverElement:s}=this;r&&(i.nativeElement.contains(t)||(null===(n=null===(e=null==s?void 0:s.nativeElement)||void 0===e?void 0:e.contains)||void 0===n?void 0:n.call(e,t))||(this.overlayRef.detach(),this.isSliderInitialized=!1,this.isSliderOpen=!1,this.contentsVisible="invisible"))}toggleSliderPopover(){const{isSliderOpen:t,isSliderInitialized:e}=this;e?(this.overlayRef.detach(),this.isSliderInitialized=!1):!e&&!t&&this.initializeSliderPopover(),this.contentsVisible="visible"===this.contentsVisible?"invisible":"visible",this.isSliderOpen=!t}sliderValueChanged(){const{lowValue:t,highValue:e}=this;this.selection=[t,e],this.ga.event("slider_range_change","dual_slider",`${this.label}:${t}:${e}`),this.selectionChange.emit(this.selection)}initializeSliderPopover(){const{overlayRef:t,popoverPortal:e}=this;t.attach(e),t.updatePosition(),this.isSliderInitialized=!0}onKeyLow(t){const e=Number(t.target.value);"Enter"===t.key&&(e>=Number(this.options.floor)&&e<=Number(this.options.ceil)&&(this.lowValue=e),t.target.value=String(this.lowValue),t.target.blur(),this.sliderValueChanged())}onKeyHigh(t){const e=Number(t.target.value);"Enter"===t.key&&(e>=Number(this.options.floor)&&e<=Number(this.options.ceil)&&(this.highValue=e),t.target.value=String(this.highValue),t.target.blur(),this.sliderValueChanged())}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-dual-slider"]],viewQuery:function(t,e){if(1&t&&(Zc(Zp,7),Zc(n0,5,Al)),2&t){let t;Qc(t=tu())&&(e.popoverPortal=t.first),Qc(t=tu())&&(e.popoverElement=t.first)}},hostBindings:function(t,e){1&t&&fa("click",function(t){return e.closeSliderPopover(t.target)},!1,Mr)("touchstart",function(t){return e.closeSliderPopover(t.target)},!1,Mr)},inputs:{label:"label",valueRange:"valueRange",selection:"selection"},outputs:{selectionChange:"selectionChange"},features:[ye],decls:10,vars:4,consts:[[1,"ccf-slider","wrapper"],[1,"container"],["class","ccf-slider detached",4,"cdk-portal"],[1,"slider-form-field",3,"click"],[1,"slider-labels"],[1,"name-label"],[1,"range-label"],[1,"ccf-slider","detached"],["popover",""],[1,"label","floor"],["type","text",1,"input-low",3,"value","keyup"],[3,"options","value","highValue","valueChange","highValueChange","userChangeEnd"],[1,"label","ceil"],["type","text",1,"input-high",3,"value","keyup"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Jo(2,i0,11,16,"div",2),ra(3,"mat-form-field",3),fa("click",function(){return e.toggleSliderPopover()}),ra(4,"div",4),ra(5,"span",5),Ja(6),sa(),ra(7,"span",6),Ja(8),sa(),sa(),oa(9,"mat-select"),sa(),sa(),sa()),2&t&&(ws(3),ja("highlight",e.isSliderOpen),ws(3),tl(e.label),ws(2),tl(e.rangeLabel))},directives:[Jp,QH,aJ,JJ],styles:[".slider-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;font-size:.875rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.slider-labels[_ngcontent-%COMP%]{display:flex;flex-direction:column}.slider-labels[_ngcontent-%COMP%] .name-label[_ngcontent-%COMP%]{padding-bottom:.25rem}.slider-labels[_ngcontent-%COMP%] .range-label[_ngcontent-%COMP%]{font-weight:bold} .ccf-slider.wrapper .mat-select-arrow-wrapper{transform:translatey(-1.5em)}@-webkit-keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .slider-pane{position:absolute!important;top:-1px}.ccf-slider.detached[_ngcontent-%COMP%]{-webkit-animation:slideInHorizontalSlider .3s;animation:slideInHorizontalSlider .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;display:flex;justify-content:center;align-items:center;width:0rem;height:4.375rem;padding:.75rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] {visibility:hidden;margin-top:.9375rem;margin-bottom:.9375rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-bar{opacity:.2;height:.15rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-selection{opacity:1}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer{width:1rem;height:1rem;top:-.405rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer:after{display:none}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:2rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.min[_ngcontent-%COMP%]{margin-right:1rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%]{margin-left:1rem;align-items:flex-end}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{text-align:right}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .floor[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%]{font-size:.875rem}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border:none;width:1.75rem;font-size:1rem;font-weight:bold;padding:0}"]}),t})();function s0(t,e){if(1&t){const t=ua();ra(0,"div",4),ra(1,"mat-checkbox",5),fa("change",function(e){const n=$e(t).$implicit;return va().filterOnChange(e,n)}),Ja(2),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ws(1),na("checked",null==n.selection?null:n.selection.includes(t)),ws(1),el(" ",t," ")}}let o0=(()=>{class t{constructor(t){this.ga=t,this.selection=[],this.columns=3,this.selectionChange=new Bc}filterOnChange(t,e){t.checked?(this.selection=[...this.selection,e],this.ga.event("filter_added","filter_checkbox",e)):(this.selection=this.selection.filter(t=>t!==e),this.ga.event("filter_removed","filter_checkbox",e)),this.selectionChange.emit(this.selection)}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-checkbox"]],inputs:{label:"label",options:"options",selection:"selection",columns:"columns"},outputs:{selectionChange:"selectionChange"},decls:5,vars:6,consts:[[1,"filter-container"],[1,"filter-label"],[1,"options-container"],["class","option",4,"ngFor","ngForOf"],[1,"option"],[3,"checked","change"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"div",2),Jo(4,s0,3,2,"div",3),sa(),sa()),2&t&&(ws(2),tl(e.label),ws(1),ja("three",3===e.columns)("four",4===e.columns),ws(1),na("ngForOf",e.options))},directives:[kh,_K],styles:[".mat-checkbox.mat-accent .mat-checkbox-checkmark-path{stroke:#fff!important} .mat-checkbox.mat-accent .mat-checkbox-inner-container{margin-right:1rem}.filter-label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}.options-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap}.options-container.three[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:33%}.options-container.four[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:25%}"],changeDetection:0}),t})();var a0;let l0=(()=>{class t{}return t.type="[SpatialSearchUi] Really update spatial search data",t})(),c0=a0=class{constructor(t,e,n,i){this.dataSource=t,this.store=e,this.ga=i,n.pipe(Cz(VZ),rg(500),eg(()=>e.dispatch(l0))).subscribe()}static organEntity(t,e){const{organId:n,sex:i}=t;return e.find(t=>{var e;return t.representation_of===n&&(null===(e=t.sex)||void 0===e?void 0:e.toLowerCase())===i})}startSpatialSearchFlow(t){const{sex:e,organId:n}=t.getState(),i=null==n?void 0:n.split("/").slice(-1)[0];return this.ga.event("set_organ","spatial_search_ui",`${e}_${i}`),t.dispatch(new DZ(e))}setSex(t,{sex:e}){let{organId:n}=t.getState();t.patchState({sex:e}),this.ga.event("set_sex","spatial_search_ui",e),void 0!==n&&!this.organValidForSex(n,e)&&(n=void 0);const i=Object.assign(Object.assign({},this.store.selectSnapshot(qQ.filter)),{spatialSearches:[]}),r=this.store.selectSnapshot(sZ.referenceOrgans);return this.dataSource.getOntologyTermOccurences(i).pipe(rf(1),eg(e=>{t.patchState({referenceOrgans:r.filter(t=>t.id&&!t.disabled&&e[t.id]>0)}),t.dispatch(new RZ(n))}))}setOrgan(t,{organId:e}){const{sex:n}=t.getState();t.patchState({sex:n,organId:e});const i=null==e?void 0:e.split("/").slice(-1)[0];this.ga.event("set_organ","spatial_search_ui",i);const r=this.store.selectSnapshot(a0.organEntity);if(r&&e&&r.sex){const{x_dimension:n,y_dimension:i,z_dimension:s}=r,o={x:Math.round(n/2),y:Math.round(i/2),z:Math.round(s/2)},a=Math.round(.07*Math.max(n,i,s)),l=this.store.selectSnapshot(qQ.filter),c=Object.assign(Object.assign({},l),{sex:r.sex,ontologyTerms:[e],spatialSearches:[]});return this.dataSource.getReferenceOrganScene(e,c).pipe(rf(1),eg(e=>{t.patchState({position:o,radius:a,defaultPosition:o,radiusSettings:{min:Math.min(a,5),max:Math.floor(Math.max(n,i,s)/1.5),defaultValue:a},organScene:bY(r).concat(e)})}),W(()=>t.dispatch(new VZ)))}}setPosition(t,{position:e}){t.patchState({position:e}),t.dispatch(new VZ);const{x:n,y:i,z:r}=e;this.ga.event("set_position","spatial_search_ui",`${n}_${i}_${r}`)}resetPosition(t){const{defaultPosition:e}=t.getState();t.patchState({position:e}),t.dispatch(new VZ);const{x:n,y:i,z:r}=null!=e?e:{x:0,y:0,z:0};this.ga.event("reset_position","spatial_search_ui",`${n}_${i}_${r}`)}moveToNode(t,{node:e}){const n=new VT(e.transformMatrix),[i,r,s]=n.getTranslation().map(t=>Math.round(1e3*t));return t.dispatch(new NZ({x:i,y:r,z:s}))}setRadius(t,{radius:e}){t.patchState({radius:e}),t.dispatch(new VZ),this.ga.event("set_radius","spatial_search_ui",e.toFixed(1))}resetRadius(t){var e;const{radiusSettings:n}=t.getState(),i=null!==(e=null==n?void 0:n.defaultValue)&&void 0!==e?e:0;t.patchState({radius:i}),t.dispatch(new VZ),this.ga.event("reset_radius","spatial_search_ui",i.toFixed(1))}updateSpatialSearch(t){const{position:e,radius:n}=t.getState(),i=this.store.selectSnapshot(a0.organEntity);if(i&&e&&n&&i.representation_of){const r=this.dataSource,s=i.representation_of,o=this.store.selectSnapshot(qQ.filter),a=Object.assign(Object.assign({},o),{sex:i.sex,ontologyTerms:[s],spatialSearches:[Object.assign(Object.assign({},e),{radius:n,target:i["@id"]})]});return Ev({spatialSearchScene:r.getReferenceOrganScene(s,a).pipe(rf(1)),tissueBlocks:r.getTissueBlockResults(a).pipe(rf(1)),anatomicalStructures:r.getOntologyTermOccurences(a).pipe(rf(1)),cellTypes:r.getCellTypeTermOccurences(a).pipe(rf(1))}).pipe(eg(e=>t.patchState(e)))}}generateSpatialSearch(t){const{position:e,radius:n,sex:i,organId:r,referenceOrgans:s=[],executeSearchOnGeneration:o}=t.getState(),a=this.store.selectSnapshot(a0.organEntity),l=s.find(t=>t.id===r);if(e&&n&&(null==a?void 0:a.representation_of)&&l){const r=Object.assign(Object.assign({},e),{radius:n,target:a["@id"]}),s=[new XQ(i,l.name,r)];if(o){const t=this.store.selectSnapshot(ZQ.selectedSearches);s.push(new zQ({spatialSearches:t.concat(r)}))}return this.ga.event("generate_search","spatial_search_ui"),t.dispatch(s).pipe(eg(()=>t.patchState({sex:"female",organId:void 0})))}}setExecuteSearchOnGenerate(t,{execute:e}){t.patchState({executeSearchOnGeneration:e})}organValidForSex(t,e){const n=this.store.selectSnapshot(sZ.referenceOrgans).find(e=>e.id===t);return n.hasSex||n.sex===e}};c0.\u0275fac=function(t){return new(t||c0)(Ei(eQ),Ei(qz),Ei(Az),Ei(jW))},c0.\u0275prov=xt({token:c0,factory:c0.\u0275fac}),vw([eU(IZ)],c0.prototype,"startSpatialSearchFlow",null),vw([eU(DZ)],c0.prototype,"setSex",null),vw([eU(RZ)],c0.prototype,"setOrgan",null),vw([eU(NZ)],c0.prototype,"setPosition",null),vw([eU(jZ)],c0.prototype,"resetPosition",null),vw([eU(LZ)],c0.prototype,"moveToNode",null),vw([eU(FZ)],c0.prototype,"setRadius",null),vw([eU(BZ)],c0.prototype,"resetRadius",null),vw([eU(l0)],c0.prototype,"updateSpatialSearch",null),vw([eU(zZ)],c0.prototype,"generateSpatialSearch",null),vw([eU(UZ)],c0.prototype,"setExecuteSearchOnGenerate",null),vw([rU([a0,sZ.referenceOrganEntities])],c0,"organEntity",null),c0=a0=vw([nU({name:"spatialSearchUi",defaults:{sex:"female",executeSearchOnGeneration:!0}})],c0);class u0{static sex(t){return t.sex}static referenceOrgans(t){var e;return null!==(e=t.referenceOrgans)&&void 0!==e?e:[]}static organId(t){return t.organId}static organ(t,e){if(void 0!==t)return e.find(e=>e.id===t)}static organs(t,e){return e.filter(e=>this.organMatchesSex(e,t))}static organMatchesSex(t,e){return t.hasSex||t.sex===e}static position(t){var e;return null!==(e=t.position)&&void 0!==e?e:{x:0,y:0,z:0}}static defaultPosition(t){var e;return null!==(e=t.defaultPosition)&&void 0!==e?e:{x:0,y:0,z:0}}static radius(t){var e;return null!==(e=t.radius)&&void 0!==e?e:0}static radiusSettings(t){var e;return null!==(e=t.radiusSettings)&&void 0!==e?e:{min:0,max:0,defaultValue:0}}static scene(t,e,n,i){var r,s;const o=function(t,e){var n;const i=t.x_dimension/1e3,r=t.y_dimension/1e3,s=t.z_dimension/1e3,o=.07*Math.max(i,r,s),a=.05*o,l=2*o,c=4*a;return e=e?Object.assign(Object.assign({},e),{radius:e.radius/1e3,x:e.x/1e3,y:e.y/1e3,z:e.z/1e3}):{target:null!==(n=t.representation_of)&&void 0!==n?n:t["@id"],radius:o,x:i/2,y:r/2,z:s/2},[{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingSphere","@type":"SpatialSceneNode",unpickable:!1,geometry:"sphere",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z]).scale(e.radius),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXD","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l/2,e.y,e.z]).rotateZ(ZS(-90)).scale([a,l,a]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l,e.y,e.z]).rotateZ(ZS(-90)).scale([c,3*c,c]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l+3*c,e.y,e.z]).scale(c),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXA","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l/2,e.y,e.z]).rotateZ(ZS(-90)).scale([a,l,a]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXACone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l,e.y,e.z]).rotateZ(ZS(90)).scale([c,3*c,c]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l-3.5*c,e.y,e.z]).scale(c),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYW","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l/2,e.z]).scale([a,l,a]),color:hY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l,e.z]).scale([c,3*c,c]),color:hY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l+3*c,e.z]).scale(c),color:hY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYS","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l/2,e.z]).scale([a,l,a]),color:hY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l,e.z]).rotateZ(ZS(180)).scale([c,3*c,c]),color:hY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l-3.5*c,e.z]).scale(c),color:hY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZE","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l/2]).rotateX(ZS(90)).scale([a,l,a]),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZECone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l]).rotateX(ZS(90)).scale([c,3*c,c]),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l+3*c]).scale(c),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l/2]).rotateX(ZS(-90)).scale([a,l,a]),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l]).rotateX(ZS(-90)).scale([c,3*c,c]),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l-3.5*c]).scale(c),color:dY}]}(e,Object.assign(Object.assign({},n),{radius:i,target:e["@id"]})),a=new Set((null!==(r=t.tissueBlocks)&&void 0!==r?r:[]).map(t=>t.spatialEntityId));return(null!==(s=t.organScene)&&void 0!==s?s:[]).map(t=>(a.has(t["@id"])&&(t=Object.assign(Object.assign({},t),{color:[41,121,255,229.5]})),t)).concat(o)}static sceneBounds(t){const{x_dimension:e,y_dimension:n,z_dimension:i}=t,r=.42*Math.max(e,n,i);return{x:(r+e)/1e3,y:(r+n)/1e3,z:(r+i)/1e3}}static sceneTarget(t){const{x_dimension:e,y_dimension:n,z_dimension:i}=t;return[e/1e3/2,n/1e3/2,i/1e3/2]}static tissueBlocks(t){var e;return null!==(e=t.tissueBlocks)&&void 0!==e?e:[]}static anatomicalStructures(t,e){return this.getTermCounts(t.anatomicalStructures,e)}static cellTypes(t,e){return this.getTermCounts(t.cellTypes,e)}static getTermCounts(t,e){return Object.entries(null!=t?t:{}).filter(([t,e])=>e>0).map(([t,n])=>{var i,r;return{"@id":t,label:null!==(r=null===(i=e.nodes[t])||void 0===i?void 0:i.label)&&void 0!==r?r:t.split("/").slice(-1)[0],count:n}})}}function h0(t,e){if(1&t&&(ra(0,"div",6),ra(1,"mat-icon",7),Ja(2,"person"),sa(),ra(3,"div",8),ra(4,"div",9),Ja(5),sa(),ra(6,"div",9),Ja(7),sa(),sa(),sa()),2&t){const t=e.$implicit;ws(5),tl(t.donor.label),ws(2),tl(t.donor.description)}}u0.organEntity=c0.organEntity,vw([rU([c0])],u0,"sex",null),vw([rU([c0])],u0,"referenceOrgans",null),vw([rU([c0])],u0,"organId",null),vw([rU([u0.organId,u0.referenceOrgans])],u0,"organ",null),vw([rU([u0.sex,u0.referenceOrgans])],u0,"organs",null),vw([rU([c0])],u0,"position",null),vw([rU([c0])],u0,"defaultPosition",null),vw([rU([c0])],u0,"radius",null),vw([rU([c0])],u0,"radiusSettings",null),vw([rU([c0,c0.organEntity,u0.position,u0.radius])],u0,"scene",null),vw([rU([c0.organEntity])],u0,"sceneBounds",null),vw([rU([c0.organEntity])],u0,"sceneTarget",null),vw([rU([c0])],u0,"tissueBlocks",null),vw([rU([c0,qQ.anatomicalStructuresTreeModel])],u0,"anatomicalStructures",null),vw([rU([c0,qQ.cellTypesTreeModel])],u0,"cellTypes",null);let d0=(()=>{class t{constructor(){this.className="ccf-tissue-block-list",this.tissueBlocks=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tissue-block-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{tissueBlocks:"tissueBlocks"},decls:8,vars:2,consts:[[1,"tissue-block-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltip","Total quantity of registered Tissue Blocks detected by the Probing Sphere","matTooltipPosition","right"],[1,"tissue-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"icon"],[1,"donor-info"],[1,"description"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"button",2),ra(4,"mat-icon",3),Ja(5,"info"),sa(),sa(),sa(),ra(6,"div",4),Jo(7,h0,8,2,"div",5),sa()),2&t&&(ws(2),el("",e.tissueBlocks.length," Tissue Blocks"),ws(5),na("ngForOf",e.tissueBlocks))},directives:[T_,gw,kh],styles:["[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .tissue-list[_ngcontent-%COMP%]{overflow:auto}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{min-height:3rem;display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem;width:22rem;padding:.5rem;box-shadow:0 3px 6px #00000029;cursor:pointer;margin-right:1rem;margin-bottom:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),t})();function p0(t,e){if(1&t&&(ra(0,"div",6),ra(1,"div",7),ra(2,"div",8),Ja(3),sa(),ra(4,"div",8),Ja(5),sa(),sa(),sa()),2&t){const t=e.$implicit;ws(3),tl(t.label),ws(2),tl(t.count)}}let f0=(()=>{class t{constructor(){this.className="ccf-term-occurrence-list",this.termList=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-term-occurrence-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{termList:"termList",title:"title",toolTipText:"toolTipText"},decls:8,vars:4,consts:[[1,"term-list-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltipPosition","right",3,"matTooltip"],[1,"term-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"term-bloc"],[1,"term-line"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"button",2),ra(4,"mat-icon",3),Ja(5,"info"),sa(),sa(),sa(),ra(6,"div",4),Jo(7,p0,6,2,"div",5),sa()),2&t&&(ws(2),nl("",e.termList.length," ",e.title,""),ws(2),Sa("matTooltip",e.toolTipText),ws(3),na("ngForOf",e.termList))},directives:[T_,gw,kh],styles:["[_nghost-%COMP%]{padding-top:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .counter[_ngcontent-%COMP%]{font-size:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding-right:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%]{overflow:auto;padding-left:2rem;font-size:1rem}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-bloc[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem;overflow:auto}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-line[_ngcontent-%COMP%]{padding-right:2rem}"],changeDetection:0}),t})();function g0(t,e){if(1&t&&(ra(0,"mat-icon",8),Ja(1),sa()),2&t){const t=e.$implicit;ja("active",va().currentKey===t.key),ws(1),el("",t.direction," ")}}function m0(t,e){1&t&&(ra(0,"div",9),Ja(1,"SHIFT"),sa())}let b0=(()=>{class t{constructor(){this.className="ccf-spatial-search-keyboard-ui",this.keyClicked=new Bc,this.keyHovered=new Bc,this.keyMap=[{key:"w",direction:"north"},{key:"s",direction:"south"},{key:"a",direction:"west"},{key:"d",direction:"east"},{key:"e",direction:"north_east"},{key:"q",direction:"south_west"}]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-keyboard-ui"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{currentKey:"currentKey",shiftPressed:"shiftPressed"},outputs:{keyClicked:"keyClicked",keyHovered:"keyHovered"},decls:18,vars:14,consts:[[1,"direction-arrow"],["class","arrow",3,"active",4,"ngFor","ngForOf"],[1,"keys"],[1,"keyrow"],[1,"key","blue",3,"mousedown","mouseover","mouseout"],[1,"key","green",3,"mousedown","mouseover","mouseout"],[1,"key","red",3,"mousedown","mouseover","mouseout"],["class","shift",4,"ngIf"],[1,"arrow"],[1,"shift"]],template:function(t,e){1&t&&(ra(0,"div",0),Jo(1,g0,2,3,"mat-icon",1),sa(),ra(2,"div",2),ra(3,"div",3),ra(4,"div",4),fa("mousedown",function(){return e.keyClicked.emit("q")})("mouseover",function(){return e.keyHovered.emit("q")})("mouseout",function(){return e.keyHovered.emit()}),Ja(5,"Q"),sa(),ra(6,"div",5),fa("mousedown",function(){return e.keyClicked.emit("w")})("mouseover",function(){return e.keyHovered.emit("w")})("mouseout",function(){return e.keyHovered.emit()}),Ja(7,"W"),sa(),ra(8,"div",4),fa("mousedown",function(){return e.keyClicked.emit("e")})("mouseover",function(){return e.keyHovered.emit("e")})("mouseout",function(){return e.keyHovered.emit()}),Ja(9,"E"),sa(),sa(),ra(10,"div",3),ra(11,"div",6),fa("mousedown",function(){return e.keyClicked.emit("a")})("mouseover",function(){return e.keyHovered.emit("a")})("mouseout",function(){return e.keyHovered.emit()}),Ja(12,"A"),sa(),ra(13,"div",5),fa("mousedown",function(){return e.keyClicked.emit("s")})("mouseover",function(){return e.keyHovered.emit("s")})("mouseout",function(){return e.keyHovered.emit()}),Ja(14,"S"),sa(),ra(15,"div",6),fa("mousedown",function(){return e.keyClicked.emit("d")})("mouseover",function(){return e.keyHovered.emit("d")})("mouseout",function(){return e.keyHovered.emit()}),Ja(16,"D"),sa(),sa(),Jo(17,m0,2,0,"div",7),sa()),2&t&&(ws(1),na("ngForOf",e.keyMap),ws(3),ja("highlighted","q"===e.currentKey),ws(2),ja("highlighted","w"===e.currentKey),ws(2),ja("highlighted","e"===e.currentKey),ws(3),ja("highlighted","a"===e.currentKey),ws(2),ja("highlighted","s"===e.currentKey),ws(2),ja("highlighted","d"===e.currentKey),ws(2),na("ngIf",e.shiftPressed))},directives:[kh,Ah,T_],styles:["[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(5,.5fr);grid-template-rows:1fr;grid-column-gap:0px;grid-row-gap:0px;margin-bottom:1rem;width:7rem}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{grid-area:1/3/2/4;opacity:0;transition:.5s}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow.active[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .keys[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:0;grid-gap:.5rem;gap:.5rem;width:7rem;height:7rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:0;grid-gap:.5rem;gap:.5rem}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%] .key[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:2rem;height:2rem;border:2px solid;border-radius:.5rem;cursor:pointer}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .shift[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:7rem;height:2rem;border:2px solid;border-radius:.5rem}"],changeDetection:0}),t})(),y0=(()=>{class t{constructor(){this.className="ccf-spatial-search-keyboard-ui-behavior",this.delta=1,this.shiftDelta=2,this.changePosition=new Bc,this.shiftPressed=!1}updatePosition(t){if(this.currentDelta=this.shiftPressed?this.shiftDelta:this.delta,"Shift"===t)this.shiftPressed=!0;else{switch(this.currentKey=t.toLowerCase(),this.currentKey){case"q":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z-this.currentDelta});break;case"e":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z+this.currentDelta});break;case"w":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y+this.currentDelta});break;case"s":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y-this.currentDelta});break;case"a":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x-this.currentDelta});break;case"d":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x+this.currentDelta})}this.changePosition.emit(this.position)}}handleKey(t){t.preventDefault(),this.updatePosition(t.key)}keyUp(t){"Shift"===t.key?this.shiftPressed=!1:this.currentKey=void 0}keyClick(t){this.updatePosition(t)}keyHover(t){this.currentKey=t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-keyboard-ui-behavior"]],hostVars:2,hostBindings:function(t,e){1&t&&fa("keydown",function(t){return e.handleKey(t)},!1,Mr)("keyup",function(t){return e.keyUp(t)},!1,Mr),2&t&&Va(e.className)},inputs:{delta:"delta",shiftDelta:"shiftDelta",position:"position"},outputs:{changePosition:"changePosition"},decls:1,vars:2,consts:[[3,"currentKey","shiftPressed","keyClicked","keyHovered"]],template:function(t,e){1&t&&(ra(0,"ccf-spatial-search-keyboard-ui",0),fa("keyClicked",function(t){return e.keyClick(t)})("keyHovered",function(t){return e.keyHover(t)}),sa()),2&t&&na("currentKey",e.currentKey)("shiftPressed",e.shiftPressed)},directives:[b0],encapsulation:2,changeDetection:0}),t})(),v0=(()=>{class t{constructor(){this.className="ccf-spatial-search-ui",this.addSpatialSearch=new Bc,this.resetPosition=new Bc,this.resetSphere=new Bc,this.closeSpatialSearch=new Bc,this.radiusChange=new Bc,this.positionChange=new Bc,this.editReferenceOrganClicked=new Bc,this.infoClicked=new Bc,this.nodeClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-ui"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{scene:"scene",sceneBounds:"sceneBounds",sceneTarget:"sceneTarget",sex:"sex",referenceOrgan:"referenceOrgan",radius:"radius",radiusSettings:"radiusSettings",defaultPosition:"defaultPosition",position:"position",tissueBlocks:"tissueBlocks",anatomicalStructures:"anatomicalStructures",cellTypes:"cellTypes"},outputs:{addSpatialSearch:"addSpatialSearch",resetPosition:"resetPosition",resetSphere:"resetSphere",closeSpatialSearch:"closeSpatialSearch",radiusChange:"radiusChange",positionChange:"positionChange",editReferenceOrganClicked:"editReferenceOrganClicked",infoClicked:"infoClicked",nodeClicked:"nodeClicked"},decls:55,vars:27,consts:[[1,"header"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"content"],[1,"info-panel"],[1,"organ-sex-selection"],[1,"sex"],[1,"label"],[1,"current-sex"],[1,"organ"],[1,"current-organ"],[1,"edit",3,"click"],[1,"radius-slider"],[1,"slider-container"],[1,"slider",3,"max","min","step","value","input"],[1,"text","value"],[1,"reset-buttons"],["mat-button","",1,"reset-sphere","button",3,"click"],["mat-button","",1,"reset-camera","button",3,"click"],[1,"results"],[1,"tissue-block","list",3,"tissueBlocks"],["title","Anatomical Structures","toolTipText","Total quantity of predicted anatomical structures detected by the Probing Sphere",1,"anatomical-structures","list",3,"termList"],["title","Predicted Cell Types from ASCT+B Tables","toolTipText","Total quantity of predicted cell types detected by the Probing Sphere",1,"cell-type","list",3,"termList"],["mat-button","",1,"run-spatial-search","button",3,"click"],[1,"spatial-search-scene"],[1,"primary-scene-wrapper"],[1,"body-ui-hint"],[1,"primary-scene",3,"scene","bounds","target","nodeClick","rotationChange"],["primary",""],[1,"sidebar"],[1,"minimap-scene",3,"interactive","scene","bounds","target","nodeClick"],["minimap",""],[3,"delta","shiftDelta","position","changePosition"],[3,"x","y","z"]],template:function(t,e){if(1&t){const t=ua();ra(0,"div",0),ra(1,"div",1),Ja(2,"Configure Spatial Search"),sa(),ra(3,"button",2),ra(4,"mat-icon",3),fa("click",function(){return e.infoClicked.emit()}),Ja(5,"info"),sa(),sa(),ra(6,"button",4),ra(7,"mat-icon",3),fa("click",function(){return e.closeSpatialSearch.emit()}),Ja(8,"close"),sa(),sa(),sa(),ra(9,"div",5),ra(10,"div",6),ra(11,"div",7),ra(12,"div",8),ra(13,"div",9),Ja(14,"Donor Sex: "),sa(),ra(15,"div",10),Ja(16),sa(),sa(),ra(17,"div",11),ra(18,"div",9),Ja(19,"Organ: "),sa(),ra(20,"div",12),Ja(21),sa(),sa(),ra(22,"div",13),fa("click",function(){return e.editReferenceOrganClicked.emit()}),Ja(23,"Edit"),sa(),sa(),oa(24,"mat-divider"),ra(25,"div",14),ra(26,"div",1),Ja(27,"Probing Sphere Radius"),sa(),ra(28,"div",15),ra(29,"mat-slider",16),fa("input",function(t){return e.radiusChange.emit(t.value)}),sa(),ra(30,"span",17),Ja(31),sa(),sa(),ra(32,"div",18),ra(33,"button",19),fa("click",function(){return e.resetSphere.emit(),e.resetPosition.emit()}),Ja(34,"Reset Probing Sphere"),sa(),ra(35,"button",20),fa("click",function(){$e(t);const n=ta(49),i=ta(52);return n.rotation=n.rotationX=i.rotation=i.rotationX=0,n.target=i.target=e.sceneTarget,n.bounds=i.bounds=e.sceneBounds}),Ja(36,"Reset Camera View"),sa(),sa(),sa(),oa(37,"mat-divider"),ra(38,"div",21),oa(39,"ccf-tissue-block-list",22),oa(40,"ccf-term-occurrence-list",23),oa(41,"ccf-term-occurrence-list",24),sa(),ra(42,"button",25),fa("click",function(){return e.addSpatialSearch.emit()}),Ja(43,"Run Spatial Search"),sa(),sa(),ra(44,"div",26),ra(45,"div",27),ra(46,"div",28),Ja(47,"Use the keyboard or click a Tissue Block to move the Probing Sphere"),sa(),ra(48,"ccf-body-ui",29,30),fa("nodeClick",function(t){return e.nodeClicked.emit(null==t?null:t.node)})("rotationChange",function(e){$e(t);const n=ta(52);return n.rotation=e[0],n.rotationX=e[1]}),sa(),sa(),ra(50,"div",31),ra(51,"ccf-body-ui",32,33),fa("nodeClick",function(t){return e.nodeClicked.emit(null==t?null:t.node)}),sa(),ra(53,"ccf-spatial-search-keyboard-ui-behavior",34),fa("changePosition",function(t){return e.positionChange.emit(t)}),sa(),oa(54,"ccf-xyz-position",35),sa(),sa(),sa()}2&t&&(ws(16),tl(e.sex.charAt(0).toUpperCase()+e.sex.slice(1)),ws(5),tl(e.referenceOrgan.name),ws(8),na("max",e.radiusSettings.max)("min",e.radiusSettings.min)("step",1)("value",e.radius),ws(2),el("",e.radius," mm"),ws(2),ja("disabled",e.radius===e.radiusSettings.defaultValue&&e.position===e.defaultPosition),ws(6),na("tissueBlocks",e.tissueBlocks),ws(1),na("termList",e.anatomicalStructures),ws(1),na("termList",e.cellTypes),ws(1),ja("disabled",0===(null==e.tissueBlocks?null:e.tissueBlocks.length)),ws(6),na("scene",e.scene)("bounds",e.sceneBounds)("target",e.sceneTarget),ws(3),na("interactive",!1)("scene",e.scene)("bounds",e.sceneBounds)("target",e.sceneTarget),ws(2),na("delta",1)("shiftDelta",2)("position",e.position),ws(1),na("x",e.position.x)("y",e.position.y)("z",e.position.z))},directives:[R_,T_,KY,F$,d0,f0,CK,y0,EQ],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:1rem;gap:1rem;height:95vh;width:78vw;border-radius:.25rem;min-height:45rem;min-width:60rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;width:100%}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%], [_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:flex;width:100%;height:calc(100% - 3.5rem)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border-width:1px;border-style:solid;border-radius:.25rem;font-size:.875rem;height:2rem;line-height:2rem;transition:.5s}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button.disabled[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-right:2rem;grid-gap:1rem;gap:1rem;width:25rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%]{display:flex;font-size:1rem;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:300;margin-right:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .edit[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:19rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:11.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%]{height:calc(100% - 15rem - 2px)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%] .list[_ngcontent-%COMP%]{height:33%;display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%]{display:flex;width:calc(100% - 25rem);background-color:#000;border-radius:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;height:100%}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .primary-scene[_ngcontent-%COMP%]{flex:auto;overflow:hidden}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .body-ui-hint[_ngcontent-%COMP%]{color:#fff;font-size:1rem;margin:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%]{margin:1.5rem;width:12.75rem;height:11rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%] .body-ui{background-color:#232f3a}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-spatial-search-keyboard-ui-behavior[_ngcontent-%COMP%]{margin:1.5rem;display:flex;justify-content:center}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-xyz-position[_ngcontent-%COMP%]{margin:1.5rem;padding-left:5rem}"],changeDetection:0}),t})();function _0(t,e){if(1&t){const t=ua();ra(0,"ccf-spatial-search-ui",1),fa("addSpatialSearch",function(){return $e(t),va().addSpatialSearch()})("radiusChange",function(e){return $e(t),va().updateRadius(e)})("resetPosition",function(){return $e(t),va().resetPosition()})("resetSphere",function(){return $e(t),va().resetRadius()})("positionChange",function(e){return $e(t),va().updatePosition(e)})("closeSpatialSearch",function(){return $e(t),va().close()})("editReferenceOrganClicked",function(){return $e(t),va().openSpatialSearchConfig()})("infoClicked",function(){return $e(t),va().onDialogButtonClick()})("nodeClicked",function(e){return $e(t),va().moveToNode(e)}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),Dc(5,"async"),Dc(6,"async"),Dc(7,"async"),Dc(8,"async"),Dc(9,"async"),Dc(10,"async"),Dc(11,"async"),sa()}if(2&t){const t=e.ngIf,n=va();na("sex",Rc(1,12,n.sex$))("referenceOrgan",t)("radius",Rc(2,14,n.radius$))("radiusSettings",Rc(3,16,n.radiusSettings$))("defaultPosition",Rc(4,18,n.defaultPosition$))("position",Rc(5,20,n.position$))("scene",Rc(6,22,n.scene$))("sceneBounds",Rc(7,24,n.sceneBounds$))("sceneTarget",Rc(8,26,n.sceneTarget$))("tissueBlocks",Rc(9,28,n.tissueBlocks$))("anatomicalStructures",Rc(10,30,n.anatomicalStructures$))("cellTypes",Rc(11,32,n.cellTypes$))}}class w0{constructor(t,e,n){this.dialogRef=t,this.dialog=e,this.infoService=n,this.updatePosition=NQ(NZ),this.resetPosition=NQ(jZ),this.moveToNode=NQ(LZ),this.updateRadius=NQ(FZ),this.resetRadius=NQ(BZ),this.subscriptions=new g}launchInfoDialog(t){this.subscriptions.unsubscribe(),this.dialog.open(UK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");const t=this.infoService.panelContent.asObservable();this.subscriptions.add(t.subscribe(t=>{t.content.length&&(this.panelData=t,this.launchInfoDialog(this.panelData))}))}close(){this.dialogRef.close()}addSpatialSearch(){return this.close(),new zZ}openSpatialSearchConfig(){this.close(),this.dialog.open(B0)}}w0.\u0275fac=function(t){return new(t||w0)(ea(Y$),ea(nG),ea($K))},w0.\u0275cmp=Jt({type:w0,selectors:[["ccf-spatial-search-ui-behavior"]],decls:2,vars:3,consts:[[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked",4,"ngIf"],[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked"]],template:function(t,e){1&t&&(Jo(0,_0,12,34,"ccf-spatial-search-ui",0),Dc(1,"async")),2&t&&na("ngIf",Rc(1,1,e.organ$))},directives:[Ah,v0],pipes:[$h],encapsulation:2,changeDetection:0}),vw([iU(u0.scene)],w0.prototype,"scene$",void 0),vw([iU(u0.sceneBounds)],w0.prototype,"sceneBounds$",void 0),vw([iU(u0.sceneTarget)],w0.prototype,"sceneTarget$",void 0),vw([iU(u0.sex)],w0.prototype,"sex$",void 0),vw([iU(u0.organ)],w0.prototype,"organ$",void 0),vw([iU(u0.position)],w0.prototype,"position$",void 0),vw([iU(u0.defaultPosition)],w0.prototype,"defaultPosition$",void 0),vw([iU(u0.radius)],w0.prototype,"radius$",void 0),vw([iU(u0.radiusSettings)],w0.prototype,"radiusSettings$",void 0),vw([iU(u0.tissueBlocks)],w0.prototype,"tissueBlocks$",void 0),vw([iU(u0.anatomicalStructures)],w0.prototype,"anatomicalStructures$",void 0),vw([iU(u0.cellTypes)],w0.prototype,"cellTypes$",void 0),vw([XY()],w0.prototype,"updatePosition",void 0),vw([XY()],w0.prototype,"resetPosition",void 0),vw([XY()],w0.prototype,"moveToNode",void 0),vw([XY()],w0.prototype,"updateRadius",void 0),vw([XY()],w0.prototype,"resetRadius",void 0),vw([XY()],w0.prototype,"addSpatialSearch",null);const x0=["input"],S0=function(t){return{enterDuration:t}},C0=["*"],E0=new oi("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}});let O0=0;const T0={provide:aU,useExisting:pt(()=>M0),multi:!0};class k0{constructor(t,e){this.source=t,this.value=e}}const P0=new oi("MatRadioGroup");let A0=(()=>{class t{constructor(t){this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+O0++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new Bc}get name(){return this._name}set name(t){this._name=t,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(t){this._labelPosition="before"===t?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(t){this._selected=t,this.value=t?t.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._markRadiosForCheck()}get required(){return this._required}set required(t){this._required=kd(t),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(t=>{t.name=this.name,t._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(t=>{t.checked=this.value===t.value,t.checked&&(this._selected=t)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new k0(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(t=>t._markForCheck())}writeValue(t){this.value=t,this._changeDetector.markForCheck()}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetector.markForCheck()}}return t.\u0275fac=function(e){return new(e||t)(ea(nc))},t.\u0275dir=se({type:t,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),t})(),M0=(()=>{class t extends A0{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["mat-radio-group"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,N0,5),2&t){let t;Qc(t=tu())&&(e._radios=t)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[xl([T0,{provide:P0,useExisting:t}]),jo]}),t})();class I0{constructor(t){this._elementRef=t}}const D0=Yy(Ky(I0));let R0=(()=>{class t extends D0{constructor(t,e,n,i,r,s,o,a){super(e),this._changeDetector=n,this._focusMonitor=i,this._radioDispatcher=r,this._providerOverride=o,this._uniqueId="mat-radio-"+ ++O0,this.id=this._uniqueId,this.change=new Bc,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=t,this._noopAnimations="NoopAnimations"===s,a&&(this.tabIndex=Pd(a,0)),this._removeUniqueSelectionListener=r.listen((t,e)=>{t!==this.id&&e===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(t){const e=kd(t);this._checked!==e&&(this._checked=e,e&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!e&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),e&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===t),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(t){this._labelPosition=t}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(t){this._setDisabled(kd(t))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(t){this._required=kd(t)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(t){this._color=t}get inputId(){return`${this.id||this._uniqueId}-input`}focus(t,e){e?this._focusMonitor.focusVia(this._inputElement,e,t):this._inputElement.nativeElement.focus(t)}_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)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{!t&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new k0(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(t){t.stopPropagation()}_onInputInteraction(t){if(t.stopPropagation(),!this.checked&&!this.disabled){const t=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),t&&this.radioGroup._emitChangeEvent())}}_setDisabled(t){this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(ea(A0),ea(Al),ea(nc),ea(Ug),ea(zp),ea(String),ea(void 0),ea(String))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&Zc(x0,5),2&t){let t;Qc(t=tu())&&(e._inputElement=t.first)}},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[jo]}),t})(),N0=(()=>{class t extends R0{constructor(t,e,n,i,r,s,o,a){super(t,e,n,i,r,s,o,a)}}return t.\u0275fac=function(e){return new(e||t)(ea(P0,8),ea(Al),ea(nc),ea(Ug),ea(zp),ea(Ny,8),ea(E0,8),ii("tabindex"))},t.\u0275cmp=Jt({type:t,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._inputElement.nativeElement.focus()}),2&t&&(Ko("tabindex",null)("id",e.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),ja("mat-radio-checked",e.checked)("mat-radio-disabled",e.disabled)("_mat-animation-noopable",e._noopAnimations)("mat-primary","primary"===e.color)("mat-accent","accent"===e.color)("mat-warn","warn"===e.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[jo],ngContentSelectors:C0,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(t,e){if(1&t&&(wa(),ra(0,"label",0,1),ra(2,"span",2),oa(3,"span",3),oa(4,"span",4),ra(5,"input",5,6),fa("change",function(t){return e._onInputInteraction(t)})("click",function(t){return e._onInputClick(t)}),sa(),ra(7,"span",7),oa(8,"span",8),sa(),sa(),ra(9,"span",9),ra(10,"span",10),Ja(11,"\xa0"),sa(),xa(12),sa(),sa()),2&t){const t=ta(1);Ko("for",e.inputId),ws(5),na("id",e.inputId)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex)("required",e.required),Ko("name",e.name)("value",e.value)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledby)("aria-describedby",e.ariaDescribedby),ws(2),na("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Pc(18,S0,e._noopAnimations?0:150)),ws(2),ja("mat-radio-label-before","before"==e.labelPosition)}},directives:[cv],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),t})();function L0(t,e){1&t&&(ra(0,"div",7),Ja(1,"Organs"),sa())}function j0(t,e){if(1&t&&(ra(0,"mat-option",17),Ja(1),sa()),2&t){const t=e.$implicit;na("value",t),ws(1),el(" ",t.name," ")}}let F0=(()=>{class t{constructor(){this.className="ccf-spatial-search-config",this.updateSex=new Bc,this.updateOrgan=new Bc,this.buttonClicked=new Bc,this.closeDialog=new Bc,this.infoClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-config"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{organs:"organs",selectedOrgan:"selectedOrgan",sex:"sex"},outputs:{updateSex:"updateSex",updateOrgan:"updateOrgan",buttonClicked:"buttonClicked",closeDialog:"closeDialog",infoClicked:"infoClicked"},decls:27,vars:6,consts:[[1,"header"],[1,"header-left"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"sex-toggle"],[1,"label"],[1,"radio-group",3,"ngModel","ngModelChange","change"],["value","male",1,"radio"],["value","female",1,"radio"],[1,"organ-selector"],["appearance","fill",1,"form-field"],["class","label",4,"ngIf"],["disableOptionCentering","true","panelClass","organ-select",3,"value","valueChange","selectionChange"],["class","organ-select-option",3,"value",4,"ngFor","ngForOf"],["mat-button","",1,"continue-button",3,"click"],[1,"organ-select-option",3,"value"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),Ja(3,"Configure Spatial Search"),sa(),ra(4,"button",3),ra(5,"mat-icon",4),fa("click",function(){return e.infoClicked.emit()}),Ja(6,"info"),sa(),sa(),sa(),ra(7,"button",5),ra(8,"mat-icon",4),fa("click",function(){return e.closeDialog.emit()}),Ja(9,"close"),sa(),sa(),sa(),ra(10,"div",6),ra(11,"div",7),Ja(12,"Donor Sex: "),sa(),ra(13,"mat-radio-group",8),fa("ngModelChange",function(t){return e.sex=t})("change",function(t){return e.updateSex.emit(t.value)}),ra(14,"mat-radio-button",9),Ja(15,"Male"),sa(),ra(16,"mat-radio-button",10),Ja(17,"Female"),sa(),sa(),sa(),ra(18,"div",11),ra(19,"div",7),Ja(20,"Select an organ"),sa(),ra(21,"mat-form-field",12),Jo(22,L0,2,0,"div",13),ra(23,"mat-select",14),fa("valueChange",function(t){return e.selectedOrgan=t})("selectionChange",function(t){return e.updateOrgan.emit(t.value)}),Jo(24,j0,2,2,"mat-option",15),sa(),sa(),sa(),ra(25,"button",16),fa("click",function(){return e.buttonClicked.emit()}),Ja(26,"Continue"),sa()),2&t&&(ws(13),na("ngModel",e.sex),ws(9),na("ngIf",!e.selectedOrgan),ws(1),na("value",e.selectedOrgan),ws(1),na("ngForOf",e.organs),ws(1),ja("disabled",!e.selectedOrgan))},directives:[R_,T_,M0,MU,lH,N0,QH,Ah,aJ,kh,wv],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:2rem;gap:2rem;width:30.5rem;box-shadow:0 25rem 25rem #00000029;border-radius:.25rem;font-size:1rem}[_nghost-%COMP%] .button[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%;font-size:1.25rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin-right:2rem}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .radio[_ngcontent-%COMP%]{margin-right:4rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{height:0rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:1rem;padding-top:3rem;margin-left:.5rem;width:14rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-infix{padding:0;border-top:none}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{bottom:0rem;height:.125rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-select-arrow-wrapper{transform:translatey(0)}[_nghost-%COMP%] .continue-button[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:.25rem 1rem;width:14rem;height:2rem;border-width:1px;border-style:solid;border-radius:.25rem;box-shadow:0 2px 6px #00000029}[_nghost-%COMP%] .continue-button.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.5} .organ-select{position:absolute;top:2.5rem;left:-.25rem;border-radius:.5rem;max-height:24.5rem;width:14rem} .organ-select .organ-select-option{height:3.5rem;border-bottom:1px solid}"],changeDetection:0}),t})();class B0{constructor(t,e,n,i){this.dialog=t,this.dialogRef=e,this.spatialSearchDialog=n,this.infoService=i,this.updateSex=NQ(DZ),this.updateOrgan=NQ(RZ),this.subscriptions=new g,this.dialogSubs=new g}buttonClicked(){this.spatialSearchDialog.open(w0),this.close()}close(){this.dialogRef.close()}launchInfoDialog(t){this.dialogSubs.unsubscribe(),this.dialog.open(UK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");const t=this.infoService.panelContent.asObservable();this.dialogSubs.add(t.subscribe(t=>{t.content.length&&(this.panelData=t,this.launchInfoDialog(this.panelData))}))}ngOnDestroy(){this.subscriptions.unsubscribe()}}B0.\u0275fac=function(t){return new(t||B0)(ea(nG),ea(Y$),ea(nG),ea($K))},B0.\u0275cmp=Jt({type:B0,selectors:[["ccf-spatial-search-config-behavior"]],decls:4,vars:9,consts:[[3,"sex","organs","selectedOrgan","updateSex","updateOrgan","closeDialog","buttonClicked","infoClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-spatial-search-config",0),fa("updateSex",function(t){return e.updateSex(t)})("updateOrgan",function(t){return e.updateOrgan(t.id)})("closeDialog",function(){return e.close()})("buttonClicked",function(){return e.buttonClicked()})("infoClicked",function(){return e.onDialogButtonClick()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),sa()),2&t&&na("sex",Rc(1,3,e.sex$))("organs",Rc(2,5,e.organs$))("selectedOrgan",Rc(3,7,e.selectedOrgan$))},directives:[F0],pipes:[$h],encapsulation:2,changeDetection:0}),vw([iU(u0.sex)],B0.prototype,"sex$",void 0),vw([iU(u0.organ)],B0.prototype,"selectedOrgan$",void 0),vw([iU(u0.organs)],B0.prototype,"organs$",void 0),vw([XY()],B0.prototype,"updateSex",void 0),vw([XY()],B0.prototype,"updateOrgan",void 0);let V0=(()=>{class t{constructor(t,e){this.store=t,this.dialog=e,this.className="ccf-run-spatial-search"}startSpatialSearchFlow(){this.store.dispatch(new IZ).pipe(rf(1),eg(()=>this.dialog.open(B0))).subscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(qz),ea(nG))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-run-spatial-search"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},decls:4,vars:0,consts:[["mat-button","",1,"run-spatial-search-button",3,"click"]],template:function(t,e){1&t&&(ra(0,"button",0),fa("click",function(){return e.startSpatialSearchFlow()}),Ja(1," Run Spatial Search "),ra(2,"mat-icon"),Ja(3,"travel_explore"),sa(),sa())},directives:[R_,T_],styles:["[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper{display:flex;align-items:center}[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper .mat-icon{margin-left:9.75px}"],changeDetection:0}),t})();function z0(t,e){if(1&t){const t=ua();ra(0,"div",14),ra(1,"ccf-spatial-search-list",15),fa("selectionChanged",function(e){return $e(t),va().updateSearchSelection(e)})("itemRemoved",function(e){return $e(t),va().spatialSearchRemoved.emit(e.id)}),sa(),sa()}if(2&t){const t=va();ja("hidden",t.hidden),ws(1),na("items",t.spatialSearchFilters)}}const U0=function(){return["Both","Male","Female"]},H0=function(){return[1,110]},$0=function(){return[13,83]};let G0=(()=>{class t{constructor(t){this.ga=t,this.spatialSearchFilters=[],this.filtersChange=new Bc,this.spatialSearchSelected=new Bc,this.spatialSearchRemoved=new Bc,this.applyFilters=new Bc}ngOnChanges(t){"spatialSearchFilters"in t&&this.updateSexFromSelection(this.spatialSearchFilters.filter(t=>t.selected))}updateFilter(t,e){this.filters=Object.assign(Object.assign({},this.filters),{[e]:t}),this.ga.event("filter_update","filter_content",`${e}:${t}`),this.filtersChange.emit(this.filters)}applyButtonClick(){this.updateSearchSelection(this.spatialSearchFilters.filter(t=>t.selected)),this.ga.event("filters_applied","filter_content"),this.applyFilters.emit(this.filters)}refreshFilters(){this.filters=JSON.parse(JSON.stringify(UQ)),this.ga.event("filters_reset","filter_content"),this.spatialSearchSelected.emit([]),this.filtersChange.emit(this.filters)}updateSearchSelection(t){const e=t.map(t=>t.search);this.spatialSearchSelected.emit(t),this.updateFilter(e,"spatialSearches"),this.updateSexFromSelection(t)}updateSexFromSelection(t){var e;const n=null===(e=this.filters.sex)||void 0===e?void 0:e.toLowerCase(),i=new Set(t.map(t=>t.sex));t.length>0&&(i.size>1||!i.has(n))&&this.updateFilter("Both","sex")}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-filters-content"]],inputs:{hidden:"hidden",filters:"filters",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved",applyFilters:"applyFilters"},features:[ye],decls:17,vars:24,consts:[[1,"patient-filters"],["label","Sex",3,"options","selection","selectionChange"],["label","Age",3,"valueRange","selection","selectionChange"],["label","BMI",3,"valueRange","selection","selectionChange"],[1,"filter","assays"],["label","Assay Types",3,"columns","options","selection","selectionChange"],[1,"filter","providers"],["label","Tissue Providers",3,"columns","options","selection","selectionChange"],["class","filter spatial-locations",3,"hidden",4,"ngIf"],[1,"button-container"],[1,"right-group"],["mat-button","",1,"outline-button",3,"click"],[1,"refresh-icon"],[1,"icon","refresh",3,"click"],[1,"filter","spatial-locations"],["label","Spatial Locations",3,"items","selectionChanged","itemRemoved"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"ccf-dropdown",1),fa("selectionChange",function(t){return e.updateFilter(t,"sex")}),sa(),ra(2,"ccf-dual-slider",2),fa("selectionChange",function(t){return e.updateFilter(t,"ageRange")}),sa(),ra(3,"ccf-dual-slider",3),fa("selectionChange",function(t){return e.updateFilter(t,"bmiRange")}),sa(),sa(),ra(4,"div",4),ra(5,"ccf-checkbox",5),fa("selectionChange",function(t){return e.updateFilter(t,"technologies")}),sa(),sa(),ra(6,"div",6),ra(7,"ccf-checkbox",7),fa("selectionChange",function(t){return e.updateFilter(t,"tmc")}),sa(),sa(),Jo(8,z0,2,3,"div",8),ra(9,"div",9),oa(10,"ccf-run-spatial-search"),ra(11,"div",10),ra(12,"button",11),fa("click",function(){return e.applyButtonClick()}),Ja(13,"APPLY FILTERS"),sa(),ra(14,"div",12),ra(15,"mat-icon",13),fa("click",function(){return e.refreshFilters()}),Ja(16,"refresh"),sa(),sa(),sa(),sa()),2&t&&(ja("hidden",e.hidden),ws(1),na("options",kc(21,U0))("selection",null==e.filters?null:e.filters.sex),ws(1),na("valueRange",kc(22,H0))("selection",null==e.filters?null:e.filters.ageRange),ws(1),na("valueRange",kc(23,$0))("selection",null==e.filters?null:e.filters.bmiRange),ws(1),ja("hidden",e.hidden),ws(1),na("columns",4)("options",e.technologyFilters)("selection",null==e.filters?null:e.filters.technologies),ws(1),ja("hidden",e.hidden),ws(1),na("columns",3)("options",e.providerFilters)("selection",null==e.filters?null:e.filters.tmc),ws(1),na("ngIf",e.spatialSearchFilters.length>0),ws(1),ja("hidden",e.hidden))},directives:[uJ,r0,o0,Ah,V0,R_,T_,SQ],styles:[".filter[_ngcontent-%COMP%]{margin-top:2rem}.filter.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.filter.assays[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{margin-right:0 rem;width:25%}.button-container[_ngcontent-%COMP%] button{border-width:1px;border-style:solid}.button-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:2rem}.button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-width:1px;border-style:solid}.button-container.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;align-items:center}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .outline-button[_ngcontent-%COMP%]{box-shadow:.1rem .1rem .2rem #0000001d}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%]{padding:.25rem;border-radius:.25rem;margin-right:1rem;display:flex;justify-content:center;align-items:center;transition:.6s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{cursor:pointer;transition:.6s;transition-property:background}.patient-filters[_ngcontent-%COMP%]{display:flex;width:90%;padding-top:1rem}.patient-filters.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.patient-filters[_ngcontent-%COMP%] ccf-dual-slider[_ngcontent-%COMP%]{margin-left:.5rem;width:33%}.patient-filters[_ngcontent-%COMP%] ccf-dropdown[_ngcontent-%COMP%]{width:33%}"],changeDetection:0}),t})();function W0(t,e){1&t&&(ra(0,"div"),ra(1,"mat-icon",7),Ja(2,"close"),sa(),sa())}function q0(t,e){1&t&&oa(0,"mat-icon",8)}class X0{constructor(){this.spatialSearchFilters=[],this.filtersChange=new Bc,this.spatialSearchSelected=new Bc,this.spatialSearchRemoved=new Bc,this.filtersVisible=!1}toggleFilterVisible(){return this.filtersVisible=!this.filtersVisible,new UZ(!1)}removeBox(){return this.filtersVisible=!1,new UZ(!0)}applyFilters(t){this.filters=t,this.filtersChange.emit(t),this.removeBox()}}X0.\u0275fac=function(t){return new(t||X0)},X0.\u0275cmp=Jt({type:X0,selectors:[["ccf-filters-popover"]],inputs:{filters:"filters",drawerExpanded:"drawerExpanded",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved"},decls:8,vars:15,consts:[[1,"filters-popover"],[1,"show-hide",3,"click"],[4,"ngIf","ngIfElse"],["notShow",""],[1,"popup-container"],[1,"popup-body"],[3,"technologyFilters","providerFilters","spatialSearchFilters","hidden","filters","applyFilters","spatialSearchSelected","spatialSearchRemoved"],[1,"icon"],["svgIcon","filter",1,"icon","funnel"]],template:function(t,e){if(1&t&&(ra(0,"div",0),ra(1,"button",1),fa("click",function(){return e.toggleFilterVisible()}),Jo(2,W0,3,0,"div",2),Jo(3,q0,1,0,"ng-template",null,3,ru),sa(),ra(5,"div",4),ra(6,"div",5),ra(7,"ccf-filters-content",6),fa("applyFilters",function(t){return e.applyFilters(t)})("spatialSearchSelected",function(t){return e.spatialSearchSelected.emit(t)})("spatialSearchRemoved",function(t){return e.spatialSearchRemoved.emit(t)}),sa(),sa(),sa(),sa()),2&t){const t=ta(4);ja("expanded",e.drawerExpanded),ws(1),ja("open",e.filtersVisible),ws(1),na("ngIf",e.filtersVisible)("ngIfElse",t),ws(3),ja("visible",e.filtersVisible)("hidden",!e.filtersVisible),ws(2),na("technologyFilters",e.technologyFilters)("providerFilters",e.providerFilters)("spatialSearchFilters",e.spatialSearchFilters)("hidden",!e.filtersVisible)("filters",e.filters)}},directives:[Ah,G0,T_],styles:[".filters-popover[_ngcontent-%COMP%]{position:inherit}.filters-popover.expanded[_ngcontent-%COMP%]{position:relative}.filters-popover.expanded[_ngcontent-%COMP%] .popup-container[_ngcontent-%COMP%]{right:inherit}.filters-popover.expanded[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding-left:4em!important}.popup-container[_ngcontent-%COMP%]{position:absolute;z-index:5;top:1.2rem;left:1.48rem;box-shadow:.2rem .2rem 1rem #00000058}.popup-container[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding:1.5rem;position:relative}.popup-container.visible[_ngcontent-%COMP%]{width:35rem;transition:width .2s ease-in-out;border-width:1px}.popup-container.visible[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:1;transition-delay:.3s;transition-duration:.2s}.popup-container.hidden[_ngcontent-%COMP%]{width:0;height:0;transition:all .2s ease-out;transition-delay:.3s;pointer-events:none}.popup-container.hidden[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:0;transition:opacity .2s ease-in-out}.show-hide[_ngcontent-%COMP%]{background:none;border:none;z-index:10;position:relative;cursor:pointer;outline:none;padding:.5rem;border-radius:.25rem;transition:.6s}"],changeDetection:0}),vw([XY()],X0.prototype,"toggleFilterVisible",null),vw([XY()],X0.prototype,"removeBox",null);class Y0{constructor(){this.treeModel$=new _p(1),this.nodes$=this.treeModel$.pipe(D(t=>Object.values(t.nodes))),this.rootNode$=this.treeModel$.pipe(D(t=>t.nodes[t.root]))}setTreeModel(t){this.treeModel$.next(t),this.treeModel=t}filter(t){return this.nodes$.pipe(D(e=>this.lookup(e,t.toLowerCase())))}lookup(t,e){const n=new Map;return t&&t.forEach(t=>{if(t.label.toLowerCase().includes(e)&&!n.get(t.id))n.set(t.id,{index:this.getIndexOfMatch(t.label,e),displayLabel:this.formatLabel(t.label,e),node:t});else{const i=t.synonymLabels.find(t=>t.toLowerCase().includes(e));i&&!n.get(t.id)&&n.set(t.id,{index:this.getIndexOfMatch(t.label+" ("+i+")",e),displayLabel:this.formatLabel(t.label+" ("+i+")",e),node:t})}}),Array.from(n.values())}getIndexOfMatch(t,e){return t.toLowerCase().indexOf(e)}formatLabel(t,e){const n=this.getIndexOfMatch(t,e);return[t.slice(0,n),t.slice(n,n+e.length),t.slice(n+e.length)]}getChildren(t){var e,n;const i=null!==(n=null===(e=this.treeModel)||void 0===e?void 0:e.nodes)&&void 0!==n?n:{};return(0,gq.at)(i,t.children)}}Y0.\u0275fac=function(t){return new(t||Y0)},Y0.\u0275prov=xt({token:Y0,factory:Y0.\u0275fac}),vw([PV.ak],Y0.prototype,"getChildren",null);class K0 extends class{constructor(){this.expansionModel=new Vp(!0)}toggle(t){this.expansionModel.toggle(this._trackByValue(t))}expand(t){this.expansionModel.select(this._trackByValue(t))}collapse(t){this.expansionModel.deselect(this._trackByValue(t))}isExpanded(t){return this.expansionModel.isSelected(this._trackByValue(t))}toggleDescendants(t){this.expansionModel.isSelected(this._trackByValue(t))?this.collapseDescendants(t):this.expandDescendants(t)}collapseAll(){this.expansionModel.clear()}expandDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.select(...e.map(t=>this._trackByValue(t)))}collapseDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.deselect(...e.map(t=>this._trackByValue(t)))}_trackByValue(t){return this.trackBy?this.trackBy(t):t}}{constructor(t,e,n){super(),this.getLevel=t,this.isExpandable=e,this.options=n,this.options&&(this.trackBy=this.options.trackBy)}getDescendants(t){const e=[];for(let n=this.dataNodes.indexOf(t)+1;nthis._trackByValue(t)))}}const Q0=new oi("CDK_TREE_NODE_OUTLET_NODE");let Z0=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(Q0,8))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeOutlet",""]]}),t})();class J0{constructor(t){this.$implicit=t}}let t1=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:["cdkTreeNodeDefWhen","when"]}}),t})(),e1=(()=>{class t{constructor(t,e){this._differs=t,this._changeDetectorRef=e,this._onDestroy=new A,this._levels=new Map,this.viewChange=new Jf({start:0,end:Number.MAX_VALUE})}get dataSource(){return this._dataSource}set dataSource(t){this._dataSource!==t&&this._switchDataSource(t)}ngOnInit(){this._dataDiffer=this._differs.find([]).create(this.trackBy)}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null)}ngAfterContentChecked(){const t=this._nodeDefs.filter(t=>!t.when);this._defaultNodeDef=t[0],this.dataSource&&this._nodeDefs&&!this._dataSubscription&&this._observeRenderChanges()}_switchDataSource(t){this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),t||this._nodeOutlet.viewContainer.clear(),this._dataSource=t,this._nodeDefs&&this._observeRenderChanges()}_observeRenderChanges(){let t;!function(t){return t&&"function"==typeof t.connect}(this._dataSource)?Gd(this._dataSource)?t=this._dataSource:Array.isArray(this._dataSource)&&(t=Dd(this._dataSource)):t=this._dataSource.connect(this),t&&(this._dataSubscription=t.pipe(rp(this._onDestroy)).subscribe(t=>this.renderNodeChanges(t)))}renderNodeChanges(t,e=this._dataDiffer,n=this._nodeOutlet.viewContainer,i){const r=e.diff(t);!r||(r.forEachOperation((e,r,s)=>{if(null==e.previousIndex)this.insertNode(t[s],s,n,i);else if(null==s)n.remove(r),this._levels.delete(e.item);else{const t=n.get(r);n.move(t,s)}}),this._changeDetectorRef.detectChanges())}_getNodeDef(t,e){return 1===this._nodeDefs.length?this._nodeDefs.first:this._nodeDefs.find(n=>n.when&&n.when(e,t))||this._defaultNodeDef}insertNode(t,e,n,i){const r=this._getNodeDef(t,e),s=new J0(t);s.level=this.treeControl.getLevel?this.treeControl.getLevel(t):void 0!==i&&this._levels.has(i)?this._levels.get(i)+1:0,this._levels.set(t,s.level),(n||this._nodeOutlet.viewContainer).createEmbeddedView(r.template,s,e),n1.mostRecentTreeNode&&(n1.mostRecentTreeNode.data=t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Yl),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["cdk-tree"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,t1,5),2&t){let t;Qc(t=tu())&&(e._nodeDefs=t)}},viewQuery:function(t,e){if(1&t&&Zc(Z0,7),2&t){let t;Qc(t=tu())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(t,e){1&t&&ca(0,0)},directives:[Z0],encapsulation:2}),t})(),n1=(()=>{class t{constructor(e,n){this._elementRef=e,this._tree=n,this._destroyed=new A,this._dataChanges=new A,t.mostRecentTreeNode=this,this._elementRef.nativeElement.classList.add("cdk-tree-node"),this.role="treeitem"}get role(){return"treeitem"}set role(t){this._elementRef.nativeElement.setAttribute("role",t)}get data(){return this._data}set data(t){t!==this._data&&(this._data=t,this._setRoleFromData(),this._dataChanges.next())}get isExpanded(){return this._tree.treeControl.isExpanded(this._data)}_setExpanded(t){this._isAriaExpanded=t,this._elementRef.nativeElement.setAttribute("aria-expanded",`${t}`)}get level(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}ngOnInit(){this._parentNodeAriaLevel=function(t){let e=t.parentElement;for(;e&&!i1(e);)e=e.parentElement;return e?e.classList.contains("cdk-nested-tree-node")?Pd(e.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level",`${this.level+1}`)}ngDoCheck(){this.isExpanded!=this._isAriaExpanded&&this._setExpanded(this.isExpanded)}ngOnDestroy(){t.mostRecentTreeNode===this&&(t.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}_setRoleFromData(){this.role="treeitem"}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(e1))},t.\u0275dir=se({type:t,selectors:[["cdk-tree-node"]],inputs:{role:"role"},exportAs:["cdkTreeNode"]}),t.mostRecentTreeNode=null,t})();function i1(t){const e=t.classList;return!(!(null==e?void 0:e.contains("cdk-nested-tree-node"))&&!(null==e?void 0:e.contains("cdk-tree")))}const r1=/([A-Za-z%]+)$/;let s1=(()=>{class t{constructor(t,e,n,i){this._treeNode=t,this._tree=e,this._element=n,this._dir=i,this._destroyed=new A,this.indentUnits="px",this._indent=40,this._setPadding(),i&&i.change.pipe(rp(this._destroyed)).subscribe(()=>this._setPadding(!0)),t._dataChanges.subscribe(()=>this._setPadding())}get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_paddingIndent(){const t=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,e=null==this._level?t:this._level;return"number"==typeof e?`${e*this._indent}${this.indentUnits}`:null}_setPadding(t=!1){const e=this._paddingIndent();if(e!==this._currentPadding||t){const t=this._element.nativeElement,n=this._dir&&"rtl"===this._dir.value?"paddingRight":"paddingLeft",i="paddingLeft"===n?"paddingRight":"paddingLeft";t.style[n]=e||"",t.style[i]="",this._currentPadding=e}}_setLevelInput(t){this._level=Pd(t,null),this._setPadding()}_setIndentInput(t){let e=t,n="px";if("string"==typeof t){const i=t.split(r1);e=i[0],n=i[1]||n}this.indentUnits=n,this._indent=Pd(e),this._setPadding()}}return t.\u0275fac=function(e){return new(e||t)(ea(n1),ea(e1),ea(Al),ea(Fp,8))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:["cdkTreeNodePadding","level"],indent:["cdkTreeNodePaddingIndent","indent"]}}),t})(),o1=(()=>{class t{constructor(t,e){this._tree=t,this._treeNode=e,this._recursive=!1}get recursive(){return this._recursive}set recursive(t){this._recursive=kd(t)}_toggle(t){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),t.stopPropagation()}}return t.\u0275fac=function(e){return new(e||t)(ea(e1),ea(n1))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(t,e){1&t&&fa("click",function(t){return e._toggle(t)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}}),t})(),a1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const l1=Ky(qy(n1));let c1=(()=>{class t extends l1{constructor(t,e,n){super(t,e),this.tabIndex=Number(n)||0,t.nativeElement.classList.add("mat-tree-node")}ngOnInit(){super.ngOnInit()}ngDoCheck(){super.ngDoCheck()}ngOnDestroy(){super.ngOnDestroy()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(e1),ii("tabindex"))},t.\u0275dir=se({type:t,selectors:[["mat-tree-node"]],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[xl([{provide:n1,useExisting:t}]),jo]}),t})(),u1=(()=>{class t extends t1{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[xl([{provide:t1,useExisting:t}]),jo]}),t})(),h1=(()=>{class t extends s1{get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodePadding",""]],inputs:{level:["matTreeNodePadding","level"],indent:["matTreeNodePaddingIndent","indent"]},features:[xl([{provide:s1,useExisting:t}]),jo]}),t})(),d1=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(Q0,8))},t.\u0275dir=se({type:t,selectors:[["","matTreeNodeOutlet",""]],features:[xl([{provide:Z0,useExisting:t}])]}),t})(),p1=(()=>{class t extends e1{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-tree"]],viewQuery:function(t,e){if(1&t&&Zc(d1,7),2&t){let t;Qc(t=tu())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"mat-tree","cdk-tree"],exportAs:["matTree"],features:[xl([{provide:e1,useExisting:t}]),jo],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(t,e){1&t&&ca(0,0)},directives:[d1],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\n"],encapsulation:2}),t})(),f1=(()=>{class t extends o1{get recursive(){return this._recursive}set recursive(t){this._recursive=kd(t)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[xl([{provide:o1,useExisting:t}]),jo]}),t})(),g1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[a1,Wy],Wy]}),t})();class m1{constructor(t,e,n,i){this.transformFunction=t,this.getLevel=e,this.isExpandable=n,this.getChildren=i}_flattenNode(t,e,n,i){const r=this.transformFunction(t,e);if(n.push(r),this.isExpandable(r)){const r=this.getChildren(t);r&&(Array.isArray(r)?this._flattenChildren(r,e,n,i):r.pipe(rf(1)).subscribe(t=>{this._flattenChildren(t,e,n,i)}))}return n}_flattenChildren(t,e,n,i){t.forEach((r,s)=>{let o=i.slice();o.push(s!=t.length-1),this._flattenNode(r,e+1,n,o)})}flattenNodes(t){let e=[];return t.forEach(t=>this._flattenNode(t,0,e,[])),e}expandFlattenedNodes(t,e){let n=[],i=[];return i[0]=!0,t.forEach(t=>{let r=!0;for(let e=0;e<=this.getLevel(t);e++)r=r&&i[e];r&&n.push(t),this.isExpandable(t)&&(i[this.getLevel(t)+1]=e.isExpanded(t))}),n}}class b1 extends class{}{constructor(t,e,n){super(),this._treeControl=t,this._treeFlattener=e,this._flattenedData=new Jf([]),this._expandedData=new Jf([]),this._data=new Jf([]),n&&(this.data=n)}get data(){return this._data.value}set data(t){this._data.next(t),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value}connect(t){return Q(t.viewChange,this._treeControl.expansionModel.changed,this._flattenedData).pipe(D(()=>(this._expandedData.next(this._treeFlattener.expandFlattenedNodes(this._flattenedData.value,this._treeControl)),this._expandedData.value)))}disconnect(){}}class y1{constructor(t,e){this.original=t,this.level=e,this.visible=!0,this.opacity=20}get label(){return this.original.label}get expandable(){return this.original.children.length>0}static create(t,e){return new y1(t,e)}}function v1(t,e){if(1&t){const t=ua();ra(0,"div",4),fa("click",function(e){const n=$e(t).node,i=va();return i.select(e.ctrlKey,n,!0,!i.isSelected(n))}),Ja(1),sa()}if(2&t){const t=e.node,n=va();ja("hidden",t.label===(null==n.highlightedNode?null:n.highlightedNode.label))("filtered-out",!n.occurenceData[t.original.id]&&!!n.termData[t.original.id])("unavailable",!n.termData[t.original.id])("selected",n.isSelected(t)),ws(1),tl("colon"===t.label?"large intestine":t.label)}}function _1(t,e){1&t&&ca(0)}const w1=function(t){return{node:t}};function x1(t,e){if(1&t){const t=ua();ra(0,"mat-tree-node",5),fa("mouseleave",function(){$e(t);const e=ta(5);return va().mouseOut(),e.reset()}),ra(1,"div"),ra(2,"mat-icon",6),fa("mouseenter",function(){const e=$e(t).$implicit;return va().mouseOver(e)}),sa(),ra(3,"div",7),ra(4,"ccf-opacity-slider",8,9),fa("opacityChange",function(e){const n=$e(t).$implicit;return va().updateOpacity(n,e)})("opacityReset",function(){const e=$e(t).$implicit;return va().resetNode(e)})("visibilityToggle",function(){const e=$e(t).$implicit;return va().toggleVisibility(e)}),sa(),sa(),sa(),oa(6,"div",10),Jo(7,_1,1,0,"ng-container",11),ra(8,"div",12),Ja(9),sa(),sa()}if(2&t){const t=e.$implicit,n=va(),i=ta(2);na("matTreeNodePaddingIndent",n.indent),ws(1),La("display",-1!==t.opacity?"none":"block"),ws(1),La("left",n.getLeftIndent(t.level)),ja("fade",!0!==t.visible),ws(1),La("left",n.getLeftIndent(t.level)),ja("hidden",t.label!==(null==n.highlightedNode?null:n.highlightedNode.label)),ws(1),na("visible",t.visible)("opacity",t.opacity),ws(3),na("ngTemplateOutlet",i)("ngTemplateOutletContext",Pc(18,w1,t)),ws(1),ja("suborgan",t.level>1),ws(1),tl(n.occurenceData[t.original.id]||0)}}function S1(t,e){1&t&&ca(0)}function C1(t,e){if(1&t){const t=ua();ra(0,"mat-tree-node",13),fa("mouseleave",function(){$e(t);const e=ta(5);return va().mouseOut(),e.reset()}),ra(1,"div"),ra(2,"mat-icon",6),fa("mouseenter",function(){const e=$e(t).$implicit;return va().mouseOver(e)}),sa(),ra(3,"div",7),ra(4,"ccf-opacity-slider",8,14),fa("opacityChange",function(e){const n=$e(t).$implicit;return va().updateOpacity(n,e)})("opacityReset",function(){const e=$e(t).$implicit;return va().resetNode(e)})("visibilityToggle",function(){const e=$e(t).$implicit;return va().toggleVisibility(e)}),sa(),sa(),sa(),ra(6,"button",15),ra(7,"mat-icon",16),Ja(8),sa(),sa(),Jo(9,S1,1,0,"ng-container",11),ra(10,"div",12),Ja(11),sa(),sa()}if(2&t){const t=e.$implicit,n=va(),i=ta(2);na("matTreeNodePaddingIndent",n.indent),ws(1),La("display",-1!==t.opacity?"none":"block"),ws(1),La("left",n.getLeftIndent(t.level)),ja("fade",!0!==t.visible),ws(1),La("left",n.getLeftIndent(t.level)),ja("hidden",t.label!==(null==n.highlightedNode?null:n.highlightedNode.label)),ws(1),na("visible",t.visible)("opacity",t.opacity),ws(2),ja("hidden",t.label===(null==n.highlightedNode?null:n.highlightedNode.label)),Zo("aria-label","Toggle ",t.label,""),ws(2),el(" ",n.control.isExpanded(t)?"expand_less":"expand_more"," "),ws(1),na("ngTemplateOutlet",i)("ngTemplateOutletContext",Pc(22,w1,t)),ws(1),ja("suborgan",t.level>1),ws(1),tl(n.occurenceData[t.original.id]||0)}}const E1=(0,gq.property)("level"),O1=(0,gq.property)("expandable");let T1=(()=>{class t{constructor(t,e){this.cdr=t,this.ga=e,this.atScrollBottom=!1,this.nodeSelected=new Bc,this.nodeChanged=new Bc,this.indent="1.5rem",this.control=new K0(E1,O1),this.flattener=new m1(y1.create,E1,O1,gq.invoke.bind(void 0,this,"getChildren")),this.dataSource=new b1(this.control,this.flattener),this._nodes=void 0,this.anySelectionsMade=!1,this.selectedNodes=[]}set nodes(t){var e;this._nodes=t,this.control&&(this.dataSource.data=null!==(e=this._nodes)&&void 0!==e?e:[])}get nodes(){return this._nodes}set getChildren(t){var e;this._getChildren=t,this.dataSource.data=null!==(e=this.nodes)&&void 0!==e?e:[]}get getChildren(){return this._getChildren}set occurenceData(t){this._occurenceData=t||{}}get occurenceData(){return this._occurenceData}set termData(t){this._termData=t||{}}get termData(){return this._termData}ngOnInit(){this.control.dataNodes&&this.control.expand(this.control.dataNodes[0])}ngOnChanges(t){if(t.ontologyFilter){const e=t.ontologyFilter.currentValue;(null==e?void 0:e.length)>=0&&this.selectByIDs(e)}t.rootNode&&this.selectByIDs([t.rootNode.currentValue])}selectByIDs(t){const e=this.control.dataNodes,n=e.filter(e=>t.indexOf(e.original.id)>-1);(null==n?void 0:n.length)>0&&(this.selectedNodes=n,this.ga.event("nodes_selected_by_ids","ontology_tree",n.map(t=>t.label).join(",")),this.control.collapseAll(),this.selectedNodes.forEach(t=>{this.expandAndSelect(t.original,t=>{var n;return null===(n=e.find(e=>e.original.id===t.parent))||void 0===n?void 0:n.original},!0)}))}expandAndSelect(t,e,n=!1){var i;const{cdr:r,control:s}=this,o=new Set;let a=e(t);for(;a;)o.add(a),a=e(a);const l=(0,gq.filter)(s.dataNodes,t=>o.has(t.original)),c=s.dataNodes.find(e=>e.original===t);n||(this.selectedNodes=[],s.collapseAll());for(const u of l)s.expand(u);"body"===t.label&&(null===(i=s.dataNodes)||void 0===i?void 0:i.length)>0&&s.expand(s.dataNodes[0]),this.select(n,c,!1,!0),r.detectChanges()}isInnerNode(t,e){return e.expandable}isSelected(t){return(null==t?void 0:t.original.id)===this.rootNode||this.selectedNodes.filter(e=>(null==t?void 0:t.original.label)===(null==e?void 0:e.original.label)).length>0}select(t,e,n,i){if(this.anySelectionsMade||(this.selectedNodes=[],this.anySelectionsMade=!0),void 0===e)return this.selectedNodes=[],void this.ga.event("nodes_unselected","ontology_tree");t?i?this.selectedNodes.indexOf(e)<0&&this.selectedNodes.push(e):this.selectedNodes.splice(this.selectedNodes.indexOf(e),1):(this.selectedNodes=[],i&&this.selectedNodes.push(e)),this.ga.event("nodes_selected","ontology_tree",this.selectedNodes.map(t=>t.label).join(",")),n&&this.nodeSelected.emit(this.selectedNodes.map(t=>null==t?void 0:t.original))}mouseOver(t){this.highlightedNode=t}mouseOut(){this.highlightedNode=void 0}updateOpacity(t,e){t.opacity=e,this.ga.event("opacity_update","ontology_tree",t.label,e),this.nodeChanged.emit(t)}resetNode(t){t.opacity=20,t.visible=!0,this.ga.event("node_reset","ontology_tree",t.label),this.nodeChanged.emit(t)}toggleVisibility(t){t.visible=!0!==t.visible,this.ga.event("visibility_update","ontology_tree",t.label,+t.visible),this.nodeChanged.emit(t)}getLeftIndent(t){return-1.5*t+"rem"}onScroll(t){if(!t.target)return;const{clientHeight:e,scrollHeight:n,scrollTop:i}=t.target;this.atScrollBottom=n-i-e<20}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-tree"]],inputs:{ontologyFilter:"ontologyFilter",rootNode:"rootNode",nodes:"nodes",getChildren:"getChildren",occurenceData:"occurenceData",termData:"termData",header:"header"},outputs:{nodeSelected:"nodeSelected",nodeChanged:"nodeChanged"},features:[ye],decls:5,vars:5,consts:[[1,"ccf-ontology-tree",3,"dataSource","treeControl","scroll"],["selectableRegion",""],["class","node leaf-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef"],["class","node inner-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef","matTreeNodeDefWhen"],[1,"text",3,"click"],["matTreeNodePadding","",1,"node","leaf-node",3,"matTreeNodePaddingIndent","mouseleave"],["svgIcon","app:opacity",1,"icon","opacity",3,"mouseenter"],[1,"slider"],[3,"visible","opacity","opacityChange","opacityReset","visibilityToggle"],["slider1",""],[1,"non-expandable"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"num-results"],["matTreeNodePadding","",1,"node","inner-node",3,"matTreeNodePaddingIndent","mouseleave"],["slider2",""],["mat-icon-button","","matTreeNodeToggle","",1,"toggle"],[1,"icon","font-icon"]],template:function(t,e){1&t&&(ra(0,"mat-tree",0),fa("scroll",function(t){return e.onScroll(t)}),Jo(1,v1,2,9,"ng-template",null,1,ru),Jo(3,x1,10,20,"mat-tree-node",2),Jo(4,C1,12,24,"mat-tree-node",3),sa()),2&t&&(ja("header-hidden",!e.header),na("dataSource",e.dataSource)("treeControl",e.control),ws(4),na("matTreeNodeDefWhen",e.isInnerNode))},directives:[p1,u1,c1,h1,T_,jK,Fh,R_,f1],styles:[".ccf-ontology-tree[_ngcontent-%COMP%]{background:none;scrollbar-width:thin;max-height:calc(50vh - 10rem);overflow:auto;overflow-x:hidden}.ccf-ontology-tree.header-hidden[_ngcontent-%COMP%]{max-height:40vh}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .toggle[_ngcontent-%COMP%]{z-index:-1;opacity:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .text[_ngcontent-%COMP%]{margin-left:.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]{min-height:0;font-size:1rem;margin-bottom:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:width;position:relative;z-index:1}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%]{width:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%] ccf-opacity-slider[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider{height:1.5rem;margin-left:1rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box .slider-and-label{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider{height:1.5rem;width:15rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider .mat-slider-wrapper{top:12px}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .opacity-value{width:3rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-right:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node.inner-node[_ngcontent-%COMP%] button.hidden[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .opacity[_ngcontent-%COMP%]{position:relative;min-width:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:normal}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .autocomplete-open[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{border-bottom:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .non-expandable[_ngcontent-%COMP%]{margin-left:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{white-space:nowrap;cursor:pointer;margin-left:1rem;opacity:1;width:50%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:opacity,width}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.hidden[_ngcontent-%COMP%]{opacity:0;width:0%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.unavailable[_ngcontent-%COMP%]{pointer-events:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-left:auto}.scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:90%;bottom:0;pointer-events:none}.scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();function k1(t,e){if(1&t&&(ra(0,"mat-option",8),ra(1,"span",9),Ja(2),sa(),ra(3,"span",10),Ja(4),sa(),ra(5,"span",11),Ja(6),sa(),sa()),2&t){const t=e.$implicit;na("value",t),ws(2),tl(t.displayLabel[0]),ws(2),tl(t.displayLabel[1]),ws(2),tl(t.displayLabel[2])}}let P1=(()=>{class t{constructor(t,e){this.ontologyService=t,this.ga=e,this.selected=new Bc,this.formControl=new tH(""),this.autoCompleteOpen=!1}ngOnInit(){this.filteredResults$=this.formControl.valueChanges.pipe(ep(t=>"string"==typeof t),lp(""),cp(t=>this.ontologyService.filter(t)),D(t=>(0,gq.sortBy)(t,[this.sortBySynonymResult,"index",this.sortLexically])))}displayFormatter(t){var e;return(null!==(e=null==t?void 0:t.displayLabel)&&void 0!==e?e:[]).join("")}sortBySynonymResult(t){return t.displayLabel.join().includes("(")?1:-1}sortLexically(t){return t.node.label.toLowerCase()}onSelect(t){const e=(0,gq.get)(t,["option","value","node"]);e&&(this.ga.event("search","ontology_search",e.id),this.selected.emit(e),this.formControl.reset())}}return t.\u0275fac=function(e){return new(e||t)(ea(Y0),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-search"]],inputs:{placeholderText:"placeholderText"},outputs:{selected:"selected"},decls:10,vars:9,consts:[[1,"ccf-ontology-search"],["appearance","outline",1,"field"],["matPrefix","","color","primary",1,"search"],["type","text","matInput","",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"ccf-ontology-search","detached","autocomplete",3,"displayWith","optionSelected","opened","closed"],["autocomplete",""],[1,"results-container"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"prefix"],[1,"search-term"],[1,"suffix"]],template:function(t,e){if(1&t&&(ra(0,"form",0),ra(1,"mat-form-field",1),ra(2,"mat-icon",2),Ja(3,"search"),sa(),oa(4,"input",3),ra(5,"mat-autocomplete",4,5),fa("optionSelected",function(t){return e.onSelect(t)})("opened",function(){return e.autoCompleteOpen=!0})("closed",function(){return e.autoCompleteOpen=!1}),ra(7,"div",6),Jo(8,k1,7,4,"mat-option",7),Dc(9,"async"),sa(),sa(),sa(),sa()),2&t){const t=ta(6);ja("autocomplete-open",e.autoCompleteOpen),ws(4),na("placeholder",e.placeholderText)("formControl",e.formControl)("matAutocomplete",t),ws(1),na("displayWith",e.displayFormatter),ws(3),na("ngForOf",Rc(9,7,e.filteredResults$))}},directives:[cH,IU,sH,QH,T_,$H,E$,uU,m$,MU,pH,h$,kh,wv],pipes:[$h],styles:[".ccf-ontology-search[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem .25rem 0;margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;height:3rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix input{margin-left:.4rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-prefix{top:.5rem;border:none}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0 .25rem;min-width:2.5rem} .ccf-ontology-search.detached{border:.125rem solid;border-top:none;border-radius:0 0 .25rem .25rem;max-height:18rem} .ccf-ontology-search.detached .results-container{width:23.75rem;margin-bottom:1rem;overflow:auto;max-height:15rem;scrollbar-width:thin} .ccf-ontology-search.detached .results-container mat-option{height:1.5rem;width:23.75rem} .ccf-ontology-search.detached .results-container mat-option .search-term{text-decoration:underline}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0;border-bottom:none}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem 0 0;border-bottom:none}"],changeDetection:0}),t})();const A1=function(t){return[t]};function M1(t,e){if(1&t){const t=ua();ra(0,"ccf-ontology-tree",2),fa("nodeSelected",function(e){return $e(t),va().ontologySelection.emit(e)}),sa()}if(2&t){const t=e.ngIf,n=va();na("nodes",Pc(7,A1,t))("rootNode",t.id)("getChildren",n.ontologySearchService.getChildren)("occurenceData",n.occurenceData)("termData",n.termData)("ontologyFilter",n.ontologyFilter)("header",n.header)}}let I1=(()=>{class t{constructor(t){this.ontologySearchService=t,this.ontologySelection=new Bc}ngOnChanges(t){"treeModel"in t&&this.treeModel&&this.ontologySearchService.setTreeModel(this.treeModel)}selected(t){var e,n;const i=null!==(n=null===(e=this.treeModel)||void 0===e?void 0:e.nodes)&&void 0!==n?n:{};this.tree.expandAndSelect(t,t=>i[t.parent])}}return t.\u0275fac=function(e){return new(e||t)(ea(Y0))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-selection"]],viewQuery:function(t,e){if(1&t&&Zc(T1,5),2&t){let t;Qc(t=tu())&&(e.tree=t.first)}},inputs:{occurenceData:"occurenceData",termData:"termData",treeModel:"treeModel",ontologyFilter:"ontologyFilter",header:"header",placeholderText:"placeholderText"},outputs:{ontologySelection:"ontologySelection"},features:[xl([Y0]),ye],decls:3,vars:4,consts:[[3,"placeholderText","selected"],["class","tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected",4,"ngIf"],[1,"tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected"]],template:function(t,e){1&t&&(ra(0,"ccf-ontology-search",0),fa("selected",function(t){return e.selected(t)}),sa(),Jo(1,M1,1,9,"ccf-ontology-tree",1),Dc(2,"async")),2&t&&(na("placeholderText",e.placeholderText),ws(1),na("ngIf",Rc(2,2,e.ontologySearchService.rootNode$)))},directives:[P1,Ah,T1],pipes:[$h],styles:[""],changeDetection:0}),t})(),D1=(()=>{class t{constructor(t,e,n){this.drawer=t,this.cdr=n,this.className="ccf-drawer-toggle-button",this.position="start",this.opened=!1,this.subscriptions=new g;const i=e.connect(this);this.subscriptions.add(i.getMessagesFromSource(t).subscribe(t=>{this.handleMessage(t)&&n.markForCheck()}))}get classEnd(){return"end"===this.position}get icon(){let t="arrow_right",e="arrow_left";return"end"===this.position&&([t,e]=[e,t]),this.opened?e:t}ngAfterViewInit(){setTimeout(()=>{this.position=this.drawer.position,this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return"drawer-toggled"===t.payload.type&&(this.opened=t.payload.opened,!0)}toggle(){const t=this.drawer,{opened:e,expanded:n}=t;e?n?t.closeExpanded():t.close():t.open()}}return t.\u0275fac=function(e){return new(e||t)(ea(OZ),ea(_Z),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-toggle-button"]],hostVars:4,hostBindings:function(t,e){2&t&&(Va(e.className),ja("ccf-drawer-toggle-button-end",e.classEnd))},decls:2,vars:1,consts:[["aria-hidden","false","aria-label","Close side drawer",1,"expand-collapse-icon",3,"click"]],template:function(t,e){1&t&&(ra(0,"mat-icon",0),fa("click",function(){return e.toggle()}),Ja(1),sa()),2&t&&(ws(1),el(" ",e.icon,"\n"))},directives:[T_],styles:["[_nghost-%COMP%]{position:absolute;top:calc(50% - 2.0625rem);right:-1.0625rem;width:1.0625rem;height:3rem;border-radius:0 .25rem .25rem 0;cursor:pointer;display:flex;align-items:center;transition:.6s}.ccf-drawer-toggle-button-end[_nghost-%COMP%]{right:unset;left:calc(-1rem - 1px);border-radius:.25rem 0 0 .25rem}[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{position:relative;right:.25rem;transition:all .5s}.ccf-drawer-toggle-button-end[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{right:unset;left:-.25rem}"],changeDetection:0}),t})();function R1(t,e){1&t&&(ra(0,"div",7),oa(1,"mat-spinner",8),ra(2,"span",3),Ja(3,"Loading External Site"),sa(),sa())}function N1(t,e){if(1&t){const t=ua();ra(0,"iframe",9),fa("load",function(){return $e(t),va().loading=!1}),sa()}2&t&&Ko("src",va().safeUrl,wr)}let L1=(()=>{class t{constructor(t){this.sanitizer=t,this.className="ccf-viewer",this.url="",this.closed=new Bc,this.loading=!0,this.safeUrl=null}ngOnChanges(t){"url"in t&&this.updateUrl()}updateUrl(){const{sanitizer:t,url:e}=this;this.safeUrl=null,e&&(this.safeUrl=t.bypassSecurityTrustResourceUrl(e),this.loading=!0)}}return t.\u0275fac=function(e){return new(e||t)(ea(Sd))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-viewer"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{url:"url"},outputs:{closed:"closed"},features:[ye],decls:11,vars:4,consts:[[1,"toolbar"],["mat-flat-button","","target","_blank","rel","noopener noreferrer",1,"launch",3,"href","disabled"],[1,"icon"],[1,"text"],["mat-flat-button","",1,"close",3,"click"],["class","overlay",4,"ngIf"],["class","frame","title","Portal Data Viewer","referrerpolicy","no-referrer",3,"load",4,"ngIf"],[1,"overlay"],[1,"spinner"],["title","Portal Data Viewer","referrerpolicy","no-referrer",1,"frame",3,"load"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"a",1),ra(2,"mat-icon",2),Ja(3,"launch"),sa(),ra(4,"span",3),Ja(5,"Open in Portal"),sa(),sa(),ra(6,"button",4),fa("click",function(){return e.closed.emit()}),ra(7,"mat-icon",2),Ja(8,"clear"),sa(),sa(),sa(),Jo(9,R1,4,0,"div",5),Jo(10,N1,1,1,"iframe",6)),2&t&&(ws(1),na("href",e.safeUrl,_r)("disabled",!e.safeUrl),ws(8),na("ngIf",e.loading),ws(1),na("ngIf",e.safeUrl))},directives:[N_,T_,R_,Ah,fZ],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;width:100%;height:1.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%]{margin-right:3.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch.mat-button-disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.25rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{min-width:0;padding:0;line-height:1.5rem;border-radius:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:1.5rem;bottom:0;left:0;right:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{margin-bottom:.5rem}[_nghost-%COMP%] .frame[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0}),t})();function j1(t,e){if(1&t&&oa(0,"div",3),2&t){const t=e.index;ja("line-tick-visible",va().tissueSectionExists(t+1))}}const F1=function(){return[]};let B1=(()=>{class t{constructor(){this.clsName="ccf-tissue-section-vis"}tissueSectionExists(t){return this.tissueSections.filter(e=>e.sectionNumber===t).length>0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tissue-section-vis"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{totalTissueSections:"totalTissueSections",tissueSections:"tissueSections"},decls:7,vars:3,consts:[[1,"container"],["class","line-tick",3,"line-tick-visible",4,"ngFor","ngForOf"],[1,"x-axis"],[1,"line-tick"]],template:function(t,e){1&t&&(ra(0,"div"),Ja(1,"0"),sa(),ra(2,"div",0),Jo(3,j1,1,2,"div",1),oa(4,"div",2),sa(),ra(5,"div"),Ja(6),sa()),2&t&&(ws(3),na("ngForOf",kc(2,F1).constructor(e.totalTissueSections)),ws(3),tl(e.totalTissueSections))},directives:[kh],styles:["[_nghost-%COMP%]{width:100%;height:2.5rem;padding:.5rem 1rem;display:flex}[_nghost-%COMP%] .container[_ngcontent-%COMP%]{margin-right:.5rem;margin-left:.5rem;flex-grow:1;display:flex;position:relative;justify-content:space-evenly}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .line-tick[_ngcontent-%COMP%]{height:100%;width:1px;z-index:2}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .x-axis[_ngcontent-%COMP%]{width:100%;height:2px;position:absolute;top:calc(50% - 1px);right:0;z-index:1}"],changeDetection:0}),t})();function V1(t){return null!==t&&"object"==typeof t&&"constructor"in t&&t.constructor===Object}function z1(t,e){void 0===t&&(t={}),void 0===e&&(e={}),Object.keys(e).forEach(function(n){void 0===t[n]?t[n]=e[n]:V1(e[n])&&V1(t[n])&&Object.keys(e[n]).length>0&&z1(t[n],e[n])})}var U1={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function H1(){var t="undefined"!=typeof document?document:{};return z1(t,U1),t}var $1={document:U1,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}},requestAnimationFrame:function(t){return"undefined"==typeof setTimeout?(t(),null):setTimeout(t,0)},cancelAnimationFrame:function(t){"undefined"!=typeof setTimeout&&clearTimeout(t)}};function G1(){var t="undefined"!=typeof window?window:{};return z1(t,$1),t}function W1(t){return(W1=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function q1(t,e){return(q1=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function X1(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(m){return!1}}function Y1(t,e,n){return(Y1=X1()?Reflect.construct:function(t,e,n){var i=[null];i.push.apply(i,e);var r=new(Function.bind.apply(t,i));return n&&q1(r,n.prototype),r}).apply(null,arguments)}function K1(t){var e="function"==typeof Map?new Map:void 0;return(K1=function(t){if(null===t||!function(t){return-1!==Function.toString.call(t).indexOf("[native code]")}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return Y1(t,arguments,W1(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),q1(n,t)})(t)}var Q1=function(t){function e(e){var n;return function(t){var e=t.__proto__;Object.defineProperty(t,"__proto__",{get:function(){return e},set:function(t){e.__proto__=t}})}(function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(n=t.call.apply(t,[this].concat(e))||this)),n}return function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}(e,t),e}(K1(Array));function Z1(t){void 0===t&&(t=[]);var e=[];return t.forEach(function(t){Array.isArray(t)?e.push.apply(e,Z1(t)):e.push(t)}),e}function J1(t,e){return Array.prototype.filter.call(t,e)}function t2(t,e){var n=G1(),i=H1(),r=[];if(!e&&t instanceof Q1)return t;if(!t)return new Q1(r);if("string"==typeof t){var s=t.trim();if(s.indexOf("<")>=0&&s.indexOf(">")>=0){var o="div";0===s.indexOf("0}).length>0},toggleClass:function(){for(var t=arguments.length,e=new Array(t),n=0;n=0;p-=1){var f=d[p];s&&f.listener===s||s&&f.listener&&f.listener.dom7proxy&&f.listener.dom7proxy===s?(h.removeEventListener(c,f.proxyListener,o),d.splice(p,1)):s||(h.removeEventListener(c,f.proxyListener,o),d.splice(p,1))}}return this},trigger:function(){for(var t=G1(),e=arguments.length,n=new Array(e),i=0;i0}),c.dispatchEvent(u),c.dom7EventData=[],delete c.dom7EventData}}return this},transitionEnd:function(t){var e=this;return t&&e.on("transitionend",function n(i){i.target===this&&(t.call(this,i),e.off("transitionend",n))}),this},outerWidth:function(t){if(this.length>0){if(t){var e=this.styles();return this[0].offsetWidth+parseFloat(e.getPropertyValue("margin-right"))+parseFloat(e.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(t){if(this.length>0){if(t){var e=this.styles();return this[0].offsetHeight+parseFloat(e.getPropertyValue("margin-top"))+parseFloat(e.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){var t=G1();return this[0]?t.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){var t=G1(),e=H1(),n=this[0],i=n.getBoundingClientRect(),r=e.body;return{top:i.top+(n===t?t.scrollY:n.scrollTop)-(n.clientTop||r.clientTop||0),left:i.left+(n===t?t.scrollX:n.scrollLeft)-(n.clientLeft||r.clientLeft||0)}}return null},css:function(t,e){var n,i=G1();if(1===arguments.length){if("string"!=typeof t){for(n=0;ne-1)return t2([]);if(t<0){var n=e+t;return t2(n<0?[]:[this[n]])}return t2([this[t]])},append:function(){for(var t,e=H1(),n=0;n=0;n-=1)this[e].insertBefore(r.childNodes[n],this[e].childNodes[0])}else if(t instanceof Q1)for(n=0;n0?t?this[0].nextElementSibling&&t2(this[0].nextElementSibling).is(t)?t2([this[0].nextElementSibling]):t2([]):t2(this[0].nextElementSibling?[this[0].nextElementSibling]:[]):t2([])},nextAll:function(t){var e=[],n=this[0];if(!n)return t2([]);for(;n.nextElementSibling;){var i=n.nextElementSibling;t?t2(i).is(t)&&e.push(i):e.push(i),n=i}return t2(e)},prev:function(t){if(this.length>0){var e=this[0];return t?e.previousElementSibling&&t2(e.previousElementSibling).is(t)?t2([e.previousElementSibling]):t2([]):t2(e.previousElementSibling?[e.previousElementSibling]:[])}return t2([])},prevAll:function(t){var e=[],n=this[0];if(!n)return t2([]);for(;n.previousElementSibling;){var i=n.previousElementSibling;t?t2(i).is(t)&&e.push(i):e.push(i),n=i}return t2(e)},parent:function(t){for(var e=[],n=0;n=0,observer:"MutationObserver"in t||"WebkitMutationObserver"in t,passiveListener:function(){var e=!1;try{var n=Object.defineProperty({},"passive",{get:function(){e=!0}});t.addEventListener("testPassiveListener",null,n)}catch(i){}return e}(),gestures:"ongesturestart"in t}}()),r2}function g2(t){return void 0===t&&(t={}),s2||(s2=function(t){var e=(void 0===t?{}:t).userAgent,n=f2(),i=G1(),r=i.navigator.platform,s=e||i.navigator.userAgent,o={ios:!1,android:!1},a=i.screen.width,l=i.screen.height,c=s.match(/(Android);?[\s\/]+([\d.]+)?/),u=s.match(/(iPad).*OS\s([\d_]+)/),h=s.match(/(iPod)(.*OS\s([\d_]+))?/),d=!u&&s.match(/(iPhone\sOS|iOS)\s([\d_]+)/),p="Win32"===r,f="MacIntel"===r;return!u&&f&&n.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(a+"x"+l)>=0&&((u=s.match(/(Version)\/([\d.]+)/))||(u=[0,1,"13_0_0"]),f=!1),c&&!p&&(o.os="android",o.android=!0),(u||d||h)&&(o.os="ios",o.ios=!0),o}(t)),s2}function m2(){return o2||(o2=function(){var t,e=G1();return{isEdge:!!e.navigator.userAgent.match(/Edge/g),isSafari:(t=e.navigator.userAgent.toLowerCase(),t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),o2}var b2={name:"resize",create:function(){var t=this;d2(t,{resize:{observer:null,createObserver:function(){!t||t.destroyed||!t.initialized||(t.resize.observer=new ResizeObserver(function(e){var n=t.width,i=t.height,r=n,s=i;e.forEach(function(e){var n=e.contentBoxSize,i=e.contentRect,o=e.target;o&&o!==t.el||(r=i?i.width:(n[0]||n).inlineSize,s=i?i.height:(n[0]||n).blockSize)}),(r!==n||s!==i)&&t.resize.resizeHandler()}),t.resize.observer.observe(t.el))},removeObserver:function(){t.resize.observer&&t.resize.observer.unobserve&&t.el&&(t.resize.observer.unobserve(t.el),t.resize.observer=null)},resizeHandler:function(){!t||t.destroyed||!t.initialized||(t.emit("beforeResize"),t.emit("resize"))},orientationChangeHandler:function(){!t||t.destroyed||!t.initialized||t.emit("orientationchange")}}})},on:{init:function(t){var e=G1();t.params.resizeObserver&&void 0!==G1().ResizeObserver?t.resize.createObserver():(e.addEventListener("resize",t.resize.resizeHandler),e.addEventListener("orientationchange",t.resize.orientationChangeHandler))},destroy:function(t){var e=G1();t.resize.removeObserver(),e.removeEventListener("resize",t.resize.resizeHandler),e.removeEventListener("orientationchange",t.resize.orientationChangeHandler)}}};function y2(){return(y2=Object.assign||function(t){for(var e=1;e0)&&(!r.isTouched||!r.isMoved))){s.noSwipingClass&&""!==s.noSwipingClass&&a.target&&a.target.shadowRoot&&t.path&&t.path[0]&&(l=a2(t.path[0]));var c=s.noSwipingSelector?s.noSwipingSelector:"."+s.noSwipingClass;if(s.noSwiping&&(a.target&&a.target.shadowRoot?function(t,e){return void 0===e&&(e=this),function e(n){return n&&n!==H1()&&n!==G1()?(n.assignedSlot&&(n=n.assignedSlot),n.closest(t)||e(n.getRootNode().host)):null}(e)}(c,a.target):l.closest(c)[0]))return void(e.allowClick=!0);if(!s.swipeHandler||l.closest(s.swipeHandler)[0]){o.currentX="touchstart"===a.type?a.targetTouches[0].pageX:a.pageX,o.currentY="touchstart"===a.type?a.targetTouches[0].pageY:a.pageY;var u=o.currentX,h=o.currentY,d=s.edgeSwipeDetection||s.iOSEdgeSwipeDetection,p=s.edgeSwipeThreshold||s.iOSEdgeSwipeThreshold;if(d&&(u<=p||u>=i.innerWidth-p)){if("prevent"!==d)return;t.preventDefault()}if(d2(r,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=u,o.startY=h,r.touchStartTime=c2(),e.allowClick=!0,e.updateSize(),e.swipeDirection=void 0,s.threshold>0&&(r.allowThresholdMove=!1),"touchstart"!==a.type){var f=!0;l.is(r.focusableElements)&&(f=!1),n.activeElement&&a2(n.activeElement).is(r.focusableElements)&&n.activeElement!==l[0]&&n.activeElement.blur(),(s.touchStartForcePreventDefault||f&&e.allowTouchMove&&s.touchStartPreventDefault)&&!l[0].isContentEditable&&a.preventDefault()}e.emit("touchStart",a)}}}}function x2(t){var e=H1(),n=this,i=n.touchEventsData,r=n.params,s=n.touches,o=n.rtlTranslate;if(n.enabled){var a=t;if(a.originalEvent&&(a=a.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&n.emit("touchMoveOpposite",a));if(!i.isTouchEvent||"touchmove"===a.type){var l="touchmove"===a.type&&a.targetTouches&&(a.targetTouches[0]||a.changedTouches[0]),c="touchmove"===a.type?l.pageX:a.pageX,u="touchmove"===a.type?l.pageY:a.pageY;if(a.preventedByNestedSwiper)return s.startX=c,void(s.startY=u);if(!n.allowTouchMove)return n.allowClick=!1,void(i.isTouched&&(d2(s,{startX:c,startY:u,currentX:c,currentY:u}),i.touchStartTime=c2()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(n.isVertical()){if(us.startY&&n.translate>=n.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(cs.startX&&n.translate>=n.minTranslate())return;if(i.isTouchEvent&&e.activeElement&&a.target===e.activeElement&&a2(a.target).is(i.focusableElements))return i.isMoved=!0,void(n.allowClick=!1);if(i.allowTouchCallbacks&&n.emit("touchMove",a),!(a.targetTouches&&a.targetTouches.length>1)){s.currentX=c,s.currentY=u;var h=s.currentX-s.startX,d=s.currentY-s.startY;if(!(n.params.threshold&&Math.sqrt(Math.pow(h,2)+Math.pow(d,2))=25&&(p=180*Math.atan2(Math.abs(d),Math.abs(h))/Math.PI,i.isScrolling=n.isHorizontal()?p>r.touchAngle:90-p>r.touchAngle)),i.isScrolling&&n.emit("touchMoveOpposite",a),void 0===i.startMoving&&(s.currentX!==s.startX||s.currentY!==s.startY)&&(i.startMoving=!0),i.isScrolling)return void(i.isTouched=!1);if(i.startMoving){n.allowClick=!1,!r.cssMode&&a.cancelable&&a.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&a.stopPropagation(),i.isMoved||(r.loop&&n.loopFix(),i.startTranslate=n.getTranslate(),n.setTransition(0),n.animating&&n.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,r.grabCursor&&(!0===n.allowSlideNext||!0===n.allowSlidePrev)&&n.setGrabCursor(!0),n.emit("sliderFirstMove",a)),n.emit("sliderMove",a),i.isMoved=!0;var f=n.isHorizontal()?h:d;s.diff=f,f*=r.touchRatio,o&&(f=-f),n.swipeDirection=f>0?"prev":"next",i.currentTranslate=f+i.startTranslate;var g=!0,m=r.resistanceRatio;if(r.touchReleaseOnEdges&&(m=0),f>0&&i.currentTranslate>n.minTranslate()?(g=!1,r.resistance&&(i.currentTranslate=n.minTranslate()-1+Math.pow(-n.minTranslate()+i.startTranslate+f,m))):f<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),!n.allowSlidePrev&&!n.allowSlideNext&&(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(f)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,s.startX=s.currentX,s.startY=s.currentY,i.currentTranslate=i.startTranslate,void(s.diff=n.isHorizontal()?s.currentX-s.startX:s.currentY-s.startY)}!r.followFinger||r.cssMode||((r.freeMode||r.watchSlidesProgress||r.watchSlidesVisibility)&&(n.updateActiveIndex(),n.updateSlidesClasses()),r.freeMode&&(0===i.velocities.length&&i.velocities.push({position:s[n.isHorizontal()?"startX":"startY"],time:i.touchStartTime}),i.velocities.push({position:s[n.isHorizontal()?"currentX":"currentY"],time:c2()})),n.updateProgress(i.currentTranslate),n.setTranslate(i.currentTranslate))}}}}}}function S2(t){var e=this,n=e.touchEventsData,i=e.params,r=e.touches,s=e.rtlTranslate,o=e.$wrapperEl,a=e.slidesGrid,l=e.snapGrid;if(e.enabled){var c=t;if(c.originalEvent&&(c=c.originalEvent),n.allowTouchCallbacks&&e.emit("touchEnd",c),n.allowTouchCallbacks=!1,!n.isTouched)return n.isMoved&&i.grabCursor&&e.setGrabCursor(!1),n.isMoved=!1,void(n.startMoving=!1);i.grabCursor&&n.isMoved&&n.isTouched&&(!0===e.allowSlideNext||!0===e.allowSlidePrev)&&e.setGrabCursor(!1);var u,h=c2(),d=h-n.touchStartTime;if(e.allowClick&&(e.updateClickedSlide(c),e.emit("tap click",c),d<300&&h-n.lastClickTime<300&&e.emit("doubleTap doubleClick",c)),n.lastClickTime=c2(),l2(function(){e.destroyed||(e.allowClick=!0)}),!n.isTouched||!n.isMoved||!e.swipeDirection||0===r.diff||n.currentTranslate===n.startTranslate)return n.isTouched=!1,n.isMoved=!1,void(n.startMoving=!1);if(n.isTouched=!1,n.isMoved=!1,n.startMoving=!1,u=i.followFinger?s?e.translate:-e.translate:-n.currentTranslate,!i.cssMode){if(i.freeMode){if(u<-e.minTranslate())return void e.slideTo(e.activeIndex);if(u>-e.maxTranslate())return void e.slideTo(e.slides.length1){var p=n.velocities.pop(),f=n.velocities.pop(),g=p.time-f.time;e.velocity=(p.position-f.position)/g,e.velocity/=2,Math.abs(e.velocity)150||c2()-p.time>300)&&(e.velocity=0)}else e.velocity=0;e.velocity*=i.freeModeMomentumVelocityRatio,n.velocities.length=0;var m=1e3*i.freeModeMomentumRatio,b=e.translate+e.velocity*m;s&&(b=-b);var y,v,_=!1,w=20*Math.abs(e.velocity)*i.freeModeMomentumBounceRatio;if(be.minTranslate())i.freeModeMomentumBounce?(b-e.minTranslate()>w&&(b=e.minTranslate()+w),y=e.minTranslate(),_=!0,n.allowMomentumBounce=!0):b=e.minTranslate(),i.loop&&i.centeredSlides&&(v=!0);else if(i.freeModeSticky){for(var x,S=0;S-b){x=S;break}b=-(b=Math.abs(l[x]-b)=i.longSwipesMs)&&(e.updateProgress(),e.updateActiveIndex(),e.updateSlidesClasses()))}for(var O=0,T=e.slidesSizesGrid[0],k=0;k=a[k]&&u=a[k]&&(O=k,T=a[a.length-1]-a[a.length-2])}var A=(u-a[O])/T,M=Oi.longSwipesMs){if(!i.longSwipes)return void e.slideTo(e.activeIndex);"next"===e.swipeDirection&&e.slideTo(A>=i.longSwipesRatio?O+M:O),"prev"===e.swipeDirection&&e.slideTo(A>1-i.longSwipesRatio?O+M:O)}else{if(!i.shortSwipes)return void e.slideTo(e.activeIndex);!e.navigation||c.target!==e.navigation.nextEl&&c.target!==e.navigation.prevEl?("next"===e.swipeDirection&&e.slideTo(O+M),"prev"===e.swipeDirection&&e.slideTo(O)):e.slideTo(c.target===e.navigation.nextEl?O+M:O)}}}}function C2(){var t=this,e=t.params,n=t.el;if(!n||0!==n.offsetWidth){e.breakpoints&&t.setBreakpoint();var i=t.allowSlideNext,r=t.allowSlidePrev,s=t.snapGrid;t.allowSlideNext=!0,t.allowSlidePrev=!0,t.updateSize(),t.updateSlides(),t.updateSlidesClasses(),t.slideTo(("auto"===e.slidesPerView||e.slidesPerView>1)&&t.isEnd&&!t.isBeginning&&!t.params.centeredSlides?t.slides.length-1:t.activeIndex,0,!1,!0),t.autoplay&&t.autoplay.running&&t.autoplay.paused&&t.autoplay.run(),t.allowSlidePrev=r,t.allowSlideNext=i,t.params.watchOverflow&&s!==t.snapGrid&&t.checkOverflow()}}function E2(t){var e=this;!e.enabled||e.allowClick||(e.params.preventClicks&&t.preventDefault(),e.params.preventClicksPropagation&&e.animating&&(t.stopPropagation(),t.stopImmediatePropagation()))}function O2(){var t=this,e=t.wrapperEl,n=t.rtlTranslate;if(t.enabled){t.previousTranslate=t.translate,t.translate=t.isHorizontal()?n?e.scrollWidth-e.offsetWidth-e.scrollLeft:-e.scrollLeft:-e.scrollTop,-0===t.translate&&(t.translate=0),t.updateActiveIndex(),t.updateSlidesClasses();var i=t.maxTranslate()-t.minTranslate();(0===i?0:(t.translate-t.minTranslate())/i)!==t.progress&&t.updateProgress(n?-t.translate:t.translate),t.emit("setTranslate",t.translate,!1)}}var T2=!1;function k2(){}var P2={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!1,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};function A2(t,e){for(var n=0;n=0&&e.eventsAnyListeners.splice(n,1),e},off:function(t,e){var n=this;return n.eventsListeners&&t.split(" ").forEach(function(t){void 0===e?n.eventsListeners[t]=[]:n.eventsListeners[t]&&n.eventsListeners[t].forEach(function(i,r){(i===e||i.__emitterProxy&&i.__emitterProxy===e)&&n.eventsListeners[t].splice(r,1)})}),n},emit:function(){var t=this;if(!t.eventsListeners)return t;for(var e,n,i,r=arguments.length,s=new Array(r),o=0;o=0&&(v=parseFloat(v.replace("%",""))/100*s),t.virtualSize=-v,u.css(o?{marginLeft:"",marginBottom:"",marginTop:""}:{marginRight:"",marginBottom:"",marginTop:""}),i.slidesPerColumn>1&&(S=Math.floor(h/i.slidesPerColumn)===h/t.params.slidesPerColumn?h:Math.ceil(h/i.slidesPerColumn)*i.slidesPerColumn,"auto"!==i.slidesPerView&&"row"===i.slidesPerColumnFill&&(S=Math.max(S,i.slidesPerView*i.slidesPerColumn)));for(var T,k=i.slidesPerColumn,P=S/k,A=Math.floor(h/i.slidesPerColumn),M=0;M1){var D=void 0,R=void 0,N=void 0;if("row"===i.slidesPerColumnFill&&i.slidesPerGroup>1){var L=Math.floor(M/(i.slidesPerGroup*i.slidesPerColumn)),j=M-i.slidesPerColumn*i.slidesPerGroup*L,F=0===L?i.slidesPerGroup:Math.min(Math.ceil((h-L*k*i.slidesPerGroup)/k),i.slidesPerGroup);N=Math.floor(j/F),I.css({"-webkit-box-ordinal-group":D=(R=j-N*F+L*i.slidesPerGroup)+N*S/k,"-moz-box-ordinal-group":D,"-ms-flex-order":D,"-webkit-order":D,order:D})}else"column"===i.slidesPerColumnFill?(N=M-(R=Math.floor(M/k))*k,(R>A||R===A&&N===k-1)&&(N+=1)>=k&&(N=0,R+=1)):R=M-(N=Math.floor(M/P))*P;I.css(e("margin-top"),0!==N?i.spaceBetween&&i.spaceBetween+"px":"")}if("none"!==I.css("display")){if("auto"===i.slidesPerView){var B=getComputedStyle(I[0]),V=I[0].style.transform,z=I[0].style.webkitTransform;if(V&&(I[0].style.transform="none"),z&&(I[0].style.webkitTransform="none"),i.roundLengths)T=t.isHorizontal()?I.outerWidth(!0):I.outerHeight(!0);else{var U=n(B,"width"),H=n(B,"padding-left"),$=n(B,"padding-right"),G=n(B,"margin-left"),W=n(B,"margin-right"),q=B.getPropertyValue("box-sizing");if(q&&"border-box"===q)T=U+G+W;else{var X=I[0];T=U+H+$+G+W+(X.offsetWidth-X.clientWidth)}}V&&(I[0].style.transform=V),z&&(I[0].style.webkitTransform=z),i.roundLengths&&(T=Math.floor(T))}else T=(s-(i.slidesPerView-1)*v)/i.slidesPerView,i.roundLengths&&(T=Math.floor(T)),u[M]&&(u[M].style[e("width")]=T+"px");u[M]&&(u[M].swiperSlideSize=T),f.push(T),i.centeredSlides?(_=_+T/2+w/2+v,0===w&&0!==M&&(_=_-s/2-v),0===M&&(_=_-s/2-v),Math.abs(_)<.001&&(_=0),i.roundLengths&&(_=Math.floor(_)),x%i.slidesPerGroup==0&&d.push(_),p.push(_)):(i.roundLengths&&(_=Math.floor(_)),(x-Math.min(t.params.slidesPerGroupSkip,x))%t.params.slidesPerGroup==0&&d.push(_),p.push(_),_=_+T+v),t.virtualSize+=T+v,w=T,x+=1}}if(t.virtualSize=Math.max(t.virtualSize,s)+m,o&&a&&("slide"===i.effect||"coverflow"===i.effect)&&r.css({width:t.virtualSize+i.spaceBetween+"px"}),i.setWrapperSize&&r.css(((E={})[e("width")]=t.virtualSize+i.spaceBetween+"px",E)),i.slidesPerColumn>1&&(t.virtualSize=(T+i.spaceBetween)*S,t.virtualSize=Math.ceil(t.virtualSize/i.slidesPerColumn)-i.spaceBetween,r.css(((O={})[e("width")]=t.virtualSize+i.spaceBetween+"px",O)),i.centeredSlides)){C=[];for(var Y=0;Y1&&d.push(t.virtualSize-s)}if(0===d.length&&(d=[0]),0!==i.spaceBetween){var J,tt=t.isHorizontal()&&o?"marginLeft":e("marginRight");u.filter(function(t,e){return!i.cssMode||e!==u.length-1}).css(((J={})[tt]=v+"px",J))}if(i.centeredSlides&&i.centeredSlidesBounds){var et=0;f.forEach(function(t){et+=t+(i.spaceBetween?i.spaceBetween:0)});var nt=(et-=i.spaceBetween)-s;d=d.map(function(t){return t<0?-g:t>nt?nt+m:t})}if(i.centerInsufficientSlides){var it=0;if(f.forEach(function(t){it+=t+(i.spaceBetween?i.spaceBetween:0)}),(it-=i.spaceBetween)1)if(n.params.centeredSlides)n.visibleSlides.each(function(t){i.push(t)});else for(e=0;en.slides.length&&!r)break;i.push(o(a))}else i.push(o(n.activeIndex));for(e=0;es?l:s}s&&n.$wrapperEl.css("height",s+"px")},updateSlidesOffset:function(){for(var t=this.slides,e=0;e=0&&c1&&u<=e.size||c<=0&&u>=e.size)&&(e.visibleSlides.push(a),e.visibleSlidesIndexes.push(o),i.eq(o).addClass(n.slideVisibleClass))}a.progress=r?-l:l}e.visibleSlides=a2(e.visibleSlides)}},updateProgress:function(t){var e=this;void 0===t&&(t=e&&e.translate&&e.translate*(e.rtlTranslate?-1:1)||0);var n=e.params,i=e.maxTranslate()-e.minTranslate(),r=e.progress,s=e.isBeginning,o=e.isEnd,a=s,l=o;0===i?(r=0,s=!0,o=!0):(s=(r=(t-e.minTranslate())/i)<=0,o=r>=1),d2(e,{progress:r,isBeginning:s,isEnd:o}),(n.watchSlidesProgress||n.watchSlidesVisibility||n.centeredSlides&&n.autoHeight)&&e.updateSlidesProgress(t),s&&!a&&e.emit("reachBeginning toEdge"),o&&!l&&e.emit("reachEnd toEdge"),(a&&!s||l&&!o)&&e.emit("fromEdge"),e.emit("progress",r)},updateSlidesClasses:function(){var t,e=this,n=e.slides,i=e.params,r=e.$wrapperEl,s=e.activeIndex,o=e.realIndex,a=e.virtual&&i.virtual.enabled;n.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(t=a?e.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+s+'"]'):n.eq(s)).addClass(i.slideActiveClass),i.loop&&(t.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+o+'"]').addClass(i.slideDuplicateActiveClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+o+'"]').addClass(i.slideDuplicateActiveClass));var l=t.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===l.length&&(l=n.eq(0)).addClass(i.slideNextClass);var c=t.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===c.length&&(c=n.eq(-1)).addClass(i.slidePrevClass),i.loop&&(l.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),c.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass)),e.emitSlidesClasses()},updateActiveIndex:function(t){var e,n=this,i=n.rtlTranslate?n.translate:-n.translate,r=n.slidesGrid,s=n.snapGrid,o=n.params,a=n.activeIndex,l=n.realIndex,c=n.snapIndex,u=t;if(void 0===u){for(var h=0;h=r[h]&&i=r[h]&&i=r[h]&&(u=h);o.normalizeSlideIndex&&(u<0||void 0===u)&&(u=0)}if(s.indexOf(i)>=0)e=s.indexOf(i);else{var d=Math.min(o.slidesPerGroupSkip,u);e=d+Math.floor((u-d)/o.slidesPerGroup)}if(e>=s.length&&(e=s.length-1),u!==a){var p=parseInt(n.slides.eq(u).attr("data-swiper-slide-index")||u,10);d2(n,{snapIndex:e,realIndex:p,previousIndex:a,activeIndex:u}),n.emit("activeIndexChange"),n.emit("snapIndexChange"),l!==p&&n.emit("realIndexChange"),(n.initialized||n.params.runCallbacksOnInit)&&n.emit("slideChange")}else e!==c&&(n.snapIndex=e,n.emit("snapIndexChange"))},updateClickedSlide:function(t){var e,n=this,i=n.params,r=a2(t.target).closest("."+i.slideClass)[0],s=!1;if(r)for(var o=0;o6&&(i=i.split(", ").map(function(t){return t.replace(",",".")}).join(", ")),r=new s.WebKitCSSMatrix("none"===i?"":i)):n=(r=o.MozTransform||o.OTransform||o.MsTransform||o.msTransform||o.transform||o.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===e&&(i=s.WebKitCSSMatrix?r.m41:16===n.length?parseFloat(n[12]):parseFloat(n[4])),"y"===e&&(i=s.WebKitCSSMatrix?r.m42:16===n.length?parseFloat(n[13]):parseFloat(n[5])),i||0}(e.$wrapperEl[0],t);return i&&(s=-s),s||0},setTranslate:function(t,e){var n=this,i=n.rtlTranslate,r=n.params,s=n.$wrapperEl,o=n.wrapperEl,a=n.progress,l=0,c=0;n.isHorizontal()?l=i?-t:t:c=t,r.roundLengths&&(l=Math.floor(l),c=Math.floor(c)),r.cssMode?o[n.isHorizontal()?"scrollLeft":"scrollTop"]=n.isHorizontal()?-l:-c:r.virtualTranslate||s.transform("translate3d("+l+"px, "+c+"px, 0px)"),n.previousTranslate=n.translate,n.translate=n.isHorizontal()?l:c;var u=n.maxTranslate()-n.minTranslate();(0===u?0:(t-n.minTranslate())/u)!==a&&n.updateProgress(t),n.emit("setTranslate",n.translate,e)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(t,e,n,i,r){void 0===t&&(t=0),void 0===e&&(e=this.params.speed),void 0===n&&(n=!0),void 0===i&&(i=!0);var s=this,o=s.params,a=s.wrapperEl;if(s.animating&&o.preventInteractionOnTransition)return!1;var l,c=s.minTranslate(),u=s.maxTranslate();if(s.updateProgress(l=i&&t>c?c:i&&ts?"next":ir?"next":i=c.length&&(m=c.length-1),(d||l.initialSlide||0)===(h||0)&&n&&o.emit("beforeSlideChangeStart");var b,y=-c[m];if(o.updateProgress(y),l.normalizeSlideIndex)for(var v=0;v=w&&_=w&&_=w&&(a=v)}if(o.initialized&&a!==d&&(!o.allowSlideNext&&yo.translate&&y>o.maxTranslate()&&(d||0)!==a))return!1;if(b=a>d?"next":a=t&&(d=t)}),void 0!==d&&(c=o.indexOf(d))<0&&(c=i.activeIndex-1),i.slideTo(c,t,e,n)},slideReset:function(t,e,n){return void 0===t&&(t=this.params.speed),void 0===e&&(e=!0),this.slideTo(this.activeIndex,t,e,n)},slideToClosest:function(t,e,n,i){void 0===t&&(t=this.params.speed),void 0===e&&(e=!0),void 0===i&&(i=.5);var r=this,s=r.activeIndex,o=Math.min(r.params.slidesPerGroupSkip,s),a=o+Math.floor((s-o)/r.params.slidesPerGroup),l=r.rtlTranslate?r.translate:-r.translate;if(l>=r.snapGrid[a]){var c=r.snapGrid[a];l-c>(r.snapGrid[a+1]-c)*i&&(s+=r.params.slidesPerGroup)}else{var u=r.snapGrid[a-1];l-u<=(r.snapGrid[a]-u)*i&&(s-=r.params.slidesPerGroup)}return s=Math.max(s,0),s=Math.min(s,r.slidesGrid.length-1),r.slideTo(s,t,e,n)},slideToClickedSlide:function(){var t,e=this,n=e.params,i=e.$wrapperEl,r="auto"===n.slidesPerView?e.slidesPerViewDynamic():n.slidesPerView,s=e.clickedIndex;if(n.loop){if(e.animating)return;t=parseInt(a2(e.clickedSlide).attr("data-swiper-slide-index"),10),n.centeredSlides?se.slides.length-e.loopedSlides+r/2?(e.loopFix(),s=i.children("."+n.slideClass+'[data-swiper-slide-index="'+t+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),l2(function(){e.slideTo(s)})):e.slideTo(s):s>e.slides.length-r?(e.loopFix(),s=i.children("."+n.slideClass+'[data-swiper-slide-index="'+t+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),l2(function(){e.slideTo(s)})):e.slideTo(s)}else e.slideTo(s)}},loop:{loopCreate:function(){var t=this,e=H1(),n=t.params,i=t.$wrapperEl;i.children("."+n.slideClass+"."+n.slideDuplicateClass).remove();var r=i.children("."+n.slideClass);if(n.loopFillGroupWithBlank){var s=n.slidesPerGroup-r.length%n.slidesPerGroup;if(s!==n.slidesPerGroup){for(var o=0;or.length&&(t.loopedSlides=r.length);var l=[],c=[];r.each(function(e,n){var i=a2(e);n=r.length-t.loopedSlides&&l.push(e),i.attr("data-swiper-slide-index",n)});for(var u=0;u=0;h-=1)i.prepend(a2(l[h].cloneNode(!0)).addClass(n.slideDuplicateClass))},loopFix:function(){var t=this;t.emit("beforeLoopFix");var e,n=t.activeIndex,i=t.slides,r=t.loopedSlides,s=t.allowSlidePrev,o=t.allowSlideNext,a=t.snapGrid,l=t.rtlTranslate;t.allowSlidePrev=!0,t.allowSlideNext=!0;var c=-a[n]-t.getTranslate();n=i.length-r&&(e=-i.length+n+r,t.slideTo(e+=r,0,!1,!0)&&0!==c&&t.setTranslate((l?-t.translate:t.translate)-c)),t.allowSlidePrev=s,t.allowSlideNext=o,t.emit("loopFix")},loopDestroy:function(){var t=this,e=t.params,n=t.slides;t.$wrapperEl.children("."+e.slideClass+"."+e.slideDuplicateClass+",."+e.slideClass+"."+e.slideBlankClass).remove(),n.removeAttr("data-swiper-slide-index")}},grabCursor:{setGrabCursor:function(t){var e=this;if(!(e.support.touch||!e.params.simulateTouch||e.params.watchOverflow&&e.isLocked||e.params.cssMode)){var n=e.el;n.style.cursor="move",n.style.cursor=t?"-webkit-grabbing":"-webkit-grab",n.style.cursor=t?"-moz-grabbin":"-moz-grab",n.style.cursor=t?"grabbing":"grab"}},unsetGrabCursor:function(){var t=this;t.support.touch||t.params.watchOverflow&&t.isLocked||t.params.cssMode||(t.el.style.cursor="")}},manipulation:{appendSlide:function(t){var e=this,n=e.$wrapperEl,i=e.params;if(i.loop&&e.loopDestroy(),"object"==typeof t&&"length"in t)for(var r=0;r=o)n.appendSlide(e);else{for(var a=s>t?s+1:s,l=[],c=o-1;c>=t;c-=1){var u=n.slides.eq(c);u.remove(),l.unshift(u)}if("object"==typeof e&&"length"in e){for(var h=0;ht?s+e.length:s}else i.append(e);for(var d=0;d1,d=u.slidesPerColumn>1,p=s.enabled;h&&!d?(o.removeClass(s.containerModifierClass+"multirow "+s.containerModifierClass+"multirow-column"),t.emitContainerClasses()):!h&&d&&(o.addClass(s.containerModifierClass+"multirow"),(u.slidesPerColumnFill&&"column"===u.slidesPerColumnFill||!u.slidesPerColumnFill&&"column"===s.slidesPerColumnFill)&&o.addClass(s.containerModifierClass+"multirow-column"),t.emitContainerClasses());var f=u.direction&&u.direction!==s.direction,g=s.loop&&(u.slidesPerView!==s.slidesPerView||f);f&&n&&t.changeDirection(),d2(t.params,u);var m=t.params.enabled;d2(t,{allowTouchMove:t.params.allowTouchMove,allowSlideNext:t.params.allowSlideNext,allowSlidePrev:t.params.allowSlidePrev}),p&&!m?t.disable():!p&&m&&t.enable(),t.currentBreakpoint=l,t.emit("_beforeBreakpoint",u),g&&n&&(t.loopDestroy(),t.loopCreate(),t.updateSlides(),t.slideTo(e-r+t.loopedSlides,0,!1)),t.emit("breakpoint",u)}}},getBreakpoint:function(t,e,n){if(void 0===e&&(e="window"),t&&("container"!==e||n)){var i=!1,r=G1(),s="window"===e?r.innerHeight:n.clientHeight,o=Object.keys(t).map(function(t){if("string"==typeof t&&0===t.indexOf("@")){var e=parseFloat(t.substr(1));return{value:s*e,point:t}}return{value:t,point:t}});o.sort(function(t,e){return parseInt(t.value,10)-parseInt(e.value,10)});for(var a=0;a0&&e.slidesOffsetBefore+e.spaceBetween*(t.slides.length-1)+t.slides[0].offsetWidth*t.slides.length;t.isLocked=e.slidesOffsetBefore&&e.slidesOffsetAfter&&i?i<=t.size:1===t.snapGrid.length,t.allowSlideNext=!t.isLocked,t.allowSlidePrev=!t.isLocked,n!==t.isLocked&&t.emit(t.isLocked?"lock":"unlock"),n&&n!==t.isLocked&&(t.isEnd=!1,t.navigation&&t.navigation.update())}},classes:{addClasses:function(){var t=this,e=t.classNames,n=t.params,i=t.$el,r=t.device,s=t.support,o=function(t,e){var n=[];return t.forEach(function(t){"object"==typeof t?Object.keys(t).forEach(function(i){t[i]&&n.push(e+i)}):"string"==typeof t&&n.push(e+t)}),n}(["initialized",n.direction,{"pointer-events":s.pointerEvents&&!s.touch},{"free-mode":n.freeMode},{autoheight:n.autoHeight},{rtl:t.rtl},{multirow:n.slidesPerColumn>1},{"multirow-column":n.slidesPerColumn>1&&"column"===n.slidesPerColumnFill},{android:r.android},{ios:r.ios},{"css-mode":n.cssMode}],n.containerModifierClass);e.push.apply(e,o),i.addClass([].concat(e).join(" ")),t.emitContainerClasses()},removeClasses:function(){var t=this;t.$el.removeClass(t.classNames.join(" ")),t.emitContainerClasses()}},images:{loadImage:function(t,e,n,i,r,s){var o,a=G1();function l(){s&&s()}a2(t).parent("picture")[0]||t.complete&&r||!e?l():((o=new a.Image).onload=l,o.onerror=l,i&&(o.sizes=i),n&&(o.srcset=n),e&&(o.src=e))},preloadImages:function(){var t=this;function e(){null==t||!t||t.destroyed||(void 0!==t.imagesLoaded&&(t.imagesLoaded+=1),t.imagesLoaded===t.imagesToLoad.length&&(t.params.updateOnImagesReady&&t.update(),t.emit("imagesReady")))}t.imagesToLoad=t.$el.find("img");for(var n=0;n1){var o=[];return a2(n.el).each(function(e){var i=d2({},n,{el:e});o.push(new t(i))}),o}var a=this;a.__swiper__=!0,a.support=f2(),a.device=g2({userAgent:n.userAgent}),a.browser=m2(),a.eventsListeners={},a.eventsAnyListeners=[],void 0===a.modules&&(a.modules={}),Object.keys(a.modules).forEach(function(t){var e=a.modules[t];if(e.params){var i=Object.keys(e.params)[0],r=e.params[i];if("object"!=typeof r||null===r||(["navigation","pagination","scrollbar"].indexOf(i)>=0&&!0===n[i]&&(n[i]={auto:!0}),!(i in n)||!("enabled"in r)))return;!0===n[i]&&(n[i]={enabled:!0}),"object"==typeof n[i]&&!("enabled"in n[i])&&(n[i].enabled=!0),n[i]||(n[i]={enabled:!1})}});var l,c,u=d2({},P2);return a.useParams(u),a.params=d2({},u,I2,n),a.originalParams=d2({},a.params),a.passedParams=d2({},n),a.params&&a.params.on&&Object.keys(a.params.on).forEach(function(t){a.on(t,a.params.on[t])}),a.params&&a.params.onAny&&a.onAny(a.params.onAny),a.$=a2,d2(a,{enabled:a.params.enabled,el:e,classNames:[],slides:a2(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===a.params.direction},isVertical:function(){return"vertical"===a.params.direction},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:a.params.allowSlideNext,allowSlidePrev:a.params.allowSlidePrev,touchEvents:(l=["touchstart","touchmove","touchend","touchcancel"],c=["mousedown","mousemove","mouseup"],a.support.pointerEvents&&(c=["pointerdown","pointermove","pointerup"]),a.touchEventsTouch={start:l[0],move:l[1],end:l[2],cancel:l[3]},a.touchEventsDesktop={start:c[0],move:c[1],end:c[2]},a.support.touch||!a.params.simulateTouch?a.touchEventsTouch:a.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:a.params.focusableElements,lastClickTime:c2(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:a.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),a.useModules(),a.emit("_swiper"),a.params.init&&a.init(),a}var e=t.prototype;return e.enable=function(){var t=this;t.enabled||(t.enabled=!0,t.params.grabCursor&&t.setGrabCursor(),t.emit("enable"))},e.disable=function(){var t=this;!t.enabled||(t.enabled=!1,t.params.grabCursor&&t.unsetGrabCursor(),t.emit("disable"))},e.setProgress=function(t,e){var n=this;t=Math.min(Math.max(t,0),1);var i=n.minTranslate(),r=n.maxTranslate();n.translateTo((r-i)*t+i,void 0===e?0:e),n.updateActiveIndex(),n.updateSlidesClasses()},e.emitContainerClasses=function(){var t=this;if(t.params._emitClasses&&t.el){var e=t.el.className.split(" ").filter(function(e){return 0===e.indexOf("swiper-container")||0===e.indexOf(t.params.containerModifierClass)});t.emit("_containerClasses",e.join(" "))}},e.getSlideClasses=function(t){var e=this;return t.className.split(" ").filter(function(t){return 0===t.indexOf("swiper-slide")||0===t.indexOf(e.params.slideClass)}).join(" ")},e.emitSlidesClasses=function(){var t=this;if(t.params._emitClasses&&t.el){var e=[];t.slides.each(function(n){var i=t.getSlideClasses(n);e.push({slideEl:n,classNames:i}),t.emit("_slideClass",n,i)}),t.emit("_slideClasses",e)}},e.slidesPerViewDynamic=function(){var t=this,e=t.slides,n=t.slidesGrid,i=t.size,r=t.activeIndex,s=1;if(t.params.centeredSlides){for(var o,a=e[r].swiperSlideSize,l=r+1;li&&(o=!0));for(var c=r-1;c>=0;c-=1)e[c]&&!o&&(s+=1,(a+=e[c].swiperSlideSize)>i&&(o=!0))}else for(var u=r+1;u1)&&t.isEnd&&!t.params.centeredSlides?t.slides.length-1:t.activeIndex,0,!1,!0)||i(),n.watchOverflow&&e!==t.snapGrid&&t.checkOverflow(),t.emit("update")}function i(){var e=Math.min(Math.max(t.rtlTranslate?-1*t.translate:t.translate,t.maxTranslate()),t.minTranslate());t.setTranslate(e),t.updateActiveIndex(),t.updateSlidesClasses()}},e.changeDirection=function(t,e){void 0===e&&(e=!0);var n=this,i=n.params.direction;return t||(t="horizontal"===i?"vertical":"horizontal"),t===i||"horizontal"!==t&&"vertical"!==t||(n.$el.removeClass(""+n.params.containerModifierClass+i).addClass(""+n.params.containerModifierClass+t),n.emitContainerClasses(),n.params.direction=t,n.slides.each(function(e){"vertical"===t?e.style.width="":e.style.height=""}),n.emit("changeDirection"),e&&n.update()),n},e.mount=function(t){var e=this;if(e.mounted)return!0;var n=a2(t||e.params.el);if(!(t=n[0]))return!1;t.swiper=e;var i=function(){return"."+(e.params.wrapperClass||"").trim().split(" ").join(".")},r=function(){if(t&&t.shadowRoot&&t.shadowRoot.querySelector){var e=a2(t.shadowRoot.querySelector(i()));return e.children=function(t){return n.children(t)},e}return n.children(i())}();if(0===r.length&&e.params.createElements){var s=H1().createElement("div");r=a2(s),s.className=e.params.wrapperClass,n.append(s),n.children("."+e.params.slideClass).each(function(t){r.append(t)})}return d2(e,{$el:n,el:t,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===t.dir.toLowerCase()||"rtl"===n.css("direction"),rtlTranslate:"horizontal"===e.params.direction&&("rtl"===t.dir.toLowerCase()||"rtl"===n.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0},e.init=function(t){var e=this;return e.initialized||!1===e.mount(t)||(e.emit("beforeInit"),e.params.breakpoints&&e.setBreakpoint(),e.addClasses(),e.params.loop&&e.loopCreate(),e.updateSize(),e.updateSlides(),e.params.watchOverflow&&e.checkOverflow(),e.params.grabCursor&&e.enabled&&e.setGrabCursor(),e.params.preloadImages&&e.preloadImages(),e.slideTo(e.params.loop?e.params.initialSlide+e.loopedSlides:e.params.initialSlide,0,e.params.runCallbacksOnInit,!1,!0),e.attachEvents(),e.initialized=!0,e.emit("init"),e.emit("afterInit")),e},e.destroy=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!0);var n=this,i=n.params,r=n.$el,s=n.$wrapperEl,o=n.slides;return void 0===n.params||n.destroyed||(n.emit("beforeDestroy"),n.initialized=!1,n.detachEvents(),i.loop&&n.loopDestroy(),e&&(n.removeClasses(),r.removeAttr("style"),s.removeAttr("style"),o&&o.length&&o.removeClass([i.slideVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),n.emit("destroy"),Object.keys(n.eventsListeners).forEach(function(t){n.off(t)}),!1!==t&&(n.$el[0].swiper=null,function(e){var n=e;Object.keys(n).forEach(function(e){try{n[e]=null}catch(t){}try{delete n[e]}catch(t){}})}(n)),n.destroyed=!0),null},t.extendDefaults=function(t){d2(I2,t)},t.installModule=function(e){t.prototype.modules||(t.prototype.modules={});var n=e.name||Object.keys(t.prototype.modules).length+"_"+c2();t.prototype.modules[n]=e},t.use=function(e){return Array.isArray(e)?(e.forEach(function(e){return t.installModule(e)}),t):(t.installModule(e),t)},function(t,e,n){n&&A2(t,n)}(t,0,[{key:"extendedDefaults",get:function(){return I2}},{key:"defaults",get:function(){return P2}}]),t}();Object.keys(M2).forEach(function(t){Object.keys(M2[t]).forEach(function(e){D2.prototype[e]=M2[t][e]})}),D2.use([b2,_2]);var R2=D2;const N2=["prevElRef"],L2=["nextElRef"],j2=["scrollbarElRef"],F2=["paginationElRef"];function B2(t,e){1&t&&(aa(0),oa(1,"div",6,7),oa(3,"div",8,9),la())}function V2(t,e){1&t&&oa(0,"div",10,11)}function z2(t,e){1&t&&oa(0,"div",12,13)}function U2(t,e){}function H2(t,e){1&t&&Jo(0,U2,0,0,"ng-template")}function $2(t,e){}function G2(t,e){1&t&&Jo(0,$2,0,0,"ng-template")}function W2(t,e){}function q2(t,e){1&t&&Jo(0,W2,0,0,"ng-template")}function X2(t,e){}const Y2=function(t){return{$implicit:t}};function K2(t,e){if(1&t&&(ra(0,"div",3),Jo(1,X2,0,0,"ng-template",18),sa()),2&t){const t=va().$implicit;na("ngClass",va(2).zoomContainerClass),ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Pc(3,Y2,t.slideData))}}function Q2(t,e){}function Z2(t,e){if(1&t&&(aa(0),Jo(1,Q2,0,0,"ng-template",18),la()),2&t){const t=va().$implicit;ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Pc(2,Y2,t.slideData))}}function J2(t,e){if(1&t&&(ra(0,"div",15),Jo(1,K2,2,5,"div",16),Jo(2,Z2,2,4,"ng-container",17),sa()),2&t){const t=e.$implicit,n=va().key,i=va();Fa(i.style),na("ngClass",(t.class?t.class+" ":"")+i.slideClass+(""!==n?" "+i.slideDuplicateClass:""))("ngSwitch",t.zoom),Ko("data-swiper-slide-index",t.virtualIndex?t.virtualIndex:t.slideIndex),ws(1),na("ngSwitchCase",!0)}}function t3(t,e){1&t&&(Jo(0,J2,3,6,"div",14),Dc(1,"async")),2&t&&na("ngForOf",Rc(1,1,e.loopSlides))}const e3=[[["","slot","container-start"]],[["","slot","wrapper-start"]],[["","slot","wrapper-end"]],[["","slot","container-end"]]],n3=function(t){return{loopSlides:t,key:"prepend"}},i3=function(t){return{loopSlides:t,key:""}},r3=function(t){return{loopSlides:t,key:"append"}},s3=["[slot=container-start]","[slot=wrapper-start]","[slot=wrapper-end]","[slot=container-end]"];function o3(t){return"object"==typeof t&&null!==t&&t.constructor&&"Object"===Object.prototype.toString.call(t).slice(8,-1)}function a3(t,e,n){return!0===c3(t)&&e&&!e.el||!("boolean"!=typeof e&&e.el!==(null==n?void 0:n.nativeElement)&&("string"==typeof e.el||"object"==typeof e.el))}function l3(t,e){const n=["__proto__","constructor","prototype"];Object.keys(e).filter(t=>n.indexOf(t)<0).forEach(n=>{void 0!==t[n]?t[n]&&!e[n]||(o3(e[n])&&o3(t[n])&&Object.keys(e[n]).length>0?e[n].__swiper__?t[n]=e[n]:l3(t[n],e[n]):t[n]=e[n]):t[n]=e[n]})}function c3(t){return null!=t&&"false"!=`${t}`}const u3=["pagination","navigation","scrollbar","virtual"];function h3(t,e={}){return o3(t)?t:!0===c3(t)&&e}const d3=["init","_direction","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_freeModeMomentum","_freeModeMomentumRatio","_freeModeMomentumBounce","_freeModeMomentumBounceRatio","_freeModeMomentumVelocityRatio","_freeModeSticky","_freeModeMinimumVelocity","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","_spaceBetween","_slidesPerView","_slidesPerColumn","_slidesPerColumnFill","_slidesPerGroup","_slidesPerGroupSkip","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_watchSlidesVisibility","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_preloadImages","updateOnImagesReady","_loop","_loopAdditionalSlides","_loopedSlides","_loopFillGroupWithBlank","loopPreventsSlide","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","hashNavigation","history","keyboard","lazy","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom"].map(t=>t.replace(/_/,""));function p3(t={}){const e={on:{}},n={};l3(e,R2.defaults),l3(e,R2.extendedDefaults),e._emitClasses=!0;const i={};return Object.keys(t).forEach(r=>{const s=r.replace(/^_/,"");void 0!==t[s]&&(d3.indexOf(s)>=0?o3(t[s])?(e[s]={},n[s]={},l3(e[s],t[s]),l3(n[s],t[s])):(e[s]=t[s],n[s]=t[s]):i[s]=t[s])}),{params:e,passedParams:n,rest:i}}let f3=(()=>{class t{constructor(t){this.template=t,this.class="",this.slideData={isActive:!1,isPrev:!1,isNext:!1,isVisible:!1,isDuplicate:!1}}set zoom(t){this._zoom=c3(t)}get zoom(){return this._zoom}get classNames(){return this._classNames}set classNames(t){this._classNames!==t&&(this._classNames=t,this.slideData={isActive:this._hasClass(["swiper-slide-active","swiper-slide-duplicate-active"]),isVisible:this._hasClass(["swiper-slide-visible"]),isDuplicate:this._hasClass(["swiper-slide-duplicate"]),isPrev:this._hasClass(["swiper-slide-prev","swiper-slide-duplicate-prev"]),isNext:this._hasClass(["swiper-slide-next","swiper-slide-duplicate-next"])})}_hasClass(t){return t.some(t=>this._classNames.indexOf(t)>=0)}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["ng-template","swiperSlide",""]],inputs:{class:"class",zoom:"zoom",virtualIndex:"virtualIndex"}}),t})(),g3=(()=>{class t{constructor(t,e,n,i){this._ngZone=t,this.elementRef=e,this._changeDetectorRef=n,this._platformId=i,this.slideClass="swiper-slide",this.wrapperClass="swiper-wrapper",this.showNavigation=!0,this.showPagination=!0,this.showScrollbar=!0,this.s__beforeBreakpoint=new Bc,this.s__containerClasses=new Bc,this.s__slideClass=new Bc,this.s__swiper=new Bc,this.s_activeIndexChange=new Bc,this.s_afterInit=new Bc,this.s_autoplay=new Bc,this.s_autoplayStart=new Bc,this.s_autoplayStop=new Bc,this.s_beforeDestroy=new Bc,this.s_beforeInit=new Bc,this.s_beforeLoopFix=new Bc,this.s_beforeResize=new Bc,this.s_beforeSlideChangeStart=new Bc,this.s_beforeTransitionStart=new Bc,this.s_breakpoint=new Bc,this.s_changeDirection=new Bc,this.s_click=new Bc,this.s_doubleTap=new Bc,this.s_doubleClick=new Bc,this.s_destroy=new Bc,this.s_fromEdge=new Bc,this.s_hashChange=new Bc,this.s_hashSet=new Bc,this.s_imagesReady=new Bc,this.s_init=new Bc,this.s_keyPress=new Bc,this.s_lazyImageLoad=new Bc,this.s_lazyImageReady=new Bc,this.s_loopFix=new Bc,this.s_momentumBounce=new Bc,this.s_navigationHide=new Bc,this.s_navigationShow=new Bc,this.s_observerUpdate=new Bc,this.s_orientationchange=new Bc,this.s_paginationHide=new Bc,this.s_paginationRender=new Bc,this.s_paginationShow=new Bc,this.s_paginationUpdate=new Bc,this.s_progress=new Bc,this.s_reachBeginning=new Bc,this.s_reachEnd=new Bc,this.s_realIndexChange=new Bc,this.s_resize=new Bc,this.s_scroll=new Bc,this.s_scrollbarDragEnd=new Bc,this.s_scrollbarDragMove=new Bc,this.s_scrollbarDragStart=new Bc,this.s_setTransition=new Bc,this.s_setTranslate=new Bc,this.s_slideChange=new Bc,this.s_slideChangeTransitionEnd=new Bc,this.s_slideChangeTransitionStart=new Bc,this.s_slideNextTransitionEnd=new Bc,this.s_slideNextTransitionStart=new Bc,this.s_slidePrevTransitionEnd=new Bc,this.s_slidePrevTransitionStart=new Bc,this.s_slideResetTransitionStart=new Bc,this.s_slideResetTransitionEnd=new Bc,this.s_sliderMove=new Bc,this.s_sliderFirstMove=new Bc,this.s_slidesLengthChange=new Bc,this.s_slidesGridLengthChange=new Bc,this.s_snapGridLengthChange=new Bc,this.s_snapIndexChange=new Bc,this.s_tap=new Bc,this.s_toEdge=new Bc,this.s_touchEnd=new Bc,this.s_touchMove=new Bc,this.s_touchMoveOpposite=new Bc,this.s_touchStart=new Bc,this.s_transitionEnd=new Bc,this.s_transitionStart=new Bc,this.s_update=new Bc,this.s_zoomChange=new Bc,this.s_swiper=new Bc,this.indexChange=new Bc,this._activeSlides=new A,this.containerClasses="swiper-container",this.slidesChanges=t=>{this.slides=t.map((t,e)=>(t.slideIndex=e,t.classNames=this.slideClass,t)),this.loop&&!this.loopedSlides&&this.calcLoopedSlides(),this.virtual?this.swiperRef&&this.swiperRef.virtual&&this._ngZone.runOutsideAngular(()=>{this.swiperRef.virtual.slides=this.slides,this.swiperRef.virtual.update(!0)}):(this.prependSlides=Dd(this.slides.slice(this.slides.length-this.loopedSlides)),this.appendSlides=Dd(this.slides.slice(0,this.loopedSlides))),this._changeDetectorRef.detectChanges()},this.style=null,this.updateVirtualSlides=t=>{!this.swiperRef||this.currentVirtualData&&this.currentVirtualData.from===t.from&&this.currentVirtualData.to===t.to&&this.currentVirtualData.offset===t.offset||(this.style=this.swiperRef.isHorizontal()?{[this.swiperRef.rtlTranslate?"right":"left"]:`${t.offset}px`}:{top:`${t.offset}px`},this.currentVirtualData=t,this._activeSlides.next(t.slides),this._ngZone.run(()=>{this._changeDetectorRef.detectChanges()}),this._ngZone.runOutsideAngular(()=>{this.swiperRef.updateSlides(),this.swiperRef.updateProgress(),this.swiperRef.updateSlidesClasses(),this.swiperRef.lazy&&this.swiperRef.params.lazy.enabled&&this.swiperRef.lazy.load(),this.swiperRef.virtual.update(!0)}))}}set navigation(t){var e,n,i;const r="boolean"!=typeof this._navigation?null===(e=this._navigation)||void 0===e?void 0:e.nextEl:null,s="boolean"!=typeof this._navigation?null===(n=this._navigation)||void 0===n?void 0:n.prevEl:null;this._navigation=h3(t,{nextEl:r||null,prevEl:s||null}),this.showNavigation=!(!0!==c3(t)||this._navigation&&"boolean"!=typeof this._navigation&&this._navigation.prevEl!==(null===(i=this._prevElRef)||void 0===i?void 0:i.nativeElement)&&(null!==this._navigation.prevEl||null!==this._navigation.nextEl)&&("string"==typeof this._navigation.nextEl||"string"==typeof this._navigation.prevEl||"object"==typeof this._navigation.nextEl||"object"==typeof this._navigation.prevEl))}get navigation(){return this._navigation}set pagination(t){var e;const n="boolean"!=typeof this._pagination?null===(e=this._pagination)||void 0===e?void 0:e.el:null;this._pagination=h3(t,{el:n||null}),this.showPagination=a3(t,this._pagination,this._paginationElRef)}get pagination(){return this._pagination}set scrollbar(t){var e;const n="boolean"!=typeof this._scrollbar?null===(e=this._scrollbar)||void 0===e?void 0:e.el:null;this._scrollbar=h3(t,{el:n||null}),this.showScrollbar=a3(t,this._scrollbar,this._scrollbarElRef)}get scrollbar(){return this._scrollbar}set virtual(t){this._virtual=h3(t)}get virtual(){return this._virtual}set index(t){this.setIndex(t)}set config(t){this.updateSwiper(t);const{params:e}=p3(t);Object.assign(this,e)}set prevElRef(t){this._prevElRef=t,this._setElement(t,this.navigation,"navigation","prevEl")}set nextElRef(t){this._nextElRef=t,this._setElement(t,this.navigation,"navigation","nextEl")}set scrollbarElRef(t){this._scrollbarElRef=t,this._setElement(t,this.scrollbar,"scrollbar")}set paginationElRef(t){this._paginationElRef=t,this._setElement(t,this.pagination,"pagination")}get activeSlides(){return this.virtual?this._activeSlides:Dd(this.slides)}get zoomContainerClass(){return"boolean"!=typeof this.zoom?this.zoom.containerClass:"swiper-zoom-container"}_setElement(t,e,n,i="el"){if(!t||!e)return;if(e&&t.nativeElement){if(e[i]===t.nativeElement)return;e[i]=t.nativeElement}const r={};r[n]=!0,this.updateInitSwiper(r)}ngOnInit(){const{params:t}=p3(this);Object.assign(this,t)}ngAfterViewInit(){this.childrenSlidesInit(),this.initSwiper(),this._changeDetectorRef.detectChanges(),setTimeout(()=>{this.s_swiper.emit(this.swiperRef)})}childrenSlidesInit(){this.slidesChanges(this.slidesEl),this.slidesEl.changes.subscribe(this.slidesChanges)}get isSwiperActive(){return this.swiperRef&&!this.swiperRef.destroyed}initSwiper(){const{params:t}=p3(this);Object.assign(this,t),this._ngZone.runOutsideAngular(()=>{t.init=!1,t.virtual||(t.observer=!0),t.onAny=(t,...e)=>{const n=this[`s_${t}`];n&&n.emit(...e)},Object.assign(t.on,{_containerClasses(t,e){this.containerClasses=e},_slideClasses:(t,e)=>{e.forEach(({slideEl:t,classNames:e},n)=>{const i=parseInt(t.getAttribute("data-swiper-slide-index"))||n;if(this.virtual){const t=this.slides.find(t=>t.virtualIndex&&t.virtualIndex===i);if(t)return void(t.classNames=e)}this.slides[i]&&(this.slides[i].classNames=e)}),this._changeDetectorRef.detectChanges()}});const e=new R2(t);if(e.loopCreate=()=>{},e.loopDestroy=()=>{},t.loop&&(e.loopedSlides=this.loopedSlides),e.virtual&&e.params.virtual.enabled){e.virtual.slides=this.slides;const t={cache:!1,renderExternal:this.updateVirtualSlides,renderExternalUpdate:!1};l3(e.params.virtual,t),l3(e.originalParams.virtual,t)}Xh(this._platformId)&&(this.swiperRef=e.init(this.elementRef.nativeElement),this.swiperRef.virtual&&this.swiperRef.params.virtual.enabled&&this.swiperRef.virtual.update(!0),this._changeDetectorRef.detectChanges(),e.on("slideChange",()=>{this.indexChange.emit(this.swiperRef.realIndex)}))})}ngOnChanges(t){this.updateSwiper(t),this._changeDetectorRef.detectChanges()}updateInitSwiper(t){!t||!this.swiperRef||this.swiperRef.destroyed||this._ngZone.runOutsideAngular(()=>{const{pagination:e,navigation:n,scrollbar:i,thumbs:r}=this.swiperRef;t.pagination&&(this.pagination&&"boolean"!=typeof this.pagination&&this.pagination.el&&e&&!e.el?(this.updateParameter("pagination",this.pagination),e.init(),e.render(),e.update()):(e.destroy(),e.el=null)),t.scrollbar&&(this.scrollbar&&"boolean"!=typeof this.scrollbar&&this.scrollbar.el&&i&&!i.el?(this.updateParameter("scrollbar",this.scrollbar),i.init(),i.updateSize(),i.setTranslate()):(i.destroy(),i.el=null)),t.navigation&&(this.navigation&&"boolean"!=typeof this.navigation&&this.navigation.prevEl&&this.navigation.nextEl&&n&&!n.prevEl&&!n.nextEl?(this.updateParameter("navigation",this.navigation),n.init(),n.update()):n.prevEl&&n.nextEl&&(n.destroy(),n.nextEl=null,n.prevEl=null)),t.thumbs&&this.thumbs&&this.thumbs.swiper&&(this.updateParameter("thumbs",this.thumbs),r.init()&&r.update(!0)),t.controller&&this.controller&&this.controller.control&&(this.swiperRef.controller.control=this.controller.control),this.swiperRef.update()})}updateSwiper(t){this._ngZone.runOutsideAngular(()=>{var e,n;if(!t.config&&t&&this.swiperRef&&!this.swiperRef.destroyed){for(const i in t){if(u3.indexOf(i)>=0)continue;const r=null!==(n=null===(e=t[i])||void 0===e?void 0:e.currentValue)&&void 0!==n?n:t[i];this.updateParameter(i,r)}t.allowSlideNext&&(this.swiperRef.allowSlideNext=this.allowSlideNext),t.allowSlidePrev&&(this.swiperRef.allowSlidePrev=this.allowSlidePrev),t.direction&&this.swiperRef.changeDirection(this.direction,!1),t.breakpoints&&(this.loop&&!this.loopedSlides&&this.calcLoopedSlides(),this.swiperRef.currentBreakpoint=null,this.swiperRef.setBreakpoint()),(t.thumbs||t.controller)&&this.updateInitSwiper(t),this.swiperRef.update()}})}calcLoopedSlides(){if(!this.loop)return;let t=this.slidesPerView;if(this.breakpoints){const e=R2.prototype.getBreakpoint(this.breakpoints),n=e in this.breakpoints?this.breakpoints[e]:void 0;n&&n.slidesPerView&&(t=n.slidesPerView)}if("auto"===t)return this.loopedSlides=this.slides.length,this.slides.length;let e=this.loopedSlides||t;return e+=this.loopAdditionalSlides,e>this.slides.length&&(e=this.slides.length),this.loopedSlides=e,e}updateParameter(t,e){if(!this.swiperRef||this.swiperRef.destroyed)return;const n=t.replace(/^_/,""),i=o3(this.swiperRef.params[n]);if(Object.keys(this.swiperRef.modules).indexOf(n)>=0){const t=this.swiperRef.modules[n].params[n];i?l3(this.swiperRef.params[n],t):this.swiperRef.params[n]=t}i&&o3(e)?l3(this.swiperRef.params[n],e):this.swiperRef.params[n]=e}setIndex(t,e,n){this.isSwiperActive?t!==this.swiperRef.activeIndex&&this._ngZone.runOutsideAngular(()=>{this.loop?this.swiperRef.slideToLoop(t,e,!n):this.swiperRef.slideTo(t,e,!n)}):this.initialSlide=t}ngOnDestroy(){this._ngZone.runOutsideAngular(()=>{var t;null===(t=this.swiperRef)||void 0===t||t.destroy(!0,!1)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(Al),ea(nc),ea(hu))},t.\u0275cmp=Jt({type:t,selectors:[["swiper"],["","swiper",""]],contentQueries:function(t,e,n){if(1&t&&Jc(n,f3,4),2&t){let t;Qc(t=tu())&&(e.slidesEl=t)}},viewQuery:function(t,e){if(1&t&&(Zc(N2,5),Zc(L2,5),Zc(j2,5),Zc(F2,5)),2&t){let t;Qc(t=tu())&&(e.prevElRef=t.first),Qc(t=tu())&&(e.nextElRef=t.first),Qc(t=tu())&&(e.scrollbarElRef=t.first),Qc(t=tu())&&(e.paginationElRef=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.containerClasses)},inputs:{slideClass:"slideClass",wrapperClass:"wrapperClass",navigation:"navigation",pagination:"pagination",scrollbar:"scrollbar",virtual:"virtual",index:"index",config:"config",loopedSlides:"loopedSlides",initialSlide:"initialSlide",direction:"direction",touchEventsTarget:"touchEventsTarget",speed:"speed",cssMode:"cssMode",updateOnWindowResize:"updateOnWindowResize",resizeObserver:"resizeObserver",nested:"nested",focusableElements:"focusableElements",width:"width",height:"height",preventInteractionOnTransition:"preventInteractionOnTransition",userAgent:"userAgent",url:"url",edgeSwipeDetection:"edgeSwipeDetection",edgeSwipeThreshold:"edgeSwipeThreshold",freeMode:"freeMode",freeModeMomentum:"freeModeMomentum",freeModeMomentumRatio:"freeModeMomentumRatio",freeModeMomentumBounce:"freeModeMomentumBounce",freeModeMomentumBounceRatio:"freeModeMomentumBounceRatio",freeModeMomentumVelocityRatio:"freeModeMomentumVelocityRatio",freeModeSticky:"freeModeSticky",freeModeMinimumVelocity:"freeModeMinimumVelocity",autoHeight:"autoHeight",setWrapperSize:"setWrapperSize",virtualTranslate:"virtualTranslate",effect:"effect",breakpoints:"breakpoints",spaceBetween:"spaceBetween",slidesPerView:"slidesPerView",slidesPerColumn:"slidesPerColumn",slidesPerColumnFill:"slidesPerColumnFill",slidesPerGroup:"slidesPerGroup",slidesPerGroupSkip:"slidesPerGroupSkip",centeredSlides:"centeredSlides",centeredSlidesBounds:"centeredSlidesBounds",slidesOffsetBefore:"slidesOffsetBefore",slidesOffsetAfter:"slidesOffsetAfter",normalizeSlideIndex:"normalizeSlideIndex",centerInsufficientSlides:"centerInsufficientSlides",watchOverflow:"watchOverflow",roundLengths:"roundLengths",touchRatio:"touchRatio",touchAngle:"touchAngle",simulateTouch:"simulateTouch",shortSwipes:"shortSwipes",longSwipes:"longSwipes",longSwipesRatio:"longSwipesRatio",longSwipesMs:"longSwipesMs",followFinger:"followFinger",allowTouchMove:"allowTouchMove",threshold:"threshold",touchMoveStopPropagation:"touchMoveStopPropagation",touchStartPreventDefault:"touchStartPreventDefault",touchStartForcePreventDefault:"touchStartForcePreventDefault",touchReleaseOnEdges:"touchReleaseOnEdges",uniqueNavElements:"uniqueNavElements",resistance:"resistance",resistanceRatio:"resistanceRatio",watchSlidesProgress:"watchSlidesProgress",watchSlidesVisibility:"watchSlidesVisibility",grabCursor:"grabCursor",preventClicks:"preventClicks",preventClicksPropagation:"preventClicksPropagation",slideToClickedSlide:"slideToClickedSlide",preloadImages:"preloadImages",updateOnImagesReady:"updateOnImagesReady",loop:"loop",loopAdditionalSlides:"loopAdditionalSlides",loopFillGroupWithBlank:"loopFillGroupWithBlank",loopPreventsSlide:"loopPreventsSlide",allowSlidePrev:"allowSlidePrev",allowSlideNext:"allowSlideNext",swipeHandler:"swipeHandler",noSwiping:"noSwiping",noSwipingClass:"noSwipingClass",noSwipingSelector:"noSwipingSelector",passiveListeners:"passiveListeners",containerModifierClass:"containerModifierClass",slideBlankClass:"slideBlankClass",slideActiveClass:"slideActiveClass",slideDuplicateActiveClass:"slideDuplicateActiveClass",slideVisibleClass:"slideVisibleClass",slideDuplicateClass:"slideDuplicateClass",slideNextClass:"slideNextClass",slideDuplicateNextClass:"slideDuplicateNextClass",slidePrevClass:"slidePrevClass",slideDuplicatePrevClass:"slideDuplicatePrevClass",runCallbacksOnInit:"runCallbacksOnInit",observeParents:"observeParents",observeSlideChildren:"observeSlideChildren",a11y:"a11y",autoplay:"autoplay",controller:"controller",coverflowEffect:"coverflowEffect",cubeEffect:"cubeEffect",fadeEffect:"fadeEffect",flipEffect:"flipEffect",hashNavigation:"hashNavigation",history:"history",keyboard:"keyboard",lazy:"lazy",mousewheel:"mousewheel",parallax:"parallax",thumbs:"thumbs",zoom:"zoom",class:"class",id:"id"},outputs:{s__beforeBreakpoint:"_beforeBreakpoint",s__containerClasses:"_containerClasses",s__slideClass:"_slideClass",s__swiper:"_swiper",s_activeIndexChange:"activeIndexChange",s_afterInit:"afterInit",s_autoplay:"autoplay",s_autoplayStart:"autoplayStart",s_autoplayStop:"autoplayStop",s_beforeDestroy:"beforeDestroy",s_beforeInit:"beforeInit",s_beforeLoopFix:"beforeLoopFix",s_beforeResize:"beforeResize",s_beforeSlideChangeStart:"beforeSlideChangeStart",s_beforeTransitionStart:"beforeTransitionStart",s_breakpoint:"breakpoint",s_changeDirection:"changeDirection",s_click:"click",s_doubleTap:"doubleTap",s_doubleClick:"doubleClick",s_destroy:"destroy",s_fromEdge:"fromEdge",s_hashChange:"hashChange",s_hashSet:"hashSet",s_imagesReady:"imagesReady",s_init:"init",s_keyPress:"keyPress",s_lazyImageLoad:"lazyImageLoad",s_lazyImageReady:"lazyImageReady",s_loopFix:"loopFix",s_momentumBounce:"momentumBounce",s_navigationHide:"navigationHide",s_navigationShow:"navigationShow",s_observerUpdate:"observerUpdate",s_orientationchange:"orientationchange",s_paginationHide:"paginationHide",s_paginationRender:"paginationRender",s_paginationShow:"paginationShow",s_paginationUpdate:"paginationUpdate",s_progress:"progress",s_reachBeginning:"reachBeginning",s_reachEnd:"reachEnd",s_realIndexChange:"realIndexChange",s_resize:"resize",s_scroll:"scroll",s_scrollbarDragEnd:"scrollbarDragEnd",s_scrollbarDragMove:"scrollbarDragMove",s_scrollbarDragStart:"scrollbarDragStart",s_setTransition:"setTransition",s_setTranslate:"setTranslate",s_slideChange:"slideChange",s_slideChangeTransitionEnd:"slideChangeTransitionEnd",s_slideChangeTransitionStart:"slideChangeTransitionStart",s_slideNextTransitionEnd:"slideNextTransitionEnd",s_slideNextTransitionStart:"slideNextTransitionStart",s_slidePrevTransitionEnd:"slidePrevTransitionEnd",s_slidePrevTransitionStart:"slidePrevTransitionStart",s_slideResetTransitionStart:"slideResetTransitionStart",s_slideResetTransitionEnd:"slideResetTransitionEnd",s_sliderMove:"sliderMove",s_sliderFirstMove:"sliderFirstMove",s_slidesLengthChange:"slidesLengthChange",s_slidesGridLengthChange:"slidesGridLengthChange",s_snapGridLengthChange:"snapGridLengthChange",s_snapIndexChange:"snapIndexChange",s_tap:"tap",s_toEdge:"toEdge",s_touchEnd:"touchEnd",s_touchMove:"touchMove",s_touchMoveOpposite:"touchMoveOpposite",s_touchStart:"touchStart",s_transitionEnd:"transitionEnd",s_transitionStart:"transitionStart",s_update:"update",s_zoomChange:"zoomChange",s_swiper:"swiper",indexChange:"indexChange"},features:[ye],ngContentSelectors:s3,decls:13,vars:17,consts:[[4,"ngIf"],["class","swiper-scrollbar",4,"ngIf"],["class","swiper-pagination",4,"ngIf"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["slidesTemplate",""],[1,"swiper-button-prev"],["prevElRef",""],[1,"swiper-button-next"],["nextElRef",""],[1,"swiper-scrollbar"],["scrollbarElRef",""],[1,"swiper-pagination"],["paginationElRef",""],[3,"ngClass","style","ngSwitch",4,"ngFor","ngForOf"],[3,"ngClass","ngSwitch"],[3,"ngClass",4,"ngSwitchCase"],[4,"ngSwitchDefault"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(t,e){if(1&t&&(wa(e3),xa(0),Jo(1,B2,5,0,"ng-container",0),Jo(2,V2,2,0,"div",1),Jo(3,z2,2,0,"div",2),ra(4,"div",3),xa(5,1),Jo(6,H2,1,0,void 0,4),Jo(7,G2,1,0,void 0,4),Jo(8,q2,1,0,void 0,4),xa(9,2),sa(),xa(10,3),Jo(11,t3,2,3,"ng-template",null,5,ru)),2&t){const t=ta(12);ws(1),na("ngIf",e.navigation&&e.showNavigation),ws(1),na("ngIf",e.scrollbar&&e.showScrollbar),ws(1),na("ngIf",e.pagination&&e.showPagination),ws(1),na("ngClass",e.wrapperClass),Ko("id",e.id),ws(2),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(11,n3,e.prependSlides)),ws(1),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(13,i3,e.activeSlides)),ws(1),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(15,r3,e.appendSlides))}},directives:[Ah,Oh,Fh,kh,Rh,Nh,Lh],pipes:[$h],styles:["\n swiper {\n display: block;\n }\n "],encapsulation:2,changeDetection:0}),t})(),m3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();function b3(t,e){if(1&t){const t=ua();ra(0,"div",7),ra(1,"div",8),Ja(2),sa(),ra(3,"a",9),fa("click",function(){$e(t);const e=va().$implicit;return va().linkClicked.emit(e)}),Ja(4," DATA "),ra(5,"mat-icon"),Ja(6,"open_in_new"),sa(),sa(),sa()}if(2&t){const t=va().$implicit;ws(1),La("background-image","url("+t.thumbnail+")"),ws(1),el(" ",t.technology," ")}}function y3(t,e){1&t&&(aa(0),Jo(1,b3,7,3,"ng-template",6),la())}const v3=(()=>{let t=-1;return()=>(t+=1,t)})();let _3=(()=>{class t{constructor(){this.className="ccf-thumbnail-carousel",this.linkClicked=new Bc,this.uid=v3(),this.config={allowTouchMove:!1,slidesOffsetBefore:4,slidesOffsetAfter:4,slidesPerView:"auto",spaceBetween:4,watchOverflow:!0},this.navigation={prevEl:"#"+this.prevButtonId,nextEl:"#"+this.nextButtonId}}get prevButtonId(){return`ccf-thumbnail-carousel-prev-button-${this.uid}`}get nextButtonId(){return`ccf-thumbnail-carousel-next-button-${this.uid}`}itemId(t,e){return e.thumbnail}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-thumbnail-carousel"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{data:"data"},outputs:{linkClicked:"linkClicked"},decls:11,vars:6,consts:[[1,"prev"],["mat-icon-button","","disableRipple",""],[1,"swiper",3,"config","navigation"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"next"],[1,"fade"],["swiperSlide",""],[1,"slide"],[1,"thumbnail"],[1,"link",3,"click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"button",1),ra(2,"mat-icon"),Ja(3,"navigate_before"),sa(),sa(),sa(),ra(4,"swiper",2),Jo(5,y3,2,0,"ng-container",3),sa(),ra(6,"div",4),ra(7,"button",1),oa(8,"div",5),ra(9,"mat-icon"),Ja(10,"navigate_next"),sa(),sa(),sa()),2&t&&(ws(1),Ko("id",e.prevButtonId),ws(3),na("config",e.config)("navigation",e.navigation),ws(1),na("ngForOf",e.data)("ngForTrackBy",e.itemId),ws(2),Ko("id",e.nextButtonId))},directives:[R_,T_,g3,kh,f3],styles:['[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%]{flex-grow:1;padding-bottom:.3125rem}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%] .swiper-slide{width:3.75rem;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%]{display:flex;align-items:center;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] button[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:1.5rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{position:absolute;top:-.625rem;left:-2rem;z-index:10;width:2rem;height:3.125rem;opacity:1;transition:opacity ease-in-out .3s;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%]{cursor:default;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]{position:relative;width:100%;height:100%}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;background-size:cover;position:relative;width:calc(100% - 2 * .125rem);height:calc(100% - 2 * .125rem);border-style:solid;border-width:.125rem;border-radius:.25rem;background-origin:padding-box;background-clip:padding-box;font-size:.875rem;font-weight:bold}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:-.125rem;left:-.125rem;width:.125rem;height:.125rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;right:0;left:0;opacity:0;transition:opacity ease-in-out .3s;box-shadow:0 2px 4px #0009;font-size:.75rem;line-height:.75rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%], [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:link, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:visited, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:active{cursor:pointer;text-decoration:none}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]:hover .link[_ngcontent-%COMP%]{opacity:1}'],changeDetection:0}),t})();function w3(t,e){if(1&t){const t=ua();ra(0,"mat-icon",14),fa("click",function(){return $e(t),va().toggleExpansion()}),Ja(1),sa()}if(2&t){const t=va();ws(1),tl(t.expanded?"expand_less":"expand_more")}}function x3(t,e){if(1&t&&oa(0,"ccf-tissue-section-vis",20),2&t){const t=va(2);na("totalTissueSections",t.tissueBlock.sectionCount)("tissueSections",t.tissueBlock.sections)}}function S3(t,e){if(1&t){const t=ua();aa(0),ra(1,"ccf-thumbnail-carousel",21),fa("linkClicked",function(e){return $e(t),va(2).linkHandler(e.link)}),sa(),la()}if(2&t){const t=va(2);ws(1),na("data",t.tissueBlock.datasets)}}function C3(t,e){if(1&t){const t=ua();aa(0),ra(1,"ccf-thumbnail-carousel",21),fa("linkClicked",function(e){return $e(t),va(3).linkHandler(e.link)}),sa(),la()}if(2&t){const t=va().$implicit;ws(1),na("data",t.datasets)}}function E3(t,e){if(1&t){const t=ua();ra(0,"div",22),ra(1,"div",23),ra(2,"mat-icon",24),Ja(3,"bubble_chart"),sa(),ra(4,"div",17),ra(5,"div",8),Ja(6),sa(),ra(7,"div",8),Ja(8),sa(),sa(),ra(9,"div",9),fa("click",function(){const e=$e(t).$implicit;return va(2).linkHandler(e.link)}),ra(10,"div",10),Ja(11,"TISSUE SECTION"),sa(),ra(12,"mat-icon",11),Ja(13,"open_in_new"),sa(),sa(),sa(),Jo(14,C3,2,1,"ng-container",13),sa()}if(2&t){const t=e.$implicit;ws(6),tl(t.label),ws(2),tl(t.description),ws(6),na("ngIf",t.datasets.length>0)}}function O3(t,e){if(1&t){const t=ua();aa(0),ra(1,"div",15),ra(2,"div",16),ra(3,"mat-icon",5),Ja(4,"bubble_chart"),sa(),ra(5,"div",17),ra(6,"div",8),Ja(7),sa(),ra(8,"div",8),Ja(9),sa(),sa(),ra(10,"div",9),fa("click",function(){$e(t);const e=va();return e.linkHandler(e.tissueBlock.link)}),ra(11,"div",10),Ja(12,"TISSUE BLOCK"),sa(),ra(13,"mat-icon",11),Ja(14,"open_in_new"),sa(),sa(),sa(),Jo(15,x3,1,2,"ccf-tissue-section-vis",18),Jo(16,S3,2,1,"ng-container",13),sa(),Jo(17,E3,15,3,"div",19),la()}if(2&t){const t=va();ws(7),tl(t.tissueBlock.label),ws(2),tl(t.tissueBlock.description),ws(6),na("ngIf",t.tissueBlock.sections.length>1),ws(1),na("ngIf",t.tissueBlock.datasets.length>0),ws(1),na("ngForOf",t.tissueBlock.sections)}}const T3=function(t){return{"background-color":t}};let k3=(()=>{class t{constructor(t){this.ga=t,this.clsName="ccf-donor-card",this.selected=!1,this.expanded=!1,this.highlighted=!1,this.checked=new Bc,this.linkClick=new Bc,this.hoverState=""}handleCheckbox(){this.selected=!this.selected,this.ga.event("selected_toggled","donor_card",this.tissueBlock.label,+this.selected),this.checked.emit(this.selected),this.expanded=!1}toggleExpansion(){this.selected&&(this.expanded=!this.expanded,this.ga.event("expanded_toggled","donor_card",this.tissueBlock.label,+this.expanded))}linkHandler(t){this.ga.event("link_clicked","donor_card",this.tissueBlock.label),this.selected?this.linkClick.emit(t):(this.selected=!0,this.checked.emit(this.selected))}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-donor-card"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{tissueBlock:"tissueBlock",selected:"selected",color:"color",expanded:"expanded",highlighted:"highlighted"},outputs:{checked:"checked",linkClick:"linkClick"},decls:19,vars:20,consts:[[1,"main-container"],[1,"checkbox-background",3,"ngStyle","click"],[1,"checkbox",3,"checked"],[1,"hoverable","default-padding","donor","mat-elevation-z2"],[1,"d-flex"],[1,"icon-size","icon-dark","mr-5"],[1,"donor-info"],[1,"title","description"],[1,"description"],[1,"hover-state","mat-elevation-z4",3,"click"],[1,"hover-title"],[1,"icon-size","hover-icon"],["class","icon-size ml-5 selectable",3,"click",4,"ngIf"],[4,"ngIf"],[1,"icon-size","ml-5","selectable",3,"click"],[1,"expanded-view","mat-elevation-z2","align-end"],[1,"info-block","hover-enabled","default-padding"],[1,"text-content"],[3,"totalTissueSections","tissueSections",4,"ngIf"],["class","expanded-view w-80 mat-elevation-z2 align-end",4,"ngFor","ngForOf"],[3,"totalTissueSections","tissueSections"],[1,"mt-05",3,"data","linkClicked"],[1,"expanded-view","w-80","mat-elevation-z2","align-end"],[1,"default-padding","info-block","hover-enabled"],[1,"icon-size","mr-5","icon-light"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),fa("click",function(){return e.handleCheckbox()}),oa(2,"mat-checkbox",2),sa(),ra(3,"div",3),ra(4,"div",4),ra(5,"mat-icon",5),Ja(6,"person"),sa(),ra(7,"div",6),ra(8,"div",7),Ja(9),sa(),ra(10,"div",8),Ja(11),sa(),sa(),sa(),ra(12,"div",9),fa("click",function(){return e.linkHandler(e.tissueBlock.donor.link)}),ra(13,"div",10),Ja(14,"DONOR"),sa(),ra(15,"mat-icon",11),Ja(16,"open_in_new"),sa(),sa(),Jo(17,w3,2,1,"mat-icon",12),sa(),sa(),Jo(18,O3,18,5,"ng-container",13)),2&t&&(ws(1),ja("selected",e.selected)("highlighted",e.highlighted),na("ngStyle",Pc(18,T3,e.selected?e.color:"transparent")),ws(1),ja("checkselected",e.selected),na("checked",e.selected),ws(1),ja("hover-enabled",e.selected)("expanded",e.expanded)("highlighted",e.highlighted),ws(6),tl(e.tissueBlock.donor.label),ws(2),tl(e.tissueBlock.donor.description),ws(6),na("ngIf",e.selected),ws(1),na("ngIf",e.expanded))},directives:[jh,_K,T_,Ah,kh,B1,_3],styles:["[_nghost-%COMP%]{width:100%}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{display:flex;min-height:3rem;width:100%;align-items:center;padding-left:.5rem}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%]{height:2rem;width:2rem;border-radius:50%;margin-right:.5rem;display:flex;justify-content:center;align-items:center;cursor:pointer}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-checked.mat-accent .mat-checkbox-background, [_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-indeterminate.mat-accent[_ngcontent-%COMP%] .mat-checkbox-background[_ngcontent-%COMP%]{background-color:transparent}[_nghost-%COMP%] .checkbox-background.highlighted[_ngcontent-%COMP%] .mat-ripple-element{opacity:.04}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkselected[_ngcontent-%COMP%] .mat-checkbox-frame{border-color:#fff!important}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkbox[_ngcontent-%COMP%]{margin-left:1.12rem;margin-bottom:.12rem}[_nghost-%COMP%] .align-end[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;width:100%;align-items:center}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]:not(:first-child){margin-top:.5rem}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .donor.highlighted[_ngcontent-%COMP%]{box-shadow:0 6px 2px -2px #0003,0 4px 4px #00000024,0 2px 10px #0000001f}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .hover-state[_ngcontent-%COMP%]{width:19.5rem!important}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .hoverable[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]:hover .hover-state[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%]{transition:opacity .15s ease-in-out;opacity:0;cursor:pointer;position:absolute;height:100%;width:100%;top:0;margin-left:-.5rem;align-items:center;display:flex;justify-content:flex-end;padding-right:1rem;font-size:.75rem}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-title[_ngcontent-%COMP%]{font-weight:lighter}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-icon[_ngcontent-%COMP%]{margin-left:1rem}[_nghost-%COMP%] .default-padding[_ngcontent-%COMP%]{padding:.25rem .5rem}[_nghost-%COMP%] .expanded-view[_ngcontent-%COMP%]{margin-top:.25rem;width:85%;margin-bottom:.25rem}[_nghost-%COMP%] .d-flex[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .icon-size[_ngcontent-%COMP%]{height:1.5rem;width:1.5rem;font-size:1.5rem}[_nghost-%COMP%] .selectable[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%]{width:80%!important}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:16rem!important}[_nghost-%COMP%] .ml-5[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mr-5[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .mt-05[_ngcontent-%COMP%]{margin-top:.5rem}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),t})();function P3(t,e){if(1&t&&(ra(0,"div",7),ra(1,"div",8),Ja(2),sa(),ra(3,"div",9),Ja(4),sa(),sa()),2&t){const t=e.$implicit;ws(2),tl(t.count),ws(2),tl(t.label)}}function A3(t,e){if(1&t){const t=ua();ra(0,"div",10),fa("mouseenter",function(){const e=$e(t).$implicit;return va().handleHover(e.tissueBlock.spatialEntityId)})("mouseleave",function(){return $e(t),va().handleUnhover()}),ra(1,"ccf-donor-card",11),fa("checked",function(e){const n=$e(t).$implicit;return va().handleSelection(n,e)})("linkClick",function(e){return $e(t),va().handleLinkClick(e)}),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ws(1),na("tissueBlock",t.tissueBlock)("selected",t.selected)("color",t.color)("highlighted",t.tissueBlock.spatialEntityId===n.highlighted)}}let M3=(()=>{class t{constructor(t){this.ga=t,this.linkClicked=new Bc,this.listResultSelected=new Bc,this.listResultDeselected=new Bc,this.itemHovered=new Bc,this.itemUnhovered=new Bc,this.atScrollBottom=!1}handleSelection(t,e){this.ga.event("list_result_selected","results_browser",this.resultLabel,+e),e?this.listResultSelected.next(t):this.listResultDeselected.next(t)}handleLinkClick(t){this.linkClicked.emit(t)}onScroll(t){if(!t.target)return;const{clientHeight:e,scrollHeight:n,scrollTop:i}=t.target;this.atScrollBottom=n-i-e<64}handleHover(t){this.itemHovered.emit(t)}handleUnhover(){this.itemUnhovered.emit()}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-results-browser"]],inputs:{listResults:"listResults",aggregateData:"aggregateData",resultLabel:"resultLabel",highlighted:"highlighted",header:"header"},outputs:{linkClicked:"linkClicked",listResultSelected:"listResultSelected",listResultDeselected:"listResultDeselected",itemHovered:"itemHovered",itemUnhovered:"itemUnhovered"},decls:8,vars:7,consts:[[1,"results-browser-container"],[1,"stat-box"],["id","title"],["class","stat-row",4,"ngFor","ngForOf"],[1,"results-browser-list",3,"scroll"],["class","browser-item-container",3,"mouseenter","mouseleave",4,"ngFor","ngForOf"],[1,"scroll-gradient"],[1,"stat-row"],[1,"stat-value"],[1,"stat-label"],[1,"browser-item-container",3,"mouseenter","mouseleave"],[3,"tissueBlock","selected","color","highlighted","checked","linkClick"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),Ja(3),sa(),Jo(4,P3,5,2,"div",3),sa(),ra(5,"div",4),fa("scroll",function(t){return e.onScroll(t)}),Jo(6,A3,2,4,"div",5),sa(),oa(7,"div",6),sa()),2&t&&(ws(3),tl(e.resultLabel),ws(1),na("ngForOf",e.aggregateData),ws(1),ja("header-hidden",!e.header),ws(1),na("ngForOf",e.listResults),ws(1),ja("hidden",!!e.atScrollBottom))},directives:[kh,k3],styles:[".results-browser-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:calc(100% - 3rem);padding:0 1.5rem 1.5rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%]{margin-bottom:1.5rem;line-height:1.25;min-height:7.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] #title[_ngcontent-%COMP%]{font-size:1.25rem;margin-bottom:.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%]{display:flex;flex-direction:row}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{margin-right:1rem;width:5.5rem;text-align:right;font-weight:600}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-weight:300}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;padding-right:.5rem;height:calc(100vh - 20rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 16rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%] .browser-item-container[_ngcontent-%COMP%]{width:100%}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:95%;bottom:0;pointer-events:none}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();const I3=["*",[["mat-toolbar-row"]]],D3=["*","mat-toolbar-row"],R3=Xy(class{constructor(t){this._elementRef=t}});let N3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),t})(),L3=(()=>{class t extends R3{constructor(t,e,n){super(t),this._platform=e,this._document=n}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(th))},t.\u0275cmp=Jt({type:t,selectors:[["mat-toolbar"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,N3,5),2&t){let t;Qc(t=tu())&&(e._toolbarRows=t)}},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(t,e){2&t&&ja("mat-toolbar-multiple-rows",e._toolbarRows.length>0)("mat-toolbar-single-row",0===e._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[jo],ngContentSelectors:D3,decls:2,vars:0,template:function(t,e){1&t&&(wa(I3),xa(0),xa(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),t})(),j3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();function F3(t,e){if(1&t&&(ra(0,"a",5),Ja(1,"LOGIN"),sa()),2&t){const t=va();ja("disabled",t.loginDisabled||!t.homeUrl),na("href",t.homeUrl+"login",_r)}}function B3(t,e){if(1&t&&(ra(0,"a",5),Ja(1,"LOGOUT"),sa()),2&t){const t=va();ja("disabled",t.loginDisabled||!t.homeUrl),na("href",t.homeUrl+"logout",_r)}}let V3=(()=>{class t{constructor(){this.refreshClicked=new Bc,this.downloadClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-header"]],inputs:{homeUrl:"homeUrl",loginDisabled:"loginDisabled",logoTooltip:"logoTooltip",loggedIn:"loggedIn",filters:"filters"},outputs:{refreshClicked:"refreshClicked",downloadClicked:"downloadClicked"},decls:6,vars:4,consts:[[1,"ccf-header"],[1,"home",3,"href"],["aria-hidden","false","aria-label","Reset tool","matTooltipPosition","right",1,"logo",3,"matTooltip"],[1,"filler"],["mat-button","","class","authentication","rel","noreferrer noopener","target","_blank",3,"disabled","href",4,"ngIf"],["mat-button","","rel","noreferrer noopener","target","_blank",1,"authentication",3,"href"]],template:function(t,e){1&t&&(ra(0,"mat-toolbar",0),ra(1,"a",1),oa(2,"div",2),sa(),oa(3,"div",3),Jo(4,F3,2,3,"a",4),Jo(5,B3,2,3,"a",4),sa()),2&t&&(ws(1),na("href",e.homeUrl,_r),ws(1),na("matTooltip",e.logoTooltip),ws(2),na("ngIf",!e.loggedIn),ws(1),na("ngIf",e.loggedIn))},directives:[L3,gw,Ah,N_],styles:[".ccf-header[_ngcontent-%COMP%]{height:4rem;padding:0 1.5rem;border-bottom-width:1px;border-bottom-style:solid;display:flex}.ccf-header[_ngcontent-%COMP%] .home[_ngcontent-%COMP%]{height:100%;width:25rem;align-items:center;display:flex;padding:.25rem 0}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:100%;height:50%;background-repeat:no-repeat;background-size:contain}.ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%]{height:1.5rem}.ccf-header[_ngcontent-%COMP%] .authentication[_ngcontent-%COMP%]{width:8.25rem;border-radius:.125rem;font-weight:500}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{display:flex;align-items:center;transition:color 1s;cursor:pointer;text-decoration:none}.ccf-header[_ngcontent-%COMP%] [_ngcontent-%COMP%]:not(:last-child){margin-right:1.5rem}.ccf-header[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1;margin:0}.ccf-header[_ngcontent-%COMP%] .filter-labels[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;font:400 1rem/1.25rem Inter,sans-serif}.ccf-header[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();const z3=["bodyUI"];function U3(t,e){if(1&t&&(oa(0,"ccf-header",34),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async")),2&t){const t=va();ja("hide",!1===Rc(1,6,t.header$)),na("logoTooltip",Rc(2,8,t.logoTooltip$))("homeUrl",Rc(3,10,t.homeUrl$))("loggedIn",t.loggedIn)("loginDisabled",Rc(4,12,t.loginDisabled$))}}function H3(t,e){if(1&t){const t=ua();ra(0,"div",35),fa("click",function(){$e(t),va();const e=ta(72);return e.expanded=!e.expanded}),ra(1,"mat-icon",36),Ja(2),sa(),sa()}if(2&t){va();const t=ta(72);ws(2),el(" ",t.expanded?"arrow_drop_up":"arrow_drop_down"," ")}}function $3(t,e){if(1&t){const t=ua();ra(0,"div",35),fa("click",function(){$e(t);const e=va();return e.organListVisible=!e.organListVisible}),ra(1,"mat-icon",37),Ja(2),sa(),sa()}if(2&t){const t=va();ws(2),el(" ",t.organListVisible?"arrow_drop_up":"arrow_drop_down"," ")}}const G3=function(){return{}},W3=function(){return{x:2.2,y:2,z:.4}};class q3{constructor(t,e,n,i,r,s,o,a,l,c,u,h){this.data=n,this.theming=i,this.scene=r,this.listResultsState=s,this.consentService=o,this.snackbar=a,this.dataSource=c,this.globalConfig=u,this.setSelectedSearches=NQ(KQ),this.removeSpatialSearch=NQ(YQ),this.ontologySelectionLabel="body",this.cellTypeSelectionLabel="cell",this.selectionLabel="body | cell",this.organListVisible=!0,this.url="",this.acceptableViewerDomains=RQ.acceptableViewerDomains||[],this.viewerOpen=!1,this.spinnerActive$=this.data.queryStatus$.pipe(D(t=>t===HQ.Running)),this.loadingMessage$=this.data.state$.pipe(T$("statusMessage")),this.theme$=this.globalConfig.getOption("theme"),this.themeMode$=new _p(1),this.header$=this.globalConfig.getOption("header"),this.homeUrl$=this.globalConfig.getOption("homeUrl"),this.logoTooltip$=this.globalConfig.getOption("logoTooltip"),this.loginDisabled$=this.globalConfig.getOption("loginDisabled"),i.initialize(t,e),l.setRootElement(t),n.tissueBlockData$.subscribe(),n.aggregateData$.subscribe(),n.ontologyTermOccurencesData$.subscribe(),n.cellTypeTermOccurencesData$.subscribe(),n.sceneData$.subscribe(),n.filter$.subscribe(),n.technologyFilterData$.subscribe(),n.providerFilterData$.subscribe(),this.ontologyTerms$=n.filter$.pipe(T$("ontologyTerms")),this.cellTypeTerms$=n.filter$.pipe(T$("cellTypeTerms")),z_([this.theme$,this.themeMode$]).subscribe(([t,e])=>{this.theming.setTheme(`${t}-theme-${e}`),h.markForCheck()})}get isLightTheme(){return this.theming.getTheme().endsWith("light")}ngOnInit(){const t=this.snackbar.openFromComponent(ZK,{data:{preClose:()=>{t.dismiss()}},duration:"not-set"===this.consentService.consent?1/0:3e3});window.matchMedia?(window.matchMedia("(prefers-color-scheme: dark)").matches?this.themeMode$.next("dark"):this.themeMode$.next("light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.themeMode$.next(t.matches?"dark":"light")})):this.themeMode$.next("light")}reset(t,e,n){t.open(),t.closeExpanded(),e.open(),e.closeExpanded(),n.removeBox(),this.resetView()}resetView(){this.bodyUI.target=[0,0,0],this.bodyUI.rotation=0,this.bodyUI.rotationX=0,this.bodyUI.bounds={x:2.2,y:2,z:.4}}toggleScheme(){this.themeMode$.next(this.isLightTheme?"dark":"light")}ontologySelected(t,e){if(t)return"anatomical-structures"===e?(this.data.updateFilter({ontologyTerms:t.map(t=>t.id)}),this.ontologySelectionLabel=this.createSelectionLabel(t)):(this.data.updateFilter({cellTypeTerms:t.map(t=>t.id)}),this.cellTypeSelectionLabel=this.createSelectionLabel(t)),this.selectionLabel=this.ontologySelectionLabel&&this.cellTypeSelectionLabel?`${this.ontologySelectionLabel} | ${this.cellTypeSelectionLabel}`:this.ontologySelectionLabel?`${this.ontologySelectionLabel}`:this.cellTypeSelectionLabel?`${this.cellTypeSelectionLabel}`:"",void(t[0]&&"body"===t[0].label&&this.resetView());this.data.updateFilter({ontologyTerms:[],cellTypeTerms:[]}),this.ontologySelectionLabel="",this.cellTypeSelectionLabel=""}createSelectionLabel(t){if(0===t.length)return"";if(1===t.length)return t[0].label;let e="";return t.forEach((n,i)=>{e+=n.label,inull==t?void 0:t.startsWith(e))?(this.url=t,this.viewerOpen=!!t):(window.open(t,"_blank"),this.closeiFrameViewer())}closeiFrameViewer(){this.viewerOpen=!1}get loggedIn(){var t;return(null!==(t=this.globalConfig.snapshot.hubmapToken)&&void 0!==t?t:"").length>0}}function X3(t,e){1&t&&oa(0,"ccf-root")}function Y3(t){const e=t=>"string"==typeof t,n=t=>Array.isArray(t)&&t.every(e);if("string"==typeof t){const e=IQ.json(t);if(n(e))return e}else if(n(t))return t;throw new Error("Invalid data sources")}q3.\u0275fac=function(t){return new(t||q3)(ea(Al),ea(No),ea(WQ),ea(kQ),ea(sZ),ea(iZ),ea(VW),ea(aw),ea(OQ),ea(eQ),ea(XK),ea(nc))},q3.\u0275cmp=Jt({type:q3,selectors:[["ccf-root"]],viewQuery:function(t,e){if(1&t&&Zc(z3,5),2&t){let t;Qc(t=tu())&&(e.bodyUI=t.first)}},decls:83,vars:117,consts:[[1,"ccf-app","mat-app-background"],[3,"text","active"],[3,"hide","logoTooltip","homeUrl","loggedIn","loginDisabled",4,"ngIf"],[1,"main-drawers"],["opened","",1,"left-drawer",3,"stateChange"],["left",""],[1,"filter-data"],[3,"filters","drawerExpanded","technologyFilters","providerFilters","spatialSearchFilters","filtersChange","spatialSearchSelected","spatialSearchRemoved"],["filterbox",""],[1,"filter-text"],[1,"sex","filter-tag"],[1,"age","filter-tag"],[1,"bmi","filter-tag"],["placeholderText","Search anatomical structures...",1,"ontology-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["placeholderText","Search cell types...",1,"cell-type-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["position","end","opened","",1,"right-drawer",3,"stateChange"],["right",""],[1,"portal-view",3,"url","closed"],[1,"drawer-icons"],[1,"drawer-icons-left"],[1,"button",3,"matTooltip","click"],[1,"icon"],[1,"scheme-toggle","button",3,"matTooltip","click"],[1,"button"],["matTooltip","Reset View",1,"refresh","icon",3,"click"],["videoID","YAHJqvD3Q_8","infoTitle","CCF Exploration User Interface","documentationUrl","assets/docs/README.md","matTooltip","Open Info"],[3,"listResults","aggregateData","resultLabel","highlighted","header","listResultSelected","listResultDeselected","linkClicked","itemHovered","itemUnhovered"],[1,"selector-drawer"],[1,"organ-selector",3,"multiselect","occurenceData","organList","selectedOrgans","organsChanged"],["selector",""],[1,"close-button-wrapper"],["class","close-button",3,"click",4,"ngIf"],[1,"stage-content",3,"scene","bounds","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""],[3,"logoTooltip","homeUrl","loggedIn","loginDisabled"],[1,"close-button",3,"click"],["aria-hidden","false","aria-label","Expand carousel drawer",1,"expand-collapse-icon"],["aria-hidden","false","aria-label","Close carousel drawer",1,"expand-collapse-icon"]],template:function(t,e){if(1&t){const t=ua();ra(0,"div",0),oa(1,"ccf-spinner-overlay",1),Dc(2,"async"),Dc(3,"async"),Jo(4,U3,5,14,"ccf-header",2),Dc(5,"async"),ra(6,"ccf-drawer-container",3),Dc(7,"async"),ra(8,"ccf-drawer",4,5),fa("stateChange",function(){return $e(t),ta(13).removeBox()}),ra(10,"div"),ra(11,"div",6),ra(12,"ccf-filters-popover",7,8),fa("filtersChange",function(t){return e.data.updateFilter(t)})("spatialSearchSelected",function(t){return e.setSelectedSearches(t)})("spatialSearchRemoved",function(t){return e.removeSpatialSearch(t)}),Dc(14,"async"),Dc(15,"async"),Dc(16,"async"),Dc(17,"async"),sa(),ra(18,"div",9),ra(19,"div",10),Ja(20,"Sex: "),ra(21,"strong"),Ja(22),Dc(23,"async"),sa(),sa(),ra(24,"div",11),Ja(25,"Age: "),ra(26,"strong"),Ja(27),Dc(28,"async"),Dc(29,"async"),sa(),sa(),ra(30,"div",12),Ja(31,"BMI: "),ra(32,"strong"),Ja(33),Dc(34,"async"),Dc(35,"async"),sa(),sa(),sa(),sa(),ra(36,"ccf-ontology-selection",13),fa("ontologySelection",function(t){return e.ontologySelected(t,"anatomical-structures")}),Dc(37,"async"),Dc(38,"async"),Dc(39,"async"),Dc(40,"async"),sa(),ra(41,"ccf-ontology-selection",14),fa("ontologySelection",function(t){return e.ontologySelected(t,"cell-type")}),Dc(42,"async"),Dc(43,"async"),Dc(44,"async"),Dc(45,"async"),sa(),oa(46,"ccf-drawer-toggle-button"),sa(),sa(),ra(47,"ccf-drawer",15,16),fa("stateChange",function(){return $e(t),ta(13).removeBox()}),ra(49,"ccf-viewer",17),fa("closed",function(){return e.viewerOpen=!1}),sa(),ra(50,"div",18),ra(51,"div",19),ra(52,"button",20),fa("click",function(){$e(t);const e=ta(13),n=ta(48);return e.removeBox(),n.toggleExpanded()}),ra(53,"mat-icon",21),Ja(54),sa(),sa(),ra(55,"button",22),fa("click",function(){return e.toggleScheme()}),ra(56,"mat-icon",21),Ja(57),sa(),sa(),ra(58,"button",23),ra(59,"mat-icon",24),fa("click",function(){$e(t);const n=ta(9),i=ta(48),r=ta(13);return e.reset(n,i,r)}),Ja(60,"refresh "),sa(),sa(),sa(),oa(61,"ccf-info-button",25),sa(),ra(62,"ccf-results-browser",26),fa("listResultSelected",function(t){return e.listResultsState.selectListResult(t)})("listResultDeselected",function(t){return e.listResultsState.deselectListResult(t)})("linkClicked",function(t){return e.openiFrameViewer(t)})("itemHovered",function(t){return e.listResultsState.highlightNode(t)})("itemUnhovered",function(){return e.listResultsState.unHighlightNode()}),Dc(63,"async"),Dc(64,"async"),Dc(65,"async"),Dc(66,"async"),sa(),oa(67,"ccf-drawer-toggle-button"),sa(),ra(68,"ccf-drawer-content"),Dc(69,"async"),ra(70,"div",27),ra(71,"ccf-organ-selector",28,29),fa("organsChanged",function(t){return e.scene.setSelectedReferenceOrgans(t)}),Dc(73,"async"),Dc(74,"async"),Dc(75,"async"),sa(),sa(),ra(76,"div",30),Jo(77,H3,3,1,"div",31),Jo(78,$3,3,1,"div",31),sa(),oa(79,"ccf-run-spatial-search"),ra(80,"ccf-body-ui",32,33),fa("nodeClick",function(t){return e.scene.sceneNodeClicked(t)})("nodeHoverStart",function(t){return e.scene.sceneNodeHovered(t)})("nodeHoverStop",function(){return e.scene.sceneNodeUnhover()}),Dc(82,"async"),sa(),sa(),sa(),sa()}if(2&t){const t=ta(48),n=ta(72);let i,r,s,o;ws(1),na("text",Rc(2,55,e.loadingMessage$))("active",Rc(3,57,e.spinnerActive$)),ws(3),na("ngIf",!1===Rc(5,59,e.spinnerActive$)),ws(2),ja("header-hidden",!1===Rc(7,61,e.header$)),ws(6),na("filters",Rc(14,63,e.data.filter$))("drawerExpanded",t.expanded)("technologyFilters",Rc(15,65,e.data.technologyFilterData$))("providerFilters",Rc(16,67,e.data.providerFilterData$))("spatialSearchFilters",Rc(17,69,e.selectableSearches$)),ws(10),tl(null==(i=Rc(23,71,e.data.filter$))?null:i.sex),ws(5),nl("",null==(r=Rc(28,73,e.data.filter$))?null:r.ageRange[0],"-",null==(r=Rc(29,75,e.data.filter$))?null:r.ageRange[1],""),ws(6),nl("",null==(s=Rc(34,77,e.data.filter$))?null:s.bmiRange[0],"-",null==(s=Rc(35,79,e.data.filter$))?null:s.bmiRange[1],""),ws(3),na("treeModel",Rc(37,81,e.ontologyTreeModel$))("termData",Rc(38,83,e.data.ontologyTermsFullData$))("occurenceData",Rc(39,85,e.data.ontologyTermOccurencesData$))("header",Rc(40,87,e.header$)),ws(5),na("treeModel",Rc(42,89,e.cellTypeTreeModel$))("termData",Rc(43,91,e.data.cellTypeTermsFullData$))("occurenceData",Rc(44,93,e.data.cellTypeTermOccurencesData$))("header",Rc(45,95,e.header$)),ws(8),ja("opened",e.viewerOpen),na("url",e.url),ws(3),na("matTooltip",t.expanded?"Exit Fullscreen":"Enter Fullscreen"),ws(2),tl(t.expanded?"fullscreen_exit":"fullscreen"),ws(1),na("matTooltip",e.isLightTheme?"Enter Dark Mode":"Enter Light Mode"),ws(2),el("",e.isLightTheme?"brightness_2":"brightness_5"," "),ws(5),na("listResults",Rc(63,97,e.listResultsState.listResults$))("aggregateData",Rc(64,99,e.data.aggregateData$))("resultLabel",e.selectionLabel)("highlighted",Rc(65,101,e.listResultsState.highlightedNodeId$))("header",Rc(66,103,e.header$)),ws(6),ja("header-hidden",!1===Rc(69,105,e.header$)),ws(2),ja("closed",!e.organListVisible)("expanded",n.expanded),ws(1),na("multiselect",!0)("occurenceData",null!==(o=Rc(73,107,e.data.ontologyTermOccurencesData$))&&void 0!==o?o:kc(115,G3))("organList",Rc(74,109,e.scene.referenceOrgans$))("selectedOrgans",Rc(75,111,e.scene.selectedReferenceOrgans$)),ws(5),ja("closed",!e.organListVisible),ws(1),na("ngIf",e.organListVisible),ws(1),na("ngIf",!n.expanded),ws(2),ja("expanded-stage",!e.organListVisible)("selector-expanded",n.expanded),na("scene",Rc(82,113,e.scene.scene$))("bounds",kc(116,W3))}},directives:[mZ,Ah,MZ,OZ,X0,I1,D1,L1,gw,T_,GK,M3,xZ,NK,V0,CK,V3],pipes:[$h],styles:[".cdk-overlay-container{position:absolute;font-size:1.2rem}[_nghost-%COMP%]{display:block;position:relative}.ccf-app[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:1rem;position:relative;text-align:left}.ccf-app[_ngcontent-%COMP%] ccf-header[_ngcontent-%COMP%]{z-index:99}.ccf-app[_ngcontent-%COMP%] ccf-header.hide[_ngcontent-%COMP%]{display:none}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%]{height:calc(100% - 5rem);width:100%;opacity:1;overflow:hidden;transform:scale(1)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container.header-hidden[_ngcontent-%COMP%]{height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%]{width:28.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%]{display:flex;padding-left:1.5rem;height:5rem;padding-right:1.5rem;align-items:center;justify-content:space-between}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border:none;cursor:pointer;outline:none;border-radius:.25rem;padding:.65rem;transition:.6s}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%]{overflow:hidden;border-radius:.5rem;height:calc(100vh - 4rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%]{top:0rem;display:flex;flex-direction:column;position:relative;transition:all .5s ease-in-out;height:5rem;justify-content:start}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.expanded[_ngcontent-%COMP%]{height:15rem;overflow-y:auto}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.closed[_ngcontent-%COMP%]{height:1.5rem;top:-5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] ccf-run-spatial-search[_ngcontent-%COMP%]{position:relative;float:right;height:0px;z-index:1;top:.5rem;right:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .stage-content[_ngcontent-%COMP%]{transition:all .5s ease-in-out;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .expanded-stage[_ngcontent-%COMP%]{height:calc(100% - 3rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-expanded[_ngcontent-%COMP%]{height:calc(100% - 16.5rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 1rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;border-top-right-radius:.5rem;border-top-left-radius:.5rem;height:0}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{display:flex;justify-content:center;height:1.0625rem;width:3rem;align-self:center;border-radius:0 0 .25rem .25rem;cursor:pointer;transition:.6s;position:relative;top:.5rem;z-index:1}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{position:relative;bottom:.2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%]{padding-left:1.5rem;padding-right:1.5rem;height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cell-type-selection[_ngcontent-%COMP%] .ccf-ontology-search{margin-top:2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%]{height:5rem;display:flex;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:75%;margin-left:1.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%]{font-weight:300}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600!important}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view[_ngcontent-%COMP%]{position:fixed;left:0;top:0;bottom:0;right:425%;height:100%;transform:translate(-425%);width:calc(100% - 28.5rem);transition:transform .5s cubic-bezier(.82,.085,.395,.895)}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view.opened[_ngcontent-%COMP%]{transform:translate(0);transition:width 0s .5s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view[_ngcontent-%COMP%]{width:100vw}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view.opened[_ngcontent-%COMP%]{transition:width 0s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .shaded-toggle[_ngcontent-%COMP%]{box-shadow:-1px 0 4px #212121}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}[_ngcontent-%COMP%]::-webkit-scrollbar{width:.5rem}"],changeDetection:0}),vw([iU(qQ.cellTypesTreeModel)],q3.prototype,"cellTypeTreeModel$",void 0),vw([iU(qQ.anatomicalStructuresTreeModel)],q3.prototype,"ontologyTreeModel$",void 0),vw([iU(ZQ.items)],q3.prototype,"selectableSearches$",void 0),vw([XY()],q3.prototype,"setSelectedSearches",void 0),vw([XY()],q3.prototype,"removeSpatialSearch",void 0);let K3=(()=>{class t extends MQ{constructor(t,e){super(t,e,{initialDelay:10,initialConfig:Object.assign(Object.assign(Object.assign({},RQ.dbOptions),globalThis.dbOptions),RQ.customization),parse:{dataSources:Y3,useRemoteApi:IQ.boolean,header:IQ.boolean,loginDisabled:IQ.boolean}})}}return t.\u0275fac=function(e){return new(e||t)(ea(XK),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-root-wc"]],inputs:{dataSources:"dataSources",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint",theme:"theme",header:"header",homeUrl:"homeUrl",logoTooltip:"logoTooltip",loginDisabled:"loginDisabled"},features:[jo],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,e){1&t&&Jo(0,X3,1,0,"ccf-root",0),2&t&&na("ngIf",e.initialized)},directives:[Ah,q3],encapsulation:2,changeDetection:0}),t})(),Q3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,j3,yw]]}),t})(),Z3=(()=>{class t extends uQ{constructor(t,e){super(t),this.locator=e}createWorker(t){const e=this.getWorkerUrl(!0);return new Worker(e,{type:"module"})}getWorkerUrl(t){if(t)return new URL(n(88509),n.b);const e=this.locator.prepareExternalUrl("0-es2015.worker.js"),i=new Blob([`importScripts('${e}')`],{type:"application/javascript"});return URL.createObjectURL(i)}}return t.\u0275fac=function(e){return new(e||t)(Ei(XK),Ei(ch))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),J3=(()=>{class t extends hQ{selectToken(t){const{useRemoteApi:e,remoteApiEndpoint:n}=t;return e&&n?aQ:"undefined"==typeof Worker||RQ.disableDbWorker?cQ:Z3}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),t5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:du,useValue:kQ.initialize,multi:!0},kQ]}),t})(),e5=(()=>{class t{constructor(t,e){this.accessor=t,this.injector=e}static forRoot(e=[]){return{ngModule:t,providers:[hW,uW,lW,...e]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hW,2),Ei(uW,2))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const n5=(t,e)=>((t,e)=>new Array(e+1).join("0"))(0,e-t.toString().length)+t;class i5{constructor(t,e,n){this.action=t,this.store=e,this.logWriter=n}dispatched(t){const e=fz(this.action),n=function(t){return n5(t.getHours(),2)+":"+n5(t.getMinutes(),2)+":"+n5(t.getSeconds(),2)+"."+n5(t.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${e} @ ${n}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",t)}completed(t){this.logWriter.logGreen("next state",t),this.logWriter.endGroup()}errored(t){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",t),this.logWriter.endGroup()}_hasPayload(t){return this._getNonEmptyProperties(t).length>0}_getNonEmptyProperties(t){return Object.keys(t).map(e=>t[e]).filter(t=>void 0!==t)}}class r5{constructor(t){this.options=t,this.options=this.options||{},this.logger=t.logger||console}startGroup(t){const e=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{e.call(this.logger,t)}catch(n){console.log(t)}}endGroup(){try{this.logger.groupEnd()}catch(t){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(t,e){this.log(t,"color: #9E9E9E; font-weight: bold",e)}logGreen(t,e){this.log(t,"color: #4CAF50; font-weight: bold",e)}logRedish(t,e){this.log(t,"color: #FD8182; font-weight: bold",e)}log(t,e,n){this.isIE()?this.logger.log(t,n):this.logger.log("%c "+t,e,n)}isIE(){const t="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let e=!1;const n=t.indexOf("MSIE "),i=t.indexOf("Trident/");return(n>-1||i>-1)&&(e=!0),e}}const s5=new oi("NGXS_LOGGER_PLUGIN_OPTIONS");let o5=(()=>{class t{constructor(t,e){this._options=t,this._injector=e}handle(t,e,n){if(this._options.disabled||!this._options.filter(e,t))return n(t,e);this._logWriter=this._logWriter||new r5(this._options),this._store=this._store||this._injector.get(qz);const i=new i5(e,this._store,this._logWriter);return i.dispatched(t),n(t,e).pipe(eg(t=>{i.completed(t)}),Tv(t=>{throw i.errored(t),t}))}}return t.\u0275fac=function(e){return new(e||t)(Ei(s5),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const a5=new oi("LOGGER_USER_OPTIONS");function l5(t){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},t)}let c5=(()=>{class t{static forRoot(e){return{ngModule:t,providers:[{provide:sz,useClass:o5,multi:!0},{provide:a5,useValue:e},{provide:s5,useFactory:l5,deps:[a5]}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function u5(t,e){return t>=0&&t=e?e:t+e<0?0:t+e}function h5(t,e){if(1&t&&(ra(0,"span"),Ja(1),sa()),2&t){const t=e.$implicit;Fa(t.styles),Va(t.classes),ws(1),el(" ",t.text,"\n")}}let d5=(()=>{class t{constructor(){this.clsName="ccf-decorated-text",this.segments=[]}ngOnChanges(t){("text"in t||"decorations"in t)&&(this.segments=this.createSegments())}createSegments(){const{text:t}=this;if(!t)return[this.makeUndecoratedSegment(t)];const e=this.getNormalizedDecorations();if(0===e.length)return[this.makeUndecoratedSegment(t)];const n=this.createStackOps(e),i=[];let r=[],s=0;0===n[0].index&&(r=this.updateStack(r,n.shift()));for(const o of n)i.push(this.makeDecoratedSegment(t.slice(s,o.index),r)),s=o.index,r=this.updateStack(r,o);return s!==t.length&&i.push(this.makeDecoratedSegment(t.slice(s),r)),i}createStackOps(t){const e={},n=t=>{var n;return null!==(n=e[t])&&void 0!==n?n:e[t]={index:t,added:[],removed:[]}};for(const i of t)n(i.start).added.push(i),n(i.end).removed.push(i);return Object.entries(e).sort((t,e)=>+t[0]-+e[0]).map(t=>t[1])}updateStack(t,e){return t.filter(t=>!e.removed.includes(t)).concat(e.added)}getNormalizedDecorations(){const{decorations:t=[],text:{length:e}}=this;return t.map(t=>function(t,e){var n,i,r,s;return{start:u5(null!==(n=t.start)&&void 0!==n?n:0,e),end:u5(null!==(i=t.end)&&void 0!==i?i:e,e),classes:null!==(r=t.classes)&&void 0!==r?r:[],styles:null!==(s=t.styles)&&void 0!==s?s:{}}}(t,e)).filter(t=>t.startt.concat(e.classes),[]),styles:e.reduce((t,e)=>Object.assign(Object.assign({},t),e.styles),{})}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-decorated-text"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{text:"text",decorations:"decorations"},features:[ye],decls:1,vars:1,consts:[[3,"class","style",4,"ngFor","ngForOf"]],template:function(t,e){1&t&&Jo(0,h5,2,5,"span",0),2&t&&na("ngForOf",e.segments)},directives:[kh],styles:["[_nghost-%COMP%]{display:flex}"],changeDetection:0}),t})();function p5(t,e){if(1&t&&(ra(0,"mat-option"),oa(1,"ccf-decorated-text",8),sa()),2&t){const t=e.$implicit;ws(1),na("text",t.label)("decorations",t.decorations)}}const f5=[[["","matPrefix",""]],[["","matSuffix",""]]],g5=new oi("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});class m5{constructor(t){this.defaultMaxOptions=t,this.clsName="ccf-text-search",this.placeholder="Search...",this.optionSelected=new Bc,this.controller=new tH,this.options=this.controller.valueChanges.pipe(lp(""),Wd(),cp(this.getOptions)),this.valueChange=this.controller.valueChanges}get value(){return this.controller.value}set value(t){this.controller.setValue(t,{emitEvent:!1})}getOptions(t){return xw(this,void 0,void 0,function*(){const{autoCompleter:e,maxOptions:n=this.defaultMaxOptions}=this;return!e||n<1?[]:U(e(t,n)).pipe(rf(1),D(t=>t.length<=n?t:t.slice(0,n))).toPromise()})}optionDisplay(t){var e;return null!==(e=null==t?void 0:t.label)&&void 0!==e?e:""}optionId(t,e){return e.id}}m5.\u0275fac=function(t){return new(t||m5)(ea(g5))},m5.\u0275cmp=Jt({type:m5,selectors:[["ccf-text-search"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{placeholder:"placeholder",value:"value",maxOptions:"maxOptions",autoCompleter:"autoCompleter"},outputs:{valueChange:"valueChange",optionSelected:"optionSelected"},ngContentSelectors:["[matPrefix]","[matSuffix]"],decls:11,vars:8,consts:[[1,"form"],["appearance","outline",1,"form-field"],["matPrefix",""],["matInput","","type","search",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"autocomplete",3,"displayWith","optionSelected"],["auto","matAutocomplete"],[4,"ngFor","ngForOf","ngForTrackBy"],["matSuffix",""],[3,"text","decorations"]],template:function(t,e){if(1&t&&(wa(f5),ra(0,"form",0),ra(1,"mat-form-field",1),aa(2,2),xa(3),la(),oa(4,"input",3),ra(5,"mat-autocomplete",4,5),fa("optionSelected",function(t){return e.optionSelected.emit(t)}),Jo(7,p5,2,2,"mat-option",6),Dc(8,"async"),sa(),aa(9,7),xa(10,1),la(),sa(),sa()),2&t){const t=ta(6);ws(4),na("placeholder",e.placeholder)("formControl",e.controller)("matAutocomplete",t),ws(1),na("displayWith",e.optionDisplay),ws(2),na("ngForOf",Rc(8,6,e.options))("ngForTrackBy",e.optionId)}},directives:[cH,IU,sH,QH,$H,E$,uU,m$,MU,pH,h$,kh,WH,wv,d5],pipes:[$h],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .form[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .form[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex{align-items:center}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{height:3rem;border:none}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-suffix{top:0;border:none}"],changeDetection:0}),vw([PV.ak],m5.prototype,"getOptions",null),[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((t,e)=>t.name.localeCompare(e.name)).filter(t=>!0!==t.disabled);let b5=class extends MW{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(IW(),xp(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(T$(...t),Wd(),xp(1))}getOption(...t){const e=this.getPathKey(t);if(this.optionCache.has(e))return this.optionCache.get(e);const n=this.config$.pipe(T$(...t),Wd(),xp(1));return this.optionCache.set(e,n),n}getPathKey(t){return`${t.length}:${t.join(".")}`}};b5.\u0275fac=function(){let t;return function(e){return(t||(t=ei(b5)))(e||b5)}}(),b5.\u0275prov=xt({token:b5,factory:b5.\u0275fac}),vw([CW()],b5.prototype,"config$",null),b5=vw([kW(),nU({name:"globalConfig",defaults:null})],b5);const y5="ALLOW_TELEMETRY",v5=_5();function _5(){const t=localStorage.getItem(y5);return null===t?void 0:"true"===t.toLowerCase()}let w5=class extends MW{setAllowTelemetry(t){const e=_5();localStorage.setItem(y5,t.toString()),this.ctx.patchState({allowTelemetry:t}),(void 0!==e||!1===t)&&location.reload()}};w5.\u0275fac=function(){let t;return function(e){return(t||(t=ei(w5)))(e||w5)}}(),w5.\u0275prov=xt({token:w5,factory:w5.\u0275fac}),vw([OW()],w5.prototype,"setAllowTelemetry",null),w5=vw([kW(),nU({name:"tracking",defaults:{allowTelemetry:v5}})],w5);const x5=new A,S5={cacheBusterObserver:x5},C5={cacheBusterObserver:x5,maxCacheCount:4};function E5(t,e,n){return t?{min:t[0]>e?t[0]:void 0,max:t[1]{var e;return Object.assign(Object.assign({},t),{transformMatrix:new VT(null!==(e=t.transformMatrix)&&void 0!==e?e:[])})})}class T5{constructor(t,e){this.api=t,this.globalConfig=e,e.getOption("hubmapToken").subscribe(x5)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},t=>t)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},t=>t)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},t=>t)}getTissueBlockResults(t){return this.doRequest(t=>this.api.tissueBlocks(t),t,{},t=>t)}getAggregateResults(t){return this.doRequest(t=>this.api.aggregateResults(t),t)}getOntologyTermOccurences(t){return this.doRequest(t=>this.api.ontologyTermOccurences(t),t)}getCellTypeTermOccurences(t){return this.doRequest(t=>this.api.cellTypeTermOccurences(t),t)}getScene(t){return this.doRequest(t=>this.api.scene(t),t,{},O5)}getReferenceOrganScene(t,e){return this.doRequest(t=>this.api.referenceOrganScene(t),e,{organIri:t},O5)}doRequest(t,e,n,i){const{api:r,globalConfig:s}=this,o=Object.assign(Object.assign({},function(t){var e,n;return{age:E5(null==t?void 0:t.ageRange,1,110),bmi:E5(null==t?void 0:t.bmiRange,13,83),sex:null===(n=null===(e=null==t?void 0:t.sex)||void 0===e?void 0:e.toLowerCase)||void 0===n?void 0:n.call(e),ontologyTerms:null==t?void 0:t.ontologyTerms,cellTypeTerms:null==t?void 0:t.cellTypeTerms,providers:null==t?void 0:t.tmc,technologies:null==t?void 0:t.technologies,spatial:null==t?void 0:t.spatialSearches}}(e)),n);return z_([s.getOption("remoteApiEndpoint"),s.getOption("hubmapToken")]).pipe(rf(1),eg(([t,e])=>{r.configuration.basePath=t,e&&(o.token=e)}),cp(()=>t(o)),D(t=>i?i(t):t))}}T5.\u0275fac=function(t){return new(t||T5)(Ei(eq),Ei(b5))},T5.\u0275prov=xt({token:T5,factory:T5.\u0275fac,providedIn:"root"}),vw([QW(S5)],T5.prototype,"getProviderNames",null),vw([QW(S5)],T5.prototype,"getDatasetTechnologyNames",null),vw([QW(S5)],T5.prototype,"getOntologyTreeModel",null),vw([QW(S5)],T5.prototype,"getCellTypeTreeModel",null),vw([QW(S5)],T5.prototype,"getReferenceOrgans",null),vw([QW(C5)],T5.prototype,"getTissueBlockResults",null),vw([QW(C5)],T5.prototype,"getAggregateResults",null),vw([QW(C5)],T5.prototype,"getOntologyTermOccurences",null),vw([QW(C5)],T5.prototype,"getCellTypeTermOccurences",null),vw([QW(C5)],T5.prototype,"getScene",null),vw([QW(C5)],T5.prototype,"getReferenceOrganScene",null);let k5=(()=>{class t{}return t.type="[CallToAction] Learn More",t})(),P5=(()=>{class t{}return t.type="[CallToAction] Open Dialog",t})(),A5=(()=>{class t{}return t.type="[CallToAction] Close Dialog",t})();function M5(t,e){if(1&t&&(ra(0,"div",16),oa(1,"youtube-player",17),sa()),2&t){const t=va(3);ws(1),Sa("videoId",t.videoID)}}function I5(t,e){if(1&t&&(ra(0,"mat-expansion-panel",11),ra(1,"mat-expansion-panel-header"),ra(2,"h2",12),Ja(3),sa(),sa(),ra(4,"div",13),oa(5,"markdown",14),Jo(6,M5,2,1,"div",15),sa(),sa()),2&t){const t=va(),e=t.index,n=t.$implicit;na("expanded",0===e),ws(3),tl(n.title),ws(2),ja("first",0===e),na("data",n.content),ws(1),na("ngIf",0===e)}}function D5(t,e){if(1&t&&(ra(0,"div",9),Jo(1,I5,7,6,"mat-expansion-panel",10),sa()),2&t){const t=e.$implicit;ws(1),na("ngIf",t)}}let R5=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.documentationContents=e.content||[],this.infoTitle=e.title||"",this.videoID=e.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$),ea(Q$))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"h2",4),Ja(5),sa(),ra(6,"div",5),ra(7,"mat-icon",6),fa("click",function(){return e.close()}),Ja(8,"clear"),sa(),sa(),sa(),ra(9,"mat-dialog-content",7),Jo(10,D5,2,1,"div",8),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(5),na("ngForOf",e.documentationContents))},directives:[rG,T_,sG,kh,Ah,CG,TG,NG,WG],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),t})();class N5{get length(){var t,e;return null!==(e=null===(t=N5.storage)||void 0===t?void 0:t.length)&&void 0!==e?e:0}key(t){var e,n;return null!==(n=null===(e=N5.storage)||void 0===e?void 0:e.key(t))&&void 0!==n?n:null}getItem(t,e){var n,i,r;return null!==(r=null!==(i=null===(n=N5.storage)||void 0===n?void 0:n.getItem(t))&&void 0!==i?i:e)&&void 0!==r?r:null}setItem(t,e){var n;try{return null===(n=N5.storage)||void 0===n||n.setItem(t,e),!0}catch(i){return!1}}removeItem(t){var e;null===(e=N5.storage)||void 0===e||e.removeItem(t)}clear(){var t;null===(t=N5.storage)||void 0===t||t.clear()}}N5.storage=(()=>{let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),t}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length?t:void 0}})(),N5.\u0275fac=function(t){return new(t||N5)},N5.\u0275prov=xt({token:N5,factory:N5.\u0275fac,providedIn:"root"});let L5=(()=>{class t{constructor(t){this.http=t,this.panelContent=new Jf({content:[],infoTitle:"",videoID:""})}updateData(t,e,n){this.http.get(t,{responseType:"text"}).subscribe(t=>{const i={content:this.parseMarkdown(t),infoTitle:n,videoID:e};this.panelContent.next(i)})}parseMarkdown(t){const e=[],n=t.split("# ");for(const i of n)if(i.length){const t=i.includes("\n\n")?"\n\n":"\r\n\r\n",n=i.split(t);e.push({title:n[0],content:n.splice(1).join(t)})}return e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var j5;const F5="callToActionPopupShown";let B5=j5=class{constructor(t,e,n,i,r){this.dialog=t,this.ga=e,this.storage=n,this.infoService=i,this.http=r}static ctaDatePassed(t,e=Date.now){return+e()>+new Date(t)}ngxsOnInit(t){const{expirationDate:e,popupShown:n}=t.getState(),i=this.storage.getItem(F5,`${n}`),r=j5.ctaDatePassed(e);"true"!==i&&!r&&t.dispatch(new P5)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(D(t=>this.infoService.parseMarkdown(t)))}launchLearnMore(t){this.dialog.open(R5,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:t,videoID:"UfxMpzatowE"}})}learnMore(t){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(eg(t=>this.launchLearnMore(t)))}open(t){this.dialog.open(U5,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(F5,"true"),t.patchState({popupShown:!0})}close(t){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};B5.\u0275fac=function(t){return new(t||B5)(Ei(nG),Ei(jW),Ei(N5),Ei(L5),Ei(Jv))},B5.\u0275prov=xt({token:B5,factory:B5.\u0275fac}),vw([eU(k5)],B5.prototype,"learnMore",null),vw([eU(P5)],B5.prototype,"open",null),vw([eU(A5)],B5.prototype,"close",null),B5=j5=vw([nU({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],B5);class V5{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}vw([rU([B5])],V5,"title",null),vw([rU([B5])],V5,"message",null),vw([rU([B5])],V5,"callToAction",null),vw([rU([B5])],V5,"imageUrl",null),vw([rU([B5])],V5,"expirationDate",null),vw([rU([B5])],V5,"popupShown",null);let z5=(()=>{class t{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Bc,this.closeClicked=new Bc}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"p",4),Ja(5),sa(),ra(6,"mat-icon",5),fa("click",function(){return e.close()}),Ja(7,"clear"),sa(),sa(),oa(8,"img",6),ra(9,"mat-dialog-content",7),ra(10,"div",8),Ja(11),sa(),ra(12,"a",9),fa("click",function(){return e.onDialogButtonClick()}),sa(),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(3),na("src",e.imageUrl,_r),ws(3),el(" ",e.message,""),ws(1),na("text",e.callToAction))},directives:[rG,T_,QG,sG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),t})();class U5{constructor(){this.close=()=>new A5,this.learnMore=()=>new k5}}U5.\u0275fac=function(t){return new(t||U5)},U5.\u0275cmp=Jt({type:U5,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-call-to-action",0),fa("callToActionClicked",function(){return e.learnMore()})("closeClicked",function(){return e.close()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),sa()),2&t&&na("infoTitle",Rc(1,4,e.title$))("message",Rc(2,6,e.message$))("callToAction",Rc(3,8,e.callToAction$))("imageUrl",Rc(4,10,e.imageUrl$))},directives:[z5],pipes:[$h],styles:[""],changeDetection:0}),vw([iU(V5.title)],U5.prototype,"title$",void 0),vw([iU(V5.message)],U5.prototype,"message$",void 0),vw([iU(V5.callToAction)],U5.prototype,"callToAction$",void 0),vw([iU(V5.imageUrl)],U5.prototype,"imageUrl$",void 0),vw([XY()],U5.prototype,"close",void 0),vw([XY()],U5.prototype,"learnMore",void 0);const H5=[{name:"bladder",namespace:"app",url:"assets/icons/organs/ico-organs-bladder.svg"},{name:"blood",namespace:"app",url:"assets/icons/organs/ico-organs-blood.svg"},{name:"bone-marrow",namespace:"app",url:"assets/icons/organs/ico-organs-bone-marrow.svg"},{name:"brain",namespace:"app",url:"assets/icons/organs/ico-organs-brain.svg"},{name:"eye",namespace:"app",url:"assets/icons/organs/ico-organs-eye.svg"},{name:"fallopian-tube-left",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-left.svg"},{name:"fallopian-tube-right",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-right.svg"},{name:"heart",namespace:"app",url:"assets/icons/organs/ico-organs-heart.svg"},{name:"kidney-left",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-left.svg"},{name:"kidney-right",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-right.svg"},{name:"kidney",namespace:"app",url:"assets/icons/organs/ico-organs-kidney.svg"},{name:"knee",namespace:"app",url:"assets/icons/organs/ico-organs-knee.svg"},{name:"large-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-large-intestine.svg"},{name:"larynx",namespace:"app",url:"assets/icons/organs/ico-organs-larynx.svg"},{name:"liver",namespace:"app",url:"assets/icons/organs/ico-organs-liver.svg"},{name:"lung-left",namespace:"app",url:"assets/icons/organs/ico-organs-lung-left.svg"},{name:"lung-right",namespace:"app",url:"assets/icons/organs/ico-organs-lung-right.svg"},{name:"lung",namespace:"app",url:"assets/icons/organs/ico-organs-lung.svg"},{name:"lymph-nodes",namespace:"app",url:"assets/icons/organs/ico-organs-lymph-nodes.svg"},{name:"main-bronchus",namespace:"app",url:"assets/icons/organs/ico-organs-extrapulmonary bronchus.svg"},{name:"mammary-gland",namespace:"app",url:"assets/icons/organs/ico-organs-breast.svg"},{name:"neuron",namespace:"app",url:"assets/icons/organs/ico-organs-neuron.svg"},{name:"ovaries",namespace:"app",url:"assets/icons/organs/ico-organs-ovaries.svg"},{name:"ovary-left",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-left.svg"},{name:"ovary-right",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-right.svg"},{name:"palatine-tonsil",namespace:"app",url:"assets/icons/organs/ico-organs-palatine tonsil.svg"},{name:"pancreas",namespace:"app",url:"assets/icons/organs/ico-organs-pancreas.svg"},{name:"pelvis-f",namespace:"app",url:"assets/icons/organs/ico-organs-pelvis-f.svg"},{name:"placenta",namespace:"app",url:"assets/icons/organs/ico-organs-placenta.svg"},{name:"prostate",namespace:"app",url:"assets/icons/organs/ico-organs-prostate.svg"},{name:"skin",namespace:"app",url:"assets/icons/organs/ico-organs-skin.svg"},{name:"small-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-small intestine.svg"},{name:"spinal-cord",namespace:"app",url:"assets/icons/organs/ico-organs-spinal-cord.svg"},{name:"spleen",namespace:"app",url:"assets/icons/organs/ico-organs-spleen.svg"},{name:"stomach",namespace:"app",url:"assets/icons/organs/ico-organs-stomach.svg"},{name:"thymus",namespace:"app",url:"assets/icons/organs/ico-organs-thymus.svg"},{name:"trachea",namespace:"app",url:"assets/icons/organs/ico-organs-trachea.svg"},{name:"ureter-left",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-left.svg"},{name:"ureter-right",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-right.svg"},{name:"uterus",namespace:"app",url:"assets/icons/organs/ico-organs-uterus.svg"},{name:"vasculature-thick",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thick.svg"},{name:"vasculature-thin",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thin.svg"},{name:"opacity",namespace:"app",url:"assets/icons/opacity-24px.svg"},{name:"visibility_on",namespace:"app",url:"assets/icons/visibility-on-24px.svg"},{name:"visibility_off",namespace:"app",url:"assets/icons/visibility-off-24px.svg"},{name:"expand_more",namespace:"app",url:"assets/icons/expand_more-24px.svg"},{name:"expand_less",namespace:"app",url:"assets/icons/expand_less-24px.svg"},{name:"filter",url:"assets/icons/filter.svg"}];let $5=class extends AW{constructor(t,e){super(),this.registry=t;for(const{name:n,namespace:i,url:r,html:s}of H5){const t={name:n,namespace:i,url:r&&e.bypassSecurityTrustResourceUrl(r),html:s&&e.bypassSecurityTrustHtml(s)};this.registerIconImpl(t)}}registerIcon(t){return this.registerIconImpl(t)}registerIconImpl(t){if(!this.registry||!t.url&&!t.html)return!1;const e=this.registry,n=e[this.getMethodName(t)],i=this.getArguments(t);if(!n)return!1;try{return n.apply(e,i),!0}catch(r){return!1}}getMethodName({name:t,namespace:e,url:n}){const i=["addSvgIcon"];return t||i.push("Set"),n||i.push("Literal"),e&&i.push("InNamespace"),i.join("")}getArguments({name:t,namespace:e,url:n,html:i}){return[e,t,null!=n?n:i].filter(t=>!!t)}};$5.\u0275fac=function(t){return new(t||$5)(Ei(y_,8),Ei(Sd))},$5.\u0275prov=xt({token:$5,factory:$5.\u0275fac}),vw([OW()],$5.prototype,"registerIcon",null),$5=vw([kW(),nU({name:"iconRegistry"})],$5);const G5=[XK,nZ,$5,iZ,WQ,sZ,B5,c0,QQ];let W5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[e5.forRoot(),tU.forRoot(G5,{developmentMode:!RQ.production,selectorOptions:{injectContainerState:!1}}),YY.forRoot(),c5.forRoot({disabled:RQ.production})]]}),t})(),q5=(()=>{class t{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:eQ,useExisting:J3}],imports:[[d_,GW.forRoot({gaToken:RQ.googleAnalyticsToken,appName:"eui"}),YK,nq.forRoot(()=>new tq({basePath:RQ.dbOptions.remoteApiEndpoint})),Q3,W5,t5],Q3]}),t})(),X5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,xK]]}),t})(),Y5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,ZH,lJ]]}),t})(),K5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wf,ef,ZH,lJ,e0]]}),t})(),Q5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_]]}),t})(),Z5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,X5,Y5,K5,CQ,Q5]]}),t})(),J5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,Z5]]}),t})(),t4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,bH,yH,b$,ZH,O$,k_]]}),t})(),e4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,yw,g1,FK]]}),t})(),n4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,t4,e4]]}),t})(),i4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,t4,e4,n4],t4,e4,n4]}),t})();function r4(){return(r4=Object.assign||function(t){for(var e=1;e0&&(n(s,!!t.isBeginning),t.params.watchOverflow&&t.enabled&&s[t.isLocked?"addClass":"removeClass"](e.lockClass)),r&&r.length>0&&(n(r,!!t.isEnd),t.params.watchOverflow&&t.enabled&&r[t.isLocked?"addClass":"removeClass"](e.lockClass))}},onPrevClick:function(t){var e=this;t.preventDefault(),(!e.isBeginning||e.params.loop)&&e.slidePrev()},onNextClick:function(t){var e=this;t.preventDefault(),(!e.isEnd||e.params.loop)&&e.slideNext()},init:function(){var t,e,n=this,i=n.params.navigation;n.params.navigation=function(t,e,n,i){var r=H1();return n&&Object.keys(i).forEach(function(n){if(!e[n]&&!0===e.auto){var s=r.createElement("div");s.className=i[n],t.append(s),e[n]=s}}),e}(n.$el,n.params.navigation,n.params.createElements,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),(i.nextEl||i.prevEl)&&(i.nextEl&&(t=a2(i.nextEl),n.params.uniqueNavElements&&"string"==typeof i.nextEl&&t.length>1&&1===n.$el.find(i.nextEl).length&&(t=n.$el.find(i.nextEl))),i.prevEl&&(e=a2(i.prevEl),n.params.uniqueNavElements&&"string"==typeof i.prevEl&&e.length>1&&1===n.$el.find(i.prevEl).length&&(e=n.$el.find(i.prevEl))),t&&t.length>0&&t.on("click",n.navigation.onNextClick),e&&e.length>0&&e.on("click",n.navigation.onPrevClick),d2(n.navigation,{$nextEl:t,nextEl:t&&t[0],$prevEl:e,prevEl:e&&e[0]}),n.enabled||(t&&t.addClass(i.lockClass),e&&e.addClass(i.lockClass)))},destroy:function(){var t=this,e=t.navigation,n=e.$nextEl,i=e.$prevEl;n&&n.length&&(n.off("click",t.navigation.onNextClick),n.removeClass(t.params.navigation.disabledClass)),i&&i.length&&(i.off("click",t.navigation.onPrevClick),i.removeClass(t.params.navigation.disabledClass))}},o4={name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){p2(this,{navigation:r4({},s4)})},on:{init:function(t){t.navigation.init(),t.navigation.update()},toEdge:function(t){t.navigation.update()},fromEdge:function(t){t.navigation.update()},destroy:function(t){t.navigation.destroy()},"enable disable":function(t){var e=t.navigation,n=e.$nextEl,i=e.$prevEl;n&&n[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass),i&&i[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass)},click:function(t,e){var n=t.navigation,i=n.$nextEl,r=n.$prevEl,s=e.target;if(t.params.navigation.hideOnClick&&!a2(s).is(r)&&!a2(s).is(i)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===s||t.pagination.el.contains(s)))return;var o;i?o=i.hasClass(t.params.navigation.hiddenClass):r&&(o=r.hasClass(t.params.navigation.hiddenClass)),t.emit(!0===o?"navigationShow":"navigationHide"),i&&i.toggleClass(t.params.navigation.hiddenClass),r&&r.toggleClass(t.params.navigation.hiddenClass)}}}};let a4=(()=>{class t{constructor(){R2.use([o4])}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,m3]]}),t})(),l4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})(),c4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,xK,k_,a4,l4]]}),t})(),u4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Gp,c4]]}),t})(),h4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:yZ,useValue:bZ}],imports:[[Td,By,k_]]}),t})(),d4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,gZ]]}),t})(),p4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,gZ]]}),t})(),f4=(()=>{class t{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(t,e){const n=function(t,e){return e.get(Ol).resolveComponentFactory(t).inputs}(t,e.injector),i=e.strategyFactory||new Kf(t,e.injector),r=function(t){const e={};return t.forEach(({propName:t,templateName:n})=>{e[function(t){return t.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}(n)]=t}),e}(n);class s extends Zf{constructor(t){super(),this.injector=t}get ngElementStrategy(){if(!this._ngElementStrategy){const t=this._ngElementStrategy=i.create(this.injector||e.injector);n.forEach(({propName:e})=>{if(!this.hasOwnProperty(e))return;const n=this[e];delete this[e],t.setInputValue(e,n)})}return this._ngElementStrategy}attributeChangedCallback(t,e,n,i){this.ngElementStrategy.setInputValue(r[t],n)}connectedCallback(){let t=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),t=!0),this.ngElementStrategy.connect(this),t||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(t=>{const e=function(t,e,n){if("function"!=typeof CustomEvent){const i=t.createEvent("CustomEvent");return i.initCustomEvent(e,!1,!1,n),i}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:n})}(this.ownerDocument,t.name,t.value);this.dispatchEvent(e)})}}return s.observedAttributes=Object.keys(r),n.forEach(({propName:t})=>{Object.defineProperty(s.prototype,t,{get(){return this.ngElementStrategy.getInputValue(t)},set(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),s}(K3,{injector:this.injector});customElements.define("ccf-eui",t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(No))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:TQ,useValue:"hubmap-theme-light"},{provide:Tf,useExisting:OQ}],imports:[[By,Td,q5,h4,J5,i4,k_,K5,u4,d4,EK,LK,WK,yw,p4,JK,sw,Q5]]}),t})();RQ.production&&function(){if(Bu)throw new Error("Cannot enable prod mode after platform setup.");Fu=!1}(),Ed().bootstrapModule(f4).catch(t=>console.error(t))},91052:function(t){function e(t,e,n,i,r,s,o){try{var a=t[s](o),l=a.value}catch(c){return void n(c)}a.done?e(l):Promise.resolve(l).then(i,r)}t.exports=function(t){return function(){var n=this,i=arguments;return new Promise(function(r,s){var o=t.apply(n,i);function a(t){e(o,r,s,a,l,"next",t)}function l(t){e(o,r,s,a,l,"throw",t)}a(void 0)})}},t.exports.default=t.exports,t.exports.__esModule=!0},61948:function(t){t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.default=t.exports,t.exports.__esModule=!0},34321:function(t){function e(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=e=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=e=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),e(n)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0},91741:function(t){function e(t){return Promise.resolve().then(function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}e.keys=function(){return[]},e.resolve=e,e.id=91741,t.exports=e},88509:function(t,e,n){"use strict";t.exports=n.p+"7693192ac33f7744a3ca.ts"},9521:function(){},49125:function(){},75307:function(){}},function(t){t(t.s=51316)}]); \ No newline at end of file +var q6e=Object.defineProperty,Q6e=Object.defineProperties,Z6e=Object.getOwnPropertyDescriptors,YM=Object.getOwnPropertySymbols,bZ=Object.prototype.hasOwnProperty,wZ=Object.prototype.propertyIsEnumerable,Yr=Math.pow,SZ=(t,e,n)=>e in t?q6e(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,yt=(t,e)=>{for(var n in e||(e={}))bZ.call(e,n)&&SZ(t,n,e[n]);if(YM)for(var n of YM(e))wZ.call(e,n)&&SZ(t,n,e[n]);return t},zn=(t,e)=>Q6e(t,Z6e(e)),CZ=(t,e)=>{var n={};for(var i in t)bZ.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&YM)for(var i of YM(t))e.indexOf(i)<0&&wZ.call(t,i)&&(n[i]=t[i]);return n};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{71440:function(t,e,n){var i=n(91052).default;t.exports=function t(e,n,i){function r(o,a){if(!n[o]){if(!e[o]){if(s)return s(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[o]={exports:{}};e[o][0].call(c.exports,function(t){return r(e[o][1][t]||t)},c,c.exports,t,e,n,i)}return n[o].exports}for(var s=void 0,o=0;o0&&r[r.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]0?o-4:o;for(n=0;n>16&255,l[u++]=e>>8&255,l[u++]=255&e;return 2===a&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,l[u++]=255&e),1===a&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e),l},n.fromByteArray=function(t){for(var e,n=t.length,r=n%3,s=[],o=16383,a=0,l=n-r;al?l:a+o));return 1===r?s.push(i[(e=t[n-1])>>2]+i[e<<4&63]+"=="):2===r&&s.push(i[(e=(t[n-2]<<8)+t[n-1])>>10]+i[e>>4&63]+i[e<<2&63]+"="),s.join("")};for(var i=[],r=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function u(t){return i[t>>18&63]+i[t>>12&63]+i[t>>6&63]+i[63&t]}function h(t,e,n){for(var i=[],r=e;r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"\ufffd";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"\ufffd";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"\ufffd"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):e}function u(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function d(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}n.StringDecoder=s,s.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(r>0&&(t.lastNeed=r-1),r):--i=0?(r>0&&(t.lastNeed=r-2),r):--i=0?(r>0&&(2===r?r=0:t.lastNeed=r-3),r):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var i=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},{"safe-buffer":4}],6:[function(t,e,n){(function(e){(function(){"use strict";var e=t("base64-js"),i=t("ieee754");n.Buffer=o,n.SlowBuffer=function(t){return+t!=t&&(t=0),o.alloc(+t)},n.INSPECT_MAX_BYTES=50;var r=2147483647;function s(t){if(t>r)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return e.__proto__=o.prototype,e}function o(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return c(t)}return a(t,e,n)}function a(t,e,n){if("string"==typeof t)return function(t,e){if(("string"!=typeof e||""===e)&&(e="utf8"),!o.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var n=0|d(t,e),i=s(n),r=i.write(t,e);return r!==n&&(i=i.slice(0,r)),i}(t,e);if(ArrayBuffer.isView(t))return u(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,n){if(e<0||t.byteLength=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|t}function d(t,e){if(o.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return L(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(t).length;default:if(r)return i?-1:L(t).length;e=(""+e).toLowerCase(),r=!0}}function p(t,e,n){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0)||(n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,n);case"utf8":case"utf-8":return C(this,e,n);case"ascii":return E(this,e,n);case"latin1":case"binary":return O(this,e,n);case"base64":return S(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,n);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function f(t,e,n){var i=t[e];t[e]=t[n],t[n]=i}function g(t,e,n,i,r){if(0===t.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=r?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(r)return-1;n=t.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof e&&(e=o.from(e,i)),o.isBuffer(e))return 0===e.length?-1:m(t,e,n,i,r);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):m(t,[e],n,i,r);throw new TypeError("val must be string, number or Buffer")}function m(t,e,n,i,r){var s,o=1,a=t.length,l=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(r){var u=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){for(var h=!0,d=0;dr&&(i=r):i=r;var s=e.length;i>s/2&&(i=s/2);for(var o=0;o>8,r.push(n%256),r.push(i);return r}(e,t.length-n),t,n,i)}function S(t,n,i){return e.fromByteArray(0===n&&i===t.length?t:t.slice(n,i))}function C(t,e,n){n=Math.min(t.length,n);for(var i=[],r=e;r239?4:c>223?3:c>191?2:1;if(r+h<=n)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(s=t[r+1]))&&(l=(31&c)<<6|63&s)>127&&(u=l);break;case 3:o=t[r+2],128==(192&(s=t[r+1]))&&128==(192&o)&&(l=(15&c)<<12|(63&s)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:o=t[r+2],a=t[r+3],128==(192&(s=t[r+1]))&&128==(192&o)&&128==(192&a)&&(l=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(i.push((u-=65536)>>>10&1023|55296),u=56320|1023&u),i.push(u),r+=h}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);for(var n="",i=0;ie&&(t+=" ... "),""},o.prototype.compare=function(t,e,n,i,r){if(B(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),e<0||n>t.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&e>=n)return 0;if(i>=r)return-1;if(e>=n)return 1;if(this===t)return 0;for(var s=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(e>>>=0),l=Math.min(s,a),c=this.slice(i,r),u=t.slice(e,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-e;if((void 0===n||n>r)&&(n=r),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var s=!1;;)switch(i){case"hex":return b(this,t,e,n);case"utf8":case"utf-8":return y(this,t,e,n);case"ascii":return v(this,t,e,n);case"latin1":case"binary":return _(this,t,e,n);case"base64":return w(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,t,e,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function E(t,e,n){var i="";n=Math.min(t.length,n);for(var r=e;ri)&&(n=i);for(var r="",s=e;sn)throw new RangeError("Trying to access beyond buffer length")}function A(t,e,n,i,r,s){if(!o.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||et.length)throw new RangeError("Index out of range")}function M(t,e,n,i,r,s){if(n+i>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function I(t,e,n,r,s){return e=+e,n>>>=0,s||M(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function D(t,e,n,r,s){return e=+e,n>>>=0,s||M(t,0,n,8),i.write(t,e,n,r,52,8),n+8}o.prototype.slice=function(t,e){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t],r=1,s=0;++s>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t+--e],r=1;e>0&&(r*=256);)i+=this[t+--e]*r;return i},o.prototype.readUInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),this[t]},o.prototype.readUInt16LE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUInt16BE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},o.prototype.readUInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t],r=1,s=0;++s=(r*=128)&&(i-=Math.pow(2,8*e)),i},o.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||P(t,e,this.length);for(var i=e,r=1,s=this[t+--i];i>0&&(r*=256);)s+=this[t+--i]*r;return s>=(r*=128)&&(s-=Math.pow(2,8*e)),s},o.prototype.readInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},o.prototype.readInt16LE=function(t,e){t>>>=0,e||P(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt16BE=function(t,e){t>>>=0,e||P(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readFloatLE=function(t,e){return t>>>=0,e||P(t,4,this.length),i.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,e){return t>>>=0,e||P(t,4,this.length),i.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,e){return t>>>=0,e||P(t,8,this.length),i.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,e){return t>>>=0,e||P(t,8,this.length),i.read(this,t,!1,52,8)},o.prototype.writeUIntLE=function(t,e,n,i){t=+t,e>>>=0,n>>>=0,i||A(this,t,e,n,Math.pow(2,8*n)-1,0);var r=1,s=0;for(this[e]=255&t;++s>>=0,n>>>=0,i||A(this,t,e,n,Math.pow(2,8*n)-1,0);var r=n-1,s=1;for(this[e+r]=255&t;--r>=0&&(s*=256);)this[e+r]=t/s&255;return e+n},o.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,255,0),this[e]=255&t,e+1},o.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},o.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeIntLE=function(t,e,n,i){if(t=+t,e>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,t,e,n,r-1,-r)}var s=0,o=1,a=0;for(this[e]=255&t;++s>0)-a&255;return e+n},o.prototype.writeIntBE=function(t,e,n,i){if(t=+t,e>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,t,e,n,r-1,-r)}var s=n-1,o=1,a=0;for(this[e+s]=255&t;--s>=0&&(o*=256);)t<0&&0===a&&0!==this[e+s+1]&&(a=1),this[e+s]=(t/o>>0)-a&255;return e+n},o.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},o.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},o.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeFloatLE=function(t,e,n){return I(this,t,e,!0,n)},o.prototype.writeFloatBE=function(t,e,n){return I(this,t,e,!1,n)},o.prototype.writeDoubleLE=function(t,e,n){return D(this,t,e,!0,n)},o.prototype.writeDoubleBE=function(t,e,n){return D(this,t,e,!1,n)},o.prototype.copy=function(t,e,n,i){if(!o.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&0!==i&&(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e=0;--s)t[s+e]=this[s+n];else Uint8Array.prototype.set.call(t,this.subarray(n,i),e);return r},o.prototype.fill=function(t,e,n,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!o.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===t.length){var r=t.charCodeAt(0);("utf8"===i&&r<128||"latin1"===i)&&(t=r)}}else"number"==typeof t&&(t&=255);if(e<0||this.length>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(s=e;s55295&&n<57344){if(!r){if(n>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(e-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(e-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((e-=1)<0)break;s.push(n)}else if(n<2048){if((e-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function j(t){return e.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(R,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function F(t,e,n,i){for(var r=0;r=e.length||r>=t.length);++r)e[r+n]=t[r];return r}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}}).call(this)}).call(this,t("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(t,e,n){"use strict";e.exports=function t(e){return null===e||"object"!=typeof e||null!=e.toJSON?JSON.stringify(e):Array.isArray(e)?"["+e.reduce((e,n,i)=>e+(0===i?"":",")+t(void 0===n||"symbol"==typeof n?null:n),"")+"]":"{"+Object.keys(e).sort().reduce((n,i,r)=>void 0===e[i]||"symbol"==typeof e[i]?n:n+(0===n.length?"":",")+t(i)+":"+t(e[i]),"")+"}"}},{}],8:[function(t,e,n){"use strict";var i,r="object"==typeof Reflect?Reflect:null,s=r&&"function"==typeof r.apply?r.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)};i=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var o=Number.isNaN||function(t){return t!=t};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(t,e){return new Promise(function(n,i){function r(n){t.removeListener(e,s),i(n)}function s(){"function"==typeof t.removeListener&&t.removeListener("error",r),n([].slice.call(arguments))}b(t,e,s,{once:!0}),"error"!==e&&function(t,e,n){"function"==typeof t.on&&b(t,"error",e,n)}(t,r,{once:!0})})},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function c(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function u(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function h(t,e,n,i){var r,s,o;if(c(n),void 0===(s=t._events)?(s=t._events=Object.create(null),t._eventsCount=0):(void 0!==s.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),s=t._events),o=s[e]),void 0===o)o=s[e]=n,++t._eventsCount;else if("function"==typeof o?o=s[e]=i?[n,o]:[o,n]:i?o.unshift(n):o.push(n),(r=u(t))>0&&o.length>r&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,function(t){console&&console.warn&&console.warn(t)}(a)}return t}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},r=d.bind(i);return r.listener=n,i.wrapFn=r,r}function f(t,e,n){var i=t._events;if(void 0===i)return[];var r=i[e];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var l=r[t];if(void 0===l)return!1;if("function"==typeof l)s(l,this,e);else{var c=l.length,u=m(l,c);for(n=0;n=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},a.prototype.listeners=function(t){return f(this,t,!0)},a.prototype.rawListeners=function(t){return f(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},a.prototype.listenerCount=g,a.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},{}],9:[function(t,e,n){n.read=function(t,e,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,h=n?r-1:0,d=n?-1:1,p=t[e+h];for(h+=d,s=p&(1<<-u)-1,p>>=-u,u+=a;u>0;s=256*s+t[e+h],h+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+t[e+h],h+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,i),s-=c}return(p?-1:1)*o*Math.pow(2,s-i)},n.write=function(t,e,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=i?0:s-1,f=i?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(a=0,o=u):o+h>=1?(a=(e*l-1)*Math.pow(2,r),o+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,r),o=0));r>=8;t[n+p]=255&a,p+=f,a/=256,r-=8);for(o=o<0;t[n+p]=255&o,p+=f,o/=256,c-=8);t[n+p-f]|=128*g}},{}],10:[function(t,e,n){e.exports="function"==typeof Object.create?function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},{}],11:[function(t,e,n){"use strict";const{isArray:r,isObject:s,isString:o}=t("./types"),{asArray:a}=t("./util"),{prependBase:l}=t("./url"),c=t("./JsonLdError"),u=t("./ResolvedContext");function h(t){throw new c("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:t})}function d({context:t,base:e}){if(!t)return;const n=t["@context"];if(o(n))t["@context"]=l(e,n);else if(r(n))for(let i=0;i10)throw new c("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"loading remote context failed":"context overflow",max:10});if(a.has(e))throw new c("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"recursive context inclusion":"context overflow",url:e});let i,l;a.add(e);try{l=yield n(e),i=l.document||null,o(i)&&(i=JSON.parse(i))}catch(u){throw new c("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:e,cause:u})}if(!s(i))throw new c("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:e});return i="@context"in i?{"@context":i["@context"]}:{"@context":{}},l.contextUrl&&(r(i["@context"])||(i["@context"]=[i["@context"]]),i["@context"].push(l.contextUrl)),{context:i,remoteDoc:l}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(t,e,n){"use strict";e.exports=class extends Error{constructor(t="An unspecified JSON-LD error occurred.",e="jsonld.Error",n={}){super(t),this.name=e,this.message=t,this.details=n}}},{}],13:[function(t,e,n){"use strict";e.exports=t=>{class e{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(e,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(e.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:e}),e.compact=function(e,n){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):t.compact(e,n)},e.expand=function(e){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):t.expand(e)},e.flatten=function(e){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):t.flatten(e)},e}},{}],14:[function(t,e,n){"use strict";e.exports=t("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(t,e,n){"use strict";e.exports=class{constructor(){this._requests={}}wrapLoader(t){const e=this;return e._loader=t,function(){return e.add.apply(e,arguments)}}add(t){var e=this;return i(function*(){let n=e._requests[t];if(n)return Promise.resolve(n);n=e._requests[t]=e._loader(t);try{return yield n}finally{delete e._requests[t]}})()}}},{}],16:[function(t,e,n){"use strict";const i=t("lru-cache");e.exports=class{constructor({document:t}){this.document=t,this.cache=new i({max:10})}getProcessed(t){return this.cache.get(t)}setProcessed(t,e){this.cache.set(t,e)}}},{"lru-cache":33}],17:[function(t,e,n){"use strict";const r=t("./JsonLdError"),{isArray:s,isObject:o,isString:a,isUndefined:l}=t("./types"),{isList:c,isValue:u,isGraph:h,isSimpleGraph:d,isSubjectReference:p}=t("./graphTypes"),{expandIri:f,getContextValue:g,isKeyword:m,process:b,processingMode:y}=t("./context"),{removeBase:v,prependBase:_}=t("./url"),{addValue:w,asArray:x,compareShortestLeast:S}=t("./util"),C={};function E(t,e,n){if("@nest"!==f(t,e,{vocab:!0},n))throw new r("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}e.exports=C,C.compact=function(){var t=i(function*({activeCtx:t,activeProperty:e=null,element:n,options:i={},compactionMap:f=(()=>{})}){if(s(n)){let r=[];for(let s=0;s1&&(T=Array.from(T).sort());const k=t;for(const e of T){const n=C.compactIri({activeCtx:k,iri:e,relativeTo:{vocab:!0}}),r=g(S,n,"@context");l(r)||(t=yield b({activeCtx:t,localCtx:r,options:i,propagate:!1}))}const P=Object.keys(n).sort();for(const l of P){const p=n[l];if("@id"!==l)if("@type"!==l)if("@reverse"!==l)if("@preserve"!==l)if("@index"!==l)if("@graph"!==l&&"@list"!==l&&"@included"!==l&&m(l)){const e=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,e,p)}else{if(!s(p))throw new r("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===p.length){const e=C.compactIri({activeCtx:t,iri:l,value:p,relativeTo:{vocab:!0},reverse:v}),n=t.mappings.has(e)?t.mappings.get(e)["@nest"]:null;let r=_;n&&(E(t,n,i),o(_[n])||(_[n]={}),r=_[n]),w(r,e,p,{propertyIsArray:!0})}for(const e of p){const n=C.compactIri({activeCtx:t,iri:l,value:e,relativeTo:{vocab:!0},reverse:v}),r=t.mappings.has(n)?t.mappings.get(n)["@nest"]:null;let p=_;r&&(E(t,r,i),o(_[r])||(_[r]={}),p=_[r]);const m=g(t,n,"@container")||[],b=h(e),y=c(e);let S;y?S=e["@list"]:b&&(S=e["@graph"]);let O=yield C.compact({activeCtx:t,activeProperty:n,element:y||b?S:e,options:i,compactionMap:f});if(y){if(s(O)||(O=[O]),m.includes("@list")){w(p,n,O,{valueIsArray:!0,allowDuplicate:!0});continue}O={[C.compactIri({activeCtx:t,iri:"@list",relativeTo:{vocab:!0}})]:O},"@index"in e&&(O[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=e["@index"])}if(b)if(m.includes("@graph")&&(m.includes("@id")||m.includes("@index")&&d(e))){let r;p.hasOwnProperty(n)?r=p[n]:p[n]=r={};const s=(m.includes("@id")?e["@id"]:e["@index"])||C.compactIri({activeCtx:t,iri:"@none",relativeTo:{vocab:!0}});w(r,s,O,{propertyIsArray:!i.compactArrays||m.includes("@set")})}else m.includes("@graph")&&d(e)?(s(O)&&O.length>1&&(O={"@included":O}),w(p,n,O,{propertyIsArray:!i.compactArrays||m.includes("@set")})):(s(O)&&1===O.length&&i.compactArrays&&(O=O[0]),O={[C.compactIri({activeCtx:t,iri:"@graph",relativeTo:{vocab:!0}})]:O},"@id"in e&&(O[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]=e["@id"]),"@index"in e&&(O[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=e["@index"]),w(p,n,O,{propertyIsArray:!i.compactArrays||m.includes("@set")}));else if(m.includes("@language")||m.includes("@index")||m.includes("@id")||m.includes("@type")){let r,s;if(p.hasOwnProperty(n)?r=p[n]:p[n]=r={},m.includes("@language"))u(O)&&(O=O["@value"]),s=e["@language"];else if(m.includes("@index")){const i=g(t,n,"@index")||"@index",r=C.compactIri({activeCtx:t,iri:i,relativeTo:{vocab:!0}});if("@index"===i)s=e["@index"],delete O[r];else{let t;if([s,...t]=x(O[i]||[]),a(s))switch(t.length){case 0:delete O[i];break;case 1:O[i]=t[0];break;default:O[i]=t}else s=null}}else if(m.includes("@id")){const e=C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}});s=O[e],delete O[e]}else if(m.includes("@type")){const r=C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}});let o;switch([s,...o]=x(O[r]||[]),o.length){case 0:delete O[r];break;case 1:O[r]=o[0];break;default:O[r]=o}1===Object.keys(O).length&&"@id"in e&&(O=yield C.compact({activeCtx:t,activeProperty:n,element:{"@id":e["@id"]},options:i,compactionMap:f}))}s||(s=C.compactIri({activeCtx:t,iri:"@none",relativeTo:{vocab:!0}})),w(r,s,O,{propertyIsArray:m.includes("@set")})}else{const t=!i.compactArrays||m.includes("@set")||m.includes("@list")||s(O)&&0===O.length||"@list"===l||"@graph"===l;w(p,n,O,{propertyIsArray:t})}}}else{if((g(t,e,"@container")||[]).includes("@index"))continue;const n=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,n,p)}else{const n=yield C.compact({activeCtx:t,activeProperty:e,element:p,options:i,compactionMap:f});s(n)&&0===n.length||w(_,l,n)}else{const e=yield C.compact({activeCtx:t,activeProperty:"@reverse",element:p,options:i,compactionMap:f});for(const n in e)if(t.mappings.has(n)&&t.mappings.get(n).reverse){const r=e[n],s=(g(t,n,"@container")||[]).includes("@set")||!i.compactArrays;w(_,n,r,{propertyIsArray:s}),delete e[n]}if(Object.keys(e).length>0){const n=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,n,e)}}else{let e=x(p).map(t=>C.compactIri({activeCtx:S,iri:t,relativeTo:{vocab:!0}}));1===e.length&&(e=e[0]);const n=C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}}),i=(g(t,n,"@container")||[]).includes("@set")&&y(t,1.1)||s(e)&&0===p.length;w(_,n,e,{propertyIsArray:i})}else{let e=x(p).map(e=>C.compactIri({activeCtx:t,iri:e,relativeTo:{vocab:!1},base:i.base}));1===e.length&&(e=e[0]),_[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]=e}}return _}return n});return function(e){return t.apply(this,arguments)}}(),C.compactIri=({activeCtx:t,iri:e,value:n=null,relativeTo:i={vocab:!1},reverse:s=!1,base:a=null})=>{if(null===e)return e;t.isPropertyTermScoped&&t.previousContext&&(t=t.previousContext);const l=t.getInverse();if(m(e)&&e in l&&"@none"in l[e]&&"@type"in l[e]["@none"]&&"@none"in l[e]["@none"]["@type"])return l[e]["@none"]["@type"]["@none"];if(i.vocab&&e in l){const i=t["@language"]||"@none",r=[];o(n)&&"@index"in n&&!("@graph"in n)&&r.push("@index","@index@set"),o(n)&&"@preserve"in n&&(n=n["@preserve"][0]),h(n)?("@index"in n&&r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n&&r.push("@graph@id","@graph@id@set"),r.push("@graph","@graph@set","@set"),"@index"in n||r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n||r.push("@graph@id","@graph@id@set")):o(n)&&!u(n)&&r.push("@id","@id@set","@type","@set@type");let a="@language",l="@null";if(s)a="@type",l="@reverse",r.push("@set");else if(c(n)){"@index"in n||r.push("@list");const t=n["@list"];if(0===t.length)a="@any",l="@none";else{let e=0===t.length?i:null,n=null;for(let i=0;it.includes("_"));t&&a.push(t.replace(/^[^_]+_/,"_"))}a.push("@none");const l=t.inverse[e];for(const o of i){if(!(o in l))continue;const t=l[o][r];for(const e of a)if(e in t)return t[e]}return null}(t,e,n,r,a,l);if(null!==d)return d}if(i.vocab&&"@vocab"in t){const n=t["@vocab"];if(0===e.indexOf(n)&&e!==n){const i=e.substr(n.length);if(!t.mappings.has(i))return i}}let d=null;const p=[];let f=t.fastCurieMap;const g=e.length-1;for(let r=0;r=0;--r){const i=p[r],s=i.terms;for(const r of s){const s=r+":"+e.substr(i.iri.length);t.mappings.get(r)._prefix&&(!t.mappings.has(s)||null===n&&t.mappings.get(s)["@id"]===e)&&(null===d||S(s,d)<0)&&(d=s)}}if(null!==d)return d;for(const[o,c]of t.mappings)if(c&&c._prefix&&e.startsWith(o+":"))throw new r(`Absolute IRI "${e}" confused with prefix "${o}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:t});return i.vocab?e:"@base"in t?t["@base"]?v(_(a,t["@base"]),e):e:v(a,e)},C.compactValue=({activeCtx:t,activeProperty:e,value:n,options:i})=>{if(u(n)){const i=g(t,e,"@type"),r=g(t,e,"@language"),s=g(t,e,"@direction"),o=g(t,e,"@container")||[],l="@index"in n&&!o.includes("@index");if(!l&&"@none"!==i&&(n["@type"]===i||"@language"in n&&n["@language"]===r&&"@direction"in n&&n["@direction"]===s||"@language"in n&&n["@language"]===r||"@direction"in n&&n["@direction"]===s))return n["@value"];const c=Object.keys(n).length,u=1===c||2===c&&"@index"in n&&!l,h="@language"in t,d=a(n["@value"]),p=t.mappings.has(e)&&null===t.mappings.get(e)["@language"];if(u&&"@none"!==i&&(!h||!d||p))return n["@value"];const f={};return l&&(f[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=n["@index"]),"@type"in n?f[C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}})]=C.compactIri({activeCtx:t,iri:n["@type"],relativeTo:{vocab:!0}}):"@language"in n&&(f[C.compactIri({activeCtx:t,iri:"@language",relativeTo:{vocab:!0}})]=n["@language"]),"@direction"in n&&(f[C.compactIri({activeCtx:t,iri:"@direction",relativeTo:{vocab:!0}})]=n["@direction"]),f[C.compactIri({activeCtx:t,iri:"@value",relativeTo:{vocab:!0}})]=n["@value"],f}const r=f(t,e,{vocab:!0},i),s=g(t,e,"@type"),o=C.compactIri({activeCtx:t,iri:n["@id"],relativeTo:{vocab:"@vocab"===s},base:i.base});return"@id"===s||"@vocab"===s||"@graph"===r?o:{[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]:o}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(t,e,n){"use strict";const i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#";e.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:i,RDF_LIST:i+"List",RDF_FIRST:i+"first",RDF_REST:i+"rest",RDF_NIL:i+"nil",RDF_TYPE:i+"type",RDF_PLAIN_LITERAL:i+"PlainLiteral",RDF_XML_LITERAL:i+"XMLLiteral",RDF_JSON_LITERAL:i+"JSON",RDF_OBJECT:i+"object",RDF_LANGSTRING:i+"langString",XSD:r,XSD_BOOLEAN:r+"boolean",XSD_DOUBLE:r+"double",XSD_INTEGER:r+"integer",XSD_STRING:r+"string"}},{}],19:[function(t,e,n){"use strict";const r=t("./util"),s=t("./JsonLdError"),{isArray:o,isObject:a,isString:l,isUndefined:c}=t("./types"),{isAbsolute:u,isRelative:h,prependBase:d}=t("./url"),{asArray:p,compareShortestLeast:f}=t("./util"),g=new Map,m=/^@[a-zA-Z]+$/,b={};function y(t,e,n,i,r,s){if(null===e||!l(e)||b.isKeyword(e))return e;if(e.match(m))return null;if(i&&i.hasOwnProperty(e)&&!0!==r.get(e)&&b.createTermDefinition({activeCtx:t,localCtx:i,term:e,defined:r,options:s}),(n=n||{}).vocab){const n=t.mappings.get(e);if(null===n)return null;if(a(n)&&"@id"in n)return n["@id"]}const o=e.indexOf(":");if(o>0){const n=e.substr(0,o),a=e.substr(o+1);if("_"===n||0===a.indexOf("//"))return e;i&&i.hasOwnProperty(n)&&b.createTermDefinition({activeCtx:t,localCtx:i,term:n,defined:r,options:s});const l=t.mappings.get(n);if(l&&l._prefix)return l["@id"]+a;if(u(e))return e}if(n.vocab&&"@vocab"in t)return t["@vocab"]+e;if(n.base&&"@base"in t){if(t["@base"])return d(d(s.base,t["@base"]),e)}else if(n.base)return d(s.base,e);return e}function v(t,e){if(!t||"object"!=typeof t||!e||"object"!=typeof e)return t===e;const n=Array.isArray(t);if(n!==Array.isArray(e))return!1;if(n){if(t.length!==e.length)return!1;for(let n=0;n{if(i.has(n)){if(i.get(n))return;throw new s("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:e,term:n})}let h;if(i.set(n,!1),e.hasOwnProperty(n)&&(h=e[n]),"@type"===n&&a(h)&&"@set"===(h["@container"]||"@set")&&b.processingMode(t,1.1)){const t=["@container","@id","@protected"],i=Object.keys(h);if(0===i.length||i.some(e=>!t.includes(e)))throw new s("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:e,term:n})}else{if(b.isKeyword(n))throw new s("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:e,term:n});if(n.match(m))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:n});if(""===n)throw new s("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:e})}const d=t.mappings.get(n);t.mappings.has(n)&&t.mappings.delete(n);let p=!1;if((l(h)||null===h)&&(p=!0,h={"@id":h}),!a(h))throw new s("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:e});const f={};t.mappings.set(n,f),f.reverse=!1;const g=["@container","@id","@language","@reverse","@type"];b.processingMode(t,1.1)&&g.push("@context","@direction","@index","@nest","@prefix","@protected");for(const o in h)if(!g.includes(o))throw new s("Invalid JSON-LD syntax; a term definition must not contain "+o,"jsonld.SyntaxError",{code:"invalid term definition",context:e});const _=n.indexOf(":");if(f._termHasColon=_>0,"@reverse"in h){if("@id"in h)throw new s("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});if("@nest"in h)throw new s("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});const o=h["@reverse"];if(!l(o))throw new s("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(!b.isKeyword(o)&&o.match(m))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:o}),void(d?t.mappings.set(n,d):t.mappings.delete(n));const a=y(t,o,{vocab:!0,base:!1},e,i,r);if(!u(a))throw new s("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});f["@id"]=a,f.reverse=!0}else if("@id"in h){let o=h["@id"];if(o&&!l(o))throw new s("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(null===o)f["@id"]=null;else{if(!b.isKeyword(o)&&o.match(m))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:o}),void(d?t.mappings.set(n,d):t.mappings.delete(n));if(o!==n){if(o=y(t,o,{vocab:!0,base:!1},e,i,r),!u(o)&&!b.isKeyword(o))throw new s("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(n.match(/(?::[^:])|\//)&&y(t,n,{vocab:!0,base:!1},e,new Map(i).set(n,!0),r)!==o)throw new s("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});f["@id"]=o,f._prefix=p&&!f._termHasColon&&o.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in f))if(f._termHasColon){const s=n.substr(0,_);if(e.hasOwnProperty(s)&&b.createTermDefinition({activeCtx:t,localCtx:e,term:s,defined:i,options:r}),t.mappings.has(s)){const e=n.substr(_+1);f["@id"]=t.mappings.get(s)["@id"]+e}else f["@id"]=n}else if("@type"===n)f["@id"]=n;else{if(!("@vocab"in t))throw new s("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e,term:n});f["@id"]=t["@vocab"]+n}if((!0===h["@protected"]||!0===i.get("@protected")&&!1!==h["@protected"])&&(t.protected[n]=!0,f.protected=!0),i.set(n,!0),"@type"in h){let n=h["@type"];if(!l(n))throw new s("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:e});if("@json"===n||"@none"===n){if(b.processingMode(t,1))throw new s(`Invalid JSON-LD syntax; an @context @type value must not be "${n}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:e})}else if("@id"!==n&&"@vocab"!==n){if(n=y(t,n,{vocab:!0,base:!1},e,i,r),!u(n))throw new s("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:e});if(0===n.indexOf("_:"))throw new s("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:e})}f["@type"]=n}if("@container"in h){const n=l(h["@container"])?[h["@container"]]:h["@container"]||[],i=["@list","@set","@index","@language"];let r=!0;const a=n.includes("@set");if(b.processingMode(t,1.1)){if(i.push("@graph","@id","@type"),n.includes("@list")){if(1!==n.length)throw new s("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:e})}else if(n.includes("@graph")){if(n.some(t=>"@graph"!==t&&"@id"!==t&&"@index"!==t&&"@set"!==t))throw new s("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:e})}else r&=n.length<=(a?2:1);if(n.includes("@type")&&(f["@type"]=f["@type"]||"@id",!["@id","@vocab"].includes(f["@type"])))throw new s("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:e})}else r&=!o(h["@container"]),r&=n.length<=1;if(r&=n.every(t=>i.includes(t)),r&=!(a&&n.includes("@list")),!r)throw new s("Invalid JSON-LD syntax; @context @container value must be one of the following: "+i.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:e});if(f.reverse&&!n.every(t=>["@index","@set"].includes(t)))throw new s("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});f["@container"]=n}if("@index"in h){if(!("@container"in h)||!f["@container"].includes("@index"))throw new s(`Invalid JSON-LD syntax; @index without @index in @container: "${h["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:e});if(!l(h["@index"])||0===h["@index"].indexOf("@"))throw new s(`Invalid JSON-LD syntax; @index must expand to an IRI: "${h["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:e});f["@index"]=h["@index"]}if("@context"in h&&(f["@context"]=h["@context"]),"@language"in h&&!("@type"in h)){let t=h["@language"];if(null!==t&&!l(t))throw new s("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:e});null!==t&&(t=t.toLowerCase()),f["@language"]=t}if("@prefix"in h){if(n.match(/:|\//))throw new s("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:e});if(b.isKeyword(f["@id"]))throw new s("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:e});if("boolean"!=typeof h["@prefix"])throw new s("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:e});f._prefix=!0===h["@prefix"]}if("@direction"in h){const t=h["@direction"];if(null!==t&&"ltr"!==t&&"rtl"!==t)throw new s('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:e});f["@direction"]=t}if("@nest"in h){const t=h["@nest"];if(!l(t)||"@nest"!==t&&0===t.indexOf("@"))throw new s("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:e});f["@nest"]=t}const w=f["@id"];if("@context"===w||"@preserve"===w)throw new s("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:e});if(d&&d.protected&&!c&&(t.protected[n]=!0,f.protected=!0,!v(d,f))){const t=r&&r.protectedMode||"error";if("error"===t)throw new s(`Invalid JSON-LD syntax; tried to redefine "${n}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:e,term:n});if("warn"===t)return void console.warn("WARNING: protected term redefinition",{term:n});throw new s("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:e,term:n,protectedMode:t})}},b.expandIri=(t,e,n,i)=>y(t,e,n,void 0,void 0,i),b.getInitialContext=t=>{const e=JSON.stringify({processingMode:t.processingMode}),n=g.get(e);if(n)return n;const i={processingMode:t.processingMode,mappings:new Map,inverse:null,getInverse:function(){const t=this;if(t.inverse)return t.inverse;const e=t.inverse={},n=t.fastCurieMap={},i={},r=(t["@language"]||"@none").toLowerCase(),a=t["@direction"],l=t.mappings,c=[...l.keys()].sort(f);for(const s of c){const t=l.get(s);if(null===t)continue;let c=t["@container"]||"@none";if(c=[].concat(c).sort().join(""),null===t["@id"])continue;const u=p(t["@id"]);for(const l of u){let u=e[l];const h=b.isKeyword(l);if(u)!h&&!t._termHasColon&&i[l].push(s);else if(e[l]=u={},!h&&!t._termHasColon){i[l]=[s];const t={iri:l,terms:i[l]};l[0]in n?n[l[0]].push(t):n[l[0]]=[t]}if(u[c]||(u[c]={"@language":{},"@type":{},"@any":{}}),u=u[c],o(s,u["@any"],"@none"),t.reverse)o(s,u["@type"],"@reverse");else if("@none"===t["@type"])o(s,u["@any"],"@none"),o(s,u["@language"],"@none"),o(s,u["@type"],"@none");else if("@type"in t)o(s,u["@type"],t["@type"]);else if("@language"in t&&"@direction"in t){const e=t["@language"],n=t["@direction"];o(s,u["@language"],e&&n?`${e}_${n}`.toLowerCase():e?e.toLowerCase():n?`_${n}`:"@null")}else"@language"in t?o(s,u["@language"],(t["@language"]||"@null").toLowerCase()):"@direction"in t?o(s,u["@language"],t["@direction"]?`_${t["@direction"]}`:"@none"):a?(o(s,u["@language"],`_${a}`),o(s,u["@language"],"@none"),o(s,u["@type"],"@none")):(o(s,u["@language"],r),o(s,u["@language"],"@none"),o(s,u["@type"],"@none"))}}for(const o in n)s(n,o,1);return e},clone:function(){const t={};return t.mappings=r.clone(this.mappings),t.clone=this.clone,t.inverse=null,t.getInverse=this.getInverse,t.protected=r.clone(this.protected),this.previousContext&&(t.previousContext=this.previousContext.clone()),t.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(t["@base"]=this["@base"]),"@language"in this&&(t["@language"]=this["@language"]),"@vocab"in this&&(t["@vocab"]=this["@vocab"]),t},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===g.size&&g.clear(),g.set(e,i),i;function s(t,e,n){const i=t[e],r=t[e]={};let o,a;for(const s of i)o=s.iri,a=n>=o.length?"":o[n],a in r?r[a].push(s):r[a]=[s];for(const l in r)""!==l&&s(r,l,n+1)}function o(t,e,n){e.hasOwnProperty(n)||(e[n]=t)}},b.getContextValue=(t,e,n)=>{if(null===e)return"@context"===n?void 0:null;if(t.mappings.has(e)){const i=t.mappings.get(e);if(c(n))return i;if(i.hasOwnProperty(n))return i[n]}return"@language"===n&&n in t||"@direction"===n&&n in t?t[n]:"@context"!==n?null:void 0},b.processingMode=(t,e)=>e.toString()>="1.1"?!t.processingMode||t.processingMode>="json-ld-"+e.toString():"json-ld-1.0"===t.processingMode,b.isKeyword=t=>{if(!l(t)||"@"!==t[0])return!1;switch(t){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(t,e,n){"use strict";const{parseLinkHeader:r,buildHeaders:s}=t("../util"),{LINK_HEADER_CONTEXT:o}=t("../constants"),a=t("../JsonLdError"),l=t("../RequestQueue"),{prependBase:c}=t("../url"),u=/(^|(\r\n))link:/i;function h(t,e,n){const i=new(t=t||XMLHttpRequest);return new Promise((t,r)=>{i.onload=()=>t(i),i.onerror=t=>r(t),i.open("GET",e,!0);for(const e in n)i.setRequestHeader(e,n[e]);i.send()})}e.exports=({secure:t,headers:e={},xhr:n}={headers:{}})=>{return e=s(e),(new l).wrapLoader(d);function d(t){return p.apply(this,arguments)}function p(){return(p=i(function*(i){if(0!==i.indexOf("http:")&&0!==i.indexOf("https:"))throw new a('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:i});if(t&&0!==i.indexOf("https"))throw new a('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:i});let s;try{s=yield h(n,i,e)}catch(m){throw new a("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:i,cause:m})}if(s.status>=400)throw new a("URL could not be dereferenced: "+s.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:i,httpStatusCode:s.status});let l={contextUrl:null,documentUrl:i,document:s.response},p=null;const f=s.getResponseHeader("Content-Type");let g;if(u.test(s.getAllResponseHeaders())&&(g=s.getResponseHeader("Link")),g&&"application/ld+json"!==f){const t=r(g),e=t[o];if(Array.isArray(e))throw new a("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:i});e&&(l.contextUrl=e.target),p=t.alternate,p&&"application/ld+json"==p.type&&!(f||"").match(/^application\/(\w*\+)?json$/)&&(l=yield d(c(i,p.target)))}return l})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(t,e,n){"use strict";const r=t("./JsonLdError"),{isArray:s,isObject:o,isEmptyObject:a,isString:l,isUndefined:c}=t("./types"),{isList:u,isValue:h,isGraph:d,isSubject:p}=t("./graphTypes"),{expandIri:f,getContextValue:g,isKeyword:m,process:b,processingMode:y}=t("./context"),{isAbsolute:v}=t("./url"),{addValue:_,asArray:w,getValues:x,validateTypeValue:S}=t("./util"),C={};e.exports=C;const E=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function O(t){return T.apply(this,arguments)}function T(){return(T=i(function*({activeCtx:t,activeProperty:e,expandedActiveProperty:n,element:i,expandedParent:d,options:x={},insideList:T,typeKey:k,typeScopedContext:M,expansionMap:I}){const D=Object.keys(i).sort(),R=[];let N;const L=i[k]&&"@json"===f(t,s(i[k])?i[k][0]:i[k],{vocab:!0},x);for(const O of D){let k,D=i[O];if("@context"===O)continue;let j=f(t,O,{vocab:!0},x);if((null===j||!v(j)&&!m(j))&&(j=I({unmappedProperty:O,activeCtx:t,activeProperty:e,parent:i,options:x,insideList:T,value:D,expandedParent:d}),void 0===j))continue;if(m(j)){if("@reverse"===n)throw new r("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:D});if(j in d&&"@included"!==j&&"@type"!==j)throw new r("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:j})}if("@id"===j){if(!l(D)){if(!x.isFrame)throw new r('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:D});if(o(D)){if(!a(D))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D})}else{if(!s(D))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D});if(!D.every(t=>l(t)))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D})}}_(d,"@id",w(D).map(e=>l(e)?f(t,e,{base:!0},x):e),{propertyIsArray:x.isFrame});continue}if("@type"===j){o(D)&&(D=Object.fromEntries(Object.entries(D).map(([t,e])=>[f(M,t,{vocab:!0}),w(e).map(t=>f(M,t,{base:!0,vocab:!0}))]))),S(D,x.isFrame),_(d,"@type",w(D).map(t=>l(t)?f(M,t,{base:!0,vocab:!0},x):t),{propertyIsArray:x.isFrame});continue}if("@included"===j&&y(t,1.1)){const n=w(yield C.expand({activeCtx:t,activeProperty:e,element:D,options:x,expansionMap:I}));if(!n.every(t=>p(t)))throw new r("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:D});_(d,"@included",n,{propertyIsArray:!0});continue}if("@graph"===j&&!o(D)&&!s(D))throw new r('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:D});if("@value"===j){N=D,L&&y(t,1.1)?d["@value"]=D:_(d,"@value",D,{propertyIsArray:x.isFrame});continue}if("@language"===j){if(null===D)continue;if(!l(D)&&!x.isFrame)throw new r('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:D});D=w(D).map(t=>l(t)?t.toLowerCase():t);for(const t of D)l(t)&&!t.match(E)&&console.warn(`@language must be valid BCP47: ${t}`);_(d,"@language",D,{propertyIsArray:x.isFrame});continue}if("@direction"===j){if(!l(D)&&!x.isFrame)throw new r('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:D});D=w(D);for(const t of D)if(l(t)&&"ltr"!==t&&"rtl"!==t)throw new r('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:D});_(d,"@direction",D,{propertyIsArray:x.isFrame});continue}if("@index"===j){if(!l(D))throw new r('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:D});_(d,"@index",D);continue}if("@reverse"===j){if(!o(D))throw new r('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:D});if(k=yield C.expand({activeCtx:t,activeProperty:"@reverse",element:D,options:x,expansionMap:I}),"@reverse"in k)for(const t in k["@reverse"])_(d,t,k["@reverse"][t],{propertyIsArray:!0});let e=d["@reverse"]||null;for(const t in k){if("@reverse"===t)continue;null===e&&(e=d["@reverse"]={}),_(e,t,[],{propertyIsArray:!0});const n=k[t];for(let i=0;i"@id"===t||"@index"===t)&&(k=w(k).map(t=>({"@graph":w(t)}))),F.mappings.has(O)&&F.mappings.get(O).reverse){const t=d["@reverse"]=d["@reverse"]||{};k=w(k);for(let e=0;e"@value"===f(t,e,{vocab:!0},x)))throw new r("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:i});yield O({activeCtx:t,activeProperty:e,expandedActiveProperty:n,element:i,expandedParent:d,options:x,insideList:T,typeScopedContext:M,typeKey:k,expansionMap:I})}}})).apply(this,arguments)}function k({activeCtx:t,activeProperty:e,value:n,options:i}){if(null==n)return null;const r=f(t,e,{vocab:!0},i);if("@id"===r)return f(t,n,{base:!0},i);if("@type"===r)return f(t,n,{vocab:!0,base:!0},i);const s=g(t,e,"@type");if(("@id"===s||"@graph"===r)&&l(n))return{"@id":f(t,n,{base:!0},i)};if("@vocab"===s&&l(n))return{"@id":f(t,n,{vocab:!0,base:!0},i)};if(m(r))return n;const o={};if(s&&!["@id","@vocab","@none"].includes(s))o["@type"]=s;else if(l(n)){const n=g(t,e,"@language");null!==n&&(o["@language"]=n);const i=g(t,e,"@direction");null!==i&&(o["@direction"]=i)}return["boolean","number","string"].includes(typeof n)||(n=n.toString()),o["@value"]=n,o}function P(t,e,n,i){const o=[],a=Object.keys(e).sort();for(const c of a){const a=f(t,c,{vocab:!0},i);let u=e[c];s(u)||(u=[u]);for(const t of u){if(null===t)continue;if(!l(t))throw new r("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:e});const i={"@value":t};"@none"!==a&&(i["@language"]=c.toLowerCase()),n&&(i["@direction"]=n),o.push(i)}}return o}function A(t){return M.apply(this,arguments)}function M(){return(M=i(function*({activeCtx:t,options:e,activeProperty:n,value:i,expansionMap:o,asGraph:a,indexKey:l,propertyIndex:u}){const p=[],m=Object.keys(i).sort(),y="@type"===l;for(let v of m){if(y){const n=g(t,v,"@context");c(n)||(t=yield b({activeCtx:t,localCtx:n,propagate:!1,options:e}))}let m,w=i[v];s(w)||(w=[w]),w=yield C.expand({activeCtx:t,activeProperty:n,element:w,options:e,insideList:!1,insideIndex:!0,expansionMap:o}),m=u?"@none"===v?"@none":k({activeCtx:t,activeProperty:l,value:v,options:e}):f(t,v,{vocab:!0},e),"@id"===l?v=f(t,v,{base:!0},e):y&&(v=m);for(let t of w){if(a&&!d(t)&&(t={"@graph":[t]}),"@type"===l)"@none"===m||(t["@type"]=t["@type"]?[v].concat(t["@type"]):[v]);else{if(h(t)&&!["@language","@type","@index"].includes(l))throw new r(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${l}".`,"jsonld.SyntaxError",{code:"invalid value object",value:t});u?"@none"!==m&&_(t,u,m,{propertyIsArray:!0,prependValue:!0}):"@none"!==m&&!(l in t)&&(t[l]=v)}p.push(t)}}return p})).apply(this,arguments)}C.expand=function(){var t=i(function*({activeCtx:t,activeProperty:e=null,element:n,options:i={},insideList:u=!1,insideIndex:h=!1,typeScopedContext:d=null,expansionMap:p=(()=>{})}){if(null==n)return null;if("@default"===e&&(i=Object.assign({},i,{isFrame:!1})),!s(n)&&!o(n)){if(!u&&(null===e||"@graph"===f(t,e,{vocab:!0},i))){const r=yield p({unmappedValue:n,activeCtx:t,activeProperty:e,options:i,insideList:u});return void 0===r?null:r}return k({activeCtx:t,activeProperty:e,value:n,options:i})}if(s(n)){let r=[];const o=g(t,e,"@container")||[];u=u||o.includes("@list");for(let a=0;a1?e.slice().sort():e:[e];for(const n of s){const e=g(d,n,"@context");c(e)||(t=yield b({activeCtx:t,localCtx:e,options:i,propagate:!1}))}}let P={};yield O({activeCtx:t,activeProperty:e,expandedActiveProperty:m,element:n,expandedParent:P,options:i,insideList:u,typeKey:T,typeScopedContext:d,expansionMap:p}),S=Object.keys(P);let A=S.length;if("@value"in P){if("@type"in P&&("@language"in P||"@direction"in P))throw new r('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:P});let s=A-1;if("@type"in P&&(s-=1),"@index"in P&&(s-=1),"@language"in P&&(s-=1),"@direction"in P&&(s-=1),0!==s)throw new r('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:P});const o=null===P["@value"]?[]:w(P["@value"]),c=x(P,"@type");if(!y(t,1.1)||!c.includes("@json")||1!==c.length)if(0===o.length){const r=yield p({unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}else{if(!o.every(t=>l(t)||a(t))&&"@language"in P)throw new r("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:P});if(!c.every(t=>v(t)&&!(l(t)&&0===t.indexOf("_:"))||a(t)))throw new r('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:P})}}else if("@type"in P&&!s(P["@type"]))P["@type"]=[P["@type"]];else if("@set"in P||"@list"in P){if(A>1&&(2!==A||!("@index"in P)))throw new r('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:P});"@set"in P&&(P=P["@set"],S=Object.keys(P),A=S.length)}else if(1===A&&"@language"in P){const r=yield p(P,{unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}if(o(P)&&!i.keepFreeFloatingNodes&&!u&&(null===e||"@graph"===m)&&(0===A||"@value"in P||"@list"in P||1===A&&"@id"in P)){const r=yield p({unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}return P});return function(e){return t.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(t,e,n){"use strict";const{isSubjectReference:i}=t("./graphTypes"),{createMergedNodeMap:r}=t("./nodeMap"),s={};e.exports=s,s.flatten=t=>{const e=r(t),n=[],s=Object.keys(e).sort();for(let r=0;r=0;--i){const r=n[i];if(r.graph===e&&r.subject["@id"]===t["@id"])return!0}return!1}function f(t,e,n){const i="@"+n;let r=i in t?t[i][0]:e[n];if("embed"===n)if(!0===r)r="@once";else if(!1===r)r="@never";else if("@always"!==r&&"@never"!==r&&"@link"!==r&&"@first"!==r&&"@last"!==r&&"@once"!==r)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:t});return r}function g(t){if(!s.isArray(t)||1!==t.length||!s.isObject(t[0]))throw new l("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:t});if("@id"in t[0])for(const e of o.asArray(t[0]["@id"]))if(!s.isObject(e)&&!a.isAbsolute(e)||s.isString(e)&&0===e.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:t});if("@type"in t[0])for(const e of o.asArray(t[0]["@type"]))if(!s.isObject(e)&&!a.isAbsolute(e)||s.isString(e)&&0===e.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:t})}function m(t,e,n,a){let l=!0,c=!1;for(const u in n){let h=!1;const d=o.getValues(e,u),p=0===o.getValues(n,u).length;if("@id"===u){if(s.isEmptyObject(n["@id"][0]||{})?h=!0:n["@id"].length>=0&&(h=n["@id"].includes(d[0])),!a.requireAll)return h}else if("@type"===u){if(l=!1,p){if(d.length>0)return!1;h=!0}else if(1===n["@type"].length&&s.isEmptyObject(n["@type"][0]))h=d.length>0;else for(const t of n["@type"])h=!(!s.isObject(t)||!("@default"in t))||h||d.some(e=>e===t);if(!a.requireAll)return h}else{if(i(u))continue;{const e=o.getValues(n,u)[0];let i=!1;if(e&&(g([e]),i="@default"in e),l=!1,0===d.length&&i)continue;if(d.length>0&&p)return!1;if(void 0===e){if(d.length>0)return!1;h=!0}else if(r.isList(e)){const n=e["@list"][0];if(r.isList(d[0])){const e=d[0]["@list"];r.isValue(n)?h=e.some(t=>w(n,t)):(r.isSubject(n)||r.isSubjectReference(n))&&(h=e.some(e=>_(t,n,e,a)))}}else h=r.isValue(e)?d.some(t=>w(e,t)):r.isSubjectReference(e)?d.some(n=>_(t,e,n,a)):!!s.isObject(e)&&d.length>0}}if(!h&&a.requireAll)return!1;c=c||h}return l||c}function b(t,e){const n=t.uniqueEmbeds[t.graph],i=n[e],r=i.parent,a=i.property,l={"@id":e};if(s.isArray(r)){for(let t=0;t{const e=Object.keys(n);for(const i of e)i in n&&s.isObject(n[i].parent)&&n[i].parent["@id"]===t&&(delete n[i],c(i))};c(e)}function y(t,e){if(s.isArray(t))return t.map(t=>y(t,e));if(s.isObject(t)){if("@preserve"in t)return t["@preserve"][0];if(r.isValue(t))return t;if(r.isList(t))return t["@list"]=y(t["@list"],e),t;if("@id"in t){const n=t["@id"];if(e.link.hasOwnProperty(n)){const i=e.link[n].indexOf(t);if(-1!==i)return e.link[n][i];e.link[n].push(t)}else e.link[n]=[t]}for(const n in t)"@id"===n&&e.bnodesToClear.includes(t[n])?delete t["@id"]:t[n]=y(t[n],e)}return t}function v(t,e,n){s.isObject(t)?o.addValue(t,e,n,{propertyIsArray:!0}):t.push(n)}function _(t,e,n,i){if(!("@id"in n))return!1;const r=t.subjects[n["@id"]];return r&&m(t,r,e,i)}function w(t,e){const n=e["@value"],i=e["@type"],r=e["@language"],o=t["@value"]?s.isArray(t["@value"])?t["@value"]:[t["@value"]]:[],a=t["@type"]?s.isArray(t["@type"])?t["@type"]:[t["@type"]]:[],l=t["@language"]?s.isArray(t["@language"])?t["@language"]:[t["@language"]]:[];return 0===o.length&&0===a.length&&0===l.length||!(!o.includes(n)&&!s.isEmptyObject(o[0])||!(!i&&0===a.length||a.includes(i)||i&&s.isEmptyObject(a[0]))||!(!r&&0===l.length||l.includes(r)||r&&s.isEmptyObject(l[0])))}e.exports=h,h.frameMergedOrDefault=(t,e,n)=>{const i={options:n,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},r=new o.IdentifierIssuer("_:b");c(t,i.graphMap,"@default",r),n.merged&&(i.graphMap["@merged"]=u(i.graphMap),i.graph="@merged"),i.subjects=i.graphMap[i.graph];const s=[];return h.frame(i,Object.keys(i.subjects).sort(),e,s),n.pruneBlankNodeIdentifiers&&(n.bnodesToClear=Object.keys(i.bnodeMap).filter(t=>1===i.bnodeMap[t].length)),n.link={},y(s,n)},h.frame=(t,e,n,a,c=null)=>{g(n);const u=t.options,y={embed:f(n=n[0],u,"embed"),explicit:f(n,u,"explicit"),requireAll:f(n,u,"requireAll")};t.link.hasOwnProperty(t.graph)||(t.link[t.graph]={});const _=t.link[t.graph],x=function(t,e,n,i){const r={};for(const s of e){const e=t.graphMap[t.graph][s];m(t,e,n,i)&&(r[s]=e)}return r}(t,e,n,y),S=Object.keys(x).sort();for(const g of S){const m=x[g];if(null===c?t.uniqueEmbeds={[t.graph]:{}}:t.uniqueEmbeds[t.graph]=t.uniqueEmbeds[t.graph]||{},"@link"===y.embed&&g in _){v(a,c,_[g]);continue}const S={"@id":g};if(0===g.indexOf("_:")&&o.addValue(t.bnodeMap,g,S,{propertyIsArray:!0}),_[g]=S,("@first"===y.embed||"@last"===y.embed)&&t.is11)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:n});if(t.embedded||!t.uniqueEmbeds[t.graph].hasOwnProperty(g)){if(t.embedded&&("@never"===y.embed||p(m,t.graph,t.subjectStack))){v(a,c,S);continue}if(t.embedded&&("@first"==y.embed||"@once"==y.embed)&&t.uniqueEmbeds[t.graph].hasOwnProperty(g)){v(a,c,S);continue}if("@last"===y.embed&&g in t.uniqueEmbeds[t.graph]&&b(t,g),t.uniqueEmbeds[t.graph][g]={parent:a,property:c},t.subjectStack.push({subject:m,graph:t.graph}),g in t.graphMap){let e=!1,i=null;"@graph"in n?(i=n["@graph"][0],e=!("@merged"===g||"@default"===g),s.isObject(i)||(i={})):(e="@merged"!==t.graph,i={}),e&&h.frame(zn(yt({},t),{graph:g,embedded:!1}),Object.keys(t.graphMap[g]).sort(),[i],S,"@graph")}"@included"in n&&h.frame(zn(yt({},t),{embedded:!1}),e,n["@included"],S,"@included");for(const e of Object.keys(m).sort())if(i(e)){if(S[e]=o.clone(m[e]),"@type"===e)for(const e of m["@type"])0===e.indexOf("_:")&&o.addValue(t.bnodeMap,e,S,{propertyIsArray:!0})}else if(!y.explicit||e in n)for(const i of m[e]){const s=e in n?n[e]:d(y);if(r.isList(i)){const s=n[e]&&n[e][0]&&n[e][0]["@list"]?n[e][0]["@list"]:d(y),a={"@list":[]};v(S,e,a);const l=i["@list"];for(const e of l)r.isSubjectReference(e)?h.frame(zn(yt({},t),{embedded:!0}),[e["@id"]],s,a,"@list"):v(a,"@list",o.clone(e))}else r.isSubjectReference(i)?h.frame(zn(yt({},t),{embedded:!0}),[i["@id"]],s,S,e):w(s[0],i)&&v(S,e,o.clone(i))}for(const t of Object.keys(n).sort()){if("@type"===t){if(!s.isObject(n[t][0])||!("@default"in n[t][0]))continue}else if(i(t))continue;const e=n[t][0]||{};if(!f(e,u,"omitDefault")&&!(t in S)){let n="@null";"@default"in e&&(n=o.clone(e["@default"])),s.isArray(n)||(n=[n]),S[t]=[{"@preserve":n}]}}for(const e of Object.keys(n["@reverse"]||{}).sort()){const i=n["@reverse"][e];for(const n of Object.keys(t.subjects))o.getValues(t.subjects[n],e).some(t=>t["@id"]===g)&&(S["@reverse"]=S["@reverse"]||{},o.addValue(S["@reverse"],e,[],{propertyIsArray:!0}),h.frame(zn(yt({},t),{embedded:!0}),[n],i,S["@reverse"][e],c))}v(a,c,S),t.subjectStack.pop()}}},h.cleanupNull=(t,e)=>{if(s.isArray(t))return t.map(t=>h.cleanupNull(t,e)).filter(t=>t);if("@null"===t)return null;if(s.isObject(t)){if("@id"in t){const n=t["@id"];if(e.link.hasOwnProperty(n)){const i=e.link[n].indexOf(t);if(-1!==i)return e.link[n][i];e.link[n].push(t)}else e.link[n]=[t]}for(const n in t)t[n]=h.cleanupNull(t[n],e)}return t}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(t,e,n){"use strict";const r=t("./JsonLdError"),s=t("./graphTypes"),o=t("./types"),a=t("./util"),{RDF_LIST:l,RDF_FIRST:c,RDF_REST:u,RDF_NIL:h,RDF_TYPE:d,RDF_JSON_LITERAL:p,XSD_BOOLEAN:f,XSD_DOUBLE:g,XSD_INTEGER:m,XSD_STRING:b}=t("./constants"),y=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,v={};function _(t,e,n){if(t.termType.endsWith("Node"))return{"@id":t.value};const i={"@value":t.value};if(t.language)i["@language"]=t.language;else{let a=t.datatype.value;if(a||(a=b),a===p){a="@json";try{i["@value"]=JSON.parse(i["@value"])}catch(s){throw new r("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:i["@value"],cause:s})}}if(e){if(a===f)"true"===i["@value"]?i["@value"]=!0:"false"===i["@value"]&&(i["@value"]=!1);else if(o.isNumeric(i["@value"]))if(a===m){const t=parseInt(i["@value"],10);t.toFixed(0)===i["@value"]&&(i["@value"]=t)}else a===g&&(i["@value"]=parseFloat(i["@value"]));[f,m,g,b].includes(a)||(i["@type"]=a)}else if("i18n-datatype"===n&&a.startsWith("https://www.w3.org/ns/i18n#")){const[,t,e]=a.split(/[#_]/);t.length>0&&(i["@language"]=t,t.match(y)||console.warn(`@language must be valid BCP47: ${t}`)),i["@direction"]=e}else a!==b&&(i["@type"]=a)}return i}e.exports=v,v.fromRDF=function(){var t=i(function*(t,{useRdfType:e=!1,useNativeTypes:n=!1,rdfDirection:i=null}){const r={},p={"@default":r},f={};for(const s of t){const t="DefaultGraph"===s.graph.termType?"@default":s.graph.value;t in p||(p[t]={}),"@default"!==t&&!(t in r)&&(r[t]={"@id":t});const o=p[t],l=s.subject.value,c=s.predicate.value,u=s.object;l in o||(o[l]={"@id":l});const g=o[l],m=u.termType.endsWith("Node");if(m&&!(u.value in o)&&(o[u.value]={"@id":u.value}),c===d&&!e&&m){a.addValue(g,"@type",u.value,{propertyIsArray:!0});continue}const b=_(u,n,i);if(a.addValue(g,c,b,{propertyIsArray:!0}),m)if(u.value===h){const t=o[u.value];"usages"in t||(t.usages=[]),t.usages.push({node:g,property:c,value:b})}else f[u.value]=!(u.value in f)&&{node:g,property:c,value:b}}for(const a in p){const t=p[a];if(!(h in t))continue;const e=t[h];if(e.usages){for(let n of e.usages){let e=n.node,i=n.property,r=n.value;const a=[],h=[];let d=Object.keys(e).length;for(;i===u&&o.isObject(f[e["@id"]])&&o.isArray(e[c])&&1===e[c].length&&o.isArray(e[u])&&1===e[u].length&&(3===d||4===d&&o.isArray(e["@type"])&&1===e["@type"].length&&e["@type"][0]===l)&&(a.push(e[c][0]),h.push(e["@id"]),n=f[e["@id"]],e=n.node,i=n.property,r=n.value,d=Object.keys(e).length,s.isBlankNode(e)););delete r["@id"],r["@list"]=a.reverse();for(const n of h)delete t[n]}delete e.usages}}const g=[],m=Object.keys(r).sort();for(const o of m){const t=r[o];if(o in p){const e=t["@graph"]=[],n=p[o],i=Object.keys(n).sort();for(const t of i){const i=n[t];s.isSubjectReference(i)||e.push(i)}}s.isSubjectReference(t)||g.push(t)}return g});return function(e,n){return t.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(t,e,n){"use strict";const i=t("./types"),r={};e.exports=r,r.isSubject=t=>!(!i.isObject(t)||"@value"in t||"@set"in t||"@list"in t)&&(Object.keys(t).length>1||!("@id"in t)),r.isSubjectReference=t=>i.isObject(t)&&1===Object.keys(t).length&&"@id"in t,r.isValue=t=>i.isObject(t)&&"@value"in t,r.isList=t=>i.isObject(t)&&"@list"in t,r.isGraph=t=>i.isObject(t)&&"@graph"in t&&1===Object.keys(t).filter(t=>"@id"!==t&&"@index"!==t).length,r.isSimpleGraph=t=>r.isGraph(t)&&!("@id"in t),r.isBlankNode=t=>!!i.isObject(t)&&("@id"in t?0===t["@id"].indexOf("_:"):0===Object.keys(t).length||!("@value"in t||"@set"in t||"@list"in t))},{"./types":30}],26:[function(t,e,n){const r=t("rdf-canonize"),s=t("./platform"),o=t("./util"),a=t("./ContextResolver"),l=o.IdentifierIssuer,c=t("./JsonLdError"),u=t("lru-cache"),h=t("./NQuads"),{expand:d}=t("./expand"),{flatten:p}=t("./flatten"),{fromRDF:f}=t("./fromRdf"),{toRDF:g}=t("./toRdf"),{frameMergedOrDefault:m,cleanupNull:b}=t("./frame"),{isArray:y,isObject:v,isString:_}=t("./types"),{isSubjectReference:w}=t("./graphTypes"),{expandIri:x,getInitialContext:S,process:C,processingMode:E}=t("./context"),{compact:O,compactIri:T}=t("./compact"),{createNodeMap:k,createMergedNodeMap:P,mergeNodeMaps:A}=t("./nodeMap"),M=function(e){const n={},M=new u({max:100});function I(t,n){var i=n,{documentLoader:r=e.documentLoader}=i,s=CZ(i,["documentLoader"]);return Object.assign({},{documentLoader:r},s,t)}return e.compact=function(){var t=i(function*(t,n,i){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===n)throw new c("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===t)return null;let r;(i=I(i,{base:_(t)?t:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new l("_:b"),contextResolver:new a({sharedCache:M})})).link&&(i.skipExpansion=!0),i.compactToRelative||delete i.base,r=i.skipExpansion?t:yield e.expand(t,i);const s=yield e.processContext(S(i),n,i);let u=yield O({activeCtx:s,element:r,options:i,compactionMap:i.compactionMap});i.compactArrays&&!i.graph&&y(u)?1===u.length?u=u[0]:0===u.length&&(u={}):i.graph&&v(u)&&(u=[u]),v(n)&&"@context"in n&&(n=n["@context"]),n=o.clone(n),y(n)||(n=[n]);const h=n;n=[];for(let e=0;e0)&&n.push(h[e]);const d=n.length>0;if(1===n.length&&(n=n[0]),y(u)){const t=T({activeCtx:s,iri:"@graph",relativeTo:{vocab:!0}}),e=u;u={},d&&(u["@context"]=n),u[t]=e}else if(v(u)&&d){const t=u;u={"@context":n};for(const e in t)u[e]=t[e]}return u});return function(e,n,i){return t.apply(this,arguments)}}(),e.expand=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(n=I(n,{keepFreeFloatingNodes:!1,contextResolver:new a({sharedCache:M})})).expansionMap&&(n.expansionMap=void 0);const i={},r=[];if("expandContext"in n){const t=o.clone(n.expandContext);i.expandContext=v(t)&&"@context"in t?t:{"@context":t},r.push(i.expandContext)}let s;if(_(t)){const o=yield e.get(t,n);s=o.documentUrl,i.input=o.document,o.contextUrl&&(i.remoteContext={"@context":o.contextUrl},r.push(i.remoteContext))}else i.input=o.clone(t);"base"in n||(n.base=s||"");let l=S(n);for(const e of r)l=yield C({activeCtx:l,localCtx:e,options:n});let c=yield d({activeCtx:l,element:i.input,options:n,expansionMap:n.expansionMap});return v(c)&&"@graph"in c&&1===Object.keys(c).length?c=c["@graph"]:null===c&&(c=[]),y(c)||(c=[c]),c});return function(e,n){return t.apply(this,arguments)}}(),e.flatten=function(){var t=i(function*(t,n,i){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");n="function"==typeof n?null:n||null,i=I(i,{base:_(t)?t:"",contextResolver:new a({sharedCache:M})});const r=yield e.expand(t,i),s=p(r);return null===n?s:(i.graph=!0,i.skipExpansion=!0,yield e.compact(s,n,i))});return function(e,n,i){return t.apply(this,arguments)}}(),e.frame=function(){var t=i(function*(t,n,i){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(i=I(i,{base:_(t)?t:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new a({sharedCache:M})}),_(n)){const t=yield e.get(n,i);if(n=t.document,t.contextUrl){let e=n["@context"];e?y(e)?e.push(t.contextUrl):e=[e,t.contextUrl]:e=t.contextUrl,n["@context"]=e}}const r=n&&n["@context"]||{},s=yield e.processContext(S(i),r,i);i.hasOwnProperty("omitGraph")||(i.omitGraph=E(s,1.1)),i.hasOwnProperty("pruneBlankNodeIdentifiers")||(i.pruneBlankNodeIdentifiers=E(s,1.1));const o=yield e.expand(t,i),l=yt({},i);l.isFrame=!0,l.keepFreeFloatingNodes=!0;const c=yield e.expand(n,l),u=Object.keys(n).map(t=>x(s,t,{vocab:!0}));l.merged=!u.includes("@graph"),l.is11=E(s,1.1);const h=m(o,c,l);l.graph=!i.omitGraph,l.skipExpansion=!0,l.link={},l.framing=!0;let d=yield e.compact(h,r,l);return l.link={},d=b(d,l),d});return function(e,n,i){return t.apply(this,arguments)}}(),e.link=function(){var t=i(function*(t,n,i){const r={};return n&&(r["@context"]=n),r["@embed"]="@link",e.frame(t,r,i)});return function(e,n,i){return t.apply(this,arguments)}}(),e.normalize=e.canonize=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(n=I(n,{base:_(t)?t:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new a({sharedCache:M})}))){if("application/n-quads"!==n.inputFormat&&"application/nquads"!==n.inputFormat)throw new c("Unknown canonicalization input format.","jsonld.CanonizeError");const e=h.parse(t);return r.canonize(e,n)}const i=yt({},n);delete i.format,i.produceGeneralizedRdf=!1;const s=yield e.toRDF(t,i);return r.canonize(s,n)});return function(e,n){return t.apply(this,arguments)}}(),e.fromRDF=function(){var t=i(function*(t,e){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");e=I(e,{format:_(t)?"application/n-quads":void 0});const{format:i}=e;let{rdfParser:r}=e;if(i){if(r=r||n[i],!r)throw new c("Unknown input format.","jsonld.UnknownFormat",{format:i})}else r=()=>t;const s=yield r(t);return f(s,e)});return function(e,n){return t.apply(this,arguments)}}(),e.toRDF=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let i;i=(n=I(n,{base:_(t)?t:"",skipExpansion:!1,contextResolver:new a({sharedCache:M})})).skipExpansion?t:yield e.expand(t,n);const r=g(i,n);if(n.format){if("application/n-quads"===n.format||"application/nquads"===n.format)return h.serialize(r);throw new c("Unknown output format.","jsonld.UnknownFormat",{format:n.format})}return r});return function(e,n){return t.apply(this,arguments)}}(),e.createNodeMap=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");n=I(n,{base:_(t)?t:"",contextResolver:new a({sharedCache:M})});const i=yield e.expand(t,n);return P(i,n)});return function(e,n){return t.apply(this,arguments)}}(),e.merge=function(){var t=i(function*(t,n,i){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!y(t))throw new TypeError('Could not merge, "docs" must be an array.');n="function"==typeof n?null:n||null,i=I(i,{contextResolver:new a({sharedCache:M})});const r=yield Promise.all(t.map(t=>{const n=yt({},i);return e.expand(t,n)}));let s=!0;"mergeNodes"in i&&(s=i.mergeNodes);const c=i.issuer||new l("_:b"),u={"@default":{}};for(let e=0;ee._documentLoader,set:t=>e._documentLoader=t}),e.documentLoader=function(){var t=i(function*(t){throw new c("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:t})});return function(e){return t.apply(this,arguments)}}(),e.get=function(){var t=i(function*(t,n){let i;i="function"==typeof n.documentLoader?n.documentLoader:e.documentLoader;const r=yield i(t);try{if(!r.document)throw new c("No remote document found at the given URL.","jsonld.NullRemoteDocument");_(r.document)&&(r.document=JSON.parse(r.document))}catch(s){throw new c("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:s,remoteDoc:r})}return r});return function(e,n){return t.apply(this,arguments)}}(),e.processContext=function(){var t=i(function*(t,e,n){return n=I(n,{base:"",contextResolver:new a({sharedCache:M})}),null===e?S(n):(e=o.clone(e),v(e)&&"@context"in e||(e={"@context":e}),C({activeCtx:t,localCtx:e,options:n}))});return function(e,n,i){return t.apply(this,arguments)}}(),e.getContextValue=t("./context").getContextValue,e.documentLoaders={},e.useDocumentLoader=function(t){if(!(t in e.documentLoaders))throw new c('Unknown document loader type: "'+t+'"',"jsonld.UnknownDocumentLoader",{type:t});e.documentLoader=e.documentLoaders[t].apply(e,Array.prototype.slice.call(arguments,1))},e.registerRDFParser=function(t,e){n[t]=e},e.unregisterRDFParser=function(t){delete n[t]},e.registerRDFParser("application/n-quads",h.parse),e.registerRDFParser("application/nquads",h.parse),e.url=t("./url"),e.util=o,Object.assign(e,o),e.promises=e,e.RequestQueue=t("./RequestQueue"),e.JsonLdProcessor=t("./JsonLdProcessor")(e),s.setupGlobals(e),s.setupDocumentLoaders(e),e},I=function(){return M(function(){return I()})};M(I),e.exports=I},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(t,e,n){"use strict";const{isKeyword:i}=t("./context"),r=t("./graphTypes"),s=t("./types"),o=t("./util"),a=t("./JsonLdError"),l={};e.exports=l,l.createMergedNodeMap=(t,e)=>{const n=(e=e||{}).issuer||new o.IdentifierIssuer("_:b"),i={"@default":{}};return l.createNodeMap(t,i,"@default",n),l.mergeNodeMaps(i)},l.createNodeMap=(t,e,n,c,u,h)=>{if(s.isArray(t)){for(const i of t)l.createNodeMap(i,e,n,c,void 0,h);return}if(!s.isObject(t))return void(h&&h.push(t));if(r.isValue(t)){if("@type"in t){let e=t["@type"];0===e.indexOf("_:")&&(t["@type"]=e=c.getId(e))}return void(h&&h.push(t))}if(h&&r.isList(t)){const i=[];return l.createNodeMap(t["@list"],e,n,c,u,i),void h.push({"@list":i})}if("@type"in t){const e=t["@type"];for(const t of e)0===t.indexOf("_:")&&c.getId(t)}s.isUndefined(u)&&(u=r.isBlankNode(t)?c.getId(t["@id"]):t["@id"]),h&&h.push({"@id":u});const d=e[n],p=d[u]=d[u]||{};p["@id"]=u;const f=Object.keys(t).sort();for(let s of f){if("@id"===s)continue;if("@reverse"===s){const i={"@id":u},s=t["@reverse"];for(const t in s){const a=s[t];for(const s of a){let a=s["@id"];r.isBlankNode(s)&&(a=c.getId(a)),l.createNodeMap(s,e,n,c,a),o.addValue(d[a],t,i,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===s){u in e||(e[u]={}),l.createNodeMap(t[s],e,u,c);continue}if("@included"===s){l.createNodeMap(t[s],e,n,c);continue}if("@type"!==s&&i(s)){if("@index"===s&&s in p&&(t[s]!==p[s]||t[s]["@id"]!==p[s]["@id"]))throw new a("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:p});p[s]=t[s];continue}const h=t[s];if(0===s.indexOf("_:")&&(s=c.getId(s)),0!==h.length)for(let t of h)if("@type"===s&&(t=0===t.indexOf("_:")?c.getId(t):t),r.isSubject(t)||r.isSubjectReference(t)){if("@id"in t&&!t["@id"])continue;const i=r.isBlankNode(t)?c.getId(t["@id"]):t["@id"];o.addValue(p,s,{"@id":i},{propertyIsArray:!0,allowDuplicate:!1}),l.createNodeMap(t,e,n,c,i)}else if(r.isValue(t))o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1});else if(r.isList(t)){const i=[];l.createNodeMap(t["@list"],e,n,c,u,i),t={"@list":i},o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1})}else l.createNodeMap(t,e,n,c,u),o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1});else o.addValue(p,s,[],{propertyIsArray:!0})}},l.mergeNodeMapGraphs=t=>{const e={};for(const n of Object.keys(t).sort())for(const r of Object.keys(t[n]).sort()){const s=t[n][r];r in e||(e[r]={"@id":r});const a=e[r];for(const t of Object.keys(s).sort())if(i(t)&&"@type"!==t)a[t]=o.clone(s[t]);else for(const e of s[t])o.addValue(a,t,o.clone(e),{propertyIsArray:!0,allowDuplicate:!1})}return e},l.mergeNodeMaps=t=>{const e=t["@default"],n=Object.keys(t).sort();for(const i of n){if("@default"===i)continue;const n=t[i];let s=e[i];s?"@graph"in s||(s["@graph"]=[]):e[i]=s={"@id":i,"@graph":[]};const o=s["@graph"];for(const t of Object.keys(n).sort()){const e=n[t];r.isSubjectReference(e)||o.push(e)}}return e}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(t,e,n){"use strict";const i=t("./documentLoaders/xhr"),r={};e.exports=r,r.setupDocumentLoaders=function(t){"undefined"!=typeof XMLHttpRequest&&(t.documentLoaders.xhr=i,t.useDocumentLoader("xhr"))},r.setupGlobals=function(t){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:t.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(t,e,n){"use strict";const{createNodeMap:i}=t("./nodeMap"),{isKeyword:r}=t("./context"),s=t("./graphTypes"),o=t("canonicalize"),a=t("./types"),l=t("./util"),{RDF_FIRST:c,RDF_REST:u,RDF_NIL:h,RDF_TYPE:d,RDF_JSON_LITERAL:p,RDF_LANGSTRING:f,XSD_BOOLEAN:g,XSD_DOUBLE:m,XSD_INTEGER:b,XSD_STRING:y}=t("./constants"),{isAbsolute:v}=t("./url"),_={};function w(t,e,n,i,s){const o=Object.keys(e).sort();for(const a of o){const o=e[a],l=Object.keys(o).sort();for(let e of l){const l=o[e];if("@type"===e)e=d;else if(r(e))continue;for(const r of l){const o={termType:a.startsWith("_:")?"BlankNode":"NamedNode",value:a};if(!v(a))continue;const l={termType:e.startsWith("_:")?"BlankNode":"NamedNode",value:e};if(!v(e)||"BlankNode"===l.termType&&!s.produceGeneralizedRdf)continue;const c=x(r,i,t,n,s.rdfDirection);c&&t.push({subject:o,predicate:l,object:c,graph:n})}}}}function x(t,e,n,i,r){const l={};if(s.isValue(t)){l.termType="Literal",l.value=void 0,l.datatype={termType:"NamedNode"};let e=t["@value"];const n=t["@type"]||null;"@json"===n?(l.value=o(e),l.datatype.value=p):a.isBoolean(e)?(l.value=e.toString(),l.datatype.value=n||g):a.isDouble(e)||n===m?(a.isDouble(e)||(e=parseFloat(e)),l.value=e.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),l.datatype.value=n||m):a.isNumber(e)?(l.value=e.toFixed(0),l.datatype.value=n||b):"i18n-datatype"===r&&"@direction"in t?(l.datatype.value="https://www.w3.org/ns/i18n#"+(t["@language"]||"")+`_${t["@direction"]}`,l.value=e):"@language"in t?(l.value=e,l.datatype.value=n||f,l.language=t["@language"]):(l.value=e,l.datatype.value=n||y)}else if(s.isList(t)){const s=function(t,e,n,i,r){const s={termType:"NamedNode",value:c},o={termType:"NamedNode",value:u},a={termType:"NamedNode",value:h},l=t.pop(),d=l?{termType:"BlankNode",value:e.getId()}:a;let p=d;for(const c of t){const t=x(c,e,n,i,r),a={termType:"BlankNode",value:e.getId()};n.push({subject:p,predicate:s,object:t,graph:i}),n.push({subject:p,predicate:o,object:a,graph:i}),p=a}if(l){const t=x(l,e,n,i,r);n.push({subject:p,predicate:s,object:t,graph:i}),n.push({subject:p,predicate:o,object:a,graph:i})}return d}(t["@list"],e,n,i,r);l.termType=s.termType,l.value=s.value}else{const e=a.isObject(t)?t["@id"]:t;l.termType=e.startsWith("_:")?"BlankNode":"NamedNode",l.value=e}return"NamedNode"!==l.termType||v(l.value)?l:null}e.exports=_,_.toRDF=(t,e)=>{const n=new l.IdentifierIssuer("_:b"),r={"@default":{}};i(t,r,"@default",n);const s=[],o=Object.keys(r).sort();for(const i of o){let t;if("@default"===i)t={termType:"DefaultGraph",value:""};else{if(!v(i))continue;t=i.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},t.value=i}w(s,r[i],t,n,e)}return s}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(t,e,n){"use strict";const i={};e.exports=i,i.isArray=Array.isArray,i.isBoolean=t=>"boolean"==typeof t||"[object Boolean]"===Object.prototype.toString.call(t),i.isDouble=t=>i.isNumber(t)&&(-1!==String(t).indexOf(".")||Math.abs(t)>=1e21),i.isEmptyObject=t=>i.isObject(t)&&0===Object.keys(t).length,i.isNumber=t=>"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t),i.isNumeric=t=>!isNaN(parseFloat(t))&&isFinite(t),i.isObject=t=>"[object Object]"===Object.prototype.toString.call(t),i.isString=t=>"string"==typeof t||"[object String]"===Object.prototype.toString.call(t),i.isUndefined=t=>void 0===t},{}],31:[function(t,e,n){"use strict";const i=t("./types"),r={};e.exports=r,r.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},r.parse=(t,e)=>{const n={},i=r.parsers[e||"full"],s=i.regex.exec(t);let o=i.keys.length;for(;o--;)n[i.keys[o]]=void 0===s[o]?null:s[o];return("https"===n.scheme&&"443"===n.port||"http"===n.scheme&&"80"===n.port)&&(n.href=n.href.replace(":"+n.port,""),n.authority=n.authority.replace(":"+n.port,""),n.port=null),n.normalizedPath=r.removeDotSegments(n.path),n},r.prependBase=(t,e)=>{if(null===t||r.isAbsolute(e))return e;(!t||i.isString(t))&&(t=r.parse(t||""));const n=r.parse(e),s={protocol:t.protocol||""};if(null!==n.authority)s.authority=n.authority,s.path=n.path,s.query=n.query;else if(s.authority=t.authority,""===n.path)s.path=t.path,s.query=null!==n.query?n.query:t.query;else{if(0===n.path.indexOf("/"))s.path=n.path;else{let e=t.path;e=e.substr(0,e.lastIndexOf("/")+1),(e.length>0||t.authority)&&"/"!==e.substr(-1)&&(e+="/"),e+=n.path,s.path=e}s.query=n.query}""!==n.path&&(s.path=r.removeDotSegments(s.path));let o=s.protocol;return null!==s.authority&&(o+="//"+s.authority),o+=s.path,null!==s.query&&(o+="?"+s.query),null!==n.fragment&&(o+="#"+n.fragment),""===o&&(o="./"),o},r.removeBase=(t,e)=>{if(null===t)return e;(!t||i.isString(t))&&(t=r.parse(t||""));let n="";if(""!==t.href?n+=(t.protocol||"")+"//"+(t.authority||""):e.indexOf("//")&&(n+="//"),0!==e.indexOf(n))return e;const s=r.parse(e.substr(n.length)),o=t.normalizedPath.split("/"),a=s.normalizedPath.split("/"),l=s.fragment||s.query?0:1;for(;o.length>0&&a.length>l&&o[0]===a[0];)o.shift(),a.shift();let c="";if(o.length>0){o.pop();for(let t=0;t{if(0===t.length)return"";const e=t.split("/"),n=[];for(;e.length>0;){const t=e.shift(),i=0===e.length;"."!==t?".."!==t?n.push(t):(n.pop(),i&&n.push("")):i&&n.push("")}return"/"===t[0]&&n.length>0&&""!==n[0]&&n.unshift(""),1===n.length&&""===n[0]?"/":n.join("/")};const s=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;r.isAbsolute=t=>i.isString(t)&&s.test(t),r.isRelative=t=>i.isString(t)},{"./types":30}],32:[function(t,e,n){"use strict";const i=t("./graphTypes"),r=t("./types"),s=t("rdf-canonize").IdentifierIssuer,o=t("./JsonLdError"),a=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,l=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,c=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,u={accept:"application/ld+json, application/json"},h={};function d(t,e){if(r.isArray(e))for(let n=0;n{if(Object.keys(t).some(t=>"accept"===t.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+u.accept+'" is supported.');return Object.assign({Accept:u.accept},t)},h.parseLinkHeader=t=>{const e={},n=t.match(a);for(let i=0;i{if(!(r.isString(t)||r.isArray(t)&&t.every(t=>r.isString(t)))){if(e&&r.isObject(t))switch(Object.keys(t).length){case 0:return;case 1:if("@default"in t&&h.asArray(t["@default"]).every(t=>r.isString(t)))return}throw new o('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:t})}},h.hasProperty=(t,e)=>{if(t.hasOwnProperty(e)){const n=t[e];return!r.isArray(n)||n.length>0}return!1},h.hasValue=(t,e,n)=>{if(h.hasProperty(t,e)){let s=t[e];const o=i.isList(s);if(r.isArray(s)||o){o&&(s=s["@list"]);for(let t=0;t{if("propertyIsArray"in(i=i||{})||(i.propertyIsArray=!1),"valueIsArray"in i||(i.valueIsArray=!1),"allowDuplicate"in i||(i.allowDuplicate=!0),"prependValue"in i||(i.prependValue=!1),i.valueIsArray)t[e]=n;else if(r.isArray(n)){0===n.length&&i.propertyIsArray&&!t.hasOwnProperty(e)&&(t[e]=[]),i.prependValue&&(n=n.concat(t[e]),t[e]=[]);for(let r=0;r[].concat(t[e]||[]),h.removeProperty=(t,e)=>{delete t[e]},h.removeValue=(t,e,n,i)=>{"propertyIsArray"in(i=i||{})||(i.propertyIsArray=!1);const r=h.getValues(t,e).filter(t=>!h.compareValues(t,n));0===r.length?h.removeProperty(t,e):t[e]=1!==r.length||i.propertyIsArray?r:r[0]},h.relabelBlankNodes=(t,e)=>d((e=e||{}).issuer||new s("_:b"),t),h.compareValues=(t,e)=>!!(t===e||i.isValue(t)&&i.isValue(e)&&t["@value"]===e["@value"]&&t["@type"]===e["@type"]&&t["@language"]===e["@language"]&&t["@index"]===e["@index"])||!!(r.isObject(t)&&"@id"in t&&r.isObject(e)&&"@id"in e)&&t["@id"]===e["@id"],h.compareShortestLeast=(t,e)=>t.length1;const g=(t,e,n)=>{const i=t[d].get(e);if(i){const e=i.value;if(m(t,e)){if(y(t,i),!t[a])return}else n&&(t[p]&&(i.value.now=Date.now()),t[h].unshiftNode(i));return e.value}},m=(t,e)=>{if(!e||!e.maxAge&&!t[l])return!1;const n=Date.now()-e.now;return e.maxAge?n>e.maxAge:t[l]&&n>t[l]},b=t=>{if(t[s]>t[r])for(let e=t[h].tail;t[s]>t[r]&&null!==e;){const n=e.prev;y(t,e),e=n}},y=(t,e)=>{if(e){const n=e.value;t[c]&&t[c](n.key,n.value),t[s]-=n.length,t[d].delete(n.key),t[h].removeNode(e)}};class v{constructor(t,e,n,i,r){this.key=t,this.value=e,this.length=n,this.now=i,this.maxAge=r||0}}const _=(t,e,n,i)=>{let r=n.value;m(t,r)&&(y(t,n),t[a]||(r=void 0)),r&&e.call(i,r.value,r.key,t)};e.exports=class{constructor(t){if("number"==typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!=typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[r]=t.max||1/0;const e=t.length||f;if(this[o]="function"!=typeof e?f:e,this[a]=t.stale||!1,t.maxAge&&"number"!=typeof t.maxAge)throw new TypeError("maxAge must be a number");this[l]=t.maxAge||0,this[c]=t.dispose,this[u]=t.noDisposeOnSet||!1,this[p]=t.updateAgeOnGet||!1,this.reset()}set max(t){if("number"!=typeof t||t<0)throw new TypeError("max must be a non-negative number");this[r]=t||1/0,b(this)}get max(){return this[r]}set allowStale(t){this[a]=!!t}get allowStale(){return this[a]}set maxAge(t){if("number"!=typeof t)throw new TypeError("maxAge must be a non-negative number");this[l]=t,b(this)}get maxAge(){return this[l]}set lengthCalculator(t){"function"!=typeof t&&(t=f),t!==this[o]&&(this[o]=t,this[s]=0,this[h].forEach(t=>{t.length=this[o](t.value,t.key),this[s]+=t.length})),b(this)}get lengthCalculator(){return this[o]}get length(){return this[s]}get itemCount(){return this[h].length}rforEach(t,e){e=e||this;for(let n=this[h].tail;null!==n;){const i=n.prev;_(this,t,n,e),n=i}}forEach(t,e){e=e||this;for(let n=this[h].head;null!==n;){const i=n.next;_(this,t,n,e),n=i}}keys(){return this[h].toArray().map(t=>t.key)}values(){return this[h].toArray().map(t=>t.value)}reset(){this[c]&&this[h]&&this[h].length&&this[h].forEach(t=>this[c](t.key,t.value)),this[d]=new Map,this[h]=new i,this[s]=0}dump(){return this[h].map(t=>!m(this,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[h]}set(t,e,n){if((n=n||this[l])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");const i=n?Date.now():0,a=this[o](e,t);if(this[d].has(t)){if(a>this[r])return y(this,this[d].get(t)),!1;const o=this[d].get(t).value;return this[c]&&(this[u]||this[c](t,o.value)),o.now=i,o.maxAge=n,o.value=e,this[s]+=a-o.length,o.length=a,this.get(t),b(this),!0}const p=new v(t,e,a,i,n);return p.length>this[r]?(this[c]&&this[c](t,e),!1):(this[s]+=p.length,this[h].unshift(p),this[d].set(t,this[h].head),b(this),!0)}has(t){if(!this[d].has(t))return!1;const e=this[d].get(t).value;return!m(this,e)}get(t){return g(this,t,!0)}peek(t){return g(this,t,!1)}pop(){const t=this[h].tail;return t?(y(this,t),t.value):null}del(t){y(this,this[d].get(t))}load(t){this.reset();const e=Date.now();for(let n=t.length-1;n>=0;n--){const i=t[n],r=i.e||0;if(0===r)this.set(i.k,i.v);else{const t=r-e;t>0&&this.set(i.k,i.v,t)}}}prune(){this[d].forEach((t,e)=>g(this,e,!1))}}},{yallist:92}],34:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;const i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#",s="http://www.w3.org/2000/10/swap/";n.default={xsd:{decimal:`${r}decimal`,boolean:`${r}boolean`,double:`${r}double`,integer:`${r}integer`,string:`${r}string`},rdf:{type:`${i}type`,nil:`${i}nil`,first:`${i}first`,rest:`${i}rest`,langString:`${i}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${s}reify#forSome`,forAll:`${s}reify#forAll`},log:{implies:`${s}log#implies`}}},{}],35:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=n.Variable=n.Triple=n.Term=n.Quad=n.NamedNode=n.Literal=n.DefaultGraph=n.BlankNode=void 0,n.escapeQuotes=_,n.termFromId=function t(e,n){if(n=n||d,!e)return n.defaultGraph();switch(e[0]){case"?":return n.variable(e.substr(1));case"_":return n.blankNode(e.substr(2));case'"':if(n===d)return new g(e);if('"'===e[e.length-1])return n.literal(e.substr(1,e.length-2));const i=e.lastIndexOf('"',e.length-1);return n.literal(e.substr(1,i-1),"@"===e[i+1]?e.substr(i+2):n.namedNode(e.substr(i+3)));case"<":const r=h.exec(e);return n.quad(t(w(r[1]),n),t(w(r[2]),n),t(w(r[3]),n),r[4]&&t(w(r[4]),n));default:return n.namedNode(e)}},n.termToId=function t(e){if("string"==typeof e)return e;if(e instanceof p&&"Quad"!==e.termType)return e.id;if(!e)return l.id;switch(e.termType){case"NamedNode":return e.value;case"BlankNode":return`_:${e.value}`;case"Variable":return`?${e.value}`;case"DefaultGraph":return"";case"Literal":return`"${e.value}"${e.language?`@${e.language}`:e.datatype&&e.datatype.value!==a.string?`^^${e.datatype.value}`:""}`;case"Quad":return`<<${_(t(e.subject))} ${_(t(e.predicate))} ${_(t(e.object))}${(0,s.isDefaultGraph)(e.graph)?"":` ${t(e.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${e.termType}`)}},n.unescapeQuotes=w;var i,r=(i=t("./IRIs"))&&i.__esModule?i:{default:i},s=t("./N3Util");const{rdf:o,xsd:a}=r.default;let l,c=0;const u=/^"(.*".*)(?="[^"]*$)/,h=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,d={namedNode:function(t){return new f(t)},blankNode:function(t){return new m(t||"n3-"+c++)},variable:function(t){return new b(t)},literal:function(t,e){if("string"==typeof e)return new g(`"${t}"@${e.toLowerCase()}`);let n=e?e.value:"";return""===n&&("boolean"==typeof t?n=a.boolean:"number"==typeof t&&(Number.isFinite(t)?n=Number.isInteger(t)?a.integer:a.double:(n=a.double,Number.isNaN(t)||(t=t>0?"INF":"-INF")))),new g(""===n||n===a.string?`"${t}"`:`"${t}"^^${n}`)},defaultGraph:function(){return l},quad:x,triple:x};n.default=d;class p{constructor(t){this.id=t}get value(){return this.id}equals(t){return t instanceof p?this.id===t.id:!!t&&this.termType===t.termType&&this.value===t.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}n.Term=p;class f extends p{get termType(){return"NamedNode"}}n.NamedNode=f;class g extends p{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const t=this.id;let e=t.lastIndexOf('"')+1;return e`"${e.replace(/"/g,'""')}`)}function w(t){return t.replace(u,(t,e)=>`"${e.replace(/""/g,'"')}`)}function x(t,e,n,i){return new v(t,e,n,i)}n.Triple=n.Quad=v},{"./IRIs":34,"./N3Util":41}],36:[function(t,e,n){(function(e){(function(){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=s(t("./IRIs")),r=s(t("queue-microtask"));function s(t){return t&&t.__esModule?t:{default:t}}const{xsd:o}=i.default,a=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,l={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},c=/[\x00-\x20<>\\"\{\}\|\^\`]/,u={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},h=/$0^/;n.default=class{constructor(t){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(t=t||{}).lineMode){this._n3Mode=!1;for(const t in this)!(t in u)&&this[t]instanceof RegExp&&(this[t]=h)}else this._n3Mode=!1!==t.n3;this._comments=!!t.comments,this._literalClosingPos=0}_tokenizeToEnd(t,e){let n=this._input,i=n.length;for(;;){let t,a;for(;t=this._newline.exec(n);)this._comments&&(a=this._comment.exec(t[0]))&&r("comment",a[1],"",this._line,t[0].length),n=n.substr(t[0].length,n.length),i=n.length,this._line++;if(!t&&(t=this._whitespace.exec(n))&&(n=n.substr(t[0].length,n.length)),this._endOfFile.test(n))return e&&(this._comments&&(a=this._comment.exec(n))&&r("comment",a[1],"",this._line,n.length),n=null,r("eof","","",this._line,0)),this._input=n;const l=this._line,u=n[0];let h="",d="",p="",f=null,g=0,m=!1;switch(u){case"^":if(n.length<3)break;if("^"!==n[1]){this._n3Mode&&(g=1,h="^");break}if(this._previousMarker="^^",n=n.substr(2),"<"!==n[0]){m=!0;break}case"<":if(f=this._unescapedIri.exec(n))h="IRI",d=f[1];else if(f=this._iri.exec(n)){if(d=this._unescape(f[1]),null===d||c.test(d))return s(this);h="IRI"}else n.length>1&&"<"===n[1]?(h="<<",g=2):this._n3Mode&&n.length>1&&"="===n[1]&&(h="inverse",g=2,d=">");break;case">":n.length>1&&">"===n[1]&&(h=">>",g=2);break;case"_":((f=this._blank.exec(n))||e&&(f=this._blank.exec(`${n} `)))&&(h="blank",p="_",d=f[1]);break;case'"':if(f=this._simpleQuotedString.exec(n))d=f[1];else if(({value:d,matchLength:g}=this._parseLiteral(n)),null===d)return s(this);(null!==f||0!==g)&&(h="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(f=this._simpleApostropheString.exec(n))d=f[1];else if(({value:d,matchLength:g}=this._parseLiteral(n)),null===d)return s(this);(null!==f||0!==g)&&(h="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(f=this._variable.exec(n))&&(h="var",d=f[0]);break;case"@":"literal"===this._previousMarker&&(f=this._langcode.exec(n))?(h="langcode",d=f[1]):(f=this._keyword.exec(n))&&(h=f[0]);break;case".":if(1===n.length?e:n[1]<"0"||n[1]>"9"){h=".",g=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(f=this._number.exec(n)||e&&(f=this._number.exec(`${n} `)))&&(h="literal",d=f[0],p="string"==typeof f[1]?o.double:"string"==typeof f[2]?o.decimal:o.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(f=this._sparqlKeyword.exec(n))?h=f[0].toUpperCase():m=!0;break;case"f":case"t":(f=this._boolean.exec(n))?(h="literal",d=f[0],p=o.boolean):m=!0;break;case"a":(f=this._shortPredicates.exec(n))?(h="abbreviation",d="a"):m=!0;break;case"=":this._n3Mode&&n.length>1&&(h="abbreviation",">"!==n[1]?(g=1,d="="):(g=2,d=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(g=1,h=u);break;default:m=!0}if(m&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(f=this._prefix.exec(n))?((f=this._prefixed.exec(n))||e&&(f=this._prefixed.exec(`${n} `)))&&(h="prefixed",p=f[1]||"",d=this._unescape(f[2])):(h="prefix",d=f[1]||"")),"^^"===this._previousMarker)switch(h){case"prefixed":h="type";break;case"IRI":h="typeIRI";break;default:h=""}if(!h)return e||!/^'''|^"""/.test(n)&&/\n|\r/.test(n)?s(this):this._input=n;const b=g||f[0].length,y=r(h,d,p,l,b);this.previousToken=y,this._previousMarker=h,n=n.substr(b,n.length)}function r(e,r,s,o,a){const l=n?i-n.length:i,c={type:e,value:r,prefix:s,line:o,start:l,end:l+a};return t(null,c),c}function s(e){t(e._syntaxError(/^\S*/.exec(n)[0]))}}_unescape(t){let e=!1;const n=t.replace(a,(t,n,i,r)=>{if("string"==typeof n)return String.fromCharCode(Number.parseInt(n,16));if("string"==typeof i){let t=Number.parseInt(i,16);return t<=65535?String.fromCharCode(Number.parseInt(i,16)):String.fromCharCode(55296+((t-=65536)>>10),56320+(1023&t))}return r in l?l[r]:(e=!0,"")});return e?null:n}_parseLiteral(t){if(t.length>=3){const e=t.match(/^(?:"""|"|'''|'|)/)[0],n=e.length;let i=Math.max(this._literalClosingPos,n);for(;(i=t.indexOf(e,i))>0;){let e=0;for(;"\\"===t[i-e-1];)e++;if(e%2==0){const e=t.substring(n,i),r=e.split(/\r\n|\r|\n/).length-1,s=i+n;if(1===n&&0!==r||3===n&&this._lineMode)break;return this._line+=r,{value:this._unescape(e),matchLength:s}}i++}this._literalClosingPos=t.length-n+1}return{value:"",matchLength:0}}_syntaxError(t){this._input=null;const e=new Error(`Unexpected "${t}" on line ${this._line}.`);return e.context={token:void 0,line:this._line,previousToken:this.previousToken},e}_readStartingBom(t){return t.startsWith("\ufeff")?t.substr(1):t}tokenize(t,n){if(this._line=1,"string"==typeof t){if(this._input=this._readStartingBom(t),"function"!=typeof n){const t=[];let e;if(this._tokenizeToEnd((n,i)=>n?e=n:t.push(i),!0),e)throw e;return t}(0,r.default)(()=>this._tokenizeToEnd(n,!0))}else this._pendingBuffer=null,"function"==typeof t.setEncoding&&t.setEncoding("utf8"),t.on("data",t=>{null!==this._input&&0!==t.length&&(this._pendingBuffer&&(t=e.concat([this._pendingBuffer,t]),this._pendingBuffer=null),128&t[t.length-1]?this._pendingBuffer=t:(void 0===this._input?this._input=this._readStartingBom("string"==typeof t?t:t.toString()):this._input+=t,this._tokenizeToEnd(n,!1)))}),t.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(n,!0)}),t.on("error",n)}}}).call(this)}).call(this,t("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=o(t("./N3Lexer")),r=o(t("./N3DataFactory")),s=o(t("./IRIs"));function o(t){return t&&t.__esModule?t:{default:t}}let a=0;class l{constructor(t){this._contextStack=[],this._graph=null,this._setBase((t=t||{}).baseIRI),t.factory&&u(this,t.factory);const e="string"==typeof t.format?t.format.match(/\w*$/)[0].toLowerCase():"",n=/turtle/.test(e),r=/trig/.test(e),s=/triple/.test(e),o=/quad/.test(e),a=this._n3Mode=/n3/.test(e),l=s||o;(this._supportsNamedGraphs=!(n||a))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(n||r||s||a),this._supportsRDFStar=""===e||/star|\*$/.test(e),l&&(this._resolveRelativeIRI=t=>null),this._blankNodePrefix="string"!=typeof t.blankNodePrefix?"":t.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=t.lexer||new i.default({lineMode:l,n3:a}),this._explicitQuantifiers=!!t.explicitQuantifiers}static _resetBlankNodePrefix(){a=0}_setBase(t){if(t){const e=t.indexOf("#");e>=0&&(t=t.substr(0,e)),this._base=t,this._basePath=t.indexOf("/")<0?t:t.replace(/[^\/?]*(?:\?.*)?$/,""),t=t.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=t[0],this._baseScheme=t[1]}else this._base="",this._basePath=""}_saveContext(t,e,n,i,r){const s=this._n3Mode;this._contextStack.push({subject:n,predicate:i,object:r,graph:e,type:t,inverse:!!s&&this._inversePredicate,blankPrefix:s?this._prefixes._:"",quantified:s?this._quantified:null}),s&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const t=this._contextStack.pop(),e=this._n3Mode;this._subject=t.subject,this._predicate=t.predicate,this._object=t.object,this._graph=t.graph,e&&(this._inversePredicate=t.inverse,this._prefixes._=t.blankPrefix,this._quantified=t.quantified)}_readInTopContext(t){switch(t.type){case"eof":return null!==this._graph?this._error("Unclosed graph",t):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(t)}}_readEntity(t,e){let n;switch(t.type){case"IRI":case"typeIRI":const e=this._resolveIRI(t.value);if(null===e)return this._error("Invalid IRI",t);n=this._namedNode(e);break;case"type":case"prefixed":const i=this._prefixes[t.prefix];if(void 0===i)return this._error(`Undefined prefix "${t.prefix}:"`,t);n=this._namedNode(i+t.value);break;case"blank":n=this._blankNode(this._prefixes[t.prefix]+t.value);break;case"var":n=this._variable(t.value.substr(1));break;default:return this._error(`Expected entity but got ${t.type}`,t)}return!e&&this._n3Mode&&n.id in this._quantified&&(n=this._quantified[n.id]),n}_readSubject(t){switch(this._predicate=null,t.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",t);case"}":return this._readPunctuation(t);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',t);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',t);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",t);if(0===t.prefix.length)return this._literalValue=t.value,this._completeSubjectLiteral;this._subject=this._literal(t.value,this._namedNode(t.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",t);default:if(void 0===(this._subject=this._readEntity(t)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(t){const e=t.type;switch(e){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[t.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${e}`,t):(this._subject=null,"]"===e?this._readBlankNodeTail(t):this._readPunctuation(t));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",t);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",t);default:if(void 0===(this._predicate=this._readEntity(t)))return}return this._readObject}_readObject(t){switch(t.type){case"literal":if(0===t.prefix.length)return this._literalValue=t.value,this._readDataTypeOrLang;this._object=this._literal(t.value,this._namedNode(t.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",t);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",t);default:if(void 0===(this._object=this._readEntity(t)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(t){return"{"===t.type?this._readGraph(t):this._readPredicate(t)}_readGraph(t){return"{"!==t.type?this._error(`Expected graph but got ${t.type}`,t):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(t){return"]"===t.type?(this._subject=null,this._readBlankNodeTail(t)):(this._predicate=null,this._readPredicate(t))}_readBlankNodeTail(t){if("]"!==t.type)return this._readBlankNodePunctuation(t);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const e=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:e?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(t){switch(t.type){case".":case"}":return this._subject=null,this._readPunctuation(t);default:return this._readPredicate(t)}}_readListItem(t){let e=null,n=null,i=this._readListItem;const r=this._subject,s=this._contextStack,o=s[s.length-1];switch(t.type){case"[":this._saveContext("blank",this._graph,n=this._blankNode(),this.RDF_FIRST,this._subject=e=this._blankNode()),i=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,n=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==s.length&&"list"===s[s.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(i=this._readPredicate,this._subject===this.RDF_NIL)return i}else if(i=this._getContextEndReader(),this._object===this.RDF_NIL)return i;n=this.RDF_NIL;break;case"literal":0===t.prefix.length?(this._literalValue=t.value,i=this._readListItemDataTypeOrLang):(e=this._literal(t.value,this._namedNode(t.prefix)),i=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",t);default:if(void 0===(e=this._readEntity(t)))return}if(null===n&&(this._subject=n=this._blankNode()),null===r?null===o.predicate?o.subject=n:o.object=n:this._emit(r,this.RDF_REST,n,this._graph),null!==e){if(this._n3Mode&&("IRI"===t.type||"prefixed"===t.type))return this._saveContext("item",this._graph,n,this.RDF_FIRST,e),this._subject=e,this._predicate=null,this._getPathReader(this._readListItem);this._emit(n,this.RDF_FIRST,e,this._graph)}return i}_readDataTypeOrLang(t){return this._completeObjectLiteral(t,!1)}_readListItemDataTypeOrLang(t){return this._completeObjectLiteral(t,!0)}_completeLiteral(t){let e=this._literal(this._literalValue);switch(t.type){case"type":case"typeIRI":const n=this._readEntity(t);if(void 0===n)return;e=this._literal(this._literalValue,n),t=null;break;case"langcode":e=this._literal(this._literalValue,t.value),t=null}return{token:t,literal:e}}_completeSubjectLiteral(t){return this._subject=this._completeLiteral(t).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(t,e){const n=this._completeLiteral(t);if(n)return this._object=n.literal,e&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===n.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(n.token))}_readFormulaTail(t){return"}"!==t.type?this._readPunctuation(t):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(t){let e,n=this._graph;const i=this._subject,r=this._inversePredicate;switch(t.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",t);if(this._n3Mode)return this._readFormulaTail(t);this._graph=null;case".":this._subject=null,e=this._contextStack.length?this._readSubject:this._readInTopContext,r&&(this._inversePredicate=!1);break;case";":e=this._readPredicate;break;case",":e=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(n=this._readEntity(t))){e=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,t)}if(null!==i){const t=this._predicate,e=this._object;r?this._emit(e,t,i,n):this._emit(i,t,e,n)}return e}_readBlankNodePunctuation(t){let e;switch(t.type){case";":e=this._readPredicate;break;case",":e=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,t)}return this._emit(this._subject,this._predicate,this._object,this._graph),e}_readQuadPunctuation(t){return"."!==t.type?this._error("Expected dot to follow quad",t):this._readInTopContext}_readPrefix(t){return"prefix"!==t.type?this._error("Expected prefix to follow @prefix",t):(this._prefix=t.value,this._readPrefixIRI)}_readPrefixIRI(t){if("IRI"!==t.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,t);const e=this._readEntity(t);return this._prefixes[this._prefix]=e.value,this._prefixCallback(this._prefix,e),this._readDeclarationPunctuation}_readBaseIRI(t){const e="IRI"===t.type&&this._resolveIRI(t.value);return e?(this._setBase(e),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",t)}_readNamedGraphLabel(t){switch(t.type){case"IRI":case"blank":case"prefixed":return this._readSubject(t),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",t)}}_readNamedGraphBlankLabel(t){return"]"!==t.type?this._error("Invalid graph label",t):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(t){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(t)):"."!==t.type?this._error("Expected declaration to end with a dot",t):this._readInTopContext}_readQuantifierList(t){let e;switch(t.type){case"IRI":case"prefixed":if(void 0!==(e=this._readEntity(t,!0)))break;default:return this._error(`Unexpected ${t.type}`,t)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,e,this.QUANTIFIERS_GRAPH)):this._quantified[e.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(t){return","===t.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(t))}_getPathReader(t){return this._afterPath=t,this._readPath}_readPath(t){switch(t.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const e=this._contextStack,n=e.length&&e[e.length-1];if(n&&"item"===n.type){const t=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,t,this._graph)}return this._afterPath(t)}}_readForwardPath(t){let e,n;const i=this._blankNode();if(void 0!==(n=this._readEntity(t)))return null===this._predicate?(e=this._subject,this._subject=i):(e=this._object,this._object=i),this._emit(e,n,i,this._graph),this._readPath}_readBackwardPath(t){const e=this._blankNode();let n,i;if(void 0!==(n=this._readEntity(t)))return null===this._predicate?(i=this._subject,this._subject=e):(i=this._object,this._object=e),this._emit(e,n,i,this._graph),this._readPath}_readRDFStarTailOrGraph(t){return">>"!==t.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(t))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,t):this._readRDFStarTail(t)}_readRDFStarTail(t){if(">>"!==t.type)return this._error(`Expected >> but got ${t.type}`,t);const e=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=e,this._readPredicate):(this._object=e,this._getContextEndReader())}_getContextEndReader(){const t=this._contextStack;if(!t.length)return this._readPunctuation;switch(t[t.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(t,e,n,i){this._callback(null,this._quad(t,e,n,i||this.DEFAULTGRAPH))}_error(t,e){const n=new Error(`${t} on line ${e.line}.`);n.context={token:e,line:e.line,previousToken:this._lexer.previousToken},this._callback(n),this._callback=c}_resolveIRI(t){return/^[a-z][a-z0-9+.-]*:/i.test(t)?t:this._resolveRelativeIRI(t)}_resolveRelativeIRI(t){if(!t.length)return this._base;switch(t[0]){case"#":return this._base+t;case"?":return this._base.replace(/(?:\?.*)?$/,t);case"/":return("/"===t[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(t);default:return/^[^/:]*:/.test(t)?null:this._removeDotSegments(this._basePath+t)}}_removeDotSegments(t){if(!/(^|\/)\.\.?($|[/#?])/.test(t))return t;const e=t.length;let n="",i=-1,r=-1,s=0,o="/";for(;i=r&&(n=n.substr(0,s)),"/"!==o)return`${n}/${t.substr(i+1)}`;s=i+1}}}o=t[++i]}return n+t.substring(s)}parse(t,e,n){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${a++}_`,this._prefixCallback=n||c,this._inversePredicate=!1,this._quantified=Object.create(null),!e){const e=[];let n;if(this._callback=(t,i)=>{t?n=t:i&&e.push(i)},this._lexer.tokenize(t).every(t=>this._readCallback=this._readCallback(t)),n)throw n;return e}this._callback=e,this._lexer.tokenize(t,(t,e)=>{null!==t?(this._callback(t),this._callback=c):this._readCallback&&(this._readCallback=this._readCallback(e))})}}function c(){}function u(t,e){const n=e.namedNode;t._namedNode=n,t._blankNode=e.blankNode,t._literal=e.literal,t._variable=e.variable,t._quad=e.quad,t.DEFAULTGRAPH=e.defaultGraph(),t.RDF_FIRST=n(s.default.rdf.first),t.RDF_REST=n(s.default.rdf.rest),t.RDF_NIL=n(s.default.rdf.nil),t.N3_FORALL=n(s.default.r.forAll),t.N3_FORSOME=n(s.default.r.forSome),t.ABBREVIATIONS={a:n(s.default.rdf.type),"=":n(s.default.owl.sameAs),">":n(s.default.log.implies)},t.QUANTIFIERS_GRAPH=n("urn:n3:quantifiers")}n.default=l,u(l.prototype,r.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}(t("./N3DataFactory")),s=t("readable-stream"),o=(i=t("./IRIs"))&&i.__esModule?i:{default:i};function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}class l{constructor(t,e){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!e&&t&&!t[0]&&(e=t,t=null),this._factory=(e=e||{}).factory||r.default,t&&this.addQuads(t)}get size(){let t=this._size;if(null!==t)return t;t=0;const e=this._graphs;let n,i;for(const r in e)for(const s in n=e[r].subjects)for(const e in i=n[s])t+=Object.keys(i[e]).length;return this._size=t}_addToIndex(t,e,n,i){const r=t[e]||(t[e]={}),s=r[n]||(r[n]={}),o=i in s;return o||(s[i]=null),!o}_removeFromIndex(t,e,n,i){const r=t[e],s=r[n];delete s[i];for(const o in s)return;delete r[n];for(const o in r)return;delete t[e]}*_findInIndex(t,e,n,i,s,o,a,l){let c,u,h;const d=!e+!n+!i>1?Object.keys(this._ids):this._entities,p=(0,r.termFromId)(l,this._factory);e&&((c=t,t={})[e]=c[e]);for(const f in t){const e=d[f];if(u=t[f]){n&&((c=u,u={})[n]=c[n]);for(const t in u){const n=d[t];if(h=u[t]){const t=i?i in h?[i]:[]:Object.keys(h);for(let i=0;i{n in e||(e[n]=!0,t((0,r.termFromId)(this._entities[n],this._factory)))}}add(t){return this.addQuad(t),this}addQuad(t,e,n,i){e||(i=t.graph,n=t.object,e=t.predicate,t=t.subject),t=(0,r.termToId)(t),e=(0,r.termToId)(e),n=(0,r.termToId)(n),i=(0,r.termToId)(i);let s=this._graphs[i];s||(s=this._graphs[i]={subjects:{},predicates:{},objects:{}},Object.freeze(s));const o=this._ids,a=this._entities;t=o[t]||(o[a[++this._id]=t]=this._id),e=o[e]||(o[a[++this._id]=e]=this._id),n=o[n]||(o[a[++this._id]=n]=this._id);const l=this._addToIndex(s.subjects,t,e,n);return this._addToIndex(s.predicates,e,n,t),this._addToIndex(s.objects,n,t,e),this._size=null,l}addQuads(t){for(let e=0;e{this.addQuad(t)}),t}removeQuad(t,e,n,i){e||(i=t.graph,n=t.object,e=t.predicate,t=t.subject),t=(0,r.termToId)(t),e=(0,r.termToId)(e),n=(0,r.termToId)(n),i=(0,r.termToId)(i);const s=this._ids,o=this._graphs;let a,l,c;if(!((t=s[t])&&(e=s[e])&&(n=s[n])&&(a=o[i])&&(l=a.subjects[t])&&(c=l[e])&&n in c))return!1;for(t in this._removeFromIndex(a.subjects,t,e,n),this._removeFromIndex(a.predicates,e,n,t),this._removeFromIndex(a.objects,n,t,e),null!==this._size&&this._size--,a.subjects)return!0;return delete o[i],!0}removeQuads(t){for(let e=0;e{this.removeQuad(t)}),t}removeMatches(t,e,n,i){const r=new s.Readable({objectMode:!0});return r._read=()=>{for(const s of this.readQuads(t,e,n,i))r.push(s);r.push(null)},this.remove(r)}deleteGraph(t){return this.removeMatches(null,null,null,t)}getQuads(t,e,n,i){return[...this.readQuads(t,e,n,i)]}*readQuads(t,e,n,i){t=t&&(0,r.termToId)(t),e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._getGraphs(i),o=this._ids;let a,l,u,h;if(!(c(t)&&!(l=o[t])||c(e)&&!(u=o[e])||c(n)&&!(h=o[n])))for(const r in s)(a=s[r])&&(l?h?yield*this._findInIndex(a.objects,h,l,u,"object","subject","predicate",r,null,!0):yield*this._findInIndex(a.subjects,l,u,null,"subject","predicate","object",r,null,!0):u?yield*this._findInIndex(a.predicates,u,h,null,"predicate","object","subject",r,null,!0):h?yield*this._findInIndex(a.objects,h,null,null,"object","subject","predicate",r,null,!0):yield*this._findInIndex(a.subjects,null,null,null,"subject","predicate","object",r,null,!0))}match(t,e,n,i){return new u(this,t,e,n,i)}countQuads(t,e,n,i){t=t&&(0,r.termToId)(t),e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._getGraphs(i),o=this._ids;let a,l,u,h,d=0;if(c(t)&&!(l=o[t])||c(e)&&!(u=o[e])||c(n)&&!(h=o[n]))return 0;for(const r in s)(a=s[r])&&(d+=t?n?this._countInIndex(a.objects,h,l,u):this._countInIndex(a.subjects,l,u,h):e?this._countInIndex(a.predicates,u,h,l):this._countInIndex(a.objects,h,l,u));return d}forEach(t,e,n,i,r){this.some(e=>(t(e),!1),e,n,i,r)}every(t,e,n,i,r){let s=!1;const o=!this.some(e=>(s=!0,!t(e)),e,n,i,r);return s&&o}some(t,e,n,i,r){for(const s of this.readQuads(e,n,i,r))if(t(s))return!0;return!1}getSubjects(t,e,n){const i=[];return this.forSubjects(t=>{i.push(t)},t,e,n),i}forSubjects(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.predicates,l,u,t):this._loopByKey1(a.subjects,l,t):u?this._loopByKey0(a.objects,u,t):this._loop(a.subjects,t))}getPredicates(t,e,n){const i=[];return this.forPredicates(t=>{i.push(t)},t,e,n),i}forPredicates(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.objects,u,l,t):this._loopByKey0(a.subjects,l,t):u?this._loopByKey1(a.predicates,u,t):this._loop(a.predicates,t))}getObjects(t,e,n){const i=[];return this.forObjects(t=>{i.push(t)},t,e,n),i}forObjects(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.subjects,l,u,t):this._loopByKey1(a.objects,l,t):u?this._loopByKey0(a.predicates,u,t):this._loop(a.objects,t))}getGraphs(t,e,n){const i=[];return this.forGraphs(t=>{i.push(t)},t,e,n),i}forGraphs(t,e,n,i){for(const r in this._graphs)this.some(e=>(t(e.graph),!0),e,n,i,r)}createBlankNode(t){let e,n;if(t)for(e=t=`_:${t}`,n=1;this._ids[e];)e=t+n++;else do{e="_:b"+this._blankNodeIndex++}while(this._ids[e]);return this._ids[e]=++this._id,this._entities[this._id]=e,this._factory.blankNode(e.substr(2))}extractLists({remove:t=!1,ignoreErrors:e=!1}={}){const n={},i=e?()=>!0:(t,e)=>{throw new Error(`${t.value} ${e}`)},r=this.getQuads(null,o.default.rdf.rest,o.default.rdf.nil,null),s=t?[...r]:[];return r.forEach(e=>{const r=[];let a,l,c=!1;const u=e.graph;let h=e.subject;for(;h&&!c;){const t=this.getQuads(null,null,h,null),e=this.getQuads(h,null,null,null);let n,d=null,p=null,f=null;for(let r=0;r{switch(t){case"data":e=i;break;case"end":n=i}}},(t,e)=>{t&&this.emit("error",t)||e&&this.push(e)},(t,e)=>{this.emit("prefix",t,e)}),this._transform=(t,n,i)=>{e(t),i()},this._flush=t=>{n(),t()}}import(t){return t.on("data",t=>{this.write(t)}),t.on("end",()=>{this.end()}),t.on("error",t=>{this.emit("error",t)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=t("readable-stream"),s=(i=t("./N3Writer"))&&i.__esModule?i:{default:i};n.default=class extends r.Transform{constructor(t){super({encoding:"utf8",writableObjectMode:!0});const e=this._writer=new s.default({write:(t,e,n)=>{this.push(t),n&&n()},end:t=>{this.push(null),t&&t()}},t);this._transform=(t,n,i)=>{e.addQuad(t,i)},this._flush=t=>{e.end(t)}}import(t){return t.on("data",t=>{this.write(t)}),t.on("end",()=>{this.end()}),t.on("error",t=>{this.emit("error",t)}),t.on("prefix",(t,e)=>{this._writer.addPrefix(t,e)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.inDefaultGraph=function(t){return s(t.graph)},n.isBlankNode=function(t){return!!t&&"BlankNode"===t.termType},n.isDefaultGraph=s,n.isLiteral=function(t){return!!t&&"Literal"===t.termType},n.isNamedNode=function(t){return!!t&&"NamedNode"===t.termType},n.isVariable=function(t){return!!t&&"Variable"===t.termType},n.prefix=function(t,e){return o({"":t.value||t},e)("")},n.prefixes=o;var i,r=(i=t("./N3DataFactory"))&&i.__esModule?i:{default:i};function s(t){return!!t&&"DefaultGraph"===t.termType}function o(t,e){const n=Object.create(null);for(const r in t)i(r,t[r]);function i(t,i){if("string"==typeof i){const r=Object.create(null);n[t]=t=>r[t]||(r[t]=e.namedNode(i+t))}else if(!(t in n))throw new Error(`Unknown prefix: ${t}`);return n[t]}return e=e||r.default,i}},{"./N3DataFactory":35}],42:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=(i=t("./IRIs"))&&i.__esModule?i:{default:i},s=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}(t("./N3DataFactory")),o=t("./N3Util");function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}const l=s.default.defaultGraph(),{rdf:c,xsd:u}=r.default,h=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,d=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,p={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class f extends s.Term{equals(){return!1}}function g(t){let e=p[t];return void 0===e&&(1===t.length?(e=t.charCodeAt(0).toString(16),e="\\u0000".substr(0,6-e.length)+e):(e=(1024*(t.charCodeAt(0)-55296)+t.charCodeAt(1)+9216).toString(16),e="\\U00000000".substr(0,10-e.length)+e)),e}function m(t){return t.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}n.default=class{constructor(t,e){if(this._prefixRegex=/$0^/,t&&"function"!=typeof t.write&&(e=t,t=null),this._lists=(e=e||{}).lists,t)this._outputStream=t,this._endStream=void 0===e.end||!!e.end;else{let t="";this._outputStream={write(e,n,i){t+=e,i&&i()},end:e=>{e&&e(null,t)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(e.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=l,this._prefixIRIs=Object.create(null),e.prefixes&&this.addPrefixes(e.prefixes),e.baseIRI&&(this._baseMatcher=new RegExp(`^${m(e.baseIRI)}${e.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=e.baseIRI.length))}get _inDefaultGraph(){return l.equals(this._graph)}_write(t,e){this._outputStream.write(t,"utf8",e)}_writeQuad(t,e,n,i,r){try{i.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(l.equals(i)?"":`${this._encodeIriOrBlank(i)} {\n`)),this._graph=i,this._subject=null),t.equals(this._subject)?e.equals(this._predicate)?this._write(`, ${this._encodeObject(n)}`,r):this._write(`;\n ${this._encodePredicate(this._predicate=e)} ${this._encodeObject(n)}`,r):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=t)} ${this._encodePredicate(this._predicate=e)} ${this._encodeObject(n)}`,r)}catch(s){r&&r(s)}}_writeQuadLine(t,e,n,i,r){delete this._prefixMatch,this._write(this.quadToString(t,e,n,i),r)}quadToString(t,e,n,i){return`${this._encodeSubject(t)} ${this._encodeIriOrBlank(e)} ${this._encodeObject(n)}${i&&i.value?` ${this._encodeIriOrBlank(i)} .\n`:" .\n"}`}quadsToString(t){return t.map(t=>this.quadToString(t.subject,t.predicate,t.object,t.graph)).join("")}_encodeSubject(t){return"Quad"===t.termType?this._encodeQuad(t):this._encodeIriOrBlank(t)}_encodeIriOrBlank(t){if("NamedNode"!==t.termType)return this._lists&&t.value in this._lists&&(t=this.list(this._lists[t.value])),"id"in t?t.id:`_:${t.value}`;let e=t.value;this._baseMatcher&&this._baseMatcher.test(e)&&(e=e.substr(this._baseLength)),h.test(e)&&(e=e.replace(d,g));const n=this._prefixRegex.exec(e);return n?n[1]?this._prefixIRIs[n[1]]+n[2]:e:`<${e}>`}_encodeLiteral(t){let e=t.value;if(h.test(e)&&(e=e.replace(d,g)),t.language)return`"${e}"@${t.language}`;if(this._lineMode){if(t.datatype.value===u.string)return`"${e}"`}else switch(t.datatype.value){case u.string:return`"${e}"`;case u.boolean:if("true"===e||"false"===e)return e;break;case u.integer:if(/^[+-]?\d+$/.test(e))return e;break;case u.decimal:if(/^[+-]?\d*\.\d+$/.test(e))return e;break;case u.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(e))return e}return`"${e}"^^${this._encodeIriOrBlank(t.datatype)}`}_encodePredicate(t){return t.value===c.type?"a":this._encodeIriOrBlank(t)}_encodeObject(t){switch(t.termType){case"Quad":return this._encodeQuad(t);case"Literal":return this._encodeLiteral(t);default:return this._encodeIriOrBlank(t)}}_encodeQuad({subject:t,predicate:e,object:n,graph:i}){return`<<${this._encodeSubject(t)} ${this._encodePredicate(e)} ${this._encodeObject(n)}${(0,o.isDefaultGraph)(i)?"":` ${this._encodeIriOrBlank(i)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(t,e,n,i,r){void 0===n?this._writeQuad(t.subject,t.predicate,t.object,t.graph,e):"function"==typeof i?this._writeQuad(t,e,n,l,i):this._writeQuad(t,e,n,i||l,r)}addQuads(t){for(let e=0;e.\n`)}if(n){let t="",e="";for(const n in this._prefixIRIs)t+=t?`|${n}`:n,e+=(e?"|":"")+this._prefixIRIs[n];t=m(t),this._prefixRegex=new RegExp(`^(?:${e})[^/]*$|^(${t})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(n?"\n":"",e)}blank(t,e){let n,i,r=t;switch(void 0===t?r=[]:t.termType?r=[{predicate:t,object:e}]:"length"in t||(r=[t]),i=r.length){case 0:return new f("[]");case 1:if(n=r[0],!(n.object instanceof f))return new f(`[ ${this._encodePredicate(n.predicate)} ${this._encodeObject(n.object)} ]`);default:let e="[";for(let s=0;s{e=null,t(n,i)});if(this._endStream)try{return this._outputStream.end(e)}catch(n){}e&&e()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BlankNode",{enumerable:!0,get:function(){return u.BlankNode}}),Object.defineProperty(n,"DataFactory",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(n,"DefaultGraph",{enumerable:!0,get:function(){return u.DefaultGraph}}),Object.defineProperty(n,"Lexer",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(n,"Literal",{enumerable:!0,get:function(){return u.Literal}}),Object.defineProperty(n,"NamedNode",{enumerable:!0,get:function(){return u.NamedNode}}),Object.defineProperty(n,"Parser",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(n,"Quad",{enumerable:!0,get:function(){return u.Quad}}),Object.defineProperty(n,"Store",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(n,"StreamParser",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(n,"StreamWriter",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(n,"Term",{enumerable:!0,get:function(){return u.Term}}),Object.defineProperty(n,"Triple",{enumerable:!0,get:function(){return u.Triple}}),n.Util=void 0,Object.defineProperty(n,"Variable",{enumerable:!0,get:function(){return u.Variable}}),Object.defineProperty(n,"Writer",{enumerable:!0,get:function(){return s.default}}),n.default=void 0,Object.defineProperty(n,"termFromId",{enumerable:!0,get:function(){return u.termFromId}}),Object.defineProperty(n,"termToId",{enumerable:!0,get:function(){return u.termToId}});var i=p(t("./N3Lexer")),r=p(t("./N3Parser")),s=p(t("./N3Writer")),o=p(t("./N3Store")),a=p(t("./N3StreamParser")),l=p(t("./N3StreamWriter")),c=d(t("./N3Util"));n.Util=c;var u=d(t("./N3DataFactory"));function h(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(h=function(t){return t?n:e})(t)}function d(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=h(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}function p(t){return t&&t.__esModule?t:{default:t}}n.default={Lexer:i.default,Parser:r.default,Writer:s.default,Store:o.default,StreamParser:a.default,StreamWriter:l.default,Util:c,DataFactory:u.default,Term:u.Term,NamedNode:u.NamedNode,Literal:u.Literal,BlankNode:u.BlankNode,Variable:u.Variable,DefaultGraph:u.DefaultGraph,Quad:u.Quad,Triple:u.Triple,termFromId:u.termFromId,termToId:u.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(t,e,n){var i,r,s=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(t){if(i===setTimeout)return setTimeout(t,0);if((i===o||!i)&&setTimeout)return i=setTimeout,setTimeout(t,0);try{return i(t,0)}catch(e){try{return i.call(null,t,0)}catch(n){return i.call(this,t,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:o}catch(t){i=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(t){r=a}}();var c,u=[],h=!1,d=-1;function p(){!h||!c||(h=!1,c.length?u=c.concat(u):d=-1,u.length&&f())}function f(){if(!h){var t=l(p);h=!0;for(var e=u.length;e;){for(c=u,u=[];++d1)for(var n=1;n(n||(n=Promise.resolve())).then(t).catch(t=>setTimeout(()=>{throw t},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(t,e,n){e.exports=t("./lib")},{"./lib":55}],47:[function(t,e,n){"use strict";e.exports=class t{constructor(t,e=new Map,n=0){this.prefix=t,this._existing=e,this.counter=n}clone(){const{prefix:e,_existing:n,counter:i}=this;return new t(e,new Map(n),i)}getId(t){const e=t&&this._existing.get(t);if(e)return e;const n=this.prefix+this.counter;return this.counter++,t&&this._existing.set(t,n),n}hasId(t){return this._existing.has(t)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(t,e,n){"use strict";t("setimmediate");const r=self.crypto||self.msCrypto;e.exports=class{constructor(t){if(!r||!r.subtle)throw new Error("crypto.subtle not found.");if("sha256"===t)this.algorithm={name:"SHA-256"};else{if("sha1"!==t)throw new Error(`Unsupport algorithm "${t}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(t){this._content+=t}digest(){var t=this;return i(function*(){const e=(new TextEncoder).encode(t._content),n=new Uint8Array(yield r.subtle.digest(t.algorithm,e));let i="";for(let t=0;t]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),e.exports=class t{static parse(t){const e=[],n={},h=t.split(c.eoln);let p=0;for(const f of h){if(p++,c.empty.test(f))continue;const t=f.match(c.quad);if(null===t)throw new Error("N-Quads parse error on line "+p+".");const h={subject:null,predicate:null,object:null,graph:null};if(h.subject=void 0!==t[1]?{termType:s,value:t[1]}:{termType:o,value:t[2]},h.predicate={termType:s,value:t[3]},void 0!==t[4]?h.object={termType:s,value:t[4]}:void 0!==t[5]?h.object={termType:o,value:t[5]}:(h.object={termType:a,value:void 0,datatype:{termType:s}},void 0!==t[7]?h.object.datatype.value=t[7]:void 0!==t[8]?(h.object.datatype.value=i,h.object.language=t[8]):h.object.datatype.value=r,h.object.value=t[6].replace(d,function(t,e,n,i){if(e)switch(e){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(n)return String.fromCharCode(parseInt(n,16));if(i)throw new Error("Unsupported U escape")})),h.graph=void 0!==t[9]?{termType:s,value:t[9]}:void 0!==t[10]?{termType:o,value:t[10]}:{termType:l,value:""},h.graph.value in n){let t=!0;const i=n[h.graph.value];for(const e of i)if(u(e,h)){t=!1;break}t&&(i.push(h),e.push(h))}else n[h.graph.value]=[h],e.push(h)}return e}static serialize(e){Array.isArray(e)||(e=t.legacyDatasetToQuads(e));const n=[];for(const i of e)n.push(t.serializeQuad(i));return n.sort().join("")}static serializeQuad(t){const e=t.subject,n=t.object,a=t.graph;let l="";return l+=e.termType===s?`<${e.value}>`:`${e.value}`,l+=` <${t.predicate.value}> `,n.termType===s?l+=`<${n.value}>`:n.termType===o?l+=n.value:(l+=`"${c=n.value,c.replace(h,function(t){switch(t){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,n.datatype.value===i?n.language&&(l+=`@${n.language}`):n.datatype.value!==r&&(l+=`^^<${n.datatype.value}>`)),a.termType===s?l+=` <${a.value}>`:a.termType===o&&(l+=` ${a.value}`),l+=" .\n",l;var c}static legacyDatasetToQuads(t){const e=[],n={"blank node":o,IRI:s,literal:a};for(const c in t)t[c].forEach(t=>{const u={};for(const e in t){const o=t[e],l={termType:n[o.type],value:o.value};l.termType===a&&(l.datatype={termType:s},"datatype"in o&&(l.datatype.value=o.datatype),"language"in o?("datatype"in o||(l.datatype.value=i),l.language=o.language):"datatype"in o||(l.datatype.value=r)),u[e]=l}u.graph="@default"===c?{termType:l,value:""}:{termType:c.startsWith("_:")?o:s,value:c},e.push(u)});return e}};const h=/["\\\n\r]/g;const d=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(t,e,n){"use strict";e.exports=class{constructor(t){this.current=t.sort(),this.done=!1,this.dir=new Map;for(let e=0;ei)&&(a&&o>0&&n>t[o-1]||!a&&ot[o+1])&&(i=n,r=o)}if(null===i)this.done=!0;else{const n=e.get(i)?r-1:r+1;t[r]=t[n],t[n]=i;for(const r of t)r>i&&e.set(r,!e.get(r))}return n}}},{}],51:[function(t,e,n){(function(n){(function(){"use strict";const r=t("./IdentifierIssuer"),s=t("./MessageDigest"),o=t("./Permuter"),a=t("./NQuads");function l(t,e){return t.hashe.hash?1:0}e.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new r("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(t){var e=this;return i(function*(){e.quads=t;for(const r of t)e._addBlankNodeQuadInfo({quad:r,component:r.subject}),e._addBlankNodeQuadInfo({quad:r,component:r.object}),e._addBlankNodeQuadInfo({quad:r,component:r.graph});const n=new Map,i=[...e.blankNodeInfo.keys()];let s=0;for(const t of i)++s%100==0&&(yield e._yield()),yield e._hashAndTrackBlankNode({id:t,hashToBlankNodes:n});const o=[...n.keys()].sort(),c=[];for(const t of o){const i=n.get(t);i.length>1?c.push(i):e.canonicalIssuer.getId(i[0])}for(const t of c){const n=[];for(const i of t){if(e.canonicalIssuer.hasId(i))continue;const t=new r("_:b");t.getId(i);const s=yield e.hashNDegreeQuads(i,t);n.push(s)}n.sort(l);for(const t of n){const n=t.issuer.getOldIds();for(const t of n)e.canonicalIssuer.getId(t)}}const u=[];for(const t of e.quads){const n=yt({},t);n.subject=e._useCanonicalId({component:n.subject}),n.object=e._useCanonicalId({component:n.object}),n.graph=e._useCanonicalId({component:n.graph}),u.push(a.serializeQuad(n))}return u.sort(),u.join("")})()}hashFirstDegreeQuads(t){var e=this;return i(function*(){const n=[],i=e.blankNodeInfo.get(t),r=i.quads;for(const s of r){const i={subject:null,predicate:s.predicate,object:null,graph:null};i.subject=e.modifyFirstDegreeComponent(t,s.subject,"subject"),i.object=e.modifyFirstDegreeComponent(t,s.object,"object"),i.graph=e.modifyFirstDegreeComponent(t,s.graph,"graph"),n.push(a.serializeQuad(i))}n.sort();const o=new s(e.hashAlgorithm);for(const t of n)o.update(t);return i.hash=yield o.digest(),i.hash})()}hashRelatedBlankNode(t,e,n,r){var o=this;return i(function*(){let i;i=o.canonicalIssuer.hasId(t)?o.canonicalIssuer.getId(t):n.hasId(t)?n.getId(t):o.blankNodeInfo.get(t).hash;const a=new s(o.hashAlgorithm);return a.update(r),"g"!==r&&a.update(o.getRelatedPredicate(e)),a.update(i),a.digest()})()}hashNDegreeQuads(t,e){var n=this;return i(function*(){const i=new s(n.hashAlgorithm),r=yield n.createHashToRelated(t,e),a=[...r.keys()].sort();for(const t of a){i.update(t);let s,a="";const l=new o(r.get(t));let c=0;for(;l.hasNext();){const t=l.next();++c%3==0&&(yield n._yield());let i=e.clone(),r="";const o=[];let u=!1;for(const e of t)if(n.canonicalIssuer.hasId(e)?r+=n.canonicalIssuer.getId(e):(i.hasId(e)||o.push(e),r+=i.getId(e)),0!==a.length&&r>a){u=!0;break}if(!u){for(const t of o){const e=yield n.hashNDegreeQuads(t,i);if(r+=i.getId(t),r+=`<${e.hash}>`,i=e.issuer,0!==a.length&&r>a){u=!0;break}}u||(0===a.length||r`}createHashToRelated(t,e){var n=this;return i(function*(){const i=new Map,r=n.blankNodeInfo.get(t).quads;let s=0;for(const o of r)++s%100==0&&(yield n._yield()),yield Promise.all([n._addRelatedBlankNodeHash({quad:o,component:o.subject,position:"s",id:t,issuer:e,hashToRelated:i}),n._addRelatedBlankNodeHash({quad:o,component:o.object,position:"o",id:t,issuer:e,hashToRelated:i}),n._addRelatedBlankNodeHash({quad:o,component:o.graph,position:"g",id:t,issuer:e,hashToRelated:i})]);return i})()}_hashAndTrackBlankNode({id:t,hashToBlankNodes:e}){var n=this;return i(function*(){const i=yield n.hashFirstDegreeQuads(t),r=e.get(i);r?r.push(t):e.set(i,[t])})()}_addBlankNodeQuadInfo({quad:t,component:e}){if("BlankNode"!==e.termType)return;const n=e.value,i=this.blankNodeInfo.get(n);i?i.quads.add(t):this.blankNodeInfo.set(n,{quads:new Set([t]),hash:null})}_addRelatedBlankNodeHash({quad:t,component:e,position:n,id:r,issuer:s,hashToRelated:o}){var a=this;return i(function*(){if("BlankNode"!==e.termType||e.value===r)return;const i=e.value,l=yield a.hashRelatedBlankNode(i,t,s,n),c=o.get(l);c?c.push(i):o.set(l,[i])})()}_useCanonicalId({component:t}){return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}_yield(){return i(function*(){return new Promise(t=>n(t))})()}}}).call(this)}).call(this,t("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(t,e,n){"use strict";const i=t("./IdentifierIssuer"),r=t("./MessageDigest"),s=t("./Permuter"),o=t("./NQuads");function a(t,e){return t.hashe.hash?1:0}e.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new i("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(t){this.quads=t;for(const i of t)this._addBlankNodeQuadInfo({quad:i,component:i.subject}),this._addBlankNodeQuadInfo({quad:i,component:i.object}),this._addBlankNodeQuadInfo({quad:i,component:i.graph});const e=new Map,n=[...this.blankNodeInfo.keys()];for(const i of n)this._hashAndTrackBlankNode({id:i,hashToBlankNodes:e});const r=[...e.keys()].sort(),s=[];for(const i of r){const t=e.get(i);t.length>1?s.push(t):this.canonicalIssuer.getId(t[0])}for(const o of s){const t=[];for(const e of o){if(this.canonicalIssuer.hasId(e))continue;const n=new i("_:b");n.getId(e);const r=this.hashNDegreeQuads(e,n);t.push(r)}t.sort(a);for(const e of t){const t=e.issuer.getOldIds();for(const e of t)this.canonicalIssuer.getId(e)}}const l=[];for(const i of this.quads){const t=yt({},i);t.subject=this._useCanonicalId({component:t.subject}),t.object=this._useCanonicalId({component:t.object}),t.graph=this._useCanonicalId({component:t.graph}),l.push(o.serializeQuad(t))}return l.sort(),l.join("")}hashFirstDegreeQuads(t){const e=[],n=this.blankNodeInfo.get(t),i=n.quads;for(const r of i){const n={subject:null,predicate:r.predicate,object:null,graph:null};n.subject=this.modifyFirstDegreeComponent(t,r.subject,"subject"),n.object=this.modifyFirstDegreeComponent(t,r.object,"object"),n.graph=this.modifyFirstDegreeComponent(t,r.graph,"graph"),e.push(o.serializeQuad(n))}e.sort();const s=new r(this.hashAlgorithm);for(const r of e)s.update(r);return n.hash=s.digest(),n.hash}hashRelatedBlankNode(t,e,n,i){let s;s=this.canonicalIssuer.hasId(t)?this.canonicalIssuer.getId(t):n.hasId(t)?n.getId(t):this.blankNodeInfo.get(t).hash;const o=new r(this.hashAlgorithm);return o.update(i),"g"!==i&&o.update(this.getRelatedPredicate(e)),o.update(s),o.digest()}hashNDegreeQuads(t,e){const n=new r(this.hashAlgorithm),i=this.createHashToRelated(t,e),o=[...i.keys()].sort();for(const r of o){n.update(r);let t,o="";const a=new s(i.get(r));for(;a.hasNext();){const n=a.next();let i=e.clone(),r="";const s=[];let l=!1;for(const t of n)if(this.canonicalIssuer.hasId(t)?r+=this.canonicalIssuer.getId(t):(i.hasId(t)||s.push(t),r+=i.getId(t)),0!==o.length&&r>o){l=!0;break}if(!l){for(const t of s){const e=this.hashNDegreeQuads(t,i);if(r+=i.getId(t),r+=`<${e.hash}>`,i=e.issuer,0!==o.length&&r>o){l=!0;break}}l||(0===o.length||r`}createHashToRelated(t,e){const n=new Map,i=this.blankNodeInfo.get(t).quads;for(const r of i)this._addRelatedBlankNodeHash({quad:r,component:r.subject,position:"s",id:t,issuer:e,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.object,position:"o",id:t,issuer:e,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.graph,position:"g",id:t,issuer:e,hashToRelated:n});return n}_hashAndTrackBlankNode({id:t,hashToBlankNodes:e}){const n=this.hashFirstDegreeQuads(t),i=e.get(n);i?i.push(t):e.set(n,[t])}_addBlankNodeQuadInfo({quad:t,component:e}){if("BlankNode"!==e.termType)return;const n=e.value,i=this.blankNodeInfo.get(n);i?i.quads.add(t):this.blankNodeInfo.set(n,{quads:new Set([t]),hash:null})}_addRelatedBlankNodeHash({quad:t,component:e,position:n,id:i,issuer:r,hashToRelated:s}){if("BlankNode"!==e.termType||e.value===i)return;const o=e.value,a=this.hashRelatedBlankNode(o,t,r,n),l=s.get(a);l?l.push(o):s.set(a,[o])}_useCanonicalId({component:t}){return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(t,e,n){"use strict";const r=t("./URDNA2015");e.exports=class extends r{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(t,e,n){return"BlankNode"!==e.termType?e:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:e.value===t?"_:a":"_:z"}}getRelatedPredicate(t){return t.predicate.value}createHashToRelated(t,e){var n=this;return i(function*(){const i=new Map,r=n.blankNodeInfo.get(t).quads;let s=0;for(const o of r){let r,a;if("BlankNode"===o.subject.termType&&o.subject.value!==t)a=o.subject.value,r="p";else{if("BlankNode"!==o.object.termType||o.object.value===t)continue;a=o.object.value,r="r"}++s%100==0&&(yield n._yield());const l=yield n.hashRelatedBlankNode(a,o,e,r),c=i.get(l);c?c.push(a):i.set(l,[a])}return i})()}}},{"./URDNA2015":51}],54:[function(t,e,n){"use strict";const i=t("./URDNA2015Sync");e.exports=class extends i{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(t,e,n){return"BlankNode"!==e.termType?e:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:e.value===t?"_:a":"_:z"}}getRelatedPredicate(t){return t.predicate.value}createHashToRelated(t,e){const n=new Map,i=this.blankNodeInfo.get(t).quads;for(const r of i){let i,s;if("BlankNode"===r.subject.termType&&r.subject.value!==t)s=r.subject.value,i="p";else{if("BlankNode"!==r.object.termType||r.object.value===t)continue;s=r.object.value,i="r"}const o=this.hashRelatedBlankNode(s,r,e,i),a=n.get(o);a?a.push(s):n.set(o,[s])}return n}}},{"./URDNA2015Sync":52}],55:[function(t,e,n){"use strict";const r=t("./URDNA2015"),s=t("./URGNA2012"),o=t("./URDNA2015Sync"),a=t("./URGNA2012Sync");let l;try{l=t("rdf-canonize-native")}catch(u){}const c={};e.exports=c,c.NQuads=t("./NQuads"),c.IdentifierIssuer=t("./IdentifierIssuer"),c._rdfCanonizeNative=function(t){return t&&(l=t),l},c.canonize=function(){var t=i(function*(t,e){if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),e.useNative){if(!l)throw new Error("rdf-canonize-native not available");return new Promise((n,i)=>l.canonize(t,e,(t,e)=>t?i(t):n(e)))}if("URDNA2015"===e.algorithm)return new r(e).main(t);if("URGNA2012"===e.algorithm)return new s(e).main(t);throw"algorithm"in e?new Error("Invalid RDF Dataset Canonicalization algorithm: "+e.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(e,n){return t.apply(this,arguments)}}(),c._canonizeSync=function(t,e){if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),e.useNative){if(l)return l.canonizeSync(t,e);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===e.algorithm)return new o(e).main(t);if("URGNA2012"===e.algorithm)return new a(e).main(t);throw"algorithm"in e?new Error("Invalid RDF Dataset Canonicalization algorithm: "+e.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(t("./lib/BlankNode"),n),r(t("./lib/DataFactory"),n),r(t("./lib/DefaultGraph"),n),r(t("./lib/Literal"),n),r(t("./lib/NamedNode"),n),r(t("./lib/Quad"),n),r(t("./lib/Variable"),n)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.BlankNode=void 0;n.BlankNode=class{constructor(t){this.termType="BlankNode",this.value=t}equals(t){return!!t&&"BlankNode"===t.termType&&t.value===this.value}}},{}],58:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DataFactory=void 0;const i=t("./BlankNode"),r=t("./DefaultGraph"),s=t("./Literal"),o=t("./NamedNode"),a=t("./Quad"),l=t("./Variable");let c=0;n.DataFactory=class{constructor(t){this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||`df_${c++}_`}namedNode(t){return new o.NamedNode(t)}blankNode(t){return new i.BlankNode(t||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(t,e){return new s.Literal(t,e)}variable(t){return new l.Variable(t)}defaultGraph(){return r.DefaultGraph.INSTANCE}quad(t,e,n,i){return new a.Quad(t,e,n,i||this.defaultGraph())}fromTerm(t){switch(t.termType){case"NamedNode":return this.namedNode(t.value);case"BlankNode":return this.blankNode(t.value);case"Literal":return t.language?this.literal(t.value,t.language):t.datatype.equals(s.Literal.XSD_STRING)?this.literal(t.value):this.literal(t.value,this.fromTerm(t.datatype));case"Variable":return this.variable(t.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(t.subject),this.fromTerm(t.predicate),this.fromTerm(t.object),this.fromTerm(t.graph))}}fromQuad(t){return this.fromTerm(t)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DefaultGraph=void 0;class i{constructor(){this.termType="DefaultGraph",this.value=""}equals(t){return!!t&&"DefaultGraph"===t.termType}}n.DefaultGraph=i,i.INSTANCE=new i},{}],60:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Literal=void 0;const i=t("./NamedNode");class r{constructor(t,e){this.termType="Literal",this.value=t,"string"==typeof e?(this.language=e,this.datatype=r.RDF_LANGUAGE_STRING):e?(this.language="",this.datatype=e):(this.language="",this.datatype=r.XSD_STRING)}equals(t){return!!t&&"Literal"===t.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}n.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.NamedNode=void 0;n.NamedNode=class{constructor(t){this.termType="NamedNode",this.value=t}equals(t){return!!t&&"NamedNode"===t.termType&&t.value===this.value}}},{}],62:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Quad=void 0;n.Quad=class{constructor(t,e,n,i){this.termType="Quad",this.value="",this.subject=t,this.predicate=e,this.object=n,this.graph=i}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&this.subject.equals(t.subject)&&this.predicate.equals(t.predicate)&&this.object.equals(t.object)&&this.graph.equals(t.graph)}}},{}],63:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Variable=void 0;n.Variable=class{constructor(t){this.termType="Variable",this.value=t}equals(t){return!!t&&"Variable"===t.termType&&t.value===this.value}}},{}],64:[function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(t("./lib/RdfXmlParser"),n)},{"./lib/RdfXmlParser":66}],65:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseError=void 0;class i extends Error{constructor(t,e){const n=t.saxStream._parser;super(t.trackPosition?`Line ${n.line+1} column ${n.column+1}: ${e}`:e)}}n.ParseError=i},{}],66:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseType=n.RdfXmlParser=void 0;const i=t("relative-to-absolute-iri"),r=t("sax"),s=t("stream"),o=t("./ParseError"),a=t("rdf-data-factory");class l extends s.Transform{constructor(t){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},t&&(Object.assign(this,t),this.options=t),this.dataFactory||(this.dataFactory=new a.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=r.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(t,e){const n={};let i=!1;for(const s in t.attributes)s.startsWith("xmlns")&&(5===s.length?(i=!0,n[""]=t.attributes[s]):":"===s.charAt(5)&&(i=!0,n[s.substr(6)]=t.attributes[s]));const r=e&&e.ns?e.ns:[l.DEFAULT_NS];return i?r.concat([n]):r}static expandPrefixedTerm(t,e,n){const i=t.indexOf(":");let r,s;i>=0?(r=t.substr(0,i),s=t.substr(i+1)):(r="",s=t);let a=null,l=null;for(let o=e.length-1;o>=0;o--){const t=e[o][r];if(t){a=t;break}l||(l=e[o][""])}if(!a){if(r&&"xmlns"!==r)throw new o.ParseError(n,`The prefix '${r}' in term '${t}' was not bound.`);a=l||""}return{prefix:r,local:s,uri:a}}static isValidIri(t){return l.IRI_REGEX.test(t)}import(t){const e=new s.PassThrough({readableObjectMode:!0});t.on("error",t=>n.emit("error",t)),t.on("data",t=>e.push(t)),t.on("end",()=>e.push(null));const n=e.pipe(new l(this.options));return n}_transform(t,e,n){try{this.saxStream.write(t,e)}catch(i){return n(i)}n()}newParseError(t){return new o.ParseError(this,t)}valueToUri(t,e){return this.uriToNamedNode(i.resolve(t,e.baseIRI))}uriToNamedNode(t){if(!l.isValidIri(t))throw this.newParseError(`Invalid URI: ${t}`);return this.dataFactory.namedNode(t)}validateNcname(t){if(!l.NCNAME_MATCHER.test(t))throw this.newParseError(`Not a valid NCName: ${t}`)}attachSaxListeners(){this.saxStream.on("error",t=>this.emit("error",t)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(t){const e=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let n=c.RESOURCE;if(e&&(e.hadChildren=!0,n=e.childrenParseType),e&&e.childrenStringTags){const n=t.name;let i="";for(const e in t.attributes)i+=` ${e}="${t.attributes[e]}"`;e.childrenStringTags.push(`<${n}${i}>`);const r={childrenStringTags:e.childrenStringTags};return r.childrenStringEmitClosingTag=``,void this.activeTagStack.push(r)}const i={};e?(i.language=e.language,i.baseIRI=e.baseIRI):i.baseIRI=this.baseIRI,this.activeTagStack.push(i),i.ns=l.parseNamespace(t,e),n===c.RESOURCE?this.onTagResource(t,i,e,!e):this.onTagProperty(t,i,e)}onTagResource(t,e,n,r){const s=l.expandPrefixedTerm(t.name,e.ns,this);e.childrenParseType=c.PROPERTY;let o=!0;if(s.uri===l.RDF){if(!r&&l.FORBIDDEN_NODE_ELEMENTS.indexOf(s.local)>=0)throw this.newParseError(`Illegal node element name: ${s.local}`);switch(s.local){case"RDF":e.childrenParseType=c.RESOURCE;case"Description":o=!1}}const a=[],u=[];let h=null,d=!1,p=!1,f=null;for(const c in t.attributes){const r=t.attributes[c],s=l.expandPrefixedTerm(c,e.ns,this);if(n&&s.uri===l.RDF)switch(s.local){case"about":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);h=r;continue;case"ID":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);this.validateNcname(r),h="#"+r,d=!0;continue;case"nodeID":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);this.validateNcname(r),h=r,p=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":f=r;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(s.uri===l.XML){if("lang"===s.local){e.language=""===r?null:r.toLowerCase();continue}if("base"===s.local){e.baseIRI=i.resolve(r,e.baseIRI);continue}}"xml"!==s.prefix&&s.uri&&(a.push(this.uriToNamedNode(s.uri+s.local)),u.push(r))}if(null!==h&&(e.subject=p?this.dataFactory.blankNode(h):this.valueToUri(h,e),d&&this.claimNodeId(e.subject)),e.subject||(e.subject=this.dataFactory.blankNode()),o){const t=this.uriToNamedNode(s.uri+s.local);this.emitTriple(e.subject,this.dataFactory.namedNode(l.RDF+"type"),t,n?n.reifiedStatementId:null)}if(n){if(n.predicate)if(n.childrenCollectionSubject){const t=this.dataFactory.blankNode();this.emitTriple(n.childrenCollectionSubject,n.childrenCollectionPredicate,t,n.reifiedStatementId),this.emitTriple(t,this.dataFactory.namedNode(l.RDF+"first"),e.subject,e.reifiedStatementId),n.childrenCollectionSubject=t,n.childrenCollectionPredicate=this.dataFactory.namedNode(l.RDF+"rest")}else{this.emitTriple(n.subject,n.predicate,e.subject,n.reifiedStatementId);for(let t=0;t=0)throw this.newParseError(`Illegal property element name: ${i.local}`);e.predicateSubPredicates=[],e.predicateSubObjects=[];let r=!1,s=!1,o=null,a=!0;const u=[],h=[];for(const d in t.attributes){const n=t.attributes[d],i=l.expandPrefixedTerm(d,e.ns,this);if(i.uri===l.RDF)switch(i.local){case"resource":if(o)throw this.newParseError(`Found both rdf:resource (${n}) and rdf:nodeID (${o}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${n})`);e.hadChildren=!0,o=n,a=!1;continue;case"datatype":if(s)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${n}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${n})`);e.datatype=this.valueToUri(n,e);continue;case"nodeID":if(s)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${n}).`);if(e.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${n}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${n})`);this.validateNcname(n),e.hadChildren=!0,o=n,a=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(s)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(e.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${e.datatype.value})`);if(o)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${o})`);if("Resource"===n){r=!0,e.childrenParseType=c.PROPERTY;const t=this.dataFactory.blankNode();this.emitTriple(e.subject,e.predicate,t,e.reifiedStatementId),e.subject=t,e.predicate=null}else"Collection"===n?(r=!0,e.hadChildren=!0,e.childrenCollectionSubject=e.subject,e.childrenCollectionPredicate=e.predicate,a=!1):"Literal"===n&&(r=!0,e.childrenTagsToString=!0,e.childrenStringTags=[]);continue;case"ID":this.validateNcname(n),e.reifiedStatementId=this.valueToUri("#"+n,e),this.claimNodeId(e.reifiedStatementId);continue}else if(i.uri===l.XML&&"lang"===i.local){e.language=""===n?null:n.toLowerCase();continue}if("xml"!==i.prefix&&"xmlns"!==i.prefix&&i.uri){if(r||e.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${n}`);e.hadChildren=!0,s=!0,u.push(this.uriToNamedNode(i.uri+i.local)),h.push(this.dataFactory.literal(n,e.datatype||e.language))}}if(null!==o){const t=e.subject;e.subject=a?this.dataFactory.blankNode(o):this.valueToUri(o,e),this.emitTriple(t,e.predicate,e.subject,e.reifiedStatementId);for(let n=0;n/g,(t,e,n)=>(this.saxStream._parser.ENTITIES[e]=n,""))}}var c,u;n.RdfXmlParser=l,l.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,l.MIME_TYPE="application/rdf+xml",l.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",l.XML="http://www.w3.org/XML/1998/namespace",l.XMLNS="http://www.w3.org/2000/xmlns/",l.DEFAULT_NS={xml:l.XML},l.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],l.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],l.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(u=c=n.ParseType||(n.ParseType={}))[u.RESOURCE=0]="RESOURCE",u[u.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(t,e,n){"use strict";var i={};function r(t,e,n){n||(n=Error);var r=function(t){function n(n,i,r){return t.call(this,function(t,n,i){return"string"==typeof e?e:e(t,n,i)}(n,i,r))||this}return function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}(n,t),n}(n);r.prototype.name=n.name,r.prototype.code=t,i[t]=r}function s(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map(function(t){return String(t)}),n>2?"one of ".concat(e," ").concat(t.slice(0,n-1).join(", "),", or ")+t[n-1]:2===n?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError),r("ERR_INVALID_ARG_TYPE",function(t,e,n){var i,r;if("string"==typeof e&&function(t,e,n){return t.substr(!n||n<0?0:+n,e.length)===e}(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,n){return(void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}(t," argument"))r="The ".concat(t," ").concat(i," ").concat(s(e,"type"));else{var o=function(t,e,n){return"number"!=typeof n&&(n=0),!(n+e.length>t.length)&&-1!==t.indexOf(e,n)}(t,".")?"property":"argument";r='The "'.concat(t,'" ').concat(o," ").concat(i," ").concat(s(e,"type"))}return r+". Received type ".concat(typeof n)},TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"}),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"}),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=i},{}],68:[function(t,e,n){(function(n){(function(){"use strict";var i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};e.exports=c;var r=t("./_stream_readable"),s=t("./_stream_writable");t("inherits")(c,r);for(var o=i(s.prototype),a=0;a0)if("string"!=typeof e&&!o.objectMode&&Object.getPrototypeOf(e)!==a.prototype&&(e=function(t){return a.from(t)}(e)),i)o.endEmitted?x(t,new w):T(t,o,e,!0);else if(o.ended)x(t,new v);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!n?(e=o.decoder.write(e),o.objectMode||0!==e.length?T(t,o,e,!1):I(t,o)):T(t,o,e,!1)}else i||(o.reading=!1,I(t,o));return!o.ended&&(o.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=k?t=k:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function A(t){var e=t._readableState;c("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(c("emitReadable",e.flowing),e.emittedReadable=!0,n.nextTick(M,t))}function M(t){var e=t._readableState;c("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,j(t)}function I(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(D,t,e))}function D(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function N(t){c("readable nexttick read 0"),t.read(0)}function L(t,e){c("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),j(t),e.flowing&&!e.reading&&t.read(0)}function j(t){var e=t._readableState;for(c("flow",e.flowing);e.flowing&&null!==t.read(););}function F(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):n=e.buffer.consume(t,e.decoder),n);var n}function B(t){var e=t._readableState;c("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,n.nextTick(V,e,t))}function V(t,e){if(c("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var n=e._writableState;(!n||n.autoDestroy&&n.finished)&&e.destroy()}}function z(t,e){for(var n=0,i=t.length;n=e.highWaterMark:e.length>0)||e.ended))return c("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?B(this):A(this),null;if(0===(t=P(t,e))&&e.ended)return 0===e.length&&B(this),null;var i,r=e.needReadable;return c("need readable",r),(0===e.length||e.length-t0?F(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&B(this)),null!==i&&this.emit("data",i),i},E.prototype._read=function(t){x(this,new _("_read()"))},E.prototype.pipe=function(t,e){var i=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=t;break;case 1:r.pipes=[r.pipes,t];break;default:r.pipes.push(t)}r.pipesCount+=1,c("pipe count=%d opts=%j",r.pipesCount,e);var o=e&&!1===e.end||t===n.stdout||t===n.stderr?m:l;function a(e,n){c("onunpipe"),e===i&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,c("cleanup"),t.removeListener("close",f),t.removeListener("finish",g),t.removeListener("drain",u),t.removeListener("error",p),t.removeListener("unpipe",a),i.removeListener("end",l),i.removeListener("end",m),i.removeListener("data",d),h=!0,r.awaitDrain&&(!t._writableState||t._writableState.needDrain)&&u())}function l(){c("onend"),t.end()}r.endEmitted?n.nextTick(o):i.once("end",o),t.on("unpipe",a);var u=function(t){return function(){var e=t._readableState;c("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,j(t))}}(i);t.on("drain",u);var h=!1;function d(e){c("ondata");var n=t.write(e);c("dest.write",n),!1===n&&((1===r.pipesCount&&r.pipes===t||r.pipesCount>1&&-1!==z(r.pipes,t))&&!h&&(c("false write response, pause",r.awaitDrain),r.awaitDrain++),i.pause())}function p(e){c("onerror",e),m(),t.removeListener("error",p),0===s(t,"error")&&x(t,e)}function f(){t.removeListener("finish",g),m()}function g(){c("onfinish"),t.removeListener("close",f),m()}function m(){c("unpipe"),i.unpipe(t)}return i.on("data",d),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",p),t.once("close",f),t.once("finish",g),t.emit("pipe",i),r.flowing||(c("pipe resume"),i.resume()),t},E.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var i=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,!1!==r.flowing&&this.resume()):"readable"===t&&!r.endEmitted&&!r.readableListening&&(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,c("on readable",r.length,r.reading),r.length?A(this):r.reading||n.nextTick(N,this)),i},E.prototype.removeListener=function(t,e){var i=o.prototype.removeListener.call(this,t,e);return"readable"===t&&n.nextTick(R,this),i},E.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return("readable"===t||void 0===t)&&n.nextTick(R,this),e},E.prototype.resume=function(){var t=this._readableState;return t.flowing||(c("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,n.nextTick(L,t,e))}(this,t)),t.paused=!1,this},E.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},E.prototype.wrap=function(t){var e=this,n=this._readableState,i=!1;for(var r in t.on("end",function(){if(c("wrapped end"),n.decoder&&!n.ended){var t=n.decoder.end();t&&t.length&&e.push(t)}e.push(null)}),t.on("data",function(r){c("wrapped data"),n.decoder&&(r=n.decoder.write(r)),n.objectMode&&null==r||!(n.objectMode||r&&r.length)||e.push(r)||(i=!0,t.pause())}),t)void 0===this[r]&&"function"==typeof t[r]&&(this[r]=function(e){return function(){return t[e].apply(t,arguments)}}(r));for(var s=0;s-1))throw new w(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(E.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(t,e,n){n(new g("_write()"))},E.prototype._writev=null,E.prototype.end=function(t,e,i){var r=this._writableState;return"function"==typeof t?(i=t,t=null,e=null):"function"==typeof e&&(i=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||function(t,e,i){e.ending=!0,I(t,e),i&&(e.finished?n.nextTick(i):t.once("finish",i)),e.ended=!0,t.writable=!1}(this,r,i),this},Object.defineProperty(E.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){!this._writableState||(this._writableState.destroyed=t)}}),E.prototype.destroy=h.destroy,E.prototype._undestroy=h.undestroy,E.prototype._destroy=function(t,e){e(t)}}).call(this)}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(t,e,n){(function(n){(function(){"use strict";var i;function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var s=t("./end-of-stream"),o=Symbol("lastResolve"),a=Symbol("lastReject"),l=Symbol("error"),c=Symbol("ended"),u=Symbol("lastPromise"),h=Symbol("handlePromise"),d=Symbol("stream");function p(t,e){return{value:t,done:e}}function f(t){var e=t[o];if(null!==e){var n=t[d].read();null!==n&&(t[u]=null,t[o]=null,t[a]=null,e(p(n,!1)))}}function g(t){n.nextTick(f,t)}var m=Object.getPrototypeOf(function(){}),b=Object.setPrototypeOf((r(i={get stream(){return this[d]},next:function(){var t=this,e=this[l];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(p(void 0,!0));if(this[d].destroyed)return new Promise(function(e,i){n.nextTick(function(){t[l]?i(t[l]):e(p(void 0,!0))})});var i,r=this[u];if(r)i=new Promise(function(t,e){return function(n,i){t.then(function(){e[c]?n(p(void 0,!0)):e[h](n,i)},i)}}(r,this));else{var s=this[d].read();if(null!==s)return Promise.resolve(p(s,!1));i=new Promise(this[h])}return this[u]=i,i}},Symbol.asyncIterator,function(){return this}),r(i,"return",function(){var t=this;return new Promise(function(e,n){t[d].destroy(null,function(t){t?n(t):e(p(void 0,!0))})})}),i),m);e.exports=function(t){var e,n=Object.create(b,(r(e={},d,{value:t,writable:!0}),r(e,o,{value:null,writable:!0}),r(e,a,{value:null,writable:!0}),r(e,l,{value:null,writable:!0}),r(e,c,{value:t._readableState.endEmitted,writable:!0}),r(e,h,{value:function(t,e){var i=n[d].read();i?(n[u]=null,n[o]=null,n[a]=null,t(p(i,!1))):(n[o]=t,n[a]=e)},writable:!0}),e));return n[u]=null,s(t,function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=n[a];return null!==e&&(n[u]=null,n[o]=null,n[a]=null,e(t)),void(n[l]=t)}var i=n[o];null!==i&&(n[u]=null,n[o]=null,n[a]=null,i(p(void 0,!0))),n[c]=!0}),t.on("readable",g.bind(null,n)),n}}).call(this)}).call(this,t("_process"))},{"./end-of-stream":76,_process:44}],74:[function(t,e,n){"use strict";function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function s(t,e){for(var n=0;n0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e=o.allocUnsafe(t>>>0),n=this.head,i=0;n;)c(n.data,e,i),i+=n.data.length,n=n.next;return e}},{key:"consume",value:function(t,e){var n;return tr.length?r.length:t;if(i+=s===r.length?r:r.slice(0,t),0==(t-=s)){s===r.length?(++n,this.head=e.next?e.next:this.tail=null):(this.head=e,e.data=r.slice(s));break}++n}return this.length-=n,i}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),n=this.head,i=1;for(n.data.copy(e),t-=n.data.length;n=n.next;){var r=n.data,s=t>r.length?r.length:t;if(r.copy(e,e.length-t,0,s),0==(t-=s)){s===r.length?(++i,this.head=n.next?n.next:this.tail=null):(this.head=n,n.data=r.slice(s));break}++i}return this.length-=i,e}},{key:l,value:function(t,e){return a(this,function(t){for(var e=1;e0,function(t){r||(r=t),t&&o.forEach(c),!s&&(o.forEach(c),i(r))})});return e.reduce(u)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(t,e,n){"use strict";var i=t("../../../errors").codes.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(t,e,n,r){var s=function(t,e,n){return null!=t.highWaterMark?t.highWaterMark:e?t[n]:null}(e,r,n);if(null!=s){if(!isFinite(s)||Math.floor(s)!==s||s<0)throw new i(r?n:"highWaterMark",s);return Math.floor(s)}return t.objectMode?16:16384}}},{"../../../errors":67}],80:[function(t,e,n){e.exports=t("events").EventEmitter},{events:8}],81:[function(t,e,n){(n=e.exports=t("./lib/_stream_readable.js")).Stream=n,n.Readable=n,n.Writable=t("./lib/_stream_writable.js"),n.Duplex=t("./lib/_stream_duplex.js"),n.Transform=t("./lib/_stream_transform.js"),n.PassThrough=t("./lib/_stream_passthrough.js"),n.finished=t("./lib/internal/streams/end-of-stream.js"),n.pipeline=t("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),function(t){for(var e in t)n.hasOwnProperty(e)||(n[e]=t[e])}(t("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(t,e,n){"use strict";function i(t){const e=[];let n=0;for(;nt.join("")).join("/")}function r(t,e){let n=e+1;e>=0?"/"===t[e+1]&&"/"===t[e+2]&&(n=e+3):"/"===t[0]&&"/"===t[1]&&(n=2);const r=t.indexOf("/",n);return r<0?t:t.substr(0,r)+i(t.substr(r))}function s(t){return!t||"#"===t||"?"===t||"/"===t}Object.defineProperty(n,"__esModule",{value:!0}),n.resolve=function(t,e){const n=(e=e||"").indexOf("#");if(n>0&&(e=e.substr(0,n)),!t.length){if(e.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${e}' for value '${t}'`);return e}if(t.startsWith("?")){const n=e.indexOf("?");return n>0&&(e=e.substr(0,n)),e+t}if(t.startsWith("#"))return e+t;if(!e.length){const e=t.indexOf(":");if(e<0)throw new Error(`Found invalid relative IRI '${t}' for a missing baseIRI`);return r(t,e)}const s=t.indexOf(":");if(s>=0)return r(t,s);const o=e.indexOf(":");if(o<0)throw new Error(`Found invalid baseIRI '${e}' for value '${t}'`);const a=e.substr(0,o+1);if(0===t.indexOf("//"))return a+r(t,s);let l;if(e.indexOf("//",o)===o+1){if(l=e.indexOf("/",o+3),l<0)return e.length>o+3?e+"/"+r(t,s):a+r(t,s)}else if(l=e.indexOf("/",o+1),l<0)return a+r(t,s);if(0===t.indexOf("/"))return e.substr(0,l)+i(t);let c=e.substr(l);const u=c.lastIndexOf("/");return u>=0&&u"===s?(O(e,"onsgmldeclaration",e.sgmlDecl),e.sgmlDecl="",e.state=S.TEXT):(m(s)&&(e.state=S.SGML_DECL_QUOTED),e.sgmlDecl+=s);continue;case S.SGML_DECL_QUOTED:s===e.q&&(e.state=S.SGML_DECL,e.q=""),e.sgmlDecl+=s;continue;case S.DOCTYPE:">"===s?(e.state=S.TEXT,O(e,"ondoctype",e.doctype),e.doctype=!0):(e.doctype+=s,"["===s?e.state=S.DOCTYPE_DTD:m(s)&&(e.state=S.DOCTYPE_QUOTED,e.q=s));continue;case S.DOCTYPE_QUOTED:e.doctype+=s,s===e.q&&(e.q="",e.state=S.DOCTYPE);continue;case S.DOCTYPE_DTD:e.doctype+=s,"]"===s?e.state=S.DOCTYPE:m(s)&&(e.state=S.DOCTYPE_DTD_QUOTED,e.q=s);continue;case S.DOCTYPE_DTD_QUOTED:e.doctype+=s,s===e.q&&(e.state=S.DOCTYPE_DTD,e.q="");continue;case S.COMMENT:"-"===s?e.state=S.COMMENT_ENDING:e.comment+=s;continue;case S.COMMENT_ENDING:"-"===s?(e.state=S.COMMENT_ENDED,e.comment=k(e.opt,e.comment),e.comment&&O(e,"oncomment",e.comment),e.comment=""):(e.comment+="-"+s,e.state=S.COMMENT);continue;case S.COMMENT_ENDED:">"!==s?(M(e,"Malformed comment"),e.comment+="--"+s,e.state=S.COMMENT):e.state=S.TEXT;continue;case S.CDATA:"]"===s?e.state=S.CDATA_ENDING:e.cdata+=s;continue;case S.CDATA_ENDING:"]"===s?e.state=S.CDATA_ENDING_2:(e.cdata+="]"+s,e.state=S.CDATA);continue;case S.CDATA_ENDING_2:">"===s?(e.cdata&&O(e,"oncdata",e.cdata),O(e,"onclosecdata"),e.cdata="",e.state=S.TEXT):"]"===s?e.cdata+="]":(e.cdata+="]]"+s,e.state=S.CDATA);continue;case S.PROC_INST:"?"===s?e.state=S.PROC_INST_ENDING:g(s)?e.state=S.PROC_INST_BODY:e.procInstName+=s;continue;case S.PROC_INST_BODY:if(!e.procInstBody&&g(s))continue;"?"===s?e.state=S.PROC_INST_ENDING:e.procInstBody+=s;continue;case S.PROC_INST_ENDING:">"===s?(O(e,"onprocessinginstruction",{name:e.procInstName,body:e.procInstBody}),e.procInstName=e.procInstBody="",e.state=S.TEXT):(e.procInstBody+="?"+s,e.state=S.PROC_INST_BODY);continue;case S.OPEN_TAG:y(d,s)?e.tagName+=s:(I(e),">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:(g(s)||M(e,"Invalid character in tag name"),e.state=S.ATTRIB));continue;case S.OPEN_TAG_SLASH:">"===s?(N(e,!0),L(e)):(M(e,"Forward-slash in opening tag not followed by >"),e.state=S.ATTRIB);continue;case S.ATTRIB:if(g(s))continue;">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:y(h,s)?(e.attribName=s,e.attribValue="",e.state=S.ATTRIB_NAME):M(e,"Invalid attribute name");continue;case S.ATTRIB_NAME:"="===s?e.state=S.ATTRIB_VALUE:">"===s?(M(e,"Attribute without value"),e.attribValue=e.attribName,R(e),N(e)):g(s)?e.state=S.ATTRIB_NAME_SAW_WHITE:y(d,s)?e.attribName+=s:M(e,"Invalid attribute name");continue;case S.ATTRIB_NAME_SAW_WHITE:if("="===s)e.state=S.ATTRIB_VALUE;else{if(g(s))continue;M(e,"Attribute without value"),e.tag.attributes[e.attribName]="",e.attribValue="",O(e,"onattribute",{name:e.attribName,value:""}),e.attribName="",">"===s?N(e):y(h,s)?(e.attribName=s,e.state=S.ATTRIB_NAME):(M(e,"Invalid attribute name"),e.state=S.ATTRIB)}continue;case S.ATTRIB_VALUE:if(g(s))continue;m(s)?(e.q=s,e.state=S.ATTRIB_VALUE_QUOTED):(M(e,"Unquoted attribute value"),e.state=S.ATTRIB_VALUE_UNQUOTED,e.attribValue=s);continue;case S.ATTRIB_VALUE_QUOTED:if(s!==e.q){"&"===s?e.state=S.ATTRIB_VALUE_ENTITY_Q:e.attribValue+=s;continue}R(e),e.q="",e.state=S.ATTRIB_VALUE_CLOSED;continue;case S.ATTRIB_VALUE_CLOSED:g(s)?e.state=S.ATTRIB:">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:y(h,s)?(M(e,"No whitespace between attributes"),e.attribName=s,e.attribValue="",e.state=S.ATTRIB_NAME):M(e,"Invalid attribute name");continue;case S.ATTRIB_VALUE_UNQUOTED:if(!b(s)){"&"===s?e.state=S.ATTRIB_VALUE_ENTITY_U:e.attribValue+=s;continue}R(e),">"===s?N(e):e.state=S.ATTRIB;continue;case S.CLOSE_TAG:if(e.tagName)">"===s?L(e):y(d,s)?e.tagName+=s:e.script?(e.script+=""===s?L(e):M(e,"Invalid characters in closing tag");continue;case S.TEXT_ENTITY:case S.ATTRIB_VALUE_ENTITY_Q:case S.ATTRIB_VALUE_ENTITY_U:var a,l;switch(e.state){case S.TEXT_ENTITY:a=S.TEXT,l="textNode";break;case S.ATTRIB_VALUE_ENTITY_Q:a=S.ATTRIB_VALUE_QUOTED,l="attribValue";break;case S.ATTRIB_VALUE_ENTITY_U:a=S.ATTRIB_VALUE_UNQUOTED,l="attribValue"}";"===s?(e[l]+=j(e),e.entity="",e.state=a):y(e.entity.length?f:p,s)?e.entity+=s:(M(e,"Invalid character in entity name"),e[l]+="&"+e.entity+s,e.entity="",e.state=a);continue;default:throw new Error(e,"Unknown state: "+e.state)}return e.position>=e.bufferCheckPosition&&function(t){for(var e=Math.max(n.MAX_BUFFER_LENGTH,10),i=0,s=0,o=r.length;se)switch(r[s]){case"textNode":T(t);break;case"cdata":O(t,"oncdata",t.cdata),t.cdata="";break;case"script":O(t,"onscript",t.script),t.script="";break;default:P(t,"Max buffer length exceeded: "+r[s])}i=Math.max(i,a)}t.bufferCheckPosition=n.MAX_BUFFER_LENGTH-i+t.position}(e),e},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(t){T(t),""!==t.cdata&&(O(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(O(t,"onscript",t.script),t.script="")}(this)}};try{i=t("stream").Stream}catch(_){i=function(){}}var o=n.EVENTS.filter(function(t){return"error"!==t&&"end"!==t});function a(t,e){if(!(this instanceof a))return new a(t,e);i.apply(this),this._parser=new s(t,e),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit("end")},this._parser.onerror=function(t){n.emit("error",t),n._parser.error=null},this._decoder=null,o.forEach(function(t){Object.defineProperty(n,"on"+t,{get:function(){return n._parser["on"+t]},set:function(e){if(!e)return n.removeAllListeners(t),n._parser["on"+t]=e,e;n.on(t,e)},enumerable:!0,configurable:!1})})}(a.prototype=Object.create(i.prototype,{constructor:{value:a}})).write=function(n){if("function"==typeof e&&"function"==typeof e.isBuffer&&e.isBuffer(n)){if(!this._decoder){var i=t("string_decoder").StringDecoder;this._decoder=new i("utf8")}n=this._decoder.write(n)}return this._parser.write(n.toString()),this.emit("data",n),!0},a.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},a.prototype.on=function(t,e){var n=this;return!n._parser["on"+t]&&-1!==o.indexOf(t)&&(n._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),n.emit.apply(n,e)}),i.prototype.on.call(n,t,e)};var l="http://www.w3.org/XML/1998/namespace",c="http://www.w3.org/2000/xmlns/",u={xml:l,xmlns:c},h=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,d=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,f=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function g(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function m(t){return'"'===t||"'"===t}function b(t){return">"===t||g(t)}function y(t,e){return t.test(e)}function v(t,e){return!y(t,e)}var _,w,x,S=0;for(var C in n.STATE={BEGIN:S++,BEGIN_WHITESPACE:S++,TEXT:S++,TEXT_ENTITY:S++,OPEN_WAKA:S++,SGML_DECL:S++,SGML_DECL_QUOTED:S++,DOCTYPE:S++,DOCTYPE_QUOTED:S++,DOCTYPE_DTD:S++,DOCTYPE_DTD_QUOTED:S++,COMMENT_STARTING:S++,COMMENT:S++,COMMENT_ENDING:S++,COMMENT_ENDED:S++,CDATA:S++,CDATA_ENDING:S++,CDATA_ENDING_2:S++,PROC_INST:S++,PROC_INST_BODY:S++,PROC_INST_ENDING:S++,OPEN_TAG:S++,OPEN_TAG_SLASH:S++,ATTRIB:S++,ATTRIB_NAME:S++,ATTRIB_NAME_SAW_WHITE:S++,ATTRIB_VALUE:S++,ATTRIB_VALUE_QUOTED:S++,ATTRIB_VALUE_CLOSED:S++,ATTRIB_VALUE_UNQUOTED:S++,ATTRIB_VALUE_ENTITY_Q:S++,ATTRIB_VALUE_ENTITY_U:S++,CLOSE_TAG:S++,CLOSE_TAG_SAW_WHITE:S++,SCRIPT:S++,SCRIPT_ENDING:S++},n.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},n.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(n.ENTITIES).forEach(function(t){var e=n.ENTITIES[t],i="number"==typeof e?String.fromCharCode(e):e;n.ENTITIES[t]=i}),n.STATE)n.STATE[n.STATE[C]]=C;function E(t,e,n){t[e]&&t[e](n)}function O(t,e,n){t.textNode&&T(t),E(t,e,n)}function T(t){t.textNode=k(t.opt,t.textNode),t.textNode&&E(t,"ontext",t.textNode),t.textNode=""}function k(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function P(t,e){return T(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,E(t,"onerror",e),t}function A(t){return t.sawRoot&&!t.closedRoot&&M(t,"Unclosed root tag"),t.state!==S.BEGIN&&t.state!==S.BEGIN_WHITESPACE&&t.state!==S.TEXT&&P(t,"Unexpected end"),T(t),t.c="",t.closed=!0,E(t,"onend"),s.call(t,t.strict,t.opt),t}function M(t,e){if("object"!=typeof t||!(t instanceof s))throw new Error("bad call to strictFail");t.strict&&P(t,e)}function I(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,n=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(n.ns=e.ns),t.attribList.length=0,O(t,"onopentagstart",n)}function D(t,e){var n=t.indexOf(":")<0?["",t]:t.split(":"),i=n[0],r=n[1];return e&&"xmlns"===t&&(i="xmlns",r=""),{prefix:i,local:r}}function R(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=D(t.attribName,!0),n=e.local;if("xmlns"===e.prefix)if("xml"===n&&t.attribValue!==l)M(t,"xml: prefix must be bound to "+l+"\nActual: "+t.attribValue);else if("xmlns"===n&&t.attribValue!==c)M(t,"xmlns: prefix must be bound to "+c+"\nActual: "+t.attribValue);else{var i=t.tag,r=t.tags[t.tags.length-1]||t;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[n]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,O(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function N(t,e){if(t.opt.xmlns){var n=t.tag,i=D(t.tagName);n.prefix=i.prefix,n.local=i.local,n.uri=n.ns[i.prefix]||"",n.prefix&&!n.uri&&(M(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),n.uri=i.prefix),n.ns&&(t.tags[t.tags.length-1]||t).ns!==n.ns&&Object.keys(n.ns).forEach(function(e){O(t,"onopennamespace",{prefix:e,uri:n.ns[e]})});for(var r=0,s=t.attribList.length;r",t.tagName="",void(t.state=S.SCRIPT);O(t,"onscript",t.script),t.script=""}var e=t.tags.length,n=t.tagName;t.strict||(n=n[t.looseCase]());for(var i=n;e--&&t.tags[e].name!==i;)M(t,"Unexpected close tag");if(e<0)return M(t,"Unmatched closing tag: "+t.tagName),t.textNode+="",void(t.state=S.TEXT);t.tagName=n;for(var r=t.tags.length;r-- >e;){var s=t.tag=t.tags.pop();t.tagName=t.tag.name,O(t,"onclosetag",t.tagName);var o={};for(var a in s.ns)o[a]=s.ns[a];t.opt.xmlns&&s.ns!==(t.tags[t.tags.length-1]||t).ns&&Object.keys(s.ns).forEach(function(e){O(t,"onclosenamespace",{prefix:e,uri:s.ns[e]})})}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=S.TEXT}function j(t){var e,n=t.entity,i=n.toLowerCase(),r="";return t.ENTITIES[n]?t.ENTITIES[n]:t.ENTITIES[i]?t.ENTITIES[i]:("#"===(n=i).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),r=(e=parseInt(n,16)).toString(16)):(n=n.slice(1),r=(e=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(e)||r.toLowerCase()!==n?(M(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function F(t,e){"<"===e?(t.state=S.OPEN_WAKA,t.startTagPosition=t.position):g(e)||(M(t,"Non-whitespace before first tag."),t.textNode=e,t.state=S.TEXT)}function B(t,e){var n="";return e1114111||w(s)!==s)throw RangeError("Invalid code point: "+s);s<=65535?e.push(s):e.push(55296+((s-=65536)>>10),s%1024+56320),(n+1===i||e.length>t)&&(r+=_.apply(null,e),e.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:x,configurable:!0,writable:!0}):String.fromCodePoint=x)}(void 0===n?this.sax={}:n)}).call(this)}).call(this,t("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(t,e,n){(function(t,e){(function(){!function(e,n){"use strict";if(!e.setImmediate){var i,r=1,s={},o=!1,a=e.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,"[object process]"==={}.toString.call(e.process)?i=function(e){t.nextTick(function(){d(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?(c="setImmediate$"+Math.random()+"$",u=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(c)&&d(+t.data.slice(c.length))},e.addEventListener?e.addEventListener("message",u,!1):e.attachEvent("onmessage",u),i=function(t){e.postMessage(c+t,"*")}):e.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){d(t.data)},i=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;i=function(e){var n=a.createElement("script");n.onreadystatechange=function(){d(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():i=function(t){setTimeout(d,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n.setImmediate="function"==typeof e?e:function(t){var e=l++,i=!(arguments.length<2)&&o.call(arguments,1);return a[e]=!0,r(function(){a[e]&&(i?t.apply(null,i):t.call(null),n.clearImmediate(e))}),e},n.clearImmediate="function"==typeof i?i:function(t){delete a[t]}}).call(this)}).call(this,t("timers").setImmediate,t("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(t,e,n){(function(t){(function(){function n(e){try{if(!t.localStorage)return!1}catch(i){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(t,e){if(n("noDeprecation"))return t;var i=!1;return function(){if(!i){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation")?console.trace(e):console.warn(e),i=!0}return t.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(t,e,n){"use strict";e.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}},{}],92:[function(t,e,n){"use strict";function i(t){var e=this;if(e instanceof i||(e=new i),e.tail=null,e.head=null,e.length=0,t&&"function"==typeof t.forEach)t.forEach(function(t){e.push(t)});else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=e;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");i=this.head.next,n=this.head.value}for(var r=0;null!==i;r++)n=t(n,i.value,r),i=i.next;return n},i.prototype.reduceReverse=function(t,e){var n,i=this.tail;if(arguments.length>1)n=e;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");i=this.tail.prev,n=this.tail.value}for(var r=this.length-1;null!==i;r--)n=t(n,i.value,r),i=i.prev;return n},i.prototype.toArray=function(){for(var t=new Array(this.length),e=0,n=this.head;null!==n;e++)t[e]=n.value,n=n.next;return t},i.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,n=this.tail;null!==n;e++)t[e]=n.value,n=n.prev;return t},i.prototype.slice=function(t,e){(e=e||this.length)<0&&(e+=this.length),(t=t||0)<0&&(t+=this.length);var n=new i;if(ethis.length&&(e=this.length);for(var r=0,s=this.head;null!==s&&rthis.length&&(e=this.length);for(var r=this.length,s=this.tail;null!==s&&r>e;r--)s=s.prev;for(;null!==s&&r>t;r--,s=s.prev)n.push(s.value);return n},i.prototype.splice=function(t,e,...n){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,s=this.head;null!==s&&i=0?1.2:1))}function i(t,e,n,i,s,o){for(var a=0;a-1);o[++c]=l,a[c]=u,a[c+1]=e}for(l=0,c=0;l{return(t=n||(n={})).typeOfFunction="function",t.boolTrue=!0,n;var t})();function i(t,e,i){if(!i||typeof i.value!==n.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+e+"> is not a method!");return{configurable:n.boolTrue,get:function(){var t=i.value.bind(this);return Object.defineProperty(this,e,{value:t,configurable:n.boolTrue,writable:n.boolTrue}),t}}}e.ak=i,e.ZP=i},97266:function(t,e,n){t.exports={ResizeSensor:n(69835),ElementQueries:n(54845)}},54845:function(t,e,n){"use strict";var i,r,s;"undefined"!=typeof window&&window,r=[n(69835)],void 0!==(s="function"==typeof(i=function(t){var e=function(){var e,n={},i=[];function r(t){t||(t=document.documentElement);var e=window.getComputedStyle(t,null).fontSize;return parseFloat(e)||16}function s(t,e){var n=e.split(/\d/),i=n[n.length-1];switch(e=parseFloat(e),i){case"px":return e;case"em":return e*r(t);case"rem":return e*r();case"vw":return e*document.documentElement.clientWidth/100;case"vh":return e*document.documentElement.clientHeight/100;case"vmin":case"vmax":var s=document.documentElement.clientWidth/100,o=document.documentElement.clientHeight/100;return e*(0,Math["vmin"===i?"min":"max"])(s,o);default:return e}}function o(t,e){this.element=t;var i,r,o,a,l,c,u,h,d=["min-width","min-height","max-width","max-height"];this.call=function(){for(i in o=function(t){if(!t.getBoundingClientRect)return{width:t.offsetWidth,height:t.offsetHeight};var e=t.getBoundingClientRect();return{width:Math.round(e.width),height:Math.round(e.height)}}(this.element),c={},n[e])!n[e].hasOwnProperty(i)||(a=s(this.element,(r=n[e][i]).value),l="width"===r.property?o.width:o.height,u="","min"===r.mode&&l>=a&&(u+=r.value),"max"===r.mode&&l<=a&&(u+=r.value),c[h=r.mode+"-"+r.property]||(c[h]=""),u&&-1===(" "+c[h]+" ").indexOf(" "+u+" ")&&(c[h]+=" "+u));for(var t in d)!d.hasOwnProperty(t)||(c[d[t]]?this.element.setAttribute(d[t],c[d[t]].substr(1)):this.element.removeAttribute(d[t]))}}function a(e,n){e.elementQueriesSetupInformation||(e.elementQueriesSetupInformation=new o(e,n)),e.elementQueriesSensor||(e.elementQueriesSensor=new t(e,function(){e.elementQueriesSetupInformation.call()}))}function l(t,r,s,o){if(void 0===n[t]){n[t]=[];var a=i.length;e.innerHTML+="\n"+t+" {animation: 0.1s element-queries;}",e.innerHTML+="\n"+t+" > .resize-sensor {min-width: "+a+"px;}",i.push(t)}n[t].push({mode:r,property:s,value:o})}function c(t){var e;if(document.querySelectorAll&&(e=t?t.querySelectorAll.bind(t):document.querySelectorAll.bind(document)),!e&&"undefined"!=typeof $$&&(e=$$),!e&&"undefined"!=typeof jQuery&&(e=jQuery),!e)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return e}function u(e){var n=[],i=[],r=[],s=0,o=-1,a=[];for(var l in e.children)if(e.children.hasOwnProperty(l)&&e.children[l].tagName&&"img"===e.children[l].tagName.toLowerCase()){n.push(e.children[l]);var c=e.children[l].getAttribute("min-width")||e.children[l].getAttribute("data-min-width"),u=e.children[l].getAttribute("data-src")||e.children[l].getAttribute("url");r.push(u),i.push({minWidth:c}),c?e.children[l].style.display="none":(s=n.length-1,e.children[l].style.display="block")}function h(){var t,l=!1;for(t in n)!n.hasOwnProperty(t)||i[t].minWidth&&e.offsetWidth>i[t].minWidth&&(l=t);if(l||(l=s),o!==l)if(a[l])n[o].style.display="none",n[l].style.display="block",o=l;else{var c=new Image;c.onload=function(){n[l].src=r[l],n[o].style.display="none",n[l].style.display="block",a[l]=!0,o=l},c.src=r[l]}else n[l].src=r[l]}o=s,e.resizeSensorInstance=new t(e,h),h()}var h=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,d=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function p(t){var e,n,i,r;for(t=t.replace(/'/g,'"');null!==(e=h.exec(t));)for(n=e[1]+e[3],i=e[2];null!==(r=d.exec(i));)l(n,r[1],r[2],r[3])}function f(t){var e="";if(t)if("string"==typeof t)(-1!==(t=t.toLowerCase()).indexOf("min-width")||-1!==t.indexOf("max-width"))&&p(t);else for(var n=0,i=t.length;n img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",e.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(e),g=!0);for(var r=0,s=document.styleSheets.length;r0&&o.length>r&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,console&&console.warn&&console.warn(a)}return t}function O(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function T(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},r=O.bind(i);return r.listener=n,i.wrapFn=r,r}function k(t,e,n){var i=t._events;if(void 0===i)return[];var r=i[e];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(s=e[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var a=r[t];if(void 0===a)return!1;if("function"==typeof a)v(a,this,e);else{var l=a.length,c=A(a,l);for(n=0;n=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},w.prototype.listeners=function(t){return k(this,t,!0)},w.prototype.rawListeners=function(t){return k(this,t,!1)},w.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):P.call(t,e)},w.prototype.listenerCount=P,w.prototype.eventNames=function(){return this._eventsCount>0?m(this._events):[]},I.prototype.next=function(){if(this.done)return{done:!0};var t=this._next();return t.done&&(this.done=!0),t},"undefined"!=typeof Symbol&&(I.prototype[Symbol.iterator]=function(){return this}),I.of=function(){var t=arguments,e=t.length,n=0;return new I(function(){return n>=e?{done:!0}:{done:!1,value:t[n++]}})},I.empty=function(){var t=new I(null);return t.done=!0,t},I.is=function(t){return t instanceof I||"object"==typeof t&&null!==t&&"function"==typeof t.next};var D=I,R=function(t,e){for(var n,i=arguments.length>1?e:1/0,r=i!==1/0?new Array(i):[],s=0;;){if(s===i)return r;if((n=t.next()).done)return s!==e?r.slice(0,s):r;r[s++]=n.value}},N=function(t){function n(e,n){var i;return(i=t.call(this)||this).name="GraphError",i.message=e||"",i.data=n||{},i}return e(n,t),n}(o(Error)),L=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N),j=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N),F=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N);function B(t,e){this.key=t,this.attributes=e,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function V(t,e){this.key=t,this.attributes=e,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function z(t,e){this.key=t,this.attributes=e,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function U(t,e,n,i,r,s){this.key=e,this.attributes=s,this.undirected=t,this.source=i,this.target=r,this.generatedKey=n}function H(t,e,n,i,r,s,o){var a,l,c="out",u="in";if(e&&(c=u="undirected"),t.multi){if(void 0===(l=(a=s[c])[r])&&(l=new Set,a[r]=l),l.add(n),i===r&&e)return;void 0===(a=o[u])[i]&&(a[i]=l)}else{if(s[c][r]=n,i===r&&e)return;o[u][i]=n}}function $(t,e,n){var i=t.multi,r=n.source,s=n.target,o=r.key,a=s.key,l=r[e?"undirected":"out"],c=e?"undirected":"in";if(a in l)if(i){var u=l[a];1===u.size?(delete l[a],delete s[c][o]):u.delete(n)}else delete l[a];i||delete s[c][o]}V.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},z.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var G=[{name:function(t){return"get".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes[i]}}},{name:function(t){return"get".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t){var i;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var r=""+t,s=""+arguments[1];if(!(i=c(this,r,s,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(r,'" - "').concat(s,'").'))}else if(!(i=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&i.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return i.attributes}}},{name:function(t){return"has".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes.hasOwnProperty(i)}}},{name:function(t){return"set".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i,r){var s;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+t,a=""+i;if(i=arguments[2],r=arguments[3],!(s=c(this,o,a,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(s=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&s.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return s.attributes[i]=r,this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:i}),this}}},{name:function(t){return"update".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i,r){var s;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+t,a=""+i;if(i=arguments[2],r=arguments[3],!(s=c(this,o,a,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(s=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("function"!=typeof r)throw new L("Graph.".concat(e,": updater should be a function."));if("mixed"!==n&&s.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return s.attributes[i]=r(s.attributes[i]),this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:i}),this}}},{name:function(t){return"remove".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return delete r.attributes[i],this.emit("edgeAttributesUpdated",{key:r.key,type:"remove",attributes:r.attributes,name:i}),this}}},{name:function(t){return"replace".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(e,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes=i,this.emit("edgeAttributesUpdated",{key:r.key,type:"replace",attributes:r.attributes}),this}}},{name:function(t){return"merge".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(e,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return l(r.attributes,i),this.emit("edgeAttributesUpdated",{key:r.key,type:"merge",attributes:r.attributes,data:i}),this}}}],W=D,q=function(){var t,e=arguments,n=-1;return new W(function i(){if(!t){if(++n>=e.length)return{done:!0};t=e[n]}var r=t.next();return r.done?(t=null,i()):r})},Y=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function X(t,e){for(var n in e)t.push(e[n].key)}function K(t,e){for(var n in e)e[n].forEach(function(e){return t.push(e.key)})}function Q(t,e,n){for(var i in t)if(i!==n){var r=t[i];e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey)}}function Z(t,e,n){for(var i in t)i!==n&&t[i].forEach(function(t){return e(t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes,t.undirected,t.generatedKey)})}function J(t,e,n){for(var i in t)if(i!==n){var r=t[i];if(e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey))return!0}return!1}function tt(t,e,n){var i,r,s,o,a;for(var l in t)if(l!==n)for(i=t[l].values();!0!==(r=i.next()).done;)if(o=(s=r.value).source,e(s.key,s.attributes,o.key,(a=s.target).key,o.attributes,a.attributes,s.undirected,s.generatedKey))return!0;return!1}function et(t,e){var n=Object.keys(t),i=n.length,r=null,s=0;return new D(function o(){var a;if(r){var l=r.next();if(l.done)return r=null,s++,o();a=l.value}else{if(s>=i)return{done:!0};var c=n[s];if(c===e)return s++,o();if((a=t[c])instanceof Set)return r=a.values(),o();s++}return{done:!1,value:[a.key,a.attributes,a.source.key,a.target.key,a.source.attributes,a.target.attributes]}})}function nt(t,e,n){var i=e[n];i&&t.push(i.key)}function it(t,e,n){var i=e[n];i&&i.forEach(function(e){return t.push(e.key)})}function rt(t,e,n){var i=t[e];if(i){var r=i.source,s=i.target;n(i.key,i.attributes,r.key,s.key,r.attributes,s.attributes,i.undirected,i.generatedKey)}}function st(t,e,n){var i=t[e];i&&i.forEach(function(t){return n(t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes,t.undirected,t.generatedKey)})}function ot(t,e,n){var i=t[e];if(i){var r=i.source,s=i.target;return n(i.key,i.attributes,r.key,s.key,r.attributes,s.attributes,i.undirected,i.generatedKey)}}function at(t,e,n){var i=t[e];if(i){for(var r,s,o=i.values();!0!==(r=o.next()).done;)if(n((s=r.value).key,s.attributes,s.source.key,s.target.key,s.source.attributes,s.target.attributes,s.undirected,s.generatedKey))return!0;return!1}}function lt(t,e){var n=t[e];if(n instanceof Set){var i=n.values();return new D(function(){var t=i.next();if(t.done)return t;var e=t.value;return{done:!1,value:[e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes]}})}return D.of([n.key,n.attributes,n.source.key,n.target.key,n.source.attributes,n.target.attributes])}function ct(t,e){if(0===t.size)return[];if("mixed"===e||e===t.type)return"function"==typeof Array.from?Array.from(t._edges.keys()):R(t._edges.keys(),t._edges.size);for(var n,i,r=new Array("undirected"===e?t.undirectedSize:t.directedSize),s="undirected"===e,o=t._edges.values(),a=0;!0!==(n=o.next()).done;)(i=n.value).undirected===s&&(r[a++]=i.key);return r}function ut(t,e,n){if(0!==t.size)for(var i,r,s="mixed"!==e&&e!==t.type,o="undirected"===e,a=t._edges.values();!0!==(i=a.next()).done;)if(r=i.value,!s||r.undirected===o){var l=r.source,c=r.target;n(r.key,r.attributes,l.key,c.key,l.attributes,c.attributes,r.undirected,r.generatedKey)}}function ht(t,e,n){if(0!==t.size)for(var i,r,s="mixed"!==e&&e!==t.type,o="undirected"===e,a=t._edges.values();!0!==(i=a.next()).done;)if(r=i.value,!s||r.undirected===o){var l=r.source,c=r.target;if(n(r.key,r.attributes,l.key,c.key,l.attributes,c.attributes,r.undirected,r.generatedKey))break}}function dt(t,e){if(0===t.size)return D.empty();var n="mixed"!==e&&e!==t.type,i="undirected"===e,r=t._edges.values();return new D(function(){for(var t,e;;){if((t=r.next()).done)return t;if(e=t.value,!n||e.undirected===i)break}return{value:[e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes],done:!1}})}function pt(t,e,n,i){var r=[],s=t?K:X;return"undirected"!==e&&("out"!==n&&s(r,i.in),"in"!==n&&s(r,i.out),!n&&i.directedSelfLoops>0&&r.splice(r.lastIndexOf(i.key),1)),"directed"!==e&&s(r,i.undirected),r}function ft(t,e,n,i,r){var s=t?Z:Q;"undirected"!==e&&("out"!==n&&s(i.in,r),"in"!==n&&s(i.out,r,n?null:i.key)),"directed"!==e&&s(i.undirected,r)}function gt(t,e,n,i,r){var s=t?tt:J;"undirected"!==e&&("out"!==n&&s(i.in,r)||"in"!==n&&s(i.out,r,n?null:i.key))||"directed"===e||s(i.undirected,r)}function mt(t,e,n){var i=D.empty();return"undirected"!==t&&("out"!==e&&void 0!==n.in&&(i=q(i,et(n.in))),"in"!==e&&void 0!==n.out&&(i=q(i,et(n.out,e?null:n.key)))),"directed"!==t&&void 0!==n.undirected&&(i=q(i,et(n.undirected))),i}function bt(t,e,n,i,r){var s=e?it:nt,o=[];return"undirected"!==t&&(void 0!==i.in&&"out"!==n&&s(o,i.in,r),void 0!==i.out&&"in"!==n&&s(o,i.out,r),!n&&i.directedSelfLoops>0&&o.splice(o.lastIndexOf(i.key),1)),"directed"!==t&&void 0!==i.undirected&&s(o,i.undirected,r),o}function yt(t,e,n,i,r,s){var o=e?st:rt;"undirected"!==t&&(void 0!==i.in&&"out"!==n&&o(i.in,r,s),i.key!==r&&void 0!==i.out&&"in"!==n&&o(i.out,r,s)),"directed"!==t&&void 0!==i.undirected&&o(i.undirected,r,s)}function vt(t,e,n,i,r,s){var o=e?at:ot;"undirected"!==t&&(void 0!==i.in&&"out"!==n&&o(i.in,r,s)||i.key!==r&&void 0!==i.out&&"in"!==n&&o(i.out,r,s,n?null:i.key))||"directed"===t||void 0===i.undirected||o(i.undirected,r,s)}function _t(t,e,n,i){var r=D.empty();return"undirected"!==t&&(void 0!==n.in&&"out"!==e&&i in n.in&&(r=q(r,lt(n.in,i))),void 0!==n.out&&"in"!==e&&i in n.out&&(r=q(r,lt(n.out,i)))),"directed"!==t&&void 0!==n.undirected&&i in n.undirected&&(r=q(r,lt(n.undirected,i))),r}var wt=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function xt(t,e){if(void 0!==e)for(var n in e)t.add(n)}function St(t,e,n){if("mixed"!==t){if("undirected"===t)return Object.keys(n.undirected);if("string"==typeof e)return Object.keys(n[e])}var i=new Set;return"undirected"!==t&&("out"!==e&&xt(i,n.in),"in"!==e&&xt(i,n.out)),"directed"!==t&&xt(i,n.undirected),R(i.values(),i.size)}function Ct(t,e,n){for(var i in e){var r=e[i];r instanceof Set&&(r=r.values().next().value);var s=r.source,o=s===t?r.target:s;n(o.key,o.attributes)}}function Et(t,e,n,i){for(var r in n){var s=n[r];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===e?s.target:o;t.has(a.key)||(t.add(a.key),i(a.key,a.attributes))}}function Ot(t,e,n){for(var i in e){var r=e[i];r instanceof Set&&(r=r.values().next().value);var s=r.source,o=s===t?r.target:s;if(n(o.key,o.attributes))return!0}return!1}function Tt(t,e,n,i){for(var r in n){var s=n[r];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===e?s.target:o;if(!t.has(a.key)&&(t.add(a.key),i(a.key,a.attributes)))return!0}return!1}function kt(t,e){var n=Object.keys(e),i=n.length,r=0;return new D(function(){if(r>=i)return{done:!0};var s=e[n[r++]];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===t?s.target:o;return{done:!1,value:[a.key,a.attributes]}})}function Pt(t,e,n){var i=Object.keys(n),r=i.length,s=0;return new D(function o(){if(s>=r)return{done:!0};var a=n[i[s++]];a instanceof Set&&(a=a.values().next().value);var l=a.source,c=l===e?a.target:l;return t.has(c.key)?o():(t.add(c.key),{done:!1,value:[c.key,c.attributes]})})}function At(t,e,n,i,r){var s=t._nodes.get(i);if("undirected"!==e){if("out"!==n&&void 0!==s.in)for(var o in s.in)if(o===r)return!0;if("in"!==n&&void 0!==s.out)for(var a in s.out)if(a===r)return!0}if("directed"!==e&&void 0!==s.undirected)for(var l in s.undirected)if(l===r)return!0;return!1}function Mt(t,e,n){for(var i,r,s,o,a,l,c,u=e._nodes.values(),h=e.type;!0!==(i=u.next()).done;){if(r=i.value,"undirected"!==h)for(s in o=r.out)if(l=(a=o[s]).target,c=n(r.key,l.key,r.attributes,l.attributes,a.key,a.attributes,a.undirected,a.generatedKey),t&&c)return;if("directed"!==h)for(s in o=r.undirected)if((l=(a=o[s]).target).key!==s&&(l=a.source),c=n(r.key,l.key,r.attributes,l.attributes,a.key,a.attributes,a.undirected,a.generatedKey),t&&c)return}}function It(t,e,n){for(var i,r,s,o,a,l,c,u,h,d=e._nodes.values(),p=e.type;!0!==(i=d.next()).done;){if(r=i.value,"undirected"!==p)for(s in l=r.out)for(o=l[s].values();!0!==(a=o.next()).done;)if(u=(c=a.value).target,h=n(r.key,u.key,r.attributes,u.attributes,c.key,c.attributes,c.undirected,c.generatedKey),t&&h)return;if("directed"!==p)for(s in l=r.undirected)for(o=l[s].values();!0!==(a=o.next()).done;)if((u=(c=a.value).target).key!==s&&(u=c.source),h=n(r.key,u.key,r.attributes,u.attributes,c.key,c.attributes,c.undirected,c.generatedKey),t&&h)return}}function Dt(t,e){var n={key:t};return d(e.attributes)||(n.attributes=l({},e.attributes)),n}function Rt(t,e){var n={source:e.source.key,target:e.target.key};return e.generatedKey||(n.key=t),d(e.attributes)||(n.attributes=l({},e.attributes)),e.undirected&&(n.undirected=!0),n}function Nt(t){return h(t)?"key"in t?!("attributes"in t)||h(t.attributes)&&null!==t.attributes?null:"invalid-attributes":"no-key":"not-object"}function Lt(t){return h(t)?"source"in t?"target"in t?!("attributes"in t)||h(t.attributes)&&null!==t.attributes?"undirected"in t&&"boolean"!=typeof t.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var jt=new Set(["directed","undirected","mixed"]),Ft=new Set(["domain","_events","_eventsCount","_maxListeners"]),Bt={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Vt(t,e,n){var i=new t.NodeDataClass(e,n);return t._nodes.set(e,i),t.emit("nodeAdded",{key:e,attributes:n}),i}function zt(t,e,n,i,r,s,o,a){if(!i&&"undirected"===t.type)throw new F("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===t.type)throw new F("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(a&&!h(a))throw new L("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(a,'"'));if(s=""+s,o=""+o,a=a||{},!t.allowSelfLoops&&s===o)throw new F("Graph.".concat(e,': source & target are the same ("').concat(s,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var l=t._nodes.get(s),c=t._nodes.get(o);if(!l)throw new j("Graph.".concat(e,': source node "').concat(s,'" not found.'));if(!c)throw new j("Graph.".concat(e,': target node "').concat(o,'" not found.'));var u={key:null,undirected:i,source:s,target:o,attributes:a};if(n&&(r=t._edgeKeyGenerator(u)),t._edges.has(r=""+r))throw new F("Graph.".concat(e,': the "').concat(r,'" edge already exists in the graph.'));if(!t.multi&&(i?void 0!==l.undirected[o]:void 0!==l.out[o]))throw new F("Graph.".concat(e,': an edge linking "').concat(s,'" to "').concat(o,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var d=new U(i,r,n,l,c,a);return t._edges.set(r,d),s===o?i?(l.undirectedSelfLoops++,t._undirectedSelfLoopCount++):(l.directedSelfLoops++,t._directedSelfLoopCount++):i?(l.undirectedDegree++,c.undirectedDegree++):(l.outDegree++,c.inDegree++),H(t,i,d,s,o,l,c),i?t._undirectedSize++:t._directedSize++,u.key=r,t.emit("edgeAdded",u),r}function Ut(t,e,n,i,r,s,o,a,c){if(!i&&"undirected"===t.type)throw new F("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===t.type)throw new F("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(a)if(c){if("function"!=typeof a)throw new L("Graph.".concat(e,': invalid updater function. Expecting a function but got "').concat(a,'"'))}else if(!h(a))throw new L("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(a,'"'));var u;if(s=""+s,o=""+o,c&&(u=a,a=void 0),!t.allowSelfLoops&&s===o)throw new F("Graph.".concat(e,': source & target are the same ("').concat(s,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var d,p,f=t._nodes.get(s),g=t._nodes.get(o);if(!n&&(d=t._edges.get(r))){if(d.source.key!==s||d.target.key!==o||i&&(d.source.key!==o||d.target.key!==s))throw new F("Graph.".concat(e,': inconsistency detected when attempting to merge the "').concat(r,'" edge with "').concat(s,'" source & "').concat(o,'" target vs. ("').concat(d.source.key,'", "').concat(d.target.key,'").'));p=d}if(p||t.multi||!f||(p=i?f.undirected[o]:f.out[o]),p)return(c?u:a)?(c?(p.attributes=u(p.attributes),t.emit("edgeAttributesUpdated",{type:"replace",key:p.key,attributes:p.attributes})):(l(p.attributes,a),t.emit("edgeAttributesUpdated",{type:"merge",key:p.key,attributes:p.attributes,data:a})),p.key):p.key;a=a||{},c&&u&&(a=u(a));var m={key:null,undirected:i,source:s,target:o,attributes:a};if(n&&(r=t._edgeKeyGenerator(m)),t._edges.has(r=""+r))throw new F("Graph.".concat(e,': the "').concat(r,'" edge already exists in the graph.'));return f||(f=Vt(t,s,{}),s===o&&(g=f)),g||(g=Vt(t,o,{})),d=new U(i,r,n,f,g,a),t._edges.set(r,d),s===o?i?(f.undirectedSelfLoops++,t._undirectedSelfLoopCount++):(f.directedSelfLoops++,t._directedSelfLoopCount++):i?(f.undirectedDegree++,g.undirectedDegree++):(f.outDegree++,g.inDegree++),H(t,i,d,s,o,f,g),i?t._undirectedSize++:t._directedSize++,m.key=r,t.emit("edgeAdded",m),r}var Ht,$t=function(t){function n(e){var n;if(n=t.call(this)||this,(e=l({},Bt,e)).edgeKeyGenerator&&"function"!=typeof e.edgeKeyGenerator)throw new L("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(e.edgeKeyGenerator,'".'));if("boolean"!=typeof e.multi)throw new L("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(e.multi,'".'));if(!jt.has(e.type))throw new L('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(e.type,'".'));if("boolean"!=typeof e.allowSelfLoops)throw new L("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(e.allowSelfLoops,'".'));var i,r="mixed"===e.type?B:"directed"===e.type?V:z;return p(a(n),"NodeDataClass",r),p(a(n),"_attributes",{}),p(a(n),"_nodes",new Map),p(a(n),"_edges",new Map),p(a(n),"_directedSize",0),p(a(n),"_undirectedSize",0),p(a(n),"_directedSelfLoopCount",0),p(a(n),"_undirectedSelfLoopCount",0),p(a(n),"_edgeKeyGenerator",e.edgeKeyGenerator||(i=0,function(){return i++})),p(a(n),"_options",e),Ft.forEach(function(t){return p(a(n),t,n[t])}),f(a(n),"order",function(){return n._nodes.size}),f(a(n),"size",function(){return n._edges.size}),f(a(n),"directedSize",function(){return n._directedSize}),f(a(n),"undirectedSize",function(){return n._undirectedSize}),f(a(n),"selfLoopCount",function(){return n._directedSelfLoopCount+n._undirectedSelfLoopCount}),f(a(n),"directedSelfLoopCount",function(){return n._directedSelfLoopCount}),f(a(n),"undirectedSelfLoopCount",function(){return n._undirectedSelfLoopCount}),f(a(n),"multi",n._options.multi),f(a(n),"type",n._options.type),f(a(n),"allowSelfLoops",n._options.allowSelfLoops),f(a(n),"implementation",function(){return"graphology"}),n}e(n,t);var i=n.prototype;return i.hasNode=function(t){return this._nodes.has(""+t)},i.hasDirectedEdge=function(t,e){if("undirected"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+t);return!!n&&!n.undirected}if(2===arguments.length){e=""+e;var i=this._nodes.get(t=""+t);if(!i)return!1;var r=i.out[e];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasUndirectedEdge=function(t,e){if("directed"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+t);return!!n&&n.undirected}if(2===arguments.length){e=""+e;var i=this._nodes.get(t=""+t);if(!i)return!1;var r=i.undirected[e];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasEdge=function(t,e){if(1===arguments.length)return this._edges.has(""+t);if(2===arguments.length){e=""+e;var n=this._nodes.get(t=""+t);if(!n)return!1;var i=void 0!==n.out&&n.out[e];return i||(i=void 0!==n.undirected&&n.undirected[e]),!(!i||this.multi&&!i.size)}throw new L("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.directedEdge=function(t,e){if("undirected"!==this.type){if(t=""+t,e=""+e,this.multi)throw new F("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var n=this._nodes.get(t);if(!n)throw new j('Graph.directedEdge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.directedEdge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.out&&n.out[e]||void 0;return i?i.key:void 0}},i.undirectedEdge=function(t,e){if("directed"!==this.type){if(t=""+t,e=""+e,this.multi)throw new F("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var n=this._nodes.get(t);if(!n)throw new j('Graph.undirectedEdge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.undirectedEdge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.undirected&&n.undirected[e]||void 0;return i?i.key:void 0}},i.edge=function(t,e){if(this.multi)throw new F("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");e=""+e;var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.edge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.edge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.out&&n.out[e]||n.undirected&&n.undirected[e]||void 0;if(i)return i.key},i.inDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.inDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.inDegree: could not find the "'.concat(t,'" node in the graph.'));return"undirected"===this.type?0:n.inDegree+(e?n.directedSelfLoops:0)},i.outDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.outDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.outDegree: could not find the "'.concat(t,'" node in the graph.'));return"undirected"===this.type?0:n.outDegree+(e?n.directedSelfLoops:0)},i.directedDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.directedDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.directedDegree: could not find the "'.concat(t,'" node in the graph.'));if("undirected"===this.type)return 0;var i=e?n.directedSelfLoops:0;return n.inDegree+i+(n.outDegree+i)},i.undirectedDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.undirectedDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.undirectedDegree: could not find the "'.concat(t,'" node in the graph.'));return"directed"===this.type?0:n.undirectedDegree+2*(e?n.undirectedSelfLoops:0)},i.degree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.degree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.degree: could not find the "'.concat(t,'" node in the graph.'));var i=0,r=0;return"directed"!==this.type&&(e&&(r=n.undirectedSelfLoops),i+=n.undirectedDegree+2*r),"undirected"!==this.type&&(e&&(r=n.directedSelfLoops),i+=n.inDegree+n.outDegree+2*r),i},i.source=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.source: could not find the "'.concat(t,'" edge in the graph.'));return e.source.key},i.target=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.target: could not find the "'.concat(t,'" edge in the graph.'));return e.target.key},i.extremities=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.extremities: could not find the "'.concat(t,'" edge in the graph.'));return[e.source.key,e.target.key]},i.opposite=function(t,e){t=""+t;var n=this._edges.get(e=""+e);if(!n)throw new j('Graph.opposite: could not find the "'.concat(e,'" edge in the graph.'));var i=n.source.key,r=n.target.key;if(t!==i&&t!==r)throw new j('Graph.opposite: the "'.concat(t,'" node is not attached to the "').concat(e,'" edge (').concat(i,", ").concat(r,")."));return t===i?r:i},i.hasExtremity=function(t,e){e=""+e;var n=this._edges.get(t=""+t);if(!n)throw new j('Graph.hasExtremity: could not find the "'.concat(t,'" edge in the graph.'));return n.source.key===e||n.target.key===e},i.isUndirected=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isUndirected: could not find the "'.concat(t,'" edge in the graph.'));return e.undirected},i.isDirected=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isDirected: could not find the "'.concat(t,'" edge in the graph.'));return!e.undirected},i.isSelfLoop=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isSelfLoop: could not find the "'.concat(t,'" edge in the graph.'));return e.source===e.target},i.hasGeneratedKey=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.hasGeneratedKey: could not find the "'.concat(t,'" edge in the graph.'));return e.generatedKey},i.addNode=function(t,e){return function(t,e,n){if(n&&!h(n))throw new L('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(n,'"'));if(n=n||{},t._nodes.has(e=""+e))throw new F('Graph.addNode: the "'.concat(e,'" node already exist in the graph.'));var i=new t.NodeDataClass(e,n);return t._nodes.set(e,i),t.emit("nodeAdded",{key:e,attributes:n}),i}(this,t,e).key},i.mergeNode=function(t,e){if(e&&!h(e))throw new L('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(e,'"'));e=e||{};var n=this._nodes.get(t=""+t);return n?(e&&(l(n.attributes,e),this.emit("nodeAttributesUpdated",{type:"merge",key:t,attributes:n.attributes,data:e})),t):(n=new this.NodeDataClass(t,e),this._nodes.set(t,n),this.emit("nodeAdded",{key:t,attributes:e}),t)},i.updateNode=function(t,e){if(e&&"function"!=typeof e)throw new L('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(e,'"'));var n=this._nodes.get(t=""+t);if(n)return e&&(n.attributes=e(n.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:t,attributes:n.attributes})),t;var i=e?e({}):{};return n=new this.NodeDataClass(t,i),this._nodes.set(t,n),this.emit("nodeAdded",{key:t,attributes:i}),t},i.dropNode=function(t){var e=this,n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.dropNode: could not find the "'.concat(t,'" node in the graph.'));this.forEachEdge(t,function(t){e.dropEdge(t)}),this._nodes.delete(t),this.emit("nodeDropped",{key:t,attributes:n.attributes})},i.dropEdge=function(t){var e;if(arguments.length>1){var n=""+arguments[0],i=""+arguments[1];if(!(e=c(this,n,i,this.type)))throw new j('Graph.dropEdge: could not find the "'.concat(n,'" -> "').concat(i,'" edge in the graph.'))}else if(!(e=this._edges.get(t=""+t)))throw new j('Graph.dropEdge: could not find the "'.concat(t,'" edge in the graph.'));this._edges.delete(e.key);var r=e.source,s=e.target,o=e.attributes,a=e.undirected;return r===s?a?(r.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(r.directedSelfLoops--,this._directedSelfLoopCount--):a?(r.undirectedDegree--,s.undirectedDegree--):(r.outDegree--,s.inDegree--),$(this,a,e),a?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:t,attributes:o,source:r.key,target:s.key,undirected:a}),this},i.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},i.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},i.getAttribute=function(t){return this._attributes[t]},i.getAttributes=function(){return this._attributes},i.hasAttribute=function(t){return this._attributes.hasOwnProperty(t)},i.setAttribute=function(t,e){return this._attributes[t]=e,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this},i.updateAttribute=function(t,e){if("function"!=typeof e)throw new L("Graph.updateAttribute: updater should be a function.");return this._attributes[t]=e(this._attributes[t]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this},i.removeAttribute=function(t){return delete this._attributes[t],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:t}),this},i.replaceAttributes=function(t){if(!h(t))throw new L("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=t,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},i.mergeAttributes=function(t){if(!h(t))throw new L("Graph.mergeAttributes: provided attributes are not a plain object.");return l(this._attributes,t),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:t}),this},i.getNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.getNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return n.attributes[e]},i.getNodeAttributes=function(t){var e=this._nodes.get(t=""+t);if(!e)throw new j('Graph.getNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));return e.attributes},i.hasNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return n.attributes.hasOwnProperty(e)},i.setNodeAttribute=function(t,e,n){var i=this._nodes.get(t=""+t);if(!i)throw new j('Graph.setNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return i.attributes[e]=n,this.emit("nodeAttributesUpdated",{key:t,type:"set",attributes:i.attributes,name:e}),this},i.updateNodeAttribute=function(t,e,n){var i=this._nodes.get(t=""+t);if(!i)throw new j('Graph.updateNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof n)throw new L("Graph.updateAttribute: updater should be a function.");var r=i.attributes,s=n(r[e]);return r[e]=s,this.emit("nodeAttributesUpdated",{key:t,type:"set",attributes:i.attributes,name:e}),this},i.removeNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return delete n.attributes[e],this.emit("nodeAttributesUpdated",{key:t,type:"remove",attributes:n.attributes,name:e}),this},i.replaceNodeAttributes=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.replaceNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));if(!h(e))throw new L("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return n.attributes=e,this.emit("nodeAttributesUpdated",{key:t,type:"replace",attributes:n.attributes}),this},i.mergeNodeAttributes=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.mergeNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));if(!h(e))throw new L("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return l(n.attributes,e),this.emit("nodeAttributesUpdated",{key:t,type:"merge",attributes:n.attributes,data:e}),this},i.updateEachNodeAttributes=function(t,e){if("function"!=typeof t)throw new L("Graph.updateEachNodeAttributes: expecting an updater function.");if(e&&!g(e))throw new L("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._nodes.values();!0!==(n=r.next()).done;)(i=n.value).attributes=t(i.key,i.attributes);this.emit("eachNodeAttributesUpdated",{hints:e||null})},i.updateEachEdgeAttributes=function(t,e){if("function"!=typeof t)throw new L("Graph.updateEachEdgeAttributes: expecting an updater function.");if(e&&!g(e))throw new L("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._edges.values();!0!==(n=r.next()).done;)(i=n.value).attributes=t(i.key,i.attributes);this.emit("eachEdgeAttributesUpdated",{hints:e||null})},i.forEach=function(t){if("function"!=typeof t)throw new L("Graph.forEach: expecting a callback.");this.multi?It(!1,this,t):Mt(!1,this,t)},i.forEachUntil=function(t){if("function"!=typeof t)throw new L("Graph.forEach: expecting a callback.");this.multi?It(!0,this,t):Mt(!0,this,t)},i.adjacency=function(){return this.multi?(p=(l=this)._nodes.values(),f=l.type,g="outer",m=null,new D(function t(){var e;if("outer"===g)return!0===(e=p.next()).done?e:(c=e.value,g="directed",t());if("directed"===g)return"undirected"===f?(g="undirected",t()):(h=c.out,u=Object.keys(c.out),d=0,g="inner-directed",t());if("undirected"===g){if("directed"===f)return g="outer",t();h=c.undirected,u=Object.keys(c.undirected),d=0,g="inner-undirected"}if(!m&&d>=u.length)return g="inner-undirected"===g?"outer":"undirected",t();if(!m){var n=u[d++];return m=h[n].values(),t()}if((e=m.next()).done)return m=null,t();var i=e.value,r=i.target;return"inner-undirected"===g&&r.key===c.key&&(r=i.source),{done:!1,value:[c.key,r.key,c.attributes,r.attributes,i.key,i.attributes]}})):(s=(t=this)._nodes.values(),o=t.type,a="outer",new D(function t(){var l;if("outer"===a)return!0===(l=s.next()).done?l:(e=l.value,a="directed",t());if("directed"===a)return"undirected"===o?(a="undirected",t()):(i=e.out,n=Object.keys(e.out),r=0,a="inner-directed",t());if("undirected"===a){if("directed"===o)return a="outer",t();i=e.undirected,n=Object.keys(e.undirected),r=0,a="inner-undirected"}if(r>=n.length)return a="inner-undirected"===a?"outer":"undirected",t();var c=n[r++],u=i[c],h=u.target;return"inner-undirected"===a&&h.key===e.key&&(h=u.source),{done:!1,value:[e.key,h.key,e.attributes,h.attributes,u.key,u.attributes]}}));var t,e,n,i,r,s,o,a,l,c,u,h,d,p,f,g,m},i.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):R(this._nodes.keys(),this._nodes.size)},i.forEachNode=function(t){if("function"!=typeof t)throw new L("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(e,n){t(n,e.attributes)})},i.forEachNodeUntil=function(t){if("function"!=typeof t)throw new L("Graph.forEachNode: expecting a callback.");for(var e,n,i=this._nodes.values();!0!==(e=i.next())&&!t((n=e.value).key,n.attributes););},i.nodeEntries=function(){var t=this._nodes.values();return new D(function(){var e=t.next();if(e.done)return e;var n=e.value;return{value:[n.key,n.attributes],done:!1}})},i.exportNode=function(t){var e=this._nodes.get(t=""+t);if(!e)throw new j('Graph.exportNode: could not find the "'.concat(t,'" node in the graph.'));return Dt(t,e)},i.exportEdge=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.exportEdge: could not find the "'.concat(t,'" edge in the graph.'));return Rt(t,e)},i.export=function(){var t=new Array(this._nodes.size),e=0;this._nodes.forEach(function(n,i){t[e++]=Dt(i,n)});var n=new Array(this._edges.size);return e=0,this._edges.forEach(function(t,i){n[e++]=Rt(i,t)}),{attributes:this.getAttributes(),nodes:t,edges:n,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},i.importNode=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Nt(t);if(n){if("not-object"===n)throw new L('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===n)throw new L("Graph.importNode: no key provided.");if("invalid-attributes"===n)throw new L("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var i=t.key,r=t.attributes,s=void 0===r?{}:r;return e?this.mergeNode(i,s):this.addNode(i,s),this},i.importEdge=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Lt(t);if(n){if("not-object"===n)throw new L('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===n)throw new L("Graph.importEdge: missing souce.");if("no-target"===n)throw new L("Graph.importEdge: missing target.");if("invalid-attributes"===n)throw new L("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===n)throw new L("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var i=t.source,r=t.target,s=t.attributes,o=void 0===s?{}:s,a=t.undirected,l=void 0!==a&&a;return"key"in t?(e?l?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:l?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,t.key,i,r,o):(e?l?this.mergeUndirectedEdge:this.mergeDirectedEdge:l?this.addUndirectedEdge:this.addDirectedEdge).call(this,i,r,o),this},i.import=function(t){var e,n,i,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(u(t))return this.import(t.export(),r),this;if(!h(t))throw new L("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(t.attributes){if(!h(t.attributes))throw new L("Graph.import: invalid attributes. Expecting a plain object.");r?this.mergeAttributes(t.attributes):this.replaceAttributes(t.attributes)}if(t.nodes){if(i=t.nodes,!Array.isArray(i))throw new L("Graph.import: invalid nodes. Expecting an array.");for(e=0,n=i.length;en)){var o=new Set;o.add(e.undirected[s]),e.undirected[s]=o,t._nodes.get(s).undirected[n]=o}})),this;var t},i.clearIndex=function(){return this._nodes.forEach(function(t){void 0!==t.in&&(t.in={},t.out={}),void 0!==t.undirected&&(t.undirected={})}),this},i.toJSON=function(){return this.export()},i.toString=function(){return"[object Graph]"},i.inspect=function(){var t=this,e={};this._nodes.forEach(function(t,n){e[n]=t.attributes});var n={},i={};this._edges.forEach(function(e,r){var s=e.undirected?"--":"->",o="",a="(".concat(e.source.key,")").concat(s,"(").concat(e.target.key,")");e.generatedKey?t.multi&&(void 0===i[a]?i[a]=0:i[a]++,o+="".concat(i[a],". ")):o+="[".concat(r,"]: "),n[o+=a]=e.attributes});var r={};for(var s in this)this.hasOwnProperty(s)&&!Ft.has(s)&&"function"!=typeof this[s]&&(r[s]=this[s]);return r.attributes=this._attributes,r.nodes=e,r.edges=n,p(r,"constructor",this.constructor),r},n}(b.exports.EventEmitter);"undefined"!=typeof Symbol&&($t.prototype[Symbol.for("nodejs.util.inspect.custom")]=$t.prototype.inspect),[{name:function(t){return"".concat(t,"Edge")},generateKey:!0},{name:function(t){return"".concat(t,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(t){return"".concat(t,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(t){return"".concat(t,"EdgeWithKey")}},{name:function(t){return"".concat(t,"DirectedEdgeWithKey")},type:"directed"},{name:function(t){return"".concat(t,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(t){["add","merge","update"].forEach(function(e){var n=t.name(e),i="add"===e?zt:Ut;$t.prototype[n]=t.generateKey?function(r,s,o){return i(this,n,!0,"undirected"===(t.type||this.type),null,r,s,o,"update"===e)}:function(r,s,o,a){return i(this,n,!1,"undirected"===(t.type||this.type),r,s,o,a,"update"===e)}})}),"undefined"!=typeof Symbol&&($t.prototype[Symbol.iterator]=$t.prototype.adjacency),Ht=$t,G.forEach(function(t){var e=t.name,n=t.attacher;n(Ht,e("Edge"),"mixed"),n(Ht,e("DirectedEdge"),"directed"),n(Ht,e("UndirectedEdge"),"undirected")}),function(t){Y.forEach(function(e){var n,i,r,s;r=(n=e).type,s=n.direction,t.prototype[i=n.name]=function(t,e){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(!arguments.length)return ct(this,r);if(1===arguments.length){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));return pt(this.multi,"mixed"===r?this.type:r,s,n)}if(2===arguments.length){e=""+e;var o=this._nodes.get(t=""+t);if(!o)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(i,': could not find the "').concat(e,'" target node in the graph.'));return bt(r,this.multi,s,o,e)}throw new L("Graph.".concat(i,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(t,e,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return ut(this,i,n=t);if(2===arguments.length){n=e;var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));return ft(this.multi,"mixed"===i?this.type:i,r,o,n)}if(3===arguments.length){e=""+e;var a=this._nodes.get(t=""+t);if(!a)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(s,': could not find the "').concat(e,'" target node in the graph.'));return yt(i,this.multi,r,a,e,n)}throw new L("Graph.".concat(s,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(t,e),function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";t.prototype[s]=function(t,e,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return ht(this,i,n=t);if(2===arguments.length){n=e;var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));return gt(this.multi,"mixed"===i?this.type:i,r,o,n)}if(3===arguments.length){e=""+e;var a=this._nodes.get(t=""+t);if(!a)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(s,': could not find the "').concat(e,'" target node in the graph.'));return vt(i,this.multi,r,a,e,n)}throw new L("Graph.".concat(s,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(t,e),function(t,e){var n=e.type,i=e.direction,r=e.name.slice(0,-1)+"Entries";t.prototype[r]=function(t,e){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return D.empty();if(!arguments.length)return dt(this,n);if(1===arguments.length){var s=this._nodes.get(t=""+t);if(!s)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" node in the graph.'));return mt(n,i,s)}if(2===arguments.length){e=""+e;var o=this._nodes.get(t=""+t);if(!o)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(r,': could not find the "').concat(e,'" target node in the graph.'));return _t(n,i,o,e)}throw new L("Graph.".concat(r,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(t,e)})}($t),function(t){wt.forEach(function(e){var n,i,r,s;r=(n=e).type,s=n.direction,t.prototype[i=n.name]=function(t){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(2===arguments.length){var e=""+arguments[0],n=""+arguments[1];if(!this._nodes.has(e))throw new j("Graph.".concat(i,': could not find the "').concat(e,'" node in the graph.'));if(!this._nodes.has(n))throw new j("Graph.".concat(i,': could not find the "').concat(n,'" node in the graph.'));return At(this,r,s,e,n)}if(1===arguments.length){var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));return St("mixed"===r?this.type:r,s,o)}throw new L("Graph.".concat(i,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(t,e){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));!function(t,e,n,i){if("mixed"!==t){if("undirected"===t)return Ct(n,n.undirected,i);if("string"==typeof e)return Ct(n,n[e],i)}var r=new Set;"undirected"!==t&&("out"!==e&&Et(r,n,n.in,i),"in"!==e&&Et(r,n,n.out,i)),"directed"!==t&&Et(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,e)}}}(t,e),function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";t.prototype[s]=function(t,e){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));!function(t,e,n,i){if("mixed"!==t){if("undirected"===t)return Ot(n,n.undirected,i);if("string"==typeof e)return Ot(n,n[e],i)}var r=new Set;"undirected"!==t&&("out"!==e&&Tt(r,n,n.in,i)||"in"!==e&&Tt(r,n,n.out,i))||"directed"===t||Tt(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,e)}}}(t,e),function(t,e){var n=e.type,i=e.direction,r=e.name.slice(0,-1)+"Entries";t.prototype[r]=function(t){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return D.empty();var e=this._nodes.get(t=""+t);if(void 0===e)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" node in the graph.'));return function(t,e,n){if("mixed"!==t){if("undirected"===t)return kt(n,n.undirected);if("string"==typeof e)return kt(n,n[e])}var i=D.empty(),r=new Set;return"undirected"!==t&&("out"!==e&&(i=q(i,Pt(r,n,n.in))),"in"!==e&&(i=q(i,Pt(r,n,n.out)))),"directed"!==t&&(i=q(i,Pt(r,n,n.undirected))),i}("mixed"===n?this.type:n,i,e)}}(t,e)})}($t);var Gt=function(t){function n(e){var n=l({type:"directed"},e);if("multi"in n&&!1!==n.multi)throw new L("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==n.type)throw new L('DirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),Wt=function(t){function n(e){var n=l({type:"undirected"},e);if("multi"in n&&!1!==n.multi)throw new L("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==n.type)throw new L('UndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),qt=function(t){function n(e){var n=l({multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return t.call(this,n)||this}return e(n,t),n}($t),Yt=function(t){function n(e){var n=l({type:"directed",multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==n.type)throw new L('MultiDirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),Xt=function(t){function n(e){var n=l({type:"undirected",multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==n.type)throw new L('MultiUndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t);function Kt(t){t.from=function(e,n){var i=l({},e.options,n),r=new t(i);return r.import(e),r}}return Kt($t),Kt(Gt),Kt(Wt),Kt(qt),Kt(Yt),Kt(Xt),$t.Graph=$t,$t.DirectedGraph=Gt,$t.UndirectedGraph=Wt,$t.MultiGraph=qt,$t.MultiDirectedGraph=Yt,$t.MultiUndirectedGraph=Xt,$t.InvalidArgumentsGraphError=L,$t.NotFoundGraphError=j,$t.UsageGraphError=F,$t}()},11524:function(t,e,n){var i;!function(r,s,o,a){"use strict";var l,c=["","webkit","Moz","MS","ms","o"],u=s.createElement("div"),h=Math.round,d=Math.abs,p=Date.now;function f(t,e,n){return setTimeout(w(t,n),e)}function g(t,e,n){return!!Array.isArray(t)&&(m(t,n[e],n),!0)}function m(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==a)for(i=0;i\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=r.console&&(r.console.warn||r.console.log);return s&&s.call(r.console,i,n),t.apply(this,arguments)}}l="function"!=typeof Object.assign?function(t){if(t===a||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n-1}function k(t){return t.trim().split(/\s+/g)}function P(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;in[e]}):i.sort()),i}function I(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),s=0;s1&&!n.firstMultiple?n.firstMultiple=$(e):1===r&&(n.firstMultiple=!1);var s=n.firstInput,o=n.firstMultiple,l=o?o.center:s.center,c=e.center=G(i);e.timeStamp=p(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=X(l,c),e.distance=Y(l,c),function(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};(1===e.eventType||4===s.eventType)&&(r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}(n,e),e.offsetDirection=q(e.deltaX,e.deltaY);var u=W(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=d(u.x)>d(u.y)?u.x:u.y,e.scale=o?function(t,e){return Y(e[0],e[1],z)/Y(t[0],t[1],z)}(o.pointers,i):1,e.rotation=o?function(t,e){return X(e[1],e[0],z)+X(t[1],t[0],z)}(o.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,i,r,s,o=t.lastInterval||e,l=e.timeStamp-o.timeStamp;if(8!=e.eventType&&(l>25||o.velocity===a)){var c=e.deltaX-o.deltaX,u=e.deltaY-o.deltaY,h=W(l,c,u);i=h.x,r=h.y,n=d(h.x)>d(h.y)?h.x:h.y,s=q(c,u),t.lastInterval=e}else n=o.velocity,i=o.velocityX,r=o.velocityY,s=o.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=s}(n,e);var h=t.element;O(e.srcEvent.target,h)&&(h=e.srcEvent.target),e.target=h}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function $(t){for(var e=[],n=0;n=d(e)?t<0?2:4:e<0?8:16}function Y(t,e,n){n||(n=V);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function X(t,e,n){return n||(n=V),180*Math.atan2(e[n[1]]-t[n[1]],e[n[0]]-t[n[0]])/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&C(this.element,this.evEl,this.domHandler),this.evTarget&&C(this.target,this.evTarget,this.domHandler),this.evWin&&C(R(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(R(this.element),this.evWin,this.domHandler)}};var K={mousedown:1,mousemove:2,mouseup:4},Q="mousedown",Z="mousemove mouseup";function J(){this.evEl=Q,this.evWin=Z,this.pressed=!1,U.apply(this,arguments)}_(J,U,{handler:function(t){var e=K[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:B,srcEvent:t}))}});var tt={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},et={2:F,3:"pen",4:B,5:"kinect"},nt="pointerdown",it="pointermove pointerup pointercancel";function rt(){this.evEl=nt,this.evWin=it,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(nt="MSPointerDown",it="MSPointerMove MSPointerUp MSPointerCancel"),_(rt,U,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace("ms",""),r=tt[i],s=et[t.pointerType]||t.pointerType,o=s==F,a=P(e,t.pointerId,"pointerId");1&r&&(0===t.button||o)?a<0&&(e.push(t),a=e.length-1):12&r&&(n=!0),!(a<0)&&(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),n&&e.splice(a,1))}});var st={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ot="touchstart",at="touchstart touchmove touchend touchcancel";function lt(){this.evTarget=ot,this.evWin=at,this.started=!1,U.apply(this,arguments)}function ct(t,e){var n=A(t.touches),i=A(t.changedTouches);return 12&e&&(n=M(n.concat(i),"identifier",!0)),[n,i]}_(lt,U,{handler:function(t){var e=st[t.type];if(1===e&&(this.started=!0),this.started){var n=ct.call(this,t,e);12&e&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:F,srcEvent:t})}}});var ut={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ht="touchstart touchmove touchend touchcancel";function dt(){this.evTarget=ht,this.targetIds={},U.apply(this,arguments)}function pt(t,e){var n=A(t.touches),i=this.targetIds;if(3&e&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,s,o=A(t.changedTouches),a=[],l=this.target;if(s=n.filter(function(t){return O(t.target,l)}),1===e)for(r=0;r-1&&i.splice(t,1)},2500)}}function bt(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function i(n){e.manager.emit(n,t)}n<8&&i(e.options.event+kt(n)),i(e.options.event),t.additionalEvent&&i(t.additionalEvent),n>=8&&i(e.options.event+kt(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return Mt.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Pt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),_(Dt,Mt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){1!==t.scale&&(t.additionalEvent=this.options.event+(t.scale<1?"in":"out")),this._super.emit.call(this,t)}}),_(Rt,Tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distancee.time;if(this._input=t,!i||!n||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=f(function(){this.state=8,this.tryEmit()},e.time,this);else if(4&t.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=p(),this.manager.emit(this.options.event,this._input)))}}),_(Nt,Mt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),_(Lt,Mt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return It.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return 30&n?e=t.overallVelocity:6&n?e=t.overallVelocityX:24&n&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&d(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=Pt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),_(jt,Tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[wt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance"']/g,W=RegExp($.source),q=RegExp(G.source),Y=/<%-([\s\S]+?)%>/g,X=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Z=/^\w*$/,J=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,tt=/[\\^$.*+?()[\]{}|]/g,et=RegExp(tt.source),nt=/^\s+/,it=/\s/,rt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,st=/\{\n\/\* \[wrapped with (.+)\] \*/,ot=/,? & /,at=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,lt=/[()=,{}\[\]\/\s]/,ct=/\\(\\)?/g,ut=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ht=/\w*$/,dt=/^[-+]0x[0-9a-f]+$/i,pt=/^0b[01]+$/i,ft=/^\[object .+?Constructor\]$/,gt=/^0o[0-7]+$/i,mt=/^(?:0|[1-9]\d*)$/,bt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,yt=/($^)/,vt=/['\n\r\u2028\u2029\\]/g,_t="\\ud800-\\udfff",wt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",xt="\\u2700-\\u27bf",St="a-z\\xdf-\\xf6\\xf8-\\xff",Ct="A-Z\\xc0-\\xd6\\xd8-\\xde",Et="\\ufe0e\\ufe0f",Ot="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Tt="["+_t+"]",kt="["+Ot+"]",Pt="["+wt+"]",At="\\d+",Mt="["+xt+"]",It="["+St+"]",Dt="[^"+_t+Ot+At+xt+St+Ct+"]",Rt="\\ud83c[\\udffb-\\udfff]",Nt="[^"+_t+"]",Lt="(?:\\ud83c[\\udde6-\\uddff]){2}",jt="[\\ud800-\\udbff][\\udc00-\\udfff]",Ft="["+Ct+"]",Bt="(?:"+It+"|"+Dt+")",Vt="(?:"+Ft+"|"+Dt+")",zt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ut="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Ht="(?:"+Pt+"|"+Rt+")?",$t="["+Et+"]?",Gt=$t+Ht+"(?:\\u200d(?:"+[Nt,Lt,jt].join("|")+")"+$t+Ht+")*",Wt="(?:"+[Mt,Lt,jt].join("|")+")"+Gt,qt="(?:"+[Nt+Pt+"?",Pt,Lt,jt,Tt].join("|")+")",Yt=RegExp("['\u2019]","g"),Xt=RegExp(Pt,"g"),Kt=RegExp(Rt+"(?="+Rt+")|"+qt+Gt,"g"),Qt=RegExp([Ft+"?"+It+"+"+zt+"(?="+[kt,Ft,"$"].join("|")+")",Vt+"+"+Ut+"(?="+[kt,Ft+Bt,"$"].join("|")+")",Ft+"?"+Bt+"+"+zt,Ft+"+"+Ut,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",At,Wt].join("|"),"g"),Zt=RegExp("[\\u200d"+_t+wt+Et+"]"),Jt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,te=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ee=-1,ne={};ne[I]=ne[D]=ne[R]=ne[N]=ne[L]=ne[j]=ne[F]=ne[B]=ne[V]=!0,ne[f]=ne[g]=ne[A]=ne[m]=ne[M]=ne[b]=ne[y]=ne[v]=ne[w]=ne[x]=ne[S]=ne[E]=ne[O]=ne[T]=ne[P]=!1;var ie={};ie[f]=ie[g]=ie[A]=ie[M]=ie[m]=ie[b]=ie[I]=ie[D]=ie[R]=ie[N]=ie[L]=ie[w]=ie[x]=ie[S]=ie[E]=ie[O]=ie[T]=ie[k]=ie[j]=ie[F]=ie[B]=ie[V]=!0,ie[y]=ie[v]=ie[P]=!1;var re={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},se=parseFloat,oe=parseInt,ae="object"==typeof global&&global&&global.Object===Object&&global,le="object"==typeof self&&self&&self.Object===Object&&self,ce=ae||le||Function("return this")(),ue=e&&!e.nodeType&&e,he=ue&&t&&!t.nodeType&&t,de=he&&he.exports===ue,pe=de&&ae.process,fe=function(){try{return he&&he.require&&he.require("util").types||pe&&pe.binding&&pe.binding("util")}catch(t){}}(),ge=fe&&fe.isArrayBuffer,me=fe&&fe.isDate,be=fe&&fe.isMap,ye=fe&&fe.isRegExp,ve=fe&&fe.isSet,_e=fe&&fe.isTypedArray;function we(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function xe(t,e,n,i){for(var r=-1,s=null==t?0:t.length;++r-1}function ke(t,e,n){for(var i=-1,r=null==t?0:t.length;++i-1;);return n}function Qe(t,e){for(var n=t.length;n--&&je(e,t[n],0)>-1;);return n}function Ze(t,e){for(var n=t.length,i=0;n--;)t[n]===e&&++i;return i}var Je=Ue({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),tn=Ue({"&":"&","<":"<",">":">",'"':""","'":"'"});function en(t){return"\\"+re[t]}function nn(t){return Zt.test(t)}function rn(t){var e=-1,n=Array(t.size);return t.forEach(function(t,i){n[++e]=[i,t]}),n}function sn(t,e){return function(n){return t(e(n))}}function on(t,e){for(var n=-1,i=t.length,r=0,s=[];++n",""":'"',"'":"'"}),dn=function t(e){var n,i=(e=null==e?ce:dn.defaults(ce.Object(),e,dn.pick(ce,te))).Array,it=e.Date,_t=e.Error,wt=e.Function,xt=e.Math,St=e.Object,Ct=e.RegExp,Et=e.String,Ot=e.TypeError,Tt=i.prototype,kt=St.prototype,Pt=e["__core-js_shared__"],At=wt.prototype.toString,Mt=kt.hasOwnProperty,It=0,Dt=(n=/[^.]+$/.exec(Pt&&Pt.keys&&Pt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Rt=kt.toString,Nt=At.call(St),Lt=ce._,jt=Ct("^"+At.call(Mt).replace(tt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ft=de?e.Buffer:r,Bt=e.Symbol,Vt=e.Uint8Array,zt=Ft?Ft.allocUnsafe:r,Ut=sn(St.getPrototypeOf,St),Ht=St.create,$t=kt.propertyIsEnumerable,Gt=Tt.splice,Wt=Bt?Bt.isConcatSpreadable:r,qt=Bt?Bt.iterator:r,Kt=Bt?Bt.toStringTag:r,Zt=function(){try{var t=os(St,"defineProperty");return t({},"",{}),t}catch(Ms){}}(),re=e.clearTimeout!==ce.clearTimeout&&e.clearTimeout,ae=it&&it.now!==ce.Date.now&&it.now,le=e.setTimeout!==ce.setTimeout&&e.setTimeout,ue=xt.ceil,he=xt.floor,pe=St.getOwnPropertySymbols,fe=Ft?Ft.isBuffer:r,Re=e.isFinite,Ue=Tt.join,pn=sn(St.keys,St),fn=xt.max,gn=xt.min,mn=it.now,bn=e.parseInt,yn=xt.random,vn=Tt.reverse,_n=os(e,"DataView"),wn=os(e,"Map"),xn=os(e,"Promise"),Sn=os(e,"Set"),Cn=os(e,"WeakMap"),En=os(St,"create"),On=Cn&&new Cn,Tn={},kn=Ns(_n),Pn=Ns(wn),An=Ns(xn),Mn=Ns(Sn),In=Ns(Cn),Dn=Bt?Bt.prototype:r,Rn=Dn?Dn.valueOf:r,Nn=Dn?Dn.toString:r;function Ln(t){if(Jo(t)&&!Uo(t)&&!(t instanceof Vn)){if(t instanceof Bn)return t;if(Mt.call(t,"__wrapped__"))return Ls(t)}return new Bn(t)}var jn=function(){function t(){}return function(e){if(!Zo(e))return{};if(Ht)return Ht(e);t.prototype=e;var n=new t;return t.prototype=r,n}}();function Fn(){}function Bn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=r}function Vn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function ri(t,e,n,i,s,o){var a,l=1&e,c=2&e,u=4&e;if(n&&(a=s?n(t,i,s,o):n(t)),a!==r)return a;if(!Zo(t))return t;var h=Uo(t);if(h){if(a=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Mt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!l)return Cr(t,a)}else{var d=cs(t),p=d==v||d==_;if(Wo(t))return yr(t,l);if(d==S||d==f||p&&!s){if(a=c||p?{}:hs(t),!l)return c?function(t,e){return Er(t,ls(t),e)}(t,function(t,e){return t&&Er(e,Aa(e),t)}(a,t)):function(t,e){return Er(t,as(t),e)}(t,ti(a,t))}else{if(!ie[d])return s?t:{};a=function(t,e,n){var i=t.constructor;switch(e){case A:return vr(t);case m:case b:return new i(+t);case M:return function(t,e){var n=e?vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case I:case D:case R:case N:case L:case j:case F:case B:case V:return _r(t,n);case w:return new i;case x:case T:return new i(t);case E:return function(t){var e=new t.constructor(t.source,ht.exec(t));return e.lastIndex=t.lastIndex,e}(t);case O:return new i;case k:return function(t){return Rn?St(Rn.call(t)):{}}(t)}}(t,d,l)}}o||(o=new Gn);var g=o.get(t);if(g)return g;o.set(t,a),ra(t)?t.forEach(function(i){a.add(ri(i,e,n,i,t,o))}):ta(t)&&t.forEach(function(i,r){a.set(r,ri(i,e,n,r,t,o))});var y=h?r:(u?c?Jr:Zr:c?Aa:Pa)(t);return Se(y||t,function(i,r){y&&(i=t[r=i]),Qn(a,r,ri(i,e,n,r,t,o))}),a}function si(t,e,n){var i=n.length;if(null==t)return!i;for(t=St(t);i--;){var s=n[i],o=t[s];if(o===r&&!(s in t)||!(0,e[s])(o))return!1}return!0}function oi(t,e,n){if("function"!=typeof t)throw new Ot(s);return Os(function(){t.apply(r,n)},e)}function ai(t,e,n,i){var r=-1,s=Te,o=!0,a=t.length,l=[],c=e.length;if(!a)return l;n&&(e=Pe(e,qe(n))),i?(s=ke,o=!1):e.length>=200&&(s=Xe,o=!1,e=new $n(e));t:for(;++r-1},Un.prototype.set=function(t,e){var n=this.__data__,i=Zn(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this},Hn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(wn||Un),string:new zn}},Hn.prototype.delete=function(t){var e=rs(this,t).delete(t);return this.size-=e?1:0,e},Hn.prototype.get=function(t){return rs(this,t).get(t)},Hn.prototype.has=function(t){return rs(this,t).has(t)},Hn.prototype.set=function(t,e){var n=rs(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this},$n.prototype.add=$n.prototype.push=function(t){return this.__data__.set(t,o),this},$n.prototype.has=function(t){return this.__data__.has(t)},Gn.prototype.clear=function(){this.__data__=new Un,this.size=0},Gn.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Gn.prototype.get=function(t){return this.__data__.get(t)},Gn.prototype.has=function(t){return this.__data__.has(t)},Gn.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Un){var i=n.__data__;if(!wn||i.length<199)return i.push([t,e]),this.size=++n.size,this;n=this.__data__=new Hn(i)}return n.set(t,e),this.size=n.size,this};var li=kr(mi),ci=kr(bi,!0);function ui(t,e){var n=!0;return li(t,function(t,i,r){return n=!!e(t,i,r)}),n}function hi(t,e,n){for(var i=-1,s=t.length;++i0&&n(a)?e>1?pi(a,e-1,n,i,r):Ae(r,a):i||(r[r.length]=a)}return r}var fi=Pr(),gi=Pr(!0);function mi(t,e){return t&&fi(t,e,Pa)}function bi(t,e){return t&&gi(t,e,Pa)}function yi(t,e){return Oe(e,function(e){return Xo(t[e])})}function vi(t,e){for(var n=0,i=(e=fr(e,t)).length;null!=t&&ne}function Si(t,e){return null!=t&&Mt.call(t,e)}function Ci(t,e){return null!=t&&e in St(t)}function Ei(t,e,n){for(var s=n?ke:Te,o=t[0].length,a=t.length,l=a,c=i(a),u=1/0,h=[];l--;){var d=t[l];l&&e&&(d=Pe(d,qe(e))),u=gn(d.length,u),c[l]=!n&&(e||o>=120&&d.length>=120)?new $n(l&&d):r}d=t[0];var p=-1,f=c[0];t:for(;++p=a?l:l*("desc"==n[i]?-1:1)}return t.index-e.index}(t,e,n)});i--;)t[i]=t[i].value;return t}(Ri(t,function(t,n,r){return{criteria:Pe(e,function(e){return e(t)}),index:++i,value:t}}))}function Vi(t,e,n){for(var i=-1,r=e.length,s={};++i-1;)a!==t&&Gt.call(a,l,1),Gt.call(t,l,1);return t}function Ui(t,e){for(var n=t?e.length:0,i=n-1;n--;){var r=e[n];if(n==i||r!==s){var s=r;ps(r)?Gt.call(t,r,1):or(t,r)}}return t}function Hi(t,e){return t+he(yn()*(e-t+1))}function $i(t,e){var n="";if(!t||e<1||e>h)return n;do{e%2&&(n+=t),(e=he(e/2))&&(t+=t)}while(e);return n}function Gi(t,e){return Ts(ws(t,e,el),t+"")}function Wi(t){return qn(Fa(t))}function qi(t,e){var n=Fa(t);return As(n,ii(e,0,n.length))}function Yi(t,e,n,i){if(!Zo(t))return t;for(var s=-1,o=(e=fr(e,t)).length,a=o-1,l=t;null!=l&&++ss?0:s+e),(n=n>s?s:n)<0&&(n+=s),s=e>n?0:n-e>>>0,e>>>=0;for(var o=i(s);++r>>1,o=t[s];null!==o&&!oa(o)&&(n?o<=e:o=200){var c=e?null:$r(t);if(c)return an(c);o=!1,r=Xe,l=new $n}else l=e?[]:a;t:for(;++i=i?t:Zi(t,e,n)}var br=re||function(t){return ce.clearTimeout(t)};function yr(t,e){if(e)return t.slice();var n=t.length,i=zt?zt(n):new t.constructor(n);return t.copy(i),i}function vr(t){var e=new t.constructor(t.byteLength);return new Vt(e).set(new Vt(t)),e}function _r(t,e){var n=e?vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function wr(t,e){if(t!==e){var n=t!==r,i=null===t,s=t==t,o=oa(t),a=e!==r,l=null===e,c=e==e,u=oa(e);if(!l&&!u&&!o&&t>e||o&&a&&c&&!l&&!u||i&&a&&c||!n&&c||!s)return 1;if(!i&&!o&&!u&&t1?n[s-1]:r,a=s>2?n[2]:r;for(o=t.length>3&&"function"==typeof o?(s--,o):r,a&&fs(n[0],n[1],a)&&(o=s<3?r:o,s=1),e=St(e);++i-1?s[o?e[a]:a]:r}}function Rr(t){return Qr(function(e){var n=e.length,i=n,o=Bn.prototype.thru;for(t&&e.reverse();i--;){var a=e[i];if("function"!=typeof a)throw new Ot(s);if(o&&!l&&"wrapper"==es(a))var l=new Bn([],!0)}for(i=l?i:n;++i1&&v.reverse(),p&&hl))return!1;var u=o.get(t),h=o.get(e);if(u&&h)return u==e&&h==t;var d=-1,p=!0,f=2&n?new $n:r;for(o.set(t,e),o.set(e,t);++d-1&&t%1==0&&t1?"& ":"")+e[i],e=e.join(n>2?", ":" "),t.replace(rt,"{\n/* [wrapped with "+e+"] */\n")}(i,function(t,e){return Se(p,function(n){var i="_."+n[0];e&n[1]&&!Te(t,i)&&t.push(i)}),t.sort()}(function(t){var e=t.match(st);return e?e[1].split(ot):[]}(i),n)))}function Ps(t){var e=0,n=0;return function(){var i=mn(),s=16-(i-n);if(n=i,s>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(r,arguments)}}function As(t,e){var n=-1,i=t.length,s=i-1;for(e=e===r?i:e;++n1?t[e-1]:r;return n="function"==typeof n?(t.pop(),n):r,no(t,n)});function co(t){var e=Ln(t);return e.__chain__=!0,e}function uo(t,e){return e(t)}var ho=Qr(function(t){var e=t.length,n=e?t[0]:0,i=this.__wrapped__,s=function(e){return ni(e,t)};return!(e>1||this.__actions__.length)&&i instanceof Vn&&ps(n)?((i=i.slice(n,+n+(e?1:0))).__actions__.push({func:uo,args:[s],thisArg:r}),new Bn(i,this.__chain__).thru(function(t){return e&&!t.length&&t.push(r),t})):this.thru(s)}),po=Or(function(t,e,n){Mt.call(t,n)?++t[n]:ei(t,n,1)}),fo=Dr(Vs),go=Dr(zs);function mo(t,e){return(Uo(t)?Se:li)(t,is(e,3))}function bo(t,e){return(Uo(t)?Ce:ci)(t,is(e,3))}var yo=Or(function(t,e,n){Mt.call(t,n)?t[n].push(e):ei(t,n,[e])}),vo=Gi(function(t,e,n){var r=-1,s="function"==typeof e,o=$o(t)?i(t.length):[];return li(t,function(t){o[++r]=s?we(e,t,n):Oi(t,e,n)}),o}),_o=Or(function(t,e,n){ei(t,n,e)});function wo(t,e){return(Uo(t)?Pe:Ri)(t,is(e,3))}var xo=Or(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),So=Gi(function(t,e){if(null==t)return[];var n=e.length;return n>1&&fs(t,e[0],e[1])?e=[]:n>2&&fs(e[0],e[1],e[2])&&(e=[e[0]]),Bi(t,pi(e,1),[])}),Co=ae||function(){return ce.Date.now()};function Eo(t,e,n){return e=n?r:e,Wr(t,c,r,r,r,r,e=t&&null==e?t.length:e)}function Oo(t,e){var n;if("function"!=typeof e)throw new Ot(s);return t=da(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=r),n}}var To=Gi(function(t,e,n){var i=1;if(n.length){var r=on(n,ns(To));i|=l}return Wr(t,i,e,n,r)}),ko=Gi(function(t,e,n){var i=3;if(n.length){var r=on(n,ns(ko));i|=l}return Wr(e,i,t,n,r)});function Po(t,e,n){var i,o,a,l,c,u,h=0,d=!1,p=!1,f=!0;if("function"!=typeof t)throw new Ot(s);function g(e){var n=i,s=o;return i=o=r,h=e,l=t.apply(s,n)}function m(t){return h=t,c=Os(y,e),d?g(t):l}function b(t){var n=t-u;return u===r||n>=e||n<0||p&&t-h>=a}function y(){var t=Co();if(b(t))return v(t);c=Os(y,function(t){var n=e-(t-u);return p?gn(n,a-(t-h)):n}(t))}function v(t){return c=r,f&&i?g(t):(i=o=r,l)}function _(){var t=Co(),n=b(t);if(i=arguments,o=this,u=t,n){if(c===r)return m(u);if(p)return br(c),c=Os(y,e),g(u)}return c===r&&(c=Os(y,e)),l}return e=fa(e)||0,Zo(n)&&(d=!!n.leading,a=(p="maxWait"in n)?fn(fa(n.maxWait)||0,e):a,f="trailing"in n?!!n.trailing:f),_.cancel=function(){c!==r&&br(c),h=0,i=u=o=c=r},_.flush=function(){return c===r?l:v(Co())},_}var Ao=Gi(function(t,e){return oi(t,1,e)}),Mo=Gi(function(t,e,n){return oi(t,fa(e)||0,n)});function Io(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new Ot(s);var n=function(){var i=arguments,r=e?e.apply(this,i):i[0],s=n.cache;if(s.has(r))return s.get(r);var o=t.apply(this,i);return n.cache=s.set(r,o)||s,o};return n.cache=new(Io.Cache||Hn),n}function Do(t){if("function"!=typeof t)throw new Ot(s);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Io.Cache=Hn;var Ro=gr(function(t,e){var n=(e=1==e.length&&Uo(e[0])?Pe(e[0],qe(is())):Pe(pi(e,1),qe(is()))).length;return Gi(function(i){for(var r=-1,s=gn(i.length,n);++r=e}),zo=Ti(function(){return arguments}())?Ti:function(t){return Jo(t)&&Mt.call(t,"callee")&&!$t.call(t,"callee")},Uo=i.isArray,Ho=ge?qe(ge):function(t){return Jo(t)&&wi(t)==A};function $o(t){return null!=t&&Qo(t.length)&&!Xo(t)}function Go(t){return Jo(t)&&$o(t)}var Wo=fe||fl,qo=me?qe(me):function(t){return Jo(t)&&wi(t)==b};function Yo(t){if(!Jo(t))return!1;var e=wi(t);return e==y||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!na(t)}function Xo(t){if(!Zo(t))return!1;var e=wi(t);return e==v||e==_||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Ko(t){return"number"==typeof t&&t==da(t)}function Qo(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=h}function Zo(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Jo(t){return null!=t&&"object"==typeof t}var ta=be?qe(be):function(t){return Jo(t)&&cs(t)==w};function ea(t){return"number"==typeof t||Jo(t)&&wi(t)==x}function na(t){if(!Jo(t)||wi(t)!=S)return!1;var e=Ut(t);if(null===e)return!0;var n=Mt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&At.call(n)==Nt}var ia=ye?qe(ye):function(t){return Jo(t)&&wi(t)==E},ra=ve?qe(ve):function(t){return Jo(t)&&cs(t)==O};function sa(t){return"string"==typeof t||!Uo(t)&&Jo(t)&&wi(t)==T}function oa(t){return"symbol"==typeof t||Jo(t)&&wi(t)==k}var aa=_e?qe(_e):function(t){return Jo(t)&&Qo(t.length)&&!!ne[wi(t)]},la=zr(Di),ca=zr(function(t,e){return t<=e});function ua(t){if(!t)return[];if($o(t))return sa(t)?cn(t):Cr(t);if(qt&&t[qt])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[qt]());var e=cs(t);return(e==w?rn:e==O?an:Fa)(t)}function ha(t){return t?(t=fa(t))===u||t===-u?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function da(t){var e=ha(t),n=e%1;return e==e?n?e-n:e:0}function pa(t){return t?ii(da(t),0,d):0}function fa(t){if("number"==typeof t)return t;if(oa(t))return NaN;if(Zo(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Zo(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=We(t);var n=pt.test(t);return n||gt.test(t)?oe(t.slice(2),n?2:8):dt.test(t)?NaN:+t}function ga(t){return Er(t,Aa(t))}function ma(t){return null==t?"":rr(t)}var ba=Tr(function(t,e){if(ys(e)||$o(e))Er(e,Pa(e),t);else for(var n in e)Mt.call(e,n)&&Qn(t,n,e[n])}),ya=Tr(function(t,e){Er(e,Aa(e),t)}),va=Tr(function(t,e,n,i){Er(e,Aa(e),t,i)}),_a=Tr(function(t,e,n,i){Er(e,Pa(e),t,i)}),wa=Qr(ni),xa=Gi(function(t,e){t=St(t);var n=-1,i=e.length,s=i>2?e[2]:r;for(s&&fs(e[0],e[1],s)&&(i=1);++n1),e}),Er(t,Jr(t),n),i&&(n=ri(n,7,Xr));for(var r=e.length;r--;)or(n,e[r]);return n}),Ra=Qr(function(t,e){return null==t?{}:function(t,e){return Vi(t,e,function(e,n){return Ea(t,n)})}(t,e)});function Na(t,e){if(null==t)return{};var n=Pe(Jr(t),function(t){return[t]});return e=is(e),Vi(t,n,function(t,n){return e(t,n[0])})}var La=Gr(Pa),ja=Gr(Aa);function Fa(t){return null==t?[]:Ye(t,Pa(t))}var Ba=Mr(function(t,e,n){return e=e.toLowerCase(),t+(n?Va(e):e)});function Va(t){return Ya(ma(t).toLowerCase())}function za(t){return(t=ma(t))&&t.replace(bt,Je).replace(Xt,"")}var Ua=Mr(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Ha=Mr(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),$a=Ar("toLowerCase"),Ga=Mr(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Wa=Mr(function(t,e,n){return t+(n?" ":"")+Ya(e)}),qa=Mr(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Ya=Ar("toUpperCase");function Xa(t,e,n){return t=ma(t),(e=n?r:e)===r?function(t){return Jt.test(t)}(t)?function(t){return t.match(Qt)||[]}(t):function(t){return t.match(at)||[]}(t):t.match(e)||[]}var Ka=Gi(function(t,e){try{return we(t,r,e)}catch(Is){return Yo(Is)?Is:new _t(Is)}}),Qa=Qr(function(t,e){return Se(e,function(e){e=Rs(e),ei(t,e,To(t[e],t))}),t});function Za(t){return function(){return t}}var Ja=Rr(),tl=Rr(!0);function el(t){return t}function nl(t){return Mi("function"==typeof t?t:ri(t,1))}var il=Gi(function(t,e){return function(n){return Oi(n,t,e)}}),rl=Gi(function(t,e){return function(n){return Oi(t,n,e)}});function sl(t,e,n){var i=Pa(e),r=yi(e,i);null==n&&(!Zo(e)||!r.length&&i.length)&&(n=e,e=t,t=this,r=yi(e,Pa(e)));var s=!(Zo(n)&&"chain"in n&&!n.chain),o=Xo(t);return Se(r,function(n){var i=e[n];t[n]=i,o&&(t.prototype[n]=function(){var e=this.__chain__;if(s||e){var n=t(this.__wrapped__),r=n.__actions__=Cr(this.__actions__);return r.push({func:i,args:arguments,thisArg:t}),n.__chain__=e,n}return i.apply(t,Ae([this.value()],arguments))})}),t}function ol(){}var al=Fr(Pe),ll=Fr(Ee),cl=Fr(De);function ul(t){return gs(t)?ze(Rs(t)):function(t){return function(e){return vi(e,t)}}(t)}var hl=Vr(),dl=Vr(!0);function pl(){return[]}function fl(){return!1}var gl=jr(function(t,e){return t+e},0),ml=Hr("ceil"),bl=jr(function(t,e){return t/e},1),yl=Hr("floor"),vl=jr(function(t,e){return t*e},1),_l=Hr("round"),wl=jr(function(t,e){return t-e},0);return Ln.after=function(t,e){if("function"!=typeof e)throw new Ot(s);return t=da(t),function(){if(--t<1)return e.apply(this,arguments)}},Ln.ary=Eo,Ln.assign=ba,Ln.assignIn=ya,Ln.assignInWith=va,Ln.assignWith=_a,Ln.at=wa,Ln.before=Oo,Ln.bind=To,Ln.bindAll=Qa,Ln.bindKey=ko,Ln.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return Uo(t)?t:[t]},Ln.chain=co,Ln.chunk=function(t,e,n){e=(n?fs(t,e,n):e===r)?1:fn(da(e),0);var s=null==t?0:t.length;if(!s||e<1)return[];for(var o=0,a=0,l=i(ue(s/e));os?0:s+n),(i=i===r||i>s?s:da(i))<0&&(i+=s),i=n>i?0:pa(i);n>>0)?(t=ma(t))&&("string"==typeof e||null!=e&&!ia(e))&&!(e=rr(e))&&nn(t)?mr(cn(t),0,n):t.split(e,n):[]},Ln.spread=function(t,e){if("function"!=typeof t)throw new Ot(s);return e=null==e?0:fn(da(e),0),Gi(function(n){var i=n[e],r=mr(n,0,e);return i&&Ae(r,i),we(t,this,r)})},Ln.tail=function(t){var e=null==t?0:t.length;return e?Zi(t,1,e):[]},Ln.take=function(t,e,n){return t&&t.length?Zi(t,0,(e=n||e===r?1:da(e))<0?0:e):[]},Ln.takeRight=function(t,e,n){var i=null==t?0:t.length;return i?Zi(t,(e=i-(e=n||e===r?1:da(e)))<0?0:e,i):[]},Ln.takeRightWhile=function(t,e){return t&&t.length?lr(t,is(e,3),!1,!0):[]},Ln.takeWhile=function(t,e){return t&&t.length?lr(t,is(e,3)):[]},Ln.tap=function(t,e){return e(t),t},Ln.throttle=function(t,e,n){var i=!0,r=!0;if("function"!=typeof t)throw new Ot(s);return Zo(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),Po(t,e,{leading:i,maxWait:e,trailing:r})},Ln.thru=uo,Ln.toArray=ua,Ln.toPairs=La,Ln.toPairsIn=ja,Ln.toPath=function(t){return Uo(t)?Pe(t,Rs):oa(t)?[t]:Cr(Ds(ma(t)))},Ln.toPlainObject=ga,Ln.transform=function(t,e,n){var i=Uo(t),r=i||Wo(t)||aa(t);if(e=is(e,4),null==n){var s=t&&t.constructor;n=r?i?new s:[]:Zo(t)&&Xo(s)?jn(Ut(t)):{}}return(r?Se:mi)(t,function(t,i,r){return e(n,t,i,r)}),n},Ln.unary=function(t){return Eo(t,1)},Ln.union=Zs,Ln.unionBy=Js,Ln.unionWith=to,Ln.uniq=function(t){return t&&t.length?sr(t):[]},Ln.uniqBy=function(t,e){return t&&t.length?sr(t,is(e,2)):[]},Ln.uniqWith=function(t,e){return e="function"==typeof e?e:r,t&&t.length?sr(t,r,e):[]},Ln.unset=function(t,e){return null==t||or(t,e)},Ln.unzip=eo,Ln.unzipWith=no,Ln.update=function(t,e,n){return null==t?t:ar(t,e,pr(n))},Ln.updateWith=function(t,e,n,i){return i="function"==typeof i?i:r,null==t?t:ar(t,e,pr(n),i)},Ln.values=Fa,Ln.valuesIn=function(t){return null==t?[]:Ye(t,Aa(t))},Ln.without=io,Ln.words=Xa,Ln.wrap=function(t,e){return No(pr(e),t)},Ln.xor=ro,Ln.xorBy=so,Ln.xorWith=oo,Ln.zip=ao,Ln.zipObject=function(t,e){return hr(t||[],e||[],Qn)},Ln.zipObjectDeep=function(t,e){return hr(t||[],e||[],Yi)},Ln.zipWith=lo,Ln.entries=La,Ln.entriesIn=ja,Ln.extend=ya,Ln.extendWith=va,sl(Ln,Ln),Ln.add=gl,Ln.attempt=Ka,Ln.camelCase=Ba,Ln.capitalize=Va,Ln.ceil=ml,Ln.clamp=function(t,e,n){return n===r&&(n=e,e=r),n!==r&&(n=(n=fa(n))==n?n:0),e!==r&&(e=(e=fa(e))==e?e:0),ii(fa(t),e,n)},Ln.clone=function(t){return ri(t,4)},Ln.cloneDeep=function(t){return ri(t,5)},Ln.cloneDeepWith=function(t,e){return ri(t,5,e="function"==typeof e?e:r)},Ln.cloneWith=function(t,e){return ri(t,4,e="function"==typeof e?e:r)},Ln.conformsTo=function(t,e){return null==e||si(t,e,Pa(e))},Ln.deburr=za,Ln.defaultTo=function(t,e){return null==t||t!=t?e:t},Ln.divide=bl,Ln.endsWith=function(t,e,n){t=ma(t),e=rr(e);var i=t.length,s=n=n===r?i:ii(da(n),0,i);return(n-=e.length)>=0&&t.slice(n,s)==e},Ln.eq=Fo,Ln.escape=function(t){return(t=ma(t))&&q.test(t)?t.replace(G,tn):t},Ln.escapeRegExp=function(t){return(t=ma(t))&&et.test(t)?t.replace(tt,"\\$&"):t},Ln.every=function(t,e,n){var i=Uo(t)?Ee:ui;return n&&fs(t,e,n)&&(e=r),i(t,is(e,3))},Ln.find=fo,Ln.findIndex=Vs,Ln.findKey=function(t,e){return Ne(t,is(e,3),mi)},Ln.findLast=go,Ln.findLastIndex=zs,Ln.findLastKey=function(t,e){return Ne(t,is(e,3),bi)},Ln.floor=yl,Ln.forEach=mo,Ln.forEachRight=bo,Ln.forIn=function(t,e){return null==t?t:fi(t,is(e,3),Aa)},Ln.forInRight=function(t,e){return null==t?t:gi(t,is(e,3),Aa)},Ln.forOwn=function(t,e){return t&&mi(t,is(e,3))},Ln.forOwnRight=function(t,e){return t&&bi(t,is(e,3))},Ln.get=Ca,Ln.gt=Bo,Ln.gte=Vo,Ln.has=function(t,e){return null!=t&&us(t,e,Si)},Ln.hasIn=Ea,Ln.head=Hs,Ln.identity=el,Ln.includes=function(t,e,n,i){t=$o(t)?t:Fa(t),n=n&&!i?da(n):0;var r=t.length;return n<0&&(n=fn(r+n,0)),sa(t)?n<=r&&t.indexOf(e,n)>-1:!!r&&je(t,e,n)>-1},Ln.indexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var r=null==n?0:da(n);return r<0&&(r=fn(i+r,0)),je(t,e,r)},Ln.inRange=function(t,e,n){return e=ha(e),n===r?(n=e,e=0):n=ha(n),function(t,e,n){return t>=gn(e,n)&&t=-h&&t<=h},Ln.isSet=ra,Ln.isString=sa,Ln.isSymbol=oa,Ln.isTypedArray=aa,Ln.isUndefined=function(t){return t===r},Ln.isWeakMap=function(t){return Jo(t)&&cs(t)==P},Ln.isWeakSet=function(t){return Jo(t)&&"[object WeakSet]"==wi(t)},Ln.join=function(t,e){return null==t?"":Ue.call(t,e)},Ln.kebabCase=Ua,Ln.last=qs,Ln.lastIndexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var s=i;return n!==r&&(s=(s=da(n))<0?fn(i+s,0):gn(s,i-1)),e==e?function(t,e,n){for(var i=n+1;i--;)if(t[i]===e)return i;return i}(t,e,s):Le(t,Be,s,!0)},Ln.lowerCase=Ha,Ln.lowerFirst=$a,Ln.lt=la,Ln.lte=ca,Ln.max=function(t){return t&&t.length?hi(t,el,xi):r},Ln.maxBy=function(t,e){return t&&t.length?hi(t,is(e,2),xi):r},Ln.mean=function(t){return Ve(t,el)},Ln.meanBy=function(t,e){return Ve(t,is(e,2))},Ln.min=function(t){return t&&t.length?hi(t,el,Di):r},Ln.minBy=function(t,e){return t&&t.length?hi(t,is(e,2),Di):r},Ln.stubArray=pl,Ln.stubFalse=fl,Ln.stubObject=function(){return{}},Ln.stubString=function(){return""},Ln.stubTrue=function(){return!0},Ln.multiply=vl,Ln.nth=function(t,e){return t&&t.length?Fi(t,da(e)):r},Ln.noConflict=function(){return ce._===this&&(ce._=Lt),this},Ln.noop=ol,Ln.now=Co,Ln.pad=function(t,e,n){t=ma(t);var i=(e=da(e))?ln(t):0;if(!e||i>=e)return t;var r=(e-i)/2;return Br(he(r),n)+t+Br(ue(r),n)},Ln.padEnd=function(t,e,n){t=ma(t);var i=(e=da(e))?ln(t):0;return e&&ie){var i=t;t=e,e=i}if(n||t%1||e%1){var s=yn();return gn(t+s*(e-t+se("1e-"+((s+"").length-1))),e)}return Hi(t,e)},Ln.reduce=function(t,e,n){var i=Uo(t)?Me:He,r=arguments.length<3;return i(t,is(e,4),n,r,li)},Ln.reduceRight=function(t,e,n){var i=Uo(t)?Ie:He,r=arguments.length<3;return i(t,is(e,4),n,r,ci)},Ln.repeat=function(t,e,n){return e=(n?fs(t,e,n):e===r)?1:da(e),$i(ma(t),e)},Ln.replace=function(){var t=arguments,e=ma(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Ln.result=function(t,e,n){var i=-1,s=(e=fr(e,t)).length;for(s||(s=1,t=r);++ih)return[];var n=d,i=gn(t,d);e=is(e),t-=d;for(var r=Ge(i,e);++n=o)return t;var l=n-ln(i);if(l<1)return i;var c=a?mr(a,0,l).join(""):t.slice(0,l);if(s===r)return c+i;if(a&&(l+=c.length-l),ia(s)){if(t.slice(l).search(s)){var u,h=c;for(s.global||(s=Ct(s.source,ma(ht.exec(s))+"g")),s.lastIndex=0;u=s.exec(h);)var d=u.index;c=c.slice(0,d===r?l:d)}}else if(t.indexOf(rr(s),l)!=l){var p=c.lastIndexOf(s);p>-1&&(c=c.slice(0,p))}return c+i},Ln.unescape=function(t){return(t=ma(t))&&W.test(t)?t.replace($,hn):t},Ln.uniqueId=function(t){var e=++It;return ma(t)+e},Ln.upperCase=qa,Ln.upperFirst=Ya,Ln.each=mo,Ln.eachRight=bo,Ln.first=Hs,sl(Ln,function(){var t={};return mi(Ln,function(e,n){Mt.call(Ln.prototype,n)||(t[n]=e)}),t}(),{chain:!1}),Ln.VERSION="4.17.21",Se(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){Ln[t].placeholder=Ln}),Se(["drop","take"],function(t,e){Vn.prototype[t]=function(n){n=n===r?1:fn(da(n),0);var i=this.__filtered__&&!e?new Vn(this):this.clone();return i.__filtered__?i.__takeCount__=gn(n,i.__takeCount__):i.__views__.push({size:gn(n,d),type:t+(i.__dir__<0?"Right":"")}),i},Vn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Se(["filter","map","takeWhile"],function(t,e){var n=e+1,i=1==n||3==n;Vn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:is(t,3),type:n}),e.__filtered__=e.__filtered__||i,e}}),Se(["head","last"],function(t,e){var n="take"+(e?"Right":"");Vn.prototype[t]=function(){return this[n](1).value()[0]}}),Se(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");Vn.prototype[t]=function(){return this.__filtered__?new Vn(this):this[n](1)}}),Vn.prototype.compact=function(){return this.filter(el)},Vn.prototype.find=function(t){return this.filter(t).head()},Vn.prototype.findLast=function(t){return this.reverse().find(t)},Vn.prototype.invokeMap=Gi(function(t,e){return"function"==typeof t?new Vn(this):this.map(function(n){return Oi(n,t,e)})}),Vn.prototype.reject=function(t){return this.filter(Do(is(t)))},Vn.prototype.slice=function(t,e){t=da(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Vn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==r&&(n=(e=da(e))<0?n.dropRight(-e):n.take(e-t)),n)},Vn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Vn.prototype.toArray=function(){return this.take(d)},mi(Vn.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),s=Ln[i?"take"+("last"==e?"Right":""):e],o=i||/^find/.test(e);!s||(Ln.prototype[e]=function(){var e=this.__wrapped__,a=i?[1]:arguments,l=e instanceof Vn,c=a[0],u=l||Uo(e),h=function(t){var e=s.apply(Ln,Ae([t],a));return i&&d?e[0]:e};u&&n&&"function"==typeof c&&1!=c.length&&(l=u=!1);var d=this.__chain__,p=!!this.__actions__.length,f=o&&!d,g=l&&!p;if(!o&&u){e=g?e:new Vn(this);var m=t.apply(e,a);return m.__actions__.push({func:uo,args:[h],thisArg:r}),new Bn(m,d)}return f&&g?t.apply(this,a):(m=this.thru(h),f?i?m.value()[0]:m.value():m)})}),Se(["pop","push","shift","sort","splice","unshift"],function(t){var e=Tt[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:pop|shift)$/.test(t);Ln.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var r=this.value();return e.apply(Uo(r)?r:[],t)}return this[n](function(n){return e.apply(Uo(n)?n:[],t)})}}),mi(Vn.prototype,function(t,e){var n=Ln[e];if(n){var i=n.name+"";Mt.call(Tn,i)||(Tn[i]=[]),Tn[i].push({name:e,func:n})}}),Tn[Nr(r,2).name]=[{name:"wrapper",func:r}],Vn.prototype.clone=function(){var t=new Vn(this.__wrapped__);return t.__actions__=Cr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Cr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Cr(this.__views__),t},Vn.prototype.reverse=function(){if(this.__filtered__){var t=new Vn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Vn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=Uo(t),i=e<0,r=n?t.length:0,s=function(t,e,n){for(var i=-1,r=n.length;++i=this.__values__.length;return{done:t,value:t?r:this.__values__[this.__index__++]}},Ln.prototype.plant=function(t){for(var e,n=this;n instanceof Fn;){var i=Ls(n);i.__index__=0,i.__values__=r,e?s.__wrapped__=i:e=i;var s=i;n=n.__wrapped__}return s.__wrapped__=t,e},Ln.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Vn){var e=t;return this.__actions__.length&&(e=new Vn(this)),(e=e.reverse()).__actions__.push({func:uo,args:[Qs],thisArg:r}),new Bn(e,this.__chain__)}return this.thru(Qs)},Ln.prototype.toJSON=Ln.prototype.valueOf=Ln.prototype.value=function(){return cr(this.__wrapped__,this.__actions__)},Ln.prototype.first=Ln.prototype.head,qt&&(Ln.prototype[qt]=function(){return this}),Ln}();ce._=dn,(i=(function(){return dn}).call(e,n,e,t))!==r&&(t.exports=i)}).call(this)},5478:function(t){t.exports=function(){"use strict";function t(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,i=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i={exports:{}};function r(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}i.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:r,changeDefaults:function(t){i.exports.defaults=t}};var s=/[&<>"']/,o=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,l=/[<>"']|&(?!#?\w+;)/g,c={"&":"&","<":"<",">":">",'"':""","'":"'"},u=function(t){return c[t]};var h=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function d(t){return t.replace(h,function(t,e){return"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""})}var p=/(^|[^\[])\^/g;var f=/[^\w:]/g,g=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var m={},b=/^[^:]+:\/*[^/]*$/,y=/^([^:]+:)[\s\S]*$/,v=/^([^:]+:\/*[^/]*)[\s\S]*$/;function _(t,e){m[" "+t]||(m[" "+t]=b.test(t)?t+"/":w(t,"/",!0));var n=-1===(t=m[" "+t]).indexOf(":");return"//"===e.substring(0,2)?n?e:t.replace(y,"$1")+e:"/"===e.charAt(0)?n?e:t.replace(v,"$1")+e:t+e}function w(t,e,n){var i=t.length;if(0===i)return"";for(var r=0;r1;)1&e&&(n+=t),e>>=1,t+=t;return n+t},A=i.exports.defaults,M=w,I=function(t,e){var n=t.replace(/\|/g,function(t,e,n){for(var i=!1,r=e;--r>=0&&"\\"===n[r];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(n.length>e)n.splice(e);else for(;n.length1?{type:"space",raw:e[0]}:{raw:"\n"}},e.code=function(t){var e=this.rules.block.code.exec(t);if(e){var n=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?n:M(n,"\n")}}},e.fences=function(t){var e=this.rules.block.fences.exec(t);if(e){var n=e[0],i=function(t,e){var n=t.match(/^(\s+)(?:```)/);if(null===n)return e;var i=n[1];return e.split("\n").map(function(t){var e=t.match(/^\s+/);return null===e?t:e[0].length>=i.length?t.slice(i.length):t}).join("\n")}(n,e[3]||"");return{type:"code",raw:n,lang:e[2]?e[2].trim():e[2],text:i}}},e.heading=function(t){var e=this.rules.block.heading.exec(t);if(e){var n=e[2].trim();if(/#$/.test(n)){var i=M(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:n}}},e.nptable=function(t){var e=this.rules.block.nptable.exec(t);if(e){var n={type:"table",header:I(e[1].replace(/^ *| *\| *$/g,"")),align:e[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:e[3]?e[3].replace(/\n$/,"").split("\n"):[],raw:e[0]};if(n.header.length===n.align.length){var i,r=n.align.length;for(i=0;i ?/gm,"");return{type:"blockquote",raw:e[0],text:n}}},e.list=function(t){var e=this.rules.block.list.exec(t);if(e){var n,i,r,s,o,a,l,c,u,h=e[0],d=e[2],p=d.length>1,f={type:"list",raw:h,ordered:p,start:p?+d.slice(0,-1):"",loose:!1,items:[]},g=e[0].match(this.rules.block.item),m=!1,b=g.length;r=this.rules.block.listItemStart.exec(g[0]);for(var y=0;yr[1].length:s[1].length>=r[0].length||s[1].length>3){g.splice(y,2,g[y]+(!this.options.pedantic&&s[1].length/i.test(i[0])&&(e=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:i[0],inLink:e,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):D(i[0]):i[0]}},e.link=function(t){var e=this.rules.inline.link.exec(t);if(e){var n=e[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var i=M(n.slice(0,-1),"\\");if((n.length-i.length)%2==0)return}else{var r=R(e[2],"()");if(r>-1){var s=(0===e[0].indexOf("!")?5:4)+e[1].length+r;e[2]=e[2].substring(0,r),e[0]=e[0].substring(0,s).trim(),e[3]=""}}var o=e[2],a="";if(this.options.pedantic){var l=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);l&&(o=l[1],a=l[3])}else a=e[3]?e[3].slice(1,-1):"";return o=o.trim(),/^$/.test(n)?o.slice(1):o.slice(1,-1)),N(e,{href:o&&o.replace(this.rules.inline._escapes,"$1"),title:a&&a.replace(this.rules.inline._escapes,"$1")},e[0])}},e.reflink=function(t,e){var n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){var i=(n[2]||n[1]).replace(/\s+/g," ");if(!(i=e[i.toLowerCase()])||!i.href){var r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return N(n,i,n[0])}},e.emStrong=function(t,e,n){void 0===n&&(n="");var i=this.rules.inline.emStrong.lDelim.exec(t);if(i&&(!i[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=i[1]||i[2]||"";if(!r||r&&(""===n||this.rules.inline.punctuation.exec(n))){var s,o,a=i[0].length-1,l=a,c=0,u="*"===i[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(u.lastIndex=0,e=e.slice(-1*t.length+a);null!=(i=u.exec(e));)if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6]){if(o=s.length,i[3]||i[4]){l+=o;continue}if((i[5]||i[6])&&a%3&&!((a+o)%3)){c+=o;continue}if(!((l-=o)>0))return o=Math.min(o,o+l+c),Math.min(a,o)%2?{type:"em",raw:t.slice(0,a+i.index+o+1),text:t.slice(1,a+i.index+o)}:{type:"strong",raw:t.slice(0,a+i.index+o+1),text:t.slice(2,a+i.index+o-1)}}}}},e.codespan=function(t){var e=this.rules.inline.code.exec(t);if(e){var n=e[2].replace(/\n/g," "),i=/[^ ]/.test(n),r=/^ /.test(n)&&/ $/.test(n);return i&&r&&(n=n.substring(1,n.length-1)),n=D(n,!0),{type:"codespan",raw:e[0],text:n}}},e.br=function(t){var e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}},e.del=function(t){var e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2]}},e.autolink=function(t,e){var n,i,r=this.rules.inline.autolink.exec(t);if(r)return i="@"===r[2]?"mailto:"+(n=D(this.options.mangle?e(r[1]):r[1])):n=D(r[1]),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}},e.url=function(t,e){var n;if(n=this.rules.inline.url.exec(t)){var i,r;if("@"===n[2])r="mailto:"+(i=D(this.options.mangle?e(n[0]):n[0]));else{var s;do{s=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(s!==n[0]);i=D(n[0]),r="www."===n[1]?"http://"+i:i}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}},e.inlineText=function(t,e,n){var i,r=this.rules.inline.text.exec(t);if(r)return i=e?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):D(r[0]):r[0]:D(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:i}},t}(),j=O,F=C,B=T,V={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:j,table:j,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};V.def=F(V.def).replace("label",V._label).replace("title",V._title).getRegex(),V.bullet=/(?:[*+-]|\d{1,9}[.)])/,V.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,V.item=F(V.item,"gm").replace(/bull/g,V.bullet).getRegex(),V.listItemStart=F(/^( *)(bull) */).replace("bull",V.bullet).getRegex(),V.list=F(V.list).replace(/bull/g,V.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+V.def.source+")").getRegex(),V._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",V._comment=/|$)/,V.html=F(V.html,"i").replace("comment",V._comment).replace("tag",V._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),V.paragraph=F(V._paragraph).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.blockquote=F(V.blockquote).replace("paragraph",V.paragraph).getRegex(),V.normal=B({},V),V.gfm=B({},V.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),V.gfm.nptable=F(V.gfm.nptable).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.gfm.table=F(V.gfm.table).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.pedantic=B({},V.normal,{html:F("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",V._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:j,paragraph:F(V.normal._paragraph).replace("hr",V.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",V.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var z={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:j,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:j,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};z.punctuation=F(z.punctuation).replace(/punctuation/g,z._punctuation).getRegex(),z.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,z.escapedEmSt=/\\\*|\\_/g,z._comment=F(V._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),z.emStrong.lDelim=F(z.emStrong.lDelim).replace(/punct/g,z._punctuation).getRegex(),z.emStrong.rDelimAst=F(z.emStrong.rDelimAst,"g").replace(/punct/g,z._punctuation).getRegex(),z.emStrong.rDelimUnd=F(z.emStrong.rDelimUnd,"g").replace(/punct/g,z._punctuation).getRegex(),z._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,z._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,z._email=/[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])?)+(?![-_])/,z.autolink=F(z.autolink).replace("scheme",z._scheme).replace("email",z._email).getRegex(),z._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,z.tag=F(z.tag).replace("comment",z._comment).replace("attribute",z._attribute).getRegex(),z._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,z._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,z._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,z.link=F(z.link).replace("label",z._label).replace("href",z._href).replace("title",z._title).getRegex(),z.reflink=F(z.reflink).replace("label",z._label).getRegex(),z.reflinkSearch=F(z.reflinkSearch,"g").replace("reflink",z.reflink).replace("nolink",z.nolink).getRegex(),z.normal=B({},z),z.pedantic=B({},z.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:F(/^!?\[(label)\]\((.*?)\)/).replace("label",z._label).getRegex(),reflink:F(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",z._label).getRegex()}),z.gfm=B({},z.normal,{escape:F(z.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),i+="&#"+n+";";return i}var K=function(){function e(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||$,this.options.tokenizer=this.options.tokenizer||new H,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var e={block:G.normal,inline:W.normal};this.options.pedantic?(e.block=G.pedantic,e.inline=W.pedantic):this.options.gfm&&(e.block=G.gfm,e.inline=this.options.breaks?W.breaks:W.gfm),this.tokenizer.rules=e}e.lex=function(t,n){return new e(n).lex(t)},e.lexInline=function(t,n){return new e(n).inlineTokens(t)};var n=e.prototype;return n.lex=function(t){return t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(t,this.tokens,!0),this.inline(this.tokens),this.tokens},n.blockTokens=function(t,e,n){var i,r,s,o,a,l,c=this;for(void 0===e&&(e=[]),void 0===n&&(n=!0),this.options.pedantic&&(t=t.replace(/^ +$/gm,""));t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(n){return!!(i=n.call(c,t,e))&&(t=t.substring(i.raw.length),e.push(i),!0)}))){if(i=this.tokenizer.space(t)){t=t.substring(i.raw.length),i.type&&e.push(i);continue}if(i=this.tokenizer.code(t)){t=t.substring(i.raw.length),(o=e[e.length-1])&&"paragraph"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i);continue}if(i=this.tokenizer.fences(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.heading(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.nptable(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.hr(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.blockquote(t)){t=t.substring(i.raw.length),i.tokens=this.blockTokens(i.text,[],n),e.push(i);continue}if(i=this.tokenizer.list(t)){for(t=t.substring(i.raw.length),s=i.items.length,r=0;r=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(a=t.substring(0,e+1))}(),n&&(i=this.tokenizer.paragraph(a))){o=e[e.length-1],l&&"paragraph"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i),l=a.length!==t.length,t=t.substring(i.raw.length);continue}if(i=this.tokenizer.text(t)){t=t.substring(i.raw.length),(o=e[e.length-1])&&"text"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i);continue}if(t){var u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}}return e},n.inline=function(t){var e,n,i,r,s,o,a=t.length;for(e=0;e0)for(;null!=(l=this.tokenizer.rules.inline.reflinkSearch.exec(h));)d.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(h=h.slice(0,l.index)+"["+q("a",l[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(l=this.tokenizer.rules.inline.blockSkip.exec(h));)h=h.slice(0,l.index)+"["+q("a",l[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(l=this.tokenizer.rules.inline.escapedEmSt.exec(h));)h=h.slice(0,l.index)+"++"+h.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;t;)if(c||(u=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(n){return!!(s=n.call(r,t,e))&&(t=t.substring(s.raw.length),e.push(s),!0)}))){if(s=this.tokenizer.escape(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.tag(t,n,i)){t=t.substring(s.raw.length),n=s.inLink,i=s.inRawBlock,(o=e[e.length-1])&&"text"===s.type&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(s=this.tokenizer.link(t)){t=t.substring(s.raw.length),"link"===s.type&&(s.tokens=this.inlineTokens(s.text,[],!0,i)),e.push(s);continue}if(s=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(s.raw.length),o=e[e.length-1],"link"===s.type?(s.tokens=this.inlineTokens(s.text,[],!0,i),e.push(s)):o&&"text"===s.type&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(s=this.tokenizer.emStrong(t,h,u)){t=t.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],n,i),e.push(s);continue}if(s=this.tokenizer.codespan(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.br(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.del(t)){t=t.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],n,i),e.push(s);continue}if(s=this.tokenizer.autolink(t,X)){t=t.substring(s.raw.length),e.push(s);continue}if(!n&&(s=this.tokenizer.url(t,X))){t=t.substring(s.raw.length),e.push(s);continue}if(a=t,this.options.extensions&&this.options.extensions.startInline&&function(){var e=1/0,n=t.slice(1),i=void 0;r.options.extensions.startInline.forEach(function(t){"number"==typeof(i=t.call(this,n))&&i>=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(a=t.substring(0,e+1))}(),s=this.tokenizer.inlineText(a,i,Y)){t=t.substring(s.raw.length),"_"!==s.raw.slice(-1)&&(u=s.raw.slice(-1)),c=!0,(o=e[e.length-1])&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(t){var p="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(p);break}throw new Error(p)}}return e},function(e,n,i){n&&t(e.prototype,n),i&&t(e,i)}(e,null,[{key:"rules",get:function(){return{block:G,inline:W}}}]),e}(),Q=i.exports.defaults,Z=E,J=x,tt=function(){function t(t){this.options=t||Q}var e=t.prototype;return e.code=function(t,e,n){var i=(e||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(t,i);null!=r&&r!==t&&(n=!0,t=r)}return t=t.replace(/\n$/,"")+"\n",i?'
                      '+(n?t:J(t,!0))+"
                      \n":"
                      "+(n?t:J(t,!0))+"
                      \n"},e.blockquote=function(t){return"
                      \n"+t+"
                      \n"},e.html=function(t){return t},e.heading=function(t,e,n,i){return this.options.headerIds?"'+t+"\n":""+t+"\n"},e.hr=function(){return this.options.xhtml?"
                      \n":"
                      \n"},e.list=function(t,e,n){var i=e?"ol":"ul";return"<"+i+(e&&1!==n?' start="'+n+'"':"")+">\n"+t+"\n"},e.listitem=function(t){return"
                    • "+t+"
                    • \n"},e.checkbox=function(t){return" "},e.paragraph=function(t){return"

                      "+t+"

                      \n"},e.table=function(t,e){return e&&(e=""+e+""),"\n\n"+t+"\n"+e+"
                      \n"},e.tablerow=function(t){return"\n"+t+"\n"},e.tablecell=function(t,e){var n=e.header?"th":"td";return(e.align?"<"+n+' align="'+e.align+'">':"<"+n+">")+t+"\n"},e.strong=function(t){return""+t+""},e.em=function(t){return""+t+""},e.codespan=function(t){return""+t+""},e.br=function(){return this.options.xhtml?"
                      ":"
                      "},e.del=function(t){return""+t+""},e.link=function(t,e,n){if(null===(t=Z(this.options.sanitize,this.options.baseUrl,t)))return n;var i='"+n+""},e.image=function(t,e,n){if(null===(t=Z(this.options.sanitize,this.options.baseUrl,t)))return n;var i=''+n+'":">")},e.text=function(t){return t},t}(),et=function(){function t(){}var e=t.prototype;return e.strong=function(t){return t},e.em=function(t){return t},e.codespan=function(t){return t},e.del=function(t){return t},e.html=function(t){return t},e.text=function(t){return t},e.link=function(t,e,n){return""+n},e.image=function(t,e,n){return""+n},e.br=function(){return""},t}(),nt=function(){function t(){this.seen={}}var e=t.prototype;return e.serialize=function(t){return t.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},e.getNextSafeSlug=function(t,e){var n=t,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[t];do{n=t+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return e||(this.seen[t]=i,this.seen[n]=0),n},e.slug=function(t,e){void 0===e&&(e={});var n=this.serialize(t);return this.getNextSafeSlug(n,e.dryrun)},t}(),it=tt,rt=et,st=nt,ot=i.exports.defaults,at=S,lt=K,ct=function(){function t(t){this.options=t||ot,this.options.renderer=this.options.renderer||new it,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new rt,this.slugger=new st}t.parse=function(e,n){return new t(n).parse(e)},t.parseInline=function(e,n){return new t(n).parseInline(e)};var e=t.prototype;return e.parse=function(t,e){void 0===e&&(e=!0);var n,i,r,s,o,a,l,c,u,h,d,p,f,g,m,b,y,v,_,w="",x=t.length;for(n=0;n0&&"text"===m.tokens[0].type?(m.tokens[0].text=v+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=v+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:v}):g+=v),g+=this.parse(m.tokens,f),u+=this.renderer.listitem(g,y,b);w+=this.renderer.list(u,d,p);continue;case"html":w+=this.renderer.html(h.text);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(h.tokens));continue;case"text":for(u=h.tokens?this.parseInline(h.tokens):h.text;n+1An error occurred:

                      "+mt(l.message+"",!0)+"
                      ";throw l}}return _t.options=_t.setOptions=function(t){return ft(_t.defaults,t),yt(_t.defaults),_t},_t.getDefaults=bt,_t.defaults=vt,_t.use=function(){for(var t=this,e=arguments.length,n=new Array(e),i=0;iAn error occurred:

                      "+mt(i.message+"",!0)+"
                      ";throw i}},_t.Parser=ct,_t.parser=ct.parse,_t.Renderer=ht,_t.TextRenderer=dt,_t.Lexer=lt,_t.lexer=lt.lex,_t.Tokenizer=ut,_t.Slugger=pt,_t.parse=_t,_t}()},29369:function(t,e,n){var i=n(56284),r=n(67830);function s(){this.clear()}s.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},s.prototype.enqueue=function(t){return this.items.push(t),++this.size},s.prototype.dequeue=function(){if(this.size){var t=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,t}},s.prototype.peek=function(){if(this.size)return this.items[this.offset]},s.prototype.forEach=function(t,e){e=arguments.length>1?e:this;for(var n=this.offset,i=0,r=this.items.length;n=t.length)return{done:!0};var n=t[e];return e++,{value:n,done:!1}})},s.prototype.entries=function(){var t=this.items,e=this.offset,n=0;return new i(function(){if(e>=t.length)return{done:!0};var i=t[e];return e++,{value:[n++,i],done:!1}})},"undefined"!=typeof Symbol&&(s.prototype[Symbol.iterator]=s.prototype.values),s.prototype.toString=function(){return this.toArray().join(",")},s.prototype.toJSON=function(){return this.toArray()},s.prototype.inspect=function(){var t=this.toArray();return Object.defineProperty(t,"constructor",{value:s,enumerable:!1}),t},"undefined"!=typeof Symbol&&(s.prototype[Symbol.for("nodejs.util.inspect.custom")]=s.prototype.inspect),s.from=function(t){var e=new s;return r(t,function(t){e.enqueue(t)}),e},s.of=function(){return s.from(arguments)},t.exports=s},65593:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(72293),o=function(t){function e(){t.apply(this,arguments),this.value=null,this.hasNext=!1,this.hasCompleted=!1}return i(e,t),e.prototype._subscribe=function(e){return this.hasError?(e.error(this.thrownError),s.Subscription.EMPTY):this.hasCompleted&&this.hasNext?(e.next(this.value),e.complete(),s.Subscription.EMPTY):t.prototype._subscribe.call(this,e)},e.prototype.next=function(t){this.hasCompleted||(this.value=t,this.hasNext=!0)},e.prototype.error=function(e){this.hasCompleted||t.prototype.error.call(this,e)},e.prototype.complete=function(){this.hasCompleted=!0,this.hasNext&&t.prototype.next.call(this,this.value),t.prototype.complete.call(this)},e}(r.Subject);e.AsyncSubject=o},73907:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(6594),o=function(t){function e(e){t.call(this),this._value=e}return i(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return n&&!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new s.ObjectUnsubscribedError;return this._value},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(r.Subject);e.BehaviorSubject=o},36888:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n,i){t.call(this),this.parent=e,this.outerValue=n,this.outerIndex=i,this.index=0}return i(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(n(42109).Subscriber);e.InnerSubscriber=r},94429:function(t,e,n){"use strict";var i=n(18705),r=function(){function t(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}return t.prototype.observe=function(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}},t.prototype.do=function(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}},t.prototype.accept=function(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)},t.prototype.toObservable=function(){switch(this.kind){case"N":return i.Observable.of(this.value);case"E":return i.Observable.throw(this.error);case"C":return i.Observable.empty()}throw new Error("unexpected notification kind value")},t.createNext=function(e){return void 0!==e?new t("N",e):t.undefinedValueNotification},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return t.completeNotification},t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t}();e.Notification=r},18705:function(t,e,n){"use strict";var i=n(80019),r=n(18154),s=n(45783),o=n(10142),a=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(t,e,n){var i=this.operator,s=r.toSubscriber(t,e,n);if(i?i.call(s,this.source):s.add(this.source||!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){t.syncErrorThrown=!0,t.syncErrorValue=e,t.error(e)}},t.prototype.forEach=function(t,e){var n=this;if(e||(i.root.Rx&&i.root.Rx.config&&i.root.Rx.config.Promise?e=i.root.Rx.config.Promise:i.root.Promise&&(e=i.root.Promise)),!e)throw new Error("no Promise impl found");return new e(function(e,i){var r;r=n.subscribe(function(e){if(r)try{t(e)}catch(n){i(n),r.unsubscribe()}else t(e)},i,e)})},t.prototype._subscribe=function(t){return this.source.subscribe(t)},t.prototype[s.observable]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;ee&&(s=Math.max(s,r-e)),s>0&&i.splice(0,s),i},e}(r.Subject);e.ReplaySubject=u;var h=function(t,e){this.time=t,this.value=e}},25430:function(t,e,n){"use strict";var i=n(2369);e.xQ=i.Subject,n(18705),n(24769),n(95914),n(88007),n(3194),n(61898),n(16301),n(23276),n(66593),n(13745),n(57362),n(24518),n(68789),n(30520),n(67370),n(86866),n(11505),n(5031),n(36780),n(17038),n(15718),n(27915),n(90763),n(6846),n(65662),n(6799),n(81854),n(612),n(10838),n(6725),n(8827),n(43511),n(38922),n(25178),n(56937),n(22947),n(82894),n(11206),n(94183),n(16653),n(17930),n(81118),n(50317),n(90674),n(66460),n(79232),n(3945),n(44674),n(73505),n(38749),n(16479),n(22744),n(44475),n(97384),n(8237),n(24937),n(99013),n(84042),n(44436),n(7099),n(6217),n(57476),n(72646),n(91573),n(27387),n(27366),n(88859),n(65425),n(16733),n(23381),n(80404),n(63770),n(53626),n(98851),n(84878),n(26544),n(53582),n(61749),n(34838),n(49681),n(46227),n(56455),n(40881),n(94315),n(92910),n(52442),n(84664),n(61250),n(28310),n(43027),n(18252),n(49571),n(31782),n(9800),n(41854),n(74839),n(1305),n(99144),n(89952),n(85863),n(2865),n(92667),n(22185),n(72919),n(88630),n(75458),n(40780),n(35099),n(57502),n(81676),n(20579),n(71323),n(84950),n(57113),n(95073),n(75654),n(59889),n(96611),n(81845),n(7828),n(4881),n(74568),n(32352),n(50169),n(93543),n(61690),n(15914),n(68583),n(44808),n(49088),n(72293),n(42109),n(65593),n(81959),n(73907),n(51493),n(94429),n(44640),n(11758),n(6594),n(13815),n(84536),n(73390),n(62688),n(24482),n(18353);n(55298);n(10142);n(85522),n(90680),n(97088),n(12948),n(28592),n(72121),n(45783);n(39053)},11965:function(t,e){"use strict";var n=function(){function t(e,n){void 0===n&&(n=t.now),this.SchedulerAction=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(n,e)},t.now=Date.now?Date.now:function(){return+new Date},t}();e.Scheduler=n},2369:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(42109),o=n(72293),a=n(6594),l=n(9060),c=n(28592),u=function(t){function e(e){t.call(this,e),this.destination=e}return i(e,t),e}(s.Subscriber);e.SubjectSubscriber=u;var h=function(t){function e(){t.call(this),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}return i(e,t),e.prototype[c.rxSubscriber]=function(){return new u(this)},e.prototype.lift=function(t){var e=new d(this,this);return e.operator=t,e},e.prototype.next=function(t){if(this.closed)throw new a.ObjectUnsubscribedError;if(!this.isStopped)for(var e=this.observers,n=e.length,i=e.slice(),r=0;r=t.length)return void i.complete();i.next(e[n]),t.index=n+1,this.schedule(t)}},e.prototype._subscribe=function(t){var n=this.arrayLike,i=this.scheduler,r=n.length;if(i)return i.schedule(e.dispatch,0,{arrayLike:n,index:0,length:r,subscriber:t});for(var s=0;s1?new e(t,i):1===r?new s.ScalarObservable(t[0],i):new o.EmptyObservable(i)},e.dispatch=function(t){var e=t.array,n=t.index,i=t.subscriber;n>=t.count?i.complete():(i.next(e[n]),!i.closed&&(t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.array,i=n.length,r=this.scheduler;if(r)return r.schedule(e.dispatch,0,{array:n,index:0,count:i,subscriber:t});for(var s=0;s1)this.connection=null;else{var n=this.connection,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null}}(o.Subscriber)},34078:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(93658),o=n(84308),a=function(t){function e(e){t.call(this),this.observableFactory=e}return i(e,t),e.create=function(t){return new e(t)},e.prototype._subscribe=function(t){return new l(t,this.observableFactory)},e}(r.Observable);e.DeferObservable=a;var l=function(t){function e(e,n){t.call(this,e),this.factory=n,this.tryDefer()}return i(e,t),e.prototype.tryDefer=function(){try{this._callFactory()}catch(t){this._error(t)}},e.prototype._callFactory=function(){var t=this.factory();t&&this.add(s.subscribeToResult(this,t))},e}(o.OuterSubscriber)},70481:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e){t.call(this),this.scheduler=e}return i(e,t),e.create=function(t){return new e(t)},e.dispatch=function(t){t.subscriber.complete()},e.prototype._subscribe=function(t){var n=this.scheduler;if(n)return n.schedule(e.dispatch,0,{subscriber:t});t.complete()},e}(n(18705).Observable);e.EmptyObservable=r},72210:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this),this.error=e,this.scheduler=n}return i(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){t.subscriber.error(t.error)},e.prototype._subscribe=function(t){var n=this.error,i=this.scheduler;if(t.syncErrorThrowable=!0,i)return i.schedule(e.dispatch,0,{error:n,subscriber:t});t.error(n)},e}(n(18705).Observable);e.ErrorObservable=r},56064:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(70481),o=n(48242),a=n(93658),l=n(84308),c=function(t){function e(e,n){t.call(this),this.sources=e,this.resultSelector=n}return i(e,t),e.create=function(){for(var t=[],n=0;nu?u:e:e}(t)),this.arr=t,this.idx=e,this.len=n}return t.prototype[o.iterator]=function(){return this},t.prototype.next=function(){return this.idx=t.count?i.complete():(i.next(e),!i.closed&&(t.index=n+1,t.start=e+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=0,i=this.start,r=this._count,s=this.scheduler;if(s)return s.schedule(e.dispatch,0,{index:n,count:r,start:i,subscriber:t});for(;;){if(n++>=r){t.complete();break}if(t.next(i++),t.closed)break}},e}(n(18705).Observable);e.RangeObservable=r},80478:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this),this.value=e,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return i(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){var e=t.value,n=t.subscriber;t.done?n.complete():(n.next(e),!n.closed&&(t.done=!0,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.value,i=this.scheduler;if(i)return i.schedule(e.dispatch,0,{done:!1,value:n,subscriber:t});t.next(n),t.closed||t.complete()},e}(n(18705).Observable);e.ScalarObservable=r},82966:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(85522),o=n(39479),a=function(t){function e(e,n,i){void 0===n&&(n=0),void 0===i&&(i=s.asap),t.call(this),this.source=e,this.delayTime=n,this.scheduler=i,(!o.isNumeric(n)||n<0)&&(this.delayTime=0),(!i||"function"!=typeof i.schedule)&&(this.scheduler=s.asap)}return i(e,t),e.create=function(t,n,i){return void 0===n&&(n=0),void 0===i&&(i=s.asap),new e(t,n,i)},e.dispatch=function(t){return this.add(t.source.subscribe(t.subscriber))},e.prototype._subscribe=function(t){return this.scheduler.schedule(e.dispatch,this.delayTime,{source:this.source,subscriber:t})},e}(r.Observable);e.SubscribeOnObservable=a},92870:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(39479),s=n(18705),o=n(90680),a=n(41503),l=n(783),c=function(t){function e(e,n,i){void 0===e&&(e=0),t.call(this),this.period=-1,this.dueTime=0,r.isNumeric(n)?this.period=Number(n)<1?1:Number(n):a.isScheduler(n)&&(i=n),a.isScheduler(i)||(i=o.async),this.scheduler=i,this.dueTime=l.isDate(e)?+e-this.scheduler.now():e}return i(e,t),e.create=function(t,n,i){return void 0===t&&(t=0),new e(t,n,i)},e.dispatch=function(t){var e=t.index,n=t.period,i=t.subscriber;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}},e.prototype._subscribe=function(t){var n=this;return n.scheduler.schedule(e.dispatch,n.dueTime,{index:0,period:n.period,subscriber:t})},e}(s.Observable);e.TimerObservable=c},16196:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(93658),o=n(84308),a=function(t){function e(e,n){t.call(this),this.resourceFactory=e,this.observableFactory=n}return i(e,t),e.create=function(t,n){return new e(t,n)},e.prototype._subscribe=function(t){var e,n=this.resourceFactory,i=this.observableFactory;try{return e=n(),new l(t,e,i)}catch(r){t.error(r)}},e}(r.Observable);e.UsingObservable=a;var l=function(t){function e(e,n,i){t.call(this,e),this.resource=n,this.observableFactory=i,e.add(n),this.tryUse()}return i(e,t),e.prototype.tryUse=function(){try{var t=this.observableFactory.call(this,this.resource);t&&this.add(s.subscribeToResult(this,t))}catch(e){this._error(e)}},e}(o.OuterSubscriber)},59246:function(t,e,n){"use strict";var i=n(19183);e.bindCallback=i.BoundCallbackObservable.create},65571:function(t,e,n){"use strict";var i=n(78655);e.bindNodeCallback=i.BoundNodeCallbackObservable.create},24669:function(t,e,n){"use strict";var i=n(41503),r=n(48242),s=n(96177),o=n(49134);e.combineLatest=function(){for(var t=[],e=0;e1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof l&&(n=t.pop()),null===a&&1===t.length&&t[0]instanceof i.Observable?t[0]:o.mergeAll(n)(new r.ArrayObservable(t,a))}},94503:function(t,e,n){"use strict";var i=n(20143);e.never=i.NeverObservable.create},69657:function(t,e,n){"use strict";var i=n(96177);e.of=i.ArrayObservable.of},61395:function(t,e,n){"use strict";var i=n(46243);e.onErrorResumeNext=i.onErrorResumeNextStatic},95425:function(t,e,n){"use strict";var i=n(19770);e.pairs=i.PairsObservable.create},24330:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(48242),s=n(96177),o=n(84308),a=n(93658);e.race=function(){for(var t=[],e=0;e=2&&(o=arguments[1]);var a=Number.POSITIVE_INFINITY;return e>=3&&(a=arguments[2]),s.bufferTime(t,o,a,n)(this)}},92523:function(t,e,n){"use strict";var i=n(15440);e.bufferToggle=function(t,e){return i.bufferToggle(t,e)(this)}},49436:function(t,e,n){"use strict";var i=n(51786);e.bufferWhen=function(t){return i.bufferWhen(t)(this)}},64731:function(t,e,n){"use strict";var i=n(93017);e._catch=function(t){return i.catchError(t)(this)}},92273:function(t,e,n){"use strict";var i=n(17054);e.combineAll=function(t){return i.combineAll(t)(this)}},8709:function(t,e,n){"use strict";var i=n(49134);e.combineLatest=function(){for(var t=[],e=0;e=2?i.reduce(t,e)(this):i.reduce(t)(this)}},12931:function(t,e,n){"use strict";var i=n(15329);e.repeat=function(t){return void 0===t&&(t=-1),i.repeat(t)(this)}},68816:function(t,e,n){"use strict";var i=n(63964);e.repeatWhen=function(t){return i.repeatWhen(t)(this)}},17144:function(t,e,n){"use strict";var i=n(40241);e.retry=function(t){return void 0===t&&(t=-1),i.retry(t)(this)}},82766:function(t,e,n){"use strict";var i=n(23896);e.retryWhen=function(t){return i.retryWhen(t)(this)}},62068:function(t,e,n){"use strict";var i=n(92043);e.sample=function(t){return i.sample(t)(this)}},97013:function(t,e,n){"use strict";var i=n(90680),r=n(71239);e.sampleTime=function(t,e){return void 0===e&&(e=i.async),r.sampleTime(t,e)(this)}},98996:function(t,e,n){"use strict";var i=n(64949);e.scan=function(t,e){return arguments.length>=2?i.scan(t,e)(this):i.scan(t)(this)}},77033:function(t,e,n){"use strict";var i=n(88948);e.sequenceEqual=function(t,e){return i.sequenceEqual(t,e)(this)}},10377:function(t,e,n){"use strict";var i=n(35473);e.share=function(){return i.share()(this)}},71623:function(t,e,n){"use strict";var i=n(62704);e.shareReplay=function(t,e,n){return i.shareReplay(t,e,n)(this)}},91956:function(t,e,n){"use strict";var i=n(92223);e.single=function(t){return i.single(t)(this)}},72355:function(t,e,n){"use strict";var i=n(11189);e.skip=function(t){return i.skip(t)(this)}},69329:function(t,e,n){"use strict";var i=n(73346);e.skipLast=function(t){return i.skipLast(t)(this)}},68481:function(t,e,n){"use strict";var i=n(12928);e.skipUntil=function(t){return i.skipUntil(t)(this)}},587:function(t,e,n){"use strict";var i=n(69415);e.skipWhile=function(t){return i.skipWhile(t)(this)}},49292:function(t,e,n){"use strict";var i=n(30673);e.startWith=function(){for(var t=[],e=0;e0&&this.destination.next(e),t.prototype._complete.call(this)},e}(r.Subscriber),a=function(t){function e(e,n,i){t.call(this,e),this.bufferSize=n,this.startBufferEvery=i,this.buffers=[],this.count=0}return i(e,t),e.prototype._next=function(t){var e=this,n=e.bufferSize,i=e.startBufferEvery,r=e.buffers,s=e.count;this.count++,s%i==0&&r.push([]);for(var o=r.length;o--;){var a=r[o];a.push(t),a.length===n&&(r.splice(o,1),this.destination.next(a))}},e.prototype._complete=function(){for(var e=this.buffers,n=this.destination;e.length>0;){var i=e.shift();i.length>0&&n.next(i)}t.prototype._complete.call(this)},e}(r.Subscriber)},6489:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(90680),s=n(42109),o=n(41503);e.bufferTime=function(t){var e=arguments.length,n=r.async;o.isScheduler(arguments[arguments.length-1])&&(n=arguments[arguments.length-1],e--);var i=null;e>=2&&(i=arguments[1]);var s=Number.POSITIVE_INFINITY;return e>=3&&(s=arguments[2]),function(e){return e.lift(new a(t,i,s,n))}};var a=function(){function t(t,e,n,i){this.bufferTimeSpan=t,this.bufferCreationInterval=e,this.maxBufferSize=n,this.scheduler=i}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))},t}(),l=function(){this.buffer=[]},c=function(t){function e(e,n,i,r,s){t.call(this,e),this.bufferTimeSpan=n,this.bufferCreationInterval=i,this.maxBufferSize=r,this.scheduler=s,this.contexts=[];var o=this.openContext();if(this.timespanOnly=null==i||i<0,this.timespanOnly)this.add(o.closeAction=s.schedule(u,n,{subscriber:this,context:o,bufferTimeSpan:n}));else{var a={bufferTimeSpan:n,bufferCreationInterval:i,subscriber:this,scheduler:s};this.add(o.closeAction=s.schedule(d,n,{subscriber:this,context:o})),this.add(s.schedule(h,i,a))}}return i(e,t),e.prototype._next=function(t){for(var e,n=this.contexts,i=n.length,r=0;r0;){var i=e.shift();n.next(i.buffer)}t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.contexts=null},e.prototype.onBufferFull=function(t){this.closeContext(t);var e=t.closeAction;if(e.unsubscribe(),this.remove(e),!this.closed&&this.timespanOnly){t=this.openContext();var n=this.bufferTimeSpan;this.add(t.closeAction=this.scheduler.schedule(u,n,{subscriber:this,context:t,bufferTimeSpan:n}))}},e.prototype.openContext=function(){var t=new l;return this.contexts.push(t),t},e.prototype.closeContext=function(t){this.destination.next(t.buffer);var e=this.contexts;(e?e.indexOf(t):-1)>=0&&e.splice(e.indexOf(t),1)},e}(s.Subscriber);function u(t){var e=t.subscriber,n=t.context;n&&e.closeContext(n),e.closed||(t.context=e.openContext(),t.context.closeAction=this.schedule(t,t.bufferTimeSpan))}function h(t){var e=t.bufferCreationInterval,n=t.bufferTimeSpan,i=t.subscriber,r=t.scheduler,s=i.openContext();i.closed||(i.add(s.closeAction=r.schedule(d,n,{subscriber:i,context:s})),this.schedule(t,e))}function d(t){t.subscriber.closeContext(t.context)}},15440:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(72293),s=n(93658),o=n(84308);e.bufferToggle=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.openings=t,this.closingSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.openings,this.closingSelector))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(s.subscribeToResult(this,n))}return i(e,t),e.prototype._next=function(t){for(var e=this.contexts,n=e.length,i=0;i0;){var i=n.shift();i.subscription.unsubscribe(),i.buffer=null,i.subscription=null}this.contexts=null,t.prototype._error.call(this,e)},e.prototype._complete=function(){for(var e=this.contexts;e.length>0;){var n=e.shift();this.destination.next(n.buffer),n.subscription.unsubscribe(),n.buffer=null,n.subscription=null}this.contexts=null,t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){t?this.closeBuffer(t):this.openBuffer(e)},e.prototype.notifyComplete=function(t){this.closeBuffer(t.context)},e.prototype.openBuffer=function(t){try{var e=this.closingSelector.call(this,t);e&&this.trySubscribe(e)}catch(n){this._error(n)}},e.prototype.closeBuffer=function(t){var e=this.contexts;if(e&&t){var n=t.subscription;this.destination.next(t.buffer),e.splice(e.indexOf(t),1),this.remove(n),n.unsubscribe()}},e.prototype.trySubscribe=function(t){var e=this.contexts,n=new r.Subscription,i={buffer:[],subscription:n};e.push(i);var o=s.subscribeToResult(this,t,i);!o||o.closed?this.closeBuffer(i):(o.context=i,this.add(o),n.add(o))},e}(o.OuterSubscriber)},51786:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(72293),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.bufferWhen=function(t){return function(e){return e.lift(new c(t))}};var c=function(){function t(t){this.closingSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.closingSelector))},t}(),u=function(t){function e(e,n){t.call(this,e),this.closingSelector=n,this.subscribing=!1,this.openBuffer()}return i(e,t),e.prototype._next=function(t){this.buffer.push(t)},e.prototype._complete=function(){var e=this.buffer;e&&this.destination.next(e),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.buffer=null,this.subscribing=!1},e.prototype.notifyNext=function(t,e,n,i,r){this.openBuffer()},e.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()},e.prototype.openBuffer=function(){var t=this.closingSubscription;t&&(this.remove(t),t.unsubscribe()),this.buffer&&this.destination.next(this.buffer),this.buffer=[];var e=s.tryCatch(this.closingSelector)();e===o.errorObject?this.error(o.errorObject.e):(t=new r.Subscription,this.closingSubscription=t,this.add(t),this.subscribing=!0,t.add(l.subscribeToResult(this,e)),this.subscribing=!1)},e}(a.OuterSubscriber)},93017:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.catchError=function(t){return function(e){var n=new o(t),i=e.lift(n);return n.caught=i}};var o=function(){function t(t){this.selector=t}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.selector,this.caught))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.selector=n,this.caught=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=void 0;try{n=this.selector(e,this.caught)}catch(i){return void t.prototype.error.call(this,i)}this._unsubscribeAndRecycle(),this.add(s.subscribeToResult(this,n))}},e}(r.OuterSubscriber)},17054:function(t,e,n){"use strict";var i=n(49134);e.combineAll=function(t){return function(e){return e.lift(new i.CombineLatestOperator(t))}}},49134:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(96177),s=n(48242),o=n(84308),a=n(93658),l={};e.combineLatest=function(){for(var t=[],e=0;e0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var s=Math.max(0,n[0].time-i.now());this.schedule(t,s)}else this.unsubscribe(),e.active=!1},e.prototype._schedule=function(t){this.active=!0,this.add(t.schedule(e.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))},e.prototype.scheduleNotification=function(t){if(!0!==this.errored){var e=this.scheduler,n=new u(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}},e.prototype._next=function(t){this.scheduleNotification(a.Notification.createNext(t))},e.prototype._error=function(t){this.errored=!0,this.queue=[],this.destination.error(t)},e.prototype._complete=function(){this.scheduleNotification(a.Notification.createComplete())},e}(o.Subscriber),u=function(t,e){this.time=t,this.notification=e}},22944:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(18705),o=n(84308),a=n(93658);e.delayWhen=function(t,e){return e?function(n){return new u(n,e).lift(new l(t))}:function(e){return e.lift(new l(t))}};var l=function(){function t(t){this.delayDurationSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.delayDurationSelector))},t}(),c=function(t){function e(e,n){t.call(this,e),this.delayDurationSelector=n,this.completed=!1,this.delayNotifierSubscriptions=[],this.values=[]}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.destination.next(t),this.removeSubscription(r),this.tryComplete()},e.prototype.notifyError=function(t,e){this._error(t)},e.prototype.notifyComplete=function(t){var e=this.removeSubscription(t);e&&this.destination.next(e),this.tryComplete()},e.prototype._next=function(t){try{var e=this.delayDurationSelector(t);e&&this.tryDelay(e,t)}catch(n){this.destination.error(n)}},e.prototype._complete=function(){this.completed=!0,this.tryComplete()},e.prototype.removeSubscription=function(t){t.unsubscribe();var e=this.delayNotifierSubscriptions.indexOf(t),n=null;return-1!==e&&(n=this.values[e],this.delayNotifierSubscriptions.splice(e,1),this.values.splice(e,1)),n},e.prototype.tryDelay=function(t,e){var n=a.subscribeToResult(this,t,e);n&&!n.closed&&(this.add(n),this.delayNotifierSubscriptions.push(n)),this.values.push(e)},e.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()},e}(o.OuterSubscriber),u=function(t){function e(e,n){t.call(this),this.source=e,this.subscriptionDelay=n}return i(e,t),e.prototype._subscribe=function(t){this.subscriptionDelay.subscribe(new h(t,this.source))},e}(s.Observable),h=function(t){function e(e,n){t.call(this),this.parent=e,this.source=n,this.sourceSubscribed=!1}return i(e,t),e.prototype._next=function(t){this.subscribeToSource()},e.prototype._error=function(t){this.unsubscribe(),this.parent.error(t)},e.prototype._complete=function(){this.subscribeToSource()},e.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))},e}(r.Subscriber)},95591:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.dematerialize=function(){return function(t){return t.lift(new s)}};var s=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new o(t))},t}(),o=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype._next=function(t){t.observe(this.destination)},e}(r.Subscriber)},25753:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658),o=n(40317);e.distinct=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.keySelector=t,this.flushes=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.keySelector,this.flushes))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.keySelector=n,this.values=new o.Set,i&&this.add(s.subscribeToResult(this,i))}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.values.clear()},e.prototype.notifyError=function(t,e){this._error(t)},e.prototype._next=function(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)},e.prototype._useKeySelector=function(t){var e,n=this.destination;try{e=this.keySelector(t)}catch(i){return void n.error(i)}this._finalizeNext(e,t)},e.prototype._finalizeNext=function(t,e){var n=this.values;n.has(t)||(n.add(t),this.destination.next(e))},e}(r.OuterSubscriber);e.DistinctSubscriber=l},65608:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(33463),o=n(85814);e.distinctUntilChanged=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.compare=t,this.keySelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.compare,this.keySelector))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.keySelector=i,this.hasKey=!1,"function"==typeof n&&(this.compare=n)}return i(e,t),e.prototype.compare=function(t,e){return t===e},e.prototype._next=function(t){var e=t;if(this.keySelector&&(e=s.tryCatch(this.keySelector)(t))===o.errorObject)return this.destination.error(o.errorObject.e);var n=!1;if(this.hasKey){if((n=s.tryCatch(this.compare)(this.key,e))===o.errorObject)return this.destination.error(o.errorObject.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=e,this.destination.next(t))},e}(r.Subscriber)},8330:function(t,e,n){"use strict";var i=n(65608);e.distinctUntilKeyChanged=function(t,e){return i.distinctUntilChanged(function(n,i){return e?e(n[t],i[t]):n[t]===i[t]})}},29264:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758);e.elementAt=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){if(this.index=t,this.defaultValue=e,t<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.index,this.defaultValue))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.index=n,this.defaultValue=i}return i(e,t),e.prototype._next=function(t){0==this.index--&&(this.destination.next(t),this.destination.complete())},e.prototype._complete=function(){var t=this.destination;this.index>=0&&(void 0!==this.defaultValue?t.next(this.defaultValue):t.error(new s.ArgumentOutOfRangeError)),t.complete()},e}(r.Subscriber)},26285:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.every=function(t,e){return function(n){return n.lift(new s(t,e,n))}};var s=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.thisArg,this.source))},t}(),o=function(t){function e(e,n,i,r){t.call(this,e),this.predicate=n,this.thisArg=i,this.source=r,this.index=0,this.thisArg=i||this}return i(e,t),e.prototype.notifyComplete=function(t){this.destination.next(t),this.destination.complete()},e.prototype._next=function(t){var e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e||this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(r.Subscriber)},93229:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.exhaust=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(e){t.call(this,e),this.hasCompleted=!1,this.hasSubscription=!1}return i(e,t),e.prototype._next=function(t){this.hasSubscription||(this.hasSubscription=!0,this.add(s.subscribeToResult(this,t)))},e.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},e.prototype.notifyComplete=function(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber)},15758:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.exhaustMap=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.resultSelector=i,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}return i(e,t),e.prototype._next=function(t){this.hasSubscription||this.tryNext(t)},e.prototype.tryNext=function(t){var e=this.index++,n=this.destination;try{var i=this.project(t,e);this.hasSubscription=!0,this.add(s.subscribeToResult(this,i,t,e))}catch(r){n.error(r)}},e.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},e.prototype.notifyNext=function(t,e,n,i,r){var s=this.destination;this.resultSelector?this.trySelectResult(t,e,n,i):s.next(e)},e.prototype.trySelectResult=function(t,e,n,i){var r=this.resultSelector,s=this.destination;try{var o=r(t,e,n,i);s.next(o)}catch(a){s.error(a)}},e.prototype.notifyError=function(t){this.destination.error(t)},e.prototype.notifyComplete=function(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber)},55364:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(33463),s=n(85814),o=n(84308),a=n(93658);e.expand=function(t,e,n){return void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===n&&(n=void 0),e=(e||0)<1?Number.POSITIVE_INFINITY:e,function(i){return i.lift(new l(t,e,n))}};var l=function(){function t(t,e,n){this.project=t,this.concurrent=e,this.scheduler=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.project,this.concurrent,this.scheduler))},t}();e.ExpandOperator=l;var c=function(t){function e(e,n,i,r){t.call(this,e),this.project=n,this.concurrent=i,this.scheduler=r,this.index=0,this.active=0,this.hasCompleted=!1,i0&&this._next(e.shift()),this.hasCompleted&&0===this.active&&this.destination.complete()},e}(o.OuterSubscriber);e.ExpandSubscriber=c},27015:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.filter=function(t,e){return function(n){return n.lift(new s(t,e))}};var s=function(){function t(t,e){this.predicate=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.thisArg))},t}(),o=function(t){function e(e,n,i){t.call(this,e),this.predicate=n,this.thisArg=i,this.count=0}return i(e,t),e.prototype._next=function(t){var e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)},e}(r.Subscriber)},94367:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(72293);e.finalize=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){this.callback=t}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.callback))},t}(),a=function(t){function e(e,n){t.call(this,e),this.add(new s.Subscription(n))}return i(e,t),e}(r.Subscriber)},16700:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.find=function(t,e){if("function"!=typeof t)throw new TypeError("predicate is not a function");return function(n){return n.lift(new s(t,n,!1,e))}};var s=function(){function t(t,e,n,i){this.predicate=t,this.source=e,this.yieldIndex=n,this.thisArg=i}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.source,this.yieldIndex,this.thisArg))},t}();e.FindValueOperator=s;var o=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.source=i,this.yieldIndex=r,this.thisArg=s,this.index=0}return i(e,t),e.prototype.notifyComplete=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype._next=function(t){var e=this.predicate,n=this.thisArg,i=this.index++;try{e.call(n||this,t,i,this.source)&&this.notifyComplete(this.yieldIndex?i:t)}catch(r){this.destination.error(r)}},e.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)},e}(r.Subscriber);e.FindValueSubscriber=o},86452:function(t,e,n){"use strict";var i=n(16700);e.findIndex=function(t,e){return function(n){return n.lift(new i.FindValueOperator(t,n,!0,e))}}},12309:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.first=function(t,e,n){return function(i){return i.lift(new o(t,e,n,i))}};var o=function(){function t(t,e,n,i){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=i}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),a=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=s,this.index=0,this.hasCompleted=!1,this._emitted=!1}return i(e,t),e.prototype._next=function(t){var e=this.index++;this.predicate?this._tryPredicate(t,e):this._emit(t,e)},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(i){return void this.destination.error(i)}n&&this._emit(t,e)},e.prototype._emit=function(t,e){this.resultSelector?this._tryResultSelector(t,e):this._emitFinal(t)},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(i){return void this.destination.error(i)}this._emitFinal(n)},e.prototype._emitFinal=function(t){var e=this.destination;this._emitted||(this._emitted=!0,e.next(t),e.complete(),this.hasCompleted=!0)},e.prototype._complete=function(){var t=this.destination;this.hasCompleted||void 0===this.defaultValue?this.hasCompleted||t.error(new s.EmptyError):(t.next(this.defaultValue),t.complete())},e}(r.Subscriber)},92577:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(72293),o=n(18705),a=n(2369),l=n(49754),c=n(30764);e.groupBy=function(t,e,n,i){return function(r){return r.lift(new u(t,e,n,i))}};var u=function(){function t(t,e,n,i){this.keySelector=t,this.elementSelector=e,this.durationSelector=n,this.subjectSelector=i}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))},t}(),h=function(t){function e(e,n,i,r,s){t.call(this,e),this.keySelector=n,this.elementSelector=i,this.durationSelector=r,this.subjectSelector=s,this.groups=null,this.attemptedToUnsubscribe=!1,this.count=0}return i(e,t),e.prototype._next=function(t){var e;try{e=this.keySelector(t)}catch(n){return void this.error(n)}this._group(t,e)},e.prototype._group=function(t,e){var n=this.groups;n||(n=this.groups="string"==typeof e?new c.FastMap:new l.Map);var i,r=n.get(e);if(this.elementSelector)try{i=this.elementSelector(t)}catch(u){this.error(u)}else i=t;if(!r){r=this.subjectSelector?this.subjectSelector():new a.Subject,n.set(e,r);var s=new p(e,r,this);if(this.destination.next(s),this.durationSelector){var o=void 0;try{o=this.durationSelector(new p(e,r))}catch(u){return void this.error(u)}this.add(o.subscribe(new d(e,r,this)))}}r.closed||r.next(i)},e.prototype._error=function(t){var e=this.groups;e&&(e.forEach(function(e,n){e.error(t)}),e.clear()),this.destination.error(t)},e.prototype._complete=function(){var t=this.groups;t&&(t.forEach(function(t,e){t.complete()}),t.clear()),this.destination.complete()},e.prototype.removeGroup=function(t){this.groups.delete(t)},e.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&t.prototype.unsubscribe.call(this))},e}(r.Subscriber),d=function(t){function e(e,n,i){t.call(this,n),this.key=e,this.group=n,this.parent=i}return i(e,t),e.prototype._next=function(t){this.complete()},e.prototype._unsubscribe=function(){var t=this.parent,e=this.key;this.key=this.parent=null,t&&t.removeGroup(e)},e}(r.Subscriber),p=function(t){function e(e,n,i){t.call(this),this.key=e,this.groupSubject=n,this.refCountSubscription=i}return i(e,t),e.prototype._subscribe=function(t){var e=new s.Subscription,n=this.refCountSubscription,i=this.groupSubject;return n&&!n.closed&&e.add(new f(n)),e.add(i.subscribe(t)),e},e}(o.Observable);e.GroupedObservable=p;var f=function(t){function e(e){t.call(this),this.parent=e,e.count++}return i(e,t),e.prototype.unsubscribe=function(){var e=this.parent;!e.closed&&!this.closed&&(t.prototype.unsubscribe.call(this),e.count-=1,0===e.count&&e.attemptedToUnsubscribe&&e.unsubscribe())},e}(s.Subscription)},86898:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(68668);e.ignoreElements=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype._next=function(t){s.noop()},e}(r.Subscriber)},89121:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.isEmpty=function(){return function(t){return t.lift(new s)}};var s=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new o(t))},t}(),o=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype.notifyComplete=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype._next=function(t){this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(r.Subscriber)},4636:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.last=function(t,e,n){return function(i){return i.lift(new o(t,e,n,i))}};var o=function(){function t(t,e,n,i){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=i}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),a=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=s,this.hasValue=!1,this.index=0,void 0!==r&&(this.lastValue=r,this.hasValue=!0)}return i(e,t),e.prototype._next=function(t){var e=this.index++;if(this.predicate)this._tryPredicate(t,e);else{if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(i){return void this.destination.error(i)}if(n){if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(i){return void this.destination.error(i)}this.lastValue=n,this.hasValue=!0},e.prototype._complete=function(){var t=this.destination;this.hasValue?(t.next(this.lastValue),t.complete()):t.error(new s.EmptyError)},e}(r.Subscriber)},40119:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.map=function(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new s(t,e))}};var s=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.project,this.thisArg))},t}();e.MapOperator=s;var o=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.count=0,this.thisArg=i||this}return i(e,t),e.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(r.Subscriber)},23491:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.mapTo=function(t){return function(e){return e.lift(new s(t))}};var s=function(){function t(t){this.value=t}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.value))},t}(),o=function(t){function e(e,n){t.call(this,e),this.value=n}return i(e,t),e.prototype._next=function(t){this.destination.next(this.value)},e}(r.Subscriber)},71177:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(94429);e.materialize=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype._next=function(t){this.destination.next(s.Notification.createNext(t))},e.prototype._error=function(t){var e=this.destination;e.next(s.Notification.createError(t)),e.complete()},e.prototype._complete=function(){var t=this.destination;t.next(s.Notification.createComplete()),t.complete()},e}(r.Subscriber)},33499:function(t,e,n){"use strict";var i=n(97369);e.max=function(t){return i.reduce("function"==typeof t?function(e,n){return t(e,n)>0?e:n}:function(t,e){return t>e?t:e})}},56098:function(t,e,n){"use strict";var i=n(38781),r=n(38781);e.mergeStatic=r.merge,e.merge=function(){for(var t=[],e=0;e0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(s.OuterSubscriber);e.MergeMapSubscriber=a},6693:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.mergeMapTo=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"number"==typeof e&&(n=e,e=null),function(i){return i.lift(new o(t,e,n))}};var o=function(){function t(t,e,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.ish=t,this.resultSelector=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.ish,this.resultSelector,this.concurrent))},t}();e.MergeMapToOperator=o;var a=function(t){function e(e,n,i,r){void 0===r&&(r=Number.POSITIVE_INFINITY),t.call(this,e),this.ish=n,this.resultSelector=i,this.concurrent=r,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){if(this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber);e.MergeMapToSubscriber=a},7550:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(33463),s=n(85814),o=n(93658),a=n(84308);e.mergeScan=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(i){return i.lift(new l(t,e,n))}};var l=function(){function t(t,e,n){this.accumulator=t,this.seed=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.accumulator,this.seed,this.concurrent))},t}();e.MergeScanOperator=l;var c=function(t){function e(e,n,i,r){t.call(this,e),this.accumulator=n,this.acc=i,this.concurrent=r,this.hasValue=!1,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){if(this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())},e}(a.OuterSubscriber);e.MergeScanSubscriber=c},51213:function(t,e,n){"use strict";var i=n(97369);e.min=function(t){return i.reduce("function"==typeof t?function(e,n){return t(e,n)<0?e:n}:function(t,e){return t=2?function(n){return o.pipe(i.scan(t,e),r.takeLast(1),s.defaultIfEmpty(e))(n)}:function(e){return o.pipe(i.scan(function(e,n,i){return t(e,n,i+1)}),r.takeLast(1))(e)}}},1694:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.refCount=function(){return function(t){return t.lift(new s(t))}};var s=function(){function t(t){this.connectable=t}return t.prototype.call=function(t,e){var n=this.connectable;n._refCount++;var i=new o(t,n),r=e.subscribe(i);return i.closed||(i.connection=n.connect()),r},t}(),o=function(t){function e(e,n){t.call(this,e),this.connectable=n}return i(e,t),e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._refCount;if(e<=0)this.connection=null;else if(t._refCount=e-1,e>1)this.connection=null;else{var n=this.connection,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null},e}(r.Subscriber)},15329:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(70481);e.repeat=function(t){return void 0===t&&(t=-1),function(e){return 0===t?new s.EmptyObservable:e.lift(new o(t<0?-1:t-1,e))}};var o=function(){function t(t,e){this.count=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.count,this.source))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.count=n,this.source=i}return i(e,t),e.prototype.complete=function(){if(!this.isStopped){var e=this.source,n=this.count;if(0===n)return t.prototype.complete.call(this);n>-1&&(this.count=n-1),e.subscribe(this._unsubscribeAndRecycle())}},e}(r.Subscriber)},63964:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.repeatWhen=function(t){return function(e){return e.lift(new c(t))}};var c=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.notifier,e))},t}(),u=function(t){function e(e,n,i){t.call(this,e),this.notifier=n,this.source=i,this.sourceIsBeingSubscribedTo=!0}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.sourceIsBeingSubscribedTo=!0,this.source.subscribe(this)},e.prototype.notifyComplete=function(e){if(!1===this.sourceIsBeingSubscribedTo)return t.prototype.complete.call(this)},e.prototype.complete=function(){if(this.sourceIsBeingSubscribedTo=!1,!this.isStopped){if(this.retries||this.subscribeToRetries(),!this.retriesSubscription||this.retriesSubscription.closed)return t.prototype.complete.call(this);this._unsubscribeAndRecycle(),this.notifications.next()}},e.prototype._unsubscribe=function(){var t=this.notifications,e=this.retriesSubscription;t&&(t.unsubscribe(),this.notifications=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null},e.prototype._unsubscribeAndRecycle=function(){var e=this,n=e.notifications,i=e.retries,r=e.retriesSubscription;return this.notifications=null,this.retries=null,this.retriesSubscription=null,t.prototype._unsubscribeAndRecycle.call(this),this.notifications=n,this.retries=i,this.retriesSubscription=r,this},e.prototype.subscribeToRetries=function(){this.notifications=new r.Subject;var e=s.tryCatch(this.notifier)(this.notifications);if(e===o.errorObject)return t.prototype.complete.call(this);this.retries=e,this.retriesSubscription=l.subscribeToResult(this,e)},e}(a.OuterSubscriber)},40241:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.retry=function(t){return void 0===t&&(t=-1),function(e){return e.lift(new s(t,e))}};var s=function(){function t(t,e){this.count=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.count,this.source))},t}(),o=function(t){function e(e,n,i){t.call(this,e),this.count=n,this.source=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=this.source,i=this.count;if(0===i)return t.prototype.error.call(this,e);i>-1&&(this.count=i-1),n.subscribe(this._unsubscribeAndRecycle())}},e}(r.Subscriber)},23896:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.retryWhen=function(t){return function(e){return e.lift(new c(t,e))}};var c=function(){function t(t,e){this.notifier=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.notifier,this.source))},t}(),u=function(t){function e(e,n,i){t.call(this,e),this.notifier=n,this.source=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=this.errors,i=this.retries,a=this.retriesSubscription;if(i)this.errors=null,this.retriesSubscription=null;else{if(n=new r.Subject,(i=s.tryCatch(this.notifier)(n))===o.errorObject)return t.prototype.error.call(this,o.errorObject.e);a=l.subscribeToResult(this,i)}this._unsubscribeAndRecycle(),this.errors=n,this.retries=i,this.retriesSubscription=a,n.next(e)}},e.prototype._unsubscribe=function(){var t=this.errors,e=this.retriesSubscription;t&&(t.unsubscribe(),this.errors=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null},e.prototype.notifyNext=function(t,e,n,i,r){var s=this,o=s.errors,a=s.retries,l=s.retriesSubscription;this.errors=null,this.retries=null,this.retriesSubscription=null,this._unsubscribeAndRecycle(),this.errors=o,this.retries=a,this.retriesSubscription=l,this.source.subscribe(this)},e}(a.OuterSubscriber)},92043:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.sample=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){var n=new a(t),i=e.subscribe(n);return i.add(s.subscribeToResult(n,this.notifier)),i},t}(),a=function(t){function e(){t.apply(this,arguments),this.hasValue=!1}return i(e,t),e.prototype._next=function(t){this.value=t,this.hasValue=!0},e.prototype.notifyNext=function(t,e,n,i,r){this.emitValue()},e.prototype.notifyComplete=function(){this.emitValue()},e.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))},e}(r.OuterSubscriber)},71239:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(90680);e.sampleTime=function(t,e){return void 0===e&&(e=s.async),function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.period=t,this.scheduler=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.period,this.scheduler))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.period=n,this.scheduler=i,this.hasValue=!1,this.add(i.schedule(l,n,{subscriber:this,period:n}))}return i(e,t),e.prototype._next=function(t){this.lastValue=t,this.hasValue=!0},e.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))},e}(r.Subscriber);function l(t){var e=t.period;t.subscriber.notifyNext(),this.schedule(t,e)}},64949:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.scan=function(t,e){var n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new s(t,e,n))}};var s=function(){function t(t,e,n){void 0===n&&(n=!1),this.accumulator=t,this.seed=e,this.hasSeed=n}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.accumulator,this.seed,this.hasSeed))},t}(),o=function(t){function e(e,n,i,r){t.call(this,e),this.accumulator=n,this._seed=i,this.hasSeed=r,this.index=0}return i(e,t),Object.defineProperty(e.prototype,"seed",{get:function(){return this._seed},set:function(t){this.hasSeed=!0,this._seed=t},enumerable:!0,configurable:!0}),e.prototype._next=function(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)},e.prototype._tryNext=function(t){var e,n=this.index++;try{e=this.accumulator(this.seed,t,n)}catch(i){this.destination.error(i)}this.seed=e,this.destination.next(e)},e}(r.Subscriber)},88948:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(33463),o=n(85814);e.sequenceEqual=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.compareTo=t,this.comparor=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.compareTo,this.comparor))},t}();e.SequenceEqualOperator=a;var l=function(t){function e(e,n,i){t.call(this,e),this.compareTo=n,this.comparor=i,this._a=[],this._b=[],this._oneComplete=!1,this.add(n.subscribe(new c(e,this)))}return i(e,t),e.prototype._next=function(t){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(t),this.checkValues())},e.prototype._complete=function(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0},e.prototype.checkValues=function(){for(var t=this,e=t._a,n=t._b,i=t.comparor;e.length>0&&n.length>0;){var r=e.shift(),a=n.shift(),l=!1;i?(l=s.tryCatch(i)(r,a))===o.errorObject&&this.destination.error(o.errorObject.e):l=r===a,l||this.emit(!1)}},e.prototype.emit=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype.nextB=function(t){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(t),this.checkValues())},e}(r.Subscriber);e.SequenceEqualSubscriber=l;var c=function(t){function e(e,n){t.call(this,e),this.parent=n}return i(e,t),e.prototype._next=function(t){this.parent.nextB(t)},e.prototype._error=function(t){this.parent.error(t)},e.prototype._complete=function(){this.parent._complete()},e}(r.Subscriber)},35473:function(t,e,n){"use strict";var i=n(27372),r=n(1694),s=n(2369);function o(){return new s.Subject}e.share=function(){return function(t){return r.refCount()(i.multicast(o)(t))}}},62704:function(t,e,n){"use strict";var i=n(81959);e.shareReplay=function(t,e,n){return function(r){return r.lift(function(t,e,n){var r,s,o=0,a=!1,l=!1;return function(c){o++,(!r||a)&&(a=!1,r=new i.ReplaySubject(t,e,n),s=c.subscribe({next:function(t){r.next(t)},error:function(t){a=!0,r.error(t)},complete:function(){l=!0,r.complete()}}));var u=r.subscribe(this);return function(){o--,u.unsubscribe(),s&&0===o&&l&&s.unsubscribe()}}}(t,e,n))}}},92223:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.single=function(t){return function(e){return e.lift(new o(t,e))}};var o=function(){function t(t,e){this.predicate=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.source))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.predicate=n,this.source=i,this.seenValue=!1,this.index=0}return i(e,t),e.prototype.applySingleValue=function(t){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=t)},e.prototype._next=function(t){var e=this.index++;this.predicate?this.tryNext(t,e):this.applySingleValue(t)},e.prototype.tryNext=function(t,e){try{this.predicate(t,e,this.source)&&this.applySingleValue(t)}catch(n){this.destination.error(n)}},e.prototype._complete=function(){var t=this.destination;this.index>0?(t.next(this.seenValue?this.singleValue:void 0),t.complete()):t.error(new s.EmptyError)},e}(r.Subscriber)},11189:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.skip=function(t){return function(e){return e.lift(new s(t))}};var s=function(){function t(t){this.total=t}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.total))},t}(),o=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return i(e,t),e.prototype._next=function(t){++this.count>this.total&&this.destination.next(t)},e}(r.Subscriber)},73346:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758);e.skipLast=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){if(this._skipCount=t,this._skipCount<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(0===this._skipCount?new r.Subscriber(t):new a(t,this._skipCount))},t}(),a=function(t){function e(e,n){t.call(this,e),this._skipCount=n,this._count=0,this._ring=new Array(n)}return i(e,t),e.prototype._next=function(t){var e=this._skipCount,n=this._count++;if(n1?new i.ArrayObservable(t,n):new s.EmptyObservable(n),e)}}},10118:function(t,e,n){"use strict";var i=n(82966);e.subscribeOn=function(t,e){return void 0===e&&(e=0),function(n){return n.lift(new r(t,e))}};var r=function(){function t(t,e){this.scheduler=t,this.delay=e}return t.prototype.call=function(t,e){return new i.SubscribeOnObservable(e,this.delay,this.scheduler).subscribe(t)},t}()},77243:function(t,e,n){"use strict";var i=n(18483),r=n(5027);e.switchAll=function(){return i.switchMap(r.identity)}},18483:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.switchMap=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.resultSelector=i,this.index=0}return i(e,t),e.prototype._next=function(t){var e,n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this._innerSub(e,t,n)},e.prototype._innerSub=function(t,e,n){var i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=s.subscribeToResult(this,t,e,n))},e.prototype._complete=function(){var e=this.innerSubscription;(!e||e.closed)&&t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){this.resultSelector?this._tryNotifyNext(t,e,n,i):this.destination.next(e)},e.prototype._tryNotifyNext=function(t,e,n,i){var r;try{r=this.resultSelector(t,e,n,i)}catch(s){return void this.destination.error(s)}this.destination.next(r)},e}(r.OuterSubscriber)},10684:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.switchMapTo=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.observable=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.observable,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.inner=n,this.resultSelector=i,this.index=0}return i(e,t),e.prototype._next=function(t){var e=this.innerSubscription;e&&e.unsubscribe(),this.add(this.innerSubscription=s.subscribeToResult(this,this.inner,t,this.index++))},e.prototype._complete=function(){var e=this.innerSubscription;(!e||e.closed)&&t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){var s=this.destination;this.resultSelector?this.tryResultSelector(t,e,n,i):s.next(e)},e.prototype.tryResultSelector=function(t,e,n,i){var r,s=this.resultSelector,o=this.destination;try{r=s(t,e,n,i)}catch(a){return void o.error(a)}o.next(r)},e}(r.OuterSubscriber)},44396:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758),o=n(70481);e.take=function(t){return function(e){return 0===t?new o.EmptyObservable:e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return i(e,t),e.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},e}(r.Subscriber)},73935:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758),o=n(70481);e.takeLast=function(t){return function(e){return 0===t?new o.EmptyObservable:e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.ring=new Array,this.count=0}return i(e,t),e.prototype._next=function(t){var e=this.ring,n=this.total,i=this.count++;e.length0)for(var n=this.count>=this.total?this.total:this.count,i=this.ring,r=0;r0?this.startWindowEvery:this.windowSize,n=this.destination,i=this.windowSize,r=this.windows,o=r.length,a=0;a=0&&l%e==0&&!this.closed&&r.shift().complete(),++this.count%e==0&&!this.closed){var c=new s.Subject;r.push(c),n.next(c)}},e.prototype._error=function(t){var e=this.windows;if(e)for(;e.length>0&&!this.closed;)e.shift().error(t);this.destination.error(t)},e.prototype._complete=function(){var t=this.windows;if(t)for(;t.length>0&&!this.closed;)t.shift().complete();this.destination.complete()},e.prototype._unsubscribe=function(){this.count=0,this.windows=null},e}(r.Subscriber)},42603:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(90680),o=n(42109),a=n(39479),l=n(41503);e.windowTime=function(t){var e=s.async,n=null,i=Number.POSITIVE_INFINITY;return l.isScheduler(arguments[3])&&(e=arguments[3]),l.isScheduler(arguments[2])?e=arguments[2]:a.isNumeric(arguments[2])&&(i=arguments[2]),l.isScheduler(arguments[1])?e=arguments[1]:a.isNumeric(arguments[1])&&(n=arguments[1]),function(r){return r.lift(new c(t,n,i,e))}};var c=function(){function t(t,e,n,i){this.windowTimeSpan=t,this.windowCreationInterval=e,this.maxWindowSize=n,this.scheduler=i}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))},t}(),u=function(t){function e(){t.apply(this,arguments),this._numberOfNextedValues=0}return i(e,t),e.prototype.next=function(e){this._numberOfNextedValues++,t.prototype.next.call(this,e)},Object.defineProperty(e.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0}),e}(r.Subject),h=function(t){function e(e,n,i,r,s){t.call(this,e),this.destination=e,this.windowTimeSpan=n,this.windowCreationInterval=i,this.maxWindowSize=r,this.scheduler=s,this.windows=[];var o=this.openWindow();if(null!==i&&i>=0){var a={windowTimeSpan:n,windowCreationInterval:i,subscriber:this,scheduler:s};this.add(s.schedule(f,n,{subscriber:this,window:o,context:null})),this.add(s.schedule(p,i,a))}else this.add(s.schedule(d,n,{subscriber:this,window:o,windowTimeSpan:n}))}return i(e,t),e.prototype._next=function(t){for(var e=this.windows,n=e.length,i=0;i=this.maxWindowSize&&this.closeWindow(r))}},e.prototype._error=function(t){for(var e=this.windows;e.length>0;)e.shift().error(t);this.destination.error(t)},e.prototype._complete=function(){for(var t=this.windows;t.length>0;){var e=t.shift();e.closed||e.complete()}this.destination.complete()},e.prototype.openWindow=function(){var t=new u;return this.windows.push(t),this.destination.next(t),t},e.prototype.closeWindow=function(t){t.complete();var e=this.windows;e.splice(e.indexOf(t),1)},e}(o.Subscriber);function d(t){var e=t.subscriber,n=t.windowTimeSpan,i=t.window;i&&e.closeWindow(i),t.window=e.openWindow(),this.schedule(t,n)}function p(t){var e=t.windowTimeSpan,n=t.subscriber,i=t.scheduler,r=t.windowCreationInterval,s=n.openWindow(),o=this,a={action:o,subscription:null};a.subscription=i.schedule(f,e,{subscriber:n,window:s,context:a}),o.add(a.subscription),o.schedule(t,r)}function f(t){var e=t.subscriber,n=t.window,i=t.context;i&&i.action&&i.subscription&&i.action.remove(i.subscription),e.closeWindow(n)}},59048:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(72293),o=n(33463),a=n(85814),l=n(84308),c=n(93658);e.windowToggle=function(t,e){return function(n){return n.lift(new u(t,e))}};var u=function(){function t(t,e){this.openings=t,this.closingSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.openings,this.closingSelector))},t}(),h=function(t){function e(e,n,i){t.call(this,e),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(this.openSubscription=c.subscribeToResult(this,n,n))}return i(e,t),e.prototype._next=function(t){var e=this.contexts;if(e)for(var n=e.length,i=0;i0){var o=s.indexOf(n);-1!==o&&s.splice(o,1)}},e.prototype.notifyComplete=function(){},e.prototype._next=function(t){if(0===this.toRespond.length){var e=[t].concat(this.values);this.project?this._tryProject(e):this.destination.next(e)}},e.prototype._tryProject=function(t){var e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(r.OuterSubscriber)},9477:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(96177),s=n(48242),o=n(42109),a=n(84308),l=n(93658),c=n(72121);function u(){for(var t=[],e=0;ethis.index},t.prototype.hasCompleted=function(){return this.array.length===this.index},t}(),g=function(t){function e(e,n,i){t.call(this,e),this.parent=n,this.observable=i,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}return i(e,t),e.prototype[c.iterator]=function(){return this},e.prototype.next=function(){var t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}},e.prototype.hasValue=function(){return this.buffer.length>0},e.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},e.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},e.prototype.notifyNext=function(t,e,n,i,r){this.buffer.push(e),this.parent.checkIterators()},e.prototype.subscribe=function(t,e){return l.subscribeToResult(this,this.observable,this,e)},e}(a.OuterSubscriber)},33310:function(t,e,n){"use strict";var i=n(9477);e.zipAll=function(t){return function(e){return e.lift(new i.ZipOperator(t))}}},28101:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this)}return i(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(n(72293).Subscription);e.Action=r},67529:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(12624),s=n(95018),o=function(t){function e(e,n){t.call(this,e,n),this.scheduler=e,this.work=n}return i(e,t),e.prototype.requestAsyncId=function(e,n,i){return void 0===i&&(i=0),null!==i&&i>0?t.prototype.requestAsyncId.call(this,e,n,i):(e.actions.push(this),e.scheduled||(e.scheduled=s.AnimationFrame.requestAnimationFrame(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,i);0===e.actions.length&&(s.AnimationFrame.cancelAnimationFrame(n),e.scheduled=void 0)},e}(r.AsyncAction);e.AnimationFrameAction=o},68909:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,i=-1,r=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++i0?t.prototype.requestAsyncId.call(this,e,n,i):(e.actions.push(this),e.scheduled||(e.scheduled=r.Immediate.setImmediate(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,i);0===e.actions.length&&(r.Immediate.clearImmediate(n),e.scheduled=void 0)},e}(n(12624).AsyncAction);e.AsapAction=s},25766:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,i=-1,r=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++i0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,i){return void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,i):e.flush(this)},e}(n(12624).AsyncAction);e.QueueAction=r},77373:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e}(n(42704).AsyncScheduler);e.QueueScheduler=r},18353:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(12624),s=function(t){function e(e,n){var i=this;void 0===e&&(e=o),void 0===n&&(n=Number.POSITIVE_INFINITY),t.call(this,e,function(){return i.frame}),this.maxFrames=n,this.frame=0,this.index=-1}return i(e,t),e.prototype.flush=function(){for(var t,e,n=this.actions,i=this.maxFrames;(e=n.shift())&&(this.frame=e.delay)<=i&&!(t=e.execute(e.state,e.delay)););if(t){for(;e=n.shift();)e.unsubscribe();throw t}},e.frameTimeFactor=10,e}(n(42704).AsyncScheduler);e.VirtualTimeScheduler=s;var o=function(t){function e(e,n,i){void 0===i&&(i=e.index+=1),t.call(this,e,n),this.scheduler=e,this.work=n,this.index=i,this.active=!0,this.index=e.index=i}return i(e,t),e.prototype.schedule=function(n,i){if(void 0===i&&(i=0),!this.id)return t.prototype.schedule.call(this,n,i);this.active=!1;var r=new e(this.scheduler,this.work);return this.add(r),r.schedule(n,i)},e.prototype.requestAsyncId=function(t,n,i){void 0===i&&(i=0),this.delay=t.frame+i;var r=t.actions;return r.push(this),r.sort(e.sortActions),!0},e.prototype.recycleAsyncId=function(t,e,n){void 0===n&&(n=0)},e.prototype._execute=function(e,n){if(!0===this.active)return t.prototype._execute.call(this,e,n)},e.sortActions=function(t,e){return t.delay===e.delay?t.index===e.index?0:t.index>e.index?1:-1:t.delay>e.delay?1:-1},e}(r.AsyncAction);e.VirtualAction=o},12948:function(t,e,n){"use strict";var i=n(67529),r=n(68909);e.animationFrame=new r.AnimationFrameScheduler(i.AnimationFrameAction)},85522:function(t,e,n){"use strict";var i=n(3496),r=n(25766);e.asap=new r.AsapScheduler(i.AsapAction)},90680:function(t,e,n){"use strict";var i=n(12624),r=n(42704);e.async=new r.AsyncScheduler(i.AsyncAction)},97088:function(t,e,n){"use strict";var i=n(7100),r=n(77373);e.queue=new r.QueueScheduler(i.QueueAction)},72121:function(t,e,n){"use strict";var i=n(80019);function r(t){var e=t.Symbol;if("function"==typeof e)return e.iterator||(e.iterator=e("iterator polyfill")),e.iterator;var n=t.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var i=t.Map;if(i)for(var r=Object.getOwnPropertyNames(i.prototype),s=0;s0;)e.shift().setup();t.prototype.flush.call(this);for(var n=this.flushTests.filter(function(t){return t.ready});n.length>0;){var i=n.shift();this.assertDeepEqual(i.actual,i.expected)}},e.parseMarblesAsSubscriptions=function(t){if("string"!=typeof t)return new l.SubscriptionLog(Number.POSITIVE_INFINITY);for(var e=t.length,n=-1,i=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,s=0;s-1?n:o;break;case"!":if(r!==Number.POSITIVE_INFINITY)throw new Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");r=n>-1?n:o;break;default:throw new Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+a+"'.")}}return r<0?new l.SubscriptionLog(i):new l.SubscriptionLog(i,r)},e.parseMarbles=function(t,e,n,i){if(void 0===i&&(i=!1),-1!==t.indexOf("!"))throw new Error('conventional marble diagrams cannot have the unsubscription marker "!"');for(var r=t.length,a=[],l=t.indexOf("^"),c=-1===l?0:l*-this.frameTimeFactor,u="object"!=typeof e?function(t){return t}:function(t){return i&&e[t]instanceof o.ColdObservable?e[t].messages:e[t]},h=-1,d=0;d-1?h:p,notification:f})}return a},e}(c.VirtualTimeScheduler);e.TestScheduler=u},95018:function(t,e,n){"use strict";var i=n(80019),r=function(t){t.requestAnimationFrame?(this.cancelAnimationFrame=t.cancelAnimationFrame.bind(t),this.requestAnimationFrame=t.requestAnimationFrame.bind(t)):t.mozRequestAnimationFrame?(this.cancelAnimationFrame=t.mozCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.mozRequestAnimationFrame.bind(t)):t.webkitRequestAnimationFrame?(this.cancelAnimationFrame=t.webkitCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.webkitRequestAnimationFrame.bind(t)):t.msRequestAnimationFrame?(this.cancelAnimationFrame=t.msCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.msRequestAnimationFrame.bind(t)):t.oRequestAnimationFrame?(this.cancelAnimationFrame=t.oCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.oRequestAnimationFrame.bind(t)):(this.cancelAnimationFrame=t.clearTimeout.bind(t),this.requestAnimationFrame=function(e){return t.setTimeout(e,1e3/60)})};e.RequestAnimationFrameDefinition=r,e.AnimationFrame=new r(i.root)},11758:function(t,e){"use strict";var n=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},i=function(t){function e(){var e=t.call(this,"argument out of range");this.name=e.name="ArgumentOutOfRangeError",this.stack=e.stack,this.message=e.message}return n(e,t),e}(Error);e.ArgumentOutOfRangeError=i},44640:function(t,e){"use strict";var n=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},i=function(t){function e(){var e=t.call(this,"no elements in sequence");this.name=e.name="EmptyError",this.stack=e.stack,this.message=e.message}return n(e,t),e}(Error);e.EmptyError=i},30764:function(t,e){"use strict";var n=function(){function t(){this.values={}}return t.prototype.delete=function(t){return this.values[t]=null,!0},t.prototype.set=function(t,e){return this.values[t]=e,this},t.prototype.get=function(t){return this.values[t]},t.prototype.forEach=function(t,e){var n=this.values;for(var i in n)n.hasOwnProperty(i)&&null!==n[i]&&t.call(e,n[i],i)},t.prototype.clear=function(){this.values={}},t}();e.FastMap=n},42982:function(t,e,n){"use strict";var i=n(80019),r=function(){function t(t){if(this.root=t,t.setImmediate&&"function"==typeof t.setImmediate)this.setImmediate=t.setImmediate.bind(t),this.clearImmediate=t.clearImmediate.bind(t);else{this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.setImmediate=this.canUseProcessNextTick()?this.createProcessNextTickSetImmediate():this.canUsePostMessage()?this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.createReadyStateChangeSetImmediate():this.createSetTimeoutSetImmediate();var e=function t(e){delete t.instance.tasksByHandle[e]};e.instance=this,this.clearImmediate=e}}return t.prototype.identify=function(t){return this.root.Object.prototype.toString.call(t)},t.prototype.canUseProcessNextTick=function(){return"[object process]"===this.identify(this.root.process)},t.prototype.canUseMessageChannel=function(){return Boolean(this.root.MessageChannel)},t.prototype.canUseReadyStateChange=function(){var t=this.root.document;return Boolean(t&&"onreadystatechange"in t.createElement("script"))},t.prototype.canUsePostMessage=function(){var t=this.root;if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}return!1},t.prototype.partiallyApplied=function(t){for(var e=[],n=1;n=0}},1856:function(t,e){"use strict";e.isObject=function(t){return null!=t&&"object"==typeof t}},35130:function(t,e){"use strict";e.isPromise=function(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}},41503:function(t,e){"use strict";e.isScheduler=function(t){return t&&"function"==typeof t.schedule}},68668:function(t,e){"use strict";e.noop=function(){}},67239:function(t,e){"use strict";e.not=function(t,e){function n(){return!n.pred.apply(n.thisArg,arguments)}return n.pred=t,n.thisArg=e,n}},10142:function(t,e,n){"use strict";var i=n(68668);function r(t){return t?1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)}:i.noop}e.pipe=function(){for(var t=[],e=0;e>16),l((65280&i)>>8),l(255&i);return 2==r?l(255&(i=c(t.charAt(n))<<2|c(t.charAt(n+1))>>4)):1==r&&(l((i=c(t.charAt(n))<<10|c(t.charAt(n+1))<<4|c(t.charAt(n+2))>>2)>>8&255),l(255&i)),s},t.fromByteArray=function(t){var e,n,i,r,s=t.length%3,o="";function a(t){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t)}for(e=0,i=t.length-s;e>18&63)+a(r>>12&63)+a(r>>6&63)+a(63&r);switch(s){case 1:o=(o+=a((n=t[t.length-1])>>2))+a(n<<4&63)+"==";break;case 2:o=(o=(o+=a((n=(t[t.length-2]<<8)+t[t.length-1])>>10))+a(n>>4&63))+a(n<<2&63)+"="}return o}}(void 0===n?this.base64js={}:n)}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(t,e,n){(function(e,i,r,s,o,a,l,c,u){var h=t("base64-js"),d=t("ieee754");function r(t,e,n){if(!(this instanceof r))return new r(t,e,n);var i,s,o,a,l=typeof t;if("base64"===e&&"string"==l)for(t=(a=t).trim?a.trim():a.replace(/^\s+|\s+$/g,"");t.length%4!=0;)t+="=";if("number"==l)i=T(t);else if("string"==l)i=r.byteLength(t,e);else{if("object"!=l)throw new Error("First argument needs to be a number, array or string.");i=T(t.length)}if(r._useTypedArrays?s=r._augment(new Uint8Array(i)):((s=this).length=i,s._isBuffer=!0),r._useTypedArrays&&"number"==typeof t.byteLength)s._set(t);else if(k(a=t)||r.isBuffer(a)||a&&"object"==typeof a&&"number"==typeof a.length)for(o=0;o>>0)):(e+1>>0),r}function g(t,e,n,i){if(i||(j("boolean"==typeof n,"missing or invalid endian"),j(null!=e,"missing offset"),j(e+1>>8*(i?s:1-s)}function _(t,e,n,i,r){if(r||(j(null!=e,"missing value"),j("boolean"==typeof i,"missing or invalid endian"),j(null!=n,"missing offset"),j(n+3>>8*(i?s:3-s)&255}function w(t,e,n,i,r){r||(j(null!=e,"missing value"),j("boolean"==typeof i,"missing or invalid endian"),j(null!=n,"missing offset"),j(n+1>8,i.push(n%=256),i.push(e);return i}(e),t,n,i)}(this,t,e,n);break;default:throw new Error("Unknown encoding")}return s},r.prototype.toString=function(t,e,n){var i,r,s,o,a=this;if(t=String(t||"utf8").toLowerCase(),e=Number(e)||0,(n=void 0!==n?Number(n):a.length)===e)return"";switch(t){case"hex":i=function(t,e,n){var i=t.length;(!e||e<0)&&(e=0),(!n||n<0||ithis.length&&(i=this.length);var s=(i=t.length-e=this.length))return this[t]},r.prototype.readUInt16LE=function(t,e){return p(this,t,!0,e)},r.prototype.readUInt16BE=function(t,e){return p(this,t,!1,e)},r.prototype.readUInt32LE=function(t,e){return f(this,t,!0,e)},r.prototype.readUInt32BE=function(t,e){return f(this,t,!1,e)},r.prototype.readInt8=function(t,e){if(e||(j(null!=t,"missing offset"),j(t=this.length))return 128&this[t]?-1*(255-this[t]+1):this[t]},r.prototype.readInt16LE=function(t,e){return g(this,t,!0,e)},r.prototype.readInt16BE=function(t,e){return g(this,t,!1,e)},r.prototype.readInt32LE=function(t,e){return m(this,t,!0,e)},r.prototype.readInt32BE=function(t,e){return m(this,t,!1,e)},r.prototype.readFloatLE=function(t,e){return b(this,t,!0,e)},r.prototype.readFloatBE=function(t,e){return b(this,t,!1,e)},r.prototype.readDoubleLE=function(t,e){return y(this,t,!0,e)},r.prototype.readDoubleBE=function(t,e){return y(this,t,!1,e)},r.prototype.writeUInt8=function(t,e,n){n||(j(null!=t,"missing value"),j(null!=e,"missing offset"),j(e=this.length||(this[e]=t)},r.prototype.writeUInt16LE=function(t,e,n){v(this,t,e,!0,n)},r.prototype.writeUInt16BE=function(t,e,n){v(this,t,e,!1,n)},r.prototype.writeUInt32LE=function(t,e,n){_(this,t,e,!0,n)},r.prototype.writeUInt32BE=function(t,e,n){_(this,t,e,!1,n)},r.prototype.writeInt8=function(t,e,n){n||(j(null!=t,"missing value"),j(null!=e,"missing offset"),j(e=this.length||this.writeUInt8(0<=t?t:255+t+1,e,n)},r.prototype.writeInt16LE=function(t,e,n){w(this,t,e,!0,n)},r.prototype.writeInt16BE=function(t,e,n){w(this,t,e,!1,n)},r.prototype.writeInt32LE=function(t,e,n){x(this,t,e,!0,n)},r.prototype.writeInt32BE=function(t,e,n){x(this,t,e,!1,n)},r.prototype.writeFloatLE=function(t,e,n){S(this,t,e,!0,n)},r.prototype.writeFloatBE=function(t,e,n){S(this,t,e,!1,n)},r.prototype.writeDoubleLE=function(t,e,n){C(this,t,e,!0,n)},r.prototype.writeDoubleBE=function(t,e,n){C(this,t,e,!1,n)},r.prototype.fill=function(t,e,n){if(e=e||0,n=n||this.length,j("number"==typeof(t="string"==typeof(t=t||0)?t.charCodeAt(0):t)&&!isNaN(t),"value is not a number"),j(e<=n,"end < start"),n!==e&&0!==this.length){j(0<=e&&e"},r.prototype.toArrayBuffer=function(){if("undefined"==typeof Uint8Array)throw new Error("Buffer.toArrayBuffer not supported in this browser");if(r._useTypedArrays)return new r(this).buffer;for(var t=new Uint8Array(this.length),e=0,n=t.length;e=e.length||r>=t.length);r++)e[r+n]=t[r];return r}function D(t){try{return decodeURIComponent(t)}catch(e){return String.fromCharCode(65533)}}function R(t,e){j("number"==typeof t,"cannot write a non-number as a number"),j(0<=t,"specified a negative value for writing an unsigned value"),j(t<=e,"value is larger than maximum value for type"),j(Math.floor(t)===t,"value has a fractional component")}function N(t,e,n){j("number"==typeof t,"cannot write a non-number as a number"),j(t<=e,"value larger than maximum allowed value"),j(n<=t,"value smaller than minimum allowed value"),j(Math.floor(t)===t,"value has a fractional component")}function L(t,e,n){j("number"==typeof t,"cannot write a non-number as a number"),j(t<=e,"value larger than maximum allowed value"),j(n<=t,"value smaller than minimum allowed value")}function j(t,e){if(!t)throw new Error(e||"Failed assertion")}r._augment=function(t){return t._isBuffer=!0,t._get=t.get,t._set=t.set,t.get=E.get,t.set=E.set,t.write=E.write,t.toString=E.toString,t.toLocaleString=E.toString,t.toJSON=E.toJSON,t.copy=E.copy,t.slice=E.slice,t.readUInt8=E.readUInt8,t.readUInt16LE=E.readUInt16LE,t.readUInt16BE=E.readUInt16BE,t.readUInt32LE=E.readUInt32LE,t.readUInt32BE=E.readUInt32BE,t.readInt8=E.readInt8,t.readInt16LE=E.readInt16LE,t.readInt16BE=E.readInt16BE,t.readInt32LE=E.readInt32LE,t.readInt32BE=E.readInt32BE,t.readFloatLE=E.readFloatLE,t.readFloatBE=E.readFloatBE,t.readDoubleLE=E.readDoubleLE,t.readDoubleBE=E.readDoubleBE,t.writeUInt8=E.writeUInt8,t.writeUInt16LE=E.writeUInt16LE,t.writeUInt16BE=E.writeUInt16BE,t.writeUInt32LE=E.writeUInt32LE,t.writeUInt32BE=E.writeUInt32BE,t.writeInt8=E.writeInt8,t.writeInt16LE=E.writeInt16LE,t.writeInt16BE=E.writeInt16BE,t.writeInt32LE=E.writeInt32LE,t.writeInt32BE=E.writeInt32BE,t.writeFloatLE=E.writeFloatLE,t.writeFloatBE=E.writeFloatBE,t.writeDoubleLE=E.writeDoubleLE,t.writeDoubleBE=E.writeDoubleBE,t.fill=E.fill,t.inspect=E.inspect,t.toArrayBuffer=E.toArrayBuffer,t}}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(t,e,n){(function(n,i,r,s,o,a,l,c,u){r=t("buffer").Buffer;var h=new r(4);h.fill(0),e.exports={hash:function(t,e,n,i){for(var s=e(function(t,e){t.length%4!=0&&(t=r.concat([t,h],t.length+(4-t.length%4)));for(var n=[],i=e?t.readInt32BE:t.readInt32LE,s=0;sg?e=t(e):e.length>5]|=128<>>9<<4)]=e;for(var n=1732584193,i=-271733879,r=-1732584194,s=271733878,o=0;o>>32-r,n)}function f(t,e,n,i,r,s,o){return p(e&n|~e&i,t,e,r,s,o)}function g(t,e,n,i,r,s,o){return p(e&i|n&~i,t,e,r,s,o)}function m(t,e,n,i,r,s,o){return p(e^n^i,t,e,r,s,o)}function b(t,e,n,i,r,s,o){return p(n^(e|~i),t,e,r,s,o)}function y(t,e){var n=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(n>>16)<<16|65535&n}e.exports=function(t){return h.hash(t,d,16)}}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(t,e,n){(function(t,n,i,r,s,o,a,l,c){e.exports=function(t){for(var e,n=new Array(t),i=0;i>>((3&i)<<3)&255;return n}}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(t,e,n){(function(n,i,r,s,o,a,l,c,u){var h=t("./helpers");function d(t,e){t[e>>5]|=128<<24-e%32,t[15+(e+64>>9<<4)]=e;for(var n,i,r,s=Array(80),o=1732584193,a=-271733879,l=-1732584194,c=271733878,u=-1009589776,h=0;h>16)+(e>>16)+(n>>16)<<16|65535&n}function f(t,e){return t<>>32-e}e.exports=function(t){return h.hash(t,d,20,!0)}}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(t,e,n){(function(n,i,r,s,o,a,l,c,u){function h(t,e){var n=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(n>>16)<<16|65535&n}function d(t,e){var n,i=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),r=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),s=new Array(64);t[e>>5]|=128<<24-e%32,t[15+(e+64>>9<<4)]=e;for(var o,a,l=0;l>>e|t<<32-e},g=function(t,e){return t>>>e};e.exports=function(t){return p.hash(t,d,32,!0)}}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(t,e,n){(function(t,e,i,r,s,o,a,l,c){n.read=function(t,e,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,h=n?r-1:0,d=n?-1:1;for(r=t[e+h],h+=d,s=r&(1<<-u)-1,r>>=-u,u+=a;0>=-u,u+=i;0>1,h=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:s-1,p=i?1:-1;for(s=e<0||0===e&&1/e<0?1:0,e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(i=Math.pow(2,-o))<1&&(o--,i*=2),2<=(e+=1<=o+u?h/i:h*Math.pow(2,1-u))*i&&(o++,i/=2),c<=o+u?(a=0,o=c):1<=o+u?(a=(e*i-1)*Math.pow(2,r),o+=u):(a=e*Math.pow(2,u-1)*Math.pow(2,r),o=0));8<=r;t[n+d]=255&a,d+=p,a/=256,r-=8);for(o=o<=n?{done:!0}:{done:!1,value:t[i++]}})},e.empty=function(){var t=new e(null);return t.done=!0,t},e.is=function(t){return t instanceof e||"object"==typeof t&&null!==t&&"function"==typeof t.next},t.exports=e},97310:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.isMobile=function(){return void 0!==r.window.orientation},e.default=function(t){if(!t&&!(0,s.default)())return"Node";if((0,o.default)(t))return"Electron";var e="undefined"!=typeof navigator?navigator:{},n=t||e.userAgent||"";if(n.indexOf("Edge")>-1)return"Edge";var i=-1!==n.indexOf("MSIE "),a=-1!==n.indexOf("Trident/");return i||a?"IE":r.window.chrome?"Chrome":r.window.safari?"Safari":r.window.mozInnerScreenX?"Firefox":"Unknown"};var r=n(41151),s=i(n(61602)),o=i(n(22344))},41151:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.console=e.process=e.document=e.global=e.window=e.self=void 0;var r=i(n(34321)),s={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&process};e.self=s.self||s.window||s.global,e.window=s.window||s.self||s.global,e.global=s.global||s.self||s.window,e.document=s.document||{},e.process=s.process||{};var o=console;e.console=o},84761:function(t,e,n){"use strict";var i=n(61948),r=n(34321);Object.defineProperty(e,"CO",{enumerable:!0,get:function(){return s.global}}),Object.defineProperty(e,"qs",{enumerable:!0,get:function(){return o.default}});var s=n(41151),o=(l(n(61602)),l(n(97310)));i(n(22344));function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}function l(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!==r(t)&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in t)if("default"!==o&&Object.prototype.hasOwnProperty.call(t,o)){var l=s?Object.getOwnPropertyDescriptor(t,o):null;l&&(l.get||l.set)?Object.defineProperty(i,o,l):i[o]=t[o]}return i.default=t,n&&n.set(t,i),i}},61602:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.default=o,e.isBrowserMainThread=function(){return o()&&"undefined"!=typeof document};var r=i(n(34321)),s=i(n(22344));function o(){return!("object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,s.default)()}},22344:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){if("undefined"!=typeof window&&"object"===(0,r.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,r.default)(process.versions)&&Boolean(process.versions.electron))return!0;var e="object"===("undefined"==typeof navigator?"undefined":(0,r.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||e;return!!(n&&n.indexOf("Electron")>=0)};var r=i(n(34321))},86991:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(n(14180),e),r(n(75103),e),r(n(48965),e),r(n(32595),e),r(n(82417),e),r(n(92451),e),r(n(17735),e)},14180:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BlankNode=void 0,e.BlankNode=class{constructor(t){this.termType="BlankNode",this.value=t}equals(t){return!!t&&"BlankNode"===t.termType&&t.value===this.value}}},75103:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataFactory=void 0;const i=n(14180),r=n(48965),s=n(32595),o=n(82417),a=n(92451),l=n(17735);let c=0;e.DataFactory=class{constructor(t){this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||`df_${c++}_`}namedNode(t){return new o.NamedNode(t)}blankNode(t){return new i.BlankNode(t||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(t,e){return new s.Literal(t,e)}variable(t){return new l.Variable(t)}defaultGraph(){return r.DefaultGraph.INSTANCE}quad(t,e,n,i){return new a.Quad(t,e,n,i||this.defaultGraph())}fromTerm(t){switch(t.termType){case"NamedNode":return this.namedNode(t.value);case"BlankNode":return this.blankNode(t.value);case"Literal":return t.language?this.literal(t.value,t.language):t.datatype.equals(s.Literal.XSD_STRING)?this.literal(t.value):this.literal(t.value,this.fromTerm(t.datatype));case"Variable":return this.variable(t.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(t.subject),this.fromTerm(t.predicate),this.fromTerm(t.object),this.fromTerm(t.graph))}}fromQuad(t){return this.fromTerm(t)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},48965:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultGraph=void 0;class n{constructor(){this.termType="DefaultGraph",this.value=""}equals(t){return!!t&&"DefaultGraph"===t.termType}}e.DefaultGraph=n,n.INSTANCE=new n},32595:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Literal=void 0;const i=n(82417);class r{constructor(t,e){this.termType="Literal",this.value=t,"string"==typeof e?(this.language=e,this.datatype=r.RDF_LANGUAGE_STRING):e?(this.language="",this.datatype=e):(this.language="",this.datatype=r.XSD_STRING)}equals(t){return!!t&&"Literal"===t.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}e.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},82417:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NamedNode=void 0,e.NamedNode=class{constructor(t){this.termType="NamedNode",this.value=t}equals(t){return!!t&&"NamedNode"===t.termType&&t.value===this.value}}},92451:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Quad=void 0,e.Quad=class{constructor(t,e,n,i){this.termType="Quad",this.value="",this.subject=t,this.predicate=e,this.object=n,this.graph=i}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&this.subject.equals(t.subject)&&this.predicate.equals(t.predicate)&&this.object.equals(t.object)&&this.graph.equals(t.graph)}}},17735:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Variable=void 0,e.Variable=class{constructor(t){this.termType="Variable",this.value=t}equals(t){return!!t&&"Variable"===t.termType&&t.value===this.value}}},31609:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.getSupportedJavaScriptPrimitives=e.getSupportedRdfDatatypes=e.getTermRaw=e.toRdf=e.fromRdf=void 0;const s=n(86991),o=n(9938),a=n(66060);r(n(9938),e),r(n(88871),e),r(n(66060),e);const l=new s.DataFactory,c=new a.Translator;function u(t,e){return c.fromRdf(t,e)}c.registerHandler(new o.TypeHandlerString,o.TypeHandlerString.TYPES.map(t=>l.namedNode(t)),["string"]),c.registerHandler(new o.TypeHandlerBoolean,[o.TypeHandlerBoolean.TYPE].map(t=>l.namedNode(t)),["boolean"]),c.registerHandler(new o.TypeHandlerNumberDouble,o.TypeHandlerNumberDouble.TYPES.map(t=>l.namedNode(t)),["number"]),c.registerHandler(new o.TypeHandlerNumberInteger,o.TypeHandlerNumberInteger.TYPES.map(t=>l.namedNode(t)),["number"]),c.registerHandler(new o.TypeHandlerDate,o.TypeHandlerDate.TYPES.map(t=>l.namedNode(t)),["object"]),e.fromRdf=u,e.toRdf=function(t,e){return e&&"namedNode"in e&&(e={dataFactory:e}),(e=e||{})&&!e.dataFactory&&(e.dataFactory=l),c.toRdf(t,e)},e.getTermRaw=function(t,e){return"Literal"===t.termType?u(t,e):t.value},e.getSupportedRdfDatatypes=function(){return c.getSupportedRdfDatatypes()},e.getSupportedJavaScriptPrimitives=function(){return c.getSupportedJavaScriptPrimitives()}},88871:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},66060:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Translator=void 0,e.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(t){throw new Error(`Invalid RDF ${t.datatype.value} value: '${t.value}'`)}registerHandler(t,e,n){for(const i of e)this.supportedRdfDatatypes.push(i),this.fromRdfHandlers[i.value]=t;for(const i of n){let e=this.toRdfHandlers[i];e||(this.toRdfHandlers[i]=e=[]),e.push(t)}}fromRdf(t,e){const n=this.fromRdfHandlers[t.datatype.value];return n?n.fromRdf(t,e):t.value}toRdf(t,e){const n=this.toRdfHandlers[typeof t];if(n)for(const i of n){const n=i.toRdf(t,e);if(n)return n}throw new Error(`Invalid JavaScript value: '${t}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},80727:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerBoolean=void 0;const i=n(66060);class r{fromRdf(t,e){switch(t.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return e&&i.Translator.incorrectRdfDataType(t),!1}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(t?"true":"false",e||n.namedNode(r.TYPE))}}e.TypeHandlerBoolean=r,r.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},52525:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerDate=void 0;const i=n(66060);class r{fromRdf(t,e){switch(e&&!t.value.match(r.VALIDATORS[t.datatype.value.substr(33,t.datatype.value.length)])&&i.Translator.incorrectRdfDataType(t),t.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(t.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const e=t.value.split("-");return new Date(0,parseInt(e[0],10)-1,parseInt(e[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(t.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(t.value+"-01");default:return new Date(t.value)}}toRdf(t,{datatype:e,dataFactory:n}){if(e=e||n.namedNode(r.TYPES[0]),!(t instanceof Date))return null;const i=t;let s;switch(e.value){case"http://www.w3.org/2001/XMLSchema#gDay":s=String(i.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":s=i.getUTCMonth()+1+"-"+i.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":s=String(i.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":s=i.getUTCFullYear()+"-"+(i.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":s=i.toISOString().replace(/T.*$/,"");break;default:s=i.toISOString()}return n.literal(s,e)}}e.TypeHandlerDate=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],r.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},38554:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerNumberDouble=void 0;const i=n(66060);class r{fromRdf(t,e){const n=parseFloat(t.value);return e&&isNaN(n)&&i.Translator.incorrectRdfDataType(t),n}toRdf(t,{datatype:e,dataFactory:n}){return e=e||n.namedNode(r.TYPES[0]),isNaN(t)?n.literal("NaN",e):isFinite(t)?t%1==0?null:n.literal(t.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),e):n.literal(t>0?"INF":"-INF",e)}}e.TypeHandlerNumberDouble=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},37750:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerNumberInteger=void 0;const i=n(66060);class r{fromRdf(t,e){const n=parseInt(t.value,10);return e&&(isNaN(n)||t.value.indexOf(".")>=0)&&i.Translator.incorrectRdfDataType(t),n}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(String(t),e||n.namedNode(t<=r.MAX_INT&&t>=r.MIN_INT?r.TYPES[0]:r.TYPES[1]))}}e.TypeHandlerNumberInteger=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],r.MAX_INT=2147483647,r.MIN_INT=-2147483648},14608:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerString=void 0;class n{fromRdf(t){return t.value}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(t,e)}}e.TypeHandlerString=n,n.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(n(80727),e),r(n(52525),e),r(n(38554),e),r(n(37750),e),r(n(14608),e)},51316:function(t,e,n){"use strict";var i={};n.r(i),n.d(i,{decode:function(){return xj},encode:function(){return Cj}});var r={};n.r(r),n.d(r,{decode:function(){return Aj},encode:function(){return Ij}});var s={};n.r(s),n.d(s,{decode:function(){return Dj},encode:function(){return Nj}});var o={};function a(t){return"function"==typeof t}n.r(o),n.d(o,{decode:function(){return jj},encode:function(){return Bj}});let l=!1;const c={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else l&&console.log("RxJS: Back to a better error behavior. Thank you. <3");l=t},get useDeprecatedSynchronousErrorHandling(){return l}};function u(t){setTimeout(()=>{throw t},0)}const h={closed:!0,next(t){},error(t){if(c.useDeprecatedSynchronousErrorHandling)throw t;u(t)},complete(){}},d=Array.isArray||(t=>t&&"number"==typeof t.length);function p(t){return null!==t&&"object"==typeof t}const f=(()=>{function t(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t})();class g{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let t;if(this.closed)return;let{_parentOrParents:e,_ctorUnsubscribe:n,_unsubscribe:i,_subscriptions:r}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,e instanceof g)e.remove(this);else if(null!==e)for(let a=0;at.concat(e instanceof f?e.errors:e),[])}g.EMPTY=((m=new g).closed=!0,m);const y="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class v extends g{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=h;break;case 1:if(!t){this.destination=h;break}if("object"==typeof t){t instanceof v?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new _(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new _(this,t,e,n)}}[y](){return this}static create(t,e,n){const i=new v(t,e,n);return i.syncErrorThrowable=!1,i}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class _ extends v{constructor(t,e,n,i){super(),this._parentSubscriber=t;let r,s=this;a(e)?r=e:e&&(r=e.next,n=e.error,i=e.complete,e!==h&&(s=Object.create(e),a(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=r,this._error=n,this._complete=i}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;c.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=c;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):u(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;u(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);c.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(n){if(this.unsubscribe(),c.useDeprecatedSynchronousErrorHandling)throw n;u(n)}}__tryOrSetError(t,e,n){if(!c.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(i){return c.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=i,t.syncErrorThrown=!0,!0):(u(i),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const w="function"==typeof Symbol&&Symbol.observable||"@@observable";function x(t){return t}function S(...t){return C(t)}function C(t){return 0===t.length?x:1===t.length?t[0]:function(e){return t.reduce((t,e)=>e(t),e)}}let E=(()=>{class t{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(e){const n=new t;return n.source=this,n.operator=e,n}subscribe(t,e,n){const{operator:i}=this,r=function(t,e,n){if(t){if(t instanceof v)return t;if(t[y])return t[y]()}return t||e||n?new v(t,e,n):new v(h)}(t,e,n);if(r.add(i?i.call(r,this.source):this.source||c.useDeprecatedSynchronousErrorHandling&&!r.syncErrorThrowable?this._subscribe(r):this._trySubscribe(r)),c.useDeprecatedSynchronousErrorHandling&&r.syncErrorThrowable&&(r.syncErrorThrowable=!1,r.syncErrorThrown))throw r.syncErrorValue;return r}_trySubscribe(t){try{return this._subscribe(t)}catch(e){c.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),function(t){for(;t;){const{closed:e,destination:n,isStopped:i}=t;if(e||i)return!1;t=n&&n instanceof v?n:null}return!0}(t)?t.error(e):console.warn(e)}}forEach(t,e){return new(e=O(e))((e,n)=>{let i;i=this.subscribe(e=>{try{t(e)}catch(r){n(r),i&&i.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[w](){return this}pipe(...t){return 0===t.length?this:C(t)(this)}toPromise(t){return new(t=O(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}return t.create=e=>new t(e),t})();function O(t){if(t||(t=c.Promise||Promise),!t)throw new Error("no Promise impl found");return t}const T=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})();class k extends g{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}class P extends v{constructor(t){super(t),this.destination=t}}let A=(()=>{class t extends E{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[y](){return new P(this)}lift(t){const e=new M(this,this);return e.operator=t,e}next(t){if(this.closed)throw new T;if(!this.isStopped){const{observers:e}=this,n=e.length,i=e.slice();for(let r=0;rnew M(t,e),t})();class M extends A{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):g.EMPTY}}function I(t){return t&&"function"==typeof t.schedule}function D(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new R(t,e))}}class R{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new N(t,this.project,this.thisArg))}}class N extends v{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}const L=t=>e=>{for(let n=0,i=t.length;nt&&"number"==typeof t.length&&"function"!=typeof t;function B(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const V=t=>{if(t&&"function"==typeof t[w])return(t=>e=>{const n=t[w]();if("function"!=typeof n.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return n.subscribe(e)})(t);if(F(t))return L(t);if(B(t))return(t=>e=>(t.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,u),e))(t);if(t&&"function"==typeof t[j])return(t=>e=>{const n=t[j]();for(;;){let t;try{t=n.next()}catch(i){return e.error(i),e}if(t.done){e.complete();break}if(e.next(t.value),e.closed)break}return"function"==typeof n.return&&e.add(()=>{n.return&&n.return()}),e})(t);{const e=`You provided ${p(t)?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(e)}};function z(t,e){return new E(n=>{const i=new g;let r=0;return i.add(e.schedule(function(){r!==t.length?(n.next(t[r++]),n.closed||i.add(this.schedule())):n.complete()})),i})}function U(t,e){return e?function(t,e){if(null!=t){if(function(t){return t&&"function"==typeof t[w]}(t))return function(t,e){return new E(n=>{const i=new g;return i.add(e.schedule(()=>{const r=t[w]();i.add(r.subscribe({next(t){i.add(e.schedule(()=>n.next(t)))},error(t){i.add(e.schedule(()=>n.error(t)))},complete(){i.add(e.schedule(()=>n.complete()))}}))})),i})}(t,e);if(B(t))return function(t,e){return new E(n=>{const i=new g;return i.add(e.schedule(()=>t.then(t=>{i.add(e.schedule(()=>{n.next(t),i.add(e.schedule(()=>n.complete()))}))},t=>{i.add(e.schedule(()=>n.error(t)))}))),i})}(t,e);if(F(t))return z(t,e);if(function(t){return t&&"function"==typeof t[j]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new E(n=>{const i=new g;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=t[j](),i.add(e.schedule(function(){if(n.closed)return;let t,e;try{const n=r.next();t=n.value,e=n.done}catch(i){return void n.error(i)}e?n.complete():(n.next(t),this.schedule())}))})),i})}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}(t,e):t instanceof E?t:new E(V(t))}class H extends v{constructor(t){super(),this.parent=t}_next(t){this.parent.notifyNext(t)}_error(t){this.parent.notifyError(t),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class $ extends v{notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.destination.complete()}}function G(t,e){if(e.closed)return;if(t instanceof E)return t.subscribe(e);let n;try{n=V(t)(e)}catch(i){e.error(i)}return n}function W(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(W((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))),n)):("number"==typeof e&&(n=e),e=>e.lift(new q(t,n)))}class q{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new Y(t,this.project,this.concurrent))}}class Y extends ${constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function X(t=Number.POSITIVE_INFINITY){return W(x,t)}function K(t,e){return e?z(t,e):new E(L(t))}function Q(...t){let e=Number.POSITIVE_INFINITY,n=null,i=t[t.length-1];return I(i)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof i&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof E?t[0]:X(e)(K(t,n))}function Z(){return function(t){return t.lift(new J(t))}}class J{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const i=new tt(t,n),r=e.subscribe(i);return i.closed||(i.connection=n.connect()),r}}class tt extends v{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}class et extends E{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new g,t.add(this.source.subscribe(new it(this.getSubject(),this))),t.closed&&(this._connection=null,t=g.EMPTY)),t}refCount(){return Z()(this)}}const nt=(()=>{const t=et.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}})();class it extends P{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}function rt(t,e){return function(n){let i;if(i="function"==typeof t?t:function(){return t},"function"==typeof e)return n.lift(new st(i,e));const r=Object.create(n,nt);return r.source=n,r.subjectFactory=i,r}}class st{constructor(t,e){this.subjectFactory=t,this.selector=e}call(t,e){const{selector:n}=this,i=this.subjectFactory(),r=n(i).subscribe(t);return r.add(e.subscribe(i)),r}}function ot(){return new A}function at(){return t=>Z()(rt(ot)(t))}function lt(t){for(let e in t)if(t[e]===lt)return e;throw Error("Could not find renamed property on target object.")}function ct(t,e){for(const n in e)e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n])}function ut(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(ut).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function ht(t,e){return null==t||""===t?null===e?"":e:null==e||""===e?t:t+" "+e}const dt=lt({__forward_ref__:lt});function pt(t){return t.__forward_ref__=pt,t.toString=function(){return ut(this())},t}function ft(t){return gt(t)?t():t}function gt(t){return"function"==typeof t&&t.hasOwnProperty(dt)&&t.__forward_ref__===pt}class mt extends Error{constructor(t,e){super(function(t,e){return`${t?`NG0${t}: `:""}${e}`}(t,e)),this.code=t}}function bt(t){return"string"==typeof t?t:null==t?"":String(t)}function vt(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():bt(t)}function _t(t,e){const n=e?` in ${e}`:"";throw new mt("201",`No provider for ${vt(t)} found${n}`)}function wt(t,e){null==t&&function(t,e,n,i){throw new Error(`ASSERTION ERROR: ${t}`+(null==i?"":` [Expected=> ${n} ${i} ${e} <=Actual]`))}(e,t,null,"!=")}function xt(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function St(t){return{providers:t.providers||[],imports:t.imports||[]}}function Ct(t){return Et(t,Tt)||Et(t,Pt)}function Et(t,e){return t.hasOwnProperty(e)?t[e]:null}function Ot(t){return t&&(t.hasOwnProperty(kt)||t.hasOwnProperty(At))?t[kt]:null}const Tt=lt({"\u0275prov":lt}),kt=lt({"\u0275inj":lt}),Pt=lt({ngInjectableDef:lt}),At=lt({ngInjectorDef:lt});var Mt=(()=>((Mt=Mt||{})[Mt.Default=0]="Default",Mt[Mt.Host=1]="Host",Mt[Mt.Self=2]="Self",Mt[Mt.SkipSelf=4]="SkipSelf",Mt[Mt.Optional=8]="Optional",Mt))();let It;function Dt(t){const e=It;return It=t,e}function Rt(t,e,n){const i=Ct(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&Mt.Optional?null:void 0!==e?e:void _t(ut(t),"Injector")}function Nt(t){return{toString:t}.toString()}var Lt=(()=>((Lt=Lt||{})[Lt.OnPush=0]="OnPush",Lt[Lt.Default=1]="Default",Lt))(),jt=(()=>((jt=jt||{})[jt.Emulated=0]="Emulated",jt[jt.None=2]="None",jt[jt.ShadowDom=3]="ShadowDom",jt))();const Ft="undefined"!=typeof globalThis&&globalThis,Bt="undefined"!=typeof window&&window,Vt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,zt="undefined"!=typeof global&&global,Ut=Ft||zt||Bt||Vt,Ht={},$t=[],Gt=lt({"\u0275cmp":lt}),Wt=lt({"\u0275dir":lt}),qt=lt({"\u0275pipe":lt}),Yt=lt({"\u0275mod":lt}),Xt=lt({"\u0275loc":lt}),Kt=lt({"\u0275fac":lt}),Qt=lt({__NG_ELEMENT_ID__:lt});let Zt=0;function Jt(t){return Nt(()=>{const e={},n={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===Lt.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||$t,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||jt.Emulated,id:"c",styles:t.styles||$t,_:null,setInput:null,schemas:t.schemas||null,tView:null},i=t.directives,r=t.features,s=t.pipes;return n.id+=Zt++,n.inputs=re(t.inputs,e),n.outputs=re(t.outputs),r&&r.forEach(t=>t(n)),n.directiveDefs=i?()=>("function"==typeof i?i():i).map(te):null,n.pipeDefs=s?()=>("function"==typeof s?s():s).map(ee):null,n})}function te(t){return ae(t)||function(t){return t[Wt]||null}(t)}function ee(t){return function(t){return t[qt]||null}(t)}const ne={};function ie(t){return Nt(()=>{const e={type:t.type,bootstrap:t.bootstrap||$t,declarations:t.declarations||$t,imports:t.imports||$t,exports:t.exports||$t,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&(ne[t.id]=t.type),e})}function re(t,e){if(null==t)return Ht;const n={};for(const i in t)if(t.hasOwnProperty(i)){let r=t[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),n[r]=i,e&&(e[r]=s)}return n}const se=Jt;function oe(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,onDestroy:t.type.prototype.ngOnDestroy||null}}function ae(t){return t[Gt]||null}function le(t,e){const n=t[Yt]||null;if(!n&&!0===e)throw new Error(`Type ${ut(t)} does not have '\u0275mod' property.`);return n}function ce(t){return Array.isArray(t)&&"object"==typeof t[1]}function ue(t){return Array.isArray(t)&&!0===t[1]}function he(t){return 0!=(8&t.flags)}function de(t){return 2==(2&t.flags)}function pe(t){return 1==(1&t.flags)}function fe(t){return null!==t.template}function ge(t){return 0!=(512&t[2])}function me(t,e){return t.hasOwnProperty(Kt)?t[Kt]:null}class be{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function ye(){return ve}function ve(t){return t.type.prototype.ngOnChanges&&(t.setInput=we),_e}function _e(){const t=Se(this),e=null==t?void 0:t.current;if(e){const n=t.previous;if(n===Ht)t.previous=e;else for(let t in e)n[t]=e[t];t.current=null,this.ngOnChanges(e)}}function we(t,e,n,i){const r=Se(t)||function(t,e){return t[xe]=e}(t,{previous:Ht,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[n],l=o[a];s[a]=new be(l&&l.currentValue,e,o===Ht),t[i]=e}ye.ngInherit=!0;const xe="__ngSimpleChanges__";function Se(t){return t[xe]||null}const Ce="http://www.w3.org/2000/svg";let Ee;function Oe(){return void 0!==Ee?Ee:"undefined"!=typeof document?document:void 0}function Te(t){return!!t.listen}const ke={createRenderer:(t,e)=>Oe()};function Pe(t){for(;Array.isArray(t);)t=t[0];return t}function Ae(t,e){return Pe(e[t])}function Me(t,e){return Pe(e[t.index])}function Ie(t,e){return t.data[e]}function De(t,e){return t[e]}function Re(t,e){const n=e[t];return ce(n)?n:n[0]}function Ne(t){return 4==(4&t[2])}function Le(t){return 128==(128&t[2])}function je(t,e){return null==e?null:t[e]}function Fe(t){t[18]=0}function Be(t,e){t[5]+=e;let n=t,i=t[3];for(;null!==i&&(1===e&&1===n[5]||-1===e&&0===n[5]);)i[5]+=e,n=i,i=i[3]}const Ve={lFrame:dn(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function ze(){return Ve.bindingsEnabled}function Ue(){return Ve.lFrame.lView}function He(){return Ve.lFrame.tView}function $e(t){return Ve.lFrame.contextLView=t,t[8]}function Ge(){let t=We();for(;null!==t&&64===t.type;)t=t.parent;return t}function We(){return Ve.lFrame.currentTNode}function qe(t,e){const n=Ve.lFrame;n.currentTNode=t,n.isParent=e}function Ye(){return Ve.lFrame.isParent}function Xe(){Ve.lFrame.isParent=!1}function Ke(){return Ve.isInCheckNoChangesMode}function Qe(t){Ve.isInCheckNoChangesMode=t}function Ze(){const t=Ve.lFrame;let e=t.bindingRootIndex;return-1===e&&(e=t.bindingRootIndex=t.tView.bindingStartIndex),e}function Je(){return Ve.lFrame.bindingIndex}function tn(){return Ve.lFrame.bindingIndex++}function en(t){const e=Ve.lFrame,n=e.bindingIndex;return e.bindingIndex=e.bindingIndex+t,n}function nn(t,e){const n=Ve.lFrame;n.bindingIndex=n.bindingRootIndex=t,rn(e)}function rn(t){Ve.lFrame.currentDirectiveIndex=t}function sn(t){const e=Ve.lFrame.currentDirectiveIndex;return-1===e?null:t[e]}function on(){return Ve.lFrame.currentQueryIndex}function an(t){Ve.lFrame.currentQueryIndex=t}function ln(t){const e=t[1];return 2===e.type?e.declTNode:1===e.type?t[6]:null}function cn(t,e,n){if(n&Mt.SkipSelf){let i=e,r=t;for(;!(i=i.parent,null!==i||n&Mt.Host||(i=ln(r),null===i||(r=r[15],10&i.type))););if(null===i)return!1;e=i,t=r}const i=Ve.lFrame=hn();return i.currentTNode=e,i.lView=t,!0}function un(t){const e=hn(),n=t[1];Ve.lFrame=e,e.currentTNode=n.firstChild,e.lView=t,e.tView=n,e.contextLView=t,e.bindingIndex=n.bindingStartIndex,e.inI18n=!1}function hn(){const t=Ve.lFrame,e=null===t?null:t.child;return null===e?dn(t):e}function dn(t){const 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:t,child:null,inI18n:!1};return null!==t&&(t.child=e),e}function pn(){const t=Ve.lFrame;return Ve.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const fn=pn;function gn(){const t=pn();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function mn(){return Ve.lFrame.selectedIndex}function bn(t){Ve.lFrame.selectedIndex=t}function yn(){const t=Ve.lFrame;return Ie(t.tView,t.selectedIndex)}function vn(){Ve.lFrame.currentNamespace=Ce}function _n(t,e){for(let n=e.directiveStart,i=e.directiveEnd;n=i)break}else e[a]<0&&(t[18]+=65536),(o>11>16&&(3&t[2])===e){t[2]+=2048;try{s.call(o)}finally{}}}else try{s.call(o)}finally{}}class On{constructor(t,e,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=n}}function Tn(t,e,n){const i=Te(t);let r=0;for(;re){o=s-1;break}}}for(;s>16}(t),i=e;for(;n>0;)i=i[15],n--;return i}let Nn=!0;function Ln(t){const e=Nn;return Nn=t,e}let jn=0;function Fn(t,e){const n=Vn(t,e);if(-1!==n)return n;const i=e[1];i.firstCreatePass&&(t.injectorIndex=e.length,Bn(i.data,t),Bn(e,null),Bn(i.blueprint,null));const r=Un(t,e),s=t.injectorIndex;if(In(r)){const t=Dn(r),n=Rn(r,e),i=n[1].data;for(let r=0;r<8;r++)e[s+r]=n[t+r]|i[t+r]}return e[s+8]=r,s}function Bn(t,e){t.push(0,0,0,0,0,0,0,0,e)}function Vn(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===e[t.injectorIndex+8]?-1:t.injectorIndex}function Un(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let n=0,i=null,r=e;for(;null!==r;){const t=r[1],e=t.type;if(i=2===e?t.declTNode:1===e?r[6]:null,null===i)return-1;if(n++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return-1}function Hn(t,e,n){!function(t,e,n){let i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(Qt)&&(i=n[Qt]),null==i&&(i=n[Qt]=jn++);const r=255&i;e.data[t+(r>>5)]|=1<=0?255&e:Yn:e}(n);if("function"==typeof s){if(!cn(e,t,i))return i&Mt.Host?$n(r,n,i):Gn(e,n,i,r);try{const t=s(i);if(null!=t||i&Mt.Optional)return t;_t(n)}finally{fn()}}else if("number"==typeof s){let r=null,o=Vn(t,e),a=-1,l=i&Mt.Host?e[16][6]:null;for((-1===o||i&Mt.SkipSelf)&&(a=-1===o?Un(t,e):e[o+8],-1!==a&&Jn(i,!1)?(r=e[1],o=Dn(a),e=Rn(a,e)):o=-1);-1!==o;){const t=e[1];if(Zn(s,o,t.data)){const t=Xn(o,e,n,r,i,l);if(t!==qn)return t}a=e[o+8],-1!==a&&Jn(i,e[1].data[o+8]===l)&&Zn(s,o,e)?(r=t,o=Dn(a),e=Rn(a,e)):o=-1}}}return Gn(e,n,i,r)}const qn={};function Yn(){return new ti(Ge(),Ue())}function Xn(t,e,n,i,r,s){const o=e[1],a=o.data[t+8],l=Kn(a,o,n,null==i?de(a)&&Nn:i!=o&&0!=(3&a.type),r&Mt.Host&&s===a);return null!==l?Qn(e,o,l,a):qn}function Kn(t,e,n,i,r){const s=t.providerIndexes,o=e.data,a=1048575&s,l=t.directiveStart,c=s>>20,u=r?a+c:t.directiveEnd;for(let h=i?a:a+c;h=l&&t.type===n)return h}if(r){const t=o[l];if(t&&fe(t)&&t.type===n)return l}return null}function Qn(t,e,n,i){let r=t[n];const s=e.data;if(function(t){return t instanceof On}(r)){const o=r;o.resolving&&function(t,e){throw new mt("200",`Circular dependency in DI detected for ${t}`)}(vt(s[n]));const a=Ln(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Dt(o.injectImpl):null;cn(t,i,Mt.Default);try{r=t[n]=o.factory(void 0,s,t,i),e.firstCreatePass&&n>=i.directiveStart&&function(t,e,n){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const i=ve(e);(n.preOrderHooks||(n.preOrderHooks=[])).push(t,i),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,i)}r&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-t,r),s&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,s))}(n,s[n],e)}finally{null!==l&&Dt(l),Ln(a),o.resolving=!1,fn()}}return r}function Zn(t,e,n){return!!(n[e+(t>>5)]&1<{const e=t.prototype.constructor,n=e[Kt]||ni(e),i=Object.prototype;let r=Object.getPrototypeOf(t.prototype).constructor;for(;r&&r!==i;){const t=r[Kt]||ni(r);if(t&&t!==n)return t;r=Object.getPrototypeOf(r)}return t=>new t})}function ni(t){return gt(t)?()=>{const e=ni(ft(t));return e&&e()}:me(t)}function ii(t){return function(t,e){if("class"===e)return t.classes;if("style"===e)return t.styles;const n=t.attrs;if(n){const t=n.length;let i=0;for(;i{const i=function(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}(e);function r(...t){if(this instanceof r)return i.apply(this,t),this;const e=new r(...t);return n.annotation=e,n;function n(t,n,i){const r=t.hasOwnProperty(ri)?t[ri]:Object.defineProperty(t,ri,{value:[]})[ri];for(;r.length<=i;)r.push(null);return(r[i]=r[i]||[]).push(e),t}}return n&&(r.prototype=Object.create(n.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r})}class oi{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=xt({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const ai=Function;function li(t,e){void 0===e&&(e=t);for(let n=0;nArray.isArray(t)?ci(t,e):e(t))}function ui(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function hi(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function di(t,e){const n=[];for(let i=0;i=0?t[1|i]=n:(i=~i,function(t,e,n,i){let r=t.length;if(r==e)t.push(n,i);else if(1===r)t.push(i,t[0]),t[0]=n;else{for(r--,t.push(t[r-1],t[r]);r>e;)t[r]=t[r-2],r--;t[e]=n,t[e+1]=i}}(t,i,e,n)),i}function fi(t,e){const n=gi(t,e);if(n>=0)return t[1|n]}function gi(t,e){return function(t,e,n){let i=0,r=t.length>>n;for(;r!==i;){const s=i+(r-i>>1),o=t[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t.push(n+":"+("string"==typeof i?JSON.stringify(i):ut(i)))}r=`{${t.join(", ")}}`}return`${n}${i?"("+i+")":""}[${r}]: ${t.replace(vi,"\n ")}`}("\n"+t.message,r,n,i),t.ngTokenPath=r,t[yi]=null,t}const Mi=ki(si("Inject",t=>({token:t})),-1),Ii=ki(si("Optional"),8),Di=ki(si("SkipSelf"),4);let Ri,Ni;function Li(t){var e;return(null===(e=function(){if(void 0===Ri&&(Ri=null,Ut.trustedTypes))try{Ri=Ut.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(t){}return Ri}())||void 0===e?void 0:e.createHTML(t))||t}function ji(){if(void 0===Ni&&(Ni=null,Ut.trustedTypes))try{Ni=Ut.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(m){}return Ni}function Fi(t){var e;return(null===(e=ji())||void 0===e?void 0:e.createHTML(t))||t}function Bi(t){var e;return(null===(e=ji())||void 0===e?void 0:e.createScriptURL(t))||t}class Vi{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class zi extends Vi{getTypeName(){return"HTML"}}class Ui extends Vi{getTypeName(){return"Style"}}class Hi extends Vi{getTypeName(){return"Script"}}class $i extends Vi{getTypeName(){return"URL"}}class Gi extends Vi{getTypeName(){return"ResourceURL"}}function Wi(t){return t instanceof Vi?t.changingThisBreaksApplicationSecurity:t}function qi(t,e){const n=Yi(t);if(null!=n&&n!==e){if("ResourceURL"===n&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${n} (see https://g.co/ng/security#xss)`)}return n===e}function Yi(t){return t instanceof Vi&&t.getTypeName()||null}class Xi{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const e=(new window.DOMParser).parseFromString(Li(t),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(t):(e.removeChild(e.firstChild),e)}catch(e){return null}}}class Ki{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const e=this.inertDocument.createElement("body");t.appendChild(e)}}getInertBodyElement(t){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Li(t),e;const n=this.inertDocument.createElement("body");return n.innerHTML=Li(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(n),n}stripCustomNsAttrs(t){const e=t.attributes;for(let i=e.length-1;0Ji(t.trim())).join(", ")}function er(t){const e={};for(const n of t.split(","))e[n]=!0;return e}function nr(...t){const e={};for(const n of t)for(const t in n)n.hasOwnProperty(t)&&(e[t]=!0);return e}const ir=er("area,br,col,hr,img,wbr"),rr=er("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),sr=er("rp,rt"),or=nr(ir,nr(rr,er("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")),nr(sr,er("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")),nr(sr,rr)),ar=er("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),lr=er("srcset"),cr=nr(ar,lr,er("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),er("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")),ur=er("script,style,template");class hr{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let e=t.firstChild,n=!0;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?n=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,n&&e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let t=this.checkClobberedElement(e,e.nextSibling);if(t){e=t;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(t){const e=t.nodeName.toLowerCase();if(!or.hasOwnProperty(e))return this.sanitizedSomething=!0,!ur.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const n=t.attributes;for(let i=0;i"),!0}endElement(t){const e=t.nodeName.toLowerCase();or.hasOwnProperty(e)&&!ir.hasOwnProperty(e)&&(this.buf.push(""))}chars(t){this.buf.push(fr(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const dr=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,pr=/([^\#-~ |!])/g;function fr(t){return t.replace(/&/g,"&").replace(dr,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(pr,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let gr;function mr(t,e){let n=null;try{gr=gr||function(t){const e=new Ki(t);return function(){try{return!!(new window.DOMParser).parseFromString(Li(""),"text/html")}catch(t){return!1}}()?new Xi(e):e}(t);let i=e?String(e):"";n=gr.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=n.innerHTML,n=gr.getInertBodyElement(i)}while(i!==s);return Li((new hr).sanitizeChildren(br(n)||n))}finally{if(n){const t=br(n)||n;for(;t.firstChild;)t.removeChild(t.firstChild)}}}function br(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var yr=(()=>((yr=yr||{})[yr.NONE=0]="NONE",yr[yr.HTML=1]="HTML",yr[yr.STYLE=2]="STYLE",yr[yr.SCRIPT=3]="SCRIPT",yr[yr.URL=4]="URL",yr[yr.RESOURCE_URL=5]="RESOURCE_URL",yr))();function vr(t){const e=xr();return e?Fi(e.sanitize(yr.HTML,t)||""):qi(t,"HTML")?Fi(Wi(t)):mr(Oe(),bt(t))}function _r(t){const e=xr();return e?e.sanitize(yr.URL,t)||"":qi(t,"URL")?Wi(t):Ji(bt(t))}function wr(t){const e=xr();if(e)return Bi(e.sanitize(yr.RESOURCE_URL,t)||"");if(qi(t,"ResourceURL"))return Bi(Wi(t));throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)")}function xr(){const t=Ue();return t&&t[12]}const Sr="__ngContext__";function Cr(t,e){t[Sr]=e}function Er(t){const e=function(t){return t[Sr]||null}(t);return e?Array.isArray(e)?e:e.lView:null}function Or(t){return t.ngOriginalError}function Tr(t,...e){t.error(...e)}class kr{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),i=function(t){return t&&t.ngErrorLogger||Tr}(t);i(this._console,"ERROR",t),e&&i(this._console,"ORIGINAL ERROR",e),n&&i(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?function(t){return t.ngDebugContext}(t)||this._findContext(Or(t)):null}_findOriginalError(t){let e=t&&Or(t);for(;e&&Or(e);)e=Or(e);return e||null}}const Pr=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Ut))();function Ar(t){return t.ownerDocument.defaultView}function Mr(t){return t.ownerDocument}function Ir(t){return t instanceof Function?t():t}var Dr=(()=>((Dr=Dr||{})[Dr.Important=1]="Important",Dr[Dr.DashCase=2]="DashCase",Dr))();function Rr(t,e){return undefined(t,e)}function Nr(t){const e=t[3];return ue(e)?e[3]:e}function Lr(t){return Fr(t[13])}function jr(t){return Fr(t[4])}function Fr(t){for(;null!==t&&!ue(t);)t=t[4];return t}function Br(t,e,n,i,r){if(null!=i){let s,o=!1;ue(i)?s=i:ce(i)&&(o=!0,i=i[0]);const a=Pe(i);0===t&&null!==n?null==r?qr(e,n,a):Wr(e,n,a,r||null,!0):1===t&&null!==n?Wr(e,n,a,r||null,!0):2===t?function(t,e,n){const i=Kr(t,e);i&&function(t,e,n,i){Te(t)?t.removeChild(e,n,i):e.removeChild(n)}(t,i,e,n)}(e,a,o):3===t&&e.destroyNode(a),null!=s&&function(t,e,n,i,r){const s=n[7];s!==Pe(n)&&Br(e,t,i,s,r);for(let o=10;o0&&(t[n-1][4]=i[4]);const s=hi(t,10+e);!function(t,e){rs(t,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function Hr(t,e){if(!(256&e[2])){const n=e[11];Te(n)&&n.destroyNode&&rs(t,e,n,3,null,null),function(t){let e=t[13];if(!e)return $r(t[1],t);for(;e;){let n=null;if(ce(e))n=e[13];else{const t=e[10];t&&(n=t)}if(!n){for(;e&&!e[4]&&e!==t;)ce(e)&&$r(e[1],e),e=e[3];null===e&&(e=t),ce(e)&&$r(e[1],e),n=e&&e[4]}e=n}}(e)}}function $r(t,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(t,e){let n;if(null!=t&&null!=(n=t.destroyHooks))for(let i=0;i=0?i[r=l]():i[r=-l].unsubscribe(),s+=2}else{const t=i[r=n[s+1]];n[s].call(t)}if(null!==i){for(let t=r+1;ts?"":r[u+1].toLowerCase();const e=8&i?t:null;if(e&&-1!==ls(e,c,0)||2&i&&c!==t){if(fs(i))return!1;o=!0}}}}else{if(!o&&!fs(i)&&!fs(l))return!1;if(o&&fs(l))continue;o=!1,i=l|1&i}}return fs(i)||o}function fs(t){return 0==(1&t)}function gs(t,e,n,i){if(null===e)return-1;let r=0;if(i||!n){let n=!1;for(;r-1)for(n++;n0?'="'+e+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!fs(o)&&(e+=ys(s,r),r=""),i=o,s=s||!fs(i);n++}return""!==r&&(e+=ys(s,r)),e}const _s={};function ws(t){xs(He(),Ue(),mn()+t,Ke())}function xs(t,e,n,i){if(!i)if(3==(3&e[2])){const i=t.preOrderCheckHooks;null!==i&&wn(e,i,n)}else{const i=t.preOrderHooks;null!==i&&xn(e,i,0,n)}bn(n)}function Ss(t,e){return t<<17|e<<2}function Cs(t){return t>>17&32767}function Es(t){return 2|t}function Os(t){return(131068&t)>>2}function Ts(t,e){return-131069&t|e<<2}function ks(t){return 1|t}function Ps(t,e){const n=t.contentQueries;if(null!==n)for(let i=0;i20&&xs(t,e,20,Ke()),n(i,r)}finally{bn(s)}}function js(t,e,n){if(he(e)){const i=e.directiveEnd;for(let r=e.directiveStart;r0;){const n=t[--e];if("number"==typeof n&&n<0)return n}return 0})(n)!=s&&n.push(s),n.push(i,r,o)}}function qs(t,e){null!==t.hostBindings&&t.hostBindings(1,e)}function Ys(t,e){e.flags|=2,(t.components||(t.components=[])).push(e.index)}function Xs(t,e,n){if(n){if(e.exportAs)for(let i=0;i0&&ro(n)}}function ro(t){for(let n=Lr(t);null!==n;n=jr(n))for(let t=10;t0&&ro(e)}const e=t[1].components;if(null!==e)for(let n=0;n0&&ro(i)}}function so(t,e){const n=Re(e,t),i=n[1];(function(t,e){for(let n=e.length;nPromise.resolve(null))();function po(t){return t[7]||(t[7]=[])}function fo(t){return t.cleanup||(t.cleanup=[])}function go(t,e,n){return(null===t||fe(t))&&(n=function(t){for(;Array.isArray(t);){if("object"==typeof t[1])return t;t=t[0]}return null}(n[e.index])),n[11]}function mo(t,e){const n=t[9],i=n?n.get(kr,null):null;i&&i.handleError(e)}function bo(t,e,n,i,r){for(let s=0;sthis.processProvider(n,t,e)),ci([t],t=>this.processInjectorType(t,[],r)),this.records.set(_o,Mo(void 0,this));const s=this.records.get(xo);this.scope=null!=s?s.value:null,this.source=i||("object"==typeof t?null:ut(t))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(t=>t.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(t,e=mi,n=Mt.Default){this.assertNotDestroyed();const i=Si(this),r=Dt(void 0);try{if(!(n&Mt.SkipSelf)){let e=this.records.get(t);if(void 0===e){const n=function(t){return"function"==typeof t||"object"==typeof t&&t instanceof oi}(t)&&Ct(t);e=n&&this.injectableDefInScope(n)?Mo(Po(t),So):null,this.records.set(t,e)}if(null!=e)return this.hydrate(t,e)}return(n&Mt.Self?Oo():this.parent).get(t,e=n&Mt.Optional&&e===mi?null:e)}catch(s){if("NullInjectorError"===s.name){if((s[yi]=s[yi]||[]).unshift(ut(t)),i)throw s;return Ai(s,t,"R3InjectorError",this.source)}throw s}finally{Dt(r),Si(i)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(t=>this.get(t))}toString(){const t=[];return this.records.forEach((e,n)=>t.push(ut(n))),`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(t,e,n){if(!(t=ft(t)))return!1;let i=Ot(t);const r=null==i&&t.ngModule||void 0,s=void 0===r?t:r,o=-1!==n.indexOf(s);if(void 0!==r&&(i=Ot(r)),null==i)return!1;if(null!=i.imports&&!o){let t;n.push(s);try{ci(i.imports,i=>{this.processInjectorType(i,e,n)&&(void 0===t&&(t=[]),t.push(i))})}finally{}if(void 0!==t)for(let e=0;ethis.processProvider(t,n,i||$t))}}this.injectorDefTypes.add(s);const a=me(s)||(()=>new s);this.records.set(s,Mo(a,So));const l=i.providers;if(null!=l&&!o){const e=t;ci(l,t=>this.processProvider(t,e,l))}return void 0!==r&&void 0!==t.providers}processProvider(t,e,n){let i=Do(t=ft(t))?t:ft(t&&t.provide);const r=function(t,e,n){return Io(t)?Mo(void 0,t.useValue):Mo(Ao(t),So)}(t);if(Do(t)||!0!==t.multi)this.records.get(i);else{let e=this.records.get(i);e||(e=Mo(void 0,So,!0),e.factory=()=>Ti(e.multi),this.records.set(i,e)),i=t,e.multi.push(t)}this.records.set(i,r)}hydrate(t,e){return e.value===So&&(e.value=Co,e.value=e.factory()),"object"==typeof e.value&&e.value&&function(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this.onDestroy.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=ft(t.providedIn);return"string"==typeof e?"any"===e||e===this.scope:this.injectorDefTypes.has(e)}}function Po(t){const e=Ct(t),n=null!==e?e.factory:me(t);if(null!==n)return n;if(t instanceof oi)throw new Error(`Token ${ut(t)} is missing a \u0275prov definition.`);if(t instanceof Function)return function(t){const e=t.length;if(e>0){const n=di(e,"?");throw new Error(`Can't resolve all parameters for ${ut(t)}: (${n.join(", ")}).`)}const n=function(t){const e=t&&(t[Tt]||t[Pt]);if(e){const n=function(t){if(t.hasOwnProperty("name"))return t.name;const e=(""+t).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(t);return console.warn(`DEPRECATED: DI is instantiating a token "${n}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${n}" class.`),e}return null}(t);return null!==n?()=>n.factory(t):()=>new t}(t);throw new Error("unreachable")}function Ao(t,e,n){let i;if(Do(t)){const e=ft(t);return me(e)||Po(e)}if(Io(t))i=()=>ft(t.useValue);else if(function(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...Ti(t.deps||[]));else if(function(t){return!(!t||!t.useExisting)}(t))i=()=>Ei(ft(t.useExisting));else{const e=ft(t&&(t.useClass||t.provide));if(!function(t){return!!t.deps}(t))return me(e)||Po(e);i=()=>new e(...Ti(t.deps))}return i}function Mo(t,e,n=!1){return{factory:t,value:e,multi:n?[]:void 0}}function Io(t){return null!==t&&"object"==typeof t&&wi in t}function Do(t){return"function"==typeof t}const Ro=function(t,e,n){return function(t,e=null,n=null,i){const r=To(t,e,n,i);return r._resolveInjectorDefTypes(),r}({name:n},e,t,n)};class No{static create(t,e){return Array.isArray(t)?Ro(t,e,""):Ro(t.providers,t.parent,t.name||"")}}function Lo(t,e){_n(Er(t)[1],Ge())}function jo(t){let e=function(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),n=!0;const i=[t];for(;e;){let r;if(fe(t))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(n){i.push(r);const e=t;e.inputs=Fo(t.inputs),e.declaredInputs=Fo(t.declaredInputs),e.outputs=Fo(t.outputs);const n=r.hostBindings;n&&zo(t,n);const s=r.viewQuery,o=r.contentQueries;if(s&&Bo(t,s),o&&Vo(t,o),ct(t.inputs,r.inputs),ct(t.declaredInputs,r.declaredInputs),ct(t.outputs,r.outputs),fe(r)&&r.data.animation){const e=t.data;e.animation=(e.animation||[]).concat(r.data.animation)}}const e=r.features;if(e)for(let i=0;i=0;i--){const r=t[i];r.hostVars=e+=r.hostVars,r.hostAttrs=An(r.hostAttrs,n=An(n,r.hostAttrs))}}(i)}function Fo(t){return t===Ht?{}:t===$t?[]:t}function Bo(t,e){const n=t.viewQuery;t.viewQuery=n?(t,i)=>{e(t,i),n(t,i)}:e}function Vo(t,e){const n=t.contentQueries;t.contentQueries=n?(t,i,r)=>{e(t,i,r),n(t,i,r)}:e}function zo(t,e){const n=t.hostBindings;t.hostBindings=n?(t,i)=>{e(t,i),n(t,i)}:e}No.THROW_IF_NOT_FOUND=mi,No.NULL=new wo,No.\u0275prov=xt({token:No,providedIn:"any",factory:()=>Ei(_o)}),No.__NG_ELEMENT_ID__=-1;let Uo=null;function Ho(){if(!Uo){const t=Ut.Symbol;if(t&&t.iterator)Uo=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;ea(Pe(t[i.index])):i.index;if(Te(n)){let o=null;if(!a&&l&&(o=function(t,e,n,i){const r=t.cleanup;if(null!=r)for(let s=0;sn?t[n]:null}"string"==typeof t&&(s+=2)}return null}(t,e,r,i.index)),null!==o)(o.__ngLastListenerFn__||o).__ngNextListenerFn__=s,o.__ngLastListenerFn__=s,d=!1;else{s=ya(i,e,u,s,!1);const t=n.listen(f,r,s);h.push(s,t),c&&c.push(r,m,g,g+1)}}else s=ya(i,e,u,s,!0),f.addEventListener(r,s,o),h.push(s),c&&c.push(r,m,g,o)}else s=ya(i,e,u,s,!1);const p=i.outputs;let f;if(d&&null!==p&&(f=p[r])){const t=f.length;if(t)for(let n=0;n0;)e=e[15],t--;return e}(t,Ve.lFrame.contextLView))[8]}(t)}function _a(t,e){let n=null;const i=function(t){const e=t.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(t);for(let r=0;r=0}const Ta={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function ka(t){return t.substring(Ta.key,Ta.keyEnd)}function Pa(t){return t.substring(Ta.value,Ta.valueEnd)}function Aa(t,e){const n=Ta.textEnd;return n===e?-1:(e=Ta.keyEnd=function(t,e,n){for(;e32;)e++;return e}(t,Ta.key=e,n),Da(t,e,n))}function Ma(t,e){const n=Ta.textEnd;let i=Ta.key=Da(t,e,n);return n===i?-1:(i=Ta.keyEnd=function(t,e,n){let i;for(;e=65&&(-33&i)<=90||i>=48&&i<=57);)e++;return e}(t,i,n),i=Ra(t,i,n),i=Ta.value=Da(t,i,n),i=Ta.valueEnd=function(t,e,n){let i=-1,r=-1,s=-1,o=e,a=o;for(;o32&&(a=o),s=r,r=i,i=-33&l}return a}(t,i,n),Ra(t,i,n))}function Ia(t){Ta.key=0,Ta.keyEnd=0,Ta.value=0,Ta.valueEnd=0,Ta.textEnd=t.length}function Da(t,e,n){for(;e=0;n=Ma(e,n))Ya(t,ka(e),Pa(e))}function Va(t){Ha(pi,za,t,!0)}function za(t,e){for(let n=function(t){return Ia(t),Aa(t,Da(t,0,Ta.textEnd))}(e);n>=0;n=Aa(e,n))pi(t,ka(e),!0)}function Ua(t,e,n,i){const r=Ue(),s=He(),o=en(2);s.firstUpdatePass&&Ga(s,t,o,i),e!==_s&&Yo(r,o,e)&&Xa(s,s.data[mn()],r,r[11],t,r[o+1]=function(t,e){return null==t||("string"==typeof e?t+=e:"object"==typeof t&&(t=ut(Wi(t)))),t}(e,n),i,o)}function Ha(t,e,n,i){const r=He(),s=en(2);r.firstUpdatePass&&Ga(r,null,s,i);const o=Ue();if(n!==_s&&Yo(o,s,n)){const a=r.data[mn()];if(Za(a,i)&&!$a(r,s)){let t=i?a.classesWithoutHost:a.stylesWithoutHost;null!==t&&(n=ht(t,n||"")),ia(r,a,o,n,i)}else!function(t,e,n,i,r,s,o,a){r===_s&&(r=$t);let l=0,c=0,u=0=t.expandoStartIndex}function Ga(t,e,n,i){const r=t.data;if(null===r[n+1]){const s=r[mn()],o=$a(t,n);Za(s,i)&&null===e&&!o&&(e=!1),e=function(t,e,n,i){const r=sn(t);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(n=qa(n=Wa(null,t,e,n,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||t[o]!==r)if(n=Wa(r,t,e,n,i),null===s){let n=function(t,e,n){const i=n?e.classBindings:e.styleBindings;if(0!==Os(i))return t[Cs(i)]}(t,e,i);void 0!==n&&Array.isArray(n)&&(n=Wa(null,t,e,n[1],i),n=qa(n,e.attrs,i),function(t,e,n,i){t[Cs(n?e.classBindings:e.styleBindings)]=i}(t,e,i,n))}else s=function(t,e,n){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(u=!0)}else c=n;if(r)if(0!==l){const e=Cs(t[a+1]);t[i+1]=Ss(e,a),0!==e&&(t[e+1]=Ts(t[e+1],i)),t[a+1]=function(t,e){return 131071&t|e<<17}(t[a+1],i)}else t[i+1]=Ss(a,0),0!==a&&(t[a+1]=Ts(t[a+1],i)),a=i;else t[i+1]=Ss(l,0),0===a?a=i:t[l+1]=Ts(t[l+1],i),l=i;u&&(t[i+1]=Es(t[i+1])),Ea(t,c,i,!0),Ea(t,c,i,!1),function(t,e,n,i,r){const s=r?t.residualClasses:t.residualStyles;null!=s&&"string"==typeof e&&gi(s,e)>=0&&(n[i+1]=ks(n[i+1]))}(e,c,t,i,s),o=Ss(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,n,o,i)}}function Wa(t,e,n,i,r){let s=null;const o=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){const e=t[r],s=Array.isArray(e),l=s?e[1]:e,c=null===l;let u=n[r+1];u===_s&&(u=c?$t:void 0);let h=c?fi(u,i):l===i?u:void 0;if(s&&!Qa(h)&&(h=fi(e,i)),Qa(h)&&(a=h,o))return a;const d=t[r+1];r=o?Cs(d):Os(d)}if(null!==e){let t=s?e.residualClasses:e.residualStyles;null!=t&&(a=fi(t,i))}return a}function Qa(t){return void 0!==t}function Za(t,e){return 0!=(t.flags&(e?16:32))}function Ja(t,e=""){const n=Ue(),i=He(),r=t+20,s=i.firstCreatePass?Ms(i,r,1,e,null):i.data[r],o=n[r]=function(t,e){return Te(t)?t.createText(e):t.createTextNode(e)}(n[11],e);Jr(i,n,o,s),qe(s,!1)}function tl(t){return el("",t,""),tl}function el(t,e,n){const i=Ue(),r=Qo(i,t,e,n);return r!==_s&&yo(i,mn(),r),el}function nl(t,e,n,i,r){const s=Ue(),o=function(t,e,n,i,r,s){const o=Xo(t,Je(),n,r);return en(2),o?e+bt(n)+i+bt(r)+s:_s}(s,t,e,n,i,r);return o!==_s&&yo(s,mn(),o),nl}function il(t,e,n){Ha(pi,za,Qo(Ue(),t,e,n),!0)}function rl(t,e,n){const i=Ue();return Yo(i,tn(),e)&&$s(He(),yn(),i,t,e,i[11],n,!0),rl}function sl(t,e,n){const i=Ue();if(Yo(i,tn(),e)){const r=He(),s=yn();$s(r,s,i,t,e,go(sn(r.data),s,i),n,!0)}return sl}const ol=void 0;var al=["en",[["a","p"],["AM","PM"],ol],[["AM","PM"],ol,ol],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],ol,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],ol,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",ol,"{1} 'at' {0}",ol],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(t){const e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];let ll={};function cl(t){const e=function(t){return t.toLowerCase().replace(/_/g,"-")}(t);let n=ul(e);if(n)return n;const i=e.split("-")[0];if(n=ul(i),n)return n;if("en"===i)return al;throw new Error(`Missing locale data for the locale "${t}".`)}function ul(t){return t in ll||(ll[t]=Ut.ng&&Ut.ng.common&&Ut.ng.common.locales&&Ut.ng.common.locales[t]),ll[t]}var hl=(()=>((hl=hl||{})[hl.LocaleId=0]="LocaleId",hl[hl.DayPeriodsFormat=1]="DayPeriodsFormat",hl[hl.DayPeriodsStandalone=2]="DayPeriodsStandalone",hl[hl.DaysFormat=3]="DaysFormat",hl[hl.DaysStandalone=4]="DaysStandalone",hl[hl.MonthsFormat=5]="MonthsFormat",hl[hl.MonthsStandalone=6]="MonthsStandalone",hl[hl.Eras=7]="Eras",hl[hl.FirstDayOfWeek=8]="FirstDayOfWeek",hl[hl.WeekendRange=9]="WeekendRange",hl[hl.DateFormat=10]="DateFormat",hl[hl.TimeFormat=11]="TimeFormat",hl[hl.DateTimeFormat=12]="DateTimeFormat",hl[hl.NumberSymbols=13]="NumberSymbols",hl[hl.NumberFormats=14]="NumberFormats",hl[hl.CurrencyCode=15]="CurrencyCode",hl[hl.CurrencySymbol=16]="CurrencySymbol",hl[hl.CurrencyName=17]="CurrencyName",hl[hl.Currencies=18]="Currencies",hl[hl.Directionality=19]="Directionality",hl[hl.PluralCase=20]="PluralCase",hl[hl.ExtraData=21]="ExtraData",hl))();const dl="en-US";let pl=dl;function fl(t){wt(t,"Expected localeId to be defined"),"string"==typeof t&&(pl=t.toLowerCase().replace(/_/g,"-"))}function gl(t,e,n,i,r){if(t=ft(t),Array.isArray(t))for(let s=0;s>20;if(Do(t)||!t.multi){const i=new On(l,r,ea),p=yl(a,e,r?u:u+d,h);-1===p?(Hn(Fn(c,o),s,a),ml(s,t,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),n.push(i),o.push(i)):(n[p]=i,o[p]=i)}else{const p=yl(a,e,u+d,h),f=yl(a,e,u,u+d),g=p>=0&&n[p],m=f>=0&&n[f];if(r&&!m||!r&&!g){Hn(Fn(c,o),s,a);const u=function(t,e,n,i,r){const s=new On(t,n,ea);return s.multi=[],s.index=e,s.componentProviders=0,bl(s,r,i&&!n),s}(r?_l:vl,n.length,r,i,l);!r&&m&&(n[f].providerFactory=u),ml(s,t,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),n.push(u),o.push(u)}else ml(s,t,p>-1?p:f,bl(n[r?f:p],l,!r&&i));!r&&i&&m&&n[f].componentProviders++}}}function ml(t,e,n,i){const r=Do(e);if(r||function(t){return!!t.useClass}(e)){const s=(e.useClass||e).prototype.ngOnDestroy;if(s){const o=t.destroyHooks||(t.destroyHooks=[]);if(!r&&e.multi){const t=o.indexOf(n);-1===t?o.push(n,[i,s]):o[t+1].push(i,s)}else o.push(n,s)}}}function bl(t,e,n){return n&&t.componentProviders++,t.multi.push(e)-1}function yl(t,e,n,i){for(let r=n;r{n.providersResolver=(n,i)=>function(t,e,n){const i=He();if(i.firstCreatePass){const r=fe(t);gl(n,i.data,i.blueprint,r,!0),gl(e,i.data,i.blueprint,r,!1)}}(n,i?i(t):t,e)}}class Sl{}const Cl="ngComponent";class El{resolveComponentFactory(t){throw function(t){const e=Error(`No component factory found for ${ut(t)}. Did you add it to @NgModule.entryComponents?`);return e[Cl]=t,e}(t)}}class Ol{}function Tl(...t){}function kl(t,e){return new Al(Me(t,e))}Ol.NULL=new El;const Pl=function(){return kl(Ge(),Ue())};let Al=(()=>{class t{constructor(t){this.nativeElement=t}}return t.__NG_ELEMENT_ID__=Pl,t})();function Ml(t){return t instanceof Al?t.nativeElement:t}class Il{}let Dl=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>Rl(),t})();const Rl=function(){const t=Ue(),e=Re(Ge().index,t);return function(t){return t[11]}(ce(e)?e:t)};let Nl=(()=>{class t{}return t.\u0275prov=xt({token:t,providedIn:"root",factory:()=>null}),t})();class Ll{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const jl=new Ll("12.2.5");class Fl{constructor(){}supports(t){return Go(t)}create(t){return new Vl(t)}}const Bl=(t,e)=>e;class Vl{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Bl}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,i=0,r=null;for(;e||n;){const s=!n||e&&e.currentIndex<$l(n,i,r)?e:n,o=$l(s,i,r),a=s.currentIndex;if(s===n)i--,n=n._nextRemoved;else if(e=e._next,null==s.previousIndex)i++;else{r||(r=[]);const t=o-i,e=a-i;if(t!=e){for(let n=0;n{i=this._trackByFn(e,t),null!==r&&Object.is(r.trackById,i)?(s&&(r=this._verifyReinsertion(r,t,i,e)),Object.is(r.item,t)||this._addIdentityChange(r,t)):(r=this._mismatch(r,t,i,e),s=!0),r=r._next,e++}),this.length=e;return this._truncate(r),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,i){let r;return null===t?r=this._itTail:(r=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,r,i)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,i))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,r,i)):t=this._addAfter(new zl(e,n),r,i),t}_verifyReinsertion(t,e,n,i){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==r?t=this._reinsertAfter(r,t._prev,i):t.currentIndex!=i&&(t.currentIndex=i,this._addToMoves(t,i)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const i=t._prevRemoved,r=t._nextRemoved;return null===i?this._removalsHead=r:i._nextRemoved=r,null===r?this._removalsTail=i:r._prevRemoved=i,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const i=null===e?this._itHead:e._next;return t._next=i,t._prev=e,null===i?this._itTail=t:i._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new Hl),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Hl),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class zl{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Ul{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class Hl{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new Ul,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function $l(t,e,n){const i=t.previousIndex;if(null===i)return i;let r=0;return n&&i{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const i=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,i)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const i=n._prev,r=n._next;return i&&(i._next=r),r&&(r._prev=i),n._next=null,n._prev=null,n}const n=new ql(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}class ql{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Yl(){return new Xl([new Fl])}let Xl=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(null!=n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Yl()),deps:[[t,new Di,new Ii]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(t){return t.name||typeof t}(t)}'`)}}return t.\u0275prov=xt({token:t,providedIn:"root",factory:Yl}),t})();function Kl(){return new Ql([new Gl])}let Ql=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Kl()),deps:[[t,new Di,new Ii]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return t.\u0275prov=xt({token:t,providedIn:"root",factory:Kl}),t})();function Zl(t,e,n,i,r=!1){for(;null!==n;){const s=e[n.index];if(null!==s&&i.push(Pe(s)),ue(s))for(let t=10;t-1&&(Ur(t,n),hi(e,n))}this._attachedToViewContainer=!1}Hr(this._lView[1],this._lView)}onDestroy(t){Us(this._lView[1],this._lView,null,t)}markForCheck(){ao(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){lo(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(t,e,n){Qe(!0);try{lo(t,e,n)}finally{Qe(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(t,e){rs(t,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}}class tc extends Jl{constructor(t){super(t),this._view=t}detectChanges(){co(this._view)}checkNoChanges(){!function(t){Qe(!0);try{co(t)}finally{Qe(!1)}}(this._view)}get context(){return null}}const ec=function(t){return function(t,e,n){if(de(t)&&!n){const n=Re(t.index,e);return new Jl(n,n)}return 47&t.type?new Jl(e[16],e):null}(Ge(),Ue(),16==(16&t))};let nc=(()=>{class t{}return t.__NG_ELEMENT_ID__=ec,t})();const ic=[new Gl],rc=new Xl([new Fl]),sc=new Ql(ic),oc=function(){return uc(Ge(),Ue())};let ac=(()=>{class t{}return t.__NG_ELEMENT_ID__=oc,t})();const lc=ac,cc=class extends lc{constructor(t,e,n){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=n}createEmbeddedView(t){const e=this._declarationTContainer.tViews,n=As(this._declarationLView,e,t,16,null,e.declTNode,null,null,null,null);n[17]=this._declarationLView[this._declarationTContainer.index];const i=this._declarationLView[19];return null!==i&&(n[19]=i.createEmbeddedView(e)),Ds(e,n,t),new Jl(n)}};function uc(t,e){return 4&t.type?new cc(e,t,kl(t,e)):null}class hc{}const dc=function(){return yc(Ge(),Ue())};let pc=(()=>{class t{}return t.__NG_ELEMENT_ID__=dc,t})();const fc=pc,gc=class extends fc{constructor(t,e,n){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=n}get element(){return kl(this._hostTNode,this._hostLView)}get injector(){return new ti(this._hostTNode,this._hostLView)}get parentInjector(){const t=Un(this._hostTNode,this._hostLView);if(In(t)){const e=Rn(t,this._hostLView),n=Dn(t);return new ti(e[1].data[n+8],e)}return new ti(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=mc(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,e,n){const i=t.createEmbeddedView(e||{});return this.insert(i,n),i}createComponent(t,e,n,i,r){const s=n||this.parentInjector;if(!r&&null==t.ngModule&&s){const t=s.get(hc,null);t&&(r=t)}const o=t.create(s,i,void 0,r);return this.insert(o.hostView,e),o}insert(t,e){const n=t._lView,i=n[1];if(function(t){return ue(t[3])}(n)){const e=this.indexOf(t);if(-1!==e)this.detach(e);else{const e=n[3],i=new gc(e,e[6],e[3]);i.detach(i.indexOf(t))}}const r=this._adjustIndex(e),s=this._lContainer;!function(t,e,n,i){const r=10+i,s=n.length;i>0&&(n[r-1][4]=e),iPr});class Sc extends Sl{constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=function(t){return t.map(vs).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return wc(this.componentDef.inputs)}get outputs(){return wc(this.componentDef.outputs)}create(t,e,n,i){const r=(i=i||this.ngModule)?function(t,e){return{get:(n,i,r)=>{const s=t.get(n,vc,r);return s!==vc||i===vc?s:e.get(n,i,r)}}}(t,i.injector):t,s=r.get(Il,ke),o=r.get(Nl,null),a=s.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",c=n?function(t,e,n){if(Te(t))return t.selectRootElement(e,n===jt.ShadowDom);let i="string"==typeof e?t.querySelector(e):e;return i.textContent="",i}(a,n,this.componentDef.encapsulation):Vr(s.createRenderer(null,this.componentDef),l,function(t){const e=t.toLowerCase();return"svg"===e?Ce:"math"===e?"http://www.w3.org/1998/MathML/":null}(l)),u=this.componentDef.onPush?576:528,h=function(t,e){return{components:[],scheduler:t||Pr,clean:ho,playerHandler:e||null,flags:0}}(),d=zs(0,null,null,1,0,null,null,null,null,null),p=As(null,d,h,u,null,null,s,a,o,r);let f,g;un(p);try{const t=function(t,e,n,i,r,s){const o=n[1];n[20]=t;const a=Ms(o,20,2,"#host",null),l=a.mergedAttrs=e.hostAttrs;null!==l&&(vo(a,l,!0),null!==t&&(Tn(r,t,l),null!==a.classes&&as(r,t,a.classes),null!==a.styles&&os(r,t,a.styles)));const c=i.createRenderer(t,e),u=As(n,Vs(e),null,e.onPush?64:16,n[20],a,i,c,s||null,null);return o.firstCreatePass&&(Hn(Fn(a,n),o,e.type),Ys(o,a),Ks(a,n.length,1)),oo(n,u),n[20]=u}(c,this.componentDef,p,s,a);if(c)if(n)Tn(a,c,["ng-version",jl.full]);else{const{attrs:t,classes:e}=function(t){const e=[],n=[];let i=1,r=2;for(;i0&&as(a,c,e.join(" "))}if(g=Ie(d,20),void 0!==e){const t=g.projection=[];for(let n=0;nt(o,e)),e.contentQueries){const t=Ge();e.contentQueries(1,o,t.directiveStart)}const a=Ge();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(bn(a.index),Ws(n[1],a,0,a.directiveStart,a.directiveEnd,e),qs(e,o)),o}(t,this.componentDef,p,h,[Lo]),Ds(d,p,null)}finally{gn()}return new Cc(this.componentType,f,kl(g,p),p,g)}}class Cc extends class{}{constructor(t,e,n,i,r){super(),this.location=n,this._rootLView=i,this._tNode=r,this.instance=e,this.hostView=this.changeDetectorRef=new tc(i),this.componentType=t}get injector(){return new ti(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}const Ec=new Map;class Oc extends hc{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _c(this);const n=le(t),i=function(t){return t[Xt]||null}(t);i&&fl(i),this._bootstrapComponents=Ir(n.bootstrap),this._r3Injector=To(t,e,[{provide:hc,useValue:this},{provide:Ol,useValue:this.componentFactoryResolver}],ut(t)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(t)}get(t,e=No.THROW_IF_NOT_FOUND,n=Mt.Default){return t===No||t===hc||t===_o?this:this._r3Injector.get(t,e,n)}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class Tc extends class{}{constructor(t){super(),this.moduleType=t,null!==le(t)&&function(t){const e=new Set;!function t(n){const i=le(n,!0),r=i.id;null!==r&&(function(t,e,n){if(e&&e!==n)throw new Error(`Duplicate module registered for ${t} - ${ut(e)} vs ${ut(e.name)}`)}(r,Ec.get(r),n),Ec.set(r,n));const s=Ir(i.imports);for(const o of s)e.has(o)||(e.add(o),t(o))}(t)}(t)}create(t){return new Oc(this.moduleType,t)}}function kc(t,e,n){const i=Ze()+t,r=Ue();return r[i]===_s?qo(r,i,n?e.call(n):e()):function(t,e){return t[e]}(r,i)}function Pc(t,e,n,i){return Ic(Ue(),Ze(),t,e,n,i)}function Ac(t,e,n,i,r,s){return function(t,e,n,i,r,s,o,a){const l=e+n;return function(t,e,n,i,r){const s=Xo(t,e,n,i);return Yo(t,e+2,r)||s}(t,l,r,s,o)?qo(t,l+3,a?i.call(a,r,s,o):i(r,s,o)):Mc(t,l+3)}(Ue(),Ze(),t,e,n,i,r,s)}function Mc(t,e){const n=t[e];return n===_s?void 0:n}function Ic(t,e,n,i,r,s){const o=e+n;return Yo(t,o,r)?qo(t,o+1,s?i.call(s,r):i(r)):Mc(t,o+1)}function Dc(t,e){const n=He();let i;const r=t+20;n.firstCreatePass?(i=function(t,e){if(e)for(let n=e.length-1;n>=0;n--){const i=e[n];if(t===i.name)return i}throw new mt("302",`The pipe '${t}' could not be found!`)}(e,n.pipeRegistry),n.data[r]=i,i.onDestroy&&(n.destroyHooks||(n.destroyHooks=[])).push(r,i.onDestroy)):i=n.data[r];const s=i.factory||(i.factory=me(i.type)),o=Dt(ea);try{const t=Ln(!1),e=s();return Ln(t),function(t,e,n,i){n>=t.data.length&&(t.data[n]=null,t.blueprint[n]=null),e[n]=i}(n,Ue(),r,e),e}finally{Dt(o)}}function Rc(t,e,n){const i=t+20,r=Ue(),s=De(r,i);return jc(r,Lc(r,i)?Ic(r,Ze(),e,s.transform,n,s):s.transform(n))}function Nc(t,e,n,i){const r=t+20,s=Ue(),o=De(s,r);return jc(s,Lc(s,r)?function(t,e,n,i,r,s,o){const a=e+n;return Xo(t,a,r,s)?qo(t,a+2,o?i.call(o,r,s):i(r,s)):Mc(t,a+2)}(s,Ze(),e,o.transform,n,i,o):o.transform(n,i))}function Lc(t,e){return t[1].data[e].pure}function jc(t,e){return $o.isWrapped(e)&&(e=$o.unwrap(e),t[Je()]=_s),e}function Fc(t){return e=>{setTimeout(t,void 0,e)}}const Bc=class extends A{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){var i,r,s;let o=t,a=e||(()=>null),l=n;if(t&&"object"==typeof t){const e=t;o=null===(i=e.next)||void 0===i?void 0:i.bind(e),a=null===(r=e.error)||void 0===r?void 0:r.bind(e),l=null===(s=e.complete)||void 0===s?void 0:s.bind(e)}this.__isAsync&&(a=Fc(a),o&&(o=Fc(o)),l&&(l=Fc(l)));const c=super.subscribe({next:o,error:a,complete:l});return t instanceof g&&t.add(c),c}};function Vc(){return this._results[Ho()]()}class zc{constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=Ho(),n=zc.prototype;n[e]||(n[e]=Vc)}get changes(){return this._changes||(this._changes=new Bc)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,e){const n=this;n.dirty=!1;const i=li(t);(this._changesDetected=!function(t,e,n){if(t.length!==e.length)return!1;for(let i=0;i0)i.push(o[t/2]);else{const r=s[t+1],o=e[-n];for(let t=10;t{class t{constructor(t){this.appInits=t,this.resolve=Tl,this.reject=Tl,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n{e.subscribe({complete:t,error:n})});t.push(n)}}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)(Ei(su,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const au=new oi("AppId"),lu={provide:au,useFactory:function(){return`${cu()}${cu()}${cu()}`},deps:[]};function cu(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const uu=new oi("Platform Initializer"),hu=new oi("Platform ID"),du=new oi("appBootstrapListener");let pu=(()=>{class t{log(t){console.log(t)}warn(t){console.warn(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const fu=new oi("LocaleId"),gu=new oi("DefaultCurrencyCode");class mu{constructor(t,e){this.ngModuleFactory=t,this.componentFactories=e}}const bu=function(t){return new Tc(t)},yu=bu,vu=function(t){return Promise.resolve(bu(t))},_u=function(t){const e=bu(t),n=Ir(le(t).declarations).reduce((t,e)=>{const n=ae(e);return n&&t.push(new Sc(n)),t},[]);return new mu(e,n)},wu=_u,xu=function(t){return Promise.resolve(_u(t))};let Su=(()=>{class t{constructor(){this.compileModuleSync=yu,this.compileModuleAsync=vu,this.compileModuleAndAllComponentsSync=wu,this.compileModuleAndAllComponentsAsync=xu}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Cu=new oi("compilerOptions"),Eu=(()=>Promise.resolve(0))();function Ou(t){"undefined"==typeof Zone?Eu.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class Tu{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Bc(!1),this.onMicrotaskEmpty=new Bc(!1),this.onStable=new Bc(!1),this.onError=new Bc(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const i=this;i._nesting=0,i._outer=i._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(i._inner=i._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(i._inner=i._inner.fork(Zone.longStackTraceZoneSpec)),i.shouldCoalesceEventChangeDetection=!n&&e,i.shouldCoalesceRunChangeDetection=n,i.lastRequestAnimationFrameId=-1,i.nativeRequestAnimationFrame=function(){let t=Ut.requestAnimationFrame,e=Ut.cancelAnimationFrame;if("undefined"!=typeof Zone&&t&&e){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(t){const e=()=>{!function(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Ut,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,Au(t),t.isCheckStableRunning=!0,Pu(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),Au(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,i,r,s,o,a)=>{try{return Mu(t),n.invokeTask(r,s,o,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||t.shouldCoalesceRunChangeDetection)&&e(),Iu(t)}},onInvoke:(n,i,r,s,o,a,l)=>{try{return Mu(t),n.invoke(r,s,o,a,l)}finally{t.shouldCoalesceRunChangeDetection&&e(),Iu(t)}},onHasTask:(e,n,i,r)=>{e.hasTask(i,r),n===i&&("microTask"==r.change?(t._hasPendingMicrotasks=r.microTask,Au(t),Pu(t)):"macroTask"==r.change&&(t.hasPendingMacrotasks=r.macroTask))},onHandleError:(e,n,i,r)=>(e.handleError(i,r),t.runOutsideAngular(()=>t.onError.emit(r)),!1)})}(i)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Tu.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Tu.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,i){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+i,t,ku,Tl,Tl);try{return r.runTask(s,e,n)}finally{r.cancelTask(s)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}const ku={};function Pu(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function Au(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function Mu(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function Iu(t){t._nesting--,Pu(t)}class Du{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Bc,this.onMicrotaskEmpty=new Bc,this.onStable=new Bc,this.onError=new Bc}run(t,e,n){return t.apply(e,n)}runGuarded(t,e,n){return t.apply(e,n)}runOutsideAngular(t){return t()}runTask(t,e,n,i){return t.apply(e,n)}}let Ru=(()=>{class t{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Tu.assertNotInAngularZone(),Ou(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Ou(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,e,n){let i=-1;e&&e>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==i),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Nu=(()=>{class t{constructor(){this._applications=new Map,ju.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return ju.findTestabilityInTree(this,t,e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Lu{addToWindow(t){}findTestabilityInTree(t,e,n){return null}}let ju=new Lu,Fu=!0,Bu=!1;function Vu(){return Bu=!0,Fu}let zu;const Uu=new oi("AllowMultipleToken");function Hu(t,e,n=[]){const i=`Platform: ${e}`,r=new oi(i);return(e=[])=>{let s=$u();if(!s||s.injector.get(Uu,!1))if(t)t(n.concat(e).concat({provide:r,useValue:!0}));else{const t=n.concat(e).concat({provide:r,useValue:!0},{provide:xo,useValue:"platform"});!function(t){if(zu&&!zu.destroyed&&!zu.injector.get(Uu,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");zu=t.get(Gu);const e=t.get(uu,null);e&&e.forEach(t=>t())}(No.create({providers:t,name:i}))}return function(t){const e=$u();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function $u(){return zu&&!zu.destroyed?zu:null}let Gu=(()=>{class t{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t,e){let n;return n="noop"===t?new Du:("zone.js"===t?void 0:t)||new Tu({enableLongStackTrace:Vu(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),n}(e?e.ngZone:void 0,{ngZoneEventCoalescing:e&&e.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:e&&e.ngZoneRunCoalescing||!1}),i=[{provide:Tu,useValue:n}];return n.run(()=>{const r=No.create({providers:i,parent:this.injector,name:t.moduleType.name}),s=t.create(r),o=s.injector.get(kr,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return n.runOutsideAngular(()=>{const t=n.onError.subscribe({next:t=>{o.handleError(t)}});s.onDestroy(()=>{Yu(this._modules,s),t.unsubscribe()})}),function(t,n,i){try{const e=i();return ha(e)?e.catch(e=>{throw n.runOutsideAngular(()=>t.handleError(e)),e}):e}catch(e){throw n.runOutsideAngular(()=>t.handleError(e)),e}}(o,n,()=>{const t=s.injector.get(ou);return t.runInitializers(),t.donePromise.then(()=>(fl(s.injector.get(fu,dl)||dl),this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,e=[]){const n=Wu({},e);return function(t,e,n){const i=new Tc(n);return Promise.resolve(i)}(0,0,t).then(t=>this.bootstrapModuleFactory(t,n))}_moduleDoBootstrap(t){const e=t.injector.get(qu);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${ut(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Wu(t,e){return Array.isArray(e)?e.reduce(Wu,t):Object.assign(Object.assign({},t),e)}let qu=(()=>{class t{constructor(t,e,n,i,r){this._zone=t,this._injector=e,this._exceptionHandler=n,this._componentFactoryResolver=i,this._initStatus=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const s=new E(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),o=new E(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{Tu.assertNotInAngularZone(),Ou(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{Tu.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=Q(s,o.pipe(at()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof Sl?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const i=function(t){return t.isBoundToModule}(n)?void 0:this._injector.get(hc),r=n.create(No.NULL,[],e||n.selector,i),s=r.location.nativeElement,o=r.injector.get(Ru,null),a=o&&r.injector.get(Nu);return o&&a&&a.registerApplication(s,o),r.onDestroy(()=>{this.detachView(r.hostView),Yu(this.components,r),a&&a.unregisterApplication(s)}),this._loadComponent(r),r}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;Yu(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(du,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(No),Ei(kr),Ei(Ol),Ei(ou))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Yu(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const Xu=Hu(null,"core",[{provide:hu,useValue:"unknown"},{provide:Gu,deps:[No]},{provide:Nu,deps:[]},{provide:pu,deps:[]}]),Ku=[{provide:qu,useClass:qu,deps:[Tu,No,kr,Ol,ou]},{provide:xc,deps:[Tu],useFactory:function(t){let e=[];return t.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:ou,useClass:ou,deps:[[new Ii,su]]},{provide:Su,useClass:Su,deps:[]},lu,{provide:Xl,useFactory:function(){return rc},deps:[]},{provide:Ql,useFactory:function(){return sc},deps:[]},{provide:fu,useFactory:function(t){return fl(t=t||"undefined"!=typeof $localize&&$localize.locale||dl),t},deps:[[new Mi(fu),new Ii,new Di]]},{provide:gu,useValue:"USD"}];let Qu=(()=>{class t{constructor(t){}}return t.\u0275fac=function(e){return new(e||t)(Ei(qu))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:Ku}),t})(),Zu=null;function Ju(){return Zu}const th=new oi("DocumentToken");let eh=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:nh,token:t,providedIn:"platform"}),t})();function nh(){return Ei(ih)}let ih=(()=>{class t extends eh{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Ju().getBaseHref(this._doc)}onPopState(t){const e=Ju().getGlobalEventTarget(this._doc,"window");return e.addEventListener("popstate",t,!1),()=>e.removeEventListener("popstate",t)}onHashChange(t){const e=Ju().getGlobalEventTarget(this._doc,"window");return e.addEventListener("hashchange",t,!1),()=>e.removeEventListener("hashchange",t)}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(t){this.location.pathname=t}pushState(t,e,n){rh()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){rh()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:sh,token:t,providedIn:"platform"}),t})();function rh(){return!!window.history.pushState}function sh(){return new ih(Ei(th))}function oh(t,e){if(0==t.length)return e;if(0==e.length)return t;let n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e}function ah(t){const e=t.match(/#|\?|$/),n=e&&e.index||t.length;return t.slice(0,n-("/"===t[n-1]?1:0))+t.slice(n)}function lh(t){return t&&"?"!==t[0]?"?"+t:t}let ch=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:uh,token:t,providedIn:"root"}),t})();function uh(t){const e=Ei(th).location;return new dh(Ei(eh),e&&e.origin||"")}const hh=new oi("appBaseHref");let dh=(()=>{class t extends ch{constructor(t,e){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==e&&(e=this._platformLocation.getBaseHrefFromDOM()),null==e)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=e}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return oh(this._baseHref,t)}path(t=!1){const e=this._platformLocation.pathname+lh(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?`${e}${n}`:e}pushState(t,e,n,i){const r=this.prepareExternalUrl(n+lh(i));this._platformLocation.pushState(t,e,r)}replaceState(t,e,n,i){const r=this.prepareExternalUrl(n+lh(i));this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformLocation).historyGo)||void 0===n||n.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(eh),Ei(hh,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),ph=(()=>{class t{constructor(t,e){this._subject=new Bc,this._urlChangeListeners=[],this._platformStrategy=t;const n=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=ah(gh(n)),this._platformStrategy.onPopState(t=>{this._subject.emit({url:this.path(!0),pop:!0,state:t.state,type:t.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,e=""){return this.path()==this.normalize(t+lh(e))}normalize(e){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,gh(e)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,e="",n=null){this._platformStrategy.pushState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+lh(e)),n)}replaceState(t,e="",n=null){this._platformStrategy.replaceState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+lh(e)),n)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformStrategy).historyGo)||void 0===n||n.call(e,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(t=>{this._notifyUrlChangeListeners(t.url,t.state)}))}_notifyUrlChangeListeners(t="",e){this._urlChangeListeners.forEach(n=>n(t,e))}subscribe(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})}}return t.\u0275fac=function(e){return new(e||t)(Ei(ch),Ei(eh))},t.normalizeQueryParams=lh,t.joinWithSlash=oh,t.stripTrailingSlash=ah,t.\u0275prov=xt({factory:fh,token:t,providedIn:"root"}),t})();function fh(){return new ph(Ei(ch),Ei(eh))}function gh(t){return t.replace(/\/index.html$/,"")}var mh=(()=>((mh=mh||{})[mh.Decimal=0]="Decimal",mh[mh.Percent=1]="Percent",mh[mh.Currency=2]="Currency",mh[mh.Scientific=3]="Scientific",mh))(),bh=(()=>((bh=bh||{})[bh.Zero=0]="Zero",bh[bh.One=1]="One",bh[bh.Two=2]="Two",bh[bh.Few=3]="Few",bh[bh.Many=4]="Many",bh[bh.Other=5]="Other",bh))(),yh=(()=>((yh=yh||{})[yh.Decimal=0]="Decimal",yh[yh.Group=1]="Group",yh[yh.List=2]="List",yh[yh.PercentSign=3]="PercentSign",yh[yh.PlusSign=4]="PlusSign",yh[yh.MinusSign=5]="MinusSign",yh[yh.Exponential=6]="Exponential",yh[yh.SuperscriptingExponent=7]="SuperscriptingExponent",yh[yh.PerMille=8]="PerMille",yh[yh.Infinity=9]="Infinity",yh[yh.NaN=10]="NaN",yh[yh.TimeSeparator=11]="TimeSeparator",yh[yh.CurrencyDecimal=12]="CurrencyDecimal",yh[yh.CurrencyGroup=13]="CurrencyGroup",yh))();function vh(t,e){const n=cl(t),i=n[hl.NumberSymbols][e];if(void 0===i){if(e===yh.CurrencyDecimal)return n[hl.NumberSymbols][yh.Decimal];if(e===yh.CurrencyGroup)return n[hl.NumberSymbols][yh.Group]}return i}const _h=function(t){return cl(t)[hl.PluralCase]},wh=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function xh(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}class Sh{}let Ch=(()=>{class t extends Sh{constructor(t){super(),this.locale=t}getPluralCategory(t,e){switch(_h(e||this.locale)(t)){case bh.Zero:return"zero";case bh.One:return"one";case bh.Two:return"two";case bh.Few:return"few";case bh.Many:return"many";default:return"other"}}}return t.\u0275fac=function(e){return new(e||t)(Ei(fu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Eh(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[i,r]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(i.trim()===e)return decodeURIComponent(r)}return null}let Oh=(()=>{class t{constructor(t,e,n,i){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=i,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Go(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${ut(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Xl),ea(Ql),ea(Al),ea(Dl))},t.\u0275dir=se({type:t,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),t})();class Th{constructor(t,e,n,i){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let kh=(()=>{class t{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(t){throw new Error(`Cannot find a differ supporting object '${e}' of type '${function(t){return t.name||typeof t}(e)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,i)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new Th(null,this._ngForOf,-1,-1),null===i?void 0:i),r=new Ph(t,n);e.push(r)}else if(null==i)this._viewContainer.remove(null===n?void 0:n);else if(null!==n){const r=this._viewContainer.get(n);this._viewContainer.move(r,i);const s=new Ph(t,r);e.push(s)}});for(let n=0;n{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Xl))},t.\u0275dir=se({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),t})();class Ph{constructor(t,e){this.record=t,this.view=e}}let Ah=(()=>{class t{constructor(t,e){this._viewContainer=t,this._context=new Mh,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Ih("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Ih("ngIfElse",t),this._elseTemplateRef=t,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(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac))},t.\u0275dir=se({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),t})();class Mh{constructor(){this.$implicit=null,this.ngIf=null}}function Ih(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${ut(e)}'.`)}class Dh{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}let Rh=(()=>{class t{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e{class t{constructor(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new Dh(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Rh,9))},t.\u0275dir=se({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),t})(),Lh=(()=>{class t{constructor(t,e,n){n._addDefault(new Dh(t,e))}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Rh,9))},t.\u0275dir=se({type:t,selectors:[["","ngSwitchDefault",""]]}),t})(),jh=(()=>{class t{constructor(t,e,n){this._ngEl=t,this._differs=e,this._renderer=n,this._ngStyle=null,this._differ=null}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,e){const[n,i]=t.split(".");null!=(e=null!=e&&i?`${e}${i}`:e)?this._renderer.setStyle(this._ngEl.nativeElement,n,e):this._renderer.removeStyle(this._ngEl.nativeElement,n)}_applyChanges(t){t.forEachRemovedItem(t=>this._setStyle(t.key,null)),t.forEachAddedItem(t=>this._setStyle(t.key,t.currentValue)),t.forEachChangedItem(t=>this._setStyle(t.key,t.currentValue))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ql),ea(Dl))},t.\u0275dir=se({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),t})(),Fh=(()=>{class t{constructor(t){this._viewContainerRef=t,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null}ngOnChanges(t){if(t.ngTemplateOutlet){const t=this._viewContainerRef;this._viewRef&&t.remove(t.indexOf(this._viewRef)),this._viewRef=this.ngTemplateOutlet?t.createEmbeddedView(this.ngTemplateOutlet,this.ngTemplateOutletContext):null}else this._viewRef&&t.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return t.\u0275fac=function(e){return new(e||t)(ea(pc))},t.\u0275dir=se({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet"},features:[ye]}),t})();function Bh(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${ut(t)}'`)}class Vh{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}}class zh{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}}const Uh=new zh,Hh=new Vh;let $h=(()=>{class t{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(e){if(ha(e))return Uh;if(da(e))return Hh;throw Bh(t,e)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(ea(nc,16))},t.\u0275pipe=oe({name:"async",type:t,pure:!1}),t})(),Gh=(()=>{class t{constructor(t){this._locale=t}transform(e,n,i){if(!function(t){return!(null==t||""===t||t!=t)}(e))return null;i=i||this._locale;try{return function(t,e,n){return function(t,e,n,i,r,s,o=!1){let a="",l=!1;if(isFinite(t)){let c=function(t){let e,n,i,r,s,o=Math.abs(t)+"",a=0;for((n=o.indexOf("."))>-1&&(o=o.replace(".","")),(i=o.search(/e/i))>0?(n<0&&(n=i),n+=+o.slice(i+1),o=o.substring(0,i)):n<0&&(n=o.length),i=0;"0"===o.charAt(i);i++);if(i===(s=o.length))e=[0],n=1;else{for(s--;"0"===o.charAt(s);)s--;for(n-=i,e=[],r=0;i<=s;i++,r++)e[r]=Number(o.charAt(i))}return n>22&&(e=e.splice(0,21),a=n-1,n=1),{digits:e,exponent:a,integerLen:n}}(t);o&&(c=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(c));let u=e.minInt,h=e.minFrac,d=e.maxFrac;if(s){const t=s.match(wh);if(null===t)throw new Error(`${s} is not a valid digit info`);const e=t[1],n=t[3],i=t[5];null!=e&&(u=xh(e)),null!=n&&(h=xh(n)),null!=i?d=xh(i):null!=n&&h>d&&(d=h)}!function(t,e,n){if(e>n)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${n}).`);let i=t.digits,r=i.length-t.integerLen;const s=Math.min(Math.max(e,r),n);let o=s+t.integerLen,a=i[o];if(o>0){i.splice(Math.max(t.integerLen,o));for(let t=o;t=5)if(o-1<0){for(let e=0;e>o;e--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[o-1]++;for(;r=c?i.pop():l=!1),e>=10?1:0},0);u&&(i.unshift(u),t.integerLen++)}(c,h,d);let p=c.digits,f=c.integerLen;const g=c.exponent;let m=[];for(l=p.every(t=>!t);f0?m=p.splice(f,p.length):(m=p,p=[0]);const b=[];for(p.length>=e.lgSize&&b.unshift(p.splice(-e.lgSize,p.length).join(""));p.length>e.gSize;)b.unshift(p.splice(-e.gSize,p.length).join(""));p.length&&b.unshift(p.join("")),a=b.join(vh(n,i)),m.length&&(a+=vh(n,r)+m.join("")),g&&(a+=vh(n,yh.Exponential)+"+"+g)}else a=vh(n,yh.Infinity);return a=t<0&&!l?e.negPre+a+e.negSuf:e.posPre+a+e.posSuf,a}(t,function(t,e="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(";"),r=i[0],s=i[1],o=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],a=o[0],l=o[1]||"";n.posPre=a.substr(0,a.indexOf("#"));for(let u=0;u{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:Sh,useClass:Ch}]}),t})();const qh="browser";function Yh(t){return t===qh}class Xh{}class Kh extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(t){Zu||(Zu=t)}(new Kh)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=(Zh=Zh||document.querySelector("base"),Zh?Zh.getAttribute("href"):null);return null==e?null:function(t){Qh=Qh||document.createElement("a"),Qh.setAttribute("href",t);const e=Qh.pathname;return"/"===e.charAt(0)?e:`/${e}`}(e)}resetBaseElement(){Zh=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return Eh(document.cookie,t)}}let Qh,Zh=null;const Jh=new oi("TRANSITION_ID"),td=[{provide:su,useFactory:function(t,e,n){return()=>{n.get(ou).donePromise.then(()=>{const n=Ju(),i=e.querySelectorAll(`style[ng-transition="${t}"]`);for(let t=0;t{const i=t.findTestabilityInTree(e,n);if(null==i)throw new Error("Could not find testability for element.");return i},Ut.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ut.getAllAngularRootElements=()=>t.getAllRootElements(),Ut.frameworkStabilizers||(Ut.frameworkStabilizers=[]),Ut.frameworkStabilizers.push(t=>{const e=Ut.getAllAngularTestabilities();let n=e.length,i=!1;const r=function(e){i=i||e,n--,0==n&&t(i)};e.forEach(function(t){t.whenStable(r)})})}findTestabilityInTree(t,e,n){if(null==e)return null;const i=t.getTestability(e);return null!=i?i:n?Ju().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null}}let nd=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const id=new oi("EventManagerPlugins");let rd=(()=>{class t{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let i=0;i{class t{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),ad=(()=>{class t extends od{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,e,n){t.forEach(t=>{const i=this._doc.createElement("style");i.textContent=t,n.push(e.appendChild(i))})}addHost(t){const e=[];this._addStylesToHost(this._stylesSet,t,e),this._hostNodes.set(t,e)}removeHost(t){const e=this._hostNodes.get(t);e&&e.forEach(ld),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((e,n)=>{this._addStylesToHost(t,n,e)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(ld))}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function ld(t){Ju().remove(t)}const cd={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/"},ud=/%COMP%/g;function hd(t,e,n){for(let i=0;i{if("__ngUnwrap__"===e)return t;!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}let pd=(()=>{class t{constructor(t,e,n){this.eventManager=t,this.sharedStylesHost=e,this.appId=n,this.rendererByCompId=new Map,this.defaultRenderer=new fd(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case jt.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new gd(this.eventManager,this.sharedStylesHost,e,this.appId),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case 1:case jt.ShadowDom:return new md(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=hd(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return t.\u0275fac=function(e){return new(e||t)(Ei(rd),Ei(ad),Ei(au))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class fd{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(cd[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let n="string"==typeof t?document.querySelector(t):t;if(!n)throw new Error(`The selector "${t}" did not match any elements`);return e||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,i){if(i){e=i+":"+e;const r=cd[i];r?t.setAttributeNS(r,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const i=cd[n];i?t.removeAttributeNS(i,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,i){i&(Dr.DashCase|Dr.Important)?t.style.setProperty(e,n,i&Dr.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&Dr.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,dd(n)):this.eventManager.addEventListener(t,e,dd(n))}}class gd extends fd{constructor(t,e,n,i){super(t),this.component=n;const r=hd(i+"-"+n.id,n.styles,[]);e.addStyles(r),this.contentAttr=function(t){return"_ngcontent-%COMP%".replace(ud,t)}(i+"-"+n.id),this.hostAttr=function(t){return"_nghost-%COMP%".replace(ud,t)}(i+"-"+n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class md extends fd{constructor(t,e,n,i){super(t),this.sharedStylesHost=e,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const r=hd(i.id,i.styles,[]);for(let s=0;s{class t extends sd{constructor(t){super(t)}supports(t){return!0}addEventListener(t,e,n){return t.addEventListener(e,n,!1),()=>this.removeEventListener(t,e,n)}removeEventListener(t,e,n){return t.removeEventListener(e,n)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const yd=["alt","control","meta","shift"],vd={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_d={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},wd={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let xd=(()=>{class t extends sd{constructor(t){super(t)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,n,i){const r=t.parseEventName(n),s=t.eventCallback(r.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Ju().onAndCancel(e,r.domEventName,s))}static parseEventName(e){const n=e.toLowerCase().split("."),i=n.shift();if(0===n.length||"keydown"!==i&&"keyup"!==i)return null;const r=t._normalizeKey(n.pop());let s="";if(yd.forEach(t=>{const e=n.indexOf(t);e>-1&&(n.splice(e,1),s+=t+".")}),s+=r,0!=n.length||0===r.length)return null;const o={};return o.domEventName=i,o.fullKey=s,o}static getEventFullKey(t){let e="",n=function(t){let e=t.key;if(null==e){if(e=t.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&_d.hasOwnProperty(e)&&(e=_d[e]))}return vd[e]||e}(t);return n=n.toLowerCase()," "===n?n="space":"."===n&&(n="dot"),yd.forEach(i=>{i!=n&&wd[i](t)&&(e+=i+".")}),e+=n,e}static eventCallback(e,n,i){return r=>{t.getEventFullKey(r)===e&&i.runGuarded(()=>n(r))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Sd=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return Ei(Cd)},token:t,providedIn:"root"}),t})(),Cd=(()=>{class t extends Sd{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case yr.NONE:return e;case yr.HTML:return qi(e,"HTML")?Wi(e):mr(this._doc,String(e)).toString();case yr.STYLE:return qi(e,"Style")?Wi(e):e;case yr.SCRIPT:if(qi(e,"Script"))return Wi(e);throw new Error("unsafe value used in a script context");case yr.URL:return Yi(e),qi(e,"URL")?Wi(e):Ji(String(e));case yr.RESOURCE_URL:if(qi(e,"ResourceURL"))return Wi(e);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(t){return new zi(t)}(t)}bypassSecurityTrustStyle(t){return function(t){return new Ui(t)}(t)}bypassSecurityTrustScript(t){return function(t){return new Hi(t)}(t)}bypassSecurityTrustUrl(t){return function(t){return new $i(t)}(t)}bypassSecurityTrustResourceUrl(t){return function(t){return new Gi(t)}(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return function(t){return new Cd(t.get(th))}(Ei(_o))},token:t,providedIn:"root"}),t})();const Ed=Hu(Xu,"browser",[{provide:hu,useValue:qh},{provide:uu,useValue:function(){Kh.makeCurrent(),ed.init()},multi:!0},{provide:th,useFactory:function(){return function(t){Ee=t}(document),document},deps:[]}]),Od=[[],{provide:xo,useValue:"root"},{provide:kr,useFactory:function(){return new kr},deps:[]},{provide:id,useClass:bd,multi:!0,deps:[th,Tu,hu]},{provide:id,useClass:xd,multi:!0,deps:[th]},[],{provide:pd,useClass:pd,deps:[rd,ad,au]},{provide:Il,useExisting:pd},{provide:od,useExisting:ad},{provide:ad,useClass:ad,deps:[th]},{provide:Ru,useClass:Ru,deps:[Tu]},{provide:rd,useClass:rd,deps:[id,Tu]},{provide:Xh,useClass:nd,deps:[]},[]];let Td=(()=>{class t{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(e){return{ngModule:t,providers:[{provide:au,useValue:e.appId},{provide:Jh,useExisting:au},td]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:Od,imports:[Wh,Qu]}),t})();function kd(t){return null!=t&&"false"!=`${t}`}function Pd(t,e=0){return function(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):e}function Ad(t){return Array.isArray(t)?t:[t]}function Md(t){return null==t?"":"string"==typeof t?t:`${t}px`}function Id(t){return t instanceof Al?t.nativeElement:t}function Dd(...t){let e=t[t.length-1];return I(e)?(t.pop(),z(t,e)):K(t)}function Rd(t,e,n,i){return a(n)&&(i=n,n=void 0),i?Rd(t,e,n).pipe(D(t=>d(t)?i(...t):i(t))):new E(i=>{Nd(t,e,function(t){i.next(arguments.length>1?Array.prototype.slice.call(arguments):t)},i,n)})}function Nd(t,e,n,i,r){let s;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(t)){const i=t;t.addEventListener(e,n,r),s=()=>i.removeEventListener(e,n,r)}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(t)){const i=t;t.on(e,n),s=()=>i.off(e,n)}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(t)){const i=t;t.addListener(e,n),s=()=>i.removeListener(e,n)}else{if(!t||!t.length)throw new TypeError("Invalid event target");for(let s=0,o=t.length;s{class t{constructor(e,n=t.now){this.SchedulerAction=e,this.now=n}schedule(t,e=0,n){return new this.SchedulerAction(this,t).schedule(n,e)}}return t.now=()=>Date.now(),t})();class Bd extends Fd{constructor(t,e=Fd.now){super(t,()=>Bd.delegate&&Bd.delegate!==this?Bd.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,n){return Bd.delegate&&Bd.delegate!==this?Bd.delegate.schedule(t,e,n):super.schedule(t,e,n)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}}new class extends Bd{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(()=>t.flush(null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(cancelAnimationFrame(e),t.scheduled=void 0)}});let Vd=1;const zd=Promise.resolve(),Ud={};function Hd(t){return t in Ud&&(delete Ud[t],!0)}const $d={setImmediate(t){const e=Vd++;return Ud[e]=!0,zd.then(()=>Hd(e)&&t()),e},clearImmediate(t){Hd(t)}};new class extends Bd{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=$d.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&($d.clearImmediate(e),t.scheduled=void 0)}});function Gd(t){return!!t&&(t instanceof E||"function"==typeof t.lift&&"function"==typeof t.subscribe)}function Wd(t,e){return n=>n.lift(new qd(t,e))}class qd{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new Yd(t,this.compare,this.keySelector))}}class Yd extends v{constructor(t,e,n){super(t),this.keySelector=n,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e;try{const{keySelector:n}=this;e=n?n(t):t}catch(i){return this.destination.error(i)}let n=!1;if(this.hasKey)try{const{compare:t}=this;n=t(this.key,e)}catch(i){return this.destination.error(i)}else this.hasKey=!0;n||(this.key=e,this.destination.next(t))}}const Xd=new Bd(jd);class Kd{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new Qd(t,this.durationSelector))}}class Qd extends ${constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1}_next(t){if(this.value=t,this.hasValue=!0,!this.throttled){let n;try{const{durationSelector:e}=this;n=e(t)}catch(e){return this.destination.error(e)}const i=G(n,new H(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:t,hasValue:e,throttled:n}=this;n&&(this.remove(n),this.throttled=void 0,n.unsubscribe()),e&&(this.value=void 0,this.hasValue=!1,this.destination.next(t))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function Zd(t){return!d(t)&&t-parseFloat(t)+1>=0}function Jd(t){const{index:e,period:n,subscriber:i}=t;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}}function tp(t,e=Xd){return function(t){return function(e){return e.lift(new Kd(t))}}(()=>function(t=0,e,n){let i=-1;return Zd(e)?i=Number(e)<1?1:Number(e):I(e)&&(n=e),I(n)||(n=Xd),new E(e=>{const r=Zd(t)?t:+t-n.now();return n.schedule(Jd,r,{index:0,period:i,subscriber:e})})}(t,e))}function ep(t,e){return function(n){return n.lift(new np(t,e))}}class np{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new ip(t,this.predicate,this.thisArg))}}class ip extends v{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)}}function rp(t){return e=>e.lift(new sp(t))}class sp{constructor(t){this.notifier=t}call(t,e){const n=new op(t),i=G(this.notifier,new H(n));return i&&!n.seenValue?(n.add(i),e.subscribe(n)):n}}class op extends ${constructor(t){super(t),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function ap(...t){return X(1)(Dd(...t))}function lp(...t){const e=t[t.length-1];return I(e)?(t.pop(),n=>ap(t,n,e)):e=>ap(t,e)}function cp(t,e){return"function"==typeof e?n=>n.pipe(cp((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))))):e=>e.lift(new up(t))}class up{constructor(t){this.project=t}call(t,e){return e.subscribe(new hp(t,this.project))}}class hp extends ${constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this._innerSub(e)}_innerSub(t){const e=this.innerSubscription;e&&e.unsubscribe();const n=new H(this),i=this.destination;i.add(n),this.innerSubscription=G(t,n),this.innerSubscription!==n&&i.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;(!t||t.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(t){this.destination.next(t)}}const dp=new class extends Bd{}(class extends jd{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}schedule(t,e=0){return e>0?super.schedule(t,e):(this.delay=e,this.state=t,this.scheduler.flush(this),this)}execute(t,e){return e>0||this.closed?super.execute(t,e):this._execute(t,e)}requestAsyncId(t,e,n=0){return null!==n&&n>0||null===n&&this.delay>0?super.requestAsyncId(t,e,n):t.flush(this)}}),pp=new E(t=>t.complete());function fp(t){return t?function(t){return new E(e=>t.schedule(()=>e.complete()))}(t):pp}function gp(t,e){return new E(e?n=>e.schedule(mp,0,{error:t,subscriber:n}):e=>e.error(t))}function mp({error:t,subscriber:e}){e.error(t)}class bp{constructor(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}}accept(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)}toObservable(){switch(this.kind){case"N":return Dd(this.value);case"E":return gp(this.error);case"C":return fp()}throw new Error("unexpected notification kind value")}static createNext(t){return void 0!==t?new bp("N",t):bp.undefinedValueNotification}static createError(t){return new bp("E",void 0,t)}static createComplete(){return bp.completeNotification}}bp.completeNotification=new bp("C"),bp.undefinedValueNotification=new bp("N",void 0);class yp extends v{constructor(t,e,n=0){super(t),this.scheduler=e,this.delay=n}static dispatch(t){const{notification:e,destination:n}=t;e.observe(n),this.unsubscribe()}scheduleMessage(t){this.destination.add(this.scheduler.schedule(yp.dispatch,this.delay,new vp(t,this.destination)))}_next(t){this.scheduleMessage(bp.createNext(t))}_error(t){this.scheduleMessage(bp.createError(t)),this.unsubscribe()}_complete(){this.scheduleMessage(bp.createComplete()),this.unsubscribe()}}class vp{constructor(t,e){this.notification=t,this.destination=e}}class _p extends A{constructor(t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,n){super(),this.scheduler=n,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=t<1?1:t,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(t){if(!this.isStopped){const e=this._events;e.push(t),e.length>this._bufferSize&&e.shift()}super.next(t)}nextTimeWindow(t){this.isStopped||(this._events.push(new wp(this._getNow(),t)),this._trimBufferThenGetEvents()),super.next(t)}_subscribe(t){const e=this._infiniteTimeWindow,n=e?this._events:this._trimBufferThenGetEvents(),i=this.scheduler,r=n.length;let s;if(this.closed)throw new T;if(this.isStopped||this.hasError?s=g.EMPTY:(this.observers.push(t),s=new k(this,t)),i&&t.add(t=new yp(t,i)),e)for(let o=0;oe&&(s=Math.max(s,r-e)),s>0&&i.splice(0,s),i}}class wp{constructor(t,e){this.time=t,this.value=e}}function xp(t,e,n){let i;return i=t&&"object"==typeof t?t:{bufferSize:t,windowTime:e,refCount:!1,scheduler:n},t=>t.lift(function({bufferSize:t=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:n,scheduler:i}){let r,s,o=0,a=!1,l=!1;return function(c){let u;o++,!r||a?(a=!1,r=new _p(t,e,i),u=r.subscribe(this),s=c.subscribe({next(t){r.next(t)},error(t){a=!0,r.error(t)},complete(){l=!0,s=void 0,r.complete()}}),l&&(s=void 0)):u=r.subscribe(this),this.add(()=>{o--,u.unsubscribe(),u=void 0,s&&!l&&n&&0===o&&(s.unsubscribe(),s=void 0,r=void 0)})}}(i))}let Sp;try{Sp="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(m){Sp=!1}let Cp,Ep=(()=>{class t{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Yh(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Sp)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return t.\u0275fac=function(e){return new(e||t)(Ei(hu))},t.\u0275prov=xt({factory:function(){return new t(Ei(hu))},token:t,providedIn:"root"}),t})(),Op=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const Tp=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function kp(){if(Cp)return Cp;if("object"!=typeof document||!document)return Cp=new Set(Tp),Cp;let t=document.createElement("input");return Cp=new Set(Tp.filter(e=>(t.setAttribute("type",e),t.type===e))),Cp}let Pp,Ap,Mp;function Ip(t){return function(){if(null==Pp&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Pp=!0}))}finally{Pp=Pp||!1}return Pp}()?t:!!t.capture}function Dp(){if(null==Ap){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Ap=!1,Ap;if("scrollBehavior"in document.documentElement.style)Ap=!0;else{const t=Element.prototype.scrollTo;Ap=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return Ap}function Rp(t){if(function(){if(null==Mp){const t="undefined"!=typeof document?document.head:null;Mp=!(!t||!t.createShadowRoot&&!t.attachShadow)}return Mp}()){const e=t.getRootNode?t.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}function Np(){let t="undefined"!=typeof document&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const e=t.shadowRoot.activeElement;if(e===t)break;t=e}return t}function Lp(t){return t.composedPath?t.composedPath()[0]:t.target}const jp=new oi("cdk-dir-doc",{providedIn:"root",factory:function(){return Oi(th)}});let Fp=(()=>{class t{constructor(t){if(this.value="ltr",this.change=new Bc,t){const e=t.documentElement?t.documentElement.dir:null,n=(t.body?t.body.dir:null)||e;this.value="ltr"===n||"rtl"===n?n:"ltr"}}ngOnDestroy(){this.change.complete()}}return t.\u0275fac=function(e){return new(e||t)(Ei(jp,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(jp,8))},token:t,providedIn:"root"}),t})(),Bp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();class Vp{constructor(t=!1,e,n=!0){this._multiple=t,this._emitChanges=n,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new A,e&&e.length&&(t?e.forEach(t=>this._markSelected(t)):this._markSelected(e[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...t){this._verifyValueAssignment(t),t.forEach(t=>this._markSelected(t)),this._emitChangeEvent()}deselect(...t){this._verifyValueAssignment(t),t.forEach(t=>this._unmarkSelected(t)),this._emitChangeEvent()}toggle(t){this.isSelected(t)?this.deselect(t):this.select(t)}clear(){this._unmarkAll(),this._emitChangeEvent()}isSelected(t){return this._selection.has(t)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(t){this._multiple&&this.selected&&this._selected.sort(t)}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(t){this.isSelected(t)||(this._multiple||this._unmarkAll(),this._selection.add(t),this._emitChanges&&this._selectedToEmit.push(t))}_unmarkSelected(t){this.isSelected(t)&&(this._selection.delete(t),this._emitChanges&&this._deselectedToEmit.push(t))}_unmarkAll(){this.isEmpty()||this._selection.forEach(t=>this._unmarkSelected(t))}_verifyValueAssignment(t){}}let zp=(()=>{class t{constructor(){this._listeners=[]}notify(t,e){for(let n of this._listeners)n(t,e)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(e=>t!==e)}}ngOnDestroy(){this._listeners=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Up=(()=>{class t{constructor(t,e,n){this._ngZone=t,this._platform=e,this._scrolled=new A,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=n}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new E(e=>{this._globalSubscription||this._addGlobalListener();const n=t>0?this._scrolled.pipe(tp(t)).subscribe(e):this._scrolled.subscribe(e);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Dd()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,e)=>this.deregister(e)),this._scrolled.complete()}ancestorScrolled(t,e){const n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(ep(t=>!t||n.indexOf(t)>-1))}getAncestorScrollContainers(t){const e=[];return this.scrollContainers.forEach((n,i)=>{this._scrollableContainsElement(i,t)&&e.push(i)}),e}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,e){let n=Id(e),i=t.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>Rd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(Ep),Ei(th,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Tu),Ei(Ep),Ei(th,8))},token:t,providedIn:"root"}),t})(),Hp=(()=>{class t{constructor(t,e,n){this._platform=t,this._change=new A,this._changeListener=t=>{this._change.next(t)},this._document=n,e.runOutsideAngular(()=>{if(t.isBrowser){const t=this._getWindow();t.addEventListener("resize",this._changeListener),t.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:e,height:n}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+n,right:t.left+e,height:n,width:e}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,e=this._getWindow(),n=t.documentElement,i=n.getBoundingClientRect();return{top:-i.top||t.body.scrollTop||e.scrollY||n.scrollTop||0,left:-i.left||t.body.scrollLeft||e.scrollX||n.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(tp(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu),Ei(th,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu),Ei(th,8))},token:t,providedIn:"root"}),t})(),$p=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),Gp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Bp,Op,$p],Bp,$p]}),t})();class Wp{attach(t){return this._attachedHost=t,t.attach(this)}detach(){let t=this._attachedHost;null!=t&&(this._attachedHost=null,t.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class qp extends Wp{constructor(t,e,n,i){super(),this.component=t,this.viewContainerRef=e,this.injector=n,this.componentFactoryResolver=i}}class Yp extends Wp{constructor(t,e,n){super(),this.templateRef=t,this.viewContainerRef=e,this.context=n}get origin(){return this.templateRef.elementRef}attach(t,e=this.context){return this.context=e,super.attach(t)}detach(){return this.context=void 0,super.detach()}}class Xp extends Wp{constructor(t){super(),this.element=t instanceof Al?t.nativeElement:t}}class Kp{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(t){return t instanceof qp?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof Yp?(this._attachedPortal=t,this.attachTemplatePortal(t)):this.attachDomPortal&&t instanceof Xp?(this._attachedPortal=t,this.attachDomPortal(t)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(t){this._disposeFn=t}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class Qp extends Kp{constructor(t,e,n,i,r){super(),this.outletElement=t,this._componentFactoryResolver=e,this._appRef=n,this._defaultInjector=i,this.attachDomPortal=t=>{const e=t.element,n=this._document.createComment("dom-portal");e.parentNode.insertBefore(n,e),this.outletElement.appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(e,n)})},this._document=r}attachComponentPortal(t){const e=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component);let n;return t.viewContainerRef?(n=t.viewContainerRef.createComponent(e,t.viewContainerRef.length,t.injector||t.viewContainerRef.injector),this.setDisposeFn(()=>n.destroy())):(n=e.create(t.injector||this._defaultInjector),this._appRef.attachView(n.hostView),this.setDisposeFn(()=>{this._appRef.detachView(n.hostView),n.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(n)),this._attachedPortal=t,n}attachTemplatePortal(t){let e=t.viewContainerRef,n=e.createEmbeddedView(t.templateRef,t.context);return n.rootNodes.forEach(t=>this.outletElement.appendChild(t)),n.detectChanges(),this.setDisposeFn(()=>{let t=e.indexOf(n);-1!==t&&e.remove(t)}),this._attachedPortal=t,n}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}let Zp=(()=>{class t extends Yp{constructor(t,e){super(t,e)}}return t.\u0275fac=function(e){return new(e||t)(ea(ac),ea(pc))},t.\u0275dir=se({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[jo]}),t})(),Jp=(()=>{class t extends Zp{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","cdk-portal",""],["","portal",""]],exportAs:["cdkPortal"],features:[xl([{provide:Zp,useExisting:t}]),jo]}),t})(),tf=(()=>{class t extends Kp{constructor(t,e,n){super(),this._componentFactoryResolver=t,this._viewContainerRef=e,this._isInitialized=!1,this.attached=new Bc,this.attachDomPortal=t=>{const e=t.element,n=this._document.createComment("dom-portal");t.setAttachedHost(this),e.parentNode.insertBefore(n,e),this._getRootNode().appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(e,n)})},this._document=n}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const e=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,n=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),i=e.createComponent(n,e.length,t.injector||e.injector);return e!==this._viewContainerRef&&this._getRootNode().appendChild(i.hostView.rootNodes[0]),super.setDisposeFn(()=>i.destroy()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}attachTemplatePortal(t){t.setAttachedHost(this);const e=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=e,this.attached.emit(e),e}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return t.\u0275fac=function(e){return new(e||t)(ea(Ol),ea(pc),ea(th))},t.\u0275dir=se({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[jo]}),t})(),ef=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const nf=(()=>{function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t})();function rf(t){return e=>0===t?fp():e.lift(new sf(t))}class sf{constructor(t){if(this.total=t,this.total<0)throw new nf}call(t,e){return e.subscribe(new of(t,this.total))}}class of extends v{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}function af(t,e=!1){return n=>n.lift(new lf(t,e))}class lf{constructor(t,e){this.predicate=t,this.inclusive=e}call(t,e){return e.subscribe(new cf(t,this.predicate,this.inclusive))}}class cf extends v{constructor(t,e,n){super(t),this.predicate=e,this.inclusive=n,this.index=0}_next(t){const e=this.destination;let n;try{n=this.predicate(t,this.index++)}catch(i){return void e.error(i)}this.nextOrComplete(t,n)}nextOrComplete(t,e){const n=this.destination;Boolean(e)?n.next(t):(this.inclusive&&n.next(t),n.complete())}}function uf(t,...e){return e.length?e.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}const hf=Dp();class df{constructor(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=Md(-this._previousScrollPosition.left),t.style.top=Md(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const t=this._document.documentElement,e=t.style,n=this._document.body.style,i=e.scrollBehavior||"",r=n.scrollBehavior||"";this._isEnabled=!1,e.left=this._previousHTMLStyles.left,e.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),hf&&(e.scrollBehavior=n.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),hf&&(e.scrollBehavior=i,n.scrollBehavior=r)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width}}class pf{constructor(t,e,n,i){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=i,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(t){this._overlayRef=t}enable(){if(this._scrollSubscription)return;const t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class ff{enable(){}disable(){}attach(){}}function gf(t,e){return e.some(e=>t.bottome.bottom||t.righte.right)}function mf(t,e){return e.some(e=>t.tope.bottom||t.lefte.right)}class bf{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=i,this._scrollSubscription=null}attach(t){this._overlayRef=t}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:e,height:n}=this._viewportRuler.getViewportSize();gf(t,[{width:e,height:n,bottom:n,right:e,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}}let yf=(()=>{class t{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=()=>new ff,this.close=t=>new pf(this._scrollDispatcher,this._ngZone,this._viewportRuler,t),this.block=()=>new df(this._viewportRuler,this._document),this.reposition=t=>new bf(this._scrollDispatcher,this._viewportRuler,this._ngZone,t),this._document=i}}return t.\u0275fac=function(e){return new(e||t)(Ei(Up),Ei(Hp),Ei(Tu),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Up),Ei(Hp),Ei(Tu),Ei(th))},token:t,providedIn:"root"}),t})();class vf{constructor(t){if(this.scrollStrategy=new ff,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t){const e=Object.keys(t);for(const n of e)void 0!==t[n]&&(this[n]=t[n])}}}class _f{constructor(t,e,n,i,r){this.offsetX=n,this.offsetY=i,this.panelClass=r,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class wf{constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}let xf=(()=>{class t{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this.detach()}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})(),Sf=(()=>{class t extends xf{constructor(t){super(t),this._keydownListener=t=>{const e=this._attachedOverlays;for(let n=e.length-1;n>-1;n--)if(e[n]._keydownEvents.observers.length>0){e[n]._keydownEvents.next(t);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})(),Cf=(()=>{class t extends xf{constructor(t,e){super(t),this._platform=e,this._cursorStyleIsSet=!1,this._clickListener=t=>{const e=Lp(t),n=this._attachedOverlays.slice();for(let i=n.length-1;i>-1;i--){const r=n[i];if(!(r._outsidePointerEvents.observers.length<1)&&r.hasAttached()){if(r.overlayElement.contains(e))break;r._outsidePointerEvents.next(t)}}}}add(t){if(super.add(t),!this._isAttached){const t=this._document.body;t.addEventListener("click",this._clickListener,!0),t.addEventListener("auxclick",this._clickListener,!0),t.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=t.style.cursor,t.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(th),Ei(Ep))},token:t,providedIn:"root"}),t})();const Ef="undefined"!=typeof window?window:{},Of=void 0!==Ef.__karma__&&!!Ef.__karma__||void 0!==Ef.jasmine&&!!Ef.jasmine||void 0!==Ef.jest&&!!Ef.jest||void 0!==Ef.Mocha&&!!Ef.Mocha;let Tf=(()=>{class t{constructor(t,e){this._platform=e,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||Of){const e=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let t=0;tthis._backdropClick.next(t),this._keydownEvents=new A,this._outsidePointerEvents=new A,i.scrollStrategy&&(this._scrollStrategy=i.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=i.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(t){let e=this._portalOutlet.attach(t);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(rf(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),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),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),t}dispose(){const t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),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&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.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(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))}updateSize(t){this._config=Object.assign(Object.assign({},this._config),t),this._updateElementSize()}setDirection(t){this._config=Object.assign(Object.assign({},this._config),{direction:t}),this._updateElementDirection()}addPanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!0)}removePanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!1)}getDirection(){const t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"}updateScrollStrategy(t){t!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=t,this.hasAttached()&&(t.attach(this),t.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const t=this._pane.style;t.width=Md(this._config.width),t.height=Md(this._config.height),t.minWidth=Md(this._config.minWidth),t.minHeight=Md(this._config.minHeight),t.maxWidth=Md(this._config.maxWidth),t.maxHeight=Md(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"":"none"}_attachBackdrop(){const t="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),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),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(t)})}):this._backdropElement.classList.add(t)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let t=this._backdropElement;if(!t)return;let e,n=()=>{t&&(t.removeEventListener("click",this._backdropClickHandler),t.removeEventListener("transitionend",n),t.parentNode&&t.parentNode.removeChild(t)),this._backdropElement==t&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(t,this._config.backdropClass,!1),clearTimeout(e)};t.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{t.addEventListener("transitionend",n)}),t.style.pointerEvents="none",e=this._ngZone.runOutsideAngular(()=>setTimeout(n,500))}_toggleClasses(t,e,n){const i=t.classList;Ad(e).forEach(t=>{t&&(n?i.add(t):i.remove(t))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const t=this._ngZone.onStable.pipe(rp(Q(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),t.unsubscribe())})})}_disposeScrollStrategy(){const t=this._scrollStrategy;t&&(t.disable(),t.detach&&t.detach())}}const Pf="cdk-overlay-connected-position-bounding-box",Af=/([A-Za-z%]+)$/;class Mf{constructor(t,e,n,i,r){this._viewportRuler=e,this._document=n,this._platform=i,this._overlayContainer=r,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 A,this._resizeSubscription=g.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(t)}get positions(){return this._preferredPositions}attach(t){this._validatePositions(),t.hostElement.classList.add(Pf),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.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)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const t=this._originRect,e=this._overlayRect,n=this._viewportRect,i=[];let r;for(let s of this._preferredPositions){let o=this._getOriginPoint(t,s),a=this._getOverlayPoint(o,e,s),l=this._getOverlayFit(a,e,n,s);if(l.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(s,o);this._canFitWithFlexibleDimensions(l,a,n)?i.push({position:s,origin:o,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(o,s)}):(!r||r.overlayFit.visibleAreae&&(e=i,t=n)}return this._isPushed=!1,void this._applyPosition(t.position,t.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(r.position,r.originPoint);this._applyPosition(r.position,r.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&If(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Pf),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}}withScrollableContainers(t){return this._scrollables=t,this}withPositions(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e){let n,i;if("center"==e.originX)n=t.left+t.width/2;else{const i=this._isRtl()?t.right:t.left,r=this._isRtl()?t.left:t.right;n="start"==e.originX?i:r}return i="center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom,{x:n,y:i}}_getOverlayPoint(t,e,n){let i,r;return i="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,r="center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height,{x:t.x+i,y:t.y+r}}_getOverlayFit(t,e,n,i){const r=Rf(e);let{x:s,y:o}=t,a=this._getOffset(i,"x"),l=this._getOffset(i,"y");a&&(s+=a),l&&(o+=l);let c=0-o,u=o+r.height-n.height,h=this._subtractOverflows(r.width,0-s,s+r.width-n.width),d=this._subtractOverflows(r.height,c,u),p=h*d;return{visibleArea:p,isCompletelyWithinViewport:r.width*r.height===p,fitsInViewportVertically:d===r.height,fitsInViewportHorizontally:h==r.width}}_canFitWithFlexibleDimensions(t,e,n){if(this._hasFlexibleDimensions){const i=n.bottom-e.y,r=n.right-e.x,s=Df(this._overlayRef.getConfig().minHeight),o=Df(this._overlayRef.getConfig().minWidth),a=t.fitsInViewportHorizontally||null!=o&&o<=r;return(t.fitsInViewportVertically||null!=s&&s<=i)&&a}return!1}_pushOverlayOnScreen(t,e,n){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};const i=Rf(e),r=this._viewportRect,s=Math.max(t.x+i.width-r.width,0),o=Math.max(t.y+i.height-r.height,0),a=Math.max(r.top-n.top-t.y,0),l=Math.max(r.left-n.left-t.x,0);let c=0,u=0;return c=i.width<=r.width?l||-s:t.xi&&!this._isInitialRender&&!this._growAfterOpen&&(s=t.y-i/2)}if("end"===e.overlayX&&!i||"start"===e.overlayX&&i)c=n.width-t.x+this._viewportMargin,a=t.x-this._viewportMargin;else if("start"===e.overlayX&&!i||"end"===e.overlayX&&i)l=t.x,a=n.right-t.x;else{const e=Math.min(n.right-t.x+n.left,t.x),i=this._lastBoundingBoxSize.width;a=2*e,l=t.x-e,a>i&&!this._isInitialRender&&!this._growAfterOpen&&(l=t.x-i/2)}return{top:s,left:l,bottom:o,right:c,width:a,height:r}}_setBoundingBoxStyles(t,e){const n=this._calculateBoundingBoxRect(t,e);!this._isInitialRender&&!this._growAfterOpen&&(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));const i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right=i.maxHeight=i.maxWidth="",i.width=i.height="100%";else{const t=this._overlayRef.getConfig().maxHeight,r=this._overlayRef.getConfig().maxWidth;i.height=Md(n.height),i.top=Md(n.top),i.bottom=Md(n.bottom),i.width=Md(n.width),i.left=Md(n.left),i.right=Md(n.right),i.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",i.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",t&&(i.maxHeight=Md(t)),r&&(i.maxWidth=Md(r))}this._lastBoundingBoxSize=n,If(this._boundingBox.style,i)}_resetBoundingBoxStyles(){If(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){If(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(t,e){const n={},i=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(i){const i=this._viewportRuler.getViewportScrollPosition();If(n,this._getExactOverlayY(e,t,i)),If(n,this._getExactOverlayX(e,t,i))}else n.position="static";let o="",a=this._getOffset(e,"x"),l=this._getOffset(e,"y");a&&(o+=`translateX(${a}px) `),l&&(o+=`translateY(${l}px)`),n.transform=o.trim(),s.maxHeight&&(i?n.maxHeight=Md(s.maxHeight):r&&(n.maxHeight="")),s.maxWidth&&(i?n.maxWidth=Md(s.maxWidth):r&&(n.maxWidth="")),If(this._pane.style,n)}_getExactOverlayY(t,e,n){let i={top:"",bottom:""},r=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,n));let s=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return r.y-=s,"bottom"===t.overlayY?i.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":i.top=Md(r.y),i}_getExactOverlayX(t,e,n){let i,r={left:"",right:""},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,n)),i=this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left","right"===i?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=Md(s.x),r}_getScrollVisibility(){const t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),n=this._scrollables.map(t=>t.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:mf(t,n),isOriginOutsideView:gf(t,n),isOverlayClipped:mf(e,n),isOverlayOutsideView:gf(e,n)}}_subtractOverflows(t,...e){return e.reduce((t,e)=>t-Math.max(e,0),t)}_getNarrowedViewportRect(){const t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,n=this._viewportRuler.getViewportScrollPosition();return{top:n.top+this._viewportMargin,left:n.left+this._viewportMargin,right:n.left+t-this._viewportMargin,bottom:n.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY}_validatePositions(){}_addPanelClasses(t){this._pane&&Ad(t).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(t=>{this._pane.classList.remove(t)}),this._appliedPanelClasses=[])}_getOriginRect(){const t=this._origin;if(t instanceof Al)return t.nativeElement.getBoundingClientRect();if(t instanceof Element)return t.getBoundingClientRect();const e=t.width||0,n=t.height||0;return{top:t.y,bottom:t.y+n,left:t.x,right:t.x+e,height:n,width:e}}}function If(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function Df(t){if("number"!=typeof t&&null!=t){const[e,n]=t.split(Af);return n&&"px"!==n?null:parseFloat(e)}return t||null}function Rf(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}class Nf{constructor(t,e,n,i,r,s,o){this._preferredPositions=[],this._positionStrategy=new Mf(n,i,r,s,o).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(t,e),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(t){this._overlayRef=t,this._positionStrategy.attach(t),this._direction&&(t.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(t){this._positionStrategy.withScrollableContainers(t)}withFallbackPosition(t,e,n,i){const r=new _f(t,e,n,i);return this._preferredPositions.push(r),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(t){return this._overlayRef?this._overlayRef.setDirection(t):this._direction=t,this}withOffsetX(t){return this._positionStrategy.withDefaultOffsetX(t),this}withOffsetY(t){return this._positionStrategy.withDefaultOffsetY(t),this}withLockedPosition(t){return this._positionStrategy.withLockedPosition(t),this}withPositions(t){return this._preferredPositions=t.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(t){return this._positionStrategy.setOrigin(t),this}}const Lf="cdk-global-overlay-wrapper";class jf{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(t){const e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add(Lf),this._isDisposed=!1}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._justifyContent="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig(),{width:i,height:r,maxWidth:s,maxHeight:o}=n,a=!("100%"!==i&&"100vw"!==i||s&&"100%"!==s&&"100vw"!==s),l=!("100%"!==r&&"100vh"!==r||o&&"100%"!==o&&"100vh"!==o);t.position=this._cssPosition,t.marginLeft=a?"0":this._leftOffset,t.marginTop=l?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=this._rightOffset,a?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems=l?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,n=e.style;e.classList.remove(Lf),n.justifyContent=n.alignItems=t.marginTop=t.marginBottom=t.marginLeft=t.marginRight=t.position="",this._overlayRef=null,this._isDisposed=!0}}let Ff=(()=>{class t{constructor(t,e,n,i){this._viewportRuler=t,this._document=e,this._platform=n,this._overlayContainer=i}global(){return new jf}connectedTo(t,e,n){return new Nf(e,n,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new Mf(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Hp),Ei(th),Ei(Ep),Ei(Tf))},t.\u0275prov=xt({factory:function(){return new t(Ei(Hp),Ei(th),Ei(Ep),Ei(Tf))},token:t,providedIn:"root"}),t})(),Bf=0,Vf=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=n,this._positionBuilder=i,this._keyboardDispatcher=r,this._injector=s,this._ngZone=o,this._document=a,this._directionality=l,this._location=c,this._outsideClickDispatcher=u}create(t){const e=this._createHostElement(),n=this._createPaneElement(e),i=this._createPortalOutlet(n),r=new vf(t);return r.direction=r.direction||this._directionality.value,new kf(i,e,n,r,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const e=this._document.createElement("div");return e.id="cdk-overlay-"+Bf++,e.classList.add("cdk-overlay-pane"),t.appendChild(e),e}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(qu)),new Qp(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return t.\u0275fac=function(e){return new(e||t)(Ei(yf),Ei(Tf),Ei(Ol),Ei(Ff),Ei(Sf),Ei(No),Ei(Tu),Ei(th),Ei(Fp),Ei(ph),Ei(Cf))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const zf=[{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"}],Uf=new oi("cdk-connected-overlay-scroll-strategy");let Hf=(()=>{class t{constructor(t){this.elementRef=t}}return t.\u0275fac=function(e){return new(e||t)(ea(Al))},t.\u0275dir=se({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),t})(),$f=(()=>{class t{constructor(t,e,n,i,r){this._overlay=t,this._dir=r,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=g.EMPTY,this._attachSubscription=g.EMPTY,this._detachSubscription=g.EMPTY,this._positionSubscription=g.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new Bc,this.positionChange=new Bc,this.attach=new Bc,this.detach=new Bc,this.overlayKeydown=new Bc,this.overlayOutsideClick=new Bc,this._templatePortal=new Yp(e,n),this._scrollStrategyFactory=i,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(t){this._offsetX=t,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(t){this._offsetY=t,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=kd(t)}get lockPosition(){return this._lockPosition}set lockPosition(t){this._lockPosition=kd(t)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(t){this._flexibleDimensions=kd(t)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(t){this._growAfterOpen=kd(t)}get push(){return this._push}set push(t){this._push=kd(t)}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(t){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),t.origin&&this.open&&this._position.apply()),t.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=zf);const t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=t.detachments().subscribe(()=>this.detach.emit()),t.keydownEvents().subscribe(t=>{this.overlayKeydown.next(t),27===t.keyCode&&!this.disableClose&&!uf(t)&&(t.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(t=>{this.overlayOutsideClick.next(t)})}_buildConfig(){const t=this._position=this.positionStrategy||this._createPositionStrategy(),e=new vf({direction:this._dir,positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(e.width=this.width),(this.height||0===this.height)&&(e.height=this.height),(this.minWidth||0===this.minWidth)&&(e.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(e.minHeight=this.minHeight),this.backdropClass&&(e.backdropClass=this.backdropClass),this.panelClass&&(e.panelClass=this.panelClass),e}_updatePositionStrategy(t){const e=this.positions.map(t=>({originX:t.originX,originY:t.originY,overlayX:t.overlayX,overlayY:t.overlayY,offsetX:t.offsetX||this.offsetX,offsetY:t.offsetY||this.offsetY,panelClass:t.panelClass||void 0}));return t.setOrigin(this.origin.elementRef).withPositions(e).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const t=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(t),t}_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(t=>{this.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(af(()=>this.positionChange.observers.length>0)).subscribe(t=>{this.positionChange.emit(t),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(ac),ea(pc),ea(Uf),ea(Fp,8))},t.\u0275dir=se({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[ye]}),t})();const Gf={provide:Uf,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};let Wf=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Vf,Gf],imports:[[Bp,ef,Gp],Gp]}),t})();const qf={schedule(t,e){const n=setTimeout(t,e);return()=>clearTimeout(n)},scheduleBeforeRender(t){if("undefined"==typeof window)return qf.schedule(t,0);if(void 0===window.requestAnimationFrame)return qf.schedule(t,16);const e=window.requestAnimationFrame(t);return()=>window.cancelAnimationFrame(e)}};let Yf;function Xf(t,e,n){let i=n;return function(t){return!!t&&t.nodeType===Node.ELEMENT_NODE}(t)&&e.some((e,n)=>!("*"===e||!function(t,e){if(!Yf){const t=Element.prototype;Yf=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return t.nodeType===Node.ELEMENT_NODE&&Yf.call(t,e)}(t,e)||(i=n,0))),i}class Kf{constructor(t,e){this.componentFactory=e.get(Ol).resolveComponentFactory(t)}create(t){return new Qf(this.componentFactory,t)}}class Qf{constructor(t,e){this.componentFactory=t,this.injector=e,this.eventEmitters=new _p(1),this.events=this.eventEmitters.pipe(cp(t=>Q(...t))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:t})=>t)),this.ngZone=this.injector.get(Tu),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(t){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(t)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=qf.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(t){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(t):this.componentRef.instance[t])}setInputValue(t,e){this.runInZone(()=>{null!==this.componentRef?function(t,e){return t===e||t!=t&&e!=e}(e,this.getInputValue(t))&&(void 0!==e||!this.unchangedInputs.has(t))||(this.recordInputChange(t,e),this.unchangedInputs.delete(t),this.hasInputChanges=!0,this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e)})}initializeComponent(t){const e=No.create({providers:[],parent:this.injector}),n=function(t,e){const n=t.childNodes,i=e.map(()=>[]);let r=-1;e.some((t,e)=>"*"===t&&(r=e,!0));for(let s=0,o=n.length;s{this.initialInputValues.has(t)&&this.setInputValue(t,this.initialInputValues.get(t))}),this.initialInputValues.clear()}initializeOutputs(t){const e=this.componentFactory.outputs.map(({propName:e,templateName:n})=>t.instance[e].pipe(D(t=>({name:n,value:t}))));this.eventEmitters.next(e)}callNgOnChanges(t){if(!this.implementsOnChanges||null===this.inputChanges)return;const e=this.inputChanges;this.inputChanges=null,t.instance.ngOnChanges(e)}markViewForCheck(t){this.hasInputChanges&&(this.hasInputChanges=!1,t.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=qf.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const n=this.inputChanges[t];if(n)return void(n.currentValue=e);const i=this.unchangedInputs.has(t),r=i?void 0:this.getInputValue(t);this.inputChanges[t]=new be(r,e,i)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(t){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(t):t()}}class Zf extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class Jf extends A{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new T;return this._value}next(t){super.next(this._value=t)}}function tg(){}function eg(t,e,n){return function(i){return i.lift(new ng(t,e,n))}}class ng{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new ig(t,this.nextOrObserver,this.error,this.complete))}}class ig extends v{constructor(t,e,n,i){super(t),this._tapNext=tg,this._tapError=tg,this._tapComplete=tg,this._tapError=n||tg,this._tapComplete=i||tg,a(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||tg,this._tapError=e.error||tg,this._tapComplete=e.complete||tg)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}function rg(t,e=Xd){return n=>n.lift(new sg(t,e))}class sg{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new og(t,this.dueTime,this.scheduler))}}class og extends v{constructor(t,e,n){super(t),this.dueTime=e,this.scheduler=n,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(ag,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function ag(t){t.debouncedNext()}function lg(t){return e=>e.lift(new cg(t))}class cg{constructor(t){this.total=t}call(t,e){return e.subscribe(new ug(t,this.total))}}class ug extends v{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){++this.count>this.total&&this.destination.next(t)}}let hg=(()=>{class t{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),dg=(()=>{class t{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,e)=>this._cleanupObserver(e))}observe(t){const e=Id(t);return new E(t=>{const n=this._observeElement(e).subscribe(t);return()=>{n.unsubscribe(),this._unobserveElement(e)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const e=new A,n=this._mutationObserverFactory.create(t=>e.next(t));n&&n.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:n,stream:e,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:e,stream:n}=this._observedElements.get(t);e&&e.disconnect(),n.complete(),this._observedElements.delete(t)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hg))},t.\u0275prov=xt({factory:function(){return new t(Ei(hg))},token:t,providedIn:"root"}),t})(),pg=(()=>{class t{constructor(t,e,n){this._contentObserver=t,this._elementRef=e,this._ngZone=n,this.event=new Bc,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=Pd(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(rg(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(dg),ea(Al),ea(Tu))},t.\u0275dir=se({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),t})(),fg=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[hg]}),t})();function gg(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}const mg="cdk-describedby-message-container",bg="cdk-describedby-message",yg="cdk-describedby-host";let vg=0;const _g=new Map;let wg=null,xg=(()=>{class t{constructor(t){this._document=t}describe(t,e,n){if(!this._canBeDescribed(t,e))return;const i=Sg(e,n);"string"!=typeof e?(Cg(e),_g.set(i,{messageElement:e,referenceCount:0})):_g.has(i)||this._createMessageElement(e,n),this._isElementDescribedByMessage(t,i)||this._addMessageReference(t,i)}removeDescription(t,e,n){if(!e||!this._isElementNode(t))return;const i=Sg(e,n);if(this._isElementDescribedByMessage(t,i)&&this._removeMessageReference(t,i),"string"==typeof e){const t=_g.get(i);t&&0===t.referenceCount&&this._deleteMessageElement(i)}wg&&0===wg.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${yg}]`);for(let e=0;e0!=t.indexOf(bg));t.setAttribute("aria-describedby",e.join(" "))}_addMessageReference(t,e){const n=_g.get(e);(function(t,e,n){const i=gg(t,e);i.some(t=>t.trim()==n.trim())||(i.push(n.trim()),t.setAttribute(e,i.join(" ")))})(t,"aria-describedby",n.messageElement.id),t.setAttribute(yg,""),n.referenceCount++}_removeMessageReference(t,e){const n=_g.get(e);n.referenceCount--,function(t,e,n){const i=gg(t,e).filter(t=>t!=n.trim());i.length?t.setAttribute(e,i.join(" ")):t.removeAttribute(e)}(t,"aria-describedby",n.messageElement.id),t.removeAttribute(yg)}_isElementDescribedByMessage(t,e){const n=gg(t,"aria-describedby"),i=_g.get(e),r=i&&i.messageElement.id;return!!r&&-1!=n.indexOf(r)}_canBeDescribed(t,e){if(!this._isElementNode(t))return!1;if(e&&"object"==typeof e)return!0;const n=null==e?"":`${e}`.trim(),i=t.getAttribute("aria-label");return!(!n||i&&i.trim()===n)}_isElementNode(t){return t.nodeType===this._document.ELEMENT_NODE}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})();function Sg(t,e){return"string"==typeof t?`${e||""}/${t}`:t}function Cg(t){t.id||(t.id=`${bg}-${vg++}`)}class Eg extends class{constructor(t){this._items=t,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new A,this._typeaheadSubscription=g.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=t=>t.disabled,this._pressedLetters=[],this.tabOut=new A,this.change=new A,t instanceof zc&&t.changes.subscribe(t=>{if(this._activeItem){const e=t.toArray().indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}})}skipPredicate(t){return this._skipPredicateFn=t,this}withWrap(t=!0){return this._wrap=t,this}withVerticalOrientation(t=!0){return this._vertical=t,this}withHorizontalOrientation(t){return this._horizontal=t,this}withAllowedModifierKeys(t){return this._allowedModifierKeys=t,this}withTypeAhead(t=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(eg(t=>this._pressedLetters.push(t)),rg(t),ep(()=>this._pressedLetters.length>0),D(()=>this._pressedLetters.join(""))).subscribe(t=>{const e=this._getItemsArray();for(let n=1;n!t[e]||this._allowedModifierKeys.indexOf(e)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&n){this.setNextItemActive();break}return;case 38:if(this._vertical&&n){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&n){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&n){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&n){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&n){this.setLastItemActive();break}return;default:return void((n||uf(t,"shiftKey"))&&(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(e>=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],t.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._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(t){const e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t),i=e[n];this._activeItem=null==i?null:i,this._activeItemIndex=n}_setActiveItemByDelta(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}_setActiveInWrapMode(t){const e=this._getItemsArray();for(let n=1;n<=e.length;n++){const i=(this._activeItemIndex+t*n+e.length)%e.length;if(!this._skipPredicateFn(e[i]))return void this.setActiveItem(i)}}_setActiveInDefaultMode(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}_setActiveItemByIndex(t,e){const n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}}_getItemsArray(){return this._items instanceof zc?this._items.toArray():this._items}}{setActiveItem(t){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(t),this.activeItem&&this.activeItem.setActiveStyles()}}let Og=(()=>{class t{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const e=function(t){try{return t.frameElement}catch(e){return null}}(function(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}(t));if(e&&(-1===kg(e)||!this.isVisible(e)))return!1;let n=t.nodeName.toLowerCase(),i=kg(t);return t.hasAttribute("contenteditable")?-1!==i:!("iframe"===n||"object"===n||this._platform.WEBKIT&&this._platform.IOS&&!function(t){let e=t.nodeName.toLowerCase(),n="input"===e&&t.type;return"text"===n||"password"===n||"select"===e||"textarea"===e}(t))&&("audio"===n?!!t.hasAttribute("controls")&&-1!==i:"video"===n?-1!==i&&(null!==i||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,e){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){let e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||Tg(t))}(t)&&!this.isDisabled(t)&&((null==e?void 0:e.ignoreVisibility)||this.isVisible(t))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep))},token:t,providedIn:"root"}),t})();function Tg(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function kg(t){if(!Tg(t))return null;const e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class Pg{constructor(t,e,n,i,r=!1){this._element=t,this._checker=e,this._ngZone=n,this._document=i,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,r||this.attachAnchors()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}destroy(){const t=this._startAnchor,e=this._endAnchor;t&&(t.removeEventListener("focus",this.startAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),e&&(e.removeEventListener("focus",this.endAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(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(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(t)))})}focusFirstTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(t)))})}focusLastTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(t)))})}_getRegionBoundary(t){let e=this._element.querySelectorAll(`[cdk-focus-region-${t}], [cdkFocusRegion${t}], [cdk-focus-${t}]`);for(let n=0;n=0;n--){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(t)return t}return null}_createAnchor(){const t=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,t),t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t.setAttribute("aria-hidden","true"),t}_toggleAnchorTabIndex(t,e){t?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(t){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}_executeOnStable(t){this._ngZone.isStable?t():this._ngZone.onStable.pipe(rf(1)).subscribe(t)}}let Ag=(()=>{class t{constructor(t,e,n){this._checker=t,this._ngZone=e,this._document=n}create(t,e=!1){return new Pg(t,this._checker,this._ngZone,this._document,e)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Og),Ei(Tu),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Og),Ei(Tu),Ei(th))},token:t,providedIn:"root"}),t})();function Mg(t){return 0===t.offsetX&&0===t.offsetY}function Ig(t){const e=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const Dg=new oi("cdk-input-modality-detector-options"),Rg={ignoreKeys:[18,17,224,91,16]},Ng=Ip({passive:!0,capture:!0});let Lg=(()=>{class t{constructor(t,e,n,i){this._platform=t,this._mostRecentTarget=null,this._modality=new Jf(null),this._lastTouchMs=0,this._onKeydown=t=>{var e,n;(null===(n=null===(e=this._options)||void 0===e?void 0:e.ignoreKeys)||void 0===n?void 0:n.some(e=>e===t.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Lp(t))},this._onMousedown=t=>{Date.now()-this._lastTouchMs<650||(this._modality.next(Mg(t)?"keyboard":"mouse"),this._mostRecentTarget=Lp(t))},this._onTouchstart=t=>{Ig(t)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Lp(t))},this._options=Object.assign(Object.assign({},Rg),i),this.modalityDetected=this._modality.pipe(lg(1)),this.modalityChanged=this.modalityDetected.pipe(Wd()),t.isBrowser&&e.runOutsideAngular(()=>{n.addEventListener("keydown",this._onKeydown,Ng),n.addEventListener("mousedown",this._onMousedown,Ng),n.addEventListener("touchstart",this._onTouchstart,Ng)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,Ng),document.removeEventListener("mousedown",this._onMousedown,Ng),document.removeEventListener("touchstart",this._onTouchstart,Ng))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu),Ei(th),Ei(Dg,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu),Ei(th),Ei(Dg,8))},token:t,providedIn:"root"}),t})();const jg=new oi("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),Fg=new oi("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let Bg=(()=>{class t{constructor(t,e,n,i){this._ngZone=e,this._defaultOptions=i,this._document=n,this._liveElement=t||this._createLiveElement()}announce(t,...e){const n=this._defaultOptions;let i,r;return 1===e.length&&"number"==typeof e[0]?r=e[0]:[i,r]=e,this.clear(),clearTimeout(this._previousTimeout),i||(i=n&&n.politeness?n.politeness:"polite"),null==r&&n&&(r=n.duration),this._liveElement.setAttribute("aria-live",i),this._ngZone.runOutsideAngular(()=>new Promise(e=>{clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=t,e(),"number"==typeof r&&(this._previousTimeout=setTimeout(()=>this.clear(),r))},100)}))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement&&this._liveElement.parentNode&&(this._liveElement.parentNode.removeChild(this._liveElement),this._liveElement=null)}_createLiveElement(){const t="cdk-live-announcer-element",e=this._document.getElementsByClassName(t),n=this._document.createElement("div");for(let i=0;i{class t{constructor(t,e,n,i,r){this._ngZone=t,this._platform=e,this._inputModalityDetector=n,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=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new A,this._rootNodeFocusAndBlurListener=t=>{const e=Lp(t),n="focus"===t.type?this._onFocus:this._onBlur;for(let i=e;i;i=i.parentElement)n.call(this,t,i)},this._document=i,this._detectionMode=(null==r?void 0:r.detectionMode)||0}monitor(t,e=!1){const n=Id(t);if(!this._platform.isBrowser||1!==n.nodeType)return Dd(null);const i=Rp(n)||this._getDocument(),r=this._elementInfo.get(n);if(r)return e&&(r.checkChildren=!0),r.subject;const s={checkChildren:e,subject:new A,rootNode:i};return this._elementInfo.set(n,s),this._registerGlobalListeners(s),s.subject}stopMonitoring(t){const e=Id(t),n=this._elementInfo.get(e);n&&(n.subject.complete(),this._setClasses(e),this._elementInfo.delete(e),this._removeGlobalListeners(n))}focusVia(t,e,n){const i=Id(t);i===this._getDocument().activeElement?this._getClosestElementsInfo(i).forEach(([t,n])=>this._originChanged(t,e,n)):(this._setOrigin(e),"function"==typeof i.focus&&i.focus(n))}ngOnDestroy(){this._elementInfo.forEach((t,e)=>this.stopMonitoring(e))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,e,n){n?t.classList.add(e):t.classList.remove(e)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,e){this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e)}_setOrigin(t,e=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&e,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,e){const n=this._elementInfo.get(e),i=Lp(t);!n||!n.checkChildren&&e!==i||this._originChanged(e,this._getFocusOrigin(i),n)}_onBlur(t,e){const n=this._elementInfo.get(e);!n||n.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),this._emitOrigin(n.subject,null))}_emitOrigin(t,e){this._ngZone.run(()=>t.next(e))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const e=t.rootNode,n=this._rootNodeFocusListenerCount.get(e)||0;n||this._ngZone.runOutsideAngular(()=>{e.addEventListener("focus",this._rootNodeFocusAndBlurListener,zg),e.addEventListener("blur",this._rootNodeFocusAndBlurListener,zg)}),this._rootNodeFocusListenerCount.set(e,n+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(rp(this._stopInputModalityDetector)).subscribe(t=>{this._setOrigin(t,!0)}))}_removeGlobalListeners(t){const e=t.rootNode;if(this._rootNodeFocusListenerCount.has(e)){const t=this._rootNodeFocusListenerCount.get(e);t>1?this._rootNodeFocusListenerCount.set(e,t-1):(e.removeEventListener("focus",this._rootNodeFocusAndBlurListener,zg),e.removeEventListener("blur",this._rootNodeFocusAndBlurListener,zg),this._rootNodeFocusListenerCount.delete(e))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,e,n){this._setClasses(t,e),this._emitOrigin(n.subject,e),this._lastFocusOrigin=e}_getClosestElementsInfo(t){const e=[];return this._elementInfo.forEach((n,i)=>{(i===t||n.checkChildren&&i.contains(t))&&e.push([i,n])}),e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(Ep),Ei(Lg),Ei(th,8),Ei(Vg,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Tu),Ei(Ep),Ei(Lg),Ei(th,8),Ei(Vg,8))},token:t,providedIn:"root"}),t})();const Hg="cdk-high-contrast-black-on-white",$g="cdk-high-contrast-white-on-black",Gg="cdk-high-contrast-active";let Wg=(()=>{class t{constructor(t,e){this._platform=t,this._document=e}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const e=this._document.defaultView||window,n=e&&e.getComputedStyle?e.getComputedStyle(t):null,i=(n&&n.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),i){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(Gg),t.remove(Hg),t.remove($g),this._hasCheckedHighContrastMode=!0;const e=this.getHighContrastMode();1===e?(t.add(Gg),t.add(Hg)):2===e&&(t.add(Gg),t.add($g))}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(th))},token:t,providedIn:"root"}),t})(),qg=(()=>{class t{constructor(t){t._applyBodyHighContrastModeCssClasses()}}return t.\u0275fac=function(e){return new(e||t)(Ei(Wg))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Op,fg]]}),t})();const Yg=new Ll("12.2.5");class Xg{}const Kg="*";function Qg(t,e){return{type:7,name:t,definitions:e,options:{}}}function Zg(t,e=null){return{type:4,styles:e,timings:t}}function Jg(t,e=null){return{type:2,steps:t,options:e}}function tm(t){return{type:6,styles:t,offset:null}}function em(t,e,n){return{type:0,name:t,styles:e,options:n}}function nm(t){return{type:5,steps:t}}function im(t,e,n=null){return{type:1,expr:t,animation:e,options:n}}function rm(t=null){return{type:9,options:t}}function sm(t,e,n=null){return{type:11,selector:t,animation:e,options:n}}function om(t){Promise.resolve(null).then(t)}class am{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){om(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(t){this._position=this.totalTime?t*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class lm{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,n=0,i=0;const r=this.players.length;0==r?om(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==r&&this._onFinish()}),t.onDestroy(()=>{++n==r&&this._onDestroy()}),t.onStart(()=>{++i==r&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})}getPosition(){const t=this.players.reduce((t,e)=>null===t||e.totalTime>t.totalTime?e:t,null);return null!=t?t.getPosition():0}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}function cm(){return"undefined"!=typeof window&&void 0!==window.document}function um(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function hm(t){switch(t.length){case 0:return new am;case 1:return t[0];default:return new lm(t)}}function dm(t,e,n,i,r={},s={}){const o=[],a=[];let l=-1,c=null;if(i.forEach(t=>{const n=t.offset,i=n==l,u=i&&c||{};Object.keys(t).forEach(n=>{let i=n,a=t[n];if("offset"!==n)switch(i=e.normalizePropertyName(i,o),a){case"!":a=r[n];break;case Kg:a=s[n];break;default:a=e.normalizeStyleValue(n,i,a,o)}u[i]=a}),i||a.push(u),c=u,l=n}),o.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${o.join(t)}`)}return a}function pm(t,e,n,i){switch(e){case"start":t.onStart(()=>i(n&&fm(n,"start",t)));break;case"done":t.onDone(()=>i(n&&fm(n,"done",t)));break;case"destroy":t.onDestroy(()=>i(n&&fm(n,"destroy",t)))}}function fm(t,e,n){const i=n.totalTime,r=gm(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==i?t.totalTime:i,!!n.disabled),s=t._data;return null!=s&&(r._data=s),r}function gm(t,e,n,i,r="",s=0,o){return{element:t,triggerName:e,fromState:n,toState:i,phaseName:r,totalTime:s,disabled:!!o}}function mm(t,e,n){let i;return t instanceof Map?(i=t.get(e),i||t.set(e,i=n)):(i=t[e],i||(i=t[e]=n)),i}function bm(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let ym=(t,e)=>!1,vm=(t,e)=>!1,_m=(t,e,n)=>[];const wm=um();(wm||"undefined"!=typeof Element)&&(ym=cm()?(t,e)=>{for(;e&&e!==document.documentElement;){if(e===t)return!0;e=e.parentNode||e.host}return!1}:(t,e)=>t.contains(e),vm=(()=>{if(wm||Element.prototype.matches)return(t,e)=>t.matches(e);{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?(t,n)=>e.apply(t,[n]):vm}})(),_m=(t,e,n)=>{let i=[];if(n){const n=t.querySelectorAll(e);for(let t=0;t{const i=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=t[n]}),e}let Pm=(()=>{class t{validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return n||""}animate(t,e,n,i,r,s=[],o){return new am(n,i)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Am{}Am.NOOP=new Pm;const Mm="ng-enter",Im="ng-leave",Dm="ng-trigger",Rm=".ng-trigger",Nm="ng-animating",Lm=".ng-animating";function jm(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Fm(parseFloat(e[1]),e[2])}function Fm(t,e){switch(e){case"s":return 1e3*t;default:return t}}function Bm(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){let i,r=0,s="";if("string"==typeof t){const n=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===n)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};i=Fm(parseFloat(n[1]),n[2]);const o=n[3];null!=o&&(r=Fm(parseFloat(o),n[4]));const a=n[5];a&&(s=a)}else i=t;if(!n){let n=!1,s=e.length;i<0&&(e.push("Duration values below 0 are not allowed for this animation step."),n=!0),r<0&&(e.push("Delay values below 0 are not allowed for this animation step."),n=!0),n&&e.splice(s,0,`The provided timing value "${t}" is invalid.`)}return{duration:i,delay:r,easing:s}}(t,e,n)}function Vm(t,e={}){return Object.keys(t).forEach(n=>{e[n]=t[n]}),e}function zm(t,e,n={}){if(e)for(let i in t)n[i]=t[i];else Vm(t,n);return n}function Um(t,e,n){return n?e+":"+n+";":""}function Hm(t){let e="";for(let n=0;n{const r=Zm(i);n&&!n.hasOwnProperty(i)&&(n[i]=t.style[r]),t.style[r]=e[i]}),um()&&Hm(t))}function Gm(t,e){t.style&&(Object.keys(e).forEach(e=>{const n=Zm(e);t.style[n]=""}),um()&&Hm(t))}function Wm(t){return Array.isArray(t)?1==t.length?t[0]:Jg(t):t}const qm=new RegExp("{{\\s*(.+?)\\s*}}","g");function Ym(t){let e=[];if("string"==typeof t){let n;for(;n=qm.exec(t);)e.push(n[1]);qm.lastIndex=0}return e}function Xm(t,e,n){const i=t.toString(),r=i.replace(qm,(t,i)=>{let r=e[i];return e.hasOwnProperty(i)||(n.push(`Please provide a value for the animation param ${i}`),r=""),r.toString()});return r==i?t:r}function Km(t){const e=[];let n=t.next();for(;!n.done;)e.push(n.value),n=t.next();return e}const Qm=/-+([a-z0-9])/g;function Zm(t){return t.replace(Qm,(...t)=>t[1].toUpperCase())}function Jm(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function tb(t,e){return 0===t||0===e}function eb(t,e,n){const i=Object.keys(n);if(i.length&&e.length){let s=e[0],o=[];if(i.forEach(t=>{s.hasOwnProperty(t)||o.push(t),s[t]=n[t]}),o.length)for(var r=1;rfunction(t,e,n){if(":"==t[0]){const i=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e) *"}}(t,n);if("function"==typeof i)return void e.push(i);t=i}const i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push(`The provided transition expression "${t}" is not supported`),e;const r=i[1],s=i[2],o=i[3];e.push(ab(r,o));"<"==s[0]&&!("*"==r&&"*"==o)&&e.push(ab(o,r))}(t,n,e)):n.push(t),n}const sb=new Set(["true","1"]),ob=new Set(["false","0"]);function ab(t,e){const n=sb.has(t)||ob.has(t),i=sb.has(e)||ob.has(e);return(r,s)=>{let o="*"==t||t==r,a="*"==e||e==s;return!o&&n&&"boolean"==typeof r&&(o=r?sb.has(t):ob.has(t)),!a&&i&&"boolean"==typeof s&&(a=s?sb.has(e):ob.has(e)),o&&a}}const lb=new RegExp("s*:selfs*,?","g");function cb(t,e,n){return new ub(t).build(e,n)}class ub{constructor(t){this._driver=t}build(t,e){const n=new hb(e);return this._resetContextStyleTimingState(n),nb(this,Wm(t),n)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles={},t.collectedStyles[""]={},t.currentTime=0}visitTrigger(t,e){let n=e.queryCount=0,i=e.depCount=0;const r=[],s=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const n=t,i=n.name;i.toString().split(/\s*,\s*/).forEach(t=>{n.name=t,r.push(this.visitState(n,e))}),n.name=i}else if(1==t.type){const r=this.visitTransition(t,e);n+=r.queryCount,i+=r.depCount,s.push(r)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:r,transitions:s,queryCount:n,depCount:i,options:null}}visitState(t,e){const n=this.visitStyle(t.styles,e),i=t.options&&t.options.params||null;if(n.containsDynamicStyles){const r=new Set,s=i||{};if(n.styles.forEach(t=>{if(db(t)){const e=t;Object.keys(e).forEach(t=>{Ym(e[t]).forEach(t=>{s.hasOwnProperty(t)||r.add(t)})})}}),r.size){const n=Km(r.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${n.join(", ")}`)}}return{type:0,name:t.name,style:n,options:i?{params:i}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const n=nb(this,Wm(t.animation),e);return{type:1,matchers:rb(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:pb(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>nb(this,t,e)),options:pb(t.options)}}visitGroup(t,e){const n=e.currentTime;let i=0;const r=t.steps.map(t=>{e.currentTime=n;const r=nb(this,t,e);return i=Math.max(i,e.currentTime),r});return e.currentTime=i,{type:3,steps:r,options:pb(t.options)}}visitAnimate(t,e){const n=function(t,e){let n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return fb(Bm(t,e).duration,0,"");const i=t;if(i.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=fb(0,0,"");return t.dynamic=!0,t.strValue=i,t}return n=n||Bm(i,e),fb(n.duration,n.delay,n.easing)}(t.timings,e.errors);e.currentAnimateTimings=n;let i,r=t.styles?t.styles:tm({});if(5==r.type)i=this.visitKeyframes(r,e);else{let r=t.styles,s=!1;if(!r){s=!0;const t={};n.easing&&(t.easing=n.easing),r=tm(t)}e.currentTime+=n.duration+n.delay;const o=this.visitStyle(r,e);o.isEmptyStep=s,i=o}return e.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}visitStyle(t,e){const n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n}_makeStyleAst(t,e){const n=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==Kg?n.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):n.push(t)}):n.push(t.styles);let i=!1,r=null;return n.forEach(t=>{if(db(t)){const e=t,n=e.easing;if(n&&(r=n,delete e.easing),!i)for(let t in e)if(e[t].toString().indexOf("{{")>=0){i=!0;break}}}),{type:6,styles:n,easing:r,offset:t.offset,containsDynamicStyles:i,options:null}}_validateStyleAst(t,e){const n=e.currentAnimateTimings;let i=e.currentTime,r=e.currentTime;n&&r>0&&(r-=n.duration+n.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(n=>{if(!this._driver.validateStyleProperty(n))return void e.errors.push(`The provided animation property "${n}" is not a supported CSS property for animations`);const s=e.collectedStyles[e.currentQuerySelector],o=s[n];let a=!0;o&&(r!=i&&r>=o.startTime&&i<=o.endTime&&(e.errors.push(`The CSS property "${n}" that exists between the times of "${o.startTime}ms" and "${o.endTime}ms" is also being animated in a parallel animation between the times of "${r}ms" and "${i}ms"`),a=!1),r=o.startTime),a&&(s[n]={startTime:r,endTime:i}),e.options&&function(t,e,n){const i=e.params||{},r=Ym(t);r.length&&r.forEach(t=>{i.hasOwnProperty(t)||n.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(t[n],e.options,e.errors)})})}visitKeyframes(t,e){const n={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),n;let i=0;const r=[];let s=!1,o=!1,a=0;const l=t.steps.map(t=>{const n=this._makeStyleAst(t,e);let l=null!=n.offset?n.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if(db(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}});else if(db(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}return e}(n.styles),c=0;return null!=l&&(i++,c=n.offset=l),o=o||c<0||c>1,s=s||c0&&i{const s=u>0?i==h?1:u*i:r[i],o=s*f;e.currentTime=d+p.delay+o,p.duration=o,this._validateStyleAst(t,e),t.offset=s,n.styles.push(t)}),n}visitReference(t,e){return{type:8,animation:nb(this,Wm(t.animation),e),options:pb(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:pb(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:pb(t.options)}}visitQuery(t,e){const n=e.currentQuerySelector,i=t.options||{};e.queryCount++,e.currentQuery=t;const[r,s]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>":self"==t);return e&&(t=t.replace(lb,"")),[t=t.replace(/@\*/g,Rm).replace(/@\w+/g,t=>Rm+"-"+t.substr(1)).replace(/:animating/g,Lm),e]}(t.selector);e.currentQuerySelector=n.length?n+" "+r:r,mm(e.collectedStyles,e.currentQuerySelector,{});const o=nb(this,Wm(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:r,limit:i.limit||0,optional:!!i.optional,includeSelf:s,animation:o,originalSelector:t.selector,options:pb(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Bm(t.timings,e.errors,!0);return{type:12,animation:nb(this,Wm(t.animation),e),timings:n,options:null}}}class hb{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function db(t){return!Array.isArray(t)&&"object"==typeof t}function pb(t){return t?(t=Vm(t)).params&&(t.params=function(t){return t?Vm(t):null}(t.params)):t={},t}function fb(t,e,n){return{duration:t,delay:e,easing:n}}function gb(t,e,n,i,r,s,o=null,a=!1){return{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:i,duration:r,delay:s,totalTime:r+s,easing:o,subTimeline:a}}class mb{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let n=this._map.get(t);n||this._map.set(t,n=[]),n.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const bb=new RegExp(":enter","g"),yb=new RegExp(":leave","g");function vb(t,e,n,i,r,s={},o={},a,l,c=[]){return(new _b).buildKeyframes(t,e,n,i,r,s,o,a,l,c)}class _b{buildKeyframes(t,e,n,i,r,s,o,a,l,c=[]){l=l||new mb;const u=new xb(t,e,l,i,r,c,[]);u.options=a,u.currentTimeline.setStyles([s],null,u.errors,a),nb(this,n,u);const h=u.timelines.filter(t=>t.containsAnimation());if(h.length&&Object.keys(o).length){const t=h[h.length-1];t.allowOnlyTimelineStyles()||t.setStyles([o],null,u.errors,a)}return h.length?h.map(t=>t.buildKeyframes()):[gb(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const n=e.subInstructions.consume(e.element);if(n){const i=e.createSubContext(t.options),r=e.currentTimeline.currentTime,s=this._visitSubInstructions(n,i,i.options);r!=s&&e.transformIntoNewTimeline(s)}e.previousNode=t}visitAnimateRef(t,e){const n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,n){let i=e.currentTimeline.currentTime;const r=null!=n.duration?jm(n.duration):null,s=null!=n.delay?jm(n.delay):null;return 0!==r&&t.forEach(t=>{const n=e.appendInstructionToTimeline(t,r,s);i=Math.max(i,n.duration+n.delay)}),i}visitReference(t,e){e.updateOptions(t.options,!0),nb(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const n=e.subContextCount;let i=e;const r=t.options;if(r&&(r.params||r.delay)&&(i=e.createSubContext(r),i.transformIntoNewTimeline(),null!=r.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=wb);const t=jm(r.delay);i.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>nb(this,t,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>n&&i.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const n=[];let i=e.currentTimeline.currentTime;const r=t.options&&t.options.delay?jm(t.options.delay):0;t.steps.forEach(s=>{const o=e.createSubContext(t.options);r&&o.delayNextStep(r),nb(this,s,o),i=Math.max(i,o.currentTimeline.currentTime),n.push(o.currentTimeline)}),n.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(i),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const n=t.strValue;return Bm(e.params?Xm(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const n=e.currentAnimateTimings=this._visitTiming(t.timings,e),i=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),i.snapshotCurrentStyles());const r=t.style;5==r.type?this.visitKeyframes(r,e):(e.incrementTime(n.duration),this.visitStyle(r,e),i.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const n=e.currentTimeline,i=e.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();const r=i&&i.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(r):n.setStyles(t.styles,r,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const n=e.currentAnimateTimings,i=e.currentTimeline.duration,r=n.duration,s=e.createSubContext().currentTimeline;s.easing=n.easing,t.styles.forEach(t=>{s.forwardTime((t.offset||0)*r),s.setStyles(t.styles,t.easing,e.errors,e.options),s.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(s),e.transformIntoNewTimeline(i+r),e.previousNode=t}visitQuery(t,e){const n=e.currentTimeline.currentTime,i=t.options||{},r=i.delay?jm(i.delay):0;r&&(6===e.previousNode.type||0==n&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=wb);let s=n;const o=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=o.length;let a=null;o.forEach((n,i)=>{e.currentQueryIndex=i;const o=e.createSubContext(t.options,n);r&&o.delayNextStep(r),n===e.element&&(a=o.currentTimeline),nb(this,t.animation,o),o.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,o.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),a&&(e.currentTimeline.mergeTimelineCollectedStyles(a),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const n=e.parentContext,i=e.currentTimeline,r=t.timings,s=Math.abs(r.duration),o=s*(e.currentQueryTotal-1);let a=s*e.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":a=o-a;break;case"full":a=n.currentStaggerTime}const l=e.currentTimeline;a&&l.delayNextStep(a);const c=l.currentTime;nb(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=i.currentTime-c+(i.startTime-n.currentTimeline.startTime)}}const wb={};class xb{constructor(t,e,n,i,r,s,o,a){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=i,this._leaveClassName=r,this.errors=s,this.timelines=o,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=wb,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new Sb(this._driver,e,0),o.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const n=t;let i=this.options;null!=n.duration&&(i.duration=jm(n.duration)),null!=n.delay&&(i.delay=jm(n.delay));const r=n.params;if(r){let t=i.params;t||(t=this.options.params={}),Object.keys(r).forEach(n=>{(!e||!t.hasOwnProperty(n))&&(t[n]=Xm(r[n],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const n=t.params={};Object.keys(e).forEach(t=>{n[t]=e[t]})}}return t}createSubContext(t=null,e,n){const i=e||this.element,r=new xb(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,n||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(t),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(t){return this.previousNode=wb,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,n){const i={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},r=new Cb(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,i,t.stretchStartingKeyframe);return this.timelines.push(r),i}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,n,i,r,s){let o=[];if(i&&o.push(this.element),t.length>0){t=(t=t.replace(bb,"."+this._enterClassName)).replace(yb,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=n);0!==n&&(e=n<0?e.slice(e.length+n,e.length):e.slice(0,n)),o.push(...e)}return!r&&0==o.length&&s.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),o}}class Sb{constructor(t,e,n,i){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=i,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new Sb(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||Kg,this._currentKeyframe[t]=Kg}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,n,i){e&&(this._previousKeyframe.easing=e);const r=i&&i.params||{},s=function(t,e){const n={};let i;return t.forEach(t=>{"*"===t?(i=i||Object.keys(e),i.forEach(t=>{n[t]=Kg})):zm(t,!1,n)}),n}(t,this._globalTimelineStyles);Object.keys(s).forEach(t=>{const e=Xm(s[t],r,n);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:Kg),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const n=this._styleSummary[e],i=t._styleSummary[e];(!n||i.time>n.time)&&this._updateStyle(e,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,n=1===this._keyframes.size&&0===this.duration;let i=[];this._keyframes.forEach((r,s)=>{const o=zm(r,!0);Object.keys(o).forEach(n=>{const i=o[n];"!"==i?t.add(n):i==Kg&&e.add(n)}),n||(o.offset=s/this.duration),i.push(o)});const r=t.size?Km(t.values()):[],s=e.size?Km(e.values()):[];if(n){const t=i[0],e=Vm(t);t.offset=0,e.offset=1,i=[t,e]}return gb(this.element,i,r,s,this.duration,this.startTime,this.easing,!1)}}class Cb extends Sb{constructor(t,e,n,i,r,s,o=!1){super(t,e,s.delay),this.keyframes=n,this.preStyleProps=i,this.postStyleProps=r,this._stretchStartingKeyframe=o,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:n,easing:i}=this.timings;if(this._stretchStartingKeyframe&&e){const r=[],s=n+e,o=e/s,a=zm(t[0],!1);a.offset=0,r.push(a);const l=zm(t[0],!1);l.offset=Eb(o),r.push(l);const c=t.length-1;for(let i=1;i<=c;i++){let o=zm(t[i],!1);o.offset=Eb((e+o.offset*n)/s),r.push(o)}n=s,e=0,i="",t=r}return gb(this.element,t,this.preStyleProps,this.postStyleProps,n,e,i,!0)}}function Eb(t,e=3){const n=Math.pow(10,e-1);return Math.round(t*n)/n}class Ob{}class Tb extends Ob{normalizePropertyName(t,e){return Zm(t)}normalizeStyleValue(t,e,n,i){let r="";const s=n.toString().trim();if(kb[e]&&0!==n&&"0"!==n)if("number"==typeof n)r="px";else{const e=n.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&i.push(`Please provide a CSS unit value for ${t}:${n}`)}return s+r}}const kb=(()=>function(t){const e={};return t.forEach(t=>e[t]=!0),e}("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".split(",")))();function Pb(t,e,n,i,r,s,o,a,l,c,u,h,d){return{type:0,element:t,triggerName:e,isRemovalTransition:r,fromState:n,fromStyles:s,toState:i,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:h,errors:d}}const Ab={};class Mb{constructor(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}match(t,e,n,i){return function(t,e,n,i,r){return t.some(t=>t(e,n,i,r))}(this.ast.matchers,t,e,n,i)}buildStyles(t,e,n){const i=this._stateStyles["*"],r=this._stateStyles[t],s=i?i.buildStyles(e,n):{};return r?r.buildStyles(e,n):s}build(t,e,n,i,r,s,o,a,l,c){const u=[],h=this.ast.options&&this.ast.options.params||Ab,d=this.buildStyles(n,o&&o.params||Ab,u),p=a&&a.params||Ab,f=this.buildStyles(i,p,u),g=new Set,m=new Map,b=new Map,y="void"===i,v={params:Object.assign(Object.assign({},h),p)},_=c?[]:vb(t,e,this.ast.animation,r,s,d,f,v,l,u);let w=0;if(_.forEach(t=>{w=Math.max(t.duration+t.delay,w)}),u.length)return Pb(e,this._triggerName,n,i,y,d,f,[],[],m,b,w,u);_.forEach(t=>{const n=t.element,i=mm(m,n,{});t.preStyleProps.forEach(t=>i[t]=!0);const r=mm(b,n,{});t.postStyleProps.forEach(t=>r[t]=!0),n!==e&&g.add(n)});const x=Km(g.values());return Pb(e,this._triggerName,n,i,y,d,f,_,x,m,b,w)}}class Ib{constructor(t,e,n){this.styles=t,this.defaultParams=e,this.normalizer=n}buildStyles(t,e){const n={},i=Vm(this.defaultParams);return Object.keys(t).forEach(e=>{const n=t[e];null!=n&&(i[e]=n)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const r=t;Object.keys(r).forEach(t=>{let s=r[t];s.length>1&&(s=Xm(s,i,e));const o=this.normalizer.normalizePropertyName(t,e);s=this.normalizer.normalizeStyleValue(t,o,s,e),n[o]=s})}}),n}}class Db{constructor(t,e,n){this.name=t,this.ast=e,this._normalizer=n,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new Ib(t.style,t.options&&t.options.params||{},n)}),Rb(this.states,"true","1"),Rb(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new Mb(t,e,this.states))}),this.fallbackTransition=function(t,e,n){return new Mb(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},e)}(t,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,n,i){return this.transitionFactories.find(r=>r.match(t,e,n,i))||null}matchStyles(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)}}function Rb(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}const Nb=new mb;class Lb{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}register(t,e){const n=[],i=cb(this._driver,e,n);if(n.length)throw new Error(`Unable to build the animation due to the following errors: ${n.join("\n")}`);this._animations[t]=i}_buildPlayer(t,e,n){const i=t.element,r=dm(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(i,r,t.duration,t.delay,t.easing,[],!0)}create(t,e,n={}){const i=[],r=this._animations[t];let s;const o=new Map;if(r?(s=vb(this._driver,e,r,Mm,Im,{},{},n,Nb,i),s.forEach(t=>{const e=mm(o,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)})):(i.push("The requested animation doesn't exist or has already been destroyed"),s=[]),i.length)throw new Error(`Unable to create the animation due to the following errors: ${i.join("\n")}`);o.forEach((t,e)=>{Object.keys(t).forEach(n=>{t[n]=this._driver.computeStyle(e,n,Kg)})});const a=hm(s.map(t=>{const e=o.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=a,a.onDestroy(()=>this.destroy(t)),this.players.push(a),a}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,n,i){const r=gm(e,"","","");return pm(this._getPlayer(t),n,r,i),()=>{}}command(t,e,n,i){if("register"==n)return void this.register(t,i[0]);if("create"==n)return void this.create(t,e,i[0]||{});const r=this._getPlayer(t);switch(n){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(t)}}}const jb="ng-animate-queued",Fb="ng-animate-disabled",Bb=".ng-animate-disabled",Vb=[],zb={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Ub={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Hb="__ng_removed";class $b{constructor(t,e=""){this.namespaceId=e;const n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){const e=Vm(t);delete e.value,this.options=e}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(n=>{null==t[n]&&(t[n]=e[n])})}}}const Gb="void",Wb=new $b(Gb);class qb{constructor(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,ey(e,this._hostClassName)}listen(t,e,n,i){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${n}" because the animation trigger "${e}" doesn't exist!`);if(null==n||0==n.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if(!function(t){return"start"==t||"done"==t}(n))throw new Error(`The provided animation trigger event "${n}" for the animation trigger "${e}" is not supported!`);const r=mm(this._elementListeners,t,[]),s={name:e,phase:n,callback:i};r.push(s);const o=mm(this._engine.statesByElement,t,{});return o.hasOwnProperty(e)||(ey(t,Dm),ey(t,Dm+"-"+e),o[e]=Wb),()=>{this._engine.afterFlush(()=>{const t=r.indexOf(s);t>=0&&r.splice(t,1),this._triggers[e]||delete o[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,n,i=!0){const r=this._getTrigger(e),s=new Xb(this.id,e,t);let o=this._engine.statesByElement.get(t);o||(ey(t,Dm),ey(t,Dm+"-"+e),this._engine.statesByElement.set(t,o={}));let a=o[e];const l=new $b(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&a&&l.absorbOptions(a.options),o[e]=l,a||(a=Wb),l.value!==Gb&&a.value===l.value){if(!function(t,e){const n=Object.keys(t),i=Object.keys(e);if(n.length!=i.length)return!1;for(let r=0;r{Gm(t,n),$m(t,i)})}return}const c=mm(this._engine.playersByElement,t,[]);c.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let u=r.matchTransition(a.value,l.value,t,l.params),h=!1;if(!u){if(!i)return;u=r.fallbackTransition,h=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:u,fromState:a,toState:l,player:s,isFallbackTransition:h}),h||(ey(t,jb),s.onStart(()=>{ny(t,jb)})),s.onDone(()=>{let e=this.players.indexOf(s);e>=0&&this.players.splice(e,1);const n=this._engine.playersByElement.get(t);if(n){let t=n.indexOf(s);t>=0&&n.splice(t,1)}}),this.players.push(s),c.push(s),s}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,n)=>{delete e[t]}),this._elementListeners.forEach((e,n)=>{this._elementListeners.set(n,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e){const n=this._engine.driver.query(t,Rm,!0);n.forEach(t=>{if(t[Hb])return;const n=this._engine.fetchNamespacesByElement(t);n.size?n.forEach(n=>n.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)}),this._engine.afterFlushAnimationsDone(()=>n.forEach(t=>this.clearElementCache(t)))}triggerLeaveAnimation(t,e,n,i){const r=this._engine.statesByElement.get(t);if(r){const s=[];if(Object.keys(r).forEach(e=>{if(this._triggers[e]){const n=this.trigger(t,e,Gb,i);n&&s.push(n)}}),s.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),n&&hm(s).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t),n=this._engine.statesByElement.get(t);if(e&&n){const i=new Set;e.forEach(e=>{const r=e.name;if(i.has(r))return;i.add(r);const s=this._triggers[r].fallbackTransition,o=n[r]||Wb,a=new $b(Gb),l=new Xb(this.id,r,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:r,transition:s,fromState:o,toState:a,player:l,isFallbackTransition:!0})})}}removeNode(t,e){const n=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e),this.triggerLeaveAnimation(t,e,!0))return;let i=!1;if(n.totalAnimations){const e=n.players.length?n.playersByQueriedElement.get(t):[];if(e&&e.length)i=!0;else{let e=t;for(;e=e.parentNode;)if(n.statesByElement.get(e)){i=!0;break}}}if(this.prepareLeaveAnimationListeners(t),i)n.markElementAsRemoved(this.id,t,!1,e);else{const i=t[Hb];(!i||i===zb)&&(n.afterFlush(()=>this.clearElementCache(t)),n.destroyInnerAnimations(t),n._onRemovalComplete(t,e))}}insertNode(t,e){ey(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(n=>{const i=n.player;if(i.destroyed)return;const r=n.element,s=this._elementListeners.get(r);s&&s.forEach(e=>{if(e.name==n.triggerName){const i=gm(r,n.triggerName,n.fromState.value,n.toState.value);i._data=t,pm(n.player,e.phase,i,e.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):e.push(n)}),this._queue=[],e.sort((t,e)=>{const n=t.transition.ast.depCount,i=e.transition.ast.depCount;return 0==n||0==i?n-i:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(e=>e.element===t)||e,e}}class Yb{constructor(t,e,n){this.bodyNode=t,this.driver=e,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=(t,e)=>{}}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const n=new qb(t,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(n,e):(this.newHostElements.set(e,n),this.collectEnterElement(e)),this._namespaceLookup[t]=n}_balanceNamespaceList(t,e){const n=this._namespaceList.length-1;if(n>=0){let i=!1;for(let r=n;r>=0;r--)if(this.driver.containsElement(this._namespaceList[r].hostElement,e)){this._namespaceList.splice(r+1,0,t),i=!0;break}i||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n}registerTrigger(t,e,n){let i=this._namespaceLookup[t];i&&i.register(e,n)&&this.totalAnimations++}destroy(t,e){if(!t)return;const n=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(n.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(n);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>n.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,n=this.statesByElement.get(t);if(n){const t=Object.keys(n);for(let i=0;i=0&&this.collectedLeaveElements.splice(t,1)}if(t){const i=this._fetchNamespace(t);i&&i.insertNode(e,n)}i&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),ey(t,Fb)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),ny(t,Fb))}removeNode(t,e,n,i){if(Kb(e)){const r=t?this._fetchNamespace(t):null;if(r?r.removeNode(e,i):this.markElementAsRemoved(t,e,!1,i),n){const n=this.namespacesByHostElement.get(e);n&&n.id!==t&&n.removeNode(e,i)}}else this._onRemovalComplete(e,i)}markElementAsRemoved(t,e,n,i){this.collectedLeaveElements.push(e),e[Hb]={namespaceId:t,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}listen(t,e,n,i,r){return Kb(e)?this._fetchNamespace(t).listen(e,n,i,r):()=>{}}_buildInstruction(t,e,n,i,r){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,i,t.fromState.options,t.toState.options,e,r)}destroyInnerAnimations(t){let e=this.driver.query(t,Rm,!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,Lm,!0),e.forEach(t=>this.finishActiveQueriedAnimationOnElement(t)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return hm(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[Hb];if(e&&e.setForRemoval){if(t[Hb]=zb,e.namespaceId){this.destroyInnerAnimations(t);const n=this._fetchNamespace(e.namespaceId);n&&n.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,Bb)&&this.markElementAsDisabled(t,!1),this.driver.query(t,Bb,!0).forEach(t=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;nt()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?hm(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const n=new mb,i=[],r=new Map,s=[],o=new Map,a=new Map,l=new Map,c=new Set;this.disabledNodes.forEach(t=>{c.add(t);const e=this.driver.query(t,".ng-animate-queued",!0);for(let n=0;n{const n=Mm+f++;p.set(e,n),t.forEach(t=>ey(t,n))});const g=[],m=new Set,b=new Set;for(let A=0;Am.add(t)):b.add(t))}const y=new Map,v=Jb(h,Array.from(m));v.forEach((t,e)=>{const n=Im+f++;y.set(e,n),t.forEach(t=>ey(t,n))}),t.push(()=>{d.forEach((t,e)=>{const n=p.get(e);t.forEach(t=>ny(t,n))}),v.forEach((t,e)=>{const n=y.get(e);t.forEach(t=>ny(t,n))}),g.forEach(t=>{this.processLeaveNode(t)})});const _=[],w=[];for(let A=this._namespaceList.length-1;A>=0;A--)this._namespaceList[A].drainQueuedTransitions(e).forEach(t=>{const e=t.player,r=t.element;if(_.push(e),this.collectedEnterElements.length){const t=r[Hb];if(t&&t.setForMove)return void e.destroy()}const c=!u||!this.driver.containsElement(u,r),h=y.get(r),d=p.get(r),f=this._buildInstruction(t,n,d,h,c);if(f.errors&&f.errors.length)w.push(f);else{if(c)return e.onStart(()=>Gm(r,f.fromStyles)),e.onDestroy(()=>$m(r,f.toStyles)),void i.push(e);if(t.isFallbackTransition)return e.onStart(()=>Gm(r,f.fromStyles)),e.onDestroy(()=>$m(r,f.toStyles)),void i.push(e);f.timelines.forEach(t=>t.stretchStartingKeyframe=!0),n.append(r,f.timelines),s.push({instruction:f,player:e,element:r}),f.queriedElements.forEach(t=>mm(o,t,[]).push(e)),f.preStyleProps.forEach((t,e)=>{const n=Object.keys(t);if(n.length){let t=a.get(e);t||a.set(e,t=new Set),n.forEach(e=>t.add(e))}}),f.postStyleProps.forEach((t,e)=>{const n=Object.keys(t);let i=l.get(e);i||l.set(e,i=new Set),n.forEach(t=>i.add(t))})}});if(w.length){const t=[];w.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),_.forEach(t=>t.destroy()),this.reportError(t)}const x=new Map,S=new Map;s.forEach(t=>{const e=t.element;n.has(e)&&(S.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,x))}),i.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{mm(x,e,[]).push(t),t.destroy()})});const C=g.filter(t=>sy(t,a,l)),E=new Map;Zb(E,this.driver,b,l,Kg).forEach(t=>{sy(t,a,l)&&C.push(t)});const O=new Map;d.forEach((t,e)=>{Zb(O,this.driver,new Set(t),a,"!")}),C.forEach(t=>{const e=E.get(t),n=O.get(t);E.set(t,Object.assign(Object.assign({},e),n))});const T=[],k=[],P={};s.forEach(t=>{const{element:e,player:s,instruction:o}=t;if(n.has(e)){if(c.has(e))return s.onDestroy(()=>$m(e,o.toStyles)),s.disabled=!0,s.overrideTotalTime(o.totalTime),void i.push(s);let t=P;if(S.size>1){let n=e;const i=[];for(;n=n.parentNode;){const e=S.get(n);if(e){t=e;break}i.push(n)}i.forEach(e=>S.set(e,t))}const n=this._buildAnimation(s.namespaceId,o,x,r,O,E);if(s.setRealPlayer(n),t===P)T.push(s);else{const e=this.playersByElement.get(t);e&&e.length&&(s.parentPlayer=hm(e)),i.push(s)}}else Gm(e,o.fromStyles),s.onDestroy(()=>$m(e,o.toStyles)),k.push(s),c.has(e)&&i.push(s)}),k.forEach(t=>{const e=r.get(t.element);if(e&&e.length){const n=hm(e);t.setRealPlayer(n)}}),i.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let A=0;A!t.destroyed);i.length?iy(this,t,i):this.processLeaveNode(t)}return g.length=0,T.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),T}elementContainsData(t,e){let n=!1;const i=e[Hb];return i&&i.setForRemoval&&(n=!0),this.playersByElement.has(e)&&(n=!0),this.playersByQueriedElement.has(e)&&(n=!0),this.statesByElement.has(e)&&(n=!0),this._fetchNamespace(t).elementContainsData(e)||n}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,n,i,r){let s=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(s=e)}else{const e=this.playersByElement.get(t);if(e){const t=!r||r==Gb;e.forEach(e=>{e.queued||!t&&e.triggerName!=i||s.push(e)})}}return(n||i)&&(s=s.filter(t=>!(n&&n!=t.namespaceId||i&&i!=t.triggerName))),s}_beforeAnimationBuild(t,e,n){const i=e.element,r=e.isRemovalTransition?void 0:t,s=e.isRemovalTransition?void 0:e.triggerName;for(const o of e.timelines){const t=o.element,a=t!==i,l=mm(n,t,[]);this._getPreviousPlayers(t,a,r,s,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),l.push(t)})}Gm(i,e.fromStyles)}_buildAnimation(t,e,n,i,r,s){const o=e.triggerName,a=e.element,l=[],c=new Set,u=new Set,h=e.timelines.map(e=>{const h=e.element;c.add(h);const d=h[Hb];if(d&&d.removedBeforeQueried)return new am(e.duration,e.delay);const p=h!==a,f=function(t){const e=[];return ry(t,e),e}((n.get(h)||Vb).map(t=>t.getRealPlayer())).filter(t=>!!t.element&&t.element===h),g=r.get(h),m=s.get(h),b=dm(0,this._normalizer,0,e.keyframes,g,m),y=this._buildPlayer(e,b,f);if(e.subTimeline&&i&&u.add(h),p){const e=new Xb(t,o,h);e.setRealPlayer(y),l.push(e)}return y});l.forEach(t=>{mm(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>function(t,e,n){let i;if(t instanceof Map){if(i=t.get(e),i){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&t.delete(e)}}else if(i=t[e],i){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&delete t[e]}return i}(this.playersByQueriedElement,t.element,t))}),c.forEach(t=>ey(t,Nm));const d=hm(h);return d.onDestroy(()=>{c.forEach(t=>ny(t,Nm)),$m(a,e.toStyles)}),u.forEach(t=>{mm(i,t,[]).push(d)}),d}_buildPlayer(t,e,n){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new am(t.duration,t.delay)}}class Xb{constructor(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new am,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(n=>pm(t,e,void 0,n))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){mm(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&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(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function Kb(t){return t&&1===t.nodeType}function Qb(t,e){const n=t.style.display;return t.style.display=null!=e?e:"none",n}function Zb(t,e,n,i,r){const s=[];n.forEach(t=>s.push(Qb(t)));const o=[];i.forEach((n,i)=>{const s={};n.forEach(t=>{const n=s[t]=e.computeStyle(i,t,r);(!n||0==n.length)&&(i[Hb]=Ub,o.push(i))}),t.set(i,s)});let a=0;return n.forEach(t=>Qb(t,s[a++])),o}function Jb(t,e){const n=new Map;if(t.forEach(t=>n.set(t,[])),0==e.length)return n;const i=new Set(e),r=new Map;function s(t){if(!t)return 1;let e=r.get(t);if(e)return e;const o=t.parentNode;return e=n.has(o)?o:i.has(o)?1:s(o),r.set(t,e),e}return e.forEach(t=>{const e=s(t);1!==e&&n.get(e).push(t)}),n}const ty="$$classes";function ey(t,e){if(t.classList)t.classList.add(e);else{let n=t[ty];n||(n=t[ty]={}),n[e]=!0}}function ny(t,e){if(t.classList)t.classList.remove(e);else{let n=t[ty];n&&delete n[e]}}function iy(t,e,n){hm(n).onDone(()=>t.processLeaveNode(e))}function ry(t,e){for(let n=0;nr.add(t)):e.set(t,i),n.delete(t),!0}class oy{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._triggerCache={},this.onRemovalComplete=(t,e)=>{},this._transitionEngine=new Yb(t,e,n),this._timelineEngine=new Lb(t,e,n),this._transitionEngine.onRemovalComplete=(t,e)=>this.onRemovalComplete(t,e)}registerTrigger(t,e,n,i,r){const s=t+"-"+i;let o=this._triggerCache[s];if(!o){const t=[],e=cb(this._driver,r,t);if(t.length)throw new Error(`The animation trigger "${i}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);o=function(t,e,n){return new Db(t,e,n)}(i,e,this._normalizer),this._triggerCache[s]=o}this._transitionEngine.registerTrigger(e,i,o)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,n,i){this._transitionEngine.insertNode(t,e,n,i)}onRemove(t,e,n,i){this._transitionEngine.removeNode(t,e,i||!1,n)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,n,i){if("@"==n.charAt(0)){const[t,r]=bm(n);this._timelineEngine.command(t,e,r,i)}else this._transitionEngine.trigger(t,e,n,i)}listen(t,e,n,i,r){if("@"==n.charAt(0)){const[t,i]=bm(n);return this._timelineEngine.listen(t,e,i,r)}return this._transitionEngine.listen(t,e,n,i,r)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function ay(t,e){let n=null,i=null;return Array.isArray(e)&&e.length?(n=cy(e[0]),e.length>1&&(i=cy(e[e.length-1]))):e&&(n=cy(e)),n||i?new ly(t,n,i):null}class ly{constructor(t,e,n){this._element=t,this._startStyles=e,this._endStyles=n,this._state=0;let i=ly.initialStylesByElement.get(t);i||ly.initialStylesByElement.set(t,i={}),this._initialStyles=i}start(){this._state<1&&(this._startStyles&&$m(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&($m(this._element,this._initialStyles),this._endStyles&&($m(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(ly.initialStylesByElement.delete(this._element),this._startStyles&&(Gm(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Gm(this._element,this._endStyles),this._endStyles=null),$m(this._element,this._initialStyles),this._state=3)}}function cy(t){let e=null;const n=Object.keys(t);for(let i=0;ithis._handleCallback(t)}apply(){(function(t,e){const n=vy(t,"").trim();let i=0;n.length&&(function(t,e){let n=0;for(let i=0;i=this._delay&&n>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),by(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const n=vy(t,"").split(","),i=my(n,e);i>=0&&(n.splice(i,1),yy(t,"",n.join(",")))}(this._element,this._name))}}function fy(t,e,n){yy(t,"PlayState",n,gy(t,e))}function gy(t,e){const n=vy(t,"");return n.indexOf(",")>0?my(n.split(","),e):my([n],e)}function my(t,e){for(let n=0;n=0)return n;return-1}function by(t,e,n){n?t.removeEventListener(dy,e):t.addEventListener(dy,e)}function yy(t,e,n,i){const r=hy+e;if(null!=i){const e=t.style[r];if(e.length){const t=e.split(",");t[i]=n,n=t.join(",")}}t.style[r]=n}function vy(t,e){return t.style[hy+e]||""}class _y{constructor(t,e,n,i,r,s,o,a){this.element=t,this.keyframes=e,this.animationName=n,this._duration=i,this._delay=r,this._finalStyles=o,this._specialStyles=a,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=s||"linear",this.totalTime=i+r,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new py(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this._state>=3;Object.keys(this._finalStyles).forEach(n=>{"offset"!=n&&(t[n]=e?this._finalStyles[n]:ib(this.element,n))})}this.currentSnapshot=t}}class wy extends am{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=km(e)}init(){this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){!this._startingStyles||(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}class xy{constructor(){this._count=0}validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,n){n=n.map(t=>km(t));let i=`@keyframes ${e} {\n`,r="";n.forEach(t=>{r=" ";const e=parseFloat(t.offset);i+=`${r}${100*e}% {\n`,r+=" ",Object.keys(t).forEach(e=>{const n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(i+=`${r}animation-timing-function: ${n};\n`));default:return void(i+=`${r}${e}: ${n};\n`)}}),i+=`${r}}\n`}),i+="}\n";const s=document.createElement("style");return s.textContent=i,s}animate(t,e,n,i,r,s=[],o){const a=s.filter(t=>t instanceof _y),l={};tb(n,i)&&a.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const c=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(n=>{"offset"==n||"easing"==n||(e[n]=t[n])})}),e}(e=eb(t,e,l));if(0==n)return new wy(t,c);const u="gen_css_kf_"+this._count++,h=this.buildKeyframeElement(t,u,e);(function(t){var e;const n=null===(e=t.getRootNode)||void 0===e?void 0:e.call(t);return"undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot?n:document.head})(t).appendChild(h);const d=ay(t,e),p=new _y(t,e,u,n,i,r,c,d);return p.onDestroy(()=>function(t){t.parentNode.removeChild(t)}(h)),p}}class Sy{constructor(t,e,n,i){this.element=t,this.keyframes=e,this.options=n,this._specialStyles=i,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,n){return t.animate(e,n)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),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}_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(t=>t()),this._onDestroyFns=[])}setPosition(t){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:ib(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class Cy{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Ey().toString()),this._cssKeyframesDriver=new xy}validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,n,i,r,s=[],o){if(!o&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,i,r,s);const a={duration:n,delay:i,fill:0==i?"both":"forwards"};r&&(a.easing=r);const l={},c=s.filter(t=>t instanceof Sy);tb(n,i)&&c.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const u=ay(t,e=eb(t,e=e.map(t=>zm(t,!1)),l));return new Sy(t,e,a,u)}}function Ey(){return cm()&&Element.prototype.animate||{}}let Oy=(()=>{class t extends Xg{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:jt.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const n=Array.isArray(t)?Jg(t):t;return Py(this._renderer,null,e,"register",[n]),new Ty(e,this._renderer)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Il),Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Ty extends class{}{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new ky(this._id,t,e||{},this._renderer)}}class ky{constructor(t,e,n,i){this.id=t,this.element=e,this._renderer=i,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return Py(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(t){this._command("setPosition",t)}getPosition(){var t,e;return null!==(e=null===(t=this._renderer.engine.players[+this.id])||void 0===t?void 0:t.getPosition())&&void 0!==e?e:0}}function Py(t,e,n,i,r){return t.setProperty(e,`@@${n}:${i}`,r)}const Ay="@.disabled";let My=(()=>{class t{constructor(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=(t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)}}createRenderer(t,e){const n=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(n);return t||(t=new Iy("",n,this.engine),this._rendererCache.set(n,t)),t}const i=e.id,r=e.id+"-"+this._currentId;this._currentId++,this.engine.register(r,t);const s=e=>{Array.isArray(e)?e.forEach(s):this.engine.registerTrigger(i,r,t,e.name,e)};return e.data.animation.forEach(s),new Dy(this,r,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,n){t>=0&&te(n)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,n]=t;e(n)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,n]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return t.\u0275fac=function(e){return new(e||t)(Ei(Il),Ei(oy),Ei(Tu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Iy{constructor(t,e,n){this.namespaceId=t,this.delegate=e,this.engine=n,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,n,i=!0){this.delegate.insertBefore(t,e,n),this.engine.onInsert(this.namespaceId,e,t,i)}removeChild(t,e,n){this.engine.onRemove(this.namespaceId,e,this.delegate,n)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,i){this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,i){this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){"@"==e.charAt(0)&&e==Ay?this.disableAnimations(t,!!n):this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n){return this.delegate.listen(t,e,n)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class Dy extends Iy{constructor(t,e,n,i){super(e,n,i),this.factory=t,this.namespaceId=e}setProperty(t,e,n){"@"==e.charAt(0)?"."==e.charAt(1)&&e==Ay?this.disableAnimations(t,n=void 0===n||!!n):this.engine.process(this.namespaceId,t,e.substr(1),n):this.delegate.setProperty(t,e,n)}listen(t,e,n){if("@"==e.charAt(0)){const i=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let r=e.substr(1),s="";return"@"!=r.charAt(0)&&([r,s]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(r)),this.engine.listen(this.namespaceId,i,r,s,t=>{this.factory.scheduleListenerCallback(t._data||-1,n,t)})}return this.delegate.listen(t,e,n)}}let Ry=(()=>{class t extends oy{constructor(t,e,n){super(t.body,e,n)}ngOnDestroy(){this.flush()}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(Am),Ei(Ob))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Ny=new oi("AnimationModuleType"),Ly=[{provide:Xg,useClass:Oy},{provide:Ob,useFactory:function(){return new Tb}},{provide:oy,useClass:Ry},{provide:Il,useFactory:function(t,e,n){return new My(t,e,n)},deps:[pd,oy,Tu]}],jy=[{provide:Am,useFactory:function(){return"function"==typeof Ey()?new Cy:new xy}},{provide:Ny,useValue:"BrowserAnimations"},...Ly],Fy=[{provide:Am,useClass:Pm},{provide:Ny,useValue:"NoopAnimations"},...Ly];let By=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?Fy:jy}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:jy,imports:[Td]}),t})();function Vy(t,e){if(1&t&&oa(0,"mat-pseudo-checkbox",4),2&t){const t=va();na("state",t.selected?"checked":"unchecked")("disabled",t.disabled)}}function zy(t,e){if(1&t&&(ra(0,"span",5),Ja(1),sa()),2&t){const t=va();ws(1),el("(",t.group.label,")")}}const Uy=["*"],Hy=new Ll("12.2.5"),$y=new oi("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let Gy,Wy=(()=>{class t{constructor(t,e,n){this._hasDoneGlobalChecks=!1,this._document=n,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=e,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!Vu()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&Hy.full!==Yg.full&&console.warn("The Angular Material version ("+Hy.full+") does not match the Angular CDK version ("+Yg.full+").\nPlease ensure the versions of these two packages exactly match.")}}return t.\u0275fac=function(e){return new(e||t)(Ei(Wg),Ei($y,8),Ei(th))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Bp],Bp]}),t})();function qy(t){return class extends t{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t)}}}function Yy(t,e){return class extends t{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const e=t||this.defaultColor;e!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),e&&this._elementRef.nativeElement.classList.add(`mat-${e}`),this._color=e)}}}function Xy(t){return class extends t{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=kd(t)}}}function Ky(t,e=0){return class extends t{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?Pd(t):this.defaultTabIndex}}}function Qy(t){return class extends t{constructor(...t){super(...t),this.stateChanges=new A,this.errorState=!1}updateErrorState(){const t=this.errorState,e=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);e!==t&&(this.errorState=e,this.stateChanges.next())}}}try{Gy="undefined"!=typeof Intl}catch(m){Gy=!1}let Zy=(()=>{class t{isErrorState(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Jy=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-line",""],["","matLine",""]],hostAttrs:[1,"mat-line"]}),t})();function tv(t,e,n){const i=t.nativeElement.classList;n?i.add(e):i.remove(e)}let ev=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();class nv{constructor(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const iv={enterDuration:225,exitDuration:150},rv=Ip({passive:!0}),sv=["mousedown","touchstart"],ov=["mouseup","mouseleave","touchend","touchcancel"];class av{constructor(t,e,n,i){this._target=t,this._ngZone=e,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,i.isBrowser&&(this._containerElement=Id(n))}fadeInRipple(t,e,n={}){const i=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),r=Object.assign(Object.assign({},iv),n.animation);n.centered&&(t=i.left+i.width/2,e=i.top+i.height/2);const s=n.radius||function(t,e,n){const i=Math.max(Math.abs(t-n.left),Math.abs(t-n.right)),r=Math.max(Math.abs(e-n.top),Math.abs(e-n.bottom));return Math.sqrt(i*i+r*r)}(t,e,i),o=t-i.left,a=e-i.top,l=r.enterDuration,c=document.createElement("div");c.classList.add("mat-ripple-element"),c.style.left=o-s+"px",c.style.top=a-s+"px",c.style.height=2*s+"px",c.style.width=2*s+"px",null!=n.color&&(c.style.backgroundColor=n.color),c.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(c),function(t){window.getComputedStyle(t).getPropertyValue("opacity")}(c),c.style.transform="scale(1)";const u=new nv(this,c,n);return u.state=0,this._activeRipples.add(u),n.persistent||(this._mostRecentTransientRipple=u),this._runTimeoutOutsideZone(()=>{const t=u===this._mostRecentTransientRipple;u.state=1,!n.persistent&&(!t||!this._isPointerDown)&&u.fadeOut()},l),u}fadeOutRipple(t){const e=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const n=t.element,i=Object.assign(Object.assign({},iv),t.config.animation);n.style.transitionDuration=`${i.exitDuration}ms`,n.style.opacity="0",t.state=2,this._runTimeoutOutsideZone(()=>{t.state=3,n.parentNode.removeChild(n)},i.exitDuration)}fadeOutAll(){this._activeRipples.forEach(t=>t.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(t=>{t.config.persistent||t.fadeOut()})}setupTriggerEvents(t){const e=Id(t);!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,this._registerEvents(sv))}handleEvent(t){"mousedown"===t.type?this._onMousedown(t):"touchstart"===t.type?this._onTouchStart(t):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(ov),this._pointerUpEventsRegistered=!0)}_onMousedown(t){const e=Mg(t),n=this._lastTouchStartEvent&&Date.now(){!t.config.persistent&&(1===t.state||t.config.terminateOnPointerUp&&0===t.state)&&t.fadeOut()}))}_runTimeoutOutsideZone(t,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(t,e))}_registerEvents(t){this._ngZone.runOutsideAngular(()=>{t.forEach(t=>{this._triggerElement.addEventListener(t,this,rv)})})}_removeTriggerEvents(){this._triggerElement&&(sv.forEach(t=>{this._triggerElement.removeEventListener(t,this,rv)}),this._pointerUpEventsRegistered&&ov.forEach(t=>{this._triggerElement.removeEventListener(t,this,rv)}))}}const lv=new oi("mat-ripple-global-options");let cv=(()=>{class t{constructor(t,e,n,i,r){this._elementRef=t,this._animationMode=r,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=i||{},this._rippleRenderer=new av(this,e,t,n)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}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:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{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(t,e=0,n){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,e,Object.assign(Object.assign({},this.rippleConfig),n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Tu),ea(Ep),ea(lv,8),ea(Ny,8))},t.\u0275dir=se({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,e){2&t&&ja("mat-ripple-unbounded",e.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),t})(),uv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy,Op],Wy]}),t})(),hv=(()=>{class t{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}return t.\u0275fac=function(e){return new(e||t)(ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(t,e){2&t&&ja("mat-pseudo-checkbox-indeterminate","indeterminate"===e.state)("mat-pseudo-checkbox-checked","checked"===e.state)("mat-pseudo-checkbox-disabled",e.disabled)("_mat-animation-noopable","NoopAnimations"===e._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(t,e){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;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-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),t})(),dv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy]]}),t})();const pv=new oi("MAT_OPTION_PARENT_COMPONENT"),fv=qy(class{});let gv=0,mv=(()=>{class t extends fv{constructor(t){var e;super(),this._labelId="mat-optgroup-label-"+gv++,this._inert=null!==(e=null==t?void 0:t.inertGroups)&&void 0!==e&&e}}return t.\u0275fac=function(e){return new(e||t)(ea(pv,8))},t.\u0275dir=se({type:t,inputs:{label:"label"},features:[jo]}),t})();const bv=new oi("MatOptgroup");let yv=0;class vv{constructor(t,e=!1){this.source=t,this.isUserInput=e}}let _v=(()=>{class t{constructor(t,e,n,i){this._element=t,this._changeDetectorRef=e,this._parent=n,this.group=i,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+yv++,this.onSelectionChange=new Bc,this._stateChanges=new A}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(t){this._disabled=kd(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(t,e){const n=this._getHostElement();"function"==typeof n.focus&&n.focus(e)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){(13===t.keyCode||32===t.keyCode)&&!uf(t)&&(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new vv(this,t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(void 0),ea(mv))},t.\u0275dir=se({type:t,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),t})(),wv=(()=>{class t extends _v{constructor(t,e,n,i){super(t,e,n,i)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(pv,8),ea(bv,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(t,e){1&t&&fa("click",function(){return e._selectViaInteraction()})("keydown",function(t){return e._handleKeydown(t)}),2&t&&(rl("id",e.id),Ko("tabindex",e._getTabIndex())("aria-selected",e._getAriaSelected())("aria-disabled",e.disabled.toString()),ja("mat-selected",e.selected)("mat-option-multiple",e.multiple)("mat-active",e.active)("mat-option-disabled",e.disabled))},exportAs:["matOption"],features:[jo],ngContentSelectors:Uy,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(t,e){1&t&&(wa(),Jo(0,Vy,1,2,"mat-pseudo-checkbox",0),ra(1,"span",1),xa(2),sa(),Jo(3,zy,2,1,"span",2),oa(4,"div",3)),2&t&&(na("ngIf",e.multiple),ws(3),na("ngIf",e.group&&e.group._inert),ws(1),na("matRippleTrigger",e._getHostElement())("matRippleDisabled",e.disabled||e.disableRipple))},directives:[Ah,cv,hv],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),t})();function xv(t,e,n){if(n.length){let i=e.toArray(),r=n.toArray(),s=0;for(let e=0;en+i?Math.max(0,t-i+e):n}let Cv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wh,Wy,dv]]}),t})();function Ev(...t){if(1===t.length){const e=t[0];if(d(e))return Ov(e,null);if(p(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Ov(t.map(t=>e[t]),t)}}if("function"==typeof t[t.length-1]){const e=t.pop();return Ov(t=1===t.length&&d(t[0])?t[0]:t,null).pipe(D(t=>e(...t)))}return Ov(t,null)}function Ov(t,e){return new E(n=>{const i=t.length;if(0===i)return void n.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=t},error:t=>n.error(t),complete:()=>{s++,(s===i||!c)&&(o===i&&n.next(e?e.reduce((t,e,n)=>(t[e]=r[n],t),{}):r),n.complete())}}))}})}function Tv(t){return function(e){const n=new kv(t),i=e.lift(n);return n.caught=i}}class kv{constructor(t){this.selector=t}call(t,e){return e.subscribe(new Pv(t,this.selector,this.caught))}}class Pv extends ${constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let n;try{n=this.selector(t,this.caught)}catch(e){return void super.error(e)}this._unsubscribeAndRecycle();const i=new H(this);this.add(i);const r=G(n,i);r!==i&&this.add(r)}}}function Av(t){return e=>e.lift(new Mv(t))}class Mv{constructor(t){this.callback=t}call(t,e){return e.subscribe(new Iv(t,this.callback))}}class Iv extends v{constructor(t,e){super(t),this.add(new g(e))}}class Dv{}class Rv{}class Nv{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),i=n.toLowerCase(),r=t.slice(e+1).trim();this.maybeSetNormalizedName(n,i),this.headers.has(i)?this.headers.get(i).push(r):this.headers.set(i,[r])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const i=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(i,n),this.maybeSetNormalizedName(e,i))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Nv?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Nv;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Nv?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const i=("a"===t.op?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":const r=t.value;if(r){let t=this.headers.get(e);if(!t)return;t=t.filter(t=>-1===r.indexOf(t)),0===t.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class Lv{encodeKey(t){return Bv(t)}encodeValue(t){return Bv(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const jv=/%(\d[a-f0-9])/gi,Fv={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Bv(t){return encodeURIComponent(t).replace(jv,(t,e)=>{var n;return null!==(n=Fv[e])&&void 0!==n?n:t})}function Vv(t){return`${t}`}class zv{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Lv,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(t=>{const i=t.indexOf("="),[r,s]=-1==i?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,i)),e.decodeValue(t.slice(i+1))],o=n.get(r)||[];o.push(s),n.set(r,o)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(n=>{const i=t[n];Array.isArray(i)?i.forEach(t=>{e.push({param:n,value:t,op:"a"})}):e.push({param:n,value:i,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new zv({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(Vv(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(Vv(t.value));-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Uv{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}keys(){return this.map.keys()}}function Hv(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function $v(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Gv(t){return"undefined"!=typeof FormData&&t instanceof FormData}class Wv{constructor(t,e,n,i){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||i?(this.body=void 0!==n?n:null,r=i):r=n,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.context&&(this.context=r.context),r.params&&(this.params=r.params)),this.headers||(this.headers=new Nv),this.context||(this.context=new Uv),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":ne.set(n,t.setHeaders[n]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),c)),new Wv(n,i,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var qv=(()=>((qv=qv||{})[qv.Sent=0]="Sent",qv[qv.UploadProgress=1]="UploadProgress",qv[qv.ResponseHeader=2]="ResponseHeader",qv[qv.DownloadProgress=3]="DownloadProgress",qv[qv.Response=4]="Response",qv[qv.User=5]="User",qv))();class Yv{constructor(t,e=200,n="OK"){this.headers=t.headers||new Nv,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class Xv extends Yv{constructor(t={}){super(t),this.type=qv.ResponseHeader}clone(t={}){return new Xv({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Kv extends Yv{constructor(t={}){super(t),this.type=qv.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new Kv({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Qv extends Yv{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function Zv(t,e){return{body:e,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let Jv=(()=>{class t{constructor(t){this.handler=t}request(t,e,n={}){let i;if(t instanceof Wv)i=t;else{let r,s;r=n.headers instanceof Nv?n.headers:new Nv(n.headers),n.params&&(s=n.params instanceof zv?n.params:new zv({fromObject:n.params})),i=new Wv(t,e,void 0!==n.body?n.body:null,{headers:r,context:n.context,params:s,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const r=Dd(i).pipe(function(t,e){return W(t,e,1)}(t=>this.handler.handle(t)));if(t instanceof Wv||"events"===n.observe)return r;const s=r.pipe(ep(t=>t instanceof Kv));switch(n.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return s.pipe(D(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return s.pipe(D(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return s.pipe(D(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return s.pipe(D(t=>t.body))}case"response":return s;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new zv).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,Zv(n,e))}post(t,e,n={}){return this.request("POST",t,Zv(n,e))}put(t,e,n={}){return this.request("PUT",t,Zv(n,e))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Dv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class t_{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const e_=new oi("HTTP_INTERCEPTORS");let n_=(()=>{class t{intercept(t,e){return e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const i_=/^\)\]\}',?\n/;let r_=(()=>{class t{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new E(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const i=t.serializeBody();let r=null;const s=()=>{if(null!==r)return r;const e=1223===n.status?204:n.status,i=n.statusText||"OK",s=new Nv(n.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return r=new Xv({headers:s,status:e,statusText:i,url:o}),r},o=()=>{let{headers:i,status:r,statusText:o,url:a}=s(),l=null;204!==r&&(l=void 0===n.response?n.responseText:n.response),0===r&&(r=l?200:0);let c=r>=200&&r<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(i_,"");try{l=""!==l?JSON.parse(l):null}catch(u){l=t,c&&(c=!1,l={error:u,text:l})}}c?(e.next(new Kv({body:l,headers:i,status:r,statusText:o,url:a||void 0})),e.complete()):e.error(new Qv({error:l,headers:i,status:r,statusText:o,url:a||void 0}))},a=t=>{const{url:i}=s(),r=new Qv({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error",url:i||void 0});e.error(r)};let l=!1;const c=i=>{l||(e.next(s()),l=!0);let r={type:qv.DownloadProgress,loaded:i.loaded};i.lengthComputable&&(r.total=i.total),"text"===t.responseType&&!!n.responseText&&(r.partialText=n.responseText),e.next(r)},u=t=>{let n={type:qv.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",o),n.addEventListener("error",a),n.addEventListener("timeout",a),n.addEventListener("abort",a),t.reportProgress&&(n.addEventListener("progress",c),null!==i&&n.upload&&n.upload.addEventListener("progress",u)),n.send(i),e.next({type:qv.Sent}),()=>{n.removeEventListener("error",a),n.removeEventListener("abort",a),n.removeEventListener("load",o),n.removeEventListener("timeout",a),t.reportProgress&&(n.removeEventListener("progress",c),null!==i&&n.upload&&n.upload.removeEventListener("progress",u)),n.readyState!==n.DONE&&n.abort()}})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Xh))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const s_=new oi("XSRF_COOKIE_NAME"),o_=new oi("XSRF_HEADER_NAME");class a_{}let l_=(()=>{class t{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Eh(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(hu),Ei(s_))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),c_=(()=>{class t{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const i=this.tokenService.getToken();return null!==i&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,i)})),e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(a_),Ei(o_))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),u_=(()=>{class t{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(e_,[]);this.chain=t.reduceRight((t,e)=>new t_(t,e),this.backend)}return this.chain.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Rv),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),h_=(()=>{class t{static disable(){return{ngModule:t,providers:[{provide:c_,useClass:n_}]}}static withOptions(e={}){return{ngModule:t,providers:[e.cookieName?{provide:s_,useValue:e.cookieName}:[],e.headerName?{provide:o_,useValue:e.headerName}:[]]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[c_,{provide:e_,useExisting:c_,multi:!0},{provide:a_,useClass:l_},{provide:s_,useValue:"XSRF-TOKEN"},{provide:o_,useValue:"X-XSRF-TOKEN"}]}),t})(),d_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Jv,{provide:Dv,useClass:u_},r_,{provide:Rv,useExisting:r_}],imports:[[h_.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),t})();const p_=["*"];function f_(t){return Error(`Unable to find icon with the name "${t}"`)}function g_(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function m_(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}class b_{constructor(t,e,n){this.url=t,this.svgText=e,this.options=n}}let y_=(()=>{class t{constructor(t,e,n,i){this._httpClient=t,this._sanitizer=e,this._errorHandler=i,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",this._document=n}addSvgIcon(t,e,n){return this.addSvgIconInNamespace("",t,e,n)}addSvgIconLiteral(t,e,n){return this.addSvgIconLiteralInNamespace("",t,e,n)}addSvgIconInNamespace(t,e,n,i){return this._addSvgIconConfig(t,e,new b_(n,null,i))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,e,n,i){const r=this._sanitizer.sanitize(yr.HTML,n);if(!r)throw m_(n);return this._addSvgIconConfig(t,e,new b_("",r,i))}addSvgIconSet(t,e){return this.addSvgIconSetInNamespace("",t,e)}addSvgIconSetLiteral(t,e){return this.addSvgIconSetLiteralInNamespace("",t,e)}addSvgIconSetInNamespace(t,e,n){return this._addSvgIconSetConfig(t,new b_(e,null,n))}addSvgIconSetLiteralInNamespace(t,e,n){const i=this._sanitizer.sanitize(yr.HTML,e);if(!i)throw m_(e);return this._addSvgIconSetConfig(t,new b_("",i,n))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const e=this._sanitizer.sanitize(yr.RESOURCE_URL,t);if(!e)throw g_(t);const n=this._cachedIconsByUrl.get(e);return n?Dd(v_(n)):this._loadSvgIconFromConfig(new b_(t,null)).pipe(eg(t=>this._cachedIconsByUrl.set(e,t)),D(t=>v_(t)))}getNamedSvgIcon(t,e=""){const n=__(e,t);let i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);if(i=this._getIconConfigFromResolvers(e,t),i)return this._svgIconConfigs.set(n,i),this._getSvgFromConfig(i);const r=this._iconSetConfigs.get(e);return r?this._getSvgFromIconSetConfigs(t,r):gp(f_(n))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?Dd(v_(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(D(t=>v_(t)))}_getSvgFromIconSetConfigs(t,e){const n=this._extractIconWithNameFromAnySet(t,e);return n?Dd(n):Ev(e.filter(t=>!t.svgText).map(t=>this._loadSvgIconSetFromConfig(t).pipe(Tv(e=>{const n=`Loading icon set URL: ${this._sanitizer.sanitize(yr.RESOURCE_URL,t.url)} failed: ${e.message}`;return this._errorHandler.handleError(new Error(n)),Dd(null)})))).pipe(D(()=>{const n=this._extractIconWithNameFromAnySet(t,e);if(!n)throw f_(t);return n}))}_extractIconWithNameFromAnySet(t,e){for(let n=e.length-1;n>=0;n--){const i=e[n];if(i.svgText&&i.svgText.indexOf(t)>-1){const e=this._svgElementFromConfig(i),n=this._extractSvgIconFromSet(e,t,i.options);if(n)return n}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(eg(e=>t.svgText=e),D(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?Dd(null):this._fetchIcon(t).pipe(eg(e=>t.svgText=e))}_extractSvgIconFromSet(t,e,n){const i=t.querySelector(`[id="${e}"]`);if(!i)return null;const r=i.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r,n);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r),n);const s=this._svgElementFromString("");return s.appendChild(r),this._setSvgAttributes(s,n)}_svgElementFromString(t){const e=this._document.createElement("DIV");e.innerHTML=t;const n=e.querySelector("svg");if(!n)throw Error(" tag not found");return n}_toSvgElement(t){const e=this._svgElementFromString(""),n=t.attributes;for(let i=0;ithis._inProgressUrlFetches.delete(s)),at());return this._inProgressUrlFetches.set(s,a),a}_addSvgIconConfig(t,e,n){return this._svgIconConfigs.set(__(t,e),n),this}_addSvgIconSetConfig(t,e){const n=this._iconSetConfigs.get(t);return n?n.push(e):this._iconSetConfigs.set(t,[e]),this}_svgElementFromConfig(t){if(!t.svgElement){const e=this._svgElementFromString(t.svgText);this._setSvgAttributes(e,t.options),t.svgElement=e}return t.svgElement}_getIconConfigFromResolvers(t,e){for(let n=0;ne?e.pathname+e.search:""}}}),C_=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],E_=C_.map(t=>`[${t}]`).join(", "),O_=/^url\(['"]?#(.*?)['"]?\)$/;let T_=(()=>{class t extends x_{constructor(t,e,n,i,r){super(t),this._iconRegistry=e,this._location=i,this._errorHandler=r,this._inline=!1,this._currentIconFetch=g.EMPTY,n||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=kd(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const e=this._cleanupFontValue(t);e!==this._fontSet&&(this._fontSet=e,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const e=this._cleanupFontValue(t);e!==this._fontIcon&&(this._fontIcon=e,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const t=this._location.getPathname();t!==this._previousPath&&(this._previousPath=t,this._prependPathToReferences(t))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const e=t.querySelectorAll("style");for(let i=0;i{e.forEach(e=>{n.setAttribute(e.name,`url('${t}#${e.value}')`)})})}_cacheChildrenWithExternalReferences(t){const e=t.querySelectorAll(E_),n=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let i=0;i{const r=e[i],s=r.getAttribute(t),o=s?s.match(O_):null;if(o){let e=n.get(r);e||(e=[],n.set(r,e)),e.push({name:t,value:o[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[e,n]=this._splitIconName(t);e&&(this._svgNamespace=e),n&&(this._svgName=n),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(n,e).pipe(rf(1)).subscribe(t=>this._setSvgElement(t),t=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${e}:${n}! ${t.message}`))})}}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(y_),ii("aria-hidden"),ea(S_),ea(kr))},t.\u0275cmp=Jt({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,e){2&t&&(Ko("data-mat-icon-type",e._usingFontIcon()?"font":"svg")("data-mat-icon-name",e._svgName||e.fontIcon)("data-mat-icon-namespace",e._svgNamespace||e.fontSet),ja("mat-icon-inline",e.inline)("mat-icon-no-color","primary"!==e.color&&"accent"!==e.color&&"warn"!==e.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[jo],ngContentSelectors:p_,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[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}\n"],encapsulation:2,changeDetection:0}),t})(),k_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();const P_=["mat-button",""],A_=["*"],M_=".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n",I_=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],D_=Yy(qy(Xy(class{constructor(t){this._elementRef=t}})));let R_=(()=>{class t extends D_{constructor(t,e,n){super(t),this._focusMonitor=e,this._animationMode=n,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const i of I_)this._hasHostAttributes(i)&&this._getHostElement().classList.add(i);t.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(t,e){t?this._focusMonitor.focusVia(this._getHostElement(),t,e):this._getHostElement().focus(e)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(t=>this._getHostElement().hasAttribute(t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ug),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(t,e){if(1&t&&Zc(cv,5),2&t){let t;Qc(t=tu())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(t,e){2&t&&(Ko("disabled",e.disabled||null),ja("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[jo],attrs:P_,ngContentSelectors:A_,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(wa(),ra(0,"span",0),xa(1),sa(),oa(2,"span",1),oa(3,"span",2)),2&t&&(ws(2),ja("mat-button-ripple-round",e.isRoundButton||e.isIconButton),na("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[cv],styles:[M_],encapsulation:2,changeDetection:0}),t})(),N_=(()=>{class t extends R_{constructor(t,e,n){super(e,t,n)}_haltDisabledEvents(t){this.disabled&&(t.preventDefault(),t.stopImmediatePropagation())}}return t.\u0275fac=function(e){return new(e||t)(ea(Ug),ea(Al),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["a","mat-button",""],["a","mat-raised-button",""],["a","mat-icon-button",""],["a","mat-fab",""],["a","mat-mini-fab",""],["a","mat-stroked-button",""],["a","mat-flat-button",""]],hostAttrs:[1,"mat-focus-indicator"],hostVars:7,hostBindings:function(t,e){1&t&&fa("click",function(t){return e._haltDisabledEvents(t)}),2&t&&(Ko("tabindex",e.disabled?-1:e.tabIndex||0)("disabled",e.disabled||null)("aria-disabled",e.disabled.toString()),ja("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matButton","matAnchor"],features:[jo],attrs:P_,ngContentSelectors:A_,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(wa(),ra(0,"span",0),xa(1),sa(),oa(2,"span",1),oa(3,"span",2)),2&t&&(ws(2),ja("mat-button-ripple-round",e.isRoundButton||e.isIconButton),na("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[cv],styles:[M_],encapsulation:2,changeDetection:0}),t})(),L_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wy],Wy]}),t})();class j_ extends v{notifyNext(t,e,n,i,r){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}class F_ extends v{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function B_(t,e,n,i,r=new F_(t,n,i)){if(!r.closed)return e instanceof E?e.subscribe(r):V(e)(r)}const V_={};function z_(...t){let e,n;return I(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&d(t[0])&&(t=t[0]),K(t,n).lift(new U_(e))}class U_{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new H_(t,this.resultSelector))}}class H_ extends j_{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(V_),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n{class t{constructor(t){this._platform=t,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):q_}matchMedia(t){return this._platform.WEBKIT&&function(t){if(!$_.has(t))try{G_||(G_=document.createElement("style"),G_.setAttribute("type","text/css"),document.head.appendChild(G_)),G_.sheet&&(G_.sheet.insertRule(`@media ${t} {.fx-query-test{ }}`,0),$_.add(t))}catch(e){console.error(e)}}(t),this._matchMedia(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep))},token:t,providedIn:"root"}),t})();function q_(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let Y_=(()=>{class t{constructor(t,e){this._mediaMatcher=t,this._zone=e,this._queries=new Map,this._destroySubject=new A}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return X_(Ad(t)).some(t=>this._registerQuery(t).mql.matches)}observe(t){let e=z_(X_(Ad(t)).map(t=>this._registerQuery(t).observable));return e=ap(e.pipe(rf(1)),e.pipe(lg(1),rg(0))),e.pipe(D(t=>{const e={matches:!1,breakpoints:{}};return t.forEach(({matches:t,query:n})=>{e.matches=e.matches||t,e.breakpoints[n]=t}),e}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const e=this._mediaMatcher.matchMedia(t),n={observable:new E(t=>{const n=e=>this._zone.run(()=>t.next(e));return e.addListener(n),()=>{e.removeListener(n)}}).pipe(lp(e),D(({matches:e})=>({query:t,matches:e})),rp(this._destroySubject)),mql:e};return this._queries.set(t,n),n}}return t.\u0275fac=function(e){return new(e||t)(Ei(W_),Ei(Tu))},t.\u0275prov=xt({factory:function(){return new t(Ei(W_),Ei(Tu))},token:t,providedIn:"root"}),t})();function X_(t){return t.map(t=>t.split(",")).reduce((t,e)=>t.concat(e)).map(t=>t.trim())}function K_(t,e){if(1&t){const t=ua();ra(0,"div",1),ra(1,"button",2),fa("click",function(){return $e(t),va().action()}),Ja(2),sa(),sa()}if(2&t){const t=va();ws(2),tl(t.data.action)}}function Q_(t,e){}const Z_=new oi("MatSnackBarData");class J_{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const tw=Math.pow(2,31)-1;class ew{constructor(t,e){this._overlayRef=e,this._afterDismissed=new A,this._afterOpened=new A,this._onAction=new A,this._dismissedByAction=!1,this.containerInstance=t,this.onAction().subscribe(()=>this.dismiss()),t._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(t){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(t,tw))}_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}}let nw=(()=>{class t{constructor(t,e){this.snackBarRef=t,this.data=e}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return t.\u0275fac=function(e){return new(e||t)(ea(ew),ea(Z_))},t.\u0275cmp=Jt({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(t,e){1&t&&(ra(0,"span"),Ja(1),sa(),Jo(2,K_,3,1,"div",0)),2&t&&(ws(1),tl(e.data.message),ws(1),na("ngIf",e.hasAction))},directives:[Ah,R_],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}\n"],encapsulation:2,changeDetection:0}),t})();const iw={snackBarState:Qg("state",[em("void, hidden",tm({transform:"scale(0.8)",opacity:0})),em("visible",tm({transform:"scale(1)",opacity:1})),im("* => visible",Zg("150ms cubic-bezier(0, 0, 0.2, 1)")),im("* => void, * => hidden",Zg("75ms cubic-bezier(0.4, 0.0, 1, 1)",tm({opacity:0})))])};let rw=(()=>{class t extends Kp{constructor(t,e,n,i,r){super(),this._ngZone=t,this._elementRef=e,this._changeDetectorRef=n,this._platform=i,this.snackBarConfig=r,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new A,this._onExit=new A,this._onEnter=new A,this._animationState="void",this.attachDomPortal=t=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(t)),this._live="assertive"!==r.politeness||r.announcementMessage?"off"===r.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)}onAnimationEnd(t){const{fromState:e,toState:n}=t;if(("void"===n&&"void"!==e||"hidden"===n)&&this._completeExit(),"visible"===n){const t=this._onEnter;this._ngZone.run(()=>{t.next(),t.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(rf(1)).subscribe(()=>{this._onExit.next(),this._onExit.complete()})}_applySnackBarClasses(){const t=this._elementRef.nativeElement,e=this.snackBarConfig.panelClass;e&&(Array.isArray(e)?e.forEach(e=>t.classList.add(e)):t.classList.add(e)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const t=this._elementRef.nativeElement.querySelector("[aria-hidden]"),e=this._elementRef.nativeElement.querySelector("[aria-live]");if(t&&e){let n=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(n=document.activeElement),t.removeAttribute("aria-hidden"),e.appendChild(t),null==n||n.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(Al),ea(nc),ea(Ep),ea(J_))},t.\u0275cmp=Jt({type:t,selectors:[["snack-bar-container"]],viewQuery:function(t,e){if(1&t&&Zc(tf,7),2&t){let t;Qc(t=tu())&&(e._portalOutlet=t.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(t,e){1&t&&ga("@state.done",function(t){return e.onAnimationEnd(t)}),2&t&&sl("@state",e._animationState)},features:[jo],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(t,e){1&t&&(ra(0,"div",0),Jo(1,Q_,0,0,"ng-template",1),sa(),oa(2,"div")),2&t&&(ws(2),Ko("aria-live",e._live)("role",e._role))},directives:[tf],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[iw.snackBarState]}}),t})(),sw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wf,ef,Wh,L_,Wy],Wy]}),t})();const ow=new oi("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new J_}});let aw=(()=>{class t{constructor(t,e,n,i,r,s){this._overlay=t,this._live=e,this._injector=n,this._breakpointObserver=i,this._parentSnackBar=r,this._defaultConfig=s,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=nw,this.snackBarContainerComponent=rw,this.handsetCssClass="mat-snack-bar-handset"}get _openedSnackBarRef(){const t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t}openFromComponent(t,e){return this._attach(t,e)}openFromTemplate(t,e){return this._attach(t,e)}open(t,e="",n){const i=Object.assign(Object.assign({},this._defaultConfig),n);return i.data={message:t,action:e},i.announcementMessage===t&&(i.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,i)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(t,e){const n=No.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:J_,useValue:e}]}),i=new qp(this.snackBarContainerComponent,e.viewContainerRef,n),r=t.attach(i);return r.instance.snackBarConfig=e,r.instance}_attach(t,e){const n=Object.assign(Object.assign(Object.assign({},new J_),this._defaultConfig),e),i=this._createOverlay(n),r=this._attachSnackBarContainer(i,n),s=new ew(r,i);if(t instanceof ac){const e=new Yp(t,null,{$implicit:n.data,snackBarRef:s});s.instance=r.attachTemplatePortal(e)}else{const e=this._createInjector(n,s),i=new qp(t,void 0,e),o=r.attachComponentPortal(i);s.instance=o.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(rp(i.detachments())).subscribe(t=>{const e=i.overlayElement.classList;t.matches?e.add(this.handsetCssClass):e.remove(this.handsetCssClass)}),n.announcementMessage&&r._onAnnounce.subscribe(()=>{this._live.announce(n.announcementMessage,n.politeness)}),this._animateSnackBar(s,n),this._openedSnackBarRef=s,this._openedSnackBarRef}_animateSnackBar(t,e){t.afterDismissed().subscribe(()=>{this._openedSnackBarRef==t&&(this._openedSnackBarRef=null),e.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),e.duration&&e.duration>0&&t.afterOpened().subscribe(()=>t._dismissAfter(e.duration))}_createOverlay(t){const e=new vf;e.direction=t.direction;let n=this._overlay.position().global();const i="rtl"===t.direction,r="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!i||"end"===t.horizontalPosition&&i,s=!r&&"center"!==t.horizontalPosition;return r?n.left("0"):s?n.right("0"):n.centerHorizontally(),"top"===t.verticalPosition?n.top("0"):n.bottom("0"),e.positionStrategy=n,this._overlay.create(e)}_createInjector(t,e){return No.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:ew,useValue:e},{provide:Z_,useValue:t.data}]})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Vf),Ei(Bg),Ei(No),Ei(Y_),Ei(t,12),Ei(ow))},t.\u0275prov=xt({factory:function(){return new t(Ei(Vf),Ei(Bg),Ei(_o),Ei(Y_),Ei(t,12),Ei(ow))},token:t,providedIn:sw}),t})();const lw={tooltipState:Qg("state",[em("initial, void, hidden",tm({opacity:0,transform:"scale(0)"})),em("visible",tm({transform:"scale(1)"})),im("* => visible",Zg("200ms cubic-bezier(0, 0, 0.2, 1)",nm([tm({opacity:0,transform:"scale(0)",offset:0}),tm({opacity:.5,transform:"scale(0.99)",offset:.5}),tm({opacity:1,transform:"scale(1)",offset:1})]))),im("* => hidden",Zg("100ms cubic-bezier(0, 0, 0.2, 1)",tm({opacity:0})))])},cw="tooltip-panel",uw=Ip({passive:!0}),hw=new oi("mat-tooltip-scroll-strategy"),dw={provide:hw,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition({scrollThrottle:20})}},pw=new oi("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});let fw=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u,h){this._overlay=t,this._elementRef=e,this._scrollDispatcher=n,this._viewContainerRef=i,this._ngZone=r,this._platform=s,this._ariaDescriber=o,this._focusMonitor=a,this._dir=c,this._defaultOptions=u,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new A,this._handleKeydown=t=>{this._isTooltipVisible()&&27===t.keyCode&&!uf(t)&&(t.preventDefault(),t.stopPropagation(),this._ngZone.run(()=>this.hide(0)))},this._scrollStrategy=l,this._document=h,u&&(u.position&&(this.position=u.position),u.touchGestures&&(this.touchGestures=u.touchGestures)),c.change.pipe(rp(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),r.runOutsideAngular(()=>{e.nativeElement.addEventListener("keydown",this._handleKeydown)})}get position(){return this._position}set position(t){var e;t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(e=this._tooltipInstance)||void 0===e||e.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=t?String(t).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(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(rp(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const t=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),t.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(([e,n])=>{t.removeEventListener(e,n,uw)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t)}show(t=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible()&&!this._tooltipInstance._showTimeoutId&&!this._tooltipInstance._hideTimeoutId)return;const e=this._createOverlay();this._detach(),this._portal=this._portal||new qp(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=e.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(rp(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),e=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return e.positionChanges.pipe(rp(this._destroyed)).subscribe(t=>{this._updateCurrentPositionClass(t.connectionPair),this._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:e,panelClass:`${this._cssClassPrefix}-${cw}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(rp(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(rp(this._destroyed)).subscribe(()=>{var t;return null===(t=this._tooltipInstance)||void 0===t?void 0:t._handleBodyInteraction()}),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(t){const e=t.getConfig().positionStrategy,n=this._getOrigin(),i=this._getOverlayPosition();e.withPositions([this._addOffset(Object.assign(Object.assign({},n.main),i.main)),this._addOffset(Object.assign(Object.assign({},n.fallback),i.fallback))])}_addOffset(t){return t}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;"above"==e||"below"==e?n={originX:"center",originY:"above"==e?"top":"bottom"}:"before"==e||"left"==e&&t||"right"==e&&!t?n={originX:"start",originY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(n={originX:"end",originY:"center"});const{x:i,y:r}=this._invertPosition(n.originX,n.originY);return{main:n,fallback:{originX:i,originY:r}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;"above"==e?n={overlayX:"center",overlayY:"bottom"}:"below"==e?n={overlayX:"center",overlayY:"top"}:"before"==e||"left"==e&&t||"right"==e&&!t?n={overlayX:"end",overlayY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(n={overlayX:"start",overlayY:"center"});const{x:i,y:r}=this._invertPosition(n.overlayX,n.overlayY);return{main:n,fallback:{overlayX:i,overlayY:r}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(rf(1),rp(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}}_updateCurrentPositionClass(t){const{overlayY:e,originX:n,originY:i}=t;let r;if(r="center"===e?this._dir&&"rtl"===this._dir.value?"end"===n?"left":"right":"start"===n?"left":"right":"bottom"===e&&"top"===i?"above":"below",r!==this._currentPosition){const t=this._overlayRef;if(t){const e=`${this._cssClassPrefix}-${cw}-`;t.removePanelClass(e+this._currentPosition),t.addPanelClass(e+r)}this._currentPosition=r}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const t=[];if(this._platformSupportsMouseEvents())t.push(["mouseleave",()=>this.hide()],["wheel",t=>this._wheelListener(t)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const e=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};t.push(["touchend",e],["touchcancel",e])}this._addListeners(t),this._passiveListeners.push(...t)}_addListeners(t){t.forEach(([t,e])=>{this._elementRef.nativeElement.addEventListener(t,e,uw)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(t){if(this._isTooltipVisible()){const e=this._document.elementFromPoint(t.clientX,t.clientY),n=this._elementRef.nativeElement;e!==n&&!n.contains(e)&&this.hide()}}_disableNativeGesturesIfNecessary(){const t=this.touchGestures;if("off"!==t){const e=this._elementRef.nativeElement,n=e.style;("on"===t||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName)&&(n.userSelect=n.msUserSelect=n.webkitUserSelect=n.MozUserSelect="none"),("on"===t||!e.draggable)&&(n.webkitUserDrag="none"),n.touchAction="none",n.webkitTapHighlightColor="transparent"}}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(Up),ea(pc),ea(Tu),ea(Ep),ea(xg),ea(Ug),ea(void 0),ea(Fp),ea(void 0),ea(th))},t.\u0275dir=se({type:t,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),t})(),gw=(()=>{class t extends fw{constructor(t,e,n,i,r,s,o,a,l,c,u,h){super(t,e,n,i,r,s,o,a,l,c,u,h),this._tooltipComponent=bw}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(Up),ea(pc),ea(Tu),ea(Ep),ea(xg),ea(Ug),ea(hw),ea(Fp,8),ea(pw,8),ea(th))},t.\u0275dir=se({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[jo]}),t})(),mw=(()=>{class t{constructor(t){this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new A}show(t){clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._showTimeoutId=void 0,this._onShow(),this._markForCheck()},t)}hide(t){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._hideTimeoutId=void 0,this._markForCheck()},t)}afterHidden(){return this._onHide}isVisible(){return"visible"===this._visibility}ngOnDestroy(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const e=t.toState;"hidden"===e&&!this.isVisible()&&this._onHide.next(),("visible"===e||"hidden"===e)&&(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_onShow(){}}return t.\u0275fac=function(e){return new(e||t)(ea(nc))},t.\u0275dir=se({type:t}),t})(),bw=(()=>{class t extends mw{constructor(t,e){super(t),this._breakpointObserver=e,this._isHandset=this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)")}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(Y_))},t.\u0275cmp=Jt({type:t,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(t,e){2&t&&La("zoom","visible"===e._visibility?1:null)},features:[jo],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(t,e){if(1&t&&(ra(0,"div",0),fa("@state.start",function(){return e._animationStart()})("@state.done",function(t){return e._animationDone(t)}),Dc(1,"async"),Ja(2),sa()),2&t){let t;ja("mat-tooltip-handset",null==(t=Rc(1,5,e._isHandset))?null:t.matches),na("ngClass",e.tooltipClass)("@state",e._visibility),ws(2),tl(e.message)}},directives:[Oh],pipes:[$h],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[lw.tooltipState]},changeDetection:0}),t})(),yw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[dw],imports:[[qg,Wh,Wf,Wy],Wy,$p]}),t})();function vw(t,e,n,i){var r,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,n,i);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,n,o):r(e,n))||o);return s>3&&o&&Object.defineProperty(e,n,o),o}function _w(t,e){return function(n,i){e(n,i,t)}}function ww(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function xw(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(e){s(e)}}function a(t){try{l(i.throw(t))}catch(e){s(e)}}function l(t){t.done?r(t.value):function(t){return t instanceof n?t:new n(function(e){e(t)})}(t.value).then(o,a)}l((i=i.apply(t,e||[])).next())})}function Sw(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||e;return!!(n&&n.indexOf("Electron")>=0)}function Cw(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Sw()}const Ew="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",Ow=Cw();class Tw{constructor(t,e,n="sessionStorage"){this.storage=function(e){try{const t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(t){return null}}(n),this.id=t,this.config={},Object.assign(this.config,e),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){return this.config={},this.updateConfiguration(t)}updateConfiguration(t){if(Object.assign(this.config,t),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let t={};if(this.storage){const e=this.storage.getItem(this.id);t=e?JSON.parse(e):{}}return Object.assign(this.config,t),this}}function kw(t,e,n,i=600){const r=t.src.replace(/\(/g,"%28").replace(/\)/g,"%29");t.width>i&&(n=Math.min(n,i/t.width));const s=t.width*n,o=t.height*n,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const Pw={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Aw(t){return"string"==typeof t?Pw[t.toUpperCase()]||Pw.WHITE:t}function Mw(t,e){if(!t)throw new Error(e||"Assertion failed")}const Iw={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Dw=Iw.window||Iw.self||Iw.global,Rw=Iw.process||{};function Nw(){let t;if(Ow&&Dw.performance)t=Dw.performance.now();else if(Rw.hrtime){const e=Rw.hrtime();t=1e3*e[0]+e[1]/1e6}else t=Date.now();return t}console;const Lw={debug:Ow&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},jw={enabled:!0,level:0};function Fw(){}const Bw={},Vw={once:!0};function zw(t){for(const e in t)for(const n in t[e])return n||"untitled";return"empty"}let Uw=(()=>{class t{constructor({id:t}={id:""}){this.id=t,this.VERSION=Ew,this._startTs=Nw(),this._deltaTs=Nw(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Tw("__probe-".concat(this.id,"__"),jw),this.userData={},this.timeStamp("".concat(this.id," started")),function(t,e=["constructor"]){const n=Object.getPrototypeOf(t),i=Object.getOwnPropertyNames(n);for(const r of i)"function"==typeof t[r]&&(e.find(t=>r===t)||(t[r]=t[r].bind(t)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Nw()-this._startTs).toPrecision(10))}getDelta(){return Number((Nw()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,e){Mw(t,e)}warn(t){return this._getLogFunction(0,t,Lw.warn,arguments,Vw)}error(t){return this._getLogFunction(0,t,Lw.error,arguments)}deprecated(t,e){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(e,"` instead"))}removed(t,e){return this.error("`".concat(t,"` has been removed. Use `").concat(e,"` instead"))}probe(t,e){return this._getLogFunction(t,e,Lw.log,arguments,{time:!0,once:!0})}log(t,e){return this._getLogFunction(t,e,Lw.debug,arguments)}info(t,e){return this._getLogFunction(t,e,console.info,arguments)}once(t,e){return this._getLogFunction(t,e,Lw.debug||Lw.info,arguments,Vw)}table(t,e,n){return e?this._getLogFunction(t,e,console.table||Fw,n&&[n],{tag:zw(e)}):Fw}image({logLevel:t,priority:e,image:i,message:r="",scale:s=1}){return this._shouldLog(t||e)?Ow?function({image:t,message:e="",scale:n=1}){if("string"==typeof t){const i=new Image;return i.onload=()=>{const t=kw(i,e,n);console.log(...t)},i.src=t,Fw}const i=t.nodeName||"";if("img"===i.toLowerCase())return console.log(...kw(t,e,n)),Fw;if("canvas"===i.toLowerCase()){const i=new Image;return i.onload=()=>console.log(...kw(i,e,n)),i.src=t.toDataURL(),Fw}return Fw}({image:i,message:r,scale:s}):function({image:t,message:e="",scale:r=1}){let s=null;try{s=n(75307)}catch(i){}return s?()=>s(t,{fit:"box",width:"".concat(Math.round(80*r),"%")}).then(t=>console.log(t)):Fw}({image:i,message:r,scale:s}):Fw}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,e){this._storage.updateConfiguration({[t]:e})}time(t,e){return this._getLogFunction(t,e,console.time?console.time:console.info)}timeEnd(t,e){return this._getLogFunction(t,e,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,e){return this._getLogFunction(t,e,console.timeStamp||Fw)}group(t,e,n={collapsed:!1}){n=$w({logLevel:t,message:e,opts:n});const{collapsed:i}=n;return n.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}groupCollapsed(t,e,n={}){return this.group(t,e,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Fw)}withGroup(t,e,n){this.group(t,e)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=Hw(t)}_getLogFunction(t,e,n,i=[],r){if(this._shouldLog(t)){r=$w({logLevel:t,message:e,args:i,opts:r}),Mw(n=n||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=Nw();const s=r.tag||r.message;if(r.once){if(Bw[s])return Fw;Bw[s]=Nw()}return e=function(t,e,n){if("string"==typeof e){const i=n.time?function(t,e=8){const n=Math.max(e-t.length,0);return"".concat(" ".repeat(n)).concat(t)}(function(t){let e;return e=t<10?"".concat(t.toFixed(2),"ms"):t<100?"".concat(t.toFixed(1),"ms"):t<1e3?"".concat(t.toFixed(0),"ms"):"".concat((t/1e3).toFixed(2),"s"),e}(n.total)):"";e=function(t,e,n){return!Ow&&"string"==typeof t&&(e&&(e=Aw(e),t="\x1b[".concat(e,"m").concat(t,"\x1b[39m")),n&&(e=Aw(n),t="\x1b[".concat(n+10,"m").concat(t,"\x1b[49m"))),t}(e=n.time?"".concat(t,": ").concat(i," ").concat(e):"".concat(t,": ").concat(e),n.color,n.background)}return e}(this.id,r.message,r),n.bind(console,e,...r.args)}return Fw}}return t.VERSION=Ew,t})();function Hw(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return Mw(Number.isFinite(e)&&e>=0),e}function $w(t){const{logLevel:e,message:n}=t;t.logLevel=Hw(e);const i=t.args?Array.from(t.args):[];for(;i.length&&i.shift()!==n;);switch(t.args=i,typeof e){case"string":case"function":void 0!==n&&i.unshift(n),t.message=e;break;case"object":Object.assign(t,e)}"function"==typeof t.message&&(t.message=t.message());const r=typeof t.message;return Mw("string"===r||"object"===r),Object.assign(t,t.opts)}var Gw=new Uw({id:"deck"});const Ww={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Ww,"IDENTITY",{get:()=>Gw.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const qw={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},Yw={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},Xw=new Uw({id:"luma.gl"});function Kw(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}function Qw(t){return"undefined"!=typeof WebGLRenderingContext&&t instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&Number.isFinite(t._version))}function Zw(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&2===t._version)}function Jw(t){return Kw(Qw(t),"Invalid WebGLRenderingContext"),t}function tx(t){return Kw(Zw(t),"Requires WebGL2"),t}const ex={};const nx=function t(e){const n=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),e.reset_()},!0),this.reset_()};ix.prototype.VERTEX_ARRAY_BINDING_OES=34229,ix.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let t=0;tZw(t)?void 0:0,lx={3074:t=>Zw(t)?void 0:36064,35723:t=>Zw(t)?void 0:4352,35977:ax,32937:ax,36795:(t,e)=>{const n=Zw(t)?t.getExtension("EXT_disjoint_timer_query_webgl2"):t.getExtension("EXT_disjoint_timer_query");return n&&n.GPU_DISJOINT_EXT?e(n.GPU_DISJOINT_EXT):0},37445:(t,e)=>{const n=t.getExtension(ox);return e(n&&n.UNMASKED_VENDOR_WEBGL||7936)},37446:(t,e)=>{const n=t.getExtension(ox);return e(n&&n.UNMASKED_RENDERER_WEBGL||7937)},34047:(t,e)=>{const n=t.luma.extensions.EXT_texture_filter_anisotropic;return n?e(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:ax,35071:ax,37447:ax,36063:(t,e)=>{if(!Zw(t)){const n=t.getExtension(sx);return n?e(n.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:ax,35374:ax,35377:ax,34852:t=>{if(!Zw(t)){const e=t.getExtension(sx);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:t=>t.getExtension(rx)?2147483647:65535,33001:t=>t.getExtension(rx)?16777216:65535,33e3:t=>16777216,37157:ax,35373:ax,35657:ax,36183:ax,37137:ax,34045:ax,35978:ax,35979:ax,35968:ax,35376:ax,35375:ax,35659:ax,37154:ax,35371:ax,35658:ax,35076:ax,35077:ax,35380:ax},cx="ANGLE_instanced_arrays",ux={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{Kw(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[cx]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(t,e){Kw(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{Kw(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{Kw(!1)},deleteQuery:()=>{Kw(!1)},beginQuery:()=>{Kw(!1)},endQuery:()=>{},getQuery(t,e){return this.getQueryObject(t,e)},getQueryParameter(t,e){return this.getQueryObject(t,e)},getQueryObject:()=>{}}},hx={readBuffer:(t,e,n)=>{Zw(t)&&e(n)},getVertexAttrib:(t,e,n,i)=>{const{webgl2:r,ext:s}=function(t,e){return{webgl2:Zw(t),ext:t.getExtension("ANGLE_instanced_arrays")}}(t);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(n,i)},getProgramParameter:(t,e,n,i)=>{if(!Zw(t))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(n,i)},getInternalformatParameter:(t,e,n,i,r)=>{if(!Zw(t))switch(r){case 32937:return new Int32Array([0])}return t.getInternalformatParameter(n,i,r)},getTexParameter(t,e,n,i){switch(i){case 34046:const{extensions:e}=t.luma,n=e.EXT_texture_filter_anisotropic;i=n&&n.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(n,i)},getParameter:function(t,e,n){const i=lx[n],r="function"==typeof i?i(t,e,n):i;return void 0!==r?r:e(n)},hint:(t,e,n,i)=>e(n,i)};function dx(t,{extension:e,target:n,target2:i}){const r=ux[e];Kw(r);const{meta:s={}}=r,{suffix:o=""}=s,a=t.getExtension(e);for(const l of Object.keys(r)){const e=`${l}${o}`;let s=null;"meta"===l||"function"==typeof t[l]||(a&&"function"==typeof a[e]?s=(...t)=>a[e](...t):"function"==typeof r[l]&&(s=r[l].bind(n))),s&&(n[l]=s,i[l]=s)}}globalThis.polyfillContext=function(t){t.luma=t.luma||{};const{luma:e}=t;return e.polyfilled||(function(t){if("function"==typeof t.createVertexArray)return;const e=t.getSupportedExtensions;t.getSupportedExtensions=function(){const t=e.call(this)||[];return t.indexOf("OES_vertex_array_object")<0&&t.push("OES_vertex_array_object"),t};const n=t.getExtension;t.getExtension=function(e){return n.call(this,e)||("OES_vertex_array_object"!==e?null:(t.__OESVertexArrayObject||(this.__OESVertexArrayObject=new ix(this)),this.__OESVertexArrayObject))}}(t),function(t){t.luma.extensions={};const e=t.getSupportedExtensions()||[];for(const n of e)t.luma[n]=t.getExtension(n)}(t),function(t,e){for(const n of Object.getOwnPropertyNames(e))"overrides"!==n&&dx(t,{extension:n,target:t.luma,target2:t})}(t,ux),function(t,{target:e,target2:n}){Object.keys(hx).forEach(i=>{if("function"==typeof hx[i]){const r=t[i]?t[i].bind(t):()=>{},s=hx[i].bind(null,t,r);e[i]=s,n[i]=s}})}(t,{target:e,target2:t}),e.polyfilled=!0),t};const px={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},fx=(t,e,n)=>e?t.enable(n):t.disable(n),gx=(t,e,n)=>t.hint(n,e),mx=(t,e,n)=>t.pixelStorei(n,e);function bx(t){return Array.isArray(t)||ArrayBuffer.isView(t)}const yx={3042:fx,32773:(t,e)=>t.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(t,e)=>t.clearColor(...e),3107:(t,e)=>t.colorMask(...e),2884:fx,2885:(t,e)=>t.cullFace(e),2929:fx,2931:(t,e)=>t.clearDepth(e),2932:(t,e)=>t.depthFunc(e),2928:(t,e)=>t.depthRange(...e),2930:(t,e)=>t.depthMask(e),3024:fx,35723:gx,36006:(t,e)=>{const n=Zw(t)?36009:36160;return t.bindFramebuffer(n,e)},2886:(t,e)=>t.frontFace(e),33170:gx,2849:(t,e)=>t.lineWidth(e),32823:fx,32824:"polygonOffset",10752:"polygonOffset",35977:fx,32938:"sampleCoverage",32939:"sampleCoverage",3089:fx,3088:(t,e)=>t.scissor(...e),2960:fx,2961:(t,e)=>t.clearStencil(e),2968:(t,e)=>t.stencilMaskSeparate(1028,e),36005:(t,e)=>t.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(t,e)=>t.viewport(...e),3333:mx,3317:mx,37440:mx,37441:mx,37443:mx,3330:mx,3332:mx,3331:mx,36010:(t,e)=>t.bindFramebuffer(36008,e),3314:mx,32878:mx,3316:mx,3315:mx,32877:mx,framebuffer:(t,e)=>t.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(t,e)=>e?t.enable(3042):t.disable(3042),blendColor:(t,e)=>t.blendColor(...e),blendEquation:(t,e)=>{e=bx(e)?e:[e,e],t.blendEquationSeparate(...e)},blendFunc:(t,e)=>{e=bx(e)&&2===e.length?[...e,...e]:e,t.blendFuncSeparate(...e)},clearColor:(t,e)=>t.clearColor(...e),clearDepth:(t,e)=>t.clearDepth(e),clearStencil:(t,e)=>t.clearStencil(e),colorMask:(t,e)=>t.colorMask(...e),cull:(t,e)=>e?t.enable(2884):t.disable(2884),cullFace:(t,e)=>t.cullFace(e),depthTest:(t,e)=>e?t.enable(2929):t.disable(2929),depthFunc:(t,e)=>t.depthFunc(e),depthMask:(t,e)=>t.depthMask(e),depthRange:(t,e)=>t.depthRange(...e),dither:(t,e)=>e?t.enable(3024):t.disable(3024),derivativeHint:(t,e)=>{t.hint(35723,e)},frontFace:(t,e)=>t.frontFace(e),mipmapHint:(t,e)=>t.hint(33170,e),lineWidth:(t,e)=>t.lineWidth(e),polygonOffsetFill:(t,e)=>e?t.enable(32823):t.disable(32823),polygonOffset:(t,e)=>t.polygonOffset(...e),sampleCoverage:(t,e)=>t.sampleCoverage(...e),scissorTest:(t,e)=>e?t.enable(3089):t.disable(3089),scissor:(t,e)=>t.scissor(...e),stencilTest:(t,e)=>e?t.enable(2960):t.disable(2960),stencilMask:(t,e)=>{e=bx(e)?e:[e,e];const[n,i]=e;t.stencilMaskSeparate(1028,n),t.stencilMaskSeparate(1029,i)},stencilFunc:(t,e)=>{e=bx(e)&&3===e.length?[...e,...e]:e;const[n,i,r,s,o,a]=e;t.stencilFuncSeparate(1028,n,i,r),t.stencilFuncSeparate(1029,s,o,a)},stencilOp:(t,e)=>{e=bx(e)&&3===e.length?[...e,...e]:e;const[n,i,r,s,o,a]=e;t.stencilOpSeparate(1028,n,i,r),t.stencilOpSeparate(1029,s,o,a)},viewport:(t,e)=>t.viewport(...e)};function vx(t,e,n){return void 0!==e[t]?e[t]:n[t]}const _x={blendEquation:(t,e,n)=>t.blendEquationSeparate(vx(32777,e,n),vx(34877,e,n)),blendFunc:(t,e,n)=>t.blendFuncSeparate(vx(32969,e,n),vx(32968,e,n),vx(32971,e,n),vx(32970,e,n)),polygonOffset:(t,e,n)=>t.polygonOffset(vx(32824,e,n),vx(10752,e,n)),sampleCoverage:(t,e,n)=>t.sampleCoverage(vx(32938,e,n),vx(32939,e,n)),stencilFuncFront:(t,e,n)=>t.stencilFuncSeparate(1028,vx(2962,e,n),vx(2967,e,n),vx(2963,e,n)),stencilFuncBack:(t,e,n)=>t.stencilFuncSeparate(1029,vx(34816,e,n),vx(36003,e,n),vx(36004,e,n)),stencilOpFront:(t,e,n)=>t.stencilOpSeparate(1028,vx(2964,e,n),vx(2965,e,n),vx(2966,e,n)),stencilOpBack:(t,e,n)=>t.stencilOpSeparate(1029,vx(34817,e,n),vx(34818,e,n),vx(34819,e,n))},wx={enable:(t,e)=>t({[e]:!0}),disable:(t,e)=>t({[e]:!1}),pixelStorei:(t,e,n)=>t({[e]:n}),hint:(t,e,n)=>t({[e]:n}),bindFramebuffer:(t,e,n)=>{switch(e){case 36160:return t({36006:n,36010:n});case 36009:return t({36006:n});case 36008:return t({36010:n});default:return null}},blendColor:(t,e,n,i,r)=>t({32773:new Float32Array([e,n,i,r])}),blendEquation:(t,e)=>t({32777:e,34877:e}),blendEquationSeparate:(t,e,n)=>t({32777:e,34877:n}),blendFunc:(t,e,n)=>t({32969:e,32968:n,32971:e,32970:n}),blendFuncSeparate:(t,e,n,i,r)=>t({32969:e,32968:n,32971:i,32970:r}),clearColor:(t,e,n,i,r)=>t({3106:new Float32Array([e,n,i,r])}),clearDepth:(t,e)=>t({2931:e}),clearStencil:(t,e)=>t({2961:e}),colorMask:(t,e,n,i,r)=>t({3107:[e,n,i,r]}),cullFace:(t,e)=>t({2885:e}),depthFunc:(t,e)=>t({2932:e}),depthRange:(t,e,n)=>t({2928:new Float32Array([e,n])}),depthMask:(t,e)=>t({2930:e}),frontFace:(t,e)=>t({2886:e}),lineWidth:(t,e)=>t({2849:e}),polygonOffset:(t,e,n)=>t({32824:e,10752:n}),sampleCoverage:(t,e,n)=>t({32938:e,32939:n}),scissor:(t,e,n,i,r)=>t({3088:new Int32Array([e,n,i,r])}),stencilMask:(t,e)=>t({2968:e,36005:e}),stencilMaskSeparate:(t,e,n)=>t({[1028===e?2968:36005]:n}),stencilFunc:(t,e,n,i)=>t({2962:e,2967:n,2963:i,34816:e,36003:n,36004:i}),stencilFuncSeparate:(t,e,n,i,r)=>t({[1028===e?2962:34816]:n,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(t,e,n,i)=>t({2964:e,2965:n,2966:i,34817:e,34818:n,34819:i}),stencilOpSeparate:(t,e,n,i,r)=>t({[1028===e?2964:34817]:n,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(t,e,n,i,r)=>t({2978:[e,n,i,r]})},xx=(t,e)=>t.isEnabled(e),Sx={3042:xx,2884:xx,2929:xx,3024:xx,32823:xx,32926:xx,32928:xx,3089:xx,2960:xx,35977:xx};function Cx(t){for(const e in t)return!1;return!0}function Ex(t,e){if(t===e)return!0;const n=Array.isArray(t)||ArrayBuffer.isView(t),i=Array.isArray(e)||ArrayBuffer.isView(e);if(n&&i&&t.length===e.length){for(let n=0;n{})}={}){this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=e?function(t,e){if("number"==typeof(e=e||px)){const n=e,i=Sx[n];return i?i(t,n):t.getParameter(n)}const n=Array.isArray(e)?e:Object.keys(e),i={};for(const r of n){const e=Sx[r];i[r]=e?e(t,Number(r)):t.getParameter(Number(r))}return i}(t):Object.assign({},px),this.log=n,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(t={}){this.stateStack.push({})}pop(){Kw(this.stateStack.length>0),Mx(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(t){let e,n=!1;const i=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const r in t){Kw(void 0!==r);const s=t[r],o=this.cache[r];Ex(s,o)||(n=!0,e=o,i&&!(r in i)&&(i[r]=o),this.cache[r]=s)}return{valueChanged:n,oldValue:e}}}function Px(t,e={}){const{enable:n=!0,copyState:i}=e;if(Kw(void 0!==i),!t.state){const{polyfillContext:e}=globalThis;e&&e(t),t.state=new kx(t,{copyState:i}),function(t){const e=t.useProgram.bind(t);t.useProgram=function(n){t.state.program!==n&&(e(n),t.state.program=n)}}(t);for(const n in wx)Tx(t,n,wx[n]);Ox(t,"getParameter"),Ox(t,"isEnabled")}return t.state.enable=n,t}function Ax(t){Kw(t.state),t.state.pop()}function Mx(t,e){if(Kw(Qw(t),"setParameters requires a WebGL context"),Cx(e))return;const n={};for(const r in e){const i=Number(r),s=yx[r];s&&("string"==typeof s?n[s]=!0:s(t,e[r],i))}const i=t.state&&t.state.cache;if(i)for(const r in n)_x[r](t,e,i)}function Ix(t,e,n){if(Cx(e))return n(t);const{nocatch:i=!0}=e;let r;if(function(t){t.state||Px(t,{copyState:!1}),t.state.push()}(t),Mx(t,e),i)r=n(t),Ax(t);else try{r=n(t)}finally{Ax(t)}return r}function Dx(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function Rx(t){const{luma:e}=t;if(t.canvas&&e){const{clientWidth:n}=e.canvasSizeInfo;return n?t.drawingBufferWidth/n:1}return 1}function Nx(t,e,n=!0){return function(t,e,n,i,r){const s=Lx(t[0],e,n);let o=jx(t[1],e,i,r),a=Lx(t[0]+1,e,n);const l=a===n-1?a:a-1;let c;return a=jx(t[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,Rx(t),t.drawingBufferWidth,t.drawingBufferHeight,n)}function Lx(t,e,n){return Math.min(Math.round(t*e),n-1)}function jx(t,e,n,i){return i?Math.max(0,n-1-Math.round(t*e)):Math.min(Math.round(t*e),n-1)}const Fx=Dx(),Bx=Fx&&"undefined"!=typeof document,Vx={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function zx(t={}){Kw(Fx,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),t=Object.assign({},Vx,t);const{width:e,height:n}=t;function i(e){if(t.throwOnError)throw new Error(e);return console.error(e),null}let r;t.onError=i;const{canvas:s}=t,o=function({canvas:t,width:e=800,height:n=600,onError:i}){let r;return"string"==typeof t?(Bx&&"complete"===document.readyState||i(`createGLContext called on canvas '${t}' before page was loaded`),r=document.getElementById(t)):t?r=t:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(n)?`${n}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:n,onError:i});return r=function(t,e){const{onError:n}=e;let i=null;const r=t=>i=t.statusMessage||i;t.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||t.getContext("webgl2",e),a=a||t.getContext("experimental-webgl2",e)),s&&(a=a||t.getContext("webgl",e),a=a||t.getContext("experimental-webgl",e)),t.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&t.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&t.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):n(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,t),r?(r=Ux(r,t),function(t){const e=Zw(t)?"WebGL2":"WebGL1",n=function(t){const e=t.getParameter(7936),n=t.getParameter(7937),i=t.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&t.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&t.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||n,vendorMasked:e,rendererMasked:n,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t);Xw.info(1,`${e}${t.debug?" debug":""} context ${n?`(${n.vendor},${n.renderer})`:""}`)()}(r),r):null}function Ux(t,e={}){if(!t||t._instrumented)return t;t._version=t._version||function(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext?2:1}(t),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{},e=Object.assign({},Vx,e);const{manageState:n,debug:i}=e;return n&&Px(t,{copyState:!1,log:(...t)=>Xw.log(1,...t)()}),Fx&&i&&(globalThis.makeDebugContext?(t=globalThis.makeDebugContext(t,e),Xw.level=Math.max(Xw.level,1)):Xw.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),t._instrumented=!0,t}function Hx(){let t;if("undefined"!=typeof window&&window.performance)t=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();t=1e3*e[0]+e[1]/1e6}else t=Date.now();return t}class $x{constructor(t,e){this.name=t,this.type=e,this.sampleSize=1,this.reset()}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=Hx(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Hx()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class Gx{constructor({id:t,stats:e}){this.id=t,this.stats={},this._initializeStats(e),Object.seal(this)}get(t,e="count"){return this._getOrCreate({name:t,type:e})}get size(){return Object.keys(this.stats).length}reset(){for(const t in this.stats)this.stats[t].reset();return this}forEach(t){for(const e in this.stats)t(this.stats[e])}getTable(){const t={};return this.forEach(e=>{t[e.name]={time:e.time||0,count:e.count||0,average:e.getAverageTime()||0,hz:e.getHz()||0}}),t}_initializeStats(t=[]){t.forEach(t=>this._getOrCreate(t))}_getOrCreate(t){if(!t||!t.name)return null;const{name:e,type:n}=t;return this.stats[e]||(this.stats[e]=t instanceof $x?t:new $x(e,n)),this.stats[e]}}const Wx="8.5.12",qx=new class{constructor(){this.stats=new Map}get(t){return this.stats.has(t)||this.stats.set(t,new Gx({id:t})),this.stats.get(t)}};if(globalThis.luma&&globalThis.luma.VERSION!==Wx)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${Wx}`);function Yx(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}function Xx(t,e){if("string"!=typeof e)return e;const n=Number(e);if(!isNaN(n))return n;const i=t[e=e.replace(/^.*\./,"")];return Yx(void 0!==i,`Accessing undefined constant GL.${e}`),i}function Kx(t,e){e=Number(e);for(const n in t)if(t[n]===e)return`GL.${n}`;return String(e)}globalThis.luma||(Dx()&&Xw.log(1,`luma.gl ${Wx} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:Wx,version:Wx,log:Xw,stats:qx,globals:{modules:{},nodeIO:{}}}),globalThis;const Qx={};function Zx(t="id"){return Qx[t]=Qx[t]||1,`${t}-${Qx[t]++}`}function Jx(t){return Yx("number"==typeof t,"Input must be a number"),t&&0==(t&t-1)}function tS(t){let e=!0;for(const n in t){e=!1;break}return e}function eS(t,e,n,i){const r=`See luma.gl ${n} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(t);i.forEach(t=>{s.methodName||(s[t]=()=>{throw Xw.removed(`Calling removed method ${e}.${t}: `,r)(),new Error(t)})})}const nS="Resource subclass must define virtual methods";class iS{get[Symbol.toStringTag](){return"Resource"}constructor(t,e={}){Jw(t);const{id:n,userData:i={}}=e;this.gl=t,this.gl2=t,this.id=n||Zx(this[Symbol.toStringTag]),this.userData=i,this._bound=!1,this._handle=e.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:t=!1}={}){const e=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,e&&t&&e.filter(Boolean).forEach(t=>t.delete()),this}bind(t=this.handle){if("function"!=typeof t)return this._bindHandle(t),this;let e;return this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e}unbind(){this.bind(null)}getParameter(t,e={}){Yx(t=Xx(this.gl,t));const n=(this.constructor.PARAMETERS||{})[t];if(n){const t=Zw(this.gl);if("webgl2"in n&&!t||"extension"in n&&!this.gl.getExtension(n.extension)){const e=n.webgl1,i="webgl2"in n?n.webgl2:n.webgl1;return t?i:e}}return this._getParameter(t,e)}getParameters(t={}){const{parameters:e,keys:n}=t,i=this.constructor.PARAMETERS||{},r=Zw(this.gl),s={},o=e||Object.keys(i);for(const a of o){const e=i[a];if(e&&(!("webgl2"in e)||r)&&(!("extension"in e)||this.gl.getExtension(e.extension))){const i=n?Kx(this.gl,a):a;s[i]=this.getParameter(a,t),n&&"GLenum"===e.type&&(s[i]=Kx(this.gl,s[i]))}}return s}setParameter(t,e){Yx(t=Xx(this.gl,t));const n=(this.constructor.PARAMETERS||{})[t];if(n){const t=Zw(this.gl);if("webgl2"in n&&!t||"extension"in n&&!this.gl.getExtension(n.extension))throw new Error("Parameter not available on this platform");"GLenum"===n.type&&(e=Xx(e))}return this._setParameter(t,e),this}setParameters(t){for(const e in t)this.setParameter(e,t[e]);return this}stubRemovedMethods(t,e,n){return eS(this,t,e,n)}initialize(t){}_createHandle(){throw new Error(nS)}_deleteHandle(){throw new Error(nS)}_bindHandle(t){throw new Error(nS)}_getOptsFromHandle(){throw new Error(nS)}_getParameter(t,e){throw new Error(nS)}_setParameter(t,e){throw new Error(nS)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const t=this[Symbol.toStringTag],e=qx.get("Resource Counts");e.get("Resources Created").incrementCount(),e.get(`${t}s Created`).incrementCount(),e.get(`${t}s Active`).incrementCount()}_removeStats(){const t=this[Symbol.toStringTag];qx.get("Resource Counts").get(`${t}s Active`).decrementCount()}_trackAllocatedMemory(t,e=this[Symbol.toStringTag]){const n=qx.get("Memory Usage");n.get("GPU Memory").addCount(t),n.get(`${e} Memory`).addCount(t),this.byteLength=t}_trackDeallocatedMemory(t=this[Symbol.toStringTag]){const e=qx.get("Memory Usage");e.get("GPU Memory").subtractCount(this.byteLength),e.get(`${t} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function rS(t){switch(ArrayBuffer.isView(t)?t.constructor:t){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function sS(t,{clamped:e=!0}={}){switch(t){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function oS({data:t,width:e,height:n}){const i=Math.round(e/2),r=Math.round(n/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return uS.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return uS.getBytesPerVertex(this)}_assign(t={}){return void 0!==(t=aS("Accessor",t,cS)).type&&(this.type=t.type,(5124===t.type||5125===t.type)&&(this.integer=!0)),void 0!==t.size&&(this.size=t.size),void 0!==t.offset&&(this.offset=t.offset),void 0!==t.stride&&(this.stride=t.stride),void 0!==t.normalized&&(this.normalized=t.normalized),void 0!==t.integer&&(this.integer=t.integer),void 0!==t.divisor&&(this.divisor=t.divisor),void 0!==t.buffer&&(this.buffer=t.buffer),void 0!==t.index&&(this.index="boolean"==typeof t.index?t.index?1:0:t.index),void 0!==t.instanced&&(this.divisor=t.instanced?1:0),void 0!==t.isInstanced&&(this.divisor=t.isInstanced?1:0),this}}const hS={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},dS={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:hS},pS={removedProps:hS};class fS extends iS{get[Symbol.toStringTag](){return"Buffer"}constructor(t,e={}){super(t,e),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=e.target||(this.gl.webgl2?36662:34962),this.initialize(e),Object.seal(this)}getElementCount(t=this.accessor){return Math.round(this.byteLength/uS.getBytesPerElement(t))}getVertexCount(t=this.accessor){return Math.round(this.byteLength/uS.getBytesPerVertex(t))}initialize(t={}){return ArrayBuffer.isView(t)&&(t={data:t}),Number.isFinite(t)&&(t={byteLength:t}),t=aS("Buffer",t,dS),this.usage=t.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},t,t.accessor)),t.data?this._setData(t.data,t.offset,t.byteLength):this._setByteLength(t.byteLength||0),this}setProps(t){return"accessor"in(t=aS("Buffer",t,pS))&&this.setAccessor(t.accessor),this}setAccessor(t){return delete(t=Object.assign({},t)).buffer,this.accessor=new uS(t),this}reallocate(t){return t>this.byteLength?(this._setByteLength(t),!0):(this.bytesUsed=t,!1)}setData(t){return this.initialize(t)}subData(t){ArrayBuffer.isView(t)&&(t={data:t});const{data:e,offset:n=0,srcOffset:i=0}=t,r=t.byteLength||t.length;Yx(e);const s=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(s,this.handle),0!==i||void 0!==r?(tx(this.gl),this.gl.bufferSubData(this.target,n,e,i,r)):this.gl.bufferSubData(s,n,e),this.gl.bindBuffer(s,null),this.debugData=null,this._inferType(e),this}copyData({sourceBuffer:t,readOffset:e=0,writeOffset:n=0,size:i}){const{gl:r}=this;return tx(r),r.bindBuffer(36662,t.handle),r.bindBuffer(36663,this.handle),r.copyBufferSubData(36662,36663,e,n,i),r.bindBuffer(36662,null),r.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:t=null,srcByteOffset:e=0,dstOffset:n=0,length:i=0}={}){tx(this.gl);const r=sS(this.accessor.type||5126,{clamped:!1}),s=this._getAvailableElementCount(e),o=n;let a,l;t?(l=t.length,a=l-o):(a=Math.min(s,i||s),l=o+a);const c=Math.min(s,a);return Yx((i=i||c)<=c),t=t||new r(l),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,e,t,n,i),this.gl.bindBuffer(36662,null),t}bind({target:t=this.target,index:e=this.accessor&&this.accessor.index,offset:n=0,size:i}={}){return 35345===t||35982===t?void 0!==i?this.gl.bindBufferRange(t,e,this.handle,n,i):(Yx(0===n),this.gl.bindBufferBase(t,e,this.handle)):this.gl.bindBuffer(t,this.handle),this}unbind({target:t=this.target,index:e=this.accessor&&this.accessor.index}={}){return 35345===t||35982===t?this.gl.bindBufferBase(t,e,null):this.gl.bindBuffer(t,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(t,e=0,n=t.byteLength+e){Yx(ArrayBuffer.isView(t)),this._trackDeallocatedMemory();const i=this._getTarget();this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,this.usage),this.gl.bufferSubData(i,e,t),this.gl.bindBuffer(i,null),this.debugData=t.slice(0,10),this.bytesUsed=n,this._trackAllocatedMemory(n);const r=rS(t);return Yx(r),this.setAccessor(new uS(this.accessor,{type:r})),this}_setByteLength(t,e=this.usage){Yx(t>=0),this._trackDeallocatedMemory();let n=t;0===t&&(n=new Float32Array(0));const i=this._getTarget();return this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,e),this.gl.bindBuffer(i,null),this.usage=e,this.debugData=null,this.bytesUsed=t,this._trackAllocatedMemory(t),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(t){const e=t/sS(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-e}_inferType(t){this.accessor.type||this.setAccessor(new uS(this.accessor,{type:rS(t)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(t){this.gl.bindBuffer(this.target,this.handle);const e=this.gl.getBufferParameter(this.target,t);return this.gl.bindBuffer(this.target,null),e}get type(){return Xw.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return Xw.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(t){return Xw.deprecated("setByteLength","reallocate")(),this.reallocate(t)}updateAccessor(t){return Xw.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new uS(this.accessor,t),this}}const gS={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},mS={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},bS={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},yS=[9729,9728],vS=globalThis.WebGLBuffer||function(){};class _S extends iS{get[Symbol.toStringTag](){return"Texture"}static isSupported(t,e={}){const{format:n,linearFiltering:i}=e;let r=!0;return n&&(r=r&&function(t,e){const n=gS[e];if(!n)return!1;if(void 0===n.gl1&&void 0===n.gl2)return!0;const i=Zw(t)&&n.gl2||n.gl1;return"string"==typeof i?t.getExtension(i):i}(t,n),r=r&&(!i||function(t,e){const n=gS[e];switch(n&&n.types[0]){case 5126:return t.getExtension("OES_texture_float_linear");case 5131:return t.getExtension("OES_texture_half_float_linear");default:return!0}}(t,n))),r}constructor(t,e){const{id:n=Zx("texture"),handle:i,target:r}=e;super(t,{id:n,handle:i}),this.target=r,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(t={}){let e=t.data;if(e instanceof Promise)return e.then(e=>this.initialize(Object.assign({},t,{pixels:e,data:e}))),this;const n="undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement;if(n&&e.readyStatethis.initialize(t)),this;const{pixels:i=null,format:r=6408,border:s=0,recreate:o=!1,parameters:a={},pixelStore:l={},textureUnit:c}=t;e||(e=i);let{width:u,height:h,dataFormat:d,type:p,compressed:f=!1,mipmaps:g=!0}=t;const{depth:m=0}=t;return({width:u,height:h,compressed:f,dataFormat:d,type:p}=this._deduceParameters({format:r,type:p,dataFormat:d,compressed:f,data:e,width:u,height:h})),this.width=u,this.height=h,this.depth=m,this.format=r,this.type=p,this.dataFormat=d,this.border=s,this.textureUnit=c,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),g&&this._isNPOT()&&(Xw.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),g=!1,this._updateForNPOT(a)),this.mipmaps=g,this.setImageData({data:e,width:u,height:h,depth:m,format:r,type:p,dataFormat:d,border:s,mipmaps:g,parameters:l,compressed:f}),g&&this.generateMipmap(),this.setParameters(a),o&&(this.data=e),n&&(this._video={video:e,parameters:a,lastTime:e.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?e.currentTime:-1}),this}update(){if(this._video){const{video:t,parameters:e,lastTime:n}=this._video;if(n===t.currentTime||t.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(t){this._trackDeallocatedMemory("Texture");const{target:e=this.target,pixels:n=null,level:i=0,format:r=this.format,border:s=this.border,offset:o=0,parameters:a={}}=t;let{data:l=null,type:c=this.type,width:u=this.width,height:h=this.height,dataFormat:d=this.dataFormat,compressed:p=!1}=t;l||(l=n),({type:c,dataFormat:d,compressed:p,width:u,height:h}=this._deduceParameters({format:r,type:c,dataFormat:d,compressed:p,data:l,width:u,height:h}));const{gl:f}=this;f.bindTexture(this.target,this.handle);let g=null;({data:l,dataType:g}=this._getDataType({data:l,compressed:p}));let m,b=0;return Ix(this.gl,a,()=>{switch(g){case"null":f.texImage2D(e,i,r,u,h,s,d,c,l);break;case"typed-array":f.texImage2D(e,i,r,u,h,s,d,c,l,o);break;case"buffer":m=tx(f),m.bindBuffer(35052,l.handle||l),m.texImage2D(e,i,r,u,h,s,d,c,o),m.bindBuffer(35052,null);break;case"browser-object":Zw(f)?f.texImage2D(e,i,r,u,h,s,d,c,l):f.texImage2D(e,i,r,d,c,l);break;case"compressed":for(const[t,n]of l.entries())f.compressedTexImage2D(e,t,n.format,n.width,n.height,s,n.data),b+=n.levelSize;break;default:Yx(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===g?b:l&&l.byteLength?l.byteLength:this.width*this.height*(mS[this.dataFormat]||4)*(bS[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:t=this.target,pixels:e=null,data:n=null,x:i=0,y:r=0,width:s=this.width,height:o=this.height,level:a=0,format:l=this.format,type:c=this.type,dataFormat:u=this.dataFormat,compressed:h=!1,offset:d=0,border:p=this.border,parameters:f={}}){if(({type:c,dataFormat:u,compressed:h,width:s,height:o}=this._deduceParameters({format:l,type:c,dataFormat:u,compressed:h,data:n,width:s,height:o})),Yx(0===this.depth,"texSubImage not supported for 3D textures"),n||(n=e),n&&n.data){const t=n;n=t.data,s=t.shape[0],o=t.shape[1]}n instanceof fS&&(n=n.handle),this.gl.bindTexture(this.target,this.handle),Ix(this.gl,f,()=>{if(h)this.gl.compressedTexSubImage2D(t,a,i,r,s,o,l,n);else if(null===n)this.gl.texSubImage2D(t,a,i,r,s,o,u,c,null);else if(ArrayBuffer.isView(n))this.gl.texSubImage2D(t,a,i,r,s,o,u,c,n,d);else if(n instanceof vS){const e=tx(this.gl);e.bindBuffer(35052,n),e.texSubImage2D(t,a,i,r,s,o,u,c,d),e.bindBuffer(35052,null)}else Zw(this.gl)?tx(this.gl).texSubImage2D(t,a,i,r,s,o,u,c,n):this.gl.texSubImage2D(t,a,i,r,u,c,n)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(t={}){return Xw.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(t=this.textureUnit){const{gl:e}=this;return void 0!==t&&(this.textureUnit=t,e.activeTexture(33984+t)),e.bindTexture(this.target,this.handle),t}unbind(t=this.textureUnit){const{gl:e}=this;return void 0!==t&&(this.textureUnit=t,e.activeTexture(33984+t)),e.bindTexture(this.target,null),t}_getDataType({data:t,compressed:e=!1}){return e?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof fS?{data:t.handle,dataType:"buffer"}:t instanceof vS?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}_deduceParameters(t){const{format:e,data:n}=t;let{width:i,height:r,dataFormat:s,type:o,compressed:a}=t;const l=gS[e];return s=s||l&&l.dataFormat,o=o||l&&l.types[0],a=a||l&&l.compressed,({width:i,height:r}=this._deduceImageSize(n,i,r)),{dataFormat:s,type:o,compressed:a,width:i,height:r,format:e,data:n}}_deduceImageSize(t,e,n){let i;return i="undefined"!=typeof ImageData&&t instanceof ImageData?{width:t.width,height:t.height}:"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement?{width:t.naturalWidth,height:t.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?{width:t.width,height:t.height}:"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement?{width:t.videoWidth,height:t.videoHeight}:t?{width:e,height:n}:{width:e>=0?e:1,height:n>=0?n:1},Yx(i,"Could not deduced texture size"),Yx(void 0===e||i.width===e,"Deduced texture width does not match supplied width"),Yx(void 0===n||i.height===n,"Deduced texture height does not match supplied height"),i}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(t){switch(t){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const e=this.gl.getTexParameter(this.target,t);return this.gl.bindTexture(this.target,null),e}}_setParameter(t,e){switch(this.gl.bindTexture(this.target,this.handle),e=this._getNPOTParam(t,e),t){case 33082:case 33083:this.gl.texParameterf(this.handle,t,e);break;case 4096:case 4097:Yx(!1);break;default:this.gl.texParameteri(this.target,t,e)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Zw(this.gl)||!this.width||!this.height||Jx(this.width)&&Jx(this.height))}_updateForNPOT(t){void 0===t[this.gl.TEXTURE_MIN_FILTER]&&(t[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===t[this.gl.TEXTURE_WRAP_S]&&(t[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===t[this.gl.TEXTURE_WRAP_T]&&(t[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(t,e){if(this._isNPOT())switch(t){case 10241:-1===yS.indexOf(e)&&(e=9729);break;case 10242:case 10243:33071!==e&&(e=33071)}return e}}function wS(t,e){return Yx("string"==typeof t),t=""+t,new Promise((n,i)=>{try{const r=new Image;r.onload=()=>n(r),r.onerror=()=>i(new Error(`Could not load image ${t}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=t}catch(r){i(r)}})}class xS extends _S{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(t,e){return _S.isSupported(t,e)}constructor(t,e={}){Jw(t),(e instanceof Promise||"string"==typeof e)&&(e={data:e}),"string"==typeof e.data&&(e=Object.assign({},e,{data:wS(e.data)})),super(t,Object.assign({},e,{target:3553})),this.initialize(e),Object.seal(this)}}const SS="EXT_color_buffer_float";var CS={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:SS,bpp:2},33327:{gl2:SS,bpp:4},34842:{gl2:SS,bpp:8},33326:{gl2:SS,bpp:4},33328:{gl2:SS,bpp:8},34836:{gl2:SS,bpp:16},35898:{gl2:SS,bpp:4}};class ES extends iS{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(t,{format:e}={format:null}){return!e||function(t,e,n){const i=n[e];if(!i)return!1;const r=Zw(t)&&i.gl2||i.gl1;return"string"==typeof r?t.getExtension(r):r}(t,e,CS)}static getSamplesForFormat(t,{format:e}){return t.getInternalformatParameter(36161,e,32937)}constructor(t,e={}){super(t,e),this.initialize(e),Object.seal(this)}initialize({format:t,width:e=1,height:n=1,samples:i=0}){return Yx(t,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==i&&Zw(this.gl)?this.gl.renderbufferStorageMultisample(36161,i,t,e,n):this.gl.renderbufferStorage(36161,t,e,n),this.format=t,this.width=e,this.height=n,this.samples=i,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*CS[this.format].bpp),this}resize({width:t,height:e}){return t!==this.width||e!==this.height?this.initialize({width:t,height:e,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(t){this.gl.bindRenderbuffer(36161,t)}_syncHandle(t){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(t){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,t)}}const OS="clear: bad arguments";function TS(t,{framebuffer:e=null,color:n=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;n&&(o|=16384,!0!==n&&(s.clearColor=n)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),Yx(0!==o,OS),Ix(t,s,()=>{t.clear(o)})}function kS(t,e,n,i,r,s,o){try{var a=t[s](o),l=a.value}catch(c){return void n(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function PS(t){return function(){var e=this,n=arguments;return new Promise(function(i,r){var s=t.apply(e,n);function o(t){kS(s,i,r,o,a,"next",t)}function a(t){kS(s,i,r,o,a,"throw",t)}o(void 0)})}}const AS=[34069,34070,34071,34072,34073,34074];let MS=(()=>{class t extends _S{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,e={}){Jw(t),super(t,Object.assign({},e,{target:34067})),this.initialize(e),Object.seal(this)}initialize(t={}){const{mipmaps:e=!0,parameters:n={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,e&&this.generateMipmap(t),this.setParameters(n)}),this}subImage({face:t,data:e,x:n=0,y:i=0,mipmapLevel:r=0}){return this._subImage({target:t,data:e,x:n,y:i,mipmapLevel:r})}setCubeMapImageData({width:t,height:e,pixels:n,data:i,border:r=0,format:s=6408,type:o=5121}){var a=this;return PS(function*(){const{gl:l}=a,c=n||i,u=yield Promise.all(AS.map(t=>{const e=c[t];return Promise.all(Array.isArray(e)?e:[e])}));a.bind(),AS.forEach((n,i)=>{u[i].length>1&&!1!==a.opts.mipmaps&&Xw.warn(`${a.id} has mipmap and multiple LODs.`)(),u[i].forEach((i,a)=>{t&&e?l.texImage2D(n,a,s,t,e,r,s,o,i):l.texImage2D(n,a,s,s,o,i)})}),a.unbind()})()}setImageDataForFace(t){const{face:e,width:n,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}=t,{gl:c}=this,u=r||s;return this.bind(),u instanceof Promise?u.then(n=>this.setImageDataForFace(Object.assign({},t,{face:e,data:n,pixels:n}))):this.width||this.height?c.texImage2D(e,0,a,n,i,o,a,l,u):c.texImage2D(e,0,a,a,l,u),this}}return t.FACES=AS,t})();class IS extends _S{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(t){return Zw(t)}constructor(t,e={}){tx(t),super(t,e=Object.assign({depth:1},e,{target:32879,unpackFlipY:!1})),this.initialize(e),Object.seal(this)}setImageData({level:t=0,dataFormat:e=6408,width:n,height:i,depth:r=1,border:s=0,format:o,type:a=5121,offset:l=0,data:c,parameters:u={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),Ix(this.gl,u,()=>{ArrayBuffer.isView(c)&&this.gl.texImage3D(this.target,t,e,n,i,r,s,o,a,c),c instanceof fS&&(this.gl.bindBuffer(35052,c.handle),this.gl.texImage3D(this.target,t,e,n,i,r,s,o,a,l))}),this._trackAllocatedMemory(c&&c.byteLength?c.byteLength:this.width*this.height*this.depth*(mS[this.dataFormat]||4)*(bS[this.type]||1),"Texture"),this.loaded=!0,this}}function DS(t,e){Yx(t instanceof xS||t instanceof MS||t instanceof IS);const n=t.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=t;return new n(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function RS(t,e){const{gl:n,width:i,height:r,id:s}=t;return new BS(n,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:t}}))}function NS(t,e={}){const{sourceX:n=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=jS(t);Yx(u);const{gl:d,handle:p,attachments:f}=u;a=a||u.width,l=l||u.height,36064===s&&null===p&&(s=1028),Yx(f[s]),c=c||f[s].type,o=function(t,e,n,i,r){if(t)return t;return new(sS(e=e||5121,{clamped:!1}))(i*r*function(t){switch(t){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return Yx(!1),0}}(n))}(o,c,r,a,l),c=c||rS(o);const g=d.bindFramebuffer(36160,p);return d.readPixels(n,i,a,l,r,c,o),d.bindFramebuffer(36160,g||null),h&&u.delete(),o}function LS(t,{sourceAttachment:e=36064,targetMaxHeight:n=Number.MAX_SAFE_INTEGER}={}){let i=NS(t,{sourceAttachment:e}),{width:r,height:s}=t;for(;s>n;)({data:i,width:r,height:s}=oS({data:i,width:r,height:s}));!function({data:t,width:e,height:n,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&e>=0,"Width and height need to be integers"),this.width=t,this.height=e,n)for(const c in n){const i=n[c];(Array.isArray(i)?i[0]:i).resize({width:t,height:e})}else n=this._createDefaultAttachments(i,r,s,t,e);this.update({clearAttachments:!0,attachments:n,readBuffer:a,drawBuffers:l}),n&&o&&this.checkStatus()}delete(){for(const t of this.ownResources)t.delete();return super.delete(),this}update({attachments:t={},readBuffer:e,drawBuffers:n,clearAttachments:i=!1,resizeAttachments:r=!0}){this.attach(t,{clearAttachments:i,resizeAttachments:r});const{gl:s}=this,o=s.bindFramebuffer(36160,this.handle);return e&&this._setReadBuffer(e),n&&this._setDrawBuffers(n),s.bindFramebuffer(36160,o||null),this}resize(t={}){let{width:e,height:n}=t;if(null===this.handle)return Yx(void 0===e&&void 0===n),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===e&&(e=this.gl.drawingBufferWidth),void 0===n&&(n=this.gl.drawingBufferHeight),e!==this.width&&n!==this.height&&Xw.log(2,`Resizing framebuffer ${this.id} to ${e}x${n}`)();for(const i in this.attachments)this.attachments[i].resize({width:e,height:n});return this.width=e,this.height=n,this}attach(t,{clearAttachments:e=!1,resizeAttachments:n=!0}={}){const i={};e&&Object.keys(this.attachments).forEach(t=>{i[t]=null}),Object.assign(i,t);const r=this.gl.bindFramebuffer(36160,this.handle);for(const s in i){Yx(void 0!==s,"Misspelled framebuffer binding point?");const t=Number(s),e=i[t];let r=e;if(r)if(r instanceof ES)this._attachRenderbuffer({attachment:t,renderbuffer:r});else if(Array.isArray(e)){const[n,i=0,s=0]=e;r=n,this._attachTexture({attachment:t,texture:n,layer:i,level:s})}else this._attachTexture({attachment:t,texture:r,layer:0,level:0});else this._unattach(t);n&&r&&r.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,r||null),Object.assign(this.attachments,t),Object.keys(this.attachments).filter(t=>!this.attachments[t]).forEach(t=>{delete this.attachments[t]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(t){return(BS.STATUS||{})[t]||`Framebuffer error ${t}`}(t));return this}getStatus(){const{gl:t}=this,e=t.bindFramebuffer(36160,this.handle),n=t.checkFramebufferStatus(36160);return t.bindFramebuffer(36160,e||null),n}clear(t={}){const{color:e,depth:n,stencil:i,drawBuffers:r=[]}=t,s=this.gl.bindFramebuffer(36160,this.handle);return(e||n||i)&&TS(this.gl,{color:e,depth:n,stencil:i}),r.forEach((t,e)=>{!function(t,{framebuffer:e=null,buffer:n=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){tx(t),Ix(t,{framebuffer:e},()=>{switch(n){case 6144:switch(r.constructor){case Int32Array:t.clearBufferiv(n,i,r);break;case Uint32Array:t.clearBufferuiv(n,i,r);break;case Float32Array:default:t.clearBufferfv(n,i,r)}break;case 6145:t.clearBufferfv(6145,0,[r]);break;case 6146:t.clearBufferiv(6146,0,[r]);break;case 34041:const[e,s]=r;t.clearBufferfi(34041,0,e,s);break;default:Yx(!1,OS)}})}(this.gl,{drawBuffer:e,value:t})}),this.gl.bindFramebuffer(36160,s||null),this}readPixels(t={}){return Xw.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(t={}){return Xw.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(t={}){return Xw.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(t={}){return Xw.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(t={}){return Xw.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(t={}){return Xw.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:t=[],x:e=0,y:n=0,width:i,height:r}){const s=tx(this.gl),o=s.bindFramebuffer(36008,this.handle);return 0===e&&0===n&&void 0===i&&void 0===r?s.invalidateFramebuffer(36008,t):s.invalidateFramebuffer(36008,t,e,n,i,r),s.bindFramebuffer(36008,o),this}getAttachmentParameter(t,e,n){let i=this._getAttachmentParameterFallback(e);return null===i&&(this.gl.bindFramebuffer(36160,this.handle),i=this.gl.getFramebufferAttachmentParameter(36160,t,e),this.gl.bindFramebuffer(36160,null)),n&&i>1e3&&(i=Kx(this.gl,i)),i}getAttachmentParameters(t=36064,e,n=this.constructor.ATTACHMENT_PARAMETERS||[]){const i={};for(const r of n)i[e?Kx(this.gl,r):r]=this.getAttachmentParameter(t,r,e);return i}getParameters(t=!0){const e=Object.keys(this.attachments),n={};for(const i of e){const e=Number(i);n[t?Kx(this.gl,e):e]=this.getAttachmentParameters(e,t)}return n}show(){return"undefined"!=typeof window&&window.open(LS(this),"luma-debug-texture"),this}log(t=0,e=""){if(t>Xw.level||"undefined"==typeof window)return this;e=e||`Framebuffer ${this.id}`;const n=LS(this,{targetMaxHeight:100});return Xw.image({logLevel:t,message:e,image:n},e)(),this}bind({target:t=36160}={}){return this.gl.bindFramebuffer(t,this.handle),this}unbind({target:t=36160}={}){return this.gl.bindFramebuffer(t,null),this}_createDefaultAttachments(t,e,n,i,r){let s=null;return t&&(s=s||{},s[36064]=new xS(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:i,height:r,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(s[36064])),e&&n?(s=s||{},s[33306]=new ES(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:i,height:111}),this.ownResources.push(s[33306])):e?(s=s||{},s[36096]=new ES(this.gl,{id:`${this.id}-depth`,format:33189,width:i,height:r}),this.ownResources.push(s[36096])):n&&Yx(!1),s}_unattach(t){const e=this.attachments[t];!e||(e instanceof ES?this.gl.framebufferRenderbuffer(36160,t,36161,null):this.gl.framebufferTexture2D(36160,t,3553,null,0),delete this.attachments[t])}_attachRenderbuffer({attachment:t=36064,renderbuffer:e}){const{gl:n}=this;n.framebufferRenderbuffer(36160,t,36161,e.handle),this.attachments[t]=e}_attachTexture({attachment:t=36064,texture:e,layer:n,level:i}){const{gl:r}=this;switch(r.bindTexture(e.target,e.handle),e.target){case 35866:case 32879:tx(r).framebufferTextureLayer(36160,t,e.target,i,n);break;case 34067:const s=function(t){return t<34069?t+34069:t}(n);r.framebufferTexture2D(36160,t,s,e.handle,i);break;case 3553:r.framebufferTexture2D(36160,t,3553,e.handle,i);break;default:Yx(!1,"Illegal texture type")}r.bindTexture(e.target,null),this.attachments[t]=e}_setReadBuffer(t){const e=function(t){return Zw(t)?t:null}(this.gl);e?e.readBuffer(t):Yx(36064===t||1029===t,FS),this.readBuffer=t}_setDrawBuffers(t){const{gl:e}=this,n=tx(e);if(n)n.drawBuffers(t);else{const n=e.getExtension("WEBGL_draw_buffers");n?n.drawBuffersWEBGL(t):Yx(1===t.length&&(36064===t[0]||1029===t[0]),FS)}this.drawBuffers=t}_getAttachmentParameterFallback(t){const e=function(t){t.luma=t.luma||{},t.luma.caps=t.luma.caps||{};for(const e in VS)void 0===t.luma.caps[e]&&(t.luma.caps[e]=HS(t,e));return t.luma.caps}(this.gl);switch(t){case 36052:return e.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return e.WEBGL2?null:8;case 33297:return e.WEBGL2?null:5125;case 33296:return e.WEBGL2||e.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(t){return this.gl.bindFramebuffer(36160,t)}}BS.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];var VS={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(t){const e=new xS(t,{format:6408,type:5126,dataFormat:6408}),n=new BS(t,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=n.getStatus();return e.delete(),n.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function zS(t,e){return US(t,e)}function US(t,e){return(e=Array.isArray(e)?e:[e]).every(e=>HS(t,e))}function HS(t,e){return t.luma=t.luma||{},t.luma.caps=t.luma.caps||{},void 0===t.luma.caps[e]&&(t.luma.caps[e]=function(t,e){const n=VS[e];let i;Yx(n,e);const r=Zw(t)&&n[1]||n[0];if("function"==typeof r)i=r(t);else if(Array.isArray(r)){i=!0;for(const e of r)i=i&&Boolean(t.getExtension(e))}else"string"==typeof r?i=Boolean(t.getExtension(r)):"boolean"==typeof r?i=r:Yx(!1);return i}(t,e)),t.luma.caps[e]||Xw.log(2,`Feature: ${e} not supported`)(),t.luma.caps[e]}class $S{constructor(t,e){this.opts=e,this.source=t}get value(){return this.source.value}getValue(){const t=this.source.getBuffer(),e=this.getAccessor();if(t)return[t,e];const{value:n}=this.source,{size:i}=e;let r=n;if(n&&n.length!==i){r=new Float32Array(i);const t=e.elementOffset||0;for(let e=0;ei&&(r=i);const s=this._pool,o=t.BYTES_PER_ELEMENT*r,a=s.findIndex(t=>t.byteLength>=o);if(a>=0){const e=new t(s.splice(a,1)[0],0,r);return n&&e.fill(0),e}return new t(r)}_release(t){if(!ArrayBuffer.isView(t))return;const e=this._pool,{buffer:n}=t,{byteLength:i}=n,r=e.findIndex(t=>t.byteLength>=i);r<0?e.push(n):(r>0||e.lengththis.props.poolSize&&e.shift()}};const WS=1/Math.PI*180,qS=1/180*Math.PI,YS={};function XS(t,{precision:e=YS.precision||4}={}){return t=function(t){return Math.round(t/YS.EPSILON)*YS.EPSILON}(t),`${parseFloat(t.toPrecision(e))}`}function KS(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function QS(t,e,n){if(KS(t)){n=n||function(t){return t.clone?t.clone():new Array(t.length)}(t);for(let i=0;it*qS,void 0)}(t)}function JS(t){return function(t,e){return QS(t,t=>t*WS,void 0)}(t)}function tC(t,e,n){return QS(t,t=>Math.max(e,Math.min(n,t)))}function eC(t,e,n){return KS(t)?t.map((t,i)=>eC(t,e[i],n)):n*e+(1-n)*t}function nC(t,e,n){const i=YS.EPSILON;n&&(YS.EPSILON=n);try{if(t===e)return!0;if(KS(t)&&KS(e)){if(t.length!==e.length)return!1;for(let n=0;n0?", ":"")+XS(this[n],t);return`${t.printTypes?this.constructor.name:""}[${e}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e=0&&t=0&&t0&&(LC.length=t.length,i=LC):i=NC,(e>0||Number.isFinite(n))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,n),r.index=e-1),{iterable:i,objectInfo:r}}function FC(t){return t&&t[Symbol.asyncIterator]}function BC(t,e=(()=>!0)){return Array.isArray(t)?VC(t,e,[]):e(t)?[t]:[]}function VC(t,e,n){let i=-1;for(;++ia)return void e.set(t.subarray(0,a),n);if(e.set(t,n),!s)return;let l=o;for(;lt},spring:{stiffness:.05,damping:.5}};function WC(t,e){return t?(Number.isFinite(t)&&(t={duration:t}),t.type=t.type||"interpolation",yt(yt(yt({},GC[t.type]),e),t)):null}function qC(t,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function YC(t){switch(t){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(t,'"'))}}function XC(t){t.push(t.shift())}function KC(t,e){const{doublePrecision:n,settings:i,value:r,size:s}=t,o=n&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function QC({buffer:t,numInstances:e,attribute:n,fromLength:i,fromStartIndices:r,getData:s=(t=>t)}){const o=n.doublePrecision&&n.value instanceof Float64Array?2:1,a=n.size*o,l=n.byteOffset,c=n.startIndices,u=r&&c,h=KC(n,e),d=n.state.constant;if(!u&&i>=h)return;const p=d?n.value:n.getBuffer().getData({srcByteOffset:l});if(n.settings.normalized&&!d){const t=s;s=(e,i)=>n._normalizeConstant(t(e,i))}const f=d?(t,e)=>s(p,e):(t,e)=>s(p.subarray(t,t+a),e),g=t.getData({length:i}),m=new Float32Array(h);(function({source:t,target:e,size:n,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return $C({source:t,target:e,size:n,getData:i}),e;let o=0,a=0;const l=i&&((t,e)=>i(t+a,e)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(t).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(t).map(t=>t/255);case 5123:return new Float32Array(t).map(t=>t/65535);default:return t}}_normalizeValue(t,e,n){const{defaultValue:i,size:r}=this.settings;if(Number.isFinite(t))return e[n]=t,e;if(!t)return e[n]=i[0],e;switch(r){case 4:e[n+3]=Number.isFinite(t[3])?t[3]:i[3];case 3:e[n+2]=Number.isFinite(t[2])?t[2]:i[2];case 2:e[n+1]=Number.isFinite(t[1])?t[1]:i[1];case 1:e[n+0]=Number.isFinite(t[0])?t[0]:i[0];break;default:let s=r;for(;--s>=0;)e[n+s]=Number.isFinite(t[s])?t[s]:i[s]}return e}_areValuesEqual(t,e){if(!t||!e)return!1;const{size:n}=this;for(let i=0;it[e])]:t[e],n)}setNeedsUpdate(t=this.id,e){if(this.state.needsUpdate=this.state.needsUpdate||t,this.setNeedsRedraw(t),e){const{startRow:t=0,endRow:n=1/0}=e;this.state.updateRanges=function(t,e){if(t===HC||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return t;const n=[],i=t.length;let r=0;for(let s=0;se[1]?n.push(i):e=[Math.min(i[0],e[0]),Math.max(i[1],e[1])]}return n.splice(r,0,e),n}(this.state.updateRanges,[t,n])}else this.state.updateRanges=HC}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=UC}setNeedsRedraw(t=this.id){this.state.needsRedraw=this.state.needsRedraw||t}update(t){this.setData(t)}allocate(t){const{state:e,settings:n}=this;return!n.noAlloc&&!!n.update&&(super.allocate({numInstances:t,copy:e.updateRanges!==HC}),!0)}updateBuffer({numInstances:t,data:e,props:n,context:i}){if(!this.needsUpdate())return!1;const{state:{updateRanges:r},settings:{update:s,noAlloc:o}}=this;let a=!0;if(s){for(const[o,a]of r)s.call(i,this,{data:e,startRow:o,endRow:a,props:n,numInstances:t});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const n=i*a+l;for(let i=0;ic?l.set(e,f):(t._normalizeValue(e,m.target,0),zC({target:l,source:m.target,start:f,count:n}));f+=n*c}else t._normalizeValue(e,l,f),f+=c}}_validateAttributeUpdaters(){const{settings:t}=this;if(!t.noAlloc&&"function"!=typeof t.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:t}=this,e=Math.min(4,this.size);if(t&&t.length>=e){let n=!0;switch(e){case 4:n=n&&Number.isFinite(t[3]);case 3:n=n&&Number.isFinite(t[2]);case 2:n=n&&Number.isFinite(t[1]);case 1:n=n&&Number.isFinite(t[0]);break;default:n=!1}if(!n)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let JC={};function tE(t){Gw.level>0&&JC[t]&&JC[t].call(...arguments)}function eE(t,e){if(!t)throw new Error(e||"shadertools: assertion failed.")}const nE="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",iE=`#version 300 es\n${nE}`;function rE(t,e){e=Array.isArray(e)?e:[e];const n=t.replace(/^\s+/,"").split(/\s+/),[i,r,s]=n;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function sE(t={}){const{version:e=100,input:n,inputType:i,output:r}=t;if(!n)return 300===e?iE:e>300?`#version ${e}\n${nE}`:"void main() {gl_FragColor = vec4(0);}";const s=function(t,e){switch(e){case"float":return`vec4(${t}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${t}, 0.0, 1.0)`;case"vec3":return`vec4(${t}, 1.0)`;case"vec4":return t;default:return eE(!1),null}}(n,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${n};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${n};\nvoid main() {\n gl_FragColor = ${s};\n}`}class oE extends iS{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(t){return Zw(t)}constructor(t,e={}){tx(t),super(t,e),this.initialize(e),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(t={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,tS(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(t),this}setProps(t){"program"in t&&(this.configuration=t.program&&t.program.configuration),"configuration"in t&&(this.configuration=t.configuration),"bindOnUse"in t&&(t=t.bindOnUse),"buffers"in t&&this.setBuffers(t.buffers)}setBuffers(t={}){return this.bind(()=>{for(const e in t)this.setBuffer(e,t[e])}),this}setBuffer(t,e){const n=this._getVaryingIndex(t),{buffer:i,byteSize:r,byteOffset:s}=this._getBufferParams(e);return n<0?(this.unused[t]=i,Xw.warn(()=>`${this.id} unused varying buffer ${t}`)(),this):(this.buffers[n]=e,this.bindOnUse||this._bindBuffer(n,i,s,r),this)}begin(t=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(t),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(t){let e,n,i;return t instanceof fS?i=t:(i=t.buffer,n=t.byteSize,e=t.byteOffset),(void 0!==e||void 0!==n)&&(e=e||0,n=n||i.byteLength-e),{buffer:i,byteOffset:e,byteSize:n}}_getVaryingInfo(t){return this.configuration&&this.configuration.getVaryingInfo(t)}_getVaryingIndex(t){if(this.configuration)return this.configuration.getVaryingInfo(t).location;const e=Number(t);return Number.isFinite(e)?e:-1}_bindBuffers(){if(this.bindOnUse)for(const t in this.buffers){const{buffer:e,byteSize:n,byteOffset:i}=this._getBufferParams(this.buffers[t]);this._bindBuffer(t,e,i,n)}}_unbindBuffers(){if(this.bindOnUse)for(const t in this.buffers)this._bindBuffer(t,null)}_bindBuffer(t,e,n=0,i){const r=e&&e.handle;return r&&void 0!==i?this.gl.bindBufferRange(35982,t,r,n,i):this.gl.bindBufferBase(35982,t,r),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(t){this.gl.bindTransformFeedback(36386,this.handle)}}class aE{constructor(t,e={}){this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(e),Object.seal(this)}setupResources(t){for(const e of this.bindings)this._setupTransformFeedback(e,t)}updateModelProps(t={}){const{varyings:e}=this;return e.length>0&&(t=Object.assign({},t,{varyings:e})),t}getDrawOptions(t={}){const e=this.bindings[this.currentIndex],{sourceBuffers:n,transformFeedback:i}=e;return{attributes:Object.assign({},n,t.attributes),transformFeedback:i}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(t={}){this._setupBuffers(t)}getBuffer(t){const{feedbackBuffers:e}=this.bindings[this.currentIndex],n=t?e[t]:null;return n?n instanceof fS?n:n.buffer:null}getData(t={}){const{varyingName:e}=t,n=this.getBuffer(e);return n?n.getData():null}delete(){for(const t in this.resources)this.resources[t].delete()}_initialize(t={}){this._setupBuffers(t),this.varyings=t.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&Yx(Zw(this.gl))}_getFeedbackBuffers(t){const{sourceBuffers:e={}}=t,n={};if(this.bindings[this.currentIndex]&&Object.assign(n,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const i in this.feedbackMap){const t=this.feedbackMap[i];i in e&&(n[t]=i)}Object.assign(n,t.feedbackBuffers);for(const i in n){const t=n[i];if("string"==typeof t){const r=e[t],{byteLength:s,usage:o,accessor:a}=r;n[i]=this._createNewBuffer(i,{byteLength:s,usage:o,accessor:a})}}return n}_setupBuffers(t={}){const{sourceBuffers:e=null}=t;Object.assign(this.feedbackMap,t.feedbackMap);const n=this._getFeedbackBuffers(t);this._updateBindings({sourceBuffers:e,feedbackBuffers:n})}_setupTransformFeedback(t,{model:e}){const{program:n}=e;t.transformFeedback=new oE(this.gl,{program:n,buffers:t.feedbackBuffers})}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:e}=this._swapBuffers(this.bindings[this.currentIndex]),n=this._getNextIndex();this.bindings[n]=this._updateBinding(this.bindings[n],{sourceBuffers:t,feedbackBuffers:e})}}_updateBinding(t,e){return t?(Object.assign(t.sourceBuffers,e.sourceBuffers),Object.assign(t.feedbackBuffers,e.feedbackBuffers),t.transformFeedback&&t.transformFeedback.setBuffers(t.feedbackBuffers),t):{sourceBuffers:Object.assign({},e.sourceBuffers),feedbackBuffers:Object.assign({},e.feedbackBuffers)}}_swapBuffers(t){if(!this.feedbackMap)return null;const e=Object.assign({},t.sourceBuffers),n=Object.assign({},t.feedbackBuffers);for(const i in this.feedbackMap){const r=this.feedbackMap[i];e[i]=t.feedbackBuffers[r],n[r]=t.sourceBuffers[i],Yx(n[r]instanceof fS)}return{sourceBuffers:e,feedbackBuffers:n}}_createNewBuffer(t,e){const n=new fS(this.gl,e);return this.resources[t]&&this.resources[t].delete(),this.resources[t]=n,n}_getNextIndex(){return(this.currentIndex+1)%2}}function lE(t){let e=100;const n=t.match(/[^\s]+/g);if(n.length>=2&&"#version"===n[0]){const t=parseInt(n[1],10);Number.isFinite(t)&&(e=t)}return e}const cE="vs",uE={[cE]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},hE="__LUMA_INJECT_DECLARATIONS__",dE=/void\s+main\s*\([^)]*\)\s*\{\n?/,pE=/}\n?[^{}]*$/,fE=[];function gE(t,e,n,i=!1){const r=e===cE;for(const s in n){const e=n[s];e.sort((t,e)=>t.order-e.order),fE.length=e.length;for(let t=0,n=e.length;tt+i));break;case"vs:#main-end":r&&(t=t.replace(pE,t=>i+t));break;case"fs:#decl":r||(t=t.replace(hE,i));break;case"fs:#main-start":r||(t=t.replace(dE,t=>t+i));break;case"fs:#main-end":r||(t=t.replace(pE,t=>i+t));break;default:t=t.replace(s,t=>t+i)}}return t=t.replace(hE,""),i&&(t=t.replace(/\}\s*$/,t=>t+uE[e])),t}function mE(t){const e={};return eE(Array.isArray(t)&&t.length>1),t.forEach(t=>{for(const n in t)e[n]=e[n]?`${e[n]}\n${t[n]}`:t[n]}),e}const bE={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},yE="transform_uSize_",vE="transform_position";const _E={10241:9728,10240:9728,10242:33071,10243:33071};class wE{constructor(t,e={}){this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(e),Object.seal(this)}updateModelProps(t={}){const e=this._processVertexShader(t);return Object.assign({},t,e)}getDrawOptions(t={}){const{sourceBuffers:e,sourceTextures:n,framebuffer:i,targetTexture:r}=this.bindings[this.currentIndex],s=Object.assign({},e,t.attributes),o=Object.assign({},t.uniforms),a=Object.assign({},t.parameters);let l=t.discard;if(this.hasSourceTextures||this.hasTargetTexture){s.transform_elementID=this.elementIDBuffer;for(const e in this.samplerTextureMap)o[e]=n[this.samplerTextureMap[e]];this._setSourceTextureParameters();const t=function({sourceTextureMap:t,targetTextureVarying:e,targetTexture:n}){const i={};let r,s;e&&(({width:r,height:s}=n),i[`${yE}${e}`]=[r,s]);for(const o in t)({width:r,height:s}=t[o]),i[`${yE}${o}`]=[r,s];return i}({sourceTextureMap:n,targetTextureVarying:this.targetTextureVarying,targetTexture:r});Object.assign(o,t)}return this.hasTargetTexture&&(l=!1,a.viewport=[0,0,i.width,i.height]),{attributes:s,framebuffer:i,uniforms:o,discard:l,parameters:a}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(t={}){this._setupTextures(t)}getTargetTexture(){const{targetTexture:t}=this.bindings[this.currentIndex];return t}getData({packed:t=!1}={}){const{framebuffer:e}=this.bindings[this.currentIndex],n=NS(e);if(!t)return n;const i=n.constructor,r=function(t){switch(t){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return eE(!1),null}}(this.targetTextureType),s=new i(n.length*r/4);let o=0;for(let a=0;a0,this._updateBindings({sourceBuffers:e,sourceTextures:n,targetTexture:r}),"elementCount"in t&&this._updateElementIDBuffer(t.elementCount)}_updateElementIDBuffer(t){if("number"!=typeof t||this.elementCount>=t)return;const e=new Float32Array(t);e.forEach((t,e,n)=>{n[e]=e}),this.elementIDBuffer?this.elementIDBuffer.setData({data:e}):this.elementIDBuffer=new fS(this.gl,{data:e,accessor:{size:1}}),this.elementCount=t}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this._swapTexture){const{sourceTextures:t,targetTexture:e}=this._swapTextures(this.bindings[this.currentIndex]),n=this._getNextIndex();this.bindings[n]=this._updateBinding(this.bindings[n],{sourceTextures:t,targetTexture:e})}}_updateBinding(t,e){const{sourceBuffers:n,sourceTextures:i,targetTexture:r}=e;if(t||(t={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(t.sourceTextures,i),Object.assign(t.sourceBuffers,n),r){t.targetTexture=r;const{width:e,height:n}=r,{framebuffer:i}=t;i?(i.update({attachments:{36064:r},resizeAttachments:!1}),i.resize({width:e,height:n})):t.framebuffer=new BS(this.gl,{id:"transform-framebuffer",width:e,height:n,attachments:{36064:r}})}return t}_setSourceTextureParameters(){const t=this.currentIndex,{sourceTextures:e}=this.bindings[t];for(const n in e)e[n].setParameters(_E)}_swapTextures(t){if(!this._swapTexture)return null;const e=Object.assign({},t.sourceTextures);return e[this._swapTexture]=t.targetTexture,{sourceTextures:e,targetTexture:t.sourceTextures[this._swapTexture]}}_createNewTexture(t){const e=DS(t,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=e,e}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(t={}){const{sourceTextures:e,targetTexture:n}=this.bindings[this.currentIndex],{vs:i,uniforms:r,targetTextureType:s,inject:o,samplerTextureMap:a}=function({vs:t,sourceTextureMap:e,targetTextureVarying:n,targetTexture:i}){let r=Object.keys(e).length,s=null;const o={};let a=t,l={};if(r>0||n){const t=a.split("\n"),c=t.slice();if(t.forEach((t,i,a)=>{if(r>0){const n=function(t,e){const n={},i=function(t){return rE(t,["attribute","in"])}(t);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const e=`// ${t} => Replaced by Transform with a sampler`,{samplerName:i,sizeName:o,uniformDeclerations:a}=function(t){const e=`transform_uSampler_${t}`,n=`${yE}${t}`;return{samplerName:e,sizeName:n,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${n};`}}(s),l=` ${r} ${s} = transform_getInput(${i}, ${o}).${function(t){switch(t){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return eE(!1),null}}(r)};\n`;return n[i]=s,{updatedLine:e,inject:{"vs:#decl":a,"vs:#main-start":l},samplerTextureMap:n}}return null}(t,e);if(n){const{updatedLine:t,inject:e}=n;c[i]=t,l=mE([l,e]),Object.assign(o,n.samplerTextureMap),r--}}n&&!s&&(s=function(t,e){const n=rE(t,["varying","out"]);return n&&n.name===e?n.type:null}(t,n))}),n){Yx(i);const t=`${yE}${n}`;l=mE([l,{"vs:#decl":`uniform vec2 ${t};\n`,"vs:#main-start":` vec2 ${vE} = transform_getPos(${t});\n gl_Position = vec4(${vE}, 0, 1.);\n`}])}a=c.join("\n")}return{vs:a,targetTextureType:s,inject:l,samplerTextureMap:o}}({vs:t.vs,sourceTextureMap:e,targetTextureVarying:this.targetTextureVarying,targetTexture:n}),l=mE([t.inject||{},o]);return this.targetTextureType=s,this.samplerTextureMap=a,{vs:i,fs:t._fs||sE({version:lE(i),input:this.targetTextureVarying,inputType:s,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[bE].concat(t.modules||[]):t.modules,uniforms:r,inject:l}}}const xE={number:{validate:(t,e)=>Number.isFinite(t)&&(!("max"in e)||t<=e.max)&&(!("min"in e)||t>=e.min)},array:{validate:(t,e)=>Array.isArray(t)||ArrayBuffer.isView(t)}};function SE(t){let e=CE(t);return"object"===e?t?"type"in t?Object.assign({},t,xE[t.type]):"value"in t?(e=CE(t.value),Object.assign({type:e},t,xE[e])):{type:"object",value:t}:{type:"object",value:null}:Object.assign({type:e,value:t},xE[e])}function CE(t){return Array.isArray(t)||ArrayBuffer.isView(t)?"array":typeof t}class EE{constructor({name:t,vs:e,fs:n,dependencies:i=[],uniforms:r,getUniforms:s,deprecations:o=[],defines:a={},inject:l={},vertexShader:c,fragmentShader:u}){eE("string"==typeof t),this.name=t,this.vs=e||c,this.fs=n||u,this.getModuleUniforms=s,this.dependencies=i,this.deprecations=this._parseDeprecationDefinitions(o),this.defines=a,this.injections=function(t){const e={vs:{},fs:{}};for(const n in t){let i=t[n];const r=n.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][n]=i}return e}(l),r&&(this.uniforms=function(t){const e={};for(const n in t){const i=SE(t[n]);e[n]=i}return e}(r))}getModuleSource(t){let e;switch(t){case"vs":e=this.vs||"";break;case"fs":e=this.fs||"";break;default:eE(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${e}// END MODULE_${this.name}\n\n`}getUniforms(t,e){return this.getModuleUniforms?this.getModuleUniforms(t,e):this.uniforms?this._defaultGetUniforms(t):{}}getDefines(){return this.defines}checkDeprecations(t,e){this.deprecations.forEach(n=>{n.regex.test(t)&&(n.deprecated?e.deprecated(n.old,n.new)():e.removed(n.old,n.new)())})}_parseDeprecationDefinitions(t){return t.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),t}_defaultGetUniforms(t={}){const e={},n=this.uniforms;for(const i in n){const r=n[i];i in t&&!r.private?(r.validate&&eE(r.validate(t[i],r),`${this.name}: invalid ${i}`),e[i]=t[i]):e[i]=r.value}return e}}function OE(t){return function(t){const e={},n={};return TE({modules:t,level:0,moduleMap:e,moduleDepth:n}),Object.keys(n).sort((t,e)=>n[e]-n[t]).map(t=>e[t])}(kE(t))}function TE({modules:t,level:e,moduleMap:n,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of t)n[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof EE||(eE("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),eE(t.name,"shader module has no name"),(t=new EE(t)).dependencies=kE(t.dependencies)),t))}const PE={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},AE={};function ME(t,e){return t.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":t.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":t.match(/AMD/i)||e.match(/AMD/i)||t.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(PE).forEach(t=>{AE[t]=t});const IE={};function DE(t,e,n={}){const i=PE[e];if(eE(i,e),!function(t={}){const e="undefined"!=typeof window&&window.navigator||{},n=t.userAgent||e.userAgent||"",i=-1!==n.indexOf("MSIE "),r=-1!==n.indexOf("Trident/");return i||r}(n))return!0;if(e in IE)return IE[e];const r=`#extension GL_${i[0]} : ${n.behavior||"enable"}\nvoid main(void) {}`,s=t.createShader(35633);t.shaderSource(s,r),t.compileShader(s);const o=t.getShaderParameter(s,35713);return t.deleteShader(s),IE[e]=o,o}function RE(t,e){return(e=Array.isArray(e)?e:[e]).every(e=>function(t,e){const n=PE[e];eE(n,e);const i=function(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&2===t._version)}(t)&&n[1]||n[0],r="string"==typeof i?Boolean(t.getExtension(i)):i;return eE(!1===r||!0===r),r}(t,e))}function NE(t){return new RegExp(`\\b${t}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const LE=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],jE=[...LE,[NE("attribute"),"in $1"],[NE("varying"),"out $1"]],FE=[...LE,[NE("varying"),"in $1"]],BE=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],VE=[...BE,[NE("in"),"attribute $1"],[NE("out"),"varying $1"]],zE=[...BE,[NE("in"),"varying $1"]],UE="gl_FragColor",HE=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,$E=/void\s+main\s*\([^)]*\)\s*\{\n?/;function GE(t,e){for(const[n,i]of e)t=t.replace(n,i);return t}const WE=`\n\n${hE}\n\n`,qE={[cE]:"vertex",fs:"fragment"};function YE(t,{id:e,source:n,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){eE("string"==typeof n,"shader source must be a string");const h=i===cE,d=n.split("\n");let p=100,f="",g=n;0===d[0].indexOf("#version ")?(p=300,f=d[0],g=d.slice(1).join("\n")):f=`#version ${p}`;const m={};r.forEach(t=>{Object.assign(m,t.getDefines())}),Object.assign(m,s);let b=c?`${f}\n${function({id:t,source:e,type:n}){return t&&"string"==typeof t&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${t}_${qE[n]}\n\n`:""}({id:e,source:n,type:i})}\n${function({type:t}){return`\n#define SHADER_TYPE_${qE[t].toUpperCase()}\n`}({type:i})}\n${function(t){switch(function(t){const e=t.getExtension("WEBGL_debug_renderer_info"),n=t.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=t.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:ME(n,i),vendor:n,renderer:i,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(t)}\n${function(t,e,n){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return RE(t,AE.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),RE(t,AE.GLSL_DERIVATIVES)&&DE(t,AE.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),RE(t,AE.GLSL_FRAG_DATA)&&DE(t,AE.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),RE(t,AE.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(t)}\n${function(t={}){let e=0,n="";for(const i in t){0===e&&(n+="\n// APPLICATION DEFINES\n"),e++;const r=t[i];(r||Number.isFinite(r))&&(n+=`#define ${i.toUpperCase()} ${t[i]}\n`)}return 0===e&&(n+="\n"),n}(m)}\n${h?"":"precision highp float;\n\n"}\n`:`${f}\n`;const y=function(t){const e={vs:{},fs:{}};return t.forEach(t=>{let n;"string"!=typeof t?(n=t,t=n.hook):n={},t=t.trim();const[i,r]=t.split(":"),s=t.replace(/\(.+/,"");e[i][s]=Object.assign(n,{signature:r})}),e}(o),v={},_={},w={};for(const x in a){const t="string"==typeof a[x]?{injection:a[x],order:0}:a[x],e=x.match(/^(v|f)s:(#)?([\w-]+)$/);if(e){const n=e[3];e[2]?"decl"===n?_[x]=[t]:w[x]=[t]:v[x]=[t]}else w[x]=[t]}for(const x of r){u&&x.checkDeprecations(g,u),b+=x.getModuleSource(i,p);const t=x.injections[i];for(const e in t){const n=e.match(/^(v|f)s:#([\w-]+)$/);if(n){const i="decl"===n[2]?_:w;i[e]=i[e]||[],i[e].push(t[e])}else v[e]=v[e]||[],v[e].push(t[e])}}return b+=WE,b=gE(b,i,_),b+=function(t,e){let n="";for(const i in t){const r=t[i];if(n+=`void ${r.signature} {\n`,r.header&&(n+=` ${r.header}`),e[i]){const t=e[i];t.sort((t,e)=>t.order-e.order);for(const e of t)n+=` ${e.injection}\n`}r.footer&&(n+=` ${r.footer}`),n+="}\n"}return n}(y[i],v),b+=g,b=gE(b,i,w),b=function(t,e,n){switch(e){case 300:return n?GE(t,jE):function(t){const e=(t=GE(t,FE)).match(HE);if(e){const n=e[1];t=t.replace(new RegExp(`\\b${UE}\\b`,"g"),n)}else{const e="fragmentColor";t=t.replace($E,t=>`out vec4 ${e};\n${t}`).replace(new RegExp(`\\b${UE}\\b`,"g"),e)}return t}(t);case 100:return n?GE(t,VE):function(t){const e=(t=GE(t,zE)).match(HE);if(e){const n=e[1];t=t.replace(HE,"").replace(new RegExp(`\\b${n}\\b`,"g"),UE)}return t}(t);default:throw new Error(`unknown GLSL version ${e}`)}}(b,l?100:p,h),b}function XE(t){return function(e){const n={};for(const i of t){const t=i.getUniforms(e,n);Object.assign(n,t)}return n}}const KE={5126:uO.bind(null,"uniform1fv",nO,1,hO),35664:uO.bind(null,"uniform2fv",nO,2,hO),35665:uO.bind(null,"uniform3fv",nO,3,hO),35666:uO.bind(null,"uniform4fv",nO,4,hO),5124:uO.bind(null,"uniform1iv",iO,1,hO),35667:uO.bind(null,"uniform2iv",iO,2,hO),35668:uO.bind(null,"uniform3iv",iO,3,hO),35669:uO.bind(null,"uniform4iv",iO,4,hO),35670:uO.bind(null,"uniform1iv",iO,1,hO),35671:uO.bind(null,"uniform2iv",iO,2,hO),35672:uO.bind(null,"uniform3iv",iO,3,hO),35673:uO.bind(null,"uniform4iv",iO,4,hO),35674:uO.bind(null,"uniformMatrix2fv",nO,4,dO),35675:uO.bind(null,"uniformMatrix3fv",nO,9,dO),35676:uO.bind(null,"uniformMatrix4fv",nO,16,dO),35678:cO,35680:cO,5125:uO.bind(null,"uniform1uiv",rO,1,hO),36294:uO.bind(null,"uniform2uiv",rO,2,hO),36295:uO.bind(null,"uniform3uiv",rO,3,hO),36296:uO.bind(null,"uniform4uiv",rO,4,hO),35685:uO.bind(null,"uniformMatrix2x3fv",nO,6,dO),35686:uO.bind(null,"uniformMatrix2x4fv",nO,8,dO),35687:uO.bind(null,"uniformMatrix3x2fv",nO,6,dO),35688:uO.bind(null,"uniformMatrix3x4fv",nO,12,dO),35689:uO.bind(null,"uniformMatrix4x2fv",nO,8,dO),35690:uO.bind(null,"uniformMatrix4x3fv",nO,12,dO),35678:cO,35680:cO,35679:cO,35682:cO,36289:cO,36292:cO,36293:cO,36298:cO,36299:cO,36300:cO,36303:cO,36306:cO,36307:cO,36308:cO,36311:cO},QE={},ZE={},JE={},tO=[0];function eO(t,e,n,i){1===e&&"boolean"==typeof t&&(t=t?1:0),Number.isFinite(t)&&(tO[0]=t,t=tO);const r=t.length;if(r%e&&Xw.warn(`Uniform size should be multiples of ${e}`,t)(),t instanceof n)return t;let s=i[r];s||(s=new n(r),i[r]=s);for(let o=0;o{const r=t!==i;return r&&(e.uniform1i(n,i),t=i),r}}function uO(t,e,n,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,n),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{Yx(s===u,"Uniform length cannot change.");for(let t=0;t{const s=String(i+e);return gO(s,r-s.length)+n+t})}(e);return{shaderName:l,errors:fO(s,c),warnings:fO(o,c)}}(t,this.source,this.shaderType,this.id);throw Xw.error(`GLSL compilation errors in ${e}\n${n}`)(),Xw.warn(`GLSL compilation warnings in ${e}\n${i}`)(),new Error(`GLSL compilation errors in ${e}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class bO extends mO{get[Symbol.toStringTag](){return"VertexShader"}constructor(t,e){"string"==typeof e&&(e={source:e}),super(t,Object.assign({},e,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class yO extends mO{get[Symbol.toStringTag](){return"FragmentShader"}constructor(t,e){"string"==typeof e&&(e={source:e}),super(t,Object.assign({},e,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const vO=5126,_O=5124,wO=5125,xO={[vO]:[vO,1,"float"],35664:[vO,2,"vec2"],35665:[vO,3,"vec3"],35666:[vO,4,"vec4"],[_O]:[_O,1,"int"],35667:[_O,2,"ivec2"],35668:[_O,3,"ivec3"],35669:[_O,4,"ivec4"],[wO]:[wO,1,"uint"],36294:[wO,2,"uvec2"],36295:[wO,3,"uvec3"],36296:[wO,4,"uvec4"],35670:[vO,1,"bool"],35671:[vO,2,"bvec2"],35672:[vO,3,"bvec3"],35673:[vO,4,"bvec4"],35674:[vO,8,"mat2"],35685:[vO,8,"mat2x3"],35686:[vO,8,"mat2x4"],35675:[vO,12,"mat3"],35687:[vO,12,"mat3x2"],35688:[vO,12,"mat3x4"],35676:[vO,16,"mat4"],35689:[vO,16,"mat4x2"],35690:[vO,16,"mat4x3"]};function SO(t){const e=xO[t];if(!e)return null;const[n,i]=e;return{type:n,components:i}}function CO(t,e){switch(t){case 5120:case 5121:case 5122:case 5123:t=vO}for(const n in xO){const[i,r,s]=xO[n];if(i===t&&r===e)return{glType:n,name:s}}return null}class EO{constructor(t){this.id=t.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(t),this._readVaryingsFromProgram(t)}getAttributeInfo(t){const e=Number(t);return Number.isFinite(e)?this.attributeInfosByLocation[e]:this.attributeInfosByName[t]||null}getAttributeLocation(t){const e=this.getAttributeInfo(t);return e?e.location:-1}getAttributeAccessor(t){const e=this.getAttributeInfo(t);return e?e.accessor:null}getVaryingInfo(t){const e=Number(t);return Number.isFinite(e)?this.varyingInfos[e]:this.varyingInfosByName[t]||null}getVaryingIndex(t){const e=this.getVaryingInfo();return e?e.location:-1}getVaryingAccessor(t){const e=this.getVaryingInfo();return e?e.accessor:null}_readAttributesFromProgram(t){const{gl:e}=t,n=e.getProgramParameter(t.handle,35721);for(let i=0;i=0&&this._addAttribute(o,n,r,s)}this.attributeInfos.sort((t,e)=>t.location-e.location)}_readVaryingsFromProgram(t){const{gl:e}=t;if(!Zw(e))return;const n=e.getProgramParameter(t.handle,35971);for(let i=0;it.location-e.location)}_addAttribute(t,e,n,i){const{type:r,components:s}=SO(n),o={type:r,size:i*s};this._inferProperties(t,e,o);const a={location:t,name:e,accessor:new uS(o)};this.attributeInfos.push(a),this.attributeInfosByLocation[t]=a,this.attributeInfosByName[a.name]=a}_inferProperties(t,e,n){/instance/i.test(e)&&(n.divisor=1)}_addVarying(t,e,n,i){const{type:r,components:s}=SO(n),o={location:t,name:e,accessor:new uS({type:r,size:i*s})};this.varyingInfos.push(o),this.varyingInfosByName[o.name]=o}}const OO=35981,TO=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class kO extends iS{get[Symbol.toStringTag](){return"Program"}constructor(t,e={}){super(t,e),this.stubRemovedMethods("Program","v6.0",TO),this._isCached=!1,this.initialize(e),Object.seal(this),this._setId(e.id)}initialize(t={}){const{hash:e,vs:n,fs:i,varyings:r,bufferMode:s=OO}=t;return this.hash=e||"",this.vs="string"==typeof n?new bO(this.gl,{id:`${t.id}-vs`,source:n}):n,this.fs="string"==typeof i?new yO(this.gl,{id:`${t.id}-fs`,source:i}):i,Yx(this.vs instanceof bO),Yx(this.fs instanceof yO),this.uniforms={},this._textureUniforms={},r&&r.length>0&&(tx(this.gl),this.varyings=r,this.gl2.transformFeedbackVaryings(this.handle,r,s)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new EO(this),this.setProps(t)}delete(t={}){return this._isCached?this:super.delete(t)}setProps(t){return"uniforms"in t&&this.setUniforms(t.uniforms),this}draw({logPriority:t,drawMode:e=4,vertexCount:n,offset:i=0,start:r,end:s,isIndexed:o=!1,indexType:a=5123,instanceCount:l=0,isInstanced:c=l>0,vertexArray:u=null,transformFeedback:h,framebuffer:d,parameters:p={},uniforms:f,samplers:g}){if((f||g)&&(Xw.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(f||{})),Xw.priority>=t){const i=d?d.id:"default",r=`mode=${Kx(this.gl,e)} verts=${n} instances=${l} indexType=${Kx(this.gl,a)} isInstanced=${c} isIndexed=${o} Framebuffer=${i}`;Xw.log(t,r)()}return Yx(u),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===n||c&&0===l||(u.bindForDraw(n,l,()=>{if(void 0!==d&&(p=Object.assign({},p,{framebuffer:d})),h){const t=function(t){switch(t){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return Yx(!1),0}}(e);h.begin(t)}this._bindTextures(),Ix(this.gl,p,()=>{o&&c?this.gl2.drawElementsInstanced(e,n,a,i,l):o&&Zw(this.gl)&&!isNaN(r)&&!isNaN(s)?this.gl2.drawRangeElements(e,r,s,n,a,i):o?this.gl.drawElements(e,n,a,i):c?this.gl2.drawArraysInstanced(e,i,n,l):this.gl.drawArrays(e,i,n)}),h&&h.end()}),0))}setUniforms(t={}){Xw.priority>=2&&function(t,e,n){for(const i in t){const r=t[i];if((!n||Boolean(n[i]))&&!aO(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(t,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const e in t){const n=t[e],i=this._uniformSetters[e];if(i){let t=n,r=!1;if(t instanceof BS&&(t=t.texture),t instanceof _S)if(r=this.uniforms[e]!==n,r){void 0===i.textureIndex&&(i.textureIndex=this._textureIndexCounter++);const n=t,{textureIndex:r}=i;n.bind(r),t=r,this._textureUniforms[e]=n}else t=i.textureIndex;else this._textureUniforms[e]&&delete this._textureUniforms[e];(i(t)||r)&&lO(this.uniforms,e,n)}}return this}_areTexturesRenderable(){let t=!0;for(const e in this._textureUniforms){const n=this._textureUniforms[e];n.update(),t=t&&n.loaded}return t}_bindTextures(){for(const t in this._textureUniforms)this._textureUniforms[t].bind(this._uniformSetters[t].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(t){const e=this.gl.getAttachedShaders(t),n={};for(const i of e)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:n.vs=new bO({handle:i});break;case 35632:n.fs=new yO({handle:i})}return n}_getParameter(t){return this.gl.getProgramParameter(this.handle,t)}_setId(t){if(!t){const t=this._getName();this.id=Zx(t)}}_getName(){let t=this.vs.getName()||this.fs.getName();return t=t.replace(/shader/i,""),t=t?`${t}-program`:"program",t}_compileAndLink(){const{gl:t}=this;if(t.attachShader(this.handle,this.vs.handle),t.attachShader(this.handle,this.fs.handle),Xw.time(4,`linkProgram for ${this._getName()}`)(),t.linkProgram(this.handle),Xw.timeEnd(4,`linkProgram for ${this._getName()}`)(),t.debug||Xw.level>0){if(!t.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${t.getProgramInfoLog(this.handle)}`);if(t.validateProgram(this.handle),!t.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${t.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:t}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let e=0;e1)for(let e=0;ee.name===t.name)||this._defaultModules.push(t),this.stateHash++}removeDefaultModule(t){const e="string"==typeof t?t:t.name;this._defaultModules=this._defaultModules.filter(t=>t.name!==e),this.stateHash++}addShaderHook(t,e){e&&(t=Object.assign(e,{hook:t})),this._hookFunctions.push(t),this.stateHash++}get(t={}){const{vs:e="",fs:n="",defines:i={},inject:r={},varyings:s=[],bufferMode:o=35981,transpileToGLSL100:a=!1}=t,l=this._getModuleList(t.modules),c=this._getHash(e),u=this._getHash(n),h=l.map(t=>this._getHash(t.name)).sort(),d=s.map(t=>this._getHash(t)),p=Object.keys(i).sort(),f=Object.keys(r).sort(),g=[],m=[];for(const y of p)g.push(this._getHash(y)),g.push(this._getHash(i[y]));for(const y of f)m.push(this._getHash(y)),m.push(this._getHash(r[y]));const b=`${c}/${u}D${g.join("/")}M${h.join("/")}I${m.join("/")}V${d.join("/")}H${this.stateHash}B${o}${a?"T":""}`;if(!this._programCache[b]){const t=function(t,e){const{vs:n,fs:i}=e,r=OE(e.modules||[]);return{gl:t,vs:YE(t,Object.assign({},e,{source:n,type:cE,modules:r})),fs:YE(t,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:XE(r)}}(this.gl,{vs:e,fs:n,modules:l,inject:r,defines:i,hookFunctions:this._hookFunctions,transpileToGLSL100:a});this._programCache[b]=new kO(this.gl,{hash:b,vs:t.vs,fs:t.fs,varyings:s,bufferMode:o}),this._getUniforms[b]=t.getUniforms||(t=>{}),this._useCounts[b]=0}return this._useCounts[b]++,this._programCache[b]}getUniforms(t){return this._getUniforms[t.hash]||null}release(t){const e=t.hash;this._useCounts[e]--,0===this._useCounts[e]&&(this._programCache[e].delete(),delete this._programCache[e],delete this._getUniforms[e],delete this._useCounts[e])}_getHash(t){return void 0===this._hashes[t]&&(this._hashes[t]=this._hashCounter++),this._hashes[t]}_getModuleList(t=[]){const e=new Array(this._defaultModules.length+t.length),n={};let i=0;for(let r=0,s=this._defaultModules.length;r-1)return"Edge";const n=-1!==e.indexOf("MSIE "),i=-1!==e.indexOf("Trident/");return n||i?"IE":Dw.chrome?"Chrome":Dw.safari?"Safari":Dw.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(t){return t.luma=t.luma||{},t.luma.defaultVertexArray||(t.luma.defaultVertexArray=new MO(t,{handle:null,isDefaultArray:!0})),t.luma.defaultVertexArray}static getMaxAttributes(t){return MO.MAX_ATTRIBUTES=MO.MAX_ATTRIBUTES||t.getParameter(34921),MO.MAX_ATTRIBUTES}static setConstant(t,e,n){switch(n.constructor){case Float32Array:MO._setConstantFloatArray(t,e,n);break;case Int32Array:MO._setConstantIntArray(t,e,n);break;case Uint32Array:MO._setConstantUintArray(t,e,n);break;default:Yx(!1)}}constructor(t,e={}){super(t,Object.assign({},e,{id:e.id||e.program&&e.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=e.isDefaultArray||!1,this.gl2=t,this.initialize(e),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return MO.getMaxAttributes(this.gl)}initialize(t={}){return this.setProps(t)}setProps(t){return this}setElementBuffer(t=null,e={}){return Yx(!t||34963===t.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,t?t.handle:null)}),this}setBuffer(t,e,n){if(34963===e.target)return this.setElementBuffer(e,n);const{size:i,type:r,stride:s,offset:o,normalized:a,integer:l,divisor:c}=n,{gl:u,gl2:h}=this;return t=Number(t),this.bind(()=>{u.bindBuffer(34962,e.handle),l?(Yx(Zw(u)),h.vertexAttribIPointer(t,i,r,s,o)):u.vertexAttribPointer(t,i,r,a,s,o),u.enableVertexAttribArray(t),h.vertexAttribDivisor(t,c||0)}),this}enable(t,e=!0){return!e&&0===t&&!MO.isSupported(this.gl,{constantAttributeZero:!0})||(t=Number(t),this.bind(()=>e?this.gl.enableVertexAttribArray(t):this.gl.disableVertexAttribArray(t))),this}getConstantBuffer(t,e){const n=this._normalizeConstantArrayValue(e),i=n.byteLength*t,r=n.length*t;let s=!this.buffer;if(this.buffer=this.buffer||new fS(this.gl,i),s=s||this.buffer.reallocate(i),s=s||!this._compareConstantArrayValues(n,this.bufferValue),s){const t=function(t,e){return new t(function(t){return(!AO||AO.byteLength{switch(t){case 34373:return this.gl.getVertexAttribOffset(e,t);default:return this.gl.getVertexAttrib(e,t)}})}}const IO=/^(.+)__LOCATION_([0-9]+)$/,DO=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class RO{constructor(t,e={}){this.id=e.id||e.program&&e.program.id,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new MO(t),eS(this,"VertexArray","v6.0",DO),this.initialize(e),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(t={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(t)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:t}=this.vertexArrayObject;return this.values=new Array(t).fill(null),this.accessors=new Array(t).fill(null),this.unused={},this.drawParams=null,this}setProps(t){return"program"in t&&(this.configuration=t.program&&t.program.configuration),"configuration"in t&&(this.configuration=t.configuration),"attributes"in t&&this.setAttributes(t.attributes),"elements"in t&&this.setElementBuffer(t.elements),"bindOnUse"in t&&(t=t.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(t){return Object.assign(this.attributes,t),this.vertexArrayObject.bind(()=>{for(const e in t)this._setAttribute(e,t[e]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(t=null,e={}){return this.elements=t,this.elementsAccessor=e,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(t,e),this}setBuffer(t,e,n={}){if(34963===e.target)return this.setElementBuffer(e,n);const{location:i,accessor:r}=this._resolveLocationAndAccessor(t,e,e.accessor,n);return i>=0&&(this.values[i]=e,this.accessors[i]=r,this.clearDrawParams(),this.vertexArrayObject.setBuffer(i,e,r)),this}setConstant(t,e,n={}){const{location:i,accessor:r}=this._resolveLocationAndAccessor(t,e,Object.assign({size:e.length},n));return i>=0&&(e=this.vertexArrayObject._normalizeConstantArrayValue(e),this.values[i]=e,this.accessors[i]=r,this.clearDrawParams(),this.vertexArrayObject.enable(i,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new fS(this.gl,{accessor:{size:4}});for(let t=0;t{this.elements&&this.setElementBuffer(this.elements);for(let t=0;t{this._setConstantAttributes(t,e),i=n()}),i}_resolveLocationAndAccessor(t,e,n,i){const r={location:-1,accessor:null},{location:s,name:o}=this._getAttributeIndex(t);if(!Number.isFinite(s)||s<0)return this.unused[t]=e,Xw.once(3,()=>`unused value ${t} in ${this.id}`)(),r;const a=this._getAttributeInfo(o||s);if(!a)return r;const l=uS.resolve(a.accessor,this.accessors[s]||{},n,i),{size:c,type:u}=l;return Yx(Number.isFinite(c)&&Number.isFinite(u)),{location:s,accessor:l}}_getAttributeInfo(t){return this.configuration&&this.configuration.getAttributeInfo(t)}_getAttributeIndex(t){const e=Number(t);if(Number.isFinite(e))return{location:e};const n=IO.exec(t),i=n?n[1]:t,r=n?Number(n[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(i)+r,name:i}:{location:-1}}_setAttribute(t,e){if(e instanceof fS)this.setBuffer(t,e);else if(Array.isArray(e)&&e.length&&e[0]instanceof fS)this.setBuffer(t,e[0],e[1]);else if(ArrayBuffer.isView(e)||Array.isArray(e))this.setConstant(t,e);else{if(!(e.buffer instanceof fS))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(t,e.buffer,e)}}_setConstantAttributes(t,e){const n=Math.max(0|t,0|e);let i=this.values[0];ArrayBuffer.isView(i)&&this._setConstantAttributeZero(i,n);for(let r=1;r0;if(t.isInstanced=t.isInstanced||s,n instanceof fS){const e=n;if(s){const n=e.getVertexCount(i);t.instanceCount=Math.min(t.instanceCount,n)}else{const n=e.getVertexCount(i);t.vertexCount=Math.min(t.vertexCount,n)}}}setElements(t=null,e={}){return Xw.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(t,e)}}function NO(t,e={}){const{isInteger:n=!1}=e;if(Array.isArray(t)||ArrayBuffer.isView(t))return function(t,e){const{maxElts:n=16,size:i=1}=e;let r="[";for(let s=0;s0&&(r+=","+(s%i==0?" ":"")),r+=NO(t[s],e);return`${r}${t.length>n?"...":"]"}`}(t,e);if(!Number.isFinite(t))return String(t);if(Math.abs(t)<1e-16)return n?"0":"0.";if(n||Math.abs(t)>100&&Math.abs(t)<1e4)return t.toFixed(0);const i=t.toPrecision(2);return i.indexOf(".0")===i.length-2?i.slice(0,-1):i}function LO(t,e,n,i){const{gl:r}=t;if(!e)return{[i]:"null","Format ":"N/A"};let s,o,a,l="NOT PROVIDED",c=1,u=0,h=0;if(n&&(l=n.type,c=n.size,l=String(l).replace("Array",""),s=-1!==l.indexOf("nt")),e instanceof fS){const t=e,{data:d,changed:p}=t.getDebugData();let f;return o=p?"*":"",a=d,h=t.byteLength,u=h/d.BYTES_PER_ELEMENT/c,n?f=`${n.divisor>0?"I ":"P "} ${u} (x${c}=${h} bytes ${Kx(r,l)})`:(s=!0,f=`${h} bytes`),{[i]:`${o}${NO(a,{size:c,isInteger:s})}`,"Format ":f}}return a=e,c=e.length,l=String(e.constructor.name).replace("Array",""),s=-1!==l.indexOf("nt"),{[i]:`${NO(a,{size:c,isInteger:s})} (constant)`,"Format ":`${c}x${l} (constant)`}}function jO(t,e){const{type:n,size:i}=e,r=CO(n,i);return r?`${t} (${r.name})`:t}function FO({header:t="Uniforms",program:e,uniforms:n,undefinedOnly:i=!1}){Yx(e);const r=".*Matrix",s={},o=Object.keys(e._uniformSetters).sort();let a=0;for(const u of o)!u.match(".*_.*")&&!u.match(r)&&BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;for(const u of o)u.match(r)&&BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;for(const u of o)s[u]||BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;let l=0;const c={};if(!i)for(const u in n){const e=n[u];s[u]||(l++,c[u]={Type:`NOT USED: ${e}`,[t]:NO(e)})}return{table:s,count:a,unusedTable:c,unusedCount:l}}function BO({table:t,header:e,uniforms:n,uniformName:i,undefinedOnly:r}){const s=n[i],o=function(t){return null!=t}(s);return!(r&&o||(t[i]={[e]:o?NO(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function VO(t){const{type:e,size:n}=t.accessor,i=CO(e,n);return i?`${i.name} ${t.name}`:t.name}const zO={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function UO(t,e){const{attributeMap:n=zO}=e||{};return n&&n[t]||t}function HO(t,e){let n;switch(t){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":n="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":n="vectors"}switch(n){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}Yx(Number.isFinite(e.size),`attribute ${t} needs size`)}const $O=()=>{},GO={};class WO{constructor(t,e={}){const{id:n=Zx("model")}=e;Yx(Qw(t)),this.id=n,this.gl=t,this.id=e.id||Zx("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(e)}initialize(t){this.props={},this.programManager=t.programManager||PO.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:e=null,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c}=t;this.programProps={program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(t.moduleSettings))),this.drawMode=void 0!==t.drawMode?t.drawMode:4,this.vertexCount=t.vertexCount||0,this.geometryBuffers={},this.isInstanced=t.isInstanced||t.instanced||t.instanceCount>0,this._setModelProps(t),this.geometry={},Yx(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(t){this._setModelProps(t)}delete(){for(const t in this._attributes)this._attributes[t]!==this.attributes[t]&&this._attributes[t].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(t){const{program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c}=t;this.programProps={program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(t){return this.drawMode=t,this}setVertexCount(t){return Yx(Number.isFinite(t)),this.vertexCount=t,this}setInstanceCount(t){return Yx(Number.isFinite(t)),this.instanceCount=t,this}setGeometry(t){return this.drawMode=t.drawMode,this.vertexCount=t.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(t,e,n){const i={};let r=e.indices;for(const s in e.attributes){const n=e.attributes[s],o=UO(s,undefined);if("indices"===s)r=n;else if(n.constant)i[o]=n.value;else{const e=n.value,r=yt({},n);delete r.value,i[o]=[new fS(t,e),r],HO(s,r)}}if(r){const e=r.value||r;Yx(e instanceof Uint16Array||e instanceof Uint32Array,'attribute array for "indices" must be of integer type');const n={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new fS(t,{data:e,target:34963}),n]}return i}(this.gl,t),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(t={}){if(tS(t))return this;const e={};for(const n in t){const i=t[n];e[n]=i.getValue?i.getValue():i}return this.vertexArray.setAttributes(e),this}setUniforms(t={}){return Object.assign(this.uniforms,t),this}getModuleUniforms(t){this._checkProgram();const e=this.programManager.getUniforms(this.program);return e?e(t):{}}updateModuleSettings(t){const e=this.getModuleUniforms(t||{});return this.setUniforms(e)}clear(t){return TS(this.program.gl,t),this}draw(t={}){this._checkProgram();const{moduleSettings:e=null,framebuffer:n,uniforms:i={},attributes:r={},transformFeedback:s=this.transformFeedback,parameters:o={},vertexArray:a=this.vertexArray}=t;let l;this.setAttributes(r),this.updateModuleSettings(e),this.setUniforms(i),Xw.priority>=2&&(l=this._logDrawCallStart(2));const c=this.vertexArray.getDrawParams(),{isIndexed:u=c.isIndexed,indexType:h=c.indexType,indexOffset:d=c.indexOffset,vertexArrayInstanced:p=c.isInstanced}=this.props;p&&!this.isInstanced&&Xw.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:f,instanceCount:g}=this,{onBeforeRender:m=$O,onAfterRender:b=$O}=this.props;m(),this.program.setUniforms(this.uniforms);const y=this.program.draw(Object.assign(GO,t,{logPriority:l,uniforms:null,framebuffer:n,parameters:o,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:a,transformFeedback:s,isIndexed:u,indexType:h,isInstanced:f,instanceCount:g,offset:u?d:0}));return b(),Xw.priority>=2&&this._logDrawCallEnd(l,a,n),y}transform(t={}){const{discard:e=!0,feedbackBuffers:n,unbindModels:i=[]}=t;let{parameters:r}=t;n&&this._setFeedbackBuffers(n),e&&(r=Object.assign({},r,{35977:e})),i.forEach(t=>t.vertexArray.unbindBuffers());try{this.draw(Object.assign({},t,{parameters:r}))}finally{i.forEach(t=>t.vertexArray.bindBuffers())}return this}render(t={}){return Xw.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(t).draw()}_setModelProps(t){Object.assign(this.props,t),"uniforms"in t&&this.setUniforms(t.uniforms),"pickable"in t&&(this.pickable=t.pickable),"instanceCount"in t&&(this.instanceCount=t.instanceCount),"geometry"in t&&this.setGeometry(t.geometry),"attributes"in t&&this.setAttributes(t.attributes),"_feedbackBuffers"in t&&this._setFeedbackBuffers(t._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:e,fs:n,modules:i,inject:r,defines:s,varyings:o,bufferMode:a,transpileToGLSL100:l}=this.programProps;t=this.programManager.get({vs:e,fs:n,modules:i,inject:r,defines:s,varyings:o,bufferMode:a,transpileToGLSL100:l}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}Yx(t instanceof kO,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new RO(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const t in this.geometryBuffers){const e=this.geometryBuffers[t][0]||this.geometryBuffers[t];e instanceof fS&&e.delete()}}_setAnimationProps(t){this.animated&&Yx(t,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(t={}){if(tS(t))return this;const{gl:e}=this.program;return this.transformFeedback=this.transformFeedback||new oE(e,{program:this.program}),this.transformFeedback.setBuffers(t),this}_logDrawCallStart(t){const e=t>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:Xw.level<=2})(),t}_logDrawCallEnd(t,e,n,i){if(void 0===t)return;const r=function({vertexArray:t,header:e="Attributes"}){if(!t.configuration)return{};const n={};t.elements&&(n.ELEMENT_ARRAY_BUFFER=LO(t,t.elements,null,e));const i=t.values;for(const r in i){const s=t._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=t.accessors[s.location];a&&(o=`${r}: ${jO(s.name,a)}`),n[o]=LO(t,i[r],a,e)}}return n}({vertexArray:e,header:`${this.id} attributes`,attributes:this._attributes}),{table:s,unusedTable:o,unusedCount:a}=FO({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,n)}),{table:l,count:c}=FO({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,n),undefinedOnly:!0});c>0&&Xw.log("MISSING UNIFORMS",Object.keys(l))(),a>0&&Xw.log("UNUSED UNIFORMS",Object.keys(o))();const u=function(t){const e={},n=`Accessors for ${t.id}`;for(const i of t.attributeInfos)i&&(e[`in ${VO(i)}`]={[n]:JSON.stringify(i.accessor)});for(const i of t.varyingInfos)i&&(e[`out ${VO(i)}`]={[n]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);Xw.table(t,r)(),Xw.table(t,s)(),Xw.table(t+1,u)(),i&&i.log({logLevel:2,message:`Rendered to ${i.id}`}),Xw.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class qO{static isSupported(t){return Zw(t)}constructor(t,e={}){this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(e),Object.seal(this)}delete(){const{model:t,bufferTransform:e,textureTransform:n}=this;t&&t.delete(),e&&e.delete(),n&&n.delete()}run(t={}){const{clearRenderTarget:e=!0}=t,n=this._updateDrawOptions(t);e&&n.framebuffer&&n.framebuffer.clear({color:!0}),this.model.transform(n)}swap(){let t=!1;const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e)t=t||n.swap();Yx(t,"Nothing to swap")}getBuffer(t=null){return this.bufferTransform&&this.bufferTransform.getBuffer(t)}getData(t={}){const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e){const e=n.getData(t);if(e)return e}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(t={}){"elementCount"in t&&this.model.setVertexCount(t.elementCount);const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e)n.update(t)}_initialize(t={}){const{gl:e}=this;this._buildResourceTransforms(e,t),t=this._updateModelProps(t),this.model=new WO(e,Object.assign({},t,{fs:t.fs||sE({version:lE(t.vs)}),id:t.id||"transform-model",drawMode:t.drawMode||0,vertexCount:t.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(t){let e=Object.assign({},t);const n=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of n)e=i.updateModelProps(e);return e}_buildResourceTransforms(t,e){(function(t){return!(tS(t.feedbackBuffers)&&tS(t.feedbackMap)&&!(t.varyings&&t.varyings.length>0))})(e)&&(this.bufferTransform=new aE(t,e)),function(t){return!(tS(t._sourceTextures)&&!t._targetTexture&&!t._targetTextureVarying)}(e)&&(this.textureTransform=new wE(t,e)),Yx(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(t){let e=Object.assign({},t);const n=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of n)e=Object.assign(e,i.getDrawOptions(e));return e}}function YO(){}const XO={onStart:YO,onUpdate:YO,onInterrupt:YO,onEnd:YO};class KO{constructor(t){this._inProgress=!1,this._handle=null,this.timeline=t,this.settings={}}get inProgress(){return this._inProgress}start(t){this.cancel(),this.settings=yt(yt({},XO),t),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:t,settings:e}=this;this._handle=t.addChannel({delay:t.getTime(),duration:e.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const QO={interpolation:class{constructor({gl:t,attribute:e,timeline:n}){this.gl=t,this.type="interpolation",this.transition=new KO(n),this.attribute=e,this.attributeInTransition=new ZC(t,e.settings),this.currentStartIndices=e.startIndices,this.currentLength=0,this.transform=function(t,e){const n=YC(e.size);return new qO(t,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:n},varyings:["vCurrent"]})}(t,e);const i={byteLength:0,usage:35050};this.buffers=[new fS(t,i),new fS(t,i)]}get inProgress(){return this.transition.inProgress}start(t,e){if(t.duration<=0)return void this.transition.cancel();const{buffers:n,attribute:i}=this;XC(n);const r={numInstances:e,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(const s of n)QC(yt({buffer:s},r));this.currentStartIndices=i.startIndices,this.currentLength=KC(i,e),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aFrom:n[0],aTo:qC(0,i)},feedbackBuffers:{vCurrent:n[1]}})}update(){const t=this.transition.update();if(t){const{time:t,settings:{duration:e,easing:n}}=this.transition,i=n(t/e);this.transform.run({uniforms:{time:i}})}return t}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:t,attribute:e,timeline:n}){this.gl=t,this.type="spring",this.transition=new KO(n),this.attribute=e,this.attributeInTransition=new ZC(t,zn(yt({},e.settings),{normalized:!1})),this.currentStartIndices=e.startIndices,this.currentLength=0,this.texture=function(t){return new xS(t,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(t),this.framebuffer=function(t,e){return new BS(t,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(t,this.texture),this.transform=function(t,e,n){const i=YC(e.size);return new qO(t,{framebuffer:n,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(t,e,this.framebuffer);const i={byteLength:0,usage:35050};this.buffers=[new fS(t,i),new fS(t,i),new fS(t,i)]}get inProgress(){return this.transition.inProgress}start(t,e){const{buffers:n,attribute:i}=this,r={numInstances:e,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(const s of n)QC(yt({buffer:s},r));this.currentStartIndices=i.startIndices,this.currentLength=KC(i,e),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aTo:qC(0,i)}})}update(){const{buffers:t,transform:e,framebuffer:n,transition:i}=this;return!!i.update()&&(e.update({sourceBuffers:{aPrev:t[0],aCur:t[1]},feedbackBuffers:{vNext:t[2]}}),e.run({framebuffer:n,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:i.settings.stiffness,damping:i.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),XC(t),this.attributeInTransition.update({buffer:t[1],value:this.attribute.value}),NS(n)[0]>0||i.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class ZO{constructor(t,{id:e,timeline:n}){this.id=e,this.gl=t,this.timeline=n,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=qO.isSupported(t)}finalize(){for(const t in this.transitions)this._removeTransition(t)}update({attributes:t,transitions:e,numInstances:n}){this.numInstances=n||1;for(const i in t){const n=t[i],r=n.getTransitionSetting(e);!r||this._updateAttribute(i,n,r)}for(const i in this.transitions){const n=t[i];(!n||!n.getTransitionSetting(e))&&this._removeTransition(i)}}hasAttribute(t){const e=this.transitions[t];return e&&e.inProgress}getAttributes(){const t={};for(const e in this.transitions){const n=this.transitions[e];n.inProgress&&(t[e]=n.attributeInTransition)}return t}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const e in this.transitions)this.transitions[e].update()&&(this.needsRedraw=!0);const t=this.needsRedraw;return this.needsRedraw=!1,t}_removeTransition(t){this.transitions[t].cancel(),delete this.transitions[t]}_updateAttribute(t,e,n){const i=this.transitions[t];let r=!i||i.type!==n.type;if(r){if(!this.isSupported)return void Gw.warn("WebGL2 not supported by this browser. Transition for ".concat(t," is disabled."))();i&&this._removeTransition(t);const s=QO[n.type];s?this.transitions[t]=new s({attribute:e,timeline:this.timeline,gl:this.gl}):(Gw.error("unsupported transition type '".concat(n.type,"'"))(),r=!1)}(r||e.needsRedraw())&&(this.needsRedraw=!0,this.transitions[t].start(n,this.numInstances))}}const JO="attributeManager.invalidate";class tT{constructor(t,{id:e="attribute-manager",stats:n,timeline:i}={}){this.id=e,this.gl=t,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=n,this.attributeTransitionManager=new ZO(t,{id:"".concat(e,"-transitions"),timeline:i}),Object.seal(this)}finalize(){for(const t in this.attributes)this.attributes[t].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(t={clearRedrawFlags:!1}){const e=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!t.clearRedrawFlags,e&&this.id}setNeedsRedraw(t=!0){return this.needsRedraw=!0,this}add(t,e){this._add(t,e)}addInstanced(t,e){this._add(t,e,{instanced:1})}remove(t){for(let e=0;e{t[n]||(t[n]=[]),t[n].push(e)});this.updateTriggers=t}_invalidateTrigger(t,e){const{attributes:n,updateTriggers:i}=this,r=i[t];return r&&r.forEach(t=>{const i=n[t];i&&i.setNeedsUpdate(i.id,e)}),r}_updateAttribute(t){const{attribute:e,numInstances:n}=t;tE("attribute.updateStart",e),e.allocate(n)&&tE("attribute.allocate",e,n),e.updateBuffer(t)&&(this.needsRedraw=!0,tE("attribute.updateEnd",e,n))}}function eT(t,e,n,i,r){const s=e-t;return(n-e)*r+-s*i+s+e}function nT(t,e){if(Array.isArray(t)){let n=0;for(let i=0;i0}add(t,e,n,i){const{transitions:r}=this;if(r.has(t)){const n=r.get(t),{value:i=n.settings.fromValue}=n;e=i,this.remove(t)}if(!(i=WC(i)))return;const s=iT[i.type];if(!s)return void Gw.error("unsupported transition type '".concat(i.type,"'"))();const o=new s(this.timeline);o.start(zn(yt({},i),{fromValue:e,toValue:n})),r.set(t,o)}remove(t){const{transitions:e}=this;e.has(t)&&(e.get(t).cancel(),e.delete(t))}update(){const t={};for(const[e,n]of this.transitions)n.update(),t[e]=n.value,n.inProgress||this.remove(e);return t}clear(){for(const t of this.transitions.keys())this.remove(t)}}const sT={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:oT}=sT;function aT(t,e){if(!t.transitions)return null;const n={},i=dT(t);for(const r in t.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&cT(t[r],e[r],s)&&(n[r]=!0)}return n}function lT({newProps:t,oldProps:e,ignoreProps:n={},propTypes:i={},triggerName:r="props"}={}){if(e===t)return null;if("object"!=typeof t||null===t||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(t))if(!(s in n)){if(!(s in e))return"".concat(r,".").concat(s," added");const n=cT(t[s],e[s],i[s]);if(n)return"".concat(r,".").concat(s," ").concat(n)}for(const s of Object.keys(e))if(!(s in n)){if(!(s in t))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(t,s)){const n=cT(t[s],e[s],i[s]);if(n)return"".concat(r,".").concat(s," ").concat(n)}}return null}function cT(t,e,n){let i=n&&n.equal;return i&&!i(t,e,n)||!i&&(i=t&&e&&t.equals,i&&!i.call(t,e))?"changed deeply":i||e===t?null:"changed shallowly"}function uT(t,e){if(null===e)return"oldProps is null, initial diff";const n=e.extensions,{extensions:i}=t;if(i===n)return!1;if(i.length!==n.length)return!0;for(let r=0;r{for(const r in i)if(!pT(i[r],n[r])){e=t(i),n=i;break}return e}}function gT(t,e){if(!e)return t;const n=yt(yt({},t),e);if("defines"in e&&(n.defines=yt(yt({},t.defines),e.defines)),"modules"in e&&(n.modules=(t.modules||[]).concat(e.modules),e.modules.some(t=>"project64"===t.name))){const t=n.modules.findIndex(t=>"project32"===t.name);t>=0&&n.modules.splice(t,1)}if("inject"in e)if(t.inject){const i=yt({},t.inject);for(const t in e.inject)i[t]=(i[t]||"")+e.inject[t];n.inject=i}else n.inject=e.inject;return n}function mT(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],d=e[10],p=e[11],f=e[12],g=e[13],m=e[14],b=e[15],y=n*a-i*o,v=n*l-r*o,_=n*c-s*o,w=i*l-r*a,x=i*c-s*a,S=r*c-s*l,C=u*g-h*f,E=u*m-d*f,O=u*b-p*f,T=h*m-d*g,k=h*b-p*g,P=d*b-p*m,A=y*P-v*k+_*T+w*O-x*E+S*C;return A?(t[0]=(a*P-l*k+c*T)*(A=1/A),t[1]=(r*k-i*P-s*T)*A,t[2]=(g*S-m*x+b*w)*A,t[3]=(d*x-h*S-p*w)*A,t[4]=(l*O-o*P-c*E)*A,t[5]=(n*P-r*O+s*E)*A,t[6]=(m*_-f*S-b*v)*A,t[7]=(u*S-d*_+p*v)*A,t[8]=(o*k-a*O+c*C)*A,t[9]=(i*O-n*k-s*C)*A,t[10]=(f*x-g*_+b*y)*A,t[11]=(h*_-u*x-p*y)*A,t[12]=(a*E-o*T-l*C)*A,t[13]=(n*T-i*E+r*C)*A,t[14]=(g*v-f*w-m*y)*A,t[15]=(u*w-h*v+d*y)*A,t):null}function bT(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=e[9],p=e[10],f=e[11],g=e[12],m=e[13],b=e[14],y=e[15],v=n[0],_=n[1],w=n[2],x=n[3];return t[0]=v*i+_*a+w*h+x*g,t[1]=v*r+_*l+w*d+x*m,t[2]=v*s+_*c+w*p+x*b,t[3]=v*o+_*u+w*f+x*y,t[4]=(v=n[4])*i+(_=n[5])*a+(w=n[6])*h+(x=n[7])*g,t[5]=v*r+_*l+w*d+x*m,t[6]=v*s+_*c+w*p+x*b,t[7]=v*o+_*u+w*f+x*y,t[8]=(v=n[8])*i+(_=n[9])*a+(w=n[10])*h+(x=n[11])*g,t[9]=v*r+_*l+w*d+x*m,t[10]=v*s+_*c+w*p+x*b,t[11]=v*o+_*u+w*f+x*y,t[12]=(v=n[12])*i+(_=n[13])*a+(w=n[14])*h+(x=n[15])*g,t[13]=v*r+_*l+w*d+x*m,t[14]=v*s+_*c+w*p+x*b,t[15]=v*o+_*u+w*f+x*y,t}function yT(t,e,n){var i,r,s,o,a,l,c,u,h,d,p,f,g=n[0],m=n[1],b=n[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*b+e[12],t[13]=e[1]*g+e[5]*m+e[9]*b+e[13],t[14]=e[2]*g+e[6]*m+e[10]*b+e[14],t[15]=e[3]*g+e[7]*m+e[11]*b+e[15]):(r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=e[9],p=e[10],f=e[11],t[0]=i=e[0],t[1]=r,t[2]=s,t[3]=o,t[4]=a,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=d,t[10]=p,t[11]=f,t[12]=i*g+a*m+h*b+e[12],t[13]=r*g+l*m+d*b+e[13],t[14]=s*g+c*m+p*b+e[14],t[15]=o*g+u*m+f*b+e[15]),t}function vT(t,e,n){var i=n[0],r=n[1],s=n[2];return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=e[3]*i,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function _T(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],d=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=s*r+c*i,t[5]=o*r+u*i,t[6]=a*r+h*i,t[7]=l*r+d*i,t[8]=c*r-s*i,t[9]=u*r-o*i,t[10]=h*r-a*i,t[11]=d*r-l*i,t}function wT(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],d=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*r+c*i,t[1]=o*r+u*i,t[2]=a*r+h*i,t[3]=l*r+d*i,t[4]=c*r-s*i,t[5]=u*r-o*i,t[6]=h*r-a*i,t[7]=d*r-l*i,t}function xT(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t}function ST(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3];return t[0]=n[0]*i+n[4]*r+n[8]*s+n[12]*o,t[1]=n[1]*i+n[5]*r+n[9]*s+n[13]*o,t[2]=n[2]*i+n[6]*r+n[10]*s+n[14]*o,t[3]=n[3]*i+n[7]*r+n[11]*s+n[15]*o,t}function CT(t,e,n){var i=e[0],r=e[1],s=e[2],o=n[0],a=n[1],l=n[2],c=n[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,d=c*s+o*r-a*i,p=-o*i-a*r-l*s;return t[0]=u*c+p*-o+h*-l-d*-a,t[1]=h*c+p*-a+d*-o-u*-l,t[2]=d*c+p*-l+u*-a-h*-o,t[3]=e[3],t}!function(){var t=new hC(4);hC!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();const ET=[0,0,0,0],OT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],TT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],kT=[0,0,0],PT=[0,0,0],AT=fT(function({viewport:t,devicePixelRatio:e,coordinateSystem:n,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(t,e,n){const{viewMatrixUncentered:i,projectionMatrix:r}=t;let{viewMatrix:s,viewProjectionMatrix:o}=t,a=ET,l=ET,c=t.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:d}=MT(t,e,n);return d&&(l=t.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=ST([],l,o),s=i||s,o=bT([],r,s),o=bT([],o,OT)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(t,n,i),u=t.getDistanceScales(),h=[t.width*e,t.height*e],d=t.projectionMatrix.transform([0,0,-t.focalDistance,1])[3]||1,p={project_uCoordinateSystem:n,project_uProjectionMode:t.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:d,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:kT,project_uScale:t.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const e=t.getDistanceScales(c);switch(n){case Ww.METER_OFFSETS:p.project_uCommonUnitsPerWorldUnit=e.unitsPerMeter,p.project_uCommonUnitsPerWorldUnit2=e.unitsPerMeter2;break;case Ww.LNGLAT:case Ww.LNGLAT_OFFSETS:p.project_uCommonUnitsPerWorldUnit=e.unitsPerDegree,p.project_uCommonUnitsPerWorldUnit2=e.unitsPerDegree2;break;case Ww.CARTESIAN:p.project_uCommonUnitsPerWorldUnit=[1,1,e.unitsPerMeter[2]],p.project_uCommonUnitsPerWorldUnit2=[0,0,e.unitsPerMeter2[2]]}}return p});function MT(t,e,n=PT){let i,r=n,s=!0;switch(i=e===Ww.LNGLAT_OFFSETS||e===Ww.METER_OFFSETS?n:t.isGeospatial?[Math.fround(t.longitude),Math.fround(t.latitude),0]:null,t.projectionMode){case qw.WEB_MERCATOR:(e===Ww.LNGLAT||e===Ww.CARTESIAN)&&(s=!1);break;case qw.WEB_MERCATOR_AUTO_OFFSET:e===Ww.LNGLAT?r=i:e===Ww.CARTESIAN&&(r=[Math.fround(t.center[0]),Math.fround(t.center[1]),0],i=t.unprojectPosition(r),r[0]-=n[0],r[1]-=n[1],r[2]-=n[2]);break;case qw.IDENTITY:r=t.position.map(Math.fround);break;case qw.GLOBE:s=!1,i=null;break;default:s=!1}return r[2]=r[2]||0,{geospatialOrigin:i,shaderCoordinateOrigin:r,offsetMode:s}}class IT extends rC{get ELEMENTS(){return iC(!1),0}get RANK(){return iC(!1),0}toString(){let t="[";if(YS.printRowMajor){t+="row-major:";for(let e=0;e2*Math.PI)throw Error("radians");const s=n*Math.tan(t/2),o=s*e;return(new VT).ortho({left:-o,right:o,bottom:-s,top:s,near:i,far:r})}perspective({fovy:t,fov:e=45*Math.PI/180,aspect:n=1,near:i=.1,far:r=500}={}){if((t=t||e)>2*Math.PI)throw Error("radians");return function(t,e,n,i,r){var s,o=1/Math.tan(e/2);t[0]=o/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=r&&r!==1/0?(t[10]=(r+i)*(s=1/(i-r)),t[14]=2*r*i*s):(t[10]=-1,t[14]=-2*i)}(this,t,n,i,r),this.check()}determinant(){return function(t){var e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],o=t[5],a=t[6],l=t[7],c=t[8],u=t[9],h=t[10],d=t[11],p=t[12],f=t[13],g=t[14],m=t[15];return(e*o-n*s)*(h*m-d*g)-(e*a-i*s)*(u*m-d*f)+(e*l-r*s)*(u*g-h*f)+(n*a-i*o)*(c*m-d*p)-(n*l-r*o)*(c*g-h*p)+(i*l-r*a)*(c*f-u*p)}(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],e=null){const n=this.getScale(e||[-0,-0,-0]),i=1/n[0],r=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*r,t[2]=this[2]*s,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*r,t[6]=this[6]*s,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*r,t[10]=this[10]*s,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t=[-0,-0,-0,-0,-0,-0,-0,-0,-0],e=null){const n=this.getScale(e||[-0,-0,-0]),i=1/n[0],r=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*r,t[2]=this[2]*s,t[3]=this[4]*i,t[4]=this[5]*r,t[5]=this[6]*s,t[6]=this[8]*i,t[7]=this[9]*r,t[8]=this[10]*s,t}transpose(){return function(t,e){if(t===e){var n=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=s,t[11]=e[14],t[12]=r,t[13]=o,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15]}(this,this),this.check()}invert(){return mT(this,this),this.check()}multiplyLeft(t){return bT(this,t,this),this.check()}multiplyRight(t){return bT(this,this,t),this.check()}rotateX(t){return _T(this,this,t),this.check()}rotateY(t){return function(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],d=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*r-c*i,t[1]=o*r-u*i,t[2]=a*r-h*i,t[3]=l*r-d*i,t[8]=s*i+c*r,t[9]=o*i+u*r,t[10]=a*i+h*r,t[11]=l*i+d*r}(this,this,t),this.check()}rotateZ(t){return wT(this,this,t),this.check()}rotateXYZ([t,e,n]){return this.rotateX(t).rotateY(e).rotateZ(n)}rotateAxis(t,e){return function(t,e,n,i){var r,s,o,a,l,c,u,h,d,p,f,g,m,b,y,v,_,w,x,S,C,E,O,T,k=i[0],P=i[1],A=i[2],M=Math.hypot(k,P,A);Mn?n:t}const $T=Math.log2||function(t){return Math.log(t)*Math.LOG2E};function GT(t,e){if(!t)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const WT=Math.PI,qT=WT/4,XT=WT/180,KT=180/WT,QT=4003e4,ZT=85.051129;function JT([t,e]){return GT(Number.isFinite(t)),GT(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(t*XT+WT)/(2*WT),512*(WT+Math.log(Math.tan(qT+e*XT*.5)))/(2*WT)]}function tk([t,e]){const n=t/512*(2*WT)-WT,i=2*(Math.atan(Math.exp(e/512*(2*WT)-WT))-qT);return[n*KT,i*KT]}function ek({latitude:t,longitude:e,highPrecision:n=!1}){GT(Number.isFinite(t)&&Number.isFinite(e));const i={},r=Math.cos(t*XT),s=512/360,o=s/r,a=512/QT/r;if(i.unitsPerMeter=[a,a,a],i.metersPerUnit=[1/a,1/a,1/a],i.unitsPerDegree=[s,o,a],i.degreesPerUnit=[1/s,1/o,1/a],n){const e=XT*Math.tan(t*XT)/r,n=512/QT*e,l=n/o*a;i.unitsPerDegree2=[0,s*e/2,n],i.unitsPerMeter2=[l,0,l]}return i}function nk(t,e){const[n,i,r]=t,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=ek({longitude:n,latitude:i,highPrecision:!0}),u=JT(t);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=tk(u),d=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],d]:h}function ik(t){return 2*Math.atan(.5/t)*KT}function rk(t,e){const[n,i,r=0]=t;return GT(Number.isFinite(n)&&Number.isFinite(i)&&Number.isFinite(r)),zT(e,[n,i,r,1])}function sk(t,e,n=0){const[i,r,s]=t;if(GT(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return zT(e,[i,r,s,1]);const o=zT(e,[i,r,0,1]),a=zT(e,[i,r,1,1]),l=o[2],c=a[2];return NT([],o,a,l===c?0:((n||0)-l)/(c-l))}const ok=Math.PI/180;function ak(t,e,n){const{pixelUnprojectionMatrix:i}=t,r=zT(i,[e,0,1,1]),s=zT(i,[e,t.height,1,1]),o=tk(NT([],r,s,(n*t.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return o[2]=n,o}const lk=Math.PI/180,ck=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],uk=[0,0,0],hk={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let dk=(()=>{class t{constructor(t={}){const{id:e=null,x:n=0,y:i=0,width:r=1,height:s=1}=t;this.id=e||this.constructor.displayName||"viewport",this.x=n,this.y=i,this.width=r||1,this.height=s||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?qw.WEB_MERCATOR:qw.WEB_MERCATOR_AUTO_OFFSET:qw.IDENTITY}equals(e){return e instanceof t&&(this===e||e.width===this.width&&e.height===this.height&&e.scale===this.scale&&nC(e.projectionMatrix,this.projectionMatrix)&&nC(e.viewMatrix,this.viewMatrix))}project(t,{topLeft:e=!0}={}){const n=rk(this.projectPosition(t),this.pixelProjectionMatrix),[i,r]=n,s=e?r:this.height-r;return 2===t.length?[i,s]:[i,s,n[2]]}unproject(t,{topLeft:e=!0,targetZ:n}={}){const[i,r,s]=t,o=sk([i,e?r:this.height-r,s],this.pixelUnprojectionMatrix,n&&n*this.distanceScales.unitsPerMeter[2]),[a,l,c]=this.unprojectPosition(o);return Number.isFinite(s)?[a,l,c]:Number.isFinite(n)?[a,l,n]:[a,l]}projectPosition(t){const[e,n]=this.projectFlat(t);return[e,n,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[e,n]=this.unprojectFlat(t);return[e,n,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?JT(t):t}unprojectFlat(t){return this.isGeospatial?tk(t):t}getBounds(t={}){const e={targetZ:t.z||0},n=this.unproject([0,0],e),i=this.unproject([this.width,0],e),r=this.unproject([0,this.height],e),s=this.unproject([this.width,this.height],e);return[Math.min(n[0],i[0],r[0],s[0]),Math.min(n[1],i[1],r[1],s[1]),Math.max(n[0],i[0],r[0],s[0]),Math.max(n[1],i[1],r[1],s[1])]}getDistanceScales(t=null){return t?ek({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:e,width:n=1,height:i=1}){return t{class t extends dk{constructor(t={}){const{latitude:e=0,longitude:n=0,zoom:i=11,pitch:r=0,bearing:s=0,nearZMultiplier:o=.1,farZMultiplier:a=1.01,orthographic:l=!1,repeat:c=!1,worldOffset:u=0}=t;let{width:h,height:d,altitude:p=1.5}=t;const f=Math.pow(2,i);h=h||1,d=d||1,p=Math.max(.75,p);const{fov:g,aspect:m,focalDistance:b,near:y,far:v}=function({width:t,height:e,fovy:n=ik(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(n=ik(i));const a=.5*n*XT,l=function(t){return.5/Math.tan(.5*t*XT)}(n),c=r*XT,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:t/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:h,height:d,pitch:r,altitude:p,nearZMultiplier:o,farZMultiplier:a});let _=function({height:t,pitch:e,bearing:n,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return yT(o,o,[0,0,-i]),_T(o,o,-e*XT),wT(o,o,n*XT),vT(o,o,[r/=t,r,r]),s&&yT(o,o,function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}([],s)),o}({height:d,pitch:r,bearing:s,scale:f,altitude:p});u&&(_=(new VT).translate([512*u,0,0]).multiplyLeft(_)),super(zn(yt({},t),{width:h,height:d,viewMatrix:_,longitude:n,latitude:e,zoom:i,orthographic:l,fovyRadians:g,aspect:m,focalDistance:b,near:y,far:v})),this.latitude=e,this.longitude=n,this.zoom=i,this.pitch=r,this.bearing=s,this.altitude=p,this.orthographic=l,this._subViewports=c?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const e=this.getBounds(),n=Math.floor((e[0]+180)/360),i=Math.ceil((e[2]-180)/360);for(let r=n;r<=i;r++){const e=r?new t(zn(yt({},this),{worldOffset:r})):this;this._subViewports.push(e)}}return this._subViewports}addMetersToLngLat(t,e){return nk(t,e)}panByPosition(t,e){const n=sk(e,this.pixelUnprojectionMatrix),i=DT([],this.projectFlat(t),RT([],n)),r=DT([],this.center,i),[s,o]=this.unprojectFlat(r);return{longitude:s,latitude:o}}getBounds(t={}){const e=function(t,e=0){const{width:n,height:i,unproject:r}=t,s={targetZ:e},o=r([0,i],s),a=r([n,i],s);let l,c;return(t.fovy?.5*t.fovy*ok:Math.atan(.5/t.altitude))>(90-t.pitch)*ok-.01?(l=ak(t,0,e),c=ak(t,n,e)):(l=r([0,0],s),c=r([n,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(e[0][0],e[1][0],e[2][0],e[3][0]),Math.min(e[0][1],e[1][1],e[2][1],e[3][1]),Math.max(e[0][0],e[1][0],e[2][0],e[3][0]),Math.max(e[0][1],e[1][1],e[2][1],e[3][1])]}fitBounds(e,n={}){const{width:i,height:r}=this,{longitude:s,latitude:o,zoom:a}=function({width:t,height:e,bounds:n,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=n;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:GT(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=JT([a,HT(u,-ZT,ZT)]),d=JT([c,HT(l,-ZT,ZT)]),p=[Math.max(Math.abs(d[0]-h[0]),i),Math.max(Math.abs(d[1]-h[1]),i)],f=[t-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];GT(f[0]>0&&f[1]>0);const g=f[0]/p[0],m=f[1]/p[1],b=tk([(d[0]+h[0])/2+(s.right-s.left)/2/g,(d[1]+h[1])/2+(s.bottom-s.top)/2/m]),y=Math.min(r,$T(Math.abs(Math.min(g,m))));return GT(Number.isFinite(y)),{longitude:b[0],latitude:b[1],zoom:y}}(yt({width:i,height:r,bounds:e},n));return new t({width:i,height:r,longitude:s,latitude:o,zoom:a})}}return t.displayName="WebMercatorViewport",t})();function fk(t,e,n=!1){const i=e.projectPosition(t);if(n&&e instanceof pk){const[n,r,s=0]=t,o=e.getDistanceScales([n,r]);i[2]=s*o.unitsPerMeter[2]}return i}function gk(t,{viewport:e,modelMatrix:n,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=t;switch(n&&([o,a,l]=ST([],[o,a,l,1],n)),i){case Ww.LNGLAT:return fk([o,a,l],e,s);case Ww.LNGLAT_OFFSETS:return fk([o+r[0],a+r[1],l+(r[2]||0)],e,s);case Ww.METER_OFFSETS:return fk(nk(r,[o,a,l]),e,s);case Ww.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const mk={10241:9987,10240:9729,10242:33071,10243:33071},bk={},yk={boolean:{validate:(t,e)=>!0,equal:(t,e,n)=>Boolean(t)===Boolean(e)},number:{validate:(t,e)=>Number.isFinite(t)&&(!("max"in e)||t<=e.max)&&(!("min"in e)||t>=e.min)},color:{validate:(t,e)=>e.optional&&!t||xk(t)&&(3===t.length||4===t.length),equal:(t,e,n)=>vk(t,e)},accessor:{validate(t,e){const n=Sk(t);return"function"===n||n===Sk(e.value)},equal:(t,e,n)=>"function"==typeof e||vk(t,e)},array:{validate:(t,e)=>e.optional&&!t||xk(t),equal:(t,e,n)=>n.compare?vk(t,e):t===e},function:{validate:(t,e)=>e.optional&&!t||"function"==typeof t,equal:(t,e,n)=>!n.compare||t===e},data:{transform:(t,e,n)=>{const{dataTransform:i}=n?n.props:{};return i&&t?i(t):t}},image:{transform:(t,e,n)=>function(t,e){const n=t.context&&t.context.gl;if(!n||!e)return null;if(e instanceof xS)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new xS(n,zn(yt({},e),{parameters:yt(yt(yt({},mk),i),t.props.textureParameters)}));return bk[r.id]=!0,r}(n,t),release:t=>{!function(t){!t||!(t instanceof xS)||bk[t.id]&&(t.delete(),delete bk[t.id])}(t)}}};function vk(t,e){if(t===e)return!0;if(!xk(t)||!xk(e))return!1;const n=t.length;if(n!==e.length)return!1;for(let i=0;i{},this.oldProps=jk,this.oldAsyncProps=null}finalize(){for(const t in this.asyncProps){const e=this.asyncProps[t];e.type&&e.type.release&&e.type.release(e.resolvedValue,e.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const t in this.asyncProps)Object.defineProperty(this.oldAsyncProps,t,{enumerable:!0,value:this.oldProps[t]})}}hasAsyncProp(t){return t in this.asyncProps}getAsyncProp(t){const e=this.asyncProps[t];return e&&e.resolvedValue}isAsyncPropLoading(t){if(t){const e=this.asyncProps[t];return Boolean(e&&e.pendingLoadCount>0&&e.pendingLoadCount!==e.resolvedLoadCount)}for(const e in this.asyncProps)if(this.isAsyncPropLoading(e))return!0;return!1}reloadAsyncProp(t,e){this._watchPromise(t,Promise.resolve(e))}setAsyncProps(t){const e=t[Nk]||{},n=t[Rk]||t,i=t[Lk]||{};for(const r in e){const t=e[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,t),e[r]=this.getAsyncProp(r)}for(const r in n){const t=n[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,t)}}_updateAsyncProp(t,e){if(this._didAsyncInputValueChange(t,e)){if("string"==typeof e){var n;const i=null===(n=this.layer)||void 0===n?void 0:n.props.fetch;i&&(e=i(e,{propName:t,layer:this.layer}))}if(e instanceof Promise)return void this._watchPromise(t,e);if(FC(e))return void this._resolveAsyncIterable(t,e);this._setPropValue(t,e)}}_didAsyncInputValueChange(t,e){const n=this.asyncProps[t];return e!==n.resolvedValue&&e!==n.lastValue&&(n.lastValue=e,!0)}_setPropValue(t,e){const n=this.asyncProps[t];e=this._postProcessValue(n,e),n.resolvedValue=e,n.pendingLoadCount++,n.resolvedLoadCount=n.pendingLoadCount}_setAsyncPropValue(t,e,n){const i=this.asyncProps[t];i&&n>=i.resolvedLoadCount&&void 0!==e&&(this.freezeAsyncOldProps(),i.resolvedValue=e,i.resolvedLoadCount=n,this.onAsyncPropUpdated(t,e))}_watchPromise(t,e){const n=this.asyncProps[t];n.pendingLoadCount++;const i=n.pendingLoadCount;e.then(e=>{var r;e=this._postProcessValue(n,e),this._setAsyncPropValue(t,e,i);const s=null===(r=this.layer)||void 0===r?void 0:r.props.onDataLoad;"data"===t&&s&&s(e,{propName:t,layer:this.layer})}).catch(e=>{var n;null===(n=this.layer)||void 0===n||n.raiseError(e,"loading ".concat(t," of ").concat(this.layer))})}_resolveAsyncIterable(t,e){var n=this;return PS(function*(){var i;"data"!==t&&n._setPropValue(t,e);const r=n.asyncProps[t];r.pendingLoadCount++;const s=r.pendingLoadCount;let o=[],a=0;var l,c=!0,u=!1;try{for(var h,d,p=Dk(e);c=(h=yield p.next()).done,d=yield h.value,!c;c=!0){const e=d,{dataTransform:i}=n.component?n.component.props:{};o=i?i(e,o):o.concat(e),Object.defineProperty(o,"__diff",{enumerable:!1,value:[{startRow:a,endRow:o.length}]}),a=o.length,n._setAsyncPropValue(t,o,s)}}catch(g){u=!0,l=g}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(u)throw l}}const f=null===(i=n.layer)||void 0===i?void 0:i.props.onDataLoad;f&&f(o,{propName:t,layer:n.layer})})()}_postProcessValue(t,e){const n=t.type;return n&&(n.release&&n.release(t.resolvedValue,n,this.component),n.transform)?n.transform(e,n,this.component):e}_createAsyncPropData(t,e){if(!this.asyncProps[t]){const n=this.component&&this.component.constructor._propTypes;this.asyncProps[t]={type:n&&n[t],lastValue:null,resolvedValue:e,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:Bk,ASYNC_RESOLVED:Vk,ASYNC_DEFAULTS:zk}=sT,Uk={};let Hk=0,$k=(()=>{class t{constructor(){this.props=kk.apply(this,arguments),this.id=this.props.id,this.count=Hk++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:e}=this,n={};for(const i in e[zk])i in e[Vk]?n[i]=e[Vk][i]:i in e[Bk]&&(n[i]=e[Bk][i]);return new this.constructor(yt(yt(yt({},e),n),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new Fk({})}}return t.componentName="Component",t.defaultProps=Uk,t})();class Gk extends Fk{constructor({attributeManager:t,layer:e}){super(e),this.attributeManager=t,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(t){this.component=t}}const Wk=t=>"function"==typeof t,qk=t=>null!==t&&"object"==typeof t,Yk=t=>qk(t)&&t.constructor==={}.constructor,Xk=t=>t&&"function"==typeof t[Symbol.iterator],Kk=t=>t&&"function"==typeof t[Symbol.asyncIterator],Qk=t=>"undefined"!=typeof Response&&t instanceof Response||t&&t.arrayBuffer&&t.text&&t.json,Zk=t=>"undefined"!=typeof Blob&&t instanceof Blob,Jk=t=>(t=>"undefined"!=typeof ReadableStream&&t instanceof ReadableStream||qk(t)&&Wk(t.tee)&&Wk(t.cancel)&&Wk(t.getReader))(t)||(t=>qk(t)&&Wk(t.read)&&Wk(t.pipe)&&(t=>"boolean"==typeof t)(t.readable))(t);function tP(t,e){if(!t)throw new Error(e||"loader assertion failed.")}function eP(t){var e;return!!t&&(Array.isArray(t)&&(t=t[0]),Array.isArray(null===(e=t)||void 0===e?void 0:e.extensions))}function nP(t){var e,n;let i;return tP(t,"null loader"),tP(eP(t),"invalid loader"),Array.isArray(t)&&(i=t[1],t=zn(yt({},t=t[0]),{options:yt(yt({},t.options),i)})),(null!==(e=t)&&void 0!==e&&e.parseTextSync||null!==(n=t)&&void 0!==n&&n.parseText)&&(t.text=!0),t.text||(t.binary=!0),t}const iP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},rP=iP.global||iP.self||iP.window||{},sP="object"!=typeof process||"[object process]"!==String(process)||process.browser,oP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);oP&&parseFloat(oP[1]);const aP={};function lP(t){for(const e in aP)t.startsWith(e)&&(t=t.replace(e,aP[e]));return!t.startsWith("http://")&&!t.startsWith("https://")&&(t=`${t}`),t}const cP=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,uP=/^([-\w.]+\/[-\w.+]+)/;function hP(t){const e=uP.exec(t);return e?e[1]:t}function dP(t){const e=cP.exec(t);return e?e[1]:""}const pP=/\?.*/;function fP(t){if(Qk(t)){const e=mP(t.url||"");return{url:e,type:hP(t.headers.get("content-type")||"")||dP(e)}}return Zk(t)?{url:mP(t.name||""),type:t.type||""}:"string"==typeof t?{url:mP(t),type:dP(t)}:{url:"",type:""}}function gP(t){return Qk(t)?t.headers["content-length"]||-1:Zk(t)?t.size:"string"==typeof t?t.length:t instanceof ArrayBuffer||ArrayBuffer.isView(t)?t.byteLength:-1}function mP(t){return t.replace(pP,"")}function bP(t){return yP.apply(this,arguments)}function yP(){return(yP=PS(function*(t){if(Qk(t))return t;const e={},n=gP(t);n>=0&&(e["content-length"]=String(n));const{url:i,type:r}=fP(t);r&&(e["content-type"]=r);const s=yield SP(t);s&&(e["x-first-bytes"]=s),"string"==typeof t&&(t=(new TextEncoder).encode(t));const o=new Response(t,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function vP(t){return _P.apply(this,arguments)}function _P(){return(_P=PS(function*(t){if(!t.ok){const e=yield wP(t);throw new Error(e)}})).apply(this,arguments)}function wP(t){return xP.apply(this,arguments)}function xP(){return(xP=PS(function*(t){let e=`Failed to fetch resource ${t.url} (${t.status}): `;try{const n=t.headers.get("Content-Type");let i=t.statusText;n.includes("application/json")&&(i+=` ${yield t.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(n){}return e})).apply(this,arguments)}function SP(t){return CP.apply(this,arguments)}function CP(){return(CP=PS(function*(t){if("string"==typeof t)return`data:,${t.slice(0,5)}`;if(t instanceof Blob){const e=t.slice(0,5);return yield new Promise(t=>{const n=new FileReader;n.onload=e=>{var n;return t(null==e||null===(n=e.target)||void 0===n?void 0:n.result)},n.readAsDataURL(e)})}return t instanceof ArrayBuffer?`data:base64,${EP(t.slice(0,5))}`:null})).apply(this,arguments)}function EP(t){let e="";const n=new Uint8Array(t);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const MP={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){kP(this,"console",void 0),this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},IP={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function DP(){rP.loaders=rP.loaders||{};const{loaders:t}=rP;return t._state=t._state||{},t._state}const RP=()=>{const t=DP();return t.globalOptions=t.globalOptions||yt({},MP),t.globalOptions};function NP(t,e,n,i){return n=n||[],function(t,e){jP(t,null,MP,IP,e);for(const n of e)jP(t&&t[n.id]||{},n.id,n.options&&n.options[n.id]||{},n.deprecatedOptions&&n.deprecatedOptions[n.id]||{},e)}(t,n=Array.isArray(n)?n:[n]),function(t,e,n){const i=yt({},t.options||{});return function(t,e){e&&!("baseUri"in t)&&(t.baseUri=e)}(i,n),null===i.log&&(i.log=new AP),BP(i,RP()),BP(i,e),i}(e,t,i)}function LP(t,e){const n=RP(),i=t||n;return"function"==typeof i.fetch?i.fetch:qk(i.fetch)?t=>OP(t,i):null!=e&&e.fetch?null==e?void 0:e.fetch:OP}function jP(t,e,n,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in t){const l=!e&&qk(t[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in n)&&!c&&!u)if(a in i)PP.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const t=FP(a,r);PP.warn(`${s} loader option '${o}${a}' not recognized. ${t}`)()}}}function FP(t,e){const n=t.toLowerCase();let i="";for(const r of e)for(const e in r.options){if(t===e)return`Did you mean '${r.id}.${e}'?`;const s=e.toLowerCase();(n.startsWith(s)||s.startsWith(n))&&(i=i||`Did you mean '${r.id}.${e}'?`)}return i}function BP(t,e){for(const n in e)n in e&&(t[n]=Yk(e[n])&&Yk(t[n])?yt(yt({},t[n]),e[n]):e[n])}function VP(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}function zP(t,e="3.0.12"){return VP(t,"no worker provided"),!(!e||!t.version)}const UP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},HP=UP.global||UP.self||UP.window||{},$P="object"!=typeof process||"[object process]"!==String(process)||process.browser,GP="function"==typeof importScripts,WP="undefined"!=typeof window&&void 0!==window.orientation,qP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),YP=(qP&&parseFloat(qP[1]),new Map);function XP(t){const e=new Blob([t],{type:"application/javascript"});return URL.createObjectURL(e)}function KP(t,e=!0,n){const i=n||new Set;if(t)if(QP(t))i.add(t);else if(QP(t.buffer))i.add(t.buffer);else if(!ArrayBuffer.isView(t)&&e&&"object"==typeof t)for(const r in t)KP(t[r],e,i);return void 0===n?Array.from(i):[]}function QP(t){return!!t&&(t instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&t instanceof MessagePort||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas)}const ZP=()=>{};class JP{static isSupported(){return"undefined"!=typeof Worker}constructor(t){kP(this,"name",void 0),kP(this,"source",void 0),kP(this,"url",void 0),kP(this,"terminated",!1),kP(this,"worker",void 0),kP(this,"onMessage",void 0),kP(this,"onError",void 0),kP(this,"_loadableURL","");const{name:e,source:n,url:i}=t;VP(n||i),this.name=e,this.source=n,this.url=i,this.onMessage=ZP,this.onError=t=>console.log(t),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=ZP,this.onError=ZP,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,e){e=e||KP(t),this.worker.postMessage(t,e)}_getErrorFromErrorEvent(t){let e="Failed to load ";return e+=`worker ${this.name}. `,t.message&&(e+=`${t.message} in `),t.lineno&&(e+=`:${t.lineno}:${t.colno}`),new Error(e)}_createBrowserWorker(){this._loadableURL=function(t){VP(t.source&&!t.url||!t.source&&t.url);let e=YP.get(t.source||t.url);return e||(t.url&&(e=function(t){return t.startsWith("http")?XP(function(t){return`try {\n importScripts('${t}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(t)):t}(t.url),YP.set(t.url,e)),t.source&&(e=XP(t.source),YP.set(t.source,e))),VP(e),e}({source:this.source,url:this.url});const t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},t.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},t.onmessageerror=t=>console.error(t),t}}class tA{constructor(t,e){kP(this,"name",void 0),kP(this,"workerThread",void 0),kP(this,"isRunning",void 0),kP(this,"result",void 0),kP(this,"_resolve",void 0),kP(this,"_reject",void 0),this.name=t,this.workerThread=e,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((t,e)=>{this._resolve=t,this._reject=e})}postMessage(t,e){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:e})}done(t){VP(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){VP(this.isRunning),this.isRunning=!1,this._reject(t)}}class eA{constructor(t){kP(this,"name","unnamed"),kP(this,"source",void 0),kP(this,"url",void 0),kP(this,"maxConcurrency",1),kP(this,"maxMobileConcurrency",1),kP(this,"onDebug",()=>{}),kP(this,"reuseWorkers",!0),kP(this,"props",{}),kP(this,"jobQueue",[]),kP(this,"idleQueue",[]),kP(this,"count",0),kP(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props=yt(yt({},this.props),t),void 0!==t.name&&(this.name=t.name),void 0!==t.maxConcurrency&&(this.maxConcurrency=t.maxConcurrency),void 0!==t.maxMobileConcurrency&&(this.maxMobileConcurrency=t.maxMobileConcurrency),void 0!==t.reuseWorkers&&(this.reuseWorkers=t.reuseWorkers),void 0!==t.onDebug&&(this.onDebug=t.onDebug)}startJob(t,e=((t,e,n)=>t.done(n)),n=((t,e)=>t.error(e))){var i=this;return PS(function*(){const r=new Promise(r=>(i.jobQueue.push({name:t,onMessage:e,onError:n,onStart:r}),i));return i._startQueuedJob(),yield r})()}_startQueuedJob(){var t=this;return PS(function*(){if(!t.jobQueue.length)return;const e=t._getAvailableWorker();if(!e)return;const n=t.jobQueue.shift();if(n){t.onDebug({message:"Starting job",name:n.name,workerThread:e,backlog:t.jobQueue.length});const i=new tA(n.name,e);e.onMessage=t=>n.onMessage(i,t.type,t.payload),e.onError=t=>n.onError(i,t),n.onStart(i);try{yield i.result}finally{t.returnWorkerToQueue(e)}}})()}returnWorkerToQueue(t){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class iA{static isSupported(){return JP.isSupported()}static getWorkerFarm(t={}){return iA._workerFarm=iA._workerFarm||new iA({}),iA._workerFarm.setProps(t),iA._workerFarm}constructor(t){kP(this,"props",void 0),kP(this,"workerPools",new Map),this.props=yt({},nA),this.setProps(t),this.workerPools=new Map}destroy(){for(const t of this.workerPools.values())t.destroy()}setProps(t){this.props=yt(yt({},this.props),t);for(const e of this.workerPools.values())e.setProps(this._getWorkerPoolProps())}getWorkerPool(t){const{name:e,source:n,url:i}=t;let r=this.workerPools.get(e);return r||(r=new eA({name:e,source:n,url:i}),r.setProps(this._getWorkerPoolProps()),this.workerPools.set(e,r)),r}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function rA(t,e={}){const n=`${t.id}-worker.js`;let i=(e[t.id]||{}).workerUrl;if("test"===e._workerType&&(i=`modules/${t.module}/dist/${n}`),!i){let e=t.version;"latest"===e&&(e="latest"),i=`https://unpkg.com/@loaders.gl/${t.module}${e?`@${e}`:""}/dist/${n}`}return VP(i),i}function sA(t,e){return!!iA.isSupported()&&t.worker&&(null==e?void 0:e.worker)}function oA(t,e,n,i,r){return aA.apply(this,arguments)}function aA(){return(aA=PS(function*(t,e,n,i,r){const s=t.id,o=rA(t,n),a=iA.getWorkerFarm(n).getWorkerPool({name:s,url:o});n=JSON.parse(JSON.stringify(n));const l=yield a.startJob("process-on-worker",lA.bind(null,r));return l.postMessage("process",{input:e,options:n}),yield(yield l.result).result})).apply(this,arguments)}function lA(t,e,n,i){return cA.apply(this,arguments)}function cA(){return(cA=PS(function*(t,e,n,i){switch(n){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:s,input:o,options:a}=i;try{const n=yield t(o,a);e.postMessage("done",{id:s,result:n})}catch(r){const t=r instanceof Error?r.message:"unknown error";e.postMessage("error",{id:s,error:t})}break;default:console.warn(`parse-with-worker unknown message ${n}`)}})).apply(this,arguments)}kP(iA,"_workerFarm",void 0);var uA=n(9521);function hA(t){if(function(t){return t&&"object"==typeof t&&t.isBuffer}(t)&&(t=function(t){return uA.toArrayBuffer?uA.toArrayBuffer(t):t}(t)),t instanceof ArrayBuffer)return t;if(ArrayBuffer.isView(t))return 0===t.byteOffset&&t.byteLength===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength);if("string"==typeof t){const e=t;return(new TextEncoder).encode(e).buffer}if(t&&"object"==typeof t&&t._toArrayBuffer)return t._toArrayBuffer();throw new Error("toArrayBuffer")}function dA(...t){const e=t.map(t=>t instanceof ArrayBuffer?new Uint8Array(t):t),n=e.reduce((t,e)=>t+e.byteLength,0),i=new Uint8Array(n);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function pA(t,e,n){const i=void 0!==n?new Uint8Array(t).subarray(e,e+n):new Uint8Array(t).subarray(e);return new Uint8Array(i).buffer}function fA(t){return gA.apply(this,arguments)}function gA(){return(gA=PS(function*(t){const e=[];var n,i=!0,r=!1;try{for(var s,o,a=Dk(t);i=(s=yield a.next()).done,o=yield s.value,!i;i=!0)e.push(o)}catch(l){r=!0,n=l}finally{try{!i&&null!=a.return&&(yield a.return())}finally{if(r)throw n}}return dA(...e)})).apply(this,arguments)}const mA=262144;function bA(t){this.wrapped=t}function yA(t){return new bA(t)}function vA(t){var e,n;function i(e,n){try{var s=t[e](n),o=s.value,a=o instanceof bA;Promise.resolve(a?o.wrapped:o).then(function(t){a?i("return"===e?"return":"next",t):r(s.done?"return":"normal",t)},function(t){i("throw",t)})}catch(l){r("throw",l)}}function r(t,r){switch(t){case"return":e.resolve({value:r,done:!0});break;case"throw":e.reject(r);break;default:e.resolve({value:r,done:!1})}(e=e.next)?i(e.key,e.arg):n=null}this._invoke=function(t,r){return new Promise(function(s,o){var a={key:t,arg:r,resolve:s,reject:o,next:null};n?n=n.next=a:(e=n=a,i(t,r))})},"function"!=typeof t.return&&(this.return=void 0)}function _A(t){return function(){return new vA(t.apply(this,arguments))}}function wA(){return(wA=_A(function*(t,e){const n=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;it&&"object"==typeof t&&t.isBuffer)(t)&&(t=t.buffer),t instanceof ArrayBuffer){const n=t;return e.text&&!e.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(t)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(t);let n=t.buffer;const i=t.byteLength||t.length;return(0!==t.byteOffset||i!==n.byteLength)&&(n=n.slice(t.byteOffset,t.byteOffset+i)),n}throw new Error(OA)}function kA(t,e,n){return PA.apply(this,arguments)}function PA(){return(PA=PS(function*(t,e,n){const i=t instanceof ArrayBuffer||ArrayBuffer.isView(t);if("string"==typeof t||i)return TA(t,e);if(Zk(t)&&(t=yield bP(t)),Qk(t)){const n=t;return yield vP(n),e.binary?yield n.arrayBuffer():yield n.text()}if(Jk(t)&&(t=EA(t,n)),Xk(t)||Kk(t))return fA(t);throw new Error(OA)})).apply(this,arguments)}function AA(t,e,n=null){if(n)return n;const i=yt({fetch:LP(e,t)},t);return Array.isArray(i.loaders)||(i.loaders=null),i}function MA(t,e){if(!e&&t&&!Array.isArray(t))return t;let n;if(t&&(n=Array.isArray(t)?t:[t]),e&&e.loaders){const t=Array.isArray(e.loaders)?e.loaders:[e.loaders];n=n?[...n,...t]:t}return n&&n.length?n:null}const IA=()=>{const t=DP();return t.loaderRegistry=t.loaderRegistry||[],t.loaderRegistry};function DA(t){const e=IA();t=Array.isArray(t)?t:[t];for(const n of t){const t=nP(n);e.find(e=>t===e)||e.unshift(t)}}const RA=/\.([^.]+)$/;function NA(t){return LA.apply(this,arguments)}function LA(){return(LA=PS(function*(t,e=[],n,i){if(!FA(t))return null;let r=jA(t,e,zn(yt({},n),{nothrow:!0}),i);if(r)return r;if(Zk(t)&&(r=jA(t=yield t.slice(0,10).arrayBuffer(),e,n,i)),!(r||null!=n&&n.nothrow))throw new Error(BA(t));return r})).apply(this,arguments)}function jA(t,e=[],n,i){if(!FA(t))return null;if(e&&!Array.isArray(e))return nP(e);let r=[];e&&(r=r.concat(e)),null!=n&&n.ignoreRegisteredLoaders||r.push(...IA()),function(t){for(const e of t)nP(e)}(r);const s=function(t,e,n,i){const{url:r,type:s}=fP(t),o=r||(null==i?void 0:i.url);let a=null;return null!=n&&n.mimeType&&(a=VA(e,null==n?void 0:n.mimeType)),a=a||function(t,e){const n=e&&RA.exec(e),i=n&&n[1];return i?function(t,e){e=e.toLowerCase();for(const n of t)for(const t of n.extensions)if(t.toLowerCase()===e)return n;return null}(t,i):null}(e,o),a=a||VA(e,s),a=a||function(t,e){if(!e)return null;for(const n of t)if("string"==typeof e){if(zA(e,n))return n}else if(ArrayBuffer.isView(e)){if(UA(e.buffer,e.byteOffset,n))return n}else if(e instanceof ArrayBuffer&&UA(e,0,n))return n;return null}(e,t),a=a||VA(e,null==n?void 0:n.fallbackMimeType),a}(t,r,n,i);if(!(s||null!=n&&n.nothrow))throw new Error(BA(t));return s}function FA(t){return!(t instanceof Response&&204===t.status)}function BA(t){const{url:e,type:n}=fP(t);let i="No valid loader found";return t&&(i+=` data: "${function(t,e=5){return"string"==typeof t?t.slice(0,e):ArrayBuffer.isView(t)?HA(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?HA(t,0,e):""}(t)}", contentType: "${n}"`),e&&(i+=` url: ${e}`),i}function VA(t,e){for(const n of t)if(n.mimeTypes&&n.mimeTypes.includes(e)||e===`application/x.${n.id}`)return n;return null}function zA(t,e){return e.testText?e.testText(t):(Array.isArray(e.tests)?e.tests:[e.tests]).some(e=>t.startsWith(e))}function UA(t,e,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some(i=>function(t,e,n,i){if(i instanceof ArrayBuffer)return function(t,e,n){if(t.byteLength<(n=n||t.byteLength)||e.byteLengtht.equals(e));let JA=new Uint8ClampedArray(0);const tM={data:{type:"data",value:QA,async:!0},dataComparator:null,_dataDiff:{type:"function",value:t=>t&&t.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(t,{propName:e,layer:n,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=n.context;var a;r=r||n.getLoadOptions(),i=i||n.props.loaders,s&&(r=zn(yt({},r),{fetch:zn(yt({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(t);return!l&&!r&&(o.add({resourceId:t,data:YA(t,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:t,onChange:t=>n.internalState.reloadAsyncProp(e,t),consumerId:n.id,requestId:e}):YA(t,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:Ww.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:t})=>[0,100*-t],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let eM=(()=>{class t extends $k{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,e){var n,i,r,s;e&&(t.message="".concat(e,": ").concat(t.message)),(null===(n=(i=this.props).onError)||void 0===n?void 0:n.call(i,t))||null===(r=this.context)||void 0===r||null===(s=r.onError)||void 0===s||s.call(r,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:e}=this.context,n=gk(t,{viewport:e,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[i,r,s]=rk(n,e.pixelProjectionMatrix);return 2===t.length?[i,r]:[i,r,s]}unproject(t){const{viewport:e}=this.context;return e.unproject(t)}projectPosition(t){return function(t,e){const{viewport:n,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(t){const e=yt({},t);let{coordinateSystem:n}=t;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=t;return n===Ww.DEFAULT&&(n=i.isGeospatial?Ww.LNGLAT:Ww.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=n),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=n,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=MT(n,i,r),h=gk(t,{viewport:n,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(t,e,n){t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2]}(h,h,n.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===Ww.DEFAULT||t===Ww.LNGLAT||t===Ww.CARTESIAN}onHover(t,e){return!!this.props.onHover&&this.props.onHover(t,e)}onClick(t,e){return!!this.props.onClick&&this.props.onClick(t,e)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,e=[]){return e[0]=t+1&255,e[1]=t+1>>8&255,e[2]=t+1>>8>>8&255,e}decodePickingColor(t){RC(t instanceof Uint8Array);const[e,n,i]=t;return e+256*n+65536*i-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const e of this.props.extensions)t=gT(t,e.getShaders.call(this,e));return t}shouldUpdateState({changeFlags:t}){return t.propsOrDataChanged}updateState({oldProps:t,props:e,changeFlags:n}){const i=this.getAttributeManager();if(n.dataChanged&&i){const{dataChanged:t}=n;if(Array.isArray(t))for(const e of t)i.invalidateAll(e);else i.invalidateAll()}const r=e.highlightedObjectIndex>=0||e.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==r&&i){const{pickingColors:t,instancePickingColors:e}=i.attributes,n=t||e;n&&(r&&n.constant&&(n.constant=!1,i.invalidate(n.id)),!n.value&&!r&&(n.constant=!0,n.value=[0,0,0]))}}finalizeState(){for(const e of this.getModels())e.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const e of this.getModels())e.draw(t)}getPickingInfo({info:t}){const{index:e}=t;return e>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[e]),t}activateViewport(t){const e=this.internalState.viewport;this.internalState.viewport=t,(!e||!ZA({oldViewport:e,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",e=""){const n=this.getAttributeManager();!n||("all"===t?n.invalidateAll():n.invalidate(t))}updateAttributes(t){for(const e of this.getModels())this._setModelAttributes(e,t)}_updateAttributes(t){const e=this.getAttributeManager();if(!e)return;const n=this.getNumInstances(t),i=this.getStartIndices(t);e.update({data:t.data,numInstances:n,startIndices:i,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const r=e.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(r)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const e=t.update(),n=Object.create(this.props);for(const t in e)Object.defineProperty(n,t,{value:e[t]});return n}return this.props}calculateInstancePickingColors(t,{numInstances:e}){if(t.constant)return;const n=Math.floor(JA.length/3);if(this.internalState.usesPickingColorCache=!0,nKA&&Gw.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),JA=GS.allocate(JA,e,{size:3,copy:!0,maxCount:Math.max(e,KA)});const t=Math.floor(JA.length/3),i=[];for(let e=n;e{const i={moduleParameters:t,uniforms:e,parameters:n,context:this.context};for(const t of this.props.extensions)t.draw.call(this,i,t);this.draw(i)})}finally{this.props=i}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:e}=this.internalState;for(const i in t)if(t[i]){let n=!1;switch(i){case"dataChanged":Array.isArray(e[i])&&(e[i]=Array.isArray(t[i])?e[i].concat(t[i]):t[i],n=!0);default:e[i]||(e[i]=t[i],n=!0)}n&&tE("layer.changeFlag",this,i,t)}const n=e.dataChanged||e.updateTriggersChanged||e.propsChanged||e.extensionsChanged;e.propsOrDataChanged=n,e.somethingChanged=n||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,e){const n=function(t,e){const n=lT({newProps:t,oldProps:e,propTypes:dT(t),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(t,e){if(null===e)return"oldProps is null, initial diff";let n=null;const{dataComparator:i,_dataDiff:r}=t;return i?i(t.data,e.data)||(n="Data comparator detected a change"):t.data!==e.data&&(n="A new data container was supplied"),n&&r&&(n=r(t.data,e.data)||n),n}(t,e);let r=!1;return i||(r=function(t,e){if(null===e)return"oldProps is null, initial diff";if("all"in t.updateTriggers&&hT(t,e,"all"))return{all:!0};const n={};let i=!1;for(const r in t.updateTriggers)"all"!==r&&hT(t,e,r)&&(n[r]=!0,i=n);return i}(t,e)),{dataChanged:i,propsChanged:n,updateTriggersChanged:r,extensionsChanged:uT(t,e),transitionsChanged:aT(t,e)}}(t,e);if(n.updateTriggersChanged)for(const i in n.updateTriggersChanged)n.updateTriggersChanged[i]&&this.invalidateAttribute(i);if(n.transitionsChanged)for(const i in n.transitionsChanged)this.internalState.uniformTransitions.add(i,e[i],t[i],t.transitions[i]);return this.setChangeFlags(n)}validateProps(){!function(t){const e=dT(t);for(const n in e){const i=e[n],{validate:r}=i;if(r&&!r(t[n],i))throw new Error("Invalid prop ".concat(n,": ").concat(t[n]))}}(this.props)}setModuleParameters(t){for(const e of this.getModels())e.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const e={pickingSelectedColor:t.picked?t.color:null},{highlightColor:n}=this.props;t.picked&&"function"==typeof n&&(e.pickingHighlightColor=n(t)),this.setModuleParameters(e),this.setNeedsRedraw()}_updateModules({props:t,oldProps:e},n){const{autoHighlight:i,highlightedObjectIndex:r,highlightColor:s}=t;if(n||e.autoHighlight!==i||e.highlightedObjectIndex!==r||e.highlightColor!==s){const t={};i||(t.pickingSelectedColor=null),Array.isArray(s)&&(t.pickingHighlightColor=s),Number.isInteger(r)&&(t.pickingSelectedColor=r>=0?this.encodePickingColor(r):null),this.setModuleParameters(t)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let e=!1;e=e||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const n=this.getAttributeManager(),i=n&&n.getNeedsRedraw(t);return e=e||i,e}_getAttributeManager(){return new tT(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){RC(!this.internalState&&!this.state),RC(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new Gk({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Gw.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new rT(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){tE("layer.matched",this,this===t);const{state:e,internalState:n}=t;this!==t&&(this.internalState=n,this.internalState.layer=this,this.state=e,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return t.layerName="Layer",t.defaultProps=tM,t})(),nM=(()=>{class t extends eM{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:e}=t;return e&&e.__source&&e.__source.parent&&e.__source.parent.id===this.id&&(t.object=e.__source.object,t.index=e.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,e){return e&&e.length}getSubLayerClass(t,e){const{_subLayerProps:n}=this.props;return n&&n[t]&&n[t].type||e}getSubLayerRow(t,e,n){return t.__source={parent:this,object:e,index:n},t}getSubLayerAccessor(t){if("function"==typeof t){const e={data:this.props.data,target:[]};return(n,i)=>n&&n.__source?(e.index=n.__source.index,t(n.__source.object,e)):t(n,i)}return t}getSubLayerProps(t={}){const{opacity:e,pickable:n,visible:i,parameters:r,getPolygonOffset:s,highlightedObjectIndex:o,autoHighlight:a,highlightColor:l,coordinateSystem:c,coordinateOrigin:u,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:f,fetch:g,_subLayerProps:m}=this.props,b={opacity:e,pickable:n,visible:i,parameters:r,getPolygonOffset:s,highlightedObjectIndex:o,autoHighlight:a,highlightColor:l,coordinateSystem:c,coordinateOrigin:u,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:f,fetch:g},y=m&&m[t.id],v=y&&y.updateTriggers,_=t.id||"sublayer";if(y){const e=this.constructor._propTypes,n=t.type?t.type._propTypes:{};for(const t in y){const i=n[t]||e[t];i&&"accessor"===i.type&&(y[t]=this.getSubLayerAccessor(y[t]))}}Object.assign(b,t,y),b.id="".concat(this.props.id,"-").concat(_),b.updateTriggers=yt(yt({all:this.props.updateTriggers.all},t.updateTriggers),v);for(const w of f){const t=w.getSubLayerProps.call(this,w);t&&Object.assign(b,t,{updateTriggers:Object.assign(b.updateTriggers,t.updateTriggers)})}return b}_updateAutoHighlight(t){for(const e of this.getSubLayers())e.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const e=!t||this.needsUpdate();e&&(t=this.renderLayers(),t=BC(t,Boolean),this.internalState.subLayers=t),tE("compositeLayer.renderLayers",this,e,t);for(const n of t)n.parent=this}}return t.layerName="CompositeLayer",t})();const iM=/([0-9]+\.?[0-9]*)(%|px)/;function rM(t){switch(typeof t){case"number":return{position:t,relative:!1};case"string":const e=t.match(iM);if(e&&e.length>=3){const t="%"===e[2],n=parseFloat(e[1]);return{position:t?n/100:n,relative:t}}default:throw new Error("Could not parse position string ".concat(t))}}function sM(t,e){return t.relative?Math.round(t.position*e):t.position}function oM(t,e){if(t===e)return!0;if(!t||!e)return!1;for(const n in t){const i=t[n],r=e[n];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&oM(i,r)))return!1}return!0}class aM{constructor(t={}){const{id:e=null,x:n=0,y:i=0,width:r="100%",height:s="100%",projectionMatrix:o=null,fovy:a=50,near:l=.1,far:c=1e3,modelMatrix:u=null,viewportInstance:h=null,type:d=dk}=t;RC(!h||h instanceof dk),this.viewportInstance=h,this.id=e||this.constructor.displayName||"view",this.type=d,this.props=zn(yt({},t),{id:this.id,projectionMatrix:o,fovy:a,near:l,far:c,modelMatrix:u}),this._parseDimensions({x:n,y:i,width:r,height:s}),this.equals=this.equals.bind(this),Object.seal(this)}equals(t){return this===t||(this.viewportInstance?t.viewportInstance&&this.viewportInstance.equals(t.viewportInstance):oM(this.props,t.props))}makeViewport({width:t,height:e,viewState:n}){if(this.viewportInstance)return this.viewportInstance;n=this.filterViewState(n);const i=this.getDimensions({width:t,height:e});return this._getViewport(n,i)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(t){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const e=yt({},t);for(const t in this.props.viewState)"id"!==t&&(e[t]=this.props.viewState[t]);return e}return t}getDimensions({width:t,height:e}){return{x:sM(this._x,t),y:sM(this._y,e),width:sM(this._width,t),height:sM(this._height,e)}}_getControllerProps(t){let e=this.props.controller;return e?!0===e?t:("function"==typeof e&&(e={type:e}),yt(yt({},t),e)):null}_getViewport(t,e){const{type:n}=this;return new n(yt(yt(yt({},t),this.props),e))}_parseDimensions({x:t,y:e,width:n,height:i}){this._x=rM(t),this._y=rM(e),this._width=rM(n),this._height=rM(i)}}const lM=()=>{},cM={transitionEasing:t=>t,transitionInterruption:1,onTransitionStart:lM,onTransitionInterrupt:lM,onTransitionEnd:lM};class uM{constructor(t,e={}){this.ControllerState=t,this.props=yt(yt({},cM),e),this.propsInTransition=null,this.transition=new KO(e.timeline),this.onViewStateChange=e.onViewStateChange||lM,this.onStateChange=e.onStateChange||lM,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(t){let e=!1;const n=this.props;if(t=yt(yt({},cM),t),this.props=t,this._shouldIgnoreViewportChange(n,t))return e;if(this._isTransitionEnabled(t)){const{interruption:i,endProps:r}=this.transition.settings,s=yt(yt({},n),2===i?r:this.propsInTransition||n);this._triggerTransition(s,t),e=!0}else this.transition.cancel();return e}updateTransition(){this.transition.update()}_isTransitionEnabled(t){const{transitionDuration:e,transitionInterpolator:n}=t;return(e>0||"auto"===e)&&Boolean(n)}_isUpdateDueToCurrentTransition(t){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(t,this.propsInTransition)}_shouldIgnoreViewportChange(t,e){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(e):!this._isTransitionEnabled(e)||e.transitionInterpolator.arePropsEqual(t,e)}_triggerTransition(t,e){const n=new this.ControllerState(t),i=new this.ControllerState(e).shortestPathFrom(n),{transitionInterpolator:r}=e,s=r.getDuration?r.getDuration(t,e):e.transitionDuration;if(0===s)return;const o=e.transitionInterpolator.initializeProps(t,i);this.propsInTransition={},this.duration=s,this.transition.start({duration:s,easing:e.transitionEasing,interpolator:e.transitionInterpolator,interruption:e.transitionInterruption,startProps:o.start,endProps:o.end,onStart:e.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(e.onTransitionInterrupt),onEnd:this._onTransitionEnd(e.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(t){return e=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),t(e)}}_onTransitionUpdate(t){const{time:e,settings:{interpolator:n,startProps:i,endProps:r,duration:s,easing:o}}=t,a=o(e/s),l=n.interpolateProps(i,r,a);this.propsInTransition=new this.ControllerState(yt(yt({},this.props),l)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const hM=["longitude","latitude","zoom","bearing","pitch"],dM=["longitude","latitude","zoom"];class pM extends class{constructor(t={}){Array.isArray(t)&&(t={compare:t,extract:t,required:t});const{compare:e,extract:n,required:i}=t;this._propsToCompare=e,this._propsToExtract=n,this._requiredProps=i}arePropsEqual(t,e){for(const n of this._propsToCompare||Object.keys(e))if(!(n in t)||!(n in e)||!nC(t[n],e[n]))return!1;return!0}initializeProps(t,e){let n;if(this._propsToExtract){const i={},r={};for(const n of this._propsToExtract)i[n]=t[n],r[n]=e[n];n={start:i,end:r}}else n={start:t,end:e};return this._checkRequiredProps(n.start),this._checkRequiredProps(n.end),n}interpolateProps(t,e,n){return e}getDuration(t,e){return e.transitionDuration}_checkRequiredProps(t){!this._requiredProps||this._requiredProps.forEach(e=>{const n=t[e];RC(Number.isFinite(n)||Array.isArray(n),"".concat(e," is required for transition"))})}}{constructor(t={}){super((Array.isArray(t)?t:t.transitionProps)||{compare:hM,extract:hM,required:dM}),this.opts=t}initializeProps(t,e){const n=super.initializeProps(t,e),{makeViewport:i,around:r}=this.opts;if(i&&r){const s=i(t),o=i(e),a=s.unproject(r);n.start.around=r,Object.assign(n.end,{around:o.project(a),aroundPosition:a,width:e.width,height:e.height})}return n}interpolateProps(t,e,n){const i={};for(const r of this._propsToExtract)i[r]=eC(t[r]||0,e[r]||0,n);if(e.aroundPosition){const r=this.opts.makeViewport(yt(yt({},e),i));Object.assign(i,r.panByPosition(e.aroundPosition,eC(t.around,e.around,n)))}return i}}const fM={transitionDuration:0},gM={transitionDuration:300,transitionEasing:t=>t,transitionInterruption:1},mM=t=>1-(1-t)*(1-t),bM=["wheel"],yM=["panstart","panmove","panend"],vM=["pinchstart","pinchmove","pinchend"],_M=["tripanstart","tripanmove","tripanend"],wM=["doubletap"],xM=["keydown"];class SM{constructor(t,e={}){this.ControllerState=t,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new uM(t,zn(yt({},e),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const n=this.linearTransitionProps;this._transition=n&&zn(yt({},gM),{transitionInterpolator:new pM({transitionProps:n})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(e)}get linearTransitionProps(){return null}set events(t){this.toggleEvents(this._customEvents,!1),this.toggleEvents(t,!0),this._customEvents=t,this.setProps(this.controllerStateProps)}finalize(){for(const t in this._events)this._events[t]&&this.eventManager.off(t,this.handleEvent);this.transitionManager.finalize()}handleEvent(t){const{ControllerState:e}=this;this.controllerState=new e(yt(yt({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const n=this._eventStartBlocked;switch(t.type){case"panstart":return!n&&this._onPanStart(t);case"panmove":return this._onPan(t);case"panend":return this._onPanEnd(t);case"pinchstart":return!n&&this._onPinchStart(t);case"pinchmove":return this._onPinch(t);case"pinchend":return this._onPinchEnd(t);case"tripanstart":return!n&&this._onTriplePanStart(t);case"tripanmove":return this._onTriplePan(t);case"tripanend":return this._onTriplePanEnd(t);case"doubletap":return this._onDoubleTap(t);case"wheel":return this._onWheel(t);case"keydown":return this._onKeyDown(t);default:return!1}}getCenter(t){const{x:e,y:n}=this.controllerStateProps,{offsetCenter:i}=t;return[i.x-e,i.y-n]}isPointInBounds(t,e){const{width:n,height:i}=this.controllerStateProps;if(e&&e.handled)return!1;const r=t[0]>=0&&t[0]<=n&&t[1]>=0&&t[1]<=i;return r&&e&&e.stopPropagation(),r}isFunctionKeyPressed(t){const{srcEvent:e}=t;return Boolean(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(t){const e=setTimeout(()=>{this._eventStartBlocked===e&&(this._eventStartBlocked=null)},t);this._eventStartBlocked=e}setProps(t){"onViewStateChange"in t&&(this.onViewStateChange=t.onViewStateChange),"onStateChange"in t&&(this.onStateChange=t.onStateChange),"makeViewport"in t&&(this.makeViewport=t.makeViewport),"dragMode"in t&&(this.dragMode=t.dragMode),this.controllerStateProps=t,"eventManager"in t&&this.eventManager!==t.eventManager&&(this.eventManager=t.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in t||(t.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(t);let{inertia:e}=t;!0===e&&(e=300),this.inertia=e;const{scrollZoom:n=!0,dragPan:i=!0,dragRotate:r=!0,doubleClickZoom:s=!0,touchZoom:o=!0,touchRotate:a=!1,keyboard:l=!0}=t,c=Boolean(this.onViewStateChange);this.toggleEvents(bM,c&&n),this.toggleEvents(yM,c&&(i||r)),this.toggleEvents(vM,c&&(o||a)),this.toggleEvents(_M,c&&a),this.toggleEvents(wM,c&&s),this.toggleEvents(xM,c&&l),this.scrollZoom=n,this.dragPan=i,this.dragRotate=r,this.doubleClickZoom=s,this.touchZoom=o,this.touchRotate=a,this.keyboard=l}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(t,e){this.eventManager&&t.forEach(t=>{this._events[t]!==e&&(this._events[t]=e,e?this.eventManager.on(t,this.handleEvent):this.eventManager.off(t,this.handleEvent))})}updateViewport(t,e={},n={}){const i=yt(yt({},t.getViewportProps()),e),r=this.controllerState!==t;if(this._state=t.getState(),this._setInteractionState(n),r){const t=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:i,interactionState:this._interactionState,oldViewState:t})}}_onTransition(t){this.onViewStateChange&&(t.interactionState=this._interactionState,this.onViewStateChange(t))}_setInteractionState(t){Object.assign(this._interactionState,t),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;let n=this.isFunctionKeyPressed(t)||t.rightButton;(this.invertPan||"pan"===this.dragMode)&&(n=!n);const i=this.controllerState[n?"panStart":"rotateStart"]({pos:e});return this._panMove=n,this.updateViewport(i,fM,{isDragging:!0}),!0}_onPan(t){return!!this.isDragging()&&(this._panMove?this._onPanMove(t):this._onPanRotate(t))}_onPanEnd(t){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(t):this._onPanRotateEnd(t))}_onPanMove(t){if(!this.dragPan)return!1;const e=this.getCenter(t),n=this.controllerState.pan({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(t){const{inertia:e}=this;if(this.dragPan&&e&&t.velocity){const n=this.getCenter(t),i=this.controllerState.pan({pos:[n[0]+t.velocityX*e/2,n[1]+t.velocityY*e/2]}).panEnd();this.updateViewport(i,zn(yt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isPanning:!0})}else{const t=this.controllerState.panEnd();this.updateViewport(t,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(t){if(!this.dragRotate)return!1;const e=this.getCenter(t),n=this.controllerState.rotate({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(t){const{inertia:e}=this;if(this.dragRotate&&e&&t.velocity){const n=this.getCenter(t),i=this.controllerState.rotate({pos:[n[0]+t.velocityX*e/2,n[1]+t.velocityY*e/2]}).rotateEnd();this.updateViewport(i,zn(yt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isRotating:!0})}else{const t=this.controllerState.rotateEnd();this.updateViewport(t,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(t){if(!this.scrollZoom)return!1;t.preventDefault();const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const{speed:n=.01,smooth:i=!1}=this.scrollZoom,{delta:r}=t;let s=2/(1+Math.exp(-Math.abs(r*n)));r<0&&0!==s&&(s=1/s);const o=this.controllerState.zoom({pos:e,scale:s});return this.updateViewport(o,zn(yt({},this._getTransitionProps({around:e})),{transitionDuration:i?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.controllerState.rotateStart({pos:e});return this.updateViewport(n,fM,{isDragging:!0}),!0}_onTriplePan(t){if(!this.touchRotate||!this.isDragging())return!1;const e=this.getCenter(t);e[0]-=t.deltaX;const n=this.controllerState.rotate({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(t){if(!this.isDragging())return!1;const{inertia:e}=this;if(this.touchRotate&&e&&t.velocityY){const n=this.getCenter(t),i=[n[0],n[1]+=t.velocityY*e/2],r=this.controllerState.rotate({pos:i});this.updateViewport(r,zn(yt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isRotating:!0}),this.blockEvents(e)}else{const t=this.controllerState.rotateEnd();this.updateViewport(t,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.controllerState.zoomStart({pos:e}).rotateStart({pos:e});return this._startPinchRotation=t.rotation,this._lastPinchEvent=t,this.updateViewport(n,fM,{isDragging:!0}),!0}_onPinch(t){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let e=this.controllerState;if(this.touchZoom){const{scale:n}=t,i=this.getCenter(t);e=e.zoom({pos:i,scale:n})}if(this.touchRotate){const{rotation:n}=t;e=e.rotate({deltaAngleX:this._startPinchRotation-n})}return this.updateViewport(e,fM,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=t,!0}_onPinchEnd(t){if(!this.isDragging())return!1;const{inertia:e,_lastPinchEvent:n}=this;if(this.touchZoom&&e&&n&&t.scale!==n.scale){const i=this.getCenter(t);let r=this.controllerState.rotateEnd();const s=Math.log2(t.scale),o=(s-Math.log2(n.scale))/(t.deltaTime-n.deltaTime),a=Math.pow(2,s+o*e/2);r=r.zoom({pos:i,scale:a}).zoomEnd(),this.updateViewport(r,zn(yt({},this._getTransitionProps({around:i})),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(e)}else{const t=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(t,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(t){if(!this.doubleClickZoom)return!1;const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.isFunctionKeyPressed(t),i=this.controllerState.zoom({pos:e,scale:n?.5:2});return this.updateViewport(i,this._getTransitionProps({around:e}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(t){if(!this.keyboard)return!1;const e=this.isFunctionKeyPressed(t),{zoomSpeed:n,moveSpeed:i,rotateSpeedX:r,rotateSpeedY:s}=this.keyboard,{controllerState:o}=this;let a;const l={};switch(t.srcEvent.code){case"Minus":a=e?o.zoomOut(n).zoomOut(n):o.zoomOut(n),l.isZooming=!0;break;case"Equal":a=e?o.zoomIn(n).zoomIn(n):o.zoomIn(n),l.isZooming=!0;break;case"ArrowLeft":e?(a=o.rotateLeft(r),l.isRotating=!0):(a=o.moveLeft(i),l.isPanning=!0);break;case"ArrowRight":e?(a=o.rotateRight(r),l.isRotating=!0):(a=o.moveRight(i),l.isPanning=!0);break;case"ArrowUp":e?(a=o.rotateUp(s),l.isRotating=!0):(a=o.moveUp(i),l.isPanning=!0);break;case"ArrowDown":e?(a=o.rotateDown(s),l.isRotating=!0):(a=o.moveDown(i),l.isPanning=!0);break;default:return!1}return this.updateViewport(a,this._getTransitionProps(),l),!0}_getTransitionProps(t){const{_transition:e}=this;return e?t?zn(yt({},e),{transitionInterpolator:new pM(zn(yt({},t),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):e:fM}}class CM{constructor(t){this._viewportProps=this._applyConstraints(t)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(t){return this._viewportProps}_applyConstraints(t){return t}}const EM=[0,0,0];class OM extends CM{constructor({makeViewport:t,width:e,height:n,rotationX:i=0,rotationOrbit:r=0,target:s=EM,zoom:o=0,minRotationX:a=-90,maxRotationX:l=90,minZoom:c=-(1/0),maxZoom:u=Infinity,startPanPosition:h,startRotatePos:d,startRotationX:p,startRotationOrbit:f,startZoomPosition:g,startZoom:m}){super({width:e,height:n,rotationX:i,rotationOrbit:r,target:s,zoom:o,minRotationX:a,maxRotationX:l,minZoom:c,maxZoom:u}),this._state={startPanPosition:h,startRotatePos:d,startRotationX:p,startRotationOrbit:f,startZoomPosition:g,startZoom:m},this.makeViewport=t}panStart({pos:t}){return this._getUpdatedState({startPanPosition:this._unproject(t)})}pan({pos:t,startPosition:e}){const n=this._state.startPanPosition||e;if(!n)return this;const i=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(i)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:t,deltaAngleX:e=0,deltaAngleY:n=0}){const{startRotatePos:i,startRotationX:r,startRotationOrbit:s}=this._state,{width:o,height:a}=this._viewportProps;if(!i||!Number.isFinite(r)||!Number.isFinite(s))return this;let l;if(t){let e=(t[0]-i[0])/o;(r<-90||r>90)&&(e*=-1),l={rotationX:r+(t[1]-i[1])/a*180,rotationOrbit:s+180*e}}else l={rotationX:r+n,rotationOrbit:s+e};return this._getUpdatedState(l)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(t){const e=t.getViewportProps(),n=yt({},this._viewportProps),{rotationOrbit:i}=n;return Math.abs(i-e.rotationOrbit)>180&&(n.rotationOrbit=i<0?i+360:i-360),n}zoomStart({pos:t}){return this._getUpdatedState({startZoomPosition:this._unproject(t),startZoom:this._viewportProps.zoom})}zoom({pos:t,startPos:e,scale:n}){const{zoom:i}=this._viewportProps;let{startZoom:r,startZoomPosition:s}=this._state;Number.isFinite(r)||(r=i,s=this._unproject(e)||this._unproject(t));const o=this._calculateNewZoom({scale:n,startZoom:r}),a=this.makeViewport(zn(yt({},this._viewportProps),{zoom:o}));return this._getUpdatedState(yt({zoom:o},a.panByPosition(s,t)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(t=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:t})})}zoomOut(t=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/t})})}moveLeft(t=50){return this._panFromCenter([-t,0])}moveRight(t=50){return this._panFromCenter([t,0])}moveUp(t=50){return this._panFromCenter([0,-t])}moveDown(t=50){return this._panFromCenter([0,t])}rotateLeft(t=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-t})}rotateRight(t=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+t})}rotateUp(t=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-t})}rotateDown(t=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+t})}_unproject(t){const e=this.makeViewport(this._viewportProps);return t&&e.unproject(t)}_calculateNewZoom({scale:t,startZoom:e}){const{maxZoom:n,minZoom:i}=this._viewportProps;return Number.isFinite(e)||(e=this._viewportProps.zoom),tC(e+Math.log2(t),i,n)}_panFromCenter(t){const{width:e,height:n,target:i}=this._viewportProps;return this.pan({startPosition:i,pos:[e/2+t[0],n/2+t[1]]})}_getUpdatedState(t){return new OM(yt(yt(yt({},this._viewportProps),this._state),t))}_applyConstraints(t){const{maxZoom:e,minZoom:n,zoom:i,maxRotationX:r,minRotationX:s,rotationOrbit:o}=t;return t.zoom=tC(i,n,e),t.rotationX=tC(t.rotationX,s,r),(o<-180||o>180)&&(t.rotationOrbit=function(t,e){const n=t%360;return n<0?360+n:n}(o+180)-180),t}}class TM extends SM{constructor(t){super(OM,t)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class kM extends SM{constructor(t){t.dragMode=t.dragMode||"pan",super(OM,t)}_onPanRotate(t){return!1}get linearTransitionProps(){return["target","zoom"]}}const PM=(new VT).lookAt({eye:[0,0,1]});function AM({width:t,height:e,near:n,far:i}){return t=t||1,e=e||1,(new VT).ortho({left:-t/2,right:t/2,bottom:-e/2,top:e/2,near:n,far:i})}class MM extends dk{constructor(t){const{width:e,height:n,near:i=.1,far:r=1e3,zoom:s=0,target:o=[0,0,0],flipY:a=!0}=t,l=Math.pow(2,s);super(zn(yt({},t),{longitude:null,position:o,viewMatrix:PM.clone().scale([l,l*(a?-1:1),l]),projectionMatrix:AM({width:e,height:n,near:i,far:r}),zoom:s}))}panByPosition(t,e){const n=DT([],t,RT([],sk(e,this.pixelUnprojectionMatrix)));return{target:DT([],this.center,n)}}}let IM=(()=>{class t extends aM{constructor(t){super(zn(yt({},t),{type:MM}))}get controller(){return this._getControllerProps({type:kM})}}return t.displayName="OrthographicView",t})();const DM=Math.PI/180;function RM({height:t,fovy:e,orbitAxis:n,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*DM/2),a="Z"===n?[0,0,1]:[0,1,0],l="Z"===n?[0,-o,0]:[0,0,o],c=(new VT).lookAt({eye:l,up:a});c.rotateX(i*DM),"Z"===n?c.rotateZ(r*DM):c.rotateY(r*DM);const u=Math.pow(2,s)/(t||1);return c.scale(u),c}class NM extends dk{constructor(t){const{height:e,fovy:n,orbitAxis:i,target:r=[0,0,0],rotationX:s=0,rotationOrbit:o=0,zoom:a=0}=t;super(zn(yt({},t),{longitude:null,viewMatrix:RM({height:e,fovy:n,orbitAxis:i,rotationX:s,rotationOrbit:o,zoom:a}),fovy:n,position:r,zoom:a})),this.projectedCenter=this.project(this.center)}unproject(t,{topLeft:e=!0}={}){const[n,i,r=this.projectedCenter[2]]=t,s=e?i:this.height-i,[o,a,l]=sk([n,s,r],this.pixelUnprojectionMatrix);return[o,a,l]}panByPosition(t,e){const n=this.project(t);return{target:this.unproject([this.width/2+n[0]-e[0],this.height/2+n[1]-e[1],this.projectedCenter[2]])}}}let LM=(()=>{class t extends aM{constructor(t={}){const{orbitAxis:e="Z"}=t;super(zn(yt({},t),{orbitAxis:e,type:NM}))}get controller(){return this._getControllerProps({type:TM})}}return t.displayName="OrbitView",t})();const jM=[255,255,255],FM=1;let BM=0;class VM{constructor(t={}){const{color:e=jM}=t,{intensity:n=FM}=t;this.id=t.id||"ambient-".concat(BM++),this.color=e,this.intensity=n,this.type="ambient"}}const zM=[255,255,255],UM=1,HM=[0,0,-1];let $M=0;class GM{constructor(t={}){const{color:e=zM}=t,{intensity:n=UM}=t,{direction:i=HM}=t,{_shadow:r=!1}=t;this.id=t.id||"directional-".concat($M++),this.color=e,this.intensity=n,this.type="directional",this.direction=new OC(i).normalize().toArray(),this.shadow=r}getProjectedLight(){return this}}class WM{constructor(t={}){const{id:e="effect"}=t;this.id=e,this.props=yt({},t)}preRender(){}getModuleParameters(){}cleanup(){}}class qM extends class{constructor(t,e={}){const{id:n="pass"}=e;this.id=n,this.gl=t,this.props=yt({},e)}setProps(t){Object.assign(this.props,t)}render(){}cleanup(){}}{render(t){return Mx(this.gl,{framebuffer:t.target}),this._drawLayers(t)}_drawLayers(t){const{viewports:e,views:n,onViewportActive:i,clearCanvas:r=!0}=t;t.pass=t.pass||"unknown";const s=this.gl;r&&function(t){Mx(t,{viewport:[0,0,t.drawingBufferWidth,t.drawingBufferHeight]}),t.clear(16640)}(s);const o=[];for(const a of e){const e=a.viewport||a,r=n&&n[e.id];i(e);const l=this._getDrawLayerParams(e,t);t.view=r;const c=e.subViewports||[e];for(const n of c){t.viewport=n;const e=this._drawLayersInViewport(s,t,l);o.push(e)}}return o}_getDrawLayerParams(t,{layers:e,pass:n,layerFilter:i,effects:r,moduleParameters:s}){const o=[],a=YM(),l={viewport:t,isPicking:n.startsWith("picking"),renderPass:n};for(let c=0;cTS(t,e))}const a={totalCount:e.length,visibleCount:0,compositeCount:0,pickableCount:0};Mx(t,{viewport:o});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in n){const t=n[l]=n[l]||YM(e[l],e);c=t(r,s),n[a]=t}else Number.isFinite(o)?(c=o+(e[l]||0),n[a]=null):c=t;return s&&c>=t&&(t=c+1),e[a]=c,c};return i}class XM extends qM{constructor(t,e){super(t,e),this.shadowMap=new xS(t,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new ES(t,{format:33189,width:1,height:1}),this.fbo=new BS(t,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(t){const e=this.fbo;Ix(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const n=t.viewports[0],i=Rx(this.gl),r=n.width*i,s=n.height*i;(r!==e.width||s!==e.height)&&e.resize({width:r,height:s}),super.render(zn(yt({},t),{target:e,pass:"shadow"}))})}shouldDrawLayer(t){return!1!==t.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const KM=Object.keys(Ww).map(t=>"const int COORDINATE_SYSTEM_".concat(t," = ").concat(Ww[t],";")).join(""),QM=Object.keys(qw).map(t=>"const int PROJECTION_MODE_".concat(t," = ").concat(qw[t],";")).join("");var ZM="".concat(KM,"\n").concat(QM,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n");const JM={};var tI={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:ZM,getUniforms:function(t=JM){return t.viewport?function({viewport:t,devicePixelRatio:e=1,modelMatrix:n=null,coordinateSystem:i=Ww.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===Ww.DEFAULT&&(i=t.isGeospatial?Ww.LNGLAT:Ww.CARTESIAN);const o=AT({viewport:t,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=n||TT,o}(t):{}}};const eI=fT(function({viewport:t,center:e}){return new VT(t.viewProjectionMatrix).invert().transform(e)}),nI=fT(function({viewport:t,shadowMatrices:e}){const n=[],i=t.pixelUnprojectionMatrix,r=t.isGeospatial?void 0:1,s=[[0,0,r],[t.width,0,r],[0,t.height,r],[t.width,t.height,r],[0,0,-1],[t.width,0,-1],[0,t.height,-1],[t.width,t.height,-1]].map(t=>function(t,e){const[n,i,r]=t,s=sk([n,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(t,i));for(const o of e){const e=o.clone().translate(new OC(t.center).negate()),i=s.map(t=>e.transform(t)),r=(new VT).ortho({left:Math.min(...i.map(t=>t[0])),right:Math.max(...i.map(t=>t[0])),bottom:Math.min(...i.map(t=>t[1])),top:Math.max(...i.map(t=>t[1])),near:Math.min(...i.map(t=>-t[2])),far:Math.max(...i.map(t=>-t[2]))});n.push(r.multiplyRight(o))}return n}),iI=[0,0,0,1],rI=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0];var sI={name:"shadow",dependencies:[tI],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(t={},e={})=>{if(t.drawToShadowMap||t.shadowMaps&&t.shadowMaps.length>0){const{shadowEnabled:n=!0}=t;return n&&t.shadowMatrices&&t.shadowMatrices.length>0?function(t={},e={}){const n={shadow_uDrawShadowMap:Boolean(t.drawToShadowMap),shadow_uUseShadowMap:!!t.shadowMaps&&t.shadowMaps.length>0,shadow_uColor:t.shadowColor||iI,shadow_uLightId:t.shadowLightId||0,shadow_uLightCount:t.shadowMatrices.length},i=eI({viewport:t.viewport,center:e.project_uCenter}),r=[],s=nI({shadowMatrices:t.shadowMatrices,viewport:t.viewport}).slice();for(let o=0;o0?t.shadowMaps[o]:t.dummyShadowMap;return n}(t,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}};const oI={color:[255,255,255],intensity:1},aI=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],lI=[0,0,0,200/255];class cI extends WM{constructor(t){super(t),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=lI,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const e in t){const n=t[e];switch(n.type){case"ambient":this.ambientLight=n;break;case"directional":this.directionalLights.push(n);break;case"point":this.pointLights.push(n)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(t,{layers:e,layerFilter:n,viewports:i,onViewportActive:r,views:s}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(t),this.programManager||(this.programManager=PO.getDefaultProgramManager(t),sI&&this.programManager.addDefaultModule(sI)),this.dummyShadowMap||(this.dummyShadowMap=new xS(t,{width:1,height:1}));for(let t=0;te.getProjectedLight({layer:t})),pointLights:this.pointLights.map(e=>e.getProjectedLight({layer:t}))},e}cleanup(){for(const t of this.shadowPasses)t.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(sI),this.programManager=null)}_createLightMatrix(){const t=[];for(const e of this.directionalLights){const n=(new VT).lookAt({eye:new OC(e.direction).negate()});t.push(n)}return t}_createShadowPasses(t){for(let e=0;e=e.delay+e.duration*e.repeat}getTime(t){if(void 0===t)return this.time;const e=this.channels.get(t);return void 0===e?-1:e.time}setTime(t){this.time=Math.max(0,t);const e=this.channels.values();for(const i of e)this._setChannelTime(i,this.time);const n=this.animations.values();for(const i of n){const{animation:t,channel:e}=i;t.setTime(this.getTime(e))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(t,e){const n=hI++;return this.animations.set(n,{animation:t,channel:e}),t.setTime(this.getTime(e)),n}detachAnimation(t){this.animations.delete(t)}update(t){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=t),this.setTime(this.time+(t-this.lastEngineTime)),this.lastEngineTime=t)}_setChannelTime(t,e){const n=e-t.delay;n>=t.duration*t.repeat?t.time=t.duration*t.rate:(t.time=Math.max(0,n)%t.duration,t.time*=t.rate)}}class pI{constructor(t,e,n){this.id=t,this.context=n,this._loadCount=0,this._subscribers=new Set,this.setData(e)}subscribe(t){this._subscribers.add(t)}unsubscribe(t){this._subscribers.delete(t)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(t,e){if(t===this._data&&!e)return;this._data=t;const n=++this._loadCount;let i=t;"string"==typeof t&&(i=YA(t)),i instanceof Promise?(this.isLoaded=!1,this._loader=i.then(t=>{this._loadCount===n&&(this.isLoaded=!0,this._error=null,this._content=t)}).catch(t=>{this._loadCount===n&&(this.isLoaded=!0,this._error=t||!0)})):(this.isLoaded=!0,this._error=null,this._content=t);for(const r of this._subscribers)r.onChange(this.getData())}}class fI{constructor({gl:t,protocol:e}){this.protocol=e||"resource://",this._context={gl:t,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(t){return!!t.startsWith(this.protocol)||t in this._resources}add({resourceId:t,data:e,forceUpdate:n=!1,persistent:i=!0}){let r=this._resources[t];r?r.setData(e,n):(r=new pI(t,e,this._context),this._resources[t]=r),r.persistent=i}remove(t){const e=this._resources[t];e&&(e.delete(),delete this._resources[t])}unsubscribe({consumerId:t}){const e=this._consumers[t];if(e){for(const t in e){const n=e[t];n.resource&&n.resource.unsubscribe(n)}delete this._consumers[t],this.prune()}}subscribe({resourceId:t,onChange:e,consumerId:n,requestId:i="default"}){const{_resources:r,protocol:s}=this;t.startsWith(s)&&(r[t=t.replace(s,"")]||this.add({resourceId:t,data:null,persistent:!1}));const o=r[t];if(this._track(n,i,o,e),o)return o.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const t in this._resources)this._resources[t].delete()}_track(t,e,n,i){const r=this._consumers,s=r[t]=r[t]||{},o=s[e]||{};o.resource&&(o.resource.unsubscribe(o),o.resource=null,this.prune()),n&&(s[e]=o,o.onChange=i,o.resource=n,n.subscribe(o))}_prune(){this._pruneRequest=null;for(const t of Object.keys(this._resources)){const e=this._resources[t];!e.persistent&&!e.inUse()&&(e.delete(),delete this._resources[t])}}}const gI=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},tI],mI=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function bI(t){const e=PO.getDefaultProgramManager(t);for(const n of gI)e.addDefaultModule(n);for(const n of mI)e.addShaderHook(n);return e}const yI=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class vI{constructor(t,{deck:e,stats:n,viewport:i,timeline:r}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new fI({gl:t,protocol:"deck://"}),this.context=zn(yt({},yI),{layerManager:this,gl:t,deck:e,programManager:t&&bI(t),stats:n||new Gx({id:"deck.gl"}),viewport:i||new dk({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:r||new dI,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const t of this.layers)this._finalizeLayer(t)}needsRedraw(t={clearRedrawFlags:!1}){let e=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);for(const n of this.layers){const i=n.getNeedsRedraw(t);e=e||i}return e}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(t){this._needsRedraw=this._needsRedraw||t}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t}getLayers({layerIds:t=null}={}){return t?this.layers.filter(e=>t.find(t=>0===e.id.indexOf(t))):this.layers}setProps(t){"debug"in t&&(this._debug=t.debug),"userData"in t&&(this.context.userData=t.userData),"layers"in t&&(this._nextLayers=t.layers),"onError"in t&&(this.context.onError=t.onError)}setLayers(t,e){tE("layerManager.setLayers",this,e,t),this.lastRenderedLayers=t,t=BC(t,Boolean);for(const n of t)n.context=this.context;return this._updateLayers(this.layers,t),this}updateLayers(){const t=this.needsUpdate();t&&(this.setNeedsRedraw("updating layers: ".concat(t)),this.setLayers(this._nextLayers||this.lastRenderedLayers,t)),this._nextLayers=null}activateViewport(t){return tE("layerManager.activateViewport",this,t),t&&(this.context.viewport=t),this}_handleError(t,e,n){n.raiseError(e,"".concat(t," of ").concat(n))}_updateLayers(t,e){const n={};for(const s of t)n[s.id]?Gw.warn("Multiple old layers with same id ".concat(s.id))():n[s.id]=s;const i=[];this._updateSublayersRecursively(e,n,i),this._finalizeOldLayers(n);let r=!1;for(const s of i)if(s.hasUniformTransition()){r=!0;break}this._needsUpdate=r,this.layers=i}_updateSublayersRecursively(t,e,n){for(const r of t){r.context=this.context;const t=e[r.id];null===t&&Gw.warn("Multiple new layers with same id ".concat(r.id))(),e[r.id]=null;let s=null;try{this._debug&&t!==r&&r.validateProps(),t?(this._transferLayerState(t,r),this._updateLayer(r)):this._initializeLayer(r),n.push(r),s=r.isComposite&&r.getSubLayers()}catch(i){this._handleError("matching",i,r)}s&&this._updateSublayersRecursively(s,e,n)}}_finalizeOldLayers(t){for(const e in t){const n=t[e];n&&this._finalizeLayer(n)}}_initializeLayer(t){try{t._initialize(),t.lifecycle="Initialized"}catch(e){this._handleError("initialization",e,t)}}_transferLayerState(t,e){e._transferState(t),e.lifecycle="Matched. State transferred from previous layer",e!==t&&(t.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(t){try{t._update()}catch(e){this._handleError("update",e,t)}}_finalizeLayer(t){this._needsRedraw=this._needsRedraw||"finalized ".concat(t),t.lifecycle="No longer matched. Awaiting garbage collection";try{t._finalize(),t.lifecycle="Finalized! Awaiting garbage collection"}catch(e){this._handleError("finalization",e,t)}}}class _I{constructor(t={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=t.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=t.eventManager,this._eventCallbacks={onViewStateChange:t.onViewStateChange,onInteractionStateChange:t.onInteractionStateChange},Object.seal(this),this.setProps(t)}finalize(){for(const t in this.controllers)this.controllers[t]&&this.controllers[t].finalize();this.controllers={}}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t,this._needsRedraw=this._needsRedraw||t}updateViewStates(){for(const t in this.controllers){const e=this.controllers[t];e&&e.updateTransition()}}getViewports(t){return t?this._viewports.filter(e=>e.containsPixel(t)):this._viewports}getViews(){const t={};return this.views.forEach(e=>{t[e.id]=e}),t}getView(t){return"string"==typeof t?this.views.find(e=>e.id===t):t}getViewState(t){const e=this.getView(t),n=e&&this.viewState[e.getViewStateId()]||this.viewState;return e?e.filterViewState(n):n}getViewport(t){return this._viewportMap[t]}unproject(t,e){const n=this.getViewports(),i={x:t[0],y:t[1]};for(let r=n.length-1;r>=0;--r){const s=n[r];if(s.containsPixel(i)){const n=t.slice();return n[0]-=s.x,n[1]-=s.y,s.unproject(n,e)}}return null}setProps(t){"views"in t&&this._setViews(t.views),"viewState"in t&&this._setViewState(t.viewState),("width"in t||"height"in t)&&this._setSize(t.width,t.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(t,e){(t!==this.width||e!==this.height)&&(this.width=t,this.height=e,this.setNeedsUpdate("Size changed"))}_setViews(t){t=BC(t,Boolean),this._diffViews(t,this.views)&&this.setNeedsUpdate("views changed"),this.views=t}_setViewState(t){t?(!oM(t,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=t):Gw.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(t,e){e.viewId=t,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(e)}_createController(t,e){return new(0,e.type)(yt({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,e.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:e=>t._getViewport(e,{width:e.width,height:e.height})},e))}_updateController(t,e,n,i){let r=t.controller;return r?(r=zn(yt(yt(yt({},e),t.props),r),{id:t.id,x:n.x,y:n.y,width:n.width,height:n.height}),i?i.setProps(r):i=this._createController(t,r),i):null}_rebuildViewports(){const{width:t,height:e,views:n}=this,i=this.controllers;this._viewports=[],this.controllers={};let r=!1;for(let s=n.length;s--;){const o=n[s],a=this.getViewState(o),l=o.makeViewport({width:t,height:e,viewState:a});let c=i[o.id];o.controller&&!c&&(r=!0),(r||!o.controller)&&c&&(c.finalize(),c=null),this.controllers[o.id]=this._updateController(o,a,l,c),this._viewports.unshift(l)}for(const s in i)i[s]&&!this.controllers[s]&&i[s].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(t=>{t.id&&(this._viewportMap[t.id]=this._viewportMap[t.id]||t)})}_diffViews(t,e){return t.length!==e.length||t.some((n,i)=>!t[i].equals(e[i]))}}class wI extends CM{constructor({makeViewport:t,width:e,height:n,latitude:i,longitude:r,zoom:s,bearing:o=0,pitch:a=0,altitude:l=1.5,maxZoom:c=20,minZoom:u=0,maxPitch:h=60,minPitch:d=0,startPanLngLat:p,startZoomLngLat:f,startRotatePos:g,startBearing:m,startPitch:b,startZoom:y,normalize:v}={}){RC(Number.isFinite(r)),RC(Number.isFinite(i)),RC(Number.isFinite(s)),super({width:e,height:n,latitude:i,longitude:r,zoom:s,bearing:o,pitch:a,altitude:l,maxZoom:c,minZoom:u,maxPitch:h,minPitch:d,normalize:v}),this._state={startPanLngLat:p,startZoomLngLat:f,startRotatePos:g,startBearing:m,startPitch:b,startZoom:y},this.makeViewport=t}panStart({pos:t}){return this._getUpdatedState({startPanLngLat:this._unproject(t)})}pan({pos:t,startPos:e}){const n=this._state.startPanLngLat||this._unproject(e);if(!n)return this;const i=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(i)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:t,deltaAngleX:e=0,deltaAngleY:n=0}){const{startRotatePos:i,startBearing:r,startPitch:s}=this._state;if(!i||!Number.isFinite(r)||!Number.isFinite(s))return this;let o;return o=t?this._calculateNewPitchAndBearing(zn(yt({},this._getRotationParams(t,i)),{startBearing:r,startPitch:s})):{bearing:r+e,pitch:s+n},this._getUpdatedState(o)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:t}){return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this._viewportProps.zoom})}zoom({pos:t,startPos:e,scale:n}){let{startZoom:i,startZoomLngLat:r}=this._state;Number.isFinite(i)||(i=this._viewportProps.zoom,r=this._unproject(e)||this._unproject(t));const s=this._calculateNewZoom({scale:n,startZoom:i}),o=this.makeViewport(zn(yt({},this._viewportProps),{zoom:s}));return this._getUpdatedState(yt({zoom:s},o.panByPosition(r,t)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(t=2){return this._zoomFromCenter(t)}zoomOut(t=2){return this._zoomFromCenter(1/t)}moveLeft(t=100){return this._panFromCenter([t,0])}moveRight(t=100){return this._panFromCenter([-t,0])}moveUp(t=100){return this._panFromCenter([0,t])}moveDown(t=100){return this._panFromCenter([0,-t])}rotateLeft(t=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-t})}rotateRight(t=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+t})}rotateUp(t=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+t})}rotateDown(t=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-t})}shortestPathFrom(t){const e=t.getViewportProps(),n=yt({},this._viewportProps),{bearing:i,longitude:r}=n;return Math.abs(i-e.bearing)>180&&(n.bearing=i<0?i+360:i-360),Math.abs(r-e.longitude)>180&&(n.longitude=r<0?r+360:r-360),n}_zoomFromCenter(t){const{width:e,height:n}=this._viewportProps;return this.zoom({pos:[e/2,n/2],scale:t})}_panFromCenter(t){const{width:e,height:n}=this._viewportProps;return this.pan({startPos:[e/2,n/2],pos:[e/2+t[0],n/2+t[1]]})}_getUpdatedState(t){return new this.constructor(yt(yt(yt({makeViewport:this.makeViewport},this._viewportProps),this._state),t))}_applyConstraints(t){const{maxZoom:e,minZoom:n,zoom:i}=t;t.zoom=tC(i,n,e);const{maxPitch:r,minPitch:s,pitch:o}=t;t.pitch=tC(o,s,r);const{normalize:a=!0}=t;return a&&Object.assign(t,function({width:t,height:e,longitude:n,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(n<-180||n>180)&&(n=UT(n+180,360)-180),(o<-180||o>180)&&(o=UT(o+180,360)-180);const a=$T(e/512);if(r<=a)r=a,i=0;else{const t=e/2/Math.pow(2,r),n=tk([0,t])[1];if(ie&&(i=e)}}return{width:t,height:e,longitude:n,latitude:i,zoom:r,pitch:s,bearing:o}}(t)),t}_unproject(t){const e=this.makeViewport(this._viewportProps);return t&&e.unproject(t)}_calculateNewZoom({scale:t,startZoom:e}){const{maxZoom:n,minZoom:i}=this._viewportProps;return tC(e+Math.log2(t),i,n)}_calculateNewPitchAndBearing({deltaScaleX:t,deltaScaleY:e,startBearing:n,startPitch:i}){e=tC(e,-1,1);const{minPitch:r,maxPitch:s}=this._viewportProps;let o=i;return e>0?o=i+e*(s-i):e<0&&(o=i-e*(r-i)),{pitch:o,bearing:n+180*t}}_getRotationParams(t,e){const n=t[0]-e[0],i=t[1]-e[1],r=t[1],s=e[1],{width:o,height:a}=this._viewportProps,l=n/o;let c=0;return i>0?Math.abs(a-s)>5&&(c=i/(s-a)*1.2):i<0&&s>5&&(c=1-r/s),c=Math.min(1,Math.max(-1,c)),{deltaScaleX:l,deltaScaleY:c}}}class xI extends SM{constructor(t){t.dragMode=t.dragMode||"pan",super(wI,t)}setProps(t){const e=this.controllerStateProps;super.setProps(t),(!e||e.height!==t.height)&&this.updateViewport(new this.ControllerState(yt(yt({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let SI=(()=>{class t extends aM{constructor(t){super(zn(yt({},t),{type:pk}))}get controller(){return this._getControllerProps({type:xI})}}return t.displayName="MapView",t})();const CI=new cI;class EI{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(t){"effects"in t&&(t.effects.length!==this.effects.length||!oM(t.effects,this.effects))&&(this.setEffects(t.effects),this._needsRedraw="effects changed")}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(t=[]){this.cleanup(),this.effects=t,this._createInternalEffects()}cleanup(){for(const t of this.effects)t.cleanup();for(const t of this._internalEffects)t.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(t=>t instanceof cI)||this._internalEffects.push(CI)}}class OI extends qM{}const TI={blendFunc:[1,0,32771,0],blendEquation:32774};class kI extends qM{render(t){t.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(t)):(this.useAlpha=!1,super.render(t))}_drawPickingBuffer({layers:t,layerFilter:e,views:n,viewports:i,onViewportActive:r,pickingFBO:s,deviceRect:{x:o,y:a,width:l,height:c},pass:u="picking",redrawReason:h,pickZ:d}){const p=this.gl;return this.pickZ=d,Ix(p,zn(yt({scissorTest:!0,scissor:[o,a,l,c],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},TI),{blend:!d}),()=>{super.render({target:s,layers:t,layerFilter:e,views:n,viewports:i,onViewportActive:r,pass:u,redrawReason:h})})}shouldDrawLayer(t){return t.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(t,e){const n=this.pickZ?{blend:!1}:zn(yt({},TI),{blend:!0,blendColor:[0,0,0,this.useAlpha?(e+1)/255:1]});return yt(yt({},t.props.parameters),n)}}class PI{constructor(t){this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new OI(t),this.pickLayersPass=new kI(t),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(t){"layerFilter"in t&&this.layerFilter!==t.layerFilter&&(this.layerFilter=t.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in t&&this.drawPickingColors!==t.drawPickingColors&&(this.drawPickingColors=t.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(t){const e=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;t.layerFilter=this.layerFilter,t.effects=t.effects||[],t.target=t.target||BS.getDefaultFramebuffer(this.gl),this._preRender(t.effects,t);const n=this.lastPostProcessEffect?this.renderBuffers[0]:t.target,i=e.render(zn(yt({},t),{target:n}));this._postRender(t.effects,t),this.renderCount++,tE("deckRenderer.renderLayers",this,i,t)}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}finalize(){const{renderBuffers:t}=this;for(const e of t)e.delete();t.length=0}_preRender(t,e){let n=null;for(const i of t)i.preRender(this.gl,e),i.postRender&&(n=i);n&&this._resizeRenderBuffers(),this.lastPostProcessEffect=n}_resizeRenderBuffers(){const{renderBuffers:t}=this;0===t.length&&t.push(new BS(this.gl),new BS(this.gl));for(const e of t)e.resize()}_postRender(t,e){const{renderBuffers:n}=this,i={inputBuffer:n[0],swapBuffer:n[1],target:null};for(const r of t)if(r.postRender){if(r===this.lastPostProcessEffect){i.target=e.target,r.postRender(this.gl,i);break}const t=r.postRender(this.gl,i);i.inputBuffer=t,i.swapBuffer=t===n[0]?n[1]:n[0]}}}const AI={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function MI({pickedColors:t,layers:e,deviceX:n,deviceY:i,deviceRadius:r,deviceRect:s}){if(t){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,d=0;for(let e=0;eu)d+=4*l;else for(let e=0;e=0){const t=e+o-n,i=t*t+s;i<=u&&(u=i,h=d)}d+=4}}if(h>=0){const n=t[h+3]-1,i=t.slice(h,h+4),r=e[n];if(r){const t=r.decodePickingColor(i),e=Math.floor(h/4/l);return{pickedColor:i,pickedLayer:r,pickedObjectIndex:t,pickedX:o+(h/4-e*l),pickedY:a+e}}Gw.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return AI}function II({pickInfo:t,mode:e,viewports:n,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=t&&t.pickedLayer,c=function(t,e,n){for(let i=t.length-1;i>=0;i--){const r=t[i];if(r.containsPixel(e)&&(!n||n(r)))return r}return t[0]}(n,{x:s,y:o},i&&l&&(t=>i({layer:l,viewport:t,isPicking:!0,renderPass:"picking:".concat(e)}))),u=c&&c.unproject([s-c.x,o-c.y],{targetZ:a});return{color:null,layer:null,viewport:c,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:u,devicePixel:t&&[t.pickedX,t.pickedY],pixelRatio:r}}function DI(t){const{pickInfo:e,lastPickedInfo:n,mode:i,layers:r}=t,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const t=n.index,e=n.layerId,i=o&&o.props.id;if(i!==e||a!==t){if(i!==e){const t=r.find(t=>t.props.id===e);t&&l.unshift(t)}n.layerId=i,n.index=a,n.info=null}}const c=II(t),u=new Map;return u.set(null,c),l.forEach(t=>{let e=yt({},c);t===o&&(e.color=s,e.index=a,e.picked=!0),e=RI({layer:t,info:e,mode:i}),t===o&&"hover"===i&&(n.info=e),u.set(e.layer.id,e),"hover"===i&&e.layer.updateAutoHighlight(e)}),u}function RI({layer:t,info:e,mode:n}){for(;t&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=t,e=t.getPickingInfo({info:e,mode:n,sourceLayer:i}),t=t.parent}return e}class NI{constructor(t){this.gl=t,this.pickingFBO=null,this.pickLayersPass=new kI(t),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(t){"layerFilter"in t&&(this.layerFilter=t.layerFilter),"_pickable"in t&&(this._pickable=t._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(t){return this._pickClosestObject(t)}pickObjects(t){return this._pickVisibleObjects(t)}getLastPickedObject({x:t,y:e,layers:n,viewports:i},r=this.lastPickedInfo.info){const s=r&&r.layer&&r.layer.id,o=r&&r.viewport&&r.viewport.id,a=s?n.find(t=>t.id===s):null,l=o&&i.find(t=>t.id===o)||i[0],c=l&&l.unproject([t-l.x,e-l.y]),u={x:t,y:e,viewport:l,coordinate:c,layer:a};return a?yt(yt({},r),u):Object.assign(u,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:t}=this;return this.pickingFBO||(this.pickingFBO=new BS(t),BS.isSupported(t,{colorBufferFloat:!0})&&(this.depthFBO=new BS(t),this.depthFBO.attach({36064:new xS(t,{format:Zw(t)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:t.canvas.width,height:t.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:t.canvas.width,height:t.canvas.height}),this.pickingFBO}_getPickable(t){if(!1===this._pickable)return null;const e=t.filter(t=>t.isPickable()&&!t.isComposite);return e.length>255?(Gw.warn("Too many pickable layers, only picking the first 255")(),e.slice(0,255)):e.length?e:null}_pickClosestObject({layers:t,views:e,viewports:n,x:i,y:r,radius:s=0,depth:o=1,mode:a="query",unproject3D:l,onViewportActive:c}){if(!(t=this._getPickable(t)))return{result:[],emptyInfo:II({viewports:n,x:i,y:r})};this._resizeBuffer();const u=Rx(this.gl),h=Nx(this.gl,[i,r],!0),d=[h.x+Math.floor(h.width/2),h.y+Math.floor(h.height/2)],p=Math.round(s*u),{width:f,height:g}=this.pickingFBO,m=this._getPickingRect({deviceX:d[0],deviceY:d[1],deviceRadius:p,deviceWidth:f,deviceHeight:g});let b;const y=[],v={};for(let _=0;_=0){const s=t.slice(i,i+4),o=s.join(",");if(!n.has(o)){const t=e[r];t?n.set(o,{pickedColor:s,pickedLayer:t,pickedObjectIndex:t.decodePickingColor(s)}):Gw.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(n.values())}({pickedColors:this._drawAndSample({layers:t,views:e,viewports:n,onViewportActive:c,deviceRect:{x:d,y:g,width:f.x+f.width-d,height:p-g},pass:"picking:".concat(a),redrawReason:a}),layers:t}),b=new Map,y=Number.isFinite(l);for(let v=0;v=l);v++){const t=m[v];let e={color:t.pickedColor,layer:null,index:t.pickedObjectIndex,picked:!0,x:i,y:r,width:s,height:o,pixelRatio:u};e=RI({layer:t.pickedLayer,info:e,mode:a}),b.has(e.object)||b.set(e.object,e)}return Array.from(b.values())}_drawAndSample({layers:t,views:e,viewports:n,onViewportActive:i,deviceRect:r,pass:s,redrawReason:o,pickZ:a}){if(t.length<1)return null;const l=a?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:t,layerFilter:this.layerFilter,views:e,viewports:n,onViewportActive:i,pickingFBO:l,deviceRect:r,pass:s,redrawReason:o,pickZ:a});const{x:c,y:u,width:h,height:d}=r,p=new(a?Float32Array:Uint8Array)(h*d*4);return NS(l,{sourceX:c,sourceY:u,sourceWidth:h,sourceHeight:d,target:p}),p}_getPickingRect({deviceX:t,deviceY:e,deviceRadius:n,deviceWidth:i,deviceHeight:r}){const s=Math.max(0,t-n),o=Math.max(0,e-n),a=Math.min(i,t+n+1)-s,l=Math.min(r,e+n+1)-o;return a<=0||l<=0?null:{x:s,y:o,width:a,height:l}}}const LI={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class jI{constructor(t){const e=t.parentElement;e&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,LI),e.appendChild(this.el)),this.isVisible=!1}setTooltip(t,e,n){const i=this.el;if("string"==typeof t)i.innerText=t;else{if(!t)return this.isVisible=!1,void(i.style.display="none");"text"in t&&(i.innerText=t.text),"html"in t&&(i.innerHTML=t.html),"className"in t&&(i.className=t.className),Object.assign(i.style,t.style)}this.isVisible=!0,i.style.display="block",i.style.transform="translate(".concat(e,"px, ").concat(n,"px)")}remove(){this.el&&this.el.remove()}}function FI(t,e){if(!t)throw new Error(e)}const BI={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},VI=BI.global||BI.self||BI.window,zI="object"!=typeof process||"[object process]"!==String(process)||process.browser,UI="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:HI}=(UI&&parseFloat(UI[1]),VI),$I="undefined"!=typeof Image,GI="undefined"!=typeof ImageBitmap,WI=Boolean(HI),qI=!!zI||WI;function YI(t){const e=function(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&t instanceof Image?"image":t&&"object"==typeof t&&t.data&&t.width&&t.height?"data":null}(t);if(!e)throw new Error("Not an image");return e}function XI(t){switch(YI(t)){case"data":return t;case"image":case"imagebitmap":const e=document.createElement("canvas"),n=e.getContext("2d");if(!n)throw new Error("getImageData");return e.width=t.width,e.height=t.height,n.drawImage(t,0,0),n.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}const KI=/^data:image\/svg\+xml/,QI=/\.svg((\?|#).*)?$/;function ZI(t){return t&&(KI.test(t)||QI.test(t))}function JI(t,e){if(ZI(e)){let e=(new TextDecoder).decode(t);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(e=unescape(encodeURIComponent(e)))}catch(n){throw new Error(n.message)}return`data:image/svg+xml;base64,${btoa(e)}`}return tD(t,e)}function tD(t,e){if(ZI(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}function eD(t,e,n){return nD.apply(this,arguments)}function nD(){return(nD=PS(function*(t,e,n){const i=JI(t,n),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield iD(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function iD(t,e){return rD.apply(this,arguments)}function rD(){return(rD=PS(function*(t,e){const n=new Image;return n.src=t,e.image&&e.image.decode&&n.decode?(yield n.decode(),n):yield new Promise((e,i)=>{try{n.onload=()=>e(n),n.onerror=e=>i(new Error(`Could not load image ${t}: ${e}`))}catch(r){i(r)}})})).apply(this,arguments)}const sD={};let oD=!0;function aD(t,e,n){return lD.apply(this,arguments)}function lD(){return(lD=PS(function*(t,e,n){let i;i=ZI(n)?yield eD(t,e,n):tD(t,n);const r=e&&e.imagebitmap;return yield cD(i,r)})).apply(this,arguments)}function cD(t){return uD.apply(this,arguments)}function uD(){return(uD=PS(function*(t,e=null){if((hD(e)||!oD)&&(e=null),e)try{return yield createImageBitmap(t,e)}catch(n){console.warn(n),oD=!1}return yield createImageBitmap(t)})).apply(this,arguments)}function hD(t){for(const e in t||sD)return!1;return!0}const dD=!1,pD=!0;function fD(t){const e=gD(t);return function(t){const e=gD(t);return e.byteLength>=24&&2303741511===e.getUint32(0,dD)?{mimeType:"image/png",width:e.getUint32(16,dD),height:e.getUint32(20,dD)}:null}(e)||function(t){const e=gD(t);if(!(e.byteLength>=3&&65496===e.getUint16(0,dD)&&255===e.getUint8(2)))return null;const{tableMarkers:n,sofMarkers:i}=function(){const t=new Set([65499,65476,65484,65501,65534]);for(let e=65504;e<65520;++e)t.add(e);return{tableMarkers:t,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let r=2;for(;r+9=10&&1195984440===e.getUint32(0,dD)?{mimeType:"image/gif",width:e.getUint16(6,pD),height:e.getUint16(8,pD)}:null}(e)||function(t){const e=gD(t);return e.byteLength>=14&&16973===e.getUint16(0,dD)&&e.getUint32(2,pD)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,pD),height:e.getUint32(22,pD)}:null}(e)}function gD(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}function mD(t,e){const{mimeType:n}=fD(t)||{},{_parseImageNode:i}=VI;return FI(i),i(t,n,e)}function bD(){return(bD=PS(function*(t,e,n){const i=((e=e||{}).image||{}).type||"auto",{url:r}=n||{};let s;switch(yD(i)){case"imagebitmap":s=yield aD(t,e,r);break;case"image":s=yield eD(t,e,r);break;case"data":s=yield mD(t,e);break;default:FI(!1)}return"data"===i&&(s=XI(s)),s})).apply(this,arguments)}function yD(t){switch(t){case"auto":case"data":return function(){if(GI)return"imagebitmap";if($I)return"image";if(qI)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(t){switch(t){case"auto":return GI||$I||qI;case"imagebitmap":return GI;case"image":return $I;case"data":return qI;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}(t),t}}const vD={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(t,e,n){return bD.apply(this,arguments)},tests:[t=>Boolean(fD(new DataView(t)))],options:{image:{type:"auto",decode:!0}}};var _D=n(84761),wD={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(t){const e=t[0],n=t[t.length-1];return"{"===e&&"}"===n||"["===e&&"]"===n},parseTextSync:JSON.parse};const xD="8.5.8",SD=_D.CO.deck&&_D.CO.deck.VERSION;if(SD&&SD!==xD)throw new Error("deck.gl - multiple versions detected: ".concat(SD," vs ").concat(xD));SD||(Gw.log(1,"deck.gl ".concat(xD))(),_D.CO.deck=Object.assign(_D.CO.deck||{},{VERSION:xD,version:xD,log:Gw,_registerLoggers:function(t){JC=t}}),DA([wD,[vD,{imagebitmap:{premultiplyAlpha:"none"}}]]));var CD=_D.CO.deck;class ED extends iS{get[Symbol.toStringTag](){return"Query"}static isSupported(t,e=[]){const n=Zw(t),i=US(t,"TIMER_QUERY");let r=n||i;for(const s of e)switch(s){case"queries":r=r&&n;break;case"timers":r=r&&i;break;default:Yx(!1)}return r}constructor(t,e={}){super(t,e),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:t=!1}={}){return this.begin(t?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(t){return this._queryPending||(this.target=t,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const t=this.gl2.getQueryParameter(this.handle,34919);return t&&(this._queryPending=!1),t}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(t=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let e=0;return this._pollingPromise=new Promise((n,i)=>{const r=()=>{this.isResultAvailable()?(n(this.getResult()),this._pollingPromise=null):e++>t?(i("Timed out"),this._pollingPromise=null):requestAnimationFrame(r)};requestAnimationFrame(r)}),this._pollingPromise}_createHandle(){return ED.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const OD=Dx()&&"undefined"!=typeof document;let TD=0;class kD{constructor(t={}){const{onCreateContext:e=(t=>zx(t)),onAddHTML:n=null,onInitialize:i=(()=>{}),onRender:r=(()=>{}),onFinalize:s=(()=>{}),onError:o,gl:a=null,glOptions:l={},debug:c=!1,createFramebuffer:u=!1,autoResizeViewport:h=!0,autoResizeDrawingBuffer:d=!0,stats:p=qx.get("animation-loop-"+TD++)}=t;let{useDevicePixels:f=!0}=t;"useDevicePixelRatio"in t&&(Xw.deprecated("useDevicePixelRatio","useDevicePixels")(),f=t.useDevicePixelRatio),this.props={onCreateContext:e,onAddHTML:n,onInitialize:i,onRender:r,onFinalize:s,onError:o,gl:a,glOptions:l,debug:c,createFramebuffer:u},this.gl=a,this.needsRedraw=null,this.timeline=null,this.stats=p,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:h,autoResizeDrawingBuffer:d,useDevicePixels:f}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(t){return Yx("string"==typeof t),this.needsRedraw=this.needsRedraw||t,this}setProps(t){return"autoResizeViewport"in t&&(this.autoResizeViewport=t.autoResizeViewport),"autoResizeDrawingBuffer"in t&&(this.autoResizeDrawingBuffer=t.autoResizeDrawingBuffer),"useDevicePixels"in t&&(this.useDevicePixels=t.useDevicePixels),this}start(t={}){if(this._running)return this;this._running=!0;const e=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(t),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=ED.isSupported(this.gl,["timers"])?new ED(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(t=>{this._running&&(this._addCallbackData(t||{}),!1!==t&&this._startLoop())});return this.props.onError&&e.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(t){return this.timeline=t,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(t=>{this._resolveNextFrame=t})),this._nextFramePromise}toDataURL(){var t=this;return PS(function*(){return t.setNeedsRedraw("toDataURL"),yield t.waitForRender(),t.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...t){return this.props.onCreateContext(...t)}onInitialize(...t){return this.props.onInitialize(...t)}onRender(...t){return this.props.onRender(...t)}onFinalize(...t){return this.props.onFinalize(...t)}getHTMLControlValue(t,e=1){const n=document.getElementById(t);return n?Number(n.value):e}setViewParameters(){return Xw.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const t=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(t))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(t)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=OD?new Promise((t,e)=>{OD&&"complete"===document.readyState?t(document):window.addEventListener("load",()=>{t(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(t){this.display&&(this.display.delete(),this.display.animationLoop=null),t&&(t.animationLoop=this),this.display=t}_cancelAnimationFrame(t){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(t):function(t){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(t):clearTimeout(t)}(t)}_requestAnimationFrame(t){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(t):function(t){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(t):setTimeout(t,1e3/60)}(t)}_renderFrame(...t){this.display?this.display._renderFrame(...t):this.onRender(...t)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:t,height:e,aspect:n}=this._getSizeAndAspect();(t!==this.animationProps.width||e!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),n!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=t,this.animationProps.height=e,this.animationProps.aspect=n,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(t){"object"==typeof t&&null!==t&&(this.animationProps=Object.assign({},this.animationProps,t))}_createWebGLContext(t){if(this.offScreen=t.canvas&&"undefined"!=typeof OffscreenCanvas&&t.canvas instanceof OffscreenCanvas,t=Object.assign({},t,this.props.glOptions),this.gl=this.props.gl?Ux(this.props.gl,t):this.onCreateContext(t),!Qw(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(t){Mx(t,px)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const t=document.createElement("div");document.body.appendChild(t),t.style.position="relative";const e=document.createElement("div");e.style.position="absolute",e.style.left="10px",e.style.bottom="10px",e.style.width="300px",e.style.background="white",t.appendChild(this.gl.canvas),t.appendChild(e);const n=this.props.onAddHTML(e);n&&(e.innerHTML=n)}}_getSizeAndAspect(){const t=this.gl.drawingBufferWidth,e=this.gl.drawingBufferHeight;let n=1;const{canvas:i}=this.gl;return i&&i.clientHeight?n=i.clientWidth/i.clientHeight:t>0&&e>0&&(n=t/e),{width:t,height:e,aspect:n}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(t,e={}){if(t.canvas)return void function(t,e,n){let i="width"in n?n.width:t.canvas.clientWidth,r="height"in n?n.height:t.canvas.clientHeight;(!i||!r)&&(Xw.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=t.canvas.width||1,r=t.canvas.height||1),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{};const s=t.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let n=e;const s=Math.floor(i*n),o=Math.floor(r*n);t.canvas.width=s,t.canvas.height=o,(t.drawingBufferWidth!==s||t.drawingBufferHeight!==o)&&(Xw.warn("Device pixel ratio clamped")(),n=Math.min(t.drawingBufferWidth/i,t.drawingBufferHeight/r),t.canvas.width=Math.floor(i*n),t.canvas.height=Math.floor(r*n)),Object.assign(t.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(t,function(t){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(t)?t<=0?1:t:t?e:1}(e.useDevicePixels),e);const n=t.getExtension("STACKGL_resize_drawingbuffer");n&&"width"in e&&"height"in e&&n.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new BS(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:t}=this.gl;t&&(t.addEventListener("mousemove",this._onMousemove),t.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(t){this.animationProps._mousePosition=[t.offsetX,t.offsetY]}_onMouseleave(t){this.animationProps._mousePosition=null}}var PD=n(11524),AD=n.n(PD);const MD={mousedown:1,mousemove:2,mouseup:4};(function(t){const e=t.prototype.handler;t.prototype.handler=function(t){const n=this.store;t.button>0&&"pointerdown"===t.type&&(function(e,n){for(let i=0;i=0&&(this.pressed=!0),2&e&&0===t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(AD().MouseInput);const ID=AD().Manager;var DD=AD();const RD=DD?[[DD.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[DD.Rotate,{enable:!1}],[DD.Pinch,{enable:!1}],[DD.Swipe,{enable:!1}],[DD.Pan,{threshold:0,enable:!1}],[DD.Press,{enable:!1}],[DD.Tap,{event:"doubletap",taps:2,enable:!1}],[DD.Tap,{event:"anytap",enable:!1}],[DD.Tap,{enable:!1}]]:null,ND={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},LD={doubletap:["tap"]},jD={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},FD={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},BD={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},VD={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},zD="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",UD="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let HD=!1;try{const t={get passive(){return HD=!0,!0}};UD.addEventListener("test",t,t),UD.removeEventListener("test",t,t)}catch(m){}const $D=-1!==zD.indexOf("firefox"),{WHEEL_EVENTS:GD}=FD,WD=4.000244140625;class qD{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.events=GD.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(e=>t.addEventListener(e,this.handleEvent,!!HD&&{passive:!1}))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){"wheel"===t&&(this.options.enable=e)}handleEvent(t){if(!this.options.enable)return;let e=t.deltaY;UD.WheelEvent&&($D&&t.deltaMode===UD.WheelEvent.DOM_DELTA_PIXEL&&(e/=UD.devicePixelRatio),t.deltaMode===UD.WheelEvent.DOM_DELTA_LINE&&(e*=40));const n={x:t.clientX,y:t.clientY};0!==e&&e%WD==0&&(e=Math.floor(e/WD)),t.shiftKey&&e&&(e*=.25),this._onWheel(t,-e,n)}_onWheel(t,e,n){this.callback({type:"wheel",center:n,delta:e,srcEvent:t,pointerType:"mouse",target:t.target})}}const{MOUSE_EVENTS:YD}=FD,XD="pointermove",KD="pointerover",QD="pointerout",ZD="pointerleave";class JD{constructor(t,e,n={}){this.element=t,this.callback=e,this.pressed=!1,this.options=Object.assign({enable:!0},n),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=YD.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(e=>t.addEventListener(e,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){t===XD&&(this.enableMoveEvent=e),t===KD&&(this.enableOverEvent=e),t===QD&&(this.enableOutEvent=e),t===ZD&&(this.enableLeaveEvent=e)}handleEvent(t){this.handleOverEvent(t),this.handleOutEvent(t),this.handleLeaveEvent(t),this.handleMoveEvent(t)}handleOverEvent(t){this.enableOverEvent&&"mouseover"===t.type&&this.callback({type:KD,srcEvent:t,pointerType:"mouse",target:t.target})}handleOutEvent(t){this.enableOutEvent&&"mouseout"===t.type&&this.callback({type:QD,srcEvent:t,pointerType:"mouse",target:t.target})}handleLeaveEvent(t){this.enableLeaveEvent&&"mouseleave"===t.type&&this.callback({type:ZD,srcEvent:t,pointerType:"mouse",target:t.target})}handleMoveEvent(t){if(this.enableMoveEvent)switch(t.type){case"mousedown":t.button>=0&&(this.pressed=!0);break;case"mousemove":0===t.which&&(this.pressed=!1),this.pressed||this.callback({type:XD,srcEvent:t,pointerType:"mouse",target:t.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:tR}=FD,eR="keydown";class nR{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=tR.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),t.tabIndex=n.tabIndex||0,t.style.outline="none",this.events.forEach(e=>t.addEventListener(e,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){t===eR&&(this.enableDownEvent=e),"keyup"===t&&(this.enableUpEvent=e)}handleEvent(t){const e=t.target||t.srcElement;"INPUT"===e.tagName&&"text"===e.type||"TEXTAREA"===e.tagName||(this.enableDownEvent&&"keydown"===t.type&&this.callback({type:eR,srcEvent:t,key:t.key,target:t.target}),this.enableUpEvent&&"keyup"===t.type&&this.callback({type:"keyup",srcEvent:t,key:t.key,target:t.target}))}}const iR="contextmenu";class rR{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.handleEvent=this.handleEvent.bind(this),t.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(t,e){t===iR&&(this.options.enable=e)}handleEvent(t){!this.options.enable||this.callback({type:iR,center:{x:t.clientX,y:t.clientY},srcEvent:t,pointerType:"mouse",target:t.target})}}const sR={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},oR={srcElement:"root",priority:0};class aR{constructor(t){this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(t,e,n,i=!1,r=!1){const{handlers:s,handlersByElement:o}=this;n&&("object"!=typeof n||n.addEventListener)&&(n={srcElement:n}),n=n?Object.assign({},oR,n):oR;let a=o.get(n.srcElement);a||(a=[],o.set(n.srcElement,a));const l={type:t,handler:e,srcElement:n.srcElement,priority:n.priority};i&&(l.once=!0),r&&(l.passive=!0),s.push(l),this._active=this._active||!l.passive;let c=a.length-1;for(;c>=0&&!(a[c].priority>=l.priority);)c--;a.splice(c+1,0,l)}remove(t,e){const{handlers:n,handlersByElement:i}=this;for(let r=n.length-1;r>=0;r--){const s=n[r];if(s.type===t&&s.handler===e){n.splice(r,1);const t=i.get(s.srcElement);t.splice(t.indexOf(s),1),0===t.length&&i.delete(s.srcElement)}}this._active=n.some(t=>!t.passive)}handleEvent(t){if(this.isEmpty())return;const e=this._normalizeEvent(t);let n=t.srcEvent.target;for(;n&&n!==e.rootElement;){if(this._emit(e,n),e.handled)return;n=n.parentNode}this._emit(e,"root")}_emit(t,e){const n=this.handlersByElement.get(e);if(n){let e=!1;const i=()=>{t.handled=!0},r=()=>{t.handled=!0,e=!0},s=[];for(let o=0;o{const e=this.manager.get(t);e&&ND[t].forEach(t=>{e.recognizeWith(t)})});for(const n in e.recognizerOptions){const t=this.manager.get(n);if(t){const i=e.recognizerOptions[n];delete i.enable,t.set(i)}}this.wheelInput=new qD(t,this._onOtherEvent,{enable:!1}),this.moveInput=new JD(t,this._onOtherEvent,{enable:!1}),this.keyInput=new nR(t,this._onOtherEvent,{enable:!1,tabIndex:e.tabIndex}),this.contextmenuInput=new rR(t,this._onOtherEvent,{enable:!1});for(const[n,i]of this.events)i.isEmpty()||(this._toggleRecognizer(i.recognizerName,!0),this.manager.on(n,i.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(t,e,n){this._addEventHandler(t,e,n,!1)}once(t,e,n){this._addEventHandler(t,e,n,!0)}watch(t,e,n){this._addEventHandler(t,e,n,!1,!0)}off(t,e){this._removeEventHandler(t,e)}_toggleRecognizer(t,e){const{manager:n}=this;if(!n)return;const i=n.get(t);if(i&&i.options.enable!==e){i.set({enable:e});const r=LD[t];r&&!this.options.recognizers&&r.forEach(r=>{const s=n.get(r);e?(s.requireFailure(t),i.dropRequireFailure(r)):s.dropRequireFailure(t)})}this.wheelInput.enableEventType(t,e),this.moveInput.enableEventType(t,e),this.keyInput.enableEventType(t,e),this.contextmenuInput.enableEventType(t,e)}_addEventHandler(t,e,n,i,r){if("string"!=typeof t){n=e;for(const e in t)this._addEventHandler(e,t[e],n,i,r);return}const{manager:s,events:o}=this,a=VD[t]||t;let l=o.get(a);l||(l=new aR(this),o.set(a,l),l.recognizerName=BD[a]||a,s&&s.on(a,l.handleEvent)),l.add(t,e,n,i,r),l.isEmpty()||this._toggleRecognizer(l.recognizerName,!0)}_removeEventHandler(t,e){if("string"!=typeof t){for(const e in t)this._removeEventHandler(e,t[e]);return}const{events:n}=this,i=n.get(VD[t]||t);if(i&&(i.remove(t,e),i.isEmpty())){const{recognizerName:t}=i;let e=!1;for(const i of n.values())if(i.recognizerName===t&&!i.isEmpty()){e=!0;break}e||this._toggleRecognizer(t,!1)}}_onBasicInput(t){const{srcEvent:e}=t,n=jD[e.type];n&&this.manager.emit(n,t)}_onOtherEvent(t){this.manager.emit(t.type,t)}}function uR(){}const hR={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:uR,onResize:uR,onViewStateChange:uR,onInteractionStateChange:uR,onBeforeRender:uR,onAfterRender:uR,onLoad:uR,onError:(t,e)=>Gw.error(t)(),_onMetrics:null,getCursor:({isDragging:t})=>t?"grabbing":"grab",debug:!1,drawPickingColors:!1};class dR{constructor(t){t=yt(yt({},hR),t),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),t.viewState&&t.initialViewState&&Gw.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,_D.qs)()&&Gw.warn("IE 11 support will be deprecated in v8.0")(),t.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new Gx({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&GS.setProps(t._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(t){this.stats.get("setProps Time").timeStart(),"onLayerHover"in t&&Gw.removed("onLayerHover","onHover")(),"onLayerClick"in t&&Gw.removed("onLayerClick","onClick")(),t.initialViewState&&!oM(this.props.initialViewState,t.initialViewState)&&(this.viewState=t.initialViewState),Object.assign(this.props,t),this._setCanvasSize(this.props);const e=Object.create(this.props);Object.assign(e,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(e),this.layerManager&&(this.viewManager.setProps(e),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(e),this.effectManager.setProps(e),this.deckRenderer.setProps(e),this.deckPicker.setProps(e)),this.stats.get("setProps Time").timeEnd()}needsRedraw(t={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let e=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);const n=this.viewManager.needsRedraw(t),i=this.layerManager.needsRedraw(t),r=this.effectManager.needsRedraw(t),s=this.deckRenderer.needsRedraw(t);return e=e||n||i||r||s,e}redraw(t){if(!this.layerManager)return;const e=t||this.needsRedraw({clearRedrawFlags:!0});!e||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(e):this._drawLayers(e))}getViews(){return this.viewManager.views}getViewports(t){return this.viewManager.getViewports(t)}pickObject(t){const e=this._pick("pickObject","pickObject Time",t).result;return e.length?e[0]:null}pickMultipleObjects(t){return t.depth=t.depth||10,this._pick("pickObject","pickMultipleObjects Time",t).result}pickObjects(t){return this._pick("pickObjects","pickObjects Time",t)}_addResources(t,e=!1){for(const n in t)this.layerManager.resourceManager.add({resourceId:n,data:t[n],forceUpdate:e})}_removeResources(t){for(const e of t)this.layerManager.resourceManager.remove(e)}_pick(t,e,n){const{stats:i}=this;i.get("Pick Count").incrementCount(),i.get(e).timeStart();const r=this.deckPicker[t](yt({layers:this.layerManager.getLayers(n),views:this.viewManager.getViews(),viewports:this.getViewports(n),onViewportActive:this.layerManager.activateViewport},n));return i.get(e).timeEnd(),r}_createCanvas(t){let e=t.canvas;return"string"==typeof e&&(e=document.getElementById(e),RC(e)),e||(e=document.createElement("canvas"),e.id=t.id||"deckgl-overlay",(t.parent||document.body).appendChild(e)),Object.assign(e.style,t.style),e}_setCanvasSize(t){if(!this.canvas)return;let{width:e,height:n}=t;(e||0===e)&&(e=Number.isFinite(e)?"".concat(e,"px"):e,this.canvas.style.width=e),(n||0===n)&&(n=Number.isFinite(n)?"".concat(n,"px"):n,this.canvas.style.position="absolute",this.canvas.style.height=n)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:t,height:e}=this;this.viewManager.setProps({width:t,height:e}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:t}=this;if(!t)return!1;const e=t.clientWidth||t.width,n=t.clientHeight||t.height;return(e!==this.width||n!==this.height)&&(this.width=e,this.height=n,!0)}_createAnimationLoop(t){const{width:e,height:n,gl:i,glOptions:r,debug:s,onError:o,onBeforeRender:a,onAfterRender:l,useDevicePixels:c,autoResizeDrawingBuffer:u}=t;return new kD({width:e,height:n,useDevicePixels:c,autoResizeDrawingBuffer:u,autoResizeViewport:!1,gl:i,onCreateContext:t=>zx(zn(yt(yt({},r),t),{canvas:this.canvas,debug:s,onContextLost:()=>this._onContextLost()})),onInitialize:t=>this._setGLContext(t.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:a,onAfterRender:l,onError:o})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let t=this.props.views||[new SI({id:"default-view"})];return t=Array.isArray(t)?t:[t],t.length&&this.props.controller&&(t[0].props.controller=this.props.controller),t}_onContextLost(){const{onError:t}=this.props;this.animationLoop&&t&&t(new Error("WebGL context is lost"))}_onPointerMove(t){const{_pickRequest:e}=this;if("pointerleave"===t.type)e.x=-1,e.y=-1,e.radius=0;else{if(t.leftButton||t.rightButton)return;{const n=t.offsetCenter;if(!n)return;e.x=n.x,e.y=n.y,e.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:e.x,y:e.y}),e.event=t,e.mode="hover"}_pickAndCallback(){const{_pickRequest:t}=this;if(t.event){const{result:e,emptyInfo:n}=this._pick("pickObject","pickObject Time",t);this.interactiveState.isHovering=e.length>0;let i=n,r=!1;for(const s of e)i=s,r=s.layer.onHover(s,t.event);if(!r&&this.props.onHover&&this.props.onHover(i,t.event),this.props.getTooltip){const t=this.props.getTooltip(i);this.tooltip.setTooltip(t,i.x,i.y)}t.event=null}}_updateCursor(){const t=this.props.parent||this.canvas;t&&(t.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(t){if(this.layerManager)return;this.canvas||(this.canvas=t.canvas,Ux(t,{enable:!0,copyState:!0})),this.tooltip=new jI(this.canvas),Mx(t,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(t);const e=new dI;e.play(),this.animationLoop.attachTimeline(e),this.eventManager=new cR(this.props.parent||t.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const i in Yw)this.eventManager.on(i,this._onEvent);this.viewManager=new _I({timeline:e,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const n=this.viewManager.getViewports()[0];this.layerManager=new vI(t,{deck:this,stats:this.stats,viewport:n,timeline:e}),this.effectManager=new EI,this.deckRenderer=new PI(t),this.deckPicker=new NI(t),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(t,e){const{gl:n}=this.layerManager.context;Mx(n,this.props.parameters),this.props.onBeforeRender({gl:n}),this.deckRenderer.renderLayers(yt({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:t,effects:this.effectManager.getEffects()},e)),this.props.onAfterRender({gl:n})}_onRenderFrame(t){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Gw.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(t){const e=this.props.onViewStateChange(t)||t.viewState;this.viewState&&(this.viewState=zn(yt({},this.viewState),{[t.viewId]:e}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(t){this.interactiveState.isDragging=t.isDragging,this.props.onInteractionStateChange(t)}_onEvent(t){const e=Yw[t.type],n=t.offsetCenter;if(!e||!n)return;const i=this.layerManager.getLayers(),r=this.deckPicker.getLastPickedObject({x:n.x,y:n.y,layers:i,viewports:this.getViewports(n)},this._lastPointerDownInfo),{layer:s}=r,o=s&&(s[e.handler]||s.props[e.handler]),a=this.props[e.handler];let l=!1;o&&(l=o.call(s,r,t)),!l&&a&&a(r,t)}_onPointerDown(t){const e=t.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:e.x,y:e.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:t}=this;t.get("frameRate").timeEnd(),t.get("frameRate").timeStart();const e=this.animationLoop.stats;t.get("GPU Time").addTime(e.get("GPU Time").lastTiming),t.get("CPU Time").addTime(e.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:t,stats:e}=this;t.fps=e.get("frameRate").getHz(),t.setPropsTime=e.get("setProps Time").time,t.updateAttributesTime=e.get("Update Attributes").time,t.framesRedrawn=e.get("Redraw Count").count,t.pickTime=e.get("pickObject Time").time+e.get("pickMultipleObjects Time").time+e.get("pickObjects Time").time,t.pickCount=e.get("Pick Count").count,t.gpuTime=e.get("GPU Time").time,t.cpuTime=e.get("CPU Time").time,t.gpuTimePerFrame=e.get("GPU Time").getAverageTime(),t.cpuTimePerFrame=e.get("CPU Time").getAverageTime();const n=qx.get("Memory Usage");t.bufferMemory=n.get("Buffer Memory").count,t.textureMemory=n.get("Texture Memory").count,t.renderbufferMemory=n.get("Renderbuffer Memory").count,t.gpuMemory=n.get("GPU Memory").count}}dR.getPropTypes=function(t){return{id:t.string,width:t.oneOfType([t.number,t.string]),height:t.oneOfType([t.number,t.string]),layers:t.oneOfType([t.object,t.array]),layerFilter:t.func,views:t.oneOfType([t.object,t.array]),viewState:t.object,effects:t.arrayOf(t.instanceOf(WM)),controller:t.oneOfType([t.func,t.bool,t.object]),gl:t.object,glOptions:t.object,parameters:t.object,pickingRadius:t.number,useDevicePixels:t.oneOfType([t.bool,t.number]),touchAction:t.string,eventRecognizerOptions:t.object,onWebGLInitialized:t.func,onResize:t.func,onViewStateChange:t.func,onInteractionStateChange:t.func,onBeforeRender:t.func,onAfterRender:t.func,onLoad:t.func,onError:t.func,debug:t.bool,drawPickingColors:t.bool,_framebuffer:t.object,_animate:t.bool,_pickable:t.bool,_typedArrayManagerProps:t.object}},dR.defaultProps=hR,dR.VERSION=CD.VERSION;var pR={name:"project32",dependencies:[tI],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"};const fR={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1};var gR=yt({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(t=fR){const e={};if(void 0!==t.pickingSelectedColor)if(t.pickingSelectedColor){const n=t.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=n}else e.picking_uSelectedColorValid=0;if(t.pickingHighlightColor){const n=Array.from(t.pickingHighlightColor,t=>t/255);Number.isFinite(n[3])||(n[3]=1),e.picking_uHighlightColor=n}return void 0!==t.pickingActive&&(e.picking_uActive=Boolean(t.pickingActive),e.picking_uAttribute=Boolean(t.pickingAttribute)),e}});const mR={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class bR{static get DRAW_MODE(){return mR}constructor(t={}){const{id:e=Zx("geometry"),drawMode:n=mR.TRIANGLES,attributes:i={},indices:r=null,vertexCount:s=null}=t;this.id=e,this.drawMode=0|n,this.attributes={},this.userData={},this._setAttributes(i,r),this.vertexCount=s||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?yt({indices:this.indices},this.attributes):this.attributes}_print(t){return`Geometry ${this.id} attribute ${t}`}_setAttributes(t,e){e&&(this.indices=ArrayBuffer.isView(e)?{value:e,size:1}:e);for(const n in t){let e=t[n];e=ArrayBuffer.isView(e)?{value:e}:e,Yx(ArrayBuffer.isView(e.value),`${this._print(n)}: must be typed array or object with value as typed array`),("POSITION"===n||"positions"===n)&&!e.size&&(e.size=3),"indices"===n?(Yx(!this.indices),this.indices=e):this.attributes[n]=e}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(t,e){if(e)return e.value.length;let n=1/0;for(const i in t){const e=t[i],{value:r,size:s,constant:o}=e;!o&&r&&s>=1&&(n=Math.min(n,r.length/s))}return Yx(Number.isFinite(n)),n}}const yR=()=>{},vR={10241:9987,10240:9729,10242:33071,10243:33071};function _R(t){return Math.pow(2,Math.ceil(Math.log2(t)))}function wR(t,e,n,i){return n===e.width&&i===e.height?e:(t.canvas.height=i,t.canvas.width=n,t.clearRect(0,0,t.canvas.width,t.canvas.height),t.drawImage(e,0,0,e.width,e.height,0,0,n,i),t.canvas)}function xR(t){return t&&(t.id||t.url)}function SR(t,e,n){for(let i=0;i0){const{mapping:t,xOffset:n,yOffset:i,rowHeight:r,canvasHeight:s}=function({icons:t,buffer:e,mapping:n={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(SR(n,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+l+e,s=Math.max(s,t)}}return a.length>0&&SR(n,a,r),{mapping:n,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:_R(s+r+e)}}({icons:e,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=r,this._mapping=t,this._xOffset=n,this._yOffset=i,this._canvasHeight=s,this._texture||(this._texture=new xS(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:vR})),this._texture.height!==this._canvasHeight&&(this._texture=function(t,e,n,i){const r=e.width,s=e.height,o=DS(e,{width:n,height:i});return function(t,e,n={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=n;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=n;const{framebuffer:d,deleteFramebuffer:p}=jS(t);Yx(d);const{gl:f,handle:g}=d,m=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const b=f.bindFramebuffer(36160,g);Yx(e);let y=null;if(e instanceof _S&&(y=e,u=Number.isFinite(u)?u:y.width,h=Number.isFinite(h)?h:y.height,y.bind(0),e=y.target),m)switch(e){case 3553:case 34067:f.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:tx(f).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else f.copyTexImage2D(e,s,o,i,r,u,h,0);y&&y.unbind(),f.bindFramebuffer(36160,b||null),p&&d.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(e)}}_loadIcons(t){const e=this._canvas.getContext("2d");for(const n of t)this._pendingCount++,YA(n.url,vD,this._loadOptions).then(t=>{const i=xR(n),{x:r,y:s,width:o,height:a}=this._mapping[i],l=wR(e,t,o,a);this._texture.setSubImageData({data:l,x:r,y:s,width:o,height:a}),this._texture.generateMipmap(),this.onUpdate()}).catch(t=>{this.onError({url:n.url,source:n.source,sourceIndex:n.sourceIndex,loadOptions:this._loadOptions,error:t})}).finally(()=>{this._pendingCount--})}}const ER=[0,0,0,255],OR={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:t=>t.position},getIcon:{type:"accessor",value:t=>t.icon},getColor:{type:"accessor",value:ER},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let TR=(()=>{class t extends eM{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[pR,gR]})}initializeState(){this.state={iconManager:new CR(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:ER},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:e,changeFlags:n}){super.updateState({props:e,oldProps:t,changeFlags:n});const i=this.getAttributeManager(),{iconAtlas:r,iconMapping:s,data:o,getIcon:a}=e,{iconManager:l}=this.state;l.setProps({loadOptions:e.loadOptions});let c=!1;if(r||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==e.iconAtlas&&l.setProps({iconAtlas:r,autoPacking:!1}),t.iconMapping!==e.iconMapping&&(l.setProps({iconMapping:s}),c=!0)):l.setProps({autoPacking:!0}),(n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getIcon))&&l.setProps({data:o,getIcon:a}),c&&(i.invalidate("instanceOffsets"),i.invalidate("instanceIconFrames"),i.invalidate("instanceColorModes")),n.extensionsChanged){var u;const{gl:t}=this.context;null===(u=this.state.model)||void 0===u||u.delete(),this.state.model=this._getModel(t),i.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:e,sizeMinPixels:n,sizeMaxPixels:i,sizeUnits:r,billboard:s,alphaCutoff:o}=this.props,{iconManager:a}=this.state,{viewport:l}=this.context,c=a.getTexture();c&&this.state.model.setUniforms(t).setUniforms({iconsTexture:c,iconsTextureDim:[c.width,c.height],sizeScale:e*("pixels"===r?l.metersPerPixel:1),sizeMinPixels:n,sizeMaxPixels:i,billboard:s,alphaCutoff:o}).draw()}_getModel(t){return new WO(t,zn(yt({},this.getShaders()),{id:this.props.id,geometry:new bR({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:e}=this.getCurrentLayer().props;e?e(t):Gw.error(t.error)()}getInstanceOffset(t){const e=this.state.iconManager.getIconMapping(t);return[e.width/2-e.anchorX||0,e.height/2-e.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const e=this.state.iconManager.getIconMapping(t);return[e.x||0,e.y||0,e.width||0,e.height||0]}}return t.layerName="IconLayer",t.defaultProps=OR,t})();const kR=[],PR={getIconOffsets:{type:"accessor",value:t=>t.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let AR=(()=>{class t extends TR{getShaders(){return zn(yt({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(t,{index:e,target:n})=>this.encodePickingColor(e,n)}})}updateState(t){super.updateState(t);const{props:e,oldProps:n}=t;let{outlineColor:i}=e;i!==n.outlineColor&&(i=i.map(t=>t/255),i[3]=Number.isFinite(i[3])?i[3]:1,this.setState({outlineColor:i})),!e.sdf&&e.outlineWidth&&Gw.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:e,smoothing:n,outlineWidth:i}=this.props,{outlineColor:r}=this.state;t.uniforms=zn(yt({},t.uniforms),{buffer:.75,outlineBuffer:i?Math.max(n,.75*(1-i)):-1,gamma:n,sdf:Boolean(e),outlineColor:r}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(t=>super.getInstanceOffset(t)):kR}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(t=>super.getInstanceIconFrame(t)):kR}}return t.layerName="MultiIconLayer",t.defaultProps=PR,t})();var MR=n(51002),IR=n.n(MR);const DR=[];function RR(t){return Math.pow(2,Math.ceil(Math.log2(t)))}function NR(t,e,n,i){let r=0;for(let s=e;si&&(oa){let e=NR(t,a,l,r);c+e>i&&(oi&&(e=LR(t,a,l,i,r,s),o=s[s.length-1])),a=l,c+=e}}(t,r,s,n,i,o),o}function FR(t,e,n,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let d=0,p=0,f=0;for(let g=0;g<=s;g++){const m=t[g];if(("\n"===m||g===s)&&(f=g),f>p){const s=c?jR(t,n,i,r,p,f):DR;for(let n=0;n<=s.length;n++){const i=0===n?p:s[n-1],c=ne===t);e>=0&&this._order.splice(e,1)}_appendOrder(t){this._order.push(t)}}(3),HR=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function $R(t,e){for(let n=0;n{e in t&&(this.props[e]=t[e])});const e=this._key;this._key=this._getKey();const n=function(t,e){const n=UR.get(t);if(!n)return e;const i=[];let r=Object.keys(n.mapping);r=new Set(r);let s=e;return s instanceof Array&&(s=new Set(s)),s.forEach(t=>{r.has(t)||i.push(t)}),i}(this._key,this.props.characterSet),i=UR.get(this._key);if(i&&0===n.length)return void(this._key!==e&&(this._atlas=i));const r=this._generateFontAtlas(this._key,n,i);this._atlas=r,UR.set(this._key,r)}_generateFontAtlas(t,e,n){const{fontFamily:i,fontWeight:r,fontSize:s,buffer:o,sdf:a,radius:l,cutoff:c}=this.props;let u=n&&n.data;u||(u=document.createElement("canvas"),u.width=1024);const h=u.getContext("2d");GR(h,i,s,r);const{mapping:d,canvasHeight:p,xOffset:f,yOffset:g}=function({characterSet:t,getFontWidth:e,fontHeight:n,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const d of t)if(!s[d]){const t=e(d,u++);c+t+2*i>r&&(c=0,l++),s[d]={x:c+i,y:a+l*(n+2*i)+i,width:t,height:n},c+=t+2*i}const h=n+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:RR(a+(l+1)*h)}}(yt({getFontWidth:t=>h.measureText(t).width,fontHeight:1.2*s,buffer:o,characterSet:e,maxCanvasWidth:1024},n&&{mapping:n.mapping,xOffset:n.xOffset,yOffset:n.yOffset}));if(u.height!==p){const t=h.getImageData(0,0,u.width,u.height);u.height=p,h.putImageData(t,0,0)}if(GR(h,i,s,r),a){const t=new(IR())(s,o,l,c,i,r),n=h.getImageData(0,0,t.size,t.size);for(const i of e)$R(t.draw(i),n),h.putImageData(n,d[i].x-o,d[i].y+o)}else for(const m of e)h.fillText(m,d[m].x,d[m].y+.9*s);return{xOffset:f,yOffset:g,mapping:d,data:u,width:u.width,height:u.height}}_getKey(){const{fontFamily:t,fontWeight:e,fontSize:n,buffer:i,sdf:r,radius:s,cutoff:o}=this.props;return r?"".concat(t," ").concat(e," ").concat(n," ").concat(i," ").concat(s," ").concat(o):"".concat(t," ").concat(e," ").concat(n," ").concat(i)}}const qR={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:t=>t.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let YR=(()=>{class t extends eM{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[pR,gR]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:e,changeFlags:n}){if(super.updateState({props:t,oldProps:e,changeFlags:n}),n.extensionsChanged){var i;const{gl:t}=this.context;null===(i=this.state.model)||void 0===i||i.delete(),this.state.model=this._getModel(t),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:e}=this.context,{billboard:n,sizeScale:i,sizeUnits:r,sizeMinPixels:s,sizeMaxPixels:o,getLineWidth:a}=this.props;let{padding:l}=this.props;const c="pixels"===r?e.metersPerPixel:1;l.length<4&&(l=[l[0],l[1],l[0],l[1]]),this.state.model.setUniforms(t).setUniforms({billboard:n,stroked:Boolean(a),padding:l,sizeScale:i*c,sizeMinPixels:s,sizeMaxPixels:o}).draw()}_getModel(t){return new WO(t,zn(yt({},this.getShaders()),{id:this.props.id,geometry:new bR({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return t.layerName="TextBackgroundLayer",t.defaultProps=qR,t})();const XR={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},KR={start:1,middle:0,end:-1},QR={top:1,center:0,bottom:-1},ZR=[0,0,0,255],JR=["fontSize","buffer","sdf","radius","cutoff"],tN={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:ZR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:VR},fontFamily:zR,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:ZR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:t=>t.text},getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:ZR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let eN=(()=>{class t extends nM{initializeState(){this.state={styleVersion:0,fontAtlasManager:new WR}}updateState({props:t,oldProps:e,changeFlags:n}){const i=this.state.characterSet;(n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getText))&&this._updateText();const r=i!==this.state.characterSet||this._fontChanged(e,t);r&&this._updateFontAtlas(e,t),(r||t.lineHeight!==e.lineHeight||t.wordBreak!==e.wordBreak||t.maxWidth!==e.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,e){const{fontSettings:n,fontFamily:i,fontWeight:r}=e,{fontAtlasManager:s,characterSet:o}=this.state;s.setProps(zn(yt(yt({},XR),n),{characterSet:o,fontFamily:i,fontWeight:r}))}_fontChanged(t,e){if(t.fontFamily!==e.fontFamily||t.fontWeight!==e.fontWeight)return!0;if(t.fontSettings===e.fontSettings)return!1;const n=t.fontSettings||{},i=e.fontSettings||{};return JR.some(t=>n[t]!==i[t])}_updateText(){const{data:t,characterSet:e}=this.props,n=t.attributes&&t.attributes.getText;let i,{getText:r}=this.props,{startIndices:s}=t;const o="auto"===e&&new Set;if(n&&s){const{texts:e,characterCount:a}=function({value:t,length:e,stride:n,offset:i,startIndices:r,characterSet:s}){const o=t.BYTES_PER_ELEMENT,a=n?n/o:1,l=i?i/o:0,c=r[e]||Math.ceil((t.length-l)/a),u=s&&new Set,h=new Array(e);let d=t;if(a>1||l>0){d=new t.constructor(c);for(let e=0;ee[n]}else{const{iterable:e,objectInfo:n}=jC(t);s=[0],i=0;for(const t of e){n.index++;const e=Array.from(r(t,n)||"");o&&e.forEach(o.add,o),i+=e.length,s.push(i)}}this.setState({getText:r,startIndices:s,numInstances:i,characterSet:o||e})}getBoundingRect(t,e){const n=this.state.fontAtlasManager.mapping,{getText:i}=this.state,{wordBreak:r,maxWidth:s,lineHeight:o,getTextAnchor:a,getAlignmentBaseline:l}=this.props,c=i(t,e)||"",{size:[u,h]}=BR(c,o,r,s,n);return[(KR["function"==typeof a?a(t,e):a]-1)*u/2,(QR["function"==typeof l?l(t,e):l]-1)*h/2,u,h]}getIconOffsets(t,e){const n=this.state.fontAtlasManager.mapping,{getText:i}=this.state,{wordBreak:r,maxWidth:s,lineHeight:o,getTextAnchor:a,getAlignmentBaseline:l}=this.props,c=i(t,e)||"",{x:u,y:h,rowWidth:d,size:[p,f]}=BR(c,o,r,s,n),g=KR["function"==typeof a?a(t,e):a],m=QR["function"==typeof l?l(t,e):l],b=u.length,y=new Array(2*b);let v=0;for(let _=0;_t*e/255)}const sN={name:"lights",vs:nN,fs:nN,getUniforms:function t(e=iN){if("lightSources"in e){const{ambientLight:t,pointLights:n,directionalLights:i}=e.lightSources||{};return t||n&&n.length>0||i&&i.length>0?Object.assign({},function({ambientLight:t,pointLights:e=[],directionalLights:n=[]}){const i={};return i["lighting_uAmbientLight.color"]=t?rN(t):[0,0,0],e.forEach((t,e)=>{i[`lighting_uPointLight[${e}].color`]=rN(t),i[`lighting_uPointLight[${e}].position`]=t.position,i[`lighting_uPointLight[${e}].attenuation`]=t.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,n.forEach((t,e)=>{i[`lighting_uDirectionalLight[${e}].color`]=rN(t),i[`lighting_uDirectionalLight[${e}].direction`]=t.direction}),i.lighting_uDirectionalLightCount=n.length,i}({ambientLight:t,pointLights:n,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in e){const n={pointLights:[],directionalLights:[]};for(const t of e.lights||[])switch(t.type){case"ambient":n.ambientLight=t;break;case"directional":n.directionalLights.push(t);break;case"point":n.pointLights.push(t)}return t({lightSources:n})}return{}},defines:{MAX_LIGHTS:3}};const oN={};const aN={name:"phong-lighting",dependencies:[sN],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(t=oN){if(!("material"in t))return{};const{material:e}=t;return e?function(t){const{ambient:e=.35,diffuse:n=.6,shininess:i=32,specularColor:r=[30,30,30]}=t;return{lighting_uAmbient:e,lighting_uDiffuse:n,lighting_uShininess:i,lighting_uSpecularColor:r.map(t=>t/255)}}(e):{lighting_uEnabled:!1}}},lN=Math.PI/180,cN=new Float32Array(16),uN=new Float32Array(12);function hN(t,e,n){const i=e[0]*lN,r=e[1]*lN,s=e[2]*lN,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),d=n[0],p=n[1],f=n[2];t[0]=d*h*u,t[1]=d*l*u,t[2]=d*-a,t[3]=p*(-l*c+h*a*o),t[4]=p*(h*c+l*a*o),t[5]=p*u*o,t[6]=f*(l*o+h*a*c),t[7]=f*(-h*o+l*a*c),t[8]=f*u*c}function dN(t){return t[0]=t[0],t[1]=t[1],t[2]=t[2],t[3]=t[4],t[4]=t[5],t[5]=t[6],t[6]=t[8],t[7]=t[9],t[8]=t[10],t[9]=t[12],t[10]=t[13],t[11]=t[14],t.subarray(0,12)}const pN={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(t,{startRow:e,endRow:n}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),d=Array.isArray(o),p=c||!l&&Boolean(a(i[0]));t.constant=p?c:h&&u&&d;const f=t.value;if(t.constant){let e;p?(cN.set(a),e=dN(cN)):(e=uN,hN(e,r,s),e.set(o,9)),t.value=new Float32Array(e)}else{let l=e*t.size;const{iterable:g,objectInfo:m}=jC(i,e,n);for(const t of g){let e;m.index++,p?(cN.set(c?a:a(t,m)),e=dN(cN)):(e=uN,hN(e,h?r:r(t,m),u?s:s(t,m)),e.set(d?o:o(t,m),9)),f[l++]=e[0],f[l++]=e[1],f[l++]=e[2],f[l++]=e[3],f[l++]=e[4],f[l++]=e[5],f[l++]=e[6],f[l++]=e[7],f[l++]=e[8],f[l++]=e[9],f[l++]=e[10],f[l++]=e[11]}}}};function fN(t,e){return e===Ww.CARTESIAN||e===Ww.METER_OFFSETS||e===Ww.DEFAULT&&!t.isGeospatial}function gN(t,e){(t.COLOR_0||t.colors)&&e||(t.colors={constant:!0,value:new Float32Array([1,1,1])}),Gw.assert(t.positions||t.POSITION,'no "postions" or "POSITION" attribute in mesh')}function mN(t,e){if(t.attributes)return gN(t.attributes,e),t instanceof bR?t:new bR(t);if(t.positions||t.POSITION)return gN(t,e),new bR({attributes:t});throw Error("Invalid mesh")}const bN={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let yN=(()=>{class t extends eM{getShaders(){const t=!Zw(this.context.gl),e={};return zS(this.context.gl,"GLSL_DERIVATIVES")&&(e.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[pR,aN,gR],transpileToGLSL100:t,defines:e})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:pN}),this.setState({emptyTexture:new xS(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:e,changeFlags:n}){if(super.updateState({props:t,oldProps:e,changeFlags:n}),t.mesh!==e.mesh||n.extensionsChanged){var i;if(null===(i=this.state.model)||void 0===i||i.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const e=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(e.NORMAL||e.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==e.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:e}=this.context,{sizeScale:n,coordinateSystem:i,_instanced:r}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:n,composeModelMatrix:!r||fN(e,i),flatShading:!this.state.hasNormals}).draw()}getModel(t){const e=new WO(this.context.gl,zn(yt({},this.getShaders()),{id:this.props.id,geometry:mN(t,this.props._useMeshColors),isInstanced:!0})),{texture:n}=this.props,{emptyTexture:i}=this.state;return e.setUniforms({sampler:n||i,hasTexture:Boolean(n)}),e}setTexture(t){const{emptyTexture:e,model:n}=this.state;null==n||n.setUniforms({sampler:t||e,hasTexture:Boolean(t)})}}return t.layerName="SimpleMeshLayer",t.defaultProps=bN,t})();const vN={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[sN]};class _N{constructor(t={}){const{id:e}=t;this.id=e||Zx(this.constructor.name),this.display=!0,this.position=new OC,this.rotation=new OC,this.scale=new OC(1,1,1),this.matrix=new VT,this.userData={},this.props={},this._setScenegraphNodeProps(t)}delete(){}setProps(t){return this._setScenegraphNodeProps(t),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(t){return Yx(3===t.length,"setPosition requires vector argument"),this.position=t,this}setRotation(t){return Yx(3===t.length,"setRotation requires vector argument"),this.rotation=t,this}setScale(t){return Yx(3===t.length,"setScale requires vector argument"),this.scale=t,this}setMatrix(t,e=!0){e?this.matrix.copy(t):this.matrix=t}setMatrixComponents({position:t,rotation:e,scale:n,update:i=!0}){return t&&this.setPosition(t),e&&this.setRotation(e),n&&this.setScale(n),i&&this.updateMatrix(),this}updateMatrix(){const t=this.position,e=this.rotation,n=this.scale;return this.matrix.identity(),this.matrix.translate(t),this.matrix.rotateXYZ(e),this.matrix.scale(n),this}update(t={}){const{position:e,rotation:n,scale:i}=t;return e&&this.setPosition(e),n&&this.setRotation(n),i&&this.setScale(i),this.updateMatrix(),this}getCoordinateUniforms(t,e){Yx(t),e=e||this.matrix;const n=new VT(t).multiplyRight(e),i=n.invert(),r=i.transpose();return{viewMatrix:t,modelMatrix:e,objectMatrix:e,worldMatrix:n,worldInverseMatrix:i,worldInverseTransposeMatrix:r}}_setScenegraphNodeProps(t){"display"in t&&(this.display=t.display),"position"in t&&this.setPosition(t.position),"rotation"in t&&this.setRotation(t.rotation),"scale"in t&&this.setScale(t.scale),"matrix"in t&&this.setMatrix(t.matrix),Object.assign(this.props,t)}}class wN extends _N{constructor(t={}){t=Array.isArray(t)?{children:t}:t;const{children:e=[]}=t;Xw.assert(e.every(t=>t instanceof _N),"every child must an instance of ScenegraphNode"),super(t),this.children=e}add(...t){for(const e of t)Array.isArray(e)?this.add(...e):this.children.push(e);return this}remove(t){const e=this.children,n=e.indexOf(t);return n>-1&&e.splice(n,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(t=>t.delete()),this.removeAll(),super.delete()}traverse(t,{worldMatrix:e=new VT}={}){const n=new VT(e).multiplyRight(this.matrix);for(const i of this.children)i instanceof wN?i.traverse(t,{worldMatrix:n}):t(i,{worldMatrix:n})}}function xN(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=n[0],p=n[1],f=n[2],g=n[3],m=n[4],b=n[5],y=n[6],v=n[7],_=n[8];return t[0]=d*i+p*o+f*c,t[1]=d*r+p*a+f*u,t[2]=d*s+p*l+f*h,t[3]=g*i+m*o+b*c,t[4]=g*r+m*a+b*u,t[5]=g*s+m*l+b*h,t[6]=y*i+v*o+_*c,t[7]=y*r+v*a+_*u,t[8]=y*s+v*l+_*h,t}function SN(t,e,n){var i=n[0],r=n[1];return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=r*e[3],t[4]=r*e[4],t[5]=r*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function CN(){var t=new hC(4);return hC!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function EN(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function ON(t,e,n){n*=.5;var i=Math.sin(n);return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=Math.cos(n),t}function TN(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=n[0],l=n[1],c=n[2],u=n[3];return t[0]=i*u+o*a+r*c-s*l,t[1]=r*u+o*l+s*a-i*c,t[2]=s*u+o*c+i*l-r*a,t[3]=o*u-i*a-r*l-s*c,t}function kN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l+o*a,t[1]=r*l+s*a,t[2]=s*l-r*a,t[3]=o*l-i*a,t}function PN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l-s*a,t[1]=r*l+o*a,t[2]=s*l+i*a,t[3]=o*l-r*a,t}function AN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l+r*a,t[1]=r*l-i*a,t[2]=s*l+o*a,t[3]=o*l-s*a,t}function MN(t,e){var n=e[0],i=e[1],r=e[2];return t[0]=n,t[1]=i,t[2]=r,t[3]=Math.sqrt(Math.abs(1-n*n-i*i-r*r)),t}function IN(t,e,n,i){var r,s,o,a,l,c=e[0],u=e[1],h=e[2],d=e[3],p=n[0],f=n[1],g=n[2],m=n[3];return(s=c*p+u*f+h*g+d*m)<0&&(s=-s,p=-p,f=-f,g=-g,m=-m),1-s>uC?(r=Math.acos(s),o=Math.sin(r),a=Math.sin((1-i)*r)/o,l=Math.sin(i*r)/o):(a=1-i,l=i),t[0]=a*c+l*p,t[1]=a*u+l*f,t[2]=a*h+l*g,t[3]=a*d+l*m,t}function DN(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=n*n+i*i+r*r+s*s,a=o?1/o:0;return t[0]=-n*a,t[1]=-i*a,t[2]=-r*a,t[3]=s*a,t}function RN(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function NN(t,e){var n,i=e[0]+e[4]+e[8];if(i>0)n=Math.sqrt(i+1),t[3]=.5*n,t[0]=(e[5]-e[7])*(n=.5/n),t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;n=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),t[r]=.5*n,t[3]=(e[3*s+o]-e[3*o+s])*(n=.5/n),t[s]=(e[3*s+r]+e[3*r+s])*n,t[o]=(e[3*o+r]+e[3*r+o])*n}return t}var LN=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t},jN=xT,FN=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},BN=function(t,e,n,i){var r=e[0],s=e[1],o=e[2],a=e[3];return t[0]=r+i*(n[0]-r),t[1]=s+i*(n[1]-s),t[2]=o+i*(n[2]-o),t[3]=a+i*(n[3]-a),t},VN=function(t){return Math.hypot(t[0],t[1],t[2],t[3])},zN=function(t){var e=t[0],n=t[1],i=t[2],r=t[3];return e*e+n*n+i*i+r*r},UN=function(){var t=dC(),e=pC(1,0,0),n=pC(0,1,0);return function(i,r,s){var o=fC(r,s);return o<-.999999?(gC(t,e,r),function(t){return Math.hypot(t[0],t[1],t[2])}(t)<1e-6&&gC(t,n,r),function(t,e){var n=e[0],i=e[1],r=e[2],s=n*n+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s}(t,t),ON(i,t,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(gC(t,r,s),i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=1+o,function(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=n*n+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),t[0]=n*o,t[1]=i*o,t[2]=r*o,t[3]=s*o,t}(i,i))}}();CN(),CN(),function(){var t=new hC(9);hC!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1}();const HN=[0,0,0,1];class $N extends rC{constructor(t=0,e=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?this.copy(t):this.set(t,e,n,i)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,e,n,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=i,this.check()}fromMatrix3(t){return NN(this,t),this.check()}identity(){return EN(this),this.check()}fromAxisRotation(t,e){return ON(this,t,e),this.check()}setAxisAngle(t,e){return this.fromAxisRotation(t,e)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=sC(t)}get y(){return this[1]}set y(t){this[1]=sC(t)}get z(){return this[2]}set z(t){this[2]=sC(t)}get w(){return this[3]}set w(t){this[3]=sC(t)}len(){return VN(this)}lengthSquared(){return zN(this)}dot(t,e){if(void 0!==e)throw new Error("Quaternion.dot only takes one argument");return FN(this,t)}rotationTo(t,e){return UN(this,t,e),this.check()}add(t,e){if(void 0!==e)throw new Error("Quaternion.add only takes one argument");return LN(this,this,t),this.check()}calculateW(){return MN(this,this),this.check()}conjugate(){return RN(this,this),this.check()}invert(){return DN(this,this),this.check()}lerp(t,e,n){return BN(this,t,e,n),this.check()}multiplyRight(t,e){return iC(!e),TN(this,this,t),this.check()}multiplyLeft(t,e){return iC(!e),TN(this,t,this),this.check()}normalize(){const t=this.len(),e=t>0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return kN(this,this,t),this.check()}rotateY(t){return PN(this,this,t),this.check()}rotateZ(t){return AN(this,this,t),this.check()}scale(t){return jN(this,this,t),this.check()}slerp(t,e,n){switch(arguments.length){case 1:({start:t=HN,target:e,ratio:n}=arguments[0]);break;case 2:[e,n]=arguments,t=this}return IN(this,t,e,n),this.check()}transformVector4(t,e=t){return CT(e,t,this),oC(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t,e){return this.multiplyLeft(t,e)}multiply(t,e){return this.multiplyRight(t,e)}}const GN={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},WN={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function qN(t){if(!t._animation){const e=WN[t.componentType],n=GN[t.type],i=n*t.count,{buffer:r,byteOffset:s}=t.bufferView.data,o=new e(r,s+(t.byteOffset||0),i);if(1===n)t._animation=Array.from(o);else{const e=[];for(let t=0;t{(function(t,{input:e,interpolation:n,output:i},r,s){const o=t%e[e.length-1],a=e.findIndex(t=>t>=o),l=Math.max(0,a-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:Xw.warn(`Bad animation path ${s}`)()}Yx(r[s].length===i[l].length);const c=e[l],u=e[a];switch(n){case"STEP":!function(t,e,n){for(let i=0;ic&&function(t,e,n,i,r){if("rotation"===e){XN.slerp({start:n,target:i,ratio:r});for(let n=0;nc&&function(t,e,{p0:n,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const i=e.name||`Animation-${n}`,r=e.samplers.map(({input:e,interpolation:n="LINEAR",output:i})=>({input:qN(t.accessors[e]),interpolation:n,output:qN(t.accessors[i])})),s=e.channels.map(({sampler:e,target:n})=>({sampler:r[e],target:t.nodes[n.node],path:n.path}));return new KN({name:i,channels:s})})}animate(t){this.setTime(t)}setTime(t){this.animations.forEach(e=>e.animate(t))}getAnimations(){return this.animations}}class ZN extends _N{constructor(t,e={}){super(e),this.onBeforeRender=null,this.AfterRender=null,t instanceof WO?(this.model=t,this._setModelNodeProps(e)):this.model=new WO(t,e),this.managedResources=e.managedResources||[]}setProps(t){return super.setProps(t),this._setModelNodeProps(t),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(t=>t.delete()),this.managedResources=[]}draw(...t){return this.model.draw(...t)}setUniforms(...t){return this.model.setUniforms(...t),this}setAttributes(...t){return this.model.setAttributes(...t),this}updateModuleSettings(...t){return this.model.updateModuleSettings(...t),this}_setModelNodeProps(t){this.model.setProps(t)}}class JN{constructor(t,{attributes:e,material:n,pbrDebug:i,imageBasedLightingEnvironment:r,lights:s,useTangents:o}){this.gl=t,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},zS(t,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],r&&(this.uniforms.u_DiffuseEnvSampler=r.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=r.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=r.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),i&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(e.NORMAL,"HAS_NORMALS"),this.defineIfPresent(e.TANGENT&&o,"HAS_TANGENTS"),this.defineIfPresent(e.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(r,"USE_IBL"),this.defineIfPresent(s,"USE_LIGHTS"),this.defineIfPresent(i,"PBR_DEBUG"),n&&this.parseMaterial(n)}defineIfPresent(t,e){t&&(this.defines[e]=1)}parseTexture(t,e,n=null){const i=t.texture.source.image;let r,s={};i.compressed?(r=i,s={[this.gl.TEXTURE_MIN_FILTER]:i.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):r={data:i};const o=new xS(this.gl,yt({id:t.name||t.id,parameters:yt(yt({},t.texture&&t.texture.sampler&&t.texture.sampler.parameters||{}),s),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},r));this.uniforms[e]=o,this.defineIfPresent(n,n),this.generatedTextures.push(o)}parsePbrMetallicRoughness(t){t.baseColorTexture&&this.parseTexture(t.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=t.baseColorFactor||[1,1,1,1],t.metallicRoughnessTexture&&this.parseTexture(t.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:e=1,roughnessFactor:n=1}=t;this.uniforms.u_MetallicRoughnessValues=[e,n]}parseMaterial(t){if(this.uniforms.pbr_uUnlit=Boolean(t.unlit),t.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(t.pbrMetallicRoughness),t.normalTexture){this.parseTexture(t.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:e=1}=t.normalTexture;this.uniforms.u_NormalScale=e}if(t.occlusionTexture){this.parseTexture(t.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:e=1}=t.occlusionTexture;this.uniforms.u_OcclusionStrength=e}if(t.emissiveTexture&&(this.parseTexture(t.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=t.emissiveFactor||[0,0,0]),"MASK"===t.alphaMode){const{alphaCutoff:e=.5}=t;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=e}else"BLEND"===t.alphaMode&&(Xw.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function tL(t,e){return Zw(t)?`#version 300 es\n${e}`:e}const eL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},nL={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class iL{constructor(t,e={}){this.gl=t,this.options=Object.assign({},nL,e)}instantiate(t){return this.gltf=t,(t.scenes||[]).map(t=>this.createScene(t))}createAnimator(){return Array.isArray(this.gltf.animations)?new QN(this.gltf):null}createScene(t){const e=(t.nodes||[]).map(t=>this.createNode(t));return new wN({id:t.name||t.id,children:e})}createNode(t){if(!t._node){const e=(t.children||[]).map(t=>this.createNode(t));t.mesh&&e.push(this.createMesh(t.mesh));const n=new wN({id:t.name||t.id,children:e});if(t.matrix)n.setMatrix(t.matrix);else{if(n.matrix.identity(),t.translation&&n.matrix.translate(t.translation),t.rotation){const e=(new VT).fromQuaternion(t.rotation);n.matrix.multiplyRight(e)}t.scale&&n.matrix.scale(t.scale)}t._node=n}return t._node}createMesh(t){if(!t._mesh){const e=(t.primitives||[]).map((e,n)=>this.createPrimitive(e,n,t)),n=new wN({id:t.name||t.id,children:e});t._mesh=n}return t._mesh}getVertexCount(t){Xw.warn("getVertexCount() not found")()}createPrimitive(t,e,n){return function(t,e){const{id:n,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new JN(t,e);Xw.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(t=>t.buffer));const c=new ZN(t,Object.assign({id:n,drawMode:i,vertexCount:r,modules:[vN],defines:a.defines,parameters:a.parameters,vs:tL(t,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:tL(t,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:t.name||`${n.name||n.id}-primitive-${e}`,drawMode:t.mode||4,vertexCount:t.indices?t.indices.count:this.getVertexCount(t.attributes),attributes:this.createAttributes(t.attributes,t.indices),material:t.material},this.options))}createAttributes(t,e){const n={};return Object.keys(t).forEach(e=>{n[e]=this.createAccessor(t[e],this.createBuffer(t[e],this.gl.ARRAY_BUFFER))}),e&&(n.indices=this.createAccessor(e,this.createBuffer(e,this.gl.ELEMENT_ARRAY_BUFFER))),Xw.info(4,"glTF Attributes",{attributes:t,indices:e,generated:n})(),n}createBuffer(t,e){t.bufferView||(t.bufferView={});const{bufferView:n}=t;return n.lumaBuffers||(n.lumaBuffers={}),n.lumaBuffers[e]||(n.lumaBuffers[e]=new fS(this.gl,{id:`from-${n.id}`,data:n.data||t.value,target:e})),n.lumaBuffers[e]}createAccessor(t,e){return new uS({buffer:e,offset:t.byteOffset||0,stride:t.bufferView.byteStride||0,type:t.componentType,size:eL[t.type]})}createSampler(t){return t}needsPOT(){return!1}}function rL(t,e,n){if(t.byteLength<=e+n)return"";const i=new DataView(t);let r="";for(let s=0;se[t.name]);return new cL(n,this.metadata)}selectAt(...t){const e=t.map(t=>this.fields[t]).filter(Boolean);return new cL(e,this.metadata)}assign(t){let e,n=this.metadata;if(t instanceof cL){const i=t;e=i.fields,n=uL(uL(new Map,this.metadata),i.metadata)}else e=t;const i=Object.create(null);for(const s of this.fields)i[s.name]=s;for(const s of e)i[s.name]=s;const r=Object.values(i);return new cL(r,n)}}function uL(t,e){return new Map([...t||new Map,...e||new Map])}let hL,dL,pL,fL,gL,mL,bL,yL;!function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"}(hL||(hL={}));class vL{static isNull(t){return t&&t.typeId===hL.Null}static isInt(t){return t&&t.typeId===hL.Int}static isFloat(t){return t&&t.typeId===hL.Float}static isBinary(t){return t&&t.typeId===hL.Binary}static isUtf8(t){return t&&t.typeId===hL.Utf8}static isBool(t){return t&&t.typeId===hL.Bool}static isDecimal(t){return t&&t.typeId===hL.Decimal}static isDate(t){return t&&t.typeId===hL.Date}static isTime(t){return t&&t.typeId===hL.Time}static isTimestamp(t){return t&&t.typeId===hL.Timestamp}static isInterval(t){return t&&t.typeId===hL.Interval}static isList(t){return t&&t.typeId===hL.List}static isStruct(t){return t&&t.typeId===hL.Struct}static isUnion(t){return t&&t.typeId===hL.Union}static isFixedSizeBinary(t){return t&&t.typeId===hL.FixedSizeBinary}static isFixedSizeList(t){return t&&t.typeId===hL.FixedSizeList}static isMap(t){return t&&t.typeId===hL.Map}static isDictionary(t){return t&&t.typeId===hL.Dictionary}get typeId(){return hL.NONE}compareTo(t){return this===t}}Symbol,Symbol,dL=Symbol.toStringTag;class _L extends vL{constructor(t,e){super(),kP(this,"isSigned",void 0),kP(this,"bitWidth",void 0),this.isSigned=t,this.bitWidth=e}get typeId(){return hL.Int}get[dL](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class wL extends _L{constructor(){super(!0,8)}}class xL extends _L{constructor(){super(!0,16)}}class SL extends _L{constructor(){super(!0,32)}}class CL extends _L{constructor(){super(!1,8)}}class EL extends _L{constructor(){super(!1,16)}}class OL extends _L{constructor(){super(!1,32)}}pL=Symbol.toStringTag;class TL extends vL{constructor(t){super(),kP(this,"precision",void 0),this.precision=t}get typeId(){return hL.Float}get[pL](){return"Float"}toString(){return`Float${this.precision}`}}class kL extends TL{constructor(){super(32)}}class PL extends TL{constructor(){super(64)}}Symbol,Symbol,fL=Symbol.toStringTag,gL=Symbol.toStringTag,mL=Symbol.toStringTag,bL=Symbol.toStringTag,yL=Symbol.toStringTag;class AL extends vL{constructor(t,e){super(),kP(this,"listSize",void 0),kP(this,"children",void 0),this.listSize=t,this.children=[e]}get typeId(){return hL.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[yL](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class ML{constructor(t,e,n=!1,i=new Map){kP(this,"name",void 0),kP(this,"type",void 0),kP(this,"nullable",void 0),kP(this,"metadata",void 0),this.name=t,this.type=e,this.nullable=n,this.metadata=i}get typeId(){return this.type&&this.type.typeId}clone(){return new ML(this.name,this.type,this.nullable,this.metadata)}compareTo(t){return this.name===t.name&&this.type===t.type&&this.nullable===t.nullable&&this.metadata===t.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function IL(t,e,n){const i=n?DL(n.metadata):void 0,r=function(t){switch(t.constructor){case Int8Array:return new wL;case Uint8Array:return new CL;case Int16Array:return new xL;case Uint16Array:return new EL;case Int32Array:return new SL;case Uint32Array:return new OL;case Float32Array:return new kL;case Float64Array:return new PL;default:throw new Error("array type not supported")}}(e.value);return new ML(t,new AL(e.size,new ML("value",r)),!1,i)}function DL(t){const e=new Map;for(const n in t)e.set(`${n}.string`,JSON.stringify(t[n]));return e}const RL={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},NL={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class LL{constructor(t){kP(this,"draco",void 0),kP(this,"decoder",void 0),kP(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,e={}){const n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(e);const i=this.decoder.GetEncodedGeometryType(n),r=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let t;switch(i){case this.draco.TRIANGULAR_MESH:t=this.decoder.DecodeBufferToMesh(n,r);break;case this.draco.POINT_CLOUD:t=this.decoder.DecodeBufferToPointCloud(n,r);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!t.ok()||!r.ptr){const e=`DRACO decompression failed: ${t.error_msg()}`;throw new Error(e)}const s=this._getDracoLoaderData(r,i,e),o=this._getMeshData(r,s,e),a=function(t){let e=1/0,n=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=t.POSITION?t.POSITION.value:[],l=a&&a.length;for(let c=0;cr?t:r,s=l>s?l:s,o=u>o?u:o}return[[e,n,i],[r,s,o]]}(o.attributes),l=function(t,e,n){const i=DL(e.metadata),r=[],s=function(t){const e={};for(const n in t){const i=t[n];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in t){const e=IL(o,t[o],s[o]);r.push(e)}if(n){const t=IL("indices",n);r.push(t)}return new cL(r,i)}(o.attributes,s,o.indices);return zn(yt({loader:"draco",loaderData:s,header:{vertexCount:r.num_points(),boundingBox:a}},o),{schema:l})}finally{this.draco.destroy(n),r&&this.draco.destroy(r)}}_getDracoLoaderData(t,e,n){const i=this._getTopLevelMetadata(t),r=this._getDracoAttributes(t,n);return{geometry_type:e,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:i,attributes:r}}_getDracoAttributes(t,e){const n={};for(let i=0;ithis.decoder[t]).includes(i)){const e=new this.draco.AttributeQuantizationTransform;try{if(e.InitFromAttribute(t))return{quantization_bits:e.quantization_bits(),range:e.range(),min_values:new Float32Array([1,2,3]).map(t=>e.min_value(t))}}finally{this.draco.destroy(e)}}return null}_getOctahedronTransform(t,e){const{octahedronAttributes:n=[]}=e,i=t.attribute_type();if(n.map(t=>this.decoder[t]).includes(i)){const e=new this.draco.AttributeQuantizationTransform;try{if(e.InitFromAttribute(t))return{quantization_bits:e.quantization_bits()}}finally{this.draco.destroy(e)}}return null}}var jL=n(49125);const FL={};function BL(t){return VL.apply(this,arguments)}function VL(){return(VL=PS(function*(t,e=null,n={}){return e&&(t=zL(t,e,n)),FL[t]=FL[t]||UL(t),yield FL[t]})).apply(this,arguments)}function zL(t,e,n){if(t.startsWith("http"))return t;const i=n.modules||{};return i[t]?i[t]:$P?n.CDN?(VP(n.CDN.startsWith("http")),`${n.CDN}/${e}@3.0.12/dist/libs/${t}`):GP?`../src/libs/${t}`:`modules/${e}/src/libs/${t}`:`modules/${e}/dist/libs/${t}`}function UL(t){return HL.apply(this,arguments)}function HL(){return(HL=PS(function*(t){return t.endsWith("wasm")?yield(yield fetch(t)).arrayBuffer():$P?GP?importScripts(t):$L(yield(yield fetch(t)).text(),t):jL.requireFromFile&&(yield jL.requireFromFile(t))})).apply(this,arguments)}function $L(t,e){if(!$P)return jL.requireFromString&&jL.requireFromString(t,e);if(GP)return eval.call(HP,t),null;const n=document.createElement("script");n.id=e;try{n.appendChild(document.createTextNode(t))}catch(i){n.text=t}return document.body.appendChild(n),null}const GL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",WL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",qL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let YL;function XL(t){return KL.apply(this,arguments)}function KL(){return(KL=PS(function*(t){const e=t.modules||{};return YL=e.draco3d?YL||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):YL||QL(t),yield YL})).apply(this,arguments)}function QL(t){return ZL.apply(this,arguments)}function ZL(){return(ZL=PS(function*(t){let e,n;switch(t.draco&&t.draco.decoderType){case"js":e=yield BL(GL,"draco",t);break;case"wasm":default:[e,n]=yield Promise.all([yield BL(WL,"draco",t),yield BL(qL,"draco",t)])}return e=e||globalThis.DracoDecoderModule,yield JL(e,n)})).apply(this,arguments)}function JL(t,e){const n={};return e&&(n.wasmBinary=e),new Promise(e=>{t(zn(yt({},n),{onModuleLoaded:t=>e({draco:t})}))})}const tj=zn(yt({},lL),{parse:function(t,e){return ej.apply(this,arguments)}});function ej(){return(ej=PS(function*(t,e){const{draco:n}=yield XL(e),i=new LL(n);try{return i.parseSync(t,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function nj(t,e){return tP(t>=0),tP(e>0),t+(e-1)&~(e-1)}function ij(t,e,n){let i;return i=t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer||t.arrayBuffer,t.byteOffset,t.byteLength),e.set(i,n),n+nj(i.byteLength,4)}const rj=["SCALAR","VEC2","VEC3","VEC4"],sj=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],oj=new Map(sj),aj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},lj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},cj={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function uj(t){return rj[t-1]||rj[0]}function hj(t){const e=oj.get(t.constructor);if(!e)throw new Error("Illegal typed array");return e}function dj(t,e){const n=cj[t.componentType],i=aj[t.type],r=t.count*i,s=t.count*i*lj[t.componentType];return sL(s>=0&&s<=e.byteLength),{ArrayType:n,length:r,byteLength:s}}const pj={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class fj{constructor(t){kP(this,"gltf",void 0),kP(this,"sourceBuffers",void 0),kP(this,"byteLength",void 0),this.gltf=t||{json:yt({},pj),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}getExtension(t){return this.getUsedExtensions().find(e=>e===t)?(this.json.extensions||{})[t]||!0:null}getRequiredExtension(t){return this.getRequiredExtensions().find(e=>e===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(t,e){return(t.extensions||{})[e]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,e){if("object"==typeof e)return e;const n=this.json[t]&&this.json[t][e];if(!n)throw new Error(`glTF file error: Could not find ${t}[${e}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);const e=this.gltf.buffers[t.buffer];return sL(e),new Uint8Array(e.arrayBuffer,(t.byteOffset||0)+e.byteOffset,t.byteLength)}getTypedArrayForAccessor(t){t=this.getAccessor(t);const e=this.getBufferView(t.bufferView),n=this.getBuffer(e.buffer).data,{ArrayType:i,length:r}=dj(t,e);return new i(n,e.byteOffset+t.byteOffset,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);const e=this.getBufferView(t.bufferView),n=this.getBuffer(e.buffer).data;return new Uint8Array(n,e.byteOffset||0,e.byteLength)}addApplicationData(t,e){return this.json[t]=e,this}addExtraData(t,e){return this.json.extras=this.json.extras||{},this.json.extras[t]=e,this}addObjectExtension(t,e,n){return t.extensions=t.extensions||{},t.extensions[e]=n,this.registerUsedExtension(e),this}setObjectExtension(t,e,n){(t.extensions||{})[e]=n}removeObjectExtension(t,e){const n=t.extensions||{},i=n[e];return delete n[e],i}addExtension(t,e={}){return sL(e),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=e,this.registerUsedExtension(t),e}addRequiredExtension(t,e={}){return sL(e),this.addExtension(t,e),this.registerRequiredExtension(t),e}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(e=>e===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(e=>e===t)||this.json.extensionsRequired.push(t)}removeExtension(t){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t),this.json.extensions&&delete this.json.extensions[t]}setDefaultScene(t){this.json.scene=t}addScene(t){const{nodeIndices:e}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:e}),this.json.scenes.length-1}addNode(t){const{meshIndex:e,matrix:n}=t;this.json.nodes=this.json.nodes||[];const i={mesh:e};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(t){const{attributes:e,indices:n,material:i,mode:r=4}=t,s={primitives:[{attributes:this._addAttributes(e),mode:r}]};if(n){const t=this._addIndices(n);s.primitives[0].indices=t}return Number.isFinite(i)&&(s.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}addPointCloud(t){const e={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(e),this.json.meshes.length-1}addImage(t,e){const n=fD(t),i=e||(null==n?void 0:n.mimeType),r={bufferView:this.addBufferView(t),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(r),this.json.images.length-1}addBufferView(t){const e=t.byteLength;sL(Number.isFinite(e)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);const n={buffer:0,byteOffset:this.byteLength,byteLength:e};return this.byteLength+=nj(e,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}addAccessor(t,e){const n={bufferView:t,type:uj(e.size),componentType:e.componentType,count:e.count,max:e.max,min:e.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,e={size:3}){const n=this.addBufferView(t);let i={min:e.min,max:e.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(t,e.size));const r={size:e.size,componentType:hj(t),count:Math.round(t.length/e.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(r,e))}addTexture(t){const{imageIndex:e}=t,n={source:e};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){var t,e;this.gltf.buffers=[];const n=this.byteLength,i=new ArrayBuffer(n),r=new Uint8Array(i);let s=0;for(const o of this.sourceBuffers||[])s=ij(o,r,s);null!==(t=this.json)&&void 0!==t&&null!==(e=t.buffers)&&void 0!==e&&e[0]?this.json.buffers[0].byteLength=n:this.json.buffers=[{byteLength:n}],this.gltf.binary=i,this.sourceBuffers=[i]}_removeStringFromArray(t,e){let n=!0;for(;n;){const i=t.indexOf(e);i>-1?t.splice(i,1):n=!1}}_addAttributes(t={}){const e={};for(const n in t){const i=t[n],r=this._getGltfAttributeName(n),s=this.addBinaryBuffer(i.value,i);e[r]=s}return e}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,e){const n={min:null,max:null};if(t.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Pj(t){for(const e of t.json.meshes||[])for(const t of e.primitives)yield t}function Aj(t){return Mj.apply(this,arguments)}function Mj(){return(Mj=PS(function*(t){const e=new fj(t),{json:n}=e;e.removeExtension(yj);for(const i of n.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,yj)})).apply(this,arguments)}function Ij(t){const e=new fj(t),{json:n}=e;if(e.materials)for(const i of n.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,yj,{}),e.addExtension(yj))}function Dj(t){return Rj.apply(this,arguments)}function Rj(){return(Rj=PS(function*(t){const e=new fj(t),{json:n}=e,i=e.getExtension(bj);i&&(e.json.lights=i.lights,e.removeExtension(bj));for(const r of n.nodes||[]){const t=e.getObjectExtension(r,bj);t&&(r.light=t.light),e.removeObjectExtension(r,bj)}})).apply(this,arguments)}function Nj(t){return Lj.apply(this,arguments)}function Lj(){return(Lj=PS(function*(t){const e=new fj(t),{json:n}=e;if(n.lights){const t=e.addExtension(bj);sL(!t.lights),t.lights=n.lights,delete n.lights}if(e.json.lights){for(const t of e.json.lights)e.addObjectExtension(t.node,bj,t);delete e.json.lights}})).apply(this,arguments)}function jj(t){return Fj.apply(this,arguments)}function Fj(){return(Fj=PS(function*(t){const e=new fj(t),{json:n}=e,i=e.getExtension(vj);if(i){const t=zj(i,e);for(const i of n.materials||[]){const n=e.getObjectExtension(i,vj);n&&(i.technique=Object.assign({},n,t[n.technique]),i.technique.values=Uj(i.technique,e)),e.removeObjectExtension(i,vj)}e.removeExtension(vj)}})).apply(this,arguments)}function Bj(t,e){return Vj.apply(this,arguments)}function Vj(){return(Vj=PS(function*(t,e){})).apply(this,arguments)}function zj(t,e){const{programs:n=[],shaders:i=[],techniques:r=[]}=t,s=new TextDecoder;return i.forEach(t=>{if(!Number.isFinite(t.bufferView))throw new Error("KHR_techniques_webgl: no shader code");t.code=s.decode(e.getTypedArrayForBufferView(t.bufferView))}),n.forEach(t=>{t.fragmentShader=i[t.fragmentShader],t.vertexShader=i[t.vertexShader]}),r.forEach(t=>{t.program=n[t.program]}),r}function Uj(t,e){const n=Object.assign({},t.values);return Object.keys(t.uniforms||{}).forEach(e=>{t.uniforms[e].value&&!(e in n)&&(n[e]=t.uniforms[e].value)}),Object.keys(n).forEach(t=>{"object"==typeof n[t]&&void 0!==n[t].index&&(n[t].texture=e.getTexture(n[t].index))}),n}const Hj={KHR_draco_mesh_compression:i,KHR_materials_unlit:r,KHR_lights_punctual:s,KHR_techniques_webgl:o};function $j(t){return Gj.apply(this,arguments)}function Gj(){return(Gj=PS(function*(t,e={},n){for(const r in Hj){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield Hj[r].decode(t,e,n))}})).apply(this,arguments)}const Wj={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},qj={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class Yj{constructor(t){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(t,e){this.json=t.json;const n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${n.asset.version}`)}if(!e.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),function(t){const e=new fj(t),{json:n}=e;for(const i of n.images||[]){const t=e.removeObjectExtension(i,gj);t&&Object.assign(i,t)}n.buffers&&n.buffers[0]&&delete n.buffers[0].uri,e.removeExtension(gj)}(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(const e in Wj)this._convertTopLevelObjectToArray(t,e)}_convertTopLevelObjectToArray(t,e){const n=t[e];if(n&&!Array.isArray(n)){t[e]=[];for(const i in n){const r=n[i];r.id=r.id||i;const s=t[e].length;t[e].push(r),this.idToIndexMap[e][i]=s}}}_convertObjectIdsToArrayIndices(t){for(const e in Wj)this._convertIdsToIndices(t,e);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(const e of t.textures)this._convertTextureIds(e);for(const e of t.meshes)this._convertMeshIds(e);for(const e of t.nodes)this._convertNodeIds(e);for(const e of t.scenes)this._convertSceneIds(e)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(const e of t.primitives){const{attributes:t,indices:n,material:i}=e;for(const e in t)t[e]=this._convertIdToIndex(t[e],"accessor");n&&(e.indices=this._convertIdToIndex(n,"accessor")),i&&(e.material=this._convertIdToIndex(i,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(t=>this._convertIdToIndex(t,"node"))),t.meshes&&(t.meshes=t.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(t,e){t[e]||(console.warn(`gltf v1: json doesn't contain attribute ${e}`),t[e]=[]);for(const n of t[e])for(const t in n){const e=this._convertIdToIndex(n[t],t);n[t]=e}}_convertIdToIndex(t,e){const n=qj[e];if(n in this.idToIndexMap){const i=this.idToIndexMap[n][t];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${e} with id ${t}`);return i}return t}_updateObjects(t){for(const e of this.json.buffers)delete e.type}_updateMaterial(t){for(const e of t.materials){e.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const n=e.values&&e.values.tex,i=t.textures.findIndex(t=>t.id===n);-1!==i&&(e.pbrMetallicRoughness.baseColorTexture={index:i})}}}function Xj(t,e={}){return(new Yj).normalize(t,e)}const Kj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Qj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Zj={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},Jj={magFilter:Zj.TEXTURE_MAG_FILTER,minFilter:Zj.TEXTURE_MIN_FILTER,wrapS:Zj.TEXTURE_WRAP_S,wrapT:Zj.TEXTURE_WRAP_T},tF={[Zj.TEXTURE_MAG_FILTER]:Zj.LINEAR,[Zj.TEXTURE_MIN_FILTER]:Zj.NEAREST_MIPMAP_LINEAR,[Zj.TEXTURE_WRAP_S]:Zj.REPEAT,[Zj.TEXTURE_WRAP_]:Zj.REPEAT};class eF{postProcess(t,e={}){const{json:n,buffers:i=[],images:r=[],baseUri:s=""}=t;return sL(n),this.baseUri=s,this.json=n,this.buffers=i,this.images=r,this._resolveTree(this.json,e),this.json}_resolveTree(t,e={}){t.bufferViews&&(t.bufferViews=t.bufferViews.map((t,e)=>this._resolveBufferView(t,e))),t.images&&(t.images=t.images.map((t,e)=>this._resolveImage(t,e))),t.samplers&&(t.samplers=t.samplers.map((t,e)=>this._resolveSampler(t,e))),t.textures&&(t.textures=t.textures.map((t,e)=>this._resolveTexture(t,e))),t.accessors&&(t.accessors=t.accessors.map((t,e)=>this._resolveAccessor(t,e))),t.materials&&(t.materials=t.materials.map((t,e)=>this._resolveMaterial(t,e))),t.meshes&&(t.meshes=t.meshes.map((t,e)=>this._resolveMesh(t,e))),t.nodes&&(t.nodes=t.nodes.map((t,e)=>this._resolveNode(t,e))),t.skins&&(t.skins=t.skins.map((t,e)=>this._resolveSkin(t,e))),t.scenes&&(t.scenes=t.scenes.map((t,e)=>this._resolveScene(t,e))),void 0!==t.scene&&(t.scene=t.scenes[this.json.scene])}getScene(t){return this._get("scenes",t)}getNode(t){return this._get("nodes",t)}getSkin(t){return this._get("skins",t)}getMesh(t){return this._get("meshes",t)}getMaterial(t){return this._get("materials",t)}getAccessor(t){return this._get("accessors",t)}getCamera(t){return null}getTexture(t){return this._get("textures",t)}getSampler(t){return this._get("samplers",t)}getImage(t){return this._get("images",t)}getBufferView(t){return this._get("bufferViews",t)}getBuffer(t){return this._get("buffers",t)}_get(t,e){if("object"==typeof e)return e;const n=this.json[t]&&this.json[t][e];return n||console.warn(`glTF file error: Could not find ${t}[${e}]`),n}_resolveScene(t,e){return t.id=t.id||`scene-${e}`,t.nodes=(t.nodes||[]).map(t=>this.getNode(t)),t}_resolveNode(t,e){return t.id=t.id||`node-${e}`,t.children&&(t.children=t.children.map(t=>this.getNode(t))),void 0!==t.mesh?t.mesh=this.getMesh(t.mesh):void 0!==t.meshes&&t.meshes.length&&(t.mesh=t.meshes.reduce((t,e)=>{const n=this.getMesh(e);return t.id=n.id,t.primitives=t.primitives.concat(n.primitives),t},{primitives:[]})),void 0!==t.camera&&(t.camera=this.getCamera(t.camera)),void 0!==t.skin&&(t.skin=this.getSkin(t.skin)),t}_resolveSkin(t,e){return t.id=t.id||`skin-${e}`,t.inverseBindMatrices=this.getAccessor(t.inverseBindMatrices),t}_resolveMesh(t,e){return t.id=t.id||`mesh-${e}`,t.primitives&&(t.primitives=t.primitives.map(t=>{const e=(t=yt({},t)).attributes;t.attributes={};for(const n in e)t.attributes[n]=this.getAccessor(e[n]);return void 0!==t.indices&&(t.indices=this.getAccessor(t.indices)),void 0!==t.material&&(t.material=this.getMaterial(t.material)),t})),t}_resolveMaterial(t,e){if(t.id=t.id||`material-${e}`,t.normalTexture&&(t.normalTexture=yt({},t.normalTexture),t.normalTexture.texture=this.getTexture(t.normalTexture.index)),t.occlusionTexture&&(t.occlustionTexture=yt({},t.occlustionTexture),t.occlusionTexture.texture=this.getTexture(t.occlusionTexture.index)),t.emissiveTexture&&(t.emmisiveTexture=yt({},t.emmisiveTexture),t.emissiveTexture.texture=this.getTexture(t.emissiveTexture.index)),t.emissiveFactor||(t.emissiveFactor=t.emmisiveTexture?[1,1,1]:[0,0,0]),t.pbrMetallicRoughness){t.pbrMetallicRoughness=yt({},t.pbrMetallicRoughness);const e=t.pbrMetallicRoughness;e.baseColorTexture&&(e.baseColorTexture=yt({},e.baseColorTexture),e.baseColorTexture.texture=this.getTexture(e.baseColorTexture.index)),e.metallicRoughnessTexture&&(e.metallicRoughnessTexture=yt({},e.metallicRoughnessTexture),e.metallicRoughnessTexture.texture=this.getTexture(e.metallicRoughnessTexture.index))}return t}_resolveAccessor(t,e){if(t.id=t.id||`accessor-${e}`,void 0!==t.bufferView&&(t.bufferView=this.getBufferView(t.bufferView)),t.bytesPerComponent=function(t){return Qj[t]}(t.componentType),t.components=function(t){return Kj[t]}(t.type),t.bytesPerElement=t.bytesPerComponent*t.components,t.bufferView){const e=t.bufferView.buffer,{ArrayType:n,byteLength:i}=dj(t,t.bufferView),r=(t.bufferView.byteOffset||0)+(t.byteOffset||0)+e.byteOffset,s=e.arrayBuffer.slice(r,r+i);t.value=new n(s)}return t}_resolveTexture(t,e){return t.id=t.id||`texture-${e}`,t.sampler="sampler"in t?this.getSampler(t.sampler):tF,t.source=this.getImage(t.source),t}_resolveSampler(t,e){t.id=t.id||`sampler-${e}`,t.parameters={};for(const n in t){const e=this._enumSamplerParameter(n);void 0!==e&&(t.parameters[e]=t[n])}return t}_enumSamplerParameter(t){return Jj[t]}_resolveImage(t,e){t.id=t.id||`image-${e}`,void 0!==t.bufferView&&(t.bufferView=this.getBufferView(t.bufferView));const n=this.images[e];return n&&(t.image=n),t}_resolveBufferView(t,e){t.id=t.id||`bufferView-${e}`;const n=t.buffer;t.buffer=this.buffers[n];let i=this.buffers[n].byteOffset||0;return"byteOffset"in t&&(i+=t.byteOffset),t.data=new Uint8Array(this.buffers[n].arrayBuffer,i,t.byteLength),t}_resolveCamera(t,e){return t.id=t.id||`camera-${e}`,t}}function nF(t,e){return(new eF).postProcess(t,e)}const iF=1735152710,rF=!0;function sF(t,e,n,i){const r=new Uint8Array(e.buffer,n,i),s=new TextDecoder("utf8").decode(r);return t.json=JSON.parse(s),nj(i,4)}function oF(t,e,n,i){return t.header.hasBinChunk=!0,t.binChunks.push({byteOffset:n,byteLength:i,arrayBuffer:e.buffer}),nj(i,4)}function aF(t,e){return lF.apply(this,arguments)}function lF(){return(lF=PS(function*(t,e,n=0,i,r){var s,o,a,l;cF(t,e,n,i),Xj(t,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&t.json.buffers&&(yield uF(t,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const e=dF(t,i,r);c.push(e)}const u=$j(t,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?nF(t,i):t})).apply(this,arguments)}function cF(t,e,n,i){if(i.uri&&(t.baseUri=i.uri),e instanceof ArrayBuffer&&!function(t,e=0,n={}){const i=new DataView(t),{magic:r=iF}=n,s=i.getUint32(e,!1);return s===r||s===iF}(e,n,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)t.json=function(t){try{return JSON.parse(t)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(t,e=5){return"string"==typeof t?t.slice(0,e):ArrayBuffer.isView(t)?rL(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?rL(t,0,e):""}(t)}"`)}}(e);else if(e instanceof ArrayBuffer){const r={};n=function(t,e,n=0,i={}){const r=new DataView(e),s=function(t,e=0){return`${String.fromCharCode(t.getUint8(e+0))}${String.fromCharCode(t.getUint8(e+1))}${String.fromCharCode(t.getUint8(e+2))}${String.fromCharCode(t.getUint8(e+3))}`}(r,n+0),o=r.getUint32(n+4,rF),a=r.getUint32(n+8,rF);switch(Object.assign(t,{header:{byteOffset:n,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),n+=12,t.version){case 1:return function(t,e,n){tP(t.header.byteLength>20);const i=e.getUint32(n+0,rF),r=e.getUint32(n+4,rF);return n+=8,tP(0===r),sF(t,e,n,i),(n+=i)+oF(t,e,n,t.header.byteLength)}(t,r,n);case 2:return function(t,e,n,i){return tP(t.header.byteLength>20),function(t,e,n,i){for(;n+8<=t.header.byteLength;){const r=e.getUint32(n+0,rF),s=e.getUint32(n+4,rF);switch(n+=8,s){case 1313821514:sF(t,e,n,r);break;case 5130562:oF(t,e,n,r);break;case 0:i.strict||sF(t,e,n,r);break;case 1:i.strict||oF(t,e,n,r)}n+=nj(r,4)}}(t,e,n,{}),n+t.header.byteLength}(t,r,n);default:throw new Error(`Invalid GLB version ${t.version}. Only supports v1 and v2.`)}}(r,e,n,i.glb),sL("glTF"===r.type,`Invalid GLB magic string ${r.type}`),t._glb=r,t.json=r.json}else sL(!1,"GLTF: must be ArrayBuffer or string");if(t.buffers=new Array((t.json.buffers||[]).length).fill(null),t._glb&&t._glb.header.hasBinChunk){const{binChunks:e}=t._glb;t.buffers[0]={arrayBuffer:e[0].arrayBuffer,byteOffset:e[0].byteOffset,byteLength:e[0].byteLength}}t.images=new Array((t.json.images||[]).length).fill({})}function uF(t,e,n){return hF.apply(this,arguments)}function hF(){return(hF=PS(function*(t,e,n){for(let s=0;s{t.traverse(t=>{Object.values(t.model.getUniforms()).forEach(t=>{!1===t.loaded&&e.push(t)})})}),yield vF(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function vF(t){return _F.apply(this,arguments)}function _F(){return(_F=PS(function*(t){for(;t();)yield new Promise(t=>requestAnimationFrame(t))})).apply(this,arguments)}const wF=[255,255,255,255],xF={scenegraph:{type:"object",value:null,async:!0},getScene:t=>t&&t.scenes?"object"==typeof t.scene?t.scene:t.scenes[t.scene||0]:t,getAnimator:t=>t&&t.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:wF},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[mF]};let SF=(()=>{class t extends eM{getShaders(){const t=[pR,gR];return"pbr"===this.props._lighting&&t.push(vN),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:wF,transition:!0},instanceModelMatrix:pN})}updateState(t){super.updateState(t);const{props:e,oldProps:n}=t;e.scenegraph!==n.scenegraph?this._updateScenegraph(e):e._animations!==n._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,e._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:e}=this.context;let n=null;if(t.scenegraph instanceof _N)n={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const i=t.scenegraph,r=function(t,e,n){const i=new iL(t,n);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(e,i,this._getModelOptions());n=yt({gltf:i},r),function(t){return yF.apply(this,arguments)}(r).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Gw.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),n=t.scenegraph);const i={layer:this,gl:e},r=t.getScene(n,i),s=t.getAnimator(n,i);r instanceof _N?(this._deleteScenegraph(),this._applyAllAttributes(r),this._applyAnimationsProp(r,s,t._animations),this.setState({scenegraph:r,animator:s})):null!==r&&Gw.warn("invalid scenegraph:",r)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const e=this.getAttributeManager().getAttributes();t.traverse(t=>{this._setModelAttributes(t.model,e)})}}_applyAnimationsProp(t,e,n){if(!t||!e||!n)return;const i=e.getAnimations();Object.keys(n).sort().forEach(t=>{const e=n[t];if("*"===t)i.forEach(t=>{Object.assign(t,e)});else if(Number.isFinite(Number(t))){const n=Number(t);n>=0&&ne===t);n?Object.assign(n,e):Gw.warn("animation ".concat(t," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof _N&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let e=null;return t&&(e="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:e,modelOptions:yt({isInstanced:!0,transpileToGLSL100:!Zw(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(e=>{this._setModelAttributes(e.model,t)})}draw({moduleParameters:t=null,parameters:e={},context:n}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(n.timeline.getTime()),this.setNeedsRedraw());const{viewport:i}=this.context,{sizeScale:r,sizeMinPixels:s,sizeMaxPixels:o,opacity:a,coordinateSystem:l}=this.props,c=this.getNumInstances();this.state.scenegraph.traverse((n,{worldMatrix:u})=>{n.model.setInstanceCount(c),n.updateModuleSettings(t),n.draw({parameters:e,uniforms:{sizeScale:r,opacity:a,sizeMinPixels:s,sizeMaxPixels:o,composeModelMatrix:fN(i,l),sceneModelMatrix:u,u_Camera:n.model.getUniforms().project_uCameraPosition}})})}}return t.layerName="ScenegraphLayer",t.defaultProps=xF,t})();class CF extends bR{constructor(t={}){const{id:e=Zx("sphere-geometry")}=t,{indices:n,attributes:i}=function(t){const{nlat:e=10,nlong:n=10}=t;let{radius:i=1}=t;const r=Math.PI-0,s=2*Math.PI-0,o=(e+1)*(n+1);if("number"==typeof i){const t=i;i=(e,n,i,r,s)=>t}const a=new Float32Array(3*o),l=new Float32Array(3*o),c=new Float32Array(2*o),u=new(o>65535?Uint32Array:Uint16Array)(e*n*6);for(let d=0;d<=e;d++)for(let t=0;t<=n;t++){const o=t/n,u=d/e,h=t+d*(n+1),p=2*h,f=3*h,g=s*o,m=r*u,b=Math.sin(g),y=Math.cos(g),v=Math.sin(m),_=y*v,w=Math.cos(m),x=b*v,S=i(_,w,x,o,u);a[f+0]=S*_,a[f+1]=S*w,a[f+2]=S*x,l[f+0]=_,l[f+1]=w,l[f+2]=x,c[p+0]=o,c[p+1]=1-u}const h=n+1;for(let d=0;ds?(a=i,o=1,t=n):t=e+T/s*(n-e),(-2===T||T===s+2)&&(t=0,o=0),a-=i/2;for(let e=0;es?0:n*g,S[E+w[1]]=T<0?-1:T>s?1:m,S[E+w[2]]=T<0||T>s?0:i*g,C[O+0]=e/r,C[O+1]=o,O+=2,E+=3}}for(let T=0;T0){const t=1/i;this.x*=t,this.y*=t,this.z*=t}else this.x=0,this.y=0,this.z=0;return i}unit(t=new jF){const e=this.x,n=this.y,i=this.z;let r=Math.sqrt(e*e+n*n+i*i);return r>0?(r=1/r,t.x=e*r,t.y=n*r,t.z=i*r):(t.x=1,t.y=0,t.z=0),t}length(){const t=this.x,e=this.y,n=this.z;return Math.sqrt(t*t+e*e+n*n)}lengthSquared(){return this.dot(this)}distanceTo(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,o=t.z;return Math.sqrt((r-e)*(r-e)+(s-n)*(s-n)+(o-i)*(o-i))}distanceSquared(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,o=t.z;return(r-e)*(r-e)+(s-n)*(s-n)+(o-i)*(o-i)}scale(t,e=new jF){const n=this.y,i=this.z;return e.x=t*this.x,e.y=t*n,e.z=t*i,e}vmul(t,e=new jF){return e.x=t.x*this.x,e.y=t.y*this.y,e.z=t.z*this.z,e}addScaledVector(t,e,n=new jF){return n.x=this.x+t*e.x,n.y=this.y+t*e.y,n.z=this.z+t*e.z,n}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(t=new jF){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t}tangents(t,e){const n=this.length();if(n>0){const i=FF,r=1/n;i.set(this.x*r,this.y*r,this.z*r);const s=BF;Math.abs(i.x)<.9?(s.set(1,0,0),i.cross(s,t)):(s.set(0,1,0),i.cross(s,t)),i.cross(t,e)}else t.set(1,0,0),e.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}lerp(t,e,n){const i=this.x,r=this.y,s=this.z;n.x=i+(t.x-i)*e,n.y=r+(t.y-r)*e,n.z=s+(t.z-s)*e}almostEquals(t,e=1e-6){return!(Math.abs(this.x-t.x)>e||Math.abs(this.y-t.y)>e||Math.abs(this.z-t.z)>e)}almostZero(t=1e-6){return!(Math.abs(this.x)>t||Math.abs(this.y)>t||Math.abs(this.z)>t)}isAntiparallelTo(t,e){return this.negate(VF),VF.almostEquals(t,e)}clone(){return new jF(this.x,this.y,this.z)}}jF.ZERO=void 0,jF.UNIT_X=void 0,jF.UNIT_Y=void 0,jF.UNIT_Z=void 0,jF.ZERO=new jF(0,0,0),jF.UNIT_X=new jF(1,0,0),jF.UNIT_Y=new jF(0,1,0),jF.UNIT_Z=new jF(0,0,1);const FF=new jF,BF=new jF,VF=new jF;class zF{constructor(t={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new jF,this.upperBound=new jF,t.lowerBound&&this.lowerBound.copy(t.lowerBound),t.upperBound&&this.upperBound.copy(t.upperBound)}setFromPoints(t,e,n,i){const r=this.lowerBound,s=this.upperBound,o=n;r.copy(t[0]),o&&o.vmult(r,r),s.copy(r);for(let a=1;as.x&&(s.x=e.x),e.xs.y&&(s.y=e.y),e.ys.z&&(s.z=e.z),e.z=r.x&&e.y<=i.y&&n.y>=r.y&&e.z<=i.z&&n.z>=r.z}getCorners(t,e,n,i,r,s,o,a){const l=this.lowerBound,c=this.upperBound;t.copy(l),e.set(c.x,l.y,l.z),n.set(c.x,c.y,l.z),i.set(l.x,c.y,c.z),r.set(c.x,l.y,c.z),s.set(l.x,c.y,l.z),o.set(l.x,l.y,c.z),a.copy(c)}toLocalFrame(t,e){const n=HF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(let i=0;8!==i;i++){const e=n[i];t.pointToLocal(e,e)}return e.setFromPoints(n)}toWorldFrame(t,e){const n=HF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(let i=0;8!==i;i++){const e=n[i];t.pointToWorld(e,e)}return e.setFromPoints(n)}overlapsRay(t){const{direction:e,from:n}=t,i=1/e.x,r=1/e.y,s=1/e.z,o=(this.lowerBound.x-n.x)*i,a=(this.upperBound.x-n.x)*i,l=(this.lowerBound.y-n.y)*r,c=(this.upperBound.y-n.y)*r,u=(this.lowerBound.z-n.z)*s,h=(this.upperBound.z-n.z)*s,d=Math.max(Math.max(Math.min(o,a),Math.min(l,c)),Math.min(u,h)),p=Math.min(Math.min(Math.max(o,a),Math.max(l,c)),Math.max(u,h));return!(p<0||d>p)}}const UF=new jF,HF=[new jF,new jF,new jF,new jF,new jF,new jF,new jF,new jF];class $F{constructor(t=0,e=0,n=0,i=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=t,this.y=e,this.z=n,this.w=i}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(t,e){const n=Math.sin(.5*e);return this.x=t.x*n,this.y=t.y*n,this.z=t.z*n,this.w=Math.cos(.5*e),this}toAxisAngle(t=new jF){this.normalize();const e=2*Math.acos(this.w),n=Math.sqrt(1-this.w*this.w);return n<.001?(t.x=this.x,t.y=this.y,t.z=this.z):(t.x=this.x/n,t.y=this.y/n,t.z=this.z/n),[t,e]}setFromVectors(t,e){if(t.isAntiparallelTo(e)){const e=GF;t.tangents(e,WF),this.setFromAxisAngle(e,Math.PI)}else{const n=t.cross(e);this.x=n.x,this.y=n.y,this.z=n.z,this.w=Math.sqrt(Yr(t.length(),2)*Yr(e.length(),2))+t.dot(e),this.normalize()}return this}mult(t,e=new $F){const n=this.x,i=this.y,r=this.z,s=this.w,o=t.x,a=t.y,l=t.z,c=t.w;return e.x=n*c+s*o+i*l-r*a,e.y=i*c+s*a+r*o-n*l,e.z=r*c+s*l+n*a-i*o,e.w=s*c-n*o-i*a-r*l,e}inverse(t=new $F){const e=this.x,n=this.y,i=this.z,r=this.w;this.conjugate(t);const s=1/(e*e+n*n+i*i+r*r);return t.x*=s,t.y*=s,t.z*=s,t.w*=s,t}conjugate(t=new $F){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t.w=this.w,t}normalize(){let t=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===t?(this.x=0,this.y=0,this.z=0,this.w=0):(t=1/t,this.x*=t,this.y*=t,this.z*=t,this.w*=t),this}normalizeFast(){const t=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===t?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=t,this.y*=t,this.z*=t,this.w*=t),this}vmult(t,e=new jF){const n=t.x,i=t.y,r=t.z,s=this.x,o=this.y,a=this.z,l=this.w,c=l*n+o*r-a*i,u=l*i+a*n-s*r,h=l*r+s*i-o*n,d=-s*n-o*i-a*r;return e.x=c*l+d*-s+u*-a-h*-o,e.y=u*l+d*-o+h*-s-c*-a,e.z=h*l+d*-a+c*-o-u*-s,e}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this}toEuler(t,e="YZX"){let n,i,r;const s=this.x,o=this.y,a=this.z,l=this.w;switch(e){case"YZX":const t=s*o+a*l;if(t>.499&&(n=2*Math.atan2(s,l),i=Math.PI/2,r=0),t<-.499&&(n=-2*Math.atan2(s,l),i=-Math.PI/2,r=0),void 0===n){const e=s*s,c=a*a;n=Math.atan2(2*o*l-2*s*a,1-o*o*2-2*c),i=Math.asin(2*t),r=Math.atan2(2*s*l-2*o*a,1-2*e-2*c)}break;default:throw new Error("Euler order "+e+" not supported yet.")}t.y=n,t.z=i,t.x=r}setFromEuler(t,e,n,i="XYZ"){const r=Math.cos(t/2),s=Math.cos(e/2),o=Math.cos(n/2),a=Math.sin(t/2),l=Math.sin(e/2),c=Math.sin(n/2);return"XYZ"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o-a*l*c):"YXZ"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o+a*l*c):"ZXY"===i?(this.x=a*s*o-r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o-a*l*c):"ZYX"===i?(this.x=a*s*o-r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o+a*l*c):"YZX"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o-a*l*c):"XZY"===i&&(this.x=a*s*o-r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o+a*l*c),this}clone(){return new $F(this.x,this.y,this.z,this.w)}slerp(t,e,n=new $F){const i=this.x,r=this.y,s=this.z,o=this.w;let a,l,c,u,h,d=t.x,p=t.y,f=t.z,g=t.w;return l=i*d+r*p+s*f+o*g,l<0&&(l=-l,d=-d,p=-p,f=-f,g=-g),1-l>1e-6?(a=Math.acos(l),c=Math.sin(a),u=Math.sin((1-e)*a)/c,h=Math.sin(e*a)/c):(u=1-e,h=e),n.x=u*i+h*d,n.y=u*r+h*p,n.z=u*s+h*f,n.w=u*o+h*g,n}integrate(t,e,n,i=new $F){const r=t.x*n.x,s=t.y*n.y,o=t.z*n.z,a=this.x,l=this.y,c=this.z,u=this.w,h=.5*e;return i.x+=h*(r*u+s*c-o*l),i.y+=h*(s*u+o*a-r*c),i.z+=h*(o*u+r*l-s*a),i.w+=h*(-r*a-s*l-o*c),i}}const GF=new jF,WF=new jF,qF={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let YF=(()=>{class t{constructor(e={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=t.idCounter++,this.type=e.type||0,this.boundingSphereRadius=0,this.collisionResponse=!e.collisionResponse||e.collisionResponse,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:1,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.material=e.material?e.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,e){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,e,n,i){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return t.idCounter=0,t.types=qF,t})();class XF{constructor(t={}){this.position=void 0,this.quaternion=void 0,this.position=new jF,this.quaternion=new $F,t.position&&this.position.copy(t.position),t.quaternion&&this.quaternion.copy(t.quaternion)}pointToLocal(t,e){return XF.pointToLocalFrame(this.position,this.quaternion,t,e)}pointToWorld(t,e){return XF.pointToWorldFrame(this.position,this.quaternion,t,e)}vectorToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e}static pointToLocalFrame(t,e,n,i=new jF){return n.vsub(t,i),e.conjugate(KF),KF.vmult(i,i),i}static pointToWorldFrame(t,e,n,i=new jF){return e.vmult(n,i),i.vadd(t,i),i}static vectorToWorldFrame(t,e,n=new jF){return t.vmult(e,n),n}static vectorToLocalFrame(t,e,n,i=new jF){return e.w*=-1,e.vmult(n,i),e.w*=-1,i}}const KF=new $F;class QF extends YF{constructor(t={}){const{vertices:e=[],faces:n=[],normals:i=[],axes:r,boundingSphereRadius:s}=t;super({type:YF.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=e,this.faces=n,this.faceNormals=i,0===this.faceNormals.length&&this.computeNormals(),s?this.boundingSphereRadius=s:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=r?r.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const t=this.faces,e=this.vertices,n=this.uniqueEdges;n.length=0;const i=new jF;for(let r=0;r!==t.length;r++){const s=t[r],o=s.length;for(let t=0;t!==o;t++){e[s[t]].vsub(e[s[(t+1)%o]],i),i.normalize();let r=!1;for(let t=0;t!==n.length;t++)if(n[t].almostEquals(i)||n[t].almostEquals(i)){r=!0;break}r||n.push(i.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let t=0;th&&(h=t,u=p)}const d=[];for(let p=0;p=0&&this.clipFaceAgainstHull(s,t,e,d,o,a,l)}findSeparatingAxis(t,e,n,i,r,s,o,a){const l=new jF,c=new jF,u=new jF,h=new jF,d=new jF,p=new jF;let f=Number.MAX_VALUE;const g=this;if(g.uniqueAxes)for(let m=0;m!==g.uniqueAxes.length;m++){n.vmult(g.uniqueAxes[m],l);const o=g.testSepAxis(l,t,e,n,i,r);if(!1===o)return!1;o0&&s.negate(s),!0}testSepAxis(t,e,n,i,r,s){QF.project(this,t,n,i,ZF),QF.project(e,t,r,s,JF);const o=ZF[0],a=ZF[1],l=JF[0],c=JF[1];if(o0?1/e:0,this.material=t.material||null,this.linearDamping="number"==typeof t.linearDamping?t.linearDamping:.01,this.type=e<=0?sB.STATIC:sB.DYNAMIC,typeof t.type==typeof sB.STATIC&&(this.type=t.type),this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.sleepState=sB.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new jF,this.quaternion=new $F,this.initQuaternion=new $F,this.previousQuaternion=new $F,this.interpolatedQuaternion=new $F,t.quaternion&&(this.quaternion.copy(t.quaternion),this.initQuaternion.copy(t.quaternion),this.previousQuaternion.copy(t.quaternion),this.interpolatedQuaternion.copy(t.quaternion)),this.angularVelocity=new jF,t.angularVelocity&&this.angularVelocity.copy(t.angularVelocity),this.initAngularVelocity=new jF,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new jF,this.invInertia=new jF,this.invInertiaWorld=new NF,this.invMassSolve=0,this.invInertiaSolve=new jF,this.invInertiaWorldSolve=new NF,this.fixedRotation=void 0!==t.fixedRotation&&t.fixedRotation,this.angularDamping=void 0!==t.angularDamping?t.angularDamping:.01,this.linearFactor=new jF(1,1,1),t.linearFactor&&this.linearFactor.copy(t.linearFactor),this.angularFactor=new jF(1,1,1),t.angularFactor&&this.angularFactor.copy(t.angularFactor),this.aabb=new zF,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new jF,this.isTrigger=Boolean(t.isTrigger),t.shape&&this.addShape(t.shape),this.updateMassProperties()}wakeUp(){const t=this.sleepState;this.sleepState=sB.AWAKE,this.wakeUpAfterNarrowphase=!1,t===sB.SLEEPING&&this.dispatchEvent(sB.wakeupEvent)}sleep(){this.sleepState=sB.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(t){if(this.allowSleep){const e=this.sleepState,n=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),i=Yr(this.sleepSpeedLimit,2);e===sB.AWAKE&&ni?this.wakeUp():e===sB.SLEEPY&&t-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(sB.sleepEvent))}}updateSolveMassProperties(){this.sleepState===sB.SLEEPING||this.type===sB.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(t,e=new jF){return t.vsub(this.position,e),this.quaternion.conjugate().vmult(e,e),e}vectorToLocalFrame(t,e=new jF){return this.quaternion.conjugate().vmult(t,e),e}pointToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e.vadd(this.position,e),e}vectorToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e}addShape(t,e,n){const i=new jF,r=new $F;return e&&i.copy(e),n&&r.copy(n),this.shapes.push(t),this.shapeOffsets.push(i),this.shapeOrientations.push(r),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,t.body=this,this}removeShape(t){const e=this.shapes.indexOf(t);return-1===e?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(e,1),this.shapeOffsets.splice(e,1),this.shapeOrientations.splice(e,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,t.body=null,this)}updateBoundingRadius(){const t=this.shapes,e=this.shapeOffsets,n=t.length;let i=0;for(let r=0;r!==n;r++){const n=t[r];n.updateBoundingSphereRadius();const s=e[r].length(),o=n.boundingSphereRadius;s+o>i&&(i=s+o)}this.boundingRadius=i}updateAABB(){const t=this.shapes,e=this.shapeOffsets,n=this.shapeOrientations,i=t.length,r=oB,s=aB,o=this.quaternion,a=this.aabb,l=lB;for(let c=0;c!==i;c++){const i=t[c];o.vmult(e[c],r),r.vadd(this.position,r),o.mult(n[c],s),i.calculateWorldAABB(r,s,l.lowerBound,l.upperBound),0===c?a.copy(l):a.extend(l)}this.aabbNeedsUpdate=!1}updateInertiaWorld(t){const e=this.invInertia;if(e.x!==e.y||e.y!==e.z||t){const t=cB,n=uB;t.setRotationFromQuaternion(this.quaternion),t.transpose(n),t.scale(e,t),t.mmult(n,this.invInertiaWorld)}}applyForce(t,e=new jF){if(this.type!==sB.DYNAMIC)return;this.sleepState===sB.SLEEPING&&this.wakeUp();const n=hB;e.cross(t,n),this.force.vadd(t,this.force),this.torque.vadd(n,this.torque)}applyLocalForce(t,e=new jF){if(this.type!==sB.DYNAMIC)return;const n=dB,i=pB;this.vectorToWorldFrame(t,n),this.vectorToWorldFrame(e,i),this.applyForce(n,i)}applyTorque(t){this.type===sB.DYNAMIC&&(this.sleepState===sB.SLEEPING&&this.wakeUp(),this.torque.vadd(t,this.torque))}applyImpulse(t,e=new jF){if(this.type!==sB.DYNAMIC)return;this.sleepState===sB.SLEEPING&&this.wakeUp();const n=e,i=fB;i.copy(t),i.scale(this.invMass,i),this.velocity.vadd(i,this.velocity);const r=gB;n.cross(t,r),this.invInertiaWorld.vmult(r,r),this.angularVelocity.vadd(r,this.angularVelocity)}applyLocalImpulse(t,e=new jF){if(this.type!==sB.DYNAMIC)return;const n=mB,i=bB;this.vectorToWorldFrame(t,n),this.vectorToWorldFrame(e,i),this.applyImpulse(n,i)}updateMassProperties(){const t=yB;this.invMass=this.mass>0?1/this.mass:0;const e=this.inertia,n=this.fixedRotation;this.updateAABB(),t.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),nB.calculateInertia(t,this.mass,e),this.invInertia.set(e.x>0&&!n?1/e.x:0,e.y>0&&!n?1/e.y:0,e.z>0&&!n?1/e.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(t,e){const n=new jF;return t.vsub(this.position,n),this.angularVelocity.cross(n,e),this.velocity.vadd(e,e),e}integrate(t,e,n){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==sB.DYNAMIC&&this.type!==sB.KINEMATIC||this.sleepState===sB.SLEEPING)return;const i=this.velocity,r=this.angularVelocity,s=this.position,o=this.force,a=this.torque,l=this.quaternion,c=this.invInertiaWorld,u=this.linearFactor,h=this.invMass*t;i.x+=o.x*h*u.x,i.y+=o.y*h*u.y,i.z+=o.z*h*u.z;const d=c.elements,p=this.angularFactor,f=a.x*p.x,g=a.y*p.y,m=a.z*p.z;r.x+=t*(d[0]*f+d[1]*g+d[2]*m),r.y+=t*(d[3]*f+d[4]*g+d[5]*m),r.z+=t*(d[6]*f+d[7]*g+d[8]*m),s.x+=i.x*t,s.y+=i.y*t,s.z+=i.z*t,l.integrate(this.angularVelocity,t,this.angularFactor,l),e&&(n?l.normalizeFast():l.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}sB.idCounter=0,sB.COLLIDE_EVENT_NAME="collide",sB.DYNAMIC=1,sB.STATIC=2,sB.KINEMATIC=4,sB.AWAKE=0,sB.SLEEPY=1,sB.SLEEPING=2,sB.wakeupEvent={type:"wakeup"},sB.sleepyEvent={type:"sleepy"},sB.sleepEvent={type:"sleep"};const oB=new jF,aB=new $F,lB=new zF,cB=new NF,uB=new NF,hB=new jF,dB=new jF,pB=new jF,fB=new jF,gB=new jF,mB=new jF,bB=new jF,yB=new jF;new jF,new jF;class vB{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new jF,this.rayToWorld=new jF,this.hitNormalWorld=new jF,this.hitPointWorld=new jF,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(t,e,n,i,r,s,o){this.rayFromWorld.copy(t),this.rayToWorld.copy(e),this.hitNormalWorld.copy(n),this.hitPointWorld.copy(i),this.shape=r,this.body=s,this.distance=o}}let _B,wB,xB,SB,CB,EB,OB;_B=YF.types.SPHERE,wB=YF.types.PLANE,xB=YF.types.BOX,SB=YF.types.CYLINDER,CB=YF.types.CONVEXPOLYHEDRON,EB=YF.types.HEIGHTFIELD,OB=YF.types.TRIMESH;class TB{get[_B](){return this._intersectSphere}get[wB](){return this._intersectPlane}get[xB](){return this._intersectBox}get[SB](){return this._intersectConvex}get[CB](){return this._intersectConvex}get[EB](){return this._intersectHeightfield}get[OB](){return this._intersectTrimesh}constructor(t=new jF,e=new jF){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=t.clone(),this.to=e.clone(),this.direction=new jF,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=TB.ANY,this.result=new vB,this.hasHit=!1,this.callback=t=>{}}intersectWorld(t,e){return this.mode=e.mode||TB.ANY,this.result=e.result||new vB,this.skipBackfaces=!!e.skipBackfaces,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===e.checkCollisionResponse||e.checkCollisionResponse,e.from&&this.from.copy(e.from),e.to&&this.to.copy(e.to),this.callback=e.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(kB),PB.length=0,t.broadphase.aabbQuery(t,kB,PB),this.intersectBodies(PB),this.hasHit}intersectBody(t,e){e&&(this.result=e,this.updateDirection());const n=this.checkCollisionResponse;if(n&&!t.collisionResponse||0==(this.collisionFilterGroup&t.collisionFilterMask)||0==(t.collisionFilterGroup&this.collisionFilterMask))return;const i=IB,r=DB;for(let s=0,o=t.shapes.length;st.boundingSphereRadius)return;const r=this[t.type];r&&r.call(this,t,e,n,i,t)}_intersectBox(t,e,n,i,r){return this._intersectConvex(t.convexPolyhedronRepresentation,e,n,i,r)}_intersectPlane(t,e,n,i,r){const s=this.from,o=this.to,a=this.direction,l=new jF(0,0,1);e.vmult(l,l);const c=new jF;s.vsub(n,c);const u=c.dot(l);if(o.vsub(n,c),u*c.dot(l)>0||s.distanceTo(o)=0&&t<=1&&(s.lerp(o,t,d),d.vsub(n,p),p.normalize(),this.reportIntersection(p,d,r,i,-1)),this.result.shouldStop)return;e>=0&&e<=1&&(s.lerp(o,e,d),d.vsub(n,p),p.normalize(),this.reportIntersection(p,d,r,i,-1))}}_intersectConvex(t,e,n,i,r,s){const o=$B,a=GB,l=s&&s.faceList||null,c=t.faces,u=t.vertices,h=t.faceNormals,d=this.direction,p=this.from,f=p.distanceTo(this.to),g=l?l.length:c.length,m=this.result;for(let b=0;!m.shouldStop&&bf||this.reportIntersection(o,RB,r,i,t)}}}}_intersectTrimesh(t,e,n,i,r,s){const o=WB,a=ZB,l=JB,c=GB,u=qB,h=YB,d=XB,p=QB,f=KB,g=t.indices,m=this.from,b=this.to,y=this.direction;l.position.copy(n),l.quaternion.copy(e),XF.vectorToLocalFrame(n,e,y,u),XF.pointToLocalFrame(n,e,m,h),XF.pointToLocalFrame(n,e,b,d),d.x*=t.scale.x,d.y*=t.scale.y,d.z*=t.scale.z,h.x*=t.scale.x,h.y*=t.scale.y,h.z*=t.scale.z,d.vsub(h,u),u.normalize();const v=h.distanceSquared(d);t.tree.rayQuery(this,l,a);for(let _=0,w=a.length;!this.result.shouldStop&&_!==w;_++){const s=a[_];t.getNormal(s,o),t.getVertex(g[3*s],NB),NB.vsub(h,c);const l=u.dot(o),d=o.dot(c)/l;if(d<0)continue;u.scale(d,RB),RB.vadd(h,RB),t.getVertex(g[3*s+1],LB),t.getVertex(g[3*s+2],jB);const m=RB.distanceSquared(h);!TB.pointInTriangle(RB,LB,NB,jB)&&!TB.pointInTriangle(RB,NB,LB,jB)||m>v||(XF.vectorToWorldFrame(e,o,f),XF.pointToWorldFrame(n,e,RB,p),this.reportIntersection(f,p,r,i,s))}a.length=0}reportIntersection(t,e,n,i,r){const s=this.from,o=this.to,a=s.distanceTo(e),l=this.result;if(!(this.skipBackfaces&&t.dot(this.direction)>0))switch(l.hitFaceIndex=void 0!==r?r:-1,this.mode){case TB.ALL:this.hasHit=!0,l.set(s,o,t,e,n,i,a),l.hasHit=!0,this.callback(l);break;case TB.CLOSEST:(a=0&&(u=r*l-s*o)>=0&&c+uDate.now()-t}var PV=n(24517);function AV(t,e,n){e||(e=new VT(VT.IDENTITY));const i=new VT(VT.IDENTITY);if(!t)return!0;if(t.matrix)i.copy(t.matrix);else{if(i.identity(),t.translation&&i.translate(t.translation),t.rotation){const e=new VT(VT.IDENTITY).fromQuaternion(t.rotation);i.multiplyRight(e)}t.scale&&i.scale(t.scale)}const r=new VT(e).multiplyRight(i);if(!1===n(t,r,e))return!1;for(const s of t.nodes||t.children||[])if(!1===AV(s,r,n))return!1;return!0}function MV(){DA([lL,mF])}function IV(t,e){var n;const i=null===(n=e.nodes)||void 0===n?void 0:n.find(e=>e.name===t);if(i){let n=!1;for(const t of e.scenes)n||AV(t,new VT(VT.IDENTITY),(t,e)=>t!==i||(t.matrix=e,t.translation=void 0,t.rotation=void 0,t.scale=void 0,n=!0,!1));return e.scene={id:t,name:t,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function DV(t,e){return xw(this,void 0,void 0,function*(){const n=t.scenegraph;let i;i=e?e[n]||(e[n]=fetch(n).then(t=>t.blob())):fetch(n);const r=yield $A(i,mF,{DracoLoader:tj,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",n,r),IV(t.scenegraphNode,r)})}function RV(t,e){return xw(this,void 0,void 0,function*(){return IV(t,yield e)})}function NV(t,e,n){if(e&&0!==e.length){let i;switch(n.geometry){case"sphere":i=new CF;break;case"cone":i=new TF;break;case"cylinder":i=new kF;break;case"cube":default:i=new RF}return new yN(Object.assign({id:t,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:Ww.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:t=>t.transformMatrix,getColor:t=>t.color||[255,255,255,229.5]},n))}}function LV(t,e,n){if(e&&0!==e.length)return new eN(Object.assign({id:t,pickable:!0,data:e.map(t=>Object.assign(Object.assign({},t),{position:new VT(t.transformMatrix).getTranslation()})),getText:t=>t.text,getPosition:t=>t.position,getColor:t=>t.color},n))}let jV=(()=>{class t extends nM{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),MV()}renderLayers(){var e,n;const i=this.state,r={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const t of i.data){const n=null!==(e=t.geometry)&&void 0!==e?e:"cube";t.scenegraph?r.scenegraph.push(t):void 0!==r[n]&&r[n].push(t)}const s={};for(const a of r.scenegraph)a.scenegraph&&a.scenegraphNode&&!Object.prototype.hasOwnProperty.call(s,a.scenegraph)&&(s[a.scenegraph]=DV({scenegraph:a.scenegraph},t.gltfCache));const o=[];for(const[t,a]of Object.entries(r))if("scenegraph"===t)for(const e of a)o.push(new SF({id:"models-"+e["@id"],opacity:e.zoomBasedOpacity?i.zoomOpacity:void 0!==e.opacity?e.opacity:1,pickable:!e.unpickable,coordinateSystem:Ww.CARTESIAN,data:[e],scenegraph:e.scenegraphNode?RV(e.scenegraphNode,s[e.scenegraph]):e.scenegraph,_lighting:e._lighting,getTransformMatrix:e.transformMatrix,getColor:null!==(n=e.color)&&void 0!==n?n:[0,255,0,127.5],parameters:{depthMask:!e.zoomBasedOpacity&&(void 0===e.opacity||1===e.opacity)}}));else"text"===t?(o.push(LV("text",a.filter(t=>t.unpickable),{pickable:!1})),o.push(LV("textPickable",a.filter(t=>!t.unpickable),{pickable:!0}))):"wireframe"===t?o.push(NV(t,a,{wireframe:!0,pickable:!1,geometry:t})):(o.push(NV(t,a.filter(t=>t.unpickable),{wireframe:!1,pickable:!1,geometry:t})),o.push(NV(`${t}Pickable`,a.filter(t=>!t.unpickable),{wireframe:!1,pickable:!0,geometry:t})));return i.doCollisions&&function(t){xw(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=t.filter(t=>!t.scenegraph&&"wireframe"!==t.geometry).map(t=>{const e=new VT(t.transformMatrix),n=e.transformAsPoint([-1,-1,-1],[]),i=e.transformAsPoint([1,1,1],[]);return{"@id":t["@id"],name:t.tooltip,entityId:t.entityId,bbox:new zF({lowerBound:new jF(...n.map((t,e)=>Math.min(t,i[e]))),upperBound:new jF(...i.map((t,e)=>Math.max(t,n[e])))})}}),n=[];for(const o of t.filter(t=>!!t.scenegraph)){const t=yield YA(o.scenegraph,mF,{DracoLoader:tj,decompress:!0,postProcess:!0});for(const e of t.scenes)AV(e,new VT(o.transformMatrix),(e,i)=>{if(e.mesh&&e.mesh.primitives&&e.mesh.primitives.length>0)for(const r of e.mesh.primitives)if(r.attributes.POSITION&&r.attributes.POSITION.min){const s=i.transformAsPoint(r.attributes.POSITION.min,[]),a=i.transformAsPoint(r.attributes.POSITION.max,[]);n.push({"@id":o["@id"],name:e.name,entityId:o.entityId,bbox:new zF({lowerBound:new jF(...s.map((t,e)=>Math.min(t,a[e]))),upperBound:new jF(...a.map((t,e)=>Math.max(t,s[e])))}),gltf:t})}return!0})}const i=[],r=[];for(const t of e){const e=[];for(const i of n)t.bbox.overlaps(i.bbox)&&e.push({"@id":i["@id"],name:i.name});e.length>0?i.push({"@id":t.entityId,name:t.name,hits:e}):r.push(t)}console.log({sourceBoxes:e,targetBoxes:n,report:i,sad:r,maxHits:Math.max(...i.map(t=>t.hits.length))});const s=[];for(const t of i){s.push({"Tissue ID":t["@id"],"Tissue Name":t.name,"Hit ID":"","Hit Name":""});for(const e of t.hits)s.push({"Tissue ID":t["@id"],"Tissue Name":t.name,"Hit ID":e["@id"],"Hit Name":e.name})}return console.log(s),i})}(i.data),o.filter(t=>!!t)}getPickingInfo(t){return t.info}}return t.layerName="BodyUILayer",t.gltfCache={},t})();function FV(t,e=[]){for(const n of t.nodes||t.children||[])e.push(n.name),FV(n,e);return e}let BV=(()=>{class t{constructor(t){var e,n,i,r,s;this.deckProps=t,this.bodyUILayer=new jV({}),this.nodeClickSubject=new A,this.nodeHoverStartSubject=new A,this.nodeHoverStopSubject=new A,this.sceneRotationSubject=new Jf([0,0]),this.nodeDragStartSubject=new A,this.nodeDragSubject=new A,this.nodeDragEndSubject=new A,this.nodeClick$=this.nodeClickSubject.pipe(at()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(at()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(at()),this.sceneRotation$=this.sceneRotationSubject.pipe(at()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(at()),this.nodeDrag$=this.nodeDragSubject.pipe(at()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(at());const o=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new IM({flipY:!1,near:-1e3}):new LM({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:t=>{var e;return null!==(e=this.cursor)&&void 0!==e?e:t.isDragging?"grabbing":"grab"}});t.legacyLighting&&(o.effects=[new cI({ambientLight:new VM({color:[255,255,255],intensity:10})})]),this.deck=new dR(o),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(e=t.minRotationX)&&void 0!==e?e:-15,maxRotationX:null!==(n=t.maxRotationX)&&void 0!==n?n:15,target:null!==(i=t.target)&&void 0!==i?i:[.5,.5,0],rotationX:0,rotationOrbit:null!==(r=t.rotation)&&void 0!==r?r:0,zoom:null!==(s=t.zoom)&&void 0!==s?s:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return xw(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let e=this.bodyUILayer.state.zoomOpacity,n=!1;for(const i of t)i.zoomToOnLoad&&(this.zoomTo(i),n=!0);e=n?.05:e,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,e):this.bodyUILayer.setState({data:t,zoomOpacity:e})}}debugSceneNodeProcessing(t,e){const n="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",i=new VT([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(t,e,n,i){return xw(this,void 0,void 0,function*(){MV();const n=yield DV({scenegraph:t,scenegraphNode:"VHF_Kidney_L_Low1"},undefined),i={},r=[];for(const s of n.scenes)AV(s,e=new VT(e||VT.IDENTITY),(n,s)=>{const o={"@id":n.name||n.id,"@type":"ProcessedNode",transformMatrix:new VT(s),geometry:"wireframe",node:n};if(r.push({"@id":`GLTF:${o["@id"]}`,"@type":"GLTFNode",scenegraph:t,scenegraphNode:o["@id"],transformMatrix:new VT(e||VT.IDENTITY),tooltip:n.name||n.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:n}),n.mesh&&n.mesh.primitives&&n.mesh.primitives.length>0)for(const t of n.mesh.primitives)if(t.attributes.POSITION&&t.attributes.POSITION.min){const e=s.transformAsPoint(t.attributes.POSITION.min,[]),n=s.transformAsPoint(t.attributes.POSITION.max,[]);o.bbox=new zF({lowerBound:new jF(...e.map((t,e)=>Math.min(t,n[e]))),upperBound:new jF(...n.map((t,n)=>Math.max(t,e[n])))})}return i[o["@id"]]=o,!0});for(const t of Object.values(i).filter(t=>!t.bbox)){for(const e of FV(t.node).map(t=>i[t]).filter(t=>t.bbox))t.bbox?t.bbox.extend(e.bbox):t.bbox=e.bbox.clone();t.bbox||delete i[t["@id"]]}for(const t of Object.values(i)){const e=t.bbox.lowerBound,n=(t.size=t.bbox.upperBound.clone().vsub(e)).clone().vmul(new jF(.5,.5,.5)),i=t.center=e.clone().vadd(n);t.transformMatrix=new VT(VT.IDENTITY).translate(i.toArray()).scale(n.toArray())}for(const t of r)i[t["@id"]]=t;return i})})(n,i).then(r=>{console.log("results",r),console.log("data",t),(t=t.concat(Object.values(r))).push({"@id":"TEST","@type":"TEST",scenegraph:n,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:i,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:e})})}zoomTo(t){const e=new VT(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:e.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:e}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?e!==t.object&&(e&&this.nodeHoverStopSubject.next(e),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):e&&(this.nodeHoverStopSubject.next(e),this.lastHovered=void 0)}_onClick(t,e){var n,i;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(i=null===(n=null==e?void 0:e.srcEvent)||void 0===n?void 0:n.ctrlKey)&&void 0!==i?i:void 0})}_onViewStateChange(t){var e;if(null===(e=t.interactionState)||void 0===e?void 0:e.isZooming){const e=this.bodyUILayer.state,n=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);e.zoomOpacity!==n&&this.bodyUILayer.setState({data:e.data,zoomOpacity:n})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,e){this._dragEvent(t,e,this.nodeDragStartSubject)}_onDrag(t,e){this._dragEvent(t,e,this.nodeDragSubject)}_onDragEnd(t,e){this._dragEvent(t,e,this.nodeDragEndSubject)}_dragEvent(t,e,n){var i;(null===(i=null==t?void 0:t.object)||void 0===i?void 0:i["@id"])&&n.next({node:t.object,info:t,e})}}return vw([PV.ZP],t.prototype,"_onHover",null),vw([PV.ZP],t.prototype,"_onClick",null),vw([PV.ZP],t.prototype,"_onViewStateChange",null),vw([PV.ZP],t.prototype,"_onDragStart",null),vw([PV.ZP],t.prototype,"_onDrag",null),vw([PV.ZP],t.prototype,"_onDragEnd",null),t})();function VV(t,e){return t===e}function zV(t,e,n){if(null===e||null===n||e.length!==n.length)return!1;const i=e.length;for(let r=0;r(t&&t.providers||[]).some(t=>t&&t.provide&&"MockNgModuleResolver"===t.provide.name||!1))});let $V=(()=>{class t{constructor(){this.bootstrap$=new _p(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const GV=new oi("INITIAL_STATE_TOKEN");let WV=(()=>{class t{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return t.value={},t})();const qV=new oi("Internals.StateContextFactory"),YV=new oi("Internals.StateFactory");function XV(t,e){return e?n=>n.pipe(XV((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))))):e=>e.lift(new KV(t))}class KV{constructor(t){this.project=t}call(t,e){return e.subscribe(new QV(t,this.project))}}class QV extends ${constructor(t,e){super(t),this.project=e,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(t){this.hasSubscription||this.tryNext(t)}tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this.hasSubscription=!0,this._innerSub(e)}_innerSub(t){const e=new H(this),n=this.destination;n.add(e);const i=G(t,e);i!==e&&n.add(i)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function ZV(t=null){return e=>e.lift(new JV(t))}class JV{constructor(t){this.defaultValue=t}call(t,e){return e.subscribe(new tz(t,this.defaultValue))}}class tz extends v{constructor(t,e){super(t),this.defaultValue=e,this.isEmpty=!0}_next(t){this.isEmpty=!1,this.destination.next(t)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}const ez={STATE_NAME:t=>`${t} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(t,e,n)=>`State name '${t}' from ${e} already exists in ${n}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:t=>`'${t}' class should be decorated with @Injectable() right after the @State() decorator`};let nz=(()=>{class t{constructor(t,e){this._ngZone=t,this._platformId=e,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(t){return"server"===t}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return Tu.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return Tu.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof Tu||console.warn(ez.ZONE_WARNING())}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(hu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const iz=new oi("ROOT_STATE_TOKEN"),rz=new oi("FEATURE_STATE_TOKEN"),sz=new oi("NGXS_PLUGINS"),oz=new oi("NG_TEST_MODE"),az=new oi("NG_DEV_MODE"),lz="NGXS_META",cz="NGXS_OPTIONS_META",uz="NGXS_SELECTOR_META";let hz=(()=>{class t{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=nz}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class dz{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}}const pz=new oi("NGXS_EXECUTION_STRATEGY");function fz(t){return t.constructor&&t.constructor.type?t.constructor.type:t.type}const gz=(t,e,n)=>{t=Object.assign({},t);const i=e.split("."),r=i.length-1;return i.reduce((t,e,i)=>(t[e]=i===r?n:Array.isArray(t[e])?t[e].slice():Object.assign({},t[e]),t&&t[e]),t),t},mz=(t,e)=>e.split(".").reduce((t,e)=>t&&t[e],t),bz=t=>t&&"object"==typeof t&&!Array.isArray(t),yz=(t,...e)=>{if(!e.length)return t;const n=e.shift();if(bz(t)&&bz(n))for(const i in n)bz(n[i])?(t[i]||Object.assign(t,{[i]:{}}),yz(t[i],n[i])):Object.assign(t,{[i]:n[i]});return yz(t,...e)};function vz(t){if(!t.hasOwnProperty(lz)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(t,lz,{value:e})}return _z(t)}function _z(t){return t[lz]}function wz(t){return t[uz]}function xz(t,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(t){const e=t.slice();return t=>e.reduce((t,e)=>t&&t[e],t)}(t):function(t){const e=t;let n="store."+e[0],i=0;const r=e.length;let s=n;for(;++i(t[fz(e)]=!0,t),{})}(t),r=e&&function(t){return t.reduce((t,e)=>(t[e]=!0,t),{})}(e);return function(t){return t.pipe(function(t,e){return ep(n=>{const i=fz(n.action);return t[i]&&(!e||e[n.status])})}(i,r),n())}}(t,["DISPATCHED"])}function Ez(){return D(t=>t.action)}function Oz(t){return e=>new E(n=>e.subscribe({next(e){t.leave(()=>n.next(e))},error(e){t.leave(()=>n.error(e))},complete(){t.leave(()=>n.complete())}}))}let Tz=(()=>{class t{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(pz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class kz extends A{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(t){if(this._busyPushingNext)this._itemQueue.unshift(t);else{for(this._busyPushingNext=!0,super.next(t);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let Pz=(()=>{class t extends kz{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Az=(()=>{class t extends E{constructor(t,e){super(n=>{const i=t.pipe(Oz(e)).subscribe({next:t=>n.next(t),error:t=>n.error(t),complete:()=>n.complete()});n.add(i)})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Pz),Ei(Tz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Mz=t=>(...e)=>t.shift()(...e,(...e)=>Mz(t)(...e));let Iz=(()=>{class t extends Jf{constructor(){super({})}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Dz=(()=>{class t{constructor(t,e){this._parentManager=t,this._pluginHandlers=e,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(t=>t.handle?t.handle.bind(t):t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12),Ei(sz,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Rz=(()=>{class t extends A{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Nz=(()=>{class t{constructor(t,e,n,i,r,s){this._injector=t,this._actions=e,this._actionResults=n,this._pluginManager=i,this._stateStream=r,this._ngxsExecutionStrategy=s}dispatch(t){const e=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return e.subscribe({error:t=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(kr),this._errorHandler.handleError(t)}catch(e){}})}),e.pipe(Oz(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?Dd(this._stateStream.getValue()):Ev(t.map(t=>this.dispatchSingle(t))):this.dispatchSingle(t)}dispatchSingle(t){if(!fz(t))return gp(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const e=this._stateStream.getValue();return Mz([...this._pluginManager.plugins,(t,n)=>{t!==e&&this._stateStream.next(t);const i=this.getActionResultStream(n);return i.subscribe(t=>this._actions.next(t)),this._actions.next({action:n,status:"DISPATCHED"}),this.createDispatchObservable(i)}])(e,t).pipe(xp())}getActionResultStream(t){return this._actionResults.pipe(ep(e=>e.action===t&&"DISPATCHED"!==e.status),rf(1),xp())}createDispatchObservable(t){return t.pipe(XV(t=>{switch(t.status){case"SUCCESSFUL":return Dd(this._stateStream.getValue());case"ERRORED":return gp(t.error);default:return pp}})).pipe(xp())}}return t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(Pz),Ei(Rz),Ei(Dz),Ei(Iz),Ei(Tz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Lz=t=>{Object.freeze(t);const e="function"==typeof t,n=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(function(i){n.call(t,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==t[i]&&("object"==typeof t[i]||"function"==typeof t[i])&&!Object.isFrozen(t[i])&&Lz(t[i])}),t};let jz=(()=>{class t{constructor(t,e){this.isDevMode=t,this.isTestMode=e}}return t.\u0275fac=function(e){return new(e||t)(Ei(az),Ei(oz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Fz=(()=>{class t{constructor(t,e){this._host=t,this._config=e}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(ez.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(ez.INCORRECT_DEVELOPMENT()))}}return t.\u0275fac=function(e){return new(e||t)(Ei(jz),Ei(hz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Bz=(()=>{class t{constructor(t,e,n,i){this._stateStream=t,this._dispatcher=e,this._config=n,i.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:t=>this._stateStream.next(t),dispatch:t=>this._dispatcher.dispatch(t)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:e=>{const n=Lz(e);return t.setState(n)},dispatch:e=>t.dispatch(e)}}setStateToTheCurrentWithNew(t){const e=this.getRootStateOperations(),n=e.getState();e.setState(Object.assign({},n,t.defaults))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Iz),Ei(Nz),Ei(hz),Ei(Fz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Vz=(()=>{class t{constructor(t){this._internalStateOperations=t}createStateContext(t){const e=this._internalStateOperations.getRootStateOperations();function n(e){return mz(e,t.path)}function i(n,i){const r=gz(n,t.path,i),s=t.instance;if(s.ngxsOnChanges){const e=Sz(t,{currentAppState:n,newAppState:r});s.ngxsOnChanges(e)}return e.setState(r),r}function r(t,e){return i(t,e(n(t)))}return{getState:()=>n(e.getState()),patchState:t=>r(e.getState(),function(t){return e=>{if(Array.isArray(t))throw new Error(ez.PATCHING_ARRAY());if("object"!=typeof t)throw new Error(ez.PATCHING_PRIMITIVE());const n=Object.assign({},e);for(const i in t)n[i]=t[i];return n}}(t)),setState(t){const n=e.getState();return function(t){return"function"==typeof t}(t)?r(n,t):i(n,t)},dispatch:t=>e.dispatch(t)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Bz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class zz{static stateNameErrorMessage(t){return ez.STATE_NAME(t)}static checkCorrectStateName(t){if(!t)throw new Error(ez.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(t))throw new Error(this.stateNameErrorMessage(t))}static checkStateNameIsUnique(t,e){const n=this.getValidStateMeta(t).name,i=e[n];if(i&&i!==t)throw new Error(ez.STATE_UNIQUE(n,t.name,i.name));return n}static getValidStateMeta(t){const e=_z(t);if(!e)throw new Error(ez.STATE_DECORATOR());return e}}zz.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let Uz=(()=>{class t{constructor(t,e,n,i,r,s,o){this._injector=t,this._config=e,this._parentFactory=n,this._actions=i,this._actionResults=r,this._stateContextFactory=s,this._initialState=o,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=UV(()=>{const t=this;function e(e){const n=t.statePaths[e];return n?xz(n.split("."),t._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(t){let n=e(t);return n||((...i)=>(n||(n=e(t)),n?n(...i):void 0))},getSelectorOptions:e=>Object.assign({},t._config.selectorOptions,e||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let e={};return e=Array.isArray(t)?t.slice():function(t){return"object"==typeof t&&null!==t||"function"==typeof t}(t)?Object.assign({},t):void 0===t?{}:t,e}static checkStatesAreValid(t){t.forEach(zz.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(e){t.checkStatesAreValid(e);const{newStates:n}=this.addToStatesMap(e);if(!n.length)return[];const i=function(t){const e=e=>{const n=t.find(t=>t===e);if(!n)throw new Error(`Child state not found: ${e}. \r\nYou may have forgotten to add states to module`);return n[lz].name};return t.reduce((t,n)=>{const{name:i,children:r}=n[lz];return t[i]=(r||[]).map(e),t},{})}(n),r=function(t){const e=[],n={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),n[r]=!0,t[r].forEach(t=>{if(s.indexOf(t)>=0)throw new Error(`Circular dependency '${t}' is required by '${r}': ${s.join(" -> ")}`);n[t]||i(t,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(t).forEach(t=>i(t)),e.reverse()}(i),s=function(t,e={}){const n=(t,e)=>{for(const i in t)if(t.hasOwnProperty(i)&&t[i].indexOf(e)>=0){const e=n(t,i);return null!==e?`${e}.${i}`:i}return null};for(const i in t)if(t.hasOwnProperty(i)){const r=n(t,i);e[i]=r?`${r}.${i}`:i}return e}(i),o=function(t){return t.reduce((t,e)=>(t[e[lz].name]=e,t),{})}(n),a=[];for(const l of r){const e=o[l],n=s[l],i=e[lz];this.addRuntimeInfoToMeta(i,n);const r={name:l,path:n,isInitialised:!1,actions:i.actions,instance:this._injector.get(e),defaults:t.cloneDefaults(i.defaults)};this.hasBeenMountedAndBootstrapped(l,n)||a.push(r),this.states.push(r)}return a}addAndReturnDefaults(t){const e=this.add(t||[]);return{defaults:e.reduce((t,e)=>gz(t,e.path,e.defaults),{}),states:e}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(ep(t=>"DISPATCHED"===t.status),W(({action:t})=>this.invokeActions(this._actions,t).pipe(D(()=>({action:t,status:"SUCCESSFUL"})),ZV({action:t,status:"CANCELED"}),Tv(e=>Dd({action:t,status:"ERRORED",error:e}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,e){const n=fz(e),i=[];for(const s of this.states){const o=s.actions[n];if(o)for(const n of o){const o=this._stateContextFactory.createStateContext(s);try{let r=s.instance[n.fn](o,e);r instanceof Promise&&(r=U(r)),r instanceof E?(r=r.pipe(ZV({})),n.options.cancelUncompleted&&(r=r.pipe(rp(t.pipe(Cz(e)))))):r=Dd({}).pipe(xp()),i.push(r)}catch(r){i.push(gp(r))}}}return i.length||i.push(Dd({})),Ev(i)}addToStatesMap(t){const e=[],n=this.statesByName;for(const i of t){const t=zz.checkStateNameIsUnique(i,n);!n[t]&&(e.push(i),n[t]=i)}return{newStates:e}}addRuntimeInfoToMeta(t,e){this.statePaths[t.name]=e,t.path=e}hasBeenMountedAndBootstrapped(t,e){const n=void 0!==mz(this._initialState,e);return this.statesByName[t]&&n}}return t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(hz),Ei(t,12),Ei(Pz),Ei(Rz),Ei(Vz),Ei(GV,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Hz=(()=>{class t{constructor(t,e,n){this.internalStateOperations=t,this.stateContextFactory=e,this.bootstrapper=n}ngxsBootstrap(t,e){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(ep(()=>!!e),eg(()=>this.invokeInit(e.states)),W(()=>this.bootstrapper.appBootstrapped$),ep(t=>!!t)).subscribe(()=>this.invokeBootstrap(e.states))}invokeInit(t){for(const e of t){const t=e.instance;if(t.ngxsOnChanges){const n=Sz(e,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});t.ngxsOnChanges(n)}t.ngxsOnInit&&t.ngxsOnInit(this.getStateContext(e)),e.isInitialised=!0}}invokeBootstrap(t){for(const e of t){const t=e.instance;t.ngxsAfterBootstrap&&t.ngxsAfterBootstrap(this.getStateContext(e))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Bz),Ei(Vz),Ei($V))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const $z=t=>t&&t.NGXS_SELECTOR_OPTIONS_META||{};function Gz(t,e,n){const i=n&&n.containerClass,r=UV(function(...t){const n=e.apply(i,t);return n instanceof Function?UV.apply(null,[n]):n});Object.setPrototypeOf(r,e);const s=function(t,e){const n=function(t){return t.hasOwnProperty(uz)||Object.defineProperty(t,uz,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),wz(t)}(t);n.originalFn=t;let i=()=>({});e&&(n.containerClass=e.containerClass,n.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},n);return n.getSelectorOptions=()=>function(t,e){return Object.assign({},$z(t.containerClass)||{},$z(t.originalFn)||{},t.getSelectorOptions()||{},e)}(r,i()),n}(e,n);return s.makeRootSelector=e=>{const{argumentSelectorFunctions:n,selectorOptions:i}=function(t,e,n=[]){const i=e.getSelectorOptions(),r=t.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(t=[],e,n){const i=[];return n&&(0===t.length||e.injectContainerState)&&_z(n)&&i.push(n),t&&i.push(...t),i}(n,r,e.containerClass).map(e=>Wz(e)(t))}}(e,s,t);return function(t){const e=n.map(e=>e(t));try{return r(...e)}catch(s){if(s instanceof TypeError&&i.suppressErrors)return;throw s}}},r}function Wz(t){const e=wz(t)||_z(t);return e&&e.makeRootSelector||(()=>t)}let qz=(()=>{class t{constructor(t,e,n,i,r,s){this._stateStream=t,this._internalStateOperations=e,this._config=n,this._internalExecutionStrategy=i,this._stateFactory=r,this.initStateStream(s)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const e=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(D(e),Tv(t=>{const{suppressErrors:e}=this._config.selectorOptions;return t instanceof TypeError&&e?Dd(void 0):gp(t)}),Wd(),Oz(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(rf(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(Oz(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return Wz(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const e=this._stateStream.value;if(!e||0===Object.keys(e).length){const e=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(e)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Iz),Ei(Bz),Ei(hz),Ei(Tz),Ei(Uz),Ei(GV,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Yz=(()=>{class t{constructor(e,n){t.store=e,t.config=n}ngOnDestroy(){t.store=null,t.config=null}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz),Ei(hz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t.store=null,t.config=null,t})();class Xz{static get type(){return"@@INIT"}}class Kz{constructor(t){this.addedStates=t}static get type(){return"@@UPDATE_STATE"}}const Qz=new _p(1);let Zz=(()=>{class t{constructor(e,n,i,r,s=[],o){!function(){try{const t=window.ng,e=!(t.probe&&t.coreTokens)&&Vu();Qz.next(e)}catch(t){Qz.next(!1)}finally{Qz.complete()}}();const a=e.addAndReturnDefaults(s);n.setStateToTheCurrentWithNew(a),e.connectActionHandlers(),o.ngxsBootstrap(new Xz,a)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Uz),Ei(Bz),Ei(qz),Ei(Yz),Ei(iz,8),Ei(Hz))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),Jz=(()=>{class t{constructor(e,n,i,r=[],s){const o=t.flattenStates(r),a=i.addAndReturnDefaults(o);a.states.length&&(n.setStateToTheCurrentWithNew(a),s.ngxsBootstrap(new Kz(a.defaults),a))}static flattenStates(t=[]){return t.reduce((t,e)=>t.concat(e),[])}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz),Ei(Bz),Ei(Uz),Ei(rz,8),Ei(Hz))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();class tU{static forRoot(t=[],e={}){return{ngModule:Zz,providers:[Uz,Vz,Az,Pz,$V,Fz,jz,Hz,Nz,Rz,Bz,Tz,qz,Iz,Yz,Dz,...t,...tU.ngxsTokenProviders(t,e)]}}static forFeature(t=[]){return{ngModule:Jz,providers:[Uz,Dz,...t,{provide:rz,multi:!0,useValue:t}]}}static ngxsTokenProviders(t,e){return[{provide:oz,useValue:HV},{provide:az,useValue:Vu},{provide:pz,useClass:e.executionStrategy||nz},{provide:iz,useValue:t},{provide:tU.ROOT_OPTIONS,useValue:e},{provide:hz,useFactory:tU.ngxsConfigFactory,deps:[tU.ROOT_OPTIONS]},{provide:du,useFactory:tU.appBootstrapListenerFactory,multi:!0,deps:[$V]},{provide:GV,useFactory:tU.getInitialState},{provide:qV,useExisting:Vz},{provide:YV,useExisting:Uz}]}static ngxsConfigFactory(t){return yz(new hz,t)}static appBootstrapListenerFactory(t){return()=>t.bootstrap()}static getInitialState(){return WV.pop()}}function eU(t,e){return(n,i)=>{if(n.hasOwnProperty("prototype"))throw new Error(ez.ACTION_DECORATOR());const r=vz(n.constructor);Array.isArray(t)||(t=[t]);for(const s of t){const t=s.type;r.actions[t]||(r.actions[t]=[]),r.actions[t].push({fn:i,options:e||{},type:t})}}}function nU(t){return e=>{!function(t){Qz.subscribe(e=>{e&&(t.\u0275prov||console.warn(ez.UNDECORATED_STATE_IN_IVY(t.name)))})}(e);const n=e,i=vz(n),r=Object.getPrototypeOf(n),s=function(e){return Object.assign({},e[cz]||{},t)}(r);(function(t){const{meta:e,inheritedStateClass:n,optionsWithInheritance:i}=t,{children:r,defaults:s,name:o}=i,a="string"==typeof o?o:o&&o.getName()||null;zz.checkCorrectStateName(a),n.hasOwnProperty(lz)&&(e.actions=Object.assign({},e.actions,(n[lz]||{}).actions)),e.children=r,e.defaults=s,e.name=a})({meta:i,inheritedStateClass:r,optionsWithInheritance:s}),n[cz]=s}}function iU(t,...e){return function(n,i){const r=i.toString(),s=`__${r}__selector`,o=function(t,e,n=[]){return"string"==typeof(e=e||function(t){const e=t.length-1;return 36===t.charCodeAt(e)?t.slice(0,e):t}(t))?xz(n.length?[e,...n]:e.split("."),Yz.config):e}(r,t,e);Object.defineProperties(n,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(t){if(!Yz.store)throw new Error(ez.SELECT_FACTORY_NOT_CONNECTED());return Yz.store.select(t)}(o))}}})}}function rU(t){return(e,n,i)=>{if(!i||null===i.value)throw new Error(ez.SELECTOR_DECORATOR());const r=i.value,s=Gz(t,r,{containerClass:e,selectorName:n.toString(),getSelectorOptions:()=>({})}),o={configurable:!0,get:()=>s};return o.originalFn=r,o}}tU.\u0275fac=function(t){return new(t||tU)},tU.\u0275mod=ie({type:tU}),tU.\u0275inj=St({}),tU.ROOT_OPTIONS=new oi("ROOT_OPTIONS");let sU=(()=>{class t{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}setProperty(t,e){this._renderer.setProperty(this._elementRef.nativeElement,t,e)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al))},t.\u0275dir=se({type:t}),t})(),oU=(()=>{class t extends sU{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,features:[jo]}),t})();const aU=new oi("NgValueAccessor"),lU={provide:aU,useExisting:pt(()=>uU),multi:!0},cU=new oi("CompositionEventMode");let uU=(()=>{class t extends sU{constructor(t,e,n){super(t,e),this._compositionMode=n,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=Ju()?Ju().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al),ea(cU,8))},t.\u0275dir=se({type:t,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(t,e){1&t&&fa("input",function(t){return e._handleInput(t.target.value)})("blur",function(){return e.onTouched()})("compositionstart",function(){return e._compositionStart()})("compositionend",function(t){return e._compositionEnd(t.target.value)})},features:[xl([lU]),jo]}),t})();const hU=new oi("NgValidators"),dU=new oi("NgAsyncValidators");function pU(t){return null!=t}function fU(t){const e=ha(t)?U(t):t;return pa(e),e}function gU(t){let e={};return t.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function mU(t,e){return e.map(e=>e(t))}function bU(t){return t.map(t=>function(t){return!t.validate}(t)?t:e=>t.validate(e))}function yU(t){return null!=t?function(t){if(!t)return null;const e=t.filter(pU);return 0==e.length?null:function(t){return gU(mU(t,e))}}(bU(t)):null}function vU(t){return null!=t?function(t){if(!t)return null;const e=t.filter(pU);return 0==e.length?null:function(t){return Ev(mU(t,e).map(fU)).pipe(D(gU))}}(bU(t)):null}function _U(t,e){return null===t?[e]:Array.isArray(t)?[...t,e]:[t,e]}function wU(t){return t._rawValidators}function xU(t){return t._rawAsyncValidators}function SU(t){return t?Array.isArray(t)?t:[t]:[]}function CU(t,e){return Array.isArray(t)?t.includes(e):t===e}function EU(t,e){const n=SU(e);return SU(t).forEach(t=>{CU(n,t)||n.push(t)}),n}function OU(t,e){return SU(e).filter(e=>!CU(t,e))}let TU=(()=>{class t{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(t){this._rawValidators=t||[],this._composedValidatorFn=yU(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=vU(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t}),t})(),kU=(()=>{class t extends TU{get formDirective(){return null}get path(){return null}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,features:[jo]}),t})();class PU extends TU{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class AU{constructor(t){this._cd=t}is(t){var e,n,i;return"submitted"===t?!!(null===(e=this._cd)||void 0===e?void 0:e.submitted):!!(null===(i=null===(n=this._cd)||void 0===n?void 0:n.control)||void 0===i?void 0:i[t])}}let MU=(()=>{class t extends AU{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(PU,2))},t.\u0275dir=se({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,e){2&t&&ja("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[jo]}),t})(),IU=(()=>{class t extends AU{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(kU,10))},t.\u0275dir=se({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(t,e){2&t&&ja("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))("ng-submitted",e.is("submitted"))},features:[jo]}),t})();function DU(t,e){LU(t,e),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&FU(t,e)})}(t,e),function(t,e){const n=(t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)};t.registerOnChange(n),e._registerOnDestroy(()=>{t._unregisterOnChange(n)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&FU(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),function(t,e){if(e.valueAccessor.setDisabledState){const n=t=>{e.valueAccessor.setDisabledState(t)};t.registerOnDisabledChange(n),e._registerOnDestroy(()=>{t._unregisterOnDisabledChange(n)})}}(t,e)}function RU(t,e,n=!0){const i=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(i),e.valueAccessor.registerOnTouched(i)),jU(t,e),t&&(e._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function NU(t,e){t.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function LU(t,e){const n=wU(t);null!==e.validator?t.setValidators(_U(n,e.validator)):"function"==typeof n&&t.setValidators([n]);const i=xU(t);null!==e.asyncValidator?t.setAsyncValidators(_U(i,e.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const r=()=>t.updateValueAndValidity();NU(e._rawValidators,r),NU(e._rawAsyncValidators,r)}function jU(t,e){let n=!1;if(null!==t){if(null!==e.validator){const i=wU(t);if(Array.isArray(i)&&i.length>0){const r=i.filter(t=>t!==e.validator);r.length!==i.length&&(n=!0,t.setValidators(r))}}if(null!==e.asyncValidator){const i=xU(t);if(Array.isArray(i)&&i.length>0){const r=i.filter(t=>t!==e.asyncValidator);r.length!==i.length&&(n=!0,t.setAsyncValidators(r))}}}const i=()=>{};return NU(e._rawValidators,i),NU(e._rawAsyncValidators,i),n}function FU(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function BU(t,e){LU(t,e)}function VU(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!Object.is(e,n.currentValue)}function zU(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function UU(t,e){if(!e)return null;let n,i,r;return Array.isArray(e),e.forEach(t=>{t.constructor===uU?n=t:function(t){return Object.getPrototypeOf(t.constructor)===oU}(t)?i=t:r=t}),r||i||n||null}function HU(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const $U="VALID",GU="INVALID",WU="PENDING",qU="DISABLED";function YU(t){return(ZU(t)?t.validators:t)||null}function XU(t){return Array.isArray(t)?yU(t):t||null}function KU(t,e){return(ZU(e)?e.asyncValidators:t)||null}function QU(t){return Array.isArray(t)?vU(t):t||null}function ZU(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class JU{constructor(t,e){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=e,this._composedValidatorFn=XU(this._rawValidators),this._composedAsyncValidatorFn=QU(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===$U}get invalid(){return this.status===GU}get pending(){return this.status==WU}get disabled(){return this.status===qU}get enabled(){return this.status!==qU}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._rawValidators=t,this._composedValidatorFn=XU(t)}setAsyncValidators(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=QU(t)}addValidators(t){this.setValidators(EU(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(EU(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(OU(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(OU(t,this._rawAsyncValidators))}hasValidator(t){return CU(this._rawValidators,t)}hasAsyncValidator(t){return CU(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=WU,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=qU,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=$U,this._forEachChild(e=>{e.enable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===$U||this.status===WU)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?qU:$U}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=WU,this._hasOwnPendingAsyncValidator=!0;const e=fU(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(e,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){if(null==e||(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length))return null;let i=t;return e.forEach(t=>{i=i instanceof eH?i.controls.hasOwnProperty(t)?i.controls[t]:null:i instanceof nH&&i.at(t)||null}),i}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Bc,this.statusChanges=new Bc}_calculateStatus(){return this._allControlsDisabled()?qU:this.errors?GU:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(WU)?WU:this._anyControlsHaveStatus(GU)?GU:$U}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){ZU(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class tH extends JU{constructor(t=null,e,n){super(YU(e),KU(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){HU(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){HU(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class eH extends JU{constructor(t,e,n){super(YU(e),KU(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,n={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof tH?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const n=this.controls[e];n&&t(n,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const e of Object.keys(this.controls)){const n=this.controls[e];if(this.contains(e)&&t(n))return!0}return!1}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,i)=>{n=e(n,t,i)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class nH extends JU{constructor(t,e,n){super(YU(e),KU(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[t]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,n={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t instanceof tH?t.value:t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const iH={provide:kU,useExisting:pt(()=>sH)},rH=(()=>Promise.resolve(null))();let sH=(()=>{class t extends kU{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new Bc,this.form=new eH({},yU(t),vU(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){rH.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),DU(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){rH.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),HU(this._directives,t)})}addFormGroup(t){rH.then(()=>{const e=this._findContainer(t.path),n=new eH({});BU(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){rH.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){rH.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,zU(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10))},t.\u0275dir=se({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,e){1&t&&fa("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xl([iH]),jo]}),t})();const oH={provide:PU,useExisting:pt(()=>lH)},aH=(()=>Promise.resolve(null))();let lH=(()=>{class t extends PU{constructor(t,e,n,i){super(),this.control=new tH,this._registered=!1,this.update=new Bc,this._parent=t,this._setValidators(e),this._setAsyncValidators(n),this.valueAccessor=UU(0,i)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),VU(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?function(t,e){return[...e.path,t]}(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){DU(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){aH.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const e=t.isDisabled.currentValue,n=""===e||e&&"false"!==e;aH.then(()=>{n&&!this.control.disabled?this.control.disable():!n&&this.control.disabled&&this.control.enable()})}}return t.\u0275fac=function(e){return new(e||t)(ea(kU,9),ea(hU,10),ea(dU,10),ea(aU,10))},t.\u0275dir=se({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[xl([oH]),jo,ye]}),t})(),cH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),uH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const hH=new oi("NgModelWithFormControlWarning"),dH={provide:PU,useExisting:pt(()=>pH)};let pH=(()=>{class t extends PU{constructor(t,e,n,i){super(),this._ngModelWarningConfig=i,this.update=new Bc,this._ngModelWarningSent=!1,this._setValidators(t),this._setAsyncValidators(e),this.valueAccessor=UU(0,n)}set isDisabled(t){}ngOnChanges(t){if(this._isControlChanged(t)){const e=t.form.previousValue;e&&RU(e,this,!1),DU(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}VU(t,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&RU(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10),ea(aU,10),ea(hH,8))},t.\u0275dir=se({type:t,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[xl([dH]),jo,ye]}),t._ngModelWarningSentOnce=!1,t})();const fH={provide:kU,useExisting:pt(()=>gH)};let gH=(()=>{class t extends kU{constructor(t,e){super(),this.validators=t,this.asyncValidators=e,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Bc,this._setValidators(t),this._setAsyncValidators(e)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(jU(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return DU(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){RU(t.control||null,t,!1),HU(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,zU(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=t.control,n=this.form.get(t.path);e!==n&&(RU(e||null,t),n instanceof tH&&(DU(n,t),t.control=n))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const e=this.form.get(t.path);BU(e,t),e.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){const e=this.form.get(t.path);e&&function(t,e){return jU(t,e)}(e,t)&&e.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){LU(this.form,this),this._oldForm&&jU(this._oldForm,this)}_checkFormPresent(){}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10))},t.\u0275dir=se({type:t,selectors:[["","formGroup",""]],hostBindings:function(t,e){1&t&&fa("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xl([fH]),jo,ye]}),t})(),mH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uH]]}),t})(),bH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[mH]}),t})(),yH=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:hH,useValue:e.warnOnNgModelWithFormControl}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[mH]}),t})();function vH(t){return new E(e=>{let n;try{n=t()}catch(i){return void e.error(i)}return(n?U(n):fp()).subscribe(e)})}const _H=["underline"],wH=["connectionContainer"],xH=["inputContainer"],SH=["label"];function CH(t,e){1&t&&(aa(0),ra(1,"div",14),oa(2,"div",15),oa(3,"div",16),oa(4,"div",17),sa(),ra(5,"div",18),oa(6,"div",15),oa(7,"div",16),oa(8,"div",17),sa(),la())}function EH(t,e){1&t&&(ra(0,"div",19),xa(1,1),sa())}function OH(t,e){if(1&t&&(aa(0),xa(1,2),ra(2,"span"),Ja(3),sa(),la()),2&t){const t=va(2);ws(3),tl(t._control.placeholder)}}function TH(t,e){1&t&&xa(0,3,["*ngSwitchCase","true"])}function kH(t,e){1&t&&(ra(0,"span",23),Ja(1," *"),sa())}function PH(t,e){if(1&t){const t=ua();ra(0,"label",20,21),fa("cdkObserveContent",function(){return $e(t),va().updateOutlineGap()}),Jo(2,OH,4,1,"ng-container",12),Jo(3,TH,1,0,"ng-content",12),Jo(4,kH,2,0,"span",22),sa()}if(2&t){const t=va();ja("mat-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-form-field-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-accent","accent"==t.color)("mat-warn","warn"==t.color),na("cdkObserveContentDisabled","outline"!=t.appearance)("id",t._labelId)("ngSwitch",t._hasLabel()),Ko("for",t._control.id)("aria-owns",t._control.id),ws(2),na("ngSwitchCase",!1),ws(1),na("ngSwitchCase",!0),ws(1),na("ngIf",!t.hideRequiredMarker&&t._control.required&&!t._control.disabled)}}function AH(t,e){1&t&&(ra(0,"div",24),xa(1,4),sa())}function MH(t,e){if(1&t&&(ra(0,"div",25,26),oa(2,"span",27),sa()),2&t){const t=va();ws(2),ja("mat-accent","accent"==t.color)("mat-warn","warn"==t.color)}}function IH(t,e){1&t&&(ra(0,"div"),xa(1,5),sa()),2&t&&na("@transitionMessages",va()._subscriptAnimationState)}function DH(t,e){if(1&t&&(ra(0,"div",31),Ja(1),sa()),2&t){const t=va(2);na("id",t._hintLabelId),ws(1),tl(t.hintLabel)}}function RH(t,e){if(1&t&&(ra(0,"div",28),Jo(1,DH,2,2,"div",29),xa(2,6),oa(3,"div",30),xa(4,7),sa()),2&t){const t=va();na("@transitionMessages",t._subscriptAnimationState),ws(1),na("ngIf",t.hintLabel)}}const NH=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],LH=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"],jH=new oi("MatError"),FH={transitionMessages:Qg("transitionMessages",[em("enter",tm({opacity:1,transform:"translateY(0%)"})),im("void => enter",[tm({opacity:0,transform:"translateY(-5px)"}),Zg("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let BH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t}),t})();const VH=new oi("MatHint");let zH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-label"]]}),t})(),UH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-placeholder"]]}),t})();const HH=new oi("MatPrefix");let $H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","matPrefix",""]],features:[xl([{provide:HH,useExisting:t}])]}),t})();const GH=new oi("MatSuffix");let WH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","matSuffix",""]],features:[xl([{provide:GH,useExisting:t}])]}),t})(),qH=0;const YH=Yy(class{constructor(t){this._elementRef=t}},"primary"),XH=new oi("MAT_FORM_FIELD_DEFAULT_OPTIONS"),KH=new oi("MatFormField");let QH=(()=>{class t extends YH{constructor(t,e,n,i,r,s,o,a){super(t),this._changeDetectorRef=e,this._dir=i,this._defaults=r,this._platform=s,this._ngZone=o,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new A,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+qH++,this._labelId="mat-form-field-label-"+qH++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==a,this.appearance=r&&r.appearance?r.appearance:"legacy",this._hideRequiredMarker=!(!r||null==r.hideRequiredMarker)&&r.hideRequiredMarker}get appearance(){return this._appearance}set appearance(t){const e=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&e!==t&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=kd(t)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(t){this._explicitFormFieldControl=t}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${t.controlType}`),t.stateChanges.pipe(lp(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(rp(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(rp(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),Q(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(lp(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(lp(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(rp(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(t){const e=this._control?this._control.ngControl:null;return e&&e[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Rd(this._label.nativeElement,"transitionend").pipe(rf(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let t=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&t.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const e=this._hintChildren?this._hintChildren.find(t=>"start"===t.align):null,n=this._hintChildren?this._hintChildren.find(t=>"end"===t.align):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&t.push(...this._errorChildren.map(t=>t.id));this._control.setDescribedByIds(t)}}_validateControlChild(){}updateOutlineGap(){const t=this._label?this._label.nativeElement:null;if(!("outline"===this.appearance&&t&&t.children.length&&t.textContent.trim()&&this._platform.isBrowser))return;if(!this._isAttachedToDOM())return void(this._outlineGapCalculationNeededImmediately=!0);let e=0,n=0;const i=this._connectionContainerRef.nativeElement,r=i.querySelectorAll(".mat-form-field-outline-start"),s=i.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){const r=i.getBoundingClientRect();if(0===r.width&&0===r.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);const s=this._getStartEnd(r),o=t.children,a=this._getStartEnd(o[0].getBoundingClientRect());let l=0;for(let t=0;t0?.75*l+10:0}for(let o=0;o{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy,fg],Wy]}),t})();function JH(t,e=Xd){const n=function(t){return t instanceof Date&&!isNaN(+t)}(t)?+t-e.now():Math.abs(t);return t=>t.lift(new t$(n,e))}class t${constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new e$(t,this.delay,this.scheduler))}}class e$ extends v{constructor(t,e,n){super(t),this.delay=e,this.scheduler=n,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,n=e.queue,i=t.scheduler,r=t.destination;for(;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){const e=Math.max(0,n[0].time-i.now());this.schedule(t,e)}else this.unsubscribe(),e.active=!1}_schedule(t){this.active=!0,this.destination.add(t.schedule(e$.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,n=new n$(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification(bp.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t),this.unsubscribe()}_complete(){this.scheduleNotification(bp.createComplete()),this.unsubscribe()}}class n${constructor(t,e){this.time=t,this.notification=e}}const i$=["panel"];function r$(t,e){if(1&t&&(ra(0,"div",0,1),xa(2),sa()),2&t){const t=e.id,n=va();na("id",n.id)("ngClass",n._classList),Ko("aria-label",n.ariaLabel||null)("aria-labelledby",n._getPanelAriaLabelledby(t))}}const s$=["*"];let o$=0;class a${constructor(t,e){this.source=t,this.option=e}}const l$=Xy(class{}),c$=new oi("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}});let u$=(()=>{class t extends l${constructor(t,e,n,i){super(),this._changeDetectorRef=t,this._elementRef=e,this._activeOptionChanges=g.EMPTY,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new Bc,this.opened=new Bc,this.closed=new Bc,this.optionActivated=new Bc,this._classList={},this.id="mat-autocomplete-"+o$++,this.inertGroups=(null==i?void 0:i.SAFARI)||!1,this._autoActiveFirstOption=!!n.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(t){this._autoActiveFirstOption=kd(t)}set classList(t){this._classList=t&&t.length?function(t,e=/\s+/){const n=[];if(null!=t){const i=Array.isArray(t)?t:`${t}`.split(e);for(const t of i){const e=`${t}`.trim();e&&n.push(e)}}return n}(t).reduce((t,e)=>(t[e]=!0,t),{}):{},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}ngAfterContentInit(){this._keyManager=new Eg(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(t=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[t]||null})}),this._setVisibility()}ngOnDestroy(){this._activeOptionChanges.unsubscribe()}_setScrollTop(t){this.panel&&(this.panel.nativeElement.scrollTop=t)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}_emitSelectEvent(t){const e=new a$(this,t);this.optionSelected.emit(e)}_getPanelAriaLabelledby(t){return this.ariaLabel?null:this.ariaLabelledby?(t?t+" ":"")+this.ariaLabelledby:t}_setVisibilityClasses(t){t[this._visibleClass]=this.showPanel,t[this._hiddenClass]=!this.showPanel}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(Al),ea(c$),ea(Ep))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&(Zc(ac,7),Zc(i$,5)),2&t){let t;Qc(t=tu())&&(e.template=t.first),Qc(t=tu())&&(e.panel=t.first)}},inputs:{displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",classList:["class","classList"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],panelWidth:"panelWidth"},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[jo]}),t})(),h$=(()=>{class t extends u${constructor(){super(...arguments),this._visibleClass="mat-autocomplete-visible",this._hiddenClass="mat-autocomplete-hidden"}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-autocomplete"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,bv,5),Jc(n,wv,5)),2&t){let t;Qc(t=tu())&&(e.optionGroups=t),Qc(t=tu())&&(e.options=t)}},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[xl([{provide:pv,useExisting:t}]),jo],ngContentSelectors:s$,decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(t,e){1&t&&(wa(),Jo(0,r$,3,4,"ng-template"))},directives:[Oh],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"],encapsulation:2,changeDetection:0}),t})();const d$=new oi("mat-autocomplete-scroll-strategy"),p$={provide:d$,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}},f$={provide:aU,useExisting:pt(()=>m$),multi:!0};let g$=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u){this._element=t,this._overlay=e,this._viewContainerRef=n,this._zone=i,this._changeDetectorRef=r,this._dir=o,this._formField=a,this._document=l,this._viewportRuler=c,this._defaults=u,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=g.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new A,this._windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen},this._onChange=()=>{},this._onTouched=()=>{},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=vH(()=>this.autocomplete&&this.autocomplete.options?Q(...this.autocomplete.options.map(t=>t.onSelectionChange)):this._zone.onStable.pipe(rf(1),cp(()=>this.optionSelections))),this._scrollStrategy=s}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(t){this._autocompleteDisabled=kd(t)}ngAfterViewInit(){const t=this._getWindow();void 0!==t&&this._zone.runOutsideAngular(()=>t.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(t){t.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){const t=this._getWindow();void 0!==t&&t.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Q(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(ep(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(ep(()=>this._overlayAttached)):Dd()).pipe(D(t=>t instanceof vv?t:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return Q(Rd(this._document,"click"),Rd(this._document,"auxclick"),Rd(this._document,"touchend")).pipe(ep(t=>{const e=Lp(t),n=this._formField?this._formField._elementRef.nativeElement:null,i=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&e!==this._element.nativeElement&&(!n||!n.contains(e))&&(!i||!i.contains(e))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(e)}))}writeValue(t){Promise.resolve(null).then(()=>this._setTriggerValue(t))}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this._element.nativeElement.disabled=t}_handleKeydown(t){const e=t.keyCode;if(27===e&&!uf(t)&&t.preventDefault(),this.activeOption&&13===e&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){const n=this.autocomplete._keyManager.activeItem,i=38===e||40===e;this.panelOpen||9===e?this.autocomplete._keyManager.onKeydown(t):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0)}}_handleInput(t){let e=t.target,n=e.value;"number"===e.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this._document.activeElement===t.target&&this.openPanel())}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_floatLabel(t=!1){this._formField&&"auto"===this._formField.floatLabel&&(t?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){return Q(this._zone.onStable.pipe(rf(1)),this.autocomplete.options.changes.pipe(eg(()=>this._positionStrategy.reapplyLastPosition()),JH(0))).pipe(cp(()=>{const t=this.panelOpen;return this._resetActiveItem(),this.autocomplete._setVisibility(),this.panelOpen&&(this._overlayRef.updatePosition(),t!==this.panelOpen&&this.autocomplete.opened.emit()),this.panelClosingActions}),rf(1)).subscribe(t=>this._setValueAndClose(t))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(t){const e=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(t):t,n=null!=e?e:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n,this._previousValue=n}_setValueAndClose(t){t&&t.source&&(this._clearPreviousSelectedOption(t.source),this._setTriggerValue(t.source.value),this._onChange(t.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(t.source)),this.closePanel()}_clearPreviousSelectedOption(t){this.autocomplete.options.forEach(e=>{e!==t&&e.selected&&e.deselect()})}_attachOverlay(){var t;let e=this._overlayRef;e?(this._positionStrategy.setOrigin(this._getConnectedElement()),e.updateSize({width:this._getPanelWidth()})):(this._portal=new Yp(this.autocomplete.template,this._viewContainerRef,{id:null===(t=this._formField)||void 0===t?void 0:t.getLabelId()}),e=this._overlay.create(this._getOverlayConfig()),this._overlayRef=e,e.keydownEvents().subscribe(t=>{(27===t.keyCode&&!uf(t)||38===t.keyCode&&uf(t,"altKey"))&&(this._closeKeyEventStream.next(),this._resetActiveItem(),t.stopPropagation(),t.preventDefault())}),this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&e&&e.updateSize({width:this._getPanelWidth()})})),e&&!e.hasAttached()&&(e.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const n=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&n!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){var t;return new vf({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:null===(t=this._defaults)||void 0===t?void 0:t.overlayPanelClass})}_getOverlayPosition(){const t=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(t),this._positionStrategy=t,t}_setStrategyPositions(t){const e=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],n=this._aboveClass,i=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:n},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:n}];let r;r="above"===this.position?i:"below"===this.position?e:[...e,...i],t.withPositions(r)}_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(){const t=this.autocomplete;t.autoActiveFirstOption?t._keyManager.setFirstItemActive():t._keyManager.setActiveItem(-1)}_canOpen(){const t=this._element.nativeElement;return!t.readOnly&&!t.disabled&&!this._autocompleteDisabled}_getWindow(){var t;return(null===(t=this._document)||void 0===t?void 0:t.defaultView)||window}_scrollToOption(t){const e=this.autocomplete,n=xv(t,e.options,e.optionGroups);if(0===t&&1===n)e._setScrollTop(0);else if(e.panel){const n=e.options.toArray()[t];if(n){const t=n._getHostElement(),i=Sv(t.offsetTop,t.offsetHeight,e._getScrollTop(),e.panel.nativeElement.offsetHeight);e._setScrollTop(i)}}}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Vf),ea(pc),ea(Tu),ea(nc),ea(d$),ea(Fp,8),ea(KH,9),ea(th,8),ea(Hp),ea(c$,8))},t.\u0275dir=se({type:t,inputs:{position:["matAutocompletePosition","position"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"],autocomplete:["matAutocomplete","autocomplete"],connectedTo:["matAutocompleteConnectedTo","connectedTo"]},features:[ye]}),t})(),m$=(()=>{class t extends g${constructor(){super(...arguments),this._aboveClass="mat-autocomplete-panel-above"}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(t,e){1&t&&fa("focusin",function(){return e._handleFocus()})("blur",function(){return e._onTouched()})("input",function(t){return e._handleInput(t)})("keydown",function(t){return e._handleKeydown(t)}),2&t&&Ko("autocomplete",e.autocompleteAttribute)("role",e.autocompleteDisabled?null:"combobox")("aria-autocomplete",e.autocompleteDisabled?null:"list")("aria-activedescendant",e.panelOpen&&e.activeOption?e.activeOption.id:null)("aria-expanded",e.autocompleteDisabled?null:e.panelOpen.toString())("aria-owns",e.autocompleteDisabled||!e.panelOpen||null==e.autocomplete?null:e.autocomplete.id)("aria-haspopup",!e.autocompleteDisabled)},exportAs:["matAutocompleteTrigger"],features:[xl([f$]),jo]}),t})(),b$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[p$],imports:[[Wf,Cv,Wy,Wh],$p,Cv,Wy]}),t})();const y$=Ip({passive:!0});let v$=(()=>{class t{constructor(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return pp;const e=Id(t),n=this._monitoredElements.get(e);if(n)return n.subject;const i=new A,r="cdk-text-field-autofilled",s=t=>{"cdk-text-field-autofill-start"!==t.animationName||e.classList.contains(r)?"cdk-text-field-autofill-end"===t.animationName&&e.classList.contains(r)&&(e.classList.remove(r),this._ngZone.run(()=>i.next({target:t.target,isAutofilled:!1}))):(e.classList.add(r),this._ngZone.run(()=>i.next({target:t.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{e.addEventListener("animationstart",s,y$),e.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(e,{subject:i,unlisten:()=>{e.removeEventListener("animationstart",s,y$)}}),i}stopMonitoring(t){const e=Id(t),n=this._monitoredElements.get(e);n&&(n.unlisten(),n.subject.complete(),e.classList.remove("cdk-text-field-autofill-monitored"),e.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(e))}ngOnDestroy(){this._monitoredElements.forEach((t,e)=>this.stopMonitoring(e))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu))},token:t,providedIn:"root"}),t})(),_$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Op]]}),t})();const w$=new oi("MAT_INPUT_VALUE_ACCESSOR"),x$=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let S$=0;const C$=Qy(class{constructor(t,e,n,i){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=n,this.ngControl=i}});let E$=(()=>{class t extends C${constructor(t,e,n,i,r,s,o,a,l,c){super(s,i,r,n),this._elementRef=t,this._platform=e,this._autofillMonitor=a,this._formField=c,this._uid="mat-input-"+S$++,this.focused=!1,this.stateChanges=new A,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(t=>kp().has(t));const u=this._elementRef.nativeElement,h=u.nodeName.toLowerCase();this._inputValueAccessor=o||u,this._previousNativeValue=this.value,this.id=this.id,e.IOS&&l.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",t=>{const e=t.target;!e.value&&0===e.selectionStart&&0===e.selectionEnd&&(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===h,this._isTextarea="textarea"===h,this._isInFormField=!!c,this._isNativeSelect&&(this.controlType=u.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=kd(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=kd(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea&&kp().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=kd(t)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(t){this._elementRef.nativeElement.focus(t)}_focusChanged(t){t!==this.focused&&(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){var t,e;const n=(null===(e=null===(t=this._formField)||void 0===t?void 0:t._hideControlPlaceholder)||void 0===e?void 0:e.call(t))?null:this.placeholder;if(n!==this._previousPlaceholder){const t=this._elementRef.nativeElement;this._previousPlaceholder=n,n?t.setAttribute("placeholder",n):t.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){x$.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const t=this._elementRef.nativeElement,e=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&e&&e.label)}return this.focused||!this.empty}setDescribedByIds(t){t.length?this._elementRef.nativeElement.setAttribute("aria-describedby",t.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(PU,10),ea(sH,8),ea(gH,8),ea(Zy),ea(w$,10),ea(v$),ea(Tu),ea(KH,8))},t.\u0275dir=se({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._focusChanged(!0)})("blur",function(){return e._focusChanged(!1)})("input",function(){return e._onInput()}),2&t&&(rl("disabled",e.disabled)("required",e.required),Ko("id",e.id)("data-placeholder",e.placeholder)("readonly",e.readonly&&!e._isNativeSelect||null)("aria-invalid",e.empty&&e.required?null:e.errorState)("aria-required",e.required),ja("mat-input-server",e._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[xl([{provide:BH,useExisting:t}]),jo,ye]}),t})(),O$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Zy],imports:[[_$,ZH,Wy],_$,ZH]}),t})();function T$(...t){const e=t.length;if(0===e)throw new Error("list of properties cannot be empty.");return n=>D(function(t,e){return n=>{let i=n;for(let r=0;rF$),multi:!0};class L${}const j$=Ky(Yy(qy(class{constructor(t){this._elementRef=t}}),"accent"));let F$=(()=>{class t extends j${constructor(t,e,n,i,r,s,o,a){super(t),this._focusMonitor=e,this._changeDetectorRef=n,this._dir=i,this._ngZone=s,this._animationMode=a,this._invert=!1,this._max=100,this._min=0,this._step=1,this._thumbLabel=!1,this._tickInterval=0,this._value=null,this._vertical=!1,this.change=new Bc,this.input=new Bc,this.valueChange=new Bc,this.onTouched=()=>{},this._percent=0,this._isSliding=null,this._isActive=!1,this._tickIntervalPercent=0,this._sliderDimensions=null,this._controlValueAccessorChangeFn=()=>{},this._dirChangeSubscription=g.EMPTY,this._pointerDown=t=>{this.disabled||this._isSliding||!B$(t)&&0!==t.button||this._ngZone.run(()=>{this._touchId=B$(t)?function(t,e){for(let n=0;n{if("pointer"===this._isSliding){const e=V$(t,this._touchId);if(e){t.preventDefault();const n=this.value;this._lastPointerEvent=t,this._updateValueFromPosition(e),n!=this.value&&this._emitInputEvent()}}},this._pointerUp=t=>{"pointer"===this._isSliding&&(!B$(t)||"number"!=typeof this._touchId||z$(t.changedTouches,this._touchId))&&(t.preventDefault(),this._removeGlobalEvents(),this._isSliding=null,this._touchId=void 0,this._valueOnSlideStart!=this.value&&!this.disabled&&this._emitChangeEvent(),this._valueOnSlideStart=this._lastPointerEvent=null)},this._windowBlur=()=>{this._lastPointerEvent&&this._pointerUp(this._lastPointerEvent)},this._document=o,this.tabIndex=parseInt(r)||0,s.runOutsideAngular(()=>{const e=t.nativeElement;e.addEventListener("mousedown",this._pointerDown,R$),e.addEventListener("touchstart",this._pointerDown,R$)})}get invert(){return this._invert}set invert(t){this._invert=kd(t)}get max(){return this._max}set max(t){this._max=Pd(t,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get min(){return this._min}set min(t){this._min=Pd(t,this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get step(){return this._step}set step(t){this._step=Pd(t,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()}get thumbLabel(){return this._thumbLabel}set thumbLabel(t){this._thumbLabel=kd(t)}get tickInterval(){return this._tickInterval}set tickInterval(t){this._tickInterval="auto"===t?"auto":"number"==typeof t||"string"==typeof t?Pd(t,this._tickInterval):0}get value(){return null===this._value&&(this.value=this._min),this._value}set value(t){if(t!==this._value){let e=Pd(t,0);this._roundToDecimal&&e!==this.min&&e!==this.max&&(e=parseFloat(e.toFixed(this._roundToDecimal))),this._value=e,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}}get vertical(){return this._vertical}set vertical(t){this._vertical=kd(t)}get displayValue(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0}focus(t){this._focusHostElement(t)}blur(){this._blurHostElement()}get percent(){return this._clamp(this._percent)}_shouldInvertAxis(){return this.vertical?!this.invert:this.invert}_isMinValue(){return 0===this.percent}_getThumbGap(){return this.disabled?7:this._isMinValue()&&!this.thumbLabel?this._isActive?10:7:0}_getTrackBackgroundStyles(){const t=this.vertical?`1, ${1-this.percent}, 1`:1-this.percent+", 1, 1";return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"-":""}${this._getThumbGap()}px) scale3d(${t})`}}_getTrackFillStyles(){const t=this.percent,e=this.vertical?`1, ${t}, 1`:`${t}, 1, 1`;return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"":"-"}${this._getThumbGap()}px) scale3d(${e})`,display:0===t?"none":""}}_getTicksContainerStyles(){return{transform:`translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"-":""}${this._tickIntervalPercent/2*100}%)`}}_getTicksStyles(){let t=100*this._tickIntervalPercent,e={backgroundSize:this.vertical?`2px ${t}%`:`${t}% 2px`,transform:`translateZ(0) translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"":"-"}${t/2}%)${this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)"}`};if(this._isMinValue()&&this._getThumbGap()){const t=this._shouldInvertAxis();let n;n=this.vertical?t?"Bottom":"Top":t?"Right":"Left",e[`padding${n}`]=`${this._getThumbGap()}px`}return e}_getThumbContainerStyles(){const t=this._shouldInvertAxis();return{transform:`translate${this.vertical?"Y":"X"}(-${100*(("rtl"!=this._getDirection()||this.vertical?t:!t)?this.percent:1-this.percent)}%)`}}_shouldInvertMouseCoords(){const t=this._shouldInvertAxis();return"rtl"!=this._getDirection()||this.vertical?t:!t}_getDirection(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{this._isActive=!!t&&"keyboard"!==t,this._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>{this._changeDetectorRef.markForCheck()}))}ngOnDestroy(){const t=this._elementRef.nativeElement;t.removeEventListener("mousedown",this._pointerDown,R$),t.removeEventListener("touchstart",this._pointerDown,R$),this._lastPointerEvent=null,this._removeGlobalEvents(),this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()}_onMouseenter(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())}_onFocus(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()}_onBlur(){this.onTouched()}_onKeydown(t){if(this.disabled||uf(t)||this._isSliding&&"keyboard"!==this._isSliding)return;const e=this.value;switch(t.keyCode){case 33:this._increment(10);break;case 34:this._increment(-10);break;case 35:this.value=this.max;break;case 36:this.value=this.min;break;case 37:this._increment("rtl"==this._getDirection()?1:-1);break;case 38:this._increment(1);break;case 39:this._increment("rtl"==this._getDirection()?-1:1);break;case 40:this._increment(-1);break;default:return}e!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding="keyboard",t.preventDefault()}_onKeyup(){"keyboard"===this._isSliding&&(this._isSliding=null)}_getWindow(){return this._document.defaultView||window}_bindGlobalEvents(t){const e=this._document,n=B$(t),i=n?"touchend":"mouseup";e.addEventListener(n?"touchmove":"mousemove",this._pointerMove,R$),e.addEventListener(i,this._pointerUp,R$),n&&e.addEventListener("touchcancel",this._pointerUp,R$);const r=this._getWindow();void 0!==r&&r&&r.addEventListener("blur",this._windowBlur)}_removeGlobalEvents(){const t=this._document;t.removeEventListener("mousemove",this._pointerMove,R$),t.removeEventListener("mouseup",this._pointerUp,R$),t.removeEventListener("touchmove",this._pointerMove,R$),t.removeEventListener("touchend",this._pointerUp,R$),t.removeEventListener("touchcancel",this._pointerUp,R$);const e=this._getWindow();void 0!==e&&e&&e.removeEventListener("blur",this._windowBlur)}_increment(t){this.value=this._clamp((this.value||0)+this.step*t,this.min,this.max)}_updateValueFromPosition(t){if(!this._sliderDimensions)return;let e=this._clamp(((this.vertical?t.y:t.x)-(this.vertical?this._sliderDimensions.top:this._sliderDimensions.left))/(this.vertical?this._sliderDimensions.height:this._sliderDimensions.width));if(this._shouldInvertMouseCoords()&&(e=1-e),0===e)this.value=this.min;else if(1===e)this.value=this.max;else{const t=this._calculateValue(e),n=Math.round((t-this.min)/this.step)*this.step+this.min;this.value=this._clamp(n,this.min,this.max)}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())}_emitInputEvent(){this.input.emit(this._createChangeEvent())}_updateTickIntervalPercent(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){let t=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,e=Math.ceil(30/(t*this.step/(this.max-this.min)))*this.step;this._tickIntervalPercent=e/t}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)}_createChangeEvent(t=this.value){let e=new L$;return e.source=this,e.value=t,e}_calculatePercentage(t){return((t||0)-this.min)/(this.max-this.min)}_calculateValue(t){return this.min+t*(this.max-this.min)}_clamp(t,e=0,n=1){return Math.max(e,Math.min(t,n))}_getSliderDimensions(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}_focusHostElement(t){this._elementRef.nativeElement.focus(t)}_blurHostElement(){this._elementRef.nativeElement.blur()}writeValue(t){this.value=t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ug),ea(nc),ea(Fp,8),ii("tabindex"),ea(Tu),ea(th),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-slider"]],viewQuery:function(t,e){if(1&t&&Zc(D$,5),2&t){let t;Qc(t=tu())&&(e._sliderWrapper=t.first)}},hostAttrs:["role","slider",1,"mat-slider","mat-focus-indicator"],hostVars:29,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()})("keydown",function(t){return e._onKeydown(t)})("keyup",function(){return e._onKeyup()})("mouseenter",function(){return e._onMouseenter()})("selectstart",function(t){return t.preventDefault()}),2&t&&(rl("tabIndex",e.tabIndex),Ko("aria-disabled",e.disabled)("aria-valuemax",e.max)("aria-valuemin",e.min)("aria-valuenow",e.value)("aria-valuetext",null==e.valueText?e.displayValue:e.valueText)("aria-orientation",e.vertical?"vertical":"horizontal"),ja("mat-slider-disabled",e.disabled)("mat-slider-has-ticks",e.tickInterval)("mat-slider-horizontal",!e.vertical)("mat-slider-axis-inverted",e._shouldInvertAxis())("mat-slider-invert-mouse-coords",e._shouldInvertMouseCoords())("mat-slider-sliding",e._isSliding)("mat-slider-thumb-label-showing",e.thumbLabel)("mat-slider-vertical",e.vertical)("mat-slider-min-value",e._isMinValue())("mat-slider-hide-last-tick",e.disabled||e._isMinValue()&&e._getThumbGap()&&e._shouldInvertAxis())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disabled:"disabled",color:"color",tabIndex:"tabIndex",invert:"invert",max:"max",min:"min",step:"step",thumbLabel:"thumbLabel",tickInterval:"tickInterval",value:"value",vertical:"vertical",displayWith:"displayWith",valueText:"valueText"},outputs:{change:"change",input:"input",valueChange:"valueChange"},exportAs:["matSlider"],features:[xl([N$]),jo],decls:13,vars:6,consts:[[1,"mat-slider-wrapper"],["sliderWrapper",""],[1,"mat-slider-track-wrapper"],[1,"mat-slider-track-background",3,"ngStyle"],[1,"mat-slider-track-fill",3,"ngStyle"],[1,"mat-slider-ticks-container",3,"ngStyle"],[1,"mat-slider-ticks",3,"ngStyle"],[1,"mat-slider-thumb-container",3,"ngStyle"],[1,"mat-slider-focus-ring"],[1,"mat-slider-thumb"],[1,"mat-slider-thumb-label"],[1,"mat-slider-thumb-label-text"]],template:function(t,e){1&t&&(ra(0,"div",0,1),ra(2,"div",2),oa(3,"div",3),oa(4,"div",4),sa(),ra(5,"div",5),oa(6,"div",6),sa(),ra(7,"div",7),oa(8,"div",8),oa(9,"div",9),ra(10,"div",10),ra(11,"span",11),Ja(12),sa(),sa(),sa(),sa()),2&t&&(ws(3),na("ngStyle",e._getTrackBackgroundStyles()),ws(1),na("ngStyle",e._getTrackFillStyles()),ws(1),na("ngStyle",e._getTicksContainerStyles()),ws(1),na("ngStyle",e._getTicksStyles()),ws(1),na("ngStyle",e._getThumbContainerStyles()),ws(5),tl(e.displayValue))},directives:[jh],styles:['.mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:"";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\n'],encapsulation:2,changeDetection:0}),t})();function B$(t){return"t"===t.type[0]}function V$(t,e){let n;return n=B$(t)?"number"==typeof e?z$(t.touches,e)||z$(t.changedTouches,e):t.touches[0]||t.changedTouches[0]:t,n?{x:n.clientX,y:n.clientY}:void 0}function z$(t,e){for(let n=0;n{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy],Wy]}),t})();function H$(t,e){}class $${constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const G$={dialogContainer:Qg("dialogContainer",[em("void, exit",tm({opacity:0,transform:"scale(0.7)"})),em("enter",tm({transform:"none"})),im("* => enter",Zg("150ms cubic-bezier(0, 0, 0.2, 1)",tm({transform:"none",opacity:1}))),im("* => void, * => exit",Zg("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",tm({opacity:0})))])};let W$=(()=>{class t extends Kp{constructor(t,e,n,i,r,s){super(),this._elementRef=t,this._focusTrapFactory=e,this._changeDetectorRef=n,this._config=r,this._focusMonitor=s,this._animationStateChanged=new Bc,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=t=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(t)),this._ariaLabelledBy=r.ariaLabelledBy||null,this._document=i}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const e=Np(),n=this._elementRef.nativeElement;(!e||e===this._document.body||e===n||n.contains(e))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=Np())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,e=Np();return t===e||t.contains(e)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ag),ea(nc),ea(th,8),ea($$),ea(Ug))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&Zc(tf,7),2&t){let t;Qc(t=tu())&&(e._portalOutlet=t.first)}},features:[jo]}),t})(),q$=(()=>{class t extends W${constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:e}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:e})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:e}))}_onAnimationStart({toState:t,totalTime:e}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:e}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:e})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,e){1&t&&ga("@dialogContainer.start",function(t){return e._onAnimationStart(t)})("@dialogContainer.done",function(t){return e._onAnimationDone(t)}),2&t&&(rl("id",e._id),Ko("role",e._config.role)("aria-labelledby",e._config.ariaLabel?null:e._ariaLabelledBy)("aria-label",e._config.ariaLabel)("aria-describedby",e._config.ariaDescribedBy||null),sl("@dialogContainer",e._state))},features:[jo],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,e){1&t&&Jo(0,H$,0,0,"ng-template",0)},directives:[tf],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[G$.dialogContainer]}}),t})(),Y$=0;class X${constructor(t,e,n="mat-dialog-"+Y$++){this._overlayRef=t,this._containerInstance=e,this.id=n,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new A,this._afterClosed=new A,this._beforeClosed=new A,this._state=0,e._id=n,e._animationStateChanged.pipe(ep(t=>"opened"===t.state),rf(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),e._animationStateChanged.pipe(ep(t=>"closed"===t.state),rf(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),t.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),t.keydownEvents().pipe(ep(t=>27===t.keyCode&&!this.disableClose&&!uf(t))).subscribe(t=>{t.preventDefault(),K$(this,"keyboard")}),t.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():K$(this,"mouse")})}close(t){this._result=t,this._containerInstance._animationStateChanged.pipe(ep(t=>"closing"===t.state),rf(1)).subscribe(e=>{this._beforeClosed.next(t),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(t){let e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(t="",e=""){return this._overlayRef.updateSize({width:t,height:e}),this._overlayRef.updatePosition(),this}addPanelClass(t){return this._overlayRef.addPanelClass(t),this}removePanelClass(t){return this._overlayRef.removePanelClass(t),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function K$(t,e,n){return void 0!==t._containerInstance&&(t._containerInstance._closeInteractionType=e),t.close(n)}const Q$=new oi("MatDialogData"),Z$=new oi("mat-dialog-default-options"),J$=new oi("mat-dialog-scroll-strategy"),tG={provide:J$,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.block()}};let eG=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l){this._overlay=t,this._injector=e,this._defaultOptions=n,this._parentDialog=i,this._overlayContainer=r,this._dialogRefConstructor=o,this._dialogContainerType=a,this._dialogDataToken=l,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new A,this._afterOpenedAtThisLevel=new A,this._ariaHiddenElements=new Map,this.afterAllClosed=vH(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(lp(void 0))),this._scrollStrategy=s}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,e){(e=function(t,e){return Object.assign(Object.assign({},e),t)}(e,this._defaultOptions||new $$)).id&&this.getDialogById(e.id);const n=this._createOverlay(e),i=this._attachDialogContainer(n,e),r=this._attachDialogContent(t,i,n,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(r),r.afterClosed().subscribe(()=>this._removeOpenDialog(r)),this.afterOpened.next(r),i._initializeWithAttachedContent(),r}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(e=>e.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const e=this._getOverlayConfig(t);return this._overlay.create(e)}_getOverlayConfig(t){const e=new vf({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(e.backdropClass=t.backdropClass),e}_attachDialogContainer(t,e){const n=No.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:$$,useValue:e}]}),i=new qp(this._dialogContainerType,e.viewContainerRef,n,e.componentFactoryResolver);return t.attach(i).instance}_attachDialogContent(t,e,n,i){const r=new this._dialogRefConstructor(n,e,i.id);if(t instanceof ac)e.attachTemplatePortal(new Yp(t,null,{$implicit:i.data,dialogRef:r}));else{const n=this._createInjector(i,r,e),s=e.attachComponentPortal(new qp(t,i.viewContainerRef,n));r.componentInstance=s.instance}return r.updateSize(i.width,i.height).updatePosition(i.position),r}_createInjector(t,e,n){const i=t&&t.viewContainerRef&&t.viewContainerRef.injector,r=[{provide:this._dialogContainerType,useValue:n},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:e}];return t.direction&&(!i||!i.get(Fp,null,Mt.Optional))&&r.push({provide:Fp,useValue:{value:t.direction,change:Dd()}}),No.create({parent:i||this._injector,providers:r})}_removeOpenDialog(t){const e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((t,e)=>{t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const e=t.parentElement.children;for(let n=e.length-1;n>-1;n--){let i=e[n];i!==t&&"SCRIPT"!==i.nodeName&&"STYLE"!==i.nodeName&&!i.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(i,i.getAttribute("aria-hidden")),i.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let e=t.length;for(;e--;)t[e].close()}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(No),ea(void 0),ea(void 0),ea(Tf),ea(void 0),ea(ai),ea(ai),ea(oi))},t.\u0275dir=se({type:t}),t})(),nG=(()=>{class t extends eG{constructor(t,e,n,i,r,s,o){super(t,e,i,s,o,r,X$,q$,Q$)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Vf),Ei(No),Ei(ph,8),Ei(Z$,8),Ei(J$),Ei(t,12),Ei(Tf))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),iG=0,rG=(()=>{class t{constructor(t,e,n){this._dialogRef=t,this._elementRef=e,this._dialog=n,this.id="mat-dialog-title-"+iG++}ngOnInit(){this._dialogRef||(this._dialogRef=function(t,e){let n=t.nativeElement.parentElement;for(;n&&!n.classList.contains("mat-dialog-container");)n=n.parentElement;return n?e.find(t=>t.id===n.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return t.\u0275fac=function(e){return new(e||t)(ea(X$,8),ea(Al),ea(nG))},t.\u0275dir=se({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,e){2&t&&rl("id",e.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),t})(),sG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),t})();let oG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[nG,tG],imports:[[Wf,ef,Wy],Wy]}),t})();const aG=new oi("CdkAccordion");let lG=0,cG=(()=>{class t{constructor(t,e,n){this.accordion=t,this._changeDetectorRef=e,this._expansionDispatcher=n,this._openCloseAllSubscription=g.EMPTY,this.closed=new Bc,this.opened=new Bc,this.destroyed=new Bc,this.expandedChange=new Bc,this.id="cdk-accordion-child-"+lG++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=n.listen((t,e)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===e&&this.id!==t&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=kd(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return t.\u0275fac=function(e){return new(e||t)(ea(aG,12),ea(nc),ea(zp))},t.\u0275dir=se({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[xl([{provide:aG,useValue:void 0}])]}),t})(),uG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const hG=["body"];function dG(t,e){}const pG=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],fG=["mat-expansion-panel-header","*","mat-action-row"];function gG(t,e){1&t&&oa(0,"span",2),2&t&&na("@indicatorRotate",va()._getExpandedState())}const mG=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],bG=["mat-panel-title","mat-panel-description","*"],yG=new oi("MAT_ACCORDION"),vG="225ms cubic-bezier(0.4,0.0,0.2,1)",_G={indicatorRotate:Qg("indicatorRotate",[em("collapsed, void",tm({transform:"rotate(0deg)"})),em("expanded",tm({transform:"rotate(180deg)"})),im("expanded <=> collapsed, void => collapsed",Zg(vG))]),bodyExpansion:Qg("bodyExpansion",[em("collapsed, void",tm({height:"0px",visibility:"hidden"})),em("expanded",tm({height:"*",visibility:"visible"})),im("expanded <=> collapsed, void => collapsed",Zg(vG))])};let wG=(()=>{class t{constructor(t){this._template=t}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]}),t})(),xG=0;const SG=new oi("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let CG=(()=>{class t extends cG{constructor(t,e,n,i,r,s,o){super(t,e,n),this._viewContainerRef=i,this._animationMode=s,this._hideToggle=!1,this.afterExpand=new Bc,this.afterCollapse=new Bc,this._inputChanges=new A,this._headerId="mat-expansion-panel-header-"+xG++,this._bodyAnimationDone=new A,this.accordion=t,this._document=r,this._bodyAnimationDone.pipe(Wd((t,e)=>t.fromState===e.fromState&&t.toState===e.toState)).subscribe(t=>{"void"!==t.fromState&&("expanded"===t.toState?this.afterExpand.emit():"collapsed"===t.toState&&this.afterCollapse.emit())}),o&&(this.hideToggle=o.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=kd(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(lp(null),ep(()=>this.expanded&&!this._portal),rf(1)).subscribe(()=>{this._portal=new Yp(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,e=this._body.nativeElement;return t===e||e.contains(t)}return!1}}return t.\u0275fac=function(e){return new(e||t)(ea(yG,12),ea(nc),ea(zp),ea(pc),ea(th),ea(Ny,8),ea(SG,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,wG,5),2&t){let t;Qc(t=tu())&&(e._lazyContent=t.first)}},viewQuery:function(t,e){if(1&t&&Zc(hG,5),2&t){let t;Qc(t=tu())&&(e._body=t.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,e){2&t&&ja("mat-expanded",e.expanded)("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-expansion-panel-spacing",e._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[xl([{provide:yG,useValue:void 0}]),jo,ye],ngContentSelectors:fG,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,e){1&t&&(wa(pG),xa(0),ra(1,"div",0,1),fa("@bodyExpansion.done",function(t){return e._bodyAnimationDone.next(t)}),ra(3,"div",2),xa(4,1),Jo(5,dG,0,0,"ng-template",3),sa(),xa(6,2),sa()),2&t&&(ws(1),na("@bodyExpansion",e._getExpandedState())("id",e.id),Ko("aria-labelledby",e._headerId),ws(4),na("cdkPortalOutlet",e._portal))},directives:[tf],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[_G.bodyExpansion]},changeDetection:0}),t})();class EG{}const OG=Ky(EG);let TG=(()=>{class t extends OG{constructor(t,e,n,i,r,s,o){super(),this.panel=t,this._element=e,this._focusMonitor=n,this._changeDetectorRef=i,this._animationMode=s,this._parentChangeSubscription=g.EMPTY;const a=t.accordion?t.accordion._stateChanges.pipe(ep(t=>!(!t.hideToggle&&!t.togglePosition))):pp;this.tabIndex=parseInt(o||"")||0,this._parentChangeSubscription=Q(t.opened,t.closed,a,t._inputChanges.pipe(ep(t=>!!(t.hideToggle||t.disabled||t.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(ep(()=>t._containsFocus())).subscribe(()=>n.focusVia(e,"program")),r&&(this.expandedHeight=r.expandedHeight,this.collapsedHeight=r.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:uf(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,e){t?this._focusMonitor.focusVia(this._element,t,e):this._element.nativeElement.focus(e)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return t.\u0275fac=function(e){return new(e||t)(ea(CG,1),ea(Al),ea(Ug),ea(nc),ea(SG,8),ea(Ny,8),ii("tabindex"))},t.\u0275cmp=Jt({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,e){1&t&&fa("click",function(){return e._toggle()})("keydown",function(t){return e._keydown(t)}),2&t&&(Ko("id",e.panel._headerId)("tabindex",e.tabIndex)("aria-controls",e._getPanelId())("aria-expanded",e._isExpanded())("aria-disabled",e.panel.disabled),La("height",e._getHeaderHeight()),ja("mat-expanded",e._isExpanded())("mat-expansion-toggle-indicator-after","after"===e._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===e._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[jo],ngContentSelectors:bG,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,e){1&t&&(wa(mG),ra(0,"span",0),xa(1),xa(2,1),xa(3,2),sa(),Jo(4,gG,1,1,"span",1)),2&t&&(ws(4),na("ngIf",e._showToggle()))},directives:[Ah],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[_G.indicatorRotate]},changeDetection:0}),t})(),kG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy,uG,ef]]}),t})();var PG=n(5478);Object.create(Error.prototype);const AG=["*"];var MG=(()=>(function(t){t.LineHighlight="line-highlight",t.LineNumbers="line-numbers"}(MG||(MG={})),MG))();class IG{}const DG=new oi("SECURITY_CONTEXT");let RG=(()=>{class t{constructor(t,e,n,i,r){this.platform=t,this.securityContext=e,this.http=n,this.sanitizer=r,this.initialMarkedOptions={renderer:new PG.Renderer},this.options=i}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,e=!1,n=!1,i=this.options){const r=this.trimIndentation(t),s=e?this.decodeHtml(r):r,o=n?this.renderEmoji(s):s,a=PG.parse(o,i);return this.sanitizer.sanitize(this.securityContext,a)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(D(e=>this.handleExtension(t,e)))}highlight(t){if(Yh(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const e=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(e,t=>t.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,e){if(!Yh(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(t,n)=>katex.renderToString(n,e))}decodeHtml(t){if(!Yh(this.platform))return t;const e=document.createElement("textarea");return e.innerHTML=t,e.value}handleExtension(t,e){const n=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==n?"```"+n+"\n"+e+"\n```":e}renderEmoji(t){if(!Yh(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let e;return t.split("\n").map(t=>{let n=e;return t.length>0&&(n=isNaN(n)?t.search(/\S|$/):Math.min(t.search(/\S|$/),n)),isNaN(e)&&(e=n),n?t.substring(n):t}).join("\n")}}return t.\u0275fac=function(e){return new(e||t)(Ei(hu),Ei(DG),Ei(Jv,8),Ei(IG,8),Ei(Sd))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),NG=(()=>{class t{constructor(t,e){this.element=t,this.markdownService=e,this.error=new Bc,this.load=new Bc,this.ready=new Bc,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,e=!1){let n=this.markdownService.compile(t,e,this.emoji);n=this.katex?this.markdownService.renderKatex(n,this.katexOptions):n,this.element.nativeElement.innerHTML=n,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,MG.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,e){const n=t.querySelectorAll("pre");for(let i=0;i{const r=e[t];if(r){const e=this.toLispCase(t);n.item(i).setAttribute(e,r.toString())}})}toLispCase(t){const e=t.match(/([A-Z])/g);if(!e)return t;let n=t.toString();for(let i=0,r=e.length;i{class t{static forRoot(e){return{ngModule:t,providers:[RG,e&&e.loader||[],e&&e.markedOptions||[],{provide:DG,useValue:e&&null!=e.sanitize?e.sanitize:yr.HTML}]}}static forChild(){return{ngModule:t}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function jG(t,e,n){return n?jG(t,e).pipe(D(t=>d(t)?n(...t):n(t))):new E(n=>{const i=(...t)=>n.next(1===t.length?t[0]:t);let r;try{r=t(i)}catch(s){return void n.error(s)}if(a(e))return()=>e(i,r)})}function FG(...t){return e=>{let n;return"function"==typeof t[t.length-1]&&(n=t.pop()),e.lift(new BG(t,n))}}class BG{constructor(t,e){this.observables=t,this.project=e}call(t,e){return e.subscribe(new VG(t,this.observables,this.project))}}class VG extends j_{constructor(t,e,n){super(t),this.observables=e,this.project=n,this.toRespond=[];const i=e.length;this.values=new Array(i);for(let r=0;r0){const t=i.indexOf(n);-1!==t&&i.splice(t,1)}}notifyComplete(){}_next(t){if(0===this.toRespond.length){const e=[t,...this.values];this.project?this._tryProject(e):this.destination.next(e)}}_tryProject(t){let e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}class zG{constructor(t,e,n=!1){this.accumulator=t,this.seed=e,this.hasSeed=n}call(t,e){return e.subscribe(new UG(t,this.accumulator,this.seed,this.hasSeed))}}class UG extends v{constructor(t,e,n,i){super(t),this.accumulator=e,this._seed=n,this.hasSeed=i,this.index=0}get seed(){return this._seed}set seed(t){this.hasSeed=!0,this._seed=t}_next(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)}_tryNext(t){const e=this.index++;let n;try{n=this.accumulator(this.seed,t,e)}catch(i){this.destination.error(i)}this.seed=n,this.destination.next(n)}}class HG{constructor(t){this.predicate=t}call(t,e){return e.subscribe(new $G(t,this.predicate))}}class $G extends v{constructor(t,e){super(t),this.predicate=e,this.skipping=!0,this.index=0}_next(t){const e=this.destination;this.skipping&&this.tryCallPredicate(t),this.skipping||e.next(t)}tryCallPredicate(t){try{const e=this.predicate(t,this.index++);this.skipping=Boolean(e)}catch(e){this.destination.error(e)}}}const GG=["youtubeContainer"];let WG=(()=>{class t{constructor(t,e){this._ngZone=t,this._youtubeContainer=new A,this._destroyed=new A,this._playerChanges=new Jf(void 0),this._videoId=new Jf(void 0),this._height=new Jf(390),this._width=new Jf(640),this._startSeconds=new Jf(void 0),this._endSeconds=new Jf(void 0),this._suggestedQuality=new Jf(void 0),this._playerVars=new Jf(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Yh(e)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=Dd(!0);if(!window.YT||!window.YT.Player){const e=new A;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>e.next(!0))},t=e.pipe(rf(1),lp(!1))}const e=function(t,e,n,i,r,s,o){const a=z_([e,s]).pipe(FG(z_([i,r])),D(([t,e])=>{const[n,i]=t,[r,s]=e;return n?{videoId:n,playerVars:i,width:r,height:s}:void 0}));return z_([t,a,Dd(o)]).pipe(function(t){return S(function(...t){let e=null;return"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&d(t[0])&&(t=t[0].slice()),n=>n.lift.call(U([n,...t]),new U_(e))}(t),function(t){return e=>e.lift(new HG(t))}(([t,e])=>!e),D(([t])=>t))}(n),function(t,e){let n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new zG(t,e,n))}}(qG,void 0),Wd())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(eg(t=>{this._playerChanges.next(t)}),W(t=>t?YG(t)?Dd(t):new E(e=>{let n=!1,i=!1;const r=t=>{i=!0,n||(t.target.removeEventListener("onReady",r),e.next(t.target))};return t.addEventListener("onReady",r),()=>{n=!0,i||(t=>{YG(t)||t.destroy()})(t)}}).pipe(rf(1),lp(void 0)):Dd(void 0)),rp(this._destroyed),rt(new A));e.subscribe(t=>{this._player=t,t&&this._pendingPlayerState&&this._initializePlayer(t,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(t,e,n){z_([t,e,n]).subscribe(([t,e,n])=>t&&t.setSize(e,n))}(e,this._width,this._height),function(t,e){z_([t,e]).subscribe(([t,e])=>t&&e&&t.setPlaybackQuality(e))}(e,this._suggestedQuality),function(t,e,n,i,r,s){const o=z_([n,i]).pipe(D(([t,e])=>({startSeconds:t,endSeconds:e}))),a=o.pipe(XG(t,t=>!!t&&!function(t){const e=t.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(t))),l=e.pipe(XG(t,(t,e)=>!!t&&t.videoId!==e));Q(t.pipe(XG(z_([e,o]),([t,e],n)=>!(!n||t==n.videoId&&!e.startSeconds&&!e.endSeconds))),l,a).pipe(FG(z_([t,e,o,r])),D(([t,e])=>e),rp(s)).subscribe(([t,e,n,i])=>{!e||!t||(t.videoId=e,t.cueVideoById(Object.assign({videoId:e,suggestedQuality:i},n)))})}(e,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),e.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,e){this._player?this._player.seekTo(t,e):this._getPendingState().seek={seconds:t,allowSeekAhead:e}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,e){const{playbackState:n,playbackRate:i,volume:r,muted:s,seek:o}=e;switch(n){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=i&&t.setPlaybackRate(i),null!=r&&t.setVolume(r),null!=s&&(s?t.mute():t.unMute()),null!=o&&t.seekTo(o.seconds,o.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(cp(e=>e?jG(n=>{e.addEventListener(t,n)},n=>{try{e.removeEventListener&&e.removeEventListener(t,n)}catch(i){}}):Dd()),t=>new E(e=>t.subscribe({next:t=>this._ngZone.run(()=>e.next(t)),error:t=>e.error(t),complete:()=>e.complete()})),rp(this._destroyed))}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(hu))},t.\u0275cmp=Jt({type:t,selectors:[["youtube-player"]],viewQuery:function(t,e){if(1&t&&Zc(GG,5),2&t){let t;Qc(t=tu())&&(e.youtubeContainer=t.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,e){1&t&&oa(0,"div",null,0)},encapsulation:2,changeDetection:0}),t})();function qG(t,[e,n,i]){if(t&&n&&t.playerVars!==n.playerVars)t.destroy();else{if(!n)return void(t&&t.destroy());if(t)return t}const r=i.runOutsideAngular(()=>new YT.Player(e,n));return r.videoId=n.videoId,r.playerVars=n.playerVars,r}function YG(t){return"getPlayerStatus"in t}function XG(t,e){return S(FG(t),ep(([t,n])=>e(n,t)),D(([t])=>t))}let KG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),QG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),t})();function ZG(t){return!0===t}function JG(t){return null==t}function tW(t){return!JG(t)}function eW(t){return Boolean(t)}function nW(t){return JG(t)?t:JSON.parse(JSON.stringify(t))}const iW=t=>{const e=t instanceof Date;if("object"!=typeof t||null===t||e)return t;Object.freeze(t);const n="function"==typeof t,i=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(e=>{i.call(t,e)&&(!n||"caller"!==e&&"callee"!==e&&"arguments"!==e)&&null!==t[e]&&("object"==typeof t[e]||"function"==typeof t[e])&&!Object.isFrozen(t[e])&&iW(t[e])}),t};function rW(t){return tW(t)&&"object"==typeof t&&function(t){return"[object Object]"===Object.prototype.toString.call(t)}(t)}const sW="NGXS_DATA_META",oW="NGXS_META",aW="NGXS_ARGUMENT_REGISTRY_META";let lW=(()=>{class t{constructor(t){this.sequence$=new Jf(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function cW(t){return t[sW]}let uW=(()=>{class t{constructor(e,n,i){t.store=e.get(qz),t.ngZone=e.get(Tu),t.factory=n,t.context=i,t.computed=e.get(lW)}}return t.store=null,t.computed=null,t.context=null,t.factory=null,t.ngZone=null,t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(YV),Ei(qV))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class hW{constructor(){hW.statesCachedMeta.clear()}static createStateContext(t){return uW.context.createStateContext(t)}static ensureMappedState(t){if(JG(uW.factory)||JG(t))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(tW(t.name)?hW.statesCachedMeta.get(t.name):null)||hW.ensureMeta(t)}static getRepositoryByInstance(t){var e;const n=null!==(e=cW(hW.getStateClassByInstance(t)))&&void 0!==e?e:null;if(JG(n))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return n}static getStateClassByInstance(t){return(null!=t?t:{}).constructor}static clearMetaByInstance(t){const e=hW.getRepositoryByInstance(t);e.stateMeta.actions={},e.operations={}}static createPayload(t,e){const n={},i=Array.from(t);for(let r=0;r0?n:null}static createAction(t,e,n){const i=hW.createPayload(e,n);return new(function(t){return class{constructor(t){t&&Object.keys(t).forEach(e=>{this[e]=t[e]})}static get type(){return t}}}(t.type))(i)}static ensureMeta(t){var e;const n=tW(t.name)?null===(e=uW.factory.states)||void 0===e?void 0:e.find(e=>e.name===t.name):null;return tW(n)&&tW(t.name)&&hW.statesCachedMeta.set(t.name,n),n}}hW.statesCachedMeta=new Map,hW.\u0275fac=function(t){return new(t||hW)},hW.\u0275prov=xt({token:hW,factory:hW.\u0275fac}),new _p(1);class dW extends Error{constructor(t){super(`Child states can only be added to an object. Cannot convert ${tW(null==t?void 0:t.constructor)?t.constructor.name:t} to PlainObject`)}}function pW(t){var e;return null!==(e=t.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function fW(t){var e;const n=pW(t),i=null!==(e=n.children)&&void 0!==e?e:[],r=nW(void 0===n.defaults?{}:n.defaults);if(i.length){if(rW(r))return function(t,e){return e.reduce((t,e)=>{const n=pW(e);if(function(t){const e="string"==typeof t?t.trim():t;return[void 0,null,NaN,"",1/0].includes(e)}(n.name))throw new Error("State name not provided in class");return t[n.name.toString()]=fW(e),t},null!=t?t:{})}(r,i);throw new dW(r)}return r}function gW(t){var e;return null!==(e=t.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function mW(){var t,e;return null!==(e=null===(t=null==uW?void 0:uW.computed)||void 0===t?void 0:t.sequenceValue)&&void 0!==e?e:0}function bW(t){let e=!1;return Gd(t)&&(e=!0),e}function yW(t){return t[aW]}class vW extends Error{constructor(t,e){super(`An argument with the name '${t}' already exists in the method '${e}'`)}}class _W{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(t){var e;return null!==(e=this.payloadMap.get(t))&&void 0!==e?e:null}getArgumentNameByIndex(t){var e;return null!==(e=this.argumentMap.get(t))&&void 0!==e?e:null}createPayloadType(t,e,n){this.checkDuplicateName(t,e),this.payloadMap.set(n,t),this.payloadMap.set(t,t)}createArgumentName(t,e,n){this.checkDuplicateName(t,e),this.argumentMap.set(n,t),this.argumentMap.set(t,t)}checkDuplicateName(t,e){if(eW(this.argumentMap.has(t))||eW(this.payloadMap.has(t)))throw new vW(t,e)}}function wW(t){return Vu()?iW(t):t}function xW(t){return{enumerable:!0,configurable:!0,get(){const e=cW(t),n=hW.ensureMappedState(e.stateMeta);return hW.createStateContext(n)}}}function SW(t){if(!t)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},t),{getState:()=>Vu()?iW(t.getState()):t.getState(),setState(e){t.setState(e)},patchState(e){t.patchState(e)}})}function CW(){return(t,e,n)=>{!function(t,e){if(!function(t,e){var n;let i=t,r=!1;if(rW(i))for(;null!==i;){if(ZG(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(n=Object.getOwnPropertyDescriptor(i,e))||void 0===n?void 0:n.get);break}i=Object.getPrototypeOf(i)}return r}(t,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(t,e);const i=n.get;return n.get=function(...t){const e=function(t){return JG(gW(t))&&Object.defineProperties(t,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),gW(t)}(this),n=null==e?void 0:e.get(i);if(ZG(null==n?void 0:n.isObservable))return null==n?void 0:n.value;if(JG(n)||n.sequenceId!==mW()){e.delete(i);const n=i.apply(this,t);return e.set(i,{value:n,sequenceId:mW(),isObservable:bW(n)}),n}return n.value},n}}const EW={cancelUncompleted:!0,insideZone:!1};function OW(t=EW){return(e,n,i)=>{!function(t,e){if(t.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=n.toString();return i.value=function(...e){const n=this;let i=null;const o=hW.getRepositoryByInstance(n),a=o.operations;let l=a[s];const c=o.stateMeta,u=yW(r);if(JG(l)){const e=function(t){var e,n,i;return null!==(i=null===(n=null===(e=(t+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===n?void 0:n.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),n=function(t){const{statePath:e,argumentsNames:n,methodName:i,argumentRegistry:r}=t;let s="";for(let o=0;o{var s;return ZG(t.insideZone)?null===(s=uW.ngZone)||void 0===s||s.run(()=>{i=r.apply(n,e)}):i=r.apply(n,e),Gd(i)?Dd(null).pipe(D(()=>i)):i};const h=hW.createAction(l,e,u),d=uW.store.dispatch(h);return Gd(i)?function(t,e){return Ev([t,e]).pipe(D(t=>t.pop()))}(d,i):i},i}}function TW(t){return(e,n,i)=>{const r=t.trim();if(!r)throw new Error("Payload name should be initialized");(function(t,e){const n=t[e];return JG(yW(n))&&Object.defineProperties(n,{[aW]:{enumerable:!0,configurable:!0,value:new _W}}),yW(n)})(e,n).createPayloadType(r,n,i)}}function kW(){return t=>{const e=function(t){if(function(t){return!eW(t)}(t.hasOwnProperty(oW))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(t,oW,{value:e})}return function(t){var e;return null===(e=t)||void 0===e?void 0:e[oW]}(t)}(t);if(JG(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(t,e){(function(t){var e;const n=null!==(e=cW(t))&&void 0!==e?e:null;return(JG(n)||(null==n?void 0:n.stateClass)!==t)&&function(t){Object.defineProperty(t,sW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:t}})}(t),cW(t)}(t)).stateMeta=e}(t,e),function(t,e,n){Object.defineProperties(t.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>nW(n)},context:xW(t)})}(t,e,fW(t)),function(t){var e,n;const i=cW(t),r=null!==(n=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==n?n:null;if(tW(r)){const e=`__${r}__selector`;Object.defineProperties(t.prototype,{[e]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(tW(this[e]))return this[e];if(JG(uW.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[e]=uW.store.select(t).pipe(D(t=>Vu()?iW(t):t),xp({refCount:!0,bufferSize:1})),this[e]}}})}}(t)}}let PW=(()=>{class t{constructor(){this.browserStorageEvents$=new A,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var e;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(e=this.ngxsDataDoCheck)||void 0===e||e.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var t;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(t=this.ngxsDataDoCheck)||void 0===t||t.call(this))}markAsDirtyAfterReset(){var t;this.dirty=!0,null===(t=this.ngxsDataAfterReset)||void 0===t||t.call(this)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),AW=(()=>{class t extends PW{get snapshot(){return wW(this.getState())}get ctx(){return SW(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW(),ww("design:type",Object),ww("design:paramtypes",[])],t.prototype,"snapshot",null),vw([OW(),_w(0,TW("patchValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"patchState",null),vw([OW(),_w(0,TW("stateValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"setState",null),vw([OW(),ww("design:type",Function),ww("design:paramtypes",[]),ww("design:returntype",void 0)],t.prototype,"reset",null),t})(),MW=(()=>{class t extends PW{get snapshot(){return wW(this.getState())}get ctx(){return SW(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW(),ww("design:type",Object),ww("design:paramtypes",[])],t.prototype,"snapshot",null),vw([OW(),_w(0,TW("patchValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"patchState",null),vw([OW(),_w(0,TW("stateValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"setState",null),vw([OW(),ww("design:type",Function),ww("design:paramtypes",[]),ww("design:returntype",void 0)],t.prototype,"reset",null),t})();function IW(){return ep(t=>null!=t)}const DW=new oi("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),RW=new oi("ngx-window",{providedIn:"root",factory:()=>function(t){return Yh(t)?window:null}(Oi(hu))}),NW=new oi("ngx-data-layer",{providedIn:"root",factory:()=>function(t){return t?t.dataLayer=t.dataLayer||[]:null}(Oi(RW))}),LW=new oi("ngx-gtag-fn",{providedIn:"root",factory:()=>function(t,e){return t?t.gtag=t.gtag||function(){e.push(arguments)}:null}(Oi(RW),Oi(NW))});let jW=(()=>{class t{constructor(t,e,n){this.settings=t,this._document=e,this._gtag=n}get document(){return this._document}throw(t){(this.settings.enableTracing||Vu())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((t,[e,n])=>Object.defineProperty(t,e,{value:n,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(t=>void 0!==t))}catch(e){this.throw(e)}}event(t,e,n,i,r){try{const s=new Map;e&&s.set("event_category",e),n&&s.set("event_label",n),i&&s.set("value",i),void 0!==r&&s.set("interaction",r);const o=this.toKeyValue(s);o?this.gtag("event",t,o):this.gtag("event",t)}catch(s){this.throw(s)}}pageView(t,e,n,i){try{const r=new Map([["page_path",t]]);e&&r.set("page_title",e),(n||this.document)&&r.set("page_location",n||this.document.location.href),i&&Object.entries(i).map(([t,e])=>r.set(t,e)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(r))}catch(r){this.throw(r)}}appView(t,e,n,i,r){try{const s=new Map([["screen_name",t],["app_name",e]]);n&&s.set("app_id",n),i&&s.set("app_version",i),r&&s.set("app_installer_id",r),this.gtag("event","screen_view",this.toKeyValue(s))}catch(s){this.throw(s)}}set(...t){try{this._gtag("set",...t)}catch(e){this.throw(e)}}exception(t,e){try{const n=new Map;t&&n.set("description",t),e&&n.set("fatal",e),this.toKeyValue(n)?this.gtag("event","exception",this.toKeyValue(n)):this.gtag("event","exception")}catch(n){this.throw(n)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(DW),Ei(th),Ei(LW))},t.\u0275prov=xt({factory:function(){return new t(Ei(DW),Ei(th),Ei(LW))},token:t,providedIn:"root"}),t})();const FW={provide:su,multi:!0,useFactory:function(t,e,n){return()=>xw(this,void 0,void 0,function*(){var i;if(!t.trackingCode)return void(Vu()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(Vu()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));n||Vu()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),t.uri=t.uri||`https://www.googletagmanager.com/gtag/js?id=${t.trackingCode}`,t.initCommands=null!==(i=null==t?void 0:t.initCommands)&&void 0!==i?i:[],t.initCommands.find(t=>"config"===t.command)||t.initCommands.unshift({command:"config",values:[t.trackingCode]}),t.initCommands.find(t=>"js"===t.command)||t.initCommands.unshift({command:"js",values:[new Date]});for(const n of t.initCommands)e(n.command,...n.values);const r=n.createElement("script");r.async=!0,r.src=t.uri,t.nonce&&r.setAttribute("nonce",t.nonce),n.getElementsByTagName("head")[0].appendChild(r)})},deps:[DW,LW,th]};new oi("ngx-google-analytics-routing-settings",{factory:()=>({})});let BW=(()=>{class t{static forRoot(e,n=[],i,r,s){return{ngModule:t,providers:[{provide:DW,useValue:{trackingCode:e,initCommands:n,uri:i,enableTracing:r,nonce:s}},FW]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[]]}),t})(),VW=(()=>{class t{constructor(){this.consent="not-set",this.consentChange=new _p(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),zW=(()=>{class t{constructor(t,e,{trackingCode:n}){this.window=e,this.subscriptions=new g,this.token=n,this.subscriptions.add(t.consentChange.subscribe(t=>this.toggleGoogleAnalytics("rescinded"===t)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(VW),Ei(RW),Ei(DW))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const UW=new oi("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),HW=[VW,zW,(()=>{class t{constructor(t,e){this.key=e,this.subscriptions=new g;try{this.storage=localStorage}catch(n){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(t=>this.saveConsent(t)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,e;const n=null===(e=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===e?void 0:e.call(t,this.key);if(null==n)return"not-set";const i=n.trim().toLowerCase();switch(i){case"given":case"rescinded":return i;default:return"not-set"}}saveConsent(t){var e,n;null===(n=null===(e=this.storage)||void 0===e?void 0:e.setItem)||void 0===n||n.call(e,this.key,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(VW),Ei(UW))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})()];function $W(t){return Object.entries(t).reduce((t,[e,n])=>(null!=n&&(t[e]=`${n}`),t),{})}let GW=(()=>{class t{static forRoot(e){const{providers:n=[]}=BW.forRoot(e.gaToken,function(t){const{appName:e,projectName:n,developmentMode:i}=t;return[{command:"set",values:[$W({appName:e,projectName:n,developmentMode:i})]}]}(e));return{ngModule:t,providers:n}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[...HW,{provide:su,multi:!0,useFactory:()=>()=>{},deps:HW}],imports:[[BW]]}),t})();function WW(t,e,n,i){n&&"function"!=typeof n&&(i=n);const r="function"==typeof n?n:void 0,s=new _p(t,e,i);return t=>rt(()=>s,r)(t)}const qW=(t,e)=>JSON.stringify(t)===JSON.stringify(e),YW=t=>t.map(t=>void 0!==t?JSON.parse(JSON.stringify(t)):t),XW={storageStrategy:class extends class{}{constructor(){super(...arguments),this.cachePairs=[]}add(t,e,n){this.cachePairs.push(t)}addMany(t){this.cachePairs=t}updateAtIndex(t,e){Object.assign(this.cachePairs[t],e)}update(t,e){Object.assign(this.cachePairs[t],e)}getAll(){return this.cachePairs}removeAtIndex(t){this.cachePairs.splice(t,1)}remove(t){this.cachePairs.splice(t,1)}removeAll(){this.cachePairs.length=0}},globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},KW=new A;function QW(t={}){return function(e,n,i){const r=t.cacheKey||e.constructor.name+"#"+n,s=i.value;if(i&&i.value){let e=t.storageStrategy?new t.storageStrategy:new XW.storageStrategy;const n=[];t.cacheModifier&&t.cacheModifier.subscribe(t=>e.addMany(t(e.getAll(r,this)),r,this)),Q(KW.asObservable(),t.cacheBusterObserver?t.cacheBusterObserver:fp()).subscribe(t=>{e.removeAll(r,this),n.length=0}),t.cacheResolver=t.cacheResolver||XW.cacheResolver||qW,t.cacheHasher=t.cacheHasher||XW.cacheHasher||YW,i.value=function(...i){const o=e.getAll(r,this);let a=t.cacheHasher(i),l=o.find(e=>t.cacheResolver(e.parameters,a));const c=n.find(e=>t.cacheResolver(e.parameters,a));if((t.maxAge||XW.maxAge)&&l&&l.created&&((new Date).getTime()-new Date(l.created).getTime()>(t.maxAge||XW.maxAge)?(e.remove?e.remove(o.indexOf(l),l,r,this):e.removeAtIndex(o.indexOf(l),r,this),l=null):(t.slidingExpiration||XW.slidingExpiration)&&(l.created=new Date,e.update?e.update(o.indexOf(l),l,r,this):e.updateAtIndex(o.indexOf(l),l,r,this))),l){const e=Dd(l.response);return t.async?e.pipe(JH(0)):e}if(c)return c.response;{const l=s.call(this,...i).pipe(Av(()=>{const e=n.find(e=>t.cacheResolver(e.parameters,a));n.splice(n.indexOf(e),1)}),eg(n=>{(!t.shouldCacheDecider||t.shouldCacheDecider(n))&&((!(t.maxCacheCount||XW.maxCacheCount)||1===(t.maxCacheCount||XW.maxCacheCount)||(t.maxCacheCount||XW.maxCacheCount)&&(t.maxCacheCount||XW.maxCacheCount)this.isJsonMime(t));return void 0===e?t[0]:e}selectHeaderAccept(t){if(0===t.length)return;const e=t.find(t=>this.isJsonMime(t));return void 0===e?t[0]:e}isJsonMime(t){const e=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==t&&(e.test(t)||"application/json-patch+json"===t.toLowerCase())}lookupCredential(t){const e=this.credentials[t];return"function"==typeof e?e():e}}let eq=(()=>{class t{constructor(t,e,n){this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new Nv,this.configuration=new tq,n&&(this.configuration=n),"string"!=typeof this.configuration.basePath&&("string"!=typeof e&&(e=this.basePath),this.configuration.basePath=e),this.encoder=this.configuration.encoder||new ZW}addToHttpParams(t,e,n){return this.addToHttpParamsRecursive(t,e,n)}addToHttpParamsRecursive(t,e,n){if(null==e)return t;if("object"==typeof e)if(Array.isArray(e))e.forEach(e=>t=this.addToHttpParamsRecursive(t,e,n));else if(e instanceof Date){if(null==n)throw Error("key may not be null if value is Date");t=t.append(n,e.toISOString().substr(0,10))}else Object.keys(e).forEach(i=>t=this.addToHttpParamsRecursive(t,e[i],null!=n?`${n}.${i}`:i));else{if(null==n)throw Error("key may not be null if value is not object or array");t=t.append(n,e)}return t}aggregateResults(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/aggregate-results`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}cellTypeTermOccurences(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-term-occurences`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}cellTypeTreeModel(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-tree-model`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}dbStatus(t,e="body",n=!1,i){const r=t.token;let s=new zv({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"token"));let o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));let l=i&&i.context;void 0===l&&(l=new Uv);let c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/db-status`,{context:l,params:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:e,reportProgress:n})}getSpatialPlacement(t,e="body",n=!1,i){const r=t.getSpatialPlacementRequest;if(null==r)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");let s=this.defaultHeaders,o=i&&i.httpHeaderAccept;void 0===o&&(o=this.configuration.selectHeaderAccept(["application/json"])),void 0!==o&&(s=s.set("Accept",o));let a=i&&i.context;void 0===a&&(a=new Uv);const l=this.configuration.selectHeaderContentType(["application/json"]);void 0!==l&&(s=s.set("Content-Type",l));let c="json";return o&&(c=o.startsWith("text")?"text":this.configuration.isJsonMime(o)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/get-spatial-placement`,r,{context:a,responseType:c,withCredentials:this.configuration.withCredentials,headers:s,observe:e,reportProgress:n})}gtexRuiLocations(t,e="body",n=!1,i){const r=t.cache;let s=new zv({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"cache"));let o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));let l=i&&i.context;void 0===l&&(l=new Uv);let c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/gtex/rui_locations.jsonld`,{context:l,params:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:e,reportProgress:n})}hubmapRuiLocations(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/hubmap/rui_locations.jsonld`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}ontologyTermOccurences(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-term-occurences`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}ontologyTreeModel(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-tree-model`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}providerNames(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/provider-names`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}referenceOrganScene(t,e="body",n=!1,i){const r=t.organIri;if(null==r)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");const s=t.age,o=t.ageRange,a=t.bmi,l=t.bmiRange,c=t.cache,u=t.ontologyTerms,h=t.cellTypeTerms,d=t.providers,p=t.sex,f=t.spatial,g=t.technologies,m=t.token;let b=new zv({encoder:this.encoder});null!=s&&(b=this.addToHttpParams(b,s,"age")),null!=o&&(b=this.addToHttpParams(b,o,"age-range")),null!=a&&(b=this.addToHttpParams(b,a,"bmi")),null!=l&&(b=this.addToHttpParams(b,l,"bmi-range")),null!=c&&(b=this.addToHttpParams(b,c,"cache")),u&&u.forEach(t=>{b=this.addToHttpParams(b,t,"ontology-terms")}),h&&h.forEach(t=>{b=this.addToHttpParams(b,t,"cell-type-terms")}),null!=r&&(b=this.addToHttpParams(b,r,"organ-iri")),d&&d.forEach(t=>{b=this.addToHttpParams(b,t,"providers")}),null!=p&&(b=this.addToHttpParams(b,p,"sex")),f&&f.forEach(t=>{b=this.addToHttpParams(b,t,"spatial")}),g&&g.forEach(t=>{b=this.addToHttpParams(b,t,"technologies")}),null!=m&&(b=this.addToHttpParams(b,m,"token"));let y=this.defaultHeaders,v=i&&i.httpHeaderAccept;void 0===v&&(v=this.configuration.selectHeaderAccept(["application/json"])),void 0!==v&&(y=y.set("Accept",v));let _=i&&i.context;void 0===_&&(_=new Uv);let w="json";return v&&(w=v.startsWith("text")?"text":this.configuration.isJsonMime(v)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organ-scene`,{context:_,params:b,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:e,reportProgress:n})}referenceOrgans(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organs`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}scene(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/scene`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}sparql(t,e="body",n=!1,i){const r=t.query;if(null==r)throw new Error("Required parameter query was null or undefined when calling sparql.");const s=t.token,o=t.format;let a=new zv({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"query")),null!=s&&(a=this.addToHttpParams(a,s,"token")),null!=o&&(a=this.addToHttpParams(a,o,"format"));let l=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==c&&(l=l.set("Accept",c));let u=i&&i.context;void 0===u&&(u=new Uv);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/sparql`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:e,reportProgress:n})}sparqlPost(t,e="body",n=!1,i){const r=t.sparqlQueryRequest;if(null==r)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");const s=t.token,o=t.format;let a=new zv({encoder:this.encoder});null!=s&&(a=this.addToHttpParams(a,s,"token")),null!=o&&(a=this.addToHttpParams(a,o,"format"));let l=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==c&&(l=l.set("Accept",c));let u=i&&i.context;void 0===u&&(u=new Uv);const h=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==h&&(l=l.set("Content-Type",h));let d="json";return c&&(d=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/sparql`,r,{context:u,params:a,responseType:d,withCredentials:this.configuration.withCredentials,headers:l,observe:e,reportProgress:n})}technologyNames(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/technology-names`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}tissueBlocks(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/tissue-blocks`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv),Ei(JW,8),Ei(tq,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Jv),Ei(JW,8),Ei(tq,8))},token:t,providedIn:"root"}),t})(),nq=(()=>{class t{constructor(t,e){if(t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!e)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}static forRoot(e){return{ngModule:t,providers:[{provide:tq,useFactory:e}]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12),Ei(Jv,8))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[],imports:[[]]}),t})();function iq(t){return new Promise((e,n)=>{t.oncomplete=t.onsuccess=()=>e(t.result),t.onabort=t.onerror=()=>n(t.error)})}let rq;function sq(){return rq||(rq=function(t,e){const n=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let t;return new Promise(e=>{const n=()=>indexedDB.databases().finally(e);t=setInterval(n,100),n()}).finally(()=>clearInterval(t))}().then(()=>{const t=indexedDB.open("keyval-store");return t.onupgradeneeded=()=>t.result.createObjectStore(e),iq(t)});return(t,i)=>n.then(n=>i(n.transaction(e,t).objectStore(e)))}(0,"keyval")),rq}function oq(t,e=sq()){return e("readonly",e=>iq(e.get(t)))}var aq=n(88104),lq=n.n(aq),cq=n(71440);const uq="Unknown Euler angle order",hq=.99999;class dq extends rC{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return dq.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(t){return dq.RotationOrders[t]}get ELEMENTS(){return 4}constructor(t=0,e=0,n=0,i=dq.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(t,e,n,i)}fromQuaternion(t){const[e,n,i,r]=t,s=n*n,o=-2*(s+i*i)+1,a=2*(e*n+r*i);let l=-2*(e*i-r*n);l=l>1?1:l,l=l<-1?-1:l;const c=Math.atan2(2*(n*i+r*e),-2*(e*e+s)+1),u=Math.asin(l),h=Math.atan2(a,o);return new dq(c,u,h,dq.RollPitchYaw)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=Number.isFinite(t[3])||this.order,this.check()}set(t=0,e=0,n=0,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=Number.isFinite(i)?i:this[3],this.check()}validate(){return function(t){return t>=0&&t<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t}toArray4(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t[e+3]=this[3],t}toVector3(t=[-0,-0,-0]){return t[0]=this[0],t[1]=this[1],t[2]=this[2],t}get x(){return this[0]}set x(t){this[0]=sC(t)}get y(){return this[1]}set y(t){this[1]=sC(t)}get z(){return this[2]}set z(t){this[2]=sC(t)}get alpha(){return this[0]}set alpha(t){this[0]=sC(t)}get beta(){return this[1]}set beta(t){this[1]=sC(t)}get gamma(){return this[2]}set gamma(t){this[2]=sC(t)}get phi(){return this[0]}set phi(t){this[0]=sC(t)}get theta(){return this[1]}set theta(t){this[1]=sC(t)}get psi(){return this[2]}set psi(t){this[2]=sC(t)}get roll(){return this[0]}set roll(t){this[0]=sC(t)}get pitch(){return this[1]}set pitch(t){this[1]=sC(t)}get yaw(){return this[2]}set yaw(t){this[2]=sC(t)}get order(){return this[3]}set order(t){this[3]=function(t){if(t<0&&t>=6)throw new Error(uq);return t}(t)}fromVector3(t,e){return this.set(t[0],t[1],t[2],Number.isFinite(e)?e:this[3])}fromArray(t,e=0){return this[0]=t[0+e],this[1]=t[1+e],this[2]=t[2+e],void 0!==t[3]&&(this[3]=t[3]),this.check()}fromRollPitchYaw(t,e,n){return this.set(t,e,n,dq.ZYX)}fromRotationMatrix(t,e=dq.DefaultOrder){return this._fromRotationMatrix(t,e),this.check()}getRotationMatrix(t){return this._getRotationMatrix(t)}getQuaternion(){const t=new $N;switch(this[4]){case dq.XYZ:return t.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case dq.YXZ:return t.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case dq.ZXY:return t.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case dq.ZYX:return t.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case dq.YZX:return t.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case dq.XZY:return t.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(uq)}}_fromRotationMatrix(t,e=dq.DefaultOrder){const n=t.elements,i=n[0],r=n[4],s=n[8],o=n[1],a=n[5],l=n[9],c=n[2],u=n[6],h=n[10];switch(e=e||this[3]){case dq.XYZ:this[1]=Math.asin(tC(s,-1,1)),Math.abs(s)1&&void 0!==arguments[1]?arguments[1]:0,n=(xq[t[e+0]]+xq[t[e+1]]+xq[t[e+2]]+xq[t[e+3]]+"-"+xq[t[e+4]]+xq[t[e+5]]+"-"+xq[t[e+6]]+xq[t[e+7]]+"-"+xq[t[e+8]]+xq[t[e+9]]+"-"+xq[t[e+10]]+xq[t[e+11]]+xq[t[e+12]]+xq[t[e+13]]+xq[t[e+14]]+xq[t[e+15]]).toLowerCase();if(!wq(n))throw TypeError("Stringified UUID is invalid");return n}(i)},Eq=n(31609);const Oq=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Tq=(Math,Math,{});function kq(t,{precision:e=Tq.precision||4}={}){return t=function(t){return Math.round(t/Tq.EPSILON)*Tq.EPSILON}(t),"".concat(parseFloat(t.toPrecision(e)))}function Pq(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Aq(t,e,n){const i=Tq.EPSILON;n&&(Tq.EPSILON=n);try{if(t===e)return!0;if(Pq(t)&&Pq(e)){if(t.length!==e.length)return!1;for(let n=0;n0?", ":"")+kq(this[n],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(e,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e=0&&t=0&&t=s+i)return this.clone();if(i>=s+n)return t.clone();const o=.5*(n+s+i);return Uq.copy(r).scale((-n+o)/s).add(e),this.center.copy(Uq),this.radius=o,this}expand(t){const e=(t=zq.from(t)).subtract(this.center).magnitude();return e>this.radius&&(this.radius=e),this}transform(t){this.center.transform(t);const e=function(t,e){var n=e[4],i=e[5],r=e[6],s=e[8],o=e[9],a=e[10];return t[0]=Math.hypot(e[0],e[1],e[2]),t[1]=Math.hypot(n,i,r),t[2]=Math.hypot(s,o,a),t}(zq,t);return this.radius=Math.max(e[0],Math.max(e[1],e[2]))*this.radius,this}distanceSquaredTo(t){const e=this.distanceTo(t);return e*e}distanceTo(t){const e=(t=zq.from(t)).subtract(this.center);return Math.max(0,e.len()-this.radius)}intersectPlane(t){const e=this.radius,n=t.normal.dot(this.center)+t.distance;return n<-e?Oq.OUTSIDE:n0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return kN(this,this,t),this.check()}rotateY(t){return PN(this,this,t),this.check()}rotateZ(t){return AN(this,this,t),this.check()}scale(t){return jN(this,this,t),this.check()}slerp(t,e,n){switch(arguments.length){case 1:({start:t=Kq,target:e,ratio:n}=arguments[0]);break;case 2:[e,n]=arguments,t=this}return IN(this,t,e,n),this.check()}transformVector4(t,e=t){return CT(e,t,this),Rq(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t,e){return this.multiplyLeft(t,e)}multiply(t,e){return this.multiplyRight(t,e)}}const Zq=new Vq,Jq=new Vq,tY=new Vq,eY=new Vq,nY=new Vq,iY=new Vq,rY=new Vq;class sY{constructor(t=[0,0,0],e=[0,0,0,0,0,0,0,0,0]){this.center=(new Vq).from(t),this.halfAxes=new Xq(e)}get halfSize(){const t=this.halfAxes.getColumn(0),e=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new Vq(t).len(),new Vq(e).len(),new Vq(n).len()]}get quaternion(){const t=this.halfAxes.getColumn(0),e=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new Vq(t).normalize(),r=new Vq(e).normalize(),s=new Vq(n).normalize();return(new Qq).fromMatrix3(new Xq([...i,...r,...s]))}fromCenterHalfSizeQuaternion(t,e,n){const i=new Qq(n),r=(new Xq).fromQuaternion(i);return r[0]=r[0]*e[0],r[1]=r[1]*e[0],r[2]=r[2]*e[0],r[3]=r[3]*e[1],r[4]=r[4]*e[1],r[5]=r[5]*e[1],r[6]=r[6]*e[2],r[7]=r[7]*e[2],r[8]=r[8]*e[2],this.center=(new Vq).from(t),this.halfAxes=r,this}clone(){return new sY(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new Hq){const e=this.halfAxes,n=e.getColumn(0,tY),i=e.getColumn(1,eY),r=e.getColumn(2,nY),s=Zq.copy(n).add(i).add(r);return t.center.copy(this.center),t.radius=s.magnitude(),t}intersectPlane(t){const e=this.center,n=t.normal,i=this.halfAxes,r=n.x,s=n.y,o=n.z,a=Math.abs(r*i[0]+s*i[1]+o*i[2])+Math.abs(r*i[3]+s*i[4]+o*i[5])+Math.abs(r*i[6]+s*i[7]+o*i[8]),l=n.dot(e)+t.distance;return l<=-a?Oq.OUTSIDE:l>=a?Oq.INSIDE:Oq.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){const e=Jq.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,tY),r=n.getColumn(1,eY),s=n.getColumn(2,nY),o=i.magnitude(),a=r.magnitude(),l=s.magnitude();i.normalize(),r.normalize(),s.normalize();let c,u=0;return c=Math.abs(e.dot(i))-o,c>0&&(u+=c*c),c=Math.abs(e.dot(r))-a,c>0&&(u+=c*c),c=Math.abs(e.dot(s))-l,c>0&&(u+=c*c),u}computePlaneDistances(t,e,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;const s=this.center,o=this.halfAxes,a=o.getColumn(0,tY),l=o.getColumn(1,eY),c=o.getColumn(2,nY),u=iY.copy(a).add(l).add(c).add(s),h=rY.copy(u).subtract(t);let d=e.dot(h);return i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).add(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).subtract(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).subtract(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).add(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).add(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).subtract(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).subtract(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),n[0]=i,n[1]=r,n}transform(t){this.center.transformAsPoint(t);const e=this.halfAxes.getColumn(0,tY);e.transformAsPoint(t);const n=this.halfAxes.getColumn(1,eY);n.transformAsPoint(t);const i=this.halfAxes.getColumn(2,nY);return i.transformAsPoint(t),this.halfAxes=new Xq([...e,...n,...i]),this}getTransform(){throw new Error("not implemented")}}const oY=new Vq,aY=new Vq;class lY{constructor(t=[0,0,1],e=0){this.normal=new Vq,this.distance=-0,this.fromNormalDistance(t,e)}fromNormalDistance(t,e){return Mq(Number.isFinite(e)),this.normal.from(t).normalize(),this.distance=e,this}fromPointNormal(t,e){t=oY.from(t),this.normal.from(e).normalize();const n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,e,n,i){return this.normal.set(t,e,n),Mq(Aq(this.normal.len(),1)),this.distance=i,this}clone(t){return new lY(this.normal,this.distance)}equals(t){return Aq(this.distance,t.distance)&&Aq(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){const e=aY.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,e)}projectPointOntoPlane(t,e=[0,0,0]){t=oY.from(t);const n=this.getPointDistance(t),i=aY.copy(this.normal).scale(n);return t.subtract(i).to(e)}}function*cY(t,e,n){for(const[i,r]of Object.entries(n))for(const n of(0,cq.readQuads)(t,e,i,null,null)){const t="Literal"===n.object.termType?(0,Eq.fromRdf)(n.object):n.object.id;yield[r,t]}}function uY(t,e,n,i){const r={"@id":e,"@type":n};for(const[s,o]of Object.entries(i))for(const e of(0,cq.readQuads)(t,r["@id"],s,null,null)){const t="Literal"===e.object.termType?(0,Eq.fromRdf)(e.object):e.object.id;r[o]=t}return r}new Vq([1,0,0]),new Vq([0,1,0]),new Vq([0,0,1]),new Vq,new Vq,new lY(new Vq(1,0,0),0),new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,Math,new Xq,new Xq,new Xq,new Xq,new Xq,new Vq,new Vq,new Vq,new Vq,new Vq,new Xq,new Xq,new Xq;const hY=cq.Util.prefixes({base:"http://purl.org/ccf/latest/ccf.owl#",ccf:"http://purl.org/ccf/",fma:"http://purl.org/sig/ont/fma/fma",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/"},cq.DataFactory),dY={x:hY("rdf"),type:hY("rdf")("type")},pY=(hY("rdfs"),hY("rdfs")("label"),hY("rdfs")("comment"),hY("rdfs")("isDefinedBy"),hY("rdfs")("seeAlso"),hY("ccf")),fY={id:hY("ccf")("has_registration_location"),label:hY("rdfs")("label"),description:hY("rdfs")("comment"),link:pY("url"),sex:pY("sex"),age:pY("age"),bmi:pY("bmi"),Male:cq.DataFactory.literal("Male"),Female:cq.DataFactory.literal("Female"),consortiumName:pY("consortium_name"),providerName:pY("tissue_provider_name"),providerUUID:pY("tissue_provider_uuid"),donor:pY("comes_from"),sections:pY("subdivided_into_sections"),datasets:pY("generates_dataset"),sampleType:pY("sample_type"),TissueBlock:cq.DataFactory.literal("Tissue Block"),TissueSection:cq.DataFactory.literal("Tissue Section"),NonStandard:cq.DataFactory.literal("Non-standard"),sectionCount:pY("section_count"),sectionSize:pY("section_size"),sectionUnits:pY("section_size_unit"),sectionNumber:pY("section_number"),spatialEntity:pY("has_registration_location"),ontologyTerms:pY("has_ontology_term"),cellTypeTerms:pY("has_cell_type_term"),technology:pY("technology"),thumbnail:pY("thumbnail")},gY={x:pY,base:hY("base"),ontologyNode:{label:pY("ccf_pref_label"),parent:pY("ccf_part_of"),children:pY("ccf_part_of"),rui_rank:pY("rui_rank"),synonymLabels:cq.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:pY("ccf_part_of"),ct_is_a:pY("ccf_ct_isa"),located_in:pY("ccf_located_in"),characterizes:pY("ccf_characterizes")},spatial:{Female:hY("base")("VHFemale"),Male:hY("base")("VHMale"),BothSexes:hY("base")("VHBothSexes"),FemaleOrgans:hY("base")("VHFemaleOrgans"),MaleOrgans:hY("base")("VHMaleOrgans")},SpatialObjectReference:pY("spatial_object_reference"),SpatialEntity:pY("spatial_entity"),SpatialPlacement:pY("spatial_placement"),spatialObjectReference:{file:pY("file_url"),file_format:pY("file_format"),file_subpath:pY("file_subpath")},extractionSet:{label:hY("rdfs")("label"),rui_rank:pY("rui_rank")},spatialEntity:{label:hY("rdfs")("label"),description:hY("rdfs")("comment"),creator:hY("dcterms")("creator"),creator_first_name:pY("creator_first_name"),creator_last_name:pY("creator_last_name"),creator_orcid:pY("creator_orcid"),creation_date:hY("dcterms")("created"),updated_date:pY("updated_date"),ccf_annotations:pY("collides_with"),representation_of:pY("representation_of"),reference_organ:pY("has_reference_organ"),extraction_set_for:pY("extraction_set_for"),extraction_set:pY("has_extraction_set"),sex:pY("organ_owner_sex"),side:pY("organ_side"),rui_rank:pY("rui_rank"),slice_thickness:pY("slice_thickness"),slice_count:pY("slice_count"),x_dimension:pY("x_dimension"),y_dimension:pY("y_dimension"),z_dimension:pY("z_dimension"),dimension_units:pY("dimension_unit"),object:pY("has_object_reference")},spatialPlacement:{source:pY("placement_for"),target:pY("placement_relative_to"),placement_date:hY("dcterms")("created"),x_scaling:pY("x_scaling"),y_scaling:pY("y_scaling"),z_scaling:pY("z_scaling"),scaling_units:pY("scaling_unit"),x_rotation:pY("x_rotation"),y_rotation:pY("y_rotation"),z_rotation:pY("z_rotation"),w_rotation:pY("theta_rotation"),rotation_order:pY("rotation_order"),rotation_units:pY("rotation_unit"),x_translation:pY("x_translation"),y_translation:pY("y_translation"),z_translation:pY("z_translation"),translation_units:pY("translation_unit")}},mY={x:hY("uberon"),body:hY("uberon")("0013702")},bY={x:hY("cl"),cell:hY("cl")("0000000")},yY={x:hY("fma")},vY=(hY("lmha"),{body:mY.body,cell:bY.cell,respiratory_system:mY.x("0001004"),colon:mY.x("0001155"),left_lung:mY.x("0002168"),right_lung:mY.x("0002167"),left_bronchus:mY.x("0002178"),right_bronchus:mY.x("0002177"),kidney:mY.x("0002113"),ureter:mY.x("0000056"),eye:mY.x("0000970"),fallopian_tube:mY.x("0003889"),knee:mY.x("0001465"),ovary:mY.x("0000992"),trachea:mY.x("0003126"),aorta:mY.x("0000947"),blood:mY.x("0000178"),bone_marrow:mY.x("0002371"),male_reproductive_system:mY.x("0000079"),lymph_node:mY.x("0000029"),blood_vasculature:mY.x("0004537"),brain:mY.x("0000955"),eye_left:mY.x("0004548"),eye_right:yY.x("54449"),fallopian_tube_left:mY.x("0001303"),fallopian_tube_right:mY.x("0001302"),heart:mY.x("0000948"),kidney_left:mY.x("0004538"),kidney_right:mY.x("0004539"),knee_left:yY.x("24978"),knee_right:yY.x("24977"),large_intestine:mY.x("0000059"),liver:mY.x("0002107"),lungs:mY.x("0002048"),mesenteric_lymph_node:mY.x("0002509"),ovary_left:yY.x("7214"),ovary_right:yY.x("7213"),pancreas:mY.x("0001264"),pelvis:mY.x("0001270"),prostate_gland:mY.x("0002367"),skin:mY.x("0002097"),small_intestine:mY.x("0002108"),spleen:mY.x("0002106"),thymus:mY.x("0002370"),ureter_left:mY.x("0001223"),ureter_right:mY.x("0001222"),urinary_bladder:mY.x("0001255"),uterus:mY.x("0000995")});function _Y(t){const e={};return Object.entries(t).forEach(([t,n])=>{e[n.id]=t}),e}const wY={spatialObjectReference:_Y(gY.spatialObjectReference),spatialEntity:_Y(gY.spatialEntity),spatialPlacement:_Y(gY.spatialPlacement)};function xY(t,e){const n=uY(t,e,"ExtractionSet",wY.spatialEntity);return n.extractionSites=(0,bq.sortBy)(t.getSubjects(gY.spatialEntity.extraction_set,e,null).map(e=>SY(t,e.id)),["rui_rank"]),n}function SY(t,e){const n=uY(t,e,"SpatialEntity",wY.spatialEntity);return n.object&&(n.object=function(t,e){return uY(t,e,"SpatialObjectReference",wY.spatialObjectReference)}(t,n.object)),n.ccf_annotations&&(n.ccf_annotations=t.getObjects(e,gY.spatialEntity.ccf_annotations,null).map(t=>t.id)),t.forSubjects(t=>n.entityId=t.id,fY.spatialEntity,e,null),n}function CY(t,e){const n=uY(t,e,"SpatialPlacement",wY.spatialPlacement);return n.source&&(n.source=SY(t,n.source)),n.target&&(n.target=SY(t,n.target)),n}function EY(t,e){const n=e;let i;switch(n.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[n.x_translation,n.y_translation,n.z_translation].map(t=>t*i),s=[n.x_rotation,n.y_rotation,n.z_rotation].map(ZS),o=[n.x_scaling,n.y_scaling,n.z_scaling];return t.translate(r).rotateXYZ(s).scale(o)}class OY{constructor(t){this.db=t,this.createGraph()}createGraph(){this.graph=new fq.DirectedGraph;const t=this.db.store;t.forSubjects(t=>{this.addNode(t.id,"SpatialObjectReference")},dY.type,gY.SpatialObjectReference,null),t.forSubjects(t=>{this.addNode(t.id,"SpatialEntity")},dY.type,gY.SpatialEntity,null);const e={};for(const n of(0,cq.readQuads)(t,null,gY.spatialPlacement.source,null,null))e[n.subject.id]=n.object.id;for(const n of(0,cq.readQuads)(t,null,gY.spatialPlacement.target,null,null)){const t=e[n.subject.id];t&&this.addEdge(n.subject.id,t,n.object.id,"SpatialPlacement")}}addNode(t,e){this.graph.mergeNode(t,{type:e})}addEdge(t,e,n,i){this.graph.mergeDirectedEdge(e,n,{type:i,id:t})}getTransformationMatrix(t,e){if(t===e)return new VT(VT.IDENTITY);if(!this.graph.hasNode(t)||!this.graph.hasNode(e))return;const n=this.db.store,i=new VT(VT.IDENTITY),r=mq()(this.graph,t,e);if(r&&r.length>0){r.reverse();let t="";for(const e of r)t&&EY(i,CY(n,this.graph.getEdgeAttribute(e,t,"id"))),t=e;return i}}getSpatialPlacement(t,e){const n=this.graph.hasNode(t["@id"])?t["@id"]:void 0,i=(0,bq.get)(t,"placement[0]",(0,bq.get)(t,"placement",void 0));let r;if(i&&this.graph.hasNode(i.target)?(r=this.getTransformationMatrix(i.target,e),r&&(r=EY(r,i))):n&&(r=this.getTransformationMatrix(n,e)),r){const n=(new dq).fromRotationMatrix(r,dq.XYZ),i=r.getTranslation().map(t=>1e3*t),s=n.toVector3().map(JS),o=r.getScale().map(t=>t<1&&t>.999999?1:t);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${Cq()}_placement`,"@type":"SpatialPlacement",source:t["@id"],target:e,placement_date:(new Date).toISOString().split("T")[0],x_scaling:o[0],y_scaling:o[1],z_scaling:o[2],scaling_units:"ratio",x_rotation:s[0],y_rotation:s[1],z_rotation:s[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:i[0],y_translation:i[1],z_translation:i[2],translation_units:"millimeter"}}}}class TY{constructor(t){this.db=t}getSpatialEntity(t){return SY(this.db.store,t)}getExtractionSets(t){return function(t,e){return(0,bq.sortBy)(t.getSubjects(gY.spatialEntity.extraction_set_for,e,null).map(e=>xY(t,e.id)),["rui_rank"])}(this.db.store,t)}getExtractionSet(t){return xY(this.db.store,t)}getAnatomicalStructures(t){return function(t,e){return(0,bq.sortBy)(t.getSubjects(gY.spatialEntity.reference_organ,e,null).map(e=>SY(t,e.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,t)}getReferenceOrgans(){return function(t){const e=[];return t.forEach(n=>{n.subject.id===n.object.id&&e.push(SY(t,n.subject.id))},null,gY.spatialEntity.reference_organ,null,null),(0,bq.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(t){let e;switch(null==t?void 0:t.sex){case"Male":e=gY.spatial.Male.id;break;case"Female":e=gY.spatial.Female.id;break;case"Both":default:e=gY.spatial.BothSexes.id}return this.getSpatialEntity(e)}getReferenceOrganSets(t){let e=this.getReferenceOrgans();switch(null==t?void 0:t.sex){case"Male":e=e.filter(t=>"Male"===t.sex);break;case"Female":e=e.filter(t=>"Female"===t.sex)}return(null==t?void 0:t.debug)&&(e=e.map(t=>[[t],this.getAnatomicalStructures(t["@id"])]).reduce((t,[e,n])=>t.concat(n.length>0?n:e),[])),e}getReferenceSceneNodes(t){const e=this.getReferenceBody(t),n=[];let i=[...this.getReferenceOrganSets(t).map(t=>{const i="http://purl.obolibrary.org/obo/UBERON_0002097"===t.representation_of,r=this.getSceneNode(t,e,{color:[255,255,255,255],opacity:i?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!i});return i&&r?void n.push(r):r})];return n.length>0&&(i=[...n,...i]),(null==t?void 0:t.debug)&&(i=i.concat([this.getSceneNode(this.getSpatialEntity(gY.base("VHRightKidney").id),e,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(gY.base("VHLeftKidney").id),e,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(gY.base("VHSpleenCC1").id),e,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(gY.base("VHSpleenCC2").id),e,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(gY.base("VHSpleenCC3").id),e,{color:[0,255,0,127.5],geometry:"wireframe"})])),i.filter(t=>void 0!==t)}getReferenceOrganScene(t,e){var n,i;const r=void 0!==(null==e?void 0:e.sex)&&"both"!==(null===(n=null==e?void 0:e.sex)||void 0===n?void 0:n.toLowerCase()),s=this.getReferenceOrgans().filter(n=>n.representation_of===t&&(!r||n.sex===(null==e?void 0:e.sex)));if(s.length>0){const t=s[0],n=this.getSceneNode(t,t,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===t.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),r=(null!==(i=this.db.getSpatialEntities(e))&&void 0!==i?i:[]).map(e=>this.getSceneNode(e,t,{color:[255,255,255,229.5]}));return[n].concat(r).filter(t=>void 0!==t)}return[]}getEntitySceneNodes(t){const e=this.getReferenceBody(t);return this.db.getSpatialEntities(t).map(t=>this.getSceneNode(t,e,{color:[255,255,255,229.5]})).filter(t=>void 0!==t)}getSceneNode(t,e,n={}){var i,r,s,o;const a=null===(r=null===(i=null==t?void 0:t.object)||void 0===i?void 0:i.file_format)||void 0===r?void 0:r.startsWith("model/gltf");let l=this.db.graph.getTransformationMatrix(a&&t.object?t.object["@id"]:t["@id"],e["@id"]);if(l){if(a)l=new VT(VT.IDENTITY).rotateX(ZS(90)).multiplyLeft(l);else{let e;switch(t.dimension_units){case"centimeter":e=.01;break;case"millimeter":e=.001;break;case"meter":default:e=1}const n=[t.x_dimension,t.y_dimension,t.z_dimension].map(t=>t*e/2);l.scale(n)}return Object.assign({"@id":t["@id"],"@type":"SpatialSceneNode",entityId:t.entityId,ccf_annotations:t.ccf_annotations,representation_of:t.representation_of,reference_organ:t.reference_organ,scenegraph:a?null===(s=t.object)||void 0===s?void 0:s.file:void 0,scenegraphNode:a?null===(o=t.object)||void 0===o?void 0:o.file_subpath:void 0,transformMatrix:l,tooltip:t.label},n)}}getScene(t){return[...this.getReferenceSceneNodes(t),...this.getEntitySceneNodes(t)]}}const kY="https://entity.api.hubmapconsortium.org/entities/",PY=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),AY={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},MY={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},IY="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld";class DY{constructor(t,e="",n="",i){var r,s;if(this.data=t,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const o=this.data.descendants||[],a=(this.data.ancestors||[]).find(t=>"Donor"===t.entity_type);this.donor=this.getDonor(a,n);const l=this.getRuiLocation(t,this.donor);l?this.rui_location=l:this.bad=!0,MY[t.group_uuid]||(MY[t.group_uuid]=t.group_name);const c=new Date(t.last_modified_timestamp).toLocaleDateString(),u=MY[t.group_uuid]||t.group_name,h=t.created_by_user_displayname;this["@id"]=kY+t.uuid,this.label=`Registered ${c}, ${h}, ${u}`,this.link=`${n}browse/sample/${t.uuid}`;const d={},p=[];this.sections=p;const f=[];this.datasets=f;for(const v of o.filter(t=>"Sample"===t.entity_type)){const e=this.getSection(v,t,n);d[v.submission_id]=e,p.push(e),e.section_number=null!==(r=e.section_number)&&void 0!==r?r:p.length}for(const v of o)if("Dataset"===v.entity_type){const t=this.getDataset(v,e,n,i),r=(0,bq.get)(v,["ingest_metadata","metadata","tissue_id"]);d[r]?null===(s=d[r].datasets)||void 0===s||s.push(t):f.push(t)}const g=null!=l?l:{},m=`${g.x_dimension} x ${g.y_dimension} x ${g.z_dimension} ${g.dimension_units}`;this.section_count=g.slice_count||p.length;const b=parseFloat((g.slice_thickness||(g.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=b;const y=g.dimension_units||"millimeter";this.section_units=y,this.description=`${m}, ${b} ${y}, ${this.section_count} Sections`,p.forEach((t,e)=>{t.description=`${g.x_dimension} x ${g.y_dimension} x ${b} ${y}, ${b} ${y}, ${t.description}`,t.section_number=e+1})}getSection(t,e,n){const i=new Date(t.last_modified_timestamp).toLocaleDateString();return{"@id":kY+t.uuid,"@type":"Sample",label:`Registered ${i}, ${t.created_by_user_displayname}, ${MY[t.group_uuid]||t.group_name}`,description:`${e.sample_category}`,link:`${n}browse/sample/${t.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(t,e="",n="",i){var r;const s=new Date(t.last_modified_timestamp).toLocaleDateString(),o=MY[t.group_uuid]||t.group_name,a=t.created_by_user_displayname,l=[...t.data_types,(0,bq.get)(t,["ingest_metadata","metadata","assay_type"],"")],c=l.join("|").toLowerCase();let u,h="assets/icons/ico-unknown.svg";return-1!==c.indexOf("10x")?(u="10x",h="assets/icons/ico-bulk-10x.svg"):-1!==c.indexOf("af")?(u="AF",h="assets/icons/ico-spatial-af.svg"):-1!==c.indexOf("codex")?(u="CODEX",h="assets/icons/ico-spatial-codex.svg"):-1!==c.indexOf("imc")?(u="IMC",h="assets/icons/ico-spatial-imc.svg"):-1!==c.indexOf("lc")&&-1===c.indexOf("af")?(u="LC",h="assets/icons/ico-bulk-lc.svg"):u=-1!==c.indexOf("maldi")?"MALDI":-1!==c.indexOf("pas")?"PAS":"OTHER",h=null!==(r=this.getDatasetThumbnail(t,e,i))&&void 0!==r?r:h,{"@id":kY+t.uuid,"@type":"Dataset",label:`Registered ${s}, ${a}, ${o}`,description:`Data/Assay Types: ${l.join(", ")}`,link:`${n}browse/dataset/${t.uuid}`,technology:u,thumbnail:h}}getDatasetThumbnail(t,e,n){if(t.thumbnail_file){const i=t.thumbnail_file;return`${e}/${i.file_uuid}/${i.filename}`+(n?`?token=${n}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===t.group_uuid){const i=(0,bq.get)(t,"metadata.files",[]).filter(t=>/\.(ome\.tif|ome\.tiff)$/.test(t.rel_path)).filter(t=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(t.rel_path)).filter(t=>PY.has(t.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(i=>`${e}/${t.uuid}/${i.rel_path}`+(n?`?token=${n}`:""));if(i.length>0){const t=i[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(PY.has(t))return`assets/thumbnails/TMC-Vanderbilt/DR1/${t}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===t.group_uuid){const e=AY[t.hubmap_id];if(e)return`assets/thumbnails/TMC-Florida/${e}`}}getDonor(t,e){const n=(t.description||"").toLowerCase();let i;n.includes("female")?i="Female":n.includes("male")&&(i="Male");const r=n.match(/age ([0-9]+)/);let s,o;r&&(s=(0,bq.toNumber)(r[1]));for(const u of(0,bq.get)(t,"metadata.organ_donor_data",(0,bq.get)(t,"metadata.living_donor_data",[])))"Feminine gender"===u.preferred_term||"Female"===u.preferred_term?i="Female":"Masculine gender"===u.preferred_term||"Male"===u.preferred_term?i="Male":"Current chronological age"===u.preferred_term||"Age"===u.preferred_term?s=(0,bq.toNumber)(u.data_value):"Body mass index"===u.preferred_term&&(o=(0,bq.toNumber)(u.data_value));let a="";i&&s&&(a+=`${i}, Age ${s}`,o&&(a+=`, BMI ${o.toFixed(1)}`));const l=new Date(t.last_modified_timestamp).toLocaleDateString(),c=MY[t.group_uuid]||t.group_name;return{"@id":kY+t.uuid,"@type":"Donor",label:a,description:`Entered ${l}, ${t.created_by_user_displayname}, ${c}`,link:`${e}browse/donor/${t.uuid}`,age:s,sex:i,bmi:o,consortium_name:"HuBMAP",provider_name:c,provider_uuid:t.group_uuid,samples:[]}}getRuiLocation(t,e){var n;let i,r=t.rui_location;if(r&&("string"==typeof r&&(r=JSON.parse(r)),r.alignment_id?console.log("Detected a deprecated rui_location",t.uuid):r["@id"]&&(i=r),r["@context"]="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"),i){const t=null!==(n=(0,bq.get)(i,["placement","target"]))&&void 0!==n?n:"";t.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,bq.set)(i,["placement","target"],t.replace("#VHSpleenCC","Male"===e.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===t||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===t)&&(0,bq.set)(i,["placement","target"],"Male"===e.sex?t.replace("#VH","#VHM")+"_Patch":t.replace("#VH","#VHF")+"_Patch")}return i}getTissueBlock(){return(0,bq.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const RY=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.metadata.living_donor_data.preferred_term","ancestors.metadata.living_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","sample_category"],NY={exists:{field:"rui_location"}};function LY(t,e,n){return JSON.stringify({version:!0,from:t,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=n?n:NY,_source:{includes:RY}})}function jY(t,e){return xw(this,void 0,void 0,function*(){try{const n=yield fetch(t,e),i=yield n.text();return n.ok||i.startsWith("https")?i.startsWith("https")?yield fetch(i).then(t=>t.json()):JSON.parse(i):void 0}catch(n){return}})}function FY(t,e,n,i,r="",s=""){return xw(this,void 0,void 0,function*(){let o;if("static"===e?o=yield jY(t):"search-api"===e&&(o=yield function(t,e,n){return xw(this,void 0,void 0,function*(){const i=1e4,r=function(t){const e=new Headers;return e.append("Content-type","application/json"),t&&e.append("Authorization",`Bearer ${t}`),e}(e),s=LY(0,i,n),o=yield jY(t,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let e=i;e!t))return;const u=c.map(t=>t.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(t,i,n)),o)return function(t,e="",n="",i,r=!1){const s={},o=(0,bq.get)(t,"hits.hits",[]).map(t=>(0,bq.get)(t,"_source",{})).sort((t,e)=>t.uuid.localeCompare(e.uuid)).map(t=>new DY(t,e,n,i).toJsonLd());for(const l of o){const t=l["@id"];s[t]?s[t].samples.push(l.samples[0]):s[t]=l}const a=Object.values(s);return r&&(function(t){let e=[],n=0;for(const i of t.filter(t=>t.samples.length>1)){const t=i.samples;for(let i=0;it["@id"]===r)&&(t[i].deleteMe=!0,n++)}i.samples=t.filter(t=>!0!==t.deleteMe)}n>0&&console.log(`\u26a0 ${n} sections identified as blocks`)}(a),console.log(a.map(t=>Object.assign({"@context":IY},t)))),{"@context":IY,"@graph":a}}(o,r,s,i);console.warn(`Unable to load ${t} as HuBMAP Data`)})}function BY(t,e,n){const i=new Set;for(const r of e)for(const e of(0,cq.readQuads)(t,r,n,null,null))i.add(e.object.id);return i}const VY={[gY.spatialEntity.x_dimension.id]:"x",[gY.spatialEntity.y_dimension.id]:"y",[gY.spatialEntity.z_dimension.id]:"z"};function zY(t,e,n,i){const r=e.getTransformationMatrix(n,i);let s;if(r){const e=r.getTranslation(),i=function(t,e){const n=uY(t,e,"Dimensions",VY);return[n.x,n.y,n.z]}(t,n).map(t=>t/1e3/2),o=(new dq).fromRotationMatrix(r,dq.XYZ).toQuaternion().normalize().calculateW();s=(new sY).fromCenterHalfSizeQuaternion(e,i,o)}return s}function UY(t,e,n,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of n){const n=zY(t,e,h,l);n&&n.distanceSquaredTo([r,s,o].map(t=>t/1e3))<=u&&c.add(h)}return c}function HY(t,e,n){var i,r;const s=new Map,o=new Set;for(const c of e)for(const e of(0,cq.readQuads)(t,c,fY.donor,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(c):s.set(e.object.id,[c]);const a=n(o),l=new Set;for(const c of a)for(const t of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(t);return l}function $Y(t,e,n){var i,r;const s=new Map,o=new Set;for(const c of e)for(const e of(0,cq.readQuads)(t,c,fY.spatialEntity,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(c):s.set(e.object.id,[c]);const a=n(o),l=new Set;for(const c of a)for(const t of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(t);return l}function GY(t,e){return function(n){t.has(n.id)&&e.add(n.id)}}function WY(t,e,n){const i=new Set;for(const r of n){const n=cq.DataFactory.namedNode(r);t.forSubjects(GY(e,i),gY.spatialEntity.ccf_annotations,n,null)}return i}function qY(t,e){const n=function(t,e){const n=new Map;for(const i of t)for(const t of(0,cq.readQuads)(e,i,fY.spatialEntity,null,null))n.has(t.object.id)?n.get(t.object.id).add(i):n.set(t.object.id,new Set([i]));return n}(t,e),i=new Map;for(const r of n.keys()){const t=n.get(r);for(const n of(0,cq.readQuads)(e,r,gY.spatialEntity.ccf_annotations,null,null))if(i.has(n.object.id)){const e=i.get(n.object.id);t.forEach(t=>e.add(t))}else i.set(n.object.id,new Set(t))}return i}function YY(t,e,n){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[gY.ontologyNode.label.id]:"label",[n]:"parent",[gY.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of cY(t,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=t.getSubjects(n,e,null).map(t=>t.id),i}function XY(t,e,n,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,cq.readQuads)(t,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=YY(t,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:n,children:[],synonymLabels:[]});const o=t.getSubjects(i,e,null).map(t=>t.id).sort((t,e)=>r.nodes[t].label.localeCompare(r.nodes[e].label));return r.nodes[e].children=o,KY(r),r}function KY(t,e,n=new Set){const i=t.nodes[null!=e?e:t.root];if(i){i.children=i.children.filter(t=>!n.has(t)),i.children.forEach(t=>n.add(t));for(const e of i.children)KY(t,e,n),t.nodes[e]&&(t.nodes[e].parent=i["@id"])}}const QY=(0,bq.memoize)(function(t){const e=XY(t,vY.body.id,"body",gY.asctb.part_of.id);return e.nodes[vY.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),ZY={[fY.label.id]:"label",[fY.description.id]:"description",[fY.link.id]:"link"},JY=Object.assign(Object.assign({},ZY),{[fY.providerName.id]:"providerName"}),tX=Object.assign(Object.assign({},ZY),{[fY.technology.id]:"technology",[fY.thumbnail.id]:"thumbnail"}),eX=Object.assign(Object.assign({},ZY),{[fY.sampleType.id]:"sampleType",[fY.sectionNumber.id]:"sectionNumber",[fY.datasets.id]:"datasets"}),nX=Object.assign(Object.assign({},ZY),{[fY.sampleType.id]:"sampleType",[fY.sectionCount.id]:"sectionCount",[fY.sectionSize.id]:"sectionSize",[fY.sectionUnits.id]:"sectionUnits",[fY.donor.id]:"donor",[fY.spatialEntity.id]:"spatialEntityId",[fY.sections.id]:"sections",[fY.datasets.id]:"datasets"});function iX(t,e){return uY(t,e,"Donor",JY)}function rX(t,e){return uY(t,e,"Dataset",tX)}function sX(t,e){const n={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of cY(t,e,eX))if("datasets"===i){const e=rX(t,r);n[i].push(e)}else n[i]=r;return n}class oX{constructor(t){this.database=t,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const t=Date.now();return this.database.connect().then(t=>xw(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var e;this.status="Error",this.message=null!==(e=null==t?void 0:t.message)&&void 0!==e?e:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-t})}}const aX={"@context":{"@base":"http://purl.org/ccf/","@vocab":"http://purl.org/ccf/",ccf:"http://purl.org/ccf/",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dcterms:"http://purl.org/dc/terms/",label:"rdfs:label",description:"rdfs:comment",link:"ccf:url",sex:"ccf:sex",age:"ccf:age",bmi:"ccf:bmi",consortium_name:"ccf:consortium_name",provider_name:"ccf:tissue_provider_name",provider_uuid:"ccf:tissue_provider_uuid",donor:{"@id":"ccf:comes_from","@type":"@id"},samples:{"@reverse":"donor"},sections:{"@id":"ccf:subdivided_into_sections","@type":"@id"},datasets:{"@id":"ccf:generates_dataset","@type":"@id"},sample_type:"ccf:sample_type",section_count:"ccf:section_count",section_size:"ccf:section_size",section_units:"ccf:section_size_unit",section_number:"ccf:section_number",rui_location:{"@id":"ccf:has_registration_location","@type":"@id"},ccf_annotations:{"@id":"ccf:collides_with","@type":"@id","@container":"@set"},representation_of:{"@id":"ccf:representation_of","@type":"@id"},reference_organ:{"@id":"ccf:has_reference_organ","@type":"@id"},extraction_set_for:{"@id":"ccf:extraction_set_for","@type":"@id"},extraction_set:{"@id":"ccf:has_extraction_set","@type":"@id"},organ_owner_sex:"ccf:organ_owner_sex",side:"ccf:organ_side",rui_rank:"ccf:rui_rank",slice_thickness:"ccf:slice_thickness",slice_count:"ccf:slice_count",object:{"@id":"ccf:has_object_reference","@type":"@id"},creation_date:"dcterms:created",updated_date:"ccf:updated_date",creator:"dcterms:creator",creator_first_name:"ccf:creator_first_name",creator_last_name:"ccf:creator_last_name",placement:{"@reverse":"ccf:placement_for"},placement_date:"dcterms:created",rotation_order:"ccf:rotation_order",dimension_units:"ccf:dimension_unit",rotation_units:"ccf:rotation_unit",scaling_units:"ccf:scaling_unit",translation_units:"ccf:translation_unit",source:{"@id":"ccf:placement_for","@type":"@id"},target:{"@id":"ccf:placement_relative_to","@type":"@id"},x_rotation:"ccf:x_rotation",y_rotation:"ccf:y_rotation",z_rotation:"ccf:z_rotation",x_scaling:"ccf:x_scaling",y_scaling:"ccf:y_scaling",z_scaling:"ccf:z_scaling",x_translation:"ccf:x_translation",y_translation:"ccf:y_translation",z_translation:"ccf:z_translation",x_dimension:"ccf:x_dimension",y_dimension:"ccf:y_dimension",z_dimension:"ccf:z_dimension",ontology_terms:{"@id":"ccf:has_ontology_term","@type":"@id"},technology:"ccf:technology",thumbnail:"ccf:thumbnail",file:"ccf:file_url",file_format:"ccf:file_format",file_subpath:"ccf:file_subpath"}};function lX(t){return JSON.parse(t,(t,e)=>"ccf_annotations"===t&&Array.isArray(e)?e.map(t=>(null==t?void 0:t.startsWith("http://purl.obolibrary.org/obo/FMA_"))?t.replace("http://purl.obolibrary.org/obo/FMA_","http://purl.org/sig/ont/fma/fma"):t):"@context"!==t||!e||"https://hubmapconsortium.github.io/hubmap-ontology/ccf-entity-context.jsonld"!==e&&"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld"!==e&&"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"!==e&&"http://purl.org/ccf/latest/ccf-entity.owl#"!==e["@base"]?e:aX)}const cX={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class uX{constructor(t=cX){this.options=t,this.store=new cq.Store(void 0,{factory:cq.DataFactory}),this.graph=new OY(this),this.scene=new TY(this)}connect(t,e=!1){return xw(this,void 0,void 0,function*(){return t&&(this.options=t),this.initializing||(this.initializing=e?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return xw(this,void 0,void 0,function*(){const t=(new Date).getTime(),e=lq()(this.options,{encoding:"base64",ignoreUnknown:!0,respectType:!1,unorderedArrays:!0,unorderedObjects:!0,unorderedSets:!0}),n=`ccf-database.last_modified.${e}`,i=`ccf-database.${e}`,r=yield oq(n).catch(()=>{});let s;r&&t-new Date(+r).getTime()>36e5?yield function(t,e=sq()){return e("readwrite",e=>(t.forEach(t=>e.delete(t)),iq(e.transaction)))}([i,n]).catch(()=>{}):s=yield oq(i).catch(()=>{}),s?yield this.deserialize(s):(yield this.doConnect(),function(t,e=sq()){return e("readwrite",e=>(t.forEach(t=>e.put(t[1],t[0])),iq(e.transaction)))}([[i,this.serialize()],[n,""+t]]).catch(()=>{}))})}doConnect(){var t,e;return xw(this,void 0,void 0,function*(){const n=[],i=null!==(e=null===(t=this.options.dataSources)||void 0===t?void 0:t.concat())&&void 0!==e?e:[],r=this.options.ccfOwlUrl;if(r.startsWith("{"))this.store=(0,cq.deserializeN3Store)(r,cq.DataFactory);else if(r.endsWith(".n3store.json")){const t=yield fetch(r).then(t=>t.text()).catch(()=>console.log("Couldn't locate serialized store."));t&&(this.store=(0,cq.deserializeN3Store)(t,cq.DataFactory))}else(null==r?void 0:r.length)>0&&i.push(r);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?i.push(this.options.hubmapDataUrl):n.push(FY(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(t=>{if(t)return this.addDataSources([t])}))),n.push(this.addDataSources(i)),yield Promise.all(n),yield this.synchronize()})}addDataSources(t,e){return xw(this,void 0,void 0,function*(){const n=null!=e?e:this.store;return yield Promise.all(t.map(t=>xw(this,void 0,void 0,function*(){"string"==typeof t?(t.startsWith("http")||t.startsWith("assets/"))&&t.includes("jsonld")?(t=lX(t=yield fetch(t).then(t=>t.text())),yield(0,cq.addJsonLdToStore)(t,n)):t.endsWith("n3")?yield(0,cq.addN3ToStore)(t,n):t.endsWith("rdf")||t.endsWith("owl")||t.endsWith("xml")?yield(0,cq.addRdfXmlToStore)(t,n):(t=lX(t),yield(0,cq.addJsonLdToStore)(t,n)):(t=lX(JSON.stringify(t)),yield(0,cq.addJsonLdToStore)(t,n))}))),this})}synchronize(){return xw(this,void 0,void 0,function*(){return yield new Promise(t=>{setTimeout(t,500)}),this.graph.createGraph(),function(t){var e,n,i;const r=QY(t),s=new Map;for(const{subject:o,object:a}of(0,cq.readQuads)(t,null,gY.spatialEntity.representation_of,null,null)){const t=new Set([a.id]);let i=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;i&&!t.has(i);)t.add(i),i=null===(n=r.nodes[i])||void 0===n?void 0:n.parent;s.set(o.id,[...t].map(t=>cq.DataFactory.namedNode(t)))}for(const{object:o}of(0,cq.readQuads)(t,null,fY.spatialEntity,null,null))for(const{subject:e}of(0,cq.readQuads)(t,null,gY.spatialPlacement.source,o,null))for(const{object:n}of(0,cq.readQuads)(t,e,gY.spatialPlacement.target,null,null))for(const e of null!==(i=s.get(n.id))&&void 0!==i?i:[])t.addQuad(cq.DataFactory.namedNode(o.id),gY.spatialEntity.ccf_annotations,e)}(this.store),this})}serialize(){return(0,cq.serializeN3Store)(this.store)}deserialize(t){return xw(this,void 0,void 0,function*(){this.store=(0,cq.deserializeN3Store)(t,cq.DataFactory),this.graph=new OY(this),this.scene=new TY(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(t={}){return function(t,e,n){var i,r,s,o,a,l,c;let u=function(t){const e=new Set;return t.forSubjects(t=>e.add(t.id),fY.spatialEntity,null,null),e}(t);if(u.size>0&&(u=function(t,e,n=!0){const i=new Set;if(t.forSubjects(GY(e,i),fY.spatialEntity,null,null),!n){const t=new Set;return e.forEach(e=>i.has(e)?void 0:t.add(e)),t}return i}(t,u)),u.size>0&&("Male"===n.sex||"Female"===n.sex)){const e=n.sex;u=HY(t,u,n=>function(t,e,n){const i=new Set;return t.forSubjects(GY(e,i),fY.sex,fY[n],null),i}(t,n,e))}if(u.size>0&&(null===(i=n.tmc)||void 0===i?void 0:i.length)>0&&(u=HY(t,u,e=>function(t,e,n){const i=new Set;for(const r of n){const n=cq.DataFactory.literal(r);t.forSubjects(GY(e,i),fY.providerName,n,null)}return i}(t,e,n.tmc))),u.size>0&&(null===(r=n.technologies)||void 0===r?void 0:r.length)>0&&(u=function(t,e,n){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const e of(0,cq.readQuads)(t,u,fY.sections,null,null))a.add(e.object.id);for(const u of a)for(const e of(0,cq.readQuads)(t,u,fY.datasets,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(u):s.set(e.object.id,[u]);const l=n(o),c=new Set;for(const u of l)for(const t of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(t);return c}(t,u,e=>function(t,e,n){const i=new Set;for(const r of n){const n=cq.DataFactory.literal(r);t.forSubjects(GY(e,i),fY.technology,n,null)}return i}(t,e,n.technologies))),u.size>0&&(null===(s=n.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=$Y(t,u,i=>function(t,e,n,i){const r=new Set;for(const s of i)UY(t,e,n,s).forEach(t=>r.add(t));return r}(t,e,i,n.spatialSearches))),u.size>0&&(null===(o=n.ontologyTerms)||void 0===o?void 0:o.length)>0){const e=n.ontologyTerms;-1===e.indexOf(vY.body.id)&&(u=$Y(t,u,n=>WY(t,n,e)))}if(u.size>0&&(null===(a=n.cellTypeTerms)||void 0===a?void 0:a.length)>0){const e=n.cellTypeTerms;-1===e.indexOf(vY.cell.id)&&(u=$Y(t,u,n=>function(t,e,n){const i=new Set;for(const r of n)t.forObjects(t=>{i.add(t.id)},r,gY.asctb.located_in,null),r===vY.cell.id&&i.add(vY.body.id);return WY(t,e,[...i])}(t,n,e)))}if(u.size>0&&2===(null===(l=n.ageRange)||void 0===l?void 0:l.length)&&(0,bq.isFinite)(n.ageRange[0])&&(0,bq.isFinite)(n.ageRange[1])){const e=Math.max(...n.ageRange),i=Math.min(...n.ageRange);1===i&&110===e||(u=HY(t,u,n=>function(t,e,n,i){const r=new Set;for(const s of e)for(const e of(0,cq.readQuads)(t,s,fY.age,null,null)){const t=(0,Eq.fromRdf)(e.object);t>=n&&t<=i&&r.add(s)}return r}(t,n,i,e)))}if(u.size>0&&2===(null===(c=n.bmiRange)||void 0===c?void 0:c.length)&&(0,bq.isFinite)(n.bmiRange[0])&&(0,bq.isFinite)(n.bmiRange[1])){const e=Math.max(...n.bmiRange),i=Math.min(...n.bmiRange);13===i&&83===e||(u=HY(t,u,n=>function(t,e,n,i){const r=new Set;for(const s of e)for(const e of(0,cq.readQuads)(t,s,fY.bmi,null,null)){const t=(0,Eq.fromRdf)(e.object);t>=n&&t<=i&&r.add(s)}return r}(t,n,i,e)))}return u}(this.store,this.graph,t)}get(t){return this.store.getQuads(cq.DataFactory.namedNode(t),null,null,null)}search(t={}){return[...this.getIds(t)].map(t=>this.get(t))}getSpatialEntities(t){return t=Object.assign(Object.assign({},t),{hasSpatialEntity:!0}),[...this.getIds(t)].map(t=>function(t,e){const n=t.getObjects(cq.DataFactory.namedNode(e),fY.spatialEntity,null);if(n.length>0)return SY(t,n[0].id)}(this.store,t))}getDatabaseStatus(){return xw(this,void 0,void 0,function*(){return this.status||(this.status=new oX(this)),this.status.toJson()})}getDatasetTechnologyNames(){return xw(this,void 0,void 0,function*(){return function(t){const e=new Set;for(const n of(0,cq.readQuads)(t,null,fY.technology,null,null))e.add(n.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return xw(this,void 0,void 0,function*(){return function(t){const e=new Set;for(const n of(0,cq.readQuads)(t,null,fY.providerName,null,null))e.add(n.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(t){return xw(this,void 0,void 0,function*(){return t=Object.assign(Object.assign({},t),{hasSpatialEntity:!0}),[...this.getIds(t)].map(t=>function(t,e){const n={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of cY(t,e,nX))if("sections"===i){const e=sX(t,r);n[i].push(e)}else if("datasets"===i){const e=rX(t,r);n[i].push(e)}else n[i]="donor"===i?iX(t,r):r;return n}(this.store,t))})}getAggregateResults(t){return xw(this,void 0,void 0,function*(){return function(t,e){const n=BY(e,t,fY.donor.id),i=BY(e,n,fY.providerUUID.id),r=new Set;for(const a of t)for(const t of(0,cq.readQuads)(e,a,fY.spatialEntity,null,null))r.add(t.subject.id);const s=BY(e,r,fY.sections.id),o=new Set([...BY(e,r,fY.datasets.id),...BY(e,s,fY.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:n.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([t,e])=>({label:t,count:e}))}(this.getIds(t),this.store)})}getOntologyTermOccurences(t){return xw(this,void 0,void 0,function*(){return function(t,e){const n={};return qY(t,e).forEach((t,e)=>{n[e]=t.size}),n}(this.getIds(t),this.store)})}getCellTypeTermOccurences(t){return xw(this,void 0,void 0,function*(){return function(t,e){var n,i;const r=qY(t,e),s=new Map;for(const a of r.keys()){const t=r.get(a);for(const n of(0,cq.readQuads)(e,null,gY.asctb.located_in,a,null)){const e=n.subject.id;if(s.has(e)){const n=s.get(e);t.forEach(t=>n.add(t))}else s.set(e,new Set(t))}}const o={};return s.forEach((t,e)=>{o[e]=t.size}),o[vY.cell.id]=null!==(i=null===(n=r.get(vY.body.id))||void 0===n?void 0:n.size)&&void 0!==i?i:0,o}(this.getIds(t),this.store)})}getOntologyTreeModel(){return xw(this,void 0,void 0,function*(){return QY(this.store)})}getCellTypeTreeModel(){return xw(this,void 0,void 0,function*(){return function(t){return XY(t,vY.cell.id,"cell",gY.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return xw(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(t){return xw(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(t)})}getReferenceOrganScene(t,e){return xw(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(t,e)})}getSpatialPlacement(t,e){return xw(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(t,e)})}}const hX=[240,183,98,255],dX=[213,0,0,255],pX=[29,204,101,255],fX=[41,121,255,255],gX=[204,204,204,255],mX=[213,0,0,255],bX=[29,204,101,255],yX=[41,121,255,255];function vX(t,e=!1){const n=t.x_dimension/1e3,i=t.y_dimension/1e3,r=t.z_dimension/1e3,s=.05*Math.max(n,i,r),o=.1*s;return[{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginSphere","@type":"SpatialSceneNode",unpickable:!0,geometry:"sphere",transformMatrix:new VT(VT.IDENTITY).scale(s),color:gX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginX","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([n/2,0,0]).rotateZ(ZS(-90)).scale([o,n,o]),color:mX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([n,0,0]).rotateZ(ZS(-90)).scale([s,3*s,s]),color:mX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new VT(VT.IDENTITY).translate([2*-s,0,0]).scale(s),color:mX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new VT(VT.IDENTITY).translate([n+2*s,0,0]).scale(s),color:mX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginY","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([0,i/2,0]).scale([o,i,o]),color:bX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([0,i,0]).scale([s,3*s,s]),color:bX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new VT(VT.IDENTITY).translate([1.5*s,1.5*s,0]).scale(s),color:bX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new VT(VT.IDENTITY).translate([0,i+2*s,0]).scale(s),color:bX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r/2]).rotateX(ZS(90)).scale([o,r,o]),color:yX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r]).rotateX(ZS(90)).scale([s,3*s,s]),color:yX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new VT(VT.IDENTITY).translate([1.5*s,1.5*-s,0]).scale(s),color:yX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r+2*s]).scale(s),color:yX}].filter(t=>e&&"text"===t.geometry&&t.text||!t.text)}const _X=Symbol("Comlink.proxy"),wX=Symbol("Comlink.endpoint"),xX=Symbol("Comlink.releaseProxy"),SX=Symbol("Comlink.thrown"),CX=t=>"object"==typeof t&&null!==t||"function"==typeof t,EX=new Map([["proxy",{canHandle:t=>CX(t)&&t[_X],serialize(t){const{port1:e,port2:n}=new MessageChannel;return OX(t,e),[n,[n]]},deserialize:t=>(t.start(),kX(t))}],["throw",{canHandle:t=>CX(t)&&SX in t,serialize({value:t}){let e;return e=t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[e,[]]},deserialize(t){throw t.isError?Object.assign(new Error(t.value.message),t.value):t.value}}]]);function OX(t,e=self){e.addEventListener("message",function n(i){if(!i||!i.data)return;const{id:r,type:s,path:o}=Object.assign({path:[]},i.data),a=(i.data.argumentList||[]).map(NX);let l;try{const e=o.slice(0,-1).reduce((t,e)=>t[e],t),n=o.reduce((t,e)=>t[e],t);switch(s){case"GET":l=n;break;case"SET":e[o.slice(-1)[0]]=NX(i.data.value),l=!0;break;case"APPLY":l=n.apply(e,a);break;case"CONSTRUCT":l=function(t){return Object.assign(t,{[_X]:!0})}(new n(...a));break;case"ENDPOINT":{const{port1:e,port2:n}=new MessageChannel;OX(t,n),l=function(t,e){return DX.set(t,e),t}(e,[e])}break;case"RELEASE":l=void 0;break;default:return}}catch(c){l={value:c,[SX]:0}}Promise.resolve(l).catch(t=>({value:t,[SX]:0})).then(t=>{const[i,o]=RX(t);e.postMessage(Object.assign(Object.assign({},i),{id:r}),o),"RELEASE"===s&&(e.removeEventListener("message",n),TX(e))})}),e.start&&e.start()}function TX(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function kX(t,e){return AX(t,[],e)}function PX(t){if(t)throw new Error("Proxy has been released and is not useable")}function AX(t,e=[],n=function(){}){let i=!1;const r=new Proxy(n,{get(n,s){if(PX(i),s===xX)return()=>LX(t,{type:"RELEASE",path:e.map(t=>t.toString())}).then(()=>{TX(t),i=!0});if("then"===s){if(0===e.length)return{then:()=>r};const n=LX(t,{type:"GET",path:e.map(t=>t.toString())}).then(NX);return n.then.bind(n)}return AX(t,[...e,s])},set(n,r,s){PX(i);const[o,a]=RX(s);return LX(t,{type:"SET",path:[...e,r].map(t=>t.toString()),value:o},a).then(NX)},apply(n,r,s){PX(i);const o=e[e.length-1];if(o===wX)return LX(t,{type:"ENDPOINT"}).then(NX);if("bind"===o)return AX(t,e.slice(0,-1));const[a,l]=IX(s);return LX(t,{type:"APPLY",path:e.map(t=>t.toString()),argumentList:a},l).then(NX)},construct(n,r){PX(i);const[s,o]=IX(r);return LX(t,{type:"CONSTRUCT",path:e.map(t=>t.toString()),argumentList:s},o).then(NX)}});return r}function MX(t){return Array.prototype.concat.apply([],t)}function IX(t){const e=t.map(RX);return[e.map(t=>t[0]),MX(e.map(t=>t[1]))]}const DX=new WeakMap;function RX(t){for(const[e,n]of EX)if(n.canHandle(t)){const[i,r]=n.serialize(t);return[{type:"HANDLER",name:e,value:i},r]}return[{type:"RAW",value:t},DX.get(t)||[]]}function NX(t){switch(t.type){case"HANDLER":return EX.get(t.name).deserialize(t.value);case"RAW":return t.value}}function LX(t,e,n){return new Promise(i=>{const r=new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-");t.addEventListener("message",function e(n){!n.data||!n.data.id||n.data.id!==r||(t.removeEventListener("message",e),i(n.data))}),t.start&&t.start(),t.postMessage(Object.assign({id:r},e),n)})}class jX extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}let FX=null;function BX(t){FX=t}function VX(){if(null===FX)throw new jX;return FX.get(qz)}function zX(){if(null===FX)throw new jX;return FX.get(Tu)}function UX(t,e,n){e.run(()=>t.dispatch(n))}function HX(t,e,n,i){return ha(n)?function(t,e,n){return n.then(n=>(UX(t,e,n),n))}(t,e,n):Gd(n)?function(t,e,n,i){return null!==i&&(n=n.pipe(rp(i.cancelUncompleted$))),n.subscribe({next:n=>UX(t,e,n)}),n}(t,e,n,i):(UX(t,e,n),n)}class $X{constructor(){this.cancelUncompleted$=new A}cancelPreviousAction(){this.cancelUncompleted$.next()}}const GX="\u0275fac",WX=Symbol("InjectorInstance"),qX=Symbol("FactoryHasBeenDecorated");function YX(t,e){const n=t[WX];return n?n.get(e):null}const XX={cancelUncompleted:!1};function KX(t=XX){return(e,n,i)=>{let r;const s=function(t){return t?new $X:null}(t.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const t=YX(this,qz)||VX(),e=YX(this,Tu)||zX(),n=r.apply(this,arguments);return e.runOutsideAngular(()=>HX(t,e,n,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,n,{set:t=>r=t,get:()=>o}),function(t){if(qX in t.constructor.prototype)return;const e=t.constructor;"function"==typeof e[GX]&&function(t){const e=t[GX];if("function"!=typeof e)return;const n=t.\u0275prov||t.\u0275pipe||t.\u0275cmp||t.\u0275dir,i=()=>{const t=e();return t[WX]=ea(_o),t};n&&(n.factory=i),Object.defineProperty(t,GX,{get:()=>i})}(e),t.constructor.prototype[qX]=!0}(e)}}let QX=(()=>{class t{constructor(t){BX(t.injector),t.onDestroy(()=>{BX(null)})}static forRoot(){return{ngModule:t}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hc))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),ZX=(()=>{class t{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(t){this._vertical=kd(t)}get inset(){return this._inset}set inset(t){this._inset=kd(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(t,e){2&t&&(Ko("aria-orientation",e.vertical?"vertical":"horizontal"),ja("mat-divider-vertical",e.vertical)("mat-divider-horizontal",!e.vertical)("mat-divider-inset",e.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(t,e){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),t})(),JX=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();const tK=["*"],eK=[[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]],[["","mat-line",""],["","matLine",""]],"*"],nK=["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]","[mat-line], [matLine]","*"],iK=qy(Xy(class{})),rK=Xy(class{}),sK=new oi("MatList"),oK=new oi("MatNavList");let aK=(()=>{class t extends iK{constructor(t){super(),this._elementRef=t,this._stateChanges=new A,"action-list"===this._getListType()&&t.nativeElement.classList.add("mat-action-list")}_getListType(){const t=this._elementRef.nativeElement.nodeName.toLowerCase();return"mat-list"===t?"list":"mat-action-list"===t?"action-list":null}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al))},t.\u0275cmp=Jt({type:t,selectors:[["mat-list"],["mat-action-list"]],hostAttrs:[1,"mat-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matList"],features:[xl([{provide:sK,useExisting:t}]),jo,ye],ngContentSelectors:tK,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:['.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n'],encapsulation:2,changeDetection:0}),t})(),lK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-list-avatar",""],["","matListAvatar",""]],hostAttrs:[1,"mat-list-avatar"]}),t})(),cK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-list-icon",""],["","matListIcon",""]],hostAttrs:[1,"mat-list-icon"]}),t})(),uK=(()=>{class t extends rK{constructor(t,e,n,i){super(),this._element=t,this._isInteractiveList=!1,this._destroyed=new A,this._disabled=!1,this._isInteractiveList=!!(n||i&&"action-list"===i._getListType()),this._list=n||i;const r=this._getHostElement();"button"===r.nodeName.toLowerCase()&&!r.hasAttribute("type")&&r.setAttribute("type","button"),this._list&&this._list._stateChanges.pipe(rp(this._destroyed)).subscribe(()=>{e.markForCheck()})}get disabled(){return this._disabled||!(!this._list||!this._list.disabled)}set disabled(t){this._disabled=kd(t)}ngAfterContentInit(){!function(t,e,n="mat"){t.changes.pipe(lp(t)).subscribe(({length:t})=>{tv(e,`${n}-2-line`,!1),tv(e,`${n}-3-line`,!1),tv(e,`${n}-multi-line`,!1),2===t||3===t?tv(e,`${n}-${t}-line`,!0):t>3&&tv(e,`${n}-multi-line`,!0)})}(this._lines,this._element)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_isRippleDisabled(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)}_getHostElement(){return this._element.nativeElement}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(oK,8),ea(sK,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,lK,5),Jc(n,cK,5),Jc(n,Jy,5)),2&t){let t;Qc(t=tu())&&(e._avatar=t.first),Qc(t=tu())&&(e._icon=t.first),Qc(t=tu())&&(e._lines=t)}},hostAttrs:[1,"mat-list-item","mat-focus-indicator"],hostVars:6,hostBindings:function(t,e){2&t&&ja("mat-list-item-disabled",e.disabled)("mat-list-item-avatar",e._avatar||e._icon)("mat-list-item-with-avatar",e._avatar||e._icon)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matListItem"],features:[jo],ngContentSelectors:nK,decls:6,vars:2,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-list-text"]],template:function(t,e){1&t&&(wa(eK),ra(0,"div",0),oa(1,"div",1),xa(2),ra(3,"div",2),xa(4,1),sa(),xa(5,2),sa()),2&t&&(ws(1),na("matRippleTrigger",e._getHostElement())("matRippleDisabled",e._isRippleDisabled()))},directives:[cv],encapsulation:2,changeDetection:0}),t})(),hK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[ev,uv,Wy,dv,Wh],ev,Wy,dv,JX]}),t})();const dK=["input"],pK=function(t){return{enterDuration:t}},fK=["*"],gK=new oi("mat-checkbox-default-options",{providedIn:"root",factory:mK});function mK(){return{color:"accent",clickAction:"check-indeterminate"}}let bK=0;const yK=mK(),vK={provide:aU,useExisting:pt(()=>xK),multi:!0};class _K{}const wK=Ky(Yy(Xy(qy(class{constructor(t){this._elementRef=t}}))));let xK=(()=>{class t extends wK{constructor(t,e,n,i,r,s,o){super(t),this._changeDetectorRef=e,this._focusMonitor=n,this._ngZone=i,this._animationMode=s,this._options=o,this.ariaLabel="",this.ariaLabelledby=null,this._uniqueId="mat-checkbox-"+ ++bK,this.id=this._uniqueId,this.labelPosition="after",this.name=null,this.change=new Bc,this.indeterminateChange=new Bc,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||yK,this.color=this.defaultColor=this._options.color||yK.color,this.tabIndex=parseInt(r)||0}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(t){this._required=kd(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{t||Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}ngAfterViewChecked(){}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}get checked(){return this._checked}set checked(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){const e=kd(t);e!==this.disabled&&(this._disabled=e,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(t){const e=t!=this._indeterminate;this._indeterminate=kd(t),e&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(t){this.checked=!!t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(t){let e=this._currentCheckState,n=this._elementRef.nativeElement;if(e!==t&&(this._currentAnimationClass.length>0&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(e,t),this._currentCheckState=t,this._currentAnimationClass.length>0)){n.classList.add(this._currentAnimationClass);const t=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{n.classList.remove(t)},1e3)})}}_emitChangeEvent(){const t=new _K;t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked}_onInputClick(t){var e;const n=null===(e=this._options)||void 0===e?void 0:e.clickAction;t.stopPropagation(),this.disabled||"noop"===n?!this.disabled&&"noop"===n&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==n&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}focus(t,e){t?this._focusMonitor.focusVia(this._inputElement,t,e):this._inputElement.nativeElement.focus(e)}_onInteractionEvent(t){t.stopPropagation()}_getAnimationClassForCheckStateTransition(t,e){if("NoopAnimations"===this._animationMode)return"";let n="";switch(t){case 0:if(1===e)n="unchecked-checked";else{if(3!=e)return"";n="unchecked-indeterminate"}break;case 2:n=1===e?"unchecked-checked":"unchecked-indeterminate";break;case 1:n=2===e?"checked-unchecked":"checked-indeterminate";break;case 3:n=1===e?"indeterminate-checked":"indeterminate-unchecked"}return`mat-checkbox-anim-${n}`}_syncIndeterminate(t){const e=this._inputElement;e&&(e.nativeElement.indeterminate=t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(Ug),ea(Tu),ii("tabindex"),ea(Ny,8),ea(gK,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-checkbox"]],viewQuery:function(t,e){if(1&t&&(Zc(dK,5),Zc(cv,5)),2&t){let t;Qc(t=tu())&&(e._inputElement=t.first),Qc(t=tu())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(t,e){2&t&&(rl("id",e.id),Ko("tabindex",null),ja("mat-checkbox-indeterminate",e.indeterminate)("mat-checkbox-checked",e.checked)("mat-checkbox-disabled",e.disabled)("mat-checkbox-label-before","before"==e.labelPosition)("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[xl([vK]),jo],ngContentSelectors:fK,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(t,e){if(1&t&&(wa(),ra(0,"label",0,1),ra(2,"span",2),ra(3,"input",3,4),fa("change",function(t){return e._onInteractionEvent(t)})("click",function(t){return e._onInputClick(t)}),sa(),ra(5,"span",5),oa(6,"span",6),sa(),oa(7,"span",7),ra(8,"span",8),vn(),ra(9,"svg",9),oa(10,"path",10),sa(),Ve.lFrame.currentNamespace=null,oa(11,"span",11),sa(),sa(),ra(12,"span",12,13),fa("cdkObserveContent",function(){return e._onLabelTextChange()}),ra(14,"span",14),Ja(15,"\xa0"),sa(),xa(16),sa(),sa()),2&t){const t=ta(1),n=ta(13);Ko("for",e.inputId),ws(2),ja("mat-checkbox-inner-container-no-side-margin",!n.textContent||!n.textContent.trim()),ws(1),na("id",e.inputId)("required",e.required)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex),Ko("value",e.value)("name",e.name)("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby)("aria-checked",e._getAriaChecked())("aria-describedby",e.ariaDescribedby),ws(2),na("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",Pc(19,pK,"NoopAnimations"===e._animationMode?0:150))}},directives:[cv,pg],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-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 mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),t})(),SK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),CK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wy,fg,SK],Wy,SK]}),t})();const EK=["bodyCanvas"];let OK=(()=>{class t{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new Bc,this.nodeDrag=new Bc,this.nodeClick=new Bc,this.nodeHoverStart=new Bc,this.nodeHoverStop=new Bc,this.initialized=new Bc,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var e;this._scene=t,null===(e=this.bodyUI)||void 0===e||e.setScene(t)}get rotation(){return this._rotation}set rotation(t){var e;this._rotation=t,null===(e=this.bodyUI)||void 0===e||e.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var e;this._rotationX=t,null===(e=this.bodyUI)||void 0===e||e.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var e;this._zoom=t,null===(e=this.bodyUI)||void 0===e||e.setZoom(t)}get target(){return this._target}set target(t){var e;this._target=t,null===(e=this.bodyUI)||void 0===e||e.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,e={x:48,y:48}){if(this.bodyCanvas){const{width:n,height:i}=this.bodyCanvas.nativeElement,r=window.devicePixelRatio,s=Math.min(Math.log2((n-e.x)/r/t.x),Math.log2((i-e.y)/r/t.y));this.zoom=s}}setupBodyUI(){var t;return xw(this,void 0,void 0,function*(){const e=this.bodyCanvas.nativeElement,n=new BV({id:"body-ui",canvas:e,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});e.addEventListener("contextmenu",t=>t.preventDefault()),yield n.initialize(),this.bodyUI=n,window.bodyUI=n,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(t=>this.rotationChange.next(t)),this.bodyUI.nodeDrag$.subscribe(t=>this.nodeDrag.emit(t)),this.bodyUI.nodeClick$.subscribe(t=>this.nodeClick.emit(t)),this.bodyUI.nodeHoverStart$.subscribe(t=>this.nodeHoverStart.emit(t)),this.bodyUI.nodeHoverStop$.subscribe(t=>this.nodeHoverStop.emit(t))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-body-ui"]],viewQuery:function(t,e){if(1&t&&Zc(EK,5,Al),2&t){let t;Qc(t=tu())&&(e.bodyCanvas=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,e){1&t&&oa(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),t})(),TK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();new oi("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const kK=["carouselContainer"],PK=["itemlist"],AK=["itemcontainer"];function MK(t,e){if(1&t){const t=ua();ra(0,"mat-icon",9),fa("touchstart",function(){return $e(t),va().scroll("left")})("touchend",function(){return $e(t),va().stopScroll()})("click",function(){return $e(t),va().shift("left")})("mousedown",function(){return $e(t),va().scroll("left")})("mouseup",function(){return $e(t),va().stopScroll()}),Ja(1,"chevron_left"),sa()}2&t&&ja("disabled",va().onLeft)}function IK(t,e){if(1&t&&(ra(0,"div",15),Ja(1),sa()),2&t){const t=va().$implicit,e=va();ws(1),tl(e.occurenceData[t.id]||0)}}function DK(t,e){if(1&t){const t=ua();ra(0,"div",10),fa("click",function(){const e=$e(t).$implicit;return va().selectOrgan(e)}),oa(1,"mat-icon",11),ra(2,"div",12),ra(3,"div",13),Ja(4),sa(),Jo(5,IK,2,1,"div",14),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ja("disabled",t.disabled)("selected",n.isSelected(t)),ws(1),Sa("svgIcon",t.src),ws(3),tl(t.name),ws(1),na("ngIf",void 0!==t.numResults)}}function RK(t,e){if(1&t){const t=ua();ra(0,"mat-icon",16),fa("touchstart",function(){return $e(t),va().scroll("right")})("touchend",function(){return $e(t),va().stopScroll()})("click",function(){return $e(t),va().shift("right")})("mousedown",function(){return $e(t),va().scroll("right")})("mouseup",function(){return $e(t),va().stopScroll()}),Ja(1,"chevron_right"),sa()}2&t&&ja("disabled",va().onRight)}const NK=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((t,e)=>t.name.localeCompare(e.name)),LK=NK.filter(t=>!0!==t.disabled);let jK=(()=>{class t{constructor(){this.clsName="ccf-organ-selector",this.multiselect=!1,this.displayErrors=!1,this.organList=LK,this.selectedOrgans=[],this.expanded=!1,this.organsChanged=new Bc,this.onLeft=!0,this.onRight=!1,this.step=72}set occurenceData(t){this._occurenceData=t}get occurenceData(){return this._occurenceData}ngAfterViewInit(){const{carouselContainer:t}=this;this.sensor=new I$.ResizeSensor(t.nativeElement,()=>{this.set()})}ngOnChanges(t){"organList"in t&&this.set()}ngOnDestroy(){this.sensor.detach()}get error(){return!(!this.displayErrors||0===this.selectedOrgans.length)}shift(t){const{itemList:e}=this;let n=parseInt(e.nativeElement.style.left,10)||0;this.onLeft&&"left"===t||this.onRight&&"right"===t||(n="right"===t?n-this.step:n+this.step,e.nativeElement.style.left=n+"px",this.setLeftRight(n))}scroll(t){this.timeoutHandler=setInterval(()=>{this.shift(t)},200)}stopScroll(){this.timeoutHandler&&(clearInterval(this.timeoutHandler),this.timeoutHandler=void 0)}selectOrgan(t){this.selectedOrgans=this.multiselect?this.selectedOrgans.includes(t)?this.selectedOrgans.filter(e=>t!==e):this.selectedOrgans.concat([t]):[t],this.organsChanged.emit(this.selectedOrgans)}isSelected(t){return!!this.selectedOrgans.includes(t)}set(){const{itemList:t,itemContainer:e,carouselContainer:n}=this,i=parseInt(t.nativeElement.style.left,10)||0;if(t.nativeElement.offsetWidth>=this.organList.length*this.step)t.nativeElement.style.left="0px",this.onLeft=!0,this.onRight=!0;else{this.setLeftRight(i);const t=this.step*Math.floor(n.nativeElement.offsetWidth/this.step)-64;e.nativeElement.style.width=`${t}px`}}setWidth(){const{itemContainer:t,carouselContainer:e}=this,n=this.step*Math.floor(e.nativeElement.offsetWidth/this.step)-64;t.nativeElement.style.width=`${n}px`}setLeftRight(t){const{itemContainer:e}=this;this.onLeft=0===t,this.onRight=t<=e.nativeElement.offsetWidth-this.organList.length*this.step}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-organ-selector"]],viewQuery:function(t,e){if(1&t&&(Zc(kK,7),Zc(PK,7),Zc(AK,7)),2&t){let t;Qc(t=tu())&&(e.carouselContainer=t.first),Qc(t=tu())&&(e.itemList=t.first),Qc(t=tu())&&(e.itemContainer=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{multiselect:"multiselect",displayErrors:"displayErrors",organList:"organList",selectedOrgans:"selectedOrgans",expanded:"expanded",occurenceData:"occurenceData"},outputs:{organsChanged:"organsChanged"},features:[ye],decls:9,vars:8,consts:[["matTooltip","Select the organ your tissue block is from.",1,"container",3,"matTooltipDisabled"],["carouselContainer",""],["class","carousel-left-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-item-container"],["itemcontainer",""],[1,"carousel-item-list"],["itemlist",""],["class","carousel-item",3,"disabled","selected","click",4,"ngFor","ngForOf"],["class","carousel-right-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-left-icon",3,"touchstart","touchend","click","mousedown","mouseup"],[1,"carousel-item",3,"click"],[1,"carousel-icon",3,"svgIcon"],[1,"carousel-text-container"],[1,"carousel-text"],["class","num-results",4,"ngIf"],[1,"num-results"],[1,"carousel-right-icon",3,"touchstart","touchend","click","mousedown","mouseup"]],template:function(t,e){1&t&&(ra(0,"div",0,1),Jo(2,MK,2,2,"mat-icon",2),ra(3,"div",3,4),ra(5,"div",5,6),Jo(7,DK,6,7,"div",7),sa(),sa(),Jo(8,RK,2,2,"mat-icon",8),sa()),2&t&&(ja("expanded",e.expanded)("error",e.error),na("matTooltipDisabled",e.multiselect),ws(2),na("ngIf",!e.expanded),ws(5),na("ngForOf",e.organList),ws(1),na("ngIf",!e.expanded))},directives:[gw,Ah,kh,T_],styles:["[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{font-size:2rem;transform:scaleY(1.2);height:2rem;width:2rem;cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon.disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{overflow:hidden;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{position:relative;left:0rem;display:flex;transition:all .2s linear;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer;padding:.25rem .5rem;height:5rem;transition:.6s}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-icon[_ngcontent-%COMP%]{text-align:center;width:3.5rem;height:2rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:4rem;justify-content:center;text-align:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .carousel-text[_ngcontent-%COMP%]{display:flex;justify-content:center;font-size:.625rem;max-width:3.5rem;line-height:.8rem;min-height:1.6rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{font-size:.6875rem;line-height:1.5}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item.disabled[_ngcontent-%COMP%]{pointer-events:none}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;height:1rem}[_nghost-%COMP%] .error-message.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{width:100%!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{flex-wrap:wrap;overflow:auto;left:0rem!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{height:5rem}"]}),t})(),FK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,yw]]}),t})(),BK=(()=>{class t{constructor(){this.clsName="ccf-opacity-slider",this.opacity=20,this.visible=!0,this.opacityChange=new Bc,this.visibilityToggle=new Bc,this.opacityReset=new Bc}ngOnInit(){this.prevOpacity=this.visible?0:20}reset(){this.prevOpacity=20}changeOpacity(t){this.opacity=parseInt(t,10),this.opacityChange.emit(this.opacity)}toggleVisibility(){const t=this.opacity;this.opacity=this.prevOpacity,this.prevOpacity=t,this.visibilityToggle.emit(),this.opacityChange.emit(this.opacity)}resetOpacity(){this.prevOpacity=0,this.opacityReset.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-opacity-slider"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{opacity:"opacity",visible:"visible"},outputs:{opacityChange:"opacityChange",visibilityToggle:"visibilityToggle",opacityReset:"opacityReset"},decls:10,vars:17,consts:[[1,"slider-box"],[1,"slider-and-label"],[1,"slider",3,"step","min","max","value","input"],[1,"opacity-value"],[1,"icons"],["matRipple","","svgIcon","app:visibility_off",1,"visibility","icon","invisible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","","svgIcon","app:visibility_on",1,"visibility","icon","visible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"mat-slider",2),fa("input",function(t){return e.changeOpacity(t.value)}),sa(),ra(3,"span",3),Ja(4),sa(),sa(),ra(5,"div",4),ra(6,"mat-icon",5),fa("click",function(){return e.toggleVisibility()}),sa(),ra(7,"mat-icon",6),fa("click",function(){return e.toggleVisibility()}),sa(),ra(8,"mat-icon",7),fa("click",function(){return e.resetOpacity()}),Ja(9,"refresh"),sa(),sa(),sa()),2&t&&(ws(2),ja("disabled",!e.visible),na("step",1)("min",0)("max",100)("value",e.opacity),ws(2),el("",e.opacity,"%"),ws(2),ja("hidden",e.visible),na("matRippleCentered",!0)("matRippleUnbounded",!0),ws(1),ja("hidden",!e.visible),na("matRippleCentered",!0)("matRippleUnbounded",!0),ws(1),na("matRippleCentered",!0)("matRippleUnbounded",!0))},directives:[F$,T_,cv],styles:["[_nghost-%COMP%]{height:2.25rem;display:flex;align-items:center;justify-content:space-between;border-radius:.1875rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%]{width:60%;display:flex;align-items:center;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .mat-slider-wrapper{top:1.125rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:not-allowed}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .opacity-value[_ngcontent-%COMP%]{width:1.5rem;margin-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{display:flex;cursor:pointer!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{margin-right:1rem;padding:.25rem;cursor:pointer;transition:.6s;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility[_ngcontent-%COMP%]{transition:.6s;cursor:pointer;padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})(),VK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,U$,uv]]}),t})();function zK(t,e){if(1&t&&(ra(0,"div",16),oa(1,"youtube-player",17),sa()),2&t){const t=va(3);ws(1),Sa("videoId",t.videoID)}}function UK(t,e){if(1&t&&(ra(0,"mat-expansion-panel",11),ra(1,"mat-expansion-panel-header"),ra(2,"h2",12),Ja(3),sa(),sa(),ra(4,"div",13),oa(5,"markdown",14),Jo(6,zK,2,1,"div",15),sa(),sa()),2&t){const t=va(),e=t.index,n=t.$implicit;na("expanded",0===e),ws(3),tl(n.title),ws(2),ja("first",0===e),na("data",n.content),ws(1),na("ngIf",0===e)}}function HK(t,e){if(1&t&&(ra(0,"div",9),Jo(1,UK,7,6,"mat-expansion-panel",10),sa()),2&t){const t=e.$implicit;ws(1),na("ngIf",t)}}let $K=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.documentationContents=e.content||[],this.infoTitle=e.title||"",this.videoID=e.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return t.\u0275fac=function(e){return new(e||t)(ea(X$),ea(Q$))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"h2",4),Ja(5),sa(),ra(6,"div",5),ra(7,"mat-icon",6),fa("click",function(){return e.close()}),Ja(8,"clear"),sa(),sa(),sa(),ra(9,"mat-dialog-content",7),Jo(10,HK,2,1,"div",8),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(5),na("ngForOf",e.documentationContents))},directives:[rG,T_,sG,kh,Ah,CG,TG,NG,WG],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),t})(),GK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,oG,k_,kG,KG,LG.forRoot({})]]}),t})(),WK=(()=>{class t{constructor(t){this.http=t,this.panelContent=new Jf({content:[],infoTitle:"",videoID:""})}updateData(t,e,n){this.http.get(t,{responseType:"text"}).subscribe(t=>{const i={content:this.parseMarkdown(t),infoTitle:n,videoID:e};this.panelContent.next(i)})}parseMarkdown(t){const e=[],n=t.split("# ");for(const i of n)if(i.length){const t=i.includes("\n\n")?"\n\n":"\r\n\r\n",n=i.split(t);e.push({title:n[0],content:n.splice(1).join(t)})}return e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),qK=(()=>{class t{constructor(t,e){this.dialog=t,this.infoButtonService=e,this.infoTitle="",this.subscriptions=new g,this.subscriptions.add(e.panelContent.subscribe(t=>{t.content.length&&this.launchInfoDialog(t)}))}ngOnDestroy(){this.subscriptions.unsubscribe()}launchInfoDialog(t){0==this.dialog.openDialogs.length&&this.dialog.open($K,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoButtonService.updateData(this.documentationUrl,this.videoID,this.infoTitle)}}return t.\u0275fac=function(e){return new(e||t)(ea(nG),ea(WK))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-button"]],inputs:{infoTitle:"infoTitle",videoID:"videoID",documentationUrl:"documentationUrl"},decls:3,vars:0,consts:[[1,"info-button-wrapper"],["aria-hidden","false","aria-label","Page information",1,"ccf-info-button",3,"click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"mat-icon",1),fa("click",function(){return e.onDialogButtonClick()}),Ja(2," info "),sa(),sa())},directives:[T_],styles:[".info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.65rem;transition:.6s}.info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.5rem;vertical-align:sub}"]}),t})(),YK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,GK,k_,d_]]}),t})(),XK=(()=>{class t{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Bc,this.closeClicked=new Bc}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"p",4),Ja(5),sa(),ra(6,"mat-icon",5),fa("click",function(){return e.close()}),Ja(7,"clear"),sa(),sa(),oa(8,"img",6),ra(9,"mat-dialog-content",7),ra(10,"div",8),Ja(11),sa(),ra(12,"a",9),fa("click",function(){return e.onDialogButtonClick()}),sa(),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(3),na("src",e.imageUrl,_r),ws(3),el(" ",e.message,""),ws(1),na("text",e.callToAction))},directives:[rG,T_,QG,sG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),t})(),KK=(()=>{let t=class extends MW{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(IW(),xp(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(T$(...t),Wd(),xp(1))}getOption(...t){const e=this.getPathKey(t);if(this.optionCache.has(e))return this.optionCache.get(e);const n=this.config$.pipe(T$(...t),Wd(),xp(1));return this.optionCache.set(e,n),n}getPathKey(t){return`${t.length}:${t.join(".")}`}};return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW()],t.prototype,"config$",null),t=vw([kW(),nU({name:"globalConfig",defaults:null})],t),t})();!function(){const t=localStorage.getItem("ALLOW_TELEMETRY");null===t||t.toLowerCase()}();let QK=(()=>{class t{constructor(t,e){t&&function(t,e){Rd(t,"mousemove").pipe(function(t,e=Xd,n=k$){return i=>i.lift(new P$(t,e,n.leading,n.trailing))}(1e3),D(e=>{const{clientWidth:n,clientHeight:i}=t,{clientX:r,clientY:s}=e;return[r,s,n,i].join("_")})).subscribe(t=>e.event("webpage","mousemove",t))}(t.body,e)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(jW))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function ZK(t,e){if(1&t){const t=ua();ra(0,"button",1),fa("click",function(){return $e(t),va().submit(!0)}),Ja(1),sa()}if(2&t){const t=va();ws(1),el(" ","not-set"===t.allowTelemetry?"I understand":"Opt in","\n")}}function JK(t,e){if(1&t){const t=ua();ra(0,"button",1),fa("click",function(){return $e(t),va().submit(!1)}),Ja(1,"Opt out"),sa()}}let tQ=(()=>{class t{constructor(t,e,n){this.consentService=e,this.data=n,this.clsName="ccf-tracking-popup",this.container=t.nativeElement}get allowTelemetry(){return this.consentService.consent}dismiss(){this.data.preClose()}submit(t){this.consentService.setConsent(t?"given":"rescinded"),this.dismiss()}showButton(t){const{allowTelemetry:e}=this;return"not-set"===e||("opt-in"===t?"rescinded"===e:"given"===e)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(VW),ea(Z_))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tracking-popup"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},decls:4,vars:2,consts:[["mat-button","","color","basic",3,"click",4,"ngIf"],["mat-button","","color","basic",3,"click"]],template:function(t,e){1&t&&(ra(0,"p"),Ja(1,"We log usage to improve this service."),sa(),Jo(2,ZK,2,1,"button",0),Jo(3,JK,2,0,"button",0)),2&t&&(ws(2),na("ngIf",e.showButton("opt-in")),ws(1),na("ngIf",e.showButton("opt-out")))},directives:[Ah,R_],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-width:400px;color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:9999}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:24px}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin:1rem;min-width:6rem;background-color:#007cbe;display:flex;justify-content:center}"],changeDetection:0}),t})(),eQ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_]]}),t})();class nQ extends class{getDatabaseStatus(){return this.forwardCall("getDatabaseStatus")}getProviderNames(){return this.forwardCall("getProviderNames")}getDatasetTechnologyNames(){return this.forwardCall("getDatasetTechnologyNames")}getOntologyTreeModel(){return this.forwardCall("getOntologyTreeModel")}getCellTypeTreeModel(){return this.forwardCall("getCellTypeTreeModel")}getReferenceOrgans(){return this.forwardCall("getReferenceOrgans")}getTissueBlockResults(t){return this.forwardCall("getTissueBlockResults",t)}getAggregateResults(t){return this.forwardCall("getAggregateResults",t)}getOntologyTermOccurences(t){return this.forwardCall("getOntologyTermOccurences",t)}getCellTypeTermOccurences(t){return this.forwardCall("getCellTypeTermOccurences",t)}getScene(t){return this.forwardCall("getScene",t)}getReferenceOrganScene(t,e){return this.forwardCall("getReferenceOrganScene",t,e)}}{forwardCall(t,...e){return this.impl$.pipe(cp(n=>n[t](...e)))}}let iQ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const rQ=new A,sQ={cacheBusterObserver:rQ},oQ={cacheBusterObserver:rQ,maxCacheCount:4};function aQ(t,e,n){return t?{min:t[0]>e?t[0]:void 0,max:t[1]{var e;return Object.assign(Object.assign({},t),{transformMatrix:new VT(null!==(e=t.transformMatrix)&&void 0!==e?e:[])})})}let cQ=(()=>{class t{constructor(t,e){this.api=t,this.globalConfig=e,e.getOption("hubmapToken").subscribe(rQ)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},t=>t)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},t=>t)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},t=>t)}getTissueBlockResults(t){return this.doRequest(t=>this.api.tissueBlocks(t),t,{},t=>t)}getAggregateResults(t){return this.doRequest(t=>this.api.aggregateResults(t),t)}getOntologyTermOccurences(t){return this.doRequest(t=>this.api.ontologyTermOccurences(t),t)}getCellTypeTermOccurences(t){return this.doRequest(t=>this.api.cellTypeTermOccurences(t),t)}getScene(t){return this.doRequest(t=>this.api.scene(t),t,{},lQ)}getReferenceOrganScene(t,e){return this.doRequest(t=>this.api.referenceOrganScene(t),e,{organIri:t},lQ)}doRequest(t,e,n,i){const{api:r,globalConfig:s}=this,o=Object.assign(Object.assign({},function(t){var e,n;return{age:aQ(null==t?void 0:t.ageRange,1,110),bmi:aQ(null==t?void 0:t.bmiRange,13,83),sex:null===(n=null===(e=null==t?void 0:t.sex)||void 0===e?void 0:e.toLowerCase)||void 0===n?void 0:n.call(e),ontologyTerms:null==t?void 0:t.ontologyTerms,cellTypeTerms:null==t?void 0:t.cellTypeTerms,providers:null==t?void 0:t.tmc,technologies:null==t?void 0:t.technologies,spatial:null==t?void 0:t.spatialSearches}}(e)),n);return z_([s.getOption("remoteApiEndpoint"),s.getOption("hubmapToken")]).pipe(rf(1),eg(([t,e])=>{r.configuration.basePath=t,e&&(o.token=e)}),cp(()=>t(o)),D(t=>i?i(t):t))}}return t.\u0275fac=function(e){return new(e||t)(Ei(eq),Ei(KK))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),vw([QW(sQ)],t.prototype,"getProviderNames",null),vw([QW(sQ)],t.prototype,"getDatasetTechnologyNames",null),vw([QW(sQ)],t.prototype,"getOntologyTreeModel",null),vw([QW(sQ)],t.prototype,"getCellTypeTreeModel",null),vw([QW(sQ)],t.prototype,"getReferenceOrgans",null),vw([QW(oQ)],t.prototype,"getTissueBlockResults",null),vw([QW(oQ)],t.prototype,"getAggregateResults",null),vw([QW(oQ)],t.prototype,"getOntologyTermOccurences",null),vw([QW(oQ)],t.prototype,"getCellTypeTermOccurences",null),vw([QW(oQ)],t.prototype,"getScene",null),vw([QW(oQ)],t.prototype,"getReferenceOrganScene",null),t})(),uQ=(()=>{class t extends nQ{constructor(t){super(),this.impl$=this.database$=t.config$.pipe(t=>t,ep(t=>Object.keys(t).length>0),cp(t=>function(t,e){return new E(n=>{let i,r;try{i=t()}catch(o){return void n.error(o)}try{r=e(i)}catch(o){return void n.error(o)}const s=(r?U(r):pp).subscribe(n);return()=>{s.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDatabase(t),e=>this.connectDatabase(e,t))),D(t=>t.database),xp(1))}connectDatabase(t,e){return xw(this,void 0,void 0,function*(){const n=!Vu();return yield t.database.connect(e,n),t})}}return t.\u0275fac=function(e){return new(e||t)(Ei(KK))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),hQ=(()=>{class t extends uQ{createDatabase(t){return{database:new uX(t),unsubscribe:()=>{}}}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),dQ=(()=>{class t extends uQ{createDatabase(t){const e=this.createWorker(t),n=kX(e);return{database:n,unsubscribe:()=>{n[xX](),e.terminate()}}}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),pQ=(()=>{class t extends nQ{constructor(t,e){super(),this.impl$=t.config$.pipe(t=>t,D(t=>this.selectToken(t)),Wd(),D(t=>e.get(t)),xp(1))}}return t.\u0275fac=function(e){return new(e||t)(Ei(KK),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),fQ=(()=>{class t{}return t.type="[CallToAction] Learn More",t})(),gQ=(()=>{class t{}return t.type="[CallToAction] Open Dialog",t})(),mQ=(()=>{class t{}return t.type="[CallToAction] Close Dialog",t})();var bQ;class yQ{get length(){var t,e;return null!==(e=null===(t=yQ.storage)||void 0===t?void 0:t.length)&&void 0!==e?e:0}key(t){var e,n;return null!==(n=null===(e=yQ.storage)||void 0===e?void 0:e.key(t))&&void 0!==n?n:null}getItem(t,e){var n,i,r;return null!==(r=null!==(i=null===(n=yQ.storage)||void 0===n?void 0:n.getItem(t))&&void 0!==i?i:e)&&void 0!==r?r:null}setItem(t,e){var n;try{return null===(n=yQ.storage)||void 0===n||n.setItem(t,e),!0}catch(i){return!1}}removeItem(t){var e;null===(e=yQ.storage)||void 0===e||e.removeItem(t)}clear(){var t;null===(t=yQ.storage)||void 0===t||t.clear()}}yQ.storage=(()=>{let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),t}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length?t:void 0}})(),yQ.\u0275fac=function(t){return new(t||yQ)},yQ.\u0275prov=xt({token:yQ,factory:yQ.\u0275fac,providedIn:"root"});const vQ="callToActionPopupShown";let _Q=bQ=class{constructor(t,e,n,i,r){this.dialog=t,this.ga=e,this.storage=n,this.infoService=i,this.http=r}static ctaDatePassed(t,e=Date.now){return+e()>+new Date(t)}ngxsOnInit(t){const{expirationDate:e,popupShown:n}=t.getState(),i=this.storage.getItem(vQ,`${n}`),r=bQ.ctaDatePassed(e);"true"!==i&&!r&&t.dispatch(new gQ)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(D(t=>this.infoService.parseMarkdown(t)))}launchLearnMore(t){this.dialog.open($K,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:t,videoID:"UfxMpzatowE"}})}learnMore(t){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(eg(t=>this.launchLearnMore(t)))}open(t){this.dialog.open(xQ,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(vQ,"true"),t.patchState({popupShown:!0})}close(t){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};_Q.\u0275fac=function(t){return new(t||_Q)(Ei(nG),Ei(jW),Ei(yQ),Ei(WK),Ei(Jv))},_Q.\u0275prov=xt({token:_Q,factory:_Q.\u0275fac}),vw([eU(fQ)],_Q.prototype,"learnMore",null),vw([eU(gQ)],_Q.prototype,"open",null),vw([eU(mQ)],_Q.prototype,"close",null),_Q=bQ=vw([nU({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],_Q);let wQ=(()=>{class t{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return vw([rU([_Q])],t,"title",null),vw([rU([_Q])],t,"message",null),vw([rU([_Q])],t,"callToAction",null),vw([rU([_Q])],t,"imageUrl",null),vw([rU([_Q])],t,"expirationDate",null),vw([rU([_Q])],t,"popupShown",null),t})(),xQ=(()=>{class t{constructor(){this.close=()=>new mQ,this.learnMore=()=>new fQ}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-call-to-action",0),fa("callToActionClicked",function(){return e.learnMore()})("closeClicked",function(){return e.close()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),sa()),2&t&&na("infoTitle",Rc(1,4,e.title$))("message",Rc(2,6,e.message$))("callToAction",Rc(3,8,e.callToAction$))("imageUrl",Rc(4,10,e.imageUrl$))},directives:[XK],pipes:[$h],styles:[""],changeDetection:0}),vw([iU(wQ.title)],t.prototype,"title$",void 0),vw([iU(wQ.message)],t.prototype,"message$",void 0),vw([iU(wQ.callToAction)],t.prototype,"callToAction$",void 0),vw([iU(wQ.imageUrl)],t.prototype,"imageUrl$",void 0),vw([KX()],t.prototype,"close",void 0),vw([KX()],t.prototype,"learnMore",void 0),t})();function SQ(t,e){if(1&t&&(ra(0,"div",3),Ja(1),sa()),2&t){const t=va();ws(1),el(" ",t.label,"\n")}}function CQ(t,e){if(1&t){const t=ua();ra(0,"mat-list-item",4),ra(1,"div",5),ra(2,"mat-checkbox",6),fa("change",function(e){const n=$e(t).index;return va().updateItemSelection(n,e.checked)}),Ja(3),sa(),oa(4,"div",7),ra(5,"button",8),fa("click",function(){const e=$e(t).index;return va().removeItem(e)}),ra(6,"mat-icon"),Ja(7,"delete_outlined"),sa(),sa(),sa(),sa()}if(2&t){const t=e.$implicit;ws(2),na("checked",t.selected),ws(1),el(" ",t.description," ")}}let EQ=(()=>{class t{constructor(){this.clsName="ccf-spatial-search-list",this.label="",this.items=[],this.selectionChanged=new Bc,this.itemRemoved=new Bc}itemId(t,e){return e.description}updateItemSelection(t,e){const n=this.items=[...this.items];n[t]=Object.assign(Object.assign({},n[t]),{selected:e});const i=n.filter(t=>t.selected);this.selectionChanged.emit(i)}removeItem(t){const e=this.items=[...this.items],[n]=e.splice(t,1);this.itemRemoved.emit(n)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{label:"label",items:"items"},outputs:{selectionChanged:"selectionChanged",itemRemoved:"itemRemoved"},decls:3,vars:3,consts:[["class","label",4,"ngIf"],[1,"list"],["class","item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"label"],[1,"item"],[1,"item-content"],["labelPosition","after",1,"description",3,"checked","change"],[1,"filler"],["mat-icon-button","",1,"delete",3,"click"]],template:function(t,e){1&t&&(Jo(0,SQ,2,1,"div",0),ra(1,"mat-list",1),Jo(2,CQ,8,2,"mat-list-item",2),sa()),2&t&&(na("ngIf",e.label),ws(2),na("ngForOf",e.items)("ngForTrackBy",e.itemId))},directives:[Ah,aK,kh,uK,xK,R_,T_],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}[_nghost-%COMP%] .item[_ngcontent-%COMP%]{height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .delete[_ngcontent-%COMP%]{width:2rem;height:2rem;line-height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}[_nghost-%COMP%] .item[_ngcontent-%COMP%] > *{padding:0!important}"],changeDetection:0}),t})(),OQ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,CK,k_,hK]]}),t})(),TQ=(()=>{class t{constructor(){this.clsName="ccf-xyz-position",this.x=0,this.y=0,this.z=0,this.format="1.0-2"}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-xyz-position"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{x:"x",y:"y",z:"z"},decls:9,vars:12,consts:[[1,"line"]],template:function(t,e){1&t&&(ra(0,"span",0),Ja(1),Dc(2,"number"),sa(),ra(3,"span",0),Ja(4),Dc(5,"number"),sa(),ra(6,"span",0),Ja(7),Dc(8,"number"),sa()),2&t&&(ws(1),el("X: ",Nc(2,3,e.x,e.format),""),ws(3),el("Y: ",Nc(5,6,e.y,e.format),""),ws(3),el("Z: ",Nc(8,9,e.z,e.format),""))},pipes:[Gh],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .line[_ngcontent-%COMP%]{font-size:1rem;font-weight:400}"],changeDetection:0}),t})(),kQ=(()=>{class t extends Tf{constructor(){super(...arguments),this.attached=!1}setRootElement(t){this.attached&&(this.rootElement.nativeElement.removeChild(this._containerElement),this.attached=!1),this.rootElement=t,this.rootElement.nativeElement.style.display="block",this.rootElement.nativeElement.style.position="contents",this.rootElement.nativeElement.style.height="100%",this.appendToRoot()}_createContainer(){super._createContainer(),this.appendToRoot()}appendToRoot(){!this._containerElement||!this.rootElement||(this.rootElement.nativeElement.appendChild(this._containerElement),this.attached=!0)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const PQ=new oi("Default theme class");let AQ=(()=>{class t{constructor(t){this.defaultTheme=this.theme=null!=t?t:""}static initialize(e){const{injector:n,location:i}=e;n.get(t).initialize(i,n)}getTheme(){return this.theme}setTheme(t){t!==this.theme&&(this.applyThemeClass(this.theme,"remove"),this.applyThemeClass(t),this.theme=t)}resetTheme(){this.setTheme(this.defaultTheme)}initialize(t,e){this.element=t,this.injector=e,this.applyThemeClass(this.getTheme())}applyThemeClass(t,e="add"){var n;const{element:i,injector:r}=this;if(!t||!i||!r)return;const s=r.get(Dl,null);if(!s)return;const o=i.nativeElement,a=null===(n=r.get(Tf,null))||void 0===n?void 0:n.getContainerElement(),l="add"===e?"addClass":"removeClass";s[l](o,t),a&&s[l](a,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(PQ,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const MQ={initialConfig:{},parse:{},rename:{}};class IQ{constructor(t,e){this.configState=t,this.storedChanges={},this.options=Object.assign(Object.assign({},MQ),e)}addChanges(t){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),t)}applyChanges(t,e={}){void 0===t&&(t=this.storedChanges,this.storedChanges={});const{configState:n,options:{initialConfig:i}}=this,r=n.snapshot,s=Object.assign(Object.assign(Object.assign({},i),r),e);for(const[o,a]of Object.entries(t))this.processChange(o,a,s);n.setConfig(s)}processChange(t,e,n){var i,r;const{options:{parse:s,rename:o}}=this,a=null!==(i=o[t])&&void 0!==i?i:t,l=e.currentValue,c=null!==(r=s[t])&&void 0!==r?r:s[a];if(null==l)delete n[a];else if(c)try{n[a]=c(l)}catch(u){console.warn(`Failed to parse ${t} = ${l}`,u.message)}else n[a]=l}}let DQ=(()=>{class t{constructor(t,e,n={}){this.configState=t,this.cdr=e,this.options=n,this.initialized=!1,this.configManager=new IQ(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return t.\u0275fac=function(t){!function(){throw new Error("invalid")}()},t.\u0275dir=se({type:t,features:[ye]}),t})();const RQ={boolean:t=>"false"!=`${t}`,json:t=>"string"==typeof t?JSON.parse(t):t,function:t=>{if("function"!=typeof t)throw new Error("Expected a javascript function");return t}};var NQ;const LQ={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://ccf-api.hubmapconsortium.org/v1/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld",dataSources:["assets/kpmp/data/rui_locations.jsonld","assets/sparc/data/rui_locations.jsonld","assets/gtex/data/rui_locations.jsonld","assets/sea-ad/data/rui_locations.jsonld","assets/allen-institute/data/rui_locations.jsonld"],hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"https://search.api.hubmapconsortium.org/v3/entities/search",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==(NQ=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==NQ?NQ:"",useRemoteApi:!1,remoteApiEndpoint:"https://ccf-api.hubmapconsortium.org/v1"},customization:{theme:"hubmap",header:!0,homeUrl:"https://portal.hubmapconsortium.org/",logoTooltip:"Human BioMolecular Atlas Project"},googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};function jQ(t){return(...e)=>new t(...e)}function FQ(t,e){return n=>n.lift(new BQ(t,e))}class BQ{constructor(t,e){this.keySelector=t,this.flushes=e}call(t,e){return e.subscribe(new VQ(t,this.keySelector,this.flushes))}}class VQ extends ${constructor(t,e,n){super(t),this.keySelector=e,this.values=new Set,n&&this.add(G(n,new H(this)))}notifyNext(){this.values.clear()}notifyError(t){this._error(t)}_next(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)}_useKeySelector(t){let e;const{destination:n}=this;try{e=this.keySelector(t)}catch(i){return void n.error(i)}this._finalizeNext(e,t)}_finalizeNext(t,e){const{values:n}=this;n.has(t)||(n.add(t),this.destination.next(e))}}class zQ{constructor(t,e){this.count=t,this.source=e}call(t,e){return e.subscribe(new UQ(t,this.count,this.source))}}class UQ extends v{constructor(t,e,n){super(t),this.count=e,this.source=n}complete(){if(!this.isStopped){const{source:t,count:e}=this;if(0===e)return super.complete();e>-1&&(this.count=e-1),t.subscribe(this._unsubscribeAndRecycle())}}}let HQ=(()=>{class t{constructor(t){this.filter=t}}return t.type="[DataState] Update filter",t})();const $Q={sex:"Both",ageRange:[1,110],bmiRange:[13,83],tmc:[],technologies:[],ontologyTerms:["http://purl.obolibrary.org/obo/UBERON_0013702"],cellTypeTerms:["http://purl.obolibrary.org/obo/CL_0000000"],spatialSearches:[]};var GQ=(()=>(function(t){t.Running="running",t.Completed="completed"}(GQ||(GQ={})),GQ))();function WQ(t){return()=>t.next(GQ.Completed)}function qQ(t,e){return n=>n.pipe(cp(t),eg(e),WW(1),Z())}let YQ=class extends AW{constructor(t){super(),this.source=t,this.databaseReady$=this.state$.pipe(T$("status"),FQ(),ep(t=>"Ready"===t)),this._tissueBlockDataQueryStatus$=new _p(1),this._aggregateDataQueryStatus$=new _p(1),this._ontologyTermOccurencesDataQueryStatus$=new _p(1),this._cellTypeTermOccurencesDataQueryStatus$=new _p(1),this._sceneDataQueryStatus$=new _p(1),this._technologyFilterQueryStatus$=new _p(1),this._providerFilterQueryStatus$=new _p(1),this.ontologyTermsFullData$=new _p(1),this.cellTypeTermsFullData$=new _p(1),this.filter$=this.state$.pipe(T$("filter")),this.tissueBlockData$=this.filter$.pipe(qQ(this.tissueBlockData,WQ(this._tissueBlockDataQueryStatus$))),this.aggregateData$=this.filter$.pipe(qQ(this.aggregateData,WQ(this._aggregateDataQueryStatus$))),this.ontologyTermOccurencesData$=this.filter$.pipe(qQ(this.ontologyTermOccurencesData,WQ(this._ontologyTermOccurencesDataQueryStatus$))),this.cellTypeTermOccurencesData$=this.filter$.pipe(qQ(this.cellTypeTermOccurencesData,WQ(this._cellTypeTermOccurencesDataQueryStatus$))),this.sceneData$=this.filter$.pipe(qQ(this.sceneData,WQ(this._sceneDataQueryStatus$))),this.technologyFilterData$=this.filter$.pipe(qQ(this.technologyFilterData,WQ(this._technologyFilterQueryStatus$))),this.providerFilterData$=this.filter$.pipe(qQ(this.providerFilterData,WQ(this._providerFilterQueryStatus$))),this.tissueBlockDataQueryStatus$=this._tissueBlockDataQueryStatus$.pipe(FQ()),this.aggregateDataQueryStatus$=this._aggregateDataQueryStatus$.pipe(FQ()),this.ontologyTermOccurencesDataQueryStatus$=this._ontologyTermOccurencesDataQueryStatus$.pipe(FQ()),this.cellTypeTermOccurencesDataQueryStatus$=this._cellTypeTermOccurencesDataQueryStatus$.pipe(FQ()),this.sceneDataQueryStatus$=this._sceneDataQueryStatus$.pipe(FQ()),this.technologyFilterQueryStatus$=this._technologyFilterQueryStatus$.pipe(FQ()),this.providerFilterQueryStatus$=this._providerFilterQueryStatus$.pipe(FQ()),this.queryStatus$=z_([this.tissueBlockDataQueryStatus$,this.aggregateDataQueryStatus$,this.ontologyTermOccurencesDataQueryStatus$,this.cellTypeTermOccurencesDataQueryStatus$,this.sceneDataQueryStatus$,this.technologyFilterQueryStatus$,this.providerFilterQueryStatus$]).pipe(D(t=>function(t){return t.every(t=>t===GQ.Completed)}(t)?GQ.Completed:GQ.Running),FQ()),this._tissueBlockDataQueryStatus$.next(GQ.Completed),this._aggregateDataQueryStatus$.next(GQ.Completed),this._ontologyTermOccurencesDataQueryStatus$.next(GQ.Completed),this._cellTypeTermOccurencesDataQueryStatus$.next(GQ.Completed),this._sceneDataQueryStatus$.next(GQ.Completed),this._technologyFilterQueryStatus$.next(GQ.Completed),this._providerFilterQueryStatus$.next(GQ.Completed)}ngxsOnInit(){const{ontologyTermsFullData$:t,ontologyTermOccurencesData$:e,cellTypeTermsFullData$:n,cellTypeTermOccurencesData$:i,source:r,snapshot:{filter:s}}=this;s===$Q?(e.pipe(rf(1)).subscribe(t),i.pipe(rf(1)).subscribe(n)):(r.getOntologyTermOccurences().pipe(rf(1)).subscribe(t),r.getCellTypeTermOccurences().pipe(rf(1)).subscribe(n)),this.source.getOntologyTreeModel().pipe(rf(1)).subscribe(t=>this.updateAnatomicalStructuresTreeModel(t)),this.source.getCellTypeTreeModel().pipe(rf(1)).subscribe(t=>this.updateCellTypesTreeModel(t)),this.warmUpDatabase()}warmUpDatabase(){vH(()=>this.source.getDatabaseStatus()).pipe(eg(t=>this.updateStatus(t)),JH(2e3),rf(1)).pipe(function(t=-1){return e=>0===t?fp():e.lift(new zQ(t<0?-1:t-1,e))}(1e3),af(t=>"Loading"===t.status)).subscribe(),this.databaseReady$.pipe(rf(1),eg(()=>{this.updateStatus({status:"Ready",message:"Loading CCF Exploration User Interface (EUI)"})})).subscribe()}updateAnatomicalStructuresTreeModel(t){this.ctx.patchState({anatomicalStructuresTreeModel:t})}updateCellTypesTreeModel(t){this.ctx.patchState({cellTypesTreeModel:t})}updateStatus(t){this.ctx.patchState({status:t.status,statusMessage:t.message})}updateFilter(t){this.ctx.patchState({filter:Object.assign(Object.assign({},this.getState().filter),t)})}updateFilterHandler(t,{filter:e}){this.updateFilter(e)}tissueBlockData(t){return this._tissueBlockDataQueryStatus$.next(GQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getTissueBlockResults(t)))}aggregateData(t){return this._aggregateDataQueryStatus$.next(GQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getAggregateResults(t)))}ontologyTermOccurencesData(t){return this._ontologyTermOccurencesDataQueryStatus$.next(GQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getOntologyTermOccurences(t)))}cellTypeTermOccurencesData(t){return this._cellTypeTermOccurencesDataQueryStatus$.next(GQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getCellTypeTermOccurences(t)))}sceneData(t){return this._sceneDataQueryStatus$.next(GQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getScene(t)))}technologyFilterData(){return this._technologyFilterQueryStatus$.next(GQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getDatasetTechnologyNames()))}providerFilterData(){return this._providerFilterQueryStatus$.next(GQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getProviderNames()))}};YQ.\u0275fac=function(t){return new(t||YQ)(Ei(iQ))},YQ.\u0275prov=xt({token:YQ,factory:YQ.\u0275fac}),vw([OW(),_w(0,TW("treeModel"))],YQ.prototype,"updateAnatomicalStructuresTreeModel",null),vw([OW(),_w(0,TW("treeModel"))],YQ.prototype,"updateCellTypesTreeModel",null),vw([OW(),_w(0,TW("status"))],YQ.prototype,"updateStatus",null),vw([OW(),_w(0,TW("filter"))],YQ.prototype,"updateFilter",null),vw([eU(HQ)],YQ.prototype,"updateFilterHandler",null),vw([PV.ak],YQ.prototype,"tissueBlockData",null),vw([PV.ak],YQ.prototype,"aggregateData",null),vw([PV.ak],YQ.prototype,"ontologyTermOccurencesData",null),vw([PV.ak],YQ.prototype,"cellTypeTermOccurencesData",null),vw([PV.ak],YQ.prototype,"sceneData",null),vw([PV.ak],YQ.prototype,"technologyFilterData",null),vw([PV.ak],YQ.prototype,"providerFilterData",null),YQ=vw([kW(),nU({name:"data",defaults:{filter:$Q,status:"Loading",statusMessage:"Loading database"}})],YQ);class XQ{static filter(t){return t.filter}static anatomicalStructuresTreeModel(t){var e;return null!==(e=t.anatomicalStructuresTreeModel)&&void 0!==e?e:{root:"",nodes:{}}}static cellTypesTreeModel(t){var e;return null!==(e=t.cellTypesTreeModel)&&void 0!==e?e:{root:"",nodes:{}}}}vw([rU([YQ])],XQ,"filter",null),vw([rU([YQ])],XQ,"anatomicalStructuresTreeModel",null),vw([rU([YQ])],XQ,"cellTypesTreeModel",null);let KQ=(()=>{class t{constructor(t,e,n){this.sex=t,this.organName=e,this.search=n}}return t.type="[Spatial Search Filter] Add",t})(),QQ=(()=>{class t{constructor(t){this.id=t}}return t.type="[Spatial Search Filter] Remove",t})(),ZQ=(()=>{class t{constructor(t){this.items=t}}return t.type="[Spatial Search Filter] Set selected searches",t})();let JQ=class{addSearch(t,{sex:e,organName:n,search:i}){t.setState(function(t){return function(e){return t&&t.length||!e?Array.isArray(e)?e.concat(t):t:e}}([this.createItem(e,n,i)]))}removeSearch(t,{id:e}){t.setState(function(t){return function(e){let n=-1;if(function(t){return"function"==typeof t}(t)?n=e.findIndex(t):function(t){return"number"==typeof t}(t)&&(n=t),function(t){return Number.isNaN(t)||-1===t}(n))return e;const i=e.slice();return i.splice(n,1),i}}(t=>(null==t?void 0:t.id)===e))}setSelectedSearches(t,{items:e}){const n=new Map(e.map(t=>[t.id,t])),i=t.getState().map(t=>{var e;return null!==(e=n.get(t.id))&&void 0!==e?e:t.selected?Object.assign(Object.assign({},t),{selected:!1}):t});t.setState(i)}createItem(t,e,n){return{id:this.createItemId(n),selected:!0,description:this.createItemDescription(t,e,n),sex:t,search:n}}createItemId(t){const{x:e,y:n,z:i,radius:r,target:s}=t;return`${s}-${r}-${e},${n},${i}`}createItemDescription(t,e,n){const i=t=>t.slice(0,1).toUpperCase()+t.slice(1),{x:r,y:s,z:o,radius:a}=n;return`${i(t)}, ${i(e)}, ${a.toFixed(1)} mm, X: ${r.toFixed(1)}, Y: ${s.toFixed(1)}, Z: ${o.toFixed(1)}`}};JQ.\u0275fac=function(t){return new(t||JQ)},JQ.\u0275prov=xt({token:JQ,factory:JQ.\u0275fac}),vw([eU(KQ)],JQ.prototype,"addSearch",null),vw([eU(QQ)],JQ.prototype,"removeSearch",null),vw([eU(ZQ)],JQ.prototype,"setSelectedSearches",null),JQ=vw([nU({name:"spatialSearchFilter",defaults:[]})],JQ);class tZ{static items(t){return t}static searches(t){return t.map(t=>t.search)}static selectedSearches(t){return t.filter(t=>t.selected).map(t=>t.search)}}vw([rU([JQ])],tZ,"items",null),vw([rU([tZ.items])],tZ,"searches",null),vw([rU([tZ.items])],tZ,"selectedSearches",null);const eZ=new RegExp("[^#a-f\\d]","gi"),nZ=new RegExp("^#?[a-f\\d]{3}[a-f\\d]?$|^#?[a-f\\d]{6}([a-f\\d]{2})?$","i"),iZ=["#FF8800","#2979ff","#ffd740","#b92dff","#da326f","#7323e2","#acf32b","#82B1FF","#E040FB","#00E5FF"].map((t,e)=>{const n=function(t,e={}){if("string"!=typeof t||eZ.test(t)||!nZ.test(t))throw new TypeError("Expected a valid hex string");let n=1;8===(t=t.replace(/^#/,"")).length&&(n=Number.parseInt(t.slice(6,8),16)/255,t=t.slice(0,6)),4===t.length&&(n=Number.parseInt(t.slice(3,4).repeat(2),16)/255,t=t.slice(0,3)),3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]);const i=Number.parseInt(t,16),r=i>>16,s=i>>8&255,o=255&i,a="number"==typeof e.alpha?e.alpha:n;return"array"===e.format?[r,s,o,a]:"css"===e.format?`rgb(${r} ${s} ${o}${1===a?"":` / ${Number((100*a).toFixed(2))}%`})`:{red:r,green:s,blue:o,alpha:a}}(t,{format:"array"});return n[3]=255,{color:t,rgba:n,rank:e}});let rZ=class extends MW{constructor(){super(...arguments),this.forcedUnassignment=new A,this.forcedUnassignment$=this.forcedUnassignment.asObservable(),this.colorAssignments$=this.state$.pipe(T$("colorAssignments"),Wd()),this.colorAssignmentsList$=this.state$.pipe(T$("colorAssignmentsList"),Wd())}getColor(t){const{colorAssignments:e}=this.snapshot;return e[t]}assignColor(t,e=!1){let{colorAssignments:n,colorAssignmentsList:i,colorsAvailable:r}=this.snapshot;e&&(r=this.snapshot.colorPalette.concat(),i=[],n={});let s=n[t];return s||(r.length>0?s=r[0]:(s=i[i.length-1].color,i=i.slice(0,-1),this.forcedUnassignment.next()),r=r.filter(t=>t.color!==s.color),i=[{color:s,key:t}].concat(i),n=i.reduce((t,e,n)=>(t[e.key]=Object.assign(Object.assign({},e.color),{rank:n}),t),{}),this.ctx.patchState({colorsAvailable:r,colorAssignments:n,colorAssignmentsList:i})),s}unassignColor(t){let{colorAssignments:e,colorAssignmentsList:n,colorsAvailable:i}=this.snapshot;const r=e[t];r&&(i=[r].concat(i),n=n.filter(t=>t.color.color!==r.color),e=n.reduce((t,e,n)=>(t[e.key]=Object.assign(Object.assign({},e.color),{rank:n}),t),{}),this.ctx.patchState({colorsAvailable:i,colorAssignments:e,colorAssignmentsList:n}))}};rZ.\u0275fac=function(){let t;return function(e){return(t||(t=ei(rZ)))(e||rZ)}}(),rZ.\u0275prov=xt({token:rZ,factory:rZ.\u0275fac}),vw([OW(),_w(0,TW("key")),_w(1,TW("doReset"))],rZ.prototype,"assignColor",null),vw([OW(),_w(0,TW("key"))],rZ.prototype,"unassignColor",null),rZ=vw([kW(),nU({name:"colors",defaults:{colorPalette:iZ.concat(),colorsAvailable:iZ.concat(),colorAssignments:{},colorAssignmentsList:[]}})],rZ);let sZ=class extends MW{constructor(t,e){super(),this.dataService=t,this.injector=e,this.listResults$=this.state$.pipe(T$("listResults"),Wd()),this.highlightedNodeId$=this.state$.pipe(T$("highlightedNodeId"),Wd())}setListResults(t){this.ctx.patchState({listResults:t})}selectListResult(t){this.colorAssignments.assignColor(t.tissueBlock.spatialEntityId)}deselectListResult(t){this.colorAssignments.unassignColor(t.tissueBlock.spatialEntityId)}highlightNode(t){this.ctx.patchState({highlightedNodeId:t})}unHighlightNode(){this.ctx.patchState({highlightedNodeId:void 0})}ngxsOnInit(){super.ngxsOnInit(),this.dataState=this.injector.get(YQ),this.colorAssignments=this.injector.get(rZ),z_([this.dataState.tissueBlockData$,this.colorAssignments.colorAssignments$]).pipe(D(([t,e])=>{const n=[],i=[];for(const r of t){const t=e[r.spatialEntityId];t?n.push({selected:!0,color:t.color,tissueBlock:r,rank:t.rank}):i.push({selected:!1,tissueBlock:r})}return(0,bq.sortBy)(n,["rank"]).concat(i)}),eg(t=>this.setListResults(t))).subscribe()}};sZ.\u0275fac=function(t){return new(t||sZ)(Ei(iQ),Ei(No))},sZ.\u0275prov=xt({token:sZ,factory:sZ.\u0275fac}),vw([OW(),_w(0,TW("listResults"))],sZ.prototype,"setListResults",null),sZ=vw([kW(),nU({name:"listResults",defaults:{listResults:[]}})],sZ);const oZ=new Set(["Skin","Heart","Kidney","Spleen"]);let aZ=class extends MW{constructor(t,e){super(),this.dataService=t,this.injector=e,this.referenceOrgans$=this.state$.pipe(T$("referenceOrgans"),Wd()),this.selectedReferenceOrgans$=this.state$.pipe(T$("selectedReferenceOrgans"),Wd()),this.scene$=this.state$.pipe(T$("scene"),Wd()),this.highlightedId$=this.state$.pipe(T$("highlightedId"),Wd())}static referenceOrgans(t){return t.referenceOrgans}static referenceOrganEntities(t){return t.referenceOrganEntities}setSelectedReferenceOrgans(t){this.ctx.patchState({selectedReferenceOrgans:t})}setReferenceOrgans(t){this.ctx.patchState({referenceOrgans:t})}setReferenceOrganEntities(t){this.ctx.patchState({referenceOrganEntities:t})}setScene(t){this.ctx.patchState({scene:t})}sceneNodeClicked({node:t,ctrlClick:e}){t.representation_of&&"http://purl.org/ccf/latest/ccf.owl#VHFSkin"!==t["@id"]&&t.entityId?this.dataState.updateFilter({ontologyTerms:[t.representation_of]}):t.entityId&&this.colorAssignments.assignColor(t["@id"],!e)}sceneNodeHovered(t){this.listResults.highlightNode(t["@id"])}sceneNodeUnhover(){this.listResults.unHighlightNode()}ngxsOnInit(){super.ngxsOnInit(),this.dataState=this.injector.get(YQ),this.colorAssignments=this.injector.get(rZ),this.listResults=this.injector.get(sZ),this.dataService.getReferenceOrgans().pipe(eg(t=>this.setReferenceOrganEntities(t)),D(t=>{const e=new Set(t.map(t=>t.representation_of));return NK.filter(t=>e.has(t.id)).map(t=>Object.assign(Object.assign({},t),{disabled:!1,numResults:0}))}),rf(1),eg(t=>{this.setReferenceOrgans(t),this.setSelectedReferenceOrgans(t.filter(t=>oZ.has(t.organ)))})).subscribe(),z_([this.dataState.sceneData$,this.selectedReferenceOrgans$,this.colorAssignments.colorAssignments$,this.dataService.getReferenceOrgans(),this.listResults.highlightedNodeId$]).pipe(D(([t,e,n,i,r])=>{const s=new Set(e.map(t=>t.id)),o=new Set(i.filter(t=>s.has(t.representation_of)).map(t=>t["@id"]));return t.filter(t=>{var e,n;return(null===(n=null===(e=t.ccf_annotations)||void 0===e?void 0:e.some)||void 0===n?void 0:n.call(e,t=>s.has(t)))||t.reference_organ&&o.has(t.reference_organ)}).map(t=>t.entityId&&(Object.prototype.hasOwnProperty.call(n,t["@id"])||r===t["@id"])?Object.assign(Object.assign({},t),{color:r===t["@id"]?[30,136,229,255]:n[t["@id"]].rgba}):t)}),eg(t=>this.setScene(t))).subscribe()}};function lZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function cZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function uZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function hZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}aZ.\u0275fac=function(t){return new(t||aZ)(Ei(iQ),Ei(No))},aZ.\u0275prov=xt({token:aZ,factory:aZ.\u0275fac}),vw([OW(),_w(0,TW("selectedReferenceOrgans"))],aZ.prototype,"setSelectedReferenceOrgans",null),vw([OW(),_w(0,TW("referenceOrgans"))],aZ.prototype,"setReferenceOrgans",null),vw([OW(),_w(0,TW("referenceOrganEntities"))],aZ.prototype,"setReferenceOrganEntities",null),vw([OW(),_w(0,TW("scene"))],aZ.prototype,"setScene",null),vw([rU()],aZ,"referenceOrgans",null),vw([rU()],aZ,"referenceOrganEntities",null),aZ=vw([kW(),nU({name:"scene",defaults:{scene:[],referenceOrgans:[],referenceOrganEntities:[],selectedReferenceOrgans:[],selectedAnatomicalStructures:[],anatomicalStructureSettings:{}}})],aZ);const dZ=".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor;stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\n",pZ=Yy(class{constructor(t){this._elementRef=t}},"primary"),fZ=new oi("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:100}}});class gZ extends pZ{constructor(t,e,n,i,r){super(t),this._document=n,this._diameter=100,this._value=0,this._fallbackAnimation=!1,this.mode="determinate";const s=gZ._diameters;this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),s.has(n.head)||s.set(n.head,new Set([100])),this._fallbackAnimation=e.EDGE||e.TRIDENT,this._noopAnimations="NoopAnimations"===i&&!!r&&!r._forceAnimations,r&&(r.diameter&&(this.diameter=r.diameter),r.strokeWidth&&(this.strokeWidth=r.strokeWidth))}get diameter(){return this._diameter}set diameter(t){this._diameter=Pd(t),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),!this._fallbackAnimation&&this._styleRoot&&this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(t){this._strokeWidth=Pd(t)}get value(){return"determinate"===this.mode?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,Pd(t)))}ngOnInit(){const t=this._elementRef.nativeElement;this._styleRoot=Rp(t)||this._document.head,this._attachStyleNode(),t.classList.add(`mat-progress-spinner-indeterminate${this._fallbackAnimation?"-fallback":""}-animation`)}_getCircleRadius(){return(this.diameter-10)/2}_getViewBox(){const t=2*this._getCircleRadius()+this.strokeWidth;return`0 0 ${t} ${t}`}_getStrokeCircumference(){return 2*Math.PI*this._getCircleRadius()}_getStrokeDashOffset(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._getStrokeCircumference():null}_getCircleStrokeWidth(){return this.strokeWidth/this.diameter*100}_attachStyleNode(){const t=this._styleRoot,e=this._diameter,n=gZ._diameters;let i=n.get(t);if(!i||!i.has(e)){const r=this._document.createElement("style");r.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),r.textContent=this._getAnimationText(),t.appendChild(r),i||(i=new Set,n.set(t,i)),i.add(e)}}_getAnimationText(){const t=this._getStrokeCircumference();return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*t).replace(/END_VALUE/g,""+.2*t).replace(/DIAMETER/g,`${this._spinnerAnimationLabel}`)}_getSpinnerAnimationLabel(){return this.diameter.toString().replace(".","_")}}gZ.\u0275fac=function(t){return new(t||gZ)(ea(Al),ea(Ep),ea(th,8),ea(Ny,8),ea(fZ))},gZ.\u0275cmp=Jt({type:gZ,selectors:[["mat-progress-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner"],hostVars:10,hostBindings:function(t,e){2&t&&(Ko("aria-valuemin","determinate"===e.mode?0:null)("aria-valuemax","determinate"===e.mode?100:null)("aria-valuenow","determinate"===e.mode?e.value:null)("mode",e.mode),La("width",e.diameter,"px")("height",e.diameter,"px"),ja("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color",mode:"mode",diameter:"diameter",strokeWidth:"strokeWidth",value:"value"},exportAs:["matProgressSpinner"],features:[jo],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(vn(),ra(0,"svg",0),Jo(1,lZ,1,9,"circle",1),Jo(2,cZ,1,7,"circle",2),sa()),2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),na("ngSwitch","indeterminate"===e.mode),Ko("viewBox",e._getViewBox()),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1))},directives:[Rh,Nh],styles:[dZ],encapsulation:2,changeDetection:0}),gZ._diameters=new WeakMap;let mZ=(()=>{class t extends gZ{constructor(t,e,n,i,r){super(t,e,n,i,r),this.mode="indeterminate"}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(th,8),ea(Ny,8),ea(fZ))},t.\u0275cmp=Jt({type:t,selectors:[["mat-spinner"]],hostAttrs:["role","progressbar","mode","indeterminate",1,"mat-spinner","mat-progress-spinner"],hostVars:6,hostBindings:function(t,e){2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),ja("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color"},features:[jo],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(vn(),ra(0,"svg",0),Jo(1,uZ,1,9,"circle",1),Jo(2,hZ,1,7,"circle",2),sa()),2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),na("ngSwitch","indeterminate"===e.mode),Ko("viewBox",e._getViewBox()),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1))},directives:[Rh,Nh],styles:[dZ],encapsulation:2,changeDetection:0}),t})(),bZ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy,Wh],Wy]}),t})(),yZ=(()=>{class t{constructor(){this.className="ccf-spinner-overlay",this.active=!1}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spinner-overlay"]],hostVars:4,hostBindings:function(t,e){2&t&&(Va(e.className),ja("active",e.active))},inputs:{active:"active",text:"text"},decls:3,vars:1,consts:[[1,"content"]],template:function(t,e){1&t&&(oa(0,"mat-spinner"),ra(1,"div",0),Ja(2),sa()),2&t&&(ws(2),tl(e.text))},directives:[mZ],styles:["[_nghost-%COMP%]{display:flex;position:absolute;width:100%;height:100%;z-index:99;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;visibility:hidden;opacity:0;transition:visibility .6s,opacity .4s ease-in-out}[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-bottom:1rem;opacity:0;transition:opacity .3s ease-in-out .3s}.active[_nghost-%COMP%]{pointer-events:auto;visibility:visible;opacity:1}.active[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{opacity:1}"],changeDetection:0}),t})();const vZ={isolated:!0},_Z=new oi("Message service configuration",{providedIn:"root",factory:()=>vZ});let wZ=(()=>{class t{constructor(t,e,n){this.source=t,this.channel=e,this.messages=n}sendMessage(t){this.channel.next({id:this.nextMessageId(),source:this.source,payload:t})}getMessages(){return this.messages.pipe(ep(t=>t.source!==this.source))}getMessagesFromSource(t){return this.getMessages().pipe(ep(e=>e.source===t))}getMessagesFromSources(t){return this.getMessages().pipe(ep(e=>t.includes(e.source)))}nextMessageId(){return t.counter++}}return t.counter=0,t})();const xZ=(()=>{class t{constructor(t,e){this.config=t,this.parent=e,this.channel=new A,this.messages=t.isolated||!e?this.channel.asObservable():U([this.channel,e.messages.pipe(af(()=>!this.channel.closed))]).pipe(X())}ngOnDestroy(){this.channel.complete()}connect(t){return new wZ(t,this.channel,this.messages)}}return t.\u0275fac=function(e){return new(e||t)(Ei(_Z),Ei(t,12))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),SZ=["*"];let CZ=(()=>{class t{constructor(t,e){this.className="ccf-drawer-content",this.animationsEnabled=!1,this.leftMargin=0,this.rightMargin=0,this.faded=!1,this.drawers=[],this.subscriptions=new g;const n=t.connect(this).getMessages();this.subscriptions.add(n.subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){switch(t.payload.type){case"drawer-containers-changed":return this.drawers=t.payload.drawers,this.updateFaded(),!0;case"drawer-initialized":return this.animationsEnabled=!0,!0;case"drawer-toggled":{const e=t.source.position,{opened:n,width:i,margin:r}=t.payload;return this.updateMargin(e,n,i,r),this.updateFaded(),!0}default:return!1}}updateMargin(t,e,n,i){const r=e?n+i:i;"start"===t?this.leftMargin=r:this.rightMargin=r}updateFaded(){const[t,e]=this.drawers;this.faded=(null==t?void 0:t.opened)&&(null==t?void 0:t.expanded)||(null==e?void 0:e.opened)&&(null==e?void 0:e.expanded)}}return t.\u0275fac=function(e){return new(e||t)(ea(xZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-content"]],hostVars:9,hostBindings:function(t,e){2&t&&(sl("@fadeInOut",e.faded),Va(e.className),La("margin-left",e.leftMargin,"px")("margin-right",e.rightMargin,"px"),ja("cff-drawer-content-animations",e.animationsEnabled))},ngContentSelectors:SZ,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 5.5rem);z-index:2;overflow:auto}.cff-drawer-content-animations[_nghost-%COMP%]{transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:margin-left,margin-right}"],data:{animation:[Qg("fadeInOut",[em("false",tm({opacity:1})),em("true",tm({opacity:0})),im("false <=> true",Zg("1s"))])]},changeDetection:0}),t})();const EZ=["*"],OZ={params:{width:0,margin:0,margin2:0}};class TZ{constructor(){this.initialized=!1,this.deferred=new Promise(t=>{this.resolve=t})}set(){this.initialized=!0,this.resolve()}wait(){return xw(this,void 0,void 0,function*(){return this.deferred})}valueOf(){return this.initialized}}let kZ=(()=>{class t{constructor(t,e,n){this.element=n,this.className="ccf-drawer",this._position="start",this._opened=!1,this._expanded=!1,this.openedChange=new Bc(!0),this.expandedChange=new Bc(!0),this.stateChange=new Bc(!0),this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._measuredWidth=0,this.width=0,this._measuredMargin=0,this.margin2=0,this.initialized=new TZ,this.subscriptions=new g,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}get classEnd(){return"end"===this.position}get position(){return this._position}set position(t){this._position=t||"start"}get opened(){return this._opened}set opened(t){this.toggle(kd(t))}get expanded(){return this._expanded}set expanded(t){this.toggleExpanded(kd(t))}get expandedStateObj(){return{value:this.expandedState2,params:{width:this.width,margin:this.measuredMargin,margin2:this.margin2}}}get measuredWidth(){if(this._measuredWidth>0)return this._measuredWidth;const t=this.element.nativeElement;if(!t)return 0;const e=t.getBoundingClientRect(),n=e.right-e.left;return 0===n?0:(this._measuredWidth=n,n)}get measuredMargin(){if(this._measuredMargin>0)return this._measuredMargin;const t=this.element.nativeElement;if(!t)return 0;const e=globalThis.getComputedStyle(t).getPropertyValue("start"===this.position?"margin-right":"margin-left"),n=Number(e.slice(0,-2));return this._measuredMargin=n,n}ngAfterViewInit(){this.initialized.set(),setTimeout(()=>this.channel.sendMessage({type:"drawer-initialized"}))}ngOnDestroy(){this.subscriptions.unsubscribe()}open(){this.toggle(!0)}close(){this.toggle(!1)}toggle(t=!this.opened){this.opened!==t&&(t?this.openedState=this.initialized.valueOf()?"open":"open-instant":(this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._expanded=!1),this._opened=t,this.sendToggle())}openExpanded(){this.toggleExpanded(!0)}closeExpanded(){this.toggleExpanded(!1)}toggleExpanded(t=!this.expanded){this.expanded!==t&&(t?this.expandedState=this.initialized.valueOf()?"open":"open-instant":(this.expandedState="closed",this.expandedState2="collapsed"),this._expanded=t,this.sendToggle())}closeOpenDone(){this.openedChange.emit(this.opened)}expandCollapseDone(){this.expandedChange.emit(this.expanded)}sendToggle(){return xw(this,void 0,void 0,function*(){yield this.initialized.wait(),this.channel.sendMessage({type:"drawer-toggled",opened:this.opened,expanded:this.expanded,width:this.measuredWidth,margin:this.measuredMargin}),this.stateChange.emit()})}handleMessage(t){switch(t.payload.type){case"drawer-toggled":return this.syncExpanded(t.source),!0;default:return!1}}syncExpanded(t){(this.expanded||t.expanded)&&(this.expanded&&t.expanded?this.expandedState2=t.expandedState2="half":this.expanded?t.opened?(this.expandedState2="extended",this.width=t.measuredWidth+t.measuredMargin):(this.expandedState2="full",this.margin2=t.measuredMargin):this.opened?(t.expandedState2="extended",t.width=this.measuredWidth+this.measuredMargin):(t.expandedState2="full",t.margin2=this.measuredMargin))}}return t.\u0275fac=function(e){return new(e||t)(ea(xZ),ea(nc),ea(Al))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer"]],hostVars:10,hostBindings:function(t,e){1&t&&ga("@openClose.done",function(){return e.closeOpenDone()})("@expandCollapse.done",function(){return e.expandCollapseDone()}),2&t&&(sl("@openClose",e.openedState)("@expandCollapse",e.expandedStateObj),Va(e.className),ja("ccf-drawer-end",e.classEnd)("ccf-drawer-opened",e.opened)("ccf-drawer-expanded",e.expanded))},inputs:{position:"position",opened:"opened",expanded:"expanded"},outputs:{openedChange:"openedChange",expandedChange:"expandedChange",stateChange:"stateChange"},exportAs:["ccfDrawer"],ngContentSelectors:EZ,decls:2,vars:0,consts:[[1,"cff-drawer-inner-container"]],template:function(t,e){1&t&&(wa(),ra(0,"div",0),xa(1),sa())},styles:["[_nghost-%COMP%]{display:block;position:absolute;top:0;bottom:0;z-index:2;outline:0;transform:translate(-100%);background-color:#fff}.ccf-drawer-end[_nghost-%COMP%]{right:0;transform:translate(100%)}[_nghost-%COMP%] .cff-drawer-inner-container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}"],data:{animation:[Qg("openClose",[em("open, open-instant",tm({transform:"none"})),em("closed",tm({})),im("closed => open-instant",Zg(0)),im("closed <=> open, open-instant => closed",Zg(".5s ease-in-out"))]),Qg("expandCollapse",[em("collapsed",tm({})),em("half",tm({width:"calc(50% - {{ margin }}px)"}),OZ),em("extended",tm({width:"calc(100% - {{ width }}px - {{ margin }}px)"}),OZ),em("full",tm({width:"calc(100% - {{ margin }}px - {{ margin2 }}px)"}),OZ),im("* <=> *",Zg(".5s ease-in-out"))])]},changeDetection:0}),t})();function PZ(t,e){1&t&&(ra(0,"ccf-drawer-content"),xa(1,2),sa())}const AZ=[[["ccf-drawer"]],[["ccf-drawer-content"]],"*"],MZ=["ccf-drawer","ccf-drawer-content","*"];function IZ(t){throw new Error(`Multiple drawers in position ${t}`)}let DZ=(()=>{class t{constructor(t,e){this.cdr=e,this.className="ccf-drawer-container",this.subscriptions=new g,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}get content(){var t;return null!==(t=this.content1.first)&&void 0!==t?t:this.content2.first}get hasWrappedContent(){return 0!==this.content1.length}ngAfterViewInit(){this.drawers.changes.pipe(lp(null)).subscribe(()=>{const t=this.validateDrawers();this.channel.sendMessage({type:"drawer-containers-changed",drawers:t}),this.cdr.markForCheck()}),this.content1.changes.pipe(lp(null)).subscribe(()=>{this.channel.sendMessage({type:"content-container-changed",content:this.content}),this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return!0}validateDrawers(){const t=this.drawers.toArray(),e=t.filter(t=>"start"===t.position),n=t.filter(t=>"end"===t.position);return e.length>1&&IZ("start"),n.length>1&&IZ("end"),[e[0],n[0]]}}return t.\u0275fac=function(e){return new(e||t)(ea(xZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-container"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,kZ,5),Jc(n,CZ,5)),2&t){let t;Qc(t=tu())&&(e.drawers=t),Qc(t=tu())&&(e.content1=t)}},viewQuery:function(t,e){if(1&t&&Zc(CZ,5),2&t){let t;Qc(t=tu())&&(e.content2=t)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},exportAs:["ccfDrawerContainer"],features:[xl([xZ])],ngContentSelectors:MZ,decls:3,vars:1,consts:[[4,"ngIf"]],template:function(t,e){1&t&&(wa(AZ),xa(0),xa(1,1),Jo(2,PZ,2,0,"ccf-drawer-content",0)),2&t&&(ws(2),na("ngIf",!e.hasWrappedContent))},directives:[Ah,CZ],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:1;overflow:hidden;-webkit-overflow-scrolling:touch}"],changeDetection:0}),t})(),RZ=(()=>{class t{}return t.type="[SpatialSearchUi] Start the Spatial Search flow",t})(),NZ=(()=>{class t{constructor(t){this.sex=t}}return t.type="[SpatialSearchUi] Set sex",t})(),LZ=(()=>{class t{constructor(t){this.organId=t}}return t.type="[SpatialSearchUi] Set organ",t})(),jZ=(()=>{class t{constructor(t){this.position=t}}return t.type="[SpatialSearchUi] Set position",t})(),FZ=(()=>{class t{constructor(t){this.node=t}}return t.type="[SpatialSearchUi] Start moving the position to a scene node",t})(),BZ=(()=>{class t{}return t.type="[SpatialSearchUi] Reset position",t})(),VZ=(()=>{class t{constructor(t){this.radius=t}}return t.type="[SpatialSearchUi] Set radius",t})(),zZ=(()=>{class t{}return t.type="[SpatialSearchUi] Reset radius",t})(),UZ=(()=>{class t{}return t.type="[SpatialSearchUi] Update spatial search data",t})(),HZ=(()=>{class t{}return t.type="[SpatialSearchUi] Generate and add a spatial search",t})(),$Z=(()=>{class t{constructor(t=!0){this.execute=t}}return t.type="[SpatialSearchUi] Set execute search on generate",t})();const GZ=["trigger"],WZ=["panel"];function qZ(t,e){if(1&t&&(ra(0,"span",8),Ja(1),sa()),2&t){const t=va();ws(1),tl(t.placeholder)}}function YZ(t,e){if(1&t&&(ra(0,"span",12),Ja(1),sa()),2&t){const t=va(2);ws(1),tl(t.triggerValue)}}function XZ(t,e){1&t&&xa(0,0,["*ngSwitchCase","true"])}function KZ(t,e){1&t&&(ra(0,"span",9),Jo(1,YZ,2,1,"span",10),Jo(2,XZ,1,0,"ng-content",11),sa()),2&t&&(na("ngSwitch",!!va().customTrigger),ws(2),na("ngSwitchCase",!0))}function QZ(t,e){if(1&t){const t=ua();ra(0,"div",13),ra(1,"div",14,15),fa("@transformPanel.done",function(e){return $e(t),va()._panelDoneAnimatingStream.next(e.toState)})("keydown",function(e){return $e(t),va()._handleKeydown(e)}),xa(3,1),sa(),sa()}if(2&t){const t=va();na("@transformPanelWrap",void 0),ws(1),il("mat-select-panel ",t._getPanelTheme(),""),La("transform-origin",t._transformOrigin)("font-size",t._triggerFontSize,"px"),na("ngClass",t.panelClass)("@transformPanel",t.multiple?"showing-multiple":"showing"),Ko("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}const ZZ=[[["mat-select-trigger"]],"*"],JZ=["mat-select-trigger","*"],tJ={transformPanelWrap:Qg("transformPanelWrap",[im("* => void",sm("@transformPanel",[rm()],{optional:!0}))]),transformPanel:Qg("transformPanel",[em("void",tm({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),em("showing",tm({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),em("showing-multiple",tm({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),im("void => *",Zg("120ms cubic-bezier(0, 0, 0.2, 1)")),im("* => void",Zg("100ms 25ms linear",tm({opacity:0})))])};let eJ=0;const nJ=new oi("mat-select-scroll-strategy"),iJ=new oi("MAT_SELECT_CONFIG"),rJ={provide:nJ,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};class sJ{constructor(t,e){this.source=t,this.value=e}}const oJ=Xy(Ky(qy(Qy(class{constructor(t,e,n,i,r){this._elementRef=t,this._defaultErrorStateMatcher=e,this._parentForm=n,this._parentFormGroup=i,this.ngControl=r}})))),aJ=new oi("MatSelectTrigger");let lJ=(()=>{class t extends oJ{constructor(t,e,n,i,r,s,o,a,l,c,u,h,d,p){var f,g,m;super(r,i,o,a,c),this._viewportRuler=t,this._changeDetectorRef=e,this._ngZone=n,this._dir=s,this._parentFormField=l,this._liveAnnouncer=d,this._defaultOptions=p,this._panelOpen=!1,this._compareWith=(t,e)=>t===e,this._uid="mat-select-"+eJ++,this._triggerAriaLabelledBy=null,this._destroy=new A,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+eJ++,this._panelDoneAnimatingStream=new A,this._overlayPanelClass=(null===(f=this._defaultOptions)||void 0===f?void 0:f.overlayPanelClass)||"",this._focused=!1,this.controlType="mat-select",this._required=!1,this._multiple=!1,this._disableOptionCentering=null!==(m=null===(g=this._defaultOptions)||void 0===g?void 0:g.disableOptionCentering)&&void 0!==m&&m,this.ariaLabel="",this.optionSelectionChanges=vH(()=>{const t=this.options;return t?t.changes.pipe(lp(t),cp(()=>Q(...t.map(t=>t.onSelectionChange)))):this._ngZone.onStable.pipe(rf(1),cp(()=>this.optionSelectionChanges))}),this.openedChange=new Bc,this._openedStream=this.openedChange.pipe(ep(t=>t),D(()=>{})),this._closedStream=this.openedChange.pipe(ep(t=>!t),D(()=>{})),this.selectionChange=new Bc,this.valueChange=new Bc,this.ngControl&&(this.ngControl.valueAccessor=this),null!=(null==p?void 0:p.typeaheadDebounceInterval)&&(this._typeaheadDebounceInterval=p.typeaheadDebounceInterval),this._scrollStrategyFactory=h,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(u)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get required(){return this._required}set required(t){this._required=kd(t),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(t){this._multiple=kd(t)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(t){this._disableOptionCentering=kd(t)}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){(t!==this._value||this._multiple&&Array.isArray(t))&&(this.options&&this._setSelectionByValue(t),this._value=t)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(t){this._typeaheadDebounceInterval=Pd(t)}get id(){return this._id}set id(t){this._id=t||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new Vp(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(Wd(),rp(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(rp(this._destroy)).subscribe(t=>{t.added.forEach(t=>t.select()),t.removed.forEach(t=>t.deselect())}),this.options.changes.pipe(lp(null),rp(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const t=this._getTriggerAriaLabelledby();if(t!==this._triggerAriaLabelledBy){const e=this._elementRef.nativeElement;this._triggerAriaLabelledBy=t,t?e.setAttribute("aria-labelledby",t):e.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}ngOnChanges(t){t.disabled&&this.stateChanges.next(),t.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(t){this.value=t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,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){const t=this._selectionModel.selected.map(t=>t.viewValue);return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))}_handleClosedKeydown(t){const e=t.keyCode,n=40===e||38===e||37===e||39===e,i=13===e||32===e,r=this._keyManager;if(!r.isTyping()&&i&&!uf(t)||(this.multiple||t.altKey)&&n)t.preventDefault(),this.open();else if(!this.multiple){const e=this.selected;r.onKeydown(t);const n=this.selected;n&&e!==n&&this._liveAnnouncer.announce(n.viewValue,1e4)}}_handleOpenKeydown(t){const e=this._keyManager,n=t.keyCode,i=40===n||38===n,r=e.isTyping();if(i&&t.altKey)t.preventDefault(),this.close();else if(r||13!==n&&32!==n||!e.activeItem||uf(t))if(!r&&this._multiple&&65===n&&t.ctrlKey){t.preventDefault();const e=this.options.some(t=>!t.disabled&&!t.selected);this.options.forEach(t=>{t.disabled||(e?t.select():t.deselect())})}else{const n=e.activeItemIndex;e.onKeydown(t),this._multiple&&i&&t.shiftKey&&e.activeItem&&e.activeItemIndex!==n&&e.activeItem._selectViaInteraction()}else t.preventDefault(),e.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(rf(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._setSelectionByValue(this.ngControl?this.ngControl.value:this._value),this.stateChanges.next()})}_setSelectionByValue(t){if(this._selectionModel.selected.forEach(t=>t.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&t)Array.isArray(t),t.forEach(t=>this._selectValue(t)),this._sortValues();else{const e=this._selectValue(t);e?this._keyManager.updateActiveItem(e):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectValue(t){const e=this.options.find(e=>{if(this._selectionModel.isSelected(e))return!1;try{return null!=e.value&&this._compareWith(e.value,t)}catch(n){return!1}});return e&&this._selectionModel.select(e),e}_initKeyManager(){this._keyManager=new Eg(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(rp(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe(rp(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const t=Q(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(rp(t)).subscribe(t=>{this._onSelect(t.source,t.isUserInput),t.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),Q(...this.options.map(t=>t._stateChanges)).pipe(rp(t)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(t,e){const n=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(n!==t.selected&&(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t)),e&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),e&&this.focus())):(t.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(t.value)),n!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const t=this.options.toArray();this._selectionModel.sort((e,n)=>this.sortComparator?this.sortComparator(e,n,t):t.indexOf(e)-t.indexOf(n)),this.stateChanges.next()}}_propagateChanges(t){let e=null;e=this.multiple?this.selected.map(t=>t.value):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(this._getChangeEvent(e)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){var t;return!this._panelOpen&&!this.disabled&&(null===(t=this.options)||void 0===t?void 0:t.length)>0}focus(t){this._elementRef.nativeElement.focus(t)}_getPanelAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();return this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();let n=(e?e+" ":"")+this._valueId;return this.ariaLabelledby&&(n+=" "+this.ariaLabelledby),n}_panelDoneAnimating(t){this.openedChange.emit(t)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return t.\u0275fac=function(e){return new(e||t)(ea(Hp),ea(nc),ea(Tu),ea(Zy),ea(Al),ea(Fp,8),ea(sH,8),ea(gH,8),ea(KH,8),ea(PU,10),ii("tabindex"),ea(nJ),ea(Bg),ea(iJ,8))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&(Zc(GZ,5),Zc(WZ,5),Zc($f,5)),2&t){let t;Qc(t=tu())&&(e.trigger=t.first),Qc(t=tu())&&(e.panel=t.first),Qc(t=tu())&&(e._overlayDir=t.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[jo,ye]}),t})(),cJ=(()=>{class t extends lJ{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(t,e,n){const i=this._getItemHeight();return Math.min(Math.max(0,i*t-e+i/2),n)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(rp(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(rf(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(t){const e=xv(t,this.options,this.optionGroups),n=this._getItemHeight();this.panel.nativeElement.scrollTop=0===t&&1===e?0:Sv((t+e)*n,n,this.panel.nativeElement.scrollTop,256)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(t)}_getChangeEvent(t){return new sJ(this,t)}_calculateOverlayOffsetX(){const t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),e=this._viewportRuler.getViewportSize(),n=this._isRtl(),i=this.multiple?56:32;let r;if(this.multiple)r=40;else if(this.disableOptionCentering)r=16;else{let t=this._selectionModel.selected[0]||this.options.first;r=t&&t.group?32:16}n||(r*=-1);const s=0-(t.left+r-(n?i:0)),o=t.right+r-e.width+(n?0:i);s>0?r+=s+8:o>0&&(r-=o+8),this._overlayDir.offsetX=Math.round(r),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(t,e,n){const i=this._getItemHeight(),r=(i-this._triggerRect.height)/2,s=Math.floor(256/i);let o;return this.disableOptionCentering?0:(o=0===this._scrollTop?t*i:this._scrollTop===n?(t-(this._getItemCount()-s))*i+(i-(this._getItemCount()*i-256)%i):e-i/2,Math.round(-1*o-r))}_checkOverlayWithinViewport(t){const e=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),i=this._triggerRect.top-8,r=n.height-this._triggerRect.bottom-8,s=Math.abs(this._offsetY),o=Math.min(this._getItemCount()*e,256)-s-this._triggerRect.height;o>r?this._adjustPanelUp(o,r):s>i?this._adjustPanelDown(s,i,t):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(t,e){const n=Math.round(t-e);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(t,e,n){const i=Math.round(t-e);if(this._scrollTop+=i,this._offsetY+=i,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const t=this._getItemHeight(),e=this._getItemCount(),n=Math.min(e*t,256),i=e*t-n;let r;r=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),r+=xv(r,this.options,this.optionGroups);const s=n/2;this._scrollTop=this._calculateOverlayScroll(r,s,i),this._offsetY=this._calculateOverlayOffsetY(r,s,i),this._checkOverlayWithinViewport(i)}_getOriginBasedOnOption(){const t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-e+t/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-select"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,aJ,5),Jc(n,wv,5),Jc(n,bv,5)),2&t){let t;Qc(t=tu())&&(e.customTrigger=t.first),Qc(t=tu())&&(e.options=t),Qc(t=tu())&&(e.optionGroups=t)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(t,e){1&t&&fa("keydown",function(t){return e._handleKeydown(t)})("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()}),2&t&&(Ko("id",e.id)("tabindex",e.tabIndex)("aria-controls",e.panelOpen?e.id+"-panel":null)("aria-expanded",e.panelOpen)("aria-label",e.ariaLabel||null)("aria-required",e.required.toString())("aria-disabled",e.disabled.toString())("aria-invalid",e.errorState)("aria-describedby",e._ariaDescribedby||null)("aria-activedescendant",e._getAriaActiveDescendant()),ja("mat-select-disabled",e.disabled)("mat-select-invalid",e.errorState)("mat-select-required",e.required)("mat-select-empty",e.empty)("mat-select-multiple",e.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[xl([{provide:BH,useExisting:t},{provide:pv,useExisting:t}]),jo],ngContentSelectors:JZ,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(t,e){if(1&t&&(wa(ZZ),ra(0,"div",0,1),fa("click",function(){return e.toggle()}),ra(3,"div",2),Jo(4,qZ,2,1,"span",3),Jo(5,KZ,3,2,"span",4),sa(),ra(6,"div",5),oa(7,"div",6),sa(),sa(),Jo(8,QZ,4,14,"ng-template",7),fa("backdropClick",function(){return e.close()})("attach",function(){return e._onAttached()})("detach",function(){return e.close()})),2&t){const t=ta(1);Ko("aria-owns",e.panelOpen?e.id+"-panel":null),ws(3),na("ngSwitch",e.empty),Ko("id",e._valueId),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1),ws(3),na("cdkConnectedOverlayPanelClass",e._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",e._scrollStrategy)("cdkConnectedOverlayOrigin",t)("cdkConnectedOverlayOpen",e.panelOpen)("cdkConnectedOverlayPositions",e._positions)("cdkConnectedOverlayMinWidth",null==e._triggerRect?null:e._triggerRect.width)("cdkConnectedOverlayOffsetY",e._offsetY)}},directives:[Hf,Rh,Nh,$f,Lh,Oh],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[tJ.transformPanelWrap,tJ.transformPanel]},changeDetection:0}),t})(),uJ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[rJ],imports:[[Wh,Wf,Cv,Wy],$p,ZH,Cv,Wy]}),t})();function hJ(t,e){if(1&t&&(ra(0,"mat-option",6),ra(1,"div"),Ja(2),sa(),sa()),2&t){const t=e.$implicit,n=va();na("value",t),ws(1),Va(n.optionsVisible),ws(1),el(" ",t," ")}}let dJ=(()=>{class t{constructor(t){this.ga=t,this.selectionChange=new Bc,this.optionsVisible="invisible"}toggleOptions(){this.optionsVisible="visible"===this.optionsVisible?"invisible":"visible"}selectionChanged(t){this.selection=t,this.ga.event("selection_change","dropdown",`${this.label}:${t}`),this.selectionChange.emit(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-dropdown"]],inputs:{label:"label",options:"options",selection:"selection"},outputs:{selectionChange:"selectionChange"},decls:7,vars:3,consts:[[1,"ccf-dropdown","wrapper"],[1,"container"],[1,"dropdown-form-field"],[1,"label"],["disableOptionCentering","true","panelClass","option-panel","disableRipple","true",1,"selected-value",3,"value","selectionChange","openedChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"mat-form-field",2),ra(3,"div",3),Ja(4),sa(),ra(5,"mat-select",4),fa("selectionChange",function(t){return e.selectionChanged(t.value)})("openedChange",function(){return e.toggleOptions()}),Jo(6,hJ,3,5,"mat-option",5),sa(),sa(),sa(),sa()),2&t&&(ws(4),el(" ",e.label," "),ws(1),na("value",e.selection),ws(1),na("ngForOf",e.options))},directives:[QH,cJ,kh,wv],styles:["@-webkit-keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dropdown-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:1em;padding-right:1em;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{font-size:.875rem;border:none}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix mat-select{font-size:1rem;font-weight:bold}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .option-panel{-webkit-animation:slideInHorizontalDropdown .3s;animation:slideInHorizontalDropdown .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;position:absolute!important;top:1.55rem;max-width:9.5rem} .option-panel .mat-option{border-bottom-width:1px;border-bottom-style:solid;padding-left:1em} .option-panel :last-child{border-bottom:none} .cdk-overlay-pane{min-width:0rem!important}.dropdown-form-field[_ngcontent-%COMP%]{height:3rem;width:100%}.dropdown-form-field[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{padding-bottom:.063rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem} .ccf-dropdown .mat-select-arrow-wrapper{transform:translatey(-.5em)}"],changeDetection:0}),t})();var pJ=n(25430),fJ=n(39053),gJ=n(26202);const mJ=["tooltipTemplate"],bJ=["leftOuterSelectionBar"],yJ=["rightOuterSelectionBar"],vJ=["fullBar"],_J=["selectionBar"],wJ=["minHandle"],xJ=["maxHandle"],SJ=["floorLabel"],CJ=["ceilLabel"],EJ=["minHandleLabel"],OJ=["maxHandleLabel"],TJ=["combinedLabel"],kJ=["ticksElement"];function PJ(t,e){if(1&t&&oa(0,"ng5-slider-tooltip-wrapper",31),2&t){const t=va().$implicit;na("template",va().tooltipTemplate)("tooltip",t.valueTooltip)("placement",t.valueTooltipPlacement)("content",t.value)}}function AJ(t,e){1&t&&oa(0,"span",32),2&t&&na("innerHTML",va().$implicit.legend,vr)}const MJ=function(t){return{"ng5-slider-selected":t}};function IJ(t,e){if(1&t&&(ra(0,"span",27),oa(1,"ng5-slider-tooltip-wrapper",28),Jo(2,PJ,1,4,"ng5-slider-tooltip-wrapper",29),Jo(3,AJ,1,1,"span",30),sa()),2&t){const t=e.$implicit,n=va();na("ngClass",Pc(7,MJ,t.selected))("ngStyle",t.style),ws(1),na("template",n.tooltipTemplate)("tooltip",t.tooltip)("placement",t.tooltipPlacement),ws(1),na("ngIf",null!=t.value),ws(1),na("ngIf",null!=t.legend)}}function DJ(t,e){}function RJ(t,e){1&t&&Jo(0,DJ,0,0,"ng-template")}const NJ=function(t,e,n){return{tooltip:t,placement:e,content:n}};function LJ(t,e){if(1&t&&(aa(0),Jo(1,RJ,1,0,void 0,1),la()),2&t){const t=va();ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Ac(2,NJ,t.tooltip,t.placement,t.content))}}function jJ(t,e){if(1&t&&(aa(0),ra(1,"div",2),Ja(2),sa(),la()),2&t){const t=va();ws(1),Ko("title",t.tooltip)("data-tooltip-placement",t.placement),ws(1),el(" ",t.content," ")}}const FJ={Min:0,Max:1};FJ[FJ.Min]="Min",FJ[FJ.Max]="Max";const BJ={Low:0,High:1,Floor:2,Ceil:3,TickValue:4};BJ[BJ.Low]="Low",BJ[BJ.High]="High",BJ[BJ.Floor]="Floor",BJ[BJ.Ceil]="Ceil",BJ[BJ.TickValue]="TickValue";class VJ{constructor(){this.floor=0,this.ceil=null,this.step=1,this.minRange=null,this.maxRange=null,this.pushRange=!1,this.minLimit=null,this.maxLimit=null,this.translate=null,this.combineLabels=null,this.getLegend=null,this.stepsArray=null,this.bindIndexForStepsArray=!1,this.draggableRange=!1,this.draggableRangeOnly=!1,this.showSelectionBar=!1,this.showSelectionBarEnd=!1,this.showSelectionBarFromValue=null,this.showOuterSelectionBars=!1,this.hidePointerLabels=!1,this.hideLimitLabels=!1,this.autoHideLimitLabels=!0,this.readOnly=!1,this.disabled=!1,this.mouseEventsInterval=50,this.touchEventsInterval=50,this.inputEventsInterval=100,this.outputEventsInterval=100,this.showTicks=!1,this.showTicksValues=!1,this.tickStep=null,this.tickValueStep=1,this.ticksArray=null,this.ticksTooltip=null,this.ticksValuesTooltip=null,this.vertical=!1,this.getSelectionBarColor=null,this.getTickColor=null,this.getPointerColor=null,this.keyboardSupport=!0,this.scale=1,this.enforceStep=!0,this.enforceRange=!0,this.noSwitching=!1,this.onlyBindHandles=!1,this.rightToLeft=!1,this.reversedControls=!1,this.boundPointerLabels=!0,this.logScale=!1,this.customValueToPosition=null,this.customPositionToValue=null,this.precisionLimit=12,this.selectionBarGradient=null,this.ariaLabel=null,this.ariaLabelledBy=null,this.ariaLabelHigh=null,this.ariaLabelledByHigh=null,this.handleDimension=null,this.barDimension=null,this.animate=!0}}class zJ{}class UJ{static isNullOrUndefined(t){return null==t}static linearValueToPosition(t,e,n){return(t-e)/(n-e)}static logValueToPosition(t,e,n){return((t=Math.log(t))-(e=Math.log(e)))/((n=Math.log(n))-e)}static linearPositionToValue(t,e,n){return t*(n-e)+e}static logPositionToValue(t,e,n){return e=Math.log(e),n=Math.log(n),Math.exp(t*(n-e)+e)}static findStepIndex(t,e){const n=e.map(e=>Math.abs(t-e.value));let i=0;for(let r=0;r{r.events.next(t)};return t.addEventListener(e,s,{passive:!0,capture:!1}),r.teardownCallback=()=>{t.removeEventListener(e,s,{passive:!0,capture:!1})},r.eventsSubscription=r.events.pipe(UJ.isNullOrUndefined(i)?(0,fJ.tap)(()=>{}):(0,fJ.throttleTime)(i,void 0,{leading:!0,trailing:!0})).subscribe(t=>{n(t)}),r}detachEventListener(t){UJ.isNullOrUndefined(t.eventsSubscription)||(t.eventsSubscription.unsubscribe(),t.eventsSubscription=null),UJ.isNullOrUndefined(t.events)||(t.events.complete(),t.events=null),UJ.isNullOrUndefined(t.teardownCallback)||(t.teardownCallback(),t.teardownCallback=null)}attachEventListener(t,e,n,i){const r=new GJ;return r.eventName=e,r.events=new pJ.xQ,r.teardownCallback=this.renderer.listen(t,e,t=>{r.events.next(t)}),r.eventsSubscription=r.events.pipe(UJ.isNullOrUndefined(i)?(0,fJ.tap)(()=>{}):(0,fJ.throttleTime)(i,void 0,{leading:!0,trailing:!0})).subscribe(t=>{n(t)}),r}}let qJ=(()=>{class t{constructor(t,e,n){this.elemRef=t,this.renderer=e,this.changeDetectionRef=n,this._position=0,this._dimension=0,this._alwaysHide=!1,this._vertical=!1,this._scale=1,this.opacity=1,this.visibility="visible",this.left="",this.bottom="",this.height="",this.width="",this.eventListeners=[],this.eventListenerHelper=new WJ(this.renderer)}get position(){return this._position}get dimension(){return this._dimension}get alwaysHide(){return this._alwaysHide}get vertical(){return this._vertical}get scale(){return this._scale}setAlwaysHide(t){this._alwaysHide=t,this.visibility=t?"hidden":"visible"}hide(){this.opacity=0}show(){this.alwaysHide||(this.opacity=1)}isVisible(){return!this.alwaysHide&&0!==this.opacity}setVertical(t){this._vertical=t,this._vertical?(this.left="",this.width=""):(this.bottom="",this.height="")}setScale(t){this._scale=t}setPosition(t){this._position!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._position=t,this._vertical?this.bottom=Math.round(t)+"px":this.left=Math.round(t)+"px"}calculateDimension(){const t=this.getBoundingClientRect();this._dimension=this.vertical?(t.bottom-t.top)*this.scale:(t.right-t.left)*this.scale}setDimension(t){this._dimension!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._dimension=t,this._vertical?this.height=Math.round(t)+"px":this.width=Math.round(t)+"px"}getBoundingClientRect(){return this.elemRef.nativeElement.getBoundingClientRect()}on(t,e,n){const i=this.eventListenerHelper.attachEventListener(this.elemRef.nativeElement,t,e,n);this.eventListeners.push(i)}onPassive(t,e,n){const i=this.eventListenerHelper.attachPassiveEventListener(this.elemRef.nativeElement,t,e,n);this.eventListeners.push(i)}off(t){let e,n;UJ.isNullOrUndefined(t)?(e=[],n=this.eventListeners):(e=this.eventListeners.filter(e=>e.eventName!==t),n=this.eventListeners.filter(e=>e.eventName===t));for(const i of n)this.eventListenerHelper.detachEventListener(i);this.eventListeners=e}isRefDestroyed(){return UJ.isNullOrUndefined(this.changeDetectionRef)||this.changeDetectionRef.destroyed}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderElement",""]],hostVars:12,hostBindings:function(t,e){2&t&&La("opacity",e.opacity)("visibility",e.visibility)("left",e.left)("bottom",e.bottom)("height",e.height)("width",e.width)}}),t})(),YJ=(()=>{class t extends qJ{constructor(t,e,n){super(t,e,n),this.active=!1,this.role="",this.tabindex="",this.ariaOrientation="",this.ariaLabel="",this.ariaLabelledBy="",this.ariaValueNow="",this.ariaValueText="",this.ariaValueMin="",this.ariaValueMax=""}focus(){this.elemRef.nativeElement.focus()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderHandle",""]],hostVars:11,hostBindings:function(t,e){2&t&&(Ko("role",e.role)("tabindex",e.tabindex)("aria-orientation",e.ariaOrientation)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledBy)("aria-valuenow",e.ariaValueNow)("aria-valuetext",e.ariaValueText)("aria-valuemin",e.ariaValueMin)("aria-valuemax",e.ariaValueMax),ja("ng5-slider-active",e.active))},features:[jo]}),t})(),XJ=(()=>{class t extends qJ{constructor(t,e,n){super(t,e,n),this._value=null}get value(){return this._value}setValue(t){let e=!1;!this.alwaysHide&&(UJ.isNullOrUndefined(this.value)||this.value.length!==t.length||this.value.length>0&&0===this.dimension)&&(e=!0),this._value=t,this.elemRef.nativeElement.innerHTML=t,e&&this.calculateDimension()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderLabel",""]],features:[jo]}),t})();class KJ{constructor(){this.selected=!1,this.style={},this.tooltip=null,this.tooltipPlacement=null,this.value=null,this.valueTooltip=null,this.valueTooltipPlacement=null,this.legend=null}}class QJ{constructor(){this.active=!1,this.value=0,this.difference=0,this.position=0,this.lowLimit=0,this.highLimit=0}}class ZJ{static compare(t,e){return!(UJ.isNullOrUndefined(t)&&UJ.isNullOrUndefined(e)||UJ.isNullOrUndefined(t)!==UJ.isNullOrUndefined(e))&&t.value===e.value&&t.highValue===e.highValue}}class JJ extends ZJ{static compare(t,e){return!(UJ.isNullOrUndefined(t)&&UJ.isNullOrUndefined(e)||UJ.isNullOrUndefined(t)!==UJ.isNullOrUndefined(e))&&t.value===e.value&&t.highValue===e.highValue&&t.forceChange===e.forceChange}}const t0={provide:aU,useExisting:pt(()=>e0),multi:!0};let e0=(()=>{class t{constructor(t,e,n,i){this.renderer=t,this.elementRef=e,this.changeDetectionRef=n,this.zone=i,this.value=null,this.valueChange=new Bc,this.highValue=null,this.highValueChange=new Bc,this.options=new VJ,this.userChangeStart=new Bc,this.userChange=new Bc,this.userChangeEnd=new Bc,this.initHasRun=!1,this.inputModelChangeSubject=new pJ.xQ,this.inputModelChangeSubscription=null,this.outputModelChangeSubject=new pJ.xQ,this.outputModelChangeSubscription=null,this.viewLowValue=null,this.viewHighValue=null,this.viewOptions=new VJ,this.handleHalfDimension=0,this.maxHandlePosition=0,this.currentTrackingPointer=null,this.currentFocusPointer=null,this.firstKeyDown=!1,this.touchId=null,this.dragging=new QJ,this.sliderElementVerticalClass=!1,this.sliderElementAnimateClass=!1,this.sliderElementDisabledAttr=null,this.barStyle={},this.minPointerStyle={},this.maxPointerStyle={},this.fullBarTransparentClass=!1,this.selectionBarDraggableClass=!1,this.ticksUnderValuesClass=!1,this.intermediateTicks=!1,this.ticks=[],this.eventListenerHelper=null,this.onMoveEventListener=null,this.onEndEventListener=null,this.resizeObserver=null,this.onTouchedCallback=null,this.onChangeCallback=null,this.eventListenerHelper=new WJ(this.renderer)}set manualRefresh(t){this.unsubscribeManualRefresh(),this.manualRefreshSubscription=t.subscribe(()=>{setTimeout(()=>this.calculateViewDimensionsAndDetectChanges())})}set triggerFocus(t){this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=t.subscribe(t=>{this.focusPointer(t)})}get range(){return!UJ.isNullOrUndefined(this.value)&&!UJ.isNullOrUndefined(this.highValue)}get showTicks(){return this.viewOptions.showTicks}ngOnInit(){this.viewOptions=new VJ,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState()}ngAfterViewInit(){this.applyOptions(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval),this.subscribeOutputModelChangeSubject(this.viewOptions.outputEventsInterval),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}ngOnChanges(t){UJ.isNullOrUndefined(t.options)||this.onChangeOptions(),(!UJ.isNullOrUndefined(t.value)||!UJ.isNullOrUndefined(t.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}ngOnDestroy(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}writeValue(t){t instanceof Array?(this.value=t[0],this.highValue=t[1]):this.value=t,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}registerOnChange(t){this.onChangeCallback=t}registerOnTouched(t){this.onTouchedCallback=t}setDisabledState(t){this.viewOptions.disabled=t,this.updateDisabledState()}onResize(t){this.calculateViewDimensionsAndDetectChanges()}subscribeInputModelChangeSubject(t){this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe((0,fJ.distinctUntilChanged)(JJ.compare),(0,fJ.filter)(t=>!t.forceChange&&!t.internalChange),UJ.isNullOrUndefined(t)?(0,fJ.tap)(()=>{}):(0,fJ.throttleTime)(t,void 0,{leading:!0,trailing:!0})).subscribe(t=>this.applyInputModelChange(t))}subscribeOutputModelChangeSubject(t){this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe((0,fJ.distinctUntilChanged)(JJ.compare),UJ.isNullOrUndefined(t)?(0,fJ.tap)(()=>{}):(0,fJ.throttleTime)(t,void 0,{leading:!0,trailing:!0})).subscribe(t=>this.publishOutputModelChange(t))}subscribeResizeObserver(){HJ.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(()=>this.calculateViewDimensionsAndDetectChanges()),this.resizeObserver.observe(this.elementRef.nativeElement))}unsubscribeResizeObserver(){HJ.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}unsubscribeOnMove(){UJ.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}unsubscribeOnEnd(){UJ.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}unsubscribeInputModelChangeSubject(){UJ.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}unsubscribeOutputModelChangeSubject(){UJ.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}unsubscribeManualRefresh(){UJ.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}unsubscribeTriggerFocus(){UJ.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}getPointerElement(t){return t===FJ.Min?this.minHandleElement:t===FJ.Max?this.maxHandleElement:null}getCurrentTrackingValue(){return this.currentTrackingPointer===FJ.Min?this.viewLowValue:this.currentTrackingPointer===FJ.Max?this.viewHighValue:null}modelValueToViewValue(t){return UJ.isNullOrUndefined(t)?NaN:UJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+t:UJ.findStepIndex(+t,this.viewOptions.stepsArray)}viewValueToModelValue(t){return UJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?t:this.getStepValue(t)}getStepValue(t){const e=this.viewOptions.stepsArray[t];return UJ.isNullOrUndefined(e)?NaN:e.value}applyViewChange(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!0})}applyInputModelChange(t){const e=this.normaliseModelValues(t),n=!ZJ.compare(t,e);n&&(this.value=e.value,this.highValue=e.highValue),this.viewLowValue=this.modelValueToViewValue(e.value),this.viewHighValue=this.range?this.modelValueToViewValue(e.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:e.value,highValue:e.highValue,forceChange:n,userEventInitiated:!1})}publishOutputModelChange(t){const e=()=>{this.valueChange.emit(t.value),this.range&&this.highValueChange.emit(t.highValue),UJ.isNullOrUndefined(this.onChangeCallback)||this.onChangeCallback(this.range?[t.value,t.highValue]:t.value),UJ.isNullOrUndefined(this.onTouchedCallback)||this.onTouchedCallback(this.range?[t.value,t.highValue]:t.value)};t.userEventInitiated?(e(),this.userChange.emit(this.getChangeContext())):setTimeout(()=>{e()})}normaliseModelValues(t){const e=new ZJ;if(e.value=t.value,e.highValue=t.highValue,this.viewOptions.enforceStep&&(e.value=this.roundStep(e.value),this.range&&(e.highValue=this.roundStep(e.highValue))),!UJ.isNullOrUndefined(this.viewOptions.stepsArray)||!this.viewOptions.enforceRange)return e;if(e.value=$J.clampToRange(e.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(e.highValue=$J.clampToRange(e.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&t.value>t.highValue)if(this.viewOptions.noSwitching)e.value=e.highValue;else{const n=t.value;e.value=t.highValue,e.highValue=n}return e}renormaliseModelValues(){const t={value:this.value,highValue:this.highValue},e=this.normaliseModelValues(t);ZJ.compare(e,t)||(this.value=e.value,this.highValue=e.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!0,userEventInitiated:!1}))}onChangeOptions(){if(!this.initHasRun)return;const t=this.viewOptions.inputEventsInterval,e=this.viewOptions.outputEventsInterval;this.applyOptions(),t!==this.viewOptions.inputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval)),e!==this.viewOptions.outputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.outputEventsInterval)),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider()}applyOptions(){if(this.viewOptions=new VJ,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!UJ.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!UJ.isNullOrUndefined(this.viewOptions.tickStep)||!UJ.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!UJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),UJ.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),UJ.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=(t,e)=>t+" - "+e),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}applyStepsArrayOptions(){this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,UJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(this.viewOptions.bindIndexForStepsArray?this.getStepValue(t):t)),this.viewOptions.getLegend=t=>this.viewOptions.stepsArray[t].legend}applyFloorCeilOptions(){if(UJ.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),UJ.isNullOrUndefined(this.viewOptions.ceil)||UJ.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,UJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(t))}resetSlider(){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.unbindEvents(),this.manageEventsBindings(),this.updateDisabledState(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}focusPointer(t){t!==FJ.Min&&t!==FJ.Max&&(t=FJ.Min),t===FJ.Min?this.minHandleElement.focus():this.range&&t===FJ.Max&&this.maxHandleElement.focus()}refocusPointerIfNeeded(){UJ.isNullOrUndefined(this.currentFocusPointer)||(this.onPointerFocus(this.currentFocusPointer),this.getPointerElement(this.currentFocusPointer).focus())}manageElementsStyle(){this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);const t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(()=>{this.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate})}manageEventsBindings(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}updateDisabledState(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}updateVerticalState(){this.sliderElementVerticalClass=this.viewOptions.vertical;for(const t of this.getAllSliderElements())UJ.isNullOrUndefined(t)||t.setVertical(this.viewOptions.vertical)}updateScale(){for(const t of this.getAllSliderElements())t.setScale(this.viewOptions.scale)}getAllSliderElements(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}initHandles(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}addAccessibility(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.viewOptions.vertical&&(this.minHandleElement.ariaOrientation="vertical"),UJ.isNullOrUndefined(this.viewOptions.ariaLabel)?UJ.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical?"vertical":"horizontal",UJ.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?UJ.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}updateAriaAttributes(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,BJ.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,BJ.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}calculateViewDimensions(){UJ.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);const t=this.minHandleElement.dimension;this.handleHalfDimension=t/2,UJ.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-t,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}calculateViewDimensionsAndDetectChanges(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}isRefDestroyed(){return this.changeDetectionRef.destroyed}updateTicksScale(){if(!this.viewOptions.showTicks)return;const t=UJ.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,e=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();const n=t.map(t=>{let n=this.valueToPosition(t);this.viewOptions.vertical&&(n=this.maxHandlePosition-n);const i=e+"("+Math.round(n)+"px)",r=new KJ;if(r.selected=this.isTickSelected(t),r.style={"-webkit-transform":i,"-moz-transform":i,"-o-transform":i,"-ms-transform":i,transform:i},r.selected&&!UJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)&&(r.style["background-color"]=this.getSelectionBarColor()),!r.selected&&!UJ.isNullOrUndefined(this.viewOptions.getTickColor)&&(r.style["background-color"]=this.getTickColor(t)),UJ.isNullOrUndefined(this.viewOptions.ticksTooltip)||(r.tooltip=this.viewOptions.ticksTooltip(t),r.tooltipPlacement=this.viewOptions.vertical?"right":"top"),this.viewOptions.showTicksValues&&t%this.viewOptions.tickValueStep==0&&(r.value=this.getDisplayValue(t,BJ.TickValue),UJ.isNullOrUndefined(this.viewOptions.ticksValuesTooltip)||(r.valueTooltip=this.viewOptions.ticksValuesTooltip(t),r.valueTooltipPlacement=this.viewOptions.vertical?"right":"top")),!UJ.isNullOrUndefined(this.viewOptions.getLegend)){const e=this.viewOptions.getLegend(t);UJ.isNullOrUndefined(e)||(r.legend=e)}return r});if(UJ.isNullOrUndefined(this.ticks)||this.ticks.length!==n.length)this.ticks=n;else for(let i=0;i=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&t<=this.viewLowValue)return!0}else{const e=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>e&&t>=e&&t<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&t>=this.viewLowValue&&t<=this.viewHighValue)}updateFloorLabel(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,BJ.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}updateCeilLabel(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,BJ.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}updateHandles(t,e){t===FJ.Min?this.updateLowHandle(e):t===FJ.Max&&this.updateHighHandle(e),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}getHandleLabelPos(t,e){const n=t===FJ.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,i=e-n/2+this.handleHalfDimension,r=this.fullBarElement.dimension-n;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&t===FJ.Min||!this.viewOptions.rightToLeft&&t===FJ.Max?Math.min(i,r):Math.min(Math.max(i,0),r):i}updateLowHandle(t){this.minHandleElement.setPosition(t),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,BJ.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(FJ.Min,t)),UJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(FJ.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateHighHandle(t){this.maxHandleElement.setPosition(t),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,BJ.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(FJ.Max,t)),UJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(FJ.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateFloorAndCeilLabelsVisibility(){if(this.viewOptions.hidePointerLabels)return;let t=!1,e=!1;const n=this.isLabelBelowFloorLabel(this.minHandleLabelElement),i=this.isLabelAboveCeilLabel(this.minHandleLabelElement),r=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),s=this.isLabelBelowFloorLabel(this.combinedLabelElement),o=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(n?(t=!0,this.floorLabelElement.hide()):(t=!1,this.floorLabelElement.show()),i?(e=!0,this.ceilLabelElement.hide()):(e=!1,this.ceilLabelElement.show()),this.range){const i=this.combinedLabelElement.isVisible()?o:r,a=this.combinedLabelElement.isVisible()?s:n;i?this.ceilLabelElement.hide():e||this.ceilLabelElement.show(),a?this.floorLabelElement.hide():t||this.floorLabelElement.show()}}isLabelBelowFloorLabel(t){const e=t.position,n=this.floorLabelElement.position;return this.viewOptions.rightToLeft?e+t.dimension>=n-2:e<=n+this.floorLabelElement.dimension+2}isLabelAboveCeilLabel(t){const e=t.position,n=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?e<=n+this.ceilLabelElement.dimension+2:e+t.dimension>=n-2}updateSelectionBar(){let t=0,e=0;const n=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,i=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)e=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),t=i;else if(UJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))n?(e=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),t=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(e=this.minHandleElement.position+this.handleHalfDimension,t=0);else{const n=this.viewOptions.showSelectionBarFromValue,i=this.valueToPosition(n);(this.viewOptions.rightToLeft?this.viewLowValue<=n:this.viewLowValue>n)?(e=this.minHandleElement.position-i,t=i+this.handleHalfDimension):(e=i-this.minHandleElement.position,t=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(e),this.selectionBarElement.setPosition(t),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(t),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+e)),this.leftOuterSelectionBarElement.setPosition(t+e)):(this.leftOuterSelectionBarElement.setDimension(t),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+e)),this.rightOuterSelectionBarElement.setPosition(t+e))),UJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!UJ.isNullOrUndefined(this.viewOptions.selectionBarGradient)){const i=UJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),r=i-t>0&&!n||i-t<=0&&n;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?r?"bottom":"top":r?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(i+e+t+(r?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=i-t+(r?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{const t=this.getSelectionBarColor();this.barStyle={backgroundColor:t}}}getSelectionBarColor(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}getPointerColor(t){return this.viewOptions.getPointerColor(t===FJ.Max?this.highValue:this.value,t)}getTickColor(t){return this.viewOptions.getTickColor(t)}updateCombinedLabel(){let t=null;if(t=this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position,t){const t=this.getDisplayValue(this.viewLowValue,BJ.Low),e=this.getDisplayValue(this.viewHighValue,BJ.High),n=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(e,t):this.viewOptions.combineLabels(t,e);this.combinedLabelElement.setValue(n);const i=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(i),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}getDisplayValue(t,e){return!UJ.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(t=this.getStepValue(t)),this.viewOptions.translate(t,e)}roundStep(t,e){const n=UJ.isNullOrUndefined(e)?this.viewOptions.step:e;let i=$J.roundToPrecisionLimit((t-this.viewOptions.floor)/n,this.viewOptions.precisionLimit);return i=Math.round(i)*n,$J.roundToPrecisionLimit(this.viewOptions.floor+i,this.viewOptions.precisionLimit)}valueToPosition(t){let e=UJ.linearValueToPosition;UJ.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(e=UJ.logValueToPosition):e=this.viewOptions.customValueToPosition;let n=e(t=$J.clampToRange(t,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return UJ.isNullOrUndefined(n)&&(n=0),this.viewOptions.rightToLeft&&(n=1-n),n*this.maxHandlePosition}positionToValue(t){let e=t/this.maxHandlePosition;this.viewOptions.rightToLeft&&(e=1-e);let n=UJ.linearPositionToValue;UJ.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(n=UJ.logPositionToValue):n=this.viewOptions.customPositionToValue;const i=n(e,this.viewOptions.floor,this.viewOptions.ceil);return UJ.isNullOrUndefined(i)?0:i}getEventXY(t,e){if(t instanceof MouseEvent)return this.viewOptions.vertical?t.clientY:t.clientX;let n=0;const i=t.touches;if(!UJ.isNullOrUndefined(e))for(let r=0;ri?FJ.Max:this.viewOptions.rightToLeft?e>this.minHandleElement.position?FJ.Min:FJ.Max:ethis.onBarStart(null,t,e,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.on("mousedown",e=>this.onBarStart(FJ.Min,t,e,!0,!0)),this.maxHandleElement.on("mousedown",e=>this.onBarStart(FJ.Max,t,e,!0,!0))):(this.minHandleElement.on("mousedown",t=>this.onStart(FJ.Min,t,!0,!0)),this.range&&this.maxHandleElement.on("mousedown",t=>this.onStart(FJ.Max,t,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.on("mousedown",t=>this.onStart(null,t,!0,!0,!0)),this.ticksElement.on("mousedown",t=>this.onStart(null,t,!0,!0,!0,!0)))),this.viewOptions.onlyBindHandles||this.selectionBarElement.onPassive("touchstart",e=>this.onBarStart(null,t,e,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.onPassive("touchstart",e=>this.onBarStart(FJ.Min,t,e,!0,!0)),this.maxHandleElement.onPassive("touchstart",e=>this.onBarStart(FJ.Max,t,e,!0,!0))):(this.minHandleElement.onPassive("touchstart",t=>this.onStart(FJ.Min,t,!0,!0)),this.range&&this.maxHandleElement.onPassive("touchstart",t=>this.onStart(FJ.Max,t,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.onPassive("touchstart",t=>this.onStart(null,t,!0,!0,!0)),this.ticksElement.onPassive("touchstart",t=>this.onStart(null,t,!1,!1,!0,!0)))),this.viewOptions.keyboardSupport&&(this.minHandleElement.on("focus",()=>this.onPointerFocus(FJ.Min)),this.range&&this.maxHandleElement.on("focus",()=>this.onPointerFocus(FJ.Max)))}unbindEvents(){this.unsubscribeOnMove(),this.unsubscribeOnEnd();for(const t of this.getAllSliderElements())UJ.isNullOrUndefined(t)||t.off()}onBarStart(t,e,n,i,r,s,o){e?this.onDragStart(t,n,i,r):this.onStart(t,n,i,r,s,o)}onStart(t,e,n,i,r,s){e.stopPropagation(),(!HJ.isTouchEvent(e)||!gJ.Z.hasSupport)&&e.preventDefault(),this.calculateViewDimensions(),UJ.isNullOrUndefined(t)&&(t=this.getNearestHandle(e)),this.currentTrackingPointer=t;const o=this.getPointerElement(t);if(o.active=!0,this.viewOptions.keyboardSupport&&o.focus(),n){this.unsubscribeOnMove();const t=t=>this.dragging.active?this.onDragMove(t):this.onMove(t);this.onMoveEventListener=HJ.isTouchEvent(e)?this.eventListenerHelper.attachPassiveEventListener(document,"touchmove",t,this.viewOptions.touchEventsInterval):this.eventListenerHelper.attachEventListener(document,"mousemove",t,this.viewOptions.mouseEventsInterval)}if(i){this.unsubscribeOnEnd();const t=t=>this.onEnd(t);this.onEndEventListener=HJ.isTouchEvent(e)?this.eventListenerHelper.attachPassiveEventListener(document,"touchend",t):this.eventListenerHelper.attachEventListener(document,"mouseup",t)}this.userChangeStart.emit(this.getChangeContext()),HJ.isTouchEvent(e)&&!UJ.isNullOrUndefined(e.changedTouches)&&UJ.isNullOrUndefined(this.touchId)&&(this.touchId=e.changedTouches[0].identifier),r&&this.onMove(e,!0),s&&this.onEnd(e)}onMove(t,e){let n=null;if(HJ.isTouchEvent(t)){const e=t.changedTouches;for(let t=0;t=this.maxHandlePosition?r=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(r=this.positionToValue(i),r=e&&!UJ.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(r,this.viewOptions.tickStep):this.roundStep(r)),this.positionTrackingHandle(r)}onEnd(t){HJ.isTouchEvent(t)&&t.changedTouches[0].identifier!==this.touchId||(this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext()))}onPointerFocus(t){const e=this.getPointerElement(t);e.on("blur",()=>this.onPointerBlur(e)),e.on("keydown",t=>this.onKeyboardEvent(t)),e.on("keyup",()=>this.onKeyUp()),e.active=!0,this.currentTrackingPointer=t,this.currentFocusPointer=t,this.firstKeyDown=!0}onKeyUp(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}onPointerBlur(t){t.off("blur"),t.off("keydown"),t.off("keyup"),t.active=!1,UJ.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}getKeyActions(t){const e=this.viewOptions.ceil-this.viewOptions.floor;let n=t+this.viewOptions.step,i=t-this.viewOptions.step,r=t+e/10,s=t-e/10;this.viewOptions.reversedControls&&(n=t-this.viewOptions.step,i=t+this.viewOptions.step,r=t-e/10,s=t+e/10);const o={UP:n,DOWN:i,LEFT:i,RIGHT:n,PAGEUP:r,PAGEDOWN:s,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(o.LEFT=n,o.RIGHT=i,this.viewOptions.vertical&&(o.UP=i,o.DOWN=n)),o}onKeyboardEvent(t){const e=this.getCurrentTrackingValue(),n=UJ.isNullOrUndefined(t.keyCode)?t.which:t.keyCode,i=this.getKeyActions(e)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[n]];if(UJ.isNullOrUndefined(i)||UJ.isNullOrUndefined(this.currentTrackingPointer))return;t.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));const r=$J.clampToRange(i,this.viewOptions.floor,this.viewOptions.ceil),s=this.roundStep(r);if(this.viewOptions.draggableRangeOnly){const t=this.viewHighValue-this.viewLowValue;let e,n;this.currentTrackingPointer===FJ.Min?(e=s,n=s+t,n>this.viewOptions.ceil&&(n=this.viewOptions.ceil,e=n-t)):this.currentTrackingPointer===FJ.Max&&(n=s,e=s-t,e=this.maxHandlePosition-n;let a,l;if(e<=i){if(0===r.position)return;a=this.getMinValue(e,!0,!1),l=this.getMaxValue(e,!0,!1)}else if(o){if(s.position===this.maxHandlePosition)return;l=this.getMaxValue(e,!0,!0),a=this.getMinValue(e,!0,!0)}else a=this.getMinValue(e,!1,!1),l=this.getMaxValue(e,!1,!1);this.positionTrackingBar(a,l)}positionTrackingBar(t,e){!UJ.isNullOrUndefined(this.viewOptions.minLimit)&&tthis.viewOptions.maxLimit&&(t=$J.roundToPrecisionLimit((e=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=t,this.viewHighValue=e,this.applyViewChange(),this.updateHandles(FJ.Min,this.valueToPosition(t)),this.updateHandles(FJ.Max,this.valueToPosition(e))}positionTrackingHandle(t){t=this.applyMinMaxLimit(t),this.range&&(this.viewOptions.pushRange?t=this.applyPushRange(t):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===FJ.Min&&t>this.viewHighValue?t=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===FJ.Max&&tthis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(FJ.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=FJ.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===FJ.Max&&tthis.viewOptions.maxLimit?this.viewOptions.maxLimit:t}applyMinMaxRange(t){const e=Math.abs(t-(this.currentTrackingPointer===FJ.Min?this.viewHighValue:this.viewLowValue));if(!UJ.isNullOrUndefined(this.viewOptions.minRange)&&ethis.viewOptions.maxRange){if(this.currentTrackingPointer===FJ.Min)return $J.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===FJ.Max)return $J.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return t}applyPushRange(t){const e=this.currentTrackingPointer===FJ.Min?this.viewHighValue-t:t-this.viewLowValue,n=UJ.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,i=this.viewOptions.maxRange;return ei&&(this.currentTrackingPointer===FJ.Min?(this.viewHighValue=$J.roundToPrecisionLimit(t+i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(FJ.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===FJ.Max&&(this.viewLowValue=$J.roundToPrecisionLimit(t-i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(FJ.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),t}getChangeContext(){const t=new zJ;return t.pointerType=this.currentTrackingPointer,t.value=+this.value,this.range&&(t.highValue=+this.highValue),t}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al),ea(nc),ea(Tu))},t.\u0275cmp=Jt({type:t,selectors:[["ng5-slider"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,mJ,5),2&t){let t;Qc(t=tu())&&(e.tooltipTemplate=t.first)}},viewQuery:function(t,e){if(1&t&&(Zc(bJ,5,qJ),Zc(yJ,5,qJ),Zc(vJ,5,qJ),Zc(_J,5,qJ),Zc(wJ,5,YJ),Zc(xJ,5,YJ),Zc(SJ,5,XJ),Zc(CJ,5,XJ),Zc(EJ,5,XJ),Zc(OJ,5,XJ),Zc(TJ,5,XJ),Zc(kJ,5,qJ)),2&t){let t;Qc(t=tu())&&(e.leftOuterSelectionBarElement=t.first),Qc(t=tu())&&(e.rightOuterSelectionBarElement=t.first),Qc(t=tu())&&(e.fullBarElement=t.first),Qc(t=tu())&&(e.selectionBarElement=t.first),Qc(t=tu())&&(e.minHandleElement=t.first),Qc(t=tu())&&(e.maxHandleElement=t.first),Qc(t=tu())&&(e.floorLabelElement=t.first),Qc(t=tu())&&(e.ceilLabelElement=t.first),Qc(t=tu())&&(e.minHandleLabelElement=t.first),Qc(t=tu())&&(e.maxHandleLabelElement=t.first),Qc(t=tu())&&(e.combinedLabelElement=t.first),Qc(t=tu())&&(e.ticksElement=t.first)}},hostAttrs:[1,"ng5-slider"],hostVars:5,hostBindings:function(t,e){1&t&&fa("resize",function(t){return e.onResize(t)},!1,Ar),2&t&&(Ko("disabled",e.sliderElementDisabledAttr),ja("vertical",e.sliderElementVerticalClass)("animate",e.sliderElementAnimateClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},features:[xl([t0]),ye],decls:29,vars:13,consts:[["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-left-out-selection"],["leftOuterSelectionBar",""],[1,"ng5-slider-span","ng5-slider-bar"],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-right-out-selection"],["rightOuterSelectionBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-full-bar"],["fullBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-selection-bar"],["selectionBar",""],[1,"ng5-slider-span","ng5-slider-bar","ng5-slider-selection",3,"ngStyle"],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-min",3,"ngStyle"],["minHandle",""],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-max",3,"ngStyle"],["maxHandle",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-floor"],["floorLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-ceil"],["ceilLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-value"],["minHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-high"],["maxHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-combined"],["combinedLabel",""],["ng5SliderElement","",1,"ng5-slider-ticks",3,"hidden"],["ticksElement",""],["class","ng5-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ng5-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ng5-slider-span ng5-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ng5-slider-span ng5-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ng5-slider-span","ng5-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ng5-slider-span","ng5-slider-tick-legend",3,"innerHTML"]],template:function(t,e){1&t&&(ra(0,"span",0,1),oa(2,"span",2),sa(),ra(3,"span",3,4),oa(5,"span",2),sa(),ra(6,"span",5,6),oa(8,"span",2),sa(),ra(9,"span",7,8),oa(11,"span",9),sa(),oa(12,"span",10,11),oa(14,"span",12,13),oa(16,"span",14,15),oa(18,"span",16,17),oa(20,"span",18,19),oa(22,"span",20,21),oa(24,"span",22,23),ra(26,"span",24,25),Jo(28,IJ,4,9,"span",26),sa()),2&t&&(ws(6),ja("ng5-slider-transparent",e.fullBarTransparentClass),ws(3),ja("ng5-slider-draggable",e.selectionBarDraggableClass),ws(2),na("ngStyle",e.barStyle),ws(1),na("ngStyle",e.minPointerStyle),ws(2),La("display",e.range?"inherit":"none"),na("ngStyle",e.maxPointerStyle),ws(12),ja("ng5-slider-ticks-values-under",e.ticksUnderValuesClass),na("hidden",!e.showTicks),ws(2),na("ngForOf",e.ticks))},directives:function(){return[qJ,jh,YJ,XJ,kh,Oh,n0,Ah]},styles:[".ng5-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y} .ng5-slider.with-legend{margin-bottom:40px} .ng5-slider[disabled]{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ng5-slider[disabled] .ng5-slider-draggable{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-selection{background:#8b91a2} .ng5-slider[disabled] .ng5-slider-tick{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-tick.ng5-slider-selected{background:#8b91a2} .ng5-slider .ng5-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ng5-slider .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider .ng5-slider-bar-wrapper{left:0;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ng5-slider .ng5-slider-draggable{cursor:move} .ng5-slider .ng5-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;border-radius:2px} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-transparent .ng5-slider-bar{background:0 0} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-left-out-selection .ng5-slider-bar{background:#df002d} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-right-out-selection .ng5-slider-bar{background:#03a688} .ng5-slider .ng5-slider-selection{z-index:2;background:#0db9f0;border-radius:2px} .ng5-slider .ng5-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;border-radius:16px} .ng5-slider .ng5-slider-pointer:after{content:'';width:8px;height:8px;position:absolute;top:12px;left:12px;border-radius:4px;background:#fff} .ng5-slider .ng5-slider-pointer:hover:after{background-color:#fff} .ng5-slider .ng5-slider-pointer.ng5-slider-active{z-index:4} .ng5-slider .ng5-slider-pointer.ng5-slider-active:after{background-color:#451aff} .ng5-slider .ng5-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ng5-slider .ng5-slider-bubble.ng5-slider-limit{color:#55637d} .ng5-slider .ng5-slider-ticks{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ng5-slider .ng5-slider-ticks-values-under .ng5-slider-tick-value{top:auto;bottom:-36px} .ng5-slider .ng5-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ng5-slider .ng5-slider-tick.ng5-slider-selected{background:#0db9f0} .ng5-slider .ng5-slider-tick-value{position:absolute;top:-34px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)} .ng5-slider .ng5-slider-tick-legend{position:absolute;top:24px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);max-width:50px;white-space:normal} .ng5-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;-ms-touch-action:pan-x;touch-action:pan-x} .ng5-slider.vertical .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider.vertical .ng5-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ng5-slider.vertical .ng5-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ng5-slider.vertical .ng5-slider-pointer{left:-14px!important;top:auto;bottom:0} .ng5-slider.vertical .ng5-slider-bubble{left:16px!important;bottom:0} .ng5-slider.vertical .ng5-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ng5-slider.vertical .ng5-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ng5-slider.vertical .ng5-slider-tick-value{left:24px;top:auto;-webkit-transform:translate(0,-28%);transform:translate(0,-28%)} .ng5-slider.vertical .ng5-slider-tick-legend{top:auto;right:24px;-webkit-transform:translate(0,-28%);transform:translate(0,-28%);max-width:none;white-space:nowrap} .ng5-slider.vertical .ng5-slider-ticks-values-under .ng5-slider-tick-value{bottom:auto;left:auto;right:24px} .ng5-slider *{-webkit-transition:none;transition:none} .ng5-slider.animate .ng5-slider-bar-wrapper{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-selection{-webkit-transition:background-color linear .3s;transition:background-color linear .3s} .ng5-slider.animate .ng5-slider-pointer{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-limit{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-combined{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-tick{-webkit-transition:background-color linear .3s;transition:background-color linear .3s}"]}),t})(),n0=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ng5-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng5-slider-inner-tooltip"]],template:function(t,e){1&t&&(Jo(0,LJ,2,6,"ng-container",0),Jo(1,jJ,3,3,"ng-container",0)),2&t&&(na("ngIf",e.template),ws(1),na("ngIf",!e.template))},directives:[Ah,Fh],styles:[".ng5-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]}),t})(),i0=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();const r0=["popover"];function s0(t,e){if(1&t){const t=ua();ra(0,"div",7,8),ra(2,"div"),ra(3,"div",9),Ja(4),sa(),ra(5,"input",10),fa("keyup",function(e){return $e(t),va().onKeyLow(e)}),sa(),sa(),ra(6,"ng5-slider",11),fa("valueChange",function(e){return $e(t),va().lowValue=e})("highValueChange",function(e){return $e(t),va().highValue=e})("userChangeEnd",function(){return $e(t),va().sliderValueChanged()}),sa(),ra(7,"div"),ra(8,"div",12),Ja(9),sa(),ra(10,"input",13),fa("keyup",function(e){return $e(t),va().onKeyHigh(e)}),sa(),sa(),sa()}if(2&t){const t=va();ws(2),il("label min fade-in ",t.contentsVisible,""),ws(2),el(" ",t.options.floor,"> "),ws(1),Sa("value",t.lowValue),ws(1),il("slider fade-in ",t.contentsVisible,""),na("options",t.options)("value",t.lowValue)("highValue",t.highValue),ws(1),il("label max fade-in ",t.contentsVisible,""),ws(2),el(" ",t.options.ceil," "),ws(1),Sa("value",t.highValue)}}let o0=(()=>{class t{constructor(t,e,n){this.element=e,this.ga=n,this.selectionChange=new Bc,this.isSliderOpen=!1,this.contentsVisible="invisible",this.isSliderInitialized=!1;const i=t.position().flexibleConnectedTo(e).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"}]);this.overlayRef=t.create({panelClass:"slider-pane",positionStrategy:i})}get rangeLabel(){const{lowValue:t,highValue:e}=this;return t===e?`${t}`:`${t}-${e}`}ngOnChanges(t){t.valueRange&&this.optionsChanged(),t.selection&&(this.lowValue=Math.min(...this.selection),this.highValue=Math.max(...this.selection))}optionsChanged(){var t,e;this.options={floor:this.valueRange?this.valueRange[0]:0,ceil:this.valueRange?this.valueRange[1]:0,step:1,hideLimitLabels:!0,hidePointerLabels:!0},this.lowValue=null!==(t=this.options.floor)&&void 0!==t?t:0,this.highValue=null!==(e=this.options.ceil)&&void 0!==e?e:0}ngOnDestroy(){this.overlayRef.dispose()}closeSliderPopover(t){var e,n;const{element:i,isSliderOpen:r,popoverElement:s}=this;r&&(i.nativeElement.contains(t)||(null===(n=null===(e=null==s?void 0:s.nativeElement)||void 0===e?void 0:e.contains)||void 0===n?void 0:n.call(e,t))||(this.overlayRef.detach(),this.isSliderInitialized=!1,this.isSliderOpen=!1,this.contentsVisible="invisible"))}toggleSliderPopover(){const{isSliderOpen:t,isSliderInitialized:e}=this;e?(this.overlayRef.detach(),this.isSliderInitialized=!1):!e&&!t&&this.initializeSliderPopover(),this.contentsVisible="visible"===this.contentsVisible?"invisible":"visible",this.isSliderOpen=!t}sliderValueChanged(){const{lowValue:t,highValue:e}=this;this.selection=[t,e],this.ga.event("slider_range_change","dual_slider",`${this.label}:${t}:${e}`),this.selectionChange.emit(this.selection)}initializeSliderPopover(){const{overlayRef:t,popoverPortal:e}=this;t.attach(e),t.updatePosition(),this.isSliderInitialized=!0}onKeyLow(t){const e=Number(t.target.value);"Enter"===t.key&&(e>=Number(this.options.floor)&&e<=Number(this.options.ceil)&&(this.lowValue=e),t.target.value=String(this.lowValue),t.target.blur(),this.sliderValueChanged())}onKeyHigh(t){const e=Number(t.target.value);"Enter"===t.key&&(e>=Number(this.options.floor)&&e<=Number(this.options.ceil)&&(this.highValue=e),t.target.value=String(this.highValue),t.target.blur(),this.sliderValueChanged())}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-dual-slider"]],viewQuery:function(t,e){if(1&t&&(Zc(Zp,7),Zc(r0,5,Al)),2&t){let t;Qc(t=tu())&&(e.popoverPortal=t.first),Qc(t=tu())&&(e.popoverElement=t.first)}},hostBindings:function(t,e){1&t&&fa("click",function(t){return e.closeSliderPopover(t.target)},!1,Mr)("touchstart",function(t){return e.closeSliderPopover(t.target)},!1,Mr)},inputs:{label:"label",valueRange:"valueRange",selection:"selection"},outputs:{selectionChange:"selectionChange"},features:[ye],decls:10,vars:4,consts:[[1,"ccf-slider","wrapper"],[1,"container"],["class","ccf-slider detached",4,"cdk-portal"],[1,"slider-form-field",3,"click"],[1,"slider-labels"],[1,"name-label"],[1,"range-label"],[1,"ccf-slider","detached"],["popover",""],[1,"label","floor"],["type","text",1,"input-low",3,"value","keyup"],[3,"options","value","highValue","valueChange","highValueChange","userChangeEnd"],[1,"label","ceil"],["type","text",1,"input-high",3,"value","keyup"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Jo(2,s0,11,16,"div",2),ra(3,"mat-form-field",3),fa("click",function(){return e.toggleSliderPopover()}),ra(4,"div",4),ra(5,"span",5),Ja(6),sa(),ra(7,"span",6),Ja(8),sa(),sa(),oa(9,"mat-select"),sa(),sa(),sa()),2&t&&(ws(3),ja("highlight",e.isSliderOpen),ws(3),tl(e.label),ws(2),tl(e.rangeLabel))},directives:[Jp,QH,cJ,e0],styles:[".slider-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;font-size:.875rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.slider-labels[_ngcontent-%COMP%]{display:flex;flex-direction:column}.slider-labels[_ngcontent-%COMP%] .name-label[_ngcontent-%COMP%]{padding-bottom:.25rem}.slider-labels[_ngcontent-%COMP%] .range-label[_ngcontent-%COMP%]{font-weight:bold} .ccf-slider.wrapper .mat-select-arrow-wrapper{transform:translatey(-1.5em)}@-webkit-keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .slider-pane{position:absolute!important;top:-1px}.ccf-slider.detached[_ngcontent-%COMP%]{-webkit-animation:slideInHorizontalSlider .3s;animation:slideInHorizontalSlider .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;display:flex;justify-content:center;align-items:center;width:0rem;height:4.375rem;padding:.75rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] {visibility:hidden;margin-top:.9375rem;margin-bottom:.9375rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-bar{opacity:.2;height:.15rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-selection{opacity:1}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer{width:1rem;height:1rem;top:-.405rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer:after{display:none}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:2rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.min[_ngcontent-%COMP%]{margin-right:1rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%]{margin-left:1rem;align-items:flex-end}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{text-align:right}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .floor[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%]{font-size:.875rem}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border:none;width:1.75rem;font-size:1rem;font-weight:bold;padding:0}"]}),t})();function a0(t,e){if(1&t){const t=ua();ra(0,"div",4),ra(1,"mat-checkbox",5),fa("change",function(e){const n=$e(t).$implicit;return va().filterOnChange(e,n)}),Ja(2),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ws(1),na("checked",null==n.selection?null:n.selection.includes(t)),ws(1),el(" ",t," ")}}let l0=(()=>{class t{constructor(t){this.ga=t,this.selection=[],this.columns=3,this.selectionChange=new Bc}filterOnChange(t,e){t.checked?(this.selection=[...this.selection,e],this.ga.event("filter_added","filter_checkbox",e)):(this.selection=this.selection.filter(t=>t!==e),this.ga.event("filter_removed","filter_checkbox",e)),this.selectionChange.emit(this.selection)}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-checkbox"]],inputs:{label:"label",options:"options",selection:"selection",columns:"columns"},outputs:{selectionChange:"selectionChange"},decls:5,vars:6,consts:[[1,"filter-container"],[1,"filter-label"],[1,"options-container"],["class","option",4,"ngFor","ngForOf"],[1,"option"],[3,"checked","change"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"div",2),Jo(4,a0,3,2,"div",3),sa(),sa()),2&t&&(ws(2),tl(e.label),ws(1),ja("three",3===e.columns)("four",4===e.columns),ws(1),na("ngForOf",e.options))},directives:[kh,xK],styles:[".mat-checkbox.mat-accent .mat-checkbox-checkmark-path{stroke:#fff!important} .mat-checkbox.mat-accent .mat-checkbox-inner-container{margin-right:1rem}.filter-label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}.options-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap}.options-container.three[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:33%}.options-container.four[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:25%}"],changeDetection:0}),t})();var c0;let u0=(()=>{class t{}return t.type="[SpatialSearchUi] Really update spatial search data",t})(),h0=c0=class{constructor(t,e,n,i){this.dataSource=t,this.store=e,this.ga=i,n.pipe(Cz(UZ),rg(500),eg(()=>e.dispatch(u0))).subscribe()}static organEntity(t,e){const{organId:n,sex:i}=t;return e.find(t=>{var e;return t.representation_of===n&&(null===(e=t.sex)||void 0===e?void 0:e.toLowerCase())===i})}startSpatialSearchFlow(t){const{sex:e,organId:n}=t.getState(),i=null==n?void 0:n.split("/").slice(-1)[0];return this.ga.event("set_organ","spatial_search_ui",`${e}_${i}`),t.dispatch(new NZ(e))}setSex(t,{sex:e}){let{organId:n}=t.getState();t.patchState({sex:e}),this.ga.event("set_sex","spatial_search_ui",e),void 0!==n&&!this.organValidForSex(n,e)&&(n=void 0);const i=Object.assign(Object.assign({},this.store.selectSnapshot(XQ.filter)),{spatialSearches:[]}),r=this.store.selectSnapshot(aZ.referenceOrgans);return this.dataSource.getOntologyTermOccurences(i).pipe(rf(1),eg(e=>{t.patchState({referenceOrgans:r.filter(t=>t.id&&!t.disabled&&e[t.id]>0)}),t.dispatch(new LZ(n))}))}setOrgan(t,{organId:e}){const{sex:n}=t.getState();t.patchState({sex:n,organId:e});const i=null==e?void 0:e.split("/").slice(-1)[0];this.ga.event("set_organ","spatial_search_ui",i);const r=this.store.selectSnapshot(c0.organEntity);if(r&&e&&r.sex){const{x_dimension:n,y_dimension:i,z_dimension:s}=r,o={x:Math.round(n/2),y:Math.round(i/2),z:Math.round(s/2)},a=Math.round(.07*Math.max(n,i,s)),l=this.store.selectSnapshot(XQ.filter),c=Object.assign(Object.assign({},l),{sex:r.sex,ontologyTerms:[e],spatialSearches:[]});return this.dataSource.getReferenceOrganScene(e,c).pipe(rf(1),eg(e=>{t.patchState({position:o,radius:a,defaultPosition:o,radiusSettings:{min:Math.min(a,5),max:Math.floor(Math.max(n,i,s)/1.5),defaultValue:a},organScene:vX(r).concat(e)})}),W(()=>t.dispatch(new UZ)))}}setPosition(t,{position:e}){t.patchState({position:e}),t.dispatch(new UZ);const{x:n,y:i,z:r}=e;this.ga.event("set_position","spatial_search_ui",`${n}_${i}_${r}`)}resetPosition(t){const{defaultPosition:e}=t.getState();t.patchState({position:e}),t.dispatch(new UZ);const{x:n,y:i,z:r}=null!=e?e:{x:0,y:0,z:0};this.ga.event("reset_position","spatial_search_ui",`${n}_${i}_${r}`)}moveToNode(t,{node:e}){const n=new VT(e.transformMatrix),[i,r,s]=n.getTranslation().map(t=>Math.round(1e3*t));return t.dispatch(new jZ({x:i,y:r,z:s}))}setRadius(t,{radius:e}){t.patchState({radius:e}),t.dispatch(new UZ),this.ga.event("set_radius","spatial_search_ui",e.toFixed(1))}resetRadius(t){var e;const{radiusSettings:n}=t.getState(),i=null!==(e=null==n?void 0:n.defaultValue)&&void 0!==e?e:0;t.patchState({radius:i}),t.dispatch(new UZ),this.ga.event("reset_radius","spatial_search_ui",i.toFixed(1))}updateSpatialSearch(t){const{position:e,radius:n}=t.getState(),i=this.store.selectSnapshot(c0.organEntity);if(i&&e&&n&&i.representation_of){const r=this.dataSource,s=i.representation_of,o=this.store.selectSnapshot(XQ.filter),a=Object.assign(Object.assign({},o),{sex:i.sex,ontologyTerms:[s],spatialSearches:[Object.assign(Object.assign({},e),{radius:n,target:i["@id"]})]});return Ev({spatialSearchScene:r.getReferenceOrganScene(s,a).pipe(rf(1)),tissueBlocks:r.getTissueBlockResults(a).pipe(rf(1)),anatomicalStructures:r.getOntologyTermOccurences(a).pipe(rf(1)),cellTypes:r.getCellTypeTermOccurences(a).pipe(rf(1))}).pipe(eg(e=>t.patchState(e)))}}generateSpatialSearch(t){const{position:e,radius:n,sex:i,organId:r,referenceOrgans:s=[],executeSearchOnGeneration:o}=t.getState(),a=this.store.selectSnapshot(c0.organEntity),l=s.find(t=>t.id===r);if(e&&n&&(null==a?void 0:a.representation_of)&&l){const r=Object.assign(Object.assign({},e),{radius:n,target:a["@id"]}),s=[new KQ(i,l.name,r)];if(o){const t=this.store.selectSnapshot(tZ.selectedSearches);s.push(new HQ({spatialSearches:t.concat(r)}))}return this.ga.event("generate_search","spatial_search_ui"),t.dispatch(s).pipe(eg(()=>t.patchState({sex:"female",organId:void 0})))}}setExecuteSearchOnGenerate(t,{execute:e}){t.patchState({executeSearchOnGeneration:e})}organValidForSex(t,e){const n=this.store.selectSnapshot(aZ.referenceOrgans).find(e=>e.id===t);return n.hasSex||n.sex===e}};h0.\u0275fac=function(t){return new(t||h0)(Ei(iQ),Ei(qz),Ei(Az),Ei(jW))},h0.\u0275prov=xt({token:h0,factory:h0.\u0275fac}),vw([eU(RZ)],h0.prototype,"startSpatialSearchFlow",null),vw([eU(NZ)],h0.prototype,"setSex",null),vw([eU(LZ)],h0.prototype,"setOrgan",null),vw([eU(jZ)],h0.prototype,"setPosition",null),vw([eU(BZ)],h0.prototype,"resetPosition",null),vw([eU(FZ)],h0.prototype,"moveToNode",null),vw([eU(VZ)],h0.prototype,"setRadius",null),vw([eU(zZ)],h0.prototype,"resetRadius",null),vw([eU(u0)],h0.prototype,"updateSpatialSearch",null),vw([eU(HZ)],h0.prototype,"generateSpatialSearch",null),vw([eU($Z)],h0.prototype,"setExecuteSearchOnGenerate",null),vw([rU([c0,aZ.referenceOrganEntities])],h0,"organEntity",null),h0=c0=vw([nU({name:"spatialSearchUi",defaults:{sex:"female",executeSearchOnGeneration:!0}})],h0);class d0{static sex(t){return t.sex}static referenceOrgans(t){var e;return null!==(e=t.referenceOrgans)&&void 0!==e?e:[]}static organId(t){return t.organId}static organ(t,e){if(void 0!==t)return e.find(e=>e.id===t)}static organs(t,e){return e.filter(e=>this.organMatchesSex(e,t))}static organMatchesSex(t,e){return t.hasSex||t.sex===e}static position(t){var e;return null!==(e=t.position)&&void 0!==e?e:{x:0,y:0,z:0}}static defaultPosition(t){var e;return null!==(e=t.defaultPosition)&&void 0!==e?e:{x:0,y:0,z:0}}static radius(t){var e;return null!==(e=t.radius)&&void 0!==e?e:0}static radiusSettings(t){var e;return null!==(e=t.radiusSettings)&&void 0!==e?e:{min:0,max:0,defaultValue:0}}static scene(t,e,n,i){var r,s;const o=function(t,e){var n;const i=t.x_dimension/1e3,r=t.y_dimension/1e3,s=t.z_dimension/1e3,o=.07*Math.max(i,r,s),a=.05*o,l=2*o,c=4*a;return e=e?Object.assign(Object.assign({},e),{radius:e.radius/1e3,x:e.x/1e3,y:e.y/1e3,z:e.z/1e3}):{target:null!==(n=t.representation_of)&&void 0!==n?n:t["@id"],radius:o,x:i/2,y:r/2,z:s/2},[{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingSphere","@type":"SpatialSceneNode",unpickable:!1,geometry:"sphere",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z]).scale(e.radius),color:hX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXD","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l/2,e.y,e.z]).rotateZ(ZS(-90)).scale([a,l,a]),color:dX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l,e.y,e.z]).rotateZ(ZS(-90)).scale([c,3*c,c]),color:dX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l+3*c,e.y,e.z]).scale(c),color:dX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXA","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l/2,e.y,e.z]).rotateZ(ZS(-90)).scale([a,l,a]),color:dX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXACone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l,e.y,e.z]).rotateZ(ZS(90)).scale([c,3*c,c]),color:dX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l-3.5*c,e.y,e.z]).scale(c),color:dX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYW","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l/2,e.z]).scale([a,l,a]),color:pX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l,e.z]).scale([c,3*c,c]),color:pX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l+3*c,e.z]).scale(c),color:pX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYS","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l/2,e.z]).scale([a,l,a]),color:pX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l,e.z]).rotateZ(ZS(180)).scale([c,3*c,c]),color:pX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l-3.5*c,e.z]).scale(c),color:pX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZE","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l/2]).rotateX(ZS(90)).scale([a,l,a]),color:fX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZECone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l]).rotateX(ZS(90)).scale([c,3*c,c]),color:fX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l+3*c]).scale(c),color:fX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l/2]).rotateX(ZS(-90)).scale([a,l,a]),color:fX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l]).rotateX(ZS(-90)).scale([c,3*c,c]),color:fX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l-3.5*c]).scale(c),color:fX}]}(e,Object.assign(Object.assign({},n),{radius:i,target:e["@id"]})),a=new Set((null!==(r=t.tissueBlocks)&&void 0!==r?r:[]).map(t=>t.spatialEntityId));return(null!==(s=t.organScene)&&void 0!==s?s:[]).map(t=>(a.has(t["@id"])&&(t=Object.assign(Object.assign({},t),{color:[41,121,255,229.5]})),t)).concat(o)}static sceneBounds(t){const{x_dimension:e,y_dimension:n,z_dimension:i}=t,r=.42*Math.max(e,n,i);return{x:(r+e)/1e3,y:(r+n)/1e3,z:(r+i)/1e3}}static sceneTarget(t){const{x_dimension:e,y_dimension:n,z_dimension:i}=t;return[e/1e3/2,n/1e3/2,i/1e3/2]}static tissueBlocks(t){var e;return null!==(e=t.tissueBlocks)&&void 0!==e?e:[]}static anatomicalStructures(t,e){return this.getTermCounts(t.anatomicalStructures,e)}static cellTypes(t,e){return this.getTermCounts(t.cellTypes,e)}static getTermCounts(t,e){return Object.entries(null!=t?t:{}).filter(([t,e])=>e>0).map(([t,n])=>{var i,r;return{"@id":t,label:null!==(r=null===(i=e.nodes[t])||void 0===i?void 0:i.label)&&void 0!==r?r:t.split("/").slice(-1)[0],count:n}})}}function p0(t,e){if(1&t&&(ra(0,"div",6),ra(1,"mat-icon",7),Ja(2,"person"),sa(),ra(3,"div",8),ra(4,"div",9),Ja(5),sa(),ra(6,"div",9),Ja(7),sa(),sa(),sa()),2&t){const t=e.$implicit;ws(5),tl(t.donor.label),ws(2),tl(t.donor.description)}}d0.organEntity=h0.organEntity,vw([rU([h0])],d0,"sex",null),vw([rU([h0])],d0,"referenceOrgans",null),vw([rU([h0])],d0,"organId",null),vw([rU([d0.organId,d0.referenceOrgans])],d0,"organ",null),vw([rU([d0.sex,d0.referenceOrgans])],d0,"organs",null),vw([rU([h0])],d0,"position",null),vw([rU([h0])],d0,"defaultPosition",null),vw([rU([h0])],d0,"radius",null),vw([rU([h0])],d0,"radiusSettings",null),vw([rU([h0,h0.organEntity,d0.position,d0.radius])],d0,"scene",null),vw([rU([h0.organEntity])],d0,"sceneBounds",null),vw([rU([h0.organEntity])],d0,"sceneTarget",null),vw([rU([h0])],d0,"tissueBlocks",null),vw([rU([h0,XQ.anatomicalStructuresTreeModel])],d0,"anatomicalStructures",null),vw([rU([h0,XQ.cellTypesTreeModel])],d0,"cellTypes",null);let f0=(()=>{class t{constructor(){this.className="ccf-tissue-block-list",this.tissueBlocks=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tissue-block-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{tissueBlocks:"tissueBlocks"},decls:8,vars:2,consts:[[1,"tissue-block-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltip","Total quantity of registered Tissue Blocks detected by the Probing Sphere","matTooltipPosition","right"],[1,"tissue-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"icon"],[1,"donor-info"],[1,"description"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"button",2),ra(4,"mat-icon",3),Ja(5,"info"),sa(),sa(),sa(),ra(6,"div",4),Jo(7,p0,8,2,"div",5),sa()),2&t&&(ws(2),el("",e.tissueBlocks.length," Tissue Blocks"),ws(5),na("ngForOf",e.tissueBlocks))},directives:[T_,gw,kh],styles:["[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .tissue-list[_ngcontent-%COMP%]{overflow:auto}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{min-height:3rem;display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem;width:22rem;padding:.5rem;box-shadow:0 3px 6px #00000029;cursor:pointer;margin-right:1rem;margin-bottom:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),t})();function g0(t,e){if(1&t&&(ra(0,"div",6),ra(1,"div",7),ra(2,"div",8),Ja(3),sa(),ra(4,"div",8),Ja(5),sa(),sa(),sa()),2&t){const t=e.$implicit;ws(3),tl(t.label),ws(2),tl(t.count)}}let m0=(()=>{class t{constructor(){this.className="ccf-term-occurrence-list",this.termList=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-term-occurrence-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{termList:"termList",title:"title",toolTipText:"toolTipText"},decls:8,vars:4,consts:[[1,"term-list-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltipPosition","right",3,"matTooltip"],[1,"term-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"term-bloc"],[1,"term-line"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"button",2),ra(4,"mat-icon",3),Ja(5,"info"),sa(),sa(),sa(),ra(6,"div",4),Jo(7,g0,6,2,"div",5),sa()),2&t&&(ws(2),nl("",e.termList.length," ",e.title,""),ws(2),Sa("matTooltip",e.toolTipText),ws(3),na("ngForOf",e.termList))},directives:[T_,gw,kh],styles:["[_nghost-%COMP%]{padding-top:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .counter[_ngcontent-%COMP%]{font-size:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding-right:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%]{overflow:auto;padding-left:2rem;font-size:1rem}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-bloc[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem;overflow:auto}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-line[_ngcontent-%COMP%]{padding-right:2rem}"],changeDetection:0}),t})();function b0(t,e){if(1&t&&(ra(0,"mat-icon",8),Ja(1),sa()),2&t){const t=e.$implicit;ja("active",va().currentKey===t.key),ws(1),el("",t.direction," ")}}function y0(t,e){1&t&&(ra(0,"div",9),Ja(1,"SHIFT"),sa())}let v0=(()=>{class t{constructor(){this.className="ccf-spatial-search-keyboard-ui",this.keyClicked=new Bc,this.keyHovered=new Bc,this.keyMap=[{key:"w",direction:"north"},{key:"s",direction:"south"},{key:"a",direction:"west"},{key:"d",direction:"east"},{key:"e",direction:"north_east"},{key:"q",direction:"south_west"}]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-keyboard-ui"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{currentKey:"currentKey",shiftPressed:"shiftPressed"},outputs:{keyClicked:"keyClicked",keyHovered:"keyHovered"},decls:18,vars:14,consts:[[1,"direction-arrow"],["class","arrow",3,"active",4,"ngFor","ngForOf"],[1,"keys"],[1,"keyrow"],[1,"key","blue",3,"mousedown","mouseover","mouseout"],[1,"key","green",3,"mousedown","mouseover","mouseout"],[1,"key","red",3,"mousedown","mouseover","mouseout"],["class","shift",4,"ngIf"],[1,"arrow"],[1,"shift"]],template:function(t,e){1&t&&(ra(0,"div",0),Jo(1,b0,2,3,"mat-icon",1),sa(),ra(2,"div",2),ra(3,"div",3),ra(4,"div",4),fa("mousedown",function(){return e.keyClicked.emit("q")})("mouseover",function(){return e.keyHovered.emit("q")})("mouseout",function(){return e.keyHovered.emit()}),Ja(5,"Q"),sa(),ra(6,"div",5),fa("mousedown",function(){return e.keyClicked.emit("w")})("mouseover",function(){return e.keyHovered.emit("w")})("mouseout",function(){return e.keyHovered.emit()}),Ja(7,"W"),sa(),ra(8,"div",4),fa("mousedown",function(){return e.keyClicked.emit("e")})("mouseover",function(){return e.keyHovered.emit("e")})("mouseout",function(){return e.keyHovered.emit()}),Ja(9,"E"),sa(),sa(),ra(10,"div",3),ra(11,"div",6),fa("mousedown",function(){return e.keyClicked.emit("a")})("mouseover",function(){return e.keyHovered.emit("a")})("mouseout",function(){return e.keyHovered.emit()}),Ja(12,"A"),sa(),ra(13,"div",5),fa("mousedown",function(){return e.keyClicked.emit("s")})("mouseover",function(){return e.keyHovered.emit("s")})("mouseout",function(){return e.keyHovered.emit()}),Ja(14,"S"),sa(),ra(15,"div",6),fa("mousedown",function(){return e.keyClicked.emit("d")})("mouseover",function(){return e.keyHovered.emit("d")})("mouseout",function(){return e.keyHovered.emit()}),Ja(16,"D"),sa(),sa(),Jo(17,y0,2,0,"div",7),sa()),2&t&&(ws(1),na("ngForOf",e.keyMap),ws(3),ja("highlighted","q"===e.currentKey),ws(2),ja("highlighted","w"===e.currentKey),ws(2),ja("highlighted","e"===e.currentKey),ws(3),ja("highlighted","a"===e.currentKey),ws(2),ja("highlighted","s"===e.currentKey),ws(2),ja("highlighted","d"===e.currentKey),ws(2),na("ngIf",e.shiftPressed))},directives:[kh,Ah,T_],styles:["[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(5,.5fr);grid-template-rows:1fr;grid-column-gap:0px;grid-row-gap:0px;margin-bottom:1rem;width:7rem}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{grid-area:1/3/2/4;opacity:0;transition:.5s}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow.active[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .keys[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:0;grid-gap:.5rem;gap:.5rem;width:7rem;height:7rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:0;grid-gap:.5rem;gap:.5rem}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%] .key[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:2rem;height:2rem;border:2px solid;border-radius:.5rem;cursor:pointer}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .shift[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:7rem;height:2rem;border:2px solid;border-radius:.5rem}"],changeDetection:0}),t})(),_0=(()=>{class t{constructor(){this.className="ccf-spatial-search-keyboard-ui-behavior",this.delta=1,this.shiftDelta=2,this.changePosition=new Bc,this.shiftPressed=!1}updatePosition(t){if(this.currentDelta=this.shiftPressed?this.shiftDelta:this.delta,"Shift"===t)this.shiftPressed=!0;else{switch(this.currentKey=t.toLowerCase(),this.currentKey){case"q":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z-this.currentDelta});break;case"e":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z+this.currentDelta});break;case"w":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y+this.currentDelta});break;case"s":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y-this.currentDelta});break;case"a":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x-this.currentDelta});break;case"d":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x+this.currentDelta})}this.changePosition.emit(this.position)}}handleKey(t){t.preventDefault(),this.updatePosition(t.key)}keyUp(t){"Shift"===t.key?this.shiftPressed=!1:this.currentKey=void 0}keyClick(t){this.updatePosition(t)}keyHover(t){this.currentKey=t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-keyboard-ui-behavior"]],hostVars:2,hostBindings:function(t,e){1&t&&fa("keydown",function(t){return e.handleKey(t)},!1,Mr)("keyup",function(t){return e.keyUp(t)},!1,Mr),2&t&&Va(e.className)},inputs:{delta:"delta",shiftDelta:"shiftDelta",position:"position"},outputs:{changePosition:"changePosition"},decls:1,vars:2,consts:[[3,"currentKey","shiftPressed","keyClicked","keyHovered"]],template:function(t,e){1&t&&(ra(0,"ccf-spatial-search-keyboard-ui",0),fa("keyClicked",function(t){return e.keyClick(t)})("keyHovered",function(t){return e.keyHover(t)}),sa()),2&t&&na("currentKey",e.currentKey)("shiftPressed",e.shiftPressed)},directives:[v0],encapsulation:2,changeDetection:0}),t})(),w0=(()=>{class t{constructor(){this.className="ccf-spatial-search-ui",this.addSpatialSearch=new Bc,this.resetPosition=new Bc,this.resetSphere=new Bc,this.closeSpatialSearch=new Bc,this.radiusChange=new Bc,this.positionChange=new Bc,this.editReferenceOrganClicked=new Bc,this.infoClicked=new Bc,this.nodeClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-ui"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{scene:"scene",sceneBounds:"sceneBounds",sceneTarget:"sceneTarget",sex:"sex",referenceOrgan:"referenceOrgan",radius:"radius",radiusSettings:"radiusSettings",defaultPosition:"defaultPosition",position:"position",tissueBlocks:"tissueBlocks",anatomicalStructures:"anatomicalStructures",cellTypes:"cellTypes"},outputs:{addSpatialSearch:"addSpatialSearch",resetPosition:"resetPosition",resetSphere:"resetSphere",closeSpatialSearch:"closeSpatialSearch",radiusChange:"radiusChange",positionChange:"positionChange",editReferenceOrganClicked:"editReferenceOrganClicked",infoClicked:"infoClicked",nodeClicked:"nodeClicked"},decls:55,vars:27,consts:[[1,"header"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"content"],[1,"info-panel"],[1,"organ-sex-selection"],[1,"sex"],[1,"label"],[1,"current-sex"],[1,"organ"],[1,"current-organ"],[1,"edit",3,"click"],[1,"radius-slider"],[1,"slider-container"],[1,"slider",3,"max","min","step","value","input"],[1,"text","value"],[1,"reset-buttons"],["mat-button","",1,"reset-sphere","button",3,"click"],["mat-button","",1,"reset-camera","button",3,"click"],[1,"results"],[1,"tissue-block","list",3,"tissueBlocks"],["title","Anatomical Structures","toolTipText","Total quantity of predicted anatomical structures detected by the Probing Sphere",1,"anatomical-structures","list",3,"termList"],["title","Predicted Cell Types from ASCT+B Tables","toolTipText","Total quantity of predicted cell types detected by the Probing Sphere",1,"cell-type","list",3,"termList"],["mat-button","",1,"run-spatial-search","button",3,"click"],[1,"spatial-search-scene"],[1,"primary-scene-wrapper"],[1,"body-ui-hint"],[1,"primary-scene",3,"scene","bounds","target","nodeClick","rotationChange"],["primary",""],[1,"sidebar"],[1,"minimap-scene",3,"interactive","scene","bounds","target","nodeClick"],["minimap",""],[3,"delta","shiftDelta","position","changePosition"],[3,"x","y","z"]],template:function(t,e){if(1&t){const t=ua();ra(0,"div",0),ra(1,"div",1),Ja(2,"Configure Spatial Search"),sa(),ra(3,"button",2),ra(4,"mat-icon",3),fa("click",function(){return e.infoClicked.emit()}),Ja(5,"info"),sa(),sa(),ra(6,"button",4),ra(7,"mat-icon",3),fa("click",function(){return e.closeSpatialSearch.emit()}),Ja(8,"close"),sa(),sa(),sa(),ra(9,"div",5),ra(10,"div",6),ra(11,"div",7),ra(12,"div",8),ra(13,"div",9),Ja(14,"Donor Sex: "),sa(),ra(15,"div",10),Ja(16),sa(),sa(),ra(17,"div",11),ra(18,"div",9),Ja(19,"Organ: "),sa(),ra(20,"div",12),Ja(21),sa(),sa(),ra(22,"div",13),fa("click",function(){return e.editReferenceOrganClicked.emit()}),Ja(23,"Edit"),sa(),sa(),oa(24,"mat-divider"),ra(25,"div",14),ra(26,"div",1),Ja(27,"Probing Sphere Radius"),sa(),ra(28,"div",15),ra(29,"mat-slider",16),fa("input",function(t){return e.radiusChange.emit(t.value)}),sa(),ra(30,"span",17),Ja(31),sa(),sa(),ra(32,"div",18),ra(33,"button",19),fa("click",function(){return e.resetSphere.emit(),e.resetPosition.emit()}),Ja(34,"Reset Probing Sphere"),sa(),ra(35,"button",20),fa("click",function(){$e(t);const n=ta(49),i=ta(52);return n.rotation=n.rotationX=i.rotation=i.rotationX=0,n.target=i.target=e.sceneTarget,n.bounds=i.bounds=e.sceneBounds}),Ja(36,"Reset Camera View"),sa(),sa(),sa(),oa(37,"mat-divider"),ra(38,"div",21),oa(39,"ccf-tissue-block-list",22),oa(40,"ccf-term-occurrence-list",23),oa(41,"ccf-term-occurrence-list",24),sa(),ra(42,"button",25),fa("click",function(){return e.addSpatialSearch.emit()}),Ja(43,"Run Spatial Search"),sa(),sa(),ra(44,"div",26),ra(45,"div",27),ra(46,"div",28),Ja(47,"Use the keyboard or click a Tissue Block to move the Probing Sphere"),sa(),ra(48,"ccf-body-ui",29,30),fa("nodeClick",function(t){return e.nodeClicked.emit(null==t?null:t.node)})("rotationChange",function(e){$e(t);const n=ta(52);return n.rotation=e[0],n.rotationX=e[1]}),sa(),sa(),ra(50,"div",31),ra(51,"ccf-body-ui",32,33),fa("nodeClick",function(t){return e.nodeClicked.emit(null==t?null:t.node)}),sa(),ra(53,"ccf-spatial-search-keyboard-ui-behavior",34),fa("changePosition",function(t){return e.positionChange.emit(t)}),sa(),oa(54,"ccf-xyz-position",35),sa(),sa(),sa()}2&t&&(ws(16),tl(e.sex.charAt(0).toUpperCase()+e.sex.slice(1)),ws(5),tl(e.referenceOrgan.name),ws(8),na("max",e.radiusSettings.max)("min",e.radiusSettings.min)("step",1)("value",e.radius),ws(2),el("",e.radius," mm"),ws(2),ja("disabled",e.radius===e.radiusSettings.defaultValue&&e.position===e.defaultPosition),ws(6),na("tissueBlocks",e.tissueBlocks),ws(1),na("termList",e.anatomicalStructures),ws(1),na("termList",e.cellTypes),ws(1),ja("disabled",0===(null==e.tissueBlocks?null:e.tissueBlocks.length)),ws(6),na("scene",e.scene)("bounds",e.sceneBounds)("target",e.sceneTarget),ws(3),na("interactive",!1)("scene",e.scene)("bounds",e.sceneBounds)("target",e.sceneTarget),ws(2),na("delta",1)("shiftDelta",2)("position",e.position),ws(1),na("x",e.position.x)("y",e.position.y)("z",e.position.z))},directives:[R_,T_,ZX,F$,f0,m0,OK,_0,TQ],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:1rem;gap:1rem;height:95vh;width:78vw;border-radius:.25rem;min-height:45rem;min-width:60rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;width:100%}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%], [_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:flex;width:100%;height:calc(100% - 3.5rem)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border-width:1px;border-style:solid;border-radius:.25rem;font-size:.875rem;height:2rem;line-height:2rem;transition:.5s}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button.disabled[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-right:2rem;grid-gap:1rem;gap:1rem;width:25rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%]{display:flex;font-size:1rem;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:300;margin-right:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .edit[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:19rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:11.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%]{height:calc(100% - 15rem - 2px)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%] .list[_ngcontent-%COMP%]{height:33%;display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%]{display:flex;width:calc(100% - 25rem);background-color:#000;border-radius:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;height:100%}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .primary-scene[_ngcontent-%COMP%]{flex:auto;overflow:hidden}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .body-ui-hint[_ngcontent-%COMP%]{color:#fff;font-size:1rem;margin:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%]{margin:1.5rem;width:12.75rem;height:11rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%] .body-ui{background-color:#232f3a}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-spatial-search-keyboard-ui-behavior[_ngcontent-%COMP%]{margin:1.5rem;display:flex;justify-content:center}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-xyz-position[_ngcontent-%COMP%]{margin:1.5rem;padding-left:5rem}"],changeDetection:0}),t})();function x0(t,e){if(1&t){const t=ua();ra(0,"ccf-spatial-search-ui",1),fa("addSpatialSearch",function(){return $e(t),va().addSpatialSearch()})("radiusChange",function(e){return $e(t),va().updateRadius(e)})("resetPosition",function(){return $e(t),va().resetPosition()})("resetSphere",function(){return $e(t),va().resetRadius()})("positionChange",function(e){return $e(t),va().updatePosition(e)})("closeSpatialSearch",function(){return $e(t),va().close()})("editReferenceOrganClicked",function(){return $e(t),va().openSpatialSearchConfig()})("infoClicked",function(){return $e(t),va().onDialogButtonClick()})("nodeClicked",function(e){return $e(t),va().moveToNode(e)}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),Dc(5,"async"),Dc(6,"async"),Dc(7,"async"),Dc(8,"async"),Dc(9,"async"),Dc(10,"async"),Dc(11,"async"),sa()}if(2&t){const t=e.ngIf,n=va();na("sex",Rc(1,12,n.sex$))("referenceOrgan",t)("radius",Rc(2,14,n.radius$))("radiusSettings",Rc(3,16,n.radiusSettings$))("defaultPosition",Rc(4,18,n.defaultPosition$))("position",Rc(5,20,n.position$))("scene",Rc(6,22,n.scene$))("sceneBounds",Rc(7,24,n.sceneBounds$))("sceneTarget",Rc(8,26,n.sceneTarget$))("tissueBlocks",Rc(9,28,n.tissueBlocks$))("anatomicalStructures",Rc(10,30,n.anatomicalStructures$))("cellTypes",Rc(11,32,n.cellTypes$))}}class S0{constructor(t,e,n){this.dialogRef=t,this.dialog=e,this.infoService=n,this.updatePosition=jQ(jZ),this.resetPosition=jQ(BZ),this.moveToNode=jQ(FZ),this.updateRadius=jQ(VZ),this.resetRadius=jQ(zZ),this.subscriptions=new g}launchInfoDialog(t){this.subscriptions.unsubscribe(),this.dialog.open($K,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");const t=this.infoService.panelContent.asObservable();this.subscriptions.add(t.subscribe(t=>{t.content.length&&(this.panelData=t,this.launchInfoDialog(this.panelData))}))}close(){this.dialogRef.close()}addSpatialSearch(){return this.close(),new HZ}openSpatialSearchConfig(){this.close(),this.dialog.open(z0)}}S0.\u0275fac=function(t){return new(t||S0)(ea(X$),ea(nG),ea(WK))},S0.\u0275cmp=Jt({type:S0,selectors:[["ccf-spatial-search-ui-behavior"]],decls:2,vars:3,consts:[[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked",4,"ngIf"],[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked"]],template:function(t,e){1&t&&(Jo(0,x0,12,34,"ccf-spatial-search-ui",0),Dc(1,"async")),2&t&&na("ngIf",Rc(1,1,e.organ$))},directives:[Ah,w0],pipes:[$h],encapsulation:2,changeDetection:0}),vw([iU(d0.scene)],S0.prototype,"scene$",void 0),vw([iU(d0.sceneBounds)],S0.prototype,"sceneBounds$",void 0),vw([iU(d0.sceneTarget)],S0.prototype,"sceneTarget$",void 0),vw([iU(d0.sex)],S0.prototype,"sex$",void 0),vw([iU(d0.organ)],S0.prototype,"organ$",void 0),vw([iU(d0.position)],S0.prototype,"position$",void 0),vw([iU(d0.defaultPosition)],S0.prototype,"defaultPosition$",void 0),vw([iU(d0.radius)],S0.prototype,"radius$",void 0),vw([iU(d0.radiusSettings)],S0.prototype,"radiusSettings$",void 0),vw([iU(d0.tissueBlocks)],S0.prototype,"tissueBlocks$",void 0),vw([iU(d0.anatomicalStructures)],S0.prototype,"anatomicalStructures$",void 0),vw([iU(d0.cellTypes)],S0.prototype,"cellTypes$",void 0),vw([KX()],S0.prototype,"updatePosition",void 0),vw([KX()],S0.prototype,"resetPosition",void 0),vw([KX()],S0.prototype,"moveToNode",void 0),vw([KX()],S0.prototype,"updateRadius",void 0),vw([KX()],S0.prototype,"resetRadius",void 0),vw([KX()],S0.prototype,"addSpatialSearch",null);const C0=["input"],E0=function(t){return{enterDuration:t}},O0=["*"],T0=new oi("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}});let k0=0;const P0={provide:aU,useExisting:pt(()=>D0),multi:!0};class A0{constructor(t,e){this.source=t,this.value=e}}const M0=new oi("MatRadioGroup");let I0=(()=>{class t{constructor(t){this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+k0++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new Bc}get name(){return this._name}set name(t){this._name=t,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(t){this._labelPosition="before"===t?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(t){this._selected=t,this.value=t?t.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._markRadiosForCheck()}get required(){return this._required}set required(t){this._required=kd(t),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(t=>{t.name=this.name,t._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(t=>{t.checked=this.value===t.value,t.checked&&(this._selected=t)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new A0(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(t=>t._markForCheck())}writeValue(t){this.value=t,this._changeDetector.markForCheck()}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetector.markForCheck()}}return t.\u0275fac=function(e){return new(e||t)(ea(nc))},t.\u0275dir=se({type:t,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),t})(),D0=(()=>{class t extends I0{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["mat-radio-group"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,j0,5),2&t){let t;Qc(t=tu())&&(e._radios=t)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[xl([P0,{provide:M0,useExisting:t}]),jo]}),t})();class R0{constructor(t){this._elementRef=t}}const N0=Xy(Ky(R0));let L0=(()=>{class t extends N0{constructor(t,e,n,i,r,s,o,a){super(e),this._changeDetector=n,this._focusMonitor=i,this._radioDispatcher=r,this._providerOverride=o,this._uniqueId="mat-radio-"+ ++k0,this.id=this._uniqueId,this.change=new Bc,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=t,this._noopAnimations="NoopAnimations"===s,a&&(this.tabIndex=Pd(a,0)),this._removeUniqueSelectionListener=r.listen((t,e)=>{t!==this.id&&e===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(t){const e=kd(t);this._checked!==e&&(this._checked=e,e&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!e&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),e&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===t),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(t){this._labelPosition=t}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(t){this._setDisabled(kd(t))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(t){this._required=kd(t)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(t){this._color=t}get inputId(){return`${this.id||this._uniqueId}-input`}focus(t,e){e?this._focusMonitor.focusVia(this._inputElement,e,t):this._inputElement.nativeElement.focus(t)}_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)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{!t&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new A0(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(t){t.stopPropagation()}_onInputInteraction(t){if(t.stopPropagation(),!this.checked&&!this.disabled){const t=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),t&&this.radioGroup._emitChangeEvent())}}_setDisabled(t){this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(ea(I0),ea(Al),ea(nc),ea(Ug),ea(zp),ea(String),ea(void 0),ea(String))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&Zc(C0,5),2&t){let t;Qc(t=tu())&&(e._inputElement=t.first)}},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[jo]}),t})(),j0=(()=>{class t extends L0{constructor(t,e,n,i,r,s,o,a){super(t,e,n,i,r,s,o,a)}}return t.\u0275fac=function(e){return new(e||t)(ea(M0,8),ea(Al),ea(nc),ea(Ug),ea(zp),ea(Ny,8),ea(T0,8),ii("tabindex"))},t.\u0275cmp=Jt({type:t,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._inputElement.nativeElement.focus()}),2&t&&(Ko("tabindex",null)("id",e.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),ja("mat-radio-checked",e.checked)("mat-radio-disabled",e.disabled)("_mat-animation-noopable",e._noopAnimations)("mat-primary","primary"===e.color)("mat-accent","accent"===e.color)("mat-warn","warn"===e.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[jo],ngContentSelectors:O0,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(t,e){if(1&t&&(wa(),ra(0,"label",0,1),ra(2,"span",2),oa(3,"span",3),oa(4,"span",4),ra(5,"input",5,6),fa("change",function(t){return e._onInputInteraction(t)})("click",function(t){return e._onInputClick(t)}),sa(),ra(7,"span",7),oa(8,"span",8),sa(),sa(),ra(9,"span",9),ra(10,"span",10),Ja(11,"\xa0"),sa(),xa(12),sa(),sa()),2&t){const t=ta(1);Ko("for",e.inputId),ws(5),na("id",e.inputId)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex)("required",e.required),Ko("name",e.name)("value",e.value)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledby)("aria-describedby",e.ariaDescribedby),ws(2),na("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Pc(18,E0,e._noopAnimations?0:150)),ws(2),ja("mat-radio-label-before","before"==e.labelPosition)}},directives:[cv],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),t})();function F0(t,e){1&t&&(ra(0,"div",7),Ja(1,"Organs"),sa())}function B0(t,e){if(1&t&&(ra(0,"mat-option",17),Ja(1),sa()),2&t){const t=e.$implicit;na("value",t),ws(1),el(" ",t.name," ")}}let V0=(()=>{class t{constructor(){this.className="ccf-spatial-search-config",this.updateSex=new Bc,this.updateOrgan=new Bc,this.buttonClicked=new Bc,this.closeDialog=new Bc,this.infoClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-config"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{organs:"organs",selectedOrgan:"selectedOrgan",sex:"sex"},outputs:{updateSex:"updateSex",updateOrgan:"updateOrgan",buttonClicked:"buttonClicked",closeDialog:"closeDialog",infoClicked:"infoClicked"},decls:27,vars:6,consts:[[1,"header"],[1,"header-left"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"sex-toggle"],[1,"label"],[1,"radio-group",3,"ngModel","ngModelChange","change"],["value","male",1,"radio"],["value","female",1,"radio"],[1,"organ-selector"],["appearance","fill",1,"form-field"],["class","label",4,"ngIf"],["disableOptionCentering","true","panelClass","organ-select",3,"value","valueChange","selectionChange"],["class","organ-select-option",3,"value",4,"ngFor","ngForOf"],["mat-button","",1,"continue-button",3,"click"],[1,"organ-select-option",3,"value"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),Ja(3,"Configure Spatial Search"),sa(),ra(4,"button",3),ra(5,"mat-icon",4),fa("click",function(){return e.infoClicked.emit()}),Ja(6,"info"),sa(),sa(),sa(),ra(7,"button",5),ra(8,"mat-icon",4),fa("click",function(){return e.closeDialog.emit()}),Ja(9,"close"),sa(),sa(),sa(),ra(10,"div",6),ra(11,"div",7),Ja(12,"Donor Sex: "),sa(),ra(13,"mat-radio-group",8),fa("ngModelChange",function(t){return e.sex=t})("change",function(t){return e.updateSex.emit(t.value)}),ra(14,"mat-radio-button",9),Ja(15,"Male"),sa(),ra(16,"mat-radio-button",10),Ja(17,"Female"),sa(),sa(),sa(),ra(18,"div",11),ra(19,"div",7),Ja(20,"Select an organ"),sa(),ra(21,"mat-form-field",12),Jo(22,F0,2,0,"div",13),ra(23,"mat-select",14),fa("valueChange",function(t){return e.selectedOrgan=t})("selectionChange",function(t){return e.updateOrgan.emit(t.value)}),Jo(24,B0,2,2,"mat-option",15),sa(),sa(),sa(),ra(25,"button",16),fa("click",function(){return e.buttonClicked.emit()}),Ja(26,"Continue"),sa()),2&t&&(ws(13),na("ngModel",e.sex),ws(9),na("ngIf",!e.selectedOrgan),ws(1),na("value",e.selectedOrgan),ws(1),na("ngForOf",e.organs),ws(1),ja("disabled",!e.selectedOrgan))},directives:[R_,T_,D0,MU,lH,j0,QH,Ah,cJ,kh,wv],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:2rem;gap:2rem;width:30.5rem;box-shadow:0 25rem 25rem #00000029;border-radius:.25rem;font-size:1rem}[_nghost-%COMP%] .button[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%;font-size:1.25rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin-right:2rem}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .radio[_ngcontent-%COMP%]{margin-right:4rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{height:0rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:1rem;padding-top:3rem;margin-left:.5rem;width:14rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-infix{padding:0;border-top:none}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{bottom:0rem;height:.125rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-select-arrow-wrapper{transform:translatey(0)}[_nghost-%COMP%] .continue-button[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:.25rem 1rem;width:14rem;height:2rem;border-width:1px;border-style:solid;border-radius:.25rem;box-shadow:0 2px 6px #00000029}[_nghost-%COMP%] .continue-button.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.5} .organ-select{position:absolute;top:2.5rem;left:-.25rem;border-radius:.5rem;max-height:24.5rem;width:14rem} .organ-select .organ-select-option{height:3.5rem;border-bottom:1px solid}"],changeDetection:0}),t})();class z0{constructor(t,e,n,i){this.dialog=t,this.dialogRef=e,this.spatialSearchDialog=n,this.infoService=i,this.updateSex=jQ(NZ),this.updateOrgan=jQ(LZ),this.subscriptions=new g,this.dialogSubs=new g}buttonClicked(){this.spatialSearchDialog.open(S0),this.close()}close(){this.dialogRef.close()}launchInfoDialog(t){this.dialogSubs.unsubscribe(),this.dialog.open($K,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");const t=this.infoService.panelContent.asObservable();this.dialogSubs.add(t.subscribe(t=>{t.content.length&&(this.panelData=t,this.launchInfoDialog(this.panelData))}))}ngOnDestroy(){this.subscriptions.unsubscribe()}}z0.\u0275fac=function(t){return new(t||z0)(ea(nG),ea(X$),ea(nG),ea(WK))},z0.\u0275cmp=Jt({type:z0,selectors:[["ccf-spatial-search-config-behavior"]],decls:4,vars:9,consts:[[3,"sex","organs","selectedOrgan","updateSex","updateOrgan","closeDialog","buttonClicked","infoClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-spatial-search-config",0),fa("updateSex",function(t){return e.updateSex(t)})("updateOrgan",function(t){return e.updateOrgan(t.id)})("closeDialog",function(){return e.close()})("buttonClicked",function(){return e.buttonClicked()})("infoClicked",function(){return e.onDialogButtonClick()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),sa()),2&t&&na("sex",Rc(1,3,e.sex$))("organs",Rc(2,5,e.organs$))("selectedOrgan",Rc(3,7,e.selectedOrgan$))},directives:[V0],pipes:[$h],encapsulation:2,changeDetection:0}),vw([iU(d0.sex)],z0.prototype,"sex$",void 0),vw([iU(d0.organ)],z0.prototype,"selectedOrgan$",void 0),vw([iU(d0.organs)],z0.prototype,"organs$",void 0),vw([KX()],z0.prototype,"updateSex",void 0),vw([KX()],z0.prototype,"updateOrgan",void 0);let U0=(()=>{class t{constructor(t,e){this.store=t,this.dialog=e,this.className="ccf-run-spatial-search"}startSpatialSearchFlow(){this.store.dispatch(new RZ).pipe(rf(1),eg(()=>this.dialog.open(z0))).subscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(qz),ea(nG))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-run-spatial-search"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},decls:4,vars:0,consts:[["mat-button","",1,"run-spatial-search-button",3,"click"]],template:function(t,e){1&t&&(ra(0,"button",0),fa("click",function(){return e.startSpatialSearchFlow()}),Ja(1," Run Spatial Search "),ra(2,"mat-icon"),Ja(3,"travel_explore"),sa(),sa())},directives:[R_,T_],styles:["[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper{display:flex;align-items:center}[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper .mat-icon{margin-left:9.75px}"],changeDetection:0}),t})();function H0(t,e){if(1&t){const t=ua();ra(0,"div",14),ra(1,"ccf-spatial-search-list",15),fa("selectionChanged",function(e){return $e(t),va().updateSearchSelection(e)})("itemRemoved",function(e){return $e(t),va().spatialSearchRemoved.emit(e.id)}),sa(),sa()}if(2&t){const t=va();ja("hidden",t.hidden),ws(1),na("items",t.spatialSearchFilters)}}const $0=function(){return["Both","Male","Female"]},G0=function(){return[1,110]},W0=function(){return[13,83]};let q0=(()=>{class t{constructor(t){this.ga=t,this.spatialSearchFilters=[],this.filtersChange=new Bc,this.spatialSearchSelected=new Bc,this.spatialSearchRemoved=new Bc,this.applyFilters=new Bc}ngOnChanges(t){"spatialSearchFilters"in t&&this.updateSexFromSelection(this.spatialSearchFilters.filter(t=>t.selected))}updateFilter(t,e){this.filters=Object.assign(Object.assign({},this.filters),{[e]:t}),this.ga.event("filter_update","filter_content",`${e}:${t}`),this.filtersChange.emit(this.filters)}applyButtonClick(){this.updateSearchSelection(this.spatialSearchFilters.filter(t=>t.selected)),this.ga.event("filters_applied","filter_content"),this.applyFilters.emit(this.filters)}refreshFilters(){this.filters=JSON.parse(JSON.stringify($Q)),this.ga.event("filters_reset","filter_content"),this.spatialSearchSelected.emit([]),this.filtersChange.emit(this.filters)}updateSearchSelection(t){const e=t.map(t=>t.search);this.spatialSearchSelected.emit(t),this.updateFilter(e,"spatialSearches"),this.updateSexFromSelection(t)}updateSexFromSelection(t){var e;const n=null===(e=this.filters.sex)||void 0===e?void 0:e.toLowerCase(),i=new Set(t.map(t=>t.sex));t.length>0&&(i.size>1||!i.has(n))&&this.updateFilter("Both","sex")}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-filters-content"]],inputs:{hidden:"hidden",filters:"filters",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved",applyFilters:"applyFilters"},features:[ye],decls:17,vars:24,consts:[[1,"patient-filters"],["label","Sex",3,"options","selection","selectionChange"],["label","Age",3,"valueRange","selection","selectionChange"],["label","BMI",3,"valueRange","selection","selectionChange"],[1,"filter","assays"],["label","Assay Types",3,"columns","options","selection","selectionChange"],[1,"filter","providers"],["label","Tissue Providers",3,"columns","options","selection","selectionChange"],["class","filter spatial-locations",3,"hidden",4,"ngIf"],[1,"button-container"],[1,"right-group"],["mat-button","",1,"outline-button",3,"click"],[1,"refresh-icon"],[1,"icon","refresh",3,"click"],[1,"filter","spatial-locations"],["label","Spatial Locations",3,"items","selectionChanged","itemRemoved"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"ccf-dropdown",1),fa("selectionChange",function(t){return e.updateFilter(t,"sex")}),sa(),ra(2,"ccf-dual-slider",2),fa("selectionChange",function(t){return e.updateFilter(t,"ageRange")}),sa(),ra(3,"ccf-dual-slider",3),fa("selectionChange",function(t){return e.updateFilter(t,"bmiRange")}),sa(),sa(),ra(4,"div",4),ra(5,"ccf-checkbox",5),fa("selectionChange",function(t){return e.updateFilter(t,"technologies")}),sa(),sa(),ra(6,"div",6),ra(7,"ccf-checkbox",7),fa("selectionChange",function(t){return e.updateFilter(t,"tmc")}),sa(),sa(),Jo(8,H0,2,3,"div",8),ra(9,"div",9),oa(10,"ccf-run-spatial-search"),ra(11,"div",10),ra(12,"button",11),fa("click",function(){return e.applyButtonClick()}),Ja(13,"APPLY FILTERS"),sa(),ra(14,"div",12),ra(15,"mat-icon",13),fa("click",function(){return e.refreshFilters()}),Ja(16,"refresh"),sa(),sa(),sa(),sa()),2&t&&(ja("hidden",e.hidden),ws(1),na("options",kc(21,$0))("selection",null==e.filters?null:e.filters.sex),ws(1),na("valueRange",kc(22,G0))("selection",null==e.filters?null:e.filters.ageRange),ws(1),na("valueRange",kc(23,W0))("selection",null==e.filters?null:e.filters.bmiRange),ws(1),ja("hidden",e.hidden),ws(1),na("columns",4)("options",e.technologyFilters)("selection",null==e.filters?null:e.filters.technologies),ws(1),ja("hidden",e.hidden),ws(1),na("columns",3)("options",e.providerFilters)("selection",null==e.filters?null:e.filters.tmc),ws(1),na("ngIf",e.spatialSearchFilters.length>0),ws(1),ja("hidden",e.hidden))},directives:[dJ,o0,l0,Ah,U0,R_,T_,EQ],styles:[".filter[_ngcontent-%COMP%]{margin-top:2rem}.filter.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.filter.assays[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{margin-right:0 rem;width:25%}.button-container[_ngcontent-%COMP%] button{border-width:1px;border-style:solid}.button-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:2rem}.button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-width:1px;border-style:solid}.button-container.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;align-items:center}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .outline-button[_ngcontent-%COMP%]{box-shadow:.1rem .1rem .2rem #0000001d}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%]{padding:.25rem;border-radius:.25rem;margin-right:1rem;display:flex;justify-content:center;align-items:center;transition:.6s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{cursor:pointer;transition:.6s;transition-property:background}.patient-filters[_ngcontent-%COMP%]{display:flex;width:90%;padding-top:1rem}.patient-filters.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.patient-filters[_ngcontent-%COMP%] ccf-dual-slider[_ngcontent-%COMP%]{margin-left:.5rem;width:33%}.patient-filters[_ngcontent-%COMP%] ccf-dropdown[_ngcontent-%COMP%]{width:33%}"],changeDetection:0}),t})();function Y0(t,e){1&t&&(ra(0,"div"),ra(1,"mat-icon",7),Ja(2,"close"),sa(),sa())}function X0(t,e){1&t&&oa(0,"mat-icon",8)}class K0{constructor(){this.spatialSearchFilters=[],this.filtersChange=new Bc,this.spatialSearchSelected=new Bc,this.spatialSearchRemoved=new Bc,this.filtersVisible=!1}toggleFilterVisible(){return this.filtersVisible=!this.filtersVisible,new $Z(!1)}removeBox(){return this.filtersVisible=!1,new $Z(!0)}applyFilters(t){this.filters=t,this.filtersChange.emit(t),this.removeBox()}}K0.\u0275fac=function(t){return new(t||K0)},K0.\u0275cmp=Jt({type:K0,selectors:[["ccf-filters-popover"]],inputs:{filters:"filters",drawerExpanded:"drawerExpanded",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved"},decls:8,vars:15,consts:[[1,"filters-popover"],[1,"show-hide",3,"click"],[4,"ngIf","ngIfElse"],["notShow",""],[1,"popup-container"],[1,"popup-body"],[3,"technologyFilters","providerFilters","spatialSearchFilters","hidden","filters","applyFilters","spatialSearchSelected","spatialSearchRemoved"],[1,"icon"],["svgIcon","filter",1,"icon","funnel"]],template:function(t,e){if(1&t&&(ra(0,"div",0),ra(1,"button",1),fa("click",function(){return e.toggleFilterVisible()}),Jo(2,Y0,3,0,"div",2),Jo(3,X0,1,0,"ng-template",null,3,ru),sa(),ra(5,"div",4),ra(6,"div",5),ra(7,"ccf-filters-content",6),fa("applyFilters",function(t){return e.applyFilters(t)})("spatialSearchSelected",function(t){return e.spatialSearchSelected.emit(t)})("spatialSearchRemoved",function(t){return e.spatialSearchRemoved.emit(t)}),sa(),sa(),sa(),sa()),2&t){const t=ta(4);ja("expanded",e.drawerExpanded),ws(1),ja("open",e.filtersVisible),ws(1),na("ngIf",e.filtersVisible)("ngIfElse",t),ws(3),ja("visible",e.filtersVisible)("hidden",!e.filtersVisible),ws(2),na("technologyFilters",e.technologyFilters)("providerFilters",e.providerFilters)("spatialSearchFilters",e.spatialSearchFilters)("hidden",!e.filtersVisible)("filters",e.filters)}},directives:[Ah,q0,T_],styles:[".filters-popover[_ngcontent-%COMP%]{position:inherit}.filters-popover.expanded[_ngcontent-%COMP%]{position:relative}.filters-popover.expanded[_ngcontent-%COMP%] .popup-container[_ngcontent-%COMP%]{right:inherit}.filters-popover.expanded[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding-left:4em!important}.popup-container[_ngcontent-%COMP%]{position:absolute;z-index:5;top:1.2rem;left:1.48rem;box-shadow:.2rem .2rem 1rem #00000058}.popup-container[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding:1.5rem;position:relative}.popup-container.visible[_ngcontent-%COMP%]{width:35rem;transition:width .2s ease-in-out;border-width:1px}.popup-container.visible[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:1;transition-delay:.3s;transition-duration:.2s}.popup-container.hidden[_ngcontent-%COMP%]{width:0;height:0;transition:all .2s ease-out;transition-delay:.3s;pointer-events:none}.popup-container.hidden[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:0;transition:opacity .2s ease-in-out}.show-hide[_ngcontent-%COMP%]{background:none;border:none;z-index:10;position:relative;cursor:pointer;outline:none;padding:.5rem;border-radius:.25rem;transition:.6s}"],changeDetection:0}),vw([KX()],K0.prototype,"toggleFilterVisible",null),vw([KX()],K0.prototype,"removeBox",null);class Q0{constructor(){this.treeModel$=new _p(1),this.nodes$=this.treeModel$.pipe(D(t=>Object.values(t.nodes))),this.rootNode$=this.treeModel$.pipe(D(t=>t.nodes[t.root]))}setTreeModel(t){this.treeModel$.next(t),this.treeModel=t}filter(t){return this.nodes$.pipe(D(e=>this.lookup(e,t.toLowerCase())))}lookup(t,e){const n=new Map;return t&&t.forEach(t=>{if(t.label.toLowerCase().includes(e)&&!n.get(t.id))n.set(t.id,{index:this.getIndexOfMatch(t.label,e),displayLabel:this.formatLabel(t.label,e),node:t});else{const i=t.synonymLabels.find(t=>t.toLowerCase().includes(e));i&&!n.get(t.id)&&n.set(t.id,{index:this.getIndexOfMatch(t.label+" ("+i+")",e),displayLabel:this.formatLabel(t.label+" ("+i+")",e),node:t})}}),Array.from(n.values())}getIndexOfMatch(t,e){return t.toLowerCase().indexOf(e)}formatLabel(t,e){const n=this.getIndexOfMatch(t,e);return[t.slice(0,n),t.slice(n,n+e.length),t.slice(n+e.length)]}getChildren(t){var e,n;const i=null!==(n=null===(e=this.treeModel)||void 0===e?void 0:e.nodes)&&void 0!==n?n:{};return(0,bq.at)(i,t.children)}}Q0.\u0275fac=function(t){return new(t||Q0)},Q0.\u0275prov=xt({token:Q0,factory:Q0.\u0275fac}),vw([PV.ak],Q0.prototype,"getChildren",null);class Z0 extends class{constructor(){this.expansionModel=new Vp(!0)}toggle(t){this.expansionModel.toggle(this._trackByValue(t))}expand(t){this.expansionModel.select(this._trackByValue(t))}collapse(t){this.expansionModel.deselect(this._trackByValue(t))}isExpanded(t){return this.expansionModel.isSelected(this._trackByValue(t))}toggleDescendants(t){this.expansionModel.isSelected(this._trackByValue(t))?this.collapseDescendants(t):this.expandDescendants(t)}collapseAll(){this.expansionModel.clear()}expandDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.select(...e.map(t=>this._trackByValue(t)))}collapseDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.deselect(...e.map(t=>this._trackByValue(t)))}_trackByValue(t){return this.trackBy?this.trackBy(t):t}}{constructor(t,e,n){super(),this.getLevel=t,this.isExpandable=e,this.options=n,this.options&&(this.trackBy=this.options.trackBy)}getDescendants(t){const e=[];for(let n=this.dataNodes.indexOf(t)+1;nthis._trackByValue(t)))}}const J0=new oi("CDK_TREE_NODE_OUTLET_NODE");let t1=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(J0,8))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeOutlet",""]]}),t})();class e1{constructor(t){this.$implicit=t}}let n1=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:["cdkTreeNodeDefWhen","when"]}}),t})(),i1=(()=>{class t{constructor(t,e){this._differs=t,this._changeDetectorRef=e,this._onDestroy=new A,this._levels=new Map,this.viewChange=new Jf({start:0,end:Number.MAX_VALUE})}get dataSource(){return this._dataSource}set dataSource(t){this._dataSource!==t&&this._switchDataSource(t)}ngOnInit(){this._dataDiffer=this._differs.find([]).create(this.trackBy)}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null)}ngAfterContentChecked(){const t=this._nodeDefs.filter(t=>!t.when);this._defaultNodeDef=t[0],this.dataSource&&this._nodeDefs&&!this._dataSubscription&&this._observeRenderChanges()}_switchDataSource(t){this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),t||this._nodeOutlet.viewContainer.clear(),this._dataSource=t,this._nodeDefs&&this._observeRenderChanges()}_observeRenderChanges(){let t;!function(t){return t&&"function"==typeof t.connect}(this._dataSource)?Gd(this._dataSource)?t=this._dataSource:Array.isArray(this._dataSource)&&(t=Dd(this._dataSource)):t=this._dataSource.connect(this),t&&(this._dataSubscription=t.pipe(rp(this._onDestroy)).subscribe(t=>this.renderNodeChanges(t)))}renderNodeChanges(t,e=this._dataDiffer,n=this._nodeOutlet.viewContainer,i){const r=e.diff(t);!r||(r.forEachOperation((e,r,s)=>{if(null==e.previousIndex)this.insertNode(t[s],s,n,i);else if(null==s)n.remove(r),this._levels.delete(e.item);else{const t=n.get(r);n.move(t,s)}}),this._changeDetectorRef.detectChanges())}_getNodeDef(t,e){return 1===this._nodeDefs.length?this._nodeDefs.first:this._nodeDefs.find(n=>n.when&&n.when(e,t))||this._defaultNodeDef}insertNode(t,e,n,i){const r=this._getNodeDef(t,e),s=new e1(t);s.level=this.treeControl.getLevel?this.treeControl.getLevel(t):void 0!==i&&this._levels.has(i)?this._levels.get(i)+1:0,this._levels.set(t,s.level),(n||this._nodeOutlet.viewContainer).createEmbeddedView(r.template,s,e),r1.mostRecentTreeNode&&(r1.mostRecentTreeNode.data=t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Xl),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["cdk-tree"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,n1,5),2&t){let t;Qc(t=tu())&&(e._nodeDefs=t)}},viewQuery:function(t,e){if(1&t&&Zc(t1,7),2&t){let t;Qc(t=tu())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(t,e){1&t&&ca(0,0)},directives:[t1],encapsulation:2}),t})(),r1=(()=>{class t{constructor(e,n){this._elementRef=e,this._tree=n,this._destroyed=new A,this._dataChanges=new A,t.mostRecentTreeNode=this,this._elementRef.nativeElement.classList.add("cdk-tree-node"),this.role="treeitem"}get role(){return"treeitem"}set role(t){this._elementRef.nativeElement.setAttribute("role",t)}get data(){return this._data}set data(t){t!==this._data&&(this._data=t,this._setRoleFromData(),this._dataChanges.next())}get isExpanded(){return this._tree.treeControl.isExpanded(this._data)}_setExpanded(t){this._isAriaExpanded=t,this._elementRef.nativeElement.setAttribute("aria-expanded",`${t}`)}get level(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}ngOnInit(){this._parentNodeAriaLevel=function(t){let e=t.parentElement;for(;e&&!s1(e);)e=e.parentElement;return e?e.classList.contains("cdk-nested-tree-node")?Pd(e.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level",`${this.level+1}`)}ngDoCheck(){this.isExpanded!=this._isAriaExpanded&&this._setExpanded(this.isExpanded)}ngOnDestroy(){t.mostRecentTreeNode===this&&(t.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}_setRoleFromData(){this.role="treeitem"}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(i1))},t.\u0275dir=se({type:t,selectors:[["cdk-tree-node"]],inputs:{role:"role"},exportAs:["cdkTreeNode"]}),t.mostRecentTreeNode=null,t})();function s1(t){const e=t.classList;return!(!(null==e?void 0:e.contains("cdk-nested-tree-node"))&&!(null==e?void 0:e.contains("cdk-tree")))}const o1=/([A-Za-z%]+)$/;let a1=(()=>{class t{constructor(t,e,n,i){this._treeNode=t,this._tree=e,this._element=n,this._dir=i,this._destroyed=new A,this.indentUnits="px",this._indent=40,this._setPadding(),i&&i.change.pipe(rp(this._destroyed)).subscribe(()=>this._setPadding(!0)),t._dataChanges.subscribe(()=>this._setPadding())}get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_paddingIndent(){const t=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,e=null==this._level?t:this._level;return"number"==typeof e?`${e*this._indent}${this.indentUnits}`:null}_setPadding(t=!1){const e=this._paddingIndent();if(e!==this._currentPadding||t){const t=this._element.nativeElement,n=this._dir&&"rtl"===this._dir.value?"paddingRight":"paddingLeft",i="paddingLeft"===n?"paddingRight":"paddingLeft";t.style[n]=e||"",t.style[i]="",this._currentPadding=e}}_setLevelInput(t){this._level=Pd(t,null),this._setPadding()}_setIndentInput(t){let e=t,n="px";if("string"==typeof t){const i=t.split(o1);e=i[0],n=i[1]||n}this.indentUnits=n,this._indent=Pd(e),this._setPadding()}}return t.\u0275fac=function(e){return new(e||t)(ea(r1),ea(i1),ea(Al),ea(Fp,8))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:["cdkTreeNodePadding","level"],indent:["cdkTreeNodePaddingIndent","indent"]}}),t})(),l1=(()=>{class t{constructor(t,e){this._tree=t,this._treeNode=e,this._recursive=!1}get recursive(){return this._recursive}set recursive(t){this._recursive=kd(t)}_toggle(t){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),t.stopPropagation()}}return t.\u0275fac=function(e){return new(e||t)(ea(i1),ea(r1))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(t,e){1&t&&fa("click",function(t){return e._toggle(t)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}}),t})(),c1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const u1=Ky(qy(r1));let h1=(()=>{class t extends u1{constructor(t,e,n){super(t,e),this.tabIndex=Number(n)||0,t.nativeElement.classList.add("mat-tree-node")}ngOnInit(){super.ngOnInit()}ngDoCheck(){super.ngDoCheck()}ngOnDestroy(){super.ngOnDestroy()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(i1),ii("tabindex"))},t.\u0275dir=se({type:t,selectors:[["mat-tree-node"]],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[xl([{provide:r1,useExisting:t}]),jo]}),t})(),d1=(()=>{class t extends n1{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[xl([{provide:n1,useExisting:t}]),jo]}),t})(),p1=(()=>{class t extends a1{get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodePadding",""]],inputs:{level:["matTreeNodePadding","level"],indent:["matTreeNodePaddingIndent","indent"]},features:[xl([{provide:a1,useExisting:t}]),jo]}),t})(),f1=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(J0,8))},t.\u0275dir=se({type:t,selectors:[["","matTreeNodeOutlet",""]],features:[xl([{provide:t1,useExisting:t}])]}),t})(),g1=(()=>{class t extends i1{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-tree"]],viewQuery:function(t,e){if(1&t&&Zc(f1,7),2&t){let t;Qc(t=tu())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"mat-tree","cdk-tree"],exportAs:["matTree"],features:[xl([{provide:i1,useExisting:t}]),jo],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(t,e){1&t&&ca(0,0)},directives:[f1],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\n"],encapsulation:2}),t})(),m1=(()=>{class t extends l1{get recursive(){return this._recursive}set recursive(t){this._recursive=kd(t)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[xl([{provide:l1,useExisting:t}]),jo]}),t})(),b1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[c1,Wy],Wy]}),t})();class y1{constructor(t,e,n,i){this.transformFunction=t,this.getLevel=e,this.isExpandable=n,this.getChildren=i}_flattenNode(t,e,n,i){const r=this.transformFunction(t,e);if(n.push(r),this.isExpandable(r)){const r=this.getChildren(t);r&&(Array.isArray(r)?this._flattenChildren(r,e,n,i):r.pipe(rf(1)).subscribe(t=>{this._flattenChildren(t,e,n,i)}))}return n}_flattenChildren(t,e,n,i){t.forEach((r,s)=>{let o=i.slice();o.push(s!=t.length-1),this._flattenNode(r,e+1,n,o)})}flattenNodes(t){let e=[];return t.forEach(t=>this._flattenNode(t,0,e,[])),e}expandFlattenedNodes(t,e){let n=[],i=[];return i[0]=!0,t.forEach(t=>{let r=!0;for(let e=0;e<=this.getLevel(t);e++)r=r&&i[e];r&&n.push(t),this.isExpandable(t)&&(i[this.getLevel(t)+1]=e.isExpanded(t))}),n}}class v1 extends class{}{constructor(t,e,n){super(),this._treeControl=t,this._treeFlattener=e,this._flattenedData=new Jf([]),this._expandedData=new Jf([]),this._data=new Jf([]),n&&(this.data=n)}get data(){return this._data.value}set data(t){this._data.next(t),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value}connect(t){return Q(t.viewChange,this._treeControl.expansionModel.changed,this._flattenedData).pipe(D(()=>(this._expandedData.next(this._treeFlattener.expandFlattenedNodes(this._flattenedData.value,this._treeControl)),this._expandedData.value)))}disconnect(){}}class _1{constructor(t,e){this.original=t,this.level=e,this.visible=!0,this.opacity=20}get label(){return this.original.label}get expandable(){return this.original.children.length>0}static create(t,e){return new _1(t,e)}}function w1(t,e){if(1&t){const t=ua();ra(0,"div",4),fa("click",function(e){const n=$e(t).node,i=va();return i.select(e.ctrlKey,n,!0,!i.isSelected(n))}),Ja(1),sa()}if(2&t){const t=e.node,n=va();ja("hidden",t.label===(null==n.highlightedNode?null:n.highlightedNode.label))("filtered-out",!n.occurenceData[t.original.id]&&!!n.termData[t.original.id])("unavailable",!n.termData[t.original.id])("selected",n.isSelected(t)),ws(1),tl("colon"===t.label?"large intestine":t.label)}}function x1(t,e){1&t&&ca(0)}const S1=function(t){return{node:t}};function C1(t,e){if(1&t){const t=ua();ra(0,"mat-tree-node",5),fa("mouseleave",function(){$e(t);const e=ta(5);return va().mouseOut(),e.reset()}),ra(1,"div"),ra(2,"mat-icon",6),fa("mouseenter",function(){const e=$e(t).$implicit;return va().mouseOver(e)}),sa(),ra(3,"div",7),ra(4,"ccf-opacity-slider",8,9),fa("opacityChange",function(e){const n=$e(t).$implicit;return va().updateOpacity(n,e)})("opacityReset",function(){const e=$e(t).$implicit;return va().resetNode(e)})("visibilityToggle",function(){const e=$e(t).$implicit;return va().toggleVisibility(e)}),sa(),sa(),sa(),oa(6,"div",10),Jo(7,x1,1,0,"ng-container",11),ra(8,"div",12),Ja(9),sa(),sa()}if(2&t){const t=e.$implicit,n=va(),i=ta(2);na("matTreeNodePaddingIndent",n.indent),ws(1),La("display",-1!==t.opacity?"none":"block"),ws(1),La("left",n.getLeftIndent(t.level)),ja("fade",!0!==t.visible),ws(1),La("left",n.getLeftIndent(t.level)),ja("hidden",t.label!==(null==n.highlightedNode?null:n.highlightedNode.label)),ws(1),na("visible",t.visible)("opacity",t.opacity),ws(3),na("ngTemplateOutlet",i)("ngTemplateOutletContext",Pc(18,S1,t)),ws(1),ja("suborgan",t.level>1),ws(1),tl(n.occurenceData[t.original.id]||0)}}function E1(t,e){1&t&&ca(0)}function O1(t,e){if(1&t){const t=ua();ra(0,"mat-tree-node",13),fa("mouseleave",function(){$e(t);const e=ta(5);return va().mouseOut(),e.reset()}),ra(1,"div"),ra(2,"mat-icon",6),fa("mouseenter",function(){const e=$e(t).$implicit;return va().mouseOver(e)}),sa(),ra(3,"div",7),ra(4,"ccf-opacity-slider",8,14),fa("opacityChange",function(e){const n=$e(t).$implicit;return va().updateOpacity(n,e)})("opacityReset",function(){const e=$e(t).$implicit;return va().resetNode(e)})("visibilityToggle",function(){const e=$e(t).$implicit;return va().toggleVisibility(e)}),sa(),sa(),sa(),ra(6,"button",15),ra(7,"mat-icon",16),Ja(8),sa(),sa(),Jo(9,E1,1,0,"ng-container",11),ra(10,"div",12),Ja(11),sa(),sa()}if(2&t){const t=e.$implicit,n=va(),i=ta(2);na("matTreeNodePaddingIndent",n.indent),ws(1),La("display",-1!==t.opacity?"none":"block"),ws(1),La("left",n.getLeftIndent(t.level)),ja("fade",!0!==t.visible),ws(1),La("left",n.getLeftIndent(t.level)),ja("hidden",t.label!==(null==n.highlightedNode?null:n.highlightedNode.label)),ws(1),na("visible",t.visible)("opacity",t.opacity),ws(2),ja("hidden",t.label===(null==n.highlightedNode?null:n.highlightedNode.label)),Zo("aria-label","Toggle ",t.label,""),ws(2),el(" ",n.control.isExpanded(t)?"expand_less":"expand_more"," "),ws(1),na("ngTemplateOutlet",i)("ngTemplateOutletContext",Pc(22,S1,t)),ws(1),ja("suborgan",t.level>1),ws(1),tl(n.occurenceData[t.original.id]||0)}}const T1=(0,bq.property)("level"),k1=(0,bq.property)("expandable");let P1=(()=>{class t{constructor(t,e){this.cdr=t,this.ga=e,this.atScrollBottom=!1,this.nodeSelected=new Bc,this.nodeChanged=new Bc,this.indent="1.5rem",this.control=new Z0(T1,k1),this.flattener=new y1(_1.create,T1,k1,bq.invoke.bind(void 0,this,"getChildren")),this.dataSource=new v1(this.control,this.flattener),this._nodes=void 0,this.anySelectionsMade=!1,this.selectedNodes=[]}set nodes(t){var e;this._nodes=t,this.control&&(this.dataSource.data=null!==(e=this._nodes)&&void 0!==e?e:[])}get nodes(){return this._nodes}set getChildren(t){var e;this._getChildren=t,this.dataSource.data=null!==(e=this.nodes)&&void 0!==e?e:[]}get getChildren(){return this._getChildren}set occurenceData(t){this._occurenceData=t||{}}get occurenceData(){return this._occurenceData}set termData(t){this._termData=t||{}}get termData(){return this._termData}ngOnInit(){this.control.dataNodes&&this.control.expand(this.control.dataNodes[0])}ngOnChanges(t){if(t.ontologyFilter){const e=t.ontologyFilter.currentValue;(null==e?void 0:e.length)>=0&&this.selectByIDs(e)}t.rootNode&&this.selectByIDs([t.rootNode.currentValue])}selectByIDs(t){const e=this.control.dataNodes,n=e.filter(e=>t.indexOf(e.original.id)>-1);(null==n?void 0:n.length)>0&&(this.selectedNodes=n,this.ga.event("nodes_selected_by_ids","ontology_tree",n.map(t=>t.label).join(",")),this.control.collapseAll(),this.selectedNodes.forEach(t=>{this.expandAndSelect(t.original,t=>{var n;return null===(n=e.find(e=>e.original.id===t.parent))||void 0===n?void 0:n.original},!0)}))}expandAndSelect(t,e,n=!1){var i;const{cdr:r,control:s}=this,o=new Set;let a=e(t);for(;a;)o.add(a),a=e(a);const l=(0,bq.filter)(s.dataNodes,t=>o.has(t.original)),c=s.dataNodes.find(e=>e.original===t);n||(this.selectedNodes=[],s.collapseAll());for(const u of l)s.expand(u);"body"===t.label&&(null===(i=s.dataNodes)||void 0===i?void 0:i.length)>0&&s.expand(s.dataNodes[0]),this.select(n,c,!1,!0),r.detectChanges()}isInnerNode(t,e){return e.expandable}isSelected(t){return(null==t?void 0:t.original.id)===this.rootNode||this.selectedNodes.filter(e=>(null==t?void 0:t.original.label)===(null==e?void 0:e.original.label)).length>0}select(t,e,n,i){if(this.anySelectionsMade||(this.selectedNodes=[],this.anySelectionsMade=!0),void 0===e)return this.selectedNodes=[],void this.ga.event("nodes_unselected","ontology_tree");t?i?this.selectedNodes.indexOf(e)<0&&this.selectedNodes.push(e):this.selectedNodes.splice(this.selectedNodes.indexOf(e),1):(this.selectedNodes=[],i&&this.selectedNodes.push(e)),this.ga.event("nodes_selected","ontology_tree",this.selectedNodes.map(t=>t.label).join(",")),n&&this.nodeSelected.emit(this.selectedNodes.map(t=>null==t?void 0:t.original))}mouseOver(t){this.highlightedNode=t}mouseOut(){this.highlightedNode=void 0}updateOpacity(t,e){t.opacity=e,this.ga.event("opacity_update","ontology_tree",t.label,e),this.nodeChanged.emit(t)}resetNode(t){t.opacity=20,t.visible=!0,this.ga.event("node_reset","ontology_tree",t.label),this.nodeChanged.emit(t)}toggleVisibility(t){t.visible=!0!==t.visible,this.ga.event("visibility_update","ontology_tree",t.label,+t.visible),this.nodeChanged.emit(t)}getLeftIndent(t){return-1.5*t+"rem"}onScroll(t){if(!t.target)return;const{clientHeight:e,scrollHeight:n,scrollTop:i}=t.target;this.atScrollBottom=n-i-e<20}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-tree"]],inputs:{ontologyFilter:"ontologyFilter",rootNode:"rootNode",nodes:"nodes",getChildren:"getChildren",occurenceData:"occurenceData",termData:"termData",header:"header"},outputs:{nodeSelected:"nodeSelected",nodeChanged:"nodeChanged"},features:[ye],decls:5,vars:5,consts:[[1,"ccf-ontology-tree",3,"dataSource","treeControl","scroll"],["selectableRegion",""],["class","node leaf-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef"],["class","node inner-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef","matTreeNodeDefWhen"],[1,"text",3,"click"],["matTreeNodePadding","",1,"node","leaf-node",3,"matTreeNodePaddingIndent","mouseleave"],["svgIcon","app:opacity",1,"icon","opacity",3,"mouseenter"],[1,"slider"],[3,"visible","opacity","opacityChange","opacityReset","visibilityToggle"],["slider1",""],[1,"non-expandable"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"num-results"],["matTreeNodePadding","",1,"node","inner-node",3,"matTreeNodePaddingIndent","mouseleave"],["slider2",""],["mat-icon-button","","matTreeNodeToggle","",1,"toggle"],[1,"icon","font-icon"]],template:function(t,e){1&t&&(ra(0,"mat-tree",0),fa("scroll",function(t){return e.onScroll(t)}),Jo(1,w1,2,9,"ng-template",null,1,ru),Jo(3,C1,10,20,"mat-tree-node",2),Jo(4,O1,12,24,"mat-tree-node",3),sa()),2&t&&(ja("header-hidden",!e.header),na("dataSource",e.dataSource)("treeControl",e.control),ws(4),na("matTreeNodeDefWhen",e.isInnerNode))},directives:[g1,d1,h1,p1,T_,BK,Fh,R_,m1],styles:[".ccf-ontology-tree[_ngcontent-%COMP%]{background:none;scrollbar-width:thin;max-height:calc(50vh - 10rem);overflow:auto;overflow-x:hidden}.ccf-ontology-tree.header-hidden[_ngcontent-%COMP%]{max-height:40vh}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .toggle[_ngcontent-%COMP%]{z-index:-1;opacity:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .text[_ngcontent-%COMP%]{margin-left:.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]{min-height:0;font-size:1rem;margin-bottom:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:width;position:relative;z-index:1}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%]{width:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%] ccf-opacity-slider[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider{height:1.5rem;margin-left:1rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box .slider-and-label{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider{height:1.5rem;width:15rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider .mat-slider-wrapper{top:12px}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .opacity-value{width:3rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-right:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node.inner-node[_ngcontent-%COMP%] button.hidden[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .opacity[_ngcontent-%COMP%]{position:relative;min-width:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:normal}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .autocomplete-open[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{border-bottom:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .non-expandable[_ngcontent-%COMP%]{margin-left:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{white-space:nowrap;cursor:pointer;margin-left:1rem;opacity:1;width:50%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:opacity,width}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.hidden[_ngcontent-%COMP%]{opacity:0;width:0%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.unavailable[_ngcontent-%COMP%]{pointer-events:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-left:auto}.scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:90%;bottom:0;pointer-events:none}.scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();function A1(t,e){if(1&t&&(ra(0,"mat-option",8),ra(1,"span",9),Ja(2),sa(),ra(3,"span",10),Ja(4),sa(),ra(5,"span",11),Ja(6),sa(),sa()),2&t){const t=e.$implicit;na("value",t),ws(2),tl(t.displayLabel[0]),ws(2),tl(t.displayLabel[1]),ws(2),tl(t.displayLabel[2])}}let M1=(()=>{class t{constructor(t,e){this.ontologyService=t,this.ga=e,this.selected=new Bc,this.formControl=new tH(""),this.autoCompleteOpen=!1}ngOnInit(){this.filteredResults$=this.formControl.valueChanges.pipe(ep(t=>"string"==typeof t),lp(""),cp(t=>this.ontologyService.filter(t)),D(t=>(0,bq.sortBy)(t,[this.sortBySynonymResult,"index",this.sortLexically])))}displayFormatter(t){var e;return(null!==(e=null==t?void 0:t.displayLabel)&&void 0!==e?e:[]).join("")}sortBySynonymResult(t){return t.displayLabel.join().includes("(")?1:-1}sortLexically(t){return t.node.label.toLowerCase()}onSelect(t){const e=(0,bq.get)(t,["option","value","node"]);e&&(this.ga.event("search","ontology_search",e.id),this.selected.emit(e),this.formControl.reset())}}return t.\u0275fac=function(e){return new(e||t)(ea(Q0),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-search"]],inputs:{placeholderText:"placeholderText"},outputs:{selected:"selected"},decls:10,vars:9,consts:[[1,"ccf-ontology-search"],["appearance","outline",1,"field"],["matPrefix","","color","primary",1,"search"],["type","text","matInput","",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"ccf-ontology-search","detached","autocomplete",3,"displayWith","optionSelected","opened","closed"],["autocomplete",""],[1,"results-container"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"prefix"],[1,"search-term"],[1,"suffix"]],template:function(t,e){if(1&t&&(ra(0,"form",0),ra(1,"mat-form-field",1),ra(2,"mat-icon",2),Ja(3,"search"),sa(),oa(4,"input",3),ra(5,"mat-autocomplete",4,5),fa("optionSelected",function(t){return e.onSelect(t)})("opened",function(){return e.autoCompleteOpen=!0})("closed",function(){return e.autoCompleteOpen=!1}),ra(7,"div",6),Jo(8,A1,7,4,"mat-option",7),Dc(9,"async"),sa(),sa(),sa(),sa()),2&t){const t=ta(6);ja("autocomplete-open",e.autoCompleteOpen),ws(4),na("placeholder",e.placeholderText)("formControl",e.formControl)("matAutocomplete",t),ws(1),na("displayWith",e.displayFormatter),ws(3),na("ngForOf",Rc(9,7,e.filteredResults$))}},directives:[cH,IU,sH,QH,T_,$H,E$,uU,m$,MU,pH,h$,kh,wv],pipes:[$h],styles:[".ccf-ontology-search[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem .25rem 0;margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;height:3rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix input{margin-left:.4rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-prefix{top:.5rem;border:none}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0 .25rem;min-width:2.5rem} .ccf-ontology-search.detached{border:.125rem solid;border-top:none;border-radius:0 0 .25rem .25rem;max-height:18rem} .ccf-ontology-search.detached .results-container{width:23.75rem;margin-bottom:1rem;overflow:auto;max-height:15rem;scrollbar-width:thin} .ccf-ontology-search.detached .results-container mat-option{height:1.5rem;width:23.75rem} .ccf-ontology-search.detached .results-container mat-option .search-term{text-decoration:underline}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0;border-bottom:none}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem 0 0;border-bottom:none}"],changeDetection:0}),t})();const I1=function(t){return[t]};function D1(t,e){if(1&t){const t=ua();ra(0,"ccf-ontology-tree",2),fa("nodeSelected",function(e){return $e(t),va().ontologySelection.emit(e)}),sa()}if(2&t){const t=e.ngIf,n=va();na("nodes",Pc(7,I1,t))("rootNode",t.id)("getChildren",n.ontologySearchService.getChildren)("occurenceData",n.occurenceData)("termData",n.termData)("ontologyFilter",n.ontologyFilter)("header",n.header)}}let R1=(()=>{class t{constructor(t){this.ontologySearchService=t,this.ontologySelection=new Bc}ngOnChanges(t){"treeModel"in t&&this.treeModel&&this.ontologySearchService.setTreeModel(this.treeModel)}selected(t){var e,n;const i=null!==(n=null===(e=this.treeModel)||void 0===e?void 0:e.nodes)&&void 0!==n?n:{};this.tree.expandAndSelect(t,t=>i[t.parent])}}return t.\u0275fac=function(e){return new(e||t)(ea(Q0))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-selection"]],viewQuery:function(t,e){if(1&t&&Zc(P1,5),2&t){let t;Qc(t=tu())&&(e.tree=t.first)}},inputs:{occurenceData:"occurenceData",termData:"termData",treeModel:"treeModel",ontologyFilter:"ontologyFilter",header:"header",placeholderText:"placeholderText"},outputs:{ontologySelection:"ontologySelection"},features:[xl([Q0]),ye],decls:3,vars:4,consts:[[3,"placeholderText","selected"],["class","tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected",4,"ngIf"],[1,"tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected"]],template:function(t,e){1&t&&(ra(0,"ccf-ontology-search",0),fa("selected",function(t){return e.selected(t)}),sa(),Jo(1,D1,1,9,"ccf-ontology-tree",1),Dc(2,"async")),2&t&&(na("placeholderText",e.placeholderText),ws(1),na("ngIf",Rc(2,2,e.ontologySearchService.rootNode$)))},directives:[M1,Ah,P1],pipes:[$h],styles:[""],changeDetection:0}),t})(),N1=(()=>{class t{constructor(t,e,n){this.drawer=t,this.cdr=n,this.className="ccf-drawer-toggle-button",this.position="start",this.opened=!1,this.subscriptions=new g;const i=e.connect(this);this.subscriptions.add(i.getMessagesFromSource(t).subscribe(t=>{this.handleMessage(t)&&n.markForCheck()}))}get classEnd(){return"end"===this.position}get icon(){let t="arrow_right",e="arrow_left";return"end"===this.position&&([t,e]=[e,t]),this.opened?e:t}ngAfterViewInit(){setTimeout(()=>{this.position=this.drawer.position,this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return"drawer-toggled"===t.payload.type&&(this.opened=t.payload.opened,!0)}toggle(){const t=this.drawer,{opened:e,expanded:n}=t;e?n?t.closeExpanded():t.close():t.open()}}return t.\u0275fac=function(e){return new(e||t)(ea(kZ),ea(xZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-toggle-button"]],hostVars:4,hostBindings:function(t,e){2&t&&(Va(e.className),ja("ccf-drawer-toggle-button-end",e.classEnd))},decls:2,vars:1,consts:[["aria-hidden","false","aria-label","Close side drawer",1,"expand-collapse-icon",3,"click"]],template:function(t,e){1&t&&(ra(0,"mat-icon",0),fa("click",function(){return e.toggle()}),Ja(1),sa()),2&t&&(ws(1),el(" ",e.icon,"\n"))},directives:[T_],styles:["[_nghost-%COMP%]{position:absolute;top:calc(50% - 2.0625rem);right:-1.0625rem;width:1.0625rem;height:3rem;border-radius:0 .25rem .25rem 0;cursor:pointer;display:flex;align-items:center;transition:.6s}.ccf-drawer-toggle-button-end[_nghost-%COMP%]{right:unset;left:calc(-1rem - 1px);border-radius:.25rem 0 0 .25rem}[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{position:relative;right:.25rem;transition:all .5s}.ccf-drawer-toggle-button-end[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{right:unset;left:-.25rem}"],changeDetection:0}),t})();function L1(t,e){1&t&&(ra(0,"div",7),oa(1,"mat-spinner",8),ra(2,"span",3),Ja(3,"Loading External Site"),sa(),sa())}function j1(t,e){if(1&t){const t=ua();ra(0,"iframe",9),fa("load",function(){return $e(t),va().loading=!1}),sa()}2&t&&Ko("src",va().safeUrl,wr)}let F1=(()=>{class t{constructor(t){this.sanitizer=t,this.className="ccf-viewer",this.url="",this.closed=new Bc,this.loading=!0,this.safeUrl=null}ngOnChanges(t){"url"in t&&this.updateUrl()}updateUrl(){const{sanitizer:t,url:e}=this;this.safeUrl=null,e&&(this.safeUrl=t.bypassSecurityTrustResourceUrl(e),this.loading=!0)}}return t.\u0275fac=function(e){return new(e||t)(ea(Sd))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-viewer"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{url:"url"},outputs:{closed:"closed"},features:[ye],decls:11,vars:4,consts:[[1,"toolbar"],["mat-flat-button","","target","_blank","rel","noopener noreferrer",1,"launch",3,"href","disabled"],[1,"icon"],[1,"text"],["mat-flat-button","",1,"close",3,"click"],["class","overlay",4,"ngIf"],["class","frame","title","Portal Data Viewer","referrerpolicy","no-referrer",3,"load",4,"ngIf"],[1,"overlay"],[1,"spinner"],["title","Portal Data Viewer","referrerpolicy","no-referrer",1,"frame",3,"load"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"a",1),ra(2,"mat-icon",2),Ja(3,"launch"),sa(),ra(4,"span",3),Ja(5,"Open in Portal"),sa(),sa(),ra(6,"button",4),fa("click",function(){return e.closed.emit()}),ra(7,"mat-icon",2),Ja(8,"clear"),sa(),sa(),sa(),Jo(9,L1,4,0,"div",5),Jo(10,j1,1,1,"iframe",6)),2&t&&(ws(1),na("href",e.safeUrl,_r)("disabled",!e.safeUrl),ws(8),na("ngIf",e.loading),ws(1),na("ngIf",e.safeUrl))},directives:[N_,T_,R_,Ah,mZ],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;width:100%;height:1.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%]{margin-right:3.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch.mat-button-disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.25rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{min-width:0;padding:0;line-height:1.5rem;border-radius:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:1.5rem;bottom:0;left:0;right:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{margin-bottom:.5rem}[_nghost-%COMP%] .frame[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0}),t})();function B1(t,e){if(1&t&&oa(0,"div",3),2&t){const t=e.index;ja("line-tick-visible",va().tissueSectionExists(t+1))}}const V1=function(){return[]};let z1=(()=>{class t{constructor(){this.clsName="ccf-tissue-section-vis"}tissueSectionExists(t){return this.tissueSections.filter(e=>e.sectionNumber===t).length>0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tissue-section-vis"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{totalTissueSections:"totalTissueSections",tissueSections:"tissueSections"},decls:7,vars:3,consts:[[1,"container"],["class","line-tick",3,"line-tick-visible",4,"ngFor","ngForOf"],[1,"x-axis"],[1,"line-tick"]],template:function(t,e){1&t&&(ra(0,"div"),Ja(1,"0"),sa(),ra(2,"div",0),Jo(3,B1,1,2,"div",1),oa(4,"div",2),sa(),ra(5,"div"),Ja(6),sa()),2&t&&(ws(3),na("ngForOf",kc(2,V1).constructor(e.totalTissueSections)),ws(3),tl(e.totalTissueSections))},directives:[kh],styles:["[_nghost-%COMP%]{width:100%;height:2.5rem;padding:.5rem 1rem;display:flex}[_nghost-%COMP%] .container[_ngcontent-%COMP%]{margin-right:.5rem;margin-left:.5rem;flex-grow:1;display:flex;position:relative;justify-content:space-evenly}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .line-tick[_ngcontent-%COMP%]{height:100%;width:1px;z-index:2}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .x-axis[_ngcontent-%COMP%]{width:100%;height:2px;position:absolute;top:calc(50% - 1px);right:0;z-index:1}"],changeDetection:0}),t})();function U1(t){return null!==t&&"object"==typeof t&&"constructor"in t&&t.constructor===Object}function H1(t,e){void 0===t&&(t={}),void 0===e&&(e={}),Object.keys(e).forEach(function(n){void 0===t[n]?t[n]=e[n]:U1(e[n])&&U1(t[n])&&Object.keys(e[n]).length>0&&H1(t[n],e[n])})}var $1={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function G1(){var t="undefined"!=typeof document?document:{};return H1(t,$1),t}var W1={document:$1,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}},requestAnimationFrame:function(t){return"undefined"==typeof setTimeout?(t(),null):setTimeout(t,0)},cancelAnimationFrame:function(t){"undefined"!=typeof setTimeout&&clearTimeout(t)}};function q1(){var t="undefined"!=typeof window?window:{};return H1(t,W1),t}function Y1(t){return(Y1=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function X1(t,e){return(X1=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function K1(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(m){return!1}}function Q1(t,e,n){return(Q1=K1()?Reflect.construct:function(t,e,n){var i=[null];i.push.apply(i,e);var r=new(Function.bind.apply(t,i));return n&&X1(r,n.prototype),r}).apply(null,arguments)}function Z1(t){var e="function"==typeof Map?new Map:void 0;return(Z1=function(t){if(null===t||!function(t){return-1!==Function.toString.call(t).indexOf("[native code]")}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return Q1(t,arguments,Y1(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),X1(n,t)})(t)}var J1=function(t){function e(e){var n;return function(t){var e=t.__proto__;Object.defineProperty(t,"__proto__",{get:function(){return e},set:function(t){e.__proto__=t}})}(function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(n=t.call.apply(t,[this].concat(e))||this)),n}return function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}(e,t),e}(Z1(Array));function t2(t){void 0===t&&(t=[]);var e=[];return t.forEach(function(t){Array.isArray(t)?e.push.apply(e,t2(t)):e.push(t)}),e}function e2(t,e){return Array.prototype.filter.call(t,e)}function n2(t,e){var n=q1(),i=G1(),r=[];if(!e&&t instanceof J1)return t;if(!t)return new J1(r);if("string"==typeof t){var s=t.trim();if(s.indexOf("<")>=0&&s.indexOf(">")>=0){var o="div";0===s.indexOf("0}).length>0},toggleClass:function(){for(var t=arguments.length,e=new Array(t),n=0;n=0;p-=1){var f=d[p];s&&f.listener===s||s&&f.listener&&f.listener.dom7proxy&&f.listener.dom7proxy===s?(h.removeEventListener(c,f.proxyListener,o),d.splice(p,1)):s||(h.removeEventListener(c,f.proxyListener,o),d.splice(p,1))}}return this},trigger:function(){for(var t=q1(),e=arguments.length,n=new Array(e),i=0;i0}),c.dispatchEvent(u),c.dom7EventData=[],delete c.dom7EventData}}return this},transitionEnd:function(t){var e=this;return t&&e.on("transitionend",function n(i){i.target===this&&(t.call(this,i),e.off("transitionend",n))}),this},outerWidth:function(t){if(this.length>0){if(t){var e=this.styles();return this[0].offsetWidth+parseFloat(e.getPropertyValue("margin-right"))+parseFloat(e.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(t){if(this.length>0){if(t){var e=this.styles();return this[0].offsetHeight+parseFloat(e.getPropertyValue("margin-top"))+parseFloat(e.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){var t=q1();return this[0]?t.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){var t=q1(),e=G1(),n=this[0],i=n.getBoundingClientRect(),r=e.body;return{top:i.top+(n===t?t.scrollY:n.scrollTop)-(n.clientTop||r.clientTop||0),left:i.left+(n===t?t.scrollX:n.scrollLeft)-(n.clientLeft||r.clientLeft||0)}}return null},css:function(t,e){var n,i=q1();if(1===arguments.length){if("string"!=typeof t){for(n=0;ne-1)return n2([]);if(t<0){var n=e+t;return n2(n<0?[]:[this[n]])}return n2([this[t]])},append:function(){for(var t,e=G1(),n=0;n=0;n-=1)this[e].insertBefore(r.childNodes[n],this[e].childNodes[0])}else if(t instanceof J1)for(n=0;n0?t?this[0].nextElementSibling&&n2(this[0].nextElementSibling).is(t)?n2([this[0].nextElementSibling]):n2([]):n2(this[0].nextElementSibling?[this[0].nextElementSibling]:[]):n2([])},nextAll:function(t){var e=[],n=this[0];if(!n)return n2([]);for(;n.nextElementSibling;){var i=n.nextElementSibling;t?n2(i).is(t)&&e.push(i):e.push(i),n=i}return n2(e)},prev:function(t){if(this.length>0){var e=this[0];return t?e.previousElementSibling&&n2(e.previousElementSibling).is(t)?n2([e.previousElementSibling]):n2([]):n2(e.previousElementSibling?[e.previousElementSibling]:[])}return n2([])},prevAll:function(t){var e=[],n=this[0];if(!n)return n2([]);for(;n.previousElementSibling;){var i=n.previousElementSibling;t?n2(i).is(t)&&e.push(i):e.push(i),n=i}return n2(e)},parent:function(t){for(var e=[],n=0;n=0,observer:"MutationObserver"in t||"WebkitMutationObserver"in t,passiveListener:function(){var e=!1;try{var n=Object.defineProperty({},"passive",{get:function(){e=!0}});t.addEventListener("testPassiveListener",null,n)}catch(i){}return e}(),gestures:"ongesturestart"in t}}()),o2}function b2(t){return void 0===t&&(t={}),a2||(a2=function(t){var e=(void 0===t?{}:t).userAgent,n=m2(),i=q1(),r=i.navigator.platform,s=e||i.navigator.userAgent,o={ios:!1,android:!1},a=i.screen.width,l=i.screen.height,c=s.match(/(Android);?[\s\/]+([\d.]+)?/),u=s.match(/(iPad).*OS\s([\d_]+)/),h=s.match(/(iPod)(.*OS\s([\d_]+))?/),d=!u&&s.match(/(iPhone\sOS|iOS)\s([\d_]+)/),p="Win32"===r,f="MacIntel"===r;return!u&&f&&n.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(a+"x"+l)>=0&&((u=s.match(/(Version)\/([\d.]+)/))||(u=[0,1,"13_0_0"]),f=!1),c&&!p&&(o.os="android",o.android=!0),(u||d||h)&&(o.os="ios",o.ios=!0),o}(t)),a2}function y2(){return l2||(l2=function(){var t,e=q1();return{isEdge:!!e.navigator.userAgent.match(/Edge/g),isSafari:(t=e.navigator.userAgent.toLowerCase(),t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),l2}var v2={name:"resize",create:function(){var t=this;f2(t,{resize:{observer:null,createObserver:function(){!t||t.destroyed||!t.initialized||(t.resize.observer=new ResizeObserver(function(e){var n=t.width,i=t.height,r=n,s=i;e.forEach(function(e){var n=e.contentBoxSize,i=e.contentRect,o=e.target;o&&o!==t.el||(r=i?i.width:(n[0]||n).inlineSize,s=i?i.height:(n[0]||n).blockSize)}),(r!==n||s!==i)&&t.resize.resizeHandler()}),t.resize.observer.observe(t.el))},removeObserver:function(){t.resize.observer&&t.resize.observer.unobserve&&t.el&&(t.resize.observer.unobserve(t.el),t.resize.observer=null)},resizeHandler:function(){!t||t.destroyed||!t.initialized||(t.emit("beforeResize"),t.emit("resize"))},orientationChangeHandler:function(){!t||t.destroyed||!t.initialized||t.emit("orientationchange")}}})},on:{init:function(t){var e=q1();t.params.resizeObserver&&void 0!==q1().ResizeObserver?t.resize.createObserver():(e.addEventListener("resize",t.resize.resizeHandler),e.addEventListener("orientationchange",t.resize.orientationChangeHandler))},destroy:function(t){var e=q1();t.resize.removeObserver(),e.removeEventListener("resize",t.resize.resizeHandler),e.removeEventListener("orientationchange",t.resize.orientationChangeHandler)}}};function _2(){return(_2=Object.assign||function(t){for(var e=1;e0)&&(!r.isTouched||!r.isMoved))){s.noSwipingClass&&""!==s.noSwipingClass&&a.target&&a.target.shadowRoot&&t.path&&t.path[0]&&(l=c2(t.path[0]));var c=s.noSwipingSelector?s.noSwipingSelector:"."+s.noSwipingClass;if(s.noSwiping&&(a.target&&a.target.shadowRoot?function(t,e){return void 0===e&&(e=this),function e(n){return n&&n!==G1()&&n!==q1()?(n.assignedSlot&&(n=n.assignedSlot),n.closest(t)||e(n.getRootNode().host)):null}(e)}(c,a.target):l.closest(c)[0]))return void(e.allowClick=!0);if(!s.swipeHandler||l.closest(s.swipeHandler)[0]){o.currentX="touchstart"===a.type?a.targetTouches[0].pageX:a.pageX,o.currentY="touchstart"===a.type?a.targetTouches[0].pageY:a.pageY;var u=o.currentX,h=o.currentY,d=s.edgeSwipeDetection||s.iOSEdgeSwipeDetection,p=s.edgeSwipeThreshold||s.iOSEdgeSwipeThreshold;if(d&&(u<=p||u>=i.innerWidth-p)){if("prevent"!==d)return;t.preventDefault()}if(f2(r,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=u,o.startY=h,r.touchStartTime=h2(),e.allowClick=!0,e.updateSize(),e.swipeDirection=void 0,s.threshold>0&&(r.allowThresholdMove=!1),"touchstart"!==a.type){var f=!0;l.is(r.focusableElements)&&(f=!1),n.activeElement&&c2(n.activeElement).is(r.focusableElements)&&n.activeElement!==l[0]&&n.activeElement.blur(),(s.touchStartForcePreventDefault||f&&e.allowTouchMove&&s.touchStartPreventDefault)&&!l[0].isContentEditable&&a.preventDefault()}e.emit("touchStart",a)}}}}function C2(t){var e=G1(),n=this,i=n.touchEventsData,r=n.params,s=n.touches,o=n.rtlTranslate;if(n.enabled){var a=t;if(a.originalEvent&&(a=a.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&n.emit("touchMoveOpposite",a));if(!i.isTouchEvent||"touchmove"===a.type){var l="touchmove"===a.type&&a.targetTouches&&(a.targetTouches[0]||a.changedTouches[0]),c="touchmove"===a.type?l.pageX:a.pageX,u="touchmove"===a.type?l.pageY:a.pageY;if(a.preventedByNestedSwiper)return s.startX=c,void(s.startY=u);if(!n.allowTouchMove)return n.allowClick=!1,void(i.isTouched&&(f2(s,{startX:c,startY:u,currentX:c,currentY:u}),i.touchStartTime=h2()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(n.isVertical()){if(us.startY&&n.translate>=n.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(cs.startX&&n.translate>=n.minTranslate())return;if(i.isTouchEvent&&e.activeElement&&a.target===e.activeElement&&c2(a.target).is(i.focusableElements))return i.isMoved=!0,void(n.allowClick=!1);if(i.allowTouchCallbacks&&n.emit("touchMove",a),!(a.targetTouches&&a.targetTouches.length>1)){s.currentX=c,s.currentY=u;var h=s.currentX-s.startX,d=s.currentY-s.startY;if(!(n.params.threshold&&Math.sqrt(Math.pow(h,2)+Math.pow(d,2))=25&&(p=180*Math.atan2(Math.abs(d),Math.abs(h))/Math.PI,i.isScrolling=n.isHorizontal()?p>r.touchAngle:90-p>r.touchAngle)),i.isScrolling&&n.emit("touchMoveOpposite",a),void 0===i.startMoving&&(s.currentX!==s.startX||s.currentY!==s.startY)&&(i.startMoving=!0),i.isScrolling)return void(i.isTouched=!1);if(i.startMoving){n.allowClick=!1,!r.cssMode&&a.cancelable&&a.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&a.stopPropagation(),i.isMoved||(r.loop&&n.loopFix(),i.startTranslate=n.getTranslate(),n.setTransition(0),n.animating&&n.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,r.grabCursor&&(!0===n.allowSlideNext||!0===n.allowSlidePrev)&&n.setGrabCursor(!0),n.emit("sliderFirstMove",a)),n.emit("sliderMove",a),i.isMoved=!0;var f=n.isHorizontal()?h:d;s.diff=f,f*=r.touchRatio,o&&(f=-f),n.swipeDirection=f>0?"prev":"next",i.currentTranslate=f+i.startTranslate;var g=!0,m=r.resistanceRatio;if(r.touchReleaseOnEdges&&(m=0),f>0&&i.currentTranslate>n.minTranslate()?(g=!1,r.resistance&&(i.currentTranslate=n.minTranslate()-1+Math.pow(-n.minTranslate()+i.startTranslate+f,m))):f<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),!n.allowSlidePrev&&!n.allowSlideNext&&(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(f)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,s.startX=s.currentX,s.startY=s.currentY,i.currentTranslate=i.startTranslate,void(s.diff=n.isHorizontal()?s.currentX-s.startX:s.currentY-s.startY)}!r.followFinger||r.cssMode||((r.freeMode||r.watchSlidesProgress||r.watchSlidesVisibility)&&(n.updateActiveIndex(),n.updateSlidesClasses()),r.freeMode&&(0===i.velocities.length&&i.velocities.push({position:s[n.isHorizontal()?"startX":"startY"],time:i.touchStartTime}),i.velocities.push({position:s[n.isHorizontal()?"currentX":"currentY"],time:h2()})),n.updateProgress(i.currentTranslate),n.setTranslate(i.currentTranslate))}}}}}}function E2(t){var e=this,n=e.touchEventsData,i=e.params,r=e.touches,s=e.rtlTranslate,o=e.$wrapperEl,a=e.slidesGrid,l=e.snapGrid;if(e.enabled){var c=t;if(c.originalEvent&&(c=c.originalEvent),n.allowTouchCallbacks&&e.emit("touchEnd",c),n.allowTouchCallbacks=!1,!n.isTouched)return n.isMoved&&i.grabCursor&&e.setGrabCursor(!1),n.isMoved=!1,void(n.startMoving=!1);i.grabCursor&&n.isMoved&&n.isTouched&&(!0===e.allowSlideNext||!0===e.allowSlidePrev)&&e.setGrabCursor(!1);var u,h=h2(),d=h-n.touchStartTime;if(e.allowClick&&(e.updateClickedSlide(c),e.emit("tap click",c),d<300&&h-n.lastClickTime<300&&e.emit("doubleTap doubleClick",c)),n.lastClickTime=h2(),u2(function(){e.destroyed||(e.allowClick=!0)}),!n.isTouched||!n.isMoved||!e.swipeDirection||0===r.diff||n.currentTranslate===n.startTranslate)return n.isTouched=!1,n.isMoved=!1,void(n.startMoving=!1);if(n.isTouched=!1,n.isMoved=!1,n.startMoving=!1,u=i.followFinger?s?e.translate:-e.translate:-n.currentTranslate,!i.cssMode){if(i.freeMode){if(u<-e.minTranslate())return void e.slideTo(e.activeIndex);if(u>-e.maxTranslate())return void e.slideTo(e.slides.length1){var p=n.velocities.pop(),f=n.velocities.pop(),g=p.time-f.time;e.velocity=(p.position-f.position)/g,e.velocity/=2,Math.abs(e.velocity)150||h2()-p.time>300)&&(e.velocity=0)}else e.velocity=0;e.velocity*=i.freeModeMomentumVelocityRatio,n.velocities.length=0;var m=1e3*i.freeModeMomentumRatio,b=e.translate+e.velocity*m;s&&(b=-b);var y,v,_=!1,w=20*Math.abs(e.velocity)*i.freeModeMomentumBounceRatio;if(be.minTranslate())i.freeModeMomentumBounce?(b-e.minTranslate()>w&&(b=e.minTranslate()+w),y=e.minTranslate(),_=!0,n.allowMomentumBounce=!0):b=e.minTranslate(),i.loop&&i.centeredSlides&&(v=!0);else if(i.freeModeSticky){for(var x,S=0;S-b){x=S;break}b=-(b=Math.abs(l[x]-b)=i.longSwipesMs)&&(e.updateProgress(),e.updateActiveIndex(),e.updateSlidesClasses()))}for(var O=0,T=e.slidesSizesGrid[0],k=0;k=a[k]&&u=a[k]&&(O=k,T=a[a.length-1]-a[a.length-2])}var A=(u-a[O])/T,M=Oi.longSwipesMs){if(!i.longSwipes)return void e.slideTo(e.activeIndex);"next"===e.swipeDirection&&e.slideTo(A>=i.longSwipesRatio?O+M:O),"prev"===e.swipeDirection&&e.slideTo(A>1-i.longSwipesRatio?O+M:O)}else{if(!i.shortSwipes)return void e.slideTo(e.activeIndex);!e.navigation||c.target!==e.navigation.nextEl&&c.target!==e.navigation.prevEl?("next"===e.swipeDirection&&e.slideTo(O+M),"prev"===e.swipeDirection&&e.slideTo(O)):e.slideTo(c.target===e.navigation.nextEl?O+M:O)}}}}function O2(){var t=this,e=t.params,n=t.el;if(!n||0!==n.offsetWidth){e.breakpoints&&t.setBreakpoint();var i=t.allowSlideNext,r=t.allowSlidePrev,s=t.snapGrid;t.allowSlideNext=!0,t.allowSlidePrev=!0,t.updateSize(),t.updateSlides(),t.updateSlidesClasses(),t.slideTo(("auto"===e.slidesPerView||e.slidesPerView>1)&&t.isEnd&&!t.isBeginning&&!t.params.centeredSlides?t.slides.length-1:t.activeIndex,0,!1,!0),t.autoplay&&t.autoplay.running&&t.autoplay.paused&&t.autoplay.run(),t.allowSlidePrev=r,t.allowSlideNext=i,t.params.watchOverflow&&s!==t.snapGrid&&t.checkOverflow()}}function T2(t){var e=this;!e.enabled||e.allowClick||(e.params.preventClicks&&t.preventDefault(),e.params.preventClicksPropagation&&e.animating&&(t.stopPropagation(),t.stopImmediatePropagation()))}function k2(){var t=this,e=t.wrapperEl,n=t.rtlTranslate;if(t.enabled){t.previousTranslate=t.translate,t.translate=t.isHorizontal()?n?e.scrollWidth-e.offsetWidth-e.scrollLeft:-e.scrollLeft:-e.scrollTop,-0===t.translate&&(t.translate=0),t.updateActiveIndex(),t.updateSlidesClasses();var i=t.maxTranslate()-t.minTranslate();(0===i?0:(t.translate-t.minTranslate())/i)!==t.progress&&t.updateProgress(n?-t.translate:t.translate),t.emit("setTranslate",t.translate,!1)}}var P2=!1;function A2(){}var M2={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!1,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};function I2(t,e){for(var n=0;n=0&&e.eventsAnyListeners.splice(n,1),e},off:function(t,e){var n=this;return n.eventsListeners&&t.split(" ").forEach(function(t){void 0===e?n.eventsListeners[t]=[]:n.eventsListeners[t]&&n.eventsListeners[t].forEach(function(i,r){(i===e||i.__emitterProxy&&i.__emitterProxy===e)&&n.eventsListeners[t].splice(r,1)})}),n},emit:function(){var t=this;if(!t.eventsListeners)return t;for(var e,n,i,r=arguments.length,s=new Array(r),o=0;o=0&&(v=parseFloat(v.replace("%",""))/100*s),t.virtualSize=-v,u.css(o?{marginLeft:"",marginBottom:"",marginTop:""}:{marginRight:"",marginBottom:"",marginTop:""}),i.slidesPerColumn>1&&(S=Math.floor(h/i.slidesPerColumn)===h/t.params.slidesPerColumn?h:Math.ceil(h/i.slidesPerColumn)*i.slidesPerColumn,"auto"!==i.slidesPerView&&"row"===i.slidesPerColumnFill&&(S=Math.max(S,i.slidesPerView*i.slidesPerColumn)));for(var T,k=i.slidesPerColumn,P=S/k,A=Math.floor(h/i.slidesPerColumn),M=0;M1){var D=void 0,R=void 0,N=void 0;if("row"===i.slidesPerColumnFill&&i.slidesPerGroup>1){var L=Math.floor(M/(i.slidesPerGroup*i.slidesPerColumn)),j=M-i.slidesPerColumn*i.slidesPerGroup*L,F=0===L?i.slidesPerGroup:Math.min(Math.ceil((h-L*k*i.slidesPerGroup)/k),i.slidesPerGroup);N=Math.floor(j/F),I.css({"-webkit-box-ordinal-group":D=(R=j-N*F+L*i.slidesPerGroup)+N*S/k,"-moz-box-ordinal-group":D,"-ms-flex-order":D,"-webkit-order":D,order:D})}else"column"===i.slidesPerColumnFill?(N=M-(R=Math.floor(M/k))*k,(R>A||R===A&&N===k-1)&&(N+=1)>=k&&(N=0,R+=1)):R=M-(N=Math.floor(M/P))*P;I.css(e("margin-top"),0!==N?i.spaceBetween&&i.spaceBetween+"px":"")}if("none"!==I.css("display")){if("auto"===i.slidesPerView){var B=getComputedStyle(I[0]),V=I[0].style.transform,z=I[0].style.webkitTransform;if(V&&(I[0].style.transform="none"),z&&(I[0].style.webkitTransform="none"),i.roundLengths)T=t.isHorizontal()?I.outerWidth(!0):I.outerHeight(!0);else{var U=n(B,"width"),H=n(B,"padding-left"),$=n(B,"padding-right"),G=n(B,"margin-left"),W=n(B,"margin-right"),q=B.getPropertyValue("box-sizing");if(q&&"border-box"===q)T=U+G+W;else{var Y=I[0];T=U+H+$+G+W+(Y.offsetWidth-Y.clientWidth)}}V&&(I[0].style.transform=V),z&&(I[0].style.webkitTransform=z),i.roundLengths&&(T=Math.floor(T))}else T=(s-(i.slidesPerView-1)*v)/i.slidesPerView,i.roundLengths&&(T=Math.floor(T)),u[M]&&(u[M].style[e("width")]=T+"px");u[M]&&(u[M].swiperSlideSize=T),f.push(T),i.centeredSlides?(_=_+T/2+w/2+v,0===w&&0!==M&&(_=_-s/2-v),0===M&&(_=_-s/2-v),Math.abs(_)<.001&&(_=0),i.roundLengths&&(_=Math.floor(_)),x%i.slidesPerGroup==0&&d.push(_),p.push(_)):(i.roundLengths&&(_=Math.floor(_)),(x-Math.min(t.params.slidesPerGroupSkip,x))%t.params.slidesPerGroup==0&&d.push(_),p.push(_),_=_+T+v),t.virtualSize+=T+v,w=T,x+=1}}if(t.virtualSize=Math.max(t.virtualSize,s)+m,o&&a&&("slide"===i.effect||"coverflow"===i.effect)&&r.css({width:t.virtualSize+i.spaceBetween+"px"}),i.setWrapperSize&&r.css(((E={})[e("width")]=t.virtualSize+i.spaceBetween+"px",E)),i.slidesPerColumn>1&&(t.virtualSize=(T+i.spaceBetween)*S,t.virtualSize=Math.ceil(t.virtualSize/i.slidesPerColumn)-i.spaceBetween,r.css(((O={})[e("width")]=t.virtualSize+i.spaceBetween+"px",O)),i.centeredSlides)){C=[];for(var X=0;X1&&d.push(t.virtualSize-s)}if(0===d.length&&(d=[0]),0!==i.spaceBetween){var J,tt=t.isHorizontal()&&o?"marginLeft":e("marginRight");u.filter(function(t,e){return!i.cssMode||e!==u.length-1}).css(((J={})[tt]=v+"px",J))}if(i.centeredSlides&&i.centeredSlidesBounds){var et=0;f.forEach(function(t){et+=t+(i.spaceBetween?i.spaceBetween:0)});var nt=(et-=i.spaceBetween)-s;d=d.map(function(t){return t<0?-g:t>nt?nt+m:t})}if(i.centerInsufficientSlides){var it=0;if(f.forEach(function(t){it+=t+(i.spaceBetween?i.spaceBetween:0)}),(it-=i.spaceBetween)1)if(n.params.centeredSlides)n.visibleSlides.each(function(t){i.push(t)});else for(e=0;en.slides.length&&!r)break;i.push(o(a))}else i.push(o(n.activeIndex));for(e=0;es?l:s}s&&n.$wrapperEl.css("height",s+"px")},updateSlidesOffset:function(){for(var t=this.slides,e=0;e=0&&c1&&u<=e.size||c<=0&&u>=e.size)&&(e.visibleSlides.push(a),e.visibleSlidesIndexes.push(o),i.eq(o).addClass(n.slideVisibleClass))}a.progress=r?-l:l}e.visibleSlides=c2(e.visibleSlides)}},updateProgress:function(t){var e=this;void 0===t&&(t=e&&e.translate&&e.translate*(e.rtlTranslate?-1:1)||0);var n=e.params,i=e.maxTranslate()-e.minTranslate(),r=e.progress,s=e.isBeginning,o=e.isEnd,a=s,l=o;0===i?(r=0,s=!0,o=!0):(s=(r=(t-e.minTranslate())/i)<=0,o=r>=1),f2(e,{progress:r,isBeginning:s,isEnd:o}),(n.watchSlidesProgress||n.watchSlidesVisibility||n.centeredSlides&&n.autoHeight)&&e.updateSlidesProgress(t),s&&!a&&e.emit("reachBeginning toEdge"),o&&!l&&e.emit("reachEnd toEdge"),(a&&!s||l&&!o)&&e.emit("fromEdge"),e.emit("progress",r)},updateSlidesClasses:function(){var t,e=this,n=e.slides,i=e.params,r=e.$wrapperEl,s=e.activeIndex,o=e.realIndex,a=e.virtual&&i.virtual.enabled;n.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(t=a?e.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+s+'"]'):n.eq(s)).addClass(i.slideActiveClass),i.loop&&(t.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+o+'"]').addClass(i.slideDuplicateActiveClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+o+'"]').addClass(i.slideDuplicateActiveClass));var l=t.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===l.length&&(l=n.eq(0)).addClass(i.slideNextClass);var c=t.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===c.length&&(c=n.eq(-1)).addClass(i.slidePrevClass),i.loop&&(l.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),c.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass)),e.emitSlidesClasses()},updateActiveIndex:function(t){var e,n=this,i=n.rtlTranslate?n.translate:-n.translate,r=n.slidesGrid,s=n.snapGrid,o=n.params,a=n.activeIndex,l=n.realIndex,c=n.snapIndex,u=t;if(void 0===u){for(var h=0;h=r[h]&&i=r[h]&&i=r[h]&&(u=h);o.normalizeSlideIndex&&(u<0||void 0===u)&&(u=0)}if(s.indexOf(i)>=0)e=s.indexOf(i);else{var d=Math.min(o.slidesPerGroupSkip,u);e=d+Math.floor((u-d)/o.slidesPerGroup)}if(e>=s.length&&(e=s.length-1),u!==a){var p=parseInt(n.slides.eq(u).attr("data-swiper-slide-index")||u,10);f2(n,{snapIndex:e,realIndex:p,previousIndex:a,activeIndex:u}),n.emit("activeIndexChange"),n.emit("snapIndexChange"),l!==p&&n.emit("realIndexChange"),(n.initialized||n.params.runCallbacksOnInit)&&n.emit("slideChange")}else e!==c&&(n.snapIndex=e,n.emit("snapIndexChange"))},updateClickedSlide:function(t){var e,n=this,i=n.params,r=c2(t.target).closest("."+i.slideClass)[0],s=!1;if(r)for(var o=0;o6&&(i=i.split(", ").map(function(t){return t.replace(",",".")}).join(", ")),r=new s.WebKitCSSMatrix("none"===i?"":i)):n=(r=o.MozTransform||o.OTransform||o.MsTransform||o.msTransform||o.transform||o.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===e&&(i=s.WebKitCSSMatrix?r.m41:16===n.length?parseFloat(n[12]):parseFloat(n[4])),"y"===e&&(i=s.WebKitCSSMatrix?r.m42:16===n.length?parseFloat(n[13]):parseFloat(n[5])),i||0}(e.$wrapperEl[0],t);return i&&(s=-s),s||0},setTranslate:function(t,e){var n=this,i=n.rtlTranslate,r=n.params,s=n.$wrapperEl,o=n.wrapperEl,a=n.progress,l=0,c=0;n.isHorizontal()?l=i?-t:t:c=t,r.roundLengths&&(l=Math.floor(l),c=Math.floor(c)),r.cssMode?o[n.isHorizontal()?"scrollLeft":"scrollTop"]=n.isHorizontal()?-l:-c:r.virtualTranslate||s.transform("translate3d("+l+"px, "+c+"px, 0px)"),n.previousTranslate=n.translate,n.translate=n.isHorizontal()?l:c;var u=n.maxTranslate()-n.minTranslate();(0===u?0:(t-n.minTranslate())/u)!==a&&n.updateProgress(t),n.emit("setTranslate",n.translate,e)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(t,e,n,i,r){void 0===t&&(t=0),void 0===e&&(e=this.params.speed),void 0===n&&(n=!0),void 0===i&&(i=!0);var s=this,o=s.params,a=s.wrapperEl;if(s.animating&&o.preventInteractionOnTransition)return!1;var l,c=s.minTranslate(),u=s.maxTranslate();if(s.updateProgress(l=i&&t>c?c:i&&ts?"next":ir?"next":i=c.length&&(m=c.length-1),(d||l.initialSlide||0)===(h||0)&&n&&o.emit("beforeSlideChangeStart");var b,y=-c[m];if(o.updateProgress(y),l.normalizeSlideIndex)for(var v=0;v=w&&_=w&&_=w&&(a=v)}if(o.initialized&&a!==d&&(!o.allowSlideNext&&yo.translate&&y>o.maxTranslate()&&(d||0)!==a))return!1;if(b=a>d?"next":a=t&&(d=t)}),void 0!==d&&(c=o.indexOf(d))<0&&(c=i.activeIndex-1),i.slideTo(c,t,e,n)},slideReset:function(t,e,n){return void 0===t&&(t=this.params.speed),void 0===e&&(e=!0),this.slideTo(this.activeIndex,t,e,n)},slideToClosest:function(t,e,n,i){void 0===t&&(t=this.params.speed),void 0===e&&(e=!0),void 0===i&&(i=.5);var r=this,s=r.activeIndex,o=Math.min(r.params.slidesPerGroupSkip,s),a=o+Math.floor((s-o)/r.params.slidesPerGroup),l=r.rtlTranslate?r.translate:-r.translate;if(l>=r.snapGrid[a]){var c=r.snapGrid[a];l-c>(r.snapGrid[a+1]-c)*i&&(s+=r.params.slidesPerGroup)}else{var u=r.snapGrid[a-1];l-u<=(r.snapGrid[a]-u)*i&&(s-=r.params.slidesPerGroup)}return s=Math.max(s,0),s=Math.min(s,r.slidesGrid.length-1),r.slideTo(s,t,e,n)},slideToClickedSlide:function(){var t,e=this,n=e.params,i=e.$wrapperEl,r="auto"===n.slidesPerView?e.slidesPerViewDynamic():n.slidesPerView,s=e.clickedIndex;if(n.loop){if(e.animating)return;t=parseInt(c2(e.clickedSlide).attr("data-swiper-slide-index"),10),n.centeredSlides?se.slides.length-e.loopedSlides+r/2?(e.loopFix(),s=i.children("."+n.slideClass+'[data-swiper-slide-index="'+t+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),u2(function(){e.slideTo(s)})):e.slideTo(s):s>e.slides.length-r?(e.loopFix(),s=i.children("."+n.slideClass+'[data-swiper-slide-index="'+t+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),u2(function(){e.slideTo(s)})):e.slideTo(s)}else e.slideTo(s)}},loop:{loopCreate:function(){var t=this,e=G1(),n=t.params,i=t.$wrapperEl;i.children("."+n.slideClass+"."+n.slideDuplicateClass).remove();var r=i.children("."+n.slideClass);if(n.loopFillGroupWithBlank){var s=n.slidesPerGroup-r.length%n.slidesPerGroup;if(s!==n.slidesPerGroup){for(var o=0;or.length&&(t.loopedSlides=r.length);var l=[],c=[];r.each(function(e,n){var i=c2(e);n=r.length-t.loopedSlides&&l.push(e),i.attr("data-swiper-slide-index",n)});for(var u=0;u=0;h-=1)i.prepend(c2(l[h].cloneNode(!0)).addClass(n.slideDuplicateClass))},loopFix:function(){var t=this;t.emit("beforeLoopFix");var e,n=t.activeIndex,i=t.slides,r=t.loopedSlides,s=t.allowSlidePrev,o=t.allowSlideNext,a=t.snapGrid,l=t.rtlTranslate;t.allowSlidePrev=!0,t.allowSlideNext=!0;var c=-a[n]-t.getTranslate();n=i.length-r&&(e=-i.length+n+r,t.slideTo(e+=r,0,!1,!0)&&0!==c&&t.setTranslate((l?-t.translate:t.translate)-c)),t.allowSlidePrev=s,t.allowSlideNext=o,t.emit("loopFix")},loopDestroy:function(){var t=this,e=t.params,n=t.slides;t.$wrapperEl.children("."+e.slideClass+"."+e.slideDuplicateClass+",."+e.slideClass+"."+e.slideBlankClass).remove(),n.removeAttr("data-swiper-slide-index")}},grabCursor:{setGrabCursor:function(t){var e=this;if(!(e.support.touch||!e.params.simulateTouch||e.params.watchOverflow&&e.isLocked||e.params.cssMode)){var n=e.el;n.style.cursor="move",n.style.cursor=t?"-webkit-grabbing":"-webkit-grab",n.style.cursor=t?"-moz-grabbin":"-moz-grab",n.style.cursor=t?"grabbing":"grab"}},unsetGrabCursor:function(){var t=this;t.support.touch||t.params.watchOverflow&&t.isLocked||t.params.cssMode||(t.el.style.cursor="")}},manipulation:{appendSlide:function(t){var e=this,n=e.$wrapperEl,i=e.params;if(i.loop&&e.loopDestroy(),"object"==typeof t&&"length"in t)for(var r=0;r=o)n.appendSlide(e);else{for(var a=s>t?s+1:s,l=[],c=o-1;c>=t;c-=1){var u=n.slides.eq(c);u.remove(),l.unshift(u)}if("object"==typeof e&&"length"in e){for(var h=0;ht?s+e.length:s}else i.append(e);for(var d=0;d1,d=u.slidesPerColumn>1,p=s.enabled;h&&!d?(o.removeClass(s.containerModifierClass+"multirow "+s.containerModifierClass+"multirow-column"),t.emitContainerClasses()):!h&&d&&(o.addClass(s.containerModifierClass+"multirow"),(u.slidesPerColumnFill&&"column"===u.slidesPerColumnFill||!u.slidesPerColumnFill&&"column"===s.slidesPerColumnFill)&&o.addClass(s.containerModifierClass+"multirow-column"),t.emitContainerClasses());var f=u.direction&&u.direction!==s.direction,g=s.loop&&(u.slidesPerView!==s.slidesPerView||f);f&&n&&t.changeDirection(),f2(t.params,u);var m=t.params.enabled;f2(t,{allowTouchMove:t.params.allowTouchMove,allowSlideNext:t.params.allowSlideNext,allowSlidePrev:t.params.allowSlidePrev}),p&&!m?t.disable():!p&&m&&t.enable(),t.currentBreakpoint=l,t.emit("_beforeBreakpoint",u),g&&n&&(t.loopDestroy(),t.loopCreate(),t.updateSlides(),t.slideTo(e-r+t.loopedSlides,0,!1)),t.emit("breakpoint",u)}}},getBreakpoint:function(t,e,n){if(void 0===e&&(e="window"),t&&("container"!==e||n)){var i=!1,r=q1(),s="window"===e?r.innerHeight:n.clientHeight,o=Object.keys(t).map(function(t){if("string"==typeof t&&0===t.indexOf("@")){var e=parseFloat(t.substr(1));return{value:s*e,point:t}}return{value:t,point:t}});o.sort(function(t,e){return parseInt(t.value,10)-parseInt(e.value,10)});for(var a=0;a0&&e.slidesOffsetBefore+e.spaceBetween*(t.slides.length-1)+t.slides[0].offsetWidth*t.slides.length;t.isLocked=e.slidesOffsetBefore&&e.slidesOffsetAfter&&i?i<=t.size:1===t.snapGrid.length,t.allowSlideNext=!t.isLocked,t.allowSlidePrev=!t.isLocked,n!==t.isLocked&&t.emit(t.isLocked?"lock":"unlock"),n&&n!==t.isLocked&&(t.isEnd=!1,t.navigation&&t.navigation.update())}},classes:{addClasses:function(){var t=this,e=t.classNames,n=t.params,i=t.$el,r=t.device,s=t.support,o=function(t,e){var n=[];return t.forEach(function(t){"object"==typeof t?Object.keys(t).forEach(function(i){t[i]&&n.push(e+i)}):"string"==typeof t&&n.push(e+t)}),n}(["initialized",n.direction,{"pointer-events":s.pointerEvents&&!s.touch},{"free-mode":n.freeMode},{autoheight:n.autoHeight},{rtl:t.rtl},{multirow:n.slidesPerColumn>1},{"multirow-column":n.slidesPerColumn>1&&"column"===n.slidesPerColumnFill},{android:r.android},{ios:r.ios},{"css-mode":n.cssMode}],n.containerModifierClass);e.push.apply(e,o),i.addClass([].concat(e).join(" ")),t.emitContainerClasses()},removeClasses:function(){var t=this;t.$el.removeClass(t.classNames.join(" ")),t.emitContainerClasses()}},images:{loadImage:function(t,e,n,i,r,s){var o,a=q1();function l(){s&&s()}c2(t).parent("picture")[0]||t.complete&&r||!e?l():((o=new a.Image).onload=l,o.onerror=l,i&&(o.sizes=i),n&&(o.srcset=n),e&&(o.src=e))},preloadImages:function(){var t=this;function e(){null==t||!t||t.destroyed||(void 0!==t.imagesLoaded&&(t.imagesLoaded+=1),t.imagesLoaded===t.imagesToLoad.length&&(t.params.updateOnImagesReady&&t.update(),t.emit("imagesReady")))}t.imagesToLoad=t.$el.find("img");for(var n=0;n1){var o=[];return c2(n.el).each(function(e){var i=f2({},n,{el:e});o.push(new t(i))}),o}var a=this;a.__swiper__=!0,a.support=m2(),a.device=b2({userAgent:n.userAgent}),a.browser=y2(),a.eventsListeners={},a.eventsAnyListeners=[],void 0===a.modules&&(a.modules={}),Object.keys(a.modules).forEach(function(t){var e=a.modules[t];if(e.params){var i=Object.keys(e.params)[0],r=e.params[i];if("object"!=typeof r||null===r||(["navigation","pagination","scrollbar"].indexOf(i)>=0&&!0===n[i]&&(n[i]={auto:!0}),!(i in n)||!("enabled"in r)))return;!0===n[i]&&(n[i]={enabled:!0}),"object"==typeof n[i]&&!("enabled"in n[i])&&(n[i].enabled=!0),n[i]||(n[i]={enabled:!1})}});var l,c,u=f2({},M2);return a.useParams(u),a.params=f2({},u,R2,n),a.originalParams=f2({},a.params),a.passedParams=f2({},n),a.params&&a.params.on&&Object.keys(a.params.on).forEach(function(t){a.on(t,a.params.on[t])}),a.params&&a.params.onAny&&a.onAny(a.params.onAny),a.$=c2,f2(a,{enabled:a.params.enabled,el:e,classNames:[],slides:c2(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===a.params.direction},isVertical:function(){return"vertical"===a.params.direction},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:a.params.allowSlideNext,allowSlidePrev:a.params.allowSlidePrev,touchEvents:(l=["touchstart","touchmove","touchend","touchcancel"],c=["mousedown","mousemove","mouseup"],a.support.pointerEvents&&(c=["pointerdown","pointermove","pointerup"]),a.touchEventsTouch={start:l[0],move:l[1],end:l[2],cancel:l[3]},a.touchEventsDesktop={start:c[0],move:c[1],end:c[2]},a.support.touch||!a.params.simulateTouch?a.touchEventsTouch:a.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:a.params.focusableElements,lastClickTime:h2(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:a.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),a.useModules(),a.emit("_swiper"),a.params.init&&a.init(),a}var e=t.prototype;return e.enable=function(){var t=this;t.enabled||(t.enabled=!0,t.params.grabCursor&&t.setGrabCursor(),t.emit("enable"))},e.disable=function(){var t=this;!t.enabled||(t.enabled=!1,t.params.grabCursor&&t.unsetGrabCursor(),t.emit("disable"))},e.setProgress=function(t,e){var n=this;t=Math.min(Math.max(t,0),1);var i=n.minTranslate(),r=n.maxTranslate();n.translateTo((r-i)*t+i,void 0===e?0:e),n.updateActiveIndex(),n.updateSlidesClasses()},e.emitContainerClasses=function(){var t=this;if(t.params._emitClasses&&t.el){var e=t.el.className.split(" ").filter(function(e){return 0===e.indexOf("swiper-container")||0===e.indexOf(t.params.containerModifierClass)});t.emit("_containerClasses",e.join(" "))}},e.getSlideClasses=function(t){var e=this;return t.className.split(" ").filter(function(t){return 0===t.indexOf("swiper-slide")||0===t.indexOf(e.params.slideClass)}).join(" ")},e.emitSlidesClasses=function(){var t=this;if(t.params._emitClasses&&t.el){var e=[];t.slides.each(function(n){var i=t.getSlideClasses(n);e.push({slideEl:n,classNames:i}),t.emit("_slideClass",n,i)}),t.emit("_slideClasses",e)}},e.slidesPerViewDynamic=function(){var t=this,e=t.slides,n=t.slidesGrid,i=t.size,r=t.activeIndex,s=1;if(t.params.centeredSlides){for(var o,a=e[r].swiperSlideSize,l=r+1;li&&(o=!0));for(var c=r-1;c>=0;c-=1)e[c]&&!o&&(s+=1,(a+=e[c].swiperSlideSize)>i&&(o=!0))}else for(var u=r+1;u1)&&t.isEnd&&!t.params.centeredSlides?t.slides.length-1:t.activeIndex,0,!1,!0)||i(),n.watchOverflow&&e!==t.snapGrid&&t.checkOverflow(),t.emit("update")}function i(){var e=Math.min(Math.max(t.rtlTranslate?-1*t.translate:t.translate,t.maxTranslate()),t.minTranslate());t.setTranslate(e),t.updateActiveIndex(),t.updateSlidesClasses()}},e.changeDirection=function(t,e){void 0===e&&(e=!0);var n=this,i=n.params.direction;return t||(t="horizontal"===i?"vertical":"horizontal"),t===i||"horizontal"!==t&&"vertical"!==t||(n.$el.removeClass(""+n.params.containerModifierClass+i).addClass(""+n.params.containerModifierClass+t),n.emitContainerClasses(),n.params.direction=t,n.slides.each(function(e){"vertical"===t?e.style.width="":e.style.height=""}),n.emit("changeDirection"),e&&n.update()),n},e.mount=function(t){var e=this;if(e.mounted)return!0;var n=c2(t||e.params.el);if(!(t=n[0]))return!1;t.swiper=e;var i=function(){return"."+(e.params.wrapperClass||"").trim().split(" ").join(".")},r=function(){if(t&&t.shadowRoot&&t.shadowRoot.querySelector){var e=c2(t.shadowRoot.querySelector(i()));return e.children=function(t){return n.children(t)},e}return n.children(i())}();if(0===r.length&&e.params.createElements){var s=G1().createElement("div");r=c2(s),s.className=e.params.wrapperClass,n.append(s),n.children("."+e.params.slideClass).each(function(t){r.append(t)})}return f2(e,{$el:n,el:t,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===t.dir.toLowerCase()||"rtl"===n.css("direction"),rtlTranslate:"horizontal"===e.params.direction&&("rtl"===t.dir.toLowerCase()||"rtl"===n.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0},e.init=function(t){var e=this;return e.initialized||!1===e.mount(t)||(e.emit("beforeInit"),e.params.breakpoints&&e.setBreakpoint(),e.addClasses(),e.params.loop&&e.loopCreate(),e.updateSize(),e.updateSlides(),e.params.watchOverflow&&e.checkOverflow(),e.params.grabCursor&&e.enabled&&e.setGrabCursor(),e.params.preloadImages&&e.preloadImages(),e.slideTo(e.params.loop?e.params.initialSlide+e.loopedSlides:e.params.initialSlide,0,e.params.runCallbacksOnInit,!1,!0),e.attachEvents(),e.initialized=!0,e.emit("init"),e.emit("afterInit")),e},e.destroy=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!0);var n=this,i=n.params,r=n.$el,s=n.$wrapperEl,o=n.slides;return void 0===n.params||n.destroyed||(n.emit("beforeDestroy"),n.initialized=!1,n.detachEvents(),i.loop&&n.loopDestroy(),e&&(n.removeClasses(),r.removeAttr("style"),s.removeAttr("style"),o&&o.length&&o.removeClass([i.slideVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),n.emit("destroy"),Object.keys(n.eventsListeners).forEach(function(t){n.off(t)}),!1!==t&&(n.$el[0].swiper=null,function(e){var n=e;Object.keys(n).forEach(function(e){try{n[e]=null}catch(t){}try{delete n[e]}catch(t){}})}(n)),n.destroyed=!0),null},t.extendDefaults=function(t){f2(R2,t)},t.installModule=function(e){t.prototype.modules||(t.prototype.modules={});var n=e.name||Object.keys(t.prototype.modules).length+"_"+h2();t.prototype.modules[n]=e},t.use=function(e){return Array.isArray(e)?(e.forEach(function(e){return t.installModule(e)}),t):(t.installModule(e),t)},function(t,e,n){n&&I2(t,n)}(t,0,[{key:"extendedDefaults",get:function(){return R2}},{key:"defaults",get:function(){return M2}}]),t}();Object.keys(D2).forEach(function(t){Object.keys(D2[t]).forEach(function(e){N2.prototype[e]=D2[t][e]})}),N2.use([v2,x2]);var L2=N2;const j2=["prevElRef"],F2=["nextElRef"],B2=["scrollbarElRef"],V2=["paginationElRef"];function z2(t,e){1&t&&(aa(0),oa(1,"div",6,7),oa(3,"div",8,9),la())}function U2(t,e){1&t&&oa(0,"div",10,11)}function H2(t,e){1&t&&oa(0,"div",12,13)}function $2(t,e){}function G2(t,e){1&t&&Jo(0,$2,0,0,"ng-template")}function W2(t,e){}function q2(t,e){1&t&&Jo(0,W2,0,0,"ng-template")}function Y2(t,e){}function X2(t,e){1&t&&Jo(0,Y2,0,0,"ng-template")}function K2(t,e){}const Q2=function(t){return{$implicit:t}};function Z2(t,e){if(1&t&&(ra(0,"div",3),Jo(1,K2,0,0,"ng-template",18),sa()),2&t){const t=va().$implicit;na("ngClass",va(2).zoomContainerClass),ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Pc(3,Q2,t.slideData))}}function J2(t,e){}function t3(t,e){if(1&t&&(aa(0),Jo(1,J2,0,0,"ng-template",18),la()),2&t){const t=va().$implicit;ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Pc(2,Q2,t.slideData))}}function e3(t,e){if(1&t&&(ra(0,"div",15),Jo(1,Z2,2,5,"div",16),Jo(2,t3,2,4,"ng-container",17),sa()),2&t){const t=e.$implicit,n=va().key,i=va();Fa(i.style),na("ngClass",(t.class?t.class+" ":"")+i.slideClass+(""!==n?" "+i.slideDuplicateClass:""))("ngSwitch",t.zoom),Ko("data-swiper-slide-index",t.virtualIndex?t.virtualIndex:t.slideIndex),ws(1),na("ngSwitchCase",!0)}}function n3(t,e){1&t&&(Jo(0,e3,3,6,"div",14),Dc(1,"async")),2&t&&na("ngForOf",Rc(1,1,e.loopSlides))}const i3=[[["","slot","container-start"]],[["","slot","wrapper-start"]],[["","slot","wrapper-end"]],[["","slot","container-end"]]],r3=function(t){return{loopSlides:t,key:"prepend"}},s3=function(t){return{loopSlides:t,key:""}},o3=function(t){return{loopSlides:t,key:"append"}},a3=["[slot=container-start]","[slot=wrapper-start]","[slot=wrapper-end]","[slot=container-end]"];function l3(t){return"object"==typeof t&&null!==t&&t.constructor&&"Object"===Object.prototype.toString.call(t).slice(8,-1)}function c3(t,e,n){return!0===h3(t)&&e&&!e.el||!("boolean"!=typeof e&&e.el!==(null==n?void 0:n.nativeElement)&&("string"==typeof e.el||"object"==typeof e.el))}function u3(t,e){const n=["__proto__","constructor","prototype"];Object.keys(e).filter(t=>n.indexOf(t)<0).forEach(n=>{void 0!==t[n]?t[n]&&!e[n]||(l3(e[n])&&l3(t[n])&&Object.keys(e[n]).length>0?e[n].__swiper__?t[n]=e[n]:u3(t[n],e[n]):t[n]=e[n]):t[n]=e[n]})}function h3(t){return null!=t&&"false"!=`${t}`}const d3=["pagination","navigation","scrollbar","virtual"];function p3(t,e={}){return l3(t)?t:!0===h3(t)&&e}const f3=["init","_direction","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_freeModeMomentum","_freeModeMomentumRatio","_freeModeMomentumBounce","_freeModeMomentumBounceRatio","_freeModeMomentumVelocityRatio","_freeModeSticky","_freeModeMinimumVelocity","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","_spaceBetween","_slidesPerView","_slidesPerColumn","_slidesPerColumnFill","_slidesPerGroup","_slidesPerGroupSkip","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_watchSlidesVisibility","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_preloadImages","updateOnImagesReady","_loop","_loopAdditionalSlides","_loopedSlides","_loopFillGroupWithBlank","loopPreventsSlide","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","hashNavigation","history","keyboard","lazy","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom"].map(t=>t.replace(/_/,""));function g3(t={}){const e={on:{}},n={};u3(e,L2.defaults),u3(e,L2.extendedDefaults),e._emitClasses=!0;const i={};return Object.keys(t).forEach(r=>{const s=r.replace(/^_/,"");void 0!==t[s]&&(f3.indexOf(s)>=0?l3(t[s])?(e[s]={},n[s]={},u3(e[s],t[s]),u3(n[s],t[s])):(e[s]=t[s],n[s]=t[s]):i[s]=t[s])}),{params:e,passedParams:n,rest:i}}let m3=(()=>{class t{constructor(t){this.template=t,this.class="",this.slideData={isActive:!1,isPrev:!1,isNext:!1,isVisible:!1,isDuplicate:!1}}set zoom(t){this._zoom=h3(t)}get zoom(){return this._zoom}get classNames(){return this._classNames}set classNames(t){this._classNames!==t&&(this._classNames=t,this.slideData={isActive:this._hasClass(["swiper-slide-active","swiper-slide-duplicate-active"]),isVisible:this._hasClass(["swiper-slide-visible"]),isDuplicate:this._hasClass(["swiper-slide-duplicate"]),isPrev:this._hasClass(["swiper-slide-prev","swiper-slide-duplicate-prev"]),isNext:this._hasClass(["swiper-slide-next","swiper-slide-duplicate-next"])})}_hasClass(t){return t.some(t=>this._classNames.indexOf(t)>=0)}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["ng-template","swiperSlide",""]],inputs:{class:"class",zoom:"zoom",virtualIndex:"virtualIndex"}}),t})(),b3=(()=>{class t{constructor(t,e,n,i){this._ngZone=t,this.elementRef=e,this._changeDetectorRef=n,this._platformId=i,this.slideClass="swiper-slide",this.wrapperClass="swiper-wrapper",this.showNavigation=!0,this.showPagination=!0,this.showScrollbar=!0,this.s__beforeBreakpoint=new Bc,this.s__containerClasses=new Bc,this.s__slideClass=new Bc,this.s__swiper=new Bc,this.s_activeIndexChange=new Bc,this.s_afterInit=new Bc,this.s_autoplay=new Bc,this.s_autoplayStart=new Bc,this.s_autoplayStop=new Bc,this.s_beforeDestroy=new Bc,this.s_beforeInit=new Bc,this.s_beforeLoopFix=new Bc,this.s_beforeResize=new Bc,this.s_beforeSlideChangeStart=new Bc,this.s_beforeTransitionStart=new Bc,this.s_breakpoint=new Bc,this.s_changeDirection=new Bc,this.s_click=new Bc,this.s_doubleTap=new Bc,this.s_doubleClick=new Bc,this.s_destroy=new Bc,this.s_fromEdge=new Bc,this.s_hashChange=new Bc,this.s_hashSet=new Bc,this.s_imagesReady=new Bc,this.s_init=new Bc,this.s_keyPress=new Bc,this.s_lazyImageLoad=new Bc,this.s_lazyImageReady=new Bc,this.s_loopFix=new Bc,this.s_momentumBounce=new Bc,this.s_navigationHide=new Bc,this.s_navigationShow=new Bc,this.s_observerUpdate=new Bc,this.s_orientationchange=new Bc,this.s_paginationHide=new Bc,this.s_paginationRender=new Bc,this.s_paginationShow=new Bc,this.s_paginationUpdate=new Bc,this.s_progress=new Bc,this.s_reachBeginning=new Bc,this.s_reachEnd=new Bc,this.s_realIndexChange=new Bc,this.s_resize=new Bc,this.s_scroll=new Bc,this.s_scrollbarDragEnd=new Bc,this.s_scrollbarDragMove=new Bc,this.s_scrollbarDragStart=new Bc,this.s_setTransition=new Bc,this.s_setTranslate=new Bc,this.s_slideChange=new Bc,this.s_slideChangeTransitionEnd=new Bc,this.s_slideChangeTransitionStart=new Bc,this.s_slideNextTransitionEnd=new Bc,this.s_slideNextTransitionStart=new Bc,this.s_slidePrevTransitionEnd=new Bc,this.s_slidePrevTransitionStart=new Bc,this.s_slideResetTransitionStart=new Bc,this.s_slideResetTransitionEnd=new Bc,this.s_sliderMove=new Bc,this.s_sliderFirstMove=new Bc,this.s_slidesLengthChange=new Bc,this.s_slidesGridLengthChange=new Bc,this.s_snapGridLengthChange=new Bc,this.s_snapIndexChange=new Bc,this.s_tap=new Bc,this.s_toEdge=new Bc,this.s_touchEnd=new Bc,this.s_touchMove=new Bc,this.s_touchMoveOpposite=new Bc,this.s_touchStart=new Bc,this.s_transitionEnd=new Bc,this.s_transitionStart=new Bc,this.s_update=new Bc,this.s_zoomChange=new Bc,this.s_swiper=new Bc,this.indexChange=new Bc,this._activeSlides=new A,this.containerClasses="swiper-container",this.slidesChanges=t=>{this.slides=t.map((t,e)=>(t.slideIndex=e,t.classNames=this.slideClass,t)),this.loop&&!this.loopedSlides&&this.calcLoopedSlides(),this.virtual?this.swiperRef&&this.swiperRef.virtual&&this._ngZone.runOutsideAngular(()=>{this.swiperRef.virtual.slides=this.slides,this.swiperRef.virtual.update(!0)}):(this.prependSlides=Dd(this.slides.slice(this.slides.length-this.loopedSlides)),this.appendSlides=Dd(this.slides.slice(0,this.loopedSlides))),this._changeDetectorRef.detectChanges()},this.style=null,this.updateVirtualSlides=t=>{!this.swiperRef||this.currentVirtualData&&this.currentVirtualData.from===t.from&&this.currentVirtualData.to===t.to&&this.currentVirtualData.offset===t.offset||(this.style=this.swiperRef.isHorizontal()?{[this.swiperRef.rtlTranslate?"right":"left"]:`${t.offset}px`}:{top:`${t.offset}px`},this.currentVirtualData=t,this._activeSlides.next(t.slides),this._ngZone.run(()=>{this._changeDetectorRef.detectChanges()}),this._ngZone.runOutsideAngular(()=>{this.swiperRef.updateSlides(),this.swiperRef.updateProgress(),this.swiperRef.updateSlidesClasses(),this.swiperRef.lazy&&this.swiperRef.params.lazy.enabled&&this.swiperRef.lazy.load(),this.swiperRef.virtual.update(!0)}))}}set navigation(t){var e,n,i;const r="boolean"!=typeof this._navigation?null===(e=this._navigation)||void 0===e?void 0:e.nextEl:null,s="boolean"!=typeof this._navigation?null===(n=this._navigation)||void 0===n?void 0:n.prevEl:null;this._navigation=p3(t,{nextEl:r||null,prevEl:s||null}),this.showNavigation=!(!0!==h3(t)||this._navigation&&"boolean"!=typeof this._navigation&&this._navigation.prevEl!==(null===(i=this._prevElRef)||void 0===i?void 0:i.nativeElement)&&(null!==this._navigation.prevEl||null!==this._navigation.nextEl)&&("string"==typeof this._navigation.nextEl||"string"==typeof this._navigation.prevEl||"object"==typeof this._navigation.nextEl||"object"==typeof this._navigation.prevEl))}get navigation(){return this._navigation}set pagination(t){var e;const n="boolean"!=typeof this._pagination?null===(e=this._pagination)||void 0===e?void 0:e.el:null;this._pagination=p3(t,{el:n||null}),this.showPagination=c3(t,this._pagination,this._paginationElRef)}get pagination(){return this._pagination}set scrollbar(t){var e;const n="boolean"!=typeof this._scrollbar?null===(e=this._scrollbar)||void 0===e?void 0:e.el:null;this._scrollbar=p3(t,{el:n||null}),this.showScrollbar=c3(t,this._scrollbar,this._scrollbarElRef)}get scrollbar(){return this._scrollbar}set virtual(t){this._virtual=p3(t)}get virtual(){return this._virtual}set index(t){this.setIndex(t)}set config(t){this.updateSwiper(t);const{params:e}=g3(t);Object.assign(this,e)}set prevElRef(t){this._prevElRef=t,this._setElement(t,this.navigation,"navigation","prevEl")}set nextElRef(t){this._nextElRef=t,this._setElement(t,this.navigation,"navigation","nextEl")}set scrollbarElRef(t){this._scrollbarElRef=t,this._setElement(t,this.scrollbar,"scrollbar")}set paginationElRef(t){this._paginationElRef=t,this._setElement(t,this.pagination,"pagination")}get activeSlides(){return this.virtual?this._activeSlides:Dd(this.slides)}get zoomContainerClass(){return"boolean"!=typeof this.zoom?this.zoom.containerClass:"swiper-zoom-container"}_setElement(t,e,n,i="el"){if(!t||!e)return;if(e&&t.nativeElement){if(e[i]===t.nativeElement)return;e[i]=t.nativeElement}const r={};r[n]=!0,this.updateInitSwiper(r)}ngOnInit(){const{params:t}=g3(this);Object.assign(this,t)}ngAfterViewInit(){this.childrenSlidesInit(),this.initSwiper(),this._changeDetectorRef.detectChanges(),setTimeout(()=>{this.s_swiper.emit(this.swiperRef)})}childrenSlidesInit(){this.slidesChanges(this.slidesEl),this.slidesEl.changes.subscribe(this.slidesChanges)}get isSwiperActive(){return this.swiperRef&&!this.swiperRef.destroyed}initSwiper(){const{params:t}=g3(this);Object.assign(this,t),this._ngZone.runOutsideAngular(()=>{t.init=!1,t.virtual||(t.observer=!0),t.onAny=(t,...e)=>{const n=this[`s_${t}`];n&&n.emit(...e)},Object.assign(t.on,{_containerClasses(t,e){this.containerClasses=e},_slideClasses:(t,e)=>{e.forEach(({slideEl:t,classNames:e},n)=>{const i=parseInt(t.getAttribute("data-swiper-slide-index"))||n;if(this.virtual){const t=this.slides.find(t=>t.virtualIndex&&t.virtualIndex===i);if(t)return void(t.classNames=e)}this.slides[i]&&(this.slides[i].classNames=e)}),this._changeDetectorRef.detectChanges()}});const e=new L2(t);if(e.loopCreate=()=>{},e.loopDestroy=()=>{},t.loop&&(e.loopedSlides=this.loopedSlides),e.virtual&&e.params.virtual.enabled){e.virtual.slides=this.slides;const t={cache:!1,renderExternal:this.updateVirtualSlides,renderExternalUpdate:!1};u3(e.params.virtual,t),u3(e.originalParams.virtual,t)}Yh(this._platformId)&&(this.swiperRef=e.init(this.elementRef.nativeElement),this.swiperRef.virtual&&this.swiperRef.params.virtual.enabled&&this.swiperRef.virtual.update(!0),this._changeDetectorRef.detectChanges(),e.on("slideChange",()=>{this.indexChange.emit(this.swiperRef.realIndex)}))})}ngOnChanges(t){this.updateSwiper(t),this._changeDetectorRef.detectChanges()}updateInitSwiper(t){!t||!this.swiperRef||this.swiperRef.destroyed||this._ngZone.runOutsideAngular(()=>{const{pagination:e,navigation:n,scrollbar:i,thumbs:r}=this.swiperRef;t.pagination&&(this.pagination&&"boolean"!=typeof this.pagination&&this.pagination.el&&e&&!e.el?(this.updateParameter("pagination",this.pagination),e.init(),e.render(),e.update()):(e.destroy(),e.el=null)),t.scrollbar&&(this.scrollbar&&"boolean"!=typeof this.scrollbar&&this.scrollbar.el&&i&&!i.el?(this.updateParameter("scrollbar",this.scrollbar),i.init(),i.updateSize(),i.setTranslate()):(i.destroy(),i.el=null)),t.navigation&&(this.navigation&&"boolean"!=typeof this.navigation&&this.navigation.prevEl&&this.navigation.nextEl&&n&&!n.prevEl&&!n.nextEl?(this.updateParameter("navigation",this.navigation),n.init(),n.update()):n.prevEl&&n.nextEl&&(n.destroy(),n.nextEl=null,n.prevEl=null)),t.thumbs&&this.thumbs&&this.thumbs.swiper&&(this.updateParameter("thumbs",this.thumbs),r.init()&&r.update(!0)),t.controller&&this.controller&&this.controller.control&&(this.swiperRef.controller.control=this.controller.control),this.swiperRef.update()})}updateSwiper(t){this._ngZone.runOutsideAngular(()=>{var e,n;if(!t.config&&t&&this.swiperRef&&!this.swiperRef.destroyed){for(const i in t){if(d3.indexOf(i)>=0)continue;const r=null!==(n=null===(e=t[i])||void 0===e?void 0:e.currentValue)&&void 0!==n?n:t[i];this.updateParameter(i,r)}t.allowSlideNext&&(this.swiperRef.allowSlideNext=this.allowSlideNext),t.allowSlidePrev&&(this.swiperRef.allowSlidePrev=this.allowSlidePrev),t.direction&&this.swiperRef.changeDirection(this.direction,!1),t.breakpoints&&(this.loop&&!this.loopedSlides&&this.calcLoopedSlides(),this.swiperRef.currentBreakpoint=null,this.swiperRef.setBreakpoint()),(t.thumbs||t.controller)&&this.updateInitSwiper(t),this.swiperRef.update()}})}calcLoopedSlides(){if(!this.loop)return;let t=this.slidesPerView;if(this.breakpoints){const e=L2.prototype.getBreakpoint(this.breakpoints),n=e in this.breakpoints?this.breakpoints[e]:void 0;n&&n.slidesPerView&&(t=n.slidesPerView)}if("auto"===t)return this.loopedSlides=this.slides.length,this.slides.length;let e=this.loopedSlides||t;return e+=this.loopAdditionalSlides,e>this.slides.length&&(e=this.slides.length),this.loopedSlides=e,e}updateParameter(t,e){if(!this.swiperRef||this.swiperRef.destroyed)return;const n=t.replace(/^_/,""),i=l3(this.swiperRef.params[n]);if(Object.keys(this.swiperRef.modules).indexOf(n)>=0){const t=this.swiperRef.modules[n].params[n];i?u3(this.swiperRef.params[n],t):this.swiperRef.params[n]=t}i&&l3(e)?u3(this.swiperRef.params[n],e):this.swiperRef.params[n]=e}setIndex(t,e,n){this.isSwiperActive?t!==this.swiperRef.activeIndex&&this._ngZone.runOutsideAngular(()=>{this.loop?this.swiperRef.slideToLoop(t,e,!n):this.swiperRef.slideTo(t,e,!n)}):this.initialSlide=t}ngOnDestroy(){this._ngZone.runOutsideAngular(()=>{var t;null===(t=this.swiperRef)||void 0===t||t.destroy(!0,!1)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(Al),ea(nc),ea(hu))},t.\u0275cmp=Jt({type:t,selectors:[["swiper"],["","swiper",""]],contentQueries:function(t,e,n){if(1&t&&Jc(n,m3,4),2&t){let t;Qc(t=tu())&&(e.slidesEl=t)}},viewQuery:function(t,e){if(1&t&&(Zc(j2,5),Zc(F2,5),Zc(B2,5),Zc(V2,5)),2&t){let t;Qc(t=tu())&&(e.prevElRef=t.first),Qc(t=tu())&&(e.nextElRef=t.first),Qc(t=tu())&&(e.scrollbarElRef=t.first),Qc(t=tu())&&(e.paginationElRef=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.containerClasses)},inputs:{slideClass:"slideClass",wrapperClass:"wrapperClass",navigation:"navigation",pagination:"pagination",scrollbar:"scrollbar",virtual:"virtual",index:"index",config:"config",loopedSlides:"loopedSlides",initialSlide:"initialSlide",direction:"direction",touchEventsTarget:"touchEventsTarget",speed:"speed",cssMode:"cssMode",updateOnWindowResize:"updateOnWindowResize",resizeObserver:"resizeObserver",nested:"nested",focusableElements:"focusableElements",width:"width",height:"height",preventInteractionOnTransition:"preventInteractionOnTransition",userAgent:"userAgent",url:"url",edgeSwipeDetection:"edgeSwipeDetection",edgeSwipeThreshold:"edgeSwipeThreshold",freeMode:"freeMode",freeModeMomentum:"freeModeMomentum",freeModeMomentumRatio:"freeModeMomentumRatio",freeModeMomentumBounce:"freeModeMomentumBounce",freeModeMomentumBounceRatio:"freeModeMomentumBounceRatio",freeModeMomentumVelocityRatio:"freeModeMomentumVelocityRatio",freeModeSticky:"freeModeSticky",freeModeMinimumVelocity:"freeModeMinimumVelocity",autoHeight:"autoHeight",setWrapperSize:"setWrapperSize",virtualTranslate:"virtualTranslate",effect:"effect",breakpoints:"breakpoints",spaceBetween:"spaceBetween",slidesPerView:"slidesPerView",slidesPerColumn:"slidesPerColumn",slidesPerColumnFill:"slidesPerColumnFill",slidesPerGroup:"slidesPerGroup",slidesPerGroupSkip:"slidesPerGroupSkip",centeredSlides:"centeredSlides",centeredSlidesBounds:"centeredSlidesBounds",slidesOffsetBefore:"slidesOffsetBefore",slidesOffsetAfter:"slidesOffsetAfter",normalizeSlideIndex:"normalizeSlideIndex",centerInsufficientSlides:"centerInsufficientSlides",watchOverflow:"watchOverflow",roundLengths:"roundLengths",touchRatio:"touchRatio",touchAngle:"touchAngle",simulateTouch:"simulateTouch",shortSwipes:"shortSwipes",longSwipes:"longSwipes",longSwipesRatio:"longSwipesRatio",longSwipesMs:"longSwipesMs",followFinger:"followFinger",allowTouchMove:"allowTouchMove",threshold:"threshold",touchMoveStopPropagation:"touchMoveStopPropagation",touchStartPreventDefault:"touchStartPreventDefault",touchStartForcePreventDefault:"touchStartForcePreventDefault",touchReleaseOnEdges:"touchReleaseOnEdges",uniqueNavElements:"uniqueNavElements",resistance:"resistance",resistanceRatio:"resistanceRatio",watchSlidesProgress:"watchSlidesProgress",watchSlidesVisibility:"watchSlidesVisibility",grabCursor:"grabCursor",preventClicks:"preventClicks",preventClicksPropagation:"preventClicksPropagation",slideToClickedSlide:"slideToClickedSlide",preloadImages:"preloadImages",updateOnImagesReady:"updateOnImagesReady",loop:"loop",loopAdditionalSlides:"loopAdditionalSlides",loopFillGroupWithBlank:"loopFillGroupWithBlank",loopPreventsSlide:"loopPreventsSlide",allowSlidePrev:"allowSlidePrev",allowSlideNext:"allowSlideNext",swipeHandler:"swipeHandler",noSwiping:"noSwiping",noSwipingClass:"noSwipingClass",noSwipingSelector:"noSwipingSelector",passiveListeners:"passiveListeners",containerModifierClass:"containerModifierClass",slideBlankClass:"slideBlankClass",slideActiveClass:"slideActiveClass",slideDuplicateActiveClass:"slideDuplicateActiveClass",slideVisibleClass:"slideVisibleClass",slideDuplicateClass:"slideDuplicateClass",slideNextClass:"slideNextClass",slideDuplicateNextClass:"slideDuplicateNextClass",slidePrevClass:"slidePrevClass",slideDuplicatePrevClass:"slideDuplicatePrevClass",runCallbacksOnInit:"runCallbacksOnInit",observeParents:"observeParents",observeSlideChildren:"observeSlideChildren",a11y:"a11y",autoplay:"autoplay",controller:"controller",coverflowEffect:"coverflowEffect",cubeEffect:"cubeEffect",fadeEffect:"fadeEffect",flipEffect:"flipEffect",hashNavigation:"hashNavigation",history:"history",keyboard:"keyboard",lazy:"lazy",mousewheel:"mousewheel",parallax:"parallax",thumbs:"thumbs",zoom:"zoom",class:"class",id:"id"},outputs:{s__beforeBreakpoint:"_beforeBreakpoint",s__containerClasses:"_containerClasses",s__slideClass:"_slideClass",s__swiper:"_swiper",s_activeIndexChange:"activeIndexChange",s_afterInit:"afterInit",s_autoplay:"autoplay",s_autoplayStart:"autoplayStart",s_autoplayStop:"autoplayStop",s_beforeDestroy:"beforeDestroy",s_beforeInit:"beforeInit",s_beforeLoopFix:"beforeLoopFix",s_beforeResize:"beforeResize",s_beforeSlideChangeStart:"beforeSlideChangeStart",s_beforeTransitionStart:"beforeTransitionStart",s_breakpoint:"breakpoint",s_changeDirection:"changeDirection",s_click:"click",s_doubleTap:"doubleTap",s_doubleClick:"doubleClick",s_destroy:"destroy",s_fromEdge:"fromEdge",s_hashChange:"hashChange",s_hashSet:"hashSet",s_imagesReady:"imagesReady",s_init:"init",s_keyPress:"keyPress",s_lazyImageLoad:"lazyImageLoad",s_lazyImageReady:"lazyImageReady",s_loopFix:"loopFix",s_momentumBounce:"momentumBounce",s_navigationHide:"navigationHide",s_navigationShow:"navigationShow",s_observerUpdate:"observerUpdate",s_orientationchange:"orientationchange",s_paginationHide:"paginationHide",s_paginationRender:"paginationRender",s_paginationShow:"paginationShow",s_paginationUpdate:"paginationUpdate",s_progress:"progress",s_reachBeginning:"reachBeginning",s_reachEnd:"reachEnd",s_realIndexChange:"realIndexChange",s_resize:"resize",s_scroll:"scroll",s_scrollbarDragEnd:"scrollbarDragEnd",s_scrollbarDragMove:"scrollbarDragMove",s_scrollbarDragStart:"scrollbarDragStart",s_setTransition:"setTransition",s_setTranslate:"setTranslate",s_slideChange:"slideChange",s_slideChangeTransitionEnd:"slideChangeTransitionEnd",s_slideChangeTransitionStart:"slideChangeTransitionStart",s_slideNextTransitionEnd:"slideNextTransitionEnd",s_slideNextTransitionStart:"slideNextTransitionStart",s_slidePrevTransitionEnd:"slidePrevTransitionEnd",s_slidePrevTransitionStart:"slidePrevTransitionStart",s_slideResetTransitionStart:"slideResetTransitionStart",s_slideResetTransitionEnd:"slideResetTransitionEnd",s_sliderMove:"sliderMove",s_sliderFirstMove:"sliderFirstMove",s_slidesLengthChange:"slidesLengthChange",s_slidesGridLengthChange:"slidesGridLengthChange",s_snapGridLengthChange:"snapGridLengthChange",s_snapIndexChange:"snapIndexChange",s_tap:"tap",s_toEdge:"toEdge",s_touchEnd:"touchEnd",s_touchMove:"touchMove",s_touchMoveOpposite:"touchMoveOpposite",s_touchStart:"touchStart",s_transitionEnd:"transitionEnd",s_transitionStart:"transitionStart",s_update:"update",s_zoomChange:"zoomChange",s_swiper:"swiper",indexChange:"indexChange"},features:[ye],ngContentSelectors:a3,decls:13,vars:17,consts:[[4,"ngIf"],["class","swiper-scrollbar",4,"ngIf"],["class","swiper-pagination",4,"ngIf"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["slidesTemplate",""],[1,"swiper-button-prev"],["prevElRef",""],[1,"swiper-button-next"],["nextElRef",""],[1,"swiper-scrollbar"],["scrollbarElRef",""],[1,"swiper-pagination"],["paginationElRef",""],[3,"ngClass","style","ngSwitch",4,"ngFor","ngForOf"],[3,"ngClass","ngSwitch"],[3,"ngClass",4,"ngSwitchCase"],[4,"ngSwitchDefault"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(t,e){if(1&t&&(wa(i3),xa(0),Jo(1,z2,5,0,"ng-container",0),Jo(2,U2,2,0,"div",1),Jo(3,H2,2,0,"div",2),ra(4,"div",3),xa(5,1),Jo(6,G2,1,0,void 0,4),Jo(7,q2,1,0,void 0,4),Jo(8,X2,1,0,void 0,4),xa(9,2),sa(),xa(10,3),Jo(11,n3,2,3,"ng-template",null,5,ru)),2&t){const t=ta(12);ws(1),na("ngIf",e.navigation&&e.showNavigation),ws(1),na("ngIf",e.scrollbar&&e.showScrollbar),ws(1),na("ngIf",e.pagination&&e.showPagination),ws(1),na("ngClass",e.wrapperClass),Ko("id",e.id),ws(2),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(11,r3,e.prependSlides)),ws(1),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(13,s3,e.activeSlides)),ws(1),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(15,o3,e.appendSlides))}},directives:[Ah,Oh,Fh,kh,Rh,Nh,Lh],pipes:[$h],styles:["\n swiper {\n display: block;\n }\n "],encapsulation:2,changeDetection:0}),t})(),y3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();function v3(t,e){if(1&t){const t=ua();ra(0,"div",7),ra(1,"div",8),Ja(2),sa(),ra(3,"a",9),fa("click",function(){$e(t);const e=va().$implicit;return va().linkClicked.emit(e)}),Ja(4," DATA "),ra(5,"mat-icon"),Ja(6,"open_in_new"),sa(),sa(),sa()}if(2&t){const t=va().$implicit;ws(1),La("background-image","url("+t.thumbnail+")"),ws(1),el(" ",t.technology," ")}}function _3(t,e){1&t&&(aa(0),Jo(1,v3,7,3,"ng-template",6),la())}const w3=(()=>{let t=-1;return()=>(t+=1,t)})();let x3=(()=>{class t{constructor(){this.className="ccf-thumbnail-carousel",this.linkClicked=new Bc,this.uid=w3(),this.config={allowTouchMove:!1,slidesOffsetBefore:4,slidesOffsetAfter:4,slidesPerView:"auto",spaceBetween:4,watchOverflow:!0},this.navigation={prevEl:"#"+this.prevButtonId,nextEl:"#"+this.nextButtonId}}get prevButtonId(){return`ccf-thumbnail-carousel-prev-button-${this.uid}`}get nextButtonId(){return`ccf-thumbnail-carousel-next-button-${this.uid}`}itemId(t,e){return e.thumbnail}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-thumbnail-carousel"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{data:"data"},outputs:{linkClicked:"linkClicked"},decls:11,vars:6,consts:[[1,"prev"],["mat-icon-button","","disableRipple",""],[1,"swiper",3,"config","navigation"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"next"],[1,"fade"],["swiperSlide",""],[1,"slide"],[1,"thumbnail"],[1,"link",3,"click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"button",1),ra(2,"mat-icon"),Ja(3,"navigate_before"),sa(),sa(),sa(),ra(4,"swiper",2),Jo(5,_3,2,0,"ng-container",3),sa(),ra(6,"div",4),ra(7,"button",1),oa(8,"div",5),ra(9,"mat-icon"),Ja(10,"navigate_next"),sa(),sa(),sa()),2&t&&(ws(1),Ko("id",e.prevButtonId),ws(3),na("config",e.config)("navigation",e.navigation),ws(1),na("ngForOf",e.data)("ngForTrackBy",e.itemId),ws(2),Ko("id",e.nextButtonId))},directives:[R_,T_,b3,kh,m3],styles:['[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%]{flex-grow:1;padding-bottom:.3125rem}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%] .swiper-slide{width:3.75rem;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%]{display:flex;align-items:center;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] button[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:1.5rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{position:absolute;top:-.625rem;left:-2rem;z-index:10;width:2rem;height:3.125rem;opacity:1;transition:opacity ease-in-out .3s;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%]{cursor:default;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]{position:relative;width:100%;height:100%}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;background-size:cover;position:relative;width:calc(100% - 2 * .125rem);height:calc(100% - 2 * .125rem);border-style:solid;border-width:.125rem;border-radius:.25rem;background-origin:padding-box;background-clip:padding-box;font-size:.875rem;font-weight:bold}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:-.125rem;left:-.125rem;width:.125rem;height:.125rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;right:0;left:0;opacity:0;transition:opacity ease-in-out .3s;box-shadow:0 2px 4px #0009;font-size:.75rem;line-height:.75rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%], [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:link, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:visited, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:active{cursor:pointer;text-decoration:none}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]:hover .link[_ngcontent-%COMP%]{opacity:1}'],changeDetection:0}),t})();function S3(t,e){if(1&t){const t=ua();ra(0,"mat-icon",14),fa("click",function(){return $e(t),va().toggleExpansion()}),Ja(1),sa()}if(2&t){const t=va();ws(1),tl(t.expanded?"expand_less":"expand_more")}}function C3(t,e){if(1&t&&oa(0,"ccf-tissue-section-vis",20),2&t){const t=va(2);na("totalTissueSections",t.tissueBlock.sectionCount)("tissueSections",t.tissueBlock.sections)}}function E3(t,e){if(1&t){const t=ua();aa(0),ra(1,"ccf-thumbnail-carousel",21),fa("linkClicked",function(e){return $e(t),va(2).linkHandler(e.link)}),sa(),la()}if(2&t){const t=va(2);ws(1),na("data",t.tissueBlock.datasets)}}function O3(t,e){if(1&t){const t=ua();aa(0),ra(1,"ccf-thumbnail-carousel",21),fa("linkClicked",function(e){return $e(t),va(3).linkHandler(e.link)}),sa(),la()}if(2&t){const t=va().$implicit;ws(1),na("data",t.datasets)}}function T3(t,e){if(1&t){const t=ua();ra(0,"div",22),ra(1,"div",23),ra(2,"mat-icon",24),Ja(3,"bubble_chart"),sa(),ra(4,"div",17),ra(5,"div",8),Ja(6),sa(),ra(7,"div",8),Ja(8),sa(),sa(),ra(9,"div",9),fa("click",function(){const e=$e(t).$implicit;return va(2).linkHandler(e.link)}),ra(10,"div",10),Ja(11,"TISSUE SECTION"),sa(),ra(12,"mat-icon",11),Ja(13,"open_in_new"),sa(),sa(),sa(),Jo(14,O3,2,1,"ng-container",13),sa()}if(2&t){const t=e.$implicit;ws(6),tl(t.label),ws(2),tl(t.description),ws(6),na("ngIf",t.datasets.length>0)}}function k3(t,e){if(1&t){const t=ua();aa(0),ra(1,"div",15),ra(2,"div",16),ra(3,"mat-icon",5),Ja(4,"bubble_chart"),sa(),ra(5,"div",17),ra(6,"div",8),Ja(7),sa(),ra(8,"div",8),Ja(9),sa(),sa(),ra(10,"div",9),fa("click",function(){$e(t);const e=va();return e.linkHandler(e.tissueBlock.link)}),ra(11,"div",10),Ja(12,"TISSUE BLOCK"),sa(),ra(13,"mat-icon",11),Ja(14,"open_in_new"),sa(),sa(),sa(),Jo(15,C3,1,2,"ccf-tissue-section-vis",18),Jo(16,E3,2,1,"ng-container",13),sa(),Jo(17,T3,15,3,"div",19),la()}if(2&t){const t=va();ws(7),tl(t.tissueBlock.label),ws(2),tl(t.tissueBlock.description),ws(6),na("ngIf",t.tissueBlock.sections.length>1),ws(1),na("ngIf",t.tissueBlock.datasets.length>0),ws(1),na("ngForOf",t.tissueBlock.sections)}}const P3=function(t){return{"background-color":t}};let A3=(()=>{class t{constructor(t){this.ga=t,this.clsName="ccf-donor-card",this.selected=!1,this.expanded=!1,this.highlighted=!1,this.checked=new Bc,this.linkClick=new Bc,this.hoverState=""}handleCheckbox(){this.selected=!this.selected,this.ga.event("selected_toggled","donor_card",this.tissueBlock.label,+this.selected),this.checked.emit(this.selected),this.expanded=!1}toggleExpansion(){this.selected&&(this.expanded=!this.expanded,this.ga.event("expanded_toggled","donor_card",this.tissueBlock.label,+this.expanded))}linkHandler(t){this.ga.event("link_clicked","donor_card",this.tissueBlock.label),this.selected?this.linkClick.emit(t):(this.selected=!0,this.checked.emit(this.selected))}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-donor-card"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{tissueBlock:"tissueBlock",selected:"selected",color:"color",expanded:"expanded",highlighted:"highlighted"},outputs:{checked:"checked",linkClick:"linkClick"},decls:19,vars:20,consts:[[1,"main-container"],[1,"checkbox-background",3,"ngStyle","click"],[1,"checkbox",3,"checked"],[1,"hoverable","default-padding","donor","mat-elevation-z2"],[1,"d-flex"],[1,"icon-size","icon-dark","mr-5"],[1,"donor-info"],[1,"title","description"],[1,"description"],[1,"hover-state","mat-elevation-z4",3,"click"],[1,"hover-title"],[1,"icon-size","hover-icon"],["class","icon-size ml-5 selectable",3,"click",4,"ngIf"],[4,"ngIf"],[1,"icon-size","ml-5","selectable",3,"click"],[1,"expanded-view","mat-elevation-z2","align-end"],[1,"info-block","hover-enabled","default-padding"],[1,"text-content"],[3,"totalTissueSections","tissueSections",4,"ngIf"],["class","expanded-view w-80 mat-elevation-z2 align-end",4,"ngFor","ngForOf"],[3,"totalTissueSections","tissueSections"],[1,"mt-05",3,"data","linkClicked"],[1,"expanded-view","w-80","mat-elevation-z2","align-end"],[1,"default-padding","info-block","hover-enabled"],[1,"icon-size","mr-5","icon-light"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),fa("click",function(){return e.handleCheckbox()}),oa(2,"mat-checkbox",2),sa(),ra(3,"div",3),ra(4,"div",4),ra(5,"mat-icon",5),Ja(6,"person"),sa(),ra(7,"div",6),ra(8,"div",7),Ja(9),sa(),ra(10,"div",8),Ja(11),sa(),sa(),sa(),ra(12,"div",9),fa("click",function(){return e.linkHandler(e.tissueBlock.donor.link)}),ra(13,"div",10),Ja(14,"DONOR"),sa(),ra(15,"mat-icon",11),Ja(16,"open_in_new"),sa(),sa(),Jo(17,S3,2,1,"mat-icon",12),sa(),sa(),Jo(18,k3,18,5,"ng-container",13)),2&t&&(ws(1),ja("selected",e.selected)("highlighted",e.highlighted),na("ngStyle",Pc(18,P3,e.selected?e.color:"transparent")),ws(1),ja("checkselected",e.selected),na("checked",e.selected),ws(1),ja("hover-enabled",e.selected)("expanded",e.expanded)("highlighted",e.highlighted),ws(6),tl(e.tissueBlock.donor.label),ws(2),tl(e.tissueBlock.donor.description),ws(6),na("ngIf",e.selected),ws(1),na("ngIf",e.expanded))},directives:[jh,xK,T_,Ah,kh,z1,x3],styles:["[_nghost-%COMP%]{width:100%}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{display:flex;min-height:3rem;width:100%;align-items:center;padding-left:.5rem}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%]{height:2rem;width:2rem;border-radius:50%;margin-right:.5rem;display:flex;justify-content:center;align-items:center;cursor:pointer}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-checked.mat-accent .mat-checkbox-background, [_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-indeterminate.mat-accent[_ngcontent-%COMP%] .mat-checkbox-background[_ngcontent-%COMP%]{background-color:transparent}[_nghost-%COMP%] .checkbox-background.highlighted[_ngcontent-%COMP%] .mat-ripple-element{opacity:.04}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkselected[_ngcontent-%COMP%] .mat-checkbox-frame{border-color:#fff!important}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkbox[_ngcontent-%COMP%]{margin-left:1.12rem;margin-bottom:.12rem}[_nghost-%COMP%] .align-end[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;width:100%;align-items:center}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]:not(:first-child){margin-top:.5rem}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .donor.highlighted[_ngcontent-%COMP%]{box-shadow:0 6px 2px -2px #0003,0 4px 4px #00000024,0 2px 10px #0000001f}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .hover-state[_ngcontent-%COMP%]{width:19.5rem!important}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .hoverable[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]:hover .hover-state[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%]{transition:opacity .15s ease-in-out;opacity:0;cursor:pointer;position:absolute;height:100%;width:100%;top:0;margin-left:-.5rem;align-items:center;display:flex;justify-content:flex-end;padding-right:1rem;font-size:.75rem}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-title[_ngcontent-%COMP%]{font-weight:lighter}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-icon[_ngcontent-%COMP%]{margin-left:1rem}[_nghost-%COMP%] .default-padding[_ngcontent-%COMP%]{padding:.25rem .5rem}[_nghost-%COMP%] .expanded-view[_ngcontent-%COMP%]{margin-top:.25rem;width:85%;margin-bottom:.25rem}[_nghost-%COMP%] .d-flex[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .icon-size[_ngcontent-%COMP%]{height:1.5rem;width:1.5rem;font-size:1.5rem}[_nghost-%COMP%] .selectable[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%]{width:80%!important}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:16rem!important}[_nghost-%COMP%] .ml-5[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mr-5[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .mt-05[_ngcontent-%COMP%]{margin-top:.5rem}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),t})();function M3(t,e){if(1&t&&(ra(0,"div",7),ra(1,"div",8),Ja(2),sa(),ra(3,"div",9),Ja(4),sa(),sa()),2&t){const t=e.$implicit;ws(2),tl(t.count),ws(2),tl(t.label)}}function I3(t,e){if(1&t){const t=ua();ra(0,"div",10),fa("mouseenter",function(){const e=$e(t).$implicit;return va().handleHover(e.tissueBlock.spatialEntityId)})("mouseleave",function(){return $e(t),va().handleUnhover()}),ra(1,"ccf-donor-card",11),fa("checked",function(e){const n=$e(t).$implicit;return va().handleSelection(n,e)})("linkClick",function(e){return $e(t),va().handleLinkClick(e)}),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ws(1),na("tissueBlock",t.tissueBlock)("selected",t.selected)("color",t.color)("highlighted",t.tissueBlock.spatialEntityId===n.highlighted)}}let D3=(()=>{class t{constructor(t){this.ga=t,this.linkClicked=new Bc,this.listResultSelected=new Bc,this.listResultDeselected=new Bc,this.itemHovered=new Bc,this.itemUnhovered=new Bc,this.atScrollBottom=!1}handleSelection(t,e){this.ga.event("list_result_selected","results_browser",this.resultLabel,+e),e?this.listResultSelected.next(t):this.listResultDeselected.next(t)}handleLinkClick(t){this.linkClicked.emit(t)}onScroll(t){if(!t.target)return;const{clientHeight:e,scrollHeight:n,scrollTop:i}=t.target;this.atScrollBottom=n-i-e<64}handleHover(t){this.itemHovered.emit(t)}handleUnhover(){this.itemUnhovered.emit()}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-results-browser"]],inputs:{listResults:"listResults",aggregateData:"aggregateData",resultLabel:"resultLabel",highlighted:"highlighted",header:"header"},outputs:{linkClicked:"linkClicked",listResultSelected:"listResultSelected",listResultDeselected:"listResultDeselected",itemHovered:"itemHovered",itemUnhovered:"itemUnhovered"},decls:8,vars:7,consts:[[1,"results-browser-container"],[1,"stat-box"],["id","title"],["class","stat-row",4,"ngFor","ngForOf"],[1,"results-browser-list",3,"scroll"],["class","browser-item-container",3,"mouseenter","mouseleave",4,"ngFor","ngForOf"],[1,"scroll-gradient"],[1,"stat-row"],[1,"stat-value"],[1,"stat-label"],[1,"browser-item-container",3,"mouseenter","mouseleave"],[3,"tissueBlock","selected","color","highlighted","checked","linkClick"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),Ja(3),sa(),Jo(4,M3,5,2,"div",3),sa(),ra(5,"div",4),fa("scroll",function(t){return e.onScroll(t)}),Jo(6,I3,2,4,"div",5),sa(),oa(7,"div",6),sa()),2&t&&(ws(3),tl(e.resultLabel),ws(1),na("ngForOf",e.aggregateData),ws(1),ja("header-hidden",!e.header),ws(1),na("ngForOf",e.listResults),ws(1),ja("hidden",!!e.atScrollBottom))},directives:[kh,A3],styles:[".results-browser-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:calc(100% - 3rem);padding:0 1.5rem 1.5rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%]{margin-bottom:1.5rem;line-height:1.25;min-height:7.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] #title[_ngcontent-%COMP%]{font-size:1.25rem;margin-bottom:.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%]{display:flex;flex-direction:row}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{margin-right:1rem;width:5.5rem;text-align:right;font-weight:600}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-weight:300}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;padding-right:.5rem;height:calc(100vh - 20rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 16rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%] .browser-item-container[_ngcontent-%COMP%]{width:100%}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:95%;bottom:0;pointer-events:none}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();const R3=["*",[["mat-toolbar-row"]]],N3=["*","mat-toolbar-row"],L3=Yy(class{constructor(t){this._elementRef=t}});let j3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),t})(),F3=(()=>{class t extends L3{constructor(t,e,n){super(t),this._platform=e,this._document=n}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(th))},t.\u0275cmp=Jt({type:t,selectors:[["mat-toolbar"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,j3,5),2&t){let t;Qc(t=tu())&&(e._toolbarRows=t)}},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(t,e){2&t&&ja("mat-toolbar-multiple-rows",e._toolbarRows.length>0)("mat-toolbar-single-row",0===e._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[jo],ngContentSelectors:N3,decls:2,vars:0,template:function(t,e){1&t&&(wa(R3),xa(0),xa(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),t})(),B3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();function V3(t,e){if(1&t&&(ra(0,"a",5),Ja(1,"LOGIN"),sa()),2&t){const t=va();ja("disabled",t.loginDisabled||!t.homeUrl),na("href",t.homeUrl+"login",_r)}}function z3(t,e){if(1&t&&(ra(0,"a",5),Ja(1,"LOGOUT"),sa()),2&t){const t=va();ja("disabled",t.loginDisabled||!t.homeUrl),na("href",t.homeUrl+"logout",_r)}}let U3=(()=>{class t{constructor(){this.refreshClicked=new Bc,this.downloadClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-header"]],inputs:{homeUrl:"homeUrl",loginDisabled:"loginDisabled",logoTooltip:"logoTooltip",loggedIn:"loggedIn",filters:"filters"},outputs:{refreshClicked:"refreshClicked",downloadClicked:"downloadClicked"},decls:6,vars:4,consts:[[1,"ccf-header"],[1,"home",3,"href"],["aria-hidden","false","aria-label","Reset tool","matTooltipPosition","right",1,"logo",3,"matTooltip"],[1,"filler"],["mat-button","","class","authentication","rel","noreferrer noopener","target","_blank",3,"disabled","href",4,"ngIf"],["mat-button","","rel","noreferrer noopener","target","_blank",1,"authentication",3,"href"]],template:function(t,e){1&t&&(ra(0,"mat-toolbar",0),ra(1,"a",1),oa(2,"div",2),sa(),oa(3,"div",3),Jo(4,V3,2,3,"a",4),Jo(5,z3,2,3,"a",4),sa()),2&t&&(ws(1),na("href",e.homeUrl,_r),ws(1),na("matTooltip",e.logoTooltip),ws(2),na("ngIf",!e.loggedIn),ws(1),na("ngIf",e.loggedIn))},directives:[F3,gw,Ah,N_],styles:[".ccf-header[_ngcontent-%COMP%]{height:4rem;padding:0 1.5rem;border-bottom-width:1px;border-bottom-style:solid;display:flex}.ccf-header[_ngcontent-%COMP%] .home[_ngcontent-%COMP%]{height:100%;width:25rem;align-items:center;display:flex;padding:.25rem 0}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:100%;height:50%;background-repeat:no-repeat;background-size:contain}.ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%]{height:1.5rem}.ccf-header[_ngcontent-%COMP%] .authentication[_ngcontent-%COMP%]{width:8.25rem;border-radius:.125rem;font-weight:500}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{display:flex;align-items:center;transition:color 1s;cursor:pointer;text-decoration:none}.ccf-header[_ngcontent-%COMP%] [_ngcontent-%COMP%]:not(:last-child){margin-right:1.5rem}.ccf-header[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1;margin:0}.ccf-header[_ngcontent-%COMP%] .filter-labels[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;font:400 1rem/1.25rem Inter,sans-serif}.ccf-header[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();const H3=["bodyUI"];function $3(t,e){if(1&t&&(oa(0,"ccf-header",34),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async")),2&t){const t=va();ja("hide",!1===Rc(1,6,t.header$)),na("logoTooltip",Rc(2,8,t.logoTooltip$))("homeUrl",Rc(3,10,t.homeUrl$))("loggedIn",t.loggedIn)("loginDisabled",Rc(4,12,t.loginDisabled$))}}function G3(t,e){if(1&t){const t=ua();ra(0,"div",35),fa("click",function(){$e(t),va();const e=ta(72);return e.expanded=!e.expanded}),ra(1,"mat-icon",36),Ja(2),sa(),sa()}if(2&t){va();const t=ta(72);ws(2),el(" ",t.expanded?"arrow_drop_up":"arrow_drop_down"," ")}}function W3(t,e){if(1&t){const t=ua();ra(0,"div",35),fa("click",function(){$e(t);const e=va();return e.organListVisible=!e.organListVisible}),ra(1,"mat-icon",37),Ja(2),sa(),sa()}if(2&t){const t=va();ws(2),el(" ",t.organListVisible?"arrow_drop_up":"arrow_drop_down"," ")}}const q3=function(){return{}},Y3=function(){return{x:2.2,y:2,z:.4}};class X3{constructor(t,e,n,i,r,s,o,a,l,c,u,h){this.data=n,this.theming=i,this.scene=r,this.listResultsState=s,this.consentService=o,this.snackbar=a,this.dataSource=c,this.globalConfig=u,this.setSelectedSearches=jQ(ZQ),this.removeSpatialSearch=jQ(QQ),this.ontologySelectionLabel="body",this.cellTypeSelectionLabel="cell",this.selectionLabel="body | cell",this.organListVisible=!0,this.url="",this.acceptableViewerDomains=LQ.acceptableViewerDomains||[],this.viewerOpen=!1,this.spinnerActive$=this.data.queryStatus$.pipe(D(t=>t===GQ.Running)),this.loadingMessage$=this.data.state$.pipe(T$("statusMessage")),this.theme$=this.globalConfig.getOption("theme"),this.themeMode$=new _p(1),this.header$=this.globalConfig.getOption("header"),this.homeUrl$=this.globalConfig.getOption("homeUrl"),this.logoTooltip$=this.globalConfig.getOption("logoTooltip"),this.loginDisabled$=this.globalConfig.getOption("loginDisabled"),i.initialize(t,e),l.setRootElement(t),n.tissueBlockData$.subscribe(),n.aggregateData$.subscribe(),n.ontologyTermOccurencesData$.subscribe(),n.cellTypeTermOccurencesData$.subscribe(),n.sceneData$.subscribe(),n.filter$.subscribe(),n.technologyFilterData$.subscribe(),n.providerFilterData$.subscribe(),this.ontologyTerms$=n.filter$.pipe(T$("ontologyTerms")),this.cellTypeTerms$=n.filter$.pipe(T$("cellTypeTerms")),z_([this.theme$,this.themeMode$]).subscribe(([t,e])=>{this.theming.setTheme(`${t}-theme-${e}`),h.markForCheck()})}get isLightTheme(){return this.theming.getTheme().endsWith("light")}ngOnInit(){const t=this.snackbar.openFromComponent(tQ,{data:{preClose:()=>{t.dismiss()}},duration:"not-set"===this.consentService.consent?1/0:3e3});window.matchMedia?(window.matchMedia("(prefers-color-scheme: dark)").matches?this.themeMode$.next("dark"):this.themeMode$.next("light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.themeMode$.next(t.matches?"dark":"light")})):this.themeMode$.next("light")}reset(t,e,n){t.open(),t.closeExpanded(),e.open(),e.closeExpanded(),n.removeBox(),this.resetView()}resetView(){this.bodyUI.target=[0,0,0],this.bodyUI.rotation=0,this.bodyUI.rotationX=0,this.bodyUI.bounds={x:2.2,y:2,z:.4}}toggleScheme(){this.themeMode$.next(this.isLightTheme?"dark":"light")}ontologySelected(t,e){if(t)return"anatomical-structures"===e?(this.data.updateFilter({ontologyTerms:t.map(t=>t.id)}),this.ontologySelectionLabel=this.createSelectionLabel(t)):(this.data.updateFilter({cellTypeTerms:t.map(t=>t.id)}),this.cellTypeSelectionLabel=this.createSelectionLabel(t)),this.selectionLabel=this.ontologySelectionLabel&&this.cellTypeSelectionLabel?`${this.ontologySelectionLabel} | ${this.cellTypeSelectionLabel}`:this.ontologySelectionLabel?`${this.ontologySelectionLabel}`:this.cellTypeSelectionLabel?`${this.cellTypeSelectionLabel}`:"",void(t[0]&&"body"===t[0].label&&this.resetView());this.data.updateFilter({ontologyTerms:[],cellTypeTerms:[]}),this.ontologySelectionLabel="",this.cellTypeSelectionLabel=""}createSelectionLabel(t){if(0===t.length)return"";if(1===t.length)return t[0].label;let e="";return t.forEach((n,i)=>{e+=n.label,inull==t?void 0:t.startsWith(e))?(this.url=t,this.viewerOpen=!!t):(window.open(t,"_blank"),this.closeiFrameViewer())}closeiFrameViewer(){this.viewerOpen=!1}get loggedIn(){var t;return(null!==(t=this.globalConfig.snapshot.hubmapToken)&&void 0!==t?t:"").length>0}}function K3(t,e){1&t&&oa(0,"ccf-root")}function Q3(t){const e=t=>"string"==typeof t,n=t=>Array.isArray(t)&&t.every(e);if("string"==typeof t){const e=RQ.json(t);if(n(e))return e}else if(n(t))return t;throw new Error("Invalid data sources")}X3.\u0275fac=function(t){return new(t||X3)(ea(Al),ea(No),ea(YQ),ea(AQ),ea(aZ),ea(sZ),ea(VW),ea(aw),ea(kQ),ea(iQ),ea(KK),ea(nc))},X3.\u0275cmp=Jt({type:X3,selectors:[["ccf-root"]],viewQuery:function(t,e){if(1&t&&Zc(H3,5),2&t){let t;Qc(t=tu())&&(e.bodyUI=t.first)}},decls:83,vars:117,consts:[[1,"ccf-app","mat-app-background"],[3,"text","active"],[3,"hide","logoTooltip","homeUrl","loggedIn","loginDisabled",4,"ngIf"],[1,"main-drawers"],["opened","",1,"left-drawer",3,"stateChange"],["left",""],[1,"filter-data"],[3,"filters","drawerExpanded","technologyFilters","providerFilters","spatialSearchFilters","filtersChange","spatialSearchSelected","spatialSearchRemoved"],["filterbox",""],[1,"filter-text"],[1,"sex","filter-tag"],[1,"age","filter-tag"],[1,"bmi","filter-tag"],["placeholderText","Search anatomical structures...",1,"ontology-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["placeholderText","Search cell types...",1,"cell-type-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["position","end","opened","",1,"right-drawer",3,"stateChange"],["right",""],[1,"portal-view",3,"url","closed"],[1,"drawer-icons"],[1,"drawer-icons-left"],[1,"button",3,"matTooltip","click"],[1,"icon"],[1,"scheme-toggle","button",3,"matTooltip","click"],[1,"button"],["matTooltip","Reset View",1,"refresh","icon",3,"click"],["videoID","YAHJqvD3Q_8","infoTitle","CCF Exploration User Interface","documentationUrl","assets/docs/README.md","matTooltip","Open Info"],[3,"listResults","aggregateData","resultLabel","highlighted","header","listResultSelected","listResultDeselected","linkClicked","itemHovered","itemUnhovered"],[1,"selector-drawer"],[1,"organ-selector",3,"multiselect","occurenceData","organList","selectedOrgans","organsChanged"],["selector",""],[1,"close-button-wrapper"],["class","close-button",3,"click",4,"ngIf"],[1,"stage-content",3,"scene","bounds","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""],[3,"logoTooltip","homeUrl","loggedIn","loginDisabled"],[1,"close-button",3,"click"],["aria-hidden","false","aria-label","Expand carousel drawer",1,"expand-collapse-icon"],["aria-hidden","false","aria-label","Close carousel drawer",1,"expand-collapse-icon"]],template:function(t,e){if(1&t){const t=ua();ra(0,"div",0),oa(1,"ccf-spinner-overlay",1),Dc(2,"async"),Dc(3,"async"),Jo(4,$3,5,14,"ccf-header",2),Dc(5,"async"),ra(6,"ccf-drawer-container",3),Dc(7,"async"),ra(8,"ccf-drawer",4,5),fa("stateChange",function(){return $e(t),ta(13).removeBox()}),ra(10,"div"),ra(11,"div",6),ra(12,"ccf-filters-popover",7,8),fa("filtersChange",function(t){return e.data.updateFilter(t)})("spatialSearchSelected",function(t){return e.setSelectedSearches(t)})("spatialSearchRemoved",function(t){return e.removeSpatialSearch(t)}),Dc(14,"async"),Dc(15,"async"),Dc(16,"async"),Dc(17,"async"),sa(),ra(18,"div",9),ra(19,"div",10),Ja(20,"Sex: "),ra(21,"strong"),Ja(22),Dc(23,"async"),sa(),sa(),ra(24,"div",11),Ja(25,"Age: "),ra(26,"strong"),Ja(27),Dc(28,"async"),Dc(29,"async"),sa(),sa(),ra(30,"div",12),Ja(31,"BMI: "),ra(32,"strong"),Ja(33),Dc(34,"async"),Dc(35,"async"),sa(),sa(),sa(),sa(),ra(36,"ccf-ontology-selection",13),fa("ontologySelection",function(t){return e.ontologySelected(t,"anatomical-structures")}),Dc(37,"async"),Dc(38,"async"),Dc(39,"async"),Dc(40,"async"),sa(),ra(41,"ccf-ontology-selection",14),fa("ontologySelection",function(t){return e.ontologySelected(t,"cell-type")}),Dc(42,"async"),Dc(43,"async"),Dc(44,"async"),Dc(45,"async"),sa(),oa(46,"ccf-drawer-toggle-button"),sa(),sa(),ra(47,"ccf-drawer",15,16),fa("stateChange",function(){return $e(t),ta(13).removeBox()}),ra(49,"ccf-viewer",17),fa("closed",function(){return e.viewerOpen=!1}),sa(),ra(50,"div",18),ra(51,"div",19),ra(52,"button",20),fa("click",function(){$e(t);const e=ta(13),n=ta(48);return e.removeBox(),n.toggleExpanded()}),ra(53,"mat-icon",21),Ja(54),sa(),sa(),ra(55,"button",22),fa("click",function(){return e.toggleScheme()}),ra(56,"mat-icon",21),Ja(57),sa(),sa(),ra(58,"button",23),ra(59,"mat-icon",24),fa("click",function(){$e(t);const n=ta(9),i=ta(48),r=ta(13);return e.reset(n,i,r)}),Ja(60,"refresh "),sa(),sa(),sa(),oa(61,"ccf-info-button",25),sa(),ra(62,"ccf-results-browser",26),fa("listResultSelected",function(t){return e.listResultsState.selectListResult(t)})("listResultDeselected",function(t){return e.listResultsState.deselectListResult(t)})("linkClicked",function(t){return e.openiFrameViewer(t)})("itemHovered",function(t){return e.listResultsState.highlightNode(t)})("itemUnhovered",function(){return e.listResultsState.unHighlightNode()}),Dc(63,"async"),Dc(64,"async"),Dc(65,"async"),Dc(66,"async"),sa(),oa(67,"ccf-drawer-toggle-button"),sa(),ra(68,"ccf-drawer-content"),Dc(69,"async"),ra(70,"div",27),ra(71,"ccf-organ-selector",28,29),fa("organsChanged",function(t){return e.scene.setSelectedReferenceOrgans(t)}),Dc(73,"async"),Dc(74,"async"),Dc(75,"async"),sa(),sa(),ra(76,"div",30),Jo(77,G3,3,1,"div",31),Jo(78,W3,3,1,"div",31),sa(),oa(79,"ccf-run-spatial-search"),ra(80,"ccf-body-ui",32,33),fa("nodeClick",function(t){return e.scene.sceneNodeClicked(t)})("nodeHoverStart",function(t){return e.scene.sceneNodeHovered(t)})("nodeHoverStop",function(){return e.scene.sceneNodeUnhover()}),Dc(82,"async"),sa(),sa(),sa(),sa()}if(2&t){const t=ta(48),n=ta(72);let i,r,s,o;ws(1),na("text",Rc(2,55,e.loadingMessage$))("active",Rc(3,57,e.spinnerActive$)),ws(3),na("ngIf",!1===Rc(5,59,e.spinnerActive$)),ws(2),ja("header-hidden",!1===Rc(7,61,e.header$)),ws(6),na("filters",Rc(14,63,e.data.filter$))("drawerExpanded",t.expanded)("technologyFilters",Rc(15,65,e.data.technologyFilterData$))("providerFilters",Rc(16,67,e.data.providerFilterData$))("spatialSearchFilters",Rc(17,69,e.selectableSearches$)),ws(10),tl(null==(i=Rc(23,71,e.data.filter$))?null:i.sex),ws(5),nl("",null==(r=Rc(28,73,e.data.filter$))?null:r.ageRange[0],"-",null==(r=Rc(29,75,e.data.filter$))?null:r.ageRange[1],""),ws(6),nl("",null==(s=Rc(34,77,e.data.filter$))?null:s.bmiRange[0],"-",null==(s=Rc(35,79,e.data.filter$))?null:s.bmiRange[1],""),ws(3),na("treeModel",Rc(37,81,e.ontologyTreeModel$))("termData",Rc(38,83,e.data.ontologyTermsFullData$))("occurenceData",Rc(39,85,e.data.ontologyTermOccurencesData$))("header",Rc(40,87,e.header$)),ws(5),na("treeModel",Rc(42,89,e.cellTypeTreeModel$))("termData",Rc(43,91,e.data.cellTypeTermsFullData$))("occurenceData",Rc(44,93,e.data.cellTypeTermOccurencesData$))("header",Rc(45,95,e.header$)),ws(8),ja("opened",e.viewerOpen),na("url",e.url),ws(3),na("matTooltip",t.expanded?"Exit Fullscreen":"Enter Fullscreen"),ws(2),tl(t.expanded?"fullscreen_exit":"fullscreen"),ws(1),na("matTooltip",e.isLightTheme?"Enter Dark Mode":"Enter Light Mode"),ws(2),el("",e.isLightTheme?"brightness_2":"brightness_5"," "),ws(5),na("listResults",Rc(63,97,e.listResultsState.listResults$))("aggregateData",Rc(64,99,e.data.aggregateData$))("resultLabel",e.selectionLabel)("highlighted",Rc(65,101,e.listResultsState.highlightedNodeId$))("header",Rc(66,103,e.header$)),ws(6),ja("header-hidden",!1===Rc(69,105,e.header$)),ws(2),ja("closed",!e.organListVisible)("expanded",n.expanded),ws(1),na("multiselect",!0)("occurenceData",null!==(o=Rc(73,107,e.data.ontologyTermOccurencesData$))&&void 0!==o?o:kc(115,q3))("organList",Rc(74,109,e.scene.referenceOrgans$))("selectedOrgans",Rc(75,111,e.scene.selectedReferenceOrgans$)),ws(5),ja("closed",!e.organListVisible),ws(1),na("ngIf",e.organListVisible),ws(1),na("ngIf",!n.expanded),ws(2),ja("expanded-stage",!e.organListVisible)("selector-expanded",n.expanded),na("scene",Rc(82,113,e.scene.scene$))("bounds",kc(116,Y3))}},directives:[yZ,Ah,DZ,kZ,K0,R1,N1,F1,gw,T_,qK,D3,CZ,jK,U0,OK,U3],pipes:[$h],styles:[".cdk-overlay-container{position:absolute;font-size:1.2rem}[_nghost-%COMP%]{display:block;position:relative}.ccf-app[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:1rem;position:relative;text-align:left}.ccf-app[_ngcontent-%COMP%] ccf-header[_ngcontent-%COMP%]{z-index:99}.ccf-app[_ngcontent-%COMP%] ccf-header.hide[_ngcontent-%COMP%]{display:none}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%]{height:calc(100% - 5rem);width:100%;opacity:1;overflow:hidden;transform:scale(1)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container.header-hidden[_ngcontent-%COMP%]{height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%]{width:28.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%]{display:flex;padding-left:1.5rem;height:5rem;padding-right:1.5rem;align-items:center;justify-content:space-between}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border:none;cursor:pointer;outline:none;border-radius:.25rem;padding:.65rem;transition:.6s}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%]{overflow:hidden;border-radius:.5rem;height:calc(100vh - 4rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%]{top:0rem;display:flex;flex-direction:column;position:relative;transition:all .5s ease-in-out;height:5rem;justify-content:start}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.expanded[_ngcontent-%COMP%]{height:15rem;overflow-y:auto}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.closed[_ngcontent-%COMP%]{height:1.5rem;top:-5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] ccf-run-spatial-search[_ngcontent-%COMP%]{position:relative;float:right;height:0px;z-index:1;top:.5rem;right:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .stage-content[_ngcontent-%COMP%]{transition:all .5s ease-in-out;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .expanded-stage[_ngcontent-%COMP%]{height:calc(100% - 3rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-expanded[_ngcontent-%COMP%]{height:calc(100% - 16.5rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 1rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;border-top-right-radius:.5rem;border-top-left-radius:.5rem;height:0}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{display:flex;justify-content:center;height:1.0625rem;width:3rem;align-self:center;border-radius:0 0 .25rem .25rem;cursor:pointer;transition:.6s;position:relative;top:.5rem;z-index:1}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{position:relative;bottom:.2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%]{padding-left:1.5rem;padding-right:1.5rem;height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cell-type-selection[_ngcontent-%COMP%] .ccf-ontology-search{margin-top:2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%]{height:5rem;display:flex;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:75%;margin-left:1.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%]{font-weight:300}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600!important}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view[_ngcontent-%COMP%]{position:fixed;left:0;top:0;bottom:0;right:425%;height:100%;transform:translate(-425%);width:calc(100% - 28.5rem);transition:transform .5s cubic-bezier(.82,.085,.395,.895)}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view.opened[_ngcontent-%COMP%]{transform:translate(0);transition:width 0s .5s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view[_ngcontent-%COMP%]{width:100vw}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view.opened[_ngcontent-%COMP%]{transition:width 0s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .shaded-toggle[_ngcontent-%COMP%]{box-shadow:-1px 0 4px #212121}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}[_ngcontent-%COMP%]::-webkit-scrollbar{width:.5rem}"],changeDetection:0}),vw([iU(XQ.cellTypesTreeModel)],X3.prototype,"cellTypeTreeModel$",void 0),vw([iU(XQ.anatomicalStructuresTreeModel)],X3.prototype,"ontologyTreeModel$",void 0),vw([iU(tZ.items)],X3.prototype,"selectableSearches$",void 0),vw([KX()],X3.prototype,"setSelectedSearches",void 0),vw([KX()],X3.prototype,"removeSpatialSearch",void 0);let Z3=(()=>{class t extends DQ{constructor(t,e){super(t,e,{initialDelay:10,initialConfig:Object.assign(Object.assign(Object.assign({},LQ.dbOptions),globalThis.dbOptions),LQ.customization),parse:{dataSources:Q3,useRemoteApi:RQ.boolean,header:RQ.boolean,loginDisabled:RQ.boolean}})}}return t.\u0275fac=function(e){return new(e||t)(ea(KK),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-root-wc"]],inputs:{dataSources:"dataSources",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint",theme:"theme",header:"header",homeUrl:"homeUrl",logoTooltip:"logoTooltip",loginDisabled:"loginDisabled"},features:[jo],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,e){1&t&&Jo(0,K3,1,0,"ccf-root",0),2&t&&na("ngIf",e.initialized)},directives:[Ah,X3],encapsulation:2,changeDetection:0}),t})(),J3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,B3,yw]]}),t})(),t5=(()=>{class t extends dQ{constructor(t,e){super(t),this.locator=e}createWorker(t){const e=this.getWorkerUrl(!0);return new Worker(e,{type:"module"})}getWorkerUrl(t){if(t)return new URL(n(88509),n.b);const e=this.locator.prepareExternalUrl("0-es2015.worker.js"),i=new Blob([`importScripts('${e}')`],{type:"application/javascript"});return URL.createObjectURL(i)}}return t.\u0275fac=function(e){return new(e||t)(Ei(KK),Ei(ch))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),e5=(()=>{class t extends pQ{selectToken(t){const{useRemoteApi:e,remoteApiEndpoint:n}=t;return e&&n?cQ:"undefined"==typeof Worker||LQ.disableDbWorker?hQ:t5}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),n5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:du,useValue:AQ.initialize,multi:!0},AQ]}),t})(),i5=(()=>{class t{constructor(t,e){this.accessor=t,this.injector=e}static forRoot(e=[]){return{ngModule:t,providers:[hW,uW,lW,...e]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hW,2),Ei(uW,2))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const r5=(t,e)=>((t,e)=>new Array(e+1).join("0"))(0,e-t.toString().length)+t;class s5{constructor(t,e,n){this.action=t,this.store=e,this.logWriter=n}dispatched(t){const e=fz(this.action),n=function(t){return r5(t.getHours(),2)+":"+r5(t.getMinutes(),2)+":"+r5(t.getSeconds(),2)+"."+r5(t.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${e} @ ${n}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",t)}completed(t){this.logWriter.logGreen("next state",t),this.logWriter.endGroup()}errored(t){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",t),this.logWriter.endGroup()}_hasPayload(t){return this._getNonEmptyProperties(t).length>0}_getNonEmptyProperties(t){return Object.keys(t).map(e=>t[e]).filter(t=>void 0!==t)}}class o5{constructor(t){this.options=t,this.options=this.options||{},this.logger=t.logger||console}startGroup(t){const e=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{e.call(this.logger,t)}catch(n){console.log(t)}}endGroup(){try{this.logger.groupEnd()}catch(t){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(t,e){this.log(t,"color: #9E9E9E; font-weight: bold",e)}logGreen(t,e){this.log(t,"color: #4CAF50; font-weight: bold",e)}logRedish(t,e){this.log(t,"color: #FD8182; font-weight: bold",e)}log(t,e,n){this.isIE()?this.logger.log(t,n):this.logger.log("%c "+t,e,n)}isIE(){const t="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let e=!1;const n=t.indexOf("MSIE "),i=t.indexOf("Trident/");return(n>-1||i>-1)&&(e=!0),e}}const a5=new oi("NGXS_LOGGER_PLUGIN_OPTIONS");let l5=(()=>{class t{constructor(t,e){this._options=t,this._injector=e}handle(t,e,n){if(this._options.disabled||!this._options.filter(e,t))return n(t,e);this._logWriter=this._logWriter||new o5(this._options),this._store=this._store||this._injector.get(qz);const i=new s5(e,this._store,this._logWriter);return i.dispatched(t),n(t,e).pipe(eg(t=>{i.completed(t)}),Tv(t=>{throw i.errored(t),t}))}}return t.\u0275fac=function(e){return new(e||t)(Ei(a5),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const c5=new oi("LOGGER_USER_OPTIONS");function u5(t){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},t)}let h5=(()=>{class t{static forRoot(e){return{ngModule:t,providers:[{provide:sz,useClass:l5,multi:!0},{provide:c5,useValue:e},{provide:a5,useFactory:u5,deps:[c5]}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function d5(t,e){return t>=0&&t=e?e:t+e<0?0:t+e}function p5(t,e){if(1&t&&(ra(0,"span"),Ja(1),sa()),2&t){const t=e.$implicit;Fa(t.styles),Va(t.classes),ws(1),el(" ",t.text,"\n")}}let f5=(()=>{class t{constructor(){this.clsName="ccf-decorated-text",this.segments=[]}ngOnChanges(t){("text"in t||"decorations"in t)&&(this.segments=this.createSegments())}createSegments(){const{text:t}=this;if(!t)return[this.makeUndecoratedSegment(t)];const e=this.getNormalizedDecorations();if(0===e.length)return[this.makeUndecoratedSegment(t)];const n=this.createStackOps(e),i=[];let r=[],s=0;0===n[0].index&&(r=this.updateStack(r,n.shift()));for(const o of n)i.push(this.makeDecoratedSegment(t.slice(s,o.index),r)),s=o.index,r=this.updateStack(r,o);return s!==t.length&&i.push(this.makeDecoratedSegment(t.slice(s),r)),i}createStackOps(t){const e={},n=t=>{var n;return null!==(n=e[t])&&void 0!==n?n:e[t]={index:t,added:[],removed:[]}};for(const i of t)n(i.start).added.push(i),n(i.end).removed.push(i);return Object.entries(e).sort((t,e)=>+t[0]-+e[0]).map(t=>t[1])}updateStack(t,e){return t.filter(t=>!e.removed.includes(t)).concat(e.added)}getNormalizedDecorations(){const{decorations:t=[],text:{length:e}}=this;return t.map(t=>function(t,e){var n,i,r,s;return{start:d5(null!==(n=t.start)&&void 0!==n?n:0,e),end:d5(null!==(i=t.end)&&void 0!==i?i:e,e),classes:null!==(r=t.classes)&&void 0!==r?r:[],styles:null!==(s=t.styles)&&void 0!==s?s:{}}}(t,e)).filter(t=>t.startt.concat(e.classes),[]),styles:e.reduce((t,e)=>Object.assign(Object.assign({},t),e.styles),{})}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-decorated-text"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{text:"text",decorations:"decorations"},features:[ye],decls:1,vars:1,consts:[[3,"class","style",4,"ngFor","ngForOf"]],template:function(t,e){1&t&&Jo(0,p5,2,5,"span",0),2&t&&na("ngForOf",e.segments)},directives:[kh],styles:["[_nghost-%COMP%]{display:flex}"],changeDetection:0}),t})();function g5(t,e){if(1&t&&(ra(0,"mat-option"),oa(1,"ccf-decorated-text",8),sa()),2&t){const t=e.$implicit;ws(1),na("text",t.label)("decorations",t.decorations)}}const m5=[[["","matPrefix",""]],[["","matSuffix",""]]],b5=new oi("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});class y5{constructor(t){this.defaultMaxOptions=t,this.clsName="ccf-text-search",this.placeholder="Search...",this.optionSelected=new Bc,this.controller=new tH,this.options=this.controller.valueChanges.pipe(lp(""),Wd(),cp(this.getOptions)),this.valueChange=this.controller.valueChanges}get value(){return this.controller.value}set value(t){this.controller.setValue(t,{emitEvent:!1})}getOptions(t){return xw(this,void 0,void 0,function*(){const{autoCompleter:e,maxOptions:n=this.defaultMaxOptions}=this;return!e||n<1?[]:U(e(t,n)).pipe(rf(1),D(t=>t.length<=n?t:t.slice(0,n))).toPromise()})}optionDisplay(t){var e;return null!==(e=null==t?void 0:t.label)&&void 0!==e?e:""}optionId(t,e){return e.id}}y5.\u0275fac=function(t){return new(t||y5)(ea(b5))},y5.\u0275cmp=Jt({type:y5,selectors:[["ccf-text-search"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{placeholder:"placeholder",value:"value",maxOptions:"maxOptions",autoCompleter:"autoCompleter"},outputs:{valueChange:"valueChange",optionSelected:"optionSelected"},ngContentSelectors:["[matPrefix]","[matSuffix]"],decls:11,vars:8,consts:[[1,"form"],["appearance","outline",1,"form-field"],["matPrefix",""],["matInput","","type","search",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"autocomplete",3,"displayWith","optionSelected"],["auto","matAutocomplete"],[4,"ngFor","ngForOf","ngForTrackBy"],["matSuffix",""],[3,"text","decorations"]],template:function(t,e){if(1&t&&(wa(m5),ra(0,"form",0),ra(1,"mat-form-field",1),aa(2,2),xa(3),la(),oa(4,"input",3),ra(5,"mat-autocomplete",4,5),fa("optionSelected",function(t){return e.optionSelected.emit(t)}),Jo(7,g5,2,2,"mat-option",6),Dc(8,"async"),sa(),aa(9,7),xa(10,1),la(),sa(),sa()),2&t){const t=ta(6);ws(4),na("placeholder",e.placeholder)("formControl",e.controller)("matAutocomplete",t),ws(1),na("displayWith",e.optionDisplay),ws(2),na("ngForOf",Rc(8,6,e.options))("ngForTrackBy",e.optionId)}},directives:[cH,IU,sH,QH,$H,E$,uU,m$,MU,pH,h$,kh,WH,wv,f5],pipes:[$h],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .form[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .form[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex{align-items:center}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{height:3rem;border:none}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-suffix{top:0;border:none}"],changeDetection:0}),vw([PV.ak],y5.prototype,"getOptions",null),[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((t,e)=>t.name.localeCompare(e.name)).filter(t=>!0!==t.disabled);let v5=class extends MW{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(IW(),xp(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(T$(...t),Wd(),xp(1))}getOption(...t){const e=this.getPathKey(t);if(this.optionCache.has(e))return this.optionCache.get(e);const n=this.config$.pipe(T$(...t),Wd(),xp(1));return this.optionCache.set(e,n),n}getPathKey(t){return`${t.length}:${t.join(".")}`}};v5.\u0275fac=function(){let t;return function(e){return(t||(t=ei(v5)))(e||v5)}}(),v5.\u0275prov=xt({token:v5,factory:v5.\u0275fac}),vw([CW()],v5.prototype,"config$",null),v5=vw([kW(),nU({name:"globalConfig",defaults:null})],v5);const _5="ALLOW_TELEMETRY",w5=x5();function x5(){const t=localStorage.getItem(_5);return null===t?void 0:"true"===t.toLowerCase()}let S5=class extends MW{setAllowTelemetry(t){const e=x5();localStorage.setItem(_5,t.toString()),this.ctx.patchState({allowTelemetry:t}),(void 0!==e||!1===t)&&location.reload()}};S5.\u0275fac=function(){let t;return function(e){return(t||(t=ei(S5)))(e||S5)}}(),S5.\u0275prov=xt({token:S5,factory:S5.\u0275fac}),vw([OW()],S5.prototype,"setAllowTelemetry",null),S5=vw([kW(),nU({name:"tracking",defaults:{allowTelemetry:w5}})],S5);const C5=new A,E5={cacheBusterObserver:C5},O5={cacheBusterObserver:C5,maxCacheCount:4};function T5(t,e,n){return t?{min:t[0]>e?t[0]:void 0,max:t[1]{var e;return Object.assign(Object.assign({},t),{transformMatrix:new VT(null!==(e=t.transformMatrix)&&void 0!==e?e:[])})})}class P5{constructor(t,e){this.api=t,this.globalConfig=e,e.getOption("hubmapToken").subscribe(C5)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},t=>t)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},t=>t)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},t=>t)}getTissueBlockResults(t){return this.doRequest(t=>this.api.tissueBlocks(t),t,{},t=>t)}getAggregateResults(t){return this.doRequest(t=>this.api.aggregateResults(t),t)}getOntologyTermOccurences(t){return this.doRequest(t=>this.api.ontologyTermOccurences(t),t)}getCellTypeTermOccurences(t){return this.doRequest(t=>this.api.cellTypeTermOccurences(t),t)}getScene(t){return this.doRequest(t=>this.api.scene(t),t,{},k5)}getReferenceOrganScene(t,e){return this.doRequest(t=>this.api.referenceOrganScene(t),e,{organIri:t},k5)}doRequest(t,e,n,i){const{api:r,globalConfig:s}=this,o=Object.assign(Object.assign({},function(t){var e,n;return{age:T5(null==t?void 0:t.ageRange,1,110),bmi:T5(null==t?void 0:t.bmiRange,13,83),sex:null===(n=null===(e=null==t?void 0:t.sex)||void 0===e?void 0:e.toLowerCase)||void 0===n?void 0:n.call(e),ontologyTerms:null==t?void 0:t.ontologyTerms,cellTypeTerms:null==t?void 0:t.cellTypeTerms,providers:null==t?void 0:t.tmc,technologies:null==t?void 0:t.technologies,spatial:null==t?void 0:t.spatialSearches}}(e)),n);return z_([s.getOption("remoteApiEndpoint"),s.getOption("hubmapToken")]).pipe(rf(1),eg(([t,e])=>{r.configuration.basePath=t,e&&(o.token=e)}),cp(()=>t(o)),D(t=>i?i(t):t))}}P5.\u0275fac=function(t){return new(t||P5)(Ei(eq),Ei(v5))},P5.\u0275prov=xt({token:P5,factory:P5.\u0275fac,providedIn:"root"}),vw([QW(E5)],P5.prototype,"getProviderNames",null),vw([QW(E5)],P5.prototype,"getDatasetTechnologyNames",null),vw([QW(E5)],P5.prototype,"getOntologyTreeModel",null),vw([QW(E5)],P5.prototype,"getCellTypeTreeModel",null),vw([QW(E5)],P5.prototype,"getReferenceOrgans",null),vw([QW(O5)],P5.prototype,"getTissueBlockResults",null),vw([QW(O5)],P5.prototype,"getAggregateResults",null),vw([QW(O5)],P5.prototype,"getOntologyTermOccurences",null),vw([QW(O5)],P5.prototype,"getCellTypeTermOccurences",null),vw([QW(O5)],P5.prototype,"getScene",null),vw([QW(O5)],P5.prototype,"getReferenceOrganScene",null);let A5=(()=>{class t{}return t.type="[CallToAction] Learn More",t})(),M5=(()=>{class t{}return t.type="[CallToAction] Open Dialog",t})(),I5=(()=>{class t{}return t.type="[CallToAction] Close Dialog",t})();function D5(t,e){if(1&t&&(ra(0,"div",16),oa(1,"youtube-player",17),sa()),2&t){const t=va(3);ws(1),Sa("videoId",t.videoID)}}function R5(t,e){if(1&t&&(ra(0,"mat-expansion-panel",11),ra(1,"mat-expansion-panel-header"),ra(2,"h2",12),Ja(3),sa(),sa(),ra(4,"div",13),oa(5,"markdown",14),Jo(6,D5,2,1,"div",15),sa(),sa()),2&t){const t=va(),e=t.index,n=t.$implicit;na("expanded",0===e),ws(3),tl(n.title),ws(2),ja("first",0===e),na("data",n.content),ws(1),na("ngIf",0===e)}}function N5(t,e){if(1&t&&(ra(0,"div",9),Jo(1,R5,7,6,"mat-expansion-panel",10),sa()),2&t){const t=e.$implicit;ws(1),na("ngIf",t)}}let L5=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.documentationContents=e.content||[],this.infoTitle=e.title||"",this.videoID=e.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return t.\u0275fac=function(e){return new(e||t)(ea(X$),ea(Q$))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"h2",4),Ja(5),sa(),ra(6,"div",5),ra(7,"mat-icon",6),fa("click",function(){return e.close()}),Ja(8,"clear"),sa(),sa(),sa(),ra(9,"mat-dialog-content",7),Jo(10,N5,2,1,"div",8),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(5),na("ngForOf",e.documentationContents))},directives:[rG,T_,sG,kh,Ah,CG,TG,NG,WG],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),t})();class j5{get length(){var t,e;return null!==(e=null===(t=j5.storage)||void 0===t?void 0:t.length)&&void 0!==e?e:0}key(t){var e,n;return null!==(n=null===(e=j5.storage)||void 0===e?void 0:e.key(t))&&void 0!==n?n:null}getItem(t,e){var n,i,r;return null!==(r=null!==(i=null===(n=j5.storage)||void 0===n?void 0:n.getItem(t))&&void 0!==i?i:e)&&void 0!==r?r:null}setItem(t,e){var n;try{return null===(n=j5.storage)||void 0===n||n.setItem(t,e),!0}catch(i){return!1}}removeItem(t){var e;null===(e=j5.storage)||void 0===e||e.removeItem(t)}clear(){var t;null===(t=j5.storage)||void 0===t||t.clear()}}j5.storage=(()=>{let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),t}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length?t:void 0}})(),j5.\u0275fac=function(t){return new(t||j5)},j5.\u0275prov=xt({token:j5,factory:j5.\u0275fac,providedIn:"root"});let F5=(()=>{class t{constructor(t){this.http=t,this.panelContent=new Jf({content:[],infoTitle:"",videoID:""})}updateData(t,e,n){this.http.get(t,{responseType:"text"}).subscribe(t=>{const i={content:this.parseMarkdown(t),infoTitle:n,videoID:e};this.panelContent.next(i)})}parseMarkdown(t){const e=[],n=t.split("# ");for(const i of n)if(i.length){const t=i.includes("\n\n")?"\n\n":"\r\n\r\n",n=i.split(t);e.push({title:n[0],content:n.splice(1).join(t)})}return e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var B5;const V5="callToActionPopupShown";let z5=B5=class{constructor(t,e,n,i,r){this.dialog=t,this.ga=e,this.storage=n,this.infoService=i,this.http=r}static ctaDatePassed(t,e=Date.now){return+e()>+new Date(t)}ngxsOnInit(t){const{expirationDate:e,popupShown:n}=t.getState(),i=this.storage.getItem(V5,`${n}`),r=B5.ctaDatePassed(e);"true"!==i&&!r&&t.dispatch(new M5)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(D(t=>this.infoService.parseMarkdown(t)))}launchLearnMore(t){this.dialog.open(L5,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:t,videoID:"UfxMpzatowE"}})}learnMore(t){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(eg(t=>this.launchLearnMore(t)))}open(t){this.dialog.open($5,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(V5,"true"),t.patchState({popupShown:!0})}close(t){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};z5.\u0275fac=function(t){return new(t||z5)(Ei(nG),Ei(jW),Ei(j5),Ei(F5),Ei(Jv))},z5.\u0275prov=xt({token:z5,factory:z5.\u0275fac}),vw([eU(A5)],z5.prototype,"learnMore",null),vw([eU(M5)],z5.prototype,"open",null),vw([eU(I5)],z5.prototype,"close",null),z5=B5=vw([nU({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],z5);class U5{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}vw([rU([z5])],U5,"title",null),vw([rU([z5])],U5,"message",null),vw([rU([z5])],U5,"callToAction",null),vw([rU([z5])],U5,"imageUrl",null),vw([rU([z5])],U5,"expirationDate",null),vw([rU([z5])],U5,"popupShown",null);let H5=(()=>{class t{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Bc,this.closeClicked=new Bc}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"p",4),Ja(5),sa(),ra(6,"mat-icon",5),fa("click",function(){return e.close()}),Ja(7,"clear"),sa(),sa(),oa(8,"img",6),ra(9,"mat-dialog-content",7),ra(10,"div",8),Ja(11),sa(),ra(12,"a",9),fa("click",function(){return e.onDialogButtonClick()}),sa(),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(3),na("src",e.imageUrl,_r),ws(3),el(" ",e.message,""),ws(1),na("text",e.callToAction))},directives:[rG,T_,QG,sG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),t})();class $5{constructor(){this.close=()=>new I5,this.learnMore=()=>new A5}}$5.\u0275fac=function(t){return new(t||$5)},$5.\u0275cmp=Jt({type:$5,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-call-to-action",0),fa("callToActionClicked",function(){return e.learnMore()})("closeClicked",function(){return e.close()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),sa()),2&t&&na("infoTitle",Rc(1,4,e.title$))("message",Rc(2,6,e.message$))("callToAction",Rc(3,8,e.callToAction$))("imageUrl",Rc(4,10,e.imageUrl$))},directives:[H5],pipes:[$h],styles:[""],changeDetection:0}),vw([iU(U5.title)],$5.prototype,"title$",void 0),vw([iU(U5.message)],$5.prototype,"message$",void 0),vw([iU(U5.callToAction)],$5.prototype,"callToAction$",void 0),vw([iU(U5.imageUrl)],$5.prototype,"imageUrl$",void 0),vw([KX()],$5.prototype,"close",void 0),vw([KX()],$5.prototype,"learnMore",void 0);const G5=[{name:"bladder",namespace:"app",url:"assets/icons/organs/ico-organs-bladder.svg"},{name:"blood",namespace:"app",url:"assets/icons/organs/ico-organs-blood.svg"},{name:"bone-marrow",namespace:"app",url:"assets/icons/organs/ico-organs-bone-marrow.svg"},{name:"brain",namespace:"app",url:"assets/icons/organs/ico-organs-brain.svg"},{name:"eye",namespace:"app",url:"assets/icons/organs/ico-organs-eye.svg"},{name:"fallopian-tube-left",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-left.svg"},{name:"fallopian-tube-right",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-right.svg"},{name:"heart",namespace:"app",url:"assets/icons/organs/ico-organs-heart.svg"},{name:"kidney-left",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-left.svg"},{name:"kidney-right",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-right.svg"},{name:"kidney",namespace:"app",url:"assets/icons/organs/ico-organs-kidney.svg"},{name:"knee",namespace:"app",url:"assets/icons/organs/ico-organs-knee.svg"},{name:"large-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-large-intestine.svg"},{name:"larynx",namespace:"app",url:"assets/icons/organs/ico-organs-larynx.svg"},{name:"liver",namespace:"app",url:"assets/icons/organs/ico-organs-liver.svg"},{name:"lung-left",namespace:"app",url:"assets/icons/organs/ico-organs-lung-left.svg"},{name:"lung-right",namespace:"app",url:"assets/icons/organs/ico-organs-lung-right.svg"},{name:"lung",namespace:"app",url:"assets/icons/organs/ico-organs-lung.svg"},{name:"lymph-nodes",namespace:"app",url:"assets/icons/organs/ico-organs-lymph-nodes.svg"},{name:"main-bronchus",namespace:"app",url:"assets/icons/organs/ico-organs-extrapulmonary bronchus.svg"},{name:"mammary-gland",namespace:"app",url:"assets/icons/organs/ico-organs-breast.svg"},{name:"neuron",namespace:"app",url:"assets/icons/organs/ico-organs-neuron.svg"},{name:"ovaries",namespace:"app",url:"assets/icons/organs/ico-organs-ovaries.svg"},{name:"ovary-left",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-left.svg"},{name:"ovary-right",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-right.svg"},{name:"palatine-tonsil",namespace:"app",url:"assets/icons/organs/ico-organs-palatine tonsil.svg"},{name:"pancreas",namespace:"app",url:"assets/icons/organs/ico-organs-pancreas.svg"},{name:"pelvis-f",namespace:"app",url:"assets/icons/organs/ico-organs-pelvis-f.svg"},{name:"placenta",namespace:"app",url:"assets/icons/organs/ico-organs-placenta.svg"},{name:"prostate",namespace:"app",url:"assets/icons/organs/ico-organs-prostate.svg"},{name:"skin",namespace:"app",url:"assets/icons/organs/ico-organs-skin.svg"},{name:"small-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-small intestine.svg"},{name:"spinal-cord",namespace:"app",url:"assets/icons/organs/ico-organs-spinal-cord.svg"},{name:"spleen",namespace:"app",url:"assets/icons/organs/ico-organs-spleen.svg"},{name:"stomach",namespace:"app",url:"assets/icons/organs/ico-organs-stomach.svg"},{name:"thymus",namespace:"app",url:"assets/icons/organs/ico-organs-thymus.svg"},{name:"trachea",namespace:"app",url:"assets/icons/organs/ico-organs-trachea.svg"},{name:"ureter-left",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-left.svg"},{name:"ureter-right",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-right.svg"},{name:"uterus",namespace:"app",url:"assets/icons/organs/ico-organs-uterus.svg"},{name:"vasculature-thick",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thick.svg"},{name:"vasculature-thin",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thin.svg"},{name:"opacity",namespace:"app",url:"assets/icons/opacity-24px.svg"},{name:"visibility_on",namespace:"app",url:"assets/icons/visibility-on-24px.svg"},{name:"visibility_off",namespace:"app",url:"assets/icons/visibility-off-24px.svg"},{name:"expand_more",namespace:"app",url:"assets/icons/expand_more-24px.svg"},{name:"expand_less",namespace:"app",url:"assets/icons/expand_less-24px.svg"},{name:"filter",url:"assets/icons/filter.svg"}];let W5=class extends AW{constructor(t,e){super(),this.registry=t;for(const{name:n,namespace:i,url:r,html:s}of G5){const t={name:n,namespace:i,url:r&&e.bypassSecurityTrustResourceUrl(r),html:s&&e.bypassSecurityTrustHtml(s)};this.registerIconImpl(t)}}registerIcon(t){return this.registerIconImpl(t)}registerIconImpl(t){if(!this.registry||!t.url&&!t.html)return!1;const e=this.registry,n=e[this.getMethodName(t)],i=this.getArguments(t);if(!n)return!1;try{return n.apply(e,i),!0}catch(r){return!1}}getMethodName({name:t,namespace:e,url:n}){const i=["addSvgIcon"];return t||i.push("Set"),n||i.push("Literal"),e&&i.push("InNamespace"),i.join("")}getArguments({name:t,namespace:e,url:n,html:i}){return[e,t,null!=n?n:i].filter(t=>!!t)}};W5.\u0275fac=function(t){return new(t||W5)(Ei(y_,8),Ei(Sd))},W5.\u0275prov=xt({token:W5,factory:W5.\u0275fac}),vw([OW()],W5.prototype,"registerIcon",null),W5=vw([kW(),nU({name:"iconRegistry"})],W5);const q5=[KK,rZ,W5,sZ,YQ,aZ,z5,h0,JQ];let Y5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[i5.forRoot(),tU.forRoot(q5,{developmentMode:!LQ.production,selectorOptions:{injectContainerState:!1}}),QX.forRoot(),h5.forRoot({disabled:LQ.production})]]}),t})(),X5=(()=>{class t{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:iQ,useExisting:e5}],imports:[[d_,GW.forRoot({gaToken:LQ.googleAnalyticsToken,appName:"eui"}),QK,nq.forRoot(()=>new tq({basePath:LQ.dbOptions.remoteApiEndpoint})),J3,Y5,n5],J3]}),t})(),K5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,CK]]}),t})(),Q5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,ZH,uJ]]}),t})(),Z5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wf,ef,ZH,uJ,i0]]}),t})(),J5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_]]}),t})(),t4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,K5,Q5,Z5,OQ,J5]]}),t})(),e4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,t4]]}),t})(),n4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,bH,yH,b$,ZH,O$,k_]]}),t})(),i4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,yw,b1,VK]]}),t})(),r4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,n4,i4]]}),t})(),s4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,n4,i4,r4],n4,i4,r4]}),t})();function o4(){return(o4=Object.assign||function(t){for(var e=1;e0&&(n(s,!!t.isBeginning),t.params.watchOverflow&&t.enabled&&s[t.isLocked?"addClass":"removeClass"](e.lockClass)),r&&r.length>0&&(n(r,!!t.isEnd),t.params.watchOverflow&&t.enabled&&r[t.isLocked?"addClass":"removeClass"](e.lockClass))}},onPrevClick:function(t){var e=this;t.preventDefault(),(!e.isBeginning||e.params.loop)&&e.slidePrev()},onNextClick:function(t){var e=this;t.preventDefault(),(!e.isEnd||e.params.loop)&&e.slideNext()},init:function(){var t,e,n=this,i=n.params.navigation;n.params.navigation=function(t,e,n,i){var r=G1();return n&&Object.keys(i).forEach(function(n){if(!e[n]&&!0===e.auto){var s=r.createElement("div");s.className=i[n],t.append(s),e[n]=s}}),e}(n.$el,n.params.navigation,n.params.createElements,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),(i.nextEl||i.prevEl)&&(i.nextEl&&(t=c2(i.nextEl),n.params.uniqueNavElements&&"string"==typeof i.nextEl&&t.length>1&&1===n.$el.find(i.nextEl).length&&(t=n.$el.find(i.nextEl))),i.prevEl&&(e=c2(i.prevEl),n.params.uniqueNavElements&&"string"==typeof i.prevEl&&e.length>1&&1===n.$el.find(i.prevEl).length&&(e=n.$el.find(i.prevEl))),t&&t.length>0&&t.on("click",n.navigation.onNextClick),e&&e.length>0&&e.on("click",n.navigation.onPrevClick),f2(n.navigation,{$nextEl:t,nextEl:t&&t[0],$prevEl:e,prevEl:e&&e[0]}),n.enabled||(t&&t.addClass(i.lockClass),e&&e.addClass(i.lockClass)))},destroy:function(){var t=this,e=t.navigation,n=e.$nextEl,i=e.$prevEl;n&&n.length&&(n.off("click",t.navigation.onNextClick),n.removeClass(t.params.navigation.disabledClass)),i&&i.length&&(i.off("click",t.navigation.onPrevClick),i.removeClass(t.params.navigation.disabledClass))}},l4={name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){g2(this,{navigation:o4({},a4)})},on:{init:function(t){t.navigation.init(),t.navigation.update()},toEdge:function(t){t.navigation.update()},fromEdge:function(t){t.navigation.update()},destroy:function(t){t.navigation.destroy()},"enable disable":function(t){var e=t.navigation,n=e.$nextEl,i=e.$prevEl;n&&n[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass),i&&i[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass)},click:function(t,e){var n=t.navigation,i=n.$nextEl,r=n.$prevEl,s=e.target;if(t.params.navigation.hideOnClick&&!c2(s).is(r)&&!c2(s).is(i)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===s||t.pagination.el.contains(s)))return;var o;i?o=i.hasClass(t.params.navigation.hiddenClass):r&&(o=r.hasClass(t.params.navigation.hiddenClass)),t.emit(!0===o?"navigationShow":"navigationHide"),i&&i.toggleClass(t.params.navigation.hiddenClass),r&&r.toggleClass(t.params.navigation.hiddenClass)}}}};let c4=(()=>{class t{constructor(){L2.use([l4])}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,y3]]}),t})(),u4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})(),h4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,CK,k_,c4,u4]]}),t})(),d4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Gp,h4]]}),t})(),p4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:_Z,useValue:vZ}],imports:[[Td,By,k_]]}),t})(),f4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,bZ]]}),t})(),g4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,bZ]]}),t})(),m4=(()=>{class t{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(t,e){const n=function(t,e){return e.get(Ol).resolveComponentFactory(t).inputs}(t,e.injector),i=e.strategyFactory||new Kf(t,e.injector),r=function(t){const e={};return t.forEach(({propName:t,templateName:n})=>{e[function(t){return t.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}(n)]=t}),e}(n);class s extends Zf{constructor(t){super(),this.injector=t}get ngElementStrategy(){if(!this._ngElementStrategy){const t=this._ngElementStrategy=i.create(this.injector||e.injector);n.forEach(({propName:e})=>{if(!this.hasOwnProperty(e))return;const n=this[e];delete this[e],t.setInputValue(e,n)})}return this._ngElementStrategy}attributeChangedCallback(t,e,n,i){this.ngElementStrategy.setInputValue(r[t],n)}connectedCallback(){let t=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),t=!0),this.ngElementStrategy.connect(this),t||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(t=>{const e=function(t,e,n){if("function"!=typeof CustomEvent){const i=t.createEvent("CustomEvent");return i.initCustomEvent(e,!1,!1,n),i}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:n})}(this.ownerDocument,t.name,t.value);this.dispatchEvent(e)})}}return s.observedAttributes=Object.keys(r),n.forEach(({propName:t})=>{Object.defineProperty(s.prototype,t,{get(){return this.ngElementStrategy.getInputValue(t)},set(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),s}(Z3,{injector:this.injector});customElements.define("ccf-eui",t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(No))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:PQ,useValue:"hubmap-theme-light"},{provide:Tf,useExisting:kQ}],imports:[[By,Td,X5,p4,e4,s4,k_,Z5,d4,f4,TK,FK,YK,yw,g4,eQ,sw,J5]]}),t})();LQ.production&&function(){if(Bu)throw new Error("Cannot enable prod mode after platform setup.");Fu=!1}(),Ed().bootstrapModule(m4).catch(t=>console.error(t))},91052:function(t){function e(t,e,n,i,r,s,o){try{var a=t[s](o),l=a.value}catch(c){return void n(c)}a.done?e(l):Promise.resolve(l).then(i,r)}t.exports=function(t){return function(){var n=this,i=arguments;return new Promise(function(r,s){var o=t.apply(n,i);function a(t){e(o,r,s,a,l,"next",t)}function l(t){e(o,r,s,a,l,"throw",t)}a(void 0)})}},t.exports.default=t.exports,t.exports.__esModule=!0},61948:function(t){t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.default=t.exports,t.exports.__esModule=!0},34321:function(t){function e(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=e=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=e=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),e(n)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0},91741:function(t){function e(t){return Promise.resolve().then(function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}e.keys=function(){return[]},e.resolve=e,e.id=91741,t.exports=e},88509:function(t,e,n){"use strict";t.exports=n.p+"7693192ac33f7744a3ca.ts"},9521:function(){},49125:function(){},75307:function(){}},function(t){t(t.s=51316)}]); \ No newline at end of file diff --git a/main-es5.js b/main-es5.js index 3e81f695a..301c49af6 100644 --- a/main-es5.js +++ b/main-es5.js @@ -1 +1 @@ -!function(){function e(t,n,i){return(e="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=p(e)););return e}(e,t);if(i){var r=Object.getOwnPropertyDescriptor(i,t);return r.get?r.get.call(n):r.value}})(t,n,i||t)}function t(e,t){return r(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var i,r,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(i=n.next()).done)&&(o.push(i.value),!t||o.length!==t);a=!0);}catch(u){s=!0,r=u}finally{try{a||null==n.return||n.return()}finally{if(s)throw r}}return o}(e,t)||w(e,t)||i()}function n(e){return r(e)||g(e)||w(e)||i()}function i(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function r(e){if(Array.isArray(e))return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&f(e,t)}function s(e){var t=d();return function(){var n,i=p(e);if(t){var r=p(this).constructor;n=Reflect.construct(i,arguments,r)}else n=i.apply(this,arguments);return u(this,n)}}function u(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return c(e)}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function l(e){var t="function"==typeof Map?new Map:void 0;return(l=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return h(e,arguments,p(this).constructor)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),f(i,e)})(e)}function h(e,t,n){return(h=d()?Reflect.construct:function(e,t,n){var i=[null];i.push.apply(i,t);var r=new(Function.bind.apply(e,i));return n&&f(r,n.prototype),r}).apply(null,arguments)}function d(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function f(e,t){return(f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e){return function(e){if(Array.isArray(e))return k(e)}(e)||g(e)||w(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function y(e,t){for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function w(e,t){if(e){if("string"==typeof e)return k(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k(e,t):void 0}}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0?a-4:a;for(n=0;n>16&255,u[l++]=t>>8&255,u[l++]=255&t;return 2===s&&(t=r[e.charCodeAt(n)]<<2|r[e.charCodeAt(n+1)]>>4,u[l++]=255&t),1===s&&(t=r[e.charCodeAt(n)]<<10|r[e.charCodeAt(n+1)]<<4|r[e.charCodeAt(n+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t),u},n.fromByteArray=function(e){for(var t,n=e.length,r=n%3,o=[],a=16383,s=0,u=n-r;su?u:s+a));return 1===r?o.push(i[(t=e[n-1])>>2]+i[t<<4&63]+"=="):2===r&&o.push(i[(t=(e[n-2]<<8)+e[n-1])>>10]+i[t>>4&63]+i[t<<2&63]+"="),o.join("")};for(var i=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e){return i[e>>18&63]+i[e>>12&63]+i[e>>6&63]+i[63&e]}function h(e,t,n){for(var i=[],r=t;r>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"\ufffd";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"\ufffd";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"\ufffd"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function u(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):t}function l(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function f(e){return e&&e.length?this.write(e):""}n.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(r>0&&(e.lastNeed=r-1),r):--i=0?(r>0&&(e.lastNeed=r-2),r):--i=0?(r>0&&(2===r?r=0:e.lastNeed=r-3),r):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var i=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,i),e.toString("utf8",t,i)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},{"safe-buffer":4}],6:[function(e,t,n){(function(t){(function(){"use strict";var t=e("base64-js"),i=e("ieee754");n.Buffer=a,n.SlowBuffer=function(e){return+e!=e&&(e=0),a.alloc(+e)},n.INSPECT_MAX_BYTES=50;var r=2147483647;function o(e){if(e>r)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return t.__proto__=a.prototype,t}function a(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return c(e)}return s(e,t,n)}function s(e,t,n){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!a.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var n=0|d(e,t),i=o(n),r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return l(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(B(e,ArrayBuffer)||e&&B(e.buffer,ArrayBuffer))return function(e,t,n){if(t<0||e.byteLength=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|e}function d(e,t){if(a.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||B(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return L(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(e).length;default:if(r)return i?-1:L(e).length;t=(""+t).toLowerCase(),r=!0}}function f(e,t,n){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0)||(n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,n);case"utf8":case"utf-8":return S(this,t,n);case"ascii":return C(this,t,n);case"latin1":case"binary":return E(this,t,n);case"base64":return x(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function p(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function v(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=a.from(t,i)),a.isBuffer(t))return 0===t.length?-1:g(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):g(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function g(e,t,n,i,r){var o,a=1,s=e.length,u=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(r){var l=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){for(var h=!0,d=0;dr&&(i=r):i=r;var o=t.length;i>o/2&&(i=o/2);for(var a=0;a>8,r.push(n%256),r.push(i);return r}(t,e.length-n),e,n,i)}function x(e,n,i){return t.fromByteArray(0===n&&i===e.length?e:e.slice(n,i))}function S(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r239?4:c>223?3:c>191?2:1;if(r+h<=n)switch(h){case 1:c<128&&(l=c);break;case 2:128==(192&(o=e[r+1]))&&(u=(31&c)<<6|63&o)>127&&(l=u);break;case 3:a=e[r+2],128==(192&(o=e[r+1]))&&128==(192&a)&&(u=(15&c)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:a=e[r+2],s=e[r+3],128==(192&(o=e[r+1]))&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,h=1):l>65535&&(i.push((l-=65536)>>>10&1023|55296),l=56320|1023&l),i.push(l),r+=h}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);for(var n="",i=0;ii)&&(n=i);for(var r="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function A(e,t,n,i,r,o){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function M(e,t,n,i,r,o){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function I(e,t,n,r,o){return t=+t,n>>>=0,o||M(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function R(e,t,n,r,o){return t=+t,n>>>=0,o||M(e,0,n,8),i.write(e,t,n,r,52,8),n+8}n.kMaxLength=r,!(a.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(t){return!1}}())&&"undefined"!=typeof console&&"function"==typeof console.error&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),a.poolSize=8192,a.from=function(e,t,n){return s(e,t,n)},a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,a.alloc=function(e,t,n){return function(e,t,n){return u(e),e<=0?o(e):void 0!==t?"string"==typeof n?o(e).fill(t,n):o(e).fill(t):o(e)}(e,t,n)},a.allocUnsafe=function(e){return c(e)},a.allocUnsafeSlow=function(e){return c(e)},a.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==a.prototype},a.compare=function(e,t){if(B(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),B(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var n=e.length,i=t.length,r=0,o=Math.min(n,i);rt&&(e+=" ... "),""},a.prototype.compare=function(e,t,n,i,r){if(B(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(r>>>=0)-(i>>>=0),s=(n>>>=0)-(t>>>=0),u=Math.min(o,s),c=this.slice(i,r),l=e.slice(t,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return m(this,e,t,n);case"utf8":case"utf-8":return y(this,e,t,n);case"ascii":return b(this,e,t,n);case"latin1":case"binary":return _(this,e,t,n);case"base64":return w(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},a.prototype.slice=function(e,t){var n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e],r=1,o=0;++o>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},a.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e],r=1,o=0;++o=(r*=128)&&(i-=Math.pow(2,8*t)),i},a.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);for(var i=t,r=1,o=this[e+--i];i>0&&(r*=256);)o+=this[e+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*t)),o},a.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return e>>>=0,t||P(e,4,this.length),i.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),i.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||A(this,e,t,n,Math.pow(2,8*n)-1,0);var r=1,o=0;for(this[t]=255&e;++o>>=0,n>>>=0,i||A(this,e,t,n,Math.pow(2,8*n)-1,0);var r=n-1,o=1;for(this[t+r]=255&e;--r>=0&&(o*=256);)this[t+r]=e/o&255;return t+n},a.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,1,255,0),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},a.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},a.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},a.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},a.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,e,t,n,r-1,-r)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+n},a.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,e,t,n,r-1,-r)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},a.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},a.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},a.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},a.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||A(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},a.prototype.writeFloatLE=function(e,t,n){return I(this,e,t,!0,n)},a.prototype.writeFloatBE=function(e,t,n){return I(this,e,t,!1,n)},a.prototype.writeDoubleLE=function(e,t,n){return R(this,e,t,!0,n)},a.prototype.writeDoubleBE=function(e,t,n){return R(this,e,t,!1,n)},a.prototype.copy=function(e,t,n,i){if(!a.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&0!==i&&(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t=0;--o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,i),t);return r},a.prototype.fill=function(e,t,n,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!a.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===e.length){var r=e.charCodeAt(0);("utf8"===i&&r<128||"latin1"===i)&&(e=r)}}else"number"==typeof e&&(e&=255);if(t<0||this.length>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function j(e){return t.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(D,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function F(e,t,n,i){for(var r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function B(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function V(e){return e!=e}}).call(this)}).call(this,e("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(e,t,n){"use strict";t.exports=function e(t){return null===t||"object"!=typeof t||null!=t.toJSON?JSON.stringify(t):Array.isArray(t)?"["+t.reduce(function(t,n,i){return t+(0===i?"":",")+e(void 0===n||"symbol"==typeof n?null:n)},"")+"]":"{"+Object.keys(t).sort().reduce(function(n,i,r){return void 0===t[i]||"symbol"==typeof t[i]?n:n+(0===n.length?"":",")+e(i)+":"+e(t[i])},"")+"}"}},{}],8:[function(e,t,n){"use strict";var i,r="object"==typeof Reflect?Reflect:null,o=r&&"function"==typeof r.apply?r.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};i=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}t.exports=s,t.exports.once=function(e,t){return new Promise(function(n,i){function r(n){e.removeListener(t,o),i(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",r),n([].slice.call(arguments))}m(e,t,o,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&m(e,"error",t,{once:!0})}(e,r)})},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var u=10;function c(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function h(e,t,n,i){var r,o,a;if(c(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),a=o[t]),void 0===a)a=o[t]=n,++e._eventsCount;else if("function"==typeof a?a=o[t]=i?[n,a]:[a,n]:i?a.unshift(n):a.push(n),(r=l(e))>0&&a.length>r&&!a.warned){a.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=a.length,function(e){console&&console.warn&&console.warn(e)}(s)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=d.bind(i);return r.listener=n,i.wrapFn=r,r}function p(e,t,n){var i=e._events;if(void 0===i)return[];var r=i[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var u=r[e];if(void 0===u)return!1;if("function"==typeof u)o(u,this,t);else{var c=u.length,l=g(u,c);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){a=n[o].listener,r=o;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1=0;i--)this.removeListener(e,t[i]);return this},s.prototype.listeners=function(e){return p(this,e,!0)},s.prototype.rawListeners=function(e){return p(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):v.call(e,t)},s.prototype.listenerCount=v,s.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},{}],9:[function(e,t,n){n.read=function(e,t,n,i,r){var o,a,s=8*r-i-1,u=(1<>1,l=-7,h=n?r-1:0,d=n?-1:1,f=e[t+h];for(h+=d,o=f&(1<<-l)-1,f>>=-l,l+=s;l>0;o=256*o+e[t+h],h+=d,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=i;l>0;a=256*a+e[t+h],h+=d,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,i),o-=c}return(f?-1:1)*a*Math.pow(2,o-i)},n.write=function(e,t,n,i,r,o){var a,s,u,c=8*o-r-1,l=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=i?0:o-1,p=i?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+h>=1?d/u:d*Math.pow(2,1-h))*u>=2&&(a++,u/=2),a+h>=l?(s=0,a=l):a+h>=1?(s=(t*u-1)*Math.pow(2,r),a+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,r),a=0));r>=8;e[n+f]=255&s,f+=p,s/=256,r-=8);for(a=a<0;e[n+f]=255&a,f+=p,a/=256,c-=8);e[n+f-p]|=128*v}},{}],10:[function(e,t,n){t.exports="function"==typeof Object.create?function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},{}],11:[function(e,t,n){"use strict";var i=e("./types"),r=i.isArray,o=i.isObject,a=i.isString,s=e("./util").asArray,u=e("./url").prependBase,c=e("./JsonLdError"),l=e("./ResolvedContext");function d(e){throw new c("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:e})}function f(e){var t=e.context,n=e.base;if(t){var i=t["@context"];if(a(i))t["@context"]=u(n,i);else if(r(i))for(var s=0;s10)){e.next=2;break}throw new c("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"loading remote context failed":"context overflow",max:10});case 2:if(!s.has(n)){e.next=4;break}throw new c("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"recursive context inclusion":"context overflow",url:n});case 4:return s.add(n),e.prev=5,e.next=8,i(n);case 8:l=e.sent,u=l.document||null,a(u)&&(u=JSON.parse(u)),e.next=16;break;case 13:throw e.prev=13,e.t0=e.catch(5),new c("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:n,cause:e.t0});case 16:if(o(u)){e.next=18;break}throw new c("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:n});case 18:return e.abrupt("return",(u="@context"in u?{"@context":u["@context"]}:{"@context":{}},l.contextUrl&&(r(u["@context"])||(u["@context"]=[u["@context"]]),u["@context"].push(l.contextUrl)),{context:u,remoteDoc:l}));case 19:case"end":return e.stop()}},e,null,[[5,13]])}))()}}]),e}()},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(e,t,n){"use strict";t.exports=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"An unspecified JSON-LD error occurred.",r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"jsonld.Error",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return m(this,n),(e=t.call(this,i)).name=r,e.message=i,e.details=o,e}return n}(l(Error))},{}],13:[function(e,t,n){"use strict";t.exports=function(e){var t=function(){function e(){m(this,e)}return b(e,[{key:"toString",value:function(){return"[object JsonLdProcessor]"}}]),e}();return Object.defineProperty(t,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(t.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:t}),t.compact=function(t,n){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):e.compact(t,n)},t.expand=function(t){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):e.expand(t)},t.flatten=function(t){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):e.flatten(t)},t}},{}],14:[function(e,t,n){"use strict";t.exports=e("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(e,t,n){"use strict";t.exports=function(){function e(){m(this,e),this._requests={}}return b(e,[{key:"wrapLoader",value:function(e){var t=this;return t._loader=e,function(){return t.add.apply(t,arguments)}}},{key:"add",value:function(e){var t=this;return h(regeneratorRuntime.mark(function n(){var i;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(!(i=t._requests[e])){n.next=3;break}return n.abrupt("return",Promise.resolve(i));case 3:return i=t._requests[e]=t._loader(e),n.prev=4,n.next=7,i;case 7:return n.abrupt("return",n.sent);case 8:return n.prev=8,delete t._requests[e],n.finish(8);case 11:case"end":return n.stop()}},n,null,[[4,,8,11]])}))()}}]),e}()},{}],16:[function(e,t,n){"use strict";var i=e("lru-cache");t.exports=function(){function e(t){var n=t.document;m(this,e),this.document=n,this.cache=new i({max:10})}return b(e,[{key:"getProcessed",value:function(e){return this.cache.get(e)}},{key:"setProcessed",value:function(e,t){this.cache.set(e,t)}}]),e}()},{"lru-cache":33}],17:[function(e,i,r){"use strict";var a,s=e("./JsonLdError"),u=e("./types"),c=u.isArray,l=u.isObject,d=u.isString,f=u.isUndefined,p=e("./graphTypes"),v=p.isList,g=p.isValue,m=p.isGraph,y=p.isSimpleGraph,b=p.isSubjectReference,w=e("./context"),k=w.expandIri,x=w.getContextValue,S=w.isKeyword,C=w.process,E=w.processingMode,O=e("./url"),T=O.removeBase,P=O.prependBase,A=e("./util"),M=A.addValue,I=A.asArray,R=A.compareShortestLeast,D={};function N(e,t,n){if("@nest"!==k(e,t,{vocab:!0},n))throw new s("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}i.exports=D,D.compact=(a=h(regeneratorRuntime.mark(function e(t){var i,r,a,u,h,p,w,k,O,T,P,A,R;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t.activeCtx,r=t.activeProperty,a=void 0===r?null:r,u=t.element,h=t.options,p=void 0===h?{}:h,w=t.compactionMap,k=void 0===w?function(){}:w,!c(u)){e.next=21;break}O=[],T=0;case 4:if(!(T1&&(L=Array.from(L).sort()),j=i,F=_(L),e.prev=27,F.s();case 29:if((B=F.n()).done){e.next=39;break}if(V=B.value,z=D.compactIri({activeCtx:j,iri:V,relativeTo:{vocab:!0}}),U=x(A,z,"@context"),e.t1=f(U),e.t1){e.next=37;break}return e.next=36,C({activeCtx:i,localCtx:U,options:p,propagate:!1});case 36:i=e.sent;case 37:e.next=29;break;case 39:e.next=44;break;case 41:e.prev=41,e.t2=e.catch(27),F.e(e.t2);case 44:return e.prev=44,F.f(),e.finish(44);case 47:H=Object.keys(u).sort(),G=_(H),e.prev=49,G.s();case 51:if((W=G.n()).done){e.next=184;break}if(q=W.value,X=u[q],"@id"===q){e.next=180;break}if("@type"===q){e.next=174;break}if("@reverse"===q){e.next=167;break}if("@preserve"===q){e.next=161;break}if("@index"===q){e.next=155;break}if("@graph"===q||"@list"===q||"@included"===q||!S(q)){e.next=64;break}Y=D.compactIri({activeCtx:i,iri:q,relativeTo:{vocab:!0}}),M(P,Y,X),e.next=153;break;case 64:if(c(X)){e.next=66;break}throw new s("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");case 66:0===X.length&&(K=D.compactIri({activeCtx:i,iri:q,value:X,relativeTo:{vocab:!0},reverse:T}),$=i.mappings.has(K)?i.mappings.get(K)["@nest"]:null,Q=P,$&&(N(i,$,p),l(P[$])||(P[$]={}),Q=P[$]),M(Q,K,X,{propertyIsArray:!0})),Z=_(X),e.prev=68,Z.s();case 70:if((J=Z.n()).done){e.next=145;break}return ee=J.value,te=D.compactIri({activeCtx:i,iri:q,value:ee,relativeTo:{vocab:!0},reverse:T}),ne=i.mappings.has(te)?i.mappings.get(te)["@nest"]:null,ie=P,ne&&(N(i,ne,p),l(P[ne])||(P[ne]={}),ie=P[ne]),re=x(i,te,"@container")||[],oe=m(ee),ae=v(ee),se=void 0,ae?se=ee["@list"]:oe&&(se=ee["@graph"]),e.next=80,D.compact({activeCtx:i,activeProperty:te,element:ae||oe?se:ee,options:p,compactionMap:k});case 80:if(ue=e.sent,!ae){e.next=86;break}if(c(ue)||(ue=[ue]),!re.includes("@list")){e.next=85;break}return M(ie,te,ue,{valueIsArray:!0,allowDuplicate:!0}),e.abrupt("continue",143);case 85:ue=o({},D.compactIri({activeCtx:i,iri:"@list",relativeTo:{vocab:!0}}),ue),"@index"in ee&&(ue[D.compactIri({activeCtx:i,iri:"@index",relativeTo:{vocab:!0}})]=ee["@index"]);case 86:if(!oe){e.next=90;break}re.includes("@graph")&&(re.includes("@id")||re.includes("@index")&&y(ee))?(ce=void 0,ie.hasOwnProperty(te)?ce=ie[te]:ie[te]=ce={},le=(re.includes("@id")?ee["@id"]:ee["@index"])||D.compactIri({activeCtx:i,iri:"@none",relativeTo:{vocab:!0}}),M(ce,le,ue,{propertyIsArray:!p.compactArrays||re.includes("@set")})):re.includes("@graph")&&y(ee)?(c(ue)&&ue.length>1&&(ue={"@included":ue}),M(ie,te,ue,{propertyIsArray:!p.compactArrays||re.includes("@set")})):(c(ue)&&1===ue.length&&p.compactArrays&&(ue=ue[0]),ue=o({},D.compactIri({activeCtx:i,iri:"@graph",relativeTo:{vocab:!0}}),ue),"@id"in ee&&(ue[D.compactIri({activeCtx:i,iri:"@id",relativeTo:{vocab:!0}})]=ee["@id"]),"@index"in ee&&(ue[D.compactIri({activeCtx:i,iri:"@index",relativeTo:{vocab:!0}})]=ee["@index"]),M(ie,te,ue,{propertyIsArray:!p.compactArrays||re.includes("@set")})),e.next=143;break;case 90:if(!(re.includes("@language")||re.includes("@index")||re.includes("@id")||re.includes("@type"))){e.next=141;break}if(he=void 0,de=void 0,ie.hasOwnProperty(te)?he=ie[te]:ie[te]=he={},!re.includes("@language")){e.next=96;break}g(ue)&&(ue=ue["@value"]),de=ee["@language"],e.next=138;break;case 96:if(!re.includes("@index")){e.next=117;break}if(fe=x(i,te,"@index")||"@index",pe=D.compactIri({activeCtx:i,iri:fe,relativeTo:{vocab:!0}}),"@index"!==fe){e.next=102;break}de=ee["@index"],delete ue[pe],e.next=115;break;case 102:if(me=void 0,ve=I(ue[fe]||[]),ge=n(ve),de=ge[0],me=ge.slice(1),!d(de)){e.next=114;break}e.t3=me.length,e.next=0===e.t3?107:1===e.t3?109:111;break;case 107:return delete ue[fe],e.abrupt("break",112);case 109:return ue[fe]=me[0],e.abrupt("break",112);case 111:ue[fe]=me;case 112:e.next=115;break;case 114:de=null;case 115:e.next=138;break;case 117:if(!re.includes("@id")){e.next=122;break}ye=D.compactIri({activeCtx:i,iri:"@id",relativeTo:{vocab:!0}}),de=ue[ye],delete ue[ye],e.next=138;break;case 122:if(!re.includes("@type")){e.next=138;break}be=D.compactIri({activeCtx:i,iri:"@type",relativeTo:{vocab:!0}}),_e=void 0,e.t4=(t=I(ue[be]||[]),r=n(t),de=r[0],(_e=r.slice(1)).length),e.next=0===e.t4?128:1===e.t4?130:132;break;case 128:return delete ue[be],e.abrupt("break",133);case 130:return ue[be]=_e[0],e.abrupt("break",133);case 132:ue[be]=_e;case 133:if(e.t5=1===Object.keys(ue).length&&"@id"in ee,!e.t5){e.next=138;break}return e.next=137,D.compact({activeCtx:i,activeProperty:te,element:{"@id":ee["@id"]},options:p,compactionMap:k});case 137:ue=e.sent;case 138:de||(de=D.compactIri({activeCtx:i,iri:"@none",relativeTo:{vocab:!0}})),M(he,de,ue,{propertyIsArray:re.includes("@set")}),e.next=143;break;case 141:we=!p.compactArrays||re.includes("@set")||re.includes("@list")||c(ue)&&0===ue.length||"@list"===q||"@graph"===q,M(ie,te,ue,{propertyIsArray:we});case 143:e.next=70;break;case 145:e.next=150;break;case 147:e.prev=147,e.t6=e.catch(68),Z.e(e.t6);case 150:return e.prev=150,Z.f(),e.finish(150);case 153:e.next=159;break;case 155:if(!(x(i,a,"@container")||[]).includes("@index")){e.next=157;break}return e.abrupt("continue",182);case 157:ke=D.compactIri({activeCtx:i,iri:q,relativeTo:{vocab:!0}}),M(P,ke,X);case 159:e.next=165;break;case 161:return e.next=163,D.compact({activeCtx:i,activeProperty:a,element:X,options:p,compactionMap:k});case 163:xe=e.sent,c(xe)&&0===xe.length||M(P,q,xe);case 165:e.next=172;break;case 167:return e.next=169,D.compact({activeCtx:i,activeProperty:"@reverse",element:X,options:p,compactionMap:k});case 169:for(Ce in Se=e.sent)i.mappings.has(Ce)&&i.mappings.get(Ce).reverse&&(Ee=Se[Ce],Oe=(x(i,Ce,"@container")||[]).includes("@set")||!p.compactArrays,M(P,Ce,Ee,{propertyIsArray:Oe}),delete Se[Ce]);Object.keys(Se).length>0&&(Te=D.compactIri({activeCtx:i,iri:q,relativeTo:{vocab:!0}}),M(P,Te,Se));case 172:e.next=178;break;case 174:1===(Pe=I(X).map(function(e){return D.compactIri({activeCtx:A,iri:e,relativeTo:{vocab:!0}})})).length&&(Pe=Pe[0]),Ae=D.compactIri({activeCtx:i,iri:"@type",relativeTo:{vocab:!0}}),Me=(x(i,Ae,"@container")||[]).includes("@set")&&E(i,1.1)||c(Pe)&&0===X.length,M(P,Ae,Pe,{propertyIsArray:Me});case 178:e.next=182;break;case 180:1===(Ie=I(X).map(function(e){return D.compactIri({activeCtx:i,iri:e,relativeTo:{vocab:!1},base:p.base})})).length&&(Ie=Ie[0]),P[D.compactIri({activeCtx:i,iri:"@id",relativeTo:{vocab:!0}})]=Ie;case 182:e.next=51;break;case 184:e.next=189;break;case 186:e.prev=186,e.t7=e.catch(49),G.e(e.t7);case 189:return e.prev=189,G.f(),e.finish(189);case 192:return e.abrupt("return",{v:P});case 193:case"end":return e.stop()}},e,null,[[27,41,44,47],[49,186,189,192],[68,147,150,153]])})(),"t3",29);case 29:if("object"!=typeof(R=e.t3)){e.next=32;break}return e.abrupt("return",R.v);case 32:return e.abrupt("return",u);case 33:case"end":return e.stop()}},e)})),function(e){return a.apply(this,arguments)}),D.compactIri=function(e){var n=e.activeCtx,i=e.iri,r=e.value,o=void 0===r?null:r,a=e.relativeTo,u=void 0===a?{vocab:!1}:a,c=e.reverse,h=void 0!==c&&c,d=e.base,f=void 0===d?null:d;if(null===i)return i;n.isPropertyTermScoped&&n.previousContext&&(n=n.previousContext);var p=n.getInverse();if(S(i)&&i in p&&"@none"in p[i]&&"@type"in p[i]["@none"]&&"@none"in p[i]["@none"]["@type"])return p[i]["@none"]["@type"]["@none"];if(u.vocab&&i in p){var y=n["@language"]||"@none",b=[];l(o)&&"@index"in o&&!("@graph"in o)&&b.push("@index","@index@set"),l(o)&&"@preserve"in o&&(o=o["@preserve"][0]),m(o)?("@index"in o&&b.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in o&&b.push("@graph@id","@graph@id@set"),b.push("@graph","@graph@set","@set"),"@index"in o||b.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in o||b.push("@graph@id","@graph@id@set")):l(o)&&!g(o)&&b.push("@id","@id@set","@type","@set@type");var w="@language",k="@null";if(h)w="@type",k="@reverse",b.push("@set");else if(v(o)){"@index"in o||b.push("@list");var x=o["@list"];if(0===x.length)w="@any",k="@none";else{for(var C=0===x.length?y:null,E=null,O=0;O=0;--G){var W,q=V[G],X=_(q.terms);try{for(X.s();!(W=X.n()).done;){var Y=W.value,K=Y+":"+i.substr(q.iri.length);n.mappings.get(Y)._prefix&&(!n.mappings.has(K)||null===o&&n.mappings.get(K)["@id"]===i)&&(null===B||R(K,B)<0)&&(B=K)}}catch(te){X.e(te)}finally{X.f()}}if(null!==B)return B;var $,Q=_(n.mappings);try{for(Q.s();!($=Q.n()).done;){var Z=t($.value,2),J=Z[0],ee=Z[1];if(ee&&ee._prefix&&i.startsWith(J+":"))throw new s('Absolute IRI "'.concat(i,'" confused with prefix "').concat(J,'".'),"jsonld.SyntaxError",{code:"IRI confused with prefix",context:n})}}catch(te){Q.e(te)}finally{Q.f()}return u.vocab?i:"@base"in n?n["@base"]?T(P(f,n["@base"]),i):i:T(f,i)},D.compactValue=function(e){var t=e.activeCtx,n=e.activeProperty,i=e.value,r=e.options;if(g(i)){var a=x(t,n,"@type"),s=x(t,n,"@language"),u=x(t,n,"@direction"),c=x(t,n,"@container")||[],l="@index"in i&&!c.includes("@index");if(!l&&"@none"!==a&&(i["@type"]===a||"@language"in i&&i["@language"]===s&&"@direction"in i&&i["@direction"]===u||"@language"in i&&i["@language"]===s||"@direction"in i&&i["@direction"]===u))return i["@value"];var h=Object.keys(i).length,f=1===h||2===h&&"@index"in i&&!l,p="@language"in t,v=d(i["@value"]),m=t.mappings.has(n)&&null===t.mappings.get(n)["@language"];if(f&&"@none"!==a&&(!p||!v||m))return i["@value"];var y={};return l&&(y[D.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=i["@index"]),"@type"in i?y[D.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}})]=D.compactIri({activeCtx:t,iri:i["@type"],relativeTo:{vocab:!0}}):"@language"in i&&(y[D.compactIri({activeCtx:t,iri:"@language",relativeTo:{vocab:!0}})]=i["@language"]),"@direction"in i&&(y[D.compactIri({activeCtx:t,iri:"@direction",relativeTo:{vocab:!0}})]=i["@direction"]),y[D.compactIri({activeCtx:t,iri:"@value",relativeTo:{vocab:!0}})]=i["@value"],y}var b=k(t,n,{vocab:!0},r),_=x(t,n,"@type"),w=D.compactIri({activeCtx:t,iri:i["@id"],relativeTo:{vocab:"@vocab"===_},base:r.base});return"@id"===_||"@vocab"===_||"@graph"===b?w:o({},D.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}}),w)}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(e,t,n){"use strict";var i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#";t.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:i,RDF_LIST:i+"List",RDF_FIRST:i+"first",RDF_REST:i+"rest",RDF_NIL:i+"nil",RDF_TYPE:i+"type",RDF_PLAIN_LITERAL:i+"PlainLiteral",RDF_XML_LITERAL:i+"XMLLiteral",RDF_JSON_LITERAL:i+"JSON",RDF_OBJECT:i+"object",RDF_LANGSTRING:i+"langString",XSD:r,XSD_BOOLEAN:r+"boolean",XSD_DOUBLE:r+"double",XSD_INTEGER:r+"integer",XSD_STRING:r+"string"}},{}],19:[function(e,n,i){"use strict";var r,o=e("./util"),a=e("./JsonLdError"),s=e("./types"),u=s.isArray,c=s.isObject,l=s.isString,d=s.isUndefined,f=e("./url"),p=f.isAbsolute,g=f.isRelative,m=f.prependBase,y=e("./util"),b=y.asArray,w=y.compareShortestLeast,k=new Map,x=/^@[a-zA-Z]+$/,S={};function C(e,t,n,i,r,o){if(null===t||!l(t)||S.isKeyword(t))return t;if(t.match(x))return null;if(i&&i.hasOwnProperty(t)&&!0!==r.get(t)&&S.createTermDefinition({activeCtx:e,localCtx:i,term:t,defined:r,options:o}),(n=n||{}).vocab){var a=e.mappings.get(t);if(null===a)return null;if(c(a)&&"@id"in a)return a["@id"]}var s=t.indexOf(":");if(s>0){var u=t.substr(0,s),h=t.substr(s+1);if("_"===u||0===h.indexOf("//"))return t;i&&i.hasOwnProperty(u)&&S.createTermDefinition({activeCtx:e,localCtx:i,term:u,defined:r,options:o});var d=e.mappings.get(u);if(d&&d._prefix)return d["@id"]+h;if(p(t))return t}if(n.vocab&&"@vocab"in e)return e["@vocab"]+t;if(n.base&&"@base"in e){if(e["@base"])return m(m(o.base,e["@base"]),t)}else if(n.base)return m(o.base,t);return t}function E(e,t){if(!e||"object"!=typeof e||!t||"object"!=typeof t)return e===t;var n=Array.isArray(e);if(n!==Array.isArray(t))return!1;if(n){if(e.length!==t.length)return!1;for(var i=0;i0,"@reverse"in t){if("@id"in t)throw new a("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:i});if("@nest"in t)throw new a("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:i});var k=t["@reverse"];if(!l(k))throw new a("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});if(!S.isKeyword(k)&&k.match(x))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:k}),void(g?n.mappings.set(r,g):n.mappings.delete(r));var O=C(n,k,{vocab:!0,base:!1},i,o,s);if(!p(O))throw new a("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});y["@id"]=O,y.reverse=!0}else if("@id"in t){var T=t["@id"];if(T&&!l(T))throw new a("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});if(null===T)y["@id"]=null;else{if(!S.isKeyword(T)&&T.match(x))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:T}),void(g?n.mappings.set(r,g):n.mappings.delete(r));if(T!==r){if(T=C(n,T,{vocab:!0,base:!1},i,o,s),!p(T)&&!S.isKeyword(T))throw new a("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});if(r.match(/(?::[^:])|\//)&&C(n,r,{vocab:!0,base:!1},i,new Map(o).set(r,!0),s)!==T)throw new a("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});y["@id"]=T,y._prefix=m&&!y._termHasColon&&T.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in y))if(y._termHasColon){var P=r.substr(0,w);if(i.hasOwnProperty(P)&&S.createTermDefinition({activeCtx:n,localCtx:i,term:P,defined:o,options:s}),n.mappings.has(P)){var A=r.substr(w+1);y["@id"]=n.mappings.get(P)["@id"]+A}else y["@id"]=r}else if("@type"===r)y["@id"]=r;else{if(!("@vocab"in n))throw new a("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i,term:r});y["@id"]=n["@vocab"]+r}if((!0===t["@protected"]||!0===o.get("@protected")&&!1!==t["@protected"])&&(n.protected[r]=!0,y.protected=!0),o.set(r,!0),"@type"in t){var M=t["@type"];if(!l(M))throw new a("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:i});if("@json"===M||"@none"===M){if(S.processingMode(n,1))throw new a('Invalid JSON-LD syntax; an @context @type value must not be "'.concat(M,'" in JSON-LD 1.0 mode.'),"jsonld.SyntaxError",{code:"invalid type mapping",context:i})}else if("@id"!==M&&"@vocab"!==M){if(M=C(n,M,{vocab:!0,base:!1},i,o,s),!p(M))throw new a("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:i});if(0===M.indexOf("_:"))throw new a("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:i})}y["@type"]=M}if("@container"in t){var I=l(t["@container"])?[t["@container"]]:t["@container"]||[],R=["@list","@set","@index","@language"],D=!0,N=I.includes("@set");if(S.processingMode(n,1.1)){if(R.push("@graph","@id","@type"),I.includes("@list")){if(1!==I.length)throw new a("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:i})}else if(I.includes("@graph")){if(I.some(function(e){return"@graph"!==e&&"@id"!==e&&"@index"!==e&&"@set"!==e}))throw new a("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:i})}else D&=I.length<=(N?2:1);if(I.includes("@type")&&(y["@type"]=y["@type"]||"@id",!["@id","@vocab"].includes(y["@type"])))throw new a("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:i})}else D&=!u(t["@container"]),D&=I.length<=1;if(D&=I.every(function(e){return R.includes(e)}),!(D&=!(N&&I.includes("@list"))))throw new a("Invalid JSON-LD syntax; @context @container value must be one of the following: "+R.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:i});if(y.reverse&&!I.every(function(e){return["@index","@set"].includes(e)}))throw new a("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:i});y["@container"]=I}if("@index"in t){if(!("@container"in t)||!y["@container"].includes("@index"))throw new a('Invalid JSON-LD syntax; @index without @index in @container: "'.concat(t["@index"],'" on term "').concat(r,'".'),"jsonld.SyntaxError",{code:"invalid term definition",context:i});if(!l(t["@index"])||0===t["@index"].indexOf("@"))throw new a('Invalid JSON-LD syntax; @index must expand to an IRI: "'.concat(t["@index"],'" on term "').concat(r,'".'),"jsonld.SyntaxError",{code:"invalid term definition",context:i});y["@index"]=t["@index"]}if("@context"in t&&(y["@context"]=t["@context"]),"@language"in t&&!("@type"in t)){var L=t["@language"];if(null!==L&&!l(L))throw new a("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:i});null!==L&&(L=L.toLowerCase()),y["@language"]=L}if("@prefix"in t){if(r.match(/:|\//))throw new a("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:i});if(S.isKeyword(y["@id"]))throw new a("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:i});if("boolean"!=typeof t["@prefix"])throw new a("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:i});y._prefix=!0===t["@prefix"]}if("@direction"in t){var j=t["@direction"];if(null!==j&&"ltr"!==j&&"rtl"!==j)throw new a('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:i});y["@direction"]=j}if("@nest"in t){var F=t["@nest"];if(!l(F)||"@nest"!==F&&0===F.indexOf("@"))throw new a("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:i});y["@nest"]=F}var B=y["@id"];if("@context"===B||"@preserve"===B)throw new a("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:i});if(g&&g.protected&&!d&&(n.protected[r]=!0,y.protected=!0,!E(g,y))){var V=s&&s.protectedMode||"error";if("error"===V)throw new a('Invalid JSON-LD syntax; tried to redefine "'.concat(r,'" which is a protected term.'),"jsonld.SyntaxError",{code:"protected term redefinition",context:i,term:r});if("warn"===V)return void console.warn("WARNING: protected term redefinition",{term:r});throw new a("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:i,term:r,protectedMode:V})}},S.expandIri=function(e,t,n,i){return C(e,t,n,void 0,void 0,i)},S.getInitialContext=function(e){var t=JSON.stringify({processingMode:e.processingMode}),n=k.get(t);if(n)return n;var i={processingMode:e.processingMode,mappings:new Map,inverse:null,getInverse:function(){var e=this;if(e.inverse)return e.inverse;var t,n=e.inverse={},i=e.fastCurieMap={},o={},s=(e["@language"]||"@none").toLowerCase(),u=e["@direction"],c=e.mappings,l=_(v(c.keys()).sort(w));try{for(l.s();!(t=l.n()).done;){var h=t.value,d=c.get(h);if(null!==d){var f=d["@container"]||"@none";if(f=[].concat(f).sort().join(""),null!==d["@id"]){var p,g=_(b(d["@id"]));try{for(g.s();!(p=g.n()).done;){var m=p.value,y=n[m],k=S.isKeyword(m);if(y)!k&&!d._termHasColon&&o[m].push(h);else if(n[m]=y={},!k&&!d._termHasColon){o[m]=[h];var x={iri:m,terms:o[m]};m[0]in i?i[m[0]].push(x):i[m[0]]=[x]}if(y[f]||(y[f]={"@language":{},"@type":{},"@any":{}}),a(h,(y=y[f])["@any"],"@none"),d.reverse)a(h,y["@type"],"@reverse");else if("@none"===d["@type"])a(h,y["@any"],"@none"),a(h,y["@language"],"@none"),a(h,y["@type"],"@none");else if("@type"in d)a(h,y["@type"],d["@type"]);else if("@language"in d&&"@direction"in d){var C=d["@language"],E=d["@direction"];a(h,y["@language"],C&&E?"".concat(C,"_").concat(E).toLowerCase():C?C.toLowerCase():E?"_".concat(E):"@null")}else"@language"in d?a(h,y["@language"],(d["@language"]||"@null").toLowerCase()):"@direction"in d?a(h,y["@language"],d["@direction"]?"_".concat(d["@direction"]):"@none"):u?(a(h,y["@language"],"_".concat(u)),a(h,y["@language"],"@none"),a(h,y["@type"],"@none")):(a(h,y["@language"],s),a(h,y["@language"],"@none"),a(h,y["@type"],"@none"))}}catch(T){g.e(T)}finally{g.f()}}}}}catch(T){l.e(T)}finally{l.f()}for(var O in i)r(i,O,1);return n},clone:function(){var e={};return e.mappings=o.clone(this.mappings),e.clone=this.clone,e.inverse=null,e.getInverse=this.getInverse,e.protected=o.clone(this.protected),this.previousContext&&(e.previousContext=this.previousContext.clone()),e.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(e["@base"]=this["@base"]),"@language"in this&&(e["@language"]=this["@language"]),"@vocab"in this&&(e["@vocab"]=this["@vocab"]),e},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===k.size&&k.clear(),k.set(t,i),i;function r(e,t,n){var i,o,a,s=e[t],u=e[t]={},c=_(s);try{for(c.s();!(a=c.n()).done;){var l=a.value;(o=n>=(i=l.iri).length?"":i[n])in u?u[o].push(l):u[o]=[l]}}catch(d){c.e(d)}finally{c.f()}for(var h in u)""!==h&&r(u,h,n+1)}function a(e,t,n){t.hasOwnProperty(n)||(t[n]=e)}},S.getContextValue=function(e,t,n){if(null===t)return"@context"===n?void 0:null;if(e.mappings.has(t)){var i=e.mappings.get(t);if(d(n))return i;if(i.hasOwnProperty(n))return i[n]}return"@language"===n&&n in e||"@direction"===n&&n in e?e[n]:"@context"!==n?null:void 0},S.processingMode=function(e,t){return t.toString()>="1.1"?!e.processingMode||e.processingMode>="json-ld-"+t.toString():"json-ld-1.0"===e.processingMode},S.isKeyword=function(e){if(!l(e)||"@"!==e[0])return!1;switch(e){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(e,t,n){"use strict";var i=e("../util"),r=i.parseLinkHeader,o=i.buildHeaders,a=e("../constants").LINK_HEADER_CONTEXT,s=e("../JsonLdError"),u=e("../RequestQueue"),c=e("../url").prependBase,l=/(^|(\r\n))link:/i;function d(e,t,n){var i=new(e=e||XMLHttpRequest);return new Promise(function(e,r){for(var o in i.onload=function(){return e(i)},i.onerror=function(e){return r(e)},i.open("GET",t,!0),n)i.setRequestHeader(o,n[o]);i.send()})}t.exports=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{headers:{}},t=e.secure,n=e.headers,i=void 0===n?{}:n,f=e.xhr;return i=o(i),(new u).wrapLoader(p);function p(e){return v.apply(this,arguments)}function v(){return(v=h(regeneratorRuntime.mark(function e(n){var o,u,h,v,g,m,y;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(0===n.indexOf("http:")||0===n.indexOf("https:")){e.next=2;break}throw new s('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:n});case 2:if(!t||0===n.indexOf("https")){e.next=4;break}throw new s('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:n});case 4:return e.prev=4,e.next=7,d(f,n,i);case 7:o=e.sent,e.next=13;break;case 10:throw e.prev=10,e.t0=e.catch(4),new s("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:n,cause:e.t0});case 13:if(!(o.status>=400)){e.next=15;break}throw new s("URL could not be dereferenced: "+o.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:n,httpStatusCode:o.status});case 15:if(u={contextUrl:null,documentUrl:n,document:o.response},h=null,v=o.getResponseHeader("Content-Type"),l.test(o.getAllResponseHeaders())&&(g=o.getResponseHeader("Link")),!g||"application/ld+json"===v){e.next=28;break}if(m=r(g),y=m[a],!Array.isArray(y)){e.next=21;break}throw new s("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:n});case 21:if(y&&(u.contextUrl=y.target),h=m.alternate,e.t1=h&&"application/ld+json"==h.type&&!(v||"").match(/^application\/(\w*\+)?json$/),!e.t1){e.next=28;break}return e.next=27,p(c(n,h.target));case 27:u=e.sent;case 28:return e.abrupt("return",u);case 29:case"end":return e.stop()}},e,null,[[4,10]])}))).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(e,n,i){"use strict";var r=e("./JsonLdError"),o=e("./types"),a=o.isArray,s=o.isObject,u=o.isEmptyObject,c=o.isString,l=o.isUndefined,d=e("./graphTypes"),f=d.isList,p=d.isValue,v=d.isGraph,g=d.isSubject,m=e("./context"),y=m.expandIri,b=m.getContextValue,w=m.isKeyword,k=m.process,x=m.processingMode,S=e("./url").isAbsolute,C=e("./util"),E=C.addValue,O=C.asArray,T=C.getValues,P=C.validateTypeValue,A={};n.exports=A;var M,I=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function R(e){return D.apply(this,arguments)}function D(){return(D=h(regeneratorRuntime.mark(function e(n){var i,o,h,d,v,m,C,T,M,D,N,F,B,V,z,U,H,G,W,q,X,Y,K,$,Q,Z,J,ee,te,ne,ie,re,oe,ae,se,ue,ce,le,he,de,fe,pe,ve,ge,me,ye,be,_e,we,ke,xe,Se,Ce;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:i=n.activeCtx,o=n.activeProperty,h=n.expandedActiveProperty,d=n.element,v=n.expandedParent,m=n.options,C=void 0===m?{}:m,T=n.insideList,M=n.typeKey,D=n.typeScopedContext,N=n.expansionMap,F=Object.keys(d).sort(),B=[],z=d[M]&&"@json"===y(i,a(d[M])?d[M][0]:d[M],{vocab:!0},C),U=_(F),e.prev=4,U.s();case 6:if((H=U.n()).done){e.next=187;break}if(G=H.value,W=void 0,q=d[G],"@context"!==G){e.next=11;break}return e.abrupt("continue",185);case 11:if(null!==(X=y(i,G,{vocab:!0},C))&&(S(X)||w(X))||void 0!==(X=N({unmappedProperty:G,activeCtx:i,activeProperty:o,parent:d,options:C,insideList:T,value:q,expandedParent:v}))){e.next=14;break}return e.abrupt("continue",185);case 14:if(!w(X)){e.next=19;break}if("@reverse"!==h){e.next=17;break}throw new r("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:q});case 17:if(!(X in v)||"@included"===X||"@type"===X){e.next=19;break}throw new r("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:X});case 19:if("@id"!==X){e.next=34;break}if(c(q)){e.next=32;break}if(C.isFrame){e.next=23;break}throw new r('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:q});case 23:if(!s(q)){e.next=28;break}if(u(q)){e.next=26;break}throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});case 26:e.next=32;break;case 28:if(a(q)){e.next=30;break}throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});case 30:if(q.every(function(e){return c(e)})){e.next=32;break}throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});case 32:return E(v,"@id",O(q).map(function(e){return c(e)?y(i,e,{base:!0},C):e}),{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 34:if("@type"!==X){e.next=37;break}return s(q)&&(q=Object.fromEntries(Object.entries(q).map(function(e){var n=t(e,2),i=n[0],r=n[1];return[y(D,i,{vocab:!0}),O(r).map(function(e){return y(D,e,{base:!0,vocab:!0})})]}))),P(q,C.isFrame),E(v,"@type",O(q).map(function(e){return c(e)?y(D,e,{base:!0,vocab:!0},C):e}),{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 37:if("@included"!==X||!x(i,1.1)){e.next=47;break}return e.t0=O,e.next=41,A.expand({activeCtx:i,activeProperty:o,element:q,options:C,expansionMap:N});case 41:if(e.t1=e.sent,(Y=(0,e.t0)(e.t1)).every(function(e){return g(e)})){e.next=45;break}throw new r("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:q});case 45:return E(v,"@included",Y,{propertyIsArray:!0}),e.abrupt("continue",185);case 47:if("@graph"!==X||s(q)||a(q)){e.next=49;break}throw new r('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:q});case 49:if("@value"!==X){e.next=52;break}return V=q,z&&x(i,1.1)?v["@value"]=q:E(v,"@value",q,{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 52:if("@language"!==X){e.next=62;break}if(null!==q){e.next=55;break}return e.abrupt("continue",185);case 55:if(c(q)||C.isFrame){e.next=57;break}throw new r('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:q});case 57:q=O(q).map(function(e){return c(e)?e.toLowerCase():e}),K=_(q);try{for(K.s();!($=K.n()).done;)Q=$.value,c(Q)&&!Q.match(I)&&console.warn("@language must be valid BCP47: ".concat(Q))}catch(Ee){K.e(Ee)}finally{K.f()}return E(v,"@language",q,{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 62:if("@direction"!==X){e.next=85;break}if(c(q)||C.isFrame){e.next=65;break}throw new r('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:q});case 65:q=O(q),Z=_(q),e.prev=67,Z.s();case 69:if((J=Z.n()).done){e.next=75;break}if(ee=J.value,!c(ee)||"ltr"===ee||"rtl"===ee){e.next=73;break}throw new r('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:q});case 73:e.next=69;break;case 75:e.next=80;break;case 77:e.prev=77,e.t2=e.catch(67),Z.e(e.t2);case 80:return e.prev=80,Z.f(),e.finish(80);case 83:return E(v,"@direction",q,{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 85:if("@index"!==X){e.next=90;break}if(c(q)){e.next=88;break}throw new r('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:q});case 88:return E(v,"@index",q),e.abrupt("continue",185);case 90:if("@reverse"!==X){e.next=118;break}if(s(q)){e.next=93;break}throw new r('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:q});case 93:return e.next=95,A.expand({activeCtx:i,activeProperty:"@reverse",element:q,options:C,expansionMap:N});case 95:if(!("@reverse"in(W=e.sent))){e.next=98;break}for(te in W["@reverse"])E(v,te,W["@reverse"][te],{propertyIsArray:!0});case 98:ne=v["@reverse"]||null,e.t3=regeneratorRuntime.keys(W);case 100:if((e.t4=e.t3()).done){e.next=117;break}if("@reverse"!==(ie=e.t4.value)){e.next=104;break}return e.abrupt("continue",100);case 104:null===ne&&(ne=v["@reverse"]={}),E(ne,ie,[],{propertyIsArray:!0}),re=W[ie],oe=0;case 107:if(!(oe1?$.slice().sort():$:[$],Z=_(Q),e.prev=81,Z.s();case 83:if((J=Z.n()).done){e.next=93;break}if(ee=J.value,te=b(C,ee,"@context"),e.t5=l(te),e.t5){e.next=91;break}return e.next=90,k({activeCtx:n,localCtx:te,options:f,propagate:!1});case 90:n=e.sent;case 91:e.next=83;break;case 93:e.next=98;break;case 95:e.prev=95,e.t6=e.catch(81),Z.e(e.t6);case 98:return e.prev=98,Z.f(),e.finish(98);case 101:e.next=75;break;case 103:e.next=108;break;case 105:e.prev=105,e.t7=e.catch(73),X.e(e.t7);case 108:return e.prev=108,X.f(),e.finish(108);case 111:return ne={},e.next=114,R({activeCtx:n,activeProperty:o,expandedActiveProperty:F,element:h,expandedParent:ne,options:f,insideList:v,typeKey:q,typeScopedContext:C,expansionMap:P});case 114:if(V=Object.keys(ne),ie=V.length,!("@value"in ne)){e.next=137;break}if(!("@type"in ne)||!("@language"in ne)&&!("@direction"in ne)){e.next=119;break}throw new r('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ne});case 119:if(re=ie-1,"@type"in ne&&(re-=1),"@index"in ne&&(re-=1),"@language"in ne&&(re-=1),"@direction"in ne&&(re-=1),0===re){e.next=122;break}throw new r('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ne});case 122:if(oe=null===ne["@value"]?[]:O(ne["@value"]),ae=T(ne,"@type"),x(n,1.1)&&ae.includes("@json")&&1===ae.length){e.next=135;break}if(0!==oe.length){e.next=131;break}return e.next=127,P({unmappedValue:ne,activeCtx:n,activeProperty:o,element:h,options:f,insideList:v});case 127:se=e.sent,ne=void 0!==se?se:null,e.next=135;break;case 131:if(oe.every(function(e){return c(e)||u(e)})||!("@language"in ne)){e.next=133;break}throw new r("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:ne});case 133:if(ae.every(function(e){return S(e)&&!(c(e)&&0===e.indexOf("_:"))||u(e)})){e.next=135;break}throw new r('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:ne});case 135:e.next=152;break;case 137:if(!("@type"in ne)||a(ne["@type"])){e.next=141;break}ne["@type"]=[ne["@type"]],e.next=152;break;case 141:if(!("@set"in ne)&&!("@list"in ne)){e.next=147;break}if(!(ie>1)||2===ie&&"@index"in ne){e.next=144;break}throw new r('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:ne});case 144:"@set"in ne&&(ne=ne["@set"],V=Object.keys(ne),ie=V.length),e.next=152;break;case 147:if(1!==ie||!("@language"in ne)){e.next=152;break}return e.next=150,P(ne,{unmappedValue:ne,activeCtx:n,activeProperty:o,element:h,options:f,insideList:v});case 150:ue=e.sent,ne=void 0!==ue?ue:null;case 152:if(!s(ne)||f.keepFreeFloatingNodes||v||null!==o&&"@graph"!==F||!(0===ie||"@value"in ne||"@list"in ne||1===ie&&"@id"in ne)){e.next=157;break}return e.next=155,P({unmappedValue:ne,activeCtx:n,activeProperty:o,element:h,options:f,insideList:v});case 155:ce=e.sent,ne=void 0!==ce?ce:null;case 157:return e.abrupt("return",ne);case 158:case"end":return e.stop()}},e,null,[[38,53,56,59],[73,105,108,111],[81,95,98,101]])})),function(e){return M.apply(this,arguments)})},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(e,t,n){"use strict";var i=e("./graphTypes").isSubjectReference,r=e("./nodeMap").createMergedNodeMap,o={};t.exports=o,o.flatten=function(e){for(var t=r(e),n=[],o=Object.keys(t).sort(),a=0;a=0;--i){var r=n[i];if(r.graph===t&&r.subject["@id"]===e["@id"])return!0}return!1}function g(e,t,n){var i="@"+n,r=i in e?e[i][0]:t[n];if("embed"===n)if(!0===r)r="@once";else if(!1===r)r="@never";else if("@always"!==r&&"@never"!==r&&"@link"!==r&&"@first"!==r&&"@last"!==r&&"@once"!==r)throw new c("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:e});return r}function m(e){if(!a.isArray(e)||1!==e.length||!a.isObject(e[0]))throw new c("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:e});if("@id"in e[0]){var t,n=_(s.asArray(e[0]["@id"]));try{for(n.s();!(t=n.n()).done;){var i=t.value;if(!a.isObject(i)&&!u.isAbsolute(i)||a.isString(i)&&0===i.indexOf("_:"))throw new c("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:e})}}catch(h){n.e(h)}finally{n.f()}}if("@type"in e[0]){var r,o=_(s.asArray(e[0]["@type"]));try{for(o.s();!(r=o.n()).done;){var l=r.value;if(!a.isObject(l)&&!u.isAbsolute(l)||a.isString(l)&&0===l.indexOf("_:"))throw new c("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:e})}}catch(h){o.e(h)}finally{o.f()}}}function y(e,t,n,o){var u=!0,c=!1;for(var l in n){var h=!1,d=s.getValues(t,l),f=0===s.getValues(n,l).length;if("@id"===l){if(a.isEmptyObject(n["@id"][0]||{})?h=!0:n["@id"].length>=0&&(h=n["@id"].includes(d[0])),!o.requireAll)return h}else if("@type"===l){if(u=!1,f){if(d.length>0)return!1;h=!0}else if(1===n["@type"].length&&a.isEmptyObject(n["@type"][0]))h=d.length>0;else{var p,v=_(n["@type"]);try{var g=function(){var e=p.value;h=!(!a.isObject(e)||!("@default"in e))||h||d.some(function(t){return t===e})};for(v.s();!(p=v.n()).done;)g()}catch(b){v.e(b)}finally{v.f()}}if(!o.requireAll)return h}else{if(i(l))continue;var y=function(){var t=s.getValues(n,l)[0],i=!1;if(t&&(m([t]),i="@default"in t),u=!1,0===d.length&&i)return"continue";if(d.length>0&&f)return{v:!1};if(void 0===t){if(d.length>0)return{v:!1};h=!0}else if(r.isList(t)){var c=t["@list"][0];if(r.isList(d[0])){var p=d[0]["@list"];r.isValue(c)?h=p.some(function(e){return S(c,e)}):(r.isSubject(c)||r.isSubjectReference(c))&&(h=p.some(function(t){return x(e,c,t,o)}))}}else h=r.isValue(t)?d.some(function(e){return S(t,e)}):r.isSubjectReference(t)?d.some(function(n){return x(e,t,n,o)}):!!a.isObject(t)&&d.length>0}();if("continue"===y)continue;if("object"==typeof y)return y.v}if(!h&&o.requireAll)return!1;c=c||h}return u||c}function b(e,t){var n=e.uniqueEmbeds[e.graph],i=n[t],r=i.parent,o=i.property,u={"@id":t};if(a.isArray(r)){for(var c=0;c4&&void 0!==arguments[4]?arguments[4]:null;m(n);var h=e.options,d={embed:g(n=n[0],h,"embed"),explicit:g(n,h,"explicit"),requireAll:g(n,h,"requireAll")};e.link.hasOwnProperty(e.graph)||(e.link[e.graph]={});var w,x=e.link[e.graph],C=function(e,t,n,i){var r,o={},a=_(t);try{for(a.s();!(r=a.n()).done;){var s=r.value,u=e.graphMap[e.graph][s];y(e,u,n,i)&&(o[s]=u)}}catch(c){a.e(c)}finally{a.f()}return o}(e,t,n,d),E=Object.keys(C).sort(),O=_(E);try{var T=function(){var m=w.value,y=C[m];if(null===l?e.uniqueEmbeds=o({},e.graph,{}):e.uniqueEmbeds[e.graph]=e.uniqueEmbeds[e.graph]||{},"@link"===d.embed&&m in x)return k(u,l,x[m]),"continue";var E={"@id":m};if(0===m.indexOf("_:")&&s.addValue(e.bnodeMap,m,E,{propertyIsArray:!0}),x[m]=E,("@first"===d.embed||"@last"===d.embed)&&e.is11)throw new c("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:n});if(e.embedded||!e.uniqueEmbeds[e.graph].hasOwnProperty(m)){if(e.embedded&&("@never"===d.embed||v(y,e.graph,e.subjectStack)))return k(u,l,E),"continue";if(e.embedded&&("@first"==d.embed||"@once"==d.embed)&&e.uniqueEmbeds[e.graph].hasOwnProperty(m))return k(u,l,E),"continue";if("@last"===d.embed&&m in e.uniqueEmbeds[e.graph]&&b(e,m),e.uniqueEmbeds[e.graph][m]={parent:u,property:l},e.subjectStack.push({subject:y,graph:e.graph}),m in e.graphMap){var O=!1,T=null;"@graph"in n?(T=n["@graph"][0],O=!("@merged"===m||"@default"===m),a.isObject(T)||(T={})):(O="@merged"!==e.graph,T={}),O&&f.frame(I(M({},e),{graph:m,embedded:!1}),Object.keys(e.graphMap[m]).sort(),[T],E,"@graph")}"@included"in n&&f.frame(I(M({},e),{embedded:!1}),t,n["@included"],E,"@included");var P,A=_(Object.keys(y).sort());try{for(A.s();!(P=A.n()).done;){var R=P.value;if(i(R)){if(E[R]=s.clone(y[R]),"@type"===R){var D,N=_(y["@type"]);try{for(N.s();!(D=N.n()).done;){var L=D.value;0===L.indexOf("_:")&&s.addValue(e.bnodeMap,L,E,{propertyIsArray:!0})}}catch(re){N.e(re)}finally{N.f()}}}else if(!d.explicit||R in n){var j,F=_(y[R]);try{for(F.s();!(j=F.n()).done;){var B=j.value,V=R in n?n[R]:p(d);if(r.isList(B)){var z=n[R]&&n[R][0]&&n[R][0]["@list"]?n[R][0]["@list"]:p(d),U={"@list":[]};k(E,R,U);var H,G=_(B["@list"]);try{for(G.s();!(H=G.n()).done;){var W=H.value;r.isSubjectReference(W)?f.frame(I(M({},e),{embedded:!0}),[W["@id"]],z,U,"@list"):k(U,"@list",s.clone(W))}}catch(re){G.e(re)}finally{G.f()}}else r.isSubjectReference(B)?f.frame(I(M({},e),{embedded:!0}),[B["@id"]],V,E,R):S(V[0],B)&&k(E,R,s.clone(B))}}catch(re){F.e(re)}finally{F.f()}}}}catch(re){A.e(re)}finally{A.f()}var q,X=_(Object.keys(n).sort());try{for(X.s();!(q=X.n()).done;){var Y=q.value;if("@type"===Y){if(!a.isObject(n[Y][0])||!("@default"in n[Y][0]))continue}else if(i(Y))continue;var K=n[Y][0]||{};if(!g(K,h,"omitDefault")&&!(Y in E)){var $="@null";"@default"in K&&($=s.clone(K["@default"])),a.isArray($)||($=[$]),E[Y]=[{"@preserve":$}]}}}catch(re){X.e(re)}finally{X.f()}var Q,Z=_(Object.keys(n["@reverse"]||{}).sort());try{for(Z.s();!(Q=Z.n()).done;)for(var J=Q.value,ee=n["@reverse"][J],te=0,ne=Object.keys(e.subjects);te0&&(r["@language"]=l,l.match(k)||console.warn("@language must be valid BCP47: ".concat(l))),r["@direction"]=h}else a!==w&&(r["@type"]=a)}return r}n.exports=x,x.fromRDF=(r=h(regeneratorRuntime.mark(function e(t,n){var i,r,o,c,h,g,m,y,b,w,k,x,C,E,O,T,P,A,M,I,R,D,N,L,j,F,B,V,z,U,H,G,W,q,X,Y,K,$,Q,Z,J,ee,te,ne,ie,re,oe,ae,se;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:i=n.useRdfType,r=void 0!==i&&i,o=n.useNativeTypes,c=void 0!==o&&o,h=n.rdfDirection,g=void 0===h?null:h,y={"@default":m={}},b={},w=_(t),e.prev=3,w.s();case 5:if((k=w.n()).done){e.next=19;break}if(x=k.value,(C="DefaultGraph"===x.graph.termType?"@default":x.graph.value)in y||(y[C]={}),"@default"!==C&&!(C in m)&&(m[C]={"@id":C}),E=y[C],O=x.subject.value,T=x.predicate.value,P=x.object,O in E||(E[O]={"@id":O}),A=E[O],(M=P.termType.endsWith("Node"))&&!(P.value in E)&&(E[P.value]={"@id":P.value}),T!==v||r||!M){e.next=15;break}return u.addValue(A,"@type",P.value,{propertyIsArray:!0}),e.abrupt("continue",17);case 15:I=S(P,c,g),u.addValue(A,T,I,{propertyIsArray:!0}),M&&(P.value===p?("usages"in(R=E[P.value])||(R.usages=[]),R.usages.push({node:A,property:T,value:I})):b[P.value]=!(P.value in b)&&{node:A,property:T,value:I});case 17:e.next=5;break;case 19:e.next=24;break;case 21:e.prev=21,e.t0=e.catch(3),w.e(e.t0);case 24:return e.prev=24,w.f(),e.finish(24);case 27:e.t1=regeneratorRuntime.keys(y);case 28:if((e.t2=e.t1()).done){e.next=37;break}if(D=e.t2.value,N=y[D],p in N){e.next=33;break}return e.abrupt("continue",28);case 33:if((L=N[p]).usages){j=_(L.usages);try{for(j.s();!(F=j.n()).done;){for(B=F.value,V=B.node,z=B.property,U=B.value,H=[],G=[],W=Object.keys(V).length;z===f&&s.isObject(b[V["@id"]])&&s.isArray(V[d])&&1===V[d].length&&s.isArray(V[f])&&1===V[f].length&&(3===W||4===W&&s.isArray(V["@type"])&&1===V["@type"].length&&V["@type"][0]===l)&&(H.push(V[d][0]),G.push(V["@id"]),B=b[V["@id"]],V=B.node,z=B.property,U=B.value,W=Object.keys(V).length,a.isBlankNode(V)););for(delete U["@id"],U["@list"]=H.reverse(),q=0,X=G;q1||!("@id"in e))},r.isSubjectReference=function(e){return i.isObject(e)&&1===Object.keys(e).length&&"@id"in e},r.isValue=function(e){return i.isObject(e)&&"@value"in e},r.isList=function(e){return i.isObject(e)&&"@list"in e},r.isGraph=function(e){return i.isObject(e)&&"@graph"in e&&1===Object.keys(e).filter(function(e){return"@id"!==e&&"@index"!==e}).length},r.isSimpleGraph=function(e){return r.isGraph(e)&&!("@id"in e)},r.isBlankNode=function(e){return!!i.isObject(e)&&("@id"in e?0===e["@id"].indexOf("_:"):0===Object.keys(e).length||!("@value"in e||"@set"in e||"@list"in e))}},{"./types":30}],26:[function(e,t,n){var i=e("rdf-canonize"),r=e("./platform"),o=e("./util"),a=e("./ContextResolver"),s=o.IdentifierIssuer,u=e("./JsonLdError"),c=e("lru-cache"),l=e("./NQuads"),d=e("./expand").expand,f=e("./flatten").flatten,p=e("./fromRdf").fromRDF,v=e("./toRdf").toRDF,g=e("./frame"),m=g.frameMergedOrDefault,y=g.cleanupNull,b=e("./types"),w=b.isArray,k=b.isObject,x=b.isString,S=e("./graphTypes").isSubjectReference,C=e("./context"),P=C.expandIri,A=C.getInitialContext,I=C.process,R=C.processingMode,D=e("./compact"),N=D.compact,L=D.compactIri,j=e("./nodeMap"),F=j.createNodeMap,B=j.createMergedNodeMap,V=j.mergeNodeMaps,z=function(t){var n,g={},b=new c({max:100});function C(e,n){var i=n,r=i.documentLoader,o=void 0===r?t.documentLoader:r,a=function(e,t){var n={};for(var i in e)O.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&E){var r,o=_(E(e));try{for(o.s();!(r=o.n()).done;)i=r.value,t.indexOf(i)<0&&T.call(e,i)&&(n[i]=e[i])}catch(a){o.e(a)}finally{o.f()}}return n}(i,["documentLoader"]);return Object.assign({},{documentLoader:o},a,e)}return t.compact=(n=h(regeneratorRuntime.mark(function e(n,i,r){var c,l,h,d,f,p,v,g,m,y,_=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(_.length<2)){e.next=2;break}throw new TypeError("Could not compact, too few arguments.");case 2:if(null!==i){e.next=4;break}throw new u("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});case 4:if(null!==n){e.next=6;break}return e.abrupt("return",null);case 6:if((r=C(r,{base:x(n)?n:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new s("_:b"),contextResolver:new a({sharedCache:b})})).link&&(r.skipExpansion=!0),r.compactToRelative||delete r.base,!r.skipExpansion){e.next=12;break}e.t0=n,e.next=15;break;case 12:return e.next=14,t.expand(n,r);case 14:e.t0=e.sent;case 15:return c=e.t0,e.next=18,t.processContext(A(r),i,r);case 18:return l=e.sent,e.next=21,N({activeCtx:l,element:c,options:r,compactionMap:r.compactionMap});case 21:h=e.sent,r.compactArrays&&!r.graph&&w(h)?1===h.length?h=h[0]:0===h.length&&(h={}):r.graph&&k(h)&&(h=[h]),k(i)&&"@context"in i&&(i=i["@context"]),i=o.clone(i),w(i)||(i=[i]),d=i,i=[];for(f=0;f0)&&i.push(d[f]);if(p=i.length>0,1===i.length&&(i=i[0]),w(h))v=L({activeCtx:l,iri:"@graph",relativeTo:{vocab:!0}}),g=h,h={},p&&(h["@context"]=i),h[v]=g;else if(k(h)&&p)for(y in m=h,h={"@context":i},m)h[y]=m[y];return e.abrupt("return",h);case 29:case"end":return e.stop()}},e)})),function(e,t,i){return n.apply(this,arguments)}),t.expand=function(){var e=h(regeneratorRuntime.mark(function e(n,i){var r,s,u,c,l,h,f,p,v,g,m=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(m.length<1)){e.next=2;break}throw new TypeError("Could not expand, too few arguments.");case 2:if(!1===(i=C(i,{keepFreeFloatingNodes:!1,contextResolver:new a({sharedCache:b})})).expansionMap&&(i.expansionMap=void 0),r={},s=[],"expandContext"in i&&(u=o.clone(i.expandContext),r.expandContext=k(u)&&"@context"in u?u:{"@context":u},s.push(r.expandContext)),!x(n)){e.next=12;break}return e.next=8,t.get(n,i);case 8:l=e.sent,c=l.documentUrl,r.input=l.document,l.contextUrl&&(r.remoteContext={"@context":l.contextUrl},s.push(r.remoteContext)),e.next=13;break;case 12:r.input=o.clone(n);case 13:"base"in i||(i.base=c||""),h=A(i),f=0,p=s;case 16:if(!(f=1e21)},i.isEmptyObject=function(e){return i.isObject(e)&&0===Object.keys(e).length},i.isNumber=function(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)},i.isNumeric=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},i.isObject=function(e){return"[object Object]"===Object.prototype.toString.call(e)},i.isString=function(e){return"string"==typeof e||"[object String]"===Object.prototype.toString.call(e)},i.isUndefined=function(e){return void 0===e}},{}],31:[function(e,t,n){"use strict";var i=e("./types"),r={};t.exports=r,r.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},r.parse=function(e,t){for(var n={},i=r.parsers[t||"full"],o=i.regex.exec(e),a=i.keys.length;a--;)n[i.keys[a]]=void 0===o[a]?null:o[a];return("https"===n.scheme&&"443"===n.port||"http"===n.scheme&&"80"===n.port)&&(n.href=n.href.replace(":"+n.port,""),n.authority=n.authority.replace(":"+n.port,""),n.port=null),n.normalizedPath=r.removeDotSegments(n.path),n},r.prependBase=function(e,t){if(null===e||r.isAbsolute(t))return t;(!e||i.isString(e))&&(e=r.parse(e||""));var n=r.parse(t),o={protocol:e.protocol||""};if(null!==n.authority)o.authority=n.authority,o.path=n.path,o.query=n.query;else if(o.authority=e.authority,""===n.path)o.path=e.path,o.query=null!==n.query?n.query:e.query;else{if(0===n.path.indexOf("/"))o.path=n.path;else{var a=e.path;((a=a.substr(0,a.lastIndexOf("/")+1)).length>0||e.authority)&&"/"!==a.substr(-1)&&(a+="/"),a+=n.path,o.path=a}o.query=n.query}""!==n.path&&(o.path=r.removeDotSegments(o.path));var s=o.protocol;return null!==o.authority&&(s+="//"+o.authority),s+=o.path,null!==o.query&&(s+="?"+o.query),null!==n.fragment&&(s+="#"+n.fragment),""===s&&(s="./"),s},r.removeBase=function(e,t){if(null===e)return t;(!e||i.isString(e))&&(e=r.parse(e||""));var n="";if(""!==e.href?n+=(e.protocol||"")+"//"+(e.authority||""):t.indexOf("//")&&(n+="//"),0!==t.indexOf(n))return t;for(var o=r.parse(t.substr(n.length)),a=e.normalizedPath.split("/"),s=o.normalizedPath.split("/"),u=o.fragment||o.query?0:1;a.length>0&&s.length>u&&a[0]===s[0];)a.shift(),s.shift();var c="";if(a.length>0){a.pop();for(var l=0;l0;){var i=t.shift(),r=0===t.length;"."!==i?".."!==i?n.push(i):(n.pop(),r&&n.push("")):r&&n.push("")}return"/"===e[0]&&n.length>0&&""!==n[0]&&n.unshift(""),1===n.length&&""===n[0]?"/":n.join("/")};var o=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;r.isAbsolute=function(e){return i.isString(e)&&o.test(e)},r.isRelative=function(e){return i.isString(e)}},{"./types":30}],32:[function(e,n,i){"use strict";var r=e("./graphTypes"),o=e("./types"),a=e("rdf-canonize").IdentifierIssuer,s=e("./JsonLdError"),u=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,c=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,l=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,h="application/ld+json, application/json",d={};function f(e,t){if(o.isArray(t))for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};if(Object.keys(e).some(function(e){return"accept"===e.toLowerCase()}))throw new RangeError('Accept header may not be specified; only "'+h+'" is supported.');return Object.assign({Accept:h},e)},d.parseLinkHeader=function(e){for(var t={},n=e.match(u),i=0;i0}return!1},d.hasValue=function(e,t,n){if(d.hasProperty(e,t)){var i=e[t],a=r.isList(i);if(o.isArray(i)||a){a&&(i=i["@list"]);for(var s=0;st.maxAge:e[u]&&n>e[u]},y=function(e){if(e[o]>e[r])for(var t=e[h].tail;e[o]>e[r]&&null!==t;){var n=t.prev;_(e,t),t=n}},_=function(e,t){if(t){var n=t.value;e[c]&&e[c](n.key,n.value),e[o]-=n.length,e[d].delete(n.key),e[h].removeNode(t)}},w=function e(t,n,i,r,o){m(this,e),this.key=t,this.value=n,this.length=i,this.now=r,this.maxAge=o||0},k=function(e,t,n,i){var r=n.value;g(e,r)&&(_(e,n),e[s]||(r=void 0)),r&&t.call(i,r.value,r.key,e)};t.exports=function(){function e(t){if(m(this,e),"number"==typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!=typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[r]=t.max||1/0;var n=t.length||p;if(this[a]="function"!=typeof n?p:n,this[s]=t.stale||!1,t.maxAge&&"number"!=typeof t.maxAge)throw new TypeError("maxAge must be a number");this[u]=t.maxAge||0,this[c]=t.dispose,this[l]=t.noDisposeOnSet||!1,this[f]=t.updateAgeOnGet||!1,this.reset()}return b(e,[{key:"max",get:function(){return this[r]},set:function(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[r]=e||1/0,y(this)}},{key:"allowStale",get:function(){return this[s]},set:function(e){this[s]=!!e}},{key:"maxAge",get:function(){return this[u]},set:function(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[u]=e,y(this)}},{key:"lengthCalculator",get:function(){return this[a]},set:function(e){var t=this;"function"!=typeof e&&(e=p),e!==this[a]&&(this[a]=e,this[o]=0,this[h].forEach(function(e){e.length=t[a](e.value,e.key),t[o]+=e.length})),y(this)}},{key:"length",get:function(){return this[o]}},{key:"itemCount",get:function(){return this[h].length}},{key:"rforEach",value:function(e,t){t=t||this;for(var n=this[h].tail;null!==n;){var i=n.prev;k(this,e,n,t),n=i}}},{key:"forEach",value:function(e,t){t=t||this;for(var n=this[h].head;null!==n;){var i=n.next;k(this,e,n,t),n=i}}},{key:"keys",value:function(){return this[h].toArray().map(function(e){return e.key})}},{key:"values",value:function(){return this[h].toArray().map(function(e){return e.value})}},{key:"reset",value:function(){var e=this;this[c]&&this[h]&&this[h].length&&this[h].forEach(function(t){return e[c](t.key,t.value)}),this[d]=new Map,this[h]=new i,this[o]=0}},{key:"dump",value:function(){var e=this;return this[h].map(function(t){return!g(e,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}}).toArray().filter(function(e){return e})}},{key:"dumpLru",value:function(){return this[h]}},{key:"set",value:function(e,t,n){if((n=n||this[u])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");var i=n?Date.now():0,s=this[a](t,e);if(this[d].has(e)){if(s>this[r])return _(this,this[d].get(e)),!1;var f=this[d].get(e).value;return this[c]&&(this[l]||this[c](e,f.value)),f.now=i,f.maxAge=n,f.value=t,this[o]+=s-f.length,f.length=s,this.get(e),y(this),!0}var p=new w(e,t,s,i,n);return p.length>this[r]?(this[c]&&this[c](e,t),!1):(this[o]+=p.length,this[h].unshift(p),this[d].set(e,this[h].head),y(this),!0)}},{key:"has",value:function(e){if(!this[d].has(e))return!1;var t=this[d].get(e).value;return!g(this,t)}},{key:"get",value:function(e){return v(this,e,!0)}},{key:"peek",value:function(e){return v(this,e,!1)}},{key:"pop",value:function(){var e=this[h].tail;return e?(_(this,e),e.value):null}},{key:"del",value:function(e){_(this,this[d].get(e))}},{key:"load",value:function(e){this.reset();for(var t=Date.now(),n=e.length-1;n>=0;n--){var i=e[n],r=i.e||0;if(0===r)this.set(i.k,i.v);else{var o=r-t;o>0&&this.set(i.k,i.v,o)}}}},{key:"prune",value:function(){var e=this;this[d].forEach(function(t,n){return v(e,n,!1)})}}]),e}()},{yallist:92}],34:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#",o="http://www.w3.org/2000/10/swap/";n.default={xsd:{decimal:"".concat(r,"decimal"),boolean:"".concat(r,"boolean"),double:"".concat(r,"double"),integer:"".concat(r,"integer"),string:"".concat(r,"string")},rdf:{type:"".concat(i,"type"),nil:"".concat(i,"nil"),first:"".concat(i,"first"),rest:"".concat(i,"rest"),langString:"".concat(i,"langString")},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:"".concat(o,"reify#forSome"),forAll:"".concat(o,"reify#forAll")},log:{implies:"".concat(o,"log#implies")}}},{}],35:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=n.Variable=n.Triple=n.Term=n.Quad=n.NamedNode=n.Literal=n.DefaultGraph=n.BlankNode=void 0,n.escapeQuotes=O,n.termFromId=function e(t,n){if(n=n||y,!t)return n.defaultGraph();switch(t[0]){case"?":return n.variable(t.substr(1));case"_":return n.blankNode(t.substr(2));case'"':if(n===y)return new k(t);if('"'===t[t.length-1])return n.literal(t.substr(1,t.length-2));var i=t.lastIndexOf('"',t.length-1);return n.literal(t.substr(1,i-1),"@"===t[i+1]?t.substr(i+2):n.namedNode(t.substr(i+3)));case"<":var r=g.exec(t);return n.quad(e(T(r[1]),n),e(T(r[2]),n),e(T(r[3]),n),r[4]&&e(T(r[4]),n));default:return n.namedNode(t)}},n.termToId=function e(t){if("string"==typeof t)return t;if(t instanceof _&&"Quad"!==t.termType)return t.id;if(!t)return r.id;switch(t.termType){case"NamedNode":return t.value;case"BlankNode":return"_:".concat(t.value);case"Variable":return"?".concat(t.value);case"DefaultGraph":return"";case"Literal":return'"'.concat(t.value,'"').concat(t.language?"@".concat(t.language):t.datatype&&t.datatype.value!==f.string?"^^".concat(t.datatype.value):"");case"Quad":return"<<".concat(O(e(t.subject))," ").concat(O(e(t.predicate))," ").concat(O(e(t.object))).concat((0,l.isDefaultGraph)(t.graph)?"":" ".concat(e(t.graph)),">>");default:throw new Error("Unexpected termType: ".concat(t.termType))}},n.unescapeQuotes=T;var i,r,o=(i=e("./IRIs"))&&i.__esModule?i:{default:i},l=e("./N3Util"),h=o.default,d=h.rdf,f=h.xsd,p=0,v=/^"(.*".*)(?="[^"]*$)/,g=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,y={namedNode:function(e){return new w(e)},blankNode:function(e){return new x(e||"n3-"+p++)},variable:function(e){return new S(e)},literal:function(e,t){if("string"==typeof t)return new k('"'.concat(e,'"@').concat(t.toLowerCase()));var n=t?t.value:"";return""===n&&("boolean"==typeof e?n=f.boolean:"number"==typeof e&&(Number.isFinite(e)?n=Number.isInteger(e)?f.integer:f.double:(n=f.double,Number.isNaN(e)||(e=e>0?"INF":"-INF")))),new k(""===n||n===f.string?'"'.concat(e,'"'):'"'.concat(e,'"^^').concat(n))},defaultGraph:function(){return r},quad:P,triple:P};n.default=y;var _=function(){function e(t){m(this,e),this.id=t}return b(e,[{key:"value",get:function(){return this.id}},{key:"equals",value:function(t){return t instanceof e?this.id===t.id:!!t&&this.termType===t.termType&&this.value===t.value}},{key:"hashCode",value:function(){return 0}},{key:"toJSON",value:function(){return{termType:this.termType,value:this.value}}}]),e}();n.Term=_;var w=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"termType",get:function(){return"NamedNode"}}]),n}(_);n.NamedNode=w;var k=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"termType",get:function(){return"Literal"}},{key:"value",get:function(){return this.id.substring(1,this.id.lastIndexOf('"'))}},{key:"language",get:function(){var e=this.id,t=e.lastIndexOf('"')+1;return t\\"\{\}\|\^\`]/,l={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},h=/$0^/;n.default=function(){function e(t){if(m(this,e),this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(t=t||{}).lineMode)for(var n in this._n3Mode=!1,this)!(n in l)&&this[n]instanceof RegExp&&(this[n]=h);else this._n3Mode=!1!==t.n3;this._comments=!!t.comments,this._literalClosingPos=0}return b(e,[{key:"_tokenizeToEnd",value:function(e,t){for(var n,i=this._input,r=i.length;;){for(var o=void 0,s=void 0;o=this._newline.exec(i);)this._comments&&(s=this._comment.exec(o[0]))&&_("comment",s[1],"",this._line,o[0].length),i=i.substr(o[0].length,i.length),r=i.length,this._line++;if(!o&&(o=this._whitespace.exec(i))&&(i=i.substr(o[0].length,i.length)),this._endOfFile.test(i))return t&&(this._comments&&(s=this._comment.exec(i))&&_("comment",s[1],"",this._line,i.length),i=null,_("eof","","",this._line,0)),this._input=i;var u=this._line,l=i[0],h="",d="",f="",p=null,v=0,g=!1;switch(l){case"^":if(i.length<3)break;if("^"!==i[1]){this._n3Mode&&(v=1,h="^");break}if(this._previousMarker="^^","<"!==(i=i.substr(2))[0]){g=!0;break}case"<":if(p=this._unescapedIri.exec(i))h="IRI",d=p[1];else if(p=this._iri.exec(i)){if(null===(d=this._unescape(p[1]))||c.test(d))return w(this);h="IRI"}else i.length>1&&"<"===i[1]?(h="<<",v=2):this._n3Mode&&i.length>1&&"="===i[1]&&(h="inverse",v=2,d=">");break;case">":i.length>1&&">"===i[1]&&(h=">>",v=2);break;case"_":((p=this._blank.exec(i))||t&&(p=this._blank.exec("".concat(i," "))))&&(h="blank",f="_",d=p[1]);break;case'"':if(p=this._simpleQuotedString.exec(i))d=p[1];else if(d=(n=this._parseLiteral(i)).value,v=n.matchLength,null===d)return w(this);(null!==p||0!==v)&&(h="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){var m;if(p=this._simpleApostropheString.exec(i))d=p[1];else if(d=(m=this._parseLiteral(i)).value,v=m.matchLength,null===d)return w(this);(null!==p||0!==v)&&(h="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(p=this._variable.exec(i))&&(h="var",d=p[0]);break;case"@":"literal"===this._previousMarker&&(p=this._langcode.exec(i))?(h="langcode",d=p[1]):(p=this._keyword.exec(i))&&(h=p[0]);break;case".":if(1===i.length?t:i[1]<"0"||i[1]>"9"){h=".",v=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(p=this._number.exec(i)||t&&(p=this._number.exec("".concat(i," "))))&&(h="literal",d=p[0],f="string"==typeof p[1]?a.double:"string"==typeof p[2]?a.decimal:a.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(p=this._sparqlKeyword.exec(i))?h=p[0].toUpperCase():g=!0;break;case"f":case"t":(p=this._boolean.exec(i))?(h="literal",d=p[0],f=a.boolean):g=!0;break;case"a":(p=this._shortPredicates.exec(i))?(h="abbreviation",d="a"):g=!0;break;case"=":this._n3Mode&&i.length>1&&(h="abbreviation",">"!==i[1]?(v=1,d="="):(v=2,d=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(v=1,h=l);break;default:g=!0}if(g&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(p=this._prefix.exec(i))?((p=this._prefixed.exec(i))||t&&(p=this._prefixed.exec("".concat(i," "))))&&(h="prefixed",f=p[1]||"",d=this._unescape(p[2])):(h="prefix",d=p[1]||"")),"^^"===this._previousMarker)switch(h){case"prefixed":h="type";break;case"IRI":h="typeIRI";break;default:h=""}if(!h)return t||!/^'''|^"""/.test(i)&&/\n|\r/.test(i)?w(this):this._input=i;var y=v||p[0].length,b=_(h,d,f,u,y);this.previousToken=b,this._previousMarker=h,i=i.substr(y,i.length)}function _(t,n,o,a,s){var u=i?r-i.length:r,c={type:t,value:n,prefix:o,line:a,start:u,end:u+s};return e(null,c),c}function w(t){e(t._syntaxError(/^\S*/.exec(i)[0]))}}},{key:"_unescape",value:function(e){var t=!1,n=e.replace(s,function(e,n,i,r){if("string"==typeof n)return String.fromCharCode(Number.parseInt(n,16));if("string"==typeof i){var o=Number.parseInt(i,16);return o<=65535?String.fromCharCode(Number.parseInt(i,16)):String.fromCharCode(55296+((o-=65536)>>10),56320+(1023&o))}return r in u?u[r]:(t=!0,"")});return t?null:n}},{key:"_parseLiteral",value:function(e){if(e.length>=3){for(var t=e.match(/^(?:"""|"|'''|'|)/)[0],n=t.length,i=Math.max(this._literalClosingPos,n);(i=e.indexOf(t,i))>0;){for(var r=0;"\\"===e[i-r-1];)r++;if(r%2==0){var o=e.substring(n,i),a=o.split(/\r\n|\r|\n/).length-1,s=i+n;if(1===n&&0!==a||3===n&&this._lineMode)break;return this._line+=a,{value:this._unescape(o),matchLength:s}}i++}this._literalClosingPos=e.length-n+1}return{value:"",matchLength:0}}},{key:"_syntaxError",value:function(e){this._input=null;var t=new Error('Unexpected "'.concat(e,'" on line ').concat(this._line,"."));return t.context={token:void 0,line:this._line,previousToken:this.previousToken},t}},{key:"_readStartingBom",value:function(e){return e.startsWith("\ufeff")?e.substr(1):e}},{key:"tokenize",value:function(e,n){var i=this;if(this._line=1,"string"==typeof e){if(this._input=this._readStartingBom(e),"function"!=typeof n){var o,a=[];if(this._tokenizeToEnd(function(e,t){return e?o=e:a.push(t)},!0),o)throw o;return a}(0,r.default)(function(){return i._tokenizeToEnd(n,!0)})}else this._pendingBuffer=null,"function"==typeof e.setEncoding&&e.setEncoding("utf8"),e.on("data",function(e){null!==i._input&&0!==e.length&&(i._pendingBuffer&&(e=t.concat([i._pendingBuffer,e]),i._pendingBuffer=null),128&e[e.length-1]?i._pendingBuffer=e:(void 0===i._input?i._input=i._readStartingBom("string"==typeof e?e:e.toString()):i._input+=e,i._tokenizeToEnd(n,!1)))}),e.on("end",function(){"string"==typeof i._input&&i._tokenizeToEnd(n,!0)}),e.on("error",n)}}]),e}()}).call(this)}).call(this,e("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=a(e("./N3Lexer")),r=a(e("./N3DataFactory")),o=a(e("./IRIs"));function a(e){return e&&e.__esModule?e:{default:e}}var s=0,u=function(){function e(t){m(this,e),this._contextStack=[],this._graph=null,this._setBase((t=t||{}).baseIRI),t.factory&&l(this,t.factory);var n="string"==typeof t.format?t.format.match(/\w*$/)[0].toLowerCase():"",r=/turtle/.test(n),o=/trig/.test(n),a=/triple/.test(n),s=/quad/.test(n),u=this._n3Mode=/n3/.test(n),c=a||s;(this._supportsNamedGraphs=!(r||u))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(r||o||a||u),this._supportsRDFStar=""===n||/star|\*$/.test(n),c&&(this._resolveRelativeIRI=function(e){return null}),this._blankNodePrefix="string"!=typeof t.blankNodePrefix?"":t.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=t.lexer||new i.default({lineMode:c,n3:u}),this._explicitQuantifiers=!!t.explicitQuantifiers}return b(e,[{key:"_setBase",value:function(e){if(e){var t=e.indexOf("#");t>=0&&(e=e.substr(0,t)),this._base=e,this._basePath=e.indexOf("/")<0?e:e.replace(/[^\/?]*(?:\?.*)?$/,""),e=e.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=e[0],this._baseScheme=e[1]}else this._base="",this._basePath=""}},{key:"_saveContext",value:function(e,t,n,i,r){var o=this._n3Mode;this._contextStack.push({subject:n,predicate:i,object:r,graph:t,type:e,inverse:!!o&&this._inversePredicate,blankPrefix:o?this._prefixes._:"",quantified:o?this._quantified:null}),o&&(this._inversePredicate=!1,this._prefixes._=this._graph?"".concat(this._graph.id.substr(2),"."):".",this._quantified=Object.create(this._quantified))}},{key:"_restoreContext",value:function(){var e=this._contextStack.pop(),t=this._n3Mode;this._subject=e.subject,this._predicate=e.predicate,this._object=e.object,this._graph=e.graph,t&&(this._inversePredicate=e.inverse,this._prefixes._=e.blankPrefix,this._quantified=e.quantified)}},{key:"_readInTopContext",value:function(e){switch(e.type){case"eof":return null!==this._graph?this._error("Unclosed graph",e):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(e)}}},{key:"_readEntity",value:function(e,t){var n;switch(e.type){case"IRI":case"typeIRI":var i=this._resolveIRI(e.value);if(null===i)return this._error("Invalid IRI",e);n=this._namedNode(i);break;case"type":case"prefixed":var r=this._prefixes[e.prefix];if(void 0===r)return this._error('Undefined prefix "'.concat(e.prefix,':"'),e);n=this._namedNode(r+e.value);break;case"blank":n=this._blankNode(this._prefixes[e.prefix]+e.value);break;case"var":n=this._variable(e.value.substr(1));break;default:return this._error("Expected entity but got ".concat(e.type),e)}return!t&&this._n3Mode&&n.id in this._quantified&&(n=this._quantified[n.id]),n}},{key:"_readSubject",value:function(e){switch(this._predicate=null,e.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",e);case"}":return this._readPunctuation(e);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',e);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',e);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",e);if(0===e.prefix.length)return this._literalValue=e.value,this._completeSubjectLiteral;this._subject=this._literal(e.value,this._namedNode(e.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",e);default:if(void 0===(this._subject=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}},{key:"_readPredicate",value:function(e){var t=e.type;switch(t){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[e.value];break;case".":case"]":case"}":return null===this._predicate?this._error("Unexpected ".concat(t),e):(this._subject=null,"]"===t?this._readBlankNodeTail(e):this._readPunctuation(e));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",e);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",e);default:if(void 0===(this._predicate=this._readEntity(e)))return}return this._readObject}},{key:"_readObject",value:function(e){switch(e.type){case"literal":if(0===e.prefix.length)return this._literalValue=e.value,this._readDataTypeOrLang;this._object=this._literal(e.value,this._namedNode(e.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",e);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",e);default:if(void 0===(this._object=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}},{key:"_readPredicateOrNamedGraph",value:function(e){return"{"===e.type?this._readGraph(e):this._readPredicate(e)}},{key:"_readGraph",value:function(e){return"{"!==e.type?this._error("Expected graph but got ".concat(e.type),e):(this._graph=this._subject,this._subject=null,this._readSubject)}},{key:"_readBlankNodeHead",value:function(e){return"]"===e.type?(this._subject=null,this._readBlankNodeTail(e)):(this._predicate=null,this._readPredicate(e))}},{key:"_readBlankNodeTail",value:function(e){if("]"!==e.type)return this._readBlankNodePunctuation(e);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);var t=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:t?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}},{key:"_readPredicateAfterBlank",value:function(e){switch(e.type){case".":case"}":return this._subject=null,this._readPunctuation(e);default:return this._readPredicate(e)}}},{key:"_readListItem",value:function(e){var t=null,n=null,i=this._readListItem,r=this._subject,o=this._contextStack,a=o[o.length-1];switch(e.type){case"[":this._saveContext("blank",this._graph,n=this._blankNode(),this.RDF_FIRST,this._subject=t=this._blankNode()),i=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,n=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==o.length&&"list"===o[o.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(i=this._readPredicate,this._subject===this.RDF_NIL)return i}else if(i=this._getContextEndReader(),this._object===this.RDF_NIL)return i;n=this.RDF_NIL;break;case"literal":0===e.prefix.length?(this._literalValue=e.value,i=this._readListItemDataTypeOrLang):(t=this._literal(e.value,this._namedNode(e.prefix)),i=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",e);default:if(void 0===(t=this._readEntity(e)))return}if(null===n&&(this._subject=n=this._blankNode()),null===r?null===a.predicate?a.subject=n:a.object=n:this._emit(r,this.RDF_REST,n,this._graph),null!==t){if(this._n3Mode&&("IRI"===e.type||"prefixed"===e.type))return this._saveContext("item",this._graph,n,this.RDF_FIRST,t),this._subject=t,this._predicate=null,this._getPathReader(this._readListItem);this._emit(n,this.RDF_FIRST,t,this._graph)}return i}},{key:"_readDataTypeOrLang",value:function(e){return this._completeObjectLiteral(e,!1)}},{key:"_readListItemDataTypeOrLang",value:function(e){return this._completeObjectLiteral(e,!0)}},{key:"_completeLiteral",value:function(e){var t=this._literal(this._literalValue);switch(e.type){case"type":case"typeIRI":var n=this._readEntity(e);if(void 0===n)return;t=this._literal(this._literalValue,n),e=null;break;case"langcode":t=this._literal(this._literalValue,e.value),e=null}return{token:e,literal:t}}},{key:"_completeSubjectLiteral",value:function(e){return this._subject=this._completeLiteral(e).literal,this._readPredicateOrNamedGraph}},{key:"_completeObjectLiteral",value:function(e,t){var n=this._completeLiteral(e);if(n)return this._object=n.literal,t&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===n.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(n.token))}},{key:"_readFormulaTail",value:function(e){return"}"!==e.type?this._readPunctuation(e):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}},{key:"_readPunctuation",value:function(e){var t,n=this._graph,i=this._subject,r=this._inversePredicate;switch(e.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",e);if(this._n3Mode)return this._readFormulaTail(e);this._graph=null;case".":this._subject=null,t=this._contextStack.length?this._readSubject:this._readInTopContext,r&&(this._inversePredicate=!1);break;case";":t=this._readPredicate;break;case",":t=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(n=this._readEntity(e))){t=this._readQuadPunctuation;break}return this._error('Expected punctuation to follow "'.concat(this._object.id,'"'),e)}if(null!==i){var o=this._predicate,a=this._object;r?this._emit(a,o,i,n):this._emit(i,o,a,n)}return t}},{key:"_readBlankNodePunctuation",value:function(e){var t;switch(e.type){case";":t=this._readPredicate;break;case",":t=this._readObject;break;default:return this._error('Expected punctuation to follow "'.concat(this._object.id,'"'),e)}return this._emit(this._subject,this._predicate,this._object,this._graph),t}},{key:"_readQuadPunctuation",value:function(e){return"."!==e.type?this._error("Expected dot to follow quad",e):this._readInTopContext}},{key:"_readPrefix",value:function(e){return"prefix"!==e.type?this._error("Expected prefix to follow @prefix",e):(this._prefix=e.value,this._readPrefixIRI)}},{key:"_readPrefixIRI",value:function(e){if("IRI"!==e.type)return this._error('Expected IRI to follow prefix "'.concat(this._prefix,':"'),e);var t=this._readEntity(e);return this._prefixes[this._prefix]=t.value,this._prefixCallback(this._prefix,t),this._readDeclarationPunctuation}},{key:"_readBaseIRI",value:function(e){var t="IRI"===e.type&&this._resolveIRI(e.value);return t?(this._setBase(t),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",e)}},{key:"_readNamedGraphLabel",value:function(e){switch(e.type){case"IRI":case"blank":case"prefixed":return this._readSubject(e),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",e)}}},{key:"_readNamedGraphBlankLabel",value:function(e){return"]"!==e.type?this._error("Invalid graph label",e):(this._subject=this._blankNode(),this._readGraph)}},{key:"_readDeclarationPunctuation",value:function(e){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(e)):"."!==e.type?this._error("Expected declaration to end with a dot",e):this._readInTopContext}},{key:"_readQuantifierList",value:function(e){var t;switch(e.type){case"IRI":case"prefixed":if(void 0!==(t=this._readEntity(e,!0)))break;default:return this._error("Unexpected ".concat(e.type),e)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,t,this.QUANTIFIERS_GRAPH)):this._quantified[t.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}},{key:"_readQuantifierPunctuation",value:function(e){return","===e.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(e))}},{key:"_getPathReader",value:function(e){return this._afterPath=e,this._readPath}},{key:"_readPath",value:function(e){switch(e.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:var t=this._contextStack,n=t.length&&t[t.length-1];if(n&&"item"===n.type){var i=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,i,this._graph)}return this._afterPath(e)}}},{key:"_readForwardPath",value:function(e){var t,n,i=this._blankNode();if(void 0!==(n=this._readEntity(e)))return null===this._predicate?(t=this._subject,this._subject=i):(t=this._object,this._object=i),this._emit(t,n,i,this._graph),this._readPath}},{key:"_readBackwardPath",value:function(e){var t,n,i=this._blankNode();if(void 0!==(t=this._readEntity(e)))return null===this._predicate?(n=this._subject,this._subject=i):(n=this._object,this._object=i),this._emit(i,t,n,this._graph),this._readPath}},{key:"_readRDFStarTailOrGraph",value:function(e){return">>"!==e.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(e))?this._readRDFStarTail:this._error('Expected >> to follow "'.concat(this._object.id,'"'),e):this._readRDFStarTail(e)}},{key:"_readRDFStarTail",value:function(e){if(">>"!==e.type)return this._error("Expected >> but got ".concat(e.type),e);var t=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=t,this._readPredicate):(this._object=t,this._getContextEndReader())}},{key:"_getContextEndReader",value:function(){var e=this._contextStack;if(!e.length)return this._readPunctuation;switch(e[e.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}},{key:"_emit",value:function(e,t,n,i){this._callback(null,this._quad(e,t,n,i||this.DEFAULTGRAPH))}},{key:"_error",value:function(e,t){var n=new Error("".concat(e," on line ").concat(t.line,"."));n.context={token:t,line:t.line,previousToken:this._lexer.previousToken},this._callback(n),this._callback=c}},{key:"_resolveIRI",value:function(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)?e:this._resolveRelativeIRI(e)}},{key:"_resolveRelativeIRI",value:function(e){if(!e.length)return this._base;switch(e[0]){case"#":return this._base+e;case"?":return this._base.replace(/(?:\?.*)?$/,e);case"/":return("/"===e[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(e);default:return/^[^/:]*:/.test(e)?null:this._removeDotSegments(this._basePath+e)}}},{key:"_removeDotSegments",value:function(e){if(!/(^|\/)\.\.?($|[/#?])/.test(e))return e;for(var t=e.length,n="",i=-1,r=-1,o=0,a="/";i=r&&(n=n.substr(0,o)),"/"!==a)return"".concat(n,"/").concat(e.substr(i+1));o=i+1}}}a=e[++i]}return n+e.substring(o)}},{key:"parse",value:function(e,t,n){var i=this;if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):"b".concat(s++,"_"),this._prefixCallback=n||c,this._inversePredicate=!1,this._quantified=Object.create(null),!t){var r,o=[];if(this._callback=function(e,t){e?r=e:t&&o.push(t)},this._lexer.tokenize(e).every(function(e){return i._readCallback=i._readCallback(e)}),r)throw r;return o}this._callback=t,this._lexer.tokenize(e,function(e,t){null!==e?(i._callback(e),i._callback=c):i._readCallback&&(i._readCallback=i._readCallback(t))})}}],[{key:"_resetBlankNodePrefix",value:function(){s=0}}]),e}();function c(){}function l(e,t){var n=t.namedNode;e._namedNode=n,e._blankNode=t.blankNode,e._literal=t.literal,e._variable=t.variable,e._quad=t.quad,e.DEFAULTGRAPH=t.defaultGraph(),e.RDF_FIRST=n(o.default.rdf.first),e.RDF_REST=n(o.default.rdf.rest),e.RDF_NIL=n(o.default.rdf.nil),e.N3_FORALL=n(o.default.r.forAll),e.N3_FORSOME=n(o.default.r.forSome),e.ABBREVIATIONS={a:n(o.default.rdf.type),"=":n(o.default.owl.sameAs),">":n(o.default.log.implies)},e.QUANTIFIERS_GRAPH=n("urn:n3:quantifiers")}n.default=u,l(u.prototype,r.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=l(t);if(n&&n.has(e))return n.get(e);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(i,o,a):i[o]=e[o]}return i.default=e,n&&n.set(e,i),i}(e("./N3DataFactory")),o=e("readable-stream"),u=(i=e("./IRIs"))&&i.__esModule?i:{default:i};function l(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(l=function(e){return e?n:t})(e)}var h=function(e){function t(e,n){m(this,t),this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!n&&e&&!e[0]&&(n=e,e=null),this._factory=(n=n||{}).factory||r.default,e&&this.addQuads(e)}return b(t,[{key:"size",get:function(){var e=this._size;if(null!==e)return e;e=0;var t,n,i=this._graphs;for(var r in i)for(var o in t=i[r].subjects)for(var a in n=t[o])e+=Object.keys(n[a]).length;return this._size=e}},{key:"_addToIndex",value:function(e,t,n,i){var r=e[t]||(e[t]={}),o=r[n]||(r[n]={}),a=i in o;return a||(o[i]=null),!a}},{key:"_removeFromIndex",value:function(e,t,n,i){var r=e[t],o=r[n];for(var a in delete o[i],o)return;for(var s in delete r[n],r)return;delete e[t]}},{key:"_findInIndex",value:regeneratorRuntime.mark(function e(t,n,i,o,a,s,u,c){var l,h,d,f,p,v,g,m,y,b,_,w;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:f=!n+!i+!o>1?Object.keys(this._ids):this._entities,p=(0,r.termFromId)(c,this._factory),n&&((l=t,t={})[n]=l[n]),e.t0=regeneratorRuntime.keys(t);case 3:if((e.t1=e.t0()).done){e.next=29;break}if(v=e.t1.value,g=f[v],!(h=t[v])){e.next=27;break}i&&((l=h,h={})[i]=l[i]),e.t2=regeneratorRuntime.keys(h);case 9:if((e.t3=e.t2()).done){e.next=27;break}if(m=e.t3.value,y=f[m],!(d=h[m])){e.next=25;break}b=o?o in d?[o]:[]:Object.keys(d),_=0;case 15:if(!(_0&&void 0!==arguments[0]?arguments[0]:{},n=t.remove,i=void 0!==n&&n,r=t.ignoreErrors,o=void 0!==r&&r,a={},s=o?function(){return!0}:function(e,t){throw new Error("".concat(e.value," ").concat(t))},c=this.getQuads(null,u.default.rdf.rest,u.default.rdf.nil,null),l=i?v(c):[];return c.forEach(function(t){for(var n,r,o=[],c=!1,h=t.graph,d=t.subject;d&&!c;){for(var f=e.getQuads(null,null,d,null),p=e.getQuads(d,null,null,null),v=void 0,g=null,m=null,y=null,b=0;b")}},{key:"_encodeLiteral",value:function(e){var t=e.value;if(p.test(t)&&(t=t.replace(v,_)),e.language)return'"'.concat(t,'"@').concat(e.language);if(this._lineMode){if(e.datatype.value===f.string)return'"'.concat(t,'"')}else switch(e.datatype.value){case f.string:return'"'.concat(t,'"');case f.boolean:if("true"===t||"false"===t)return t;break;case f.integer:if(/^[+-]?\d+$/.test(t))return t;break;case f.decimal:if(/^[+-]?\d*\.\d+$/.test(t))return t;break;case f.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(t))return t}return'"'.concat(t,'"^^').concat(this._encodeIriOrBlank(e.datatype))}},{key:"_encodePredicate",value:function(e){return e.value===d.type?"a":this._encodeIriOrBlank(e)}},{key:"_encodeObject",value:function(e){switch(e.termType){case"Quad":return this._encodeQuad(e);case"Literal":return this._encodeLiteral(e);default:return this._encodeIriOrBlank(e)}}},{key:"_encodeQuad",value:function(e){var t=e.subject,n=e.predicate,i=e.object,r=e.graph;return"<<".concat(this._encodeSubject(t)," ").concat(this._encodePredicate(n)," ").concat(this._encodeObject(i)).concat((0,u.isDefaultGraph)(r)?"":" ".concat(this._encodeIriOrBlank(r)),">>")}},{key:"_blockedWrite",value:function(){throw new Error("Cannot write because the writer has been closed.")}},{key:"addQuad",value:function(e,t,n,i,r){void 0===n?this._writeQuad(e.subject,e.predicate,e.object,e.graph,t):"function"==typeof i?this._writeQuad(e,t,n,l,i):this._writeQuad(e,t,n,i||l,r)}},{key:"addQuads",value:function(e){for(var t=0;t.\n"))}if(n){var o="",a="";for(var s in this._prefixIRIs)o+=o?"|".concat(s):s,a+=(a?"|":"")+this._prefixIRIs[s];o=w(o),this._prefixRegex=new RegExp("^(?:".concat(a,")[^/]*$|^(").concat(o,")([a-zA-Z][\\-_a-zA-Z0-9]*)$"))}this._write(n?"\n":"",t)}},{key:"blank",value:function(e,t){var n,i,r=e;switch(void 0===e?r=[]:e.termType?r=[{predicate:e,object:t}]:"length"in e||(r=[e]),i=r.length){case 0:return new y("[]");case 1:if(!((n=r[0]).object instanceof y))return new y("[ ".concat(this._encodePredicate(n.predicate)," ").concat(this._encodeObject(n.object)," ]"));default:for(var o="[",a=0;a1)for(var n=1;n1&&void 0!==arguments[1]?arguments[1]:new Map,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;m(this,e),this.prefix=t,this._existing=n,this.counter=i}return b(e,[{key:"clone",value:function(){var t=this.prefix,n=this._existing,i=this.counter;return new e(t,new Map(n),i)}},{key:"getId",value:function(e){var t=e&&this._existing.get(e);if(t)return t;var n=this.prefix+this.counter;return this.counter++,e&&this._existing.set(e,n),n}},{key:"hasId",value:function(e){return this._existing.has(e)}},{key:"getOldIds",value:function(){return v(this._existing.keys())}}]),e}()},{}],48:[function(e,t,n){"use strict";e("setimmediate");var i=self.crypto||self.msCrypto;t.exports=function(){function e(t){if(m(this,e),!i||!i.subtle)throw new Error("crypto.subtle not found.");if("sha256"===t)this.algorithm={name:"SHA-256"};else{if("sha1"!==t)throw new Error('Unsupport algorithm "'.concat(t,'".'));this.algorithm={name:"SHA-1"}}this._content=""}return b(e,[{key:"update",value:function(e){this._content+=e}},{key:"digest",value:function(){var e=this;return h(regeneratorRuntime.mark(function t(){var n,r,o,a;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=(new TextEncoder).encode(e._content),t.t0=Uint8Array,t.next=4,i.subtle.digest(e.algorithm,n);case 4:for(t.t1=t.sent,r=new t.t0(t.t1),o="",a=0;a]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),t.exports=function(){function e(){m(this,e)}return b(e,null,[{key:"parse",value:function(e){var t,n=[],h={},f=0,p=_(e.split(c.eoln));try{for(p.s();!(t=p.n()).done;){var v=t.value;if(f++,!c.empty.test(v)){var g=v.match(c.quad);if(null===g)throw new Error("N-Quads parse error on line "+f+".");var m={subject:null,predicate:null,object:null,graph:null};if(m.subject=void 0!==g[1]?{termType:o,value:g[1]}:{termType:a,value:g[2]},m.predicate={termType:o,value:g[3]},void 0!==g[4]?m.object={termType:o,value:g[4]}:void 0!==g[5]?m.object={termType:a,value:g[5]}:(m.object={termType:s,value:void 0,datatype:{termType:o}},void 0!==g[7]?m.object.datatype.value=g[7]:void 0!==g[8]?(m.object.datatype.value=i,m.object.language=g[8]):m.object.datatype.value=r,m.object.value=g[6].replace(d,function(e,t,n,i){if(t)switch(t){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(n)return String.fromCharCode(parseInt(n,16));if(i)throw new Error("Unsupported U escape")})),m.graph=void 0!==g[9]?{termType:o,value:g[9]}:void 0!==g[10]?{termType:a,value:g[10]}:{termType:u,value:""},m.graph.value in h){var y,b=!0,w=h[m.graph.value],k=_(w);try{for(k.s();!(y=k.n()).done;){if(l(y.value,m)){b=!1;break}}}catch(x){k.e(x)}finally{k.f()}b&&(w.push(m),n.push(m))}else h[m.graph.value]=[m],n.push(m)}}}catch(x){p.e(x)}finally{p.f()}return n}},{key:"serialize",value:function(t){Array.isArray(t)||(t=e.legacyDatasetToQuads(t));var n,i=[],r=_(t);try{for(r.s();!(n=r.n()).done;){var o=n.value;i.push(e.serializeQuad(o))}}catch(a){r.e(a)}finally{r.f()}return i.sort().join("")}},{key:"serializeQuad",value:function(e){var t=e.subject,n=e.object,s=e.graph,u="";return u+=t.termType===o?"<".concat(t.value,">"):"".concat(t.value),u+=" <".concat(e.predicate.value,"> "),n.termType===o?u+="<".concat(n.value,">"):n.termType===a?u+=n.value:(u+='"'.concat(n.value.replace(h,function(e){switch(e){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}}),'"'),n.datatype.value===i?n.language&&(u+="@".concat(n.language)):n.datatype.value!==r&&(u+="^^<".concat(n.datatype.value,">"))),s.termType===o?u+=" <".concat(s.value,">"):s.termType===a&&(u+=" ".concat(s.value)),u+=" .\n"}},{key:"legacyDatasetToQuads",value:function(e){var t=[],n={"blank node":a,IRI:o,literal:s},c=function(c){e[c].forEach(function(e){var l={};for(var h in e){var d=e[h],f={termType:n[d.type],value:d.value};f.termType===s&&(f.datatype={termType:o},"datatype"in d&&(f.datatype.value=d.datatype),"language"in d?("datatype"in d||(f.datatype.value=i),f.language=d.language):"datatype"in d||(f.datatype.value=r)),l[h]=f}l.graph="@default"===c?{termType:u,value:""}:{termType:c.startsWith("_:")?a:o,value:c},t.push(l)})};for(var l in e)c(l);return t}}]),e}();var h=/["\\\n\r]/g,d=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(e,t,n){"use strict";t.exports=function(){function e(t){m(this,e),this.current=t.sort(),this.done=!1,this.dir=new Map;for(var n=0;ni)&&(u&&a>0&&s>e[a-1]||!u&&ae[a+1])&&(i=s,r=a)}if(null===i)this.done=!0;else{var c=t.get(i)?r-1:r+1;e[r]=e[c],e[c]=i;var l,h=_(e);try{for(h.s();!(l=h.n()).done;){var d=l.value;d>i&&t.set(d,!t.get(d))}}catch(f){h.e(f)}finally{h.f()}}return n}}]),e}()},{}],51:[function(e,t,n){(function(n){(function(){"use strict";var i=e("./IdentifierIssuer"),r=e("./MessageDigest"),o=e("./Permuter"),a=e("./NQuads");function s(e,t){return e.hasht.hash?1:0}t.exports=function(){function e(){m(this,e),this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new i("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}return b(e,[{key:"main",value:function(e){var t=this;return h(regeneratorRuntime.mark(function n(){var r,o,u,c,l,h,d,f,p,g,m,y,b,w,k,x,S,C,E,O,T,P,A,I,R,D,N,L,j,F,B,V,z,U,H,G;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:t.quads=e,r=_(e);try{for(r.s();!(o=r.n()).done;)u=o.value,t._addBlankNodeQuadInfo({quad:u,component:u.subject}),t._addBlankNodeQuadInfo({quad:u,component:u.object}),t._addBlankNodeQuadInfo({quad:u,component:u.graph})}catch(W){r.e(W)}finally{r.f()}c=new Map,l=v(t.blankNodeInfo.keys()),h=0,d=_(l),n.prev=6,d.s();case 8:if((f=d.n()).done){n.next=18;break}if(p=f.value,n.t0=++h%100==0,!n.t0){n.next=14;break}return n.next=14,t._yield();case 14:return n.next=16,t._hashAndTrackBlankNode({id:p,hashToBlankNodes:c});case 16:n.next=8;break;case 18:n.next=23;break;case 20:n.prev=20,n.t1=n.catch(6),d.e(n.t1);case 23:return n.prev=23,d.f(),n.finish(23);case 26:g=v(c.keys()).sort(),m=[],y=_(g);try{for(y.s();!(b=y.n()).done;)w=b.value,(k=c.get(w)).length>1?m.push(k):t.canonicalIssuer.getId(k[0])}catch(W){y.e(W)}finally{y.f()}x=0,S=m;case 30:if(!(xf)){i.next=31;break}return k=!0,i.abrupt("break",33);case 31:i.next=26;break;case 33:i.next=38;break;case 35:i.prev=35,i.t1=i.catch(24),x.e(i.t1);case 38:return i.prev=38,x.f(),i.finish(38);case 41:if(k){i.next=64;break}E=_(w),i.prev=43,E.s();case 45:if((O=E.n()).done){i.next=55;break}return T=O.value,i.next=49,n.hashNDegreeQuads(T,y);case 49:if(P=i.sent,b+=y.getId(T),b+="<".concat(P.hash,">"),y=P.issuer,!(0!==f.length&&b>f)){i.next=53;break}return k=!0,i.abrupt("break",55);case 53:i.next=45;break;case 55:i.next=60;break;case 57:i.prev=57,i.t2=i.catch(43),E.e(i.t2);case 60:return i.prev=60,E.f(),i.finish(60);case 63:k||(0===f.length||b")}},{key:"createHashToRelated",value:function(e,t){var n=this;return h(regeneratorRuntime.mark(function i(){var r,o,a,s,u,c;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:r=new Map,o=n.blankNodeInfo.get(e).quads,a=0,s=_(o),i.prev=3,s.s();case 5:if((u=s.n()).done){i.next=15;break}if(c=u.value,i.t0=++a%100==0,!i.t0){i.next=11;break}return i.next=11,n._yield();case 11:return i.next=13,Promise.all([n._addRelatedBlankNodeHash({quad:c,component:c.subject,position:"s",id:e,issuer:t,hashToRelated:r}),n._addRelatedBlankNodeHash({quad:c,component:c.object,position:"o",id:e,issuer:t,hashToRelated:r}),n._addRelatedBlankNodeHash({quad:c,component:c.graph,position:"g",id:e,issuer:t,hashToRelated:r})]);case 13:i.next=5;break;case 15:i.next=20;break;case 17:i.prev=17,i.t1=i.catch(3),s.e(i.t1);case 20:return i.prev=20,s.f(),i.finish(20);case 23:return i.abrupt("return",r);case 24:case"end":return i.stop()}},i,null,[[3,17,20,23]])}))()}},{key:"_hashAndTrackBlankNode",value:function(e){var t=e.id,n=e.hashToBlankNodes,i=this;return h(regeneratorRuntime.mark(function e(){var r,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.hashFirstDegreeQuads(t);case 2:r=e.sent,(o=n.get(r))?o.push(t):n.set(r,[t]);case 5:case"end":return e.stop()}},e)}))()}},{key:"_addBlankNodeQuadInfo",value:function(e){var t=e.quad,n=e.component;if("BlankNode"===n.termType){var i=n.value,r=this.blankNodeInfo.get(i);r?r.quads.add(t):this.blankNodeInfo.set(i,{quads:new Set([t]),hash:null})}}},{key:"_addRelatedBlankNodeHash",value:function(e){var t=e.quad,n=e.component,i=e.position,r=e.id,o=e.issuer,a=e.hashToRelated,s=this;return h(regeneratorRuntime.mark(function e(){var u,c,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("BlankNode"===n.termType&&n.value!==r){e.next=2;break}return e.abrupt("return");case 2:return u=n.value,e.next=5,s.hashRelatedBlankNode(u,t,o,i);case 5:c=e.sent,(l=a.get(c))?l.push(u):a.set(c,[u]);case 8:case"end":return e.stop()}},e)}))()}},{key:"_useCanonicalId",value:function(e){var t=e.component;return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}},{key:"_yield",value:function(){return h(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e){return n(e)}));case 1:case"end":return e.stop()}},e)}))()}}]),e}()}).call(this)}).call(this,e("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(e,t,n){"use strict";var i=e("./IdentifierIssuer"),r=e("./MessageDigest"),o=e("./Permuter"),a=e("./NQuads");function s(e,t){return e.hasht.hash?1:0}t.exports=function(){function e(){m(this,e),this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new i("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}return b(e,[{key:"main",value:function(e){this.quads=e;var t,n=_(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;this._addBlankNodeQuadInfo({quad:r,component:r.subject}),this._addBlankNodeQuadInfo({quad:r,component:r.object}),this._addBlankNodeQuadInfo({quad:r,component:r.graph})}}catch(j){n.e(j)}finally{n.f()}var o,u=new Map,c=_(v(this.blankNodeInfo.keys()));try{for(c.s();!(o=c.n()).done;){var l=o.value;this._hashAndTrackBlankNode({id:l,hashToBlankNodes:u})}}catch(j){c.e(j)}finally{c.f()}var h,d=[],f=_(v(u.keys()).sort());try{for(f.s();!(h=f.n()).done;){var p=h.value,g=u.get(p);g.length>1?d.push(g):this.canonicalIssuer.getId(g[0])}}catch(j){f.e(j)}finally{f.f()}for(var m=0,y=d;ml){y=!0;break}}}catch(E){b.e(E)}finally{b.f()}if(!y){var k,x=_(m);try{for(x.s();!(k=x.n()).done;){var S=k.value,C=this.hashNDegreeQuads(S,p);if(g+=p.getId(S),g+="<".concat(C.hash,">"),p=C.issuer,0!==l.length&&g>l){y=!0;break}}}catch(E){x.e(E)}finally{x.f()}y||(0===l.length||g")}},{key:"createHashToRelated",value:function(e,t){var n,i=new Map,r=_(this.blankNodeInfo.get(e).quads);try{for(r.s();!(n=r.n()).done;){var o=n.value;this._addRelatedBlankNodeHash({quad:o,component:o.subject,position:"s",id:e,issuer:t,hashToRelated:i}),this._addRelatedBlankNodeHash({quad:o,component:o.object,position:"o",id:e,issuer:t,hashToRelated:i}),this._addRelatedBlankNodeHash({quad:o,component:o.graph,position:"g",id:e,issuer:t,hashToRelated:i})}}catch(a){r.e(a)}finally{r.f()}return i}},{key:"_hashAndTrackBlankNode",value:function(e){var t=e.id,n=e.hashToBlankNodes,i=this.hashFirstDegreeQuads(t),r=n.get(i);r?r.push(t):n.set(i,[t])}},{key:"_addBlankNodeQuadInfo",value:function(e){var t=e.quad,n=e.component;if("BlankNode"===n.termType){var i=n.value,r=this.blankNodeInfo.get(i);r?r.quads.add(t):this.blankNodeInfo.set(i,{quads:new Set([t]),hash:null})}}},{key:"_addRelatedBlankNodeHash",value:function(e){var t=e.quad,n=e.component,i=e.position,r=e.id,o=e.issuer,a=e.hashToRelated;if("BlankNode"===n.termType&&n.value!==r){var s=n.value,u=this.hashRelatedBlankNode(s,t,o,i),c=a.get(u);c?c.push(s):a.set(u,[s])}}},{key:"_useCanonicalId",value:function(e){var t=e.component;return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}}]),e}()},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(e,t,n){"use strict";var i=e("./URDNA2015");t.exports=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.call(this)).name="URGNA2012",e.hashAlgorithm="sha1",e}return b(n,[{key:"modifyFirstDegreeComponent",value:function(e,t,n){return"BlankNode"!==t.termType?t:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:t.value===e?"_:a":"_:z"}}},{key:"getRelatedPredicate",value:function(e){return e.predicate.value}},{key:"createHashToRelated",value:function(e,t){var n=this;return h(regeneratorRuntime.mark(function i(){var r,o,a,s,u,c,l,h,d,f;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:r=new Map,o=n.blankNodeInfo.get(e).quads,a=0,s=_(o),i.prev=3,s.s();case 5:if((u=s.n()).done){i.next=26;break}if(c=u.value,l=void 0,h=void 0,"BlankNode"!==c.subject.termType||c.subject.value===e){i.next=12;break}h=c.subject.value,l="p",i.next=15;break;case 12:if("BlankNode"===c.object.termType&&c.object.value!==e){i.next=14;break}return i.abrupt("continue",24);case 14:h=c.object.value,l="r";case 15:if(i.t0=++a%100==0,!i.t0){i.next=19;break}return i.next=19,n._yield();case 19:return i.next=21,n.hashRelatedBlankNode(h,c,t,l);case 21:d=i.sent,(f=r.get(d))?f.push(h):r.set(d,[h]);case 24:i.next=5;break;case 26:i.next=31;break;case 28:i.prev=28,i.t1=i.catch(3),s.e(i.t1);case 31:return i.prev=31,s.f(),i.finish(31);case 34:return i.abrupt("return",r);case 35:case"end":return i.stop()}},i,null,[[3,28,31,34]])}))()}}]),n}(i)},{"./URDNA2015":51}],54:[function(e,t,n){"use strict";var i=e("./URDNA2015Sync");t.exports=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.call(this)).name="URGNA2012",e.hashAlgorithm="sha1",e}return b(n,[{key:"modifyFirstDegreeComponent",value:function(e,t,n){return"BlankNode"!==t.termType?t:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:t.value===e?"_:a":"_:z"}}},{key:"getRelatedPredicate",value:function(e){return e.predicate.value}},{key:"createHashToRelated",value:function(e,t){var n,i=new Map,r=_(this.blankNodeInfo.get(e).quads);try{for(r.s();!(n=r.n()).done;){var o=n.value,a=void 0,s=void 0;if("BlankNode"===o.subject.termType&&o.subject.value!==e)s=o.subject.value,a="p";else{if("BlankNode"!==o.object.termType||o.object.value===e)continue;s=o.object.value,a="r"}var u=this.hashRelatedBlankNode(s,o,t,a),c=i.get(u);c?c.push(s):i.set(u,[s])}}catch(l){r.e(l)}finally{r.f()}return i}}]),n}(i)},{"./URDNA2015Sync":52}],55:[function(e,t,n){"use strict";var i,r=e("./URDNA2015"),o=e("./URGNA2012"),a=e("./URDNA2015Sync"),s=e("./URGNA2012Sync");try{i=e("rdf-canonize-native")}catch(u){}var u,c={};t.exports=c,c.NQuads=e("./NQuads"),c.IdentifierIssuer=e("./IdentifierIssuer"),c._rdfCanonizeNative=function(e){return e&&(i=e),i},c.canonize=(u=h(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),!n.useNative){e.next=4;break}if(i){e.next=3;break}throw new Error("rdf-canonize-native not available");case 3:return e.abrupt("return",new Promise(function(e,r){return i.canonize(t,n,function(t,n){return t?r(t):e(n)})}));case 4:if("URDNA2015"!==n.algorithm){e.next=6;break}return e.abrupt("return",new r(n).main(t));case 6:if("URGNA2012"!==n.algorithm){e.next=8;break}return e.abrupt("return",new o(n).main(t));case 8:throw"algorithm"in n?new Error("Invalid RDF Dataset Canonicalization algorithm: "+n.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.");case 9:case"end":return e.stop()}},e)})),function(e,t){return u.apply(this,arguments)}),c._canonizeSync=function(e,t){if(Array.isArray(e)||(e=c.NQuads.legacyDatasetToQuads(e)),t.useNative){if(i)return i.canonizeSync(e,t);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===t.algorithm)return new a(t).main(e);if("URGNA2012"===t.algorithm)return new s(t).main(e);throw"algorithm"in t?new Error("Invalid RDF Dataset Canonicalization algorithm: "+t.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(e("./lib/BlankNode"),n),r(e("./lib/DataFactory"),n),r(e("./lib/DefaultGraph"),n),r(e("./lib/Literal"),n),r(e("./lib/NamedNode"),n),r(e("./lib/Quad"),n),r(e("./lib/Variable"),n)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.BlankNode=void 0,n.BlankNode=function(){function e(t){m(this,e),this.termType="BlankNode",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"BlankNode"===e.termType&&e.value===this.value}}]),e}()},{}],58:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DataFactory=void 0;var i=e("./BlankNode"),r=e("./DefaultGraph"),o=e("./Literal"),a=e("./NamedNode"),s=e("./Quad"),u=e("./Variable"),c=0;n.DataFactory=function(){function e(t){m(this,e),this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||"df_".concat(c++,"_")}return b(e,[{key:"namedNode",value:function(e){return new a.NamedNode(e)}},{key:"blankNode",value:function(e){return new i.BlankNode(e||"".concat(this.blankNodePrefix).concat(this.blankNodeCounter++))}},{key:"literal",value:function(e,t){return new o.Literal(e,t)}},{key:"variable",value:function(e){return new u.Variable(e)}},{key:"defaultGraph",value:function(){return r.DefaultGraph.INSTANCE}},{key:"quad",value:function(e,t,n,i){return new s.Quad(e,t,n,i||this.defaultGraph())}},{key:"fromTerm",value:function(e){switch(e.termType){case"NamedNode":return this.namedNode(e.value);case"BlankNode":return this.blankNode(e.value);case"Literal":return e.language?this.literal(e.value,e.language):e.datatype.equals(o.Literal.XSD_STRING)?this.literal(e.value):this.literal(e.value,this.fromTerm(e.datatype));case"Variable":return this.variable(e.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(e.subject),this.fromTerm(e.predicate),this.fromTerm(e.object),this.fromTerm(e.graph))}}},{key:"fromQuad",value:function(e){return this.fromTerm(e)}},{key:"resetBlankNodeCounter",value:function(){this.blankNodeCounter=0}}]),e}()},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DefaultGraph=void 0;var i=function(){function e(){m(this,e),this.termType="DefaultGraph",this.value=""}return b(e,[{key:"equals",value:function(e){return!!e&&"DefaultGraph"===e.termType}}]),e}();n.DefaultGraph=i,i.INSTANCE=new i},{}],60:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Literal=void 0;var i=e("./NamedNode"),r=function(){function e(t,n){m(this,e),this.termType="Literal",this.value=t,"string"==typeof n?(this.language=n,this.datatype=e.RDF_LANGUAGE_STRING):n?(this.language="",this.datatype=n):(this.language="",this.datatype=e.XSD_STRING)}return b(e,[{key:"equals",value:function(e){return!!e&&"Literal"===e.termType&&e.value===this.value&&e.language===this.language&&e.datatype.equals(this.datatype)}}]),e}();n.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.NamedNode=void 0,n.NamedNode=function(){function e(t){m(this,e),this.termType="NamedNode",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"NamedNode"===e.termType&&e.value===this.value}}]),e}()},{}],62:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Quad=void 0,n.Quad=function(){function e(t,n,i,r){m(this,e),this.termType="Quad",this.value="",this.subject=t,this.predicate=n,this.object=i,this.graph=r}return b(e,[{key:"equals",value:function(e){return!!e&&("Quad"===e.termType||!e.termType)&&this.subject.equals(e.subject)&&this.predicate.equals(e.predicate)&&this.object.equals(e.object)&&this.graph.equals(e.graph)}}]),e}()},{}],63:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Variable=void 0,n.Variable=function(){function e(t){m(this,e),this.termType="Variable",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"Variable"===e.termType&&e.value===this.value}}]),e}()},{}],64:[function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(e("./lib/RdfXmlParser"),n)},{"./lib/RdfXmlParser":66}],65:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseError=void 0;var i=function(e){a(n,e);var t=s(n);function n(e,i){m(this,n);var r=e.saxStream._parser;return t.call(this,e.trackPosition?"Line ".concat(r.line+1," column ").concat(r.column+1,": ").concat(i):i)}return n}(l(Error));n.ParseError=i},{}],66:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseType=n.RdfXmlParser=void 0;var i,r,o=e("relative-to-absolute-iri"),u=e("sax"),l=e("stream"),h=e("./ParseError"),d=e("rdf-data-factory"),f=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,{readableObjectMode:!0})).activeTagStack=[],i.nodeIds={},e&&(Object.assign(c(i),e),i.options=e),i.dataFactory||(i.dataFactory=new d.DataFactory),i.baseIRI||(i.baseIRI=""),i.defaultGraph||(i.defaultGraph=i.dataFactory.defaultGraph()),i.saxStream=u.createStream(i.strict,{xmlns:!1,position:i.trackPosition}),i.strict||(i.saxStream._parser.looseCase="toString"),i.attachSaxListeners(),i}return b(n,[{key:"import",value:function(e){var t=new l.PassThrough({readableObjectMode:!0});e.on("error",function(e){return i.emit("error",e)}),e.on("data",function(e){return t.push(e)}),e.on("end",function(){return t.push(null)});var i=t.pipe(new n(this.options));return i}},{key:"_transform",value:function(e,t,n){try{this.saxStream.write(e,t)}catch(i){return n(i)}n()}},{key:"newParseError",value:function(e){return new h.ParseError(this,e)}},{key:"valueToUri",value:function(e,t){return this.uriToNamedNode(o.resolve(e,t.baseIRI))}},{key:"uriToNamedNode",value:function(e){if(!n.isValidIri(e))throw this.newParseError("Invalid URI: ".concat(e));return this.dataFactory.namedNode(e)}},{key:"validateNcname",value:function(e){if(!n.NCNAME_MATCHER.test(e))throw this.newParseError("Not a valid NCName: ".concat(e))}},{key:"attachSaxListeners",value:function(){var e=this;this.saxStream.on("error",function(t){return e.emit("error",t)}),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}},{key:"onTag",value:function(e){var t=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null,r=i.RESOURCE;if(t&&(t.hadChildren=!0,r=t.childrenParseType),t&&t.childrenStringTags){var o=e.name,a="";for(var s in e.attributes)a+=" ".concat(s,'="').concat(e.attributes[s],'"');t.childrenStringTags.push("<".concat(o).concat(a,">"));var u={childrenStringTags:t.childrenStringTags};return u.childrenStringEmitClosingTag=""),void this.activeTagStack.push(u)}var c={};t?(c.language=t.language,c.baseIRI=t.baseIRI):c.baseIRI=this.baseIRI,this.activeTagStack.push(c),c.ns=n.parseNamespace(e,t),r===i.RESOURCE?this.onTagResource(e,c,t,!t):this.onTagProperty(e,c,t)}},{key:"onTagResource",value:function(e,t,r,a){var s=n.expandPrefixedTerm(e.name,t.ns,this);t.childrenParseType=i.PROPERTY;var u=!0;if(s.uri===n.RDF){if(!a&&n.FORBIDDEN_NODE_ELEMENTS.indexOf(s.local)>=0)throw this.newParseError("Illegal node element name: ".concat(s.local));switch(s.local){case"RDF":t.childrenParseType=i.RESOURCE;case"Description":u=!1}}var c=[],l=[],h=null,d=!1,f=!1,p=null;for(var v in e.attributes){var g=e.attributes[v],m=n.expandPrefixedTerm(v,t.ns,this);if(r&&m.uri===n.RDF)switch(m.local){case"about":if(h)throw this.newParseError("Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ".concat(g," and ").concat(h," where found."));h=g;continue;case"ID":if(h)throw this.newParseError("Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ".concat(g," and ").concat(h," where found."));this.validateNcname(g),h="#"+g,d=!0;continue;case"nodeID":if(h)throw this.newParseError("Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ".concat(g," and ").concat(h," where found."));this.validateNcname(g),h=g,f=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":p=g;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(m.uri===n.XML){if("lang"===m.local){t.language=""===g?null:g.toLowerCase();continue}if("base"===m.local){t.baseIRI=o.resolve(g,t.baseIRI);continue}}"xml"!==m.prefix&&m.uri&&(c.push(this.uriToNamedNode(m.uri+m.local)),l.push(g))}if(null!==h&&(t.subject=f?this.dataFactory.blankNode(h):this.valueToUri(h,t),d&&this.claimNodeId(t.subject)),t.subject||(t.subject=this.dataFactory.blankNode()),u){var y=this.uriToNamedNode(s.uri+s.local);this.emitTriple(t.subject,this.dataFactory.namedNode(n.RDF+"type"),y,r?r.reifiedStatementId:null)}if(r){if(r.predicate)if(r.childrenCollectionSubject){var b=this.dataFactory.blankNode();this.emitTriple(r.childrenCollectionSubject,r.childrenCollectionPredicate,b,r.reifiedStatementId),this.emitTriple(b,this.dataFactory.namedNode(n.RDF+"first"),t.subject,t.reifiedStatementId),r.childrenCollectionSubject=b,r.childrenCollectionPredicate=this.dataFactory.namedNode(n.RDF+"rest")}else{this.emitTriple(r.subject,r.predicate,t.subject,r.reifiedStatementId);for(var _=0;_=0)throw this.newParseError("Illegal property element name: ".concat(o.local));t.predicateSubPredicates=[],t.predicateSubObjects=[];var a=!1,s=!1,u=null,c=!0,l=[],h=[];for(var d in e.attributes){var f=e.attributes[d],p=n.expandPrefixedTerm(d,t.ns,this);if(p.uri===n.RDF)switch(p.local){case"resource":if(u)throw this.newParseError("Found both rdf:resource (".concat(f,") and rdf:nodeID (").concat(u,")."));if(a)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:resource (".concat(f,")"));t.hadChildren=!0,u=f,c=!1;continue;case"datatype":if(s)throw this.newParseError("Found both non-rdf:* property attributes and rdf:datatype (".concat(f,")."));if(a)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:datatype (".concat(f,")"));t.datatype=this.valueToUri(f,t);continue;case"nodeID":if(s)throw this.newParseError("Found both non-rdf:* property attributes and rdf:nodeID (".concat(f,")."));if(t.hadChildren)throw this.newParseError("Found both rdf:resource and rdf:nodeID (".concat(f,")."));if(a)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:nodeID (".concat(f,")"));this.validateNcname(f),t.hadChildren=!0,u=f,c=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(s)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(t.datatype)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:datatype (".concat(t.datatype.value,")"));if(u)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (".concat(u,")"));if("Resource"===f){a=!0,t.childrenParseType=i.PROPERTY;var v=this.dataFactory.blankNode();this.emitTriple(t.subject,t.predicate,v,t.reifiedStatementId),t.subject=v,t.predicate=null}else"Collection"===f?(a=!0,t.hadChildren=!0,t.childrenCollectionSubject=t.subject,t.childrenCollectionPredicate=t.predicate,c=!1):"Literal"===f&&(a=!0,t.childrenTagsToString=!0,t.childrenStringTags=[]);continue;case"ID":this.validateNcname(f),t.reifiedStatementId=this.valueToUri("#"+f,t),this.claimNodeId(t.reifiedStatementId);continue}else if(p.uri===n.XML&&"lang"===p.local){t.language=""===f?null:f.toLowerCase();continue}if("xml"!==p.prefix&&"xmlns"!==p.prefix&&p.uri){if(a||t.datatype)throw this.newParseError("Found illegal rdf:* properties on property element with attribute: ".concat(f));t.hadChildren=!0,s=!0,l.push(this.uriToNamedNode(p.uri+p.local)),h.push(this.dataFactory.literal(f,t.datatype||t.language))}}if(null!==u){var g=t.subject;t.subject=c?this.dataFactory.blankNode(u):this.valueToUri(u,t),this.emitTriple(g,t.predicate,t.subject,t.reifiedStatementId);for(var m=0;m/g,function(e,n,i){return t.saxStream._parser.ENTITIES[n]=i,""})}}],[{key:"parseNamespace",value:function(e,t){var i={},r=!1;for(var o in e.attributes)o.startsWith("xmlns")&&(5===o.length?(r=!0,i[""]=e.attributes[o]):":"===o.charAt(5)&&(r=!0,i[o.substr(6)]=e.attributes[o]));var a=t&&t.ns?t.ns:[n.DEFAULT_NS];return r?a.concat([i]):a}},{key:"expandPrefixedTerm",value:function(e,t,n){var i,r,o=e.indexOf(":");o>=0?(i=e.substr(0,o),r=e.substr(o+1)):(i="",r=e);for(var a=null,s=null,u=t.length-1;u>=0;u--){var c=t[u][i];if(c){a=c;break}s||(s=t[u][""])}if(!a){if(i&&"xmlns"!==i)throw new h.ParseError(n,"The prefix '".concat(i,"' in term '").concat(e,"' was not bound."));a=s||""}return{prefix:i,local:r,uri:a}}},{key:"isValidIri",value:function(e){return n.IRI_REGEX.test(e)}}]),n}(l.Transform);n.RdfXmlParser=f,f.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,f.MIME_TYPE="application/rdf+xml",f.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",f.XML="http://www.w3.org/XML/1998/namespace",f.XMLNS="http://www.w3.org/2000/xmlns/",f.DEFAULT_NS={xml:f.XML},f.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],f.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],f.NCNAME_MATCHER=/^((?:[A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF]))((?:[#\x2D\.0-9A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF]))*$/,(r=i=n.ParseType||(n.ParseType={}))[r.RESOURCE=0]="RESOURCE",r[r.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(e,t,n){"use strict";var i={};function r(e,t,n){n||(n=Error);var r=function(e){function n(n,i,r){return e.call(this,function(e,n,i){return"string"==typeof t?t:t(e,n,i)}(n,i,r))||this}return function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(n,e),n}(n);r.prototype.name=n.name,r.prototype.code=e,i[e]=r}function o(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map(function(e){return String(e)}),n>2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}r("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError),r("ERR_INVALID_ARG_TYPE",function(e,t,n){var i,r;if("string"==typeof t&&function(e,t,n){return e.substr(0,t.length)===t}(t,"not ")?(i="must not be",t=t.replace(/^not /,"")):i="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e," argument"))r="The ".concat(e," ").concat(i," ").concat(o(t,"type"));else{var a=function(e,t,n){return"number"!=typeof n&&(n=0),!(n+".".length>e.length)&&-1!==e.indexOf(".",n)}(e)?"property":"argument";r='The "'.concat(e,'" ').concat(a," ").concat(i," ").concat(o(t,"type"))}return r+". Received type ".concat(typeof n)},TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"}),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"}),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=i},{}],68:[function(e,t,n){(function(n){(function(){"use strict";var i=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};t.exports=c;var r=e("./_stream_readable"),o=e("./_stream_writable");e("inherits")(c,r);for(var a=i(o.prototype),s=0;s0)if("string"!=typeof t&&!s.objectMode&&Object.getPrototypeOf(t)!==u.prototype&&(t=function(e){return u.from(e)}(t)),i)s.endEmitted?k(e,new w):O(e,s,t,!0);else if(s.ended)k(e,new b);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?O(e,s,t,!1):I(e,s)):O(e,s,t,!1)}else i||(s.reading=!1,I(e,s));return!s.ended&&(s.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=T?e=T:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function A(e){var t=e._readableState;o("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(o("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(M,e))}function M(e){var t=e._readableState;o("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,j(e)}function I(e,t){t.readingMore||(t.readingMore=!0,n.nextTick(R,e,t))}function R(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function N(e){o("readable nexttick read 0"),e.read(0)}function L(e,t){o("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),j(e),t.flowing&&!t.reading&&e.read(0)}function j(e){var t=e._readableState;for(o("flow",t.flowing);t.flowing&&null!==e.read(););}function F(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function B(e){var t=e._readableState;o("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(V,t,e))}function V(e,t){if(o("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function z(e,t){for(var n=0,i=e.length;n=t.highWaterMark:t.length>0)||t.ended))return o("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?B(this):A(this),null;if(0===(e=P(e,t))&&t.ended)return 0===t.length&&B(this),null;var i,r=t.needReadable;return o("need readable",r),(0===t.length||t.length-e0?F(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&B(this)),null!==i&&this.emit("data",i),i},C.prototype._read=function(e){k(this,new _("_read()"))},C.prototype.pipe=function(e,t){var i=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,o("pipe count=%d opts=%j",r.pipesCount,t);var s=t&&!1===t.end||e===n.stdout||e===n.stderr?v:u;function u(){o("onend"),e.end()}r.endEmitted?n.nextTick(s):i.once("end",s),e.on("unpipe",function t(n,a){o("onunpipe"),n===i&&a&&!1===a.hasUnpiped&&(a.hasUnpiped=!0,o("cleanup"),e.removeListener("close",f),e.removeListener("finish",p),e.removeListener("drain",c),e.removeListener("error",d),e.removeListener("unpipe",t),i.removeListener("end",u),i.removeListener("end",v),i.removeListener("data",h),l=!0,r.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&c())});var c=function(e){return function(){var t=e._readableState;o("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,j(e))}}(i);e.on("drain",c);var l=!1;function h(t){o("ondata");var n=e.write(t);o("dest.write",n),!1===n&&((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==z(r.pipes,e))&&!l&&(o("false write response, pause",r.awaitDrain),r.awaitDrain++),i.pause())}function d(t){o("onerror",t),v(),e.removeListener("error",d),0===a(e,"error")&&k(e,t)}function f(){e.removeListener("finish",p),v()}function p(){o("onfinish"),e.removeListener("close",f),v()}function v(){o("unpipe"),i.unpipe(e)}return i.on("data",h),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",d),e.once("close",f),e.once("finish",p),e.emit("pipe",i),r.flowing||(o("pipe resume"),i.resume()),e},C.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var i=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o0,!1!==r.flowing&&this.resume()):"readable"===e&&!r.endEmitted&&!r.readableListening&&(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,o("on readable",r.length,r.reading),r.length?A(this):r.reading||n.nextTick(N,this)),i},C.prototype.removeListener=function(e,t){var i=s.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(D,this),i},C.prototype.removeAllListeners=function(e){var t=s.prototype.removeAllListeners.apply(this,arguments);return("readable"===e||void 0===e)&&n.nextTick(D,this),t},C.prototype.resume=function(){var e=this._readableState;return e.flowing||(o("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(L,e,t))}(this,e)),e.paused=!1,this},C.prototype.pause=function(){return o("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(o("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},C.prototype.wrap=function(e){var t=this,n=this._readableState,i=!1;for(var r in e.on("end",function(){if(o("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(r){o("wrapped data"),n.decoder&&(r=n.decoder.write(r)),n.objectMode&&null==r||!(n.objectMode||r&&r.length)||t.push(r)||(i=!0,e.pause())}),e)void 0===this[r]&&"function"==typeof e[r]&&(this[r]=function(t){return function(){return e[t].apply(e,arguments)}}(r));for(var a=0;a-1))throw new w(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(C.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(C.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),C.prototype._write=function(e,t,n){n(new v("_write()"))},C.prototype._writev=null,C.prototype.end=function(e,t,i){var r=this._writableState;return"function"==typeof e?(i=e,e=null,t=null):"function"==typeof t&&(i=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||function(e,t,i){t.ending=!0,M(e,t),i&&(t.finished?n.nextTick(i):e.once("finish",i)),t.ended=!0,e.writable=!1}(this,r,i),this},Object.defineProperty(C.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){!this._writableState||(this._writableState.destroyed=e)}}),C.prototype.destroy=h.destroy,C.prototype._undestroy=h.undestroy,C.prototype._destroy=function(e,t){t(e)}}).call(this)}).call(this,e("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(e,t,n){(function(n){(function(){"use strict";var i;function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var o=e("./end-of-stream"),a=Symbol("lastResolve"),s=Symbol("lastReject"),u=Symbol("error"),c=Symbol("ended"),l=Symbol("lastPromise"),h=Symbol("handlePromise"),d=Symbol("stream");function f(e,t){return{value:e,done:t}}function p(e){var t=e[a];if(null!==t){var n=e[d].read();null!==n&&(e[l]=null,e[a]=null,e[s]=null,t(f(n,!1)))}}function v(e){n.nextTick(p,e)}var g=Object.getPrototypeOf(function(){}),m=Object.setPrototypeOf((r(i={get stream(){return this[d]},next:function(){var e=this,t=this[u];if(null!==t)return Promise.reject(t);if(this[c])return Promise.resolve(f(void 0,!0));if(this[d].destroyed)return new Promise(function(t,i){n.nextTick(function(){e[u]?i(e[u]):t(f(void 0,!0))})});var i,r=this[l];if(r)i=new Promise(function(e,t){return function(n,i){e.then(function(){t[c]?n(f(void 0,!0)):t[h](n,i)},i)}}(r,this));else{var o=this[d].read();if(null!==o)return Promise.resolve(f(o,!1));i=new Promise(this[h])}return this[l]=i,i}},Symbol.asyncIterator,function(){return this}),r(i,"return",function(){var e=this;return new Promise(function(t,n){e[d].destroy(null,function(e){e?n(e):t(f(void 0,!0))})})}),i),g);t.exports=function(e){var t,n=Object.create(m,(r(t={},d,{value:e,writable:!0}),r(t,a,{value:null,writable:!0}),r(t,s,{value:null,writable:!0}),r(t,u,{value:null,writable:!0}),r(t,c,{value:e._readableState.endEmitted,writable:!0}),r(t,h,{value:function(e,t){var i=n[d].read();i?(n[l]=null,n[a]=null,n[s]=null,e(f(i,!1))):(n[a]=e,n[s]=t)},writable:!0}),t));return n[l]=null,o(e,function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=n[s];return null!==t&&(n[l]=null,n[a]=null,n[s]=null,t(e)),void(n[u]=e)}var i=n[a];null!==i&&(n[l]=null,n[a]=null,n[s]=null,i(f(void 0,!0))),n[c]=!0}),e.on("readable",v.bind(null,n)),n}}).call(this)}).call(this,e("_process"))},{"./end-of-stream":76,_process:44}],74:[function(e,t,n){"use strict";function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){for(var n=0;n0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return a.alloc(0);for(var t=a.allocUnsafe(e>>>0),n=this.head,i=0;n;)c(n.data,t,i),i+=n.data.length,n=n.next;return t}},{key:"consume",value:function(e,t){var n;return er.length?r.length:e;if(i+=o===r.length?r:r.slice(0,e),0==(e-=o)){o===r.length?(++n,this.head=t.next?t.next:this.tail=null):(this.head=t,t.data=r.slice(o));break}++n}return this.length-=n,i}},{key:"_getBuffer",value:function(e){var t=a.allocUnsafe(e),n=this.head,i=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var r=n.data,o=e>r.length?r.length:e;if(r.copy(t,t.length-e,0,o),0==(e-=o)){o===r.length?(++i,this.head=n.next?n.next:this.tail=null):(this.head=n,n.data=r.slice(o));break}++i}return this.length-=i,t}},{key:u,value:function(e,t){return s(this,function(e){for(var t=1;t0,function(e){r||(r=e),e&&a.forEach(c),!o&&(a.forEach(c),i(r))})});return t.reduce(l)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(e,t,n){"use strict";var i=e("../../../errors").codes.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(e,t,n,r){var o=function(e,t,n){return null!=e.highWaterMark?e.highWaterMark:t?e[n]:null}(t,r,n);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new i(r?n:"highWaterMark",o);return Math.floor(o)}return e.objectMode?16:16384}}},{"../../../errors":67}],80:[function(e,t,n){t.exports=e("events").EventEmitter},{events:8}],81:[function(e,t,n){(n=t.exports=e("./lib/_stream_readable.js")).Stream=n,n.Readable=n,n.Writable=e("./lib/_stream_writable.js"),n.Duplex=e("./lib/_stream_duplex.js"),n.Transform=e("./lib/_stream_transform.js"),n.PassThrough=e("./lib/_stream_passthrough.js"),n.finished=e("./lib/internal/streams/end-of-stream.js"),n.pipeline=e("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),function(e){for(var t in e)n.hasOwnProperty(t)||(n[t]=e[t])}(e("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(e,t,n){"use strict";function i(e){for(var t=[],n=0;n=0?"/"===e[t+1]&&"/"===e[t+2]&&(n=t+3):"/"===e[0]&&"/"===e[1]&&(n=2);var r=e.indexOf("/",n);return r<0?e:e.substr(0,r)+i(e.substr(r))}function o(e){return!e||"#"===e||"?"===e||"/"===e}Object.defineProperty(n,"__esModule",{value:!0}),n.resolve=function(e,t){var n=(t=t||"").indexOf("#");if(n>0&&(t=t.substr(0,n)),!e.length){if(t.indexOf(":")<0)throw new Error("Found invalid baseIRI '".concat(t,"' for value '").concat(e,"'"));return t}if(e.startsWith("?")){var o=t.indexOf("?");return o>0&&(t=t.substr(0,o)),t+e}if(e.startsWith("#"))return t+e;if(!t.length){var a=e.indexOf(":");if(a<0)throw new Error("Found invalid relative IRI '".concat(e,"' for a missing baseIRI"));return r(e,a)}var s=e.indexOf(":");if(s>=0)return r(e,s);var u=t.indexOf(":");if(u<0)throw new Error("Found invalid baseIRI '".concat(t,"' for value '").concat(e,"'"));var c,l=t.substr(0,u+1);if(0===e.indexOf("//"))return l+r(e,s);if(t.indexOf("//",u)===u+1){if((c=t.indexOf("/",u+3))<0)return t.length>u+3?t+"/"+r(e,s):l+r(e,s)}else if((c=t.indexOf("/",u+1))<0)return l+r(e,s);if(0===e.indexOf("/"))return t.substr(0,c)+i(e);var h=t.substr(c),d=h.lastIndexOf("/");return d>=0&&d"===o?(E(t,"onsgmldeclaration",t.sgmlDecl),t.sgmlDecl="",t.state=x.TEXT):(g(o)&&(t.state=x.SGML_DECL_QUOTED),t.sgmlDecl+=o);continue;case x.SGML_DECL_QUOTED:o===t.q&&(t.state=x.SGML_DECL,t.q=""),t.sgmlDecl+=o;continue;case x.DOCTYPE:">"===o?(t.state=x.TEXT,E(t,"ondoctype",t.doctype),t.doctype=!0):(t.doctype+=o,"["===o?t.state=x.DOCTYPE_DTD:g(o)&&(t.state=x.DOCTYPE_QUOTED,t.q=o));continue;case x.DOCTYPE_QUOTED:t.doctype+=o,o===t.q&&(t.q="",t.state=x.DOCTYPE);continue;case x.DOCTYPE_DTD:t.doctype+=o,"]"===o?t.state=x.DOCTYPE:g(o)&&(t.state=x.DOCTYPE_DTD_QUOTED,t.q=o);continue;case x.DOCTYPE_DTD_QUOTED:t.doctype+=o,o===t.q&&(t.state=x.DOCTYPE_DTD,t.q="");continue;case x.COMMENT:"-"===o?t.state=x.COMMENT_ENDING:t.comment+=o;continue;case x.COMMENT_ENDING:"-"===o?(t.state=x.COMMENT_ENDED,t.comment=T(t.opt,t.comment),t.comment&&E(t,"oncomment",t.comment),t.comment=""):(t.comment+="-"+o,t.state=x.COMMENT);continue;case x.COMMENT_ENDED:">"!==o?(M(t,"Malformed comment"),t.comment+="--"+o,t.state=x.COMMENT):t.state=x.TEXT;continue;case x.CDATA:"]"===o?t.state=x.CDATA_ENDING:t.cdata+=o;continue;case x.CDATA_ENDING:"]"===o?t.state=x.CDATA_ENDING_2:(t.cdata+="]"+o,t.state=x.CDATA);continue;case x.CDATA_ENDING_2:">"===o?(t.cdata&&E(t,"oncdata",t.cdata),E(t,"onclosecdata"),t.cdata="",t.state=x.TEXT):"]"===o?t.cdata+="]":(t.cdata+="]]"+o,t.state=x.CDATA);continue;case x.PROC_INST:"?"===o?t.state=x.PROC_INST_ENDING:v(o)?t.state=x.PROC_INST_BODY:t.procInstName+=o;continue;case x.PROC_INST_BODY:if(!t.procInstBody&&v(o))continue;"?"===o?t.state=x.PROC_INST_ENDING:t.procInstBody+=o;continue;case x.PROC_INST_ENDING:">"===o?(E(t,"onprocessinginstruction",{name:t.procInstName,body:t.procInstBody}),t.procInstName=t.procInstBody="",t.state=x.TEXT):(t.procInstBody+="?"+o,t.state=x.PROC_INST_BODY);continue;case x.OPEN_TAG:y(d,o)?t.tagName+=o:(I(t),">"===o?N(t):"/"===o?t.state=x.OPEN_TAG_SLASH:(v(o)||M(t,"Invalid character in tag name"),t.state=x.ATTRIB));continue;case x.OPEN_TAG_SLASH:">"===o?(N(t,!0),L(t)):(M(t,"Forward-slash in opening tag not followed by >"),t.state=x.ATTRIB);continue;case x.ATTRIB:if(v(o))continue;">"===o?N(t):"/"===o?t.state=x.OPEN_TAG_SLASH:y(h,o)?(t.attribName=o,t.attribValue="",t.state=x.ATTRIB_NAME):M(t,"Invalid attribute name");continue;case x.ATTRIB_NAME:"="===o?t.state=x.ATTRIB_VALUE:">"===o?(M(t,"Attribute without value"),t.attribValue=t.attribName,D(t),N(t)):v(o)?t.state=x.ATTRIB_NAME_SAW_WHITE:y(d,o)?t.attribName+=o:M(t,"Invalid attribute name");continue;case x.ATTRIB_NAME_SAW_WHITE:if("="===o)t.state=x.ATTRIB_VALUE;else{if(v(o))continue;M(t,"Attribute without value"),t.tag.attributes[t.attribName]="",t.attribValue="",E(t,"onattribute",{name:t.attribName,value:""}),t.attribName="",">"===o?N(t):y(h,o)?(t.attribName=o,t.state=x.ATTRIB_NAME):(M(t,"Invalid attribute name"),t.state=x.ATTRIB)}continue;case x.ATTRIB_VALUE:if(v(o))continue;g(o)?(t.q=o,t.state=x.ATTRIB_VALUE_QUOTED):(M(t,"Unquoted attribute value"),t.state=x.ATTRIB_VALUE_UNQUOTED,t.attribValue=o);continue;case x.ATTRIB_VALUE_QUOTED:if(o!==t.q){"&"===o?t.state=x.ATTRIB_VALUE_ENTITY_Q:t.attribValue+=o;continue}D(t),t.q="",t.state=x.ATTRIB_VALUE_CLOSED;continue;case x.ATTRIB_VALUE_CLOSED:v(o)?t.state=x.ATTRIB:">"===o?N(t):"/"===o?t.state=x.OPEN_TAG_SLASH:y(h,o)?(M(t,"No whitespace between attributes"),t.attribName=o,t.attribValue="",t.state=x.ATTRIB_NAME):M(t,"Invalid attribute name");continue;case x.ATTRIB_VALUE_UNQUOTED:if(!m(o)){"&"===o?t.state=x.ATTRIB_VALUE_ENTITY_U:t.attribValue+=o;continue}D(t),">"===o?N(t):t.state=x.ATTRIB;continue;case x.CLOSE_TAG:if(t.tagName)">"===o?L(t):y(d,o)?t.tagName+=o:t.script?(t.script+=""===o?L(t):M(t,"Invalid characters in closing tag");continue;case x.TEXT_ENTITY:case x.ATTRIB_VALUE_ENTITY_Q:case x.ATTRIB_VALUE_ENTITY_U:var s,u;switch(t.state){case x.TEXT_ENTITY:s=x.TEXT,u="textNode";break;case x.ATTRIB_VALUE_ENTITY_Q:s=x.ATTRIB_VALUE_QUOTED,u="attribValue";break;case x.ATTRIB_VALUE_ENTITY_U:s=x.ATTRIB_VALUE_UNQUOTED,u="attribValue"}";"===o?(t[u]+=j(t),t.entity="",t.state=s):y(t.entity.length?p:f,o)?t.entity+=o:(M(t,"Invalid character in entity name"),t[u]+="&"+t.entity+o,t.entity="",t.state=s);continue;default:throw new Error(t,"Unknown state: "+t.state)}return t.position>=t.bufferCheckPosition&&function(e){for(var t=Math.max(n.MAX_BUFFER_LENGTH,10),i=0,o=0,a=r.length;ot)switch(r[o]){case"textNode":O(e);break;case"cdata":E(e,"oncdata",e.cdata),e.cdata="";break;case"script":E(e,"onscript",e.script),e.script="";break;default:P(e,"Max buffer length exceeded: "+r[o])}i=Math.max(i,s)}e.bufferCheckPosition=n.MAX_BUFFER_LENGTH-i+e.position}(t),t},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(e){O(e),""!==e.cdata&&(E(e,"oncdata",e.cdata),e.cdata=""),""!==e.script&&(E(e,"onscript",e.script),e.script="")}(this)}};try{i=e("stream").Stream}catch(_){i=function(){}}var a=n.EVENTS.filter(function(e){return"error"!==e&&"end"!==e});function s(e,t){if(!(this instanceof s))return new s(e,t);i.apply(this),this._parser=new o(e,t),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit("end")},this._parser.onerror=function(e){n.emit("error",e),n._parser.error=null},this._decoder=null,a.forEach(function(e){Object.defineProperty(n,"on"+e,{get:function(){return n._parser["on"+e]},set:function(t){if(!t)return n.removeAllListeners(e),n._parser["on"+e]=t,t;n.on(e,t)},enumerable:!0,configurable:!1})})}(s.prototype=Object.create(i.prototype,{constructor:{value:s}})).write=function(n){if("function"==typeof t&&"function"==typeof t.isBuffer&&t.isBuffer(n)){if(!this._decoder){var i=e("string_decoder").StringDecoder;this._decoder=new i("utf8")}n=this._decoder.write(n)}return this._parser.write(n.toString()),this.emit("data",n),!0},s.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},s.prototype.on=function(e,t){var n=this;return!n._parser["on"+e]&&-1!==a.indexOf(e)&&(n._parser["on"+e]=function(){var t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),n.emit.apply(n,t)}),i.prototype.on.call(n,e,t)};var u="http://www.w3.org/XML/1998/namespace",c="http://www.w3.org/2000/xmlns/",l={xml:u,xmlns:c},h=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,d=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,f=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function v(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}function g(e){return'"'===e||"'"===e}function m(e){return">"===e||v(e)}function y(e,t){return e.test(t)}function b(e,t){return!y(e,t)}var _,w,k,x=0;for(var S in n.STATE={BEGIN:x++,BEGIN_WHITESPACE:x++,TEXT:x++,TEXT_ENTITY:x++,OPEN_WAKA:x++,SGML_DECL:x++,SGML_DECL_QUOTED:x++,DOCTYPE:x++,DOCTYPE_QUOTED:x++,DOCTYPE_DTD:x++,DOCTYPE_DTD_QUOTED:x++,COMMENT_STARTING:x++,COMMENT:x++,COMMENT_ENDING:x++,COMMENT_ENDED:x++,CDATA:x++,CDATA_ENDING:x++,CDATA_ENDING_2:x++,PROC_INST:x++,PROC_INST_BODY:x++,PROC_INST_ENDING:x++,OPEN_TAG:x++,OPEN_TAG_SLASH:x++,ATTRIB:x++,ATTRIB_NAME:x++,ATTRIB_NAME_SAW_WHITE:x++,ATTRIB_VALUE:x++,ATTRIB_VALUE_QUOTED:x++,ATTRIB_VALUE_CLOSED:x++,ATTRIB_VALUE_UNQUOTED:x++,ATTRIB_VALUE_ENTITY_Q:x++,ATTRIB_VALUE_ENTITY_U:x++,CLOSE_TAG:x++,CLOSE_TAG_SAW_WHITE:x++,SCRIPT:x++,SCRIPT_ENDING:x++},n.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},n.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(n.ENTITIES).forEach(function(e){var t=n.ENTITIES[e],i="number"==typeof t?String.fromCharCode(t):t;n.ENTITIES[e]=i}),n.STATE)n.STATE[n.STATE[S]]=S;function C(e,t,n){e[t]&&e[t](n)}function E(e,t,n){e.textNode&&O(e),C(e,t,n)}function O(e){e.textNode=T(e.opt,e.textNode),e.textNode&&C(e,"ontext",e.textNode),e.textNode=""}function T(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function P(e,t){return O(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=new Error(t),e.error=t,C(e,"onerror",t),e}function A(e){return e.sawRoot&&!e.closedRoot&&M(e,"Unclosed root tag"),e.state!==x.BEGIN&&e.state!==x.BEGIN_WHITESPACE&&e.state!==x.TEXT&&P(e,"Unexpected end"),O(e),e.c="",e.closed=!0,C(e,"onend"),o.call(e,e.strict,e.opt),e}function M(e,t){if("object"!=typeof e||!(e instanceof o))throw new Error("bad call to strictFail");e.strict&&P(e,t)}function I(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,n=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(n.ns=t.ns),e.attribList.length=0,E(e,"onopentagstart",n)}function R(e,t){var n=e.indexOf(":")<0?["",e]:e.split(":"),i=n[0],r=n[1];return t&&"xmlns"===e&&(i="xmlns",r=""),{prefix:i,local:r}}function D(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName))e.attribName=e.attribValue="";else{if(e.opt.xmlns){var t=R(e.attribName,!0),n=t.local;if("xmlns"===t.prefix)if("xml"===n&&e.attribValue!==u)M(e,"xml: prefix must be bound to "+u+"\nActual: "+e.attribValue);else if("xmlns"===n&&e.attribValue!==c)M(e,"xmlns: prefix must be bound to "+c+"\nActual: "+e.attribValue);else{var i=e.tag,r=e.tags[e.tags.length-1]||e;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[n]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,E(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}}function N(e,t){if(e.opt.xmlns){var n=e.tag,i=R(e.tagName);n.prefix=i.prefix,n.local=i.local,n.uri=n.ns[i.prefix]||"",n.prefix&&!n.uri&&(M(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),n.uri=i.prefix),n.ns&&(e.tags[e.tags.length-1]||e).ns!==n.ns&&Object.keys(n.ns).forEach(function(t){E(e,"onopennamespace",{prefix:t,uri:n.ns[t]})});for(var r=0,o=e.attribList.length;r",e.tagName="",void(e.state=x.SCRIPT);E(e,"onscript",e.script),e.script=""}var t=e.tags.length,n=e.tagName;e.strict||(n=n[e.looseCase]());for(var i=n;t--&&e.tags[t].name!==i;)M(e,"Unexpected close tag");if(t<0)return M(e,"Unmatched closing tag: "+e.tagName),e.textNode+="",void(e.state=x.TEXT);e.tagName=n;for(var r=e.tags.length;r-- >t;){var o=e.tag=e.tags.pop();e.tagName=e.tag.name,E(e,"onclosetag",e.tagName);var a={};for(var s in o.ns)a[s]=o.ns[s];e.opt.xmlns&&o.ns!==(e.tags[e.tags.length-1]||e).ns&&Object.keys(o.ns).forEach(function(t){E(e,"onclosenamespace",{prefix:t,uri:o.ns[t]})})}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=x.TEXT}function j(e){var t,n=e.entity,i=n.toLowerCase(),r="";return e.ENTITIES[n]?e.ENTITIES[n]:e.ENTITIES[i]?e.ENTITIES[i]:("#"===(n=i).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),r=(t=parseInt(n,16)).toString(16)):(n=n.slice(1),r=(t=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(t)||r.toLowerCase()!==n?(M(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t))}function F(e,t){"<"===t?(e.state=x.OPEN_WAKA,e.startTagPosition=e.position):v(t)||(M(e,"Non-whitespace before first tag."),e.textNode=t,e.state=x.TEXT)}function B(e,t){var n="";return t1114111||w(o)!==o)throw RangeError("Invalid code point: "+o);o<=65535?t.push(o):t.push(55296+((o-=65536)>>10),o%1024+56320),(n+1===i||t.length>e)&&(r+=_.apply(null,t),t.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:k,configurable:!0,writable:!0}):String.fromCodePoint=k)}(void 0===n?this.sax={}:n)}).call(this)}).call(this,e("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(e,t,n){(function(e,t){(function(){!function(t,n){"use strict";if(!t.setImmediate){var i,r=1,o={},a=!1,s=t.document,u=Object.getPrototypeOf&&Object.getPrototypeOf(t);u=u&&u.setTimeout?u:t,"[object process]"==={}.toString.call(t.process)?i=function(t){e.nextTick(function(){d(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?(c="setImmediate$"+Math.random()+"$",l=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(c)&&d(+e.data.slice(c.length))},t.addEventListener?t.addEventListener("message",l,!1):t.attachEvent("onmessage",l),i=function(e){t.postMessage(c+e,"*")}):t.MessageChannel?function(){var e=new MessageChannel;e.port1.onmessage=function(e){d(e.data)},i=function(t){e.port2.postMessage(t)}}():s&&"onreadystatechange"in s.createElement("script")?function(){var e=s.documentElement;i=function(t){var n=s.createElement("script");n.onreadystatechange=function(){d(t),n.onreadystatechange=null,e.removeChild(n),n=null},e.appendChild(n)}}():i=function(e){setTimeout(d,0,e)},u.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n.setImmediate="function"==typeof t?t:function(e){var t=u++,i=!(arguments.length<2)&&a.call(arguments,1);return s[t]=!0,r(function(){s[t]&&(i?e.apply(null,i):e.call(null),n.clearImmediate(t))}),t},n.clearImmediate="function"==typeof i?i:function(e){delete s[e]}}).call(this)}).call(this,e("timers").setImmediate,e("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(e,t,n){(function(e){(function(){function n(t){try{if(!e.localStorage)return!1}catch(i){return!1}var n=e.localStorage[t];return null!=n&&"true"===String(n).toLowerCase()}t.exports=function(e,t){if(n("noDeprecation"))return e;var i=!1;return function(){if(!i){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),i=!0}return e.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(e,t,n){"use strict";t.exports=function(e){e.prototype[Symbol.iterator]=regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t=this.head;case 1:if(!t){e.next=7;break}return e.next=4,t.value;case 4:t=t.next,e.next=1;break;case 7:case"end":return e.stop()}},e,this)})}},{}],92:[function(e,t,n){"use strict";function i(e){var t=this;if(t instanceof i||(t=new i),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach(function(e){t.push(e)});else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");i=this.head.next,n=this.head.value}for(var r=0;null!==i;r++)n=e(n,i.value,r),i=i.next;return n},i.prototype.reduceReverse=function(e,t){var n,i=this.tail;if(arguments.length>1)n=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");i=this.tail.prev,n=this.tail.value}for(var r=this.length-1;null!==i;r--)n=e(n,i.value,r),i=i.prev;return n},i.prototype.toArray=function(){for(var e=new Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},i.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},i.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new i;if(tthis.length&&(t=this.length);for(var r=0,o=this.head;null!==o&&rthis.length&&(t=this.length);for(var r=this.length,o=this.tail;null!==o&&r>t;r--)o=o.prev;for(;null!==o&&r>e;r--,o=o.prev)n.push(o.value);return n},i.prototype.splice=function(e,t){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var n=0,i=this.head;null!==i&&n=0?1.2:1))}function i(e,t,n,i,o,a){for(var s=0;s-1);a[++c]=u,s[c]=l,s[c+1]=t}for(u=0,c=0;u is not a method!");return{configurable:i.boolTrue,get:function(){var e=n.value.bind(this);return Object.defineProperty(this,t,{value:e,configurable:i.boolTrue,writable:i.boolTrue}),e}}}t.ak=r,t.ZP=r},97266:function(e,t,n){e.exports={ResizeSensor:n(69835),ElementQueries:n(54845)}},54845:function(e,t,n){"use strict";var i,r,o;"undefined"!=typeof window&&window,r=[n(69835)],void 0!==(o="function"==typeof(i=function(e){var t=function(){var t,n={},i=[];function r(e){e||(e=document.documentElement);var t=window.getComputedStyle(e,null).fontSize;return parseFloat(t)||16}function o(e,t){var n=t.split(/\d/),i=n[n.length-1];switch(t=parseFloat(t),i){case"px":return t;case"em":return t*r(e);case"rem":return t*r();case"vw":return t*document.documentElement.clientWidth/100;case"vh":return t*document.documentElement.clientHeight/100;case"vmin":case"vmax":var o=document.documentElement.clientWidth/100,a=document.documentElement.clientHeight/100;return t*(0,Math["vmin"===i?"min":"max"])(o,a);default:return t}}function a(e,t){this.element=e;var i,r,a,s,u,c,l,h,d=["min-width","min-height","max-width","max-height"];this.call=function(){for(i in a=function(e){if(!e.getBoundingClientRect)return{width:e.offsetWidth,height:e.offsetHeight};var t=e.getBoundingClientRect();return{width:Math.round(t.width),height:Math.round(t.height)}}(this.element),c={},n[t])!n[t].hasOwnProperty(i)||(s=o(this.element,(r=n[t][i]).value),u="width"===r.property?a.width:a.height,l="","min"===r.mode&&u>=s&&(l+=r.value),"max"===r.mode&&u<=s&&(l+=r.value),c[h=r.mode+"-"+r.property]||(c[h]=""),l&&-1===(" "+c[h]+" ").indexOf(" "+l+" ")&&(c[h]+=" "+l));for(var e in d)!d.hasOwnProperty(e)||(c[d[e]]?this.element.setAttribute(d[e],c[d[e]].substr(1)):this.element.removeAttribute(d[e]))}}function s(t,n){t.elementQueriesSetupInformation||(t.elementQueriesSetupInformation=new a(t,n)),t.elementQueriesSensor||(t.elementQueriesSensor=new e(t,function(){t.elementQueriesSetupInformation.call()}))}function u(e,r,o,a){if(void 0===n[e]){n[e]=[];var s=i.length;t.innerHTML+="\n"+e+" {animation: 0.1s element-queries;}",t.innerHTML+="\n"+e+" > .resize-sensor {min-width: "+s+"px;}",i.push(e)}n[e].push({mode:r,property:o,value:a})}function c(e){var t;if(document.querySelectorAll&&(t=e?e.querySelectorAll.bind(e):document.querySelectorAll.bind(document)),!t&&"undefined"!=typeof $$&&(t=$$),!t&&"undefined"!=typeof jQuery&&(t=jQuery),!t)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return t}function l(t){var n=[],i=[],r=[],o=0,a=-1,s=[];for(var u in t.children)if(t.children.hasOwnProperty(u)&&t.children[u].tagName&&"img"===t.children[u].tagName.toLowerCase()){n.push(t.children[u]);var c=t.children[u].getAttribute("min-width")||t.children[u].getAttribute("data-min-width"),l=t.children[u].getAttribute("data-src")||t.children[u].getAttribute("url");r.push(l),i.push({minWidth:c}),c?t.children[u].style.display="none":(o=n.length-1,t.children[u].style.display="block")}function h(){var e,u=!1;for(e in n)!n.hasOwnProperty(e)||i[e].minWidth&&t.offsetWidth>i[e].minWidth&&(u=e);if(u||(u=o),a!==u)if(s[u])n[a].style.display="none",n[u].style.display="block",a=u;else{var c=new Image;c.onload=function(){n[u].src=r[u],n[a].style.display="none",n[u].style.display="block",s[u]=!0,a=u},c.src=r[u]}else n[u].src=r[u]}a=o,t.resizeSensorInstance=new e(t,h),h()}var h=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,d=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function f(e){var t,n,i,r;for(e=e.replace(/'/g,'"');null!==(t=h.exec(e));)for(n=t[1]+t[3],i=t[2];null!==(r=d.exec(i));)u(n,r[1],r[2],r[3])}function p(e){var t="";if(e)if("string"==typeof e)(-1!==(e=e.toLowerCase()).indexOf("min-width")||-1!==e.indexOf("max-width"))&&f(e);else for(var n=0,i=e.length;n img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",t.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(t),v=!0);for(var r=0,o=document.styleSheets.length;r0&&a.length>r&&!a.warned){a.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=a.length,console&&console.warn&&console.warn(s)}return e}function E(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function O(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=E.bind(i);return r.listener=n,i.wrapFn=r,r}function T(e,t,n){var i=e._events;if(void 0===i)return[];var r=i[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(o=t[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var s=r[e];if(void 0===s)return!1;if("function"==typeof s)b(s,this,t);else{var u=s.length,c=A(s,u);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){a=n[o].listener,r=o;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1=0;i--)this.removeListener(e,t[i]);return this},w.prototype.listeners=function(e){return T(this,e,!0)},w.prototype.rawListeners=function(e){return T(this,e,!1)},w.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):P.call(e,t)},w.prototype.listenerCount=P,w.prototype.eventNames=function(){return this._eventsCount>0?g(this._events):[]},I.prototype.next=function(){if(this.done)return{done:!0};var e=this._next();return e.done&&(this.done=!0),e},"undefined"!=typeof Symbol&&(I.prototype[Symbol.iterator]=function(){return this}),I.of=function(){var e=arguments,t=e.length,n=0;return new I(function(){return n>=t?{done:!0}:{done:!1,value:e[n++]}})},I.empty=function(){var e=new I(null);return e.done=!0,e},I.is=function(e){return e instanceof I||"object"==typeof e&&null!==e&&"function"==typeof e.next};var R=I,D=function(e,t){for(var n,i=arguments.length>1?t:1/0,r=i!==1/0?new Array(i):[],o=0;;){if(o===i)return r;if((n=e.next()).done)return o!==t?r.slice(0,o):r;r[o++]=n.value}},N=function(e){function n(t,n){var i;return(i=e.call(this)||this).name="GraphError",i.message=t||"",i.data=n||{},i}return t(n,e),n}(a(Error)),L=function(e){function n(t,i){var r;return(r=e.call(this,t,i)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(s(r),n.prototype.constructor),r}return t(n,e),n}(N),j=function(e){function n(t,i){var r;return(r=e.call(this,t,i)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(s(r),n.prototype.constructor),r}return t(n,e),n}(N),F=function(e){function n(t,i){var r;return(r=e.call(this,t,i)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(s(r),n.prototype.constructor),r}return t(n,e),n}(N);function B(e,t){this.key=e,this.attributes=t,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function V(e,t){this.key=e,this.attributes=t,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function z(e,t){this.key=e,this.attributes=t,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function U(e,t,n,i,r,o){this.key=t,this.attributes=o,this.undirected=e,this.source=i,this.target=r,this.generatedKey=n}function H(e,t,n,i,r,o,a){var s,u,c="out",l="in";if(t&&(c=l="undirected"),e.multi){if(void 0===(u=(s=o[c])[r])&&(u=new Set,s[r]=u),u.add(n),i===r&&t)return;void 0===(s=a[l])[i]&&(s[i]=u)}else{if(o[c][r]=n,i===r&&t)return;a[l][i]=n}}function G(e,t,n){var i=e.multi,r=n.source,o=n.target,a=r.key,s=o.key,u=r[t?"undirected":"out"],c=t?"undirected":"in";if(s in u)if(i){var l=u[s];1===l.size?(delete u[s],delete o[c][a]):l.delete(n)}else delete u[s];i||delete o[c][a]}V.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},z.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var W=[{name:function(e){return"get".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return r.attributes[i]}}},{name:function(e){return"get".concat(e,"Attributes")},attacher:function(e,t,n){e.prototype[t]=function(e){var i;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var r=""+e,o=""+arguments[1];if(!(i=c(this,r,o,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(r,'" - "').concat(o,'").'))}else if(!(i=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&i.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return i.attributes}}},{name:function(e){return"has".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return r.attributes.hasOwnProperty(i)}}},{name:function(e){return"set".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i,r){var o;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var a=""+e,s=""+i;if(i=arguments[2],r=arguments[3],!(o=c(this,a,s,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(a,'" - "').concat(s,'").'))}else if(!(o=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&o.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return o.attributes[i]=r,this.emit("edgeAttributesUpdated",{key:o.key,type:"set",attributes:o.attributes,name:i}),this}}},{name:function(e){return"update".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i,r){var o;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var a=""+e,s=""+i;if(i=arguments[2],r=arguments[3],!(o=c(this,a,s,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(a,'" - "').concat(s,'").'))}else if(!(o=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("function"!=typeof r)throw new L("Graph.".concat(t,": updater should be a function."));if("mixed"!==n&&o.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return o.attributes[i]=r(o.attributes[i]),this.emit("edgeAttributesUpdated",{key:o.key,type:"set",attributes:o.attributes,name:i}),this}}},{name:function(e){return"remove".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return delete r.attributes[i],this.emit("edgeAttributesUpdated",{key:r.key,type:"remove",attributes:r.attributes,name:i}),this}}},{name:function(e){return"replace".concat(e,"Attributes")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(t,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return r.attributes=i,this.emit("edgeAttributesUpdated",{key:r.key,type:"replace",attributes:r.attributes}),this}}},{name:function(e){return"merge".concat(e,"Attributes")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(t,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return u(r.attributes,i),this.emit("edgeAttributesUpdated",{key:r.key,type:"merge",attributes:r.attributes,data:i}),this}}}],q=R,X=function(){var e,t=arguments,n=-1;return new q(function i(){if(!e){if(++n>=t.length)return{done:!0};e=t[n]}var r=e.next();return r.done?(e=null,i()):r})},Y=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function K(e,t){for(var n in t)e.push(t[n].key)}function $(e,t){for(var n in t)t[n].forEach(function(t){return e.push(t.key)})}function Q(e,t,n){for(var i in e)if(i!==n){var r=e[i];t(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey)}}function Z(e,t,n){for(var i in e)i!==n&&e[i].forEach(function(e){return t(e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes,e.undirected,e.generatedKey)})}function J(e,t,n){for(var i in e)if(i!==n){var r=e[i];if(t(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey))return!0}return!1}function ee(e,t,n){var i,r,o,a,s;for(var u in e)if(u!==n)for(i=e[u].values();!0!==(r=i.next()).done;)if(a=(o=r.value).source,t(o.key,o.attributes,a.key,(s=o.target).key,a.attributes,s.attributes,o.undirected,o.generatedKey))return!0;return!1}function te(e,t){var n=Object.keys(e),i=n.length,r=null,o=0;return new R(function a(){var s;if(r){var u=r.next();if(u.done)return r=null,o++,a();s=u.value}else{if(o>=i)return{done:!0};var c=n[o];if(c===t)return o++,a();if((s=e[c])instanceof Set)return r=s.values(),a();o++}return{done:!1,value:[s.key,s.attributes,s.source.key,s.target.key,s.source.attributes,s.target.attributes]}})}function ne(e,t,n){var i=t[n];i&&e.push(i.key)}function ie(e,t,n){var i=t[n];i&&i.forEach(function(t){return e.push(t.key)})}function re(e,t,n){var i=e[t];if(i){var r=i.source,o=i.target;n(i.key,i.attributes,r.key,o.key,r.attributes,o.attributes,i.undirected,i.generatedKey)}}function oe(e,t,n){var i=e[t];i&&i.forEach(function(e){return n(e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes,e.undirected,e.generatedKey)})}function ae(e,t,n){var i=e[t];if(i){var r=i.source,o=i.target;return n(i.key,i.attributes,r.key,o.key,r.attributes,o.attributes,i.undirected,i.generatedKey)}}function se(e,t,n){var i=e[t];if(i){for(var r,o,a=i.values();!0!==(r=a.next()).done;)if(n((o=r.value).key,o.attributes,o.source.key,o.target.key,o.source.attributes,o.target.attributes,o.undirected,o.generatedKey))return!0;return!1}}function ue(e,t){var n=e[t];if(n instanceof Set){var i=n.values();return new R(function(){var e=i.next();if(e.done)return e;var t=e.value;return{done:!1,value:[t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes]}})}return R.of([n.key,n.attributes,n.source.key,n.target.key,n.source.attributes,n.target.attributes])}function ce(e,t){if(0===e.size)return[];if("mixed"===t||t===e.type)return"function"==typeof Array.from?Array.from(e._edges.keys()):D(e._edges.keys(),e._edges.size);for(var n,i,r=new Array("undirected"===t?e.undirectedSize:e.directedSize),o="undirected"===t,a=e._edges.values(),s=0;!0!==(n=a.next()).done;)(i=n.value).undirected===o&&(r[s++]=i.key);return r}function le(e,t,n){if(0!==e.size)for(var i,r,o="mixed"!==t&&t!==e.type,a="undirected"===t,s=e._edges.values();!0!==(i=s.next()).done;)if(r=i.value,!o||r.undirected===a){var u=r.source,c=r.target;n(r.key,r.attributes,u.key,c.key,u.attributes,c.attributes,r.undirected,r.generatedKey)}}function he(e,t,n){if(0!==e.size)for(var i,r,o="mixed"!==t&&t!==e.type,a="undirected"===t,s=e._edges.values();!0!==(i=s.next()).done;)if(r=i.value,!o||r.undirected===a){var u=r.source,c=r.target;if(n(r.key,r.attributes,u.key,c.key,u.attributes,c.attributes,r.undirected,r.generatedKey))break}}function de(e,t){if(0===e.size)return R.empty();var n="mixed"!==t&&t!==e.type,i="undirected"===t,r=e._edges.values();return new R(function(){for(var e,t;;){if((e=r.next()).done)return e;if(t=e.value,!n||t.undirected===i)break}return{value:[t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes],done:!1}})}function fe(e,t,n,i){var r=[],o=e?$:K;return"undirected"!==t&&("out"!==n&&o(r,i.in),"in"!==n&&o(r,i.out),!n&&i.directedSelfLoops>0&&r.splice(r.lastIndexOf(i.key),1)),"directed"!==t&&o(r,i.undirected),r}function pe(e,t,n,i,r){var o=e?Z:Q;"undirected"!==t&&("out"!==n&&o(i.in,r),"in"!==n&&o(i.out,r,n?null:i.key)),"directed"!==t&&o(i.undirected,r)}function ve(e,t,n,i,r){var o=e?ee:J;"undirected"!==t&&("out"!==n&&o(i.in,r)||"in"!==n&&o(i.out,r,n?null:i.key))||"directed"===t||o(i.undirected,r)}function ge(e,t,n){var i=R.empty();return"undirected"!==e&&("out"!==t&&void 0!==n.in&&(i=X(i,te(n.in))),"in"!==t&&void 0!==n.out&&(i=X(i,te(n.out,t?null:n.key)))),"directed"!==e&&void 0!==n.undirected&&(i=X(i,te(n.undirected))),i}function me(e,t,n,i,r){var o=t?ie:ne,a=[];return"undirected"!==e&&(void 0!==i.in&&"out"!==n&&o(a,i.in,r),void 0!==i.out&&"in"!==n&&o(a,i.out,r),!n&&i.directedSelfLoops>0&&a.splice(a.lastIndexOf(i.key),1)),"directed"!==e&&void 0!==i.undirected&&o(a,i.undirected,r),a}function ye(e,t,n,i,r,o){var a=t?oe:re;"undirected"!==e&&(void 0!==i.in&&"out"!==n&&a(i.in,r,o),i.key!==r&&void 0!==i.out&&"in"!==n&&a(i.out,r,o)),"directed"!==e&&void 0!==i.undirected&&a(i.undirected,r,o)}function be(e,t,n,i,r,o){var a=t?se:ae;"undirected"!==e&&(void 0!==i.in&&"out"!==n&&a(i.in,r,o)||i.key!==r&&void 0!==i.out&&"in"!==n&&a(i.out,r,o,n?null:i.key))||"directed"===e||void 0===i.undirected||a(i.undirected,r,o)}function _e(e,t,n,i){var r=R.empty();return"undirected"!==e&&(void 0!==n.in&&"out"!==t&&i in n.in&&(r=X(r,ue(n.in,i))),void 0!==n.out&&"in"!==t&&i in n.out&&(r=X(r,ue(n.out,i)))),"directed"!==e&&void 0!==n.undirected&&i in n.undirected&&(r=X(r,ue(n.undirected,i))),r}var we=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function ke(e,t){if(void 0!==t)for(var n in t)e.add(n)}function xe(e,t,n){if("mixed"!==e){if("undirected"===e)return Object.keys(n.undirected);if("string"==typeof t)return Object.keys(n[t])}var i=new Set;return"undirected"!==e&&("out"!==t&&ke(i,n.in),"in"!==t&&ke(i,n.out)),"directed"!==e&&ke(i,n.undirected),D(i.values(),i.size)}function Se(e,t,n){for(var i in t){var r=t[i];r instanceof Set&&(r=r.values().next().value);var o=r.source,a=o===e?r.target:o;n(a.key,a.attributes)}}function Ce(e,t,n,i){for(var r in n){var o=n[r];o instanceof Set&&(o=o.values().next().value);var a=o.source,s=a===t?o.target:a;e.has(s.key)||(e.add(s.key),i(s.key,s.attributes))}}function Ee(e,t,n){for(var i in t){var r=t[i];r instanceof Set&&(r=r.values().next().value);var o=r.source,a=o===e?r.target:o;if(n(a.key,a.attributes))return!0}return!1}function Oe(e,t,n,i){for(var r in n){var o=n[r];o instanceof Set&&(o=o.values().next().value);var a=o.source,s=a===t?o.target:a;if(!e.has(s.key)&&(e.add(s.key),i(s.key,s.attributes)))return!0}return!1}function Te(e,t){var n=Object.keys(t),i=n.length,r=0;return new R(function(){if(r>=i)return{done:!0};var o=t[n[r++]];o instanceof Set&&(o=o.values().next().value);var a=o.source,s=a===e?o.target:a;return{done:!1,value:[s.key,s.attributes]}})}function Pe(e,t,n){var i=Object.keys(n),r=i.length,o=0;return new R(function a(){if(o>=r)return{done:!0};var s=n[i[o++]];s instanceof Set&&(s=s.values().next().value);var u=s.source,c=u===t?s.target:u;return e.has(c.key)?a():(e.add(c.key),{done:!1,value:[c.key,c.attributes]})})}function Ae(e,t,n,i,r){var o=e._nodes.get(i);if("undirected"!==t){if("out"!==n&&void 0!==o.in)for(var a in o.in)if(a===r)return!0;if("in"!==n&&void 0!==o.out)for(var s in o.out)if(s===r)return!0}if("directed"!==t&&void 0!==o.undirected)for(var u in o.undirected)if(u===r)return!0;return!1}function Me(e,t,n){for(var i,r,o,a,s,u,c,l=t._nodes.values(),h=t.type;!0!==(i=l.next()).done;){if(r=i.value,"undirected"!==h)for(o in a=r.out)if(u=(s=a[o]).target,c=n(r.key,u.key,r.attributes,u.attributes,s.key,s.attributes,s.undirected,s.generatedKey),e&&c)return;if("directed"!==h)for(o in a=r.undirected)if((u=(s=a[o]).target).key!==o&&(u=s.source),c=n(r.key,u.key,r.attributes,u.attributes,s.key,s.attributes,s.undirected,s.generatedKey),e&&c)return}}function Ie(e,t,n){for(var i,r,o,a,s,u,c,l,h,d=t._nodes.values(),f=t.type;!0!==(i=d.next()).done;){if(r=i.value,"undirected"!==f)for(o in u=r.out)for(a=u[o].values();!0!==(s=a.next()).done;)if(l=(c=s.value).target,h=n(r.key,l.key,r.attributes,l.attributes,c.key,c.attributes,c.undirected,c.generatedKey),e&&h)return;if("directed"!==f)for(o in u=r.undirected)for(a=u[o].values();!0!==(s=a.next()).done;)if((l=(c=s.value).target).key!==o&&(l=c.source),h=n(r.key,l.key,r.attributes,l.attributes,c.key,c.attributes,c.undirected,c.generatedKey),e&&h)return}}function Re(e,t){var n={key:e};return d(t.attributes)||(n.attributes=u({},t.attributes)),n}function De(e,t){var n={source:t.source.key,target:t.target.key};return t.generatedKey||(n.key=e),d(t.attributes)||(n.attributes=u({},t.attributes)),t.undirected&&(n.undirected=!0),n}function Ne(e){return h(e)?"key"in e?!("attributes"in e)||h(e.attributes)&&null!==e.attributes?null:"invalid-attributes":"no-key":"not-object"}function Le(e){return h(e)?"source"in e?"target"in e?!("attributes"in e)||h(e.attributes)&&null!==e.attributes?"undirected"in e&&"boolean"!=typeof e.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var je=new Set(["directed","undirected","mixed"]),Fe=new Set(["domain","_events","_eventsCount","_maxListeners"]),Be={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Ve(e,t,n){var i=new e.NodeDataClass(t,n);return e._nodes.set(t,i),e.emit("nodeAdded",{key:t,attributes:n}),i}function ze(e,t,n,i,r,o,a,s){if(!i&&"undirected"===e.type)throw new F("Graph.".concat(t,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===e.type)throw new F("Graph.".concat(t,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(s&&!h(s))throw new L("Graph.".concat(t,': invalid attributes. Expecting an object but got "').concat(s,'"'));if(o=""+o,a=""+a,s=s||{},!e.allowSelfLoops&&o===a)throw new F("Graph.".concat(t,': source & target are the same ("').concat(o,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var u=e._nodes.get(o),c=e._nodes.get(a);if(!u)throw new j("Graph.".concat(t,': source node "').concat(o,'" not found.'));if(!c)throw new j("Graph.".concat(t,': target node "').concat(a,'" not found.'));var l={key:null,undirected:i,source:o,target:a,attributes:s};if(n&&(r=e._edgeKeyGenerator(l)),e._edges.has(r=""+r))throw new F("Graph.".concat(t,': the "').concat(r,'" edge already exists in the graph.'));if(!e.multi&&(i?void 0!==u.undirected[a]:void 0!==u.out[a]))throw new F("Graph.".concat(t,': an edge linking "').concat(o,'" to "').concat(a,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var d=new U(i,r,n,u,c,s);return e._edges.set(r,d),o===a?i?(u.undirectedSelfLoops++,e._undirectedSelfLoopCount++):(u.directedSelfLoops++,e._directedSelfLoopCount++):i?(u.undirectedDegree++,c.undirectedDegree++):(u.outDegree++,c.inDegree++),H(e,i,d,o,a,u,c),i?e._undirectedSize++:e._directedSize++,l.key=r,e.emit("edgeAdded",l),r}function Ue(e,t,n,i,r,o,a,s,c){if(!i&&"undirected"===e.type)throw new F("Graph.".concat(t,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===e.type)throw new F("Graph.".concat(t,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(s)if(c){if("function"!=typeof s)throw new L("Graph.".concat(t,': invalid updater function. Expecting a function but got "').concat(s,'"'))}else if(!h(s))throw new L("Graph.".concat(t,': invalid attributes. Expecting an object but got "').concat(s,'"'));var l;if(o=""+o,a=""+a,c&&(l=s,s=void 0),!e.allowSelfLoops&&o===a)throw new F("Graph.".concat(t,': source & target are the same ("').concat(o,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var d,f,p=e._nodes.get(o),v=e._nodes.get(a);if(!n&&(d=e._edges.get(r))){if(d.source.key!==o||d.target.key!==a||i&&(d.source.key!==a||d.target.key!==o))throw new F("Graph.".concat(t,': inconsistency detected when attempting to merge the "').concat(r,'" edge with "').concat(o,'" source & "').concat(a,'" target vs. ("').concat(d.source.key,'", "').concat(d.target.key,'").'));f=d}if(f||e.multi||!p||(f=i?p.undirected[a]:p.out[a]),f)return(c?l:s)?(c?(f.attributes=l(f.attributes),e.emit("edgeAttributesUpdated",{type:"replace",key:f.key,attributes:f.attributes})):(u(f.attributes,s),e.emit("edgeAttributesUpdated",{type:"merge",key:f.key,attributes:f.attributes,data:s})),f.key):f.key;s=s||{},c&&l&&(s=l(s));var g={key:null,undirected:i,source:o,target:a,attributes:s};if(n&&(r=e._edgeKeyGenerator(g)),e._edges.has(r=""+r))throw new F("Graph.".concat(t,': the "').concat(r,'" edge already exists in the graph.'));return p||(p=Ve(e,o,{}),o===a&&(v=p)),v||(v=Ve(e,a,{})),d=new U(i,r,n,p,v,s),e._edges.set(r,d),o===a?i?(p.undirectedSelfLoops++,e._undirectedSelfLoopCount++):(p.directedSelfLoops++,e._directedSelfLoopCount++):i?(p.undirectedDegree++,v.undirectedDegree++):(p.outDegree++,v.inDegree++),H(e,i,d,o,a,p,v),i?e._undirectedSize++:e._directedSize++,g.key=r,e.emit("edgeAdded",g),r}var He,Ge=function(e){function n(t){var n;if(n=e.call(this)||this,(t=u({},Be,t)).edgeKeyGenerator&&"function"!=typeof t.edgeKeyGenerator)throw new L("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(t.edgeKeyGenerator,'".'));if("boolean"!=typeof t.multi)throw new L("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(t.multi,'".'));if(!je.has(t.type))throw new L('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(t.type,'".'));if("boolean"!=typeof t.allowSelfLoops)throw new L("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(t.allowSelfLoops,'".'));var i,r="mixed"===t.type?B:"directed"===t.type?V:z;return f(s(n),"NodeDataClass",r),f(s(n),"_attributes",{}),f(s(n),"_nodes",new Map),f(s(n),"_edges",new Map),f(s(n),"_directedSize",0),f(s(n),"_undirectedSize",0),f(s(n),"_directedSelfLoopCount",0),f(s(n),"_undirectedSelfLoopCount",0),f(s(n),"_edgeKeyGenerator",t.edgeKeyGenerator||(i=0,function(){return i++})),f(s(n),"_options",t),Fe.forEach(function(e){return f(s(n),e,n[e])}),p(s(n),"order",function(){return n._nodes.size}),p(s(n),"size",function(){return n._edges.size}),p(s(n),"directedSize",function(){return n._directedSize}),p(s(n),"undirectedSize",function(){return n._undirectedSize}),p(s(n),"selfLoopCount",function(){return n._directedSelfLoopCount+n._undirectedSelfLoopCount}),p(s(n),"directedSelfLoopCount",function(){return n._directedSelfLoopCount}),p(s(n),"undirectedSelfLoopCount",function(){return n._undirectedSelfLoopCount}),p(s(n),"multi",n._options.multi),p(s(n),"type",n._options.type),p(s(n),"allowSelfLoops",n._options.allowSelfLoops),p(s(n),"implementation",function(){return"graphology"}),n}t(n,e);var i=n.prototype;return i.hasNode=function(e){return this._nodes.has(""+e)},i.hasDirectedEdge=function(e,t){if("undirected"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+e);return!!n&&!n.undirected}if(2===arguments.length){t=""+t;var i=this._nodes.get(e=""+e);if(!i)return!1;var r=i.out[t];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasUndirectedEdge=function(e,t){if("directed"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+e);return!!n&&n.undirected}if(2===arguments.length){t=""+t;var i=this._nodes.get(e=""+e);if(!i)return!1;var r=i.undirected[t];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasEdge=function(e,t){if(1===arguments.length)return this._edges.has(""+e);if(2===arguments.length){t=""+t;var n=this._nodes.get(e=""+e);if(!n)return!1;var i=void 0!==n.out&&n.out[t];return i||(i=void 0!==n.undirected&&n.undirected[t]),!(!i||this.multi&&!i.size)}throw new L("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.directedEdge=function(e,t){if("undirected"!==this.type){if(e=""+e,t=""+t,this.multi)throw new F("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var n=this._nodes.get(e);if(!n)throw new j('Graph.directedEdge: could not find the "'.concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j('Graph.directedEdge: could not find the "'.concat(t,'" target node in the graph.'));var i=n.out&&n.out[t]||void 0;return i?i.key:void 0}},i.undirectedEdge=function(e,t){if("directed"!==this.type){if(e=""+e,t=""+t,this.multi)throw new F("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var n=this._nodes.get(e);if(!n)throw new j('Graph.undirectedEdge: could not find the "'.concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j('Graph.undirectedEdge: could not find the "'.concat(t,'" target node in the graph.'));var i=n.undirected&&n.undirected[t]||void 0;return i?i.key:void 0}},i.edge=function(e,t){if(this.multi)throw new F("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");t=""+t;var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.edge: could not find the "'.concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j('Graph.edge: could not find the "'.concat(t,'" target node in the graph.'));var i=n.out&&n.out[t]||n.undirected&&n.undirected[t]||void 0;if(i)return i.key},i.inDegree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.inDegree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.inDegree: could not find the "'.concat(e,'" node in the graph.'));return"undirected"===this.type?0:n.inDegree+(t?n.directedSelfLoops:0)},i.outDegree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.outDegree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.outDegree: could not find the "'.concat(e,'" node in the graph.'));return"undirected"===this.type?0:n.outDegree+(t?n.directedSelfLoops:0)},i.directedDegree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.directedDegree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.directedDegree: could not find the "'.concat(e,'" node in the graph.'));if("undirected"===this.type)return 0;var i=t?n.directedSelfLoops:0;return n.inDegree+i+(n.outDegree+i)},i.undirectedDegree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.undirectedDegree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.undirectedDegree: could not find the "'.concat(e,'" node in the graph.'));return"directed"===this.type?0:n.undirectedDegree+2*(t?n.undirectedSelfLoops:0)},i.degree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.degree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.degree: could not find the "'.concat(e,'" node in the graph.'));var i=0,r=0;return"directed"!==this.type&&(t&&(r=n.undirectedSelfLoops),i+=n.undirectedDegree+2*r),"undirected"!==this.type&&(t&&(r=n.directedSelfLoops),i+=n.inDegree+n.outDegree+2*r),i},i.source=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.source: could not find the "'.concat(e,'" edge in the graph.'));return t.source.key},i.target=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.target: could not find the "'.concat(e,'" edge in the graph.'));return t.target.key},i.extremities=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.extremities: could not find the "'.concat(e,'" edge in the graph.'));return[t.source.key,t.target.key]},i.opposite=function(e,t){e=""+e;var n=this._edges.get(t=""+t);if(!n)throw new j('Graph.opposite: could not find the "'.concat(t,'" edge in the graph.'));var i=n.source.key,r=n.target.key;if(e!==i&&e!==r)throw new j('Graph.opposite: the "'.concat(e,'" node is not attached to the "').concat(t,'" edge (').concat(i,", ").concat(r,")."));return e===i?r:i},i.hasExtremity=function(e,t){t=""+t;var n=this._edges.get(e=""+e);if(!n)throw new j('Graph.hasExtremity: could not find the "'.concat(e,'" edge in the graph.'));return n.source.key===t||n.target.key===t},i.isUndirected=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.isUndirected: could not find the "'.concat(e,'" edge in the graph.'));return t.undirected},i.isDirected=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.isDirected: could not find the "'.concat(e,'" edge in the graph.'));return!t.undirected},i.isSelfLoop=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.isSelfLoop: could not find the "'.concat(e,'" edge in the graph.'));return t.source===t.target},i.hasGeneratedKey=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.hasGeneratedKey: could not find the "'.concat(e,'" edge in the graph.'));return t.generatedKey},i.addNode=function(e,t){return function(e,t,n){if(n&&!h(n))throw new L('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(n,'"'));if(n=n||{},e._nodes.has(t=""+t))throw new F('Graph.addNode: the "'.concat(t,'" node already exist in the graph.'));var i=new e.NodeDataClass(t,n);return e._nodes.set(t,i),e.emit("nodeAdded",{key:t,attributes:n}),i}(this,e,t).key},i.mergeNode=function(e,t){if(t&&!h(t))throw new L('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(t,'"'));t=t||{};var n=this._nodes.get(e=""+e);return n?(t&&(u(n.attributes,t),this.emit("nodeAttributesUpdated",{type:"merge",key:e,attributes:n.attributes,data:t})),e):(n=new this.NodeDataClass(e,t),this._nodes.set(e,n),this.emit("nodeAdded",{key:e,attributes:t}),e)},i.updateNode=function(e,t){if(t&&"function"!=typeof t)throw new L('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(t,'"'));var n=this._nodes.get(e=""+e);if(n)return t&&(n.attributes=t(n.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:e,attributes:n.attributes})),e;var i=t?t({}):{};return n=new this.NodeDataClass(e,i),this._nodes.set(e,n),this.emit("nodeAdded",{key:e,attributes:i}),e},i.dropNode=function(e){var t=this,n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.dropNode: could not find the "'.concat(e,'" node in the graph.'));this.forEachEdge(e,function(e){t.dropEdge(e)}),this._nodes.delete(e),this.emit("nodeDropped",{key:e,attributes:n.attributes})},i.dropEdge=function(e){var t;if(arguments.length>1){var n=""+arguments[0],i=""+arguments[1];if(!(t=c(this,n,i,this.type)))throw new j('Graph.dropEdge: could not find the "'.concat(n,'" -> "').concat(i,'" edge in the graph.'))}else if(!(t=this._edges.get(e=""+e)))throw new j('Graph.dropEdge: could not find the "'.concat(e,'" edge in the graph.'));this._edges.delete(t.key);var r=t.source,o=t.target,a=t.attributes,s=t.undirected;return r===o?s?(r.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(r.directedSelfLoops--,this._directedSelfLoopCount--):s?(r.undirectedDegree--,o.undirectedDegree--):(r.outDegree--,o.inDegree--),G(this,s,t),s?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:e,attributes:a,source:r.key,target:o.key,undirected:s}),this},i.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},i.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},i.getAttribute=function(e){return this._attributes[e]},i.getAttributes=function(){return this._attributes},i.hasAttribute=function(e){return this._attributes.hasOwnProperty(e)},i.setAttribute=function(e,t){return this._attributes[e]=t,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:e}),this},i.updateAttribute=function(e,t){if("function"!=typeof t)throw new L("Graph.updateAttribute: updater should be a function.");return this._attributes[e]=t(this._attributes[e]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:e}),this},i.removeAttribute=function(e){return delete this._attributes[e],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:e}),this},i.replaceAttributes=function(e){if(!h(e))throw new L("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=e,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},i.mergeAttributes=function(e){if(!h(e))throw new L("Graph.mergeAttributes: provided attributes are not a plain object.");return u(this._attributes,e),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:e}),this},i.getNodeAttribute=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.getNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));return n.attributes[t]},i.getNodeAttributes=function(e){var t=this._nodes.get(e=""+e);if(!t)throw new j('Graph.getNodeAttributes: could not find the "'.concat(e,'" node in the graph.'));return t.attributes},i.hasNodeAttribute=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));return n.attributes.hasOwnProperty(t)},i.setNodeAttribute=function(e,t,n){var i=this._nodes.get(e=""+e);if(!i)throw new j('Graph.setNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return i.attributes[t]=n,this.emit("nodeAttributesUpdated",{key:e,type:"set",attributes:i.attributes,name:t}),this},i.updateNodeAttribute=function(e,t,n){var i=this._nodes.get(e=""+e);if(!i)throw new j('Graph.updateNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof n)throw new L("Graph.updateAttribute: updater should be a function.");var r=i.attributes,o=n(r[t]);return r[t]=o,this.emit("nodeAttributesUpdated",{key:e,type:"set",attributes:i.attributes,name:t}),this},i.removeNodeAttribute=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));return delete n.attributes[t],this.emit("nodeAttributesUpdated",{key:e,type:"remove",attributes:n.attributes,name:t}),this},i.replaceNodeAttributes=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.replaceNodeAttributes: could not find the "'.concat(e,'" node in the graph.'));if(!h(t))throw new L("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return n.attributes=t,this.emit("nodeAttributesUpdated",{key:e,type:"replace",attributes:n.attributes}),this},i.mergeNodeAttributes=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.mergeNodeAttributes: could not find the "'.concat(e,'" node in the graph.'));if(!h(t))throw new L("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return u(n.attributes,t),this.emit("nodeAttributesUpdated",{key:e,type:"merge",attributes:n.attributes,data:t}),this},i.updateEachNodeAttributes=function(e,t){if("function"!=typeof e)throw new L("Graph.updateEachNodeAttributes: expecting an updater function.");if(t&&!v(t))throw new L("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._nodes.values();!0!==(n=r.next()).done;)(i=n.value).attributes=e(i.key,i.attributes);this.emit("eachNodeAttributesUpdated",{hints:t||null})},i.updateEachEdgeAttributes=function(e,t){if("function"!=typeof e)throw new L("Graph.updateEachEdgeAttributes: expecting an updater function.");if(t&&!v(t))throw new L("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._edges.values();!0!==(n=r.next()).done;)(i=n.value).attributes=e(i.key,i.attributes);this.emit("eachEdgeAttributesUpdated",{hints:t||null})},i.forEach=function(e){if("function"!=typeof e)throw new L("Graph.forEach: expecting a callback.");this.multi?Ie(!1,this,e):Me(!1,this,e)},i.forEachUntil=function(e){if("function"!=typeof e)throw new L("Graph.forEach: expecting a callback.");this.multi?Ie(!0,this,e):Me(!0,this,e)},i.adjacency=function(){return this.multi?(f=(u=this)._nodes.values(),p=u.type,v="outer",g=null,new R(function e(){var t;if("outer"===v)return!0===(t=f.next()).done?t:(c=t.value,v="directed",e());if("directed"===v)return"undirected"===p?(v="undirected",e()):(h=c.out,l=Object.keys(c.out),d=0,v="inner-directed",e());if("undirected"===v){if("directed"===p)return v="outer",e();h=c.undirected,l=Object.keys(c.undirected),d=0,v="inner-undirected"}if(!g&&d>=l.length)return v="inner-undirected"===v?"outer":"undirected",e();if(!g){var n=l[d++];return g=h[n].values(),e()}if((t=g.next()).done)return g=null,e();var i=t.value,r=i.target;return"inner-undirected"===v&&r.key===c.key&&(r=i.source),{done:!1,value:[c.key,r.key,c.attributes,r.attributes,i.key,i.attributes]}})):(o=(e=this)._nodes.values(),a=e.type,s="outer",new R(function e(){var u;if("outer"===s)return!0===(u=o.next()).done?u:(t=u.value,s="directed",e());if("directed"===s)return"undirected"===a?(s="undirected",e()):(i=t.out,n=Object.keys(t.out),r=0,s="inner-directed",e());if("undirected"===s){if("directed"===a)return s="outer",e();i=t.undirected,n=Object.keys(t.undirected),r=0,s="inner-undirected"}if(r>=n.length)return s="inner-undirected"===s?"outer":"undirected",e();var c=n[r++],l=i[c],h=l.target;return"inner-undirected"===s&&h.key===t.key&&(h=l.source),{done:!1,value:[t.key,h.key,t.attributes,h.attributes,l.key,l.attributes]}}));var e,t,n,i,r,o,a,s,u,c,l,h,d,f,p,v,g},i.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):D(this._nodes.keys(),this._nodes.size)},i.forEachNode=function(e){if("function"!=typeof e)throw new L("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(t,n){e(n,t.attributes)})},i.forEachNodeUntil=function(e){if("function"!=typeof e)throw new L("Graph.forEachNode: expecting a callback.");for(var t,n,i=this._nodes.values();!0!==(t=i.next())&&!e((n=t.value).key,n.attributes););},i.nodeEntries=function(){var e=this._nodes.values();return new R(function(){var t=e.next();if(t.done)return t;var n=t.value;return{value:[n.key,n.attributes],done:!1}})},i.exportNode=function(e){var t=this._nodes.get(e=""+e);if(!t)throw new j('Graph.exportNode: could not find the "'.concat(e,'" node in the graph.'));return Re(e,t)},i.exportEdge=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.exportEdge: could not find the "'.concat(e,'" edge in the graph.'));return De(e,t)},i.export=function(){var e=new Array(this._nodes.size),t=0;this._nodes.forEach(function(n,i){e[t++]=Re(i,n)});var n=new Array(this._edges.size);return t=0,this._edges.forEach(function(e,i){n[t++]=De(i,e)}),{attributes:this.getAttributes(),nodes:e,edges:n,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},i.importNode=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Ne(e);if(n){if("not-object"===n)throw new L('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===n)throw new L("Graph.importNode: no key provided.");if("invalid-attributes"===n)throw new L("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var i=e.key,r=e.attributes,o=void 0===r?{}:r;return t?this.mergeNode(i,o):this.addNode(i,o),this},i.importEdge=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Le(e);if(n){if("not-object"===n)throw new L('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===n)throw new L("Graph.importEdge: missing souce.");if("no-target"===n)throw new L("Graph.importEdge: missing target.");if("invalid-attributes"===n)throw new L("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===n)throw new L("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var i=e.source,r=e.target,o=e.attributes,a=void 0===o?{}:o,s=e.undirected,u=void 0!==s&&s;return"key"in e?(t?u?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:u?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,e.key,i,r,a):(t?u?this.mergeUndirectedEdge:this.mergeDirectedEdge:u?this.addUndirectedEdge:this.addDirectedEdge).call(this,i,r,a),this},i.import=function(e){var t,n,i,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(l(e))return this.import(e.export(),r),this;if(!h(e))throw new L("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(e.attributes){if(!h(e.attributes))throw new L("Graph.import: invalid attributes. Expecting a plain object.");r?this.mergeAttributes(e.attributes):this.replaceAttributes(e.attributes)}if(e.nodes){if(i=e.nodes,!Array.isArray(i))throw new L("Graph.import: invalid nodes. Expecting an array.");for(t=0,n=i.length;tn)){var a=new Set;a.add(t.undirected[o]),t.undirected[o]=a,e._nodes.get(o).undirected[n]=a}})),this;var e},i.clearIndex=function(){return this._nodes.forEach(function(e){void 0!==e.in&&(e.in={},e.out={}),void 0!==e.undirected&&(e.undirected={})}),this},i.toJSON=function(){return this.export()},i.toString=function(){return"[object Graph]"},i.inspect=function(){var e=this,t={};this._nodes.forEach(function(e,n){t[n]=e.attributes});var n={},i={};this._edges.forEach(function(t,r){var o=t.undirected?"--":"->",a="",s="(".concat(t.source.key,")").concat(o,"(").concat(t.target.key,")");t.generatedKey?e.multi&&(void 0===i[s]?i[s]=0:i[s]++,a+="".concat(i[s],". ")):a+="[".concat(r,"]: "),n[a+=s]=t.attributes});var r={};for(var o in this)this.hasOwnProperty(o)&&!Fe.has(o)&&"function"!=typeof this[o]&&(r[o]=this[o]);return r.attributes=this._attributes,r.nodes=t,r.edges=n,f(r,"constructor",this.constructor),r},n}(m.exports.EventEmitter);"undefined"!=typeof Symbol&&(Ge.prototype[Symbol.for("nodejs.util.inspect.custom")]=Ge.prototype.inspect),[{name:function(e){return"".concat(e,"Edge")},generateKey:!0},{name:function(e){return"".concat(e,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(e){return"".concat(e,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(e){return"".concat(e,"EdgeWithKey")}},{name:function(e){return"".concat(e,"DirectedEdgeWithKey")},type:"directed"},{name:function(e){return"".concat(e,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(e){["add","merge","update"].forEach(function(t){var n=e.name(t),i="add"===t?ze:Ue;Ge.prototype[n]=e.generateKey?function(r,o,a){return i(this,n,!0,"undirected"===(e.type||this.type),null,r,o,a,"update"===t)}:function(r,o,a,s){return i(this,n,!1,"undirected"===(e.type||this.type),r,o,a,s,"update"===t)}})}),"undefined"!=typeof Symbol&&(Ge.prototype[Symbol.iterator]=Ge.prototype.adjacency),He=Ge,W.forEach(function(e){var t=e.name,n=e.attacher;n(He,t("Edge"),"mixed"),n(He,t("DirectedEdge"),"directed"),n(He,t("UndirectedEdge"),"undirected")}),function(e){Y.forEach(function(t){var n,i,r,o;r=(n=t).type,o=n.direction,e.prototype[i=n.name]=function(e,t){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(!arguments.length)return ce(this,r);if(1===arguments.length){var n=this._nodes.get(e=""+e);if(void 0===n)throw new j("Graph.".concat(i,': could not find the "').concat(e,'" node in the graph.'));return fe(this.multi,"mixed"===r?this.type:r,o,n)}if(2===arguments.length){t=""+t;var a=this._nodes.get(e=""+e);if(!a)throw new j("Graph.".concat(i,': could not find the "').concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j("Graph.".concat(i,': could not find the "').concat(t,'" target node in the graph.'));return me(r,this.multi,o,a,t)}throw new L("Graph.".concat(i,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(e,t){var n=t.name,i=t.type,r=t.direction,o="forEach"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[o]=function(e,t,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return le(this,i,n=e);if(2===arguments.length){n=t;var a=this._nodes.get(e=""+e);if(void 0===a)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" node in the graph.'));return pe(this.multi,"mixed"===i?this.type:i,r,a,n)}if(3===arguments.length){t=""+t;var s=this._nodes.get(e=""+e);if(!s)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j("Graph.".concat(o,': could not find the "').concat(t,'" target node in the graph.'));return ye(i,this.multi,r,s,t,n)}throw new L("Graph.".concat(o,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(e,t),function(e,t){var n=t.name,i=t.type,r=t.direction,o="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";e.prototype[o]=function(e,t,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return he(this,i,n=e);if(2===arguments.length){n=t;var a=this._nodes.get(e=""+e);if(void 0===a)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" node in the graph.'));return ve(this.multi,"mixed"===i?this.type:i,r,a,n)}if(3===arguments.length){t=""+t;var s=this._nodes.get(e=""+e);if(!s)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j("Graph.".concat(o,': could not find the "').concat(t,'" target node in the graph.'));return be(i,this.multi,r,s,t,n)}throw new L("Graph.".concat(o,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(e,t),function(e,t){var n=t.type,i=t.direction,r=t.name.slice(0,-1)+"Entries";e.prototype[r]=function(e,t){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return R.empty();if(!arguments.length)return de(this,n);if(1===arguments.length){var o=this._nodes.get(e=""+e);if(!o)throw new j("Graph.".concat(r,': could not find the "').concat(e,'" node in the graph.'));return ge(n,i,o)}if(2===arguments.length){t=""+t;var a=this._nodes.get(e=""+e);if(!a)throw new j("Graph.".concat(r,': could not find the "').concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j("Graph.".concat(r,': could not find the "').concat(t,'" target node in the graph.'));return _e(n,i,a,t)}throw new L("Graph.".concat(r,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(e,t)})}(Ge),function(e){we.forEach(function(t){var n,i,r,o;r=(n=t).type,o=n.direction,e.prototype[i=n.name]=function(e){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(2===arguments.length){var t=""+arguments[0],n=""+arguments[1];if(!this._nodes.has(t))throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));if(!this._nodes.has(n))throw new j("Graph.".concat(i,': could not find the "').concat(n,'" node in the graph.'));return Ae(this,r,o,t,n)}if(1===arguments.length){var a=this._nodes.get(e=""+e);if(void 0===a)throw new j("Graph.".concat(i,': could not find the "').concat(e,'" node in the graph.'));return xe("mixed"===r?this.type:r,o,a)}throw new L("Graph.".concat(i,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(e,t){var n=t.name,i=t.type,r=t.direction,o="forEach"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[o]=function(e,t){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(e=""+e);if(void 0===n)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" node in the graph.'));!function(e,t,n,i){if("mixed"!==e){if("undirected"===e)return Se(n,n.undirected,i);if("string"==typeof t)return Se(n,n[t],i)}var r=new Set;"undirected"!==e&&("out"!==t&&Ce(r,n,n.in,i),"in"!==t&&Ce(r,n,n.out,i)),"directed"!==e&&Ce(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,t)}}}(e,t),function(e,t){var n=t.name,i=t.type,r=t.direction,o="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";e.prototype[o]=function(e,t){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(e=""+e);if(void 0===n)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" node in the graph.'));!function(e,t,n,i){if("mixed"!==e){if("undirected"===e)return Ee(n,n.undirected,i);if("string"==typeof t)return Ee(n,n[t],i)}var r=new Set;"undirected"!==e&&("out"!==t&&Oe(r,n,n.in,i)||"in"!==t&&Oe(r,n,n.out,i))||"directed"===e||Oe(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,t)}}}(e,t),function(e,t){var n=t.type,i=t.direction,r=t.name.slice(0,-1)+"Entries";e.prototype[r]=function(e){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return R.empty();var t=this._nodes.get(e=""+e);if(void 0===t)throw new j("Graph.".concat(r,': could not find the "').concat(e,'" node in the graph.'));return function(e,t,n){if("mixed"!==e){if("undirected"===e)return Te(n,n.undirected);if("string"==typeof t)return Te(n,n[t])}var i=R.empty(),r=new Set;return"undirected"!==e&&("out"!==t&&(i=X(i,Pe(r,n,n.in))),"in"!==t&&(i=X(i,Pe(r,n,n.out)))),"directed"!==e&&(i=X(i,Pe(r,n,n.undirected))),i}("mixed"===n?this.type:n,i,t)}}(e,t)})}(Ge);var We=function(e){function n(t){var n=u({type:"directed"},t);if("multi"in n&&!1!==n.multi)throw new L("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==n.type)throw new L('DirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return e.call(this,n)||this}return t(n,e),n}(Ge),qe=function(e){function n(t){var n=u({type:"undirected"},t);if("multi"in n&&!1!==n.multi)throw new L("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==n.type)throw new L('UndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return e.call(this,n)||this}return t(n,e),n}(Ge),Xe=function(e){function n(t){var n=u({multi:!0},t);if("multi"in n&&!0!==n.multi)throw new L("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return e.call(this,n)||this}return t(n,e),n}(Ge),Ye=function(e){function n(t){var n=u({type:"directed",multi:!0},t);if("multi"in n&&!0!==n.multi)throw new L("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==n.type)throw new L('MultiDirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return e.call(this,n)||this}return t(n,e),n}(Ge),Ke=function(e){function n(t){var n=u({type:"undirected",multi:!0},t);if("multi"in n&&!0!==n.multi)throw new L("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==n.type)throw new L('MultiUndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return e.call(this,n)||this}return t(n,e),n}(Ge);function $e(e){e.from=function(t,n){var i=u({},t.options,n),r=new e(i);return r.import(t),r}}return $e(Ge),$e(We),$e(qe),$e(Xe),$e(Ye),$e(Ke),Ge.Graph=Ge,Ge.DirectedGraph=We,Ge.UndirectedGraph=qe,Ge.MultiGraph=Xe,Ge.MultiDirectedGraph=Ye,Ge.MultiUndirectedGraph=Ke,Ge.InvalidArgumentsGraphError=L,Ge.NotFoundGraphError=j,Ge.UsageGraphError=F,Ge}()},11524:function(e,t,n){var i;!function(r,o,a,s){"use strict";var u,c=["","webkit","Moz","MS","ms","o"],l=o.createElement("div"),h=Math.round,d=Math.abs,f=Date.now;function p(e,t,n){return setTimeout(w(e,n),t)}function v(e,t,n){return!!Array.isArray(e)&&(g(e,n[t],n),!0)}function g(e,t,n){var i;if(e)if(e.forEach)e.forEach(t,n);else if(e.length!==s)for(i=0;i\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=r.console&&(r.console.warn||r.console.log);return o&&o.call(r.console,i,n),e.apply(this,arguments)}}u="function"!=typeof Object.assign?function(e){if(e===s||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n-1}function T(e){return e.trim().split(/\s+/g)}function P(e,t,n){if(e.indexOf&&!n)return e.indexOf(t);for(var i=0;in[t]}):i.sort()),i}function I(e,t){for(var n,i,r=t[0].toUpperCase()+t.slice(1),o=0;o1&&!n.firstMultiple?n.firstMultiple=G(t):1===r&&(n.firstMultiple=!1);var o=n.firstInput,a=n.firstMultiple,u=a?a.center:o.center,c=t.center=W(i);t.timeStamp=f(),t.deltaTime=t.timeStamp-o.timeStamp,t.angle=K(u,c),t.distance=Y(u,c),function(e,t){var n=t.center,i=e.offsetDelta||{},r=e.prevDelta||{},o=e.prevInput||{};(1===t.eventType||4===o.eventType)&&(r=e.prevDelta={x:o.deltaX||0,y:o.deltaY||0},i=e.offsetDelta={x:n.x,y:n.y}),t.deltaX=r.x+(n.x-i.x),t.deltaY=r.y+(n.y-i.y)}(n,t),t.offsetDirection=X(t.deltaX,t.deltaY);var l=q(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=l.x,t.overallVelocityY=l.y,t.overallVelocity=d(l.x)>d(l.y)?l.x:l.y,t.scale=a?function(e,t){return Y(t[0],t[1],z)/Y(e[0],e[1],z)}(a.pointers,i):1,t.rotation=a?function(e,t){return K(t[1],t[0],z)+K(e[1],e[0],z)}(a.pointers,i):0,t.maxPointers=n.prevInput?t.pointers.length>n.prevInput.maxPointers?t.pointers.length:n.prevInput.maxPointers:t.pointers.length,function(e,t){var n,i,r,o,a=e.lastInterval||t,u=t.timeStamp-a.timeStamp;if(8!=t.eventType&&(u>25||a.velocity===s)){var c=t.deltaX-a.deltaX,l=t.deltaY-a.deltaY,h=q(u,c,l);i=h.x,r=h.y,n=d(h.x)>d(h.y)?h.x:h.y,o=X(c,l),e.lastInterval=t}else n=a.velocity,i=a.velocityX,r=a.velocityY,o=a.direction;t.velocity=n,t.velocityX=i,t.velocityY=r,t.direction=o}(n,t);var h=e.element;E(t.srcEvent.target,h)&&(h=t.srcEvent.target),t.target=h}(e,n),e.emit("hammer.input",n),e.recognize(n),e.session.prevInput=n}function G(e){for(var t=[],n=0;n=d(t)?e<0?2:4:t<0?8:16}function Y(e,t,n){n||(n=V);var i=t[n[0]]-e[n[0]],r=t[n[1]]-e[n[1]];return Math.sqrt(i*i+r*r)}function K(e,t,n){return n||(n=V),180*Math.atan2(t[n[1]]-e[n[1]],t[n[0]]-e[n[0]])/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&S(this.element,this.evEl,this.domHandler),this.evTarget&&S(this.target,this.evTarget,this.domHandler),this.evWin&&S(D(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&C(this.element,this.evEl,this.domHandler),this.evTarget&&C(this.target,this.evTarget,this.domHandler),this.evWin&&C(D(this.element),this.evWin,this.domHandler)}};var $={mousedown:1,mousemove:2,mouseup:4},Q="mousedown",Z="mousemove mouseup";function J(){this.evEl=Q,this.evWin=Z,this.pressed=!1,U.apply(this,arguments)}_(J,U,{handler:function(e){var t=$[e.type];1&t&&0===e.button&&(this.pressed=!0),2&t&&1!==e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:B,srcEvent:e}))}});var ee={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},te={2:F,3:"pen",4:B,5:"kinect"},ne="pointerdown",ie="pointermove pointerup pointercancel";function re(){this.evEl=ne,this.evWin=ie,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(ne="MSPointerDown",ie="MSPointerMove MSPointerUp MSPointerCancel"),_(re,U,{handler:function(e){var t=this.store,n=!1,i=e.type.toLowerCase().replace("ms",""),r=ee[i],o=te[e.pointerType]||e.pointerType,a=o==F,s=P(t,e.pointerId,"pointerId");1&r&&(0===e.button||a)?s<0&&(t.push(e),s=t.length-1):12&r&&(n=!0),!(s<0)&&(t[s]=e,this.callback(this.manager,r,{pointers:t,changedPointers:[e],pointerType:o,srcEvent:e}),n&&t.splice(s,1))}});var oe={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ae="touchstart",se="touchstart touchmove touchend touchcancel";function ue(){this.evTarget=ae,this.evWin=se,this.started=!1,U.apply(this,arguments)}function ce(e,t){var n=A(e.touches),i=A(e.changedTouches);return 12&t&&(n=M(n.concat(i),"identifier",!0)),[n,i]}_(ue,U,{handler:function(e){var t=oe[e.type];if(1===t&&(this.started=!0),this.started){var n=ce.call(this,e,t);12&t&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,t,{pointers:n[0],changedPointers:n[1],pointerType:F,srcEvent:e})}}});var le={touchstart:1,touchmove:2,touchend:4,touchcancel:8},he="touchstart touchmove touchend touchcancel";function de(){this.evTarget=he,this.targetIds={},U.apply(this,arguments)}function fe(e,t){var n=A(e.touches),i=this.targetIds;if(3&t&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,o,a=A(e.changedTouches),s=[],u=this.target;if(o=n.filter(function(e){return E(e.target,u)}),1===t)for(r=0;r-1&&i.splice(e,1)},2500)}}function me(e){for(var t=e.srcEvent.clientX,n=e.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,n=this.state;function i(n){t.manager.emit(n,e)}n<8&&i(t.options.event+Te(n)),i(t.options.event),e.additionalEvent&&i(e.additionalEvent),n>=8&&i(t.options.event+Te(n))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=32},canEmit:function(){for(var e=0;et.threshold&&r&t.direction},attrTest:function(e){return Me.prototype.attrTest.call(this,e)&&(2&this.state||!(2&this.state)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=Pe(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),_(Re,Me,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ke]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},emit:function(e){1!==e.scale&&(e.additionalEvent=this.options.event+(e.scale<1?"in":"out")),this._super.emit.call(this,e)}}),_(De,Oe,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(e){var t=this.options,n=e.pointers.length===t.pointers,i=e.distancet.time;if(this._input=e,!i||!n||12&e.eventType&&!r)this.reset();else if(1&e.eventType)this.reset(),this._timer=p(function(){this.state=8,this.tryEmit()},t.time,this);else if(4&e.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(e){8===this.state&&(e&&4&e.eventType?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=f(),this.manager.emit(this.options.event,this._input)))}}),_(Ne,Me,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ke]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)}}),_(Le,Me,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Ie.prototype.getTouchAction.call(this)},attrTest:function(e){var t,n=this.options.direction;return 30&n?t=e.overallVelocity:6&n?t=e.overallVelocityX:24&n&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&n&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&d(t)>this.options.velocity&&4&e.eventType},emit:function(e){var t=Pe(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),_(je,Oe,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[we]},process:function(e){var t=this.options,n=e.pointers.length===t.pointers,i=e.distance"']/g,q=RegExp(G.source),X=RegExp(W.source),Y=/<%-([\s\S]+?)%>/g,K=/<%([\s\S]+?)%>/g,$=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Z=/^\w*$/,J=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ee=/[\\^$.*+?()[\]{}|]/g,te=RegExp(ee.source),ne=/^\s+/,ie=/\s/,re=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,oe=/\{\n\/\* \[wrapped with (.+)\] \*/,ae=/,? & /,se=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ue=/[()=,{}\[\]\/\s]/,ce=/\\(\\)?/g,le=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,he=/\w*$/,de=/^[-+]0x[0-9a-f]+$/i,fe=/^0b[01]+$/i,pe=/^\[object .+?Constructor\]$/,ve=/^0o[0-7]+$/i,ge=/^(?:0|[1-9]\d*)$/,me=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ye=/($^)/,be=/['\n\r\u2028\u2029\\]/g,_e="\\ud800-\\udfff",we="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",ke="\\u2700-\\u27bf",xe="a-z\\xdf-\\xf6\\xf8-\\xff",Se="A-Z\\xc0-\\xd6\\xd8-\\xde",Ce="\\ufe0e\\ufe0f",Ee="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Oe="["+_e+"]",Te="["+Ee+"]",Pe="["+we+"]",Ae="\\d+",Me="["+ke+"]",Ie="["+xe+"]",Re="[^"+_e+Ee+Ae+ke+xe+Se+"]",De="\\ud83c[\\udffb-\\udfff]",Ne="[^"+_e+"]",Le="(?:\\ud83c[\\udde6-\\uddff]){2}",je="[\\ud800-\\udbff][\\udc00-\\udfff]",Fe="["+Se+"]",Be="(?:"+Ie+"|"+Re+")",Ve="(?:"+Fe+"|"+Re+")",ze="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ue="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",He="(?:"+Pe+"|"+De+")?",Ge="["+Ce+"]?",We=Ge+He+"(?:\\u200d(?:"+[Ne,Le,je].join("|")+")"+Ge+He+")*",qe="(?:"+[Me,Le,je].join("|")+")"+We,Xe="(?:"+[Ne+Pe+"?",Pe,Le,je,Oe].join("|")+")",Ye=RegExp("['\u2019]","g"),Ke=RegExp(Pe,"g"),$e=RegExp(De+"(?="+De+")|"+Xe+We,"g"),Qe=RegExp([Fe+"?"+Ie+"+"+ze+"(?="+[Te,Fe,"$"].join("|")+")",Ve+"+"+Ue+"(?="+[Te,Fe+Be,"$"].join("|")+")",Fe+"?"+Be+"+"+ze,Fe+"+"+Ue,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ae,qe].join("|"),"g"),Ze=RegExp("[\\u200d"+_e+we+Ce+"]"),Je=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,et=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],tt=-1,nt={};nt[I]=nt[R]=nt[D]=nt[N]=nt[L]=nt[j]=nt[F]=nt[B]=nt[V]=!0,nt[p]=nt[v]=nt[A]=nt[g]=nt[M]=nt[m]=nt[y]=nt[b]=nt[w]=nt[k]=nt[x]=nt[C]=nt[E]=nt[O]=nt[P]=!1;var it={};it[p]=it[v]=it[A]=it[M]=it[g]=it[m]=it[I]=it[R]=it[D]=it[N]=it[L]=it[w]=it[k]=it[x]=it[C]=it[E]=it[O]=it[T]=it[j]=it[F]=it[B]=it[V]=!0,it[y]=it[b]=it[P]=!1;var rt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ot=parseFloat,at=parseInt,st="object"==typeof global&&global&&global.Object===Object&&global,ut="object"==typeof self&&self&&self.Object===Object&&self,ct=st||ut||Function("return this")(),lt=t&&!t.nodeType&&t,ht=lt&&e&&!e.nodeType&&e,dt=ht&&ht.exports===lt,ft=dt&&st.process,pt=function(){try{return ht&&ht.require&&ht.require("util").types||ft&&ft.binding&&ft.binding("util")}catch(e){}}(),vt=pt&&pt.isArrayBuffer,gt=pt&&pt.isDate,mt=pt&&pt.isMap,yt=pt&&pt.isRegExp,bt=pt&&pt.isSet,_t=pt&&pt.isTypedArray;function wt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function kt(e,t,n,i){for(var r=-1,o=null==e?0:e.length;++r-1}function Tt(e,t,n){for(var i=-1,r=null==e?0:e.length;++i-1;);return n}function Qt(e,t){for(var n=e.length;n--&&jt(t,e[n],0)>-1;);return n}function Zt(e,t){for(var n=e.length,i=0;n--;)e[n]===t&&++i;return i}var Jt=Ut({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),en=Ut({"&":"&","<":"<",">":">",'"':""","'":"'"});function tn(e){return"\\"+rt[e]}function nn(e){return Ze.test(e)}function rn(e){var t=-1,n=Array(e.size);return e.forEach(function(e,i){n[++t]=[i,e]}),n}function on(e,t){return function(n){return e(t(n))}}function an(e,t){for(var n=-1,i=e.length,r=0,o=[];++n",""":'"',"'":"'"}),dn=function e(t){var n,i=(t=null==t?ct:dn.defaults(ct.Object(),t,dn.pick(ct,et))).Array,ie=t.Date,_e=t.Error,we=t.Function,ke=t.Math,xe=t.Object,Se=t.RegExp,Ce=t.String,Ee=t.TypeError,Oe=i.prototype,Te=xe.prototype,Pe=t["__core-js_shared__"],Ae=we.prototype.toString,Me=Te.hasOwnProperty,Ie=0,Re=(n=/[^.]+$/.exec(Pe&&Pe.keys&&Pe.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",De=Te.toString,Ne=Ae.call(xe),Le=ct._,je=Se("^"+Ae.call(Me).replace(ee,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Fe=dt?t.Buffer:r,Be=t.Symbol,Ve=t.Uint8Array,ze=Fe?Fe.allocUnsafe:r,Ue=on(xe.getPrototypeOf,xe),He=xe.create,Ge=Te.propertyIsEnumerable,We=Oe.splice,qe=Be?Be.isConcatSpreadable:r,Xe=Be?Be.iterator:r,$e=Be?Be.toStringTag:r,Ze=function(){try{var e=ao(xe,"defineProperty");return e({},"",{}),e}catch(Io){}}(),rt=t.clearTimeout!==ct.clearTimeout&&t.clearTimeout,st=ie&&ie.now!==ct.Date.now&&ie.now,ut=t.setTimeout!==ct.setTimeout&&t.setTimeout,lt=ke.ceil,ht=ke.floor,ft=xe.getOwnPropertySymbols,pt=Fe?Fe.isBuffer:r,Dt=t.isFinite,Ut=Oe.join,fn=on(xe.keys,xe),pn=ke.max,vn=ke.min,gn=ie.now,mn=t.parseInt,yn=ke.random,bn=Oe.reverse,_n=ao(t,"DataView"),wn=ao(t,"Map"),kn=ao(t,"Promise"),xn=ao(t,"Set"),Sn=ao(t,"WeakMap"),Cn=ao(xe,"create"),En=Sn&&new Sn,On={},Tn=Lo(_n),Pn=Lo(wn),An=Lo(kn),Mn=Lo(xn),In=Lo(Sn),Rn=Be?Be.prototype:r,Dn=Rn?Rn.valueOf:r,Nn=Rn?Rn.toString:r;function Ln(e){if(Ja(e)&&!Ua(e)&&!(e instanceof Vn)){if(e instanceof Bn)return e;if(Me.call(e,"__wrapped__"))return jo(e)}return new Bn(e)}var jn=function(){function e(){}return function(t){if(!Za(t))return{};if(He)return He(t);e.prototype=t;var n=new e;return e.prototype=r,n}}();function Fn(){}function Bn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=r}function Vn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function ri(e,t,n,i,o,a){var s,u=1&t,c=2&t,l=4&t;if(n&&(s=o?n(e,i,o,a):n(e)),s!==r)return s;if(!Za(e))return e;var h=Ua(e);if(h){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Me.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!u)return Sr(e,s)}else{var d=co(e),f=d==b||d==_;if(qa(e))return yr(e,u);if(d==x||d==p||f&&!o){if(s=c||f?{}:ho(e),!u)return c?function(e,t){return Cr(e,uo(e),t)}(e,function(e,t){return e&&Cr(t,As(t),e)}(s,e)):function(e,t){return Cr(e,so(e),t)}(e,ei(s,e))}else{if(!it[d])return o?e:{};s=function(e,t,n){var i=e.constructor;switch(t){case A:return br(e);case g:case m:return new i(+e);case M:return function(e,t){var n=t?br(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case I:case R:case D:case N:case L:case j:case F:case B:case V:return _r(e,n);case w:return new i;case k:case O:return new i(e);case C:return function(e){var t=new e.constructor(e.source,he.exec(e));return t.lastIndex=e.lastIndex,t}(e);case E:return new i;case T:return function(e){return Dn?xe(Dn.call(e)):{}}(e)}}(e,d,u)}}a||(a=new Wn);var v=a.get(e);if(v)return v;a.set(e,s),rs(e)?e.forEach(function(i){s.add(ri(i,t,n,i,e,a))}):es(e)&&e.forEach(function(i,r){s.set(r,ri(i,t,n,r,e,a))});var y=h?r:(l?c?Jr:Zr:c?As:Ps)(e);return xt(y||e,function(i,r){y&&(i=e[r=i]),Qn(s,r,ri(i,t,n,r,e,a))}),s}function oi(e,t,n){var i=n.length;if(null==e)return!i;for(e=xe(e);i--;){var o=n[i],a=e[o];if(a===r&&!(o in e)||!(0,t[o])(a))return!1}return!0}function ai(e,t,n){if("function"!=typeof e)throw new Ee(o);return Oo(function(){e.apply(r,n)},t)}function si(e,t,n,i){var r=-1,o=Ot,a=!0,s=e.length,u=[],c=t.length;if(!s)return u;n&&(t=Pt(t,Xt(n))),i?(o=Tt,a=!1):t.length>=200&&(o=Kt,a=!1,t=new Gn(t));e:for(;++r-1},Un.prototype.set=function(e,t){var n=this.__data__,i=Zn(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this},Hn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(wn||Un),string:new zn}},Hn.prototype.delete=function(e){var t=ro(this,e).delete(e);return this.size-=t?1:0,t},Hn.prototype.get=function(e){return ro(this,e).get(e)},Hn.prototype.has=function(e){return ro(this,e).has(e)},Hn.prototype.set=function(e,t){var n=ro(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this},Gn.prototype.add=Gn.prototype.push=function(e){return this.__data__.set(e,a),this},Gn.prototype.has=function(e){return this.__data__.has(e)},Wn.prototype.clear=function(){this.__data__=new Un,this.size=0},Wn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Wn.prototype.get=function(e){return this.__data__.get(e)},Wn.prototype.has=function(e){return this.__data__.has(e)},Wn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Un){var i=n.__data__;if(!wn||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new Hn(i)}return n.set(e,t),this.size=n.size,this};var ui=Tr(gi),ci=Tr(mi,!0);function li(e,t){var n=!0;return ui(e,function(e,i,r){return n=!!t(e,i,r)}),n}function hi(e,t,n){for(var i=-1,o=e.length;++i0&&n(s)?t>1?fi(s,t-1,n,i,r):At(r,s):i||(r[r.length]=s)}return r}var pi=Pr(),vi=Pr(!0);function gi(e,t){return e&&pi(e,t,Ps)}function mi(e,t){return e&&vi(e,t,Ps)}function yi(e,t){return Et(t,function(t){return Ka(e[t])})}function bi(e,t){for(var n=0,i=(t=pr(t,e)).length;null!=e&&nt}function xi(e,t){return null!=e&&Me.call(e,t)}function Si(e,t){return null!=e&&t in xe(e)}function Ci(e,t,n){for(var o=n?Tt:Ot,a=e[0].length,s=e.length,u=s,c=i(s),l=1/0,h=[];u--;){var d=e[u];u&&t&&(d=Pt(d,Xt(t))),l=vn(d.length,l),c[u]=!n&&(t||a>=120&&d.length>=120)?new Gn(u&&d):r}d=e[0];var f=-1,p=c[0];e:for(;++f=s?u:u*("desc"==n[i]?-1:1)}return e.index-t.index}(e,t,n)});i--;)e[i]=e[i].value;return e}(Di(e,function(e,n,r){return{criteria:Pt(t,function(t){return t(e)}),index:++i,value:e}}))}function Vi(e,t,n){for(var i=-1,r=t.length,o={};++i-1;)s!==e&&We.call(s,u,1),We.call(e,u,1);return e}function Ui(e,t){for(var n=e?t.length:0,i=n-1;n--;){var r=t[n];if(n==i||r!==o){var o=r;po(r)?We.call(e,r,1):ar(e,r)}}return e}function Hi(e,t){return e+ht(yn()*(t-e+1))}function Gi(e,t){var n="";if(!e||t<1||t>h)return n;do{t%2&&(n+=e),(t=ht(t/2))&&(e+=e)}while(t);return n}function Wi(e,t){return To(ko(e,t,tu),e+"")}function qi(e){return Xn(Fs(e))}function Xi(e,t){var n=Fs(e);return Mo(n,ii(t,0,n.length))}function Yi(e,t,n,i){if(!Za(e))return e;for(var o=-1,a=(t=pr(t,e)).length,s=a-1,u=e;null!=u&&++oo?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=i(o);++r>>1,a=e[o];null!==a&&!as(a)&&(n?a<=t:a=200){var c=t?null:Gr(e);if(c)return sn(c);a=!1,r=Kt,u=new Gn}else u=t?[]:s;e:for(;++i=i?e:Zi(e,t,n)}var mr=rt||function(e){return ct.clearTimeout(e)};function yr(e,t){if(t)return e.slice();var n=e.length,i=ze?ze(n):new e.constructor(n);return e.copy(i),i}function br(e){var t=new e.constructor(e.byteLength);return new Ve(t).set(new Ve(e)),t}function _r(e,t){var n=t?br(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function wr(e,t){if(e!==t){var n=e!==r,i=null===e,o=e==e,a=as(e),s=t!==r,u=null===t,c=t==t,l=as(t);if(!u&&!l&&!a&&e>t||a&&s&&c&&!u&&!l||i&&s&&c||!n&&c||!o)return 1;if(!i&&!a&&!l&&e1?n[o-1]:r,s=o>2?n[2]:r;for(a=e.length>3&&"function"==typeof a?(o--,a):r,s&&vo(n[0],n[1],s)&&(a=o<3?r:a,o=1),t=xe(t);++i-1?o[a?t[s]:s]:r}}function Dr(e){return Qr(function(t){var n=t.length,i=n,a=Bn.prototype.thru;for(e&&t.reverse();i--;){var s=t[i];if("function"!=typeof s)throw new Ee(o);if(a&&!u&&"wrapper"==to(s))var u=new Bn([],!0)}for(i=u?i:n;++i1&&b.reverse(),f&&hu))return!1;var l=a.get(e),h=a.get(t);if(l&&h)return l==t&&h==e;var d=-1,f=!0,p=2&n?new Gn:r;for(a.set(e,t),a.set(t,e);++d-1&&e%1==0&&e1?"& ":"")+t[i],t=t.join(n>2?", ":" "),e.replace(re,"{\n/* [wrapped with "+t+"] */\n")}(i,function(e,t){return xt(f,function(n){var i="_."+n[0];t&n[1]&&!Ot(e,i)&&e.push(i)}),e.sort()}(function(e){var t=e.match(oe);return t?t[1].split(ae):[]}(i),n)))}function Ao(e){var t=0,n=0;return function(){var i=gn(),o=16-(i-n);if(n=i,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(r,arguments)}}function Mo(e,t){var n=-1,i=e.length,o=i-1;for(t=t===r?i:t;++n1?e[t-1]:r;return n="function"==typeof n?(e.pop(),n):r,ia(e,n)});function la(e){var t=Ln(e);return t.__chain__=!0,t}function ha(e,t){return t(e)}var da=Qr(function(e){var t=e.length,n=t?e[0]:0,i=this.__wrapped__,o=function(t){return ni(t,e)};return!(t>1||this.__actions__.length)&&i instanceof Vn&&po(n)?((i=i.slice(n,+n+(t?1:0))).__actions__.push({func:ha,args:[o],thisArg:r}),new Bn(i,this.__chain__).thru(function(e){return t&&!e.length&&e.push(r),e})):this.thru(o)}),fa=Er(function(e,t,n){Me.call(e,n)?++e[n]:ti(e,n,1)}),pa=Rr(zo),va=Rr(Uo);function ga(e,t){return(Ua(e)?xt:ui)(e,io(t,3))}function ma(e,t){return(Ua(e)?St:ci)(e,io(t,3))}var ya=Er(function(e,t,n){Me.call(e,n)?e[n].push(t):ti(e,n,[t])}),ba=Wi(function(e,t,n){var r=-1,o="function"==typeof t,a=Ga(e)?i(e.length):[];return ui(e,function(e){a[++r]=o?wt(t,e,n):Ei(e,t,n)}),a}),_a=Er(function(e,t,n){ti(e,n,t)});function wa(e,t){return(Ua(e)?Pt:Di)(e,io(t,3))}var ka=Er(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]}),xa=Wi(function(e,t){if(null==e)return[];var n=t.length;return n>1&&vo(e,t[0],t[1])?t=[]:n>2&&vo(t[0],t[1],t[2])&&(t=[t[0]]),Bi(e,fi(t,1),[])}),Sa=st||function(){return ct.Date.now()};function Ca(e,t,n){return t=n?r:t,qr(e,c,r,r,r,r,t=e&&null==t?e.length:t)}function Ea(e,t){var n;if("function"!=typeof t)throw new Ee(o);return e=ds(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=r),n}}var Oa=Wi(function(e,t,n){var i=1;if(n.length){var r=an(n,no(Oa));i|=u}return qr(e,i,t,n,r)}),Ta=Wi(function(e,t,n){var i=3;if(n.length){var r=an(n,no(Ta));i|=u}return qr(t,i,e,n,r)});function Pa(e,t,n){var i,a,s,u,c,l,h=0,d=!1,f=!1,p=!0;if("function"!=typeof e)throw new Ee(o);function v(t){var n=i,o=a;return i=a=r,h=t,u=e.apply(o,n)}function g(e){return h=e,c=Oo(y,t),d?v(e):u}function m(e){var n=e-l;return l===r||n>=t||n<0||f&&e-h>=s}function y(){var e=Sa();if(m(e))return b(e);c=Oo(y,function(e){var n=t-(e-l);return f?vn(n,s-(e-h)):n}(e))}function b(e){return c=r,p&&i?v(e):(i=a=r,u)}function _(){var e=Sa(),n=m(e);if(i=arguments,a=this,l=e,n){if(c===r)return g(l);if(f)return mr(c),c=Oo(y,t),v(l)}return c===r&&(c=Oo(y,t)),u}return t=ps(t)||0,Za(n)&&(d=!!n.leading,s=(f="maxWait"in n)?pn(ps(n.maxWait)||0,t):s,p="trailing"in n?!!n.trailing:p),_.cancel=function(){c!==r&&mr(c),h=0,i=l=a=c=r},_.flush=function(){return c===r?u:b(Sa())},_}var Aa=Wi(function(e,t){return ai(e,1,t)}),Ma=Wi(function(e,t,n){return ai(e,ps(t)||0,n)});function Ia(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Ee(o);var n=function n(){var i=arguments,r=t?t.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var a=e.apply(this,i);return n.cache=o.set(r,a)||o,a};return n.cache=new(Ia.Cache||Hn),n}function Ra(e){if("function"!=typeof e)throw new Ee(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Ia.Cache=Hn;var Da=vr(function(e,t){var n=(t=1==t.length&&Ua(t[0])?Pt(t[0],Xt(io())):Pt(fi(t,1),Xt(io()))).length;return Wi(function(i){for(var r=-1,o=vn(i.length,n);++r=t}),za=Oi(function(){return arguments}())?Oi:function(e){return Ja(e)&&Me.call(e,"callee")&&!Ge.call(e,"callee")},Ua=i.isArray,Ha=vt?Xt(vt):function(e){return Ja(e)&&wi(e)==A};function Ga(e){return null!=e&&Qa(e.length)&&!Ka(e)}function Wa(e){return Ja(e)&&Ga(e)}var qa=pt||pu,Xa=gt?Xt(gt):function(e){return Ja(e)&&wi(e)==m};function Ya(e){if(!Ja(e))return!1;var t=wi(e);return t==y||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!ns(e)}function Ka(e){if(!Za(e))return!1;var t=wi(e);return t==b||t==_||"[object AsyncFunction]"==t||"[object Proxy]"==t}function $a(e){return"number"==typeof e&&e==ds(e)}function Qa(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=h}function Za(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ja(e){return null!=e&&"object"==typeof e}var es=mt?Xt(mt):function(e){return Ja(e)&&co(e)==w};function ts(e){return"number"==typeof e||Ja(e)&&wi(e)==k}function ns(e){if(!Ja(e)||wi(e)!=x)return!1;var t=Ue(e);if(null===t)return!0;var n=Me.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Ae.call(n)==Ne}var is=yt?Xt(yt):function(e){return Ja(e)&&wi(e)==C},rs=bt?Xt(bt):function(e){return Ja(e)&&co(e)==E};function os(e){return"string"==typeof e||!Ua(e)&&Ja(e)&&wi(e)==O}function as(e){return"symbol"==typeof e||Ja(e)&&wi(e)==T}var ss=_t?Xt(_t):function(e){return Ja(e)&&Qa(e.length)&&!!nt[wi(e)]},us=zr(Ri),cs=zr(function(e,t){return e<=t});function ls(e){if(!e)return[];if(Ga(e))return os(e)?cn(e):Sr(e);if(Xe&&e[Xe])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Xe]());var t=co(e);return(t==w?rn:t==E?sn:Fs)(e)}function hs(e){return e?(e=ps(e))===l||e===-l?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ds(e){var t=hs(e),n=t%1;return t==t?n?t-n:t:0}function fs(e){return e?ii(ds(e),0,d):0}function ps(e){if("number"==typeof e)return e;if(as(e))return NaN;if(Za(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Za(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=qt(e);var n=fe.test(e);return n||ve.test(e)?at(e.slice(2),n?2:8):de.test(e)?NaN:+e}function vs(e){return Cr(e,As(e))}function gs(e){return null==e?"":rr(e)}var ms=Or(function(e,t){if(bo(t)||Ga(t))Cr(t,Ps(t),e);else for(var n in t)Me.call(t,n)&&Qn(e,n,t[n])}),ys=Or(function(e,t){Cr(t,As(t),e)}),bs=Or(function(e,t,n,i){Cr(t,As(t),e,i)}),_s=Or(function(e,t,n,i){Cr(t,Ps(t),e,i)}),ws=Qr(ni),ks=Wi(function(e,t){e=xe(e);var n=-1,i=t.length,o=i>2?t[2]:r;for(o&&vo(t[0],t[1],o)&&(i=1);++n1),t}),Cr(e,Jr(e),n),i&&(n=ri(n,7,Kr));for(var r=t.length;r--;)ar(n,t[r]);return n}),Ds=Qr(function(e,t){return null==e?{}:function(e,t){return Vi(e,t,function(t,n){return Cs(e,n)})}(e,t)});function Ns(e,t){if(null==e)return{};var n=Pt(Jr(e),function(e){return[e]});return t=io(t),Vi(e,n,function(e,n){return t(e,n[0])})}var Ls=Wr(Ps),js=Wr(As);function Fs(e){return null==e?[]:Yt(e,Ps(e))}var Bs=Mr(function(e,t,n){return t=t.toLowerCase(),e+(n?Vs(t):t)});function Vs(e){return Ys(gs(e).toLowerCase())}function zs(e){return(e=gs(e))&&e.replace(me,Jt).replace(Ke,"")}var Us=Mr(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),Hs=Mr(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),Gs=Ar("toLowerCase"),Ws=Mr(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}),qs=Mr(function(e,t,n){return e+(n?" ":"")+Ys(t)}),Xs=Mr(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),Ys=Ar("toUpperCase");function Ks(e,t,n){return e=gs(e),(t=n?r:t)===r?function(e){return Je.test(e)}(e)?function(e){return e.match(Qe)||[]}(e):function(e){return e.match(se)||[]}(e):e.match(t)||[]}var $s=Wi(function(e,t){try{return wt(e,r,t)}catch(Ro){return Ya(Ro)?Ro:new _e(Ro)}}),Qs=Qr(function(e,t){return xt(t,function(t){t=No(t),ti(e,t,Oa(e[t],e))}),e});function Zs(e){return function(){return e}}var Js=Dr(),eu=Dr(!0);function tu(e){return e}function nu(e){return Mi("function"==typeof e?e:ri(e,1))}var iu=Wi(function(e,t){return function(n){return Ei(n,e,t)}}),ru=Wi(function(e,t){return function(n){return Ei(e,n,t)}});function ou(e,t,n){var i=Ps(t),r=yi(t,i);null==n&&(!Za(t)||!r.length&&i.length)&&(n=t,t=e,e=this,r=yi(t,Ps(t)));var o=!(Za(n)&&"chain"in n&&!n.chain),a=Ka(e);return xt(r,function(n){var i=t[n];e[n]=i,a&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__),r=n.__actions__=Sr(this.__actions__);return r.push({func:i,args:arguments,thisArg:e}),n.__chain__=t,n}return i.apply(e,At([this.value()],arguments))})}),e}function au(){}var su=Fr(Pt),uu=Fr(Ct),cu=Fr(Rt);function lu(e){return go(e)?zt(No(e)):function(e){return function(t){return bi(t,e)}}(e)}var hu=Vr(),du=Vr(!0);function fu(){return[]}function pu(){return!1}var vu=jr(function(e,t){return e+t},0),gu=Hr("ceil"),mu=jr(function(e,t){return e/t},1),yu=Hr("floor"),bu=jr(function(e,t){return e*t},1),_u=Hr("round"),wu=jr(function(e,t){return e-t},0);return Ln.after=function(e,t){if("function"!=typeof t)throw new Ee(o);return e=ds(e),function(){if(--e<1)return t.apply(this,arguments)}},Ln.ary=Ca,Ln.assign=ms,Ln.assignIn=ys,Ln.assignInWith=bs,Ln.assignWith=_s,Ln.at=ws,Ln.before=Ea,Ln.bind=Oa,Ln.bindAll=Qs,Ln.bindKey=Ta,Ln.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Ua(e)?e:[e]},Ln.chain=la,Ln.chunk=function(e,t,n){t=(n?vo(e,t,n):t===r)?1:pn(ds(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var a=0,s=0,u=i(lt(o/t));ao?0:o+n),(i=i===r||i>o?o:ds(i))<0&&(i+=o),i=n>i?0:fs(i);n>>0)?(e=gs(e))&&("string"==typeof t||null!=t&&!is(t))&&!(t=rr(t))&&nn(e)?gr(cn(e),0,n):e.split(t,n):[]},Ln.spread=function(e,t){if("function"!=typeof e)throw new Ee(o);return t=null==t?0:pn(ds(t),0),Wi(function(n){var i=n[t],r=gr(n,0,t);return i&&At(r,i),wt(e,this,r)})},Ln.tail=function(e){var t=null==e?0:e.length;return t?Zi(e,1,t):[]},Ln.take=function(e,t,n){return e&&e.length?Zi(e,0,(t=n||t===r?1:ds(t))<0?0:t):[]},Ln.takeRight=function(e,t,n){var i=null==e?0:e.length;return i?Zi(e,(t=i-(t=n||t===r?1:ds(t)))<0?0:t,i):[]},Ln.takeRightWhile=function(e,t){return e&&e.length?ur(e,io(t,3),!1,!0):[]},Ln.takeWhile=function(e,t){return e&&e.length?ur(e,io(t,3)):[]},Ln.tap=function(e,t){return t(e),e},Ln.throttle=function(e,t,n){var i=!0,r=!0;if("function"!=typeof e)throw new Ee(o);return Za(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),Pa(e,t,{leading:i,maxWait:t,trailing:r})},Ln.thru=ha,Ln.toArray=ls,Ln.toPairs=Ls,Ln.toPairsIn=js,Ln.toPath=function(e){return Ua(e)?Pt(e,No):as(e)?[e]:Sr(Do(gs(e)))},Ln.toPlainObject=vs,Ln.transform=function(e,t,n){var i=Ua(e),r=i||qa(e)||ss(e);if(t=io(t,4),null==n){var o=e&&e.constructor;n=r?i?new o:[]:Za(e)&&Ka(o)?jn(Ue(e)):{}}return(r?xt:gi)(e,function(e,i,r){return t(n,e,i,r)}),n},Ln.unary=function(e){return Ca(e,1)},Ln.union=Jo,Ln.unionBy=ea,Ln.unionWith=ta,Ln.uniq=function(e){return e&&e.length?or(e):[]},Ln.uniqBy=function(e,t){return e&&e.length?or(e,io(t,2)):[]},Ln.uniqWith=function(e,t){return t="function"==typeof t?t:r,e&&e.length?or(e,r,t):[]},Ln.unset=function(e,t){return null==e||ar(e,t)},Ln.unzip=na,Ln.unzipWith=ia,Ln.update=function(e,t,n){return null==e?e:sr(e,t,fr(n))},Ln.updateWith=function(e,t,n,i){return i="function"==typeof i?i:r,null==e?e:sr(e,t,fr(n),i)},Ln.values=Fs,Ln.valuesIn=function(e){return null==e?[]:Yt(e,As(e))},Ln.without=ra,Ln.words=Ks,Ln.wrap=function(e,t){return Na(fr(t),e)},Ln.xor=oa,Ln.xorBy=aa,Ln.xorWith=sa,Ln.zip=ua,Ln.zipObject=function(e,t){return hr(e||[],t||[],Qn)},Ln.zipObjectDeep=function(e,t){return hr(e||[],t||[],Yi)},Ln.zipWith=ca,Ln.entries=Ls,Ln.entriesIn=js,Ln.extend=ys,Ln.extendWith=bs,ou(Ln,Ln),Ln.add=vu,Ln.attempt=$s,Ln.camelCase=Bs,Ln.capitalize=Vs,Ln.ceil=gu,Ln.clamp=function(e,t,n){return n===r&&(n=t,t=r),n!==r&&(n=(n=ps(n))==n?n:0),t!==r&&(t=(t=ps(t))==t?t:0),ii(ps(e),t,n)},Ln.clone=function(e){return ri(e,4)},Ln.cloneDeep=function(e){return ri(e,5)},Ln.cloneDeepWith=function(e,t){return ri(e,5,t="function"==typeof t?t:r)},Ln.cloneWith=function(e,t){return ri(e,4,t="function"==typeof t?t:r)},Ln.conformsTo=function(e,t){return null==t||oi(e,t,Ps(t))},Ln.deburr=zs,Ln.defaultTo=function(e,t){return null==e||e!=e?t:e},Ln.divide=mu,Ln.endsWith=function(e,t,n){e=gs(e),t=rr(t);var i=e.length,o=n=n===r?i:ii(ds(n),0,i);return(n-=t.length)>=0&&e.slice(n,o)==t},Ln.eq=Fa,Ln.escape=function(e){return(e=gs(e))&&X.test(e)?e.replace(W,en):e},Ln.escapeRegExp=function(e){return(e=gs(e))&&te.test(e)?e.replace(ee,"\\$&"):e},Ln.every=function(e,t,n){var i=Ua(e)?Ct:li;return n&&vo(e,t,n)&&(t=r),i(e,io(t,3))},Ln.find=pa,Ln.findIndex=zo,Ln.findKey=function(e,t){return Nt(e,io(t,3),gi)},Ln.findLast=va,Ln.findLastIndex=Uo,Ln.findLastKey=function(e,t){return Nt(e,io(t,3),mi)},Ln.floor=yu,Ln.forEach=ga,Ln.forEachRight=ma,Ln.forIn=function(e,t){return null==e?e:pi(e,io(t,3),As)},Ln.forInRight=function(e,t){return null==e?e:vi(e,io(t,3),As)},Ln.forOwn=function(e,t){return e&&gi(e,io(t,3))},Ln.forOwnRight=function(e,t){return e&&mi(e,io(t,3))},Ln.get=Ss,Ln.gt=Ba,Ln.gte=Va,Ln.has=function(e,t){return null!=e&&lo(e,t,xi)},Ln.hasIn=Cs,Ln.head=Go,Ln.identity=tu,Ln.includes=function(e,t,n,i){e=Ga(e)?e:Fs(e),n=n&&!i?ds(n):0;var r=e.length;return n<0&&(n=pn(r+n,0)),os(e)?n<=r&&e.indexOf(t,n)>-1:!!r&&jt(e,t,n)>-1},Ln.indexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=null==n?0:ds(n);return r<0&&(r=pn(i+r,0)),jt(e,t,r)},Ln.inRange=function(e,t,n){return t=hs(t),n===r?(n=t,t=0):n=hs(n),function(e,t,n){return e>=vn(t,n)&&e=-h&&e<=h},Ln.isSet=rs,Ln.isString=os,Ln.isSymbol=as,Ln.isTypedArray=ss,Ln.isUndefined=function(e){return e===r},Ln.isWeakMap=function(e){return Ja(e)&&co(e)==P},Ln.isWeakSet=function(e){return Ja(e)&&"[object WeakSet]"==wi(e)},Ln.join=function(e,t){return null==e?"":Ut.call(e,t)},Ln.kebabCase=Us,Ln.last=Yo,Ln.lastIndexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var o=i;return n!==r&&(o=(o=ds(n))<0?pn(i+o,0):vn(o,i-1)),t==t?function(e,t,n){for(var i=n+1;i--;)if(e[i]===t)return i;return i}(e,t,o):Lt(e,Bt,o,!0)},Ln.lowerCase=Hs,Ln.lowerFirst=Gs,Ln.lt=us,Ln.lte=cs,Ln.max=function(e){return e&&e.length?hi(e,tu,ki):r},Ln.maxBy=function(e,t){return e&&e.length?hi(e,io(t,2),ki):r},Ln.mean=function(e){return Vt(e,tu)},Ln.meanBy=function(e,t){return Vt(e,io(t,2))},Ln.min=function(e){return e&&e.length?hi(e,tu,Ri):r},Ln.minBy=function(e,t){return e&&e.length?hi(e,io(t,2),Ri):r},Ln.stubArray=fu,Ln.stubFalse=pu,Ln.stubObject=function(){return{}},Ln.stubString=function(){return""},Ln.stubTrue=function(){return!0},Ln.multiply=bu,Ln.nth=function(e,t){return e&&e.length?Fi(e,ds(t)):r},Ln.noConflict=function(){return ct._===this&&(ct._=Le),this},Ln.noop=au,Ln.now=Sa,Ln.pad=function(e,t,n){e=gs(e);var i=(t=ds(t))?un(e):0;if(!t||i>=t)return e;var r=(t-i)/2;return Br(ht(r),n)+e+Br(lt(r),n)},Ln.padEnd=function(e,t,n){e=gs(e);var i=(t=ds(t))?un(e):0;return t&&it){var i=e;e=t,t=i}if(n||e%1||t%1){var o=yn();return vn(e+o*(t-e+ot("1e-"+((o+"").length-1))),t)}return Hi(e,t)},Ln.reduce=function(e,t,n){var i=Ua(e)?Mt:Ht,r=arguments.length<3;return i(e,io(t,4),n,r,ui)},Ln.reduceRight=function(e,t,n){var i=Ua(e)?It:Ht,r=arguments.length<3;return i(e,io(t,4),n,r,ci)},Ln.repeat=function(e,t,n){return t=(n?vo(e,t,n):t===r)?1:ds(t),Gi(gs(e),t)},Ln.replace=function(){var e=arguments,t=gs(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Ln.result=function(e,t,n){var i=-1,o=(t=pr(t,e)).length;for(o||(o=1,e=r);++ih)return[];var n=d,i=vn(e,d);t=io(t),e-=d;for(var r=Wt(i,t);++n=a)return e;var u=n-un(i);if(u<1)return i;var c=s?gr(s,0,u).join(""):e.slice(0,u);if(o===r)return c+i;if(s&&(u+=c.length-u),is(o)){if(e.slice(u).search(o)){var l,h=c;for(o.global||(o=Se(o.source,gs(he.exec(o))+"g")),o.lastIndex=0;l=o.exec(h);)var d=l.index;c=c.slice(0,d===r?u:d)}}else if(e.indexOf(rr(o),u)!=u){var f=c.lastIndexOf(o);f>-1&&(c=c.slice(0,f))}return c+i},Ln.unescape=function(e){return(e=gs(e))&&q.test(e)?e.replace(G,hn):e},Ln.uniqueId=function(e){var t=++Ie;return gs(e)+t},Ln.upperCase=Xs,Ln.upperFirst=Ys,Ln.each=ga,Ln.eachRight=ma,Ln.first=Go,ou(Ln,function(){var e={};return gi(Ln,function(t,n){Me.call(Ln.prototype,n)||(e[n]=t)}),e}(),{chain:!1}),Ln.VERSION="4.17.21",xt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){Ln[e].placeholder=Ln}),xt(["drop","take"],function(e,t){Vn.prototype[e]=function(n){n=n===r?1:pn(ds(n),0);var i=this.__filtered__&&!t?new Vn(this):this.clone();return i.__filtered__?i.__takeCount__=vn(n,i.__takeCount__):i.__views__.push({size:vn(n,d),type:e+(i.__dir__<0?"Right":"")}),i},Vn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}}),xt(["filter","map","takeWhile"],function(e,t){var n=t+1,i=1==n||3==n;Vn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:io(e,3),type:n}),t.__filtered__=t.__filtered__||i,t}}),xt(["head","last"],function(e,t){var n="take"+(t?"Right":"");Vn.prototype[e]=function(){return this[n](1).value()[0]}}),xt(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");Vn.prototype[e]=function(){return this.__filtered__?new Vn(this):this[n](1)}}),Vn.prototype.compact=function(){return this.filter(tu)},Vn.prototype.find=function(e){return this.filter(e).head()},Vn.prototype.findLast=function(e){return this.reverse().find(e)},Vn.prototype.invokeMap=Wi(function(e,t){return"function"==typeof e?new Vn(this):this.map(function(n){return Ei(n,e,t)})}),Vn.prototype.reject=function(e){return this.filter(Ra(io(e)))},Vn.prototype.slice=function(e,t){e=ds(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Vn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==r&&(n=(t=ds(t))<0?n.dropRight(-t):n.take(t-e)),n)},Vn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Vn.prototype.toArray=function(){return this.take(d)},gi(Vn.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),o=Ln[i?"take"+("last"==t?"Right":""):t],a=i||/^find/.test(t);!o||(Ln.prototype[t]=function(){var t=this.__wrapped__,s=i?[1]:arguments,u=t instanceof Vn,c=s[0],l=u||Ua(t),h=function(e){var t=o.apply(Ln,At([e],s));return i&&d?t[0]:t};l&&n&&"function"==typeof c&&1!=c.length&&(u=l=!1);var d=this.__chain__,f=!!this.__actions__.length,p=a&&!d,v=u&&!f;if(!a&&l){t=v?t:new Vn(this);var g=e.apply(t,s);return g.__actions__.push({func:ha,args:[h],thisArg:r}),new Bn(g,d)}return p&&v?e.apply(this,s):(g=this.thru(h),p?i?g.value()[0]:g.value():g)})}),xt(["pop","push","shift","sort","splice","unshift"],function(e){var t=Oe[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);Ln.prototype[e]=function(){var e=arguments;if(i&&!this.__chain__){var r=this.value();return t.apply(Ua(r)?r:[],e)}return this[n](function(n){return t.apply(Ua(n)?n:[],e)})}}),gi(Vn.prototype,function(e,t){var n=Ln[t];if(n){var i=n.name+"";Me.call(On,i)||(On[i]=[]),On[i].push({name:t,func:n})}}),On[Nr(r,2).name]=[{name:"wrapper",func:r}],Vn.prototype.clone=function(){var e=new Vn(this.__wrapped__);return e.__actions__=Sr(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Sr(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Sr(this.__views__),e},Vn.prototype.reverse=function(){if(this.__filtered__){var e=new Vn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Vn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Ua(e),i=t<0,r=n?e.length:0,o=function(e,t,n){for(var i=-1,r=n.length;++i=this.__values__.length;return{done:e,value:e?r:this.__values__[this.__index__++]}},Ln.prototype.plant=function(e){for(var t,n=this;n instanceof Fn;){var i=jo(n);i.__index__=0,i.__values__=r,t?o.__wrapped__=i:t=i;var o=i;n=n.__wrapped__}return o.__wrapped__=e,t},Ln.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Vn){var t=e;return this.__actions__.length&&(t=new Vn(this)),(t=t.reverse()).__actions__.push({func:ha,args:[Zo],thisArg:r}),new Bn(t,this.__chain__)}return this.thru(Zo)},Ln.prototype.toJSON=Ln.prototype.valueOf=Ln.prototype.value=function(){return cr(this.__wrapped__,this.__actions__)},Ln.prototype.first=Ln.prototype.head,Xe&&(Ln.prototype[Xe]=function(){return this}),Ln}();ct._=dn,(i=(function(){return dn}).call(t,n,t,e))!==r&&(e.exports=i)}).call(this)},5478:function(e){e.exports=function(){"use strict";function e(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,i=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i={exports:{}};i.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:function(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}},changeDefaults:function(e){i.exports.defaults=e}};var r=/[&<>"']/,o=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,s=/[<>"']|&(?!#?\w+;)/g,u={"&":"&","<":"<",">":">",'"':""","'":"'"},c=function(e){return u[e]},l=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function h(e){return e.replace(l,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}var d=/(^|[^\[])\^/g,f=/[^\w:]/g,p=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i,v={},g=/^[^:]+:\/*[^/]*$/,m=/^([^:]+:)[\s\S]*$/,y=/^([^:]+:\/*[^/]*)[\s\S]*$/;function b(e,t,n){var i=e.length;if(0===i)return"";for(var r=0;r=0&&"\\"===n[r];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(n.length>t)n.splice(t);else for(;n.length1?{type:"space",raw:t[0]}:{raw:"\n"}},t.code=function(e){var t=this.rules.block.code.exec(e);if(t){var n=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:S(n,"\n")}}},t.fences=function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],i=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var i=n[1];return t.split("\n").map(function(e){var t=e.match(/^\s+/);return null===t?e:t[0].length>=i.length?e.slice(i.length):e}).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim():t[2],text:i}}},t.heading=function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();if(/#$/.test(n)){var i=S(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n}}},t.nptable=function(e){var t=this.rules.block.nptable.exec(e);if(t){var n={type:"table",header:C(t[1].replace(/^ *| *\| *$/g,"")),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:t[3]?t[3].replace(/\n$/,"").split("\n"):[],raw:t[0]};if(n.header.length===n.align.length){var i,r=n.align.length;for(i=0;i ?/gm,"");return{type:"blockquote",raw:t[0],text:n}}},t.list=function(e){var t=this.rules.block.list.exec(e);if(t){var n,i,r,o,a,s,u,c,l,h=t[0],d=t[2],f=d.length>1,p={type:"list",raw:h,ordered:f,start:f?+d.slice(0,-1):"",loose:!1,items:[]},v=t[0].match(this.rules.block.item),g=!1,m=v.length;r=this.rules.block.listItemStart.exec(v[0]);for(var y=0;yr[1].length:o[1].length>=r[0].length||o[1].length>3){v.splice(y,2,v[y]+(!this.options.pedantic&&o[1].length/i.test(i[0])&&(t=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:i[0],inLink:t,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):E(i[0]):i[0]}},t.link=function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var i=S(n.slice(0,-1),"\\");if((n.length-i.length)%2==0)return}else{var r=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,i=0,r=0;r-1){var o=(0===t[0].indexOf("!")?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,o).trim(),t[3]=""}}var a=t[2],s="";if(this.options.pedantic){var u=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(a);u&&(a=u[1],s=u[3])}else s=t[3]?t[3].slice(1,-1):"";return a=a.trim(),/^$/.test(n)?a.slice(1):a.slice(1,-1)),O(t,{href:a&&a.replace(this.rules.inline._escapes,"$1"),title:s&&s.replace(this.rules.inline._escapes,"$1")},t[0])}},t.reflink=function(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var i=(n[2]||n[1]).replace(/\s+/g," ");if(!(i=t[i.toLowerCase()])||!i.href){var r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return O(n,i,n[0])}},t.emStrong=function(e,t,n){void 0===n&&(n="");var i=this.rules.inline.emStrong.lDelim.exec(e);if(i&&(!i[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=i[1]||i[2]||"";if(!r||r&&(""===n||this.rules.inline.punctuation.exec(n))){var o,a,s=i[0].length-1,u=s,c=0,l="*"===i[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(l.lastIndex=0,t=t.slice(-1*e.length+s);null!=(i=l.exec(t));)if(o=i[1]||i[2]||i[3]||i[4]||i[5]||i[6]){if(a=o.length,i[3]||i[4]){u+=a;continue}if((i[5]||i[6])&&s%3&&!((s+a)%3)){c+=a;continue}if(!((u-=a)>0))return a=Math.min(a,a+u+c),Math.min(s,a)%2?{type:"em",raw:e.slice(0,s+i.index+a+1),text:e.slice(1,s+i.index+a)}:{type:"strong",raw:e.slice(0,s+i.index+a+1),text:e.slice(2,s+i.index+a-1)}}}}},t.codespan=function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),i=/[^ ]/.test(n),r=/^ /.test(n)&&/ $/.test(n);return i&&r&&(n=n.substring(1,n.length-1)),n=E(n,!0),{type:"codespan",raw:t[0],text:n}}},t.br=function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}},t.del=function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2]}},t.autolink=function(e,t){var n,i,r=this.rules.inline.autolink.exec(e);if(r)return i="@"===r[2]?"mailto:"+(n=E(this.options.mangle?t(r[1]):r[1])):n=E(r[1]),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}},t.url=function(e,t){var n;if(n=this.rules.inline.url.exec(e)){var i,r;if("@"===n[2])r="mailto:"+(i=E(this.options.mangle?t(n[0]):n[0]));else{var o;do{o=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(o!==n[0]);i=E(n[0]),r="www."===n[1]?"http://"+i:i}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}},t.inlineText=function(e,t,n){var i,r=this.rules.inline.text.exec(e);if(r)return i=t?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):E(r[0]):r[0]:E(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:i}},e}(),P={exec:function(){}},A=function(e,t){e=e.source||e,t=t||"";var n={replace:function(t,i){return i=(i=i.source||i).replace(d,"$1"),e=e.replace(t,i),n},getRegex:function(){return new RegExp(e,t)}};return n},M=k,I={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:P,table:P,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};I.def=A(I.def).replace("label",I._label).replace("title",I._title).getRegex(),I.bullet=/(?:[*+-]|\d{1,9}[.)])/,I.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,I.item=A(I.item,"gm").replace(/bull/g,I.bullet).getRegex(),I.listItemStart=A(/^( *)(bull) */).replace("bull",I.bullet).getRegex(),I.list=A(I.list).replace(/bull/g,I.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+I.def.source+")").getRegex(),I._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",I._comment=/|$)/,I.html=A(I.html,"i").replace("comment",I._comment).replace("tag",I._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),I.paragraph=A(I._paragraph).replace("hr",I.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",I._tag).getRegex(),I.blockquote=A(I.blockquote).replace("paragraph",I.paragraph).getRegex(),I.normal=M({},I),I.gfm=M({},I.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),I.gfm.nptable=A(I.gfm.nptable).replace("hr",I.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",I._tag).getRegex(),I.gfm.table=A(I.gfm.table).replace("hr",I.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",I._tag).getRegex(),I.pedantic=M({},I.normal,{html:A("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",I._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:P,paragraph:A(I.normal._paragraph).replace("hr",I.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",I.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var R={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:P,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:P,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};R.punctuation=A(R.punctuation).replace(/punctuation/g,R._punctuation).getRegex(),R.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,R.escapedEmSt=/\\\*|\\_/g,R._comment=A(I._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),R.emStrong.lDelim=A(R.emStrong.lDelim).replace(/punct/g,R._punctuation).getRegex(),R.emStrong.rDelimAst=A(R.emStrong.rDelimAst,"g").replace(/punct/g,R._punctuation).getRegex(),R.emStrong.rDelimUnd=A(R.emStrong.rDelimUnd,"g").replace(/punct/g,R._punctuation).getRegex(),R._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,R._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,R._email=/[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])?)+(?![-_])/,R.autolink=A(R.autolink).replace("scheme",R._scheme).replace("email",R._email).getRegex(),R._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,R.tag=A(R.tag).replace("comment",R._comment).replace("attribute",R._attribute).getRegex(),R._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,R._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,R._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,R.link=A(R.link).replace("label",R._label).replace("href",R._href).replace("title",R._title).getRegex(),R.reflink=A(R.reflink).replace("label",R._label).getRegex(),R.reflinkSearch=A(R.reflinkSearch,"g").replace("reflink",R.reflink).replace("nolink",R.nolink).getRegex(),R.normal=M({},R),R.pedantic=M({},R.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:A(/^!?\[(label)\]\((.*?)\)/).replace("label",R._label).getRegex(),reflink:A(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",R._label).getRegex()}),R.gfm=M({},R.normal,{escape:A(R.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\1;)1&t&&(n+=e),t>>=1,e+=e;return n+e};function V(e){return e.replace(/---/g,"\u2014").replace(/--/g,"\u2013").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1\u2018").replace(/'/g,"\u2019").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1\u201c").replace(/"/g,"\u201d").replace(/\.{3}/g,"\u2026")}function z(e){var t,n,i="",r=e.length;for(t=0;t.5&&(n="x"+n.toString(16)),i+="&#"+n+";";return i}var U=function(){function t(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||L,this.options.tokenizer=this.options.tokenizer||new N,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var t={block:j.normal,inline:F.normal};this.options.pedantic?(t.block=j.pedantic,t.inline=F.pedantic):this.options.gfm&&(t.block=j.gfm,t.inline=this.options.breaks?F.breaks:F.gfm),this.tokenizer.rules=t}t.lex=function(e,n){return new t(n).lex(e)},t.lexInline=function(e,n){return new t(n).inlineTokens(e)};var n=t.prototype;return n.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(e,this.tokens,!0),this.inline(this.tokens),this.tokens},n.blockTokens=function(e,t,n){var i,r,o,a,s,u,c=this;for(void 0===t&&(t=[]),void 0===n&&(n=!0),this.options.pedantic&&(e=e.replace(/^ +$/gm,""));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(n){return!!(i=n.call(c,e,t))&&(e=e.substring(i.raw.length),t.push(i),!0)}))){if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length),i.type&&t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length),(a=t[t.length-1])&&"paragraph"===a.type?(a.raw+="\n"+i.raw,a.text+="\n"+i.text):t.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.nptable(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),i.tokens=this.blockTokens(i.text,[],n),t.push(i);continue}if(i=this.tokenizer.list(e)){for(e=e.substring(i.raw.length),o=i.items.length,r=0;r=0&&(t=Math.min(t,i))}),t<1/0&&t>=0&&(s=e.substring(0,t+1))}(),n&&(i=this.tokenizer.paragraph(s))){a=t[t.length-1],u&&"paragraph"===a.type?(a.raw+="\n"+i.raw,a.text+="\n"+i.text):t.push(i),u=s.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length),(a=t[t.length-1])&&"text"===a.type?(a.raw+="\n"+i.raw,a.text+="\n"+i.text):t.push(i);continue}if(e){var l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}throw new Error(l)}}return t},n.inline=function(e){var t,n,i,r,o,a,s=e.length;for(t=0;t0)for(;null!=(u=this.tokenizer.rules.inline.reflinkSearch.exec(h));)d.includes(u[0].slice(u[0].lastIndexOf("[")+1,-1))&&(h=h.slice(0,u.index)+"["+B("a",u[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(u=this.tokenizer.rules.inline.blockSkip.exec(h));)h=h.slice(0,u.index)+"["+B("a",u[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(u=this.tokenizer.rules.inline.escapedEmSt.exec(h));)h=h.slice(0,u.index)+"++"+h.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(c||(l=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(n){return!!(o=n.call(r,e,t))&&(e=e.substring(o.raw.length),t.push(o),!0)}))){if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e,n,i)){e=e.substring(o.raw.length),n=o.inLink,i=o.inRawBlock,(a=t[t.length-1])&&"text"===o.type&&"text"===a.type?(a.raw+=o.raw,a.text+=o.text):t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),"link"===o.type&&(o.tokens=this.inlineTokens(o.text,[],!0,i)),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length),a=t[t.length-1],"link"===o.type?(o.tokens=this.inlineTokens(o.text,[],!0,i),t.push(o)):a&&"text"===o.type&&"text"===a.type?(a.raw+=o.raw,a.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,h,l)){e=e.substring(o.raw.length),o.tokens=this.inlineTokens(o.text,[],n,i),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e)){e=e.substring(o.raw.length),o.tokens=this.inlineTokens(o.text,[],n,i),t.push(o);continue}if(o=this.tokenizer.autolink(e,z)){e=e.substring(o.raw.length),t.push(o);continue}if(!n&&(o=this.tokenizer.url(e,z))){e=e.substring(o.raw.length),t.push(o);continue}if(s=e,this.options.extensions&&this.options.extensions.startInline&&function(){var t=1/0,n=e.slice(1),i=void 0;r.options.extensions.startInline.forEach(function(e){"number"==typeof(i=e.call(this,n))&&i>=0&&(t=Math.min(t,i))}),t<1/0&&t>=0&&(s=e.substring(0,t+1))}(),o=this.tokenizer.inlineText(s,i,V)){e=e.substring(o.raw.length),"_"!==o.raw.slice(-1)&&(l=o.raw.slice(-1)),c=!0,(a=t[t.length-1])&&"text"===a.type?(a.raw+=o.raw,a.text+=o.text):t.push(o);continue}if(e){var f="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(f);break}throw new Error(f)}}return t},function(t,n,i){i&&e(t,i)}(t,0,[{key:"rules",get:function(){return{block:j,inline:F}}}]),t}(),H=i.exports.defaults,G=function(e,t,n){if(e){var i;try{i=decodeURIComponent(h(n)).replace(f,"").toLowerCase()}catch(r){return null}if(0===i.indexOf("javascript:")||0===i.indexOf("vbscript:")||0===i.indexOf("data:"))return null}t&&!p.test(n)&&(n=function(e,t){v[" "+e]||(v[" "+e]=g.test(e)?e+"/":b(e,"/",!0));var n=-1===(e=v[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(m,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(y,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(r){return null}return n},W=_,q=function(){function e(e){this.options=e||H}var t=e.prototype;return t.code=function(e,t,n){var i=(t||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(e,i);null!=r&&r!==e&&(n=!0,e=r)}return e=e.replace(/\n$/,"")+"\n",i?'
                      '+(n?e:W(e,!0))+"
                      \n":"
                      "+(n?e:W(e,!0))+"
                      \n"},t.blockquote=function(e){return"
                      \n"+e+"
                      \n"},t.html=function(e){return e},t.heading=function(e,t,n,i){return this.options.headerIds?"'+e+"\n":""+e+"\n"},t.hr=function(){return this.options.xhtml?"
                      \n":"
                      \n"},t.list=function(e,t,n){var i=t?"ol":"ul";return"<"+i+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},t.listitem=function(e){return"
                    • "+e+"
                    • \n"},t.checkbox=function(e){return" "},t.paragraph=function(e){return"

                      "+e+"

                      \n"},t.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
                      \n"},t.tablerow=function(e){return"\n"+e+"\n"},t.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},t.strong=function(e){return""+e+""},t.em=function(e){return""+e+""},t.codespan=function(e){return""+e+""},t.br=function(){return this.options.xhtml?"
                      ":"
                      "},t.del=function(e){return""+e+""},t.link=function(e,t,n){if(null===(e=G(this.options.sanitize,this.options.baseUrl,e)))return n;var i='"+n+""},t.image=function(e,t,n){if(null===(e=G(this.options.sanitize,this.options.baseUrl,e)))return n;var i=''+n+'":">")},t.text=function(e){return e},e}(),X=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,n){return""+n},t.image=function(e,t,n){return""+n},t.br=function(){return""},e}(),Y=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var n=e,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[e];do{n=e+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=i,this.seen[n]=0),n},t.slug=function(e,t){void 0===t&&(t={});var n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)},e}(),K=q,$=X,Q=Y,Z=i.exports.defaults,J=w,ee=U,te=function(){function e(e){this.options=e||Z,this.options.renderer=this.options.renderer||new K,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new $,this.slugger=new Q}e.parse=function(t,n){return new e(n).parse(t)},e.parseInline=function(t,n){return new e(n).parseInline(t)};var t=e.prototype;return t.parse=function(e,t){void 0===t&&(t=!0);var n,i,r,o,a,s,u,c,l,h,d,f,p,v,g,m,y,b,_,w="",k=e.length;for(n=0;n0&&"text"===g.tokens[0].type?(g.tokens[0].text=b+" "+g.tokens[0].text,g.tokens[0].tokens&&g.tokens[0].tokens.length>0&&"text"===g.tokens[0].tokens[0].type&&(g.tokens[0].tokens[0].text=b+" "+g.tokens[0].tokens[0].text)):g.tokens.unshift({type:"text",text:b}):v+=b),v+=this.parse(g.tokens,p),l+=this.renderer.listitem(v,y,m);w+=this.renderer.list(l,d,f);continue;case"html":w+=this.renderer.html(h.text);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(h.tokens));continue;case"text":for(l=h.tokens?this.parseInline(h.tokens):h.text;n+1An error occurred:

                      "+ue(u.message+"",!0)+"
                      ";throw u}}return de.options=de.setOptions=function(e){return ae(de.defaults,e),le(de.defaults),de},de.getDefaults=ce,de.defaults=he,de.use=function(){for(var e=this,t=arguments.length,n=new Array(t),i=0;iAn error occurred:

                      "+ue(i.message+"",!0)+"
                      ";throw i}},de.Parser=te,de.parser=te.parse,de.Renderer=ie,de.TextRenderer=re,de.Lexer=ee,de.lexer=ee.lex,de.Tokenizer=ne,de.Slugger=oe,de.parse=de,de}()},29369:function(e,t,n){var i=n(56284),r=n(67830);function o(){this.clear()}o.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},o.prototype.enqueue=function(e){return this.items.push(e),++this.size},o.prototype.dequeue=function(){if(this.size){var e=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,e}},o.prototype.peek=function(){if(this.size)return this.items[this.offset]},o.prototype.forEach=function(e,t){t=arguments.length>1?t:this;for(var n=this.offset,i=0,r=this.items.length;n=e.length)return{done:!0};var n=e[t];return t++,{value:n,done:!1}})},o.prototype.entries=function(){var e=this.items,t=this.offset,n=0;return new i(function(){if(t>=e.length)return{done:!0};var i=e[t];return t++,{value:[n++,i],done:!1}})},"undefined"!=typeof Symbol&&(o.prototype[Symbol.iterator]=o.prototype.values),o.prototype.toString=function(){return this.toArray().join(",")},o.prototype.toJSON=function(){return this.toArray()},o.prototype.inspect=function(){var e=this.toArray();return Object.defineProperty(e,"constructor",{value:o,enumerable:!1}),e},"undefined"!=typeof Symbol&&(o.prototype[Symbol.for("nodejs.util.inspect.custom")]=o.prototype.inspect),o.from=function(e){var t=new o;return r(e,function(e){t.enqueue(e)}),t},o.of=function(){return o.from(arguments)},e.exports=o},65593:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(72293),a=function(e){function t(){e.apply(this,arguments),this.value=null,this.hasNext=!1,this.hasCompleted=!1}return i(t,e),t.prototype._subscribe=function(t){return this.hasError?(t.error(this.thrownError),o.Subscription.EMPTY):this.hasCompleted&&this.hasNext?(t.next(this.value),t.complete(),o.Subscription.EMPTY):e.prototype._subscribe.call(this,t)},t.prototype.next=function(e){this.hasCompleted||(this.value=e,this.hasNext=!0)},t.prototype.error=function(t){this.hasCompleted||e.prototype.error.call(this,t)},t.prototype.complete=function(){this.hasCompleted=!0,this.hasNext&&e.prototype.next.call(this,this.value),e.prototype.complete.call(this)},t}(r.Subject);t.AsyncSubject=a},73907:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(6594),a=function(e){function t(t){e.call(this),this._value=t}return i(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return n&&!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new o.ObjectUnsubscribedError;return this._value},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(r.Subject);t.BehaviorSubject=a},36888:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t,n,i){e.call(this),this.parent=t,this.outerValue=n,this.outerIndex=i,this.index=0}return i(t,e),t.prototype._next=function(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)},t.prototype._error=function(e){this.parent.notifyError(e,this),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},t}(n(42109).Subscriber);t.InnerSubscriber=r},94429:function(e,t,n){"use strict";var i=n(18705),r=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return e.prototype.observe=function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}},e.prototype.do=function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}},e.prototype.accept=function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){switch(this.kind){case"N":return i.Observable.of(this.value);case"E":return i.Observable.throw(this.error);case"C":return i.Observable.empty()}throw new Error("unexpected notification kind value")},e.createNext=function(t){return void 0!==t?new e("N",t):e.undefinedValueNotification},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e.undefinedValueNotification=new e("N",void 0),e}();t.Notification=r},18705:function(e,t,n){"use strict";var i=n(80019),r=n(18154),o=n(45783),a=n(10142),s=function(){function e(e){this._isScalar=!1,e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var i=this.operator,o=r.toSubscriber(e,t,n);if(i?i.call(o,this.source):o.add(this.source||!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.syncErrorThrown=!0,e.syncErrorValue=t,e.error(t)}},e.prototype.forEach=function(e,t){var n=this;if(t||(i.root.Rx&&i.root.Rx.config&&i.root.Rx.config.Promise?t=i.root.Rx.config.Promise:i.root.Promise&&(t=i.root.Promise)),!t)throw new Error("no Promise impl found");return new t(function(t,i){var r;r=n.subscribe(function(t){if(r)try{e(t)}catch(n){i(n),r.unsubscribe()}else e(t)},i,t)})},e.prototype._subscribe=function(e){return this.source.subscribe(e)},e.prototype[o.observable]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;tt&&(o=Math.max(o,r-t)),o>0&&i.splice(0,o),i},t}(r.Subject);t.ReplaySubject=l;var h=function(e,t){this.time=e,this.value=t}},25430:function(e,t,n){"use strict";var i=n(2369);t.xQ=i.Subject,n(18705),n(24769),n(95914),n(88007),n(3194),n(61898),n(16301),n(23276),n(66593),n(13745),n(57362),n(24518),n(68789),n(30520),n(67370),n(86866),n(11505),n(5031),n(36780),n(17038),n(15718),n(27915),n(90763),n(6846),n(65662),n(6799),n(81854),n(612),n(10838),n(6725),n(8827),n(43511),n(38922),n(25178),n(56937),n(22947),n(82894),n(11206),n(94183),n(16653),n(17930),n(81118),n(50317),n(90674),n(66460),n(79232),n(3945),n(44674),n(73505),n(38749),n(16479),n(22744),n(44475),n(97384),n(8237),n(24937),n(99013),n(84042),n(44436),n(7099),n(6217),n(57476),n(72646),n(91573),n(27387),n(27366),n(88859),n(65425),n(16733),n(23381),n(80404),n(63770),n(53626),n(98851),n(84878),n(26544),n(53582),n(61749),n(34838),n(49681),n(46227),n(56455),n(40881),n(94315),n(92910),n(52442),n(84664),n(61250),n(28310),n(43027),n(18252),n(49571),n(31782),n(9800),n(41854),n(74839),n(1305),n(99144),n(89952),n(85863),n(2865),n(92667),n(22185),n(72919),n(88630),n(75458),n(40780),n(35099),n(57502),n(81676),n(20579),n(71323),n(84950),n(57113),n(95073),n(75654),n(59889),n(96611),n(81845),n(7828),n(4881),n(74568),n(32352),n(50169),n(93543),n(61690),n(15914),n(68583),n(44808),n(49088),n(72293),n(42109),n(65593),n(81959),n(73907),n(51493),n(94429),n(44640),n(11758),n(6594),n(13815),n(84536),n(73390),n(62688),n(24482),n(18353),n(55298),n(10142),n(85522),n(90680),n(97088),n(12948),n(28592),n(72121),n(45783),n(39053)},11965:function(e,t){"use strict";var n=function(){function e(t,n){void 0===n&&(n=e.now),this.SchedulerAction=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.SchedulerAction(this,e).schedule(n,t)},e.now=Date.now?Date.now:function(){return+new Date},e}();t.Scheduler=n},2369:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(42109),a=n(72293),s=n(6594),u=n(9060),c=n(28592),l=function(e){function t(t){e.call(this,t),this.destination=t}return i(t,e),t}(o.Subscriber);t.SubjectSubscriber=l;var h=function(e){function t(){e.call(this),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}return i(t,e),t.prototype[c.rxSubscriber]=function(){return new l(this)},t.prototype.lift=function(e){var t=new d(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new s.ObjectUnsubscribedError;if(!this.isStopped)for(var t=this.observers,n=t.length,i=t.slice(),r=0;r=e.length)return void i.complete();i.next(t[n]),e.index=n+1,this.schedule(e)}},t.prototype._subscribe=function(e){var n=this.arrayLike,i=this.scheduler,r=n.length;if(i)return i.schedule(t.dispatch,0,{arrayLike:n,index:0,length:r,subscriber:e});for(var o=0;o1?new t(e,i):1===r?new o.ScalarObservable(e[0],i):new a.EmptyObservable(i)},t.dispatch=function(e){var t=e.array,n=e.index,i=e.subscriber;n>=e.count?i.complete():(i.next(t[n]),!i.closed&&(e.index=n+1,this.schedule(e)))},t.prototype._subscribe=function(e){var n=this.array,i=n.length,r=this.scheduler;if(r)return r.schedule(t.dispatch,0,{array:n,index:0,count:i,subscriber:e});for(var o=0;o1)this.connection=null;else{var n=this.connection,i=e._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null}}(a.Subscriber)},34078:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(93658),a=n(84308),s=function(e){function t(t){e.call(this),this.observableFactory=t}return i(t,e),t.create=function(e){return new t(e)},t.prototype._subscribe=function(e){return new u(e,this.observableFactory)},t}(r.Observable);t.DeferObservable=s;var u=function(e){function t(t,n){e.call(this,t),this.factory=n,this.tryDefer()}return i(t,e),t.prototype.tryDefer=function(){try{this._callFactory()}catch(e){this._error(e)}},t.prototype._callFactory=function(){var e=this.factory();e&&this.add(o.subscribeToResult(this,e))},t}(a.OuterSubscriber)},70481:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t){e.call(this),this.scheduler=t}return i(t,e),t.create=function(e){return new t(e)},t.dispatch=function(e){e.subscriber.complete()},t.prototype._subscribe=function(e){var n=this.scheduler;if(n)return n.schedule(t.dispatch,0,{subscriber:e});e.complete()},t}(n(18705).Observable);t.EmptyObservable=r},72210:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t,n){e.call(this),this.error=t,this.scheduler=n}return i(t,e),t.create=function(e,n){return new t(e,n)},t.dispatch=function(e){e.subscriber.error(e.error)},t.prototype._subscribe=function(e){var n=this.error,i=this.scheduler;if(e.syncErrorThrowable=!0,i)return i.schedule(t.dispatch,0,{error:n,subscriber:e});e.error(n)},t}(n(18705).Observable);t.ErrorObservable=r},56064:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(70481),a=n(48242),s=n(93658),u=n(84308),c=function(e){function t(t,n){e.call(this),this.sources=t,this.resultSelector=n}return i(t,e),t.create=function(){for(var e=[],n=0;nl?l:t:t}(e)),this.arr=e,this.idx=t,this.len=n}return e.prototype[a.iterator]=function(){return this},e.prototype.next=function(){return this.idx=e.count?i.complete():(i.next(t),!i.closed&&(e.index=n+1,e.start=t+1,this.schedule(e)))},t.prototype._subscribe=function(e){var n=0,i=this.start,r=this._count,o=this.scheduler;if(o)return o.schedule(t.dispatch,0,{index:n,count:r,start:i,subscriber:e});for(;;){if(n++>=r){e.complete();break}if(e.next(i++),e.closed)break}},t}(n(18705).Observable);t.RangeObservable=r},80478:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t,n){e.call(this),this.value=t,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return i(t,e),t.create=function(e,n){return new t(e,n)},t.dispatch=function(e){var t=e.value,n=e.subscriber;e.done?n.complete():(n.next(t),!n.closed&&(e.done=!0,this.schedule(e)))},t.prototype._subscribe=function(e){var n=this.value,i=this.scheduler;if(i)return i.schedule(t.dispatch,0,{done:!1,value:n,subscriber:e});e.next(n),e.closed||e.complete()},t}(n(18705).Observable);t.ScalarObservable=r},82966:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(85522),a=n(39479),s=function(e){function t(t,n,i){void 0===n&&(n=0),void 0===i&&(i=o.asap),e.call(this),this.source=t,this.delayTime=n,this.scheduler=i,(!a.isNumeric(n)||n<0)&&(this.delayTime=0),(!i||"function"!=typeof i.schedule)&&(this.scheduler=o.asap)}return i(t,e),t.create=function(e,n,i){return void 0===n&&(n=0),void 0===i&&(i=o.asap),new t(e,n,i)},t.dispatch=function(e){return this.add(e.source.subscribe(e.subscriber))},t.prototype._subscribe=function(e){return this.scheduler.schedule(t.dispatch,this.delayTime,{source:this.source,subscriber:e})},t}(r.Observable);t.SubscribeOnObservable=s},92870:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(39479),o=n(18705),a=n(90680),s=n(41503),u=n(783),c=function(e){function t(t,n,i){void 0===t&&(t=0),e.call(this),this.period=-1,this.dueTime=0,r.isNumeric(n)?this.period=Number(n)<1?1:Number(n):s.isScheduler(n)&&(i=n),s.isScheduler(i)||(i=a.async),this.scheduler=i,this.dueTime=u.isDate(t)?+t-this.scheduler.now():t}return i(t,e),t.create=function(e,n,i){return void 0===e&&(e=0),new t(e,n,i)},t.dispatch=function(e){var t=e.index,n=e.period,i=e.subscriber;if(i.next(t),!i.closed){if(-1===n)return i.complete();e.index=t+1,this.schedule(e,n)}},t.prototype._subscribe=function(e){var n=this;return n.scheduler.schedule(t.dispatch,n.dueTime,{index:0,period:n.period,subscriber:e})},t}(o.Observable);t.TimerObservable=c},16196:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(93658),a=n(84308),s=function(e){function t(t,n){e.call(this),this.resourceFactory=t,this.observableFactory=n}return i(t,e),t.create=function(e,n){return new t(e,n)},t.prototype._subscribe=function(e){var t,n=this.resourceFactory,i=this.observableFactory;try{return t=n(),new u(e,t,i)}catch(r){e.error(r)}},t}(r.Observable);t.UsingObservable=s;var u=function(e){function t(t,n,i){e.call(this,t),this.resource=n,this.observableFactory=i,t.add(n),this.tryUse()}return i(t,e),t.prototype.tryUse=function(){try{var e=this.observableFactory.call(this,this.resource);e&&this.add(o.subscribeToResult(this,e))}catch(t){this._error(t)}},t}(a.OuterSubscriber)},59246:function(e,t,n){"use strict";var i=n(19183);t.bindCallback=i.BoundCallbackObservable.create},65571:function(e,t,n){"use strict";var i=n(78655);t.bindNodeCallback=i.BoundNodeCallbackObservable.create},24669:function(e,t,n){"use strict";var i=n(41503),r=n(48242),o=n(96177),a=n(49134);t.combineLatest=function(){for(var e=[],t=0;t1&&"number"==typeof e[e.length-1]&&(n=e.pop())):"number"==typeof u&&(n=e.pop()),null===s&&1===e.length&&e[0]instanceof i.Observable?e[0]:a.mergeAll(n)(new r.ArrayObservable(e,s))}},94503:function(e,t,n){"use strict";var i=n(20143);t.never=i.NeverObservable.create},69657:function(e,t,n){"use strict";var i=n(96177);t.of=i.ArrayObservable.of},61395:function(e,t,n){"use strict";var i=n(46243);t.onErrorResumeNext=i.onErrorResumeNextStatic},95425:function(e,t,n){"use strict";var i=n(19770);t.pairs=i.PairsObservable.create},24330:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(48242),o=n(96177),a=n(84308),s=n(93658);t.race=function(){for(var e=[],t=0;t=2&&(a=arguments[1]);var s=Number.POSITIVE_INFINITY;return t>=3&&(s=arguments[2]),o.bufferTime(e,a,s,n)(this)}},92523:function(e,t,n){"use strict";var i=n(15440);t.bufferToggle=function(e,t){return i.bufferToggle(e,t)(this)}},49436:function(e,t,n){"use strict";var i=n(51786);t.bufferWhen=function(e){return i.bufferWhen(e)(this)}},64731:function(e,t,n){"use strict";var i=n(93017);t._catch=function(e){return i.catchError(e)(this)}},92273:function(e,t,n){"use strict";var i=n(17054);t.combineAll=function(e){return i.combineAll(e)(this)}},8709:function(e,t,n){"use strict";var i=n(49134);t.combineLatest=function(){for(var e=[],t=0;t=2?i.reduce(e,t)(this):i.reduce(e)(this)}},12931:function(e,t,n){"use strict";var i=n(15329);t.repeat=function(e){return void 0===e&&(e=-1),i.repeat(e)(this)}},68816:function(e,t,n){"use strict";var i=n(63964);t.repeatWhen=function(e){return i.repeatWhen(e)(this)}},17144:function(e,t,n){"use strict";var i=n(40241);t.retry=function(e){return void 0===e&&(e=-1),i.retry(e)(this)}},82766:function(e,t,n){"use strict";var i=n(23896);t.retryWhen=function(e){return i.retryWhen(e)(this)}},62068:function(e,t,n){"use strict";var i=n(92043);t.sample=function(e){return i.sample(e)(this)}},97013:function(e,t,n){"use strict";var i=n(90680),r=n(71239);t.sampleTime=function(e,t){return void 0===t&&(t=i.async),r.sampleTime(e,t)(this)}},98996:function(e,t,n){"use strict";var i=n(64949);t.scan=function(e,t){return arguments.length>=2?i.scan(e,t)(this):i.scan(e)(this)}},77033:function(e,t,n){"use strict";var i=n(88948);t.sequenceEqual=function(e,t){return i.sequenceEqual(e,t)(this)}},10377:function(e,t,n){"use strict";var i=n(35473);t.share=function(){return i.share()(this)}},71623:function(e,t,n){"use strict";var i=n(62704);t.shareReplay=function(e,t,n){return i.shareReplay(e,t,n)(this)}},91956:function(e,t,n){"use strict";var i=n(92223);t.single=function(e){return i.single(e)(this)}},72355:function(e,t,n){"use strict";var i=n(11189);t.skip=function(e){return i.skip(e)(this)}},69329:function(e,t,n){"use strict";var i=n(73346);t.skipLast=function(e){return i.skipLast(e)(this)}},68481:function(e,t,n){"use strict";var i=n(12928);t.skipUntil=function(e){return i.skipUntil(e)(this)}},587:function(e,t,n){"use strict";var i=n(69415);t.skipWhile=function(e){return i.skipWhile(e)(this)}},49292:function(e,t,n){"use strict";var i=n(30673);t.startWith=function(){for(var e=[],t=0;t0&&this.destination.next(t),e.prototype._complete.call(this)},t}(r.Subscriber),s=function(e){function t(t,n,i){e.call(this,t),this.bufferSize=n,this.startBufferEvery=i,this.buffers=[],this.count=0}return i(t,e),t.prototype._next=function(e){var t=this,n=t.bufferSize,i=t.startBufferEvery,r=t.buffers,o=t.count;this.count++,o%i==0&&r.push([]);for(var a=r.length;a--;){var s=r[a];s.push(e),s.length===n&&(r.splice(a,1),this.destination.next(s))}},t.prototype._complete=function(){for(var t=this.buffers,n=this.destination;t.length>0;){var i=t.shift();i.length>0&&n.next(i)}e.prototype._complete.call(this)},t}(r.Subscriber)},6489:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(90680),o=n(42109),a=n(41503);t.bufferTime=function(e){var t=arguments.length,n=r.async;a.isScheduler(arguments[arguments.length-1])&&(n=arguments[arguments.length-1],t--);var i=null;t>=2&&(i=arguments[1]);var o=Number.POSITIVE_INFINITY;return t>=3&&(o=arguments[2]),function(t){return t.lift(new s(e,i,o,n))}};var s=function(){function e(e,t,n,i){this.bufferTimeSpan=e,this.bufferCreationInterval=t,this.maxBufferSize=n,this.scheduler=i}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))},e}(),u=function(){this.buffer=[]},c=function(e){function t(t,n,i,r,o){e.call(this,t),this.bufferTimeSpan=n,this.bufferCreationInterval=i,this.maxBufferSize=r,this.scheduler=o,this.contexts=[];var a=this.openContext();if(this.timespanOnly=null==i||i<0,this.timespanOnly)this.add(a.closeAction=o.schedule(l,n,{subscriber:this,context:a,bufferTimeSpan:n}));else{var s={bufferTimeSpan:n,bufferCreationInterval:i,subscriber:this,scheduler:o};this.add(a.closeAction=o.schedule(d,n,{subscriber:this,context:a})),this.add(o.schedule(h,i,s))}}return i(t,e),t.prototype._next=function(e){for(var t,n=this.contexts,i=n.length,r=0;r0;){var i=t.shift();n.next(i.buffer)}e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.contexts=null},t.prototype.onBufferFull=function(e){this.closeContext(e);var t=e.closeAction;if(t.unsubscribe(),this.remove(t),!this.closed&&this.timespanOnly){e=this.openContext();var n=this.bufferTimeSpan;this.add(e.closeAction=this.scheduler.schedule(l,n,{subscriber:this,context:e,bufferTimeSpan:n}))}},t.prototype.openContext=function(){var e=new u;return this.contexts.push(e),e},t.prototype.closeContext=function(e){this.destination.next(e.buffer);var t=this.contexts;(t?t.indexOf(e):-1)>=0&&t.splice(t.indexOf(e),1)},t}(o.Subscriber);function l(e){var t=e.subscriber,n=e.context;n&&t.closeContext(n),t.closed||(e.context=t.openContext(),e.context.closeAction=this.schedule(e,e.bufferTimeSpan))}function h(e){var t=e.bufferCreationInterval,n=e.bufferTimeSpan,i=e.subscriber,r=e.scheduler,o=i.openContext();i.closed||(i.add(o.closeAction=r.schedule(d,n,{subscriber:i,context:o})),this.schedule(e,t))}function d(e){e.subscriber.closeContext(e.context)}},15440:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(72293),o=n(93658),a=n(84308);t.bufferToggle=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.openings=e,this.closingSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.openings,this.closingSelector))},e}(),u=function(e){function t(t,n,i){e.call(this,t),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(o.subscribeToResult(this,n))}return i(t,e),t.prototype._next=function(e){for(var t=this.contexts,n=t.length,i=0;i0;){var i=n.shift();i.subscription.unsubscribe(),i.buffer=null,i.subscription=null}this.contexts=null,e.prototype._error.call(this,t)},t.prototype._complete=function(){for(var t=this.contexts;t.length>0;){var n=t.shift();this.destination.next(n.buffer),n.subscription.unsubscribe(),n.buffer=null,n.subscription=null}this.contexts=null,e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,i,r){e?this.closeBuffer(e):this.openBuffer(t)},t.prototype.notifyComplete=function(e){this.closeBuffer(e.context)},t.prototype.openBuffer=function(e){try{var t=this.closingSelector.call(this,e);t&&this.trySubscribe(t)}catch(n){this._error(n)}},t.prototype.closeBuffer=function(e){var t=this.contexts;if(t&&e){var n=e.subscription;this.destination.next(e.buffer),t.splice(t.indexOf(e),1),this.remove(n),n.unsubscribe()}},t.prototype.trySubscribe=function(e){var t=this.contexts,n=new r.Subscription,i={buffer:[],subscription:n};t.push(i);var a=o.subscribeToResult(this,e,i);!a||a.closed?this.closeBuffer(i):(a.context=i,this.add(a),n.add(a))},t}(a.OuterSubscriber)},51786:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(72293),o=n(33463),a=n(85814),s=n(84308),u=n(93658);t.bufferWhen=function(e){return function(t){return t.lift(new c(e))}};var c=function(){function e(e){this.closingSelector=e}return e.prototype.call=function(e,t){return t.subscribe(new l(e,this.closingSelector))},e}(),l=function(e){function t(t,n){e.call(this,t),this.closingSelector=n,this.subscribing=!1,this.openBuffer()}return i(t,e),t.prototype._next=function(e){this.buffer.push(e)},t.prototype._complete=function(){var t=this.buffer;t&&this.destination.next(t),e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.buffer=null,this.subscribing=!1},t.prototype.notifyNext=function(e,t,n,i,r){this.openBuffer()},t.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()},t.prototype.openBuffer=function(){var e=this.closingSubscription;e&&(this.remove(e),e.unsubscribe()),this.buffer&&this.destination.next(this.buffer),this.buffer=[];var t=o.tryCatch(this.closingSelector)();t===a.errorObject?this.error(a.errorObject.e):(e=new r.Subscription,this.closingSubscription=e,this.add(e),this.subscribing=!0,e.add(u.subscribeToResult(this,t)),this.subscribing=!1)},t}(s.OuterSubscriber)},93017:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.catchError=function(e){return function(t){var n=new a(e),i=t.lift(n);return n.caught=i}};var a=function(){function e(e){this.selector=e}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.selector,this.caught))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.selector=n,this.caught=i}return i(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=void 0;try{n=this.selector(t,this.caught)}catch(i){return void e.prototype.error.call(this,i)}this._unsubscribeAndRecycle(),this.add(o.subscribeToResult(this,n))}},t}(r.OuterSubscriber)},17054:function(e,t,n){"use strict";var i=n(49134);t.combineAll=function(e){return function(t){return t.lift(new i.CombineLatestOperator(e))}}},49134:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(96177),o=n(48242),a=n(84308),s=n(93658),u={};t.combineLatest=function(){for(var e=[],t=0;t0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var o=Math.max(0,n[0].time-i.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1},t.prototype._schedule=function(e){this.active=!0,this.add(e.schedule(t.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))},t.prototype.scheduleNotification=function(e){if(!0!==this.errored){var t=this.scheduler,n=new l(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}},t.prototype._next=function(e){this.scheduleNotification(s.Notification.createNext(e))},t.prototype._error=function(e){this.errored=!0,this.queue=[],this.destination.error(e)},t.prototype._complete=function(){this.scheduleNotification(s.Notification.createComplete())},t}(a.Subscriber),l=function(e,t){this.time=e,this.notification=t}},22944:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(18705),a=n(84308),s=n(93658);t.delayWhen=function(e,t){return t?function(n){return new l(n,t).lift(new u(e))}:function(t){return t.lift(new u(e))}};var u=function(){function e(e){this.delayDurationSelector=e}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.delayDurationSelector))},e}(),c=function(e){function t(t,n){e.call(this,t),this.delayDurationSelector=n,this.completed=!1,this.delayNotifierSubscriptions=[],this.values=[]}return i(t,e),t.prototype.notifyNext=function(e,t,n,i,r){this.destination.next(e),this.removeSubscription(r),this.tryComplete()},t.prototype.notifyError=function(e,t){this._error(e)},t.prototype.notifyComplete=function(e){var t=this.removeSubscription(e);t&&this.destination.next(t),this.tryComplete()},t.prototype._next=function(e){try{var t=this.delayDurationSelector(e);t&&this.tryDelay(t,e)}catch(n){this.destination.error(n)}},t.prototype._complete=function(){this.completed=!0,this.tryComplete()},t.prototype.removeSubscription=function(e){e.unsubscribe();var t=this.delayNotifierSubscriptions.indexOf(e),n=null;return-1!==t&&(n=this.values[t],this.delayNotifierSubscriptions.splice(t,1),this.values.splice(t,1)),n},t.prototype.tryDelay=function(e,t){var n=s.subscribeToResult(this,e,t);n&&!n.closed&&(this.add(n),this.delayNotifierSubscriptions.push(n)),this.values.push(t)},t.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()},t}(a.OuterSubscriber),l=function(e){function t(t,n){e.call(this),this.source=t,this.subscriptionDelay=n}return i(t,e),t.prototype._subscribe=function(e){this.subscriptionDelay.subscribe(new h(e,this.source))},t}(o.Observable),h=function(e){function t(t,n){e.call(this),this.parent=t,this.source=n,this.sourceSubscribed=!1}return i(t,e),t.prototype._next=function(e){this.subscribeToSource()},t.prototype._error=function(e){this.unsubscribe(),this.parent.error(e)},t.prototype._complete=function(){this.subscribeToSource()},t.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))},t}(r.Subscriber)},95591:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.dematerialize=function(){return function(e){return e.lift(new o)}};var o=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new a(e))},e}(),a=function(e){function t(t){e.call(this,t)}return i(t,e),t.prototype._next=function(e){e.observe(this.destination)},t}(r.Subscriber)},25753:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658),a=n(40317);t.distinct=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.keySelector=e,this.flushes=t}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.keySelector,this.flushes))},e}(),u=function(e){function t(t,n,i){e.call(this,t),this.keySelector=n,this.values=new a.Set,i&&this.add(o.subscribeToResult(this,i))}return i(t,e),t.prototype.notifyNext=function(e,t,n,i,r){this.values.clear()},t.prototype.notifyError=function(e,t){this._error(e)},t.prototype._next=function(e){this.keySelector?this._useKeySelector(e):this._finalizeNext(e,e)},t.prototype._useKeySelector=function(e){var t,n=this.destination;try{t=this.keySelector(e)}catch(i){return void n.error(i)}this._finalizeNext(t,e)},t.prototype._finalizeNext=function(e,t){var n=this.values;n.has(e)||(n.add(e),this.destination.next(t))},t}(r.OuterSubscriber);t.DistinctSubscriber=u},65608:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(33463),a=n(85814);t.distinctUntilChanged=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.compare=e,this.keySelector=t}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.compare,this.keySelector))},e}(),u=function(e){function t(t,n,i){e.call(this,t),this.keySelector=i,this.hasKey=!1,"function"==typeof n&&(this.compare=n)}return i(t,e),t.prototype.compare=function(e,t){return e===t},t.prototype._next=function(e){var t=e;if(this.keySelector&&(t=o.tryCatch(this.keySelector)(e))===a.errorObject)return this.destination.error(a.errorObject.e);var n=!1;if(this.hasKey){if((n=o.tryCatch(this.compare)(this.key,t))===a.errorObject)return this.destination.error(a.errorObject.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=t,this.destination.next(e))},t}(r.Subscriber)},8330:function(e,t,n){"use strict";var i=n(65608);t.distinctUntilKeyChanged=function(e,t){return i.distinctUntilChanged(function(n,i){return t?t(n[e],i[e]):n[e]===i[e]})}},29264:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(11758);t.elementAt=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){if(this.index=e,this.defaultValue=t,e<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.index,this.defaultValue))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.index=n,this.defaultValue=i}return i(t,e),t.prototype._next=function(e){0==this.index--&&(this.destination.next(e),this.destination.complete())},t.prototype._complete=function(){var e=this.destination;this.index>=0&&(void 0!==this.defaultValue?e.next(this.defaultValue):e.error(new o.ArgumentOutOfRangeError)),e.complete()},t}(r.Subscriber)},26285:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.every=function(e,t){return function(n){return n.lift(new o(e,t,n))}};var o=function(){function e(e,t,n){this.predicate=e,this.thisArg=t,this.source=n}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.predicate,this.thisArg,this.source))},e}(),a=function(e){function t(t,n,i,r){e.call(this,t),this.predicate=n,this.thisArg=i,this.source=r,this.index=0,this.thisArg=i||this}return i(t,e),t.prototype.notifyComplete=function(e){this.destination.next(e),this.destination.complete()},t.prototype._next=function(e){var t=!1;try{t=this.predicate.call(this.thisArg,e,this.index++,this.source)}catch(n){return void this.destination.error(n)}t||this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(r.Subscriber)},93229:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.exhaust=function(){return function(e){return e.lift(new a)}};var a=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new s(e))},e}(),s=function(e){function t(t){e.call(this,t),this.hasCompleted=!1,this.hasSubscription=!1}return i(t,e),t.prototype._next=function(e){this.hasSubscription||(this.hasSubscription=!0,this.add(o.subscribeToResult(this,e)))},t.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},t.prototype.notifyComplete=function(e){this.remove(e),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},t}(r.OuterSubscriber)},15758:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.exhaustMap=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.project=e,this.resultSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.project,this.resultSelector))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.project=n,this.resultSelector=i,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}return i(t,e),t.prototype._next=function(e){this.hasSubscription||this.tryNext(e)},t.prototype.tryNext=function(e){var t=this.index++,n=this.destination;try{var i=this.project(e,t);this.hasSubscription=!0,this.add(o.subscribeToResult(this,i,e,t))}catch(r){n.error(r)}},t.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},t.prototype.notifyNext=function(e,t,n,i,r){var o=this.destination;this.resultSelector?this.trySelectResult(e,t,n,i):o.next(t)},t.prototype.trySelectResult=function(e,t,n,i){var r=this.resultSelector,o=this.destination;try{var a=r(e,t,n,i);o.next(a)}catch(s){o.error(s)}},t.prototype.notifyError=function(e){this.destination.error(e)},t.prototype.notifyComplete=function(e){this.remove(e),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},t}(r.OuterSubscriber)},55364:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(33463),o=n(85814),a=n(84308),s=n(93658);t.expand=function(e,t,n){return void 0===t&&(t=Number.POSITIVE_INFINITY),void 0===n&&(n=void 0),t=(t||0)<1?Number.POSITIVE_INFINITY:t,function(i){return i.lift(new u(e,t,n))}};var u=function(){function e(e,t,n){this.project=e,this.concurrent=t,this.scheduler=n}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.project,this.concurrent,this.scheduler))},e}();t.ExpandOperator=u;var c=function(e){function t(t,n,i,r){e.call(this,t),this.project=n,this.concurrent=i,this.scheduler=r,this.index=0,this.active=0,this.hasCompleted=!1,i0&&this._next(t.shift()),this.hasCompleted&&0===this.active&&this.destination.complete()},t}(a.OuterSubscriber);t.ExpandSubscriber=c},27015:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.filter=function(e,t){return function(n){return n.lift(new o(e,t))}};var o=function(){function e(e,t){this.predicate=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.predicate,this.thisArg))},e}(),a=function(e){function t(t,n,i){e.call(this,t),this.predicate=n,this.thisArg=i,this.count=0}return i(t,e),t.prototype._next=function(e){var t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}t&&this.destination.next(e)},t}(r.Subscriber)},94367:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(72293);t.finalize=function(e){return function(t){return t.lift(new a(e))}};var a=function(){function e(e){this.callback=e}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.callback))},e}(),s=function(e){function t(t,n){e.call(this,t),this.add(new o.Subscription(n))}return i(t,e),t}(r.Subscriber)},16700:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.find=function(e,t){if("function"!=typeof e)throw new TypeError("predicate is not a function");return function(n){return n.lift(new o(e,n,!1,t))}};var o=function(){function e(e,t,n,i){this.predicate=e,this.source=t,this.yieldIndex=n,this.thisArg=i}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.predicate,this.source,this.yieldIndex,this.thisArg))},e}();t.FindValueOperator=o;var a=function(e){function t(t,n,i,r,o){e.call(this,t),this.predicate=n,this.source=i,this.yieldIndex=r,this.thisArg=o,this.index=0}return i(t,e),t.prototype.notifyComplete=function(e){var t=this.destination;t.next(e),t.complete()},t.prototype._next=function(e){var t=this.predicate,n=this.thisArg,i=this.index++;try{t.call(n||this,e,i,this.source)&&this.notifyComplete(this.yieldIndex?i:e)}catch(r){this.destination.error(r)}},t.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)},t}(r.Subscriber);t.FindValueSubscriber=a},86452:function(e,t,n){"use strict";var i=n(16700);t.findIndex=function(e,t){return function(n){return n.lift(new i.FindValueOperator(e,n,!0,t))}}},12309:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(44640);t.first=function(e,t,n){return function(i){return i.lift(new a(e,t,n,i))}};var a=function(){function e(e,t,n,i){this.predicate=e,this.resultSelector=t,this.defaultValue=n,this.source=i}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate,this.resultSelector,this.defaultValue,this.source))},e}(),s=function(e){function t(t,n,i,r,o){e.call(this,t),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=o,this.index=0,this.hasCompleted=!1,this._emitted=!1}return i(t,e),t.prototype._next=function(e){var t=this.index++;this.predicate?this._tryPredicate(e,t):this._emit(e,t)},t.prototype._tryPredicate=function(e,t){var n;try{n=this.predicate(e,t,this.source)}catch(i){return void this.destination.error(i)}n&&this._emit(e,t)},t.prototype._emit=function(e,t){this.resultSelector?this._tryResultSelector(e,t):this._emitFinal(e)},t.prototype._tryResultSelector=function(e,t){var n;try{n=this.resultSelector(e,t)}catch(i){return void this.destination.error(i)}this._emitFinal(n)},t.prototype._emitFinal=function(e){var t=this.destination;this._emitted||(this._emitted=!0,t.next(e),t.complete(),this.hasCompleted=!0)},t.prototype._complete=function(){var e=this.destination;this.hasCompleted||void 0===this.defaultValue?this.hasCompleted||e.error(new o.EmptyError):(e.next(this.defaultValue),e.complete())},t}(r.Subscriber)},92577:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(72293),a=n(18705),s=n(2369),u=n(49754),c=n(30764);t.groupBy=function(e,t,n,i){return function(r){return r.lift(new l(e,t,n,i))}};var l=function(){function e(e,t,n,i){this.keySelector=e,this.elementSelector=t,this.durationSelector=n,this.subjectSelector=i}return e.prototype.call=function(e,t){return t.subscribe(new h(e,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))},e}(),h=function(e){function t(t,n,i,r,o){e.call(this,t),this.keySelector=n,this.elementSelector=i,this.durationSelector=r,this.subjectSelector=o,this.groups=null,this.attemptedToUnsubscribe=!1,this.count=0}return i(t,e),t.prototype._next=function(e){var t;try{t=this.keySelector(e)}catch(n){return void this.error(n)}this._group(e,t)},t.prototype._group=function(e,t){var n=this.groups;n||(n=this.groups="string"==typeof t?new c.FastMap:new u.Map);var i,r=n.get(t);if(this.elementSelector)try{i=this.elementSelector(e)}catch(l){this.error(l)}else i=e;if(!r){r=this.subjectSelector?this.subjectSelector():new s.Subject,n.set(t,r);var o=new f(t,r,this);if(this.destination.next(o),this.durationSelector){var a=void 0;try{a=this.durationSelector(new f(t,r))}catch(l){return void this.error(l)}this.add(a.subscribe(new d(t,r,this)))}}r.closed||r.next(i)},t.prototype._error=function(e){var t=this.groups;t&&(t.forEach(function(t,n){t.error(e)}),t.clear()),this.destination.error(e)},t.prototype._complete=function(){var e=this.groups;e&&(e.forEach(function(e,t){e.complete()}),e.clear()),this.destination.complete()},t.prototype.removeGroup=function(e){this.groups.delete(e)},t.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&e.prototype.unsubscribe.call(this))},t}(r.Subscriber),d=function(e){function t(t,n,i){e.call(this,n),this.key=t,this.group=n,this.parent=i}return i(t,e),t.prototype._next=function(e){this.complete()},t.prototype._unsubscribe=function(){var e=this.parent,t=this.key;this.key=this.parent=null,e&&e.removeGroup(t)},t}(r.Subscriber),f=function(e){function t(t,n,i){e.call(this),this.key=t,this.groupSubject=n,this.refCountSubscription=i}return i(t,e),t.prototype._subscribe=function(e){var t=new o.Subscription,n=this.refCountSubscription,i=this.groupSubject;return n&&!n.closed&&t.add(new p(n)),t.add(i.subscribe(e)),t},t}(a.Observable);t.GroupedObservable=f;var p=function(e){function t(t){e.call(this),this.parent=t,t.count++}return i(t,e),t.prototype.unsubscribe=function(){var t=this.parent;!t.closed&&!this.closed&&(e.prototype.unsubscribe.call(this),t.count-=1,0===t.count&&t.attemptedToUnsubscribe&&t.unsubscribe())},t}(o.Subscription)},86898:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(68668);t.ignoreElements=function(){return function(e){return e.lift(new a)}};var a=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new s(e))},e}(),s=function(e){function t(){e.apply(this,arguments)}return i(t,e),t.prototype._next=function(e){o.noop()},t}(r.Subscriber)},89121:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.isEmpty=function(){return function(e){return e.lift(new o)}};var o=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new a(e))},e}(),a=function(e){function t(t){e.call(this,t)}return i(t,e),t.prototype.notifyComplete=function(e){var t=this.destination;t.next(e),t.complete()},t.prototype._next=function(e){this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(r.Subscriber)},4636:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(44640);t.last=function(e,t,n){return function(i){return i.lift(new a(e,t,n,i))}};var a=function(){function e(e,t,n,i){this.predicate=e,this.resultSelector=t,this.defaultValue=n,this.source=i}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate,this.resultSelector,this.defaultValue,this.source))},e}(),s=function(e){function t(t,n,i,r,o){e.call(this,t),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=o,this.hasValue=!1,this.index=0,void 0!==r&&(this.lastValue=r,this.hasValue=!0)}return i(t,e),t.prototype._next=function(e){var t=this.index++;if(this.predicate)this._tryPredicate(e,t);else{if(this.resultSelector)return void this._tryResultSelector(e,t);this.lastValue=e,this.hasValue=!0}},t.prototype._tryPredicate=function(e,t){var n;try{n=this.predicate(e,t,this.source)}catch(i){return void this.destination.error(i)}if(n){if(this.resultSelector)return void this._tryResultSelector(e,t);this.lastValue=e,this.hasValue=!0}},t.prototype._tryResultSelector=function(e,t){var n;try{n=this.resultSelector(e,t)}catch(i){return void this.destination.error(i)}this.lastValue=n,this.hasValue=!0},t.prototype._complete=function(){var e=this.destination;this.hasValue?(e.next(this.lastValue),e.complete()):e.error(new o.EmptyError)},t}(r.Subscriber)},40119:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.map=function(e,t){return function(n){if("function"!=typeof e)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new o(e,t))}};var o=function(){function e(e,t){this.project=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.project,this.thisArg))},e}();t.MapOperator=o;var a=function(e){function t(t,n,i){e.call(this,t),this.project=n,this.count=0,this.thisArg=i||this}return i(t,e),t.prototype._next=function(e){var t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(t)},t}(r.Subscriber)},23491:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.mapTo=function(e){return function(t){return t.lift(new o(e))}};var o=function(){function e(e){this.value=e}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.value))},e}(),a=function(e){function t(t,n){e.call(this,t),this.value=n}return i(t,e),t.prototype._next=function(e){this.destination.next(this.value)},t}(r.Subscriber)},71177:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(94429);t.materialize=function(){return function(e){return e.lift(new a)}};var a=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new s(e))},e}(),s=function(e){function t(t){e.call(this,t)}return i(t,e),t.prototype._next=function(e){this.destination.next(o.Notification.createNext(e))},t.prototype._error=function(e){var t=this.destination;t.next(o.Notification.createError(e)),t.complete()},t.prototype._complete=function(){var e=this.destination;e.next(o.Notification.createComplete()),e.complete()},t}(r.Subscriber)},33499:function(e,t,n){"use strict";var i=n(97369);t.max=function(e){return i.reduce("function"==typeof e?function(t,n){return e(t,n)>0?t:n}:function(e,t){return e>t?e:t})}},56098:function(e,t,n){"use strict";var i=n(38781),r=n(38781);t.mergeStatic=r.merge,t.merge=function(){for(var e=[],t=0;t0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},t}(o.OuterSubscriber);t.MergeMapSubscriber=s},6693:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.mergeMapTo=function(e,t,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"number"==typeof t&&(n=t,t=null),function(i){return i.lift(new a(e,t,n))}};var a=function(){function e(e,t,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.ish=e,this.resultSelector=t,this.concurrent=n}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.ish,this.resultSelector,this.concurrent))},e}();t.MergeMapToOperator=a;var s=function(e){function t(t,n,i,r){void 0===r&&(r=Number.POSITIVE_INFINITY),e.call(this,t),this.ish=n,this.resultSelector=i,this.concurrent=r,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(t,e),t.prototype._next=function(e){if(this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},t}(r.OuterSubscriber);t.MergeMapToSubscriber=s},7550:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(33463),o=n(85814),a=n(93658),s=n(84308);t.mergeScan=function(e,t,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(i){return i.lift(new u(e,t,n))}};var u=function(){function e(e,t,n){this.accumulator=e,this.seed=t,this.concurrent=n}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.accumulator,this.seed,this.concurrent))},e}();t.MergeScanOperator=u;var c=function(e){function t(t,n,i,r){e.call(this,t),this.accumulator=n,this.acc=i,this.concurrent=r,this.hasValue=!1,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(t,e),t.prototype._next=function(e){if(this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())},t}(s.OuterSubscriber);t.MergeScanSubscriber=c},51213:function(e,t,n){"use strict";var i=n(97369);t.min=function(e){return i.reduce("function"==typeof e?function(t,n){return e(t,n)<0?t:n}:function(e,t){return e=2?function(n){return a.pipe(i.scan(e,t),r.takeLast(1),o.defaultIfEmpty(t))(n)}:function(t){return a.pipe(i.scan(function(t,n,i){return e(t,n,i+1)}),r.takeLast(1))(t)}}},1694:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.refCount=function(){return function(e){return e.lift(new o(e))}};var o=function(){function e(e){this.connectable=e}return e.prototype.call=function(e,t){var n=this.connectable;n._refCount++;var i=new a(e,n),r=t.subscribe(i);return i.closed||(i.connection=n.connect()),r},e}(),a=function(e){function t(t,n){e.call(this,t),this.connectable=n}return i(t,e),t.prototype._unsubscribe=function(){var e=this.connectable;if(e){this.connectable=null;var t=e._refCount;if(t<=0)this.connection=null;else if(e._refCount=t-1,t>1)this.connection=null;else{var n=this.connection,i=e._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null},t}(r.Subscriber)},15329:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(70481);t.repeat=function(e){return void 0===e&&(e=-1),function(t){return 0===e?new o.EmptyObservable:t.lift(new a(e<0?-1:e-1,t))}};var a=function(){function e(e,t){this.count=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.count,this.source))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.count=n,this.source=i}return i(t,e),t.prototype.complete=function(){if(!this.isStopped){var t=this.source,n=this.count;if(0===n)return e.prototype.complete.call(this);n>-1&&(this.count=n-1),t.subscribe(this._unsubscribeAndRecycle())}},t}(r.Subscriber)},63964:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(33463),a=n(85814),s=n(84308),u=n(93658);t.repeatWhen=function(e){return function(t){return t.lift(new c(e))}};var c=function(){function e(e){this.notifier=e}return e.prototype.call=function(e,t){return t.subscribe(new l(e,this.notifier,t))},e}(),l=function(e){function t(t,n,i){e.call(this,t),this.notifier=n,this.source=i,this.sourceIsBeingSubscribedTo=!0}return i(t,e),t.prototype.notifyNext=function(e,t,n,i,r){this.sourceIsBeingSubscribedTo=!0,this.source.subscribe(this)},t.prototype.notifyComplete=function(t){if(!1===this.sourceIsBeingSubscribedTo)return e.prototype.complete.call(this)},t.prototype.complete=function(){if(this.sourceIsBeingSubscribedTo=!1,!this.isStopped){if(this.retries||this.subscribeToRetries(),!this.retriesSubscription||this.retriesSubscription.closed)return e.prototype.complete.call(this);this._unsubscribeAndRecycle(),this.notifications.next()}},t.prototype._unsubscribe=function(){var e=this.notifications,t=this.retriesSubscription;e&&(e.unsubscribe(),this.notifications=null),t&&(t.unsubscribe(),this.retriesSubscription=null),this.retries=null},t.prototype._unsubscribeAndRecycle=function(){var t=this,n=t.notifications,i=t.retries,r=t.retriesSubscription;return this.notifications=null,this.retries=null,this.retriesSubscription=null,e.prototype._unsubscribeAndRecycle.call(this),this.notifications=n,this.retries=i,this.retriesSubscription=r,this},t.prototype.subscribeToRetries=function(){this.notifications=new r.Subject;var t=o.tryCatch(this.notifier)(this.notifications);if(t===a.errorObject)return e.prototype.complete.call(this);this.retries=t,this.retriesSubscription=u.subscribeToResult(this,t)},t}(s.OuterSubscriber)},40241:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.retry=function(e){return void 0===e&&(e=-1),function(t){return t.lift(new o(e,t))}};var o=function(){function e(e,t){this.count=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.count,this.source))},e}(),a=function(e){function t(t,n,i){e.call(this,t),this.count=n,this.source=i}return i(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=this.source,i=this.count;if(0===i)return e.prototype.error.call(this,t);i>-1&&(this.count=i-1),n.subscribe(this._unsubscribeAndRecycle())}},t}(r.Subscriber)},23896:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(33463),a=n(85814),s=n(84308),u=n(93658);t.retryWhen=function(e){return function(t){return t.lift(new c(e,t))}};var c=function(){function e(e,t){this.notifier=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new l(e,this.notifier,this.source))},e}(),l=function(e){function t(t,n,i){e.call(this,t),this.notifier=n,this.source=i}return i(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=this.errors,i=this.retries,s=this.retriesSubscription;if(i)this.errors=null,this.retriesSubscription=null;else{if(n=new r.Subject,(i=o.tryCatch(this.notifier)(n))===a.errorObject)return e.prototype.error.call(this,a.errorObject.e);s=u.subscribeToResult(this,i)}this._unsubscribeAndRecycle(),this.errors=n,this.retries=i,this.retriesSubscription=s,n.next(t)}},t.prototype._unsubscribe=function(){var e=this.errors,t=this.retriesSubscription;e&&(e.unsubscribe(),this.errors=null),t&&(t.unsubscribe(),this.retriesSubscription=null),this.retries=null},t.prototype.notifyNext=function(e,t,n,i,r){var o=this,a=o.errors,s=o.retries,u=o.retriesSubscription;this.errors=null,this.retries=null,this.retriesSubscription=null,this._unsubscribeAndRecycle(),this.errors=a,this.retries=s,this.retriesSubscription=u,this.source.subscribe(this)},t}(s.OuterSubscriber)},92043:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.sample=function(e){return function(t){return t.lift(new a(e))}};var a=function(){function e(e){this.notifier=e}return e.prototype.call=function(e,t){var n=new s(e),i=t.subscribe(n);return i.add(o.subscribeToResult(n,this.notifier)),i},e}(),s=function(e){function t(){e.apply(this,arguments),this.hasValue=!1}return i(t,e),t.prototype._next=function(e){this.value=e,this.hasValue=!0},t.prototype.notifyNext=function(e,t,n,i,r){this.emitValue()},t.prototype.notifyComplete=function(){this.emitValue()},t.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))},t}(r.OuterSubscriber)},71239:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(90680);t.sampleTime=function(e,t){return void 0===t&&(t=o.async),function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.period=e,this.scheduler=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.period,this.scheduler))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.period=n,this.scheduler=i,this.hasValue=!1,this.add(i.schedule(u,n,{subscriber:this,period:n}))}return i(t,e),t.prototype._next=function(e){this.lastValue=e,this.hasValue=!0},t.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))},t}(r.Subscriber);function u(e){var t=e.period;e.subscriber.notifyNext(),this.schedule(e,t)}},64949:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.scan=function(e,t){var n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new o(e,t,n))}};var o=function(){function e(e,t,n){void 0===n&&(n=!1),this.accumulator=e,this.seed=t,this.hasSeed=n}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.accumulator,this.seed,this.hasSeed))},e}(),a=function(e){function t(t,n,i,r){e.call(this,t),this.accumulator=n,this._seed=i,this.hasSeed=r,this.index=0}return i(t,e),Object.defineProperty(t.prototype,"seed",{get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e},enumerable:!0,configurable:!0}),t.prototype._next=function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)},t.prototype._tryNext=function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(i){this.destination.error(i)}this.seed=t,this.destination.next(t)},t}(r.Subscriber)},88948:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(33463),a=n(85814);t.sequenceEqual=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.compareTo=e,this.comparor=t}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.compareTo,this.comparor))},e}();t.SequenceEqualOperator=s;var u=function(e){function t(t,n,i){e.call(this,t),this.compareTo=n,this.comparor=i,this._a=[],this._b=[],this._oneComplete=!1,this.add(n.subscribe(new c(t,this)))}return i(t,e),t.prototype._next=function(e){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(e),this.checkValues())},t.prototype._complete=function(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0},t.prototype.checkValues=function(){for(var e=this,t=e._a,n=e._b,i=e.comparor;t.length>0&&n.length>0;){var r=t.shift(),s=n.shift(),u=!1;i?(u=o.tryCatch(i)(r,s))===a.errorObject&&this.destination.error(a.errorObject.e):u=r===s,u||this.emit(!1)}},t.prototype.emit=function(e){var t=this.destination;t.next(e),t.complete()},t.prototype.nextB=function(e){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(e),this.checkValues())},t}(r.Subscriber);t.SequenceEqualSubscriber=u;var c=function(e){function t(t,n){e.call(this,t),this.parent=n}return i(t,e),t.prototype._next=function(e){this.parent.nextB(e)},t.prototype._error=function(e){this.parent.error(e)},t.prototype._complete=function(){this.parent._complete()},t}(r.Subscriber)},35473:function(e,t,n){"use strict";var i=n(27372),r=n(1694),o=n(2369);function a(){return new o.Subject}t.share=function(){return function(e){return r.refCount()(i.multicast(a)(e))}}},62704:function(e,t,n){"use strict";var i=n(81959);t.shareReplay=function(e,t,n){return function(r){return r.lift(function(e,t,n){var r,o,a=0,s=!1,u=!1;return function(c){a++,(!r||s)&&(s=!1,r=new i.ReplaySubject(e,t,n),o=c.subscribe({next:function(e){r.next(e)},error:function(e){s=!0,r.error(e)},complete:function(){u=!0,r.complete()}}));var l=r.subscribe(this);return function(){a--,l.unsubscribe(),o&&0===a&&u&&o.unsubscribe()}}}(e,t,n))}}},92223:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(44640);t.single=function(e){return function(t){return t.lift(new a(e,t))}};var a=function(){function e(e,t){this.predicate=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate,this.source))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.predicate=n,this.source=i,this.seenValue=!1,this.index=0}return i(t,e),t.prototype.applySingleValue=function(e){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=e)},t.prototype._next=function(e){var t=this.index++;this.predicate?this.tryNext(e,t):this.applySingleValue(e)},t.prototype.tryNext=function(e,t){try{this.predicate(e,t,this.source)&&this.applySingleValue(e)}catch(n){this.destination.error(n)}},t.prototype._complete=function(){var e=this.destination;this.index>0?(e.next(this.seenValue?this.singleValue:void 0),e.complete()):e.error(new o.EmptyError)},t}(r.Subscriber)},11189:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.skip=function(e){return function(t){return t.lift(new o(e))}};var o=function(){function e(e){this.total=e}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.total))},e}(),a=function(e){function t(t,n){e.call(this,t),this.total=n,this.count=0}return i(t,e),t.prototype._next=function(e){++this.count>this.total&&this.destination.next(e)},t}(r.Subscriber)},73346:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(11758);t.skipLast=function(e){return function(t){return t.lift(new a(e))}};var a=function(){function e(e){if(this._skipCount=e,this._skipCount<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(0===this._skipCount?new r.Subscriber(e):new s(e,this._skipCount))},e}(),s=function(e){function t(t,n){e.call(this,t),this._skipCount=n,this._count=0,this._ring=new Array(n)}return i(t,e),t.prototype._next=function(e){var t=this._skipCount,n=this._count++;if(n1?new i.ArrayObservable(e,n):new o.EmptyObservable(n),t)}}},10118:function(e,t,n){"use strict";var i=n(82966);t.subscribeOn=function(e,t){return void 0===t&&(t=0),function(n){return n.lift(new r(e,t))}};var r=function(){function e(e,t){this.scheduler=e,this.delay=t}return e.prototype.call=function(e,t){return new i.SubscribeOnObservable(t,this.delay,this.scheduler).subscribe(e)},e}()},77243:function(e,t,n){"use strict";var i=n(18483),r=n(5027);t.switchAll=function(){return i.switchMap(r.identity)}},18483:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.switchMap=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.project=e,this.resultSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.project,this.resultSelector))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.project=n,this.resultSelector=i,this.index=0}return i(t,e),t.prototype._next=function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(i){return void this.destination.error(i)}this._innerSub(t,e,n)},t.prototype._innerSub=function(e,t,n){var i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=o.subscribeToResult(this,e,t,n))},t.prototype._complete=function(){var t=this.innerSubscription;(!t||t.closed)&&e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.innerSubscription=null},t.prototype.notifyComplete=function(t){this.remove(t),this.innerSubscription=null,this.isStopped&&e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,i,r){this.resultSelector?this._tryNotifyNext(e,t,n,i):this.destination.next(t)},t.prototype._tryNotifyNext=function(e,t,n,i){var r;try{r=this.resultSelector(e,t,n,i)}catch(o){return void this.destination.error(o)}this.destination.next(r)},t}(r.OuterSubscriber)},10684:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.switchMapTo=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.observable=e,this.resultSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.observable,this.resultSelector))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.inner=n,this.resultSelector=i,this.index=0}return i(t,e),t.prototype._next=function(e){var t=this.innerSubscription;t&&t.unsubscribe(),this.add(this.innerSubscription=o.subscribeToResult(this,this.inner,e,this.index++))},t.prototype._complete=function(){var t=this.innerSubscription;(!t||t.closed)&&e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.innerSubscription=null},t.prototype.notifyComplete=function(t){this.remove(t),this.innerSubscription=null,this.isStopped&&e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,i,r){var o=this.destination;this.resultSelector?this.tryResultSelector(e,t,n,i):o.next(t)},t.prototype.tryResultSelector=function(e,t,n,i){var r,o=this.resultSelector,a=this.destination;try{r=o(e,t,n,i)}catch(s){return void a.error(s)}a.next(r)},t}(r.OuterSubscriber)},44396:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(11758),a=n(70481);t.take=function(e){return function(t){return 0===e?new a.EmptyObservable:t.lift(new s(e))}};var s=function(){function e(e){if(this.total=e,this.total<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.total))},e}(),u=function(e){function t(t,n){e.call(this,t),this.total=n,this.count=0}return i(t,e),t.prototype._next=function(e){var t=this.total,n=++this.count;n<=t&&(this.destination.next(e),n===t&&(this.destination.complete(),this.unsubscribe()))},t}(r.Subscriber)},73935:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(11758),a=n(70481);t.takeLast=function(e){return function(t){return 0===e?new a.EmptyObservable:t.lift(new s(e))}};var s=function(){function e(e){if(this.total=e,this.total<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.total))},e}(),u=function(e){function t(t,n){e.call(this,t),this.total=n,this.ring=new Array,this.count=0}return i(t,e),t.prototype._next=function(e){var t=this.ring,n=this.total,i=this.count++;t.length0)for(var n=this.count>=this.total?this.total:this.count,i=this.ring,r=0;r0?this.startWindowEvery:this.windowSize,n=this.destination,i=this.windowSize,r=this.windows,a=r.length,s=0;s=0&&u%t==0&&!this.closed&&r.shift().complete(),++this.count%t==0&&!this.closed){var c=new o.Subject;r.push(c),n.next(c)}},t.prototype._error=function(e){var t=this.windows;if(t)for(;t.length>0&&!this.closed;)t.shift().error(e);this.destination.error(e)},t.prototype._complete=function(){var e=this.windows;if(e)for(;e.length>0&&!this.closed;)e.shift().complete();this.destination.complete()},t.prototype._unsubscribe=function(){this.count=0,this.windows=null},t}(r.Subscriber)},42603:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(90680),a=n(42109),s=n(39479),u=n(41503);t.windowTime=function(e){var t=o.async,n=null,i=Number.POSITIVE_INFINITY;return u.isScheduler(arguments[3])&&(t=arguments[3]),u.isScheduler(arguments[2])?t=arguments[2]:s.isNumeric(arguments[2])&&(i=arguments[2]),u.isScheduler(arguments[1])?t=arguments[1]:s.isNumeric(arguments[1])&&(n=arguments[1]),function(r){return r.lift(new c(e,n,i,t))}};var c=function(){function e(e,t,n,i){this.windowTimeSpan=e,this.windowCreationInterval=t,this.maxWindowSize=n,this.scheduler=i}return e.prototype.call=function(e,t){return t.subscribe(new h(e,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))},e}(),l=function(e){function t(){e.apply(this,arguments),this._numberOfNextedValues=0}return i(t,e),t.prototype.next=function(t){this._numberOfNextedValues++,e.prototype.next.call(this,t)},Object.defineProperty(t.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0}),t}(r.Subject),h=function(e){function t(t,n,i,r,o){e.call(this,t),this.destination=t,this.windowTimeSpan=n,this.windowCreationInterval=i,this.maxWindowSize=r,this.scheduler=o,this.windows=[];var a=this.openWindow();if(null!==i&&i>=0){var s={windowTimeSpan:n,windowCreationInterval:i,subscriber:this,scheduler:o};this.add(o.schedule(p,n,{subscriber:this,window:a,context:null})),this.add(o.schedule(f,i,s))}else this.add(o.schedule(d,n,{subscriber:this,window:a,windowTimeSpan:n}))}return i(t,e),t.prototype._next=function(e){for(var t=this.windows,n=t.length,i=0;i=this.maxWindowSize&&this.closeWindow(r))}},t.prototype._error=function(e){for(var t=this.windows;t.length>0;)t.shift().error(e);this.destination.error(e)},t.prototype._complete=function(){for(var e=this.windows;e.length>0;){var t=e.shift();t.closed||t.complete()}this.destination.complete()},t.prototype.openWindow=function(){var e=new l;return this.windows.push(e),this.destination.next(e),e},t.prototype.closeWindow=function(e){e.complete();var t=this.windows;t.splice(t.indexOf(e),1)},t}(a.Subscriber);function d(e){var t=e.subscriber,n=e.windowTimeSpan,i=e.window;i&&t.closeWindow(i),e.window=t.openWindow(),this.schedule(e,n)}function f(e){var t=e.windowTimeSpan,n=e.subscriber,i=e.scheduler,r=e.windowCreationInterval,o=n.openWindow(),a=this,s={action:a,subscription:null};s.subscription=i.schedule(p,t,{subscriber:n,window:o,context:s}),a.add(s.subscription),a.schedule(e,r)}function p(e){var t=e.subscriber,n=e.window,i=e.context;i&&i.action&&i.subscription&&i.action.remove(i.subscription),t.closeWindow(n)}},59048:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(72293),a=n(33463),s=n(85814),u=n(84308),c=n(93658);t.windowToggle=function(e,t){return function(n){return n.lift(new l(e,t))}};var l=function(){function e(e,t){this.openings=e,this.closingSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new h(e,this.openings,this.closingSelector))},e}(),h=function(e){function t(t,n,i){e.call(this,t),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(this.openSubscription=c.subscribeToResult(this,n,n))}return i(t,e),t.prototype._next=function(e){var t=this.contexts;if(t)for(var n=t.length,i=0;i0){var a=o.indexOf(n);-1!==a&&o.splice(a,1)}},t.prototype.notifyComplete=function(){},t.prototype._next=function(e){if(0===this.toRespond.length){var t=[e].concat(this.values);this.project?this._tryProject(t):this.destination.next(t)}},t.prototype._tryProject=function(e){var t;try{t=this.project.apply(this,e)}catch(n){return void this.destination.error(n)}this.destination.next(t)},t}(r.OuterSubscriber)},9477:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(96177),o=n(48242),a=n(42109),s=n(84308),u=n(93658),c=n(72121);function l(){for(var e=[],t=0;tthis.index},e.prototype.hasCompleted=function(){return this.array.length===this.index},e}(),v=function(e){function t(t,n,i){e.call(this,t),this.parent=n,this.observable=i,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}return i(t,e),t.prototype[c.iterator]=function(){return this},t.prototype.next=function(){var e=this.buffer;return 0===e.length&&this.isComplete?{value:null,done:!0}:{value:e.shift(),done:!1}},t.prototype.hasValue=function(){return this.buffer.length>0},t.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},t.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},t.prototype.notifyNext=function(e,t,n,i,r){this.buffer.push(t),this.parent.checkIterators()},t.prototype.subscribe=function(e,t){return u.subscribeToResult(this,this.observable,this,t)},t}(s.OuterSubscriber)},33310:function(e,t,n){"use strict";var i=n(9477);t.zipAll=function(e){return function(t){return t.lift(new i.ZipOperator(e))}}},28101:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t,n){e.call(this)}return i(t,e),t.prototype.schedule=function(e,t){return void 0===t&&(t=0),this},t}(n(72293).Subscription);t.Action=r},67529:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(12624),o=n(95018),a=function(e){function t(t,n){e.call(this,t,n),this.scheduler=t,this.work=n}return i(t,e),t.prototype.requestAsyncId=function(t,n,i){return void 0===i&&(i=0),null!==i&&i>0?e.prototype.requestAsyncId.call(this,t,n,i):(t.actions.push(this),t.scheduled||(t.scheduled=o.AnimationFrame.requestAnimationFrame(t.flush.bind(t,null))))},t.prototype.recycleAsyncId=function(t,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,i);0===t.actions.length&&(o.AnimationFrame.cancelAnimationFrame(n),t.scheduled=void 0)},t}(r.AsyncAction);t.AnimationFrameAction=a},68909:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(){e.apply(this,arguments)}return i(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,r=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i0?e.prototype.requestAsyncId.call(this,t,n,i):(t.actions.push(this),t.scheduled||(t.scheduled=r.Immediate.setImmediate(t.flush.bind(t,null))))},t.prototype.recycleAsyncId=function(t,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,i);0===t.actions.length&&(r.Immediate.clearImmediate(n),t.scheduled=void 0)},t}(n(12624).AsyncAction);t.AsapAction=o},25766:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(){e.apply(this,arguments)}return i(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,r=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i0?e.prototype.schedule.call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)},t.prototype.execute=function(t,n){return n>0||this.closed?e.prototype.execute.call(this,t,n):this._execute(t,n)},t.prototype.requestAsyncId=function(t,n,i){return void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0?e.prototype.requestAsyncId.call(this,t,n,i):t.flush(this)},t}(n(12624).AsyncAction);t.QueueAction=r},77373:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(){e.apply(this,arguments)}return i(t,e),t}(n(42704).AsyncScheduler);t.QueueScheduler=r},18353:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(12624),o=function(e){function t(t,n){var i=this;void 0===t&&(t=a),void 0===n&&(n=Number.POSITIVE_INFINITY),e.call(this,t,function(){return i.frame}),this.maxFrames=n,this.frame=0,this.index=-1}return i(t,e),t.prototype.flush=function(){for(var e,t,n=this.actions,i=this.maxFrames;(t=n.shift())&&(this.frame=t.delay)<=i&&!(e=t.execute(t.state,t.delay)););if(e){for(;t=n.shift();)t.unsubscribe();throw e}},t.frameTimeFactor=10,t}(n(42704).AsyncScheduler);t.VirtualTimeScheduler=o;var a=function(e){function t(t,n,i){void 0===i&&(i=t.index+=1),e.call(this,t,n),this.scheduler=t,this.work=n,this.index=i,this.active=!0,this.index=t.index=i}return i(t,e),t.prototype.schedule=function(n,i){if(void 0===i&&(i=0),!this.id)return e.prototype.schedule.call(this,n,i);this.active=!1;var r=new t(this.scheduler,this.work);return this.add(r),r.schedule(n,i)},t.prototype.requestAsyncId=function(e,n,i){void 0===i&&(i=0),this.delay=e.frame+i;var r=e.actions;return r.push(this),r.sort(t.sortActions),!0},t.prototype.recycleAsyncId=function(e,t,n){void 0===n&&(n=0)},t.prototype._execute=function(t,n){if(!0===this.active)return e.prototype._execute.call(this,t,n)},t.sortActions=function(e,t){return e.delay===t.delay?e.index===t.index?0:e.index>t.index?1:-1:e.delay>t.delay?1:-1},t}(r.AsyncAction);t.VirtualAction=a},12948:function(e,t,n){"use strict";var i=n(67529),r=n(68909);t.animationFrame=new r.AnimationFrameScheduler(i.AnimationFrameAction)},85522:function(e,t,n){"use strict";var i=n(3496),r=n(25766);t.asap=new r.AsapScheduler(i.AsapAction)},90680:function(e,t,n){"use strict";var i=n(12624),r=n(42704);t.async=new r.AsyncScheduler(i.AsyncAction)},97088:function(e,t,n){"use strict";var i=n(7100),r=n(77373);t.queue=new r.QueueScheduler(i.QueueAction)},72121:function(e,t,n){"use strict";var i=n(80019);function r(e){var t=e.Symbol;if("function"==typeof t)return t.iterator||(t.iterator=t("iterator polyfill")),t.iterator;var n=e.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var i=e.Map;if(i)for(var r=Object.getOwnPropertyNames(i.prototype),o=0;o0;)t.shift().setup();e.prototype.flush.call(this);for(var n=this.flushTests.filter(function(e){return e.ready});n.length>0;){var i=n.shift();this.assertDeepEqual(i.actual,i.expected)}},t.parseMarblesAsSubscriptions=function(e){if("string"!=typeof e)return new u.SubscriptionLog(Number.POSITIVE_INFINITY);for(var t=e.length,n=-1,i=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,o=0;o-1?n:a;break;case"!":if(r!==Number.POSITIVE_INFINITY)throw new Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");r=n>-1?n:a;break;default:throw new Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+s+"'.")}}return r<0?new u.SubscriptionLog(i):new u.SubscriptionLog(i,r)},t.parseMarbles=function(e,t,n,i){if(void 0===i&&(i=!1),-1!==e.indexOf("!"))throw new Error('conventional marble diagrams cannot have the unsubscription marker "!"');for(var r=e.length,s=[],u=e.indexOf("^"),c=-1===u?0:u*-this.frameTimeFactor,l="object"!=typeof t?function(e){return e}:function(e){return i&&t[e]instanceof a.ColdObservable?t[e].messages:t[e]},h=-1,d=0;d-1?h:f,notification:p})}return s},t}(c.VirtualTimeScheduler);t.TestScheduler=l},95018:function(e,t,n){"use strict";var i=n(80019),r=function(e){e.requestAnimationFrame?(this.cancelAnimationFrame=e.cancelAnimationFrame.bind(e),this.requestAnimationFrame=e.requestAnimationFrame.bind(e)):e.mozRequestAnimationFrame?(this.cancelAnimationFrame=e.mozCancelAnimationFrame.bind(e),this.requestAnimationFrame=e.mozRequestAnimationFrame.bind(e)):e.webkitRequestAnimationFrame?(this.cancelAnimationFrame=e.webkitCancelAnimationFrame.bind(e),this.requestAnimationFrame=e.webkitRequestAnimationFrame.bind(e)):e.msRequestAnimationFrame?(this.cancelAnimationFrame=e.msCancelAnimationFrame.bind(e),this.requestAnimationFrame=e.msRequestAnimationFrame.bind(e)):e.oRequestAnimationFrame?(this.cancelAnimationFrame=e.oCancelAnimationFrame.bind(e),this.requestAnimationFrame=e.oRequestAnimationFrame.bind(e)):(this.cancelAnimationFrame=e.clearTimeout.bind(e),this.requestAnimationFrame=function(t){return e.setTimeout(t,1e3/60)})};t.RequestAnimationFrameDefinition=r,t.AnimationFrame=new r(i.root)},11758:function(e,t){"use strict";var n=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},i=function(e){function t(){var t=e.call(this,"argument out of range");this.name=t.name="ArgumentOutOfRangeError",this.stack=t.stack,this.message=t.message}return n(t,e),t}(Error);t.ArgumentOutOfRangeError=i},44640:function(e,t){"use strict";var n=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},i=function(e){function t(){var t=e.call(this,"no elements in sequence");this.name=t.name="EmptyError",this.stack=t.stack,this.message=t.message}return n(t,e),t}(Error);t.EmptyError=i},30764:function(e,t){"use strict";var n=function(){function e(){this.values={}}return e.prototype.delete=function(e){return this.values[e]=null,!0},e.prototype.set=function(e,t){return this.values[e]=t,this},e.prototype.get=function(e){return this.values[e]},e.prototype.forEach=function(e,t){var n=this.values;for(var i in n)n.hasOwnProperty(i)&&null!==n[i]&&e.call(t,n[i],i)},e.prototype.clear=function(){this.values={}},e}();t.FastMap=n},42982:function(e,t,n){"use strict";var i=n(80019),r=function(){function e(e){if(this.root=e,e.setImmediate&&"function"==typeof e.setImmediate)this.setImmediate=e.setImmediate.bind(e),this.clearImmediate=e.clearImmediate.bind(e);else{this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.setImmediate=this.canUseProcessNextTick()?this.createProcessNextTickSetImmediate():this.canUsePostMessage()?this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.createReadyStateChangeSetImmediate():this.createSetTimeoutSetImmediate();var t=function e(t){delete e.instance.tasksByHandle[t]};t.instance=this,this.clearImmediate=t}}return e.prototype.identify=function(e){return this.root.Object.prototype.toString.call(e)},e.prototype.canUseProcessNextTick=function(){return"[object process]"===this.identify(this.root.process)},e.prototype.canUseMessageChannel=function(){return Boolean(this.root.MessageChannel)},e.prototype.canUseReadyStateChange=function(){var e=this.root.document;return Boolean(e&&"onreadystatechange"in e.createElement("script"))},e.prototype.canUsePostMessage=function(){var e=this.root;if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}return!1},e.prototype.partiallyApplied=function(e){for(var t=[],n=1;n=0}},1856:function(e,t){"use strict";t.isObject=function(e){return null!=e&&"object"==typeof e}},35130:function(e,t){"use strict";t.isPromise=function(e){return e&&"function"!=typeof e.subscribe&&"function"==typeof e.then}},41503:function(e,t){"use strict";t.isScheduler=function(e){return e&&"function"==typeof e.schedule}},68668:function(e,t){"use strict";t.noop=function(){}},67239:function(e,t){"use strict";t.not=function(e,t){function n(){return!n.pred.apply(n.thisArg,arguments)}return n.pred=e,n.thisArg=t,n}},10142:function(e,t,n){"use strict";var i=n(68668);function r(e){return e?1===e.length?e[0]:function(t){return e.reduce(function(e,t){return t(e)},t)}:i.noop}t.pipe=function(){for(var e=[],t=0;t=n?{done:!0}:{done:!1,value:e[i++]}})},t.empty=function(){var e=new t(null);return e.done=!0,e},t.is=function(e){return e instanceof t||"object"==typeof e&&null!==e&&"function"==typeof e.next},e.exports=t},97310:function(e,t,n){"use strict";var i=n(61948);Object.defineProperty(t,"__esModule",{value:!0}),t.isMobile=function(){return void 0!==r.window.orientation},t.default=function(e){if(!e&&!(0,o.default)())return"Node";if((0,a.default)(e))return"Electron";var t="undefined"!=typeof navigator?navigator:{},n=e||t.userAgent||"";if(n.indexOf("Edge")>-1)return"Edge";var i=-1!==n.indexOf("MSIE "),s=-1!==n.indexOf("Trident/");return i||s?"IE":r.window.chrome?"Chrome":r.window.safari?"Safari":r.window.mozInnerScreenX?"Firefox":"Unknown"};var r=n(41151),o=i(n(61602)),a=i(n(22344))},41151:function(e,t,n){"use strict";var i=n(61948);Object.defineProperty(t,"__esModule",{value:!0}),t.console=t.process=t.document=t.global=t.window=t.self=void 0;var r=i(n(34321)),o={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&process};t.self=o.self||o.window||o.global,t.window=o.window||o.self||o.global,t.global=o.global||o.self||o.window,t.document=o.document||{},t.process=o.process||{};var a=console;t.console=a},84761:function(e,t,n){"use strict";var i=n(61948),r=n(34321);Object.defineProperty(t,"CO",{enumerable:!0,get:function(){return o.global}}),Object.defineProperty(t,"qs",{enumerable:!0,get:function(){return a.default}});var o=n(41151),a=(u(n(61602)),u(n(97310)));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(s=function(e){return e?n:t})(e)}function u(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var n=s(t);if(n&&n.has(e))return n.get(e);var i={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var u=o?Object.getOwnPropertyDescriptor(e,a):null;u&&(u.get||u.set)?Object.defineProperty(i,a,u):i[a]=e[a]}return i.default=e,n&&n.set(e,i),i}i(n(22344))},61602:function(e,t,n){"use strict";var i=n(61948);Object.defineProperty(t,"__esModule",{value:!0}),t.default=a,t.isBrowserMainThread=function(){return a()&&"undefined"!=typeof document};var r=i(n(34321)),o=i(n(22344));function a(){return!("object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,o.default)()}},22344:function(e,t,n){"use strict";var i=n(61948);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if("undefined"!=typeof window&&"object"===(0,r.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,r.default)(process.versions)&&Boolean(process.versions.electron))return!0;var t="object"===("undefined"==typeof navigator?"undefined":(0,r.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=e||t;return!!(n&&n.indexOf("Electron")>=0)};var r=i(n(34321))},86991:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(14180),t),r(n(75103),t),r(n(48965),t),r(n(32595),t),r(n(82417),t),r(n(92451),t),r(n(17735),t)},14180:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlankNode=void 0,t.BlankNode=function(){function e(t){m(this,e),this.termType="BlankNode",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"BlankNode"===e.termType&&e.value===this.value}}]),e}()},75103:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DataFactory=void 0;var i=n(14180),r=n(48965),o=n(32595),a=n(82417),s=n(92451),u=n(17735),c=0;t.DataFactory=function(){function e(t){m(this,e),this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||"df_".concat(c++,"_")}return b(e,[{key:"namedNode",value:function(e){return new a.NamedNode(e)}},{key:"blankNode",value:function(e){return new i.BlankNode(e||"".concat(this.blankNodePrefix).concat(this.blankNodeCounter++))}},{key:"literal",value:function(e,t){return new o.Literal(e,t)}},{key:"variable",value:function(e){return new u.Variable(e)}},{key:"defaultGraph",value:function(){return r.DefaultGraph.INSTANCE}},{key:"quad",value:function(e,t,n,i){return new s.Quad(e,t,n,i||this.defaultGraph())}},{key:"fromTerm",value:function(e){switch(e.termType){case"NamedNode":return this.namedNode(e.value);case"BlankNode":return this.blankNode(e.value);case"Literal":return e.language?this.literal(e.value,e.language):e.datatype.equals(o.Literal.XSD_STRING)?this.literal(e.value):this.literal(e.value,this.fromTerm(e.datatype));case"Variable":return this.variable(e.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(e.subject),this.fromTerm(e.predicate),this.fromTerm(e.object),this.fromTerm(e.graph))}}},{key:"fromQuad",value:function(e){return this.fromTerm(e)}},{key:"resetBlankNodeCounter",value:function(){this.blankNodeCounter=0}}]),e}()},48965:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultGraph=void 0;var n=function(){function e(){m(this,e),this.termType="DefaultGraph",this.value=""}return b(e,[{key:"equals",value:function(e){return!!e&&"DefaultGraph"===e.termType}}]),e}();t.DefaultGraph=n,n.INSTANCE=new n},32595:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Literal=void 0;var i=n(82417),r=function(){function e(t,n){m(this,e),this.termType="Literal",this.value=t,"string"==typeof n?(this.language=n,this.datatype=e.RDF_LANGUAGE_STRING):n?(this.language="",this.datatype=n):(this.language="",this.datatype=e.XSD_STRING)}return b(e,[{key:"equals",value:function(e){return!!e&&"Literal"===e.termType&&e.value===this.value&&e.language===this.language&&e.datatype.equals(this.datatype)}}]),e}();t.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},82417:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NamedNode=void 0,t.NamedNode=function(){function e(t){m(this,e),this.termType="NamedNode",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"NamedNode"===e.termType&&e.value===this.value}}]),e}()},92451:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Quad=void 0,t.Quad=function(){function e(t,n,i,r){m(this,e),this.termType="Quad",this.value="",this.subject=t,this.predicate=n,this.object=i,this.graph=r}return b(e,[{key:"equals",value:function(e){return!!e&&("Quad"===e.termType||!e.termType)&&this.subject.equals(e.subject)&&this.predicate.equals(e.predicate)&&this.object.equals(e.object)&&this.graph.equals(e.graph)}}]),e}()},17735:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Variable=void 0,t.Variable=function(){function e(t){m(this,e),this.termType="Variable",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"Variable"===e.termType&&e.value===this.value}}]),e}()},31609:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.getSupportedJavaScriptPrimitives=t.getSupportedRdfDatatypes=t.getTermRaw=t.toRdf=t.fromRdf=void 0;var o=n(86991),a=n(9938),s=n(66060);r(n(9938),t),r(n(88871),t),r(n(66060),t);var u=new o.DataFactory,c=new s.Translator;function l(e,t){return c.fromRdf(e,t)}c.registerHandler(new a.TypeHandlerString,a.TypeHandlerString.TYPES.map(function(e){return u.namedNode(e)}),["string"]),c.registerHandler(new a.TypeHandlerBoolean,[a.TypeHandlerBoolean.TYPE].map(function(e){return u.namedNode(e)}),["boolean"]),c.registerHandler(new a.TypeHandlerNumberDouble,a.TypeHandlerNumberDouble.TYPES.map(function(e){return u.namedNode(e)}),["number"]),c.registerHandler(new a.TypeHandlerNumberInteger,a.TypeHandlerNumberInteger.TYPES.map(function(e){return u.namedNode(e)}),["number"]),c.registerHandler(new a.TypeHandlerDate,a.TypeHandlerDate.TYPES.map(function(e){return u.namedNode(e)}),["object"]),t.fromRdf=l,t.toRdf=function(e,t){return t&&"namedNode"in t&&(t={dataFactory:t}),(t=t||{})&&!t.dataFactory&&(t.dataFactory=u),c.toRdf(e,t)},t.getTermRaw=function(e,t){return"Literal"===e.termType?l(e,t):e.value},t.getSupportedRdfDatatypes=function(){return c.getSupportedRdfDatatypes()},t.getSupportedJavaScriptPrimitives=function(){return c.getSupportedJavaScriptPrimitives()}},88871:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},66060:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Translator=void 0,t.Translator=function(){function e(){m(this,e),this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}return b(e,[{key:"registerHandler",value:function(e,t,n){var i,r=_(t);try{for(r.s();!(i=r.n()).done;){var o=i.value;this.supportedRdfDatatypes.push(o),this.fromRdfHandlers[o.value]=e}}catch(l){r.e(l)}finally{r.f()}var a,s=_(n);try{for(s.s();!(a=s.n()).done;){var u=a.value,c=this.toRdfHandlers[u];c||(this.toRdfHandlers[u]=c=[]),c.push(e)}}catch(l){s.e(l)}finally{s.f()}}},{key:"fromRdf",value:function(e,t){var n=this.fromRdfHandlers[e.datatype.value];return n?n.fromRdf(e,t):e.value}},{key:"toRdf",value:function(e,t){var n=this.toRdfHandlers[typeof e];if(n){var i,r=_(n);try{for(r.s();!(i=r.n()).done;){var o=i.value.toRdf(e,t);if(o)return o}}catch(a){r.e(a)}finally{r.f()}}throw new Error("Invalid JavaScript value: '".concat(e,"'"))}},{key:"getSupportedRdfDatatypes",value:function(){return this.supportedRdfDatatypes}},{key:"getSupportedJavaScriptPrimitives",value:function(){return Object.keys(this.toRdfHandlers)}}],[{key:"incorrectRdfDataType",value:function(e){throw new Error("Invalid RDF ".concat(e.datatype.value," value: '").concat(e.value,"'"))}}]),e}()},80727:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerBoolean=void 0;var i=n(66060),r=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(e,t){switch(e.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return t&&i.Translator.incorrectRdfDataType(e),!1}},{key:"toRdf",value:function(t,n){var i=n.datatype,r=n.dataFactory;return r.literal(t?"true":"false",i||r.namedNode(e.TYPE))}}]),e}();t.TypeHandlerBoolean=r,r.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},52525:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerDate=void 0;var i=n(66060),r=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(t,n){switch(n&&!t.value.match(e.VALIDATORS[t.datatype.value.substr(33,t.datatype.value.length)])&&i.Translator.incorrectRdfDataType(t),t.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(t.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":var r=t.value.split("-");return new Date(0,parseInt(r[0],10)-1,parseInt(r[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(t.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(t.value+"-01");default:return new Date(t.value)}}},{key:"toRdf",value:function(t,n){var i=n.datatype,r=n.dataFactory;if(i=i||r.namedNode(e.TYPES[0]),!(t instanceof Date))return null;var o,a=t;switch(i.value){case"http://www.w3.org/2001/XMLSchema#gDay":o=String(a.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":o=a.getUTCMonth()+1+"-"+a.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":o=String(a.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":o=a.getUTCFullYear()+"-"+(a.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":o=a.toISOString().replace(/T.*$/,"");break;default:o=a.toISOString()}return r.literal(o,i)}}]),e}();t.TypeHandlerDate=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],r.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},38554:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerNumberDouble=void 0;var i=n(66060),r=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(e,t){var n=parseFloat(e.value);return t&&isNaN(n)&&i.Translator.incorrectRdfDataType(e),n}},{key:"toRdf",value:function(t,n){var i=n.datatype,r=n.dataFactory;return i=i||r.namedNode(e.TYPES[0]),isNaN(t)?r.literal("NaN",i):isFinite(t)?t%1==0?null:r.literal(t.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),i):r.literal(t>0?"INF":"-INF",i)}}]),e}();t.TypeHandlerNumberDouble=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},37750:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerNumberInteger=void 0;var i=n(66060),r=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(e,t){var n=parseInt(e.value,10);return t&&(isNaN(n)||e.value.indexOf(".")>=0)&&i.Translator.incorrectRdfDataType(e),n}},{key:"toRdf",value:function(t,n){var i=n.datatype,r=n.dataFactory;return r.literal(String(t),i||r.namedNode(t<=e.MAX_INT&&t>=e.MIN_INT?e.TYPES[0]:e.TYPES[1]))}}]),e}();t.TypeHandlerNumberInteger=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],r.MAX_INT=2147483647,r.MIN_INT=-2147483648},14608:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerString=void 0;var n=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(e){return e.value}},{key:"toRdf",value:function(e,t){var n=t.datatype;return t.dataFactory.literal(e,n)}}]),e}();t.TypeHandlerString=n,n.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(80727),t),r(n(52525),t),r(n(38554),t),r(n(37750),t),r(n(14608),t)},51316:function(n,i,r){"use strict";var d,f,g,y,w,k,x,S,C,E,O,T=regeneratorRuntime.mark(Mj),A=regeneratorRuntime.mark(zX),R={};r.r(R),r.d(R,{decode:function(){return Sj},encode:function(){return Ej}});var D={};r.r(D),r.d(D,{decode:function(){return Ij},encode:function(){return Dj}});var N={};r.r(N),r.d(N,{decode:function(){return Nj},encode:function(){return jj}});var L={};function j(e){return"function"==typeof e}r.r(L),r.d(L,{decode:function(){return Bj},encode:function(){return zj}});var F=!1,B={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){if(e){var t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else F&&console.log("RxJS: Back to a better error behavior. Thank you. <3");F=e},get useDeprecatedSynchronousErrorHandling(){return F}};function V(e){setTimeout(function(){throw e},0)}var z={closed:!0,next:function(e){},error:function(e){if(B.useDeprecatedSynchronousErrorHandling)throw e;V(e)},complete:function(){}},U=Array.isArray||function(e){return e&&"number"==typeof e.length};function H(e){return null!==e&&"object"==typeof e}var G,W=function(){function e(e){return Error.call(this),this.message=e?"".concat(e.length," errors occurred during unsubscription:\n").concat(e.map(function(e,t){return"".concat(t+1,") ").concat(e.toString())}).join("\n ")):"",this.name="UnsubscriptionError",this.errors=e,this}return e.prototype=Object.create(Error.prototype),e}(),q=function(){function e(t){m(this,e),this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}return b(e,[{key:"unsubscribe",value:function(){var t;if(!this.closed){var n=this._parentOrParents,i=this._ctorUnsubscribe,r=this._unsubscribe,o=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof e)n.remove(this);else if(null!==n)for(var a=0;a2&&void 0!==arguments[2]?arguments[2]:Number.POSITIVE_INFINITY;return"function"==typeof t?function(i){return i.pipe(ke(function(n,i){return ye(e(n,i)).pipe(ce(function(e,r){return t(n,e,i,r)}))},n))}:("number"==typeof t&&(n=t),function(t){return t.lift(new xe(e,n))})}var xe=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.POSITIVE_INFINITY;m(this,e),this.project=t,this.concurrent=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new Se(e,this.project,this.concurrent))}}]),e}(),Se=function(e){a(n,e);var t=s(n);function n(e,i){var r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.POSITIVE_INFINITY;return m(this,n),(r=t.call(this,e)).project=i,r.concurrent=o,r.hasCompleted=!1,r.buffer=[],r.active=0,r.index=0,r}return b(n,[{key:"_next",value:function(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}]),n}(_e);function Ce(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY;return ke(Z,e)}function Ee(e,t){return t?me(e,t):new te(de(e))}function Oe(){for(var e=arguments.length,t=new Array(e),n=0;n1&&"number"==typeof t[t.length-1]&&(i=t.pop())):"number"==typeof o&&(i=t.pop()),null===r&&1===t.length&&t[0]instanceof te?t[0]:Ce(i)(Ee(t,r))}function Te(){return function(e){return e.lift(new Pe(e))}}var Pe=function(){function e(t){m(this,e),this.connectable=t}return b(e,[{key:"call",value:function(e,t){var n=this.connectable;n._refCount++;var i=new Ae(e,n),r=t.subscribe(i);return i.closed||(i.connection=n.connect()),r}}]),e}(),Ae=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).connectable=i,r}return b(n,[{key:"_unsubscribe",value:function(){var e=this.connectable;if(e){this.connectable=null;var t=e._refCount;if(t<=0)this.connection=null;else if(e._refCount=t-1,t>1)this.connection=null;else{var n=this.connection,i=e._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null}}]),n}(K),Me=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).source=e,r.subjectFactory=i,r._refCount=0,r._isComplete=!1,r}return b(n,[{key:"_subscribe",value:function(e){return this.getSubject().subscribe(e)}},{key:"getSubject",value:function(){var e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}},{key:"connect",value:function(){var e=this._connection;return e||(this._isComplete=!1,(e=this._connection=new q).add(this.source.subscribe(new Re(this.getSubject(),this))),e.closed&&(this._connection=null,e=q.EMPTY)),e}},{key:"refCount",value:function(){return Te()(this)}}]),n}(te),Ie=function(){var e=Me.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:e._subscribe},_isComplete:{value:e._isComplete,writable:!0},getSubject:{value:e.getSubject},connect:{value:e.connect},refCount:{value:e.refCount}}}(),Re=function(t){a(i,t);var n=s(i);function i(e,t){var r;return m(this,i),(r=n.call(this,e)).connectable=t,r}return b(i,[{key:"_error",value:function(t){this._unsubscribe(),e(p(i.prototype),"_error",this).call(this,t)}},{key:"_complete",value:function(){this.connectable._isComplete=!0,this._unsubscribe(),e(p(i.prototype),"_complete",this).call(this)}},{key:"_unsubscribe",value:function(){var e=this.connectable;if(e){this.connectable=null;var t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}]),i}(oe);function De(e,t){return function(n){var i;if(i="function"==typeof e?e:function(){return e},"function"==typeof t)return n.lift(new Ne(i,t));var r=Object.create(n,Ie);return r.source=n,r.subjectFactory=i,r}}var Ne=function(){function e(t,n){m(this,e),this.subjectFactory=t,this.selector=n}return b(e,[{key:"call",value:function(e,t){var n=this.selector,i=this.subjectFactory(),r=n(i).subscribe(e);return r.add(t.subscribe(i)),r}}]),e}();function Le(){return new ae}function je(){return function(e){return Te()(De(Le)(e))}}function Fe(e){for(var t in e)if(e[t]===Fe)return t;throw Error("Could not find renamed property on target object.")}function Be(e,t){for(var n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n])}function Ve(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Ve).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return"".concat(e.overriddenName);if(e.name)return"".concat(e.name);var t=e.toString();if(null==t)return""+t;var n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}function ze(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}var Ue=Fe({__forward_ref__:Fe});function He(e){return e.__forward_ref__=He,e.toString=function(){return Ve(this())},e}function Ge(e){return We(e)?e():e}function We(e){return"function"==typeof e&&e.hasOwnProperty(Ue)&&e.__forward_ref__===He}var qe=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,function(e,t){return"".concat(e?"NG0".concat(e,": "):"").concat(t)}(e,i))).code=e,r}return n}(l(Error));function Xe(e){return"string"==typeof e?e:null==e?"":String(e)}function Ye(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():Xe(e)}function Ke(e,t){var n=t?" in ".concat(t):"";throw new qe("201","No provider for ".concat(Ye(e)," found").concat(n))}function $e(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Qe(e){return{providers:e.providers||[],imports:e.imports||[]}}function Ze(e){return Je(e,nt)||Je(e,rt)}function Je(e,t){return e.hasOwnProperty(t)?e[t]:null}function et(e){return e&&(e.hasOwnProperty(it)||e.hasOwnProperty(ot))?e[it]:null}var tt,nt=Fe({"\u0275prov":Fe}),it=Fe({"\u0275inj":Fe}),rt=Fe({ngInjectableDef:Fe}),ot=Fe({ngInjectorDef:Fe}),at=((at=at||{})[at.Default=0]="Default",at[at.Host=1]="Host",at[at.Self=2]="Self",at[at.SkipSelf=4]="SkipSelf",at[at.Optional=8]="Optional",at);function st(e){var t=tt;return tt=e,t}function ut(e,t,n){var i=Ze(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&at.Optional?null:void 0!==t?t:void Ke(Ve(e),"Injector")}function ct(e){return{toString:e}.toString()}var lt=((lt=lt||{})[lt.OnPush=0]="OnPush",lt[lt.Default=1]="Default",lt),ht=((ht=ht||{})[ht.Emulated=0]="Emulated",ht[ht.None=2]="None",ht[ht.ShadowDom=3]="ShadowDom",ht),dt="undefined"!=typeof globalThis&&globalThis,ft="undefined"!=typeof window&&window,pt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,vt="undefined"!=typeof global&&global,gt=dt||vt||ft||pt,mt={},yt=[],bt=Fe({"\u0275cmp":Fe}),_t=Fe({"\u0275dir":Fe}),wt=Fe({"\u0275pipe":Fe}),kt=Fe({"\u0275mod":Fe}),xt=Fe({"\u0275loc":Fe}),St=Fe({"\u0275fac":Fe}),Ct=Fe({__NG_ELEMENT_ID__:Fe}),Et=0;function Ot(e){return ct(function(){var t={},n={type:e.type,providersResolver:null,decls:e.decls,vars:e.vars,factory:null,template:e.template||null,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:e.exportAs||null,onPush:e.changeDetection===lt.OnPush,directiveDefs:null,pipeDefs:null,selectors:e.selectors||yt,viewQuery:e.viewQuery||null,features:e.features||null,data:e.data||{},encapsulation:e.encapsulation||ht.Emulated,id:"c",styles:e.styles||yt,_:null,setInput:null,schemas:e.schemas||null,tView:null},i=e.directives,r=e.features,o=e.pipes;return n.id+=Et++,n.inputs=It(e.inputs,t),n.outputs=It(e.outputs),r&&r.forEach(function(e){return e(n)}),n.directiveDefs=i?function(){return("function"==typeof i?i():i).map(Tt)}:null,n.pipeDefs=o?function(){return("function"==typeof o?o():o).map(Pt)}:null,n})}function Tt(e){return Nt(e)||function(e){return e[_t]||null}(e)}function Pt(e){return function(e){return e[wt]||null}(e)}var At={};function Mt(e){return ct(function(){var t={type:e.type,bootstrap:e.bootstrap||yt,declarations:e.declarations||yt,imports:e.imports||yt,exports:e.exports||yt,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null};return null!=e.id&&(At[e.id]=e.type),t})}function It(e,t){if(null==e)return mt;var n={};for(var i in e)if(e.hasOwnProperty(i)){var r=e[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),n[r]=i,t&&(t[r]=o)}return n}var Rt=Ot;function Dt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,onDestroy:e.type.prototype.ngOnDestroy||null}}function Nt(e){return e[bt]||null}function Lt(e,t){var n=e[kt]||null;if(!n&&!0===t)throw new Error("Type ".concat(Ve(e)," does not have '\u0275mod' property."));return n}function jt(e){return Array.isArray(e)&&"object"==typeof e[1]}function Ft(e){return Array.isArray(e)&&!0===e[1]}function Bt(e){return 0!=(8&e.flags)}function Vt(e){return 2==(2&e.flags)}function zt(e){return 1==(1&e.flags)}function Ut(e){return null!==e.template}function Ht(e){return 0!=(512&e[2])}function Gt(e,t){return e.hasOwnProperty(St)?e[St]:null}var Wt=function(){function e(t,n,i){m(this,e),this.previousValue=t,this.currentValue=n,this.firstChange=i}return b(e,[{key:"isFirstChange",value:function(){return this.firstChange}}]),e}();function qt(){return Xt}function Xt(e){return e.type.prototype.ngOnChanges&&(e.setInput=Kt),Yt}function Yt(){var e=Qt(this),t=null==e?void 0:e.current;if(t){var n=e.previous;if(n===mt)e.previous=t;else for(var i in t)n[i]=t[i];e.current=null,this.ngOnChanges(t)}}function Kt(e,t,n,i){var r=Qt(e)||function(e,t){return e[$t]=t}(e,{previous:mt,current:null}),o=r.current||(r.current={}),a=r.previous,s=this.declaredInputs[n],u=a[s];o[s]=new Wt(u&&u.currentValue,t,a===mt),e[i]=t}qt.ngInherit=!0;var $t="__ngSimpleChanges__";function Qt(e){return e[$t]||null}var Zt,Jt="http://www.w3.org/2000/svg";function en(){return void 0!==Zt?Zt:"undefined"!=typeof document?document:void 0}function tn(e){return!!e.listen}var nn={createRenderer:function(e,t){return en()}};function rn(e){for(;Array.isArray(e);)e=e[0];return e}function on(e,t){return rn(t[e])}function an(e,t){return rn(t[e.index])}function sn(e,t){return e.data[t]}function un(e,t){return e[t]}function cn(e,t){var n=t[e];return jt(n)?n:n[0]}function ln(e){return 4==(4&e[2])}function hn(e){return 128==(128&e[2])}function dn(e,t){return null==t?null:e[t]}function fn(e){e[18]=0}function pn(e,t){e[5]+=t;for(var n=e,i=e[3];null!==i&&(1===t&&1===n[5]||-1===t&&0===n[5]);)i[5]+=t,n=i,i=i[3]}var vn={lFrame:Vn(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function gn(){return vn.bindingsEnabled}function mn(){return vn.lFrame.lView}function yn(){return vn.lFrame.tView}function bn(e){return vn.lFrame.contextLView=e,e[8]}function _n(){for(var e=wn();null!==e&&64===e.type;)e=e.parent;return e}function wn(){return vn.lFrame.currentTNode}function kn(e,t){var n=vn.lFrame;n.currentTNode=e,n.isParent=t}function xn(){return vn.lFrame.isParent}function Sn(){vn.lFrame.isParent=!1}function Cn(){return vn.isInCheckNoChangesMode}function En(e){vn.isInCheckNoChangesMode=e}function On(){var e=vn.lFrame,t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function Tn(){return vn.lFrame.bindingIndex}function Pn(){return vn.lFrame.bindingIndex++}function An(e){var t=vn.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function Mn(e,t){var n=vn.lFrame;n.bindingIndex=n.bindingRootIndex=e,In(t)}function In(e){vn.lFrame.currentDirectiveIndex=e}function Rn(e){var t=vn.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}function Dn(){return vn.lFrame.currentQueryIndex}function Nn(e){vn.lFrame.currentQueryIndex=e}function Ln(e){var t=e[1];return 2===t.type?t.declTNode:1===t.type?e[6]:null}function jn(e,t,n){if(n&at.SkipSelf){for(var i=t,r=e;!(null!==(i=i.parent)||n&at.Host||(i=Ln(r),null===i||(r=r[15],10&i.type))););if(null===i)return!1;t=i,e=r}var o=vn.lFrame=Bn();return o.currentTNode=t,o.lView=e,!0}function Fn(e){var t=Bn(),n=e[1];vn.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function Bn(){var e=vn.lFrame,t=null===e?null:e.child;return null===t?Vn(e):t}function Vn(e){var t={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:e,child:null,inI18n:!1};return null!==e&&(e.child=t),t}function zn(){var e=vn.lFrame;return vn.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var Un=zn;function Hn(){var e=zn();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Gn(){return vn.lFrame.selectedIndex}function Wn(e){vn.lFrame.selectedIndex=e}function qn(){var e=vn.lFrame;return sn(e.tView,e.selectedIndex)}function Xn(){vn.lFrame.currentNamespace=Jt}function Yn(e,t){for(var n=t.directiveStart,i=t.directiveEnd;n=i)break}else t[s]<0&&(e[18]+=65536),(a>11>16&&(3&e[2])===t){e[2]+=2048;try{o.call(a)}finally{}}}else try{o.call(a)}finally{}}var ei=function e(t,n,i){m(this,e),this.factory=t,this.resolving=!1,this.canSeeViewProviders=n,this.injectImpl=i};function ti(e,t,n){for(var i=tn(e),r=0;rt){a=o-1;break}}}for(;o>16}(e),i=t;n>0;)i=i[15],n--;return i}var ci=!0;function li(e){var t=ci;return ci=e,t}var hi=0;function di(e,t){var n=pi(e,t);if(-1!==n)return n;var i=t[1];i.firstCreatePass&&(e.injectorIndex=t.length,fi(i.data,e),fi(t,null),fi(i.blueprint,null));var r=vi(e,t),o=e.injectorIndex;if(ai(r))for(var a=si(r),s=ui(r,t),u=s[1].data,c=0;c<8;c++)t[o+c]=s[a+c]|u[a+c];return t[o+8]=r,o}function fi(e,t){e.push(0,0,0,0,0,0,0,0,t)}function pi(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function vi(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;for(var n=0,i=null,r=t;null!==r;){var o=r[1],a=o.type;if(null===(i=2===a?o.declTNode:1===a?r[6]:null))return-1;if(n++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return-1}function gi(e,t,n){!function(e,t,n){var i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(Ct)&&(i=n[Ct]),null==i&&(i=n[Ct]=hi++);var r=255&i;t.data[e+(r>>5)]|=1<3&&void 0!==arguments[3]?arguments[3]:at.Default,r=arguments.length>4?arguments[4]:void 0;if(null!==e){var o=function(e){if("string"==typeof e)return e.charCodeAt(0)||0;var t=e.hasOwnProperty(Ct)?e[Ct]:void 0;return"number"==typeof t?t>=0?255&t:wi:t}(n);if("function"==typeof o){if(!jn(t,e,i))return i&at.Host?mi(r,n,i):yi(t,n,i,r);try{var a=o(i);if(null!=a||i&at.Optional)return a;Ke(n)}finally{Un()}}else if("number"==typeof o){var s=null,u=pi(e,t),c=-1,l=i&at.Host?t[16][6]:null;for((-1===u||i&at.SkipSelf)&&(-1!==(c=-1===u?vi(e,t):t[u+8])&&Ei(i,!1)?(s=t[1],u=si(c),t=ui(c,t)):u=-1);-1!==u;){var h=t[1];if(Ci(o,u,h.data)){var d=ki(u,t,n,s,i,l);if(d!==_i)return d}-1!==(c=t[u+8])&&Ei(i,t[1].data[u+8]===l)&&Ci(o,u,t)?(s=h,u=si(c),t=ui(c,t)):u=-1}}}return yi(t,n,i,r)}var _i={};function wi(){return new Oi(_n(),mn())}function ki(e,t,n,i,r,o){var a=t[1],s=a.data[e+8],u=xi(s,a,n,null==i?Vt(s)&&ci:i!=a&&0!=(3&s.type),r&at.Host&&o===s);return null!==u?Si(t,a,u,s):_i}function xi(e,t,n,i,r){for(var o=e.providerIndexes,a=t.data,s=1048575&o,u=e.directiveStart,c=o>>20,l=r?s+c:e.directiveEnd,h=i?s:s+c;h=u&&d.type===n)return h}if(r){var f=a[u];if(f&&Ut(f)&&f.type===n)return u}return null}function Si(e,t,n,i){var r=e[n],o=t.data;if(function(e){return e instanceof ei}(r)){var a=r;a.resolving&&function(e,t){throw new qe("200","Circular dependency in DI detected for ".concat(e))}(Ye(o[n]));var s=li(a.canSeeViewProviders);a.resolving=!0;var u=a.injectImpl?st(a.injectImpl):null;jn(e,i,at.Default);try{r=e[n]=a.factory(void 0,o,e,i),t.firstCreatePass&&n>=i.directiveStart&&function(e,t,n){var i=t.type.prototype,r=i.ngOnChanges,o=i.ngOnInit,a=i.ngDoCheck;if(r){var s=Xt(t);(n.preOrderHooks||(n.preOrderHooks=[])).push(e,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,s)}o&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-e,o),a&&((n.preOrderHooks||(n.preOrderHooks=[])).push(e,a),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,a))}(n,o[n],t)}finally{null!==u&&st(u),li(s),a.resolving=!1,Un()}}return r}function Ci(e,t,n){return!!(n[t+(e>>5)]&1<=e.length?e.push(n):e.splice(t,0,n)}function Fi(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Bi(e,t){for(var n=[],i=0;i=0?e[1|i]=n:function(e,t,n,i){var r=e.length;if(r==t)e.push(n,i);else if(1===r)e.push(i,e[0]),e[0]=n;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=n,e[t+1]=i}}(e,i=~i,t,n),i}function zi(e,t){var n=Ui(e,t);if(n>=0)return e[1|n]}function Ui(e,t){return function(e,t,n){for(var i=0,r=e.length>>1;r!==i;){var o=i+(r-i>>1),a=e[o<<1];if(t===a)return o<<1;a>t?r=o:i=o+1}return~(r<<1)}(e,t)}var Hi,Gi={},Wi="__NG_DI_FLAG__",qi="ngTempTokenPath",Xi=/\n/gm,Yi="__source",Ki=Fe({provide:String,useValue:Fe});function $i(e){var t=Hi;return Hi=e,t}function Qi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:at.Default;if(void 0===Hi)throw new Error("inject() must be called from an injection context");return null===Hi?ut(e,void 0,t):Hi.get(e,t&at.Optional?null:void 0,t)}function Zi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:at.Default;return(tt||Qi)(Ge(e),t)}var Ji=Zi;function er(e){for(var t=[],n=0;n3&&void 0!==arguments[3]?arguments[3]:null;e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.substr(2):e;var r=Ve(t);if(Array.isArray(t))r=t.map(Ve).join(" -> ");else if("object"==typeof t){var o=[];for(var a in t)if(t.hasOwnProperty(a)){var s=t[a];o.push(a+":"+("string"==typeof s?JSON.stringify(s):Ve(s)))}r="{".concat(o.join(", "),"}")}return"".concat(n).concat(i?"("+i+")":"","[").concat(r,"]: ").concat(e.replace(Xi,"\n "))}("\n"+e.message,r,n,i),e.ngTokenPath=r,e[qi]=null,e}var rr,or,ar=tr(Ii("Inject",function(e){return{token:e}}),-1),sr=tr(Ii("Optional"),8),ur=tr(Ii("SkipSelf"),4);function cr(e){var t;return(null===(t=function(){if(void 0===rr&&(rr=null,gt.trustedTypes))try{rr=gt.trustedTypes.createPolicy("angular",{createHTML:function(e){return e},createScript:function(e){return e},createScriptURL:function(e){return e}})}catch(e){}return rr}())||void 0===t?void 0:t.createHTML(e))||e}function lr(){if(void 0===or&&(or=null,gt.trustedTypes))try{or=gt.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:function(e){return e},createScript:function(e){return e},createScriptURL:function(e){return e}})}catch(G){}return or}function hr(e){var t;return(null===(t=lr())||void 0===t?void 0:t.createHTML(e))||e}function dr(e){var t;return(null===(t=lr())||void 0===t?void 0:t.createScriptURL(e))||e}var fr=function(){function e(t){m(this,e),this.changingThisBreaksApplicationSecurity=t}return b(e,[{key:"toString",value:function(){return"SafeValue must use [property]=binding: ".concat(this.changingThisBreaksApplicationSecurity," (see https://g.co/ng/security#xss)")}}]),e}(),pr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"HTML"}}]),n}(fr),vr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"Style"}}]),n}(fr),gr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"Script"}}]),n}(fr),mr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"URL"}}]),n}(fr),yr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"ResourceURL"}}]),n}(fr);function br(e){return e instanceof fr?e.changingThisBreaksApplicationSecurity:e}function _r(e,t){var n=wr(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error("Required a safe ".concat(t,", got a ").concat(n," (see https://g.co/ng/security#xss)"))}return n===t}function wr(e){return e instanceof fr&&e.getTypeName()||null}var kr=function(){function e(t){m(this,e),this.inertDocumentHelper=t}return b(e,[{key:"getInertBodyElement",value:function(e){e=""+e;try{var t=(new window.DOMParser).parseFromString(cr(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}]),e}(),xr=function(){function e(t){if(m(this,e),this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){var n=this.inertDocument.createElement("html");this.inertDocument.appendChild(n);var i=this.inertDocument.createElement("body");n.appendChild(i)}}return b(e,[{key:"getInertBodyElement",value:function(e){var t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=cr(e),t;var n=this.inertDocument.createElement("body");return n.innerHTML=cr(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(n),n}},{key:"stripCustomNsAttrs",value:function(e){for(var t=e.attributes,n=t.length-1;0"),!0}},{key:"endElement",value:function(e){var t=e.nodeName.toLowerCase();Dr.hasOwnProperty(t)&&!Mr.hasOwnProperty(t)&&(this.buf.push(""))}},{key:"chars",value:function(e){this.buf.push(Ur(e))}},{key:"checkClobberedElement",value:function(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error("Failed to sanitize html because the element is clobbered: ".concat(e.outerHTML));return t}}]),e}(),Vr=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zr=/([^\#-~ |!])/g;function Ur(e){return e.replace(/&/g,"&").replace(Vr,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(zr,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}function Hr(e,t){var n=null;try{Ar=Ar||function(e){var t=new xr(e);return function(){try{return!!(new window.DOMParser).parseFromString(cr(""),"text/html")}catch(e){return!1}}()?new kr(t):t}(e);var i=t?String(t):"";n=Ar.getInertBodyElement(i);var r=5,o=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=n.innerHTML,n=Ar.getInertBodyElement(i)}while(i!==o);return cr((new Br).sanitizeChildren(Gr(n)||n))}finally{if(n)for(var a=Gr(n)||n;a.firstChild;)a.removeChild(a.firstChild)}}function Gr(e){return"content"in e&&function(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Wr=((Wr=Wr||{})[Wr.NONE=0]="NONE",Wr[Wr.HTML=1]="HTML",Wr[Wr.STYLE=2]="STYLE",Wr[Wr.SCRIPT=3]="SCRIPT",Wr[Wr.URL=4]="URL",Wr[Wr.RESOURCE_URL=5]="RESOURCE_URL",Wr);function qr(e){var t=Kr();return t?hr(t.sanitize(Wr.HTML,e)||""):_r(e,"HTML")?hr(br(e)):Hr(en(),Xe(e))}function Xr(e){var t=Kr();return t?t.sanitize(Wr.URL,e)||"":_r(e,"URL")?br(e):Er(Xe(e))}function Yr(e){var t=Kr();if(t)return dr(t.sanitize(Wr.RESOURCE_URL,e)||"");if(_r(e,"ResourceURL"))return dr(br(e));throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)")}function Kr(){var e=mn();return e&&e[12]}var $r="__ngContext__";function Qr(e,t){e[$r]=t}function Zr(e){var t=function(e){return e[$r]||null}(e);return t?Array.isArray(t)?t:t.lView:null}function Jr(e){return e.ngOriginalError}function eo(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i0&&(e[n-1][4]=i[4]);var o=Fi(e,10+t);!function(e,t){Mo(e,t,t[11],2,null,null),t[0]=null,t[6]=null}(i[1],i);var a=o[19];null!==a&&a.detachView(o[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}}function mo(e,t){if(!(256&t[2])){var n=t[11];tn(n)&&n.destroyNode&&Mo(e,t,n,3,null,null),function(e){var t=e[13];if(!t)return yo(e[1],e);for(;t;){var n=null;if(jt(t))n=t[13];else{var i=t[10];i&&(n=i)}if(!n){for(;t&&!t[4]&&t!==e;)jt(t)&&yo(t[1],t),t=t[3];null===t&&(t=e),jt(t)&&yo(t[1],t),n=t&&t[4]}t=n}}(t)}}function yo(e,t){if(!(256&t[2])){t[2]&=-129,t[2]|=256,function(e,t){var n;if(null!=e&&null!=(n=e.destroyHooks))for(var i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),o+=2}else{var l=i[r=n[o+1]];n[o].call(l)}if(null!==i){for(var h=r+1;ho?"":r[l+1].toLowerCase();var d=8&i?h:null;if(d&&-1!==No(d,c,0)||2&i&&c!==h){if(zo(i))return!1;a=!0}}}}else{if(!a&&!zo(i)&&!zo(u))return!1;if(a&&zo(u))continue;a=!1,i=u|1&i}}return zo(i)||a}function zo(e){return 0==(1&e)}function Uo(e,t,n,i){if(null===t)return-1;var r=0;if(i||!n){for(var o=!1;r-1)for(n++;n2&&void 0!==arguments[2]&&arguments[2],i=0;i0?'="'+s+'"':"")+"]"}else 8&i?r+="."+a:4&i&&(r+=" "+a);else""!==r&&!zo(a)&&(t+=Wo(o,r),r=""),i=a,o=o||!zo(i);n++}return""!==r&&(t+=Wo(o,r)),t}var Xo={};function Yo(e){Ko(yn(),mn(),Gn()+e,Cn())}function Ko(e,t,n,i){if(!i)if(3==(3&t[2])){var r=e.preOrderCheckHooks;null!==r&&Kn(t,r,n)}else{var o=e.preOrderHooks;null!==o&&$n(t,o,0,n)}Wn(n)}function $o(e,t){return e<<17|t<<2}function Qo(e){return e>>17&32767}function Zo(e){return 2|e}function Jo(e){return(131068&e)>>2}function ea(e,t){return-131069&e|t<<2}function ta(e){return 1|e}function na(e,t){var n=e.contentQueries;if(null!==n)for(var i=0;i20&&Ko(e,t,20,Cn()),n(i,r)}finally{Wn(o)}}function la(e,t,n){if(Bt(t))for(var i=t.directiveEnd,r=t.directiveStart;r2&&void 0!==arguments[2]?arguments[2]:an,i=t.localNames;if(null!==i)for(var r=t.index+1,o=0;o0;){var n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(s)!=u&&s.push(u),s.push(i,r,a)}}function _a(e,t){null!==e.hostBindings&&e.hostBindings(1,t)}function wa(e,t){t.flags|=2,(e.components||(e.components=[])).push(t.index)}function ka(e,t,n){if(n){if(t.exportAs)for(var i=0;i0&&Ma(n)}}function Ma(e){for(var t=co(e);null!==t;t=lo(t))for(var n=10;n0&&Ma(i)}var o=e[1].components;if(null!==o)for(var a=0;a0&&Ma(s)}}function Ia(e,t){var n=cn(t,e),i=n[1];(function(e,t){for(var n=t.length;n1&&void 0!==arguments[1]?arguments[1]:Gi;if(t===Gi){var n=new Error("NullInjectorError: No provider for ".concat(Ve(e),"!"));throw n.name="NullInjectorError",n}return t}}]),e}(),Ka=new Ri("Set Injector scope."),$a={},Qa={};function Za(){return void 0===qa&&(qa=new Ya),qa}function Ja(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3?arguments[3]:void 0;return new es(e,n,t||Za(),i)}var es=function(){function e(t,n,i){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;m(this,e),this.parent=i,this.records=new Map,this.injectorDefTypes=new Set,this.onDestroy=new Set,this._destroyed=!1;var a=[];n&&Li(n,function(e){return r.processProvider(e,t,n)}),Li([t],function(e){return r.processInjectorType(e,[],a)}),this.records.set(Xa,is(void 0,this));var s=this.records.get(Ka);this.scope=null!=s?s.value:null,this.source=o||("object"==typeof t?null:Ve(t))}return b(e,[{key:"destroyed",get:function(){return this._destroyed}},{key:"destroy",value:function(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(function(e){return e.ngOnDestroy()})}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}},{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gi,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:at.Default;this.assertNotDestroyed();var i=$i(this),r=st(void 0);try{if(!(n&at.SkipSelf)){var o=this.records.get(e);if(void 0===o){var a=function(e){return"function"==typeof e||"object"==typeof e&&e instanceof Ri}(e)&&Ze(e);o=a&&this.injectableDefInScope(a)?is(ts(e),$a):null,this.records.set(e,o)}if(null!=o)return this.hydrate(e,o)}return(n&at.Self?Za():this.parent).get(e,t=n&at.Optional&&t===Gi?null:t)}catch(s){if("NullInjectorError"===s.name){if((s[qi]=s[qi]||[]).unshift(Ve(e)),i)throw s;return ir(s,e,"R3InjectorError",this.source)}throw s}finally{st(r),$i(i)}}},{key:"_resolveInjectorDefTypes",value:function(){var e=this;this.injectorDefTypes.forEach(function(t){return e.get(t)})}},{key:"toString",value:function(){var e=[];return this.records.forEach(function(t,n){return e.push(Ve(n))}),"R3Injector[".concat(e.join(", "),"]")}},{key:"assertNotDestroyed",value:function(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}},{key:"processInjectorType",value:function(e,t,n){var i=this;if(!(e=Ge(e)))return!1;var r=et(e),o=null==r&&e.ngModule||void 0,a=void 0===o?e:o,s=-1!==n.indexOf(a);if(void 0!==o&&(r=et(o)),null==r)return!1;if(null!=r.imports&&!s){var u;n.push(a);try{Li(r.imports,function(e){i.processInjectorType(e,t,n)&&(void 0===u&&(u=[]),u.push(e))})}finally{}if(void 0!==u)for(var c=function(e){var t=u[e],n=t.ngModule,r=t.providers;Li(r,function(e){return i.processProvider(e,n,r||yt)})},l=0;l0){var n=Bi(t,"?");throw new Error("Can't resolve all parameters for ".concat(Ve(e),": (").concat(n.join(", "),")."))}var i=function(e){var t=e&&(e[nt]||e[rt]);if(t){var n=function(e){if(e.hasOwnProperty("name"))return e.name;var t=(""+e).match(/^function\s*([^\s(]+)/);return null===t?"":t[1]}(e);return console.warn('DEPRECATED: DI is instantiating a token "'.concat(n,'" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "').concat(n,'" class.')),t}return null}(e);return null!==i?function(){return i.factory(e)}:function(){return new e}}(e);throw new Error("unreachable")}function ns(e,t,n){var i;if(os(e)){var r=Ge(e);return Gt(r)||ts(r)}if(rs(e))i=function(){return Ge(e.useValue)};else if(function(e){return!(!e||!e.useFactory)}(e))i=function(){return e.useFactory.apply(e,v(er(e.deps||[])))};else if(function(e){return!(!e||!e.useExisting)}(e))i=function(){return Zi(Ge(e.useExisting))};else{var o=Ge(e&&(e.useClass||e.provide));if(!function(e){return!!e.deps}(e))return Gt(o)||ts(o);i=function(){return h(o,v(er(e.deps)))}}return i}function is(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{factory:e,value:t,multi:n?[]:void 0}}function rs(e){return null!==e&&"object"==typeof e&&Ki in e}function os(e){return"function"==typeof e}var as=function(e,t,n){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3?arguments[3]:void 0,r=Ja(e,t,n,i);return r._resolveInjectorDefTypes(),r}({name:n},t,e,n)},ss=function(){function e(){m(this,e)}return b(e,null,[{key:"create",value:function(e,t){return Array.isArray(e)?as(e,t,""):as(e.providers,e.parent,e.name||"")}}]),e}();function us(e,t){Yn(Zr(e)[1],_n())}function cs(e){for(var t=function(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),n=!0,i=[e];t;){var r=void 0;if(Ut(e))r=t.\u0275cmp||t.\u0275dir;else{if(t.\u0275cmp)throw new Error("Directives cannot inherit Components");r=t.\u0275dir}if(r){if(n){i.push(r);var o=e;o.inputs=ls(e.inputs),o.declaredInputs=ls(e.declaredInputs),o.outputs=ls(e.outputs);var a=r.hostBindings;a&&fs(e,a);var s=r.viewQuery,u=r.contentQueries;if(s&&hs(e,s),u&&ds(e,u),Be(e.inputs,r.inputs),Be(e.declaredInputs,r.declaredInputs),Be(e.outputs,r.outputs),Ut(r)&&r.data.animation){var c=e.data;c.animation=(c.animation||[]).concat(r.data.animation)}}var l=r.features;if(l)for(var h=0;h=0;i--){var r=e[i];r.hostVars=t+=r.hostVars,r.hostAttrs=ri(r.hostAttrs,n=ri(n,r.hostAttrs))}}(i)}function ls(e){return e===mt?{}:e===yt?[]:e}function hs(e,t){var n=e.viewQuery;e.viewQuery=n?function(e,i){t(e,i),n(e,i)}:t}function ds(e,t){var n=e.contentQueries;e.contentQueries=n?function(e,i,r){t(e,i,r),n(e,i,r)}:t}function fs(e,t){var n=e.hostBindings;e.hostBindings=n?function(e,i){t(e,i),n(e,i)}:t}ss.THROW_IF_NOT_FOUND=Gi,ss.NULL=new Ya,ss.\u0275prov=$e({token:ss,providedIn:"any",factory:function(){return Zi(Xa)}}),ss.__NG_ELEMENT_ID__=-1;var ps=null;function vs(){if(!ps){var e=gt.Symbol;if(e&&e.iterator)ps=e.iterator;else for(var t=Object.getOwnPropertyNames(Map.prototype),n=0;n1&&void 0!==arguments[1]?arguments[1]:at.Default,n=mn();return null===n?Zi(e,t):bi(_n(),n,Ge(e),t)}function Ts(e,t,n){var i=mn();return _s(i,Pn(),t)&&ma(yn(),qn(),i,e,t,i[11],n,!1),Ts}function Ps(e,t,n,i,r){var o=r?"class":"style";Ha(e,n,t.inputs[o],o,i)}function As(e,t,n,i){var r=mn(),o=yn(),a=20+e,s=r[11],u=r[a]=po(s,t,vn.lFrame.currentNamespace),c=o.firstCreatePass?function(e,t,n,i,r,o,a){var s=t.consts,u=ra(t,e,2,r,dn(s,o));return ya(t,n,u,dn(s,a)),null!==u.attrs&&Wa(u,u.attrs,!1),null!==u.mergedAttrs&&Wa(u,u.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,u),u}(a,o,r,0,t,n,i):o.data[a];kn(c,!0);var l=c.mergedAttrs;null!==l&&ti(s,u,l);var h=c.classes;null!==h&&Do(s,u,h);var d=c.styles;null!==d&&Ro(s,u,d),64!=(64&c.flags)&&Eo(o,r,u,c),0===vn.lFrame.elementDepthCount&&Qr(u,r),vn.lFrame.elementDepthCount++,zt(c)&&(ha(o,r,c),la(o,c,r)),null!==i&&da(r,c)}function Ms(){var e=_n();xn()?Sn():kn(e=e.parent,!1);var t=e;vn.lFrame.elementDepthCount--;var n=yn();n.firstCreatePass&&(Yn(n,e),Bt(e)&&n.queries.elementEnd(e)),null!=t.classesWithoutHost&&function(e){return 0!=(16&e.flags)}(t)&&Ps(n,t,mn(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function(e){return 0!=(32&e.flags)}(t)&&Ps(n,t,mn(),t.stylesWithoutHost,!1)}function Is(e,t,n,i){As(e,t,n,i),Ms()}function Rs(e,t,n){var i=mn(),r=yn(),o=e+20,a=r.firstCreatePass?function(e,t,n,i,r){var o=t.consts,a=dn(o,i),s=ra(t,e,8,"ng-container",a);return null!==a&&Wa(s,a,!0),ya(t,n,s,dn(o,r)),null!==t.queries&&t.queries.elementStart(t,s),s}(o,r,i,t,n):r.data[o];kn(a,!0);var s=i[o]=i[11].createComment("");Eo(r,i,s,a),Qr(s,i),zt(a)&&(ha(r,i,a),la(r,a,i)),null!=n&&da(i,a)}function Ds(){var e=_n(),t=yn();xn()?Sn():kn(e=e.parent,!1),t.firstCreatePass&&(Yn(t,e),Bt(e)&&t.queries.elementEnd(e))}function Ns(e,t,n){Rs(e,t,n),Ds()}function Ls(){return mn()}function js(e){return!!e&&"function"==typeof e.then}function Fs(e){return!!e&&"function"==typeof e.subscribe}var Bs=Fs;function Vs(e,t,n,i){var r=mn(),o=yn(),a=_n();return Us(o,r,r[11],a,e,t,!!n,i),Vs}function zs(e,t){var n=_n(),i=mn(),r=yn();return Us(r,i,za(Rn(r.data),n,i),n,e,t,!1),zs}function Us(e,t,n,i,r,o,a,s){var u=zt(i),c=e.firstCreatePass&&Va(e),l=t[8],h=Ba(t),d=!0;if(3&i.type||s){var f=an(i,t),p=s?s(f):f,v=h.length,g=s?function(e){return s(rn(e[i.index]))}:i.index;if(tn(n)){var m=null;if(!s&&u&&(m=function(e,t,n,i){var r=e.cleanup;if(null!=r)for(var o=0;ou?s[u]:null}"string"==typeof a&&(o+=2)}return null}(e,t,r,i.index)),null!==m)(m.__ngLastListenerFn__||m).__ngNextListenerFn__=o,m.__ngLastListenerFn__=o,d=!1;else{o=Gs(i,t,l,o,!1);var y=n.listen(p,r,o);h.push(o,y),c&&c.push(r,g,v,v+1)}}else o=Gs(i,t,l,o,!0),p.addEventListener(r,o,a),h.push(o),c&&c.push(r,g,v,a)}else o=Gs(i,t,l,o,!1);var b,_=i.outputs;if(d&&null!==_&&(b=_[r])){var w=b.length;if(w)for(var k=0;k0&&void 0!==arguments[0]?arguments[0]:1;return function(e){return(vn.lFrame.contextLView=function(e,t){for(;e>0;)t=t[15],e--;return t}(e,vn.lFrame.contextLView))[8]}(e)}function qs(e,t){for(var n=null,i=function(e){var t=e.attrs;if(null!=t){var n=t.indexOf(5);if(0==(1&n))return t[n+1]}return null}(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0,i=mn(),r=yn(),o=ra(r,20+e,16,null,n||null);null===o.projection&&(o.projection=t),Sn(),64!=(64&o.flags)&&function(e,t,n){Io(t[11],0,t,n,bo(e,n,t),So(n.parent||t[6],n,t))}(r,i,o)}function Ks(e,t,n){return $s(e,"",t,"",n),Ks}function $s(e,t,n,i,r){var o=mn(),a=xs(o,t,n,i);return a!==Xo&&ma(yn(),qn(),o,e,a,o[11],r,!1),$s}function Qs(e,t,n,i,r){for(var o=e[n+1],a=null===t,s=i?Qo(o):Jo(o),u=!1;0!==s&&(!1===u||a);){var c=e[s+1];Zs(e[s],t)&&(u=!0,e[s+1]=i?ta(c):Zo(c)),s=i?Qo(c):Jo(c)}u&&(e[n+1]=i?Zo(o):ta(o))}function Zs(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ui(e,t)>=0}var Js={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function eu(e){return e.substring(Js.key,Js.keyEnd)}function tu(e){return e.substring(Js.value,Js.valueEnd)}function nu(e,t){var n=Js.textEnd;return n===t?-1:(t=Js.keyEnd=function(e,t,n){for(;t32;)t++;return t}(e,Js.key=t,n),ou(e,t,n))}function iu(e,t){var n=Js.textEnd,i=Js.key=ou(e,t,n);return n===i?-1:(i=Js.keyEnd=function(e,t,n){for(var i;t=65&&(-33&i)<=90||i>=48&&i<=57);)t++;return t}(e,i,n),i=au(e,i,n),i=Js.value=ou(e,i,n),i=Js.valueEnd=function(e,t,n){for(var i=-1,r=-1,o=-1,a=t,s=a;a32&&(s=a),o=r,r=i,i=-33&u}return s}(e,i,n),au(e,i,n))}function ru(e){Js.key=0,Js.keyEnd=0,Js.value=0,Js.valueEnd=0,Js.textEnd=e.length}function ou(e,t,n){for(;t=0;n=iu(t,n))_u(e,eu(t),tu(t))}function du(e){vu(Vi,fu,e,!0)}function fu(e,t){for(var n=function(e){return ru(e),nu(e,ou(e,0,Js.textEnd))}(t);n>=0;n=nu(t,n))Vi(e,eu(t),!0)}function pu(e,t,n,i){var r=mn(),o=yn(),a=An(2);o.firstUpdatePass&&mu(o,e,a,i),t!==Xo&&_s(r,a,t)&&wu(o,o.data[Gn()],r,r[11],e,r[a+1]=function(e,t){return null==e||("string"==typeof t?e+=t:"object"==typeof e&&(e=Ve(br(e)))),e}(t,n),i,a)}function vu(e,t,n,i){var r=yn(),o=An(2);r.firstUpdatePass&&mu(r,null,o,i);var a=mn();if(n!==Xo&&_s(a,o,n)){var s=r.data[Gn()];if(Su(s,i)&&!gu(r,o)){var u=i?s.classesWithoutHost:s.stylesWithoutHost;null!==u&&(n=ze(u,n||"")),Ps(r,s,a,n,i)}else!function(e,t,n,i,r,o,a,s){r===Xo&&(r=yt);for(var u=0,c=0,l=0=e.expandoStartIndex}function mu(e,t,n,i){var r=e.data;if(null===r[n+1]){var o=r[Gn()],a=gu(e,n);Su(o,i)&&null===t&&!a&&(t=!1),t=function(e,t,n,i){var r=Rn(e),o=i?t.residualClasses:t.residualStyles;if(null===r)0===(i?t.classBindings:t.styleBindings)&&(n=bu(n=yu(null,e,t,n,i),t.attrs,i),o=null);else{var a=t.directiveStylingLast;if(-1===a||e[a]!==r)if(n=yu(r,e,t,n,i),null===o){var s=function(e,t,n){var i=n?t.classBindings:t.styleBindings;if(0!==Jo(i))return e[Qo(i)]}(e,t,i);void 0!==s&&Array.isArray(s)&&function(e,t,n,i){e[Qo(n?t.classBindings:t.styleBindings)]=i}(e,t,i,s=bu(s=yu(null,e,t,s[1],i),t.attrs,i))}else o=function(e,t,n){for(var i,r=t.directiveEnd,o=1+t.directiveStylingLast;o0)&&(l=!0)}else c=n;if(r)if(0!==u){var d=Qo(e[s+1]);e[i+1]=$o(d,s),0!==d&&(e[d+1]=ea(e[d+1],i)),e[s+1]=function(e,t){return 131071&e|t<<17}(e[s+1],i)}else e[i+1]=$o(s,0),0!==s&&(e[s+1]=ea(e[s+1],i)),s=i;else e[i+1]=$o(u,0),0===s?s=i:e[u+1]=ea(e[u+1],i),u=i;l&&(e[i+1]=Zo(e[i+1])),Qs(e,c,i,!0),Qs(e,c,i,!1),function(e,t,n,i,r){var o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof t&&Ui(o,t)>=0&&(n[i+1]=ta(n[i+1]))}(t,c,e,i,o),a=$o(s,u),o?t.classBindings=a:t.styleBindings=a}(r,o,t,n,a,i)}}function yu(e,t,n,i,r){var o=null,a=n.directiveEnd,s=n.directiveStylingLast;for(-1===s?s=n.directiveStart:s++;s0;){var u=e[r],c=Array.isArray(u),l=c?u[1]:u,h=null===l,d=n[r+1];d===Xo&&(d=h?yt:void 0);var f=h?zi(d,i):l===i?d:void 0;if(c&&!xu(f)&&(f=zi(u,i)),xu(f)&&(a=f,s))return a;var p=e[r+1];r=s?Qo(p):Jo(p)}if(null!==t){var v=o?t.residualClasses:t.residualStyles;null!=v&&(a=zi(v,i))}return a}function xu(e){return void 0!==e}function Su(e,t){return 0!=(e.flags&(t?16:32))}function Cu(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=mn(),i=yn(),r=e+20,o=i.firstCreatePass?ra(i,r,1,t,null):i.data[r],a=n[r]=function(e,t){return tn(e)?e.createText(t):e.createTextNode(t)}(n[11],t);Eo(i,n,a,o),kn(o,!1)}function Eu(e){return Ou("",e,""),Eu}function Ou(e,t,n){var i=mn(),r=xs(i,e,t,n);return r!==Xo&&Ga(i,Gn(),r),Ou}function Tu(e,t,n,i,r){var o=mn(),a=function(e,t,n,i,r,o){var a=ws(e,Tn(),n,r);return An(2),a?t+Xe(n)+i+Xe(r)+o:Xo}(o,e,t,n,i,r);return a!==Xo&&Ga(o,Gn(),a),Tu}function Pu(e,t,n){vu(Vi,fu,xs(mn(),e,t,n),!0)}function Au(e,t,n){var i=mn();return _s(i,Pn(),t)&&ma(yn(),qn(),i,e,t,i[11],n,!0),Au}function Mu(e,t,n){var i=mn();if(_s(i,Pn(),t)){var r=yn(),o=qn();ma(r,o,i,e,t,za(Rn(r.data),o,i),n,!0)}return Mu}var Iu=void 0,Ru=["en",[["a","p"],["AM","PM"],Iu],[["AM","PM"],Iu,Iu],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Iu,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Iu,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Iu,"{1} 'at' {0}",Iu],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(e){var t=Math.floor(Math.abs(e)),n=e.toString().replace(/^[^.]*\.?/,"").length;return 1===t&&0===n?1:5}],Du={};function Nu(e){var t=function(e){return e.toLowerCase().replace(/_/g,"-")}(e),n=Lu(t);if(n)return n;var i=t.split("-")[0];if(n=Lu(i))return n;if("en"===i)return Ru;throw new Error('Missing locale data for the locale "'.concat(e,'".'))}function Lu(e){return e in Du||(Du[e]=gt.ng&>.ng.common&>.ng.common.locales&>.ng.common.locales[e]),Du[e]}var ju=((ju=ju||{})[ju.LocaleId=0]="LocaleId",ju[ju.DayPeriodsFormat=1]="DayPeriodsFormat",ju[ju.DayPeriodsStandalone=2]="DayPeriodsStandalone",ju[ju.DaysFormat=3]="DaysFormat",ju[ju.DaysStandalone=4]="DaysStandalone",ju[ju.MonthsFormat=5]="MonthsFormat",ju[ju.MonthsStandalone=6]="MonthsStandalone",ju[ju.Eras=7]="Eras",ju[ju.FirstDayOfWeek=8]="FirstDayOfWeek",ju[ju.WeekendRange=9]="WeekendRange",ju[ju.DateFormat=10]="DateFormat",ju[ju.TimeFormat=11]="TimeFormat",ju[ju.DateTimeFormat=12]="DateTimeFormat",ju[ju.NumberSymbols=13]="NumberSymbols",ju[ju.NumberFormats=14]="NumberFormats",ju[ju.CurrencyCode=15]="CurrencyCode",ju[ju.CurrencySymbol=16]="CurrencySymbol",ju[ju.CurrencyName=17]="CurrencyName",ju[ju.Currencies=18]="Currencies",ju[ju.Directionality=19]="Directionality",ju[ju.PluralCase=20]="PluralCase",ju[ju.ExtraData=21]="ExtraData",ju),Fu="en-US";function Bu(e){(function(e,t){null==e&&function(e,t,n,i){throw new Error("ASSERTION ERROR: ".concat(e)+" [Expected=> ".concat(null," ").concat("!="," ").concat(t," <=Actual]"))}(t,e)})(e,"Expected localeId to be defined"),"string"==typeof e&&e.toLowerCase().replace(/_/g,"-")}function Vu(e,t,n,i,r){if(e=Ge(e),Array.isArray(e))for(var o=0;o>20;if(os(e)||!e.multi){var p=new ei(c,r,Os),v=Hu(u,t,r?h:h+f,d);-1===v?(gi(di(l,s),a,u),zu(a,e,t.length),t.push(u),l.directiveStart++,l.directiveEnd++,r&&(l.providerIndexes+=1048576),n.push(p),s.push(p)):(n[v]=p,s[v]=p)}else{var g=Hu(u,t,h+f,d),m=Hu(u,t,h,h+f),y=g>=0&&n[g],b=m>=0&&n[m];if(r&&!b||!r&&!y){gi(di(l,s),a,u);var _=function(e,t,n,i,r){var o=new ei(e,n,Os);return o.multi=[],o.index=t,o.componentProviders=0,Uu(o,r,i&&!n),o}(r?Wu:Gu,n.length,r,i,c);!r&&b&&(n[m].providerFactory=_),zu(a,e,t.length,0),t.push(u),l.directiveStart++,l.directiveEnd++,r&&(l.providerIndexes+=1048576),n.push(_),s.push(_)}else zu(a,e,g>-1?g:m,Uu(n[r?m:g],c,!r&&i));!r&&i&&b&&n[m].componentProviders++}}}function zu(e,t,n,i){var r=os(t);if(r||function(e){return!!e.useClass}(t)){var o=(t.useClass||t).prototype.ngOnDestroy;if(o){var a=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){var s=a.indexOf(n);-1===s?a.push(n,[i,o]):a[s+1].push(i,o)}else a.push(n,o)}}}function Uu(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function Hu(e,t,n,i){for(var r=n;r1&&void 0!==arguments[1]?arguments[1]:[];return function(n){n.providersResolver=function(n,i){return function(e,t,n){var i=yn();if(i.firstCreatePass){var r=Ut(e);Vu(n,i.data,i.blueprint,r,!0),Vu(t,i.data,i.blueprint,r,!1)}}(n,i?i(e):e,t)}}}var Yu=function e(){m(this,e)},Ku=function e(){m(this,e)};function $u(){}function Qu(e,t){return new Ju(an(e,t))}Ku.NULL=new(function(){function e(){m(this,e)}return b(e,[{key:"resolveComponentFactory",value:function(e){throw function(e){var t=Error("No component factory found for ".concat(Ve(e),". Did you add it to @NgModule.entryComponents?"));return t.ngComponent=e,t}(e)}}]),e}());var Zu=function(){return Qu(_n(),mn())},Ju=function(){var e=function e(t){m(this,e),this.nativeElement=t};return e.__NG_ELEMENT_ID__=Zu,e}();function ec(e){return e instanceof Ju?e.nativeElement:e}var tc=function e(){m(this,e)},nc=function(){var e=function e(){m(this,e)};return e.__NG_ELEMENT_ID__=function(){return ic()},e}(),ic=function(){var e=mn(),t=cn(_n().index,e);return function(e){return e[11]}(jt(t)?t:e)},rc=function(){var e=function e(){m(this,e)};return e.\u0275prov=$e({token:e,providedIn:"root",factory:function(){return null}}),e}(),oc=function e(t){m(this,e),this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")},ac=new oc("12.2.5"),sc=function(){function e(){m(this,e)}return b(e,[{key:"supports",value:function(e){return ms(e)}},{key:"create",value:function(e){return new cc(e)}}]),e}(),uc=function(e,t){return t},cc=function(){function e(t){m(this,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=t||uc}return b(e,[{key:"forEachItem",value:function(e){var t;for(t=this._itHead;null!==t;t=t._next)e(t)}},{key:"forEachOperation",value:function(e){for(var t=this._itHead,n=this._removalsHead,i=0,r=null;t||n;){var o=!n||t&&t.currentIndex4&&void 0!==arguments[4]&&arguments[4];null!==n;){var o=t[n.index];if(null!==o&&i.push(rn(o)),Ft(o))for(var a=10;a-1&&(go(e,n),Fi(t,n))}this._attachedToViewContainer=!1}mo(this._lView[1],this._lView)}},{key:"onDestroy",value:function(e){va(this._lView[1],this._lView,null,e)}},{key:"markForCheck",value:function(){Da(this._cdRefInjectingView||this._lView)}},{key:"detach",value:function(){this._lView[2]&=-129}},{key:"reattach",value:function(){this._lView[2]|=128}},{key:"detectChanges",value:function(){Na(this._lView[1],this._lView,this.context)}},{key:"checkNoChanges",value:function(){!function(e,t,n){En(!0);try{Na(e,t,n)}finally{En(!1)}}(this._lView[1],this._lView,this.context)}},{key:"attachToViewContainerRef",value:function(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}},{key:"detachFromAppRef",value:function(){this._appRef=null,function(e,t){Mo(e,t,t[11],2,null,null)}(this._lView[1],this._lView)}},{key:"attachToAppRef",value:function(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}]),e}(),xc=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,e))._view=e,i}return b(n,[{key:"detectChanges",value:function(){La(this._view)}},{key:"checkNoChanges",value:function(){!function(e){En(!0);try{La(e)}finally{En(!1)}}(this._view)}},{key:"context",get:function(){return null}}]),n}(kc),Sc=function(e){return function(e,t,n){if(Vt(e)&&!n){var i=cn(e.index,t);return new kc(i,i)}return 47&e.type?new kc(t[16],t):null}(_n(),mn(),16==(16&e))},Cc=function(){var e=function e(){m(this,e)};return e.__NG_ELEMENT_ID__=Sc,e}(),Ec=[new pc],Oc=new yc([new sc]),Tc=new _c(Ec),Pc=function(){return Ic(_n(),mn())},Ac=function(){var e=function e(){m(this,e)};return e.__NG_ELEMENT_ID__=Pc,e}(),Mc=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this))._declarationLView=e,o._declarationTContainer=i,o.elementRef=r,o}return b(n,[{key:"createEmbeddedView",value:function(e){var t=this._declarationTContainer.tViews,n=ia(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);n[17]=this._declarationLView[this._declarationTContainer.index];var i=this._declarationLView[19];return null!==i&&(n[19]=i.createEmbeddedView(t)),aa(t,n,e),new kc(n)}}]),n}(Ac);function Ic(e,t){return 4&e.type?new Mc(t,e,Qu(e,t)):null}var Rc=function e(){m(this,e)},Dc=function(){return Bc(_n(),mn())},Nc=function(){var e=function e(){m(this,e)};return e.__NG_ELEMENT_ID__=Dc,e}(),Lc=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this))._lContainer=e,o._hostTNode=i,o._hostLView=r,o}return b(n,[{key:"element",get:function(){return Qu(this._hostTNode,this._hostLView)}},{key:"injector",get:function(){return new Oi(this._hostTNode,this._hostLView)}},{key:"parentInjector",get:function(){var e=vi(this._hostTNode,this._hostLView);if(ai(e)){var t=ui(e,this._hostLView),n=si(e);return new Oi(t[1].data[n+8],t)}return new Oi(null,this._hostLView)}},{key:"clear",value:function(){for(;this.length>0;)this.remove(this.length-1)}},{key:"get",value:function(e){var t=jc(this._lContainer);return null!==t&&t[e]||null}},{key:"length",get:function(){return this._lContainer.length-10}},{key:"createEmbeddedView",value:function(e,t,n){var i=e.createEmbeddedView(t||{});return this.insert(i,n),i}},{key:"createComponent",value:function(e,t,n,i,r){var o=n||this.parentInjector;if(!r&&null==e.ngModule&&o){var a=o.get(Rc,null);a&&(r=a)}var s=e.create(o,i,void 0,r);return this.insert(s.hostView,t),s}},{key:"insert",value:function(e,t){var i=e._lView,r=i[1];if(function(e){return Ft(e[3])}(i)){var o=this.indexOf(e);if(-1!==o)this.detach(o);else{var a=i[3],s=new n(a,a[6],a[3]);s.detach(s.indexOf(e))}}var u=this._adjustIndex(t),c=this._lContainer;!function(e,t,n,i){var r=10+i,o=n.length;i>0&&(n[r-1][4]=t),i1&&void 0!==arguments[1]?arguments[1]:0;return null==e?this.length+t:e}}]),n}(Nc);function jc(e){return e[8]}function Fc(e){return e[8]||(e[8]=[])}function Bc(e,t){var n,i=t[e.index];if(Ft(i))n=i;else{var r;if(8&e.type)r=rn(i);else{var o=t[11];r=o.createComment("");var a=an(e,t);_o(o,xo(o,a),r,function(e,t){return tn(e)?e.nextSibling(t):t.nextSibling}(o,a),!1)}t[e.index]=n=Pa(i,t,r,e),Ra(t,n)}return new Lc(n,e,t)}var Vc={},zc=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).ngModule=e,i}return b(n,[{key:"resolveComponentFactory",value:function(e){var t=Nt(e);return new Gc(t,this.ngModule)}}]),n}(Ku);function Uc(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push({propName:e[n],templateName:n});return t}var Hc=new Ri("SCHEDULER_TOKEN",{providedIn:"root",factory:function(){return no}}),Gc=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).componentDef=e,r.ngModule=i,r.componentType=e.type,r.selector=function(e){return e.map(qo).join(",")}(e.selectors),r.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],r.isBoundToModule=!!i,r}return b(n,[{key:"inputs",get:function(){return Uc(this.componentDef.inputs)}},{key:"outputs",get:function(){return Uc(this.componentDef.outputs)}},{key:"create",value:function(e,t,n,i){var r,o,a=(i=i||this.ngModule)?function(e,t){return{get:function(n,i,r){var o=e.get(n,Vc,r);return o!==Vc||i===Vc?o:t.get(n,i,r)}}}(e,i.injector):e,s=a.get(tc,nn),u=a.get(rc,null),c=s.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",h=n?function(e,t,n){if(tn(e))return e.selectRootElement(t,n===ht.ShadowDom);var i="string"==typeof t?e.querySelector(t):t;return i.textContent="",i}(c,n,this.componentDef.encapsulation):po(s.createRenderer(null,this.componentDef),l,function(e){var t=e.toLowerCase();return"svg"===t?Jt:"math"===t?"http://www.w3.org/1998/MathML/":null}(l)),d=this.componentDef.onPush?576:528,f={components:[],scheduler:no,clean:Fa,playerHandler:null,flags:0},p=pa(0,null,null,1,0,null,null,null,null,null),v=ia(null,p,f,d,null,null,s,c,u,a);Fn(v);try{var g=function(e,t,n,i,r,o){var a=n[1];n[20]=e;var s=ra(a,20,2,"#host",null),u=s.mergedAttrs=t.hostAttrs;null!==u&&(Wa(s,u,!0),null!==e&&(ti(r,e,u),null!==s.classes&&Do(r,e,s.classes),null!==s.styles&&Ro(r,e,s.styles)));var c=i.createRenderer(e,t),l=ia(n,fa(t),null,t.onPush?64:16,n[20],s,i,c,null,null);return a.firstCreatePass&&(gi(di(s,n),a,t.type),wa(a,s),xa(s,n.length,1)),Ra(n,l),n[20]=l}(h,this.componentDef,v,s,c);if(h)if(n)ti(c,h,["ng-version",ac.full]);else{var m=function(e){for(var t=[],n=[],i=1,r=2;i0&&Do(c,h,b.join(" "))}if(o=sn(p,20),void 0!==t)for(var _=o.projection=[],w=0;w1&&void 0!==arguments[1]?arguments[1]:ss.THROW_IF_NOT_FOUND,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:at.Default;return e===ss||e===Rc||e===Xa?this:this._r3Injector.get(e,t,n)}},{key:"destroy",value:function(){var e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(function(e){return e()}),this.destroyCbs=null}},{key:"onDestroy",value:function(e){this.destroyCbs.push(e)}}]),n}(Rc),Yc=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).moduleType=e,null!==Lt(e)&&function(e){var t=new Set;!function e(n){var i=Lt(n,!0),r=i.id;null!==r&&(function(e,t,n){if(t&&t!==n)throw new Error("Duplicate module registered for ".concat(e," - ").concat(Ve(t)," vs ").concat(Ve(t.name)))}(r,qc.get(r),n),qc.set(r,n));var o,a=_(oo(i.imports));try{for(a.s();!(o=a.n()).done;){var s=o.value;t.has(s)||(t.add(s),e(s))}}catch(u){a.e(u)}finally{a.f()}}(e)}(e),i}return b(n,[{key:"create",value:function(e){return new Xc(this.moduleType,e)}}]),n}(function(){return function e(){m(this,e)}}());function Kc(e,t,n){var i=On()+e,r=mn();return r[i]===Xo?bs(r,i,n?t.call(n):t()):function(e,t){return e[t]}(r,i)}function $c(e,t,n,i){return Zc(mn(),On(),e,t,n,i)}function Qc(e,t){var n=e[t];return n===Xo?void 0:n}function Zc(e,t,n,i,r,o){var a=t+n;return _s(e,a,r)?bs(e,a+1,o?i.call(o,r):i(r)):Qc(e,a+1)}function Jc(e,t){var n,i=yn(),r=e+20;i.firstCreatePass?(n=function(e,t){if(t)for(var n=t.length-1;n>=0;n--){var i=t[n];if(e===i.name)return i}throw new qe("302","The pipe '".concat(e,"' could not be found!"))}(t,i.pipeRegistry),i.data[r]=n,n.onDestroy&&(i.destroyHooks||(i.destroyHooks=[])).push(r,n.onDestroy)):n=i.data[r];var o=n.factory||(n.factory=Gt(n.type)),a=st(Os);try{var s=li(!1),u=o();return li(s),function(e,t,n,i){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=i}(i,mn(),r,u),u}finally{st(a)}}function el(e,t,n){var i=e+20,r=mn(),o=un(r,i);return il(r,nl(r,i)?Zc(r,On(),t,o.transform,n,o):o.transform(n))}function tl(e,t,n,i){var r=e+20,o=mn(),a=un(o,r);return il(o,nl(o,r)?function(e,t,n,i,r,o,a){var s=t+n;return ws(e,s,r,o)?bs(e,s+2,a?i.call(a,r,o):i(r,o)):Qc(e,s+2)}(o,On(),t,a.transform,n,i,a):a.transform(n,i))}function nl(e,t){return e[1].data[t].pure}function il(e,t){return gs.isWrapped(t)&&(t=gs.unwrap(t),e[Tn()]=Xo),t}function rl(e){return function(t){setTimeout(e,void 0,t)}}var ol=function(t){a(i,t);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return m(this,i),(e=n.call(this)).__isAsync=t,e}return b(i,[{key:"emit",value:function(t){e(p(i.prototype),"next",this).call(this,t)}},{key:"subscribe",value:function(t,n,r){var o,a,s,u=t,c=n||function(){return null},l=r;if(t&&"object"==typeof t){var h=t;u=null===(o=h.next)||void 0===o?void 0:o.bind(h),c=null===(a=h.error)||void 0===a?void 0:a.bind(h),l=null===(s=h.complete)||void 0===s?void 0:s.bind(h)}this.__isAsync&&(c=rl(c),u&&(u=rl(u)),l&&(l=rl(l)));var d=e(p(i.prototype),"subscribe",this).call(this,{next:u,error:c,complete:l});return t instanceof q&&t.add(d),d}}]),i}(ae);function al(){return this._results[vs()]()}var sl=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];m(this,e),this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;var n=vs(),i=e.prototype;i[n]||(i[n]=al)}return b(e,[{key:"changes",get:function(){return this._changes||(this._changes=new ol)}},{key:"get",value:function(e){return this._results[e]}},{key:"map",value:function(e){return this._results.map(e)}},{key:"filter",value:function(e){return this._results.filter(e)}},{key:"find",value:function(e){return this._results.find(e)}},{key:"reduce",value:function(e,t){return this._results.reduce(e,t)}},{key:"forEach",value:function(e){this._results.forEach(e)}},{key:"some",value:function(e){return this._results.some(e)}},{key:"toArray",value:function(){return this._results.slice()}},{key:"toString",value:function(){return this._results.toString()}},{key:"reset",value:function(e,t){var n=this;n.dirty=!1;var i=Ni(e);(this._changesDetected=!function(e,t,n){if(e.length!==t.length)return!1;for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:[];m(this,e),this.queries=t}return b(e,[{key:"createEmbeddedView",value:function(t){var n=t.queries;if(null!==n){for(var i=null!==t.contentQueries?t.contentQueries[0]:n.length,r=[],o=0;o2&&void 0!==arguments[2]?arguments[2]:null;m(this,e),this.predicate=t,this.flags=n,this.read=i},hl=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];m(this,e),this.queries=t}return b(e,[{key:"elementStart",value:function(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:-1;m(this,e),this.metadata=t,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=n}return b(e,[{key:"elementStart",value:function(e,t){this.isApplyingToNode(t)&&this.matchTNode(e,t)}},{key:"elementEnd",value:function(e){this._declarationNodeIndex===e.index&&(this._appliesToNextNode=!1)}},{key:"template",value:function(e,t){this.elementStart(e,t)}},{key:"embeddedTView",value:function(t,n){return this.isApplyingToNode(t)?(this.crossesNgTemplate=!0,this.addMatch(-t.index,n),new e(this.metadata)):null}},{key:"isApplyingToNode",value:function(e){if(this._appliesToNextNode&&1!=(1&this.metadata.flags)){for(var t=this._declarationNodeIndex,n=e.parent;null!==n&&8&n.type&&n.index!==t;)n=n.parent;return t===(null!==n?n.index:-1)}return this._appliesToNextNode}},{key:"matchTNode",value:function(e,t){var n=this.metadata.predicate;if(Array.isArray(n))for(var i=0;i0)i.push(a[s/2]);else{for(var c=o[s+1],l=t[-u],h=10;h0&&(r=setTimeout(function(){i._callbacks=i._callbacks.filter(function(e){return e.timeoutId!==r}),e(i._didWork,i.getPendingTasks())},t)),this._callbacks.push({doneCb:e,timeoutId:r,updateCb:n})}},{key:"whenStable",value:function(e,t,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(e,t,n),this._runCallbacksIfReady()}},{key:"getPendingRequestCount",value:function(){return this._pendingCount}},{key:"findProviders",value:function(e,t,n){return[]}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),nh=function(){var e=function(){function e(){m(this,e),this._applications=new Map,ih.addToWindow(this)}return b(e,[{key:"registerApplication",value:function(e,t){this._applications.set(e,t)}},{key:"unregisterApplication",value:function(e){this._applications.delete(e)}},{key:"unregisterAllApplications",value:function(){this._applications.clear()}},{key:"getTestability",value:function(e){return this._applications.get(e)||null}},{key:"getAllTestabilities",value:function(){return Array.from(this._applications.values())}},{key:"getAllRootElements",value:function(){return Array.from(this._applications.keys())}},{key:"findTestabilityInTree",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return ih.findTestabilityInTree(this,e,t)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),ih=new(function(){function e(){m(this,e)}return b(e,[{key:"addToWindow",value:function(e){}},{key:"findTestabilityInTree",value:function(e,t,n){return null}}]),e}()),rh=!0,oh=!1;function ah(){return oh=!0,rh}var sh=new Ri("AllowMultipleToken");function uh(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i="Platform: ".concat(t),r=new Ri(i);return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=ch();if(!o||o.injector.get(sh,!1))if(e)e(n.concat(t).concat({provide:r,useValue:!0}));else{var a=n.concat(t).concat({provide:r,useValue:!0},{provide:Ka,useValue:"platform"});!function(e){if(Jl&&!Jl.destroyed&&!Jl.injector.get(sh,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");Jl=e.get(lh);var t=e.get(Al,null);t&&t.forEach(function(e){return e()})}(ss.create({providers:a,name:i}))}return function(e){var t=ch();if(!t)throw new Error("No platform exists!");if(!t.injector.get(e,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return t}(r)}}function ch(){return Jl&&!Jl.destroyed?Jl:null}var lh=function(){var e=function(){function e(t){m(this,e),this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}return b(e,[{key:"bootstrapModuleFactory",value:function(e,t){var n=this,i=function(e,t){return"noop"===e?new eh:("zone.js"===e?void 0:e)||new Xl({enableLongStackTrace:ah(),shouldCoalesceEventChangeDetection:!!(null==t?void 0:t.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==t?void 0:t.ngZoneRunCoalescing)})}(t?t.ngZone:void 0,{ngZoneEventCoalescing:t&&t.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:t&&t.ngZoneRunCoalescing||!1}),r=[{provide:Xl,useValue:i}];return i.run(function(){var o=ss.create({providers:r,parent:n.injector,name:e.moduleType.name}),a=e.create(o),s=a.injector.get(to,null);if(!s)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return i.runOutsideAngular(function(){var e=i.onError.subscribe({next:function(e){s.handleError(e)}});a.onDestroy(function(){fh(n._modules,a),e.unsubscribe()})}),function(e,i,r){try{var o=function(){var e=a.injector.get(El);return e.runInitializers(),e.donePromise.then(function(){return Bu(a.injector.get(Dl,Fu)||Fu),n._moduleDoBootstrap(a),a})}();return js(o)?o.catch(function(t){throw i.runOutsideAngular(function(){return e.handleError(t)}),t}):o}catch(t){throw i.runOutsideAngular(function(){return e.handleError(t)}),t}}(s,i)})}},{key:"bootstrapModule",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=hh({},n);return function(e,t,n){var i=new Yc(n);return Promise.resolve(i)}(0,0,e).then(function(e){return t.bootstrapModuleFactory(e,i)})}},{key:"_moduleDoBootstrap",value:function(e){var t=e.injector.get(dh);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(function(e){return t.bootstrap(e)});else{if(!e.instance.ngDoBootstrap)throw new Error("The module ".concat(Ve(e.instance.constructor),' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.'));e.instance.ngDoBootstrap(t)}this._modules.push(e)}},{key:"onDestroy",value:function(e){this._destroyListeners.push(e)}},{key:"injector",get:function(){return this._injector}},{key:"destroy",value:function(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(function(e){return e.destroy()}),this._destroyListeners.forEach(function(e){return e()}),this._destroyed=!0}},{key:"destroyed",get:function(){return this._destroyed}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ss))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}();function hh(e,t){return Array.isArray(t)?t.reduce(hh,e):Object.assign(Object.assign({},e),t)}var dh=function(){var e=function(){function e(t,n,i,r,o){var a=this;m(this,e),this._zone=t,this._injector=n,this._exceptionHandler=i,this._componentFactoryResolver=r,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:function(){a._zone.run(function(){a.tick()})}});var s=new te(function(e){a._stable=a._zone.isStable&&!a._zone.hasPendingMacrotasks&&!a._zone.hasPendingMicrotasks,a._zone.runOutsideAngular(function(){e.next(a._stable),e.complete()})}),u=new te(function(e){var t;a._zone.runOutsideAngular(function(){t=a._zone.onStable.subscribe(function(){Xl.assertNotInAngularZone(),ql(function(){!a._stable&&!a._zone.hasPendingMacrotasks&&!a._zone.hasPendingMicrotasks&&(a._stable=!0,e.next(!0))})})});var n=a._zone.onUnstable.subscribe(function(){Xl.assertInAngularZone(),a._stable&&(a._stable=!1,a._zone.runOutsideAngular(function(){e.next(!1)}))});return function(){t.unsubscribe(),n.unsubscribe()}});this.isStable=Oe(s,u.pipe(je()))}return b(e,[{key:"bootstrap",value:function(e,t){var n,i=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");n=e instanceof Yu?e:this._componentFactoryResolver.resolveComponentFactory(e),this.componentTypes.push(n.componentType);var r=function(e){return e.isBoundToModule}(n)?void 0:this._injector.get(Rc),o=n.create(ss.NULL,[],t||n.selector,r),a=o.location.nativeElement,s=o.injector.get(th,null),u=s&&o.injector.get(nh);return s&&u&&u.registerApplication(a,s),o.onDestroy(function(){i.detachView(o.hostView),fh(i.components,o),u&&u.unregisterApplication(a)}),this._loadComponent(o),o}},{key:"tick",value:function(){var e=this;if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;var t,n=_(this._views);try{for(n.s();!(t=n.n()).done;){var i;t.value.detectChanges()}}catch(r){n.e(r)}finally{n.f()}}catch(i){this._zone.runOutsideAngular(function(){return e._exceptionHandler.handleError(i)})}finally{this._runningTick=!1}}},{key:"attachView",value:function(e){var t=e;this._views.push(t),t.attachToAppRef(this)}},{key:"detachView",value:function(e){var t=e;fh(this._views,t),t.detachFromAppRef()}},{key:"_loadComponent",value:function(e){this.attachView(e.hostView),this.tick(),this.components.push(e),this._injector.get(Il,[]).concat(this._bootstrapListeners).forEach(function(t){return t(e)})}},{key:"ngOnDestroy",value:function(){this._views.slice().forEach(function(e){return e.destroy()}),this._onMicrotaskEmptySubscription.unsubscribe()}},{key:"viewCount",get:function(){return this._views.length}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl),Zi(ss),Zi(to),Zi(Ku),Zi(El))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}();function fh(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)}var ph=uh(null,"core",[{provide:Ml,useValue:"unknown"},{provide:lh,deps:[ss]},{provide:nh,deps:[]},{provide:Rl,deps:[]}]),vh=[{provide:dh,useClass:dh,deps:[Xl,ss,to,Ku,El]},{provide:Hc,deps:[Xl],useFactory:function(e){var t=[];return e.onStable.subscribe(function(){for(;t.length;)t.pop()()}),function(e){t.push(e)}}},{provide:El,useClass:El,deps:[[new sr,Cl]]},{provide:Hl,useClass:Hl,deps:[]},Tl,{provide:yc,useFactory:function(){return Oc},deps:[]},{provide:_c,useFactory:function(){return Tc},deps:[]},{provide:Dl,useFactory:function(e){return Bu(e=e||"undefined"!=typeof $localize&&$localize.locale||Fu),e},deps:[[new ar(Dl),new sr,new ur]]},{provide:Nl,useValue:"USD"}],gh=function(){var e=function e(t){m(this,e)};return e.\u0275fac=function(t){return new(t||e)(Zi(dh))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:vh}),e}(),mh=null;function yh(){return mh}var bh=new Ri("DocumentToken"),_h=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"historyGo",value:function(e){throw new Error("Not implemented")}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({factory:wh,token:e,providedIn:"platform"}),e}();function wh(){return Zi(kh)}var kh=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this))._doc=e,i._init(),i}return b(n,[{key:"_init",value:function(){this.location=window.location,this._history=window.history}},{key:"getBaseHrefFromDOM",value:function(){return yh().getBaseHref(this._doc)}},{key:"onPopState",value:function(e){var t=yh().getGlobalEventTarget(this._doc,"window");return t.addEventListener("popstate",e,!1),function(){return t.removeEventListener("popstate",e)}}},{key:"onHashChange",value:function(e){var t=yh().getGlobalEventTarget(this._doc,"window");return t.addEventListener("hashchange",e,!1),function(){return t.removeEventListener("hashchange",e)}}},{key:"href",get:function(){return this.location.href}},{key:"protocol",get:function(){return this.location.protocol}},{key:"hostname",get:function(){return this.location.hostname}},{key:"port",get:function(){return this.location.port}},{key:"pathname",get:function(){return this.location.pathname},set:function(e){this.location.pathname=e}},{key:"search",get:function(){return this.location.search}},{key:"hash",get:function(){return this.location.hash}},{key:"pushState",value:function(e,t,n){xh()?this._history.pushState(e,t,n):this.location.hash=n}},{key:"replaceState",value:function(e,t,n){xh()?this._history.replaceState(e,t,n):this.location.hash=n}},{key:"forward",value:function(){this._history.forward()}},{key:"back",value:function(){this._history.back()}},{key:"historyGo",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._history.go(e)}},{key:"getState",value:function(){return this._history.state}}]),n}(_h);return e.\u0275fac=function(t){return new(t||e)(Zi(bh))},e.\u0275prov=$e({factory:Sh,token:e,providedIn:"platform"}),e}();function xh(){return!!window.history.pushState}function Sh(){return new kh(Zi(bh))}function Ch(e,t){if(0==e.length)return t;if(0==t.length)return e;var n=0;return e.endsWith("/")&&n++,t.startsWith("/")&&n++,2==n?e+t.substring(1):1==n?e+t:e+"/"+t}function Eh(e){var t=e.match(/#|\?|$/),n=t&&t.index||e.length;return e.slice(0,n-("/"===e[n-1]?1:0))+e.slice(n)}function Oh(e){return e&&"?"!==e[0]?"?"+e:e}var Th=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"historyGo",value:function(e){throw new Error("Not implemented")}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({factory:Ph,token:e,providedIn:"root"}),e}();function Ph(e){var t=Zi(bh).location;return new Mh(Zi(_h),t&&t.origin||"")}var Ah=new Ri("appBaseHref"),Mh=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;if(m(this,n),(r=t.call(this))._platformLocation=e,r._removeListenerFns=[],null==i&&(i=r._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");return r._baseHref=i,u(r)}return b(n,[{key:"ngOnDestroy",value:function(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}},{key:"onPopState",value:function(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}},{key:"getBaseHref",value:function(){return this._baseHref}},{key:"prepareExternalUrl",value:function(e){return Ch(this._baseHref,e)}},{key:"path",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this._platformLocation.pathname+Oh(this._platformLocation.search),n=this._platformLocation.hash;return n&&e?"".concat(t).concat(n):t}},{key:"pushState",value:function(e,t,n,i){var r=this.prepareExternalUrl(n+Oh(i));this._platformLocation.pushState(e,t,r)}},{key:"replaceState",value:function(e,t,n,i){var r=this.prepareExternalUrl(n+Oh(i));this._platformLocation.replaceState(e,t,r)}},{key:"forward",value:function(){this._platformLocation.forward()}},{key:"back",value:function(){this._platformLocation.back()}},{key:"historyGo",value:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;null===(t=(e=this._platformLocation).historyGo)||void 0===t||t.call(e,n)}}]),n}(Th);return e.\u0275fac=function(t){return new(t||e)(Zi(_h),Zi(Ah,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Ih=function(){var e=function(){function e(t,n){var i=this;m(this,e),this._subject=new ol,this._urlChangeListeners=[],this._platformStrategy=t;var r=this._platformStrategy.getBaseHref();this._platformLocation=n,this._baseHref=Eh(Dh(r)),this._platformStrategy.onPopState(function(e){i._subject.emit({url:i.path(!0),pop:!0,state:e.state,type:e.type})})}return b(e,[{key:"path",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.normalize(this._platformStrategy.path(e))}},{key:"getState",value:function(){return this._platformLocation.getState()}},{key:"isCurrentPathEqualTo",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return this.path()==this.normalize(e+Oh(t))}},{key:"normalize",value:function(t){return e.stripTrailingSlash(function(e,t){return e&&t.startsWith(e)?t.substring(e.length):t}(this._baseHref,Dh(t)))}},{key:"prepareExternalUrl",value:function(e){return e&&"/"!==e[0]&&(e="/"+e),this._platformStrategy.prepareExternalUrl(e)}},{key:"go",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this._platformStrategy.pushState(n,"",e,t),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Oh(t)),n)}},{key:"replaceState",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this._platformStrategy.replaceState(n,"",e,t),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Oh(t)),n)}},{key:"forward",value:function(){this._platformStrategy.forward()}},{key:"back",value:function(){this._platformStrategy.back()}},{key:"historyGo",value:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;null===(t=(e=this._platformStrategy).historyGo)||void 0===t||t.call(e,n)}},{key:"onUrlChange",value:function(e){var t=this;this._urlChangeListeners.push(e),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(function(e){t._notifyUrlChangeListeners(e.url,e.state)}))}},{key:"_notifyUrlChangeListeners",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;this._urlChangeListeners.forEach(function(n){return n(e,t)})}},{key:"subscribe",value:function(e,t,n){return this._subject.subscribe({next:e,error:t,complete:n})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Th),Zi(_h))},e.normalizeQueryParams=Oh,e.joinWithSlash=Ch,e.stripTrailingSlash=Eh,e.\u0275prov=$e({factory:Rh,token:e,providedIn:"root"}),e}();function Rh(){return new Ih(Zi(Th),Zi(_h))}function Dh(e){return e.replace(/\/index.html$/,"")}var Nh=((Nh=Nh||{})[Nh.Decimal=0]="Decimal",Nh[Nh.Percent=1]="Percent",Nh[Nh.Currency=2]="Currency",Nh[Nh.Scientific=3]="Scientific",Nh),Lh=((Lh=Lh||{})[Lh.Zero=0]="Zero",Lh[Lh.One=1]="One",Lh[Lh.Two=2]="Two",Lh[Lh.Few=3]="Few",Lh[Lh.Many=4]="Many",Lh[Lh.Other=5]="Other",Lh),jh=((jh=jh||{})[jh.Decimal=0]="Decimal",jh[jh.Group=1]="Group",jh[jh.List=2]="List",jh[jh.PercentSign=3]="PercentSign",jh[jh.PlusSign=4]="PlusSign",jh[jh.MinusSign=5]="MinusSign",jh[jh.Exponential=6]="Exponential",jh[jh.SuperscriptingExponent=7]="SuperscriptingExponent",jh[jh.PerMille=8]="PerMille",jh[jh.Infinity=9]="Infinity",jh[jh.NaN=10]="NaN",jh[jh.TimeSeparator=11]="TimeSeparator",jh[jh.CurrencyDecimal=12]="CurrencyDecimal",jh[jh.CurrencyGroup=13]="CurrencyGroup",jh);function Fh(e,t){var n=Nu(e),i=n[ju.NumberSymbols][t];if(void 0===i){if(t===jh.CurrencyDecimal)return n[ju.NumberSymbols][jh.Decimal];if(t===jh.CurrencyGroup)return n[ju.NumberSymbols][jh.Group]}return i}var Bh=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function Vh(e){var t=parseInt(e);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+e);return t}var zh=function e(){m(this,e)},Uh=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).locale=e,i}return b(n,[{key:"getPluralCategory",value:function(e,t){switch(function(e){return Nu(e)[ju.PluralCase]}(t||this.locale)(e)){case Lh.Zero:return"zero";case Lh.One:return"one";case Lh.Two:return"two";case Lh.Few:return"few";case Lh.Many:return"many";default:return"other"}}}]),n}(zh);return e.\u0275fac=function(t){return new(t||e)(Zi(Dl))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}();function Hh(e,n){n=encodeURIComponent(n);var i,r=_(e.split(";"));try{for(r.s();!(i=r.n()).done;){var o=i.value,a=o.indexOf("="),s=t(-1==a?[o,""]:[o.slice(0,a),o.slice(a+1)],2),u=s[0],c=s[1];if(u.trim()===n)return decodeURIComponent(c)}}catch(l){r.e(l)}finally{r.f()}return null}var Gh=function(){var e=function(){function e(t,n,i,r){m(this,e),this._iterableDiffers=t,this._keyValueDiffers=n,this._ngEl=i,this._renderer=r,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}return b(e,[{key:"klass",set:function(e){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof e?e.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}},{key:"ngClass",set:function(e){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof e?e.split(/\s+/):e,this._rawClass&&(ms(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}},{key:"ngDoCheck",value:function(){if(this._iterableDiffer){var e=this._iterableDiffer.diff(this._rawClass);e&&this._applyIterableChanges(e)}else if(this._keyValueDiffer){var t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}},{key:"_applyKeyValueChanges",value:function(e){var t=this;e.forEachAddedItem(function(e){return t._toggleClass(e.key,e.currentValue)}),e.forEachChangedItem(function(e){return t._toggleClass(e.key,e.currentValue)}),e.forEachRemovedItem(function(e){e.previousValue&&t._toggleClass(e.key,!1)})}},{key:"_applyIterableChanges",value:function(e){var t=this;e.forEachAddedItem(function(e){if("string"!=typeof e.item)throw new Error("NgClass can only toggle CSS classes expressed as strings, got ".concat(Ve(e.item)));t._toggleClass(e.item,!0)}),e.forEachRemovedItem(function(e){return t._toggleClass(e.item,!1)})}},{key:"_applyClasses",value:function(e){var t=this;e&&(Array.isArray(e)||e instanceof Set?e.forEach(function(e){return t._toggleClass(e,!0)}):Object.keys(e).forEach(function(n){return t._toggleClass(n,!!e[n])}))}},{key:"_removeClasses",value:function(e){var t=this;e&&(Array.isArray(e)||e instanceof Set?e.forEach(function(e){return t._toggleClass(e,!1)}):Object.keys(e).forEach(function(e){return t._toggleClass(e,!1)}))}},{key:"_toggleClass",value:function(e,t){var n=this;(e=e.trim())&&e.split(/\s+/g).forEach(function(e){t?n._renderer.addClass(n._ngEl.nativeElement,e):n._renderer.removeClass(n._ngEl.nativeElement,e)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yc),Os(_c),Os(Ju),Os(nc))},e.\u0275dir=Rt({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),e}(),Wh=function(){function e(t,n,i,r){m(this,e),this.$implicit=t,this.ngForOf=n,this.index=i,this.count=r}return b(e,[{key:"first",get:function(){return 0===this.index}},{key:"last",get:function(){return this.index===this.count-1}},{key:"even",get:function(){return this.index%2==0}},{key:"odd",get:function(){return!this.even}}]),e}(),qh=function(){var e=function(){function e(t,n,i){m(this,e),this._viewContainer=t,this._template=n,this._differs=i,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}return b(e,[{key:"ngForOf",set:function(e){this._ngForOf=e,this._ngForOfDirty=!0}},{key:"ngForTrackBy",get:function(){return this._trackByFn},set:function(e){this._trackByFn=e}},{key:"ngForTemplate",set:function(e){e&&(this._template=e)}},{key:"ngDoCheck",value:function(){if(this._ngForOfDirty){this._ngForOfDirty=!1;var e=this._ngForOf;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(n){throw new Error("Cannot find a differ supporting object '".concat(e,"' of type '").concat(function(e){return e.name||typeof e}(e),"'. NgFor only supports binding to Iterables such as Arrays."))}}if(this._differ){var t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}},{key:"_applyChanges",value:function(e){var t=this,n=[];e.forEachOperation(function(e,i,r){if(null==e.previousIndex){var o=t._viewContainer.createEmbeddedView(t._template,new Wh(null,t._ngForOf,-1,-1),null===r?void 0:r),a=new Xh(e,o);n.push(a)}else if(null==r)t._viewContainer.remove(null===i?void 0:i);else if(null!==i){var s=t._viewContainer.get(i);t._viewContainer.move(s,r);var u=new Xh(e,s);n.push(u)}});for(var i=0;i6&&void 0!==arguments[6]&&arguments[6],s="",u=!1;if(isFinite(e)){var c=function(e){var t,n,i,r,o,a=Math.abs(e)+"",s=0;for((n=a.indexOf("."))>-1&&(a=a.replace(".","")),(i=a.search(/e/i))>0?(n<0&&(n=i),n+=+a.slice(i+1),a=a.substring(0,i)):n<0&&(n=a.length),i=0;"0"===a.charAt(i);i++);if(i===(o=a.length))t=[0],n=1;else{for(o--;"0"===a.charAt(o);)o--;for(n-=i,t=[],r=0;i<=o;i++,r++)t[r]=Number(a.charAt(i))}return n>22&&(t=t.splice(0,21),s=n-1,n=1),{digits:t,exponent:s,integerLen:n}}(e);a&&(c=function(e){if(0===e.digits[0])return e;var t=e.digits.length-e.integerLen;return e.exponent?e.exponent+=2:(0===t?e.digits.push(0,0):1===t&&e.digits.push(0),e.integerLen+=2),e}(c));var l=t.minInt,h=t.minFrac,d=t.maxFrac;if(o){var f=o.match(Bh);if(null===f)throw new Error("".concat(o," is not a valid digit info"));var p=f[1],v=f[3],g=f[5];null!=p&&(l=Vh(p)),null!=v&&(h=Vh(v)),null!=g?d=Vh(g):null!=v&&h>d&&(d=h)}!function(e,t,n){if(t>n)throw new Error("The minimum number of digits after fraction (".concat(t,") is higher than the maximum (").concat(n,")."));var i=e.digits,r=i.length-e.integerLen,o=Math.min(Math.max(t,r),n),a=o+e.integerLen,s=i[a];if(a>0){i.splice(Math.max(e.integerLen,a));for(var u=a;u=5)if(a-1<0){for(var l=0;l>a;l--)i.unshift(0),e.integerLen++;i.unshift(1),e.integerLen++}else i[a-1]++;for(;r=d?i.pop():h=!1),t>=10?1:0},0);f&&(i.unshift(f),e.integerLen++)}(c,h,d);var m=c.digits,y=c.integerLen,b=c.exponent,_=[];for(u=m.every(function(e){return!e});y0?_=m.splice(y,m.length):(_=m,m=[0]);var w=[];for(m.length>=t.lgSize&&w.unshift(m.splice(-t.lgSize,m.length).join(""));m.length>t.gSize;)w.unshift(m.splice(-t.gSize,m.length).join(""));m.length&&w.unshift(m.join("")),s=w.join(Fh(n,i)),_.length&&(s+=Fh(n,r)+_.join("")),b&&(s+=Fh(n,jh.Exponential)+"+"+b)}else s=Fh(n,jh.Infinity);return s=e<0&&!u?t.negPre+s+t.negSuf:t.posPre+s+t.posSuf}(e,function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"-",n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=e.split(";"),r=i[0],o=i[1],a=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],s=a[0],u=a[1]||"";n.posPre=s.substr(0,s.indexOf("#"));for(var c=0;c1&&void 0!==arguments[1])||arguments[1],i=e.findTestabilityInTree(t,n);if(null==i)throw new Error("Could not find testability for element.");return i},gt.getAllAngularTestabilities=function(){return e.getAllTestabilities()},gt.getAllAngularRootElements=function(){return e.getAllRootElements()},gt.frameworkStabilizers||(gt.frameworkStabilizers=[]),gt.frameworkStabilizers.push(function(e){var t=gt.getAllAngularTestabilities(),n=t.length,i=!1,r=function(t){i=i||t,0==--n&&e(i)};t.forEach(function(e){e.whenStable(r)})})}},{key:"findTestabilityInTree",value:function(e,t,n){if(null==t)return null;var i=e.getTestability(t);return null!=i?i:n?yh().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}],[{key:"init",value:function(){!function(e){ih=e}(new e)}}]),e}(),bd=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"build",value:function(){return new XMLHttpRequest}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),_d=new Ri("EventManagerPlugins"),wd=function(){var e=function(){function e(t,n){var i=this;m(this,e),this._zone=n,this._eventNameToPlugin=new Map,t.forEach(function(e){return e.manager=i}),this._plugins=t.slice().reverse()}return b(e,[{key:"addEventListener",value:function(e,t,n){return this._findPluginFor(t).addEventListener(e,t,n)}},{key:"addGlobalEventListener",value:function(e,t,n){return this._findPluginFor(t).addGlobalEventListener(e,t,n)}},{key:"getZone",value:function(){return this._zone}},{key:"_findPluginFor",value:function(e){var t=this._eventNameToPlugin.get(e);if(t)return t;for(var n=this._plugins,i=0;i-1&&(t.splice(n,1),o+=e+".")}),o+=r,0!=t.length||0===r.length)return null;var a={};return a.domEventName=i,a.fullKey=o,a}},{key:"getEventFullKey",value:function(e){var t="",n=function(e){var t=e.key;if(null==t){if(null==(t=e.keyIdentifier))return"Unidentified";t.startsWith("U+")&&(t=String.fromCharCode(parseInt(t.substring(2),16)),3===e.location&&jd.hasOwnProperty(t)&&(t=jd[t]))}return Ld[t]||t}(e);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),Nd.forEach(function(i){i!=n&&Fd[i](e)&&(t+=i+".")}),t+=n}},{key:"eventCallback",value:function(e,t,i){return function(r){n.getEventFullKey(r)===e&&i.runGuarded(function(){return t(r)})}}},{key:"_normalizeKey",value:function(e){switch(e){case"esc":return"escape";default:return e}}}]),n}(kd);return e.\u0275fac=function(t){return new(t||e)(Zi(bh))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Vd=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({factory:function(){return Zi(zd)},token:e,providedIn:"root"}),e}(),zd=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this))._doc=e,i}return b(n,[{key:"sanitize",value:function(e,t){if(null==t)return null;switch(e){case Wr.NONE:return t;case Wr.HTML:return _r(t,"HTML")?br(t):Hr(this._doc,String(t)).toString();case Wr.STYLE:return _r(t,"Style")?br(t):t;case Wr.SCRIPT:if(_r(t,"Script"))return br(t);throw new Error("unsafe value used in a script context");case Wr.URL:return wr(t),_r(t,"URL")?br(t):Er(String(t));case Wr.RESOURCE_URL:if(_r(t,"ResourceURL"))return br(t);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error("Unexpected SecurityContext ".concat(e," (see https://g.co/ng/security#xss)"))}}},{key:"bypassSecurityTrustHtml",value:function(e){return function(e){return new pr(e)}(e)}},{key:"bypassSecurityTrustStyle",value:function(e){return function(e){return new vr(e)}(e)}},{key:"bypassSecurityTrustScript",value:function(e){return function(e){return new gr(e)}(e)}},{key:"bypassSecurityTrustUrl",value:function(e){return function(e){return new mr(e)}(e)}},{key:"bypassSecurityTrustResourceUrl",value:function(e){return function(e){return new yr(e)}(e)}}]),n}(Vd);return e.\u0275fac=function(t){return new(t||e)(Zi(bh))},e.\u0275prov=$e({factory:function(){return function(e){return new zd(e.get(bh))}(Zi(Xa))},token:e,providedIn:"root"}),e}(),Ud=uh(ph,"browser",[{provide:Ml,useValue:ld},{provide:Al,useValue:function(){pd.makeCurrent(),yd.init()},multi:!0},{provide:bh,useFactory:function(){return function(e){Zt=e}(document),document},deps:[]}]),Hd=[[],{provide:Ka,useValue:"root"},{provide:to,useFactory:function(){return new to},deps:[]},{provide:_d,useClass:Dd,multi:!0,deps:[bh,Xl,Ml]},{provide:_d,useClass:Bd,multi:!0,deps:[bh]},[],{provide:Ad,useClass:Ad,deps:[wd,Sd,Ol]},{provide:tc,useExisting:Ad},{provide:xd,useExisting:Sd},{provide:Sd,useClass:Sd,deps:[bh]},{provide:th,useClass:th,deps:[Xl]},{provide:wd,useClass:wd,deps:[_d,Xl]},{provide:fd,useClass:bd,deps:[]},[]],Gd=function(){var e=function(){function e(t){if(m(this,e),t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}return b(e,null,[{key:"withServerTransition",value:function(t){return{ngModule:e,providers:[{provide:Ol,useValue:t.appId},{provide:gd,useExisting:Ol},md]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(e,12))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:Hd,imports:[cd,gh]}),e}();function Wd(e){return null!=e&&"false"!="".concat(e)}function qd(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return function(e){return!isNaN(parseFloat(e))&&!isNaN(Number(e))}(e)?Number(e):t}function Xd(e){return Array.isArray(e)?e:[e]}function Yd(e){return null==e?"":"string"==typeof e?e:"".concat(e,"px")}function Kd(e){return e instanceof Ju?e.nativeElement:e}function $d(){for(var e=arguments.length,t=new Array(e),n=0;n1?Array.prototype.slice.call(arguments):e)},i,n)})}function Zd(e,t,n,i,r){var o;if(function(e){return e&&"function"==typeof e.addEventListener&&"function"==typeof e.removeEventListener}(e)){var a=e;e.addEventListener(t,n,r),o=function(){return a.removeEventListener(t,n,r)}}else if(function(e){return e&&"function"==typeof e.on&&"function"==typeof e.off}(e)){var s=e;e.on(t,n),o=function(){return s.off(t,n)}}else if(function(e){return e&&"function"==typeof e.addListener&&"function"==typeof e.removeListener}(e)){var u=e;e.addListener(t,n),o=function(){return u.removeListener(t,n)}}else{if(!e||!e.length)throw new TypeError("Invalid event target");for(var c=0,l=e.length;c1&&void 0!==arguments[1]?arguments[1]:0;if(this.closed)return this;this.state=e;var n=this.id,i=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(i,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(i,this.id,t),this}},{key:"requestAsyncId",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return setInterval(e.flush.bind(e,this),n)}},{key:"recycleAsyncId",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==n&&this.delay===n&&!1===this.pending)return t;clearInterval(t)}},{key:"execute",value:function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}},{key:"_execute",value:function(e,t){var n,i=!1;try{this.work(e)}catch(r){i=!0,n=!!r&&r||new Error(r)}if(i)return this.unsubscribe(),n}},{key:"_unsubscribe",value:function(){var e=this.id,t=this.scheduler,n=t.actions,i=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==i&&n.splice(i,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}]),n}(function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this)}return b(n,[{key:"schedule",value:function(e){return this}}]),n}(q)),ef=function(){var e=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.now;m(this,e),this.SchedulerAction=t,this.now=n}return b(e,[{key:"schedule",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0;return new this.SchedulerAction(this,e).schedule(n,t)}}]),e}();return e.now=function(){return Date.now()},e}(),tf=function(t){a(i,t);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ef.now;return m(this,i),(t=n.call(this,e,function(){return i.delegate&&i.delegate!==c(t)?i.delegate.now():r()})).actions=[],t.active=!1,t.scheduled=void 0,t}return b(i,[{key:"schedule",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;return i.delegate&&i.delegate!==this?i.delegate.schedule(t,n,r):e(p(i.prototype),"schedule",this).call(this,t,n,r)}},{key:"flush",value:function(e){var t=this.actions;if(this.active)t.push(e);else{var 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}}}}]),i}(ef);new(function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"flush",value:function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,r=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i2&&void 0!==arguments[2]?arguments[2]:0;return null!==r&&r>0?e(p(i.prototype),"requestAsyncId",this).call(this,t,n,r):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(function(){return t.flush(null)})))}},{key:"recycleAsyncId",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==r&&r>0||null===r&&this.delay>0)return e(p(i.prototype),"recycleAsyncId",this).call(this,t,n,r);0===t.actions.length&&(cancelAnimationFrame(n),t.scheduled=void 0)}}]),i}(Jd));var nf=1,rf=Promise.resolve(),of={};function af(e){return e in of&&(delete of[e],!0)}var sf=function(e){var t=nf++;return of[t]=!0,rf.then(function(){return af(t)&&e()}),t},uf=function(e){af(e)};function cf(e){return!!e&&(e instanceof te||"function"==typeof e.lift&&"function"==typeof e.subscribe)}function lf(e,t){return function(n){return n.lift(new hf(e,t))}}new(function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"flush",value:function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,r=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i2&&void 0!==arguments[2]?arguments[2]:0;return null!==r&&r>0?e(p(i.prototype),"requestAsyncId",this).call(this,t,n,r):(t.actions.push(this),t.scheduled||(t.scheduled=sf(t.flush.bind(t,null))))}},{key:"recycleAsyncId",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==r&&r>0||null===r&&this.delay>0)return e(p(i.prototype),"recycleAsyncId",this).call(this,t,n,r);0===t.actions.length&&(uf(n),t.scheduled=void 0)}}]),i}(Jd));var hf=function(){function e(t,n){m(this,e),this.compare=t,this.keySelector=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new df(e,this.compare,this.keySelector))}}]),e}(),df=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).keySelector=r,o.hasKey=!1,"function"==typeof i&&(o.compare=i),o}return b(n,[{key:"compare",value:function(e,t){return e===t}},{key:"_next",value:function(e){var t;try{var n=this.keySelector;t=n?n(e):e}catch(n){return this.destination.error(n)}var i=!1;if(this.hasKey)try{i=(0,this.compare)(this.key,t)}catch(n){return this.destination.error(n)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}]),n}(K),ff=new tf(Jd),pf=function(){function e(t){m(this,e),this.durationSelector=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new vf(e,this.durationSelector))}}]),e}(),vf=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).durationSelector=i,r.hasValue=!1,r}return b(n,[{key:"_next",value:function(e){if(this.value=e,this.hasValue=!0,!this.throttled){var t;try{var n;t=(0,this.durationSelector)(e)}catch(n){return this.destination.error(n)}var i=we(t,new be(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}},{key:"clearThrottle",value:function(){var e=this.value,t=this.hasValue,n=this.throttled;n&&(this.remove(n),this.throttled=void 0,n.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}},{key:"notifyNext",value:function(){this.clearThrottle()}},{key:"notifyComplete",value:function(){this.clearThrottle()}}]),n}(_e);function gf(e){return!U(e)&&e-parseFloat(e)+1>=0}function mf(e){var t=e.index,n=e.period,i=e.subscriber;if(i.next(t),!i.closed){if(-1===n)return i.complete();e.index=t+1,this.schedule(e,n)}}function yf(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ff;return function(e){return function(t){return t.lift(new pf(e))}}(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=-1;return gf(t)?i=Number(t)<1?1:Number(t):ue(t)&&(n=t),ue(n)||(n=ff),new te(function(t){var r=gf(e)?e:+e-n.now();return n.schedule(mf,r,{index:0,period:i,subscriber:t})})}(e,t)})}function bf(e,t){return function(n){return n.lift(new _f(e,t))}}var _f=function(){function e(t,n){m(this,e),this.predicate=t,this.thisArg=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new wf(e,this.predicate,this.thisArg))}}]),e}(),wf=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).predicate=i,o.thisArg=r,o.count=0,o}return b(n,[{key:"_next",value:function(e){var t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}t&&this.destination.next(e)}}]),n}(K);function kf(e){return function(t){return t.lift(new xf(e))}}var xf=function(){function e(t){m(this,e),this.notifier=t}return b(e,[{key:"call",value:function(e,t){var n=new Sf(e),i=we(this.notifier,new be(n));return i&&!n.seenValue?(n.add(i),t.subscribe(n)):n}}]),e}(),Sf=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,e)).seenValue=!1,i}return b(n,[{key:"notifyNext",value:function(){this.seenValue=!0,this.complete()}},{key:"notifyComplete",value:function(){}}]),n}(_e);function Cf(){return Ce(1)($d.apply(void 0,arguments))}function Ef(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:0;return n>0?e(p(i.prototype),"schedule",this).call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)}},{key:"execute",value:function(t,n){return n>0||this.closed?e(p(i.prototype),"execute",this).call(this,t,n):this._execute(t,n)}},{key:"requestAsyncId",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return null!==r&&r>0||null===r&&this.delay>0?e(p(i.prototype),"requestAsyncId",this).call(this,t,n,r):t.flush(this)}}]),i}(Jd)),Mf=new te(function(e){return e.complete()});function If(e){return e?function(e){return new te(function(t){return e.schedule(function(){return t.complete()})})}(e):Mf}function Rf(e,t){return new te(t?function(n){return t.schedule(Df,0,{error:e,subscriber:n})}:function(t){return t.error(e)})}function Df(e){var t=e.error;e.subscriber.error(t)}var Nf=function(){function e(t,n,i){m(this,e),this.kind=t,this.value=n,this.error=i,this.hasValue="N"===t}return b(e,[{key:"observe",value:function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}},{key:"do",value:function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}}},{key:"accept",value:function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)}},{key:"toObservable",value:function(){switch(this.kind){case"N":return $d(this.value);case"E":return Rf(this.error);case"C":return If()}throw new Error("unexpected notification kind value")}}],[{key:"createNext",value:function(t){return void 0!==t?new e("N",t):e.undefinedValueNotification}},{key:"createError",value:function(t){return new e("E",void 0,t)}},{key:"createComplete",value:function(){return e.completeNotification}}]),e}();Nf.completeNotification=new Nf("C"),Nf.undefinedValueNotification=new Nf("N",void 0);var Lf,jf=function(e){a(n,e);var t=s(n);function n(e,i){var r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return m(this,n),(r=t.call(this,e)).scheduler=i,r.delay=o,r}return b(n,[{key:"scheduleMessage",value:function(e){this.destination.add(this.scheduler.schedule(n.dispatch,this.delay,new Ff(e,this.destination)))}},{key:"_next",value:function(e){this.scheduleMessage(Nf.createNext(e))}},{key:"_error",value:function(e){this.scheduleMessage(Nf.createError(e)),this.unsubscribe()}},{key:"_complete",value:function(){this.scheduleMessage(Nf.createComplete()),this.unsubscribe()}}],[{key:"dispatch",value:function(e){var t=e.notification,n=e.destination;t.observe(n),this.unsubscribe()}}]),n}(K),Ff=function e(t,n){m(this,e),this.notification=t,this.destination=n},Bf=function(t){a(i,t);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.POSITIVE_INFINITY,o=arguments.length>2?arguments[2]:void 0;return m(this,i),(e=n.call(this)).scheduler=o,e._events=[],e._infiniteTimeWindow=!1,e._bufferSize=t<1?1:t,e._windowTime=r<1?1:r,r===Number.POSITIVE_INFINITY?(e._infiniteTimeWindow=!0,e.next=e.nextInfiniteTimeWindow):e.next=e.nextTimeWindow,e}return b(i,[{key:"nextInfiniteTimeWindow",value:function(t){if(!this.isStopped){var n=this._events;n.push(t),n.length>this._bufferSize&&n.shift()}e(p(i.prototype),"next",this).call(this,t)}},{key:"nextTimeWindow",value:function(t){this.isStopped||(this._events.push(new Vf(this._getNow(),t)),this._trimBufferThenGetEvents()),e(p(i.prototype),"next",this).call(this,t)}},{key:"_subscribe",value:function(e){var t,n=this._infiniteTimeWindow,i=n?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,o=i.length;if(this.closed)throw new ie;if(this.isStopped||this.hasError?t=q.EMPTY:(this.observers.push(e),t=new re(this,e)),r&&e.add(e=new jf(e,r)),n)for(var a=0;at&&(o=Math.max(o,r-t)),o>0&&i.splice(0,o),i}}]),i}(ae),Vf=function e(t,n){m(this,e),this.time=t,this.value=n};function zf(e,t,n){var i;return i=e&&"object"==typeof e?e:{bufferSize:e,windowTime:t,refCount:!1,scheduler:n},function(e){return e.lift(function(e){var t,n,i=e.bufferSize,r=void 0===i?Number.POSITIVE_INFINITY:i,o=e.windowTime,a=void 0===o?Number.POSITIVE_INFINITY:o,s=e.refCount,u=e.scheduler,c=0,l=!1,h=!1;return function(e){var i;c++,!t||l?(l=!1,t=new Bf(r,a,u),i=t.subscribe(this),n=e.subscribe({next:function(e){t.next(e)},error:function(e){l=!0,t.error(e)},complete:function(){h=!0,n=void 0,t.complete()}}),h&&(n=void 0)):i=t.subscribe(this),this.add(function(){c--,i.unsubscribe(),i=void 0,n&&!h&&s&&0===c&&(n.unsubscribe(),n=void 0,t=void 0)})}}(i))}}try{Lf="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(G){Lf=!1}var Uf,Hf,Gf,Wf,qf=function(){var e=function e(t){m(this,e),this._platformId=t,this.isBrowser=this._platformId?hd(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Lf)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT};return e.\u0275fac=function(t){return new(t||e)(Zi(Ml))},e.\u0275prov=$e({factory:function(){return new e(Zi(Ml))},token:e,providedIn:"root"}),e}(),Xf=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),Yf=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function Kf(){if(Uf)return Uf;if("object"!=typeof document||!document)return Uf=new Set(Yf);var e=document.createElement("input");return Uf=new Set(Yf.filter(function(t){return e.setAttribute("type",t),e.type===t}))}function $f(e){return function(){if(null==Hf&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){return Hf=!0}}))}finally{Hf=Hf||!1}return Hf}()?e:!!e.capture}function Qf(e){if(function(){if(null==Wf){var e="undefined"!=typeof document?document.head:null;Wf=!(!e||!e.createShadowRoot&&!e.attachShadow)}return Wf}()){var t=e.getRootNode?e.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&t instanceof ShadowRoot)return t}return null}function Zf(){for(var e="undefined"!=typeof document&&document?document.activeElement:null;e&&e.shadowRoot;){var t=e.shadowRoot.activeElement;if(t===e)break;e=t}return e}function Jf(e){return e.composedPath?e.composedPath()[0]:e.target}var ep=new Ri("cdk-dir-doc",{providedIn:"root",factory:function(){return Ji(bh)}}),tp=function(){var e=function(){function e(t){if(m(this,e),this.value="ltr",this.change=new ol,t){var n=t.documentElement?t.documentElement.dir:null,i=(t.body?t.body.dir:null)||n;this.value="ltr"===i||"rtl"===i?i:"ltr"}}return b(e,[{key:"ngOnDestroy",value:function(){this.change.complete()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ep,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(ep,8))},token:e,providedIn:"root"}),e}(),np=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),ip=function(){function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=arguments.length>1?arguments[1]:void 0,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];m(this,e),this._multiple=n,this._emitChanges=r,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new ae,i&&i.length&&(n?i.forEach(function(e){return t._markSelected(e)}):this._markSelected(i[0]),this._selectedToEmit.length=0)}return b(e,[{key:"selected",get:function(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}},{key:"select",value:function(){for(var e=this,t=arguments.length,n=new Array(t),i=0;i0&&void 0!==arguments[0]?arguments[0]:20;return this._platform.isBrowser?new te(function(n){e._globalSubscription||e._addGlobalListener();var i=t>0?e._scrolled.pipe(yf(t)).subscribe(n):e._scrolled.subscribe(n);return e._scrolledCount++,function(){i.unsubscribe(),e._scrolledCount--,e._scrolledCount||e._removeGlobalListener()}}):$d()}},{key:"ngOnDestroy",value:function(){var e=this;this._removeGlobalListener(),this.scrollContainers.forEach(function(t,n){return e.deregister(n)}),this._scrolled.complete()}},{key:"ancestorScrolled",value:function(e,t){var n=this.getAncestorScrollContainers(e);return this.scrolled(t).pipe(bf(function(e){return!e||n.indexOf(e)>-1}))}},{key:"getAncestorScrollContainers",value:function(e){var t=this,n=[];return this.scrollContainers.forEach(function(i,r){t._scrollableContainsElement(r,e)&&n.push(r)}),n}},{key:"_getWindow",value:function(){return this._document.defaultView||window}},{key:"_scrollableContainsElement",value:function(e,t){var n=Kd(t),i=e.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}},{key:"_addGlobalListener",value:function(){var e=this;this._globalSubscription=this._ngZone.runOutsideAngular(function(){return Qd(e._getWindow().document,"scroll").subscribe(function(){return e._scrolled.next()})})}},{key:"_removeGlobalListener",value:function(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl),Zi(qf),Zi(bh,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(Xl),Zi(qf),Zi(bh,8))},token:e,providedIn:"root"}),e}(),ap=function(){var e=function(){function e(t,n,i){var r=this;m(this,e),this._platform=t,this._change=new ae,this._changeListener=function(e){r._change.next(e)},this._document=i,n.runOutsideAngular(function(){if(t.isBrowser){var e=r._getWindow();e.addEventListener("resize",r._changeListener),e.addEventListener("orientationchange",r._changeListener)}r.change().subscribe(function(){return r._viewportSize=null})})}return b(e,[{key:"ngOnDestroy",value:function(){if(this._platform.isBrowser){var e=this._getWindow();e.removeEventListener("resize",this._changeListener),e.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}},{key:"getViewportSize",value:function(){this._viewportSize||this._updateViewportSize();var e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}},{key:"getViewportRect",value:function(){var e=this.getViewportScrollPosition(),t=this.getViewportSize(),n=t.width,i=t.height;return{top:e.top,left:e.left,bottom:e.top+i,right:e.left+n,height:i,width:n}}},{key:"getViewportScrollPosition",value:function(){if(!this._platform.isBrowser)return{top:0,left:0};var e=this._document,t=this._getWindow(),n=e.documentElement,i=n.getBoundingClientRect();return{top:-i.top||e.body.scrollTop||t.scrollY||n.scrollTop||0,left:-i.left||e.body.scrollLeft||t.scrollX||n.scrollLeft||0}}},{key:"change",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20;return e>0?this._change.pipe(yf(e)):this._change}},{key:"_getWindow",value:function(){return this._document.defaultView||window}},{key:"_updateViewportSize",value:function(){var e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf),Zi(Xl),Zi(bh,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf),Zi(Xl),Zi(bh,8))},token:e,providedIn:"root"}),e}(),sp=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),up=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[np,Xf,sp],np,sp]}),e}(),cp=function(){function e(){m(this,e)}return b(e,[{key:"attach",value:function(e){return this._attachedHost=e,e.attach(this)}},{key:"detach",value:function(){var e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}},{key:"isAttached",get:function(){return null!=this._attachedHost}},{key:"setAttachedHost",value:function(e){this._attachedHost=e}}]),e}(),lp=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this)).component=e,a.viewContainerRef=i,a.injector=r,a.componentFactoryResolver=o,a}return n}(cp),hp=function(t){a(i,t);var n=s(i);function i(e,t,r){var o;return m(this,i),(o=n.call(this)).templateRef=e,o.viewContainerRef=t,o.context=r,o}return b(i,[{key:"origin",get:function(){return this.templateRef.elementRef}},{key:"attach",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.context;return this.context=n,e(p(i.prototype),"attach",this).call(this,t)}},{key:"detach",value:function(){return this.context=void 0,e(p(i.prototype),"detach",this).call(this)}}]),i}(cp),dp=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).element=e instanceof Ju?e.nativeElement:e,i}return n}(cp),fp=function(){function e(){m(this,e),this._isDisposed=!1,this.attachDomPortal=null}return b(e,[{key:"hasAttached",value:function(){return!!this._attachedPortal}},{key:"attach",value:function(e){return e instanceof lp?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof hp?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof dp?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}},{key:"detach",value:function(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}},{key:"dispose",value:function(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}},{key:"setDisposeFn",value:function(e){this._disposeFn=e}},{key:"_invokeDisposeFn",value:function(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}]),e}(),pp=function(t){a(i,t);var n=s(i);function i(t,r,o,a,s){var u,l;return m(this,i),(l=n.call(this)).outletElement=t,l._componentFactoryResolver=r,l._appRef=o,l._defaultInjector=a,l.attachDomPortal=function(t){var n=t.element,r=l._document.createComment("dom-portal");n.parentNode.insertBefore(r,n),l.outletElement.appendChild(n),l._attachedPortal=t,e((u=c(l),p(i.prototype)),"setDisposeFn",u).call(u,function(){r.parentNode&&r.parentNode.replaceChild(n,r)})},l._document=s,l}return b(i,[{key:"attachComponentPortal",value:function(e){var t,n=this,i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);return e.viewContainerRef?(t=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(function(){return t.destroy()})):(t=i.create(e.injector||this._defaultInjector),this._appRef.attachView(t.hostView),this.setDisposeFn(function(){n._appRef.detachView(t.hostView),t.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(t)),this._attachedPortal=e,t}},{key:"attachTemplatePortal",value:function(e){var t=this,n=e.viewContainerRef,i=n.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(function(e){return t.outletElement.appendChild(e)}),i.detectChanges(),this.setDisposeFn(function(){var e=n.indexOf(i);-1!==e&&n.remove(e)}),this._attachedPortal=e,i}},{key:"dispose",value:function(){e(p(i.prototype),"dispose",this).call(this),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}},{key:"_getComponentRootNode",value:function(e){return e.hostView.rootNodes[0]}}]),i}(fp),vp=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this,e,i)}return n}(hp);return e.\u0275fac=function(t){return new(t||e)(Os(Ac),Os(Nc))},e.\u0275dir=Rt({type:e,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[cs]}),e}(),gp=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(vp);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["","cdk-portal",""],["","portal",""]],exportAs:["cdkPortal"],features:[Xu([{provide:vp,useExisting:t}]),cs]}),t}(),mp=function(){var t=function(t){a(i,t);var n=s(i);function i(t,r,o){var a,s;return m(this,i),(s=n.call(this))._componentFactoryResolver=t,s._viewContainerRef=r,s._isInitialized=!1,s.attached=new ol,s.attachDomPortal=function(t){var n=t.element,r=s._document.createComment("dom-portal");t.setAttachedHost(c(s)),n.parentNode.insertBefore(r,n),s._getRootNode().appendChild(n),s._attachedPortal=t,e((a=c(s),p(i.prototype)),"setDisposeFn",a).call(a,function(){r.parentNode&&r.parentNode.replaceChild(n,r)})},s._document=o,s}return b(i,[{key:"portal",get:function(){return this._attachedPortal},set:function(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&e(p(i.prototype),"detach",this).call(this),t&&e(p(i.prototype),"attach",this).call(this,t),this._attachedPortal=t)}},{key:"attachedRef",get:function(){return this._attachedRef}},{key:"ngOnInit",value:function(){this._isInitialized=!0}},{key:"ngOnDestroy",value:function(){e(p(i.prototype),"dispose",this).call(this),this._attachedPortal=null,this._attachedRef=null}},{key:"attachComponentPortal",value:function(t){t.setAttachedHost(this);var n=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,r=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=n.createComponent(r,n.length,t.injector||n.injector);return n!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),e(p(i.prototype),"setDisposeFn",this).call(this,function(){return o.destroy()}),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}},{key:"attachTemplatePortal",value:function(t){var n=this;t.setAttachedHost(this);var r=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return e(p(i.prototype),"setDisposeFn",this).call(this,function(){return n._viewContainerRef.clear()}),this._attachedPortal=t,this._attachedRef=r,this.attached.emit(r),r}},{key:"_getRootNode",value:function(){var e=this._viewContainerRef.element.nativeElement;return e.nodeType===e.ELEMENT_NODE?e:e.parentNode}}]),i}(fp);return t.\u0275fac=function(e){return new(e||t)(Os(Ku),Os(Nc),Os(bh))},t.\u0275dir=Rt({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[cs]}),t}(),yp=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),bp=function(){function e(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return e.prototype=Object.create(Error.prototype),e}();function _p(e){return function(t){return 0===e?If():t.lift(new wp(e))}}var wp=function(){function e(t){if(m(this,e),this.total=t,this.total<0)throw new bp}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new kp(e,this.total))}}]),e}(),kp=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).total=i,r.count=0,r}return b(n,[{key:"_next",value:function(e){var t=this.total,n=++this.count;n<=t&&(this.destination.next(e),n===t&&(this.destination.complete(),this.unsubscribe()))}}]),n}(K);function xp(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(n){return n.lift(new Sp(e,t))}}var Sp=function(){function e(t,n){m(this,e),this.predicate=t,this.inclusive=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new Cp(e,this.predicate,this.inclusive))}}]),e}(),Cp=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).predicate=i,o.inclusive=r,o.index=0,o}return b(n,[{key:"_next",value:function(e){var t,n=this.destination;try{t=this.predicate(e,this.index++)}catch(i){return void n.error(i)}this.nextOrComplete(e,t)}},{key:"nextOrComplete",value:function(e,t){var n=this.destination;Boolean(t)?n.next(e):(this.inclusive&&n.next(e),n.complete())}}]),n}(K);function Ep(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;it.height||e.scrollWidth>t.width}}]),e}(),Pp=function(){function e(t,n,i,r){var o=this;m(this,e),this._scrollDispatcher=t,this._ngZone=n,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=function(){o.disable(),o._overlayRef.hasAttached()&&o._ngZone.run(function(){return o._overlayRef.detach()})}}return b(e,[{key:"attach",value:function(e){this._overlayRef=e}},{key:"enable",value:function(){var e=this;if(!this._scrollSubscription){var t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(function(){var t=e._viewportRuler.getViewportScrollPosition().top;Math.abs(t-e._initialScrollPosition)>e._config.threshold?e._detach():e._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}}},{key:"disable",value:function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}},{key:"detach",value:function(){this.disable(),this._overlayRef=null}}]),e}(),Ap=function(){function e(){m(this,e)}return b(e,[{key:"enable",value:function(){}},{key:"disable",value:function(){}},{key:"attach",value:function(){}}]),e}();function Mp(e,t){return t.some(function(t){return e.bottomt.bottom||e.rightt.right})}function Ip(e,t){return t.some(function(t){return e.topt.bottom||e.leftt.right})}var Rp=function(){function e(t,n,i,r){m(this,e),this._scrollDispatcher=t,this._viewportRuler=n,this._ngZone=i,this._config=r,this._scrollSubscription=null}return b(e,[{key:"attach",value:function(e){this._overlayRef=e}},{key:"enable",value:function(){var e=this;this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(function(){if(e._overlayRef.updatePosition(),e._config&&e._config.autoClose){var t=e._overlayRef.overlayElement.getBoundingClientRect(),n=e._viewportRuler.getViewportSize(),i=n.width,r=n.height;Mp(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(e.disable(),e._ngZone.run(function(){return e._overlayRef.detach()}))}}))}},{key:"disable",value:function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}},{key:"detach",value:function(){this.disable(),this._overlayRef=null}}]),e}(),Dp=function(){var e=function e(t,n,i,r){var o=this;m(this,e),this._scrollDispatcher=t,this._viewportRuler=n,this._ngZone=i,this.noop=function(){return new Ap},this.close=function(e){return new Pp(o._scrollDispatcher,o._ngZone,o._viewportRuler,e)},this.block=function(){return new Tp(o._viewportRuler,o._document)},this.reposition=function(e){return new Rp(o._scrollDispatcher,o._viewportRuler,o._ngZone,e)},this._document=r};return e.\u0275fac=function(t){return new(t||e)(Zi(op),Zi(ap),Zi(Xl),Zi(bh))},e.\u0275prov=$e({factory:function(){return new e(Zi(op),Zi(ap),Zi(Xl),Zi(bh))},token:e,providedIn:"root"}),e}(),Np=function e(t){if(m(this,e),this.scrollStrategy=new Ap,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t)for(var n=0,i=Object.keys(t);n-1&&this._attachedOverlays.splice(t,1),0===this._attachedOverlays.length&&this.detach()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(bh))},e.\u0275prov=$e({factory:function(){return new e(Zi(bh))},token:e,providedIn:"root"}),e}(),Bp=function(){var t=function(t){a(i,t);var n=s(i);function i(e){var t;return m(this,i),(t=n.call(this,e))._keydownListener=function(e){for(var n=t._attachedOverlays,i=n.length-1;i>-1;i--)if(n[i]._keydownEvents.observers.length>0){n[i]._keydownEvents.next(e);break}},t}return b(i,[{key:"add",value:function(t){e(p(i.prototype),"add",this).call(this,t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}},{key:"detach",value:function(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}]),i}(Fp);return t.\u0275fac=function(e){return new(e||t)(Zi(bh))},t.\u0275prov=$e({factory:function(){return new t(Zi(bh))},token:t,providedIn:"root"}),t}(),Vp=function(){var t=function(t){a(i,t);var n=s(i);function i(e,t){var r;return m(this,i),(r=n.call(this,e))._platform=t,r._cursorStyleIsSet=!1,r._clickListener=function(e){for(var t=Jf(e),n=r._attachedOverlays.slice(),i=n.length-1;i>-1;i--){var o=n[i];if(!(o._outsidePointerEvents.observers.length<1)&&o.hasAttached()){if(o.overlayElement.contains(t))break;o._outsidePointerEvents.next(e)}}},r}return b(i,[{key:"add",value:function(t){if(e(p(i.prototype),"add",this).call(this,t),!this._isAttached){var n=this._document.body;n.addEventListener("click",this._clickListener,!0),n.addEventListener("auxclick",this._clickListener,!0),n.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=n.style.cursor,n.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}},{key:"detach",value:function(){if(this._isAttached){var e=this._document.body;e.removeEventListener("click",this._clickListener,!0),e.removeEventListener("auxclick",this._clickListener,!0),e.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(e.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}]),i}(Fp);return t.\u0275fac=function(e){return new(e||t)(Zi(bh),Zi(qf))},t.\u0275prov=$e({factory:function(){return new t(Zi(bh),Zi(qf))},token:t,providedIn:"root"}),t}(),zp="undefined"!=typeof window?window:{},Up=void 0!==zp.__karma__&&!!zp.__karma__||void 0!==zp.jasmine&&!!zp.jasmine||void 0!==zp.jest&&!!zp.jest||void 0!==zp.Mocha&&!!zp.Mocha,Hp=function(){var e=function(){function e(t,n){m(this,e),this._platform=n,this._document=t}return b(e,[{key:"ngOnDestroy",value:function(){var e=this._containerElement;e&&e.parentNode&&e.parentNode.removeChild(e)}},{key:"getContainerElement",value:function(){return this._containerElement||this._createContainer(),this._containerElement}},{key:"_createContainer",value:function(){var e="cdk-overlay-container";if(this._platform.isBrowser||Up)for(var t=this._document.querySelectorAll(".".concat(e,'[platform="server"], .').concat(e,'[platform="test"]')),n=0;nf&&(f=g,d=v)}}catch(m){p.e(m)}finally{p.f()}return this._isPushed=!1,void this._applyPosition(d.position,d.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(e.position,e.originPoint);this._applyPosition(e.position,e.originPoint)}}},{key:"detach",value:function(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}},{key:"dispose",value:function(){this._isDisposed||(this._boundingBox&&Yp(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Wp),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}},{key:"reapplyLastPosition",value:function(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();var e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}},{key:"withScrollableContainers",value:function(e){return this._scrollables=e,this}},{key:"withPositions",value:function(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}},{key:"withViewportMargin",value:function(e){return this._viewportMargin=e,this}},{key:"withFlexibleDimensions",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._hasFlexibleDimensions=e,this}},{key:"withGrowAfterOpen",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._growAfterOpen=e,this}},{key:"withPush",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._canPush=e,this}},{key:"withLockedPosition",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._positionLocked=e,this}},{key:"setOrigin",value:function(e){return this._origin=e,this}},{key:"withDefaultOffsetX",value:function(e){return this._offsetX=e,this}},{key:"withDefaultOffsetY",value:function(e){return this._offsetY=e,this}},{key:"withTransformOriginOn",value:function(e){return this._transformOriginSelector=e,this}},{key:"_getOriginPoint",value:function(e,t){var n;if("center"==t.originX)n=e.left+e.width/2;else{var i=this._isRtl()?e.right:e.left,r=this._isRtl()?e.left:e.right;n="start"==t.originX?i:r}return{x:n,y:"center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom}}},{key:"_getOverlayPoint",value:function(e,t,n){var i,r;return i="center"==n.overlayX?-t.width/2:"start"===n.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,r="center"==n.overlayY?-t.height/2:"top"==n.overlayY?0:-t.height,{x:e.x+i,y:e.y+r}}},{key:"_getOverlayFit",value:function(e,t,n,i){var r=$p(t),o=e.x,a=e.y,s=this._getOffset(i,"x"),u=this._getOffset(i,"y");s&&(o+=s),u&&(a+=u);var c=0-a,l=a+r.height-n.height,h=this._subtractOverflows(r.width,0-o,o+r.width-n.width),d=this._subtractOverflows(r.height,c,l),f=h*d;return{visibleArea:f,isCompletelyWithinViewport:r.width*r.height===f,fitsInViewportVertically:d===r.height,fitsInViewportHorizontally:h==r.width}}},{key:"_canFitWithFlexibleDimensions",value:function(e,t,n){if(this._hasFlexibleDimensions){var i=n.bottom-t.y,r=n.right-t.x,o=Kp(this._overlayRef.getConfig().minHeight),a=Kp(this._overlayRef.getConfig().minWidth),s=e.fitsInViewportHorizontally||null!=a&&a<=r;return(e.fitsInViewportVertically||null!=o&&o<=i)&&s}return!1}},{key:"_pushOverlayOnScreen",value:function(e,t,n){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};var i,r,o=$p(t),a=this._viewportRect,s=Math.max(e.x+o.width-a.width,0),u=Math.max(e.y+o.height-a.height,0),c=Math.max(a.top-n.top-e.y,0),l=Math.max(a.left-n.left-e.x,0);return i=o.width<=a.width?l||-s:e.xh&&!this._isInitialRender&&!this._growAfterOpen&&(i=e.y-h/2)}if("end"===t.overlayX&&!c||"start"===t.overlayX&&c)s=u.width-e.x+this._viewportMargin,o=e.x-this._viewportMargin;else if("start"===t.overlayX&&!c||"end"===t.overlayX&&c)a=e.x,o=u.right-e.x;else{var d=Math.min(u.right-e.x+u.left,e.x),f=this._lastBoundingBoxSize.width;o=2*d,a=e.x-d,o>f&&!this._isInitialRender&&!this._growAfterOpen&&(a=e.x-f/2)}return{top:i,left:a,bottom:r,right:s,width:o,height:n}}},{key:"_setBoundingBoxStyles",value:function(e,t){var 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));var i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right=i.maxHeight=i.maxWidth="",i.width=i.height="100%";else{var r=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;i.height=Yd(n.height),i.top=Yd(n.top),i.bottom=Yd(n.bottom),i.width=Yd(n.width),i.left=Yd(n.left),i.right=Yd(n.right),i.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",i.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",r&&(i.maxHeight=Yd(r)),o&&(i.maxWidth=Yd(o))}this._lastBoundingBoxSize=n,Yp(this._boundingBox.style,i)}},{key:"_resetBoundingBoxStyles",value:function(){Yp(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}},{key:"_resetOverlayElementStyles",value:function(){Yp(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}},{key:"_setOverlayElementStyles",value:function(e,t){var n={},i=this._hasExactPosition(),r=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(i){var a=this._viewportRuler.getViewportScrollPosition();Yp(n,this._getExactOverlayY(t,e,a)),Yp(n,this._getExactOverlayX(t,e,a))}else n.position="static";var s="",u=this._getOffset(t,"x"),c=this._getOffset(t,"y");u&&(s+="translateX(".concat(u,"px) ")),c&&(s+="translateY(".concat(c,"px)")),n.transform=s.trim(),o.maxHeight&&(i?n.maxHeight=Yd(o.maxHeight):r&&(n.maxHeight="")),o.maxWidth&&(i?n.maxWidth=Yd(o.maxWidth):r&&(n.maxWidth="")),Yp(this._pane.style,n)}},{key:"_getExactOverlayY",value:function(e,t,n){var i={top:"",bottom:""},r=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,n));var o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return r.y-=o,"bottom"===e.overlayY?i.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":i.top=Yd(r.y),i}},{key:"_getExactOverlayX",value:function(e,t,n){var i={left:"",right:""},r=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,n)),"right"===(this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left")?i.right=this._document.documentElement.clientWidth-(r.x+this._overlayRect.width)+"px":i.left=Yd(r.x),i}},{key:"_getScrollVisibility",value:function(){var e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),n=this._scrollables.map(function(e){return e.getElementRef().nativeElement.getBoundingClientRect()});return{isOriginClipped:Ip(e,n),isOriginOutsideView:Mp(e,n),isOverlayClipped:Ip(t,n),isOverlayOutsideView:Mp(t,n)}}},{key:"_subtractOverflows",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:"";return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}},{key:"left",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}},{key:"bottom",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}},{key:"right",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-end",this}},{key:"width",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}},{key:"height",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}},{key:"centerHorizontally",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.left(e),this._justifyContent="center",this}},{key:"centerVertically",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.top(e),this._alignItems="center",this}},{key:"apply",value:function(){if(this._overlayRef&&this._overlayRef.hasAttached()){var e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig(),i=n.width,r=n.height,o=n.maxWidth,a=n.maxHeight,s=!("100%"!==i&&"100vw"!==i||o&&"100%"!==o&&"100vw"!==o),u=!("100%"!==r&&"100vh"!==r||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=s?"0":this._leftOffset,e.marginTop=u?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,s?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=u?"flex-start":this._alignItems}}},{key:"dispose",value:function(){if(!this._isDisposed&&this._overlayRef){var e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,n=t.style;t.classList.remove(Jp),n.justifyContent=n.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}}]),e}(),tv=function(){var e=function(){function e(t,n,i,r){m(this,e),this._viewportRuler=t,this._document=n,this._platform=i,this._overlayContainer=r}return b(e,[{key:"global",value:function(){return new ev}},{key:"connectedTo",value:function(e,t,n){return new Zp(t,n,e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}},{key:"flexibleConnectedTo",value:function(e){return new Xp(e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ap),Zi(bh),Zi(qf),Zi(Hp))},e.\u0275prov=$e({factory:function(){return new e(Zi(ap),Zi(bh),Zi(qf),Zi(Hp))},token:e,providedIn:"root"}),e}(),nv=0,iv=function(){var e=function(){function e(t,n,i,r,o,a,s,u,c,l,h){m(this,e),this.scrollStrategies=t,this._overlayContainer=n,this._componentFactoryResolver=i,this._positionBuilder=r,this._keyboardDispatcher=o,this._injector=a,this._ngZone=s,this._document=u,this._directionality=c,this._location=l,this._outsideClickDispatcher=h}return b(e,[{key:"create",value:function(e){var t=this._createHostElement(),n=this._createPaneElement(t),i=this._createPortalOutlet(n),r=new Np(e);return r.direction=r.direction||this._directionality.value,new Gp(i,t,n,r,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}},{key:"position",value:function(){return this._positionBuilder}},{key:"_createPaneElement",value:function(e){var t=this._document.createElement("div");return t.id="cdk-overlay-"+nv++,t.classList.add("cdk-overlay-pane"),e.appendChild(t),t}},{key:"_createHostElement",value:function(){var e=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(e),e}},{key:"_createPortalOutlet",value:function(e){return this._appRef||(this._appRef=this._injector.get(dh)),new pp(e,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Dp),Zi(Hp),Zi(Ku),Zi(tv),Zi(Bp),Zi(ss),Zi(Xl),Zi(bh),Zi(tp),Zi(Ih),Zi(Vp))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),rv=[{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"}],ov=new Ri("cdk-connected-overlay-scroll-strategy"),av=function(){var e=function e(t){m(this,e),this.elementRef=t};return e.\u0275fac=function(t){return new(t||e)(Os(Ju))},e.\u0275dir=Rt({type:e,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),e}(),sv=function(){var e=function(){function e(t,n,i,r,o){m(this,e),this._overlay=t,this._dir=o,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=q.EMPTY,this._attachSubscription=q.EMPTY,this._detachSubscription=q.EMPTY,this._positionSubscription=q.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new ol,this.positionChange=new ol,this.attach=new ol,this.detach=new ol,this.overlayKeydown=new ol,this.overlayOutsideClick=new ol,this._templatePortal=new hp(n,i),this._scrollStrategyFactory=r,this.scrollStrategy=this._scrollStrategyFactory()}return b(e,[{key:"offsetX",get:function(){return this._offsetX},set:function(e){this._offsetX=e,this._position&&this._updatePositionStrategy(this._position)}},{key:"offsetY",get:function(){return this._offsetY},set:function(e){this._offsetY=e,this._position&&this._updatePositionStrategy(this._position)}},{key:"hasBackdrop",get:function(){return this._hasBackdrop},set:function(e){this._hasBackdrop=Wd(e)}},{key:"lockPosition",get:function(){return this._lockPosition},set:function(e){this._lockPosition=Wd(e)}},{key:"flexibleDimensions",get:function(){return this._flexibleDimensions},set:function(e){this._flexibleDimensions=Wd(e)}},{key:"growAfterOpen",get:function(){return this._growAfterOpen},set:function(e){this._growAfterOpen=Wd(e)}},{key:"push",get:function(){return this._push},set:function(e){this._push=Wd(e)}},{key:"overlayRef",get:function(){return this._overlayRef}},{key:"dir",get:function(){return this._dir?this._dir.value:"ltr"}},{key:"ngOnDestroy",value:function(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}},{key:"ngOnChanges",value:function(e){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),e.origin&&this.open&&this._position.apply()),e.open&&(this.open?this._attachOverlay():this._detachOverlay())}},{key:"_createOverlay",value:function(){var e=this;(!this.positions||!this.positions.length)&&(this.positions=rv);var t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(function(){return e.attach.emit()}),this._detachSubscription=t.detachments().subscribe(function(){return e.detach.emit()}),t.keydownEvents().subscribe(function(t){e.overlayKeydown.next(t),27===t.keyCode&&!e.disableClose&&!Ep(t)&&(t.preventDefault(),e._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(function(t){e.overlayOutsideClick.next(t)})}},{key:"_buildConfig",value:function(){var e=this._position=this.positionStrategy||this._createPositionStrategy(),t=new Np({direction:this._dir,positionStrategy:e,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(t.width=this.width),(this.height||0===this.height)&&(t.height=this.height),(this.minWidth||0===this.minWidth)&&(t.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(t.minHeight=this.minHeight),this.backdropClass&&(t.backdropClass=this.backdropClass),this.panelClass&&(t.panelClass=this.panelClass),t}},{key:"_updatePositionStrategy",value:function(e){var t=this,n=this.positions.map(function(e){return{originX:e.originX,originY:e.originY,overlayX:e.overlayX,overlayY:e.overlayY,offsetX:e.offsetX||t.offsetX,offsetY:e.offsetY||t.offsetY,panelClass:e.panelClass||void 0}});return e.setOrigin(this.origin.elementRef).withPositions(n).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}},{key:"_createPositionStrategy",value:function(){var e=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(e),e}},{key:"_attachOverlay",value:function(){var e=this;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(function(t){e.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(xp(function(){return e.positionChange.observers.length>0})).subscribe(function(t){e.positionChange.emit(t),0===e.positionChange.observers.length&&e._positionSubscription.unsubscribe()}))}},{key:"_detachOverlay",value:function(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(Ac),Os(Nc),Os(ov),Os(tp,8))},e.\u0275dir=Rt({type:e,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[qt]}),e}(),uv={provide:ov,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.reposition()}}},cv=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[iv,uv],imports:[[np,yp,up],up]}),e}(),lv={schedule:function(e,t){var n=setTimeout(e,t);return function(){return clearTimeout(n)}},scheduleBeforeRender:function(e){if("undefined"==typeof window)return lv.schedule(e,0);if(void 0===window.requestAnimationFrame)return lv.schedule(e,16);var t=window.requestAnimationFrame(e);return function(){return window.cancelAnimationFrame(t)}}};function hv(e,t,n){var i=n;return function(e){return!!e&&e.nodeType===Node.ELEMENT_NODE}(e)&&t.some(function(t,n){return!("*"===t||!function(e,t){if(!Qp){var n=Element.prototype;Qp=n.matches||n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}return e.nodeType===Node.ELEMENT_NODE&&Qp.call(e,t)}(e,t)||(i=n,0))}),i}var dv=function(){function e(t,n){m(this,e),this.componentFactory=n.get(Ku).resolveComponentFactory(t)}return b(e,[{key:"create",value:function(e){return new fv(this.componentFactory,e)}}]),e}(),fv=function(){function e(t,n){m(this,e),this.componentFactory=t,this.injector=n,this.eventEmitters=new Bf(1),this.events=this.eventEmitters.pipe(Of(function(e){return Oe.apply(void 0,v(e))})),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(function(e){return e.propName})),this.ngZone=this.injector.get(Xl),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(function(){return Zone.current})}return b(e,[{key:"connect",value:function(e){var t=this;this.runInZone(function(){if(null!==t.scheduledDestroyFn)return t.scheduledDestroyFn(),void(t.scheduledDestroyFn=null);null===t.componentRef&&t.initializeComponent(e)})}},{key:"disconnect",value:function(){var e=this;this.runInZone(function(){null===e.componentRef||null!==e.scheduledDestroyFn||(e.scheduledDestroyFn=lv.schedule(function(){null!==e.componentRef&&(e.componentRef.destroy(),e.componentRef=null,e.viewChangeDetectorRef=null)},10))})}},{key:"getInputValue",value:function(e){var t=this;return this.runInZone(function(){return null===t.componentRef?t.initialInputValues.get(e):t.componentRef.instance[e]})}},{key:"setInputValue",value:function(e,t){var n=this;this.runInZone(function(){null!==n.componentRef?function(e,t){return e===t||e!=e&&t!=t}(t,n.getInputValue(e))&&(void 0!==t||!n.unchangedInputs.has(e))||(n.recordInputChange(e,t),n.unchangedInputs.delete(e),n.hasInputChanges=!0,n.componentRef.instance[e]=t,n.scheduleDetectChanges()):n.initialInputValues.set(e,t)})}},{key:"initializeComponent",value:function(e){var t=ss.create({providers:[],parent:this.injector}),n=function(e,t){var n=e.childNodes,i=t.map(function(){return[]}),r=-1;t.some(function(e,t){return"*"===e&&(r=t,!0)});for(var o=0,a=n.length;o1&&void 0!==arguments[1]?arguments[1]:ff;return function(n){return n.lift(new wv(e,t))}}var wv=function(){function e(t,n){m(this,e),this.dueTime=t,this.scheduler=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new kv(e,this.dueTime,this.scheduler))}}]),e}(),kv=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).dueTime=i,o.scheduler=r,o.debouncedSubscription=null,o.lastValue=null,o.hasValue=!1,o}return b(n,[{key:"_next",value:function(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(xv,this.dueTime,this))}},{key:"_complete",value:function(){this.debouncedNext(),this.destination.complete()}},{key:"debouncedNext",value:function(){if(this.clearDebounce(),this.hasValue){var e=this.lastValue;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}}},{key:"clearDebounce",value:function(){var e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)}}]),n}(K);function xv(e){e.debouncedNext()}function Sv(e){return function(t){return t.lift(new Cv(e))}}var Cv=function(){function e(t){m(this,e),this.total=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new Ev(e,this.total))}}]),e}(),Ev=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).total=i,r.count=0,r}return b(n,[{key:"_next",value:function(e){++this.count>this.total&&this.destination.next(e)}}]),n}(K),Ov=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"create",value:function(e){return"undefined"==typeof MutationObserver?null:new MutationObserver(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({factory:function(){return new e},token:e,providedIn:"root"}),e}(),Tv=function(){var e=function(){function e(t){m(this,e),this._mutationObserverFactory=t,this._observedElements=new Map}return b(e,[{key:"ngOnDestroy",value:function(){var e=this;this._observedElements.forEach(function(t,n){return e._cleanupObserver(n)})}},{key:"observe",value:function(e){var t=this,n=Kd(e);return new te(function(e){var i=t._observeElement(n).subscribe(e);return function(){i.unsubscribe(),t._unobserveElement(n)}})}},{key:"_observeElement",value:function(e){if(this._observedElements.has(e))this._observedElements.get(e).count++;else{var t=new ae,n=this._mutationObserverFactory.create(function(e){return t.next(e)});n&&n.observe(e,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(e,{observer:n,stream:t,count:1})}return this._observedElements.get(e).stream}},{key:"_unobserveElement",value:function(e){this._observedElements.has(e)&&(this._observedElements.get(e).count--,this._observedElements.get(e).count||this._cleanupObserver(e))}},{key:"_cleanupObserver",value:function(e){if(this._observedElements.has(e)){var t=this._observedElements.get(e),n=t.observer,i=t.stream;n&&n.disconnect(),i.complete(),this._observedElements.delete(e)}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Ov))},e.\u0275prov=$e({factory:function(){return new e(Zi(Ov))},token:e,providedIn:"root"}),e}(),Pv=function(){var e=function(){function e(t,n,i){m(this,e),this._contentObserver=t,this._elementRef=n,this._ngZone=i,this.event=new ol,this._disabled=!1,this._currentSubscription=null}return b(e,[{key:"disabled",get:function(){return this._disabled},set:function(e){this._disabled=Wd(e),this._disabled?this._unsubscribe():this._subscribe()}},{key:"debounce",get:function(){return this._debounce},set:function(e){this._debounce=qd(e),this._subscribe()}},{key:"ngAfterContentInit",value:function(){!this._currentSubscription&&!this.disabled&&this._subscribe()}},{key:"ngOnDestroy",value:function(){this._unsubscribe()}},{key:"_subscribe",value:function(){var e=this;this._unsubscribe();var t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(function(){e._currentSubscription=(e.debounce?t.pipe(_v(e.debounce)):t).subscribe(e.event)})}},{key:"_unsubscribe",value:function(){var e;null===(e=this._currentSubscription)||void 0===e||e.unsubscribe()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Tv),Os(Ju),Os(Xl))},e.\u0275dir=Rt({type:e,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),e}(),Av=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[Ov]}),e}();function Mv(e,t){return(e.getAttribute(t)||"").match(/\S+/g)||[]}var Iv="cdk-describedby-message-container",Rv="cdk-describedby-message",Dv="cdk-describedby-host",Nv=0,Lv=new Map,jv=null,Fv=function(){var e=function(){function e(t){m(this,e),this._document=t}return b(e,[{key:"describe",value:function(e,t,n){if(this._canBeDescribed(e,t)){var i=Bv(t,n);"string"!=typeof t?(Vv(t),Lv.set(i,{messageElement:t,referenceCount:0})):Lv.has(i)||this._createMessageElement(t,n),this._isElementDescribedByMessage(e,i)||this._addMessageReference(e,i)}}},{key:"removeDescription",value:function(e,t,n){if(t&&this._isElementNode(e)){var i=Bv(t,n);if(this._isElementDescribedByMessage(e,i)&&this._removeMessageReference(e,i),"string"==typeof t){var r=Lv.get(i);r&&0===r.referenceCount&&this._deleteMessageElement(i)}jv&&0===jv.childNodes.length&&this._deleteMessagesContainer()}}},{key:"ngOnDestroy",value:function(){for(var e=this._document.querySelectorAll("[".concat(Dv,"]")),t=0;t-1&&t!==n._activeItemIndex&&(n._activeItemIndex=t)}})}return b(e,[{key:"skipPredicate",value:function(e){return this._skipPredicateFn=e,this}},{key:"withWrap",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._wrap=e,this}},{key:"withVerticalOrientation",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._vertical=e,this}},{key:"withHorizontalOrientation",value:function(e){return this._horizontal=e,this}},{key:"withAllowedModifierKeys",value:function(e){return this._allowedModifierKeys=e,this}},{key:"withTypeAhead",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200;return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(mv(function(t){return e._pressedLetters.push(t)}),_v(t),bf(function(){return e._pressedLetters.length>0}),ce(function(){return e._pressedLetters.join("")})).subscribe(function(t){for(var n=e._getItemsArray(),i=1;i0&&void 0!==arguments[0])||arguments[0];return this._homeAndEnd=e,this}},{key:"setActiveItem",value:function(e){var t=this._activeItem;this.updateActiveItem(e),this._activeItem!==t&&this.change.next(this._activeItemIndex)}},{key:"onKeydown",value:function(e){var t=this,n=e.keyCode,i=["altKey","ctrlKey","metaKey","shiftKey"].every(function(n){return!e[n]||t._allowedModifierKeys.indexOf(n)>-1});switch(n){case 9:return void this.tabOut.next();case 40:if(this._vertical&&i){this.setNextItemActive();break}return;case 38:if(this._vertical&&i){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&i){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&i){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&i){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&i){this.setLastItemActive();break}return;default:return void((i||Ep(e,"shiftKey"))&&(e.key&&1===e.key.length?this._letterKeyStream.next(e.key.toLocaleUpperCase()):(n>=65&&n<=90||n>=48&&n<=57)&&this._letterKeyStream.next(String.fromCharCode(n))))}this._pressedLetters=[],e.preventDefault()}},{key:"activeItemIndex",get:function(){return this._activeItemIndex}},{key:"activeItem",get:function(){return this._activeItem}},{key:"isTyping",value:function(){return this._pressedLetters.length>0}},{key:"setFirstItemActive",value:function(){this._setActiveItemByIndex(0,1)}},{key:"setLastItemActive",value:function(){this._setActiveItemByIndex(this._items.length-1,-1)}},{key:"setNextItemActive",value:function(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}},{key:"setPreviousItemActive",value:function(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}},{key:"updateActiveItem",value:function(e){var t=this._getItemsArray(),n="number"==typeof e?e:t.indexOf(e),i=t[n];this._activeItem=null==i?null:i,this._activeItemIndex=n}},{key:"_setActiveItemByDelta",value:function(e){this._wrap?this._setActiveInWrapMode(e):this._setActiveInDefaultMode(e)}},{key:"_setActiveInWrapMode",value:function(e){for(var t=this._getItemsArray(),n=1;n<=t.length;n++){var i=(this._activeItemIndex+e*n+t.length)%t.length;if(!this._skipPredicateFn(t[i]))return void this.setActiveItem(i)}}},{key:"_setActiveInDefaultMode",value:function(e){this._setActiveItemByIndex(this._activeItemIndex+e,e)}},{key:"_setActiveItemByIndex",value:function(e,t){var n=this._getItemsArray();if(n[e]){for(;this._skipPredicateFn(n[e]);)if(!n[e+=t])return;this.setActiveItem(e)}}},{key:"_getItemsArray",value:function(){return this._items instanceof sl?this._items.toArray():this._items}}]),e}()),Uv=function(){var e=function(){function e(t){m(this,e),this._platform=t}return b(e,[{key:"isDisabled",value:function(e){return e.hasAttribute("disabled")}},{key:"isVisible",value:function(e){return function(e){return!!(e.offsetWidth||e.offsetHeight||"function"==typeof e.getClientRects&&e.getClientRects().length)}(e)&&"visible"===getComputedStyle(e).visibility}},{key:"isTabbable",value:function(e){if(!this._platform.isBrowser)return!1;var t=function(e){try{return e.frameElement}catch(t){return null}}(function(e){return e.ownerDocument&&e.ownerDocument.defaultView||window}(e));if(t&&(-1===Gv(t)||!this.isVisible(t)))return!1;var n=e.nodeName.toLowerCase(),i=Gv(e);return e.hasAttribute("contenteditable")?-1!==i:!("iframe"===n||"object"===n||this._platform.WEBKIT&&this._platform.IOS&&!function(e){var t=e.nodeName.toLowerCase(),n="input"===t&&e.type;return"text"===n||"password"===n||"select"===t||"textarea"===t}(e))&&("audio"===n?!!e.hasAttribute("controls")&&-1!==i:"video"===n?-1!==i&&(null!==i||this._platform.FIREFOX||e.hasAttribute("controls")):e.tabIndex>=0)}},{key:"isFocusable",value:function(e,t){return function(e){return!function(e){return function(e){return"input"==e.nodeName.toLowerCase()}(e)&&"hidden"==e.type}(e)&&(function(e){var t=e.nodeName.toLowerCase();return"input"===t||"select"===t||"button"===t||"textarea"===t}(e)||function(e){return function(e){return"a"==e.nodeName.toLowerCase()}(e)&&e.hasAttribute("href")}(e)||e.hasAttribute("contenteditable")||Hv(e))}(e)&&!this.isDisabled(e)&&((null==t?void 0:t.ignoreVisibility)||this.isVisible(e))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf))},token:e,providedIn:"root"}),e}();function Hv(e){if(!e.hasAttribute("tabindex")||void 0===e.tabIndex)return!1;var t=e.getAttribute("tabindex");return"-32768"!=t&&!(!t||isNaN(parseInt(t,10)))}function Gv(e){if(!Hv(e))return null;var t=parseInt(e.getAttribute("tabindex")||"",10);return isNaN(t)?-1:t}var Wv=function(){function e(t,n,i,r){var o=this,a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];m(this,e),this._element=t,this._checker=n,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=function(){return o.focusLastTabbableElement()},this.endAnchorListener=function(){return o.focusFirstTabbableElement()},this._enabled=!0,a||this.attachAnchors()}return b(e,[{key:"enabled",get:function(){return this._enabled},set:function(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}},{key:"destroy",value:function(){var e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}},{key:"attachAnchors",value:function(){var e=this;return!!this._hasAttached||(this._ngZone.runOutsideAngular(function(){e._startAnchor||(e._startAnchor=e._createAnchor(),e._startAnchor.addEventListener("focus",e.startAnchorListener)),e._endAnchor||(e._endAnchor=e._createAnchor(),e._endAnchor.addEventListener("focus",e.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)}},{key:"focusInitialElementWhenReady",value:function(e){var t=this;return new Promise(function(n){t._executeOnStable(function(){return n(t.focusInitialElement(e))})})}},{key:"focusFirstTabbableElementWhenReady",value:function(e){var t=this;return new Promise(function(n){t._executeOnStable(function(){return n(t.focusFirstTabbableElement(e))})})}},{key:"focusLastTabbableElementWhenReady",value:function(e){var t=this;return new Promise(function(n){t._executeOnStable(function(){return n(t.focusLastTabbableElement(e))})})}},{key:"_getRegionBoundary",value:function(e){for(var t=this._element.querySelectorAll("[cdk-focus-region-".concat(e,"], [cdkFocusRegion").concat(e,"], [cdk-focus-").concat(e,"]")),n=0;n=0;n--){var i=t[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[n]):null;if(i)return i}return null}},{key:"_createAnchor",value:function(){var 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}},{key:"_toggleAnchorTabIndex",value:function(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}},{key:"toggleAnchors",value:function(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}},{key:"_executeOnStable",value:function(e){this._ngZone.isStable?e():this._ngZone.onStable.pipe(_p(1)).subscribe(e)}}]),e}(),qv=function(){var e=function(){function e(t,n,i){m(this,e),this._checker=t,this._ngZone=n,this._document=i}return b(e,[{key:"create",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new Wv(e,this._checker,this._ngZone,this._document,t)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Uv),Zi(Xl),Zi(bh))},e.\u0275prov=$e({factory:function(){return new e(Zi(Uv),Zi(Xl),Zi(bh))},token:e,providedIn:"root"}),e}();function Xv(e){return 0===e.offsetX&&0===e.offsetY}function Yv(e){var t=e.touches&&e.touches[0]||e.changedTouches&&e.changedTouches[0];return!(!t||-1!==t.identifier||null!=t.radiusX&&1!==t.radiusX||null!=t.radiusY&&1!==t.radiusY)}"undefined"!=typeof Element&∈var Kv=new Ri("cdk-input-modality-detector-options"),$v={ignoreKeys:[18,17,224,91,16]},Qv=$f({passive:!0,capture:!0}),Zv=function(){var e=function(){function e(t,n,i,r){var o=this;m(this,e),this._platform=t,this._mostRecentTarget=null,this._modality=new vv(null),this._lastTouchMs=0,this._onKeydown=function(e){var t,n;(null===(n=null===(t=o._options)||void 0===t?void 0:t.ignoreKeys)||void 0===n?void 0:n.some(function(t){return t===e.keyCode}))||(o._modality.next("keyboard"),o._mostRecentTarget=Jf(e))},this._onMousedown=function(e){Date.now()-o._lastTouchMs<650||(o._modality.next(Xv(e)?"keyboard":"mouse"),o._mostRecentTarget=Jf(e))},this._onTouchstart=function(e){Yv(e)?o._modality.next("keyboard"):(o._lastTouchMs=Date.now(),o._modality.next("touch"),o._mostRecentTarget=Jf(e))},this._options=Object.assign(Object.assign({},$v),r),this.modalityDetected=this._modality.pipe(Sv(1)),this.modalityChanged=this.modalityDetected.pipe(lf()),t.isBrowser&&n.runOutsideAngular(function(){i.addEventListener("keydown",o._onKeydown,Qv),i.addEventListener("mousedown",o._onMousedown,Qv),i.addEventListener("touchstart",o._onTouchstart,Qv)})}return b(e,[{key:"mostRecentModality",get:function(){return this._modality.value}},{key:"ngOnDestroy",value:function(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,Qv),document.removeEventListener("mousedown",this._onMousedown,Qv),document.removeEventListener("touchstart",this._onTouchstart,Qv))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf),Zi(Xl),Zi(bh),Zi(Kv,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf),Zi(Xl),Zi(bh),Zi(Kv,8))},token:e,providedIn:"root"}),e}(),Jv=new Ri("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),eg=new Ri("LIVE_ANNOUNCER_DEFAULT_OPTIONS"),tg=function(){var e=function(){function e(t,n,i,r){m(this,e),this._ngZone=n,this._defaultOptions=r,this._document=i,this._liveElement=t||this._createLiveElement()}return b(e,[{key:"announce",value:function(e){for(var n,i,r,o=this,a=this._defaultOptions,s=arguments.length,u=new Array(s>1?s-1:0),c=1;c1&&void 0!==arguments[1]&&arguments[1],n=Kd(e);if(!this._platform.isBrowser||1!==n.nodeType)return $d(null);var i=Qf(n)||this._getDocument(),r=this._elementInfo.get(n);if(r)return t&&(r.checkChildren=!0),r.subject;var o={checkChildren:t,subject:new ae,rootNode:i};return this._elementInfo.set(n,o),this._registerGlobalListeners(o),o.subject}},{key:"stopMonitoring",value:function(e){var t=Kd(e),n=this._elementInfo.get(t);n&&(n.subject.complete(),this._setClasses(t),this._elementInfo.delete(t),this._removeGlobalListeners(n))}},{key:"focusVia",value:function(e,n,i){var r=this,o=Kd(e);o===this._getDocument().activeElement?this._getClosestElementsInfo(o).forEach(function(e){var i=t(e,2),o=i[0],a=i[1];return r._originChanged(o,n,a)}):(this._setOrigin(n),"function"==typeof o.focus&&o.focus(i))}},{key:"ngOnDestroy",value:function(){var e=this;this._elementInfo.forEach(function(t,n){return e.stopMonitoring(n)})}},{key:"_getDocument",value:function(){return this._document||document}},{key:"_getWindow",value:function(){return this._getDocument().defaultView||window}},{key:"_toggleClass",value:function(e,t,n){n?e.classList.add(t):e.classList.remove(t)}},{key:"_getFocusOrigin",value:function(e){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(e)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}},{key:"_shouldBeAttributedToTouch",value:function(e){return 1===this._detectionMode||!!(null==e?void 0:e.contains(this._inputModalityDetector._mostRecentTarget))}},{key:"_setClasses",value:function(e,t){this._toggleClass(e,"cdk-focused",!!t),this._toggleClass(e,"cdk-touch-focused","touch"===t),this._toggleClass(e,"cdk-keyboard-focused","keyboard"===t),this._toggleClass(e,"cdk-mouse-focused","mouse"===t),this._toggleClass(e,"cdk-program-focused","program"===t)}},{key:"_setOrigin",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._ngZone.runOutsideAngular(function(){t._origin=e,t._originFromTouchInteraction="touch"===e&&n,0===t._detectionMode&&(clearTimeout(t._originTimeoutId),t._originTimeoutId=setTimeout(function(){return t._origin=null},t._originFromTouchInteraction?650:1))})}},{key:"_onFocus",value:function(e,t){var n=this._elementInfo.get(t),i=Jf(e);!n||!n.checkChildren&&t!==i||this._originChanged(t,this._getFocusOrigin(i),n)}},{key:"_onBlur",value:function(e,t){var n=this._elementInfo.get(t);!n||n.checkChildren&&e.relatedTarget instanceof Node&&t.contains(e.relatedTarget)||(this._setClasses(t),this._emitOrigin(n.subject,null))}},{key:"_emitOrigin",value:function(e,t){this._ngZone.run(function(){return e.next(t)})}},{key:"_registerGlobalListeners",value:function(e){var t=this;if(this._platform.isBrowser){var n=e.rootNode,i=this._rootNodeFocusListenerCount.get(n)||0;i||this._ngZone.runOutsideAngular(function(){n.addEventListener("focus",t._rootNodeFocusAndBlurListener,ig),n.addEventListener("blur",t._rootNodeFocusAndBlurListener,ig)}),this._rootNodeFocusListenerCount.set(n,i+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(function(){t._getWindow().addEventListener("focus",t._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(kf(this._stopInputModalityDetector)).subscribe(function(e){t._setOrigin(e,!0)}))}}},{key:"_removeGlobalListeners",value:function(e){var t=e.rootNode;if(this._rootNodeFocusListenerCount.has(t)){var n=this._rootNodeFocusListenerCount.get(t);n>1?this._rootNodeFocusListenerCount.set(t,n-1):(t.removeEventListener("focus",this._rootNodeFocusAndBlurListener,ig),t.removeEventListener("blur",this._rootNodeFocusAndBlurListener,ig),this._rootNodeFocusListenerCount.delete(t))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}},{key:"_originChanged",value:function(e,t,n){this._setClasses(e,t),this._emitOrigin(n.subject,t),this._lastFocusOrigin=t}},{key:"_getClosestElementsInfo",value:function(e){var t=[];return this._elementInfo.forEach(function(n,i){(i===e||n.checkChildren&&i.contains(e))&&t.push([i,n])}),t}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl),Zi(qf),Zi(Zv),Zi(bh,8),Zi(ng,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(Xl),Zi(qf),Zi(Zv),Zi(bh,8),Zi(ng,8))},token:e,providedIn:"root"}),e}(),og="cdk-high-contrast-black-on-white",ag="cdk-high-contrast-white-on-black",sg="cdk-high-contrast-active",ug=function(){var e=function(){function e(t,n){m(this,e),this._platform=t,this._document=n}return b(e,[{key:"getHighContrastMode",value:function(){if(!this._platform.isBrowser)return 0;var e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);var t=this._document.defaultView||window,n=t&&t.getComputedStyle?t.getComputedStyle(e):null,i=(n&&n.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(e),i){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}},{key:"_applyBodyHighContrastModeCssClasses",value:function(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){var e=this._document.body.classList;e.remove(sg),e.remove(og),e.remove(ag),this._hasCheckedHighContrastMode=!0;var t=this.getHighContrastMode();1===t?(e.add(sg),e.add(og)):2===t&&(e.add(sg),e.add(ag))}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf),Zi(bh))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf),Zi(bh))},token:e,providedIn:"root"}),e}(),cg=function(){var e=function e(t){m(this,e),t._applyBodyHighContrastModeCssClasses()};return e.\u0275fac=function(t){return new(t||e)(Zi(ug))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[Xf,Av]]}),e}(),lg=new oc("12.2.5"),hg=function e(){m(this,e)},dg="*";function fg(e,t){return{type:7,name:e,definitions:t,options:{}}}function pg(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:4,styles:t,timings:e}}function vg(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:2,steps:e,options:t}}function gg(e){return{type:6,styles:e,offset:null}}function mg(e,t,n){return{type:0,name:e,styles:t,options:n}}function yg(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:1,expr:e,animation:t,options:n}}function bg(e){Promise.resolve(null).then(e)}var _g=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;m(this,e),this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+n}return b(e,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[])}},{key:"onStart",value:function(e){this._onStartFns.push(e)}},{key:"onDone",value:function(e){this._onDoneFns.push(e)}},{key:"onDestroy",value:function(e){this._onDestroyFns.push(e)}},{key:"hasStarted",value:function(){return this._started}},{key:"init",value:function(){}},{key:"play",value:function(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}},{key:"triggerMicrotask",value:function(){var e=this;bg(function(){return e._onFinish()})}},{key:"_onStart",value:function(){this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[]}},{key:"pause",value:function(){}},{key:"restart",value:function(){}},{key:"finish",value:function(){this._onFinish()}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])}},{key:"reset",value:function(){this._started=!1}},{key:"setPosition",value:function(e){this._position=this.totalTime?e*this.totalTime:1}},{key:"getPosition",value:function(){return this.totalTime?this._position/this.totalTime:1}},{key:"triggerCallback",value:function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0}}]),e}(),wg=function(){function e(t){var n=this;m(this,e),this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;var i=0,r=0,o=0,a=this.players.length;0==a?bg(function(){return n._onFinish()}):this.players.forEach(function(e){e.onDone(function(){++i==a&&n._onFinish()}),e.onDestroy(function(){++r==a&&n._onDestroy()}),e.onStart(function(){++o==a&&n._onStart()})}),this.totalTime=this.players.reduce(function(e,t){return Math.max(e,t.totalTime)},0)}return b(e,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[])}},{key:"init",value:function(){this.players.forEach(function(e){return e.init()})}},{key:"onStart",value:function(e){this._onStartFns.push(e)}},{key:"_onStart",value:function(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[])}},{key:"onDone",value:function(e){this._onDoneFns.push(e)}},{key:"onDestroy",value:function(e){this._onDestroyFns.push(e)}},{key:"hasStarted",value:function(){return this._started}},{key:"play",value:function(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(function(e){return e.play()})}},{key:"pause",value:function(){this.players.forEach(function(e){return e.pause()})}},{key:"restart",value:function(){this.players.forEach(function(e){return e.restart()})}},{key:"finish",value:function(){this._onFinish(),this.players.forEach(function(e){return e.finish()})}},{key:"destroy",value:function(){this._onDestroy()}},{key:"_onDestroy",value:function(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(function(e){return e.destroy()}),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])}},{key:"reset",value:function(){this.players.forEach(function(e){return e.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1}},{key:"setPosition",value:function(e){var t=e*this.totalTime;this.players.forEach(function(e){var n=e.totalTime?Math.min(1,t/e.totalTime):1;e.setPosition(n)})}},{key:"getPosition",value:function(){var e=this.players.reduce(function(e,t){return null===e||t.totalTime>e.totalTime?t:e},null);return null!=e?e.getPosition():0}},{key:"beforeDestroy",value:function(){this.players.forEach(function(e){e.beforeDestroy&&e.beforeDestroy()})}},{key:"triggerCallback",value:function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0}}]),e}();function kg(){return"undefined"!=typeof window&&void 0!==window.document}function xg(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function Sg(e){switch(e.length){case 0:return new _g;case 1:return e[0];default:return new wg(e)}}function Cg(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=[],s=[],u=-1,c=null;if(i.forEach(function(e){var n=e.offset,i=n==u,l=i&&c||{};Object.keys(e).forEach(function(n){var i=n,s=e[n];if("offset"!==n)switch(i=t.normalizePropertyName(i,a),s){case"!":s=r[n];break;case dg:s=o[n];break;default:s=t.normalizeStyleValue(n,i,s,a)}l[i]=s}),i||s.push(l),c=l,u=n}),a.length){var l="\n - ";throw new Error("Unable to animate due to the following errors:".concat(l).concat(a.join(l)))}return s}function Eg(e,t,n,i){switch(t){case"start":e.onStart(function(){return i(n&&Og(n,"start",e))});break;case"done":e.onDone(function(){return i(n&&Og(n,"done",e))});break;case"destroy":e.onDestroy(function(){return i(n&&Og(n,"destroy",e))})}}function Og(e,t,n){var i=n.totalTime,r=Tg(e.element,e.triggerName,e.fromState,e.toState,t||e.phaseName,null==i?e.totalTime:i,!!n.disabled),o=e._data;return null!=o&&(r._data=o),r}function Tg(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,a=arguments.length>6?arguments[6]:void 0;return{element:e,triggerName:t,fromState:n,toState:i,phaseName:r,totalTime:o,disabled:!!a}}function Pg(e,t,n){var i;return e instanceof Map?(i=e.get(t))||e.set(t,i=n):(i=e[t])||(i=e[t]=n),i}function Ag(e){var t=e.indexOf(":");return[e.substring(1,t),e.substr(t+1)]}var Mg=function(e,t){return!1},Ig=function(e,t){return!1},Rg=function(e,t,n){return[]},Dg=xg();(Dg||"undefined"!=typeof Element)&&(Mg=kg()?function(e,t){for(;t&&t!==document.documentElement;){if(t===e)return!0;t=t.parentNode||t.host}return!1}:function(e,t){return e.contains(t)},Ig=function(){if(Dg||Element.prototype.matches)return function(e,t){return e.matches(t)};var e=Element.prototype,t=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;return t?function(e,n){return t.apply(e,[n])}:Ig}(),Rg=function(e,t,n){var i=[];if(n)for(var r=e.querySelectorAll(t),o=0;o1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).forEach(function(n){t[n]=e[n]}),t}function em(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(t)for(var i in e)n[i]=e[i];else Jg(e,n);return n}function tm(e,t,n){return n?t+":"+n+";":""}function nm(e){for(var t="",n=0;n *";case":leave":return"* => void";case":increment":return function(e,t){return parseFloat(t)>parseFloat(e)};case":decrement":return function(e,t){return parseFloat(t) *"}}(e,n);if("function"==typeof i)return void t.push(i);e=i}var r=e.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==r||r.length<4)return n.push('The provided transition expression "'.concat(e,'" is not supported')),t;var o=r[1],a=r[2],s=r[3];t.push(_m(o,s)),"<"==a[0]&&("*"!=o||"*"!=s)&&t.push(_m(s,o))}(e,n,t)}):n.push(e),n}var ym=new Set(["true","1"]),bm=new Set(["false","0"]);function _m(e,t){var n=ym.has(e)||bm.has(e),i=ym.has(t)||bm.has(t);return function(r,o){var a="*"==e||e==r,s="*"==t||t==o;return!a&&n&&"boolean"==typeof r&&(a=r?ym.has(e):bm.has(e)),!s&&i&&"boolean"==typeof o&&(s=o?ym.has(t):bm.has(t)),a&&s}}var wm=new RegExp("s*:selfs*,?","g");function km(e,t,n){return new xm(e).build(t,n)}var xm=function(){function e(t){m(this,e),this._driver=t}return b(e,[{key:"build",value:function(e,t){var n=new Sm(t);return this._resetContextStyleTimingState(n),vm(this,om(e),n)}},{key:"_resetContextStyleTimingState",value:function(e){e.currentQuerySelector="",e.collectedStyles={},e.collectedStyles[""]={},e.currentTime=0}},{key:"visitTrigger",value:function(e,t){var n=this,i=t.queryCount=0,r=t.depCount=0,o=[],a=[];return"@"==e.name.charAt(0)&&t.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),e.definitions.forEach(function(e){if(n._resetContextStyleTimingState(t),0==e.type){var s=e,u=s.name;u.toString().split(/\s*,\s*/).forEach(function(e){s.name=e,o.push(n.visitState(s,t))}),s.name=u}else if(1==e.type){var c=n.visitTransition(e,t);i+=c.queryCount,r+=c.depCount,a.push(c)}else t.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:e.name,states:o,transitions:a,queryCount:i,depCount:r,options:null}}},{key:"visitState",value:function(e,t){var n=this.visitStyle(e.styles,t),i=e.options&&e.options.params||null;if(n.containsDynamicStyles){var r=new Set,o=i||{};if(n.styles.forEach(function(e){if(Cm(e)){var t=e;Object.keys(t).forEach(function(e){sm(t[e]).forEach(function(e){o.hasOwnProperty(e)||r.add(e)})})}}),r.size){var a=cm(r.values());t.errors.push('state("'.concat(e.name,'", ...) must define default values for all the following style substitutions: ').concat(a.join(", ")))}}return{type:0,name:e.name,style:n,options:i?{params:i}:null}}},{key:"visitTransition",value:function(e,t){t.queryCount=0,t.depCount=0;var n=vm(this,om(e.animation),t);return{type:1,matchers:mm(e.expr,t.errors),animation:n,queryCount:t.queryCount,depCount:t.depCount,options:Em(e.options)}}},{key:"visitSequence",value:function(e,t){var n=this;return{type:2,steps:e.steps.map(function(e){return vm(n,e,t)}),options:Em(e.options)}}},{key:"visitGroup",value:function(e,t){var n=this,i=t.currentTime,r=0,o=e.steps.map(function(e){t.currentTime=i;var o=vm(n,e,t);return r=Math.max(r,t.currentTime),o});return t.currentTime=r,{type:3,steps:o,options:Em(e.options)}}},{key:"visitAnimate",value:function(e,t){var n=function(e,t){var n=null;if(e.hasOwnProperty("duration"))n=e;else if("number"==typeof e)return Om(Zg(e,t).duration,0,"");var i=e;if(i.split(/\s+/).some(function(e){return"{"==e.charAt(0)&&"{"==e.charAt(1)})){var r=Om(0,0,"");return r.dynamic=!0,r.strValue=i,r}return Om((n=n||Zg(i,t)).duration,n.delay,n.easing)}(e.timings,t.errors);t.currentAnimateTimings=n;var i,r=e.styles?e.styles:gg({});if(5==r.type)i=this.visitKeyframes(r,t);else{var o=e.styles,a=!1;if(!o){a=!0;var s={};n.easing&&(s.easing=n.easing),o=gg(s)}t.currentTime+=n.duration+n.delay;var u=this.visitStyle(o,t);u.isEmptyStep=a,i=u}return t.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}},{key:"visitStyle",value:function(e,t){var n=this._makeStyleAst(e,t);return this._validateStyleAst(n,t),n}},{key:"_makeStyleAst",value:function(e,t){var n=[];Array.isArray(e.styles)?e.styles.forEach(function(e){"string"==typeof e?e==dg?n.push(e):t.errors.push("The provided style string value ".concat(e," is not allowed.")):n.push(e)}):n.push(e.styles);var i=!1,r=null;return n.forEach(function(e){if(Cm(e)){var t=e,n=t.easing;if(n&&(r=n,delete t.easing),!i)for(var o in t)if(t[o].toString().indexOf("{{")>=0){i=!0;break}}}),{type:6,styles:n,easing:r,offset:e.offset,containsDynamicStyles:i,options:null}}},{key:"_validateStyleAst",value:function(e,t){var n=this,i=t.currentAnimateTimings,r=t.currentTime,o=t.currentTime;i&&o>0&&(o-=i.duration+i.delay),e.styles.forEach(function(e){"string"!=typeof e&&Object.keys(e).forEach(function(i){if(n._driver.validateStyleProperty(i)){var a=t.collectedStyles[t.currentQuerySelector],s=a[i],u=!0;s&&(o!=r&&o>=s.startTime&&r<=s.endTime&&(t.errors.push('The CSS property "'.concat(i,'" that exists between the times of "').concat(s.startTime,'ms" and "').concat(s.endTime,'ms" is also being animated in a parallel animation between the times of "').concat(o,'ms" and "').concat(r,'ms"')),u=!1),o=s.startTime),u&&(a[i]={startTime:o,endTime:r}),t.options&&function(e,t,n){var i=t.params||{},r=sm(e);r.length&&r.forEach(function(e){i.hasOwnProperty(e)||n.push("Unable to resolve the local animation param ".concat(e," in the given list of values"))})}(e[i],t.options,t.errors)}else t.errors.push('The provided animation property "'.concat(i,'" is not a supported CSS property for animations'))})})}},{key:"visitKeyframes",value:function(e,t){var n=this,i={type:5,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push("keyframes() must be placed inside of a call to animate()"),i;var r=0,o=[],a=!1,s=!1,u=0,c=e.steps.map(function(e){var i=n._makeStyleAst(e,t),c=null!=i.offset?i.offset:function(e){if("string"==typeof e)return null;var t=null;if(Array.isArray(e))e.forEach(function(e){if(Cm(e)&&e.hasOwnProperty("offset")){var n=e;t=parseFloat(n.offset),delete n.offset}});else if(Cm(e)&&e.hasOwnProperty("offset")){var n=e;t=parseFloat(n.offset),delete n.offset}return t}(i.styles),l=0;return null!=c&&(r++,l=i.offset=c),s=s||l<0||l>1,a=a||l0&&r0?r==d?1:h*r:o[r],s=a*v;t.currentTime=f+p.delay+s,p.duration=s,n._validateStyleAst(e,t),e.offset=a,i.styles.push(e)}),i}},{key:"visitReference",value:function(e,t){return{type:8,animation:vm(this,om(e.animation),t),options:Em(e.options)}}},{key:"visitAnimateChild",value:function(e,t){return t.depCount++,{type:9,options:Em(e.options)}}},{key:"visitAnimateRef",value:function(e,t){return{type:10,animation:this.visitReference(e.animation,t),options:Em(e.options)}}},{key:"visitQuery",value:function(e,n){var i=n.currentQuerySelector,r=e.options||{};n.queryCount++,n.currentQuery=e;var o=t(function(e){var t=!!e.split(/\s*,\s*/).find(function(e){return":self"==e});return t&&(e=e.replace(wm,"")),[e=e.replace(/@\*/g,Xg).replace(/@\w+/g,function(e){return Xg+"-"+e.substr(1)}).replace(/:animating/g,Kg),t]}(e.selector),2),a=o[0],s=o[1];n.currentQuerySelector=i.length?i+" "+a:a,Pg(n.collectedStyles,n.currentQuerySelector,{});var u=vm(this,om(e.animation),n);return n.currentQuery=null,n.currentQuerySelector=i,{type:11,selector:a,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:u,originalSelector:e.selector,options:Em(e.options)}}},{key:"visitStagger",value:function(e,t){t.currentQuery||t.errors.push("stagger() can only be used inside of query()");var n="full"===e.timings?{duration:0,delay:0,easing:"full"}:Zg(e.timings,t.errors,!0);return{type:12,animation:vm(this,om(e.animation),t),timings:n,options:null}}}]),e}(),Sm=function e(t){m(this,e),this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null};function Cm(e){return!Array.isArray(e)&&"object"==typeof e}function Em(e){return e?(e=Jg(e)).params&&(e.params=function(e){return e?Jg(e):null}(e.params)):e={},e}function Om(e,t,n){return{duration:e,delay:t,easing:n}}function Tm(e,t,n,i,r,o){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,s=arguments.length>7&&void 0!==arguments[7]&&arguments[7];return{type:1,element:e,keyframes:t,preStyleProps:n,postStyleProps:i,duration:r,delay:o,totalTime:r+o,easing:a,subTimeline:s}}var Pm=function(){function e(){m(this,e),this._map=new Map}return b(e,[{key:"consume",value:function(e){var t=this._map.get(e);return t?this._map.delete(e):t=[],t}},{key:"append",value:function(e,t){var n,i=this._map.get(e);i||this._map.set(e,i=[]),(n=i).push.apply(n,v(t))}},{key:"has",value:function(e){return this._map.has(e)}},{key:"clear",value:function(){this._map.clear()}}]),e}(),Am=new RegExp(":enter","g"),Mm=new RegExp(":leave","g");function Im(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},s=arguments.length>7?arguments[7]:void 0,u=arguments.length>8?arguments[8]:void 0,c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:[];return(new Rm).buildKeyframes(e,t,n,i,r,o,a,s,u,c)}var Rm=function(){function e(){m(this,e)}return b(e,[{key:"buildKeyframes",value:function(e,t,n,i,r,o,a,s,u){var c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:[];u=u||new Pm;var l=new Nm(e,t,u,i,r,c,[]);l.options=s,l.currentTimeline.setStyles([o],null,l.errors,s),vm(this,n,l);var h=l.timelines.filter(function(e){return e.containsAnimation()});if(h.length&&Object.keys(a).length){var d=h[h.length-1];d.allowOnlyTimelineStyles()||d.setStyles([a],null,l.errors,s)}return h.length?h.map(function(e){return e.buildKeyframes()}):[Tm(t,[],[],[],0,0,"",!1)]}},{key:"visitTrigger",value:function(e,t){}},{key:"visitState",value:function(e,t){}},{key:"visitTransition",value:function(e,t){}},{key:"visitAnimateChild",value:function(e,t){var n=t.subInstructions.consume(t.element);if(n){var i=t.createSubContext(e.options),r=t.currentTimeline.currentTime,o=this._visitSubInstructions(n,i,i.options);r!=o&&t.transformIntoNewTimeline(o)}t.previousNode=e}},{key:"visitAnimateRef",value:function(e,t){var n=t.createSubContext(e.options);n.transformIntoNewTimeline(),this.visitReference(e.animation,n),t.transformIntoNewTimeline(n.currentTimeline.currentTime),t.previousNode=e}},{key:"_visitSubInstructions",value:function(e,t,n){var i=t.currentTimeline.currentTime,r=null!=n.duration?$g(n.duration):null,o=null!=n.delay?$g(n.delay):null;return 0!==r&&e.forEach(function(e){var n=t.appendInstructionToTimeline(e,r,o);i=Math.max(i,n.duration+n.delay)}),i}},{key:"visitReference",value:function(e,t){t.updateOptions(e.options,!0),vm(this,e.animation,t),t.previousNode=e}},{key:"visitSequence",value:function(e,t){var n=this,i=t.subContextCount,r=t,o=e.options;if(o&&(o.params||o.delay)&&((r=t.createSubContext(o)).transformIntoNewTimeline(),null!=o.delay)){6==r.previousNode.type&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=Dm);var a=$g(o.delay);r.delayNextStep(a)}e.steps.length&&(e.steps.forEach(function(e){return vm(n,e,r)}),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),t.previousNode=e}},{key:"visitGroup",value:function(e,t){var n=this,i=[],r=t.currentTimeline.currentTime,o=e.options&&e.options.delay?$g(e.options.delay):0;e.steps.forEach(function(a){var s=t.createSubContext(e.options);o&&s.delayNextStep(o),vm(n,a,s),r=Math.max(r,s.currentTimeline.currentTime),i.push(s.currentTimeline)}),i.forEach(function(e){return t.currentTimeline.mergeTimelineCollectedStyles(e)}),t.transformIntoNewTimeline(r),t.previousNode=e}},{key:"_visitTiming",value:function(e,t){if(e.dynamic){var n=e.strValue;return Zg(t.params?um(n,t.params,t.errors):n,t.errors)}return{duration:e.duration,delay:e.delay,easing:e.easing}}},{key:"visitAnimate",value:function(e,t){var n=t.currentAnimateTimings=this._visitTiming(e.timings,t),i=t.currentTimeline;n.delay&&(t.incrementTime(n.delay),i.snapshotCurrentStyles());var r=e.style;5==r.type?this.visitKeyframes(r,t):(t.incrementTime(n.duration),this.visitStyle(r,t),i.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}},{key:"visitStyle",value:function(e,t){var n=t.currentTimeline,i=t.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();var r=i&&i.easing||e.easing;e.isEmptyStep?n.applyEmptyStep(r):n.setStyles(e.styles,r,t.errors,t.options),t.previousNode=e}},{key:"visitKeyframes",value:function(e,t){var n=t.currentAnimateTimings,i=t.currentTimeline.duration,r=n.duration,o=t.createSubContext().currentTimeline;o.easing=n.easing,e.styles.forEach(function(e){o.forwardTime((e.offset||0)*r),o.setStyles(e.styles,e.easing,t.errors,t.options),o.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(o),t.transformIntoNewTimeline(i+r),t.previousNode=e}},{key:"visitQuery",value:function(e,t){var n=this,i=t.currentTimeline.currentTime,r=e.options||{},o=r.delay?$g(r.delay):0;o&&(6===t.previousNode.type||0==i&&t.currentTimeline.getCurrentStyleProperties().length)&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=Dm);var a=i,s=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!r.optional,t.errors);t.currentQueryTotal=s.length;var u=null;s.forEach(function(i,r){t.currentQueryIndex=r;var s=t.createSubContext(e.options,i);o&&s.delayNextStep(o),i===t.element&&(u=s.currentTimeline),vm(n,e.animation,s),s.currentTimeline.applyStylesToKeyframe(),a=Math.max(a,s.currentTimeline.currentTime)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(a),u&&(t.currentTimeline.mergeTimelineCollectedStyles(u),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}},{key:"visitStagger",value:function(e,t){var n=t.parentContext,i=t.currentTimeline,r=e.timings,o=Math.abs(r.duration),a=o*(t.currentQueryTotal-1),s=o*t.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":s=a-s;break;case"full":s=n.currentStaggerTime}var u=t.currentTimeline;s&&u.delayNextStep(s);var c=u.currentTime;vm(this,e.animation,t),t.previousNode=e,n.currentStaggerTime=i.currentTime-c+(i.startTime-n.currentTimeline.startTime)}}]),e}(),Dm={},Nm=function(){function e(t,n,i,r,o,a,s,u){m(this,e),this._driver=t,this.element=n,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=o,this.errors=a,this.timelines=s,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Dm,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=u||new Lm(this._driver,n,0),s.push(this.currentTimeline)}return b(e,[{key:"params",get:function(){return this.options.params}},{key:"updateOptions",value:function(e,t){var n=this;if(e){var i=e,r=this.options;null!=i.duration&&(r.duration=$g(i.duration)),null!=i.delay&&(r.delay=$g(i.delay));var o=i.params;if(o){var a=r.params;a||(a=this.options.params={}),Object.keys(o).forEach(function(e){(!t||!a.hasOwnProperty(e))&&(a[e]=um(o[e],a,n.errors))})}}}},{key:"_copyOptions",value:function(){var e={};if(this.options){var t=this.options.params;if(t){var n=e.params={};Object.keys(t).forEach(function(e){n[e]=t[e]})}}return e}},{key:"createSubContext",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1?arguments[1]:void 0,i=arguments.length>2?arguments[2]:void 0,r=n||this.element,o=new e(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,i||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(t),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}},{key:"transformIntoNewTimeline",value:function(e){return this.previousNode=Dm,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}},{key:"appendInstructionToTimeline",value:function(e,t,n){var i={duration:null!=t?t:e.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+e.delay,easing:""},r=new jm(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,i,e.stretchStartingKeyframe);return this.timelines.push(r),i}},{key:"incrementTime",value:function(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}},{key:"delayNextStep",value:function(e){e>0&&this.currentTimeline.delayNextStep(e)}},{key:"invokeQuery",value:function(e,t,n,i,r,o){var a=[];if(i&&a.push(this.element),e.length>0){e=(e=e.replace(Am,"."+this._enterClassName)).replace(Mm,"."+this._leaveClassName);var s=this._driver.query(this.element,e,1!=n);0!==n&&(s=n<0?s.slice(s.length+n,s.length):s.slice(0,n)),a.push.apply(a,v(s))}return!r&&0==a.length&&o.push('`query("'.concat(t,'")` returned zero elements. (Use `query("').concat(t,'", { optional: true })` if you wish to allow this.)')),a}}]),e}(),Lm=function(){function e(t,n,i,r){m(this,e),this._driver=t,this.element=n,this.startTime=i,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(n),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(n,this._localTimelineStyles)),this._loadKeyframe()}return b(e,[{key:"containsAnimation",value:function(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}},{key:"getCurrentStyleProperties",value:function(){return Object.keys(this._currentKeyframe)}},{key:"currentTime",get:function(){return this.startTime+this.duration}},{key:"delayNextStep",value:function(e){var t=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e}},{key:"fork",value:function(t,n){return this.applyStylesToKeyframe(),new e(this._driver,t,n||this.currentTime,this._elementTimelineStylesLookup)}},{key:"_loadKeyframe",value:function(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}},{key:"forwardFrame",value:function(){this.duration+=1,this._loadKeyframe()}},{key:"forwardTime",value:function(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}},{key:"_updateStyle",value:function(e,t){this._localTimelineStyles[e]=t,this._globalTimelineStyles[e]=t,this._styleSummary[e]={time:this.currentTime,value:t}}},{key:"allowOnlyTimelineStyles",value:function(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}},{key:"applyEmptyStep",value:function(e){var t=this;e&&(this._previousKeyframe.easing=e),Object.keys(this._globalTimelineStyles).forEach(function(e){t._backFill[e]=t._globalTimelineStyles[e]||dg,t._currentKeyframe[e]=dg}),this._currentEmptyStepKeyframe=this._currentKeyframe}},{key:"setStyles",value:function(e,t,n,i){var r=this;t&&(this._previousKeyframe.easing=t);var o=i&&i.params||{},a=function(e,t){var n,i={};return e.forEach(function(e){"*"===e?(n=n||Object.keys(t)).forEach(function(e){i[e]=dg}):em(e,!1,i)}),i}(e,this._globalTimelineStyles);Object.keys(a).forEach(function(e){var t=um(a[e],o,n);r._pendingStyles[e]=t,r._localTimelineStyles.hasOwnProperty(e)||(r._backFill[e]=r._globalTimelineStyles.hasOwnProperty(e)?r._globalTimelineStyles[e]:dg),r._updateStyle(e,t)})}},{key:"applyStylesToKeyframe",value:function(){var e=this,t=this._pendingStyles,n=Object.keys(t);0!=n.length&&(this._pendingStyles={},n.forEach(function(n){e._currentKeyframe[n]=t[n]}),Object.keys(this._localTimelineStyles).forEach(function(t){e._currentKeyframe.hasOwnProperty(t)||(e._currentKeyframe[t]=e._localTimelineStyles[t])}))}},{key:"snapshotCurrentStyles",value:function(){var e=this;Object.keys(this._localTimelineStyles).forEach(function(t){var n=e._localTimelineStyles[t];e._pendingStyles[t]=n,e._updateStyle(t,n)})}},{key:"getFinalKeyframe",value:function(){return this._keyframes.get(this.duration)}},{key:"properties",get:function(){var e=[];for(var t in this._currentKeyframe)e.push(t);return e}},{key:"mergeTimelineCollectedStyles",value:function(e){var t=this;Object.keys(e._styleSummary).forEach(function(n){var i=t._styleSummary[n],r=e._styleSummary[n];(!i||r.time>i.time)&&t._updateStyle(n,r.value)})}},{key:"buildKeyframes",value:function(){var e=this;this.applyStylesToKeyframe();var t=new Set,n=new Set,i=1===this._keyframes.size&&0===this.duration,r=[];this._keyframes.forEach(function(o,a){var s=em(o,!0);Object.keys(s).forEach(function(e){var i=s[e];"!"==i?t.add(e):i==dg&&n.add(e)}),i||(s.offset=a/e.duration),r.push(s)});var o=t.size?cm(t.values()):[],a=n.size?cm(n.values()):[];if(i){var s=r[0],u=Jg(s);s.offset=0,u.offset=1,r=[s,u]}return Tm(this.element,r,o,a,this.duration,this.startTime,this.easing,!1)}}]),e}(),jm=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s){var u,c=arguments.length>6&&void 0!==arguments[6]&&arguments[6];return m(this,n),(u=t.call(this,e,i,s.delay)).keyframes=r,u.preStyleProps=o,u.postStyleProps=a,u._stretchStartingKeyframe=c,u.timings={duration:s.duration,delay:s.delay,easing:s.easing},u}return b(n,[{key:"containsAnimation",value:function(){return this.keyframes.length>1}},{key:"buildKeyframes",value:function(){var e=this.keyframes,t=this.timings,n=t.delay,i=t.duration,r=t.easing;if(this._stretchStartingKeyframe&&n){var o=[],a=i+n,s=n/a,u=em(e[0],!1);u.offset=0,o.push(u);var c=em(e[0],!1);c.offset=Fm(s),o.push(c);for(var l=e.length-1,h=1;h<=l;h++){var d=em(e[h],!1);d.offset=Fm((n+d.offset*i)/a),o.push(d)}i=a,n=0,r="",e=o}return Tm(this.element,e,this.preStyleProps,this.postStyleProps,i,n,r,!0)}}]),n}(Lm);function Fm(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=Math.pow(10,t-1);return Math.round(e*n)/n}var Bm=function e(){m(this,e)},Vm=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"normalizePropertyName",value:function(e,t){return hm(e)}},{key:"normalizeStyleValue",value:function(e,t,n,i){var r="",o=n.toString().trim();if(zm[t]&&0!==n&&"0"!==n)if("number"==typeof n)r="px";else{var a=n.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&i.push("Please provide a CSS unit value for ".concat(e,":").concat(n))}return o+r}}]),n}(Bm),zm=function(e){var t={};return e.forEach(function(e){return t[e]=!0}),t}("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".split(","));function Um(e,t,n,i,r,o,a,s,u,c,l,h,d){return{type:0,element:e,triggerName:t,isRemovalTransition:r,fromState:n,fromStyles:o,toState:i,toStyles:a,timelines:s,queriedElements:u,preStyleProps:c,postStyleProps:l,totalTime:h,errors:d}}var Hm={},Gm=function(){function e(t,n,i){m(this,e),this._triggerName=t,this.ast=n,this._stateStyles=i}return b(e,[{key:"match",value:function(e,t,n,i){return function(e,t,n,i,r){return e.some(function(e){return e(t,n,i,r)})}(this.ast.matchers,e,t,n,i)}},{key:"buildStyles",value:function(e,t,n){var i=this._stateStyles["*"],r=this._stateStyles[e],o=i?i.buildStyles(t,n):{};return r?r.buildStyles(t,n):o}},{key:"build",value:function(e,t,n,i,r,o,a,s,u,c){var l=[],h=this.ast.options&&this.ast.options.params||Hm,d=this.buildStyles(n,a&&a.params||Hm,l),f=s&&s.params||Hm,p=this.buildStyles(i,f,l),v=new Set,g=new Map,m=new Map,y="void"===i,b={params:Object.assign(Object.assign({},h),f)},_=c?[]:Im(e,t,this.ast.animation,r,o,d,p,b,u,l),w=0;if(_.forEach(function(e){w=Math.max(e.duration+e.delay,w)}),l.length)return Um(t,this._triggerName,n,i,y,d,p,[],[],g,m,w,l);_.forEach(function(e){var n=e.element,i=Pg(g,n,{});e.preStyleProps.forEach(function(e){return i[e]=!0});var r=Pg(m,n,{});e.postStyleProps.forEach(function(e){return r[e]=!0}),n!==t&&v.add(n)});var k=cm(v.values());return Um(t,this._triggerName,n,i,y,d,p,_,k,g,m,w)}}]),e}(),Wm=function(){function e(t,n,i){m(this,e),this.styles=t,this.defaultParams=n,this.normalizer=i}return b(e,[{key:"buildStyles",value:function(e,t){var n=this,i={},r=Jg(this.defaultParams);return Object.keys(e).forEach(function(t){var n=e[t];null!=n&&(r[t]=n)}),this.styles.styles.forEach(function(e){if("string"!=typeof e){var o=e;Object.keys(o).forEach(function(e){var a=o[e];a.length>1&&(a=um(a,r,t));var s=n.normalizer.normalizePropertyName(e,t);a=n.normalizer.normalizeStyleValue(e,s,a,t),i[s]=a})}}),i}}]),e}(),qm=function(){function e(t,n,i){var r=this;m(this,e),this.name=t,this.ast=n,this._normalizer=i,this.transitionFactories=[],this.states={},n.states.forEach(function(e){r.states[e.name]=new Wm(e.style,e.options&&e.options.params||{},i)}),Xm(this.states,"true","1"),Xm(this.states,"false","0"),n.transitions.forEach(function(e){r.transitionFactories.push(new Gm(t,e,r.states))}),this.fallbackTransition=function(e,t,n){return new Gm(e,{type:1,animation:{type:2,steps:[],options:null},matchers:[function(e,t){return!0}],options:null,queryCount:0,depCount:0},t)}(t,this.states)}return b(e,[{key:"containsQueries",get:function(){return this.ast.queryCount>0}},{key:"matchTransition",value:function(e,t,n,i){return this.transitionFactories.find(function(r){return r.match(e,t,n,i)})||null}},{key:"matchStyles",value:function(e,t,n){return this.fallbackTransition.buildStyles(e,t,n)}}]),e}();function Xm(e,t,n){e.hasOwnProperty(t)?e.hasOwnProperty(n)||(e[n]=e[t]):e.hasOwnProperty(n)&&(e[t]=e[n])}var Ym=new Pm,Km=function(){function e(t,n,i){m(this,e),this.bodyNode=t,this._driver=n,this._normalizer=i,this._animations={},this._playersById={},this.players=[]}return b(e,[{key:"register",value:function(e,t){var n=[],i=km(this._driver,t,n);if(n.length)throw new Error("Unable to build the animation due to the following errors: ".concat(n.join("\n")));this._animations[e]=i}},{key:"_buildPlayer",value:function(e,t,n){var i=e.element,r=Cg(0,this._normalizer,0,e.keyframes,t,n);return this._driver.animate(i,r,e.duration,e.delay,e.easing,[],!0)}},{key:"create",value:function(e,t){var n,i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=[],a=this._animations[e],s=new Map;if(a?(n=Im(this._driver,t,a,Gg,Wg,{},{},r,Ym,o)).forEach(function(e){var t=Pg(s,e.element,{});e.postStyleProps.forEach(function(e){return t[e]=null})}):(o.push("The requested animation doesn't exist or has already been destroyed"),n=[]),o.length)throw new Error("Unable to create the animation due to the following errors: ".concat(o.join("\n")));s.forEach(function(e,t){Object.keys(e).forEach(function(n){e[n]=i._driver.computeStyle(t,n,dg)})});var u=Sg(n.map(function(e){var t=s.get(e.element);return i._buildPlayer(e,{},t)}));return this._playersById[e]=u,u.onDestroy(function(){return i.destroy(e)}),this.players.push(u),u}},{key:"destroy",value:function(e){var t=this._getPlayer(e);t.destroy(),delete this._playersById[e];var n=this.players.indexOf(t);n>=0&&this.players.splice(n,1)}},{key:"_getPlayer",value:function(e){var t=this._playersById[e];if(!t)throw new Error("Unable to find the timeline player referenced by ".concat(e));return t}},{key:"listen",value:function(e,t,n,i){var r=Tg(t,"","","");return Eg(this._getPlayer(e),n,r,i),function(){}}},{key:"command",value:function(e,t,n,i){if("register"!=n)if("create"!=n){var r=this._getPlayer(e);switch(n){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(e)}}else this.create(e,t,i[0]||{});else this.register(e,i[0])}}]),e}(),$m="ng-animate-queued",Qm="ng-animate-disabled",Zm=".ng-animate-disabled",Jm=[],ey={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},ty={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},ny="__ng_removed",iy=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";m(this,e),this.namespaceId=n;var i=t&&t.hasOwnProperty("value");if(this.value=function(e){return null!=e?e:null}(i?t.value:t),i){var r=Jg(t);delete r.value,this.options=r}else this.options={};this.options.params||(this.options.params={})}return b(e,[{key:"params",get:function(){return this.options.params}},{key:"absorbOptions",value:function(e){var t=e.params;if(t){var n=this.options.params;Object.keys(t).forEach(function(e){null==n[e]&&(n[e]=t[e])})}}}]),e}(),ry="void",oy=new iy(ry),ay=function(){function e(t,n,i){m(this,e),this.id=t,this.hostElement=n,this._engine=i,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,py(n,this._hostClassName)}return b(e,[{key:"listen",value:function(e,t,n,i){var r=this;if(!this._triggers.hasOwnProperty(t))throw new Error('Unable to listen on the animation trigger event "'.concat(n,'" because the animation trigger "').concat(t,"\" doesn't exist!"));if(null==n||0==n.length)throw new Error('Unable to listen on the animation trigger "'.concat(t,'" because the provided event is undefined!'));if(!function(e){return"start"==e||"done"==e}(n))throw new Error('The provided animation trigger event "'.concat(n,'" for the animation trigger "').concat(t,'" is not supported!'));var o=Pg(this._elementListeners,e,[]),a={name:t,phase:n,callback:i};o.push(a);var s=Pg(this._engine.statesByElement,e,{});return s.hasOwnProperty(t)||(py(e,qg),py(e,qg+"-"+t),s[t]=oy),function(){r._engine.afterFlush(function(){var e=o.indexOf(a);e>=0&&o.splice(e,1),r._triggers[t]||delete s[t]})}}},{key:"register",value:function(e,t){return!this._triggers[e]&&(this._triggers[e]=t,!0)}},{key:"_getTrigger",value:function(e){var t=this._triggers[e];if(!t)throw new Error('The provided animation trigger "'.concat(e,'" has not been registered!'));return t}},{key:"trigger",value:function(e,t,n){var i=this,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=this._getTrigger(t),a=new uy(this.id,t,e),s=this._engine.statesByElement.get(e);s||(py(e,qg),py(e,qg+"-"+t),this._engine.statesByElement.set(e,s={}));var u=s[t],c=new iy(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&u&&c.absorbOptions(u.options),s[t]=c,u||(u=oy),c.value===ry||u.value!==c.value){var l=Pg(this._engine.playersByElement,e,[]);l.forEach(function(e){e.namespaceId==i.id&&e.triggerName==t&&e.queued&&e.destroy()});var h=o.matchTransition(u.value,c.value,e,c.params),d=!1;if(!h){if(!r)return;h=o.fallbackTransition,d=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:h,fromState:u,toState:c,player:a,isFallbackTransition:d}),d||(py(e,$m),a.onStart(function(){vy(e,$m)})),a.onDone(function(){var t=i.players.indexOf(a);t>=0&&i.players.splice(t,1);var n=i._engine.playersByElement.get(e);if(n){var r=n.indexOf(a);r>=0&&n.splice(r,1)}}),this.players.push(a),l.push(a),a}if(!function(e,t){var n=Object.keys(e),i=Object.keys(t);if(n.length!=i.length)return!1;for(var r=0;r=0){for(var i=!1,r=n;r>=0;r--)if(this.driver.containsElement(this._namespaceList[r].hostElement,t)){this._namespaceList.splice(r+1,0,e),i=!0;break}i||this._namespaceList.splice(0,0,e)}else this._namespaceList.push(e);return this.namespacesByHostElement.set(t,e),e}},{key:"register",value:function(e,t){var n=this._namespaceLookup[e];return n||(n=this.createNamespace(e,t)),n}},{key:"registerTrigger",value:function(e,t,n){var i=this._namespaceLookup[e];i&&i.register(t,n)&&this.totalAnimations++}},{key:"destroy",value:function(e,t){var n=this;if(e){var i=this._fetchNamespace(e);this.afterFlush(function(){n.namespacesByHostElement.delete(i.hostElement),delete n._namespaceLookup[e];var t=n._namespaceList.indexOf(i);t>=0&&n._namespaceList.splice(t,1)}),this.afterFlushAnimationsDone(function(){return i.destroy(t)})}}},{key:"_fetchNamespace",value:function(e){return this._namespaceLookup[e]}},{key:"fetchNamespacesByElement",value:function(e){var t=new Set,n=this.statesByElement.get(e);if(n)for(var i=Object.keys(n),r=0;r=0&&this.collectedLeaveElements.splice(o,1)}if(e){var a=this._fetchNamespace(e);a&&a.insertNode(t,n)}i&&this.collectEnterElement(t)}}},{key:"collectEnterElement",value:function(e){this.collectedEnterElements.push(e)}},{key:"markElementAsDisabled",value:function(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),py(e,Qm)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),vy(e,Qm))}},{key:"removeNode",value:function(e,t,n,i){if(cy(t)){var r=e?this._fetchNamespace(e):null;if(r?r.removeNode(t,i):this.markElementAsRemoved(e,t,!1,i),n){var o=this.namespacesByHostElement.get(t);o&&o.id!==e&&o.removeNode(t,i)}}else this._onRemovalComplete(t,i)}},{key:"markElementAsRemoved",value:function(e,t,n,i){this.collectedLeaveElements.push(t),t[ny]={namespaceId:e,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}},{key:"listen",value:function(e,t,n,i,r){return cy(t)?this._fetchNamespace(e).listen(t,n,i,r):function(){}}},{key:"_buildInstruction",value:function(e,t,n,i,r){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,n,i,e.fromState.options,e.toState.options,t,r)}},{key:"destroyInnerAnimations",value:function(e){var t=this,n=this.driver.query(e,Xg,!0);n.forEach(function(e){return t.destroyActiveAnimationsForElement(e)}),0!=this.playersByQueriedElement.size&&(n=this.driver.query(e,Kg,!0)).forEach(function(e){return t.finishActiveQueriedAnimationOnElement(e)})}},{key:"destroyActiveAnimationsForElement",value:function(e){var t=this.playersByElement.get(e);t&&t.forEach(function(e){e.queued?e.markedForDestroy=!0:e.destroy()})}},{key:"finishActiveQueriedAnimationOnElement",value:function(e){var t=this.playersByQueriedElement.get(e);t&&t.forEach(function(e){return e.finish()})}},{key:"whenRenderingDone",value:function(){var e=this;return new Promise(function(t){if(e.players.length)return Sg(e.players).onDone(function(){return t()});t()})}},{key:"processLeaveNode",value:function(e){var t=this,n=e[ny];if(n&&n.setForRemoval){if(e[ny]=ey,n.namespaceId){this.destroyInnerAnimations(e);var i=this._fetchNamespace(n.namespaceId);i&&i.clearElementCache(e)}this._onRemovalComplete(e,n.setForRemoval)}this.driver.matchesElement(e,Zm)&&this.markElementAsDisabled(e,!1),this.driver.query(e,Zm,!0).forEach(function(e){t.markElementAsDisabled(e,!1)})}},{key:"flush",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,n=[];if(this.newHostElements.size&&(this.newHostElements.forEach(function(t,n){return e._balanceNamespaceList(t,n)}),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(var i=0;i=0;O--)this._namespaceList[O].drainQueuedTransitions(t).forEach(function(e){var t=e.player,o=e.element;if(C.push(t),n.collectedEnterElements.length){var l=o[ny];if(l&&l.setForMove)return void t.destroy()}var d=!h||!n.driver.containsElement(h,o),f=x.get(o),v=p.get(o),g=n._buildInstruction(e,i,v,f,d);if(g.errors&&g.errors.length)E.push(g);else{if(d)return t.onStart(function(){return rm(o,g.fromStyles)}),t.onDestroy(function(){return im(o,g.toStyles)}),void r.push(t);if(e.isFallbackTransition)return t.onStart(function(){return rm(o,g.fromStyles)}),t.onDestroy(function(){return im(o,g.toStyles)}),void r.push(t);g.timelines.forEach(function(e){return e.stretchStartingKeyframe=!0}),i.append(o,g.timelines),a.push({instruction:g,player:t,element:o}),g.queriedElements.forEach(function(e){return Pg(s,e,[]).push(t)}),g.preStyleProps.forEach(function(e,t){var n=Object.keys(e);if(n.length){var i=u.get(t);i||u.set(t,i=new Set),n.forEach(function(e){return i.add(e)})}}),g.postStyleProps.forEach(function(e,t){var n=Object.keys(e),i=c.get(t);i||c.set(t,i=new Set),n.forEach(function(e){return i.add(e)})})}});if(E.length){var T=[];E.forEach(function(e){T.push("@".concat(e.triggerName," has failed due to:\n")),e.errors.forEach(function(e){return T.push("- ".concat(e,"\n"))})}),C.forEach(function(e){return e.destroy()}),this.reportError(T)}var P=new Map,A=new Map;a.forEach(function(e){var t=e.element;i.has(t)&&(A.set(t,t),n._beforeAnimationBuild(e.player.namespaceId,e.instruction,P))}),r.forEach(function(e){var t=e.element;n._getPreviousPlayers(t,!1,e.namespaceId,e.triggerName,null).forEach(function(e){Pg(P,t,[]).push(e),e.destroy()})});var M=m.filter(function(e){return yy(e,u,c)}),I=new Map;hy(I,this.driver,b,c,dg).forEach(function(e){yy(e,u,c)&&M.push(e)});var R=new Map;f.forEach(function(e,t){hy(R,n.driver,new Set(e),u,"!")}),M.forEach(function(e){var t=I.get(e),n=R.get(e);I.set(e,Object.assign(Object.assign({},t),n))});var D=[],N=[],L={};a.forEach(function(e){var t=e.element,a=e.player,s=e.instruction;if(i.has(t)){if(l.has(t))return a.onDestroy(function(){return im(t,s.toStyles)}),a.disabled=!0,a.overrideTotalTime(s.totalTime),void r.push(a);var u=L;if(A.size>1){for(var c=t,h=[];c=c.parentNode;){var d=A.get(c);if(d){u=d;break}h.push(c)}h.forEach(function(e){return A.set(e,u)})}var f=n._buildAnimation(a.namespaceId,s,P,o,R,I);if(a.setRealPlayer(f),u===L)D.push(a);else{var p=n.playersByElement.get(u);p&&p.length&&(a.parentPlayer=Sg(p)),r.push(a)}}else rm(t,s.fromStyles),a.onDestroy(function(){return im(t,s.toStyles)}),N.push(a),l.has(t)&&r.push(a)}),N.forEach(function(e){var t=o.get(e.element);if(t&&t.length){var n=Sg(t);e.setRealPlayer(n)}}),r.forEach(function(e){e.parentPlayer?e.syncPlayerEvents(e.parentPlayer):e.destroy()});for(var j=0;j0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,n):new _g(e.duration,e.delay)}}]),e}(),uy=function(){function e(t,n,i){m(this,e),this.namespaceId=t,this.triggerName=n,this.element=i,this._player=new _g,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}return b(e,[{key:"setRealPlayer",value:function(e){var t=this;this._containsRealPlayer||(this._player=e,Object.keys(this._queuedCallbacks).forEach(function(n){t._queuedCallbacks[n].forEach(function(t){return Eg(e,n,void 0,t)})}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}},{key:"getRealPlayer",value:function(){return this._player}},{key:"overrideTotalTime",value:function(e){this.totalTime=e}},{key:"syncPlayerEvents",value:function(e){var t=this,n=this._player;n.triggerCallback&&e.onStart(function(){return n.triggerCallback("start")}),e.onDone(function(){return t.finish()}),e.onDestroy(function(){return t.destroy()})}},{key:"_queueEvent",value:function(e,t){Pg(this._queuedCallbacks,e,[]).push(t)}},{key:"onDone",value:function(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}},{key:"onStart",value:function(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}},{key:"onDestroy",value:function(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}},{key:"init",value:function(){this._player.init()}},{key:"hasStarted",value:function(){return!this.queued&&this._player.hasStarted()}},{key:"play",value:function(){!this.queued&&this._player.play()}},{key:"pause",value:function(){!this.queued&&this._player.pause()}},{key:"restart",value:function(){!this.queued&&this._player.restart()}},{key:"finish",value:function(){this._player.finish()}},{key:"destroy",value:function(){this.destroyed=!0,this._player.destroy()}},{key:"reset",value:function(){!this.queued&&this._player.reset()}},{key:"setPosition",value:function(e){this.queued||this._player.setPosition(e)}},{key:"getPosition",value:function(){return this.queued?0:this._player.getPosition()}},{key:"triggerCallback",value:function(e){var t=this._player;t.triggerCallback&&t.triggerCallback(e)}}]),e}();function cy(e){return e&&1===e.nodeType}function ly(e,t){var n=e.style.display;return e.style.display=null!=t?t:"none",n}function hy(e,t,n,i,r){var o=[];n.forEach(function(e){return o.push(ly(e))});var a=[];i.forEach(function(n,i){var o={};n.forEach(function(e){var n=o[e]=t.computeStyle(i,e,r);(!n||0==n.length)&&(i[ny]=ty,a.push(i))}),e.set(i,o)});var s=0;return n.forEach(function(e){return ly(e,o[s++])}),a}function dy(e,t){var n=new Map;if(e.forEach(function(e){return n.set(e,[])}),0==t.length)return n;var i=new Set(t),r=new Map;function o(e){if(!e)return 1;var t=r.get(e);if(t)return t;var a=e.parentNode;return t=n.has(a)?a:i.has(a)?1:o(a),r.set(e,t),t}return t.forEach(function(e){var t=o(e);1!==t&&n.get(t).push(e)}),n}var fy="$$classes";function py(e,t){if(e.classList)e.classList.add(t);else{var n=e[fy];n||(n=e[fy]={}),n[t]=!0}}function vy(e,t){if(e.classList)e.classList.remove(t);else{var n=e[fy];n&&delete n[t]}}function gy(e,t,n){Sg(n).onDone(function(){return e.processLeaveNode(t)})}function my(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:-1;this._transitionEngine.flush(e)}},{key:"players",get:function(){return this._transitionEngine.players.concat(this._timelineEngine.players)}},{key:"whenRenderingDone",value:function(){return this._transitionEngine.whenRenderingDone()}}]),e}();function _y(e,t){var n=null,i=null;return Array.isArray(t)&&t.length?(n=ky(t[0]),t.length>1&&(i=ky(t[t.length-1]))):t&&(n=ky(t)),n||i?new wy(e,n,i):null}var wy=function(){function e(t,n,i){m(this,e),this._element=t,this._startStyles=n,this._endStyles=i,this._state=0;var r=e.initialStylesByElement.get(t);r||e.initialStylesByElement.set(t,r={}),this._initialStyles=r}return b(e,[{key:"start",value:function(){this._state<1&&(this._startStyles&&im(this._element,this._startStyles,this._initialStyles),this._state=1)}},{key:"finish",value:function(){this.start(),this._state<2&&(im(this._element,this._initialStyles),this._endStyles&&(im(this._element,this._endStyles),this._endStyles=null),this._state=1)}},{key:"destroy",value:function(){this.finish(),this._state<3&&(e.initialStylesByElement.delete(this._element),this._startStyles&&(rm(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(rm(this._element,this._endStyles),this._endStyles=null),im(this._element,this._initialStyles),this._state=3)}}]),e}();function ky(e){for(var t=null,n=Object.keys(e),i=0;i=this._delay&&n>=this._duration&&this.finish()}},{key:"finish",value:function(){this._finished||(this._finished=!0,this._onDoneFn(),Ay(this._element,this._eventFn,!0))}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this.finish(),function(e,t){var n=Iy(e,"").split(","),i=Py(n,t);i>=0&&(n.splice(i,1),My(e,"",n.join(",")))}(this._element,this._name))}}]),e}();function Oy(e,t,n){My(e,"PlayState",n,Ty(e,t))}function Ty(e,t){var n=Iy(e,"");return n.indexOf(",")>0?Py(n.split(","),t):Py([n],t)}function Py(e,t){for(var n=0;n=0)return n;return-1}function Ay(e,t,n){n?e.removeEventListener(Cy,t):e.addEventListener(Cy,t)}function My(e,t,n,i){var r=Sy+t;if(null!=i){var o=e.style[r];if(o.length){var a=o.split(",");a[i]=n,n=a.join(",")}}e.style[r]=n}function Iy(e,t){return e.style[Sy+t]||""}var Ry=function(){function e(t,n,i,r,o,a,s,u){m(this,e),this.element=t,this.keyframes=n,this.animationName=i,this._duration=r,this._delay=o,this._finalStyles=s,this._specialStyles=u,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=a||"linear",this.totalTime=r+o,this._buildStyler()}return b(e,[{key:"onStart",value:function(e){this._onStartFns.push(e)}},{key:"onDone",value:function(e){this._onDoneFns.push(e)}},{key:"onDestroy",value:function(e){this._onDestroyFns.push(e)}},{key:"destroy",value:function(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])}},{key:"_flushDoneFns",value:function(){this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[]}},{key:"_flushStartFns",value:function(){this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[]}},{key:"finish",value:function(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}},{key:"setPosition",value:function(e){this._styler.setPosition(e)}},{key:"getPosition",value:function(){return this._styler.getPosition()}},{key:"hasStarted",value:function(){return this._state>=2}},{key:"init",value:function(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}},{key:"play",value:function(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}},{key:"pause",value:function(){this.init(),this._styler.pause()}},{key:"restart",value:function(){this.reset(),this.play()}},{key:"reset",value:function(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}},{key:"_buildStyler",value:function(){var e=this;this._styler=new Ey(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",function(){return e.finish()})}},{key:"triggerCallback",value:function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0}},{key:"beforeDestroy",value:function(){var e=this;this.init();var t={};if(this.hasStarted()){var n=this._state>=3;Object.keys(this._finalStyles).forEach(function(i){"offset"!=i&&(t[i]=n?e._finalStyles[i]:gm(e.element,i))})}this.currentSnapshot=t}}]),e}(),Dy=function(t){a(i,t);var n=s(i);function i(e,t){var r;return m(this,i),(r=n.call(this)).element=e,r._startingStyles={},r.__initialized=!1,r._styles=zg(t),r}return b(i,[{key:"init",value:function(){var t=this;this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(function(e){t._startingStyles[e]=t.element.style[e]}),e(p(i.prototype),"init",this).call(this))}},{key:"play",value:function(){var t=this;!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(function(e){return t.element.style.setProperty(e,t._styles[e])}),e(p(i.prototype),"play",this).call(this))}},{key:"destroy",value:function(){var t=this;!this._startingStyles||(Object.keys(this._startingStyles).forEach(function(e){var n=t._startingStyles[e];n?t.element.style.setProperty(e,n):t.element.style.removeProperty(e)}),this._startingStyles=null,e(p(i.prototype),"destroy",this).call(this))}}]),i}(_g),Ny=function(){function e(){m(this,e),this._count=0}return b(e,[{key:"validateStyleProperty",value:function(e){return jg(e)}},{key:"matchesElement",value:function(e,t){return Fg(e,t)}},{key:"containsElement",value:function(e,t){return Bg(e,t)}},{key:"query",value:function(e,t,n){return Vg(e,t,n)}},{key:"computeStyle",value:function(e,t,n){return window.getComputedStyle(e)[t]}},{key:"buildKeyframeElement",value:function(e,t,n){n=n.map(function(e){return zg(e)});var i="@keyframes ".concat(t," {\n"),r="";n.forEach(function(e){r=" ";var t=parseFloat(e.offset);i+="".concat(r).concat(100*t,"% {\n"),r+=" ",Object.keys(e).forEach(function(t){var n=e[t];switch(t){case"offset":return;case"easing":return void(n&&(i+="".concat(r,"animation-timing-function: ").concat(n,";\n")));default:return void(i+="".concat(r).concat(t,": ").concat(n,";\n"))}}),i+="".concat(r,"}\n")}),i+="}\n";var o=document.createElement("style");return o.textContent=i,o}},{key:"animate",value:function(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],a=o.filter(function(e){return e instanceof Ry}),s={};fm(n,i)&&a.forEach(function(e){var t=e.currentSnapshot;Object.keys(t).forEach(function(e){return s[e]=t[e]})});var u=function(e){var t={};return e&&(Array.isArray(e)?e:[e]).forEach(function(e){Object.keys(e).forEach(function(n){"offset"==n||"easing"==n||(t[n]=e[n])})}),t}(t=pm(e,t,s));if(0==n)return new Dy(e,u);var c="gen_css_kf_"+this._count++,l=this.buildKeyframeElement(e,c,t);(function(e){var t,n=null===(t=e.getRootNode)||void 0===t?void 0:t.call(e);return"undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot?n:document.head})(e).appendChild(l);var h=_y(e,t),d=new Ry(e,t,c,n,i,r,u,h);return d.onDestroy(function(){return function(e){e.parentNode.removeChild(e)}(l)}),d}}]),e}(),Ly=function(){function e(t,n,i,r){m(this,e),this.element=t,this.keyframes=n,this.options=i,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}return b(e,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[])}},{key:"init",value:function(){this._buildPlayer(),this._preparePlayerBeforeStart()}},{key:"_buildPlayer",value:function(){var e=this;if(!this._initialized){this._initialized=!0;var t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",function(){return e._onFinish()})}}},{key:"_preparePlayerBeforeStart",value:function(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}},{key:"_triggerWebAnimation",value:function(e,t,n){return e.animate(t,n)}},{key:"onStart",value:function(e){this._onStartFns.push(e)}},{key:"onDone",value:function(e){this._onDoneFns.push(e)}},{key:"onDestroy",value:function(e){this._onDestroyFns.push(e)}},{key:"play",value:function(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}},{key:"pause",value:function(){this.init(),this.domPlayer.pause()}},{key:"finish",value:function(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}},{key:"reset",value:function(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}},{key:"_resetDomPlayerState",value:function(){this.domPlayer&&this.domPlayer.cancel()}},{key:"restart",value:function(){this.reset(),this.play()}},{key:"hasStarted",value:function(){return this._started}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])}},{key:"setPosition",value:function(e){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=e*this.time}},{key:"getPosition",value:function(){return this.domPlayer.currentTime/this.time}},{key:"totalTime",get:function(){return this._delay+this._duration}},{key:"beforeDestroy",value:function(){var e=this,t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(function(n){"offset"!=n&&(t[n]=e._finished?e._finalKeyframe[n]:gm(e.element,n))}),this.currentSnapshot=t}},{key:"triggerCallback",value:function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0}}]),e}(),jy=function(){function e(){m(this,e),this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Fy().toString()),this._cssKeyframesDriver=new Ny}return b(e,[{key:"validateStyleProperty",value:function(e){return jg(e)}},{key:"matchesElement",value:function(e,t){return Fg(e,t)}},{key:"containsElement",value:function(e,t){return Bg(e,t)}},{key:"query",value:function(e,t,n){return Vg(e,t,n)}},{key:"computeStyle",value:function(e,t,n){return window.getComputedStyle(e)[t]}},{key:"overrideWebAnimationsSupport",value:function(e){this._isNativeImpl=e}},{key:"animate",value:function(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],a=arguments.length>6?arguments[6]:void 0;if(!a&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(e,t,n,i,r,o);var s={duration:n,delay:i,fill:0==i?"both":"forwards"};r&&(s.easing=r);var u={},c=o.filter(function(e){return e instanceof Ly});fm(n,i)&&c.forEach(function(e){var t=e.currentSnapshot;Object.keys(t).forEach(function(e){return u[e]=t[e]})});var l=_y(e,t=pm(e,t=t.map(function(e){return em(e,!1)}),u));return new Ly(e,t,s,l)}}]),e}();function Fy(){return kg()&&Element.prototype.animate||{}}var By=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this))._nextAnimationId=0,r._renderer=e.createRenderer(i.body,{id:"0",encapsulation:ht.None,styles:[],data:{animation:[]}}),r}return b(n,[{key:"build",value:function(e){var t=this._nextAnimationId.toString();this._nextAnimationId++;var n=Array.isArray(e)?vg(e):e;return Uy(this._renderer,null,t,"register",[n]),new Vy(t,this._renderer)}}]),n}(hg);return e.\u0275fac=function(t){return new(t||e)(Zi(tc),Zi(bh))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Vy=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this))._id=e,r._renderer=i,r}return b(n,[{key:"create",value:function(e,t){return new zy(this._id,e,t||{},this._renderer)}}]),n}(function(){return function e(){m(this,e)}}()),zy=function(){function e(t,n,i,r){m(this,e),this.id=t,this.element=n,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}return b(e,[{key:"_listen",value:function(e,t){return this._renderer.listen(this.element,"@@".concat(this.id,":").concat(e),t)}},{key:"_command",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i=0&&e3&&void 0!==arguments[3])||arguments[3];this.delegate.insertBefore(e,t,n),this.engine.onInsert(this.namespaceId,t,e,i)}},{key:"removeChild",value:function(e,t,n){this.engine.onRemove(this.namespaceId,t,this.delegate,n)}},{key:"selectRootElement",value:function(e,t){return this.delegate.selectRootElement(e,t)}},{key:"parentNode",value:function(e){return this.delegate.parentNode(e)}},{key:"nextSibling",value:function(e){return this.delegate.nextSibling(e)}},{key:"setAttribute",value:function(e,t,n,i){this.delegate.setAttribute(e,t,n,i)}},{key:"removeAttribute",value:function(e,t,n){this.delegate.removeAttribute(e,t,n)}},{key:"addClass",value:function(e,t){this.delegate.addClass(e,t)}},{key:"removeClass",value:function(e,t){this.delegate.removeClass(e,t)}},{key:"setStyle",value:function(e,t,n,i){this.delegate.setStyle(e,t,n,i)}},{key:"removeStyle",value:function(e,t,n){this.delegate.removeStyle(e,t,n)}},{key:"setProperty",value:function(e,t,n){"@"==t.charAt(0)&&t==Hy?this.disableAnimations(e,!!n):this.delegate.setProperty(e,t,n)}},{key:"setValue",value:function(e,t){this.delegate.setValue(e,t)}},{key:"listen",value:function(e,t,n){return this.delegate.listen(e,t,n)}},{key:"disableAnimations",value:function(e,t){this.engine.disableAnimations(e,t)}}]),e}(),qy=function(e){a(i,e);var n=s(i);function i(e,t,r,o){var a;return m(this,i),(a=n.call(this,t,r,o)).factory=e,a.namespaceId=t,a}return b(i,[{key:"setProperty",value:function(e,t,n){"@"==t.charAt(0)?"."==t.charAt(1)&&t==Hy?this.disableAnimations(e,n=void 0===n||!!n):this.engine.process(this.namespaceId,e,t.substr(1),n):this.delegate.setProperty(e,t,n)}},{key:"listen",value:function(e,n,i){var r=this;if("@"==n.charAt(0)){var o,a=function(e){switch(e){case"body":return document.body;case"document":return document;case"window":return window;default:return e}}(e),s=n.substr(1),u="";return"@"!=s.charAt(0)&&(s=(o=t(function(e){var t=e.indexOf(".");return[e.substring(0,t),e.substr(t+1)]}(s),2))[0],u=o[1]),this.engine.listen(this.namespaceId,a,s,u,function(e){r.factory.scheduleListenerCallback(e._data||-1,i,e)})}return this.delegate.listen(e,n,i)}}]),i}(Wy),Xy=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r){return m(this,n),t.call(this,e.body,i,r)}return b(n,[{key:"ngOnDestroy",value:function(){this.flush()}}]),n}(by);return e.\u0275fac=function(t){return new(t||e)(Zi(bh),Zi(Hg),Zi(Bm))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Yy=new Ri("AnimationModuleType"),Ky=[{provide:hg,useClass:By},{provide:Bm,useFactory:function(){return new Vm}},{provide:by,useClass:Xy},{provide:tc,useFactory:function(e,t,n){return new Gy(e,t,n)},deps:[Ad,by,Xl]}],$y=[{provide:Hg,useFactory:function(){return"function"==typeof Fy()?new jy:new Ny}},{provide:Yy,useValue:"BrowserAnimations"}].concat(Ky),Qy=[{provide:Hg,useClass:Ug},{provide:Yy,useValue:"NoopAnimations"}].concat(Ky),Zy=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"withConfig",value:function(t){return{ngModule:e,providers:t.disableAnimations?Qy:$y}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:$y,imports:[Gd]}),e}();function Jy(e,t){if(1&e&&Is(0,"mat-pseudo-checkbox",4),2&e){var n=Ws();Ts("state",n.selected?"checked":"unchecked")("disabled",n.disabled)}}function eb(e,t){if(1&e&&(As(0,"span",5),Cu(1),Ms()),2&e){var n=Ws();Yo(1),Ou("(",n.group.label,")")}}var tb=["*"],nb=new oc("12.2.5"),ib=new Ri("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}}),rb=function(){var e=function(){function e(t,n,i){m(this,e),this._hasDoneGlobalChecks=!1,this._document=i,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=n,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}return b(e,[{key:"_getWindow",value:function(){var e=this._document.defaultView||window;return"object"==typeof e&&e?e:null}},{key:"_checkIsEnabled",value:function(e){return!(!ah()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[e])}},{key:"_isTestEnv",value:function(){var e=this._getWindow();return e&&(e.__karma__||e.jasmine)}},{key:"_checkDoctypeIsDefined",value:function(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}},{key:"_checkThemeIsPresent",value:function(){if(this._checkIsEnabled("theme")&&this._document.body&&"function"==typeof getComputedStyle){var e=this._document.createElement("div");e.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(e);var t=getComputedStyle(e);t&&"none"!==t.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(e)}}},{key:"_checkCdkVersionMatch",value:function(){this._checkIsEnabled("version")&&nb.full!==lg.full&&console.warn("The Angular Material version ("+nb.full+") does not match the Angular CDK version ("+lg.full+").\nPlease ensure the versions of these two packages exactly match.")}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ug),Zi(ib,8),Zi(bh))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[np],np]}),e}();function ob(e){return function(e){a(n,e);var t=s(n);function n(){var e;m(this,n);for(var i=arguments.length,r=new Array(i),o=0;o1&&void 0!==arguments[1]?arguments[1]:0;return function(e){a(i,e);var n=s(i);function i(){var e;m(this,i);for(var r=arguments.length,o=new Array(r),a=0;a2&&void 0!==arguments[2]?arguments[2]:{},r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),o=Object.assign(Object.assign({},vb),i.animation);i.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);var a=i.radius||function(e,t,n){var i=Math.max(Math.abs(e-n.left),Math.abs(e-n.right)),r=Math.max(Math.abs(t-n.top),Math.abs(t-n.bottom));return Math.sqrt(i*i+r*r)}(e,t,r),s=e-r.left,u=t-r.top,c=o.enterDuration,l=document.createElement("div");l.classList.add("mat-ripple-element"),l.style.left=s-a+"px",l.style.top=u-a+"px",l.style.height=2*a+"px",l.style.width=2*a+"px",null!=i.color&&(l.style.backgroundColor=i.color),l.style.transitionDuration="".concat(c,"ms"),this._containerElement.appendChild(l),function(e){window.getComputedStyle(e).getPropertyValue("opacity")}(l),l.style.transform="scale(1)";var h=new pb(this,l,i);return h.state=0,this._activeRipples.add(h),i.persistent||(this._mostRecentTransientRipple=h),this._runTimeoutOutsideZone(function(){var e=h===n._mostRecentTransientRipple;h.state=1,!i.persistent&&(!e||!n._isPointerDown)&&h.fadeOut()},c),h}},{key:"fadeOutRipple",value:function(e){var t=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),t){var n=e.element,i=Object.assign(Object.assign({},vb),e.config.animation);n.style.transitionDuration="".concat(i.exitDuration,"ms"),n.style.opacity="0",e.state=2,this._runTimeoutOutsideZone(function(){e.state=3,n.parentNode.removeChild(n)},i.exitDuration)}}},{key:"fadeOutAll",value:function(){this._activeRipples.forEach(function(e){return e.fadeOut()})}},{key:"fadeOutAllNonPersistent",value:function(){this._activeRipples.forEach(function(e){e.config.persistent||e.fadeOut()})}},{key:"setupTriggerEvents",value:function(e){var t=Kd(e);!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,this._registerEvents(mb))}},{key:"handleEvent",value:function(e){"mousedown"===e.type?this._onMousedown(e):"touchstart"===e.type?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(yb),this._pointerUpEventsRegistered=!0)}},{key:"_onMousedown",value:function(e){var t=Xv(e),n=this._lastTouchStartEvent&&Date.now()1&&void 0!==arguments[1]?arguments[1]:0;this._ngZone.runOutsideAngular(function(){return setTimeout(e,t)})}},{key:"_registerEvents",value:function(e){var t=this;this._ngZone.runOutsideAngular(function(){e.forEach(function(e){t._triggerElement.addEventListener(e,t,gb)})})}},{key:"_removeTriggerEvents",value:function(){var e=this;this._triggerElement&&(mb.forEach(function(t){e._triggerElement.removeEventListener(t,e,gb)}),this._pointerUpEventsRegistered&&yb.forEach(function(t){e._triggerElement.removeEventListener(t,e,gb)}))}}]),e}(),_b=new Ri("mat-ripple-global-options"),wb=function(){var e=function(){function e(t,n,i,r,o){m(this,e),this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=r||{},this._rippleRenderer=new bb(this,n,t,i)}return b(e,[{key:"disabled",get:function(){return this._disabled},set:function(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}},{key:"trigger",get:function(){return this._trigger||this._elementRef.nativeElement},set:function(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}},{key:"ngOnInit",value:function(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}},{key:"ngOnDestroy",value:function(){this._rippleRenderer._removeTriggerEvents()}},{key:"fadeOutAll",value:function(){this._rippleRenderer.fadeOutAll()}},{key:"fadeOutAllNonPersistent",value:function(){this._rippleRenderer.fadeOutAllNonPersistent()}},{key:"rippleConfig",get:function(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}},{key:"rippleDisabled",get:function(){return this.disabled||!!this._globalOptions.disabled}},{key:"_setupTriggerEventsIfEnabled",value:function(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}},{key:"launch",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0;return"number"==typeof e?this._rippleRenderer.fadeInRipple(e,t,Object.assign(Object.assign({},this.rippleConfig),n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),e))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Xl),Os(qf),Os(_b,8),Os(Yy,8))},e.\u0275dir=Rt({type:e,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(e,t){2&e&&cu("mat-ripple-unbounded",t.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),e}(),kb=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb,Xf],rb]}),e}(),xb=function(){var e=function e(t){m(this,e),this._animationMode=t,this.state="unchecked",this.disabled=!1};return e.\u0275fac=function(t){return new(t||e)(Os(Yy,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(e,t){2&e&&cu("mat-pseudo-checkbox-indeterminate","indeterminate"===t.state)("mat-pseudo-checkbox-checked","checked"===t.state)("mat-pseudo-checkbox-disabled",t.disabled)("_mat-animation-noopable","NoopAnimations"===t._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(e,t){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;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-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),e}(),Sb=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb]]}),e}(),Cb=new Ri("MAT_OPTION_PARENT_COMPONENT"),Eb=ob(function(){return function e(){m(this,e)}}()),Ob=0,Tb=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i,r;return m(this,n),(i=t.call(this))._labelId="mat-optgroup-label-"+Ob++,i._inert=null!==(r=null==e?void 0:e.inertGroups)&&void 0!==r&&r,i}return n}(Eb);return e.\u0275fac=function(t){return new(t||e)(Os(Cb,8))},e.\u0275dir=Rt({type:e,inputs:{label:"label"},features:[cs]}),e}(),Pb=new Ri("MatOptgroup"),Ab=0,Mb=function e(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];m(this,e),this.source=t,this.isUserInput=n},Ib=function(){var e=function(){function e(t,n,i,r){m(this,e),this._element=t,this._changeDetectorRef=n,this._parent=i,this.group=r,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+Ab++,this.onSelectionChange=new ol,this._stateChanges=new ae}return b(e,[{key:"multiple",get:function(){return this._parent&&this._parent.multiple}},{key:"selected",get:function(){return this._selected}},{key:"disabled",get:function(){return this.group&&this.group.disabled||this._disabled},set:function(e){this._disabled=Wd(e)}},{key:"disableRipple",get:function(){return this._parent&&this._parent.disableRipple}},{key:"active",get:function(){return this._active}},{key:"viewValue",get:function(){return(this._getHostElement().textContent||"").trim()}},{key:"select",value:function(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}},{key:"deselect",value:function(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}},{key:"focus",value:function(e,t){var n=this._getHostElement();"function"==typeof n.focus&&n.focus(t)}},{key:"setActiveStyles",value:function(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}},{key:"setInactiveStyles",value:function(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}},{key:"getLabel",value:function(){return this.viewValue}},{key:"_handleKeydown",value:function(e){(13===e.keyCode||32===e.keyCode)&&!Ep(e)&&(this._selectViaInteraction(),e.preventDefault())}},{key:"_selectViaInteraction",value:function(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}},{key:"_getAriaSelected",value:function(){return this.selected||!this.multiple&&null}},{key:"_getTabIndex",value:function(){return this.disabled?"-1":"0"}},{key:"_getHostElement",value:function(){return this._element.nativeElement}},{key:"ngAfterViewChecked",value:function(){if(this._selected){var e=this.viewValue;e!==this._mostRecentViewValue&&(this._mostRecentViewValue=e,this._stateChanges.next())}}},{key:"ngOnDestroy",value:function(){this._stateChanges.complete()}},{key:"_emitSelectionChangeEvent",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.onSelectionChange.emit(new Mb(this,e))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Cc),Os(void 0),Os(Tb))},e.\u0275dir=Rt({type:e,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),e}(),Rb=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){return m(this,n),t.call(this,e,i,r,o)}return n}(Ib);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Cc),Os(Cb,8),Os(Pb,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(e,t){1&e&&Vs("click",function(){return t._selectViaInteraction()})("keydown",function(e){return t._handleKeydown(e)}),2&e&&(Au("id",t.id),ks("tabindex",t._getTabIndex())("aria-selected",t._getAriaSelected())("aria-disabled",t.disabled.toString()),cu("mat-selected",t.selected)("mat-option-multiple",t.multiple)("mat-active",t.active)("mat-option-disabled",t.disabled))},exportAs:["matOption"],features:[cs],ngContentSelectors:tb,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(e,t){1&e&&(Xs(),Cs(0,Jy,1,2,"mat-pseudo-checkbox",0),As(1,"span",1),Ys(2),Ms(),Cs(3,eb,2,1,"span",2),Is(4,"div",3)),2&e&&(Ts("ngIf",t.multiple),Yo(3),Ts("ngIf",t.group&&t.group._inert),Yo(1),Ts("matRippleTrigger",t._getHostElement())("matRippleDisabled",t.disabled||t.disableRipple))},directives:[Yh,wb,xb],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),e}();function Db(e,t,n){if(n.length){for(var i=t.toArray(),r=n.toArray(),o=0,a=0;an+i?Math.max(0,e-i+t):n}var Lb=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[kb,cd,rb,Sb]]}),e}();function jb(){for(var e=arguments.length,t=new Array(e),n=0;n0){var i=e.slice(0,t),r=i.toLowerCase(),o=e.slice(t+1).trim();n.maybeSetNormalizedName(i,r),n.headers.has(r)?n.headers.get(r).push(o):n.headers.set(r,[o])}})}:function(){n.headers=new Map,Object.keys(t).forEach(function(e){var i=t[e],r=e.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(n.headers.set(r,i),n.maybeSetNormalizedName(e,r))})}:this.headers=new Map}return b(e,[{key:"has",value:function(e){return this.init(),this.headers.has(e.toLowerCase())}},{key:"get",value:function(e){this.init();var t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}},{key:"keys",value:function(){return this.init(),Array.from(this.normalizedNames.values())}},{key:"getAll",value:function(e){return this.init(),this.headers.get(e.toLowerCase())||null}},{key:"append",value:function(e,t){return this.clone({name:e,value:t,op:"a"})}},{key:"set",value:function(e,t){return this.clone({name:e,value:t,op:"s"})}},{key:"delete",value:function(e,t){return this.clone({name:e,value:t,op:"d"})}},{key:"maybeSetNormalizedName",value:function(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}},{key:"init",value:function(){var t=this;this.lazyInit&&(this.lazyInit instanceof e?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(function(e){return t.applyUpdate(e)}),this.lazyUpdate=null))}},{key:"copyFrom",value:function(e){var t=this;e.init(),Array.from(e.headers.keys()).forEach(function(n){t.headers.set(n,e.headers.get(n)),t.normalizedNames.set(n,e.normalizedNames.get(n))})}},{key:"clone",value:function(t){var n=new e;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof e?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([t]),n}},{key:"applyUpdate",value:function(e){var t=e.name.toLowerCase();switch(e.op){case"a":case"s":var n=e.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(e.name,t);var i=("a"===e.op?this.headers.get(t):void 0)||[];i.push.apply(i,v(n)),this.headers.set(t,i);break;case"d":var r=e.value;if(r){var o=this.headers.get(t);if(!o)return;0===(o=o.filter(function(e){return-1===r.indexOf(e)})).length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}},{key:"forEach",value:function(e){var t=this;this.init(),Array.from(this.normalizedNames.keys()).forEach(function(n){return e(t.normalizedNames.get(n),t.headers.get(n))})}}]),e}(),Yb=function(){function e(){m(this,e)}return b(e,[{key:"encodeKey",value:function(e){return Qb(e)}},{key:"encodeValue",value:function(e){return Qb(e)}},{key:"decodeKey",value:function(e){return decodeURIComponent(e)}},{key:"decodeValue",value:function(e){return decodeURIComponent(e)}}]),e}(),Kb=/%(\d[a-f0-9])/gi,$b={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Qb(e){return encodeURIComponent(e).replace(Kb,function(e,t){var n;return null!==(n=$b[t])&&void 0!==n?n:e})}function Zb(e){return"".concat(e)}var Jb=function(){function e(){var n=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(m(this,e),this.updates=null,this.cloneFrom=null,this.encoder=i.encoder||new Yb,i.fromString){if(i.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(e,n){var i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(function(e){var r=e.indexOf("="),o=t(-1==r?[n.decodeKey(e),""]:[n.decodeKey(e.slice(0,r)),n.decodeValue(e.slice(r+1))],2),a=o[0],s=o[1],u=i.get(a)||[];u.push(s),i.set(a,u)}),i}(i.fromString,this.encoder)}else i.fromObject?(this.map=new Map,Object.keys(i.fromObject).forEach(function(e){var t=i.fromObject[e];n.map.set(e,Array.isArray(t)?t:[t])})):this.map=null}return b(e,[{key:"has",value:function(e){return this.init(),this.map.has(e)}},{key:"get",value:function(e){this.init();var t=this.map.get(e);return t?t[0]:null}},{key:"getAll",value:function(e){return this.init(),this.map.get(e)||null}},{key:"keys",value:function(){return this.init(),Array.from(this.map.keys())}},{key:"append",value:function(e,t){return this.clone({param:e,value:t,op:"a"})}},{key:"appendAll",value:function(e){var t=[];return Object.keys(e).forEach(function(n){var i=e[n];Array.isArray(i)?i.forEach(function(e){t.push({param:n,value:e,op:"a"})}):t.push({param:n,value:i,op:"a"})}),this.clone(t)}},{key:"set",value:function(e,t){return this.clone({param:e,value:t,op:"s"})}},{key:"delete",value:function(e,t){return this.clone({param:e,value:t,op:"d"})}},{key:"toString",value:function(){var e=this;return this.init(),this.keys().map(function(t){var n=e.encoder.encodeKey(t);return e.map.get(t).map(function(t){return n+"="+e.encoder.encodeValue(t)}).join("&")}).filter(function(e){return""!==e}).join("&")}},{key:"clone",value:function(t){var n=new e({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat(t),n}},{key:"init",value:function(){var e=this;null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(function(t){return e.map.set(t,e.cloneFrom.map.get(t))}),this.updates.forEach(function(t){switch(t.op){case"a":case"s":var n=("a"===t.op?e.map.get(t.param):void 0)||[];n.push(Zb(t.value)),e.map.set(t.param,n);break;case"d":if(void 0===t.value){e.map.delete(t.param);break}var i=e.map.get(t.param)||[],r=i.indexOf(Zb(t.value));-1!==r&&i.splice(r,1),i.length>0?e.map.set(t.param,i):e.map.delete(t.param)}}),this.cloneFrom=this.updates=null)}}]),e}(),e_=function(){function e(){m(this,e),this.map=new Map}return b(e,[{key:"set",value:function(e,t){return this.map.set(e,t),this}},{key:"get",value:function(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}},{key:"delete",value:function(e){return this.map.delete(e),this}},{key:"keys",value:function(){return this.map.keys()}}]),e}();function t_(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer}function n_(e){return"undefined"!=typeof Blob&&e instanceof Blob}function i_(e){return"undefined"!=typeof FormData&&e instanceof FormData}var r_=function(){function e(t,n,i,r){var o;if(m(this,e),this.url=n,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,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.headers||(this.headers=new Xb),this.context||(this.context=new e_),this.params){var a=this.params.toString();if(0===a.length)this.urlWithParams=n;else{var s=n.indexOf("?");this.urlWithParams=n+(-1===s?"?":s0&&void 0!==arguments[0]?arguments[0]:{},i=n.method||this.method,r=n.url||this.url,o=n.responseType||this.responseType,a=void 0!==n.body?n.body:this.body,s=void 0!==n.withCredentials?n.withCredentials:this.withCredentials,u=void 0!==n.reportProgress?n.reportProgress:this.reportProgress,c=n.headers||this.headers,l=n.params||this.params,h=null!==(t=n.context)&&void 0!==t?t:this.context;return void 0!==n.setHeaders&&(c=Object.keys(n.setHeaders).reduce(function(e,t){return e.set(t,n.setHeaders[t])},c)),n.setParams&&(l=Object.keys(n.setParams).reduce(function(e,t){return e.set(t,n.setParams[t])},l)),new e(i,r,a,{params:l,headers:c,context:h,reportProgress:u,responseType:o,withCredentials:s})}}]),e}(),o_=((o_=o_||{})[o_.Sent=0]="Sent",o_[o_.UploadProgress=1]="UploadProgress",o_[o_.ResponseHeader=2]="ResponseHeader",o_[o_.DownloadProgress=3]="DownloadProgress",o_[o_.Response=4]="Response",o_[o_.User=5]="User",o_),a_=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"OK";m(this,e),this.headers=t.headers||new Xb,this.status=void 0!==t.status?t.status:n,this.statusText=t.statusText||i,this.url=t.url||null,this.ok=this.status>=200&&this.status<300},s_=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return m(this,n),(e=t.call(this,i)).type=o_.ResponseHeader,e}return b(n,[{key:"clone",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new n({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}]),n}(a_),u_=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return m(this,n),(e=t.call(this,i)).type=o_.Response,e.body=void 0!==i.body?i.body:null,e}return b(n,[{key:"clone",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new n({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}]),n}(a_),c_=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,e,0,"Unknown Error")).name="HttpErrorResponse",i.ok=!1,i.message=i.status>=200&&i.status<300?"Http failure during parsing for ".concat(e.url||"(unknown url)"):"Http failure response for ".concat(e.url||"(unknown url)",": ").concat(e.status," ").concat(e.statusText),i.error=e.error||null,i}return n}(a_);function l_(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}var h_=function(){var e=function(){function e(t){m(this,e),this.handler=t}return b(e,[{key:"request",value:function(e,t){var n,i,r,o=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e instanceof r_?n=e:(i=a.headers instanceof Xb?a.headers:new Xb(a.headers),a.params&&(r=a.params instanceof Jb?a.params:new Jb({fromObject:a.params})),n=new r_(e,t,void 0!==a.body?a.body:null,{headers:i,context:a.context,params:r,reportProgress:a.reportProgress,responseType:a.responseType||"json",withCredentials:a.withCredentials}));var s=$d(n).pipe(ke(function(e){return o.handler.handle(e)},void 0,1));if(e instanceof r_||"events"===a.observe)return s;var u=s.pipe(bf(function(e){return e instanceof u_}));switch(a.observe||"body"){case"body":switch(n.responseType){case"arraybuffer":return u.pipe(ce(function(e){if(null!==e.body&&!(e.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return e.body}));case"blob":return u.pipe(ce(function(e){if(null!==e.body&&!(e.body instanceof Blob))throw new Error("Response is not a Blob.");return e.body}));case"text":return u.pipe(ce(function(e){if(null!==e.body&&"string"!=typeof e.body)throw new Error("Response is not a string.");return e.body}));case"json":default:return u.pipe(ce(function(e){return e.body}))}case"response":return u;default:throw new Error("Unreachable: unhandled observe type ".concat(a.observe,"}"))}}},{key:"delete",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("DELETE",e,t)}},{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("GET",e,t)}},{key:"head",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("HEAD",e,t)}},{key:"jsonp",value:function(e,t){return this.request("JSONP",e,{params:(new Jb).append(t,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}},{key:"options",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("OPTIONS",e,t)}},{key:"patch",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("PATCH",e,l_(n,t))}},{key:"post",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("POST",e,l_(n,t))}},{key:"put",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("PUT",e,l_(n,t))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Wb))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),d_=function(){function e(t,n){m(this,e),this.next=t,this.interceptor=n}return b(e,[{key:"handle",value:function(e){return this.interceptor.intercept(e,this.next)}}]),e}(),f_=new Ri("HTTP_INTERCEPTORS"),p_=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"intercept",value:function(e,t){return t.handle(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),v_=/^\)\]\}',?\n/,g_=function(){var e=function(){function e(t){m(this,e),this.xhrFactory=t}return b(e,[{key:"handle",value:function(e){var t=this;if("JSONP"===e.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new te(function(n){var i=t.xhrFactory.build();if(i.open(e.method,e.urlWithParams),e.withCredentials&&(i.withCredentials=!0),e.headers.forEach(function(e,t){return i.setRequestHeader(e,t.join(","))}),e.headers.has("Accept")||i.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){var r=e.detectContentTypeHeader();null!==r&&i.setRequestHeader("Content-Type",r)}if(e.responseType){var o=e.responseType.toLowerCase();i.responseType="json"!==o?o:"text"}var a=e.serializeBody(),s=null,u=function(){if(null!==s)return s;var t=1223===i.status?204:i.status,n=i.statusText||"OK",r=new Xb(i.getAllResponseHeaders()),o=function(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(i)||e.url;return s=new s_({headers:r,status:t,statusText:n,url:o})},c=function(){var t=u(),r=t.headers,o=t.status,a=t.statusText,s=t.url,c=null;204!==o&&(c=void 0===i.response?i.responseText:i.response),0===o&&(o=c?200:0);var l=o>=200&&o<300;if("json"===e.responseType&&"string"==typeof c){var h=c;c=c.replace(v_,"");try{c=""!==c?JSON.parse(c):null}catch(d){c=h,l&&(l=!1,c={error:d,text:c})}}l?(n.next(new u_({body:c,headers:r,status:o,statusText:a,url:s||void 0})),n.complete()):n.error(new c_({error:c,headers:r,status:o,statusText:a,url:s||void 0}))},l=function(e){var t=u().url,r=new c_({error:e,status:i.status||0,statusText:i.statusText||"Unknown Error",url:t||void 0});n.error(r)},h=!1,d=function(t){h||(n.next(u()),h=!0);var r={type:o_.DownloadProgress,loaded:t.loaded};t.lengthComputable&&(r.total=t.total),"text"===e.responseType&&!!i.responseText&&(r.partialText=i.responseText),n.next(r)},f=function(e){var t={type:o_.UploadProgress,loaded:e.loaded};e.lengthComputable&&(t.total=e.total),n.next(t)};return i.addEventListener("load",c),i.addEventListener("error",l),i.addEventListener("timeout",l),i.addEventListener("abort",l),e.reportProgress&&(i.addEventListener("progress",d),null!==a&&i.upload&&i.upload.addEventListener("progress",f)),i.send(a),n.next({type:o_.Sent}),function(){i.removeEventListener("error",l),i.removeEventListener("abort",l),i.removeEventListener("load",c),i.removeEventListener("timeout",l),e.reportProgress&&(i.removeEventListener("progress",d),null!==a&&i.upload&&i.upload.removeEventListener("progress",f)),i.readyState!==i.DONE&&i.abort()}})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(fd))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),m_=new Ri("XSRF_COOKIE_NAME"),y_=new Ri("XSRF_HEADER_NAME"),b_=function e(){m(this,e)},__=function(){var e=function(){function e(t,n,i){m(this,e),this.doc=t,this.platform=n,this.cookieName=i,this.lastCookieString="",this.lastToken=null,this.parseCount=0}return b(e,[{key:"getToken",value:function(){if("server"===this.platform)return null;var e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=Hh(e,this.cookieName),this.lastCookieString=e),this.lastToken}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(bh),Zi(Ml),Zi(m_))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),w_=function(){var e=function(){function e(t,n){m(this,e),this.tokenService=t,this.headerName=n}return b(e,[{key:"intercept",value:function(e,t){var n=e.url.toLowerCase();if("GET"===e.method||"HEAD"===e.method||n.startsWith("http://")||n.startsWith("https://"))return t.handle(e);var i=this.tokenService.getToken();return null!==i&&!e.headers.has(this.headerName)&&(e=e.clone({headers:e.headers.set(this.headerName,i)})),t.handle(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(b_),Zi(y_))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),k_=function(){var e=function(){function e(t,n){m(this,e),this.backend=t,this.injector=n,this.chain=null}return b(e,[{key:"handle",value:function(e){if(null===this.chain){var t=this.injector.get(f_,[]);this.chain=t.reduceRight(function(e,t){return new d_(e,t)},this.backend)}return this.chain.handle(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qb),Zi(ss))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),x_=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"disable",value:function(){return{ngModule:e,providers:[{provide:w_,useClass:p_}]}}},{key:"withOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{ngModule:e,providers:[t.cookieName?{provide:m_,useValue:t.cookieName}:[],t.headerName?{provide:y_,useValue:t.headerName}:[]]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[w_,{provide:f_,useExisting:w_,multi:!0},{provide:b_,useClass:__},{provide:m_,useValue:"XSRF-TOKEN"},{provide:y_,useValue:"X-XSRF-TOKEN"}]}),e}(),S_=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[h_,{provide:Wb,useClass:k_},g_,{provide:qb,useExisting:g_}],imports:[[x_.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),e}(),C_=["*"];function E_(e){return Error('Unable to find icon with the name "'.concat(e,'"'))}function O_(e){return Error("The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was \"".concat(e,'".'))}function T_(e){return Error("The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was \"".concat(e,'".'))}var P_=function e(t,n,i){m(this,e),this.url=t,this.svgText=n,this.options=i},A_=function(){var e=function(){function e(t,n,i,r){m(this,e),this._httpClient=t,this._sanitizer=n,this._errorHandler=r,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",this._document=i}return b(e,[{key:"addSvgIcon",value:function(e,t,n){return this.addSvgIconInNamespace("",e,t,n)}},{key:"addSvgIconLiteral",value:function(e,t,n){return this.addSvgIconLiteralInNamespace("",e,t,n)}},{key:"addSvgIconInNamespace",value:function(e,t,n,i){return this._addSvgIconConfig(e,t,new P_(n,null,i))}},{key:"addSvgIconResolver",value:function(e){return this._resolvers.push(e),this}},{key:"addSvgIconLiteralInNamespace",value:function(e,t,n,i){var r=this._sanitizer.sanitize(Wr.HTML,n);if(!r)throw T_(n);return this._addSvgIconConfig(e,t,new P_("",r,i))}},{key:"addSvgIconSet",value:function(e,t){return this.addSvgIconSetInNamespace("",e,t)}},{key:"addSvgIconSetLiteral",value:function(e,t){return this.addSvgIconSetLiteralInNamespace("",e,t)}},{key:"addSvgIconSetInNamespace",value:function(e,t,n){return this._addSvgIconSetConfig(e,new P_(t,null,n))}},{key:"addSvgIconSetLiteralInNamespace",value:function(e,t,n){var i=this._sanitizer.sanitize(Wr.HTML,t);if(!i)throw T_(t);return this._addSvgIconSetConfig(e,new P_("",i,n))}},{key:"registerFontClassAlias",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return this._fontCssClassesByAlias.set(e,t),this}},{key:"classNameForFontAlias",value:function(e){return this._fontCssClassesByAlias.get(e)||e}},{key:"setDefaultFontSetClass",value:function(e){return this._defaultFontSetClass=e,this}},{key:"getDefaultFontSetClass",value:function(){return this._defaultFontSetClass}},{key:"getSvgIconFromUrl",value:function(e){var t=this,n=this._sanitizer.sanitize(Wr.RESOURCE_URL,e);if(!n)throw O_(e);var i=this._cachedIconsByUrl.get(n);return i?$d(M_(i)):this._loadSvgIconFromConfig(new P_(e,null)).pipe(mv(function(e){return t._cachedIconsByUrl.set(n,e)}),ce(function(e){return M_(e)}))}},{key:"getNamedSvgIcon",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=I_(t,e),i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);if(i=this._getIconConfigFromResolvers(t,e))return this._svgIconConfigs.set(n,i),this._getSvgFromConfig(i);var r=this._iconSetConfigs.get(t);return r?this._getSvgFromIconSetConfigs(e,r):Rf(E_(n))}},{key:"ngOnDestroy",value:function(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}},{key:"_getSvgFromConfig",value:function(e){return e.svgText?$d(M_(this._svgElementFromConfig(e))):this._loadSvgIconFromConfig(e).pipe(ce(function(e){return M_(e)}))}},{key:"_getSvgFromIconSetConfigs",value:function(e,t){var n=this,i=this._extractIconWithNameFromAnySet(e,t);return i?$d(i):jb(t.filter(function(e){return!e.svgText}).map(function(e){return n._loadSvgIconSetFromConfig(e).pipe(Bb(function(t){var i="Loading icon set URL: ".concat(n._sanitizer.sanitize(Wr.RESOURCE_URL,e.url)," failed: ").concat(t.message);return n._errorHandler.handleError(new Error(i)),$d(null)}))})).pipe(ce(function(){var i=n._extractIconWithNameFromAnySet(e,t);if(!i)throw E_(e);return i}))}},{key:"_extractIconWithNameFromAnySet",value:function(e,t){for(var n=t.length-1;n>=0;n--){var i=t[n];if(i.svgText&&i.svgText.indexOf(e)>-1){var r=this._svgElementFromConfig(i),o=this._extractSvgIconFromSet(r,e,i.options);if(o)return o}}return null}},{key:"_loadSvgIconFromConfig",value:function(e){var t=this;return this._fetchIcon(e).pipe(mv(function(t){return e.svgText=t}),ce(function(){return t._svgElementFromConfig(e)}))}},{key:"_loadSvgIconSetFromConfig",value:function(e){return e.svgText?$d(null):this._fetchIcon(e).pipe(mv(function(t){return e.svgText=t}))}},{key:"_extractSvgIconFromSet",value:function(e,t,n){var i=e.querySelector('[id="'.concat(t,'"]'));if(!i)return null;var r=i.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r,n);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r),n);var o=this._svgElementFromString("");return o.appendChild(r),this._setSvgAttributes(o,n)}},{key:"_svgElementFromString",value:function(e){var t=this._document.createElement("DIV");t.innerHTML=e;var n=t.querySelector("svg");if(!n)throw Error(" tag not found");return n}},{key:"_toSvgElement",value:function(e){for(var t=this._svgElementFromString(""),n=e.attributes,i=0;i*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n",G_=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],W_=ab(ob(sb(function(){return function e(t){m(this,e),this._elementRef=t}}()))),q_=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;m(this,n),(o=t.call(this,e))._focusMonitor=i,o._animationMode=r,o.isRoundButton=o._hasHostAttributes("mat-fab","mat-mini-fab"),o.isIconButton=o._hasHostAttributes("mat-icon-button");var a,s=_(G_);try{for(s.s();!(a=s.n()).done;){var u=a.value;o._hasHostAttributes(u)&&o._getHostElement().classList.add(u)}}catch(c){s.e(c)}finally{s.f()}return e.nativeElement.classList.add("mat-button-base"),o.isRoundButton&&(o.color="accent"),o}return b(n,[{key:"ngAfterViewInit",value:function(){this._focusMonitor.monitor(this._elementRef,!0)}},{key:"ngOnDestroy",value:function(){this._focusMonitor.stopMonitoring(this._elementRef)}},{key:"focus",value:function(e,t){e?this._focusMonitor.focusVia(this._getHostElement(),e,t):this._getHostElement().focus(t)}},{key:"_getHostElement",value:function(){return this._elementRef.nativeElement}},{key:"_isRippleDisabled",value:function(){return this.disableRipple||this.disabled}},{key:"_hasHostAttributes",value:function(){for(var e=this,t=arguments.length,n=new Array(t),i=0;i4&&void 0!==arguments[4]?arguments[4]:new $_(e,n,i);if(!r.closed)return t instanceof te?t.subscribe(r):ge(t)(r)}var Z_={};function J_(){for(var e=arguments.length,t=new Array(e),n=0;n visible",pg("150ms cubic-bezier(0, 0, 0.2, 1)")),yg("* => void, * => hidden",pg("75ms cubic-bezier(0.4, 0.0, 1, 1)",gg({opacity:0})))])},gw=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a){var s;return m(this,n),(s=t.call(this))._ngZone=e,s._elementRef=i,s._changeDetectorRef=r,s._platform=o,s.snackBarConfig=a,s._announceDelay=150,s._destroyed=!1,s._onAnnounce=new ae,s._onExit=new ae,s._onEnter=new ae,s._animationState="void",s.attachDomPortal=function(e){return s._assertNotAttached(),s._applySnackBarClasses(),s._portalOutlet.attachDomPortal(e)},s._live="assertive"!==a.politeness||a.announcementMessage?"off"===a.politeness?"off":"polite":"assertive",s._platform.FIREFOX&&("polite"===s._live&&(s._role="status"),"assertive"===s._live&&(s._role="alert")),s}return b(n,[{key:"attachComponentPortal",value:function(e){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(e)}},{key:"attachTemplatePortal",value:function(e){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(e)}},{key:"onAnimationEnd",value:function(e){var t=e.fromState,n=e.toState;if(("void"===n&&"void"!==t||"hidden"===n)&&this._completeExit(),"visible"===n){var i=this._onEnter;this._ngZone.run(function(){i.next(),i.complete()})}}},{key:"enter",value:function(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}},{key:"exit",value:function(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}},{key:"ngOnDestroy",value:function(){this._destroyed=!0,this._completeExit()}},{key:"_completeExit",value:function(){var e=this;this._ngZone.onMicrotaskEmpty.pipe(_p(1)).subscribe(function(){e._onExit.next(),e._onExit.complete()})}},{key:"_applySnackBarClasses",value:function(){var e=this._elementRef.nativeElement,t=this.snackBarConfig.panelClass;t&&(Array.isArray(t)?t.forEach(function(t){return e.classList.add(t)}):e.classList.add(t)),"center"===this.snackBarConfig.horizontalPosition&&e.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&e.classList.add("mat-snack-bar-top")}},{key:"_assertNotAttached",value:function(){this._portalOutlet.hasAttached()}},{key:"_screenReaderAnnounce",value:function(){var e=this;this._announceTimeoutId||this._ngZone.runOutsideAngular(function(){e._announceTimeoutId=setTimeout(function(){var t=e._elementRef.nativeElement.querySelector("[aria-hidden]"),n=e._elementRef.nativeElement.querySelector("[aria-live]");if(t&&n){var i=null;e._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(i=document.activeElement),t.removeAttribute("aria-hidden"),n.appendChild(t),null==i||i.focus(),e._onAnnounce.next(),e._onAnnounce.complete()}},e._announceDelay)})}}]),n}(fp);return e.\u0275fac=function(t){return new(t||e)(Os(Xl),Os(Ju),Os(Cc),Os(qf),Os(hw))},e.\u0275cmp=Ot({type:e,selectors:[["snack-bar-container"]],viewQuery:function(e,t){var n;(1&e&&yl(mp,7),2&e)&&(ml(n=_l())&&(t._portalOutlet=n.first))},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(e,t){1&e&&zs("@state.done",function(e){return t.onAnimationEnd(e)}),2&e&&Mu("@state",t._animationState)},features:[cs],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(e,t){1&e&&(As(0,"div",0),Cs(1,cw,0,0,"ng-template",1),Ms(),Is(2,"div")),2&e&&(Yo(2),ks("aria-live",t._live)("role",t._role))},directives:[mp],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[vw.snackBarState]}}),e}(),mw=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cv,yp,cd,Y_,rb],rb]}),e}(),yw=new Ri("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new hw}}),bw=function(){var e=function(){function e(t,n,i,r,o,a){m(this,e),this._overlay=t,this._live=n,this._injector=i,this._breakpointObserver=r,this._parentSnackBar=o,this._defaultConfig=a,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=pw,this.snackBarContainerComponent=gw,this.handsetCssClass="mat-snack-bar-handset"}return b(e,[{key:"_openedSnackBarRef",get:function(){var e=this._parentSnackBar;return e?e._openedSnackBarRef:this._snackBarRefAtThisLevel},set:function(e){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=e:this._snackBarRefAtThisLevel=e}},{key:"openFromComponent",value:function(e,t){return this._attach(e,t)}},{key:"openFromTemplate",value:function(e,t){return this._attach(e,t)}},{key:"open",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,i=Object.assign(Object.assign({},this._defaultConfig),n);return i.data={message:e,action:t},i.announcementMessage===e&&(i.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,i)}},{key:"dismiss",value:function(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}},{key:"ngOnDestroy",value:function(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}},{key:"_attachSnackBarContainer",value:function(e,t){var n=ss.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:hw,useValue:t}]}),i=new lp(this.snackBarContainerComponent,t.viewContainerRef,n),r=e.attach(i);return r.instance.snackBarConfig=t,r.instance}},{key:"_attach",value:function(e,t){var n=this,i=Object.assign(Object.assign(Object.assign({},new hw),this._defaultConfig),t),r=this._createOverlay(i),o=this._attachSnackBarContainer(r,i),a=new fw(o,r);if(e instanceof Ac){var s=new hp(e,null,{$implicit:i.data,snackBarRef:a});a.instance=o.attachTemplatePortal(s)}else{var u=this._createInjector(i,a),c=new lp(e,void 0,u),l=o.attachComponentPortal(c);a.instance=l.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(kf(r.detachments())).subscribe(function(e){var t=r.overlayElement.classList;e.matches?t.add(n.handsetCssClass):t.remove(n.handsetCssClass)}),i.announcementMessage&&o._onAnnounce.subscribe(function(){n._live.announce(i.announcementMessage,i.politeness)}),this._animateSnackBar(a,i),this._openedSnackBarRef=a,this._openedSnackBarRef}},{key:"_animateSnackBar",value:function(e,t){var n=this;e.afterDismissed().subscribe(function(){n._openedSnackBarRef==e&&(n._openedSnackBarRef=null),t.announcementMessage&&n._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(function(){e.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):e.containerInstance.enter(),t.duration&&t.duration>0&&e.afterOpened().subscribe(function(){return e._dismissAfter(t.duration)})}},{key:"_createOverlay",value:function(e){var t=new Np;t.direction=e.direction;var n=this._overlay.position().global(),i="rtl"===e.direction,r="left"===e.horizontalPosition||"start"===e.horizontalPosition&&!i||"end"===e.horizontalPosition&&i,o=!r&&"center"!==e.horizontalPosition;return r?n.left("0"):o?n.right("0"):n.centerHorizontally(),"top"===e.verticalPosition?n.top("0"):n.bottom("0"),t.positionStrategy=n,this._overlay.create(t)}},{key:"_createInjector",value:function(e,t){return ss.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:fw,useValue:t},{provide:lw,useValue:e.data}]})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(iv),Zi(tg),Zi(ss),Zi(aw),Zi(e,12),Zi(yw))},e.\u0275prov=$e({factory:function(){return new e(Zi(iv),Zi(tg),Zi(Xa),Zi(aw),Zi(e,12),Zi(yw))},token:e,providedIn:mw}),e}(),_w={tooltipState:fg("state",[mg("initial, void, hidden",gg({opacity:0,transform:"scale(0)"})),mg("visible",gg({transform:"scale(1)"})),yg("* => visible",pg("200ms cubic-bezier(0, 0, 0.2, 1)",function(e){return{type:5,steps:e}}([gg({opacity:0,transform:"scale(0)",offset:0}),gg({opacity:.5,transform:"scale(0.99)",offset:.5}),gg({opacity:1,transform:"scale(1)",offset:1})]))),yg("* => hidden",pg("100ms cubic-bezier(0, 0, 0.2, 1)",gg({opacity:0})))])},ww="tooltip-panel",kw=$f({passive:!0}),xw=new Ri("mat-tooltip-scroll-strategy"),Sw={provide:xw,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.reposition({scrollThrottle:20})}}},Cw=new Ri("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}}),Ew=function(){var e=function(){function e(t,n,i,r,o,a,s,u,c,l,h,d){var f=this;m(this,e),this._overlay=t,this._elementRef=n,this._scrollDispatcher=i,this._viewContainerRef=r,this._ngZone=o,this._platform=a,this._ariaDescriber=s,this._focusMonitor=u,this._dir=l,this._defaultOptions=h,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new ae,this._handleKeydown=function(e){f._isTooltipVisible()&&27===e.keyCode&&!Ep(e)&&(e.preventDefault(),e.stopPropagation(),f._ngZone.run(function(){return f.hide(0)}))},this._scrollStrategy=c,this._document=d,h&&(h.position&&(this.position=h.position),h.touchGestures&&(this.touchGestures=h.touchGestures)),l.change.pipe(kf(this._destroyed)).subscribe(function(){f._overlayRef&&f._updatePosition(f._overlayRef)}),o.runOutsideAngular(function(){n.nativeElement.addEventListener("keydown",f._handleKeydown)})}return b(e,[{key:"position",get:function(){return this._position},set:function(e){var t;e!==this._position&&(this._position=e,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(t=this._tooltipInstance)||void 0===t||t.show(0),this._overlayRef.updatePosition()))}},{key:"disabled",get:function(){return this._disabled},set:function(e){this._disabled=Wd(e),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}},{key:"message",get:function(){return this._message},set:function(e){var t=this;this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=e?String(e).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(function(){Promise.resolve().then(function(){t._ariaDescriber.describe(t._elementRef.nativeElement,t.message,"tooltip")})}))}},{key:"tooltipClass",get:function(){return this._tooltipClass},set:function(e){this._tooltipClass=e,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}},{key:"ngAfterViewInit",value:function(){var e=this;this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(kf(this._destroyed)).subscribe(function(t){t?"keyboard"===t&&e._ngZone.run(function(){return e.show()}):e._ngZone.run(function(){return e.hide(0)})})}},{key:"ngOnDestroy",value:function(){var e=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),e.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(function(n){var i=t(n,2),r=i[0],o=i[1];e.removeEventListener(r,o,kw)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(e,this.message,"tooltip"),this._focusMonitor.stopMonitoring(e)}},{key:"show",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.showDelay;if(!this.disabled&&this.message&&(!this._isTooltipVisible()||this._tooltipInstance._showTimeoutId||this._tooltipInstance._hideTimeoutId)){var n=this._createOverlay();this._detach(),this._portal=this._portal||new lp(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=n.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(kf(this._destroyed)).subscribe(function(){return e._detach()}),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}}},{key:"hide",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.hideDelay;this._tooltipInstance&&this._tooltipInstance.hide(e)}},{key:"toggle",value:function(){this._isTooltipVisible()?this.hide():this.show()}},{key:"_isTooltipVisible",value:function(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}},{key:"_createOverlay",value:function(){var e=this;if(this._overlayRef)return this._overlayRef;var t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),n=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(".".concat(this._cssClassPrefix,"-tooltip")).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return n.positionChanges.pipe(kf(this._destroyed)).subscribe(function(t){e._updateCurrentPositionClass(t.connectionPair),e._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&e._tooltipInstance.isVisible()&&e._ngZone.run(function(){return e.hide(0)})}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:n,panelClass:"".concat(this._cssClassPrefix,"-").concat(ww),scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(kf(this._destroyed)).subscribe(function(){return e._detach()}),this._overlayRef.outsidePointerEvents().pipe(kf(this._destroyed)).subscribe(function(){var t;return null===(t=e._tooltipInstance)||void 0===t?void 0:t._handleBodyInteraction()}),this._overlayRef}},{key:"_detach",value:function(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}},{key:"_updatePosition",value:function(e){var t=e.getConfig().positionStrategy,n=this._getOrigin(),i=this._getOverlayPosition();t.withPositions([this._addOffset(Object.assign(Object.assign({},n.main),i.main)),this._addOffset(Object.assign(Object.assign({},n.fallback),i.fallback))])}},{key:"_addOffset",value:function(e){return e}},{key:"_getOrigin",value:function(){var e,t=!this._dir||"ltr"==this._dir.value,n=this.position;"above"==n||"below"==n?e={originX:"center",originY:"above"==n?"top":"bottom"}:"before"==n||"left"==n&&t||"right"==n&&!t?e={originX:"start",originY:"center"}:("after"==n||"right"==n&&t||"left"==n&&!t)&&(e={originX:"end",originY:"center"});var i=this._invertPosition(e.originX,e.originY);return{main:e,fallback:{originX:i.x,originY:i.y}}}},{key:"_getOverlayPosition",value:function(){var e,t=!this._dir||"ltr"==this._dir.value,n=this.position;"above"==n?e={overlayX:"center",overlayY:"bottom"}:"below"==n?e={overlayX:"center",overlayY:"top"}:"before"==n||"left"==n&&t||"right"==n&&!t?e={overlayX:"end",overlayY:"center"}:("after"==n||"right"==n&&t||"left"==n&&!t)&&(e={overlayX:"start",overlayY:"center"});var i=this._invertPosition(e.overlayX,e.overlayY);return{main:e,fallback:{overlayX:i.x,overlayY:i.y}}}},{key:"_updateTooltipMessage",value:function(){var e=this;this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(_p(1),kf(this._destroyed)).subscribe(function(){e._tooltipInstance&&e._overlayRef.updatePosition()}))}},{key:"_setTooltipClass",value:function(e){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=e,this._tooltipInstance._markForCheck())}},{key:"_invertPosition",value:function(e,t){return"above"===this.position||"below"===this.position?"top"===t?t="bottom":"bottom"===t&&(t="top"):"end"===e?e="start":"start"===e&&(e="end"),{x:e,y:t}}},{key:"_updateCurrentPositionClass",value:function(e){var t,n=e.overlayY,i=e.originX,r=e.originY;if((t="center"===n?this._dir&&"rtl"===this._dir.value?"end"===i?"left":"right":"start"===i?"left":"right":"bottom"===n&&"top"===r?"above":"below")!==this._currentPosition){var o=this._overlayRef;if(o){var a="".concat(this._cssClassPrefix,"-").concat(ww,"-");o.removePanelClass(a+this._currentPosition),o.addPanelClass(a+t)}this._currentPosition=t}}},{key:"_setupPointerEnterEventsIfNeeded",value:function(){var e=this;this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",function(){e._setupPointerExitEventsIfNeeded(),e.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",function(){e._setupPointerExitEventsIfNeeded(),clearTimeout(e._touchstartTimeout),e._touchstartTimeout=setTimeout(function(){return e.show()},500)}])),this._addListeners(this._passiveListeners))}},{key:"_setupPointerExitEventsIfNeeded",value:function(){var e,t=this;if(!this._pointerExitEventsInitialized){this._pointerExitEventsInitialized=!0;var n=[];if(this._platformSupportsMouseEvents())n.push(["mouseleave",function(){return t.hide()}],["wheel",function(e){return t._wheelListener(e)}]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();var i=function(){clearTimeout(t._touchstartTimeout),t.hide(t._defaultOptions.touchendHideDelay)};n.push(["touchend",i],["touchcancel",i])}this._addListeners(n),(e=this._passiveListeners).push.apply(e,n)}}},{key:"_addListeners",value:function(e){var n=this;e.forEach(function(e){var i=t(e,2),r=i[0],o=i[1];n._elementRef.nativeElement.addEventListener(r,o,kw)})}},{key:"_platformSupportsMouseEvents",value:function(){return!this._platform.IOS&&!this._platform.ANDROID}},{key:"_wheelListener",value:function(e){if(this._isTooltipVisible()){var t=this._document.elementFromPoint(e.clientX,e.clientY),n=this._elementRef.nativeElement;t!==n&&!n.contains(t)&&this.hide()}}},{key:"_disableNativeGesturesIfNecessary",value:function(){var e=this.touchGestures;if("off"!==e){var t=this._elementRef.nativeElement,n=t.style;("on"===e||"INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName)&&(n.userSelect=n.msUserSelect=n.webkitUserSelect=n.MozUserSelect="none"),("on"===e||!t.draggable)&&(n.webkitUserDrag="none"),n.touchAction="none",n.webkitTapHighlightColor="transparent"}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(Ju),Os(op),Os(Nc),Os(Xl),Os(qf),Os(Fv),Os(rg),Os(void 0),Os(tp),Os(void 0),Os(bh))},e.\u0275dir=Rt({type:e,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),e}(),Ow=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c,l,h,d,f){var p;return m(this,n),(p=t.call(this,e,i,r,o,a,s,u,c,l,h,d,f))._tooltipComponent=Pw,p}return n}(Ew);return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(Ju),Os(op),Os(Nc),Os(Xl),Os(qf),Os(Fv),Os(rg),Os(xw),Os(tp,8),Os(Cw,8),Os(bh))},e.\u0275dir=Rt({type:e,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[cs]}),e}(),Tw=function(){var e=function(){function e(t){m(this,e),this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new ae}return b(e,[{key:"show",value:function(e){var t=this;clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(function(){t._visibility="visible",t._showTimeoutId=void 0,t._onShow(),t._markForCheck()},e)}},{key:"hide",value:function(e){var t=this;clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(function(){t._visibility="hidden",t._hideTimeoutId=void 0,t._markForCheck()},e)}},{key:"afterHidden",value:function(){return this._onHide}},{key:"isVisible",value:function(){return"visible"===this._visibility}},{key:"ngOnDestroy",value:function(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}},{key:"_animationStart",value:function(){this._closeOnInteraction=!1}},{key:"_animationDone",value:function(e){var t=e.toState;"hidden"===t&&!this.isVisible()&&this._onHide.next(),("visible"===t||"hidden"===t)&&(this._closeOnInteraction=!0)}},{key:"_handleBodyInteraction",value:function(){this._closeOnInteraction&&this.hide(0)}},{key:"_markForCheck",value:function(){this._changeDetectorRef.markForCheck()}},{key:"_onShow",value:function(){}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Cc))},e.\u0275dir=Rt({type:e}),e}(),Pw=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e))._breakpointObserver=i,r._isHandset=r._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)"),r}return n}(Tw);return e.\u0275fac=function(t){return new(t||e)(Os(Cc),Os(aw))},e.\u0275cmp=Ot({type:e,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(e,t){2&e&&uu("zoom","visible"===t._visibility?1:null)},features:[cs],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(e,t){var n;(1&e&&(As(0,"div",0),Vs("@state.start",function(){return t._animationStart()})("@state.done",function(e){return t._animationDone(e)}),Jc(1,"async"),Cu(2),Ms()),2&e)&&(cu("mat-tooltip-handset",null==(n=el(1,5,t._isHandset))?null:n.matches),Ts("ngClass",t.tooltipClass)("@state",t._visibility),Yo(2),Eu(t.message))},directives:[Gh],pipes:[sd],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[_w.tooltipState]},changeDetection:0}),e}(),Aw=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[Sw],imports:[[cg,cd,cv,rb],rb,sp]}),e}();function Mw(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a}function Iw(e,t){return function(n,i){t(n,i,e)}}function Rw(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function Dw(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{u(i.next(e))}catch(t){o(t)}}function s(e){try{u(i.throw(e))}catch(t){o(t)}}function u(e){e.done?r(e.value):function(e){return e instanceof n?e:new n(function(t){t(e)})}(e.value).then(a,s)}u((i=i.apply(e,t||[])).next())})}function Nw(e){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;var t="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=e||t;return!!(n&&n.indexOf("Electron")>=0)}function Lw(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Nw()}var jw="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",Fw=Lw(),Bw=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";m(this,e),this.storage=function(e){try{var n=window[e],i="__storage_test__";return n.setItem(i,i),n.removeItem(i),n}catch(t){return null}}(i),this.id=t,this.config={},Object.assign(this.config,n),this._loadConfiguration()}return b(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function Vw(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,r=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>i&&(n=Math.min(n,i/e.width));var o=e.width*n,a=e.height*n,s=["font-size:1px;","padding:".concat(Math.floor(a/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(a,"px;"),"background:url(".concat(r,");"),"background-size:".concat(o,"px ").concat(a,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var zw={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Uw(e){return"string"==typeof e?zw[e.toUpperCase()]||zw.WHITE:e}function Hw(e,t){if(!e)throw new Error(t||"Assertion failed")}var Gw={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Ww=Gw.window||Gw.self||Gw.global,qw=Gw.process||{};function Xw(){var e;if(Fw&&Ww.performance)e=Ww.performance.now();else if(qw.hrtime){var t=qw.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}console;var Yw={debug:Fw&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Kw={enabled:!0,level:0};function $w(){}var Qw={},Zw={once:!0};function Jw(e){for(var t in e)for(var n in e[t])return n||"untitled";return"empty"}var ek=function(){var e=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},n=t.id;m(this,e),this.id=n,this.VERSION=jw,this._startTs=Xw(),this._deltaTs=Xw(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Bw("__probe-".concat(this.id,"__"),Kw),this.userData={},this.timeStamp("".concat(this.id," started")),function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"],i=Object.getPrototypeOf(e),r=Object.getOwnPropertyNames(i),o=_(r);try{var a=function(){var i=t.value;"function"==typeof e[i]&&(n.find(function(e){return i===e})||(e[i]=e[i].bind(e)))};for(o.s();!(t=o.n()).done;)a()}catch(s){o.e(s)}finally{o.f()}}(this),Object.seal(this)}return b(e,[{key:"level",get:function(){return this.getLevel()},set:function(e){this.setLevel(e)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((Xw()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((Xw()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(e){this.level=e}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"assert",value:function(e,t){Hw(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,Yw.warn,arguments,Zw)}},{key:"error",value:function(e){return this._getLogFunction(0,e,Yw.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,Yw.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,Yw.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){return this._getLogFunction(e,t,Yw.debug||Yw.info,arguments,Zw)}},{key:"table",value:function(e,t,n){return t?this._getLogFunction(e,t,console.table||$w,n&&[n],{tag:Jw(t)}):$w}},{key:"image",value:function(e){var t=e.logLevel,n=e.priority,i=e.image,o=e.message,a=void 0===o?"":o,s=e.scale,u=void 0===s?1:s;return this._shouldLog(t||n)?Fw?function(e){var t,n=e.image,i=e.message,r=void 0===i?"":i,o=e.scale,a=void 0===o?1:o;if("string"==typeof n){var s=new Image;return s.onload=function(){var e,t=Vw(s,r,a);(e=console).log.apply(e,v(t))},s.src=n,$w}var u=n.nodeName||"";if("img"===u.toLowerCase())return(t=console).log.apply(t,v(Vw(n,r,a))),$w;if("canvas"===u.toLowerCase()){var c=new Image;return c.onload=function(){var e;return(e=console).log.apply(e,v(Vw(c,r,a)))},c.src=n.toDataURL(),$w}return $w}({image:i,message:a,scale:u}):function(e){var t=e.image,n=e.scale,o=void 0===n?1:n,a=null;try{a=r(75307)}catch(i){}return a?function(){return a(t,{fit:"box",width:"".concat(Math.round(80*o),"%")}).then(function(e){return console.log(e)})}:$w}({image:i,message:a,scale:u}):$w}},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(o({},e,t))}},{key:"time",value:function(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}},{key:"timeEnd",value:function(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}},{key:"timeStamp",value:function(e,t){return this._getLogFunction(e,t,console.timeStamp||$w)}},{key:"group",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},i=n=nk({logLevel:e,message:t,opts:n}),r=i.collapsed;return n.method=(r?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}},{key:"groupCollapsed",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||$w)}},{key:"withGroup",value:function(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=tk(e)}},{key:"_getLogFunction",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],r=arguments.length>4?arguments[4]:void 0;if(this._shouldLog(e)){var o;r=nk({logLevel:e,message:t,args:i,opts:r}),Hw(n=n||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=Xw();var a=r.tag||r.message;if(r.once){if(Qw[a])return $w;Qw[a]=Xw()}return t=function(e,t,n){if("string"==typeof t){var i=n.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=Math.max(t-e.length,0);return"".concat(" ".repeat(n)).concat(e)}(function(e){return e<10?"".concat(e.toFixed(2),"ms"):e<100?"".concat(e.toFixed(1),"ms"):e<1e3?"".concat(e.toFixed(0),"ms"):"".concat((e/1e3).toFixed(2),"s")}(n.total)):"";t=function(e,t,n){return!Fw&&"string"==typeof e&&(t&&(t=Uw(t),e="\x1b[".concat(t,"m").concat(e,"\x1b[39m")),n&&(t=Uw(n),e="\x1b[".concat(n+10,"m").concat(e,"\x1b[49m"))),e}(t=n.time?"".concat(e,": ").concat(i," ").concat(t):"".concat(e,": ").concat(t),n.color,n.background)}return t}(this.id,r.message,r),(o=n).bind.apply(o,[console,t].concat(v(r.args)))}return $w}}]),e}();return e.VERSION=jw,e}();function tk(e){if(!e)return 0;var t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return Hw(Number.isFinite(t)&&t>=0),t}function nk(e){var t=e.logLevel,n=e.message;e.logLevel=tk(t);for(var i=e.args?Array.from(e.args):[];i.length&&i.shift()!==n;);switch(e.args=i,typeof t){case"string":case"function":void 0!==n&&i.unshift(n),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var r=typeof e.message;return Hw("string"===r||"object"===r),Object.assign(e,e.opts)}var ik=new ek({id:"deck"}),rk={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(rk,"IDENTITY",{get:function(){return ik.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0}});var ok={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},ak={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},sk=new ek({id:"luma.gl"});function uk(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}function ck(e){return"undefined"!=typeof WebGLRenderingContext&&e instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&Number.isFinite(e._version))}function lk(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&2===e._version)}function hk(e){return uk(ck(e),"Invalid WebGLRenderingContext"),e}function dk(e){return uk(lk(e),"Requires WebGL2"),e}var fk={},pk=function e(t){var n=t.gl;this.ext=t,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(t.maxVertexAttribs);for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:{},i=n.copyState,r=void 0!==i&&i,o=n.log,a=void 0===o?function(){}:o;m(this,e),this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=r?function(e,t){if("number"==typeof(t=t||Sk)){var n=t,i=Dk[n];return i?i(e,n):e.getParameter(n)}var r,o={},a=_(Array.isArray(t)?t:Object.keys(t));try{for(a.s();!(r=a.n()).done;){var s=r.value,u=Dk[s];o[s]=u?u(e,Number(s)):e.getParameter(Number(s))}}catch(c){a.e(c)}finally{a.f()}return o}(t):Object.assign({},Sk),this.log=a,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return b(e,[{key:"push",value:function(){this.stateStack.push({})}},{key:"pop",value:function(){uk(this.stateStack.length>0),Uk(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}},{key:"_updateCache",value:function(e){var t,n=!1,i=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(var r in e){uk(void 0!==r);var o=e[r],a=this.cache[r];Lk(o,a)||(n=!0,t=a,i&&!(r in i)&&(i[r]=a),this.cache[r]=o)}return{valueChanged:n,oldValue:t}}}]),e}();function Vk(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.enable,i=void 0===n||n,r=t.copyState;if(uk(void 0!==r),!e.state){var o=globalThis.polyfillContext;for(var a in o&&o(e),e.state=new Bk(e,{copyState:r}),function(e){var t=e.useProgram.bind(e);e.useProgram=function(n){e.state.program!==n&&(t(n),e.state.program=n)}}(e),Ik)Fk(e,a,Ik[a]);jk(e,"getParameter"),jk(e,"isEnabled")}return e.state.enable=i,e}function zk(e){uk(e.state),e.state.pop()}function Uk(e,t){if(uk(ck(e),"setParameters requires a WebGL context"),!Nk(t)){var n={};for(var i in t){var r=Number(i),o=Pk[i];o&&("string"==typeof o?n[o]=!0:o(e,t[i],r))}var a=e.state&&e.state.cache;if(a)for(var s in n)Mk[s](e,t,a)}}function Hk(e,t,n){if(Nk(t))return n(e);var i,r=t.nocatch,o=void 0===r||r;if(function(e){e.state||Vk(e,{copyState:!1}),e.state.push()}(e),Uk(e,t),o)i=n(e),zk(e);else try{i=n(e)}finally{zk(e)}return i}function Gk(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(e){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;var t="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(t&&t.indexOf("Electron")>=0)}()}function Wk(e){var t=e.luma;if(e.canvas&&t){var n=t.canvasSizeInfo.clientWidth;return n?e.drawingBufferWidth/n:1}return 1}function qk(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return function(e,t,n,i,r){var o,a=Xk(e[0],t,n),s=Yk(e[1],t,i,r),u=Xk(e[0]+1,t,n),c=u===n-1?u:u-1;return u=Yk(e[1]+1,t,i,r),r?(o=s,s=u=0===u?u:u+1):o=u===i-1?u:u-1,{x:a,y:s,width:Math.max(c-a+1,1),height:Math.max(o-s+1,1)}}(t,Wk(e),e.drawingBufferWidth,e.drawingBufferHeight,n)}function Xk(e,t,n){return Math.min(Math.round(e*t),n-1)}function Yk(e,t,n,i){return i?Math.max(0,n-1-Math.round(e*t)):Math.min(Math.round(e*t),n-1)}var Kk=Gk(),$k=Kk&&"undefined"!=typeof document,Qk={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function Zk(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};uk(Kk,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils");var t,n=e=Object.assign({},Qk,e),i=n.width,r=n.height;function o(t){if(e.throwOnError)throw new Error(t);return console.error(t),null}e.onError=o;var a=e,s=a.canvas,u=function(e){var t,n=e.canvas,i=e.width,r=void 0===i?800:i,o=e.height,a=void 0===o?600:o,s=e.onError;return"string"==typeof n?($k&&"complete"===document.readyState||s("createGLContext called on canvas '".concat(n,"' before page was loaded")),t=document.getElementById(n)):n?t=n:((t=document.createElement("canvas")).id="lumagl-canvas",t.style.width=Number.isFinite(r)?"".concat(r,"px"):"100%",t.style.height=Number.isFinite(a)?"".concat(a,"px"):"100%",document.body.insertBefore(t,document.body.firstChild)),t}({canvas:s,width:i,height:r,onError:o});return(t=function(e,t){var n=t.onError,i=null,r=function(e){return i=e.statusMessage||i};e.addEventListener("webglcontextcreationerror",r,!1);var o=t.webgl1,a=void 0===o||o,s=t.webgl2,u=void 0===s||s,c=null;return u&&(c=(c=c||e.getContext("webgl2",t))||e.getContext("experimental-webgl2",t)),a&&(c=(c=c||e.getContext("webgl",t))||e.getContext("experimental-webgl",t)),e.removeEventListener("webglcontextcreationerror",r,!1),c?(t.onContextLost&&e.addEventListener("webglcontextlost",t.onContextLost,!1),t.onContextRestored&&e.addEventListener("webglcontextrestored",t.onContextRestored,!1),c):n("Failed to create ".concat(u&&!a?"WebGL2":"WebGL"," context: ").concat(i||"Unknown error"))}(u,e))?(function(e){var t=lk(e)?"WebGL2":"WebGL1",n=function(e){var t=e.getParameter(7936),n=e.getParameter(7937),i=e.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&e.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||t,renderer:i&&e.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||n,vendorMasked:t,rendererMasked:n,version:e.getParameter(7938),shadingLanguageVersion:e.getParameter(35724)}}(e);sk.info(1,"".concat(t).concat(e.debug?" debug":""," context ").concat(n?"(".concat(n.vendor,",").concat(n.renderer,")"):""))()}(t=Jk(t,e)),t):null}function Jk(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e||e._instrumented)return e;e._version=e._version||function(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext?2:1}(e),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};var n=t=Object.assign({},Qk,t),i=n.manageState,r=n.debug;return i&&Vk(e,{copyState:!1,log:function(){for(var e=arguments.length,t=new Array(e),n=0;n0?this.lastSampleCount/this.sampleSize:0}},{key:"getSampleAverageTime",value:function(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}},{key:"getSampleHz",value:function(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}},{key:"getAverageCount",value:function(){return this.samples>0?this.count/this.samples:0}},{key:"getAverageTime",value:function(){return this.samples>0?this.time/this.samples:0}},{key:"getHz",value:function(){return this.time>0?this.samples/(this.time/1e3):0}},{key:"reset",value:function(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}},{key:"_checkSampling",value:function(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}]),e}(),nx=function(){function e(t){var n=t.id,i=t.stats;m(this,e),this.id=n,this.stats={},this._initializeStats(i),Object.seal(this)}return b(e,[{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"count";return this._getOrCreate({name:e,type:t})}},{key:"size",get:function(){return Object.keys(this.stats).length}},{key:"reset",value:function(){for(var e in this.stats)this.stats[e].reset();return this}},{key:"forEach",value:function(e){for(var t in this.stats)e(this.stats[t])}},{key:"getTable",value:function(){var e={};return this.forEach(function(t){e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}},{key:"_initializeStats",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.forEach(function(t){return e._getOrCreate(t)})}},{key:"_getOrCreate",value:function(e){if(!e||!e.name)return null;var t=e.name,n=e.type;return this.stats[t]||(this.stats[t]=e instanceof tx?e:new tx(t,n)),this.stats[t]}}]),e}(),ix="8.5.12",rx=new(function(){function e(){m(this,e),this.stats=new Map}return b(e,[{key:"get",value:function(e){return this.stats.has(e)||this.stats.set(e,new nx({id:e})),this.stats.get(e)}}]),e}());if(globalThis.luma&&globalThis.luma.VERSION!==ix)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(globalThis.luma.VERSION," vs ").concat(ix));function ox(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}function ax(e,t){if("string"!=typeof t)return t;var n=Number(t);if(!isNaN(n))return n;var i=e[t=t.replace(/^.*\./,"")];return ox(void 0!==i,"Accessing undefined constant GL.".concat(t)),i}function sx(e,t){for(var n in t=Number(t),e)if(e[n]===t)return"GL.".concat(n);return String(t)}globalThis.luma||(Gk()&&sk.log(1,"luma.gl ".concat(ix," - set luma.log.level=1 (or higher) to trace rendering"))(),globalThis.luma=globalThis.luma||{VERSION:ix,version:ix,log:sk,stats:rx,globals:{modules:{},nodeIO:{}}}),globalThis;var ux={};function cx(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"id";return ux[e]=ux[e]||1,"".concat(e,"-").concat(ux[e]++)}function lx(e){return ox("number"==typeof e,"Input must be a number"),e&&0==(e&e-1)}function hx(e){var t=!0;for(var n in e){t=!1;break}return t}function dx(e,t,n,i){var r="See luma.gl ".concat(n," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),o=Object.getPrototypeOf(e);i.forEach(function(e){o.methodName||(o[e]=function(){throw sk.removed("Calling removed method ".concat(t,".").concat(e,": "),r)(),new Error(e)})})}var fx="Resource subclass must define virtual methods",px=function(e){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,t),hk(e);var i=n.id,r=n.userData,o=void 0===r?{}:r;this.gl=e,this.gl2=e,this.id=i||cx(this[Symbol.toStringTag]),this.userData=o,this._bound=!1,this._handle=n.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}return b(t,[{key:Symbol.toStringTag,get:function(){return"Resource"}},{key:"toString",value:function(){return"".concat(this[Symbol.toStringTag]||this.constructor.name,"(").concat(this.id,")")}},{key:"handle",get:function(){return this._handle}},{key:"delete",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.deleteChildren,n=void 0!==t&&t,i=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,i&&n&&i.filter(Boolean).forEach(function(e){return e.delete()}),this}},{key:"bind",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.handle;return"function"!=typeof t?(this._bindHandle(t),this):(this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e)}},{key:"unbind",value:function(){this.bind(null)}},{key:"getParameter",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ox(e=ax(this.gl,e));var n=(this.constructor.PARAMETERS||{})[e];if(n){var i=lk(this.gl);if("webgl2"in n&&!i||"extension"in n&&!this.gl.getExtension(n.extension)){var r=n.webgl1,o="webgl2"in n?n.webgl2:n.webgl1;return i?o:r}}return this._getParameter(e,t)}},{key:"getParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.parameters,i=t.keys,r=this.constructor.PARAMETERS||{},o=lk(this.gl),a={},s=n||Object.keys(r),u=_(s);try{for(u.s();!(e=u.n()).done;){var c=e.value,l=r[c];if(l&&(!("webgl2"in l)||o)&&(!("extension"in l)||this.gl.getExtension(l.extension))){var h=i?sx(this.gl,c):c;a[h]=this.getParameter(c,t),i&&"GLenum"===l.type&&(a[h]=sx(this.gl,a[h]))}}}catch(d){u.e(d)}finally{u.f()}return a}},{key:"setParameter",value:function(e,t){ox(e=ax(this.gl,e));var n=(this.constructor.PARAMETERS||{})[e];if(n){var i=lk(this.gl);if("webgl2"in n&&!i||"extension"in n&&!this.gl.getExtension(n.extension))throw new Error("Parameter not available on this platform");"GLenum"===n.type&&(t=ax(t))}return this._setParameter(e,t),this}},{key:"setParameters",value:function(e){for(var t in e)this.setParameter(t,e[t]);return this}},{key:"stubRemovedMethods",value:function(e,t,n){return dx(this,e,t,n)}},{key:"initialize",value:function(e){}},{key:"_createHandle",value:function(){throw new Error(fx)}},{key:"_deleteHandle",value:function(){throw new Error(fx)}},{key:"_bindHandle",value:function(e){throw new Error(fx)}},{key:"_getOptsFromHandle",value:function(){throw new Error(fx)}},{key:"_getParameter",value:function(e,t){throw new Error(fx)}},{key:"_setParameter",value:function(e,t){throw new Error(fx)}},{key:"_context",value:function(){return this.gl.luma=this.gl.luma||{},this.gl.luma}},{key:"_addStats",value:function(){var e=this[Symbol.toStringTag],t=rx.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get("".concat(e,"s Created")).incrementCount(),t.get("".concat(e,"s Active")).incrementCount()}},{key:"_removeStats",value:function(){var e=this[Symbol.toStringTag];rx.get("Resource Counts").get("".concat(e,"s Active")).decrementCount()}},{key:"_trackAllocatedMemory",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this[Symbol.toStringTag],n=rx.get("Memory Usage");n.get("GPU Memory").addCount(e),n.get("".concat(t," Memory")).addCount(e),this.byteLength=e}},{key:"_trackDeallocatedMemory",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this[Symbol.toStringTag],t=rx.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get("".concat(e," Memory")).subtractCount(this.byteLength),this.byteLength=0}}]),t}();function vx(e){switch(ArrayBuffer.isView(e)?e.constructor:e){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function gx(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.clamped,i=void 0===n||n;switch(e){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return i?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function mx(e){for(var t=e.data,n=e.width,i=e.height,r=Math.round(n/2),o=Math.round(i/2),a=new Uint8Array(r*o*4),s=0;s0&&void 0!==arguments[0]?arguments[0]:{};return void 0!==(e=yx("Accessor",e,_x)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}],[{key:"getBytesPerElement",value:function(e){return gx(e.type||5126).BYTES_PER_ELEMENT}},{key:"getBytesPerVertex",value:function(e){return ox(e.size),gx(e.type||5126).BYTES_PER_ELEMENT*e.size}},{key:"resolve",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),(t=n.call(this,e,r)).stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),t.target=r.target||(t.gl.webgl2?36662:34962),t.initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Buffer"}},{key:"getElementCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/wx.getBytesPerElement(e))}},{key:"getVertexCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/wx.getBytesPerVertex(e))}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=yx("Buffer",e,xx),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}},{key:"setProps",value:function(e){return"accessor"in(e=yx("Buffer",e,Sx))&&this.setAccessor(e.accessor),this}},{key:"setAccessor",value:function(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new wx(e),this}},{key:"reallocate",value:function(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}},{key:"setData",value:function(e){return this.initialize(e)}},{key:"subData",value:function(e){ArrayBuffer.isView(e)&&(e={data:e});var t=e,n=t.data,i=t.offset,r=void 0===i?0:i,o=t.srcOffset,a=void 0===o?0:o,s=e.byteLength||e.length;ox(n);var u=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(u,this.handle),0!==a||void 0!==s?(dk(this.gl),this.gl.bufferSubData(this.target,r,n,a,s)):this.gl.bufferSubData(u,r,n),this.gl.bindBuffer(u,null),this.debugData=null,this._inferType(n),this}},{key:"copyData",value:function(e){var t=e.sourceBuffer,n=e.readOffset,i=void 0===n?0:n,r=e.writeOffset,o=void 0===r?0:r,a=e.size,s=this.gl;return dk(s),s.bindBuffer(36662,t.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,i,o,a),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.dstData,n=void 0===t?null:t,i=e.srcByteOffset,r=void 0===i?0:i,o=e.dstOffset,a=void 0===o?0:o,s=e.length,u=void 0===s?0:s;dk(this.gl);var c,l,h=gx(this.accessor.type||5126,{clamped:!1}),d=this._getAvailableElementCount(r),f=a;n?c=(l=n.length)-f:l=f+(c=Math.min(d,u||d));var p=Math.min(d,c);return ox((u=u||p)<=p),n=n||new h(l),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,r,n,a,u),this.gl.bindBuffer(36662,null),n}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?this.target:t,i=e.index,r=void 0===i?this.accessor&&this.accessor.index:i,o=e.offset,a=void 0===o?0:o,s=e.size;return 35345===n||35982===n?void 0!==s?this.gl.bindBufferRange(n,r,this.handle,a,s):(ox(0===a),this.gl.bindBufferBase(n,r,this.handle)):this.gl.bindBuffer(n,this.handle),this}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?this.target:t,i=e.index,r=void 0===i?this.accessor&&this.accessor.index:i;return 35345===n||35982===n?this.gl.bindBufferBase(n,r,null):this.gl.bindBuffer(n,null),this}},{key:"getDebugData",value:function(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}},{key:"invalidateDebugData",value:function(){this.debugData=null}},{key:"_setData",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.byteLength+t;ox(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();var i=this._getTarget();this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,this.usage),this.gl.bufferSubData(i,t,e),this.gl.bindBuffer(i,null),this.debugData=e.slice(0,10),this.bytesUsed=n,this._trackAllocatedMemory(n);var r=vx(e);return ox(r),this.setAccessor(new wx(this.accessor,{type:r})),this}},{key:"_setByteLength",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.usage;ox(e>=0),this._trackDeallocatedMemory();var n=e;0===e&&(n=new Float32Array(0));var i=this._getTarget();return this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,t),this.gl.bindBuffer(i,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}},{key:"_getTarget",value:function(){return this.gl.webgl2?36663:this.target}},{key:"_getAvailableElementCount",value:function(e){var t=e/gx(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-t}},{key:"_inferType",value:function(e){this.accessor.type||this.setAccessor(new wx(this.accessor,{type:vx(e)}))}},{key:"_createHandle",value:function(){return this.gl.createBuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}},{key:"_getParameter",value:function(e){this.gl.bindBuffer(this.target,this.handle);var t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}},{key:"type",get:function(){return sk.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}},{key:"bytes",get:function(){return sk.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}},{key:"setByteLength",value:function(e){return sk.deprecated("setByteLength","reallocate")(),this.reallocate(e)}},{key:"updateAccessor",value:function(e){return sk.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new wx(this.accessor,e),this}}]),i}(px,Symbol.toStringTag),Ex={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},Ox={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},Tx={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},Px=[9729,9728],Ax=globalThis.WebGLBuffer||function(){},Mx=function(e,n){a(r,e);var i=s(r);function r(e,t){var n;m(this,r);var o=t.id,a=void 0===o?cx("texture"):o,s=t.handle,u=t.target;return(n=i.call(this,e,{id:a,handle:s})).target=u,n.textureUnit=void 0,n.loaded=!1,n.width=void 0,n.height=void 0,n.depth=void 0,n.format=void 0,n.type=void 0,n.dataFormat=void 0,n.border=void 0,n.textureUnit=void 0,n.mipmaps=void 0,n}return b(r,[{key:n,get:function(){return"Texture"}},{key:"toString",value:function(){return"Texture(".concat(this.id,",").concat(this.width,"x").concat(this.height,")")}},{key:"initialize",value:function(){var e,t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=n.data;if(i instanceof Promise)return i.then(function(e){return t.initialize(Object.assign({},n,{pixels:e,data:e}))}),this;var r="undefined"!=typeof HTMLVideoElement&&i instanceof HTMLVideoElement;if(r&&i.readyState=HTMLVideoElement.HAVE_CURRENT_DATA?i.currentTime:-1}),this}},{key:"update",value:function(){if(this._video){var e=this._video,t=e.video,n=e.parameters;if(e.lastTime===t.currentTime||t.readyState0&&void 0!==arguments[0]?arguments[0]:{};return this._isNPOT()?(sk.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),Hk(this.gl,t,function(){e.gl.generateMipmap(e.target)}),this.gl.bindTexture(this.target,null),this)}},{key:"setImageData",value:function(e){var n;this._trackDeallocatedMemory("Texture");var i=e.target,r=void 0===i?this.target:i,o=e.pixels,a=void 0===o?null:o,s=e.level,u=void 0===s?0:s,c=e.format,l=void 0===c?this.format:c,h=e.border,d=void 0===h?this.border:h,f=e.offset,p=void 0===f?0:f,v=e.parameters,g=void 0===v?{}:v,m=e.data,y=void 0===m?null:m,b=e.type,w=void 0===b?this.type:b,k=e.width,x=void 0===k?this.width:k,S=e.height,C=void 0===S?this.height:S,E=e.dataFormat,O=void 0===E?this.dataFormat:E,T=e.compressed,P=void 0!==T&&T;y||(y=a),n=this._deduceParameters({format:l,type:w,dataFormat:O,compressed:P,data:y,width:x,height:C}),w=n.type,O=n.dataFormat,P=n.compressed,x=n.width,C=n.height;var A=this.gl;A.bindTexture(this.target,this.handle);var M,I=this._getDataType({data:y,compressed:P});y=I.data,M=I.dataType;var R,D=0;return Hk(this.gl,g,function(){switch(M){case"null":A.texImage2D(r,u,l,x,C,d,O,w,y);break;case"typed-array":A.texImage2D(r,u,l,x,C,d,O,w,y,p);break;case"buffer":(R=dk(A)).bindBuffer(35052,y.handle||y),R.texImage2D(r,u,l,x,C,d,O,w,p),R.bindBuffer(35052,null);break;case"browser-object":lk(A)?A.texImage2D(r,u,l,x,C,d,O,w,y):A.texImage2D(r,u,l,O,w,y);break;case"compressed":var e,n=_(y.entries());try{for(n.s();!(e=n.n()).done;){var i=t(e.value,2),o=i[0],a=i[1];A.compressedTexImage2D(r,o,a.format,a.width,a.height,d,a.data),D+=a.levelSize}}catch(s){n.e(s)}finally{n.f()}break;default:ox(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===M?D:y&&y.byteLength?y.byteLength:this.width*this.height*(Ox[this.dataFormat]||4)*(Tx[this.type]||1),"Texture"),this.loaded=!0,this}},{key:"setSubImageData",value:function(e){var t,n=this,i=e.target,r=void 0===i?this.target:i,o=e.pixels,a=void 0===o?null:o,s=e.data,u=void 0===s?null:s,c=e.x,l=void 0===c?0:c,h=e.y,d=void 0===h?0:h,f=e.width,p=void 0===f?this.width:f,v=e.height,g=void 0===v?this.height:v,m=e.level,y=void 0===m?0:m,b=e.format,_=void 0===b?this.format:b,w=e.type,k=void 0===w?this.type:w,x=e.dataFormat,S=void 0===x?this.dataFormat:x,C=e.compressed,E=void 0!==C&&C,O=e.offset,T=void 0===O?0:O,P=e.border,A=(void 0===P&&this.border,e.parameters),M=void 0===A?{}:A;if(t=this._deduceParameters({format:_,type:k,dataFormat:S,compressed:E,data:u,width:p,height:g}),k=t.type,S=t.dataFormat,E=t.compressed,p=t.width,g=t.height,ox(0===this.depth,"texSubImage not supported for 3D textures"),u||(u=a),u&&u.data){var I=u;u=I.data,p=I.shape[0],g=I.shape[1]}u instanceof Cx&&(u=u.handle),this.gl.bindTexture(this.target,this.handle),Hk(this.gl,M,function(){if(E)n.gl.compressedTexSubImage2D(r,y,l,d,p,g,_,u);else if(null===u)n.gl.texSubImage2D(r,y,l,d,p,g,S,k,null);else if(ArrayBuffer.isView(u))n.gl.texSubImage2D(r,y,l,d,p,g,S,k,u,T);else if(u instanceof Ax){var e=dk(n.gl);e.bindBuffer(35052,u),e.texSubImage2D(r,y,l,d,p,g,S,k,T),e.bindBuffer(35052,null)}else lk(n.gl)?dk(n.gl).texSubImage2D(r,y,l,d,p,g,S,k,u):n.gl.texSubImage2D(r,y,l,d,S,k,u)}),this.gl.bindTexture(this.target,null)}},{key:"copyFramebuffer",value:function(){return sk.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"getActiveUnit",value:function(){return this.gl.getParameter(34016)-33984}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}},{key:"_getDataType",value:function(e){var t=e.data,n=e.compressed;return void 0!==n&&n?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof Cx?{data:t.handle,dataType:"buffer"}:t instanceof Ax?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}},{key:"_deduceParameters",value:function(e){var t,n=e.format,i=e.data,r=e.width,o=e.height,a=e.dataFormat,s=e.type,u=e.compressed,c=Ex[n];return{dataFormat:a=a||c&&c.dataFormat,type:s=s||c&&c.types[0],compressed:u=u||c&&c.compressed,width:r=(t=this._deduceImageSize(i,r,o)).width,height:o=t.height,format:n,data:i}}},{key:"_deduceImageSize",value:function(e,t,n){var i;return ox(i="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:n}:{width:t>=0?t:1,height:n>=0?n:1},"Could not deduced texture size"),ox(void 0===t||i.width===t,"Deduced texture width does not match supplied width"),ox(void 0===n||i.height===n,"Deduced texture height does not match supplied height"),i}},{key:"_createHandle",value:function(){return this.gl.createTexture()}},{key:"_deleteHandle",value:function(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}},{key:"_getParameter",value:function(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);var t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}},{key:"_setParameter",value:function(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:ox(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}},{key:"_isNPOT",value:function(){return!(lk(this.gl)||!this.width||!this.height||lx(this.width)&&lx(this.height))}},{key:"_updateForNPOT",value:function(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}},{key:"_getNPOTParam",value:function(e,t){if(this._isNPOT())switch(e){case 10241:-1===Px.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.format,i=t.linearFiltering,r=!0;return n&&(r=(r=r&&function(e,t){var n=Ex[t];if(!n)return!1;if(void 0===n.gl1&&void 0===n.gl2)return!0;var i=lk(e)&&n.gl2||n.gl1;return"string"==typeof i?e.getExtension(i):i}(e,n))&&(!i||function(e,t){var n=Ex[t];switch(n&&n.types[0]){case 5126:return e.getExtension("OES_texture_float_linear");case 5131:return e.getExtension("OES_texture_half_float_linear");default:return!0}}(e,n))),r}}]),r}(px,Symbol.toStringTag);function Ix(e,t){return ox("string"==typeof e),e=""+e,new Promise(function(n,i){try{var r=new Image;r.onload=function(){return n(r)},r.onerror=function(){return i(new Error("Could not load image ".concat(e,".")))},r.crossOrigin=t&&t.crossOrigin||"anonymous",r.src=e}catch(r){i(r)}})}var Rx=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),hk(e),(r instanceof Promise||"string"==typeof r)&&(r={data:r}),"string"==typeof r.data&&(r=Object.assign({},r,{data:Ix(r.data)})),(t=n.call(this,e,Object.assign({},r,{target:3553}))).initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Texture2D"}}],[{key:"isSupported",value:function(e,t){return Mx.isSupported(e,t)}}]),i}(Mx,Symbol.toStringTag),Dx="EXT_color_buffer_float",Nx={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Dx,bpp:2},33327:{gl2:Dx,bpp:4},34842:{gl2:Dx,bpp:8},33326:{gl2:Dx,bpp:4},33328:{gl2:Dx,bpp:8},34836:{gl2:Dx,bpp:16},35898:{gl2:Dx,bpp:4}},Lx=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),(t=n.call(this,e,r)).initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Renderbuffer"}},{key:"initialize",value:function(e){var t=e.format,n=e.width,i=void 0===n?1:n,r=e.height,o=void 0===r?1:r,a=e.samples,s=void 0===a?0:a;return ox(t,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==s&&lk(this.gl)?this.gl.renderbufferStorageMultisample(36161,s,t,i,o):this.gl.renderbufferStorage(36161,t,i,o),this.format=t,this.width=i,this.height=o,this.samples=s,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*Nx[this.format].bpp),this}},{key:"resize",value:function(e){var t=e.width,n=e.height;return t!==this.width||n!==this.height?this.initialize({width:t,height:n,format:this.format,samples:this.samples}):this}},{key:"_createHandle",value:function(){return this.gl.createRenderbuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}},{key:"_bindHandle",value:function(e){this.gl.bindRenderbuffer(36161,e)}},{key:"_syncHandle",value:function(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}},{key:"_getParameter",value:function(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{format:null},n=t.format;return!n||function(e,t,n){var i=n[t];if(!i)return!1;var r=lk(e)&&i.gl2||i.gl1;return"string"==typeof r?e.getExtension(r):r}(e,n,Nx)}},{key:"getSamplesForFormat",value:function(e,t){var n=t.format;return e.getInternalformatParameter(36161,n,32937)}}]),i}(px,Symbol.toStringTag),jx="clear: bad arguments";function Fx(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.framebuffer,i=void 0===n?null:n,r=t.color,o=void 0===r?null:r,a=t.depth,s=void 0===a?null:a,u=t.stencil,c=void 0===u?null:u,l={};i&&(l.framebuffer=i);var h=0;o&&(h|=16384,!0!==o&&(l.clearColor=o)),s&&(h|=256,!0!==s&&(l.clearDepth=s)),c&&(h|=1024,!0!==s&&(l.clearStencil=s)),ox(0!==h,jx),Hk(e,l,function(){e.clear(h)})}function Bx(e,t,n,i,r,o,a){try{var s=e[o](a),u=s.value}catch(c){return void n(c)}s.done?t(u):Promise.resolve(u).then(i,r)}function Vx(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(e){Bx(o,i,r,a,s,"next",e)}function s(e){Bx(o,i,r,a,s,"throw",e)}a(void 0)})}}var zx=[34069,34070,34071,34072,34073,34074],Ux=function(){var e=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),hk(e),(t=n.call(this,e,Object.assign({},r,{target:34067}))).initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"TextureCube"}},{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.mipmaps,i=void 0===n||n,r=t.parameters,o=void 0===r?{}:r;return this.opts=t,this.setCubeMapImageData(t).then(function(){e.loaded=!0,i&&e.generateMipmap(t),e.setParameters(o)}),this}},{key:"subImage",value:function(e){var t=e.face,n=e.data,i=e.x,r=void 0===i?0:i,o=e.y,a=void 0===o?0:o,s=e.mipmapLevel,u=void 0===s?0:s;return this._subImage({target:t,data:n,x:r,y:a,mipmapLevel:u})}},{key:"setCubeMapImageData",value:function(e){var t=e.width,n=e.height,i=e.pixels,r=e.data,o=e.border,a=void 0===o?0:o,s=e.format,u=void 0===s?6408:s,c=e.type,l=void 0===c?5121:c,h=this;return Vx(regeneratorRuntime.mark(function e(){var o,s,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return o=h.gl,s=i||r,e.next=4,Promise.all(zx.map(function(e){var t=s[e];return Promise.all(Array.isArray(t)?t:[t])}));case 4:c=e.sent,h.bind(),zx.forEach(function(e,i){c[i].length>1&&!1!==h.opts.mipmaps&&sk.warn("".concat(h.id," has mipmap and multiple LODs."))(),c[i].forEach(function(i,r){t&&n?o.texImage2D(e,r,u,t,n,a,u,l,i):o.texImage2D(e,r,u,u,l,i)})}),h.unbind();case 6:case"end":return e.stop()}},e)}))()}},{key:"setImageDataForFace",value:function(e){var t=this,n=e.face,i=e.width,r=e.height,o=e.pixels,a=e.data,s=e.border,u=void 0===s?0:s,c=e.format,l=void 0===c?6408:c,h=e.type,d=void 0===h?5121:h,f=this.gl,p=o||a;return this.bind(),p instanceof Promise?p.then(function(i){return t.setImageDataForFace(Object.assign({},e,{face:n,data:i,pixels:i}))}):this.width||this.height?f.texImage2D(n,0,l,i,r,u,l,d,p):f.texImage2D(n,0,l,l,d,p),this}}]),i}(Mx,Symbol.toStringTag);return e.FACES=zx,e}(),Hx=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),dk(e),(t=n.call(this,e,r=Object.assign({depth:1},r,{target:32879,unpackFlipY:!1}))).initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Texture3D"}},{key:"setImageData",value:function(e){var t=this,n=e.level,i=void 0===n?0:n,r=e.dataFormat,o=void 0===r?6408:r,a=e.width,s=e.height,u=e.depth,c=void 0===u?1:u,l=e.border,h=void 0===l?0:l,d=e.format,f=e.type,p=void 0===f?5121:f,v=e.offset,g=void 0===v?0:v,m=e.data,y=e.parameters,b=void 0===y?{}:y;return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),Hk(this.gl,b,function(){ArrayBuffer.isView(m)&&t.gl.texImage3D(t.target,i,o,a,s,c,h,d,p,m),m instanceof Cx&&(t.gl.bindBuffer(35052,m.handle),t.gl.texImage3D(t.target,i,o,a,s,c,h,d,p,g))}),this._trackAllocatedMemory(m&&m.byteLength?m.byteLength:this.width*this.height*this.depth*(Ox[this.dataFormat]||4)*(Tx[this.type]||1),"Texture"),this.loaded=!0,this}}],[{key:"isSupported",value:function(e){return lk(e)}}]),i}(Mx,Symbol.toStringTag);function Gx(e,t){ox(e instanceof Rx||e instanceof Ux||e instanceof Hx);var n=e.constructor,i=e.gl,r=e.width,o=e.height,a=e.format,s=e.type,u=e.dataFormat,c=e.border,l=e.mipmaps;return new n(i,Object.assign({width:r,height:o,format:a,type:s,dataFormat:u,border:c,mipmaps:l},t))}function Wx(e,t){var n=e.gl,i=e.width,r=e.height,o=e.id;return new $x(n,Object.assign({},t,{id:"framebuffer-for-".concat(o),width:i,height:r,attachments:{36064:e}}))}function qx(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.sourceX,i=void 0===n?0:n,r=t.sourceY,o=void 0===r?0:r,a=t.sourceFormat,s=void 0===a?6408:a,u=t.sourceAttachment,c=void 0===u?36064:u,l=t.target,h=void 0===l?null:l,d=t.sourceWidth,f=t.sourceHeight,p=t.sourceType,v=Yx(e),g=v.framebuffer,m=v.deleteFramebuffer;ox(g);var y=g.gl,b=g.handle,_=g.attachments;d=d||g.width,f=f||g.height,36064===c&&null===b&&(c=1028),ox(_[c]),h=function(e,t,n,i,r){return e||new(gx(t=t||5121,{clamped:!1}))(i*r*function(e){switch(e){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return ox(!1),0}}(n))}(h,p=p||_[c].type,s,d,f),p=p||vx(h);var w=y.bindFramebuffer(36160,b);return y.readPixels(i,o,d,f,s,p,h),y.bindFramebuffer(36160,w||null),m&&g.delete(),h}function Xx(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.sourceAttachment,i=void 0===n?36064:n,r=t.targetMaxHeight,o=void 0===r?Number.MAX_SAFE_INTEGER:r,a=qx(e,{sourceAttachment:i}),s=e.width,u=e.height;u>o;){var c=mx({data:a,width:s,height:u});a=c.data,s=c.width,u=c.height}!function(e){var t=e.data,n=e.height,i=e.bytesPerPixel,r=e.temp,o=e.width*(void 0===i?4:i);r=r||new Uint8Array(o);for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:{};return m(this,o),(t=r.call(this,e,n)).width=null,t.height=null,t.attachments={},t.readBuffer=36064,t.drawBuffers=[36064],t.ownResources=[],t.initialize(n),Object.seal(c(t)),t}return b(o,[{key:i,get:function(){return"Framebuffer"}},{key:"MAX_COLOR_ATTACHMENTS",get:function(){var e=dk(this.gl);return e.getParameter(e.MAX_COLOR_ATTACHMENTS)}},{key:"MAX_DRAW_BUFFERS",get:function(){var e=dk(this.gl);return e.getParameter(e.MAX_DRAW_BUFFERS)}},{key:"color",get:function(){return this.attachments[36064]||null}},{key:"texture",get:function(){return this.attachments[36064]||null}},{key:"depth",get:function(){return this.attachments[36096]||this.attachments[33306]||null}},{key:"stencil",get:function(){return this.attachments[36128]||this.attachments[33306]||null}},{key:"initialize",value:function(e){var t=e.width,n=void 0===t?1:t,i=e.height,r=void 0===i?1:i,o=e.attachments,a=void 0===o?null:o,s=e.color,u=void 0===s||s,c=e.depth,l=void 0===c||c,h=e.stencil,d=void 0!==h&&h,f=e.check,p=void 0===f||f,v=e.readBuffer,g=e.drawBuffers;if(ox(n>=0&&r>=0,"Width and height need to be integers"),this.width=n,this.height=r,a)for(var m in a){var y=a[m];(Array.isArray(y)?y[0]:y).resize({width:n,height:r})}else a=this._createDefaultAttachments(u,l,d,n,r);this.update({clearAttachments:!0,attachments:a,readBuffer:v,drawBuffers:g}),a&&p&&this.checkStatus()}},{key:"delete",value:function(){var t,n=_(this.ownResources);try{for(n.s();!(t=n.n()).done;){t.value.delete()}}catch(i){n.e(i)}finally{n.f()}return e(p(o.prototype),"delete",this).call(this),this}},{key:"update",value:function(e){var t=e.attachments,n=void 0===t?{}:t,i=e.readBuffer,r=e.drawBuffers,o=e.clearAttachments,a=void 0!==o&&o,s=e.resizeAttachments,u=void 0===s||s;this.attach(n,{clearAttachments:a,resizeAttachments:u});var c=this.gl,l=c.bindFramebuffer(36160,this.handle);return i&&this._setReadBuffer(i),r&&this._setDrawBuffers(r),c.bindFramebuffer(36160,l||null),this}},{key:"resize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.width,n=e.height;if(null===this.handle)return ox(void 0===t&&void 0===n),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;for(var i in void 0===t&&(t=this.gl.drawingBufferWidth),void 0===n&&(n=this.gl.drawingBufferHeight),t!==this.width&&n!==this.height&&sk.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(t,"x").concat(n))(),this.attachments)this.attachments[i].resize({width:t,height:n});return this.width=t,this.height=n,this}},{key:"attach",value:function(e){var n=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=i.clearAttachments,o=void 0!==r&&r,a=i.resizeAttachments,s=void 0===a||a,u={};o&&Object.keys(this.attachments).forEach(function(e){u[e]=null}),Object.assign(u,e);var c=this.gl.bindFramebuffer(36160,this.handle);for(var l in u){ox(void 0!==l,"Misspelled framebuffer binding point?");var h=Number(l),d=u[h],f=d;if(f)if(f instanceof Lx)this._attachRenderbuffer({attachment:h,renderbuffer:f});else if(Array.isArray(d)){var p=t(d,3),v=p[0],g=p[1],m=void 0===g?0:g,y=p[2],b=void 0===y?0:y;f=v,this._attachTexture({attachment:h,texture:v,layer:m,level:b})}else this._attachTexture({attachment:h,texture:f,layer:0,level:0});else this._unattach(h);s&&f&&f.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,c||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(function(e){return!n.attachments[e]}).forEach(function(e){delete n.attachments[e]})}},{key:"checkStatus",value:function(){var e=this.getStatus();if(36053!==e)throw new Error(function(e){return(o.STATUS||{})[e]||"Framebuffer error ".concat(e)}(e));return this}},{key:"getStatus",value:function(){var e=this.gl,t=e.bindFramebuffer(36160,this.handle),n=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),n}},{key:"clear",value:function(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=n.color,r=n.depth,o=n.stencil,a=n.drawBuffers,s=void 0===a?[]:a,u=this.gl.bindFramebuffer(36160,this.handle);return(i||r||o)&&Fx(this.gl,{color:i,depth:r,stencil:o}),s.forEach(function(n,i){!function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.framebuffer,r=void 0===i?null:i,o=n.buffer,a=void 0===o?6144:o,s=n.drawBuffer,u=void 0===s?0:s,c=n.value,l=void 0===c?[0,0,0,0]:c;dk(e),Hk(e,{framebuffer:r},function(){switch(a){case 6144:switch(l.constructor){case Int32Array:e.clearBufferiv(a,u,l);break;case Uint32Array:e.clearBufferuiv(a,u,l);break;case Float32Array:default:e.clearBufferfv(a,u,l)}break;case 6145:e.clearBufferfv(6145,0,[l]);break;case 6146:e.clearBufferiv(6146,0,[l]);break;case 34041:var n=t(l,2),i=n[0],r=n[1];e.clearBufferfi(34041,0,i,r);break;default:ox(!1,jx)}})}(e.gl,{drawBuffer:i,value:n})}),this.gl.bindFramebuffer(36160,u||null),this}},{key:"readPixels",value:function(){return sk.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}},{key:"readPixelsToBuffer",value:function(){return sk.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}},{key:"copyToDataUrl",value:function(){return sk.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}},{key:"copyToImage",value:function(){return sk.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}},{key:"copyToTexture",value:function(){return sk.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"blit",value:function(){return sk.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}},{key:"invalidate",value:function(e){var t=e.attachments,n=void 0===t?[]:t,i=e.x,r=void 0===i?0:i,o=e.y,a=void 0===o?0:o,s=e.width,u=e.height,c=dk(this.gl),l=c.bindFramebuffer(36008,this.handle);return 0===r&&0===a&&void 0===s&&void 0===u?c.invalidateFramebuffer(36008,n):c.invalidateFramebuffer(36008,n,r,a,s,u),c.bindFramebuffer(36008,l),this}},{key:"getAttachmentParameter",value:function(e,t,n){var i=this._getAttachmentParameterFallback(t);return null===i&&(this.gl.bindFramebuffer(36160,this.handle),i=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),n&&i>1e3&&(i=sx(this.gl,i)),i}},{key:"getAttachmentParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:36064,n=arguments.length>1?arguments[1]:void 0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.constructor.ATTACHMENT_PARAMETERS||[],r={},o=_(i);try{for(o.s();!(e=o.n()).done;){var a=e.value;r[n?sx(this.gl,a):a]=this.getAttachmentParameter(t,a,n)}}catch(s){o.e(s)}finally{o.f()}return r}},{key:"getParameters",value:function(){for(var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=Object.keys(this.attachments),n={},i=0,r=t;i0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(e>sk.level||"undefined"==typeof window)return this;t=t||"Framebuffer ".concat(this.id);var n=Xx(this,{targetMaxHeight:100});return sk.image({logLevel:e,message:t,image:n},t)(),this}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?36160:t;return this.gl.bindFramebuffer(n,this.handle),this}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?36160:t;return this.gl.bindFramebuffer(n,null),this}},{key:"_createDefaultAttachments",value:function(e,t,n,i,r){var o=null;return e&&((o=o||{})[36064]=new Rx(this.gl,{id:"".concat(this.id,"-color0"),pixels:null,format:6408,type:5121,width:i,height:r,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&n?((o=o||{})[33306]=new Lx(this.gl,{id:"".concat(this.id,"-depth-stencil"),format:35056,width:i,height:111}),this.ownResources.push(o[33306])):t?((o=o||{})[36096]=new Lx(this.gl,{id:"".concat(this.id,"-depth"),format:33189,width:i,height:r}),this.ownResources.push(o[36096])):n&&ox(!1),o}},{key:"_unattach",value:function(e){var t=this.attachments[e];!t||(t instanceof Lx?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}},{key:"_attachRenderbuffer",value:function(e){var t=e.attachment,n=void 0===t?36064:t,i=e.renderbuffer;this.gl.framebufferRenderbuffer(36160,n,36161,i.handle),this.attachments[n]=i}},{key:"_attachTexture",value:function(e){var t=e.attachment,n=void 0===t?36064:t,i=e.texture,r=e.layer,o=e.level,a=this.gl;switch(a.bindTexture(i.target,i.handle),i.target){case 35866:case 32879:dk(a).framebufferTextureLayer(36160,n,i.target,o,r);break;case 34067:var s=function(e){return e<34069?e+34069:e}(r);a.framebufferTexture2D(36160,n,s,i.handle,o);break;case 3553:a.framebufferTexture2D(36160,n,3553,i.handle,o);break;default:ox(!1,"Illegal texture type")}a.bindTexture(i.target,null),this.attachments[n]=i}},{key:"_setReadBuffer",value:function(e){var t=function(e){return lk(e)?e:null}(this.gl);t?t.readBuffer(e):ox(36064===e||1029===e,Kx),this.readBuffer=e}},{key:"_setDrawBuffers",value:function(e){var t=this.gl,n=dk(t);if(n)n.drawBuffers(e);else{var i=t.getExtension("WEBGL_draw_buffers");i?i.drawBuffersWEBGL(e):ox(1===e.length&&(36064===e[0]||1029===e[0]),Kx)}this.drawBuffers=e}},{key:"_getAttachmentParameterFallback",value:function(e){var t=function(e){for(var t in e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},Qx)void 0===e.luma.caps[t]&&(e.luma.caps[t]=eS(e,t));return e.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}},{key:"_createHandle",value:function(){return this.gl.createFramebuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteFramebuffer(this.handle)}},{key:"_bindHandle",value:function(e){return this.gl.bindFramebuffer(36160,e)}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.colorBufferFloat,i=t.colorBufferHalfFloat,r=!0;return n&&(r=Boolean(e.getExtension("EXT_color_buffer_float")||e.getExtension("WEBGL_color_buffer_float")||e.getExtension("OES_texture_float"))),i&&(r=r&&Boolean(e.getExtension("EXT_color_buffer_float")||e.getExtension("EXT_color_buffer_half_float"))),r}},{key:"getDefaultFramebuffer",value:function(e){return e.luma=e.luma||{},e.luma.defaultFramebuffer=e.luma.defaultFramebuffer||new o(e,{id:"default-framebuffer",handle:null,attachments:{}}),e.luma.defaultFramebuffer}}]),o}(px,Symbol.toStringTag);$x.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];var Qx={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(e){var t=new Rx(e,{format:6408,type:5126,dataFormat:6408}),n=new $x(e,{id:"test-framebuffer",check:!1,attachments:{36064:t}}),i=n.getStatus();return t.delete(),n.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function Zx(e,t){return Jx(e,t)}function Jx(e,t){return(t=Array.isArray(t)?t:[t]).every(function(t){return eS(e,t)})}function eS(e,t){return e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},void 0===e.luma.caps[t]&&(e.luma.caps[t]=function(e,t){var n,i=Qx[t];ox(i,t);var r=lk(e)&&i[1]||i[0];if("function"==typeof r)n=r(e);else if(Array.isArray(r)){n=!0;var o,a=_(r);try{for(a.s();!(o=a.n()).done;){var s=o.value;n=n&&Boolean(e.getExtension(s))}}catch(u){a.e(u)}finally{a.f()}}else"string"==typeof r?n=Boolean(e.getExtension(r)):"boolean"==typeof r?n=r:ox(!1);return n}(e,t)),e.luma.caps[t]||sk.log(2,"Feature: ".concat(t," not supported"))(),e.luma.caps[t]}var tS=function(){function e(t,n){m(this,e),this.opts=n,this.source=t}return b(e,[{key:"value",get:function(){return this.source.value}},{key:"getValue",value:function(){var e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];var n=this.source.value,i=t.size,r=n;if(n&&n.length!==i){r=new Float32Array(i);for(var o=t.elementOffset||0,a=0;ai&&(r=i);var o=this._pool,a=e.BYTES_PER_ELEMENT*r,s=o.findIndex(function(e){return e.byteLength>=a});if(s>=0){var u=new e(o.splice(s,1)[0],0,r);return n&&u.fill(0),u}return new e(r)}},{key:"_release",value:function(e){if(ArrayBuffer.isView(e)){var t=this._pool,n=e.buffer,i=n.byteLength,r=t.findIndex(function(e){return e.byteLength>=i});r<0?t.push(n):(r>0||t.lengththis.props.poolSize&&t.shift()}}}]),e}()),iS=1/Math.PI*180,rS=1/180*Math.PI,oS={};function aS(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.precision,i=void 0===n?oS.precision||4:n;return e=function(e){return Math.round(e/oS.EPSILON)*oS.EPSILON}(e),"".concat(parseFloat(e.toPrecision(i)))}function sS(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function uS(e,t,n){if(sS(e)){n=n||function(e){return e.clone?e.clone():new Array(e.length)}(e);for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0?", ":"")+aS(this[n],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}},{key:"equals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t2&&void 0!==arguments[2]?arguments[2]:"";if(oS.debug&&!function(e,t){if(e.length!==t)return!1;for(var n=0;n=0&&e=0&&e0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return m(this,n),e=t.call(this,-0,-0,-0),1===arguments.length&&sS(i)?e.copy(i):(oS.debug&&(gS(i),gS(r),gS(o)),e[0]=i,e[1]=r,e[2]=o),e}return b(n,[{key:"set",value:function(e,t,n){return this[0]=e,this[1]=t,this[2]=n,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}},{key:"fromObject",value:function(e){return oS.debug&&(gS(e.x),gS(e.y),gS(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}},{key:"ELEMENTS",get:function(){return 3}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"angle",value:function(e){return RS(this,e)}},{key:"cross",value:function(e){return ES(this,this,e),this.check()}},{key:"rotateX",value:function(e){var t=e.radians,n=e.origin;return AS(this,this,void 0===n?LS:n,t),this.check()}},{key:"rotateY",value:function(e){var t=e.radians,n=e.origin;return MS(this,this,void 0===n?LS:n,t),this.check()}},{key:"rotateZ",value:function(e){var t=e.radians,n=e.origin;return IS(this,this,void 0===n?LS:n,t),this.check()}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return OS(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return DS(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return TS(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return function(e,t,n){var i=t[0],r=t[1];e[0]=n[0]*i+n[2]*r,e[1]=n[1]*i+n[3]*r,e[2]=t[2]}(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return PS(this,this,e),this.check()}}],[{key:"ZERO",get:function(){return jS.ZERO=jS.ZERO||Object.freeze(new n(0,0,0,0))}}]),n}(_S),BS=new FS;function VS(e,t,n,i){BS.set(e,t,n);var r=BS.len();return{distance:i/r,normal:new FS(-e/r,-t/r,-n/r)}}function zS(e){return e-Math.fround(e)}function US(e,t){var n=t.size,i=void 0===n?1:n,r=t.startIndex,o=void 0===r?0:r,a=t.endIndex;Number.isFinite(a)||(a=e.length);var s=(a-o)/i;NS=nS.allocate(NS,s,{type:Float32Array,size:2*i});for(var u=o,c=0;u1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,i=qS,r={index:-1,data:e,target:[]};return e?"function"==typeof e[Symbol.iterator]?i=e:e.length>0&&(XS.length=e.length,i=XS):i=qS,(t>0||Number.isFinite(n))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(t,n),r.index=t-1),{iterable:i,objectInfo:r}}function KS(e){return e&&e[Symbol.asyncIterator]}function $S(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return!0};return Array.isArray(e)?QS(e,t,[]):t(e)?[e]:[]}function QS(e,t,n){for(var i=-1;++ic)n.set(t.subarray(0,c),r);else if(n.set(t,r),s)for(var l=u;l=f)){var v=p?i.value:i.getBuffer().getData({srcByteOffset:l});if(i.settings.normalized&&!p){var g=s;s=function(e,t){return i._normalizeConstant(g(e,t))}}var m=p?function(e,t){return s(v,t)}:function(e,t){return s(v.subarray(e,e+c),t)},y=t.getData({length:r}),b=new Float32Array(f);(function(e){var t=e.source,n=e.target,i=e.size,r=e.getData,o=e.sourceStartIndices,a=e.targetStartIndices;if(!Array.isArray(a))return tC({source:t,target:n,size:i,getData:r}),n;for(var s=0,u=0,c=r&&function(e,t){return r(e+u,t)},l=Math.min(o.length,a.length),h=1;h1&&void 0!==arguments[1]?arguments[1]:{};m(this,r),t=i.call(this,e,n);var o=n.transition,a=void 0!==o&&o,s=n.noAlloc,u=void 0!==s&&s,c=n.update,l=void 0===c?null:c,h=n.accessor,d=void 0===h?null:h,f=n.transform,p=void 0===f?null:f,v=n.startIndices,g=void 0===v?null:v;return Object.assign(t.settings,{transition:a,noAlloc:u,update:l||d&&t._autoUpdater,accessor:d,transform:p}),Object.assign(t.state,{lastExternalBuffer:null,binaryValue:null,binaryAccessor:null,needsUpdate:!0,needsRedraw:!1,updateRanges:eC,startIndices:g}),Object.seal(t.settings),Object.seal(t.state),t._validateAttributeUpdaters(),t}return b(r,[{key:"startIndices",get:function(){return this.state.startIndices},set:function(e){this.state.startIndices=e}},{key:"needsUpdate",value:function(){return this.state.needsUpdate}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.clearChangedFlags,n=void 0!==t&&t,i=this.state.needsRedraw;return this.state.needsRedraw=i&&!n,i}},{key:"getUpdateTriggers",value:function(){var e=this.settings.accessor;return[this.id].concat("function"!=typeof e&&e||[])}},{key:"supportsTransition",value:function(){return Boolean(this.settings.transition)}},{key:"getTransitionSetting",value:function(e){if(!e||!this.supportsTransition())return null;var t=this.settings.accessor,n=this.settings.transition;return iC(Array.isArray(t)?e[t.find(function(t){return e[t]})]:e[t],n)}},{key:"setNeedsUpdate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.id,t=arguments.length>1?arguments[1]:void 0;if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){var n=t.startRow,i=void 0===n?0:n,r=t.endRow,o=void 0===r?1/0:r;this.state.updateRanges=function(e,t){if(e===eC||(t[0]<0&&(t[0]=0),t[0]>=t[1]))return e;for(var n=[],i=e.length,r=0,o=0;ot[1]?n.push(a):t=[Math.min(a[0],t[0]),Math.max(a[1],t[1])]}return n.splice(r,0,t),n}(this.state.updateRanges,[i,o])}else this.state.updateRanges=eC}},{key:"clearNeedsUpdate",value:function(){this.state.needsUpdate=!1,this.state.updateRanges=JS}},{key:"setNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.id;this.state.needsRedraw=this.state.needsRedraw||e}},{key:"update",value:function(e){this.setData(e)}},{key:"allocate",value:function(t){var n=this.state,i=this.settings;return!i.noAlloc&&!!i.update&&(e(p(r.prototype),"allocate",this).call(this,{numInstances:t,copy:n.updateRanges!==eC}),!0)}},{key:"updateBuffer",value:function(n){var i=n.numInstances,o=n.data,a=n.props,s=n.context;if(!this.needsUpdate())return!1;var u=this.state.updateRanges,c=this.settings,l=c.update,h=c.noAlloc,d=!0;if(l){var f,v=_(u);try{for(v.s();!(f=v.n()).done;){var g=t(f.value,2),m=g[0],y=g[1];l.call(s,this,{data:o,startRow:m,endRow:y,props:a,numInstances:i})}}catch(O){v.e(O)}finally{v.f()}if(this.value)if(this.constant||this.buffer.byteLength1&&void 0!==arguments[1]?arguments[1]:null,n=this.state,i=this.settings;return e?!(i.noAlloc||(n.binaryValue===e?(this.clearNeedsUpdate(),0):(n.binaryValue=e,this.setNeedsRedraw(),ArrayBuffer.isView(e)&&(e={value:e}),i.transform||t!==this.startIndices?(WS(ArrayBuffer.isView(e.value),"invalid ".concat(i.accessor)),n.binaryAccessor=function(e,t){var n=t.size,i=t.stride,r=t.offset,o=t.startIndices,a=t.nested,s=e.BYTES_PER_ELEMENT,u=i?i/s:n,c=r?r/s:0,l=Math.floor((e.length-c)/u);return function(t,i){var r=i.index,s=i.target;if(!o){for(var h=r*u+c,d=0;dl?c.set(x,g):(e._normalizeValue(x,b.target,0),ZS({target:c,source:b.target,start:g,count:S}));g+=S*l}else e._normalizeValue(x,c,g),g+=l}}catch(P){w.e(P)}finally{w.f()}}}},{key:"_validateAttributeUpdaters",value:function(){var e=this.settings;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}},{key:"_checkAttributeArray",value:function(){var e=this.value,t=Math.min(4,this.size);if(e&&e.length>=t){var n=!0;switch(t){case 4:n=n&&Number.isFinite(e[3]);case 3:n=n&&Number.isFinite(e[2]);case 2:n=n&&Number.isFinite(e[1]);case 1:n=n&&Number.isFinite(e[0]);break;default:n=!1}if(!n)throw new Error("Illegal attribute generated for ".concat(this.id))}}}]),r}(function(){function e(t,n){m(this,e),this.gl=t,this.id=n.id,this.size=n.size;var i=n.logicalType||n.type,r=5130===i,o=n.defaultValue;o=Number.isFinite(o)?[o]:o||new Array(this.size).fill(0),n.defaultValue=o;var a=i;r?a=5126:!a&&n.isIndexed?a=t&&Zx(t,"ELEMENT_INDEX_UINT32")?5125:5123:a||(a=5126),n.logicalType=i,n.type=a;var s=function(e){switch(e){case 5126:return Float32Array;case 5130:return Float64Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return Uint8ClampedArray;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Unknown GL type")}}(i||a||5126);this.shaderAttributes={},this.doublePrecision=r,r&&!1===n.fp64&&(s=Float32Array),n.bytesPerElement=s.BYTES_PER_ELEMENT,this.defaultType=s,this.value=null,this.settings=n,this.state={externalBuffer:null,bufferAccessor:n,allocatedValue:null,constant:!1},this._buffer=null,this.setData(n)}return b(e,[{key:"buffer",get:function(){if(!this._buffer){var e=this.settings,t=e.isIndexed,n=e.type;this._buffer=new Cx(this.gl,{id:this.id,target:t?34963:34962,accessor:{type:n}})}return this._buffer}},{key:"byteOffset",get:function(){var e=this.getAccessor();return e.vertexOffset?e.vertexOffset*HS(e):0}},{key:"delete",value:function(){this._buffer&&(this._buffer.delete(),this._buffer=null),nS.release(this.state.allocatedValue)}},{key:"getShaderAttributes",value:function(e,t){if(this.doublePrecision){var n={},i=this.value instanceof Float64Array,r=function(e,t){var n=GS(e,t);return{high:n,low:I(M({},n),{offset:n.offset+4*e.size})}}(this.getAccessor(),t||{});return n[e]=new tS(this,r.high),n["".concat(e,"64Low")]=i?new tS(this,r.low):new Float32Array(this.size),n}if(t){var a=GS(this.getAccessor(),t);return o({},e,new tS(this,a))}return o({},e,this)}},{key:"getBuffer",value:function(){return this.state.constant?null:this.state.externalBuffer||this._buffer}},{key:"getValue",value:function(){return this.state.constant?this.value:[this.getBuffer(),this.getAccessor()]}},{key:"getAccessor",value:function(){return this.state.bufferAccessor}},{key:"setData",value:function(e){var t=this.state;ArrayBuffer.isView(e)?e={value:e}:e instanceof Cx&&(e={buffer:e});var n=M(M({},this.settings),e);if(t.bufferAccessor=n,e.constant){var i=e.value;if(i=this._normalizeValue(i,[],0),this.settings.normalized&&(i=this._normalizeConstant(i)),t.constant&&this._areValuesEqual(i,this.value))return!1;t.externalBuffer=null,t.constant=!0,this.value=i}else if(e.buffer){var r=e.buffer;t.externalBuffer=r,t.constant=!1,this.value=e.value;var o=e.value instanceof Float64Array;n.type=e.type||r.accessor.type,n.bytesPerElement=r.accessor.BYTES_PER_ELEMENT*(o?2:1),n.stride=HS(n)}else if(e.value){this._checkExternalBuffer(e);var a=e.value;t.externalBuffer=null,t.constant=!1,this.value=a,n.bytesPerElement=a.BYTES_PER_ELEMENT,n.stride=HS(n);var s=this.buffer,u=this.byteOffset;this.doublePrecision&&a instanceof Float64Array&&(a=US(a,n));var c=a.byteLength+u+2*n.stride;s.byteLength0&&void 0!==arguments[0]?arguments[0]:{},t=this.value,n=e.startOffset,i=void 0===n?0:n,r=e.endOffset;this.buffer.subData({data:this.doublePrecision&&t instanceof Float64Array?US(t,{size:this.size,startIndex:i,endIndex:r}):t.subarray(i,r),offset:i*t.BYTES_PER_ELEMENT+this.byteOffset})}},{key:"allocate",value:function(e){var t=e.numInstances,n=e.copy,i=void 0!==n&&n,r=this.state,o=r.allocatedValue,a=nS.allocate(o,t+1,{size:this.size,type:this.defaultType,copy:i});this.value=a;var s=this.buffer,u=this.byteOffset;return s.byteLength=0;)t[n+a]=Number.isFinite(e[a])?e[a]:r[a]}return t}},{key:"_areValuesEqual",value:function(e,t){if(!e||!t)return!1;for(var n=this.size,i=0;i0&&lC[e]&&(t=lC[e]).call.apply(t,arguments)}function dC(e,t){if(!e)throw new Error(t||"shadertools: assertion failed.")}var fC="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",pC="#version 300 es\n".concat(fC);function vC(e,n){n=Array.isArray(n)?n:[n];var i=t(e.replace(/^\s+/,"").split(/\s+/),3),r=i[0],o=i[1],a=i[2];return n.includes(r)&&o&&a?{qualifier:r,type:o,name:a.split(";")[0]}:null}function gC(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.version,n=void 0===t?100:t,i=e.input,r=e.inputType,o=e.output;if(!i)return 300===n?pC:n>300?"#version ".concat(n,"\n").concat(fC):"void main() {gl_FragColor = vec4(0);}";var a=function(e,t){switch(t){case"float":return"vec4(".concat(e,", 0.0, 0.0, 1.0)");case"vec2":return"vec4(".concat(e,", 0.0, 1.0)");case"vec3":return"vec4(".concat(e,", 1.0)");case"vec4":return e;default:return dC(!1),null}}(i,r);return n>=300?"#version ".concat(n," ").concat(300===n?"es":"","\nin ").concat(r," ").concat(i,";\nout vec4 ").concat(o,";\nvoid main() {\n ").concat(o," = ").concat(a,";\n}"):"varying ".concat(r," ").concat(i,";\nvoid main() {\n gl_FragColor = ").concat(a,";\n}")}var mC=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),dk(e),(t=n.call(this,e,r)).initialize(r),t.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"TransformFeedback"}},{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,hx(this.buffers)||this.bind(function(){return e._unbindBuffers()}),this.setProps(t),this}},{key:"setProps",value:function(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}},{key:"setBuffers",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.bind(function(){for(var n in t)e.setBuffer(n,t[n])}),this}},{key:"setBuffer",value:function(e,t){var n=this,i=this._getVaryingIndex(e),r=this._getBufferParams(t),o=r.buffer,a=r.byteSize,s=r.byteOffset;return i<0?(this.unused[e]=o,sk.warn(function(){return"".concat(n.id," unused varying buffer ").concat(e)})(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,o,s,a),this)}},{key:"begin",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}},{key:"end",value:function(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}},{key:"_getBufferParams",value:function(e){var t,n,i;return e instanceof Cx?i=e:(i=e.buffer,n=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==n)&&(t=t||0,n=n||i.byteLength-t),{buffer:i,byteOffset:t,byteSize:n}}},{key:"_getVaryingInfo",value:function(e){return this.configuration&&this.configuration.getVaryingInfo(e)}},{key:"_getVaryingIndex",value:function(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;var t=Number(e);return Number.isFinite(t)?t:-1}},{key:"_bindBuffers",value:function(){if(this.bindOnUse)for(var e in this.buffers){var t=this._getBufferParams(this.buffers[e]),n=t.buffer,i=t.byteSize,r=t.byteOffset;this._bindBuffer(e,n,r,i)}}},{key:"_unbindBuffers",value:function(){if(this.bindOnUse)for(var e in this.buffers)this._bindBuffer(e,null)}},{key:"_bindBuffer",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0,r=t&&t.handle;return r&&void 0!==i?this.gl.bindBufferRange(35982,e,r,n,i):this.gl.bindBufferBase(35982,e,r),this}},{key:"_createHandle",value:function(){return this.gl.createTransformFeedback()}},{key:"_deleteHandle",value:function(){this.gl.deleteTransformFeedback(this.handle)}},{key:"_bindHandle",value:function(e){this.gl.bindTransformFeedback(36386,this.handle)}}],[{key:"isSupported",value:function(e){return lk(e)}}]),i}(px,Symbol.toStringTag),yC=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(n),Object.seal(this)}return b(e,[{key:"setupResources",value:function(e){var t,n=_(this.bindings);try{for(n.s();!(t=n.n()).done;){var i=t.value;this._setupTransformFeedback(i,e)}}catch(r){n.e(r)}finally{n.f()}}},{key:"updateModelProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.varyings;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}},{key:"getDrawOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceBuffers,i=t.transformFeedback;return{attributes:Object.assign({},n,e.attributes),transformFeedback:i}}},{key:"swap",value:function(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupBuffers(e)}},{key:"getBuffer",value:function(e){var t=this.bindings[this.currentIndex].feedbackBuffers,n=e?t[e]:null;return n?n instanceof Cx?n:n.buffer:null}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.varyingName,n=this.getBuffer(t);return n?n.getData():null}},{key:"delete",value:function(){for(var e in this.resources)this.resources[e].delete()}},{key:"_initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&ox(lk(this.gl))}},{key:"_getFeedbackBuffers",value:function(e){var t=e.sourceBuffers,n=void 0===t?{}:t,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(var r in this.feedbackMap){var o=this.feedbackMap[r];r in n&&(i[o]=r)}for(var a in Object.assign(i,e.feedbackBuffers),i){var s=i[a];if("string"==typeof s){var u=n[s],c=u.byteLength,l=u.usage,h=u.accessor;i[a]=this._createNewBuffer(a,{byteLength:c,usage:l,accessor:h})}}return i}},{key:"_setupBuffers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.sourceBuffers,n=void 0===t?null:t;Object.assign(this.feedbackMap,e.feedbackMap);var i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:n,feedbackBuffers:i})}},{key:"_setupTransformFeedback",value:function(e,t){var n=t.model.program;e.transformFeedback=new mC(this.gl,{program:n,buffers:e.feedbackBuffers})}},{key:"_updateBindings",value:function(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){var t=this._swapBuffers(this.bindings[this.currentIndex]),n=t.sourceBuffers,i=t.feedbackBuffers,r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:n,feedbackBuffers:i})}}},{key:"_updateBinding",value:function(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}},{key:"_swapBuffers",value:function(e){if(!this.feedbackMap)return null;var t=Object.assign({},e.sourceBuffers),n=Object.assign({},e.feedbackBuffers);for(var i in this.feedbackMap){var r=this.feedbackMap[i];t[i]=e.feedbackBuffers[r],n[r]=e.sourceBuffers[i],ox(n[r]instanceof Cx)}return{sourceBuffers:t,feedbackBuffers:n}}},{key:"_createNewBuffer",value:function(e,t){var n=new Cx(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=n,n}},{key:"_getNextIndex",value:function(){return(this.currentIndex+1)%2}}]),e}();function bC(e){var t=100,n=e.match(/[^\s]+/g);if(n.length>=2&&"#version"===n[0]){var i=parseInt(n[1],10);Number.isFinite(i)&&(t=i)}return t}var _C="vs",wC=(o(f={},_C,"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n"),o(f,"fs","#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"),f),kC="__LUMA_INJECT_DECLARATIONS__",xC=/void\s+main\s*\([^)]*\)\s*\{\n?/,SC=/}\n?[^{}]*$/,CC=[];function EC(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=t===_C,o=function(t){var i=n[t];i.sort(function(e,t){return e.order-t.order}),CC.length=i.length;for(var o=0,a=i.length;o1),e.forEach(function(e){for(var n in e)t[n]=t[n]?"".concat(t[n],"\n").concat(e[n]):e[n]}),t}var TC={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},PC="transform_uSize_",AC="transform_position",MC={10241:9728,10240:9728,10242:33071,10243:33071},IC=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(n),Object.seal(this)}return b(e,[{key:"updateModelProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._processVertexShader(e);return Object.assign({},e,t)}},{key:"getDrawOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceBuffers,i=t.sourceTextures,r=t.framebuffer,o=t.targetTexture,a=Object.assign({},n,e.attributes),s=Object.assign({},e.uniforms),u=Object.assign({},e.parameters),c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){for(var l in a.transform_elementID=this.elementIDBuffer,this.samplerTextureMap)s[l]=i[this.samplerTextureMap[l]];this._setSourceTextureParameters();var h=function(e){var t,n,i,r=e.sourceTextureMap,o=e.targetTextureVarying,a=e.targetTexture,s={};for(var u in o&&(n=(t=a).width,i=t.height,s["".concat(PC).concat(o)]=[n,i]),r){var c;n=(c=r[u]).width,i=c.height,s["".concat(PC).concat(u)]=[n,i]}return s}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:o});Object.assign(s,h)}return this.hasTargetTexture&&(c=!1,u.viewport=[0,0,r.width,r.height]),{attributes:a,framebuffer:r,uniforms:s,discard:c,parameters:u}}},{key:"swap",value:function(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupTextures(e)}},{key:"getTargetTexture",value:function(){return this.bindings[this.currentIndex].targetTexture}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.packed,n=void 0!==t&&t,i=this.bindings[this.currentIndex].framebuffer,r=qx(i);if(!n)return r;for(var o=r.constructor,a=function(e){switch(e){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return dC(!1),null}}(this.targetTextureType),s=new o(r.length*a/4),u=0,c=0;c0&&void 0!==arguments[0]?arguments[0]:{},t=e._targetTextureVarying,n=e._swapTexture;this._swapTexture=n,this.targetTextureVarying=t,this.hasTargetTexture=t,this._setupTextures(e)}},{key:"_createTargetTexture",value:function(e){var t=e.sourceTextures,n=e.textureOrReference;if(n instanceof Rx)return n;var i=t[n];return i?(this._targetRefTexName=n,this._createNewTexture(i)):null}},{key:"_setupTextures",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.sourceBuffers,n=e._sourceTextures,i=void 0===n?{}:n,r=e._targetTexture,o=this._createTargetTexture({sourceTextures:i,textureOrReference:r});this.hasSourceTextures=this.hasSourceTextures||i&&Object.keys(i).length>0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:o}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}},{key:"_updateElementIDBuffer",value:function(e){if(!("number"!=typeof e||this.elementCount>=e)){var t=new Float32Array(e);t.forEach(function(e,t,n){n[t]=t}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new Cx(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}}},{key:"_updateBindings",value:function(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){var t=this._swapTextures(this.bindings[this.currentIndex]),n=t.sourceTextures,i=t.targetTexture,r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:n,targetTexture:i})}}},{key:"_updateBinding",value:function(e,t){var n=t.sourceBuffers,i=t.sourceTextures,r=t.targetTexture;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,i),Object.assign(e.sourceBuffers,n),r){e.targetTexture=r;var o=r.width,a=r.height,s=e.framebuffer;s?(s.update({attachments:{36064:r},resizeAttachments:!1}),s.resize({width:o,height:a})):e.framebuffer=new $x(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:r}})}return e}},{key:"_setSourceTextureParameters",value:function(){var e=this.currentIndex,t=this.bindings[e].sourceTextures;for(var n in t)t[n].setParameters(MC)}},{key:"_swapTextures",value:function(e){if(!this._swapTexture)return null;var t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}},{key:"_createNewTexture",value:function(e){var t=Gx(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}},{key:"_getNextIndex",value:function(){return(this.currentIndex+1)%2}},{key:"_processVertexShader",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceTextures,i=t.targetTexture,r=function(e){var t=e.vs,n=e.sourceTextureMap,i=e.targetTextureVarying,r=e.targetTexture,o=Object.keys(n).length,a=null,s={},u=t,c={};if(o>0||i){var l=u.split("\n"),h=l.slice();if(l.forEach(function(e,t,r){if(o>0){var u=function(e,t){var n={},i=function(e){return vC(e,["attribute","in"])}(e);if(!i)return null;var r=i.type,o=i.name;if(o&&t[o]){var a="// ".concat(e," => Replaced by Transform with a sampler"),s=function(e){var t="transform_uSampler_".concat(e),n="".concat(PC).concat(e);return{samplerName:t,sizeName:n,uniformDeclerations:" uniform sampler2D ".concat(t,";\n uniform vec2 ").concat(n,";")}}(o),u=s.samplerName,c=s.sizeName,l=s.uniformDeclerations,h=" ".concat(r," ").concat(o," = transform_getInput(").concat(u,", ").concat(c,").").concat(function(e){switch(e){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return dC(!1),null}}(r),";\n");return n[u]=o,{updatedLine:a,inject:{"vs:#decl":l,"vs:#main-start":h},samplerTextureMap:n}}return null}(e,n);if(u){var l=u.updatedLine,d=u.inject;h[t]=l,c=OC([c,d]),Object.assign(s,u.samplerTextureMap),o--}}i&&!a&&(a=function(e,t){var n=vC(e,["varying","out"]);return n&&n.name===t?n.type:null}(e,i))}),i){ox(r);var d="".concat(PC).concat(i);c=OC([c,{"vs:#decl":"uniform vec2 ".concat(d,";\n"),"vs:#main-start":" vec2 ".concat(AC," = transform_getPos(").concat(d,");\n gl_Position = vec4(").concat(AC,", 0, 1.);\n")}])}u=h.join("\n")}return{vs:u,targetTextureType:a,inject:c,samplerTextureMap:s}}({vs:e.vs,sourceTextureMap:n,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),o=r.vs,a=r.uniforms,s=r.targetTextureType,u=r.inject,c=r.samplerTextureMap,l=OC([e.inject||{},u]);return this.targetTextureType=s,this.samplerTextureMap=c,{vs:o,fs:e._fs||gC({version:bC(o),input:this.targetTextureVarying,inputType:s,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[TC].concat(e.modules||[]):e.modules,uniforms:a,inject:l}}}]),e}(),RC={number:{validate:function(e,t){return Number.isFinite(e)&&(!("max"in t)||e<=t.max)&&(!("min"in t)||e>=t.min)}},array:{validate:function(e,t){return Array.isArray(e)||ArrayBuffer.isView(e)}}};function DC(e){var t=NC(e);return"object"===t?e?"type"in e?Object.assign({},e,RC[e.type]):"value"in e?(t=NC(e.value),Object.assign({type:t},e,RC[t])):{type:"object",value:e}:{type:"object",value:null}:Object.assign({type:t,value:e},RC[t])}function NC(e){return Array.isArray(e)||ArrayBuffer.isView(e)?"array":typeof e}var LC=function(){function e(t){var n=t.name,i=t.vs,r=t.fs,o=t.dependencies,a=void 0===o?[]:o,s=t.uniforms,u=t.getUniforms,c=t.deprecations,l=void 0===c?[]:c,h=t.defines,d=void 0===h?{}:h,f=t.inject,p=void 0===f?{}:f,v=t.vertexShader,g=t.fragmentShader;m(this,e),dC("string"==typeof n),this.name=n,this.vs=i||v,this.fs=r||g,this.getModuleUniforms=u,this.dependencies=a,this.deprecations=this._parseDeprecationDefinitions(l),this.defines=d,this.injections=function(e){var t={vs:{},fs:{}};for(var n in e){var i=e[n];"string"==typeof i&&(i={order:0,injection:i}),t[n.slice(0,2)][n]=i}return t}(p),s&&(this.uniforms=function(e){var t={};for(var n in e){var i=DC(e[n]);t[n]=i}return t}(s))}return b(e,[{key:"getModuleSource",value:function(e){var t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:dC(!1)}return"#define MODULE_".concat(this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_"),"\n").concat(t,"// END MODULE_").concat(this.name,"\n\n")}},{key:"getUniforms",value:function(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}},{key:"getDefines",value:function(){return this.defines}},{key:"checkDeprecations",value:function(e,t){this.deprecations.forEach(function(n){n.regex.test(e)&&(n.deprecated?t.deprecated(n.old,n.new)():t.removed(n.old,n.new)())})}},{key:"_parseDeprecationDefinitions",value:function(e){return e.forEach(function(e){switch(e.type){case"function":e.regex=new RegExp("\\b".concat(e.old,"\\("));break;default:e.regex=new RegExp("".concat(e.type," ").concat(e.old,";"))}}),e}},{key:"_defaultGetUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={},n=this.uniforms;for(var i in n){var r=n[i];i in e&&!r.private?(r.validate&&dC(r.validate(e[i],r),"".concat(this.name,": invalid ").concat(i)),t[i]=e[i]):t[i]=r.value}return t}}]),e}();function jC(e){return function(e){var t={},n={};return FC({modules:e,level:0,moduleMap:t,moduleDepth:n}),Object.keys(n).sort(function(e,t){return n[t]-n[e]}).map(function(e){return t[e]})}(BC(e))}function FC(e){var t=e.modules,n=e.level,i=e.moduleMap,r=e.moduleDepth;if(n>=5)throw new Error("Possible loop in shader dependency graph");var o,a=_(t);try{for(a.s();!(o=a.n()).done;){var s=o.value;i[s.name]=s,(void 0===r[s.name]||r[s.name]2&&void 0!==arguments[2]?arguments[2]:{},i=VC[t];if(dC(i,t),!function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="undefined"!=typeof window&&window.navigator||{},n=e.userAgent||t.userAgent||"",i=-1!==n.indexOf("MSIE "),r=-1!==n.indexOf("Trident/");return i||r}(n))return!0;if(t in HC)return HC[t];var r="#extension GL_".concat(i[0]," : ").concat(n.behavior||"enable","\nvoid main(void) {}"),o=e.createShader(35633);e.shaderSource(o,r),e.compileShader(o);var a=e.getShaderParameter(o,35713);return e.deleteShader(o),HC[t]=a,a}function WC(e,t){return(t=Array.isArray(t)?t:[t]).every(function(t){return function(e,t){var n=VC[t];dC(n,t);var i=function(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&2===e._version)}(e)&&n[1]||n[0],r="string"==typeof i?Boolean(e.getExtension(i)):i;return dC(!1===r||!0===r),r}(e,t)})}function qC(e){return new RegExp("\\b".concat(e,"[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)"),"g")}var XC=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],YC=[].concat(XC,[[qC("attribute"),"in $1"],[qC("varying"),"out $1"]]),KC=[].concat(XC,[[qC("varying"),"in $1"]]),$C=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],QC=[].concat($C,[[qC("in"),"attribute $1"],[qC("out"),"varying $1"]]),ZC=[].concat($C,[[qC("in"),"varying $1"]]),JC="gl_FragColor",eE=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,tE=/void\s+main\s*\([^)]*\)\s*\{\n?/;function nE(e,n){var i,r=_(n);try{for(r.s();!(i=r.n()).done;){var o=t(i.value,2),a=o[0],s=o[1];e=e.replace(a,s)}}catch(u){r.e(u)}finally{r.f()}return e}var iE="\n\n".concat(kC,"\n\n"),rE=(o(g={},_C,"vertex"),o(g,"fs","fragment"),g);function oE(e,n){var i=n.id,r=n.source,o=n.type,a=n.modules,s=n.defines,u=void 0===s?{}:s,c=n.hookFunctions,l=void 0===c?[]:c,h=n.inject,d=void 0===h?{}:h,f=n.transpileToGLSL100,p=void 0!==f&&f,v=n.prologue,g=void 0===v||v,m=n.log;dC("string"==typeof r,"shader source must be a string");var y=o===_C,b=r.split("\n"),w=100,k="",x=r;0===b[0].indexOf("#version ")?(w=300,k=b[0],x=b.slice(1).join("\n")):k="#version ".concat(w);var S={};a.forEach(function(e){Object.assign(S,e.getDefines())}),Object.assign(S,u);var C,E=g?"".concat(k,"\n").concat(function(e){var t=e.id,n=e.type;return t&&"string"==typeof t&&-1===e.source.indexOf("SHADER_NAME")?"\n#define SHADER_NAME ".concat(t,"_").concat(rE[n],"\n\n"):""}({id:i,source:r,type:o}),"\n").concat((C={type:o},"\n#define SHADER_TYPE_".concat(rE[C.type].toUpperCase(),"\n")),"\n").concat(function(e){switch(function(e){var t=e.getExtension("WEBGL_debug_renderer_info"),n=e.getParameter(t&&t.UNMASKED_VENDOR_WEBGL||7936),i=e.getParameter(t&&t.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:UC(n,i),vendor:n,renderer:i,version:e.getParameter(7938),shadingLanguageVersion:e.getParameter(35724)}}(e).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(e),"\n").concat(function(e,t,n){var i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return WC(e,zC.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),WC(e,zC.GLSL_DERIVATIVES)&&GC(e,zC.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),WC(e,zC.GLSL_FRAG_DATA)&&GC(e,zC.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),WC(e,zC.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(e),"\n").concat(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=0,n="";for(var i in e){0===t&&(n+="\n// APPLICATION DEFINES\n"),t++;var r=e[i];(r||Number.isFinite(r))&&(n+="#define ".concat(i.toUpperCase()," ").concat(e[i],"\n"))}return 0===t&&(n+="\n"),n}(S),"\n").concat(y?"":"precision highp float;\n\n","\n"):"".concat(k,"\n"),O=function(e){var n={vs:{},fs:{}};return e.forEach(function(e){var i;"string"!=typeof e?e=(i=e).hook:i={};var r=t((e=e.trim()).split(":"),2),o=r[0],a=r[1],s=e.replace(/\(.+/,"");n[o][s]=Object.assign(i,{signature:a})}),n}(l),T={},P={},A={};for(var M in d){var I="string"==typeof d[M]?{injection:d[M],order:0}:d[M],R=M.match(/^(v|f)s:(#)?([\w-]+)$/);if(R){var D=R[3];R[2]?"decl"===D?P[M]=[I]:A[M]=[I]:T[M]=[I]}else A[M]=[I]}var N,L=_(a);try{for(L.s();!(N=L.n()).done;){var j=N.value;m&&j.checkDeprecations(x,m),E+=j.getModuleSource(o,w);var F=j.injections[o];for(var B in F){var V=B.match(/^(v|f)s:#([\w-]+)$/);if(V){var z="decl"===V[2]?P:A;z[B]=z[B]||[],z[B].push(F[B])}else T[B]=T[B]||[],T[B].push(F[B])}}}catch(U){L.e(U)}finally{L.f()}return E=EC(E+=iE,o,P),E+=function(e,t){var n="";for(var i in e){var r=e[i];if(n+="void ".concat(r.signature," {\n"),r.header&&(n+=" ".concat(r.header)),t[i]){var o=t[i];o.sort(function(e,t){return e.order-t.order});var a,s=_(o);try{for(s.s();!(a=s.n()).done;){var u=a.value;n+=" ".concat(u.injection,"\n")}}catch(U){s.e(U)}finally{s.f()}}r.footer&&(n+=" ".concat(r.footer)),n+="}\n"}return n}(O[o],T),E=function(e,t,n){switch(t){case 300:return n?nE(e,YC):function(e){var t=(e=nE(e,KC)).match(eE);if(t){var n=t[1];e=e.replace(new RegExp("\\b".concat(JC,"\\b"),"g"),n)}else{var i="fragmentColor";e=e.replace(tE,function(e){return"out vec4 ".concat(i,";\n").concat(e)}).replace(new RegExp("\\b".concat(JC,"\\b"),"g"),i)}return e}(e);case 100:return n?nE(e,QC):function(e){var t=(e=nE(e,ZC)).match(eE);if(t){var n=t[1];e=e.replace(eE,"").replace(new RegExp("\\b".concat(n,"\\b"),"g"),JC)}return e}(e);default:throw new Error("unknown GLSL version ".concat(t))}}(E=EC(E+=x,o,A),p?100:w,y)}function aE(e){return function(t){var n,i={},r=_(e);try{for(r.s();!(n=r.n()).done;){var o=n.value.getUniforms(t,i);Object.assign(i,o)}}catch(a){r.e(a)}finally{r.f()}return i}}var sE=(o(y={5126:wE.bind(null,"uniform1fv",fE,1,kE),35664:wE.bind(null,"uniform2fv",fE,2,kE),35665:wE.bind(null,"uniform3fv",fE,3,kE),35666:wE.bind(null,"uniform4fv",fE,4,kE),5124:wE.bind(null,"uniform1iv",pE,1,kE),35667:wE.bind(null,"uniform2iv",pE,2,kE),35668:wE.bind(null,"uniform3iv",pE,3,kE),35669:wE.bind(null,"uniform4iv",pE,4,kE),35670:wE.bind(null,"uniform1iv",pE,1,kE),35671:wE.bind(null,"uniform2iv",pE,2,kE),35672:wE.bind(null,"uniform3iv",pE,3,kE),35673:wE.bind(null,"uniform4iv",pE,4,kE),35674:wE.bind(null,"uniformMatrix2fv",fE,4,xE),35675:wE.bind(null,"uniformMatrix3fv",fE,9,xE),35676:wE.bind(null,"uniformMatrix4fv",fE,16,xE),35678:_E,35680:_E,5125:wE.bind(null,"uniform1uiv",vE,1,kE),36294:wE.bind(null,"uniform2uiv",vE,2,kE),36295:wE.bind(null,"uniform3uiv",vE,3,kE),36296:wE.bind(null,"uniform4uiv",vE,4,kE),35685:wE.bind(null,"uniformMatrix2x3fv",fE,6,xE),35686:wE.bind(null,"uniformMatrix2x4fv",fE,8,xE),35687:wE.bind(null,"uniformMatrix3x2fv",fE,6,xE),35688:wE.bind(null,"uniformMatrix3x4fv",fE,12,xE),35689:wE.bind(null,"uniformMatrix4x2fv",fE,8,xE),35690:wE.bind(null,"uniformMatrix4x3fv",fE,12,xE)},"35678",_E),o(y,"35680",_E),o(y,35679,_E),o(y,35682,_E),o(y,36289,_E),o(y,36292,_E),o(y,36293,_E),o(y,36298,_E),o(y,36299,_E),o(y,36300,_E),o(y,36303,_E),o(y,36306,_E),o(y,36307,_E),o(y,36308,_E),o(y,36311,_E),y),uE={},cE={},lE={},hE=[0];function dE(e,t,n,i){1===t&&"boolean"==typeof e&&(e=e?1:0),Number.isFinite(e)&&(hE[0]=e,e=hE);var r=e.length;if(r%t&&sk.warn("Uniform size should be multiples of ".concat(t),e)(),e instanceof n)return e;var o=i[r];o||(o=new n(r),i[r]=o);for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"unnamed",n=e.match(/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/);return n?n[1]:t}function CE(e,t){for(var n="",i=0;i0&&void 0!==arguments[0]?arguments[0]:this.source;if(e.startsWith("#version ")||(e="#version 100\n".concat(e)),this.source=e,this.gl.shaderSource(this.handle,this.source),this.gl.compileShader(this.handle),!this.getParameter(35713)){var t=this.gl.getShaderInfoLog(this.handle),n=function(e,t,n,i){for(var r=e.split(/\r?\n/),o={},a={},s=i||SE(t)||"(unnamed)",u="".concat(function(e){switch(e){case 35632:return"fragment";case 35633:return"vertex";default:return"unknown type"}}(n)," shader ").concat(s),c=0;c1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:": ",i=e.split(/\r?\n/),r=String(i.length+t-1).length;return i.map(function(e,i){var o=String(i+t);return EE(o,r-o.length)+n+e})}(t);return{shaderName:u,errors:CE(o,p),warnings:CE(a,p)}}(t,this.source,this.shaderType,this.id),i=n.shaderName,r=n.errors,o=n.warnings;throw sk.error("GLSL compilation errors in ".concat(i,"\n").concat(r))(),sk.warn("GLSL compilation warnings in ".concat(i,"\n").concat(o))(),new Error("GLSL compilation errors in ".concat(i))}}},{key:"_deleteHandle",value:function(){this.gl.deleteShader(this.handle)}},{key:"_getOptsFromHandle",value:function(){return{type:this.getParameter(35663),source:this.getSource()}}}],[{key:"getTypeName",value:function(e){switch(e){case 35633:return"vertex-shader";case 35632:return"fragment-shader";default:return ox(!1),"unknown"}}}]),i}(px,Symbol.toStringTag),TE=function(e,t){a(i,e);var n=s(i);function i(e,t){return m(this,i),"string"==typeof t&&(t={source:t}),n.call(this,e,Object.assign({},t,{shaderType:35633}))}return b(i,[{key:t,get:function(){return"VertexShader"}},{key:"_createHandle",value:function(){return this.gl.createShader(35633)}}]),i}(OE,Symbol.toStringTag),PE=function(e,t){a(i,e);var n=s(i);function i(e,t){return m(this,i),"string"==typeof t&&(t={source:t}),n.call(this,e,Object.assign({},t,{shaderType:35632}))}return b(i,[{key:t,get:function(){return"FragmentShader"}},{key:"_createHandle",value:function(){return this.gl.createShader(35632)}}]),i}(OE,Symbol.toStringTag),AE=5126,ME=5124,IE=5125,RE=(o(w={},AE,[AE,1,"float"]),o(w,35664,[AE,2,"vec2"]),o(w,35665,[AE,3,"vec3"]),o(w,35666,[AE,4,"vec4"]),o(w,ME,[ME,1,"int"]),o(w,35667,[ME,2,"ivec2"]),o(w,35668,[ME,3,"ivec3"]),o(w,35669,[ME,4,"ivec4"]),o(w,IE,[IE,1,"uint"]),o(w,36294,[IE,2,"uvec2"]),o(w,36295,[IE,3,"uvec3"]),o(w,36296,[IE,4,"uvec4"]),o(w,35670,[AE,1,"bool"]),o(w,35671,[AE,2,"bvec2"]),o(w,35672,[AE,3,"bvec3"]),o(w,35673,[AE,4,"bvec4"]),o(w,35674,[AE,8,"mat2"]),o(w,35685,[AE,8,"mat2x3"]),o(w,35686,[AE,8,"mat2x4"]),o(w,35675,[AE,12,"mat3"]),o(w,35687,[AE,12,"mat3x2"]),o(w,35688,[AE,12,"mat3x4"]),o(w,35676,[AE,16,"mat4"]),o(w,35689,[AE,16,"mat4x2"]),o(w,35690,[AE,16,"mat4x3"]),w);function DE(e){var n=RE[e];if(!n)return null;var i=t(n,2);return{type:i[0],components:i[1]}}function NE(e,n){switch(e){case 5120:case 5121:case 5122:case 5123:e=AE}for(var i in RE){var r=t(RE[i],3),o=r[0],a=r[1],s=r[2];if(o===e&&a===n)return{glType:i,name:s}}return null}var LE=function(){function e(t){m(this,e),this.id=t.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(t),this._readVaryingsFromProgram(t)}return b(e,[{key:"getAttributeInfo",value:function(e){var t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}},{key:"getAttributeLocation",value:function(e){var t=this.getAttributeInfo(e);return t?t.location:-1}},{key:"getAttributeAccessor",value:function(e){var t=this.getAttributeInfo(e);return t?t.accessor:null}},{key:"getVaryingInfo",value:function(e){var t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}},{key:"getVaryingIndex",value:function(e){var t=this.getVaryingInfo();return t?t.location:-1}},{key:"getVaryingAccessor",value:function(e){var t=this.getVaryingInfo();return t?t.accessor:null}},{key:"_readAttributesFromProgram",value:function(e){for(var t=e.gl,n=t.getProgramParameter(e.handle,35721),i=0;i=0&&this._addAttribute(u,o,a,s)}this.attributeInfos.sort(function(e,t){return e.location-t.location})}},{key:"_readVaryingsFromProgram",value:function(e){var t=e.gl;if(lk(t)){for(var n=t.getProgramParameter(e.handle,35971),i=0;i1&&void 0!==arguments[1]?arguments[1]:{};return m(this,r),(t=i.call(this,e,n)).stubRemovedMethods("Program","v6.0",jE),t._isCached=!1,t.initialize(n),Object.seal(c(t)),t._setId(n.id),t}return b(r,[{key:n,get:function(){return"Program"}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.hash,n=e.vs,i=e.fs,r=e.varyings,o=e.bufferMode,a=void 0===o?35981:o;return this.hash=t||"",this.vs="string"==typeof n?new TE(this.gl,{id:"".concat(e.id,"-vs"),source:n}):n,this.fs="string"==typeof i?new PE(this.gl,{id:"".concat(e.id,"-fs"),source:i}):i,ox(this.vs instanceof TE),ox(this.fs instanceof PE),this.uniforms={},this._textureUniforms={},r&&r.length>0&&(dk(this.gl),this.varyings=r,this.gl2.transformFeedbackVaryings(this.handle,r,a)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new LE(this),this.setProps(e)}},{key:"delete",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._isCached?this:e(p(r.prototype),"delete",this).call(this,t)}},{key:"setProps",value:function(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}},{key:"draw",value:function(e){var t=this,n=e.logPriority,i=e.drawMode,r=void 0===i?4:i,o=e.vertexCount,a=e.offset,s=void 0===a?0:a,u=e.start,c=e.end,l=e.isIndexed,h=void 0!==l&&l,d=e.indexType,f=void 0===d?5123:d,p=e.instanceCount,v=void 0===p?0:p,g=e.isInstanced,m=void 0===g?v>0:g,y=e.vertexArray,b=void 0===y?null:y,_=e.transformFeedback,w=e.framebuffer,k=e.parameters,x=void 0===k?{}:k,S=e.uniforms,C=e.samplers;if((S||C)&&(sk.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(S||{})),sk.priority>=n){var E=w?w.id:"default",O="mode=".concat(sx(this.gl,r)," verts=").concat(o," instances=").concat(v," indexType=").concat(sx(this.gl,f)," isInstanced=").concat(m," isIndexed=").concat(h," Framebuffer=").concat(E);sk.log(n,O)()}return ox(b),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===o||m&&0===v||(b.bindForDraw(o,v,function(){if(void 0!==w&&(x=Object.assign({},x,{framebuffer:w})),_){var e=function(e){switch(e){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return ox(!1),0}}(r);_.begin(e)}t._bindTextures(),Hk(t.gl,x,function(){h&&m?t.gl2.drawElementsInstanced(r,o,f,s,v):h&&lk(t.gl)&&!isNaN(u)&&!isNaN(c)?t.gl2.drawRangeElements(r,u,c,o,f,s):h?t.gl.drawElements(r,o,f,s):m?t.gl2.drawArraysInstanced(r,s,o,v):t.gl.drawArrays(r,s,o)}),_&&_.end()}),0))}},{key:"setUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in sk.priority>=2&&function(e,t,n){for(var i in e){var r=e[i];if((!n||Boolean(n[i]))&&!yE(r))throw t=t?"".concat(t," "):"",console.error("".concat(t," Bad uniform ").concat(i),r),new Error("".concat(t," Bad uniform ").concat(i))}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle),e){var n=e[t],i=this._uniformSetters[t];if(i){var r=n,o=!1;if(r instanceof $x&&(r=r.texture),r instanceof Mx)if(o=this.uniforms[t]!==n){void 0===i.textureIndex&&(i.textureIndex=this._textureIndexCounter++);var a=r,s=i.textureIndex;a.bind(s),r=s,this._textureUniforms[t]=a}else r=i.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(i(r)||o)&&bE(this.uniforms,t,n)}}return this}},{key:"_areTexturesRenderable",value:function(){var e=!0;for(var t in this._textureUniforms){var n=this._textureUniforms[t];n.update(),e=e&&n.loaded}return e}},{key:"_bindTextures",value:function(){for(var e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}},{key:"_createHandle",value:function(){return this.gl.createProgram()}},{key:"_deleteHandle",value:function(){this.gl.deleteProgram(this.handle)}},{key:"_getOptionsFromHandle",value:function(e){var t,n={},i=_(this.gl.getAttachedShaders(e));try{for(i.s();!(t=i.n()).done;){var r=t.value;switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:n.vs=new TE({handle:r});break;case 35632:n.fs=new PE({handle:r})}}}catch(o){i.e(o)}finally{i.f()}return n}},{key:"_getParameter",value:function(e){return this.gl.getProgramParameter(this.handle,e)}},{key:"_setId",value:function(e){if(!e){var t=this._getName();this.id=cx(t)}}},{key:"_getName",value:function(){var e=this.vs.getName()||this.fs.getName();return e=(e=e.replace(/shader/i,""))?"".concat(e,"-program"):"program"}},{key:"_compileAndLink",value:function(){var e=this.gl;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),sk.time(4,"linkProgram for ".concat(this._getName()))(),e.linkProgram(this.handle),sk.timeEnd(4,"linkProgram for ".concat(this._getName()))(),e.debug||sk.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error("Error linking: ".concat(e.getProgramInfoLog(this.handle)));if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error("Error validating: ".concat(e.getProgramInfoLog(this.handle)))}}},{key:"_readUniformLocationsFromLinkedProgram",value:function(){var e=this.gl;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(var t=0;t1)for(var o=0;o0&&void 0!==arguments[0]?arguments[0]:{},i=n.vs,r=void 0===i?"":i,o=n.fs,a=void 0===o?"":o,s=n.defines,u=void 0===s?{}:s,c=n.inject,l=void 0===c?{}:c,h=n.varyings,d=void 0===h?[]:h,f=n.bufferMode,p=void 0===f?35981:f,v=n.transpileToGLSL100,g=void 0!==v&&v,m=this._getModuleList(n.modules),y=this._getHash(r),b=this._getHash(a),w=m.map(function(e){return t._getHash(e.name)}).sort(),k=d.map(function(e){return t._getHash(e)}),x=Object.keys(u).sort(),S=Object.keys(l).sort(),C=[],E=[],O=_(x);try{for(O.s();!(e=O.n()).done;){var T=e.value;C.push(this._getHash(T)),C.push(this._getHash(u[T]))}}catch(D){O.e(D)}finally{O.f()}var P,A=_(S);try{for(A.s();!(P=A.n()).done;){var M=P.value;E.push(this._getHash(M)),E.push(this._getHash(l[M]))}}catch(D){A.e(D)}finally{A.f()}var I="".concat(y,"/").concat(b,"D").concat(C.join("/"),"M").concat(w.join("/"),"I").concat(E.join("/"),"V").concat(k.join("/"),"H").concat(this.stateHash,"B").concat(p).concat(g?"T":"");if(!this._programCache[I]){var R=function(e,t){var n=t.vs,i=t.fs,r=jC(t.modules||[]);return{gl:e,vs:oE(e,Object.assign({},t,{source:n,type:_C,modules:r})),fs:oE(e,Object.assign({},t,{source:i,type:"fs",modules:r})),getUniforms:aE(r)}}(this.gl,{vs:r,fs:a,modules:m,inject:l,defines:u,hookFunctions:this._hookFunctions,transpileToGLSL100:g});this._programCache[I]=new FE(this.gl,{hash:I,vs:R.vs,fs:R.fs,varyings:d,bufferMode:p}),this._getUniforms[I]=R.getUniforms||function(e){},this._useCounts[I]=0}return this._useCounts[I]++,this._programCache[I]}},{key:"getUniforms",value:function(e){return this._getUniforms[e.hash]||null}},{key:"release",value:function(e){var t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}},{key:"_getHash",value:function(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}},{key:"_getModuleList",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Array(this._defaultModules.length+e.length),n={},i=0,r=0,o=this._defaultModules.length;r1&&void 0!==arguments[1]?arguments[1]:{};return m(this,r),(t=i.call(this,e,Object.assign({},n,{id:n.id||n.program&&n.program.id}))).buffer=null,t.bufferValue=null,t.isDefaultArray=n.isDefaultArray||!1,t.gl2=e,t.initialize(n),Object.seal(c(t)),t}return b(r,[{key:n,get:function(){return"VertexArrayObject"}},{key:"delete",value:function(){return e(p(r.prototype),"delete",this).call(this),this.buffer&&this.buffer.delete(),this}},{key:"MAX_ATTRIBUTES",get:function(){return r.getMaxAttributes(this.gl)}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.setProps(e)}},{key:"setProps",value:function(e){return this}},{key:"setElementBuffer",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return ox(!t||34963===t.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(function(){e.gl.bindBuffer(34963,t?t.handle:null)}),this}},{key:"setBuffer",value:function(e,t,n){if(34963===t.target)return this.setElementBuffer(t,n);var i=n.size,r=n.type,o=n.stride,a=n.offset,s=n.normalized,u=n.integer,c=n.divisor,l=this.gl,h=this.gl2;return e=Number(e),this.bind(function(){l.bindBuffer(34962,t.handle),u?(ox(lk(l)),h.vertexAttribIPointer(e,i,r,o,a)):l.vertexAttribPointer(e,i,r,s,o,a),l.enableVertexAttribArray(e),h.vertexAttribDivisor(e,c||0)}),this}},{key:"enable",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!n&&0===e&&!r.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(function(){return n?t.gl.enableVertexAttribArray(e):t.gl.disableVertexAttribArray(e)})),this}},{key:"getConstantBuffer",value:function(e,t){var n=this._normalizeConstantArrayValue(t),i=n.byteLength*e,r=n.length*e,o=!this.buffer;if(this.buffer=this.buffer||new Cx(this.gl,i),o=(o=o||this.buffer.reallocate(i))||!this._compareConstantArrayValues(n,this.bufferValue)){var a=function(e,t){return new e(function(e){return(!VE||VE.byteLength1&&void 0!==arguments[1]?arguments[1]:{};return!t.constantAttributeZero||lk(e)||"Chrome"===function(e){if(!Lw())return"Node";if(Nw(void 0))return"Electron";var t=("undefined"!=typeof navigator?navigator:{}).userAgent||"";if(t.indexOf("Edge")>-1)return"Edge";var n=-1!==t.indexOf("MSIE "),i=-1!==t.indexOf("Trident/");return n||i?"IE":Ww.chrome?"Chrome":Ww.safari?"Safari":Ww.mozInnerScreenX?"Firefox":"Unknown"}()}},{key:"getDefaultArray",value:function(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new r(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}},{key:"getMaxAttributes",value:function(e){return r.MAX_ATTRIBUTES=r.MAX_ATTRIBUTES||e.getParameter(34921),r.MAX_ATTRIBUTES}},{key:"setConstant",value:function(e,t,n){switch(n.constructor){case Float32Array:r._setConstantFloatArray(e,t,n);break;case Int32Array:r._setConstantIntArray(e,t,n);break;case Uint32Array:r._setConstantUintArray(e,t,n);break;default:ox(!1)}}},{key:"_setConstantFloatArray",value:function(e,t,n){switch(n.length){case 1:e.vertexAttrib1fv(t,n);break;case 2:e.vertexAttrib2fv(t,n);break;case 3:e.vertexAttrib3fv(t,n);break;case 4:e.vertexAttrib4fv(t,n);break;default:ox(!1)}}},{key:"_setConstantIntArray",value:function(e,t,n){switch(ox(lk(e)),n.length){case 1:e.vertexAttribI1iv(t,n);break;case 2:e.vertexAttribI2iv(t,n);break;case 3:e.vertexAttribI3iv(t,n);break;case 4:e.vertexAttribI4iv(t,n);break;default:ox(!1)}}},{key:"_setConstantUintArray",value:function(e,t,n){switch(ox(lk(e)),n.length){case 1:e.vertexAttribI1uiv(t,n);break;case 2:e.vertexAttribI2uiv(t,n);break;case 3:e.vertexAttribI3uiv(t,n);break;case 4:e.vertexAttribI4uiv(t,n);break;default:ox(!1)}}}]),r}(px,Symbol.toStringTag),UE=/^(.+)__LOCATION_([0-9]+)$/,HE=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"],GE=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.id=n.id||n.program&&n.program.id,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new zE(t),dx(this,"VertexArray","v6.0",HE),this.initialize(n),Object.seal(this)}return b(e,[{key:"delete",value:function(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}},{key:"reset",value:function(){this.elements=null,this.elementsAccessor=null;var e=this.vertexArrayObject.MAX_ATTRIBUTES;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}},{key:"setProps",value:function(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}},{key:"clearDrawParams",value:function(){this.drawParams=null}},{key:"getDrawParams",value:function(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}},{key:"setAttributes",value:function(e){var t=this;return Object.assign(this.attributes,e),this.vertexArrayObject.bind(function(){for(var n in e)t._setAttribute(n,e[n]);t.gl.bindBuffer(34962,null)}),this}},{key:"setElementBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}},{key:"setBuffer",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(34963===t.target)return this.setElementBuffer(t,n);var i=this._resolveLocationAndAccessor(e,t,t.accessor,n),r=i.location,o=i.accessor;return r>=0&&(this.values[r]=t,this.accessors[r]=o,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,o)),this}},{key:"setConstant",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},n)),r=i.location,o=i.accessor;return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=o,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}},{key:"unbindBuffers",value:function(){var e=this;return this.vertexArrayObject.bind(function(){e.elements&&e.vertexArrayObject.setElementBuffer(null),e.buffer=e.buffer||new Cx(e.gl,{accessor:{size:4}});for(var t=0;t0;if(e.isInstanced=e.isInstanced||r,n instanceof Cx){var o=n;if(r){var a=o.getVertexCount(i);e.instanceCount=Math.min(e.instanceCount,a)}else{var s=o.getVertexCount(i);e.vertexCount=Math.min(e.vertexCount,s)}}}}},{key:"setElements",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return sk.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}]),e}();function WE(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.isInteger,i=void 0!==n&&n;if(Array.isArray(e)||ArrayBuffer.isView(e))return function(e,t){for(var n=t.maxElts,i=void 0===n?16:n,r=t.size,o=void 0===r?1:r,a="[",s=0;s0&&(a+=","+(s%o==0?" ":"")),a+=WE(e[s],t);return"".concat(a).concat(e.length>i?"...":"]")}(e,t);if(!Number.isFinite(e))return String(e);if(Math.abs(e)<1e-16)return i?"0":"0.";if(i||Math.abs(e)>100&&Math.abs(e)<1e4)return e.toFixed(0);var r=e.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function qE(e,t,n,i){var r,a,s=e.gl;if(!t)return o(r={},i,"null"),o(r,"Format ","N/A"),r;var u,c,l,h="NOT PROVIDED",d=1,f=0,p=0;if(n&&(h=n.type,d=n.size,u=-1!==(h=String(h).replace("Array","")).indexOf("nt")),t instanceof Cx){var v,g,m=t,y=m.getDebugData(),b=y.data;return c=y.changed?"*":"",l=b,f=(p=m.byteLength)/b.BYTES_PER_ELEMENT/d,n?g="".concat(n.divisor>0?"I ":"P "," ").concat(f," (x").concat(d,"=").concat(p," bytes ").concat(sx(s,h),")"):(u=!0,g="".concat(p," bytes")),o(v={},i,"".concat(c).concat(WE(l,{size:d,isInteger:u}))),o(v,"Format ",g),v}return l=t,d=t.length,u=-1!==(h=String(t.constructor.name).replace("Array","")).indexOf("nt"),o(a={},i,"".concat(WE(l,{size:d,isInteger:u})," (constant)")),o(a,"Format ","".concat(d,"x").concat(h," (constant)")),a}function XE(e,t){var n=NE(t.type,t.size);return n?"".concat(e," (").concat(n.name,")"):e}function YE(e){var t=e.header,n=void 0===t?"Uniforms":t,i=e.program,r=e.uniforms,a=e.undefinedOnly,s=void 0!==a&&a;ox(i);var u,c=".*Matrix",l={},h=Object.keys(i._uniformSetters).sort(),d=0,f=_(h);try{for(f.s();!(u=f.n()).done;){var p=u.value;!p.match(".*_.*")&&!p.match(c)&&KE({table:l,header:n,uniforms:r,uniformName:p,undefinedOnly:s})&&d++}}catch(E){f.e(E)}finally{f.f()}var v,g=_(h);try{for(g.s();!(v=g.n()).done;){var m=v.value;m.match(c)&&KE({table:l,header:n,uniforms:r,uniformName:m,undefinedOnly:s})&&d++}}catch(E){g.e(E)}finally{g.f()}var y,b=_(h);try{for(b.s();!(y=b.n()).done;){var w=y.value;l[w]||KE({table:l,header:n,uniforms:r,uniformName:w,undefinedOnly:s})&&d++}}catch(E){b.e(E)}finally{b.f()}var k=0,x={};if(!s)for(var S in r){var C=r[S];l[S]||(k++,x[S]=o({Type:"NOT USED: ".concat(C)},n,WE(C)))}return{table:l,count:d,unusedTable:x,unusedCount:k}}function KE(e){var t,n=e.table,i=e.header,r=e.uniforms,a=e.uniformName,s=e.undefinedOnly,u=r[a],c=function(e){return null!=e}(u);return!(s&&c||(n[a]=(t={},o(t,i,c?WE(u):"N/A"),o(t,"Uniform Type",c?u:"NOT PROVIDED"),t),0))}function $E(e){var t=e.accessor,n=NE(t.type,t.size);return n?"".concat(n.name," ").concat(e.name):e.name}var QE={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function ZE(e,t){var n=(t||{}).attributeMap,i=void 0===n?QE:n;return i&&i[e]||e}function JE(e,t){var n;switch(e){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":n="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":n="vectors"}switch(n){case"vectors":t.size=t.size||3;break;case"uvs":t.size=t.size||2}ox(Number.isFinite(t.size),"attribute ".concat(e," needs size"))}var eO=function(){},tO={},nO=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e);var i=n.id,r=void 0===i?cx("model"):i;ox(ck(t)),this.id=r,this.gl=t,this.id=n.id||cx("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(n)}return b(e,[{key:"initialize",value:function(e){this.props={},this.programManager=e.programManager||BE.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;var t=e.program,n=void 0===t?null:t,i=e.vs,r=e.fs,o=e.modules,a=e.defines,s=e.inject,u=e.varyings,c=e.bufferMode,l=e.transpileToGLSL100;this.programProps={program:n,vs:i,fs:r,modules:o,defines:a,inject:s,varyings:u,bufferMode:c,transpileToGLSL100:l},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},ox(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}},{key:"setProps",value:function(e){this._setModelProps(e)}},{key:"delete",value:function(){for(var e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}},{key:"getDrawMode",value:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getInstanceCount",value:function(){return this.instanceCount}},{key:"getAttributes",value:function(){return this.attributes}},{key:"getProgram",value:function(){return this.program}},{key:"setProgram",value:function(e){var t=e.program,n=e.vs,i=e.fs,r=e.modules,o=e.defines,a=e.inject,s=e.varyings,u=e.bufferMode,c=e.transpileToGLSL100;this.programProps={program:t,vs:n,fs:i,modules:r,defines:o,inject:a,varyings:s,bufferMode:u,transpileToGLSL100:c},this._programDirty=!0}},{key:"getUniforms",value:function(){return this.uniforms}},{key:"setDrawMode",value:function(e){return this.drawMode=e,this}},{key:"setVertexCount",value:function(e){return ox(Number.isFinite(e)),this.vertexCount=e,this}},{key:"setInstanceCount",value:function(e){return ox(Number.isFinite(e)),this.instanceCount=e,this}},{key:"setGeometry",value:function(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(e,t,n){var i={},r=t.indices;for(var o in t.attributes){var a=t.attributes[o],s=ZE(o,void 0);if("indices"===o)r=a;else if(a.constant)i[s]=a.value;else{var u=a.value,c=M({},a);delete c.value,i[s]=[new Cx(e,u),c],JE(o,c)}}if(r){var l=r.value||r;ox(l instanceof Uint16Array||l instanceof Uint32Array,'attribute array for "indices" must be of integer type');var h={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new Cx(e,{data:l,target:34963}),h]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}},{key:"setAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(hx(e))return this;var t={};for(var n in e){var i=e[n];t[n]=i.getValue?i.getValue():i}return this.vertexArray.setAttributes(t),this}},{key:"setUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign(this.uniforms,e),this}},{key:"getModuleUniforms",value:function(e){this._checkProgram();var t=this.programManager.getUniforms(this.program);return t?t(e):{}}},{key:"updateModuleSettings",value:function(e){var t=this.getModuleUniforms(e||{});return this.setUniforms(t)}},{key:"clear",value:function(e){return Fx(this.program.gl,e),this}},{key:"draw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._checkProgram();var t,n=e.moduleSettings,i=void 0===n?null:n,r=e.framebuffer,o=e.uniforms,a=void 0===o?{}:o,s=e.attributes,u=void 0===s?{}:s,c=e.transformFeedback,l=void 0===c?this.transformFeedback:c,h=e.parameters,d=void 0===h?{}:h,f=e.vertexArray,p=void 0===f?this.vertexArray:f;this.setAttributes(u),this.updateModuleSettings(i),this.setUniforms(a),sk.priority>=2&&(t=this._logDrawCallStart(2));var v=this.vertexArray.getDrawParams(),g=this.props,m=g.isIndexed,y=void 0===m?v.isIndexed:m,b=g.indexType,_=void 0===b?v.indexType:b,w=g.indexOffset,k=void 0===w?v.indexOffset:w,x=g.vertexArrayInstanced,S=void 0===x?v.isInstanced:x;S&&!this.isInstanced&&sk.warn("Found instanced attributes on non-instanced model",this.id)();var C=this.isInstanced,E=this.instanceCount,O=this.props,T=O.onBeforeRender,P=void 0===T?eO:T,A=O.onAfterRender,M=void 0===A?eO:A;P(),this.program.setUniforms(this.uniforms);var I=this.program.draw(Object.assign(tO,e,{logPriority:t,uniforms:null,framebuffer:r,parameters:d,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:p,transformFeedback:l,isIndexed:y,indexType:_,isInstanced:C,instanceCount:E,offset:y?k:0}));return M(),sk.priority>=2&&this._logDrawCallEnd(t,p,r),I}},{key:"transform",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.discard,n=void 0===t||t,i=e.feedbackBuffers,r=e.unbindModels,o=void 0===r?[]:r,a=e.parameters;i&&this._setFeedbackBuffers(i),n&&(a=Object.assign({},a,{35977:n})),o.forEach(function(e){return e.vertexArray.unbindBuffers()});try{this.draw(Object.assign({},e,{parameters:a}))}finally{o.forEach(function(e){return e.vertexArray.bindBuffers()})}return this}},{key:"render",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return sk.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}},{key:"_setModelProps",value:function(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}},{key:"_checkProgram",value:function(){if(this._programDirty||this.programManager.stateHash!==this._programManagerState){var e=this.programProps.program;if(e)this._managedProgram=!1;else{var t=this.programProps,n=t.vs,i=t.fs,r=t.modules,o=t.inject,a=t.defines,s=t.varyings,u=t.bufferMode,c=t.transpileToGLSL100;e=this.programManager.get({vs:n,fs:i,modules:r,inject:o,defines:a,varyings:s,bufferMode:u,transpileToGLSL100:c}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}ox(e instanceof FE,"Model needs a program"),this._programDirty=!1,e!==this.program&&(this.program=e,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new GE(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}}},{key:"_deleteGeometryBuffers",value:function(){for(var e in this.geometryBuffers){var t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof Cx&&t.delete()}}},{key:"_setAnimationProps",value:function(e){this.animated&&ox(e,"Model.draw(): animated uniforms but no animationProps")}},{key:"_setFeedbackBuffers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(hx(e))return this;var t=this.program.gl;return this.transformFeedback=this.transformFeedback||new mC(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}},{key:"_logDrawCallStart",value:function(e){var t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ".concat(this.id),{collapsed:sk.level<=2})(),e}},{key:"_logDrawCallEnd",value:function(e,t,n,i){if(void 0!==e){var r=function(e){var t=e.vertexArray,n=e.header,i=void 0===n?"Attributes":n;if(!t.configuration)return{};var r={};t.elements&&(r.ELEMENT_ARRAY_BUFFER=qE(t,t.elements,null,i));var o=t.values;for(var a in o){var s=t._getAttributeInfo(a);if(s){var u="".concat(a,": ").concat(s.name),c=t.accessors[s.location];c&&(u="".concat(a,": ").concat(XE(s.name,c))),r[u]=qE(t,o[a],c,i)}}return r}({vertexArray:t,header:"".concat(this.id," attributes"),attributes:this._attributes}),a=YE({header:"".concat(this.id," uniforms"),program:this.program,uniforms:Object.assign({},this.program.uniforms,n)}),s=a.table,u=a.unusedTable,c=a.unusedCount,l=YE({header:"".concat(this.id," uniforms"),program:this.program,uniforms:Object.assign({},this.program.uniforms,n),undefinedOnly:!0}),h=l.table;l.count>0&&sk.log("MISSING UNIFORMS",Object.keys(h))(),c>0&&sk.log("UNUSED UNIFORMS",Object.keys(u))();var d=function(e){var t,n={},i="Accessors for ".concat(e.id),r=_(e.attributeInfos);try{for(r.s();!(t=r.n()).done;){var a=t.value;a&&(n["in ".concat($E(a))]=o({},i,JSON.stringify(a.accessor)))}}catch(l){r.e(l)}finally{r.f()}var s,u=_(e.varyingInfos);try{for(u.s();!(s=u.n()).done;){var c=s.value;c&&(n["out ".concat($E(c))]=o({},i,JSON.stringify(c.accessor)))}}catch(l){u.e(l)}finally{u.f()}return n}(this.vertexArray.configuration);sk.table(e,r)(),sk.table(e,s)(),sk.table(e+1,d)(),i&&i.log({logLevel:2,message:"Rendered to ".concat(i.id)}),sk.groupEnd(2,">>> DRAWING MODEL ".concat(this.id))()}}}]),e}(),iO=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(n),Object.seal(this)}return b(e,[{key:"delete",value:function(){var e=this.model,t=this.bufferTransform,n=this.textureTransform;e&&e.delete(),t&&t.delete(),n&&n.delete()}},{key:"run",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.clearRenderTarget,n=void 0===t||t,i=this._updateDrawOptions(e);n&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}},{key:"swap",value:function(){var e,t=!1,n=_([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(n.s();!(e=n.n()).done;){var i=e.value;t=t||i.swap()}}catch(r){n.e(r)}finally{n.f()}ox(t,"Nothing to swap")}},{key:"getBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this.bufferTransform&&this.bufferTransform.getBuffer(e)}},{key:"getData",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=[this.bufferTransform,this.textureTransform].filter(Boolean),i=_(n);try{for(i.s();!(e=i.n()).done;){var r=e.value,o=r.getData(t);if(o)return o}}catch(a){i.e(a)}finally{i.f()}return null}},{key:"getFramebuffer",value:function(){return this.textureTransform&&this.textureTransform.getFramebuffer()}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};"elementCount"in e&&this.model.setVertexCount(e.elementCount);var t,n=[this.bufferTransform,this.textureTransform].filter(Boolean),i=_(n);try{for(i.s();!(t=i.n()).done;){var r=t.value;r.update(e)}}catch(o){i.e(o)}finally{i.f()}}},{key:"_initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.gl;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new nO(t,Object.assign({},e,{fs:e.fs||gC({version:bC(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}},{key:"_updateModelProps",value:function(e){var t,n=Object.assign({},e),i=_([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(i.s();!(t=i.n()).done;){n=t.value.updateModelProps(n)}}catch(r){i.e(r)}finally{i.f()}return n}},{key:"_buildResourceTransforms",value:function(e,t){(function(e){return!(hx(e.feedbackBuffers)&&hx(e.feedbackMap)&&!(e.varyings&&e.varyings.length>0))})(t)&&(this.bufferTransform=new yC(e,t)),function(e){return!(hx(e._sourceTextures)&&!e._targetTexture&&!e._targetTextureVarying)}(t)&&(this.textureTransform=new IC(e,t)),ox(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}},{key:"_updateDrawOptions",value:function(e){var t,n=Object.assign({},e),i=_([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(i.s();!(t=i.n()).done;){var r=t.value;n=Object.assign(n,r.getDrawOptions(n))}}catch(o){i.e(o)}finally{i.f()}return n}}],[{key:"isSupported",value:function(e){return lk(e)}}]),e}();function rO(){}var oO={onStart:rO,onUpdate:rO,onInterrupt:rO,onEnd:rO},aO=function(){function e(t){m(this,e),this._inProgress=!1,this._handle=null,this.timeline=t,this.settings={}}return b(e,[{key:"inProgress",get:function(){return this._inProgress}},{key:"start",value:function(e){this.cancel(),this.settings=M(M({},oO),e),this._inProgress=!0,this.settings.onStart(this)}},{key:"end",value:function(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}},{key:"cancel",value:function(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}},{key:"update",value:function(){if(!this._inProgress)return!1;if(null===this._handle){var e=this.timeline,t=this.settings;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}},{key:"_onUpdate",value:function(){}}]),e}(),sO={interpolation:function(){function e(t){var n=t.gl,i=t.attribute,r=t.timeline;m(this,e),this.gl=n,this.type="interpolation",this.transition=new aO(r),this.attribute=i,this.attributeInTransition=new cC(n,i.settings),this.currentStartIndices=i.startIndices,this.currentLength=0,this.transform=function(e,t){var n=oC(t.size);return new iO(e,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:n},varyings:["vCurrent"]})}(n,i);var o={byteLength:0,usage:35050};this.buffers=[new Cx(n,o),new Cx(n,o)]}return b(e,[{key:"inProgress",get:function(){return this.transition.inProgress}},{key:"start",value:function(e,t){if(e.duration<=0)this.transition.cancel();else{var n=this.buffers,i=this.attribute;aC(n);var r,o={numInstances:t,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter},a=_(n);try{for(a.s();!(r=a.n()).done;){var s=r.value;uC(M({buffer:s},o))}}catch(u){a.e(u)}finally{a.f()}this.currentStartIndices=i.startIndices,this.currentLength=sC(i,t),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aFrom:n[0],aTo:rC(0,i)},feedbackBuffers:{vCurrent:n[1]}})}}},{key:"update",value:function(){var e=this.transition.update();if(e){var t=this.transition,n=t.time,i=t.settings,r=i.duration,o=(0,i.easing)(n/r);this.transform.run({uniforms:{time:o}})}return e}},{key:"cancel",value:function(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}}]),e}(),spring:function(){function e(t){var n=t.gl,i=t.attribute,r=t.timeline;m(this,e),this.gl=n,this.type="spring",this.transition=new aO(r),this.attribute=i,this.attributeInTransition=new cC(n,I(M({},i.settings),{normalized:!1})),this.currentStartIndices=i.startIndices,this.currentLength=0,this.texture=function(e){return new Rx(e,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(n),this.framebuffer=function(e,t){return new $x(e,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:t}})}(n,this.texture),this.transform=function(e,t,n){var i=oC(t.size);return new iO(e,{framebuffer:n,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(n,i,this.framebuffer);var o={byteLength:0,usage:35050};this.buffers=[new Cx(n,o),new Cx(n,o),new Cx(n,o)]}return b(e,[{key:"inProgress",get:function(){return this.transition.inProgress}},{key:"start",value:function(e,t){var n,i=this.buffers,r=this.attribute,o={numInstances:t,attribute:r,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter},a=_(i);try{for(a.s();!(n=a.n()).done;){var s=n.value;uC(M({buffer:s},o))}}catch(u){a.e(u)}finally{a.f()}this.currentStartIndices=r.startIndices,this.currentLength=sC(r,t),this.attributeInTransition.update({buffer:i[1],value:r.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/r.size),sourceBuffers:{aTo:rC(0,r)}})}},{key:"update",value:function(){var e=this.buffers,t=this.transform,n=this.framebuffer,i=this.transition;return!!i.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:n,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:i.settings.stiffness,damping:i.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),aC(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),qx(n)[0]>0||i.end(),!0)}},{key:"cancel",value:function(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}]),e}()},uO=function(){function e(t,n){var i=n.id,r=n.timeline;m(this,e),this.id=i,this.gl=t,this.timeline=r,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=iO.isSupported(t)}return b(e,[{key:"finalize",value:function(){for(var e in this.transitions)this._removeTransition(e)}},{key:"update",value:function(e){var t=e.attributes,n=e.transitions,i=e.numInstances;for(var r in this.numInstances=i||1,t){var o=t[r],a=o.getTransitionSetting(n);!a||this._updateAttribute(r,o,a)}for(var s in this.transitions){var u=t[s];(!u||!u.getTransitionSetting(n))&&this._removeTransition(s)}}},{key:"hasAttribute",value:function(e){var t=this.transitions[e];return t&&t.inProgress}},{key:"getAttributes",value:function(){var e={};for(var t in this.transitions){var n=this.transitions[t];n.inProgress&&(e[t]=n.attributeInTransition)}return e}},{key:"run",value:function(){if(!this.isSupported||0===this.numInstances)return!1;for(var e in this.transitions)this.transitions[e].update()&&(this.needsRedraw=!0);var t=this.needsRedraw;return this.needsRedraw=!1,t}},{key:"_removeTransition",value:function(e){this.transitions[e].cancel(),delete this.transitions[e]}},{key:"_updateAttribute",value:function(e,t,n){var i=this.transitions[e],r=!i||i.type!==n.type;if(r){if(!this.isSupported)return void ik.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();i&&this._removeTransition(e);var o=sO[n.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(ik.error("unsupported transition type '".concat(n.type,"'"))(),r=!1)}(r||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(n,this.numInstances))}}]),e}(),cO="attributeManager.invalidate",lO=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.id,r=void 0===i?"attribute-manager":i,o=n.stats,a=n.timeline;m(this,e),this.id=r,this.gl=t,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=o,this.attributeTransitionManager=new uO(t,{id:"".concat(r,"-transitions"),timeline:a}),Object.seal(this)}return b(e,[{key:"finalize",value:function(){for(var e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}},{key:"getNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}},{key:"setNeedsRedraw",value:function(){return this.needsRedraw=!0,this}},{key:"add",value:function(e,t){this._add(e,t)}},{key:"addInstanced",value:function(e,t){this._add(e,t,{instanced:1})}},{key:"remove",value:function(e){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.data,n=e.numInstances,i=e.startIndices,r=void 0===i?null:i,o=e.transitions,a=e.props,s=void 0===a?{}:a,u=e.buffers,c=void 0===u?{}:u,l=e.context,h=void 0===l?{}:l,d=!1;for(var f in hC("attributeManager.updateStart",this),this.stats&&this.stats.get("Update Attributes").timeStart(),this.attributes){var p=this.attributes[f],v=p.settings.accessor;p.startIndices=r,s[f]&&ik.removed("props.".concat(f),"data.attributes.".concat(f))(),p.setExternalBuffer(c[f])||p.setBinaryValue(c[v],t.startIndices)||!c[v]&&p.setConstantValue(s[v])||p.needsUpdate()&&(d=!0,this._updateAttribute({attribute:p,numInstances:n,data:t,props:s,context:h})),this.needsRedraw|=p.needsRedraw()}d&&hC("attributeManager.updateEnd",this,n),this.stats&&this.stats.get("Update Attributes").timeEnd(),this.attributeTransitionManager.update({attributes:this.attributes,numInstances:n,transitions:o})}},{key:"updateTransition",value:function(){var e=this.attributeTransitionManager.run();return this.needsRedraw=this.needsRedraw||e,e}},{key:"getAttributes",value:function(){return this.attributes}},{key:"getChangedAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearChangedFlags:!1},t=this.attributes,n=this.attributeTransitionManager,i=M({},n.getAttributes());for(var r in t){var o=t[r];o.needsRedraw(e)&&!n.hasAttribute(r)&&(i[r]=o)}return i}},{key:"getShaderAttributes",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e||(e=this.getAttributes());var n={};for(var i in e)t[i]||Object.assign(n,e[i].getShaderAttributes());return n}},{key:"getAccessors",value:function(){return this.updateTriggers}},{key:"_add",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(var i in t&&ik.warn("AttributeManager.add({updaters}) - updater map no longer supported")(),e)this.attributes[i]=this._createAttribute(i,e[i],n);this._mapUpdateTriggersToAttributes()}},{key:"_createAttribute",value:function(e,t,n){var i=I(M({},t),{id:e,isIndexed:t.isIndexed||t.elements||!1,constant:t.constant||!1,size:(t.elements?1:t.size)||1,value:t.value||null,divisor:t.instanced||n.instanced?1:t.divisor||0});return new cC(this.gl,i)}},{key:"_mapUpdateTriggersToAttributes",value:function(){var e=this,t={},n=function(n){e.attributes[n].getUpdateTriggers().forEach(function(e){t[e]||(t[e]=[]),t[e].push(n)})};for(var i in this.attributes)n(i);this.updateTriggers=t}},{key:"_invalidateTrigger",value:function(e,t){var n=this.attributes,i=this.updateTriggers[e];return i&&i.forEach(function(e){var i=n[e];i&&i.setNeedsUpdate(i.id,t)}),i}},{key:"_updateAttribute",value:function(e){var t=e.attribute,n=e.numInstances;hC("attribute.updateStart",t),t.allocate(n)&&hC("attribute.allocate",t,n),t.updateBuffer(e)&&(this.needsRedraw=!0,hC("attribute.updateEnd",t,n))}}]),e}();function hO(e,t,n,i,r){var o=t-e;return(n-t)*r+-o*i+o+t}function dO(e,t){if(Array.isArray(e)){for(var n=0,i=0;i0}},{key:"add",value:function(e,t,n,i){var r=this.transitions;if(r.has(e)){var o=r.get(e),a=o.value;t=void 0===a?o.settings.fromValue:a,this.remove(e)}if(i=iC(i)){var s=fO[i.type];if(s){var u=new s(this.timeline);u.start(I(M({},i),{fromValue:t,toValue:n})),r.set(e,u)}else ik.error("unsupported transition type '".concat(i.type,"'"))()}}},{key:"remove",value:function(e){var t=this.transitions;t.has(e)&&(t.get(e).cancel(),t.delete(e))}},{key:"update",value:function(){var e,n={},i=_(this.transitions);try{for(i.s();!(e=i.n()).done;){var r=t(e.value,2),o=r[0],a=r[1];a.update(),n[o]=a.value,a.inProgress||this.remove(o)}}catch(s){i.e(s)}finally{i.f()}return n}},{key:"clear",value:function(){var e,t=_(this.transitions.keys());try{for(t.s();!(e=t.n()).done;){var n=e.value;this.remove(n)}}catch(i){t.e(i)}finally{t.f()}}}]),e}(),vO={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},gO=vO.COMPONENT;function mO(e,t){if(!e.transitions)return null;var n={},i=kO(e);for(var r in e.transitions){var o=i[r],a=o&&o.type;("number"===a||"color"===a||"array"===a)&&bO(e[r],t[r],o)&&(n[r]=!0)}return n}function yO(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.newProps,n=e.oldProps,i=e.ignoreProps,r=void 0===i?{}:i,o=e.propTypes,a=void 0===o?{}:o,s=e.triggerName,u=void 0===s?"props":s;if(n===t)return null;if("object"!=typeof t||null===t||"object"!=typeof n||null===n)return"".concat(u," changed shallowly");for(var c=0,l=Object.keys(t);c=0&&n.modules.splice(i,1)}if("inject"in t)if(e.inject){var r=M({},e.inject);for(var o in t.inject)r[o]=(r[o]||"")+t.inject[o];n.inject=r}else n.inject=t.inject;return n}function EO(e,t){var n=t[0],i=t[1],r=t[2],o=t[3],a=t[4],s=t[5],u=t[6],c=t[7],l=t[8],h=t[9],d=t[10],f=t[11],p=t[12],v=t[13],g=t[14],m=t[15],y=n*s-i*a,b=n*u-r*a,_=n*c-o*a,w=i*u-r*s,k=i*c-o*s,x=r*c-o*u,S=l*v-h*p,C=l*g-d*p,E=l*m-f*p,O=h*g-d*v,T=h*m-f*v,P=d*m-f*g,A=y*P-b*T+_*O+w*E-k*C+x*S;return A?(e[0]=(s*P-u*T+c*O)*(A=1/A),e[1]=(r*T-i*P-o*O)*A,e[2]=(v*x-g*k+m*w)*A,e[3]=(d*k-h*x-f*w)*A,e[4]=(u*E-a*P-c*C)*A,e[5]=(n*P-r*E+o*C)*A,e[6]=(g*_-p*x-m*b)*A,e[7]=(l*x-d*_+f*b)*A,e[8]=(a*T-s*E+c*S)*A,e[9]=(i*E-n*T-o*S)*A,e[10]=(p*k-v*_+m*y)*A,e[11]=(h*_-l*k-f*y)*A,e[12]=(s*C-a*O-u*S)*A,e[13]=(n*O-i*C+r*S)*A,e[14]=(v*b-p*w-g*y)*A,e[15]=(l*w-h*b+d*y)*A,e):null}function OO(e,t,n){var i=t[0],r=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],h=t[8],d=t[9],f=t[10],p=t[11],v=t[12],g=t[13],m=t[14],y=t[15],b=n[0],_=n[1],w=n[2],k=n[3];return e[0]=b*i+_*s+w*h+k*v,e[1]=b*r+_*u+w*d+k*g,e[2]=b*o+_*c+w*f+k*m,e[3]=b*a+_*l+w*p+k*y,e[4]=(b=n[4])*i+(_=n[5])*s+(w=n[6])*h+(k=n[7])*v,e[5]=b*r+_*u+w*d+k*g,e[6]=b*o+_*c+w*f+k*m,e[7]=b*a+_*l+w*p+k*y,e[8]=(b=n[8])*i+(_=n[9])*s+(w=n[10])*h+(k=n[11])*v,e[9]=b*r+_*u+w*d+k*g,e[10]=b*o+_*c+w*f+k*m,e[11]=b*a+_*l+w*p+k*y,e[12]=(b=n[12])*i+(_=n[13])*s+(w=n[14])*h+(k=n[15])*v,e[13]=b*r+_*u+w*d+k*g,e[14]=b*o+_*c+w*f+k*m,e[15]=b*a+_*l+w*p+k*y,e}function TO(e,t,n){var i,r,o,a,s,u,c,l,h,d,f,p,v=n[0],g=n[1],m=n[2];return t===e?(e[12]=t[0]*v+t[4]*g+t[8]*m+t[12],e[13]=t[1]*v+t[5]*g+t[9]*m+t[13],e[14]=t[2]*v+t[6]*g+t[10]*m+t[14],e[15]=t[3]*v+t[7]*g+t[11]*m+t[15]):(r=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],h=t[8],d=t[9],f=t[10],p=t[11],e[0]=i=t[0],e[1]=r,e[2]=o,e[3]=a,e[4]=s,e[5]=u,e[6]=c,e[7]=l,e[8]=h,e[9]=d,e[10]=f,e[11]=p,e[12]=i*v+s*g+h*m+t[12],e[13]=r*v+u*g+d*m+t[13],e[14]=o*v+c*g+f*m+t[14],e[15]=a*v+l*g+p*m+t[15]),e}function PO(e,t,n){var i=n[0],r=n[1],o=n[2];return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*o,e[9]=t[9]*o,e[10]=t[10]*o,e[11]=t[11]*o,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function AO(e,t,n){var i=Math.sin(n),r=Math.cos(n),o=t[4],a=t[5],s=t[6],u=t[7],c=t[8],l=t[9],h=t[10],d=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=o*r+c*i,e[5]=a*r+l*i,e[6]=s*r+h*i,e[7]=u*r+d*i,e[8]=c*r-o*i,e[9]=l*r-a*i,e[10]=h*r-s*i,e[11]=d*r-u*i,e}function MO(e,t,n){var i=Math.sin(n),r=Math.cos(n),o=t[0],a=t[1],s=t[2],u=t[3],c=t[4],l=t[5],h=t[6],d=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=o*r+c*i,e[1]=a*r+l*i,e[2]=s*r+h*i,e[3]=u*r+d*i,e[4]=c*r-o*i,e[5]=l*r-a*i,e[6]=h*r-s*i,e[7]=d*r-u*i,e}function IO(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function RO(e,t,n){var i=t[0],r=t[1],o=t[2],a=t[3];return e[0]=n[0]*i+n[4]*r+n[8]*o+n[12]*a,e[1]=n[1]*i+n[5]*r+n[9]*o+n[13]*a,e[2]=n[2]*i+n[6]*r+n[10]*o+n[14]*a,e[3]=n[3]*i+n[7]*r+n[11]*o+n[15]*a,e}function DO(e,t,n){var i=t[0],r=t[1],o=t[2],a=n[0],s=n[1],u=n[2],c=n[3],l=c*i+s*o-u*r,h=c*r+u*i-a*o,d=c*o+a*r-s*i,f=-a*i-s*r-u*o;return e[0]=l*c+f*-a+h*-u-d*-s,e[1]=h*c+f*-s+d*-a-l*-u,e[2]=d*c+f*-u+l*-s-h*-a,e[3]=t[3],e}!function(){var e=new kS(4);kS!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0)}();var NO=[0,0,0,0],LO=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],jO=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],FO=[0,0,0],BO=[0,0,0],VO=SO(function(e){var t=e.viewport,n=e.devicePixelRatio,i=e.coordinateSystem,r=function(e,t,n){var i=e.viewMatrixUncentered,r=e.projectionMatrix,o=e.viewMatrix,a=e.viewProjectionMatrix,s=NO,u=NO,c=e.cameraPosition,l=zO(e,t,n),h=l.geospatialOrigin,d=l.shaderCoordinateOrigin;return l.offsetMode&&(u=e.projectPosition(h||d),c=[c[0]-u[0],c[1]-u[1],c[2]-u[2]],u[3]=1,s=RO([],u,a),a=OO([],r,o=i||o),a=OO([],a,LO)),{viewMatrix:o,viewProjectionMatrix:a,projectionCenter:s,originCommon:u,cameraPosCommon:c,shaderCoordinateOrigin:d,geospatialOrigin:h}}(t,i,e.coordinateOrigin),o=r.projectionCenter,a=r.viewProjectionMatrix,s=r.originCommon,u=r.cameraPosCommon,c=r.shaderCoordinateOrigin,l=r.geospatialOrigin,h=t.getDistanceScales(),d=[t.width*n,t.height*n],f=t.projectionMatrix.transform([0,0,-t.focalDistance,1])[3]||1,p={project_uCoordinateSystem:i,project_uProjectionMode:t.projectionMode,project_uCoordinateOrigin:c,project_uCommonOrigin:s.slice(0,3),project_uCenter:o,project_uViewportSize:d,project_uDevicePixelRatio:n,project_uFocalDistance:f,project_uCommonUnitsPerMeter:h.unitsPerMeter,project_uCommonUnitsPerWorldUnit:h.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:FO,project_uScale:t.scale,project_uViewProjectionMatrix:a,project_uCameraPosition:u};if(l){var v=t.getDistanceScales(l);switch(i){case rk.METER_OFFSETS:p.project_uCommonUnitsPerWorldUnit=v.unitsPerMeter,p.project_uCommonUnitsPerWorldUnit2=v.unitsPerMeter2;break;case rk.LNGLAT:case rk.LNGLAT_OFFSETS:p.project_uCommonUnitsPerWorldUnit=v.unitsPerDegree,p.project_uCommonUnitsPerWorldUnit2=v.unitsPerDegree2;break;case rk.CARTESIAN:p.project_uCommonUnitsPerWorldUnit=[1,1,v.unitsPerMeter[2]],p.project_uCommonUnitsPerWorldUnit2=[0,0,v.unitsPerMeter2[2]]}}return p});function zO(e,t){var n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:BO,r=i,o=!0;switch(n=t===rk.LNGLAT_OFFSETS||t===rk.METER_OFFSETS?i:e.isGeospatial?[Math.fround(e.longitude),Math.fround(e.latitude),0]:null,e.projectionMode){case ok.WEB_MERCATOR:(t===rk.LNGLAT||t===rk.CARTESIAN)&&(o=!1);break;case ok.WEB_MERCATOR_AUTO_OFFSET:t===rk.LNGLAT?r=n:t===rk.CARTESIAN&&(r=[Math.fround(e.center[0]),Math.fround(e.center[1]),0],n=e.unprojectPosition(r),r[0]-=i[0],r[1]-=i[1],r[2]-=i[2]);break;case ok.IDENTITY:r=e.position.map(Math.fround);break;case ok.GLOBE:o=!1,n=null;break;default:o=!1}return r[2]=r[2]||0,{geospatialOrigin:n,shaderCoordinateOrigin:r,offsetMode:o}}var UO=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"ELEMENTS",get:function(){return pS(!1),0}},{key:"RANK",get:function(){return pS(!1),0}},{key:"toString",value:function(){var e="[";if(oS.printRowMajor){e+="row-major:";for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:new Array(this.RANK).fill(-0),n=e*this.RANK,i=0;i2*Math.PI)throw Error("radians");var d=s*Math.tan(n/2),f=d*o;return(new i).ortho({left:-f,right:f,bottom:-d,top:d,near:c,far:h})}},{key:"perspective",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.fovy,n=e.fov,i=void 0===n?45*Math.PI/180:n,r=e.aspect,o=void 0===r?1:r,a=e.near,s=void 0===a?.1:a,u=e.far,c=void 0===u?500:u;if((t=t||i)>2*Math.PI)throw Error("radians");return function(e,t,n,i,r){var o,a=1/Math.tan(t/2);e[0]=a/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=r&&r!==1/0?(e[10]=(r+i)*(o=1/(i-r)),e[14]=2*r*i*o):(e[10]=-1,e[14]=-2*i)}(this,t,o,s,c),this.check()}},{key:"determinant",value:function(){return function(e){var t=e[0],n=e[1],i=e[2],r=e[3],o=e[4],a=e[5],s=e[6],u=e[7],c=e[8],l=e[9],h=e[10],d=e[11],f=e[12],p=e[13],v=e[14],g=e[15];return(t*a-n*o)*(h*g-d*v)-(t*s-i*o)*(l*g-d*p)+(t*u-r*o)*(l*v-h*p)+(n*s-i*a)*(c*g-d*f)-(n*u-r*a)*(c*v-h*f)+(i*u-r*s)*(c*p-l*f)}(this)}},{key:"getScale",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}},{key:"getTranslation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}},{key:"getRotation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.getScale(t||[-0,-0,-0]),i=1/n[0],r=1/n[1],o=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*r,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*i,e[5]=this[5]*r,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*i,e[9]=this[9]*r,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},{key:"getRotationMatrix3",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.getScale(t||[-0,-0,-0]),i=1/n[0],r=1/n[1],o=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*r,e[2]=this[2]*o,e[3]=this[4]*i,e[4]=this[5]*r,e[5]=this[6]*o,e[6]=this[8]*i,e[7]=this[9]*r,e[8]=this[10]*o,e}},{key:"transpose",value:function(){return function(e,t){if(e===t){var n=t[1],i=t[2],r=t[3],o=t[6],a=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=n,e[6]=t[9],e[7]=t[13],e[8]=i,e[9]=o,e[11]=t[14],e[12]=r,e[13]=a,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15]}(this,this),this.check()}},{key:"invert",value:function(){return EO(this,this),this.check()}},{key:"multiplyLeft",value:function(e){return OO(this,e,this),this.check()}},{key:"multiplyRight",value:function(e){return OO(this,this,e),this.check()}},{key:"rotateX",value:function(e){return AO(this,this,e),this.check()}},{key:"rotateY",value:function(e){return function(e,t,n){var i=Math.sin(n),r=Math.cos(n),o=t[0],a=t[1],s=t[2],u=t[3],c=t[8],l=t[9],h=t[10],d=t[11];t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=o*r-c*i,e[1]=a*r-l*i,e[2]=s*r-h*i,e[3]=u*r-d*i,e[8]=o*i+c*r,e[9]=a*i+l*r,e[10]=s*i+h*r,e[11]=u*i+d*r}(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return MO(this,this,e),this.check()}},{key:"rotateXYZ",value:function(e){var n=t(e,3),i=n[0],r=n[1],o=n[2];return this.rotateX(i).rotateY(r).rotateZ(o)}},{key:"rotateAxis",value:function(e,t){return function(e,t,n,i){var r,o,a,s,u,c,l,h,d,f,p,v,g,m,y,b,_,w,k,x,S,C,E,O,T=i[0],P=i[1],A=i[2],M=Math.hypot(T,P,A);Mn?n:e}var eT=Math.log2||function(e){return Math.log(e)*Math.LOG2E};function tT(e,t){if(!e)throw new Error(t||"@math.gl/web-mercator: assertion failed.")}var nT=Math.PI,iT=nT/4,rT=nT/180,oT=180/nT,aT=4003e4,sT=85.051129;function uT(e){var n=t(e,2),i=n[0],r=n[1];return tT(Number.isFinite(i)),tT(Number.isFinite(r)&&r>=-90&&r<=90,"invalid latitude"),[512*(i*rT+nT)/(2*nT),512*(nT+Math.log(Math.tan(iT+r*rT*.5)))/(2*nT)]}function cT(e){var n=t(e,2),i=n[0],r=n[1],o=i/512*(2*nT)-nT,a=2*(Math.atan(Math.exp(r/512*(2*nT)-nT))-iT);return[o*oT,a*oT]}function lT(e){var t=e.latitude,n=e.longitude,i=e.highPrecision,r=void 0!==i&&i;tT(Number.isFinite(t)&&Number.isFinite(n));var o={},a=Math.cos(t*rT),s=512/360,u=s/a,c=512/aT/a;if(o.unitsPerMeter=[c,c,c],o.metersPerUnit=[1/c,1/c,1/c],o.unitsPerDegree=[s,u,c],o.degreesPerUnit=[1/s,1/u,1/c],r){var l=rT*Math.tan(t*rT)/a,h=512/aT*l,d=h/u*c;o.unitsPerDegree2=[0,s*l/2,h],o.unitsPerMeter2=[d,0,d]}return o}function hT(e,n){var i=t(e,3),r=i[0],o=i[1],a=i[2],s=t(n,3),u=s[0],c=s[1],l=s[2],h=lT({longitude:r,latitude:o,highPrecision:!0}),d=h.unitsPerMeter,f=h.unitsPerMeter2,p=uT(e);p[0]+=u*(d[0]+f[0]*c),p[1]+=c*(d[1]+f[1]*c);var v=cT(p),g=(a||0)+(l||0);return Number.isFinite(a)||Number.isFinite(l)?[v[0],v[1],g]:v}function dT(e){return 2*Math.atan(.5/e)*oT}function fT(e,n){var i=t(e,3),r=i[0],o=i[1],a=i[2],s=void 0===a?0:a;return tT(Number.isFinite(r)&&Number.isFinite(o)&&Number.isFinite(s)),QO(n,[r,o,s,1])}function pT(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=t(e,3),o=r[0],a=r[1],s=r[2];if(tT(Number.isFinite(o)&&Number.isFinite(a),"invalid pixel coordinate"),Number.isFinite(s))return QO(n,[o,a,s,1]);var u=QO(n,[o,a,0,1]),c=QO(n,[o,a,1,1]),l=u[2],h=c[2];return WO([],u,c,l===h?0:((i||0)-l)/(h-l))}var vT=Math.PI/180;function gT(e,t,n){var i=e.pixelUnprojectionMatrix,r=QO(i,[t,0,1,1]),o=QO(i,[t,e.height,1,1]),a=cT(WO([],r,o,(n*e.distanceScales.unitsPerMeter[2]-r[2])/(o[2]-r[2])));return a[2]=n,a}var mT=Math.PI/180,yT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],bT=[0,0,0],_T={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]},wT=function(){var e=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id,i=void 0===n?null:n,r=t.x,o=void 0===r?0:r,a=t.y,s=void 0===a?0:a,u=t.width,c=void 0===u?1:u,l=t.height,h=void 0===l?1:l;this.id=i||this.constructor.displayName||"viewport",this.x=o,this.y=s,this.width=c||1,this.height=h||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}return b(e,[{key:"metersPerPixel",get:function(){return this.distanceScales.metersPerUnit[2]/this.scale}},{key:"projectionMode",get:function(){return this.isGeospatial?this.zoom<12?ok.WEB_MERCATOR:ok.WEB_MERCATOR_AUTO_OFFSET:ok.IDENTITY}},{key:"equals",value:function(t){return t instanceof e&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&fS(t.projectionMatrix,this.projectionMatrix)&&fS(t.viewMatrix,this.viewMatrix))}},{key:"project",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.topLeft,r=void 0===i||i,o=fT(this.projectPosition(e),this.pixelProjectionMatrix),a=t(o,2),s=a[0],u=a[1],c=r?u:this.height-u;return 2===e.length?[s,c]:[s,c,o[2]]}},{key:"unproject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.topLeft,r=void 0===i||i,o=n.targetZ,a=t(e,3),s=a[0],u=a[1],c=a[2],l=pT([s,r?u:this.height-u,c],this.pixelUnprojectionMatrix,o&&o*this.distanceScales.unitsPerMeter[2]),h=this.unprojectPosition(l),d=t(h,3),f=d[0],p=d[1],v=d[2];return Number.isFinite(c)?[f,p,v]:Number.isFinite(o)?[f,p,o]:[f,p]}},{key:"projectPosition",value:function(e){var n=t(this.projectFlat(e),2);return[n[0],n[1],(e[2]||0)*this.distanceScales.unitsPerMeter[2]]}},{key:"unprojectPosition",value:function(e){var n=t(this.unprojectFlat(e),2);return[n[0],n[1],(e[2]||0)*this.distanceScales.metersPerUnit[2]]}},{key:"projectFlat",value:function(e){return this.isGeospatial?uT(e):e}},{key:"unprojectFlat",value:function(e){return this.isGeospatial?cT(e):e}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={targetZ:e.z||0},n=this.unproject([0,0],t),i=this.unproject([this.width,0],t),r=this.unproject([0,this.height],t),o=this.unproject([this.width,this.height],t);return[Math.min(n[0],i[0],r[0],o[0]),Math.min(n[1],i[1],r[1],o[1]),Math.max(n[0],i[0],r[0],o[0]),Math.max(n[1],i[1],r[1],o[1])]}},{key:"getDistanceScales",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e?lT({longitude:e[0],latitude:e[1],highPrecision:!0}):this.distanceScales}},{key:"containsPixel",value:function(e){var t=e.x,n=e.y,i=e.width,r=void 0===i?1:i,o=e.height,a=void 0===o?1:o;return t0&&void 0!==arguments[0]?arguments[0]:{};m(this,i);var r=t.latitude,o=void 0===r?0:r,a=t.longitude,s=void 0===a?0:a,u=t.zoom,l=void 0===u?11:u,h=t.pitch,d=void 0===h?0:h,f=t.bearing,p=void 0===f?0:f,v=t.nearZMultiplier,g=void 0===v?.1:v,y=t.farZMultiplier,b=void 0===y?1.01:y,_=t.orthographic,w=void 0!==_&&_,k=t.repeat,x=void 0!==k&&k,S=t.worldOffset,C=void 0===S?0:S,E=t.width,O=t.height,T=t.altitude,P=void 0===T?1.5:T,A=Math.pow(2,l),R=function(e){var t=e.width,n=e.height,i=e.fovy,r=void 0===i?dT(1.5):i,o=e.altitude,a=e.pitch,s=void 0===a?0:a,u=e.nearZMultiplier,c=void 0===u?1:u,l=e.farZMultiplier,h=void 0===l?1:l;void 0!==o&&(r=dT(o));var d=.5*r*rT,f=function(e){return.5/Math.tan(.5*e*rT)}(r),p=s*rT,v=Math.sin(d)*f/Math.sin(Math.min(Math.max(Math.PI/2-p-d,.01),Math.PI-.01));return{fov:2*d,aspect:t/n,focalDistance:f,near:c,far:(Math.sin(p)*v+f)*h}}({width:E=E||1,height:O=O||1,pitch:d,altitude:P=Math.max(.75,P),nearZMultiplier:g,farZMultiplier:b}),D=R.fov,N=R.aspect,L=R.focalDistance,j=R.near,F=R.far,B=function(e){var t=e.height,n=e.pitch,i=e.bearing,r=e.scale,o=e.center,a=void 0===o?null:o,s=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return TO(s,s,[0,0,-e.altitude]),AO(s,s,-n*rT),MO(s,s,i*rT),PO(s,s,[r/=t,r,r]),a&&TO(s,s,function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}([],a)),s}({height:O,pitch:d,bearing:p,scale:A,altitude:P});return C&&(B=(new $O).translate([512*C,0,0]).multiplyLeft(B)),(e=n.call(this,I(M({},t),{width:E,height:O,viewMatrix:B,longitude:s,latitude:o,zoom:l,orthographic:w,fovyRadians:D,aspect:N,focalDistance:L,near:j,far:F}))).latitude=o,e.longitude=s,e.zoom=l,e.pitch=d,e.bearing=p,e.altitude=P,e.orthographic=w,e._subViewports=x?[]:null,Object.freeze(c(e)),e}return b(i,[{key:"subViewports",get:function(){if(this._subViewports&&!this._subViewports.length)for(var e=this.getBounds(),t=Math.floor((e[0]+180)/360),n=Math.ceil((e[2]-180)/360),r=t;r<=n;r++){var o=r?new i(I(M({},this),{worldOffset:r})):this;this._subViewports.push(o)}return this._subViewports}},{key:"addMetersToLngLat",value:function(e,t){return hT(e,t)}},{key:"panByPosition",value:function(e,n){var i=pT(n,this.pixelUnprojectionMatrix),r=HO([],this.projectFlat(e),GO([],i)),o=HO([],this.center,r),a=t(this.unprojectFlat(o),2);return{longitude:a[0],latitude:a[1]}}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=function(e){var t,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e.width,o=e.height,a=e.unproject,s={targetZ:i},u=a([0,o],s),c=a([r,o],s);return(e.fovy?.5*e.fovy*vT:Math.atan(.5/e.altitude))>(90-e.pitch)*vT-.01?(t=gT(e,0,i),n=gT(e,r,i)):(t=a([0,0],s),n=a([r,0],s)),[u,c,n,t]}(this,e.z||0);return[Math.min(t[0][0],t[1][0],t[2][0],t[3][0]),Math.min(t[0][1],t[1][1],t[2][1],t[3][1]),Math.max(t[0][0],t[1][0],t[2][0],t[3][0]),Math.max(t[0][1],t[1][1],t[2][1],t[3][1])]}},{key:"fitBounds",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.width,o=this.height,a=function(e){var n=e.width,i=e.height,r=e.bounds,o=e.minExtent,a=void 0===o?0:o,s=e.maxZoom,u=void 0===s?24:s,c=e.padding,l=void 0===c?0:c,h=e.offset,d=void 0===h?[0,0]:h,f=t(r,2),p=t(f[0],2),v=p[0],g=p[1],m=t(f[1],2),y=m[0],b=m[1];Number.isFinite(l)?l={top:l,bottom:l,left:l,right:l}:tT(Number.isFinite(l.top)&&Number.isFinite(l.bottom)&&Number.isFinite(l.left)&&Number.isFinite(l.right));var _=uT([v,JO(b,-sT,sT)]),w=uT([y,JO(g,-sT,sT)]),k=[Math.max(Math.abs(w[0]-_[0]),a),Math.max(Math.abs(w[1]-_[1]),a)],x=[n-l.left-l.right-2*Math.abs(d[0]),i-l.top-l.bottom-2*Math.abs(d[1])];tT(x[0]>0&&x[1]>0);var S=x[0]/k[0],C=x[1]/k[1],E=cT([(w[0]+_[0])/2+(l.right-l.left)/2/S,(w[1]+_[1])/2+(l.bottom-l.top)/2/C]),O=Math.min(u,eT(Math.abs(Math.min(S,C))));return tT(Number.isFinite(O)),{longitude:E[0],latitude:E[1],zoom:O}}(M({width:r,height:o,bounds:e},n)),s=a.longitude,u=a.latitude,c=a.zoom;return new i({width:r,height:o,longitude:s,latitude:u,zoom:c})}}]),i}(wT);return e.displayName="WebMercatorViewport",e}();function xT(e,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=n.projectPosition(e);if(i&&n instanceof kT){var o=t(e,3),a=o[0],s=o[1],u=o[2],c=void 0===u?0:u,l=n.getDistanceScales([a,s]);r[2]=c*l.unitsPerMeter[2]}return r}function ST(e,n){var i,r=n.viewport,o=n.modelMatrix,a=n.coordinateSystem,s=n.coordinateOrigin,u=n.offsetMode,c=t(e,3),l=c[0],h=c[1],d=c[2],f=void 0===d?0:d;switch(o&&(l=(i=t(RO([],[l,h,f,1],o),3))[0],h=i[1],f=i[2]),a){case rk.LNGLAT:return xT([l,h,f],r,u);case rk.LNGLAT_OFFSETS:return xT([l+s[0],h+s[1],f+(s[2]||0)],r,u);case rk.METER_OFFSETS:return xT(hT(s,[l,h,f]),r,u);case rk.CARTESIAN:default:return r.isGeospatial?[l+s[0],h+s[1],f+s[2]]:r.projectPosition([l,h,f])}}var CT={10241:9987,10240:9729,10242:33071,10243:33071},ET={},OT={boolean:{validate:function(e,t){return!0},equal:function(e,t,n){return Boolean(e)===Boolean(t)}},number:{validate:function(e,t){return Number.isFinite(e)&&(!("max"in t)||e<=t.max)&&(!("min"in t)||e>=t.min)}},color:{validate:function(e,t){return t.optional&&!e||MT(e)&&(3===e.length||4===e.length)},equal:function(e,t,n){return TT(e,t)}},accessor:{validate:function(e,t){var n=IT(e);return"function"===n||n===IT(t.value)},equal:function(e,t,n){return"function"==typeof t||TT(e,t)}},array:{validate:function(e,t){return t.optional&&!e||MT(e)},equal:function(e,t,n){return n.compare?TT(e,t):e===t}},function:{validate:function(e,t){return t.optional&&!e||"function"==typeof e},equal:function(e,t,n){return!n.compare||e===t}},data:{transform:function(e,t,n){var i=(n?n.props:{}).dataTransform;return i&&e?i(e):e}},image:{transform:function(e,t,n){return function(e,t){var n=e.context&&e.context.gl;if(!n||!t)return null;if(t instanceof Rx)return t;t.constructor&&"Object"!==t.constructor.name&&(t={data:t});var i=null;t.compressed&&(i={10241:t.data.length>1?9985:9729});var r=new Rx(n,I(M({},t),{parameters:M(M(M({},CT),i),e.props.textureParameters)}));return ET[r.id]=!0,r}(n,e)},release:function(e){!function(e){!e||!(e instanceof Rx)||ET[e.id]&&(e.delete(),delete ET[e.id])}(e)}}};function TT(e,t){if(e===t)return!0;if(!MT(e)||!MT(t))return!1;var n=e.length;if(n!==t.length)return!1;for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:null;m(this,e),this.component=t,this.asyncProps={},this.onAsyncPropUpdated=function(){},this.oldProps=qT,this.oldAsyncProps=null}return b(e,[{key:"finalize",value:function(){for(var e in this.asyncProps){var t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}},{key:"getOldProps",value:function(){return this.oldAsyncProps||this.oldProps}},{key:"resetOldProps",value:function(){this.oldAsyncProps=null,this.oldProps=this.component.props}},{key:"freezeAsyncOldProps",value:function(){if(!this.oldAsyncProps)for(var e in this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps),this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}},{key:"hasAsyncProp",value:function(e){return e in this.asyncProps}},{key:"getAsyncProp",value:function(e){var t=this.asyncProps[e];return t&&t.resolvedValue}},{key:"isAsyncPropLoading",value:function(e){if(e){var t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(var n in this.asyncProps)if(this.isAsyncPropLoading(n))return!0;return!1}},{key:"reloadAsyncProp",value:function(e,t){this._watchPromise(e,Promise.resolve(t))}},{key:"setAsyncProps",value:function(e){var t=e[GT]||{},n=e[HT]||e,i=e[WT]||{};for(var r in t){var o=t[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,o),t[r]=this.getAsyncProp(r)}for(var a in n){var s=n[a];this._createAsyncPropData(a,i[a]),this._updateAsyncProp(a,s)}}},{key:"_updateAsyncProp",value:function(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var n,i=null===(n=this.layer)||void 0===n?void 0:n.props.fetch;i&&(t=i(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(KS(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}},{key:"_didAsyncInputValueChange",value:function(e,t){var n=this.asyncProps[e];return t!==n.resolvedValue&&t!==n.lastValue&&(n.lastValue=t,!0)}},{key:"_setPropValue",value:function(e,t){var n=this.asyncProps[e];t=this._postProcessValue(n,t),n.resolvedValue=t,n.pendingLoadCount++,n.resolvedLoadCount=n.pendingLoadCount}},{key:"_setAsyncPropValue",value:function(e,t,n){var i=this.asyncProps[e];i&&n>=i.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),i.resolvedValue=t,i.resolvedLoadCount=n,this.onAsyncPropUpdated(e,t))}},{key:"_watchPromise",value:function(e,t){var n=this,i=this.asyncProps[e];i.pendingLoadCount++;var r=i.pendingLoadCount;t.then(function(t){var o;t=n._postProcessValue(i,t),n._setAsyncPropValue(e,t,r);var a=null===(o=n.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(t,{propName:e,layer:n.layer})}).catch(function(t){var i;null===(i=n.layer)||void 0===i||i.raiseError(t,"loading ".concat(e," of ").concat(n.layer))})}},{key:"_resolveAsyncIterable",value:function(e,t){var n=this;return Vx(regeneratorRuntime.mark(function i(){var r,o,a,s,u,c,l,h,d,f,p,v,g,m,y;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:"data"!==e&&n._setPropValue(e,t),(o=n.asyncProps[e]).pendingLoadCount++,a=o.pendingLoadCount,s=[],u=0,l=!0,h=!1,i.prev=6,p=UT(t);case 8:return i.next=10,p.next();case 10:return l=(d=i.sent).done,i.next=13,d.value;case 13:if(f=i.sent,l){i.next=20;break}v=f,g=n.component?n.component.props:{},m=g.dataTransform,s=m?m(v,s):s.concat(v),Object.defineProperty(s,"__diff",{enumerable:!1,value:[{startRow:u,endRow:s.length}]}),u=s.length,n._setAsyncPropValue(e,s,a);case 17:l=!0,i.next=8;break;case 20:i.next=25;break;case 22:i.prev=22,i.t0=i.catch(6),h=!0,c=i.t0;case 25:if(i.prev=25,i.prev=26,i.t1=!l&&null!=p.return,!i.t1){i.next=31;break}return i.next=31,p.return();case 31:if(i.prev=31,!h){i.next=34;break}throw c;case 34:return i.finish(31);case 35:return i.finish(25);case 36:(y=null===(r=n.layer)||void 0===r?void 0:r.props.onDataLoad)&&y(s,{propName:e,layer:n.layer});case 38:case"end":return i.stop()}},i,null,[[6,22,25,36],[26,,31,35]])}))()}},{key:"_postProcessValue",value:function(e,t){var n=e.type;return n&&(n.release&&n.release(e.resolvedValue,n,this.component),n.transform)?n.transform(t,n,this.component):t}},{key:"_createAsyncPropData",value:function(e,t){if(!this.asyncProps[e]){var n=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:n&&n[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}]),e}(),KT=vO.ASYNC_ORIGINAL,$T=vO.ASYNC_RESOLVED,QT=vO.ASYNC_DEFAULTS,ZT={},JT=0,eP=function(){var e=function(){function e(){m(this,e),this.props=jT.apply(this,arguments),this.id=this.props.id,this.count=JT++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}return b(e,[{key:"clone",value:function(e){var t=this.props,n={};for(var i in t[QT])i in t[$T]?n[i]=t[$T][i]:i in t[KT]&&(n[i]=t[KT][i]);return new this.constructor(M(M(M({},t),n),e))}},{key:"stats",get:function(){return this.internalState.stats}},{key:"_initState",value:function(){this.internalState=new XT({})}}]),e}();return e.componentName="Component",e.defaultProps=ZT,e}(),tP=function(e){a(n,e);var t=s(n);function n(e){var i,r=e.attributeManager,o=e.layer;return m(this,n),(i=t.call(this,o)).attributeManager=r,i.model=null,i.needsRedraw=!0,i.subLayers=null,i.usesPickingColorCache=!1,i}return b(n,[{key:"layer",get:function(){return this.component},set:function(e){this.component=e}}]),n}(XT),nP=function(e){return"function"==typeof e},iP=function(e){return null!==e&&"object"==typeof e},rP=function(e){return iP(e)&&e.constructor==={}.constructor},oP=function(e){return e&&"function"==typeof e[Symbol.iterator]},aP=function(e){return e&&"function"==typeof e[Symbol.asyncIterator]},sP=function(e){return"undefined"!=typeof Response&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json},uP=function(e){return"undefined"!=typeof Blob&&e instanceof Blob},cP=function(e){return function(e){return"undefined"!=typeof ReadableStream&&e instanceof ReadableStream||iP(e)&&nP(e.tee)&&nP(e.cancel)&&nP(e.getReader)}(e)||function(e){return iP(e)&&nP(e.read)&&nP(e.pipe)&&function(e){return"boolean"==typeof e}(e.readable)}(e)};function lP(e,t){if(!e)throw new Error(t||"loader assertion failed.")}function hP(e){var t;return!!e&&(Array.isArray(e)&&(e=e[0]),Array.isArray(null===(t=e)||void 0===t?void 0:t.extensions))}function dP(e){var t,n,i;return lP(e,"null loader"),lP(hP(e),"invalid loader"),Array.isArray(e)&&(i=e[1],e=I(M({},e=e[0]),{options:M(M({},e.options),i)})),(null!==(t=e)&&void 0!==t&&t.parseTextSync||null!==(n=e)&&void 0!==n&&n.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var fP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},pP=fP.global||fP.self||fP.window||{},vP="object"!=typeof process||"[object process]"!==String(process)||process.browser,gP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);gP&&parseFloat(gP[1]);var mP={};function yP(e){for(var t in mP)e.startsWith(t)&&(e=e.replace(t,mP[t]));return!e.startsWith("http://")&&!e.startsWith("https://")&&(e="".concat(e)),e}var bP=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,_P=/^([-\w.]+\/[-\w.+]+)/;function wP(e){var t=_P.exec(e);return t?t[1]:e}function kP(e){var t=bP.exec(e);return t?t[1]:""}var xP=/\?.*/;function SP(e){if(sP(e)){var t=EP(e.url||"");return{url:t,type:wP(e.headers.get("content-type")||"")||kP(t)}}return uP(e)?{url:EP(e.name||""),type:e.type||""}:"string"==typeof e?{url:EP(e),type:kP(e)}:{url:"",type:""}}function CP(e){return sP(e)?e.headers["content-length"]||-1:uP(e)?e.size:"string"==typeof e?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}function EP(e){return e.replace(xP,"")}function OP(e){return TP.apply(this,arguments)}function TP(){return(TP=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!sP(t)){e.next=2;break}return e.abrupt("return",t);case 2:return n={},(i=CP(t))>=0&&(n["content-length"]=String(i)),r=SP(t),o=r.url,(a=r.type)&&(n["content-type"]=a),e.next=8,RP(t);case 8:return(s=e.sent)&&(n["x-first-bytes"]=s),"string"==typeof t&&(t=(new TextEncoder).encode(t)),u=new Response(t,{headers:n}),e.abrupt("return",(Object.defineProperty(u,"url",{value:o}),u));case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}function PP(e){return AP.apply(this,arguments)}function AP(){return(AP=Vx(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t.ok){e.next=5;break}return e.next=3,MP(t);case 3:throw n=e.sent,new Error(n);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function MP(e){return IP.apply(this,arguments)}function IP(){return(IP=Vx(regeneratorRuntime.mark(function e(t){var n,i,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n="Failed to fetch resource ".concat(t.url," (").concat(t.status,"): "),e.prev=1,i=t.headers.get("Content-Type"),r=t.statusText,e.t0=i.includes("application/json"),!e.t0){e.next=12;break}return e.t1=r,e.t2=" ",e.next=10,t.text();case 10:e.t3=e.sent,r=e.t1+=e.t2.concat.call(e.t2,e.t3);case 12:n=(n+=r).length>60?"".concat(n.slice(60),"..."):n,e.next=18;break;case 16:e.prev=16,e.t4=e.catch(1);case 18:return e.abrupt("return",n);case 19:case"end":return e.stop()}},e,null,[[1,16]])}))).apply(this,arguments)}function RP(e){return DP.apply(this,arguments)}function DP(){return(DP=Vx(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t){e.next=2;break}return e.abrupt("return","data:,".concat(t.slice(0,5)));case 2:if(!(t instanceof Blob)){e.next=7;break}return n=t.slice(0,5),e.next=6,new Promise(function(e){var t=new FileReader;t.onload=function(t){var n;return e(null==t||null===(n=t.target)||void 0===n?void 0:n.result)},t.readAsDataURL(n)});case 6:return e.abrupt("return",e.sent);case 7:return e.abrupt("return",t instanceof ArrayBuffer?"data:base64,".concat(NP(t.slice(0,5))):null);case 8:case"end":return e.stop()}},e)}))).apply(this,arguments)}function NP(e){for(var t="",n=new Uint8Array(e),i=0;i1&&void 0!==arguments[1]?arguments[1]:"3.0.12";return $P(e,"no worker provided"),!(!t||!e.version)}var ZP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},JP=ZP.global||ZP.self||ZP.window||{},eA="object"!=typeof process||"[object process]"!==String(process)||process.browser,tA="function"==typeof importScripts,nA="undefined"!=typeof window&&void 0!==window.orientation,iA="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),rA=(iA&&parseFloat(iA[1]),new Map);function oA(e){var t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function aA(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,i=n||new Set;if(e)if(sA(e))i.add(e);else if(sA(e.buffer))i.add(e.buffer);else if(!ArrayBuffer.isView(e)&&t&&"object"==typeof e)for(var r in e)aA(e[r],t,i);return void 0===n?Array.from(i):[]}function sA(e){return!!e&&(e instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&e instanceof MessagePort||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas)}var uA=function(){},cA=function(){function e(t){m(this,e),FP(this,"name",void 0),FP(this,"source",void 0),FP(this,"url",void 0),FP(this,"terminated",!1),FP(this,"worker",void 0),FP(this,"onMessage",void 0),FP(this,"onError",void 0),FP(this,"_loadableURL","");var n=t.name,i=t.source,r=t.url;$P(i||r),this.name=n,this.source=i,this.url=r,this.onMessage=uA,this.onError=function(e){return console.log(e)},this.worker=this._createBrowserWorker()}return b(e,[{key:"destroy",value:function(){this.onMessage=uA,this.onError=uA,this.worker.terminate(),this.terminated=!0}},{key:"isRunning",get:function(){return Boolean(this.onMessage)}},{key:"postMessage",value:function(e,t){t=t||aA(e),this.worker.postMessage(e,t)}},{key:"_getErrorFromErrorEvent",value:function(e){var t="Failed to load ";return t+="worker ".concat(this.name,". "),e.message&&(t+="".concat(e.message," in ")),e.lineno&&(t+=":".concat(e.lineno,":").concat(e.colno)),new Error(t)}},{key:"_createBrowserWorker",value:function(){var e=this;this._loadableURL=function(e){$P(e.source&&!e.url||!e.source&&e.url);var t=rA.get(e.source||e.url);return t||(e.url&&(t=function(e){return e.startsWith("http")?oA(function(e){return"try {\n importScripts('".concat(e,"');\n} catch (error) {\n console.error(error);\n throw error;\n}")}(e)):e}(e.url),rA.set(e.url,t)),e.source&&(t=oA(e.source),rA.set(e.source,t))),$P(t),t}({source:this.source,url:this.url});var t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=function(t){t.data?e.onMessage(t.data):e.onError(new Error("No data received"))},t.onerror=function(t){e.onError(e._getErrorFromErrorEvent(t)),e.terminated=!0},t.onmessageerror=function(e){return console.error(e)},t}}],[{key:"isSupported",value:function(){return"undefined"!=typeof Worker}}]),e}(),lA=function(){function e(t,n){var i=this;m(this,e),FP(this,"name",void 0),FP(this,"workerThread",void 0),FP(this,"isRunning",void 0),FP(this,"result",void 0),FP(this,"_resolve",void 0),FP(this,"_reject",void 0),this.name=t,this.workerThread=n,this.isRunning=!0,this._resolve=function(){},this._reject=function(){},this.result=new Promise(function(e,t){i._resolve=e,i._reject=t})}return b(e,[{key:"postMessage",value:function(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}},{key:"done",value:function(e){$P(this.isRunning),this.isRunning=!1,this._resolve(e)}},{key:"error",value:function(e){$P(this.isRunning),this.isRunning=!1,this._reject(e)}}]),e}(),hA=function(){function e(t){m(this,e),FP(this,"name","unnamed"),FP(this,"source",void 0),FP(this,"url",void 0),FP(this,"maxConcurrency",1),FP(this,"maxMobileConcurrency",1),FP(this,"onDebug",function(){}),FP(this,"reuseWorkers",!0),FP(this,"props",{}),FP(this,"jobQueue",[]),FP(this,"idleQueue",[]),FP(this,"count",0),FP(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}return b(e,[{key:"destroy",value:function(){this.idleQueue.forEach(function(e){return e.destroy()}),this.isDestroyed=!0}},{key:"setProps",value:function(e){this.props=M(M({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}},{key:"startJob",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e,t,n){return e.done(n)},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(e,t){return e.error(t)},i=this;return Vx(regeneratorRuntime.mark(function r(){var o;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return o=new Promise(function(r){return i.jobQueue.push({name:e,onMessage:t,onError:n,onStart:r}),i}),i._startQueuedJob(),r.next=4,o;case 4:return r.abrupt("return",r.sent);case 5:case"end":return r.stop()}},r)}))()}},{key:"_startQueuedJob",value:function(){var e=this;return Vx(regeneratorRuntime.mark(function t(){var n,i,r;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(e.jobQueue.length){t.next=2;break}return t.abrupt("return");case 2:if(n=e._getAvailableWorker()){t.next=5;break}return t.abrupt("return");case 5:if(!(i=e.jobQueue.shift())){t.next=16;break}return e.onDebug({message:"Starting job",name:i.name,workerThread:n,backlog:e.jobQueue.length}),r=new lA(i.name,n),n.onMessage=function(e){return i.onMessage(r,e.type,e.payload)},n.onError=function(e){return i.onError(r,e)},i.onStart(r),t.prev=10,t.next=13,r.result;case 13:return t.prev=13,e.returnWorkerToQueue(n),t.finish(13);case 16:case"end":return t.stop()}},t,null,[[10,,13,16]])}))()}},{key:"returnWorkerToQueue",value:function(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}},{key:"_getAvailableWorker",value:function(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count0&&void 0!==arguments[0]?arguments[0]:{};return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(t),e._workerFarm}}]),e}();function pA(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n="".concat(e.id,"-worker.js"),i=(t[e.id]||{}).workerUrl;if("test"===t._workerType&&(i="modules/".concat(e.module,"/dist/").concat(n)),!i){var r=e.version;"latest"===r&&(r="latest"),i="https://unpkg.com/@loaders.gl/".concat(e.module).concat(r?"@".concat(r):"","/dist/").concat(n)}return $P(i),i}function vA(e,t){return!!fA.isSupported()&&e.worker&&(null==t?void 0:t.worker)}function gA(e,t,n,i,r){return mA.apply(this,arguments)}function mA(){return(mA=Vx(regeneratorRuntime.mark(function e(t,n,i,r,o){var a,s,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.id,s=pA(t,i),u=fA.getWorkerFarm(i).getWorkerPool({name:a,url:s}),i=JSON.parse(JSON.stringify(i)),e.next=4,u.startJob("process-on-worker",yA.bind(null,o));case 4:return(c=e.sent).postMessage("process",{input:n,options:i}),e.next=8,c.result;case 8:return e.next=10,e.sent.result;case 10:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}},e)}))).apply(this,arguments)}function yA(e,t,n,i){return bA.apply(this,arguments)}function bA(){return(bA=Vx(regeneratorRuntime.mark(function e(t,n,i,r){var o,a,s,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=i,e.next="done"===e.t0?3:"error"===e.t0?5:"process"===e.t0?7:20;break;case 3:return n.done(r),e.abrupt("break",21);case 5:return n.error(r.error),e.abrupt("break",21);case 7:return o=r.id,a=r.input,s=r.options,e.prev=8,e.next=11,t(a,s);case 11:u=e.sent,n.postMessage("done",{id:o,result:u}),e.next=19;break;case 15:e.prev=15,e.t1=e.catch(8),c=e.t1 instanceof Error?e.t1.message:"unknown error",n.postMessage("error",{id:o,error:c});case 19:return e.abrupt("break",21);case 20:console.warn("parse-with-worker unknown message ".concat(i));case 21:case"end":return e.stop()}},e,null,[[8,15]])}))).apply(this,arguments)}FP(fA,"_workerFarm",void 0);var _A=r(9521);function wA(e){if(function(e){return e&&"object"==typeof e&&e.isBuffer}(e)&&(e=function(e){return _A.toArrayBuffer?_A.toArrayBuffer(e):e}(e)),e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return 0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if("string"==typeof e){var t=e;return(new TextEncoder).encode(t).buffer}if(e&&"object"==typeof e&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function kA(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==c[1]?c[1]:{},i=n.chunkSize,r=void 0===i?EA:i,o=0;case 3:if(!(o2&&void 0!==arguments[2]?arguments[2]:null;if(n)return n;var i=M({fetch:qP(t,e)},e);return Array.isArray(i.loaders)||(i.loaders=null),i}function zA(e,t){if(!t&&e&&!Array.isArray(e))return e;var n;if(e&&(n=Array.isArray(e)?e:[e]),t&&t.loaders){var i=Array.isArray(t.loaders)?t.loaders:[t.loaders];n=n?[].concat(v(n),v(i)):i}return n&&n.length?n:null}var UA=function(){var e=HP();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function HA(e){var t,n=UA(),i=_(e=Array.isArray(e)?e:[e]);try{var r=function(){var e=dP(t.value);n.find(function(t){return e===t})||n.unshift(e)};for(i.s();!(t=i.n()).done;)r()}catch(o){i.e(o)}finally{i.f()}}var GA=/\.([^.]+)$/;function WA(e){return qA.apply(this,arguments)}function qA(){return(qA=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=a.length>1&&void 0!==a[1]?a[1]:[],i=a.length>2?a[2]:void 0,r=a.length>3?a[3]:void 0,YA(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(!(o=XA(t,n,I(M({},i),{nothrow:!0}),r))){e.next=8;break}return e.abrupt("return",o);case 8:if(e.t0=uP(t),!e.t0){e.next=18;break}return e.t1=XA,e.next=13,t.slice(0,10).arrayBuffer();case 13:e.t2=t=e.sent,e.t3=n,e.t4=i,e.t5=r,o=(0,e.t1)(e.t2,e.t3,e.t4,e.t5);case 18:if(o||null!=i&&i.nothrow){e.next=20;break}throw new Error(KA(t));case 20:return e.abrupt("return",o);case 21:case"end":return e.stop()}},e)}))).apply(this,arguments)}function XA(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;if(!YA(e))return null;if(n&&!Array.isArray(n))return dP(n);var o=[];n&&(o=o.concat(n)),null!=i&&i.ignoreRegisteredLoaders||(t=o).push.apply(t,v(UA())),function(e){var t,n=_(e);try{for(n.s();!(t=n.n()).done;){dP(t.value)}}catch(i){n.e(i)}finally{n.f()}}(o);var a=function(e,t,n,i){var r=SP(e),o=r.url,a=r.type,s=o||(null==i?void 0:i.url),u=null;return null!=n&&n.mimeType&&(u=$A(t,null==n?void 0:n.mimeType)),u=(u=(u=(u=u||function(e,t){var n=t&&GA.exec(t),i=n&&n[1];return i?function(e,t){t=t.toLowerCase();var n,i=_(e);try{for(i.s();!(n=i.n()).done;){var r,o=n.value,a=_(o.extensions);try{for(a.s();!(r=a.n()).done;){if(r.value.toLowerCase()===t)return o}}catch(s){a.e(s)}finally{a.f()}}}catch(s){i.e(s)}finally{i.f()}return null}(e,i):null}(t,s))||$A(t,a))||function(e,t){if(!t)return null;var n,i=_(e);try{for(i.s();!(n=i.n()).done;){var r=n.value;if("string"==typeof t){if(QA(t,r))return r}else if(ArrayBuffer.isView(t)){if(ZA(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&ZA(t,0,r))return r}}catch(o){i.e(o)}finally{i.f()}return null}(t,e))||$A(t,null==n?void 0:n.fallbackMimeType)}(e,o,i,r);if(!(a||null!=i&&i.nothrow))throw new Error(KA(e));return a}function YA(e){return!(e instanceof Response&&204===e.status)}function KA(e){var t=SP(e),n=t.url,i=t.type,r="No valid loader found";return e&&(r+=' data: "'.concat(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5;return"string"==typeof e?e.slice(0,t):ArrayBuffer.isView(e)?JA(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?JA(e,0,t):""}(e),'", contentType: "').concat(i,'"')),n&&(r+=" url: ".concat(n)),r}function $A(e,t){var n,i=_(e);try{for(i.s();!(n=i.n()).done;){var r=n.value;if(r.mimeTypes&&r.mimeTypes.includes(t)||t==="application/x.".concat(r.id))return r}}catch(o){i.e(o)}finally{i.f()}return null}function QA(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(function(t){return e.startsWith(t)})}function ZA(e,t,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some(function(i){return function(e,t,n,i){if(i instanceof ArrayBuffer)return function(e,t,n){if(e.byteLength<(n=n||e.byteLength)||t.byteLength0&&void 0!==arguments[0])||arguments[0];this.internalState&&(this.internalState.needsRedraw=e)}},{key:"setNeedsUpdate",value:function(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}},{key:"getNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1};return this._getNeedsRedraw(e)}},{key:"needsUpdate",value:function(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}},{key:"hasUniformTransition",value:function(){return this.internalState.uniformTransitions.active}},{key:"isLoaded",get:function(){return this.internalState&&!this.internalState.isAsyncPropLoading()}},{key:"wrapLongitude",get:function(){return this.props.wrapLongitude}},{key:"isPickable",value:function(){return this.props.pickable&&this.props.visible}},{key:"getModels",value:function(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}},{key:"getAttributeManager",value:function(){return this.internalState&&this.internalState.attributeManager}},{key:"getCurrentLayer",value:function(){return this.internalState&&this.internalState.layer}},{key:"getLoadOptions",value:function(){return this.props.loadOptions}},{key:"project",value:function(e){var n=this.context.viewport,i=t(fT(ST(e,{viewport:n,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),n.pixelProjectionMatrix),3),r=i[0],o=i[1],a=i[2];return 2===e.length?[r,o]:[r,o,a]}},{key:"unproject",value:function(e){return this.context.viewport.unproject(e)}},{key:"projectPosition",value:function(e){return function(e,t){var n=function(e){var t=M({},e),n=e.coordinateSystem,i=e.coordinateOrigin,r=e.fromCoordinateSystem,o=e.fromCoordinateOrigin;return n===rk.DEFAULT&&(n=e.viewport.isGeospatial?rk.LNGLAT:rk.CARTESIAN),void 0===r&&(t.fromCoordinateSystem=n),void 0===o&&(t.fromCoordinateOrigin=i),t.coordinateSystem=n,t}(t),i=n.viewport,r=n.coordinateSystem,o=n.coordinateOrigin,a=n.modelMatrix,s=n.fromCoordinateSystem,u=n.fromCoordinateOrigin,c=zO(i,r,o),l=c.geospatialOrigin,h=c.shaderCoordinateOrigin,d=c.offsetMode,f=ST(e,{viewport:i,modelMatrix:a,coordinateSystem:s,coordinateOrigin:u,offsetMode:d});return d&&function(e,t,n){e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2]}(f,f,i.projectPosition(l||h)),f}(e,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}},{key:"use64bitPositions",value:function(){var e=this.props.coordinateSystem;return e===rk.DEFAULT||e===rk.LNGLAT||e===rk.CARTESIAN}},{key:"onHover",value:function(e,t){return!!this.props.onHover&&this.props.onHover(e,t)}},{key:"onClick",value:function(e,t){return!!this.props.onClick&&this.props.onClick(e,t)}},{key:"nullPickingColor",value:function(){return[0,0,0]}},{key:"encodePickingColor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t[0]=e+1&255,t[1]=e+1>>8&255,t[2]=e+1>>8>>8&255,t}},{key:"decodePickingColor",value:function(e){WS(e instanceof Uint8Array);var n=t(e,3);return n[0]+256*n[1]+65536*n[2]-1}},{key:"initializeState",value:function(){throw new Error("Layer ".concat(this," has not defined initializeState"))}},{key:"getShaders",value:function(e){var t,n=_(this.props.extensions);try{for(n.s();!(t=n.n()).done;){var i=t.value;e=CO(e,i.getShaders.call(this,i))}}catch(r){n.e(r)}finally{n.f()}return e}},{key:"shouldUpdateState",value:function(e){return e.changeFlags.propsOrDataChanged}},{key:"updateState",value:function(e){var t=e.oldProps,n=e.props,i=e.changeFlags,r=this.getAttributeManager();if(i.dataChanged&&r){var o=i.dataChanged;if(Array.isArray(o)){var a,s=_(o);try{for(s.s();!(a=s.n()).done;){var u=a.value;r.invalidateAll(u)}}catch(p){s.e(p)}finally{s.f()}}else r.invalidateAll()}var c=n.highlightedObjectIndex>=0||n.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==c&&r){var l=r.attributes,h=l.pickingColors,d=l.instancePickingColors,f=h||d;f&&(c&&f.constant&&(f.constant=!1,r.invalidate(f.id)),!f.value&&!c&&(f.constant=!0,f.value=[0,0,0]))}}},{key:"finalizeState",value:function(){var e,t=_(this.getModels());try{for(t.s();!(e=t.n()).done;){e.value.delete()}}catch(i){t.e(i)}finally{t.f()}var n=this.getAttributeManager();n&&n.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}},{key:"draw",value:function(e){var t,n=_(this.getModels());try{for(n.s();!(t=n.n()).done;){t.value.draw(e)}}catch(i){n.e(i)}finally{n.f()}}},{key:"getPickingInfo",value:function(e){var t=e.info,n=t.index;return n>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[n]),t}},{key:"activateViewport",value:function(e){var t=this.internalState.viewport;this.internalState.viewport=e,(!t||!uM({oldViewport:t,viewport:e}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}},{key:"invalidateAttribute",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",t=this.getAttributeManager();!t||("all"===e?t.invalidateAll():t.invalidate(e))}},{key:"updateAttributes",value:function(e){var t,n=_(this.getModels());try{for(n.s();!(t=n.n()).done;){var i=t.value;this._setModelAttributes(i,e)}}catch(r){n.e(r)}finally{n.f()}}},{key:"_updateAttributes",value:function(e){var t=this.getAttributeManager();if(t){var n=this.getNumInstances(e),i=this.getStartIndices(e);t.update({data:e.data,numInstances:n,startIndices:i,props:e,transitions:e.transitions,buffers:e.data.attributes,context:this,ignoreUnknownAttributes:!0});var r=t.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(r)}}},{key:"_updateAttributeTransition",value:function(){var e=this.getAttributeManager();e&&e.updateTransition()}},{key:"_updateUniformTransition",value:function(){var e=this.internalState.uniformTransitions;if(e.active){var t=e.update(),n=Object.create(this.props);for(var i in t)Object.defineProperty(n,i,{value:t[i]});return n}return this.props}},{key:"calculateInstancePickingColors",value:function(e,t){var n=t.numInstances;if(!e.constant){var i=Math.floor(cM.length/3);if(this.internalState.usesPickingColorCache=!0,iaM&&ik.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),cM=nS.allocate(cM,n,{size:3,copy:!0,maxCount:Math.max(n,aM)});for(var r=Math.floor(cM.length/3),o=[],a=i;a=0?this.encodePickingColor(o):null),this.setModuleParameters(s)}}},{key:"_getUpdateParams",value:function(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}},{key:"_getNeedsRedraw",value:function(e){if(!this.internalState)return!1;var t=!1;t=t||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!e.clearRedrawFlags;var n=this.getAttributeManager(),i=n&&n.getNeedsRedraw(e);return t=t||i}},{key:"_getAttributeManager",value:function(){return new lO(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}},{key:"_initState",value:function(){WS(!this.internalState&&!this.state),WS(isFinite(this.props.coordinateSystem));var e=this._getAttributeManager();e&&e.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new tP({attributeManager:e,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:function(){return ik.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),e}}),this.internalState.layer=this,this.internalState.uniformTransitions=new pO(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}},{key:"_transferState",value:function(e){hC("layer.matched",this,this===e);var t=e.state,n=e.internalState;this!==e&&(this.internalState=n,this.internalState.layer=this,this.state=t,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}},{key:"_onAsyncPropUpdated",value:function(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}]),i}(eP);return e.layerName="Layer",e.defaultProps=lM,e}(),dM=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"isComposite",get:function(){return!0}},{key:"isLoaded",get:function(){return e(p(i.prototype),"isLoaded",this)&&this.getSubLayers().every(function(e){return e.isLoaded})}},{key:"getSubLayers",value:function(){return this.internalState&&this.internalState.subLayers||[]}},{key:"initializeState",value:function(){}},{key:"setState",value:function(t){e(p(i.prototype),"setState",this).call(this,t),this.setNeedsUpdate()}},{key:"getPickingInfo",value:function(e){var t=e.info,n=t.object;return n&&n.__source&&n.__source.parent&&n.__source.parent.id===this.id&&(t.object=n.__source.object,t.index=n.__source.index),t}},{key:"renderLayers",value:function(){return null}},{key:"filterSubLayer",value:function(e){return!0}},{key:"shouldRenderSubLayer",value:function(e,t){return t&&t.length}},{key:"getSubLayerClass",value:function(e,t){var n=this.props._subLayerProps;return n&&n[e]&&n[e].type||t}},{key:"getSubLayerRow",value:function(e,t,n){return e.__source={parent:this,object:t,index:n},e}},{key:"getSubLayerAccessor",value:function(e){if("function"==typeof e){var t={data:this.props.data,target:[]};return function(n,i){return n&&n.__source?(t.index=n.__source.index,e(n.__source.object,t)):e(n,i)}}return e}},{key:"getSubLayerProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.props,n=t.opacity,i=t.pickable,r=t.visible,o=t.parameters,a=t.getPolygonOffset,s=t.highlightedObjectIndex,u=t.autoHighlight,c=t.highlightColor,l=t.coordinateSystem,h=t.coordinateOrigin,d=t.wrapLongitude,f=t.positionFormat,p=t.modelMatrix,v=t.extensions,g=t.fetch,m=t._subLayerProps,y={opacity:n,pickable:i,visible:r,parameters:o,getPolygonOffset:a,highlightedObjectIndex:s,autoHighlight:u,highlightColor:c,coordinateSystem:l,coordinateOrigin:h,wrapLongitude:d,positionFormat:f,modelMatrix:p,extensions:v,fetch:g},b=m&&m[e.id],w=b&&b.updateTriggers,k=e.id||"sublayer";if(b){var x=this.constructor._propTypes,S=e.type?e.type._propTypes:{};for(var C in b){var E=S[C]||x[C];E&&"accessor"===E.type&&(b[C]=this.getSubLayerAccessor(b[C]))}}Object.assign(y,e,b),y.id="".concat(this.props.id,"-").concat(k),y.updateTriggers=M(M({all:this.props.updateTriggers.all},e.updateTriggers),w);var O,T=_(v);try{for(T.s();!(O=T.n()).done;){var P=O.value,A=P.getSubLayerProps.call(this,P);A&&Object.assign(y,A,{updateTriggers:Object.assign(y.updateTriggers,A.updateTriggers)})}}catch(I){T.e(I)}finally{T.f()}return y}},{key:"_updateAutoHighlight",value:function(e){var t,n=_(this.getSubLayers());try{for(n.s();!(t=n.n()).done;){t.value.updateAutoHighlight(e)}}catch(i){n.e(i)}finally{n.f()}}},{key:"_getAttributeManager",value:function(){return null}},{key:"_renderLayers",value:function(){var e=this.internalState.subLayers,t=!e||this.needsUpdate();t&&(e=$S(e=this.renderLayers(),Boolean),this.internalState.subLayers=e),hC("compositeLayer.renderLayers",this,t,e);var n,i=_(e);try{for(i.s();!(n=i.n()).done;){n.value.parent=this}}catch(r){i.e(r)}finally{i.f()}}}]),i}(hM);return t.layerName="CompositeLayer",t}(),fM=/([0-9]+\.?[0-9]*)(%|px)/;function pM(e){switch(typeof e){case"number":return{position:e,relative:!1};case"string":var t=e.match(fM);if(t&&t.length>=3){var n="%"===t[2],i=parseFloat(t[1]);return{position:n?i/100:i,relative:n}}default:throw new Error("Could not parse position string ".concat(e))}}function vM(e,t){return e.relative?Math.round(e.position*t):e.position}function gM(e,t){if(e===t)return!0;if(!e||!t)return!1;for(var n in e){var i=e[n],r=t[n];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&gM(i,r)))return!1}return!0}var mM=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id,i=void 0===n?null:n,r=t.x,o=void 0===r?0:r,a=t.y,s=void 0===a?0:a,u=t.width,c=void 0===u?"100%":u,l=t.height,h=void 0===l?"100%":l,d=t.projectionMatrix,f=void 0===d?null:d,p=t.fovy,v=void 0===p?50:p,g=t.near,y=void 0===g?.1:g,b=t.far,_=void 0===b?1e3:b,w=t.modelMatrix,k=void 0===w?null:w,x=t.viewportInstance,S=void 0===x?null:x,C=t.type,E=void 0===C?wT:C;WS(!S||S instanceof wT),this.viewportInstance=S,this.id=i||this.constructor.displayName||"view",this.type=E,this.props=I(M({},t),{id:this.id,projectionMatrix:f,fovy:v,near:y,far:_,modelMatrix:k}),this._parseDimensions({x:o,y:s,width:c,height:h}),this.equals=this.equals.bind(this),Object.seal(this)}return b(e,[{key:"equals",value:function(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):gM(this.props,e.props))}},{key:"makeViewport",value:function(e){var t=e.width,n=e.height,i=e.viewState;if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);var r=this.getDimensions({width:t,height:n});return this._getViewport(i,r)}},{key:"getViewStateId",value:function(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}},{key:"filterViewState",value:function(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;var t=M({},e);for(var n in this.props.viewState)"id"!==n&&(t[n]=this.props.viewState[n]);return t}return e}},{key:"getDimensions",value:function(e){var t=e.width,n=e.height;return{x:vM(this._x,t),y:vM(this._y,n),width:vM(this._width,t),height:vM(this._height,n)}}},{key:"_getControllerProps",value:function(e){var t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),M(M({},e),t)):null}},{key:"_getViewport",value:function(e,t){return new(0,this.type)(M(M(M({},e),this.props),t))}},{key:"_parseDimensions",value:function(e){var t=e.x,n=e.y,i=e.width,r=e.height;this._x=pM(t),this._y=pM(n),this._width=pM(i),this._height=pM(r)}}]),e}(),yM=function(){},bM={transitionEasing:function(e){return e},transitionInterruption:1,onTransitionStart:yM,onTransitionInterrupt:yM,onTransitionEnd:yM},_M=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.ControllerState=t,this.props=M(M({},bM),n),this.propsInTransition=null,this.transition=new aO(n.timeline),this.onViewStateChange=n.onViewStateChange||yM,this.onStateChange=n.onStateChange||yM,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}return b(e,[{key:"finalize",value:function(){this.transition.cancel()}},{key:"getViewportInTransition",value:function(){return this.propsInTransition}},{key:"processViewStateChange",value:function(e){var t=!1,n=this.props;if(e=M(M({},bM),e),this.props=e,this._shouldIgnoreViewportChange(n,e))return t;if(this._isTransitionEnabled(e)){var i=this.transition.settings,r=i.interruption,o=i.endProps,a=M(M({},n),2===r?o:this.propsInTransition||n);this._triggerTransition(a,e),t=!0}else this.transition.cancel();return t}},{key:"updateTransition",value:function(){this.transition.update()}},{key:"_isTransitionEnabled",value:function(e){var t=e.transitionDuration,n=e.transitionInterpolator;return(t>0||"auto"===t)&&Boolean(n)}},{key:"_isUpdateDueToCurrentTransition",value:function(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}},{key:"_shouldIgnoreViewportChange",value:function(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}},{key:"_triggerTransition",value:function(e,t){var n=new this.ControllerState(e),i=new this.ControllerState(t).shortestPathFrom(n),r=t.transitionInterpolator,o=r.getDuration?r.getDuration(e,t):t.transitionDuration;if(0!==o){var a=t.transitionInterpolator.initializeProps(e,i);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}}},{key:"_onTransitionEnd",value:function(e){var t=this;return function(n){t.propsInTransition=null,t.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(n)}}},{key:"_onTransitionUpdate",value:function(e){var t=e.time,n=e.settings,i=n.interpolator,r=n.startProps,o=n.endProps,a=n.duration,s=(0,n.easing)(t/a),u=i.interpolateProps(r,o,s);this.propsInTransition=new this.ControllerState(M(M({},this.props),u)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}]),e}(),wM=["longitude","latitude","zoom","bearing","pitch"],kM=["longitude","latitude","zoom"],xM=function(t){a(i,t);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return m(this,i),(e=n.call(this,(Array.isArray(t)?t:t.transitionProps)||{compare:wM,extract:wM,required:kM})).opts=t,e}return b(i,[{key:"initializeProps",value:function(t,n){var r=e(p(i.prototype),"initializeProps",this).call(this,t,n),o=this.opts,a=o.makeViewport,s=o.around;if(a&&s){var u=a(t),c=a(n),l=u.unproject(s);r.start.around=s,Object.assign(r.end,{around:c.project(l),aroundPosition:l,width:n.width,height:n.height})}return r}},{key:"interpolateProps",value:function(e,t,n){var i,r={},o=_(this._propsToExtract);try{for(o.s();!(i=o.n()).done;){var a=i.value;r[a]=dS(e[a]||0,t[a]||0,n)}}catch(u){o.e(u)}finally{o.f()}if(t.aroundPosition){var s=this.opts.makeViewport(M(M({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,dS(e.around,t.around,n)))}return r}}]),i}(function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),Array.isArray(t)&&(t={compare:t,extract:t,required:t});var n=t,i=n.compare,r=n.extract,o=n.required;this._propsToCompare=i,this._propsToExtract=r,this._requiredProps=o}return b(e,[{key:"arePropsEqual",value:function(e,t){var n,i=_(this._propsToCompare||Object.keys(t));try{for(i.s();!(n=i.n()).done;){var r=n.value;if(!(r in e)||!(r in t)||!fS(e[r],t[r]))return!1}}catch(o){i.e(o)}finally{i.f()}return!0}},{key:"initializeProps",value:function(e,t){var n;if(this._propsToExtract){var i,r={},o={},a=_(this._propsToExtract);try{for(a.s();!(i=a.n()).done;){var s=i.value;r[s]=e[s],o[s]=t[s]}}catch(u){a.e(u)}finally{a.f()}n={start:r,end:o}}else n={start:e,end:t};return this._checkRequiredProps(n.start),this._checkRequiredProps(n.end),n}},{key:"interpolateProps",value:function(e,t,n){return t}},{key:"getDuration",value:function(e,t){return t.transitionDuration}},{key:"_checkRequiredProps",value:function(e){!this._requiredProps||this._requiredProps.forEach(function(t){var n=e[t];WS(Number.isFinite(n)||Array.isArray(n),"".concat(t," is required for transition"))})}}]),e}()),SM={transitionDuration:0},CM={transitionDuration:300,transitionEasing:function(e){return e},transitionInterruption:1},EM=function(e){return 1-(1-e)*(1-e)},OM=["wheel"],TM=["panstart","panmove","panend"],PM=["pinchstart","pinchmove","pinchend"],AM=["tripanstart","tripanmove","tripanend"],MM=["doubletap"],IM=["keydown"],RM=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.ControllerState=t,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new _M(t,I(M({},n),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));var i=this.linearTransitionProps;this._transition=i&&I(M({},CM),{transitionInterpolator:new xM({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(n)}return b(e,[{key:"linearTransitionProps",get:function(){return null}},{key:"events",set:function(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}},{key:"finalize",value:function(){for(var e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}},{key:"handleEvent",value:function(e){var t=this.ControllerState;this.controllerState=new t(M(M({makeViewport:this.makeViewport},this.controllerStateProps),this._state));var n=this._eventStartBlocked;switch(e.type){case"panstart":return!n&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!n&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!n&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}},{key:"getCenter",value:function(e){var t=this.controllerStateProps,n=t.x,i=t.y,r=e.offsetCenter;return[r.x-n,r.y-i]}},{key:"isPointInBounds",value:function(e,t){var n=this.controllerStateProps,i=n.width,r=n.height;if(t&&t.handled)return!1;var o=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return o&&t&&t.stopPropagation(),o}},{key:"isFunctionKeyPressed",value:function(e){var t=e.srcEvent;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}},{key:"isDragging",value:function(){return this._interactionState.isDragging}},{key:"blockEvents",value:function(e){var t=this,n=setTimeout(function(){t._eventStartBlocked===n&&(t._eventStartBlocked=null)},e);this._eventStartBlocked=n}},{key:"setProps",value:function(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);var t=e.inertia;!0===t&&(t=300),this.inertia=t;var n=e.scrollZoom,i=void 0===n||n,r=e.dragPan,o=void 0===r||r,a=e.dragRotate,s=void 0===a||a,u=e.doubleClickZoom,c=void 0===u||u,l=e.touchZoom,h=void 0===l||l,d=e.touchRotate,f=void 0!==d&&d,p=e.keyboard,v=void 0===p||p,g=Boolean(this.onViewStateChange);this.toggleEvents(OM,g&&i),this.toggleEvents(TM,g&&(o||s)),this.toggleEvents(PM,g&&(h||f)),this.toggleEvents(AM,g&&f),this.toggleEvents(MM,g&&c),this.toggleEvents(IM,g&&v),this.scrollZoom=i,this.dragPan=o,this.dragRotate=s,this.doubleClickZoom=c,this.touchZoom=h,this.touchRotate=f,this.keyboard=v}},{key:"updateTransition",value:function(){this.transitionManager.updateTransition()}},{key:"toggleEvents",value:function(e,t){var n=this;this.eventManager&&e.forEach(function(e){n._events[e]!==t&&(n._events[e]=t,t?n.eventManager.on(e,n.handleEvent):n.eventManager.off(e,n.handleEvent))})}},{key:"updateViewport",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=M(M({},e.getViewportProps()),t),r=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(n),r){var o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:i,interactionState:this._interactionState,oldViewState:o})}}},{key:"_onTransition",value:function(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}},{key:"_setInteractionState",value:function(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}},{key:"_onPanStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(n=!n);var i=this.controllerState[n?"panStart":"rotateStart"]({pos:t});return this._panMove=n,this.updateViewport(i,SM,{isDragging:!0}),!0}},{key:"_onPan",value:function(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}},{key:"_onPanEnd",value:function(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}},{key:"_onPanMove",value:function(e){if(!this.dragPan)return!1;var t=this.getCenter(e),n=this.controllerState.pan({pos:t});return this.updateViewport(n,SM,{isDragging:!0,isPanning:!0}),!0}},{key:"_onPanMoveEnd",value:function(e){var t=this.inertia;if(this.dragPan&&t&&e.velocity){var n=this.getCenter(e),i=this.controllerState.pan({pos:[n[0]+e.velocityX*t/2,n[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(i,I(M({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:EM}),{isDragging:!1,isPanning:!0})}else{var r=this.controllerState.panEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1})}return!0}},{key:"_onPanRotate",value:function(e){if(!this.dragRotate)return!1;var t=this.getCenter(e),n=this.controllerState.rotate({pos:t});return this.updateViewport(n,SM,{isDragging:!0,isRotating:!0}),!0}},{key:"_onPanRotateEnd",value:function(e){var t=this.inertia;if(this.dragRotate&&t&&e.velocity){var n=this.getCenter(e),i=this.controllerState.rotate({pos:[n[0]+e.velocityX*t/2,n[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(i,I(M({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:EM}),{isDragging:!1,isRotating:!0})}else{var r=this.controllerState.rotateEnd();this.updateViewport(r,null,{isDragging:!1,isRotating:!1})}return!0}},{key:"_onWheel",value:function(e){if(!this.scrollZoom)return!1;e.preventDefault();var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.scrollZoom,i=n.speed,r=void 0===i?.01:i,o=n.smooth,a=void 0!==o&&o,s=e.delta,u=2/(1+Math.exp(-Math.abs(s*r)));s<0&&0!==u&&(u=1/u);var c=this.controllerState.zoom({pos:t,scale:u});return this.updateViewport(c,I(M({},this._getTransitionProps({around:t})),{transitionDuration:a?250:1}),{isZooming:!0,isPanning:!0}),!0}},{key:"_onTriplePanStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.controllerState.rotateStart({pos:t});return this.updateViewport(n,SM,{isDragging:!0}),!0}},{key:"_onTriplePan",value:function(e){if(!this.touchRotate||!this.isDragging())return!1;var t=this.getCenter(e);t[0]-=e.deltaX;var n=this.controllerState.rotate({pos:t});return this.updateViewport(n,SM,{isDragging:!0,isRotating:!0}),!0}},{key:"_onTriplePanEnd",value:function(e){if(!this.isDragging())return!1;var t=this.inertia;if(this.touchRotate&&t&&e.velocityY){var n=this.getCenter(e),i=[n[0],n[1]+=e.velocityY*t/2],r=this.controllerState.rotate({pos:i});this.updateViewport(r,I(M({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:EM}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{var o=this.controllerState.rotateEnd();this.updateViewport(o,null,{isDragging:!1,isRotating:!1})}return!0}},{key:"_onPinchStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(n,SM,{isDragging:!0}),!0}},{key:"_onPinch",value:function(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;var t=this.controllerState;if(this.touchZoom){var n=e.scale,i=this.getCenter(e);t=t.zoom({pos:i,scale:n})}if(this.touchRotate){var r=e.rotation;t=t.rotate({deltaAngleX:this._startPinchRotation-r})}return this.updateViewport(t,SM,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}},{key:"_onPinchEnd",value:function(e){if(!this.isDragging())return!1;var t=this.inertia,n=this._lastPinchEvent;if(this.touchZoom&&t&&n&&e.scale!==n.scale){var i=this.getCenter(e),r=this.controllerState.rotateEnd(),o=Math.log2(e.scale),a=(o-Math.log2(n.scale))/(e.deltaTime-n.deltaTime),s=Math.pow(2,o+a*t/2);r=r.zoom({pos:i,scale:s}).zoomEnd(),this.updateViewport(r,I(M({},this._getTransitionProps({around:i})),{transitionDuration:t,transitionEasing:EM}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{var u=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(u,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}},{key:"_onDoubleTap",value:function(e){if(!this.doubleClickZoom)return!1;var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.isFunctionKeyPressed(e),i=this.controllerState.zoom({pos:t,scale:n?.5:2});return this.updateViewport(i,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}},{key:"_onKeyDown",value:function(e){if(!this.keyboard)return!1;var t,n=this.isFunctionKeyPressed(e),i=this.keyboard,r=i.zoomSpeed,o=i.moveSpeed,a=i.rotateSpeedX,s=i.rotateSpeedY,u=this.controllerState,c={};switch(e.srcEvent.code){case"Minus":t=n?u.zoomOut(r).zoomOut(r):u.zoomOut(r),c.isZooming=!0;break;case"Equal":t=n?u.zoomIn(r).zoomIn(r):u.zoomIn(r),c.isZooming=!0;break;case"ArrowLeft":n?(t=u.rotateLeft(a),c.isRotating=!0):(t=u.moveLeft(o),c.isPanning=!0);break;case"ArrowRight":n?(t=u.rotateRight(a),c.isRotating=!0):(t=u.moveRight(o),c.isPanning=!0);break;case"ArrowUp":n?(t=u.rotateUp(s),c.isRotating=!0):(t=u.moveUp(o),c.isPanning=!0);break;case"ArrowDown":n?(t=u.rotateDown(s),c.isRotating=!0):(t=u.moveDown(o),c.isPanning=!0);break;default:return!1}return this.updateViewport(t,this._getTransitionProps(),c),!0}},{key:"_getTransitionProps",value:function(e){var t=this._transition;return t?e?I(M({},t),{transitionInterpolator:new xM(I(M({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:SM}}]),e}(),DM=function(){function e(t){m(this,e),this._viewportProps=this._applyConstraints(t)}return b(e,[{key:"getViewportProps",value:function(){return this._viewportProps}},{key:"getState",value:function(){return this._state}},{key:"shortestPathFrom",value:function(e){return this._viewportProps}},{key:"_applyConstraints",value:function(e){return e}}]),e}(),NM=[0,0,0],LM=function(e){a(n,e);var t=s(n);function n(e){var i,r=e.makeViewport,o=e.width,a=e.height,s=e.rotationX,u=void 0===s?0:s,c=e.rotationOrbit,l=void 0===c?0:c,h=e.target,d=void 0===h?NM:h,f=e.zoom,p=void 0===f?0:f,v=e.minRotationX,g=void 0===v?-90:v,y=e.maxRotationX,b=void 0===y?90:y,_=e.minZoom,w=void 0===_?-1/0:_,k=e.maxZoom,x=void 0===k?1/0:k,S=e.startPanPosition,C=e.startRotatePos,E=e.startRotationX,O=e.startRotationOrbit,T=e.startZoomPosition,P=e.startZoom;return m(this,n),(i=t.call(this,{width:o,height:a,rotationX:u,rotationOrbit:l,target:d,zoom:p,minRotationX:g,maxRotationX:b,minZoom:w,maxZoom:x}))._state={startPanPosition:S,startRotatePos:C,startRotationX:E,startRotationOrbit:O,startZoomPosition:T,startZoom:P},i.makeViewport=r,i}return b(n,[{key:"panStart",value:function(e){var t=e.pos;return this._getUpdatedState({startPanPosition:this._unproject(t)})}},{key:"pan",value:function(e){var t=e.pos,n=e.startPosition,i=this._state.startPanPosition||n;if(!i)return this;var r=this.makeViewport(this._viewportProps).panByPosition(i,t);return this._getUpdatedState(r)}},{key:"panEnd",value:function(){return this._getUpdatedState({startPanPosition:null})}},{key:"rotateStart",value:function(e){var t=e.pos;return this._getUpdatedState({startRotatePos:t,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}},{key:"rotate",value:function(e){var t,n=e.pos,i=e.deltaAngleX,r=void 0===i?0:i,o=e.deltaAngleY,a=void 0===o?0:o,s=this._state,u=s.startRotatePos,c=s.startRotationX,l=s.startRotationOrbit,h=this._viewportProps,d=h.width,f=h.height;if(!u||!Number.isFinite(c)||!Number.isFinite(l))return this;if(n){var p=(n[0]-u[0])/d;(c<-90||c>90)&&(p*=-1),t={rotationX:c+(n[1]-u[1])/f*180,rotationOrbit:l+180*p}}else t={rotationX:c+a,rotationOrbit:l+r};return this._getUpdatedState(t)}},{key:"rotateEnd",value:function(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),n=M({},this._viewportProps),i=n.rotationOrbit;return Math.abs(i-t.rotationOrbit)>180&&(n.rotationOrbit=i<0?i+360:i-360),n}},{key:"zoomStart",value:function(e){var t=e.pos;return this._getUpdatedState({startZoomPosition:this._unproject(t),startZoom:this._viewportProps.zoom})}},{key:"zoom",value:function(e){var t=e.pos,n=e.startPos,i=e.scale,r=this._viewportProps.zoom,o=this._state,a=o.startZoom,s=o.startZoomPosition;Number.isFinite(a)||(a=r,s=this._unproject(n)||this._unproject(t));var u=this._calculateNewZoom({scale:i,startZoom:a}),c=this.makeViewport(I(M({},this._viewportProps),{zoom:u}));return this._getUpdatedState(M({zoom:u},c.panByPosition(s,t)))}},{key:"zoomEnd",value:function(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}},{key:"zoomIn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([-e,0])}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([e,0])}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([0,-e])}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([0,e])}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}},{key:"_unproject",value:function(e){var t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}},{key:"_calculateNewZoom",value:function(e){var t=e.scale,n=e.startZoom,i=this._viewportProps,r=i.maxZoom,o=i.minZoom;return Number.isFinite(n)||(n=this._viewportProps.zoom),hS(n+Math.log2(t),o,r)}},{key:"_panFromCenter",value:function(e){var t=this._viewportProps,n=t.width,i=t.height,r=t.target;return this.pan({startPosition:r,pos:[n/2+e[0],i/2+e[1]]})}},{key:"_getUpdatedState",value:function(e){return new n(M(M(M({},this._viewportProps),this._state),e))}},{key:"_applyConstraints",value:function(e){var t=e.maxZoom,n=e.minZoom,i=e.zoom,r=e.maxRotationX,o=e.minRotationX,a=e.rotationOrbit;return e.zoom=hS(i,n,t),e.rotationX=hS(e.rotationX,o,r),(a<-180||a>180)&&(e.rotationOrbit=function(e,t){var n=e%360;return n<0?360+n:n}(a+180)-180),e}}]),n}(DM),jM=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,LM,e)}return b(n,[{key:"linearTransitionProps",get:function(){return["target","zoom","rotationX","rotationOrbit"]}}]),n}(RM),FM=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),e.dragMode=e.dragMode||"pan",t.call(this,LM,e)}return b(n,[{key:"_onPanRotate",value:function(e){return!1}},{key:"linearTransitionProps",get:function(){return["target","zoom"]}}]),n}(RM),BM=(new $O).lookAt({eye:[0,0,1]});function VM(e){var t=e.width,n=e.height,i=e.near,r=e.far;return t=t||1,n=n||1,(new $O).ortho({left:-t/2,right:t/2,bottom:-n/2,top:n/2,near:i,far:r})}var zM=function(e){a(n,e);var t=s(n);function n(e){m(this,n);var i=e.width,r=e.height,o=e.near,a=void 0===o?.1:o,s=e.far,u=void 0===s?1e3:s,c=e.zoom,l=void 0===c?0:c,h=e.target,d=void 0===h?[0,0,0]:h,f=e.flipY,p=void 0===f||f,v=Math.pow(2,l);return t.call(this,I(M({},e),{longitude:null,position:d,viewMatrix:BM.clone().scale([v,v*(p?-1:1),v]),projectionMatrix:VM({width:i,height:r,near:a,far:u}),zoom:l}))}return b(n,[{key:"panByPosition",value:function(e,t){var n=HO([],e,GO([],pT(t,this.pixelUnprojectionMatrix)));return{target:HO([],this.center,n)}}}]),n}(wT),UM=function(){var e=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,I(M({},e),{type:zM}))}return b(n,[{key:"controller",get:function(){return this._getControllerProps({type:FM})}}]),n}(mM);return e.displayName="OrthographicView",e}(),HM=Math.PI/180;function GM(e){var t=e.height,n=e.fovy,i=e.orbitAxis,r=e.rotationX,o=e.rotationOrbit,a=e.zoom,s=.5/Math.tan(n*HM/2),u="Z"===i?[0,0,1]:[0,1,0],c="Z"===i?[0,-s,0]:[0,0,s],l=(new $O).lookAt({eye:c,up:u});l.rotateX(r*HM),"Z"===i?l.rotateZ(o*HM):l.rotateY(o*HM);var h=Math.pow(2,a)/(t||1);return l.scale(h),l}var WM=function(e){a(i,e);var n=s(i);function i(e){var t;m(this,i);var r=e.height,o=e.fovy,a=e.orbitAxis,s=e.target,u=void 0===s?[0,0,0]:s,c=e.rotationX,l=void 0===c?0:c,h=e.rotationOrbit,d=void 0===h?0:h,f=e.zoom,p=void 0===f?0:f;return(t=n.call(this,I(M({},e),{longitude:null,viewMatrix:GM({height:r,fovy:o,orbitAxis:a,rotationX:l,rotationOrbit:d,zoom:p}),fovy:o,position:u,zoom:p}))).projectedCenter=t.project(t.center),t}return b(i,[{key:"unproject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.topLeft,r=void 0===i||i,o=t(e,3),a=o[0],s=o[1],u=o[2],c=void 0===u?this.projectedCenter[2]:u,l=r?s:this.height-s,h=pT([a,l,c],this.pixelUnprojectionMatrix),d=t(h,3),f=d[0],p=d[1],v=d[2];return[f,p,v]}},{key:"panByPosition",value:function(e,t){var n=this.project(e);return{target:this.unproject([this.width/2+n[0]-t[0],this.height/2+n[1]-t[1],this.projectedCenter[2]])}}}]),i}(wT),qM=function(){var e=function(e){a(n,e);var t=s(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.orbitAxis,r=void 0===i?"Z":i;return t.call(this,I(M({},e),{orbitAxis:r,type:WM}))}return b(n,[{key:"controller",get:function(){return this._getControllerProps({type:jM})}}]),n}(mM);return e.displayName="OrbitView",e}(),XM=[255,255,255],YM=0,KM=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.color,i=void 0===n?XM:n,r=t.intensity,o=void 0===r?1:r;this.id=t.id||"ambient-".concat(YM++),this.color=i,this.intensity=o,this.type="ambient"},$M=[255,255,255],QM=[0,0,-1],ZM=0,JM=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.color,i=void 0===n?$M:n,r=t.intensity,o=void 0===r?1:r,a=t.direction,s=void 0===a?QM:a,u=t._shadow,c=void 0!==u&&u;this.id=t.id||"directional-".concat(ZM++),this.color=i,this.intensity=o,this.type="directional",this.direction=new FS(s).normalize().toArray(),this.shadow=c}return b(e,[{key:"getProjectedLight",value:function(){return this}}]),e}(),eI=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id,i=void 0===n?"effect":n;this.id=i,this.props=M({},t)}return b(e,[{key:"preRender",value:function(){}},{key:"getModuleParameters",value:function(){}},{key:"cleanup",value:function(){}}]),e}(),tI=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"render",value:function(e){return Uk(this.gl,{framebuffer:e.target}),this._drawLayers(e)}},{key:"_drawLayers",value:function(e){var t=e.viewports,n=e.views,i=e.onViewportActive,r=e.clearCanvas,o=void 0===r||r;e.pass=e.pass||"unknown";var a=this.gl;o&&function(e){Uk(e,{viewport:[0,0,e.drawingBufferWidth,e.drawingBufferHeight]}),e.clear(16640)}(a);var s,u=[],c=_(t);try{for(c.s();!(s=c.n()).done;){var l=s.value,h=l.viewport||l,d=n&&n[h.id];i(h);var f=this._getDrawLayerParams(h,e);e.view=d;var p,v=_(h.subViewports||[h]);try{for(v.s();!(p=v.n()).done;){var g=p.value;e.viewport=g;var m=this._drawLayersInViewport(a,e,f);u.push(m)}}catch(y){v.e(y)}finally{v.f()}}}catch(y){c.e(y)}finally{c.f()}return u}},{key:"_getDrawLayerParams",value:function(e,t){for(var n=t.layers,i=t.pass,r=t.layerFilter,o=t.effects,a=t.moduleParameters,s=[],u=nI(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i},l=0;l1&&void 0!==arguments[1]?arguments[1]:{};m(this,e);var i=n.id,r=void 0===i?"pass":i;this.id=r,this.gl=t,this.props=M({},n)}return b(e,[{key:"setProps",value:function(e){Object.assign(this.props,e)}},{key:"render",value:function(){}},{key:"cleanup",value:function(){}}]),e}());function nI(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={},i=function i(r,o){var a,s=r.props._offset,u=r.id,c=r.parent&&r.parent.id;if(c&&!(c in t)&&i(r.parent,!1),c in n){var l=n[c]=n[c]||nI(t[c],t);a=l(r,o),n[u]=l}else Number.isFinite(s)?(a=s+(t[c]||0),n[u]=null):a=e;return o&&a>=e&&(e=a+1),t[u]=a,a};return i}var iI=function(t){a(i,t);var n=s(i);function i(e,t){var r;return m(this,i),(r=n.call(this,e,t)).shadowMap=new Rx(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),r.depthBuffer=new Lx(e,{format:33189,width:1,height:1}),r.fbo=new $x(e,{id:"shadowmap",width:1,height:1,attachments:{36064:r.shadowMap,36096:r.depthBuffer}}),r}return b(i,[{key:"render",value:function(t){var n=this,r=this.fbo;Hk(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},function(){var o=t.viewports[0],a=Wk(n.gl),s=o.width*a,u=o.height*a;(s!==r.width||u!==r.height)&&r.resize({width:s,height:u}),e(p(i.prototype),"render",n).call(n,I(M({},t),{target:r,pass:"shadow"}))})}},{key:"shouldDrawLayer",value:function(e){return!1!==e.props.shadowEnabled}},{key:"getModuleParameters",value:function(){return{drawToShadowMap:!0}}},{key:"delete",value:function(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}]),i}(tI),rI=Object.keys(rk).map(function(e){return"const int COORDINATE_SYSTEM_".concat(e," = ").concat(rk[e],";")}).join(""),oI=Object.keys(ok).map(function(e){return"const int PROJECTION_MODE_".concat(e," = ").concat(ok[e],";")}).join(""),aI="".concat(rI,"\n").concat(oI,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),sI={},uI={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:aI,getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:sI;return e.viewport?function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.viewport,n=e.devicePixelRatio,i=void 0===n?1:n,r=e.modelMatrix,o=void 0===r?null:r,a=e.coordinateSystem,s=void 0===a?rk.DEFAULT:a,u=e.coordinateOrigin,c=e.autoWrapLongitude,l=void 0!==c&&c;s===rk.DEFAULT&&(s=t.isGeospatial?rk.LNGLAT:rk.CARTESIAN);var h=VO({viewport:t,devicePixelRatio:i,coordinateSystem:s,coordinateOrigin:u});return h.project_uWrapLongitude=l,h.project_uModelMatrix=o||jO,h}(e):{}}},cI=SO(function(e){var t=e.viewport,n=e.center;return new $O(t.viewProjectionMatrix).invert().transform(n)}),lI=SO(function(e){var n,i=e.viewport,r=e.shadowMatrices,o=[],a=i.pixelUnprojectionMatrix,s=i.isGeospatial?void 0:1,u=[[0,0,s],[i.width,0,s],[0,i.height,s],[i.width,i.height,s],[0,0,-1],[i.width,0,-1],[0,i.height,-1],[i.width,i.height,-1]].map(function(e){return function(e,n){var i=t(e,3),r=i[0],o=i[1],a=i[2],s=pT([r,o,a],n);return Number.isFinite(a)?s:[s[0],s[1],0]}(e,a)}),c=_(r);try{var l=function(){var e=n.value,t=e.clone().translate(new FS(i.center).negate()),r=u.map(function(e){return t.transform(e)}),a=(new $O).ortho({left:Math.min.apply(Math,v(r.map(function(e){return e[0]}))),right:Math.max.apply(Math,v(r.map(function(e){return e[0]}))),bottom:Math.min.apply(Math,v(r.map(function(e){return e[1]}))),top:Math.max.apply(Math,v(r.map(function(e){return e[1]}))),near:Math.min.apply(Math,v(r.map(function(e){return-e[2]}))),far:Math.max.apply(Math,v(r.map(function(e){return-e[2]})))});o.push(a.multiplyRight(e))};for(c.s();!(n=c.n()).done;)l()}catch(h){c.e(h)}finally{c.f()}return o}),hI=[0,0,0,1],dI=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],fI={name:"shadow",dependencies:[uI],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.drawToShadowMap||e.shadowMaps&&e.shadowMaps.length>0){var n=e.shadowEnabled,i=void 0===n||n;return i&&e.shadowMatrices&&e.shadowMatrices.length>0?function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={shadow_uDrawShadowMap:Boolean(e.drawToShadowMap),shadow_uUseShadowMap:!!e.shadowMaps&&e.shadowMaps.length>0,shadow_uColor:e.shadowColor||hI,shadow_uLightId:e.shadowLightId||0,shadow_uLightCount:e.shadowMatrices.length},i=cI({viewport:e.viewport,center:t.project_uCenter}),r=[],o=lI({shadowMatrices:e.shadowMatrices,viewport:e.viewport}).slice(),a=0;a0?e.shadowMaps[c]:e.dummyShadowMap;return n}(e,t):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},pI={color:[255,255,255],intensity:1},vI=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],gI=[0,0,0,200/255],mI=function(e){a(n,e);var t=s(n);function n(e){var i;for(var r in m(this,n),(i=t.call(this,e)).ambientLight=null,i.directionalLights=[],i.pointLights=[],i.shadowColor=gI,i.shadowPasses=[],i.shadowMaps=[],i.dummyShadowMap=null,i.shadow=!1,i.programManager=null,e){var o=e[r];switch(o.type){case"ambient":i.ambientLight=o;break;case"directional":i.directionalLights.push(o);break;case"point":i.pointLights.push(o)}}return i._applyDefaultLights(),i.shadow=i.directionalLights.some(function(e){return e.shadow}),i}return b(n,[{key:"preRender",value:function(e,t){var n=t.layers,i=t.layerFilter,r=t.viewports,o=t.onViewportActive,a=t.views;if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=BE.getDefaultProgramManager(e),fI&&this.programManager.addDefaultModule(fI)),this.dummyShadowMap||(this.dummyShadowMap=new Rx(e,{width:1,height:1}));for(var s=0;s=t.delay+t.duration*t.repeat}},{key:"getTime",value:function(e){if(void 0===e)return this.time;var t=this.channels.get(e);return void 0===t?-1:t.time}},{key:"setTime",value:function(e){this.time=Math.max(0,e);var t,n=_(this.channels.values());try{for(n.s();!(t=n.n()).done;){var i=t.value;this._setChannelTime(i,this.time)}}catch(c){n.e(c)}finally{n.f()}var r,o=_(this.animations.values());try{for(o.s();!(r=o.n()).done;){var a=r.value,s=a.animation,u=a.channel;s.setTime(this.getTime(u))}}catch(c){o.e(c)}finally{o.f()}}},{key:"play",value:function(){this.playing=!0}},{key:"pause",value:function(){this.playing=!1,this.lastEngineTime=-1}},{key:"reset",value:function(){this.setTime(0)}},{key:"attachAnimation",value:function(e,t){var n=bI++;return this.animations.set(n,{animation:e,channel:t}),e.setTime(this.getTime(t)),n}},{key:"detachAnimation",value:function(e){this.animations.delete(e)}},{key:"update",value:function(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}},{key:"_setChannelTime",value:function(e,t){var n=t-e.delay;n>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,n)%e.duration,e.time*=e.rate)}}]),e}(),wI=function(){function e(t,n,i){m(this,e),this.id=t,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(n)}return b(e,[{key:"subscribe",value:function(e){this._subscribers.add(e)}},{key:"unsubscribe",value:function(e){this._subscribers.delete(e)}},{key:"inUse",value:function(){return this._subscribers.size>0}},{key:"delete",value:function(){}},{key:"getData",value:function(){var e=this;return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(function(){return e.getData()})}},{key:"setData",value:function(e,t){var n=this;if(e!==this._data||t){this._data=e;var i=++this._loadCount,r=e;"string"==typeof e&&(r=rM(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(function(e){n._loadCount===i&&(n.isLoaded=!0,n._error=null,n._content=e)}).catch(function(e){n._loadCount===i&&(n.isLoaded=!0,n._error=e||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);var o,a=_(this._subscribers);try{for(a.s();!(o=a.n()).done;){o.value.onChange(this.getData())}}catch(s){a.e(s)}finally{a.f()}}}}]),e}(),kI=function(){function e(t){var n=t.gl,i=t.protocol;m(this,e),this.protocol=i||"resource://",this._context={gl:n,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}return b(e,[{key:"contains",value:function(e){return!!e.startsWith(this.protocol)||e in this._resources}},{key:"add",value:function(e){var t=e.resourceId,n=e.data,i=e.forceUpdate,r=void 0!==i&&i,o=e.persistent,a=void 0===o||o,s=this._resources[t];s?s.setData(n,r):(s=new wI(t,n,this._context),this._resources[t]=s),s.persistent=a}},{key:"remove",value:function(e){var t=this._resources[e];t&&(t.delete(),delete this._resources[e])}},{key:"unsubscribe",value:function(e){var t=e.consumerId,n=this._consumers[t];if(n){for(var i in n){var r=n[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[t],this.prune()}}},{key:"subscribe",value:function(e){var t=e.resourceId,n=e.onChange,i=e.consumerId,r=e.requestId,o=void 0===r?"default":r,a=this._resources,s=this.protocol;t.startsWith(s)&&(a[t=t.replace(s,"")]||this.add({resourceId:t,data:null,persistent:!1}));var u=a[t];if(this._track(i,o,u,n),u)return u.getData()}},{key:"prune",value:function(){var e=this;this._pruneRequest||(this._pruneRequest=setTimeout(function(){return e._prune()},0))}},{key:"finalize",value:function(){for(var e in this._resources)this._resources[e].delete()}},{key:"_track",value:function(e,t,n,i){var r=this._consumers,o=r[e]=r[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),n&&(o[t]=a,a.onChange=i,a.resource=n,n.subscribe(a))}},{key:"_prune",value:function(){this._pruneRequest=null;for(var e=0,t=Object.keys(this._resources);e1&&void 0!==arguments[1]?arguments[1]:{},i=n.deck,r=n.stats,o=n.viewport,a=n.timeline;m(this,e),this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new kI({gl:t,protocol:"deck://"}),this.context=I(M({},EI),{layerManager:this,gl:t,deck:i,programManager:t&&CI(t),stats:r||new nx({id:"deck.gl"}),viewport:o||new wT({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:a||new _I,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}return b(e,[{key:"finalize",value:function(){this.resourceManager.finalize();var e,t=_(this.layers);try{for(t.s();!(e=t.n()).done;){var n=e.value;this._finalizeLayer(n)}}catch(i){t.e(i)}finally{t.f()}}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);var n,i=_(this.layers);try{for(i.s();!(n=i.n()).done;){var r=n.value,o=r.getNeedsRedraw(e);t=t||o}}catch(a){i.e(a)}finally{i.f()}return t}},{key:"needsUpdate",value:function(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}},{key:"setNeedsRedraw",value:function(e){this._needsRedraw=this._needsRedraw||e}},{key:"setNeedsUpdate",value:function(e){this._needsUpdate=this._needsUpdate||e}},{key:"getLayers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.layerIds,n=void 0===t?null:t;return n?this.layers.filter(function(e){return n.find(function(t){return 0===e.id.indexOf(t)})}):this.layers}},{key:"setProps",value:function(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}},{key:"setLayers",value:function(e,t){hC("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e;var n,i=_(e=$S(e,Boolean));try{for(i.s();!(n=i.n()).done;){n.value.context=this.context}}catch(r){i.e(r)}finally{i.f()}return this._updateLayers(this.layers,e),this}},{key:"updateLayers",value:function(){var e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}},{key:"activateViewport",value:function(e){return hC("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}},{key:"_handleError",value:function(e,t,n){n.raiseError(t,"".concat(e," of ").concat(n))}},{key:"_updateLayers",value:function(e,t){var n,i={},r=_(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;i[o.id]?ik.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o}}catch(l){r.e(l)}finally{r.f()}var a=[];this._updateSublayersRecursively(t,i,a),this._finalizeOldLayers(i);for(var s=!1,u=0,c=a;u0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=t.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=t.eventManager,this._eventCallbacks={onViewStateChange:t.onViewStateChange,onInteractionStateChange:t.onInteractionStateChange},Object.seal(this),this.setProps(t)}return b(e,[{key:"finalize",value:function(){for(var e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"setNeedsUpdate",value:function(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}},{key:"updateViewStates",value:function(){for(var e in this.controllers){var t=this.controllers[e];t&&t.updateTransition()}}},{key:"getViewports",value:function(e){return e?this._viewports.filter(function(t){return t.containsPixel(e)}):this._viewports}},{key:"getViews",value:function(){var e={};return this.views.forEach(function(t){e[t.id]=t}),e}},{key:"getView",value:function(e){return"string"==typeof e?this.views.find(function(t){return t.id===e}):e}},{key:"getViewState",value:function(e){var t=this.getView(e),n=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(n):n}},{key:"getViewport",value:function(e){return this._viewportMap[e]}},{key:"unproject",value:function(e,t){for(var n=this.getViewports(),i={x:e[0],y:e[1]},r=n.length-1;r>=0;--r){var o=n[r];if(o.containsPixel(i)){var a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}},{key:"setProps",value:function(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}},{key:"_update",value:function(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}},{key:"_setSize",value:function(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}},{key:"_setViews",value:function(e){e=$S(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}},{key:"_setViewState",value:function(e){e?(!gM(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):ik.warn("missing `viewState` or `initialViewState`")()}},{key:"_onViewStateChange",value:function(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}},{key:"_createController",value:function(e,t){return new(0,t.type)(M({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:function(t){return e._getViewport(t,{width:t.width,height:t.height})}},t))}},{key:"_updateController",value:function(e,t,n,i){var r=e.controller;return r?(r=I(M(M(M({},t),e.props),r),{id:e.id,x:n.x,y:n.y,width:n.width,height:n.height}),i?i.setProps(r):i=this._createController(e,r),i):null}},{key:"_rebuildViewports",value:function(){var e=this.width,t=this.height,n=this.views,i=this.controllers;this._viewports=[],this.controllers={};for(var r=!1,o=n.length;o--;){var a=n[o],s=this.getViewState(a),u=a.makeViewport({width:e,height:t,viewState:s}),c=i[a.id];a.controller&&!c&&(r=!0),(r||!a.controller)&&c&&(c.finalize(),c=null),this.controllers[a.id]=this._updateController(a,s,u,c),this._viewports.unshift(u)}for(var l in i)i[l]&&!this.controllers[l]&&i[l].finalize();this._buildViewportMap()}},{key:"_buildViewportMap",value:function(){var e=this;this._viewportMap={},this._viewports.forEach(function(t){t.id&&(e._viewportMap[t.id]=e._viewportMap[t.id]||t)})}},{key:"_diffViews",value:function(e,t){return e.length!==t.length||e.some(function(n,i){return!e[i].equals(t[i])})}}]),e}(),PI=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=i.makeViewport,o=i.width,a=i.height,s=i.latitude,u=i.longitude,c=i.zoom,l=i.bearing,h=void 0===l?0:l,d=i.pitch,f=void 0===d?0:d,p=i.altitude,v=void 0===p?1.5:p,g=i.maxZoom,y=void 0===g?20:g,b=i.minZoom,_=void 0===b?0:b,w=i.maxPitch,k=void 0===w?60:w,x=i.minPitch,S=void 0===x?0:x,C=i.startPanLngLat,E=i.startZoomLngLat,O=i.startRotatePos,T=i.startBearing,P=i.startPitch,A=i.startZoom,M=i.normalize;return m(this,n),WS(Number.isFinite(u)),WS(Number.isFinite(s)),WS(Number.isFinite(c)),(e=t.call(this,{width:o,height:a,latitude:s,longitude:u,zoom:c,bearing:h,pitch:f,altitude:v,maxZoom:y,minZoom:_,maxPitch:k,minPitch:S,normalize:M}))._state={startPanLngLat:C,startZoomLngLat:E,startRotatePos:O,startBearing:T,startPitch:P,startZoom:A},e.makeViewport=r,e}return b(n,[{key:"panStart",value:function(e){var t=e.pos;return this._getUpdatedState({startPanLngLat:this._unproject(t)})}},{key:"pan",value:function(e){var t=e.pos,n=e.startPos,i=this._state.startPanLngLat||this._unproject(n);if(!i)return this;var r=this.makeViewport(this._viewportProps).panByPosition(i,t);return this._getUpdatedState(r)}},{key:"panEnd",value:function(){return this._getUpdatedState({startPanLngLat:null})}},{key:"rotateStart",value:function(e){var t=e.pos;return this._getUpdatedState({startRotatePos:t,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}},{key:"rotate",value:function(e){var t,n=e.pos,i=e.deltaAngleX,r=void 0===i?0:i,o=e.deltaAngleY,a=void 0===o?0:o,s=this._state,u=s.startRotatePos,c=s.startBearing,l=s.startPitch;return u&&Number.isFinite(c)&&Number.isFinite(l)?(t=n?this._calculateNewPitchAndBearing(I(M({},this._getRotationParams(n,u)),{startBearing:c,startPitch:l})):{bearing:c+r,pitch:l+a},this._getUpdatedState(t)):this}},{key:"rotateEnd",value:function(){return this._getUpdatedState({startBearing:null,startPitch:null})}},{key:"zoomStart",value:function(e){var t=e.pos;return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this._viewportProps.zoom})}},{key:"zoom",value:function(e){var t=e.pos,n=e.startPos,i=e.scale,r=this._state,o=r.startZoom,a=r.startZoomLngLat;Number.isFinite(o)||(o=this._viewportProps.zoom,a=this._unproject(n)||this._unproject(t));var s=this._calculateNewZoom({scale:i,startZoom:o}),u=this.makeViewport(I(M({},this._viewportProps),{zoom:s}));return this._getUpdatedState(M({zoom:s},u.panByPosition(a,t)))}},{key:"zoomEnd",value:function(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}},{key:"zoomIn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._zoomFromCenter(e)}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._zoomFromCenter(1/e)}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([e,0])}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([-e,0])}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([0,e])}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([0,-e])}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),n=M({},this._viewportProps),i=n.bearing,r=n.longitude;return Math.abs(i-t.bearing)>180&&(n.bearing=i<0?i+360:i-360),Math.abs(r-t.longitude)>180&&(n.longitude=r<0?r+360:r-360),n}},{key:"_zoomFromCenter",value:function(e){var t=this._viewportProps,n=t.width,i=t.height;return this.zoom({pos:[n/2,i/2],scale:e})}},{key:"_panFromCenter",value:function(e){var t=this._viewportProps,n=t.width,i=t.height;return this.pan({startPos:[n/2,i/2],pos:[n/2+e[0],i/2+e[1]]})}},{key:"_getUpdatedState",value:function(e){return new this.constructor(M(M(M({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}},{key:"_applyConstraints",value:function(e){var t=e.maxZoom,n=e.minZoom,i=e.zoom;e.zoom=hS(i,n,t);var r=e.maxPitch,o=e.minPitch,a=e.pitch;e.pitch=hS(a,o,r);var s=e.normalize;return(void 0===s||s)&&Object.assign(e,function(e){var t=e.width,n=e.height,i=e.longitude,r=e.latitude,o=e.zoom,a=e.pitch,s=void 0===a?0:a,u=e.bearing,c=void 0===u?0:u;(i<-180||i>180)&&(i=ZO(i+180,360)-180),(c<-180||c>180)&&(c=ZO(c+180,360)-180);var l=eT(n/512);if(o<=l)o=l,r=0;else{var h=n/2/Math.pow(2,o),d=cT([0,h])[1];if(rf&&(r=f)}}return{width:t,height:n,longitude:i,latitude:r,zoom:o,pitch:s,bearing:c}}(e)),e}},{key:"_unproject",value:function(e){var t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}},{key:"_calculateNewZoom",value:function(e){var t=e.scale,n=e.startZoom,i=this._viewportProps,r=i.maxZoom,o=i.minZoom;return hS(n+Math.log2(t),o,r)}},{key:"_calculateNewPitchAndBearing",value:function(e){var t=e.deltaScaleX,n=e.deltaScaleY,i=e.startBearing,r=e.startPitch;n=hS(n,-1,1);var o=this._viewportProps,a=o.minPitch,s=o.maxPitch,u=r;return n>0?u=r+n*(s-r):n<0&&(u=r-n*(a-r)),{pitch:u,bearing:i+180*t}}},{key:"_getRotationParams",value:function(e,t){var n=e[0]-t[0],i=e[1]-t[1],r=e[1],o=t[1],a=this._viewportProps,s=a.width,u=a.height,c=n/s,l=0;return i>0?Math.abs(u-o)>5&&(l=i/(o-u)*1.2):i<0&&o>5&&(l=1-r/o),{deltaScaleX:c,deltaScaleY:l=Math.min(1,Math.max(-1,l))}}}]),n}(DM),AI=function(t){a(i,t);var n=s(i);function i(e){return m(this,i),e.dragMode=e.dragMode||"pan",n.call(this,PI,e)}return b(i,[{key:"setProps",value:function(t){var n=this.controllerStateProps;e(p(i.prototype),"setProps",this).call(this,t),(!n||n.height!==t.height)&&this.updateViewport(new this.ControllerState(M(M({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}},{key:"linearTransitionProps",get:function(){return["longitude","latitude","zoom","bearing","pitch"]}}]),i}(RM),MI=function(){var e=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,I(M({},e),{type:kT}))}return b(n,[{key:"controller",get:function(){return this._getControllerProps({type:AI})}}]),n}(mM);return e.displayName="MapView",e}(),II=new mI,RI=function(){function e(){m(this,e),this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}return b(e,[{key:"setProps",value:function(e){"effects"in e&&(e.effects.length!==this.effects.length||!gM(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"getEffects",value:function(){return this._internalEffects}},{key:"finalize",value:function(){this.cleanup()}},{key:"setEffects",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.cleanup(),this.effects=e,this._createInternalEffects()}},{key:"cleanup",value:function(){var e,t=_(this.effects);try{for(t.s();!(e=t.n()).done;){e.value.cleanup()}}catch(r){t.e(r)}finally{t.f()}var n,i=_(this._internalEffects);try{for(i.s();!(n=i.n()).done;){n.value.cleanup()}}catch(r){i.e(r)}finally{i.f()}this.effects.length=0,this._internalEffects.length=0}},{key:"_createInternalEffects",value:function(){this._internalEffects=this.effects.slice(),this.effects.some(function(e){return e instanceof mI})||this._internalEffects.push(II)}}]),e}(),DI=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(tI),NI={blendFunc:[1,0,32771,0],blendEquation:32774},LI=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"render",value:function(t){t.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(t)):(this.useAlpha=!1,e(p(i.prototype),"render",this).call(this,t))}},{key:"_drawPickingBuffer",value:function(t){var n=this,r=t.layers,o=t.layerFilter,a=t.views,s=t.viewports,u=t.onViewportActive,c=t.pickingFBO,l=t.deviceRect,h=l.x,d=l.y,f=l.width,v=l.height,g=t.pass,m=void 0===g?"picking":g,y=t.redrawReason,b=t.pickZ,_=this.gl;return this.pickZ=b,Hk(_,I(M({scissorTest:!0,scissor:[h,d,f,v],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},NI),{blend:!b}),function(){e(p(i.prototype),"render",n).call(n,{target:c,layers:r,layerFilter:o,views:a,viewports:s,onViewportActive:u,pass:m,redrawReason:y})})}},{key:"shouldDrawLayer",value:function(e){return e.props.pickable}},{key:"getModuleParameters",value:function(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}},{key:"getLayerParameters",value:function(e,t){var n=this.pickZ?{blend:!1}:I(M({},NI),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return M(M({},e.props.parameters),n)}}]),i}(tI),jI=function(){function e(t){m(this,e),this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new DI(t),this.pickLayersPass=new LI(t),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}return b(e,[{key:"setProps",value:function(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}},{key:"renderLayers",value:function(e){var t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||$x.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);var n=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,i=t.render(I(M({},e),{target:n}));this._postRender(e.effects,e),this.renderCount++,hC("deckRenderer.renderLayers",this,i,e)}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"finalize",value:function(){var e,t=this.renderBuffers,n=_(t);try{for(n.s();!(e=n.n()).done;){e.value.delete()}}catch(i){n.e(i)}finally{n.f()}t.length=0}},{key:"_preRender",value:function(e,t){var n,i=null,r=_(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;o.preRender(this.gl,t),o.postRender&&(i=o)}}catch(a){r.e(a)}finally{r.f()}i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}},{key:"_resizeRenderBuffers",value:function(){var e=this.renderBuffers;0===e.length&&e.push(new $x(this.gl),new $x(this.gl));var t,n=_(e);try{for(n.s();!(t=n.n()).done;){t.value.resize()}}catch(i){n.e(i)}finally{n.f()}}},{key:"_postRender",value:function(e,t){var n,i=this.renderBuffers,r={inputBuffer:i[0],swapBuffer:i[1],target:null},o=_(e);try{for(o.s();!(n=o.n()).done;){var a=n.value;if(a.postRender){if(a===this.lastPostProcessEffect){r.target=t.target,a.postRender(this.gl,r);break}var s=a.postRender(this.gl,r);r.inputBuffer=s,r.swapBuffer=s===i[0]?i[1]:i[0]}}}catch(u){o.e(u)}finally{o.f()}}}]),e}(),FI={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function BI(e){var t=e.pickedColors,n=e.layers,i=e.deviceX,r=e.deviceY,o=e.deviceRadius,a=e.deviceRect;if(t){for(var s=a.x,u=a.y,c=a.width,l=a.height,h=o*o,d=-1,f=0,p=0;ph)f+=4*c;else for(var m=0;m=0){var y=m+s-i,b=y*y+g;b<=h&&(h=b,d=f)}f+=4}}if(d>=0){var _=t[d+3]-1,w=t.slice(d,d+4),k=n[_];if(k){var x=k.decodePickingColor(w),S=Math.floor(d/4/c);return{pickedColor:w,pickedLayer:k,pickedObjectIndex:x,pickedX:s+(d/4-S*c),pickedY:u+S}}ik.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return FI}function VI(e){var t=e.pickInfo,n=e.mode,i=e.viewports,r=e.layerFilter,o=e.pixelRatio,a=e.x,s=e.y,u=e.z,c=t&&t.pickedLayer,l=function(e,t,n){for(var i=e.length-1;i>=0;i--){var r=e[i];if(r.containsPixel(t)&&(!n||n(r)))return r}return e[0]}(i,{x:a,y:s},r&&c&&function(e){return r({layer:c,viewport:e,isPicking:!0,renderPass:"picking:".concat(n)})}),h=l&&l.unproject([a-l.x,s-l.y],{targetZ:u});return{color:null,layer:null,viewport:l,index:-1,picked:!1,x:a,y:s,pixel:[a,s],coordinate:h,devicePixel:t&&[t.pickedX,t.pickedY],pixelRatio:o}}function zI(e){var t=e.pickInfo,n=e.lastPickedInfo,i=e.mode,r=e.layers,o=t.pickedColor,a=t.pickedLayer,s=t.pickedObjectIndex,u=a?[a]:[];if("hover"===i){var c=n.index,l=n.layerId,h=a&&a.props.id;if(h!==l||s!==c){if(h!==l){var d=r.find(function(e){return e.props.id===l});d&&u.unshift(d)}n.layerId=h,n.index=s,n.info=null}}var f=VI(e),p=new Map;return p.set(null,f),u.forEach(function(e){var t=M({},f);e===a&&(t.color=o,t.index=s,t.picked=!0),t=UI({layer:e,info:t,mode:i}),e===a&&"hover"===i&&(n.info=t),p.set(t.layer.id,t),"hover"===i&&t.layer.updateAutoHighlight(t)}),p}function UI(e){for(var t=e.layer,n=e.info,i=e.mode;t&&n;){var r=n.layer||null;n.sourceLayer=r,n.layer=t,n=t.getPickingInfo({info:n,mode:i,sourceLayer:r}),t=t.parent}return n}var HI=function(){function e(t){m(this,e),this.gl=t,this.pickingFBO=null,this.pickLayersPass=new LI(t),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}return b(e,[{key:"setProps",value:function(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}},{key:"finalize",value:function(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}},{key:"pickObject",value:function(e){return this._pickClosestObject(e)}},{key:"pickObjects",value:function(e){return this._pickVisibleObjects(e)}},{key:"getLastPickedObject",value:function(e){var t=e.x,n=e.y,i=e.layers,r=e.viewports,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.lastPickedInfo.info,a=o&&o.layer&&o.layer.id,s=o&&o.viewport&&o.viewport.id,u=a?i.find(function(e){return e.id===a}):null,c=s&&r.find(function(e){return e.id===s})||r[0],l=c&&c.unproject([t-c.x,n-c.y]),h={x:t,y:n,viewport:c,coordinate:l,layer:u};return u?M(M({},o),h):Object.assign(h,{color:null,object:null,index:-1})}},{key:"_resizeBuffer",value:function(){var e=this.gl;return this.pickingFBO||(this.pickingFBO=new $x(e),$x.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new $x(e),this.depthFBO.attach({36064:new Rx(e,{format:lk(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}},{key:"_getPickable",value:function(e){if(!1===this._pickable)return null;var t=e.filter(function(e){return e.isPickable()&&!e.isComposite});return t.length>255?(ik.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}},{key:"_pickClosestObject",value:function(e){var t=e.layers,n=e.views,i=e.viewports,r=e.x,o=e.y,a=e.radius,s=void 0===a?0:a,u=e.depth,c=void 0===u?1:u,l=e.mode,h=void 0===l?"query":l,d=e.unproject3D,f=e.onViewportActive;if(!(t=this._getPickable(t)))return{result:[],emptyInfo:VI({viewports:i,x:r,y:o})};this._resizeBuffer();for(var p,v=Wk(this.gl),g=qk(this.gl,[r,o],!0),m=[g.x+Math.floor(g.width/2),g.y+Math.floor(g.height/2)],y=Math.round(s*v),b=this.pickingFBO,w=b.width,k=b.height,x=this._getPickingRect({deviceX:m[0],deviceY:m[1],deviceRadius:y,deviceWidth:w,deviceHeight:k}),S=[],C={},E=0;E=0){var a=t.slice(r,r+4),s=a.join(",");if(!i.has(s)){var u=n[o];u?i.set(s,{pickedColor:a,pickedLayer:u,pickedObjectIndex:u.decodePickingColor(a)}):ik.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(i.values())}({pickedColors:this._drawAndSample({layers:t,views:n,viewports:i,onViewportActive:p,deviceRect:{x:m,y:_,width:b.x+b.width-m,height:y-_},pass:"picking:".concat(h),redrawReason:h}),layers:t}),k=new Map,x=Number.isFinite(f),S=0;S=f);S++){var C=w[S],E={color:C.pickedColor,layer:null,index:C.pickedObjectIndex,picked:!0,x:r,y:o,width:s,height:c,pixelRatio:v};E=UI({layer:C.pickedLayer,info:E,mode:h}),k.has(E.object)||k.set(E.object,E)}return Array.from(k.values())}},{key:"_drawAndSample",value:function(e){var t=e.layers,n=e.views,i=e.viewports,r=e.onViewportActive,o=e.deviceRect,a=e.pass,s=e.redrawReason,u=e.pickZ;if(t.length<1)return null;var c=u?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:t,layerFilter:this.layerFilter,views:n,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:o,pass:a,redrawReason:s,pickZ:u});var l=o.x,h=o.y,d=o.width,f=o.height,p=new(u?Float32Array:Uint8Array)(d*f*4);return qx(c,{sourceX:l,sourceY:h,sourceWidth:d,sourceHeight:f,target:p}),p}},{key:"_getPickingRect",value:function(e){var t=e.deviceX,n=e.deviceY,i=e.deviceRadius,r=e.deviceWidth,o=e.deviceHeight,a=Math.max(0,t-i),s=Math.max(0,n-i),u=Math.min(r,t+i+1)-a,c=Math.min(o,n+i+1)-s;return u<=0||c<=0?null:{x:a,y:s,width:u,height:c}}}]),e}(),GI={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"},WI=function(){function e(t){m(this,e);var n=t.parentElement;n&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,GI),n.appendChild(this.el)),this.isVisible=!1}return b(e,[{key:"setTooltip",value:function(e,t,n){var i=this.el;if("string"==typeof e)i.innerText=e;else{if(!e)return this.isVisible=!1,void(i.style.display="none");"text"in e&&(i.innerText=e.text),"html"in e&&(i.innerHTML=e.html),"className"in e&&(i.className=e.className),Object.assign(i.style,e.style)}this.isVisible=!0,i.style.display="block",i.style.transform="translate(".concat(t,"px, ").concat(n,"px)")}},{key:"remove",value:function(){this.el&&this.el.remove()}}]),e}();function qI(e,t){if(!e)throw new Error(t)}var XI={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},YI=XI.global||XI.self||XI.window,KI="object"!=typeof process||"[object process]"!==String(process)||process.browser,$I="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),QI=($I&&parseFloat($I[1]),YI)._parseImageNode,ZI="undefined"!=typeof Image,JI="undefined"!=typeof ImageBitmap,eR=Boolean(QI),tR=!!KI||eR;function nR(e){switch(function(e){var t=function(e){return"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&e instanceof Image?"image":e&&"object"==typeof e&&e.data&&e.width&&e.height?"data":null}(e);if(!t)throw new Error("Not an image");return t}(e)){case"data":return e;case"image":case"imagebitmap":var t=document.createElement("canvas"),n=t.getContext("2d");if(!n)throw new Error("getImageData");return t.width=e.width,t.height=e.height,n.drawImage(e,0,0),n.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}var iR=/^data:image\/svg\+xml/,rR=/\.svg((\?|#).*)?$/;function oR(e){return e&&(iR.test(e)||rR.test(e))}function aR(e,t){if(oR(t)){var n=(new TextDecoder).decode(e);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(n=unescape(encodeURIComponent(n)))}catch(i){throw new Error(i.message)}return"data:image/svg+xml;base64,".concat(btoa(n))}return sR(e,t)}function sR(e,t){if(oR(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}function uR(e,t,n){return cR.apply(this,arguments)}function cR(){return(cR=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=aR(t,i),o=self.URL||self.webkitURL,a="string"!=typeof r&&o.createObjectURL(r),e.prev=1,e.next=4,lR(a||r,n);case 4:return e.abrupt("return",e.sent);case 5:return e.prev=5,a&&o.revokeObjectURL(a),e.finish(5);case 8:case"end":return e.stop()}},e,null,[[1,,5,8]])}))).apply(this,arguments)}function lR(e,t){return hR.apply(this,arguments)}function hR(){return(hR=Vx(regeneratorRuntime.mark(function e(t,n){var i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if((i=new Image).src=t,!(n.image&&n.image.decode&&i.decode)){e.next=8;break}return e.next=5,i.decode();case 5:e.t0=i,e.next=11;break;case 8:return e.next=10,new Promise(function(e,n){try{i.onload=function(){return e(i)},i.onerror=function(e){return n(new Error("Could not load image ".concat(t,": ").concat(e)))}}catch(r){n(r)}});case 10:e.t0=e.sent;case 11:return e.abrupt("return",e.t0);case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}var dR={},fR=!0;function pR(e,t,n){return vR.apply(this,arguments)}function vR(){return(vR=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!oR(i)){e.next=6;break}return e.next=3,uR(t,n,i);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=sR(t,i);case 7:return r=e.t0,o=n&&n.imagebitmap,e.next=11,gR(r,o);case 11:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}function gR(e){return mR.apply(this,arguments)}function mR(){return(mR=Vx(regeneratorRuntime.mark(function e(t){var n,i=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if((yR(n=i.length>1&&void 0!==i[1]?i[1]:null)||!fR)&&(n=null),!n){e.next=11;break}return e.prev=2,e.next=5,createImageBitmap(t,n);case 5:return e.abrupt("return",e.sent);case 8:e.prev=8,e.t0=e.catch(2),console.warn(e.t0),fR=!1;case 11:return e.next=13,createImageBitmap(t);case 13:return e.abrupt("return",e.sent);case 14:case"end":return e.stop()}},e,null,[[2,8]])}))).apply(this,arguments)}function yR(e){for(var t in e||dR)return!1;return!0}var bR=!1,_R=!0;function wR(e){var t=kR(e);return function(e){var t=kR(e);return t.byteLength>=24&&2303741511===t.getUint32(0,bR)?{mimeType:"image/png",width:t.getUint32(16,bR),height:t.getUint32(20,bR)}:null}(t)||function(e){var t=kR(e);if(!(t.byteLength>=3&&65496===t.getUint16(0,bR)&&255===t.getUint8(2)))return null;for(var n=function(){for(var e=new Set([65499,65476,65484,65501,65534]),t=65504;t<65520;++t)e.add(t);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}(),i=n.tableMarkers,r=n.sofMarkers,o=2;o+9=10&&1195984440===t.getUint32(0,bR)?{mimeType:"image/gif",width:t.getUint16(6,_R),height:t.getUint16(8,_R)}:null}(t)||function(e){var t=kR(e);return t.byteLength>=14&&16973===t.getUint16(0,bR)&&t.getUint32(2,_R)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,_R),height:t.getUint32(22,_R)}:null}(t)}function kR(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}function xR(e,t){var n=(wR(e)||{}).mimeType,i=YI._parseImageNode;return qI(i),i(e,n,t)}function SR(){return(SR=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:r=((n=n||{}).image||{}).type||"auto",o=(i||{}).url,e.t0=CR(r),e.next="imagebitmap"===e.t0?4:"image"===e.t0?8:"data"===e.t0?12:16;break;case 4:return e.next=6,pR(t,n,o);case 6:return a=e.sent,e.abrupt("break",17);case 8:return e.next=10,uR(t,n,o);case 10:return a=e.sent,e.abrupt("break",17);case 12:return e.next=14,xR(t,n);case 14:return a=e.sent,e.abrupt("break",17);case 16:qI(!1);case 17:return e.abrupt("return",("data"===r&&(a=nR(a)),a));case 18:case"end":return e.stop()}},e)}))).apply(this,arguments)}function CR(e){switch(e){case"auto":case"data":return function(){if(JI)return"imagebitmap";if(ZI)return"image";if(tR)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(e){switch(e){case"auto":return JI||ZI||tR;case"imagebitmap":return JI;case"image":return ZI;case"data":return tR;default:throw new Error("@loaders.gl/images: image ".concat(e," not supported in this environment"))}}(e),e}}var ER={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(e,t,n){return SR.apply(this,arguments)},tests:[function(e){return Boolean(wR(new DataView(e)))}],options:{image:{type:"auto",decode:!0}}},OR=r(84761),TR={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(e){var t=e[0],n=e[e.length-1];return"{"===t&&"}"===n||"["===t&&"]"===n},parseTextSync:JSON.parse},PR="8.5.8",AR=OR.CO.deck&&OR.CO.deck.VERSION;if(AR&&AR!==PR)throw new Error("deck.gl - multiple versions detected: ".concat(AR," vs ").concat(PR));AR||(ik.log(1,"deck.gl ".concat(PR))(),OR.CO.deck=Object.assign(OR.CO.deck||{},{VERSION:PR,version:PR,log:ik,_registerLoggers:function(e){lC=e}}),HA([TR,[ER,{imagebitmap:{premultiplyAlpha:"none"}}]]));var MR=OR.CO.deck,IR=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),(t=n.call(this,e,r)).target=null,t._queryPending=!1,t._pollingPromise=null,Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Query"}},{key:"beginTimeElapsedQuery",value:function(){return this.begin(35007)}},{key:"beginOcclusionQuery",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.conservative,n=void 0!==t&&t;return this.begin(n?36202:35887)}},{key:"beginTransformFeedbackQuery",value:function(){return this.begin(35976)}},{key:"begin",value:function(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}},{key:"end",value:function(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}},{key:"isResultAvailable",value:function(){if(!this._queryPending)return!1;var e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}},{key:"isTimerDisjoint",value:function(){return this.gl2.getParameter(36795)}},{key:"getResult",value:function(){return this.gl2.getQueryParameter(this.handle,34918)}},{key:"getTimerMilliseconds",value:function(){return this.getResult()/1e6}},{key:"createPoll",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY;if(this._pollingPromise)return this._pollingPromise;var n=0;return this._pollingPromise=new Promise(function(i,r){requestAnimationFrame(function o(){e.isResultAvailable()?(i(e.getResult()),e._pollingPromise=null):n++>t?(r("Timed out"),e._pollingPromise=null):requestAnimationFrame(o)})}),this._pollingPromise}},{key:"_createHandle",value:function(){return i.isSupported(this.gl)?this.gl2.createQuery():null}},{key:"_deleteHandle",value:function(){this.gl2.deleteQuery(this.handle)}}],[{key:"isSupported",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=lk(e),r=Jx(e,"TIMER_QUERY"),o=i||r,a=_(n);try{for(a.s();!(t=a.n()).done;){var s=t.value;switch(s){case"queries":o=o&&i;break;case"timers":o=o&&r;break;default:ox(!1)}}}catch(u){a.e(u)}finally{a.f()}return o}}]),i}(px,Symbol.toStringTag),RR=Gk()&&"undefined"!=typeof document,DR=0,NR=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.onCreateContext,i=void 0===n?function(e){return Zk(e)}:n,r=t.onAddHTML,o=void 0===r?null:r,a=t.onInitialize,s=void 0===a?function(){}:a,u=t.onRender,c=void 0===u?function(){}:u,l=t.onFinalize,h=void 0===l?function(){}:l,d=t.onError,f=t.gl,p=void 0===f?null:f,v=t.glOptions,g=void 0===v?{}:v,y=t.debug,b=void 0!==y&&y,_=t.createFramebuffer,w=void 0!==_&&_,k=t.autoResizeViewport,x=void 0===k||k,S=t.autoResizeDrawingBuffer,C=void 0===S||S,E=t.stats,O=void 0===E?rx.get("animation-loop-"+DR++):E,T=t.useDevicePixels,P=void 0===T||T;"useDevicePixelRatio"in t&&(sk.deprecated("useDevicePixelRatio","useDevicePixels")(),P=t.useDevicePixelRatio),this.props={onCreateContext:i,onAddHTML:o,onInitialize:s,onRender:c,onFinalize:h,onError:d,gl:p,glOptions:g,debug:b,createFramebuffer:w},this.gl=p,this.needsRedraw=null,this.timeline=null,this.stats=O,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:x,autoResizeDrawingBuffer:C,useDevicePixels:P}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}return b(e,[{key:"delete",value:function(){this.stop(),this._setDisplay(null)}},{key:"setNeedsRedraw",value:function(e){return ox("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}},{key:"setProps",value:function(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}},{key:"start",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this._running)return this;this._running=!0;var n=this._getPageLoadPromise().then(function(){return!e._running||e._initialized?null:(e._createWebGLContext(t),e._createFramebuffer(),e._startEventHandling(),e._initializeCallbackData(),e._updateCallbackData(),e._resizeCanvasDrawingBuffer(),e._resizeViewport(),e._gpuTimeQuery=IR.isSupported(e.gl,["timers"])?new IR(e.gl):null,e._initialized=!0,e.onInitialize(e.animationProps))}).then(function(t){e._running&&(e._addCallbackData(t||{}),!1!==t&&e._startLoop())});return this.props.onError&&n.catch(this.props.onError),this}},{key:"redraw",value:function(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}},{key:"stop",value:function(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}},{key:"attachTimeline",value:function(e){return this.timeline=e,this.timeline}},{key:"detachTimeline",value:function(){this.timeline=null}},{key:"waitForRender",value:function(){var e=this;return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(function(t){e._resolveNextFrame=t})),this._nextFramePromise}},{key:"toDataURL",value:function(){var e=this;return Vx(regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e.setNeedsRedraw("toDataURL"),t.next=3,e.waitForRender();case 3:return t.abrupt("return",e.gl.canvas.toDataURL());case 4:case"end":return t.stop()}},t)}))()}},{key:"isContextLost",value:function(){return this.gl.isContextLost()}},{key:"onCreateContext",value:function(){var e;return(e=this.props).onCreateContext.apply(e,arguments)}},{key:"onInitialize",value:function(){var e;return(e=this.props).onInitialize.apply(e,arguments)}},{key:"onRender",value:function(){var e;return(e=this.props).onRender.apply(e,arguments)}},{key:"onFinalize",value:function(){var e;return(e=this.props).onFinalize.apply(e,arguments)}},{key:"getHTMLControlValue",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=document.getElementById(e);return n?Number(n.value):t}},{key:"setViewParameters",value:function(){return sk.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}},{key:"_startLoop",value:function(){var e=this;this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(function t(){!e._running||(e.redraw(),e._animationFrameId=e._requestAnimationFrame(t))})}},{key:"_getPageLoadPromise",value:function(){return this._pageLoadPromise||(this._pageLoadPromise=RR?new Promise(function(e,t){RR&&"complete"===document.readyState?e(document):window.addEventListener("load",function(){e(document)})}):Promise.resolve({})),this._pageLoadPromise}},{key:"_setDisplay",value:function(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}},{key:"_cancelAnimationFrame",value:function(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(e){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(e):clearTimeout(e)}(e)}},{key:"_requestAnimationFrame",value:function(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(e){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(e):setTimeout(e,1e3/60)}(e)}},{key:"_renderFrame",value:function(){var e;this.display?(e=this.display)._renderFrame.apply(e,arguments):this.onRender.apply(this,arguments)}},{key:"_clearNeedsRedraw",value:function(){this.needsRedraw=null}},{key:"_setupFrame",value:function(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}},{key:"_initializeCallbackData",value:function(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}},{key:"_updateCallbackData",value:function(){var e=this._getSizeAndAspect(),t=e.width,n=e.height,i=e.aspect;(t!==this.animationProps.width||n!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=t,this.animationProps.height=n,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}},{key:"_finalizeCallbackData",value:function(){this.onFinalize(this.animationProps)}},{key:"_addCallbackData",value:function(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}},{key:"_createWebGLContext",value:function(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?Jk(this.props.gl,e):this.onCreateContext(e),!ck(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(e){Uk(e,Sk)})(this.gl),this._createInfoDiv()}},{key:"_createInfoDiv",value:function(){if(this.gl.canvas&&this.props.onAddHTML){var e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";var t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);var n=this.props.onAddHTML(t);n&&(t.innerHTML=n)}}},{key:"_getSizeAndAspect",value:function(){var e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight,n=1,i=this.gl.canvas;return i&&i.clientHeight?n=i.clientWidth/i.clientHeight:e>0&&t>0&&(n=e/t),{width:e,height:t,aspect:n}}},{key:"_resizeViewport",value:function(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}},{key:"_resizeCanvasDrawingBuffer",value:function(){this.autoResizeDrawingBuffer&&function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.canvas)!function(e,t,n){var i="width"in n?n.width:e.canvas.clientWidth,r="height"in n?n.height:e.canvas.clientHeight;(!i||!r)&&(sk.log(1,"Canvas clientWidth/clientHeight is 0")(),t=1,i=e.canvas.width||1,r=e.canvas.height||1),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};var o=e.luma.canvasSizeInfo;if(o.clientWidth!==i||o.clientHeight!==r||o.devicePixelRatio!==t){var a=t,s=Math.floor(i*a),u=Math.floor(r*a);e.canvas.width=s,e.canvas.height=u,(e.drawingBufferWidth!==s||e.drawingBufferHeight!==u)&&(sk.warn("Device pixel ratio clamped")(),a=Math.min(e.drawingBufferWidth/i,e.drawingBufferHeight/r),e.canvas.width=Math.floor(i*a),e.canvas.height=Math.floor(r*a)),Object.assign(e.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:t})}}(e,function(e){var t="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(e)?e<=0?1:e:e?t:1}(t.useDevicePixels),t);else{var n=e.getExtension("STACKGL_resize_drawingbuffer");n&&"width"in t&&"height"in t&&n.resize(t.width,t.height)}}(this.gl,{useDevicePixels:this.useDevicePixels})}},{key:"_createFramebuffer",value:function(){this.props.createFramebuffer&&(this.framebuffer=new $x(this.gl))}},{key:"_resizeFramebuffer",value:function(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}},{key:"_beginTimers",value:function(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}},{key:"_endTimers",value:function(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}},{key:"_startEventHandling",value:function(){var e=this.gl.canvas;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}},{key:"_onMousemove",value:function(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}},{key:"_onMouseleave",value:function(e){this.animationProps._mousePosition=null}}]),e}(),LR=r(11524),jR=r.n(LR),FR={mousedown:1,mousemove:2,mouseup:4};(function(e){var t=e.prototype.handler;e.prototype.handler=function(e){var n=this.store;e.button>0&&"pointerdown"===e.type&&(function(t,n){for(var i=0;i=0&&(this.pressed=!0),2&t&&0===e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:"mouse",srcEvent:e}))}}(jR().MouseInput);var BR=jR().Manager,VR=jR(),zR=VR?[[VR.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[VR.Rotate,{enable:!1}],[VR.Pinch,{enable:!1}],[VR.Swipe,{enable:!1}],[VR.Pan,{threshold:0,enable:!1}],[VR.Press,{enable:!1}],[VR.Tap,{event:"doubletap",taps:2,enable:!1}],[VR.Tap,{event:"anytap",enable:!1}],[VR.Tap,{enable:!1}]]:null,UR={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},HR={doubletap:["tap"]},GR={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},WR=["keydown","keyup"],qR=["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],XR=["wheel","mousewheel"],YR={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},KR={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},$R="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",QR="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;var ZR=!1;try{var JR={get passive(){return ZR=!0,!0}};QR.addEventListener("test",JR,JR),QR.removeEventListener("test",JR,JR)}catch(G){}var eD=-1!==$R.indexOf("firefox"),tD=XR,nD=4.000244140625,iD=function(){function e(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};m(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},r),this.events=tD.concat(r.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(function(e){return t.addEventListener(e,i.handleEvent,!!ZR&&{passive:!1})})}return b(e,[{key:"destroy",value:function(){var e=this;this.events.forEach(function(t){return e.element.removeEventListener(t,e.handleEvent)})}},{key:"enableEventType",value:function(e,t){"wheel"===e&&(this.options.enable=t)}},{key:"handleEvent",value:function(e){if(this.options.enable){var t=e.deltaY;QR.WheelEvent&&(eD&&e.deltaMode===QR.WheelEvent.DOM_DELTA_PIXEL&&(t/=QR.devicePixelRatio),e.deltaMode===QR.WheelEvent.DOM_DELTA_LINE&&(t*=40));var n={x:e.clientX,y:e.clientY};0!==t&&t%nD==0&&(t=Math.floor(t/nD)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,n)}}},{key:"_onWheel",value:function(e,t,n){this.callback({type:"wheel",center:n,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}]),e}(),rD=qR,oD="pointermove",aD="pointerover",sD="pointerout",uD="pointerleave",cD=function(){function e(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};m(this,e),this.element=t,this.callback=n,this.pressed=!1,this.options=Object.assign({enable:!0},r),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=rD.concat(r.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(function(e){return t.addEventListener(e,i.handleEvent)})}return b(e,[{key:"destroy",value:function(){var e=this;this.events.forEach(function(t){return e.element.removeEventListener(t,e.handleEvent)})}},{key:"enableEventType",value:function(e,t){e===oD&&(this.enableMoveEvent=t),e===aD&&(this.enableOverEvent=t),e===sD&&(this.enableOutEvent=t),e===uD&&(this.enableLeaveEvent=t)}},{key:"handleEvent",value:function(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}},{key:"handleOverEvent",value:function(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:aD,srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleOutEvent",value:function(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:sD,srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleLeaveEvent",value:function(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:uD,srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleMoveEvent",value:function(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:oD,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}]),e}(),lD=WR,hD="keydown",dD=function(){function e(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};m(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},r),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=lD.concat(r.events||[]),this.handleEvent=this.handleEvent.bind(this),t.tabIndex=r.tabIndex||0,t.style.outline="none",this.events.forEach(function(e){return t.addEventListener(e,i.handleEvent)})}return b(e,[{key:"destroy",value:function(){var e=this;this.events.forEach(function(t){return e.element.removeEventListener(t,e.handleEvent)})}},{key:"enableEventType",value:function(e,t){e===hD&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}},{key:"handleEvent",value:function(e){var t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:hD,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}]),e}(),fD="contextmenu",pD=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};m(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),t.addEventListener("contextmenu",this.handleEvent)}return b(e,[{key:"destroy",value:function(){this.element.removeEventListener("contextmenu",this.handleEvent)}},{key:"enableEventType",value:function(e,t){e===fD&&(this.options.enable=t)}},{key:"handleEvent",value:function(e){!this.options.enable||this.callback({type:fD,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}]),e}(),vD={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},gD={srcElement:"root",priority:0},mD=function(){function e(t){m(this,e),this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}return b(e,[{key:"isEmpty",value:function(){return!this._active}},{key:"add",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=this.handlers,a=this.handlersByElement;n&&("object"!=typeof n||n.addEventListener)&&(n={srcElement:n}),n=n?Object.assign({},gD,n):gD;var s=a.get(n.srcElement);s||(s=[],a.set(n.srcElement,s));var u={type:e,handler:t,srcElement:n.srcElement,priority:n.priority};i&&(u.once=!0),r&&(u.passive=!0),o.push(u),this._active=this._active||!u.passive;for(var c=s.length-1;c>=0&&!(s[c].priority>=u.priority);)c--;s.splice(c+1,0,u)}},{key:"remove",value:function(e,t){for(var n=this.handlers,i=this.handlersByElement,r=n.length-1;r>=0;r--){var o=n[r];if(o.type===e&&o.handler===t){n.splice(r,1);var a=i.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&i.delete(o.srcElement)}}this._active=n.some(function(e){return!e.passive})}},{key:"handleEvent",value:function(e){if(!this.isEmpty()){for(var t=this._normalizeEvent(e),n=e.srcEvent.target;n&&n!==t.rootElement;){if(this._emit(t,n),t.handled)return;n=n.parentNode}this._emit(t,"root")}}},{key:"_emit",value:function(e,t){var n=this.handlersByElement.get(t);if(n){for(var i=!1,r=function(){e.handled=!0},o=function(){e.handled=!0,i=!0},a=[],s=0;s0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.options=Object.assign({},yD,n),this.events=new Map,this._onBasicInput=this._onBasicInput.bind(this),this._onOtherEvent=this._onOtherEvent.bind(this),this.setElement(t);var i=n.events;i&&this.on(i)}return b(e,[{key:"setElement",value:function(e){var n=this;if(this.element&&this.destroy(),this.element=e,e){var i=this.options;for(var r in this.manager=new(0,i.Manager)(e,{touchAction:i.touchAction,recognizers:i.recognizers||zR}).on("hammer.input",this._onBasicInput),i.recognizers||Object.keys(UR).forEach(function(e){var t=n.manager.get(e);t&&UR[e].forEach(function(e){t.recognizeWith(e)})}),i.recognizerOptions){var o=this.manager.get(r);if(o){var a=i.recognizerOptions[r];delete a.enable,o.set(a)}}this.wheelInput=new iD(e,this._onOtherEvent,{enable:!1}),this.moveInput=new cD(e,this._onOtherEvent,{enable:!1}),this.keyInput=new dD(e,this._onOtherEvent,{enable:!1,tabIndex:i.tabIndex}),this.contextmenuInput=new pD(e,this._onOtherEvent,{enable:!1});var s,u=_(this.events);try{for(u.s();!(s=u.n()).done;){var c=t(s.value,2),l=c[0],h=c[1];h.isEmpty()||(this._toggleRecognizer(h.recognizerName,!0),this.manager.on(l,h.handleEvent))}}catch(d){u.e(d)}finally{u.f()}}}},{key:"destroy",value:function(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}},{key:"on",value:function(e,t,n){this._addEventHandler(e,t,n,!1)}},{key:"once",value:function(e,t,n){this._addEventHandler(e,t,n,!0)}},{key:"watch",value:function(e,t,n){this._addEventHandler(e,t,n,!1,!0)}},{key:"off",value:function(e,t){this._removeEventHandler(e,t)}},{key:"_toggleRecognizer",value:function(e,t){var n=this.manager;if(n){var i=n.get(e);if(i&&i.options.enable!==t){i.set({enable:t});var r=HR[e];r&&!this.options.recognizers&&r.forEach(function(r){var o=n.get(r);t?(o.requireFailure(e),i.dropRequireFailure(r)):o.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}}},{key:"_addEventHandler",value:function(e,t,n,i,r){if("string"==typeof e){var o=this.manager,a=this.events,s=KR[e]||e,u=a.get(s);u||(u=new mD(this),a.set(s,u),u.recognizerName=YR[s]||s,o&&o.on(s,u.handleEvent)),u.add(e,t,n,i,r),u.isEmpty()||this._toggleRecognizer(u.recognizerName,!0)}else for(var c in n=t,e)this._addEventHandler(c,e[c],n,i,r)}},{key:"_removeEventHandler",value:function(e,t){if("string"==typeof e){var n=this.events,i=n.get(KR[e]||e);if(i&&(i.remove(e,t),i.isEmpty())){var r,o=i.recognizerName,a=!1,s=_(n.values());try{for(s.s();!(r=s.n()).done;){var u=r.value;if(u.recognizerName===o&&!u.isEmpty()){a=!0;break}}}catch(l){s.e(l)}finally{s.f()}a||this._toggleRecognizer(o,!1)}}else for(var c in e)this._removeEventHandler(c,e[c])}},{key:"_onBasicInput",value:function(e){var t=e.srcEvent,n=GR[t.type];n&&this.manager.emit(n,e)}},{key:"_onOtherEvent",value:function(e){this.manager.emit(e.type,e)}}]),e}();function _D(){}var wD={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:_D,onResize:_D,onViewStateChange:_D,onInteractionStateChange:_D,onBeforeRender:_D,onAfterRender:_D,onLoad:_D,onError:function(e,t){return ik.error(e)()},_onMetrics:null,getCursor:function(e){return e.isDragging?"grabbing":"grab"},debug:!1,drawPickingColors:!1},kD=function(){function e(t){m(this,e),t=M(M({},wD),t),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),t.viewState&&t.initialViewState&&ik.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,OR.qs)()&&ik.warn("IE 11 support will be deprecated in v8.0")(),t.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new nx({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&nS.setProps(t._typedArrayManagerProps),this.animationLoop.start()}return b(e,[{key:"finalize",value:function(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}},{key:"setProps",value:function(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&ik.removed("onLayerHover","onHover")(),"onLayerClick"in e&&ik.removed("onLayerClick","onClick")(),e.initialViewState&&!gM(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);var t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1};if(this.props._animate)return"Deck._animate";var t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);var n=this.viewManager.needsRedraw(e),i=this.layerManager.needsRedraw(e),r=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||n||i||r||o}},{key:"redraw",value:function(e){if(this.layerManager){var t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}}},{key:"getViews",value:function(){return this.viewManager.views}},{key:"getViewports",value:function(e){return this.viewManager.getViewports(e)}},{key:"pickObject",value:function(e){var t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}},{key:"pickMultipleObjects",value:function(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}},{key:"pickObjects",value:function(e){return this._pick("pickObjects","pickObjects Time",e)}},{key:"_addResources",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(var n in e)this.layerManager.resourceManager.add({resourceId:n,data:e[n],forceUpdate:t})}},{key:"_removeResources",value:function(e){var t,n=_(e);try{for(n.s();!(t=n.n()).done;){var i=t.value;this.layerManager.resourceManager.remove(i)}}catch(r){n.e(r)}finally{n.f()}}},{key:"_pick",value:function(e,t,n){var i=this.stats;i.get("Pick Count").incrementCount(),i.get(t).timeStart();var r=this.deckPicker[e](M({layers:this.layerManager.getLayers(n),views:this.viewManager.getViews(),viewports:this.getViewports(n),onViewportActive:this.layerManager.activateViewport},n));return i.get(t).timeEnd(),r}},{key:"_createCanvas",value:function(e){var t=e.canvas;return"string"==typeof t&&WS(t=document.getElementById(t)),t||((t=document.createElement("canvas")).id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}},{key:"_setCanvasSize",value:function(e){if(this.canvas){var t=e.width,n=e.height;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(n||0===n)&&(n=Number.isFinite(n)?"".concat(n,"px"):n,this.canvas.style.position="absolute",this.canvas.style.height=n)}}},{key:"_updateCanvasSize",value:function(){if(this._checkForCanvasSizeChange()){var e=this.width,t=this.height;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}},{key:"_checkForCanvasSizeChange",value:function(){var e=this.canvas;if(!e)return!1;var t=e.clientWidth||e.width,n=e.clientHeight||e.height;return(t!==this.width||n!==this.height)&&(this.width=t,this.height=n,!0)}},{key:"_createAnimationLoop",value:function(e){var t=this,n=e.width,i=e.height,r=e.gl,o=e.glOptions,a=e.debug,s=e.onError,u=e.onBeforeRender,c=e.onAfterRender,l=e.useDevicePixels,h=e.autoResizeDrawingBuffer;return new NR({width:n,height:i,useDevicePixels:l,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:function(e){return Zk(I(M(M({},o),e),{canvas:t.canvas,debug:a,onContextLost:function(){return t._onContextLost()}}))},onInitialize:function(e){return t._setGLContext(e.gl)},onRender:this._onRenderFrame.bind(this),onBeforeRender:u,onAfterRender:c,onError:s})}},{key:"_getViewState",value:function(){return this.props.viewState||this.viewState}},{key:"_getViews",value:function(){var e=this.props.views||[new MI({id:"default-view"})];return(e=Array.isArray(e)?e:[e]).length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}},{key:"_onContextLost",value:function(){var e=this.props.onError;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}},{key:"_onPointerMove",value:function(e){var t=this._pickRequest;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;var n=e.offsetCenter;if(!n)return;t.x=n.x,t.y=n.y,t.radius=this.props.pickingRadius}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}},{key:"_pickAndCallback",value:function(){var e=this._pickRequest;if(e.event){var t=this._pick("pickObject","pickObject Time",e),n=t.result,i=t.emptyInfo;this.interactiveState.isHovering=n.length>0;var r,o=i,a=!1,s=_(n);try{for(s.s();!(r=s.n()).done;){var u=r.value;o=u,a=u.layer.onHover(u,e.event)}}catch(l){s.e(l)}finally{s.f()}if(!a&&this.props.onHover&&this.props.onHover(o,e.event),this.props.getTooltip){var c=this.props.getTooltip(o);this.tooltip.setTooltip(c,o.x,o.y)}e.event=null}}},{key:"_updateCursor",value:function(){var e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}},{key:"_setGLContext",value:function(e){if(!this.layerManager){this.canvas||(this.canvas=e.canvas,Jk(e,{enable:!0,copyState:!0})),this.tooltip=new WI(this.canvas),Uk(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);var t=new _I;for(var n in t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new bD(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}}),ak)this.eventManager.on(n,this._onEvent);this.viewManager=new TI({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});var i=this.viewManager.getViewports()[0];this.layerManager=new OI(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new RI,this.deckRenderer=new jI(e),this.deckPicker=new HI(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}}},{key:"_drawLayers",value:function(e,t){var n=this.layerManager.context.gl;Uk(n,this.props.parameters),this.props.onBeforeRender({gl:n}),this.deckRenderer.renderLayers(M({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:n})}},{key:"_onRenderFrame",value:function(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),ik.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}},{key:"_onViewStateChange",value:function(e){var t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=I(M({},this.viewState),o({},e.viewId,t)),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}},{key:"_onInteractionStateChange",value:function(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}},{key:"_onEvent",value:function(e){var t=ak[e.type],n=e.offsetCenter;if(t&&n){var i=this.layerManager.getLayers(),r=this.deckPicker.getLastPickedObject({x:n.x,y:n.y,layers:i,viewports:this.getViewports(n)},this._lastPointerDownInfo),o=r.layer,a=o&&(o[t.handler]||o.props[t.handler]),s=this.props[t.handler],u=!1;a&&(u=a.call(o,r,e)),!u&&s&&s(r,e)}}},{key:"_onPointerDown",value:function(e){var t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}},{key:"_getFrameStats",value:function(){var e=this.stats;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();var t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}},{key:"_getMetrics",value:function(){var e=this.metrics,t=this.stats;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();var n=rx.get("Memory Usage");e.bufferMemory=n.get("Buffer Memory").count,e.textureMemory=n.get("Texture Memory").count,e.renderbufferMemory=n.get("Renderbuffer Memory").count,e.gpuMemory=n.get("GPU Memory").count}}]),e}();kD.getPropTypes=function(e){return{id:e.string,width:e.oneOfType([e.number,e.string]),height:e.oneOfType([e.number,e.string]),layers:e.oneOfType([e.object,e.array]),layerFilter:e.func,views:e.oneOfType([e.object,e.array]),viewState:e.object,effects:e.arrayOf(e.instanceOf(eI)),controller:e.oneOfType([e.func,e.bool,e.object]),gl:e.object,glOptions:e.object,parameters:e.object,pickingRadius:e.number,useDevicePixels:e.oneOfType([e.bool,e.number]),touchAction:e.string,eventRecognizerOptions:e.object,onWebGLInitialized:e.func,onResize:e.func,onViewStateChange:e.func,onInteractionStateChange:e.func,onBeforeRender:e.func,onAfterRender:e.func,onLoad:e.func,onError:e.func,debug:e.bool,drawPickingColors:e.bool,_framebuffer:e.object,_animate:e.bool,_pickable:e.bool,_typedArrayManagerProps:e.object}},kD.defaultProps=wD,kD.VERSION=MR.VERSION;var xD={name:"project32",dependencies:[uI],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},SD={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},CD=M({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:SD,t={};if(void 0!==e.pickingSelectedColor)if(e.pickingSelectedColor){var n=e.pickingSelectedColor.slice(0,3);t.picking_uSelectedColorValid=1,t.picking_uSelectedColor=n}else t.picking_uSelectedColorValid=0;if(e.pickingHighlightColor){var i=Array.from(e.pickingHighlightColor,function(e){return e/255});Number.isFinite(i[3])||(i[3]=1),t.picking_uHighlightColor=i}return void 0!==e.pickingActive&&(t.picking_uActive=Boolean(e.pickingActive),t.picking_uAttribute=Boolean(e.pickingAttribute)),t}}),ED={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},OD=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id,i=void 0===n?cx("geometry"):n,r=t.drawMode,o=void 0===r?ED.TRIANGLES:r,a=t.attributes,s=void 0===a?{}:a,u=t.indices,c=void 0===u?null:u,l=t.vertexCount,h=void 0===l?null:l;this.id=i,this.drawMode=0|o,this.attributes={},this.userData={},this._setAttributes(s,c),this.vertexCount=h||this._calculateVertexCount(this.attributes,this.indices)}return b(e,[{key:"mode",get:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getAttributes",value:function(){return this.indices?M({indices:this.indices},this.attributes):this.attributes}},{key:"_print",value:function(e){return"Geometry ".concat(this.id," attribute ").concat(e)}},{key:"_setAttributes",value:function(e,t){for(var n in t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t),e){var i=e[n];i=ArrayBuffer.isView(i)?{value:i}:i,ox(ArrayBuffer.isView(i.value),"".concat(this._print(n),": must be typed array or object with value as typed array")),("POSITION"===n||"positions"===n)&&!i.size&&(i.size=3),"indices"===n?(ox(!this.indices),this.indices=i):this.attributes[n]=i}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}},{key:"_calculateVertexCount",value:function(e,t){if(t)return t.value.length;var n=1/0;for(var i in e){var r=e[i],o=r.value,a=r.size;!r.constant&&o&&a>=1&&(n=Math.min(n,o.length/a))}return ox(Number.isFinite(n)),n}}],[{key:"DRAW_MODE",get:function(){return ED}}]),e}(),TD=function(){},PD={10241:9987,10240:9729,10242:33071,10243:33071};function AD(e){return Math.pow(2,Math.ceil(Math.log2(e)))}function MD(e){return e&&(e.id||e.url)}function ID(e,t,n){for(var i=0;i0){var n=function(e){for(var t=e.icons,n=e.buffer,i=e.mapping,r=void 0===i?{}:i,o=e.xOffset,a=void 0===o?0:o,s=e.yOffset,u=void 0===s?0:s,c=e.rowHeight,l=void 0===c?0:c,h=e.canvasWidth,d=[],f=0;fh&&(ID(r,d,u),a=0,u=l+u+n,l=0,d=[]),d.push({icon:p,xOffset:a}),a=a+g+n,l=Math.max(l,v)}}return d.length>0&&ID(r,d,u),{mapping:r,rowHeight:l,xOffset:a,yOffset:u,canvasWidth:h,canvasHeight:AD(l+u+n)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset}),i=n.mapping,r=n.xOffset,o=n.yOffset,a=n.rowHeight,s=n.canvasHeight;this._rowHeight=a,this._mapping=i,this._xOffset=r,this._yOffset=o,this._canvasHeight=s,this._texture||(this._texture=new Rx(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:PD})),this._texture.height!==this._canvasHeight&&(this._texture=function(e,t,n,i){var r=t.width,o=t.height,a=Gx(t,{width:n,height:i});return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=n.sourceX,r=void 0===i?0:i,o=n.sourceY,a=void 0===o?0:o,s=n.targetMipmaplevel,u=void 0===s?0:s,c=n.targetInternalFormat,l=void 0===c?6408:c,h=n.targetX,d=n.targetY,f=n.targetZ,p=n.width,v=n.height,g=Yx(e),m=g.framebuffer,y=g.deleteFramebuffer;ox(m);var b=m.gl,_=m.handle,w=void 0!==h||void 0!==d||void 0!==f;h=h||0,d=d||0,f=f||0;var k=b.bindFramebuffer(36160,_);ox(t);var x=null;if(t instanceof Mx&&(x=t,p=Number.isFinite(p)?p:x.width,v=Number.isFinite(v)?v:x.height,x.bind(0),t=x.target),w)switch(t){case 3553:case 34067:b.copyTexSubImage2D(t,u,h,d,r,a,p,v);break;case 35866:case 32879:dk(b).copyTexSubImage3D(t,u,h,d,f,r,a,p,v)}else b.copyTexImage2D(t,u,l,r,a,p,v,0);x&&x.unbind(),b.bindFramebuffer(36160,k||null),y&&m.delete()}(t,a,{targetY:0,width:r,height:o}),t.delete(),a}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}},{key:"_loadIcons",value:function(e){var t,n=this,i=this._canvas.getContext("2d"),r=_(e);try{var o=function(){var e=t.value;n._pendingCount++,rM(e.url,ER,n._loadOptions).then(function(t){var r=MD(e),o=n._mapping[r],a=o.x,s=o.y,u=o.width,c=o.height,l=function(e,t,n,i){return n===t.width&&i===t.height?t:(e.canvas.height=i,e.canvas.width=n,e.clearRect(0,0,e.canvas.width,e.canvas.height),e.drawImage(t,0,0,t.width,t.height,0,0,n,i),e.canvas)}(i,t,u,c);n._texture.setSubImageData({data:l,x:a,y:s,width:u,height:c}),n._texture.generateMipmap(),n.onUpdate()}).catch(function(t){n.onError({url:e.url,source:e.source,sourceIndex:e.sourceIndex,loadOptions:n._loadOptions,error:t})}).finally(function(){n._pendingCount--})};for(r.s();!(t=r.n()).done;)o()}catch(a){r.e(a)}finally{r.f()}}}]),e}(),DD=[0,0,0,255],ND={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:function(e){return e.position}},getIcon:{type:"accessor",value:function(e){return e.icon}},getColor:{type:"accessor",value:DD},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}},LD=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){return e(p(i.prototype),"getShaders",this).call(this,{vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[xD,CD]})}},{key:"initializeState",value:function(){this.state={iconManager:new RD(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:DD},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}},{key:"updateState",value:function(t){var n=t.oldProps,r=t.props,o=t.changeFlags;e(p(i.prototype),"updateState",this).call(this,{props:r,oldProps:n,changeFlags:o});var a=this.getAttributeManager(),s=r.iconAtlas,u=r.iconMapping,c=r.data,l=r.getIcon,h=this.state.iconManager;h.setProps({loadOptions:r.loadOptions});var d=!1;if(s||this.internalState.isAsyncPropLoading("iconAtlas")?(n.iconAtlas!==r.iconAtlas&&h.setProps({iconAtlas:s,autoPacking:!1}),n.iconMapping!==r.iconMapping&&(h.setProps({iconMapping:u}),d=!0)):h.setProps({autoPacking:!0}),(o.dataChanged||o.updateTriggersChanged&&(o.updateTriggersChanged.all||o.updateTriggersChanged.getIcon))&&h.setProps({data:c,getIcon:l}),d&&(a.invalidate("instanceOffsets"),a.invalidate("instanceIconFrames"),a.invalidate("instanceColorModes")),o.extensionsChanged){var f,v=this.context.gl;null===(f=this.state.model)||void 0===f||f.delete(),this.state.model=this._getModel(v),a.invalidateAll()}}},{key:"isLoaded",get:function(){return e(p(i.prototype),"isLoaded",this)&&this.state.iconManager.isLoaded}},{key:"finalizeState",value:function(){e(p(i.prototype),"finalizeState",this).call(this),this.state.iconManager.finalize()}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,i=n.sizeScale,r=n.sizeMinPixels,o=n.sizeMaxPixels,a=n.sizeUnits,s=n.billboard,u=n.alphaCutoff,c=this.state.iconManager,l=this.context.viewport,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===a?l.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:o,billboard:s,alphaCutoff:u}).draw()}},{key:"_getModel",value:function(e){return new nO(e,I(M({},this.getShaders()),{id:this.props.id,geometry:new OD({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}},{key:"_onUpdate",value:function(){this.setNeedsRedraw()}},{key:"_onError",value:function(e){var t=this.getCurrentLayer().props.onIconError;t?t(e):ik.error(e.error)()}},{key:"getInstanceOffset",value:function(e){var t=this.state.iconManager.getIconMapping(e);return[t.width/2-t.anchorX||0,t.height/2-t.anchorY||0]}},{key:"getInstanceColorMode",value:function(e){return this.state.iconManager.getIconMapping(e).mask?1:0}},{key:"getInstanceIconFrame",value:function(e){var t=this.state.iconManager.getIconMapping(e);return[t.x||0,t.y||0,t.width||0,t.height||0]}}]),i}(hM);return t.layerName="IconLayer",t.defaultProps=ND,t}(),jD=[],FD={getIconOffsets:{type:"accessor",value:function(e){return e.offsets}},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}},BD=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){return I(M({},e(p(i.prototype),"getShaders",this).call(this)),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}},{key:"initializeState",value:function(){var t=this;e(p(i.prototype),"initializeState",this).call(this),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:function(e,n){var i=n.index,r=n.target;return t.encodePickingColor(i,r)}}})}},{key:"updateState",value:function(t){e(p(i.prototype),"updateState",this).call(this,t);var n=t.props,r=t.oldProps,o=n.outlineColor;o!==r.outlineColor&&((o=o.map(function(e){return e/255}))[3]=Number.isFinite(o[3])?o[3]:1,this.setState({outlineColor:o})),!n.sdf&&n.outlineWidth&&ik.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}},{key:"draw",value:function(t){var n=this.props,r=n.sdf,o=n.smoothing,a=n.outlineWidth,s=this.state.outlineColor;t.uniforms=I(M({},t.uniforms),{buffer:.75,outlineBuffer:a?Math.max(o,.75*(1-a)):-1,gamma:o,sdf:Boolean(r),outlineColor:s}),e(p(i.prototype),"draw",this).call(this,t)}},{key:"getInstanceOffset",value:function(t){var n=this;return t?Array.from(t).map(function(t){return e(p(i.prototype),"getInstanceOffset",n).call(n,t)}):jD}},{key:"getInstanceColorMode",value:function(e){return 1}},{key:"getInstanceIconFrame",value:function(t){var n=this;return t?Array.from(t).map(function(t){return e(p(i.prototype),"getInstanceIconFrame",n).call(n,t)}):jD}}]),i}(LD);return t.layerName="MultiIconLayer",t.defaultProps=FD,t}(),VD=r(51002),zD=r.n(VD),UD=[];function HD(e){return Math.pow(2,Math.ceil(Math.log2(e)))}function GD(e,t,n,i){for(var r=0,o=t;oi&&(a4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5?arguments[5]:void 0;void 0===o&&(o=e.length);var a=[];return"break-all"===t?WD(e,r,o,n,i,a):function(e,t,n,i,r,o){for(var a=t,s=t,u=t,c=0,l=t;ls){var h=GD(e,s,u,r);c+h>i&&(ai&&(h=WD(e,s,u,i,r,o),a=o[o.length-1])),s=u,c+=h}}(e,r,o,n,i,a),a}function XD(e,t,n,i,r,o){for(var a=0,s=0,u=t;u0,l=[0,0],h=[],d=0,f=0,p=0,v=0;v<=o;v++){var g=e[v];if(("\n"===g||v===o)&&(p=v),p>f){for(var m=c?qD(e,n,i,r,f,p):UD,y=0;y<=m.length;y++){var b=0===y?f:m[y-1],_=y0&&void 0!==arguments[0]?arguments[0]:5;m(this,e),this.limit=t,this.clear()}return b(e,[{key:"clear",value:function(){this._cache={},this._order=[]}},{key:"get",value:function(e){var t=this._cache[e];return t&&(this._deleteOrder(e),this._appendOrder(e)),t}},{key:"set",value:function(e,t){this._cache[e]?(this.delete(e),this._cache[e]=t,this._appendOrder(e)):(Object.keys(this._cache).length===this.limit&&this.delete(this._order[0]),this._cache[e]=t,this._appendOrder(e))}},{key:"delete",value:function(e){this._cache[e]&&(this._deleteCache(e),this._deleteOrder(e))}},{key:"_deleteCache",value:function(e){delete this._cache[e]}},{key:"_deleteOrder",value:function(e){var t=this._order.findIndex(function(t){return t===e});t>=0&&this._order.splice(t,1)}},{key:"_appendOrder",value:function(e){this._order.push(e)}}]),e}())(3),ZD=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function JD(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};ZD.forEach(function(n){n in t&&(e.props[n]=t[n])});var n=this._key;this._key=this._getKey();var i=function(e,t){var n=QD.get(e);if(!n)return t;var i=[],r=Object.keys(n.mapping);r=new Set(r);var o=t;return o instanceof Array&&(o=new Set(o)),o.forEach(function(e){r.has(e)||i.push(e)}),i}(this._key,this.props.characterSet),r=QD.get(this._key);if(r&&0===i.length)this._key!==n&&(this._atlas=r);else{var o=this._generateFontAtlas(this._key,i,r);this._atlas=o,QD.set(this._key,o)}}},{key:"_generateFontAtlas",value:function(e,t,n){var i=this.props,r=i.fontFamily,o=i.fontWeight,a=i.fontSize,s=i.buffer,u=i.sdf,c=i.radius,l=i.cutoff,h=n&&n.data;h||((h=document.createElement("canvas")).width=1024);var d=h.getContext("2d");eN(d,r,a,o);var f=function(e){var t,n=e.characterSet,i=e.getFontWidth,r=e.fontHeight,o=e.buffer,a=e.maxCanvasWidth,s=e.mapping,u=void 0===s?{}:s,c=e.xOffset,l=void 0===c?0:c,h=e.yOffset,d=void 0===h?0:h,f=0,p=l,v=0,g=_(n);try{for(g.s();!(t=g.n()).done;){var m=t.value;if(!u[m]){var y=i(m,v++);p+y+2*o>a&&(p=0,f++),u[m]={x:p+o,y:d+f*(r+2*o)+o,width:y,height:r},p+=y+2*o}}}catch(w){g.e(w)}finally{g.f()}var b=r+2*o;return{mapping:u,xOffset:p,yOffset:d+f*b,canvasHeight:HD(d+(f+1)*b)}}(M({getFontWidth:function(e){return d.measureText(e).width},fontHeight:1.2*a,buffer:s,characterSet:t,maxCanvasWidth:1024},n&&{mapping:n.mapping,xOffset:n.xOffset,yOffset:n.yOffset})),p=f.mapping,v=f.canvasHeight,g=f.xOffset,m=f.yOffset;if(h.height!==v){var y=d.getImageData(0,0,h.width,h.height);h.height=v,d.putImageData(y,0,0)}if(eN(d,r,a,o),u){var b,w=new(zD())(a,s,c,l,r,o),k=d.getImageData(0,0,w.size,w.size),x=_(t);try{for(x.s();!(b=x.n()).done;){var S=b.value;JD(w.draw(S),k),d.putImageData(k,p[S].x-s,p[S].y+s)}}catch(T){x.e(T)}finally{x.f()}}else{var C,E=_(t);try{for(E.s();!(C=E.n()).done;){var O=C.value;d.fillText(O,p[O].x,p[O].y+.9*a)}}catch(T){E.e(T)}finally{E.f()}}return{xOffset:g,yOffset:m,mapping:p,data:h,width:h.width,height:h.height}}},{key:"_getKey",value:function(){var e=this.props,t=e.fontFamily,n=e.fontWeight,i=e.fontSize,r=e.buffer,o=e.sdf,a=e.radius,s=e.cutoff;return o?"".concat(t," ").concat(n," ").concat(i," ").concat(r," ").concat(a," ").concat(s):"".concat(t," ").concat(n," ").concat(i," ").concat(r)}}]),e}(),nN={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:function(e){return e.position}},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}},iN=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){return e(p(i.prototype),"getShaders",this).call(this,{vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[xD,CD]})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}},{key:"updateState",value:function(t){var n=t.props,r=t.oldProps,o=t.changeFlags;if(e(p(i.prototype),"updateState",this).call(this,{props:n,oldProps:r,changeFlags:o}),o.extensionsChanged){var a,s=this.context.gl;null===(a=this.state.model)||void 0===a||a.delete(),this.state.model=this._getModel(s),this.getAttributeManager().invalidateAll()}}},{key:"draw",value:function(e){var t=e.uniforms,n=this.context.viewport,i=this.props,r=i.billboard,o=i.sizeScale,a=i.sizeUnits,s=i.sizeMinPixels,u=i.sizeMaxPixels,c=i.getLineWidth,l=this.props.padding,h="pixels"===a?n.metersPerPixel:1;l.length<4&&(l=[l[0],l[1],l[0],l[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:l,sizeScale:o*h,sizeMinPixels:s,sizeMaxPixels:u}).draw()}},{key:"_getModel",value:function(e){return new nO(e,I(M({},this.getShaders()),{id:this.props.id,geometry:new OD({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}]),i}(hM);return t.layerName="TextBackgroundLayer",t.defaultProps=nN,t}(),rN={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},oN={start:1,middle:0,end:-1},aN={top:1,center:0,bottom:-1},sN=[0,0,0,255],uN=["fontSize","buffer","sdf","radius","cutoff"],cN={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:sN},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:KD},fontFamily:$D,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:sN},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:function(e){return e.text}},getPosition:{type:"accessor",value:function(e){return e.position}},getColor:{type:"accessor",value:sN},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}},lN=function(){var e=function(e){a(i,e);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"initializeState",value:function(){this.state={styleVersion:0,fontAtlasManager:new tN}}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps,i=e.changeFlags,r=this.state.characterSet;(i.dataChanged||i.updateTriggersChanged&&(i.updateTriggersChanged.all||i.updateTriggersChanged.getText))&&this._updateText();var o=r!==this.state.characterSet||this._fontChanged(n,t);o&&this._updateFontAtlas(n,t),(o||t.lineHeight!==n.lineHeight||t.wordBreak!==n.wordBreak||t.maxWidth!==n.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}},{key:"getPickingInfo",value:function(e){var t=e.info;return t.object=t.index>=0?this.props.data[t.index]:null,t}},{key:"_updateFontAtlas",value:function(e,t){var n=t.fontSettings,i=t.fontFamily,r=t.fontWeight,o=this.state,a=o.fontAtlasManager,s=o.characterSet;a.setProps(I(M(M({},rN),n),{characterSet:s,fontFamily:i,fontWeight:r}))}},{key:"_fontChanged",value:function(e,t){if(e.fontFamily!==t.fontFamily||e.fontWeight!==t.fontWeight)return!0;if(e.fontSettings===t.fontSettings)return!1;var n=e.fontSettings||{},i=t.fontSettings||{};return uN.some(function(e){return n[e]!==i[e]})}},{key:"_updateText",value:function(){var e,t=this.props,n=t.data,i=t.characterSet,r=n.attributes&&n.attributes.getText,o=this.props.getText,a=n.startIndices,s="auto"===i&&new Set;if(r&&a){var u=function(e){var t=e.value,n=e.length,i=e.stride,r=e.offset,o=e.startIndices,a=e.characterSet,s=t.BYTES_PER_ELEMENT,u=i?i/s:1,c=r?r/s:0,l=o[n]||Math.ceil((t.length-c)/u),h=a&&new Set,d=new Array(n),f=t;if(u>1||c>0){f=new t.constructor(l);for(var p=0;p0&&void 0!==arguments[0]?arguments[0]:{},t=e.color,n=void 0===t?[0,0,0]:t,i=e.intensity,r=void 0===i?1:i;return n.map(function(e){return e*r/255})}var pN={name:"lights",vs:hN,fs:hN,getUniforms:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:dN;if("lightSources"in t){var n=t.lightSources||{},i=n.ambientLight,r=n.pointLights,o=n.directionalLights;return i||r&&r.length>0||o&&o.length>0?Object.assign({},function(e){var t=e.ambientLight,n=e.pointLights,i=void 0===n?[]:n,r=e.directionalLights,o=void 0===r?[]:r,a={};return a["lighting_uAmbientLight.color"]=t?fN(t):[0,0,0],i.forEach(function(e,t){a["lighting_uPointLight[".concat(t,"].color")]=fN(e),a["lighting_uPointLight[".concat(t,"].position")]=e.position,a["lighting_uPointLight[".concat(t,"].attenuation")]=e.attenuation||[1,0,0]}),a.lighting_uPointLightCount=i.length,o.forEach(function(e,t){a["lighting_uDirectionalLight[".concat(t,"].color")]=fN(e),a["lighting_uDirectionalLight[".concat(t,"].direction")]=e.direction}),a.lighting_uDirectionalLightCount=o.length,a}({ambientLight:i,pointLights:r,directionalLights:o}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in t){var a,s={pointLights:[],directionalLights:[]},u=_(t.lights||[]);try{for(u.s();!(a=u.n()).done;){var c=a.value;switch(c.type){case"ambient":s.ambientLight=c;break;case"directional":s.directionalLights.push(c);break;case"point":s.pointLights.push(c)}}}catch(l){u.e(l)}finally{u.f()}return e({lightSources:s})}return{}},defines:{MAX_LIGHTS:3}},vN={},gN={name:"phong-lighting",dependencies:[pN],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:vN;if(!("material"in e))return{};var t=e.material;return t?function(e){var t=e.ambient,n=void 0===t?.35:t,i=e.diffuse,r=void 0===i?.6:i,o=e.shininess,a=void 0===o?32:o,s=e.specularColor;return{lighting_uAmbient:n,lighting_uDiffuse:r,lighting_uShininess:a,lighting_uSpecularColor:(void 0===s?[30,30,30]:s).map(function(e){return e/255})}}(t):{lighting_uEnabled:!1}}},mN=Math.PI/180,yN=new Float32Array(16),bN=new Float32Array(12);function _N(e,t,n){var i=t[0]*mN,r=t[1]*mN,o=t[2]*mN,a=Math.sin(o),s=Math.sin(i),u=Math.sin(r),c=Math.cos(o),l=Math.cos(i),h=Math.cos(r),d=n[0],f=n[1],p=n[2];e[0]=d*h*l,e[1]=d*u*l,e[2]=d*-s,e[3]=f*(-u*c+h*s*a),e[4]=f*(h*c+u*s*a),e[5]=f*l*a,e[6]=p*(u*a+h*s*c),e[7]=p*(-h*a+u*s*c),e[8]=p*l*c}function wN(e){return e[0]=e[0],e[1]=e[1],e[2]=e[2],e[3]=e[4],e[4]=e[5],e[5]=e[6],e[6]=e[8],e[7]=e[9],e[8]=e[10],e[9]=e[12],e[10]=e[13],e[11]=e[14],e.subarray(0,12)}var kN={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update:function(e,t){var n=t.startRow,i=t.endRow,r=this.props,o=r.data,a=r.getOrientation,s=r.getScale,u=r.getTranslation,c=r.getTransformMatrix,l=Array.isArray(c),h=l&&16===c.length,d=Array.isArray(s),f=Array.isArray(a),p=Array.isArray(u),v=h||!l&&Boolean(c(o[0]));e.constant=v?h:f&&d&&p;var g=e.value;if(e.constant){var m;v?(yN.set(c),m=wN(yN)):(_N(m=bN,a,s),m.set(u,9)),e.value=new Float32Array(m)}else{var y,b=n*e.size,w=YS(o,n,i),k=w.iterable,x=w.objectInfo,S=_(k);try{for(S.s();!(y=S.n()).done;){var C=y.value,E=void 0;x.index++,v?(yN.set(h?c:c(C,x)),E=wN(yN)):(_N(E=bN,f?a:a(C,x),d?s:s(C,x)),E.set(p?u:u(C,x),9)),g[b++]=E[0],g[b++]=E[1],g[b++]=E[2],g[b++]=E[3],g[b++]=E[4],g[b++]=E[5],g[b++]=E[6],g[b++]=E[7],g[b++]=E[8],g[b++]=E[9],g[b++]=E[10],g[b++]=E[11]}}catch(O){S.e(O)}finally{S.f()}}}};function xN(e,t){return t===rk.CARTESIAN||t===rk.METER_OFFSETS||t===rk.DEFAULT&&!e.isGeospatial}function SN(e,t){(e.COLOR_0||e.colors)&&t||(e.colors={constant:!0,value:new Float32Array([1,1,1])}),ik.assert(e.positions||e.POSITION,'no "postions" or "POSITION" attribute in mesh')}function CN(e,t){if(e.attributes)return SN(e.attributes,t),e instanceof OD?e:new OD(e);if(e.positions||e.POSITION)return SN(e,t),new OD({attributes:e});throw Error("Invalid mesh")}var EN={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:function(e){return e.position}},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}},ON=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){var t=!lk(this.context.gl),n={};return Zx(this.context.gl,"GLSL_DERIVATIVES")&&(n.DERIVATIVES_AVAILABLE=1),e(p(i.prototype),"getShaders",this).call(this,{vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[xD,gN,CD],transpileToGLSL100:t,defines:n})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:kN}),this.setState({emptyTexture:new Rx(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}},{key:"updateState",value:function(t){var n=t.props,r=t.oldProps,o=t.changeFlags;if(e(p(i.prototype),"updateState",this).call(this,{props:n,oldProps:r,changeFlags:o}),n.mesh!==r.mesh||o.extensionsChanged){var a;if(null===(a=this.state.model)||void 0===a||a.delete(),n.mesh){this.state.model=this.getModel(n.mesh);var s=n.mesh.attributes||n.mesh;this.setState({hasNormals:Boolean(s.NORMAL||s.normals)})}this.getAttributeManager().invalidateAll()}n.texture!==r.texture&&this.setTexture(n.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}},{key:"finalizeState",value:function(){e(p(i.prototype),"finalizeState",this).call(this),this.state.emptyTexture.delete()}},{key:"draw",value:function(e){var t=e.uniforms;if(this.state.model){var n=this.context.viewport,i=this.props,r=i.sizeScale,o=i.coordinateSystem,a=i._instanced;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!a||xN(n,o),flatShading:!this.state.hasNormals}).draw()}}},{key:"getModel",value:function(e){var t=new nO(this.context.gl,I(M({},this.getShaders()),{id:this.props.id,geometry:CN(e,this.props._useMeshColors),isInstanced:!0})),n=this.props.texture,i=this.state.emptyTexture;return t.setUniforms({sampler:n||i,hasTexture:Boolean(n)}),t}},{key:"setTexture",value:function(e){var t=this.state,n=t.emptyTexture,i=t.model;null==i||i.setUniforms({sampler:e||n,hasTexture:Boolean(e)})}}]),i}(hM);return t.layerName="SimpleMeshLayer",t.defaultProps=EN,t}(),TN={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[pN]},PN=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id;this.id=n||cx(this.constructor.name),this.display=!0,this.position=new FS,this.rotation=new FS,this.scale=new FS(1,1,1),this.matrix=new $O,this.userData={},this.props={},this._setScenegraphNodeProps(t)}return b(e,[{key:"delete",value:function(){}},{key:"setProps",value:function(e){return this._setScenegraphNodeProps(e),this}},{key:"toString",value:function(){return"{type: ScenegraphNode, id: ".concat(this.id,")}")}},{key:"setPosition",value:function(e){return ox(3===e.length,"setPosition requires vector argument"),this.position=e,this}},{key:"setRotation",value:function(e){return ox(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}},{key:"setScale",value:function(e){return ox(3===e.length,"setScale requires vector argument"),this.scale=e,this}},{key:"setMatrix",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t?this.matrix.copy(e):this.matrix=e}},{key:"setMatrixComponents",value:function(e){var t=e.position,n=e.rotation,i=e.scale,r=e.update,o=void 0===r||r;return t&&this.setPosition(t),n&&this.setRotation(n),i&&this.setScale(i),o&&this.updateMatrix(),this}},{key:"updateMatrix",value:function(){var e=this.position,t=this.rotation,n=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(n),this}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.position,n=e.rotation,i=e.scale;return t&&this.setPosition(t),n&&this.setRotation(n),i&&this.setScale(i),this.updateMatrix(),this}},{key:"getCoordinateUniforms",value:function(e,t){ox(e),t=t||this.matrix;var n=new $O(e).multiplyRight(t),i=n.invert(),r=i.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:n,worldInverseMatrix:i,worldInverseTransposeMatrix:r}}},{key:"_setScenegraphNodeProps",value:function(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}]),e}(),AN=function(t){a(i,t);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,i);var r=t=Array.isArray(t)?{children:t}:t,o=r.children,a=void 0===o?[]:o;return sk.assert(a.every(function(e){return e instanceof PN}),"every child must an instance of ScenegraphNode"),(e=n.call(this,t)).children=a,e}return b(i,[{key:"add",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n-1&&t.splice(n,1),this}},{key:"removeAll",value:function(){return this.children=[],this}},{key:"delete",value:function(){this.children.forEach(function(e){return e.delete()}),this.removeAll(),e(p(i.prototype),"delete",this).call(this)}},{key:"traverse",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.worldMatrix,o=void 0===r?new $O:r,a=new $O(o).multiplyRight(this.matrix),s=_(this.children);try{for(s.s();!(t=s.n()).done;){var u=t.value;u instanceof i?u.traverse(e,{worldMatrix:a}):e(u,{worldMatrix:a})}}catch(c){s.e(c)}finally{s.f()}}}]),i}(PN);function MN(e,t,n){var i=t[0],r=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],h=t[8],d=n[0],f=n[1],p=n[2],v=n[3],g=n[4],m=n[5],y=n[6],b=n[7],_=n[8];return e[0]=d*i+f*a+p*c,e[1]=d*r+f*s+p*l,e[2]=d*o+f*u+p*h,e[3]=v*i+g*a+m*c,e[4]=v*r+g*s+m*l,e[5]=v*o+g*u+m*h,e[6]=y*i+b*a+_*c,e[7]=y*r+b*s+_*l,e[8]=y*o+b*u+_*h,e}function IN(e,t,n){var i=n[0],r=n[1];return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=r*t[3],e[4]=r*t[4],e[5]=r*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function RN(){var e=new kS(4);return kS!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function DN(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function NN(e,t,n){n*=.5;var i=Math.sin(n);return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=Math.cos(n),e}function LN(e,t,n){var i=t[0],r=t[1],o=t[2],a=t[3],s=n[0],u=n[1],c=n[2],l=n[3];return e[0]=i*l+a*s+r*c-o*u,e[1]=r*l+a*u+o*s-i*c,e[2]=o*l+a*c+i*u-r*s,e[3]=a*l-i*s-r*u-o*c,e}function jN(e,t,n){n*=.5;var i=t[0],r=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);return e[0]=i*u+a*s,e[1]=r*u+o*s,e[2]=o*u-r*s,e[3]=a*u-i*s,e}function FN(e,t,n){n*=.5;var i=t[0],r=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);return e[0]=i*u-o*s,e[1]=r*u+a*s,e[2]=o*u+i*s,e[3]=a*u-r*s,e}function BN(e,t,n){n*=.5;var i=t[0],r=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);return e[0]=i*u+r*s,e[1]=r*u-i*s,e[2]=o*u+a*s,e[3]=a*u-o*s,e}function VN(e,t){var n=t[0],i=t[1],r=t[2];return e[0]=n,e[1]=i,e[2]=r,e[3]=Math.sqrt(Math.abs(1-n*n-i*i-r*r)),e}function zN(e,t,n,i){var r,o,a,s,u,c=t[0],l=t[1],h=t[2],d=t[3],f=n[0],p=n[1],v=n[2],g=n[3];return(o=c*f+l*p+h*v+d*g)<0&&(o=-o,f=-f,p=-p,v=-v,g=-g),1-o>wS?(r=Math.acos(o),a=Math.sin(r),s=Math.sin((1-i)*r)/a,u=Math.sin(i*r)/a):(s=1-i,u=i),e[0]=s*c+u*f,e[1]=s*l+u*p,e[2]=s*h+u*v,e[3]=s*d+u*g,e}function UN(e,t){var n=t[0],i=t[1],r=t[2],o=t[3],a=n*n+i*i+r*r+o*o,s=a?1/a:0;return e[0]=-n*s,e[1]=-i*s,e[2]=-r*s,e[3]=o*s,e}function HN(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function GN(e,t){var n,i=t[0]+t[4]+t[8];if(i>0)n=Math.sqrt(i+1),e[3]=.5*n,e[0]=(t[5]-t[7])*(n=.5/n),e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{var r=0;t[4]>t[0]&&(r=1),t[8]>t[3*r+r]&&(r=2);var o=(r+1)%3,a=(r+2)%3;n=Math.sqrt(t[3*r+r]-t[3*o+o]-t[3*a+a]+1),e[r]=.5*n,e[3]=(t[3*o+a]-t[3*a+o])*(n=.5/n),e[o]=(t[3*o+r]+t[3*r+o])*n,e[a]=(t[3*a+r]+t[3*r+a])*n}return e}var WN=function(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e[3]=t[3]+n[3],e},qN=IO,XN=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]},YN=function(e,t,n,i){var r=t[0],o=t[1],a=t[2],s=t[3];return e[0]=r+i*(n[0]-r),e[1]=o+i*(n[1]-o),e[2]=a+i*(n[2]-a),e[3]=s+i*(n[3]-s),e},KN=function(e){return Math.hypot(e[0],e[1],e[2],e[3])},$N=function(e){var t=e[0],n=e[1],i=e[2],r=e[3];return t*t+n*n+i*i+r*r},QN=function(){var e=xS(),t=SS(1,0,0),n=SS(0,1,0);return function(i,r,o){var a=CS(r,o);return a<-.999999?(ES(e,t,r),function(e){return Math.hypot(e[0],e[1],e[2])}(e)<1e-6&&ES(e,n,r),function(e,t){var n=t[0],i=t[1],r=t[2],o=n*n+i*i+r*r;o>0&&(o=1/Math.sqrt(o)),e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o}(e,e),NN(i,e,Math.PI),i):a>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(ES(e,r,o),i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=1+a,function(e,t){var n=t[0],i=t[1],r=t[2],o=t[3],a=n*n+i*i+r*r+o*o;return a>0&&(a=1/Math.sqrt(a)),e[0]=n*a,e[1]=i*a,e[2]=r*a,e[3]=o*a,e}(i,i))}}();RN(),RN(),function(){var e=new kS(9);kS!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1}();var ZN=[0,0,0,1],JN=function(e){a(i,e);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return m(this,i),e=n.call(this,-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?e.copy(t):e.set(t,r,o,a),e}return b(i,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}},{key:"set",value:function(e,t,n,i){return this[0]=e,this[1]=t,this[2]=n,this[3]=i,this.check()}},{key:"fromMatrix3",value:function(e){return GN(this,e),this.check()}},{key:"identity",value:function(){return DN(this),this.check()}},{key:"fromAxisRotation",value:function(e,t){return NN(this,e,t),this.check()}},{key:"setAxisAngle",value:function(e,t){return this.fromAxisRotation(e,t)}},{key:"ELEMENTS",get:function(){return 4}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"w",get:function(){return this[3]},set:function(e){this[3]=gS(e)}},{key:"len",value:function(){return KN(this)}},{key:"lengthSquared",value:function(){return $N(this)}},{key:"dot",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return XN(this,e)}},{key:"rotationTo",value:function(e,t){return QN(this,e,t),this.check()}},{key:"add",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return WN(this,this,e),this.check()}},{key:"calculateW",value:function(){return VN(this,this),this.check()}},{key:"conjugate",value:function(){return HN(this,this),this.check()}},{key:"invert",value:function(){return UN(this,this),this.check()}},{key:"lerp",value:function(e,t,n){return YN(this,e,t,n),this.check()}},{key:"multiplyRight",value:function(e,t){return pS(!t),LN(this,this,e),this.check()}},{key:"multiplyLeft",value:function(e,t){return pS(!t),LN(this,e,this),this.check()}},{key:"normalize",value:function(){var e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}},{key:"rotateX",value:function(e){return jN(this,this,e),this.check()}},{key:"rotateY",value:function(e){return FN(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return BN(this,this,e),this.check()}},{key:"scale",value:function(e){return qN(this,this,e),this.check()}},{key:"slerp",value:function(e,n,i){var r;switch(arguments.length){case 1:var o=arguments[0],a=o.start;e=void 0===a?ZN:a,n=o.target,i=o.ratio;break;case 2:n=(r=t(arguments,2))[0],i=r[1],e=this}return zN(this,e,n,i),this.check()}},{key:"transformVector4",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return DO(t,e,this),mS(t,4)}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"setFromAxisAngle",value:function(e,t){return this.setAxisAngle(e,t)}},{key:"premultiply",value:function(e,t){return this.multiplyLeft(e,t)}},{key:"multiply",value:function(e,t){return this.multiplyRight(e,t)}}]),i}(vS),eL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},tL={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function nL(e){if(!e._animation){var t=tL[e.componentType],n=eL[e.type],i=n*e.count,r=e.bufferView.data,o=new t(r.buffer,r.byteOffset+(e.byteOffset||0),i);if(1===n)e._animation=Array.from(o);else{for(var a=[],s=0;s=s}),c=Math.max(0,u-1);if(!Array.isArray(n[i]))switch(i){case"translation":n[i]=[0,0,0];break;case"rotation":n[i]=[0,0,0,1];break;case"scale":n[i]=[1,1,1];break;default:sk.warn("Bad animation path ".concat(i))()}ox(n[i].length===a[c].length);var l=r[c],h=r[u];switch(o){case"STEP":!function(e,t,n){for(var i=0;il&&function(e,t,n,i,r){if("rotation"===t){rL.slerp({start:n,target:i,ratio:r});for(var o=0;ol&&function(e,t,n){for(var i=n.p0,r=n.outTangent0,o=n.inTangent1,a=n.p1,s=n.tDiff,u=n.ratio,c=0;c1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),(t=n.call(this,r)).onBeforeRender=null,t.AfterRender=null,e instanceof nO?(t.model=e,t._setModelNodeProps(r)):t.model=new nO(e,r),t.managedResources=r.managedResources||[],t}return b(i,[{key:"setProps",value:function(t){return e(p(i.prototype),"setProps",this).call(this,t),this._setModelNodeProps(t),this}},{key:"delete",value:function(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(function(e){return e.delete()}),this.managedResources=[]}},{key:"draw",value:function(){var e;return(e=this.model).draw.apply(e,arguments)}},{key:"setUniforms",value:function(){var e;return(e=this.model).setUniforms.apply(e,arguments),this}},{key:"setAttributes",value:function(){var e;return(e=this.model).setAttributes.apply(e,arguments),this}},{key:"updateModuleSettings",value:function(){var e;return(e=this.model).updateModuleSettings.apply(e,arguments),this}},{key:"_setModelNodeProps",value:function(e){this.model.setProps(e)}}]),i}(PN),uL=function(){function e(t,n){var i=n.attributes,r=n.material,o=n.pbrDebug,a=n.imageBasedLightingEnvironment,s=n.lights,u=n.useTangents;m(this,e),this.gl=t,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},Zx(t,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],a&&(this.uniforms.u_DiffuseEnvSampler=a.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=a.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=a.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),o&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(i.NORMAL,"HAS_NORMALS"),this.defineIfPresent(i.TANGENT&&u,"HAS_TANGENTS"),this.defineIfPresent(i.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(a,"USE_IBL"),this.defineIfPresent(s,"USE_LIGHTS"),this.defineIfPresent(o,"PBR_DEBUG"),r&&this.parseMaterial(r)}return b(e,[{key:"defineIfPresent",value:function(e,t){e&&(this.defines[t]=1)}},{key:"parseTexture",value:function(e,t){var n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=e.texture.source.image,a={};r.compressed?(n=r,a=o({},this.gl.TEXTURE_MIN_FILTER,r.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR)):n={data:r};var s=new Rx(this.gl,M({id:e.name||e.id,parameters:M(M({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:o({},this.gl.UNPACK_FLIP_Y_WEBGL,!1)},n));this.uniforms[t]=s,this.defineIfPresent(i,i),this.generatedTextures.push(s)}},{key:"parsePbrMetallicRoughness",value:function(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");var t=e.metallicFactor,n=void 0===t?1:t,i=e.roughnessFactor,r=void 0===i?1:i;this.uniforms.u_MetallicRoughnessValues=[n,r]}},{key:"parseMaterial",value:function(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");var t=e.normalTexture.scale,n=void 0===t?1:t;this.uniforms.u_NormalScale=n}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");var i=e.occlusionTexture.strength,r=void 0===i?1:i;this.uniforms.u_OcclusionStrength=r}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){var o=e.alphaCutoff,a=void 0===o?.5:o;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=a}else"BLEND"===e.alphaMode&&(sk.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}]),e}();function cL(e,t){return lk(e)?"#version 300 es\n".concat(t):t}var lL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},hL={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1},dL=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.gl=t,this.options=Object.assign({},hL,n)}return b(e,[{key:"instantiate",value:function(e){var t=this;return this.gltf=e,(e.scenes||[]).map(function(e){return t.createScene(e)})}},{key:"createAnimator",value:function(){return Array.isArray(this.gltf.animations)?new aL(this.gltf):null}},{key:"createScene",value:function(e){var t=this,n=(e.nodes||[]).map(function(e){return t.createNode(e)});return new AN({id:e.name||e.id,children:n})}},{key:"createNode",value:function(e){var t=this;if(!e._node){var n=(e.children||[]).map(function(e){return t.createNode(e)});e.mesh&&n.push(this.createMesh(e.mesh));var i=new AN({id:e.name||e.id,children:n});if(e.matrix)i.setMatrix(e.matrix);else{if(i.matrix.identity(),e.translation&&i.matrix.translate(e.translation),e.rotation){var r=(new $O).fromQuaternion(e.rotation);i.matrix.multiplyRight(r)}e.scale&&i.matrix.scale(e.scale)}e._node=i}return e._node}},{key:"createMesh",value:function(e){var t=this;if(!e._mesh){var n=(e.primitives||[]).map(function(n,i){return t.createPrimitive(n,i,e)}),i=new AN({id:e.name||e.id,children:n});e._mesh=i}return e._mesh}},{key:"getVertexCount",value:function(e){sk.warn("getVertexCount() not found")()}},{key:"createPrimitive",value:function(e,t,n){return function(e,t){var n=t.id,i=t.drawMode,r=t.vertexCount,o=t.attributes,a=t.modelOptions,s=new uL(e,t);sk.info(4,"createGLTFModel defines: ",s.defines)();var u=[];u.push.apply(u,v(s.generatedTextures)),u.push.apply(u,v(Object.values(o).map(function(e){return e.buffer})));var c=new sL(e,Object.assign({id:n,drawMode:i,vertexCount:r,modules:[TN],defines:s.defines,parameters:s.parameters,vs:cL(e,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:cL(e,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:u},a));return c.setProps({attributes:o}),c.setUniforms(s.uniforms),c}(this.gl,Object.assign({id:e.name||"".concat(n.name||n.id,"-primitive-").concat(t),drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}},{key:"createAttributes",value:function(e,t){var n=this,i={};return Object.keys(e).forEach(function(t){i[t]=n.createAccessor(e[t],n.createBuffer(e[t],n.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),sk.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}},{key:"createBuffer",value:function(e,t){e.bufferView||(e.bufferView={});var n=e.bufferView;return n.lumaBuffers||(n.lumaBuffers={}),n.lumaBuffers[t]||(n.lumaBuffers[t]=new Cx(this.gl,{id:"from-".concat(n.id),data:n.data||e.value,target:t})),n.lumaBuffers[t]}},{key:"createAccessor",value:function(e,t){return new wx({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:lL[e.type]})}},{key:"createSampler",value:function(e){return e}},{key:"needsPOT",value:function(){return!1}}]),e}();function fL(e,t,n){if(e.byteLength<=t+n)return"";for(var i=new DataView(e),r="",o=0;o")}}]),i}(wL,Symbol.toStringTag),RL=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Map;m(this,e),FP(this,"name",void 0),FP(this,"type",void 0),FP(this,"nullable",void 0),FP(this,"metadata",void 0),this.name=t,this.type=n,this.nullable=i,this.metadata=r}return b(e,[{key:"typeId",get:function(){return this.type&&this.type.typeId}},{key:"clone",value:function(){return new e(this.name,this.type,this.nullable,this.metadata)}},{key:"compareTo",value:function(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}},{key:"toString",value:function(){return"".concat(this.type).concat(this.nullable?", nullable":"").concat(this.metadata?", metadata: ".concat(this.metadata):"")}}]),e}();function DL(e,t,n){var i=n?NL(n.metadata):void 0,r=function(e){switch(e.constructor){case Int8Array:return new xL;case Uint8Array:return new EL;case Int16Array:return new SL;case Uint16Array:return new OL;case Int32Array:return new CL;case Uint32Array:return new TL;case Float32Array:return new AL;case Float64Array:return new ML;default:throw new Error("array type not supported")}}(t.value);return new RL(e,new IL(t.size,new RL("value",r)),!1,i)}function NL(e){var t=new Map;for(var n in e)t.set("".concat(n,".string"),JSON.stringify(e[n]));return t}var LL={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},jL={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},FL=function(){function e(t){m(this,e),FP(this,"draco",void 0),FP(this,"decoder",void 0),FP(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}return b(e,[{key:"destroy",value:function(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}},{key:"parseSync",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);var i=this.decoder.GetEncodedGeometryType(n),r=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{var o;switch(i){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,r);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,r);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!r.ptr){var a="DRACO decompression failed: ".concat(o.error_msg());throw new Error(a)}var s=this._getDracoLoaderData(r,i,t),u=this._getMeshData(r,s,t),c=function(e){for(var t=1/0,n=1/0,i=1/0,r=-1/0,o=-1/0,a=-1/0,s=e.POSITION?e.POSITION.value:[],u=s&&s.length,c=0;cr?l:r,o=h>o?h:o,a=d>a?d:a}return[[t,n,i],[r,o,a]]}(u.attributes),l=function(e,t,n){var i=NL(t.metadata),r=[],o=function(e){var t={};for(var n in e){var i=e[n];t[i.name||"undefined"]=i}return t}(t.attributes);for(var a in e){var s=DL(a,e[a],o[a]);r.push(s)}if(n){var u=DL("indices",n);r.push(u)}return new bL(r,i)}(u.attributes,s,u.indices);return I(M({loader:"draco",loaderData:s,header:{vertexCount:r.num_points(),boundingBox:c}},u),{schema:l})}finally{this.draco.destroy(n),r&&this.draco.destroy(r)}}},{key:"_getDracoLoaderData",value:function(e,t,n){var i=this._getTopLevelMetadata(e),r=this._getDracoAttributes(e,n);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:i,attributes:r}}},{key:"_getDracoAttributes",value:function(e,t){for(var n={},i=0;i1&&void 0!==r[1]?r[1]:null,i=r.length>2&&void 0!==r[2]?r[2]:{},n&&(t=HL(t,n,i)),VL[t]=VL[t]||GL(t),e.next=6,VL[t];case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function HL(e,t,n){if(e.startsWith("http"))return e;var i=n.modules||{};return i[e]?i[e]:eA?n.CDN?($P(n.CDN.startsWith("http")),"".concat(n.CDN,"/").concat(t,"@3.0.12/dist/libs/").concat(e)):tA?"../src/libs/".concat(e):"modules/".concat(t,"/src/libs/").concat(e):"modules/".concat(t,"/dist/libs/").concat(e)}function GL(e){return WL.apply(this,arguments)}function WL(){return(WL=Vx(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.endsWith("wasm")){e.next=8;break}return e.next=3,fetch(t);case 3:return e.next=5,e.sent.arrayBuffer();case 5:e.t0=e.sent,e.next=31;break;case 8:if(!eA){e.next=24;break}if(!tA){e.next=13;break}e.t2=importScripts(t),e.next=21;break;case 13:return e.t3=qL,e.next=16,fetch(t);case 16:return e.next=18,e.sent.text();case 18:e.t4=e.sent,e.t5=t,e.t2=(0,e.t3)(e.t4,e.t5);case 21:e.t1=e.t2,e.next=30;break;case 24:if(e.t6=BL.requireFromFile,!e.t6){e.next=29;break}return e.next=28,BL.requireFromFile(t);case 28:e.t6=e.sent;case 29:e.t1=e.t6;case 30:e.t0=e.t1;case 31:return e.abrupt("return",e.t0);case 32:case"end":return e.stop()}},e)}))).apply(this,arguments)}function qL(e,t){if(!eA)return BL.requireFromString&&BL.requireFromString(e,t);if(tA)return eval.call(JP,e),null;var n=document.createElement("script");n.id=t;try{n.appendChild(document.createTextNode(e))}catch(i){n.text=e}return document.body.appendChild(n),null}var XL,YL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",KL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",$L="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";function QL(e){return ZL.apply(this,arguments)}function ZL(){return(ZL=Vx(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.modules||{},XL=n.draco3d?XL||n.draco3d.createDecoderModule({}).then(function(e){return{draco:e}}):XL||JL(t),e.next=4,XL;case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function JL(e){return ej.apply(this,arguments)}function ej(){return(ej=Vx(regeneratorRuntime.mark(function e(n){var i,r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=n.draco&&n.draco.decoderType,e.next="js"===e.t0?3:(e.t0,7);break;case 3:return e.next=5,zL(YL,"draco",n);case 5:return i=e.sent,e.abrupt("break",21);case 7:return e.t1=Promise,e.next=10,zL(KL,"draco",n);case 10:return e.t2=e.sent,e.next=13,zL($L,"draco",n);case 13:return e.t3=e.sent,e.t4=[e.t2,e.t3],e.next=17,e.t1.all.call(e.t1,e.t4);case 17:o=e.sent,a=t(o,2),i=a[0],r=a[1];case 21:return i=i||globalThis.DracoDecoderModule,e.next=24,tj(i,r);case 24:return e.abrupt("return",e.sent);case 25:case"end":return e.stop()}},e)}))).apply(this,arguments)}function tj(e,t){var n={};return t&&(n.wasmBinary=t),new Promise(function(t){e(I(M({},n),{onModuleLoaded:function(e){return t({draco:e})}}))})}var nj=I(M({},yL),{parse:function(e,t){return ij.apply(this,arguments)}});function ij(){return(ij=Vx(regeneratorRuntime.mark(function e(t,n){var i,r,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,QL(n);case 2:return i=e.sent,r=i.draco,o=new FL(r),e.prev=5,e.abrupt("return",o.parseSync(t,null==n?void 0:n.draco));case 7:return e.prev=7,o.destroy(),e.finish(7);case 10:case"end":return e.stop()}},e,null,[[5,,7,10]])}))).apply(this,arguments)}function rj(e,t){return lP(e>=0),lP(t>0),e+(t-1)&~(t-1)}function oj(e,t,n){var i;return i=e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer||e.arrayBuffer,e.byteOffset,e.byteLength),t.set(i,n),n+rj(i.byteLength,4)}var aj=["SCALAR","VEC2","VEC3","VEC4"],sj=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],uj=new Map(sj),cj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},lj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},hj={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function dj(e){return aj[e-1]||aj[0]}function fj(e){var t=uj.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function pj(e,t){var n=hj[e.componentType],i=cj[e.type],r=e.count*i,o=e.count*i*lj[e.componentType];return pL(o>=0&&o<=t.byteLength),{ArrayType:n,length:r,byteLength:o}}var vj={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]},gj=function(){function e(t){m(this,e),FP(this,"gltf",void 0),FP(this,"sourceBuffers",void 0),FP(this,"byteLength",void 0),this.gltf=t||{json:M({},vj),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}return b(e,[{key:"json",get:function(){return this.gltf.json}},{key:"getApplicationData",value:function(e){return this.json[e]}},{key:"getExtraData",value:function(e){return(this.json.extras||{})[e]}},{key:"getExtension",value:function(e){return this.getUsedExtensions().find(function(t){return t===e})?(this.json.extensions||{})[e]||!0:null}},{key:"getRequiredExtension",value:function(e){return this.getRequiredExtensions().find(function(t){return t===e})?this.getExtension(e):null}},{key:"getRequiredExtensions",value:function(){return this.json.extensionsRequired||[]}},{key:"getUsedExtensions",value:function(){return this.json.extensionsUsed||[]}},{key:"getObjectExtension",value:function(e,t){return(e.extensions||{})[t]}},{key:"getScene",value:function(e){return this.getObject("scenes",e)}},{key:"getNode",value:function(e){return this.getObject("nodes",e)}},{key:"getSkin",value:function(e){return this.getObject("skins",e)}},{key:"getMesh",value:function(e){return this.getObject("meshes",e)}},{key:"getMaterial",value:function(e){return this.getObject("materials",e)}},{key:"getAccessor",value:function(e){return this.getObject("accessors",e)}},{key:"getTexture",value:function(e){return this.getObject("textures",e)}},{key:"getSampler",value:function(e){return this.getObject("samplers",e)}},{key:"getImage",value:function(e){return this.getObject("images",e)}},{key:"getBufferView",value:function(e){return this.getObject("bufferViews",e)}},{key:"getBuffer",value:function(e){return this.getObject("buffers",e)}},{key:"getObject",value:function(e,t){if("object"==typeof t)return t;var n=this.json[e]&&this.json[e][t];if(!n)throw new Error("glTF file error: Could not find ".concat(e,"[").concat(t,"]"));return n}},{key:"getTypedArrayForBufferView",value:function(e){e=this.getBufferView(e);var t=this.gltf.buffers[e.buffer];return pL(t),new Uint8Array(t.arrayBuffer,(e.byteOffset||0)+t.byteOffset,e.byteLength)}},{key:"getTypedArrayForAccessor",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),n=this.getBuffer(t.buffer).data,i=pj(e,t),r=i.ArrayType,o=i.length;return new r(n,t.byteOffset+e.byteOffset,o)}},{key:"getTypedArrayForImageData",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),n=this.getBuffer(t.buffer).data;return new Uint8Array(n,t.byteOffset||0,t.byteLength)}},{key:"addApplicationData",value:function(e,t){return this.json[e]=t,this}},{key:"addExtraData",value:function(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}},{key:"addObjectExtension",value:function(e,t,n){return e.extensions=e.extensions||{},e.extensions[t]=n,this.registerUsedExtension(t),this}},{key:"setObjectExtension",value:function(e,t,n){(e.extensions||{})[t]=n}},{key:"removeObjectExtension",value:function(e,t){var n=e.extensions||{},i=n[t];return delete n[t],i}},{key:"addExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return pL(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}},{key:"addRequiredExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return pL(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}},{key:"registerUsedExtension",value:function(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(function(t){return t===e})||this.json.extensionsUsed.push(e)}},{key:"registerRequiredExtension",value:function(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(function(t){return t===e})||this.json.extensionsRequired.push(e)}},{key:"removeExtension",value:function(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}},{key:"setDefaultScene",value:function(e){this.json.scene=e}},{key:"addScene",value:function(e){var t=e.nodeIndices;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}},{key:"addNode",value:function(e){var t=e.meshIndex,n=e.matrix;this.json.nodes=this.json.nodes||[];var i={mesh:t};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}},{key:"addMesh",value:function(e){var t=e.attributes,n=e.indices,i=e.material,r=e.mode,o=void 0===r?4:r,a={primitives:[{attributes:this._addAttributes(t),mode:o}]};if(n){var s=this._addIndices(n);a.primitives[0].indices=s}return Number.isFinite(i)&&(a.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}},{key:"addPointCloud",value:function(e){var t={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(t),this.json.meshes.length-1}},{key:"addImage",value:function(e,t){var n=wR(e),i=t||(null==n?void 0:n.mimeType),r={bufferView:this.addBufferView(e),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(r),this.json.images.length-1}},{key:"addBufferView",value:function(e){var t=e.byteLength;pL(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);var n={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=rj(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}},{key:"addAccessor",value:function(e,t){var n={bufferView:e,type:dj(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}},{key:"addBinaryBuffer",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{size:3},n=this.addBufferView(e),i={min:t.min,max:t.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(e,t.size));var r={size:t.size,componentType:fj(e),count:Math.round(e.length/t.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(r,t))}},{key:"addTexture",value:function(e){var t={source:e.imageIndex};return this.json.textures=this.json.textures||[],this.json.textures.push(t),this.json.textures.length-1}},{key:"addMaterial",value:function(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}},{key:"createBinaryChunk",value:function(){var e,t;this.gltf.buffers=[];var n,i=this.byteLength,r=new ArrayBuffer(i),o=new Uint8Array(r),a=0,s=_(this.sourceBuffers||[]);try{for(s.s();!(n=s.n()).done;){a=oj(n.value,o,a)}}catch(u){s.e(u)}finally{s.f()}null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}},{key:"_removeStringFromArray",value:function(e,t){for(var n=!0;n;){var i=e.indexOf(t);i>-1?e.splice(i,1):n=!1}}},{key:"_addAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};for(var n in e){var i=e[n],r=this._getGltfAttributeName(n),o=this.addBinaryBuffer(i.value,i);t[r]=o}return t}},{key:"_addIndices",value:function(e){return this.addBinaryBuffer(e,{size:1})}},{key:"_getGltfAttributeName",value:function(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}},{key:"_getAccessorMinMax",value:function(e,t){var n={min:null,max:null};if(e.length2&&void 0!==arguments[2]&&arguments[2];return e?Array.isArray(e)?new t(e):!n||e instanceof t?e:new t(e):null}(t,Float32Array)),i=t.length/n),{buffer:t,size:n,count:i}}(e),n=t.buffer,i=t.size;return{value:n,size:i,byteOffset:0,count:t.count,type:dj(i),componentType:fj(n)}}function Sj(e,t,n){return Cj.apply(this,arguments)}function Cj(){return(Cj=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o,a,s,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=n&&null!==(r=n.gltf)&&void 0!==r&&r.decompressMeshes){e.next=2;break}return e.abrupt("return");case 2:o=new gj(t),a=[],s=_(Mj(o));try{for(s.s();!(u=s.n()).done;)c=u.value,o.getObjectExtension(c,yj)&&a.push(Oj(o,c,n,i))}catch(l){s.e(l)}finally{s.f()}return e.next=7,Promise.all(a);case 7:o.removeExtension(yj);case 8:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Ej(e){var t,n=new gj(e),i=_(n.json.meshes||[]);try{for(i.s();!(t=i.n()).done;){var r=t.value;Pj(r),n.addRequiredExtension(yj)}}catch(o){i.e(o)}finally{i.f()}}function Oj(e,t,n,i){return Tj.apply(this,arguments)}function Tj(){return(Tj=Vx(regeneratorRuntime.mark(function e(n,i,r,o){var a,s,u,c,l,h,d,f,p,v,g,m,y;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(a=n.getObjectExtension(i,yj)){e.next=3;break}return e.abrupt("return");case 3:return s=n.getTypedArrayForBufferView(a.bufferView),u=xA(s.buffer,s.byteOffset),c=o.parse,delete(l=M({},r))["3d-tiles"],e.next=7,c(u,nj,l,o);case 7:for(h=e.sent,d=kj(h.attributes),f=0,p=Object.entries(d);f2&&void 0!==arguments[2]?arguments[2]:4,r=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;if(!r.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");var s=r.DracoWriter.encodeSync({attributes:e}),u=null==a||null===(n=a.parseSync)||void 0===n?void 0:n.call(a,{attributes:e}),c=r._addFauxAttributes(u.attributes),l=r.addBufferView(s);return{primitives:[{attributes:c,mode:i,extensions:o({},yj,{bufferView:l,attributes:c})}]}}function Aj(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function Mj(e){var t,n,i,r,o,a;return regeneratorRuntime.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:t=_(e.json.meshes||[]),s.prev=1,t.s();case 3:if((n=t.n()).done){s.next=24;break}i=n.value,r=_(i.primitives),s.prev=6,r.s();case 8:if((o=r.n()).done){s.next=14;break}return a=o.value,s.next=12,a;case 12:s.next=8;break;case 14:s.next=19;break;case 16:s.prev=16,s.t0=s.catch(6),r.e(s.t0);case 19:return s.prev=19,r.f(),s.finish(19);case 22:s.next=3;break;case 24:s.next=29;break;case 26:s.prev=26,s.t1=s.catch(1),t.e(s.t1);case 29:return s.prev=29,t.f(),s.finish(29);case 32:case"end":return s.stop()}},T,null,[[1,26,29,32],[6,16,19,22]])}function Ij(e){return Rj.apply(this,arguments)}function Rj(){return(Rj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=new gj(t),i=n.json,n.removeExtension(_j),r=_(i.materials||[]);try{for(r.s();!(o=r.n()).done;)(a=o.value).extensions&&a.extensions.KHR_materials_unlit&&(a.unlit=!0),n.removeObjectExtension(a,_j)}catch(s){r.e(s)}finally{r.f()}case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Dj(e){var t=new gj(e),n=t.json;if(t.materials){var i,r=_(n.materials||[]);try{for(r.s();!(i=r.n()).done;){var o=i.value;o.unlit&&(delete o.unlit,t.addObjectExtension(o,_j,{}),t.addExtension(_j))}}catch(a){r.e(a)}finally{r.f()}}}function Nj(e){return Lj.apply(this,arguments)}function Lj(){return(Lj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=new gj(t),i=n.json,(r=n.getExtension(bj))&&(n.json.lights=r.lights,n.removeExtension(bj)),o=_(i.nodes||[]);try{for(o.s();!(a=o.n()).done;)s=a.value,(u=n.getObjectExtension(s,bj))&&(s.light=u.light),n.removeObjectExtension(s,bj)}catch(c){o.e(c)}finally{o.f()}case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function jj(e){return Fj.apply(this,arguments)}function Fj(){return(Fj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new gj(t),(i=n.json).lights&&(pL(!(r=n.addExtension(bj)).lights),r.lights=i.lights,delete i.lights),n.json.lights){o=_(n.json.lights);try{for(o.s();!(a=o.n()).done;)s=a.value,n.addObjectExtension(s.node,bj,s)}catch(u){o.e(u)}finally{o.f()}delete n.json.lights}case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Bj(e){return Vj.apply(this,arguments)}function Vj(){return(Vj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new gj(t),i=n.json,r=n.getExtension(wj)){o=Hj(r,n),a=_(i.materials||[]);try{for(a.s();!(s=a.n()).done;)u=s.value,(c=n.getObjectExtension(u,wj))&&(u.technique=Object.assign({},c,o[c.technique]),u.technique.values=Gj(u.technique,n)),n.removeObjectExtension(u,wj)}catch(l){a.e(l)}finally{a.f()}n.removeExtension(wj)}case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function zj(e,t){return Uj.apply(this,arguments)}function Uj(){return(Uj=Vx(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Hj(e,t){var n=e.programs,i=void 0===n?[]:n,r=e.shaders,o=void 0===r?[]:r,a=e.techniques,s=void 0===a?[]:a,u=new TextDecoder;return o.forEach(function(e){if(!Number.isFinite(e.bufferView))throw new Error("KHR_techniques_webgl: no shader code");e.code=u.decode(t.getTypedArrayForBufferView(e.bufferView))}),i.forEach(function(e){e.fragmentShader=o[e.fragmentShader],e.vertexShader=o[e.vertexShader]}),s.forEach(function(e){e.program=i[e.program]}),s}function Gj(e,t){var n=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(function(t){e.uniforms[t].value&&!(t in n)&&(n[t]=e.uniforms[t].value)}),Object.keys(n).forEach(function(e){"object"==typeof n[e]&&void 0!==n[e].index&&(n[e].texture=t.getTexture(n[e].index))}),n}var Wj={KHR_draco_mesh_compression:R,KHR_materials_unlit:D,KHR_lights_punctual:N,KHR_techniques_webgl:L};function qj(e){return Xj.apply(this,arguments)}function Xj(){return(Xj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=s.length>1&&void 0!==s[1]?s[1]:{},i=s.length>2?s[2]:void 0,e.t0=regeneratorRuntime.keys(Wj);case 3:if((e.t1=e.t0()).done){e.next=12;break}if(r=e.t1.value,a=(null==n||null===(o=n.gltf)||void 0===o?void 0:o.excludeExtensions)||{},e.t2=r in a&&!a[r],e.t2){e.next=10;break}return e.next=10,Wj[r].decode(t,n,i);case 10:e.next=3;break;case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}var Yj={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},Kj={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},$j=function(){function e(t){m(this,e),this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}return b(e,[{key:"normalize",value:function(e,t){this.json=e.json;var n=e.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn("glTF: Unknown version ".concat(n.asset.version))}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),function(e){var t,n=new gj(e),i=n.json,r=_(i.images||[]);try{for(r.s();!(t=r.n()).done;){var o=t.value,a=n.removeObjectExtension(o,mj);a&&Object.assign(o,a)}}catch(s){r.e(s)}finally{r.f()}i.buffers&&i.buffers[0]&&delete i.buffers[0].uri,n.removeExtension(mj)}(e),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}},{key:"_addAsset",value:function(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}},{key:"_convertTopLevelObjectsToArrays",value:function(e){for(var t in Yj)this._convertTopLevelObjectToArray(e,t)}},{key:"_convertTopLevelObjectToArray",value:function(e,t){var n=e[t];if(n&&!Array.isArray(n))for(var i in e[t]=[],n){var r=n[i];r.id=r.id||i;var o=e[t].length;e[t].push(r),this.idToIndexMap[t][i]=o}}},{key:"_convertObjectIdsToArrayIndices",value:function(e){for(var t in Yj)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));var n,i=_(e.textures);try{for(i.s();!(n=i.n()).done;){var r=n.value;this._convertTextureIds(r)}}catch(p){i.e(p)}finally{i.f()}var o,a=_(e.meshes);try{for(a.s();!(o=a.n()).done;){var s=o.value;this._convertMeshIds(s)}}catch(p){a.e(p)}finally{a.f()}var u,c=_(e.nodes);try{for(c.s();!(u=c.n()).done;){var l=u.value;this._convertNodeIds(l)}}catch(p){c.e(p)}finally{c.f()}var h,d=_(e.scenes);try{for(d.s();!(h=d.n()).done;){var f=h.value;this._convertSceneIds(f)}}catch(p){d.e(p)}finally{d.f()}}},{key:"_convertTextureIds",value:function(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}},{key:"_convertMeshIds",value:function(e){var t,n=_(e.primitives);try{for(n.s();!(t=n.n()).done;){var i=t.value,r=i.attributes,o=i.indices,a=i.material;for(var s in r)r[s]=this._convertIdToIndex(r[s],"accessor");o&&(i.indices=this._convertIdToIndex(o,"accessor")),a&&(i.material=this._convertIdToIndex(a,"material"))}}catch(u){n.e(u)}finally{n.f()}}},{key:"_convertNodeIds",value:function(e){var t=this;e.children&&(e.children=e.children.map(function(e){return t._convertIdToIndex(e,"node")})),e.meshes&&(e.meshes=e.meshes.map(function(e){return t._convertIdToIndex(e,"mesh")}))}},{key:"_convertSceneIds",value:function(e){var t=this;e.nodes&&(e.nodes=e.nodes.map(function(e){return t._convertIdToIndex(e,"node")}))}},{key:"_convertIdsToIndices",value:function(e,t){e[t]||(console.warn("gltf v1: json doesn't contain attribute ".concat(t)),e[t]=[]);var n,i=_(e[t]);try{for(i.s();!(n=i.n()).done;){var r=n.value;for(var o in r){var a=this._convertIdToIndex(r[o],o);r[o]=a}}}catch(s){i.e(s)}finally{i.f()}}},{key:"_convertIdToIndex",value:function(e,t){var n=Kj[t];if(n in this.idToIndexMap){var i=this.idToIndexMap[n][e];if(!Number.isFinite(i))throw new Error("gltf v1: failed to resolve ".concat(t," with id ").concat(e));return i}return e}},{key:"_updateObjects",value:function(e){var t,n=_(this.json.buffers);try{for(n.s();!(t=n.n()).done;){delete t.value.type}}catch(i){n.e(i)}finally{n.f()}}},{key:"_updateMaterial",value:function(e){var t,n=_(e.materials);try{var i=function(){var n=t.value;n.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};var i=n.values&&n.values.tex,r=e.textures.findIndex(function(e){return e.id===i});-1!==r&&(n.pbrMetallicRoughness.baseColorTexture={index:r})};for(n.s();!(t=n.n()).done;)i()}catch(r){n.e(r)}finally{n.f()}}}]),e}();function Qj(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(new $j).normalize(e,t)}var Zj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Jj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},eF={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},tF={magFilter:eF.TEXTURE_MAG_FILTER,minFilter:eF.TEXTURE_MIN_FILTER,wrapS:eF.TEXTURE_WRAP_S,wrapT:eF.TEXTURE_WRAP_T},nF=(o(k={},eF.TEXTURE_MAG_FILTER,eF.LINEAR),o(k,eF.TEXTURE_MIN_FILTER,eF.NEAREST_MIPMAP_LINEAR),o(k,eF.TEXTURE_WRAP_S,eF.REPEAT),o(k,eF.TEXTURE_WRAP_,eF.REPEAT),k),iF=function(){function e(){m(this,e)}return b(e,[{key:"postProcess",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.json,i=e.buffers,r=void 0===i?[]:i,o=e.images,a=void 0===o?[]:o,s=e.baseUri,u=void 0===s?"":s;return pL(n),this.baseUri=u,this.json=n,this.buffers=r,this.images=a,this._resolveTree(this.json,t),this.json}},{key:"_resolveTree",value:function(e){var t=this;e.bufferViews&&(e.bufferViews=e.bufferViews.map(function(e,n){return t._resolveBufferView(e,n)})),e.images&&(e.images=e.images.map(function(e,n){return t._resolveImage(e,n)})),e.samplers&&(e.samplers=e.samplers.map(function(e,n){return t._resolveSampler(e,n)})),e.textures&&(e.textures=e.textures.map(function(e,n){return t._resolveTexture(e,n)})),e.accessors&&(e.accessors=e.accessors.map(function(e,n){return t._resolveAccessor(e,n)})),e.materials&&(e.materials=e.materials.map(function(e,n){return t._resolveMaterial(e,n)})),e.meshes&&(e.meshes=e.meshes.map(function(e,n){return t._resolveMesh(e,n)})),e.nodes&&(e.nodes=e.nodes.map(function(e,n){return t._resolveNode(e,n)})),e.skins&&(e.skins=e.skins.map(function(e,n){return t._resolveSkin(e,n)})),e.scenes&&(e.scenes=e.scenes.map(function(e,n){return t._resolveScene(e,n)})),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}},{key:"getScene",value:function(e){return this._get("scenes",e)}},{key:"getNode",value:function(e){return this._get("nodes",e)}},{key:"getSkin",value:function(e){return this._get("skins",e)}},{key:"getMesh",value:function(e){return this._get("meshes",e)}},{key:"getMaterial",value:function(e){return this._get("materials",e)}},{key:"getAccessor",value:function(e){return this._get("accessors",e)}},{key:"getCamera",value:function(e){return null}},{key:"getTexture",value:function(e){return this._get("textures",e)}},{key:"getSampler",value:function(e){return this._get("samplers",e)}},{key:"getImage",value:function(e){return this._get("images",e)}},{key:"getBufferView",value:function(e){return this._get("bufferViews",e)}},{key:"getBuffer",value:function(e){return this._get("buffers",e)}},{key:"_get",value:function(e,t){if("object"==typeof t)return t;var n=this.json[e]&&this.json[e][t];return n||console.warn("glTF file error: Could not find ".concat(e,"[").concat(t,"]")),n}},{key:"_resolveScene",value:function(e,t){var n=this;return e.id=e.id||"scene-".concat(t),e.nodes=(e.nodes||[]).map(function(e){return n.getNode(e)}),e}},{key:"_resolveNode",value:function(e,t){var n=this;return e.id=e.id||"node-".concat(t),e.children&&(e.children=e.children.map(function(e){return n.getNode(e)})),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce(function(e,t){var i=n.getMesh(t);return e.id=i.id,e.primitives=e.primitives.concat(i.primitives),e},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}},{key:"_resolveSkin",value:function(e,t){return e.id=e.id||"skin-".concat(t),e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}},{key:"_resolveMesh",value:function(e,t){var n=this;return e.id=e.id||"mesh-".concat(t),e.primitives&&(e.primitives=e.primitives.map(function(e){var t=(e=M({},e)).attributes;for(var i in e.attributes={},t)e.attributes[i]=n.getAccessor(t[i]);return void 0!==e.indices&&(e.indices=n.getAccessor(e.indices)),void 0!==e.material&&(e.material=n.getMaterial(e.material)),e})),e}},{key:"_resolveMaterial",value:function(e,t){if(e.id=e.id||"material-".concat(t),e.normalTexture&&(e.normalTexture=M({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=M({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=M({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=M({},e.pbrMetallicRoughness);var n=e.pbrMetallicRoughness;n.baseColorTexture&&(n.baseColorTexture=M({},n.baseColorTexture),n.baseColorTexture.texture=this.getTexture(n.baseColorTexture.index)),n.metallicRoughnessTexture&&(n.metallicRoughnessTexture=M({},n.metallicRoughnessTexture),n.metallicRoughnessTexture.texture=this.getTexture(n.metallicRoughnessTexture.index))}return e}},{key:"_resolveAccessor",value:function(e,t){if(e.id=e.id||"accessor-".concat(t),void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(e){return Jj[e]}(e.componentType),e.components=function(e){return Zj[e]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){var n=e.bufferView.buffer,i=pj(e,e.bufferView),r=i.ArrayType,o=i.byteLength,a=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+n.byteOffset,s=n.arrayBuffer.slice(a,a+o);e.value=new r(s)}return e}},{key:"_resolveTexture",value:function(e,t){return e.id=e.id||"texture-".concat(t),e.sampler="sampler"in e?this.getSampler(e.sampler):nF,e.source=this.getImage(e.source),e}},{key:"_resolveSampler",value:function(e,t){for(var n in e.id=e.id||"sampler-".concat(t),e.parameters={},e){var i=this._enumSamplerParameter(n);void 0!==i&&(e.parameters[i]=e[n])}return e}},{key:"_enumSamplerParameter",value:function(e){return tF[e]}},{key:"_resolveImage",value:function(e,t){e.id=e.id||"image-".concat(t),void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));var n=this.images[t];return n&&(e.image=n),e}},{key:"_resolveBufferView",value:function(e,t){e.id=e.id||"bufferView-".concat(t);var n=e.buffer;e.buffer=this.buffers[n];var i=this.buffers[n].byteOffset||0;return"byteOffset"in e&&(i+=e.byteOffset),e.data=new Uint8Array(this.buffers[n].arrayBuffer,i,e.byteLength),e}},{key:"_resolveCamera",value:function(e,t){return e.id=e.id||"camera-".concat(t),e}}]),e}();function rF(e,t){return(new iF).postProcess(e,t)}var oF=1735152710,aF=!0;function sF(e,t,n,i){var r=new Uint8Array(t.buffer,n,i),o=new TextDecoder("utf8").decode(r);return e.json=JSON.parse(o),rj(i,4)}function uF(e,t,n,i){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:n,byteLength:i,arrayBuffer:t.buffer}),rj(i,4)}function cF(e,t){return lF.apply(this,arguments)}function lF(){return(lF=Vx(regeneratorRuntime.mark(function e(t,n){var i,r,o,a,s,u,c,l,h,d,f=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i=f.length>2&&void 0!==f[2]?f[2]:0,r=f.length>3?f[3]:void 0,o=f.length>4?f[4]:void 0,hF(t,n,i,r),Qj(t,{normalize:null==r||null===(a=r.gltf)||void 0===a?void 0:a.normalize}),l=[],e.t0=null!=r&&null!==(s=r.gltf)&&void 0!==s&&s.loadBuffers&&t.json.buffers,!e.t0){e.next=9;break}return e.next=9,dF(t,r,o);case 9:if(null==r||null===(u=r.gltf)||void 0===u||!u.loadImages){e.next=12;break}h=pF(t,r,o),l.push(h);case 12:return d=qj(t,r,o),l.push(d),e.next=16,Promise.all(l);case 16:return e.abrupt("return",null!=r&&null!==(c=r.gltf)&&void 0!==c&&c.postProcess?rF(t,r):t);case 17:case"end":return e.stop()}},e)}))).apply(this,arguments)}function hF(e,t,n,i){if(i.uri&&(e.baseUri=i.uri),t instanceof ArrayBuffer&&!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=new DataView(e),r=n.magic,o=void 0===r?oF:r,a=i.getUint32(t,!1);return a===o||a===oF}(t,n,i)&&(t=(new TextDecoder).decode(t)),"string"==typeof t)e.json=function(e){try{return JSON.parse(e)}catch(t){throw new Error('Failed to parse JSON from data starting with "'.concat(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5;return"string"==typeof e?e.slice(0,t):ArrayBuffer.isView(e)?fL(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?fL(e,0,t):""}(e),'"'))}}(t);else if(t instanceof ArrayBuffer){var r={};n=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=new DataView(t),r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return"".concat(String.fromCharCode(e.getUint8(t+0))).concat(String.fromCharCode(e.getUint8(t+1))).concat(String.fromCharCode(e.getUint8(t+2))).concat(String.fromCharCode(e.getUint8(t+3)))}(i,n+0),o=i.getUint32(n+4,aF),a=i.getUint32(n+8,aF);switch(Object.assign(e,{header:{byteOffset:n,byteLength:a,hasBinChunk:!1},type:r,version:o,json:{},binChunks:[]}),n+=12,e.version){case 1:return function(e,t,n){lP(e.header.byteLength>20);var i=t.getUint32(n+0,aF),r=t.getUint32(n+4,aF);return n+=8,lP(0===r),sF(e,t,n,i),(n+=i)+uF(e,t,n,e.header.byteLength)}(e,i,n);case 2:return function(e,t,n,i){return lP(e.header.byteLength>20),function(e,t,n,i){for(;n+8<=e.header.byteLength;){var r=t.getUint32(n+0,aF),o=t.getUint32(n+4,aF);switch(n+=8,o){case 1313821514:sF(e,t,n,r);break;case 5130562:uF(e,t,n,r);break;case 0:i.strict||sF(e,t,n,r);break;case 1:i.strict||uF(e,t,n,r)}n+=rj(r,4)}}(e,t,n,{}),n+e.header.byteLength}(e,i,n);default:throw new Error("Invalid GLB version ".concat(e.version,". Only supports v1 and v2."))}}(r,t,n,i.glb),pL("glTF"===r.type,"Invalid GLB magic string ".concat(r.type)),e._glb=r,e.json=r.json}else pL(!1,"GLTF: must be ArrayBuffer or string");if(e.buffers=new Array((e.json.buffers||[]).length).fill(null),e._glb&&e._glb.header.hasBinChunk){var o=e._glb.binChunks;e.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}e.images=new Array((e.json.images||[]).length).fill({})}function dF(e,t,n){return fF.apply(this,arguments)}function fF(){return(fF=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o,a,s,u,c,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:r=0;case 1:if(!(r1&&void 0!==a[1]?a[1]:{},i=a.length>2?a[2]:void 0,(n=M(M({},yF.options),n)).gltf=M(M({},yF.options.gltf),n.gltf),r=n.byteOffset,o=void 0===r?0:r,e.next=6,cF({},t,o,n,i);case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function _F(){return(_F=Vx(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=[],t.scenes.forEach(function(e){e.traverse(function(e){Object.values(e.model.getUniforms()).forEach(function(e){!1===e.loaded&&n.push(e)})})}),e.next=4,wF(function(){return n.some(function(e){return!e.loaded})});case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function wF(e){return kF.apply(this,arguments)}function kF(){return(kF=Vx(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!t()){e.next=5;break}return e.next=3,new Promise(function(e){return requestAnimationFrame(e)});case 3:e.next=0;break;case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}var xF=[255,255,255,255],SF={scenegraph:{type:"object",value:null,async:!0},getScene:function(e){return e&&e.scenes?"object"==typeof e.scene?e.scene:e.scenes[e.scene||0]:e},getAnimator:function(e){return e&&e.animator},_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:function(e){return e.position}},getColor:{type:"accessor",value:xF},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[yF]},CF=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){var e=[xD,CD];return"pbr"===this.props._lighting&&e.push(TN),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:e}}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:xF,transition:!0},instanceModelMatrix:kN})}},{key:"updateState",value:function(t){e(p(i.prototype),"updateState",this).call(this,t);var n=t.props,r=t.oldProps;n.scenegraph!==r.scenegraph?this._updateScenegraph(n):n._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,n._animations)}},{key:"finalizeState",value:function(){e(p(i.prototype),"finalizeState",this).call(this),this._deleteScenegraph()}},{key:"_updateScenegraph",value:function(e){var t=this,n=this.context.gl,i=null;if(e.scenegraph instanceof PN)i={scenes:[e.scenegraph]};else if(e.scenegraph&&!e.scenegraph.gltf){var r=e.scenegraph,o=function(e,t,n){var i=new dL(e,n);return{scenes:i.instantiate(t),animator:i.createAnimator()}}(n,r,this._getModelOptions());i=M({gltf:r},o),function(e){return _F.apply(this,arguments)}(o).then(function(){return t.setNeedsRedraw()})}else e.scenegraph&&(ik.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),i=e.scenegraph);var a={layer:this,gl:n},s=e.getScene(i,a),u=e.getAnimator(i,a);s instanceof PN?(this._deleteScenegraph(),this._applyAllAttributes(s),this._applyAnimationsProp(s,u,e._animations),this.setState({scenegraph:s,animator:u})):null!==s&&ik.warn("invalid scenegraph:",s)()}},{key:"_applyAllAttributes",value:function(e){var t=this;if(this.state.attributesAvailable){var n=this.getAttributeManager().getAttributes();e.traverse(function(e){t._setModelAttributes(e.model,n)})}}},{key:"_applyAnimationsProp",value:function(e,t,n){if(e&&t&&n){var i=t.getAnimations();Object.keys(n).sort().forEach(function(e){var t=n[e];if("*"===e)i.forEach(function(e){Object.assign(e,t)});else if(Number.isFinite(Number(e))){var r=Number(e);r>=0&&r0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("sphere-geometry"):i,o=function(e){var t=e.nlat,n=void 0===t?10:t,i=e.nlong,r=void 0===i?10:i,o=e.radius,a=void 0===o?1:o,s=Math.PI-0,u=2*Math.PI-0,c=(n+1)*(r+1);if("number"==typeof a){var l=a;a=function(e,t,n,i,r){return l}}for(var h=new Float32Array(3*c),d=new Float32Array(3*c),f=new Float32Array(2*c),p=new(c>65535?Uint32Array:Uint16Array)(n*r*6),v=0;v<=n;v++)for(var g=0;g<=r;g++){var m=g/r,y=v/n,b=g+v*(r+1),_=2*b,w=3*b,k=u*m,x=s*y,S=Math.sin(k),C=Math.cos(k),E=Math.sin(x),O=C*E,T=Math.cos(x),P=S*E,A=a(O,T,P,m,y);h[w+0]=A*O,h[w+1]=A*T,h[w+2]=A*P,d[w+0]=O,d[w+1]=T,d[w+2]=P,f[_+0]=m,f[_+1]=1-y}for(var M=r+1,I=0;I0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("truncated-code-geometry"):i,o=function(e){for(var t=e.bottomRadius,n=void 0===t?0:t,i=e.topRadius,r=void 0===i?0:i,o=e.height,a=void 0===o?1:o,s=e.nradial,u=void 0===s?10:s,c=e.nvertical,l=void 0===c?10:c,h=e.verticalAxis,d=void 0===h?"y":h,f=e.topCap,p=void 0!==f&&f,v=e.bottomCap,g=void 0!==v&&v,m=(p?2:0)+(g?2:0),y=(u+1)*(l+1+m),b=Math.atan2(n-r,a),_=Math.sin,w=Math.cos,k=Math.PI,x=w(b),S=_(b),C=p?-2:0,E=l+(g?2:0),O=u+1,T=new Uint16Array(u*(l+m)*6),P=OF[d],A=new Float32Array(3*y),M=new Float32Array(3*y),I=new Float32Array(2*y),R=0,D=0,N=C;N<=E;N++){var L=void 0,j=N/l,F=a*j;N<0?(F=0,j=1,L=n):N>l?(F=a,j=1,L=r):L=n+N/l*(r-n),(-2===N||N===l+2)&&(L=0,j=0),F-=a/2;for(var B=0;Bl?0:V*x,M[R+P[1]]=N<0?-1:N>l?1:S,M[R+P[2]]=N<0||N>l?0:z*x,I[D+0]=B/u,I[D+1]=j,D+=2,R+=3}}for(var U=0;U0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("cone-geometry"):i,o=e.radius,a=void 0===o?1:o,s=e.cap,u=void 0===s||s;return t.call(this,I(M({},e),{id:r,topRadius:0,topCap:Boolean(u),bottomCap:Boolean(u),bottomRadius:a}))}return n}(TF),AF=function(e){a(n,e);var t=s(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("cylinder-geometry"):i,o=e.radius,a=void 0===o?1:o;return t.call(this,I(M({},e),{id:r,bottomRadius:a,topRadius:a}))}return n}(TF),MF=new Uint16Array([0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]),IF=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]),RF=new Float32Array([0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0]),DF=new Float32Array([0,0,1,0,1,1,0,1,1,0,1,1,0,1,0,0,0,1,0,0,1,0,1,1,1,1,0,1,0,0,1,0,1,0,1,1,0,1,0,0,0,0,1,0,1,1,0,1]),NF={POSITION:{size:3,value:new Float32Array(IF)},NORMAL:{size:3,value:new Float32Array(RF)},TEXCOORD_0:{size:2,value:new Float32Array(DF)}},LF=function(e){a(n,e);var t=s(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("cube-geometry"):i;return t.call(this,I(M({},e),{id:r,indices:{size:1,value:new Uint16Array(MF)},attributes:M(M({},NF),e.attributes)}))}return n}(OD),jF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0,0,0,0,0,0,0];m(this,e),this.elements=void 0,this.elements=t}return b(e,[{key:"identity",value:function(){var e=this.elements;e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1}},{key:"setZero",value:function(){var e=this.elements;e[0]=0,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=0,e[6]=0,e[7]=0,e[8]=0}},{key:"setTrace",value:function(e){var t=this.elements;t[0]=e.x,t[4]=e.y,t[8]=e.z}},{key:"getTrace",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new BF,t=this.elements;return e.x=t[0],e.y=t[4],e.z=t[8],e}},{key:"vmult",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF,n=this.elements,i=e.x,r=e.y,o=e.z;return t.x=n[0]*i+n[1]*r+n[2]*o,t.y=n[3]*i+n[4]*r+n[5]*o,t.z=n[6]*i+n[7]*r+n[8]*o,t}},{key:"smult",value:function(e){for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:new e,i=this.elements,r=t.elements,o=n.elements,a=i[0],s=i[1],u=i[2],c=i[3],l=i[4],h=i[5],d=i[6],f=i[7],p=i[8],v=r[0],g=r[1],m=r[2],y=r[3],b=r[4],_=r[5],w=r[6],k=r[7],x=r[8];return o[0]=a*v+s*y+u*w,o[1]=a*g+s*b+u*k,o[2]=a*m+s*_+u*x,o[3]=c*v+l*y+h*w,o[4]=c*g+l*b+h*k,o[5]=c*m+l*_+h*x,o[6]=d*v+f*y+p*w,o[7]=d*g+f*b+p*k,o[8]=d*m+f*_+p*x,n}},{key:"scale",value:function(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e,i=this.elements,r=n.elements,o=0;3!==o;o++)r[3*o+0]=t.x*i[3*o+0],r[3*o+1]=t.y*i[3*o+1],r[3*o+2]=t.z*i[3*o+2];return n}},{key:"solve",value:function(e){var t,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF,r=[];for(t=0;t<12;t++)r.push(0);for(t=0;t<3;t++)for(n=0;n<3;n++)r[t+4*n]=this.elements[t+3*n];r[3]=e.x,r[7]=e.y,r[11]=e.z;var o,a,s=3,u=s;do{if(0===r[(t=u-s)+4*t])for(n=t+1;n0&&void 0!==arguments[0]?arguments[0]:new e,r=FF;for(t=0;t<3;t++)for(n=0;n<3;n++)r[t+6*n]=this.elements[t+3*n];r[3]=1,r[9]=0,r[15]=0,r[4]=0,r[10]=1,r[16]=0,r[5]=0,r[11]=0,r[17]=1;var o,a,s=3,u=s;do{if(0===r[(t=u-s)+6*t])for(n=t+1;n0&&void 0!==arguments[0]?arguments[0]:new e,i=this.elements,r=n.elements;return r[0]=i[0],r[4]=i[4],r[8]=i[8],t=i[1],r[1]=i[3],r[3]=t,t=i[2],r[2]=i[6],r[6]=t,t=i[5],r[5]=i[7],r[7]=t,n}}]),e}(),FF=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],BF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;m(this,e),this.x=void 0,this.y=void 0,this.z=void 0,this.x=t,this.y=n,this.z=i}return b(e,[{key:"cross",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e,i=t.x,r=t.y,o=t.z,a=this.x,s=this.y,u=this.z;return n.x=s*o-u*r,n.y=u*i-a*o,n.z=a*r-s*i,n}},{key:"set",value:function(e,t,n){return this.x=e,this.y=t,this.z=n,this}},{key:"setZero",value:function(){this.x=this.y=this.z=0}},{key:"vadd",value:function(t,n){if(!n)return new e(this.x+t.x,this.y+t.y,this.z+t.z);n.x=t.x+this.x,n.y=t.y+this.y,n.z=t.z+this.z}},{key:"vsub",value:function(t,n){if(!n)return new e(this.x-t.x,this.y-t.y,this.z-t.z);n.x=this.x-t.x,n.y=this.y-t.y,n.z=this.z-t.z}},{key:"crossmat",value:function(){return new jF([0,-this.z,this.y,this.z,0,-this.x,-this.y,this.x,0])}},{key:"normalize",value:function(){var e=this.x,t=this.y,n=this.z,i=Math.sqrt(e*e+t*t+n*n);if(i>0){var r=1/i;this.x*=r,this.y*=r,this.z*=r}else this.x=0,this.y=0,this.z=0;return i}},{key:"unit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e,n=this.x,i=this.y,r=this.z,o=Math.sqrt(n*n+i*i+r*r);return o>0?(o=1/o,t.x=n*o,t.y=i*o,t.z=r*o):(t.x=1,t.y=0,t.z=0),t}},{key:"length",value:function(){var e=this.x,t=this.y,n=this.z;return Math.sqrt(e*e+t*t+n*n)}},{key:"lengthSquared",value:function(){return this.dot(this)}},{key:"distanceTo",value:function(e){var t=this.x,n=this.y,i=this.z,r=e.x,o=e.y,a=e.z;return Math.sqrt((r-t)*(r-t)+(o-n)*(o-n)+(a-i)*(a-i))}},{key:"distanceSquared",value:function(e){var t=this.x,n=this.y,i=this.z,r=e.x,o=e.y,a=e.z;return(r-t)*(r-t)+(o-n)*(o-n)+(a-i)*(a-i)}},{key:"scale",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e,i=this.y,r=this.z;return n.x=t*this.x,n.y=t*i,n.z=t*r,n}},{key:"vmul",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e;return n.x=t.x*this.x,n.y=t.y*this.y,n.z=t.z*this.z,n}},{key:"addScaledVector",value:function(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new e;return i.x=this.x+t*n.x,i.y=this.y+t*n.y,i.z=this.z+t*n.z,i}},{key:"dot",value:function(e){return this.x*e.x+this.y*e.y+this.z*e.z}},{key:"isZero",value:function(){return 0===this.x&&0===this.y&&0===this.z}},{key:"negate",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e;return t.x=-this.x,t.y=-this.y,t.z=-this.z,t}},{key:"tangents",value:function(e,t){var n=this.length();if(n>0){var i=VF,r=1/n;i.set(this.x*r,this.y*r,this.z*r);var o=zF;Math.abs(i.x)<.9?(o.set(1,0,0),i.cross(o,e)):(o.set(0,1,0),i.cross(o,e)),i.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}},{key:"toString",value:function(){return this.x+","+this.y+","+this.z}},{key:"toArray",value:function(){return[this.x,this.y,this.z]}},{key:"copy",value:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}},{key:"lerp",value:function(e,t,n){var i=this.x,r=this.y,o=this.z;n.x=i+(e.x-i)*t,n.y=r+(e.y-r)*t,n.z=o+(e.z-o)*t}},{key:"almostEquals",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-6;return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}},{key:"almostZero",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e-6;return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}},{key:"isAntiparallelTo",value:function(e,t){return this.negate(UF),UF.almostEquals(e,t)}},{key:"clone",value:function(){return new e(this.x,this.y,this.z)}}]),e}();BF.ZERO=void 0,BF.UNIT_X=void 0,BF.UNIT_Y=void 0,BF.UNIT_Z=void 0,BF.ZERO=new BF(0,0,0),BF.UNIT_X=new BF(1,0,0),BF.UNIT_Y=new BF(0,1,0),BF.UNIT_Z=new BF(0,0,1);var VF=new BF,zF=new BF,UF=new BF,HF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new BF,this.upperBound=new BF,t.lowerBound&&this.lowerBound.copy(t.lowerBound),t.upperBound&&this.upperBound.copy(t.upperBound)}return b(e,[{key:"setFromPoints",value:function(e,t,n,i){var r=this.lowerBound,o=this.upperBound,a=n;r.copy(e[0]),a&&a.vmult(r,r),o.copy(r);for(var s=1;so.x&&(o.x=u.x),u.xo.y&&(o.y=u.y),u.yo.z&&(o.z=u.z),u.z=r.x&&t.y<=i.y&&n.y>=r.y&&t.z<=i.z&&n.z>=r.z}},{key:"getCorners",value:function(e,t,n,i,r,o,a,s){var u=this.lowerBound,c=this.upperBound;e.copy(u),t.set(c.x,u.y,u.z),n.set(c.x,c.y,u.z),i.set(u.x,c.y,c.z),r.set(c.x,u.y,c.z),o.set(u.x,c.y,u.z),a.set(u.x,u.y,c.z),s.copy(c)}},{key:"toLocalFrame",value:function(e,t){var n=WF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(var i=0;8!==i;i++){var r=n[i];e.pointToLocal(r,r)}return t.setFromPoints(n)}},{key:"toWorldFrame",value:function(e,t){var n=WF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(var i=0;8!==i;i++){var r=n[i];e.pointToWorld(r,r)}return t.setFromPoints(n)}},{key:"overlapsRay",value:function(e){var t=e.direction,n=e.from,i=1/t.x,r=1/t.y,o=1/t.z,a=(this.lowerBound.x-n.x)*i,s=(this.upperBound.x-n.x)*i,u=(this.lowerBound.y-n.y)*r,c=(this.upperBound.y-n.y)*r,l=(this.lowerBound.z-n.z)*o,h=(this.upperBound.z-n.z)*o,d=Math.max(Math.max(Math.min(a,s),Math.min(u,c)),Math.min(l,h)),f=Math.min(Math.min(Math.max(a,s),Math.max(u,c)),Math.max(l,h));return!(f<0||d>f)}}]),e}(),GF=new BF,WF=[new BF,new BF,new BF,new BF,new BF,new BF,new BF,new BF],qF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;m(this,e),this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=t,this.y=n,this.z=i,this.w=r}return b(e,[{key:"set",value:function(e,t,n,i){return this.x=e,this.y=t,this.z=n,this.w=i,this}},{key:"toString",value:function(){return this.x+","+this.y+","+this.z+","+this.w}},{key:"toArray",value:function(){return[this.x,this.y,this.z,this.w]}},{key:"setFromAxisAngle",value:function(e,t){var n=Math.sin(.5*t);return this.x=e.x*n,this.y=e.y*n,this.z=e.z*n,this.w=Math.cos(.5*t),this}},{key:"toAxisAngle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new BF;this.normalize();var t=2*Math.acos(this.w),n=Math.sqrt(1-this.w*this.w);return n<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/n,e.y=this.y/n,e.z=this.z/n),[e,t]}},{key:"setFromVectors",value:function(e,t){if(e.isAntiparallelTo(t)){var n=XF;e.tangents(n,YF),this.setFromAxisAngle(n,Math.PI)}else{var i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(P(e.length(),2)*P(t.length(),2))+e.dot(t),this.normalize()}return this}},{key:"mult",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e,i=this.x,r=this.y,o=this.z,a=this.w,s=t.x,u=t.y,c=t.z,l=t.w;return n.x=i*l+a*s+r*c-o*u,n.y=r*l+a*u+o*s-i*c,n.z=o*l+a*c+i*u-r*s,n.w=a*l-i*s-r*u-o*c,n}},{key:"inverse",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e,n=this.x,i=this.y,r=this.z,o=this.w;this.conjugate(t);var a=1/(n*n+i*i+r*r+o*o);return t.x*=a,t.y*=a,t.z*=a,t.w*=a,t}},{key:"conjugate",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e;return t.x=-this.x,t.y=-this.y,t.z=-this.z,t.w=this.w,t}},{key:"normalize",value:function(){var e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}},{key:"normalizeFast",value:function(){var e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}},{key:"vmult",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF,n=e.x,i=e.y,r=e.z,o=this.x,a=this.y,s=this.z,u=this.w,c=u*n+a*r-s*i,l=u*i+s*n-o*r,h=u*r+o*i-a*n,d=-o*n-a*i-s*r;return t.x=c*u+d*-o+l*-s-h*-a,t.y=l*u+d*-a+h*-o-c*-s,t.z=h*u+d*-s+c*-a-l*-o,t}},{key:"copy",value:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}},{key:"toEuler",value:function(e){var t,n,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YZX",o=this.x,a=this.y,s=this.z,u=this.w;switch(r){case"YZX":var c=o*a+s*u;if(c>.499&&(t=2*Math.atan2(o,u),n=Math.PI/2,i=0),c<-.499&&(t=-2*Math.atan2(o,u),n=-Math.PI/2,i=0),void 0===t){var l=o*o,h=s*s;t=Math.atan2(2*a*u-2*o*s,1-a*a*2-2*h),n=Math.asin(2*c),i=Math.atan2(2*o*u-2*a*s,1-2*l-2*h)}break;default:throw new Error("Euler order "+r+" not supported yet.")}e.y=t,e.z=n,e.x=i}},{key:"setFromEuler",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"XYZ",r=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(n/2),s=Math.sin(e/2),u=Math.sin(t/2),c=Math.sin(n/2);return"XYZ"===i?(this.x=s*o*a+r*u*c,this.y=r*u*a-s*o*c,this.z=r*o*c+s*u*a,this.w=r*o*a-s*u*c):"YXZ"===i?(this.x=s*o*a+r*u*c,this.y=r*u*a-s*o*c,this.z=r*o*c-s*u*a,this.w=r*o*a+s*u*c):"ZXY"===i?(this.x=s*o*a-r*u*c,this.y=r*u*a+s*o*c,this.z=r*o*c+s*u*a,this.w=r*o*a-s*u*c):"ZYX"===i?(this.x=s*o*a-r*u*c,this.y=r*u*a+s*o*c,this.z=r*o*c-s*u*a,this.w=r*o*a+s*u*c):"YZX"===i?(this.x=s*o*a+r*u*c,this.y=r*u*a+s*o*c,this.z=r*o*c-s*u*a,this.w=r*o*a-s*u*c):"XZY"===i&&(this.x=s*o*a-r*u*c,this.y=r*u*a-s*o*c,this.z=r*o*c+s*u*a,this.w=r*o*a+s*u*c),this}},{key:"clone",value:function(){return new e(this.x,this.y,this.z,this.w)}},{key:"slerp",value:function(t,n){var i,r,o,a,s,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new e,c=this.x,l=this.y,h=this.z,d=this.w,f=t.x,p=t.y,v=t.z,g=t.w;return(r=c*f+l*p+h*v+d*g)<0&&(r=-r,f=-f,p=-p,v=-v,g=-g),1-r>1e-6?(i=Math.acos(r),o=Math.sin(i),a=Math.sin((1-n)*i)/o,s=Math.sin(n*i)/o):(a=1-n,s=n),u.x=a*c+s*f,u.y=a*l+s*p,u.z=a*h+s*v,u.w=a*d+s*g,u}},{key:"integrate",value:function(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new e,o=t.x*i.x,a=t.y*i.y,s=t.z*i.z,u=this.x,c=this.y,l=this.z,h=this.w,d=.5*n;return r.x+=d*(o*h+a*l-s*c),r.y+=d*(a*h+s*u-o*l),r.z+=d*(s*h+o*c-a*u),r.w+=d*(-o*u-a*c-s*l),r}}]),e}(),XF=new BF,YF=new BF,KF={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256},$F=function(){var e=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=e.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}return b(e,[{key:"updateBoundingSphereRadius",value:function(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}},{key:"volume",value:function(){throw"volume() not implemented for shape type "+this.type}},{key:"calculateLocalInertia",value:function(e,t){throw"calculateLocalInertia() not implemented for shape type "+this.type}},{key:"calculateWorldAABB",value:function(e,t,n,i){throw"calculateWorldAABB() not implemented for shape type "+this.type}}]),e}();return e.idCounter=0,e.types=KF,e}(),QF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.position=void 0,this.quaternion=void 0,this.position=new BF,this.quaternion=new qF,t.position&&this.position.copy(t.position),t.quaternion&&this.quaternion.copy(t.quaternion)}return b(e,[{key:"pointToLocal",value:function(t,n){return e.pointToLocalFrame(this.position,this.quaternion,t,n)}},{key:"pointToWorld",value:function(t,n){return e.pointToWorldFrame(this.position,this.quaternion,t,n)}},{key:"vectorToWorldFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return this.quaternion.vmult(e,t),t}}],[{key:"pointToLocalFrame",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new BF;return n.vsub(e,i),t.conjugate(ZF),ZF.vmult(i,i),i}},{key:"pointToWorldFrame",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new BF;return t.vmult(n,i),i.vadd(e,i),i}},{key:"vectorToWorldFrame",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new BF;return e.vmult(t,n),n}},{key:"vectorToLocalFrame",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new BF;return t.w*=-1,t.vmult(n,i),t.w*=-1,i}}]),e}(),ZF=new qF,JF=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var r=i.vertices,o=void 0===r?[]:r,a=i.faces,s=void 0===a?[]:a,u=i.normals,c=void 0===u?[]:u,l=i.axes,h=i.boundingSphereRadius;return(e=t.call(this,{type:$F.types.CONVEXPOLYHEDRON})).vertices=void 0,e.faces=void 0,e.faceNormals=void 0,e.worldVertices=void 0,e.worldVerticesNeedsUpdate=void 0,e.worldFaceNormals=void 0,e.worldFaceNormalsNeedsUpdate=void 0,e.uniqueAxes=void 0,e.uniqueEdges=void 0,e.vertices=o,e.faces=s,e.faceNormals=c,0===e.faceNormals.length&&e.computeNormals(),h?e.boundingSphereRadius=h:e.updateBoundingSphereRadius(),e.worldVertices=[],e.worldVerticesNeedsUpdate=!0,e.worldFaceNormals=[],e.worldFaceNormalsNeedsUpdate=!0,e.uniqueAxes=l?l.slice():null,e.uniqueEdges=[],e.computeEdges(),e}return b(n,[{key:"computeEdges",value:function(){var e=this.faces,t=this.vertices,n=this.uniqueEdges;n.length=0;for(var i=new BF,r=0;r!==e.length;r++)for(var o=e[r],a=o.length,s=0;s!==a;s++){t[o[s]].vsub(t[o[(s+1)%a]],i),i.normalize();for(var u=!1,c=0;c!==n.length;c++)if(n[c].almostEquals(i)||n[c].almostEquals(i)){u=!0;break}u||n.push(i.clone())}}},{key:"computeNormals",value:function(){this.faceNormals.length=this.faces.length;for(var e=0;eh&&(h=f,l=d)}for(var p=[],v=0;v=0&&this.clipFaceAgainstHull(o,e,t,p,a,s,u)}},{key:"findSeparatingAxis",value:function(e,t,n,i,r,o,a,s){var u=new BF,c=new BF,l=new BF,h=new BF,d=new BF,f=new BF,p=Number.MAX_VALUE,v=this;if(v.uniqueAxes)for(var g=0;g!==v.uniqueAxes.length;g++){n.vmult(v.uniqueAxes[g],u);var m=v.testSepAxis(u,e,t,n,i,r);if(!1===m)return!1;m0&&o.negate(o),!0}},{key:"testSepAxis",value:function(e,t,i,r,o,a){n.project(this,e,i,r,eB),n.project(t,e,o,a,tB);var s=eB[0],u=eB[1],c=tB[0],l=tB[1];if(st.x&&(t.x=r.x),r.yt.y&&(t.y=r.y),r.zt.z&&(t.z=r.z)}}},{key:"computeWorldFaceNormals",value:function(e){for(var t=this.faceNormals.length;this.worldFaceNormals.lengthe&&(e=i)}this.boundingSphereRadius=Math.sqrt(e)}},{key:"calculateWorldAABB",value:function(e,t,n,i){for(var r,o,a,s,u,c,l=this.vertices,h=new BF,d=0;ds)&&(s=f.x),(void 0===o||f.yu)&&(u=f.y),(void 0===a||f.zc)&&(c=f.z)}n.set(r,o,a),i.set(s,u,c)}},{key:"volume",value:function(){return 4*Math.PI*this.boundingSphereRadius/3}},{key:"getAveragePointLocal",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new BF,t=this.vertices,n=0;n0||c>0&&h<0)return!1}return-1}}],[{key:"computeNormal",value:function(e,t,n,i){var r=new BF,o=new BF;t.vsub(e,o),n.vsub(t,r),r.cross(o,i),i.isZero()||i.normalize()}},{key:"project",value:function(e,t,n,i,r){var o=e.vertices.length,a=nB,s=0,u=0,c=iB,l=e.vertices;c.setZero(),QF.vectorToLocalFrame(n,i,t,a),QF.pointToLocalFrame(n,i,c,c);var h=c.dot(a);u=s=l[0].dot(a);for(var d=1;ds&&(s=f),f(s-=h)){var p=u;u=s,s=p}r[0]=s,r[1]=u}}]),n}($F),eB=[],tB=[],nB=new BF,iB=new BF,rB=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,{type:$F.types.BOX})).halfExtents=void 0,i.convexPolyhedronRepresentation=void 0,i.halfExtents=e,i.convexPolyhedronRepresentation=null,i.updateConvexPolyhedronRepresentation(),i.updateBoundingSphereRadius(),i}return b(n,[{key:"updateConvexPolyhedronRepresentation",value:function(){var e=this.halfExtents.x,t=this.halfExtents.y,n=this.halfExtents.z,i=BF,r=[new i(-e,-t,-n),new i(e,-t,-n),new i(e,t,-n),new i(-e,t,-n),new i(-e,-t,n),new i(e,-t,n),new i(e,t,n),new i(-e,t,n)],o=[new i(0,0,1),new i(0,1,0),new i(1,0,0)],a=new JF({vertices:r,faces:[[3,2,1,0],[4,5,6,7],[5,4,0,1],[2,3,7,6],[0,4,7,3],[1,2,6,5]],axes:o});this.convexPolyhedronRepresentation=a,a.material=this.material}},{key:"calculateLocalInertia",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return n.calculateInertia(this.halfExtents,e,t),t}},{key:"getSideNormals",value:function(e,t){var n=e,i=this.halfExtents;if(n[0].set(i.x,0,0),n[1].set(0,i.y,0),n[2].set(0,0,i.z),n[3].set(-i.x,0,0),n[4].set(0,-i.y,0),n[5].set(0,0,-i.z),void 0!==t)for(var r=0;r!==n.length;r++)t.vmult(n[r],n[r]);return n}},{key:"volume",value:function(){return 8*this.halfExtents.x*this.halfExtents.y*this.halfExtents.z}},{key:"updateBoundingSphereRadius",value:function(){this.boundingSphereRadius=this.halfExtents.length()}},{key:"forEachWorldCorner",value:function(e,t,n){for(var i=this.halfExtents,r=[[i.x,i.y,i.z],[-i.x,i.y,i.z],[-i.x,-i.y,i.z],[-i.x,-i.y,-i.z],[i.x,-i.y,-i.z],[i.x,i.y,-i.z],[-i.x,i.y,-i.z],[i.x,-i.y,i.z]],o=0;oi.x&&(i.x=u),c>i.y&&(i.y=c),l>i.z&&(i.z=l),u0&&void 0!==arguments[0]?arguments[0]:{};m(this,n),(e=t.call(this)).id=void 0,e.index=void 0,e.world=void 0,e.preStep=void 0,e.postStep=void 0,e.vlambda=void 0,e.collisionFilterGroup=void 0,e.collisionFilterMask=void 0,e.collisionResponse=void 0,e.position=void 0,e.previousPosition=void 0,e.interpolatedPosition=void 0,e.initPosition=void 0,e.velocity=void 0,e.initVelocity=void 0,e.force=void 0,e.mass=void 0,e.invMass=void 0,e.material=void 0,e.linearDamping=void 0,e.type=void 0,e.allowSleep=void 0,e.sleepState=void 0,e.sleepSpeedLimit=void 0,e.sleepTimeLimit=void 0,e.timeLastSleepy=void 0,e.wakeUpAfterNarrowphase=void 0,e.torque=void 0,e.quaternion=void 0,e.initQuaternion=void 0,e.previousQuaternion=void 0,e.interpolatedQuaternion=void 0,e.angularVelocity=void 0,e.initAngularVelocity=void 0,e.shapes=void 0,e.shapeOffsets=void 0,e.shapeOrientations=void 0,e.inertia=void 0,e.invInertia=void 0,e.invInertiaWorld=void 0,e.invMassSolve=void 0,e.invInertiaSolve=void 0,e.invInertiaWorldSolve=void 0,e.fixedRotation=void 0,e.angularDamping=void 0,e.linearFactor=void 0,e.angularFactor=void 0,e.aabb=void 0,e.aabbNeedsUpdate=void 0,e.boundingRadius=void 0,e.wlambda=void 0,e.isTrigger=void 0,e.id=n.idCounter++,e.index=-1,e.world=null,e.preStep=null,e.postStep=null,e.vlambda=new BF,e.collisionFilterGroup="number"==typeof i.collisionFilterGroup?i.collisionFilterGroup:1,e.collisionFilterMask="number"==typeof i.collisionFilterMask?i.collisionFilterMask:-1,e.collisionResponse="boolean"!=typeof i.collisionResponse||i.collisionResponse,e.position=new BF,e.previousPosition=new BF,e.interpolatedPosition=new BF,e.initPosition=new BF,i.position&&(e.position.copy(i.position),e.previousPosition.copy(i.position),e.interpolatedPosition.copy(i.position),e.initPosition.copy(i.position)),e.velocity=new BF,i.velocity&&e.velocity.copy(i.velocity),e.initVelocity=new BF,e.force=new BF;var r="number"==typeof i.mass?i.mass:0;return e.mass=r,e.invMass=r>0?1/r:0,e.material=i.material||null,e.linearDamping="number"==typeof i.linearDamping?i.linearDamping:.01,e.type=r<=0?n.STATIC:n.DYNAMIC,typeof i.type==typeof n.STATIC&&(e.type=i.type),e.allowSleep=void 0===i.allowSleep||i.allowSleep,e.sleepState=n.AWAKE,e.sleepSpeedLimit=void 0!==i.sleepSpeedLimit?i.sleepSpeedLimit:.1,e.sleepTimeLimit=void 0!==i.sleepTimeLimit?i.sleepTimeLimit:1,e.timeLastSleepy=0,e.wakeUpAfterNarrowphase=!1,e.torque=new BF,e.quaternion=new qF,e.initQuaternion=new qF,e.previousQuaternion=new qF,e.interpolatedQuaternion=new qF,i.quaternion&&(e.quaternion.copy(i.quaternion),e.initQuaternion.copy(i.quaternion),e.previousQuaternion.copy(i.quaternion),e.interpolatedQuaternion.copy(i.quaternion)),e.angularVelocity=new BF,i.angularVelocity&&e.angularVelocity.copy(i.angularVelocity),e.initAngularVelocity=new BF,e.shapes=[],e.shapeOffsets=[],e.shapeOrientations=[],e.inertia=new BF,e.invInertia=new BF,e.invInertiaWorld=new jF,e.invMassSolve=0,e.invInertiaSolve=new BF,e.invInertiaWorldSolve=new jF,e.fixedRotation=void 0!==i.fixedRotation&&i.fixedRotation,e.angularDamping=void 0!==i.angularDamping?i.angularDamping:.01,e.linearFactor=new BF(1,1,1),i.linearFactor&&e.linearFactor.copy(i.linearFactor),e.angularFactor=new BF(1,1,1),i.angularFactor&&e.angularFactor.copy(i.angularFactor),e.aabb=new HF,e.aabbNeedsUpdate=!0,e.boundingRadius=0,e.wlambda=new BF,e.isTrigger=Boolean(i.isTrigger),i.shape&&e.addShape(i.shape),e.updateMassProperties(),e}return b(n,[{key:"wakeUp",value:function(){var e=this.sleepState;this.sleepState=n.AWAKE,this.wakeUpAfterNarrowphase=!1,e===n.SLEEPING&&this.dispatchEvent(n.wakeupEvent)}},{key:"sleep",value:function(){this.sleepState=n.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}},{key:"sleepTick",value:function(e){if(this.allowSleep){var t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=P(this.sleepSpeedLimit,2);t===n.AWAKE&&ir?this.wakeUp():t===n.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(n.sleepEvent))}}},{key:"updateSolveMassProperties",value:function(){this.sleepState===n.SLEEPING||this.type===n.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}},{key:"pointToLocalFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}},{key:"vectorToLocalFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return this.quaternion.conjugate().vmult(e,t),t}},{key:"pointToWorldFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}},{key:"vectorToWorldFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return this.quaternion.vmult(e,t),t}},{key:"addShape",value:function(e,t,n){var i=new BF,r=new qF;return t&&i.copy(t),n&&r.copy(n),this.shapes.push(e),this.shapeOffsets.push(i),this.shapeOrientations.push(r),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}},{key:"removeShape",value:function(e){var t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}},{key:"updateBoundingRadius",value:function(){for(var e=this.shapes,t=this.shapeOffsets,n=e.length,i=0,r=0;r!==n;r++){var o=e[r];o.updateBoundingSphereRadius();var a=t[r].length(),s=o.boundingSphereRadius;a+s>i&&(i=a+s)}this.boundingRadius=i}},{key:"updateAABB",value:function(){for(var e=this.shapes,t=this.shapeOffsets,n=this.shapeOrientations,i=e.length,r=uB,o=cB,a=this.quaternion,s=this.aabb,u=lB,c=0;c!==i;c++){var l=e[c];a.vmult(t[c],r),r.vadd(this.position,r),a.mult(n[c],o),l.calculateWorldAABB(r,o,u.lowerBound,u.upperBound),0===c?s.copy(u):s.extend(u)}this.aabbNeedsUpdate=!1}},{key:"updateInertiaWorld",value:function(e){var t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){var n=hB,i=dB;n.setRotationFromQuaternion(this.quaternion),n.transpose(i),n.scale(t,n),n.mmult(i,this.invInertiaWorld)}}},{key:"applyForce",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;if(this.type===n.DYNAMIC){this.sleepState===n.SLEEPING&&this.wakeUp();var i=fB;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}}},{key:"applyLocalForce",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;if(this.type===n.DYNAMIC){var i=pB,r=vB;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}}},{key:"applyTorque",value:function(e){this.type===n.DYNAMIC&&(this.sleepState===n.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}},{key:"applyImpulse",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;if(this.type===n.DYNAMIC){this.sleepState===n.SLEEPING&&this.wakeUp();var i=t,r=gB;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);var o=mB;i.cross(e,o),this.invInertiaWorld.vmult(o,o),this.angularVelocity.vadd(o,this.angularVelocity)}}},{key:"applyLocalImpulse",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;if(this.type===n.DYNAMIC){var i=yB,r=bB;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}}},{key:"updateMassProperties",value:function(){var e=_B;this.invMass=this.mass>0?1/this.mass:0;var t=this.inertia,n=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),rB.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!n?1/t.x:0,t.y>0&&!n?1/t.y:0,t.z>0&&!n?1/t.z:0),this.updateInertiaWorld(!0)}},{key:"getVelocityAtWorldPoint",value:function(e,t){var n=new BF;return e.vsub(this.position,n),this.angularVelocity.cross(n,t),this.velocity.vadd(t,t),t}},{key:"integrate",value:function(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),(this.type===n.DYNAMIC||this.type===n.KINEMATIC)&&this.sleepState!==n.SLEEPING){var r=this.velocity,o=this.angularVelocity,a=this.position,s=this.force,u=this.torque,c=this.quaternion,l=this.invInertiaWorld,h=this.linearFactor,d=this.invMass*e;r.x+=s.x*d*h.x,r.y+=s.y*d*h.y,r.z+=s.z*d*h.z;var f=l.elements,p=this.angularFactor,v=u.x*p.x,g=u.y*p.y,m=u.z*p.z;o.x+=e*(f[0]*v+f[1]*g+f[2]*m),o.y+=e*(f[3]*v+f[4]*g+f[5]*m),o.z+=e*(f[6]*v+f[7]*g+f[8]*m),a.x+=r.x*e,a.y+=r.y*e,a.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}}]),n}(function(){function e(){m(this,e),this._listeners=void 0}return b(e,[{key:"addEventListener",value:function(e,t){void 0===this._listeners&&(this._listeners={});var n=this._listeners;return void 0===n[e]&&(n[e]=[]),n[e].includes(t)||n[e].push(t),this}},{key:"hasEventListener",value:function(e,t){if(void 0===this._listeners)return!1;var n=this._listeners;return!(void 0===n[e]||!n[e].includes(t))}},{key:"hasAnyEventListener",value:function(e){return void 0!==this._listeners&&void 0!==this._listeners[e]}},{key:"removeEventListener",value:function(e,t){if(void 0===this._listeners)return this;var n=this._listeners;if(void 0===n[e])return this;var i=n[e].indexOf(t);return-1!==i&&n[e].splice(i,1),this}},{key:"dispatchEvent",value:function(e){if(void 0===this._listeners)return this;var t=this._listeners[e.type];if(void 0!==t){e.target=this;for(var n=0,i=t.length;n0&&void 0!==arguments[0]?arguments[0]:new BF,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;m(this,s),this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new BF,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=s.ANY,this.result=new wB,this.hasHit=!1,this.callback=function(e){}}return b(s,[{key:e,get:function(){return this._intersectSphere}},{key:t,get:function(){return this._intersectPlane}},{key:n,get:function(){return this._intersectBox}},{key:i,get:function(){return this._intersectConvex}},{key:r,get:function(){return this._intersectConvex}},{key:o,get:function(){return this._intersectHeightfield}},{key:a,get:function(){return this._intersectTrimesh}},{key:"intersectWorld",value:function(e,t){return this.mode=t.mode||s.ANY,this.result=t.result||new wB,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||function(){},this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(xB),SB.length=0,e.broadphase.aabbQuery(e,xB,SB),this.intersectBodies(SB),this.hasHit}},{key:"intersectBody",value:function(e,t){t&&(this.result=t,this.updateDirection());var n=this.checkCollisionResponse;if((!n||e.collisionResponse)&&0!=(this.collisionFilterGroup&e.collisionFilterMask)&&0!=(e.collisionFilterGroup&this.collisionFilterMask))for(var i=OB,r=TB,o=0,a=e.shapes.length;oe.boundingSphereRadius)){var r=this[e.type];r&&r.call(this,e,t,n,i,e)}}},{key:"_intersectBox",value:function(e,t,n,i,r){return this._intersectConvex(e.convexPolyhedronRepresentation,t,n,i,r)}},{key:"_intersectPlane",value:function(e,t,n,i,r){var o=this.from,a=this.to,s=this.direction,u=new BF(0,0,1);t.vmult(u,u);var c=new BF;o.vsub(n,c);var l=c.dot(u);if(a.vsub(n,c),!(l*c.dot(u)>0||o.distanceTo(a)=0&&p<=1&&(o.lerp(a,p,d),d.vsub(n,f),f.normalize(),this.reportIntersection(f,d,r,i,-1)),this.result.shouldStop)return;v>=0&&v<=1&&(o.lerp(a,v,d),d.vsub(n,f),f.normalize(),this.reportIntersection(f,d,r,i,-1))}}},{key:"_intersectConvex",value:function(e,t,n,i,r,o){for(var a=BB,u=VB,c=o&&o.faceList||null,l=e.faces,h=e.vertices,d=e.faceNormals,f=this.direction,p=this.from,v=p.distanceTo(this.to),g=c?c.length:l.length,m=this.result,y=0;!m.shouldStop&&yv||this.reportIntersection(a,PB,r,i,b)}}}}}},{key:"_intersectTrimesh",value:function(e,t,n,i,r,o){var a=zB,u=XB,c=YB,l=VB,h=UB,d=HB,f=GB,p=qB,v=WB,g=e.indices,m=this.from,y=this.to,b=this.direction;c.position.copy(n),c.quaternion.copy(t),QF.vectorToLocalFrame(n,t,b,h),QF.pointToLocalFrame(n,t,m,d),QF.pointToLocalFrame(n,t,y,f),f.x*=e.scale.x,f.y*=e.scale.y,f.z*=e.scale.z,d.x*=e.scale.x,d.y*=e.scale.y,d.z*=e.scale.z,f.vsub(d,h),h.normalize();var _=d.distanceSquared(f);e.tree.rayQuery(this,c,u);for(var w=0,k=u.length;!this.result.shouldStop&&w!==k;w++){var x=u[w];e.getNormal(x,a),e.getVertex(g[3*x],AB),AB.vsub(d,l);var S=h.dot(a),C=a.dot(l)/S;if(!(C<0)){h.scale(C,PB),PB.vadd(d,PB),e.getVertex(g[3*x+1],MB),e.getVertex(g[3*x+2],IB);var E=PB.distanceSquared(d);!s.pointInTriangle(PB,MB,AB,IB)&&!s.pointInTriangle(PB,AB,MB,IB)||E>_||(QF.vectorToWorldFrame(t,a,v),QF.pointToWorldFrame(n,t,PB,p),this.reportIntersection(v,p,r,i,x))}}u.length=0}},{key:"reportIntersection",value:function(e,t,n,i,r){var o=this.from,a=this.to,u=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==r?r:-1,this.mode){case s.ALL:this.hasHit=!0,c.set(o,a,e,t,n,i,u),c.hasHit=!0,this.callback(c);break;case s.CLOSEST:(u=0&&(o=a*l-s*u)>=0&&r+o0){var o,a=_(e.mesh.primitives);try{for(a.s();!(o=a.n()).done;){var s=o.value;s.attributes.POSITION&&s.attributes.POSITION.min&&function(){var o=r.transformAsPoint(s.attributes.POSITION.min,[]),a=r.transformAsPoint(s.attributes.POSITION.max,[]);i.push({"@id":t["@id"],name:e.name,entityId:t.entityId,bbox:new HF({lowerBound:h(BF,v(o.map(function(e,t){return Math.min(e,a[t])}))),upperBound:h(BF,v(a.map(function(e,t){return Math.max(e,o[t])})))}),gltf:n})}()}}catch(E){a.e(E)}finally{a.f()}}return!0})}catch(E){r.e(E)}finally{r.f()}case 6:case"end":return e.stop()}},e)}),r.s();case 6:if((o=r.n()).done){t.next=10;break}return t.delegateYield(a(),"t0",8);case 8:t.next=6;break;case 10:t.next=15;break;case 12:t.prev=12,t.t1=t.catch(3),r.e(t.t1);case 15:return t.prev=15,r.f(),t.finish(15);case 18:s=[],u=[],c=_(n);try{for(c.s();!(l=c.n()).done;){d=l.value,f=[],p=_(i);try{for(p.s();!(g=p.n()).done;)m=g.value,d.bbox.overlaps(m.bbox)&&f.push({"@id":m["@id"],name:m.name})}catch(E){p.e(E)}finally{p.f()}f.length>0?s.push({"@id":d.entityId,name:d.name,hits:f}):u.push(d)}}catch(E){c.e(E)}finally{c.f()}for(console.log({sourceBoxes:n,targetBoxes:i,report:s,sad:u,maxHits:Math.max.apply(Math,v(s.map(function(e){return e.hits.length})))}),y=[],b=0,w=s;b1&&void 0!==arguments[1]?arguments[1]:[],i=_(e.nodes||e.children||[]);try{for(i.s();!(t=i.n()).done;){var r=t.value;n.push(r.name),cV(r,n)}}catch(o){i.e(o)}finally{i.f()}return n}var lV=function(){var e=function(){function e(t){var n,i,r,o,a,s=this;m(this,e),this.deckProps=t,this.bodyUILayer=new uV({}),this.nodeClickSubject=new ae,this.nodeHoverStartSubject=new ae,this.nodeHoverStopSubject=new ae,this.sceneRotationSubject=new vv([0,0]),this.nodeDragStartSubject=new ae,this.nodeDragSubject=new ae,this.nodeDragEndSubject=new ae,this.nodeClick$=this.nodeClickSubject.pipe(je()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(je()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(je()),this.sceneRotation$=this.sceneRotationSubject.pipe(je()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(je()),this.nodeDrag$=this.nodeDragSubject.pipe(je()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(je());var u=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new UM({flipY:!1,near:-1e3}):new qM({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:function(e){var t;return null!==(t=s.cursor)&&void 0!==t?t:e.isDragging?"grabbing":"grab"}});t.legacyLighting&&(u.effects=[new mI({ambientLight:new KM({color:[255,255,255],intensity:10})})]),this.deck=new kD(u),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(n=t.minRotationX)&&void 0!==n?n:-15,maxRotationX:null!==(i=t.maxRotationX)&&void 0!==i?i:15,target:null!==(r=t.target)&&void 0!==r?r:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}return b(e,[{key:"initialize",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.bodyUILayer.state){e.next=5;break}return e.next=3,new Promise(function(e){setTimeout(e,200)});case 3:e.next=0;break;case 5:case"end":return e.stop()}},e,this)}))}},{key:"finalize",value:function(){this.deck.finalize()}},{key:"setScene",value:function(e){if((null==e?void 0:e.length)>0){var t,n=this.bodyUILayer.state.zoomOpacity,i=!1,r=_(e);try{for(r.s();!(t=r.n()).done;){var o=t.value;o.zoomToOnLoad&&(this.zoomTo(o),i=!0)}}catch(a){r.e(a)}finally{r.f()}n=i?.05:n,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(e,n):this.bodyUILayer.setState({data:e,zoomOpacity:n})}}},{key:"debugSceneNodeProcessing",value:function(e,t){var n=this,i="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",r=new $O([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(e,t,n,i){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,r,o,a,s,u,c,l,d,f,p,g,m,y,b,w,k,x,S,C;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return nV(),n.next=3,rV({scenegraph:e,scenegraphNode:"VHF_Kidney_L_Low1"},void 0);case 3:i=n.sent,r={},o=[],a=_(i.scenes);try{for(a.s();!(s=a.n()).done;)tV(s.value,t=new $O(t||$O.IDENTITY),function(n,i){var a={"@id":n.name||n.id,"@type":"ProcessedNode",transformMatrix:new $O(i),geometry:"wireframe",node:n};if(o.push({"@id":"GLTF:".concat(a["@id"]),"@type":"GLTFNode",scenegraph:e,scenegraphNode:a["@id"],transformMatrix:new $O(t||$O.IDENTITY),tooltip:n.name||n.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:n}),n.mesh&&n.mesh.primitives&&n.mesh.primitives.length>0){var s,u=_(n.mesh.primitives);try{for(u.s();!(s=u.n()).done;){var c=s.value;c.attributes.POSITION&&c.attributes.POSITION.min&&function(){var e=i.transformAsPoint(c.attributes.POSITION.min,[]),t=i.transformAsPoint(c.attributes.POSITION.max,[]);a.bbox=new HF({lowerBound:h(BF,v(e.map(function(e,n){return Math.min(e,t[n])}))),upperBound:h(BF,v(t.map(function(t,n){return Math.max(t,e[n])})))})}()}}catch(l){u.e(l)}finally{u.f()}}return r[a["@id"]]=a,!0})}catch(E){a.e(E)}finally{a.f()}u=_(Object.values(r).filter(function(e){return!e.bbox}));try{for(u.s();!(c=u.n()).done;){l=c.value,d=_(cV(l.node).map(function(e){return r[e]}).filter(function(e){return e.bbox}));try{for(d.s();!(f=d.n()).done;)p=f.value,l.bbox?l.bbox.extend(p.bbox):l.bbox=p.bbox.clone()}catch(E){d.e(E)}finally{d.f()}l.bbox||delete r[l["@id"]]}}catch(E){u.e(E)}finally{u.f()}for(g=0,m=Object.values(r);g1&&void 0!==arguments[1]?arguments[1]:hV,n=null,i=null;function r(){return dV(t,n,arguments)||(i=e.apply(null,arguments)),n=arguments,i}return r.reset=function(){n=null,i=null},r}var pV=fV(function(){var e=ch();if(!e)return!1;var t=e.injector.get(Gl,null);return!!t&&t.some(function(e){return(e&&e.providers||[]).some(function(e){return e&&e.provide&&"MockNgModuleResolver"===e.provide.name||!1})})}),vV=function(){var e=function(){function e(){m(this,e),this.bootstrap$=new Bf(1)}return b(e,[{key:"appBootstrapped$",get:function(){return this.bootstrap$.asObservable()}},{key:"bootstrap",value:function(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),gV=new Ri("INITIAL_STATE_TOKEN"),mV=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"set",value:function(e){this.value=e}},{key:"pop",value:function(){var e=this.value;return this.value={},e}}]),e}();return e.value={},e}(),yV=new Ri("Internals.StateContextFactory"),bV=new Ri("Internals.StateFactory");function _V(e,t){return t?function(n){return n.pipe(_V(function(n,i){return ye(e(n,i)).pipe(ce(function(e,r){return t(n,e,i,r)}))}))}:function(t){return t.lift(new wV(e))}}var wV=function(){function e(t){m(this,e),this.project=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new kV(e,this.project))}}]),e}(),kV=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).project=i,r.hasSubscription=!1,r.hasCompleted=!1,r.index=0,r}return b(n,[{key:"_next",value:function(e){this.hasSubscription||this.tryNext(e)}},{key:"tryNext",value:function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(i){return void this.destination.error(i)}this.hasSubscription=!0,this._innerSub(t)}},{key:"_innerSub",value:function(e){var t=new be(this),n=this.destination;n.add(t);var i=we(e,t);i!==t&&n.add(i)}},{key:"_complete",value:function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}},{key:"notifyNext",value:function(e){this.destination.next(e)}},{key:"notifyError",value:function(e){this.destination.error(e)}},{key:"notifyComplete",value:function(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}]),n}(_e);function xV(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return function(t){return t.lift(new SV(e))}}var SV=function(){function e(t){m(this,e),this.defaultValue=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new CV(e,this.defaultValue))}}]),e}(),CV=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).defaultValue=i,r.isEmpty=!0,r}return b(n,[{key:"_next",value:function(e){this.isEmpty=!1,this.destination.next(e)}},{key:"_complete",value:function(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}]),n}(K),EV=function(e){return"".concat(e," is not a valid state name. It needs to be a valid object property name.")},OV=function(){return"States must register a 'name' property"},TV=function(e,t,n){return"State name '".concat(e,"' from ").concat(t," already exists in ").concat(n)},PV=function(){return"States must be decorated with @State() decorator"},AV=function(){return"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })"},MV=function(){return"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })"},IV=function(){return"You have forgotten to import the NGXS module!"},RV=function(){return"@Action() decorator cannot be used with static methods"},DV=function(){return"Selectors only work on methods"},NV=function(){return"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })"},LV=function(){return"Patching arrays is not supported."},jV=function(){return"Patching primitives is not supported."},FV=function(e){return"'".concat(e,"' class should be decorated with @Injectable() right after the @State() decorator")},BV=function(){var e=function(){function e(t,n){m(this,e),this._ngZone=t,this._platformId=n,this.verifyZoneIsNotNooped(this._ngZone)}return b(e,[{key:"enter",value:function(e){return function(e){return"server"===e}(this._platformId)?this.runInsideAngular(e):this.runOutsideAngular(e)}},{key:"leave",value:function(e){return this.runInsideAngular(e)}},{key:"runInsideAngular",value:function(e){return Xl.isInAngularZone()?e():this._ngZone.run(e)}},{key:"runOutsideAngular",value:function(e){return Xl.isInAngularZone()?this._ngZone.runOutsideAngular(e):e()}},{key:"verifyZoneIsNotNooped",value:function(e){e instanceof Xl||console.warn(NV())}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl),Zi(Ml))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),VV=new Ri("ROOT_STATE_TOKEN"),zV=new Ri("FEATURE_STATE_TOKEN"),UV=new Ri("NGXS_PLUGINS"),HV=new Ri("NG_TEST_MODE"),GV=new Ri("NG_DEV_MODE"),WV="NGXS_META",qV="NGXS_OPTIONS_META",XV="NGXS_SELECTOR_META",YV=function(){var e=function e(){m(this,e),this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=BV};return e.\u0275prov=$e({token:e,factory:e.\u0275fac=function(t){return new(t||e)}}),e}(),KV=function e(t,n,i){m(this,e),this.previousValue=t,this.currentValue=n,this.firstChange=i},$V=new Ri("NGXS_EXECUTION_STRATEGY");function QV(e){return e.constructor&&e.constructor.type?e.constructor.type:e.type}var ZV=function(e,t,n){e=Object.assign({},e);var i=t.split("."),r=i.length-1;return i.reduce(function(e,t,i){return e[t]=i===r?n:Array.isArray(e[t])?e[t].slice():Object.assign({},e[t]),e&&e[t]},e),e},JV=function(e,t){return t.split(".").reduce(function(e,t){return e&&e[t]},e)},ez=function(e){return e&&"object"==typeof e&&!Array.isArray(e)},tz=function e(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:uz,i=function(e){return e.reduce(function(e,t){return e[QV(t)]=!0,e},{})}(e),r=t&&function(e){return e.reduce(function(e,t){return e[t]=!0,e},{})}(t);return function(e){return e.pipe(function(e,t){return bf(function(n){var i=QV(n.action);return e[i]&&(!t||t[n.status])})}(i,r),n())}}(t,["DISPATCHED"])}function uz(){return ce(function(e){return e.action})}function cz(e){return function(t){return new te(function(n){return t.subscribe({next:function(t){e.leave(function(){return n.next(t)})},error:function(t){e.leave(function(){return n.error(t)})},complete:function(){e.leave(function(){return n.complete()})}})})}}var lz=function(){var e=function(){function e(t){m(this,e),this._executionStrategy=t}return b(e,[{key:"enter",value:function(e){return this._executionStrategy.enter(e)}},{key:"leave",value:function(e){return this._executionStrategy.leave(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi($V))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),hz=function(t){a(i,t);var n=s(i);function i(){var e;return m(this,i),(e=n.apply(this,arguments))._itemQueue=[],e._busyPushingNext=!1,e}return b(i,[{key:"next",value:function(t){if(this._busyPushingNext)this._itemQueue.unshift(t);else{for(this._busyPushingNext=!0,e(p(i.prototype),"next",this).call(this,t);this._itemQueue.length>0;){var n=this._itemQueue.pop();e(p(i.prototype),"next",this).call(this,n)}this._busyPushingNext=!1}}}]),i}(ae),dz=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(hz);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275prov=$e({token:t,factory:t.\u0275fac}),t}(),fz=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this,function(t){var n=e.pipe(cz(i)).subscribe({next:function(e){return t.next(e)},error:function(e){return t.error(e)},complete:function(){return t.complete()}});t.add(n)})}return n}(te);return e.\u0275fac=function(t){return new(t||e)(Zi(dz),Zi(lz))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),pz=function e(t){return function(){for(var n=arguments.length,i=new Array(n),r=0;r1&&void 0!==arguments[1]?arguments[1]:[];Array.isArray(o)||(o=[]),o.push(r),n[r]=!0,e[r].forEach(function(e){if(o.indexOf(e)>=0)throw new Error("Circular dependency '".concat(e,"' is required by '").concat(r,"': ").concat(o.join(" -> ")));n[e]||i(e,o.slice(0))}),t.indexOf(r)<0&&t.push(r)};return Object.keys(e).forEach(function(e){return i(e)}),t.reverse()}(r),a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function e(t,n){for(var i in t)if(t.hasOwnProperty(i)&&t[i].indexOf(n)>=0){var r=e(t,i);return null!==r?"".concat(r,".").concat(i):i}return null};for(var i in e)if(e.hasOwnProperty(i)){var r=n(e,i);t[i]=r?"".concat(r,".").concat(i):i}return t}(r),s=function(e){return e.reduce(function(e,t){return e[t[WV].name]=t,e},{})}(n),u=[],c=_(o);try{for(c.s();!(i=c.n()).done;){var l=i.value,h=s[l],d=a[l],f=h[WV];this.addRuntimeInfoToMeta(f,d);var p={name:l,path:d,isInitialised:!1,actions:f.actions,instance:this._injector.get(h),defaults:e.cloneDefaults(f.defaults)};this.hasBeenMountedAndBootstrapped(l,d)||u.push(p),this.states.push(p)}}catch(v){c.e(v)}finally{c.f()}return u}},{key:"addAndReturnDefaults",value:function(e){var t=this.add(e||[]);return{defaults:t.reduce(function(e,t){return ZV(e,t.path,t.defaults)},{}),states:t}}},{key:"connectActionHandlers",value:function(){var e=this;null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(bf(function(e){return"DISPATCHED"===e.status}),ke(function(t){var n=t.action;return e.invokeActions(e._actions,n).pipe(ce(function(){return{action:n,status:"SUCCESSFUL"}}),xV({action:n,status:"CANCELED"}),Bb(function(e){return $d({action:n,status:"ERRORED",error:e})}))})).subscribe(function(t){return e._actionResults.next(t)}))}},{key:"invokeActions",value:function(e,t){var n,i=QV(t),r=[],o=_(this.states);try{for(o.s();!(n=o.n()).done;){var a=n.value,s=a.actions[i];if(s){var u,c=_(s);try{for(c.s();!(u=c.n()).done;){var l=u.value,h=this._stateContextFactory.createStateContext(a);try{var d=a.instance[l.fn](h,t);d instanceof Promise&&(d=ye(d)),d instanceof te?(d=d.pipe(xV({})),l.options.cancelUncompleted&&(d=d.pipe(kf(e.pipe(sz(t)))))):d=$d({}).pipe(zf()),r.push(d)}catch(d){r.push(Rf(d))}}}catch(f){c.e(f)}finally{c.f()}}}}catch(f){o.e(f)}finally{o.f()}return r.length||r.push($d({})),jb(r)}},{key:"addToStatesMap",value:function(e){var t,n=[],i=this.statesByName,r=_(e);try{for(r.s();!(t=r.n()).done;){var o=t.value,a=Sz.checkStateNameIsUnique(o,i);!i[a]&&(n.push(o),i[a]=o)}}catch(s){r.e(s)}finally{r.f()}return{newStates:n}}},{key:"addRuntimeInfoToMeta",value:function(e,t){this.statePaths[e.name]=t,e.path=t}},{key:"hasBeenMountedAndBootstrapped",value:function(e,t){var n=void 0!==JV(this._initialState,t);return this.statesByName[e]&&n}}],[{key:"cloneDefaults",value:function(e){return Array.isArray(e)?e.slice():function(e){return"object"==typeof e&&null!==e||"function"==typeof e}(e)?Object.assign({},e):void 0===e?{}:e}},{key:"checkStatesAreValid",value:function(e){e.forEach(Sz.getValidStateMeta)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ss),Zi(YV),Zi(e,12),Zi(dz),Zi(mz),Zi(xz),Zi(gV,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Ez=function(){var e=function(){function e(t,n,i){m(this,e),this.internalStateOperations=t,this.stateContextFactory=n,this.bootstrapper=i}return b(e,[{key:"ngxsBootstrap",value:function(e,t){var n=this;this.internalStateOperations.getRootStateOperations().dispatch(e).pipe(bf(function(){return!!t}),mv(function(){return n.invokeInit(t.states)}),ke(function(){return n.bootstrapper.appBootstrapped$}),bf(function(e){return!!e})).subscribe(function(){return n.invokeBootstrap(t.states)})}},{key:"invokeInit",value:function(e){var t,n=_(e);try{for(n.s();!(t=n.n()).done;){var i=t.value,r=i.instance;if(r.ngxsOnChanges){var o=az(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(o)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}catch(a){n.e(a)}finally{n.f()}}},{key:"invokeBootstrap",value:function(e){var t,n=_(e);try{for(n.s();!(t=n.n()).done;){var i=t.value,r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}catch(o){n.e(o)}finally{n.f()}}},{key:"getStateContext",value:function(e){return this.stateContextFactory.createStateContext(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(kz),Zi(xz),Zi(vV))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Oz=function(e){return e&&e.NGXS_SELECTOR_OPTIONS_META||{}};function Tz(e){var t=rz(e)||iz(e);return t&&t.makeRootSelector||function(){return e}}var Pz=function(){var e=function(){function e(t,n,i,r,o,a){m(this,e),this._stateStream=t,this._internalStateOperations=n,this._config=i,this._internalExecutionStrategy=r,this._stateFactory=o,this.initStateStream(a)}return b(e,[{key:"dispatch",value:function(e){return this._internalStateOperations.getRootStateOperations().dispatch(e)}},{key:"select",value:function(e){var t=this,n=this.getStoreBoundSelectorFn(e);return this._stateStream.pipe(ce(n),Bb(function(e){var n=t._config.selectorOptions.suppressErrors;return e instanceof TypeError&&n?$d(void 0):Rf(e)}),lf(),cz(this._internalExecutionStrategy))}},{key:"selectOnce",value:function(e){return this.select(e).pipe(_p(1))}},{key:"selectSnapshot",value:function(e){return this.getStoreBoundSelectorFn(e)(this._stateStream.getValue())}},{key:"subscribe",value:function(e){return this._stateStream.pipe(cz(this._internalExecutionStrategy)).subscribe(e)}},{key:"snapshot",value:function(){return this._internalStateOperations.getRootStateOperations().getState()}},{key:"reset",value:function(e){return this._internalStateOperations.getRootStateOperations().setState(e)}},{key:"getStoreBoundSelectorFn",value:function(e){return Tz(e)(this._stateFactory.getRuntimeSelectorContext())}},{key:"initStateStream",value:function(e){var t=this._stateStream.value;if(!t||0===Object.keys(t).length){var n=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,e):e;this._stateStream.next(n)}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(vz),Zi(kz),Zi(YV),Zi(lz),Zi(Cz),Zi(gV,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Az=function(){var e=function(){function e(t,n){m(this,e),e.store=t,e.config=n}return b(e,[{key:"ngOnDestroy",value:function(){e.store=null,e.config=null}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Pz),Zi(YV))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e.store=null,e.config=null,e}(),Mz=function(){function e(){m(this,e)}return b(e,null,[{key:"type",get:function(){return"@@INIT"}}]),e}(),Iz=function(){function e(t){m(this,e),this.addedStates=t}return b(e,null,[{key:"type",get:function(){return"@@UPDATE_STATE"}}]),e}(),Rz=new Bf(1),Dz=function(){var e=function e(t,n,i,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],a=arguments.length>5?arguments[5]:void 0;m(this,e),function(){try{var t=window.ng,n=!(t.probe&&t.coreTokens)&&ah();Rz.next(n)}catch(e){Rz.next(!1)}finally{Rz.complete()}}();var s=t.addAndReturnDefaults(o);n.setStateToTheCurrentWithNew(s),t.connectActionHandlers(),a.ngxsBootstrap(new Mz,s)};return e.\u0275fac=function(t){return new(t||e)(Zi(Cz),Zi(kz),Zi(Pz),Zi(Az),Zi(VV,8),Zi(Ez))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),Nz=function(){var e=function(){function e(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4?arguments[4]:void 0;m(this,e);var a=e.flattenStates(r),s=i.addAndReturnDefaults(a);s.states.length&&(n.setStateToTheCurrentWithNew(s),o.ngxsBootstrap(new Iz(s.defaults),s))}return b(e,null,[{key:"flattenStates",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.reduce(function(e,t){return e.concat(t)},[])}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Pz),Zi(kz),Zi(Cz),Zi(zV,8),Zi(Ez))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),Lz=function(){function e(){m(this,e)}return b(e,null,[{key:"forRoot",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{ngModule:Dz,providers:[Cz,xz,fz,dz,vV,wz,_z,Ez,yz,mz,kz,lz,Pz,vz,Az,gz].concat(v(t),v(e.ngxsTokenProviders(t,n)))}}},{key:"forFeature",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{ngModule:Nz,providers:[Cz,gz].concat(v(e),[{provide:zV,multi:!0,useValue:e}])}}},{key:"ngxsTokenProviders",value:function(t,n){return[{provide:HV,useValue:pV},{provide:GV,useValue:ah},{provide:$V,useClass:n.executionStrategy||BV},{provide:VV,useValue:t},{provide:e.ROOT_OPTIONS,useValue:n},{provide:YV,useFactory:e.ngxsConfigFactory,deps:[e.ROOT_OPTIONS]},{provide:Il,useFactory:e.appBootstrapListenerFactory,multi:!0,deps:[vV]},{provide:gV,useFactory:e.getInitialState},{provide:yV,useExisting:xz},{provide:bV,useExisting:Cz}]}},{key:"ngxsConfigFactory",value:function(e){return tz(new YV,e)}},{key:"appBootstrapListenerFactory",value:function(e){return function(){return e.bootstrap()}}},{key:"getInitialState",value:function(){return mV.pop()}}]),e}();function jz(e,t){return function(n,i){if(n.hasOwnProperty("prototype"))throw new Error(RV());var r=nz(n.constructor);Array.isArray(e)||(e=[e]);var o,a=_(e);try{for(a.s();!(o=a.n()).done;){var s=o.value.type;r.actions[s]||(r.actions[s]=[]),r.actions[s].push({fn:i,options:t||{},type:s})}}catch(u){a.e(u)}finally{a.f()}}}function Fz(e){return function(t){!function(e){Rz.subscribe(function(t){t&&(e.\u0275prov||console.warn(FV(e.name)))})}(t);var n=t,i=nz(n),r=Object.getPrototypeOf(n),o=function(t){return Object.assign({},t[qV]||{},e)}(r);(function(e){var t=e.meta,n=e.inheritedStateClass,i=e.optionsWithInheritance,r=i.children,o=i.defaults,a=i.name,s="string"==typeof a?a:a&&a.getName()||null;Sz.checkCorrectStateName(s),n.hasOwnProperty(WV)&&(t.actions=Object.assign({},t.actions,(n[WV]||{}).actions)),t.children=r,t.defaults=o,t.name=s})({meta:i,inheritedStateClass:r,optionsWithInheritance:o}),n[qV]=o}}function Bz(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:[];return"string"==typeof(t=t||function(e){var t=e.length-1;return 36===e.charCodeAt(t)?e.slice(0,t):e}(e))?oz(n.length?[t].concat(v(n)):t.split("."),Az.config):t}(a,e,n);Object.defineProperties(t,(o(r={},s,{writable:!0,enumerable:!1,configurable:!0}),o(r,a,{enumerable:!0,configurable:!0,get:function(){return this[s]||(this[s]=function(e){if(!Az.store)throw new Error(IV());return Az.store.select(e)}(u))}}),r))}}function Vz(e){return function(t,n,i){if(!i||null===i.value)throw new Error(DV());var r=i.value,o=function(e,t,n){var i=n&&n.containerClass,r=fV(function(){for(var e=arguments.length,n=new Array(e),r=0;r2&&void 0!==arguments[2]?arguments[2]:[],i=t.getSelectorOptions(),r=e.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=[];return n&&(0===e.length||t.injectContainerState)&&iz(n)&&i.push(n),e&&i.push.apply(i,v(e)),i}(n,r,t.containerClass).map(function(t){return Tz(t)(e)})}}(t,o,e),i=n.argumentSelectorFunctions,a=n.selectorOptions;return function(e){var t=i.map(function(t){return t(e)});try{return r.apply(void 0,v(t))}catch(n){if(n instanceof TypeError&&a.suppressErrors)return;throw n}}},r}(e,r,{containerClass:t,selectorName:n.toString(),getSelectorOptions:function(){return{}}}),a={configurable:!0,get:function(){return o}};return a.originalFn=r,a}}Lz.\u0275fac=function(e){return new(e||Lz)},Lz.\u0275mod=Mt({type:Lz}),Lz.\u0275inj=Qe({}),Lz.ROOT_OPTIONS=new Ri("ROOT_OPTIONS");var zz=function(){var e=function(){function e(t,n){m(this,e),this._renderer=t,this._elementRef=n,this.onChange=function(e){},this.onTouched=function(){}}return b(e,[{key:"setProperty",value:function(e,t){this._renderer.setProperty(this._elementRef.nativeElement,e,t)}},{key:"registerOnTouched",value:function(e){this.onTouched=e}},{key:"registerOnChange",value:function(e){this.onChange=e}},{key:"setDisabledState",value:function(e){this.setProperty("disabled",e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(nc),Os(Ju))},e.\u0275dir=Rt({type:e}),e}(),Uz=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(zz);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,features:[cs]}),t}(),Hz=new Ri("NgValueAccessor"),Gz={provide:Hz,useExisting:He(function(){return qz}),multi:!0},Wz=new Ri("CompositionEventMode"),qz=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e,i))._compositionMode=r,o._composing=!1,null==o._compositionMode&&(o._compositionMode=!function(){var e=yh()?yh().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}()),o}return b(n,[{key:"writeValue",value:function(e){this.setProperty("value",null==e?"":e)}},{key:"_handleInput",value:function(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}},{key:"_compositionStart",value:function(){this._composing=!0}},{key:"_compositionEnd",value:function(e){this._composing=!1,this._compositionMode&&this.onChange(e)}}]),n}(zz);return e.\u0275fac=function(t){return new(t||e)(Os(nc),Os(Ju),Os(Wz,8))},e.\u0275dir=Rt({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(e,t){1&e&&Vs("input",function(e){return t._handleInput(e.target.value)})("blur",function(){return t.onTouched()})("compositionstart",function(){return t._compositionStart()})("compositionend",function(e){return t._compositionEnd(e.target.value)})},features:[Xu([Gz]),cs]}),e}(),Xz=new Ri("NgValidators"),Yz=new Ri("NgAsyncValidators");function Kz(e){return null!=e}function $z(e){var t=js(e)?ye(e):e;return Bs(t),t}function Qz(e){var t={};return e.forEach(function(e){t=null!=e?Object.assign(Object.assign({},t),e):t}),0===Object.keys(t).length?null:t}function Zz(e,t){return t.map(function(t){return t(e)})}function Jz(e){return e.map(function(e){return function(e){return!e.validate}(e)?e:function(t){return e.validate(t)}})}function eU(e){return null!=e?function(e){if(!e)return null;var t=e.filter(Kz);return 0==t.length?null:function(e){return Qz(Zz(e,t))}}(Jz(e)):null}function tU(e){return null!=e?function(e){if(!e)return null;var t=e.filter(Kz);return 0==t.length?null:function(e){return jb(Zz(e,t).map($z)).pipe(ce(Qz))}}(Jz(e)):null}function nU(e,t){return null===e?[t]:Array.isArray(e)?[].concat(v(e),[t]):[e,t]}function iU(e){return e._rawValidators}function rU(e){return e._rawAsyncValidators}function oU(e){return e?Array.isArray(e)?e:[e]:[]}function aU(e,t){return Array.isArray(e)?e.includes(t):e===t}function sU(e,t){var n=oU(t);return oU(e).forEach(function(e){aU(n,e)||n.push(e)}),n}function uU(e,t){return oU(t).filter(function(t){return!aU(e,t)})}var cU=function(){var e=function(){function e(){m(this,e),this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}return b(e,[{key:"value",get:function(){return this.control?this.control.value:null}},{key:"valid",get:function(){return this.control?this.control.valid:null}},{key:"invalid",get:function(){return this.control?this.control.invalid:null}},{key:"pending",get:function(){return this.control?this.control.pending:null}},{key:"disabled",get:function(){return this.control?this.control.disabled:null}},{key:"enabled",get:function(){return this.control?this.control.enabled:null}},{key:"errors",get:function(){return this.control?this.control.errors:null}},{key:"pristine",get:function(){return this.control?this.control.pristine:null}},{key:"dirty",get:function(){return this.control?this.control.dirty:null}},{key:"touched",get:function(){return this.control?this.control.touched:null}},{key:"status",get:function(){return this.control?this.control.status:null}},{key:"untouched",get:function(){return this.control?this.control.untouched:null}},{key:"statusChanges",get:function(){return this.control?this.control.statusChanges:null}},{key:"valueChanges",get:function(){return this.control?this.control.valueChanges:null}},{key:"path",get:function(){return null}},{key:"_setValidators",value:function(e){this._rawValidators=e||[],this._composedValidatorFn=eU(this._rawValidators)}},{key:"_setAsyncValidators",value:function(e){this._rawAsyncValidators=e||[],this._composedAsyncValidatorFn=tU(this._rawAsyncValidators)}},{key:"validator",get:function(){return this._composedValidatorFn||null}},{key:"asyncValidator",get:function(){return this._composedAsyncValidatorFn||null}},{key:"_registerOnDestroy",value:function(e){this._onDestroyCallbacks.push(e)}},{key:"_invokeOnDestroyCallbacks",value:function(){this._onDestroyCallbacks.forEach(function(e){return e()}),this._onDestroyCallbacks=[]}},{key:"reset",value:function(e){this.control&&this.control.reset(e)}},{key:"hasError",value:function(e,t){return!!this.control&&this.control.hasError(e,t)}},{key:"getError",value:function(e,t){return this.control?this.control.getError(e,t):null}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e}),e}(),lU=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"formDirective",get:function(){return null}},{key:"path",get:function(){return null}}]),n}(cU);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,features:[cs]}),t}(),hU=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments))._parent=null,e.name=null,e.valueAccessor=null,e}return n}(cU),dU=function(){function e(t){m(this,e),this._cd=t}return b(e,[{key:"is",value:function(e){var t,n,i;return"submitted"===e?!!(null===(t=this._cd)||void 0===t?void 0:t.submitted):!!(null===(i=null===(n=this._cd)||void 0===n?void 0:n.control)||void 0===i?void 0:i[e])}}]),e}(),fU=function(){var e=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,e)}return n}(dU);return e.\u0275fac=function(t){return new(t||e)(Os(hU,2))},e.\u0275dir=Rt({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(e,t){2&e&&cu("ng-untouched",t.is("untouched"))("ng-touched",t.is("touched"))("ng-pristine",t.is("pristine"))("ng-dirty",t.is("dirty"))("ng-valid",t.is("valid"))("ng-invalid",t.is("invalid"))("ng-pending",t.is("pending"))},features:[cs]}),e}(),pU=function(){var e=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,e)}return n}(dU);return e.\u0275fac=function(t){return new(t||e)(Os(lU,10))},e.\u0275dir=Rt({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(e,t){2&e&&cu("ng-untouched",t.is("untouched"))("ng-touched",t.is("touched"))("ng-pristine",t.is("pristine"))("ng-dirty",t.is("dirty"))("ng-valid",t.is("valid"))("ng-invalid",t.is("invalid"))("ng-pending",t.is("pending"))("ng-submitted",t.is("submitted"))},features:[cs]}),e}();function vU(e,t){yU(e,t),t.valueAccessor.writeValue(e.value),function(e,t){t.valueAccessor.registerOnChange(function(n){e._pendingValue=n,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&_U(e,t)})}(e,t),function(e,t){var n=function(e,n){t.valueAccessor.writeValue(e),n&&t.viewToModelUpdate(e)};e.registerOnChange(n),t._registerOnDestroy(function(){e._unregisterOnChange(n)})}(e,t),function(e,t){t.valueAccessor.registerOnTouched(function(){e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&_U(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function(e,t){if(t.valueAccessor.setDisabledState){var n=function(e){t.valueAccessor.setDisabledState(e)};e.registerOnDisabledChange(n),t._registerOnDestroy(function(){e._unregisterOnDisabledChange(n)})}}(e,t)}function gU(e,t){var n=function(){};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),bU(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(function(){}))}function mU(e,t){e.forEach(function(e){e.registerOnValidatorChange&&e.registerOnValidatorChange(t)})}function yU(e,t){var n=iU(e);null!==t.validator?e.setValidators(nU(n,t.validator)):"function"==typeof n&&e.setValidators([n]);var i=rU(e);null!==t.asyncValidator?e.setAsyncValidators(nU(i,t.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);var r=function(){return e.updateValueAndValidity()};mU(t._rawValidators,r),mU(t._rawAsyncValidators,r)}function bU(e,t){var n=!1;if(null!==e){if(null!==t.validator){var i=iU(e);if(Array.isArray(i)&&i.length>0){var r=i.filter(function(e){return e!==t.validator});r.length!==i.length&&(n=!0,e.setValidators(r))}}if(null!==t.asyncValidator){var o=rU(e);if(Array.isArray(o)&&o.length>0){var a=o.filter(function(e){return e!==t.asyncValidator});a.length!==o.length&&(n=!0,e.setAsyncValidators(a))}}}var s=function(){};return mU(t._rawValidators,s),mU(t._rawAsyncValidators,s),n}function _U(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function wU(e,t){yU(e,t)}function kU(e,t){if(!e.hasOwnProperty("model"))return!1;var n=e.model;return!!n.isFirstChange()||!Object.is(t,n.currentValue)}function xU(e,t){e._syncPendingControls(),t.forEach(function(e){var t=e.control;"submit"===t.updateOn&&t._pendingChange&&(e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1)})}function SU(e,t){return t?(Array.isArray(t),t.forEach(function(e){e.constructor===qz?n=e:function(e){return Object.getPrototypeOf(e.constructor)===Uz}(e)?i=e:r=e}),r||i||n||null):null;var n,i,r}function CU(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)}var EU="VALID",OU="INVALID",TU="PENDING",PU="DISABLED";function AU(e){return(DU(e)?e.validators:e)||null}function MU(e){return Array.isArray(e)?eU(e):e||null}function IU(e,t){return(DU(t)?t.asyncValidators:e)||null}function RU(e){return Array.isArray(e)?tU(e):e||null}function DU(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}var NU=function(){function e(t,n){m(this,e),this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=function(){},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=n,this._composedValidatorFn=MU(this._rawValidators),this._composedAsyncValidatorFn=RU(this._rawAsyncValidators)}return b(e,[{key:"validator",get:function(){return this._composedValidatorFn},set:function(e){this._rawValidators=this._composedValidatorFn=e}},{key:"asyncValidator",get:function(){return this._composedAsyncValidatorFn},set:function(e){this._rawAsyncValidators=this._composedAsyncValidatorFn=e}},{key:"parent",get:function(){return this._parent}},{key:"valid",get:function(){return this.status===EU}},{key:"invalid",get:function(){return this.status===OU}},{key:"pending",get:function(){return this.status==TU}},{key:"disabled",get:function(){return this.status===PU}},{key:"enabled",get:function(){return this.status!==PU}},{key:"dirty",get:function(){return!this.pristine}},{key:"untouched",get:function(){return!this.touched}},{key:"updateOn",get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}},{key:"setValidators",value:function(e){this._rawValidators=e,this._composedValidatorFn=MU(e)}},{key:"setAsyncValidators",value:function(e){this._rawAsyncValidators=e,this._composedAsyncValidatorFn=RU(e)}},{key:"addValidators",value:function(e){this.setValidators(sU(e,this._rawValidators))}},{key:"addAsyncValidators",value:function(e){this.setAsyncValidators(sU(e,this._rawAsyncValidators))}},{key:"removeValidators",value:function(e){this.setValidators(uU(e,this._rawValidators))}},{key:"removeAsyncValidators",value:function(e){this.setAsyncValidators(uU(e,this._rawAsyncValidators))}},{key:"hasValidator",value:function(e){return aU(this._rawValidators,e)}},{key:"hasAsyncValidator",value:function(e){return aU(this._rawAsyncValidators,e)}},{key:"clearValidators",value:function(){this.validator=null}},{key:"clearAsyncValidators",value:function(){this.asyncValidator=null}},{key:"markAsTouched",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=!0,this._parent&&!e.onlySelf&&this._parent.markAsTouched(e)}},{key:"markAllAsTouched",value:function(){this.markAsTouched({onlySelf:!0}),this._forEachChild(function(e){return e.markAllAsTouched()})}},{key:"markAsUntouched",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=!1,this._pendingTouched=!1,this._forEachChild(function(e){e.markAsUntouched({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}},{key:"markAsDirty",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!1,this._parent&&!e.onlySelf&&this._parent.markAsDirty(e)}},{key:"markAsPristine",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!0,this._pendingDirty=!1,this._forEachChild(function(e){e.markAsPristine({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}},{key:"markAsPending",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.status=TU,!1!==e.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!e.onlySelf&&this._parent.markAsPending(e)}},{key:"disable",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._parentMarkedDirty(e.onlySelf);this.status=PU,this.errors=null,this._forEachChild(function(t){t.disable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this._updateValue(),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(function(e){return e(!0)})}},{key:"enable",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._parentMarkedDirty(e.onlySelf);this.status=EU,this._forEachChild(function(t){t.enable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(function(e){return e(!1)})}},{key:"_updateAncestors",value:function(e){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}},{key:"setParent",value:function(e){this._parent=e}},{key:"updateValueAndValidity",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===EU||this.status===TU)&&this._runAsyncValidator(e.emitEvent)),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(e)}},{key:"_updateTreeValidity",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{emitEvent:!0};this._forEachChild(function(t){return t._updateTreeValidity(e)}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})}},{key:"_setInitialStatus",value:function(){this.status=this._allControlsDisabled()?PU:EU}},{key:"_runValidator",value:function(){return this.validator?this.validator(this):null}},{key:"_runAsyncValidator",value:function(e){var t=this;if(this.asyncValidator){this.status=TU,this._hasOwnPendingAsyncValidator=!0;var n=$z(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(function(n){t._hasOwnPendingAsyncValidator=!1,t.setErrors(n,{emitEvent:e})})}}},{key:"_cancelExistingSubscription",value:function(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}},{key:"setErrors",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.errors=e,this._updateControlsErrors(!1!==t.emitEvent)}},{key:"get",value:function(e){return function(e,t,n){if(null==t||(Array.isArray(t)||(t=t.split(".")),Array.isArray(t)&&0===t.length))return null;var i=e;return t.forEach(function(e){i=i instanceof jU?i.controls.hasOwnProperty(e)?i.controls[e]:null:i instanceof FU&&i.at(e)||null}),i}(this,e)}},{key:"getError",value:function(e,t){var n=t?this.get(t):this;return n&&n.errors?n.errors[e]:null}},{key:"hasError",value:function(e,t){return!!this.getError(e,t)}},{key:"root",get:function(){for(var e=this;e._parent;)e=e._parent;return e}},{key:"_updateControlsErrors",value:function(e){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(e)}},{key:"_initObservables",value:function(){this.valueChanges=new ol,this.statusChanges=new ol}},{key:"_calculateStatus",value:function(){return this._allControlsDisabled()?PU:this.errors?OU:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(TU)?TU:this._anyControlsHaveStatus(OU)?OU:EU}},{key:"_anyControlsHaveStatus",value:function(e){return this._anyControls(function(t){return t.status===e})}},{key:"_anyControlsDirty",value:function(){return this._anyControls(function(e){return e.dirty})}},{key:"_anyControlsTouched",value:function(){return this._anyControls(function(e){return e.touched})}},{key:"_updatePristine",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!this._anyControlsDirty(),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}},{key:"_updateTouched",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=this._anyControlsTouched(),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}},{key:"_isBoxedValue",value:function(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}},{key:"_registerOnCollectionChange",value:function(e){this._onCollectionChange=e}},{key:"_setUpdateStrategy",value:function(e){DU(e)&&null!=e.updateOn&&(this._updateOn=e.updateOn)}},{key:"_parentMarkedDirty",value:function(e){return!e&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}]),e}(),LU=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1?arguments[1]:void 0,o=arguments.length>2?arguments[2]:void 0;return m(this,n),(e=t.call(this,AU(r),IU(o,r)))._onChange=[],e._applyFormState(i),e._setUpdateStrategy(r),e._initObservables(),e.updateValueAndValidity({onlySelf:!0,emitEvent:!!e.asyncValidator}),e}return b(n,[{key:"setValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.value=this._pendingValue=e,this._onChange.length&&!1!==n.emitModelToViewChange&&this._onChange.forEach(function(e){return e(t.value,!1!==n.emitViewToModelChange)}),this.updateValueAndValidity(n)}},{key:"patchValue",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.setValue(e,t)}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._applyFormState(e),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}},{key:"_updateValue",value:function(){}},{key:"_anyControls",value:function(e){return!1}},{key:"_allControlsDisabled",value:function(){return this.disabled}},{key:"registerOnChange",value:function(e){this._onChange.push(e)}},{key:"_unregisterOnChange",value:function(e){CU(this._onChange,e)}},{key:"registerOnDisabledChange",value:function(e){this._onDisabledChange.push(e)}},{key:"_unregisterOnDisabledChange",value:function(e){CU(this._onDisabledChange,e)}},{key:"_forEachChild",value:function(e){}},{key:"_syncPendingControls",value:function(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}},{key:"_applyFormState",value:function(e){this._isBoxedValue(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}}]),n}(NU),jU=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,AU(i),IU(r,i))).controls=e,o._initObservables(),o._setUpdateStrategy(i),o._setUpControls(),o.updateValueAndValidity({onlySelf:!0,emitEvent:!!o.asyncValidator}),o}return b(n,[{key:"registerControl",value:function(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}},{key:"addControl",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.registerControl(e,t),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}},{key:"removeControl",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),delete this.controls[e],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}},{key:"setControl",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),delete this.controls[e],t&&this.registerControl(e,t),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}},{key:"contains",value:function(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled}},{key:"setValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._checkAllValuesPresent(e),Object.keys(e).forEach(function(i){t._throwIfControlMissing(i),t.controls[i].setValue(e[i],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)}},{key:"patchValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};null!=e&&(Object.keys(e).forEach(function(i){t.controls[i]&&t.controls[i].patchValue(e[i],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n))}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._forEachChild(function(n,i){n.reset(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}},{key:"getRawValue",value:function(){return this._reduceChildren({},function(e,t,n){return e[n]=t instanceof LU?t.value:t.getRawValue(),e})}},{key:"_syncPendingControls",value:function(){var e=this._reduceChildren(!1,function(e,t){return!!t._syncPendingControls()||e});return e&&this.updateValueAndValidity({onlySelf:!0}),e}},{key:"_throwIfControlMissing",value:function(e){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[e])throw new Error("Cannot find form control with name: ".concat(e,"."))}},{key:"_forEachChild",value:function(e){var t=this;Object.keys(this.controls).forEach(function(n){var i=t.controls[n];i&&e(i,n)})}},{key:"_setUpControls",value:function(){var e=this;this._forEachChild(function(t){t.setParent(e),t._registerOnCollectionChange(e._onCollectionChange)})}},{key:"_updateValue",value:function(){this.value=this._reduceValue()}},{key:"_anyControls",value:function(e){for(var t=0,n=Object.keys(this.controls);t0||this.disabled}},{key:"_checkAllValuesPresent",value:function(e){this._forEachChild(function(t,n){if(void 0===e[n])throw new Error("Must supply a value for form control with name: '".concat(n,"'."))})}}]),n}(NU),FU=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,AU(i),IU(r,i))).controls=e,o._initObservables(),o._setUpdateStrategy(i),o._setUpControls(),o.updateValueAndValidity({onlySelf:!0,emitEvent:!!o.asyncValidator}),o}return b(n,[{key:"at",value:function(e){return this.controls[e]}},{key:"push",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls.push(e),this._registerControl(e),this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}},{key:"insert",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls.splice(e,0,t),this._registerControl(t),this.updateValueAndValidity({emitEvent:n.emitEvent})}},{key:"removeAt",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),this.controls.splice(e,1),this.updateValueAndValidity({emitEvent:t.emitEvent})}},{key:"setControl",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),this.controls.splice(e,1),t&&(this.controls.splice(e,0,t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}},{key:"length",get:function(){return this.controls.length}},{key:"setValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._checkAllValuesPresent(e),e.forEach(function(e,i){t._throwIfControlMissing(i),t.at(i).setValue(e,{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)}},{key:"patchValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};null!=e&&(e.forEach(function(e,i){t.at(i)&&t.at(i).patchValue(e,{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n))}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._forEachChild(function(n,i){n.reset(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}},{key:"getRawValue",value:function(){return this.controls.map(function(e){return e instanceof LU?e.value:e.getRawValue()})}},{key:"clear",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.controls.length<1||(this._forEachChild(function(e){return e._registerOnCollectionChange(function(){})}),this.controls.splice(0),this.updateValueAndValidity({emitEvent:e.emitEvent}))}},{key:"_syncPendingControls",value:function(){var e=this.controls.reduce(function(e,t){return!!t._syncPendingControls()||e},!1);return e&&this.updateValueAndValidity({onlySelf:!0}),e}},{key:"_throwIfControlMissing",value:function(e){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(e))throw new Error("Cannot find form control at index ".concat(e))}},{key:"_forEachChild",value:function(e){this.controls.forEach(function(t,n){e(t,n)})}},{key:"_updateValue",value:function(){var e=this;this.value=this.controls.filter(function(t){return t.enabled||e.disabled}).map(function(e){return e.value})}},{key:"_anyControls",value:function(e){return this.controls.some(function(t){return t.enabled&&e(t)})}},{key:"_setUpControls",value:function(){var e=this;this._forEachChild(function(t){return e._registerControl(t)})}},{key:"_checkAllValuesPresent",value:function(e){this._forEachChild(function(t,n){if(void 0===e[n])throw new Error("Must supply a value for form control at index: ".concat(n,"."))})}},{key:"_allControlsDisabled",value:function(){var e,t=_(this.controls);try{for(t.s();!(e=t.n()).done;){if(e.value.enabled)return!1}}catch(n){t.e(n)}finally{t.f()}return this.controls.length>0||this.disabled}},{key:"_registerControl",value:function(e){e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)}}]),n}(NU),BU={provide:lU,useExisting:He(function(){return zU})},VU=Promise.resolve(null),zU=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).submitted=!1,r._directives=[],r.ngSubmit=new ol,r.form=new jU({},eU(e),tU(i)),r}return b(n,[{key:"ngAfterViewInit",value:function(){this._setUpdateStrategy()}},{key:"formDirective",get:function(){return this}},{key:"control",get:function(){return this.form}},{key:"path",get:function(){return[]}},{key:"controls",get:function(){return this.form.controls}},{key:"addControl",value:function(e){var t=this;VU.then(function(){var n=t._findContainer(e.path);e.control=n.registerControl(e.name,e.control),vU(e.control,e),e.control.updateValueAndValidity({emitEvent:!1}),t._directives.push(e)})}},{key:"getControl",value:function(e){return this.form.get(e.path)}},{key:"removeControl",value:function(e){var t=this;VU.then(function(){var n=t._findContainer(e.path);n&&n.removeControl(e.name),CU(t._directives,e)})}},{key:"addFormGroup",value:function(e){var t=this;VU.then(function(){var n=t._findContainer(e.path),i=new jU({});wU(i,e),n.registerControl(e.name,i),i.updateValueAndValidity({emitEvent:!1})})}},{key:"removeFormGroup",value:function(e){var t=this;VU.then(function(){var n=t._findContainer(e.path);n&&n.removeControl(e.name)})}},{key:"getFormGroup",value:function(e){return this.form.get(e.path)}},{key:"updateModel",value:function(e,t){var n=this;VU.then(function(){n.form.get(e.path).setValue(t)})}},{key:"setValue",value:function(e){this.control.setValue(e)}},{key:"onSubmit",value:function(e){return this.submitted=!0,xU(this.form,this._directives),this.ngSubmit.emit(e),!1}},{key:"onReset",value:function(){this.resetForm()}},{key:"resetForm",value:function(e){this.form.reset(e),this.submitted=!1}},{key:"_setUpdateStrategy",value:function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}},{key:"_findContainer",value:function(e){return e.pop(),e.length?this.form.get(e):this.form}}]),n}(lU);return e.\u0275fac=function(t){return new(t||e)(Os(Xz,10),Os(Yz,10))},e.\u0275dir=Rt({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(e,t){1&e&&Vs("submit",function(e){return t.onSubmit(e)})("reset",function(){return t.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Xu([BU]),cs]}),e}(),UU={provide:hU,useExisting:He(function(){return GU})},HU=Promise.resolve(null),GU=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this)).control=new LU,a._registered=!1,a.update=new ol,a._parent=e,a._setValidators(i),a._setAsyncValidators(r),a.valueAccessor=SU(0,o),a}return b(n,[{key:"ngOnChanges",value:function(e){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in e&&this._updateDisabled(e),kU(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}},{key:"ngOnDestroy",value:function(){this.formDirective&&this.formDirective.removeControl(this)}},{key:"path",get:function(){return this._parent?function(e,t){return[].concat(v(t.path),[e])}(this.name,this._parent):[this.name]}},{key:"formDirective",get:function(){return this._parent?this._parent.formDirective:null}},{key:"viewToModelUpdate",value:function(e){this.viewModel=e,this.update.emit(e)}},{key:"_setUpControl",value:function(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}},{key:"_setUpdateStrategy",value:function(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}},{key:"_isStandalone",value:function(){return!this._parent||!(!this.options||!this.options.standalone)}},{key:"_setUpStandalone",value:function(){vU(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}},{key:"_checkForErrors",value:function(){this._isStandalone()||this._checkParentType(),this._checkName()}},{key:"_checkParentType",value:function(){}},{key:"_checkName",value:function(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}},{key:"_updateValue",value:function(e){var t=this;HU.then(function(){t.control.setValue(e,{emitViewToModelChange:!1})})}},{key:"_updateDisabled",value:function(e){var t=this,n=e.isDisabled.currentValue,i=""===n||n&&"false"!==n;HU.then(function(){i&&!t.control.disabled?t.control.disable():!i&&t.control.disabled&&t.control.enable()})}}]),n}(hU);return e.\u0275fac=function(t){return new(t||e)(Os(lU,9),Os(Xz,10),Os(Yz,10),Os(Hz,10))},e.\u0275dir=Rt({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Xu([UU]),cs,qt]}),e}(),WU=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),e}(),qU=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),XU=new Ri("NgModelWithFormControlWarning"),YU={provide:hU,useExisting:He(function(){return KU})},KU=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this))._ngModelWarningConfig=o,a.update=new ol,a._ngModelWarningSent=!1,a._setValidators(e),a._setAsyncValidators(i),a.valueAccessor=SU(0,r),a}return b(n,[{key:"isDisabled",set:function(e){}},{key:"ngOnChanges",value:function(e){if(this._isControlChanged(e)){var t=e.form.previousValue;t&&gU(t,this,!1),vU(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}kU(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}},{key:"ngOnDestroy",value:function(){this.form&&gU(this.form,this,!1)}},{key:"path",get:function(){return[]}},{key:"control",get:function(){return this.form}},{key:"viewToModelUpdate",value:function(e){this.viewModel=e,this.update.emit(e)}},{key:"_isControlChanged",value:function(e){return e.hasOwnProperty("form")}}]),n}(hU);return e.\u0275fac=function(t){return new(t||e)(Os(Xz,10),Os(Yz,10),Os(Hz,10),Os(XU,8))},e.\u0275dir=Rt({type:e,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[Xu([YU]),cs,qt]}),e._ngModelWarningSentOnce=!1,e}(),$U={provide:lU,useExisting:He(function(){return QU})},QU=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).validators=e,r.asyncValidators=i,r.submitted=!1,r._onCollectionChange=function(){return r._updateDomValue()},r.directives=[],r.form=null,r.ngSubmit=new ol,r._setValidators(e),r._setAsyncValidators(i),r}return b(n,[{key:"ngOnChanges",value:function(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}},{key:"ngOnDestroy",value:function(){this.form&&(bU(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(function(){}))}},{key:"formDirective",get:function(){return this}},{key:"control",get:function(){return this.form}},{key:"path",get:function(){return[]}},{key:"addControl",value:function(e){var t=this.form.get(e.path);return vU(t,e),t.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),t}},{key:"getControl",value:function(e){return this.form.get(e.path)}},{key:"removeControl",value:function(e){gU(e.control||null,e,!1),CU(this.directives,e)}},{key:"addFormGroup",value:function(e){this._setUpFormContainer(e)}},{key:"removeFormGroup",value:function(e){this._cleanUpFormContainer(e)}},{key:"getFormGroup",value:function(e){return this.form.get(e.path)}},{key:"addFormArray",value:function(e){this._setUpFormContainer(e)}},{key:"removeFormArray",value:function(e){this._cleanUpFormContainer(e)}},{key:"getFormArray",value:function(e){return this.form.get(e.path)}},{key:"updateModel",value:function(e,t){this.form.get(e.path).setValue(t)}},{key:"onSubmit",value:function(e){return this.submitted=!0,xU(this.form,this.directives),this.ngSubmit.emit(e),!1}},{key:"onReset",value:function(){this.resetForm()}},{key:"resetForm",value:function(e){this.form.reset(e),this.submitted=!1}},{key:"_updateDomValue",value:function(){var e=this;this.directives.forEach(function(t){var n=t.control,i=e.form.get(t.path);n!==i&&(gU(n||null,t),i instanceof LU&&(vU(i,t),t.control=i))}),this.form._updateTreeValidity({emitEvent:!1})}},{key:"_setUpFormContainer",value:function(e){var t=this.form.get(e.path);wU(t,e),t.updateValueAndValidity({emitEvent:!1})}},{key:"_cleanUpFormContainer",value:function(e){if(this.form){var t=this.form.get(e.path);t&&function(e,t){return bU(e,t)}(t,e)&&t.updateValueAndValidity({emitEvent:!1})}}},{key:"_updateRegistrations",value:function(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(function(){})}},{key:"_updateValidators",value:function(){yU(this.form,this),this._oldForm&&bU(this._oldForm,this)}},{key:"_checkFormPresent",value:function(){}}]),n}(lU);return e.\u0275fac=function(t){return new(t||e)(Os(Xz,10),Os(Yz,10))},e.\u0275dir=Rt({type:e,selectors:[["","formGroup",""]],hostBindings:function(e,t){1&e&&Vs("submit",function(e){return t.onSubmit(e)})("reset",function(){return t.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Xu([$U]),cs,qt]}),e}(),ZU=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[qU]]}),e}(),JU=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[ZU]}),e}(),eH=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"withConfig",value:function(t){return{ngModule:e,providers:[{provide:XU,useValue:t.warnOnNgModelWithFormControl}]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[ZU]}),e}();function tH(e){return new te(function(t){var n;try{n=e()}catch(i){return void t.error(i)}return(n?ye(n):If()).subscribe(t)})}var nH=["underline"],iH=["connectionContainer"],rH=["inputContainer"],oH=["label"];function aH(e,t){1&e&&(Rs(0),As(1,"div",14),Is(2,"div",15),Is(3,"div",16),Is(4,"div",17),Ms(),As(5,"div",18),Is(6,"div",15),Is(7,"div",16),Is(8,"div",17),Ms(),Ds())}function sH(e,t){1&e&&(As(0,"div",19),Ys(1,1),Ms())}function uH(e,t){if(1&e&&(Rs(0),Ys(1,2),As(2,"span"),Cu(3),Ms(),Ds()),2&e){var n=Ws(2);Yo(3),Eu(n._control.placeholder)}}function cH(e,t){1&e&&Ys(0,3,["*ngSwitchCase","true"])}function lH(e,t){1&e&&(As(0,"span",23),Cu(1," *"),Ms())}function hH(e,t){if(1&e){var n=Ls();As(0,"label",20,21),Vs("cdkObserveContent",function(){return bn(n),Ws().updateOutlineGap()}),Cs(2,uH,4,1,"ng-container",12),Cs(3,cH,1,0,"ng-content",12),Cs(4,lH,2,0,"span",22),Ms()}if(2&e){var i=Ws();cu("mat-empty",i._control.empty&&!i._shouldAlwaysFloat())("mat-form-field-empty",i._control.empty&&!i._shouldAlwaysFloat())("mat-accent","accent"==i.color)("mat-warn","warn"==i.color),Ts("cdkObserveContentDisabled","outline"!=i.appearance)("id",i._labelId)("ngSwitch",i._hasLabel()),ks("for",i._control.id)("aria-owns",i._control.id),Yo(2),Ts("ngSwitchCase",!1),Yo(1),Ts("ngSwitchCase",!0),Yo(1),Ts("ngIf",!i.hideRequiredMarker&&i._control.required&&!i._control.disabled)}}function dH(e,t){1&e&&(As(0,"div",24),Ys(1,4),Ms())}function fH(e,t){if(1&e&&(As(0,"div",25,26),Is(2,"span",27),Ms()),2&e){var n=Ws();Yo(2),cu("mat-accent","accent"==n.color)("mat-warn","warn"==n.color)}}function pH(e,t){1&e&&(As(0,"div"),Ys(1,5),Ms()),2&e&&Ts("@transitionMessages",Ws()._subscriptAnimationState)}function vH(e,t){if(1&e&&(As(0,"div",31),Cu(1),Ms()),2&e){var n=Ws(2);Ts("id",n._hintLabelId),Yo(1),Eu(n.hintLabel)}}function gH(e,t){if(1&e&&(As(0,"div",28),Cs(1,vH,2,2,"div",29),Ys(2,6),Is(3,"div",30),Ys(4,7),Ms()),2&e){var n=Ws();Ts("@transitionMessages",n._subscriptAnimationState),Yo(1),Ts("ngIf",n.hintLabel)}}var mH=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],yH=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"],bH=new Ri("MatError"),_H={transitionMessages:fg("transitionMessages",[mg("enter",gg({opacity:1,transform:"translateY(0%)"})),yg("void => enter",[gg({opacity:0,transform:"translateY(-5px)"}),pg("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},wH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e}),e}(),kH=new Ri("MatHint"),xH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["mat-label"]]}),e}(),SH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["mat-placeholder"]]}),e}(),CH=new Ri("MatPrefix"),EH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","matPrefix",""]],features:[Xu([{provide:CH,useExisting:e}])]}),e}(),OH=new Ri("MatSuffix"),TH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","matSuffix",""]],features:[Xu([{provide:OH,useExisting:e}])]}),e}(),PH=0,AH=ab(function(){return function e(t){m(this,e),this._elementRef=t}}(),"primary"),MH=new Ri("MAT_FORM_FIELD_DEFAULT_OPTIONS"),IH=new Ri("MatFormField"),RH=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c){var l;return m(this,n),(l=t.call(this,e))._changeDetectorRef=i,l._dir=o,l._defaults=a,l._platform=s,l._ngZone=u,l._outlineGapCalculationNeededImmediately=!1,l._outlineGapCalculationNeededOnStable=!1,l._destroyed=new ae,l._showAlwaysAnimate=!1,l._subscriptAnimationState="",l._hintLabel="",l._hintLabelId="mat-hint-"+PH++,l._labelId="mat-form-field-label-"+PH++,l.floatLabel=l._getDefaultFloatLabelState(),l._animationsEnabled="NoopAnimations"!==c,l.appearance=a&&a.appearance?a.appearance:"legacy",l._hideRequiredMarker=!(!a||null==a.hideRequiredMarker)&&a.hideRequiredMarker,l}return b(n,[{key:"appearance",get:function(){return this._appearance},set:function(e){var t=this._appearance;this._appearance=e||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&t!==e&&(this._outlineGapCalculationNeededOnStable=!0)}},{key:"hideRequiredMarker",get:function(){return this._hideRequiredMarker},set:function(e){this._hideRequiredMarker=Wd(e)}},{key:"_shouldAlwaysFloat",value:function(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}},{key:"_canLabelFloat",value:function(){return"never"!==this.floatLabel}},{key:"hintLabel",get:function(){return this._hintLabel},set:function(e){this._hintLabel=e,this._processHints()}},{key:"floatLabel",get:function(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel},set:function(e){e!==this._floatLabel&&(this._floatLabel=e||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}},{key:"_control",get:function(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic},set:function(e){this._explicitFormFieldControl=e}},{key:"getLabelId",value:function(){return this._hasFloatingLabel()?this._labelId:null}},{key:"getConnectedOverlayOrigin",value:function(){return this._connectionContainerRef||this._elementRef}},{key:"ngAfterContentInit",value:function(){var e=this;this._validateControlChild();var t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add("mat-form-field-type-".concat(t.controlType)),t.stateChanges.pipe(Ef(null)).subscribe(function(){e._validatePlaceholders(),e._syncDescribedByIds(),e._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(kf(this._destroyed)).subscribe(function(){return e._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(function(){e._ngZone.onStable.pipe(kf(e._destroyed)).subscribe(function(){e._outlineGapCalculationNeededOnStable&&e.updateOutlineGap()})}),Oe(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(function(){e._outlineGapCalculationNeededOnStable=!0,e._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(Ef(null)).subscribe(function(){e._processHints(),e._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(Ef(null)).subscribe(function(){e._syncDescribedByIds(),e._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(kf(this._destroyed)).subscribe(function(){"function"==typeof requestAnimationFrame?e._ngZone.runOutsideAngular(function(){requestAnimationFrame(function(){return e.updateOutlineGap()})}):e.updateOutlineGap()})}},{key:"ngAfterContentChecked",value:function(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}},{key:"ngAfterViewInit",value:function(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}},{key:"ngOnDestroy",value:function(){this._destroyed.next(),this._destroyed.complete()}},{key:"_shouldForward",value:function(e){var t=this._control?this._control.ngControl:null;return t&&t[e]}},{key:"_hasPlaceholder",value:function(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}},{key:"_hasLabel",value:function(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}},{key:"_shouldLabelFloat",value:function(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}},{key:"_hideControlPlaceholder",value:function(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}},{key:"_hasFloatingLabel",value:function(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}},{key:"_getDisplayedMessages",value:function(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}},{key:"_animateAndLockLabel",value:function(){var e=this;this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Qd(this._label.nativeElement,"transitionend").pipe(_p(1)).subscribe(function(){e._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}},{key:"_validatePlaceholders",value:function(){}},{key:"_processHints",value:function(){this._validateHints(),this._syncDescribedByIds()}},{key:"_validateHints",value:function(){}},{key:"_getDefaultFloatLabelState",value:function(){return this._defaults&&this._defaults.floatLabel||"auto"}},{key:"_syncDescribedByIds",value:function(){if(this._control){var e=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&e.push.apply(e,v(this._control.userAriaDescribedBy.split(" "))),"hint"===this._getDisplayedMessages()){var t=this._hintChildren?this._hintChildren.find(function(e){return"start"===e.align}):null,n=this._hintChildren?this._hintChildren.find(function(e){return"end"===e.align}):null;t?e.push(t.id):this._hintLabel&&e.push(this._hintLabelId),n&&e.push(n.id)}else this._errorChildren&&e.push.apply(e,v(this._errorChildren.map(function(e){return e.id})));this._control.setDescribedByIds(e)}}},{key:"_validateControlChild",value:function(){}},{key:"updateOutlineGap",value:function(){var e=this._label?this._label.nativeElement:null;if("outline"===this.appearance&&e&&e.children.length&&e.textContent.trim()&&this._platform.isBrowser)if(this._isAttachedToDOM()){var t=0,n=0,i=this._connectionContainerRef.nativeElement,r=i.querySelectorAll(".mat-form-field-outline-start"),o=i.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){var a=i.getBoundingClientRect();if(0===a.width&&0===a.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);for(var s=this._getStartEnd(a),u=e.children,c=this._getStartEnd(u[0].getBoundingClientRect()),l=0,h=0;h0?.75*l+10:0}for(var d=0;d1&&void 0!==arguments[1]?arguments[1]:ff,n=function(e){return e instanceof Date&&!isNaN(+e)}(e)?+e-t.now():Math.abs(e);return function(e){return e.lift(new LH(n,t))}}var LH=function(){function e(t,n){m(this,e),this.delay=t,this.scheduler=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new jH(e,this.delay,this.scheduler))}}]),e}(),jH=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).delay=i,o.scheduler=r,o.queue=[],o.active=!1,o.errored=!1,o}return b(n,[{key:"_schedule",value:function(e){this.active=!0,this.destination.add(e.schedule(n.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))}},{key:"scheduleNotification",value:function(e){if(!0!==this.errored){var t=this.scheduler,n=new FH(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}}},{key:"_next",value:function(e){this.scheduleNotification(Nf.createNext(e))}},{key:"_error",value:function(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()}},{key:"_complete",value:function(){this.scheduleNotification(Nf.createComplete()),this.unsubscribe()}}],[{key:"dispatch",value:function(e){for(var t=e.source,n=t.queue,i=e.scheduler,r=e.destination;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var o=Math.max(0,n[0].time-i.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1}}]),n}(K),FH=function e(t,n){m(this,e),this.time=t,this.notification=n},BH=["panel"];function VH(e,t){if(1&e&&(As(0,"div",0,1),Ys(2),Ms()),2&e){var n=t.id,i=Ws();Ts("id",i.id)("ngClass",i._classList),ks("aria-label",i.ariaLabel||null)("aria-labelledby",i._getPanelAriaLabelledby(n))}}var zH=["*"],UH=0,HH=function e(t,n){m(this,e),this.source=t,this.option=n},GH=sb(function(){return function e(){m(this,e)}}()),WH=new Ri("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}}),qH=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this))._changeDetectorRef=e,a._elementRef=i,a._activeOptionChanges=q.EMPTY,a.showPanel=!1,a._isOpen=!1,a.displayWith=null,a.optionSelected=new ol,a.opened=new ol,a.closed=new ol,a.optionActivated=new ol,a._classList={},a.id="mat-autocomplete-"+UH++,a.inertGroups=(null==o?void 0:o.SAFARI)||!1,a._autoActiveFirstOption=!!r.autoActiveFirstOption,a}return b(n,[{key:"isOpen",get:function(){return this._isOpen&&this.showPanel}},{key:"autoActiveFirstOption",get:function(){return this._autoActiveFirstOption},set:function(e){this._autoActiveFirstOption=Wd(e)}},{key:"classList",set:function(e){this._classList=e&&e.length?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:/\s+/,n=[];if(null!=e){var i,r=Array.isArray(e)?e:"".concat(e).split(t),o=_(r);try{for(o.s();!(i=o.n()).done;){var a=i.value,s="".concat(a).trim();s&&n.push(s)}}catch(u){o.e(u)}finally{o.f()}}return n}(e).reduce(function(e,t){return e[t]=!0,e},{}):{},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}},{key:"ngAfterContentInit",value:function(){var e=this;this._keyManager=new zv(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(function(t){e.isOpen&&e.optionActivated.emit({source:e,option:e.options.toArray()[t]||null})}),this._setVisibility()}},{key:"ngOnDestroy",value:function(){this._activeOptionChanges.unsubscribe()}},{key:"_setScrollTop",value:function(e){this.panel&&(this.panel.nativeElement.scrollTop=e)}},{key:"_getScrollTop",value:function(){return this.panel?this.panel.nativeElement.scrollTop:0}},{key:"_setVisibility",value:function(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}},{key:"_emitSelectEvent",value:function(e){var t=new HH(this,e);this.optionSelected.emit(t)}},{key:"_getPanelAriaLabelledby",value:function(e){return this.ariaLabel?null:this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}},{key:"_setVisibilityClasses",value:function(e){e[this._visibleClass]=this.showPanel,e[this._hiddenClass]=!this.showPanel}}]),n}(GH);return e.\u0275fac=function(t){return new(t||e)(Os(Cc),Os(Ju),Os(WH),Os(qf))},e.\u0275dir=Rt({type:e,viewQuery:function(e,t){var n;(1&e&&(yl(Ac,7),yl(BH,5)),2&e)&&(ml(n=_l())&&(t.template=n.first),ml(n=_l())&&(t.panel=n.first))},inputs:{displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",classList:["class","classList"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],panelWidth:"panelWidth"},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[cs]}),e}(),XH=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments))._visibleClass="mat-autocomplete-visible",e._hiddenClass="mat-autocomplete-hidden",e}return n}(qH);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275cmp=Ot({type:t,selectors:[["mat-autocomplete"]],contentQueries:function(e,t,n){var i;(1&e&&(bl(n,Pb,5),bl(n,Rb,5)),2&e)&&(ml(i=_l())&&(t.optionGroups=i),ml(i=_l())&&(t.options=i))},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[Xu([{provide:Cb,useExisting:t}]),cs],ngContentSelectors:zH,decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(e,t){1&e&&(Xs(),Cs(0,VH,3,4,"ng-template"))},directives:[Gh],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"],encapsulation:2,changeDetection:0}),t}(),YH=new Ri("mat-autocomplete-scroll-strategy"),KH={provide:YH,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.reposition()}}},$H={provide:Hz,useExisting:He(function(){return ZH}),multi:!0},QH=function(){var e=function(){function e(t,n,i,r,o,a,s,u,c,l,h){var d=this;m(this,e),this._element=t,this._overlay=n,this._viewContainerRef=i,this._zone=r,this._changeDetectorRef=o,this._dir=s,this._formField=u,this._document=c,this._viewportRuler=l,this._defaults=h,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=q.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new ae,this._windowBlurHandler=function(){d._canOpenOnNextFocus=d._document.activeElement!==d._element.nativeElement||d.panelOpen},this._onChange=function(){},this._onTouched=function(){},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=tH(function(){return d.autocomplete&&d.autocomplete.options?Oe.apply(void 0,v(d.autocomplete.options.map(function(e){return e.onSelectionChange}))):d._zone.onStable.pipe(_p(1),Of(function(){return d.optionSelections}))}),this._scrollStrategy=a}return b(e,[{key:"autocompleteDisabled",get:function(){return this._autocompleteDisabled},set:function(e){this._autocompleteDisabled=Wd(e)}},{key:"ngAfterViewInit",value:function(){var e=this,t=this._getWindow();void 0!==t&&this._zone.runOutsideAngular(function(){return t.addEventListener("blur",e._windowBlurHandler)})}},{key:"ngOnChanges",value:function(e){e.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}},{key:"ngOnDestroy",value:function(){var e=this._getWindow();void 0!==e&&e.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}},{key:"panelOpen",get:function(){return this._overlayAttached&&this.autocomplete.showPanel}},{key:"openPanel",value:function(){this._attachOverlay(),this._floatLabel()}},{key:"closePanel",value:function(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}},{key:"updatePosition",value:function(){this._overlayAttached&&this._overlayRef.updatePosition()}},{key:"panelClosingActions",get:function(){var e=this;return Oe(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(bf(function(){return e._overlayAttached})),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(bf(function(){return e._overlayAttached})):$d()).pipe(ce(function(e){return e instanceof Mb?e:null}))}},{key:"activeOption",get:function(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}},{key:"_getOutsideClickStream",value:function(){var e=this;return Oe(Qd(this._document,"click"),Qd(this._document,"auxclick"),Qd(this._document,"touchend")).pipe(bf(function(t){var n=Jf(t),i=e._formField?e._formField._elementRef.nativeElement:null,r=e.connectedTo?e.connectedTo.elementRef.nativeElement:null;return e._overlayAttached&&n!==e._element.nativeElement&&(!i||!i.contains(n))&&(!r||!r.contains(n))&&!!e._overlayRef&&!e._overlayRef.overlayElement.contains(n)}))}},{key:"writeValue",value:function(e){var t=this;Promise.resolve(null).then(function(){return t._setTriggerValue(e)})}},{key:"registerOnChange",value:function(e){this._onChange=e}},{key:"registerOnTouched",value:function(e){this._onTouched=e}},{key:"setDisabledState",value:function(e){this._element.nativeElement.disabled=e}},{key:"_handleKeydown",value:function(e){var t=e.keyCode;if(27===t&&!Ep(e)&&e.preventDefault(),this.activeOption&&13===t&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),e.preventDefault();else if(this.autocomplete){var n=this.autocomplete._keyManager.activeItem,i=38===t||40===t;this.panelOpen||9===t?this.autocomplete._keyManager.onKeydown(e):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0)}}},{key:"_handleInput",value:function(e){var t=e.target,n=t.value;"number"===t.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this._document.activeElement===e.target&&this.openPanel())}},{key:"_handleFocus",value:function(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}},{key:"_floatLabel",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._formField&&"auto"===this._formField.floatLabel&&(e?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}},{key:"_resetLabel",value:function(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}},{key:"_subscribeToClosingActions",value:function(){var e=this;return Oe(this._zone.onStable.pipe(_p(1)),this.autocomplete.options.changes.pipe(mv(function(){return e._positionStrategy.reapplyLastPosition()}),NH(0))).pipe(Of(function(){var t=e.panelOpen;return e._resetActiveItem(),e.autocomplete._setVisibility(),e.panelOpen&&(e._overlayRef.updatePosition(),t!==e.panelOpen&&e.autocomplete.opened.emit()),e.panelClosingActions}),_p(1)).subscribe(function(t){return e._setValueAndClose(t)})}},{key:"_destroyPanel",value:function(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}},{key:"_setTriggerValue",value:function(e){var t=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(e):e,n=null!=t?t:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n,this._previousValue=n}},{key:"_setValueAndClose",value:function(e){e&&e.source&&(this._clearPreviousSelectedOption(e.source),this._setTriggerValue(e.source.value),this._onChange(e.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(e.source)),this.closePanel()}},{key:"_clearPreviousSelectedOption",value:function(e){this.autocomplete.options.forEach(function(t){t!==e&&t.selected&&t.deselect()})}},{key:"_attachOverlay",value:function(){var e,t=this,n=this._overlayRef;n?(this._positionStrategy.setOrigin(this._getConnectedElement()),n.updateSize({width:this._getPanelWidth()})):(this._portal=new hp(this.autocomplete.template,this._viewContainerRef,{id:null===(e=this._formField)||void 0===e?void 0:e.getLabelId()}),n=this._overlay.create(this._getOverlayConfig()),this._overlayRef=n,n.keydownEvents().subscribe(function(e){(27===e.keyCode&&!Ep(e)||38===e.keyCode&&Ep(e,"altKey"))&&(t._closeKeyEventStream.next(),t._resetActiveItem(),e.stopPropagation(),e.preventDefault())}),this._viewportSubscription=this._viewportRuler.change().subscribe(function(){t.panelOpen&&n&&n.updateSize({width:t._getPanelWidth()})})),n&&!n.hasAttached()&&(n.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());var i=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&i!==this.panelOpen&&this.autocomplete.opened.emit()}},{key:"_getOverlayConfig",value:function(){var e;return new Np({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:null===(e=this._defaults)||void 0===e?void 0:e.overlayPanelClass})}},{key:"_getOverlayPosition",value:function(){var e=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(e),this._positionStrategy=e,e}},{key:"_setStrategyPositions",value:function(e){var t,n=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],i=this._aboveClass,r=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:i},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:i}];t="above"===this.position?r:"below"===this.position?n:[].concat(n,r),e.withPositions(t)}},{key:"_getConnectedElement",value:function(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}},{key:"_getPanelWidth",value:function(){return this.autocomplete.panelWidth||this._getHostWidth()}},{key:"_getHostWidth",value:function(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}},{key:"_resetActiveItem",value:function(){var e=this.autocomplete;e.autoActiveFirstOption?e._keyManager.setFirstItemActive():e._keyManager.setActiveItem(-1)}},{key:"_canOpen",value:function(){var e=this._element.nativeElement;return!e.readOnly&&!e.disabled&&!this._autocompleteDisabled}},{key:"_getWindow",value:function(){var e;return(null===(e=this._document)||void 0===e?void 0:e.defaultView)||window}},{key:"_scrollToOption",value:function(e){var t=this.autocomplete,n=Db(e,t.options,t.optionGroups);if(0===e&&1===n)t._setScrollTop(0);else if(t.panel){var i=t.options.toArray()[e];if(i){var r=i._getHostElement(),o=Nb(r.offsetTop,r.offsetHeight,t._getScrollTop(),t.panel.nativeElement.offsetHeight);t._setScrollTop(o)}}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(iv),Os(Nc),Os(Xl),Os(Cc),Os(YH),Os(tp,8),Os(IH,9),Os(bh,8),Os(ap),Os(WH,8))},e.\u0275dir=Rt({type:e,inputs:{position:["matAutocompletePosition","position"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"],autocomplete:["matAutocomplete","autocomplete"],connectedTo:["matAutocompleteConnectedTo","connectedTo"]},features:[qt]}),e}(),ZH=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments))._aboveClass="mat-autocomplete-panel-above",e}return n}(QH);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(e,t){1&e&&Vs("focusin",function(){return t._handleFocus()})("blur",function(){return t._onTouched()})("input",function(e){return t._handleInput(e)})("keydown",function(e){return t._handleKeydown(e)}),2&e&&ks("autocomplete",t.autocompleteAttribute)("role",t.autocompleteDisabled?null:"combobox")("aria-autocomplete",t.autocompleteDisabled?null:"list")("aria-activedescendant",t.panelOpen&&t.activeOption?t.activeOption.id:null)("aria-expanded",t.autocompleteDisabled?null:t.panelOpen.toString())("aria-owns",t.autocompleteDisabled||!t.panelOpen||null==t.autocomplete?null:t.autocomplete.id)("aria-haspopup",!t.autocompleteDisabled)},exportAs:["matAutocompleteTrigger"],features:[Xu([$H]),cs]}),t}(),JH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[KH],imports:[[cv,Lb,rb,cd],sp,Lb,rb]}),e}(),eG=$f({passive:!0}),tG=function(){var e=function(){function e(t,n){m(this,e),this._platform=t,this._ngZone=n,this._monitoredElements=new Map}return b(e,[{key:"monitor",value:function(e){var t=this;if(!this._platform.isBrowser)return Mf;var n=Kd(e),i=this._monitoredElements.get(n);if(i)return i.subject;var r=new ae,o="cdk-text-field-autofilled",a=function(e){"cdk-text-field-autofill-start"!==e.animationName||n.classList.contains(o)?"cdk-text-field-autofill-end"===e.animationName&&n.classList.contains(o)&&(n.classList.remove(o),t._ngZone.run(function(){return r.next({target:e.target,isAutofilled:!1})})):(n.classList.add(o),t._ngZone.run(function(){return r.next({target:e.target,isAutofilled:!0})}))};return this._ngZone.runOutsideAngular(function(){n.addEventListener("animationstart",a,eG),n.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(n,{subject:r,unlisten:function(){n.removeEventListener("animationstart",a,eG)}}),r}},{key:"stopMonitoring",value:function(e){var t=Kd(e),n=this._monitoredElements.get(t);n&&(n.unlisten(),n.subject.complete(),t.classList.remove("cdk-text-field-autofill-monitored"),t.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(t))}},{key:"ngOnDestroy",value:function(){var e=this;this._monitoredElements.forEach(function(t,n){return e.stopMonitoring(n)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf),Zi(Xl))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf),Zi(Xl))},token:e,providedIn:"root"}),e}(),nG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[Xf]]}),e}(),iG=new Ri("MAT_INPUT_VALUE_ACCESSOR"),rG=["button","checkbox","file","hidden","image","radio","range","reset","submit"],oG=0,aG=cb(function(){return function e(t,n,i,r){m(this,e),this._defaultErrorStateMatcher=t,this._parentForm=n,this._parentFormGroup=i,this.ngControl=r}}()),sG=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c,l,h){var d;m(this,n),(d=t.call(this,s,o,a,r))._elementRef=e,d._platform=i,d._autofillMonitor=c,d._formField=h,d._uid="mat-input-"+oG++,d.focused=!1,d.stateChanges=new ae,d.controlType="mat-input",d.autofilled=!1,d._disabled=!1,d._required=!1,d._type="text",d._readonly=!1,d._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(function(e){return Kf().has(e)});var f=d._elementRef.nativeElement,p=f.nodeName.toLowerCase();return d._inputValueAccessor=u||f,d._previousNativeValue=d.value,d.id=d.id,i.IOS&&l.runOutsideAngular(function(){e.nativeElement.addEventListener("keyup",function(e){var t=e.target;!t.value&&0===t.selectionStart&&0===t.selectionEnd&&(t.setSelectionRange(1,1),t.setSelectionRange(0,0))})}),d._isServer=!d._platform.isBrowser,d._isNativeSelect="select"===p,d._isTextarea="textarea"===p,d._isInFormField=!!h,d._isNativeSelect&&(d.controlType=f.multiple?"mat-native-select-multiple":"mat-native-select"),d}return b(n,[{key:"disabled",get:function(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled},set:function(e){this._disabled=Wd(e),this.focused&&(this.focused=!1,this.stateChanges.next())}},{key:"id",get:function(){return this._id},set:function(e){this._id=e||this._uid}},{key:"required",get:function(){return this._required},set:function(e){this._required=Wd(e)}},{key:"type",get:function(){return this._type},set:function(e){this._type=e||"text",this._validateType(),!this._isTextarea&&Kf().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}},{key:"value",get:function(){return this._inputValueAccessor.value},set:function(e){e!==this.value&&(this._inputValueAccessor.value=e,this.stateChanges.next())}},{key:"readonly",get:function(){return this._readonly},set:function(e){this._readonly=Wd(e)}},{key:"ngAfterViewInit",value:function(){var e=this;this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(function(t){e.autofilled=t.isAutofilled,e.stateChanges.next()})}},{key:"ngOnChanges",value:function(){this.stateChanges.next()}},{key:"ngOnDestroy",value:function(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}},{key:"ngDoCheck",value:function(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}},{key:"focus",value:function(e){this._elementRef.nativeElement.focus(e)}},{key:"_focusChanged",value:function(e){e!==this.focused&&(this.focused=e,this.stateChanges.next())}},{key:"_onInput",value:function(){}},{key:"_dirtyCheckPlaceholder",value:function(){var e,t,n=(null===(t=null===(e=this._formField)||void 0===e?void 0:e._hideControlPlaceholder)||void 0===t?void 0:t.call(e))?null:this.placeholder;if(n!==this._previousPlaceholder){var i=this._elementRef.nativeElement;this._previousPlaceholder=n,n?i.setAttribute("placeholder",n):i.removeAttribute("placeholder")}}},{key:"_dirtyCheckNativeValue",value:function(){var e=this._elementRef.nativeElement.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this.stateChanges.next())}},{key:"_validateType",value:function(){rG.indexOf(this._type)}},{key:"_isNeverEmpty",value:function(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}},{key:"_isBadInput",value:function(){var e=this._elementRef.nativeElement.validity;return e&&e.badInput}},{key:"empty",get:function(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}},{key:"shouldLabelFloat",get:function(){if(this._isNativeSelect){var e=this._elementRef.nativeElement,t=e.options[0];return this.focused||e.multiple||!this.empty||!!(e.selectedIndex>-1&&t&&t.label)}return this.focused||!this.empty}},{key:"setDescribedByIds",value:function(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}},{key:"onContainerClick",value:function(){this.focused||this.focus()}}]),n}(aG);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(qf),Os(hU,10),Os(zU,8),Os(QU,8),Os(lb),Os(iG,10),Os(tG),Os(Xl),Os(IH,8))},e.\u0275dir=Rt({type:e,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(e,t){1&e&&Vs("focus",function(){return t._focusChanged(!0)})("blur",function(){return t._focusChanged(!1)})("input",function(){return t._onInput()}),2&e&&(Au("disabled",t.disabled)("required",t.required),ks("id",t.id)("data-placeholder",t.placeholder)("readonly",t.readonly&&!t._isNativeSelect||null)("aria-invalid",t.empty&&t.required?null:t.errorState)("aria-required",t.required),cu("mat-input-server",t._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[Xu([{provide:wH,useExisting:e}]),cs,qt]}),e}(),uG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[lb],imports:[[nG,DH,rb],nG,DH]}),e}();function cG(){for(var e=arguments.length,t=new Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:this.value,t=new yG;return t.source=this,t.value=e,t}},{key:"_calculatePercentage",value:function(e){return((e||0)-this.min)/(this.max-this.min)}},{key:"_calculateValue",value:function(e){return this.min+e*(this.max-this.min)}},{key:"_clamp",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return Math.max(t,Math.min(e,n))}},{key:"_getSliderDimensions",value:function(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}},{key:"_focusHostElement",value:function(e){this._elementRef.nativeElement.focus(e)}},{key:"_blurHostElement",value:function(){this._elementRef.nativeElement.blur()}},{key:"writeValue",value:function(e){this.value=e}},{key:"registerOnChange",value:function(e){this._controlValueAccessorChangeFn=e}},{key:"registerOnTouched",value:function(e){this.onTouched=e}},{key:"setDisabledState",value:function(e){this.disabled=e}}]),n}(bG);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(rg),Os(Cc),Os(tp,8),Ai("tabindex"),Os(Xl),Os(bh),Os(Yy,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-slider"]],viewQuery:function(e,t){var n;(1&e&&yl(vG,5),2&e)&&(ml(n=_l())&&(t._sliderWrapper=n.first))},hostAttrs:["role","slider",1,"mat-slider","mat-focus-indicator"],hostVars:29,hostBindings:function(e,t){1&e&&Vs("focus",function(){return t._onFocus()})("blur",function(){return t._onBlur()})("keydown",function(e){return t._onKeydown(e)})("keyup",function(){return t._onKeyup()})("mouseenter",function(){return t._onMouseenter()})("selectstart",function(e){return e.preventDefault()}),2&e&&(Au("tabIndex",t.tabIndex),ks("aria-disabled",t.disabled)("aria-valuemax",t.max)("aria-valuemin",t.min)("aria-valuenow",t.value)("aria-valuetext",null==t.valueText?t.displayValue:t.valueText)("aria-orientation",t.vertical?"vertical":"horizontal"),cu("mat-slider-disabled",t.disabled)("mat-slider-has-ticks",t.tickInterval)("mat-slider-horizontal",!t.vertical)("mat-slider-axis-inverted",t._shouldInvertAxis())("mat-slider-invert-mouse-coords",t._shouldInvertMouseCoords())("mat-slider-sliding",t._isSliding)("mat-slider-thumb-label-showing",t.thumbLabel)("mat-slider-vertical",t.vertical)("mat-slider-min-value",t._isMinValue())("mat-slider-hide-last-tick",t.disabled||t._isMinValue()&&t._getThumbGap()&&t._shouldInvertAxis())("_mat-animation-noopable","NoopAnimations"===t._animationMode))},inputs:{disabled:"disabled",color:"color",tabIndex:"tabIndex",invert:"invert",max:"max",min:"min",step:"step",thumbLabel:"thumbLabel",tickInterval:"tickInterval",value:"value",vertical:"vertical",displayWith:"displayWith",valueText:"valueText"},outputs:{change:"change",input:"input",valueChange:"valueChange"},exportAs:["matSlider"],features:[Xu([mG]),cs],decls:13,vars:6,consts:[[1,"mat-slider-wrapper"],["sliderWrapper",""],[1,"mat-slider-track-wrapper"],[1,"mat-slider-track-background",3,"ngStyle"],[1,"mat-slider-track-fill",3,"ngStyle"],[1,"mat-slider-ticks-container",3,"ngStyle"],[1,"mat-slider-ticks",3,"ngStyle"],[1,"mat-slider-thumb-container",3,"ngStyle"],[1,"mat-slider-focus-ring"],[1,"mat-slider-thumb"],[1,"mat-slider-thumb-label"],[1,"mat-slider-thumb-label-text"]],template:function(e,t){1&e&&(As(0,"div",0,1),As(2,"div",2),Is(3,"div",3),Is(4,"div",4),Ms(),As(5,"div",5),Is(6,"div",6),Ms(),As(7,"div",7),Is(8,"div",8),Is(9,"div",9),As(10,"div",10),As(11,"span",11),Cu(12),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(3),Ts("ngStyle",t._getTrackBackgroundStyles()),Yo(1),Ts("ngStyle",t._getTrackFillStyles()),Yo(1),Ts("ngStyle",t._getTicksContainerStyles()),Yo(1),Ts("ngStyle",t._getTicksStyles()),Yo(1),Ts("ngStyle",t._getThumbContainerStyles()),Yo(5),Eu(t.displayValue))},directives:[td],styles:['.mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:"";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\n'],encapsulation:2,changeDetection:0}),e}();function wG(e){return"t"===e.type[0]}function kG(e,t){var n;return(n=wG(e)?"number"==typeof t?xG(e.touches,t)||xG(e.changedTouches,t):e.touches[0]||e.changedTouches[0]:e)?{x:n.clientX,y:n.clientY}:void 0}function xG(e,t){for(var n=0;n enter",pg("150ms cubic-bezier(0, 0, 0.2, 1)",gg({transform:"none",opacity:1}))),yg("* => void, * => exit",pg("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",gg({opacity:0})))])},TG=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s){var u;return m(this,n),(u=t.call(this))._elementRef=e,u._focusTrapFactory=i,u._changeDetectorRef=r,u._config=a,u._focusMonitor=s,u._animationStateChanged=new ol,u._elementFocusedBeforeDialogWasOpened=null,u._closeInteractionType=null,u.attachDomPortal=function(e){return u._portalOutlet.hasAttached(),u._portalOutlet.attachDomPortal(e)},u._ariaLabelledBy=a.ariaLabelledBy||null,u._document=o,u}return b(n,[{key:"_initializeWithAttachedContent",value:function(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}},{key:"attachComponentPortal",value:function(e){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(e)}},{key:"attachTemplatePortal",value:function(e){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(e)}},{key:"_recaptureFocus",value:function(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}},{key:"_trapFocus",value:function(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}},{key:"_restoreFocus",value:function(){var e=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&e&&"function"==typeof e.focus){var t=Zf(),n=this._elementRef.nativeElement;(!t||t===this._document.body||t===n||n.contains(t))&&(this._focusMonitor?(this._focusMonitor.focusVia(e,this._closeInteractionType),this._closeInteractionType=null):e.focus())}this._focusTrap&&this._focusTrap.destroy()}},{key:"_setupFocusTrap",value:function(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}},{key:"_capturePreviouslyFocusedElement",value:function(){this._document&&(this._elementFocusedBeforeDialogWasOpened=Zf())}},{key:"_focusDialogContainer",value:function(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}},{key:"_containsFocus",value:function(){var e=this._elementRef.nativeElement,t=Zf();return e===t||e.contains(t)}}]),n}(fp);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(qv),Os(Cc),Os(bh,8),Os(EG),Os(rg))},e.\u0275dir=Rt({type:e,viewQuery:function(e,t){var n;(1&e&&yl(mp,7),2&e)&&(ml(n=_l())&&(t._portalOutlet=n.first))},features:[cs]}),e}(),PG=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments))._state="enter",e}return b(n,[{key:"_onAnimationDone",value:function(e){var t=e.toState,n=e.totalTime;"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:n})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:n}))}},{key:"_onAnimationStart",value:function(e){var t=e.toState,n=e.totalTime;"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:n}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:n})}},{key:"_startExitAnimation",value:function(){this._state="exit",this._changeDetectorRef.markForCheck()}}]),n}(TG);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275cmp=Ot({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(e,t){1&e&&zs("@dialogContainer.start",function(e){return t._onAnimationStart(e)})("@dialogContainer.done",function(e){return t._onAnimationDone(e)}),2&e&&(Au("id",t._id),ks("role",t._config.role)("aria-labelledby",t._config.ariaLabel?null:t._ariaLabelledBy)("aria-label",t._config.ariaLabel)("aria-describedby",t._config.ariaDescribedBy||null),Mu("@dialogContainer",t._state))},features:[cs],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(e,t){1&e&&Cs(0,CG,0,0,"ng-template",0)},directives:[mp],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[OG.dialogContainer]}}),t}(),AG=0,MG=function(){function e(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mat-dialog-"+AG++;m(this,e),this._overlayRef=t,this._containerInstance=n,this.id=r,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new ae,this._afterClosed=new ae,this._beforeClosed=new ae,this._state=0,n._id=r,n._animationStateChanged.pipe(bf(function(e){return"opened"===e.state}),_p(1)).subscribe(function(){i._afterOpened.next(),i._afterOpened.complete()}),n._animationStateChanged.pipe(bf(function(e){return"closed"===e.state}),_p(1)).subscribe(function(){clearTimeout(i._closeFallbackTimeout),i._finishDialogClose()}),t.detachments().subscribe(function(){i._beforeClosed.next(i._result),i._beforeClosed.complete(),i._afterClosed.next(i._result),i._afterClosed.complete(),i.componentInstance=null,i._overlayRef.dispose()}),t.keydownEvents().pipe(bf(function(e){return 27===e.keyCode&&!i.disableClose&&!Ep(e)})).subscribe(function(e){e.preventDefault(),IG(i,"keyboard")}),t.backdropClick().subscribe(function(){i.disableClose?i._containerInstance._recaptureFocus():IG(i,"mouse")})}return b(e,[{key:"close",value:function(e){var t=this;this._result=e,this._containerInstance._animationStateChanged.pipe(bf(function(e){return"closing"===e.state}),_p(1)).subscribe(function(n){t._beforeClosed.next(e),t._beforeClosed.complete(),t._overlayRef.detachBackdrop(),t._closeFallbackTimeout=setTimeout(function(){return t._finishDialogClose()},n.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}},{key:"afterOpened",value:function(){return this._afterOpened}},{key:"afterClosed",value:function(){return this._afterClosed}},{key:"beforeClosed",value:function(){return this._beforeClosed}},{key:"backdropClick",value:function(){return this._overlayRef.backdropClick()}},{key:"keydownEvents",value:function(){return this._overlayRef.keydownEvents()}},{key:"updatePosition",value:function(e){var t=this._getPositionStrategy();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._overlayRef.updatePosition(),this}},{key:"updateSize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}},{key:"addPanelClass",value:function(e){return this._overlayRef.addPanelClass(e),this}},{key:"removePanelClass",value:function(e){return this._overlayRef.removePanelClass(e),this}},{key:"getState",value:function(){return this._state}},{key:"_finishDialogClose",value:function(){this._state=2,this._overlayRef.dispose()}},{key:"_getPositionStrategy",value:function(){return this._overlayRef.getConfig().positionStrategy}}]),e}();function IG(e,t,n){return void 0!==e._containerInstance&&(e._containerInstance._closeInteractionType=t),e.close(n)}var RG=new Ri("MatDialogData"),DG=new Ri("mat-dialog-default-options"),NG=new Ri("mat-dialog-scroll-strategy"),LG={provide:NG,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.block()}}},jG=function(){var e=function(){function e(t,n,i,r,o,a,s,u,c){var l=this;m(this,e),this._overlay=t,this._injector=n,this._defaultOptions=i,this._parentDialog=r,this._overlayContainer=o,this._dialogRefConstructor=s,this._dialogContainerType=u,this._dialogDataToken=c,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new ae,this._afterOpenedAtThisLevel=new ae,this._ariaHiddenElements=new Map,this.afterAllClosed=tH(function(){return l.openDialogs.length?l._getAfterAllClosed():l._getAfterAllClosed().pipe(Ef(void 0))}),this._scrollStrategy=a}return b(e,[{key:"openDialogs",get:function(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}},{key:"afterOpened",get:function(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}},{key:"_getAfterAllClosed",value:function(){var e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}},{key:"open",value:function(e,t){var n=this;(t=function(e,t){return Object.assign(Object.assign({},t),e)}(t,this._defaultOptions||new EG)).id&&this.getDialogById(t.id);var i=this._createOverlay(t),r=this._attachDialogContainer(i,t),o=this._attachDialogContent(e,r,i,t);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(function(){return n._removeOpenDialog(o)}),this.afterOpened.next(o),r._initializeWithAttachedContent(),o}},{key:"closeAll",value:function(){this._closeDialogs(this.openDialogs)}},{key:"getDialogById",value:function(e){return this.openDialogs.find(function(t){return t.id===e})}},{key:"ngOnDestroy",value:function(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}},{key:"_createOverlay",value:function(e){var t=this._getOverlayConfig(e);return this._overlay.create(t)}},{key:"_getOverlayConfig",value:function(e){var t=new Np({positionStrategy:this._overlay.position().global(),scrollStrategy:e.scrollStrategy||this._scrollStrategy(),panelClass:e.panelClass,hasBackdrop:e.hasBackdrop,direction:e.direction,minWidth:e.minWidth,minHeight:e.minHeight,maxWidth:e.maxWidth,maxHeight:e.maxHeight,disposeOnNavigation:e.closeOnNavigation});return e.backdropClass&&(t.backdropClass=e.backdropClass),t}},{key:"_attachDialogContainer",value:function(e,t){var n=ss.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:EG,useValue:t}]}),i=new lp(this._dialogContainerType,t.viewContainerRef,n,t.componentFactoryResolver);return e.attach(i).instance}},{key:"_attachDialogContent",value:function(e,t,n,i){var r=new this._dialogRefConstructor(n,t,i.id);if(e instanceof Ac)t.attachTemplatePortal(new hp(e,null,{$implicit:i.data,dialogRef:r}));else{var o=this._createInjector(i,r,t),a=t.attachComponentPortal(new lp(e,i.viewContainerRef,o));r.componentInstance=a.instance}return r.updateSize(i.width,i.height).updatePosition(i.position),r}},{key:"_createInjector",value:function(e,t,n){var i=e&&e.viewContainerRef&&e.viewContainerRef.injector,r=[{provide:this._dialogContainerType,useValue:n},{provide:this._dialogDataToken,useValue:e.data},{provide:this._dialogRefConstructor,useValue:t}];return e.direction&&(!i||!i.get(tp,null,at.Optional))&&r.push({provide:tp,useValue:{value:e.direction,change:$d()}}),ss.create({parent:i||this._injector,providers:r})}},{key:"_removeOpenDialog",value:function(e){var t=this.openDialogs.indexOf(e);t>-1&&(this.openDialogs.splice(t,1),this.openDialogs.length||(this._ariaHiddenElements.forEach(function(e,t){e?t.setAttribute("aria-hidden",e):t.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}},{key:"_hideNonDialogContentFromAssistiveTechnology",value:function(){var e=this._overlayContainer.getContainerElement();if(e.parentElement)for(var t=e.parentElement.children,n=t.length-1;n>-1;n--){var i=t[n];i!==e&&"SCRIPT"!==i.nodeName&&"STYLE"!==i.nodeName&&!i.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(i,i.getAttribute("aria-hidden")),i.setAttribute("aria-hidden","true"))}}},{key:"_closeDialogs",value:function(e){for(var t=e.length;t--;)e[t].close()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(ss),Os(void 0),Os(void 0),Os(Hp),Os(void 0),Os(Di),Os(Di),Os(Ri))},e.\u0275dir=Rt({type:e}),e}(),FG=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u){return m(this,n),t.call(this,e,i,o,s,u,a,MG,PG,RG)}return n}(jG);return e.\u0275fac=function(t){return new(t||e)(Zi(iv),Zi(ss),Zi(Ih,8),Zi(DG,8),Zi(NG),Zi(e,12),Zi(Hp))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),BG=0,VG=function(){var e=function(){function e(t,n,i){m(this,e),this._dialogRef=t,this._elementRef=n,this._dialog=i,this.id="mat-dialog-title-"+BG++}return b(e,[{key:"ngOnInit",value:function(){var e=this;this._dialogRef||(this._dialogRef=function(e,t){for(var n=e.nativeElement.parentElement;n&&!n.classList.contains("mat-dialog-container");)n=n.parentElement;return n?t.find(function(e){return e.id===n.id}):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(function(){var t=e._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=e.id)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(MG,8),Os(Ju),Os(FG))},e.\u0275dir=Rt({type:e,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(e,t){2&e&&Au("id",t.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),e}(),zG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),e}(),UG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[FG,LG],imports:[[cv,yp,rb],rb]}),e}(),HG=new Ri("CdkAccordion"),GG=0,WG=function(){var e=function(){function e(t,n,i){var r=this;m(this,e),this.accordion=t,this._changeDetectorRef=n,this._expansionDispatcher=i,this._openCloseAllSubscription=q.EMPTY,this.closed=new ol,this.opened=new ol,this.destroyed=new ol,this.expandedChange=new ol,this.id="cdk-accordion-child-"+GG++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=function(){},this._removeUniqueSelectionListener=i.listen(function(e,t){r.accordion&&!r.accordion.multi&&r.accordion.id===t&&r.id!==e&&(r.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}return b(e,[{key:"expanded",get:function(){return this._expanded},set:function(e){e=Wd(e),this._expanded!==e&&(this._expanded=e,this.expandedChange.emit(e),e?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}},{key:"disabled",get:function(){return this._disabled},set:function(e){this._disabled=Wd(e)}},{key:"ngOnDestroy",value:function(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}},{key:"toggle",value:function(){this.disabled||(this.expanded=!this.expanded)}},{key:"close",value:function(){this.disabled||(this.expanded=!1)}},{key:"open",value:function(){this.disabled||(this.expanded=!0)}},{key:"_subscribeToOpenCloseAllActions",value:function(){var e=this;return this.accordion._openCloseAllActions.subscribe(function(t){e.disabled||(e.expanded=t)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(HG,12),Os(Cc),Os(rp))},e.\u0275dir=Rt({type:e,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Xu([{provide:HG,useValue:void 0}])]}),e}(),qG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),XG=["body"];function YG(e,t){}var KG=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],$G=["mat-expansion-panel-header","*","mat-action-row"];function QG(e,t){1&e&&Is(0,"span",2),2&e&&Ts("@indicatorRotate",Ws()._getExpandedState())}var ZG=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],JG=["mat-panel-title","mat-panel-description","*"],eW=new Ri("MAT_ACCORDION"),tW="225ms cubic-bezier(0.4,0.0,0.2,1)",nW={indicatorRotate:fg("indicatorRotate",[mg("collapsed, void",gg({transform:"rotate(0deg)"})),mg("expanded",gg({transform:"rotate(180deg)"})),yg("expanded <=> collapsed, void => collapsed",pg(tW))]),bodyExpansion:fg("bodyExpansion",[mg("collapsed, void",gg({height:"0px",visibility:"hidden"})),mg("expanded",gg({height:"*",visibility:"visible"})),yg("expanded <=> collapsed, void => collapsed",pg(tW))])},iW=function(){var e=function e(t){m(this,e),this._template=t};return e.\u0275fac=function(t){return new(t||e)(Os(Ac))},e.\u0275dir=Rt({type:e,selectors:[["ng-template","matExpansionPanelContent",""]]}),e}(),rW=0,oW=new Ri("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),aW=function(){var t=function(t){a(i,t);var n=s(i);function i(e,t,r,o,a,s,u){var c;return m(this,i),(c=n.call(this,e,t,r))._viewContainerRef=o,c._animationMode=s,c._hideToggle=!1,c.afterExpand=new ol,c.afterCollapse=new ol,c._inputChanges=new ae,c._headerId="mat-expansion-panel-header-"+rW++,c._bodyAnimationDone=new ae,c.accordion=e,c._document=a,c._bodyAnimationDone.pipe(lf(function(e,t){return e.fromState===t.fromState&&e.toState===t.toState})).subscribe(function(e){"void"!==e.fromState&&("expanded"===e.toState?c.afterExpand.emit():"collapsed"===e.toState&&c.afterCollapse.emit())}),u&&(c.hideToggle=u.hideToggle),c}return b(i,[{key:"hideToggle",get:function(){return this._hideToggle||this.accordion&&this.accordion.hideToggle},set:function(e){this._hideToggle=Wd(e)}},{key:"togglePosition",get:function(){return this._togglePosition||this.accordion&&this.accordion.togglePosition},set:function(e){this._togglePosition=e}},{key:"_hasSpacing",value:function(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}},{key:"_getExpandedState",value:function(){return this.expanded?"expanded":"collapsed"}},{key:"toggle",value:function(){this.expanded=!this.expanded}},{key:"close",value:function(){this.expanded=!1}},{key:"open",value:function(){this.expanded=!0}},{key:"ngAfterContentInit",value:function(){var e=this;this._lazyContent&&this.opened.pipe(Ef(null),bf(function(){return e.expanded&&!e._portal}),_p(1)).subscribe(function(){e._portal=new hp(e._lazyContent._template,e._viewContainerRef)})}},{key:"ngOnChanges",value:function(e){this._inputChanges.next(e)}},{key:"ngOnDestroy",value:function(){e(p(i.prototype),"ngOnDestroy",this).call(this),this._bodyAnimationDone.complete(),this._inputChanges.complete()}},{key:"_containsFocus",value:function(){if(this._body){var e=this._document.activeElement,t=this._body.nativeElement;return e===t||t.contains(e)}return!1}}]),i}(WG);return t.\u0275fac=function(e){return new(e||t)(Os(eW,12),Os(Cc),Os(rp),Os(Nc),Os(bh),Os(Yy,8),Os(oW,8))},t.\u0275cmp=Ot({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,iW,5),2&e)&&(ml(i=_l())&&(t._lazyContent=i.first))},viewQuery:function(e,t){var n;(1&e&&yl(XG,5),2&e)&&(ml(n=_l())&&(t._body=n.first))},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(e,t){2&e&&cu("mat-expanded",t.expanded)("_mat-animation-noopable","NoopAnimations"===t._animationMode)("mat-expansion-panel-spacing",t._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Xu([{provide:eW,useValue:void 0}]),cs,qt],ngContentSelectors:$G,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(e,t){1&e&&(Xs(KG),Ys(0),As(1,"div",0,1),Vs("@bodyExpansion.done",function(e){return t._bodyAnimationDone.next(e)}),As(3,"div",2),Ys(4,1),Cs(5,YG,0,0,"ng-template",3),Ms(),Ys(6,2),Ms()),2&e&&(Yo(1),Ts("@bodyExpansion",t._getExpandedState())("id",t.id),ks("aria-labelledby",t._headerId),Yo(4),Ts("cdkPortalOutlet",t._portal))},directives:[mp],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[nW.bodyExpansion]},changeDetection:0}),t}(),sW=ub(function e(){m(this,e)}),uW=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u){var c;m(this,n),(c=t.call(this)).panel=e,c._element=i,c._focusMonitor=r,c._changeDetectorRef=o,c._animationMode=s,c._parentChangeSubscription=q.EMPTY;var l=e.accordion?e.accordion._stateChanges.pipe(bf(function(e){return!(!e.hideToggle&&!e.togglePosition)})):Mf;return c.tabIndex=parseInt(u||"")||0,c._parentChangeSubscription=Oe(e.opened,e.closed,l,e._inputChanges.pipe(bf(function(e){return!!(e.hideToggle||e.disabled||e.togglePosition)}))).subscribe(function(){return c._changeDetectorRef.markForCheck()}),e.closed.pipe(bf(function(){return e._containsFocus()})).subscribe(function(){return r.focusVia(i,"program")}),a&&(c.expandedHeight=a.expandedHeight,c.collapsedHeight=a.collapsedHeight),c}return b(n,[{key:"disabled",get:function(){return this.panel.disabled}},{key:"_toggle",value:function(){this.disabled||this.panel.toggle()}},{key:"_isExpanded",value:function(){return this.panel.expanded}},{key:"_getExpandedState",value:function(){return this.panel._getExpandedState()}},{key:"_getPanelId",value:function(){return this.panel.id}},{key:"_getTogglePosition",value:function(){return this.panel.togglePosition}},{key:"_showToggle",value:function(){return!this.panel.hideToggle&&!this.panel.disabled}},{key:"_getHeaderHeight",value:function(){var e=this._isExpanded();return e&&this.expandedHeight?this.expandedHeight:!e&&this.collapsedHeight?this.collapsedHeight:null}},{key:"_keydown",value:function(e){switch(e.keyCode){case 32:case 13:Ep(e)||(e.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(e))}}},{key:"focus",value:function(e,t){e?this._focusMonitor.focusVia(this._element,e,t):this._element.nativeElement.focus(t)}},{key:"ngAfterViewInit",value:function(){var e=this;this._focusMonitor.monitor(this._element).subscribe(function(t){t&&e.panel.accordion&&e.panel.accordion._handleHeaderFocus(e)})}},{key:"ngOnDestroy",value:function(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}]),n}(sW);return e.\u0275fac=function(t){return new(t||e)(Os(aW,1),Os(Ju),Os(rg),Os(Cc),Os(oW,8),Os(Yy,8),Ai("tabindex"))},e.\u0275cmp=Ot({type:e,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(e,t){1&e&&Vs("click",function(){return t._toggle()})("keydown",function(e){return t._keydown(e)}),2&e&&(ks("id",t.panel._headerId)("tabindex",t.tabIndex)("aria-controls",t._getPanelId())("aria-expanded",t._isExpanded())("aria-disabled",t.panel.disabled),uu("height",t._getHeaderHeight()),cu("mat-expanded",t._isExpanded())("mat-expansion-toggle-indicator-after","after"===t._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===t._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===t._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[cs],ngContentSelectors:JG,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(e,t){1&e&&(Xs(ZG),As(0,"span",0),Ys(1),Ys(2,1),Ys(3,2),Ms(),Cs(4,QG,1,1,"span",1)),2&e&&(Yo(4),Ts("ngIf",t._showToggle()))},directives:[Yh],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[nW.indicatorRotate]},changeDetection:0}),e}(),cW=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,rb,qG,yp]]}),e}(),lW=r(5478);Object.create(Error.prototype);var hW=["*"],dW=(function(e){e.LineHighlight="line-highlight",e.LineNumbers="line-numbers"}(dW||(dW={})),dW),fW=function e(){m(this,e)},pW=new Ri("SECURITY_CONTEXT"),vW=function(){var e=function(){function e(t,n,i,r,o){m(this,e),this.platform=t,this.securityContext=n,this.http=i,this.sanitizer=o,this.initialMarkedOptions={renderer:new lW.Renderer},this.options=r}return b(e,[{key:"options",get:function(){return this._options},set:function(e){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),e)}},{key:"renderer",get:function(){return this.options.renderer},set:function(e){this.options.renderer=e}},{key:"compile",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.options,r=this.trimIndentation(e),o=t?this.decodeHtml(r):r,a=n?this.renderEmoji(o):o,s=lW.parse(a,i);return this.sanitizer.sanitize(this.securityContext,s)||""}},{key:"getSource",value:function(e){var t=this;if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(e,{responseType:"text"}).pipe(ce(function(n){return t.handleExtension(e,n)}))}},{key:"highlight",value:function(e){if(hd(this.platform)&&"undefined"!=typeof Prism){e||(e=document);var t=e.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(t,function(e){return e.classList.add("language-none")}),Prism.highlightAllUnder(e)}}},{key:"renderKatex",value:function(e,t){if(!hd(this.platform))return e;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return e.replace(/\$([^\s][^$]*?[^\s])\$/gm,function(e,n){return katex.renderToString(n,t)})}},{key:"decodeHtml",value:function(e){if(!hd(this.platform))return e;var t=document.createElement("textarea");return t.innerHTML=e,t.value}},{key:"handleExtension",value:function(e,t){var n=e?e.split("?")[0].split(".").splice(-1).join():"";return"md"!==n?"```"+n+"\n"+t+"\n```":t}},{key:"renderEmoji",value:function(e){if(!hd(this.platform))return e;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(e)}},{key:"trimIndentation",value:function(e){return e?e.split("\n").map(function(e){var n=t;return e.length>0&&(n=isNaN(n)?e.search(/\S|$/):Math.min(e.search(/\S|$/),n)),isNaN(t)&&(t=n),n?e.substring(n):e}).join("\n"):"";var t}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Ml),Zi(pW),Zi(h_,8),Zi(fW,8),Zi(Vd))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),gW=function(){var e=function(){function e(t,n){m(this,e),this.element=t,this.markdownService=n,this.error=new ol,this.load=new ol,this.ready=new ol,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}return b(e,[{key:"emoji",get:function(){return this._emoji},set:function(e){this._emoji=this.coerceBooleanProperty(e)}},{key:"katex",get:function(){return this._katex},set:function(e){this._katex=this.coerceBooleanProperty(e)}},{key:"lineHighlight",get:function(){return this._lineHighlight},set:function(e){this._lineHighlight=this.coerceBooleanProperty(e)}},{key:"lineNumbers",get:function(){return this._lineNumbers},set:function(e){this._lineNumbers=this.coerceBooleanProperty(e)}},{key:"ngOnChanges",value:function(){null==this.data?null==this.src||this.handleSrc():this.handleData()}},{key:"ngAfterViewInit",value:function(){!this.data&&!this.src&&this.handleTransclusion()}},{key:"render",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.markdownService.compile(e,t,this.emoji);n=this.katex?this.markdownService.renderKatex(n,this.katexOptions):n,this.element.nativeElement.innerHTML=n,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}},{key:"coerceBooleanProperty",value:function(e){return null!=e&&"false"!="".concat(String(e))}},{key:"handleData",value:function(){this.render(this.data)}},{key:"handleSrc",value:function(){var e=this;this.markdownService.getSource(this.src).subscribe(function(t){e.render(t),e.load.emit(t)},function(t){return e.error.emit(t)})}},{key:"handleTransclusion",value:function(){this.render(this.element.nativeElement.innerHTML,!0)}},{key:"handlePlugins",value:function(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,dW.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}},{key:"setPluginClass",value:function(e,t){for(var n=e.querySelectorAll("pre"),i=0;i0){var r=i.indexOf(n);-1!==r&&i.splice(r,1)}}},{key:"notifyComplete",value:function(){}},{key:"_next",value:function(e){if(0===this.toRespond.length){var t=[e].concat(v(this.values));this.project?this._tryProject(t):this.destination.next(t)}}},{key:"_tryProject",value:function(e){var t;try{t=this.project.apply(this,e)}catch(n){return void this.destination.error(n)}this.destination.next(t)}}]),n}(K_),kW=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];m(this,e),this.accumulator=t,this.seed=n,this.hasSeed=i}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new xW(e,this.accumulator,this.seed,this.hasSeed))}}]),e}(),xW=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this,e)).accumulator=i,a._seed=r,a.hasSeed=o,a.index=0,a}return b(n,[{key:"seed",get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e}},{key:"_next",value:function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}},{key:"_tryNext",value:function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(i){this.destination.error(i)}this.seed=t,this.destination.next(t)}}]),n}(K),SW=function(){function e(t){m(this,e),this.predicate=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new CW(e,this.predicate))}}]),e}(),CW=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).predicate=i,r.skipping=!0,r.index=0,r}return b(n,[{key:"_next",value:function(e){var t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}},{key:"tryCallPredicate",value:function(e){try{var t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}]),n}(K),EW=["youtubeContainer"],OW=function(){var e=function(){function e(t,n){m(this,e),this._ngZone=t,this._youtubeContainer=new ae,this._destroyed=new ae,this._playerChanges=new vv(void 0),this._videoId=new vv(void 0),this._height=new vv(390),this._width=new vv(640),this._startSeconds=new vv(void 0),this._endSeconds=new vv(void 0),this._suggestedQuality=new vv(void 0),this._playerVars=new vv(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=hd(n)}return b(e,[{key:"videoId",get:function(){return this._videoId.value},set:function(e){this._videoId.next(e)}},{key:"height",get:function(){return this._height.value},set:function(e){this._height.next(e||390)}},{key:"width",get:function(){return this._width.value},set:function(e){this._width.next(e||640)}},{key:"startSeconds",set:function(e){this._startSeconds.next(e)}},{key:"endSeconds",set:function(e){this._endSeconds.next(e)}},{key:"suggestedQuality",set:function(e){this._suggestedQuality.next(e)}},{key:"playerVars",get:function(){return this._playerVars.value},set:function(e){this._playerVars.next(e)}},{key:"ngOnInit",value:function(){var e=this;if(this._isBrowser){var n=$d(!0);if(!window.YT||!window.YT.Player){var i=new ae;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=function(){e._existingApiReadyCallback&&e._existingApiReadyCallback(),e._ngZone.run(function(){return i.next(!0)})},n=i.pipe(_p(1),Ef(!1))}var r=function(e,n,i,r,o,a,s){var u=J_([n,a]).pipe(bW(J_([r,o])),ce(function(e){var n=t(e,2),i=n[0],r=n[1],o=t(i,2),a=o[0],s=o[1],u=t(r,2),c=u[0],l=u[1];return a?{videoId:a,playerVars:s,width:c,height:l}:void 0}));return J_([e,u,$d(s)]).pipe(function(e){return J(function(){for(var e=arguments.length,t=new Array(e),n=0;n=2&&(n=!0),function(i){return i.lift(new kW(e,t,n))}}(TW,void 0),lf())}(this._youtubeContainer,this._videoId,n,this._width,this._height,this._playerVars,this._ngZone).pipe(mv(function(t){e._playerChanges.next(t)}),ke(function(e){return e?PW(e)?$d(e):new te(function(t){var n=!1,i=!1;return e.addEventListener("onReady",function e(r){i=!0,n||(r.target.removeEventListener("onReady",e),t.next(r.target))}),function(){n=!0,i||function(e){PW(e)||e.destroy()}(e)}}).pipe(_p(1),Ef(void 0)):$d(void 0)}),kf(this._destroyed),De(new ae));r.subscribe(function(t){e._player=t,t&&e._pendingPlayerState&&e._initializePlayer(t,e._pendingPlayerState),e._pendingPlayerState=void 0}),function(e,n,i){J_([e,n,i]).subscribe(function(e){var n=t(e,3),i=n[0],r=n[1],o=n[2];return i&&i.setSize(r,o)})}(r,this._width,this._height),function(e,n){J_([e,n]).subscribe(function(e){var n=t(e,2),i=n[0],r=n[1];return i&&r&&i.setPlaybackQuality(r)})}(r,this._suggestedQuality),function(e,n,i,r,o,a){var s=J_([i,r]).pipe(ce(function(e){var n=t(e,2);return{startSeconds:n[0],endSeconds:n[1]}})),u=s.pipe(AW(e,function(e){return!!e&&!function(e){var t=e.getPlayerState();return t!==YT.PlayerState.UNSTARTED&&t!==YT.PlayerState.CUED}(e)})),c=n.pipe(AW(e,function(e,t){return!!e&&e.videoId!==t}));Oe(e.pipe(AW(J_([n,s]),function(e,n){var i=t(e,2),r=i[0],o=i[1];return!(!n||r==n.videoId&&!o.startSeconds&&!o.endSeconds)})),c,u).pipe(bW(J_([e,n,s,o])),ce(function(e){var n=t(e,2);n[0];return n[1]}),kf(a)).subscribe(function(e){var n=t(e,4),i=n[0],r=n[1],o=n[2],a=n[3];!r||!i||(i.videoId=r,i.cueVideoById(Object.assign({videoId:r,suggestedQuality:a},o)))})}(r,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),r.connect()}}},{key:"createEventsBoundInZone",value:function(){return{}}},{key:"ngAfterViewInit",value:function(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}},{key:"ngOnDestroy",value:function(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}},{key:"playVideo",value:function(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}},{key:"pauseVideo",value:function(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}},{key:"stopVideo",value:function(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}},{key:"seekTo",value:function(e,t){this._player?this._player.seekTo(e,t):this._getPendingState().seek={seconds:e,allowSeekAhead:t}}},{key:"mute",value:function(){this._player?this._player.mute():this._getPendingState().muted=!0}},{key:"unMute",value:function(){this._player?this._player.unMute():this._getPendingState().muted=!1}},{key:"isMuted",value:function(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}},{key:"setVolume",value:function(e){this._player?this._player.setVolume(e):this._getPendingState().volume=e}},{key:"getVolume",value:function(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}},{key:"setPlaybackRate",value:function(e){if(this._player)return this._player.setPlaybackRate(e);this._getPendingState().playbackRate=e}},{key:"getPlaybackRate",value:function(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}},{key:"getAvailablePlaybackRates",value:function(){return this._player?this._player.getAvailablePlaybackRates():[]}},{key:"getVideoLoadedFraction",value:function(){return this._player?this._player.getVideoLoadedFraction():0}},{key:"getPlayerState",value:function(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}},{key:"getCurrentTime",value:function(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}},{key:"getPlaybackQuality",value:function(){return this._player?this._player.getPlaybackQuality():"default"}},{key:"getAvailableQualityLevels",value:function(){return this._player?this._player.getAvailableQualityLevels():[]}},{key:"getDuration",value:function(){return this._player?this._player.getDuration():0}},{key:"getVideoUrl",value:function(){return this._player?this._player.getVideoUrl():""}},{key:"getVideoEmbedCode",value:function(){return this._player?this._player.getVideoEmbedCode():""}},{key:"_getPendingState",value:function(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}},{key:"_initializePlayer",value:function(e,t){var n=t.playbackState,i=t.playbackRate,r=t.volume,o=t.muted,a=t.seek;switch(n){case YT.PlayerState.PLAYING:e.playVideo();break;case YT.PlayerState.PAUSED:e.pauseVideo();break;case YT.PlayerState.CUED:e.stopVideo()}null!=i&&e.setPlaybackRate(i),null!=r&&e.setVolume(r),null!=o&&(o?e.mute():e.unMute()),null!=a&&e.seekTo(a.seconds,a.allowSeekAhead)}},{key:"_getLazyEmitter",value:function(e){var t=this;return this._playerChanges.pipe(Of(function(t){return t?yW(function(n){t.addEventListener(e,n)},function(n){try{t.removeEventListener&&t.removeEventListener(e,n)}catch(i){}}):$d()}),function(e){return new te(function(n){return e.subscribe({next:function(e){return t._ngZone.run(function(){return n.next(e)})},error:function(e){return n.error(e)},complete:function(){return n.complete()}})})},kf(this._destroyed))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Xl),Os(Ml))},e.\u0275cmp=Ot({type:e,selectors:[["youtube-player"]],viewQuery:function(e,t){var n;(1&e&&yl(EW,5),2&e)&&(ml(n=_l())&&(t.youtubeContainer=n.first))},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(e,t){1&e&&Is(0,"div",null,0)},encapsulation:2,changeDetection:0}),e}();function TW(e,n){var i=t(n,3),r=i[0],o=i[1],a=i[2];if(e&&o&&e.playerVars!==o.playerVars)e.destroy();else{if(!o)return void(e&&e.destroy());if(e)return e}var s=a.runOutsideAngular(function(){return new YT.Player(r,o)});return s.videoId=o.videoId,s.playerVars=o.playerVars,s}function PW(e){return"getPlayerStatus"in e}function AW(e,n){return J(bW(e),bf(function(e){var i=t(e,2),r=i[0],o=i[1];return n(o,r)}),ce(function(e){return t(e,1)[0]}))}var MW=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),IW=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),e}();function RW(e){return!0===e}function DW(e){return null==e}function NW(e){return!DW(e)}function LW(e){return Boolean(e)}function jW(e){return DW(e)?e:JSON.parse(JSON.stringify(e))}var FW=function e(t){var n=t instanceof Date;if("object"!=typeof t||null===t||n)return t;Object.freeze(t);var i="function"==typeof t,r=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(function(n){r.call(t,n)&&(!i||"caller"!==n&&"callee"!==n&&"arguments"!==n)&&null!==t[n]&&("object"==typeof t[n]||"function"==typeof t[n])&&!Object.isFrozen(t[n])&&e(t[n])}),t};function BW(e){return NW(e)&&"object"==typeof e&&function(e){return"[object Object]"===Object.prototype.toString.call(e)}(e)}var VW="NGXS_DATA_META",zW="NGXS_META",UW="NGXS_ARGUMENT_REGISTRY_META",HW=function(){var e=function(){function e(t){var n=this;m(this,e),this.sequence$=new vv(0),this.subscription=null,t&&(this.subscription=t.subscribe(function(){return n.updateSequence()}))}return b(e,[{key:"sequenceValue",get:function(){return this.sequence$.getValue()}},{key:"ngOnDestroy",value:function(){var e;this.sequence$.next(0),null===(e=this.subscription)||void 0===e||e.unsubscribe()}},{key:"updateSequence",value:function(){this.sequence$.next(this.sequenceValue+1)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Pz,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}();function GW(e){return e[VW]}var WW=function(){var e=function e(t,n,i){m(this,e),e.store=t.get(Pz),e.ngZone=t.get(Xl),e.factory=n,e.context=i,e.computed=t.get(HW)};return e.store=null,e.computed=null,e.context=null,e.factory=null,e.ngZone=null,e.\u0275prov=$e({token:e,factory:e.\u0275fac=function(t){return new(t||e)(Zi(ss),Zi(bV),Zi(yV))}}),e}(),qW=function(){function e(){m(this,e),e.statesCachedMeta.clear()}return b(e,null,[{key:"createStateContext",value:function(e){return WW.context.createStateContext(e)}},{key:"ensureMappedState",value:function(t){if(DW(WW.factory)||DW(t))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(NW(t.name)?e.statesCachedMeta.get(t.name):null)||e.ensureMeta(t)}},{key:"getRepositoryByInstance",value:function(t){var n,i=null!==(n=GW(e.getStateClassByInstance(t)))&&void 0!==n?n:null;if(DW(i))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return i}},{key:"getStateClassByInstance",value:function(e){return(null!=e?e:{}).constructor}},{key:"clearMetaByInstance",value:function(t){var n=e.getRepositoryByInstance(t);n.stateMeta.actions={},n.operations={}}},{key:"createPayload",value:function(e,t){for(var n={},i=Array.from(e),r=0;r0?n:null}},{key:"createAction",value:function(t,n,i){var r=e.createPayload(n,i);return new(function(e){return function(){function t(e){var n=this;m(this,t),e&&Object.keys(e).forEach(function(t){n[t]=e[t]})}return b(t,null,[{key:"type",get:function(){return e}}]),t}()}(t.type))(r)}},{key:"ensureMeta",value:function(t){var n,i=NW(t.name)?null===(n=WW.factory.states)||void 0===n?void 0:n.find(function(e){return e.name===t.name}):null;return NW(i)&&NW(t.name)&&e.statesCachedMeta.set(t.name,i),i}}]),e}();qW.statesCachedMeta=new Map,qW.\u0275fac=function(e){return new(e||qW)},qW.\u0275prov=$e({token:qW,factory:qW.\u0275fac}),new Bf(1);var XW=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,"Child states can only be added to an object. Cannot convert ".concat(NW(null==e?void 0:e.constructor)?e.constructor.name:e," to PlainObject"))}return n}(l(Error));function YW(e){var t;return null!==(t=e.NGXS_OPTIONS_META)&&void 0!==t?t:{name:""}}function KW(e){var t,n=YW(e),i=null!==(t=n.children)&&void 0!==t?t:[],r=jW(void 0===n.defaults?{}:n.defaults);if(i.length){if(BW(r))return function(e,t){return t.reduce(function(e,t){var n=YW(t);if(function(e){var t="string"==typeof e?e.trim():e;return[void 0,null,NaN,"",1/0].includes(t)}(n.name))throw new Error("State name not provided in class");return e[n.name.toString()]=KW(t),e},null!=e?e:{})}(r,i);throw new XW(r)}return r}function $W(e){var t;return null!==(t=e.__NGXS_COMPUTED_OPTION__)&&void 0!==t?t:null}function QW(){var e,t;return null!==(t=null===(e=null==WW?void 0:WW.computed)||void 0===e?void 0:e.sequenceValue)&&void 0!==t?t:0}function ZW(e){var t=!1;return cf(e)&&(t=!0),t}function JW(e){return e[UW]}var eq=function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this,"An argument with the name '".concat(e,"' already exists in the method '").concat(i,"'"))}return n}(l(Error)),tq=function(){function e(){m(this,e),this.payloadMap=new Map,this.argumentMap=new Map}return b(e,[{key:"getPayloadTypeByIndex",value:function(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}},{key:"getArgumentNameByIndex",value:function(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}},{key:"createPayloadType",value:function(e,t,n){this.checkDuplicateName(e,t),this.payloadMap.set(n,e),this.payloadMap.set(e,e)}},{key:"createArgumentName",value:function(e,t,n){this.checkDuplicateName(e,t),this.argumentMap.set(n,e),this.argumentMap.set(e,e)}},{key:"checkDuplicateName",value:function(e,t){if(LW(this.argumentMap.has(e))||LW(this.payloadMap.has(e)))throw new eq(e,t)}}]),e}();function nq(e){return ah()?FW(e):e}function iq(e){return{enumerable:!0,configurable:!0,get:function(){var t=GW(e),n=qW.ensureMappedState(t.stateMeta);return qW.createStateContext(n)}}}function rq(e){if(!e)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},e),{getState:function(){return ah()?FW(e.getState()):e.getState()},setState:function(t){e.setState(t)},patchState:function(t){e.patchState(t)}})}function oq(){return function(e,t,n){!function(e,t){if(!function(e,t){var n,i=e,r=!1;if(BW(i))for(;null!==i;){if(RW(null==i?void 0:i.hasOwnProperty(t))){r=!!(null===(n=Object.getOwnPropertyDescriptor(i,t))||void 0===n?void 0:n.get);break}i=Object.getPrototypeOf(i)}return r}(e,null==t?void 0:t.toString()))throw new Error("The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ".concat(t.toString(),"() { \n\t .. \n}"))}(e,t);var i=n.get;return n.get=function(){var e=function(e){return DW($W(e))&&Object.defineProperties(e,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),$W(e)}(this),t=null==e?void 0:e.get(i);if(RW(null==t?void 0:t.isObservable))return null==t?void 0:t.value;if(DW(t)||t.sequenceId!==QW()){e.delete(i);for(var n=arguments.length,r=new Array(n),o=0;o0&&void 0!==arguments[0]?arguments[0]:aq;return function(t,n,i){!function(e,t){if(e.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===t)throw new Error("@DataAction() can only decorate a method implementation")}(t,i);var r=i.value,o=n.toString();return i.value=function(){for(var t=arguments.length,n=new Array(t),i=0;i0?Array.from(e).reduce(function(e,n){var i=t(n,2),r=i[0],o=i[1];return Object.defineProperty(e,r,{value:o,enumerable:!0})},{}):void 0}},{key:"gtag",value:function(){try{for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return{ngModule:e,providers:[{provide:pq,useValue:{trackingCode:t,initCommands:n,uri:i,enableTracing:r,nonce:o}},bq]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[]]}),e}(),wq=function(){var e=function(){function e(){m(this,e),this.consent="not-set",this.consentChange=new Bf(1),this.consentChange.next(this.consent)}return b(e,[{key:"ngOnDestroy",value:function(){this.consentChange.complete()}},{key:"setConsent",value:function(e){this.consent!==e&&(this.consent=e,this.consentChange.next(e))}},{key:"unsetConsent",value:function(){this.setConsent("not-set")}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),kq=function(){var e=function(){function e(t,n,i){var r=this,o=i.trackingCode;m(this,e),this.window=n,this.subscriptions=new q,this.token=o,this.subscriptions.add(t.consentChange.subscribe(function(e){return r.toggleGoogleAnalytics("rescinded"===e)}))}return b(e,[{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"toggleGoogleAnalytics",value:function(e){this.window&&(this.window["ga-disable-".concat(this.token)]=e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(wq),Zi(vq),Zi(pq))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),xq=new Ri("Key under which consent is stored",{providedIn:"root",factory:function(){return"ALLOW_TELEMETRY"}}),Sq=[wq,kq,function(){var e=function(){function e(t,n){var i=this;m(this,e),this.key=n,this.subscriptions=new q;try{this.storage=localStorage}catch(r){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(function(e){return i.saveConsent(e)}))}return b(e,[{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"loadConsent",value:function(){var e,t,n=null===(t=null===(e=this.storage)||void 0===e?void 0:e.getItem)||void 0===t?void 0:t.call(e,this.key);if(null==n)return"not-set";var i=n.trim().toLowerCase();switch(i){case"given":case"rescinded":return i;default:return"not-set"}}},{key:"saveConsent",value:function(e){var t,n;null===(n=null===(t=this.storage)||void 0===t?void 0:t.setItem)||void 0===n||n.call(t,this.key,e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(wq),Zi(xq))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}()];function Cq(e){return Object.entries(e).reduce(function(e,n){var i=t(n,2),r=i[0],o=i[1];return null!=o&&(e[r]="".concat(o)),e},{})}var Eq=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"forRoot",value:function(t){var n=_q.forRoot(t.gaToken,function(e){return[{command:"set",values:[Cq({appName:e.appName,projectName:e.projectName,developmentMode:e.developmentMode})]}]}(t)).providers;return{ngModule:e,providers:void 0===n?[]:n}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[].concat(Sq,[{provide:Cl,multi:!0,useFactory:function(){return function(){}},deps:Sq}]),imports:[[_q]]}),e}();function Oq(e,t,n,i){n&&"function"!=typeof n&&(i=n);var r="function"==typeof n?n:void 0,o=new Bf(e,t,i);return function(e){return De(function(){return o},r)(e)}}var Tq=function(e,t){return JSON.stringify(e)===JSON.stringify(t)},Pq=function(e){return e.map(function(e){return void 0!==e?JSON.parse(JSON.stringify(e)):e})},Aq={storageStrategy:function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments)).cachePairs=[],e}return b(n,[{key:"add",value:function(e,t,n){this.cachePairs.push(e)}},{key:"addMany",value:function(e){this.cachePairs=e}},{key:"updateAtIndex",value:function(e,t){Object.assign(this.cachePairs[e],t)}},{key:"update",value:function(e,t){Object.assign(this.cachePairs[e],t)}},{key:"getAll",value:function(){return this.cachePairs}},{key:"removeAtIndex",value:function(e){this.cachePairs.splice(e,1)}},{key:"remove",value:function(e){this.cachePairs.splice(e,1)}},{key:"removeAll",value:function(){this.cachePairs.length=0}}]),n}(function(){return function e(){m(this,e)}}()),globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},Mq=new ae;function Iq(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t,n,i){var r=this,o=e.cacheKey||t.constructor.name+"#"+n,a=i.value;if(i&&i.value){var s=e.storageStrategy?new e.storageStrategy:new Aq.storageStrategy,u=[];e.cacheModifier&&e.cacheModifier.subscribe(function(e){return s.addMany(e(s.getAll(o,r)),o,r)}),Oe(Mq.asObservable(),e.cacheBusterObserver?e.cacheBusterObserver:If()).subscribe(function(e){s.removeAll(o,r),u.length=0}),e.cacheResolver=e.cacheResolver||Aq.cacheResolver||Tq,e.cacheHasher=e.cacheHasher||Aq.cacheHasher||Pq,i.value=function(){for(var t=this,n=s.getAll(o,this),i=arguments.length,r=new Array(i),c=0;c(e.maxAge||Aq.maxAge)?(s.remove?s.remove(n.indexOf(h),h,o,this):s.removeAtIndex(n.indexOf(h),o,this),h=null):(e.slidingExpiration||Aq.slidingExpiration)&&(h.created=new Date,s.update?s.update(n.indexOf(h),h,o,this):s.updateAtIndex(n.indexOf(h),h,o,this))),h){var f=$d(h.response);return e.async?f.pipe(NH(0)):f}if(d)return d.response;var p=a.call.apply(a,[this].concat(r)).pipe(Ub(function(){var t=u.find(function(t){return e.cacheResolver(t.parameters,l)});u.splice(u.indexOf(t),1)}),mv(function(i){(!e.shouldCacheDecider||e.shouldCacheDecider(i))&&((!(e.maxCacheCount||Aq.maxCacheCount)||1===(e.maxCacheCount||Aq.maxCacheCount)||(e.maxCacheCount||Aq.maxCacheCount)&&(e.maxCacheCount||Aq.maxCacheCount)0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.apiKeys=t.apiKeys,this.username=t.username,this.password=t.password,this.accessToken=t.accessToken,this.basePath=t.basePath,this.withCredentials=t.withCredentials,this.encoder=t.encoder,this.credentials=t.credentials?t.credentials:{}}return b(e,[{key:"selectHeaderContentType",value:function(e){var t=this;if(0!==e.length){var n=e.find(function(e){return t.isJsonMime(e)});return void 0===n?e[0]:n}}},{key:"selectHeaderAccept",value:function(e){var t=this;if(0!==e.length){var n=e.find(function(e){return t.isJsonMime(e)});return void 0===n?e[0]:n}}},{key:"isJsonMime",value:function(e){var t=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==e&&(t.test(e)||"application/json-patch+json"===e.toLowerCase())}},{key:"lookupCredential",value:function(e){var t=this.credentials[e];return"function"==typeof t?t():t}}]),e}(),jq=function(){var e=function(){function e(t,n,i){m(this,e),this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new Xb,this.configuration=new Lq,i&&(this.configuration=i),"string"!=typeof this.configuration.basePath&&("string"!=typeof n&&(n=this.basePath),this.configuration.basePath=n),this.encoder=this.configuration.encoder||new Dq}return b(e,[{key:"addToHttpParams",value:function(e,t,n){return this.addToHttpParamsRecursive(e,t,n)}},{key:"addToHttpParamsRecursive",value:function(e,t,n){var i=this;if(null==t)return e;if("object"==typeof t)if(Array.isArray(t))t.forEach(function(t){return e=i.addToHttpParamsRecursive(e,t,n)});else if(t instanceof Date){if(null==n)throw Error("key may not be null if value is Date");e=e.append(n,t.toISOString().substr(0,10))}else Object.keys(t).forEach(function(r){return e=i.addToHttpParamsRecursive(e,t[r],null!=n?"".concat(n,".").concat(r):r)});else{if(null==n)throw Error("key may not be null if value is not object or array");e=e.append(n,t)}return e}},{key:"aggregateResults",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/aggregate-results"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}},{key:"cellTypeTermOccurences",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/cell-type-term-occurences"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}},{key:"cellTypeTreeModel",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/cell-type-tree-model"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"dbStatus",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.token,o=new Jb({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"token"));var a=this.defaultHeaders,s=i&&i.httpHeaderAccept;void 0===s&&(s=this.configuration.selectHeaderAccept(["application/json"])),void 0!==s&&(a=a.set("Accept",s));var u=i&&i.context;void 0===u&&(u=new e_);var c="json";return s&&(c=s.startsWith("text")?"text":this.configuration.isJsonMime(s)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/db-status"),{context:u,params:o,responseType:c,withCredentials:this.configuration.withCredentials,headers:a,observe:t,reportProgress:n})}},{key:"getSpatialPlacement",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.getSpatialPlacementRequest;if(null==r)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");var o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));var s=i&&i.context;void 0===s&&(s=new e_);var u=this.configuration.selectHeaderContentType(["application/json"]);void 0!==u&&(o=o.set("Content-Type",u));var c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.post("".concat(this.configuration.basePath,"/get-spatial-placement"),r,{context:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:t,reportProgress:n})}},{key:"gtexRuiLocations",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=new Jb({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache"));var a=this.defaultHeaders,s=i&&i.httpHeaderAccept;void 0===s&&(s=this.configuration.selectHeaderAccept(["application/json"])),void 0!==s&&(a=a.set("Accept",s));var u=i&&i.context;void 0===u&&(u=new e_);var c="json";return s&&(c=s.startsWith("text")?"text":this.configuration.isJsonMime(s)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/gtex/rui_locations.jsonld"),{context:u,params:o,responseType:c,withCredentials:this.configuration.withCredentials,headers:a,observe:t,reportProgress:n})}},{key:"hubmapRuiLocations",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/hubmap/rui_locations.jsonld"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"ontologyTermOccurences",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/ontology-term-occurences"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}},{key:"ontologyTreeModel",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/ontology-tree-model"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"providerNames",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/provider-names"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"referenceOrganScene",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.organIri;if(null==o)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");var a=e.age,s=e.ageRange,u=e.bmi,c=e.bmiRange,l=e.cache,h=e.ontologyTerms,d=e.cellTypeTerms,f=e.providers,p=e.sex,v=e.spatial,g=e.technologies,m=e.token,y=new Jb({encoder:this.encoder});null!=a&&(y=this.addToHttpParams(y,a,"age")),null!=s&&(y=this.addToHttpParams(y,s,"age-range")),null!=u&&(y=this.addToHttpParams(y,u,"bmi")),null!=c&&(y=this.addToHttpParams(y,c,"bmi-range")),null!=l&&(y=this.addToHttpParams(y,l,"cache")),h&&h.forEach(function(e){y=t.addToHttpParams(y,e,"ontology-terms")}),d&&d.forEach(function(e){y=t.addToHttpParams(y,e,"cell-type-terms")}),null!=o&&(y=this.addToHttpParams(y,o,"organ-iri")),f&&f.forEach(function(e){y=t.addToHttpParams(y,e,"providers")}),null!=p&&(y=this.addToHttpParams(y,p,"sex")),v&&v.forEach(function(e){y=t.addToHttpParams(y,e,"spatial")}),g&&g.forEach(function(e){y=t.addToHttpParams(y,e,"technologies")}),null!=m&&(y=this.addToHttpParams(y,m,"token"));var b=this.defaultHeaders,_=r&&r.httpHeaderAccept;void 0===_&&(_=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_&&(b=b.set("Accept",_));var w=r&&r.context;void 0===w&&(w=new e_);var k="json";return _&&(k=_.startsWith("text")?"text":this.configuration.isJsonMime(_)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/reference-organ-scene"),{context:w,params:y,responseType:k,withCredentials:this.configuration.withCredentials,headers:b,observe:n,reportProgress:i})}},{key:"referenceOrgans",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/reference-organs"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"scene",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/scene"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}},{key:"sparql",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.query;if(null==r)throw new Error("Required parameter query was null or undefined when calling sparql.");var o=e.token,a=e.format,s=new Jb({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"query")),null!=o&&(s=this.addToHttpParams(s,o,"token")),null!=a&&(s=this.addToHttpParams(s,a,"format"));var u=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==c&&(u=u.set("Accept",c));var l=i&&i.context;void 0===l&&(l=new e_);var h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/sparql"),{context:l,params:s,responseType:h,withCredentials:this.configuration.withCredentials,headers:u,observe:t,reportProgress:n})}},{key:"sparqlPost",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.sparqlQueryRequest;if(null==r)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");var o=e.token,a=e.format,s=new Jb({encoder:this.encoder});null!=o&&(s=this.addToHttpParams(s,o,"token")),null!=a&&(s=this.addToHttpParams(s,a,"format"));var u=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==c&&(u=u.set("Accept",c));var l=i&&i.context;void 0===l&&(l=new e_);var h=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==h&&(u=u.set("Content-Type",h));var d="json";return c&&(d=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.post("".concat(this.configuration.basePath,"/sparql"),r,{context:l,params:s,responseType:d,withCredentials:this.configuration.withCredentials,headers:u,observe:t,reportProgress:n})}},{key:"technologyNames",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/technology-names"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"tissueBlocks",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/tissue-blocks"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(h_),Zi(Nq,8),Zi(Lq,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(h_),Zi(Nq,8),Zi(Lq,8))},token:e,providedIn:"root"}),e}(),Fq=function(){var e=function(){function e(t,n){if(m(this,e),t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!n)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}return b(e,null,[{key:"forRoot",value:function(t){return{ngModule:e,providers:[{provide:Lq,useFactory:t}]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(e,12),Zi(h_,8))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[],imports:[[]]}),e}();function Bq(e){return new Promise(function(t,n){e.oncomplete=e.onsuccess=function(){return t(e.result)},e.onabort=e.onerror=function(){return n(e.error)}})}function Vq(){return Rq||(e="keyval",t=function(){return navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases?Promise.resolve():new Promise(function(t){var n=function(){return indexedDB.databases().finally(t)};e=setInterval(n,100),n()}).finally(function(){return clearInterval(e)});var e}().then(function(){var t=indexedDB.open("keyval-store");return t.onupgradeneeded=function(){return t.result.createObjectStore(e)},Bq(t)}),Rq=function(n,i){return t.then(function(t){return i(t.transaction(e,n).objectStore(e))})}),Rq;var e,t}function zq(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vq();return t("readonly",function(t){return Bq(t.get(e))})}var Uq,Hq=r(71440),Gq="Unknown Euler angle order",Wq=.99999,qq=function(e){a(i,e);var n=s(i);function i(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:i.DefaultOrder;return m(this,i),t=n.call(this,-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?(e=t).fromVector3.apply(e,arguments):t.set(r,o,a,s),t}return b(i,[{key:"ELEMENTS",get:function(){return 4}},{key:"fromQuaternion",value:function(e){var n=t(e,4),r=n[0],o=n[1],a=n[2],s=n[3],u=o*o,c=-2*(u+a*a)+1,l=2*(r*o+s*a),h=-2*(r*a-s*o);return h=(h=h>1?1:h)<-1?-1:h,new i(Math.atan2(2*(o*a+s*r),-2*(r*r+u)+1),Math.asin(h),Math.atan2(l,c),i.RollPitchYaw)}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}},{key:"set",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0;return this[0]=e,this[1]=t,this[2]=n,this[3]=Number.isFinite(i)?i:this[3],this.check()}},{key:"validate",value:function(){return function(e){return e>=0&&e<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}},{key:"toArray",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}},{key:"toArray4",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}},{key:"toVector3",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"alpha",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"beta",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"gamma",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"phi",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"theta",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"psi",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"roll",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"pitch",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"yaw",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"order",get:function(){return this[3]},set:function(e){this[3]=function(e){if(e<0&&e>=6)throw new Error(Gq);return e}(e)}},{key:"fromVector3",value:function(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}},{key:"fromArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}},{key:"fromRollPitchYaw",value:function(e,t,n){return this.set(e,t,n,i.ZYX)}},{key:"fromRotationMatrix",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.DefaultOrder;return this._fromRotationMatrix(e,t),this.check()}},{key:"getRotationMatrix",value:function(e){return this._getRotationMatrix(e)}},{key:"getQuaternion",value:function(){var e=new JN;switch(this[4]){case i.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case i.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case i.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case i.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case i.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case i.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(Gq)}}},{key:"_fromRotationMatrix",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.DefaultOrder,n=e.elements,r=n[0],o=n[4],a=n[8],s=n[1],u=n[5],c=n[9],l=n[2],h=n[6],d=n[10];switch(t=t||this[3]){case i.XYZ:this[1]=Math.asin(hS(a,-1,1)),Math.abs(a)1&&void 0!==arguments[1]?arguments[1]:0,n=(tX[e[t+0]]+tX[e[t+1]]+tX[e[t+2]]+tX[e[t+3]]+"-"+tX[e[t+4]]+tX[e[t+5]]+"-"+tX[e[t+6]]+tX[e[t+7]]+"-"+tX[e[t+8]]+tX[e[t+9]]+"-"+tX[e[t+10]]+tX[e[t+11]]+tX[e[t+12]]+tX[e[t+13]]+tX[e[t+14]]+tX[e[t+15]]).toLowerCase();if(!eX(n))throw TypeError("Stringified UUID is invalid");return n}(i)},rX=r(31609),oX=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),aX=(Math,Math,{});function sX(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.precision,i=void 0===n?aX.precision||4:n;return e=function(e){return Math.round(e/aX.EPSILON)*aX.EPSILON}(e),"".concat(parseFloat(e.toPrecision(i)))}function uX(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function cX(e,t,n){var i=aX.EPSILON;n&&(aX.EPSILON=n);try{if(e===t)return!0;if(uX(e)&&uX(t)){if(e.length!==t.length)return!1;for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0?", ":"")+sX(this[n],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}},{key:"equals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t2&&void 0!==arguments[2]?arguments[2]:"";if(aX.debug&&!function(e,t){if(e.length!==t)return!1;for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return m(this,n),e=t.call(this,-0,-0,-0),1===arguments.length&&uX(i)?e.copy(i):(aX.debug&&(dX(i),dX(r),dX(o)),e[0]=i,e[1]=r,e[2]=o),e}return b(n,[{key:"set",value:function(e,t,n){return this[0]=e,this[1]=t,this[2]=n,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}},{key:"fromObject",value:function(e){return aX.debug&&(dX(e.x),dX(e.y),dX(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}},{key:"ELEMENTS",get:function(){return 3}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=dX(e)}},{key:"angle",value:function(e){return RS(this,e)}},{key:"cross",value:function(e){return ES(this,this,e),this.check()}},{key:"rotateX",value:function(e){var t=e.radians,n=e.origin;return AS(this,this,void 0===n?gX:n,t),this.check()}},{key:"rotateY",value:function(e){var t=e.radians,n=e.origin;return MS(this,this,void 0===n?gX:n,t),this.check()}},{key:"rotateZ",value:function(e){var t=e.radians,n=e.origin;return IS(this,this,void 0===n?gX:n,t),this.check()}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return OS(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return function(e,t,n){var i=t[0],r=t[1],o=t[2],a=n[3]*i+n[7]*r+n[11]*o||1;e[0]=(n[0]*i+n[4]*r+n[8]*o)/a,e[1]=(n[1]*i+n[5]*r+n[9]*o)/a,e[2]=(n[2]*i+n[6]*r+n[10]*o)/a}(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return TS(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return function(e,t,n){var i=t[0],r=t[1];e[0]=n[0]*i+n[2]*r,e[1]=n[1]*i+n[3]*r,e[2]=t[2]}(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return PS(this,this,e),this.check()}}],[{key:"ZERO",get:function(){return mX.ZERO=mX.ZERO||Object.freeze(new n(0,0,0,0))}}]),n}(function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"ELEMENTS",get:function(){return lX(!1),0}},{key:"copy",value:function(e){return lX(!1),this}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=dX(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=dX(e)}},{key:"len",value:function(){return Math.sqrt(this.lengthSquared())}},{key:"magnitude",value:function(){return this.len()}},{key:"lengthSquared",value:function(){for(var e=0,t=0;t=0&&e=0&&e0&&void 0!==arguments[0]?arguments[0]:[0,0,0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;m(this,e),this.radius=-0,this.center=new yX,this.fromCenterRadius(t,n)}return b(e,[{key:"fromCenterRadius",value:function(e,t){return this.center.from(e),this.radius=t,this}},{key:"fromCornerPoints",value:function(e,t){return t=bX.from(t),this.center=(new yX).from(e).add(t).scale(.5),this.radius=this.center.distance(t),this}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.radius===e.radius}},{key:"clone",value:function(){return new e(this.center,this.radius)}},{key:"union",value:function(e){var t=this.center,n=this.radius,i=e.radius,r=bX.copy(e.center).subtract(t),o=r.magnitude();if(n>=o+i)return this.clone();if(i>=o+n)return e.clone();var a=.5*(n+o+i);return _X.copy(r).scale((-n+a)/o).add(t),this.center.copy(_X),this.radius=a,this}},{key:"expand",value:function(e){var t=(e=bX.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}},{key:"transform",value:function(e){this.center.transform(e);var t=function(e,t){var n=t[4],i=t[5],r=t[6],o=t[8],a=t[9],s=t[10];return e[0]=Math.hypot(t[0],t[1],t[2]),e[1]=Math.hypot(n,i,r),e[2]=Math.hypot(o,a,s),e}(bX,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}},{key:"distanceSquaredTo",value:function(e){var t=this.distanceTo(e);return t*t}},{key:"distanceTo",value:function(e){var t=(e=bX.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}},{key:"intersectPlane",value:function(e){var t=this.radius,n=e.normal.dot(this.center)+e.distance;return n<-t?oX.OUTSIDE:n1&&void 0!==arguments[1]?arguments[1]:new Array(this.RANK).fill(-0),n=e*this.RANK,i=0;i0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return m(this,i),e=n.call(this,-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?e.copy(t):e.set(t,r,o,a),e}return b(i,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}},{key:"set",value:function(e,t,n,i){return this[0]=e,this[1]=t,this[2]=n,this[3]=i,this.check()}},{key:"fromMatrix3",value:function(e){return GN(this,e),this.check()}},{key:"identity",value:function(){return DN(this),this.check()}},{key:"fromAxisRotation",value:function(e,t){return NN(this,e,t),this.check()}},{key:"setAxisAngle",value:function(e,t){return this.fromAxisRotation(e,t)}},{key:"ELEMENTS",get:function(){return 4}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=dX(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=dX(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=dX(e)}},{key:"w",get:function(){return this[3]},set:function(e){this[3]=dX(e)}},{key:"len",value:function(){return KN(this)}},{key:"lengthSquared",value:function(){return $N(this)}},{key:"dot",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return XN(this,e)}},{key:"rotationTo",value:function(e,t){return QN(this,e,t),this.check()}},{key:"add",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return WN(this,this,e),this.check()}},{key:"calculateW",value:function(){return VN(this,this),this.check()}},{key:"conjugate",value:function(){return HN(this,this),this.check()}},{key:"invert",value:function(){return UN(this,this),this.check()}},{key:"lerp",value:function(e,t,n){return YN(this,e,t,n),this.check()}},{key:"multiplyRight",value:function(e,t){return lX(!t),LN(this,this,e),this.check()}},{key:"multiplyLeft",value:function(e,t){return lX(!t),LN(this,e,this),this.check()}},{key:"normalize",value:function(){var e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}},{key:"rotateX",value:function(e){return jN(this,this,e),this.check()}},{key:"rotateY",value:function(e){return FN(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return BN(this,this,e),this.check()}},{key:"scale",value:function(e){return qN(this,this,e),this.check()}},{key:"slerp",value:function(e,n,i){var r;switch(arguments.length){case 1:var o=arguments[0],a=o.start;e=void 0===a?TX:a,n=o.target,i=o.ratio;break;case 2:n=(r=t(arguments,2))[0],i=r[1],e=this}return zN(this,e,n,i),this.check()}},{key:"transformVector4",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return DO(t,e,this),fX(t,4)}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"setFromAxisAngle",value:function(e,t){return this.setAxisAngle(e,t)}},{key:"premultiply",value:function(e,t){return this.multiplyLeft(e,t)}},{key:"multiply",value:function(e,t){return this.multiplyRight(e,t)}}]),i}(hX),AX=new yX,MX=new yX,IX=new yX,RX=new yX,DX=new yX,NX=new yX,LX=new yX,jX=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0,0,0,0,0,0,0];m(this,e),this.center=(new yX).from(t),this.halfAxes=new OX(n)}return b(e,[{key:"halfSize",get:function(){var e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new yX(e).len(),new yX(t).len(),new yX(n).len()]}},{key:"quaternion",get:function(){var e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new yX(e).normalize(),r=new yX(t).normalize(),o=new yX(n).normalize();return(new PX).fromMatrix3(new OX([].concat(v(i),v(r),v(o))))}},{key:"fromCenterHalfSizeQuaternion",value:function(e,t,n){var i=new PX(n),r=(new OX).fromQuaternion(i);return r[0]=r[0]*t[0],r[1]=r[1]*t[0],r[2]=r[2]*t[0],r[3]=r[3]*t[1],r[4]=r[4]*t[1],r[5]=r[5]*t[1],r[6]=r[6]*t[2],r[7]=r[7]*t[2],r[8]=r[8]*t[2],this.center=(new yX).from(e),this.halfAxes=r,this}},{key:"clone",value:function(){return new e(this.center,this.halfAxes)}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}},{key:"getBoundingSphere",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new wX,t=this.halfAxes,n=t.getColumn(0,IX),i=t.getColumn(1,RX),r=t.getColumn(2,DX),o=AX.copy(n).add(i).add(r);return e.center.copy(this.center),e.radius=o.magnitude(),e}},{key:"intersectPlane",value:function(e){var t=this.center,n=e.normal,i=this.halfAxes,r=n.x,o=n.y,a=n.z,s=Math.abs(r*i[0]+o*i[1]+a*i[2])+Math.abs(r*i[3]+o*i[4]+a*i[5])+Math.abs(r*i[6]+o*i[7]+a*i[8]),u=n.dot(t)+e.distance;return u<=-s?oX.OUTSIDE:u>=s?oX.INSIDE:oX.INTERSECTING}},{key:"distanceTo",value:function(e){return Math.sqrt(this.distanceSquaredTo(e))}},{key:"distanceSquaredTo",value:function(e){var t=MX.from(e).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,IX),r=n.getColumn(1,RX),o=n.getColumn(2,DX),a=i.magnitude(),s=r.magnitude(),u=o.magnitude();i.normalize(),r.normalize(),o.normalize();var c,l=0;return(c=Math.abs(t.dot(i))-a)>0&&(l+=c*c),(c=Math.abs(t.dot(r))-s)>0&&(l+=c*c),(c=Math.abs(t.dot(o))-u)>0&&(l+=c*c),l}},{key:"computePlaneDistances",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[-0,-0],i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,o=this.center,a=this.halfAxes,s=a.getColumn(0,IX),u=a.getColumn(1,RX),c=a.getColumn(2,DX),l=NX.copy(s).add(u).add(c).add(o),h=LX.copy(l).subtract(e),d=t.dot(h);return i=Math.min(d,i),r=Math.max(d,r),l.copy(o).add(s).add(u).subtract(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),l.copy(o).add(s).subtract(u).add(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),l.copy(o).add(s).subtract(u).subtract(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),o.copy(l).subtract(s).add(u).add(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),o.copy(l).subtract(s).add(u).subtract(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),o.copy(l).subtract(s).subtract(u).add(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),o.copy(l).subtract(s).subtract(u).subtract(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),n[0]=i,n[1]=r,n}},{key:"transform",value:function(e){this.center.transformAsPoint(e);var t=this.halfAxes.getColumn(0,IX);t.transformAsPoint(e);var n=this.halfAxes.getColumn(1,RX);n.transformAsPoint(e);var i=this.halfAxes.getColumn(2,DX);return i.transformAsPoint(e),this.halfAxes=new OX([].concat(v(t),v(n),v(i))),this}},{key:"getTransform",value:function(){throw new Error("not implemented")}}]),e}(),FX=new yX,BX=new yX,VX=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,1],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;m(this,e),this.normal=new yX,this.distance=-0,this.fromNormalDistance(t,n)}return b(e,[{key:"fromNormalDistance",value:function(e,t){return lX(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}},{key:"fromPointNormal",value:function(e,t){e=FX.from(e),this.normal.from(t).normalize();var n=-this.normal.dot(e);return this.distance=n,this}},{key:"fromCoefficients",value:function(e,t,n,i){return this.normal.set(e,t,n),lX(cX(this.normal.len(),1)),this.distance=i,this}},{key:"clone",value:function(t){return new e(this.normal,this.distance)}},{key:"equals",value:function(e){return cX(this.distance,e.distance)&&cX(this.normal,e.normal)}},{key:"getPointDistance",value:function(e){return this.normal.dot(e)+this.distance}},{key:"transform",value:function(e){var t=BX.copy(this.normal).transformAsVector(e).normalize(),n=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(n,t)}},{key:"projectPointOntoPlane",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];e=FX.from(e);var n=this.getPointDistance(e),i=BX.copy(this.normal).scale(n);return e.subtract(i).to(t)}}]),e}();function zX(e,n,i){var r,o,a,s,u,c,l,h,d;return regeneratorRuntime.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:r=0,o=Object.entries(i);case 1:if(!(r0){r.reverse();var o,a="",s=_(r);try{for(s.s();!(o=s.n()).done;){var u=o.value;a&&iY(i,nY(n,this.graph.getEdgeAttribute(u,a,"id"))),a=u}}catch(c){s.e(c)}finally{s.f()}return i}}}},{key:"getSpatialPlacement",value:function(e,t){var n,i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,$q.get)(e,"placement[0]",(0,$q.get)(e,"placement",void 0));if(r&&this.graph.hasNode(r.target)?(n=this.getTransformationMatrix(r.target,t))&&(n=iY(n,r)):i&&(n=this.getTransformationMatrix(i,t)),n){var o=(new qq).fromRotationMatrix(n,qq.XYZ),a=n.getTranslation().map(function(e){return 1e3*e}),s=o.toVector3().map(lS),u=n.getScale().map(function(e){return e<1&&e>.999999?1:e});return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":"http://purl.org/ccf/1.5/".concat(iX(),"_placement"),"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:u[0],y_scaling:u[1],z_scaling:u[2],scaling_units:"ratio",x_rotation:s[0],y_rotation:s[1],z_rotation:s[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}]),e}(),oY=function(){function e(t){m(this,e),this.db=t}return b(e,[{key:"getSpatialEntity",value:function(e){return tY(this.db.store,e)}},{key:"getExtractionSets",value:function(e){return function(e,t){return(0,$q.sortBy)(e.getSubjects(XX.spatialEntity.extraction_set_for,t,null).map(function(t){return eY(e,t.id)}),["rui_rank"])}(this.db.store,e)}},{key:"getExtractionSet",value:function(e){return eY(this.db.store,e)}},{key:"getAnatomicalStructures",value:function(e){return function(e,t){return(0,$q.sortBy)(e.getSubjects(XX.spatialEntity.reference_organ,t,null).map(function(t){return tY(e,t.id)}).filter(function(e){return e["@id"]!==t}),["rui_rank"])}(this.db.store,e)}},{key:"getReferenceOrgans",value:function(){return function(e){var t=[];return e.forEach(function(n){n.subject.id===n.object.id&&t.push(tY(e,n.subject.id))},null,XX.spatialEntity.reference_organ,null,null),(0,$q.sortBy)(t,["rui_rank"])}(this.db.store)}},{key:"getReferenceBody",value:function(e){var t;switch(null==e?void 0:e.sex){case"Male":t=XX.spatial.Male.id;break;case"Female":t=XX.spatial.Female.id;break;case"Both":default:t=XX.spatial.BothSexes.id}return this.getSpatialEntity(t)}},{key:"getReferenceOrganSets",value:function(e){var n=this,i=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":i=i.filter(function(e){return"Male"===e.sex});break;case"Female":i=i.filter(function(e){return"Female"===e.sex})}return(null==e?void 0:e.debug)&&(i=i.map(function(e){return[[e],n.getAnatomicalStructures(e["@id"])]}).reduce(function(e,n){var i=t(n,2),r=i[0],o=i[1];return e.concat(o.length>0?o:r)},[])),i}},{key:"getReferenceSceneNodes",value:function(e){var t=this,n=this.getReferenceBody(e),i=[],r=v(this.getReferenceOrganSets(e).map(function(e){var r="http://purl.obolibrary.org/obo/UBERON_0002097"===e.representation_of,o=t.getSceneNode(e,n,{color:[255,255,255,255],opacity:r?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!r});return r&&o?void i.push(o):o}));return i.length>0&&(r=[].concat(i,v(r))),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(XX.base("VHRightKidney").id),n,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(XX.base("VHLeftKidney").id),n,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(XX.base("VHSpleenCC1").id),n,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(XX.base("VHSpleenCC2").id),n,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(XX.base("VHSpleenCC3").id),n,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(function(e){return void 0!==e})}},{key:"getReferenceOrganScene",value:function(e,t){var n,i,r=this,o=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(n=null==t?void 0:t.sex)||void 0===n?void 0:n.toLowerCase()),a=this.getReferenceOrgans().filter(function(n){return n.representation_of===e&&(!o||n.sex===(null==t?void 0:t.sex))});if(a.length>0){var s=a[0],u=this.getSceneNode(s,s,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),c=(null!==(i=this.db.getSpatialEntities(t))&&void 0!==i?i:[]).map(function(e){return r.getSceneNode(e,s,{color:[255,255,255,229.5]})});return[u].concat(c).filter(function(e){return void 0!==e})}return[]}},{key:"getEntitySceneNodes",value:function(e){var t=this,n=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(function(e){return t.getSceneNode(e,n,{color:[255,255,255,229.5]})}).filter(function(e){return void 0!==e})}},{key:"getSceneNode",value:function(e,t){var n,i,r,o,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=null===(i=null===(n=null==e?void 0:e.object)||void 0===n?void 0:n.file_format)||void 0===i?void 0:i.startsWith("model/gltf"),u=this.db.graph.getTransformationMatrix(s&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(s)u=new $O($O.IDENTITY).rotateX(cS(90)).multiplyLeft(u);else{var c;switch(e.dimension_units){case"centimeter":c=.01;break;case"millimeter":c=.001;break;case"meter":default:c=1}var l=[e.x_dimension,e.y_dimension,e.z_dimension].map(function(e){return e*c/2});u.scale(l)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:s?null===(r=e.object)||void 0===r?void 0:r.file:void 0,scenegraphNode:s?null===(o=e.object)||void 0===o?void 0:o.file_subpath:void 0,transformMatrix:u,tooltip:e.label},a)}}},{key:"getScene",value:function(e){return[].concat(v(this.getReferenceSceneNodes(e)),v(this.getEntitySceneNodes(e)))}}]),e}(),aY="https://entity.api.hubmapconsortium.org/entities/",sY=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),uY={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},cY={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},lY="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld",hY=function(){function e(t){var n,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",a=arguments.length>3?arguments[3]:void 0;if(m(this,e),this.data=t,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"===this.data.entity_type){var s=this.data.descendants||[],u=(this.data.ancestors||[]).find(function(e){return"Donor"===e.entity_type});this.donor=this.getDonor(u,o);var c=this.getRuiLocation(t,this.donor);c?this.rui_location=c:this.bad=!0,cY[t.group_uuid]||(cY[t.group_uuid]=t.group_name);var l=new Date(t.last_modified_timestamp).toLocaleDateString(),h=cY[t.group_uuid]||t.group_name,d=t.created_by_user_displayname;this["@id"]=aY+t.uuid,this.label="Registered ".concat(l,", ").concat(d,", ").concat(h),this.link="".concat(o,"browse/sample/").concat(t.uuid);var f={},p=[];this.sections=p;var v=[];this.datasets=v;var g,y=_(s.filter(function(e){return"Sample"===e.entity_type}));try{for(y.s();!(g=y.n()).done;){var b=g.value,w=this.getSection(b,t,o);f[b.submission_id]=w,p.push(w),w.section_number=null!==(n=w.section_number)&&void 0!==n?n:p.length}}catch(M){y.e(M)}finally{y.f()}var k,x=_(s);try{for(x.s();!(k=x.n()).done;){var S=k.value;if("Dataset"===S.entity_type){var C=this.getDataset(S,r,o,a),E=(0,$q.get)(S,["ingest_metadata","metadata","tissue_id"]);f[E]?null===(i=f[E].datasets)||void 0===i||i.push(C):v.push(C)}}}catch(M){x.e(M)}finally{x.f()}var O=null!=c?c:{},T="".concat(O.x_dimension," x ").concat(O.y_dimension," x ").concat(O.z_dimension," ").concat(O.dimension_units);this.section_count=O.slice_count||p.length;var P=parseFloat((O.slice_thickness||(O.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=P;var A=O.dimension_units||"millimeter";this.section_units=A,this.description="".concat(T,", ").concat(P," ").concat(A,", ").concat(this.section_count," Sections"),p.forEach(function(e,t){e.description="".concat(O.x_dimension," x ").concat(O.y_dimension," x ").concat(P," ").concat(A,", ").concat(P," ").concat(A,", ").concat(e.description),e.section_number=t+1})}else this.bad=!0}return b(e,[{key:"getSection",value:function(e,t,n){var i=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":aY+e.uuid,"@type":"Sample",label:"Registered ".concat(i,", ").concat(e.created_by_user_displayname,", ").concat(cY[e.group_uuid]||e.group_name),description:"".concat(t.sample_category),link:"".concat(n,"browse/sample/").concat(e.uuid),sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}},{key:"getDataset",value:function(e){var t,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=arguments.length>3?arguments[3]:void 0,a=new Date(e.last_modified_timestamp).toLocaleDateString(),s=cY[e.group_uuid]||e.group_name,u=e.created_by_user_displayname,c=[].concat(v(e.data_types),[(0,$q.get)(e,["ingest_metadata","metadata","assay_type"],"")]),l=c.join("|").toLowerCase(),h="assets/icons/ico-unknown.svg";return-1!==l.indexOf("10x")?(n="10x",h="assets/icons/ico-bulk-10x.svg"):-1!==l.indexOf("af")?(n="AF",h="assets/icons/ico-spatial-af.svg"):-1!==l.indexOf("codex")?(n="CODEX",h="assets/icons/ico-spatial-codex.svg"):-1!==l.indexOf("imc")?(n="IMC",h="assets/icons/ico-spatial-imc.svg"):-1!==l.indexOf("lc")&&-1===l.indexOf("af")?(n="LC",h="assets/icons/ico-bulk-lc.svg"):n=-1!==l.indexOf("maldi")?"MALDI":-1!==l.indexOf("pas")?"PAS":"OTHER",h=null!==(t=this.getDatasetThumbnail(e,i,o))&&void 0!==t?t:h,{"@id":aY+e.uuid,"@type":"Dataset",label:"Registered ".concat(a,", ").concat(u,", ").concat(s),description:"Data/Assay Types: ".concat(c.join(", ")),link:"".concat(r,"browse/dataset/").concat(e.uuid),technology:n,thumbnail:h}}},{key:"getDatasetThumbnail",value:function(e,t,n){if(e.thumbnail_file){var i=e.thumbnail_file;return"".concat(t,"/").concat(i.file_uuid,"/").concat(i.filename)+(n?"?token=".concat(n):"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){var r=(0,$q.get)(e,"metadata.files",[]).filter(function(e){return/\.(ome\.tif|ome\.tiff)$/.test(e.rel_path)}).filter(function(e){return!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(e.rel_path)}).filter(function(e){return sY.has(e.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))}).map(function(i){return"".concat(t,"/").concat(e.uuid,"/").concat(i.rel_path)+(n?"?token=".concat(n):"")});if(r.length>0){var o=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(sY.has(o))return"assets/thumbnails/TMC-Vanderbilt/DR1/".concat(o)}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){var a=uY[e.hubmap_id];if(a)return"assets/thumbnails/TMC-Florida/".concat(a)}}},{key:"getDonor",value:function(e,t){var n,i=(e.description||"").toLowerCase();i.includes("female")?n="Female":i.includes("male")&&(n="Male");var r,o,a=i.match(/age ([0-9]+)/);a&&(r=(0,$q.toNumber)(a[1]));var s,u=_((0,$q.get)(e,"metadata.organ_donor_data",(0,$q.get)(e,"metadata.living_donor_data",[])));try{for(u.s();!(s=u.n()).done;){var c=s.value;"Feminine gender"===c.preferred_term||"Female"===c.preferred_term?n="Female":"Masculine gender"===c.preferred_term||"Male"===c.preferred_term?n="Male":"Current chronological age"===c.preferred_term||"Age"===c.preferred_term?r=(0,$q.toNumber)(c.data_value):"Body mass index"===c.preferred_term&&(o=(0,$q.toNumber)(c.data_value))}}catch(f){u.e(f)}finally{u.f()}var l="";n&&r&&(l+="".concat(n,", Age ").concat(r),o&&(l+=", BMI ".concat(o.toFixed(1))));var h=new Date(e.last_modified_timestamp).toLocaleDateString(),d=cY[e.group_uuid]||e.group_name;return{"@id":aY+e.uuid,"@type":"Donor",label:l,description:"Entered ".concat(h,", ").concat(e.created_by_user_displayname,", ").concat(d),link:"".concat(t,"browse/donor/").concat(e.uuid),age:r,sex:n,bmi:o,consortium_name:"HuBMAP",provider_name:d,provider_uuid:e.group_uuid,samples:[]}}},{key:"getRuiLocation",value:function(e,t){var n,i,r=e.rui_location;if(r&&("string"==typeof r&&(r=JSON.parse(r)),r.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):r["@id"]&&(i=r),r["@context"]="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"),i){var o=null!==(n=(0,$q.get)(i,["placement","target"]))&&void 0!==n?n:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,$q.set)(i,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,$q.set)(i,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return i}},{key:"getTissueBlock",value:function(){return(0,$q.omit)(Object.assign({},this),["data","bad","donor"])}},{key:"toJsonLd",value:function(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}]),e}(),dY=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.metadata.living_donor_data.preferred_term","ancestors.metadata.living_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","sample_category"],fY={exists:{field:"rui_location"}};function pY(e,t,n){return JSON.stringify({version:!0,from:e,size:t,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=n?n:fY,_source:{includes:dY}})}function vY(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,r;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,fetch(e,t);case 3:return i=n.sent,n.next=6,i.text();case 6:if(r=n.sent,!i.ok&&!r.startsWith("https")){n.next=18;break}if(!r.startsWith("https")){n.next=14;break}return n.next=11,fetch(r).then(function(e){return e.json()});case 11:n.t1=n.sent,n.next=15;break;case 14:n.t1=JSON.parse(r);case 15:n.t0=n.t1,n.next=19;break;case 18:n.t0=void 0;case 19:return n.abrupt("return",n.t0);case 22:return n.prev=22,n.t2=n.catch(0),n.abrupt("return");case 25:case"end":return n.stop()}},n,null,[[0,22]])}))}function gY(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"";return Dw(this,void 0,void 0,regeneratorRuntime.mark(function a(){var s;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if("static"!==t){a.next=6;break}return a.next=3,vY(e);case 3:s=a.sent,a.next=11;break;case 6:if(a.t0="search-api"===t,!a.t0){a.next=11;break}return a.next=10,function(e,t,n){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function i(){var r,o,a,s,u,c,l,h,d,f;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return o=1e4,a=function(e){var t=new Headers;return t.append("Content-type","application/json"),e&&t.append("Authorization","Bearer ".concat(e)),t}(t),s=pY(0,o,n),i.next=5,vY(e,{method:"POST",headers:a,body:s});case 5:if(u=i.sent){i.next=8;break}return i.abrupt("return");case 8:if(!((c=u.hits.total.value)<=o)){i.next=11;break}return i.abrupt("return",u);case 11:for(l=[],h=o;h1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a={},s=(0,$q.get)(e,"hits.hits",[]).map(function(e){return(0,$q.get)(e,"_source",{})}).sort(function(e,t){return e.uuid.localeCompare(t.uuid)}).map(function(e){return new hY(e,n,i,r).toJsonLd()}),u=_(s);try{for(u.s();!(t=u.n()).done;){var c=t.value,l=c["@id"];a[l]?a[l].samples.push(c.samples[0]):a[l]=c}}catch(d){u.e(d)}finally{u.f()}var h=Object.values(a);return o&&(function(e){var t,n=[],i=0,r=_(e.filter(function(e){return e.samples.length>1}));try{for(r.s();!(t=r.n()).done;){for(var o=t.value,a=o.samples,s=function(e){var t=a[e]["@id"];n=n.concat(a[e].datasets);var r,o=_(a[e].sections);try{for(o.s();!(r=o.n()).done;){var s=r.value;n=n.concat(s.datasets)}}catch(d){o.e(d)}finally{o.f()}for(var u=e+1;u0&&console.log("\u26a0 ".concat(i," sections identified as blocks"))}(h),console.log(h.map(function(e){return Object.assign({"@context":lY},e)}))),{"@context":lY,"@graph":h}}(s,r,o,i));case 13:console.warn("Unable to load ".concat(e," as HuBMAP Data"));case 14:case"end":return a.stop()}},a)}))}function mY(e,t,n){var i,r=new Set,o=_(t);try{for(o.s();!(i=o.n()).done;){var a,s=i.value,u=_((0,Hq.readQuads)(e,s,n,null,null));try{for(u.s();!(a=u.n()).done;){var c=a.value;r.add(c.object.id)}}catch(l){u.e(l)}finally{u.f()}}}catch(l){o.e(l)}finally{o.f()}return r}var yY=(o(x={},XX.spatialEntity.x_dimension.id,"x"),o(x,XX.spatialEntity.y_dimension.id,"y"),o(x,XX.spatialEntity.z_dimension.id,"z"),x);function bY(e,t,n,i){var r,o=t.getTransformationMatrix(n,i);if(o){var a=o.getTranslation(),s=function(e,t){var n=UX(e,t,"Dimensions",yY);return[n.x,n.y,n.z]}(e,n).map(function(e){return e/1e3/2}),u=(new qq).fromRotationMatrix(o,qq.XYZ).toQuaternion().normalize().calculateW();r=(new jX).fromCenterHalfSizeQuaternion(a,s,u)}return r}function _Y(e,t,n,i){var r,o=i.x,a=i.y,s=i.z,u=i.radius,c=i.target,l=new Set,h=u/1e3*(u/1e3),d=_(n);try{for(d.s();!(r=d.n()).done;){var f=r.value,p=bY(e,t,f,c);p&&p.distanceSquaredTo([o,a,s].map(function(e){return e/1e3}))<=h&&l.add(f)}}catch(v){d.e(v)}finally{d.f()}return l}function wY(e,t,n){var i,r,o,a=new Map,s=new Set,u=_(t);try{for(u.s();!(o=u.n()).done;){var c,l=o.value,h=_((0,Hq.readQuads)(e,l,qX.donor,null,null));try{for(h.s();!(c=h.n()).done;){var d=c.value;s.add(d.object.id),a.has(d.object.id)?null===(i=a.get(d.object.id))||void 0===i||i.push(l):a.set(d.object.id,[l])}}catch(k){h.e(k)}finally{h.f()}}}catch(k){u.e(k)}finally{u.f()}var f,p=n(s),v=new Set,g=_(p);try{for(g.s();!(f=g.n()).done;){var m,y=f.value,b=_(null!==(r=a.get(y))&&void 0!==r?r:[]);try{for(b.s();!(m=b.n()).done;){var w=m.value;v.add(w)}}catch(k){b.e(k)}finally{b.f()}}}catch(k){g.e(k)}finally{g.f()}return v}function kY(e,t,n){var i,r,o,a=new Map,s=new Set,u=_(t);try{for(u.s();!(o=u.n()).done;){var c,l=o.value,h=_((0,Hq.readQuads)(e,l,qX.spatialEntity,null,null));try{for(h.s();!(c=h.n()).done;){var d=c.value;s.add(d.object.id),a.has(d.object.id)?null===(i=a.get(d.object.id))||void 0===i||i.push(l):a.set(d.object.id,[l])}}catch(k){h.e(k)}finally{h.f()}}}catch(k){u.e(k)}finally{u.f()}var f,p=n(s),v=new Set,g=_(p);try{for(g.s();!(f=g.n()).done;){var m,y=f.value,b=_(null!==(r=a.get(y))&&void 0!==r?r:[]);try{for(b.s();!(m=b.n()).done;){var w=m.value;v.add(w)}}catch(k){b.e(k)}finally{b.f()}}}catch(k){g.e(k)}finally{g.f()}return v}function xY(e,t){return function(n){e.has(n.id)&&t.add(n.id)}}function SY(e,t,n){var i,r=new Set,o=_(n);try{for(o.s();!(i=o.n()).done;){var a=i.value,s=Hq.DataFactory.namedNode(a);e.forSubjects(xY(t,r),XX.spatialEntity.ccf_annotations,s,null)}}catch(u){o.e(u)}finally{o.f()}return r}function CY(e,t){var n,i=function(e,t){var n,i=new Map,r=_(e);try{for(r.s();!(n=r.n()).done;){var o,a=n.value,s=_((0,Hq.readQuads)(t,a,qX.spatialEntity,null,null));try{for(s.s();!(o=s.n()).done;){var u=o.value;i.has(u.object.id)?i.get(u.object.id).add(a):i.set(u.object.id,new Set([a]))}}catch(c){s.e(c)}finally{s.f()}}}catch(c){r.e(c)}finally{r.f()}return i}(e,t),r=new Map,o=_(i.keys());try{for(o.s();!(n=o.n()).done;){var a,s=n.value,u=i.get(s),c=_((0,Hq.readQuads)(t,s,XX.spatialEntity.ccf_annotations,null,null));try{for(c.s();!(a=c.n()).done;){var l=a.value;r.has(l.object.id)?function(){var e=r.get(l.object.id);u.forEach(function(t){return e.add(t)})}():r.set(l.object.id,new Set(u))}}catch(h){c.e(h)}finally{c.f()}}}catch(h){o.e(h)}finally{o.f()}return r}function EY(e,n,i){var r,a,s={"@id":n,"@type":"OntologyTreeNode",id:n,parent:"",children:[],synonymLabels:[],label:""},u=_(zX(e,n,(o(r={},XX.ontologyNode.label.id,"label"),o(r,i,"parent"),o(r,XX.ontologyNode.synonymLabels.id,"synonymLabels"),r)));try{for(u.s();!(a=u.n()).done;){var c=t(a.value,2),l=c[0],h=c[1];"synonymLabels"===l?s.synonymLabels.push(h):s[l]=h}}catch(d){u.e(d)}finally{u.f()}return s.children=e.getSubjects(i,n,null).map(function(e){return e.id}),s}function OY(e,t,n,i){var r,o={root:t,nodes:{}},a=new Set,s=_((0,Hq.readQuads)(e,null,i,null,null));try{for(s.s();!(r=s.n()).done;){var u=r.value;a.add(u.subject.id),a.add(u.object.id)}}catch(f){s.e(f)}finally{s.f()}var c,l=_(a);try{for(l.s();!(c=l.n()).done;){var h=c.value;o.nodes[h]=EY(e,h,i)}}catch(f){l.e(f)}finally{l.f()}o.nodes[t]||(o.nodes[t]={"@id":t,"@type":"OntologyTreeNode",id:t,label:n,children:[],synonymLabels:[]});var d=e.getSubjects(i,t,null).map(function(e){return e.id}).sort(function(e,t){return o.nodes[e].label.localeCompare(o.nodes[t].label)});return o.nodes[t].children=d,TY(o),o}function TY(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Set,i=e.nodes[null!=t?t:e.root];if(i){i.children=i.children.filter(function(e){return!n.has(e)}),i.children.forEach(function(e){return n.add(e)});var r,o=_(i.children);try{for(o.s();!(r=o.n()).done;){var a=r.value;TY(e,a,n),e.nodes[a]&&(e.nodes[a].parent=i["@id"])}}catch(s){o.e(s)}finally{o.f()}}}var PY=(0,$q.memoize)(function(e){var t=OY(e,QX.body.id,"body",XX.asctb.part_of.id);return t.nodes[QX.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(function(e){return e in t.nodes}),t},function(){return""}),AY=(o(S={},qX.label.id,"label"),o(S,qX.description.id,"description"),o(S,qX.link.id,"link"),S),MY=Object.assign(Object.assign({},AY),o({},qX.providerName.id,"providerName")),IY=Object.assign(Object.assign({},AY),(o(C={},qX.technology.id,"technology"),o(C,qX.thumbnail.id,"thumbnail"),C)),RY=Object.assign(Object.assign({},AY),(o(E={},qX.sampleType.id,"sampleType"),o(E,qX.sectionNumber.id,"sectionNumber"),o(E,qX.datasets.id,"datasets"),E)),DY=Object.assign(Object.assign({},AY),(o(O={},qX.sampleType.id,"sampleType"),o(O,qX.sectionCount.id,"sectionCount"),o(O,qX.sectionSize.id,"sectionSize"),o(O,qX.sectionUnits.id,"sectionUnits"),o(O,qX.donor.id,"donor"),o(O,qX.spatialEntity.id,"spatialEntityId"),o(O,qX.sections.id,"sections"),o(O,qX.datasets.id,"datasets"),O));function NY(e,t){return UX(e,t,"Donor",MY)}function LY(e,t){return UX(e,t,"Dataset",IY)}function jY(e,n){var i,r={"@id":n,"@type":"Sample",datasets:[]},o=_(zX(e,n,RY));try{for(o.s();!(i=o.n()).done;){var a=t(i.value,2),s=a[0],u=a[1];if("datasets"===s){var c=LY(e,u);r[s].push(c)}else r[s]=u}}catch(l){o.e(l)}finally{o.f()}return r}var FY=function(){function e(t){m(this,e),this.database=t,this.connect()}return b(e,[{key:"toJson",value:function(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}},{key:"connect",value:function(){var e=this;this.status="Loading",this.message="Loading database";var t=Date.now();return this.database.connect().then(function(t){return Dw(e,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=14;break}return this.message="Building scene",e.next=4,this.database.getScene();case 4:return this.message="Building tissue block results",e.next=7,this.database.getTissueBlockResults();case 7:return this.message="Aggregating results",e.next=10,this.database.getAggregateResults();case 10:this.status="Ready",this.message="Database successfully loaded",e.next=15;break;case 14:this.status="Error",this.message="Unknown error while loading database";case 15:case"end":return e.stop()}},e,this)}))}).catch(function(t){var n;e.status="Error",e.message=null!==(n=null==t?void 0:t.message)&&void 0!==n?n:"Unknown error while loading database"}).finally(function(){e.loadTime=Date.now()-t})}}]),e}(),BY={"@context":{"@base":"http://purl.org/ccf/","@vocab":"http://purl.org/ccf/",ccf:"http://purl.org/ccf/",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dcterms:"http://purl.org/dc/terms/",label:"rdfs:label",description:"rdfs:comment",link:"ccf:url",sex:"ccf:sex",age:"ccf:age",bmi:"ccf:bmi",consortium_name:"ccf:consortium_name",provider_name:"ccf:tissue_provider_name",provider_uuid:"ccf:tissue_provider_uuid",donor:{"@id":"ccf:comes_from","@type":"@id"},samples:{"@reverse":"donor"},sections:{"@id":"ccf:subdivided_into_sections","@type":"@id"},datasets:{"@id":"ccf:generates_dataset","@type":"@id"},sample_type:"ccf:sample_type",section_count:"ccf:section_count",section_size:"ccf:section_size",section_units:"ccf:section_size_unit",section_number:"ccf:section_number",rui_location:{"@id":"ccf:has_registration_location","@type":"@id"},ccf_annotations:{"@id":"ccf:collides_with","@type":"@id","@container":"@set"},representation_of:{"@id":"ccf:representation_of","@type":"@id"},reference_organ:{"@id":"ccf:has_reference_organ","@type":"@id"},extraction_set_for:{"@id":"ccf:extraction_set_for","@type":"@id"},extraction_set:{"@id":"ccf:has_extraction_set","@type":"@id"},organ_owner_sex:"ccf:organ_owner_sex",side:"ccf:organ_side",rui_rank:"ccf:rui_rank",slice_thickness:"ccf:slice_thickness",slice_count:"ccf:slice_count",object:{"@id":"ccf:has_object_reference","@type":"@id"},creation_date:"dcterms:created",updated_date:"ccf:updated_date",creator:"dcterms:creator",creator_first_name:"ccf:creator_first_name",creator_last_name:"ccf:creator_last_name",placement:{"@reverse":"ccf:placement_for"},placement_date:"dcterms:created",rotation_order:"ccf:rotation_order",dimension_units:"ccf:dimension_unit",rotation_units:"ccf:rotation_unit",scaling_units:"ccf:scaling_unit",translation_units:"ccf:translation_unit",source:{"@id":"ccf:placement_for","@type":"@id"},target:{"@id":"ccf:placement_relative_to","@type":"@id"},x_rotation:"ccf:x_rotation",y_rotation:"ccf:y_rotation",z_rotation:"ccf:z_rotation",x_scaling:"ccf:x_scaling",y_scaling:"ccf:y_scaling",z_scaling:"ccf:z_scaling",x_translation:"ccf:x_translation",y_translation:"ccf:y_translation",z_translation:"ccf:z_translation",x_dimension:"ccf:x_dimension",y_dimension:"ccf:y_dimension",z_dimension:"ccf:z_dimension",ontology_terms:{"@id":"ccf:has_ontology_term","@type":"@id"},technology:"ccf:technology",thumbnail:"ccf:thumbnail",file:"ccf:file_url",file_format:"ccf:file_format",file_subpath:"ccf:file_subpath"}};function VY(e){return JSON.parse(e,function(e,t){return"ccf_annotations"===e&&Array.isArray(t)?t.map(function(e){return(null==e?void 0:e.startsWith("http://purl.obolibrary.org/obo/FMA_"))?e.replace("http://purl.obolibrary.org/obo/FMA_","http://purl.org/sig/ont/fma/fma"):e}):"@context"!==e||!t||"https://hubmapconsortium.github.io/hubmap-ontology/ccf-entity-context.jsonld"!==t&&"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld"!==t&&"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"!==t&&"http://purl.org/ccf/latest/ccf-entity.owl#"!==t["@base"]?t:BY})}var zY={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"},UY=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:zY;m(this,e),this.options=t,this.store=new Hq.Store(void 0,{factory:Hq.DataFactory}),this.graph=new rY(this),this.scene=new oY(this)}return b(e,[{key:"connect",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),n.next=4,this.initializing;case 4:return n.abrupt("return",this.store.size>0);case 5:case"end":return n.stop()}},n,this)}))}},{key:"cachedConnect",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){var t,n,i,r,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=(new Date).getTime(),n="ccf-database.last_modified",i="ccf-database",e.next=5,zq(n).catch(function(){});case 5:if(!((r=e.sent)&&t-new Date(+r).getTime()>36e5)){e.next=11;break}return e.next=9,function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vq();return t("readwrite",function(t){return e.forEach(function(e){return t.delete(e)}),Bq(t.transaction)})}([i,n]).catch(function(){});case 9:e.next=14;break;case 11:return e.next=13,zq(i).catch(function(){});case 13:o=e.sent;case 14:if(!o){e.next=19;break}return e.next=17,this.deserialize(o);case 17:e.next=22;break;case 19:return e.next=21,this.doConnect();case 21:(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vq();return t("readwrite",function(t){return e.forEach(function(e){return t.put(e[1],e[0])}),Bq(t.transaction)})})([[i,this.serialize()],[n,""+t]]).catch(function(){});case 22:case"end":return e.stop()}},e,this)}))}},{key:"doConnect",value:function(){var e,t;return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,r,o,a,s=this;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],!(o=this.options.ccfOwlUrl).startsWith("{")){n.next=5;break}this.store=(0,Hq.deserializeN3Store)(o,Hq.DataFactory),n.next=13;break;case 5:if(!o.endsWith(".n3store.json")){n.next=12;break}return n.next=8,fetch(o).then(function(e){return e.text()}).catch(function(){return console.log("Couldn't locate serialized store.")});case 8:(a=n.sent)&&(this.store=(0,Hq.deserializeN3Store)(a,Hq.DataFactory)),n.next=13;break;case 12:(null==o?void 0:o.length)>0&&r.push(o);case 13:return this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(gY(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(function(e){if(e)return s.addDataSources([e])}))),i.push(this.addDataSources(r)),n.next=17,Promise.all(i);case 17:return n.next=19,this.synchronize();case 19:case"end":return n.stop()}},n,this)}))}},{key:"addDataSources",value:function(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,r=this;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return i=null!=t?t:this.store,n.next=3,Promise.all(e.map(function(e){return Dw(r,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if("string"!=typeof e){t.next=26;break}if(!e.startsWith("http")&&!e.startsWith("assets/")||!e.includes("jsonld")){t.next=11;break}return t.t0=VY,t.next=5,fetch(e).then(function(e){return e.text()});case 5:return t.t1=e=t.sent,e=(0,t.t0)(t.t1),t.next=9,(0,Hq.addJsonLdToStore)(e,i);case 9:t.next=24;break;case 11:if(!e.endsWith("n3")){t.next=16;break}return t.next=14,(0,Hq.addN3ToStore)(e,i);case 14:t.next=24;break;case 16:if(!(e.endsWith("rdf")||e.endsWith("owl")||e.endsWith("xml"))){t.next=21;break}return t.next=19,(0,Hq.addRdfXmlToStore)(e,i);case 19:t.next=24;break;case 21:return e=VY(e),t.next=24,(0,Hq.addJsonLdToStore)(e,i);case 24:t.next=29;break;case 26:return e=VY(JSON.stringify(e)),t.next=29,(0,Hq.addJsonLdToStore)(e,i);case 29:case"end":return t.stop()}},t)}))}));case 3:return n.abrupt("return",this);case 4:case"end":return n.stop()}},n,this)}))}},{key:"synchronize",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise(function(e){setTimeout(e,500)});case 2:return this.graph.createGraph(),function(e){var t,n,i,r,o=PY(e),a=new Map,s=_((0,Hq.readQuads)(e,null,XX.spatialEntity.representation_of,null,null));try{for(s.s();!(r=s.n()).done;){for(var u=r.value,c=u.subject,l=u.object,h=new Set([l.id]),d=null===(t=o.nodes[l.id])||void 0===t?void 0:t.parent;d&&!h.has(d);)h.add(d),d=null===(n=o.nodes[d])||void 0===n?void 0:n.parent;a.set(c.id,v(h).map(function(e){return Hq.DataFactory.namedNode(e)}))}}catch(O){s.e(O)}finally{s.f()}var f,p=_((0,Hq.readQuads)(e,null,qX.spatialEntity,null,null));try{for(p.s();!(f=p.n()).done;){var g,m=f.value.object,y=_((0,Hq.readQuads)(e,null,XX.spatialPlacement.source,m,null));try{for(y.s();!(g=y.n()).done;){var b,w=g.value.subject,k=_((0,Hq.readQuads)(e,w,XX.spatialPlacement.target,null,null));try{for(k.s();!(b=k.n()).done;){var x,S=b.value.object,C=_(null!==(i=a.get(S.id))&&void 0!==i?i:[]);try{for(C.s();!(x=C.n()).done;){var E=x.value;e.addQuad(Hq.DataFactory.namedNode(m.id),XX.spatialEntity.ccf_annotations,E)}}catch(O){C.e(O)}finally{C.f()}}}catch(O){k.e(O)}finally{k.f()}}}catch(O){y.e(O)}finally{y.f()}}}catch(O){p.e(O)}finally{p.f()}}(this.store),e.abrupt("return",this);case 5:case"end":return e.stop()}},e,this)}))}},{key:"serialize",value:function(){return(0,Hq.serializeN3Store)(this.store)}},{key:"deserialize",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.store=(0,Hq.deserializeN3Store)(e,Hq.DataFactory),this.graph=new rY(this),this.scene=new oY(this),t.next=5,new Promise(function(e){setTimeout(e,10)});case 5:case"end":return t.stop()}},t,this)}))}},{key:"getIds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(e,t,n){var i,r,o,a,s,u,c,l=function(e){var t=new Set;return e.forSubjects(function(e){return t.add(e.id)},qX.spatialEntity,null,null),t}(e);if(l.size>0&&(l=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=new Set;if(e.forSubjects(xY(t,i),qX.spatialEntity,null,null),!n){var r=new Set;return t.forEach(function(e){return i.has(e)?void 0:r.add(e)}),r}return i}(e,l)),l.size>0&&("Male"===n.sex||"Female"===n.sex)){var h=n.sex;l=wY(e,l,function(t){return function(e,t,n){var i=new Set;return e.forSubjects(xY(t,i),qX.sex,qX[n],null),i}(e,t,h)})}if(l.size>0&&(null===(i=n.tmc)||void 0===i?void 0:i.length)>0&&(l=wY(e,l,function(t){return function(e,t,n){var i,r=new Set,o=_(n);try{for(o.s();!(i=o.n()).done;){var a=i.value,s=Hq.DataFactory.literal(a);e.forSubjects(xY(t,r),qX.providerName,s,null)}}catch(u){o.e(u)}finally{o.f()}return r}(e,t,n.tmc)})),l.size>0&&(null===(r=n.technologies)||void 0===r?void 0:r.length)>0&&(l=function(e,t,n){var i,r,o,a=new Map,s=new Set,u=new Set(t),c=_(t);try{for(c.s();!(o=c.n()).done;){var l,h=o.value,d=_((0,Hq.readQuads)(e,h,qX.sections,null,null));try{for(d.s();!(l=d.n()).done;){var f=l.value;u.add(f.object.id)}}catch(P){d.e(P)}finally{d.f()}}}catch(P){c.e(P)}finally{c.f()}var p,v=_(u);try{for(v.s();!(p=v.n()).done;){var g,m=p.value,y=_((0,Hq.readQuads)(e,m,qX.datasets,null,null));try{for(y.s();!(g=y.n()).done;){var b=g.value;s.add(b.object.id),a.has(b.object.id)?null===(i=a.get(b.object.id))||void 0===i||i.push(m):a.set(b.object.id,[m])}}catch(P){y.e(P)}finally{y.f()}}}catch(P){v.e(P)}finally{v.f()}var w,k=n(s),x=new Set,S=_(k);try{for(S.s();!(w=S.n()).done;){var C,E=w.value,O=_(null!==(r=a.get(E))&&void 0!==r?r:[]);try{for(O.s();!(C=O.n()).done;){var T=C.value;x.add(T)}}catch(P){O.e(P)}finally{O.f()}}}catch(P){S.e(P)}finally{S.f()}return x}(e,l,function(t){return function(e,t,n){var i,r=new Set,o=_(n);try{for(o.s();!(i=o.n()).done;){var a=i.value,s=Hq.DataFactory.literal(a);e.forSubjects(xY(t,r),qX.technology,s,null)}}catch(u){o.e(u)}finally{o.f()}return r}(e,t,n.technologies)})),l.size>0&&(null===(o=n.spatialSearches)||void 0===o?void 0:o.length)>0&&(l=kY(e,l,function(i){return function(e,t,n,i){var r,o=new Set,a=_(i);try{for(a.s();!(r=a.n()).done;){_Y(e,t,n,r.value).forEach(function(e){return o.add(e)})}}catch(s){a.e(s)}finally{a.f()}return o}(e,t,i,n.spatialSearches)})),l.size>0&&(null===(a=n.ontologyTerms)||void 0===a?void 0:a.length)>0){var d=n.ontologyTerms;-1===d.indexOf(QX.body.id)&&(l=kY(e,l,function(t){return SY(e,t,d)}))}if(l.size>0&&(null===(s=n.cellTypeTerms)||void 0===s?void 0:s.length)>0){var f=n.cellTypeTerms;-1===f.indexOf(QX.cell.id)&&(l=kY(e,l,function(t){return function(e,t,n){var i,r=new Set,o=_(n);try{for(o.s();!(i=o.n()).done;){var a=i.value;e.forObjects(function(e){r.add(e.id)},a,XX.asctb.located_in,null),a===QX.cell.id&&r.add(QX.body.id)}}catch(s){o.e(s)}finally{o.f()}return SY(e,t,v(r))}(e,t,f)}))}if(l.size>0&&2===(null===(u=n.ageRange)||void 0===u?void 0:u.length)&&(0,$q.isFinite)(n.ageRange[0])&&(0,$q.isFinite)(n.ageRange[1])){var p=Math.max.apply(Math,v(n.ageRange)),g=Math.min.apply(Math,v(n.ageRange));1===g&&110===p||(l=wY(e,l,function(t){return function(e,t,n,i){var r,o=new Set,a=_(t);try{for(a.s();!(r=a.n()).done;){var s,u=r.value,c=_((0,Hq.readQuads)(e,u,qX.age,null,null));try{for(c.s();!(s=c.n()).done;){var l=s.value,h=(0,rX.fromRdf)(l.object);h>=n&&h<=i&&o.add(u)}}catch(d){c.e(d)}finally{c.f()}}}catch(d){a.e(d)}finally{a.f()}return o}(e,t,g,p)}))}if(l.size>0&&2===(null===(c=n.bmiRange)||void 0===c?void 0:c.length)&&(0,$q.isFinite)(n.bmiRange[0])&&(0,$q.isFinite)(n.bmiRange[1])){var m=Math.max.apply(Math,v(n.bmiRange)),y=Math.min.apply(Math,v(n.bmiRange));13===y&&83===m||(l=wY(e,l,function(t){return function(e,t,n,i){var r,o=new Set,a=_(t);try{for(a.s();!(r=a.n()).done;){var s,u=r.value,c=_((0,Hq.readQuads)(e,u,qX.bmi,null,null));try{for(c.s();!(s=c.n()).done;){var l=s.value,h=(0,rX.fromRdf)(l.object);h>=n&&h<=i&&o.add(u)}}catch(d){c.e(d)}finally{c.f()}}}catch(d){a.e(d)}finally{a.f()}return o}(e,t,y,m)}))}return l}(this.store,this.graph,e)}},{key:"get",value:function(e){return this.store.getQuads(Hq.DataFactory.namedNode(e),null,null,null)}},{key:"search",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return v(this.getIds(t)).map(function(t){return e.get(t)})}},{key:"getSpatialEntities",value:function(e){var t=this;return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),v(this.getIds(e)).map(function(e){return function(e,t){var n=e.getObjects(Hq.DataFactory.namedNode(t),qX.spatialEntity,null);if(n.length>0)return tY(e,n[0].id)}(t.store,e)})}},{key:"getDatabaseStatus",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",(this.status||(this.status=new FY(this)),this.status.toJson()));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getDatasetTechnologyNames",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",function(e){var t,n=new Set,i=_((0,Hq.readQuads)(e,null,qX.technology,null,null));try{for(i.s();!(t=i.n()).done;){var r=t.value;n.add(r.object.value)}}catch(o){i.e(o)}finally{i.f()}return Array.from(n).sort()}(this.store));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getProviderNames",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",function(e){var t,n=new Set,i=_((0,Hq.readQuads)(e,null,qX.providerName,null,null));try{for(i.s();!(t=i.n()).done;){var r=t.value;n.add(r.object.value)}}catch(o){i.e(o)}finally{i.f()}return Array.from(n).sort()}(this.store));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getTissueBlockResults",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i=this;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",(e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),v(this.getIds(e)).map(function(e){return function(e,n){var i,r={"@id":n,"@type":"Sample",sections:[],datasets:[]},o=_(zX(e,n,DY));try{for(o.s();!(i=o.n()).done;){var a=t(i.value,2),s=a[0],u=a[1];if("sections"===s){var c=jY(e,u);r[s].push(c)}else if("datasets"===s){var l=LY(e,u);r[s].push(l)}else r[s]="donor"===s?NY(e,u):u}}catch(h){o.e(h)}finally{o.f()}return r}(i.store,e)})));case 1:case"end":return n.stop()}},n,this)}))}},{key:"getAggregateResults",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",function(e,n){var i,r=mY(n,e,qX.donor.id),o=mY(n,r,qX.providerUUID.id),a=new Set,s=_(e);try{for(s.s();!(i=s.n()).done;){var u,c=i.value,l=_((0,Hq.readQuads)(n,c,qX.spatialEntity,null,null));try{for(l.s();!(u=l.n()).done;){var h=u.value;a.add(h.subject.id)}}catch(p){l.e(p)}finally{l.f()}}}catch(p){s.e(p)}finally{s.f()}var d=mY(n,a,qX.sections.id),f=new Set([].concat(v(mY(n,a,qX.datasets.id)),v(mY(n,d,qX.datasets.id))));return Object.entries({"Tissue Data Providers":o.size,Donors:r.size,"Tissue Blocks":a.size,"Tissue Sections":d.size,"Tissue Datasets":f.size}).map(function(e){var n=t(e,2);return{label:n[0],count:n[1]}})}(this.getIds(e),this.store));case 1:case"end":return n.stop()}},n,this)}))}},{key:"getOntologyTermOccurences",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",function(e,t){var n={};return CY(e,t).forEach(function(e,t){n[t]=e.size}),n}(this.getIds(e),this.store));case 1:case"end":return t.stop()}},t,this)}))}},{key:"getCellTypeTermOccurences",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",function(e,t){var n,i,r,o=CY(e,t),a=new Map,s=_(o.keys());try{for(s.s();!(r=s.n()).done;){var u,c=r.value,l=o.get(c),h=_((0,Hq.readQuads)(t,null,XX.asctb.located_in,c,null));try{for(h.s();!(u=h.n()).done;){var d=u.value.subject.id;a.has(d)?function(){var e=a.get(d);l.forEach(function(t){return e.add(t)})}():a.set(d,new Set(l))}}catch(p){h.e(p)}finally{h.f()}}}catch(p){s.e(p)}finally{s.f()}var f={};return a.forEach(function(e,t){f[t]=e.size}),f[QX.cell.id]=null!==(i=null===(n=o.get(QX.body.id))||void 0===n?void 0:n.size)&&void 0!==i?i:0,f}(this.getIds(e),this.store));case 1:case"end":return t.stop()}},t,this)}))}},{key:"getOntologyTreeModel",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",PY(this.store));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getCellTypeTreeModel",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",function(e){return OY(e,QX.cell.id,"cell",XX.asctb.ct_is_a.id)}(this.store));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getReferenceOrgans",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.scene.getReferenceOrgans());case 1:case"end":return e.stop()}},e,this)}))}},{key:"getScene",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",(this.graph.createGraph(),this.scene.getScene(e)));case 1:case"end":return t.stop()}},t,this)}))}},{key:"getReferenceOrganScene",value:function(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",(this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)));case 1:case"end":return n.stop()}},n,this)}))}},{key:"getSpatialPlacement",value:function(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",this.graph.getSpatialPlacement(e,t));case 1:case"end":return n.stop()}},n,this)}))}}]),e}(),HY=[240,183,98,255],GY=[213,0,0,255],WY=[29,204,101,255],qY=[41,121,255,255],XY=[204,204,204,255],YY=[213,0,0,255],KY=[29,204,101,255],$Y=[41,121,255,255];function QY(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.x_dimension/1e3,i=e.y_dimension/1e3,r=e.z_dimension/1e3,o=.05*Math.max(n,i,r),a=.1*o;return[{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginSphere","@type":"SpatialSceneNode",unpickable:!0,geometry:"sphere",transformMatrix:new $O($O.IDENTITY).scale(o),color:XY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginX","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([n/2,0,0]).rotateZ(cS(-90)).scale([a,n,a]),color:YY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([n,0,0]).rotateZ(cS(-90)).scale([o,3*o,o]),color:YY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new $O($O.IDENTITY).translate([2*-o,0,0]).scale(o),color:YY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new $O($O.IDENTITY).translate([n+2*o,0,0]).scale(o),color:YY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginY","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([0,i/2,0]).scale([a,i,a]),color:KY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([0,i,0]).scale([o,3*o,o]),color:KY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new $O($O.IDENTITY).translate([1.5*o,1.5*o,0]).scale(o),color:KY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new $O($O.IDENTITY).translate([0,i+2*o,0]).scale(o),color:KY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([0,0,r/2]).rotateX(cS(90)).scale([a,r,a]),color:$Y},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([0,0,r]).rotateX(cS(90)).scale([o,3*o,o]),color:$Y},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new $O($O.IDENTITY).translate([1.5*o,1.5*-o,0]).scale(o),color:$Y},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new $O($O.IDENTITY).translate([0,0,r+2*o]).scale(o),color:$Y}].filter(function(e){return t&&"text"===e.geometry&&e.text||!e.text})}var ZY=Symbol("Comlink.proxy"),JY=Symbol("Comlink.endpoint"),eK=Symbol("Comlink.releaseProxy"),tK=Symbol("Comlink.thrown"),nK=function(e){return"object"==typeof e&&null!==e||"function"==typeof e},iK=new Map([["proxy",{canHandle:function(e){return nK(e)&&e[ZY]},serialize:function(e){var t=new MessageChannel,n=t.port1,i=t.port2;return rK(e,n),[i,[i]]},deserialize:function(e){return e.start(),aK(e)}}],["throw",{canHandle:function(e){return nK(e)&&tK in e},serialize:function(e){var t=e.value;return[t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[]]},deserialize:function(e){throw e.isError?Object.assign(new Error(e.value.message),e.value):e.value}}]]);function rK(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:self;n.addEventListener("message",function i(r){if(r&&r.data){var a,s=Object.assign({path:[]},r.data),u=s.id,c=s.type,l=s.path,d=(r.data.argumentList||[]).map(fK);try{var f=l.slice(0,-1).reduce(function(e,t){return e[t]},e),p=l.reduce(function(e,t){return e[t]},e);switch(c){case"GET":a=p;break;case"SET":f[l.slice(-1)[0]]=fK(r.data.value),a=!0;break;case"APPLY":a=p.apply(f,d);break;case"CONSTRUCT":a=function(e){return Object.assign(e,o({},ZY,!0))}(h(p,v(d)));break;case"ENDPOINT":var g=new MessageChannel,m=g.port1,y=g.port2;rK(e,y),a=function(e,t){return hK.set(e,t),e}(m,[m]);break;case"RELEASE":a=void 0;break;default:return}}catch(f){a=o({value:f},tK,0)}Promise.resolve(a).catch(function(e){return o({value:e},tK,0)}).then(function(e){var r=t(dK(e),2),o=r[0],a=r[1];n.postMessage(Object.assign(Object.assign({},o),{id:u}),a),"RELEASE"===c&&(n.removeEventListener("message",i),oK(n))})}}),n.start&&n.start()}function oK(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function aK(e,t){return uK(e,[],t)}function sK(e){if(e)throw new Error("Proxy has been released and is not useable")}function uK(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=!1,o=new Proxy(i,{get:function(t,i){if(sK(r),i===eK)return function(){return pK(e,{type:"RELEASE",path:n.map(function(e){return e.toString()})}).then(function(){oK(e),r=!0})};if("then"===i){if(0===n.length)return{then:function(){return o}};var a=pK(e,{type:"GET",path:n.map(function(e){return e.toString()})}).then(fK);return a.then.bind(a)}return uK(e,[].concat(v(n),[i]))},set:function(i,o,a){sK(r);var s=t(dK(a),2),u=s[0],c=s[1];return pK(e,{type:"SET",path:[].concat(v(n),[o]).map(function(e){return e.toString()}),value:u},c).then(fK)},apply:function(i,o,a){sK(r);var s=n[n.length-1];if(s===JY)return pK(e,{type:"ENDPOINT"}).then(fK);if("bind"===s)return uK(e,n.slice(0,-1));var u=t(lK(a),2),c=u[0],l=u[1];return pK(e,{type:"APPLY",path:n.map(function(e){return e.toString()}),argumentList:c},l).then(fK)},construct:function(i,o){sK(r);var a=t(lK(o),2),s=a[0],u=a[1];return pK(e,{type:"CONSTRUCT",path:n.map(function(e){return e.toString()}),argumentList:s},u).then(fK)}});return o}function cK(e){return Array.prototype.concat.apply([],e)}function lK(e){var t=e.map(dK);return[t.map(function(e){return e[0]}),cK(t.map(function(e){return e[1]}))]}var hK=new WeakMap;function dK(e){var n,i=_(iK);try{for(i.s();!(n=i.n()).done;){var r=t(n.value,2),o=r[0],a=r[1];if(a.canHandle(e)){var s=t(a.serialize(e),2);return[{type:"HANDLER",name:o,value:s[0]},s[1]]}}}catch(u){i.e(u)}finally{i.f()}return[{type:"RAW",value:e},hK.get(e)||[]]}function fK(e){switch(e.type){case"HANDLER":return iK.get(e.name).deserialize(e.value);case"RAW":return e.value}}function pK(e,t,n){return new Promise(function(i){var r=new Array(4).fill(0).map(function(){return Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)}).join("-");e.addEventListener("message",function t(n){!n.data||!n.data.id||n.data.id!==r||(e.removeEventListener("message",t),i(n.data))}),e.start&&e.start(),e.postMessage(Object.assign({id:r},t),n)})}var vK=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments)).message="NgxsDispatchPluginModule is not imported",e}return n}(l(Error)),gK=null;function mK(e){gK=e}function yK(){if(null===gK)throw new vK;return gK.get(Pz)}function bK(){if(null===gK)throw new vK;return gK.get(Xl)}function _K(e,t,n){t.run(function(){return e.dispatch(n)})}function wK(e,t,n,i){return js(n)?function(e,t,n){return n.then(function(n){return _K(e,t,n),n})}(e,t,n):cf(n)?function(e,t,n,i){return null!==i&&(n=n.pipe(kf(i.cancelUncompleted$))),n.subscribe({next:function(n){return _K(e,t,n)}}),n}(e,t,n,i):(_K(e,t,n),n)}var kK=function(){function e(){m(this,e),this.cancelUncompleted$=new ae}return b(e,[{key:"cancelPreviousAction",value:function(){this.cancelUncompleted$.next()}}]),e}(),xK="\u0275fac",SK=Symbol("InjectorInstance"),CK=Symbol("FactoryHasBeenDecorated");function EK(e,t){var n=e[SK];return n?n.get(t):null}var OK={cancelUncompleted:!1};function TK(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:OK;return function(t,n,i){var r,o=function(e){return e?new kK:null}(e.cancelUncompleted);function a(){null!==o&&o.cancelPreviousAction();var e=EK(this,Pz)||yK(),t=EK(this,Xl)||bK(),n=r.apply(this,arguments);return t.runOutsideAngular(function(){return wK(e,t,n,o)})}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=a):Object.defineProperty(t,n,{set:function(e){return r=e},get:function(){return a}}),function(e){if(!(CK in e.constructor.prototype)){var t=e.constructor;"function"==typeof t[xK]&&function(e){var t=e[xK];if("function"==typeof t){var n=e.\u0275prov||e.\u0275pipe||e.\u0275cmp||e.\u0275dir,i=function(){var e=t();return e[SK]=Os(Xa),e};n&&(n.factory=i),Object.defineProperty(e,xK,{get:function(){return i}})}}(t),e.constructor.prototype[CK]=!0}}(t)}}var PK=function(){var e=function(){function e(t){m(this,e),mK(t.injector),t.onDestroy(function(){mK(null)})}return b(e,null,[{key:"forRoot",value:function(){return{ngModule:e}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Rc))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),AK=function(){var e=function(){function e(){m(this,e),this._vertical=!1,this._inset=!1}return b(e,[{key:"vertical",get:function(){return this._vertical},set:function(e){this._vertical=Wd(e)}},{key:"inset",get:function(){return this._inset},set:function(e){this._inset=Wd(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(e,t){2&e&&(ks("aria-orientation",t.vertical?"vertical":"horizontal"),cu("mat-divider-vertical",t.vertical)("mat-divider-horizontal",!t.vertical)("mat-divider-inset",t.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(e,t){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),e}(),MK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb],rb]}),e}(),IK=["*"],RK=[[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]],[["","mat-line",""],["","matLine",""]],"*"],DK=["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]","[mat-line], [matLine]","*"],NK=ob(sb(function(){return function e(){m(this,e)}}())),LK=sb(function(){return function e(){m(this,e)}}()),jK=new Ri("MatList"),FK=new Ri("MatNavList"),BK=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this))._elementRef=e,i._stateChanges=new ae,"action-list"===i._getListType()&&e.nativeElement.classList.add("mat-action-list"),i}return b(n,[{key:"_getListType",value:function(){var e=this._elementRef.nativeElement.nodeName.toLowerCase();return"mat-list"===e?"list":"mat-action-list"===e?"action-list":null}},{key:"ngOnChanges",value:function(){this._stateChanges.next()}},{key:"ngOnDestroy",value:function(){this._stateChanges.complete()}}]),n}(NK);return e.\u0275fac=function(t){return new(t||e)(Os(Ju))},e.\u0275cmp=Ot({type:e,selectors:[["mat-list"],["mat-action-list"]],hostAttrs:[1,"mat-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matList"],features:[Xu([{provide:jK,useExisting:e}]),cs,qt],ngContentSelectors:IK,decls:1,vars:0,template:function(e,t){1&e&&(Xs(),Ys(0))},styles:['.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n'],encapsulation:2,changeDetection:0}),e}(),VK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","mat-list-avatar",""],["","matListAvatar",""]],hostAttrs:[1,"mat-list-avatar"]}),e}(),zK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","mat-list-icon",""],["","matListIcon",""]],hostAttrs:[1,"mat-list-icon"]}),e}(),UK=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;m(this,n),(a=t.call(this))._element=e,a._isInteractiveList=!1,a._destroyed=new ae,a._disabled=!1,a._isInteractiveList=!!(r||o&&"action-list"===o._getListType()),a._list=r||o;var s=a._getHostElement();return"button"===s.nodeName.toLowerCase()&&!s.hasAttribute("type")&&s.setAttribute("type","button"),a._list&&a._list._stateChanges.pipe(kf(a._destroyed)).subscribe(function(){i.markForCheck()}),a}return b(n,[{key:"disabled",get:function(){return this._disabled||!(!this._list||!this._list.disabled)},set:function(e){this._disabled=Wd(e)}},{key:"ngAfterContentInit",value:function(){!function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mat";e.changes.pipe(Ef(e)).subscribe(function(e){var i=e.length;db(t,"".concat(n,"-2-line"),!1),db(t,"".concat(n,"-3-line"),!1),db(t,"".concat(n,"-multi-line"),!1),2===i||3===i?db(t,"".concat(n,"-").concat(i,"-line"),!0):i>3&&db(t,"".concat(n,"-multi-line"),!0)})}(this._lines,this._element)}},{key:"ngOnDestroy",value:function(){this._destroyed.next(),this._destroyed.complete()}},{key:"_isRippleDisabled",value:function(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)}},{key:"_getHostElement",value:function(){return this._element.nativeElement}}]),n}(LK);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Cc),Os(FK,8),Os(jK,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(e,t,n){var i;(1&e&&(bl(n,VK,5),bl(n,zK,5),bl(n,hb,5)),2&e)&&(ml(i=_l())&&(t._avatar=i.first),ml(i=_l())&&(t._icon=i.first),ml(i=_l())&&(t._lines=i))},hostAttrs:[1,"mat-list-item","mat-focus-indicator"],hostVars:6,hostBindings:function(e,t){2&e&&cu("mat-list-item-disabled",t.disabled)("mat-list-item-avatar",t._avatar||t._icon)("mat-list-item-with-avatar",t._avatar||t._icon)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matListItem"],features:[cs],ngContentSelectors:DK,decls:6,vars:2,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-list-text"]],template:function(e,t){1&e&&(Xs(RK),As(0,"div",0),Is(1,"div",1),Ys(2),As(3,"div",2),Ys(4,1),Ms(),Ys(5,2),Ms()),2&e&&(Yo(1),Ts("matRippleTrigger",t._getHostElement())("matRippleDisabled",t._isRippleDisabled()))},directives:[wb],encapsulation:2,changeDetection:0}),e}(),HK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[fb,kb,rb,Sb,cd],fb,rb,Sb,MK]}),e}(),GK=["input"],WK=function(e){return{enterDuration:e}},qK=["*"],XK=new Ri("mat-checkbox-default-options",{providedIn:"root",factory:YK});function YK(){return{color:"accent",clickAction:"check-indeterminate"}}var KK=0,$K={color:"accent",clickAction:"check-indeterminate"},QK={provide:Hz,useExisting:He(function(){return e$}),multi:!0},ZK=function e(){m(this,e)},JK=ub(ab(sb(ob(function(){return function e(t){m(this,e),this._elementRef=t}}())))),e$=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u){var c;return m(this,n),(c=t.call(this,e))._changeDetectorRef=i,c._focusMonitor=r,c._ngZone=o,c._animationMode=s,c._options=u,c.ariaLabel="",c.ariaLabelledby=null,c._uniqueId="mat-checkbox-"+ ++KK,c.id=c._uniqueId,c.labelPosition="after",c.name=null,c.change=new ol,c.indeterminateChange=new ol,c._onTouched=function(){},c._currentAnimationClass="",c._currentCheckState=0,c._controlValueAccessorChangeFn=function(){},c._checked=!1,c._disabled=!1,c._indeterminate=!1,c._options=c._options||$K,c.color=c.defaultColor=c._options.color||$K.color,c.tabIndex=parseInt(a)||0,c}return b(n,[{key:"inputId",get:function(){return"".concat(this.id||this._uniqueId,"-input")}},{key:"required",get:function(){return this._required},set:function(e){this._required=Wd(e)}},{key:"ngAfterViewInit",value:function(){var e=this;this._focusMonitor.monitor(this._elementRef,!0).subscribe(function(t){t||Promise.resolve().then(function(){e._onTouched(),e._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}},{key:"ngAfterViewChecked",value:function(){}},{key:"ngOnDestroy",value:function(){this._focusMonitor.stopMonitoring(this._elementRef)}},{key:"checked",get:function(){return this._checked},set:function(e){e!=this.checked&&(this._checked=e,this._changeDetectorRef.markForCheck())}},{key:"disabled",get:function(){return this._disabled},set:function(e){var t=Wd(e);t!==this.disabled&&(this._disabled=t,this._changeDetectorRef.markForCheck())}},{key:"indeterminate",get:function(){return this._indeterminate},set:function(e){var t=e!=this._indeterminate;this._indeterminate=Wd(e),t&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}},{key:"_isRippleDisabled",value:function(){return this.disableRipple||this.disabled}},{key:"_onLabelTextChange",value:function(){this._changeDetectorRef.detectChanges()}},{key:"writeValue",value:function(e){this.checked=!!e}},{key:"registerOnChange",value:function(e){this._controlValueAccessorChangeFn=e}},{key:"registerOnTouched",value:function(e){this._onTouched=e}},{key:"setDisabledState",value:function(e){this.disabled=e}},{key:"_getAriaChecked",value:function(){return this.checked?"true":this.indeterminate?"mixed":"false"}},{key:"_transitionCheckState",value:function(e){var t=this._currentCheckState,n=this._elementRef.nativeElement;if(t!==e&&(this._currentAnimationClass.length>0&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(t,e),this._currentCheckState=e,this._currentAnimationClass.length>0)){n.classList.add(this._currentAnimationClass);var i=this._currentAnimationClass;this._ngZone.runOutsideAngular(function(){setTimeout(function(){n.classList.remove(i)},1e3)})}}},{key:"_emitChangeEvent",value:function(){var e=new ZK;e.source=this,e.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(e),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}},{key:"toggle",value:function(){this.checked=!this.checked}},{key:"_onInputClick",value:function(e){var t,n=this,i=null===(t=this._options)||void 0===t?void 0:t.clickAction;e.stopPropagation(),this.disabled||"noop"===i?!this.disabled&&"noop"===i&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==i&&Promise.resolve().then(function(){n._indeterminate=!1,n.indeterminateChange.emit(n._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}},{key:"focus",value:function(e,t){e?this._focusMonitor.focusVia(this._inputElement,e,t):this._inputElement.nativeElement.focus(t)}},{key:"_onInteractionEvent",value:function(e){e.stopPropagation()}},{key:"_getAnimationClassForCheckStateTransition",value:function(e,t){if("NoopAnimations"===this._animationMode)return"";var n="";switch(e){case 0:if(1===t)n="unchecked-checked";else{if(3!=t)return"";n="unchecked-indeterminate"}break;case 2:n=1===t?"unchecked-checked":"unchecked-indeterminate";break;case 1:n=2===t?"checked-unchecked":"checked-indeterminate";break;case 3:n=1===t?"indeterminate-checked":"indeterminate-unchecked"}return"mat-checkbox-anim-".concat(n)}},{key:"_syncIndeterminate",value:function(e){var t=this._inputElement;t&&(t.nativeElement.indeterminate=e)}}]),n}(JK);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Cc),Os(rg),Os(Xl),Ai("tabindex"),Os(Yy,8),Os(XK,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-checkbox"]],viewQuery:function(e,t){var n;(1&e&&(yl(GK,5),yl(wb,5)),2&e)&&(ml(n=_l())&&(t._inputElement=n.first),ml(n=_l())&&(t.ripple=n.first))},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(e,t){2&e&&(Au("id",t.id),ks("tabindex",null),cu("mat-checkbox-indeterminate",t.indeterminate)("mat-checkbox-checked",t.checked)("mat-checkbox-disabled",t.disabled)("mat-checkbox-label-before","before"==t.labelPosition)("_mat-animation-noopable","NoopAnimations"===t._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[Xu([QK]),cs],ngContentSelectors:qK,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(e,t){if(1&e&&(Xs(),As(0,"label",0,1),As(2,"span",2),As(3,"input",3,4),Vs("change",function(e){return t._onInteractionEvent(e)})("click",function(e){return t._onInputClick(e)}),Ms(),As(5,"span",5),Is(6,"span",6),Ms(),Is(7,"span",7),As(8,"span",8),Xn(),As(9,"svg",9),Is(10,"path",10),Ms(),vn.lFrame.currentNamespace=null,Is(11,"span",11),Ms(),Ms(),As(12,"span",12,13),Vs("cdkObserveContent",function(){return t._onLabelTextChange()}),As(14,"span",14),Cu(15,"\xa0"),Ms(),Ys(16),Ms(),Ms()),2&e){var n=Es(1),i=Es(13);ks("for",t.inputId),Yo(2),cu("mat-checkbox-inner-container-no-side-margin",!i.textContent||!i.textContent.trim()),Yo(1),Ts("id",t.inputId)("required",t.required)("checked",t.checked)("disabled",t.disabled)("tabIndex",t.tabIndex),ks("value",t.value)("name",t.name)("aria-label",t.ariaLabel||null)("aria-labelledby",t.ariaLabelledby)("aria-checked",t._getAriaChecked())("aria-describedby",t.ariaDescribedby),Yo(2),Ts("matRippleTrigger",n)("matRippleDisabled",t._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",$c(19,WK,"NoopAnimations"===t._animationMode?0:150))}},directives:[wb,Pv],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-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 mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),e}(),t$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),n$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[kb,rb,Av,t$],rb,t$]}),e}(),i$=["bodyCanvas"],r$=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-body-ui",this.rotationChange=new ol,this.nodeDrag=new ol,this.nodeClick=new ol,this.nodeHoverStart=new ol,this.nodeHoverStop=new ol,this.initialized=new ol,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}return b(e,[{key:"scene",get:function(){return this._scene},set:function(e){var t;this._scene=e,null===(t=this.bodyUI)||void 0===t||t.setScene(e)}},{key:"rotation",get:function(){return this._rotation},set:function(e){var t;this._rotation=e,null===(t=this.bodyUI)||void 0===t||t.setRotation(e)}},{key:"rotationX",get:function(){return this._rotationX},set:function(e){var t;this._rotationX=e,null===(t=this.bodyUI)||void 0===t||t.setRotationX(e)}},{key:"zoom",get:function(){return this._zoom},set:function(e){var t;this._zoom=e,null===(t=this.bodyUI)||void 0===t||t.setZoom(e)}},{key:"target",get:function(){return this._target},set:function(e){var t;this._target=e,null===(t=this.bodyUI)||void 0===t||t.setTarget(e)}},{key:"bounds",get:function(){return this._bounds},set:function(e){this._bounds=e,this.zoomToBounds(e)}},{key:"camera",get:function(){return this._camera},set:function(e){this._camera=e}},{key:"interactive",get:function(){return this._interactive},set:function(e){this._interactive=e,this.bodyUI&&this.recreateBodyUI()}},{key:"ngAfterViewInit",value:function(){this.setupBodyUI()}},{key:"zoomToBounds",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{x:48,y:48};if(this.bodyCanvas){var n=this.bodyCanvas.nativeElement,i=n.width,r=n.height,o=window.devicePixelRatio,a=Math.min(Math.log2((i-t.x)/o/e.x),Math.log2((r-t.y)/o/e.y));this.zoom=a}}},{key:"setupBodyUI",value:function(){var e;return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){var n,i,r=this;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=this.bodyCanvas.nativeElement,i=new lV({id:"body-ui",canvas:n,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera}),n.addEventListener("contextmenu",function(e){return e.preventDefault()}),t.next=4,i.initialize();case 4:this.bodyUI=i,window.bodyUI=i,(null===(e=this.scene)||void 0===e?void 0:e.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(function(e){return r.rotationChange.next(e)}),this.bodyUI.nodeDrag$.subscribe(function(e){return r.nodeDrag.emit(e)}),this.bodyUI.nodeClick$.subscribe(function(e){return r.nodeClick.emit(e)}),this.bodyUI.nodeHoverStart$.subscribe(function(e){return r.nodeHoverStart.emit(e)}),this.bodyUI.nodeHoverStop$.subscribe(function(e){return r.nodeHoverStop.emit(e)})],this.initialized.emit();case 11:case"end":return t.stop()}},t,this)}))}},{key:"recreateBodyUI",value:function(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}},{key:"clearSubscriptions",value:function(){this.subscriptions.forEach(function(e){return e.unsubscribe()}),this.subscriptions=[]}},{key:"ngOnDestroy",value:function(){this.clearSubscriptions()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-body-ui"]],viewQuery:function(e,t){var n;(1&e&&yl(i$,5,Ju),2&e)&&(ml(n=_l())&&(t.bodyCanvas=n.first))},hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(e,t){1&e&&Is(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),e}(),o$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd]]}),e}();new Ri("Maximum number of autocomplete options displayed",{providedIn:"root",factory:function(){return 10}});var a$=["carouselContainer"],s$=["itemlist"],u$=["itemcontainer"];function c$(e,t){if(1&e){var n=Ls();As(0,"mat-icon",9),Vs("touchstart",function(){return bn(n),Ws().scroll("left")})("touchend",function(){return bn(n),Ws().stopScroll()})("click",function(){return bn(n),Ws().shift("left")})("mousedown",function(){return bn(n),Ws().scroll("left")})("mouseup",function(){return bn(n),Ws().stopScroll()}),Cu(1,"chevron_left"),Ms()}2&e&&cu("disabled",Ws().onLeft)}function l$(e,t){if(1&e&&(As(0,"div",15),Cu(1),Ms()),2&e){var n=Ws().$implicit,i=Ws();Yo(1),Eu(i.occurenceData[n.id]||0)}}function h$(e,t){if(1&e){var n=Ls();As(0,"div",10),Vs("click",function(){var e=bn(n).$implicit;return Ws().selectOrgan(e)}),Is(1,"mat-icon",11),As(2,"div",12),As(3,"div",13),Cu(4),Ms(),Cs(5,l$,2,1,"div",14),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws();cu("disabled",i.disabled)("selected",r.isSelected(i)),Yo(1),Ks("svgIcon",i.src),Yo(3),Eu(i.name),Yo(1),Ts("ngIf",void 0!==i.numResults)}}function d$(e,t){if(1&e){var n=Ls();As(0,"mat-icon",16),Vs("touchstart",function(){return bn(n),Ws().scroll("right")})("touchend",function(){return bn(n),Ws().stopScroll()})("click",function(){return bn(n),Ws().shift("right")})("mousedown",function(){return bn(n),Ws().scroll("right")})("mouseup",function(){return bn(n),Ws().stopScroll()}),Cu(1,"chevron_right"),Ms()}2&e&&cu("disabled",Ws().onRight)}var f$=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort(function(e,t){return e.name.localeCompare(t.name)}),p$=f$.filter(function(e){return!0!==e.disabled}),v$=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-organ-selector",this.multiselect=!1,this.displayErrors=!1,this.organList=p$,this.selectedOrgans=[],this.expanded=!1,this.organsChanged=new ol,this.onLeft=!0,this.onRight=!1,this.step=72}return b(e,[{key:"occurenceData",get:function(){return this._occurenceData},set:function(e){this._occurenceData=e}},{key:"ngAfterViewInit",value:function(){var e=this,t=this.carouselContainer;this.sensor=new pG.ResizeSensor(t.nativeElement,function(){e.set()})}},{key:"ngOnChanges",value:function(e){"organList"in e&&this.set()}},{key:"ngOnDestroy",value:function(){this.sensor.detach()}},{key:"error",get:function(){return!(!this.displayErrors||0===this.selectedOrgans.length)}},{key:"shift",value:function(e){var t=this.itemList,n=parseInt(t.nativeElement.style.left,10)||0;this.onLeft&&"left"===e||this.onRight&&"right"===e||(n="right"===e?n-this.step:n+this.step,t.nativeElement.style.left=n+"px",this.setLeftRight(n))}},{key:"scroll",value:function(e){var t=this;this.timeoutHandler=setInterval(function(){t.shift(e)},200)}},{key:"stopScroll",value:function(){this.timeoutHandler&&(clearInterval(this.timeoutHandler),this.timeoutHandler=void 0)}},{key:"selectOrgan",value:function(e){this.selectedOrgans=this.multiselect?this.selectedOrgans.includes(e)?this.selectedOrgans.filter(function(t){return e!==t}):this.selectedOrgans.concat([e]):[e],this.organsChanged.emit(this.selectedOrgans)}},{key:"isSelected",value:function(e){return!!this.selectedOrgans.includes(e)}},{key:"set",value:function(){var e=this.itemList,t=this.itemContainer,n=this.carouselContainer,i=parseInt(e.nativeElement.style.left,10)||0;if(e.nativeElement.offsetWidth>=this.organList.length*this.step)e.nativeElement.style.left="0px",this.onLeft=!0,this.onRight=!0;else{this.setLeftRight(i);var r=this.step*Math.floor(n.nativeElement.offsetWidth/this.step)-64;t.nativeElement.style.width="".concat(r,"px")}}},{key:"setWidth",value:function(){var e=this.itemContainer,t=this.carouselContainer,n=this.step*Math.floor(t.nativeElement.offsetWidth/this.step)-64;e.nativeElement.style.width="".concat(n,"px")}},{key:"setLeftRight",value:function(e){var t=this.itemContainer;this.onLeft=0===e,this.onRight=e<=t.nativeElement.offsetWidth-this.organList.length*this.step}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-organ-selector"]],viewQuery:function(e,t){var n;(1&e&&(yl(a$,7),yl(s$,7),yl(u$,7)),2&e)&&(ml(n=_l())&&(t.carouselContainer=n.first),ml(n=_l())&&(t.itemList=n.first),ml(n=_l())&&(t.itemContainer=n.first))},hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{multiselect:"multiselect",displayErrors:"displayErrors",organList:"organList",selectedOrgans:"selectedOrgans",expanded:"expanded",occurenceData:"occurenceData"},outputs:{organsChanged:"organsChanged"},features:[qt],decls:9,vars:8,consts:[["matTooltip","Select the organ your tissue block is from.",1,"container",3,"matTooltipDisabled"],["carouselContainer",""],["class","carousel-left-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-item-container"],["itemcontainer",""],[1,"carousel-item-list"],["itemlist",""],["class","carousel-item",3,"disabled","selected","click",4,"ngFor","ngForOf"],["class","carousel-right-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-left-icon",3,"touchstart","touchend","click","mousedown","mouseup"],[1,"carousel-item",3,"click"],[1,"carousel-icon",3,"svgIcon"],[1,"carousel-text-container"],[1,"carousel-text"],["class","num-results",4,"ngIf"],[1,"num-results"],[1,"carousel-right-icon",3,"touchstart","touchend","click","mousedown","mouseup"]],template:function(e,t){1&e&&(As(0,"div",0,1),Cs(2,c$,2,2,"mat-icon",2),As(3,"div",3,4),As(5,"div",5,6),Cs(7,h$,6,7,"div",7),Ms(),Ms(),Cs(8,d$,2,2,"mat-icon",8),Ms()),2&e&&(cu("expanded",t.expanded)("error",t.error),Ts("matTooltipDisabled",t.multiselect),Yo(2),Ts("ngIf",!t.expanded),Yo(5),Ts("ngForOf",t.organList),Yo(1),Ts("ngIf",!t.expanded))},directives:[Ow,Yh,qh,B_],styles:["[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{font-size:2rem;transform:scaleY(1.2);height:2rem;width:2rem;cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon.disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{overflow:hidden;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{position:relative;left:0rem;display:flex;transition:all .2s linear;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer;padding:.25rem .5rem;height:5rem;transition:.6s}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-icon[_ngcontent-%COMP%]{text-align:center;width:3.5rem;height:2rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:4rem;justify-content:center;text-align:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .carousel-text[_ngcontent-%COMP%]{display:flex;justify-content:center;font-size:.625rem;max-width:3.5rem;line-height:.8rem;min-height:1.6rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{font-size:.6875rem;line-height:1.5}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item.disabled[_ngcontent-%COMP%]{pointer-events:none}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;height:1rem}[_nghost-%COMP%] .error-message.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{width:100%!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{flex-wrap:wrap;overflow:auto;left:0rem!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{height:5rem}"]}),e}(),g$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,V_,Aw]]}),e}(),m$=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-opacity-slider",this.opacity=20,this.visible=!0,this.opacityChange=new ol,this.visibilityToggle=new ol,this.opacityReset=new ol}return b(e,[{key:"ngOnInit",value:function(){this.prevOpacity=this.visible?0:20}},{key:"reset",value:function(){this.prevOpacity=20}},{key:"changeOpacity",value:function(e){this.opacity=parseInt(e,10),this.opacityChange.emit(this.opacity)}},{key:"toggleVisibility",value:function(){var e=this.opacity;this.opacity=this.prevOpacity,this.prevOpacity=e,this.visibilityToggle.emit(),this.opacityChange.emit(this.opacity)}},{key:"resetOpacity",value:function(){this.prevOpacity=0,this.opacityReset.emit()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-opacity-slider"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{opacity:"opacity",visible:"visible"},outputs:{opacityChange:"opacityChange",visibilityToggle:"visibilityToggle",opacityReset:"opacityReset"},decls:10,vars:17,consts:[[1,"slider-box"],[1,"slider-and-label"],[1,"slider",3,"step","min","max","value","input"],[1,"opacity-value"],[1,"icons"],["matRipple","","svgIcon","app:visibility_off",1,"visibility","icon","invisible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","","svgIcon","app:visibility_on",1,"visibility","icon","visible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"mat-slider",2),Vs("input",function(e){return t.changeOpacity(e.value)}),Ms(),As(3,"span",3),Cu(4),Ms(),Ms(),As(5,"div",4),As(6,"mat-icon",5),Vs("click",function(){return t.toggleVisibility()}),Ms(),As(7,"mat-icon",6),Vs("click",function(){return t.toggleVisibility()}),Ms(),As(8,"mat-icon",7),Vs("click",function(){return t.resetOpacity()}),Cu(9,"refresh"),Ms(),Ms(),Ms()),2&e&&(Yo(2),cu("disabled",!t.visible),Ts("step",1)("min",0)("max",100)("value",t.opacity),Yo(2),Ou("",t.opacity,"%"),Yo(2),cu("hidden",t.visible),Ts("matRippleCentered",!0)("matRippleUnbounded",!0),Yo(1),cu("hidden",!t.visible),Ts("matRippleCentered",!0)("matRippleUnbounded",!0),Yo(1),Ts("matRippleCentered",!0)("matRippleUnbounded",!0))},directives:[_G,B_,wb],styles:["[_nghost-%COMP%]{height:2.25rem;display:flex;align-items:center;justify-content:space-between;border-radius:.1875rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%]{width:60%;display:flex;align-items:center;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .mat-slider-wrapper{top:1.125rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:not-allowed}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .opacity-value[_ngcontent-%COMP%]{width:1.5rem;margin-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{display:flex;cursor:pointer!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{margin-right:1rem;padding:.25rem;cursor:pointer;transition:.6s;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility[_ngcontent-%COMP%]{transition:.6s;cursor:pointer;padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),e}(),y$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,V_,SG,kb]]}),e}();function b$(e,t){if(1&e&&(As(0,"div",16),Is(1,"youtube-player",17),Ms()),2&e){var n=Ws(3);Yo(1),Ks("videoId",n.videoID)}}function _$(e,t){if(1&e&&(As(0,"mat-expansion-panel",11),As(1,"mat-expansion-panel-header"),As(2,"h2",12),Cu(3),Ms(),Ms(),As(4,"div",13),Is(5,"markdown",14),Cs(6,b$,2,1,"div",15),Ms(),Ms()),2&e){var n=Ws(),i=n.index,r=n.$implicit;Ts("expanded",0===i),Yo(3),Eu(r.title),Yo(2),cu("first",0===i),Ts("data",r.content),Yo(1),Ts("ngIf",0===i)}}function w$(e,t){if(1&e&&(As(0,"div",9),Cs(1,_$,7,6,"mat-expansion-panel",10),Ms()),2&e){var n=t.$implicit;Yo(1),Ts("ngIf",n)}}var k$=function(){var e=function(){function e(t,n){m(this,e),this.dialogRef=t,this.data=n,this.documentationContents=n.content||[],this.infoTitle=n.title||"",this.videoID=n.videoID}return b(e,[{key:"ngOnInit",value:function(){var e=document.createElement("script");e.src="https://www.youtube.com/iframe_api",document.body.appendChild(e)}},{key:"close",value:function(){var e,t=this;null===(e=document.getElementsByClassName("modal-animated")[0])||void 0===e||e.classList.add("modal-animate-fade-out"),setTimeout(function(){t.dialogRef.close()},250)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(MG),Os(RG))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"div",2),As(3,"div",3),As(4,"h2",4),Cu(5),Ms(),As(6,"div",5),As(7,"mat-icon",6),Vs("click",function(){return t.close()}),Cu(8,"clear"),Ms(),Ms(),Ms(),As(9,"mat-dialog-content",7),Cs(10,w$,2,1,"div",8),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(5),Eu(t.infoTitle),Yo(5),Ts("ngForOf",t.documentationContents))},directives:[VG,B_,zG,qh,Yh,aW,uW,gW,OW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),e}(),x$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,UG,V_,cW,MW,mW.forRoot({})]]}),e}(),S$=function(){var e=function(){function e(t){m(this,e),this.http=t,this.panelContent=new vv({content:[],infoTitle:"",videoID:""})}return b(e,[{key:"updateData",value:function(e,t,n){var i=this;this.http.get(e,{responseType:"text"}).subscribe(function(e){var r={content:i.parseMarkdown(e),infoTitle:n,videoID:t};i.panelContent.next(r)})}},{key:"parseMarkdown",value:function(e){var t,n=[],i=_(e.split("# "));try{for(i.s();!(t=i.n()).done;){var r=t.value;if(r.length){var o=r.includes("\n\n")?"\n\n":"\r\n\r\n",a=r.split(o);n.push({title:a[0],content:a.splice(1).join(o)})}}}catch(s){i.e(s)}finally{i.f()}return n}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(h_))},e.\u0275prov=$e({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),C$=function(){var e=function(){function e(t,n){var i=this;m(this,e),this.dialog=t,this.infoButtonService=n,this.infoTitle="",this.subscriptions=new q,this.subscriptions.add(n.panelContent.subscribe(function(e){e.content.length&&i.launchInfoDialog(e)}))}return b(e,[{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"launchInfoDialog",value:function(e){0==this.dialog.openDialogs.length&&this.dialog.open(k$,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:e.infoTitle,content:e.content,videoID:e.videoID}})}},{key:"onDialogButtonClick",value:function(){this.infoButtonService.updateData(this.documentationUrl,this.videoID,this.infoTitle)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(FG),Os(S$))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-info-button"]],inputs:{infoTitle:"infoTitle",videoID:"videoID",documentationUrl:"documentationUrl"},decls:3,vars:0,consts:[[1,"info-button-wrapper"],["aria-hidden","false","aria-label","Page information",1,"ccf-info-button",3,"click"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"mat-icon",1),Vs("click",function(){return t.onDialogButtonClick()}),Cu(2," info "),Ms(),Ms())},directives:[B_],styles:[".info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.65rem;transition:.6s}.info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.5rem;vertical-align:sub}"]}),e}(),E$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,x$,V_,S_]]}),e}(),O$=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-call-to-action",this.callToActionClicked=new ol,this.closeClicked=new ol}return b(e,[{key:"close",value:function(){this.closeClicked.emit()}},{key:"onDialogButtonClick",value:function(){this.callToActionClicked.emit()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"div",2),As(3,"div",3),As(4,"p",4),Cu(5),Ms(),As(6,"mat-icon",5),Vs("click",function(){return t.close()}),Cu(7,"clear"),Ms(),Ms(),Is(8,"img",6),As(9,"mat-dialog-content",7),As(10,"div",8),Cu(11),Ms(),As(12,"a",9),Vs("click",function(){return t.onDialogButtonClick()}),Ms(),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(5),Eu(t.infoTitle),Yo(3),Ts("src",t.imageUrl,Xr),Yo(3),Ou(" ",t.message,""),Yo(1),Ts("text",t.callToAction))},directives:[VG,B_,IW,zG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),e}(),T$=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments)).optionCache=new Map,e}return b(n,[{key:"config$",get:function(){return this.state$.pipe(fq(),zf(1))}},{key:"setConfig",value:function(e){this.setState(e)}},{key:"patchConfig",value:function(e){this.patchState(e)}},{key:"getProperty",value:function(e){return this.config$.pipe(cG.apply(void 0,v(e)),lf(),zf(1))}},{key:"getOption",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:ff,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:lG;return function(i){return i.lift(new hG(e,t,n.leading,n.trailing))}}(1e3),ce(function(t){var n=e.clientWidth,i=e.clientHeight;return[t.clientX,t.clientY,n,i].join("_")})).subscribe(function(e){return t.event("webpage","mousemove",e)})}(t.body,n)};return e.\u0275fac=function(t){return new(t||e)(Zi(bh),Zi(yq))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}();function A$(e,t){if(1&e){var n=Ls();As(0,"button",1),Vs("click",function(){return bn(n),Ws().submit(!0)}),Cu(1),Ms()}if(2&e){var i=Ws();Yo(1),Ou(" ","not-set"===i.allowTelemetry?"I understand":"Opt in","\n")}}function M$(e,t){if(1&e){var n=Ls();As(0,"button",1),Vs("click",function(){return bn(n),Ws().submit(!1)}),Cu(1,"Opt out"),Ms()}}var I$=function(){var e=function(){function e(t,n,i){m(this,e),this.consentService=n,this.data=i,this.clsName="ccf-tracking-popup",this.container=t.nativeElement}return b(e,[{key:"allowTelemetry",get:function(){return this.consentService.consent}},{key:"dismiss",value:function(){this.data.preClose()}},{key:"submit",value:function(e){this.consentService.setConsent(e?"given":"rescinded"),this.dismiss()}},{key:"showButton",value:function(e){var t=this.allowTelemetry;return"not-set"===t||("opt-in"===e?"rescinded"===t:"given"===t)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(wq),Os(lw))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-tracking-popup"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},decls:4,vars:2,consts:[["mat-button","","color","basic",3,"click",4,"ngIf"],["mat-button","","color","basic",3,"click"]],template:function(e,t){1&e&&(As(0,"p"),Cu(1,"We log usage to improve this service."),Ms(),Cs(2,A$,2,1,"button",0),Cs(3,M$,2,0,"button",0)),2&e&&(Yo(2),Ts("ngIf",t.showButton("opt-in")),Yo(1),Ts("ngIf",t.showButton("opt-out")))},directives:[Yh,q_],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-width:400px;color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:9999}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:24px}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin:1rem;min-width:6rem;background-color:#007cbe;display:flex;justify-content:center}"],changeDetection:0}),e}(),R$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_]]}),e}(),D$=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"forwardCall",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;it?e[0]:void 0,max:e[1]0}),Of(function(e){return function(e,t){return new te(function(n){var i,r;try{i=e()}catch(a){return void n.error(a)}try{r=t(i)}catch(a){return void n.error(a)}var o=(r?ye(r):Mf).subscribe(n);return function(){o.unsubscribe(),i&&i.unsubscribe()}})}(function(){return i.createDatabase(e)},function(t){return i.connectDatabase(t,e)})}),ce(function(e){return e.database}),zf(1)),i}return b(n,[{key:"connectDatabase",value:function(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return i=!ah(),n.next=3,e.database.connect(t,i);case 3:return n.abrupt("return",e);case 4:case"end":return n.stop()}},n)}))}}]),n}(D$);return e.\u0275fac=function(t){return new(t||e)(Zi(T$))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),G$=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"createDatabase",value:function(e){return{database:new UY(e),unsubscribe:function(){}}}}]),n}(H$);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275prov=$e({token:t,factory:t.\u0275fac,providedIn:"root"}),t}(),W$=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"createDatabase",value:function(e){var t=this.createWorker(e),n=aK(t);return{database:n,unsubscribe:function(){n[eK](),t.terminate()}}}}]),n}(H$);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275prov=$e({token:t,factory:t.\u0275fac}),t}(),q$=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).impl$=e.config$.pipe(function(e){return e},ce(function(e){return r.selectToken(e)}),lf(),ce(function(e){return i.get(e)}),zf(1)),r}return n}(D$);return e.\u0275fac=function(t){return new(t||e)(Zi(T$),Zi(ss))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),X$=function(){var e=function e(){m(this,e)};return e.type="[CallToAction] Learn More",e}(),Y$=function(){var e=function e(){m(this,e)};return e.type="[CallToAction] Open Dialog",e}(),K$=function(){var e=function e(){m(this,e)};return e.type="[CallToAction] Close Dialog",e}(),$$=function(){function e(){m(this,e)}return b(e,[{key:"length",get:function(){var t,n;return null!==(n=null===(t=e.storage)||void 0===t?void 0:t.length)&&void 0!==n?n:0}},{key:"key",value:function(t){var n,i;return null!==(i=null===(n=e.storage)||void 0===n?void 0:n.key(t))&&void 0!==i?i:null}},{key:"getItem",value:function(t,n){var i,r,o;return null!==(o=null!==(r=null===(i=e.storage)||void 0===i?void 0:i.getItem(t))&&void 0!==r?r:n)&&void 0!==o?o:null}},{key:"setItem",value:function(t,n){var i;try{return null===(i=e.storage)||void 0===i||i.setItem(t,n),!0}catch(r){return!1}}},{key:"removeItem",value:function(t){var n;null===(n=e.storage)||void 0===n||n.removeItem(t)}},{key:"clear",value:function(){var t;null===(t=e.storage)||void 0===t||t.clear()}}]),e}();$$.storage=function(){var e;try{e=window.localStorage;var t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(t){return t instanceof DOMException&&(22===t.code||1014===t.code||"QuotaExceededError"===t.name||"NS_ERROR_DOM_QUOTA_REACHED"===t.name)&&e&&0!==e.length?e:void 0}}(),$$.\u0275fac=function(e){return new(e||$$)},$$.\u0275prov=$e({token:$$,factory:$$.\u0275fac,providedIn:"root"});var Q$="callToActionPopupShown",Z$=z$=function(){function e(t,n,i,r,o){m(this,e),this.dialog=t,this.ga=n,this.storage=i,this.infoService=r,this.http=o}return b(e,[{key:"ngxsOnInit",value:function(e){var t=e.getState(),n=t.expirationDate,i=t.popupShown,r=this.storage.getItem(Q$,"".concat(i)),o=z$.ctaDatePassed(n);"true"!==r&&!o&&e.dispatch(new Y$)}},{key:"getDialogData",value:function(){var e=this;return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(ce(function(t){return e.infoService.parseMarkdown(t)}))}},{key:"launchLearnMore",value:function(e){this.dialog.open(k$,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}},{key:"learnMore",value:function(e){var t=this;return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(mv(function(e){return t.launchLearnMore(e)}))}},{key:"open",value:function(e){this.dialog.open(eQ,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(Q$,"true"),e.patchState({popupShown:!0})}},{key:"close",value:function(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}}],[{key:"ctaDatePassed",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now;return+t()>+new Date(e)}}]),e}();Z$.\u0275fac=function(e){return new(e||Z$)(Zi(FG),Zi(yq),Zi($$),Zi(S$),Zi(h_))},Z$.\u0275prov=$e({token:Z$,factory:Z$.\u0275fac}),Mw([jz(X$)],Z$.prototype,"learnMore",null),Mw([jz(Y$)],Z$.prototype,"open",null),Mw([jz(K$)],Z$.prototype,"close",null),Z$=z$=Mw([Fz({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Z$);var J$=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"title",value:function(e){return e.title}},{key:"message",value:function(e){return e.message}},{key:"callToAction",value:function(e){return e.callToAction}},{key:"imageUrl",value:function(e){return e.imageUrl}},{key:"expirationDate",value:function(e){return e.expirationDate}},{key:"popupShown",value:function(e){return e.popupShown}}]),e}();return Mw([Vz([Z$])],e,"title",null),Mw([Vz([Z$])],e,"message",null),Mw([Vz([Z$])],e,"callToAction",null),Mw([Vz([Z$])],e,"imageUrl",null),Mw([Vz([Z$])],e,"expirationDate",null),Mw([Vz([Z$])],e,"popupShown",null),e}(),eQ=function(){var e=function e(){m(this,e),this.close=function(){return new K$},this.learnMore=function(){return new X$}};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(e,t){1&e&&(As(0,"ccf-call-to-action",0),Vs("callToActionClicked",function(){return t.learnMore()})("closeClicked",function(){return t.close()}),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Jc(4,"async"),Ms()),2&e&&Ts("infoTitle",el(1,4,t.title$))("message",el(2,6,t.message$))("callToAction",el(3,8,t.callToAction$))("imageUrl",el(4,10,t.imageUrl$))},directives:[O$],pipes:[sd],styles:[""],changeDetection:0}),Mw([Bz(J$.title)],e.prototype,"title$",void 0),Mw([Bz(J$.message)],e.prototype,"message$",void 0),Mw([Bz(J$.callToAction)],e.prototype,"callToAction$",void 0),Mw([Bz(J$.imageUrl)],e.prototype,"imageUrl$",void 0),Mw([TK()],e.prototype,"close",void 0),Mw([TK()],e.prototype,"learnMore",void 0),e}();function tQ(e,t){if(1&e&&(As(0,"div",3),Cu(1),Ms()),2&e){var n=Ws();Yo(1),Ou(" ",n.label,"\n")}}function nQ(e,t){if(1&e){var n=Ls();As(0,"mat-list-item",4),As(1,"div",5),As(2,"mat-checkbox",6),Vs("change",function(e){var t=bn(n).index;return Ws().updateItemSelection(t,e.checked)}),Cu(3),Ms(),Is(4,"div",7),As(5,"button",8),Vs("click",function(){var e=bn(n).index;return Ws().removeItem(e)}),As(6,"mat-icon"),Cu(7,"delete_outlined"),Ms(),Ms(),Ms(),Ms()}if(2&e){var i=t.$implicit;Yo(2),Ts("checked",i.selected),Yo(1),Ou(" ",i.description," ")}}var iQ,rQ=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-spatial-search-list",this.label="",this.items=[],this.selectionChanged=new ol,this.itemRemoved=new ol}return b(e,[{key:"itemId",value:function(e,t){return t.description}},{key:"updateItemSelection",value:function(e,t){var n=this.items=v(this.items);n[e]=Object.assign(Object.assign({},n[e]),{selected:t});var i=n.filter(function(e){return e.selected});this.selectionChanged.emit(i)}},{key:"removeItem",value:function(e){var n=t((this.items=v(this.items)).splice(e,1),1)[0];this.itemRemoved.emit(n)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-list"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{label:"label",items:"items"},outputs:{selectionChanged:"selectionChanged",itemRemoved:"itemRemoved"},decls:3,vars:3,consts:[["class","label",4,"ngIf"],[1,"list"],["class","item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"label"],[1,"item"],[1,"item-content"],["labelPosition","after",1,"description",3,"checked","change"],[1,"filler"],["mat-icon-button","",1,"delete",3,"click"]],template:function(e,t){1&e&&(Cs(0,tQ,2,1,"div",0),As(1,"mat-list",1),Cs(2,nQ,8,2,"mat-list-item",2),Ms()),2&e&&(Ts("ngIf",t.label),Yo(2),Ts("ngForOf",t.items)("ngForTrackBy",t.itemId))},directives:[Yh,BK,qh,UK,e$,q_,B_],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}[_nghost-%COMP%] .item[_ngcontent-%COMP%]{height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .delete[_ngcontent-%COMP%]{width:2rem;height:2rem;line-height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}[_nghost-%COMP%] .item[_ngcontent-%COMP%] > *{padding:0!important}"],changeDetection:0}),e}(),oQ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,n$,V_,HK]]}),e}(),aQ=function(){var e=function e(){m(this,e),this.clsName="ccf-xyz-position",this.x=0,this.y=0,this.z=0,this.format="1.0-2"};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-xyz-position"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{x:"x",y:"y",z:"z"},decls:9,vars:12,consts:[[1,"line"]],template:function(e,t){1&e&&(As(0,"span",0),Cu(1),Jc(2,"number"),Ms(),As(3,"span",0),Cu(4),Jc(5,"number"),Ms(),As(6,"span",0),Cu(7),Jc(8,"number"),Ms()),2&e&&(Yo(1),Ou("X: ",tl(2,3,t.x,t.format),""),Yo(3),Ou("Y: ",tl(5,6,t.y,t.format),""),Yo(3),Ou("Z: ",tl(8,9,t.z,t.format),""))},pipes:[ud],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .line[_ngcontent-%COMP%]{font-size:1rem;font-weight:400}"],changeDetection:0}),e}(),sQ=function(){var t,n=function(t){a(i,t);var n=s(i);function i(){var e;return m(this,i),(e=n.apply(this,arguments)).attached=!1,e}return b(i,[{key:"setRootElement",value:function(e){this.attached&&(this.rootElement.nativeElement.removeChild(this._containerElement),this.attached=!1),this.rootElement=e,this.rootElement.nativeElement.style.display="block",this.rootElement.nativeElement.style.position="contents",this.rootElement.nativeElement.style.height="100%",this.appendToRoot()}},{key:"_createContainer",value:function(){e(p(i.prototype),"_createContainer",this).call(this),this.appendToRoot()}},{key:"appendToRoot",value:function(){!this._containerElement||!this.rootElement||(this.rootElement.nativeElement.appendChild(this._containerElement),this.attached=!0)}}]),i}(Hp);return n.\u0275fac=function(e){return(t||(t=Ti(n)))(e||n)},n.\u0275prov=$e({token:n,factory:n.\u0275fac,providedIn:"root"}),n}(),uQ=new Ri("Default theme class"),cQ=function(){var e=function(){function e(t){m(this,e),this.defaultTheme=this.theme=null!=t?t:""}return b(e,[{key:"getTheme",value:function(){return this.theme}},{key:"setTheme",value:function(e){e!==this.theme&&(this.applyThemeClass(this.theme,"remove"),this.applyThemeClass(e),this.theme=e)}},{key:"resetTheme",value:function(){this.setTheme(this.defaultTheme)}},{key:"initialize",value:function(e,t){this.element=e,this.injector=t,this.applyThemeClass(this.getTheme())}},{key:"applyThemeClass",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"add",i=this.element,r=this.injector;if(e&&i&&r){var o=r.get(nc,null);if(o){var a=i.nativeElement,s=null===(t=r.get(Hp,null))||void 0===t?void 0:t.getContainerElement(),u="add"===n?"addClass":"removeClass";o[u](a,e),s&&o[u](s,e)}}}}],[{key:"initialize",value:function(t){var n=t.injector,i=t.location;n.get(e).initialize(i,n)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(uQ,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),lQ={initialConfig:{},parse:{},rename:{}},hQ=function(){function e(t,n){m(this,e),this.configState=t,this.storedChanges={},this.options=Object.assign(Object.assign({},lQ),n)}return b(e,[{key:"addChanges",value:function(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}},{key:"applyChanges",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};void 0===e&&(e=this.storedChanges,this.storedChanges={});for(var i=this.configState,r=this.options.initialConfig,o=i.snapshot,a=Object.assign(Object.assign(Object.assign({},r),o),n),s=0,u=Object.entries(e);s-1&&(this.count=n-1),t.subscribe(this._unsubscribeAndRecycle())}}}]),i}(K),wQ=function(){var e=function e(t){m(this,e),this.filter=t};return e.type="[DataState] Update filter",e}(),kQ={sex:"Both",ageRange:[1,110],bmiRange:[13,83],tmc:[],technologies:[],ontologyTerms:["http://purl.obolibrary.org/obo/UBERON_0013702"],cellTypeTerms:["http://purl.obolibrary.org/obo/CL_0000000"],spatialSearches:[]},xQ=(function(e){e.Running="running",e.Completed="completed"}(xQ||(xQ={})),xQ);function SQ(e){return function(){return e.next(xQ.Completed)}}function CQ(e,t){return function(n){return n.pipe(Of(e),mv(t),Oq(1),Te())}}var EQ=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).source=e,i.databaseReady$=i.state$.pipe(cG("status"),gQ(),bf(function(e){return"Ready"===e})),i._tissueBlockDataQueryStatus$=new Bf(1),i._aggregateDataQueryStatus$=new Bf(1),i._ontologyTermOccurencesDataQueryStatus$=new Bf(1),i._cellTypeTermOccurencesDataQueryStatus$=new Bf(1),i._sceneDataQueryStatus$=new Bf(1),i._technologyFilterQueryStatus$=new Bf(1),i._providerFilterQueryStatus$=new Bf(1),i.ontologyTermsFullData$=new Bf(1),i.cellTypeTermsFullData$=new Bf(1),i.filter$=i.state$.pipe(cG("filter")),i.tissueBlockData$=i.filter$.pipe(CQ(i.tissueBlockData,SQ(i._tissueBlockDataQueryStatus$))),i.aggregateData$=i.filter$.pipe(CQ(i.aggregateData,SQ(i._aggregateDataQueryStatus$))),i.ontologyTermOccurencesData$=i.filter$.pipe(CQ(i.ontologyTermOccurencesData,SQ(i._ontologyTermOccurencesDataQueryStatus$))),i.cellTypeTermOccurencesData$=i.filter$.pipe(CQ(i.cellTypeTermOccurencesData,SQ(i._cellTypeTermOccurencesDataQueryStatus$))),i.sceneData$=i.filter$.pipe(CQ(i.sceneData,SQ(i._sceneDataQueryStatus$))),i.technologyFilterData$=i.filter$.pipe(CQ(i.technologyFilterData,SQ(i._technologyFilterQueryStatus$))),i.providerFilterData$=i.filter$.pipe(CQ(i.providerFilterData,SQ(i._providerFilterQueryStatus$))),i.tissueBlockDataQueryStatus$=i._tissueBlockDataQueryStatus$.pipe(gQ()),i.aggregateDataQueryStatus$=i._aggregateDataQueryStatus$.pipe(gQ()),i.ontologyTermOccurencesDataQueryStatus$=i._ontologyTermOccurencesDataQueryStatus$.pipe(gQ()),i.cellTypeTermOccurencesDataQueryStatus$=i._cellTypeTermOccurencesDataQueryStatus$.pipe(gQ()),i.sceneDataQueryStatus$=i._sceneDataQueryStatus$.pipe(gQ()),i.technologyFilterQueryStatus$=i._technologyFilterQueryStatus$.pipe(gQ()),i.providerFilterQueryStatus$=i._providerFilterQueryStatus$.pipe(gQ()),i.queryStatus$=J_([i.tissueBlockDataQueryStatus$,i.aggregateDataQueryStatus$,i.ontologyTermOccurencesDataQueryStatus$,i.cellTypeTermOccurencesDataQueryStatus$,i.sceneDataQueryStatus$,i.technologyFilterQueryStatus$,i.providerFilterQueryStatus$]).pipe(ce(function(e){return function(e){return e.every(function(e){return e===xQ.Completed})}(e)?xQ.Completed:xQ.Running}),gQ()),i._tissueBlockDataQueryStatus$.next(xQ.Completed),i._aggregateDataQueryStatus$.next(xQ.Completed),i._ontologyTermOccurencesDataQueryStatus$.next(xQ.Completed),i._cellTypeTermOccurencesDataQueryStatus$.next(xQ.Completed),i._sceneDataQueryStatus$.next(xQ.Completed),i._technologyFilterQueryStatus$.next(xQ.Completed),i._providerFilterQueryStatus$.next(xQ.Completed),i}return b(n,[{key:"ngxsOnInit",value:function(){var e=this,t=this.ontologyTermsFullData$,n=this.ontologyTermOccurencesData$,i=this.cellTypeTermsFullData$,r=this.cellTypeTermOccurencesData$,o=this.source;this.snapshot.filter===kQ?(n.pipe(_p(1)).subscribe(t),r.pipe(_p(1)).subscribe(i)):(o.getOntologyTermOccurences().pipe(_p(1)).subscribe(t),o.getCellTypeTermOccurences().pipe(_p(1)).subscribe(i)),this.source.getOntologyTreeModel().pipe(_p(1)).subscribe(function(t){return e.updateAnatomicalStructuresTreeModel(t)}),this.source.getCellTypeTreeModel().pipe(_p(1)).subscribe(function(t){return e.updateCellTypesTreeModel(t)}),this.warmUpDatabase()}},{key:"warmUpDatabase",value:function(){var e=this;tH(function(){return e.source.getDatabaseStatus()}).pipe(mv(function(t){return e.updateStatus(t)}),NH(2e3),_p(1)).pipe(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;return function(t){return 0===e?If():t.lift(new bQ(e<0?-1:e-1,t))}}(1e3),xp(function(e){return"Loading"===e.status})).subscribe(),this.databaseReady$.pipe(_p(1),mv(function(){e.updateStatus({status:"Ready",message:"Loading CCF Exploration User Interface (EUI)"})})).subscribe()}},{key:"updateAnatomicalStructuresTreeModel",value:function(e){this.ctx.patchState({anatomicalStructuresTreeModel:e})}},{key:"updateCellTypesTreeModel",value:function(e){this.ctx.patchState({cellTypesTreeModel:e})}},{key:"updateStatus",value:function(e){this.ctx.patchState({status:e.status,statusMessage:e.message})}},{key:"updateFilter",value:function(e){this.ctx.patchState({filter:Object.assign(Object.assign({},this.getState().filter),e)})}},{key:"updateFilterHandler",value:function(e,t){var n=t.filter;this.updateFilter(n)}},{key:"tissueBlockData",value:function(e){var t=this;return this._tissueBlockDataQueryStatus$.next(xQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getTissueBlockResults(e)}))}},{key:"aggregateData",value:function(e){var t=this;return this._aggregateDataQueryStatus$.next(xQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getAggregateResults(e)}))}},{key:"ontologyTermOccurencesData",value:function(e){var t=this;return this._ontologyTermOccurencesDataQueryStatus$.next(xQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getOntologyTermOccurences(e)}))}},{key:"cellTypeTermOccurencesData",value:function(e){var t=this;return this._cellTypeTermOccurencesDataQueryStatus$.next(xQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getCellTypeTermOccurences(e)}))}},{key:"sceneData",value:function(e){var t=this;return this._sceneDataQueryStatus$.next(xQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getScene(e)}))}},{key:"technologyFilterData",value:function(){var e=this;return this._technologyFilterQueryStatus$.next(xQ.Running),this.databaseReady$.pipe(Of(function(){return e.source.getDatasetTechnologyNames()}))}},{key:"providerFilterData",value:function(){var e=this;return this._providerFilterQueryStatus$.next(xQ.Running),this.databaseReady$.pipe(Of(function(){return e.source.getProviderNames()}))}}]),n}(hq);EQ.\u0275fac=function(e){return new(e||EQ)(Zi(N$))},EQ.\u0275prov=$e({token:EQ,factory:EQ.\u0275fac}),Mw([sq(),Iw(0,uq("treeModel"))],EQ.prototype,"updateAnatomicalStructuresTreeModel",null),Mw([sq(),Iw(0,uq("treeModel"))],EQ.prototype,"updateCellTypesTreeModel",null),Mw([sq(),Iw(0,uq("status"))],EQ.prototype,"updateStatus",null),Mw([sq(),Iw(0,uq("filter"))],EQ.prototype,"updateFilter",null),Mw([jz(wQ)],EQ.prototype,"updateFilterHandler",null),Mw([eV.ak],EQ.prototype,"tissueBlockData",null),Mw([eV.ak],EQ.prototype,"aggregateData",null),Mw([eV.ak],EQ.prototype,"ontologyTermOccurencesData",null),Mw([eV.ak],EQ.prototype,"cellTypeTermOccurencesData",null),Mw([eV.ak],EQ.prototype,"sceneData",null),Mw([eV.ak],EQ.prototype,"technologyFilterData",null),Mw([eV.ak],EQ.prototype,"providerFilterData",null),EQ=Mw([cq(),Fz({name:"data",defaults:{filter:kQ,status:"Loading",statusMessage:"Loading database"}})],EQ);var OQ=function(){function e(){m(this,e)}return b(e,null,[{key:"filter",value:function(e){return e.filter}},{key:"anatomicalStructuresTreeModel",value:function(e){var t;return null!==(t=e.anatomicalStructuresTreeModel)&&void 0!==t?t:{root:"",nodes:{}}}},{key:"cellTypesTreeModel",value:function(e){var t;return null!==(t=e.cellTypesTreeModel)&&void 0!==t?t:{root:"",nodes:{}}}}]),e}();Mw([Vz([EQ])],OQ,"filter",null),Mw([Vz([EQ])],OQ,"anatomicalStructuresTreeModel",null),Mw([Vz([EQ])],OQ,"cellTypesTreeModel",null);var TQ=function(){var e=function e(t,n,i){m(this,e),this.sex=t,this.organName=n,this.search=i};return e.type="[Spatial Search Filter] Add",e}(),PQ=function(){var e=function e(t){m(this,e),this.id=t};return e.type="[Spatial Search Filter] Remove",e}(),AQ=function(){var e=function e(t){m(this,e),this.items=t};return e.type="[Spatial Search Filter] Set selected searches",e}(),MQ=function(){function e(){m(this,e)}return b(e,[{key:"addSearch",value:function(e,t){var n=t.sex,i=t.organName,r=t.search;e.setState(function(e){return function(t){return e&&e.length||!t?Array.isArray(t)?t.concat(e):e:t}}([this.createItem(n,i,r)]))}},{key:"removeSearch",value:function(e,t){var n=t.id;e.setState(function(e){return function(t){var n=-1;if(function(e){return"function"==typeof e}(e)?n=t.findIndex(e):function(e){return"number"==typeof e}(e)&&(n=e),function(e){return Number.isNaN(e)||-1===e}(n))return t;var i=t.slice();return i.splice(n,1),i}}(function(e){return(null==e?void 0:e.id)===n}))}},{key:"setSelectedSearches",value:function(e,t){var n=t.items,i=new Map(n.map(function(e){return[e.id,e]})),r=e.getState().map(function(e){var t;return null!==(t=i.get(e.id))&&void 0!==t?t:e.selected?Object.assign(Object.assign({},e),{selected:!1}):e});e.setState(r)}},{key:"createItem",value:function(e,t,n){return{id:this.createItemId(n),selected:!0,description:this.createItemDescription(e,t,n),sex:e,search:n}}},{key:"createItemId",value:function(e){var t=e.x,n=e.y,i=e.z,r=e.radius,o=e.target;return"".concat(o,"-").concat(r,"-").concat(t,",").concat(n,",").concat(i)}},{key:"createItemDescription",value:function(e,t,n){var i=function(e){return e.slice(0,1).toUpperCase()+e.slice(1)},r=n.x,o=n.y,a=n.z,s=n.radius;return"".concat(i(e),", ").concat(i(t),", ").concat(s.toFixed(1)," mm, X: ").concat(r.toFixed(1),", Y: ").concat(o.toFixed(1),", Z: ").concat(a.toFixed(1))}}]),e}();MQ.\u0275fac=function(e){return new(e||MQ)},MQ.\u0275prov=$e({token:MQ,factory:MQ.\u0275fac}),Mw([jz(TQ)],MQ.prototype,"addSearch",null),Mw([jz(PQ)],MQ.prototype,"removeSearch",null),Mw([jz(AQ)],MQ.prototype,"setSelectedSearches",null),MQ=Mw([Fz({name:"spatialSearchFilter",defaults:[]})],MQ);var IQ=function(){function e(){m(this,e)}return b(e,null,[{key:"items",value:function(e){return e}},{key:"searches",value:function(e){return e.map(function(e){return e.search})}},{key:"selectedSearches",value:function(e){return e.filter(function(e){return e.selected}).map(function(e){return e.search})}}]),e}();Mw([Vz([MQ])],IQ,"items",null),Mw([Vz([IQ.items])],IQ,"searches",null),Mw([Vz([IQ.items])],IQ,"selectedSearches",null);var RQ=new RegExp("[^#a-f\\d]","gi"),DQ=new RegExp("^#?[a-f\\d]{3}[a-f\\d]?$|^#?[a-f\\d]{6}([a-f\\d]{2})?$","i"),NQ=["#FF8800","#2979ff","#ffd740","#b92dff","#da326f","#7323e2","#acf32b","#82B1FF","#E040FB","#00E5FF"].map(function(e,t){var n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"!=typeof e||RQ.test(e)||!DQ.test(e))throw new TypeError("Expected a valid hex string");var n=1;8===(e=e.replace(/^#/,"")).length&&(n=Number.parseInt(e.slice(6,8),16)/255,e=e.slice(0,6)),4===e.length&&(n=Number.parseInt(e.slice(3,4).repeat(2),16)/255,e=e.slice(0,3)),3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);var i=Number.parseInt(e,16),r=i>>16,o=i>>8&255,a=255&i,s="number"==typeof t.alpha?t.alpha:n;return"array"===t.format?[r,o,a,s]:"css"===t.format?"rgb(".concat(r," ").concat(o," ").concat(a).concat(1===s?"":" / ".concat(Number((100*s).toFixed(2)),"%"),")"):{red:r,green:o,blue:a,alpha:s}}(e,{format:"array"});return n[3]=255,{color:e,rgba:n,rank:t}}),LQ=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments)).forcedUnassignment=new ae,e.forcedUnassignment$=e.forcedUnassignment.asObservable(),e.colorAssignments$=e.state$.pipe(cG("colorAssignments"),lf()),e.colorAssignmentsList$=e.state$.pipe(cG("colorAssignmentsList"),lf()),e}return b(n,[{key:"getColor",value:function(e){return this.snapshot.colorAssignments[e]}},{key:"assignColor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.snapshot,i=n.colorAssignments,r=n.colorAssignmentsList,o=n.colorsAvailable;t&&(o=this.snapshot.colorPalette.concat(),r=[],i={});var a=i[e];return a||(o.length>0?a=o[0]:(a=r[r.length-1].color,r=r.slice(0,-1),this.forcedUnassignment.next()),o=o.filter(function(e){return e.color!==a.color}),i=(r=[{color:a,key:e}].concat(r)).reduce(function(e,t,n){return e[t.key]=Object.assign(Object.assign({},t.color),{rank:n}),e},{}),this.ctx.patchState({colorsAvailable:o,colorAssignments:i,colorAssignmentsList:r})),a}},{key:"unassignColor",value:function(e){var t=this.snapshot,n=t.colorAssignments,i=t.colorAssignmentsList,r=t.colorsAvailable,o=n[e];o&&(r=[o].concat(r),n=(i=i.filter(function(e){return e.color.color!==o.color})).reduce(function(e,t,n){return e[t.key]=Object.assign(Object.assign({},t.color),{rank:n}),e},{}),this.ctx.patchState({colorsAvailable:r,colorAssignments:n,colorAssignmentsList:i}))}}]),n}(dq);LQ.\u0275fac=function(){var e;return function(t){return(e||(e=Ti(LQ)))(t||LQ)}}(),LQ.\u0275prov=$e({token:LQ,factory:LQ.\u0275fac}),Mw([sq(),Iw(0,uq("key")),Iw(1,uq("doReset"))],LQ.prototype,"assignColor",null),Mw([sq(),Iw(0,uq("key"))],LQ.prototype,"unassignColor",null),LQ=Mw([cq(),Fz({name:"colors",defaults:{colorPalette:NQ.concat(),colorsAvailable:NQ.concat(),colorAssignments:{},colorAssignmentsList:[]}})],LQ);var jQ=function(n){a(r,n);var i=s(r);function r(e,t){var n;return m(this,r),(n=i.call(this)).dataService=e,n.injector=t,n.listResults$=n.state$.pipe(cG("listResults"),lf()),n.highlightedNodeId$=n.state$.pipe(cG("highlightedNodeId"),lf()),n}return b(r,[{key:"setListResults",value:function(e){this.ctx.patchState({listResults:e})}},{key:"selectListResult",value:function(e){this.colorAssignments.assignColor(e.tissueBlock.spatialEntityId)}},{key:"deselectListResult",value:function(e){this.colorAssignments.unassignColor(e.tissueBlock.spatialEntityId)}},{key:"highlightNode",value:function(e){this.ctx.patchState({highlightedNodeId:e})}},{key:"unHighlightNode",value:function(){this.ctx.patchState({highlightedNodeId:void 0})}},{key:"ngxsOnInit",value:function(){var n=this;e(p(r.prototype),"ngxsOnInit",this).call(this),this.dataState=this.injector.get(EQ),this.colorAssignments=this.injector.get(LQ),J_([this.dataState.tissueBlockData$,this.colorAssignments.colorAssignments$]).pipe(ce(function(e){var n,i=t(e,2),r=i[0],o=i[1],a=[],s=[],u=_(r);try{for(u.s();!(n=u.n()).done;){var c=n.value,l=o[c.spatialEntityId];l?a.push({selected:!0,color:l.color,tissueBlock:c,rank:l.rank}):s.push({selected:!1,tissueBlock:c})}}catch(h){u.e(h)}finally{u.f()}return(0,$q.sortBy)(a,["rank"]).concat(s)}),mv(function(e){return n.setListResults(e)})).subscribe()}}]),r}(dq);jQ.\u0275fac=function(e){return new(e||jQ)(Zi(N$),Zi(ss))},jQ.\u0275prov=$e({token:jQ,factory:jQ.\u0275fac}),Mw([sq(),Iw(0,uq("listResults"))],jQ.prototype,"setListResults",null),jQ=Mw([cq(),Fz({name:"listResults",defaults:{listResults:[]}})],jQ);var FQ=new Set(["Skin","Heart","Kidney","Spleen"]),BQ=function(n){a(r,n);var i=s(r);function r(e,t){var n;return m(this,r),(n=i.call(this)).dataService=e,n.injector=t,n.referenceOrgans$=n.state$.pipe(cG("referenceOrgans"),lf()),n.selectedReferenceOrgans$=n.state$.pipe(cG("selectedReferenceOrgans"),lf()),n.scene$=n.state$.pipe(cG("scene"),lf()),n.highlightedId$=n.state$.pipe(cG("highlightedId"),lf()),n}return b(r,[{key:"setSelectedReferenceOrgans",value:function(e){this.ctx.patchState({selectedReferenceOrgans:e})}},{key:"setReferenceOrgans",value:function(e){this.ctx.patchState({referenceOrgans:e})}},{key:"setReferenceOrganEntities",value:function(e){this.ctx.patchState({referenceOrganEntities:e})}},{key:"setScene",value:function(e){this.ctx.patchState({scene:e})}},{key:"sceneNodeClicked",value:function(e){var t=e.node,n=e.ctrlClick;t.representation_of&&"http://purl.org/ccf/latest/ccf.owl#VHFSkin"!==t["@id"]&&t.entityId?this.dataState.updateFilter({ontologyTerms:[t.representation_of]}):t.entityId&&this.colorAssignments.assignColor(t["@id"],!n)}},{key:"sceneNodeHovered",value:function(e){this.listResults.highlightNode(e["@id"])}},{key:"sceneNodeUnhover",value:function(){this.listResults.unHighlightNode()}},{key:"ngxsOnInit",value:function(){var n=this;e(p(r.prototype),"ngxsOnInit",this).call(this),this.dataState=this.injector.get(EQ),this.colorAssignments=this.injector.get(LQ),this.listResults=this.injector.get(jQ),this.dataService.getReferenceOrgans().pipe(mv(function(e){return n.setReferenceOrganEntities(e)}),ce(function(e){var t=new Set(e.map(function(e){return e.representation_of}));return f$.filter(function(e){return t.has(e.id)}).map(function(e){return Object.assign(Object.assign({},e),{disabled:!1,numResults:0})})}),_p(1),mv(function(e){n.setReferenceOrgans(e),n.setSelectedReferenceOrgans(e.filter(function(e){return FQ.has(e.organ)}))})).subscribe(),J_([this.dataState.sceneData$,this.selectedReferenceOrgans$,this.colorAssignments.colorAssignments$,this.dataService.getReferenceOrgans(),this.listResults.highlightedNodeId$]).pipe(ce(function(e){var n=t(e,5),i=n[0],r=n[1],o=n[2],a=n[3],s=n[4],u=new Set(r.map(function(e){return e.id})),c=new Set(a.filter(function(e){return u.has(e.representation_of)}).map(function(e){return e["@id"]}));return i.filter(function(e){var t,n;return(null===(n=null===(t=e.ccf_annotations)||void 0===t?void 0:t.some)||void 0===n?void 0:n.call(t,function(e){return u.has(e)}))||e.reference_organ&&c.has(e.reference_organ)}).map(function(e){return e.entityId&&(Object.prototype.hasOwnProperty.call(o,e["@id"])||s===e["@id"])?Object.assign(Object.assign({},e),{color:s===e["@id"]?[30,136,229,255]:o[e["@id"]].rgba}):e})}),mv(function(e){return n.setScene(e)})).subscribe()}}],[{key:"referenceOrgans",value:function(e){return e.referenceOrgans}},{key:"referenceOrganEntities",value:function(e){return e.referenceOrganEntities}}]),r}(dq);function VQ(e,t){if(1&e&&(Xn(),Is(0,"circle",3)),2&e){var n=Ws();uu("animation-name","mat-progress-spinner-stroke-rotate-"+n._spinnerAnimationLabel)("stroke-dashoffset",n._getStrokeDashOffset(),"px")("stroke-dasharray",n._getStrokeCircumference(),"px")("stroke-width",n._getCircleStrokeWidth(),"%"),ks("r",n._getCircleRadius())}}function zQ(e,t){if(1&e&&(Xn(),Is(0,"circle",3)),2&e){var n=Ws();uu("stroke-dashoffset",n._getStrokeDashOffset(),"px")("stroke-dasharray",n._getStrokeCircumference(),"px")("stroke-width",n._getCircleStrokeWidth(),"%"),ks("r",n._getCircleRadius())}}function UQ(e,t){if(1&e&&(Xn(),Is(0,"circle",3)),2&e){var n=Ws();uu("animation-name","mat-progress-spinner-stroke-rotate-"+n._spinnerAnimationLabel)("stroke-dashoffset",n._getStrokeDashOffset(),"px")("stroke-dasharray",n._getStrokeCircumference(),"px")("stroke-width",n._getCircleStrokeWidth(),"%"),ks("r",n._getCircleRadius())}}function HQ(e,t){if(1&e&&(Xn(),Is(0,"circle",3)),2&e){var n=Ws();uu("stroke-dashoffset",n._getStrokeDashOffset(),"px")("stroke-dasharray",n._getStrokeCircumference(),"px")("stroke-width",n._getCircleStrokeWidth(),"%"),ks("r",n._getCircleRadius())}}BQ.\u0275fac=function(e){return new(e||BQ)(Zi(N$),Zi(ss))},BQ.\u0275prov=$e({token:BQ,factory:BQ.\u0275fac}),Mw([sq(),Iw(0,uq("selectedReferenceOrgans"))],BQ.prototype,"setSelectedReferenceOrgans",null),Mw([sq(),Iw(0,uq("referenceOrgans"))],BQ.prototype,"setReferenceOrgans",null),Mw([sq(),Iw(0,uq("referenceOrganEntities"))],BQ.prototype,"setReferenceOrganEntities",null),Mw([sq(),Iw(0,uq("scene"))],BQ.prototype,"setScene",null),Mw([Vz()],BQ,"referenceOrgans",null),Mw([Vz()],BQ,"referenceOrganEntities",null),BQ=Mw([cq(),Fz({name:"scene",defaults:{scene:[],referenceOrgans:[],referenceOrganEntities:[],selectedReferenceOrgans:[],selectedAnatomicalStructures:[],anatomicalStructureSettings:{}}})],BQ);var GQ=".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor;stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\n",WQ=ab(function(){return function e(t){m(this,e),this._elementRef=t}}(),"primary"),qQ=new Ri("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:100}}}),XQ=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a){var s;m(this,n),(s=t.call(this,e))._document=r,s._diameter=100,s._value=0,s._fallbackAnimation=!1,s.mode="determinate";var u=n._diameters;return s._spinnerAnimationLabel=s._getSpinnerAnimationLabel(),u.has(r.head)||u.set(r.head,new Set([100])),s._fallbackAnimation=i.EDGE||i.TRIDENT,s._noopAnimations="NoopAnimations"===o&&!!a&&!a._forceAnimations,a&&(a.diameter&&(s.diameter=a.diameter),a.strokeWidth&&(s.strokeWidth=a.strokeWidth)),s}return b(n,[{key:"diameter",get:function(){return this._diameter},set:function(e){this._diameter=qd(e),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),!this._fallbackAnimation&&this._styleRoot&&this._attachStyleNode()}},{key:"strokeWidth",get:function(){return this._strokeWidth||this.diameter/10},set:function(e){this._strokeWidth=qd(e)}},{key:"value",get:function(){return"determinate"===this.mode?this._value:0},set:function(e){this._value=Math.max(0,Math.min(100,qd(e)))}},{key:"ngOnInit",value:function(){var e=this._elementRef.nativeElement;this._styleRoot=Qf(e)||this._document.head,this._attachStyleNode(),e.classList.add("mat-progress-spinner-indeterminate".concat(this._fallbackAnimation?"-fallback":"","-animation"))}},{key:"_getCircleRadius",value:function(){return(this.diameter-10)/2}},{key:"_getViewBox",value:function(){var e=2*this._getCircleRadius()+this.strokeWidth;return"0 0 ".concat(e," ").concat(e)}},{key:"_getStrokeCircumference",value:function(){return 2*Math.PI*this._getCircleRadius()}},{key:"_getStrokeDashOffset",value:function(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._getStrokeCircumference():null}},{key:"_getCircleStrokeWidth",value:function(){return this.strokeWidth/this.diameter*100}},{key:"_attachStyleNode",value:function(){var e=this._styleRoot,t=this._diameter,i=n._diameters,r=i.get(e);if(!r||!r.has(t)){var o=this._document.createElement("style");o.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),o.textContent=this._getAnimationText(),e.appendChild(o),r||(r=new Set,i.set(e,r)),r.add(t)}}},{key:"_getAnimationText",value:function(){var e=this._getStrokeCircumference();return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*e).replace(/END_VALUE/g,""+.2*e).replace(/DIAMETER/g,"".concat(this._spinnerAnimationLabel))}},{key:"_getSpinnerAnimationLabel",value:function(){return this.diameter.toString().replace(".","_")}}]),n}(WQ);XQ.\u0275fac=function(e){return new(e||XQ)(Os(Ju),Os(qf),Os(bh,8),Os(Yy,8),Os(qQ))},XQ.\u0275cmp=Ot({type:XQ,selectors:[["mat-progress-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner"],hostVars:10,hostBindings:function(e,t){2&e&&(ks("aria-valuemin","determinate"===t.mode?0:null)("aria-valuemax","determinate"===t.mode?100:null)("aria-valuenow","determinate"===t.mode?t.value:null)("mode",t.mode),uu("width",t.diameter,"px")("height",t.diameter,"px"),cu("_mat-animation-noopable",t._noopAnimations))},inputs:{color:"color",mode:"mode",diameter:"diameter",strokeWidth:"strokeWidth",value:"value"},exportAs:["matProgressSpinner"],features:[cs],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(e,t){1&e&&(Xn(),As(0,"svg",0),Cs(1,VQ,1,9,"circle",1),Cs(2,zQ,1,7,"circle",2),Ms()),2&e&&(uu("width",t.diameter,"px")("height",t.diameter,"px"),Ts("ngSwitch","indeterminate"===t.mode),ks("viewBox",t._getViewBox()),Yo(1),Ts("ngSwitchCase",!0),Yo(1),Ts("ngSwitchCase",!1))},directives:[Zh,Jh],styles:[GQ],encapsulation:2,changeDetection:0}),XQ._diameters=new WeakMap;var YQ=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a){var s;return m(this,n),(s=t.call(this,e,i,r,o,a)).mode="indeterminate",s}return n}(XQ);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(qf),Os(bh,8),Os(Yy,8),Os(qQ))},e.\u0275cmp=Ot({type:e,selectors:[["mat-spinner"]],hostAttrs:["role","progressbar","mode","indeterminate",1,"mat-spinner","mat-progress-spinner"],hostVars:6,hostBindings:function(e,t){2&e&&(uu("width",t.diameter,"px")("height",t.diameter,"px"),cu("_mat-animation-noopable",t._noopAnimations))},inputs:{color:"color"},features:[cs],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(e,t){1&e&&(Xn(),As(0,"svg",0),Cs(1,UQ,1,9,"circle",1),Cs(2,HQ,1,7,"circle",2),Ms()),2&e&&(uu("width",t.diameter,"px")("height",t.diameter,"px"),Ts("ngSwitch","indeterminate"===t.mode),ks("viewBox",t._getViewBox()),Yo(1),Ts("ngSwitchCase",!0),Yo(1),Ts("ngSwitchCase",!1))},directives:[Zh,Jh],styles:[GQ],encapsulation:2,changeDetection:0}),e}(),KQ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb,cd],rb]}),e}(),$Q=function(){var e=function e(){m(this,e),this.className="ccf-spinner-overlay",this.active=!1};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spinner-overlay"]],hostVars:4,hostBindings:function(e,t){2&e&&(du(t.className),cu("active",t.active))},inputs:{active:"active",text:"text"},decls:3,vars:1,consts:[[1,"content"]],template:function(e,t){1&e&&(Is(0,"mat-spinner"),As(1,"div",0),Cu(2),Ms()),2&e&&(Yo(2),Eu(t.text))},directives:[YQ],styles:["[_nghost-%COMP%]{display:flex;position:absolute;width:100%;height:100%;z-index:99;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;visibility:hidden;opacity:0;transition:visibility .6s,opacity .4s ease-in-out}[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-bottom:1rem;opacity:0;transition:opacity .3s ease-in-out .3s}.active[_nghost-%COMP%]{pointer-events:auto;visibility:visible;opacity:1}.active[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{opacity:1}"],changeDetection:0}),e}(),QQ={isolated:!0},ZQ=new Ri("Message service configuration",{providedIn:"root",factory:function(){return QQ}}),JQ=function(){var e=function(){function e(t,n,i){m(this,e),this.source=t,this.channel=n,this.messages=i}return b(e,[{key:"sendMessage",value:function(e){this.channel.next({id:this.nextMessageId(),source:this.source,payload:e})}},{key:"getMessages",value:function(){var e=this;return this.messages.pipe(bf(function(t){return t.source!==e.source}))}},{key:"getMessagesFromSource",value:function(e){return this.getMessages().pipe(bf(function(t){return t.source===e}))}},{key:"getMessagesFromSources",value:function(e){return this.getMessages().pipe(bf(function(t){return e.includes(t.source)}))}},{key:"nextMessageId",value:function(){return e.counter++}}]),e}();return e.counter=0,e}(),eZ=function(){var e=function(){function e(t,n){var i=this;m(this,e),this.config=t,this.parent=n,this.channel=new ae,this.messages=t.isolated||!n?this.channel.asObservable():ye([this.channel,n.messages.pipe(xp(function(){return!i.channel.closed}))]).pipe(Ce())}return b(e,[{key:"ngOnDestroy",value:function(){this.channel.complete()}},{key:"connect",value:function(e){return new JQ(e,this.channel,this.messages)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ZQ),Zi(e,12))},e.\u0275prov=$e({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),tZ=["*"],nZ=function(){var e=function(){function e(t,n){var i=this;m(this,e),this.className="ccf-drawer-content",this.animationsEnabled=!1,this.leftMargin=0,this.rightMargin=0,this.faded=!1,this.drawers=[],this.subscriptions=new q;var r=t.connect(this).getMessages();this.subscriptions.add(r.subscribe(function(e){i.handleMessage(e)&&n.markForCheck()}))}return b(e,[{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"handleMessage",value:function(e){switch(e.payload.type){case"drawer-containers-changed":return this.drawers=e.payload.drawers,this.updateFaded(),!0;case"drawer-initialized":return this.animationsEnabled=!0,!0;case"drawer-toggled":var t=e.source.position,n=e.payload,i=n.opened,r=n.width,o=n.margin;return this.updateMargin(t,i,r,o),this.updateFaded(),!0;default:return!1}}},{key:"updateMargin",value:function(e,t,n,i){var r=t?n+i:i;"start"===e?this.leftMargin=r:this.rightMargin=r}},{key:"updateFaded",value:function(){var e=t(this.drawers,2),n=e[0],i=e[1];this.faded=(null==n?void 0:n.opened)&&(null==n?void 0:n.expanded)||(null==i?void 0:i.opened)&&(null==i?void 0:i.expanded)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(eZ),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-drawer-content"]],hostVars:9,hostBindings:function(e,t){2&e&&(Mu("@fadeInOut",t.faded),du(t.className),uu("margin-left",t.leftMargin,"px")("margin-right",t.rightMargin,"px"),cu("cff-drawer-content-animations",t.animationsEnabled))},ngContentSelectors:tZ,decls:1,vars:0,template:function(e,t){1&e&&(Xs(),Ys(0))},styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 5.5rem);z-index:2;overflow:auto}.cff-drawer-content-animations[_nghost-%COMP%]{transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:margin-left,margin-right}"],data:{animation:[fg("fadeInOut",[mg("false",gg({opacity:1})),mg("true",gg({opacity:0})),yg("false <=> true",pg("1s"))])]},changeDetection:0}),e}(),iZ=["*"],rZ={params:{width:0,margin:0,margin2:0}},oZ=function(){function e(){var t=this;m(this,e),this.initialized=!1,this.deferred=new Promise(function(e){t.resolve=e})}return b(e,[{key:"set",value:function(){this.initialized=!0,this.resolve()}},{key:"wait",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.deferred);case 1:case"end":return e.stop()}},e,this)}))}},{key:"valueOf",value:function(){return this.initialized}}]),e}(),aZ=function(){var e=function(){function e(t,n,i){var r=this;m(this,e),this.element=i,this.className="ccf-drawer",this._position="start",this._opened=!1,this._expanded=!1,this.openedChange=new ol(!0),this.expandedChange=new ol(!0),this.stateChange=new ol(!0),this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._measuredWidth=0,this.width=0,this._measuredMargin=0,this.margin2=0,this.initialized=new oZ,this.subscriptions=new q,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(function(e){r.handleMessage(e)&&n.markForCheck()}))}return b(e,[{key:"classEnd",get:function(){return"end"===this.position}},{key:"position",get:function(){return this._position},set:function(e){this._position=e||"start"}},{key:"opened",get:function(){return this._opened},set:function(e){this.toggle(Wd(e))}},{key:"expanded",get:function(){return this._expanded},set:function(e){this.toggleExpanded(Wd(e))}},{key:"expandedStateObj",get:function(){return{value:this.expandedState2,params:{width:this.width,margin:this.measuredMargin,margin2:this.margin2}}}},{key:"measuredWidth",get:function(){if(this._measuredWidth>0)return this._measuredWidth;var e=this.element.nativeElement;if(!e)return 0;var t=e.getBoundingClientRect(),n=t.right-t.left;return 0===n?0:(this._measuredWidth=n,n)}},{key:"measuredMargin",get:function(){if(this._measuredMargin>0)return this._measuredMargin;var e=this.element.nativeElement;if(!e)return 0;var t=globalThis.getComputedStyle(e).getPropertyValue("start"===this.position?"margin-right":"margin-left"),n=Number(t.slice(0,-2));return this._measuredMargin=n,n}},{key:"ngAfterViewInit",value:function(){var e=this;this.initialized.set(),setTimeout(function(){return e.channel.sendMessage({type:"drawer-initialized"})})}},{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"open",value:function(){this.toggle(!0)}},{key:"close",value:function(){this.toggle(!1)}},{key:"toggle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.opened;this.opened!==e&&(e?this.openedState=this.initialized.valueOf()?"open":"open-instant":(this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._expanded=!1),this._opened=e,this.sendToggle())}},{key:"openExpanded",value:function(){this.toggleExpanded(!0)}},{key:"closeExpanded",value:function(){this.toggleExpanded(!1)}},{key:"toggleExpanded",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.expanded;this.expanded!==e&&(e?this.expandedState=this.initialized.valueOf()?"open":"open-instant":(this.expandedState="closed",this.expandedState2="collapsed"),this._expanded=e,this.sendToggle())}},{key:"closeOpenDone",value:function(){this.openedChange.emit(this.opened)}},{key:"expandCollapseDone",value:function(){this.expandedChange.emit(this.expanded)}},{key:"sendToggle",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.initialized.wait();case 2:this.channel.sendMessage({type:"drawer-toggled",opened:this.opened,expanded:this.expanded,width:this.measuredWidth,margin:this.measuredMargin}),this.stateChange.emit();case 4:case"end":return e.stop()}},e,this)}))}},{key:"handleMessage",value:function(e){switch(e.payload.type){case"drawer-toggled":return this.syncExpanded(e.source),!0;default:return!1}}},{key:"syncExpanded",value:function(e){(this.expanded||e.expanded)&&(this.expanded&&e.expanded?this.expandedState2=e.expandedState2="half":this.expanded?e.opened?(this.expandedState2="extended",this.width=e.measuredWidth+e.measuredMargin):(this.expandedState2="full",this.margin2=e.measuredMargin):this.opened?(e.expandedState2="extended",e.width=this.measuredWidth+this.measuredMargin):(e.expandedState2="full",e.margin2=this.measuredMargin))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(eZ),Os(Cc),Os(Ju))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-drawer"]],hostVars:10,hostBindings:function(e,t){1&e&&zs("@openClose.done",function(){return t.closeOpenDone()})("@expandCollapse.done",function(){return t.expandCollapseDone()}),2&e&&(Mu("@openClose",t.openedState)("@expandCollapse",t.expandedStateObj),du(t.className),cu("ccf-drawer-end",t.classEnd)("ccf-drawer-opened",t.opened)("ccf-drawer-expanded",t.expanded))},inputs:{position:"position",opened:"opened",expanded:"expanded"},outputs:{openedChange:"openedChange",expandedChange:"expandedChange",stateChange:"stateChange"},exportAs:["ccfDrawer"],ngContentSelectors:iZ,decls:2,vars:0,consts:[[1,"cff-drawer-inner-container"]],template:function(e,t){1&e&&(Xs(),As(0,"div",0),Ys(1),Ms())},styles:["[_nghost-%COMP%]{display:block;position:absolute;top:0;bottom:0;z-index:2;outline:0;transform:translate(-100%);background-color:#fff}.ccf-drawer-end[_nghost-%COMP%]{right:0;transform:translate(100%)}[_nghost-%COMP%] .cff-drawer-inner-container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}"],data:{animation:[fg("openClose",[mg("open, open-instant",gg({transform:"none"})),mg("closed",gg({})),yg("closed => open-instant",pg(0)),yg("closed <=> open, open-instant => closed",pg(".5s ease-in-out"))]),fg("expandCollapse",[mg("collapsed",gg({})),mg("half",gg({width:"calc(50% - {{ margin }}px)"}),rZ),mg("extended",gg({width:"calc(100% - {{ width }}px - {{ margin }}px)"}),rZ),mg("full",gg({width:"calc(100% - {{ margin }}px - {{ margin2 }}px)"}),rZ),yg("* <=> *",pg(".5s ease-in-out"))])]},changeDetection:0}),e}();function sZ(e,t){1&e&&(As(0,"ccf-drawer-content"),Ys(1,2),Ms())}var uZ=[[["ccf-drawer"]],[["ccf-drawer-content"]],"*"],cZ=["ccf-drawer","ccf-drawer-content","*"];function lZ(e){throw new Error("Multiple drawers in position ".concat(e))}var hZ=function(){var e=function(){function e(t,n){var i=this;m(this,e),this.cdr=n,this.className="ccf-drawer-container",this.subscriptions=new q,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(function(e){i.handleMessage(e)&&n.markForCheck()}))}return b(e,[{key:"content",get:function(){var e;return null!==(e=this.content1.first)&&void 0!==e?e:this.content2.first}},{key:"hasWrappedContent",get:function(){return 0!==this.content1.length}},{key:"ngAfterViewInit",value:function(){var e=this;this.drawers.changes.pipe(Ef(null)).subscribe(function(){var t=e.validateDrawers();e.channel.sendMessage({type:"drawer-containers-changed",drawers:t}),e.cdr.markForCheck()}),this.content1.changes.pipe(Ef(null)).subscribe(function(){e.channel.sendMessage({type:"content-container-changed",content:e.content}),e.cdr.markForCheck()})}},{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"handleMessage",value:function(e){return!0}},{key:"validateDrawers",value:function(){var e=this.drawers.toArray(),t=e.filter(function(e){return"start"===e.position}),n=e.filter(function(e){return"end"===e.position});return t.length>1&&lZ("start"),n.length>1&&lZ("end"),[t[0],n[0]]}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(eZ),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-drawer-container"]],contentQueries:function(e,t,n){var i;(1&e&&(bl(n,aZ,5),bl(n,nZ,5)),2&e)&&(ml(i=_l())&&(t.drawers=i),ml(i=_l())&&(t.content1=i))},viewQuery:function(e,t){var n;(1&e&&yl(nZ,5),2&e)&&(ml(n=_l())&&(t.content2=n))},hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},exportAs:["ccfDrawerContainer"],features:[Xu([eZ])],ngContentSelectors:cZ,decls:3,vars:1,consts:[[4,"ngIf"]],template:function(e,t){1&e&&(Xs(uZ),Ys(0),Ys(1,1),Cs(2,sZ,2,0,"ccf-drawer-content",0)),2&e&&(Yo(2),Ts("ngIf",!t.hasWrappedContent))},directives:[Yh,nZ],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:1;overflow:hidden;-webkit-overflow-scrolling:touch}"],changeDetection:0}),e}(),dZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Start the Spatial Search flow",e}(),fZ=function(){var e=function e(t){m(this,e),this.sex=t};return e.type="[SpatialSearchUi] Set sex",e}(),pZ=function(){var e=function e(t){m(this,e),this.organId=t};return e.type="[SpatialSearchUi] Set organ",e}(),vZ=function(){var e=function e(t){m(this,e),this.position=t};return e.type="[SpatialSearchUi] Set position",e}(),gZ=function(){var e=function e(t){m(this,e),this.node=t};return e.type="[SpatialSearchUi] Start moving the position to a scene node",e}(),mZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Reset position",e}(),yZ=function(){var e=function e(t){m(this,e),this.radius=t};return e.type="[SpatialSearchUi] Set radius",e}(),bZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Reset radius",e}(),_Z=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Update spatial search data",e}(),wZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Generate and add a spatial search",e}(),kZ=function(){var e=function e(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];m(this,e),this.execute=t};return e.type="[SpatialSearchUi] Set execute search on generate",e}(),xZ=["trigger"],SZ=["panel"];function CZ(e,t){if(1&e&&(As(0,"span",8),Cu(1),Ms()),2&e){var n=Ws();Yo(1),Eu(n.placeholder)}}function EZ(e,t){if(1&e&&(As(0,"span",12),Cu(1),Ms()),2&e){var n=Ws(2);Yo(1),Eu(n.triggerValue)}}function OZ(e,t){1&e&&Ys(0,0,["*ngSwitchCase","true"])}function TZ(e,t){1&e&&(As(0,"span",9),Cs(1,EZ,2,1,"span",10),Cs(2,OZ,1,0,"ng-content",11),Ms()),2&e&&(Ts("ngSwitch",!!Ws().customTrigger),Yo(2),Ts("ngSwitchCase",!0))}function PZ(e,t){if(1&e){var n=Ls();As(0,"div",13),As(1,"div",14,15),Vs("@transformPanel.done",function(e){return bn(n),Ws()._panelDoneAnimatingStream.next(e.toState)})("keydown",function(e){return bn(n),Ws()._handleKeydown(e)}),Ys(3,1),Ms(),Ms()}if(2&e){var i=Ws();Ts("@transformPanelWrap",void 0),Yo(1),Pu("mat-select-panel ",i._getPanelTheme(),""),uu("transform-origin",i._transformOrigin)("font-size",i._triggerFontSize,"px"),Ts("ngClass",i.panelClass)("@transformPanel",i.multiple?"showing-multiple":"showing"),ks("id",i.id+"-panel")("aria-multiselectable",i.multiple)("aria-label",i.ariaLabel||null)("aria-labelledby",i._getPanelAriaLabelledby())}}var AZ=[[["mat-select-trigger"]],"*"],MZ=["mat-select-trigger","*"],IZ={transformPanelWrap:fg("transformPanelWrap",[yg("* => void",function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:11,selector:e,animation:t,options:n}}("@transformPanel",[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return{type:9,options:e}}()],{optional:!0}))]),transformPanel:fg("transformPanel",[mg("void",gg({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),mg("showing",gg({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),mg("showing-multiple",gg({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),yg("void => *",pg("120ms cubic-bezier(0, 0, 0.2, 1)")),yg("* => void",pg("100ms 25ms linear",gg({opacity:0})))])},RZ=0,DZ=new Ri("mat-select-scroll-strategy"),NZ=new Ri("MAT_SELECT_CONFIG"),LZ={provide:DZ,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.reposition()}}},jZ=function e(t,n){m(this,e),this.source=t,this.value=n},FZ=sb(ub(ob(cb(function(){return function e(t,n,i,r,o){m(this,e),this._elementRef=t,this._defaultErrorStateMatcher=n,this._parentForm=i,this._parentFormGroup=r,this.ngControl=o}}())))),BZ=new Ri("MatSelectTrigger"),VZ=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,l,h,d,f,p,g,y){var b,_,w,k;return m(this,n),(b=t.call(this,a,o,u,l,d))._viewportRuler=e,b._changeDetectorRef=i,b._ngZone=r,b._dir=s,b._parentFormField=h,b._liveAnnouncer=g,b._defaultOptions=y,b._panelOpen=!1,b._compareWith=function(e,t){return e===t},b._uid="mat-select-"+RZ++,b._triggerAriaLabelledBy=null,b._destroy=new ae,b._onChange=function(){},b._onTouched=function(){},b._valueId="mat-select-value-"+RZ++,b._panelDoneAnimatingStream=new ae,b._overlayPanelClass=(null===(_=b._defaultOptions)||void 0===_?void 0:_.overlayPanelClass)||"",b._focused=!1,b.controlType="mat-select",b._required=!1,b._multiple=!1,b._disableOptionCentering=null!==(k=null===(w=b._defaultOptions)||void 0===w?void 0:w.disableOptionCentering)&&void 0!==k&&k,b.ariaLabel="",b.optionSelectionChanges=tH(function(){var e=b.options;return e?e.changes.pipe(Ef(e),Of(function(){return Oe.apply(void 0,v(e.map(function(e){return e.onSelectionChange})))})):b._ngZone.onStable.pipe(_p(1),Of(function(){return b.optionSelectionChanges}))}),b.openedChange=new ol,b._openedStream=b.openedChange.pipe(bf(function(e){return e}),ce(function(){})),b._closedStream=b.openedChange.pipe(bf(function(e){return!e}),ce(function(){})),b.selectionChange=new ol,b.valueChange=new ol,b.ngControl&&(b.ngControl.valueAccessor=c(b)),null!=(null==y?void 0:y.typeaheadDebounceInterval)&&(b._typeaheadDebounceInterval=y.typeaheadDebounceInterval),b._scrollStrategyFactory=p,b._scrollStrategy=b._scrollStrategyFactory(),b.tabIndex=parseInt(f)||0,b.id=b.id,b}return b(n,[{key:"focused",get:function(){return this._focused||this._panelOpen}},{key:"placeholder",get:function(){return this._placeholder},set:function(e){this._placeholder=e,this.stateChanges.next()}},{key:"required",get:function(){return this._required},set:function(e){this._required=Wd(e),this.stateChanges.next()}},{key:"multiple",get:function(){return this._multiple},set:function(e){this._multiple=Wd(e)}},{key:"disableOptionCentering",get:function(){return this._disableOptionCentering},set:function(e){this._disableOptionCentering=Wd(e)}},{key:"compareWith",get:function(){return this._compareWith},set:function(e){this._compareWith=e,this._selectionModel&&this._initializeSelection()}},{key:"value",get:function(){return this._value},set:function(e){(e!==this._value||this._multiple&&Array.isArray(e))&&(this.options&&this._setSelectionByValue(e),this._value=e)}},{key:"typeaheadDebounceInterval",get:function(){return this._typeaheadDebounceInterval},set:function(e){this._typeaheadDebounceInterval=qd(e)}},{key:"id",get:function(){return this._id},set:function(e){this._id=e||this._uid,this.stateChanges.next()}},{key:"ngOnInit",value:function(){var e=this;this._selectionModel=new ip(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(lf(),kf(this._destroy)).subscribe(function(){return e._panelDoneAnimating(e.panelOpen)})}},{key:"ngAfterContentInit",value:function(){var e=this;this._initKeyManager(),this._selectionModel.changed.pipe(kf(this._destroy)).subscribe(function(e){e.added.forEach(function(e){return e.select()}),e.removed.forEach(function(e){return e.deselect()})}),this.options.changes.pipe(Ef(null),kf(this._destroy)).subscribe(function(){e._resetOptions(),e._initializeSelection()})}},{key:"ngDoCheck",value:function(){var e=this._getTriggerAriaLabelledby();if(e!==this._triggerAriaLabelledBy){var t=this._elementRef.nativeElement;this._triggerAriaLabelledBy=e,e?t.setAttribute("aria-labelledby",e):t.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}},{key:"ngOnChanges",value:function(e){e.disabled&&this.stateChanges.next(),e.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}},{key:"ngOnDestroy",value:function(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}},{key:"toggle",value:function(){this.panelOpen?this.close():this.open()}},{key:"open",value:function(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}},{key:"close",value:function(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}},{key:"writeValue",value:function(e){this.value=e}},{key:"registerOnChange",value:function(e){this._onChange=e}},{key:"registerOnTouched",value:function(e){this._onTouched=e}},{key:"setDisabledState",value:function(e){this.disabled=e,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}},{key:"panelOpen",get:function(){return this._panelOpen}},{key:"selected",get:function(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]}},{key:"triggerValue",get:function(){if(this.empty)return"";if(this._multiple){var e=this._selectionModel.selected.map(function(e){return e.viewValue});return this._isRtl()&&e.reverse(),e.join(", ")}return this._selectionModel.selected[0].viewValue}},{key:"_isRtl",value:function(){return!!this._dir&&"rtl"===this._dir.value}},{key:"_handleKeydown",value:function(e){this.disabled||(this.panelOpen?this._handleOpenKeydown(e):this._handleClosedKeydown(e))}},{key:"_handleClosedKeydown",value:function(e){var t=e.keyCode,n=40===t||38===t||37===t||39===t,i=13===t||32===t,r=this._keyManager;if(!r.isTyping()&&i&&!Ep(e)||(this.multiple||e.altKey)&&n)e.preventDefault(),this.open();else if(!this.multiple){var o=this.selected;r.onKeydown(e);var a=this.selected;a&&o!==a&&this._liveAnnouncer.announce(a.viewValue,1e4)}}},{key:"_handleOpenKeydown",value:function(e){var t=this._keyManager,n=e.keyCode,i=40===n||38===n,r=t.isTyping();if(i&&e.altKey)e.preventDefault(),this.close();else if(r||13!==n&&32!==n||!t.activeItem||Ep(e))if(!r&&this._multiple&&65===n&&e.ctrlKey){e.preventDefault();var o=this.options.some(function(e){return!e.disabled&&!e.selected});this.options.forEach(function(e){e.disabled||(o?e.select():e.deselect())})}else{var a=t.activeItemIndex;t.onKeydown(e),this._multiple&&i&&e.shiftKey&&t.activeItem&&t.activeItemIndex!==a&&t.activeItem._selectViaInteraction()}else e.preventDefault(),t.activeItem._selectViaInteraction()}},{key:"_onFocus",value:function(){this.disabled||(this._focused=!0,this.stateChanges.next())}},{key:"_onBlur",value:function(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}},{key:"_onAttached",value:function(){var e=this;this._overlayDir.positionChange.pipe(_p(1)).subscribe(function(){e._changeDetectorRef.detectChanges(),e._positioningSettled()})}},{key:"_getPanelTheme",value:function(){return this._parentFormField?"mat-".concat(this._parentFormField.color):""}},{key:"empty",get:function(){return!this._selectionModel||this._selectionModel.isEmpty()}},{key:"_initializeSelection",value:function(){var e=this;Promise.resolve().then(function(){e._setSelectionByValue(e.ngControl?e.ngControl.value:e._value),e.stateChanges.next()})}},{key:"_setSelectionByValue",value:function(e){var t=this;if(this._selectionModel.selected.forEach(function(e){return e.setInactiveStyles()}),this._selectionModel.clear(),this.multiple&&e)Array.isArray(e),e.forEach(function(e){return t._selectValue(e)}),this._sortValues();else{var n=this._selectValue(e);n?this._keyManager.updateActiveItem(n):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}},{key:"_selectValue",value:function(e){var t=this,n=this.options.find(function(n){if(t._selectionModel.isSelected(n))return!1;try{return null!=n.value&&t._compareWith(n.value,e)}catch(i){return!1}});return n&&this._selectionModel.select(n),n}},{key:"_initKeyManager",value:function(){var e=this;this._keyManager=new zv(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(kf(this._destroy)).subscribe(function(){e.panelOpen&&(!e.multiple&&e._keyManager.activeItem&&e._keyManager.activeItem._selectViaInteraction(),e.focus(),e.close())}),this._keyManager.change.pipe(kf(this._destroy)).subscribe(function(){e._panelOpen&&e.panel?e._scrollOptionIntoView(e._keyManager.activeItemIndex||0):!e._panelOpen&&!e.multiple&&e._keyManager.activeItem&&e._keyManager.activeItem._selectViaInteraction()})}},{key:"_resetOptions",value:function(){var e=this,t=Oe(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(kf(t)).subscribe(function(t){e._onSelect(t.source,t.isUserInput),t.isUserInput&&!e.multiple&&e._panelOpen&&(e.close(),e.focus())}),Oe.apply(void 0,v(this.options.map(function(e){return e._stateChanges}))).pipe(kf(t)).subscribe(function(){e._changeDetectorRef.markForCheck(),e.stateChanges.next()})}},{key:"_onSelect",value:function(e,t){var n=this._selectionModel.isSelected(e);null!=e.value||this._multiple?(n!==e.selected&&(e.selected?this._selectionModel.select(e):this._selectionModel.deselect(e)),t&&this._keyManager.setActiveItem(e),this.multiple&&(this._sortValues(),t&&this.focus())):(e.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(e.value)),n!==this._selectionModel.isSelected(e)&&this._propagateChanges(),this.stateChanges.next()}},{key:"_sortValues",value:function(){var e=this;if(this.multiple){var t=this.options.toArray();this._selectionModel.sort(function(n,i){return e.sortComparator?e.sortComparator(n,i,t):t.indexOf(n)-t.indexOf(i)}),this.stateChanges.next()}}},{key:"_propagateChanges",value:function(e){var t;t=this.multiple?this.selected.map(function(e){return e.value}):this.selected?this.selected.value:e,this._value=t,this.valueChange.emit(t),this._onChange(t),this.selectionChange.emit(this._getChangeEvent(t)),this._changeDetectorRef.markForCheck()}},{key:"_highlightCorrectOption",value:function(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}},{key:"_canOpen",value:function(){var e;return!this._panelOpen&&!this.disabled&&(null===(e=this.options)||void 0===e?void 0:e.length)>0}},{key:"focus",value:function(e){this._elementRef.nativeElement.focus(e)}},{key:"_getPanelAriaLabelledby",value:function(){var e;if(this.ariaLabel)return null;var t=null===(e=this._parentFormField)||void 0===e?void 0:e.getLabelId();return this.ariaLabelledby?(t?t+" ":"")+this.ariaLabelledby:t}},{key:"_getAriaActiveDescendant",value:function(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}},{key:"_getTriggerAriaLabelledby",value:function(){var e;if(this.ariaLabel)return null;var t=null===(e=this._parentFormField)||void 0===e?void 0:e.getLabelId(),n=(t?t+" ":"")+this._valueId;return this.ariaLabelledby&&(n+=" "+this.ariaLabelledby),n}},{key:"_panelDoneAnimating",value:function(e){this.openedChange.emit(e)}},{key:"setDescribedByIds",value:function(e){this._ariaDescribedby=e.join(" ")}},{key:"onContainerClick",value:function(){this.focus(),this.open()}},{key:"shouldLabelFloat",get:function(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}]),n}(FZ);return e.\u0275fac=function(t){return new(t||e)(Os(ap),Os(Cc),Os(Xl),Os(lb),Os(Ju),Os(tp,8),Os(zU,8),Os(QU,8),Os(IH,8),Os(hU,10),Ai("tabindex"),Os(DZ),Os(tg),Os(NZ,8))},e.\u0275dir=Rt({type:e,viewQuery:function(e,t){var n;(1&e&&(yl(xZ,5),yl(SZ,5),yl(sv,5)),2&e)&&(ml(n=_l())&&(t.trigger=n.first),ml(n=_l())&&(t.panel=n.first),ml(n=_l())&&(t._overlayDir=n.first))},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[cs,qt]}),e}(),zZ=function(){var t,n=function(t){a(i,t);var n=s(i);function i(){var e;return m(this,i),(e=n.apply(this,arguments))._scrollTop=0,e._triggerFontSize=0,e._transformOrigin="top",e._offsetY=0,e._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}],e}return b(i,[{key:"_calculateOverlayScroll",value:function(e,t,n){var i=this._getItemHeight();return Math.min(Math.max(0,i*e-t+i/2),n)}},{key:"ngOnInit",value:function(){var t=this;e(p(i.prototype),"ngOnInit",this).call(this),this._viewportRuler.change().pipe(kf(this._destroy)).subscribe(function(){t.panelOpen&&(t._triggerRect=t.trigger.nativeElement.getBoundingClientRect(),t._changeDetectorRef.markForCheck())})}},{key:"open",value:function(){var t=this;e(p(i.prototype),"_canOpen",this).call(this)&&(e(p(i.prototype),"open",this).call(this),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(_p(1)).subscribe(function(){t._triggerFontSize&&t._overlayDir.overlayRef&&t._overlayDir.overlayRef.overlayElement&&(t._overlayDir.overlayRef.overlayElement.style.fontSize="".concat(t._triggerFontSize,"px"))}))}},{key:"_scrollOptionIntoView",value:function(e){var t=Db(e,this.options,this.optionGroups),n=this._getItemHeight();this.panel.nativeElement.scrollTop=0===e&&1===t?0:Nb((e+t)*n,n,this.panel.nativeElement.scrollTop,256)}},{key:"_positioningSettled",value:function(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}},{key:"_panelDoneAnimating",value:function(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),e(p(i.prototype),"_panelDoneAnimating",this).call(this,t)}},{key:"_getChangeEvent",value:function(e){return new jZ(this,e)}},{key:"_calculateOverlayOffsetX",value:function(){var e,t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),n=this._viewportRuler.getViewportSize(),i=this._isRtl(),r=this.multiple?56:32;if(this.multiple)e=40;else if(this.disableOptionCentering)e=16;else{var o=this._selectionModel.selected[0]||this.options.first;e=o&&o.group?32:16}i||(e*=-1);var a=0-(t.left+e-(i?r:0)),s=t.right+e-n.width+(i?0:r);a>0?e+=a+8:s>0&&(e-=s+8),this._overlayDir.offsetX=Math.round(e),this._overlayDir.overlayRef.updatePosition()}},{key:"_calculateOverlayOffsetY",value:function(e,t,n){var i,r=this._getItemHeight(),o=(r-this._triggerRect.height)/2,a=Math.floor(256/r);return this.disableOptionCentering?0:(i=0===this._scrollTop?e*r:this._scrollTop===n?(e-(this._getItemCount()-a))*r+(r-(this._getItemCount()*r-256)%r):t-r/2,Math.round(-1*i-o))}},{key:"_checkOverlayWithinViewport",value:function(e){var t=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),i=this._triggerRect.top-8,r=n.height-this._triggerRect.bottom-8,o=Math.abs(this._offsetY),a=Math.min(this._getItemCount()*t,256)-o-this._triggerRect.height;a>r?this._adjustPanelUp(a,r):o>i?this._adjustPanelDown(o,i,e):this._transformOrigin=this._getOriginBasedOnOption()}},{key:"_adjustPanelUp",value:function(e,t){var n=Math.round(e-t);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}},{key:"_adjustPanelDown",value:function(e,t,n){var i=Math.round(e-t);if(this._scrollTop+=i,this._offsetY+=i,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")}},{key:"_calculateOverlayPosition",value:function(){var e,t=this._getItemHeight(),n=this._getItemCount(),i=Math.min(n*t,256),r=n*t-i;e=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),e+=Db(e,this.options,this.optionGroups);var o=i/2;this._scrollTop=this._calculateOverlayScroll(e,o,r),this._offsetY=this._calculateOverlayOffsetY(e,o,r),this._checkOverlayWithinViewport(r)}},{key:"_getOriginBasedOnOption",value:function(){var e=this._getItemHeight(),t=(e-this._triggerRect.height)/2;return"50% ".concat(Math.abs(this._offsetY)-t+e/2,"px 0px")}},{key:"_getItemHeight",value:function(){return 3*this._triggerFontSize}},{key:"_getItemCount",value:function(){return this.options.length+this.optionGroups.length}}]),i}(VZ);return n.\u0275fac=function(e){return(t||(t=Ti(n)))(e||n)},n.\u0275cmp=Ot({type:n,selectors:[["mat-select"]],contentQueries:function(e,t,n){var i;(1&e&&(bl(n,BZ,5),bl(n,Rb,5),bl(n,Pb,5)),2&e)&&(ml(i=_l())&&(t.customTrigger=i.first),ml(i=_l())&&(t.options=i),ml(i=_l())&&(t.optionGroups=i))},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(e,t){1&e&&Vs("keydown",function(e){return t._handleKeydown(e)})("focus",function(){return t._onFocus()})("blur",function(){return t._onBlur()}),2&e&&(ks("id",t.id)("tabindex",t.tabIndex)("aria-controls",t.panelOpen?t.id+"-panel":null)("aria-expanded",t.panelOpen)("aria-label",t.ariaLabel||null)("aria-required",t.required.toString())("aria-disabled",t.disabled.toString())("aria-invalid",t.errorState)("aria-describedby",t._ariaDescribedby||null)("aria-activedescendant",t._getAriaActiveDescendant()),cu("mat-select-disabled",t.disabled)("mat-select-invalid",t.errorState)("mat-select-required",t.required)("mat-select-empty",t.empty)("mat-select-multiple",t.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[Xu([{provide:wH,useExisting:n},{provide:Cb,useExisting:n}]),cs],ngContentSelectors:MZ,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(e,t){if(1&e&&(Xs(AZ),As(0,"div",0,1),Vs("click",function(){return t.toggle()}),As(3,"div",2),Cs(4,CZ,2,1,"span",3),Cs(5,TZ,3,2,"span",4),Ms(),As(6,"div",5),Is(7,"div",6),Ms(),Ms(),Cs(8,PZ,4,14,"ng-template",7),Vs("backdropClick",function(){return t.close()})("attach",function(){return t._onAttached()})("detach",function(){return t.close()})),2&e){var n=Es(1);ks("aria-owns",t.panelOpen?t.id+"-panel":null),Yo(3),Ts("ngSwitch",t.empty),ks("id",t._valueId),Yo(1),Ts("ngSwitchCase",!0),Yo(1),Ts("ngSwitchCase",!1),Yo(3),Ts("cdkConnectedOverlayPanelClass",t._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",t._scrollStrategy)("cdkConnectedOverlayOrigin",n)("cdkConnectedOverlayOpen",t.panelOpen)("cdkConnectedOverlayPositions",t._positions)("cdkConnectedOverlayMinWidth",null==t._triggerRect?null:t._triggerRect.width)("cdkConnectedOverlayOffsetY",t._offsetY)}},directives:[av,Zh,Jh,sv,ed,Gh],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[IZ.transformPanelWrap,IZ.transformPanel]},changeDetection:0}),n}(),UZ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[LZ],imports:[[cd,cv,Lb,rb],sp,DH,Lb,rb]}),e}();function HZ(e,t){if(1&e&&(As(0,"mat-option",6),As(1,"div"),Cu(2),Ms(),Ms()),2&e){var n=t.$implicit,i=Ws();Ts("value",n),Yo(1),du(i.optionsVisible),Yo(1),Ou(" ",n," ")}}var GZ=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.selectionChange=new ol,this.optionsVisible="invisible"}return b(e,[{key:"toggleOptions",value:function(){this.optionsVisible="visible"===this.optionsVisible?"invisible":"visible"}},{key:"selectionChanged",value:function(e){this.selection=e,this.ga.event("selection_change","dropdown","".concat(this.label,":").concat(e)),this.selectionChange.emit(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-dropdown"]],inputs:{label:"label",options:"options",selection:"selection"},outputs:{selectionChange:"selectionChange"},decls:7,vars:3,consts:[[1,"ccf-dropdown","wrapper"],[1,"container"],[1,"dropdown-form-field"],[1,"label"],["disableOptionCentering","true","panelClass","option-panel","disableRipple","true",1,"selected-value",3,"value","selectionChange","openedChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"mat-form-field",2),As(3,"div",3),Cu(4),Ms(),As(5,"mat-select",4),Vs("selectionChange",function(e){return t.selectionChanged(e.value)})("openedChange",function(){return t.toggleOptions()}),Cs(6,HZ,3,5,"mat-option",5),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(4),Ou(" ",t.label," "),Yo(1),Ts("value",t.selection),Yo(1),Ts("ngForOf",t.options))},directives:[RH,zZ,qh,Rb],styles:["@-webkit-keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dropdown-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:1em;padding-right:1em;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{font-size:.875rem;border:none}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix mat-select{font-size:1rem;font-weight:bold}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .option-panel{-webkit-animation:slideInHorizontalDropdown .3s;animation:slideInHorizontalDropdown .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;position:absolute!important;top:1.55rem;max-width:9.5rem} .option-panel .mat-option{border-bottom-width:1px;border-bottom-style:solid;padding-left:1em} .option-panel :last-child{border-bottom:none} .cdk-overlay-pane{min-width:0rem!important}.dropdown-form-field[_ngcontent-%COMP%]{height:3rem;width:100%}.dropdown-form-field[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{padding-bottom:.063rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem} .ccf-dropdown .mat-select-arrow-wrapper{transform:translatey(-.5em)}"],changeDetection:0}),e}(),WZ=r(25430),qZ=r(39053),XZ=r(26202),YZ=["tooltipTemplate"],KZ=["leftOuterSelectionBar"],$Z=["rightOuterSelectionBar"],QZ=["fullBar"],ZZ=["selectionBar"],JZ=["minHandle"],eJ=["maxHandle"],tJ=["floorLabel"],nJ=["ceilLabel"],iJ=["minHandleLabel"],rJ=["maxHandleLabel"],oJ=["combinedLabel"],aJ=["ticksElement"];function sJ(e,t){if(1&e&&Is(0,"ng5-slider-tooltip-wrapper",31),2&e){var n=Ws().$implicit;Ts("template",Ws().tooltipTemplate)("tooltip",n.valueTooltip)("placement",n.valueTooltipPlacement)("content",n.value)}}function uJ(e,t){1&e&&Is(0,"span",32),2&e&&Ts("innerHTML",Ws().$implicit.legend,qr)}var cJ=function(e){return{"ng5-slider-selected":e}};function lJ(e,t){if(1&e&&(As(0,"span",27),Is(1,"ng5-slider-tooltip-wrapper",28),Cs(2,sJ,1,4,"ng5-slider-tooltip-wrapper",29),Cs(3,uJ,1,1,"span",30),Ms()),2&e){var n=t.$implicit,i=Ws();Ts("ngClass",$c(7,cJ,n.selected))("ngStyle",n.style),Yo(1),Ts("template",i.tooltipTemplate)("tooltip",n.tooltip)("placement",n.tooltipPlacement),Yo(1),Ts("ngIf",null!=n.value),Yo(1),Ts("ngIf",null!=n.legend)}}function hJ(e,t){}function dJ(e,t){1&e&&Cs(0,hJ,0,0,"ng-template")}var fJ=function(e,t,n){return{tooltip:e,placement:t,content:n}};function pJ(e,t){if(1&e&&(Rs(0),Cs(1,dJ,1,0,void 0,1),Ds()),2&e){var n=Ws();Yo(1),Ts("ngTemplateOutlet",n.template)("ngTemplateOutletContext",function(e,t,n,i,r,o){return function(e,t,n,i,r,o,a,s){var u=t+n;return function(e,t,n,i,r){var o=ws(e,t,n,i);return _s(e,t+2,r)||o}(e,u,r,o,a)?bs(e,u+3,s?i.call(s,r,o,a):i(r,o,a)):Qc(e,u+3)}(mn(),On(),e,t,n,i,r,o)}(2,fJ,n.tooltip,n.placement,n.content))}}function vJ(e,t){if(1&e&&(Rs(0),As(1,"div",2),Cu(2),Ms(),Ds()),2&e){var n=Ws();Yo(1),ks("title",n.tooltip)("data-tooltip-placement",n.placement),Yo(1),Ou(" ",n.content," ")}}var gJ={Min:0,Max:1};gJ[gJ.Min]="Min",gJ[gJ.Max]="Max";var mJ={Low:0,High:1,Floor:2,Ceil:3,TickValue:4};mJ[mJ.Low]="Low",mJ[mJ.High]="High",mJ[mJ.Floor]="Floor",mJ[mJ.Ceil]="Ceil",mJ[mJ.TickValue]="TickValue";var yJ=function e(){m(this,e),this.floor=0,this.ceil=null,this.step=1,this.minRange=null,this.maxRange=null,this.pushRange=!1,this.minLimit=null,this.maxLimit=null,this.translate=null,this.combineLabels=null,this.getLegend=null,this.stepsArray=null,this.bindIndexForStepsArray=!1,this.draggableRange=!1,this.draggableRangeOnly=!1,this.showSelectionBar=!1,this.showSelectionBarEnd=!1,this.showSelectionBarFromValue=null,this.showOuterSelectionBars=!1,this.hidePointerLabels=!1,this.hideLimitLabels=!1,this.autoHideLimitLabels=!0,this.readOnly=!1,this.disabled=!1,this.mouseEventsInterval=50,this.touchEventsInterval=50,this.inputEventsInterval=100,this.outputEventsInterval=100,this.showTicks=!1,this.showTicksValues=!1,this.tickStep=null,this.tickValueStep=1,this.ticksArray=null,this.ticksTooltip=null,this.ticksValuesTooltip=null,this.vertical=!1,this.getSelectionBarColor=null,this.getTickColor=null,this.getPointerColor=null,this.keyboardSupport=!0,this.scale=1,this.enforceStep=!0,this.enforceRange=!0,this.noSwitching=!1,this.onlyBindHandles=!1,this.rightToLeft=!1,this.reversedControls=!1,this.boundPointerLabels=!0,this.logScale=!1,this.customValueToPosition=null,this.customPositionToValue=null,this.precisionLimit=12,this.selectionBarGradient=null,this.ariaLabel=null,this.ariaLabelledBy=null,this.ariaLabelHigh=null,this.ariaLabelledByHigh=null,this.handleDimension=null,this.barDimension=null,this.animate=!0},bJ=function e(){m(this,e)},_J=function(){function e(){m(this,e)}return b(e,null,[{key:"isNullOrUndefined",value:function(e){return null==e}},{key:"linearValueToPosition",value:function(e,t,n){return(e-t)/(n-t)}},{key:"logValueToPosition",value:function(e,t,n){return((e=Math.log(e))-(t=Math.log(t)))/((n=Math.log(n))-t)}},{key:"linearPositionToValue",value:function(e,t,n){return e*(n-t)+t}},{key:"logPositionToValue",value:function(e,t,n){return t=Math.log(t),n=Math.log(n),Math.exp(e*(n-t)+t)}},{key:"findStepIndex",value:function(e,t){for(var n=t.map(function(t){return Math.abs(e-t.value)}),i=0,r=0;r0&&0===this.dimension)&&(t=!0),this._value=e,this.elemRef.nativeElement.innerHTML=e,t&&this.calculateDimension()}}]),n}(CJ);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(nc),Os(Cc))},e.\u0275dir=Rt({type:e,selectors:[["","ng5SliderLabel",""]],features:[cs]}),e}(),TJ=function e(){m(this,e),this.selected=!1,this.style={},this.tooltip=null,this.tooltipPlacement=null,this.value=null,this.valueTooltip=null,this.valueTooltipPlacement=null,this.legend=null},PJ=function e(){m(this,e),this.active=!1,this.value=0,this.difference=0,this.position=0,this.lowLimit=0,this.highLimit=0},AJ=function(){function e(){m(this,e)}return b(e,null,[{key:"compare",value:function(e,t){return!(_J.isNullOrUndefined(e)&&_J.isNullOrUndefined(t)||_J.isNullOrUndefined(e)!==_J.isNullOrUndefined(t))&&e.value===t.value&&e.highValue===t.highValue}}]),e}(),MJ=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,null,[{key:"compare",value:function(e,t){return!(_J.isNullOrUndefined(e)&&_J.isNullOrUndefined(t)||_J.isNullOrUndefined(e)!==_J.isNullOrUndefined(t))&&e.value===t.value&&e.highValue===t.highValue&&e.forceChange===t.forceChange}}]),n}(AJ),IJ={provide:Hz,useExisting:He(function(){return RJ}),multi:!0},RJ=function(){var e=function(){function e(t,n,i,r){m(this,e),this.renderer=t,this.elementRef=n,this.changeDetectionRef=i,this.zone=r,this.value=null,this.valueChange=new ol,this.highValue=null,this.highValueChange=new ol,this.options=new yJ,this.userChangeStart=new ol,this.userChange=new ol,this.userChangeEnd=new ol,this.initHasRun=!1,this.inputModelChangeSubject=new WZ.xQ,this.inputModelChangeSubscription=null,this.outputModelChangeSubject=new WZ.xQ,this.outputModelChangeSubscription=null,this.viewLowValue=null,this.viewHighValue=null,this.viewOptions=new yJ,this.handleHalfDimension=0,this.maxHandlePosition=0,this.currentTrackingPointer=null,this.currentFocusPointer=null,this.firstKeyDown=!1,this.touchId=null,this.dragging=new PJ,this.sliderElementVerticalClass=!1,this.sliderElementAnimateClass=!1,this.sliderElementDisabledAttr=null,this.barStyle={},this.minPointerStyle={},this.maxPointerStyle={},this.fullBarTransparentClass=!1,this.selectionBarDraggableClass=!1,this.ticksUnderValuesClass=!1,this.intermediateTicks=!1,this.ticks=[],this.eventListenerHelper=null,this.onMoveEventListener=null,this.onEndEventListener=null,this.resizeObserver=null,this.onTouchedCallback=null,this.onChangeCallback=null,this.eventListenerHelper=new SJ(this.renderer)}return b(e,[{key:"manualRefresh",set:function(e){var t=this;this.unsubscribeManualRefresh(),this.manualRefreshSubscription=e.subscribe(function(){setTimeout(function(){return t.calculateViewDimensionsAndDetectChanges()})})}},{key:"triggerFocus",set:function(e){var t=this;this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=e.subscribe(function(e){t.focusPointer(e)})}},{key:"range",get:function(){return!_J.isNullOrUndefined(this.value)&&!_J.isNullOrUndefined(this.highValue)}},{key:"showTicks",get:function(){return this.viewOptions.showTicks}},{key:"ngOnInit",value:function(){this.viewOptions=new yJ,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState()}},{key:"ngAfterViewInit",value:function(){this.applyOptions(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval),this.subscribeOutputModelChangeSubject(this.viewOptions.outputEventsInterval),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}},{key:"ngOnChanges",value:function(e){_J.isNullOrUndefined(e.options)||this.onChangeOptions(),(!_J.isNullOrUndefined(e.value)||!_J.isNullOrUndefined(e.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}},{key:"ngOnDestroy",value:function(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}},{key:"writeValue",value:function(e){e instanceof Array?(this.value=e[0],this.highValue=e[1]):this.value=e,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}},{key:"registerOnChange",value:function(e){this.onChangeCallback=e}},{key:"registerOnTouched",value:function(e){this.onTouchedCallback=e}},{key:"setDisabledState",value:function(e){this.viewOptions.disabled=e,this.updateDisabledState()}},{key:"onResize",value:function(e){this.calculateViewDimensionsAndDetectChanges()}},{key:"subscribeInputModelChangeSubject",value:function(e){var t=this;this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe((0,qZ.distinctUntilChanged)(MJ.compare),(0,qZ.filter)(function(e){return!e.forceChange&&!e.internalChange}),_J.isNullOrUndefined(e)?(0,qZ.tap)(function(){}):(0,qZ.throttleTime)(e,void 0,{leading:!0,trailing:!0})).subscribe(function(e){return t.applyInputModelChange(e)})}},{key:"subscribeOutputModelChangeSubject",value:function(e){var t=this;this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe((0,qZ.distinctUntilChanged)(MJ.compare),_J.isNullOrUndefined(e)?(0,qZ.tap)(function(){}):(0,qZ.throttleTime)(e,void 0,{leading:!0,trailing:!0})).subscribe(function(e){return t.publishOutputModelChange(e)})}},{key:"subscribeResizeObserver",value:function(){var e=this;wJ.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(function(){return e.calculateViewDimensionsAndDetectChanges()}),this.resizeObserver.observe(this.elementRef.nativeElement))}},{key:"unsubscribeResizeObserver",value:function(){wJ.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"unsubscribeOnMove",value:function(){_J.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}},{key:"unsubscribeOnEnd",value:function(){_J.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}},{key:"unsubscribeInputModelChangeSubject",value:function(){_J.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}},{key:"unsubscribeOutputModelChangeSubject",value:function(){_J.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}},{key:"unsubscribeManualRefresh",value:function(){_J.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}},{key:"unsubscribeTriggerFocus",value:function(){_J.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}},{key:"getPointerElement",value:function(e){return e===gJ.Min?this.minHandleElement:e===gJ.Max?this.maxHandleElement:null}},{key:"getCurrentTrackingValue",value:function(){return this.currentTrackingPointer===gJ.Min?this.viewLowValue:this.currentTrackingPointer===gJ.Max?this.viewHighValue:null}},{key:"modelValueToViewValue",value:function(e){return _J.isNullOrUndefined(e)?NaN:_J.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+e:_J.findStepIndex(+e,this.viewOptions.stepsArray)}},{key:"viewValueToModelValue",value:function(e){return _J.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?e:this.getStepValue(e)}},{key:"getStepValue",value:function(e){var t=this.viewOptions.stepsArray[e];return _J.isNullOrUndefined(t)?NaN:t.value}},{key:"applyViewChange",value:function(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!0})}},{key:"applyInputModelChange",value:function(e){var t=this.normaliseModelValues(e),n=!AJ.compare(e,t);n&&(this.value=t.value,this.highValue=t.highValue),this.viewLowValue=this.modelValueToViewValue(t.value),this.viewHighValue=this.range?this.modelValueToViewValue(t.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:t.value,highValue:t.highValue,forceChange:n,userEventInitiated:!1})}},{key:"publishOutputModelChange",value:function(e){var t=this,n=function(){t.valueChange.emit(e.value),t.range&&t.highValueChange.emit(e.highValue),_J.isNullOrUndefined(t.onChangeCallback)||t.onChangeCallback(t.range?[e.value,e.highValue]:e.value),_J.isNullOrUndefined(t.onTouchedCallback)||t.onTouchedCallback(t.range?[e.value,e.highValue]:e.value)};e.userEventInitiated?(n(),this.userChange.emit(this.getChangeContext())):setTimeout(function(){n()})}},{key:"normaliseModelValues",value:function(e){var t=new AJ;if(t.value=e.value,t.highValue=e.highValue,this.viewOptions.enforceStep&&(t.value=this.roundStep(t.value),this.range&&(t.highValue=this.roundStep(t.highValue))),!_J.isNullOrUndefined(this.viewOptions.stepsArray)||!this.viewOptions.enforceRange)return t;if(t.value=kJ.clampToRange(t.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(t.highValue=kJ.clampToRange(t.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&e.value>e.highValue)if(this.viewOptions.noSwitching)t.value=t.highValue;else{var n=e.value;t.value=e.highValue,t.highValue=n}return t}},{key:"renormaliseModelValues",value:function(){var e={value:this.value,highValue:this.highValue},t=this.normaliseModelValues(e);AJ.compare(t,e)||(this.value=t.value,this.highValue=t.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!0,userEventInitiated:!1}))}},{key:"onChangeOptions",value:function(){if(this.initHasRun){var e=this.viewOptions.inputEventsInterval,t=this.viewOptions.outputEventsInterval;this.applyOptions(),e!==this.viewOptions.inputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval)),t!==this.viewOptions.outputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.outputEventsInterval)),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider()}}},{key:"applyOptions",value:function(){if(this.viewOptions=new yJ,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!_J.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!_J.isNullOrUndefined(this.viewOptions.tickStep)||!_J.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!_J.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),_J.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),_J.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=function(e,t){return e+" - "+t}),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}},{key:"applyStepsArrayOptions",value:function(){var e=this;this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,_J.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=function(t){return String(e.viewOptions.bindIndexForStepsArray?e.getStepValue(t):t)}),this.viewOptions.getLegend=function(t){return e.viewOptions.stepsArray[t].legend}}},{key:"applyFloorCeilOptions",value:function(){if(_J.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),_J.isNullOrUndefined(this.viewOptions.ceil)||_J.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,_J.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=function(e){return String(e)})}},{key:"resetSlider",value:function(){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.unbindEvents(),this.manageEventsBindings(),this.updateDisabledState(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}},{key:"focusPointer",value:function(e){e!==gJ.Min&&e!==gJ.Max&&(e=gJ.Min),e===gJ.Min?this.minHandleElement.focus():this.range&&e===gJ.Max&&this.maxHandleElement.focus()}},{key:"refocusPointerIfNeeded",value:function(){_J.isNullOrUndefined(this.currentFocusPointer)||(this.onPointerFocus(this.currentFocusPointer),this.getPointerElement(this.currentFocusPointer).focus())}},{key:"manageElementsStyle",value:function(){var e=this;this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);var t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(function(){e.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(function(){e.sliderElementAnimateClass=e.viewOptions.animate})}},{key:"manageEventsBindings",value:function(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}},{key:"updateDisabledState",value:function(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}},{key:"updateVerticalState",value:function(){this.sliderElementVerticalClass=this.viewOptions.vertical;var e,t=_(this.getAllSliderElements());try{for(t.s();!(e=t.n()).done;){var n=e.value;_J.isNullOrUndefined(n)||n.setVertical(this.viewOptions.vertical)}}catch(i){t.e(i)}finally{t.f()}}},{key:"updateScale",value:function(){var e,t=_(this.getAllSliderElements());try{for(t.s();!(e=t.n()).done;){e.value.setScale(this.viewOptions.scale)}}catch(n){t.e(n)}finally{t.f()}}},{key:"getAllSliderElements",value:function(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}},{key:"initHandles",value:function(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}},{key:"addAccessibility",value:function(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.viewOptions.vertical&&(this.minHandleElement.ariaOrientation="vertical"),_J.isNullOrUndefined(this.viewOptions.ariaLabel)?_J.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical?"vertical":"horizontal",_J.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?_J.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}},{key:"updateAriaAttributes",value:function(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,mJ.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,mJ.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}},{key:"calculateViewDimensions",value:function(){_J.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);var e=this.minHandleElement.dimension;this.handleHalfDimension=e/2,_J.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-e,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}},{key:"calculateViewDimensionsAndDetectChanges",value:function(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}},{key:"isRefDestroyed",value:function(){return this.changeDetectionRef.destroyed}},{key:"updateTicksScale",value:function(){var e=this;if(this.viewOptions.showTicks){var t=_J.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,n=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();var i=t.map(function(t){var i=e.valueToPosition(t);e.viewOptions.vertical&&(i=e.maxHandlePosition-i);var r=n+"("+Math.round(i)+"px)",o=new TJ;if(o.selected=e.isTickSelected(t),o.style={"-webkit-transform":r,"-moz-transform":r,"-o-transform":r,"-ms-transform":r,transform:r},o.selected&&!_J.isNullOrUndefined(e.viewOptions.getSelectionBarColor)&&(o.style["background-color"]=e.getSelectionBarColor()),!o.selected&&!_J.isNullOrUndefined(e.viewOptions.getTickColor)&&(o.style["background-color"]=e.getTickColor(t)),_J.isNullOrUndefined(e.viewOptions.ticksTooltip)||(o.tooltip=e.viewOptions.ticksTooltip(t),o.tooltipPlacement=e.viewOptions.vertical?"right":"top"),e.viewOptions.showTicksValues&&t%e.viewOptions.tickValueStep==0&&(o.value=e.getDisplayValue(t,mJ.TickValue),_J.isNullOrUndefined(e.viewOptions.ticksValuesTooltip)||(o.valueTooltip=e.viewOptions.ticksValuesTooltip(t),o.valueTooltipPlacement=e.viewOptions.vertical?"right":"top")),!_J.isNullOrUndefined(e.viewOptions.getLegend)){var a=e.viewOptions.getLegend(t);_J.isNullOrUndefined(a)||(o.legend=a)}return o});if(_J.isNullOrUndefined(this.ticks)||this.ticks.length!==i.length)this.ticks=i;else for(var r=0;r=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&e<=this.viewLowValue)return!0}else{var t=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>t&&e>=t&&e<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&e>=this.viewLowValue&&e<=this.viewHighValue)}},{key:"updateFloorLabel",value:function(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,mJ.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}},{key:"updateCeilLabel",value:function(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,mJ.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}},{key:"updateHandles",value:function(e,t){e===gJ.Min?this.updateLowHandle(t):e===gJ.Max&&this.updateHighHandle(t),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}},{key:"getHandleLabelPos",value:function(e,t){var n=e===gJ.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,i=t-n/2+this.handleHalfDimension,r=this.fullBarElement.dimension-n;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&e===gJ.Min||!this.viewOptions.rightToLeft&&e===gJ.Max?Math.min(i,r):Math.min(Math.max(i,0),r):i}},{key:"updateLowHandle",value:function(e){this.minHandleElement.setPosition(e),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,mJ.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(gJ.Min,e)),_J.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(gJ.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}},{key:"updateHighHandle",value:function(e){this.maxHandleElement.setPosition(e),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,mJ.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(gJ.Max,e)),_J.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(gJ.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}},{key:"updateFloorAndCeilLabelsVisibility",value:function(){if(!this.viewOptions.hidePointerLabels){var e=!1,t=!1,n=this.isLabelBelowFloorLabel(this.minHandleLabelElement),i=this.isLabelAboveCeilLabel(this.minHandleLabelElement),r=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),o=this.isLabelBelowFloorLabel(this.combinedLabelElement),a=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(n?(e=!0,this.floorLabelElement.hide()):(e=!1,this.floorLabelElement.show()),i?(t=!0,this.ceilLabelElement.hide()):(t=!1,this.ceilLabelElement.show()),this.range){var s=this.combinedLabelElement.isVisible()?a:r,u=this.combinedLabelElement.isVisible()?o:n;s?this.ceilLabelElement.hide():t||this.ceilLabelElement.show(),u?this.floorLabelElement.hide():e||this.floorLabelElement.show()}}}},{key:"isLabelBelowFloorLabel",value:function(e){var t=e.position,n=this.floorLabelElement.position;return this.viewOptions.rightToLeft?t+e.dimension>=n-2:t<=n+this.floorLabelElement.dimension+2}},{key:"isLabelAboveCeilLabel",value:function(e){var t=e.position,n=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?t<=n+this.ceilLabelElement.dimension+2:t+e.dimension>=n-2}},{key:"updateSelectionBar",value:function(){var e=0,t=0,n=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,i=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)t=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),e=i;else if(_J.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))n?(t=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),e=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(t=this.minHandleElement.position+this.handleHalfDimension,e=0);else{var r=this.viewOptions.showSelectionBarFromValue,o=this.valueToPosition(r);(this.viewOptions.rightToLeft?this.viewLowValue<=r:this.viewLowValue>r)?(t=this.minHandleElement.position-o,e=o+this.handleHalfDimension):(t=o-this.minHandleElement.position,e=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(t),this.selectionBarElement.setPosition(e),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(e),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(e+t)),this.leftOuterSelectionBarElement.setPosition(e+t)):(this.leftOuterSelectionBarElement.setDimension(e),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(e+t)),this.rightOuterSelectionBarElement.setPosition(e+t))),_J.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!_J.isNullOrUndefined(this.viewOptions.selectionBarGradient)){var a=_J.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),s=a-e>0&&!n||a-e<=0&&n;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?s?"bottom":"top":s?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(a+t+e+(s?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=a-e+(s?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{var u=this.getSelectionBarColor();this.barStyle={backgroundColor:u}}}},{key:"getSelectionBarColor",value:function(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}},{key:"getPointerColor",value:function(e){return this.viewOptions.getPointerColor(e===gJ.Max?this.highValue:this.value,e)}},{key:"getTickColor",value:function(e){return this.viewOptions.getTickColor(e)}},{key:"updateCombinedLabel",value:function(){if(this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position){var e=this.getDisplayValue(this.viewLowValue,mJ.Low),t=this.getDisplayValue(this.viewHighValue,mJ.High),n=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(t,e):this.viewOptions.combineLabels(e,t);this.combinedLabelElement.setValue(n);var i=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(i),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}},{key:"getDisplayValue",value:function(e,t){return!_J.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(e=this.getStepValue(e)),this.viewOptions.translate(e,t)}},{key:"roundStep",value:function(e,t){var n=_J.isNullOrUndefined(t)?this.viewOptions.step:t,i=kJ.roundToPrecisionLimit((e-this.viewOptions.floor)/n,this.viewOptions.precisionLimit);return i=Math.round(i)*n,kJ.roundToPrecisionLimit(this.viewOptions.floor+i,this.viewOptions.precisionLimit)}},{key:"valueToPosition",value:function(e){var t=_J.linearValueToPosition;_J.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(t=_J.logValueToPosition):t=this.viewOptions.customValueToPosition;var n=t(e=kJ.clampToRange(e,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return _J.isNullOrUndefined(n)&&(n=0),this.viewOptions.rightToLeft&&(n=1-n),n*this.maxHandlePosition}},{key:"positionToValue",value:function(e){var t=e/this.maxHandlePosition;this.viewOptions.rightToLeft&&(t=1-t);var n=_J.linearPositionToValue;_J.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(n=_J.logPositionToValue):n=this.viewOptions.customPositionToValue;var i=n(t,this.viewOptions.floor,this.viewOptions.ceil);return _J.isNullOrUndefined(i)?0:i}},{key:"getEventXY",value:function(e,t){if(e instanceof MouseEvent)return this.viewOptions.vertical?e.clientY:e.clientX;var n=0,i=e.touches;if(!_J.isNullOrUndefined(t))for(var r=0;ri?gJ.Max:this.viewOptions.rightToLeft?t>this.minHandleElement.position?gJ.Min:gJ.Max:t=this.maxHandlePosition?o=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(o=this.positionToValue(a),o=t&&!_J.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(o,this.viewOptions.tickStep):this.roundStep(o)),this.positionTrackingHandle(o)}},{key:"onEnd",value:function(e){wJ.isTouchEvent(e)&&e.changedTouches[0].identifier!==this.touchId||(this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext()))}},{key:"onPointerFocus",value:function(e){var t=this,n=this.getPointerElement(e);n.on("blur",function(){return t.onPointerBlur(n)}),n.on("keydown",function(e){return t.onKeyboardEvent(e)}),n.on("keyup",function(){return t.onKeyUp()}),n.active=!0,this.currentTrackingPointer=e,this.currentFocusPointer=e,this.firstKeyDown=!0}},{key:"onKeyUp",value:function(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}},{key:"onPointerBlur",value:function(e){e.off("blur"),e.off("keydown"),e.off("keyup"),e.active=!1,_J.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}},{key:"getKeyActions",value:function(e){var t=this.viewOptions.ceil-this.viewOptions.floor,n=e+this.viewOptions.step,i=e-this.viewOptions.step,r=e+t/10,o=e-t/10;this.viewOptions.reversedControls&&(n=e-this.viewOptions.step,i=e+this.viewOptions.step,r=e-t/10,o=e+t/10);var a={UP:n,DOWN:i,LEFT:i,RIGHT:n,PAGEUP:r,PAGEDOWN:o,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(a.LEFT=n,a.RIGHT=i,this.viewOptions.vertical&&(a.UP=i,a.DOWN=n)),a}},{key:"onKeyboardEvent",value:function(e){var t=this.getCurrentTrackingValue(),n=_J.isNullOrUndefined(e.keyCode)?e.which:e.keyCode,i=this.getKeyActions(t)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[n]];if(!_J.isNullOrUndefined(i)&&!_J.isNullOrUndefined(this.currentTrackingPointer)){e.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));var r=kJ.clampToRange(i,this.viewOptions.floor,this.viewOptions.ceil),o=this.roundStep(r);if(this.viewOptions.draggableRangeOnly){var a,s,u=this.viewHighValue-this.viewLowValue;this.currentTrackingPointer===gJ.Min?(a=o,(s=o+u)>this.viewOptions.ceil&&(a=(s=this.viewOptions.ceil)-u)):this.currentTrackingPointer===gJ.Max&&(s=o,(a=o-u)=this.maxHandlePosition-t;if(o<=n){if(0===i.position)return;a=this.getMinValue(o,!0,!1),s=this.getMaxValue(o,!0,!1)}else if(u){if(r.position===this.maxHandlePosition)return;s=this.getMaxValue(o,!0,!0),a=this.getMinValue(o,!0,!0)}else a=this.getMinValue(o,!1,!1),s=this.getMaxValue(o,!1,!1);this.positionTrackingBar(a,s)}},{key:"positionTrackingBar",value:function(e,t){!_J.isNullOrUndefined(this.viewOptions.minLimit)&&ethis.viewOptions.maxLimit&&(e=kJ.roundToPrecisionLimit((t=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=e,this.viewHighValue=t,this.applyViewChange(),this.updateHandles(gJ.Min,this.valueToPosition(e)),this.updateHandles(gJ.Max,this.valueToPosition(t))}},{key:"positionTrackingHandle",value:function(e){e=this.applyMinMaxLimit(e),this.range&&(this.viewOptions.pushRange?e=this.applyPushRange(e):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===gJ.Min&&e>this.viewHighValue?e=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===gJ.Max&&ethis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(gJ.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=gJ.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===gJ.Max&&ethis.viewOptions.maxLimit?this.viewOptions.maxLimit:e}},{key:"applyMinMaxRange",value:function(e){var t=Math.abs(e-(this.currentTrackingPointer===gJ.Min?this.viewHighValue:this.viewLowValue));if(!_J.isNullOrUndefined(this.viewOptions.minRange)&&tthis.viewOptions.maxRange){if(this.currentTrackingPointer===gJ.Min)return kJ.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===gJ.Max)return kJ.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return e}},{key:"applyPushRange",value:function(e){var t=this.currentTrackingPointer===gJ.Min?this.viewHighValue-e:e-this.viewLowValue,n=_J.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,i=this.viewOptions.maxRange;return ti&&(this.currentTrackingPointer===gJ.Min?(this.viewHighValue=kJ.roundToPrecisionLimit(e+i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(gJ.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===gJ.Max&&(this.viewLowValue=kJ.roundToPrecisionLimit(e-i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(gJ.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),e}},{key:"getChangeContext",value:function(){var e=new bJ;return e.pointerType=this.currentTrackingPointer,e.value=+this.value,this.range&&(e.highValue=+this.highValue),e}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(nc),Os(Ju),Os(Cc),Os(Xl))},e.\u0275cmp=Ot({type:e,selectors:[["ng5-slider"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,YZ,5),2&e)&&(ml(i=_l())&&(t.tooltipTemplate=i.first))},viewQuery:function(e,t){var n;(1&e&&(yl(KZ,5,CJ),yl($Z,5,CJ),yl(QZ,5,CJ),yl(ZZ,5,CJ),yl(JZ,5,EJ),yl(eJ,5,EJ),yl(tJ,5,OJ),yl(nJ,5,OJ),yl(iJ,5,OJ),yl(rJ,5,OJ),yl(oJ,5,OJ),yl(aJ,5,CJ)),2&e)&&(ml(n=_l())&&(t.leftOuterSelectionBarElement=n.first),ml(n=_l())&&(t.rightOuterSelectionBarElement=n.first),ml(n=_l())&&(t.fullBarElement=n.first),ml(n=_l())&&(t.selectionBarElement=n.first),ml(n=_l())&&(t.minHandleElement=n.first),ml(n=_l())&&(t.maxHandleElement=n.first),ml(n=_l())&&(t.floorLabelElement=n.first),ml(n=_l())&&(t.ceilLabelElement=n.first),ml(n=_l())&&(t.minHandleLabelElement=n.first),ml(n=_l())&&(t.maxHandleLabelElement=n.first),ml(n=_l())&&(t.combinedLabelElement=n.first),ml(n=_l())&&(t.ticksElement=n.first))},hostAttrs:[1,"ng5-slider"],hostVars:5,hostBindings:function(e,t){1&e&&Vs("resize",function(e){return t.onResize(e)},!1,io),2&e&&(ks("disabled",t.sliderElementDisabledAttr),cu("vertical",t.sliderElementVerticalClass)("animate",t.sliderElementAnimateClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},features:[Xu([IJ]),qt],decls:29,vars:13,consts:[["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-left-out-selection"],["leftOuterSelectionBar",""],[1,"ng5-slider-span","ng5-slider-bar"],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-right-out-selection"],["rightOuterSelectionBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-full-bar"],["fullBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-selection-bar"],["selectionBar",""],[1,"ng5-slider-span","ng5-slider-bar","ng5-slider-selection",3,"ngStyle"],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-min",3,"ngStyle"],["minHandle",""],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-max",3,"ngStyle"],["maxHandle",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-floor"],["floorLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-ceil"],["ceilLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-value"],["minHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-high"],["maxHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-combined"],["combinedLabel",""],["ng5SliderElement","",1,"ng5-slider-ticks",3,"hidden"],["ticksElement",""],["class","ng5-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ng5-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ng5-slider-span ng5-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ng5-slider-span ng5-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ng5-slider-span","ng5-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ng5-slider-span","ng5-slider-tick-legend",3,"innerHTML"]],template:function(e,t){1&e&&(As(0,"span",0,1),Is(2,"span",2),Ms(),As(3,"span",3,4),Is(5,"span",2),Ms(),As(6,"span",5,6),Is(8,"span",2),Ms(),As(9,"span",7,8),Is(11,"span",9),Ms(),Is(12,"span",10,11),Is(14,"span",12,13),Is(16,"span",14,15),Is(18,"span",16,17),Is(20,"span",18,19),Is(22,"span",20,21),Is(24,"span",22,23),As(26,"span",24,25),Cs(28,lJ,4,9,"span",26),Ms()),2&e&&(Yo(6),cu("ng5-slider-transparent",t.fullBarTransparentClass),Yo(3),cu("ng5-slider-draggable",t.selectionBarDraggableClass),Yo(2),Ts("ngStyle",t.barStyle),Yo(1),Ts("ngStyle",t.minPointerStyle),Yo(2),uu("display",t.range?"inherit":"none"),Ts("ngStyle",t.maxPointerStyle),Yo(12),cu("ng5-slider-ticks-values-under",t.ticksUnderValuesClass),Ts("hidden",!t.showTicks),Yo(2),Ts("ngForOf",t.ticks))},directives:function(){return[CJ,td,EJ,OJ,qh,Gh,DJ,Yh]},styles:[".ng5-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y} .ng5-slider.with-legend{margin-bottom:40px} .ng5-slider[disabled]{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ng5-slider[disabled] .ng5-slider-draggable{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-selection{background:#8b91a2} .ng5-slider[disabled] .ng5-slider-tick{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-tick.ng5-slider-selected{background:#8b91a2} .ng5-slider .ng5-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ng5-slider .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider .ng5-slider-bar-wrapper{left:0;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ng5-slider .ng5-slider-draggable{cursor:move} .ng5-slider .ng5-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;border-radius:2px} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-transparent .ng5-slider-bar{background:0 0} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-left-out-selection .ng5-slider-bar{background:#df002d} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-right-out-selection .ng5-slider-bar{background:#03a688} .ng5-slider .ng5-slider-selection{z-index:2;background:#0db9f0;border-radius:2px} .ng5-slider .ng5-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;border-radius:16px} .ng5-slider .ng5-slider-pointer:after{content:'';width:8px;height:8px;position:absolute;top:12px;left:12px;border-radius:4px;background:#fff} .ng5-slider .ng5-slider-pointer:hover:after{background-color:#fff} .ng5-slider .ng5-slider-pointer.ng5-slider-active{z-index:4} .ng5-slider .ng5-slider-pointer.ng5-slider-active:after{background-color:#451aff} .ng5-slider .ng5-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ng5-slider .ng5-slider-bubble.ng5-slider-limit{color:#55637d} .ng5-slider .ng5-slider-ticks{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ng5-slider .ng5-slider-ticks-values-under .ng5-slider-tick-value{top:auto;bottom:-36px} .ng5-slider .ng5-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ng5-slider .ng5-slider-tick.ng5-slider-selected{background:#0db9f0} .ng5-slider .ng5-slider-tick-value{position:absolute;top:-34px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)} .ng5-slider .ng5-slider-tick-legend{position:absolute;top:24px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);max-width:50px;white-space:normal} .ng5-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;-ms-touch-action:pan-x;touch-action:pan-x} .ng5-slider.vertical .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider.vertical .ng5-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ng5-slider.vertical .ng5-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ng5-slider.vertical .ng5-slider-pointer{left:-14px!important;top:auto;bottom:0} .ng5-slider.vertical .ng5-slider-bubble{left:16px!important;bottom:0} .ng5-slider.vertical .ng5-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ng5-slider.vertical .ng5-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ng5-slider.vertical .ng5-slider-tick-value{left:24px;top:auto;-webkit-transform:translate(0,-28%);transform:translate(0,-28%)} .ng5-slider.vertical .ng5-slider-tick-legend{top:auto;right:24px;-webkit-transform:translate(0,-28%);transform:translate(0,-28%);max-width:none;white-space:nowrap} .ng5-slider.vertical .ng5-slider-ticks-values-under .ng5-slider-tick-value{bottom:auto;left:auto;right:24px} .ng5-slider *{-webkit-transition:none;transition:none} .ng5-slider.animate .ng5-slider-bar-wrapper{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-selection{-webkit-transition:background-color linear .3s;transition:background-color linear .3s} .ng5-slider.animate .ng5-slider-pointer{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-limit{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-combined{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-tick{-webkit-transition:background-color linear .3s;transition:background-color linear .3s}"]}),e}(),DJ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ng5-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng5-slider-inner-tooltip"]],template:function(e,t){1&e&&(Cs(0,pJ,2,6,"ng-container",0),Cs(1,vJ,3,3,"ng-container",0)),2&e&&(Ts("ngIf",t.template),Yo(1),Ts("ngIf",!t.template))},directives:[Yh,nd],styles:[".ng5-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]}),e}(),NJ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd]]}),e}(),LJ=["popover"];function jJ(e,t){if(1&e){var n=Ls();As(0,"div",7,8),As(2,"div"),As(3,"div",9),Cu(4),Ms(),As(5,"input",10),Vs("keyup",function(e){return bn(n),Ws().onKeyLow(e)}),Ms(),Ms(),As(6,"ng5-slider",11),Vs("valueChange",function(e){return bn(n),Ws().lowValue=e})("highValueChange",function(e){return bn(n),Ws().highValue=e})("userChangeEnd",function(){return bn(n),Ws().sliderValueChanged()}),Ms(),As(7,"div"),As(8,"div",12),Cu(9),Ms(),As(10,"input",13),Vs("keyup",function(e){return bn(n),Ws().onKeyHigh(e)}),Ms(),Ms(),Ms()}if(2&e){var i=Ws();Yo(2),Pu("label min fade-in ",i.contentsVisible,""),Yo(2),Ou(" ",i.options.floor,"> "),Yo(1),Ks("value",i.lowValue),Yo(1),Pu("slider fade-in ",i.contentsVisible,""),Ts("options",i.options)("value",i.lowValue)("highValue",i.highValue),Yo(1),Pu("label max fade-in ",i.contentsVisible,""),Yo(2),Ou(" ",i.options.ceil," "),Yo(1),Ks("value",i.highValue)}}var FJ=function(){var e=function(){function e(t,n,i){m(this,e),this.element=n,this.ga=i,this.selectionChange=new ol,this.isSliderOpen=!1,this.contentsVisible="invisible",this.isSliderInitialized=!1;var r=t.position().flexibleConnectedTo(n).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"}]);this.overlayRef=t.create({panelClass:"slider-pane",positionStrategy:r})}return b(e,[{key:"rangeLabel",get:function(){var e=this.lowValue,t=this.highValue;return e===t?"".concat(e):"".concat(e,"-").concat(t)}},{key:"ngOnChanges",value:function(e){e.valueRange&&this.optionsChanged(),e.selection&&(this.lowValue=Math.min.apply(Math,v(this.selection)),this.highValue=Math.max.apply(Math,v(this.selection)))}},{key:"optionsChanged",value:function(){var e,t;this.options={floor:this.valueRange?this.valueRange[0]:0,ceil:this.valueRange?this.valueRange[1]:0,step:1,hideLimitLabels:!0,hidePointerLabels:!0},this.lowValue=null!==(e=this.options.floor)&&void 0!==e?e:0,this.highValue=null!==(t=this.options.ceil)&&void 0!==t?t:0}},{key:"ngOnDestroy",value:function(){this.overlayRef.dispose()}},{key:"closeSliderPopover",value:function(e){var t,n,i=this.element,r=this.isSliderOpen,o=this.popoverElement;r&&(i.nativeElement.contains(e)||(null===(n=null===(t=null==o?void 0:o.nativeElement)||void 0===t?void 0:t.contains)||void 0===n?void 0:n.call(t,e))||(this.overlayRef.detach(),this.isSliderInitialized=!1,this.isSliderOpen=!1,this.contentsVisible="invisible"))}},{key:"toggleSliderPopover",value:function(){var e=this.isSliderOpen,t=this.isSliderInitialized;t?(this.overlayRef.detach(),this.isSliderInitialized=!1):!t&&!e&&this.initializeSliderPopover(),this.contentsVisible="visible"===this.contentsVisible?"invisible":"visible",this.isSliderOpen=!e}},{key:"sliderValueChanged",value:function(){var e=this.lowValue,t=this.highValue;this.selection=[e,t],this.ga.event("slider_range_change","dual_slider","".concat(this.label,":").concat(e,":").concat(t)),this.selectionChange.emit(this.selection)}},{key:"initializeSliderPopover",value:function(){var e=this.overlayRef,t=this.popoverPortal;e.attach(t),e.updatePosition(),this.isSliderInitialized=!0}},{key:"onKeyLow",value:function(e){var t=Number(e.target.value);"Enter"===e.key&&(t>=Number(this.options.floor)&&t<=Number(this.options.ceil)&&(this.lowValue=t),e.target.value=String(this.lowValue),e.target.blur(),this.sliderValueChanged())}},{key:"onKeyHigh",value:function(e){var t=Number(e.target.value);"Enter"===e.key&&(t>=Number(this.options.floor)&&t<=Number(this.options.ceil)&&(this.highValue=t),e.target.value=String(this.highValue),e.target.blur(),this.sliderValueChanged())}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(Ju),Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-dual-slider"]],viewQuery:function(e,t){var n;(1&e&&(yl(vp,7),yl(LJ,5,Ju)),2&e)&&(ml(n=_l())&&(t.popoverPortal=n.first),ml(n=_l())&&(t.popoverElement=n.first))},hostBindings:function(e,t){1&e&&Vs("click",function(e){return t.closeSliderPopover(e.target)},!1,ro)("touchstart",function(e){return t.closeSliderPopover(e.target)},!1,ro)},inputs:{label:"label",valueRange:"valueRange",selection:"selection"},outputs:{selectionChange:"selectionChange"},features:[qt],decls:10,vars:4,consts:[[1,"ccf-slider","wrapper"],[1,"container"],["class","ccf-slider detached",4,"cdk-portal"],[1,"slider-form-field",3,"click"],[1,"slider-labels"],[1,"name-label"],[1,"range-label"],[1,"ccf-slider","detached"],["popover",""],[1,"label","floor"],["type","text",1,"input-low",3,"value","keyup"],[3,"options","value","highValue","valueChange","highValueChange","userChangeEnd"],[1,"label","ceil"],["type","text",1,"input-high",3,"value","keyup"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),Cs(2,jJ,11,16,"div",2),As(3,"mat-form-field",3),Vs("click",function(){return t.toggleSliderPopover()}),As(4,"div",4),As(5,"span",5),Cu(6),Ms(),As(7,"span",6),Cu(8),Ms(),Ms(),Is(9,"mat-select"),Ms(),Ms(),Ms()),2&e&&(Yo(3),cu("highlight",t.isSliderOpen),Yo(3),Eu(t.label),Yo(2),Eu(t.rangeLabel))},directives:[gp,RH,zZ,RJ],styles:[".slider-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;font-size:.875rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.slider-labels[_ngcontent-%COMP%]{display:flex;flex-direction:column}.slider-labels[_ngcontent-%COMP%] .name-label[_ngcontent-%COMP%]{padding-bottom:.25rem}.slider-labels[_ngcontent-%COMP%] .range-label[_ngcontent-%COMP%]{font-weight:bold} .ccf-slider.wrapper .mat-select-arrow-wrapper{transform:translatey(-1.5em)}@-webkit-keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .slider-pane{position:absolute!important;top:-1px}.ccf-slider.detached[_ngcontent-%COMP%]{-webkit-animation:slideInHorizontalSlider .3s;animation:slideInHorizontalSlider .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;display:flex;justify-content:center;align-items:center;width:0rem;height:4.375rem;padding:.75rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] {visibility:hidden;margin-top:.9375rem;margin-bottom:.9375rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-bar{opacity:.2;height:.15rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-selection{opacity:1}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer{width:1rem;height:1rem;top:-.405rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer:after{display:none}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:2rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.min[_ngcontent-%COMP%]{margin-right:1rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%]{margin-left:1rem;align-items:flex-end}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{text-align:right}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .floor[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%]{font-size:.875rem}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border:none;width:1.75rem;font-size:1rem;font-weight:bold;padding:0}"]}),e}();function BJ(e,t){if(1&e){var n=Ls();As(0,"div",4),As(1,"mat-checkbox",5),Vs("change",function(e){var t=bn(n).$implicit;return Ws().filterOnChange(e,t)}),Cu(2),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws();Yo(1),Ts("checked",null==r.selection?null:r.selection.includes(i)),Yo(1),Ou(" ",i," ")}}var VJ,zJ=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.selection=[],this.columns=3,this.selectionChange=new ol}return b(e,[{key:"filterOnChange",value:function(e,t){e.checked?(this.selection=[].concat(v(this.selection),[t]),this.ga.event("filter_added","filter_checkbox",t)):(this.selection=this.selection.filter(function(e){return e!==t}),this.ga.event("filter_removed","filter_checkbox",t)),this.selectionChange.emit(this.selection)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-checkbox"]],inputs:{label:"label",options:"options",selection:"selection",columns:"columns"},outputs:{selectionChange:"selectionChange"},decls:5,vars:6,consts:[[1,"filter-container"],[1,"filter-label"],[1,"options-container"],["class","option",4,"ngFor","ngForOf"],[1,"option"],[3,"checked","change"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),Cu(2),Ms(),As(3,"div",2),Cs(4,BJ,3,2,"div",3),Ms(),Ms()),2&e&&(Yo(2),Eu(t.label),Yo(1),cu("three",3===t.columns)("four",4===t.columns),Yo(1),Ts("ngForOf",t.options))},directives:[qh,e$],styles:[".mat-checkbox.mat-accent .mat-checkbox-checkmark-path{stroke:#fff!important} .mat-checkbox.mat-accent .mat-checkbox-inner-container{margin-right:1rem}.filter-label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}.options-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap}.options-container.three[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:33%}.options-container.four[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:25%}"],changeDetection:0}),e}(),UJ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Really update spatial search data",e}(),HJ=VJ=function(){function e(t,n,i,r){m(this,e),this.dataSource=t,this.store=n,this.ga=r,i.pipe(sz(_Z),_v(500),mv(function(){return n.dispatch(UJ)})).subscribe()}return b(e,[{key:"startSpatialSearchFlow",value:function(e){var t=e.getState(),n=t.sex,i=t.organId,r=null==i?void 0:i.split("/").slice(-1)[0];return this.ga.event("set_organ","spatial_search_ui","".concat(n,"_").concat(r)),e.dispatch(new fZ(n))}},{key:"setSex",value:function(e,t){var n=t.sex,i=e.getState().organId;e.patchState({sex:n}),this.ga.event("set_sex","spatial_search_ui",n),void 0!==i&&!this.organValidForSex(i,n)&&(i=void 0);var r=Object.assign(Object.assign({},this.store.selectSnapshot(OQ.filter)),{spatialSearches:[]}),o=this.store.selectSnapshot(BQ.referenceOrgans);return this.dataSource.getOntologyTermOccurences(r).pipe(_p(1),mv(function(t){e.patchState({referenceOrgans:o.filter(function(e){return e.id&&!e.disabled&&t[e.id]>0})}),e.dispatch(new pZ(i))}))}},{key:"setOrgan",value:function(e,t){var n=t.organId,i=e.getState().sex;e.patchState({sex:i,organId:n});var r=null==n?void 0:n.split("/").slice(-1)[0];this.ga.event("set_organ","spatial_search_ui",r);var o=this.store.selectSnapshot(VJ.organEntity);if(o&&n&&o.sex){var a=o.x_dimension,s=o.y_dimension,u=o.z_dimension,c={x:Math.round(a/2),y:Math.round(s/2),z:Math.round(u/2)},l=Math.round(.07*Math.max(a,s,u)),h=this.store.selectSnapshot(OQ.filter),d=Object.assign(Object.assign({},h),{sex:o.sex,ontologyTerms:[n],spatialSearches:[]});return this.dataSource.getReferenceOrganScene(n,d).pipe(_p(1),mv(function(t){e.patchState({position:c,radius:l,defaultPosition:c,radiusSettings:{min:Math.min(l,5),max:Math.floor(Math.max(a,s,u)/1.5),defaultValue:l},organScene:QY(o).concat(t)})}),ke(function(){return e.dispatch(new _Z)}))}}},{key:"setPosition",value:function(e,t){var n=t.position;e.patchState({position:n}),e.dispatch(new _Z);var i=n.x,r=n.y,o=n.z;this.ga.event("set_position","spatial_search_ui","".concat(i,"_").concat(r,"_").concat(o))}},{key:"resetPosition",value:function(e){var t=e.getState().defaultPosition;e.patchState({position:t}),e.dispatch(new _Z);var n=null!=t?t:{x:0,y:0,z:0},i=n.x,r=n.y,o=n.z;this.ga.event("reset_position","spatial_search_ui","".concat(i,"_").concat(r,"_").concat(o))}},{key:"moveToNode",value:function(e,n){var i=n.node,r=t(new $O(i.transformMatrix).getTranslation().map(function(e){return Math.round(1e3*e)}),3),o=r[0],a=r[1],s=r[2];return e.dispatch(new vZ({x:o,y:a,z:s}))}},{key:"setRadius",value:function(e,t){var n=t.radius;e.patchState({radius:n}),e.dispatch(new _Z),this.ga.event("set_radius","spatial_search_ui",n.toFixed(1))}},{key:"resetRadius",value:function(e){var t,n=e.getState().radiusSettings,i=null!==(t=null==n?void 0:n.defaultValue)&&void 0!==t?t:0;e.patchState({radius:i}),e.dispatch(new _Z),this.ga.event("reset_radius","spatial_search_ui",i.toFixed(1))}},{key:"updateSpatialSearch",value:function(e){var t=e.getState(),n=t.position,i=t.radius,r=this.store.selectSnapshot(VJ.organEntity);if(r&&n&&i&&r.representation_of){var o=this.dataSource,a=r.representation_of,s=this.store.selectSnapshot(OQ.filter),u=Object.assign(Object.assign({},s),{sex:r.sex,ontologyTerms:[a],spatialSearches:[Object.assign(Object.assign({},n),{radius:i,target:r["@id"]})]});return jb({spatialSearchScene:o.getReferenceOrganScene(a,u).pipe(_p(1)),tissueBlocks:o.getTissueBlockResults(u).pipe(_p(1)),anatomicalStructures:o.getOntologyTermOccurences(u).pipe(_p(1)),cellTypes:o.getCellTypeTermOccurences(u).pipe(_p(1))}).pipe(mv(function(t){return e.patchState(t)}))}}},{key:"generateSpatialSearch",value:function(e){var t=e.getState(),n=t.position,i=t.radius,r=t.sex,o=t.organId,a=t.referenceOrgans,s=void 0===a?[]:a,u=t.executeSearchOnGeneration,c=this.store.selectSnapshot(VJ.organEntity),l=s.find(function(e){return e.id===o});if(n&&i&&(null==c?void 0:c.representation_of)&&l){var h=Object.assign(Object.assign({},n),{radius:i,target:c["@id"]}),d=[new TQ(r,l.name,h)];if(u){var f=this.store.selectSnapshot(IQ.selectedSearches);d.push(new wQ({spatialSearches:f.concat(h)}))}return this.ga.event("generate_search","spatial_search_ui"),e.dispatch(d).pipe(mv(function(){return e.patchState({sex:"female",organId:void 0})}))}}},{key:"setExecuteSearchOnGenerate",value:function(e,t){var n=t.execute;e.patchState({executeSearchOnGeneration:n})}},{key:"organValidForSex",value:function(e,t){var n=this.store.selectSnapshot(BQ.referenceOrgans).find(function(t){return t.id===e});return n.hasSex||n.sex===t}}],[{key:"organEntity",value:function(e,t){var n=e.organId,i=e.sex;return t.find(function(e){var t;return e.representation_of===n&&(null===(t=e.sex)||void 0===t?void 0:t.toLowerCase())===i})}}]),e}();HJ.\u0275fac=function(e){return new(e||HJ)(Zi(N$),Zi(Pz),Zi(fz),Zi(yq))},HJ.\u0275prov=$e({token:HJ,factory:HJ.\u0275fac}),Mw([jz(dZ)],HJ.prototype,"startSpatialSearchFlow",null),Mw([jz(fZ)],HJ.prototype,"setSex",null),Mw([jz(pZ)],HJ.prototype,"setOrgan",null),Mw([jz(vZ)],HJ.prototype,"setPosition",null),Mw([jz(mZ)],HJ.prototype,"resetPosition",null),Mw([jz(gZ)],HJ.prototype,"moveToNode",null),Mw([jz(yZ)],HJ.prototype,"setRadius",null),Mw([jz(bZ)],HJ.prototype,"resetRadius",null),Mw([jz(UJ)],HJ.prototype,"updateSpatialSearch",null),Mw([jz(wZ)],HJ.prototype,"generateSpatialSearch",null),Mw([jz(kZ)],HJ.prototype,"setExecuteSearchOnGenerate",null),Mw([Vz([VJ,BQ.referenceOrganEntities])],HJ,"organEntity",null),HJ=VJ=Mw([Fz({name:"spatialSearchUi",defaults:{sex:"female",executeSearchOnGeneration:!0}})],HJ);var GJ=function(){function e(){m(this,e)}return b(e,null,[{key:"sex",value:function(e){return e.sex}},{key:"referenceOrgans",value:function(e){var t;return null!==(t=e.referenceOrgans)&&void 0!==t?t:[]}},{key:"organId",value:function(e){return e.organId}},{key:"organ",value:function(e,t){if(void 0!==e)return t.find(function(t){return t.id===e})}},{key:"organs",value:function(e,t){var n=this;return t.filter(function(t){return n.organMatchesSex(t,e)})}},{key:"organMatchesSex",value:function(e,t){return e.hasSex||e.sex===t}},{key:"position",value:function(e){var t;return null!==(t=e.position)&&void 0!==t?t:{x:0,y:0,z:0}}},{key:"defaultPosition",value:function(e){var t;return null!==(t=e.defaultPosition)&&void 0!==t?t:{x:0,y:0,z:0}}},{key:"radius",value:function(e){var t;return null!==(t=e.radius)&&void 0!==t?t:0}},{key:"radiusSettings",value:function(e){var t;return null!==(t=e.radiusSettings)&&void 0!==t?t:{min:0,max:0,defaultValue:0}}},{key:"scene",value:function(e,t,n,i){var r,o,a=function(e,t){var n,i=e.x_dimension/1e3,r=e.y_dimension/1e3,o=e.z_dimension/1e3,a=.07*Math.max(i,r,o),s=.05*a,u=2*a,c=4*s;return t=t?Object.assign(Object.assign({},t),{radius:t.radius/1e3,x:t.x/1e3,y:t.y/1e3,z:t.z/1e3}):{target:null!==(n=e.representation_of)&&void 0!==n?n:e["@id"],radius:a,x:i/2,y:r/2,z:o/2},[{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingSphere","@type":"SpatialSceneNode",unpickable:!1,geometry:"sphere",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z]).scale(t.radius),color:HY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXD","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x+t.radius+u/2,t.y,t.z]).rotateZ(cS(-90)).scale([s,u,s]),color:GY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x+t.radius+u,t.y,t.z]).rotateZ(cS(-90)).scale([c,3*c,c]),color:GY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new $O($O.IDENTITY).translate([t.x+t.radius+u+3*c,t.y,t.z]).scale(c),color:GY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXA","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x-t.radius-u/2,t.y,t.z]).rotateZ(cS(-90)).scale([s,u,s]),color:GY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXACone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x-t.radius-u,t.y,t.z]).rotateZ(cS(90)).scale([c,3*c,c]),color:GY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new $O($O.IDENTITY).translate([t.x-t.radius-u-3.5*c,t.y,t.z]).scale(c),color:GY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYW","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y+t.radius+u/2,t.z]).scale([s,u,s]),color:WY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y+t.radius+u,t.z]).scale([c,3*c,c]),color:WY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y+t.radius+u+3*c,t.z]).scale(c),color:WY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYS","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y-t.radius-u/2,t.z]).scale([s,u,s]),color:WY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y-t.radius-u,t.z]).rotateZ(cS(180)).scale([c,3*c,c]),color:WY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y-t.radius-u-3.5*c,t.z]).scale(c),color:WY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZE","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z+t.radius+u/2]).rotateX(cS(90)).scale([s,u,s]),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZECone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z+t.radius+u]).rotateX(cS(90)).scale([c,3*c,c]),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z+t.radius+u+3*c]).scale(c),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z-t.radius-u/2]).rotateX(cS(-90)).scale([s,u,s]),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z-t.radius-u]).rotateX(cS(-90)).scale([c,3*c,c]),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z-t.radius-u-3.5*c]).scale(c),color:qY}]}(t,Object.assign(Object.assign({},n),{radius:i,target:t["@id"]})),s=new Set((null!==(r=e.tissueBlocks)&&void 0!==r?r:[]).map(function(e){return e.spatialEntityId}));return(null!==(o=e.organScene)&&void 0!==o?o:[]).map(function(e){return s.has(e["@id"])&&(e=Object.assign(Object.assign({},e),{color:[41,121,255,229.5]})),e}).concat(a)}},{key:"sceneBounds",value:function(e){var t=e.x_dimension,n=e.y_dimension,i=e.z_dimension,r=.42*Math.max(t,n,i);return{x:(r+t)/1e3,y:(r+n)/1e3,z:(r+i)/1e3}}},{key:"sceneTarget",value:function(e){return[e.x_dimension/1e3/2,e.y_dimension/1e3/2,e.z_dimension/1e3/2]}},{key:"tissueBlocks",value:function(e){var t;return null!==(t=e.tissueBlocks)&&void 0!==t?t:[]}},{key:"anatomicalStructures",value:function(e,t){return this.getTermCounts(e.anatomicalStructures,t)}},{key:"cellTypes",value:function(e,t){return this.getTermCounts(e.cellTypes,t)}},{key:"getTermCounts",value:function(e,n){return Object.entries(null!=e?e:{}).filter(function(e){var n=t(e,2);n[0];return n[1]>0}).map(function(e){var i,r,o=t(e,2),a=o[0],s=o[1];return{"@id":a,label:null!==(r=null===(i=n.nodes[a])||void 0===i?void 0:i.label)&&void 0!==r?r:a.split("/").slice(-1)[0],count:s}})}}]),e}();function WJ(e,t){if(1&e&&(As(0,"div",6),As(1,"mat-icon",7),Cu(2,"person"),Ms(),As(3,"div",8),As(4,"div",9),Cu(5),Ms(),As(6,"div",9),Cu(7),Ms(),Ms(),Ms()),2&e){var n=t.$implicit;Yo(5),Eu(n.donor.label),Yo(2),Eu(n.donor.description)}}GJ.organEntity=HJ.organEntity,Mw([Vz([HJ])],GJ,"sex",null),Mw([Vz([HJ])],GJ,"referenceOrgans",null),Mw([Vz([HJ])],GJ,"organId",null),Mw([Vz([GJ.organId,GJ.referenceOrgans])],GJ,"organ",null),Mw([Vz([GJ.sex,GJ.referenceOrgans])],GJ,"organs",null),Mw([Vz([HJ])],GJ,"position",null),Mw([Vz([HJ])],GJ,"defaultPosition",null),Mw([Vz([HJ])],GJ,"radius",null),Mw([Vz([HJ])],GJ,"radiusSettings",null),Mw([Vz([HJ,HJ.organEntity,GJ.position,GJ.radius])],GJ,"scene",null),Mw([Vz([HJ.organEntity])],GJ,"sceneBounds",null),Mw([Vz([HJ.organEntity])],GJ,"sceneTarget",null),Mw([Vz([HJ])],GJ,"tissueBlocks",null),Mw([Vz([HJ,OQ.anatomicalStructuresTreeModel])],GJ,"anatomicalStructures",null),Mw([Vz([HJ,OQ.cellTypesTreeModel])],GJ,"cellTypes",null);var qJ=function(){var e=function e(){m(this,e),this.className="ccf-tissue-block-list",this.tissueBlocks=[]};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-tissue-block-list"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{tissueBlocks:"tissueBlocks"},decls:8,vars:2,consts:[[1,"tissue-block-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltip","Total quantity of registered Tissue Blocks detected by the Probing Sphere","matTooltipPosition","right"],[1,"tissue-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"icon"],[1,"donor-info"],[1,"description"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),Cu(2),Ms(),As(3,"button",2),As(4,"mat-icon",3),Cu(5,"info"),Ms(),Ms(),Ms(),As(6,"div",4),Cs(7,WJ,8,2,"div",5),Ms()),2&e&&(Yo(2),Ou("",t.tissueBlocks.length," Tissue Blocks"),Yo(5),Ts("ngForOf",t.tissueBlocks))},directives:[B_,Ow,qh],styles:["[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .tissue-list[_ngcontent-%COMP%]{overflow:auto}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{min-height:3rem;display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem;width:22rem;padding:.5rem;box-shadow:0 3px 6px #00000029;cursor:pointer;margin-right:1rem;margin-bottom:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),e}();function XJ(e,t){if(1&e&&(As(0,"div",6),As(1,"div",7),As(2,"div",8),Cu(3),Ms(),As(4,"div",8),Cu(5),Ms(),Ms(),Ms()),2&e){var n=t.$implicit;Yo(3),Eu(n.label),Yo(2),Eu(n.count)}}var YJ=function(){var e=function e(){m(this,e),this.className="ccf-term-occurrence-list",this.termList=[]};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-term-occurrence-list"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{termList:"termList",title:"title",toolTipText:"toolTipText"},decls:8,vars:4,consts:[[1,"term-list-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltipPosition","right",3,"matTooltip"],[1,"term-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"term-bloc"],[1,"term-line"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),Cu(2),Ms(),As(3,"button",2),As(4,"mat-icon",3),Cu(5,"info"),Ms(),Ms(),Ms(),As(6,"div",4),Cs(7,XJ,6,2,"div",5),Ms()),2&e&&(Yo(2),Tu("",t.termList.length," ",t.title,""),Yo(2),Ks("matTooltip",t.toolTipText),Yo(3),Ts("ngForOf",t.termList))},directives:[B_,Ow,qh],styles:["[_nghost-%COMP%]{padding-top:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .counter[_ngcontent-%COMP%]{font-size:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding-right:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%]{overflow:auto;padding-left:2rem;font-size:1rem}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-bloc[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem;overflow:auto}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-line[_ngcontent-%COMP%]{padding-right:2rem}"],changeDetection:0}),e}();function KJ(e,t){if(1&e&&(As(0,"mat-icon",8),Cu(1),Ms()),2&e){var n=t.$implicit;cu("active",Ws().currentKey===n.key),Yo(1),Ou("",n.direction," ")}}function $J(e,t){1&e&&(As(0,"div",9),Cu(1,"SHIFT"),Ms())}var QJ=function(){var e=function e(){m(this,e),this.className="ccf-spatial-search-keyboard-ui",this.keyClicked=new ol,this.keyHovered=new ol,this.keyMap=[{key:"w",direction:"north"},{key:"s",direction:"south"},{key:"a",direction:"west"},{key:"d",direction:"east"},{key:"e",direction:"north_east"},{key:"q",direction:"south_west"}]};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-keyboard-ui"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{currentKey:"currentKey",shiftPressed:"shiftPressed"},outputs:{keyClicked:"keyClicked",keyHovered:"keyHovered"},decls:18,vars:14,consts:[[1,"direction-arrow"],["class","arrow",3,"active",4,"ngFor","ngForOf"],[1,"keys"],[1,"keyrow"],[1,"key","blue",3,"mousedown","mouseover","mouseout"],[1,"key","green",3,"mousedown","mouseover","mouseout"],[1,"key","red",3,"mousedown","mouseover","mouseout"],["class","shift",4,"ngIf"],[1,"arrow"],[1,"shift"]],template:function(e,t){1&e&&(As(0,"div",0),Cs(1,KJ,2,3,"mat-icon",1),Ms(),As(2,"div",2),As(3,"div",3),As(4,"div",4),Vs("mousedown",function(){return t.keyClicked.emit("q")})("mouseover",function(){return t.keyHovered.emit("q")})("mouseout",function(){return t.keyHovered.emit()}),Cu(5,"Q"),Ms(),As(6,"div",5),Vs("mousedown",function(){return t.keyClicked.emit("w")})("mouseover",function(){return t.keyHovered.emit("w")})("mouseout",function(){return t.keyHovered.emit()}),Cu(7,"W"),Ms(),As(8,"div",4),Vs("mousedown",function(){return t.keyClicked.emit("e")})("mouseover",function(){return t.keyHovered.emit("e")})("mouseout",function(){return t.keyHovered.emit()}),Cu(9,"E"),Ms(),Ms(),As(10,"div",3),As(11,"div",6),Vs("mousedown",function(){return t.keyClicked.emit("a")})("mouseover",function(){return t.keyHovered.emit("a")})("mouseout",function(){return t.keyHovered.emit()}),Cu(12,"A"),Ms(),As(13,"div",5),Vs("mousedown",function(){return t.keyClicked.emit("s")})("mouseover",function(){return t.keyHovered.emit("s")})("mouseout",function(){return t.keyHovered.emit()}),Cu(14,"S"),Ms(),As(15,"div",6),Vs("mousedown",function(){return t.keyClicked.emit("d")})("mouseover",function(){return t.keyHovered.emit("d")})("mouseout",function(){return t.keyHovered.emit()}),Cu(16,"D"),Ms(),Ms(),Cs(17,$J,2,0,"div",7),Ms()),2&e&&(Yo(1),Ts("ngForOf",t.keyMap),Yo(3),cu("highlighted","q"===t.currentKey),Yo(2),cu("highlighted","w"===t.currentKey),Yo(2),cu("highlighted","e"===t.currentKey),Yo(3),cu("highlighted","a"===t.currentKey),Yo(2),cu("highlighted","s"===t.currentKey),Yo(2),cu("highlighted","d"===t.currentKey),Yo(2),Ts("ngIf",t.shiftPressed))},directives:[qh,Yh,B_],styles:["[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(5,.5fr);grid-template-rows:1fr;grid-column-gap:0px;grid-row-gap:0px;margin-bottom:1rem;width:7rem}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{grid-area:1/3/2/4;opacity:0;transition:.5s}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow.active[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .keys[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:0;grid-gap:.5rem;gap:.5rem;width:7rem;height:7rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:0;grid-gap:.5rem;gap:.5rem}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%] .key[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:2rem;height:2rem;border:2px solid;border-radius:.5rem;cursor:pointer}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .shift[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:7rem;height:2rem;border:2px solid;border-radius:.5rem}"],changeDetection:0}),e}(),ZJ=function(){var e=function(){function e(){m(this,e),this.className="ccf-spatial-search-keyboard-ui-behavior",this.delta=1,this.shiftDelta=2,this.changePosition=new ol,this.shiftPressed=!1}return b(e,[{key:"updatePosition",value:function(e){if(this.currentDelta=this.shiftPressed?this.shiftDelta:this.delta,"Shift"===e)this.shiftPressed=!0;else{switch(this.currentKey=e.toLowerCase(),this.currentKey){case"q":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z-this.currentDelta});break;case"e":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z+this.currentDelta});break;case"w":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y+this.currentDelta});break;case"s":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y-this.currentDelta});break;case"a":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x-this.currentDelta});break;case"d":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x+this.currentDelta})}this.changePosition.emit(this.position)}}},{key:"handleKey",value:function(e){e.preventDefault(),this.updatePosition(e.key)}},{key:"keyUp",value:function(e){"Shift"===e.key?this.shiftPressed=!1:this.currentKey=void 0}},{key:"keyClick",value:function(e){this.updatePosition(e)}},{key:"keyHover",value:function(e){this.currentKey=e}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-keyboard-ui-behavior"]],hostVars:2,hostBindings:function(e,t){1&e&&Vs("keydown",function(e){return t.handleKey(e)},!1,ro)("keyup",function(e){return t.keyUp(e)},!1,ro),2&e&&du(t.className)},inputs:{delta:"delta",shiftDelta:"shiftDelta",position:"position"},outputs:{changePosition:"changePosition"},decls:1,vars:2,consts:[[3,"currentKey","shiftPressed","keyClicked","keyHovered"]],template:function(e,t){1&e&&(As(0,"ccf-spatial-search-keyboard-ui",0),Vs("keyClicked",function(e){return t.keyClick(e)})("keyHovered",function(e){return t.keyHover(e)}),Ms()),2&e&&Ts("currentKey",t.currentKey)("shiftPressed",t.shiftPressed)},directives:[QJ],encapsulation:2,changeDetection:0}),e}(),JJ=function(){var e=function e(){m(this,e),this.className="ccf-spatial-search-ui",this.addSpatialSearch=new ol,this.resetPosition=new ol,this.resetSphere=new ol,this.closeSpatialSearch=new ol,this.radiusChange=new ol,this.positionChange=new ol,this.editReferenceOrganClicked=new ol,this.infoClicked=new ol,this.nodeClicked=new ol};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-ui"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{scene:"scene",sceneBounds:"sceneBounds",sceneTarget:"sceneTarget",sex:"sex",referenceOrgan:"referenceOrgan",radius:"radius",radiusSettings:"radiusSettings",defaultPosition:"defaultPosition",position:"position",tissueBlocks:"tissueBlocks",anatomicalStructures:"anatomicalStructures",cellTypes:"cellTypes"},outputs:{addSpatialSearch:"addSpatialSearch",resetPosition:"resetPosition",resetSphere:"resetSphere",closeSpatialSearch:"closeSpatialSearch",radiusChange:"radiusChange",positionChange:"positionChange",editReferenceOrganClicked:"editReferenceOrganClicked",infoClicked:"infoClicked",nodeClicked:"nodeClicked"},decls:55,vars:27,consts:[[1,"header"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"content"],[1,"info-panel"],[1,"organ-sex-selection"],[1,"sex"],[1,"label"],[1,"current-sex"],[1,"organ"],[1,"current-organ"],[1,"edit",3,"click"],[1,"radius-slider"],[1,"slider-container"],[1,"slider",3,"max","min","step","value","input"],[1,"text","value"],[1,"reset-buttons"],["mat-button","",1,"reset-sphere","button",3,"click"],["mat-button","",1,"reset-camera","button",3,"click"],[1,"results"],[1,"tissue-block","list",3,"tissueBlocks"],["title","Anatomical Structures","toolTipText","Total quantity of predicted anatomical structures detected by the Probing Sphere",1,"anatomical-structures","list",3,"termList"],["title","Predicted Cell Types from ASCT+B Tables","toolTipText","Total quantity of predicted cell types detected by the Probing Sphere",1,"cell-type","list",3,"termList"],["mat-button","",1,"run-spatial-search","button",3,"click"],[1,"spatial-search-scene"],[1,"primary-scene-wrapper"],[1,"body-ui-hint"],[1,"primary-scene",3,"scene","bounds","target","nodeClick","rotationChange"],["primary",""],[1,"sidebar"],[1,"minimap-scene",3,"interactive","scene","bounds","target","nodeClick"],["minimap",""],[3,"delta","shiftDelta","position","changePosition"],[3,"x","y","z"]],template:function(e,t){if(1&e){var n=Ls();As(0,"div",0),As(1,"div",1),Cu(2,"Configure Spatial Search"),Ms(),As(3,"button",2),As(4,"mat-icon",3),Vs("click",function(){return t.infoClicked.emit()}),Cu(5,"info"),Ms(),Ms(),As(6,"button",4),As(7,"mat-icon",3),Vs("click",function(){return t.closeSpatialSearch.emit()}),Cu(8,"close"),Ms(),Ms(),Ms(),As(9,"div",5),As(10,"div",6),As(11,"div",7),As(12,"div",8),As(13,"div",9),Cu(14,"Donor Sex: "),Ms(),As(15,"div",10),Cu(16),Ms(),Ms(),As(17,"div",11),As(18,"div",9),Cu(19,"Organ: "),Ms(),As(20,"div",12),Cu(21),Ms(),Ms(),As(22,"div",13),Vs("click",function(){return t.editReferenceOrganClicked.emit()}),Cu(23,"Edit"),Ms(),Ms(),Is(24,"mat-divider"),As(25,"div",14),As(26,"div",1),Cu(27,"Probing Sphere Radius"),Ms(),As(28,"div",15),As(29,"mat-slider",16),Vs("input",function(e){return t.radiusChange.emit(e.value)}),Ms(),As(30,"span",17),Cu(31),Ms(),Ms(),As(32,"div",18),As(33,"button",19),Vs("click",function(){return t.resetSphere.emit(),t.resetPosition.emit()}),Cu(34,"Reset Probing Sphere"),Ms(),As(35,"button",20),Vs("click",function(){bn(n);var e=Es(49),i=Es(52);return e.rotation=e.rotationX=i.rotation=i.rotationX=0,e.target=i.target=t.sceneTarget,e.bounds=i.bounds=t.sceneBounds}),Cu(36,"Reset Camera View"),Ms(),Ms(),Ms(),Is(37,"mat-divider"),As(38,"div",21),Is(39,"ccf-tissue-block-list",22),Is(40,"ccf-term-occurrence-list",23),Is(41,"ccf-term-occurrence-list",24),Ms(),As(42,"button",25),Vs("click",function(){return t.addSpatialSearch.emit()}),Cu(43,"Run Spatial Search"),Ms(),Ms(),As(44,"div",26),As(45,"div",27),As(46,"div",28),Cu(47,"Use the keyboard or click a Tissue Block to move the Probing Sphere"),Ms(),As(48,"ccf-body-ui",29,30),Vs("nodeClick",function(e){return t.nodeClicked.emit(null==e?null:e.node)})("rotationChange",function(e){bn(n);var t=Es(52);return t.rotation=e[0],t.rotationX=e[1]}),Ms(),Ms(),As(50,"div",31),As(51,"ccf-body-ui",32,33),Vs("nodeClick",function(e){return t.nodeClicked.emit(null==e?null:e.node)}),Ms(),As(53,"ccf-spatial-search-keyboard-ui-behavior",34),Vs("changePosition",function(e){return t.positionChange.emit(e)}),Ms(),Is(54,"ccf-xyz-position",35),Ms(),Ms(),Ms()}2&e&&(Yo(16),Eu(t.sex.charAt(0).toUpperCase()+t.sex.slice(1)),Yo(5),Eu(t.referenceOrgan.name),Yo(8),Ts("max",t.radiusSettings.max)("min",t.radiusSettings.min)("step",1)("value",t.radius),Yo(2),Ou("",t.radius," mm"),Yo(2),cu("disabled",t.radius===t.radiusSettings.defaultValue&&t.position===t.defaultPosition),Yo(6),Ts("tissueBlocks",t.tissueBlocks),Yo(1),Ts("termList",t.anatomicalStructures),Yo(1),Ts("termList",t.cellTypes),Yo(1),cu("disabled",0===(null==t.tissueBlocks?null:t.tissueBlocks.length)),Yo(6),Ts("scene",t.scene)("bounds",t.sceneBounds)("target",t.sceneTarget),Yo(3),Ts("interactive",!1)("scene",t.scene)("bounds",t.sceneBounds)("target",t.sceneTarget),Yo(2),Ts("delta",1)("shiftDelta",2)("position",t.position),Yo(1),Ts("x",t.position.x)("y",t.position.y)("z",t.position.z))},directives:[q_,B_,AK,_G,qJ,YJ,r$,ZJ,aQ],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:1rem;gap:1rem;height:95vh;width:78vw;border-radius:.25rem;min-height:45rem;min-width:60rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;width:100%}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%], [_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:flex;width:100%;height:calc(100% - 3.5rem)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border-width:1px;border-style:solid;border-radius:.25rem;font-size:.875rem;height:2rem;line-height:2rem;transition:.5s}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button.disabled[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-right:2rem;grid-gap:1rem;gap:1rem;width:25rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%]{display:flex;font-size:1rem;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:300;margin-right:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .edit[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:19rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:11.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%]{height:calc(100% - 15rem - 2px)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%] .list[_ngcontent-%COMP%]{height:33%;display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%]{display:flex;width:calc(100% - 25rem);background-color:#000;border-radius:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;height:100%}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .primary-scene[_ngcontent-%COMP%]{flex:auto;overflow:hidden}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .body-ui-hint[_ngcontent-%COMP%]{color:#fff;font-size:1rem;margin:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%]{margin:1.5rem;width:12.75rem;height:11rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%] .body-ui{background-color:#232f3a}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-spatial-search-keyboard-ui-behavior[_ngcontent-%COMP%]{margin:1.5rem;display:flex;justify-content:center}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-xyz-position[_ngcontent-%COMP%]{margin:1.5rem;padding-left:5rem}"],changeDetection:0}),e}();function e0(e,t){if(1&e){var n=Ls();As(0,"ccf-spatial-search-ui",1),Vs("addSpatialSearch",function(){return bn(n),Ws().addSpatialSearch()})("radiusChange",function(e){return bn(n),Ws().updateRadius(e)})("resetPosition",function(){return bn(n),Ws().resetPosition()})("resetSphere",function(){return bn(n),Ws().resetRadius()})("positionChange",function(e){return bn(n),Ws().updatePosition(e)})("closeSpatialSearch",function(){return bn(n),Ws().close()})("editReferenceOrganClicked",function(){return bn(n),Ws().openSpatialSearchConfig()})("infoClicked",function(){return bn(n),Ws().onDialogButtonClick()})("nodeClicked",function(e){return bn(n),Ws().moveToNode(e)}),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Jc(4,"async"),Jc(5,"async"),Jc(6,"async"),Jc(7,"async"),Jc(8,"async"),Jc(9,"async"),Jc(10,"async"),Jc(11,"async"),Ms()}if(2&e){var i=t.ngIf,r=Ws();Ts("sex",el(1,12,r.sex$))("referenceOrgan",i)("radius",el(2,14,r.radius$))("radiusSettings",el(3,16,r.radiusSettings$))("defaultPosition",el(4,18,r.defaultPosition$))("position",el(5,20,r.position$))("scene",el(6,22,r.scene$))("sceneBounds",el(7,24,r.sceneBounds$))("sceneTarget",el(8,26,r.sceneTarget$))("tissueBlocks",el(9,28,r.tissueBlocks$))("anatomicalStructures",el(10,30,r.anatomicalStructures$))("cellTypes",el(11,32,r.cellTypes$))}}var t0=function(){function e(t,n,i){m(this,e),this.dialogRef=t,this.dialog=n,this.infoService=i,this.updatePosition=vQ(vZ),this.resetPosition=vQ(mZ),this.moveToNode=vQ(gZ),this.updateRadius=vQ(yZ),this.resetRadius=vQ(bZ),this.subscriptions=new q}return b(e,[{key:"launchInfoDialog",value:function(e){this.subscriptions.unsubscribe(),this.dialog.open(k$,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:e.infoTitle,content:e.content,videoID:e.videoID}})}},{key:"onDialogButtonClick",value:function(){var e=this;this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");var t=this.infoService.panelContent.asObservable();this.subscriptions.add(t.subscribe(function(t){t.content.length&&(e.panelData=t,e.launchInfoDialog(e.panelData))}))}},{key:"close",value:function(){this.dialogRef.close()}},{key:"addSpatialSearch",value:function(){return this.close(),new wZ}},{key:"openSpatialSearchConfig",value:function(){this.close(),this.dialog.open(y0)}}]),e}();t0.\u0275fac=function(e){return new(e||t0)(Os(MG),Os(FG),Os(S$))},t0.\u0275cmp=Ot({type:t0,selectors:[["ccf-spatial-search-ui-behavior"]],decls:2,vars:3,consts:[[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked",4,"ngIf"],[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked"]],template:function(e,t){1&e&&(Cs(0,e0,12,34,"ccf-spatial-search-ui",0),Jc(1,"async")),2&e&&Ts("ngIf",el(1,1,t.organ$))},directives:[Yh,JJ],pipes:[sd],encapsulation:2,changeDetection:0}),Mw([Bz(GJ.scene)],t0.prototype,"scene$",void 0),Mw([Bz(GJ.sceneBounds)],t0.prototype,"sceneBounds$",void 0),Mw([Bz(GJ.sceneTarget)],t0.prototype,"sceneTarget$",void 0),Mw([Bz(GJ.sex)],t0.prototype,"sex$",void 0),Mw([Bz(GJ.organ)],t0.prototype,"organ$",void 0),Mw([Bz(GJ.position)],t0.prototype,"position$",void 0),Mw([Bz(GJ.defaultPosition)],t0.prototype,"defaultPosition$",void 0),Mw([Bz(GJ.radius)],t0.prototype,"radius$",void 0),Mw([Bz(GJ.radiusSettings)],t0.prototype,"radiusSettings$",void 0),Mw([Bz(GJ.tissueBlocks)],t0.prototype,"tissueBlocks$",void 0),Mw([Bz(GJ.anatomicalStructures)],t0.prototype,"anatomicalStructures$",void 0),Mw([Bz(GJ.cellTypes)],t0.prototype,"cellTypes$",void 0),Mw([TK()],t0.prototype,"updatePosition",void 0),Mw([TK()],t0.prototype,"resetPosition",void 0),Mw([TK()],t0.prototype,"moveToNode",void 0),Mw([TK()],t0.prototype,"updateRadius",void 0),Mw([TK()],t0.prototype,"resetRadius",void 0),Mw([TK()],t0.prototype,"addSpatialSearch",null);var n0=["input"],i0=function(e){return{enterDuration:e}},r0=["*"],o0=new Ri("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}}),a0=0,s0={provide:Hz,useExisting:He(function(){return h0}),multi:!0},u0=function e(t,n){m(this,e),this.source=t,this.value=n},c0=new Ri("MatRadioGroup"),l0=function(){var e=function(){function e(t){m(this,e),this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+a0++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=function(){},this.onTouched=function(){},this.change=new ol}return b(e,[{key:"name",get:function(){return this._name},set:function(e){this._name=e,this._updateRadioButtonNames()}},{key:"labelPosition",get:function(){return this._labelPosition},set:function(e){this._labelPosition="before"===e?"before":"after",this._markRadiosForCheck()}},{key:"value",get:function(){return this._value},set:function(e){this._value!==e&&(this._value=e,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}},{key:"_checkSelectedRadioButton",value:function(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}},{key:"selected",get:function(){return this._selected},set:function(e){this._selected=e,this.value=e?e.value:null,this._checkSelectedRadioButton()}},{key:"disabled",get:function(){return this._disabled},set:function(e){this._disabled=Wd(e),this._markRadiosForCheck()}},{key:"required",get:function(){return this._required},set:function(e){this._required=Wd(e),this._markRadiosForCheck()}},{key:"ngAfterContentInit",value:function(){this._isInitialized=!0}},{key:"_touch",value:function(){this.onTouched&&this.onTouched()}},{key:"_updateRadioButtonNames",value:function(){var e=this;this._radios&&this._radios.forEach(function(t){t.name=e.name,t._markForCheck()})}},{key:"_updateSelectedRadioFromValue",value:function(){var e=this;this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(function(t){t.checked=e.value===t.value,t.checked&&(e._selected=t)}))}},{key:"_emitChangeEvent",value:function(){this._isInitialized&&this.change.emit(new u0(this._selected,this._value))}},{key:"_markRadiosForCheck",value:function(){this._radios&&this._radios.forEach(function(e){return e._markForCheck()})}},{key:"writeValue",value:function(e){this.value=e,this._changeDetector.markForCheck()}},{key:"registerOnChange",value:function(e){this._controlValueAccessorChangeFn=e}},{key:"registerOnTouched",value:function(e){this.onTouched=e}},{key:"setDisabledState",value:function(e){this.disabled=e,this._changeDetector.markForCheck()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Cc))},e.\u0275dir=Rt({type:e,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),e}(),h0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(l0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["mat-radio-group"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,p0,5),2&e)&&(ml(i=_l())&&(t._radios=i))},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[Xu([s0,{provide:c0,useExisting:t}]),cs]}),t}(),d0=sb(ub(function e(t){m(this,e),this._elementRef=t})),f0=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c){var l;return m(this,n),(l=t.call(this,i))._changeDetector=r,l._focusMonitor=o,l._radioDispatcher=a,l._providerOverride=u,l._uniqueId="mat-radio-"+ ++a0,l.id=l._uniqueId,l.change=new ol,l._checked=!1,l._value=null,l._removeUniqueSelectionListener=function(){},l.radioGroup=e,l._noopAnimations="NoopAnimations"===s,c&&(l.tabIndex=qd(c,0)),l._removeUniqueSelectionListener=a.listen(function(e,t){e!==l.id&&t===l.name&&(l.checked=!1)}),l}return b(n,[{key:"checked",get:function(){return this._checked},set:function(e){var t=Wd(e);this._checked!==t&&(this._checked=t,t&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!t&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),t&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}},{key:"value",get:function(){return this._value},set:function(e){this._value!==e&&(this._value=e,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===e),this.checked&&(this.radioGroup.selected=this)))}},{key:"labelPosition",get:function(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"},set:function(e){this._labelPosition=e}},{key:"disabled",get:function(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled},set:function(e){this._setDisabled(Wd(e))}},{key:"required",get:function(){return this._required||this.radioGroup&&this.radioGroup.required},set:function(e){this._required=Wd(e)}},{key:"color",get:function(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"},set:function(e){this._color=e}},{key:"inputId",get:function(){return"".concat(this.id||this._uniqueId,"-input")}},{key:"focus",value:function(e,t){t?this._focusMonitor.focusVia(this._inputElement,t,e):this._inputElement.nativeElement.focus(e)}},{key:"_markForCheck",value:function(){this._changeDetector.markForCheck()}},{key:"ngOnInit",value:function(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}},{key:"ngAfterViewInit",value:function(){var e=this;this._focusMonitor.monitor(this._elementRef,!0).subscribe(function(t){!t&&e.radioGroup&&e.radioGroup._touch()})}},{key:"ngOnDestroy",value:function(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}},{key:"_emitChangeEvent",value:function(){this.change.emit(new u0(this,this._value))}},{key:"_isRippleDisabled",value:function(){return this.disableRipple||this.disabled}},{key:"_onInputClick",value:function(e){e.stopPropagation()}},{key:"_onInputInteraction",value:function(e){if(e.stopPropagation(),!this.checked&&!this.disabled){var t=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),t&&this.radioGroup._emitChangeEvent())}}},{key:"_setDisabled",value:function(e){this._disabled!==e&&(this._disabled=e,this._changeDetector.markForCheck())}}]),n}(d0);return e.\u0275fac=function(t){return new(t||e)(Os(l0),Os(Ju),Os(Cc),Os(rg),Os(rp),Os(String),Os(void 0),Os(String))},e.\u0275dir=Rt({type:e,viewQuery:function(e,t){var n;(1&e&&yl(n0,5),2&e)&&(ml(n=_l())&&(t._inputElement=n.first))},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[cs]}),e}(),p0=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c){return m(this,n),t.call(this,e,i,r,o,a,s,u,c)}return n}(f0);return e.\u0275fac=function(t){return new(t||e)(Os(c0,8),Os(Ju),Os(Cc),Os(rg),Os(rp),Os(Yy,8),Os(o0,8),Ai("tabindex"))},e.\u0275cmp=Ot({type:e,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(e,t){1&e&&Vs("focus",function(){return t._inputElement.nativeElement.focus()}),2&e&&(ks("tabindex",null)("id",t.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),cu("mat-radio-checked",t.checked)("mat-radio-disabled",t.disabled)("_mat-animation-noopable",t._noopAnimations)("mat-primary","primary"===t.color)("mat-accent","accent"===t.color)("mat-warn","warn"===t.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[cs],ngContentSelectors:r0,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(e,t){if(1&e&&(Xs(),As(0,"label",0,1),As(2,"span",2),Is(3,"span",3),Is(4,"span",4),As(5,"input",5,6),Vs("change",function(e){return t._onInputInteraction(e)})("click",function(e){return t._onInputClick(e)}),Ms(),As(7,"span",7),Is(8,"span",8),Ms(),Ms(),As(9,"span",9),As(10,"span",10),Cu(11,"\xa0"),Ms(),Ys(12),Ms(),Ms()),2&e){var n=Es(1);ks("for",t.inputId),Yo(5),Ts("id",t.inputId)("checked",t.checked)("disabled",t.disabled)("tabIndex",t.tabIndex)("required",t.required),ks("name",t.name)("value",t.value)("aria-label",t.ariaLabel)("aria-labelledby",t.ariaLabelledby)("aria-describedby",t.ariaDescribedby),Yo(2),Ts("matRippleTrigger",n)("matRippleDisabled",t._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",$c(18,i0,t._noopAnimations?0:150)),Yo(2),cu("mat-radio-label-before","before"==t.labelPosition)}},directives:[wb],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),e}();function v0(e,t){1&e&&(As(0,"div",7),Cu(1,"Organs"),Ms())}function g0(e,t){if(1&e&&(As(0,"mat-option",17),Cu(1),Ms()),2&e){var n=t.$implicit;Ts("value",n),Yo(1),Ou(" ",n.name," ")}}var m0=function(){var e=function e(){m(this,e),this.className="ccf-spatial-search-config",this.updateSex=new ol,this.updateOrgan=new ol,this.buttonClicked=new ol,this.closeDialog=new ol,this.infoClicked=new ol};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-config"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{organs:"organs",selectedOrgan:"selectedOrgan",sex:"sex"},outputs:{updateSex:"updateSex",updateOrgan:"updateOrgan",buttonClicked:"buttonClicked",closeDialog:"closeDialog",infoClicked:"infoClicked"},decls:27,vars:6,consts:[[1,"header"],[1,"header-left"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"sex-toggle"],[1,"label"],[1,"radio-group",3,"ngModel","ngModelChange","change"],["value","male",1,"radio"],["value","female",1,"radio"],[1,"organ-selector"],["appearance","fill",1,"form-field"],["class","label",4,"ngIf"],["disableOptionCentering","true","panelClass","organ-select",3,"value","valueChange","selectionChange"],["class","organ-select-option",3,"value",4,"ngFor","ngForOf"],["mat-button","",1,"continue-button",3,"click"],[1,"organ-select-option",3,"value"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"div",2),Cu(3,"Configure Spatial Search"),Ms(),As(4,"button",3),As(5,"mat-icon",4),Vs("click",function(){return t.infoClicked.emit()}),Cu(6,"info"),Ms(),Ms(),Ms(),As(7,"button",5),As(8,"mat-icon",4),Vs("click",function(){return t.closeDialog.emit()}),Cu(9,"close"),Ms(),Ms(),Ms(),As(10,"div",6),As(11,"div",7),Cu(12,"Donor Sex: "),Ms(),As(13,"mat-radio-group",8),Vs("ngModelChange",function(e){return t.sex=e})("change",function(e){return t.updateSex.emit(e.value)}),As(14,"mat-radio-button",9),Cu(15,"Male"),Ms(),As(16,"mat-radio-button",10),Cu(17,"Female"),Ms(),Ms(),Ms(),As(18,"div",11),As(19,"div",7),Cu(20,"Select an organ"),Ms(),As(21,"mat-form-field",12),Cs(22,v0,2,0,"div",13),As(23,"mat-select",14),Vs("valueChange",function(e){return t.selectedOrgan=e})("selectionChange",function(e){return t.updateOrgan.emit(e.value)}),Cs(24,g0,2,2,"mat-option",15),Ms(),Ms(),Ms(),As(25,"button",16),Vs("click",function(){return t.buttonClicked.emit()}),Cu(26,"Continue"),Ms()),2&e&&(Yo(13),Ts("ngModel",t.sex),Yo(9),Ts("ngIf",!t.selectedOrgan),Yo(1),Ts("value",t.selectedOrgan),Yo(1),Ts("ngForOf",t.organs),Yo(1),cu("disabled",!t.selectedOrgan))},directives:[q_,B_,h0,fU,GU,p0,RH,Yh,zZ,qh,Rb],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:2rem;gap:2rem;width:30.5rem;box-shadow:0 25rem 25rem #00000029;border-radius:.25rem;font-size:1rem}[_nghost-%COMP%] .button[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%;font-size:1.25rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin-right:2rem}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .radio[_ngcontent-%COMP%]{margin-right:4rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{height:0rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:1rem;padding-top:3rem;margin-left:.5rem;width:14rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-infix{padding:0;border-top:none}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{bottom:0rem;height:.125rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-select-arrow-wrapper{transform:translatey(0)}[_nghost-%COMP%] .continue-button[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:.25rem 1rem;width:14rem;height:2rem;border-width:1px;border-style:solid;border-radius:.25rem;box-shadow:0 2px 6px #00000029}[_nghost-%COMP%] .continue-button.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.5} .organ-select{position:absolute;top:2.5rem;left:-.25rem;border-radius:.5rem;max-height:24.5rem;width:14rem} .organ-select .organ-select-option{height:3.5rem;border-bottom:1px solid}"],changeDetection:0}),e}(),y0=function(){function e(t,n,i,r){m(this,e),this.dialog=t,this.dialogRef=n,this.spatialSearchDialog=i,this.infoService=r,this.updateSex=vQ(fZ),this.updateOrgan=vQ(pZ),this.subscriptions=new q,this.dialogSubs=new q}return b(e,[{key:"buttonClicked",value:function(){this.spatialSearchDialog.open(t0),this.close()}},{key:"close",value:function(){this.dialogRef.close()}},{key:"launchInfoDialog",value:function(e){this.dialogSubs.unsubscribe(),this.dialog.open(k$,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:e.infoTitle,content:e.content,videoID:e.videoID}})}},{key:"onDialogButtonClick",value:function(){var e=this;this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");var t=this.infoService.panelContent.asObservable();this.dialogSubs.add(t.subscribe(function(t){t.content.length&&(e.panelData=t,e.launchInfoDialog(e.panelData))}))}},{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}}]),e}();y0.\u0275fac=function(e){return new(e||y0)(Os(FG),Os(MG),Os(FG),Os(S$))},y0.\u0275cmp=Ot({type:y0,selectors:[["ccf-spatial-search-config-behavior"]],decls:4,vars:9,consts:[[3,"sex","organs","selectedOrgan","updateSex","updateOrgan","closeDialog","buttonClicked","infoClicked"]],template:function(e,t){1&e&&(As(0,"ccf-spatial-search-config",0),Vs("updateSex",function(e){return t.updateSex(e)})("updateOrgan",function(e){return t.updateOrgan(e.id)})("closeDialog",function(){return t.close()})("buttonClicked",function(){return t.buttonClicked()})("infoClicked",function(){return t.onDialogButtonClick()}),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Ms()),2&e&&Ts("sex",el(1,3,t.sex$))("organs",el(2,5,t.organs$))("selectedOrgan",el(3,7,t.selectedOrgan$))},directives:[m0],pipes:[sd],encapsulation:2,changeDetection:0}),Mw([Bz(GJ.sex)],y0.prototype,"sex$",void 0),Mw([Bz(GJ.organ)],y0.prototype,"selectedOrgan$",void 0),Mw([Bz(GJ.organs)],y0.prototype,"organs$",void 0),Mw([TK()],y0.prototype,"updateSex",void 0),Mw([TK()],y0.prototype,"updateOrgan",void 0);var b0=function(){var e=function(){function e(t,n){m(this,e),this.store=t,this.dialog=n,this.className="ccf-run-spatial-search"}return b(e,[{key:"startSpatialSearchFlow",value:function(){var e=this;this.store.dispatch(new dZ).pipe(_p(1),mv(function(){return e.dialog.open(y0)})).subscribe()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Pz),Os(FG))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-run-spatial-search"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},decls:4,vars:0,consts:[["mat-button","",1,"run-spatial-search-button",3,"click"]],template:function(e,t){1&e&&(As(0,"button",0),Vs("click",function(){return t.startSpatialSearchFlow()}),Cu(1," Run Spatial Search "),As(2,"mat-icon"),Cu(3,"travel_explore"),Ms(),Ms())},directives:[q_,B_],styles:["[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper{display:flex;align-items:center}[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper .mat-icon{margin-left:9.75px}"],changeDetection:0}),e}();function _0(e,t){if(1&e){var n=Ls();As(0,"div",14),As(1,"ccf-spatial-search-list",15),Vs("selectionChanged",function(e){return bn(n),Ws().updateSearchSelection(e)})("itemRemoved",function(e){return bn(n),Ws().spatialSearchRemoved.emit(e.id)}),Ms(),Ms()}if(2&e){var i=Ws();cu("hidden",i.hidden),Yo(1),Ts("items",i.spatialSearchFilters)}}var w0=function(){return["Both","Male","Female"]},k0=function(){return[1,110]},x0=function(){return[13,83]},S0=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.spatialSearchFilters=[],this.filtersChange=new ol,this.spatialSearchSelected=new ol,this.spatialSearchRemoved=new ol,this.applyFilters=new ol}return b(e,[{key:"ngOnChanges",value:function(e){"spatialSearchFilters"in e&&this.updateSexFromSelection(this.spatialSearchFilters.filter(function(e){return e.selected}))}},{key:"updateFilter",value:function(e,t){this.filters=Object.assign(Object.assign({},this.filters),o({},t,e)),this.ga.event("filter_update","filter_content","".concat(t,":").concat(e)),this.filtersChange.emit(this.filters)}},{key:"applyButtonClick",value:function(){this.updateSearchSelection(this.spatialSearchFilters.filter(function(e){return e.selected})),this.ga.event("filters_applied","filter_content"),this.applyFilters.emit(this.filters)}},{key:"refreshFilters",value:function(){this.filters=JSON.parse(JSON.stringify(kQ)),this.ga.event("filters_reset","filter_content"),this.spatialSearchSelected.emit([]),this.filtersChange.emit(this.filters)}},{key:"updateSearchSelection",value:function(e){var t=e.map(function(e){return e.search});this.spatialSearchSelected.emit(e),this.updateFilter(t,"spatialSearches"),this.updateSexFromSelection(e)}},{key:"updateSexFromSelection",value:function(e){var t,n=null===(t=this.filters.sex)||void 0===t?void 0:t.toLowerCase(),i=new Set(e.map(function(e){return e.sex}));e.length>0&&(i.size>1||!i.has(n))&&this.updateFilter("Both","sex")}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-filters-content"]],inputs:{hidden:"hidden",filters:"filters",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved",applyFilters:"applyFilters"},features:[qt],decls:17,vars:24,consts:[[1,"patient-filters"],["label","Sex",3,"options","selection","selectionChange"],["label","Age",3,"valueRange","selection","selectionChange"],["label","BMI",3,"valueRange","selection","selectionChange"],[1,"filter","assays"],["label","Assay Types",3,"columns","options","selection","selectionChange"],[1,"filter","providers"],["label","Tissue Providers",3,"columns","options","selection","selectionChange"],["class","filter spatial-locations",3,"hidden",4,"ngIf"],[1,"button-container"],[1,"right-group"],["mat-button","",1,"outline-button",3,"click"],[1,"refresh-icon"],[1,"icon","refresh",3,"click"],[1,"filter","spatial-locations"],["label","Spatial Locations",3,"items","selectionChanged","itemRemoved"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"ccf-dropdown",1),Vs("selectionChange",function(e){return t.updateFilter(e,"sex")}),Ms(),As(2,"ccf-dual-slider",2),Vs("selectionChange",function(e){return t.updateFilter(e,"ageRange")}),Ms(),As(3,"ccf-dual-slider",3),Vs("selectionChange",function(e){return t.updateFilter(e,"bmiRange")}),Ms(),Ms(),As(4,"div",4),As(5,"ccf-checkbox",5),Vs("selectionChange",function(e){return t.updateFilter(e,"technologies")}),Ms(),Ms(),As(6,"div",6),As(7,"ccf-checkbox",7),Vs("selectionChange",function(e){return t.updateFilter(e,"tmc")}),Ms(),Ms(),Cs(8,_0,2,3,"div",8),As(9,"div",9),Is(10,"ccf-run-spatial-search"),As(11,"div",10),As(12,"button",11),Vs("click",function(){return t.applyButtonClick()}),Cu(13,"APPLY FILTERS"),Ms(),As(14,"div",12),As(15,"mat-icon",13),Vs("click",function(){return t.refreshFilters()}),Cu(16,"refresh"),Ms(),Ms(),Ms(),Ms()),2&e&&(cu("hidden",t.hidden),Yo(1),Ts("options",Kc(21,w0))("selection",null==t.filters?null:t.filters.sex),Yo(1),Ts("valueRange",Kc(22,k0))("selection",null==t.filters?null:t.filters.ageRange),Yo(1),Ts("valueRange",Kc(23,x0))("selection",null==t.filters?null:t.filters.bmiRange),Yo(1),cu("hidden",t.hidden),Yo(1),Ts("columns",4)("options",t.technologyFilters)("selection",null==t.filters?null:t.filters.technologies),Yo(1),cu("hidden",t.hidden),Yo(1),Ts("columns",3)("options",t.providerFilters)("selection",null==t.filters?null:t.filters.tmc),Yo(1),Ts("ngIf",t.spatialSearchFilters.length>0),Yo(1),cu("hidden",t.hidden))},directives:[GZ,FJ,zJ,Yh,b0,q_,B_,rQ],styles:[".filter[_ngcontent-%COMP%]{margin-top:2rem}.filter.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.filter.assays[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{margin-right:0 rem;width:25%}.button-container[_ngcontent-%COMP%] button{border-width:1px;border-style:solid}.button-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:2rem}.button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-width:1px;border-style:solid}.button-container.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;align-items:center}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .outline-button[_ngcontent-%COMP%]{box-shadow:.1rem .1rem .2rem #0000001d}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%]{padding:.25rem;border-radius:.25rem;margin-right:1rem;display:flex;justify-content:center;align-items:center;transition:.6s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{cursor:pointer;transition:.6s;transition-property:background}.patient-filters[_ngcontent-%COMP%]{display:flex;width:90%;padding-top:1rem}.patient-filters.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.patient-filters[_ngcontent-%COMP%] ccf-dual-slider[_ngcontent-%COMP%]{margin-left:.5rem;width:33%}.patient-filters[_ngcontent-%COMP%] ccf-dropdown[_ngcontent-%COMP%]{width:33%}"],changeDetection:0}),e}();function C0(e,t){1&e&&(As(0,"div"),As(1,"mat-icon",7),Cu(2,"close"),Ms(),Ms())}function E0(e,t){1&e&&Is(0,"mat-icon",8)}var O0=function(){function e(){m(this,e),this.spatialSearchFilters=[],this.filtersChange=new ol,this.spatialSearchSelected=new ol,this.spatialSearchRemoved=new ol,this.filtersVisible=!1}return b(e,[{key:"toggleFilterVisible",value:function(){return this.filtersVisible=!this.filtersVisible,new kZ(!1)}},{key:"removeBox",value:function(){return this.filtersVisible=!1,new kZ(!0)}},{key:"applyFilters",value:function(e){this.filters=e,this.filtersChange.emit(e),this.removeBox()}}]),e}();O0.\u0275fac=function(e){return new(e||O0)},O0.\u0275cmp=Ot({type:O0,selectors:[["ccf-filters-popover"]],inputs:{filters:"filters",drawerExpanded:"drawerExpanded",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved"},decls:8,vars:15,consts:[[1,"filters-popover"],[1,"show-hide",3,"click"],[4,"ngIf","ngIfElse"],["notShow",""],[1,"popup-container"],[1,"popup-body"],[3,"technologyFilters","providerFilters","spatialSearchFilters","hidden","filters","applyFilters","spatialSearchSelected","spatialSearchRemoved"],[1,"icon"],["svgIcon","filter",1,"icon","funnel"]],template:function(e,t){if(1&e&&(As(0,"div",0),As(1,"button",1),Vs("click",function(){return t.toggleFilterVisible()}),Cs(2,C0,3,0,"div",2),Cs(3,E0,1,0,"ng-template",null,3,Sl),Ms(),As(5,"div",4),As(6,"div",5),As(7,"ccf-filters-content",6),Vs("applyFilters",function(e){return t.applyFilters(e)})("spatialSearchSelected",function(e){return t.spatialSearchSelected.emit(e)})("spatialSearchRemoved",function(e){return t.spatialSearchRemoved.emit(e)}),Ms(),Ms(),Ms(),Ms()),2&e){var n=Es(4);cu("expanded",t.drawerExpanded),Yo(1),cu("open",t.filtersVisible),Yo(1),Ts("ngIf",t.filtersVisible)("ngIfElse",n),Yo(3),cu("visible",t.filtersVisible)("hidden",!t.filtersVisible),Yo(2),Ts("technologyFilters",t.technologyFilters)("providerFilters",t.providerFilters)("spatialSearchFilters",t.spatialSearchFilters)("hidden",!t.filtersVisible)("filters",t.filters)}},directives:[Yh,S0,B_],styles:[".filters-popover[_ngcontent-%COMP%]{position:inherit}.filters-popover.expanded[_ngcontent-%COMP%]{position:relative}.filters-popover.expanded[_ngcontent-%COMP%] .popup-container[_ngcontent-%COMP%]{right:inherit}.filters-popover.expanded[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding-left:4em!important}.popup-container[_ngcontent-%COMP%]{position:absolute;z-index:5;top:1.2rem;left:1.48rem;box-shadow:.2rem .2rem 1rem #00000058}.popup-container[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding:1.5rem;position:relative}.popup-container.visible[_ngcontent-%COMP%]{width:35rem;transition:width .2s ease-in-out;border-width:1px}.popup-container.visible[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:1;transition-delay:.3s;transition-duration:.2s}.popup-container.hidden[_ngcontent-%COMP%]{width:0;height:0;transition:all .2s ease-out;transition-delay:.3s;pointer-events:none}.popup-container.hidden[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:0;transition:opacity .2s ease-in-out}.show-hide[_ngcontent-%COMP%]{background:none;border:none;z-index:10;position:relative;cursor:pointer;outline:none;padding:.5rem;border-radius:.25rem;transition:.6s}"],changeDetection:0}),Mw([TK()],O0.prototype,"toggleFilterVisible",null),Mw([TK()],O0.prototype,"removeBox",null);var T0=function(){function e(){m(this,e),this.treeModel$=new Bf(1),this.nodes$=this.treeModel$.pipe(ce(function(e){return Object.values(e.nodes)})),this.rootNode$=this.treeModel$.pipe(ce(function(e){return e.nodes[e.root]}))}return b(e,[{key:"setTreeModel",value:function(e){this.treeModel$.next(e),this.treeModel=e}},{key:"filter",value:function(e){var t=this;return this.nodes$.pipe(ce(function(n){return t.lookup(n,e.toLowerCase())}))}},{key:"lookup",value:function(e,t){var n=this,i=new Map;return e&&e.forEach(function(e){if(e.label.toLowerCase().includes(t)&&!i.get(e.id))i.set(e.id,{index:n.getIndexOfMatch(e.label,t),displayLabel:n.formatLabel(e.label,t),node:e});else{var r=e.synonymLabels.find(function(e){return e.toLowerCase().includes(t)});r&&!i.get(e.id)&&i.set(e.id,{index:n.getIndexOfMatch(e.label+" ("+r+")",t),displayLabel:n.formatLabel(e.label+" ("+r+")",t),node:e})}}),Array.from(i.values())}},{key:"getIndexOfMatch",value:function(e,t){return e.toLowerCase().indexOf(t)}},{key:"formatLabel",value:function(e,t){var n=this.getIndexOfMatch(e,t);return[e.slice(0,n),e.slice(n,n+t.length),e.slice(n+t.length)]}},{key:"getChildren",value:function(e){var t,n,i=null!==(n=null===(t=this.treeModel)||void 0===t?void 0:t.nodes)&&void 0!==n?n:{};return(0,$q.at)(i,e.children)}}]),e}();T0.\u0275fac=function(e){return new(e||T0)},T0.\u0275prov=$e({token:T0,factory:T0.\u0275fac}),Mw([eV.ak],T0.prototype,"getChildren",null);var P0=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this)).getLevel=e,o.isExpandable=i,o.options=r,o.options&&(o.trackBy=o.options.trackBy),o}return b(n,[{key:"getDescendants",value:function(e){for(var t=[],n=this.dataNodes.indexOf(e)+1;n1&&void 0!==arguments[1]?arguments[1]:this._dataDiffer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._nodeOutlet.viewContainer,r=arguments.length>3?arguments[3]:void 0,o=n.diff(e);!o||(o.forEachOperation(function(n,o,a){if(null==n.previousIndex)t.insertNode(e[a],a,i,r);else if(null==a)i.remove(o),t._levels.delete(n.item);else{var s=i.get(o);i.move(s,a)}}),this._changeDetectorRef.detectChanges())}},{key:"_getNodeDef",value:function(e,t){return 1===this._nodeDefs.length?this._nodeDefs.first:this._nodeDefs.find(function(n){return n.when&&n.when(t,e)})||this._defaultNodeDef}},{key:"insertNode",value:function(e,t,n,i){var r=this._getNodeDef(e,t),o=new I0(e);o.level=this.treeControl.getLevel?this.treeControl.getLevel(e):void 0!==i&&this._levels.has(i)?this._levels.get(i)+1:0,this._levels.set(e,o.level),(n||this._nodeOutlet.viewContainer).createEmbeddedView(r.template,o,t),N0.mostRecentTreeNode&&(N0.mostRecentTreeNode.data=e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yc),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["cdk-tree"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,R0,5),2&e)&&(ml(i=_l())&&(t._nodeDefs=i))},viewQuery:function(e,t){var n;(1&e&&yl(M0,7),2&e)&&(ml(n=_l())&&(t._nodeOutlet=n.first))},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(e,t){1&e&&Ns(0,0)},directives:[M0],encapsulation:2}),e}(),N0=function(){var e=function(){function e(t,n){m(this,e),this._elementRef=t,this._tree=n,this._destroyed=new ae,this._dataChanges=new ae,e.mostRecentTreeNode=this,this._elementRef.nativeElement.classList.add("cdk-tree-node"),this.role="treeitem"}return b(e,[{key:"role",get:function(){return"treeitem"},set:function(e){this._elementRef.nativeElement.setAttribute("role",e)}},{key:"data",get:function(){return this._data},set:function(e){e!==this._data&&(this._data=e,this._setRoleFromData(),this._dataChanges.next())}},{key:"isExpanded",get:function(){return this._tree.treeControl.isExpanded(this._data)}},{key:"_setExpanded",value:function(e){this._isAriaExpanded=e,this._elementRef.nativeElement.setAttribute("aria-expanded","".concat(e))}},{key:"level",get:function(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}},{key:"ngOnInit",value:function(){this._parentNodeAriaLevel=function(e){for(var t=e.parentElement;t&&!L0(t);)t=t.parentElement;return t?t.classList.contains("cdk-nested-tree-node")?qd(t.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level","".concat(this.level+1))}},{key:"ngDoCheck",value:function(){this.isExpanded!=this._isAriaExpanded&&this._setExpanded(this.isExpanded)}},{key:"ngOnDestroy",value:function(){e.mostRecentTreeNode===this&&(e.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}},{key:"focus",value:function(){this._elementRef.nativeElement.focus()}},{key:"_setRoleFromData",value:function(){this.role="treeitem"}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(D0))},e.\u0275dir=Rt({type:e,selectors:[["cdk-tree-node"]],inputs:{role:"role"},exportAs:["cdkTreeNode"]}),e.mostRecentTreeNode=null,e}();function L0(e){var t=e.classList;return!(!(null==t?void 0:t.contains("cdk-nested-tree-node"))&&!(null==t?void 0:t.contains("cdk-tree")))}var j0=/([A-Za-z%]+)$/,F0=function(){var e=function(){function e(t,n,i,r){var o=this;m(this,e),this._treeNode=t,this._tree=n,this._element=i,this._dir=r,this._destroyed=new ae,this.indentUnits="px",this._indent=40,this._setPadding(),r&&r.change.pipe(kf(this._destroyed)).subscribe(function(){return o._setPadding(!0)}),t._dataChanges.subscribe(function(){return o._setPadding()})}return b(e,[{key:"level",get:function(){return this._level},set:function(e){this._setLevelInput(e)}},{key:"indent",get:function(){return this._indent},set:function(e){this._setIndentInput(e)}},{key:"ngOnDestroy",value:function(){this._destroyed.next(),this._destroyed.complete()}},{key:"_paddingIndent",value:function(){var e=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,t=null==this._level?e:this._level;return"number"==typeof t?"".concat(t*this._indent).concat(this.indentUnits):null}},{key:"_setPadding",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this._paddingIndent();if(t!==this._currentPadding||e){var n=this._element.nativeElement,i=this._dir&&"rtl"===this._dir.value?"paddingRight":"paddingLeft",r="paddingLeft"===i?"paddingRight":"paddingLeft";n.style[i]=t||"",n.style[r]="",this._currentPadding=t}}},{key:"_setLevelInput",value:function(e){this._level=qd(e,null),this._setPadding()}},{key:"_setIndentInput",value:function(e){var t=e,n="px";if("string"==typeof e){var i=e.split(j0);t=i[0],n=i[1]||n}this.indentUnits=n,this._indent=qd(t),this._setPadding()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(N0),Os(D0),Os(Ju),Os(tp,8))},e.\u0275dir=Rt({type:e,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:["cdkTreeNodePadding","level"],indent:["cdkTreeNodePaddingIndent","indent"]}}),e}(),B0=function(){var e=function(){function e(t,n){m(this,e),this._tree=t,this._treeNode=n,this._recursive=!1}return b(e,[{key:"recursive",get:function(){return this._recursive},set:function(e){this._recursive=Wd(e)}},{key:"_toggle",value:function(e){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),e.stopPropagation()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(D0),Os(N0))},e.\u0275dir=Rt({type:e,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(e,t){1&e&&Vs("click",function(e){return t._toggle(e)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}}),e}(),V0=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),z0=ub(ob(N0)),U0=function(){var t=function(t){a(i,t);var n=s(i);function i(e,t,r){var o;return m(this,i),(o=n.call(this,e,t)).tabIndex=Number(r)||0,e.nativeElement.classList.add("mat-tree-node"),o}return b(i,[{key:"ngOnInit",value:function(){e(p(i.prototype),"ngOnInit",this).call(this)}},{key:"ngDoCheck",value:function(){e(p(i.prototype),"ngDoCheck",this).call(this)}},{key:"ngOnDestroy",value:function(){e(p(i.prototype),"ngOnDestroy",this).call(this)}}]),i}(z0);return t.\u0275fac=function(e){return new(e||t)(Os(Ju),Os(D0),Ai("tabindex"))},t.\u0275dir=Rt({type:t,selectors:[["mat-tree-node"]],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[Xu([{provide:N0,useExisting:t}]),cs]}),t}(),H0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(R0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[Xu([{provide:R0,useExisting:t}]),cs]}),t}(),G0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"level",get:function(){return this._level},set:function(e){this._setLevelInput(e)}},{key:"indent",get:function(){return this._indent},set:function(e){this._setIndentInput(e)}}]),n}(F0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["","matTreeNodePadding",""]],inputs:{level:["matTreeNodePadding","level"],indent:["matTreeNodePaddingIndent","indent"]},features:[Xu([{provide:F0,useExisting:t}]),cs]}),t}(),W0=function(){var e=function e(t,n){m(this,e),this.viewContainer=t,this._node=n};return e.\u0275fac=function(t){return new(t||e)(Os(Nc),Os(A0,8))},e.\u0275dir=Rt({type:e,selectors:[["","matTreeNodeOutlet",""]],features:[Xu([{provide:M0,useExisting:e}])]}),e}(),q0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(D0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275cmp=Ot({type:t,selectors:[["mat-tree"]],viewQuery:function(e,t){var n;(1&e&&yl(W0,7),2&e)&&(ml(n=_l())&&(t._nodeOutlet=n.first))},hostAttrs:["role","tree",1,"mat-tree","cdk-tree"],exportAs:["matTree"],features:[Xu([{provide:D0,useExisting:t}]),cs],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(e,t){1&e&&Ns(0,0)},directives:[W0],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\n"],encapsulation:2}),t}(),X0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"recursive",get:function(){return this._recursive},set:function(e){this._recursive=Wd(e)}}]),n}(B0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[Xu([{provide:B0,useExisting:t}]),cs]}),t}(),Y0=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[V0,rb],rb]}),e}(),K0=function(){function e(t,n,i,r){m(this,e),this.transformFunction=t,this.getLevel=n,this.isExpandable=i,this.getChildren=r}return b(e,[{key:"_flattenNode",value:function(e,t,n,i){var r=this,o=this.transformFunction(e,t);if(n.push(o),this.isExpandable(o)){var a=this.getChildren(e);a&&(Array.isArray(a)?this._flattenChildren(a,t,n,i):a.pipe(_p(1)).subscribe(function(e){r._flattenChildren(e,t,n,i)}))}return n}},{key:"_flattenChildren",value:function(e,t,n,i){var r=this;e.forEach(function(o,a){var s=i.slice();s.push(a!=e.length-1),r._flattenNode(o,t+1,n,s)})}},{key:"flattenNodes",value:function(e){var t=this,n=[];return e.forEach(function(e){return t._flattenNode(e,0,n,[])}),n}},{key:"expandFlattenedNodes",value:function(e,t){var n=this,i=[],r=[];return r[0]=!0,e.forEach(function(e){for(var o=!0,a=0;a<=n.getLevel(e);a++)o=o&&r[a];o&&i.push(e),n.isExpandable(e)&&(r[n.getLevel(e)+1]=t.isExpanded(e))}),i}}]),e}(),$0=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this))._treeControl=e,o._treeFlattener=i,o._flattenedData=new vv([]),o._expandedData=new vv([]),o._data=new vv([]),r&&(o.data=r),o}return b(n,[{key:"data",get:function(){return this._data.value},set:function(e){this._data.next(e),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value}},{key:"connect",value:function(e){var t=this;return Oe(e.viewChange,this._treeControl.expansionModel.changed,this._flattenedData).pipe(ce(function(){return t._expandedData.next(t._treeFlattener.expandFlattenedNodes(t._flattenedData.value,t._treeControl)),t._expandedData.value}))}},{key:"disconnect",value:function(){}}]),n}(function(){return function e(){m(this,e)}}()),Q0=function(){function e(t,n){m(this,e),this.original=t,this.level=n,this.visible=!0,this.opacity=20}return b(e,[{key:"label",get:function(){return this.original.label}},{key:"expandable",get:function(){return this.original.children.length>0}}],[{key:"create",value:function(t,n){return new e(t,n)}}]),e}();function Z0(e,t){if(1&e){var n=Ls();As(0,"div",4),Vs("click",function(e){var t=bn(n).node,i=Ws();return i.select(e.ctrlKey,t,!0,!i.isSelected(t))}),Cu(1),Ms()}if(2&e){var i=t.node,r=Ws();cu("hidden",i.label===(null==r.highlightedNode?null:r.highlightedNode.label))("filtered-out",!r.occurenceData[i.original.id]&&!!r.termData[i.original.id])("unavailable",!r.termData[i.original.id])("selected",r.isSelected(i)),Yo(1),Eu("colon"===i.label?"large intestine":i.label)}}function J0(e,t){1&e&&Ns(0)}var e1=function(e){return{node:e}};function t1(e,t){if(1&e){var n=Ls();As(0,"mat-tree-node",5),Vs("mouseleave",function(){bn(n);var e=Es(5);return Ws().mouseOut(),e.reset()}),As(1,"div"),As(2,"mat-icon",6),Vs("mouseenter",function(){var e=bn(n).$implicit;return Ws().mouseOver(e)}),Ms(),As(3,"div",7),As(4,"ccf-opacity-slider",8,9),Vs("opacityChange",function(e){var t=bn(n).$implicit;return Ws().updateOpacity(t,e)})("opacityReset",function(){var e=bn(n).$implicit;return Ws().resetNode(e)})("visibilityToggle",function(){var e=bn(n).$implicit;return Ws().toggleVisibility(e)}),Ms(),Ms(),Ms(),Is(6,"div",10),Cs(7,J0,1,0,"ng-container",11),As(8,"div",12),Cu(9),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws(),o=Es(2);Ts("matTreeNodePaddingIndent",r.indent),Yo(1),uu("display",-1!==i.opacity?"none":"block"),Yo(1),uu("left",r.getLeftIndent(i.level)),cu("fade",!0!==i.visible),Yo(1),uu("left",r.getLeftIndent(i.level)),cu("hidden",i.label!==(null==r.highlightedNode?null:r.highlightedNode.label)),Yo(1),Ts("visible",i.visible)("opacity",i.opacity),Yo(3),Ts("ngTemplateOutlet",o)("ngTemplateOutletContext",$c(18,e1,i)),Yo(1),cu("suborgan",i.level>1),Yo(1),Eu(r.occurenceData[i.original.id]||0)}}function n1(e,t){1&e&&Ns(0)}function i1(e,t){if(1&e){var n=Ls();As(0,"mat-tree-node",13),Vs("mouseleave",function(){bn(n);var e=Es(5);return Ws().mouseOut(),e.reset()}),As(1,"div"),As(2,"mat-icon",6),Vs("mouseenter",function(){var e=bn(n).$implicit;return Ws().mouseOver(e)}),Ms(),As(3,"div",7),As(4,"ccf-opacity-slider",8,14),Vs("opacityChange",function(e){var t=bn(n).$implicit;return Ws().updateOpacity(t,e)})("opacityReset",function(){var e=bn(n).$implicit;return Ws().resetNode(e)})("visibilityToggle",function(){var e=bn(n).$implicit;return Ws().toggleVisibility(e)}),Ms(),Ms(),Ms(),As(6,"button",15),As(7,"mat-icon",16),Cu(8),Ms(),Ms(),Cs(9,n1,1,0,"ng-container",11),As(10,"div",12),Cu(11),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws(),o=Es(2);Ts("matTreeNodePaddingIndent",r.indent),Yo(1),uu("display",-1!==i.opacity?"none":"block"),Yo(1),uu("left",r.getLeftIndent(i.level)),cu("fade",!0!==i.visible),Yo(1),uu("left",r.getLeftIndent(i.level)),cu("hidden",i.label!==(null==r.highlightedNode?null:r.highlightedNode.label)),Yo(1),Ts("visible",i.visible)("opacity",i.opacity),Yo(2),cu("hidden",i.label===(null==r.highlightedNode?null:r.highlightedNode.label)),Ss("aria-label","Toggle ",i.label,""),Yo(2),Ou(" ",r.control.isExpanded(i)?"expand_less":"expand_more"," "),Yo(1),Ts("ngTemplateOutlet",o)("ngTemplateOutletContext",$c(22,e1,i)),Yo(1),cu("suborgan",i.level>1),Yo(1),Eu(r.occurenceData[i.original.id]||0)}}var r1=(0,$q.property)("level"),o1=(0,$q.property)("expandable"),a1=function(){var e=function(){function e(t,n){m(this,e),this.cdr=t,this.ga=n,this.atScrollBottom=!1,this.nodeSelected=new ol,this.nodeChanged=new ol,this.indent="1.5rem",this.control=new P0(r1,o1),this.flattener=new K0(Q0.create,r1,o1,$q.invoke.bind(void 0,this,"getChildren")),this.dataSource=new $0(this.control,this.flattener),this._nodes=void 0,this.anySelectionsMade=!1,this.selectedNodes=[]}return b(e,[{key:"nodes",get:function(){return this._nodes},set:function(e){var t;this._nodes=e,this.control&&(this.dataSource.data=null!==(t=this._nodes)&&void 0!==t?t:[])}},{key:"getChildren",get:function(){return this._getChildren},set:function(e){var t;this._getChildren=e,this.dataSource.data=null!==(t=this.nodes)&&void 0!==t?t:[]}},{key:"occurenceData",get:function(){return this._occurenceData},set:function(e){this._occurenceData=e||{}}},{key:"termData",get:function(){return this._termData},set:function(e){this._termData=e||{}}},{key:"ngOnInit",value:function(){this.control.dataNodes&&this.control.expand(this.control.dataNodes[0])}},{key:"ngOnChanges",value:function(e){if(e.ontologyFilter){var t=e.ontologyFilter.currentValue;(null==t?void 0:t.length)>=0&&this.selectByIDs(t)}e.rootNode&&this.selectByIDs([e.rootNode.currentValue])}},{key:"selectByIDs",value:function(e){var t=this,n=this.control.dataNodes,i=n.filter(function(t){return e.indexOf(t.original.id)>-1});(null==i?void 0:i.length)>0&&(this.selectedNodes=i,this.ga.event("nodes_selected_by_ids","ontology_tree",i.map(function(e){return e.label}).join(",")),this.control.collapseAll(),this.selectedNodes.forEach(function(e){t.expandAndSelect(e.original,function(e){var t;return null===(t=n.find(function(t){return t.original.id===e.parent}))||void 0===t?void 0:t.original},!0)}))}},{key:"expandAndSelect",value:function(e,t){for(var n,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this.cdr,o=this.control,a=new Set,s=t(e);s;)a.add(s),s=t(s);var u=(0,$q.filter)(o.dataNodes,function(e){return a.has(e.original)}),c=o.dataNodes.find(function(t){return t.original===e});i||(this.selectedNodes=[],o.collapseAll());var l,h=_(u);try{for(h.s();!(l=h.n()).done;){var d=l.value;o.expand(d)}}catch(f){h.e(f)}finally{h.f()}"body"===e.label&&(null===(n=o.dataNodes)||void 0===n?void 0:n.length)>0&&o.expand(o.dataNodes[0]),this.select(i,c,!1,!0),r.detectChanges()}},{key:"isInnerNode",value:function(e,t){return t.expandable}},{key:"isSelected",value:function(e){return(null==e?void 0:e.original.id)===this.rootNode||this.selectedNodes.filter(function(t){return(null==e?void 0:e.original.label)===(null==t?void 0:t.original.label)}).length>0}},{key:"select",value:function(e,t,n,i){if(this.anySelectionsMade||(this.selectedNodes=[],this.anySelectionsMade=!0),void 0===t)return this.selectedNodes=[],void this.ga.event("nodes_unselected","ontology_tree");e?i?this.selectedNodes.indexOf(t)<0&&this.selectedNodes.push(t):this.selectedNodes.splice(this.selectedNodes.indexOf(t),1):(this.selectedNodes=[],i&&this.selectedNodes.push(t)),this.ga.event("nodes_selected","ontology_tree",this.selectedNodes.map(function(e){return e.label}).join(",")),n&&this.nodeSelected.emit(this.selectedNodes.map(function(e){return null==e?void 0:e.original}))}},{key:"mouseOver",value:function(e){this.highlightedNode=e}},{key:"mouseOut",value:function(){this.highlightedNode=void 0}},{key:"updateOpacity",value:function(e,t){e.opacity=t,this.ga.event("opacity_update","ontology_tree",e.label,t),this.nodeChanged.emit(e)}},{key:"resetNode",value:function(e){e.opacity=20,e.visible=!0,this.ga.event("node_reset","ontology_tree",e.label),this.nodeChanged.emit(e)}},{key:"toggleVisibility",value:function(e){e.visible=!0!==e.visible,this.ga.event("visibility_update","ontology_tree",e.label,+e.visible),this.nodeChanged.emit(e)}},{key:"getLeftIndent",value:function(e){return-1.5*e+"rem"}},{key:"onScroll",value:function(e){if(e.target){var t=e.target,n=t.clientHeight,i=t.scrollHeight,r=t.scrollTop;this.atScrollBottom=i-r-n<20}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Cc),Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-ontology-tree"]],inputs:{ontologyFilter:"ontologyFilter",rootNode:"rootNode",nodes:"nodes",getChildren:"getChildren",occurenceData:"occurenceData",termData:"termData",header:"header"},outputs:{nodeSelected:"nodeSelected",nodeChanged:"nodeChanged"},features:[qt],decls:5,vars:5,consts:[[1,"ccf-ontology-tree",3,"dataSource","treeControl","scroll"],["selectableRegion",""],["class","node leaf-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef"],["class","node inner-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef","matTreeNodeDefWhen"],[1,"text",3,"click"],["matTreeNodePadding","",1,"node","leaf-node",3,"matTreeNodePaddingIndent","mouseleave"],["svgIcon","app:opacity",1,"icon","opacity",3,"mouseenter"],[1,"slider"],[3,"visible","opacity","opacityChange","opacityReset","visibilityToggle"],["slider1",""],[1,"non-expandable"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"num-results"],["matTreeNodePadding","",1,"node","inner-node",3,"matTreeNodePaddingIndent","mouseleave"],["slider2",""],["mat-icon-button","","matTreeNodeToggle","",1,"toggle"],[1,"icon","font-icon"]],template:function(e,t){1&e&&(As(0,"mat-tree",0),Vs("scroll",function(e){return t.onScroll(e)}),Cs(1,Z0,2,9,"ng-template",null,1,Sl),Cs(3,t1,10,20,"mat-tree-node",2),Cs(4,i1,12,24,"mat-tree-node",3),Ms()),2&e&&(cu("header-hidden",!t.header),Ts("dataSource",t.dataSource)("treeControl",t.control),Yo(4),Ts("matTreeNodeDefWhen",t.isInnerNode))},directives:[q0,H0,U0,G0,B_,m$,nd,q_,X0],styles:[".ccf-ontology-tree[_ngcontent-%COMP%]{background:none;scrollbar-width:thin;max-height:calc(50vh - 10rem);overflow:auto;overflow-x:hidden}.ccf-ontology-tree.header-hidden[_ngcontent-%COMP%]{max-height:40vh}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .toggle[_ngcontent-%COMP%]{z-index:-1;opacity:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .text[_ngcontent-%COMP%]{margin-left:.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]{min-height:0;font-size:1rem;margin-bottom:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:width;position:relative;z-index:1}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%]{width:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%] ccf-opacity-slider[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider{height:1.5rem;margin-left:1rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box .slider-and-label{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider{height:1.5rem;width:15rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider .mat-slider-wrapper{top:12px}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .opacity-value{width:3rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-right:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node.inner-node[_ngcontent-%COMP%] button.hidden[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .opacity[_ngcontent-%COMP%]{position:relative;min-width:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:normal}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .autocomplete-open[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{border-bottom:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .non-expandable[_ngcontent-%COMP%]{margin-left:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{white-space:nowrap;cursor:pointer;margin-left:1rem;opacity:1;width:50%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:opacity,width}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.hidden[_ngcontent-%COMP%]{opacity:0;width:0%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.unavailable[_ngcontent-%COMP%]{pointer-events:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-left:auto}.scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:90%;bottom:0;pointer-events:none}.scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),e}();function s1(e,t){if(1&e&&(As(0,"mat-option",8),As(1,"span",9),Cu(2),Ms(),As(3,"span",10),Cu(4),Ms(),As(5,"span",11),Cu(6),Ms(),Ms()),2&e){var n=t.$implicit;Ts("value",n),Yo(2),Eu(n.displayLabel[0]),Yo(2),Eu(n.displayLabel[1]),Yo(2),Eu(n.displayLabel[2])}}var u1=function(){var e=function(){function e(t,n){m(this,e),this.ontologyService=t,this.ga=n,this.selected=new ol,this.formControl=new LU(""),this.autoCompleteOpen=!1}return b(e,[{key:"ngOnInit",value:function(){var e=this;this.filteredResults$=this.formControl.valueChanges.pipe(bf(function(e){return"string"==typeof e}),Ef(""),Of(function(t){return e.ontologyService.filter(t)}),ce(function(t){return(0,$q.sortBy)(t,[e.sortBySynonymResult,"index",e.sortLexically])}))}},{key:"displayFormatter",value:function(e){var t;return(null!==(t=null==e?void 0:e.displayLabel)&&void 0!==t?t:[]).join("")}},{key:"sortBySynonymResult",value:function(e){return e.displayLabel.join().includes("(")?1:-1}},{key:"sortLexically",value:function(e){return e.node.label.toLowerCase()}},{key:"onSelect",value:function(e){var t=(0,$q.get)(e,["option","value","node"]);t&&(this.ga.event("search","ontology_search",t.id),this.selected.emit(t),this.formControl.reset())}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(T0),Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-ontology-search"]],inputs:{placeholderText:"placeholderText"},outputs:{selected:"selected"},decls:10,vars:9,consts:[[1,"ccf-ontology-search"],["appearance","outline",1,"field"],["matPrefix","","color","primary",1,"search"],["type","text","matInput","",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"ccf-ontology-search","detached","autocomplete",3,"displayWith","optionSelected","opened","closed"],["autocomplete",""],[1,"results-container"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"prefix"],[1,"search-term"],[1,"suffix"]],template:function(e,t){if(1&e&&(As(0,"form",0),As(1,"mat-form-field",1),As(2,"mat-icon",2),Cu(3,"search"),Ms(),Is(4,"input",3),As(5,"mat-autocomplete",4,5),Vs("optionSelected",function(e){return t.onSelect(e)})("opened",function(){return t.autoCompleteOpen=!0})("closed",function(){return t.autoCompleteOpen=!1}),As(7,"div",6),Cs(8,s1,7,4,"mat-option",7),Jc(9,"async"),Ms(),Ms(),Ms(),Ms()),2&e){var n=Es(6);cu("autocomplete-open",t.autoCompleteOpen),Yo(4),Ts("placeholder",t.placeholderText)("formControl",t.formControl)("matAutocomplete",n),Yo(1),Ts("displayWith",t.displayFormatter),Yo(3),Ts("ngForOf",el(9,7,t.filteredResults$))}},directives:[WU,pU,zU,RH,B_,EH,sG,qz,ZH,fU,KU,XH,qh,Rb],pipes:[sd],styles:[".ccf-ontology-search[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem .25rem 0;margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;height:3rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix input{margin-left:.4rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-prefix{top:.5rem;border:none}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0 .25rem;min-width:2.5rem} .ccf-ontology-search.detached{border:.125rem solid;border-top:none;border-radius:0 0 .25rem .25rem;max-height:18rem} .ccf-ontology-search.detached .results-container{width:23.75rem;margin-bottom:1rem;overflow:auto;max-height:15rem;scrollbar-width:thin} .ccf-ontology-search.detached .results-container mat-option{height:1.5rem;width:23.75rem} .ccf-ontology-search.detached .results-container mat-option .search-term{text-decoration:underline}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0;border-bottom:none}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem 0 0;border-bottom:none}"],changeDetection:0}),e}(),c1=function(e){return[e]};function l1(e,t){if(1&e){var n=Ls();As(0,"ccf-ontology-tree",2),Vs("nodeSelected",function(e){return bn(n),Ws().ontologySelection.emit(e)}),Ms()}if(2&e){var i=t.ngIf,r=Ws();Ts("nodes",$c(7,c1,i))("rootNode",i.id)("getChildren",r.ontologySearchService.getChildren)("occurenceData",r.occurenceData)("termData",r.termData)("ontologyFilter",r.ontologyFilter)("header",r.header)}}var h1=function(){var e=function(){function e(t){m(this,e),this.ontologySearchService=t,this.ontologySelection=new ol}return b(e,[{key:"ngOnChanges",value:function(e){"treeModel"in e&&this.treeModel&&this.ontologySearchService.setTreeModel(this.treeModel)}},{key:"selected",value:function(e){var t,n,i=null!==(n=null===(t=this.treeModel)||void 0===t?void 0:t.nodes)&&void 0!==n?n:{};this.tree.expandAndSelect(e,function(e){return i[e.parent]})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(T0))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-ontology-selection"]],viewQuery:function(e,t){var n;(1&e&&yl(a1,5),2&e)&&(ml(n=_l())&&(t.tree=n.first))},inputs:{occurenceData:"occurenceData",termData:"termData",treeModel:"treeModel",ontologyFilter:"ontologyFilter",header:"header",placeholderText:"placeholderText"},outputs:{ontologySelection:"ontologySelection"},features:[Xu([T0]),qt],decls:3,vars:4,consts:[[3,"placeholderText","selected"],["class","tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected",4,"ngIf"],[1,"tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected"]],template:function(e,t){1&e&&(As(0,"ccf-ontology-search",0),Vs("selected",function(e){return t.selected(e)}),Ms(),Cs(1,l1,1,9,"ccf-ontology-tree",1),Jc(2,"async")),2&e&&(Ts("placeholderText",t.placeholderText),Yo(1),Ts("ngIf",el(2,2,t.ontologySearchService.rootNode$)))},directives:[u1,Yh,a1],pipes:[sd],styles:[""],changeDetection:0}),e}(),d1=function(){var e=function(){function e(t,n,i){var r=this;m(this,e),this.drawer=t,this.cdr=i,this.className="ccf-drawer-toggle-button",this.position="start",this.opened=!1,this.subscriptions=new q;var o=n.connect(this);this.subscriptions.add(o.getMessagesFromSource(t).subscribe(function(e){r.handleMessage(e)&&i.markForCheck()}))}return b(e,[{key:"classEnd",get:function(){return"end"===this.position}},{key:"icon",get:function(){var e,t="arrow_right",n="arrow_left";return"end"===this.position&&(t=(e=[n,t])[0],n=e[1]),this.opened?n:t}},{key:"ngAfterViewInit",value:function(){var e=this;setTimeout(function(){e.position=e.drawer.position,e.cdr.markForCheck()})}},{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"handleMessage",value:function(e){return"drawer-toggled"===e.payload.type&&(this.opened=e.payload.opened,!0)}},{key:"toggle",value:function(){var e=this.drawer,t=e.opened,n=e.expanded;t?n?e.closeExpanded():e.close():e.open()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(aZ),Os(eZ),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-drawer-toggle-button"]],hostVars:4,hostBindings:function(e,t){2&e&&(du(t.className),cu("ccf-drawer-toggle-button-end",t.classEnd))},decls:2,vars:1,consts:[["aria-hidden","false","aria-label","Close side drawer",1,"expand-collapse-icon",3,"click"]],template:function(e,t){1&e&&(As(0,"mat-icon",0),Vs("click",function(){return t.toggle()}),Cu(1),Ms()),2&e&&(Yo(1),Ou(" ",t.icon,"\n"))},directives:[B_],styles:["[_nghost-%COMP%]{position:absolute;top:calc(50% - 2.0625rem);right:-1.0625rem;width:1.0625rem;height:3rem;border-radius:0 .25rem .25rem 0;cursor:pointer;display:flex;align-items:center;transition:.6s}.ccf-drawer-toggle-button-end[_nghost-%COMP%]{right:unset;left:calc(-1rem - 1px);border-radius:.25rem 0 0 .25rem}[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{position:relative;right:.25rem;transition:all .5s}.ccf-drawer-toggle-button-end[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{right:unset;left:-.25rem}"],changeDetection:0}),e}();function f1(e,t){1&e&&(As(0,"div",7),Is(1,"mat-spinner",8),As(2,"span",3),Cu(3,"Loading External Site"),Ms(),Ms())}function p1(e,t){if(1&e){var n=Ls();As(0,"iframe",9),Vs("load",function(){return bn(n),Ws().loading=!1}),Ms()}2&e&&ks("src",Ws().safeUrl,Yr)}var v1=function(){var e=function(){function e(t){m(this,e),this.sanitizer=t,this.className="ccf-viewer",this.url="",this.closed=new ol,this.loading=!0,this.safeUrl=null}return b(e,[{key:"ngOnChanges",value:function(e){"url"in e&&this.updateUrl()}},{key:"updateUrl",value:function(){var e=this.sanitizer,t=this.url;this.safeUrl=null,t&&(this.safeUrl=e.bypassSecurityTrustResourceUrl(t),this.loading=!0)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Vd))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-viewer"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{url:"url"},outputs:{closed:"closed"},features:[qt],decls:11,vars:4,consts:[[1,"toolbar"],["mat-flat-button","","target","_blank","rel","noopener noreferrer",1,"launch",3,"href","disabled"],[1,"icon"],[1,"text"],["mat-flat-button","",1,"close",3,"click"],["class","overlay",4,"ngIf"],["class","frame","title","Portal Data Viewer","referrerpolicy","no-referrer",3,"load",4,"ngIf"],[1,"overlay"],[1,"spinner"],["title","Portal Data Viewer","referrerpolicy","no-referrer",1,"frame",3,"load"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"a",1),As(2,"mat-icon",2),Cu(3,"launch"),Ms(),As(4,"span",3),Cu(5,"Open in Portal"),Ms(),Ms(),As(6,"button",4),Vs("click",function(){return t.closed.emit()}),As(7,"mat-icon",2),Cu(8,"clear"),Ms(),Ms(),Ms(),Cs(9,f1,4,0,"div",5),Cs(10,p1,1,1,"iframe",6)),2&e&&(Yo(1),Ts("href",t.safeUrl,Xr)("disabled",!t.safeUrl),Yo(8),Ts("ngIf",t.loading),Yo(1),Ts("ngIf",t.safeUrl))},directives:[X_,B_,q_,Yh,YQ],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;width:100%;height:1.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%]{margin-right:3.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch.mat-button-disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.25rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{min-width:0;padding:0;line-height:1.5rem;border-radius:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:1.5rem;bottom:0;left:0;right:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{margin-bottom:.5rem}[_nghost-%COMP%] .frame[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0}),e}();function g1(e,t){if(1&e&&Is(0,"div",3),2&e){var n=t.index;cu("line-tick-visible",Ws().tissueSectionExists(n+1))}}var m1=function(){return[]},y1=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-tissue-section-vis"}return b(e,[{key:"tissueSectionExists",value:function(e){return this.tissueSections.filter(function(t){return t.sectionNumber===e}).length>0}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-tissue-section-vis"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{totalTissueSections:"totalTissueSections",tissueSections:"tissueSections"},decls:7,vars:3,consts:[[1,"container"],["class","line-tick",3,"line-tick-visible",4,"ngFor","ngForOf"],[1,"x-axis"],[1,"line-tick"]],template:function(e,t){1&e&&(As(0,"div"),Cu(1,"0"),Ms(),As(2,"div",0),Cs(3,g1,1,2,"div",1),Is(4,"div",2),Ms(),As(5,"div"),Cu(6),Ms()),2&e&&(Yo(3),Ts("ngForOf",Kc(2,m1).constructor(t.totalTissueSections)),Yo(3),Eu(t.totalTissueSections))},directives:[qh],styles:["[_nghost-%COMP%]{width:100%;height:2.5rem;padding:.5rem 1rem;display:flex}[_nghost-%COMP%] .container[_ngcontent-%COMP%]{margin-right:.5rem;margin-left:.5rem;flex-grow:1;display:flex;position:relative;justify-content:space-evenly}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .line-tick[_ngcontent-%COMP%]{height:100%;width:1px;z-index:2}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .x-axis[_ngcontent-%COMP%]{width:100%;height:2px;position:absolute;top:calc(50% - 1px);right:0;z-index:1}"],changeDetection:0}),e}();function b1(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function _1(e,t){void 0===e&&(e={}),void 0===t&&(t={}),Object.keys(t).forEach(function(n){void 0===e[n]?e[n]=t[n]:b1(t[n])&&b1(e[n])&&Object.keys(t[n]).length>0&&_1(e[n],t[n])})}var w1={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function k1(){var e="undefined"!=typeof document?document:{};return _1(e,w1),e}var x1={document:w1,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}},requestAnimationFrame:function(e){return"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0)},cancelAnimationFrame:function(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function S1(){var e="undefined"!=typeof window?window:{};return _1(e,x1),e}function C1(e){return(C1=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function E1(e,t){return(E1=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function O1(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(G){return!1}}function T1(e,t,n){return(T1=O1()?Reflect.construct:function(e,t,n){var i=[null];i.push.apply(i,t);var r=new(Function.bind.apply(e,i));return n&&E1(r,n.prototype),r}).apply(null,arguments)}function P1(e){var t="function"==typeof Map?new Map:void 0;return(P1=function(e){if(null===e||!function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return T1(e,arguments,C1(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),E1(n,e)})(e)}var A1=function(e){function t(t){var n;return function(e){var t=e.__proto__;Object.defineProperty(e,"__proto__",{get:function(){return t},set:function(e){t.__proto__=e}})}(function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(n=e.call.apply(e,[this].concat(t))||this)),n}return function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(t,e),t}(P1(Array));function M1(e){void 0===e&&(e=[]);var t=[];return e.forEach(function(e){Array.isArray(e)?t.push.apply(t,M1(e)):t.push(e)}),t}function I1(e,t){return Array.prototype.filter.call(e,t)}function R1(e,t){var n=S1(),i=k1(),r=[];if(!t&&e instanceof A1)return e;if(!e)return new A1(r);if("string"==typeof e){var o=e.trim();if(o.indexOf("<")>=0&&o.indexOf(">")>=0){var a="div";0===o.indexOf("0}).length>0},toggleClass:function(){for(var e=arguments.length,t=new Array(e),n=0;n=0;f-=1){var p=d[f];o&&p.listener===o||o&&p.listener&&p.listener.dom7proxy&&p.listener.dom7proxy===o?(h.removeEventListener(c,p.proxyListener,a),d.splice(f,1)):o||(h.removeEventListener(c,p.proxyListener,a),d.splice(f,1))}}return this},trigger:function(){for(var e=S1(),t=arguments.length,n=new Array(t),i=0;i0}),c.dispatchEvent(l),c.dom7EventData=[],delete c.dom7EventData}}return this},transitionEnd:function(e){var t=this;return e&&t.on("transitionend",function n(i){i.target===this&&(e.call(this,i),t.off("transitionend",n))}),this},outerWidth:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetWidth+parseFloat(t.getPropertyValue("margin-right"))+parseFloat(t.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetHeight+parseFloat(t.getPropertyValue("margin-top"))+parseFloat(t.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){var e=S1();return this[0]?e.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){var e=S1(),t=k1(),n=this[0],i=n.getBoundingClientRect(),r=t.body;return{top:i.top+(n===e?e.scrollY:n.scrollTop)-(n.clientTop||r.clientTop||0),left:i.left+(n===e?e.scrollX:n.scrollLeft)-(n.clientLeft||r.clientLeft||0)}}return null},css:function(e,t){var n,i=S1();if(1===arguments.length){if("string"!=typeof e){for(n=0;nt-1)return R1([]);if(e<0){var n=t+e;return R1(n<0?[]:[this[n]])}return R1([this[e]])},append:function(){for(var e,t=k1(),n=0;n=0;n-=1)this[t].insertBefore(r.childNodes[n],this[t].childNodes[0])}else if(e instanceof A1)for(n=0;n0?e?this[0].nextElementSibling&&R1(this[0].nextElementSibling).is(e)?R1([this[0].nextElementSibling]):R1([]):R1(this[0].nextElementSibling?[this[0].nextElementSibling]:[]):R1([])},nextAll:function(e){var t=[],n=this[0];if(!n)return R1([]);for(;n.nextElementSibling;){var i=n.nextElementSibling;e?R1(i).is(e)&&t.push(i):t.push(i),n=i}return R1(t)},prev:function(e){if(this.length>0){var t=this[0];return e?t.previousElementSibling&&R1(t.previousElementSibling).is(e)?R1([t.previousElementSibling]):R1([]):R1(t.previousElementSibling?[t.previousElementSibling]:[])}return R1([])},prevAll:function(e){var t=[],n=this[0];if(!n)return R1([]);for(;n.previousElementSibling;){var i=n.previousElementSibling;e?R1(i).is(e)&&t.push(i):t.push(i),n=i}return R1(t)},parent:function(e){for(var t=[],n=0;n=0,observer:"MutationObserver"in e||"WebkitMutationObserver"in e,passiveListener:function(){var t=!1;try{var n=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassiveListener",null,n)}catch(i){}return t}(),gestures:"ongesturestart"in e}}()),j1}function Y1(e){return void 0===e&&(e={}),F1||(F1=function(e){var t=(void 0===e?{}:e).userAgent,n=X1(),i=S1(),r=i.navigator.platform,o=t||i.navigator.userAgent,a={ios:!1,android:!1},s=i.screen.width,u=i.screen.height,c=o.match(/(Android);?[\s\/]+([\d.]+)?/),l=o.match(/(iPad).*OS\s([\d_]+)/),h=o.match(/(iPod)(.*OS\s([\d_]+))?/),d=!l&&o.match(/(iPhone\sOS|iOS)\s([\d_]+)/),f="Win32"===r,p="MacIntel"===r;return!l&&p&&n.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(s+"x"+u)>=0&&((l=o.match(/(Version)\/([\d.]+)/))||(l=[0,1,"13_0_0"]),p=!1),c&&!f&&(a.os="android",a.android=!0),(l||d||h)&&(a.os="ios",a.ios=!0),a}(e)),F1}function K1(){return B1||(B1=function(){var e,t=S1();return{isEdge:!!t.navigator.userAgent.match(/Edge/g),isSafari:(e=t.navigator.userAgent.toLowerCase(),e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(t.navigator.userAgent)}}()),B1}var $1={name:"resize",create:function(){var e=this;W1(e,{resize:{observer:null,createObserver:function(){!e||e.destroyed||!e.initialized||(e.resize.observer=new ResizeObserver(function(t){var n=e.width,i=e.height,r=n,o=i;t.forEach(function(t){var n=t.contentBoxSize,i=t.contentRect,a=t.target;a&&a!==e.el||(r=i?i.width:(n[0]||n).inlineSize,o=i?i.height:(n[0]||n).blockSize)}),(r!==n||o!==i)&&e.resize.resizeHandler()}),e.resize.observer.observe(e.el))},removeObserver:function(){e.resize.observer&&e.resize.observer.unobserve&&e.el&&(e.resize.observer.unobserve(e.el),e.resize.observer=null)},resizeHandler:function(){!e||e.destroyed||!e.initialized||(e.emit("beforeResize"),e.emit("resize"))},orientationChangeHandler:function(){!e||e.destroyed||!e.initialized||e.emit("orientationchange")}}})},on:{init:function(e){var t=S1();e.params.resizeObserver&&void 0!==S1().ResizeObserver?e.resize.createObserver():(t.addEventListener("resize",e.resize.resizeHandler),t.addEventListener("orientationchange",e.resize.orientationChangeHandler))},destroy:function(e){var t=S1();e.resize.removeObserver(),t.removeEventListener("resize",e.resize.resizeHandler),t.removeEventListener("orientationchange",e.resize.orientationChangeHandler)}}};function Q1(){return(Q1=Object.assign||function(e){for(var t=1;t0)&&(!r.isTouched||!r.isMoved))){o.noSwipingClass&&""!==o.noSwipingClass&&s.target&&s.target.shadowRoot&&e.path&&e.path[0]&&(u=V1(e.path[0]));var c=o.noSwipingSelector?o.noSwipingSelector:"."+o.noSwipingClass;if(o.noSwiping&&(s.target&&s.target.shadowRoot?function(e,t){return void 0===t&&(t=this),function t(n){return n&&n!==k1()&&n!==S1()?(n.assignedSlot&&(n=n.assignedSlot),n.closest(e)||t(n.getRootNode().host)):null}(t)}(c,s.target):u.closest(c)[0]))return void(t.allowClick=!0);if(!o.swipeHandler||u.closest(o.swipeHandler)[0]){a.currentX="touchstart"===s.type?s.targetTouches[0].pageX:s.pageX,a.currentY="touchstart"===s.type?s.targetTouches[0].pageY:s.pageY;var l=a.currentX,h=a.currentY,d=o.edgeSwipeDetection||o.iOSEdgeSwipeDetection,f=o.edgeSwipeThreshold||o.iOSEdgeSwipeThreshold;if(d&&(l<=f||l>=i.innerWidth-f)){if("prevent"!==d)return;e.preventDefault()}if(W1(r,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),a.startX=l,a.startY=h,r.touchStartTime=U1(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,o.threshold>0&&(r.allowThresholdMove=!1),"touchstart"!==s.type){var p=!0;u.is(r.focusableElements)&&(p=!1),n.activeElement&&V1(n.activeElement).is(r.focusableElements)&&n.activeElement!==u[0]&&n.activeElement.blur(),(o.touchStartForcePreventDefault||p&&t.allowTouchMove&&o.touchStartPreventDefault)&&!u[0].isContentEditable&&s.preventDefault()}t.emit("touchStart",s)}}}}function t2(e){var t=k1(),n=this,i=n.touchEventsData,r=n.params,o=n.touches,a=n.rtlTranslate;if(n.enabled){var s=e;if(s.originalEvent&&(s=s.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&n.emit("touchMoveOpposite",s));if(!i.isTouchEvent||"touchmove"===s.type){var u="touchmove"===s.type&&s.targetTouches&&(s.targetTouches[0]||s.changedTouches[0]),c="touchmove"===s.type?u.pageX:s.pageX,l="touchmove"===s.type?u.pageY:s.pageY;if(s.preventedByNestedSwiper)return o.startX=c,void(o.startY=l);if(!n.allowTouchMove)return n.allowClick=!1,void(i.isTouched&&(W1(o,{startX:c,startY:l,currentX:c,currentY:l}),i.touchStartTime=U1()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(n.isVertical()){if(lo.startY&&n.translate>=n.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(co.startX&&n.translate>=n.minTranslate())return;if(i.isTouchEvent&&t.activeElement&&s.target===t.activeElement&&V1(s.target).is(i.focusableElements))return i.isMoved=!0,void(n.allowClick=!1);if(i.allowTouchCallbacks&&n.emit("touchMove",s),!(s.targetTouches&&s.targetTouches.length>1)){o.currentX=c,o.currentY=l;var h=o.currentX-o.startX,d=o.currentY-o.startY;if(!(n.params.threshold&&Math.sqrt(Math.pow(h,2)+Math.pow(d,2))=25&&(f=180*Math.atan2(Math.abs(d),Math.abs(h))/Math.PI,i.isScrolling=n.isHorizontal()?f>r.touchAngle:90-f>r.touchAngle)),i.isScrolling&&n.emit("touchMoveOpposite",s),void 0===i.startMoving&&(o.currentX!==o.startX||o.currentY!==o.startY)&&(i.startMoving=!0),i.isScrolling)return void(i.isTouched=!1);if(i.startMoving){n.allowClick=!1,!r.cssMode&&s.cancelable&&s.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&s.stopPropagation(),i.isMoved||(r.loop&&n.loopFix(),i.startTranslate=n.getTranslate(),n.setTransition(0),n.animating&&n.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,r.grabCursor&&(!0===n.allowSlideNext||!0===n.allowSlidePrev)&&n.setGrabCursor(!0),n.emit("sliderFirstMove",s)),n.emit("sliderMove",s),i.isMoved=!0;var p=n.isHorizontal()?h:d;o.diff=p,p*=r.touchRatio,a&&(p=-p),n.swipeDirection=p>0?"prev":"next",i.currentTranslate=p+i.startTranslate;var v=!0,g=r.resistanceRatio;if(r.touchReleaseOnEdges&&(g=0),p>0&&i.currentTranslate>n.minTranslate()?(v=!1,r.resistance&&(i.currentTranslate=n.minTranslate()-1+Math.pow(-n.minTranslate()+i.startTranslate+p,g))):p<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),!n.allowSlidePrev&&!n.allowSlideNext&&(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(p)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,o.startX=o.currentX,o.startY=o.currentY,i.currentTranslate=i.startTranslate,void(o.diff=n.isHorizontal()?o.currentX-o.startX:o.currentY-o.startY)}!r.followFinger||r.cssMode||((r.freeMode||r.watchSlidesProgress||r.watchSlidesVisibility)&&(n.updateActiveIndex(),n.updateSlidesClasses()),r.freeMode&&(0===i.velocities.length&&i.velocities.push({position:o[n.isHorizontal()?"startX":"startY"],time:i.touchStartTime}),i.velocities.push({position:o[n.isHorizontal()?"currentX":"currentY"],time:U1()})),n.updateProgress(i.currentTranslate),n.setTranslate(i.currentTranslate))}}}}}}function n2(e){var t=this,n=t.touchEventsData,i=t.params,r=t.touches,o=t.rtlTranslate,a=t.$wrapperEl,s=t.slidesGrid,u=t.snapGrid;if(t.enabled){var c=e;if(c.originalEvent&&(c=c.originalEvent),n.allowTouchCallbacks&&t.emit("touchEnd",c),n.allowTouchCallbacks=!1,!n.isTouched)return n.isMoved&&i.grabCursor&&t.setGrabCursor(!1),n.isMoved=!1,void(n.startMoving=!1);i.grabCursor&&n.isMoved&&n.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);var l,h=U1(),d=h-n.touchStartTime;if(t.allowClick&&(t.updateClickedSlide(c),t.emit("tap click",c),d<300&&h-n.lastClickTime<300&&t.emit("doubleTap doubleClick",c)),n.lastClickTime=U1(),z1(function(){t.destroyed||(t.allowClick=!0)}),!n.isTouched||!n.isMoved||!t.swipeDirection||0===r.diff||n.currentTranslate===n.startTranslate)return n.isTouched=!1,n.isMoved=!1,void(n.startMoving=!1);if(n.isTouched=!1,n.isMoved=!1,n.startMoving=!1,l=i.followFinger?o?t.translate:-t.translate:-n.currentTranslate,!i.cssMode){if(i.freeMode){if(l<-t.minTranslate())return void t.slideTo(t.activeIndex);if(l>-t.maxTranslate())return void t.slideTo(t.slides.length1){var f=n.velocities.pop(),p=n.velocities.pop(),v=f.time-p.time;t.velocity=(f.position-p.position)/v,t.velocity/=2,Math.abs(t.velocity)150||U1()-f.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=i.freeModeMomentumVelocityRatio,n.velocities.length=0;var g=1e3*i.freeModeMomentumRatio,m=t.translate+t.velocity*g;o&&(m=-m);var y,b,_=!1,w=20*Math.abs(t.velocity)*i.freeModeMomentumBounceRatio;if(mt.minTranslate())i.freeModeMomentumBounce?(m-t.minTranslate()>w&&(m=t.minTranslate()+w),y=t.minTranslate(),_=!0,n.allowMomentumBounce=!0):m=t.minTranslate(),i.loop&&i.centeredSlides&&(b=!0);else if(i.freeModeSticky){for(var k,x=0;x-m){k=x;break}m=-(m=Math.abs(u[k]-m)=i.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses()))}for(var E=0,O=t.slidesSizesGrid[0],T=0;T=s[T]&&l=s[T]&&(E=T,O=s[s.length-1]-s[s.length-2])}var A=(l-s[E])/O,M=Ei.longSwipesMs){if(!i.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&t.slideTo(A>=i.longSwipesRatio?E+M:E),"prev"===t.swipeDirection&&t.slideTo(A>1-i.longSwipesRatio?E+M:E)}else{if(!i.shortSwipes)return void t.slideTo(t.activeIndex);!t.navigation||c.target!==t.navigation.nextEl&&c.target!==t.navigation.prevEl?("next"===t.swipeDirection&&t.slideTo(E+M),"prev"===t.swipeDirection&&t.slideTo(E)):t.slideTo(c.target===t.navigation.nextEl?E+M:E)}}}}function i2(){var e=this,t=e.params,n=e.el;if(!n||0!==n.offsetWidth){t.breakpoints&&e.setBreakpoint();var i=e.allowSlideNext,r=e.allowSlidePrev,o=e.snapGrid;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses(),e.slideTo(("auto"===t.slidesPerView||t.slidesPerView>1)&&e.isEnd&&!e.isBeginning&&!e.params.centeredSlides?e.slides.length-1:e.activeIndex,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.run(),e.allowSlidePrev=r,e.allowSlideNext=i,e.params.watchOverflow&&o!==e.snapGrid&&e.checkOverflow()}}function r2(e){var t=this;!t.enabled||t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))}function o2(){var e=this,t=e.wrapperEl,n=e.rtlTranslate;if(e.enabled){e.previousTranslate=e.translate,e.translate=e.isHorizontal()?n?t.scrollWidth-t.offsetWidth-t.scrollLeft:-t.scrollLeft:-t.scrollTop,-0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();var i=e.maxTranslate()-e.minTranslate();(0===i?0:(e.translate-e.minTranslate())/i)!==e.progress&&e.updateProgress(n?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}}var a2=!1;function s2(){}var u2={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!1,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};var c2={modular:{useParams:function(e){var t=this;!t.modules||Object.keys(t.modules).forEach(function(n){var i=t.modules[n];i.params&&W1(e,i.params)})},useModules:function(e){void 0===e&&(e={});var t=this;!t.modules||Object.keys(t.modules).forEach(function(n){var i=t.modules[n],r=e[n]||{};i.on&&t.on&&Object.keys(i.on).forEach(function(e){t.on(e,i.on[e])}),i.create&&i.create.bind(t)(r)})}},eventsEmitter:{on:function(e,t,n){var i=this;if("function"!=typeof t)return i;var r=n?"unshift":"push";return e.split(" ").forEach(function(e){i.eventsListeners[e]||(i.eventsListeners[e]=[]),i.eventsListeners[e][r](t)}),i},once:function(e,t,n){var i=this;if("function"!=typeof t)return i;function r(){i.off(e,r),r.__emitterProxy&&delete r.__emitterProxy;for(var n=arguments.length,o=new Array(n),a=0;a=0&&t.eventsAnyListeners.splice(n,1),t},off:function(e,t){var n=this;return n.eventsListeners&&e.split(" ").forEach(function(e){void 0===t?n.eventsListeners[e]=[]:n.eventsListeners[e]&&n.eventsListeners[e].forEach(function(i,r){(i===t||i.__emitterProxy&&i.__emitterProxy===t)&&n.eventsListeners[e].splice(r,1)})}),n},emit:function(){var e=this;if(!e.eventsListeners)return e;for(var t,n,i,r=arguments.length,o=new Array(r),a=0;a=0&&(b=parseFloat(b.replace("%",""))/100*o),e.virtualSize=-b,l.css(a?{marginLeft:"",marginBottom:"",marginTop:""}:{marginRight:"",marginBottom:"",marginTop:""}),i.slidesPerColumn>1&&(x=Math.floor(h/i.slidesPerColumn)===h/e.params.slidesPerColumn?h:Math.ceil(h/i.slidesPerColumn)*i.slidesPerColumn,"auto"!==i.slidesPerView&&"row"===i.slidesPerColumnFill&&(x=Math.max(x,i.slidesPerView*i.slidesPerColumn)));for(var O,T=i.slidesPerColumn,P=x/T,A=Math.floor(h/i.slidesPerColumn),M=0;M1){var R=void 0,D=void 0,N=void 0;if("row"===i.slidesPerColumnFill&&i.slidesPerGroup>1){var L=Math.floor(M/(i.slidesPerGroup*i.slidesPerColumn)),j=M-i.slidesPerColumn*i.slidesPerGroup*L,F=0===L?i.slidesPerGroup:Math.min(Math.ceil((h-L*T*i.slidesPerGroup)/T),i.slidesPerGroup);N=Math.floor(j/F),I.css({"-webkit-box-ordinal-group":R=(D=j-N*F+L*i.slidesPerGroup)+N*x/T,"-moz-box-ordinal-group":R,"-ms-flex-order":R,"-webkit-order":R,order:R})}else"column"===i.slidesPerColumnFill?(N=M-(D=Math.floor(M/T))*T,(D>A||D===A&&N===T-1)&&(N+=1)>=T&&(N=0,D+=1)):D=M-(N=Math.floor(M/P))*P;I.css(t("margin-top"),0!==N?i.spaceBetween&&i.spaceBetween+"px":"")}if("none"!==I.css("display")){if("auto"===i.slidesPerView){var B=getComputedStyle(I[0]),V=I[0].style.transform,z=I[0].style.webkitTransform;if(V&&(I[0].style.transform="none"),z&&(I[0].style.webkitTransform="none"),i.roundLengths)O=e.isHorizontal()?I.outerWidth(!0):I.outerHeight(!0);else{var U=n(B,"width"),H=n(B,"padding-left"),G=n(B,"padding-right"),W=n(B,"margin-left"),q=n(B,"margin-right"),X=B.getPropertyValue("box-sizing");if(X&&"border-box"===X)O=U+W+q;else{var Y=I[0];O=U+H+G+W+q+(Y.offsetWidth-Y.clientWidth)}}V&&(I[0].style.transform=V),z&&(I[0].style.webkitTransform=z),i.roundLengths&&(O=Math.floor(O))}else O=(o-(i.slidesPerView-1)*b)/i.slidesPerView,i.roundLengths&&(O=Math.floor(O)),l[M]&&(l[M].style[t("width")]=O+"px");l[M]&&(l[M].swiperSlideSize=O),p.push(O),i.centeredSlides?(_=_+O/2+w/2+b,0===w&&0!==M&&(_=_-o/2-b),0===M&&(_=_-o/2-b),Math.abs(_)<.001&&(_=0),i.roundLengths&&(_=Math.floor(_)),k%i.slidesPerGroup==0&&d.push(_),f.push(_)):(i.roundLengths&&(_=Math.floor(_)),(k-Math.min(e.params.slidesPerGroupSkip,k))%e.params.slidesPerGroup==0&&d.push(_),f.push(_),_=_+O+b),e.virtualSize+=O+b,w=O,k+=1}}if(e.virtualSize=Math.max(e.virtualSize,o)+g,a&&s&&("slide"===i.effect||"coverflow"===i.effect)&&r.css({width:e.virtualSize+i.spaceBetween+"px"}),i.setWrapperSize&&r.css(((C={})[t("width")]=e.virtualSize+i.spaceBetween+"px",C)),i.slidesPerColumn>1&&(e.virtualSize=(O+i.spaceBetween)*x,e.virtualSize=Math.ceil(e.virtualSize/i.slidesPerColumn)-i.spaceBetween,r.css(((E={})[t("width")]=e.virtualSize+i.spaceBetween+"px",E)),i.centeredSlides)){S=[];for(var K=0;K1&&d.push(e.virtualSize-o)}if(0===d.length&&(d=[0]),0!==i.spaceBetween){var J,ee=e.isHorizontal()&&a?"marginLeft":t("marginRight");l.filter(function(e,t){return!i.cssMode||t!==l.length-1}).css(((J={})[ee]=b+"px",J))}if(i.centeredSlides&&i.centeredSlidesBounds){var te=0;p.forEach(function(e){te+=e+(i.spaceBetween?i.spaceBetween:0)});var ne=(te-=i.spaceBetween)-o;d=d.map(function(e){return e<0?-v:e>ne?ne+g:e})}if(i.centerInsufficientSlides){var ie=0;if(p.forEach(function(e){ie+=e+(i.spaceBetween?i.spaceBetween:0)}),(ie-=i.spaceBetween)1)if(n.params.centeredSlides)n.visibleSlides.each(function(e){i.push(e)});else for(t=0;tn.slides.length&&!r)break;i.push(a(s))}else i.push(a(n.activeIndex));for(t=0;to?u:o}o&&n.$wrapperEl.css("height",o+"px")},updateSlidesOffset:function(){for(var e=this.slides,t=0;t=0&&c1&&l<=t.size||c<=0&&l>=t.size)&&(t.visibleSlides.push(s),t.visibleSlidesIndexes.push(a),i.eq(a).addClass(n.slideVisibleClass))}s.progress=r?-u:u}t.visibleSlides=V1(t.visibleSlides)}},updateProgress:function(e){var t=this;void 0===e&&(e=t&&t.translate&&t.translate*(t.rtlTranslate?-1:1)||0);var n=t.params,i=t.maxTranslate()-t.minTranslate(),r=t.progress,o=t.isBeginning,a=t.isEnd,s=o,u=a;0===i?(r=0,o=!0,a=!0):(o=(r=(e-t.minTranslate())/i)<=0,a=r>=1),W1(t,{progress:r,isBeginning:o,isEnd:a}),(n.watchSlidesProgress||n.watchSlidesVisibility||n.centeredSlides&&n.autoHeight)&&t.updateSlidesProgress(e),o&&!s&&t.emit("reachBeginning toEdge"),a&&!u&&t.emit("reachEnd toEdge"),(s&&!o||u&&!a)&&t.emit("fromEdge"),t.emit("progress",r)},updateSlidesClasses:function(){var e,t=this,n=t.slides,i=t.params,r=t.$wrapperEl,o=t.activeIndex,a=t.realIndex,s=t.virtual&&i.virtual.enabled;n.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(e=s?t.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+o+'"]'):n.eq(o)).addClass(i.slideActiveClass),i.loop&&(e.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+a+'"]').addClass(i.slideDuplicateActiveClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+a+'"]').addClass(i.slideDuplicateActiveClass));var u=e.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===u.length&&(u=n.eq(0)).addClass(i.slideNextClass);var c=e.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===c.length&&(c=n.eq(-1)).addClass(i.slidePrevClass),i.loop&&(u.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+u.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+u.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),c.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass)),t.emitSlidesClasses()},updateActiveIndex:function(e){var t,n=this,i=n.rtlTranslate?n.translate:-n.translate,r=n.slidesGrid,o=n.snapGrid,a=n.params,s=n.activeIndex,u=n.realIndex,c=n.snapIndex,l=e;if(void 0===l){for(var h=0;h=r[h]&&i=r[h]&&i=r[h]&&(l=h);a.normalizeSlideIndex&&(l<0||void 0===l)&&(l=0)}if(o.indexOf(i)>=0)t=o.indexOf(i);else{var d=Math.min(a.slidesPerGroupSkip,l);t=d+Math.floor((l-d)/a.slidesPerGroup)}if(t>=o.length&&(t=o.length-1),l!==s){var f=parseInt(n.slides.eq(l).attr("data-swiper-slide-index")||l,10);W1(n,{snapIndex:t,realIndex:f,previousIndex:s,activeIndex:l}),n.emit("activeIndexChange"),n.emit("snapIndexChange"),u!==f&&n.emit("realIndexChange"),(n.initialized||n.params.runCallbacksOnInit)&&n.emit("slideChange")}else t!==c&&(n.snapIndex=t,n.emit("snapIndexChange"))},updateClickedSlide:function(e){var t,n=this,i=n.params,r=V1(e.target).closest("."+i.slideClass)[0],o=!1;if(r)for(var a=0;a6&&(i=i.split(", ").map(function(e){return e.replace(",",".")}).join(", ")),r=new o.WebKitCSSMatrix("none"===i?"":i)):n=(r=a.MozTransform||a.OTransform||a.MsTransform||a.msTransform||a.transform||a.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===t&&(i=o.WebKitCSSMatrix?r.m41:16===n.length?parseFloat(n[12]):parseFloat(n[4])),"y"===t&&(i=o.WebKitCSSMatrix?r.m42:16===n.length?parseFloat(n[13]):parseFloat(n[5])),i||0}(t.$wrapperEl[0],e);return i&&(o=-o),o||0},setTranslate:function(e,t){var n=this,i=n.rtlTranslate,r=n.params,o=n.$wrapperEl,a=n.wrapperEl,s=n.progress,u=0,c=0;n.isHorizontal()?u=i?-e:e:c=e,r.roundLengths&&(u=Math.floor(u),c=Math.floor(c)),r.cssMode?a[n.isHorizontal()?"scrollLeft":"scrollTop"]=n.isHorizontal()?-u:-c:r.virtualTranslate||o.transform("translate3d("+u+"px, "+c+"px, 0px)"),n.previousTranslate=n.translate,n.translate=n.isHorizontal()?u:c;var l=n.maxTranslate()-n.minTranslate();(0===l?0:(e-n.minTranslate())/l)!==s&&n.updateProgress(e),n.emit("setTranslate",n.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,n,i,r){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===n&&(n=!0),void 0===i&&(i=!0);var o=this,a=o.params,s=o.wrapperEl;if(o.animating&&a.preventInteractionOnTransition)return!1;var u,c=o.minTranslate(),l=o.maxTranslate();if(o.updateProgress(u=i&&e>c?c:i&&eo?"next":ir?"next":i=c.length&&(g=c.length-1),(d||u.initialSlide||0)===(h||0)&&n&&a.emit("beforeSlideChangeStart");var m,y=-c[g];if(a.updateProgress(y),u.normalizeSlideIndex)for(var b=0;b=w&&_=w&&_=w&&(s=b)}if(a.initialized&&s!==d&&(!a.allowSlideNext&&ya.translate&&y>a.maxTranslate()&&(d||0)!==s))return!1;if(m=s>d?"next":s=e&&(d=e)}),void 0!==d&&(c=a.indexOf(d))<0&&(c=i.activeIndex-1),i.slideTo(c,e,t,n)},slideReset:function(e,t,n){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,n)},slideToClosest:function(e,t,n,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===i&&(i=.5);var r=this,o=r.activeIndex,a=Math.min(r.params.slidesPerGroupSkip,o),s=a+Math.floor((o-a)/r.params.slidesPerGroup),u=r.rtlTranslate?r.translate:-r.translate;if(u>=r.snapGrid[s]){var c=r.snapGrid[s];u-c>(r.snapGrid[s+1]-c)*i&&(o+=r.params.slidesPerGroup)}else{var l=r.snapGrid[s-1];u-l<=(r.snapGrid[s]-l)*i&&(o-=r.params.slidesPerGroup)}return o=Math.max(o,0),o=Math.min(o,r.slidesGrid.length-1),r.slideTo(o,e,t,n)},slideToClickedSlide:function(){var e,t=this,n=t.params,i=t.$wrapperEl,r="auto"===n.slidesPerView?t.slidesPerViewDynamic():n.slidesPerView,o=t.clickedIndex;if(n.loop){if(t.animating)return;e=parseInt(V1(t.clickedSlide).attr("data-swiper-slide-index"),10),n.centeredSlides?ot.slides.length-t.loopedSlides+r/2?(t.loopFix(),o=i.children("."+n.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),z1(function(){t.slideTo(o)})):t.slideTo(o):o>t.slides.length-r?(t.loopFix(),o=i.children("."+n.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),z1(function(){t.slideTo(o)})):t.slideTo(o)}else t.slideTo(o)}},loop:{loopCreate:function(){var e=this,t=k1(),n=e.params,i=e.$wrapperEl;i.children("."+n.slideClass+"."+n.slideDuplicateClass).remove();var r=i.children("."+n.slideClass);if(n.loopFillGroupWithBlank){var o=n.slidesPerGroup-r.length%n.slidesPerGroup;if(o!==n.slidesPerGroup){for(var a=0;ar.length&&(e.loopedSlides=r.length);var u=[],c=[];r.each(function(t,n){var i=V1(t);n=r.length-e.loopedSlides&&u.push(t),i.attr("data-swiper-slide-index",n)});for(var l=0;l=0;h-=1)i.prepend(V1(u[h].cloneNode(!0)).addClass(n.slideDuplicateClass))},loopFix:function(){var e=this;e.emit("beforeLoopFix");var t,n=e.activeIndex,i=e.slides,r=e.loopedSlides,o=e.allowSlidePrev,a=e.allowSlideNext,s=e.snapGrid,u=e.rtlTranslate;e.allowSlidePrev=!0,e.allowSlideNext=!0;var c=-s[n]-e.getTranslate();n=i.length-r&&(t=-i.length+n+r,e.slideTo(t+=r,0,!1,!0)&&0!==c&&e.setTranslate((u?-e.translate:e.translate)-c)),e.allowSlidePrev=o,e.allowSlideNext=a,e.emit("loopFix")},loopDestroy:function(){var e=this,t=e.params,n=e.slides;e.$wrapperEl.children("."+t.slideClass+"."+t.slideDuplicateClass+",."+t.slideClass+"."+t.slideBlankClass).remove(),n.removeAttr("data-swiper-slide-index")}},grabCursor:{setGrabCursor:function(e){var t=this;if(!(t.support.touch||!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)){var n=t.el;n.style.cursor="move",n.style.cursor=e?"-webkit-grabbing":"-webkit-grab",n.style.cursor=e?"-moz-grabbin":"-moz-grab",n.style.cursor=e?"grabbing":"grab"}},unsetGrabCursor:function(){var e=this;e.support.touch||e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.el.style.cursor="")}},manipulation:{appendSlide:function(e){var t=this,n=t.$wrapperEl,i=t.params;if(i.loop&&t.loopDestroy(),"object"==typeof e&&"length"in e)for(var r=0;r=a)n.appendSlide(t);else{for(var s=o>e?o+1:o,u=[],c=a-1;c>=e;c-=1){var l=n.slides.eq(c);l.remove(),u.unshift(l)}if("object"==typeof t&&"length"in t){for(var h=0;he?o+t.length:o}else i.append(t);for(var d=0;d1,d=l.slidesPerColumn>1,f=o.enabled;h&&!d?(a.removeClass(o.containerModifierClass+"multirow "+o.containerModifierClass+"multirow-column"),e.emitContainerClasses()):!h&&d&&(a.addClass(o.containerModifierClass+"multirow"),(l.slidesPerColumnFill&&"column"===l.slidesPerColumnFill||!l.slidesPerColumnFill&&"column"===o.slidesPerColumnFill)&&a.addClass(o.containerModifierClass+"multirow-column"),e.emitContainerClasses());var p=l.direction&&l.direction!==o.direction,v=o.loop&&(l.slidesPerView!==o.slidesPerView||p);p&&n&&e.changeDirection(),W1(e.params,l);var g=e.params.enabled;W1(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),f&&!g?e.disable():!f&&g&&e.enable(),e.currentBreakpoint=u,e.emit("_beforeBreakpoint",l),v&&n&&(e.loopDestroy(),e.loopCreate(),e.updateSlides(),e.slideTo(t-r+e.loopedSlides,0,!1)),e.emit("breakpoint",l)}}},getBreakpoint:function(e,t,n){if(void 0===t&&(t="window"),e&&("container"!==t||n)){var i=!1,r=S1(),o="window"===t?r.innerHeight:n.clientHeight,a=Object.keys(e).map(function(e){if("string"==typeof e&&0===e.indexOf("@")){var t=parseFloat(e.substr(1));return{value:o*t,point:e}}return{value:e,point:e}});a.sort(function(e,t){return parseInt(e.value,10)-parseInt(t.value,10)});for(var s=0;s0&&t.slidesOffsetBefore+t.spaceBetween*(e.slides.length-1)+e.slides[0].offsetWidth*e.slides.length;e.isLocked=t.slidesOffsetBefore&&t.slidesOffsetAfter&&i?i<=e.size:1===e.snapGrid.length,e.allowSlideNext=!e.isLocked,e.allowSlidePrev=!e.isLocked,n!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock"),n&&n!==e.isLocked&&(e.isEnd=!1,e.navigation&&e.navigation.update())}},classes:{addClasses:function(){var e=this,t=e.classNames,n=e.params,i=e.$el,r=e.device,o=e.support,a=function(e,t){var n=[];return e.forEach(function(e){"object"==typeof e?Object.keys(e).forEach(function(i){e[i]&&n.push(t+i)}):"string"==typeof e&&n.push(t+e)}),n}(["initialized",n.direction,{"pointer-events":o.pointerEvents&&!o.touch},{"free-mode":n.freeMode},{autoheight:n.autoHeight},{rtl:e.rtl},{multirow:n.slidesPerColumn>1},{"multirow-column":n.slidesPerColumn>1&&"column"===n.slidesPerColumnFill},{android:r.android},{ios:r.ios},{"css-mode":n.cssMode}],n.containerModifierClass);t.push.apply(t,a),i.addClass([].concat(t).join(" ")),e.emitContainerClasses()},removeClasses:function(){var e=this;e.$el.removeClass(e.classNames.join(" ")),e.emitContainerClasses()}},images:{loadImage:function(e,t,n,i,r,o){var a,s=S1();function u(){o&&o()}V1(e).parent("picture")[0]||e.complete&&r||!t?u():((a=new s.Image).onload=u,a.onerror=u,i&&(a.sizes=i),n&&(a.srcset=n),t&&(a.src=t))},preloadImages:function(){var e=this;function t(){null==e||!e||e.destroyed||(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(var n=0;n1){var a=[];return V1(n.el).each(function(t){var i=W1({},n,{el:t});a.push(new e(i))}),a}var s=this;s.__swiper__=!0,s.support=X1(),s.device=Y1({userAgent:n.userAgent}),s.browser=K1(),s.eventsListeners={},s.eventsAnyListeners=[],void 0===s.modules&&(s.modules={}),Object.keys(s.modules).forEach(function(e){var t=s.modules[e];if(t.params){var i=Object.keys(t.params)[0],r=t.params[i];if("object"!=typeof r||null===r||(["navigation","pagination","scrollbar"].indexOf(i)>=0&&!0===n[i]&&(n[i]={auto:!0}),!(i in n)||!("enabled"in r)))return;!0===n[i]&&(n[i]={enabled:!0}),"object"==typeof n[i]&&!("enabled"in n[i])&&(n[i].enabled=!0),n[i]||(n[i]={enabled:!1})}});var u,c,l=W1({},u2);return s.useParams(l),s.params=W1({},l,l2,n),s.originalParams=W1({},s.params),s.passedParams=W1({},n),s.params&&s.params.on&&Object.keys(s.params.on).forEach(function(e){s.on(e,s.params.on[e])}),s.params&&s.params.onAny&&s.onAny(s.params.onAny),s.$=V1,W1(s,{enabled:s.params.enabled,el:t,classNames:[],slides:V1(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===s.params.direction},isVertical:function(){return"vertical"===s.params.direction},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:s.params.allowSlideNext,allowSlidePrev:s.params.allowSlidePrev,touchEvents:(u=["touchstart","touchmove","touchend","touchcancel"],c=["mousedown","mousemove","mouseup"],s.support.pointerEvents&&(c=["pointerdown","pointermove","pointerup"]),s.touchEventsTouch={start:u[0],move:u[1],end:u[2],cancel:u[3]},s.touchEventsDesktop={start:c[0],move:c[1],end:c[2]},s.support.touch||!s.params.simulateTouch?s.touchEventsTouch:s.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:s.params.focusableElements,lastClickTime:U1(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:s.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),s.useModules(),s.emit("_swiper"),s.params.init&&s.init(),s}var t=e.prototype;return t.enable=function(){var e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))},t.disable=function(){var e=this;!e.enabled||(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))},t.setProgress=function(e,t){var n=this;e=Math.min(Math.max(e,0),1);var i=n.minTranslate(),r=n.maxTranslate();n.translateTo((r-i)*e+i,void 0===t?0:t),n.updateActiveIndex(),n.updateSlidesClasses()},t.emitContainerClasses=function(){var e=this;if(e.params._emitClasses&&e.el){var t=e.el.className.split(" ").filter(function(t){return 0===t.indexOf("swiper-container")||0===t.indexOf(e.params.containerModifierClass)});e.emit("_containerClasses",t.join(" "))}},t.getSlideClasses=function(e){var t=this;return e.className.split(" ").filter(function(e){return 0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass)}).join(" ")},t.emitSlidesClasses=function(){var e=this;if(e.params._emitClasses&&e.el){var t=[];e.slides.each(function(n){var i=e.getSlideClasses(n);t.push({slideEl:n,classNames:i}),e.emit("_slideClass",n,i)}),e.emit("_slideClasses",t)}},t.slidesPerViewDynamic=function(){var e=this,t=e.slides,n=e.slidesGrid,i=e.size,r=e.activeIndex,o=1;if(e.params.centeredSlides){for(var a,s=t[r].swiperSlideSize,u=r+1;ui&&(a=!0));for(var c=r-1;c>=0;c-=1)t[c]&&!a&&(o+=1,(s+=t[c].swiperSlideSize)>i&&(a=!0))}else for(var l=r+1;l1)&&e.isEnd&&!e.params.centeredSlides?e.slides.length-1:e.activeIndex,0,!1,!0)||i(),n.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}function i(){var t=Math.min(Math.max(e.rtlTranslate?-1*e.translate:e.translate,e.maxTranslate()),e.minTranslate());e.setTranslate(t),e.updateActiveIndex(),e.updateSlidesClasses()}},t.changeDirection=function(e,t){void 0===t&&(t=!0);var n=this,i=n.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(n.$el.removeClass(""+n.params.containerModifierClass+i).addClass(""+n.params.containerModifierClass+e),n.emitContainerClasses(),n.params.direction=e,n.slides.each(function(t){"vertical"===e?t.style.width="":t.style.height=""}),n.emit("changeDirection"),t&&n.update()),n},t.mount=function(e){var t=this;if(t.mounted)return!0;var n=V1(e||t.params.el);if(!(e=n[0]))return!1;e.swiper=t;var i=function(){return"."+(t.params.wrapperClass||"").trim().split(" ").join(".")},r=function(){if(e&&e.shadowRoot&&e.shadowRoot.querySelector){var t=V1(e.shadowRoot.querySelector(i()));return t.children=function(e){return n.children(e)},t}return n.children(i())}();if(0===r.length&&t.params.createElements){var o=k1().createElement("div");r=V1(o),o.className=t.params.wrapperClass,n.append(o),n.children("."+t.params.slideClass).each(function(e){r.append(e)})}return W1(t,{$el:n,el:e,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===e.dir.toLowerCase()||"rtl"===n.css("direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===e.dir.toLowerCase()||"rtl"===n.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0},t.init=function(e){var t=this;return t.initialized||!1===t.mount(e)||(t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.params.loop&&t.loopCreate(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.preloadImages&&t.preloadImages(),t.slideTo(t.params.loop?t.params.initialSlide+t.loopedSlides:t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.attachEvents(),t.initialized=!0,t.emit("init"),t.emit("afterInit")),t},t.destroy=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);var n=this,i=n.params,r=n.$el,o=n.$wrapperEl,a=n.slides;return void 0===n.params||n.destroyed||(n.emit("beforeDestroy"),n.initialized=!1,n.detachEvents(),i.loop&&n.loopDestroy(),t&&(n.removeClasses(),r.removeAttr("style"),o.removeAttr("style"),a&&a.length&&a.removeClass([i.slideVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),n.emit("destroy"),Object.keys(n.eventsListeners).forEach(function(e){n.off(e)}),!1!==e&&(n.$el[0].swiper=null,function(t){var n=t;Object.keys(n).forEach(function(t){try{n[t]=null}catch(e){}try{delete n[t]}catch(e){}})}(n)),n.destroyed=!0),null},e.extendDefaults=function(e){W1(l2,e)},e.installModule=function(t){e.prototype.modules||(e.prototype.modules={});var n=t.name||Object.keys(e.prototype.modules).length+"_"+U1();e.prototype.modules[n]=t},e.use=function(t){return Array.isArray(t)?(t.forEach(function(t){return e.installModule(t)}),e):(e.installModule(t),e)},function(e,t,n){n&&function(e,t){for(var n=0;n0?t[n].__swiper__?e[n]=t[n]:V2(e[n],t[n]):e[n]=t[n]):e[n]=t[n]})}function z2(e){return null!=e&&"false"!="".concat(e)}var U2=["pagination","navigation","scrollbar","virtual"];function H2(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return F2(e)?e:!0===z2(e)&&t}var G2=["init","_direction","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_freeModeMomentum","_freeModeMomentumRatio","_freeModeMomentumBounce","_freeModeMomentumBounceRatio","_freeModeMomentumVelocityRatio","_freeModeSticky","_freeModeMinimumVelocity","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","_spaceBetween","_slidesPerView","_slidesPerColumn","_slidesPerColumnFill","_slidesPerGroup","_slidesPerGroupSkip","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_watchSlidesVisibility","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_preloadImages","updateOnImagesReady","_loop","_loopAdditionalSlides","_loopedSlides","_loopFillGroupWithBlank","loopPreventsSlide","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","hashNavigation","history","keyboard","lazy","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom"].map(function(e){return e.replace(/_/,"")});function W2(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={on:{}},n={};V2(t,d2.defaults),V2(t,d2.extendedDefaults),t._emitClasses=!0;var i={};return Object.keys(e).forEach(function(r){var o=r.replace(/^_/,"");void 0!==e[o]&&(G2.indexOf(o)>=0?F2(e[o])?(t[o]={},n[o]={},V2(t[o],e[o]),V2(n[o],e[o])):(t[o]=e[o],n[o]=e[o]):i[o]=e[o])}),{params:t,passedParams:n,rest:i}}var q2=function(){var e=function(){function e(t){m(this,e),this.template=t,this.class="",this.slideData={isActive:!1,isPrev:!1,isNext:!1,isVisible:!1,isDuplicate:!1}}return b(e,[{key:"zoom",get:function(){return this._zoom},set:function(e){this._zoom=z2(e)}},{key:"classNames",get:function(){return this._classNames},set:function(e){this._classNames!==e&&(this._classNames=e,this.slideData={isActive:this._hasClass(["swiper-slide-active","swiper-slide-duplicate-active"]),isVisible:this._hasClass(["swiper-slide-visible"]),isDuplicate:this._hasClass(["swiper-slide-duplicate"]),isPrev:this._hasClass(["swiper-slide-prev","swiper-slide-duplicate-prev"]),isNext:this._hasClass(["swiper-slide-next","swiper-slide-duplicate-next"])})}},{key:"_hasClass",value:function(e){var t=this;return e.some(function(e){return t._classNames.indexOf(e)>=0})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ac))},e.\u0275dir=Rt({type:e,selectors:[["ng-template","swiperSlide",""]],inputs:{class:"class",zoom:"zoom",virtualIndex:"virtualIndex"}}),e}(),X2=function(){var e=function(){function e(t,n,i,r){var a=this;m(this,e),this._ngZone=t,this.elementRef=n,this._changeDetectorRef=i,this._platformId=r,this.slideClass="swiper-slide",this.wrapperClass="swiper-wrapper",this.showNavigation=!0,this.showPagination=!0,this.showScrollbar=!0,this.s__beforeBreakpoint=new ol,this.s__containerClasses=new ol,this.s__slideClass=new ol,this.s__swiper=new ol,this.s_activeIndexChange=new ol,this.s_afterInit=new ol,this.s_autoplay=new ol,this.s_autoplayStart=new ol,this.s_autoplayStop=new ol,this.s_beforeDestroy=new ol,this.s_beforeInit=new ol,this.s_beforeLoopFix=new ol,this.s_beforeResize=new ol,this.s_beforeSlideChangeStart=new ol,this.s_beforeTransitionStart=new ol,this.s_breakpoint=new ol,this.s_changeDirection=new ol,this.s_click=new ol,this.s_doubleTap=new ol,this.s_doubleClick=new ol,this.s_destroy=new ol,this.s_fromEdge=new ol,this.s_hashChange=new ol,this.s_hashSet=new ol,this.s_imagesReady=new ol,this.s_init=new ol,this.s_keyPress=new ol,this.s_lazyImageLoad=new ol,this.s_lazyImageReady=new ol,this.s_loopFix=new ol,this.s_momentumBounce=new ol,this.s_navigationHide=new ol,this.s_navigationShow=new ol,this.s_observerUpdate=new ol,this.s_orientationchange=new ol,this.s_paginationHide=new ol,this.s_paginationRender=new ol,this.s_paginationShow=new ol,this.s_paginationUpdate=new ol,this.s_progress=new ol,this.s_reachBeginning=new ol,this.s_reachEnd=new ol,this.s_realIndexChange=new ol,this.s_resize=new ol,this.s_scroll=new ol,this.s_scrollbarDragEnd=new ol,this.s_scrollbarDragMove=new ol,this.s_scrollbarDragStart=new ol,this.s_setTransition=new ol,this.s_setTranslate=new ol,this.s_slideChange=new ol,this.s_slideChangeTransitionEnd=new ol,this.s_slideChangeTransitionStart=new ol,this.s_slideNextTransitionEnd=new ol,this.s_slideNextTransitionStart=new ol,this.s_slidePrevTransitionEnd=new ol,this.s_slidePrevTransitionStart=new ol,this.s_slideResetTransitionStart=new ol,this.s_slideResetTransitionEnd=new ol,this.s_sliderMove=new ol,this.s_sliderFirstMove=new ol,this.s_slidesLengthChange=new ol,this.s_slidesGridLengthChange=new ol,this.s_snapGridLengthChange=new ol,this.s_snapIndexChange=new ol,this.s_tap=new ol,this.s_toEdge=new ol,this.s_touchEnd=new ol,this.s_touchMove=new ol,this.s_touchMoveOpposite=new ol,this.s_touchStart=new ol,this.s_transitionEnd=new ol,this.s_transitionStart=new ol,this.s_update=new ol,this.s_zoomChange=new ol,this.s_swiper=new ol,this.indexChange=new ol,this._activeSlides=new ae,this.containerClasses="swiper-container",this.slidesChanges=function(e){a.slides=e.map(function(e,t){return e.slideIndex=t,e.classNames=a.slideClass,e}),a.loop&&!a.loopedSlides&&a.calcLoopedSlides(),a.virtual?a.swiperRef&&a.swiperRef.virtual&&a._ngZone.runOutsideAngular(function(){a.swiperRef.virtual.slides=a.slides,a.swiperRef.virtual.update(!0)}):(a.prependSlides=$d(a.slides.slice(a.slides.length-a.loopedSlides)),a.appendSlides=$d(a.slides.slice(0,a.loopedSlides))),a._changeDetectorRef.detectChanges()},this.style=null,this.updateVirtualSlides=function(e){!a.swiperRef||a.currentVirtualData&&a.currentVirtualData.from===e.from&&a.currentVirtualData.to===e.to&&a.currentVirtualData.offset===e.offset||(a.style=a.swiperRef.isHorizontal()?o({},a.swiperRef.rtlTranslate?"right":"left","".concat(e.offset,"px")):{top:"".concat(e.offset,"px")},a.currentVirtualData=e,a._activeSlides.next(e.slides),a._ngZone.run(function(){a._changeDetectorRef.detectChanges()}),a._ngZone.runOutsideAngular(function(){a.swiperRef.updateSlides(),a.swiperRef.updateProgress(),a.swiperRef.updateSlidesClasses(),a.swiperRef.lazy&&a.swiperRef.params.lazy.enabled&&a.swiperRef.lazy.load(),a.swiperRef.virtual.update(!0)}))}}return b(e,[{key:"navigation",get:function(){return this._navigation},set:function(e){var t,n,i,r="boolean"!=typeof this._navigation?null===(t=this._navigation)||void 0===t?void 0:t.nextEl:null,o="boolean"!=typeof this._navigation?null===(n=this._navigation)||void 0===n?void 0:n.prevEl:null;this._navigation=H2(e,{nextEl:r||null,prevEl:o||null}),this.showNavigation=!(!0!==z2(e)||this._navigation&&"boolean"!=typeof this._navigation&&this._navigation.prevEl!==(null===(i=this._prevElRef)||void 0===i?void 0:i.nativeElement)&&(null!==this._navigation.prevEl||null!==this._navigation.nextEl)&&("string"==typeof this._navigation.nextEl||"string"==typeof this._navigation.prevEl||"object"==typeof this._navigation.nextEl||"object"==typeof this._navigation.prevEl))}},{key:"pagination",get:function(){return this._pagination},set:function(e){var t,n="boolean"!=typeof this._pagination?null===(t=this._pagination)||void 0===t?void 0:t.el:null;this._pagination=H2(e,{el:n||null}),this.showPagination=B2(e,this._pagination,this._paginationElRef)}},{key:"scrollbar",get:function(){return this._scrollbar},set:function(e){var t,n="boolean"!=typeof this._scrollbar?null===(t=this._scrollbar)||void 0===t?void 0:t.el:null;this._scrollbar=H2(e,{el:n||null}),this.showScrollbar=B2(e,this._scrollbar,this._scrollbarElRef)}},{key:"virtual",get:function(){return this._virtual},set:function(e){this._virtual=H2(e)}},{key:"index",set:function(e){this.setIndex(e)}},{key:"config",set:function(e){this.updateSwiper(e);var t=W2(e).params;Object.assign(this,t)}},{key:"prevElRef",set:function(e){this._prevElRef=e,this._setElement(e,this.navigation,"navigation","prevEl")}},{key:"nextElRef",set:function(e){this._nextElRef=e,this._setElement(e,this.navigation,"navigation","nextEl")}},{key:"scrollbarElRef",set:function(e){this._scrollbarElRef=e,this._setElement(e,this.scrollbar,"scrollbar")}},{key:"paginationElRef",set:function(e){this._paginationElRef=e,this._setElement(e,this.pagination,"pagination")}},{key:"activeSlides",get:function(){return this.virtual?this._activeSlides:$d(this.slides)}},{key:"zoomContainerClass",get:function(){return"boolean"!=typeof this.zoom?this.zoom.containerClass:"swiper-zoom-container"}},{key:"_setElement",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"el";if(e&&t){if(t&&e.nativeElement){if(t[i]===e.nativeElement)return;t[i]=e.nativeElement}var r={};r[n]=!0,this.updateInitSwiper(r)}}},{key:"ngOnInit",value:function(){var e=W2(this).params;Object.assign(this,e)}},{key:"ngAfterViewInit",value:function(){var e=this;this.childrenSlidesInit(),this.initSwiper(),this._changeDetectorRef.detectChanges(),setTimeout(function(){e.s_swiper.emit(e.swiperRef)})}},{key:"childrenSlidesInit",value:function(){this.slidesChanges(this.slidesEl),this.slidesEl.changes.subscribe(this.slidesChanges)}},{key:"isSwiperActive",get:function(){return this.swiperRef&&!this.swiperRef.destroyed}},{key:"initSwiper",value:function(){var e=this,t=W2(this).params;Object.assign(this,t),this._ngZone.runOutsideAngular(function(){t.init=!1,t.virtual||(t.observer=!0),t.onAny=function(t){for(var n=e["s_".concat(t)],i=arguments.length,r=new Array(i>1?i-1:0),o=1;o=0)){var o=null!==(i=null===(n=e[r])||void 0===n?void 0:n.currentValue)&&void 0!==i?i:e[r];t.updateParameter(r,o)}e.allowSlideNext&&(t.swiperRef.allowSlideNext=t.allowSlideNext),e.allowSlidePrev&&(t.swiperRef.allowSlidePrev=t.allowSlidePrev),e.direction&&t.swiperRef.changeDirection(t.direction,!1),e.breakpoints&&(t.loop&&!t.loopedSlides&&t.calcLoopedSlides(),t.swiperRef.currentBreakpoint=null,t.swiperRef.setBreakpoint()),(e.thumbs||e.controller)&&t.updateInitSwiper(e),t.swiperRef.update()}})}},{key:"calcLoopedSlides",value:function(){if(this.loop){var e=this.slidesPerView;if(this.breakpoints){var t=d2.prototype.getBreakpoint(this.breakpoints),n=t in this.breakpoints?this.breakpoints[t]:void 0;n&&n.slidesPerView&&(e=n.slidesPerView)}if("auto"===e)return this.loopedSlides=this.slides.length,this.slides.length;var i=this.loopedSlides||e;return(i+=this.loopAdditionalSlides)>this.slides.length&&(i=this.slides.length),this.loopedSlides=i,i}}},{key:"updateParameter",value:function(e,t){if(this.swiperRef&&!this.swiperRef.destroyed){var n=e.replace(/^_/,""),i=F2(this.swiperRef.params[n]);if(Object.keys(this.swiperRef.modules).indexOf(n)>=0){var r=this.swiperRef.modules[n].params[n];i?V2(this.swiperRef.params[n],r):this.swiperRef.params[n]=r}i&&F2(t)?V2(this.swiperRef.params[n],t):this.swiperRef.params[n]=t}}},{key:"setIndex",value:function(e,t,n){var i=this;this.isSwiperActive?e!==this.swiperRef.activeIndex&&this._ngZone.runOutsideAngular(function(){i.loop?i.swiperRef.slideToLoop(e,t,!n):i.swiperRef.slideTo(e,t,!n)}):this.initialSlide=e}},{key:"ngOnDestroy",value:function(){var e=this;this._ngZone.runOutsideAngular(function(){var t;null===(t=e.swiperRef)||void 0===t||t.destroy(!0,!1)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Xl),Os(Ju),Os(Cc),Os(Ml))},e.\u0275cmp=Ot({type:e,selectors:[["swiper"],["","swiper",""]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,q2,4),2&e)&&(ml(i=_l())&&(t.slidesEl=i))},viewQuery:function(e,t){var n;(1&e&&(yl(f2,5),yl(p2,5),yl(v2,5),yl(g2,5)),2&e)&&(ml(n=_l())&&(t.prevElRef=n.first),ml(n=_l())&&(t.nextElRef=n.first),ml(n=_l())&&(t.scrollbarElRef=n.first),ml(n=_l())&&(t.paginationElRef=n.first))},hostVars:2,hostBindings:function(e,t){2&e&&du(t.containerClasses)},inputs:{slideClass:"slideClass",wrapperClass:"wrapperClass",navigation:"navigation",pagination:"pagination",scrollbar:"scrollbar",virtual:"virtual",index:"index",config:"config",loopedSlides:"loopedSlides",initialSlide:"initialSlide",direction:"direction",touchEventsTarget:"touchEventsTarget",speed:"speed",cssMode:"cssMode",updateOnWindowResize:"updateOnWindowResize",resizeObserver:"resizeObserver",nested:"nested",focusableElements:"focusableElements",width:"width",height:"height",preventInteractionOnTransition:"preventInteractionOnTransition",userAgent:"userAgent",url:"url",edgeSwipeDetection:"edgeSwipeDetection",edgeSwipeThreshold:"edgeSwipeThreshold",freeMode:"freeMode",freeModeMomentum:"freeModeMomentum",freeModeMomentumRatio:"freeModeMomentumRatio",freeModeMomentumBounce:"freeModeMomentumBounce",freeModeMomentumBounceRatio:"freeModeMomentumBounceRatio",freeModeMomentumVelocityRatio:"freeModeMomentumVelocityRatio",freeModeSticky:"freeModeSticky",freeModeMinimumVelocity:"freeModeMinimumVelocity",autoHeight:"autoHeight",setWrapperSize:"setWrapperSize",virtualTranslate:"virtualTranslate",effect:"effect",breakpoints:"breakpoints",spaceBetween:"spaceBetween",slidesPerView:"slidesPerView",slidesPerColumn:"slidesPerColumn",slidesPerColumnFill:"slidesPerColumnFill",slidesPerGroup:"slidesPerGroup",slidesPerGroupSkip:"slidesPerGroupSkip",centeredSlides:"centeredSlides",centeredSlidesBounds:"centeredSlidesBounds",slidesOffsetBefore:"slidesOffsetBefore",slidesOffsetAfter:"slidesOffsetAfter",normalizeSlideIndex:"normalizeSlideIndex",centerInsufficientSlides:"centerInsufficientSlides",watchOverflow:"watchOverflow",roundLengths:"roundLengths",touchRatio:"touchRatio",touchAngle:"touchAngle",simulateTouch:"simulateTouch",shortSwipes:"shortSwipes",longSwipes:"longSwipes",longSwipesRatio:"longSwipesRatio",longSwipesMs:"longSwipesMs",followFinger:"followFinger",allowTouchMove:"allowTouchMove",threshold:"threshold",touchMoveStopPropagation:"touchMoveStopPropagation",touchStartPreventDefault:"touchStartPreventDefault",touchStartForcePreventDefault:"touchStartForcePreventDefault",touchReleaseOnEdges:"touchReleaseOnEdges",uniqueNavElements:"uniqueNavElements",resistance:"resistance",resistanceRatio:"resistanceRatio",watchSlidesProgress:"watchSlidesProgress",watchSlidesVisibility:"watchSlidesVisibility",grabCursor:"grabCursor",preventClicks:"preventClicks",preventClicksPropagation:"preventClicksPropagation",slideToClickedSlide:"slideToClickedSlide",preloadImages:"preloadImages",updateOnImagesReady:"updateOnImagesReady",loop:"loop",loopAdditionalSlides:"loopAdditionalSlides",loopFillGroupWithBlank:"loopFillGroupWithBlank",loopPreventsSlide:"loopPreventsSlide",allowSlidePrev:"allowSlidePrev",allowSlideNext:"allowSlideNext",swipeHandler:"swipeHandler",noSwiping:"noSwiping",noSwipingClass:"noSwipingClass",noSwipingSelector:"noSwipingSelector",passiveListeners:"passiveListeners",containerModifierClass:"containerModifierClass",slideBlankClass:"slideBlankClass",slideActiveClass:"slideActiveClass",slideDuplicateActiveClass:"slideDuplicateActiveClass",slideVisibleClass:"slideVisibleClass",slideDuplicateClass:"slideDuplicateClass",slideNextClass:"slideNextClass",slideDuplicateNextClass:"slideDuplicateNextClass",slidePrevClass:"slidePrevClass",slideDuplicatePrevClass:"slideDuplicatePrevClass",runCallbacksOnInit:"runCallbacksOnInit",observeParents:"observeParents",observeSlideChildren:"observeSlideChildren",a11y:"a11y",autoplay:"autoplay",controller:"controller",coverflowEffect:"coverflowEffect",cubeEffect:"cubeEffect",fadeEffect:"fadeEffect",flipEffect:"flipEffect",hashNavigation:"hashNavigation",history:"history",keyboard:"keyboard",lazy:"lazy",mousewheel:"mousewheel",parallax:"parallax",thumbs:"thumbs",zoom:"zoom",class:"class",id:"id"},outputs:{s__beforeBreakpoint:"_beforeBreakpoint",s__containerClasses:"_containerClasses",s__slideClass:"_slideClass",s__swiper:"_swiper",s_activeIndexChange:"activeIndexChange",s_afterInit:"afterInit",s_autoplay:"autoplay",s_autoplayStart:"autoplayStart",s_autoplayStop:"autoplayStop",s_beforeDestroy:"beforeDestroy",s_beforeInit:"beforeInit",s_beforeLoopFix:"beforeLoopFix",s_beforeResize:"beforeResize",s_beforeSlideChangeStart:"beforeSlideChangeStart",s_beforeTransitionStart:"beforeTransitionStart",s_breakpoint:"breakpoint",s_changeDirection:"changeDirection",s_click:"click",s_doubleTap:"doubleTap",s_doubleClick:"doubleClick",s_destroy:"destroy",s_fromEdge:"fromEdge",s_hashChange:"hashChange",s_hashSet:"hashSet",s_imagesReady:"imagesReady",s_init:"init",s_keyPress:"keyPress",s_lazyImageLoad:"lazyImageLoad",s_lazyImageReady:"lazyImageReady",s_loopFix:"loopFix",s_momentumBounce:"momentumBounce",s_navigationHide:"navigationHide",s_navigationShow:"navigationShow",s_observerUpdate:"observerUpdate",s_orientationchange:"orientationchange",s_paginationHide:"paginationHide",s_paginationRender:"paginationRender",s_paginationShow:"paginationShow",s_paginationUpdate:"paginationUpdate",s_progress:"progress",s_reachBeginning:"reachBeginning",s_reachEnd:"reachEnd",s_realIndexChange:"realIndexChange",s_resize:"resize",s_scroll:"scroll",s_scrollbarDragEnd:"scrollbarDragEnd",s_scrollbarDragMove:"scrollbarDragMove",s_scrollbarDragStart:"scrollbarDragStart",s_setTransition:"setTransition",s_setTranslate:"setTranslate",s_slideChange:"slideChange",s_slideChangeTransitionEnd:"slideChangeTransitionEnd",s_slideChangeTransitionStart:"slideChangeTransitionStart",s_slideNextTransitionEnd:"slideNextTransitionEnd",s_slideNextTransitionStart:"slideNextTransitionStart",s_slidePrevTransitionEnd:"slidePrevTransitionEnd",s_slidePrevTransitionStart:"slidePrevTransitionStart",s_slideResetTransitionStart:"slideResetTransitionStart",s_slideResetTransitionEnd:"slideResetTransitionEnd",s_sliderMove:"sliderMove",s_sliderFirstMove:"sliderFirstMove",s_slidesLengthChange:"slidesLengthChange",s_slidesGridLengthChange:"slidesGridLengthChange",s_snapGridLengthChange:"snapGridLengthChange",s_snapIndexChange:"snapIndexChange",s_tap:"tap",s_toEdge:"toEdge",s_touchEnd:"touchEnd",s_touchMove:"touchMove",s_touchMoveOpposite:"touchMoveOpposite",s_touchStart:"touchStart",s_transitionEnd:"transitionEnd",s_transitionStart:"transitionStart",s_update:"update",s_zoomChange:"zoomChange",s_swiper:"swiper",indexChange:"indexChange"},features:[qt],ngContentSelectors:j2,decls:13,vars:17,consts:[[4,"ngIf"],["class","swiper-scrollbar",4,"ngIf"],["class","swiper-pagination",4,"ngIf"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["slidesTemplate",""],[1,"swiper-button-prev"],["prevElRef",""],[1,"swiper-button-next"],["nextElRef",""],[1,"swiper-scrollbar"],["scrollbarElRef",""],[1,"swiper-pagination"],["paginationElRef",""],[3,"ngClass","style","ngSwitch",4,"ngFor","ngForOf"],[3,"ngClass","ngSwitch"],[3,"ngClass",4,"ngSwitchCase"],[4,"ngSwitchDefault"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(e,t){if(1&e&&(Xs(R2),Ys(0),Cs(1,m2,5,0,"ng-container",0),Cs(2,y2,2,0,"div",1),Cs(3,b2,2,0,"div",2),As(4,"div",3),Ys(5,1),Cs(6,w2,1,0,void 0,4),Cs(7,x2,1,0,void 0,4),Cs(8,C2,1,0,void 0,4),Ys(9,2),Ms(),Ys(10,3),Cs(11,I2,2,3,"ng-template",null,5,Sl)),2&e){var n=Es(12);Yo(1),Ts("ngIf",t.navigation&&t.showNavigation),Yo(1),Ts("ngIf",t.scrollbar&&t.showScrollbar),Yo(1),Ts("ngIf",t.pagination&&t.showPagination),Yo(1),Ts("ngClass",t.wrapperClass),ks("id",t.id),Yo(2),Ts("ngTemplateOutlet",n)("ngTemplateOutletContext",$c(11,D2,t.prependSlides)),Yo(1),Ts("ngTemplateOutlet",n)("ngTemplateOutletContext",$c(13,N2,t.activeSlides)),Yo(1),Ts("ngTemplateOutlet",n)("ngTemplateOutletContext",$c(15,L2,t.appendSlides))}},directives:[Yh,Gh,nd,qh,Zh,Jh,ed],pipes:[sd],styles:["\n swiper {\n display: block;\n }\n "],encapsulation:2,changeDetection:0}),e}(),Y2=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd]]}),e}();function K2(e,t){if(1&e){var n=Ls();As(0,"div",7),As(1,"div",8),Cu(2),Ms(),As(3,"a",9),Vs("click",function(){bn(n);var e=Ws().$implicit;return Ws().linkClicked.emit(e)}),Cu(4," DATA "),As(5,"mat-icon"),Cu(6,"open_in_new"),Ms(),Ms(),Ms()}if(2&e){var i=Ws().$implicit;Yo(1),uu("background-image","url("+i.thumbnail+")"),Yo(1),Ou(" ",i.technology," ")}}function $2(e,t){1&e&&(Rs(0),Cs(1,K2,7,3,"ng-template",6),Ds())}var Q2=function(){var e=-1;return function(){return e+=1}}(),Z2=function(){var e=function(){function e(){m(this,e),this.className="ccf-thumbnail-carousel",this.linkClicked=new ol,this.uid=Q2(),this.config={allowTouchMove:!1,slidesOffsetBefore:4,slidesOffsetAfter:4,slidesPerView:"auto",spaceBetween:4,watchOverflow:!0},this.navigation={prevEl:"#"+this.prevButtonId,nextEl:"#"+this.nextButtonId}}return b(e,[{key:"prevButtonId",get:function(){return"ccf-thumbnail-carousel-prev-button-".concat(this.uid)}},{key:"nextButtonId",get:function(){return"ccf-thumbnail-carousel-next-button-".concat(this.uid)}},{key:"itemId",value:function(e,t){return t.thumbnail}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-thumbnail-carousel"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{data:"data"},outputs:{linkClicked:"linkClicked"},decls:11,vars:6,consts:[[1,"prev"],["mat-icon-button","","disableRipple",""],[1,"swiper",3,"config","navigation"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"next"],[1,"fade"],["swiperSlide",""],[1,"slide"],[1,"thumbnail"],[1,"link",3,"click"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"button",1),As(2,"mat-icon"),Cu(3,"navigate_before"),Ms(),Ms(),Ms(),As(4,"swiper",2),Cs(5,$2,2,0,"ng-container",3),Ms(),As(6,"div",4),As(7,"button",1),Is(8,"div",5),As(9,"mat-icon"),Cu(10,"navigate_next"),Ms(),Ms(),Ms()),2&e&&(Yo(1),ks("id",t.prevButtonId),Yo(3),Ts("config",t.config)("navigation",t.navigation),Yo(1),Ts("ngForOf",t.data)("ngForTrackBy",t.itemId),Yo(2),ks("id",t.nextButtonId))},directives:[q_,B_,X2,qh,q2],styles:['[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%]{flex-grow:1;padding-bottom:.3125rem}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%] .swiper-slide{width:3.75rem;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%]{display:flex;align-items:center;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] button[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:1.5rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{position:absolute;top:-.625rem;left:-2rem;z-index:10;width:2rem;height:3.125rem;opacity:1;transition:opacity ease-in-out .3s;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%]{cursor:default;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]{position:relative;width:100%;height:100%}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;background-size:cover;position:relative;width:calc(100% - 2 * .125rem);height:calc(100% - 2 * .125rem);border-style:solid;border-width:.125rem;border-radius:.25rem;background-origin:padding-box;background-clip:padding-box;font-size:.875rem;font-weight:bold}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:-.125rem;left:-.125rem;width:.125rem;height:.125rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;right:0;left:0;opacity:0;transition:opacity ease-in-out .3s;box-shadow:0 2px 4px #0009;font-size:.75rem;line-height:.75rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%], [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:link, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:visited, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:active{cursor:pointer;text-decoration:none}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]:hover .link[_ngcontent-%COMP%]{opacity:1}'],changeDetection:0}),e}();function J2(e,t){if(1&e){var n=Ls();As(0,"mat-icon",14),Vs("click",function(){return bn(n),Ws().toggleExpansion()}),Cu(1),Ms()}if(2&e){var i=Ws();Yo(1),Eu(i.expanded?"expand_less":"expand_more")}}function e3(e,t){if(1&e&&Is(0,"ccf-tissue-section-vis",20),2&e){var n=Ws(2);Ts("totalTissueSections",n.tissueBlock.sectionCount)("tissueSections",n.tissueBlock.sections)}}function t3(e,t){if(1&e){var n=Ls();Rs(0),As(1,"ccf-thumbnail-carousel",21),Vs("linkClicked",function(e){return bn(n),Ws(2).linkHandler(e.link)}),Ms(),Ds()}if(2&e){var i=Ws(2);Yo(1),Ts("data",i.tissueBlock.datasets)}}function n3(e,t){if(1&e){var n=Ls();Rs(0),As(1,"ccf-thumbnail-carousel",21),Vs("linkClicked",function(e){return bn(n),Ws(3).linkHandler(e.link)}),Ms(),Ds()}if(2&e){var i=Ws().$implicit;Yo(1),Ts("data",i.datasets)}}function i3(e,t){if(1&e){var n=Ls();As(0,"div",22),As(1,"div",23),As(2,"mat-icon",24),Cu(3,"bubble_chart"),Ms(),As(4,"div",17),As(5,"div",8),Cu(6),Ms(),As(7,"div",8),Cu(8),Ms(),Ms(),As(9,"div",9),Vs("click",function(){var e=bn(n).$implicit;return Ws(2).linkHandler(e.link)}),As(10,"div",10),Cu(11,"TISSUE SECTION"),Ms(),As(12,"mat-icon",11),Cu(13,"open_in_new"),Ms(),Ms(),Ms(),Cs(14,n3,2,1,"ng-container",13),Ms()}if(2&e){var i=t.$implicit;Yo(6),Eu(i.label),Yo(2),Eu(i.description),Yo(6),Ts("ngIf",i.datasets.length>0)}}function r3(e,t){if(1&e){var n=Ls();Rs(0),As(1,"div",15),As(2,"div",16),As(3,"mat-icon",5),Cu(4,"bubble_chart"),Ms(),As(5,"div",17),As(6,"div",8),Cu(7),Ms(),As(8,"div",8),Cu(9),Ms(),Ms(),As(10,"div",9),Vs("click",function(){bn(n);var e=Ws();return e.linkHandler(e.tissueBlock.link)}),As(11,"div",10),Cu(12,"TISSUE BLOCK"),Ms(),As(13,"mat-icon",11),Cu(14,"open_in_new"),Ms(),Ms(),Ms(),Cs(15,e3,1,2,"ccf-tissue-section-vis",18),Cs(16,t3,2,1,"ng-container",13),Ms(),Cs(17,i3,15,3,"div",19),Ds()}if(2&e){var i=Ws();Yo(7),Eu(i.tissueBlock.label),Yo(2),Eu(i.tissueBlock.description),Yo(6),Ts("ngIf",i.tissueBlock.sections.length>1),Yo(1),Ts("ngIf",i.tissueBlock.datasets.length>0),Yo(1),Ts("ngForOf",i.tissueBlock.sections)}}var o3=function(e){return{"background-color":e}},a3=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.clsName="ccf-donor-card",this.selected=!1,this.expanded=!1,this.highlighted=!1,this.checked=new ol,this.linkClick=new ol,this.hoverState=""}return b(e,[{key:"handleCheckbox",value:function(){this.selected=!this.selected,this.ga.event("selected_toggled","donor_card",this.tissueBlock.label,+this.selected),this.checked.emit(this.selected),this.expanded=!1}},{key:"toggleExpansion",value:function(){this.selected&&(this.expanded=!this.expanded,this.ga.event("expanded_toggled","donor_card",this.tissueBlock.label,+this.expanded))}},{key:"linkHandler",value:function(e){this.ga.event("link_clicked","donor_card",this.tissueBlock.label),this.selected?this.linkClick.emit(e):(this.selected=!0,this.checked.emit(this.selected))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-donor-card"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{tissueBlock:"tissueBlock",selected:"selected",color:"color",expanded:"expanded",highlighted:"highlighted"},outputs:{checked:"checked",linkClick:"linkClick"},decls:19,vars:20,consts:[[1,"main-container"],[1,"checkbox-background",3,"ngStyle","click"],[1,"checkbox",3,"checked"],[1,"hoverable","default-padding","donor","mat-elevation-z2"],[1,"d-flex"],[1,"icon-size","icon-dark","mr-5"],[1,"donor-info"],[1,"title","description"],[1,"description"],[1,"hover-state","mat-elevation-z4",3,"click"],[1,"hover-title"],[1,"icon-size","hover-icon"],["class","icon-size ml-5 selectable",3,"click",4,"ngIf"],[4,"ngIf"],[1,"icon-size","ml-5","selectable",3,"click"],[1,"expanded-view","mat-elevation-z2","align-end"],[1,"info-block","hover-enabled","default-padding"],[1,"text-content"],[3,"totalTissueSections","tissueSections",4,"ngIf"],["class","expanded-view w-80 mat-elevation-z2 align-end",4,"ngFor","ngForOf"],[3,"totalTissueSections","tissueSections"],[1,"mt-05",3,"data","linkClicked"],[1,"expanded-view","w-80","mat-elevation-z2","align-end"],[1,"default-padding","info-block","hover-enabled"],[1,"icon-size","mr-5","icon-light"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),Vs("click",function(){return t.handleCheckbox()}),Is(2,"mat-checkbox",2),Ms(),As(3,"div",3),As(4,"div",4),As(5,"mat-icon",5),Cu(6,"person"),Ms(),As(7,"div",6),As(8,"div",7),Cu(9),Ms(),As(10,"div",8),Cu(11),Ms(),Ms(),Ms(),As(12,"div",9),Vs("click",function(){return t.linkHandler(t.tissueBlock.donor.link)}),As(13,"div",10),Cu(14,"DONOR"),Ms(),As(15,"mat-icon",11),Cu(16,"open_in_new"),Ms(),Ms(),Cs(17,J2,2,1,"mat-icon",12),Ms(),Ms(),Cs(18,r3,18,5,"ng-container",13)),2&e&&(Yo(1),cu("selected",t.selected)("highlighted",t.highlighted),Ts("ngStyle",$c(18,o3,t.selected?t.color:"transparent")),Yo(1),cu("checkselected",t.selected),Ts("checked",t.selected),Yo(1),cu("hover-enabled",t.selected)("expanded",t.expanded)("highlighted",t.highlighted),Yo(6),Eu(t.tissueBlock.donor.label),Yo(2),Eu(t.tissueBlock.donor.description),Yo(6),Ts("ngIf",t.selected),Yo(1),Ts("ngIf",t.expanded))},directives:[td,e$,B_,Yh,qh,y1,Z2],styles:["[_nghost-%COMP%]{width:100%}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{display:flex;min-height:3rem;width:100%;align-items:center;padding-left:.5rem}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%]{height:2rem;width:2rem;border-radius:50%;margin-right:.5rem;display:flex;justify-content:center;align-items:center;cursor:pointer}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-checked.mat-accent .mat-checkbox-background, [_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-indeterminate.mat-accent[_ngcontent-%COMP%] .mat-checkbox-background[_ngcontent-%COMP%]{background-color:transparent}[_nghost-%COMP%] .checkbox-background.highlighted[_ngcontent-%COMP%] .mat-ripple-element{opacity:.04}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkselected[_ngcontent-%COMP%] .mat-checkbox-frame{border-color:#fff!important}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkbox[_ngcontent-%COMP%]{margin-left:1.12rem;margin-bottom:.12rem}[_nghost-%COMP%] .align-end[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;width:100%;align-items:center}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]:not(:first-child){margin-top:.5rem}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .donor.highlighted[_ngcontent-%COMP%]{box-shadow:0 6px 2px -2px #0003,0 4px 4px #00000024,0 2px 10px #0000001f}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .hover-state[_ngcontent-%COMP%]{width:19.5rem!important}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .hoverable[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]:hover .hover-state[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%]{transition:opacity .15s ease-in-out;opacity:0;cursor:pointer;position:absolute;height:100%;width:100%;top:0;margin-left:-.5rem;align-items:center;display:flex;justify-content:flex-end;padding-right:1rem;font-size:.75rem}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-title[_ngcontent-%COMP%]{font-weight:lighter}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-icon[_ngcontent-%COMP%]{margin-left:1rem}[_nghost-%COMP%] .default-padding[_ngcontent-%COMP%]{padding:.25rem .5rem}[_nghost-%COMP%] .expanded-view[_ngcontent-%COMP%]{margin-top:.25rem;width:85%;margin-bottom:.25rem}[_nghost-%COMP%] .d-flex[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .icon-size[_ngcontent-%COMP%]{height:1.5rem;width:1.5rem;font-size:1.5rem}[_nghost-%COMP%] .selectable[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%]{width:80%!important}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:16rem!important}[_nghost-%COMP%] .ml-5[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mr-5[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .mt-05[_ngcontent-%COMP%]{margin-top:.5rem}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),e}();function s3(e,t){if(1&e&&(As(0,"div",7),As(1,"div",8),Cu(2),Ms(),As(3,"div",9),Cu(4),Ms(),Ms()),2&e){var n=t.$implicit;Yo(2),Eu(n.count),Yo(2),Eu(n.label)}}function u3(e,t){if(1&e){var n=Ls();As(0,"div",10),Vs("mouseenter",function(){var e=bn(n).$implicit;return Ws().handleHover(e.tissueBlock.spatialEntityId)})("mouseleave",function(){return bn(n),Ws().handleUnhover()}),As(1,"ccf-donor-card",11),Vs("checked",function(e){var t=bn(n).$implicit;return Ws().handleSelection(t,e)})("linkClick",function(e){return bn(n),Ws().handleLinkClick(e)}),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws();Yo(1),Ts("tissueBlock",i.tissueBlock)("selected",i.selected)("color",i.color)("highlighted",i.tissueBlock.spatialEntityId===r.highlighted)}}var c3=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.linkClicked=new ol,this.listResultSelected=new ol,this.listResultDeselected=new ol,this.itemHovered=new ol,this.itemUnhovered=new ol,this.atScrollBottom=!1}return b(e,[{key:"handleSelection",value:function(e,t){this.ga.event("list_result_selected","results_browser",this.resultLabel,+t),t?this.listResultSelected.next(e):this.listResultDeselected.next(e)}},{key:"handleLinkClick",value:function(e){this.linkClicked.emit(e)}},{key:"onScroll",value:function(e){if(e.target){var t=e.target,n=t.clientHeight,i=t.scrollHeight,r=t.scrollTop;this.atScrollBottom=i-r-n<64}}},{key:"handleHover",value:function(e){this.itemHovered.emit(e)}},{key:"handleUnhover",value:function(){this.itemUnhovered.emit()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-results-browser"]],inputs:{listResults:"listResults",aggregateData:"aggregateData",resultLabel:"resultLabel",highlighted:"highlighted",header:"header"},outputs:{linkClicked:"linkClicked",listResultSelected:"listResultSelected",listResultDeselected:"listResultDeselected",itemHovered:"itemHovered",itemUnhovered:"itemUnhovered"},decls:8,vars:7,consts:[[1,"results-browser-container"],[1,"stat-box"],["id","title"],["class","stat-row",4,"ngFor","ngForOf"],[1,"results-browser-list",3,"scroll"],["class","browser-item-container",3,"mouseenter","mouseleave",4,"ngFor","ngForOf"],[1,"scroll-gradient"],[1,"stat-row"],[1,"stat-value"],[1,"stat-label"],[1,"browser-item-container",3,"mouseenter","mouseleave"],[3,"tissueBlock","selected","color","highlighted","checked","linkClick"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"div",2),Cu(3),Ms(),Cs(4,s3,5,2,"div",3),Ms(),As(5,"div",4),Vs("scroll",function(e){return t.onScroll(e)}),Cs(6,u3,2,4,"div",5),Ms(),Is(7,"div",6),Ms()),2&e&&(Yo(3),Eu(t.resultLabel),Yo(1),Ts("ngForOf",t.aggregateData),Yo(1),cu("header-hidden",!t.header),Yo(1),Ts("ngForOf",t.listResults),Yo(1),cu("hidden",!!t.atScrollBottom))},directives:[qh,a3],styles:[".results-browser-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:calc(100% - 3rem);padding:0 1.5rem 1.5rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%]{margin-bottom:1.5rem;line-height:1.25;min-height:7.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] #title[_ngcontent-%COMP%]{font-size:1.25rem;margin-bottom:.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%]{display:flex;flex-direction:row}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{margin-right:1rem;width:5.5rem;text-align:right;font-weight:600}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-weight:300}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;padding-right:.5rem;height:calc(100vh - 20rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 16rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%] .browser-item-container[_ngcontent-%COMP%]{width:100%}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:95%;bottom:0;pointer-events:none}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),e}(),l3=["*",[["mat-toolbar-row"]]],h3=["*","mat-toolbar-row"],d3=ab(function(){return function e(t){m(this,e),this._elementRef=t}}()),f3=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),e}(),p3=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e))._platform=i,o._document=r,o}return b(n,[{key:"ngAfterViewInit",value:function(){var e=this;this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(function(){return e._checkToolbarMixedModes()}))}},{key:"_checkToolbarMixedModes",value:function(){}}]),n}(d3);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(qf),Os(bh))},e.\u0275cmp=Ot({type:e,selectors:[["mat-toolbar"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,f3,5),2&e)&&(ml(i=_l())&&(t._toolbarRows=i))},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(e,t){2&e&&cu("mat-toolbar-multiple-rows",t._toolbarRows.length>0)("mat-toolbar-single-row",0===t._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[cs],ngContentSelectors:h3,decls:2,vars:0,template:function(e,t){1&e&&(Xs(l3),Ys(0),Ys(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),e}(),v3=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb],rb]}),e}();function g3(e,t){if(1&e&&(As(0,"a",5),Cu(1,"LOGIN"),Ms()),2&e){var n=Ws();cu("disabled",n.loginDisabled||!n.homeUrl),Ts("href",n.homeUrl+"login",Xr)}}function m3(e,t){if(1&e&&(As(0,"a",5),Cu(1,"LOGOUT"),Ms()),2&e){var n=Ws();cu("disabled",n.loginDisabled||!n.homeUrl),Ts("href",n.homeUrl+"logout",Xr)}}var y3=function(){var e=function e(){m(this,e),this.refreshClicked=new ol,this.downloadClicked=new ol};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-header"]],inputs:{homeUrl:"homeUrl",loginDisabled:"loginDisabled",logoTooltip:"logoTooltip",loggedIn:"loggedIn",filters:"filters"},outputs:{refreshClicked:"refreshClicked",downloadClicked:"downloadClicked"},decls:6,vars:4,consts:[[1,"ccf-header"],[1,"home",3,"href"],["aria-hidden","false","aria-label","Reset tool","matTooltipPosition","right",1,"logo",3,"matTooltip"],[1,"filler"],["mat-button","","class","authentication","rel","noreferrer noopener","target","_blank",3,"disabled","href",4,"ngIf"],["mat-button","","rel","noreferrer noopener","target","_blank",1,"authentication",3,"href"]],template:function(e,t){1&e&&(As(0,"mat-toolbar",0),As(1,"a",1),Is(2,"div",2),Ms(),Is(3,"div",3),Cs(4,g3,2,3,"a",4),Cs(5,m3,2,3,"a",4),Ms()),2&e&&(Yo(1),Ts("href",t.homeUrl,Xr),Yo(1),Ts("matTooltip",t.logoTooltip),Yo(2),Ts("ngIf",!t.loggedIn),Yo(1),Ts("ngIf",t.loggedIn))},directives:[p3,Ow,Yh,X_],styles:[".ccf-header[_ngcontent-%COMP%]{height:4rem;padding:0 1.5rem;border-bottom-width:1px;border-bottom-style:solid;display:flex}.ccf-header[_ngcontent-%COMP%] .home[_ngcontent-%COMP%]{height:100%;width:25rem;align-items:center;display:flex;padding:.25rem 0}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:100%;height:50%;background-repeat:no-repeat;background-size:contain}.ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%]{height:1.5rem}.ccf-header[_ngcontent-%COMP%] .authentication[_ngcontent-%COMP%]{width:8.25rem;border-radius:.125rem;font-weight:500}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{display:flex;align-items:center;transition:color 1s;cursor:pointer;text-decoration:none}.ccf-header[_ngcontent-%COMP%] [_ngcontent-%COMP%]:not(:last-child){margin-right:1.5rem}.ccf-header[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1;margin:0}.ccf-header[_ngcontent-%COMP%] .filter-labels[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;font:400 1rem/1.25rem Inter,sans-serif}.ccf-header[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),e}(),b3=["bodyUI"];function _3(e,t){if(1&e&&(Is(0,"ccf-header",34),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Jc(4,"async")),2&e){var n=Ws();cu("hide",!1===el(1,6,n.header$)),Ts("logoTooltip",el(2,8,n.logoTooltip$))("homeUrl",el(3,10,n.homeUrl$))("loggedIn",n.loggedIn)("loginDisabled",el(4,12,n.loginDisabled$))}}function w3(e,t){if(1&e){var n=Ls();As(0,"div",35),Vs("click",function(){bn(n),Ws();var e=Es(72);return e.expanded=!e.expanded}),As(1,"mat-icon",36),Cu(2),Ms(),Ms()}if(2&e){Ws();var i=Es(72);Yo(2),Ou(" ",i.expanded?"arrow_drop_up":"arrow_drop_down"," ")}}function k3(e,t){if(1&e){var n=Ls();As(0,"div",35),Vs("click",function(){bn(n);var e=Ws();return e.organListVisible=!e.organListVisible}),As(1,"mat-icon",37),Cu(2),Ms(),Ms()}if(2&e){var i=Ws();Yo(2),Ou(" ",i.organListVisible?"arrow_drop_up":"arrow_drop_down"," ")}}var x3=function(){return{}},S3=function(){return{x:2.2,y:2,z:.4}},C3=function(){function e(n,i,r,o,a,s,u,c,l,h,d,f){var p=this;m(this,e),this.data=r,this.theming=o,this.scene=a,this.listResultsState=s,this.consentService=u,this.snackbar=c,this.dataSource=h,this.globalConfig=d,this.setSelectedSearches=vQ(AQ),this.removeSpatialSearch=vQ(PQ),this.ontologySelectionLabel="body",this.cellTypeSelectionLabel="cell",this.selectionLabel="body | cell",this.organListVisible=!0,this.url="",this.acceptableViewerDomains=pQ.acceptableViewerDomains||[],this.viewerOpen=!1,this.spinnerActive$=this.data.queryStatus$.pipe(ce(function(e){return e===xQ.Running})),this.loadingMessage$=this.data.state$.pipe(cG("statusMessage")),this.theme$=this.globalConfig.getOption("theme"),this.themeMode$=new Bf(1),this.header$=this.globalConfig.getOption("header"),this.homeUrl$=this.globalConfig.getOption("homeUrl"),this.logoTooltip$=this.globalConfig.getOption("logoTooltip"),this.loginDisabled$=this.globalConfig.getOption("loginDisabled"),o.initialize(n,i),l.setRootElement(n),r.tissueBlockData$.subscribe(),r.aggregateData$.subscribe(),r.ontologyTermOccurencesData$.subscribe(),r.cellTypeTermOccurencesData$.subscribe(),r.sceneData$.subscribe(),r.filter$.subscribe(),r.technologyFilterData$.subscribe(),r.providerFilterData$.subscribe(),this.ontologyTerms$=r.filter$.pipe(cG("ontologyTerms")),this.cellTypeTerms$=r.filter$.pipe(cG("cellTypeTerms")),J_([this.theme$,this.themeMode$]).subscribe(function(e){var n=t(e,2),i=n[0],r=n[1];p.theming.setTheme("".concat(i,"-theme-").concat(r)),f.markForCheck()})}return b(e,[{key:"isLightTheme",get:function(){return this.theming.getTheme().endsWith("light")}},{key:"ngOnInit",value:function(){var e=this,t=this.snackbar.openFromComponent(I$,{data:{preClose:function(){t.dismiss()}},duration:"not-set"===this.consentService.consent?1/0:3e3});window.matchMedia?(window.matchMedia("(prefers-color-scheme: dark)").matches?this.themeMode$.next("dark"):this.themeMode$.next("light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",function(t){e.themeMode$.next(t.matches?"dark":"light")})):this.themeMode$.next("light")}},{key:"reset",value:function(e,t,n){e.open(),e.closeExpanded(),t.open(),t.closeExpanded(),n.removeBox(),this.resetView()}},{key:"resetView",value:function(){this.bodyUI.target=[0,0,0],this.bodyUI.rotation=0,this.bodyUI.rotationX=0,this.bodyUI.bounds={x:2.2,y:2,z:.4}}},{key:"toggleScheme",value:function(){this.themeMode$.next(this.isLightTheme?"dark":"light")}},{key:"ontologySelected",value:function(e,t){if(e)return"anatomical-structures"===t?(this.data.updateFilter({ontologyTerms:e.map(function(e){return e.id})}),this.ontologySelectionLabel=this.createSelectionLabel(e)):(this.data.updateFilter({cellTypeTerms:e.map(function(e){return e.id})}),this.cellTypeSelectionLabel=this.createSelectionLabel(e)),this.selectionLabel=this.ontologySelectionLabel&&this.cellTypeSelectionLabel?"".concat(this.ontologySelectionLabel," | ").concat(this.cellTypeSelectionLabel):this.ontologySelectionLabel?"".concat(this.ontologySelectionLabel):this.cellTypeSelectionLabel?"".concat(this.cellTypeSelectionLabel):"",void(e[0]&&"body"===e[0].label&&this.resetView());this.data.updateFilter({ontologyTerms:[],cellTypeTerms:[]}),this.ontologySelectionLabel="",this.cellTypeSelectionLabel=""}},{key:"createSelectionLabel",value:function(e){if(0===e.length)return"";if(1===e.length)return e[0].label;var t="";return e.forEach(function(n,i){t+=n.label,i0}}]),e}();function E3(e,t){1&e&&Is(0,"ccf-root")}function O3(e){var t=function(e){return"string"==typeof e},n=function(e){return Array.isArray(e)&&e.every(t)};if("string"==typeof e){var i=fQ.json(e);if(n(i))return i}else if(n(e))return e;throw new Error("Invalid data sources")}C3.\u0275fac=function(e){return new(e||C3)(Os(Ju),Os(ss),Os(EQ),Os(cQ),Os(BQ),Os(jQ),Os(wq),Os(bw),Os(sQ),Os(N$),Os(T$),Os(Cc))},C3.\u0275cmp=Ot({type:C3,selectors:[["ccf-root"]],viewQuery:function(e,t){var n;(1&e&&yl(b3,5),2&e)&&(ml(n=_l())&&(t.bodyUI=n.first))},decls:83,vars:117,consts:[[1,"ccf-app","mat-app-background"],[3,"text","active"],[3,"hide","logoTooltip","homeUrl","loggedIn","loginDisabled",4,"ngIf"],[1,"main-drawers"],["opened","",1,"left-drawer",3,"stateChange"],["left",""],[1,"filter-data"],[3,"filters","drawerExpanded","technologyFilters","providerFilters","spatialSearchFilters","filtersChange","spatialSearchSelected","spatialSearchRemoved"],["filterbox",""],[1,"filter-text"],[1,"sex","filter-tag"],[1,"age","filter-tag"],[1,"bmi","filter-tag"],["placeholderText","Search anatomical structures...",1,"ontology-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["placeholderText","Search cell types...",1,"cell-type-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["position","end","opened","",1,"right-drawer",3,"stateChange"],["right",""],[1,"portal-view",3,"url","closed"],[1,"drawer-icons"],[1,"drawer-icons-left"],[1,"button",3,"matTooltip","click"],[1,"icon"],[1,"scheme-toggle","button",3,"matTooltip","click"],[1,"button"],["matTooltip","Reset View",1,"refresh","icon",3,"click"],["videoID","YAHJqvD3Q_8","infoTitle","CCF Exploration User Interface","documentationUrl","assets/docs/README.md","matTooltip","Open Info"],[3,"listResults","aggregateData","resultLabel","highlighted","header","listResultSelected","listResultDeselected","linkClicked","itemHovered","itemUnhovered"],[1,"selector-drawer"],[1,"organ-selector",3,"multiselect","occurenceData","organList","selectedOrgans","organsChanged"],["selector",""],[1,"close-button-wrapper"],["class","close-button",3,"click",4,"ngIf"],[1,"stage-content",3,"scene","bounds","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""],[3,"logoTooltip","homeUrl","loggedIn","loginDisabled"],[1,"close-button",3,"click"],["aria-hidden","false","aria-label","Expand carousel drawer",1,"expand-collapse-icon"],["aria-hidden","false","aria-label","Close carousel drawer",1,"expand-collapse-icon"]],template:function(e,t){if(1&e){var n=Ls();As(0,"div",0),Is(1,"ccf-spinner-overlay",1),Jc(2,"async"),Jc(3,"async"),Cs(4,_3,5,14,"ccf-header",2),Jc(5,"async"),As(6,"ccf-drawer-container",3),Jc(7,"async"),As(8,"ccf-drawer",4,5),Vs("stateChange",function(){return bn(n),Es(13).removeBox()}),As(10,"div"),As(11,"div",6),As(12,"ccf-filters-popover",7,8),Vs("filtersChange",function(e){return t.data.updateFilter(e)})("spatialSearchSelected",function(e){return t.setSelectedSearches(e)})("spatialSearchRemoved",function(e){return t.removeSpatialSearch(e)}),Jc(14,"async"),Jc(15,"async"),Jc(16,"async"),Jc(17,"async"),Ms(),As(18,"div",9),As(19,"div",10),Cu(20,"Sex: "),As(21,"strong"),Cu(22),Jc(23,"async"),Ms(),Ms(),As(24,"div",11),Cu(25,"Age: "),As(26,"strong"),Cu(27),Jc(28,"async"),Jc(29,"async"),Ms(),Ms(),As(30,"div",12),Cu(31,"BMI: "),As(32,"strong"),Cu(33),Jc(34,"async"),Jc(35,"async"),Ms(),Ms(),Ms(),Ms(),As(36,"ccf-ontology-selection",13),Vs("ontologySelection",function(e){return t.ontologySelected(e,"anatomical-structures")}),Jc(37,"async"),Jc(38,"async"),Jc(39,"async"),Jc(40,"async"),Ms(),As(41,"ccf-ontology-selection",14),Vs("ontologySelection",function(e){return t.ontologySelected(e,"cell-type")}),Jc(42,"async"),Jc(43,"async"),Jc(44,"async"),Jc(45,"async"),Ms(),Is(46,"ccf-drawer-toggle-button"),Ms(),Ms(),As(47,"ccf-drawer",15,16),Vs("stateChange",function(){return bn(n),Es(13).removeBox()}),As(49,"ccf-viewer",17),Vs("closed",function(){return t.viewerOpen=!1}),Ms(),As(50,"div",18),As(51,"div",19),As(52,"button",20),Vs("click",function(){bn(n);var e=Es(13),t=Es(48);return e.removeBox(),t.toggleExpanded()}),As(53,"mat-icon",21),Cu(54),Ms(),Ms(),As(55,"button",22),Vs("click",function(){return t.toggleScheme()}),As(56,"mat-icon",21),Cu(57),Ms(),Ms(),As(58,"button",23),As(59,"mat-icon",24),Vs("click",function(){bn(n);var e=Es(9),i=Es(48),r=Es(13);return t.reset(e,i,r)}),Cu(60,"refresh "),Ms(),Ms(),Ms(),Is(61,"ccf-info-button",25),Ms(),As(62,"ccf-results-browser",26),Vs("listResultSelected",function(e){return t.listResultsState.selectListResult(e)})("listResultDeselected",function(e){return t.listResultsState.deselectListResult(e)})("linkClicked",function(e){return t.openiFrameViewer(e)})("itemHovered",function(e){return t.listResultsState.highlightNode(e)})("itemUnhovered",function(){return t.listResultsState.unHighlightNode()}),Jc(63,"async"),Jc(64,"async"),Jc(65,"async"),Jc(66,"async"),Ms(),Is(67,"ccf-drawer-toggle-button"),Ms(),As(68,"ccf-drawer-content"),Jc(69,"async"),As(70,"div",27),As(71,"ccf-organ-selector",28,29),Vs("organsChanged",function(e){return t.scene.setSelectedReferenceOrgans(e)}),Jc(73,"async"),Jc(74,"async"),Jc(75,"async"),Ms(),Ms(),As(76,"div",30),Cs(77,w3,3,1,"div",31),Cs(78,k3,3,1,"div",31),Ms(),Is(79,"ccf-run-spatial-search"),As(80,"ccf-body-ui",32,33),Vs("nodeClick",function(e){return t.scene.sceneNodeClicked(e)})("nodeHoverStart",function(e){return t.scene.sceneNodeHovered(e)})("nodeHoverStop",function(){return t.scene.sceneNodeUnhover()}),Jc(82,"async"),Ms(),Ms(),Ms(),Ms()}if(2&e){var i,r,o,a,s=Es(48),u=Es(72);Yo(1),Ts("text",el(2,55,t.loadingMessage$))("active",el(3,57,t.spinnerActive$)),Yo(3),Ts("ngIf",!1===el(5,59,t.spinnerActive$)),Yo(2),cu("header-hidden",!1===el(7,61,t.header$)),Yo(6),Ts("filters",el(14,63,t.data.filter$))("drawerExpanded",s.expanded)("technologyFilters",el(15,65,t.data.technologyFilterData$))("providerFilters",el(16,67,t.data.providerFilterData$))("spatialSearchFilters",el(17,69,t.selectableSearches$)),Yo(10),Eu(null==(i=el(23,71,t.data.filter$))?null:i.sex),Yo(5),Tu("",null==(r=el(28,73,t.data.filter$))?null:r.ageRange[0],"-",null==(r=el(29,75,t.data.filter$))?null:r.ageRange[1],""),Yo(6),Tu("",null==(o=el(34,77,t.data.filter$))?null:o.bmiRange[0],"-",null==(o=el(35,79,t.data.filter$))?null:o.bmiRange[1],""),Yo(3),Ts("treeModel",el(37,81,t.ontologyTreeModel$))("termData",el(38,83,t.data.ontologyTermsFullData$))("occurenceData",el(39,85,t.data.ontologyTermOccurencesData$))("header",el(40,87,t.header$)),Yo(5),Ts("treeModel",el(42,89,t.cellTypeTreeModel$))("termData",el(43,91,t.data.cellTypeTermsFullData$))("occurenceData",el(44,93,t.data.cellTypeTermOccurencesData$))("header",el(45,95,t.header$)),Yo(8),cu("opened",t.viewerOpen),Ts("url",t.url),Yo(3),Ts("matTooltip",s.expanded?"Exit Fullscreen":"Enter Fullscreen"),Yo(2),Eu(s.expanded?"fullscreen_exit":"fullscreen"),Yo(1),Ts("matTooltip",t.isLightTheme?"Enter Dark Mode":"Enter Light Mode"),Yo(2),Ou("",t.isLightTheme?"brightness_2":"brightness_5"," "),Yo(5),Ts("listResults",el(63,97,t.listResultsState.listResults$))("aggregateData",el(64,99,t.data.aggregateData$))("resultLabel",t.selectionLabel)("highlighted",el(65,101,t.listResultsState.highlightedNodeId$))("header",el(66,103,t.header$)),Yo(6),cu("header-hidden",!1===el(69,105,t.header$)),Yo(2),cu("closed",!t.organListVisible)("expanded",u.expanded),Yo(1),Ts("multiselect",!0)("occurenceData",null!==(a=el(73,107,t.data.ontologyTermOccurencesData$))&&void 0!==a?a:Kc(115,x3))("organList",el(74,109,t.scene.referenceOrgans$))("selectedOrgans",el(75,111,t.scene.selectedReferenceOrgans$)),Yo(5),cu("closed",!t.organListVisible),Yo(1),Ts("ngIf",t.organListVisible),Yo(1),Ts("ngIf",!u.expanded),Yo(2),cu("expanded-stage",!t.organListVisible)("selector-expanded",u.expanded),Ts("scene",el(82,113,t.scene.scene$))("bounds",Kc(116,S3))}},directives:[$Q,Yh,hZ,aZ,O0,h1,d1,v1,Ow,B_,C$,c3,nZ,v$,b0,r$,y3],pipes:[sd],styles:[".cdk-overlay-container{position:absolute;font-size:1.2rem}[_nghost-%COMP%]{display:block;position:relative}.ccf-app[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:1rem;position:relative;text-align:left}.ccf-app[_ngcontent-%COMP%] ccf-header[_ngcontent-%COMP%]{z-index:99}.ccf-app[_ngcontent-%COMP%] ccf-header.hide[_ngcontent-%COMP%]{display:none}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%]{height:calc(100% - 5rem);width:100%;opacity:1;overflow:hidden;transform:scale(1)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container.header-hidden[_ngcontent-%COMP%]{height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%]{width:28.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%]{display:flex;padding-left:1.5rem;height:5rem;padding-right:1.5rem;align-items:center;justify-content:space-between}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border:none;cursor:pointer;outline:none;border-radius:.25rem;padding:.65rem;transition:.6s}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%]{overflow:hidden;border-radius:.5rem;height:calc(100vh - 4rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%]{top:0rem;display:flex;flex-direction:column;position:relative;transition:all .5s ease-in-out;height:5rem;justify-content:start}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.expanded[_ngcontent-%COMP%]{height:15rem;overflow-y:auto}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.closed[_ngcontent-%COMP%]{height:1.5rem;top:-5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] ccf-run-spatial-search[_ngcontent-%COMP%]{position:relative;float:right;height:0px;z-index:1;top:.5rem;right:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .stage-content[_ngcontent-%COMP%]{transition:all .5s ease-in-out;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .expanded-stage[_ngcontent-%COMP%]{height:calc(100% - 3rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-expanded[_ngcontent-%COMP%]{height:calc(100% - 16.5rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 1rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;border-top-right-radius:.5rem;border-top-left-radius:.5rem;height:0}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{display:flex;justify-content:center;height:1.0625rem;width:3rem;align-self:center;border-radius:0 0 .25rem .25rem;cursor:pointer;transition:.6s;position:relative;top:.5rem;z-index:1}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{position:relative;bottom:.2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%]{padding-left:1.5rem;padding-right:1.5rem;height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cell-type-selection[_ngcontent-%COMP%] .ccf-ontology-search{margin-top:2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%]{height:5rem;display:flex;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:75%;margin-left:1.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%]{font-weight:300}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600!important}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view[_ngcontent-%COMP%]{position:fixed;left:0;top:0;bottom:0;right:425%;height:100%;transform:translate(-425%);width:calc(100% - 28.5rem);transition:transform .5s cubic-bezier(.82,.085,.395,.895)}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view.opened[_ngcontent-%COMP%]{transform:translate(0);transition:width 0s .5s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view[_ngcontent-%COMP%]{width:100vw}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view.opened[_ngcontent-%COMP%]{transition:width 0s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .shaded-toggle[_ngcontent-%COMP%]{box-shadow:-1px 0 4px #212121}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}[_ngcontent-%COMP%]::-webkit-scrollbar{width:.5rem}"],changeDetection:0}),Mw([Bz(OQ.cellTypesTreeModel)],C3.prototype,"cellTypeTreeModel$",void 0),Mw([Bz(OQ.anatomicalStructuresTreeModel)],C3.prototype,"ontologyTreeModel$",void 0),Mw([Bz(IQ.items)],C3.prototype,"selectableSearches$",void 0),Mw([TK()],C3.prototype,"setSelectedSearches",void 0),Mw([TK()],C3.prototype,"removeSpatialSearch",void 0);var T3=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this,e,i,{initialDelay:10,initialConfig:Object.assign(Object.assign(Object.assign({},pQ.dbOptions),globalThis.dbOptions),pQ.customization),parse:{dataSources:O3,useRemoteApi:fQ.boolean,header:fQ.boolean,loginDisabled:fQ.boolean}})}return n}(dQ);return e.\u0275fac=function(t){return new(t||e)(Os(T$),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-root-wc"]],inputs:{dataSources:"dataSources",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint",theme:"theme",header:"header",homeUrl:"homeUrl",logoTooltip:"logoTooltip",loginDisabled:"loginDisabled"},features:[cs],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(e,t){1&e&&Cs(0,E3,1,0,"ccf-root",0),2&e&&Ts("ngIf",t.initialized)},directives:[Yh,C3],encapsulation:2,changeDetection:0}),e}(),P3=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,v3,Aw]]}),e}(),A3=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).locator=i,r}return b(n,[{key:"createWorker",value:function(e){var t=this.getWorkerUrl(!0);return new Worker(t,{type:"module"})}},{key:"getWorkerUrl",value:function(e){if(e)return new URL(r(88509),r.b);var t=this.locator.prepareExternalUrl("0-es2015.worker.js"),n=new Blob(["importScripts('".concat(t,"')")],{type:"application/javascript"});return URL.createObjectURL(n)}}]),n}(W$);return e.\u0275fac=function(t){return new(t||e)(Zi(T$),Zi(Th))},e.\u0275prov=$e({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),M3=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"selectToken",value:function(e){var t=e.useRemoteApi,n=e.remoteApiEndpoint;return t&&n?U$:"undefined"==typeof Worker||pQ.disableDbWorker?G$:A3}}]),n}(q$);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275prov=$e({token:t,factory:t.\u0275fac,providedIn:"root"}),t}(),I3=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[{provide:Il,useValue:cQ.initialize,multi:!0},cQ]}),e}(),R3=function(){var e=function(){function e(t,n){m(this,e),this.accessor=t,this.injector=n}return b(e,null,[{key:"forRoot",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{ngModule:e,providers:[qW,WW,HW].concat(v(t))}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qW,2),Zi(WW,2))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),D3=function(e,t){return function(e,t){return new Array(t+1).join("0")}(0,t-e.toString().length)+e},N3=function(){function e(t,n,i){m(this,e),this.action=t,this.store=n,this.logWriter=i}return b(e,[{key:"dispatched",value:function(e){var t=QV(this.action),n=function(e){return D3(e.getHours(),2)+":"+D3(e.getMinutes(),2)+":"+D3(e.getSeconds(),2)+"."+D3(e.getMilliseconds(),3)}(new Date);this.logWriter.startGroup("action ".concat(t," @ ").concat(n)),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}},{key:"completed",value:function(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}},{key:"errored",value:function(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}},{key:"_hasPayload",value:function(e){return this._getNonEmptyProperties(e).length>0}},{key:"_getNonEmptyProperties",value:function(e){return Object.keys(e).map(function(t){return e[t]}).filter(function(e){return void 0!==e})}}]),e}(),L3=function(){function e(t){m(this,e),this.options=t,this.options=this.options||{},this.logger=t.logger||console}return b(e,[{key:"startGroup",value:function(e){var t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(n){console.log(e)}}},{key:"endGroup",value:function(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}},{key:"logGrey",value:function(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}},{key:"logGreen",value:function(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}},{key:"logRedish",value:function(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}},{key:"log",value:function(e,t,n){this.isIE()?this.logger.log(e,n):this.logger.log("%c "+e,t,n)}},{key:"isIE",value:function(){var e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"",t=!1,n=e.indexOf("MSIE "),i=e.indexOf("Trident/");return(n>-1||i>-1)&&(t=!0),t}}]),e}(),j3=new Ri("NGXS_LOGGER_PLUGIN_OPTIONS"),F3=function(){var e=function(){function e(t,n){m(this,e),this._options=t,this._injector=n}return b(e,[{key:"handle",value:function(e,t,n){if(this._options.disabled||!this._options.filter(t,e))return n(e,t);this._logWriter=this._logWriter||new L3(this._options),this._store=this._store||this._injector.get(Pz);var i=new N3(t,this._store,this._logWriter);return i.dispatched(e),n(e,t).pipe(mv(function(e){i.completed(e)}),Bb(function(e){throw i.errored(e),e}))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(j3),Zi(ss))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),B3=new Ri("LOGGER_USER_OPTIONS");function V3(e){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:function(){return!0}},e)}var z3=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"forRoot",value:function(t){return{ngModule:e,providers:[{provide:UV,useClass:F3,multi:!0},{provide:B3,useValue:t},{provide:j3,useFactory:V3,deps:[B3]}]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}();function U3(e,t){return e>=0&&e=t?t:e+t<0?0:e+t}function H3(e,t){if(1&e&&(As(0,"span"),Cu(1),Ms()),2&e){var n=t.$implicit;lu(n.styles),du(n.classes),Yo(1),Ou(" ",n.text,"\n")}}var G3=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-decorated-text",this.segments=[]}return b(e,[{key:"ngOnChanges",value:function(e){("text"in e||"decorations"in e)&&(this.segments=this.createSegments())}},{key:"createSegments",value:function(){var e=this.text;if(!e)return[this.makeUndecoratedSegment(e)];var t=this.getNormalizedDecorations();if(0===t.length)return[this.makeUndecoratedSegment(e)];var n=this.createStackOps(t),i=[],r=[],o=0;0===n[0].index&&(r=this.updateStack(r,n.shift()));var a,s=_(n);try{for(s.s();!(a=s.n()).done;){var u=a.value;i.push(this.makeDecoratedSegment(e.slice(o,u.index),r)),o=u.index,r=this.updateStack(r,u)}}catch(c){s.e(c)}finally{s.f()}return o!==e.length&&i.push(this.makeDecoratedSegment(e.slice(o),r)),i}},{key:"createStackOps",value:function(e){var t,n={},i=function(e){var t;return null!==(t=n[e])&&void 0!==t?t:n[e]={index:e,added:[],removed:[]}},r=_(e);try{for(r.s();!(t=r.n()).done;){var o=t.value;i(o.start).added.push(o),i(o.end).removed.push(o)}}catch(a){r.e(a)}finally{r.f()}return Object.entries(n).sort(function(e,t){return+e[0]-+t[0]}).map(function(e){return e[1]})}},{key:"updateStack",value:function(e,t){return e.filter(function(e){return!t.removed.includes(e)}).concat(t.added)}},{key:"getNormalizedDecorations",value:function(){var e=this.decorations,t=void 0===e?[]:e,n=this.text.length;return t.map(function(e){return function(e,t){var n,i,r,o;return{start:U3(null!==(n=e.start)&&void 0!==n?n:0,t),end:U3(null!==(i=e.end)&&void 0!==i?i:t,t),classes:null!==(r=e.classes)&&void 0!==r?r:[],styles:null!==(o=e.styles)&&void 0!==o?o:{}}}(e,n)}).filter(function(e){return e.startt?e[0]:void 0,max:e[1]1&&void 0!==arguments[1]?arguments[1]:Date.now;return+t()>+new Date(e)}}]),e}();m5.\u0275fac=function(e){return new(e||m5)(Zi(FG),Zi(yq),Zi(f5),Zi(v5),Zi(h_))},m5.\u0275prov=$e({token:m5,factory:m5.\u0275fac}),Mw([jz(a5)],m5.prototype,"learnMore",null),Mw([jz(s5)],m5.prototype,"open",null),Mw([jz(u5)],m5.prototype,"close",null),m5=p5=Mw([Fz({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],m5);var y5=function(){function e(){m(this,e)}return b(e,null,[{key:"title",value:function(e){return e.title}},{key:"message",value:function(e){return e.message}},{key:"callToAction",value:function(e){return e.callToAction}},{key:"imageUrl",value:function(e){return e.imageUrl}},{key:"expirationDate",value:function(e){return e.expirationDate}},{key:"popupShown",value:function(e){return e.popupShown}}]),e}();Mw([Vz([m5])],y5,"title",null),Mw([Vz([m5])],y5,"message",null),Mw([Vz([m5])],y5,"callToAction",null),Mw([Vz([m5])],y5,"imageUrl",null),Mw([Vz([m5])],y5,"expirationDate",null),Mw([Vz([m5])],y5,"popupShown",null);var b5=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-call-to-action",this.callToActionClicked=new ol,this.closeClicked=new ol}return b(e,[{key:"close",value:function(){this.closeClicked.emit()}},{key:"onDialogButtonClick",value:function(){this.callToActionClicked.emit()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(e,t){1&e&&(As(0,"div",0),As(1,"div",1),As(2,"div",2),As(3,"div",3),As(4,"p",4),Cu(5),Ms(),As(6,"mat-icon",5),Vs("click",function(){return t.close()}),Cu(7,"clear"),Ms(),Ms(),Is(8,"img",6),As(9,"mat-dialog-content",7),As(10,"div",8),Cu(11),Ms(),As(12,"a",9),Vs("click",function(){return t.onDialogButtonClick()}),Ms(),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(5),Eu(t.infoTitle),Yo(3),Ts("src",t.imageUrl,Xr),Yo(3),Ou(" ",t.message,""),Yo(1),Ts("text",t.callToAction))},directives:[VG,B_,IW,zG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),e}(),_5=function e(){m(this,e),this.close=function(){return new u5},this.learnMore=function(){return new a5}};_5.\u0275fac=function(e){return new(e||_5)},_5.\u0275cmp=Ot({type:_5,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(e,t){1&e&&(As(0,"ccf-call-to-action",0),Vs("callToActionClicked",function(){return t.learnMore()})("closeClicked",function(){return t.close()}),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Jc(4,"async"),Ms()),2&e&&Ts("infoTitle",el(1,4,t.title$))("message",el(2,6,t.message$))("callToAction",el(3,8,t.callToAction$))("imageUrl",el(4,10,t.imageUrl$))},directives:[b5],pipes:[sd],styles:[""],changeDetection:0}),Mw([Bz(y5.title)],_5.prototype,"title$",void 0),Mw([Bz(y5.message)],_5.prototype,"message$",void 0),Mw([Bz(y5.callToAction)],_5.prototype,"callToAction$",void 0),Mw([Bz(y5.imageUrl)],_5.prototype,"imageUrl$",void 0),Mw([TK()],_5.prototype,"close",void 0),Mw([TK()],_5.prototype,"learnMore",void 0);var w5=[{name:"bladder",namespace:"app",url:"assets/icons/organs/ico-organs-bladder.svg"},{name:"blood",namespace:"app",url:"assets/icons/organs/ico-organs-blood.svg"},{name:"bone-marrow",namespace:"app",url:"assets/icons/organs/ico-organs-bone-marrow.svg"},{name:"brain",namespace:"app",url:"assets/icons/organs/ico-organs-brain.svg"},{name:"eye",namespace:"app",url:"assets/icons/organs/ico-organs-eye.svg"},{name:"fallopian-tube-left",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-left.svg"},{name:"fallopian-tube-right",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-right.svg"},{name:"heart",namespace:"app",url:"assets/icons/organs/ico-organs-heart.svg"},{name:"kidney-left",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-left.svg"},{name:"kidney-right",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-right.svg"},{name:"kidney",namespace:"app",url:"assets/icons/organs/ico-organs-kidney.svg"},{name:"knee",namespace:"app",url:"assets/icons/organs/ico-organs-knee.svg"},{name:"large-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-large-intestine.svg"},{name:"larynx",namespace:"app",url:"assets/icons/organs/ico-organs-larynx.svg"},{name:"liver",namespace:"app",url:"assets/icons/organs/ico-organs-liver.svg"},{name:"lung-left",namespace:"app",url:"assets/icons/organs/ico-organs-lung-left.svg"},{name:"lung-right",namespace:"app",url:"assets/icons/organs/ico-organs-lung-right.svg"},{name:"lung",namespace:"app",url:"assets/icons/organs/ico-organs-lung.svg"},{name:"lymph-nodes",namespace:"app",url:"assets/icons/organs/ico-organs-lymph-nodes.svg"},{name:"main-bronchus",namespace:"app",url:"assets/icons/organs/ico-organs-extrapulmonary bronchus.svg"},{name:"mammary-gland",namespace:"app",url:"assets/icons/organs/ico-organs-breast.svg"},{name:"neuron",namespace:"app",url:"assets/icons/organs/ico-organs-neuron.svg"},{name:"ovaries",namespace:"app",url:"assets/icons/organs/ico-organs-ovaries.svg"},{name:"ovary-left",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-left.svg"},{name:"ovary-right",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-right.svg"},{name:"palatine-tonsil",namespace:"app",url:"assets/icons/organs/ico-organs-palatine tonsil.svg"},{name:"pancreas",namespace:"app",url:"assets/icons/organs/ico-organs-pancreas.svg"},{name:"pelvis-f",namespace:"app",url:"assets/icons/organs/ico-organs-pelvis-f.svg"},{name:"placenta",namespace:"app",url:"assets/icons/organs/ico-organs-placenta.svg"},{name:"prostate",namespace:"app",url:"assets/icons/organs/ico-organs-prostate.svg"},{name:"skin",namespace:"app",url:"assets/icons/organs/ico-organs-skin.svg"},{name:"small-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-small intestine.svg"},{name:"spinal-cord",namespace:"app",url:"assets/icons/organs/ico-organs-spinal-cord.svg"},{name:"spleen",namespace:"app",url:"assets/icons/organs/ico-organs-spleen.svg"},{name:"stomach",namespace:"app",url:"assets/icons/organs/ico-organs-stomach.svg"},{name:"thymus",namespace:"app",url:"assets/icons/organs/ico-organs-thymus.svg"},{name:"trachea",namespace:"app",url:"assets/icons/organs/ico-organs-trachea.svg"},{name:"ureter-left",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-left.svg"},{name:"ureter-right",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-right.svg"},{name:"uterus",namespace:"app",url:"assets/icons/organs/ico-organs-uterus.svg"},{name:"vasculature-thick",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thick.svg"},{name:"vasculature-thin",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thin.svg"},{name:"opacity",namespace:"app",url:"assets/icons/opacity-24px.svg"},{name:"visibility_on",namespace:"app",url:"assets/icons/visibility-on-24px.svg"},{name:"visibility_off",namespace:"app",url:"assets/icons/visibility-off-24px.svg"},{name:"expand_more",namespace:"app",url:"assets/icons/expand_more-24px.svg"},{name:"expand_less",namespace:"app",url:"assets/icons/expand_less-24px.svg"},{name:"filter",url:"assets/icons/filter.svg"}],k5=function(e){a(n,e);var t=s(n);function n(e,i){var r;m(this,n),(r=t.call(this)).registry=e;var o,a=_(w5);try{for(a.s();!(o=a.n()).done;){var s=o.value,u=s.name,c=s.namespace,l=s.url,h=s.html,d={name:u,namespace:c,url:l&&i.bypassSecurityTrustResourceUrl(l),html:h&&i.bypassSecurityTrustHtml(h)};r.registerIconImpl(d)}}catch(f){a.e(f)}finally{a.f()}return r}return b(n,[{key:"registerIcon",value:function(e){return this.registerIconImpl(e)}},{key:"registerIconImpl",value:function(e){if(!this.registry||!e.url&&!e.html)return!1;var t=this.registry,n=t[this.getMethodName(e)],i=this.getArguments(e);if(!n)return!1;try{return n.apply(t,i),!0}catch(r){return!1}}},{key:"getMethodName",value:function(e){var t=e.name,n=e.namespace,i=e.url,r=["addSvgIcon"];return t||r.push("Set"),i||r.push("Literal"),n&&r.push("InNamespace"),r.join("")}},{key:"getArguments",value:function(e){var t=e.name,n=e.namespace,i=e.url,r=e.html;return[n,t,null!=i?i:r].filter(function(e){return!!e})}}]),n}(hq);k5.\u0275fac=function(e){return new(e||k5)(Zi(A_,8),Zi(Vd))},k5.\u0275prov=$e({token:k5,factory:k5.\u0275fac}),Mw([sq()],k5.prototype,"registerIcon",null),k5=Mw([cq(),Fz({name:"iconRegistry"})],k5);var x5=[T$,LQ,k5,jQ,EQ,BQ,m5,HJ,MQ],S5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[R3.forRoot(),Lz.forRoot(x5,{developmentMode:!pQ.production,selectorOptions:{injectContainerState:!1}}),PK.forRoot(),z3.forRoot({disabled:pQ.production})]]}),e}(),C5=function(){var e=function e(t){if(m(this,e),t)throw new Error("The core module should only be imported once in the root module")};return e.\u0275fac=function(t){return new(t||e)(Zi(e,12))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[{provide:N$,useExisting:M3}],imports:[[S_,Eq.forRoot({gaToken:pQ.googleAnalyticsToken,appName:"eui"}),P$,Fq.forRoot(function(){return new Lq({basePath:pQ.dbOptions.remoteApiEndpoint})}),P3,S5,I3],P3]}),e}(),E5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,n$]]}),e}(),O5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,DH,UZ]]}),e}(),T5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,cv,yp,DH,UZ,NJ]]}),e}(),P5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_]]}),e}(),A5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,E5,O5,T5,oQ,P5]]}),e}(),M5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,V_,A5]]}),e}(),I5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,JU,eH,JH,DH,uG,V_]]}),e}(),R5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,Aw,Y0,y$]]}),e}(),D5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,I5,R5]]}),e}(),N5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,I5,R5,D5],I5,R5,D5]}),e}();function L5(){return(L5=Object.assign||function(e){for(var t=1;t0&&(n(o,!!e.isBeginning),e.params.watchOverflow&&e.enabled&&o[e.isLocked?"addClass":"removeClass"](t.lockClass)),r&&r.length>0&&(n(r,!!e.isEnd),e.params.watchOverflow&&e.enabled&&r[e.isLocked?"addClass":"removeClass"](t.lockClass))}},onPrevClick:function(e){var t=this;e.preventDefault(),(!t.isBeginning||t.params.loop)&&t.slidePrev()},onNextClick:function(e){var t=this;e.preventDefault(),(!t.isEnd||t.params.loop)&&t.slideNext()},init:function(){var e,t,n=this,i=n.params.navigation;n.params.navigation=function(e,t,n,i){var r=k1();return n&&Object.keys(i).forEach(function(n){if(!t[n]&&!0===t.auto){var o=r.createElement("div");o.className=i[n],e.append(o),t[n]=o}}),t}(n.$el,n.params.navigation,n.params.createElements,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),(i.nextEl||i.prevEl)&&(i.nextEl&&(e=V1(i.nextEl),n.params.uniqueNavElements&&"string"==typeof i.nextEl&&e.length>1&&1===n.$el.find(i.nextEl).length&&(e=n.$el.find(i.nextEl))),i.prevEl&&(t=V1(i.prevEl),n.params.uniqueNavElements&&"string"==typeof i.prevEl&&t.length>1&&1===n.$el.find(i.prevEl).length&&(t=n.$el.find(i.prevEl))),e&&e.length>0&&e.on("click",n.navigation.onNextClick),t&&t.length>0&&t.on("click",n.navigation.onPrevClick),W1(n.navigation,{$nextEl:e,nextEl:e&&e[0],$prevEl:t,prevEl:t&&t[0]}),n.enabled||(e&&e.addClass(i.lockClass),t&&t.addClass(i.lockClass)))},destroy:function(){var e=this,t=e.navigation,n=t.$nextEl,i=t.$prevEl;n&&n.length&&(n.off("click",e.navigation.onNextClick),n.removeClass(e.params.navigation.disabledClass)),i&&i.length&&(i.off("click",e.navigation.onPrevClick),i.removeClass(e.params.navigation.disabledClass))}},F5={name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){q1(this,{navigation:L5({},j5)})},on:{init:function(e){e.navigation.init(),e.navigation.update()},toEdge:function(e){e.navigation.update()},fromEdge:function(e){e.navigation.update()},destroy:function(e){e.navigation.destroy()},"enable disable":function(e){var t=e.navigation,n=t.$nextEl,i=t.$prevEl;n&&n[e.enabled?"removeClass":"addClass"](e.params.navigation.lockClass),i&&i[e.enabled?"removeClass":"addClass"](e.params.navigation.lockClass)},click:function(e,t){var n=e.navigation,i=n.$nextEl,r=n.$prevEl,o=t.target;if(e.params.navigation.hideOnClick&&!V1(o).is(r)&&!V1(o).is(i)){if(e.pagination&&e.params.pagination&&e.params.pagination.clickable&&(e.pagination.el===o||e.pagination.el.contains(o)))return;var a;i?a=i.hasClass(e.params.navigation.hiddenClass):r&&(a=r.hasClass(e.params.navigation.hiddenClass)),e.emit(!0===a?"navigationShow":"navigationHide"),i&&i.toggleClass(e.params.navigation.hiddenClass),r&&r.toggleClass(e.params.navigation.hiddenClass)}}}},B5=function(){var e=function e(){m(this,e),d2.use([F5])};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,Y2]]}),e}(),V5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd]]}),e}(),z5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,n$,V_,B5,V5]]}),e}(),U5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,up,z5]]}),e}(),H5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[{provide:ZQ,useValue:QQ}],imports:[[Gd,Zy,V_]]}),e}(),G5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,KQ]]}),e}(),W5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,KQ]]}),e}(),q5=function(){var e=function(){function e(t){m(this,e),this.injector=t}return b(e,[{key:"ngDoBootstrap",value:function(){var e=function(e,t){var n=function(e,t){return t.get(Ku).resolveComponentFactory(e).inputs}(e,t.injector),i=t.strategyFactory||new dv(e,t.injector),r=function(e){var t={};return e.forEach(function(e){var n=e.propName,i=e.templateName;t[function(e){return e.replace(/[A-Z]/g,function(e){return"-".concat(e.toLowerCase())})}(i)]=n}),t}(n),o=function(e){a(u,e);var o=s(u);function u(e){var t;return m(this,u),(t=o.call(this)).injector=e,t}return b(u,[{key:"ngElementStrategy",get:function(){var e=this;if(!this._ngElementStrategy){var r=this._ngElementStrategy=i.create(this.injector||t.injector);n.forEach(function(t){var n=t.propName;if(e.hasOwnProperty(n)){var i=e[n];delete e[n],r.setInputValue(n,i)}})}return this._ngElementStrategy}},{key:"attributeChangedCallback",value:function(e,t,n,i){this.ngElementStrategy.setInputValue(r[e],n)}},{key:"connectedCallback",value:function(){var e=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),e=!0),this.ngElementStrategy.connect(this),e||this.subscribeToEvents()}},{key:"disconnectedCallback",value:function(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}},{key:"subscribeToEvents",value:function(){var e=this;this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(function(t){var n=function(e,t,n){if("function"!=typeof CustomEvent){var i=e.createEvent("CustomEvent");return i.initCustomEvent(t,!1,!1,n),i}return new CustomEvent(t,{bubbles:!1,cancelable:!1,detail:n})}(e.ownerDocument,t.name,t.value);e.dispatchEvent(n)})}}]),u}(pv);return o.observedAttributes=Object.keys(r),n.forEach(function(e){var t=e.propName;Object.defineProperty(o.prototype,t,{get:function(){return this.ngElementStrategy.getInputValue(t)},set:function(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),o}(T3,{injector:this.injector});customElements.define("ccf-eui",e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ss))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[{provide:uQ,useValue:"hubmap-theme-light"},{provide:Hp,useExisting:sQ}],imports:[[Zy,Gd,C5,H5,M5,N5,V_,T5,U5,G5,o$,g$,E$,Aw,W5,R$,mw,P5]]}),e}();pQ.production&&function(){if(oh)throw new Error("Cannot enable prod mode after platform setup.");rh=!1}(),Ud().bootstrapModule(q5).catch(function(e){return console.error(e)})},91052:function(e){function t(e,t,n,i,r,o,a){try{var s=e[o](a),u=s.value}catch(c){return void n(c)}s.done?t(u):Promise.resolve(u).then(i,r)}e.exports=function(e){return function(){var n=this,i=arguments;return new Promise(function(r,o){var a=e.apply(n,i);function s(e){t(a,r,o,s,u,"next",e)}function u(e){t(a,r,o,s,u,"throw",e)}s(void 0)})}},e.exports.default=e.exports,e.exports.__esModule=!0},61948:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.default=e.exports,e.exports.__esModule=!0},34321:function(e){function t(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=t=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),t(n)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0},91741:function(e){function t(e){return Promise.resolve().then(function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=function(){return[]},t.resolve=t,t.id=91741,e.exports=t},88509:function(e,t,n){"use strict";e.exports=n.p+"7693192ac33f7744a3ca.ts"},9521:function(){},49125:function(){},75307:function(){}},function(e){e(e.s=51316)}])}(); \ No newline at end of file +!function(){function e(t,n,i){return(e="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=p(e)););return e}(e,t);if(i){var r=Object.getOwnPropertyDescriptor(i,t);return r.get?r.get.call(n):r.value}})(t,n,i||t)}function t(e,t){return r(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var i,r,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(i=n.next()).done)&&(o.push(i.value),!t||o.length!==t);a=!0);}catch(u){s=!0,r=u}finally{try{a||null==n.return||n.return()}finally{if(s)throw r}}return o}(e,t)||w(e,t)||i()}function n(e){return r(e)||g(e)||w(e)||i()}function i(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function r(e){if(Array.isArray(e))return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&f(e,t)}function s(e){var t=d();return function(){var n,i=p(e);if(t){var r=p(this).constructor;n=Reflect.construct(i,arguments,r)}else n=i.apply(this,arguments);return u(this,n)}}function u(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return c(e)}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function l(e){var t="function"==typeof Map?new Map:void 0;return(l=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return h(e,arguments,p(this).constructor)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),f(i,e)})(e)}function h(e,t,n){return(h=d()?Reflect.construct:function(e,t,n){var i=[null];i.push.apply(i,t);var r=new(Function.bind.apply(e,i));return n&&f(r,n.prototype),r}).apply(null,arguments)}function d(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function f(e,t){return(f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e){return function(e){if(Array.isArray(e))return k(e)}(e)||g(e)||w(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function y(e,t){for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function w(e,t){if(e){if("string"==typeof e)return k(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k(e,t):void 0}}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]0?a-4:a;for(n=0;n>16&255,u[l++]=t>>8&255,u[l++]=255&t;return 2===s&&(t=r[e.charCodeAt(n)]<<2|r[e.charCodeAt(n+1)]>>4,u[l++]=255&t),1===s&&(t=r[e.charCodeAt(n)]<<10|r[e.charCodeAt(n+1)]<<4|r[e.charCodeAt(n+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t),u},n.fromByteArray=function(e){for(var t,n=e.length,r=n%3,o=[],a=16383,s=0,u=n-r;su?u:s+a));return 1===r?o.push(i[(t=e[n-1])>>2]+i[t<<4&63]+"=="):2===r&&o.push(i[(t=(e[n-2]<<8)+e[n-1])>>10]+i[t>>4&63]+i[t<<2&63]+"="),o.join("")};for(var i=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e){return i[e>>18&63]+i[e>>12&63]+i[e>>6&63]+i[63&e]}function h(e,t,n){for(var i=[],r=t;r>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"\ufffd";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"\ufffd";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"\ufffd"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function u(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):t}function l(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function f(e){return e&&e.length?this.write(e):""}n.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(r>0&&(e.lastNeed=r-1),r):--i=0?(r>0&&(e.lastNeed=r-2),r):--i=0?(r>0&&(2===r?r=0:e.lastNeed=r-3),r):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var i=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,i),e.toString("utf8",t,i)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},{"safe-buffer":4}],6:[function(e,t,n){(function(t){(function(){"use strict";var t=e("base64-js"),i=e("ieee754");n.Buffer=a,n.SlowBuffer=function(e){return+e!=e&&(e=0),a.alloc(+e)},n.INSPECT_MAX_BYTES=50;var r=2147483647;function o(e){if(e>r)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return t.__proto__=a.prototype,t}function a(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return c(e)}return s(e,t,n)}function s(e,t,n){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!a.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var n=0|d(e,t),i=o(n),r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return l(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(B(e,ArrayBuffer)||e&&B(e.buffer,ArrayBuffer))return function(e,t,n){if(t<0||e.byteLength=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|e}function d(e,t){if(a.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||B(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return L(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(e).length;default:if(r)return i?-1:L(e).length;t=(""+t).toLowerCase(),r=!0}}function f(e,t,n){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0)||(n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,n);case"utf8":case"utf-8":return S(this,t,n);case"ascii":return C(this,t,n);case"latin1":case"binary":return E(this,t,n);case"base64":return x(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function p(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function v(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=a.from(t,i)),a.isBuffer(t))return 0===t.length?-1:g(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):g(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function g(e,t,n,i,r){var o,a=1,s=e.length,u=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(r){var l=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){for(var h=!0,d=0;dr&&(i=r):i=r;var o=t.length;i>o/2&&(i=o/2);for(var a=0;a>8,r.push(n%256),r.push(i);return r}(t,e.length-n),e,n,i)}function x(e,n,i){return t.fromByteArray(0===n&&i===e.length?e:e.slice(n,i))}function S(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r239?4:c>223?3:c>191?2:1;if(r+h<=n)switch(h){case 1:c<128&&(l=c);break;case 2:128==(192&(o=e[r+1]))&&(u=(31&c)<<6|63&o)>127&&(l=u);break;case 3:a=e[r+2],128==(192&(o=e[r+1]))&&128==(192&a)&&(u=(15&c)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:a=e[r+2],s=e[r+3],128==(192&(o=e[r+1]))&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,h=1):l>65535&&(i.push((l-=65536)>>>10&1023|55296),l=56320|1023&l),i.push(l),r+=h}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);for(var n="",i=0;ii)&&(n=i);for(var r="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function P(e,t,n,i,r,o){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function M(e,t,n,i,r,o){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function I(e,t,n,r,o){return t=+t,n>>>=0,o||M(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function R(e,t,n,r,o){return t=+t,n>>>=0,o||M(e,0,n,8),i.write(e,t,n,r,52,8),n+8}n.kMaxLength=r,!(a.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(t){return!1}}())&&"undefined"!=typeof console&&"function"==typeof console.error&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),a.poolSize=8192,a.from=function(e,t,n){return s(e,t,n)},a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,a.alloc=function(e,t,n){return function(e,t,n){return u(e),e<=0?o(e):void 0!==t?"string"==typeof n?o(e).fill(t,n):o(e).fill(t):o(e)}(e,t,n)},a.allocUnsafe=function(e){return c(e)},a.allocUnsafeSlow=function(e){return c(e)},a.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==a.prototype},a.compare=function(e,t){if(B(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),B(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var n=e.length,i=t.length,r=0,o=Math.min(n,i);rt&&(e+=" ... "),""},a.prototype.compare=function(e,t,n,i,r){if(B(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(r>>>=0)-(i>>>=0),s=(n>>>=0)-(t>>>=0),u=Math.min(o,s),c=this.slice(i,r),l=e.slice(t,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return m(this,e,t,n);case"utf8":case"utf-8":return y(this,e,t,n);case"ascii":return b(this,e,t,n);case"latin1":case"binary":return _(this,e,t,n);case"base64":return w(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},a.prototype.slice=function(e,t){var n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||A(e,t,this.length);for(var i=this[e],r=1,o=0;++o>>=0,t>>>=0,n||A(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},a.prototype.readUInt8=function(e,t){return e>>>=0,t||A(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return e>>>=0,t||A(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return e>>>=0,t||A(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return e>>>=0,t||A(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return e>>>=0,t||A(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||A(e,t,this.length);for(var i=this[e],r=1,o=0;++o=(r*=128)&&(i-=Math.pow(2,8*t)),i},a.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||A(e,t,this.length);for(var i=t,r=1,o=this[e+--i];i>0&&(r*=256);)o+=this[e+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*t)),o},a.prototype.readInt8=function(e,t){return e>>>=0,t||A(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){e>>>=0,t||A(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt16BE=function(e,t){e>>>=0,t||A(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt32LE=function(e,t){return e>>>=0,t||A(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return e>>>=0,t||A(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return e>>>=0,t||A(e,4,this.length),i.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return e>>>=0,t||A(e,4,this.length),i.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return e>>>=0,t||A(e,8,this.length),i.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return e>>>=0,t||A(e,8,this.length),i.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||P(this,e,t,n,Math.pow(2,8*n)-1,0);var r=1,o=0;for(this[t]=255&e;++o>>=0,n>>>=0,i||P(this,e,t,n,Math.pow(2,8*n)-1,0);var r=n-1,o=1;for(this[t+r]=255&e;--r>=0&&(o*=256);)this[t+r]=e/o&255;return t+n},a.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||P(this,e,t,1,255,0),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||P(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},a.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||P(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},a.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||P(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},a.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||P(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},a.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*n-1);P(this,e,t,n,r-1,-r)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+n},a.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*n-1);P(this,e,t,n,r-1,-r)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},a.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||P(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||P(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},a.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||P(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},a.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||P(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},a.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||P(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},a.prototype.writeFloatLE=function(e,t,n){return I(this,e,t,!0,n)},a.prototype.writeFloatBE=function(e,t,n){return I(this,e,t,!1,n)},a.prototype.writeDoubleLE=function(e,t,n){return R(this,e,t,!0,n)},a.prototype.writeDoubleBE=function(e,t,n){return R(this,e,t,!1,n)},a.prototype.copy=function(e,t,n,i){if(!a.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&0!==i&&(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t=0;--o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,i),t);return r},a.prototype.fill=function(e,t,n,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!a.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===e.length){var r=e.charCodeAt(0);("utf8"===i&&r<128||"latin1"===i)&&(e=r)}}else"number"==typeof e&&(e&=255);if(t<0||this.length>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function j(e){return t.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(D,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function F(e,t,n,i){for(var r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function B(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function V(e){return e!=e}}).call(this)}).call(this,e("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(e,t,n){"use strict";t.exports=function e(t){return null===t||"object"!=typeof t||null!=t.toJSON?JSON.stringify(t):Array.isArray(t)?"["+t.reduce(function(t,n,i){return t+(0===i?"":",")+e(void 0===n||"symbol"==typeof n?null:n)},"")+"]":"{"+Object.keys(t).sort().reduce(function(n,i,r){return void 0===t[i]||"symbol"==typeof t[i]?n:n+(0===n.length?"":",")+e(i)+":"+e(t[i])},"")+"}"}},{}],8:[function(e,t,n){"use strict";var i,r="object"==typeof Reflect?Reflect:null,o=r&&"function"==typeof r.apply?r.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};i=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}t.exports=s,t.exports.once=function(e,t){return new Promise(function(n,i){function r(n){e.removeListener(t,o),i(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",r),n([].slice.call(arguments))}m(e,t,o,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&m(e,"error",t,{once:!0})}(e,r)})},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var u=10;function c(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function h(e,t,n,i){var r,o,a;if(c(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),a=o[t]),void 0===a)a=o[t]=n,++e._eventsCount;else if("function"==typeof a?a=o[t]=i?[n,a]:[a,n]:i?a.unshift(n):a.push(n),(r=l(e))>0&&a.length>r&&!a.warned){a.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=a.length,function(e){console&&console.warn&&console.warn(e)}(s)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=d.bind(i);return r.listener=n,i.wrapFn=r,r}function p(e,t,n){var i=e._events;if(void 0===i)return[];var r=i[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var u=r[e];if(void 0===u)return!1;if("function"==typeof u)o(u,this,t);else{var c=u.length,l=g(u,c);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){a=n[o].listener,r=o;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1=0;i--)this.removeListener(e,t[i]);return this},s.prototype.listeners=function(e){return p(this,e,!0)},s.prototype.rawListeners=function(e){return p(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):v.call(e,t)},s.prototype.listenerCount=v,s.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},{}],9:[function(e,t,n){n.read=function(e,t,n,i,r){var o,a,s=8*r-i-1,u=(1<>1,l=-7,h=n?r-1:0,d=n?-1:1,f=e[t+h];for(h+=d,o=f&(1<<-l)-1,f>>=-l,l+=s;l>0;o=256*o+e[t+h],h+=d,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=i;l>0;a=256*a+e[t+h],h+=d,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,i),o-=c}return(f?-1:1)*a*Math.pow(2,o-i)},n.write=function(e,t,n,i,r,o){var a,s,u,c=8*o-r-1,l=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=i?0:o-1,p=i?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+h>=1?d/u:d*Math.pow(2,1-h))*u>=2&&(a++,u/=2),a+h>=l?(s=0,a=l):a+h>=1?(s=(t*u-1)*Math.pow(2,r),a+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,r),a=0));r>=8;e[n+f]=255&s,f+=p,s/=256,r-=8);for(a=a<0;e[n+f]=255&a,f+=p,a/=256,c-=8);e[n+f-p]|=128*v}},{}],10:[function(e,t,n){t.exports="function"==typeof Object.create?function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},{}],11:[function(e,t,n){"use strict";var i=e("./types"),r=i.isArray,o=i.isObject,a=i.isString,s=e("./util").asArray,u=e("./url").prependBase,c=e("./JsonLdError"),l=e("./ResolvedContext");function d(e){throw new c("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:e})}function f(e){var t=e.context,n=e.base;if(t){var i=t["@context"];if(a(i))t["@context"]=u(n,i);else if(r(i))for(var s=0;s10)){e.next=2;break}throw new c("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"loading remote context failed":"context overflow",max:10});case 2:if(!s.has(n)){e.next=4;break}throw new c("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"recursive context inclusion":"context overflow",url:n});case 4:return s.add(n),e.prev=5,e.next=8,i(n);case 8:l=e.sent,u=l.document||null,a(u)&&(u=JSON.parse(u)),e.next=16;break;case 13:throw e.prev=13,e.t0=e.catch(5),new c("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:n,cause:e.t0});case 16:if(o(u)){e.next=18;break}throw new c("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:n});case 18:return e.abrupt("return",(u="@context"in u?{"@context":u["@context"]}:{"@context":{}},l.contextUrl&&(r(u["@context"])||(u["@context"]=[u["@context"]]),u["@context"].push(l.contextUrl)),{context:u,remoteDoc:l}));case 19:case"end":return e.stop()}},e,null,[[5,13]])}))()}}]),e}()},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(e,t,n){"use strict";t.exports=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"An unspecified JSON-LD error occurred.",r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"jsonld.Error",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return m(this,n),(e=t.call(this,i)).name=r,e.message=i,e.details=o,e}return n}(l(Error))},{}],13:[function(e,t,n){"use strict";t.exports=function(e){var t=function(){function e(){m(this,e)}return b(e,[{key:"toString",value:function(){return"[object JsonLdProcessor]"}}]),e}();return Object.defineProperty(t,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(t.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:t}),t.compact=function(t,n){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):e.compact(t,n)},t.expand=function(t){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):e.expand(t)},t.flatten=function(t){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):e.flatten(t)},t}},{}],14:[function(e,t,n){"use strict";t.exports=e("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(e,t,n){"use strict";t.exports=function(){function e(){m(this,e),this._requests={}}return b(e,[{key:"wrapLoader",value:function(e){var t=this;return t._loader=e,function(){return t.add.apply(t,arguments)}}},{key:"add",value:function(e){var t=this;return h(regeneratorRuntime.mark(function n(){var i;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(!(i=t._requests[e])){n.next=3;break}return n.abrupt("return",Promise.resolve(i));case 3:return i=t._requests[e]=t._loader(e),n.prev=4,n.next=7,i;case 7:return n.abrupt("return",n.sent);case 8:return n.prev=8,delete t._requests[e],n.finish(8);case 11:case"end":return n.stop()}},n,null,[[4,,8,11]])}))()}}]),e}()},{}],16:[function(e,t,n){"use strict";var i=e("lru-cache");t.exports=function(){function e(t){var n=t.document;m(this,e),this.document=n,this.cache=new i({max:10})}return b(e,[{key:"getProcessed",value:function(e){return this.cache.get(e)}},{key:"setProcessed",value:function(e,t){this.cache.set(e,t)}}]),e}()},{"lru-cache":33}],17:[function(e,i,r){"use strict";var a,s=e("./JsonLdError"),u=e("./types"),c=u.isArray,l=u.isObject,d=u.isString,f=u.isUndefined,p=e("./graphTypes"),v=p.isList,g=p.isValue,m=p.isGraph,y=p.isSimpleGraph,b=p.isSubjectReference,w=e("./context"),k=w.expandIri,x=w.getContextValue,S=w.isKeyword,C=w.process,E=w.processingMode,O=e("./url"),T=O.removeBase,A=O.prependBase,P=e("./util"),M=P.addValue,I=P.asArray,R=P.compareShortestLeast,D={};function N(e,t,n){if("@nest"!==k(e,t,{vocab:!0},n))throw new s("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}i.exports=D,D.compact=(a=h(regeneratorRuntime.mark(function e(t){var i,r,a,u,h,p,w,k,O,T,A,P,R;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t.activeCtx,r=t.activeProperty,a=void 0===r?null:r,u=t.element,h=t.options,p=void 0===h?{}:h,w=t.compactionMap,k=void 0===w?function(){}:w,!c(u)){e.next=21;break}O=[],T=0;case 4:if(!(T1&&(L=Array.from(L).sort()),j=i,F=_(L),e.prev=27,F.s();case 29:if((B=F.n()).done){e.next=39;break}if(V=B.value,z=D.compactIri({activeCtx:j,iri:V,relativeTo:{vocab:!0}}),U=x(P,z,"@context"),e.t1=f(U),e.t1){e.next=37;break}return e.next=36,C({activeCtx:i,localCtx:U,options:p,propagate:!1});case 36:i=e.sent;case 37:e.next=29;break;case 39:e.next=44;break;case 41:e.prev=41,e.t2=e.catch(27),F.e(e.t2);case 44:return e.prev=44,F.f(),e.finish(44);case 47:H=Object.keys(u).sort(),G=_(H),e.prev=49,G.s();case 51:if((W=G.n()).done){e.next=184;break}if(q=W.value,X=u[q],"@id"===q){e.next=180;break}if("@type"===q){e.next=174;break}if("@reverse"===q){e.next=167;break}if("@preserve"===q){e.next=161;break}if("@index"===q){e.next=155;break}if("@graph"===q||"@list"===q||"@included"===q||!S(q)){e.next=64;break}Y=D.compactIri({activeCtx:i,iri:q,relativeTo:{vocab:!0}}),M(A,Y,X),e.next=153;break;case 64:if(c(X)){e.next=66;break}throw new s("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");case 66:0===X.length&&(K=D.compactIri({activeCtx:i,iri:q,value:X,relativeTo:{vocab:!0},reverse:T}),$=i.mappings.has(K)?i.mappings.get(K)["@nest"]:null,Q=A,$&&(N(i,$,p),l(A[$])||(A[$]={}),Q=A[$]),M(Q,K,X,{propertyIsArray:!0})),Z=_(X),e.prev=68,Z.s();case 70:if((J=Z.n()).done){e.next=145;break}return ee=J.value,te=D.compactIri({activeCtx:i,iri:q,value:ee,relativeTo:{vocab:!0},reverse:T}),ne=i.mappings.has(te)?i.mappings.get(te)["@nest"]:null,ie=A,ne&&(N(i,ne,p),l(A[ne])||(A[ne]={}),ie=A[ne]),re=x(i,te,"@container")||[],oe=m(ee),ae=v(ee),se=void 0,ae?se=ee["@list"]:oe&&(se=ee["@graph"]),e.next=80,D.compact({activeCtx:i,activeProperty:te,element:ae||oe?se:ee,options:p,compactionMap:k});case 80:if(ue=e.sent,!ae){e.next=86;break}if(c(ue)||(ue=[ue]),!re.includes("@list")){e.next=85;break}return M(ie,te,ue,{valueIsArray:!0,allowDuplicate:!0}),e.abrupt("continue",143);case 85:ue=o({},D.compactIri({activeCtx:i,iri:"@list",relativeTo:{vocab:!0}}),ue),"@index"in ee&&(ue[D.compactIri({activeCtx:i,iri:"@index",relativeTo:{vocab:!0}})]=ee["@index"]);case 86:if(!oe){e.next=90;break}re.includes("@graph")&&(re.includes("@id")||re.includes("@index")&&y(ee))?(ce=void 0,ie.hasOwnProperty(te)?ce=ie[te]:ie[te]=ce={},le=(re.includes("@id")?ee["@id"]:ee["@index"])||D.compactIri({activeCtx:i,iri:"@none",relativeTo:{vocab:!0}}),M(ce,le,ue,{propertyIsArray:!p.compactArrays||re.includes("@set")})):re.includes("@graph")&&y(ee)?(c(ue)&&ue.length>1&&(ue={"@included":ue}),M(ie,te,ue,{propertyIsArray:!p.compactArrays||re.includes("@set")})):(c(ue)&&1===ue.length&&p.compactArrays&&(ue=ue[0]),ue=o({},D.compactIri({activeCtx:i,iri:"@graph",relativeTo:{vocab:!0}}),ue),"@id"in ee&&(ue[D.compactIri({activeCtx:i,iri:"@id",relativeTo:{vocab:!0}})]=ee["@id"]),"@index"in ee&&(ue[D.compactIri({activeCtx:i,iri:"@index",relativeTo:{vocab:!0}})]=ee["@index"]),M(ie,te,ue,{propertyIsArray:!p.compactArrays||re.includes("@set")})),e.next=143;break;case 90:if(!(re.includes("@language")||re.includes("@index")||re.includes("@id")||re.includes("@type"))){e.next=141;break}if(he=void 0,de=void 0,ie.hasOwnProperty(te)?he=ie[te]:ie[te]=he={},!re.includes("@language")){e.next=96;break}g(ue)&&(ue=ue["@value"]),de=ee["@language"],e.next=138;break;case 96:if(!re.includes("@index")){e.next=117;break}if(fe=x(i,te,"@index")||"@index",pe=D.compactIri({activeCtx:i,iri:fe,relativeTo:{vocab:!0}}),"@index"!==fe){e.next=102;break}de=ee["@index"],delete ue[pe],e.next=115;break;case 102:if(me=void 0,ve=I(ue[fe]||[]),ge=n(ve),de=ge[0],me=ge.slice(1),!d(de)){e.next=114;break}e.t3=me.length,e.next=0===e.t3?107:1===e.t3?109:111;break;case 107:return delete ue[fe],e.abrupt("break",112);case 109:return ue[fe]=me[0],e.abrupt("break",112);case 111:ue[fe]=me;case 112:e.next=115;break;case 114:de=null;case 115:e.next=138;break;case 117:if(!re.includes("@id")){e.next=122;break}ye=D.compactIri({activeCtx:i,iri:"@id",relativeTo:{vocab:!0}}),de=ue[ye],delete ue[ye],e.next=138;break;case 122:if(!re.includes("@type")){e.next=138;break}be=D.compactIri({activeCtx:i,iri:"@type",relativeTo:{vocab:!0}}),_e=void 0,e.t4=(t=I(ue[be]||[]),r=n(t),de=r[0],(_e=r.slice(1)).length),e.next=0===e.t4?128:1===e.t4?130:132;break;case 128:return delete ue[be],e.abrupt("break",133);case 130:return ue[be]=_e[0],e.abrupt("break",133);case 132:ue[be]=_e;case 133:if(e.t5=1===Object.keys(ue).length&&"@id"in ee,!e.t5){e.next=138;break}return e.next=137,D.compact({activeCtx:i,activeProperty:te,element:{"@id":ee["@id"]},options:p,compactionMap:k});case 137:ue=e.sent;case 138:de||(de=D.compactIri({activeCtx:i,iri:"@none",relativeTo:{vocab:!0}})),M(he,de,ue,{propertyIsArray:re.includes("@set")}),e.next=143;break;case 141:we=!p.compactArrays||re.includes("@set")||re.includes("@list")||c(ue)&&0===ue.length||"@list"===q||"@graph"===q,M(ie,te,ue,{propertyIsArray:we});case 143:e.next=70;break;case 145:e.next=150;break;case 147:e.prev=147,e.t6=e.catch(68),Z.e(e.t6);case 150:return e.prev=150,Z.f(),e.finish(150);case 153:e.next=159;break;case 155:if(!(x(i,a,"@container")||[]).includes("@index")){e.next=157;break}return e.abrupt("continue",182);case 157:ke=D.compactIri({activeCtx:i,iri:q,relativeTo:{vocab:!0}}),M(A,ke,X);case 159:e.next=165;break;case 161:return e.next=163,D.compact({activeCtx:i,activeProperty:a,element:X,options:p,compactionMap:k});case 163:xe=e.sent,c(xe)&&0===xe.length||M(A,q,xe);case 165:e.next=172;break;case 167:return e.next=169,D.compact({activeCtx:i,activeProperty:"@reverse",element:X,options:p,compactionMap:k});case 169:for(Ce in Se=e.sent)i.mappings.has(Ce)&&i.mappings.get(Ce).reverse&&(Ee=Se[Ce],Oe=(x(i,Ce,"@container")||[]).includes("@set")||!p.compactArrays,M(A,Ce,Ee,{propertyIsArray:Oe}),delete Se[Ce]);Object.keys(Se).length>0&&(Te=D.compactIri({activeCtx:i,iri:q,relativeTo:{vocab:!0}}),M(A,Te,Se));case 172:e.next=178;break;case 174:1===(Ae=I(X).map(function(e){return D.compactIri({activeCtx:P,iri:e,relativeTo:{vocab:!0}})})).length&&(Ae=Ae[0]),Pe=D.compactIri({activeCtx:i,iri:"@type",relativeTo:{vocab:!0}}),Me=(x(i,Pe,"@container")||[]).includes("@set")&&E(i,1.1)||c(Ae)&&0===X.length,M(A,Pe,Ae,{propertyIsArray:Me});case 178:e.next=182;break;case 180:1===(Ie=I(X).map(function(e){return D.compactIri({activeCtx:i,iri:e,relativeTo:{vocab:!1},base:p.base})})).length&&(Ie=Ie[0]),A[D.compactIri({activeCtx:i,iri:"@id",relativeTo:{vocab:!0}})]=Ie;case 182:e.next=51;break;case 184:e.next=189;break;case 186:e.prev=186,e.t7=e.catch(49),G.e(e.t7);case 189:return e.prev=189,G.f(),e.finish(189);case 192:return e.abrupt("return",{v:A});case 193:case"end":return e.stop()}},e,null,[[27,41,44,47],[49,186,189,192],[68,147,150,153]])})(),"t3",29);case 29:if("object"!=typeof(R=e.t3)){e.next=32;break}return e.abrupt("return",R.v);case 32:return e.abrupt("return",u);case 33:case"end":return e.stop()}},e)})),function(e){return a.apply(this,arguments)}),D.compactIri=function(e){var n=e.activeCtx,i=e.iri,r=e.value,o=void 0===r?null:r,a=e.relativeTo,u=void 0===a?{vocab:!1}:a,c=e.reverse,h=void 0!==c&&c,d=e.base,f=void 0===d?null:d;if(null===i)return i;n.isPropertyTermScoped&&n.previousContext&&(n=n.previousContext);var p=n.getInverse();if(S(i)&&i in p&&"@none"in p[i]&&"@type"in p[i]["@none"]&&"@none"in p[i]["@none"]["@type"])return p[i]["@none"]["@type"]["@none"];if(u.vocab&&i in p){var y=n["@language"]||"@none",b=[];l(o)&&"@index"in o&&!("@graph"in o)&&b.push("@index","@index@set"),l(o)&&"@preserve"in o&&(o=o["@preserve"][0]),m(o)?("@index"in o&&b.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in o&&b.push("@graph@id","@graph@id@set"),b.push("@graph","@graph@set","@set"),"@index"in o||b.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in o||b.push("@graph@id","@graph@id@set")):l(o)&&!g(o)&&b.push("@id","@id@set","@type","@set@type");var w="@language",k="@null";if(h)w="@type",k="@reverse",b.push("@set");else if(v(o)){"@index"in o||b.push("@list");var x=o["@list"];if(0===x.length)w="@any",k="@none";else{for(var C=0===x.length?y:null,E=null,O=0;O=0;--G){var W,q=V[G],X=_(q.terms);try{for(X.s();!(W=X.n()).done;){var Y=W.value,K=Y+":"+i.substr(q.iri.length);n.mappings.get(Y)._prefix&&(!n.mappings.has(K)||null===o&&n.mappings.get(K)["@id"]===i)&&(null===B||R(K,B)<0)&&(B=K)}}catch(te){X.e(te)}finally{X.f()}}if(null!==B)return B;var $,Q=_(n.mappings);try{for(Q.s();!($=Q.n()).done;){var Z=t($.value,2),J=Z[0],ee=Z[1];if(ee&&ee._prefix&&i.startsWith(J+":"))throw new s('Absolute IRI "'.concat(i,'" confused with prefix "').concat(J,'".'),"jsonld.SyntaxError",{code:"IRI confused with prefix",context:n})}}catch(te){Q.e(te)}finally{Q.f()}return u.vocab?i:"@base"in n?n["@base"]?T(A(f,n["@base"]),i):i:T(f,i)},D.compactValue=function(e){var t=e.activeCtx,n=e.activeProperty,i=e.value,r=e.options;if(g(i)){var a=x(t,n,"@type"),s=x(t,n,"@language"),u=x(t,n,"@direction"),c=x(t,n,"@container")||[],l="@index"in i&&!c.includes("@index");if(!l&&"@none"!==a&&(i["@type"]===a||"@language"in i&&i["@language"]===s&&"@direction"in i&&i["@direction"]===u||"@language"in i&&i["@language"]===s||"@direction"in i&&i["@direction"]===u))return i["@value"];var h=Object.keys(i).length,f=1===h||2===h&&"@index"in i&&!l,p="@language"in t,v=d(i["@value"]),m=t.mappings.has(n)&&null===t.mappings.get(n)["@language"];if(f&&"@none"!==a&&(!p||!v||m))return i["@value"];var y={};return l&&(y[D.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=i["@index"]),"@type"in i?y[D.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}})]=D.compactIri({activeCtx:t,iri:i["@type"],relativeTo:{vocab:!0}}):"@language"in i&&(y[D.compactIri({activeCtx:t,iri:"@language",relativeTo:{vocab:!0}})]=i["@language"]),"@direction"in i&&(y[D.compactIri({activeCtx:t,iri:"@direction",relativeTo:{vocab:!0}})]=i["@direction"]),y[D.compactIri({activeCtx:t,iri:"@value",relativeTo:{vocab:!0}})]=i["@value"],y}var b=k(t,n,{vocab:!0},r),_=x(t,n,"@type"),w=D.compactIri({activeCtx:t,iri:i["@id"],relativeTo:{vocab:"@vocab"===_},base:r.base});return"@id"===_||"@vocab"===_||"@graph"===b?w:o({},D.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}}),w)}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(e,t,n){"use strict";var i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#";t.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:i,RDF_LIST:i+"List",RDF_FIRST:i+"first",RDF_REST:i+"rest",RDF_NIL:i+"nil",RDF_TYPE:i+"type",RDF_PLAIN_LITERAL:i+"PlainLiteral",RDF_XML_LITERAL:i+"XMLLiteral",RDF_JSON_LITERAL:i+"JSON",RDF_OBJECT:i+"object",RDF_LANGSTRING:i+"langString",XSD:r,XSD_BOOLEAN:r+"boolean",XSD_DOUBLE:r+"double",XSD_INTEGER:r+"integer",XSD_STRING:r+"string"}},{}],19:[function(e,n,i){"use strict";var r,o=e("./util"),a=e("./JsonLdError"),s=e("./types"),u=s.isArray,c=s.isObject,l=s.isString,d=s.isUndefined,f=e("./url"),p=f.isAbsolute,g=f.isRelative,m=f.prependBase,y=e("./util"),b=y.asArray,w=y.compareShortestLeast,k=new Map,x=/^@[a-zA-Z]+$/,S={};function C(e,t,n,i,r,o){if(null===t||!l(t)||S.isKeyword(t))return t;if(t.match(x))return null;if(i&&i.hasOwnProperty(t)&&!0!==r.get(t)&&S.createTermDefinition({activeCtx:e,localCtx:i,term:t,defined:r,options:o}),(n=n||{}).vocab){var a=e.mappings.get(t);if(null===a)return null;if(c(a)&&"@id"in a)return a["@id"]}var s=t.indexOf(":");if(s>0){var u=t.substr(0,s),h=t.substr(s+1);if("_"===u||0===h.indexOf("//"))return t;i&&i.hasOwnProperty(u)&&S.createTermDefinition({activeCtx:e,localCtx:i,term:u,defined:r,options:o});var d=e.mappings.get(u);if(d&&d._prefix)return d["@id"]+h;if(p(t))return t}if(n.vocab&&"@vocab"in e)return e["@vocab"]+t;if(n.base&&"@base"in e){if(e["@base"])return m(m(o.base,e["@base"]),t)}else if(n.base)return m(o.base,t);return t}function E(e,t){if(!e||"object"!=typeof e||!t||"object"!=typeof t)return e===t;var n=Array.isArray(e);if(n!==Array.isArray(t))return!1;if(n){if(e.length!==t.length)return!1;for(var i=0;i0,"@reverse"in t){if("@id"in t)throw new a("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:i});if("@nest"in t)throw new a("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:i});var k=t["@reverse"];if(!l(k))throw new a("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});if(!S.isKeyword(k)&&k.match(x))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:k}),void(g?n.mappings.set(r,g):n.mappings.delete(r));var O=C(n,k,{vocab:!0,base:!1},i,o,s);if(!p(O))throw new a("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});y["@id"]=O,y.reverse=!0}else if("@id"in t){var T=t["@id"];if(T&&!l(T))throw new a("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});if(null===T)y["@id"]=null;else{if(!S.isKeyword(T)&&T.match(x))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:T}),void(g?n.mappings.set(r,g):n.mappings.delete(r));if(T!==r){if(T=C(n,T,{vocab:!0,base:!1},i,o,s),!p(T)&&!S.isKeyword(T))throw new a("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});if(r.match(/(?::[^:])|\//)&&C(n,r,{vocab:!0,base:!1},i,new Map(o).set(r,!0),s)!==T)throw new a("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i});y["@id"]=T,y._prefix=m&&!y._termHasColon&&T.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in y))if(y._termHasColon){var A=r.substr(0,w);if(i.hasOwnProperty(A)&&S.createTermDefinition({activeCtx:n,localCtx:i,term:A,defined:o,options:s}),n.mappings.has(A)){var P=r.substr(w+1);y["@id"]=n.mappings.get(A)["@id"]+P}else y["@id"]=r}else if("@type"===r)y["@id"]=r;else{if(!("@vocab"in n))throw new a("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:i,term:r});y["@id"]=n["@vocab"]+r}if((!0===t["@protected"]||!0===o.get("@protected")&&!1!==t["@protected"])&&(n.protected[r]=!0,y.protected=!0),o.set(r,!0),"@type"in t){var M=t["@type"];if(!l(M))throw new a("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:i});if("@json"===M||"@none"===M){if(S.processingMode(n,1))throw new a('Invalid JSON-LD syntax; an @context @type value must not be "'.concat(M,'" in JSON-LD 1.0 mode.'),"jsonld.SyntaxError",{code:"invalid type mapping",context:i})}else if("@id"!==M&&"@vocab"!==M){if(M=C(n,M,{vocab:!0,base:!1},i,o,s),!p(M))throw new a("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:i});if(0===M.indexOf("_:"))throw new a("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:i})}y["@type"]=M}if("@container"in t){var I=l(t["@container"])?[t["@container"]]:t["@container"]||[],R=["@list","@set","@index","@language"],D=!0,N=I.includes("@set");if(S.processingMode(n,1.1)){if(R.push("@graph","@id","@type"),I.includes("@list")){if(1!==I.length)throw new a("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:i})}else if(I.includes("@graph")){if(I.some(function(e){return"@graph"!==e&&"@id"!==e&&"@index"!==e&&"@set"!==e}))throw new a("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:i})}else D&=I.length<=(N?2:1);if(I.includes("@type")&&(y["@type"]=y["@type"]||"@id",!["@id","@vocab"].includes(y["@type"])))throw new a("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:i})}else D&=!u(t["@container"]),D&=I.length<=1;if(D&=I.every(function(e){return R.includes(e)}),!(D&=!(N&&I.includes("@list"))))throw new a("Invalid JSON-LD syntax; @context @container value must be one of the following: "+R.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:i});if(y.reverse&&!I.every(function(e){return["@index","@set"].includes(e)}))throw new a("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:i});y["@container"]=I}if("@index"in t){if(!("@container"in t)||!y["@container"].includes("@index"))throw new a('Invalid JSON-LD syntax; @index without @index in @container: "'.concat(t["@index"],'" on term "').concat(r,'".'),"jsonld.SyntaxError",{code:"invalid term definition",context:i});if(!l(t["@index"])||0===t["@index"].indexOf("@"))throw new a('Invalid JSON-LD syntax; @index must expand to an IRI: "'.concat(t["@index"],'" on term "').concat(r,'".'),"jsonld.SyntaxError",{code:"invalid term definition",context:i});y["@index"]=t["@index"]}if("@context"in t&&(y["@context"]=t["@context"]),"@language"in t&&!("@type"in t)){var L=t["@language"];if(null!==L&&!l(L))throw new a("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:i});null!==L&&(L=L.toLowerCase()),y["@language"]=L}if("@prefix"in t){if(r.match(/:|\//))throw new a("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:i});if(S.isKeyword(y["@id"]))throw new a("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:i});if("boolean"!=typeof t["@prefix"])throw new a("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:i});y._prefix=!0===t["@prefix"]}if("@direction"in t){var j=t["@direction"];if(null!==j&&"ltr"!==j&&"rtl"!==j)throw new a('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:i});y["@direction"]=j}if("@nest"in t){var F=t["@nest"];if(!l(F)||"@nest"!==F&&0===F.indexOf("@"))throw new a("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:i});y["@nest"]=F}var B=y["@id"];if("@context"===B||"@preserve"===B)throw new a("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:i});if(g&&g.protected&&!d&&(n.protected[r]=!0,y.protected=!0,!E(g,y))){var V=s&&s.protectedMode||"error";if("error"===V)throw new a('Invalid JSON-LD syntax; tried to redefine "'.concat(r,'" which is a protected term.'),"jsonld.SyntaxError",{code:"protected term redefinition",context:i,term:r});if("warn"===V)return void console.warn("WARNING: protected term redefinition",{term:r});throw new a("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:i,term:r,protectedMode:V})}},S.expandIri=function(e,t,n,i){return C(e,t,n,void 0,void 0,i)},S.getInitialContext=function(e){var t=JSON.stringify({processingMode:e.processingMode}),n=k.get(t);if(n)return n;var i={processingMode:e.processingMode,mappings:new Map,inverse:null,getInverse:function(){var e=this;if(e.inverse)return e.inverse;var t,n=e.inverse={},i=e.fastCurieMap={},o={},s=(e["@language"]||"@none").toLowerCase(),u=e["@direction"],c=e.mappings,l=_(v(c.keys()).sort(w));try{for(l.s();!(t=l.n()).done;){var h=t.value,d=c.get(h);if(null!==d){var f=d["@container"]||"@none";if(f=[].concat(f).sort().join(""),null!==d["@id"]){var p,g=_(b(d["@id"]));try{for(g.s();!(p=g.n()).done;){var m=p.value,y=n[m],k=S.isKeyword(m);if(y)!k&&!d._termHasColon&&o[m].push(h);else if(n[m]=y={},!k&&!d._termHasColon){o[m]=[h];var x={iri:m,terms:o[m]};m[0]in i?i[m[0]].push(x):i[m[0]]=[x]}if(y[f]||(y[f]={"@language":{},"@type":{},"@any":{}}),a(h,(y=y[f])["@any"],"@none"),d.reverse)a(h,y["@type"],"@reverse");else if("@none"===d["@type"])a(h,y["@any"],"@none"),a(h,y["@language"],"@none"),a(h,y["@type"],"@none");else if("@type"in d)a(h,y["@type"],d["@type"]);else if("@language"in d&&"@direction"in d){var C=d["@language"],E=d["@direction"];a(h,y["@language"],C&&E?"".concat(C,"_").concat(E).toLowerCase():C?C.toLowerCase():E?"_".concat(E):"@null")}else"@language"in d?a(h,y["@language"],(d["@language"]||"@null").toLowerCase()):"@direction"in d?a(h,y["@language"],d["@direction"]?"_".concat(d["@direction"]):"@none"):u?(a(h,y["@language"],"_".concat(u)),a(h,y["@language"],"@none"),a(h,y["@type"],"@none")):(a(h,y["@language"],s),a(h,y["@language"],"@none"),a(h,y["@type"],"@none"))}}catch(T){g.e(T)}finally{g.f()}}}}}catch(T){l.e(T)}finally{l.f()}for(var O in i)r(i,O,1);return n},clone:function(){var e={};return e.mappings=o.clone(this.mappings),e.clone=this.clone,e.inverse=null,e.getInverse=this.getInverse,e.protected=o.clone(this.protected),this.previousContext&&(e.previousContext=this.previousContext.clone()),e.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(e["@base"]=this["@base"]),"@language"in this&&(e["@language"]=this["@language"]),"@vocab"in this&&(e["@vocab"]=this["@vocab"]),e},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===k.size&&k.clear(),k.set(t,i),i;function r(e,t,n){var i,o,a,s=e[t],u=e[t]={},c=_(s);try{for(c.s();!(a=c.n()).done;){var l=a.value;(o=n>=(i=l.iri).length?"":i[n])in u?u[o].push(l):u[o]=[l]}}catch(d){c.e(d)}finally{c.f()}for(var h in u)""!==h&&r(u,h,n+1)}function a(e,t,n){t.hasOwnProperty(n)||(t[n]=e)}},S.getContextValue=function(e,t,n){if(null===t)return"@context"===n?void 0:null;if(e.mappings.has(t)){var i=e.mappings.get(t);if(d(n))return i;if(i.hasOwnProperty(n))return i[n]}return"@language"===n&&n in e||"@direction"===n&&n in e?e[n]:"@context"!==n?null:void 0},S.processingMode=function(e,t){return t.toString()>="1.1"?!e.processingMode||e.processingMode>="json-ld-"+t.toString():"json-ld-1.0"===e.processingMode},S.isKeyword=function(e){if(!l(e)||"@"!==e[0])return!1;switch(e){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(e,t,n){"use strict";var i=e("../util"),r=i.parseLinkHeader,o=i.buildHeaders,a=e("../constants").LINK_HEADER_CONTEXT,s=e("../JsonLdError"),u=e("../RequestQueue"),c=e("../url").prependBase,l=/(^|(\r\n))link:/i;function d(e,t,n){var i=new(e=e||XMLHttpRequest);return new Promise(function(e,r){for(var o in i.onload=function(){return e(i)},i.onerror=function(e){return r(e)},i.open("GET",t,!0),n)i.setRequestHeader(o,n[o]);i.send()})}t.exports=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{headers:{}},t=e.secure,n=e.headers,i=void 0===n?{}:n,f=e.xhr;return i=o(i),(new u).wrapLoader(p);function p(e){return v.apply(this,arguments)}function v(){return(v=h(regeneratorRuntime.mark(function e(n){var o,u,h,v,g,m,y;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(0===n.indexOf("http:")||0===n.indexOf("https:")){e.next=2;break}throw new s('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:n});case 2:if(!t||0===n.indexOf("https")){e.next=4;break}throw new s('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:n});case 4:return e.prev=4,e.next=7,d(f,n,i);case 7:o=e.sent,e.next=13;break;case 10:throw e.prev=10,e.t0=e.catch(4),new s("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:n,cause:e.t0});case 13:if(!(o.status>=400)){e.next=15;break}throw new s("URL could not be dereferenced: "+o.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:n,httpStatusCode:o.status});case 15:if(u={contextUrl:null,documentUrl:n,document:o.response},h=null,v=o.getResponseHeader("Content-Type"),l.test(o.getAllResponseHeaders())&&(g=o.getResponseHeader("Link")),!g||"application/ld+json"===v){e.next=28;break}if(m=r(g),y=m[a],!Array.isArray(y)){e.next=21;break}throw new s("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:n});case 21:if(y&&(u.contextUrl=y.target),h=m.alternate,e.t1=h&&"application/ld+json"==h.type&&!(v||"").match(/^application\/(\w*\+)?json$/),!e.t1){e.next=28;break}return e.next=27,p(c(n,h.target));case 27:u=e.sent;case 28:return e.abrupt("return",u);case 29:case"end":return e.stop()}},e,null,[[4,10]])}))).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(e,n,i){"use strict";var r=e("./JsonLdError"),o=e("./types"),a=o.isArray,s=o.isObject,u=o.isEmptyObject,c=o.isString,l=o.isUndefined,d=e("./graphTypes"),f=d.isList,p=d.isValue,v=d.isGraph,g=d.isSubject,m=e("./context"),y=m.expandIri,b=m.getContextValue,w=m.isKeyword,k=m.process,x=m.processingMode,S=e("./url").isAbsolute,C=e("./util"),E=C.addValue,O=C.asArray,T=C.getValues,A=C.validateTypeValue,P={};n.exports=P;var M,I=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function R(e){return D.apply(this,arguments)}function D(){return(D=h(regeneratorRuntime.mark(function e(n){var i,o,h,d,v,m,C,T,M,D,N,F,B,V,z,U,H,G,W,q,X,Y,K,$,Q,Z,J,ee,te,ne,ie,re,oe,ae,se,ue,ce,le,he,de,fe,pe,ve,ge,me,ye,be,_e,we,ke,xe,Se,Ce;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:i=n.activeCtx,o=n.activeProperty,h=n.expandedActiveProperty,d=n.element,v=n.expandedParent,m=n.options,C=void 0===m?{}:m,T=n.insideList,M=n.typeKey,D=n.typeScopedContext,N=n.expansionMap,F=Object.keys(d).sort(),B=[],z=d[M]&&"@json"===y(i,a(d[M])?d[M][0]:d[M],{vocab:!0},C),U=_(F),e.prev=4,U.s();case 6:if((H=U.n()).done){e.next=187;break}if(G=H.value,W=void 0,q=d[G],"@context"!==G){e.next=11;break}return e.abrupt("continue",185);case 11:if(null!==(X=y(i,G,{vocab:!0},C))&&(S(X)||w(X))||void 0!==(X=N({unmappedProperty:G,activeCtx:i,activeProperty:o,parent:d,options:C,insideList:T,value:q,expandedParent:v}))){e.next=14;break}return e.abrupt("continue",185);case 14:if(!w(X)){e.next=19;break}if("@reverse"!==h){e.next=17;break}throw new r("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:q});case 17:if(!(X in v)||"@included"===X||"@type"===X){e.next=19;break}throw new r("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:X});case 19:if("@id"!==X){e.next=34;break}if(c(q)){e.next=32;break}if(C.isFrame){e.next=23;break}throw new r('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:q});case 23:if(!s(q)){e.next=28;break}if(u(q)){e.next=26;break}throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});case 26:e.next=32;break;case 28:if(a(q)){e.next=30;break}throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});case 30:if(q.every(function(e){return c(e)})){e.next=32;break}throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});case 32:return E(v,"@id",O(q).map(function(e){return c(e)?y(i,e,{base:!0},C):e}),{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 34:if("@type"!==X){e.next=37;break}return s(q)&&(q=Object.fromEntries(Object.entries(q).map(function(e){var n=t(e,2),i=n[0],r=n[1];return[y(D,i,{vocab:!0}),O(r).map(function(e){return y(D,e,{base:!0,vocab:!0})})]}))),A(q,C.isFrame),E(v,"@type",O(q).map(function(e){return c(e)?y(D,e,{base:!0,vocab:!0},C):e}),{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 37:if("@included"!==X||!x(i,1.1)){e.next=47;break}return e.t0=O,e.next=41,P.expand({activeCtx:i,activeProperty:o,element:q,options:C,expansionMap:N});case 41:if(e.t1=e.sent,(Y=(0,e.t0)(e.t1)).every(function(e){return g(e)})){e.next=45;break}throw new r("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:q});case 45:return E(v,"@included",Y,{propertyIsArray:!0}),e.abrupt("continue",185);case 47:if("@graph"!==X||s(q)||a(q)){e.next=49;break}throw new r('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:q});case 49:if("@value"!==X){e.next=52;break}return V=q,z&&x(i,1.1)?v["@value"]=q:E(v,"@value",q,{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 52:if("@language"!==X){e.next=62;break}if(null!==q){e.next=55;break}return e.abrupt("continue",185);case 55:if(c(q)||C.isFrame){e.next=57;break}throw new r('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:q});case 57:q=O(q).map(function(e){return c(e)?e.toLowerCase():e}),K=_(q);try{for(K.s();!($=K.n()).done;)Q=$.value,c(Q)&&!Q.match(I)&&console.warn("@language must be valid BCP47: ".concat(Q))}catch(Ee){K.e(Ee)}finally{K.f()}return E(v,"@language",q,{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 62:if("@direction"!==X){e.next=85;break}if(c(q)||C.isFrame){e.next=65;break}throw new r('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:q});case 65:q=O(q),Z=_(q),e.prev=67,Z.s();case 69:if((J=Z.n()).done){e.next=75;break}if(ee=J.value,!c(ee)||"ltr"===ee||"rtl"===ee){e.next=73;break}throw new r('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:q});case 73:e.next=69;break;case 75:e.next=80;break;case 77:e.prev=77,e.t2=e.catch(67),Z.e(e.t2);case 80:return e.prev=80,Z.f(),e.finish(80);case 83:return E(v,"@direction",q,{propertyIsArray:C.isFrame}),e.abrupt("continue",185);case 85:if("@index"!==X){e.next=90;break}if(c(q)){e.next=88;break}throw new r('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:q});case 88:return E(v,"@index",q),e.abrupt("continue",185);case 90:if("@reverse"!==X){e.next=118;break}if(s(q)){e.next=93;break}throw new r('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:q});case 93:return e.next=95,P.expand({activeCtx:i,activeProperty:"@reverse",element:q,options:C,expansionMap:N});case 95:if(!("@reverse"in(W=e.sent))){e.next=98;break}for(te in W["@reverse"])E(v,te,W["@reverse"][te],{propertyIsArray:!0});case 98:ne=v["@reverse"]||null,e.t3=regeneratorRuntime.keys(W);case 100:if((e.t4=e.t3()).done){e.next=117;break}if("@reverse"!==(ie=e.t4.value)){e.next=104;break}return e.abrupt("continue",100);case 104:null===ne&&(ne=v["@reverse"]={}),E(ne,ie,[],{propertyIsArray:!0}),re=W[ie],oe=0;case 107:if(!(oe1?$.slice().sort():$:[$],Z=_(Q),e.prev=81,Z.s();case 83:if((J=Z.n()).done){e.next=93;break}if(ee=J.value,te=b(C,ee,"@context"),e.t5=l(te),e.t5){e.next=91;break}return e.next=90,k({activeCtx:n,localCtx:te,options:f,propagate:!1});case 90:n=e.sent;case 91:e.next=83;break;case 93:e.next=98;break;case 95:e.prev=95,e.t6=e.catch(81),Z.e(e.t6);case 98:return e.prev=98,Z.f(),e.finish(98);case 101:e.next=75;break;case 103:e.next=108;break;case 105:e.prev=105,e.t7=e.catch(73),X.e(e.t7);case 108:return e.prev=108,X.f(),e.finish(108);case 111:return ne={},e.next=114,R({activeCtx:n,activeProperty:o,expandedActiveProperty:F,element:h,expandedParent:ne,options:f,insideList:v,typeKey:q,typeScopedContext:C,expansionMap:A});case 114:if(V=Object.keys(ne),ie=V.length,!("@value"in ne)){e.next=137;break}if(!("@type"in ne)||!("@language"in ne)&&!("@direction"in ne)){e.next=119;break}throw new r('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ne});case 119:if(re=ie-1,"@type"in ne&&(re-=1),"@index"in ne&&(re-=1),"@language"in ne&&(re-=1),"@direction"in ne&&(re-=1),0===re){e.next=122;break}throw new r('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ne});case 122:if(oe=null===ne["@value"]?[]:O(ne["@value"]),ae=T(ne,"@type"),x(n,1.1)&&ae.includes("@json")&&1===ae.length){e.next=135;break}if(0!==oe.length){e.next=131;break}return e.next=127,A({unmappedValue:ne,activeCtx:n,activeProperty:o,element:h,options:f,insideList:v});case 127:se=e.sent,ne=void 0!==se?se:null,e.next=135;break;case 131:if(oe.every(function(e){return c(e)||u(e)})||!("@language"in ne)){e.next=133;break}throw new r("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:ne});case 133:if(ae.every(function(e){return S(e)&&!(c(e)&&0===e.indexOf("_:"))||u(e)})){e.next=135;break}throw new r('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:ne});case 135:e.next=152;break;case 137:if(!("@type"in ne)||a(ne["@type"])){e.next=141;break}ne["@type"]=[ne["@type"]],e.next=152;break;case 141:if(!("@set"in ne)&&!("@list"in ne)){e.next=147;break}if(!(ie>1)||2===ie&&"@index"in ne){e.next=144;break}throw new r('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:ne});case 144:"@set"in ne&&(ne=ne["@set"],V=Object.keys(ne),ie=V.length),e.next=152;break;case 147:if(1!==ie||!("@language"in ne)){e.next=152;break}return e.next=150,A(ne,{unmappedValue:ne,activeCtx:n,activeProperty:o,element:h,options:f,insideList:v});case 150:ue=e.sent,ne=void 0!==ue?ue:null;case 152:if(!s(ne)||f.keepFreeFloatingNodes||v||null!==o&&"@graph"!==F||!(0===ie||"@value"in ne||"@list"in ne||1===ie&&"@id"in ne)){e.next=157;break}return e.next=155,A({unmappedValue:ne,activeCtx:n,activeProperty:o,element:h,options:f,insideList:v});case 155:ce=e.sent,ne=void 0!==ce?ce:null;case 157:return e.abrupt("return",ne);case 158:case"end":return e.stop()}},e,null,[[38,53,56,59],[73,105,108,111],[81,95,98,101]])})),function(e){return M.apply(this,arguments)})},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(e,t,n){"use strict";var i=e("./graphTypes").isSubjectReference,r=e("./nodeMap").createMergedNodeMap,o={};t.exports=o,o.flatten=function(e){for(var t=r(e),n=[],o=Object.keys(t).sort(),a=0;a=0;--i){var r=n[i];if(r.graph===t&&r.subject["@id"]===e["@id"])return!0}return!1}function g(e,t,n){var i="@"+n,r=i in e?e[i][0]:t[n];if("embed"===n)if(!0===r)r="@once";else if(!1===r)r="@never";else if("@always"!==r&&"@never"!==r&&"@link"!==r&&"@first"!==r&&"@last"!==r&&"@once"!==r)throw new c("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:e});return r}function m(e){if(!a.isArray(e)||1!==e.length||!a.isObject(e[0]))throw new c("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:e});if("@id"in e[0]){var t,n=_(s.asArray(e[0]["@id"]));try{for(n.s();!(t=n.n()).done;){var i=t.value;if(!a.isObject(i)&&!u.isAbsolute(i)||a.isString(i)&&0===i.indexOf("_:"))throw new c("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:e})}}catch(h){n.e(h)}finally{n.f()}}if("@type"in e[0]){var r,o=_(s.asArray(e[0]["@type"]));try{for(o.s();!(r=o.n()).done;){var l=r.value;if(!a.isObject(l)&&!u.isAbsolute(l)||a.isString(l)&&0===l.indexOf("_:"))throw new c("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:e})}}catch(h){o.e(h)}finally{o.f()}}}function y(e,t,n,o){var u=!0,c=!1;for(var l in n){var h=!1,d=s.getValues(t,l),f=0===s.getValues(n,l).length;if("@id"===l){if(a.isEmptyObject(n["@id"][0]||{})?h=!0:n["@id"].length>=0&&(h=n["@id"].includes(d[0])),!o.requireAll)return h}else if("@type"===l){if(u=!1,f){if(d.length>0)return!1;h=!0}else if(1===n["@type"].length&&a.isEmptyObject(n["@type"][0]))h=d.length>0;else{var p,v=_(n["@type"]);try{var g=function(){var e=p.value;h=!(!a.isObject(e)||!("@default"in e))||h||d.some(function(t){return t===e})};for(v.s();!(p=v.n()).done;)g()}catch(b){v.e(b)}finally{v.f()}}if(!o.requireAll)return h}else{if(i(l))continue;var y=function(){var t=s.getValues(n,l)[0],i=!1;if(t&&(m([t]),i="@default"in t),u=!1,0===d.length&&i)return"continue";if(d.length>0&&f)return{v:!1};if(void 0===t){if(d.length>0)return{v:!1};h=!0}else if(r.isList(t)){var c=t["@list"][0];if(r.isList(d[0])){var p=d[0]["@list"];r.isValue(c)?h=p.some(function(e){return S(c,e)}):(r.isSubject(c)||r.isSubjectReference(c))&&(h=p.some(function(t){return x(e,c,t,o)}))}}else h=r.isValue(t)?d.some(function(e){return S(t,e)}):r.isSubjectReference(t)?d.some(function(n){return x(e,t,n,o)}):!!a.isObject(t)&&d.length>0}();if("continue"===y)continue;if("object"==typeof y)return y.v}if(!h&&o.requireAll)return!1;c=c||h}return u||c}function b(e,t){var n=e.uniqueEmbeds[e.graph],i=n[t],r=i.parent,o=i.property,u={"@id":t};if(a.isArray(r)){for(var c=0;c4&&void 0!==arguments[4]?arguments[4]:null;m(n);var h=e.options,d={embed:g(n=n[0],h,"embed"),explicit:g(n,h,"explicit"),requireAll:g(n,h,"requireAll")};e.link.hasOwnProperty(e.graph)||(e.link[e.graph]={});var w,x=e.link[e.graph],C=function(e,t,n,i){var r,o={},a=_(t);try{for(a.s();!(r=a.n()).done;){var s=r.value,u=e.graphMap[e.graph][s];y(e,u,n,i)&&(o[s]=u)}}catch(c){a.e(c)}finally{a.f()}return o}(e,t,n,d),E=Object.keys(C).sort(),O=_(E);try{var T=function(){var m=w.value,y=C[m];if(null===l?e.uniqueEmbeds=o({},e.graph,{}):e.uniqueEmbeds[e.graph]=e.uniqueEmbeds[e.graph]||{},"@link"===d.embed&&m in x)return k(u,l,x[m]),"continue";var E={"@id":m};if(0===m.indexOf("_:")&&s.addValue(e.bnodeMap,m,E,{propertyIsArray:!0}),x[m]=E,("@first"===d.embed||"@last"===d.embed)&&e.is11)throw new c("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:n});if(e.embedded||!e.uniqueEmbeds[e.graph].hasOwnProperty(m)){if(e.embedded&&("@never"===d.embed||v(y,e.graph,e.subjectStack)))return k(u,l,E),"continue";if(e.embedded&&("@first"==d.embed||"@once"==d.embed)&&e.uniqueEmbeds[e.graph].hasOwnProperty(m))return k(u,l,E),"continue";if("@last"===d.embed&&m in e.uniqueEmbeds[e.graph]&&b(e,m),e.uniqueEmbeds[e.graph][m]={parent:u,property:l},e.subjectStack.push({subject:y,graph:e.graph}),m in e.graphMap){var O=!1,T=null;"@graph"in n?(T=n["@graph"][0],O=!("@merged"===m||"@default"===m),a.isObject(T)||(T={})):(O="@merged"!==e.graph,T={}),O&&f.frame(I(M({},e),{graph:m,embedded:!1}),Object.keys(e.graphMap[m]).sort(),[T],E,"@graph")}"@included"in n&&f.frame(I(M({},e),{embedded:!1}),t,n["@included"],E,"@included");var A,P=_(Object.keys(y).sort());try{for(P.s();!(A=P.n()).done;){var R=A.value;if(i(R)){if(E[R]=s.clone(y[R]),"@type"===R){var D,N=_(y["@type"]);try{for(N.s();!(D=N.n()).done;){var L=D.value;0===L.indexOf("_:")&&s.addValue(e.bnodeMap,L,E,{propertyIsArray:!0})}}catch(re){N.e(re)}finally{N.f()}}}else if(!d.explicit||R in n){var j,F=_(y[R]);try{for(F.s();!(j=F.n()).done;){var B=j.value,V=R in n?n[R]:p(d);if(r.isList(B)){var z=n[R]&&n[R][0]&&n[R][0]["@list"]?n[R][0]["@list"]:p(d),U={"@list":[]};k(E,R,U);var H,G=_(B["@list"]);try{for(G.s();!(H=G.n()).done;){var W=H.value;r.isSubjectReference(W)?f.frame(I(M({},e),{embedded:!0}),[W["@id"]],z,U,"@list"):k(U,"@list",s.clone(W))}}catch(re){G.e(re)}finally{G.f()}}else r.isSubjectReference(B)?f.frame(I(M({},e),{embedded:!0}),[B["@id"]],V,E,R):S(V[0],B)&&k(E,R,s.clone(B))}}catch(re){F.e(re)}finally{F.f()}}}}catch(re){P.e(re)}finally{P.f()}var q,X=_(Object.keys(n).sort());try{for(X.s();!(q=X.n()).done;){var Y=q.value;if("@type"===Y){if(!a.isObject(n[Y][0])||!("@default"in n[Y][0]))continue}else if(i(Y))continue;var K=n[Y][0]||{};if(!g(K,h,"omitDefault")&&!(Y in E)){var $="@null";"@default"in K&&($=s.clone(K["@default"])),a.isArray($)||($=[$]),E[Y]=[{"@preserve":$}]}}}catch(re){X.e(re)}finally{X.f()}var Q,Z=_(Object.keys(n["@reverse"]||{}).sort());try{for(Z.s();!(Q=Z.n()).done;)for(var J=Q.value,ee=n["@reverse"][J],te=0,ne=Object.keys(e.subjects);te0&&(r["@language"]=l,l.match(k)||console.warn("@language must be valid BCP47: ".concat(l))),r["@direction"]=h}else a!==w&&(r["@type"]=a)}return r}n.exports=x,x.fromRDF=(r=h(regeneratorRuntime.mark(function e(t,n){var i,r,o,c,h,g,m,y,b,w,k,x,C,E,O,T,A,P,M,I,R,D,N,L,j,F,B,V,z,U,H,G,W,q,X,Y,K,$,Q,Z,J,ee,te,ne,ie,re,oe,ae,se;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:i=n.useRdfType,r=void 0!==i&&i,o=n.useNativeTypes,c=void 0!==o&&o,h=n.rdfDirection,g=void 0===h?null:h,y={"@default":m={}},b={},w=_(t),e.prev=3,w.s();case 5:if((k=w.n()).done){e.next=19;break}if(x=k.value,(C="DefaultGraph"===x.graph.termType?"@default":x.graph.value)in y||(y[C]={}),"@default"!==C&&!(C in m)&&(m[C]={"@id":C}),E=y[C],O=x.subject.value,T=x.predicate.value,A=x.object,O in E||(E[O]={"@id":O}),P=E[O],(M=A.termType.endsWith("Node"))&&!(A.value in E)&&(E[A.value]={"@id":A.value}),T!==v||r||!M){e.next=15;break}return u.addValue(P,"@type",A.value,{propertyIsArray:!0}),e.abrupt("continue",17);case 15:I=S(A,c,g),u.addValue(P,T,I,{propertyIsArray:!0}),M&&(A.value===p?("usages"in(R=E[A.value])||(R.usages=[]),R.usages.push({node:P,property:T,value:I})):b[A.value]=!(A.value in b)&&{node:P,property:T,value:I});case 17:e.next=5;break;case 19:e.next=24;break;case 21:e.prev=21,e.t0=e.catch(3),w.e(e.t0);case 24:return e.prev=24,w.f(),e.finish(24);case 27:e.t1=regeneratorRuntime.keys(y);case 28:if((e.t2=e.t1()).done){e.next=37;break}if(D=e.t2.value,N=y[D],p in N){e.next=33;break}return e.abrupt("continue",28);case 33:if((L=N[p]).usages){j=_(L.usages);try{for(j.s();!(F=j.n()).done;){for(B=F.value,V=B.node,z=B.property,U=B.value,H=[],G=[],W=Object.keys(V).length;z===f&&s.isObject(b[V["@id"]])&&s.isArray(V[d])&&1===V[d].length&&s.isArray(V[f])&&1===V[f].length&&(3===W||4===W&&s.isArray(V["@type"])&&1===V["@type"].length&&V["@type"][0]===l)&&(H.push(V[d][0]),G.push(V["@id"]),B=b[V["@id"]],V=B.node,z=B.property,U=B.value,W=Object.keys(V).length,a.isBlankNode(V)););for(delete U["@id"],U["@list"]=H.reverse(),q=0,X=G;q1||!("@id"in e))},r.isSubjectReference=function(e){return i.isObject(e)&&1===Object.keys(e).length&&"@id"in e},r.isValue=function(e){return i.isObject(e)&&"@value"in e},r.isList=function(e){return i.isObject(e)&&"@list"in e},r.isGraph=function(e){return i.isObject(e)&&"@graph"in e&&1===Object.keys(e).filter(function(e){return"@id"!==e&&"@index"!==e}).length},r.isSimpleGraph=function(e){return r.isGraph(e)&&!("@id"in e)},r.isBlankNode=function(e){return!!i.isObject(e)&&("@id"in e?0===e["@id"].indexOf("_:"):0===Object.keys(e).length||!("@value"in e||"@set"in e||"@list"in e))}},{"./types":30}],26:[function(e,t,n){var i=e("rdf-canonize"),r=e("./platform"),o=e("./util"),a=e("./ContextResolver"),s=o.IdentifierIssuer,u=e("./JsonLdError"),c=e("lru-cache"),l=e("./NQuads"),d=e("./expand").expand,f=e("./flatten").flatten,p=e("./fromRdf").fromRDF,v=e("./toRdf").toRDF,g=e("./frame"),m=g.frameMergedOrDefault,y=g.cleanupNull,b=e("./types"),w=b.isArray,k=b.isObject,x=b.isString,S=e("./graphTypes").isSubjectReference,C=e("./context"),A=C.expandIri,P=C.getInitialContext,I=C.process,R=C.processingMode,D=e("./compact"),N=D.compact,L=D.compactIri,j=e("./nodeMap"),F=j.createNodeMap,B=j.createMergedNodeMap,V=j.mergeNodeMaps,z=function(t){var n,g={},b=new c({max:100});function C(e,n){var i=n,r=i.documentLoader,o=void 0===r?t.documentLoader:r,a=function(e,t){var n={};for(var i in e)O.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&E){var r,o=_(E(e));try{for(o.s();!(r=o.n()).done;)i=r.value,t.indexOf(i)<0&&T.call(e,i)&&(n[i]=e[i])}catch(a){o.e(a)}finally{o.f()}}return n}(i,["documentLoader"]);return Object.assign({},{documentLoader:o},a,e)}return t.compact=(n=h(regeneratorRuntime.mark(function e(n,i,r){var c,l,h,d,f,p,v,g,m,y,_=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(_.length<2)){e.next=2;break}throw new TypeError("Could not compact, too few arguments.");case 2:if(null!==i){e.next=4;break}throw new u("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});case 4:if(null!==n){e.next=6;break}return e.abrupt("return",null);case 6:if((r=C(r,{base:x(n)?n:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new s("_:b"),contextResolver:new a({sharedCache:b})})).link&&(r.skipExpansion=!0),r.compactToRelative||delete r.base,!r.skipExpansion){e.next=12;break}e.t0=n,e.next=15;break;case 12:return e.next=14,t.expand(n,r);case 14:e.t0=e.sent;case 15:return c=e.t0,e.next=18,t.processContext(P(r),i,r);case 18:return l=e.sent,e.next=21,N({activeCtx:l,element:c,options:r,compactionMap:r.compactionMap});case 21:h=e.sent,r.compactArrays&&!r.graph&&w(h)?1===h.length?h=h[0]:0===h.length&&(h={}):r.graph&&k(h)&&(h=[h]),k(i)&&"@context"in i&&(i=i["@context"]),i=o.clone(i),w(i)||(i=[i]),d=i,i=[];for(f=0;f0)&&i.push(d[f]);if(p=i.length>0,1===i.length&&(i=i[0]),w(h))v=L({activeCtx:l,iri:"@graph",relativeTo:{vocab:!0}}),g=h,h={},p&&(h["@context"]=i),h[v]=g;else if(k(h)&&p)for(y in m=h,h={"@context":i},m)h[y]=m[y];return e.abrupt("return",h);case 29:case"end":return e.stop()}},e)})),function(e,t,i){return n.apply(this,arguments)}),t.expand=function(){var e=h(regeneratorRuntime.mark(function e(n,i){var r,s,u,c,l,h,f,p,v,g,m=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(m.length<1)){e.next=2;break}throw new TypeError("Could not expand, too few arguments.");case 2:if(!1===(i=C(i,{keepFreeFloatingNodes:!1,contextResolver:new a({sharedCache:b})})).expansionMap&&(i.expansionMap=void 0),r={},s=[],"expandContext"in i&&(u=o.clone(i.expandContext),r.expandContext=k(u)&&"@context"in u?u:{"@context":u},s.push(r.expandContext)),!x(n)){e.next=12;break}return e.next=8,t.get(n,i);case 8:l=e.sent,c=l.documentUrl,r.input=l.document,l.contextUrl&&(r.remoteContext={"@context":l.contextUrl},s.push(r.remoteContext)),e.next=13;break;case 12:r.input=o.clone(n);case 13:"base"in i||(i.base=c||""),h=P(i),f=0,p=s;case 16:if(!(f=1e21)},i.isEmptyObject=function(e){return i.isObject(e)&&0===Object.keys(e).length},i.isNumber=function(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)},i.isNumeric=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},i.isObject=function(e){return"[object Object]"===Object.prototype.toString.call(e)},i.isString=function(e){return"string"==typeof e||"[object String]"===Object.prototype.toString.call(e)},i.isUndefined=function(e){return void 0===e}},{}],31:[function(e,t,n){"use strict";var i=e("./types"),r={};t.exports=r,r.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},r.parse=function(e,t){for(var n={},i=r.parsers[t||"full"],o=i.regex.exec(e),a=i.keys.length;a--;)n[i.keys[a]]=void 0===o[a]?null:o[a];return("https"===n.scheme&&"443"===n.port||"http"===n.scheme&&"80"===n.port)&&(n.href=n.href.replace(":"+n.port,""),n.authority=n.authority.replace(":"+n.port,""),n.port=null),n.normalizedPath=r.removeDotSegments(n.path),n},r.prependBase=function(e,t){if(null===e||r.isAbsolute(t))return t;(!e||i.isString(e))&&(e=r.parse(e||""));var n=r.parse(t),o={protocol:e.protocol||""};if(null!==n.authority)o.authority=n.authority,o.path=n.path,o.query=n.query;else if(o.authority=e.authority,""===n.path)o.path=e.path,o.query=null!==n.query?n.query:e.query;else{if(0===n.path.indexOf("/"))o.path=n.path;else{var a=e.path;((a=a.substr(0,a.lastIndexOf("/")+1)).length>0||e.authority)&&"/"!==a.substr(-1)&&(a+="/"),a+=n.path,o.path=a}o.query=n.query}""!==n.path&&(o.path=r.removeDotSegments(o.path));var s=o.protocol;return null!==o.authority&&(s+="//"+o.authority),s+=o.path,null!==o.query&&(s+="?"+o.query),null!==n.fragment&&(s+="#"+n.fragment),""===s&&(s="./"),s},r.removeBase=function(e,t){if(null===e)return t;(!e||i.isString(e))&&(e=r.parse(e||""));var n="";if(""!==e.href?n+=(e.protocol||"")+"//"+(e.authority||""):t.indexOf("//")&&(n+="//"),0!==t.indexOf(n))return t;for(var o=r.parse(t.substr(n.length)),a=e.normalizedPath.split("/"),s=o.normalizedPath.split("/"),u=o.fragment||o.query?0:1;a.length>0&&s.length>u&&a[0]===s[0];)a.shift(),s.shift();var c="";if(a.length>0){a.pop();for(var l=0;l0;){var i=t.shift(),r=0===t.length;"."!==i?".."!==i?n.push(i):(n.pop(),r&&n.push("")):r&&n.push("")}return"/"===e[0]&&n.length>0&&""!==n[0]&&n.unshift(""),1===n.length&&""===n[0]?"/":n.join("/")};var o=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;r.isAbsolute=function(e){return i.isString(e)&&o.test(e)},r.isRelative=function(e){return i.isString(e)}},{"./types":30}],32:[function(e,n,i){"use strict";var r=e("./graphTypes"),o=e("./types"),a=e("rdf-canonize").IdentifierIssuer,s=e("./JsonLdError"),u=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,c=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,l=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,h="application/ld+json, application/json",d={};function f(e,t){if(o.isArray(t))for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};if(Object.keys(e).some(function(e){return"accept"===e.toLowerCase()}))throw new RangeError('Accept header may not be specified; only "'+h+'" is supported.');return Object.assign({Accept:h},e)},d.parseLinkHeader=function(e){for(var t={},n=e.match(u),i=0;i0}return!1},d.hasValue=function(e,t,n){if(d.hasProperty(e,t)){var i=e[t],a=r.isList(i);if(o.isArray(i)||a){a&&(i=i["@list"]);for(var s=0;st.maxAge:e[u]&&n>e[u]},y=function(e){if(e[o]>e[r])for(var t=e[h].tail;e[o]>e[r]&&null!==t;){var n=t.prev;_(e,t),t=n}},_=function(e,t){if(t){var n=t.value;e[c]&&e[c](n.key,n.value),e[o]-=n.length,e[d].delete(n.key),e[h].removeNode(t)}},w=function e(t,n,i,r,o){m(this,e),this.key=t,this.value=n,this.length=i,this.now=r,this.maxAge=o||0},k=function(e,t,n,i){var r=n.value;g(e,r)&&(_(e,n),e[s]||(r=void 0)),r&&t.call(i,r.value,r.key,e)};t.exports=function(){function e(t){if(m(this,e),"number"==typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!=typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[r]=t.max||1/0;var n=t.length||p;if(this[a]="function"!=typeof n?p:n,this[s]=t.stale||!1,t.maxAge&&"number"!=typeof t.maxAge)throw new TypeError("maxAge must be a number");this[u]=t.maxAge||0,this[c]=t.dispose,this[l]=t.noDisposeOnSet||!1,this[f]=t.updateAgeOnGet||!1,this.reset()}return b(e,[{key:"max",get:function(){return this[r]},set:function(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[r]=e||1/0,y(this)}},{key:"allowStale",get:function(){return this[s]},set:function(e){this[s]=!!e}},{key:"maxAge",get:function(){return this[u]},set:function(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[u]=e,y(this)}},{key:"lengthCalculator",get:function(){return this[a]},set:function(e){var t=this;"function"!=typeof e&&(e=p),e!==this[a]&&(this[a]=e,this[o]=0,this[h].forEach(function(e){e.length=t[a](e.value,e.key),t[o]+=e.length})),y(this)}},{key:"length",get:function(){return this[o]}},{key:"itemCount",get:function(){return this[h].length}},{key:"rforEach",value:function(e,t){t=t||this;for(var n=this[h].tail;null!==n;){var i=n.prev;k(this,e,n,t),n=i}}},{key:"forEach",value:function(e,t){t=t||this;for(var n=this[h].head;null!==n;){var i=n.next;k(this,e,n,t),n=i}}},{key:"keys",value:function(){return this[h].toArray().map(function(e){return e.key})}},{key:"values",value:function(){return this[h].toArray().map(function(e){return e.value})}},{key:"reset",value:function(){var e=this;this[c]&&this[h]&&this[h].length&&this[h].forEach(function(t){return e[c](t.key,t.value)}),this[d]=new Map,this[h]=new i,this[o]=0}},{key:"dump",value:function(){var e=this;return this[h].map(function(t){return!g(e,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}}).toArray().filter(function(e){return e})}},{key:"dumpLru",value:function(){return this[h]}},{key:"set",value:function(e,t,n){if((n=n||this[u])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");var i=n?Date.now():0,s=this[a](t,e);if(this[d].has(e)){if(s>this[r])return _(this,this[d].get(e)),!1;var f=this[d].get(e).value;return this[c]&&(this[l]||this[c](e,f.value)),f.now=i,f.maxAge=n,f.value=t,this[o]+=s-f.length,f.length=s,this.get(e),y(this),!0}var p=new w(e,t,s,i,n);return p.length>this[r]?(this[c]&&this[c](e,t),!1):(this[o]+=p.length,this[h].unshift(p),this[d].set(e,this[h].head),y(this),!0)}},{key:"has",value:function(e){if(!this[d].has(e))return!1;var t=this[d].get(e).value;return!g(this,t)}},{key:"get",value:function(e){return v(this,e,!0)}},{key:"peek",value:function(e){return v(this,e,!1)}},{key:"pop",value:function(){var e=this[h].tail;return e?(_(this,e),e.value):null}},{key:"del",value:function(e){_(this,this[d].get(e))}},{key:"load",value:function(e){this.reset();for(var t=Date.now(),n=e.length-1;n>=0;n--){var i=e[n],r=i.e||0;if(0===r)this.set(i.k,i.v);else{var o=r-t;o>0&&this.set(i.k,i.v,o)}}}},{key:"prune",value:function(){var e=this;this[d].forEach(function(t,n){return v(e,n,!1)})}}]),e}()},{yallist:92}],34:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#",o="http://www.w3.org/2000/10/swap/";n.default={xsd:{decimal:"".concat(r,"decimal"),boolean:"".concat(r,"boolean"),double:"".concat(r,"double"),integer:"".concat(r,"integer"),string:"".concat(r,"string")},rdf:{type:"".concat(i,"type"),nil:"".concat(i,"nil"),first:"".concat(i,"first"),rest:"".concat(i,"rest"),langString:"".concat(i,"langString")},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:"".concat(o,"reify#forSome"),forAll:"".concat(o,"reify#forAll")},log:{implies:"".concat(o,"log#implies")}}},{}],35:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=n.Variable=n.Triple=n.Term=n.Quad=n.NamedNode=n.Literal=n.DefaultGraph=n.BlankNode=void 0,n.escapeQuotes=O,n.termFromId=function e(t,n){if(n=n||y,!t)return n.defaultGraph();switch(t[0]){case"?":return n.variable(t.substr(1));case"_":return n.blankNode(t.substr(2));case'"':if(n===y)return new k(t);if('"'===t[t.length-1])return n.literal(t.substr(1,t.length-2));var i=t.lastIndexOf('"',t.length-1);return n.literal(t.substr(1,i-1),"@"===t[i+1]?t.substr(i+2):n.namedNode(t.substr(i+3)));case"<":var r=g.exec(t);return n.quad(e(T(r[1]),n),e(T(r[2]),n),e(T(r[3]),n),r[4]&&e(T(r[4]),n));default:return n.namedNode(t)}},n.termToId=function e(t){if("string"==typeof t)return t;if(t instanceof _&&"Quad"!==t.termType)return t.id;if(!t)return r.id;switch(t.termType){case"NamedNode":return t.value;case"BlankNode":return"_:".concat(t.value);case"Variable":return"?".concat(t.value);case"DefaultGraph":return"";case"Literal":return'"'.concat(t.value,'"').concat(t.language?"@".concat(t.language):t.datatype&&t.datatype.value!==f.string?"^^".concat(t.datatype.value):"");case"Quad":return"<<".concat(O(e(t.subject))," ").concat(O(e(t.predicate))," ").concat(O(e(t.object))).concat((0,l.isDefaultGraph)(t.graph)?"":" ".concat(e(t.graph)),">>");default:throw new Error("Unexpected termType: ".concat(t.termType))}},n.unescapeQuotes=T;var i,r,o=(i=e("./IRIs"))&&i.__esModule?i:{default:i},l=e("./N3Util"),h=o.default,d=h.rdf,f=h.xsd,p=0,v=/^"(.*".*)(?="[^"]*$)/,g=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,y={namedNode:function(e){return new w(e)},blankNode:function(e){return new x(e||"n3-"+p++)},variable:function(e){return new S(e)},literal:function(e,t){if("string"==typeof t)return new k('"'.concat(e,'"@').concat(t.toLowerCase()));var n=t?t.value:"";return""===n&&("boolean"==typeof e?n=f.boolean:"number"==typeof e&&(Number.isFinite(e)?n=Number.isInteger(e)?f.integer:f.double:(n=f.double,Number.isNaN(e)||(e=e>0?"INF":"-INF")))),new k(""===n||n===f.string?'"'.concat(e,'"'):'"'.concat(e,'"^^').concat(n))},defaultGraph:function(){return r},quad:A,triple:A};n.default=y;var _=function(){function e(t){m(this,e),this.id=t}return b(e,[{key:"value",get:function(){return this.id}},{key:"equals",value:function(t){return t instanceof e?this.id===t.id:!!t&&this.termType===t.termType&&this.value===t.value}},{key:"hashCode",value:function(){return 0}},{key:"toJSON",value:function(){return{termType:this.termType,value:this.value}}}]),e}();n.Term=_;var w=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"termType",get:function(){return"NamedNode"}}]),n}(_);n.NamedNode=w;var k=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"termType",get:function(){return"Literal"}},{key:"value",get:function(){return this.id.substring(1,this.id.lastIndexOf('"'))}},{key:"language",get:function(){var e=this.id,t=e.lastIndexOf('"')+1;return t\\"\{\}\|\^\`]/,l={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},h=/$0^/;n.default=function(){function e(t){if(m(this,e),this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(t=t||{}).lineMode)for(var n in this._n3Mode=!1,this)!(n in l)&&this[n]instanceof RegExp&&(this[n]=h);else this._n3Mode=!1!==t.n3;this._comments=!!t.comments,this._literalClosingPos=0}return b(e,[{key:"_tokenizeToEnd",value:function(e,t){for(var n,i=this._input,r=i.length;;){for(var o=void 0,s=void 0;o=this._newline.exec(i);)this._comments&&(s=this._comment.exec(o[0]))&&_("comment",s[1],"",this._line,o[0].length),i=i.substr(o[0].length,i.length),r=i.length,this._line++;if(!o&&(o=this._whitespace.exec(i))&&(i=i.substr(o[0].length,i.length)),this._endOfFile.test(i))return t&&(this._comments&&(s=this._comment.exec(i))&&_("comment",s[1],"",this._line,i.length),i=null,_("eof","","",this._line,0)),this._input=i;var u=this._line,l=i[0],h="",d="",f="",p=null,v=0,g=!1;switch(l){case"^":if(i.length<3)break;if("^"!==i[1]){this._n3Mode&&(v=1,h="^");break}if(this._previousMarker="^^","<"!==(i=i.substr(2))[0]){g=!0;break}case"<":if(p=this._unescapedIri.exec(i))h="IRI",d=p[1];else if(p=this._iri.exec(i)){if(null===(d=this._unescape(p[1]))||c.test(d))return w(this);h="IRI"}else i.length>1&&"<"===i[1]?(h="<<",v=2):this._n3Mode&&i.length>1&&"="===i[1]&&(h="inverse",v=2,d=">");break;case">":i.length>1&&">"===i[1]&&(h=">>",v=2);break;case"_":((p=this._blank.exec(i))||t&&(p=this._blank.exec("".concat(i," "))))&&(h="blank",f="_",d=p[1]);break;case'"':if(p=this._simpleQuotedString.exec(i))d=p[1];else if(d=(n=this._parseLiteral(i)).value,v=n.matchLength,null===d)return w(this);(null!==p||0!==v)&&(h="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){var m;if(p=this._simpleApostropheString.exec(i))d=p[1];else if(d=(m=this._parseLiteral(i)).value,v=m.matchLength,null===d)return w(this);(null!==p||0!==v)&&(h="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(p=this._variable.exec(i))&&(h="var",d=p[0]);break;case"@":"literal"===this._previousMarker&&(p=this._langcode.exec(i))?(h="langcode",d=p[1]):(p=this._keyword.exec(i))&&(h=p[0]);break;case".":if(1===i.length?t:i[1]<"0"||i[1]>"9"){h=".",v=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(p=this._number.exec(i)||t&&(p=this._number.exec("".concat(i," "))))&&(h="literal",d=p[0],f="string"==typeof p[1]?a.double:"string"==typeof p[2]?a.decimal:a.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(p=this._sparqlKeyword.exec(i))?h=p[0].toUpperCase():g=!0;break;case"f":case"t":(p=this._boolean.exec(i))?(h="literal",d=p[0],f=a.boolean):g=!0;break;case"a":(p=this._shortPredicates.exec(i))?(h="abbreviation",d="a"):g=!0;break;case"=":this._n3Mode&&i.length>1&&(h="abbreviation",">"!==i[1]?(v=1,d="="):(v=2,d=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(v=1,h=l);break;default:g=!0}if(g&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(p=this._prefix.exec(i))?((p=this._prefixed.exec(i))||t&&(p=this._prefixed.exec("".concat(i," "))))&&(h="prefixed",f=p[1]||"",d=this._unescape(p[2])):(h="prefix",d=p[1]||"")),"^^"===this._previousMarker)switch(h){case"prefixed":h="type";break;case"IRI":h="typeIRI";break;default:h=""}if(!h)return t||!/^'''|^"""/.test(i)&&/\n|\r/.test(i)?w(this):this._input=i;var y=v||p[0].length,b=_(h,d,f,u,y);this.previousToken=b,this._previousMarker=h,i=i.substr(y,i.length)}function _(t,n,o,a,s){var u=i?r-i.length:r,c={type:t,value:n,prefix:o,line:a,start:u,end:u+s};return e(null,c),c}function w(t){e(t._syntaxError(/^\S*/.exec(i)[0]))}}},{key:"_unescape",value:function(e){var t=!1,n=e.replace(s,function(e,n,i,r){if("string"==typeof n)return String.fromCharCode(Number.parseInt(n,16));if("string"==typeof i){var o=Number.parseInt(i,16);return o<=65535?String.fromCharCode(Number.parseInt(i,16)):String.fromCharCode(55296+((o-=65536)>>10),56320+(1023&o))}return r in u?u[r]:(t=!0,"")});return t?null:n}},{key:"_parseLiteral",value:function(e){if(e.length>=3){for(var t=e.match(/^(?:"""|"|'''|'|)/)[0],n=t.length,i=Math.max(this._literalClosingPos,n);(i=e.indexOf(t,i))>0;){for(var r=0;"\\"===e[i-r-1];)r++;if(r%2==0){var o=e.substring(n,i),a=o.split(/\r\n|\r|\n/).length-1,s=i+n;if(1===n&&0!==a||3===n&&this._lineMode)break;return this._line+=a,{value:this._unescape(o),matchLength:s}}i++}this._literalClosingPos=e.length-n+1}return{value:"",matchLength:0}}},{key:"_syntaxError",value:function(e){this._input=null;var t=new Error('Unexpected "'.concat(e,'" on line ').concat(this._line,"."));return t.context={token:void 0,line:this._line,previousToken:this.previousToken},t}},{key:"_readStartingBom",value:function(e){return e.startsWith("\ufeff")?e.substr(1):e}},{key:"tokenize",value:function(e,n){var i=this;if(this._line=1,"string"==typeof e){if(this._input=this._readStartingBom(e),"function"!=typeof n){var o,a=[];if(this._tokenizeToEnd(function(e,t){return e?o=e:a.push(t)},!0),o)throw o;return a}(0,r.default)(function(){return i._tokenizeToEnd(n,!0)})}else this._pendingBuffer=null,"function"==typeof e.setEncoding&&e.setEncoding("utf8"),e.on("data",function(e){null!==i._input&&0!==e.length&&(i._pendingBuffer&&(e=t.concat([i._pendingBuffer,e]),i._pendingBuffer=null),128&e[e.length-1]?i._pendingBuffer=e:(void 0===i._input?i._input=i._readStartingBom("string"==typeof e?e:e.toString()):i._input+=e,i._tokenizeToEnd(n,!1)))}),e.on("end",function(){"string"==typeof i._input&&i._tokenizeToEnd(n,!0)}),e.on("error",n)}}]),e}()}).call(this)}).call(this,e("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=a(e("./N3Lexer")),r=a(e("./N3DataFactory")),o=a(e("./IRIs"));function a(e){return e&&e.__esModule?e:{default:e}}var s=0,u=function(){function e(t){m(this,e),this._contextStack=[],this._graph=null,this._setBase((t=t||{}).baseIRI),t.factory&&l(this,t.factory);var n="string"==typeof t.format?t.format.match(/\w*$/)[0].toLowerCase():"",r=/turtle/.test(n),o=/trig/.test(n),a=/triple/.test(n),s=/quad/.test(n),u=this._n3Mode=/n3/.test(n),c=a||s;(this._supportsNamedGraphs=!(r||u))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(r||o||a||u),this._supportsRDFStar=""===n||/star|\*$/.test(n),c&&(this._resolveRelativeIRI=function(e){return null}),this._blankNodePrefix="string"!=typeof t.blankNodePrefix?"":t.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=t.lexer||new i.default({lineMode:c,n3:u}),this._explicitQuantifiers=!!t.explicitQuantifiers}return b(e,[{key:"_setBase",value:function(e){if(e){var t=e.indexOf("#");t>=0&&(e=e.substr(0,t)),this._base=e,this._basePath=e.indexOf("/")<0?e:e.replace(/[^\/?]*(?:\?.*)?$/,""),e=e.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=e[0],this._baseScheme=e[1]}else this._base="",this._basePath=""}},{key:"_saveContext",value:function(e,t,n,i,r){var o=this._n3Mode;this._contextStack.push({subject:n,predicate:i,object:r,graph:t,type:e,inverse:!!o&&this._inversePredicate,blankPrefix:o?this._prefixes._:"",quantified:o?this._quantified:null}),o&&(this._inversePredicate=!1,this._prefixes._=this._graph?"".concat(this._graph.id.substr(2),"."):".",this._quantified=Object.create(this._quantified))}},{key:"_restoreContext",value:function(){var e=this._contextStack.pop(),t=this._n3Mode;this._subject=e.subject,this._predicate=e.predicate,this._object=e.object,this._graph=e.graph,t&&(this._inversePredicate=e.inverse,this._prefixes._=e.blankPrefix,this._quantified=e.quantified)}},{key:"_readInTopContext",value:function(e){switch(e.type){case"eof":return null!==this._graph?this._error("Unclosed graph",e):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(e)}}},{key:"_readEntity",value:function(e,t){var n;switch(e.type){case"IRI":case"typeIRI":var i=this._resolveIRI(e.value);if(null===i)return this._error("Invalid IRI",e);n=this._namedNode(i);break;case"type":case"prefixed":var r=this._prefixes[e.prefix];if(void 0===r)return this._error('Undefined prefix "'.concat(e.prefix,':"'),e);n=this._namedNode(r+e.value);break;case"blank":n=this._blankNode(this._prefixes[e.prefix]+e.value);break;case"var":n=this._variable(e.value.substr(1));break;default:return this._error("Expected entity but got ".concat(e.type),e)}return!t&&this._n3Mode&&n.id in this._quantified&&(n=this._quantified[n.id]),n}},{key:"_readSubject",value:function(e){switch(this._predicate=null,e.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",e);case"}":return this._readPunctuation(e);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',e);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',e);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",e);if(0===e.prefix.length)return this._literalValue=e.value,this._completeSubjectLiteral;this._subject=this._literal(e.value,this._namedNode(e.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",e);default:if(void 0===(this._subject=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}},{key:"_readPredicate",value:function(e){var t=e.type;switch(t){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[e.value];break;case".":case"]":case"}":return null===this._predicate?this._error("Unexpected ".concat(t),e):(this._subject=null,"]"===t?this._readBlankNodeTail(e):this._readPunctuation(e));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",e);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",e);default:if(void 0===(this._predicate=this._readEntity(e)))return}return this._readObject}},{key:"_readObject",value:function(e){switch(e.type){case"literal":if(0===e.prefix.length)return this._literalValue=e.value,this._readDataTypeOrLang;this._object=this._literal(e.value,this._namedNode(e.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",e);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",e);default:if(void 0===(this._object=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}},{key:"_readPredicateOrNamedGraph",value:function(e){return"{"===e.type?this._readGraph(e):this._readPredicate(e)}},{key:"_readGraph",value:function(e){return"{"!==e.type?this._error("Expected graph but got ".concat(e.type),e):(this._graph=this._subject,this._subject=null,this._readSubject)}},{key:"_readBlankNodeHead",value:function(e){return"]"===e.type?(this._subject=null,this._readBlankNodeTail(e)):(this._predicate=null,this._readPredicate(e))}},{key:"_readBlankNodeTail",value:function(e){if("]"!==e.type)return this._readBlankNodePunctuation(e);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);var t=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:t?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}},{key:"_readPredicateAfterBlank",value:function(e){switch(e.type){case".":case"}":return this._subject=null,this._readPunctuation(e);default:return this._readPredicate(e)}}},{key:"_readListItem",value:function(e){var t=null,n=null,i=this._readListItem,r=this._subject,o=this._contextStack,a=o[o.length-1];switch(e.type){case"[":this._saveContext("blank",this._graph,n=this._blankNode(),this.RDF_FIRST,this._subject=t=this._blankNode()),i=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,n=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==o.length&&"list"===o[o.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(i=this._readPredicate,this._subject===this.RDF_NIL)return i}else if(i=this._getContextEndReader(),this._object===this.RDF_NIL)return i;n=this.RDF_NIL;break;case"literal":0===e.prefix.length?(this._literalValue=e.value,i=this._readListItemDataTypeOrLang):(t=this._literal(e.value,this._namedNode(e.prefix)),i=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",e);default:if(void 0===(t=this._readEntity(e)))return}if(null===n&&(this._subject=n=this._blankNode()),null===r?null===a.predicate?a.subject=n:a.object=n:this._emit(r,this.RDF_REST,n,this._graph),null!==t){if(this._n3Mode&&("IRI"===e.type||"prefixed"===e.type))return this._saveContext("item",this._graph,n,this.RDF_FIRST,t),this._subject=t,this._predicate=null,this._getPathReader(this._readListItem);this._emit(n,this.RDF_FIRST,t,this._graph)}return i}},{key:"_readDataTypeOrLang",value:function(e){return this._completeObjectLiteral(e,!1)}},{key:"_readListItemDataTypeOrLang",value:function(e){return this._completeObjectLiteral(e,!0)}},{key:"_completeLiteral",value:function(e){var t=this._literal(this._literalValue);switch(e.type){case"type":case"typeIRI":var n=this._readEntity(e);if(void 0===n)return;t=this._literal(this._literalValue,n),e=null;break;case"langcode":t=this._literal(this._literalValue,e.value),e=null}return{token:e,literal:t}}},{key:"_completeSubjectLiteral",value:function(e){return this._subject=this._completeLiteral(e).literal,this._readPredicateOrNamedGraph}},{key:"_completeObjectLiteral",value:function(e,t){var n=this._completeLiteral(e);if(n)return this._object=n.literal,t&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===n.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(n.token))}},{key:"_readFormulaTail",value:function(e){return"}"!==e.type?this._readPunctuation(e):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}},{key:"_readPunctuation",value:function(e){var t,n=this._graph,i=this._subject,r=this._inversePredicate;switch(e.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",e);if(this._n3Mode)return this._readFormulaTail(e);this._graph=null;case".":this._subject=null,t=this._contextStack.length?this._readSubject:this._readInTopContext,r&&(this._inversePredicate=!1);break;case";":t=this._readPredicate;break;case",":t=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(n=this._readEntity(e))){t=this._readQuadPunctuation;break}return this._error('Expected punctuation to follow "'.concat(this._object.id,'"'),e)}if(null!==i){var o=this._predicate,a=this._object;r?this._emit(a,o,i,n):this._emit(i,o,a,n)}return t}},{key:"_readBlankNodePunctuation",value:function(e){var t;switch(e.type){case";":t=this._readPredicate;break;case",":t=this._readObject;break;default:return this._error('Expected punctuation to follow "'.concat(this._object.id,'"'),e)}return this._emit(this._subject,this._predicate,this._object,this._graph),t}},{key:"_readQuadPunctuation",value:function(e){return"."!==e.type?this._error("Expected dot to follow quad",e):this._readInTopContext}},{key:"_readPrefix",value:function(e){return"prefix"!==e.type?this._error("Expected prefix to follow @prefix",e):(this._prefix=e.value,this._readPrefixIRI)}},{key:"_readPrefixIRI",value:function(e){if("IRI"!==e.type)return this._error('Expected IRI to follow prefix "'.concat(this._prefix,':"'),e);var t=this._readEntity(e);return this._prefixes[this._prefix]=t.value,this._prefixCallback(this._prefix,t),this._readDeclarationPunctuation}},{key:"_readBaseIRI",value:function(e){var t="IRI"===e.type&&this._resolveIRI(e.value);return t?(this._setBase(t),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",e)}},{key:"_readNamedGraphLabel",value:function(e){switch(e.type){case"IRI":case"blank":case"prefixed":return this._readSubject(e),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",e)}}},{key:"_readNamedGraphBlankLabel",value:function(e){return"]"!==e.type?this._error("Invalid graph label",e):(this._subject=this._blankNode(),this._readGraph)}},{key:"_readDeclarationPunctuation",value:function(e){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(e)):"."!==e.type?this._error("Expected declaration to end with a dot",e):this._readInTopContext}},{key:"_readQuantifierList",value:function(e){var t;switch(e.type){case"IRI":case"prefixed":if(void 0!==(t=this._readEntity(e,!0)))break;default:return this._error("Unexpected ".concat(e.type),e)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,t,this.QUANTIFIERS_GRAPH)):this._quantified[t.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}},{key:"_readQuantifierPunctuation",value:function(e){return","===e.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(e))}},{key:"_getPathReader",value:function(e){return this._afterPath=e,this._readPath}},{key:"_readPath",value:function(e){switch(e.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:var t=this._contextStack,n=t.length&&t[t.length-1];if(n&&"item"===n.type){var i=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,i,this._graph)}return this._afterPath(e)}}},{key:"_readForwardPath",value:function(e){var t,n,i=this._blankNode();if(void 0!==(n=this._readEntity(e)))return null===this._predicate?(t=this._subject,this._subject=i):(t=this._object,this._object=i),this._emit(t,n,i,this._graph),this._readPath}},{key:"_readBackwardPath",value:function(e){var t,n,i=this._blankNode();if(void 0!==(t=this._readEntity(e)))return null===this._predicate?(n=this._subject,this._subject=i):(n=this._object,this._object=i),this._emit(i,t,n,this._graph),this._readPath}},{key:"_readRDFStarTailOrGraph",value:function(e){return">>"!==e.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(e))?this._readRDFStarTail:this._error('Expected >> to follow "'.concat(this._object.id,'"'),e):this._readRDFStarTail(e)}},{key:"_readRDFStarTail",value:function(e){if(">>"!==e.type)return this._error("Expected >> but got ".concat(e.type),e);var t=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=t,this._readPredicate):(this._object=t,this._getContextEndReader())}},{key:"_getContextEndReader",value:function(){var e=this._contextStack;if(!e.length)return this._readPunctuation;switch(e[e.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}},{key:"_emit",value:function(e,t,n,i){this._callback(null,this._quad(e,t,n,i||this.DEFAULTGRAPH))}},{key:"_error",value:function(e,t){var n=new Error("".concat(e," on line ").concat(t.line,"."));n.context={token:t,line:t.line,previousToken:this._lexer.previousToken},this._callback(n),this._callback=c}},{key:"_resolveIRI",value:function(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)?e:this._resolveRelativeIRI(e)}},{key:"_resolveRelativeIRI",value:function(e){if(!e.length)return this._base;switch(e[0]){case"#":return this._base+e;case"?":return this._base.replace(/(?:\?.*)?$/,e);case"/":return("/"===e[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(e);default:return/^[^/:]*:/.test(e)?null:this._removeDotSegments(this._basePath+e)}}},{key:"_removeDotSegments",value:function(e){if(!/(^|\/)\.\.?($|[/#?])/.test(e))return e;for(var t=e.length,n="",i=-1,r=-1,o=0,a="/";i=r&&(n=n.substr(0,o)),"/"!==a)return"".concat(n,"/").concat(e.substr(i+1));o=i+1}}}a=e[++i]}return n+e.substring(o)}},{key:"parse",value:function(e,t,n){var i=this;if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):"b".concat(s++,"_"),this._prefixCallback=n||c,this._inversePredicate=!1,this._quantified=Object.create(null),!t){var r,o=[];if(this._callback=function(e,t){e?r=e:t&&o.push(t)},this._lexer.tokenize(e).every(function(e){return i._readCallback=i._readCallback(e)}),r)throw r;return o}this._callback=t,this._lexer.tokenize(e,function(e,t){null!==e?(i._callback(e),i._callback=c):i._readCallback&&(i._readCallback=i._readCallback(t))})}}],[{key:"_resetBlankNodePrefix",value:function(){s=0}}]),e}();function c(){}function l(e,t){var n=t.namedNode;e._namedNode=n,e._blankNode=t.blankNode,e._literal=t.literal,e._variable=t.variable,e._quad=t.quad,e.DEFAULTGRAPH=t.defaultGraph(),e.RDF_FIRST=n(o.default.rdf.first),e.RDF_REST=n(o.default.rdf.rest),e.RDF_NIL=n(o.default.rdf.nil),e.N3_FORALL=n(o.default.r.forAll),e.N3_FORSOME=n(o.default.r.forSome),e.ABBREVIATIONS={a:n(o.default.rdf.type),"=":n(o.default.owl.sameAs),">":n(o.default.log.implies)},e.QUANTIFIERS_GRAPH=n("urn:n3:quantifiers")}n.default=u,l(u.prototype,r.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=l(t);if(n&&n.has(e))return n.get(e);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(i,o,a):i[o]=e[o]}return i.default=e,n&&n.set(e,i),i}(e("./N3DataFactory")),o=e("readable-stream"),u=(i=e("./IRIs"))&&i.__esModule?i:{default:i};function l(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(l=function(e){return e?n:t})(e)}var h=function(e){function t(e,n){m(this,t),this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!n&&e&&!e[0]&&(n=e,e=null),this._factory=(n=n||{}).factory||r.default,e&&this.addQuads(e)}return b(t,[{key:"size",get:function(){var e=this._size;if(null!==e)return e;e=0;var t,n,i=this._graphs;for(var r in i)for(var o in t=i[r].subjects)for(var a in n=t[o])e+=Object.keys(n[a]).length;return this._size=e}},{key:"_addToIndex",value:function(e,t,n,i){var r=e[t]||(e[t]={}),o=r[n]||(r[n]={}),a=i in o;return a||(o[i]=null),!a}},{key:"_removeFromIndex",value:function(e,t,n,i){var r=e[t],o=r[n];for(var a in delete o[i],o)return;for(var s in delete r[n],r)return;delete e[t]}},{key:"_findInIndex",value:regeneratorRuntime.mark(function e(t,n,i,o,a,s,u,c){var l,h,d,f,p,v,g,m,y,b,_,w;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:f=!n+!i+!o>1?Object.keys(this._ids):this._entities,p=(0,r.termFromId)(c,this._factory),n&&((l=t,t={})[n]=l[n]),e.t0=regeneratorRuntime.keys(t);case 3:if((e.t1=e.t0()).done){e.next=29;break}if(v=e.t1.value,g=f[v],!(h=t[v])){e.next=27;break}i&&((l=h,h={})[i]=l[i]),e.t2=regeneratorRuntime.keys(h);case 9:if((e.t3=e.t2()).done){e.next=27;break}if(m=e.t3.value,y=f[m],!(d=h[m])){e.next=25;break}b=o?o in d?[o]:[]:Object.keys(d),_=0;case 15:if(!(_0&&void 0!==arguments[0]?arguments[0]:{},n=t.remove,i=void 0!==n&&n,r=t.ignoreErrors,o=void 0!==r&&r,a={},s=o?function(){return!0}:function(e,t){throw new Error("".concat(e.value," ").concat(t))},c=this.getQuads(null,u.default.rdf.rest,u.default.rdf.nil,null),l=i?v(c):[];return c.forEach(function(t){for(var n,r,o=[],c=!1,h=t.graph,d=t.subject;d&&!c;){for(var f=e.getQuads(null,null,d,null),p=e.getQuads(d,null,null,null),v=void 0,g=null,m=null,y=null,b=0;b")}},{key:"_encodeLiteral",value:function(e){var t=e.value;if(p.test(t)&&(t=t.replace(v,_)),e.language)return'"'.concat(t,'"@').concat(e.language);if(this._lineMode){if(e.datatype.value===f.string)return'"'.concat(t,'"')}else switch(e.datatype.value){case f.string:return'"'.concat(t,'"');case f.boolean:if("true"===t||"false"===t)return t;break;case f.integer:if(/^[+-]?\d+$/.test(t))return t;break;case f.decimal:if(/^[+-]?\d*\.\d+$/.test(t))return t;break;case f.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(t))return t}return'"'.concat(t,'"^^').concat(this._encodeIriOrBlank(e.datatype))}},{key:"_encodePredicate",value:function(e){return e.value===d.type?"a":this._encodeIriOrBlank(e)}},{key:"_encodeObject",value:function(e){switch(e.termType){case"Quad":return this._encodeQuad(e);case"Literal":return this._encodeLiteral(e);default:return this._encodeIriOrBlank(e)}}},{key:"_encodeQuad",value:function(e){var t=e.subject,n=e.predicate,i=e.object,r=e.graph;return"<<".concat(this._encodeSubject(t)," ").concat(this._encodePredicate(n)," ").concat(this._encodeObject(i)).concat((0,u.isDefaultGraph)(r)?"":" ".concat(this._encodeIriOrBlank(r)),">>")}},{key:"_blockedWrite",value:function(){throw new Error("Cannot write because the writer has been closed.")}},{key:"addQuad",value:function(e,t,n,i,r){void 0===n?this._writeQuad(e.subject,e.predicate,e.object,e.graph,t):"function"==typeof i?this._writeQuad(e,t,n,l,i):this._writeQuad(e,t,n,i||l,r)}},{key:"addQuads",value:function(e){for(var t=0;t.\n"))}if(n){var o="",a="";for(var s in this._prefixIRIs)o+=o?"|".concat(s):s,a+=(a?"|":"")+this._prefixIRIs[s];o=w(o),this._prefixRegex=new RegExp("^(?:".concat(a,")[^/]*$|^(").concat(o,")([a-zA-Z][\\-_a-zA-Z0-9]*)$"))}this._write(n?"\n":"",t)}},{key:"blank",value:function(e,t){var n,i,r=e;switch(void 0===e?r=[]:e.termType?r=[{predicate:e,object:t}]:"length"in e||(r=[e]),i=r.length){case 0:return new y("[]");case 1:if(!((n=r[0]).object instanceof y))return new y("[ ".concat(this._encodePredicate(n.predicate)," ").concat(this._encodeObject(n.object)," ]"));default:for(var o="[",a=0;a1)for(var n=1;n1&&void 0!==arguments[1]?arguments[1]:new Map,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;m(this,e),this.prefix=t,this._existing=n,this.counter=i}return b(e,[{key:"clone",value:function(){var t=this.prefix,n=this._existing,i=this.counter;return new e(t,new Map(n),i)}},{key:"getId",value:function(e){var t=e&&this._existing.get(e);if(t)return t;var n=this.prefix+this.counter;return this.counter++,e&&this._existing.set(e,n),n}},{key:"hasId",value:function(e){return this._existing.has(e)}},{key:"getOldIds",value:function(){return v(this._existing.keys())}}]),e}()},{}],48:[function(e,t,n){"use strict";e("setimmediate");var i=self.crypto||self.msCrypto;t.exports=function(){function e(t){if(m(this,e),!i||!i.subtle)throw new Error("crypto.subtle not found.");if("sha256"===t)this.algorithm={name:"SHA-256"};else{if("sha1"!==t)throw new Error('Unsupport algorithm "'.concat(t,'".'));this.algorithm={name:"SHA-1"}}this._content=""}return b(e,[{key:"update",value:function(e){this._content+=e}},{key:"digest",value:function(){var e=this;return h(regeneratorRuntime.mark(function t(){var n,r,o,a;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=(new TextEncoder).encode(e._content),t.t0=Uint8Array,t.next=4,i.subtle.digest(e.algorithm,n);case 4:for(t.t1=t.sent,r=new t.t0(t.t1),o="",a=0;a]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),t.exports=function(){function e(){m(this,e)}return b(e,null,[{key:"parse",value:function(e){var t,n=[],h={},f=0,p=_(e.split(c.eoln));try{for(p.s();!(t=p.n()).done;){var v=t.value;if(f++,!c.empty.test(v)){var g=v.match(c.quad);if(null===g)throw new Error("N-Quads parse error on line "+f+".");var m={subject:null,predicate:null,object:null,graph:null};if(m.subject=void 0!==g[1]?{termType:o,value:g[1]}:{termType:a,value:g[2]},m.predicate={termType:o,value:g[3]},void 0!==g[4]?m.object={termType:o,value:g[4]}:void 0!==g[5]?m.object={termType:a,value:g[5]}:(m.object={termType:s,value:void 0,datatype:{termType:o}},void 0!==g[7]?m.object.datatype.value=g[7]:void 0!==g[8]?(m.object.datatype.value=i,m.object.language=g[8]):m.object.datatype.value=r,m.object.value=g[6].replace(d,function(e,t,n,i){if(t)switch(t){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(n)return String.fromCharCode(parseInt(n,16));if(i)throw new Error("Unsupported U escape")})),m.graph=void 0!==g[9]?{termType:o,value:g[9]}:void 0!==g[10]?{termType:a,value:g[10]}:{termType:u,value:""},m.graph.value in h){var y,b=!0,w=h[m.graph.value],k=_(w);try{for(k.s();!(y=k.n()).done;){if(l(y.value,m)){b=!1;break}}}catch(x){k.e(x)}finally{k.f()}b&&(w.push(m),n.push(m))}else h[m.graph.value]=[m],n.push(m)}}}catch(x){p.e(x)}finally{p.f()}return n}},{key:"serialize",value:function(t){Array.isArray(t)||(t=e.legacyDatasetToQuads(t));var n,i=[],r=_(t);try{for(r.s();!(n=r.n()).done;){var o=n.value;i.push(e.serializeQuad(o))}}catch(a){r.e(a)}finally{r.f()}return i.sort().join("")}},{key:"serializeQuad",value:function(e){var t=e.subject,n=e.object,s=e.graph,u="";return u+=t.termType===o?"<".concat(t.value,">"):"".concat(t.value),u+=" <".concat(e.predicate.value,"> "),n.termType===o?u+="<".concat(n.value,">"):n.termType===a?u+=n.value:(u+='"'.concat(n.value.replace(h,function(e){switch(e){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}}),'"'),n.datatype.value===i?n.language&&(u+="@".concat(n.language)):n.datatype.value!==r&&(u+="^^<".concat(n.datatype.value,">"))),s.termType===o?u+=" <".concat(s.value,">"):s.termType===a&&(u+=" ".concat(s.value)),u+=" .\n"}},{key:"legacyDatasetToQuads",value:function(e){var t=[],n={"blank node":a,IRI:o,literal:s},c=function(c){e[c].forEach(function(e){var l={};for(var h in e){var d=e[h],f={termType:n[d.type],value:d.value};f.termType===s&&(f.datatype={termType:o},"datatype"in d&&(f.datatype.value=d.datatype),"language"in d?("datatype"in d||(f.datatype.value=i),f.language=d.language):"datatype"in d||(f.datatype.value=r)),l[h]=f}l.graph="@default"===c?{termType:u,value:""}:{termType:c.startsWith("_:")?a:o,value:c},t.push(l)})};for(var l in e)c(l);return t}}]),e}();var h=/["\\\n\r]/g,d=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(e,t,n){"use strict";t.exports=function(){function e(t){m(this,e),this.current=t.sort(),this.done=!1,this.dir=new Map;for(var n=0;ni)&&(u&&a>0&&s>e[a-1]||!u&&ae[a+1])&&(i=s,r=a)}if(null===i)this.done=!0;else{var c=t.get(i)?r-1:r+1;e[r]=e[c],e[c]=i;var l,h=_(e);try{for(h.s();!(l=h.n()).done;){var d=l.value;d>i&&t.set(d,!t.get(d))}}catch(f){h.e(f)}finally{h.f()}}return n}}]),e}()},{}],51:[function(e,t,n){(function(n){(function(){"use strict";var i=e("./IdentifierIssuer"),r=e("./MessageDigest"),o=e("./Permuter"),a=e("./NQuads");function s(e,t){return e.hasht.hash?1:0}t.exports=function(){function e(){m(this,e),this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new i("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}return b(e,[{key:"main",value:function(e){var t=this;return h(regeneratorRuntime.mark(function n(){var r,o,u,c,l,h,d,f,p,g,m,y,b,w,k,x,S,C,E,O,T,A,P,I,R,D,N,L,j,F,B,V,z,U,H,G;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:t.quads=e,r=_(e);try{for(r.s();!(o=r.n()).done;)u=o.value,t._addBlankNodeQuadInfo({quad:u,component:u.subject}),t._addBlankNodeQuadInfo({quad:u,component:u.object}),t._addBlankNodeQuadInfo({quad:u,component:u.graph})}catch(W){r.e(W)}finally{r.f()}c=new Map,l=v(t.blankNodeInfo.keys()),h=0,d=_(l),n.prev=6,d.s();case 8:if((f=d.n()).done){n.next=18;break}if(p=f.value,n.t0=++h%100==0,!n.t0){n.next=14;break}return n.next=14,t._yield();case 14:return n.next=16,t._hashAndTrackBlankNode({id:p,hashToBlankNodes:c});case 16:n.next=8;break;case 18:n.next=23;break;case 20:n.prev=20,n.t1=n.catch(6),d.e(n.t1);case 23:return n.prev=23,d.f(),n.finish(23);case 26:g=v(c.keys()).sort(),m=[],y=_(g);try{for(y.s();!(b=y.n()).done;)w=b.value,(k=c.get(w)).length>1?m.push(k):t.canonicalIssuer.getId(k[0])}catch(W){y.e(W)}finally{y.f()}x=0,S=m;case 30:if(!(xf)){i.next=31;break}return k=!0,i.abrupt("break",33);case 31:i.next=26;break;case 33:i.next=38;break;case 35:i.prev=35,i.t1=i.catch(24),x.e(i.t1);case 38:return i.prev=38,x.f(),i.finish(38);case 41:if(k){i.next=64;break}E=_(w),i.prev=43,E.s();case 45:if((O=E.n()).done){i.next=55;break}return T=O.value,i.next=49,n.hashNDegreeQuads(T,y);case 49:if(A=i.sent,b+=y.getId(T),b+="<".concat(A.hash,">"),y=A.issuer,!(0!==f.length&&b>f)){i.next=53;break}return k=!0,i.abrupt("break",55);case 53:i.next=45;break;case 55:i.next=60;break;case 57:i.prev=57,i.t2=i.catch(43),E.e(i.t2);case 60:return i.prev=60,E.f(),i.finish(60);case 63:k||(0===f.length||b")}},{key:"createHashToRelated",value:function(e,t){var n=this;return h(regeneratorRuntime.mark(function i(){var r,o,a,s,u,c;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:r=new Map,o=n.blankNodeInfo.get(e).quads,a=0,s=_(o),i.prev=3,s.s();case 5:if((u=s.n()).done){i.next=15;break}if(c=u.value,i.t0=++a%100==0,!i.t0){i.next=11;break}return i.next=11,n._yield();case 11:return i.next=13,Promise.all([n._addRelatedBlankNodeHash({quad:c,component:c.subject,position:"s",id:e,issuer:t,hashToRelated:r}),n._addRelatedBlankNodeHash({quad:c,component:c.object,position:"o",id:e,issuer:t,hashToRelated:r}),n._addRelatedBlankNodeHash({quad:c,component:c.graph,position:"g",id:e,issuer:t,hashToRelated:r})]);case 13:i.next=5;break;case 15:i.next=20;break;case 17:i.prev=17,i.t1=i.catch(3),s.e(i.t1);case 20:return i.prev=20,s.f(),i.finish(20);case 23:return i.abrupt("return",r);case 24:case"end":return i.stop()}},i,null,[[3,17,20,23]])}))()}},{key:"_hashAndTrackBlankNode",value:function(e){var t=e.id,n=e.hashToBlankNodes,i=this;return h(regeneratorRuntime.mark(function e(){var r,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.hashFirstDegreeQuads(t);case 2:r=e.sent,(o=n.get(r))?o.push(t):n.set(r,[t]);case 5:case"end":return e.stop()}},e)}))()}},{key:"_addBlankNodeQuadInfo",value:function(e){var t=e.quad,n=e.component;if("BlankNode"===n.termType){var i=n.value,r=this.blankNodeInfo.get(i);r?r.quads.add(t):this.blankNodeInfo.set(i,{quads:new Set([t]),hash:null})}}},{key:"_addRelatedBlankNodeHash",value:function(e){var t=e.quad,n=e.component,i=e.position,r=e.id,o=e.issuer,a=e.hashToRelated,s=this;return h(regeneratorRuntime.mark(function e(){var u,c,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("BlankNode"===n.termType&&n.value!==r){e.next=2;break}return e.abrupt("return");case 2:return u=n.value,e.next=5,s.hashRelatedBlankNode(u,t,o,i);case 5:c=e.sent,(l=a.get(c))?l.push(u):a.set(c,[u]);case 8:case"end":return e.stop()}},e)}))()}},{key:"_useCanonicalId",value:function(e){var t=e.component;return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}},{key:"_yield",value:function(){return h(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e){return n(e)}));case 1:case"end":return e.stop()}},e)}))()}}]),e}()}).call(this)}).call(this,e("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(e,t,n){"use strict";var i=e("./IdentifierIssuer"),r=e("./MessageDigest"),o=e("./Permuter"),a=e("./NQuads");function s(e,t){return e.hasht.hash?1:0}t.exports=function(){function e(){m(this,e),this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new i("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}return b(e,[{key:"main",value:function(e){this.quads=e;var t,n=_(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;this._addBlankNodeQuadInfo({quad:r,component:r.subject}),this._addBlankNodeQuadInfo({quad:r,component:r.object}),this._addBlankNodeQuadInfo({quad:r,component:r.graph})}}catch(j){n.e(j)}finally{n.f()}var o,u=new Map,c=_(v(this.blankNodeInfo.keys()));try{for(c.s();!(o=c.n()).done;){var l=o.value;this._hashAndTrackBlankNode({id:l,hashToBlankNodes:u})}}catch(j){c.e(j)}finally{c.f()}var h,d=[],f=_(v(u.keys()).sort());try{for(f.s();!(h=f.n()).done;){var p=h.value,g=u.get(p);g.length>1?d.push(g):this.canonicalIssuer.getId(g[0])}}catch(j){f.e(j)}finally{f.f()}for(var m=0,y=d;ml){y=!0;break}}}catch(E){b.e(E)}finally{b.f()}if(!y){var k,x=_(m);try{for(x.s();!(k=x.n()).done;){var S=k.value,C=this.hashNDegreeQuads(S,p);if(g+=p.getId(S),g+="<".concat(C.hash,">"),p=C.issuer,0!==l.length&&g>l){y=!0;break}}}catch(E){x.e(E)}finally{x.f()}y||(0===l.length||g")}},{key:"createHashToRelated",value:function(e,t){var n,i=new Map,r=_(this.blankNodeInfo.get(e).quads);try{for(r.s();!(n=r.n()).done;){var o=n.value;this._addRelatedBlankNodeHash({quad:o,component:o.subject,position:"s",id:e,issuer:t,hashToRelated:i}),this._addRelatedBlankNodeHash({quad:o,component:o.object,position:"o",id:e,issuer:t,hashToRelated:i}),this._addRelatedBlankNodeHash({quad:o,component:o.graph,position:"g",id:e,issuer:t,hashToRelated:i})}}catch(a){r.e(a)}finally{r.f()}return i}},{key:"_hashAndTrackBlankNode",value:function(e){var t=e.id,n=e.hashToBlankNodes,i=this.hashFirstDegreeQuads(t),r=n.get(i);r?r.push(t):n.set(i,[t])}},{key:"_addBlankNodeQuadInfo",value:function(e){var t=e.quad,n=e.component;if("BlankNode"===n.termType){var i=n.value,r=this.blankNodeInfo.get(i);r?r.quads.add(t):this.blankNodeInfo.set(i,{quads:new Set([t]),hash:null})}}},{key:"_addRelatedBlankNodeHash",value:function(e){var t=e.quad,n=e.component,i=e.position,r=e.id,o=e.issuer,a=e.hashToRelated;if("BlankNode"===n.termType&&n.value!==r){var s=n.value,u=this.hashRelatedBlankNode(s,t,o,i),c=a.get(u);c?c.push(s):a.set(u,[s])}}},{key:"_useCanonicalId",value:function(e){var t=e.component;return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}}]),e}()},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(e,t,n){"use strict";var i=e("./URDNA2015");t.exports=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.call(this)).name="URGNA2012",e.hashAlgorithm="sha1",e}return b(n,[{key:"modifyFirstDegreeComponent",value:function(e,t,n){return"BlankNode"!==t.termType?t:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:t.value===e?"_:a":"_:z"}}},{key:"getRelatedPredicate",value:function(e){return e.predicate.value}},{key:"createHashToRelated",value:function(e,t){var n=this;return h(regeneratorRuntime.mark(function i(){var r,o,a,s,u,c,l,h,d,f;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:r=new Map,o=n.blankNodeInfo.get(e).quads,a=0,s=_(o),i.prev=3,s.s();case 5:if((u=s.n()).done){i.next=26;break}if(c=u.value,l=void 0,h=void 0,"BlankNode"!==c.subject.termType||c.subject.value===e){i.next=12;break}h=c.subject.value,l="p",i.next=15;break;case 12:if("BlankNode"===c.object.termType&&c.object.value!==e){i.next=14;break}return i.abrupt("continue",24);case 14:h=c.object.value,l="r";case 15:if(i.t0=++a%100==0,!i.t0){i.next=19;break}return i.next=19,n._yield();case 19:return i.next=21,n.hashRelatedBlankNode(h,c,t,l);case 21:d=i.sent,(f=r.get(d))?f.push(h):r.set(d,[h]);case 24:i.next=5;break;case 26:i.next=31;break;case 28:i.prev=28,i.t1=i.catch(3),s.e(i.t1);case 31:return i.prev=31,s.f(),i.finish(31);case 34:return i.abrupt("return",r);case 35:case"end":return i.stop()}},i,null,[[3,28,31,34]])}))()}}]),n}(i)},{"./URDNA2015":51}],54:[function(e,t,n){"use strict";var i=e("./URDNA2015Sync");t.exports=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.call(this)).name="URGNA2012",e.hashAlgorithm="sha1",e}return b(n,[{key:"modifyFirstDegreeComponent",value:function(e,t,n){return"BlankNode"!==t.termType?t:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:t.value===e?"_:a":"_:z"}}},{key:"getRelatedPredicate",value:function(e){return e.predicate.value}},{key:"createHashToRelated",value:function(e,t){var n,i=new Map,r=_(this.blankNodeInfo.get(e).quads);try{for(r.s();!(n=r.n()).done;){var o=n.value,a=void 0,s=void 0;if("BlankNode"===o.subject.termType&&o.subject.value!==e)s=o.subject.value,a="p";else{if("BlankNode"!==o.object.termType||o.object.value===e)continue;s=o.object.value,a="r"}var u=this.hashRelatedBlankNode(s,o,t,a),c=i.get(u);c?c.push(s):i.set(u,[s])}}catch(l){r.e(l)}finally{r.f()}return i}}]),n}(i)},{"./URDNA2015Sync":52}],55:[function(e,t,n){"use strict";var i,r=e("./URDNA2015"),o=e("./URGNA2012"),a=e("./URDNA2015Sync"),s=e("./URGNA2012Sync");try{i=e("rdf-canonize-native")}catch(u){}var u,c={};t.exports=c,c.NQuads=e("./NQuads"),c.IdentifierIssuer=e("./IdentifierIssuer"),c._rdfCanonizeNative=function(e){return e&&(i=e),i},c.canonize=(u=h(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),!n.useNative){e.next=4;break}if(i){e.next=3;break}throw new Error("rdf-canonize-native not available");case 3:return e.abrupt("return",new Promise(function(e,r){return i.canonize(t,n,function(t,n){return t?r(t):e(n)})}));case 4:if("URDNA2015"!==n.algorithm){e.next=6;break}return e.abrupt("return",new r(n).main(t));case 6:if("URGNA2012"!==n.algorithm){e.next=8;break}return e.abrupt("return",new o(n).main(t));case 8:throw"algorithm"in n?new Error("Invalid RDF Dataset Canonicalization algorithm: "+n.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.");case 9:case"end":return e.stop()}},e)})),function(e,t){return u.apply(this,arguments)}),c._canonizeSync=function(e,t){if(Array.isArray(e)||(e=c.NQuads.legacyDatasetToQuads(e)),t.useNative){if(i)return i.canonizeSync(e,t);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===t.algorithm)return new a(t).main(e);if("URGNA2012"===t.algorithm)return new s(t).main(e);throw"algorithm"in t?new Error("Invalid RDF Dataset Canonicalization algorithm: "+t.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(e("./lib/BlankNode"),n),r(e("./lib/DataFactory"),n),r(e("./lib/DefaultGraph"),n),r(e("./lib/Literal"),n),r(e("./lib/NamedNode"),n),r(e("./lib/Quad"),n),r(e("./lib/Variable"),n)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.BlankNode=void 0,n.BlankNode=function(){function e(t){m(this,e),this.termType="BlankNode",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"BlankNode"===e.termType&&e.value===this.value}}]),e}()},{}],58:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DataFactory=void 0;var i=e("./BlankNode"),r=e("./DefaultGraph"),o=e("./Literal"),a=e("./NamedNode"),s=e("./Quad"),u=e("./Variable"),c=0;n.DataFactory=function(){function e(t){m(this,e),this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||"df_".concat(c++,"_")}return b(e,[{key:"namedNode",value:function(e){return new a.NamedNode(e)}},{key:"blankNode",value:function(e){return new i.BlankNode(e||"".concat(this.blankNodePrefix).concat(this.blankNodeCounter++))}},{key:"literal",value:function(e,t){return new o.Literal(e,t)}},{key:"variable",value:function(e){return new u.Variable(e)}},{key:"defaultGraph",value:function(){return r.DefaultGraph.INSTANCE}},{key:"quad",value:function(e,t,n,i){return new s.Quad(e,t,n,i||this.defaultGraph())}},{key:"fromTerm",value:function(e){switch(e.termType){case"NamedNode":return this.namedNode(e.value);case"BlankNode":return this.blankNode(e.value);case"Literal":return e.language?this.literal(e.value,e.language):e.datatype.equals(o.Literal.XSD_STRING)?this.literal(e.value):this.literal(e.value,this.fromTerm(e.datatype));case"Variable":return this.variable(e.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(e.subject),this.fromTerm(e.predicate),this.fromTerm(e.object),this.fromTerm(e.graph))}}},{key:"fromQuad",value:function(e){return this.fromTerm(e)}},{key:"resetBlankNodeCounter",value:function(){this.blankNodeCounter=0}}]),e}()},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DefaultGraph=void 0;var i=function(){function e(){m(this,e),this.termType="DefaultGraph",this.value=""}return b(e,[{key:"equals",value:function(e){return!!e&&"DefaultGraph"===e.termType}}]),e}();n.DefaultGraph=i,i.INSTANCE=new i},{}],60:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Literal=void 0;var i=e("./NamedNode"),r=function(){function e(t,n){m(this,e),this.termType="Literal",this.value=t,"string"==typeof n?(this.language=n,this.datatype=e.RDF_LANGUAGE_STRING):n?(this.language="",this.datatype=n):(this.language="",this.datatype=e.XSD_STRING)}return b(e,[{key:"equals",value:function(e){return!!e&&"Literal"===e.termType&&e.value===this.value&&e.language===this.language&&e.datatype.equals(this.datatype)}}]),e}();n.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.NamedNode=void 0,n.NamedNode=function(){function e(t){m(this,e),this.termType="NamedNode",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"NamedNode"===e.termType&&e.value===this.value}}]),e}()},{}],62:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Quad=void 0,n.Quad=function(){function e(t,n,i,r){m(this,e),this.termType="Quad",this.value="",this.subject=t,this.predicate=n,this.object=i,this.graph=r}return b(e,[{key:"equals",value:function(e){return!!e&&("Quad"===e.termType||!e.termType)&&this.subject.equals(e.subject)&&this.predicate.equals(e.predicate)&&this.object.equals(e.object)&&this.graph.equals(e.graph)}}]),e}()},{}],63:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Variable=void 0,n.Variable=function(){function e(t){m(this,e),this.termType="Variable",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"Variable"===e.termType&&e.value===this.value}}]),e}()},{}],64:[function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(e("./lib/RdfXmlParser"),n)},{"./lib/RdfXmlParser":66}],65:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseError=void 0;var i=function(e){a(n,e);var t=s(n);function n(e,i){m(this,n);var r=e.saxStream._parser;return t.call(this,e.trackPosition?"Line ".concat(r.line+1," column ").concat(r.column+1,": ").concat(i):i)}return n}(l(Error));n.ParseError=i},{}],66:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseType=n.RdfXmlParser=void 0;var i,r,o=e("relative-to-absolute-iri"),u=e("sax"),l=e("stream"),h=e("./ParseError"),d=e("rdf-data-factory"),f=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,{readableObjectMode:!0})).activeTagStack=[],i.nodeIds={},e&&(Object.assign(c(i),e),i.options=e),i.dataFactory||(i.dataFactory=new d.DataFactory),i.baseIRI||(i.baseIRI=""),i.defaultGraph||(i.defaultGraph=i.dataFactory.defaultGraph()),i.saxStream=u.createStream(i.strict,{xmlns:!1,position:i.trackPosition}),i.strict||(i.saxStream._parser.looseCase="toString"),i.attachSaxListeners(),i}return b(n,[{key:"import",value:function(e){var t=new l.PassThrough({readableObjectMode:!0});e.on("error",function(e){return i.emit("error",e)}),e.on("data",function(e){return t.push(e)}),e.on("end",function(){return t.push(null)});var i=t.pipe(new n(this.options));return i}},{key:"_transform",value:function(e,t,n){try{this.saxStream.write(e,t)}catch(i){return n(i)}n()}},{key:"newParseError",value:function(e){return new h.ParseError(this,e)}},{key:"valueToUri",value:function(e,t){return this.uriToNamedNode(o.resolve(e,t.baseIRI))}},{key:"uriToNamedNode",value:function(e){if(!n.isValidIri(e))throw this.newParseError("Invalid URI: ".concat(e));return this.dataFactory.namedNode(e)}},{key:"validateNcname",value:function(e){if(!n.NCNAME_MATCHER.test(e))throw this.newParseError("Not a valid NCName: ".concat(e))}},{key:"attachSaxListeners",value:function(){var e=this;this.saxStream.on("error",function(t){return e.emit("error",t)}),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}},{key:"onTag",value:function(e){var t=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null,r=i.RESOURCE;if(t&&(t.hadChildren=!0,r=t.childrenParseType),t&&t.childrenStringTags){var o=e.name,a="";for(var s in e.attributes)a+=" ".concat(s,'="').concat(e.attributes[s],'"');t.childrenStringTags.push("<".concat(o).concat(a,">"));var u={childrenStringTags:t.childrenStringTags};return u.childrenStringEmitClosingTag=""),void this.activeTagStack.push(u)}var c={};t?(c.language=t.language,c.baseIRI=t.baseIRI):c.baseIRI=this.baseIRI,this.activeTagStack.push(c),c.ns=n.parseNamespace(e,t),r===i.RESOURCE?this.onTagResource(e,c,t,!t):this.onTagProperty(e,c,t)}},{key:"onTagResource",value:function(e,t,r,a){var s=n.expandPrefixedTerm(e.name,t.ns,this);t.childrenParseType=i.PROPERTY;var u=!0;if(s.uri===n.RDF){if(!a&&n.FORBIDDEN_NODE_ELEMENTS.indexOf(s.local)>=0)throw this.newParseError("Illegal node element name: ".concat(s.local));switch(s.local){case"RDF":t.childrenParseType=i.RESOURCE;case"Description":u=!1}}var c=[],l=[],h=null,d=!1,f=!1,p=null;for(var v in e.attributes){var g=e.attributes[v],m=n.expandPrefixedTerm(v,t.ns,this);if(r&&m.uri===n.RDF)switch(m.local){case"about":if(h)throw this.newParseError("Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ".concat(g," and ").concat(h," where found."));h=g;continue;case"ID":if(h)throw this.newParseError("Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ".concat(g," and ").concat(h," where found."));this.validateNcname(g),h="#"+g,d=!0;continue;case"nodeID":if(h)throw this.newParseError("Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ".concat(g," and ").concat(h," where found."));this.validateNcname(g),h=g,f=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":p=g;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(m.uri===n.XML){if("lang"===m.local){t.language=""===g?null:g.toLowerCase();continue}if("base"===m.local){t.baseIRI=o.resolve(g,t.baseIRI);continue}}"xml"!==m.prefix&&m.uri&&(c.push(this.uriToNamedNode(m.uri+m.local)),l.push(g))}if(null!==h&&(t.subject=f?this.dataFactory.blankNode(h):this.valueToUri(h,t),d&&this.claimNodeId(t.subject)),t.subject||(t.subject=this.dataFactory.blankNode()),u){var y=this.uriToNamedNode(s.uri+s.local);this.emitTriple(t.subject,this.dataFactory.namedNode(n.RDF+"type"),y,r?r.reifiedStatementId:null)}if(r){if(r.predicate)if(r.childrenCollectionSubject){var b=this.dataFactory.blankNode();this.emitTriple(r.childrenCollectionSubject,r.childrenCollectionPredicate,b,r.reifiedStatementId),this.emitTriple(b,this.dataFactory.namedNode(n.RDF+"first"),t.subject,t.reifiedStatementId),r.childrenCollectionSubject=b,r.childrenCollectionPredicate=this.dataFactory.namedNode(n.RDF+"rest")}else{this.emitTriple(r.subject,r.predicate,t.subject,r.reifiedStatementId);for(var _=0;_=0)throw this.newParseError("Illegal property element name: ".concat(o.local));t.predicateSubPredicates=[],t.predicateSubObjects=[];var a=!1,s=!1,u=null,c=!0,l=[],h=[];for(var d in e.attributes){var f=e.attributes[d],p=n.expandPrefixedTerm(d,t.ns,this);if(p.uri===n.RDF)switch(p.local){case"resource":if(u)throw this.newParseError("Found both rdf:resource (".concat(f,") and rdf:nodeID (").concat(u,")."));if(a)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:resource (".concat(f,")"));t.hadChildren=!0,u=f,c=!1;continue;case"datatype":if(s)throw this.newParseError("Found both non-rdf:* property attributes and rdf:datatype (".concat(f,")."));if(a)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:datatype (".concat(f,")"));t.datatype=this.valueToUri(f,t);continue;case"nodeID":if(s)throw this.newParseError("Found both non-rdf:* property attributes and rdf:nodeID (".concat(f,")."));if(t.hadChildren)throw this.newParseError("Found both rdf:resource and rdf:nodeID (".concat(f,")."));if(a)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:nodeID (".concat(f,")"));this.validateNcname(f),t.hadChildren=!0,u=f,c=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(s)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(t.datatype)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:datatype (".concat(t.datatype.value,")"));if(u)throw this.newParseError("rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (".concat(u,")"));if("Resource"===f){a=!0,t.childrenParseType=i.PROPERTY;var v=this.dataFactory.blankNode();this.emitTriple(t.subject,t.predicate,v,t.reifiedStatementId),t.subject=v,t.predicate=null}else"Collection"===f?(a=!0,t.hadChildren=!0,t.childrenCollectionSubject=t.subject,t.childrenCollectionPredicate=t.predicate,c=!1):"Literal"===f&&(a=!0,t.childrenTagsToString=!0,t.childrenStringTags=[]);continue;case"ID":this.validateNcname(f),t.reifiedStatementId=this.valueToUri("#"+f,t),this.claimNodeId(t.reifiedStatementId);continue}else if(p.uri===n.XML&&"lang"===p.local){t.language=""===f?null:f.toLowerCase();continue}if("xml"!==p.prefix&&"xmlns"!==p.prefix&&p.uri){if(a||t.datatype)throw this.newParseError("Found illegal rdf:* properties on property element with attribute: ".concat(f));t.hadChildren=!0,s=!0,l.push(this.uriToNamedNode(p.uri+p.local)),h.push(this.dataFactory.literal(f,t.datatype||t.language))}}if(null!==u){var g=t.subject;t.subject=c?this.dataFactory.blankNode(u):this.valueToUri(u,t),this.emitTriple(g,t.predicate,t.subject,t.reifiedStatementId);for(var m=0;m/g,function(e,n,i){return t.saxStream._parser.ENTITIES[n]=i,""})}}],[{key:"parseNamespace",value:function(e,t){var i={},r=!1;for(var o in e.attributes)o.startsWith("xmlns")&&(5===o.length?(r=!0,i[""]=e.attributes[o]):":"===o.charAt(5)&&(r=!0,i[o.substr(6)]=e.attributes[o]));var a=t&&t.ns?t.ns:[n.DEFAULT_NS];return r?a.concat([i]):a}},{key:"expandPrefixedTerm",value:function(e,t,n){var i,r,o=e.indexOf(":");o>=0?(i=e.substr(0,o),r=e.substr(o+1)):(i="",r=e);for(var a=null,s=null,u=t.length-1;u>=0;u--){var c=t[u][i];if(c){a=c;break}s||(s=t[u][""])}if(!a){if(i&&"xmlns"!==i)throw new h.ParseError(n,"The prefix '".concat(i,"' in term '").concat(e,"' was not bound."));a=s||""}return{prefix:i,local:r,uri:a}}},{key:"isValidIri",value:function(e){return n.IRI_REGEX.test(e)}}]),n}(l.Transform);n.RdfXmlParser=f,f.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,f.MIME_TYPE="application/rdf+xml",f.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",f.XML="http://www.w3.org/XML/1998/namespace",f.XMLNS="http://www.w3.org/2000/xmlns/",f.DEFAULT_NS={xml:f.XML},f.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],f.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],f.NCNAME_MATCHER=/^((?:[A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF]))((?:[#\x2D\.0-9A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF]))*$/,(r=i=n.ParseType||(n.ParseType={}))[r.RESOURCE=0]="RESOURCE",r[r.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(e,t,n){"use strict";var i={};function r(e,t,n){n||(n=Error);var r=function(e){function n(n,i,r){return e.call(this,function(e,n,i){return"string"==typeof t?t:t(e,n,i)}(n,i,r))||this}return function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(n,e),n}(n);r.prototype.name=n.name,r.prototype.code=e,i[e]=r}function o(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map(function(e){return String(e)}),n>2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}r("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError),r("ERR_INVALID_ARG_TYPE",function(e,t,n){var i,r;if("string"==typeof t&&function(e,t,n){return e.substr(0,t.length)===t}(t,"not ")?(i="must not be",t=t.replace(/^not /,"")):i="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e," argument"))r="The ".concat(e," ").concat(i," ").concat(o(t,"type"));else{var a=function(e,t,n){return"number"!=typeof n&&(n=0),!(n+".".length>e.length)&&-1!==e.indexOf(".",n)}(e)?"property":"argument";r='The "'.concat(e,'" ').concat(a," ").concat(i," ").concat(o(t,"type"))}return r+". Received type ".concat(typeof n)},TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"}),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"}),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=i},{}],68:[function(e,t,n){(function(n){(function(){"use strict";var i=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};t.exports=c;var r=e("./_stream_readable"),o=e("./_stream_writable");e("inherits")(c,r);for(var a=i(o.prototype),s=0;s0)if("string"!=typeof t&&!s.objectMode&&Object.getPrototypeOf(t)!==u.prototype&&(t=function(e){return u.from(e)}(t)),i)s.endEmitted?k(e,new w):O(e,s,t,!0);else if(s.ended)k(e,new b);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?O(e,s,t,!1):I(e,s)):O(e,s,t,!1)}else i||(s.reading=!1,I(e,s));return!s.ended&&(s.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=T?e=T:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function P(e){var t=e._readableState;o("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(o("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(M,e))}function M(e){var t=e._readableState;o("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,j(e)}function I(e,t){t.readingMore||(t.readingMore=!0,n.nextTick(R,e,t))}function R(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function N(e){o("readable nexttick read 0"),e.read(0)}function L(e,t){o("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),j(e),t.flowing&&!t.reading&&e.read(0)}function j(e){var t=e._readableState;for(o("flow",t.flowing);t.flowing&&null!==e.read(););}function F(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function B(e){var t=e._readableState;o("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(V,t,e))}function V(e,t){if(o("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function z(e,t){for(var n=0,i=e.length;n=t.highWaterMark:t.length>0)||t.ended))return o("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?B(this):P(this),null;if(0===(e=A(e,t))&&t.ended)return 0===t.length&&B(this),null;var i,r=t.needReadable;return o("need readable",r),(0===t.length||t.length-e0?F(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&B(this)),null!==i&&this.emit("data",i),i},C.prototype._read=function(e){k(this,new _("_read()"))},C.prototype.pipe=function(e,t){var i=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,o("pipe count=%d opts=%j",r.pipesCount,t);var s=t&&!1===t.end||e===n.stdout||e===n.stderr?v:u;function u(){o("onend"),e.end()}r.endEmitted?n.nextTick(s):i.once("end",s),e.on("unpipe",function t(n,a){o("onunpipe"),n===i&&a&&!1===a.hasUnpiped&&(a.hasUnpiped=!0,o("cleanup"),e.removeListener("close",f),e.removeListener("finish",p),e.removeListener("drain",c),e.removeListener("error",d),e.removeListener("unpipe",t),i.removeListener("end",u),i.removeListener("end",v),i.removeListener("data",h),l=!0,r.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&c())});var c=function(e){return function(){var t=e._readableState;o("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,j(e))}}(i);e.on("drain",c);var l=!1;function h(t){o("ondata");var n=e.write(t);o("dest.write",n),!1===n&&((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==z(r.pipes,e))&&!l&&(o("false write response, pause",r.awaitDrain),r.awaitDrain++),i.pause())}function d(t){o("onerror",t),v(),e.removeListener("error",d),0===a(e,"error")&&k(e,t)}function f(){e.removeListener("finish",p),v()}function p(){o("onfinish"),e.removeListener("close",f),v()}function v(){o("unpipe"),i.unpipe(e)}return i.on("data",h),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",d),e.once("close",f),e.once("finish",p),e.emit("pipe",i),r.flowing||(o("pipe resume"),i.resume()),e},C.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var i=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o0,!1!==r.flowing&&this.resume()):"readable"===e&&!r.endEmitted&&!r.readableListening&&(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,o("on readable",r.length,r.reading),r.length?P(this):r.reading||n.nextTick(N,this)),i},C.prototype.removeListener=function(e,t){var i=s.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(D,this),i},C.prototype.removeAllListeners=function(e){var t=s.prototype.removeAllListeners.apply(this,arguments);return("readable"===e||void 0===e)&&n.nextTick(D,this),t},C.prototype.resume=function(){var e=this._readableState;return e.flowing||(o("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(L,e,t))}(this,e)),e.paused=!1,this},C.prototype.pause=function(){return o("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(o("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},C.prototype.wrap=function(e){var t=this,n=this._readableState,i=!1;for(var r in e.on("end",function(){if(o("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(r){o("wrapped data"),n.decoder&&(r=n.decoder.write(r)),n.objectMode&&null==r||!(n.objectMode||r&&r.length)||t.push(r)||(i=!0,e.pause())}),e)void 0===this[r]&&"function"==typeof e[r]&&(this[r]=function(t){return function(){return e[t].apply(e,arguments)}}(r));for(var a=0;a-1))throw new w(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(C.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(C.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),C.prototype._write=function(e,t,n){n(new v("_write()"))},C.prototype._writev=null,C.prototype.end=function(e,t,i){var r=this._writableState;return"function"==typeof e?(i=e,e=null,t=null):"function"==typeof t&&(i=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||function(e,t,i){t.ending=!0,M(e,t),i&&(t.finished?n.nextTick(i):e.once("finish",i)),t.ended=!0,e.writable=!1}(this,r,i),this},Object.defineProperty(C.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){!this._writableState||(this._writableState.destroyed=e)}}),C.prototype.destroy=h.destroy,C.prototype._undestroy=h.undestroy,C.prototype._destroy=function(e,t){t(e)}}).call(this)}).call(this,e("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(e,t,n){(function(n){(function(){"use strict";var i;function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var o=e("./end-of-stream"),a=Symbol("lastResolve"),s=Symbol("lastReject"),u=Symbol("error"),c=Symbol("ended"),l=Symbol("lastPromise"),h=Symbol("handlePromise"),d=Symbol("stream");function f(e,t){return{value:e,done:t}}function p(e){var t=e[a];if(null!==t){var n=e[d].read();null!==n&&(e[l]=null,e[a]=null,e[s]=null,t(f(n,!1)))}}function v(e){n.nextTick(p,e)}var g=Object.getPrototypeOf(function(){}),m=Object.setPrototypeOf((r(i={get stream(){return this[d]},next:function(){var e=this,t=this[u];if(null!==t)return Promise.reject(t);if(this[c])return Promise.resolve(f(void 0,!0));if(this[d].destroyed)return new Promise(function(t,i){n.nextTick(function(){e[u]?i(e[u]):t(f(void 0,!0))})});var i,r=this[l];if(r)i=new Promise(function(e,t){return function(n,i){e.then(function(){t[c]?n(f(void 0,!0)):t[h](n,i)},i)}}(r,this));else{var o=this[d].read();if(null!==o)return Promise.resolve(f(o,!1));i=new Promise(this[h])}return this[l]=i,i}},Symbol.asyncIterator,function(){return this}),r(i,"return",function(){var e=this;return new Promise(function(t,n){e[d].destroy(null,function(e){e?n(e):t(f(void 0,!0))})})}),i),g);t.exports=function(e){var t,n=Object.create(m,(r(t={},d,{value:e,writable:!0}),r(t,a,{value:null,writable:!0}),r(t,s,{value:null,writable:!0}),r(t,u,{value:null,writable:!0}),r(t,c,{value:e._readableState.endEmitted,writable:!0}),r(t,h,{value:function(e,t){var i=n[d].read();i?(n[l]=null,n[a]=null,n[s]=null,e(f(i,!1))):(n[a]=e,n[s]=t)},writable:!0}),t));return n[l]=null,o(e,function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=n[s];return null!==t&&(n[l]=null,n[a]=null,n[s]=null,t(e)),void(n[u]=e)}var i=n[a];null!==i&&(n[l]=null,n[a]=null,n[s]=null,i(f(void 0,!0))),n[c]=!0}),e.on("readable",v.bind(null,n)),n}}).call(this)}).call(this,e("_process"))},{"./end-of-stream":76,_process:44}],74:[function(e,t,n){"use strict";function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){for(var n=0;n0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return a.alloc(0);for(var t=a.allocUnsafe(e>>>0),n=this.head,i=0;n;)c(n.data,t,i),i+=n.data.length,n=n.next;return t}},{key:"consume",value:function(e,t){var n;return er.length?r.length:e;if(i+=o===r.length?r:r.slice(0,e),0==(e-=o)){o===r.length?(++n,this.head=t.next?t.next:this.tail=null):(this.head=t,t.data=r.slice(o));break}++n}return this.length-=n,i}},{key:"_getBuffer",value:function(e){var t=a.allocUnsafe(e),n=this.head,i=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var r=n.data,o=e>r.length?r.length:e;if(r.copy(t,t.length-e,0,o),0==(e-=o)){o===r.length?(++i,this.head=n.next?n.next:this.tail=null):(this.head=n,n.data=r.slice(o));break}++i}return this.length-=i,t}},{key:u,value:function(e,t){return s(this,function(e){for(var t=1;t0,function(e){r||(r=e),e&&a.forEach(c),!o&&(a.forEach(c),i(r))})});return t.reduce(l)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(e,t,n){"use strict";var i=e("../../../errors").codes.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(e,t,n,r){var o=function(e,t,n){return null!=e.highWaterMark?e.highWaterMark:t?e[n]:null}(t,r,n);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new i(r?n:"highWaterMark",o);return Math.floor(o)}return e.objectMode?16:16384}}},{"../../../errors":67}],80:[function(e,t,n){t.exports=e("events").EventEmitter},{events:8}],81:[function(e,t,n){(n=t.exports=e("./lib/_stream_readable.js")).Stream=n,n.Readable=n,n.Writable=e("./lib/_stream_writable.js"),n.Duplex=e("./lib/_stream_duplex.js"),n.Transform=e("./lib/_stream_transform.js"),n.PassThrough=e("./lib/_stream_passthrough.js"),n.finished=e("./lib/internal/streams/end-of-stream.js"),n.pipeline=e("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),function(e){for(var t in e)n.hasOwnProperty(t)||(n[t]=e[t])}(e("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(e,t,n){"use strict";function i(e){for(var t=[],n=0;n=0?"/"===e[t+1]&&"/"===e[t+2]&&(n=t+3):"/"===e[0]&&"/"===e[1]&&(n=2);var r=e.indexOf("/",n);return r<0?e:e.substr(0,r)+i(e.substr(r))}function o(e){return!e||"#"===e||"?"===e||"/"===e}Object.defineProperty(n,"__esModule",{value:!0}),n.resolve=function(e,t){var n=(t=t||"").indexOf("#");if(n>0&&(t=t.substr(0,n)),!e.length){if(t.indexOf(":")<0)throw new Error("Found invalid baseIRI '".concat(t,"' for value '").concat(e,"'"));return t}if(e.startsWith("?")){var o=t.indexOf("?");return o>0&&(t=t.substr(0,o)),t+e}if(e.startsWith("#"))return t+e;if(!t.length){var a=e.indexOf(":");if(a<0)throw new Error("Found invalid relative IRI '".concat(e,"' for a missing baseIRI"));return r(e,a)}var s=e.indexOf(":");if(s>=0)return r(e,s);var u=t.indexOf(":");if(u<0)throw new Error("Found invalid baseIRI '".concat(t,"' for value '").concat(e,"'"));var c,l=t.substr(0,u+1);if(0===e.indexOf("//"))return l+r(e,s);if(t.indexOf("//",u)===u+1){if((c=t.indexOf("/",u+3))<0)return t.length>u+3?t+"/"+r(e,s):l+r(e,s)}else if((c=t.indexOf("/",u+1))<0)return l+r(e,s);if(0===e.indexOf("/"))return t.substr(0,c)+i(e);var h=t.substr(c),d=h.lastIndexOf("/");return d>=0&&d"===o?(E(t,"onsgmldeclaration",t.sgmlDecl),t.sgmlDecl="",t.state=x.TEXT):(g(o)&&(t.state=x.SGML_DECL_QUOTED),t.sgmlDecl+=o);continue;case x.SGML_DECL_QUOTED:o===t.q&&(t.state=x.SGML_DECL,t.q=""),t.sgmlDecl+=o;continue;case x.DOCTYPE:">"===o?(t.state=x.TEXT,E(t,"ondoctype",t.doctype),t.doctype=!0):(t.doctype+=o,"["===o?t.state=x.DOCTYPE_DTD:g(o)&&(t.state=x.DOCTYPE_QUOTED,t.q=o));continue;case x.DOCTYPE_QUOTED:t.doctype+=o,o===t.q&&(t.q="",t.state=x.DOCTYPE);continue;case x.DOCTYPE_DTD:t.doctype+=o,"]"===o?t.state=x.DOCTYPE:g(o)&&(t.state=x.DOCTYPE_DTD_QUOTED,t.q=o);continue;case x.DOCTYPE_DTD_QUOTED:t.doctype+=o,o===t.q&&(t.state=x.DOCTYPE_DTD,t.q="");continue;case x.COMMENT:"-"===o?t.state=x.COMMENT_ENDING:t.comment+=o;continue;case x.COMMENT_ENDING:"-"===o?(t.state=x.COMMENT_ENDED,t.comment=T(t.opt,t.comment),t.comment&&E(t,"oncomment",t.comment),t.comment=""):(t.comment+="-"+o,t.state=x.COMMENT);continue;case x.COMMENT_ENDED:">"!==o?(M(t,"Malformed comment"),t.comment+="--"+o,t.state=x.COMMENT):t.state=x.TEXT;continue;case x.CDATA:"]"===o?t.state=x.CDATA_ENDING:t.cdata+=o;continue;case x.CDATA_ENDING:"]"===o?t.state=x.CDATA_ENDING_2:(t.cdata+="]"+o,t.state=x.CDATA);continue;case x.CDATA_ENDING_2:">"===o?(t.cdata&&E(t,"oncdata",t.cdata),E(t,"onclosecdata"),t.cdata="",t.state=x.TEXT):"]"===o?t.cdata+="]":(t.cdata+="]]"+o,t.state=x.CDATA);continue;case x.PROC_INST:"?"===o?t.state=x.PROC_INST_ENDING:v(o)?t.state=x.PROC_INST_BODY:t.procInstName+=o;continue;case x.PROC_INST_BODY:if(!t.procInstBody&&v(o))continue;"?"===o?t.state=x.PROC_INST_ENDING:t.procInstBody+=o;continue;case x.PROC_INST_ENDING:">"===o?(E(t,"onprocessinginstruction",{name:t.procInstName,body:t.procInstBody}),t.procInstName=t.procInstBody="",t.state=x.TEXT):(t.procInstBody+="?"+o,t.state=x.PROC_INST_BODY);continue;case x.OPEN_TAG:y(d,o)?t.tagName+=o:(I(t),">"===o?N(t):"/"===o?t.state=x.OPEN_TAG_SLASH:(v(o)||M(t,"Invalid character in tag name"),t.state=x.ATTRIB));continue;case x.OPEN_TAG_SLASH:">"===o?(N(t,!0),L(t)):(M(t,"Forward-slash in opening tag not followed by >"),t.state=x.ATTRIB);continue;case x.ATTRIB:if(v(o))continue;">"===o?N(t):"/"===o?t.state=x.OPEN_TAG_SLASH:y(h,o)?(t.attribName=o,t.attribValue="",t.state=x.ATTRIB_NAME):M(t,"Invalid attribute name");continue;case x.ATTRIB_NAME:"="===o?t.state=x.ATTRIB_VALUE:">"===o?(M(t,"Attribute without value"),t.attribValue=t.attribName,D(t),N(t)):v(o)?t.state=x.ATTRIB_NAME_SAW_WHITE:y(d,o)?t.attribName+=o:M(t,"Invalid attribute name");continue;case x.ATTRIB_NAME_SAW_WHITE:if("="===o)t.state=x.ATTRIB_VALUE;else{if(v(o))continue;M(t,"Attribute without value"),t.tag.attributes[t.attribName]="",t.attribValue="",E(t,"onattribute",{name:t.attribName,value:""}),t.attribName="",">"===o?N(t):y(h,o)?(t.attribName=o,t.state=x.ATTRIB_NAME):(M(t,"Invalid attribute name"),t.state=x.ATTRIB)}continue;case x.ATTRIB_VALUE:if(v(o))continue;g(o)?(t.q=o,t.state=x.ATTRIB_VALUE_QUOTED):(M(t,"Unquoted attribute value"),t.state=x.ATTRIB_VALUE_UNQUOTED,t.attribValue=o);continue;case x.ATTRIB_VALUE_QUOTED:if(o!==t.q){"&"===o?t.state=x.ATTRIB_VALUE_ENTITY_Q:t.attribValue+=o;continue}D(t),t.q="",t.state=x.ATTRIB_VALUE_CLOSED;continue;case x.ATTRIB_VALUE_CLOSED:v(o)?t.state=x.ATTRIB:">"===o?N(t):"/"===o?t.state=x.OPEN_TAG_SLASH:y(h,o)?(M(t,"No whitespace between attributes"),t.attribName=o,t.attribValue="",t.state=x.ATTRIB_NAME):M(t,"Invalid attribute name");continue;case x.ATTRIB_VALUE_UNQUOTED:if(!m(o)){"&"===o?t.state=x.ATTRIB_VALUE_ENTITY_U:t.attribValue+=o;continue}D(t),">"===o?N(t):t.state=x.ATTRIB;continue;case x.CLOSE_TAG:if(t.tagName)">"===o?L(t):y(d,o)?t.tagName+=o:t.script?(t.script+=""===o?L(t):M(t,"Invalid characters in closing tag");continue;case x.TEXT_ENTITY:case x.ATTRIB_VALUE_ENTITY_Q:case x.ATTRIB_VALUE_ENTITY_U:var s,u;switch(t.state){case x.TEXT_ENTITY:s=x.TEXT,u="textNode";break;case x.ATTRIB_VALUE_ENTITY_Q:s=x.ATTRIB_VALUE_QUOTED,u="attribValue";break;case x.ATTRIB_VALUE_ENTITY_U:s=x.ATTRIB_VALUE_UNQUOTED,u="attribValue"}";"===o?(t[u]+=j(t),t.entity="",t.state=s):y(t.entity.length?p:f,o)?t.entity+=o:(M(t,"Invalid character in entity name"),t[u]+="&"+t.entity+o,t.entity="",t.state=s);continue;default:throw new Error(t,"Unknown state: "+t.state)}return t.position>=t.bufferCheckPosition&&function(e){for(var t=Math.max(n.MAX_BUFFER_LENGTH,10),i=0,o=0,a=r.length;ot)switch(r[o]){case"textNode":O(e);break;case"cdata":E(e,"oncdata",e.cdata),e.cdata="";break;case"script":E(e,"onscript",e.script),e.script="";break;default:A(e,"Max buffer length exceeded: "+r[o])}i=Math.max(i,s)}e.bufferCheckPosition=n.MAX_BUFFER_LENGTH-i+e.position}(t),t},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(e){O(e),""!==e.cdata&&(E(e,"oncdata",e.cdata),e.cdata=""),""!==e.script&&(E(e,"onscript",e.script),e.script="")}(this)}};try{i=e("stream").Stream}catch(_){i=function(){}}var a=n.EVENTS.filter(function(e){return"error"!==e&&"end"!==e});function s(e,t){if(!(this instanceof s))return new s(e,t);i.apply(this),this._parser=new o(e,t),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit("end")},this._parser.onerror=function(e){n.emit("error",e),n._parser.error=null},this._decoder=null,a.forEach(function(e){Object.defineProperty(n,"on"+e,{get:function(){return n._parser["on"+e]},set:function(t){if(!t)return n.removeAllListeners(e),n._parser["on"+e]=t,t;n.on(e,t)},enumerable:!0,configurable:!1})})}(s.prototype=Object.create(i.prototype,{constructor:{value:s}})).write=function(n){if("function"==typeof t&&"function"==typeof t.isBuffer&&t.isBuffer(n)){if(!this._decoder){var i=e("string_decoder").StringDecoder;this._decoder=new i("utf8")}n=this._decoder.write(n)}return this._parser.write(n.toString()),this.emit("data",n),!0},s.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},s.prototype.on=function(e,t){var n=this;return!n._parser["on"+e]&&-1!==a.indexOf(e)&&(n._parser["on"+e]=function(){var t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),n.emit.apply(n,t)}),i.prototype.on.call(n,e,t)};var u="http://www.w3.org/XML/1998/namespace",c="http://www.w3.org/2000/xmlns/",l={xml:u,xmlns:c},h=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,d=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,f=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function v(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}function g(e){return'"'===e||"'"===e}function m(e){return">"===e||v(e)}function y(e,t){return e.test(t)}function b(e,t){return!y(e,t)}var _,w,k,x=0;for(var S in n.STATE={BEGIN:x++,BEGIN_WHITESPACE:x++,TEXT:x++,TEXT_ENTITY:x++,OPEN_WAKA:x++,SGML_DECL:x++,SGML_DECL_QUOTED:x++,DOCTYPE:x++,DOCTYPE_QUOTED:x++,DOCTYPE_DTD:x++,DOCTYPE_DTD_QUOTED:x++,COMMENT_STARTING:x++,COMMENT:x++,COMMENT_ENDING:x++,COMMENT_ENDED:x++,CDATA:x++,CDATA_ENDING:x++,CDATA_ENDING_2:x++,PROC_INST:x++,PROC_INST_BODY:x++,PROC_INST_ENDING:x++,OPEN_TAG:x++,OPEN_TAG_SLASH:x++,ATTRIB:x++,ATTRIB_NAME:x++,ATTRIB_NAME_SAW_WHITE:x++,ATTRIB_VALUE:x++,ATTRIB_VALUE_QUOTED:x++,ATTRIB_VALUE_CLOSED:x++,ATTRIB_VALUE_UNQUOTED:x++,ATTRIB_VALUE_ENTITY_Q:x++,ATTRIB_VALUE_ENTITY_U:x++,CLOSE_TAG:x++,CLOSE_TAG_SAW_WHITE:x++,SCRIPT:x++,SCRIPT_ENDING:x++},n.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},n.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(n.ENTITIES).forEach(function(e){var t=n.ENTITIES[e],i="number"==typeof t?String.fromCharCode(t):t;n.ENTITIES[e]=i}),n.STATE)n.STATE[n.STATE[S]]=S;function C(e,t,n){e[t]&&e[t](n)}function E(e,t,n){e.textNode&&O(e),C(e,t,n)}function O(e){e.textNode=T(e.opt,e.textNode),e.textNode&&C(e,"ontext",e.textNode),e.textNode=""}function T(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function A(e,t){return O(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=new Error(t),e.error=t,C(e,"onerror",t),e}function P(e){return e.sawRoot&&!e.closedRoot&&M(e,"Unclosed root tag"),e.state!==x.BEGIN&&e.state!==x.BEGIN_WHITESPACE&&e.state!==x.TEXT&&A(e,"Unexpected end"),O(e),e.c="",e.closed=!0,C(e,"onend"),o.call(e,e.strict,e.opt),e}function M(e,t){if("object"!=typeof e||!(e instanceof o))throw new Error("bad call to strictFail");e.strict&&A(e,t)}function I(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,n=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(n.ns=t.ns),e.attribList.length=0,E(e,"onopentagstart",n)}function R(e,t){var n=e.indexOf(":")<0?["",e]:e.split(":"),i=n[0],r=n[1];return t&&"xmlns"===e&&(i="xmlns",r=""),{prefix:i,local:r}}function D(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName))e.attribName=e.attribValue="";else{if(e.opt.xmlns){var t=R(e.attribName,!0),n=t.local;if("xmlns"===t.prefix)if("xml"===n&&e.attribValue!==u)M(e,"xml: prefix must be bound to "+u+"\nActual: "+e.attribValue);else if("xmlns"===n&&e.attribValue!==c)M(e,"xmlns: prefix must be bound to "+c+"\nActual: "+e.attribValue);else{var i=e.tag,r=e.tags[e.tags.length-1]||e;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[n]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,E(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}}function N(e,t){if(e.opt.xmlns){var n=e.tag,i=R(e.tagName);n.prefix=i.prefix,n.local=i.local,n.uri=n.ns[i.prefix]||"",n.prefix&&!n.uri&&(M(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),n.uri=i.prefix),n.ns&&(e.tags[e.tags.length-1]||e).ns!==n.ns&&Object.keys(n.ns).forEach(function(t){E(e,"onopennamespace",{prefix:t,uri:n.ns[t]})});for(var r=0,o=e.attribList.length;r",e.tagName="",void(e.state=x.SCRIPT);E(e,"onscript",e.script),e.script=""}var t=e.tags.length,n=e.tagName;e.strict||(n=n[e.looseCase]());for(var i=n;t--&&e.tags[t].name!==i;)M(e,"Unexpected close tag");if(t<0)return M(e,"Unmatched closing tag: "+e.tagName),e.textNode+="",void(e.state=x.TEXT);e.tagName=n;for(var r=e.tags.length;r-- >t;){var o=e.tag=e.tags.pop();e.tagName=e.tag.name,E(e,"onclosetag",e.tagName);var a={};for(var s in o.ns)a[s]=o.ns[s];e.opt.xmlns&&o.ns!==(e.tags[e.tags.length-1]||e).ns&&Object.keys(o.ns).forEach(function(t){E(e,"onclosenamespace",{prefix:t,uri:o.ns[t]})})}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=x.TEXT}function j(e){var t,n=e.entity,i=n.toLowerCase(),r="";return e.ENTITIES[n]?e.ENTITIES[n]:e.ENTITIES[i]?e.ENTITIES[i]:("#"===(n=i).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),r=(t=parseInt(n,16)).toString(16)):(n=n.slice(1),r=(t=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(t)||r.toLowerCase()!==n?(M(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t))}function F(e,t){"<"===t?(e.state=x.OPEN_WAKA,e.startTagPosition=e.position):v(t)||(M(e,"Non-whitespace before first tag."),e.textNode=t,e.state=x.TEXT)}function B(e,t){var n="";return t1114111||w(o)!==o)throw RangeError("Invalid code point: "+o);o<=65535?t.push(o):t.push(55296+((o-=65536)>>10),o%1024+56320),(n+1===i||t.length>e)&&(r+=_.apply(null,t),t.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:k,configurable:!0,writable:!0}):String.fromCodePoint=k)}(void 0===n?this.sax={}:n)}).call(this)}).call(this,e("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(e,t,n){(function(e,t){(function(){!function(t,n){"use strict";if(!t.setImmediate){var i,r=1,o={},a=!1,s=t.document,u=Object.getPrototypeOf&&Object.getPrototypeOf(t);u=u&&u.setTimeout?u:t,"[object process]"==={}.toString.call(t.process)?i=function(t){e.nextTick(function(){d(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?(c="setImmediate$"+Math.random()+"$",l=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(c)&&d(+e.data.slice(c.length))},t.addEventListener?t.addEventListener("message",l,!1):t.attachEvent("onmessage",l),i=function(e){t.postMessage(c+e,"*")}):t.MessageChannel?function(){var e=new MessageChannel;e.port1.onmessage=function(e){d(e.data)},i=function(t){e.port2.postMessage(t)}}():s&&"onreadystatechange"in s.createElement("script")?function(){var e=s.documentElement;i=function(t){var n=s.createElement("script");n.onreadystatechange=function(){d(t),n.onreadystatechange=null,e.removeChild(n),n=null},e.appendChild(n)}}():i=function(e){setTimeout(d,0,e)},u.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n.setImmediate="function"==typeof t?t:function(e){var t=u++,i=!(arguments.length<2)&&a.call(arguments,1);return s[t]=!0,r(function(){s[t]&&(i?e.apply(null,i):e.call(null),n.clearImmediate(t))}),t},n.clearImmediate="function"==typeof i?i:function(e){delete s[e]}}).call(this)}).call(this,e("timers").setImmediate,e("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(e,t,n){(function(e){(function(){function n(t){try{if(!e.localStorage)return!1}catch(i){return!1}var n=e.localStorage[t];return null!=n&&"true"===String(n).toLowerCase()}t.exports=function(e,t){if(n("noDeprecation"))return e;var i=!1;return function(){if(!i){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),i=!0}return e.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(e,t,n){"use strict";t.exports=function(e){e.prototype[Symbol.iterator]=regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t=this.head;case 1:if(!t){e.next=7;break}return e.next=4,t.value;case 4:t=t.next,e.next=1;break;case 7:case"end":return e.stop()}},e,this)})}},{}],92:[function(e,t,n){"use strict";function i(e){var t=this;if(t instanceof i||(t=new i),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach(function(e){t.push(e)});else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");i=this.head.next,n=this.head.value}for(var r=0;null!==i;r++)n=e(n,i.value,r),i=i.next;return n},i.prototype.reduceReverse=function(e,t){var n,i=this.tail;if(arguments.length>1)n=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");i=this.tail.prev,n=this.tail.value}for(var r=this.length-1;null!==i;r--)n=e(n,i.value,r),i=i.prev;return n},i.prototype.toArray=function(){for(var e=new Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},i.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},i.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new i;if(tthis.length&&(t=this.length);for(var r=0,o=this.head;null!==o&&rthis.length&&(t=this.length);for(var r=this.length,o=this.tail;null!==o&&r>t;r--)o=o.prev;for(;null!==o&&r>e;r--,o=o.prev)n.push(o.value);return n},i.prototype.splice=function(e,t){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var n=0,i=this.head;null!==i&&n=0?1.2:1))}function i(e,t,n,i,o,a){for(var s=0;s-1);a[++c]=u,s[c]=l,s[c+1]=t}for(u=0,c=0;u is not a method!");return{configurable:i.boolTrue,get:function(){var e=n.value.bind(this);return Object.defineProperty(this,t,{value:e,configurable:i.boolTrue,writable:i.boolTrue}),e}}}t.ak=r,t.ZP=r},97266:function(e,t,n){e.exports={ResizeSensor:n(69835),ElementQueries:n(54845)}},54845:function(e,t,n){"use strict";var i,r,o;"undefined"!=typeof window&&window,r=[n(69835)],void 0!==(o="function"==typeof(i=function(e){var t=function(){var t,n={},i=[];function r(e){e||(e=document.documentElement);var t=window.getComputedStyle(e,null).fontSize;return parseFloat(t)||16}function o(e,t){var n=t.split(/\d/),i=n[n.length-1];switch(t=parseFloat(t),i){case"px":return t;case"em":return t*r(e);case"rem":return t*r();case"vw":return t*document.documentElement.clientWidth/100;case"vh":return t*document.documentElement.clientHeight/100;case"vmin":case"vmax":var o=document.documentElement.clientWidth/100,a=document.documentElement.clientHeight/100;return t*(0,Math["vmin"===i?"min":"max"])(o,a);default:return t}}function a(e,t){this.element=e;var i,r,a,s,u,c,l,h,d=["min-width","min-height","max-width","max-height"];this.call=function(){for(i in a=function(e){if(!e.getBoundingClientRect)return{width:e.offsetWidth,height:e.offsetHeight};var t=e.getBoundingClientRect();return{width:Math.round(t.width),height:Math.round(t.height)}}(this.element),c={},n[t])!n[t].hasOwnProperty(i)||(s=o(this.element,(r=n[t][i]).value),u="width"===r.property?a.width:a.height,l="","min"===r.mode&&u>=s&&(l+=r.value),"max"===r.mode&&u<=s&&(l+=r.value),c[h=r.mode+"-"+r.property]||(c[h]=""),l&&-1===(" "+c[h]+" ").indexOf(" "+l+" ")&&(c[h]+=" "+l));for(var e in d)!d.hasOwnProperty(e)||(c[d[e]]?this.element.setAttribute(d[e],c[d[e]].substr(1)):this.element.removeAttribute(d[e]))}}function s(t,n){t.elementQueriesSetupInformation||(t.elementQueriesSetupInformation=new a(t,n)),t.elementQueriesSensor||(t.elementQueriesSensor=new e(t,function(){t.elementQueriesSetupInformation.call()}))}function u(e,r,o,a){if(void 0===n[e]){n[e]=[];var s=i.length;t.innerHTML+="\n"+e+" {animation: 0.1s element-queries;}",t.innerHTML+="\n"+e+" > .resize-sensor {min-width: "+s+"px;}",i.push(e)}n[e].push({mode:r,property:o,value:a})}function c(e){var t;if(document.querySelectorAll&&(t=e?e.querySelectorAll.bind(e):document.querySelectorAll.bind(document)),!t&&"undefined"!=typeof $$&&(t=$$),!t&&"undefined"!=typeof jQuery&&(t=jQuery),!t)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return t}function l(t){var n=[],i=[],r=[],o=0,a=-1,s=[];for(var u in t.children)if(t.children.hasOwnProperty(u)&&t.children[u].tagName&&"img"===t.children[u].tagName.toLowerCase()){n.push(t.children[u]);var c=t.children[u].getAttribute("min-width")||t.children[u].getAttribute("data-min-width"),l=t.children[u].getAttribute("data-src")||t.children[u].getAttribute("url");r.push(l),i.push({minWidth:c}),c?t.children[u].style.display="none":(o=n.length-1,t.children[u].style.display="block")}function h(){var e,u=!1;for(e in n)!n.hasOwnProperty(e)||i[e].minWidth&&t.offsetWidth>i[e].minWidth&&(u=e);if(u||(u=o),a!==u)if(s[u])n[a].style.display="none",n[u].style.display="block",a=u;else{var c=new Image;c.onload=function(){n[u].src=r[u],n[a].style.display="none",n[u].style.display="block",s[u]=!0,a=u},c.src=r[u]}else n[u].src=r[u]}a=o,t.resizeSensorInstance=new e(t,h),h()}var h=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,d=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function f(e){var t,n,i,r;for(e=e.replace(/'/g,'"');null!==(t=h.exec(e));)for(n=t[1]+t[3],i=t[2];null!==(r=d.exec(i));)u(n,r[1],r[2],r[3])}function p(e){var t="";if(e)if("string"==typeof e)(-1!==(e=e.toLowerCase()).indexOf("min-width")||-1!==e.indexOf("max-width"))&&f(e);else for(var n=0,i=e.length;n img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",t.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(t),v=!0);for(var r=0,o=document.styleSheets.length;r0&&a.length>r&&!a.warned){a.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=a.length,console&&console.warn&&console.warn(s)}return e}function E(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function O(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=E.bind(i);return r.listener=n,i.wrapFn=r,r}function T(e,t,n){var i=e._events;if(void 0===i)return[];var r=i[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(o=t[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var s=r[e];if(void 0===s)return!1;if("function"==typeof s)b(s,this,t);else{var u=s.length,c=P(s,u);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){a=n[o].listener,r=o;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1=0;i--)this.removeListener(e,t[i]);return this},w.prototype.listeners=function(e){return T(this,e,!0)},w.prototype.rawListeners=function(e){return T(this,e,!1)},w.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):A.call(e,t)},w.prototype.listenerCount=A,w.prototype.eventNames=function(){return this._eventsCount>0?g(this._events):[]},I.prototype.next=function(){if(this.done)return{done:!0};var e=this._next();return e.done&&(this.done=!0),e},"undefined"!=typeof Symbol&&(I.prototype[Symbol.iterator]=function(){return this}),I.of=function(){var e=arguments,t=e.length,n=0;return new I(function(){return n>=t?{done:!0}:{done:!1,value:e[n++]}})},I.empty=function(){var e=new I(null);return e.done=!0,e},I.is=function(e){return e instanceof I||"object"==typeof e&&null!==e&&"function"==typeof e.next};var R=I,D=function(e,t){for(var n,i=arguments.length>1?t:1/0,r=i!==1/0?new Array(i):[],o=0;;){if(o===i)return r;if((n=e.next()).done)return o!==t?r.slice(0,o):r;r[o++]=n.value}},N=function(e){function n(t,n){var i;return(i=e.call(this)||this).name="GraphError",i.message=t||"",i.data=n||{},i}return t(n,e),n}(a(Error)),L=function(e){function n(t,i){var r;return(r=e.call(this,t,i)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(s(r),n.prototype.constructor),r}return t(n,e),n}(N),j=function(e){function n(t,i){var r;return(r=e.call(this,t,i)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(s(r),n.prototype.constructor),r}return t(n,e),n}(N),F=function(e){function n(t,i){var r;return(r=e.call(this,t,i)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(s(r),n.prototype.constructor),r}return t(n,e),n}(N);function B(e,t){this.key=e,this.attributes=t,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function V(e,t){this.key=e,this.attributes=t,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function z(e,t){this.key=e,this.attributes=t,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function U(e,t,n,i,r,o){this.key=t,this.attributes=o,this.undirected=e,this.source=i,this.target=r,this.generatedKey=n}function H(e,t,n,i,r,o,a){var s,u,c="out",l="in";if(t&&(c=l="undirected"),e.multi){if(void 0===(u=(s=o[c])[r])&&(u=new Set,s[r]=u),u.add(n),i===r&&t)return;void 0===(s=a[l])[i]&&(s[i]=u)}else{if(o[c][r]=n,i===r&&t)return;a[l][i]=n}}function G(e,t,n){var i=e.multi,r=n.source,o=n.target,a=r.key,s=o.key,u=r[t?"undirected":"out"],c=t?"undirected":"in";if(s in u)if(i){var l=u[s];1===l.size?(delete u[s],delete o[c][a]):l.delete(n)}else delete u[s];i||delete o[c][a]}V.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},z.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var W=[{name:function(e){return"get".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return r.attributes[i]}}},{name:function(e){return"get".concat(e,"Attributes")},attacher:function(e,t,n){e.prototype[t]=function(e){var i;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var r=""+e,o=""+arguments[1];if(!(i=c(this,r,o,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(r,'" - "').concat(o,'").'))}else if(!(i=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&i.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return i.attributes}}},{name:function(e){return"has".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return r.attributes.hasOwnProperty(i)}}},{name:function(e){return"set".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i,r){var o;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var a=""+e,s=""+i;if(i=arguments[2],r=arguments[3],!(o=c(this,a,s,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(a,'" - "').concat(s,'").'))}else if(!(o=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&o.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return o.attributes[i]=r,this.emit("edgeAttributesUpdated",{key:o.key,type:"set",attributes:o.attributes,name:i}),this}}},{name:function(e){return"update".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i,r){var o;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var a=""+e,s=""+i;if(i=arguments[2],r=arguments[3],!(o=c(this,a,s,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(a,'" - "').concat(s,'").'))}else if(!(o=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("function"!=typeof r)throw new L("Graph.".concat(t,": updater should be a function."));if("mixed"!==n&&o.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return o.attributes[i]=r(o.attributes[i]),this.emit("edgeAttributesUpdated",{key:o.key,type:"set",attributes:o.attributes,name:i}),this}}},{name:function(e){return"remove".concat(e,"Attribute")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return delete r.attributes[i],this.emit("edgeAttributesUpdated",{key:r.key,type:"remove",attributes:r.attributes,name:i}),this}}},{name:function(e){return"replace".concat(e,"Attributes")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(t,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return r.attributes=i,this.emit("edgeAttributesUpdated",{key:r.key,type:"replace",attributes:r.attributes}),this}}},{name:function(e){return"merge".concat(e,"Attributes")},attacher:function(e,t,n){e.prototype[t]=function(e,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(t,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(t,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+e,a=""+i;if(i=arguments[2],!(r=c(this,o,a,n)))throw new j("Graph.".concat(t,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(r=this._edges.get(e=""+e)))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(t,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(t,': could not find the "').concat(e,'" ').concat(n," edge in the graph."));return u(r.attributes,i),this.emit("edgeAttributesUpdated",{key:r.key,type:"merge",attributes:r.attributes,data:i}),this}}}],q=R,X=function(){var e,t=arguments,n=-1;return new q(function i(){if(!e){if(++n>=t.length)return{done:!0};e=t[n]}var r=e.next();return r.done?(e=null,i()):r})},Y=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function K(e,t){for(var n in t)e.push(t[n].key)}function $(e,t){for(var n in t)t[n].forEach(function(t){return e.push(t.key)})}function Q(e,t,n){for(var i in e)if(i!==n){var r=e[i];t(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey)}}function Z(e,t,n){for(var i in e)i!==n&&e[i].forEach(function(e){return t(e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes,e.undirected,e.generatedKey)})}function J(e,t,n){for(var i in e)if(i!==n){var r=e[i];if(t(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey))return!0}return!1}function ee(e,t,n){var i,r,o,a,s;for(var u in e)if(u!==n)for(i=e[u].values();!0!==(r=i.next()).done;)if(a=(o=r.value).source,t(o.key,o.attributes,a.key,(s=o.target).key,a.attributes,s.attributes,o.undirected,o.generatedKey))return!0;return!1}function te(e,t){var n=Object.keys(e),i=n.length,r=null,o=0;return new R(function a(){var s;if(r){var u=r.next();if(u.done)return r=null,o++,a();s=u.value}else{if(o>=i)return{done:!0};var c=n[o];if(c===t)return o++,a();if((s=e[c])instanceof Set)return r=s.values(),a();o++}return{done:!1,value:[s.key,s.attributes,s.source.key,s.target.key,s.source.attributes,s.target.attributes]}})}function ne(e,t,n){var i=t[n];i&&e.push(i.key)}function ie(e,t,n){var i=t[n];i&&i.forEach(function(t){return e.push(t.key)})}function re(e,t,n){var i=e[t];if(i){var r=i.source,o=i.target;n(i.key,i.attributes,r.key,o.key,r.attributes,o.attributes,i.undirected,i.generatedKey)}}function oe(e,t,n){var i=e[t];i&&i.forEach(function(e){return n(e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes,e.undirected,e.generatedKey)})}function ae(e,t,n){var i=e[t];if(i){var r=i.source,o=i.target;return n(i.key,i.attributes,r.key,o.key,r.attributes,o.attributes,i.undirected,i.generatedKey)}}function se(e,t,n){var i=e[t];if(i){for(var r,o,a=i.values();!0!==(r=a.next()).done;)if(n((o=r.value).key,o.attributes,o.source.key,o.target.key,o.source.attributes,o.target.attributes,o.undirected,o.generatedKey))return!0;return!1}}function ue(e,t){var n=e[t];if(n instanceof Set){var i=n.values();return new R(function(){var e=i.next();if(e.done)return e;var t=e.value;return{done:!1,value:[t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes]}})}return R.of([n.key,n.attributes,n.source.key,n.target.key,n.source.attributes,n.target.attributes])}function ce(e,t){if(0===e.size)return[];if("mixed"===t||t===e.type)return"function"==typeof Array.from?Array.from(e._edges.keys()):D(e._edges.keys(),e._edges.size);for(var n,i,r=new Array("undirected"===t?e.undirectedSize:e.directedSize),o="undirected"===t,a=e._edges.values(),s=0;!0!==(n=a.next()).done;)(i=n.value).undirected===o&&(r[s++]=i.key);return r}function le(e,t,n){if(0!==e.size)for(var i,r,o="mixed"!==t&&t!==e.type,a="undirected"===t,s=e._edges.values();!0!==(i=s.next()).done;)if(r=i.value,!o||r.undirected===a){var u=r.source,c=r.target;n(r.key,r.attributes,u.key,c.key,u.attributes,c.attributes,r.undirected,r.generatedKey)}}function he(e,t,n){if(0!==e.size)for(var i,r,o="mixed"!==t&&t!==e.type,a="undirected"===t,s=e._edges.values();!0!==(i=s.next()).done;)if(r=i.value,!o||r.undirected===a){var u=r.source,c=r.target;if(n(r.key,r.attributes,u.key,c.key,u.attributes,c.attributes,r.undirected,r.generatedKey))break}}function de(e,t){if(0===e.size)return R.empty();var n="mixed"!==t&&t!==e.type,i="undirected"===t,r=e._edges.values();return new R(function(){for(var e,t;;){if((e=r.next()).done)return e;if(t=e.value,!n||t.undirected===i)break}return{value:[t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes],done:!1}})}function fe(e,t,n,i){var r=[],o=e?$:K;return"undirected"!==t&&("out"!==n&&o(r,i.in),"in"!==n&&o(r,i.out),!n&&i.directedSelfLoops>0&&r.splice(r.lastIndexOf(i.key),1)),"directed"!==t&&o(r,i.undirected),r}function pe(e,t,n,i,r){var o=e?Z:Q;"undirected"!==t&&("out"!==n&&o(i.in,r),"in"!==n&&o(i.out,r,n?null:i.key)),"directed"!==t&&o(i.undirected,r)}function ve(e,t,n,i,r){var o=e?ee:J;"undirected"!==t&&("out"!==n&&o(i.in,r)||"in"!==n&&o(i.out,r,n?null:i.key))||"directed"===t||o(i.undirected,r)}function ge(e,t,n){var i=R.empty();return"undirected"!==e&&("out"!==t&&void 0!==n.in&&(i=X(i,te(n.in))),"in"!==t&&void 0!==n.out&&(i=X(i,te(n.out,t?null:n.key)))),"directed"!==e&&void 0!==n.undirected&&(i=X(i,te(n.undirected))),i}function me(e,t,n,i,r){var o=t?ie:ne,a=[];return"undirected"!==e&&(void 0!==i.in&&"out"!==n&&o(a,i.in,r),void 0!==i.out&&"in"!==n&&o(a,i.out,r),!n&&i.directedSelfLoops>0&&a.splice(a.lastIndexOf(i.key),1)),"directed"!==e&&void 0!==i.undirected&&o(a,i.undirected,r),a}function ye(e,t,n,i,r,o){var a=t?oe:re;"undirected"!==e&&(void 0!==i.in&&"out"!==n&&a(i.in,r,o),i.key!==r&&void 0!==i.out&&"in"!==n&&a(i.out,r,o)),"directed"!==e&&void 0!==i.undirected&&a(i.undirected,r,o)}function be(e,t,n,i,r,o){var a=t?se:ae;"undirected"!==e&&(void 0!==i.in&&"out"!==n&&a(i.in,r,o)||i.key!==r&&void 0!==i.out&&"in"!==n&&a(i.out,r,o,n?null:i.key))||"directed"===e||void 0===i.undirected||a(i.undirected,r,o)}function _e(e,t,n,i){var r=R.empty();return"undirected"!==e&&(void 0!==n.in&&"out"!==t&&i in n.in&&(r=X(r,ue(n.in,i))),void 0!==n.out&&"in"!==t&&i in n.out&&(r=X(r,ue(n.out,i)))),"directed"!==e&&void 0!==n.undirected&&i in n.undirected&&(r=X(r,ue(n.undirected,i))),r}var we=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function ke(e,t){if(void 0!==t)for(var n in t)e.add(n)}function xe(e,t,n){if("mixed"!==e){if("undirected"===e)return Object.keys(n.undirected);if("string"==typeof t)return Object.keys(n[t])}var i=new Set;return"undirected"!==e&&("out"!==t&&ke(i,n.in),"in"!==t&&ke(i,n.out)),"directed"!==e&&ke(i,n.undirected),D(i.values(),i.size)}function Se(e,t,n){for(var i in t){var r=t[i];r instanceof Set&&(r=r.values().next().value);var o=r.source,a=o===e?r.target:o;n(a.key,a.attributes)}}function Ce(e,t,n,i){for(var r in n){var o=n[r];o instanceof Set&&(o=o.values().next().value);var a=o.source,s=a===t?o.target:a;e.has(s.key)||(e.add(s.key),i(s.key,s.attributes))}}function Ee(e,t,n){for(var i in t){var r=t[i];r instanceof Set&&(r=r.values().next().value);var o=r.source,a=o===e?r.target:o;if(n(a.key,a.attributes))return!0}return!1}function Oe(e,t,n,i){for(var r in n){var o=n[r];o instanceof Set&&(o=o.values().next().value);var a=o.source,s=a===t?o.target:a;if(!e.has(s.key)&&(e.add(s.key),i(s.key,s.attributes)))return!0}return!1}function Te(e,t){var n=Object.keys(t),i=n.length,r=0;return new R(function(){if(r>=i)return{done:!0};var o=t[n[r++]];o instanceof Set&&(o=o.values().next().value);var a=o.source,s=a===e?o.target:a;return{done:!1,value:[s.key,s.attributes]}})}function Ae(e,t,n){var i=Object.keys(n),r=i.length,o=0;return new R(function a(){if(o>=r)return{done:!0};var s=n[i[o++]];s instanceof Set&&(s=s.values().next().value);var u=s.source,c=u===t?s.target:u;return e.has(c.key)?a():(e.add(c.key),{done:!1,value:[c.key,c.attributes]})})}function Pe(e,t,n,i,r){var o=e._nodes.get(i);if("undirected"!==t){if("out"!==n&&void 0!==o.in)for(var a in o.in)if(a===r)return!0;if("in"!==n&&void 0!==o.out)for(var s in o.out)if(s===r)return!0}if("directed"!==t&&void 0!==o.undirected)for(var u in o.undirected)if(u===r)return!0;return!1}function Me(e,t,n){for(var i,r,o,a,s,u,c,l=t._nodes.values(),h=t.type;!0!==(i=l.next()).done;){if(r=i.value,"undirected"!==h)for(o in a=r.out)if(u=(s=a[o]).target,c=n(r.key,u.key,r.attributes,u.attributes,s.key,s.attributes,s.undirected,s.generatedKey),e&&c)return;if("directed"!==h)for(o in a=r.undirected)if((u=(s=a[o]).target).key!==o&&(u=s.source),c=n(r.key,u.key,r.attributes,u.attributes,s.key,s.attributes,s.undirected,s.generatedKey),e&&c)return}}function Ie(e,t,n){for(var i,r,o,a,s,u,c,l,h,d=t._nodes.values(),f=t.type;!0!==(i=d.next()).done;){if(r=i.value,"undirected"!==f)for(o in u=r.out)for(a=u[o].values();!0!==(s=a.next()).done;)if(l=(c=s.value).target,h=n(r.key,l.key,r.attributes,l.attributes,c.key,c.attributes,c.undirected,c.generatedKey),e&&h)return;if("directed"!==f)for(o in u=r.undirected)for(a=u[o].values();!0!==(s=a.next()).done;)if((l=(c=s.value).target).key!==o&&(l=c.source),h=n(r.key,l.key,r.attributes,l.attributes,c.key,c.attributes,c.undirected,c.generatedKey),e&&h)return}}function Re(e,t){var n={key:e};return d(t.attributes)||(n.attributes=u({},t.attributes)),n}function De(e,t){var n={source:t.source.key,target:t.target.key};return t.generatedKey||(n.key=e),d(t.attributes)||(n.attributes=u({},t.attributes)),t.undirected&&(n.undirected=!0),n}function Ne(e){return h(e)?"key"in e?!("attributes"in e)||h(e.attributes)&&null!==e.attributes?null:"invalid-attributes":"no-key":"not-object"}function Le(e){return h(e)?"source"in e?"target"in e?!("attributes"in e)||h(e.attributes)&&null!==e.attributes?"undirected"in e&&"boolean"!=typeof e.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var je=new Set(["directed","undirected","mixed"]),Fe=new Set(["domain","_events","_eventsCount","_maxListeners"]),Be={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Ve(e,t,n){var i=new e.NodeDataClass(t,n);return e._nodes.set(t,i),e.emit("nodeAdded",{key:t,attributes:n}),i}function ze(e,t,n,i,r,o,a,s){if(!i&&"undirected"===e.type)throw new F("Graph.".concat(t,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===e.type)throw new F("Graph.".concat(t,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(s&&!h(s))throw new L("Graph.".concat(t,': invalid attributes. Expecting an object but got "').concat(s,'"'));if(o=""+o,a=""+a,s=s||{},!e.allowSelfLoops&&o===a)throw new F("Graph.".concat(t,': source & target are the same ("').concat(o,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var u=e._nodes.get(o),c=e._nodes.get(a);if(!u)throw new j("Graph.".concat(t,': source node "').concat(o,'" not found.'));if(!c)throw new j("Graph.".concat(t,': target node "').concat(a,'" not found.'));var l={key:null,undirected:i,source:o,target:a,attributes:s};if(n&&(r=e._edgeKeyGenerator(l)),e._edges.has(r=""+r))throw new F("Graph.".concat(t,': the "').concat(r,'" edge already exists in the graph.'));if(!e.multi&&(i?void 0!==u.undirected[a]:void 0!==u.out[a]))throw new F("Graph.".concat(t,': an edge linking "').concat(o,'" to "').concat(a,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var d=new U(i,r,n,u,c,s);return e._edges.set(r,d),o===a?i?(u.undirectedSelfLoops++,e._undirectedSelfLoopCount++):(u.directedSelfLoops++,e._directedSelfLoopCount++):i?(u.undirectedDegree++,c.undirectedDegree++):(u.outDegree++,c.inDegree++),H(e,i,d,o,a,u,c),i?e._undirectedSize++:e._directedSize++,l.key=r,e.emit("edgeAdded",l),r}function Ue(e,t,n,i,r,o,a,s,c){if(!i&&"undirected"===e.type)throw new F("Graph.".concat(t,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===e.type)throw new F("Graph.".concat(t,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(s)if(c){if("function"!=typeof s)throw new L("Graph.".concat(t,': invalid updater function. Expecting a function but got "').concat(s,'"'))}else if(!h(s))throw new L("Graph.".concat(t,': invalid attributes. Expecting an object but got "').concat(s,'"'));var l;if(o=""+o,a=""+a,c&&(l=s,s=void 0),!e.allowSelfLoops&&o===a)throw new F("Graph.".concat(t,': source & target are the same ("').concat(o,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var d,f,p=e._nodes.get(o),v=e._nodes.get(a);if(!n&&(d=e._edges.get(r))){if(d.source.key!==o||d.target.key!==a||i&&(d.source.key!==a||d.target.key!==o))throw new F("Graph.".concat(t,': inconsistency detected when attempting to merge the "').concat(r,'" edge with "').concat(o,'" source & "').concat(a,'" target vs. ("').concat(d.source.key,'", "').concat(d.target.key,'").'));f=d}if(f||e.multi||!p||(f=i?p.undirected[a]:p.out[a]),f)return(c?l:s)?(c?(f.attributes=l(f.attributes),e.emit("edgeAttributesUpdated",{type:"replace",key:f.key,attributes:f.attributes})):(u(f.attributes,s),e.emit("edgeAttributesUpdated",{type:"merge",key:f.key,attributes:f.attributes,data:s})),f.key):f.key;s=s||{},c&&l&&(s=l(s));var g={key:null,undirected:i,source:o,target:a,attributes:s};if(n&&(r=e._edgeKeyGenerator(g)),e._edges.has(r=""+r))throw new F("Graph.".concat(t,': the "').concat(r,'" edge already exists in the graph.'));return p||(p=Ve(e,o,{}),o===a&&(v=p)),v||(v=Ve(e,a,{})),d=new U(i,r,n,p,v,s),e._edges.set(r,d),o===a?i?(p.undirectedSelfLoops++,e._undirectedSelfLoopCount++):(p.directedSelfLoops++,e._directedSelfLoopCount++):i?(p.undirectedDegree++,v.undirectedDegree++):(p.outDegree++,v.inDegree++),H(e,i,d,o,a,p,v),i?e._undirectedSize++:e._directedSize++,g.key=r,e.emit("edgeAdded",g),r}var He,Ge=function(e){function n(t){var n;if(n=e.call(this)||this,(t=u({},Be,t)).edgeKeyGenerator&&"function"!=typeof t.edgeKeyGenerator)throw new L("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(t.edgeKeyGenerator,'".'));if("boolean"!=typeof t.multi)throw new L("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(t.multi,'".'));if(!je.has(t.type))throw new L('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(t.type,'".'));if("boolean"!=typeof t.allowSelfLoops)throw new L("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(t.allowSelfLoops,'".'));var i,r="mixed"===t.type?B:"directed"===t.type?V:z;return f(s(n),"NodeDataClass",r),f(s(n),"_attributes",{}),f(s(n),"_nodes",new Map),f(s(n),"_edges",new Map),f(s(n),"_directedSize",0),f(s(n),"_undirectedSize",0),f(s(n),"_directedSelfLoopCount",0),f(s(n),"_undirectedSelfLoopCount",0),f(s(n),"_edgeKeyGenerator",t.edgeKeyGenerator||(i=0,function(){return i++})),f(s(n),"_options",t),Fe.forEach(function(e){return f(s(n),e,n[e])}),p(s(n),"order",function(){return n._nodes.size}),p(s(n),"size",function(){return n._edges.size}),p(s(n),"directedSize",function(){return n._directedSize}),p(s(n),"undirectedSize",function(){return n._undirectedSize}),p(s(n),"selfLoopCount",function(){return n._directedSelfLoopCount+n._undirectedSelfLoopCount}),p(s(n),"directedSelfLoopCount",function(){return n._directedSelfLoopCount}),p(s(n),"undirectedSelfLoopCount",function(){return n._undirectedSelfLoopCount}),p(s(n),"multi",n._options.multi),p(s(n),"type",n._options.type),p(s(n),"allowSelfLoops",n._options.allowSelfLoops),p(s(n),"implementation",function(){return"graphology"}),n}t(n,e);var i=n.prototype;return i.hasNode=function(e){return this._nodes.has(""+e)},i.hasDirectedEdge=function(e,t){if("undirected"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+e);return!!n&&!n.undirected}if(2===arguments.length){t=""+t;var i=this._nodes.get(e=""+e);if(!i)return!1;var r=i.out[t];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasUndirectedEdge=function(e,t){if("directed"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+e);return!!n&&n.undirected}if(2===arguments.length){t=""+t;var i=this._nodes.get(e=""+e);if(!i)return!1;var r=i.undirected[t];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasEdge=function(e,t){if(1===arguments.length)return this._edges.has(""+e);if(2===arguments.length){t=""+t;var n=this._nodes.get(e=""+e);if(!n)return!1;var i=void 0!==n.out&&n.out[t];return i||(i=void 0!==n.undirected&&n.undirected[t]),!(!i||this.multi&&!i.size)}throw new L("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.directedEdge=function(e,t){if("undirected"!==this.type){if(e=""+e,t=""+t,this.multi)throw new F("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var n=this._nodes.get(e);if(!n)throw new j('Graph.directedEdge: could not find the "'.concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j('Graph.directedEdge: could not find the "'.concat(t,'" target node in the graph.'));var i=n.out&&n.out[t]||void 0;return i?i.key:void 0}},i.undirectedEdge=function(e,t){if("directed"!==this.type){if(e=""+e,t=""+t,this.multi)throw new F("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var n=this._nodes.get(e);if(!n)throw new j('Graph.undirectedEdge: could not find the "'.concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j('Graph.undirectedEdge: could not find the "'.concat(t,'" target node in the graph.'));var i=n.undirected&&n.undirected[t]||void 0;return i?i.key:void 0}},i.edge=function(e,t){if(this.multi)throw new F("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");t=""+t;var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.edge: could not find the "'.concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j('Graph.edge: could not find the "'.concat(t,'" target node in the graph.'));var i=n.out&&n.out[t]||n.undirected&&n.undirected[t]||void 0;if(i)return i.key},i.inDegree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.inDegree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.inDegree: could not find the "'.concat(e,'" node in the graph.'));return"undirected"===this.type?0:n.inDegree+(t?n.directedSelfLoops:0)},i.outDegree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.outDegree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.outDegree: could not find the "'.concat(e,'" node in the graph.'));return"undirected"===this.type?0:n.outDegree+(t?n.directedSelfLoops:0)},i.directedDegree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.directedDegree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.directedDegree: could not find the "'.concat(e,'" node in the graph.'));if("undirected"===this.type)return 0;var i=t?n.directedSelfLoops:0;return n.inDegree+i+(n.outDegree+i)},i.undirectedDegree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.undirectedDegree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.undirectedDegree: could not find the "'.concat(e,'" node in the graph.'));return"directed"===this.type?0:n.undirectedDegree+2*(t?n.undirectedSelfLoops:0)},i.degree=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof t)throw new L('Graph.degree: Expecting a boolean but got "'.concat(t,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.degree: could not find the "'.concat(e,'" node in the graph.'));var i=0,r=0;return"directed"!==this.type&&(t&&(r=n.undirectedSelfLoops),i+=n.undirectedDegree+2*r),"undirected"!==this.type&&(t&&(r=n.directedSelfLoops),i+=n.inDegree+n.outDegree+2*r),i},i.source=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.source: could not find the "'.concat(e,'" edge in the graph.'));return t.source.key},i.target=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.target: could not find the "'.concat(e,'" edge in the graph.'));return t.target.key},i.extremities=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.extremities: could not find the "'.concat(e,'" edge in the graph.'));return[t.source.key,t.target.key]},i.opposite=function(e,t){e=""+e;var n=this._edges.get(t=""+t);if(!n)throw new j('Graph.opposite: could not find the "'.concat(t,'" edge in the graph.'));var i=n.source.key,r=n.target.key;if(e!==i&&e!==r)throw new j('Graph.opposite: the "'.concat(e,'" node is not attached to the "').concat(t,'" edge (').concat(i,", ").concat(r,")."));return e===i?r:i},i.hasExtremity=function(e,t){t=""+t;var n=this._edges.get(e=""+e);if(!n)throw new j('Graph.hasExtremity: could not find the "'.concat(e,'" edge in the graph.'));return n.source.key===t||n.target.key===t},i.isUndirected=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.isUndirected: could not find the "'.concat(e,'" edge in the graph.'));return t.undirected},i.isDirected=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.isDirected: could not find the "'.concat(e,'" edge in the graph.'));return!t.undirected},i.isSelfLoop=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.isSelfLoop: could not find the "'.concat(e,'" edge in the graph.'));return t.source===t.target},i.hasGeneratedKey=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.hasGeneratedKey: could not find the "'.concat(e,'" edge in the graph.'));return t.generatedKey},i.addNode=function(e,t){return function(e,t,n){if(n&&!h(n))throw new L('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(n,'"'));if(n=n||{},e._nodes.has(t=""+t))throw new F('Graph.addNode: the "'.concat(t,'" node already exist in the graph.'));var i=new e.NodeDataClass(t,n);return e._nodes.set(t,i),e.emit("nodeAdded",{key:t,attributes:n}),i}(this,e,t).key},i.mergeNode=function(e,t){if(t&&!h(t))throw new L('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(t,'"'));t=t||{};var n=this._nodes.get(e=""+e);return n?(t&&(u(n.attributes,t),this.emit("nodeAttributesUpdated",{type:"merge",key:e,attributes:n.attributes,data:t})),e):(n=new this.NodeDataClass(e,t),this._nodes.set(e,n),this.emit("nodeAdded",{key:e,attributes:t}),e)},i.updateNode=function(e,t){if(t&&"function"!=typeof t)throw new L('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(t,'"'));var n=this._nodes.get(e=""+e);if(n)return t&&(n.attributes=t(n.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:e,attributes:n.attributes})),e;var i=t?t({}):{};return n=new this.NodeDataClass(e,i),this._nodes.set(e,n),this.emit("nodeAdded",{key:e,attributes:i}),e},i.dropNode=function(e){var t=this,n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.dropNode: could not find the "'.concat(e,'" node in the graph.'));this.forEachEdge(e,function(e){t.dropEdge(e)}),this._nodes.delete(e),this.emit("nodeDropped",{key:e,attributes:n.attributes})},i.dropEdge=function(e){var t;if(arguments.length>1){var n=""+arguments[0],i=""+arguments[1];if(!(t=c(this,n,i,this.type)))throw new j('Graph.dropEdge: could not find the "'.concat(n,'" -> "').concat(i,'" edge in the graph.'))}else if(!(t=this._edges.get(e=""+e)))throw new j('Graph.dropEdge: could not find the "'.concat(e,'" edge in the graph.'));this._edges.delete(t.key);var r=t.source,o=t.target,a=t.attributes,s=t.undirected;return r===o?s?(r.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(r.directedSelfLoops--,this._directedSelfLoopCount--):s?(r.undirectedDegree--,o.undirectedDegree--):(r.outDegree--,o.inDegree--),G(this,s,t),s?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:e,attributes:a,source:r.key,target:o.key,undirected:s}),this},i.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},i.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},i.getAttribute=function(e){return this._attributes[e]},i.getAttributes=function(){return this._attributes},i.hasAttribute=function(e){return this._attributes.hasOwnProperty(e)},i.setAttribute=function(e,t){return this._attributes[e]=t,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:e}),this},i.updateAttribute=function(e,t){if("function"!=typeof t)throw new L("Graph.updateAttribute: updater should be a function.");return this._attributes[e]=t(this._attributes[e]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:e}),this},i.removeAttribute=function(e){return delete this._attributes[e],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:e}),this},i.replaceAttributes=function(e){if(!h(e))throw new L("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=e,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},i.mergeAttributes=function(e){if(!h(e))throw new L("Graph.mergeAttributes: provided attributes are not a plain object.");return u(this._attributes,e),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:e}),this},i.getNodeAttribute=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.getNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));return n.attributes[t]},i.getNodeAttributes=function(e){var t=this._nodes.get(e=""+e);if(!t)throw new j('Graph.getNodeAttributes: could not find the "'.concat(e,'" node in the graph.'));return t.attributes},i.hasNodeAttribute=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));return n.attributes.hasOwnProperty(t)},i.setNodeAttribute=function(e,t,n){var i=this._nodes.get(e=""+e);if(!i)throw new j('Graph.setNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return i.attributes[t]=n,this.emit("nodeAttributesUpdated",{key:e,type:"set",attributes:i.attributes,name:t}),this},i.updateNodeAttribute=function(e,t,n){var i=this._nodes.get(e=""+e);if(!i)throw new j('Graph.updateNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof n)throw new L("Graph.updateAttribute: updater should be a function.");var r=i.attributes,o=n(r[t]);return r[t]=o,this.emit("nodeAttributesUpdated",{key:e,type:"set",attributes:i.attributes,name:t}),this},i.removeNodeAttribute=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(e,'" node in the graph.'));return delete n.attributes[t],this.emit("nodeAttributesUpdated",{key:e,type:"remove",attributes:n.attributes,name:t}),this},i.replaceNodeAttributes=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.replaceNodeAttributes: could not find the "'.concat(e,'" node in the graph.'));if(!h(t))throw new L("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return n.attributes=t,this.emit("nodeAttributesUpdated",{key:e,type:"replace",attributes:n.attributes}),this},i.mergeNodeAttributes=function(e,t){var n=this._nodes.get(e=""+e);if(!n)throw new j('Graph.mergeNodeAttributes: could not find the "'.concat(e,'" node in the graph.'));if(!h(t))throw new L("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return u(n.attributes,t),this.emit("nodeAttributesUpdated",{key:e,type:"merge",attributes:n.attributes,data:t}),this},i.updateEachNodeAttributes=function(e,t){if("function"!=typeof e)throw new L("Graph.updateEachNodeAttributes: expecting an updater function.");if(t&&!v(t))throw new L("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._nodes.values();!0!==(n=r.next()).done;)(i=n.value).attributes=e(i.key,i.attributes);this.emit("eachNodeAttributesUpdated",{hints:t||null})},i.updateEachEdgeAttributes=function(e,t){if("function"!=typeof e)throw new L("Graph.updateEachEdgeAttributes: expecting an updater function.");if(t&&!v(t))throw new L("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._edges.values();!0!==(n=r.next()).done;)(i=n.value).attributes=e(i.key,i.attributes);this.emit("eachEdgeAttributesUpdated",{hints:t||null})},i.forEach=function(e){if("function"!=typeof e)throw new L("Graph.forEach: expecting a callback.");this.multi?Ie(!1,this,e):Me(!1,this,e)},i.forEachUntil=function(e){if("function"!=typeof e)throw new L("Graph.forEach: expecting a callback.");this.multi?Ie(!0,this,e):Me(!0,this,e)},i.adjacency=function(){return this.multi?(f=(u=this)._nodes.values(),p=u.type,v="outer",g=null,new R(function e(){var t;if("outer"===v)return!0===(t=f.next()).done?t:(c=t.value,v="directed",e());if("directed"===v)return"undirected"===p?(v="undirected",e()):(h=c.out,l=Object.keys(c.out),d=0,v="inner-directed",e());if("undirected"===v){if("directed"===p)return v="outer",e();h=c.undirected,l=Object.keys(c.undirected),d=0,v="inner-undirected"}if(!g&&d>=l.length)return v="inner-undirected"===v?"outer":"undirected",e();if(!g){var n=l[d++];return g=h[n].values(),e()}if((t=g.next()).done)return g=null,e();var i=t.value,r=i.target;return"inner-undirected"===v&&r.key===c.key&&(r=i.source),{done:!1,value:[c.key,r.key,c.attributes,r.attributes,i.key,i.attributes]}})):(o=(e=this)._nodes.values(),a=e.type,s="outer",new R(function e(){var u;if("outer"===s)return!0===(u=o.next()).done?u:(t=u.value,s="directed",e());if("directed"===s)return"undirected"===a?(s="undirected",e()):(i=t.out,n=Object.keys(t.out),r=0,s="inner-directed",e());if("undirected"===s){if("directed"===a)return s="outer",e();i=t.undirected,n=Object.keys(t.undirected),r=0,s="inner-undirected"}if(r>=n.length)return s="inner-undirected"===s?"outer":"undirected",e();var c=n[r++],l=i[c],h=l.target;return"inner-undirected"===s&&h.key===t.key&&(h=l.source),{done:!1,value:[t.key,h.key,t.attributes,h.attributes,l.key,l.attributes]}}));var e,t,n,i,r,o,a,s,u,c,l,h,d,f,p,v,g},i.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):D(this._nodes.keys(),this._nodes.size)},i.forEachNode=function(e){if("function"!=typeof e)throw new L("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(t,n){e(n,t.attributes)})},i.forEachNodeUntil=function(e){if("function"!=typeof e)throw new L("Graph.forEachNode: expecting a callback.");for(var t,n,i=this._nodes.values();!0!==(t=i.next())&&!e((n=t.value).key,n.attributes););},i.nodeEntries=function(){var e=this._nodes.values();return new R(function(){var t=e.next();if(t.done)return t;var n=t.value;return{value:[n.key,n.attributes],done:!1}})},i.exportNode=function(e){var t=this._nodes.get(e=""+e);if(!t)throw new j('Graph.exportNode: could not find the "'.concat(e,'" node in the graph.'));return Re(e,t)},i.exportEdge=function(e){var t=this._edges.get(e=""+e);if(!t)throw new j('Graph.exportEdge: could not find the "'.concat(e,'" edge in the graph.'));return De(e,t)},i.export=function(){var e=new Array(this._nodes.size),t=0;this._nodes.forEach(function(n,i){e[t++]=Re(i,n)});var n=new Array(this._edges.size);return t=0,this._edges.forEach(function(e,i){n[t++]=De(i,e)}),{attributes:this.getAttributes(),nodes:e,edges:n,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},i.importNode=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Ne(e);if(n){if("not-object"===n)throw new L('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===n)throw new L("Graph.importNode: no key provided.");if("invalid-attributes"===n)throw new L("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var i=e.key,r=e.attributes,o=void 0===r?{}:r;return t?this.mergeNode(i,o):this.addNode(i,o),this},i.importEdge=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Le(e);if(n){if("not-object"===n)throw new L('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===n)throw new L("Graph.importEdge: missing souce.");if("no-target"===n)throw new L("Graph.importEdge: missing target.");if("invalid-attributes"===n)throw new L("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===n)throw new L("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var i=e.source,r=e.target,o=e.attributes,a=void 0===o?{}:o,s=e.undirected,u=void 0!==s&&s;return"key"in e?(t?u?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:u?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,e.key,i,r,a):(t?u?this.mergeUndirectedEdge:this.mergeDirectedEdge:u?this.addUndirectedEdge:this.addDirectedEdge).call(this,i,r,a),this},i.import=function(e){var t,n,i,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(l(e))return this.import(e.export(),r),this;if(!h(e))throw new L("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(e.attributes){if(!h(e.attributes))throw new L("Graph.import: invalid attributes. Expecting a plain object.");r?this.mergeAttributes(e.attributes):this.replaceAttributes(e.attributes)}if(e.nodes){if(i=e.nodes,!Array.isArray(i))throw new L("Graph.import: invalid nodes. Expecting an array.");for(t=0,n=i.length;tn)){var a=new Set;a.add(t.undirected[o]),t.undirected[o]=a,e._nodes.get(o).undirected[n]=a}})),this;var e},i.clearIndex=function(){return this._nodes.forEach(function(e){void 0!==e.in&&(e.in={},e.out={}),void 0!==e.undirected&&(e.undirected={})}),this},i.toJSON=function(){return this.export()},i.toString=function(){return"[object Graph]"},i.inspect=function(){var e=this,t={};this._nodes.forEach(function(e,n){t[n]=e.attributes});var n={},i={};this._edges.forEach(function(t,r){var o=t.undirected?"--":"->",a="",s="(".concat(t.source.key,")").concat(o,"(").concat(t.target.key,")");t.generatedKey?e.multi&&(void 0===i[s]?i[s]=0:i[s]++,a+="".concat(i[s],". ")):a+="[".concat(r,"]: "),n[a+=s]=t.attributes});var r={};for(var o in this)this.hasOwnProperty(o)&&!Fe.has(o)&&"function"!=typeof this[o]&&(r[o]=this[o]);return r.attributes=this._attributes,r.nodes=t,r.edges=n,f(r,"constructor",this.constructor),r},n}(m.exports.EventEmitter);"undefined"!=typeof Symbol&&(Ge.prototype[Symbol.for("nodejs.util.inspect.custom")]=Ge.prototype.inspect),[{name:function(e){return"".concat(e,"Edge")},generateKey:!0},{name:function(e){return"".concat(e,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(e){return"".concat(e,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(e){return"".concat(e,"EdgeWithKey")}},{name:function(e){return"".concat(e,"DirectedEdgeWithKey")},type:"directed"},{name:function(e){return"".concat(e,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(e){["add","merge","update"].forEach(function(t){var n=e.name(t),i="add"===t?ze:Ue;Ge.prototype[n]=e.generateKey?function(r,o,a){return i(this,n,!0,"undirected"===(e.type||this.type),null,r,o,a,"update"===t)}:function(r,o,a,s){return i(this,n,!1,"undirected"===(e.type||this.type),r,o,a,s,"update"===t)}})}),"undefined"!=typeof Symbol&&(Ge.prototype[Symbol.iterator]=Ge.prototype.adjacency),He=Ge,W.forEach(function(e){var t=e.name,n=e.attacher;n(He,t("Edge"),"mixed"),n(He,t("DirectedEdge"),"directed"),n(He,t("UndirectedEdge"),"undirected")}),function(e){Y.forEach(function(t){var n,i,r,o;r=(n=t).type,o=n.direction,e.prototype[i=n.name]=function(e,t){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(!arguments.length)return ce(this,r);if(1===arguments.length){var n=this._nodes.get(e=""+e);if(void 0===n)throw new j("Graph.".concat(i,': could not find the "').concat(e,'" node in the graph.'));return fe(this.multi,"mixed"===r?this.type:r,o,n)}if(2===arguments.length){t=""+t;var a=this._nodes.get(e=""+e);if(!a)throw new j("Graph.".concat(i,': could not find the "').concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j("Graph.".concat(i,': could not find the "').concat(t,'" target node in the graph.'));return me(r,this.multi,o,a,t)}throw new L("Graph.".concat(i,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(e,t){var n=t.name,i=t.type,r=t.direction,o="forEach"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[o]=function(e,t,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return le(this,i,n=e);if(2===arguments.length){n=t;var a=this._nodes.get(e=""+e);if(void 0===a)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" node in the graph.'));return pe(this.multi,"mixed"===i?this.type:i,r,a,n)}if(3===arguments.length){t=""+t;var s=this._nodes.get(e=""+e);if(!s)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j("Graph.".concat(o,': could not find the "').concat(t,'" target node in the graph.'));return ye(i,this.multi,r,s,t,n)}throw new L("Graph.".concat(o,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(e,t),function(e,t){var n=t.name,i=t.type,r=t.direction,o="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";e.prototype[o]=function(e,t,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return he(this,i,n=e);if(2===arguments.length){n=t;var a=this._nodes.get(e=""+e);if(void 0===a)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" node in the graph.'));return ve(this.multi,"mixed"===i?this.type:i,r,a,n)}if(3===arguments.length){t=""+t;var s=this._nodes.get(e=""+e);if(!s)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j("Graph.".concat(o,': could not find the "').concat(t,'" target node in the graph.'));return be(i,this.multi,r,s,t,n)}throw new L("Graph.".concat(o,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(e,t),function(e,t){var n=t.type,i=t.direction,r=t.name.slice(0,-1)+"Entries";e.prototype[r]=function(e,t){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return R.empty();if(!arguments.length)return de(this,n);if(1===arguments.length){var o=this._nodes.get(e=""+e);if(!o)throw new j("Graph.".concat(r,': could not find the "').concat(e,'" node in the graph.'));return ge(n,i,o)}if(2===arguments.length){t=""+t;var a=this._nodes.get(e=""+e);if(!a)throw new j("Graph.".concat(r,': could not find the "').concat(e,'" source node in the graph.'));if(!this._nodes.has(t))throw new j("Graph.".concat(r,': could not find the "').concat(t,'" target node in the graph.'));return _e(n,i,a,t)}throw new L("Graph.".concat(r,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(e,t)})}(Ge),function(e){we.forEach(function(t){var n,i,r,o;r=(n=t).type,o=n.direction,e.prototype[i=n.name]=function(e){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(2===arguments.length){var t=""+arguments[0],n=""+arguments[1];if(!this._nodes.has(t))throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));if(!this._nodes.has(n))throw new j("Graph.".concat(i,': could not find the "').concat(n,'" node in the graph.'));return Pe(this,r,o,t,n)}if(1===arguments.length){var a=this._nodes.get(e=""+e);if(void 0===a)throw new j("Graph.".concat(i,': could not find the "').concat(e,'" node in the graph.'));return xe("mixed"===r?this.type:r,o,a)}throw new L("Graph.".concat(i,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(e,t){var n=t.name,i=t.type,r=t.direction,o="forEach"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[o]=function(e,t){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(e=""+e);if(void 0===n)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" node in the graph.'));!function(e,t,n,i){if("mixed"!==e){if("undirected"===e)return Se(n,n.undirected,i);if("string"==typeof t)return Se(n,n[t],i)}var r=new Set;"undirected"!==e&&("out"!==t&&Ce(r,n,n.in,i),"in"!==t&&Ce(r,n,n.out,i)),"directed"!==e&&Ce(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,t)}}}(e,t),function(e,t){var n=t.name,i=t.type,r=t.direction,o="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";e.prototype[o]=function(e,t){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(e=""+e);if(void 0===n)throw new j("Graph.".concat(o,': could not find the "').concat(e,'" node in the graph.'));!function(e,t,n,i){if("mixed"!==e){if("undirected"===e)return Ee(n,n.undirected,i);if("string"==typeof t)return Ee(n,n[t],i)}var r=new Set;"undirected"!==e&&("out"!==t&&Oe(r,n,n.in,i)||"in"!==t&&Oe(r,n,n.out,i))||"directed"===e||Oe(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,t)}}}(e,t),function(e,t){var n=t.type,i=t.direction,r=t.name.slice(0,-1)+"Entries";e.prototype[r]=function(e){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return R.empty();var t=this._nodes.get(e=""+e);if(void 0===t)throw new j("Graph.".concat(r,': could not find the "').concat(e,'" node in the graph.'));return function(e,t,n){if("mixed"!==e){if("undirected"===e)return Te(n,n.undirected);if("string"==typeof t)return Te(n,n[t])}var i=R.empty(),r=new Set;return"undirected"!==e&&("out"!==t&&(i=X(i,Ae(r,n,n.in))),"in"!==t&&(i=X(i,Ae(r,n,n.out)))),"directed"!==e&&(i=X(i,Ae(r,n,n.undirected))),i}("mixed"===n?this.type:n,i,t)}}(e,t)})}(Ge);var We=function(e){function n(t){var n=u({type:"directed"},t);if("multi"in n&&!1!==n.multi)throw new L("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==n.type)throw new L('DirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return e.call(this,n)||this}return t(n,e),n}(Ge),qe=function(e){function n(t){var n=u({type:"undirected"},t);if("multi"in n&&!1!==n.multi)throw new L("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==n.type)throw new L('UndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return e.call(this,n)||this}return t(n,e),n}(Ge),Xe=function(e){function n(t){var n=u({multi:!0},t);if("multi"in n&&!0!==n.multi)throw new L("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return e.call(this,n)||this}return t(n,e),n}(Ge),Ye=function(e){function n(t){var n=u({type:"directed",multi:!0},t);if("multi"in n&&!0!==n.multi)throw new L("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==n.type)throw new L('MultiDirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return e.call(this,n)||this}return t(n,e),n}(Ge),Ke=function(e){function n(t){var n=u({type:"undirected",multi:!0},t);if("multi"in n&&!0!==n.multi)throw new L("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==n.type)throw new L('MultiUndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return e.call(this,n)||this}return t(n,e),n}(Ge);function $e(e){e.from=function(t,n){var i=u({},t.options,n),r=new e(i);return r.import(t),r}}return $e(Ge),$e(We),$e(qe),$e(Xe),$e(Ye),$e(Ke),Ge.Graph=Ge,Ge.DirectedGraph=We,Ge.UndirectedGraph=qe,Ge.MultiGraph=Xe,Ge.MultiDirectedGraph=Ye,Ge.MultiUndirectedGraph=Ke,Ge.InvalidArgumentsGraphError=L,Ge.NotFoundGraphError=j,Ge.UsageGraphError=F,Ge}()},11524:function(e,t,n){var i;!function(r,o,a,s){"use strict";var u,c=["","webkit","Moz","MS","ms","o"],l=o.createElement("div"),h=Math.round,d=Math.abs,f=Date.now;function p(e,t,n){return setTimeout(w(e,n),t)}function v(e,t,n){return!!Array.isArray(e)&&(g(e,n[t],n),!0)}function g(e,t,n){var i;if(e)if(e.forEach)e.forEach(t,n);else if(e.length!==s)for(i=0;i\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=r.console&&(r.console.warn||r.console.log);return o&&o.call(r.console,i,n),e.apply(this,arguments)}}u="function"!=typeof Object.assign?function(e){if(e===s||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n-1}function T(e){return e.trim().split(/\s+/g)}function A(e,t,n){if(e.indexOf&&!n)return e.indexOf(t);for(var i=0;in[t]}):i.sort()),i}function I(e,t){for(var n,i,r=t[0].toUpperCase()+t.slice(1),o=0;o1&&!n.firstMultiple?n.firstMultiple=G(t):1===r&&(n.firstMultiple=!1);var o=n.firstInput,a=n.firstMultiple,u=a?a.center:o.center,c=t.center=W(i);t.timeStamp=f(),t.deltaTime=t.timeStamp-o.timeStamp,t.angle=K(u,c),t.distance=Y(u,c),function(e,t){var n=t.center,i=e.offsetDelta||{},r=e.prevDelta||{},o=e.prevInput||{};(1===t.eventType||4===o.eventType)&&(r=e.prevDelta={x:o.deltaX||0,y:o.deltaY||0},i=e.offsetDelta={x:n.x,y:n.y}),t.deltaX=r.x+(n.x-i.x),t.deltaY=r.y+(n.y-i.y)}(n,t),t.offsetDirection=X(t.deltaX,t.deltaY);var l=q(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=l.x,t.overallVelocityY=l.y,t.overallVelocity=d(l.x)>d(l.y)?l.x:l.y,t.scale=a?function(e,t){return Y(t[0],t[1],z)/Y(e[0],e[1],z)}(a.pointers,i):1,t.rotation=a?function(e,t){return K(t[1],t[0],z)+K(e[1],e[0],z)}(a.pointers,i):0,t.maxPointers=n.prevInput?t.pointers.length>n.prevInput.maxPointers?t.pointers.length:n.prevInput.maxPointers:t.pointers.length,function(e,t){var n,i,r,o,a=e.lastInterval||t,u=t.timeStamp-a.timeStamp;if(8!=t.eventType&&(u>25||a.velocity===s)){var c=t.deltaX-a.deltaX,l=t.deltaY-a.deltaY,h=q(u,c,l);i=h.x,r=h.y,n=d(h.x)>d(h.y)?h.x:h.y,o=X(c,l),e.lastInterval=t}else n=a.velocity,i=a.velocityX,r=a.velocityY,o=a.direction;t.velocity=n,t.velocityX=i,t.velocityY=r,t.direction=o}(n,t);var h=e.element;E(t.srcEvent.target,h)&&(h=t.srcEvent.target),t.target=h}(e,n),e.emit("hammer.input",n),e.recognize(n),e.session.prevInput=n}function G(e){for(var t=[],n=0;n=d(t)?e<0?2:4:t<0?8:16}function Y(e,t,n){n||(n=V);var i=t[n[0]]-e[n[0]],r=t[n[1]]-e[n[1]];return Math.sqrt(i*i+r*r)}function K(e,t,n){return n||(n=V),180*Math.atan2(t[n[1]]-e[n[1]],t[n[0]]-e[n[0]])/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&S(this.element,this.evEl,this.domHandler),this.evTarget&&S(this.target,this.evTarget,this.domHandler),this.evWin&&S(D(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&C(this.element,this.evEl,this.domHandler),this.evTarget&&C(this.target,this.evTarget,this.domHandler),this.evWin&&C(D(this.element),this.evWin,this.domHandler)}};var $={mousedown:1,mousemove:2,mouseup:4},Q="mousedown",Z="mousemove mouseup";function J(){this.evEl=Q,this.evWin=Z,this.pressed=!1,U.apply(this,arguments)}_(J,U,{handler:function(e){var t=$[e.type];1&t&&0===e.button&&(this.pressed=!0),2&t&&1!==e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:B,srcEvent:e}))}});var ee={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},te={2:F,3:"pen",4:B,5:"kinect"},ne="pointerdown",ie="pointermove pointerup pointercancel";function re(){this.evEl=ne,this.evWin=ie,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(ne="MSPointerDown",ie="MSPointerMove MSPointerUp MSPointerCancel"),_(re,U,{handler:function(e){var t=this.store,n=!1,i=e.type.toLowerCase().replace("ms",""),r=ee[i],o=te[e.pointerType]||e.pointerType,a=o==F,s=A(t,e.pointerId,"pointerId");1&r&&(0===e.button||a)?s<0&&(t.push(e),s=t.length-1):12&r&&(n=!0),!(s<0)&&(t[s]=e,this.callback(this.manager,r,{pointers:t,changedPointers:[e],pointerType:o,srcEvent:e}),n&&t.splice(s,1))}});var oe={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ae="touchstart",se="touchstart touchmove touchend touchcancel";function ue(){this.evTarget=ae,this.evWin=se,this.started=!1,U.apply(this,arguments)}function ce(e,t){var n=P(e.touches),i=P(e.changedTouches);return 12&t&&(n=M(n.concat(i),"identifier",!0)),[n,i]}_(ue,U,{handler:function(e){var t=oe[e.type];if(1===t&&(this.started=!0),this.started){var n=ce.call(this,e,t);12&t&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,t,{pointers:n[0],changedPointers:n[1],pointerType:F,srcEvent:e})}}});var le={touchstart:1,touchmove:2,touchend:4,touchcancel:8},he="touchstart touchmove touchend touchcancel";function de(){this.evTarget=he,this.targetIds={},U.apply(this,arguments)}function fe(e,t){var n=P(e.touches),i=this.targetIds;if(3&t&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,o,a=P(e.changedTouches),s=[],u=this.target;if(o=n.filter(function(e){return E(e.target,u)}),1===t)for(r=0;r-1&&i.splice(e,1)},2500)}}function me(e){for(var t=e.srcEvent.clientX,n=e.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,n=this.state;function i(n){t.manager.emit(n,e)}n<8&&i(t.options.event+Te(n)),i(t.options.event),e.additionalEvent&&i(e.additionalEvent),n>=8&&i(t.options.event+Te(n))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=32},canEmit:function(){for(var e=0;et.threshold&&r&t.direction},attrTest:function(e){return Me.prototype.attrTest.call(this,e)&&(2&this.state||!(2&this.state)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=Ae(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),_(Re,Me,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ke]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},emit:function(e){1!==e.scale&&(e.additionalEvent=this.options.event+(e.scale<1?"in":"out")),this._super.emit.call(this,e)}}),_(De,Oe,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(e){var t=this.options,n=e.pointers.length===t.pointers,i=e.distancet.time;if(this._input=e,!i||!n||12&e.eventType&&!r)this.reset();else if(1&e.eventType)this.reset(),this._timer=p(function(){this.state=8,this.tryEmit()},t.time,this);else if(4&e.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(e){8===this.state&&(e&&4&e.eventType?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=f(),this.manager.emit(this.options.event,this._input)))}}),_(Ne,Me,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ke]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)}}),_(Le,Me,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Ie.prototype.getTouchAction.call(this)},attrTest:function(e){var t,n=this.options.direction;return 30&n?t=e.overallVelocity:6&n?t=e.overallVelocityX:24&n&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&n&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&d(t)>this.options.velocity&&4&e.eventType},emit:function(e){var t=Ae(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),_(je,Oe,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[we]},process:function(e){var t=this.options,n=e.pointers.length===t.pointers,i=e.distance"']/g,q=RegExp(G.source),X=RegExp(W.source),Y=/<%-([\s\S]+?)%>/g,K=/<%([\s\S]+?)%>/g,$=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Z=/^\w*$/,J=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ee=/[\\^$.*+?()[\]{}|]/g,te=RegExp(ee.source),ne=/^\s+/,ie=/\s/,re=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,oe=/\{\n\/\* \[wrapped with (.+)\] \*/,ae=/,? & /,se=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ue=/[()=,{}\[\]\/\s]/,ce=/\\(\\)?/g,le=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,he=/\w*$/,de=/^[-+]0x[0-9a-f]+$/i,fe=/^0b[01]+$/i,pe=/^\[object .+?Constructor\]$/,ve=/^0o[0-7]+$/i,ge=/^(?:0|[1-9]\d*)$/,me=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ye=/($^)/,be=/['\n\r\u2028\u2029\\]/g,_e="\\ud800-\\udfff",we="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",ke="\\u2700-\\u27bf",xe="a-z\\xdf-\\xf6\\xf8-\\xff",Se="A-Z\\xc0-\\xd6\\xd8-\\xde",Ce="\\ufe0e\\ufe0f",Ee="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Oe="["+_e+"]",Te="["+Ee+"]",Ae="["+we+"]",Pe="\\d+",Me="["+ke+"]",Ie="["+xe+"]",Re="[^"+_e+Ee+Pe+ke+xe+Se+"]",De="\\ud83c[\\udffb-\\udfff]",Ne="[^"+_e+"]",Le="(?:\\ud83c[\\udde6-\\uddff]){2}",je="[\\ud800-\\udbff][\\udc00-\\udfff]",Fe="["+Se+"]",Be="(?:"+Ie+"|"+Re+")",Ve="(?:"+Fe+"|"+Re+")",ze="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ue="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",He="(?:"+Ae+"|"+De+")?",Ge="["+Ce+"]?",We=Ge+He+"(?:\\u200d(?:"+[Ne,Le,je].join("|")+")"+Ge+He+")*",qe="(?:"+[Me,Le,je].join("|")+")"+We,Xe="(?:"+[Ne+Ae+"?",Ae,Le,je,Oe].join("|")+")",Ye=RegExp("['\u2019]","g"),Ke=RegExp(Ae,"g"),$e=RegExp(De+"(?="+De+")|"+Xe+We,"g"),Qe=RegExp([Fe+"?"+Ie+"+"+ze+"(?="+[Te,Fe,"$"].join("|")+")",Ve+"+"+Ue+"(?="+[Te,Fe+Be,"$"].join("|")+")",Fe+"?"+Be+"+"+ze,Fe+"+"+Ue,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Pe,qe].join("|"),"g"),Ze=RegExp("[\\u200d"+_e+we+Ce+"]"),Je=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,et=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],tt=-1,nt={};nt[I]=nt[R]=nt[D]=nt[N]=nt[L]=nt[j]=nt[F]=nt[B]=nt[V]=!0,nt[p]=nt[v]=nt[P]=nt[g]=nt[M]=nt[m]=nt[y]=nt[b]=nt[w]=nt[k]=nt[x]=nt[C]=nt[E]=nt[O]=nt[A]=!1;var it={};it[p]=it[v]=it[P]=it[M]=it[g]=it[m]=it[I]=it[R]=it[D]=it[N]=it[L]=it[w]=it[k]=it[x]=it[C]=it[E]=it[O]=it[T]=it[j]=it[F]=it[B]=it[V]=!0,it[y]=it[b]=it[A]=!1;var rt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ot=parseFloat,at=parseInt,st="object"==typeof global&&global&&global.Object===Object&&global,ut="object"==typeof self&&self&&self.Object===Object&&self,ct=st||ut||Function("return this")(),lt=t&&!t.nodeType&&t,ht=lt&&e&&!e.nodeType&&e,dt=ht&&ht.exports===lt,ft=dt&&st.process,pt=function(){try{return ht&&ht.require&&ht.require("util").types||ft&&ft.binding&&ft.binding("util")}catch(e){}}(),vt=pt&&pt.isArrayBuffer,gt=pt&&pt.isDate,mt=pt&&pt.isMap,yt=pt&&pt.isRegExp,bt=pt&&pt.isSet,_t=pt&&pt.isTypedArray;function wt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function kt(e,t,n,i){for(var r=-1,o=null==e?0:e.length;++r-1}function Tt(e,t,n){for(var i=-1,r=null==e?0:e.length;++i-1;);return n}function Qt(e,t){for(var n=e.length;n--&&jt(t,e[n],0)>-1;);return n}function Zt(e,t){for(var n=e.length,i=0;n--;)e[n]===t&&++i;return i}var Jt=Ut({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),en=Ut({"&":"&","<":"<",">":">",'"':""","'":"'"});function tn(e){return"\\"+rt[e]}function nn(e){return Ze.test(e)}function rn(e){var t=-1,n=Array(e.size);return e.forEach(function(e,i){n[++t]=[i,e]}),n}function on(e,t){return function(n){return e(t(n))}}function an(e,t){for(var n=-1,i=e.length,r=0,o=[];++n",""":'"',"'":"'"}),dn=function e(t){var n,i=(t=null==t?ct:dn.defaults(ct.Object(),t,dn.pick(ct,et))).Array,ie=t.Date,_e=t.Error,we=t.Function,ke=t.Math,xe=t.Object,Se=t.RegExp,Ce=t.String,Ee=t.TypeError,Oe=i.prototype,Te=xe.prototype,Ae=t["__core-js_shared__"],Pe=we.prototype.toString,Me=Te.hasOwnProperty,Ie=0,Re=(n=/[^.]+$/.exec(Ae&&Ae.keys&&Ae.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",De=Te.toString,Ne=Pe.call(xe),Le=ct._,je=Se("^"+Pe.call(Me).replace(ee,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Fe=dt?t.Buffer:r,Be=t.Symbol,Ve=t.Uint8Array,ze=Fe?Fe.allocUnsafe:r,Ue=on(xe.getPrototypeOf,xe),He=xe.create,Ge=Te.propertyIsEnumerable,We=Oe.splice,qe=Be?Be.isConcatSpreadable:r,Xe=Be?Be.iterator:r,$e=Be?Be.toStringTag:r,Ze=function(){try{var e=ao(xe,"defineProperty");return e({},"",{}),e}catch(Io){}}(),rt=t.clearTimeout!==ct.clearTimeout&&t.clearTimeout,st=ie&&ie.now!==ct.Date.now&&ie.now,ut=t.setTimeout!==ct.setTimeout&&t.setTimeout,lt=ke.ceil,ht=ke.floor,ft=xe.getOwnPropertySymbols,pt=Fe?Fe.isBuffer:r,Dt=t.isFinite,Ut=Oe.join,fn=on(xe.keys,xe),pn=ke.max,vn=ke.min,gn=ie.now,mn=t.parseInt,yn=ke.random,bn=Oe.reverse,_n=ao(t,"DataView"),wn=ao(t,"Map"),kn=ao(t,"Promise"),xn=ao(t,"Set"),Sn=ao(t,"WeakMap"),Cn=ao(xe,"create"),En=Sn&&new Sn,On={},Tn=Lo(_n),An=Lo(wn),Pn=Lo(kn),Mn=Lo(xn),In=Lo(Sn),Rn=Be?Be.prototype:r,Dn=Rn?Rn.valueOf:r,Nn=Rn?Rn.toString:r;function Ln(e){if(Ja(e)&&!Ua(e)&&!(e instanceof Vn)){if(e instanceof Bn)return e;if(Me.call(e,"__wrapped__"))return jo(e)}return new Bn(e)}var jn=function(){function e(){}return function(t){if(!Za(t))return{};if(He)return He(t);e.prototype=t;var n=new e;return e.prototype=r,n}}();function Fn(){}function Bn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=r}function Vn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function ri(e,t,n,i,o,a){var s,u=1&t,c=2&t,l=4&t;if(n&&(s=o?n(e,i,o,a):n(e)),s!==r)return s;if(!Za(e))return e;var h=Ua(e);if(h){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Me.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!u)return Sr(e,s)}else{var d=co(e),f=d==b||d==_;if(qa(e))return yr(e,u);if(d==x||d==p||f&&!o){if(s=c||f?{}:ho(e),!u)return c?function(e,t){return Cr(e,uo(e),t)}(e,function(e,t){return e&&Cr(t,Ps(t),e)}(s,e)):function(e,t){return Cr(e,so(e),t)}(e,ei(s,e))}else{if(!it[d])return o?e:{};s=function(e,t,n){var i=e.constructor;switch(t){case P:return br(e);case g:case m:return new i(+e);case M:return function(e,t){var n=t?br(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case I:case R:case D:case N:case L:case j:case F:case B:case V:return _r(e,n);case w:return new i;case k:case O:return new i(e);case C:return function(e){var t=new e.constructor(e.source,he.exec(e));return t.lastIndex=e.lastIndex,t}(e);case E:return new i;case T:return function(e){return Dn?xe(Dn.call(e)):{}}(e)}}(e,d,u)}}a||(a=new Wn);var v=a.get(e);if(v)return v;a.set(e,s),rs(e)?e.forEach(function(i){s.add(ri(i,t,n,i,e,a))}):es(e)&&e.forEach(function(i,r){s.set(r,ri(i,t,n,r,e,a))});var y=h?r:(l?c?Jr:Zr:c?Ps:As)(e);return xt(y||e,function(i,r){y&&(i=e[r=i]),Qn(s,r,ri(i,t,n,r,e,a))}),s}function oi(e,t,n){var i=n.length;if(null==e)return!i;for(e=xe(e);i--;){var o=n[i],a=e[o];if(a===r&&!(o in e)||!(0,t[o])(a))return!1}return!0}function ai(e,t,n){if("function"!=typeof e)throw new Ee(o);return Oo(function(){e.apply(r,n)},t)}function si(e,t,n,i){var r=-1,o=Ot,a=!0,s=e.length,u=[],c=t.length;if(!s)return u;n&&(t=At(t,Xt(n))),i?(o=Tt,a=!1):t.length>=200&&(o=Kt,a=!1,t=new Gn(t));e:for(;++r-1},Un.prototype.set=function(e,t){var n=this.__data__,i=Zn(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this},Hn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(wn||Un),string:new zn}},Hn.prototype.delete=function(e){var t=ro(this,e).delete(e);return this.size-=t?1:0,t},Hn.prototype.get=function(e){return ro(this,e).get(e)},Hn.prototype.has=function(e){return ro(this,e).has(e)},Hn.prototype.set=function(e,t){var n=ro(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this},Gn.prototype.add=Gn.prototype.push=function(e){return this.__data__.set(e,a),this},Gn.prototype.has=function(e){return this.__data__.has(e)},Wn.prototype.clear=function(){this.__data__=new Un,this.size=0},Wn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Wn.prototype.get=function(e){return this.__data__.get(e)},Wn.prototype.has=function(e){return this.__data__.has(e)},Wn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Un){var i=n.__data__;if(!wn||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new Hn(i)}return n.set(e,t),this.size=n.size,this};var ui=Tr(gi),ci=Tr(mi,!0);function li(e,t){var n=!0;return ui(e,function(e,i,r){return n=!!t(e,i,r)}),n}function hi(e,t,n){for(var i=-1,o=e.length;++i0&&n(s)?t>1?fi(s,t-1,n,i,r):Pt(r,s):i||(r[r.length]=s)}return r}var pi=Ar(),vi=Ar(!0);function gi(e,t){return e&&pi(e,t,As)}function mi(e,t){return e&&vi(e,t,As)}function yi(e,t){return Et(t,function(t){return Ka(e[t])})}function bi(e,t){for(var n=0,i=(t=pr(t,e)).length;null!=e&&nt}function xi(e,t){return null!=e&&Me.call(e,t)}function Si(e,t){return null!=e&&t in xe(e)}function Ci(e,t,n){for(var o=n?Tt:Ot,a=e[0].length,s=e.length,u=s,c=i(s),l=1/0,h=[];u--;){var d=e[u];u&&t&&(d=At(d,Xt(t))),l=vn(d.length,l),c[u]=!n&&(t||a>=120&&d.length>=120)?new Gn(u&&d):r}d=e[0];var f=-1,p=c[0];e:for(;++f=s?u:u*("desc"==n[i]?-1:1)}return e.index-t.index}(e,t,n)});i--;)e[i]=e[i].value;return e}(Di(e,function(e,n,r){return{criteria:At(t,function(t){return t(e)}),index:++i,value:e}}))}function Vi(e,t,n){for(var i=-1,r=t.length,o={};++i-1;)s!==e&&We.call(s,u,1),We.call(e,u,1);return e}function Ui(e,t){for(var n=e?t.length:0,i=n-1;n--;){var r=t[n];if(n==i||r!==o){var o=r;po(r)?We.call(e,r,1):ar(e,r)}}return e}function Hi(e,t){return e+ht(yn()*(t-e+1))}function Gi(e,t){var n="";if(!e||t<1||t>h)return n;do{t%2&&(n+=e),(t=ht(t/2))&&(e+=e)}while(t);return n}function Wi(e,t){return To(ko(e,t,tu),e+"")}function qi(e){return Xn(Fs(e))}function Xi(e,t){var n=Fs(e);return Mo(n,ii(t,0,n.length))}function Yi(e,t,n,i){if(!Za(e))return e;for(var o=-1,a=(t=pr(t,e)).length,s=a-1,u=e;null!=u&&++oo?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=i(o);++r>>1,a=e[o];null!==a&&!as(a)&&(n?a<=t:a=200){var c=t?null:Gr(e);if(c)return sn(c);a=!1,r=Kt,u=new Gn}else u=t?[]:s;e:for(;++i=i?e:Zi(e,t,n)}var mr=rt||function(e){return ct.clearTimeout(e)};function yr(e,t){if(t)return e.slice();var n=e.length,i=ze?ze(n):new e.constructor(n);return e.copy(i),i}function br(e){var t=new e.constructor(e.byteLength);return new Ve(t).set(new Ve(e)),t}function _r(e,t){var n=t?br(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function wr(e,t){if(e!==t){var n=e!==r,i=null===e,o=e==e,a=as(e),s=t!==r,u=null===t,c=t==t,l=as(t);if(!u&&!l&&!a&&e>t||a&&s&&c&&!u&&!l||i&&s&&c||!n&&c||!o)return 1;if(!i&&!a&&!l&&e1?n[o-1]:r,s=o>2?n[2]:r;for(a=e.length>3&&"function"==typeof a?(o--,a):r,s&&vo(n[0],n[1],s)&&(a=o<3?r:a,o=1),t=xe(t);++i-1?o[a?t[s]:s]:r}}function Dr(e){return Qr(function(t){var n=t.length,i=n,a=Bn.prototype.thru;for(e&&t.reverse();i--;){var s=t[i];if("function"!=typeof s)throw new Ee(o);if(a&&!u&&"wrapper"==to(s))var u=new Bn([],!0)}for(i=u?i:n;++i1&&b.reverse(),f&&hu))return!1;var l=a.get(e),h=a.get(t);if(l&&h)return l==t&&h==e;var d=-1,f=!0,p=2&n?new Gn:r;for(a.set(e,t),a.set(t,e);++d-1&&e%1==0&&e1?"& ":"")+t[i],t=t.join(n>2?", ":" "),e.replace(re,"{\n/* [wrapped with "+t+"] */\n")}(i,function(e,t){return xt(f,function(n){var i="_."+n[0];t&n[1]&&!Ot(e,i)&&e.push(i)}),e.sort()}(function(e){var t=e.match(oe);return t?t[1].split(ae):[]}(i),n)))}function Po(e){var t=0,n=0;return function(){var i=gn(),o=16-(i-n);if(n=i,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(r,arguments)}}function Mo(e,t){var n=-1,i=e.length,o=i-1;for(t=t===r?i:t;++n1?e[t-1]:r;return n="function"==typeof n?(e.pop(),n):r,ia(e,n)});function la(e){var t=Ln(e);return t.__chain__=!0,t}function ha(e,t){return t(e)}var da=Qr(function(e){var t=e.length,n=t?e[0]:0,i=this.__wrapped__,o=function(t){return ni(t,e)};return!(t>1||this.__actions__.length)&&i instanceof Vn&&po(n)?((i=i.slice(n,+n+(t?1:0))).__actions__.push({func:ha,args:[o],thisArg:r}),new Bn(i,this.__chain__).thru(function(e){return t&&!e.length&&e.push(r),e})):this.thru(o)}),fa=Er(function(e,t,n){Me.call(e,n)?++e[n]:ti(e,n,1)}),pa=Rr(zo),va=Rr(Uo);function ga(e,t){return(Ua(e)?xt:ui)(e,io(t,3))}function ma(e,t){return(Ua(e)?St:ci)(e,io(t,3))}var ya=Er(function(e,t,n){Me.call(e,n)?e[n].push(t):ti(e,n,[t])}),ba=Wi(function(e,t,n){var r=-1,o="function"==typeof t,a=Ga(e)?i(e.length):[];return ui(e,function(e){a[++r]=o?wt(t,e,n):Ei(e,t,n)}),a}),_a=Er(function(e,t,n){ti(e,n,t)});function wa(e,t){return(Ua(e)?At:Di)(e,io(t,3))}var ka=Er(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]}),xa=Wi(function(e,t){if(null==e)return[];var n=t.length;return n>1&&vo(e,t[0],t[1])?t=[]:n>2&&vo(t[0],t[1],t[2])&&(t=[t[0]]),Bi(e,fi(t,1),[])}),Sa=st||function(){return ct.Date.now()};function Ca(e,t,n){return t=n?r:t,qr(e,c,r,r,r,r,t=e&&null==t?e.length:t)}function Ea(e,t){var n;if("function"!=typeof t)throw new Ee(o);return e=ds(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=r),n}}var Oa=Wi(function(e,t,n){var i=1;if(n.length){var r=an(n,no(Oa));i|=u}return qr(e,i,t,n,r)}),Ta=Wi(function(e,t,n){var i=3;if(n.length){var r=an(n,no(Ta));i|=u}return qr(t,i,e,n,r)});function Aa(e,t,n){var i,a,s,u,c,l,h=0,d=!1,f=!1,p=!0;if("function"!=typeof e)throw new Ee(o);function v(t){var n=i,o=a;return i=a=r,h=t,u=e.apply(o,n)}function g(e){return h=e,c=Oo(y,t),d?v(e):u}function m(e){var n=e-l;return l===r||n>=t||n<0||f&&e-h>=s}function y(){var e=Sa();if(m(e))return b(e);c=Oo(y,function(e){var n=t-(e-l);return f?vn(n,s-(e-h)):n}(e))}function b(e){return c=r,p&&i?v(e):(i=a=r,u)}function _(){var e=Sa(),n=m(e);if(i=arguments,a=this,l=e,n){if(c===r)return g(l);if(f)return mr(c),c=Oo(y,t),v(l)}return c===r&&(c=Oo(y,t)),u}return t=ps(t)||0,Za(n)&&(d=!!n.leading,s=(f="maxWait"in n)?pn(ps(n.maxWait)||0,t):s,p="trailing"in n?!!n.trailing:p),_.cancel=function(){c!==r&&mr(c),h=0,i=l=a=c=r},_.flush=function(){return c===r?u:b(Sa())},_}var Pa=Wi(function(e,t){return ai(e,1,t)}),Ma=Wi(function(e,t,n){return ai(e,ps(t)||0,n)});function Ia(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Ee(o);var n=function n(){var i=arguments,r=t?t.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var a=e.apply(this,i);return n.cache=o.set(r,a)||o,a};return n.cache=new(Ia.Cache||Hn),n}function Ra(e){if("function"!=typeof e)throw new Ee(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Ia.Cache=Hn;var Da=vr(function(e,t){var n=(t=1==t.length&&Ua(t[0])?At(t[0],Xt(io())):At(fi(t,1),Xt(io()))).length;return Wi(function(i){for(var r=-1,o=vn(i.length,n);++r=t}),za=Oi(function(){return arguments}())?Oi:function(e){return Ja(e)&&Me.call(e,"callee")&&!Ge.call(e,"callee")},Ua=i.isArray,Ha=vt?Xt(vt):function(e){return Ja(e)&&wi(e)==P};function Ga(e){return null!=e&&Qa(e.length)&&!Ka(e)}function Wa(e){return Ja(e)&&Ga(e)}var qa=pt||pu,Xa=gt?Xt(gt):function(e){return Ja(e)&&wi(e)==m};function Ya(e){if(!Ja(e))return!1;var t=wi(e);return t==y||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!ns(e)}function Ka(e){if(!Za(e))return!1;var t=wi(e);return t==b||t==_||"[object AsyncFunction]"==t||"[object Proxy]"==t}function $a(e){return"number"==typeof e&&e==ds(e)}function Qa(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=h}function Za(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ja(e){return null!=e&&"object"==typeof e}var es=mt?Xt(mt):function(e){return Ja(e)&&co(e)==w};function ts(e){return"number"==typeof e||Ja(e)&&wi(e)==k}function ns(e){if(!Ja(e)||wi(e)!=x)return!1;var t=Ue(e);if(null===t)return!0;var n=Me.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Pe.call(n)==Ne}var is=yt?Xt(yt):function(e){return Ja(e)&&wi(e)==C},rs=bt?Xt(bt):function(e){return Ja(e)&&co(e)==E};function os(e){return"string"==typeof e||!Ua(e)&&Ja(e)&&wi(e)==O}function as(e){return"symbol"==typeof e||Ja(e)&&wi(e)==T}var ss=_t?Xt(_t):function(e){return Ja(e)&&Qa(e.length)&&!!nt[wi(e)]},us=zr(Ri),cs=zr(function(e,t){return e<=t});function ls(e){if(!e)return[];if(Ga(e))return os(e)?cn(e):Sr(e);if(Xe&&e[Xe])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Xe]());var t=co(e);return(t==w?rn:t==E?sn:Fs)(e)}function hs(e){return e?(e=ps(e))===l||e===-l?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ds(e){var t=hs(e),n=t%1;return t==t?n?t-n:t:0}function fs(e){return e?ii(ds(e),0,d):0}function ps(e){if("number"==typeof e)return e;if(as(e))return NaN;if(Za(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Za(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=qt(e);var n=fe.test(e);return n||ve.test(e)?at(e.slice(2),n?2:8):de.test(e)?NaN:+e}function vs(e){return Cr(e,Ps(e))}function gs(e){return null==e?"":rr(e)}var ms=Or(function(e,t){if(bo(t)||Ga(t))Cr(t,As(t),e);else for(var n in t)Me.call(t,n)&&Qn(e,n,t[n])}),ys=Or(function(e,t){Cr(t,Ps(t),e)}),bs=Or(function(e,t,n,i){Cr(t,Ps(t),e,i)}),_s=Or(function(e,t,n,i){Cr(t,As(t),e,i)}),ws=Qr(ni),ks=Wi(function(e,t){e=xe(e);var n=-1,i=t.length,o=i>2?t[2]:r;for(o&&vo(t[0],t[1],o)&&(i=1);++n1),t}),Cr(e,Jr(e),n),i&&(n=ri(n,7,Kr));for(var r=t.length;r--;)ar(n,t[r]);return n}),Ds=Qr(function(e,t){return null==e?{}:function(e,t){return Vi(e,t,function(t,n){return Cs(e,n)})}(e,t)});function Ns(e,t){if(null==e)return{};var n=At(Jr(e),function(e){return[e]});return t=io(t),Vi(e,n,function(e,n){return t(e,n[0])})}var Ls=Wr(As),js=Wr(Ps);function Fs(e){return null==e?[]:Yt(e,As(e))}var Bs=Mr(function(e,t,n){return t=t.toLowerCase(),e+(n?Vs(t):t)});function Vs(e){return Ys(gs(e).toLowerCase())}function zs(e){return(e=gs(e))&&e.replace(me,Jt).replace(Ke,"")}var Us=Mr(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),Hs=Mr(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),Gs=Pr("toLowerCase"),Ws=Mr(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}),qs=Mr(function(e,t,n){return e+(n?" ":"")+Ys(t)}),Xs=Mr(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),Ys=Pr("toUpperCase");function Ks(e,t,n){return e=gs(e),(t=n?r:t)===r?function(e){return Je.test(e)}(e)?function(e){return e.match(Qe)||[]}(e):function(e){return e.match(se)||[]}(e):e.match(t)||[]}var $s=Wi(function(e,t){try{return wt(e,r,t)}catch(Ro){return Ya(Ro)?Ro:new _e(Ro)}}),Qs=Qr(function(e,t){return xt(t,function(t){t=No(t),ti(e,t,Oa(e[t],e))}),e});function Zs(e){return function(){return e}}var Js=Dr(),eu=Dr(!0);function tu(e){return e}function nu(e){return Mi("function"==typeof e?e:ri(e,1))}var iu=Wi(function(e,t){return function(n){return Ei(n,e,t)}}),ru=Wi(function(e,t){return function(n){return Ei(e,n,t)}});function ou(e,t,n){var i=As(t),r=yi(t,i);null==n&&(!Za(t)||!r.length&&i.length)&&(n=t,t=e,e=this,r=yi(t,As(t)));var o=!(Za(n)&&"chain"in n&&!n.chain),a=Ka(e);return xt(r,function(n){var i=t[n];e[n]=i,a&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__),r=n.__actions__=Sr(this.__actions__);return r.push({func:i,args:arguments,thisArg:e}),n.__chain__=t,n}return i.apply(e,Pt([this.value()],arguments))})}),e}function au(){}var su=Fr(At),uu=Fr(Ct),cu=Fr(Rt);function lu(e){return go(e)?zt(No(e)):function(e){return function(t){return bi(t,e)}}(e)}var hu=Vr(),du=Vr(!0);function fu(){return[]}function pu(){return!1}var vu=jr(function(e,t){return e+t},0),gu=Hr("ceil"),mu=jr(function(e,t){return e/t},1),yu=Hr("floor"),bu=jr(function(e,t){return e*t},1),_u=Hr("round"),wu=jr(function(e,t){return e-t},0);return Ln.after=function(e,t){if("function"!=typeof t)throw new Ee(o);return e=ds(e),function(){if(--e<1)return t.apply(this,arguments)}},Ln.ary=Ca,Ln.assign=ms,Ln.assignIn=ys,Ln.assignInWith=bs,Ln.assignWith=_s,Ln.at=ws,Ln.before=Ea,Ln.bind=Oa,Ln.bindAll=Qs,Ln.bindKey=Ta,Ln.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Ua(e)?e:[e]},Ln.chain=la,Ln.chunk=function(e,t,n){t=(n?vo(e,t,n):t===r)?1:pn(ds(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var a=0,s=0,u=i(lt(o/t));ao?0:o+n),(i=i===r||i>o?o:ds(i))<0&&(i+=o),i=n>i?0:fs(i);n>>0)?(e=gs(e))&&("string"==typeof t||null!=t&&!is(t))&&!(t=rr(t))&&nn(e)?gr(cn(e),0,n):e.split(t,n):[]},Ln.spread=function(e,t){if("function"!=typeof e)throw new Ee(o);return t=null==t?0:pn(ds(t),0),Wi(function(n){var i=n[t],r=gr(n,0,t);return i&&Pt(r,i),wt(e,this,r)})},Ln.tail=function(e){var t=null==e?0:e.length;return t?Zi(e,1,t):[]},Ln.take=function(e,t,n){return e&&e.length?Zi(e,0,(t=n||t===r?1:ds(t))<0?0:t):[]},Ln.takeRight=function(e,t,n){var i=null==e?0:e.length;return i?Zi(e,(t=i-(t=n||t===r?1:ds(t)))<0?0:t,i):[]},Ln.takeRightWhile=function(e,t){return e&&e.length?ur(e,io(t,3),!1,!0):[]},Ln.takeWhile=function(e,t){return e&&e.length?ur(e,io(t,3)):[]},Ln.tap=function(e,t){return t(e),e},Ln.throttle=function(e,t,n){var i=!0,r=!0;if("function"!=typeof e)throw new Ee(o);return Za(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),Aa(e,t,{leading:i,maxWait:t,trailing:r})},Ln.thru=ha,Ln.toArray=ls,Ln.toPairs=Ls,Ln.toPairsIn=js,Ln.toPath=function(e){return Ua(e)?At(e,No):as(e)?[e]:Sr(Do(gs(e)))},Ln.toPlainObject=vs,Ln.transform=function(e,t,n){var i=Ua(e),r=i||qa(e)||ss(e);if(t=io(t,4),null==n){var o=e&&e.constructor;n=r?i?new o:[]:Za(e)&&Ka(o)?jn(Ue(e)):{}}return(r?xt:gi)(e,function(e,i,r){return t(n,e,i,r)}),n},Ln.unary=function(e){return Ca(e,1)},Ln.union=Jo,Ln.unionBy=ea,Ln.unionWith=ta,Ln.uniq=function(e){return e&&e.length?or(e):[]},Ln.uniqBy=function(e,t){return e&&e.length?or(e,io(t,2)):[]},Ln.uniqWith=function(e,t){return t="function"==typeof t?t:r,e&&e.length?or(e,r,t):[]},Ln.unset=function(e,t){return null==e||ar(e,t)},Ln.unzip=na,Ln.unzipWith=ia,Ln.update=function(e,t,n){return null==e?e:sr(e,t,fr(n))},Ln.updateWith=function(e,t,n,i){return i="function"==typeof i?i:r,null==e?e:sr(e,t,fr(n),i)},Ln.values=Fs,Ln.valuesIn=function(e){return null==e?[]:Yt(e,Ps(e))},Ln.without=ra,Ln.words=Ks,Ln.wrap=function(e,t){return Na(fr(t),e)},Ln.xor=oa,Ln.xorBy=aa,Ln.xorWith=sa,Ln.zip=ua,Ln.zipObject=function(e,t){return hr(e||[],t||[],Qn)},Ln.zipObjectDeep=function(e,t){return hr(e||[],t||[],Yi)},Ln.zipWith=ca,Ln.entries=Ls,Ln.entriesIn=js,Ln.extend=ys,Ln.extendWith=bs,ou(Ln,Ln),Ln.add=vu,Ln.attempt=$s,Ln.camelCase=Bs,Ln.capitalize=Vs,Ln.ceil=gu,Ln.clamp=function(e,t,n){return n===r&&(n=t,t=r),n!==r&&(n=(n=ps(n))==n?n:0),t!==r&&(t=(t=ps(t))==t?t:0),ii(ps(e),t,n)},Ln.clone=function(e){return ri(e,4)},Ln.cloneDeep=function(e){return ri(e,5)},Ln.cloneDeepWith=function(e,t){return ri(e,5,t="function"==typeof t?t:r)},Ln.cloneWith=function(e,t){return ri(e,4,t="function"==typeof t?t:r)},Ln.conformsTo=function(e,t){return null==t||oi(e,t,As(t))},Ln.deburr=zs,Ln.defaultTo=function(e,t){return null==e||e!=e?t:e},Ln.divide=mu,Ln.endsWith=function(e,t,n){e=gs(e),t=rr(t);var i=e.length,o=n=n===r?i:ii(ds(n),0,i);return(n-=t.length)>=0&&e.slice(n,o)==t},Ln.eq=Fa,Ln.escape=function(e){return(e=gs(e))&&X.test(e)?e.replace(W,en):e},Ln.escapeRegExp=function(e){return(e=gs(e))&&te.test(e)?e.replace(ee,"\\$&"):e},Ln.every=function(e,t,n){var i=Ua(e)?Ct:li;return n&&vo(e,t,n)&&(t=r),i(e,io(t,3))},Ln.find=pa,Ln.findIndex=zo,Ln.findKey=function(e,t){return Nt(e,io(t,3),gi)},Ln.findLast=va,Ln.findLastIndex=Uo,Ln.findLastKey=function(e,t){return Nt(e,io(t,3),mi)},Ln.floor=yu,Ln.forEach=ga,Ln.forEachRight=ma,Ln.forIn=function(e,t){return null==e?e:pi(e,io(t,3),Ps)},Ln.forInRight=function(e,t){return null==e?e:vi(e,io(t,3),Ps)},Ln.forOwn=function(e,t){return e&&gi(e,io(t,3))},Ln.forOwnRight=function(e,t){return e&&mi(e,io(t,3))},Ln.get=Ss,Ln.gt=Ba,Ln.gte=Va,Ln.has=function(e,t){return null!=e&&lo(e,t,xi)},Ln.hasIn=Cs,Ln.head=Go,Ln.identity=tu,Ln.includes=function(e,t,n,i){e=Ga(e)?e:Fs(e),n=n&&!i?ds(n):0;var r=e.length;return n<0&&(n=pn(r+n,0)),os(e)?n<=r&&e.indexOf(t,n)>-1:!!r&&jt(e,t,n)>-1},Ln.indexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=null==n?0:ds(n);return r<0&&(r=pn(i+r,0)),jt(e,t,r)},Ln.inRange=function(e,t,n){return t=hs(t),n===r?(n=t,t=0):n=hs(n),function(e,t,n){return e>=vn(t,n)&&e=-h&&e<=h},Ln.isSet=rs,Ln.isString=os,Ln.isSymbol=as,Ln.isTypedArray=ss,Ln.isUndefined=function(e){return e===r},Ln.isWeakMap=function(e){return Ja(e)&&co(e)==A},Ln.isWeakSet=function(e){return Ja(e)&&"[object WeakSet]"==wi(e)},Ln.join=function(e,t){return null==e?"":Ut.call(e,t)},Ln.kebabCase=Us,Ln.last=Yo,Ln.lastIndexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var o=i;return n!==r&&(o=(o=ds(n))<0?pn(i+o,0):vn(o,i-1)),t==t?function(e,t,n){for(var i=n+1;i--;)if(e[i]===t)return i;return i}(e,t,o):Lt(e,Bt,o,!0)},Ln.lowerCase=Hs,Ln.lowerFirst=Gs,Ln.lt=us,Ln.lte=cs,Ln.max=function(e){return e&&e.length?hi(e,tu,ki):r},Ln.maxBy=function(e,t){return e&&e.length?hi(e,io(t,2),ki):r},Ln.mean=function(e){return Vt(e,tu)},Ln.meanBy=function(e,t){return Vt(e,io(t,2))},Ln.min=function(e){return e&&e.length?hi(e,tu,Ri):r},Ln.minBy=function(e,t){return e&&e.length?hi(e,io(t,2),Ri):r},Ln.stubArray=fu,Ln.stubFalse=pu,Ln.stubObject=function(){return{}},Ln.stubString=function(){return""},Ln.stubTrue=function(){return!0},Ln.multiply=bu,Ln.nth=function(e,t){return e&&e.length?Fi(e,ds(t)):r},Ln.noConflict=function(){return ct._===this&&(ct._=Le),this},Ln.noop=au,Ln.now=Sa,Ln.pad=function(e,t,n){e=gs(e);var i=(t=ds(t))?un(e):0;if(!t||i>=t)return e;var r=(t-i)/2;return Br(ht(r),n)+e+Br(lt(r),n)},Ln.padEnd=function(e,t,n){e=gs(e);var i=(t=ds(t))?un(e):0;return t&&it){var i=e;e=t,t=i}if(n||e%1||t%1){var o=yn();return vn(e+o*(t-e+ot("1e-"+((o+"").length-1))),t)}return Hi(e,t)},Ln.reduce=function(e,t,n){var i=Ua(e)?Mt:Ht,r=arguments.length<3;return i(e,io(t,4),n,r,ui)},Ln.reduceRight=function(e,t,n){var i=Ua(e)?It:Ht,r=arguments.length<3;return i(e,io(t,4),n,r,ci)},Ln.repeat=function(e,t,n){return t=(n?vo(e,t,n):t===r)?1:ds(t),Gi(gs(e),t)},Ln.replace=function(){var e=arguments,t=gs(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Ln.result=function(e,t,n){var i=-1,o=(t=pr(t,e)).length;for(o||(o=1,e=r);++ih)return[];var n=d,i=vn(e,d);t=io(t),e-=d;for(var r=Wt(i,t);++n=a)return e;var u=n-un(i);if(u<1)return i;var c=s?gr(s,0,u).join(""):e.slice(0,u);if(o===r)return c+i;if(s&&(u+=c.length-u),is(o)){if(e.slice(u).search(o)){var l,h=c;for(o.global||(o=Se(o.source,gs(he.exec(o))+"g")),o.lastIndex=0;l=o.exec(h);)var d=l.index;c=c.slice(0,d===r?u:d)}}else if(e.indexOf(rr(o),u)!=u){var f=c.lastIndexOf(o);f>-1&&(c=c.slice(0,f))}return c+i},Ln.unescape=function(e){return(e=gs(e))&&q.test(e)?e.replace(G,hn):e},Ln.uniqueId=function(e){var t=++Ie;return gs(e)+t},Ln.upperCase=Xs,Ln.upperFirst=Ys,Ln.each=ga,Ln.eachRight=ma,Ln.first=Go,ou(Ln,function(){var e={};return gi(Ln,function(t,n){Me.call(Ln.prototype,n)||(e[n]=t)}),e}(),{chain:!1}),Ln.VERSION="4.17.21",xt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){Ln[e].placeholder=Ln}),xt(["drop","take"],function(e,t){Vn.prototype[e]=function(n){n=n===r?1:pn(ds(n),0);var i=this.__filtered__&&!t?new Vn(this):this.clone();return i.__filtered__?i.__takeCount__=vn(n,i.__takeCount__):i.__views__.push({size:vn(n,d),type:e+(i.__dir__<0?"Right":"")}),i},Vn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}}),xt(["filter","map","takeWhile"],function(e,t){var n=t+1,i=1==n||3==n;Vn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:io(e,3),type:n}),t.__filtered__=t.__filtered__||i,t}}),xt(["head","last"],function(e,t){var n="take"+(t?"Right":"");Vn.prototype[e]=function(){return this[n](1).value()[0]}}),xt(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");Vn.prototype[e]=function(){return this.__filtered__?new Vn(this):this[n](1)}}),Vn.prototype.compact=function(){return this.filter(tu)},Vn.prototype.find=function(e){return this.filter(e).head()},Vn.prototype.findLast=function(e){return this.reverse().find(e)},Vn.prototype.invokeMap=Wi(function(e,t){return"function"==typeof e?new Vn(this):this.map(function(n){return Ei(n,e,t)})}),Vn.prototype.reject=function(e){return this.filter(Ra(io(e)))},Vn.prototype.slice=function(e,t){e=ds(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Vn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==r&&(n=(t=ds(t))<0?n.dropRight(-t):n.take(t-e)),n)},Vn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Vn.prototype.toArray=function(){return this.take(d)},gi(Vn.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),o=Ln[i?"take"+("last"==t?"Right":""):t],a=i||/^find/.test(t);!o||(Ln.prototype[t]=function(){var t=this.__wrapped__,s=i?[1]:arguments,u=t instanceof Vn,c=s[0],l=u||Ua(t),h=function(e){var t=o.apply(Ln,Pt([e],s));return i&&d?t[0]:t};l&&n&&"function"==typeof c&&1!=c.length&&(u=l=!1);var d=this.__chain__,f=!!this.__actions__.length,p=a&&!d,v=u&&!f;if(!a&&l){t=v?t:new Vn(this);var g=e.apply(t,s);return g.__actions__.push({func:ha,args:[h],thisArg:r}),new Bn(g,d)}return p&&v?e.apply(this,s):(g=this.thru(h),p?i?g.value()[0]:g.value():g)})}),xt(["pop","push","shift","sort","splice","unshift"],function(e){var t=Oe[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);Ln.prototype[e]=function(){var e=arguments;if(i&&!this.__chain__){var r=this.value();return t.apply(Ua(r)?r:[],e)}return this[n](function(n){return t.apply(Ua(n)?n:[],e)})}}),gi(Vn.prototype,function(e,t){var n=Ln[t];if(n){var i=n.name+"";Me.call(On,i)||(On[i]=[]),On[i].push({name:t,func:n})}}),On[Nr(r,2).name]=[{name:"wrapper",func:r}],Vn.prototype.clone=function(){var e=new Vn(this.__wrapped__);return e.__actions__=Sr(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Sr(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Sr(this.__views__),e},Vn.prototype.reverse=function(){if(this.__filtered__){var e=new Vn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Vn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Ua(e),i=t<0,r=n?e.length:0,o=function(e,t,n){for(var i=-1,r=n.length;++i=this.__values__.length;return{done:e,value:e?r:this.__values__[this.__index__++]}},Ln.prototype.plant=function(e){for(var t,n=this;n instanceof Fn;){var i=jo(n);i.__index__=0,i.__values__=r,t?o.__wrapped__=i:t=i;var o=i;n=n.__wrapped__}return o.__wrapped__=e,t},Ln.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Vn){var t=e;return this.__actions__.length&&(t=new Vn(this)),(t=t.reverse()).__actions__.push({func:ha,args:[Zo],thisArg:r}),new Bn(t,this.__chain__)}return this.thru(Zo)},Ln.prototype.toJSON=Ln.prototype.valueOf=Ln.prototype.value=function(){return cr(this.__wrapped__,this.__actions__)},Ln.prototype.first=Ln.prototype.head,Xe&&(Ln.prototype[Xe]=function(){return this}),Ln}();ct._=dn,(i=(function(){return dn}).call(t,n,t,e))!==r&&(e.exports=i)}).call(this)},5478:function(e){e.exports=function(){"use strict";function e(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,i=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i={exports:{}};i.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:function(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}},changeDefaults:function(e){i.exports.defaults=e}};var r=/[&<>"']/,o=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,s=/[<>"']|&(?!#?\w+;)/g,u={"&":"&","<":"<",">":">",'"':""","'":"'"},c=function(e){return u[e]},l=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function h(e){return e.replace(l,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}var d=/(^|[^\[])\^/g,f=/[^\w:]/g,p=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i,v={},g=/^[^:]+:\/*[^/]*$/,m=/^([^:]+:)[\s\S]*$/,y=/^([^:]+:\/*[^/]*)[\s\S]*$/;function b(e,t,n){var i=e.length;if(0===i)return"";for(var r=0;r=0&&"\\"===n[r];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(n.length>t)n.splice(t);else for(;n.length1?{type:"space",raw:t[0]}:{raw:"\n"}},t.code=function(e){var t=this.rules.block.code.exec(e);if(t){var n=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:S(n,"\n")}}},t.fences=function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],i=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var i=n[1];return t.split("\n").map(function(e){var t=e.match(/^\s+/);return null===t?e:t[0].length>=i.length?e.slice(i.length):e}).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim():t[2],text:i}}},t.heading=function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();if(/#$/.test(n)){var i=S(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n}}},t.nptable=function(e){var t=this.rules.block.nptable.exec(e);if(t){var n={type:"table",header:C(t[1].replace(/^ *| *\| *$/g,"")),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:t[3]?t[3].replace(/\n$/,"").split("\n"):[],raw:t[0]};if(n.header.length===n.align.length){var i,r=n.align.length;for(i=0;i ?/gm,"");return{type:"blockquote",raw:t[0],text:n}}},t.list=function(e){var t=this.rules.block.list.exec(e);if(t){var n,i,r,o,a,s,u,c,l,h=t[0],d=t[2],f=d.length>1,p={type:"list",raw:h,ordered:f,start:f?+d.slice(0,-1):"",loose:!1,items:[]},v=t[0].match(this.rules.block.item),g=!1,m=v.length;r=this.rules.block.listItemStart.exec(v[0]);for(var y=0;yr[1].length:o[1].length>=r[0].length||o[1].length>3){v.splice(y,2,v[y]+(!this.options.pedantic&&o[1].length/i.test(i[0])&&(t=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:i[0],inLink:t,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):E(i[0]):i[0]}},t.link=function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var i=S(n.slice(0,-1),"\\");if((n.length-i.length)%2==0)return}else{var r=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,i=0,r=0;r-1){var o=(0===t[0].indexOf("!")?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,o).trim(),t[3]=""}}var a=t[2],s="";if(this.options.pedantic){var u=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(a);u&&(a=u[1],s=u[3])}else s=t[3]?t[3].slice(1,-1):"";return a=a.trim(),/^$/.test(n)?a.slice(1):a.slice(1,-1)),O(t,{href:a&&a.replace(this.rules.inline._escapes,"$1"),title:s&&s.replace(this.rules.inline._escapes,"$1")},t[0])}},t.reflink=function(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var i=(n[2]||n[1]).replace(/\s+/g," ");if(!(i=t[i.toLowerCase()])||!i.href){var r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return O(n,i,n[0])}},t.emStrong=function(e,t,n){void 0===n&&(n="");var i=this.rules.inline.emStrong.lDelim.exec(e);if(i&&(!i[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=i[1]||i[2]||"";if(!r||r&&(""===n||this.rules.inline.punctuation.exec(n))){var o,a,s=i[0].length-1,u=s,c=0,l="*"===i[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(l.lastIndex=0,t=t.slice(-1*e.length+s);null!=(i=l.exec(t));)if(o=i[1]||i[2]||i[3]||i[4]||i[5]||i[6]){if(a=o.length,i[3]||i[4]){u+=a;continue}if((i[5]||i[6])&&s%3&&!((s+a)%3)){c+=a;continue}if(!((u-=a)>0))return a=Math.min(a,a+u+c),Math.min(s,a)%2?{type:"em",raw:e.slice(0,s+i.index+a+1),text:e.slice(1,s+i.index+a)}:{type:"strong",raw:e.slice(0,s+i.index+a+1),text:e.slice(2,s+i.index+a-1)}}}}},t.codespan=function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),i=/[^ ]/.test(n),r=/^ /.test(n)&&/ $/.test(n);return i&&r&&(n=n.substring(1,n.length-1)),n=E(n,!0),{type:"codespan",raw:t[0],text:n}}},t.br=function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}},t.del=function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2]}},t.autolink=function(e,t){var n,i,r=this.rules.inline.autolink.exec(e);if(r)return i="@"===r[2]?"mailto:"+(n=E(this.options.mangle?t(r[1]):r[1])):n=E(r[1]),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}},t.url=function(e,t){var n;if(n=this.rules.inline.url.exec(e)){var i,r;if("@"===n[2])r="mailto:"+(i=E(this.options.mangle?t(n[0]):n[0]));else{var o;do{o=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(o!==n[0]);i=E(n[0]),r="www."===n[1]?"http://"+i:i}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}},t.inlineText=function(e,t,n){var i,r=this.rules.inline.text.exec(e);if(r)return i=t?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):E(r[0]):r[0]:E(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:i}},e}(),A={exec:function(){}},P=function(e,t){e=e.source||e,t=t||"";var n={replace:function(t,i){return i=(i=i.source||i).replace(d,"$1"),e=e.replace(t,i),n},getRegex:function(){return new RegExp(e,t)}};return n},M=k,I={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:A,table:A,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};I.def=P(I.def).replace("label",I._label).replace("title",I._title).getRegex(),I.bullet=/(?:[*+-]|\d{1,9}[.)])/,I.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,I.item=P(I.item,"gm").replace(/bull/g,I.bullet).getRegex(),I.listItemStart=P(/^( *)(bull) */).replace("bull",I.bullet).getRegex(),I.list=P(I.list).replace(/bull/g,I.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+I.def.source+")").getRegex(),I._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",I._comment=/|$)/,I.html=P(I.html,"i").replace("comment",I._comment).replace("tag",I._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),I.paragraph=P(I._paragraph).replace("hr",I.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",I._tag).getRegex(),I.blockquote=P(I.blockquote).replace("paragraph",I.paragraph).getRegex(),I.normal=M({},I),I.gfm=M({},I.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),I.gfm.nptable=P(I.gfm.nptable).replace("hr",I.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",I._tag).getRegex(),I.gfm.table=P(I.gfm.table).replace("hr",I.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",I._tag).getRegex(),I.pedantic=M({},I.normal,{html:P("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",I._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:A,paragraph:P(I.normal._paragraph).replace("hr",I.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",I.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var R={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:A,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:A,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};R.punctuation=P(R.punctuation).replace(/punctuation/g,R._punctuation).getRegex(),R.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,R.escapedEmSt=/\\\*|\\_/g,R._comment=P(I._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),R.emStrong.lDelim=P(R.emStrong.lDelim).replace(/punct/g,R._punctuation).getRegex(),R.emStrong.rDelimAst=P(R.emStrong.rDelimAst,"g").replace(/punct/g,R._punctuation).getRegex(),R.emStrong.rDelimUnd=P(R.emStrong.rDelimUnd,"g").replace(/punct/g,R._punctuation).getRegex(),R._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,R._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,R._email=/[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])?)+(?![-_])/,R.autolink=P(R.autolink).replace("scheme",R._scheme).replace("email",R._email).getRegex(),R._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,R.tag=P(R.tag).replace("comment",R._comment).replace("attribute",R._attribute).getRegex(),R._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,R._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,R._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,R.link=P(R.link).replace("label",R._label).replace("href",R._href).replace("title",R._title).getRegex(),R.reflink=P(R.reflink).replace("label",R._label).getRegex(),R.reflinkSearch=P(R.reflinkSearch,"g").replace("reflink",R.reflink).replace("nolink",R.nolink).getRegex(),R.normal=M({},R),R.pedantic=M({},R.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:P(/^!?\[(label)\]\((.*?)\)/).replace("label",R._label).getRegex(),reflink:P(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",R._label).getRegex()}),R.gfm=M({},R.normal,{escape:P(R.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\1;)1&t&&(n+=e),t>>=1,e+=e;return n+e};function V(e){return e.replace(/---/g,"\u2014").replace(/--/g,"\u2013").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1\u2018").replace(/'/g,"\u2019").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1\u201c").replace(/"/g,"\u201d").replace(/\.{3}/g,"\u2026")}function z(e){var t,n,i="",r=e.length;for(t=0;t.5&&(n="x"+n.toString(16)),i+="&#"+n+";";return i}var U=function(){function t(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||L,this.options.tokenizer=this.options.tokenizer||new N,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var t={block:j.normal,inline:F.normal};this.options.pedantic?(t.block=j.pedantic,t.inline=F.pedantic):this.options.gfm&&(t.block=j.gfm,t.inline=this.options.breaks?F.breaks:F.gfm),this.tokenizer.rules=t}t.lex=function(e,n){return new t(n).lex(e)},t.lexInline=function(e,n){return new t(n).inlineTokens(e)};var n=t.prototype;return n.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(e,this.tokens,!0),this.inline(this.tokens),this.tokens},n.blockTokens=function(e,t,n){var i,r,o,a,s,u,c=this;for(void 0===t&&(t=[]),void 0===n&&(n=!0),this.options.pedantic&&(e=e.replace(/^ +$/gm,""));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(n){return!!(i=n.call(c,e,t))&&(e=e.substring(i.raw.length),t.push(i),!0)}))){if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length),i.type&&t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length),(a=t[t.length-1])&&"paragraph"===a.type?(a.raw+="\n"+i.raw,a.text+="\n"+i.text):t.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.nptable(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),i.tokens=this.blockTokens(i.text,[],n),t.push(i);continue}if(i=this.tokenizer.list(e)){for(e=e.substring(i.raw.length),o=i.items.length,r=0;r=0&&(t=Math.min(t,i))}),t<1/0&&t>=0&&(s=e.substring(0,t+1))}(),n&&(i=this.tokenizer.paragraph(s))){a=t[t.length-1],u&&"paragraph"===a.type?(a.raw+="\n"+i.raw,a.text+="\n"+i.text):t.push(i),u=s.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length),(a=t[t.length-1])&&"text"===a.type?(a.raw+="\n"+i.raw,a.text+="\n"+i.text):t.push(i);continue}if(e){var l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}throw new Error(l)}}return t},n.inline=function(e){var t,n,i,r,o,a,s=e.length;for(t=0;t0)for(;null!=(u=this.tokenizer.rules.inline.reflinkSearch.exec(h));)d.includes(u[0].slice(u[0].lastIndexOf("[")+1,-1))&&(h=h.slice(0,u.index)+"["+B("a",u[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(u=this.tokenizer.rules.inline.blockSkip.exec(h));)h=h.slice(0,u.index)+"["+B("a",u[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(u=this.tokenizer.rules.inline.escapedEmSt.exec(h));)h=h.slice(0,u.index)+"++"+h.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(c||(l=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(n){return!!(o=n.call(r,e,t))&&(e=e.substring(o.raw.length),t.push(o),!0)}))){if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e,n,i)){e=e.substring(o.raw.length),n=o.inLink,i=o.inRawBlock,(a=t[t.length-1])&&"text"===o.type&&"text"===a.type?(a.raw+=o.raw,a.text+=o.text):t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),"link"===o.type&&(o.tokens=this.inlineTokens(o.text,[],!0,i)),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length),a=t[t.length-1],"link"===o.type?(o.tokens=this.inlineTokens(o.text,[],!0,i),t.push(o)):a&&"text"===o.type&&"text"===a.type?(a.raw+=o.raw,a.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,h,l)){e=e.substring(o.raw.length),o.tokens=this.inlineTokens(o.text,[],n,i),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e)){e=e.substring(o.raw.length),o.tokens=this.inlineTokens(o.text,[],n,i),t.push(o);continue}if(o=this.tokenizer.autolink(e,z)){e=e.substring(o.raw.length),t.push(o);continue}if(!n&&(o=this.tokenizer.url(e,z))){e=e.substring(o.raw.length),t.push(o);continue}if(s=e,this.options.extensions&&this.options.extensions.startInline&&function(){var t=1/0,n=e.slice(1),i=void 0;r.options.extensions.startInline.forEach(function(e){"number"==typeof(i=e.call(this,n))&&i>=0&&(t=Math.min(t,i))}),t<1/0&&t>=0&&(s=e.substring(0,t+1))}(),o=this.tokenizer.inlineText(s,i,V)){e=e.substring(o.raw.length),"_"!==o.raw.slice(-1)&&(l=o.raw.slice(-1)),c=!0,(a=t[t.length-1])&&"text"===a.type?(a.raw+=o.raw,a.text+=o.text):t.push(o);continue}if(e){var f="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(f);break}throw new Error(f)}}return t},function(t,n,i){i&&e(t,i)}(t,0,[{key:"rules",get:function(){return{block:j,inline:F}}}]),t}(),H=i.exports.defaults,G=function(e,t,n){if(e){var i;try{i=decodeURIComponent(h(n)).replace(f,"").toLowerCase()}catch(r){return null}if(0===i.indexOf("javascript:")||0===i.indexOf("vbscript:")||0===i.indexOf("data:"))return null}t&&!p.test(n)&&(n=function(e,t){v[" "+e]||(v[" "+e]=g.test(e)?e+"/":b(e,"/",!0));var n=-1===(e=v[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(m,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(y,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(r){return null}return n},W=_,q=function(){function e(e){this.options=e||H}var t=e.prototype;return t.code=function(e,t,n){var i=(t||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(e,i);null!=r&&r!==e&&(n=!0,e=r)}return e=e.replace(/\n$/,"")+"\n",i?'
                      '+(n?e:W(e,!0))+"
                      \n":"
                      "+(n?e:W(e,!0))+"
                      \n"},t.blockquote=function(e){return"
                      \n"+e+"
                      \n"},t.html=function(e){return e},t.heading=function(e,t,n,i){return this.options.headerIds?"'+e+"\n":""+e+"\n"},t.hr=function(){return this.options.xhtml?"
                      \n":"
                      \n"},t.list=function(e,t,n){var i=t?"ol":"ul";return"<"+i+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},t.listitem=function(e){return"
                    • "+e+"
                    • \n"},t.checkbox=function(e){return" "},t.paragraph=function(e){return"

                      "+e+"

                      \n"},t.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
                      \n"},t.tablerow=function(e){return"\n"+e+"\n"},t.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},t.strong=function(e){return""+e+""},t.em=function(e){return""+e+""},t.codespan=function(e){return""+e+""},t.br=function(){return this.options.xhtml?"
                      ":"
                      "},t.del=function(e){return""+e+""},t.link=function(e,t,n){if(null===(e=G(this.options.sanitize,this.options.baseUrl,e)))return n;var i='"+n+""},t.image=function(e,t,n){if(null===(e=G(this.options.sanitize,this.options.baseUrl,e)))return n;var i=''+n+'":">")},t.text=function(e){return e},e}(),X=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,n){return""+n},t.image=function(e,t,n){return""+n},t.br=function(){return""},e}(),Y=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var n=e,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[e];do{n=e+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=i,this.seen[n]=0),n},t.slug=function(e,t){void 0===t&&(t={});var n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)},e}(),K=q,$=X,Q=Y,Z=i.exports.defaults,J=w,ee=U,te=function(){function e(e){this.options=e||Z,this.options.renderer=this.options.renderer||new K,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new $,this.slugger=new Q}e.parse=function(t,n){return new e(n).parse(t)},e.parseInline=function(t,n){return new e(n).parseInline(t)};var t=e.prototype;return t.parse=function(e,t){void 0===t&&(t=!0);var n,i,r,o,a,s,u,c,l,h,d,f,p,v,g,m,y,b,_,w="",k=e.length;for(n=0;n0&&"text"===g.tokens[0].type?(g.tokens[0].text=b+" "+g.tokens[0].text,g.tokens[0].tokens&&g.tokens[0].tokens.length>0&&"text"===g.tokens[0].tokens[0].type&&(g.tokens[0].tokens[0].text=b+" "+g.tokens[0].tokens[0].text)):g.tokens.unshift({type:"text",text:b}):v+=b),v+=this.parse(g.tokens,p),l+=this.renderer.listitem(v,y,m);w+=this.renderer.list(l,d,f);continue;case"html":w+=this.renderer.html(h.text);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(h.tokens));continue;case"text":for(l=h.tokens?this.parseInline(h.tokens):h.text;n+1An error occurred:

                      "+ue(u.message+"",!0)+"
                      ";throw u}}return de.options=de.setOptions=function(e){return ae(de.defaults,e),le(de.defaults),de},de.getDefaults=ce,de.defaults=he,de.use=function(){for(var e=this,t=arguments.length,n=new Array(t),i=0;iAn error occurred:

                      "+ue(i.message+"",!0)+"
                      ";throw i}},de.Parser=te,de.parser=te.parse,de.Renderer=ie,de.TextRenderer=re,de.Lexer=ee,de.lexer=ee.lex,de.Tokenizer=ne,de.Slugger=oe,de.parse=de,de}()},29369:function(e,t,n){var i=n(56284),r=n(67830);function o(){this.clear()}o.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},o.prototype.enqueue=function(e){return this.items.push(e),++this.size},o.prototype.dequeue=function(){if(this.size){var e=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,e}},o.prototype.peek=function(){if(this.size)return this.items[this.offset]},o.prototype.forEach=function(e,t){t=arguments.length>1?t:this;for(var n=this.offset,i=0,r=this.items.length;n=e.length)return{done:!0};var n=e[t];return t++,{value:n,done:!1}})},o.prototype.entries=function(){var e=this.items,t=this.offset,n=0;return new i(function(){if(t>=e.length)return{done:!0};var i=e[t];return t++,{value:[n++,i],done:!1}})},"undefined"!=typeof Symbol&&(o.prototype[Symbol.iterator]=o.prototype.values),o.prototype.toString=function(){return this.toArray().join(",")},o.prototype.toJSON=function(){return this.toArray()},o.prototype.inspect=function(){var e=this.toArray();return Object.defineProperty(e,"constructor",{value:o,enumerable:!1}),e},"undefined"!=typeof Symbol&&(o.prototype[Symbol.for("nodejs.util.inspect.custom")]=o.prototype.inspect),o.from=function(e){var t=new o;return r(e,function(e){t.enqueue(e)}),t},o.of=function(){return o.from(arguments)},e.exports=o},65593:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(72293),a=function(e){function t(){e.apply(this,arguments),this.value=null,this.hasNext=!1,this.hasCompleted=!1}return i(t,e),t.prototype._subscribe=function(t){return this.hasError?(t.error(this.thrownError),o.Subscription.EMPTY):this.hasCompleted&&this.hasNext?(t.next(this.value),t.complete(),o.Subscription.EMPTY):e.prototype._subscribe.call(this,t)},t.prototype.next=function(e){this.hasCompleted||(this.value=e,this.hasNext=!0)},t.prototype.error=function(t){this.hasCompleted||e.prototype.error.call(this,t)},t.prototype.complete=function(){this.hasCompleted=!0,this.hasNext&&e.prototype.next.call(this,this.value),e.prototype.complete.call(this)},t}(r.Subject);t.AsyncSubject=a},73907:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(6594),a=function(e){function t(t){e.call(this),this._value=t}return i(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return n&&!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new o.ObjectUnsubscribedError;return this._value},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(r.Subject);t.BehaviorSubject=a},36888:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t,n,i){e.call(this),this.parent=t,this.outerValue=n,this.outerIndex=i,this.index=0}return i(t,e),t.prototype._next=function(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)},t.prototype._error=function(e){this.parent.notifyError(e,this),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},t}(n(42109).Subscriber);t.InnerSubscriber=r},94429:function(e,t,n){"use strict";var i=n(18705),r=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return e.prototype.observe=function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}},e.prototype.do=function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}},e.prototype.accept=function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){switch(this.kind){case"N":return i.Observable.of(this.value);case"E":return i.Observable.throw(this.error);case"C":return i.Observable.empty()}throw new Error("unexpected notification kind value")},e.createNext=function(t){return void 0!==t?new e("N",t):e.undefinedValueNotification},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e.undefinedValueNotification=new e("N",void 0),e}();t.Notification=r},18705:function(e,t,n){"use strict";var i=n(80019),r=n(18154),o=n(45783),a=n(10142),s=function(){function e(e){this._isScalar=!1,e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var i=this.operator,o=r.toSubscriber(e,t,n);if(i?i.call(o,this.source):o.add(this.source||!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.syncErrorThrown=!0,e.syncErrorValue=t,e.error(t)}},e.prototype.forEach=function(e,t){var n=this;if(t||(i.root.Rx&&i.root.Rx.config&&i.root.Rx.config.Promise?t=i.root.Rx.config.Promise:i.root.Promise&&(t=i.root.Promise)),!t)throw new Error("no Promise impl found");return new t(function(t,i){var r;r=n.subscribe(function(t){if(r)try{e(t)}catch(n){i(n),r.unsubscribe()}else e(t)},i,t)})},e.prototype._subscribe=function(e){return this.source.subscribe(e)},e.prototype[o.observable]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;tt&&(o=Math.max(o,r-t)),o>0&&i.splice(0,o),i},t}(r.Subject);t.ReplaySubject=l;var h=function(e,t){this.time=e,this.value=t}},25430:function(e,t,n){"use strict";var i=n(2369);t.xQ=i.Subject,n(18705),n(24769),n(95914),n(88007),n(3194),n(61898),n(16301),n(23276),n(66593),n(13745),n(57362),n(24518),n(68789),n(30520),n(67370),n(86866),n(11505),n(5031),n(36780),n(17038),n(15718),n(27915),n(90763),n(6846),n(65662),n(6799),n(81854),n(612),n(10838),n(6725),n(8827),n(43511),n(38922),n(25178),n(56937),n(22947),n(82894),n(11206),n(94183),n(16653),n(17930),n(81118),n(50317),n(90674),n(66460),n(79232),n(3945),n(44674),n(73505),n(38749),n(16479),n(22744),n(44475),n(97384),n(8237),n(24937),n(99013),n(84042),n(44436),n(7099),n(6217),n(57476),n(72646),n(91573),n(27387),n(27366),n(88859),n(65425),n(16733),n(23381),n(80404),n(63770),n(53626),n(98851),n(84878),n(26544),n(53582),n(61749),n(34838),n(49681),n(46227),n(56455),n(40881),n(94315),n(92910),n(52442),n(84664),n(61250),n(28310),n(43027),n(18252),n(49571),n(31782),n(9800),n(41854),n(74839),n(1305),n(99144),n(89952),n(85863),n(2865),n(92667),n(22185),n(72919),n(88630),n(75458),n(40780),n(35099),n(57502),n(81676),n(20579),n(71323),n(84950),n(57113),n(95073),n(75654),n(59889),n(96611),n(81845),n(7828),n(4881),n(74568),n(32352),n(50169),n(93543),n(61690),n(15914),n(68583),n(44808),n(49088),n(72293),n(42109),n(65593),n(81959),n(73907),n(51493),n(94429),n(44640),n(11758),n(6594),n(13815),n(84536),n(73390),n(62688),n(24482),n(18353),n(55298),n(10142),n(85522),n(90680),n(97088),n(12948),n(28592),n(72121),n(45783),n(39053)},11965:function(e,t){"use strict";var n=function(){function e(t,n){void 0===n&&(n=e.now),this.SchedulerAction=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.SchedulerAction(this,e).schedule(n,t)},e.now=Date.now?Date.now:function(){return+new Date},e}();t.Scheduler=n},2369:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(42109),a=n(72293),s=n(6594),u=n(9060),c=n(28592),l=function(e){function t(t){e.call(this,t),this.destination=t}return i(t,e),t}(o.Subscriber);t.SubjectSubscriber=l;var h=function(e){function t(){e.call(this),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}return i(t,e),t.prototype[c.rxSubscriber]=function(){return new l(this)},t.prototype.lift=function(e){var t=new d(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new s.ObjectUnsubscribedError;if(!this.isStopped)for(var t=this.observers,n=t.length,i=t.slice(),r=0;r=e.length)return void i.complete();i.next(t[n]),e.index=n+1,this.schedule(e)}},t.prototype._subscribe=function(e){var n=this.arrayLike,i=this.scheduler,r=n.length;if(i)return i.schedule(t.dispatch,0,{arrayLike:n,index:0,length:r,subscriber:e});for(var o=0;o1?new t(e,i):1===r?new o.ScalarObservable(e[0],i):new a.EmptyObservable(i)},t.dispatch=function(e){var t=e.array,n=e.index,i=e.subscriber;n>=e.count?i.complete():(i.next(t[n]),!i.closed&&(e.index=n+1,this.schedule(e)))},t.prototype._subscribe=function(e){var n=this.array,i=n.length,r=this.scheduler;if(r)return r.schedule(t.dispatch,0,{array:n,index:0,count:i,subscriber:e});for(var o=0;o1)this.connection=null;else{var n=this.connection,i=e._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null}}(a.Subscriber)},34078:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(93658),a=n(84308),s=function(e){function t(t){e.call(this),this.observableFactory=t}return i(t,e),t.create=function(e){return new t(e)},t.prototype._subscribe=function(e){return new u(e,this.observableFactory)},t}(r.Observable);t.DeferObservable=s;var u=function(e){function t(t,n){e.call(this,t),this.factory=n,this.tryDefer()}return i(t,e),t.prototype.tryDefer=function(){try{this._callFactory()}catch(e){this._error(e)}},t.prototype._callFactory=function(){var e=this.factory();e&&this.add(o.subscribeToResult(this,e))},t}(a.OuterSubscriber)},70481:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t){e.call(this),this.scheduler=t}return i(t,e),t.create=function(e){return new t(e)},t.dispatch=function(e){e.subscriber.complete()},t.prototype._subscribe=function(e){var n=this.scheduler;if(n)return n.schedule(t.dispatch,0,{subscriber:e});e.complete()},t}(n(18705).Observable);t.EmptyObservable=r},72210:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t,n){e.call(this),this.error=t,this.scheduler=n}return i(t,e),t.create=function(e,n){return new t(e,n)},t.dispatch=function(e){e.subscriber.error(e.error)},t.prototype._subscribe=function(e){var n=this.error,i=this.scheduler;if(e.syncErrorThrowable=!0,i)return i.schedule(t.dispatch,0,{error:n,subscriber:e});e.error(n)},t}(n(18705).Observable);t.ErrorObservable=r},56064:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(70481),a=n(48242),s=n(93658),u=n(84308),c=function(e){function t(t,n){e.call(this),this.sources=t,this.resultSelector=n}return i(t,e),t.create=function(){for(var e=[],n=0;nl?l:t:t}(e)),this.arr=e,this.idx=t,this.len=n}return e.prototype[a.iterator]=function(){return this},e.prototype.next=function(){return this.idx=e.count?i.complete():(i.next(t),!i.closed&&(e.index=n+1,e.start=t+1,this.schedule(e)))},t.prototype._subscribe=function(e){var n=0,i=this.start,r=this._count,o=this.scheduler;if(o)return o.schedule(t.dispatch,0,{index:n,count:r,start:i,subscriber:e});for(;;){if(n++>=r){e.complete();break}if(e.next(i++),e.closed)break}},t}(n(18705).Observable);t.RangeObservable=r},80478:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t,n){e.call(this),this.value=t,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return i(t,e),t.create=function(e,n){return new t(e,n)},t.dispatch=function(e){var t=e.value,n=e.subscriber;e.done?n.complete():(n.next(t),!n.closed&&(e.done=!0,this.schedule(e)))},t.prototype._subscribe=function(e){var n=this.value,i=this.scheduler;if(i)return i.schedule(t.dispatch,0,{done:!1,value:n,subscriber:e});e.next(n),e.closed||e.complete()},t}(n(18705).Observable);t.ScalarObservable=r},82966:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(85522),a=n(39479),s=function(e){function t(t,n,i){void 0===n&&(n=0),void 0===i&&(i=o.asap),e.call(this),this.source=t,this.delayTime=n,this.scheduler=i,(!a.isNumeric(n)||n<0)&&(this.delayTime=0),(!i||"function"!=typeof i.schedule)&&(this.scheduler=o.asap)}return i(t,e),t.create=function(e,n,i){return void 0===n&&(n=0),void 0===i&&(i=o.asap),new t(e,n,i)},t.dispatch=function(e){return this.add(e.source.subscribe(e.subscriber))},t.prototype._subscribe=function(e){return this.scheduler.schedule(t.dispatch,this.delayTime,{source:this.source,subscriber:e})},t}(r.Observable);t.SubscribeOnObservable=s},92870:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(39479),o=n(18705),a=n(90680),s=n(41503),u=n(783),c=function(e){function t(t,n,i){void 0===t&&(t=0),e.call(this),this.period=-1,this.dueTime=0,r.isNumeric(n)?this.period=Number(n)<1?1:Number(n):s.isScheduler(n)&&(i=n),s.isScheduler(i)||(i=a.async),this.scheduler=i,this.dueTime=u.isDate(t)?+t-this.scheduler.now():t}return i(t,e),t.create=function(e,n,i){return void 0===e&&(e=0),new t(e,n,i)},t.dispatch=function(e){var t=e.index,n=e.period,i=e.subscriber;if(i.next(t),!i.closed){if(-1===n)return i.complete();e.index=t+1,this.schedule(e,n)}},t.prototype._subscribe=function(e){var n=this;return n.scheduler.schedule(t.dispatch,n.dueTime,{index:0,period:n.period,subscriber:e})},t}(o.Observable);t.TimerObservable=c},16196:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(18705),o=n(93658),a=n(84308),s=function(e){function t(t,n){e.call(this),this.resourceFactory=t,this.observableFactory=n}return i(t,e),t.create=function(e,n){return new t(e,n)},t.prototype._subscribe=function(e){var t,n=this.resourceFactory,i=this.observableFactory;try{return t=n(),new u(e,t,i)}catch(r){e.error(r)}},t}(r.Observable);t.UsingObservable=s;var u=function(e){function t(t,n,i){e.call(this,t),this.resource=n,this.observableFactory=i,t.add(n),this.tryUse()}return i(t,e),t.prototype.tryUse=function(){try{var e=this.observableFactory.call(this,this.resource);e&&this.add(o.subscribeToResult(this,e))}catch(t){this._error(t)}},t}(a.OuterSubscriber)},59246:function(e,t,n){"use strict";var i=n(19183);t.bindCallback=i.BoundCallbackObservable.create},65571:function(e,t,n){"use strict";var i=n(78655);t.bindNodeCallback=i.BoundNodeCallbackObservable.create},24669:function(e,t,n){"use strict";var i=n(41503),r=n(48242),o=n(96177),a=n(49134);t.combineLatest=function(){for(var e=[],t=0;t1&&"number"==typeof e[e.length-1]&&(n=e.pop())):"number"==typeof u&&(n=e.pop()),null===s&&1===e.length&&e[0]instanceof i.Observable?e[0]:a.mergeAll(n)(new r.ArrayObservable(e,s))}},94503:function(e,t,n){"use strict";var i=n(20143);t.never=i.NeverObservable.create},69657:function(e,t,n){"use strict";var i=n(96177);t.of=i.ArrayObservable.of},61395:function(e,t,n){"use strict";var i=n(46243);t.onErrorResumeNext=i.onErrorResumeNextStatic},95425:function(e,t,n){"use strict";var i=n(19770);t.pairs=i.PairsObservable.create},24330:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(48242),o=n(96177),a=n(84308),s=n(93658);t.race=function(){for(var e=[],t=0;t=2&&(a=arguments[1]);var s=Number.POSITIVE_INFINITY;return t>=3&&(s=arguments[2]),o.bufferTime(e,a,s,n)(this)}},92523:function(e,t,n){"use strict";var i=n(15440);t.bufferToggle=function(e,t){return i.bufferToggle(e,t)(this)}},49436:function(e,t,n){"use strict";var i=n(51786);t.bufferWhen=function(e){return i.bufferWhen(e)(this)}},64731:function(e,t,n){"use strict";var i=n(93017);t._catch=function(e){return i.catchError(e)(this)}},92273:function(e,t,n){"use strict";var i=n(17054);t.combineAll=function(e){return i.combineAll(e)(this)}},8709:function(e,t,n){"use strict";var i=n(49134);t.combineLatest=function(){for(var e=[],t=0;t=2?i.reduce(e,t)(this):i.reduce(e)(this)}},12931:function(e,t,n){"use strict";var i=n(15329);t.repeat=function(e){return void 0===e&&(e=-1),i.repeat(e)(this)}},68816:function(e,t,n){"use strict";var i=n(63964);t.repeatWhen=function(e){return i.repeatWhen(e)(this)}},17144:function(e,t,n){"use strict";var i=n(40241);t.retry=function(e){return void 0===e&&(e=-1),i.retry(e)(this)}},82766:function(e,t,n){"use strict";var i=n(23896);t.retryWhen=function(e){return i.retryWhen(e)(this)}},62068:function(e,t,n){"use strict";var i=n(92043);t.sample=function(e){return i.sample(e)(this)}},97013:function(e,t,n){"use strict";var i=n(90680),r=n(71239);t.sampleTime=function(e,t){return void 0===t&&(t=i.async),r.sampleTime(e,t)(this)}},98996:function(e,t,n){"use strict";var i=n(64949);t.scan=function(e,t){return arguments.length>=2?i.scan(e,t)(this):i.scan(e)(this)}},77033:function(e,t,n){"use strict";var i=n(88948);t.sequenceEqual=function(e,t){return i.sequenceEqual(e,t)(this)}},10377:function(e,t,n){"use strict";var i=n(35473);t.share=function(){return i.share()(this)}},71623:function(e,t,n){"use strict";var i=n(62704);t.shareReplay=function(e,t,n){return i.shareReplay(e,t,n)(this)}},91956:function(e,t,n){"use strict";var i=n(92223);t.single=function(e){return i.single(e)(this)}},72355:function(e,t,n){"use strict";var i=n(11189);t.skip=function(e){return i.skip(e)(this)}},69329:function(e,t,n){"use strict";var i=n(73346);t.skipLast=function(e){return i.skipLast(e)(this)}},68481:function(e,t,n){"use strict";var i=n(12928);t.skipUntil=function(e){return i.skipUntil(e)(this)}},587:function(e,t,n){"use strict";var i=n(69415);t.skipWhile=function(e){return i.skipWhile(e)(this)}},49292:function(e,t,n){"use strict";var i=n(30673);t.startWith=function(){for(var e=[],t=0;t0&&this.destination.next(t),e.prototype._complete.call(this)},t}(r.Subscriber),s=function(e){function t(t,n,i){e.call(this,t),this.bufferSize=n,this.startBufferEvery=i,this.buffers=[],this.count=0}return i(t,e),t.prototype._next=function(e){var t=this,n=t.bufferSize,i=t.startBufferEvery,r=t.buffers,o=t.count;this.count++,o%i==0&&r.push([]);for(var a=r.length;a--;){var s=r[a];s.push(e),s.length===n&&(r.splice(a,1),this.destination.next(s))}},t.prototype._complete=function(){for(var t=this.buffers,n=this.destination;t.length>0;){var i=t.shift();i.length>0&&n.next(i)}e.prototype._complete.call(this)},t}(r.Subscriber)},6489:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(90680),o=n(42109),a=n(41503);t.bufferTime=function(e){var t=arguments.length,n=r.async;a.isScheduler(arguments[arguments.length-1])&&(n=arguments[arguments.length-1],t--);var i=null;t>=2&&(i=arguments[1]);var o=Number.POSITIVE_INFINITY;return t>=3&&(o=arguments[2]),function(t){return t.lift(new s(e,i,o,n))}};var s=function(){function e(e,t,n,i){this.bufferTimeSpan=e,this.bufferCreationInterval=t,this.maxBufferSize=n,this.scheduler=i}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))},e}(),u=function(){this.buffer=[]},c=function(e){function t(t,n,i,r,o){e.call(this,t),this.bufferTimeSpan=n,this.bufferCreationInterval=i,this.maxBufferSize=r,this.scheduler=o,this.contexts=[];var a=this.openContext();if(this.timespanOnly=null==i||i<0,this.timespanOnly)this.add(a.closeAction=o.schedule(l,n,{subscriber:this,context:a,bufferTimeSpan:n}));else{var s={bufferTimeSpan:n,bufferCreationInterval:i,subscriber:this,scheduler:o};this.add(a.closeAction=o.schedule(d,n,{subscriber:this,context:a})),this.add(o.schedule(h,i,s))}}return i(t,e),t.prototype._next=function(e){for(var t,n=this.contexts,i=n.length,r=0;r0;){var i=t.shift();n.next(i.buffer)}e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.contexts=null},t.prototype.onBufferFull=function(e){this.closeContext(e);var t=e.closeAction;if(t.unsubscribe(),this.remove(t),!this.closed&&this.timespanOnly){e=this.openContext();var n=this.bufferTimeSpan;this.add(e.closeAction=this.scheduler.schedule(l,n,{subscriber:this,context:e,bufferTimeSpan:n}))}},t.prototype.openContext=function(){var e=new u;return this.contexts.push(e),e},t.prototype.closeContext=function(e){this.destination.next(e.buffer);var t=this.contexts;(t?t.indexOf(e):-1)>=0&&t.splice(t.indexOf(e),1)},t}(o.Subscriber);function l(e){var t=e.subscriber,n=e.context;n&&t.closeContext(n),t.closed||(e.context=t.openContext(),e.context.closeAction=this.schedule(e,e.bufferTimeSpan))}function h(e){var t=e.bufferCreationInterval,n=e.bufferTimeSpan,i=e.subscriber,r=e.scheduler,o=i.openContext();i.closed||(i.add(o.closeAction=r.schedule(d,n,{subscriber:i,context:o})),this.schedule(e,t))}function d(e){e.subscriber.closeContext(e.context)}},15440:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(72293),o=n(93658),a=n(84308);t.bufferToggle=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.openings=e,this.closingSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.openings,this.closingSelector))},e}(),u=function(e){function t(t,n,i){e.call(this,t),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(o.subscribeToResult(this,n))}return i(t,e),t.prototype._next=function(e){for(var t=this.contexts,n=t.length,i=0;i0;){var i=n.shift();i.subscription.unsubscribe(),i.buffer=null,i.subscription=null}this.contexts=null,e.prototype._error.call(this,t)},t.prototype._complete=function(){for(var t=this.contexts;t.length>0;){var n=t.shift();this.destination.next(n.buffer),n.subscription.unsubscribe(),n.buffer=null,n.subscription=null}this.contexts=null,e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,i,r){e?this.closeBuffer(e):this.openBuffer(t)},t.prototype.notifyComplete=function(e){this.closeBuffer(e.context)},t.prototype.openBuffer=function(e){try{var t=this.closingSelector.call(this,e);t&&this.trySubscribe(t)}catch(n){this._error(n)}},t.prototype.closeBuffer=function(e){var t=this.contexts;if(t&&e){var n=e.subscription;this.destination.next(e.buffer),t.splice(t.indexOf(e),1),this.remove(n),n.unsubscribe()}},t.prototype.trySubscribe=function(e){var t=this.contexts,n=new r.Subscription,i={buffer:[],subscription:n};t.push(i);var a=o.subscribeToResult(this,e,i);!a||a.closed?this.closeBuffer(i):(a.context=i,this.add(a),n.add(a))},t}(a.OuterSubscriber)},51786:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(72293),o=n(33463),a=n(85814),s=n(84308),u=n(93658);t.bufferWhen=function(e){return function(t){return t.lift(new c(e))}};var c=function(){function e(e){this.closingSelector=e}return e.prototype.call=function(e,t){return t.subscribe(new l(e,this.closingSelector))},e}(),l=function(e){function t(t,n){e.call(this,t),this.closingSelector=n,this.subscribing=!1,this.openBuffer()}return i(t,e),t.prototype._next=function(e){this.buffer.push(e)},t.prototype._complete=function(){var t=this.buffer;t&&this.destination.next(t),e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.buffer=null,this.subscribing=!1},t.prototype.notifyNext=function(e,t,n,i,r){this.openBuffer()},t.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()},t.prototype.openBuffer=function(){var e=this.closingSubscription;e&&(this.remove(e),e.unsubscribe()),this.buffer&&this.destination.next(this.buffer),this.buffer=[];var t=o.tryCatch(this.closingSelector)();t===a.errorObject?this.error(a.errorObject.e):(e=new r.Subscription,this.closingSubscription=e,this.add(e),this.subscribing=!0,e.add(u.subscribeToResult(this,t)),this.subscribing=!1)},t}(s.OuterSubscriber)},93017:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.catchError=function(e){return function(t){var n=new a(e),i=t.lift(n);return n.caught=i}};var a=function(){function e(e){this.selector=e}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.selector,this.caught))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.selector=n,this.caught=i}return i(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=void 0;try{n=this.selector(t,this.caught)}catch(i){return void e.prototype.error.call(this,i)}this._unsubscribeAndRecycle(),this.add(o.subscribeToResult(this,n))}},t}(r.OuterSubscriber)},17054:function(e,t,n){"use strict";var i=n(49134);t.combineAll=function(e){return function(t){return t.lift(new i.CombineLatestOperator(e))}}},49134:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(96177),o=n(48242),a=n(84308),s=n(93658),u={};t.combineLatest=function(){for(var e=[],t=0;t0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var o=Math.max(0,n[0].time-i.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1},t.prototype._schedule=function(e){this.active=!0,this.add(e.schedule(t.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))},t.prototype.scheduleNotification=function(e){if(!0!==this.errored){var t=this.scheduler,n=new l(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}},t.prototype._next=function(e){this.scheduleNotification(s.Notification.createNext(e))},t.prototype._error=function(e){this.errored=!0,this.queue=[],this.destination.error(e)},t.prototype._complete=function(){this.scheduleNotification(s.Notification.createComplete())},t}(a.Subscriber),l=function(e,t){this.time=e,this.notification=t}},22944:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(18705),a=n(84308),s=n(93658);t.delayWhen=function(e,t){return t?function(n){return new l(n,t).lift(new u(e))}:function(t){return t.lift(new u(e))}};var u=function(){function e(e){this.delayDurationSelector=e}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.delayDurationSelector))},e}(),c=function(e){function t(t,n){e.call(this,t),this.delayDurationSelector=n,this.completed=!1,this.delayNotifierSubscriptions=[],this.values=[]}return i(t,e),t.prototype.notifyNext=function(e,t,n,i,r){this.destination.next(e),this.removeSubscription(r),this.tryComplete()},t.prototype.notifyError=function(e,t){this._error(e)},t.prototype.notifyComplete=function(e){var t=this.removeSubscription(e);t&&this.destination.next(t),this.tryComplete()},t.prototype._next=function(e){try{var t=this.delayDurationSelector(e);t&&this.tryDelay(t,e)}catch(n){this.destination.error(n)}},t.prototype._complete=function(){this.completed=!0,this.tryComplete()},t.prototype.removeSubscription=function(e){e.unsubscribe();var t=this.delayNotifierSubscriptions.indexOf(e),n=null;return-1!==t&&(n=this.values[t],this.delayNotifierSubscriptions.splice(t,1),this.values.splice(t,1)),n},t.prototype.tryDelay=function(e,t){var n=s.subscribeToResult(this,e,t);n&&!n.closed&&(this.add(n),this.delayNotifierSubscriptions.push(n)),this.values.push(t)},t.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()},t}(a.OuterSubscriber),l=function(e){function t(t,n){e.call(this),this.source=t,this.subscriptionDelay=n}return i(t,e),t.prototype._subscribe=function(e){this.subscriptionDelay.subscribe(new h(e,this.source))},t}(o.Observable),h=function(e){function t(t,n){e.call(this),this.parent=t,this.source=n,this.sourceSubscribed=!1}return i(t,e),t.prototype._next=function(e){this.subscribeToSource()},t.prototype._error=function(e){this.unsubscribe(),this.parent.error(e)},t.prototype._complete=function(){this.subscribeToSource()},t.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))},t}(r.Subscriber)},95591:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.dematerialize=function(){return function(e){return e.lift(new o)}};var o=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new a(e))},e}(),a=function(e){function t(t){e.call(this,t)}return i(t,e),t.prototype._next=function(e){e.observe(this.destination)},t}(r.Subscriber)},25753:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658),a=n(40317);t.distinct=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.keySelector=e,this.flushes=t}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.keySelector,this.flushes))},e}(),u=function(e){function t(t,n,i){e.call(this,t),this.keySelector=n,this.values=new a.Set,i&&this.add(o.subscribeToResult(this,i))}return i(t,e),t.prototype.notifyNext=function(e,t,n,i,r){this.values.clear()},t.prototype.notifyError=function(e,t){this._error(e)},t.prototype._next=function(e){this.keySelector?this._useKeySelector(e):this._finalizeNext(e,e)},t.prototype._useKeySelector=function(e){var t,n=this.destination;try{t=this.keySelector(e)}catch(i){return void n.error(i)}this._finalizeNext(t,e)},t.prototype._finalizeNext=function(e,t){var n=this.values;n.has(e)||(n.add(e),this.destination.next(t))},t}(r.OuterSubscriber);t.DistinctSubscriber=u},65608:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(33463),a=n(85814);t.distinctUntilChanged=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.compare=e,this.keySelector=t}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.compare,this.keySelector))},e}(),u=function(e){function t(t,n,i){e.call(this,t),this.keySelector=i,this.hasKey=!1,"function"==typeof n&&(this.compare=n)}return i(t,e),t.prototype.compare=function(e,t){return e===t},t.prototype._next=function(e){var t=e;if(this.keySelector&&(t=o.tryCatch(this.keySelector)(e))===a.errorObject)return this.destination.error(a.errorObject.e);var n=!1;if(this.hasKey){if((n=o.tryCatch(this.compare)(this.key,t))===a.errorObject)return this.destination.error(a.errorObject.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=t,this.destination.next(e))},t}(r.Subscriber)},8330:function(e,t,n){"use strict";var i=n(65608);t.distinctUntilKeyChanged=function(e,t){return i.distinctUntilChanged(function(n,i){return t?t(n[e],i[e]):n[e]===i[e]})}},29264:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(11758);t.elementAt=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){if(this.index=e,this.defaultValue=t,e<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.index,this.defaultValue))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.index=n,this.defaultValue=i}return i(t,e),t.prototype._next=function(e){0==this.index--&&(this.destination.next(e),this.destination.complete())},t.prototype._complete=function(){var e=this.destination;this.index>=0&&(void 0!==this.defaultValue?e.next(this.defaultValue):e.error(new o.ArgumentOutOfRangeError)),e.complete()},t}(r.Subscriber)},26285:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.every=function(e,t){return function(n){return n.lift(new o(e,t,n))}};var o=function(){function e(e,t,n){this.predicate=e,this.thisArg=t,this.source=n}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.predicate,this.thisArg,this.source))},e}(),a=function(e){function t(t,n,i,r){e.call(this,t),this.predicate=n,this.thisArg=i,this.source=r,this.index=0,this.thisArg=i||this}return i(t,e),t.prototype.notifyComplete=function(e){this.destination.next(e),this.destination.complete()},t.prototype._next=function(e){var t=!1;try{t=this.predicate.call(this.thisArg,e,this.index++,this.source)}catch(n){return void this.destination.error(n)}t||this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(r.Subscriber)},93229:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.exhaust=function(){return function(e){return e.lift(new a)}};var a=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new s(e))},e}(),s=function(e){function t(t){e.call(this,t),this.hasCompleted=!1,this.hasSubscription=!1}return i(t,e),t.prototype._next=function(e){this.hasSubscription||(this.hasSubscription=!0,this.add(o.subscribeToResult(this,e)))},t.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},t.prototype.notifyComplete=function(e){this.remove(e),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},t}(r.OuterSubscriber)},15758:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.exhaustMap=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.project=e,this.resultSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.project,this.resultSelector))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.project=n,this.resultSelector=i,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}return i(t,e),t.prototype._next=function(e){this.hasSubscription||this.tryNext(e)},t.prototype.tryNext=function(e){var t=this.index++,n=this.destination;try{var i=this.project(e,t);this.hasSubscription=!0,this.add(o.subscribeToResult(this,i,e,t))}catch(r){n.error(r)}},t.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},t.prototype.notifyNext=function(e,t,n,i,r){var o=this.destination;this.resultSelector?this.trySelectResult(e,t,n,i):o.next(t)},t.prototype.trySelectResult=function(e,t,n,i){var r=this.resultSelector,o=this.destination;try{var a=r(e,t,n,i);o.next(a)}catch(s){o.error(s)}},t.prototype.notifyError=function(e){this.destination.error(e)},t.prototype.notifyComplete=function(e){this.remove(e),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},t}(r.OuterSubscriber)},55364:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(33463),o=n(85814),a=n(84308),s=n(93658);t.expand=function(e,t,n){return void 0===t&&(t=Number.POSITIVE_INFINITY),void 0===n&&(n=void 0),t=(t||0)<1?Number.POSITIVE_INFINITY:t,function(i){return i.lift(new u(e,t,n))}};var u=function(){function e(e,t,n){this.project=e,this.concurrent=t,this.scheduler=n}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.project,this.concurrent,this.scheduler))},e}();t.ExpandOperator=u;var c=function(e){function t(t,n,i,r){e.call(this,t),this.project=n,this.concurrent=i,this.scheduler=r,this.index=0,this.active=0,this.hasCompleted=!1,i0&&this._next(t.shift()),this.hasCompleted&&0===this.active&&this.destination.complete()},t}(a.OuterSubscriber);t.ExpandSubscriber=c},27015:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.filter=function(e,t){return function(n){return n.lift(new o(e,t))}};var o=function(){function e(e,t){this.predicate=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.predicate,this.thisArg))},e}(),a=function(e){function t(t,n,i){e.call(this,t),this.predicate=n,this.thisArg=i,this.count=0}return i(t,e),t.prototype._next=function(e){var t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}t&&this.destination.next(e)},t}(r.Subscriber)},94367:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(72293);t.finalize=function(e){return function(t){return t.lift(new a(e))}};var a=function(){function e(e){this.callback=e}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.callback))},e}(),s=function(e){function t(t,n){e.call(this,t),this.add(new o.Subscription(n))}return i(t,e),t}(r.Subscriber)},16700:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.find=function(e,t){if("function"!=typeof e)throw new TypeError("predicate is not a function");return function(n){return n.lift(new o(e,n,!1,t))}};var o=function(){function e(e,t,n,i){this.predicate=e,this.source=t,this.yieldIndex=n,this.thisArg=i}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.predicate,this.source,this.yieldIndex,this.thisArg))},e}();t.FindValueOperator=o;var a=function(e){function t(t,n,i,r,o){e.call(this,t),this.predicate=n,this.source=i,this.yieldIndex=r,this.thisArg=o,this.index=0}return i(t,e),t.prototype.notifyComplete=function(e){var t=this.destination;t.next(e),t.complete()},t.prototype._next=function(e){var t=this.predicate,n=this.thisArg,i=this.index++;try{t.call(n||this,e,i,this.source)&&this.notifyComplete(this.yieldIndex?i:e)}catch(r){this.destination.error(r)}},t.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)},t}(r.Subscriber);t.FindValueSubscriber=a},86452:function(e,t,n){"use strict";var i=n(16700);t.findIndex=function(e,t){return function(n){return n.lift(new i.FindValueOperator(e,n,!0,t))}}},12309:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(44640);t.first=function(e,t,n){return function(i){return i.lift(new a(e,t,n,i))}};var a=function(){function e(e,t,n,i){this.predicate=e,this.resultSelector=t,this.defaultValue=n,this.source=i}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate,this.resultSelector,this.defaultValue,this.source))},e}(),s=function(e){function t(t,n,i,r,o){e.call(this,t),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=o,this.index=0,this.hasCompleted=!1,this._emitted=!1}return i(t,e),t.prototype._next=function(e){var t=this.index++;this.predicate?this._tryPredicate(e,t):this._emit(e,t)},t.prototype._tryPredicate=function(e,t){var n;try{n=this.predicate(e,t,this.source)}catch(i){return void this.destination.error(i)}n&&this._emit(e,t)},t.prototype._emit=function(e,t){this.resultSelector?this._tryResultSelector(e,t):this._emitFinal(e)},t.prototype._tryResultSelector=function(e,t){var n;try{n=this.resultSelector(e,t)}catch(i){return void this.destination.error(i)}this._emitFinal(n)},t.prototype._emitFinal=function(e){var t=this.destination;this._emitted||(this._emitted=!0,t.next(e),t.complete(),this.hasCompleted=!0)},t.prototype._complete=function(){var e=this.destination;this.hasCompleted||void 0===this.defaultValue?this.hasCompleted||e.error(new o.EmptyError):(e.next(this.defaultValue),e.complete())},t}(r.Subscriber)},92577:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(72293),a=n(18705),s=n(2369),u=n(49754),c=n(30764);t.groupBy=function(e,t,n,i){return function(r){return r.lift(new l(e,t,n,i))}};var l=function(){function e(e,t,n,i){this.keySelector=e,this.elementSelector=t,this.durationSelector=n,this.subjectSelector=i}return e.prototype.call=function(e,t){return t.subscribe(new h(e,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))},e}(),h=function(e){function t(t,n,i,r,o){e.call(this,t),this.keySelector=n,this.elementSelector=i,this.durationSelector=r,this.subjectSelector=o,this.groups=null,this.attemptedToUnsubscribe=!1,this.count=0}return i(t,e),t.prototype._next=function(e){var t;try{t=this.keySelector(e)}catch(n){return void this.error(n)}this._group(e,t)},t.prototype._group=function(e,t){var n=this.groups;n||(n=this.groups="string"==typeof t?new c.FastMap:new u.Map);var i,r=n.get(t);if(this.elementSelector)try{i=this.elementSelector(e)}catch(l){this.error(l)}else i=e;if(!r){r=this.subjectSelector?this.subjectSelector():new s.Subject,n.set(t,r);var o=new f(t,r,this);if(this.destination.next(o),this.durationSelector){var a=void 0;try{a=this.durationSelector(new f(t,r))}catch(l){return void this.error(l)}this.add(a.subscribe(new d(t,r,this)))}}r.closed||r.next(i)},t.prototype._error=function(e){var t=this.groups;t&&(t.forEach(function(t,n){t.error(e)}),t.clear()),this.destination.error(e)},t.prototype._complete=function(){var e=this.groups;e&&(e.forEach(function(e,t){e.complete()}),e.clear()),this.destination.complete()},t.prototype.removeGroup=function(e){this.groups.delete(e)},t.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&e.prototype.unsubscribe.call(this))},t}(r.Subscriber),d=function(e){function t(t,n,i){e.call(this,n),this.key=t,this.group=n,this.parent=i}return i(t,e),t.prototype._next=function(e){this.complete()},t.prototype._unsubscribe=function(){var e=this.parent,t=this.key;this.key=this.parent=null,e&&e.removeGroup(t)},t}(r.Subscriber),f=function(e){function t(t,n,i){e.call(this),this.key=t,this.groupSubject=n,this.refCountSubscription=i}return i(t,e),t.prototype._subscribe=function(e){var t=new o.Subscription,n=this.refCountSubscription,i=this.groupSubject;return n&&!n.closed&&t.add(new p(n)),t.add(i.subscribe(e)),t},t}(a.Observable);t.GroupedObservable=f;var p=function(e){function t(t){e.call(this),this.parent=t,t.count++}return i(t,e),t.prototype.unsubscribe=function(){var t=this.parent;!t.closed&&!this.closed&&(e.prototype.unsubscribe.call(this),t.count-=1,0===t.count&&t.attemptedToUnsubscribe&&t.unsubscribe())},t}(o.Subscription)},86898:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(68668);t.ignoreElements=function(){return function(e){return e.lift(new a)}};var a=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new s(e))},e}(),s=function(e){function t(){e.apply(this,arguments)}return i(t,e),t.prototype._next=function(e){o.noop()},t}(r.Subscriber)},89121:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.isEmpty=function(){return function(e){return e.lift(new o)}};var o=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new a(e))},e}(),a=function(e){function t(t){e.call(this,t)}return i(t,e),t.prototype.notifyComplete=function(e){var t=this.destination;t.next(e),t.complete()},t.prototype._next=function(e){this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(r.Subscriber)},4636:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(44640);t.last=function(e,t,n){return function(i){return i.lift(new a(e,t,n,i))}};var a=function(){function e(e,t,n,i){this.predicate=e,this.resultSelector=t,this.defaultValue=n,this.source=i}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate,this.resultSelector,this.defaultValue,this.source))},e}(),s=function(e){function t(t,n,i,r,o){e.call(this,t),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=o,this.hasValue=!1,this.index=0,void 0!==r&&(this.lastValue=r,this.hasValue=!0)}return i(t,e),t.prototype._next=function(e){var t=this.index++;if(this.predicate)this._tryPredicate(e,t);else{if(this.resultSelector)return void this._tryResultSelector(e,t);this.lastValue=e,this.hasValue=!0}},t.prototype._tryPredicate=function(e,t){var n;try{n=this.predicate(e,t,this.source)}catch(i){return void this.destination.error(i)}if(n){if(this.resultSelector)return void this._tryResultSelector(e,t);this.lastValue=e,this.hasValue=!0}},t.prototype._tryResultSelector=function(e,t){var n;try{n=this.resultSelector(e,t)}catch(i){return void this.destination.error(i)}this.lastValue=n,this.hasValue=!0},t.prototype._complete=function(){var e=this.destination;this.hasValue?(e.next(this.lastValue),e.complete()):e.error(new o.EmptyError)},t}(r.Subscriber)},40119:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.map=function(e,t){return function(n){if("function"!=typeof e)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new o(e,t))}};var o=function(){function e(e,t){this.project=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.project,this.thisArg))},e}();t.MapOperator=o;var a=function(e){function t(t,n,i){e.call(this,t),this.project=n,this.count=0,this.thisArg=i||this}return i(t,e),t.prototype._next=function(e){var t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(t)},t}(r.Subscriber)},23491:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.mapTo=function(e){return function(t){return t.lift(new o(e))}};var o=function(){function e(e){this.value=e}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.value))},e}(),a=function(e){function t(t,n){e.call(this,t),this.value=n}return i(t,e),t.prototype._next=function(e){this.destination.next(this.value)},t}(r.Subscriber)},71177:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(94429);t.materialize=function(){return function(e){return e.lift(new a)}};var a=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new s(e))},e}(),s=function(e){function t(t){e.call(this,t)}return i(t,e),t.prototype._next=function(e){this.destination.next(o.Notification.createNext(e))},t.prototype._error=function(e){var t=this.destination;t.next(o.Notification.createError(e)),t.complete()},t.prototype._complete=function(){var e=this.destination;e.next(o.Notification.createComplete()),e.complete()},t}(r.Subscriber)},33499:function(e,t,n){"use strict";var i=n(97369);t.max=function(e){return i.reduce("function"==typeof e?function(t,n){return e(t,n)>0?t:n}:function(e,t){return e>t?e:t})}},56098:function(e,t,n){"use strict";var i=n(38781),r=n(38781);t.mergeStatic=r.merge,t.merge=function(){for(var e=[],t=0;t0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},t}(o.OuterSubscriber);t.MergeMapSubscriber=s},6693:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.mergeMapTo=function(e,t,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"number"==typeof t&&(n=t,t=null),function(i){return i.lift(new a(e,t,n))}};var a=function(){function e(e,t,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.ish=e,this.resultSelector=t,this.concurrent=n}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.ish,this.resultSelector,this.concurrent))},e}();t.MergeMapToOperator=a;var s=function(e){function t(t,n,i,r){void 0===r&&(r=Number.POSITIVE_INFINITY),e.call(this,t),this.ish=n,this.resultSelector=i,this.concurrent=r,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(t,e),t.prototype._next=function(e){if(this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},t}(r.OuterSubscriber);t.MergeMapToSubscriber=s},7550:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(33463),o=n(85814),a=n(93658),s=n(84308);t.mergeScan=function(e,t,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(i){return i.lift(new u(e,t,n))}};var u=function(){function e(e,t,n){this.accumulator=e,this.seed=t,this.concurrent=n}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.accumulator,this.seed,this.concurrent))},e}();t.MergeScanOperator=u;var c=function(e){function t(t,n,i,r){e.call(this,t),this.accumulator=n,this.acc=i,this.concurrent=r,this.hasValue=!1,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(t,e),t.prototype._next=function(e){if(this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())},t}(s.OuterSubscriber);t.MergeScanSubscriber=c},51213:function(e,t,n){"use strict";var i=n(97369);t.min=function(e){return i.reduce("function"==typeof e?function(t,n){return e(t,n)<0?t:n}:function(e,t){return e=2?function(n){return a.pipe(i.scan(e,t),r.takeLast(1),o.defaultIfEmpty(t))(n)}:function(t){return a.pipe(i.scan(function(t,n,i){return e(t,n,i+1)}),r.takeLast(1))(t)}}},1694:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.refCount=function(){return function(e){return e.lift(new o(e))}};var o=function(){function e(e){this.connectable=e}return e.prototype.call=function(e,t){var n=this.connectable;n._refCount++;var i=new a(e,n),r=t.subscribe(i);return i.closed||(i.connection=n.connect()),r},e}(),a=function(e){function t(t,n){e.call(this,t),this.connectable=n}return i(t,e),t.prototype._unsubscribe=function(){var e=this.connectable;if(e){this.connectable=null;var t=e._refCount;if(t<=0)this.connection=null;else if(e._refCount=t-1,t>1)this.connection=null;else{var n=this.connection,i=e._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null},t}(r.Subscriber)},15329:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(70481);t.repeat=function(e){return void 0===e&&(e=-1),function(t){return 0===e?new o.EmptyObservable:t.lift(new a(e<0?-1:e-1,t))}};var a=function(){function e(e,t){this.count=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.count,this.source))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.count=n,this.source=i}return i(t,e),t.prototype.complete=function(){if(!this.isStopped){var t=this.source,n=this.count;if(0===n)return e.prototype.complete.call(this);n>-1&&(this.count=n-1),t.subscribe(this._unsubscribeAndRecycle())}},t}(r.Subscriber)},63964:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(33463),a=n(85814),s=n(84308),u=n(93658);t.repeatWhen=function(e){return function(t){return t.lift(new c(e))}};var c=function(){function e(e){this.notifier=e}return e.prototype.call=function(e,t){return t.subscribe(new l(e,this.notifier,t))},e}(),l=function(e){function t(t,n,i){e.call(this,t),this.notifier=n,this.source=i,this.sourceIsBeingSubscribedTo=!0}return i(t,e),t.prototype.notifyNext=function(e,t,n,i,r){this.sourceIsBeingSubscribedTo=!0,this.source.subscribe(this)},t.prototype.notifyComplete=function(t){if(!1===this.sourceIsBeingSubscribedTo)return e.prototype.complete.call(this)},t.prototype.complete=function(){if(this.sourceIsBeingSubscribedTo=!1,!this.isStopped){if(this.retries||this.subscribeToRetries(),!this.retriesSubscription||this.retriesSubscription.closed)return e.prototype.complete.call(this);this._unsubscribeAndRecycle(),this.notifications.next()}},t.prototype._unsubscribe=function(){var e=this.notifications,t=this.retriesSubscription;e&&(e.unsubscribe(),this.notifications=null),t&&(t.unsubscribe(),this.retriesSubscription=null),this.retries=null},t.prototype._unsubscribeAndRecycle=function(){var t=this,n=t.notifications,i=t.retries,r=t.retriesSubscription;return this.notifications=null,this.retries=null,this.retriesSubscription=null,e.prototype._unsubscribeAndRecycle.call(this),this.notifications=n,this.retries=i,this.retriesSubscription=r,this},t.prototype.subscribeToRetries=function(){this.notifications=new r.Subject;var t=o.tryCatch(this.notifier)(this.notifications);if(t===a.errorObject)return e.prototype.complete.call(this);this.retries=t,this.retriesSubscription=u.subscribeToResult(this,t)},t}(s.OuterSubscriber)},40241:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.retry=function(e){return void 0===e&&(e=-1),function(t){return t.lift(new o(e,t))}};var o=function(){function e(e,t){this.count=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.count,this.source))},e}(),a=function(e){function t(t,n,i){e.call(this,t),this.count=n,this.source=i}return i(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=this.source,i=this.count;if(0===i)return e.prototype.error.call(this,t);i>-1&&(this.count=i-1),n.subscribe(this._unsubscribeAndRecycle())}},t}(r.Subscriber)},23896:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(33463),a=n(85814),s=n(84308),u=n(93658);t.retryWhen=function(e){return function(t){return t.lift(new c(e,t))}};var c=function(){function e(e,t){this.notifier=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new l(e,this.notifier,this.source))},e}(),l=function(e){function t(t,n,i){e.call(this,t),this.notifier=n,this.source=i}return i(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=this.errors,i=this.retries,s=this.retriesSubscription;if(i)this.errors=null,this.retriesSubscription=null;else{if(n=new r.Subject,(i=o.tryCatch(this.notifier)(n))===a.errorObject)return e.prototype.error.call(this,a.errorObject.e);s=u.subscribeToResult(this,i)}this._unsubscribeAndRecycle(),this.errors=n,this.retries=i,this.retriesSubscription=s,n.next(t)}},t.prototype._unsubscribe=function(){var e=this.errors,t=this.retriesSubscription;e&&(e.unsubscribe(),this.errors=null),t&&(t.unsubscribe(),this.retriesSubscription=null),this.retries=null},t.prototype.notifyNext=function(e,t,n,i,r){var o=this,a=o.errors,s=o.retries,u=o.retriesSubscription;this.errors=null,this.retries=null,this.retriesSubscription=null,this._unsubscribeAndRecycle(),this.errors=a,this.retries=s,this.retriesSubscription=u,this.source.subscribe(this)},t}(s.OuterSubscriber)},92043:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.sample=function(e){return function(t){return t.lift(new a(e))}};var a=function(){function e(e){this.notifier=e}return e.prototype.call=function(e,t){var n=new s(e),i=t.subscribe(n);return i.add(o.subscribeToResult(n,this.notifier)),i},e}(),s=function(e){function t(){e.apply(this,arguments),this.hasValue=!1}return i(t,e),t.prototype._next=function(e){this.value=e,this.hasValue=!0},t.prototype.notifyNext=function(e,t,n,i,r){this.emitValue()},t.prototype.notifyComplete=function(){this.emitValue()},t.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))},t}(r.OuterSubscriber)},71239:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(90680);t.sampleTime=function(e,t){return void 0===t&&(t=o.async),function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.period=e,this.scheduler=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.period,this.scheduler))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.period=n,this.scheduler=i,this.hasValue=!1,this.add(i.schedule(u,n,{subscriber:this,period:n}))}return i(t,e),t.prototype._next=function(e){this.lastValue=e,this.hasValue=!0},t.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))},t}(r.Subscriber);function u(e){var t=e.period;e.subscriber.notifyNext(),this.schedule(e,t)}},64949:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.scan=function(e,t){var n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new o(e,t,n))}};var o=function(){function e(e,t,n){void 0===n&&(n=!1),this.accumulator=e,this.seed=t,this.hasSeed=n}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.accumulator,this.seed,this.hasSeed))},e}(),a=function(e){function t(t,n,i,r){e.call(this,t),this.accumulator=n,this._seed=i,this.hasSeed=r,this.index=0}return i(t,e),Object.defineProperty(t.prototype,"seed",{get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e},enumerable:!0,configurable:!0}),t.prototype._next=function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)},t.prototype._tryNext=function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(i){this.destination.error(i)}this.seed=t,this.destination.next(t)},t}(r.Subscriber)},88948:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(33463),a=n(85814);t.sequenceEqual=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.compareTo=e,this.comparor=t}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.compareTo,this.comparor))},e}();t.SequenceEqualOperator=s;var u=function(e){function t(t,n,i){e.call(this,t),this.compareTo=n,this.comparor=i,this._a=[],this._b=[],this._oneComplete=!1,this.add(n.subscribe(new c(t,this)))}return i(t,e),t.prototype._next=function(e){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(e),this.checkValues())},t.prototype._complete=function(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0},t.prototype.checkValues=function(){for(var e=this,t=e._a,n=e._b,i=e.comparor;t.length>0&&n.length>0;){var r=t.shift(),s=n.shift(),u=!1;i?(u=o.tryCatch(i)(r,s))===a.errorObject&&this.destination.error(a.errorObject.e):u=r===s,u||this.emit(!1)}},t.prototype.emit=function(e){var t=this.destination;t.next(e),t.complete()},t.prototype.nextB=function(e){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(e),this.checkValues())},t}(r.Subscriber);t.SequenceEqualSubscriber=u;var c=function(e){function t(t,n){e.call(this,t),this.parent=n}return i(t,e),t.prototype._next=function(e){this.parent.nextB(e)},t.prototype._error=function(e){this.parent.error(e)},t.prototype._complete=function(){this.parent._complete()},t}(r.Subscriber)},35473:function(e,t,n){"use strict";var i=n(27372),r=n(1694),o=n(2369);function a(){return new o.Subject}t.share=function(){return function(e){return r.refCount()(i.multicast(a)(e))}}},62704:function(e,t,n){"use strict";var i=n(81959);t.shareReplay=function(e,t,n){return function(r){return r.lift(function(e,t,n){var r,o,a=0,s=!1,u=!1;return function(c){a++,(!r||s)&&(s=!1,r=new i.ReplaySubject(e,t,n),o=c.subscribe({next:function(e){r.next(e)},error:function(e){s=!0,r.error(e)},complete:function(){u=!0,r.complete()}}));var l=r.subscribe(this);return function(){a--,l.unsubscribe(),o&&0===a&&u&&o.unsubscribe()}}}(e,t,n))}}},92223:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(44640);t.single=function(e){return function(t){return t.lift(new a(e,t))}};var a=function(){function e(e,t){this.predicate=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate,this.source))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.predicate=n,this.source=i,this.seenValue=!1,this.index=0}return i(t,e),t.prototype.applySingleValue=function(e){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=e)},t.prototype._next=function(e){var t=this.index++;this.predicate?this.tryNext(e,t):this.applySingleValue(e)},t.prototype.tryNext=function(e,t){try{this.predicate(e,t,this.source)&&this.applySingleValue(e)}catch(n){this.destination.error(n)}},t.prototype._complete=function(){var e=this.destination;this.index>0?(e.next(this.seenValue?this.singleValue:void 0),e.complete()):e.error(new o.EmptyError)},t}(r.Subscriber)},11189:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109);t.skip=function(e){return function(t){return t.lift(new o(e))}};var o=function(){function e(e){this.total=e}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.total))},e}(),a=function(e){function t(t,n){e.call(this,t),this.total=n,this.count=0}return i(t,e),t.prototype._next=function(e){++this.count>this.total&&this.destination.next(e)},t}(r.Subscriber)},73346:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(11758);t.skipLast=function(e){return function(t){return t.lift(new a(e))}};var a=function(){function e(e){if(this._skipCount=e,this._skipCount<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(0===this._skipCount?new r.Subscriber(e):new s(e,this._skipCount))},e}(),s=function(e){function t(t,n){e.call(this,t),this._skipCount=n,this._count=0,this._ring=new Array(n)}return i(t,e),t.prototype._next=function(e){var t=this._skipCount,n=this._count++;if(n1?new i.ArrayObservable(e,n):new o.EmptyObservable(n),t)}}},10118:function(e,t,n){"use strict";var i=n(82966);t.subscribeOn=function(e,t){return void 0===t&&(t=0),function(n){return n.lift(new r(e,t))}};var r=function(){function e(e,t){this.scheduler=e,this.delay=t}return e.prototype.call=function(e,t){return new i.SubscribeOnObservable(t,this.delay,this.scheduler).subscribe(e)},e}()},77243:function(e,t,n){"use strict";var i=n(18483),r=n(5027);t.switchAll=function(){return i.switchMap(r.identity)}},18483:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.switchMap=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.project=e,this.resultSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.project,this.resultSelector))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.project=n,this.resultSelector=i,this.index=0}return i(t,e),t.prototype._next=function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(i){return void this.destination.error(i)}this._innerSub(t,e,n)},t.prototype._innerSub=function(e,t,n){var i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=o.subscribeToResult(this,e,t,n))},t.prototype._complete=function(){var t=this.innerSubscription;(!t||t.closed)&&e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.innerSubscription=null},t.prototype.notifyComplete=function(t){this.remove(t),this.innerSubscription=null,this.isStopped&&e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,i,r){this.resultSelector?this._tryNotifyNext(e,t,n,i):this.destination.next(t)},t.prototype._tryNotifyNext=function(e,t,n,i){var r;try{r=this.resultSelector(e,t,n,i)}catch(o){return void this.destination.error(o)}this.destination.next(r)},t}(r.OuterSubscriber)},10684:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(84308),o=n(93658);t.switchMapTo=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.observable=e,this.resultSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.observable,this.resultSelector))},e}(),s=function(e){function t(t,n,i){e.call(this,t),this.inner=n,this.resultSelector=i,this.index=0}return i(t,e),t.prototype._next=function(e){var t=this.innerSubscription;t&&t.unsubscribe(),this.add(this.innerSubscription=o.subscribeToResult(this,this.inner,e,this.index++))},t.prototype._complete=function(){var t=this.innerSubscription;(!t||t.closed)&&e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.innerSubscription=null},t.prototype.notifyComplete=function(t){this.remove(t),this.innerSubscription=null,this.isStopped&&e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,i,r){var o=this.destination;this.resultSelector?this.tryResultSelector(e,t,n,i):o.next(t)},t.prototype.tryResultSelector=function(e,t,n,i){var r,o=this.resultSelector,a=this.destination;try{r=o(e,t,n,i)}catch(s){return void a.error(s)}a.next(r)},t}(r.OuterSubscriber)},44396:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(11758),a=n(70481);t.take=function(e){return function(t){return 0===e?new a.EmptyObservable:t.lift(new s(e))}};var s=function(){function e(e){if(this.total=e,this.total<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.total))},e}(),u=function(e){function t(t,n){e.call(this,t),this.total=n,this.count=0}return i(t,e),t.prototype._next=function(e){var t=this.total,n=++this.count;n<=t&&(this.destination.next(e),n===t&&(this.destination.complete(),this.unsubscribe()))},t}(r.Subscriber)},73935:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(42109),o=n(11758),a=n(70481);t.takeLast=function(e){return function(t){return 0===e?new a.EmptyObservable:t.lift(new s(e))}};var s=function(){function e(e){if(this.total=e,this.total<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.total))},e}(),u=function(e){function t(t,n){e.call(this,t),this.total=n,this.ring=new Array,this.count=0}return i(t,e),t.prototype._next=function(e){var t=this.ring,n=this.total,i=this.count++;t.length0)for(var n=this.count>=this.total?this.total:this.count,i=this.ring,r=0;r0?this.startWindowEvery:this.windowSize,n=this.destination,i=this.windowSize,r=this.windows,a=r.length,s=0;s=0&&u%t==0&&!this.closed&&r.shift().complete(),++this.count%t==0&&!this.closed){var c=new o.Subject;r.push(c),n.next(c)}},t.prototype._error=function(e){var t=this.windows;if(t)for(;t.length>0&&!this.closed;)t.shift().error(e);this.destination.error(e)},t.prototype._complete=function(){var e=this.windows;if(e)for(;e.length>0&&!this.closed;)e.shift().complete();this.destination.complete()},t.prototype._unsubscribe=function(){this.count=0,this.windows=null},t}(r.Subscriber)},42603:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(90680),a=n(42109),s=n(39479),u=n(41503);t.windowTime=function(e){var t=o.async,n=null,i=Number.POSITIVE_INFINITY;return u.isScheduler(arguments[3])&&(t=arguments[3]),u.isScheduler(arguments[2])?t=arguments[2]:s.isNumeric(arguments[2])&&(i=arguments[2]),u.isScheduler(arguments[1])?t=arguments[1]:s.isNumeric(arguments[1])&&(n=arguments[1]),function(r){return r.lift(new c(e,n,i,t))}};var c=function(){function e(e,t,n,i){this.windowTimeSpan=e,this.windowCreationInterval=t,this.maxWindowSize=n,this.scheduler=i}return e.prototype.call=function(e,t){return t.subscribe(new h(e,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))},e}(),l=function(e){function t(){e.apply(this,arguments),this._numberOfNextedValues=0}return i(t,e),t.prototype.next=function(t){this._numberOfNextedValues++,e.prototype.next.call(this,t)},Object.defineProperty(t.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0}),t}(r.Subject),h=function(e){function t(t,n,i,r,o){e.call(this,t),this.destination=t,this.windowTimeSpan=n,this.windowCreationInterval=i,this.maxWindowSize=r,this.scheduler=o,this.windows=[];var a=this.openWindow();if(null!==i&&i>=0){var s={windowTimeSpan:n,windowCreationInterval:i,subscriber:this,scheduler:o};this.add(o.schedule(p,n,{subscriber:this,window:a,context:null})),this.add(o.schedule(f,i,s))}else this.add(o.schedule(d,n,{subscriber:this,window:a,windowTimeSpan:n}))}return i(t,e),t.prototype._next=function(e){for(var t=this.windows,n=t.length,i=0;i=this.maxWindowSize&&this.closeWindow(r))}},t.prototype._error=function(e){for(var t=this.windows;t.length>0;)t.shift().error(e);this.destination.error(e)},t.prototype._complete=function(){for(var e=this.windows;e.length>0;){var t=e.shift();t.closed||t.complete()}this.destination.complete()},t.prototype.openWindow=function(){var e=new l;return this.windows.push(e),this.destination.next(e),e},t.prototype.closeWindow=function(e){e.complete();var t=this.windows;t.splice(t.indexOf(e),1)},t}(a.Subscriber);function d(e){var t=e.subscriber,n=e.windowTimeSpan,i=e.window;i&&t.closeWindow(i),e.window=t.openWindow(),this.schedule(e,n)}function f(e){var t=e.windowTimeSpan,n=e.subscriber,i=e.scheduler,r=e.windowCreationInterval,o=n.openWindow(),a=this,s={action:a,subscription:null};s.subscription=i.schedule(p,t,{subscriber:n,window:o,context:s}),a.add(s.subscription),a.schedule(e,r)}function p(e){var t=e.subscriber,n=e.window,i=e.context;i&&i.action&&i.subscription&&i.action.remove(i.subscription),t.closeWindow(n)}},59048:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(2369),o=n(72293),a=n(33463),s=n(85814),u=n(84308),c=n(93658);t.windowToggle=function(e,t){return function(n){return n.lift(new l(e,t))}};var l=function(){function e(e,t){this.openings=e,this.closingSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new h(e,this.openings,this.closingSelector))},e}(),h=function(e){function t(t,n,i){e.call(this,t),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(this.openSubscription=c.subscribeToResult(this,n,n))}return i(t,e),t.prototype._next=function(e){var t=this.contexts;if(t)for(var n=t.length,i=0;i0){var a=o.indexOf(n);-1!==a&&o.splice(a,1)}},t.prototype.notifyComplete=function(){},t.prototype._next=function(e){if(0===this.toRespond.length){var t=[e].concat(this.values);this.project?this._tryProject(t):this.destination.next(t)}},t.prototype._tryProject=function(e){var t;try{t=this.project.apply(this,e)}catch(n){return void this.destination.error(n)}this.destination.next(t)},t}(r.OuterSubscriber)},9477:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(96177),o=n(48242),a=n(42109),s=n(84308),u=n(93658),c=n(72121);function l(){for(var e=[],t=0;tthis.index},e.prototype.hasCompleted=function(){return this.array.length===this.index},e}(),v=function(e){function t(t,n,i){e.call(this,t),this.parent=n,this.observable=i,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}return i(t,e),t.prototype[c.iterator]=function(){return this},t.prototype.next=function(){var e=this.buffer;return 0===e.length&&this.isComplete?{value:null,done:!0}:{value:e.shift(),done:!1}},t.prototype.hasValue=function(){return this.buffer.length>0},t.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},t.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},t.prototype.notifyNext=function(e,t,n,i,r){this.buffer.push(t),this.parent.checkIterators()},t.prototype.subscribe=function(e,t){return u.subscribeToResult(this,this.observable,this,t)},t}(s.OuterSubscriber)},33310:function(e,t,n){"use strict";var i=n(9477);t.zipAll=function(e){return function(t){return t.lift(new i.ZipOperator(e))}}},28101:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(t,n){e.call(this)}return i(t,e),t.prototype.schedule=function(e,t){return void 0===t&&(t=0),this},t}(n(72293).Subscription);t.Action=r},67529:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(12624),o=n(95018),a=function(e){function t(t,n){e.call(this,t,n),this.scheduler=t,this.work=n}return i(t,e),t.prototype.requestAsyncId=function(t,n,i){return void 0===i&&(i=0),null!==i&&i>0?e.prototype.requestAsyncId.call(this,t,n,i):(t.actions.push(this),t.scheduled||(t.scheduled=o.AnimationFrame.requestAnimationFrame(t.flush.bind(t,null))))},t.prototype.recycleAsyncId=function(t,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,i);0===t.actions.length&&(o.AnimationFrame.cancelAnimationFrame(n),t.scheduled=void 0)},t}(r.AsyncAction);t.AnimationFrameAction=a},68909:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(){e.apply(this,arguments)}return i(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,r=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i0?e.prototype.requestAsyncId.call(this,t,n,i):(t.actions.push(this),t.scheduled||(t.scheduled=r.Immediate.setImmediate(t.flush.bind(t,null))))},t.prototype.recycleAsyncId=function(t,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,i);0===t.actions.length&&(r.Immediate.clearImmediate(n),t.scheduled=void 0)},t}(n(12624).AsyncAction);t.AsapAction=o},25766:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(){e.apply(this,arguments)}return i(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,r=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i0?e.prototype.schedule.call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)},t.prototype.execute=function(t,n){return n>0||this.closed?e.prototype.execute.call(this,t,n):this._execute(t,n)},t.prototype.requestAsyncId=function(t,n,i){return void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0?e.prototype.requestAsyncId.call(this,t,n,i):t.flush(this)},t}(n(12624).AsyncAction);t.QueueAction=r},77373:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=function(e){function t(){e.apply(this,arguments)}return i(t,e),t}(n(42704).AsyncScheduler);t.QueueScheduler=r},18353:function(e,t,n){"use strict";var i=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},r=n(12624),o=function(e){function t(t,n){var i=this;void 0===t&&(t=a),void 0===n&&(n=Number.POSITIVE_INFINITY),e.call(this,t,function(){return i.frame}),this.maxFrames=n,this.frame=0,this.index=-1}return i(t,e),t.prototype.flush=function(){for(var e,t,n=this.actions,i=this.maxFrames;(t=n.shift())&&(this.frame=t.delay)<=i&&!(e=t.execute(t.state,t.delay)););if(e){for(;t=n.shift();)t.unsubscribe();throw e}},t.frameTimeFactor=10,t}(n(42704).AsyncScheduler);t.VirtualTimeScheduler=o;var a=function(e){function t(t,n,i){void 0===i&&(i=t.index+=1),e.call(this,t,n),this.scheduler=t,this.work=n,this.index=i,this.active=!0,this.index=t.index=i}return i(t,e),t.prototype.schedule=function(n,i){if(void 0===i&&(i=0),!this.id)return e.prototype.schedule.call(this,n,i);this.active=!1;var r=new t(this.scheduler,this.work);return this.add(r),r.schedule(n,i)},t.prototype.requestAsyncId=function(e,n,i){void 0===i&&(i=0),this.delay=e.frame+i;var r=e.actions;return r.push(this),r.sort(t.sortActions),!0},t.prototype.recycleAsyncId=function(e,t,n){void 0===n&&(n=0)},t.prototype._execute=function(t,n){if(!0===this.active)return e.prototype._execute.call(this,t,n)},t.sortActions=function(e,t){return e.delay===t.delay?e.index===t.index?0:e.index>t.index?1:-1:e.delay>t.delay?1:-1},t}(r.AsyncAction);t.VirtualAction=a},12948:function(e,t,n){"use strict";var i=n(67529),r=n(68909);t.animationFrame=new r.AnimationFrameScheduler(i.AnimationFrameAction)},85522:function(e,t,n){"use strict";var i=n(3496),r=n(25766);t.asap=new r.AsapScheduler(i.AsapAction)},90680:function(e,t,n){"use strict";var i=n(12624),r=n(42704);t.async=new r.AsyncScheduler(i.AsyncAction)},97088:function(e,t,n){"use strict";var i=n(7100),r=n(77373);t.queue=new r.QueueScheduler(i.QueueAction)},72121:function(e,t,n){"use strict";var i=n(80019);function r(e){var t=e.Symbol;if("function"==typeof t)return t.iterator||(t.iterator=t("iterator polyfill")),t.iterator;var n=e.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var i=e.Map;if(i)for(var r=Object.getOwnPropertyNames(i.prototype),o=0;o0;)t.shift().setup();e.prototype.flush.call(this);for(var n=this.flushTests.filter(function(e){return e.ready});n.length>0;){var i=n.shift();this.assertDeepEqual(i.actual,i.expected)}},t.parseMarblesAsSubscriptions=function(e){if("string"!=typeof e)return new u.SubscriptionLog(Number.POSITIVE_INFINITY);for(var t=e.length,n=-1,i=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,o=0;o-1?n:a;break;case"!":if(r!==Number.POSITIVE_INFINITY)throw new Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");r=n>-1?n:a;break;default:throw new Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+s+"'.")}}return r<0?new u.SubscriptionLog(i):new u.SubscriptionLog(i,r)},t.parseMarbles=function(e,t,n,i){if(void 0===i&&(i=!1),-1!==e.indexOf("!"))throw new Error('conventional marble diagrams cannot have the unsubscription marker "!"');for(var r=e.length,s=[],u=e.indexOf("^"),c=-1===u?0:u*-this.frameTimeFactor,l="object"!=typeof t?function(e){return e}:function(e){return i&&t[e]instanceof a.ColdObservable?t[e].messages:t[e]},h=-1,d=0;d-1?h:f,notification:p})}return s},t}(c.VirtualTimeScheduler);t.TestScheduler=l},95018:function(e,t,n){"use strict";var i=n(80019),r=function(e){e.requestAnimationFrame?(this.cancelAnimationFrame=e.cancelAnimationFrame.bind(e),this.requestAnimationFrame=e.requestAnimationFrame.bind(e)):e.mozRequestAnimationFrame?(this.cancelAnimationFrame=e.mozCancelAnimationFrame.bind(e),this.requestAnimationFrame=e.mozRequestAnimationFrame.bind(e)):e.webkitRequestAnimationFrame?(this.cancelAnimationFrame=e.webkitCancelAnimationFrame.bind(e),this.requestAnimationFrame=e.webkitRequestAnimationFrame.bind(e)):e.msRequestAnimationFrame?(this.cancelAnimationFrame=e.msCancelAnimationFrame.bind(e),this.requestAnimationFrame=e.msRequestAnimationFrame.bind(e)):e.oRequestAnimationFrame?(this.cancelAnimationFrame=e.oCancelAnimationFrame.bind(e),this.requestAnimationFrame=e.oRequestAnimationFrame.bind(e)):(this.cancelAnimationFrame=e.clearTimeout.bind(e),this.requestAnimationFrame=function(t){return e.setTimeout(t,1e3/60)})};t.RequestAnimationFrameDefinition=r,t.AnimationFrame=new r(i.root)},11758:function(e,t){"use strict";var n=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},i=function(e){function t(){var t=e.call(this,"argument out of range");this.name=t.name="ArgumentOutOfRangeError",this.stack=t.stack,this.message=t.message}return n(t,e),t}(Error);t.ArgumentOutOfRangeError=i},44640:function(e,t){"use strict";var n=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function i(){this.constructor=e}e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},i=function(e){function t(){var t=e.call(this,"no elements in sequence");this.name=t.name="EmptyError",this.stack=t.stack,this.message=t.message}return n(t,e),t}(Error);t.EmptyError=i},30764:function(e,t){"use strict";var n=function(){function e(){this.values={}}return e.prototype.delete=function(e){return this.values[e]=null,!0},e.prototype.set=function(e,t){return this.values[e]=t,this},e.prototype.get=function(e){return this.values[e]},e.prototype.forEach=function(e,t){var n=this.values;for(var i in n)n.hasOwnProperty(i)&&null!==n[i]&&e.call(t,n[i],i)},e.prototype.clear=function(){this.values={}},e}();t.FastMap=n},42982:function(e,t,n){"use strict";var i=n(80019),r=function(){function e(e){if(this.root=e,e.setImmediate&&"function"==typeof e.setImmediate)this.setImmediate=e.setImmediate.bind(e),this.clearImmediate=e.clearImmediate.bind(e);else{this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.setImmediate=this.canUseProcessNextTick()?this.createProcessNextTickSetImmediate():this.canUsePostMessage()?this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.createReadyStateChangeSetImmediate():this.createSetTimeoutSetImmediate();var t=function e(t){delete e.instance.tasksByHandle[t]};t.instance=this,this.clearImmediate=t}}return e.prototype.identify=function(e){return this.root.Object.prototype.toString.call(e)},e.prototype.canUseProcessNextTick=function(){return"[object process]"===this.identify(this.root.process)},e.prototype.canUseMessageChannel=function(){return Boolean(this.root.MessageChannel)},e.prototype.canUseReadyStateChange=function(){var e=this.root.document;return Boolean(e&&"onreadystatechange"in e.createElement("script"))},e.prototype.canUsePostMessage=function(){var e=this.root;if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}return!1},e.prototype.partiallyApplied=function(e){for(var t=[],n=1;n=0}},1856:function(e,t){"use strict";t.isObject=function(e){return null!=e&&"object"==typeof e}},35130:function(e,t){"use strict";t.isPromise=function(e){return e&&"function"!=typeof e.subscribe&&"function"==typeof e.then}},41503:function(e,t){"use strict";t.isScheduler=function(e){return e&&"function"==typeof e.schedule}},68668:function(e,t){"use strict";t.noop=function(){}},67239:function(e,t){"use strict";t.not=function(e,t){function n(){return!n.pred.apply(n.thisArg,arguments)}return n.pred=e,n.thisArg=t,n}},10142:function(e,t,n){"use strict";var i=n(68668);function r(e){return e?1===e.length?e[0]:function(t){return e.reduce(function(e,t){return t(e)},t)}:i.noop}t.pipe=function(){for(var e=[],t=0;t>16),u((65280&i)>>8),u(255&i);return 2==r?u(255&(i=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1==r&&(u((i=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),u(255&i)),o},e.fromByteArray=function(e){var t,n,i,r,o=e.length%3,a="";function s(e){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e)}for(t=0,i=e.length-o;t>18&63)+s(r>>12&63)+s(r>>6&63)+s(63&r);switch(o){case 1:a=(a+=s((n=e[e.length-1])>>2))+s(n<<4&63)+"==";break;case 2:a=(a=(a+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10))+s(n>>4&63))+s(n<<2&63)+"="}return a}}(void 0===n?this.base64js={}:n)}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(e,t,n){(function(t,i,r,o,a,s,u,c,l){var h=e("base64-js"),d=e("ieee754");function r(e,t,n){if(!(this instanceof r))return new r(e,t,n);var i,o,a,s,u=typeof e;if("base64"===t&&"string"==u)for(e=(s=e).trim?s.trim():s.replace(/^\s+|\s+$/g,"");e.length%4!=0;)e+="=";if("number"==u)i=O(e);else if("string"==u)i=r.byteLength(e,t);else{if("object"!=u)throw new Error("First argument needs to be a number, array or string.");i=O(e.length)}if(r._useTypedArrays?o=r._augment(new Uint8Array(i)):((o=this).length=i,o._isBuffer=!0),r._useTypedArrays&&"number"==typeof e.byteLength)o._set(e);else if(T(s=e)||r.isBuffer(s)||s&&"object"==typeof s&&"number"==typeof s.length)for(a=0;a>>0)):(t+1>>0),r}function v(e,t,n,i){if(i||(j("boolean"==typeof n,"missing or invalid endian"),j(null!=t,"missing offset"),j(t+1>>8*(i?o:1-o)}function _(e,t,n,i,r){if(r||(j(null!=t,"missing value"),j("boolean"==typeof i,"missing or invalid endian"),j(null!=n,"missing offset"),j(n+3>>8*(i?o:3-o)&255}function w(e,t,n,i,r){r||(j(null!=t,"missing value"),j("boolean"==typeof i,"missing or invalid endian"),j(null!=n,"missing offset"),j(n+1>8,i.push(n%=256),i.push(t);return i}(t),e,n,i)}(this,e,t,n);break;default:throw new Error("Unknown encoding")}return o},r.prototype.toString=function(e,t,n){var i,r,o,a,s=this;if(e=String(e||"utf8").toLowerCase(),t=Number(t)||0,(n=void 0!==n?Number(n):s.length)===t)return"";switch(e){case"hex":i=function(e,t,n){var i=e.length;(!t||t<0)&&(t=0),(!n||n<0||ithis.length&&(i=this.length);var o=(i=e.length-t=this.length))return this[e]},r.prototype.readUInt16LE=function(e,t){return f(this,e,!0,t)},r.prototype.readUInt16BE=function(e,t){return f(this,e,!1,t)},r.prototype.readUInt32LE=function(e,t){return p(this,e,!0,t)},r.prototype.readUInt32BE=function(e,t){return p(this,e,!1,t)},r.prototype.readInt8=function(e,t){if(t||(j(null!=e,"missing offset"),j(e=this.length))return 128&this[e]?-1*(255-this[e]+1):this[e]},r.prototype.readInt16LE=function(e,t){return v(this,e,!0,t)},r.prototype.readInt16BE=function(e,t){return v(this,e,!1,t)},r.prototype.readInt32LE=function(e,t){return g(this,e,!0,t)},r.prototype.readInt32BE=function(e,t){return g(this,e,!1,t)},r.prototype.readFloatLE=function(e,t){return m(this,e,!0,t)},r.prototype.readFloatBE=function(e,t){return m(this,e,!1,t)},r.prototype.readDoubleLE=function(e,t){return y(this,e,!0,t)},r.prototype.readDoubleBE=function(e,t){return y(this,e,!1,t)},r.prototype.writeUInt8=function(e,t,n){n||(j(null!=e,"missing value"),j(null!=t,"missing offset"),j(t=this.length||(this[t]=e)},r.prototype.writeUInt16LE=function(e,t,n){b(this,e,t,!0,n)},r.prototype.writeUInt16BE=function(e,t,n){b(this,e,t,!1,n)},r.prototype.writeUInt32LE=function(e,t,n){_(this,e,t,!0,n)},r.prototype.writeUInt32BE=function(e,t,n){_(this,e,t,!1,n)},r.prototype.writeInt8=function(e,t,n){n||(j(null!=e,"missing value"),j(null!=t,"missing offset"),j(t=this.length||this.writeUInt8(0<=e?e:255+e+1,t,n)},r.prototype.writeInt16LE=function(e,t,n){w(this,e,t,!0,n)},r.prototype.writeInt16BE=function(e,t,n){w(this,e,t,!1,n)},r.prototype.writeInt32LE=function(e,t,n){k(this,e,t,!0,n)},r.prototype.writeInt32BE=function(e,t,n){k(this,e,t,!1,n)},r.prototype.writeFloatLE=function(e,t,n){x(this,e,t,!0,n)},r.prototype.writeFloatBE=function(e,t,n){x(this,e,t,!1,n)},r.prototype.writeDoubleLE=function(e,t,n){S(this,e,t,!0,n)},r.prototype.writeDoubleBE=function(e,t,n){S(this,e,t,!1,n)},r.prototype.fill=function(e,t,n){if(t=t||0,n=n||this.length,j("number"==typeof(e="string"==typeof(e=e||0)?e.charCodeAt(0):e)&&!isNaN(e),"value is not a number"),j(t<=n,"end < start"),n!==t&&0!==this.length){j(0<=t&&t"},r.prototype.toArrayBuffer=function(){if("undefined"==typeof Uint8Array)throw new Error("Buffer.toArrayBuffer not supported in this browser");if(r._useTypedArrays)return new r(this).buffer;for(var e=new Uint8Array(this.length),t=0,n=e.length;t=t.length||r>=e.length);r++)t[r+n]=e[r];return r}function R(e){try{return decodeURIComponent(e)}catch(t){return String.fromCharCode(65533)}}function D(e,t){j("number"==typeof e,"cannot write a non-number as a number"),j(0<=e,"specified a negative value for writing an unsigned value"),j(e<=t,"value is larger than maximum value for type"),j(Math.floor(e)===e,"value has a fractional component")}function N(e,t,n){j("number"==typeof e,"cannot write a non-number as a number"),j(e<=t,"value larger than maximum allowed value"),j(n<=e,"value smaller than minimum allowed value"),j(Math.floor(e)===e,"value has a fractional component")}function L(e,t,n){j("number"==typeof e,"cannot write a non-number as a number"),j(e<=t,"value larger than maximum allowed value"),j(n<=e,"value smaller than minimum allowed value")}function j(e,t){if(!e)throw new Error(t||"Failed assertion")}r._augment=function(e){return e._isBuffer=!0,e._get=e.get,e._set=e.set,e.get=C.get,e.set=C.set,e.write=C.write,e.toString=C.toString,e.toLocaleString=C.toString,e.toJSON=C.toJSON,e.copy=C.copy,e.slice=C.slice,e.readUInt8=C.readUInt8,e.readUInt16LE=C.readUInt16LE,e.readUInt16BE=C.readUInt16BE,e.readUInt32LE=C.readUInt32LE,e.readUInt32BE=C.readUInt32BE,e.readInt8=C.readInt8,e.readInt16LE=C.readInt16LE,e.readInt16BE=C.readInt16BE,e.readInt32LE=C.readInt32LE,e.readInt32BE=C.readInt32BE,e.readFloatLE=C.readFloatLE,e.readFloatBE=C.readFloatBE,e.readDoubleLE=C.readDoubleLE,e.readDoubleBE=C.readDoubleBE,e.writeUInt8=C.writeUInt8,e.writeUInt16LE=C.writeUInt16LE,e.writeUInt16BE=C.writeUInt16BE,e.writeUInt32LE=C.writeUInt32LE,e.writeUInt32BE=C.writeUInt32BE,e.writeInt8=C.writeInt8,e.writeInt16LE=C.writeInt16LE,e.writeInt16BE=C.writeInt16BE,e.writeInt32LE=C.writeInt32LE,e.writeInt32BE=C.writeInt32BE,e.writeFloatLE=C.writeFloatLE,e.writeFloatBE=C.writeFloatBE,e.writeDoubleLE=C.writeDoubleLE,e.writeDoubleBE=C.writeDoubleBE,e.fill=C.fill,e.inspect=C.inspect,e.toArrayBuffer=C.toArrayBuffer,e}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(e,t,n){(function(n,i,r,o,a,s,u,c,l){var h=new(r=e("buffer").Buffer)(4);h.fill(0),t.exports={hash:function(e,t,n,i){for(var o=t(function(e,t){e.length%4!=0&&(e=r.concat([e,h],e.length+(4-e.length%4)));for(var n=[],i=t?e.readInt32BE:e.readInt32LE,o=0;ov?t=e(t):t.length>5]|=128<>>9<<4)]=t;for(var n=1732584193,i=-271733879,r=-1732584194,o=271733878,a=0;a>>32-r,n)}function p(e,t,n,i,r,o,a){return f(t&n|~t&i,e,t,r,o,a)}function v(e,t,n,i,r,o,a){return f(t&i|n&~i,e,t,r,o,a)}function g(e,t,n,i,r,o,a){return f(t^n^i,e,t,r,o,a)}function m(e,t,n,i,r,o,a){return f(n^(t|~i),e,t,r,o,a)}function y(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}t.exports=function(e){return h.hash(e,d,16)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(e,t,n){(function(e,n,i,r,o,a,s,u,c){t.exports=function(e){for(var t,n=new Array(e),i=0;i>>((3&i)<<3)&255;return n}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(e,t,n){(function(n,i,r,o,a,s,u,c,l){var h=e("./helpers");function d(e,t){e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var n,i,r,o=Array(80),a=1732584193,s=-271733879,u=-1732584194,c=271733878,l=-1009589776,h=0;h>16)+(t>>16)+(n>>16)<<16|65535&n}function p(e,t){return e<>>32-t}t.exports=function(e){return h.hash(e,d,20,!0)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(e,t,n){(function(n,i,r,o,a,s,u,c,l){function h(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function d(e,t){var n,i=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),r=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),o=new Array(64);e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var a,s,u=0;u>>t|e<<32-t},v=function(e,t){return e>>>t};t.exports=function(e){return f.hash(e,d,32,!0)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(e,t,n){(function(e,t,i,r,o,a,s,u,c){n.read=function(e,t,n,i,r){var o,a,s=8*r-i-1,u=(1<>1,l=-7,h=n?r-1:0,d=n?-1:1;for(r=e[t+h],h+=d,o=r&(1<<-l)-1,r>>=-l,l+=s;0>=-l,l+=i;0>1,h=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:o-1,f=i?1:-1;for(o=t<0||0===t&&1/t<0?1:0,t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(i=Math.pow(2,-a))<1&&(a--,i*=2),2<=(t+=1<=a+l?h/i:h*Math.pow(2,1-l))*i&&(a++,i/=2),c<=a+l?(s=0,a=c):1<=a+l?(s=(t*i-1)*Math.pow(2,r),a+=l):(s=t*Math.pow(2,l-1)*Math.pow(2,r),a=0));8<=r;e[n+d]=255&s,d+=f,s/=256,r-=8);for(a=a<=n?{done:!0}:{done:!1,value:e[i++]}})},t.empty=function(){var e=new t(null);return e.done=!0,e},t.is=function(e){return e instanceof t||"object"==typeof e&&null!==e&&"function"==typeof e.next},e.exports=t},97310:function(e,t,n){"use strict";var i=n(61948);Object.defineProperty(t,"__esModule",{value:!0}),t.isMobile=function(){return void 0!==r.window.orientation},t.default=function(e){if(!e&&!(0,o.default)())return"Node";if((0,a.default)(e))return"Electron";var t="undefined"!=typeof navigator?navigator:{},n=e||t.userAgent||"";if(n.indexOf("Edge")>-1)return"Edge";var i=-1!==n.indexOf("MSIE "),s=-1!==n.indexOf("Trident/");return i||s?"IE":r.window.chrome?"Chrome":r.window.safari?"Safari":r.window.mozInnerScreenX?"Firefox":"Unknown"};var r=n(41151),o=i(n(61602)),a=i(n(22344))},41151:function(e,t,n){"use strict";var i=n(61948);Object.defineProperty(t,"__esModule",{value:!0}),t.console=t.process=t.document=t.global=t.window=t.self=void 0;var r=i(n(34321)),o={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&process};t.self=o.self||o.window||o.global,t.window=o.window||o.self||o.global,t.global=o.global||o.self||o.window,t.document=o.document||{},t.process=o.process||{};var a=console;t.console=a},84761:function(e,t,n){"use strict";var i=n(61948),r=n(34321);Object.defineProperty(t,"CO",{enumerable:!0,get:function(){return o.global}}),Object.defineProperty(t,"qs",{enumerable:!0,get:function(){return a.default}});var o=n(41151),a=(u(n(61602)),u(n(97310)));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(s=function(e){return e?n:t})(e)}function u(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var n=s(t);if(n&&n.has(e))return n.get(e);var i={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var u=o?Object.getOwnPropertyDescriptor(e,a):null;u&&(u.get||u.set)?Object.defineProperty(i,a,u):i[a]=e[a]}return i.default=e,n&&n.set(e,i),i}i(n(22344))},61602:function(e,t,n){"use strict";var i=n(61948);Object.defineProperty(t,"__esModule",{value:!0}),t.default=a,t.isBrowserMainThread=function(){return a()&&"undefined"!=typeof document};var r=i(n(34321)),o=i(n(22344));function a(){return!("object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,o.default)()}},22344:function(e,t,n){"use strict";var i=n(61948);Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if("undefined"!=typeof window&&"object"===(0,r.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,r.default)(process.versions)&&Boolean(process.versions.electron))return!0;var t="object"===("undefined"==typeof navigator?"undefined":(0,r.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=e||t;return!!(n&&n.indexOf("Electron")>=0)};var r=i(n(34321))},86991:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(14180),t),r(n(75103),t),r(n(48965),t),r(n(32595),t),r(n(82417),t),r(n(92451),t),r(n(17735),t)},14180:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlankNode=void 0,t.BlankNode=function(){function e(t){m(this,e),this.termType="BlankNode",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"BlankNode"===e.termType&&e.value===this.value}}]),e}()},75103:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DataFactory=void 0;var i=n(14180),r=n(48965),o=n(32595),a=n(82417),s=n(92451),u=n(17735),c=0;t.DataFactory=function(){function e(t){m(this,e),this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||"df_".concat(c++,"_")}return b(e,[{key:"namedNode",value:function(e){return new a.NamedNode(e)}},{key:"blankNode",value:function(e){return new i.BlankNode(e||"".concat(this.blankNodePrefix).concat(this.blankNodeCounter++))}},{key:"literal",value:function(e,t){return new o.Literal(e,t)}},{key:"variable",value:function(e){return new u.Variable(e)}},{key:"defaultGraph",value:function(){return r.DefaultGraph.INSTANCE}},{key:"quad",value:function(e,t,n,i){return new s.Quad(e,t,n,i||this.defaultGraph())}},{key:"fromTerm",value:function(e){switch(e.termType){case"NamedNode":return this.namedNode(e.value);case"BlankNode":return this.blankNode(e.value);case"Literal":return e.language?this.literal(e.value,e.language):e.datatype.equals(o.Literal.XSD_STRING)?this.literal(e.value):this.literal(e.value,this.fromTerm(e.datatype));case"Variable":return this.variable(e.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(e.subject),this.fromTerm(e.predicate),this.fromTerm(e.object),this.fromTerm(e.graph))}}},{key:"fromQuad",value:function(e){return this.fromTerm(e)}},{key:"resetBlankNodeCounter",value:function(){this.blankNodeCounter=0}}]),e}()},48965:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultGraph=void 0;var n=function(){function e(){m(this,e),this.termType="DefaultGraph",this.value=""}return b(e,[{key:"equals",value:function(e){return!!e&&"DefaultGraph"===e.termType}}]),e}();t.DefaultGraph=n,n.INSTANCE=new n},32595:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Literal=void 0;var i=n(82417),r=function(){function e(t,n){m(this,e),this.termType="Literal",this.value=t,"string"==typeof n?(this.language=n,this.datatype=e.RDF_LANGUAGE_STRING):n?(this.language="",this.datatype=n):(this.language="",this.datatype=e.XSD_STRING)}return b(e,[{key:"equals",value:function(e){return!!e&&"Literal"===e.termType&&e.value===this.value&&e.language===this.language&&e.datatype.equals(this.datatype)}}]),e}();t.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},82417:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NamedNode=void 0,t.NamedNode=function(){function e(t){m(this,e),this.termType="NamedNode",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"NamedNode"===e.termType&&e.value===this.value}}]),e}()},92451:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Quad=void 0,t.Quad=function(){function e(t,n,i,r){m(this,e),this.termType="Quad",this.value="",this.subject=t,this.predicate=n,this.object=i,this.graph=r}return b(e,[{key:"equals",value:function(e){return!!e&&("Quad"===e.termType||!e.termType)&&this.subject.equals(e.subject)&&this.predicate.equals(e.predicate)&&this.object.equals(e.object)&&this.graph.equals(e.graph)}}]),e}()},17735:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Variable=void 0,t.Variable=function(){function e(t){m(this,e),this.termType="Variable",this.value=t}return b(e,[{key:"equals",value:function(e){return!!e&&"Variable"===e.termType&&e.value===this.value}}]),e}()},31609:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.getSupportedJavaScriptPrimitives=t.getSupportedRdfDatatypes=t.getTermRaw=t.toRdf=t.fromRdf=void 0;var o=n(86991),a=n(9938),s=n(66060);r(n(9938),t),r(n(88871),t),r(n(66060),t);var u=new o.DataFactory,c=new s.Translator;function l(e,t){return c.fromRdf(e,t)}c.registerHandler(new a.TypeHandlerString,a.TypeHandlerString.TYPES.map(function(e){return u.namedNode(e)}),["string"]),c.registerHandler(new a.TypeHandlerBoolean,[a.TypeHandlerBoolean.TYPE].map(function(e){return u.namedNode(e)}),["boolean"]),c.registerHandler(new a.TypeHandlerNumberDouble,a.TypeHandlerNumberDouble.TYPES.map(function(e){return u.namedNode(e)}),["number"]),c.registerHandler(new a.TypeHandlerNumberInteger,a.TypeHandlerNumberInteger.TYPES.map(function(e){return u.namedNode(e)}),["number"]),c.registerHandler(new a.TypeHandlerDate,a.TypeHandlerDate.TYPES.map(function(e){return u.namedNode(e)}),["object"]),t.fromRdf=l,t.toRdf=function(e,t){return t&&"namedNode"in t&&(t={dataFactory:t}),(t=t||{})&&!t.dataFactory&&(t.dataFactory=u),c.toRdf(e,t)},t.getTermRaw=function(e,t){return"Literal"===e.termType?l(e,t):e.value},t.getSupportedRdfDatatypes=function(){return c.getSupportedRdfDatatypes()},t.getSupportedJavaScriptPrimitives=function(){return c.getSupportedJavaScriptPrimitives()}},88871:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},66060:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Translator=void 0,t.Translator=function(){function e(){m(this,e),this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}return b(e,[{key:"registerHandler",value:function(e,t,n){var i,r=_(t);try{for(r.s();!(i=r.n()).done;){var o=i.value;this.supportedRdfDatatypes.push(o),this.fromRdfHandlers[o.value]=e}}catch(l){r.e(l)}finally{r.f()}var a,s=_(n);try{for(s.s();!(a=s.n()).done;){var u=a.value,c=this.toRdfHandlers[u];c||(this.toRdfHandlers[u]=c=[]),c.push(e)}}catch(l){s.e(l)}finally{s.f()}}},{key:"fromRdf",value:function(e,t){var n=this.fromRdfHandlers[e.datatype.value];return n?n.fromRdf(e,t):e.value}},{key:"toRdf",value:function(e,t){var n=this.toRdfHandlers[typeof e];if(n){var i,r=_(n);try{for(r.s();!(i=r.n()).done;){var o=i.value.toRdf(e,t);if(o)return o}}catch(a){r.e(a)}finally{r.f()}}throw new Error("Invalid JavaScript value: '".concat(e,"'"))}},{key:"getSupportedRdfDatatypes",value:function(){return this.supportedRdfDatatypes}},{key:"getSupportedJavaScriptPrimitives",value:function(){return Object.keys(this.toRdfHandlers)}}],[{key:"incorrectRdfDataType",value:function(e){throw new Error("Invalid RDF ".concat(e.datatype.value," value: '").concat(e.value,"'"))}}]),e}()},80727:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerBoolean=void 0;var i=n(66060),r=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(e,t){switch(e.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return t&&i.Translator.incorrectRdfDataType(e),!1}},{key:"toRdf",value:function(t,n){var i=n.datatype,r=n.dataFactory;return r.literal(t?"true":"false",i||r.namedNode(e.TYPE))}}]),e}();t.TypeHandlerBoolean=r,r.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},52525:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerDate=void 0;var i=n(66060),r=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(t,n){switch(n&&!t.value.match(e.VALIDATORS[t.datatype.value.substr(33,t.datatype.value.length)])&&i.Translator.incorrectRdfDataType(t),t.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(t.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":var r=t.value.split("-");return new Date(0,parseInt(r[0],10)-1,parseInt(r[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(t.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(t.value+"-01");default:return new Date(t.value)}}},{key:"toRdf",value:function(t,n){var i=n.datatype,r=n.dataFactory;if(i=i||r.namedNode(e.TYPES[0]),!(t instanceof Date))return null;var o,a=t;switch(i.value){case"http://www.w3.org/2001/XMLSchema#gDay":o=String(a.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":o=a.getUTCMonth()+1+"-"+a.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":o=String(a.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":o=a.getUTCFullYear()+"-"+(a.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":o=a.toISOString().replace(/T.*$/,"");break;default:o=a.toISOString()}return r.literal(o,i)}}]),e}();t.TypeHandlerDate=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],r.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},38554:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerNumberDouble=void 0;var i=n(66060),r=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(e,t){var n=parseFloat(e.value);return t&&isNaN(n)&&i.Translator.incorrectRdfDataType(e),n}},{key:"toRdf",value:function(t,n){var i=n.datatype,r=n.dataFactory;return i=i||r.namedNode(e.TYPES[0]),isNaN(t)?r.literal("NaN",i):isFinite(t)?t%1==0?null:r.literal(t.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),i):r.literal(t>0?"INF":"-INF",i)}}]),e}();t.TypeHandlerNumberDouble=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},37750:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerNumberInteger=void 0;var i=n(66060),r=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(e,t){var n=parseInt(e.value,10);return t&&(isNaN(n)||e.value.indexOf(".")>=0)&&i.Translator.incorrectRdfDataType(e),n}},{key:"toRdf",value:function(t,n){var i=n.datatype,r=n.dataFactory;return r.literal(String(t),i||r.namedNode(t<=e.MAX_INT&&t>=e.MIN_INT?e.TYPES[0]:e.TYPES[1]))}}]),e}();t.TypeHandlerNumberInteger=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],r.MAX_INT=2147483647,r.MIN_INT=-2147483648},14608:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerString=void 0;var n=function(){function e(){m(this,e)}return b(e,[{key:"fromRdf",value:function(e){return e.value}},{key:"toRdf",value:function(e,t){var n=t.datatype;return t.dataFactory.literal(e,n)}}]),e}();t.TypeHandlerString=n,n.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(80727),t),r(n(52525),t),r(n(38554),t),r(n(37750),t),r(n(14608),t)},51316:function(n,i,r){"use strict";var d,f,g,y,w,k,x,S,C,E,O,T=regeneratorRuntime.mark(Mj),P=regeneratorRuntime.mark(HX),R={};r.r(R),r.d(R,{decode:function(){return Sj},encode:function(){return Ej}});var D={};r.r(D),r.d(D,{decode:function(){return Ij},encode:function(){return Dj}});var N={};r.r(N),r.d(N,{decode:function(){return Nj},encode:function(){return jj}});var L={};function j(e){return"function"==typeof e}r.r(L),r.d(L,{decode:function(){return Bj},encode:function(){return zj}});var F=!1,B={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){if(e){var t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else F&&console.log("RxJS: Back to a better error behavior. Thank you. <3");F=e},get useDeprecatedSynchronousErrorHandling(){return F}};function V(e){setTimeout(function(){throw e},0)}var z={closed:!0,next:function(e){},error:function(e){if(B.useDeprecatedSynchronousErrorHandling)throw e;V(e)},complete:function(){}},U=Array.isArray||function(e){return e&&"number"==typeof e.length};function H(e){return null!==e&&"object"==typeof e}var G,W=function(){function e(e){return Error.call(this),this.message=e?"".concat(e.length," errors occurred during unsubscription:\n").concat(e.map(function(e,t){return"".concat(t+1,") ").concat(e.toString())}).join("\n ")):"",this.name="UnsubscriptionError",this.errors=e,this}return e.prototype=Object.create(Error.prototype),e}(),q=function(){function e(t){m(this,e),this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}return b(e,[{key:"unsubscribe",value:function(){var t;if(!this.closed){var n=this._parentOrParents,i=this._ctorUnsubscribe,r=this._unsubscribe,o=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof e)n.remove(this);else if(null!==n)for(var a=0;a2&&void 0!==arguments[2]?arguments[2]:Number.POSITIVE_INFINITY;return"function"==typeof t?function(i){return i.pipe(ke(function(n,i){return ye(e(n,i)).pipe(ce(function(e,r){return t(n,e,i,r)}))},n))}:("number"==typeof t&&(n=t),function(t){return t.lift(new xe(e,n))})}var xe=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.POSITIVE_INFINITY;m(this,e),this.project=t,this.concurrent=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new Se(e,this.project,this.concurrent))}}]),e}(),Se=function(e){a(n,e);var t=s(n);function n(e,i){var r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.POSITIVE_INFINITY;return m(this,n),(r=t.call(this,e)).project=i,r.concurrent=o,r.hasCompleted=!1,r.buffer=[],r.active=0,r.index=0,r}return b(n,[{key:"_next",value:function(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}]),n}(_e);function Ce(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY;return ke(Z,e)}function Ee(e,t){return t?me(e,t):new te(de(e))}function Oe(){for(var e=arguments.length,t=new Array(e),n=0;n1&&"number"==typeof t[t.length-1]&&(i=t.pop())):"number"==typeof o&&(i=t.pop()),null===r&&1===t.length&&t[0]instanceof te?t[0]:Ce(i)(Ee(t,r))}function Te(){return function(e){return e.lift(new Ae(e))}}var Ae=function(){function e(t){m(this,e),this.connectable=t}return b(e,[{key:"call",value:function(e,t){var n=this.connectable;n._refCount++;var i=new Pe(e,n),r=t.subscribe(i);return i.closed||(i.connection=n.connect()),r}}]),e}(),Pe=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).connectable=i,r}return b(n,[{key:"_unsubscribe",value:function(){var e=this.connectable;if(e){this.connectable=null;var t=e._refCount;if(t<=0)this.connection=null;else if(e._refCount=t-1,t>1)this.connection=null;else{var n=this.connection,i=e._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null}}]),n}(K),Me=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).source=e,r.subjectFactory=i,r._refCount=0,r._isComplete=!1,r}return b(n,[{key:"_subscribe",value:function(e){return this.getSubject().subscribe(e)}},{key:"getSubject",value:function(){var e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}},{key:"connect",value:function(){var e=this._connection;return e||(this._isComplete=!1,(e=this._connection=new q).add(this.source.subscribe(new Re(this.getSubject(),this))),e.closed&&(this._connection=null,e=q.EMPTY)),e}},{key:"refCount",value:function(){return Te()(this)}}]),n}(te),Ie=function(){var e=Me.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:e._subscribe},_isComplete:{value:e._isComplete,writable:!0},getSubject:{value:e.getSubject},connect:{value:e.connect},refCount:{value:e.refCount}}}(),Re=function(t){a(i,t);var n=s(i);function i(e,t){var r;return m(this,i),(r=n.call(this,e)).connectable=t,r}return b(i,[{key:"_error",value:function(t){this._unsubscribe(),e(p(i.prototype),"_error",this).call(this,t)}},{key:"_complete",value:function(){this.connectable._isComplete=!0,this._unsubscribe(),e(p(i.prototype),"_complete",this).call(this)}},{key:"_unsubscribe",value:function(){var e=this.connectable;if(e){this.connectable=null;var t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}]),i}(oe);function De(e,t){return function(n){var i;if(i="function"==typeof e?e:function(){return e},"function"==typeof t)return n.lift(new Ne(i,t));var r=Object.create(n,Ie);return r.source=n,r.subjectFactory=i,r}}var Ne=function(){function e(t,n){m(this,e),this.subjectFactory=t,this.selector=n}return b(e,[{key:"call",value:function(e,t){var n=this.selector,i=this.subjectFactory(),r=n(i).subscribe(e);return r.add(t.subscribe(i)),r}}]),e}();function Le(){return new ae}function je(){return function(e){return Te()(De(Le)(e))}}function Fe(e){for(var t in e)if(e[t]===Fe)return t;throw Error("Could not find renamed property on target object.")}function Be(e,t){for(var n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n])}function Ve(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Ve).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return"".concat(e.overriddenName);if(e.name)return"".concat(e.name);var t=e.toString();if(null==t)return""+t;var n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}function ze(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}var Ue=Fe({__forward_ref__:Fe});function He(e){return e.__forward_ref__=He,e.toString=function(){return Ve(this())},e}function Ge(e){return We(e)?e():e}function We(e){return"function"==typeof e&&e.hasOwnProperty(Ue)&&e.__forward_ref__===He}var qe=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,function(e,t){return"".concat(e?"NG0".concat(e,": "):"").concat(t)}(e,i))).code=e,r}return n}(l(Error));function Xe(e){return"string"==typeof e?e:null==e?"":String(e)}function Ye(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():Xe(e)}function Ke(e,t){var n=t?" in ".concat(t):"";throw new qe("201","No provider for ".concat(Ye(e)," found").concat(n))}function $e(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Qe(e){return{providers:e.providers||[],imports:e.imports||[]}}function Ze(e){return Je(e,nt)||Je(e,rt)}function Je(e,t){return e.hasOwnProperty(t)?e[t]:null}function et(e){return e&&(e.hasOwnProperty(it)||e.hasOwnProperty(ot))?e[it]:null}var tt,nt=Fe({"\u0275prov":Fe}),it=Fe({"\u0275inj":Fe}),rt=Fe({ngInjectableDef:Fe}),ot=Fe({ngInjectorDef:Fe}),at=((at=at||{})[at.Default=0]="Default",at[at.Host=1]="Host",at[at.Self=2]="Self",at[at.SkipSelf=4]="SkipSelf",at[at.Optional=8]="Optional",at);function st(e){var t=tt;return tt=e,t}function ut(e,t,n){var i=Ze(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&at.Optional?null:void 0!==t?t:void Ke(Ve(e),"Injector")}function ct(e){return{toString:e}.toString()}var lt=((lt=lt||{})[lt.OnPush=0]="OnPush",lt[lt.Default=1]="Default",lt),ht=((ht=ht||{})[ht.Emulated=0]="Emulated",ht[ht.None=2]="None",ht[ht.ShadowDom=3]="ShadowDom",ht),dt="undefined"!=typeof globalThis&&globalThis,ft="undefined"!=typeof window&&window,pt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,vt="undefined"!=typeof global&&global,gt=dt||vt||ft||pt,mt={},yt=[],bt=Fe({"\u0275cmp":Fe}),_t=Fe({"\u0275dir":Fe}),wt=Fe({"\u0275pipe":Fe}),kt=Fe({"\u0275mod":Fe}),xt=Fe({"\u0275loc":Fe}),St=Fe({"\u0275fac":Fe}),Ct=Fe({__NG_ELEMENT_ID__:Fe}),Et=0;function Ot(e){return ct(function(){var t={},n={type:e.type,providersResolver:null,decls:e.decls,vars:e.vars,factory:null,template:e.template||null,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:e.exportAs||null,onPush:e.changeDetection===lt.OnPush,directiveDefs:null,pipeDefs:null,selectors:e.selectors||yt,viewQuery:e.viewQuery||null,features:e.features||null,data:e.data||{},encapsulation:e.encapsulation||ht.Emulated,id:"c",styles:e.styles||yt,_:null,setInput:null,schemas:e.schemas||null,tView:null},i=e.directives,r=e.features,o=e.pipes;return n.id+=Et++,n.inputs=It(e.inputs,t),n.outputs=It(e.outputs),r&&r.forEach(function(e){return e(n)}),n.directiveDefs=i?function(){return("function"==typeof i?i():i).map(Tt)}:null,n.pipeDefs=o?function(){return("function"==typeof o?o():o).map(At)}:null,n})}function Tt(e){return Nt(e)||function(e){return e[_t]||null}(e)}function At(e){return function(e){return e[wt]||null}(e)}var Pt={};function Mt(e){return ct(function(){var t={type:e.type,bootstrap:e.bootstrap||yt,declarations:e.declarations||yt,imports:e.imports||yt,exports:e.exports||yt,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null};return null!=e.id&&(Pt[e.id]=e.type),t})}function It(e,t){if(null==e)return mt;var n={};for(var i in e)if(e.hasOwnProperty(i)){var r=e[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),n[r]=i,t&&(t[r]=o)}return n}var Rt=Ot;function Dt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,onDestroy:e.type.prototype.ngOnDestroy||null}}function Nt(e){return e[bt]||null}function Lt(e,t){var n=e[kt]||null;if(!n&&!0===t)throw new Error("Type ".concat(Ve(e)," does not have '\u0275mod' property."));return n}function jt(e){return Array.isArray(e)&&"object"==typeof e[1]}function Ft(e){return Array.isArray(e)&&!0===e[1]}function Bt(e){return 0!=(8&e.flags)}function Vt(e){return 2==(2&e.flags)}function zt(e){return 1==(1&e.flags)}function Ut(e){return null!==e.template}function Ht(e){return 0!=(512&e[2])}function Gt(e,t){return e.hasOwnProperty(St)?e[St]:null}var Wt=function(){function e(t,n,i){m(this,e),this.previousValue=t,this.currentValue=n,this.firstChange=i}return b(e,[{key:"isFirstChange",value:function(){return this.firstChange}}]),e}();function qt(){return Xt}function Xt(e){return e.type.prototype.ngOnChanges&&(e.setInput=Kt),Yt}function Yt(){var e=Qt(this),t=null==e?void 0:e.current;if(t){var n=e.previous;if(n===mt)e.previous=t;else for(var i in t)n[i]=t[i];e.current=null,this.ngOnChanges(t)}}function Kt(e,t,n,i){var r=Qt(e)||function(e,t){return e[$t]=t}(e,{previous:mt,current:null}),o=r.current||(r.current={}),a=r.previous,s=this.declaredInputs[n],u=a[s];o[s]=new Wt(u&&u.currentValue,t,a===mt),e[i]=t}qt.ngInherit=!0;var $t="__ngSimpleChanges__";function Qt(e){return e[$t]||null}var Zt,Jt="http://www.w3.org/2000/svg";function en(){return void 0!==Zt?Zt:"undefined"!=typeof document?document:void 0}function tn(e){return!!e.listen}var nn={createRenderer:function(e,t){return en()}};function rn(e){for(;Array.isArray(e);)e=e[0];return e}function on(e,t){return rn(t[e])}function an(e,t){return rn(t[e.index])}function sn(e,t){return e.data[t]}function un(e,t){return e[t]}function cn(e,t){var n=t[e];return jt(n)?n:n[0]}function ln(e){return 4==(4&e[2])}function hn(e){return 128==(128&e[2])}function dn(e,t){return null==t?null:e[t]}function fn(e){e[18]=0}function pn(e,t){e[5]+=t;for(var n=e,i=e[3];null!==i&&(1===t&&1===n[5]||-1===t&&0===n[5]);)i[5]+=t,n=i,i=i[3]}var vn={lFrame:Vn(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function gn(){return vn.bindingsEnabled}function mn(){return vn.lFrame.lView}function yn(){return vn.lFrame.tView}function bn(e){return vn.lFrame.contextLView=e,e[8]}function _n(){for(var e=wn();null!==e&&64===e.type;)e=e.parent;return e}function wn(){return vn.lFrame.currentTNode}function kn(e,t){var n=vn.lFrame;n.currentTNode=e,n.isParent=t}function xn(){return vn.lFrame.isParent}function Sn(){vn.lFrame.isParent=!1}function Cn(){return vn.isInCheckNoChangesMode}function En(e){vn.isInCheckNoChangesMode=e}function On(){var e=vn.lFrame,t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function Tn(){return vn.lFrame.bindingIndex}function An(){return vn.lFrame.bindingIndex++}function Pn(e){var t=vn.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function Mn(e,t){var n=vn.lFrame;n.bindingIndex=n.bindingRootIndex=e,In(t)}function In(e){vn.lFrame.currentDirectiveIndex=e}function Rn(e){var t=vn.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}function Dn(){return vn.lFrame.currentQueryIndex}function Nn(e){vn.lFrame.currentQueryIndex=e}function Ln(e){var t=e[1];return 2===t.type?t.declTNode:1===t.type?e[6]:null}function jn(e,t,n){if(n&at.SkipSelf){for(var i=t,r=e;!(null!==(i=i.parent)||n&at.Host||(i=Ln(r),null===i||(r=r[15],10&i.type))););if(null===i)return!1;t=i,e=r}var o=vn.lFrame=Bn();return o.currentTNode=t,o.lView=e,!0}function Fn(e){var t=Bn(),n=e[1];vn.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function Bn(){var e=vn.lFrame,t=null===e?null:e.child;return null===t?Vn(e):t}function Vn(e){var t={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:e,child:null,inI18n:!1};return null!==e&&(e.child=t),t}function zn(){var e=vn.lFrame;return vn.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var Un=zn;function Hn(){var e=zn();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Gn(){return vn.lFrame.selectedIndex}function Wn(e){vn.lFrame.selectedIndex=e}function qn(){var e=vn.lFrame;return sn(e.tView,e.selectedIndex)}function Xn(){vn.lFrame.currentNamespace=Jt}function Yn(e,t){for(var n=t.directiveStart,i=t.directiveEnd;n=i)break}else t[s]<0&&(e[18]+=65536),(a>11>16&&(3&e[2])===t){e[2]+=2048;try{o.call(a)}finally{}}}else try{o.call(a)}finally{}}var ei=function e(t,n,i){m(this,e),this.factory=t,this.resolving=!1,this.canSeeViewProviders=n,this.injectImpl=i};function ti(e,t,n){for(var i=tn(e),r=0;rt){a=o-1;break}}}for(;o>16}(e),i=t;n>0;)i=i[15],n--;return i}var ci=!0;function li(e){var t=ci;return ci=e,t}var hi=0;function di(e,t){var n=pi(e,t);if(-1!==n)return n;var i=t[1];i.firstCreatePass&&(e.injectorIndex=t.length,fi(i.data,e),fi(t,null),fi(i.blueprint,null));var r=vi(e,t),o=e.injectorIndex;if(ai(r))for(var a=si(r),s=ui(r,t),u=s[1].data,c=0;c<8;c++)t[o+c]=s[a+c]|u[a+c];return t[o+8]=r,o}function fi(e,t){e.push(0,0,0,0,0,0,0,0,t)}function pi(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function vi(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;for(var n=0,i=null,r=t;null!==r;){var o=r[1],a=o.type;if(null===(i=2===a?o.declTNode:1===a?r[6]:null))return-1;if(n++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return-1}function gi(e,t,n){!function(e,t,n){var i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(Ct)&&(i=n[Ct]),null==i&&(i=n[Ct]=hi++);var r=255&i;t.data[e+(r>>5)]|=1<3&&void 0!==arguments[3]?arguments[3]:at.Default,r=arguments.length>4?arguments[4]:void 0;if(null!==e){var o=function(e){if("string"==typeof e)return e.charCodeAt(0)||0;var t=e.hasOwnProperty(Ct)?e[Ct]:void 0;return"number"==typeof t?t>=0?255&t:wi:t}(n);if("function"==typeof o){if(!jn(t,e,i))return i&at.Host?mi(r,n,i):yi(t,n,i,r);try{var a=o(i);if(null!=a||i&at.Optional)return a;Ke(n)}finally{Un()}}else if("number"==typeof o){var s=null,u=pi(e,t),c=-1,l=i&at.Host?t[16][6]:null;for((-1===u||i&at.SkipSelf)&&(-1!==(c=-1===u?vi(e,t):t[u+8])&&Ei(i,!1)?(s=t[1],u=si(c),t=ui(c,t)):u=-1);-1!==u;){var h=t[1];if(Ci(o,u,h.data)){var d=ki(u,t,n,s,i,l);if(d!==_i)return d}-1!==(c=t[u+8])&&Ei(i,t[1].data[u+8]===l)&&Ci(o,u,t)?(s=h,u=si(c),t=ui(c,t)):u=-1}}}return yi(t,n,i,r)}var _i={};function wi(){return new Oi(_n(),mn())}function ki(e,t,n,i,r,o){var a=t[1],s=a.data[e+8],u=xi(s,a,n,null==i?Vt(s)&&ci:i!=a&&0!=(3&s.type),r&at.Host&&o===s);return null!==u?Si(t,a,u,s):_i}function xi(e,t,n,i,r){for(var o=e.providerIndexes,a=t.data,s=1048575&o,u=e.directiveStart,c=o>>20,l=r?s+c:e.directiveEnd,h=i?s:s+c;h=u&&d.type===n)return h}if(r){var f=a[u];if(f&&Ut(f)&&f.type===n)return u}return null}function Si(e,t,n,i){var r=e[n],o=t.data;if(function(e){return e instanceof ei}(r)){var a=r;a.resolving&&function(e,t){throw new qe("200","Circular dependency in DI detected for ".concat(e))}(Ye(o[n]));var s=li(a.canSeeViewProviders);a.resolving=!0;var u=a.injectImpl?st(a.injectImpl):null;jn(e,i,at.Default);try{r=e[n]=a.factory(void 0,o,e,i),t.firstCreatePass&&n>=i.directiveStart&&function(e,t,n){var i=t.type.prototype,r=i.ngOnChanges,o=i.ngOnInit,a=i.ngDoCheck;if(r){var s=Xt(t);(n.preOrderHooks||(n.preOrderHooks=[])).push(e,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,s)}o&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-e,o),a&&((n.preOrderHooks||(n.preOrderHooks=[])).push(e,a),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,a))}(n,o[n],t)}finally{null!==u&&st(u),li(s),a.resolving=!1,Un()}}return r}function Ci(e,t,n){return!!(n[t+(e>>5)]&1<=e.length?e.push(n):e.splice(t,0,n)}function Fi(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Bi(e,t){for(var n=[],i=0;i=0?e[1|i]=n:function(e,t,n,i){var r=e.length;if(r==t)e.push(n,i);else if(1===r)e.push(i,e[0]),e[0]=n;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=n,e[t+1]=i}}(e,i=~i,t,n),i}function zi(e,t){var n=Ui(e,t);if(n>=0)return e[1|n]}function Ui(e,t){return function(e,t,n){for(var i=0,r=e.length>>1;r!==i;){var o=i+(r-i>>1),a=e[o<<1];if(t===a)return o<<1;a>t?r=o:i=o+1}return~(r<<1)}(e,t)}var Hi,Gi={},Wi="__NG_DI_FLAG__",qi="ngTempTokenPath",Xi=/\n/gm,Yi="__source",Ki=Fe({provide:String,useValue:Fe});function $i(e){var t=Hi;return Hi=e,t}function Qi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:at.Default;if(void 0===Hi)throw new Error("inject() must be called from an injection context");return null===Hi?ut(e,void 0,t):Hi.get(e,t&at.Optional?null:void 0,t)}function Zi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:at.Default;return(tt||Qi)(Ge(e),t)}var Ji=Zi;function er(e){for(var t=[],n=0;n3&&void 0!==arguments[3]?arguments[3]:null;e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.substr(2):e;var r=Ve(t);if(Array.isArray(t))r=t.map(Ve).join(" -> ");else if("object"==typeof t){var o=[];for(var a in t)if(t.hasOwnProperty(a)){var s=t[a];o.push(a+":"+("string"==typeof s?JSON.stringify(s):Ve(s)))}r="{".concat(o.join(", "),"}")}return"".concat(n).concat(i?"("+i+")":"","[").concat(r,"]: ").concat(e.replace(Xi,"\n "))}("\n"+e.message,r,n,i),e.ngTokenPath=r,e[qi]=null,e}var rr,or,ar=tr(Ii("Inject",function(e){return{token:e}}),-1),sr=tr(Ii("Optional"),8),ur=tr(Ii("SkipSelf"),4);function cr(e){var t;return(null===(t=function(){if(void 0===rr&&(rr=null,gt.trustedTypes))try{rr=gt.trustedTypes.createPolicy("angular",{createHTML:function(e){return e},createScript:function(e){return e},createScriptURL:function(e){return e}})}catch(e){}return rr}())||void 0===t?void 0:t.createHTML(e))||e}function lr(){if(void 0===or&&(or=null,gt.trustedTypes))try{or=gt.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:function(e){return e},createScript:function(e){return e},createScriptURL:function(e){return e}})}catch(G){}return or}function hr(e){var t;return(null===(t=lr())||void 0===t?void 0:t.createHTML(e))||e}function dr(e){var t;return(null===(t=lr())||void 0===t?void 0:t.createScriptURL(e))||e}var fr=function(){function e(t){m(this,e),this.changingThisBreaksApplicationSecurity=t}return b(e,[{key:"toString",value:function(){return"SafeValue must use [property]=binding: ".concat(this.changingThisBreaksApplicationSecurity," (see https://g.co/ng/security#xss)")}}]),e}(),pr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"HTML"}}]),n}(fr),vr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"Style"}}]),n}(fr),gr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"Script"}}]),n}(fr),mr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"URL"}}]),n}(fr),yr=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"getTypeName",value:function(){return"ResourceURL"}}]),n}(fr);function br(e){return e instanceof fr?e.changingThisBreaksApplicationSecurity:e}function _r(e,t){var n=wr(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error("Required a safe ".concat(t,", got a ").concat(n," (see https://g.co/ng/security#xss)"))}return n===t}function wr(e){return e instanceof fr&&e.getTypeName()||null}var kr=function(){function e(t){m(this,e),this.inertDocumentHelper=t}return b(e,[{key:"getInertBodyElement",value:function(e){e=""+e;try{var t=(new window.DOMParser).parseFromString(cr(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}]),e}(),xr=function(){function e(t){if(m(this,e),this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){var n=this.inertDocument.createElement("html");this.inertDocument.appendChild(n);var i=this.inertDocument.createElement("body");n.appendChild(i)}}return b(e,[{key:"getInertBodyElement",value:function(e){var t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=cr(e),t;var n=this.inertDocument.createElement("body");return n.innerHTML=cr(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(n),n}},{key:"stripCustomNsAttrs",value:function(e){for(var t=e.attributes,n=t.length-1;0"),!0}},{key:"endElement",value:function(e){var t=e.nodeName.toLowerCase();Dr.hasOwnProperty(t)&&!Mr.hasOwnProperty(t)&&(this.buf.push(""))}},{key:"chars",value:function(e){this.buf.push(Ur(e))}},{key:"checkClobberedElement",value:function(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error("Failed to sanitize html because the element is clobbered: ".concat(e.outerHTML));return t}}]),e}(),Vr=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zr=/([^\#-~ |!])/g;function Ur(e){return e.replace(/&/g,"&").replace(Vr,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(zr,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}function Hr(e,t){var n=null;try{Pr=Pr||function(e){var t=new xr(e);return function(){try{return!!(new window.DOMParser).parseFromString(cr(""),"text/html")}catch(e){return!1}}()?new kr(t):t}(e);var i=t?String(t):"";n=Pr.getInertBodyElement(i);var r=5,o=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=n.innerHTML,n=Pr.getInertBodyElement(i)}while(i!==o);return cr((new Br).sanitizeChildren(Gr(n)||n))}finally{if(n)for(var a=Gr(n)||n;a.firstChild;)a.removeChild(a.firstChild)}}function Gr(e){return"content"in e&&function(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Wr=((Wr=Wr||{})[Wr.NONE=0]="NONE",Wr[Wr.HTML=1]="HTML",Wr[Wr.STYLE=2]="STYLE",Wr[Wr.SCRIPT=3]="SCRIPT",Wr[Wr.URL=4]="URL",Wr[Wr.RESOURCE_URL=5]="RESOURCE_URL",Wr);function qr(e){var t=Kr();return t?hr(t.sanitize(Wr.HTML,e)||""):_r(e,"HTML")?hr(br(e)):Hr(en(),Xe(e))}function Xr(e){var t=Kr();return t?t.sanitize(Wr.URL,e)||"":_r(e,"URL")?br(e):Er(Xe(e))}function Yr(e){var t=Kr();if(t)return dr(t.sanitize(Wr.RESOURCE_URL,e)||"");if(_r(e,"ResourceURL"))return dr(br(e));throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)")}function Kr(){var e=mn();return e&&e[12]}var $r="__ngContext__";function Qr(e,t){e[$r]=t}function Zr(e){var t=function(e){return e[$r]||null}(e);return t?Array.isArray(t)?t:t.lView:null}function Jr(e){return e.ngOriginalError}function eo(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i0&&(e[n-1][4]=i[4]);var o=Fi(e,10+t);!function(e,t){Mo(e,t,t[11],2,null,null),t[0]=null,t[6]=null}(i[1],i);var a=o[19];null!==a&&a.detachView(o[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}}function mo(e,t){if(!(256&t[2])){var n=t[11];tn(n)&&n.destroyNode&&Mo(e,t,n,3,null,null),function(e){var t=e[13];if(!t)return yo(e[1],e);for(;t;){var n=null;if(jt(t))n=t[13];else{var i=t[10];i&&(n=i)}if(!n){for(;t&&!t[4]&&t!==e;)jt(t)&&yo(t[1],t),t=t[3];null===t&&(t=e),jt(t)&&yo(t[1],t),n=t&&t[4]}t=n}}(t)}}function yo(e,t){if(!(256&t[2])){t[2]&=-129,t[2]|=256,function(e,t){var n;if(null!=e&&null!=(n=e.destroyHooks))for(var i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),o+=2}else{var l=i[r=n[o+1]];n[o].call(l)}if(null!==i){for(var h=r+1;ho?"":r[l+1].toLowerCase();var d=8&i?h:null;if(d&&-1!==No(d,c,0)||2&i&&c!==h){if(zo(i))return!1;a=!0}}}}else{if(!a&&!zo(i)&&!zo(u))return!1;if(a&&zo(u))continue;a=!1,i=u|1&i}}return zo(i)||a}function zo(e){return 0==(1&e)}function Uo(e,t,n,i){if(null===t)return-1;var r=0;if(i||!n){for(var o=!1;r-1)for(n++;n2&&void 0!==arguments[2]&&arguments[2],i=0;i0?'="'+s+'"':"")+"]"}else 8&i?r+="."+a:4&i&&(r+=" "+a);else""!==r&&!zo(a)&&(t+=Wo(o,r),r=""),i=a,o=o||!zo(i);n++}return""!==r&&(t+=Wo(o,r)),t}var Xo={};function Yo(e){Ko(yn(),mn(),Gn()+e,Cn())}function Ko(e,t,n,i){if(!i)if(3==(3&t[2])){var r=e.preOrderCheckHooks;null!==r&&Kn(t,r,n)}else{var o=e.preOrderHooks;null!==o&&$n(t,o,0,n)}Wn(n)}function $o(e,t){return e<<17|t<<2}function Qo(e){return e>>17&32767}function Zo(e){return 2|e}function Jo(e){return(131068&e)>>2}function ea(e,t){return-131069&e|t<<2}function ta(e){return 1|e}function na(e,t){var n=e.contentQueries;if(null!==n)for(var i=0;i20&&Ko(e,t,20,Cn()),n(i,r)}finally{Wn(o)}}function la(e,t,n){if(Bt(t))for(var i=t.directiveEnd,r=t.directiveStart;r2&&void 0!==arguments[2]?arguments[2]:an,i=t.localNames;if(null!==i)for(var r=t.index+1,o=0;o0;){var n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(s)!=u&&s.push(u),s.push(i,r,a)}}function _a(e,t){null!==e.hostBindings&&e.hostBindings(1,t)}function wa(e,t){t.flags|=2,(e.components||(e.components=[])).push(t.index)}function ka(e,t,n){if(n){if(t.exportAs)for(var i=0;i0&&Ma(n)}}function Ma(e){for(var t=co(e);null!==t;t=lo(t))for(var n=10;n0&&Ma(i)}var o=e[1].components;if(null!==o)for(var a=0;a0&&Ma(s)}}function Ia(e,t){var n=cn(t,e),i=n[1];(function(e,t){for(var n=t.length;n1&&void 0!==arguments[1]?arguments[1]:Gi;if(t===Gi){var n=new Error("NullInjectorError: No provider for ".concat(Ve(e),"!"));throw n.name="NullInjectorError",n}return t}}]),e}(),Ka=new Ri("Set Injector scope."),$a={},Qa={};function Za(){return void 0===qa&&(qa=new Ya),qa}function Ja(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3?arguments[3]:void 0;return new es(e,n,t||Za(),i)}var es=function(){function e(t,n,i){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;m(this,e),this.parent=i,this.records=new Map,this.injectorDefTypes=new Set,this.onDestroy=new Set,this._destroyed=!1;var a=[];n&&Li(n,function(e){return r.processProvider(e,t,n)}),Li([t],function(e){return r.processInjectorType(e,[],a)}),this.records.set(Xa,is(void 0,this));var s=this.records.get(Ka);this.scope=null!=s?s.value:null,this.source=o||("object"==typeof t?null:Ve(t))}return b(e,[{key:"destroyed",get:function(){return this._destroyed}},{key:"destroy",value:function(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(function(e){return e.ngOnDestroy()})}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}},{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gi,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:at.Default;this.assertNotDestroyed();var i=$i(this),r=st(void 0);try{if(!(n&at.SkipSelf)){var o=this.records.get(e);if(void 0===o){var a=function(e){return"function"==typeof e||"object"==typeof e&&e instanceof Ri}(e)&&Ze(e);o=a&&this.injectableDefInScope(a)?is(ts(e),$a):null,this.records.set(e,o)}if(null!=o)return this.hydrate(e,o)}return(n&at.Self?Za():this.parent).get(e,t=n&at.Optional&&t===Gi?null:t)}catch(s){if("NullInjectorError"===s.name){if((s[qi]=s[qi]||[]).unshift(Ve(e)),i)throw s;return ir(s,e,"R3InjectorError",this.source)}throw s}finally{st(r),$i(i)}}},{key:"_resolveInjectorDefTypes",value:function(){var e=this;this.injectorDefTypes.forEach(function(t){return e.get(t)})}},{key:"toString",value:function(){var e=[];return this.records.forEach(function(t,n){return e.push(Ve(n))}),"R3Injector[".concat(e.join(", "),"]")}},{key:"assertNotDestroyed",value:function(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}},{key:"processInjectorType",value:function(e,t,n){var i=this;if(!(e=Ge(e)))return!1;var r=et(e),o=null==r&&e.ngModule||void 0,a=void 0===o?e:o,s=-1!==n.indexOf(a);if(void 0!==o&&(r=et(o)),null==r)return!1;if(null!=r.imports&&!s){var u;n.push(a);try{Li(r.imports,function(e){i.processInjectorType(e,t,n)&&(void 0===u&&(u=[]),u.push(e))})}finally{}if(void 0!==u)for(var c=function(e){var t=u[e],n=t.ngModule,r=t.providers;Li(r,function(e){return i.processProvider(e,n,r||yt)})},l=0;l0){var n=Bi(t,"?");throw new Error("Can't resolve all parameters for ".concat(Ve(e),": (").concat(n.join(", "),")."))}var i=function(e){var t=e&&(e[nt]||e[rt]);if(t){var n=function(e){if(e.hasOwnProperty("name"))return e.name;var t=(""+e).match(/^function\s*([^\s(]+)/);return null===t?"":t[1]}(e);return console.warn('DEPRECATED: DI is instantiating a token "'.concat(n,'" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "').concat(n,'" class.')),t}return null}(e);return null!==i?function(){return i.factory(e)}:function(){return new e}}(e);throw new Error("unreachable")}function ns(e,t,n){var i;if(os(e)){var r=Ge(e);return Gt(r)||ts(r)}if(rs(e))i=function(){return Ge(e.useValue)};else if(function(e){return!(!e||!e.useFactory)}(e))i=function(){return e.useFactory.apply(e,v(er(e.deps||[])))};else if(function(e){return!(!e||!e.useExisting)}(e))i=function(){return Zi(Ge(e.useExisting))};else{var o=Ge(e&&(e.useClass||e.provide));if(!function(e){return!!e.deps}(e))return Gt(o)||ts(o);i=function(){return h(o,v(er(e.deps)))}}return i}function is(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{factory:e,value:t,multi:n?[]:void 0}}function rs(e){return null!==e&&"object"==typeof e&&Ki in e}function os(e){return"function"==typeof e}var as=function(e,t,n){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3?arguments[3]:void 0,r=Ja(e,t,n,i);return r._resolveInjectorDefTypes(),r}({name:n},t,e,n)},ss=function(){function e(){m(this,e)}return b(e,null,[{key:"create",value:function(e,t){return Array.isArray(e)?as(e,t,""):as(e.providers,e.parent,e.name||"")}}]),e}();function us(e,t){Yn(Zr(e)[1],_n())}function cs(e){for(var t=function(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),n=!0,i=[e];t;){var r=void 0;if(Ut(e))r=t.\u0275cmp||t.\u0275dir;else{if(t.\u0275cmp)throw new Error("Directives cannot inherit Components");r=t.\u0275dir}if(r){if(n){i.push(r);var o=e;o.inputs=ls(e.inputs),o.declaredInputs=ls(e.declaredInputs),o.outputs=ls(e.outputs);var a=r.hostBindings;a&&fs(e,a);var s=r.viewQuery,u=r.contentQueries;if(s&&hs(e,s),u&&ds(e,u),Be(e.inputs,r.inputs),Be(e.declaredInputs,r.declaredInputs),Be(e.outputs,r.outputs),Ut(r)&&r.data.animation){var c=e.data;c.animation=(c.animation||[]).concat(r.data.animation)}}var l=r.features;if(l)for(var h=0;h=0;i--){var r=e[i];r.hostVars=t+=r.hostVars,r.hostAttrs=ri(r.hostAttrs,n=ri(n,r.hostAttrs))}}(i)}function ls(e){return e===mt?{}:e===yt?[]:e}function hs(e,t){var n=e.viewQuery;e.viewQuery=n?function(e,i){t(e,i),n(e,i)}:t}function ds(e,t){var n=e.contentQueries;e.contentQueries=n?function(e,i,r){t(e,i,r),n(e,i,r)}:t}function fs(e,t){var n=e.hostBindings;e.hostBindings=n?function(e,i){t(e,i),n(e,i)}:t}ss.THROW_IF_NOT_FOUND=Gi,ss.NULL=new Ya,ss.\u0275prov=$e({token:ss,providedIn:"any",factory:function(){return Zi(Xa)}}),ss.__NG_ELEMENT_ID__=-1;var ps=null;function vs(){if(!ps){var e=gt.Symbol;if(e&&e.iterator)ps=e.iterator;else for(var t=Object.getOwnPropertyNames(Map.prototype),n=0;n1&&void 0!==arguments[1]?arguments[1]:at.Default,n=mn();return null===n?Zi(e,t):bi(_n(),n,Ge(e),t)}function Ts(e,t,n){var i=mn();return _s(i,An(),t)&&ma(yn(),qn(),i,e,t,i[11],n,!1),Ts}function As(e,t,n,i,r){var o=r?"class":"style";Ha(e,n,t.inputs[o],o,i)}function Ps(e,t,n,i){var r=mn(),o=yn(),a=20+e,s=r[11],u=r[a]=po(s,t,vn.lFrame.currentNamespace),c=o.firstCreatePass?function(e,t,n,i,r,o,a){var s=t.consts,u=ra(t,e,2,r,dn(s,o));return ya(t,n,u,dn(s,a)),null!==u.attrs&&Wa(u,u.attrs,!1),null!==u.mergedAttrs&&Wa(u,u.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,u),u}(a,o,r,0,t,n,i):o.data[a];kn(c,!0);var l=c.mergedAttrs;null!==l&&ti(s,u,l);var h=c.classes;null!==h&&Do(s,u,h);var d=c.styles;null!==d&&Ro(s,u,d),64!=(64&c.flags)&&Eo(o,r,u,c),0===vn.lFrame.elementDepthCount&&Qr(u,r),vn.lFrame.elementDepthCount++,zt(c)&&(ha(o,r,c),la(o,c,r)),null!==i&&da(r,c)}function Ms(){var e=_n();xn()?Sn():kn(e=e.parent,!1);var t=e;vn.lFrame.elementDepthCount--;var n=yn();n.firstCreatePass&&(Yn(n,e),Bt(e)&&n.queries.elementEnd(e)),null!=t.classesWithoutHost&&function(e){return 0!=(16&e.flags)}(t)&&As(n,t,mn(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function(e){return 0!=(32&e.flags)}(t)&&As(n,t,mn(),t.stylesWithoutHost,!1)}function Is(e,t,n,i){Ps(e,t,n,i),Ms()}function Rs(e,t,n){var i=mn(),r=yn(),o=e+20,a=r.firstCreatePass?function(e,t,n,i,r){var o=t.consts,a=dn(o,i),s=ra(t,e,8,"ng-container",a);return null!==a&&Wa(s,a,!0),ya(t,n,s,dn(o,r)),null!==t.queries&&t.queries.elementStart(t,s),s}(o,r,i,t,n):r.data[o];kn(a,!0);var s=i[o]=i[11].createComment("");Eo(r,i,s,a),Qr(s,i),zt(a)&&(ha(r,i,a),la(r,a,i)),null!=n&&da(i,a)}function Ds(){var e=_n(),t=yn();xn()?Sn():kn(e=e.parent,!1),t.firstCreatePass&&(Yn(t,e),Bt(e)&&t.queries.elementEnd(e))}function Ns(e,t,n){Rs(e,t,n),Ds()}function Ls(){return mn()}function js(e){return!!e&&"function"==typeof e.then}function Fs(e){return!!e&&"function"==typeof e.subscribe}var Bs=Fs;function Vs(e,t,n,i){var r=mn(),o=yn(),a=_n();return Us(o,r,r[11],a,e,t,!!n,i),Vs}function zs(e,t){var n=_n(),i=mn(),r=yn();return Us(r,i,za(Rn(r.data),n,i),n,e,t,!1),zs}function Us(e,t,n,i,r,o,a,s){var u=zt(i),c=e.firstCreatePass&&Va(e),l=t[8],h=Ba(t),d=!0;if(3&i.type||s){var f=an(i,t),p=s?s(f):f,v=h.length,g=s?function(e){return s(rn(e[i.index]))}:i.index;if(tn(n)){var m=null;if(!s&&u&&(m=function(e,t,n,i){var r=e.cleanup;if(null!=r)for(var o=0;ou?s[u]:null}"string"==typeof a&&(o+=2)}return null}(e,t,r,i.index)),null!==m)(m.__ngLastListenerFn__||m).__ngNextListenerFn__=o,m.__ngLastListenerFn__=o,d=!1;else{o=Gs(i,t,l,o,!1);var y=n.listen(p,r,o);h.push(o,y),c&&c.push(r,g,v,v+1)}}else o=Gs(i,t,l,o,!0),p.addEventListener(r,o,a),h.push(o),c&&c.push(r,g,v,a)}else o=Gs(i,t,l,o,!1);var b,_=i.outputs;if(d&&null!==_&&(b=_[r])){var w=b.length;if(w)for(var k=0;k0&&void 0!==arguments[0]?arguments[0]:1;return function(e){return(vn.lFrame.contextLView=function(e,t){for(;e>0;)t=t[15],e--;return t}(e,vn.lFrame.contextLView))[8]}(e)}function qs(e,t){for(var n=null,i=function(e){var t=e.attrs;if(null!=t){var n=t.indexOf(5);if(0==(1&n))return t[n+1]}return null}(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0,i=mn(),r=yn(),o=ra(r,20+e,16,null,n||null);null===o.projection&&(o.projection=t),Sn(),64!=(64&o.flags)&&function(e,t,n){Io(t[11],0,t,n,bo(e,n,t),So(n.parent||t[6],n,t))}(r,i,o)}function Ks(e,t,n){return $s(e,"",t,"",n),Ks}function $s(e,t,n,i,r){var o=mn(),a=xs(o,t,n,i);return a!==Xo&&ma(yn(),qn(),o,e,a,o[11],r,!1),$s}function Qs(e,t,n,i,r){for(var o=e[n+1],a=null===t,s=i?Qo(o):Jo(o),u=!1;0!==s&&(!1===u||a);){var c=e[s+1];Zs(e[s],t)&&(u=!0,e[s+1]=i?ta(c):Zo(c)),s=i?Qo(c):Jo(c)}u&&(e[n+1]=i?Zo(o):ta(o))}function Zs(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ui(e,t)>=0}var Js={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function eu(e){return e.substring(Js.key,Js.keyEnd)}function tu(e){return e.substring(Js.value,Js.valueEnd)}function nu(e,t){var n=Js.textEnd;return n===t?-1:(t=Js.keyEnd=function(e,t,n){for(;t32;)t++;return t}(e,Js.key=t,n),ou(e,t,n))}function iu(e,t){var n=Js.textEnd,i=Js.key=ou(e,t,n);return n===i?-1:(i=Js.keyEnd=function(e,t,n){for(var i;t=65&&(-33&i)<=90||i>=48&&i<=57);)t++;return t}(e,i,n),i=au(e,i,n),i=Js.value=ou(e,i,n),i=Js.valueEnd=function(e,t,n){for(var i=-1,r=-1,o=-1,a=t,s=a;a32&&(s=a),o=r,r=i,i=-33&u}return s}(e,i,n),au(e,i,n))}function ru(e){Js.key=0,Js.keyEnd=0,Js.value=0,Js.valueEnd=0,Js.textEnd=e.length}function ou(e,t,n){for(;t=0;n=iu(t,n))_u(e,eu(t),tu(t))}function du(e){vu(Vi,fu,e,!0)}function fu(e,t){for(var n=function(e){return ru(e),nu(e,ou(e,0,Js.textEnd))}(t);n>=0;n=nu(t,n))Vi(e,eu(t),!0)}function pu(e,t,n,i){var r=mn(),o=yn(),a=Pn(2);o.firstUpdatePass&&mu(o,e,a,i),t!==Xo&&_s(r,a,t)&&wu(o,o.data[Gn()],r,r[11],e,r[a+1]=function(e,t){return null==e||("string"==typeof t?e+=t:"object"==typeof e&&(e=Ve(br(e)))),e}(t,n),i,a)}function vu(e,t,n,i){var r=yn(),o=Pn(2);r.firstUpdatePass&&mu(r,null,o,i);var a=mn();if(n!==Xo&&_s(a,o,n)){var s=r.data[Gn()];if(Su(s,i)&&!gu(r,o)){var u=i?s.classesWithoutHost:s.stylesWithoutHost;null!==u&&(n=ze(u,n||"")),As(r,s,a,n,i)}else!function(e,t,n,i,r,o,a,s){r===Xo&&(r=yt);for(var u=0,c=0,l=0=e.expandoStartIndex}function mu(e,t,n,i){var r=e.data;if(null===r[n+1]){var o=r[Gn()],a=gu(e,n);Su(o,i)&&null===t&&!a&&(t=!1),t=function(e,t,n,i){var r=Rn(e),o=i?t.residualClasses:t.residualStyles;if(null===r)0===(i?t.classBindings:t.styleBindings)&&(n=bu(n=yu(null,e,t,n,i),t.attrs,i),o=null);else{var a=t.directiveStylingLast;if(-1===a||e[a]!==r)if(n=yu(r,e,t,n,i),null===o){var s=function(e,t,n){var i=n?t.classBindings:t.styleBindings;if(0!==Jo(i))return e[Qo(i)]}(e,t,i);void 0!==s&&Array.isArray(s)&&function(e,t,n,i){e[Qo(n?t.classBindings:t.styleBindings)]=i}(e,t,i,s=bu(s=yu(null,e,t,s[1],i),t.attrs,i))}else o=function(e,t,n){for(var i,r=t.directiveEnd,o=1+t.directiveStylingLast;o0)&&(l=!0)}else c=n;if(r)if(0!==u){var d=Qo(e[s+1]);e[i+1]=$o(d,s),0!==d&&(e[d+1]=ea(e[d+1],i)),e[s+1]=function(e,t){return 131071&e|t<<17}(e[s+1],i)}else e[i+1]=$o(s,0),0!==s&&(e[s+1]=ea(e[s+1],i)),s=i;else e[i+1]=$o(u,0),0===s?s=i:e[u+1]=ea(e[u+1],i),u=i;l&&(e[i+1]=Zo(e[i+1])),Qs(e,c,i,!0),Qs(e,c,i,!1),function(e,t,n,i,r){var o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof t&&Ui(o,t)>=0&&(n[i+1]=ta(n[i+1]))}(t,c,e,i,o),a=$o(s,u),o?t.classBindings=a:t.styleBindings=a}(r,o,t,n,a,i)}}function yu(e,t,n,i,r){var o=null,a=n.directiveEnd,s=n.directiveStylingLast;for(-1===s?s=n.directiveStart:s++;s0;){var u=e[r],c=Array.isArray(u),l=c?u[1]:u,h=null===l,d=n[r+1];d===Xo&&(d=h?yt:void 0);var f=h?zi(d,i):l===i?d:void 0;if(c&&!xu(f)&&(f=zi(u,i)),xu(f)&&(a=f,s))return a;var p=e[r+1];r=s?Qo(p):Jo(p)}if(null!==t){var v=o?t.residualClasses:t.residualStyles;null!=v&&(a=zi(v,i))}return a}function xu(e){return void 0!==e}function Su(e,t){return 0!=(e.flags&(t?16:32))}function Cu(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=mn(),i=yn(),r=e+20,o=i.firstCreatePass?ra(i,r,1,t,null):i.data[r],a=n[r]=function(e,t){return tn(e)?e.createText(t):e.createTextNode(t)}(n[11],t);Eo(i,n,a,o),kn(o,!1)}function Eu(e){return Ou("",e,""),Eu}function Ou(e,t,n){var i=mn(),r=xs(i,e,t,n);return r!==Xo&&Ga(i,Gn(),r),Ou}function Tu(e,t,n,i,r){var o=mn(),a=function(e,t,n,i,r,o){var a=ws(e,Tn(),n,r);return Pn(2),a?t+Xe(n)+i+Xe(r)+o:Xo}(o,e,t,n,i,r);return a!==Xo&&Ga(o,Gn(),a),Tu}function Au(e,t,n){vu(Vi,fu,xs(mn(),e,t,n),!0)}function Pu(e,t,n){var i=mn();return _s(i,An(),t)&&ma(yn(),qn(),i,e,t,i[11],n,!0),Pu}function Mu(e,t,n){var i=mn();if(_s(i,An(),t)){var r=yn(),o=qn();ma(r,o,i,e,t,za(Rn(r.data),o,i),n,!0)}return Mu}var Iu=void 0,Ru=["en",[["a","p"],["AM","PM"],Iu],[["AM","PM"],Iu,Iu],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Iu,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Iu,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Iu,"{1} 'at' {0}",Iu],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(e){var t=Math.floor(Math.abs(e)),n=e.toString().replace(/^[^.]*\.?/,"").length;return 1===t&&0===n?1:5}],Du={};function Nu(e){var t=function(e){return e.toLowerCase().replace(/_/g,"-")}(e),n=Lu(t);if(n)return n;var i=t.split("-")[0];if(n=Lu(i))return n;if("en"===i)return Ru;throw new Error('Missing locale data for the locale "'.concat(e,'".'))}function Lu(e){return e in Du||(Du[e]=gt.ng&>.ng.common&>.ng.common.locales&>.ng.common.locales[e]),Du[e]}var ju=((ju=ju||{})[ju.LocaleId=0]="LocaleId",ju[ju.DayPeriodsFormat=1]="DayPeriodsFormat",ju[ju.DayPeriodsStandalone=2]="DayPeriodsStandalone",ju[ju.DaysFormat=3]="DaysFormat",ju[ju.DaysStandalone=4]="DaysStandalone",ju[ju.MonthsFormat=5]="MonthsFormat",ju[ju.MonthsStandalone=6]="MonthsStandalone",ju[ju.Eras=7]="Eras",ju[ju.FirstDayOfWeek=8]="FirstDayOfWeek",ju[ju.WeekendRange=9]="WeekendRange",ju[ju.DateFormat=10]="DateFormat",ju[ju.TimeFormat=11]="TimeFormat",ju[ju.DateTimeFormat=12]="DateTimeFormat",ju[ju.NumberSymbols=13]="NumberSymbols",ju[ju.NumberFormats=14]="NumberFormats",ju[ju.CurrencyCode=15]="CurrencyCode",ju[ju.CurrencySymbol=16]="CurrencySymbol",ju[ju.CurrencyName=17]="CurrencyName",ju[ju.Currencies=18]="Currencies",ju[ju.Directionality=19]="Directionality",ju[ju.PluralCase=20]="PluralCase",ju[ju.ExtraData=21]="ExtraData",ju),Fu="en-US";function Bu(e){(function(e,t){null==e&&function(e,t,n,i){throw new Error("ASSERTION ERROR: ".concat(e)+" [Expected=> ".concat(null," ").concat("!="," ").concat(t," <=Actual]"))}(t,e)})(e,"Expected localeId to be defined"),"string"==typeof e&&e.toLowerCase().replace(/_/g,"-")}function Vu(e,t,n,i,r){if(e=Ge(e),Array.isArray(e))for(var o=0;o>20;if(os(e)||!e.multi){var p=new ei(c,r,Os),v=Hu(u,t,r?h:h+f,d);-1===v?(gi(di(l,s),a,u),zu(a,e,t.length),t.push(u),l.directiveStart++,l.directiveEnd++,r&&(l.providerIndexes+=1048576),n.push(p),s.push(p)):(n[v]=p,s[v]=p)}else{var g=Hu(u,t,h+f,d),m=Hu(u,t,h,h+f),y=g>=0&&n[g],b=m>=0&&n[m];if(r&&!b||!r&&!y){gi(di(l,s),a,u);var _=function(e,t,n,i,r){var o=new ei(e,n,Os);return o.multi=[],o.index=t,o.componentProviders=0,Uu(o,r,i&&!n),o}(r?Wu:Gu,n.length,r,i,c);!r&&b&&(n[m].providerFactory=_),zu(a,e,t.length,0),t.push(u),l.directiveStart++,l.directiveEnd++,r&&(l.providerIndexes+=1048576),n.push(_),s.push(_)}else zu(a,e,g>-1?g:m,Uu(n[r?m:g],c,!r&&i));!r&&i&&b&&n[m].componentProviders++}}}function zu(e,t,n,i){var r=os(t);if(r||function(e){return!!e.useClass}(t)){var o=(t.useClass||t).prototype.ngOnDestroy;if(o){var a=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){var s=a.indexOf(n);-1===s?a.push(n,[i,o]):a[s+1].push(i,o)}else a.push(n,o)}}}function Uu(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function Hu(e,t,n,i){for(var r=n;r1&&void 0!==arguments[1]?arguments[1]:[];return function(n){n.providersResolver=function(n,i){return function(e,t,n){var i=yn();if(i.firstCreatePass){var r=Ut(e);Vu(n,i.data,i.blueprint,r,!0),Vu(t,i.data,i.blueprint,r,!1)}}(n,i?i(e):e,t)}}}var Yu=function e(){m(this,e)},Ku=function e(){m(this,e)};function $u(){}function Qu(e,t){return new Ju(an(e,t))}Ku.NULL=new(function(){function e(){m(this,e)}return b(e,[{key:"resolveComponentFactory",value:function(e){throw function(e){var t=Error("No component factory found for ".concat(Ve(e),". Did you add it to @NgModule.entryComponents?"));return t.ngComponent=e,t}(e)}}]),e}());var Zu=function(){return Qu(_n(),mn())},Ju=function(){var e=function e(t){m(this,e),this.nativeElement=t};return e.__NG_ELEMENT_ID__=Zu,e}();function ec(e){return e instanceof Ju?e.nativeElement:e}var tc=function e(){m(this,e)},nc=function(){var e=function e(){m(this,e)};return e.__NG_ELEMENT_ID__=function(){return ic()},e}(),ic=function(){var e=mn(),t=cn(_n().index,e);return function(e){return e[11]}(jt(t)?t:e)},rc=function(){var e=function e(){m(this,e)};return e.\u0275prov=$e({token:e,providedIn:"root",factory:function(){return null}}),e}(),oc=function e(t){m(this,e),this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")},ac=new oc("12.2.5"),sc=function(){function e(){m(this,e)}return b(e,[{key:"supports",value:function(e){return ms(e)}},{key:"create",value:function(e){return new cc(e)}}]),e}(),uc=function(e,t){return t},cc=function(){function e(t){m(this,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=t||uc}return b(e,[{key:"forEachItem",value:function(e){var t;for(t=this._itHead;null!==t;t=t._next)e(t)}},{key:"forEachOperation",value:function(e){for(var t=this._itHead,n=this._removalsHead,i=0,r=null;t||n;){var o=!n||t&&t.currentIndex4&&void 0!==arguments[4]&&arguments[4];null!==n;){var o=t[n.index];if(null!==o&&i.push(rn(o)),Ft(o))for(var a=10;a-1&&(go(e,n),Fi(t,n))}this._attachedToViewContainer=!1}mo(this._lView[1],this._lView)}},{key:"onDestroy",value:function(e){va(this._lView[1],this._lView,null,e)}},{key:"markForCheck",value:function(){Da(this._cdRefInjectingView||this._lView)}},{key:"detach",value:function(){this._lView[2]&=-129}},{key:"reattach",value:function(){this._lView[2]|=128}},{key:"detectChanges",value:function(){Na(this._lView[1],this._lView,this.context)}},{key:"checkNoChanges",value:function(){!function(e,t,n){En(!0);try{Na(e,t,n)}finally{En(!1)}}(this._lView[1],this._lView,this.context)}},{key:"attachToViewContainerRef",value:function(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}},{key:"detachFromAppRef",value:function(){this._appRef=null,function(e,t){Mo(e,t,t[11],2,null,null)}(this._lView[1],this._lView)}},{key:"attachToAppRef",value:function(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}]),e}(),xc=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,e))._view=e,i}return b(n,[{key:"detectChanges",value:function(){La(this._view)}},{key:"checkNoChanges",value:function(){!function(e){En(!0);try{La(e)}finally{En(!1)}}(this._view)}},{key:"context",get:function(){return null}}]),n}(kc),Sc=function(e){return function(e,t,n){if(Vt(e)&&!n){var i=cn(e.index,t);return new kc(i,i)}return 47&e.type?new kc(t[16],t):null}(_n(),mn(),16==(16&e))},Cc=function(){var e=function e(){m(this,e)};return e.__NG_ELEMENT_ID__=Sc,e}(),Ec=[new pc],Oc=new yc([new sc]),Tc=new _c(Ec),Ac=function(){return Ic(_n(),mn())},Pc=function(){var e=function e(){m(this,e)};return e.__NG_ELEMENT_ID__=Ac,e}(),Mc=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this))._declarationLView=e,o._declarationTContainer=i,o.elementRef=r,o}return b(n,[{key:"createEmbeddedView",value:function(e){var t=this._declarationTContainer.tViews,n=ia(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);n[17]=this._declarationLView[this._declarationTContainer.index];var i=this._declarationLView[19];return null!==i&&(n[19]=i.createEmbeddedView(t)),aa(t,n,e),new kc(n)}}]),n}(Pc);function Ic(e,t){return 4&e.type?new Mc(t,e,Qu(e,t)):null}var Rc=function e(){m(this,e)},Dc=function(){return Bc(_n(),mn())},Nc=function(){var e=function e(){m(this,e)};return e.__NG_ELEMENT_ID__=Dc,e}(),Lc=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this))._lContainer=e,o._hostTNode=i,o._hostLView=r,o}return b(n,[{key:"element",get:function(){return Qu(this._hostTNode,this._hostLView)}},{key:"injector",get:function(){return new Oi(this._hostTNode,this._hostLView)}},{key:"parentInjector",get:function(){var e=vi(this._hostTNode,this._hostLView);if(ai(e)){var t=ui(e,this._hostLView),n=si(e);return new Oi(t[1].data[n+8],t)}return new Oi(null,this._hostLView)}},{key:"clear",value:function(){for(;this.length>0;)this.remove(this.length-1)}},{key:"get",value:function(e){var t=jc(this._lContainer);return null!==t&&t[e]||null}},{key:"length",get:function(){return this._lContainer.length-10}},{key:"createEmbeddedView",value:function(e,t,n){var i=e.createEmbeddedView(t||{});return this.insert(i,n),i}},{key:"createComponent",value:function(e,t,n,i,r){var o=n||this.parentInjector;if(!r&&null==e.ngModule&&o){var a=o.get(Rc,null);a&&(r=a)}var s=e.create(o,i,void 0,r);return this.insert(s.hostView,t),s}},{key:"insert",value:function(e,t){var i=e._lView,r=i[1];if(function(e){return Ft(e[3])}(i)){var o=this.indexOf(e);if(-1!==o)this.detach(o);else{var a=i[3],s=new n(a,a[6],a[3]);s.detach(s.indexOf(e))}}var u=this._adjustIndex(t),c=this._lContainer;!function(e,t,n,i){var r=10+i,o=n.length;i>0&&(n[r-1][4]=t),i1&&void 0!==arguments[1]?arguments[1]:0;return null==e?this.length+t:e}}]),n}(Nc);function jc(e){return e[8]}function Fc(e){return e[8]||(e[8]=[])}function Bc(e,t){var n,i=t[e.index];if(Ft(i))n=i;else{var r;if(8&e.type)r=rn(i);else{var o=t[11];r=o.createComment("");var a=an(e,t);_o(o,xo(o,a),r,function(e,t){return tn(e)?e.nextSibling(t):t.nextSibling}(o,a),!1)}t[e.index]=n=Aa(i,t,r,e),Ra(t,n)}return new Lc(n,e,t)}var Vc={},zc=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).ngModule=e,i}return b(n,[{key:"resolveComponentFactory",value:function(e){var t=Nt(e);return new Gc(t,this.ngModule)}}]),n}(Ku);function Uc(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push({propName:e[n],templateName:n});return t}var Hc=new Ri("SCHEDULER_TOKEN",{providedIn:"root",factory:function(){return no}}),Gc=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).componentDef=e,r.ngModule=i,r.componentType=e.type,r.selector=function(e){return e.map(qo).join(",")}(e.selectors),r.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],r.isBoundToModule=!!i,r}return b(n,[{key:"inputs",get:function(){return Uc(this.componentDef.inputs)}},{key:"outputs",get:function(){return Uc(this.componentDef.outputs)}},{key:"create",value:function(e,t,n,i){var r,o,a=(i=i||this.ngModule)?function(e,t){return{get:function(n,i,r){var o=e.get(n,Vc,r);return o!==Vc||i===Vc?o:t.get(n,i,r)}}}(e,i.injector):e,s=a.get(tc,nn),u=a.get(rc,null),c=s.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",h=n?function(e,t,n){if(tn(e))return e.selectRootElement(t,n===ht.ShadowDom);var i="string"==typeof t?e.querySelector(t):t;return i.textContent="",i}(c,n,this.componentDef.encapsulation):po(s.createRenderer(null,this.componentDef),l,function(e){var t=e.toLowerCase();return"svg"===t?Jt:"math"===t?"http://www.w3.org/1998/MathML/":null}(l)),d=this.componentDef.onPush?576:528,f={components:[],scheduler:no,clean:Fa,playerHandler:null,flags:0},p=pa(0,null,null,1,0,null,null,null,null,null),v=ia(null,p,f,d,null,null,s,c,u,a);Fn(v);try{var g=function(e,t,n,i,r,o){var a=n[1];n[20]=e;var s=ra(a,20,2,"#host",null),u=s.mergedAttrs=t.hostAttrs;null!==u&&(Wa(s,u,!0),null!==e&&(ti(r,e,u),null!==s.classes&&Do(r,e,s.classes),null!==s.styles&&Ro(r,e,s.styles)));var c=i.createRenderer(e,t),l=ia(n,fa(t),null,t.onPush?64:16,n[20],s,i,c,null,null);return a.firstCreatePass&&(gi(di(s,n),a,t.type),wa(a,s),xa(s,n.length,1)),Ra(n,l),n[20]=l}(h,this.componentDef,v,s,c);if(h)if(n)ti(c,h,["ng-version",ac.full]);else{var m=function(e){for(var t=[],n=[],i=1,r=2;i0&&Do(c,h,b.join(" "))}if(o=sn(p,20),void 0!==t)for(var _=o.projection=[],w=0;w1&&void 0!==arguments[1]?arguments[1]:ss.THROW_IF_NOT_FOUND,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:at.Default;return e===ss||e===Rc||e===Xa?this:this._r3Injector.get(e,t,n)}},{key:"destroy",value:function(){var e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(function(e){return e()}),this.destroyCbs=null}},{key:"onDestroy",value:function(e){this.destroyCbs.push(e)}}]),n}(Rc),Yc=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).moduleType=e,null!==Lt(e)&&function(e){var t=new Set;!function e(n){var i=Lt(n,!0),r=i.id;null!==r&&(function(e,t,n){if(t&&t!==n)throw new Error("Duplicate module registered for ".concat(e," - ").concat(Ve(t)," vs ").concat(Ve(t.name)))}(r,qc.get(r),n),qc.set(r,n));var o,a=_(oo(i.imports));try{for(a.s();!(o=a.n()).done;){var s=o.value;t.has(s)||(t.add(s),e(s))}}catch(u){a.e(u)}finally{a.f()}}(e)}(e),i}return b(n,[{key:"create",value:function(e){return new Xc(this.moduleType,e)}}]),n}(function(){return function e(){m(this,e)}}());function Kc(e,t,n){var i=On()+e,r=mn();return r[i]===Xo?bs(r,i,n?t.call(n):t()):function(e,t){return e[t]}(r,i)}function $c(e,t,n,i){return Zc(mn(),On(),e,t,n,i)}function Qc(e,t){var n=e[t];return n===Xo?void 0:n}function Zc(e,t,n,i,r,o){var a=t+n;return _s(e,a,r)?bs(e,a+1,o?i.call(o,r):i(r)):Qc(e,a+1)}function Jc(e,t){var n,i=yn(),r=e+20;i.firstCreatePass?(n=function(e,t){if(t)for(var n=t.length-1;n>=0;n--){var i=t[n];if(e===i.name)return i}throw new qe("302","The pipe '".concat(e,"' could not be found!"))}(t,i.pipeRegistry),i.data[r]=n,n.onDestroy&&(i.destroyHooks||(i.destroyHooks=[])).push(r,n.onDestroy)):n=i.data[r];var o=n.factory||(n.factory=Gt(n.type)),a=st(Os);try{var s=li(!1),u=o();return li(s),function(e,t,n,i){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=i}(i,mn(),r,u),u}finally{st(a)}}function el(e,t,n){var i=e+20,r=mn(),o=un(r,i);return il(r,nl(r,i)?Zc(r,On(),t,o.transform,n,o):o.transform(n))}function tl(e,t,n,i){var r=e+20,o=mn(),a=un(o,r);return il(o,nl(o,r)?function(e,t,n,i,r,o,a){var s=t+n;return ws(e,s,r,o)?bs(e,s+2,a?i.call(a,r,o):i(r,o)):Qc(e,s+2)}(o,On(),t,a.transform,n,i,a):a.transform(n,i))}function nl(e,t){return e[1].data[t].pure}function il(e,t){return gs.isWrapped(t)&&(t=gs.unwrap(t),e[Tn()]=Xo),t}function rl(e){return function(t){setTimeout(e,void 0,t)}}var ol=function(t){a(i,t);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return m(this,i),(e=n.call(this)).__isAsync=t,e}return b(i,[{key:"emit",value:function(t){e(p(i.prototype),"next",this).call(this,t)}},{key:"subscribe",value:function(t,n,r){var o,a,s,u=t,c=n||function(){return null},l=r;if(t&&"object"==typeof t){var h=t;u=null===(o=h.next)||void 0===o?void 0:o.bind(h),c=null===(a=h.error)||void 0===a?void 0:a.bind(h),l=null===(s=h.complete)||void 0===s?void 0:s.bind(h)}this.__isAsync&&(c=rl(c),u&&(u=rl(u)),l&&(l=rl(l)));var d=e(p(i.prototype),"subscribe",this).call(this,{next:u,error:c,complete:l});return t instanceof q&&t.add(d),d}}]),i}(ae);function al(){return this._results[vs()]()}var sl=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];m(this,e),this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;var n=vs(),i=e.prototype;i[n]||(i[n]=al)}return b(e,[{key:"changes",get:function(){return this._changes||(this._changes=new ol)}},{key:"get",value:function(e){return this._results[e]}},{key:"map",value:function(e){return this._results.map(e)}},{key:"filter",value:function(e){return this._results.filter(e)}},{key:"find",value:function(e){return this._results.find(e)}},{key:"reduce",value:function(e,t){return this._results.reduce(e,t)}},{key:"forEach",value:function(e){this._results.forEach(e)}},{key:"some",value:function(e){return this._results.some(e)}},{key:"toArray",value:function(){return this._results.slice()}},{key:"toString",value:function(){return this._results.toString()}},{key:"reset",value:function(e,t){var n=this;n.dirty=!1;var i=Ni(e);(this._changesDetected=!function(e,t,n){if(e.length!==t.length)return!1;for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:[];m(this,e),this.queries=t}return b(e,[{key:"createEmbeddedView",value:function(t){var n=t.queries;if(null!==n){for(var i=null!==t.contentQueries?t.contentQueries[0]:n.length,r=[],o=0;o2&&void 0!==arguments[2]?arguments[2]:null;m(this,e),this.predicate=t,this.flags=n,this.read=i},hl=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];m(this,e),this.queries=t}return b(e,[{key:"elementStart",value:function(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:-1;m(this,e),this.metadata=t,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=n}return b(e,[{key:"elementStart",value:function(e,t){this.isApplyingToNode(t)&&this.matchTNode(e,t)}},{key:"elementEnd",value:function(e){this._declarationNodeIndex===e.index&&(this._appliesToNextNode=!1)}},{key:"template",value:function(e,t){this.elementStart(e,t)}},{key:"embeddedTView",value:function(t,n){return this.isApplyingToNode(t)?(this.crossesNgTemplate=!0,this.addMatch(-t.index,n),new e(this.metadata)):null}},{key:"isApplyingToNode",value:function(e){if(this._appliesToNextNode&&1!=(1&this.metadata.flags)){for(var t=this._declarationNodeIndex,n=e.parent;null!==n&&8&n.type&&n.index!==t;)n=n.parent;return t===(null!==n?n.index:-1)}return this._appliesToNextNode}},{key:"matchTNode",value:function(e,t){var n=this.metadata.predicate;if(Array.isArray(n))for(var i=0;i0)i.push(a[s/2]);else{for(var c=o[s+1],l=t[-u],h=10;h0&&(r=setTimeout(function(){i._callbacks=i._callbacks.filter(function(e){return e.timeoutId!==r}),e(i._didWork,i.getPendingTasks())},t)),this._callbacks.push({doneCb:e,timeoutId:r,updateCb:n})}},{key:"whenStable",value:function(e,t,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(e,t,n),this._runCallbacksIfReady()}},{key:"getPendingRequestCount",value:function(){return this._pendingCount}},{key:"findProviders",value:function(e,t,n){return[]}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),nh=function(){var e=function(){function e(){m(this,e),this._applications=new Map,ih.addToWindow(this)}return b(e,[{key:"registerApplication",value:function(e,t){this._applications.set(e,t)}},{key:"unregisterApplication",value:function(e){this._applications.delete(e)}},{key:"unregisterAllApplications",value:function(){this._applications.clear()}},{key:"getTestability",value:function(e){return this._applications.get(e)||null}},{key:"getAllTestabilities",value:function(){return Array.from(this._applications.values())}},{key:"getAllRootElements",value:function(){return Array.from(this._applications.keys())}},{key:"findTestabilityInTree",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return ih.findTestabilityInTree(this,e,t)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),ih=new(function(){function e(){m(this,e)}return b(e,[{key:"addToWindow",value:function(e){}},{key:"findTestabilityInTree",value:function(e,t,n){return null}}]),e}()),rh=!0,oh=!1;function ah(){return oh=!0,rh}var sh=new Ri("AllowMultipleToken");function uh(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i="Platform: ".concat(t),r=new Ri(i);return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=ch();if(!o||o.injector.get(sh,!1))if(e)e(n.concat(t).concat({provide:r,useValue:!0}));else{var a=n.concat(t).concat({provide:r,useValue:!0},{provide:Ka,useValue:"platform"});!function(e){if(Jl&&!Jl.destroyed&&!Jl.injector.get(sh,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");Jl=e.get(lh);var t=e.get(Pl,null);t&&t.forEach(function(e){return e()})}(ss.create({providers:a,name:i}))}return function(e){var t=ch();if(!t)throw new Error("No platform exists!");if(!t.injector.get(e,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return t}(r)}}function ch(){return Jl&&!Jl.destroyed?Jl:null}var lh=function(){var e=function(){function e(t){m(this,e),this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}return b(e,[{key:"bootstrapModuleFactory",value:function(e,t){var n=this,i=function(e,t){return"noop"===e?new eh:("zone.js"===e?void 0:e)||new Xl({enableLongStackTrace:ah(),shouldCoalesceEventChangeDetection:!!(null==t?void 0:t.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==t?void 0:t.ngZoneRunCoalescing)})}(t?t.ngZone:void 0,{ngZoneEventCoalescing:t&&t.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:t&&t.ngZoneRunCoalescing||!1}),r=[{provide:Xl,useValue:i}];return i.run(function(){var o=ss.create({providers:r,parent:n.injector,name:e.moduleType.name}),a=e.create(o),s=a.injector.get(to,null);if(!s)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return i.runOutsideAngular(function(){var e=i.onError.subscribe({next:function(e){s.handleError(e)}});a.onDestroy(function(){fh(n._modules,a),e.unsubscribe()})}),function(e,i,r){try{var o=function(){var e=a.injector.get(El);return e.runInitializers(),e.donePromise.then(function(){return Bu(a.injector.get(Dl,Fu)||Fu),n._moduleDoBootstrap(a),a})}();return js(o)?o.catch(function(t){throw i.runOutsideAngular(function(){return e.handleError(t)}),t}):o}catch(t){throw i.runOutsideAngular(function(){return e.handleError(t)}),t}}(s,i)})}},{key:"bootstrapModule",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=hh({},n);return function(e,t,n){var i=new Yc(n);return Promise.resolve(i)}(0,0,e).then(function(e){return t.bootstrapModuleFactory(e,i)})}},{key:"_moduleDoBootstrap",value:function(e){var t=e.injector.get(dh);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(function(e){return t.bootstrap(e)});else{if(!e.instance.ngDoBootstrap)throw new Error("The module ".concat(Ve(e.instance.constructor),' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.'));e.instance.ngDoBootstrap(t)}this._modules.push(e)}},{key:"onDestroy",value:function(e){this._destroyListeners.push(e)}},{key:"injector",get:function(){return this._injector}},{key:"destroy",value:function(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(function(e){return e.destroy()}),this._destroyListeners.forEach(function(e){return e()}),this._destroyed=!0}},{key:"destroyed",get:function(){return this._destroyed}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ss))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}();function hh(e,t){return Array.isArray(t)?t.reduce(hh,e):Object.assign(Object.assign({},e),t)}var dh=function(){var e=function(){function e(t,n,i,r,o){var a=this;m(this,e),this._zone=t,this._injector=n,this._exceptionHandler=i,this._componentFactoryResolver=r,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:function(){a._zone.run(function(){a.tick()})}});var s=new te(function(e){a._stable=a._zone.isStable&&!a._zone.hasPendingMacrotasks&&!a._zone.hasPendingMicrotasks,a._zone.runOutsideAngular(function(){e.next(a._stable),e.complete()})}),u=new te(function(e){var t;a._zone.runOutsideAngular(function(){t=a._zone.onStable.subscribe(function(){Xl.assertNotInAngularZone(),ql(function(){!a._stable&&!a._zone.hasPendingMacrotasks&&!a._zone.hasPendingMicrotasks&&(a._stable=!0,e.next(!0))})})});var n=a._zone.onUnstable.subscribe(function(){Xl.assertInAngularZone(),a._stable&&(a._stable=!1,a._zone.runOutsideAngular(function(){e.next(!1)}))});return function(){t.unsubscribe(),n.unsubscribe()}});this.isStable=Oe(s,u.pipe(je()))}return b(e,[{key:"bootstrap",value:function(e,t){var n,i=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");n=e instanceof Yu?e:this._componentFactoryResolver.resolveComponentFactory(e),this.componentTypes.push(n.componentType);var r=function(e){return e.isBoundToModule}(n)?void 0:this._injector.get(Rc),o=n.create(ss.NULL,[],t||n.selector,r),a=o.location.nativeElement,s=o.injector.get(th,null),u=s&&o.injector.get(nh);return s&&u&&u.registerApplication(a,s),o.onDestroy(function(){i.detachView(o.hostView),fh(i.components,o),u&&u.unregisterApplication(a)}),this._loadComponent(o),o}},{key:"tick",value:function(){var e=this;if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;var t,n=_(this._views);try{for(n.s();!(t=n.n()).done;){var i;t.value.detectChanges()}}catch(r){n.e(r)}finally{n.f()}}catch(i){this._zone.runOutsideAngular(function(){return e._exceptionHandler.handleError(i)})}finally{this._runningTick=!1}}},{key:"attachView",value:function(e){var t=e;this._views.push(t),t.attachToAppRef(this)}},{key:"detachView",value:function(e){var t=e;fh(this._views,t),t.detachFromAppRef()}},{key:"_loadComponent",value:function(e){this.attachView(e.hostView),this.tick(),this.components.push(e),this._injector.get(Il,[]).concat(this._bootstrapListeners).forEach(function(t){return t(e)})}},{key:"ngOnDestroy",value:function(){this._views.slice().forEach(function(e){return e.destroy()}),this._onMicrotaskEmptySubscription.unsubscribe()}},{key:"viewCount",get:function(){return this._views.length}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl),Zi(ss),Zi(to),Zi(Ku),Zi(El))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}();function fh(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)}var ph=uh(null,"core",[{provide:Ml,useValue:"unknown"},{provide:lh,deps:[ss]},{provide:nh,deps:[]},{provide:Rl,deps:[]}]),vh=[{provide:dh,useClass:dh,deps:[Xl,ss,to,Ku,El]},{provide:Hc,deps:[Xl],useFactory:function(e){var t=[];return e.onStable.subscribe(function(){for(;t.length;)t.pop()()}),function(e){t.push(e)}}},{provide:El,useClass:El,deps:[[new sr,Cl]]},{provide:Hl,useClass:Hl,deps:[]},Tl,{provide:yc,useFactory:function(){return Oc},deps:[]},{provide:_c,useFactory:function(){return Tc},deps:[]},{provide:Dl,useFactory:function(e){return Bu(e=e||"undefined"!=typeof $localize&&$localize.locale||Fu),e},deps:[[new ar(Dl),new sr,new ur]]},{provide:Nl,useValue:"USD"}],gh=function(){var e=function e(t){m(this,e)};return e.\u0275fac=function(t){return new(t||e)(Zi(dh))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:vh}),e}(),mh=null;function yh(){return mh}var bh=new Ri("DocumentToken"),_h=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"historyGo",value:function(e){throw new Error("Not implemented")}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({factory:wh,token:e,providedIn:"platform"}),e}();function wh(){return Zi(kh)}var kh=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this))._doc=e,i._init(),i}return b(n,[{key:"_init",value:function(){this.location=window.location,this._history=window.history}},{key:"getBaseHrefFromDOM",value:function(){return yh().getBaseHref(this._doc)}},{key:"onPopState",value:function(e){var t=yh().getGlobalEventTarget(this._doc,"window");return t.addEventListener("popstate",e,!1),function(){return t.removeEventListener("popstate",e)}}},{key:"onHashChange",value:function(e){var t=yh().getGlobalEventTarget(this._doc,"window");return t.addEventListener("hashchange",e,!1),function(){return t.removeEventListener("hashchange",e)}}},{key:"href",get:function(){return this.location.href}},{key:"protocol",get:function(){return this.location.protocol}},{key:"hostname",get:function(){return this.location.hostname}},{key:"port",get:function(){return this.location.port}},{key:"pathname",get:function(){return this.location.pathname},set:function(e){this.location.pathname=e}},{key:"search",get:function(){return this.location.search}},{key:"hash",get:function(){return this.location.hash}},{key:"pushState",value:function(e,t,n){xh()?this._history.pushState(e,t,n):this.location.hash=n}},{key:"replaceState",value:function(e,t,n){xh()?this._history.replaceState(e,t,n):this.location.hash=n}},{key:"forward",value:function(){this._history.forward()}},{key:"back",value:function(){this._history.back()}},{key:"historyGo",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._history.go(e)}},{key:"getState",value:function(){return this._history.state}}]),n}(_h);return e.\u0275fac=function(t){return new(t||e)(Zi(bh))},e.\u0275prov=$e({factory:Sh,token:e,providedIn:"platform"}),e}();function xh(){return!!window.history.pushState}function Sh(){return new kh(Zi(bh))}function Ch(e,t){if(0==e.length)return t;if(0==t.length)return e;var n=0;return e.endsWith("/")&&n++,t.startsWith("/")&&n++,2==n?e+t.substring(1):1==n?e+t:e+"/"+t}function Eh(e){var t=e.match(/#|\?|$/),n=t&&t.index||e.length;return e.slice(0,n-("/"===e[n-1]?1:0))+e.slice(n)}function Oh(e){return e&&"?"!==e[0]?"?"+e:e}var Th=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"historyGo",value:function(e){throw new Error("Not implemented")}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({factory:Ah,token:e,providedIn:"root"}),e}();function Ah(e){var t=Zi(bh).location;return new Mh(Zi(_h),t&&t.origin||"")}var Ph=new Ri("appBaseHref"),Mh=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;if(m(this,n),(r=t.call(this))._platformLocation=e,r._removeListenerFns=[],null==i&&(i=r._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");return r._baseHref=i,u(r)}return b(n,[{key:"ngOnDestroy",value:function(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}},{key:"onPopState",value:function(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}},{key:"getBaseHref",value:function(){return this._baseHref}},{key:"prepareExternalUrl",value:function(e){return Ch(this._baseHref,e)}},{key:"path",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this._platformLocation.pathname+Oh(this._platformLocation.search),n=this._platformLocation.hash;return n&&e?"".concat(t).concat(n):t}},{key:"pushState",value:function(e,t,n,i){var r=this.prepareExternalUrl(n+Oh(i));this._platformLocation.pushState(e,t,r)}},{key:"replaceState",value:function(e,t,n,i){var r=this.prepareExternalUrl(n+Oh(i));this._platformLocation.replaceState(e,t,r)}},{key:"forward",value:function(){this._platformLocation.forward()}},{key:"back",value:function(){this._platformLocation.back()}},{key:"historyGo",value:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;null===(t=(e=this._platformLocation).historyGo)||void 0===t||t.call(e,n)}}]),n}(Th);return e.\u0275fac=function(t){return new(t||e)(Zi(_h),Zi(Ph,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Ih=function(){var e=function(){function e(t,n){var i=this;m(this,e),this._subject=new ol,this._urlChangeListeners=[],this._platformStrategy=t;var r=this._platformStrategy.getBaseHref();this._platformLocation=n,this._baseHref=Eh(Dh(r)),this._platformStrategy.onPopState(function(e){i._subject.emit({url:i.path(!0),pop:!0,state:e.state,type:e.type})})}return b(e,[{key:"path",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.normalize(this._platformStrategy.path(e))}},{key:"getState",value:function(){return this._platformLocation.getState()}},{key:"isCurrentPathEqualTo",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return this.path()==this.normalize(e+Oh(t))}},{key:"normalize",value:function(t){return e.stripTrailingSlash(function(e,t){return e&&t.startsWith(e)?t.substring(e.length):t}(this._baseHref,Dh(t)))}},{key:"prepareExternalUrl",value:function(e){return e&&"/"!==e[0]&&(e="/"+e),this._platformStrategy.prepareExternalUrl(e)}},{key:"go",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this._platformStrategy.pushState(n,"",e,t),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Oh(t)),n)}},{key:"replaceState",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this._platformStrategy.replaceState(n,"",e,t),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Oh(t)),n)}},{key:"forward",value:function(){this._platformStrategy.forward()}},{key:"back",value:function(){this._platformStrategy.back()}},{key:"historyGo",value:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;null===(t=(e=this._platformStrategy).historyGo)||void 0===t||t.call(e,n)}},{key:"onUrlChange",value:function(e){var t=this;this._urlChangeListeners.push(e),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(function(e){t._notifyUrlChangeListeners(e.url,e.state)}))}},{key:"_notifyUrlChangeListeners",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;this._urlChangeListeners.forEach(function(n){return n(e,t)})}},{key:"subscribe",value:function(e,t,n){return this._subject.subscribe({next:e,error:t,complete:n})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Th),Zi(_h))},e.normalizeQueryParams=Oh,e.joinWithSlash=Ch,e.stripTrailingSlash=Eh,e.\u0275prov=$e({factory:Rh,token:e,providedIn:"root"}),e}();function Rh(){return new Ih(Zi(Th),Zi(_h))}function Dh(e){return e.replace(/\/index.html$/,"")}var Nh=((Nh=Nh||{})[Nh.Decimal=0]="Decimal",Nh[Nh.Percent=1]="Percent",Nh[Nh.Currency=2]="Currency",Nh[Nh.Scientific=3]="Scientific",Nh),Lh=((Lh=Lh||{})[Lh.Zero=0]="Zero",Lh[Lh.One=1]="One",Lh[Lh.Two=2]="Two",Lh[Lh.Few=3]="Few",Lh[Lh.Many=4]="Many",Lh[Lh.Other=5]="Other",Lh),jh=((jh=jh||{})[jh.Decimal=0]="Decimal",jh[jh.Group=1]="Group",jh[jh.List=2]="List",jh[jh.PercentSign=3]="PercentSign",jh[jh.PlusSign=4]="PlusSign",jh[jh.MinusSign=5]="MinusSign",jh[jh.Exponential=6]="Exponential",jh[jh.SuperscriptingExponent=7]="SuperscriptingExponent",jh[jh.PerMille=8]="PerMille",jh[jh.Infinity=9]="Infinity",jh[jh.NaN=10]="NaN",jh[jh.TimeSeparator=11]="TimeSeparator",jh[jh.CurrencyDecimal=12]="CurrencyDecimal",jh[jh.CurrencyGroup=13]="CurrencyGroup",jh);function Fh(e,t){var n=Nu(e),i=n[ju.NumberSymbols][t];if(void 0===i){if(t===jh.CurrencyDecimal)return n[ju.NumberSymbols][jh.Decimal];if(t===jh.CurrencyGroup)return n[ju.NumberSymbols][jh.Group]}return i}var Bh=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function Vh(e){var t=parseInt(e);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+e);return t}var zh=function e(){m(this,e)},Uh=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).locale=e,i}return b(n,[{key:"getPluralCategory",value:function(e,t){switch(function(e){return Nu(e)[ju.PluralCase]}(t||this.locale)(e)){case Lh.Zero:return"zero";case Lh.One:return"one";case Lh.Two:return"two";case Lh.Few:return"few";case Lh.Many:return"many";default:return"other"}}}]),n}(zh);return e.\u0275fac=function(t){return new(t||e)(Zi(Dl))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}();function Hh(e,n){n=encodeURIComponent(n);var i,r=_(e.split(";"));try{for(r.s();!(i=r.n()).done;){var o=i.value,a=o.indexOf("="),s=t(-1==a?[o,""]:[o.slice(0,a),o.slice(a+1)],2),u=s[0],c=s[1];if(u.trim()===n)return decodeURIComponent(c)}}catch(l){r.e(l)}finally{r.f()}return null}var Gh=function(){var e=function(){function e(t,n,i,r){m(this,e),this._iterableDiffers=t,this._keyValueDiffers=n,this._ngEl=i,this._renderer=r,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}return b(e,[{key:"klass",set:function(e){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof e?e.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}},{key:"ngClass",set:function(e){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof e?e.split(/\s+/):e,this._rawClass&&(ms(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}},{key:"ngDoCheck",value:function(){if(this._iterableDiffer){var e=this._iterableDiffer.diff(this._rawClass);e&&this._applyIterableChanges(e)}else if(this._keyValueDiffer){var t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}},{key:"_applyKeyValueChanges",value:function(e){var t=this;e.forEachAddedItem(function(e){return t._toggleClass(e.key,e.currentValue)}),e.forEachChangedItem(function(e){return t._toggleClass(e.key,e.currentValue)}),e.forEachRemovedItem(function(e){e.previousValue&&t._toggleClass(e.key,!1)})}},{key:"_applyIterableChanges",value:function(e){var t=this;e.forEachAddedItem(function(e){if("string"!=typeof e.item)throw new Error("NgClass can only toggle CSS classes expressed as strings, got ".concat(Ve(e.item)));t._toggleClass(e.item,!0)}),e.forEachRemovedItem(function(e){return t._toggleClass(e.item,!1)})}},{key:"_applyClasses",value:function(e){var t=this;e&&(Array.isArray(e)||e instanceof Set?e.forEach(function(e){return t._toggleClass(e,!0)}):Object.keys(e).forEach(function(n){return t._toggleClass(n,!!e[n])}))}},{key:"_removeClasses",value:function(e){var t=this;e&&(Array.isArray(e)||e instanceof Set?e.forEach(function(e){return t._toggleClass(e,!1)}):Object.keys(e).forEach(function(e){return t._toggleClass(e,!1)}))}},{key:"_toggleClass",value:function(e,t){var n=this;(e=e.trim())&&e.split(/\s+/g).forEach(function(e){t?n._renderer.addClass(n._ngEl.nativeElement,e):n._renderer.removeClass(n._ngEl.nativeElement,e)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yc),Os(_c),Os(Ju),Os(nc))},e.\u0275dir=Rt({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),e}(),Wh=function(){function e(t,n,i,r){m(this,e),this.$implicit=t,this.ngForOf=n,this.index=i,this.count=r}return b(e,[{key:"first",get:function(){return 0===this.index}},{key:"last",get:function(){return this.index===this.count-1}},{key:"even",get:function(){return this.index%2==0}},{key:"odd",get:function(){return!this.even}}]),e}(),qh=function(){var e=function(){function e(t,n,i){m(this,e),this._viewContainer=t,this._template=n,this._differs=i,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}return b(e,[{key:"ngForOf",set:function(e){this._ngForOf=e,this._ngForOfDirty=!0}},{key:"ngForTrackBy",get:function(){return this._trackByFn},set:function(e){this._trackByFn=e}},{key:"ngForTemplate",set:function(e){e&&(this._template=e)}},{key:"ngDoCheck",value:function(){if(this._ngForOfDirty){this._ngForOfDirty=!1;var e=this._ngForOf;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(n){throw new Error("Cannot find a differ supporting object '".concat(e,"' of type '").concat(function(e){return e.name||typeof e}(e),"'. NgFor only supports binding to Iterables such as Arrays."))}}if(this._differ){var t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}},{key:"_applyChanges",value:function(e){var t=this,n=[];e.forEachOperation(function(e,i,r){if(null==e.previousIndex){var o=t._viewContainer.createEmbeddedView(t._template,new Wh(null,t._ngForOf,-1,-1),null===r?void 0:r),a=new Xh(e,o);n.push(a)}else if(null==r)t._viewContainer.remove(null===i?void 0:i);else if(null!==i){var s=t._viewContainer.get(i);t._viewContainer.move(s,r);var u=new Xh(e,s);n.push(u)}});for(var i=0;i6&&void 0!==arguments[6]&&arguments[6],s="",u=!1;if(isFinite(e)){var c=function(e){var t,n,i,r,o,a=Math.abs(e)+"",s=0;for((n=a.indexOf("."))>-1&&(a=a.replace(".","")),(i=a.search(/e/i))>0?(n<0&&(n=i),n+=+a.slice(i+1),a=a.substring(0,i)):n<0&&(n=a.length),i=0;"0"===a.charAt(i);i++);if(i===(o=a.length))t=[0],n=1;else{for(o--;"0"===a.charAt(o);)o--;for(n-=i,t=[],r=0;i<=o;i++,r++)t[r]=Number(a.charAt(i))}return n>22&&(t=t.splice(0,21),s=n-1,n=1),{digits:t,exponent:s,integerLen:n}}(e);a&&(c=function(e){if(0===e.digits[0])return e;var t=e.digits.length-e.integerLen;return e.exponent?e.exponent+=2:(0===t?e.digits.push(0,0):1===t&&e.digits.push(0),e.integerLen+=2),e}(c));var l=t.minInt,h=t.minFrac,d=t.maxFrac;if(o){var f=o.match(Bh);if(null===f)throw new Error("".concat(o," is not a valid digit info"));var p=f[1],v=f[3],g=f[5];null!=p&&(l=Vh(p)),null!=v&&(h=Vh(v)),null!=g?d=Vh(g):null!=v&&h>d&&(d=h)}!function(e,t,n){if(t>n)throw new Error("The minimum number of digits after fraction (".concat(t,") is higher than the maximum (").concat(n,")."));var i=e.digits,r=i.length-e.integerLen,o=Math.min(Math.max(t,r),n),a=o+e.integerLen,s=i[a];if(a>0){i.splice(Math.max(e.integerLen,a));for(var u=a;u=5)if(a-1<0){for(var l=0;l>a;l--)i.unshift(0),e.integerLen++;i.unshift(1),e.integerLen++}else i[a-1]++;for(;r=d?i.pop():h=!1),t>=10?1:0},0);f&&(i.unshift(f),e.integerLen++)}(c,h,d);var m=c.digits,y=c.integerLen,b=c.exponent,_=[];for(u=m.every(function(e){return!e});y0?_=m.splice(y,m.length):(_=m,m=[0]);var w=[];for(m.length>=t.lgSize&&w.unshift(m.splice(-t.lgSize,m.length).join(""));m.length>t.gSize;)w.unshift(m.splice(-t.gSize,m.length).join(""));m.length&&w.unshift(m.join("")),s=w.join(Fh(n,i)),_.length&&(s+=Fh(n,r)+_.join("")),b&&(s+=Fh(n,jh.Exponential)+"+"+b)}else s=Fh(n,jh.Infinity);return s=e<0&&!u?t.negPre+s+t.negSuf:t.posPre+s+t.posSuf}(e,function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"-",n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=e.split(";"),r=i[0],o=i[1],a=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],s=a[0],u=a[1]||"";n.posPre=s.substr(0,s.indexOf("#"));for(var c=0;c1&&void 0!==arguments[1])||arguments[1],i=e.findTestabilityInTree(t,n);if(null==i)throw new Error("Could not find testability for element.");return i},gt.getAllAngularTestabilities=function(){return e.getAllTestabilities()},gt.getAllAngularRootElements=function(){return e.getAllRootElements()},gt.frameworkStabilizers||(gt.frameworkStabilizers=[]),gt.frameworkStabilizers.push(function(e){var t=gt.getAllAngularTestabilities(),n=t.length,i=!1,r=function(t){i=i||t,0==--n&&e(i)};t.forEach(function(e){e.whenStable(r)})})}},{key:"findTestabilityInTree",value:function(e,t,n){if(null==t)return null;var i=e.getTestability(t);return null!=i?i:n?yh().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}],[{key:"init",value:function(){!function(e){ih=e}(new e)}}]),e}(),bd=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"build",value:function(){return new XMLHttpRequest}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),_d=new Ri("EventManagerPlugins"),wd=function(){var e=function(){function e(t,n){var i=this;m(this,e),this._zone=n,this._eventNameToPlugin=new Map,t.forEach(function(e){return e.manager=i}),this._plugins=t.slice().reverse()}return b(e,[{key:"addEventListener",value:function(e,t,n){return this._findPluginFor(t).addEventListener(e,t,n)}},{key:"addGlobalEventListener",value:function(e,t,n){return this._findPluginFor(t).addGlobalEventListener(e,t,n)}},{key:"getZone",value:function(){return this._zone}},{key:"_findPluginFor",value:function(e){var t=this._eventNameToPlugin.get(e);if(t)return t;for(var n=this._plugins,i=0;i-1&&(t.splice(n,1),o+=e+".")}),o+=r,0!=t.length||0===r.length)return null;var a={};return a.domEventName=i,a.fullKey=o,a}},{key:"getEventFullKey",value:function(e){var t="",n=function(e){var t=e.key;if(null==t){if(null==(t=e.keyIdentifier))return"Unidentified";t.startsWith("U+")&&(t=String.fromCharCode(parseInt(t.substring(2),16)),3===e.location&&jd.hasOwnProperty(t)&&(t=jd[t]))}return Ld[t]||t}(e);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),Nd.forEach(function(i){i!=n&&Fd[i](e)&&(t+=i+".")}),t+=n}},{key:"eventCallback",value:function(e,t,i){return function(r){n.getEventFullKey(r)===e&&i.runGuarded(function(){return t(r)})}}},{key:"_normalizeKey",value:function(e){switch(e){case"esc":return"escape";default:return e}}}]),n}(kd);return e.\u0275fac=function(t){return new(t||e)(Zi(bh))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Vd=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({factory:function(){return Zi(zd)},token:e,providedIn:"root"}),e}(),zd=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this))._doc=e,i}return b(n,[{key:"sanitize",value:function(e,t){if(null==t)return null;switch(e){case Wr.NONE:return t;case Wr.HTML:return _r(t,"HTML")?br(t):Hr(this._doc,String(t)).toString();case Wr.STYLE:return _r(t,"Style")?br(t):t;case Wr.SCRIPT:if(_r(t,"Script"))return br(t);throw new Error("unsafe value used in a script context");case Wr.URL:return wr(t),_r(t,"URL")?br(t):Er(String(t));case Wr.RESOURCE_URL:if(_r(t,"ResourceURL"))return br(t);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error("Unexpected SecurityContext ".concat(e," (see https://g.co/ng/security#xss)"))}}},{key:"bypassSecurityTrustHtml",value:function(e){return function(e){return new pr(e)}(e)}},{key:"bypassSecurityTrustStyle",value:function(e){return function(e){return new vr(e)}(e)}},{key:"bypassSecurityTrustScript",value:function(e){return function(e){return new gr(e)}(e)}},{key:"bypassSecurityTrustUrl",value:function(e){return function(e){return new mr(e)}(e)}},{key:"bypassSecurityTrustResourceUrl",value:function(e){return function(e){return new yr(e)}(e)}}]),n}(Vd);return e.\u0275fac=function(t){return new(t||e)(Zi(bh))},e.\u0275prov=$e({factory:function(){return function(e){return new zd(e.get(bh))}(Zi(Xa))},token:e,providedIn:"root"}),e}(),Ud=uh(ph,"browser",[{provide:Ml,useValue:ld},{provide:Pl,useValue:function(){pd.makeCurrent(),yd.init()},multi:!0},{provide:bh,useFactory:function(){return function(e){Zt=e}(document),document},deps:[]}]),Hd=[[],{provide:Ka,useValue:"root"},{provide:to,useFactory:function(){return new to},deps:[]},{provide:_d,useClass:Dd,multi:!0,deps:[bh,Xl,Ml]},{provide:_d,useClass:Bd,multi:!0,deps:[bh]},[],{provide:Pd,useClass:Pd,deps:[wd,Sd,Ol]},{provide:tc,useExisting:Pd},{provide:xd,useExisting:Sd},{provide:Sd,useClass:Sd,deps:[bh]},{provide:th,useClass:th,deps:[Xl]},{provide:wd,useClass:wd,deps:[_d,Xl]},{provide:fd,useClass:bd,deps:[]},[]],Gd=function(){var e=function(){function e(t){if(m(this,e),t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}return b(e,null,[{key:"withServerTransition",value:function(t){return{ngModule:e,providers:[{provide:Ol,useValue:t.appId},{provide:gd,useExisting:Ol},md]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(e,12))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:Hd,imports:[cd,gh]}),e}();function Wd(e){return null!=e&&"false"!="".concat(e)}function qd(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return function(e){return!isNaN(parseFloat(e))&&!isNaN(Number(e))}(e)?Number(e):t}function Xd(e){return Array.isArray(e)?e:[e]}function Yd(e){return null==e?"":"string"==typeof e?e:"".concat(e,"px")}function Kd(e){return e instanceof Ju?e.nativeElement:e}function $d(){for(var e=arguments.length,t=new Array(e),n=0;n1?Array.prototype.slice.call(arguments):e)},i,n)})}function Zd(e,t,n,i,r){var o;if(function(e){return e&&"function"==typeof e.addEventListener&&"function"==typeof e.removeEventListener}(e)){var a=e;e.addEventListener(t,n,r),o=function(){return a.removeEventListener(t,n,r)}}else if(function(e){return e&&"function"==typeof e.on&&"function"==typeof e.off}(e)){var s=e;e.on(t,n),o=function(){return s.off(t,n)}}else if(function(e){return e&&"function"==typeof e.addListener&&"function"==typeof e.removeListener}(e)){var u=e;e.addListener(t,n),o=function(){return u.removeListener(t,n)}}else{if(!e||!e.length)throw new TypeError("Invalid event target");for(var c=0,l=e.length;c1&&void 0!==arguments[1]?arguments[1]:0;if(this.closed)return this;this.state=e;var n=this.id,i=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(i,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(i,this.id,t),this}},{key:"requestAsyncId",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return setInterval(e.flush.bind(e,this),n)}},{key:"recycleAsyncId",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==n&&this.delay===n&&!1===this.pending)return t;clearInterval(t)}},{key:"execute",value:function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}},{key:"_execute",value:function(e,t){var n,i=!1;try{this.work(e)}catch(r){i=!0,n=!!r&&r||new Error(r)}if(i)return this.unsubscribe(),n}},{key:"_unsubscribe",value:function(){var e=this.id,t=this.scheduler,n=t.actions,i=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==i&&n.splice(i,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}]),n}(function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this)}return b(n,[{key:"schedule",value:function(e){return this}}]),n}(q)),ef=function(){var e=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.now;m(this,e),this.SchedulerAction=t,this.now=n}return b(e,[{key:"schedule",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0;return new this.SchedulerAction(this,e).schedule(n,t)}}]),e}();return e.now=function(){return Date.now()},e}(),tf=function(t){a(i,t);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ef.now;return m(this,i),(t=n.call(this,e,function(){return i.delegate&&i.delegate!==c(t)?i.delegate.now():r()})).actions=[],t.active=!1,t.scheduled=void 0,t}return b(i,[{key:"schedule",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;return i.delegate&&i.delegate!==this?i.delegate.schedule(t,n,r):e(p(i.prototype),"schedule",this).call(this,t,n,r)}},{key:"flush",value:function(e){var t=this.actions;if(this.active)t.push(e);else{var 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}}}}]),i}(ef);new(function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"flush",value:function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,r=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i2&&void 0!==arguments[2]?arguments[2]:0;return null!==r&&r>0?e(p(i.prototype),"requestAsyncId",this).call(this,t,n,r):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(function(){return t.flush(null)})))}},{key:"recycleAsyncId",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==r&&r>0||null===r&&this.delay>0)return e(p(i.prototype),"recycleAsyncId",this).call(this,t,n,r);0===t.actions.length&&(cancelAnimationFrame(n),t.scheduled=void 0)}}]),i}(Jd));var nf=1,rf=Promise.resolve(),of={};function af(e){return e in of&&(delete of[e],!0)}var sf=function(e){var t=nf++;return of[t]=!0,rf.then(function(){return af(t)&&e()}),t},uf=function(e){af(e)};function cf(e){return!!e&&(e instanceof te||"function"==typeof e.lift&&"function"==typeof e.subscribe)}function lf(e,t){return function(n){return n.lift(new hf(e,t))}}new(function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"flush",value:function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,r=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i2&&void 0!==arguments[2]?arguments[2]:0;return null!==r&&r>0?e(p(i.prototype),"requestAsyncId",this).call(this,t,n,r):(t.actions.push(this),t.scheduled||(t.scheduled=sf(t.flush.bind(t,null))))}},{key:"recycleAsyncId",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==r&&r>0||null===r&&this.delay>0)return e(p(i.prototype),"recycleAsyncId",this).call(this,t,n,r);0===t.actions.length&&(uf(n),t.scheduled=void 0)}}]),i}(Jd));var hf=function(){function e(t,n){m(this,e),this.compare=t,this.keySelector=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new df(e,this.compare,this.keySelector))}}]),e}(),df=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).keySelector=r,o.hasKey=!1,"function"==typeof i&&(o.compare=i),o}return b(n,[{key:"compare",value:function(e,t){return e===t}},{key:"_next",value:function(e){var t;try{var n=this.keySelector;t=n?n(e):e}catch(n){return this.destination.error(n)}var i=!1;if(this.hasKey)try{i=(0,this.compare)(this.key,t)}catch(n){return this.destination.error(n)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}]),n}(K),ff=new tf(Jd),pf=function(){function e(t){m(this,e),this.durationSelector=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new vf(e,this.durationSelector))}}]),e}(),vf=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).durationSelector=i,r.hasValue=!1,r}return b(n,[{key:"_next",value:function(e){if(this.value=e,this.hasValue=!0,!this.throttled){var t;try{var n;t=(0,this.durationSelector)(e)}catch(n){return this.destination.error(n)}var i=we(t,new be(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}},{key:"clearThrottle",value:function(){var e=this.value,t=this.hasValue,n=this.throttled;n&&(this.remove(n),this.throttled=void 0,n.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}},{key:"notifyNext",value:function(){this.clearThrottle()}},{key:"notifyComplete",value:function(){this.clearThrottle()}}]),n}(_e);function gf(e){return!U(e)&&e-parseFloat(e)+1>=0}function mf(e){var t=e.index,n=e.period,i=e.subscriber;if(i.next(t),!i.closed){if(-1===n)return i.complete();e.index=t+1,this.schedule(e,n)}}function yf(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ff;return function(e){return function(t){return t.lift(new pf(e))}}(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=-1;return gf(t)?i=Number(t)<1?1:Number(t):ue(t)&&(n=t),ue(n)||(n=ff),new te(function(t){var r=gf(e)?e:+e-n.now();return n.schedule(mf,r,{index:0,period:i,subscriber:t})})}(e,t)})}function bf(e,t){return function(n){return n.lift(new _f(e,t))}}var _f=function(){function e(t,n){m(this,e),this.predicate=t,this.thisArg=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new wf(e,this.predicate,this.thisArg))}}]),e}(),wf=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).predicate=i,o.thisArg=r,o.count=0,o}return b(n,[{key:"_next",value:function(e){var t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}t&&this.destination.next(e)}}]),n}(K);function kf(e){return function(t){return t.lift(new xf(e))}}var xf=function(){function e(t){m(this,e),this.notifier=t}return b(e,[{key:"call",value:function(e,t){var n=new Sf(e),i=we(this.notifier,new be(n));return i&&!n.seenValue?(n.add(i),t.subscribe(n)):n}}]),e}(),Sf=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,e)).seenValue=!1,i}return b(n,[{key:"notifyNext",value:function(){this.seenValue=!0,this.complete()}},{key:"notifyComplete",value:function(){}}]),n}(_e);function Cf(){return Ce(1)($d.apply(void 0,arguments))}function Ef(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:0;return n>0?e(p(i.prototype),"schedule",this).call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)}},{key:"execute",value:function(t,n){return n>0||this.closed?e(p(i.prototype),"execute",this).call(this,t,n):this._execute(t,n)}},{key:"requestAsyncId",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return null!==r&&r>0||null===r&&this.delay>0?e(p(i.prototype),"requestAsyncId",this).call(this,t,n,r):t.flush(this)}}]),i}(Jd)),Mf=new te(function(e){return e.complete()});function If(e){return e?function(e){return new te(function(t){return e.schedule(function(){return t.complete()})})}(e):Mf}function Rf(e,t){return new te(t?function(n){return t.schedule(Df,0,{error:e,subscriber:n})}:function(t){return t.error(e)})}function Df(e){var t=e.error;e.subscriber.error(t)}var Nf=function(){function e(t,n,i){m(this,e),this.kind=t,this.value=n,this.error=i,this.hasValue="N"===t}return b(e,[{key:"observe",value:function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}},{key:"do",value:function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}}},{key:"accept",value:function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)}},{key:"toObservable",value:function(){switch(this.kind){case"N":return $d(this.value);case"E":return Rf(this.error);case"C":return If()}throw new Error("unexpected notification kind value")}}],[{key:"createNext",value:function(t){return void 0!==t?new e("N",t):e.undefinedValueNotification}},{key:"createError",value:function(t){return new e("E",void 0,t)}},{key:"createComplete",value:function(){return e.completeNotification}}]),e}();Nf.completeNotification=new Nf("C"),Nf.undefinedValueNotification=new Nf("N",void 0);var Lf,jf=function(e){a(n,e);var t=s(n);function n(e,i){var r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return m(this,n),(r=t.call(this,e)).scheduler=i,r.delay=o,r}return b(n,[{key:"scheduleMessage",value:function(e){this.destination.add(this.scheduler.schedule(n.dispatch,this.delay,new Ff(e,this.destination)))}},{key:"_next",value:function(e){this.scheduleMessage(Nf.createNext(e))}},{key:"_error",value:function(e){this.scheduleMessage(Nf.createError(e)),this.unsubscribe()}},{key:"_complete",value:function(){this.scheduleMessage(Nf.createComplete()),this.unsubscribe()}}],[{key:"dispatch",value:function(e){var t=e.notification,n=e.destination;t.observe(n),this.unsubscribe()}}]),n}(K),Ff=function e(t,n){m(this,e),this.notification=t,this.destination=n},Bf=function(t){a(i,t);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.POSITIVE_INFINITY,o=arguments.length>2?arguments[2]:void 0;return m(this,i),(e=n.call(this)).scheduler=o,e._events=[],e._infiniteTimeWindow=!1,e._bufferSize=t<1?1:t,e._windowTime=r<1?1:r,r===Number.POSITIVE_INFINITY?(e._infiniteTimeWindow=!0,e.next=e.nextInfiniteTimeWindow):e.next=e.nextTimeWindow,e}return b(i,[{key:"nextInfiniteTimeWindow",value:function(t){if(!this.isStopped){var n=this._events;n.push(t),n.length>this._bufferSize&&n.shift()}e(p(i.prototype),"next",this).call(this,t)}},{key:"nextTimeWindow",value:function(t){this.isStopped||(this._events.push(new Vf(this._getNow(),t)),this._trimBufferThenGetEvents()),e(p(i.prototype),"next",this).call(this,t)}},{key:"_subscribe",value:function(e){var t,n=this._infiniteTimeWindow,i=n?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,o=i.length;if(this.closed)throw new ie;if(this.isStopped||this.hasError?t=q.EMPTY:(this.observers.push(e),t=new re(this,e)),r&&e.add(e=new jf(e,r)),n)for(var a=0;at&&(o=Math.max(o,r-t)),o>0&&i.splice(0,o),i}}]),i}(ae),Vf=function e(t,n){m(this,e),this.time=t,this.value=n};function zf(e,t,n){var i;return i=e&&"object"==typeof e?e:{bufferSize:e,windowTime:t,refCount:!1,scheduler:n},function(e){return e.lift(function(e){var t,n,i=e.bufferSize,r=void 0===i?Number.POSITIVE_INFINITY:i,o=e.windowTime,a=void 0===o?Number.POSITIVE_INFINITY:o,s=e.refCount,u=e.scheduler,c=0,l=!1,h=!1;return function(e){var i;c++,!t||l?(l=!1,t=new Bf(r,a,u),i=t.subscribe(this),n=e.subscribe({next:function(e){t.next(e)},error:function(e){l=!0,t.error(e)},complete:function(){h=!0,n=void 0,t.complete()}}),h&&(n=void 0)):i=t.subscribe(this),this.add(function(){c--,i.unsubscribe(),i=void 0,n&&!h&&s&&0===c&&(n.unsubscribe(),n=void 0,t=void 0)})}}(i))}}try{Lf="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(G){Lf=!1}var Uf,Hf,Gf,Wf,qf=function(){var e=function e(t){m(this,e),this._platformId=t,this.isBrowser=this._platformId?hd(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Lf)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT};return e.\u0275fac=function(t){return new(t||e)(Zi(Ml))},e.\u0275prov=$e({factory:function(){return new e(Zi(Ml))},token:e,providedIn:"root"}),e}(),Xf=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),Yf=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function Kf(){if(Uf)return Uf;if("object"!=typeof document||!document)return Uf=new Set(Yf);var e=document.createElement("input");return Uf=new Set(Yf.filter(function(t){return e.setAttribute("type",t),e.type===t}))}function $f(e){return function(){if(null==Hf&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){return Hf=!0}}))}finally{Hf=Hf||!1}return Hf}()?e:!!e.capture}function Qf(e){if(function(){if(null==Wf){var e="undefined"!=typeof document?document.head:null;Wf=!(!e||!e.createShadowRoot&&!e.attachShadow)}return Wf}()){var t=e.getRootNode?e.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&t instanceof ShadowRoot)return t}return null}function Zf(){for(var e="undefined"!=typeof document&&document?document.activeElement:null;e&&e.shadowRoot;){var t=e.shadowRoot.activeElement;if(t===e)break;e=t}return e}function Jf(e){return e.composedPath?e.composedPath()[0]:e.target}var ep=new Ri("cdk-dir-doc",{providedIn:"root",factory:function(){return Ji(bh)}}),tp=function(){var e=function(){function e(t){if(m(this,e),this.value="ltr",this.change=new ol,t){var n=t.documentElement?t.documentElement.dir:null,i=(t.body?t.body.dir:null)||n;this.value="ltr"===i||"rtl"===i?i:"ltr"}}return b(e,[{key:"ngOnDestroy",value:function(){this.change.complete()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ep,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(ep,8))},token:e,providedIn:"root"}),e}(),np=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),ip=function(){function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=arguments.length>1?arguments[1]:void 0,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];m(this,e),this._multiple=n,this._emitChanges=r,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new ae,i&&i.length&&(n?i.forEach(function(e){return t._markSelected(e)}):this._markSelected(i[0]),this._selectedToEmit.length=0)}return b(e,[{key:"selected",get:function(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}},{key:"select",value:function(){for(var e=this,t=arguments.length,n=new Array(t),i=0;i0&&void 0!==arguments[0]?arguments[0]:20;return this._platform.isBrowser?new te(function(n){e._globalSubscription||e._addGlobalListener();var i=t>0?e._scrolled.pipe(yf(t)).subscribe(n):e._scrolled.subscribe(n);return e._scrolledCount++,function(){i.unsubscribe(),e._scrolledCount--,e._scrolledCount||e._removeGlobalListener()}}):$d()}},{key:"ngOnDestroy",value:function(){var e=this;this._removeGlobalListener(),this.scrollContainers.forEach(function(t,n){return e.deregister(n)}),this._scrolled.complete()}},{key:"ancestorScrolled",value:function(e,t){var n=this.getAncestorScrollContainers(e);return this.scrolled(t).pipe(bf(function(e){return!e||n.indexOf(e)>-1}))}},{key:"getAncestorScrollContainers",value:function(e){var t=this,n=[];return this.scrollContainers.forEach(function(i,r){t._scrollableContainsElement(r,e)&&n.push(r)}),n}},{key:"_getWindow",value:function(){return this._document.defaultView||window}},{key:"_scrollableContainsElement",value:function(e,t){var n=Kd(t),i=e.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}},{key:"_addGlobalListener",value:function(){var e=this;this._globalSubscription=this._ngZone.runOutsideAngular(function(){return Qd(e._getWindow().document,"scroll").subscribe(function(){return e._scrolled.next()})})}},{key:"_removeGlobalListener",value:function(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl),Zi(qf),Zi(bh,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(Xl),Zi(qf),Zi(bh,8))},token:e,providedIn:"root"}),e}(),ap=function(){var e=function(){function e(t,n,i){var r=this;m(this,e),this._platform=t,this._change=new ae,this._changeListener=function(e){r._change.next(e)},this._document=i,n.runOutsideAngular(function(){if(t.isBrowser){var e=r._getWindow();e.addEventListener("resize",r._changeListener),e.addEventListener("orientationchange",r._changeListener)}r.change().subscribe(function(){return r._viewportSize=null})})}return b(e,[{key:"ngOnDestroy",value:function(){if(this._platform.isBrowser){var e=this._getWindow();e.removeEventListener("resize",this._changeListener),e.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}},{key:"getViewportSize",value:function(){this._viewportSize||this._updateViewportSize();var e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}},{key:"getViewportRect",value:function(){var e=this.getViewportScrollPosition(),t=this.getViewportSize(),n=t.width,i=t.height;return{top:e.top,left:e.left,bottom:e.top+i,right:e.left+n,height:i,width:n}}},{key:"getViewportScrollPosition",value:function(){if(!this._platform.isBrowser)return{top:0,left:0};var e=this._document,t=this._getWindow(),n=e.documentElement,i=n.getBoundingClientRect();return{top:-i.top||e.body.scrollTop||t.scrollY||n.scrollTop||0,left:-i.left||e.body.scrollLeft||t.scrollX||n.scrollLeft||0}}},{key:"change",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20;return e>0?this._change.pipe(yf(e)):this._change}},{key:"_getWindow",value:function(){return this._document.defaultView||window}},{key:"_updateViewportSize",value:function(){var e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf),Zi(Xl),Zi(bh,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf),Zi(Xl),Zi(bh,8))},token:e,providedIn:"root"}),e}(),sp=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),up=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[np,Xf,sp],np,sp]}),e}(),cp=function(){function e(){m(this,e)}return b(e,[{key:"attach",value:function(e){return this._attachedHost=e,e.attach(this)}},{key:"detach",value:function(){var e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}},{key:"isAttached",get:function(){return null!=this._attachedHost}},{key:"setAttachedHost",value:function(e){this._attachedHost=e}}]),e}(),lp=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this)).component=e,a.viewContainerRef=i,a.injector=r,a.componentFactoryResolver=o,a}return n}(cp),hp=function(t){a(i,t);var n=s(i);function i(e,t,r){var o;return m(this,i),(o=n.call(this)).templateRef=e,o.viewContainerRef=t,o.context=r,o}return b(i,[{key:"origin",get:function(){return this.templateRef.elementRef}},{key:"attach",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.context;return this.context=n,e(p(i.prototype),"attach",this).call(this,t)}},{key:"detach",value:function(){return this.context=void 0,e(p(i.prototype),"detach",this).call(this)}}]),i}(cp),dp=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).element=e instanceof Ju?e.nativeElement:e,i}return n}(cp),fp=function(){function e(){m(this,e),this._isDisposed=!1,this.attachDomPortal=null}return b(e,[{key:"hasAttached",value:function(){return!!this._attachedPortal}},{key:"attach",value:function(e){return e instanceof lp?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof hp?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof dp?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}},{key:"detach",value:function(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}},{key:"dispose",value:function(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}},{key:"setDisposeFn",value:function(e){this._disposeFn=e}},{key:"_invokeDisposeFn",value:function(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}]),e}(),pp=function(t){a(i,t);var n=s(i);function i(t,r,o,a,s){var u,l;return m(this,i),(l=n.call(this)).outletElement=t,l._componentFactoryResolver=r,l._appRef=o,l._defaultInjector=a,l.attachDomPortal=function(t){var n=t.element,r=l._document.createComment("dom-portal");n.parentNode.insertBefore(r,n),l.outletElement.appendChild(n),l._attachedPortal=t,e((u=c(l),p(i.prototype)),"setDisposeFn",u).call(u,function(){r.parentNode&&r.parentNode.replaceChild(n,r)})},l._document=s,l}return b(i,[{key:"attachComponentPortal",value:function(e){var t,n=this,i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);return e.viewContainerRef?(t=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(function(){return t.destroy()})):(t=i.create(e.injector||this._defaultInjector),this._appRef.attachView(t.hostView),this.setDisposeFn(function(){n._appRef.detachView(t.hostView),t.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(t)),this._attachedPortal=e,t}},{key:"attachTemplatePortal",value:function(e){var t=this,n=e.viewContainerRef,i=n.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(function(e){return t.outletElement.appendChild(e)}),i.detectChanges(),this.setDisposeFn(function(){var e=n.indexOf(i);-1!==e&&n.remove(e)}),this._attachedPortal=e,i}},{key:"dispose",value:function(){e(p(i.prototype),"dispose",this).call(this),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}},{key:"_getComponentRootNode",value:function(e){return e.hostView.rootNodes[0]}}]),i}(fp),vp=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this,e,i)}return n}(hp);return e.\u0275fac=function(t){return new(t||e)(Os(Pc),Os(Nc))},e.\u0275dir=Rt({type:e,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[cs]}),e}(),gp=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(vp);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["","cdk-portal",""],["","portal",""]],exportAs:["cdkPortal"],features:[Xu([{provide:vp,useExisting:t}]),cs]}),t}(),mp=function(){var t=function(t){a(i,t);var n=s(i);function i(t,r,o){var a,s;return m(this,i),(s=n.call(this))._componentFactoryResolver=t,s._viewContainerRef=r,s._isInitialized=!1,s.attached=new ol,s.attachDomPortal=function(t){var n=t.element,r=s._document.createComment("dom-portal");t.setAttachedHost(c(s)),n.parentNode.insertBefore(r,n),s._getRootNode().appendChild(n),s._attachedPortal=t,e((a=c(s),p(i.prototype)),"setDisposeFn",a).call(a,function(){r.parentNode&&r.parentNode.replaceChild(n,r)})},s._document=o,s}return b(i,[{key:"portal",get:function(){return this._attachedPortal},set:function(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&e(p(i.prototype),"detach",this).call(this),t&&e(p(i.prototype),"attach",this).call(this,t),this._attachedPortal=t)}},{key:"attachedRef",get:function(){return this._attachedRef}},{key:"ngOnInit",value:function(){this._isInitialized=!0}},{key:"ngOnDestroy",value:function(){e(p(i.prototype),"dispose",this).call(this),this._attachedPortal=null,this._attachedRef=null}},{key:"attachComponentPortal",value:function(t){t.setAttachedHost(this);var n=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,r=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=n.createComponent(r,n.length,t.injector||n.injector);return n!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),e(p(i.prototype),"setDisposeFn",this).call(this,function(){return o.destroy()}),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}},{key:"attachTemplatePortal",value:function(t){var n=this;t.setAttachedHost(this);var r=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return e(p(i.prototype),"setDisposeFn",this).call(this,function(){return n._viewContainerRef.clear()}),this._attachedPortal=t,this._attachedRef=r,this.attached.emit(r),r}},{key:"_getRootNode",value:function(){var e=this._viewContainerRef.element.nativeElement;return e.nodeType===e.ELEMENT_NODE?e:e.parentNode}}]),i}(fp);return t.\u0275fac=function(e){return new(e||t)(Os(Ku),Os(Nc),Os(bh))},t.\u0275dir=Rt({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[cs]}),t}(),yp=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),bp=function(){function e(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return e.prototype=Object.create(Error.prototype),e}();function _p(e){return function(t){return 0===e?If():t.lift(new wp(e))}}var wp=function(){function e(t){if(m(this,e),this.total=t,this.total<0)throw new bp}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new kp(e,this.total))}}]),e}(),kp=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).total=i,r.count=0,r}return b(n,[{key:"_next",value:function(e){var t=this.total,n=++this.count;n<=t&&(this.destination.next(e),n===t&&(this.destination.complete(),this.unsubscribe()))}}]),n}(K);function xp(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(n){return n.lift(new Sp(e,t))}}var Sp=function(){function e(t,n){m(this,e),this.predicate=t,this.inclusive=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new Cp(e,this.predicate,this.inclusive))}}]),e}(),Cp=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).predicate=i,o.inclusive=r,o.index=0,o}return b(n,[{key:"_next",value:function(e){var t,n=this.destination;try{t=this.predicate(e,this.index++)}catch(i){return void n.error(i)}this.nextOrComplete(e,t)}},{key:"nextOrComplete",value:function(e,t){var n=this.destination;Boolean(t)?n.next(e):(this.inclusive&&n.next(e),n.complete())}}]),n}(K);function Ep(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;it.height||e.scrollWidth>t.width}}]),e}(),Ap=function(){function e(t,n,i,r){var o=this;m(this,e),this._scrollDispatcher=t,this._ngZone=n,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=function(){o.disable(),o._overlayRef.hasAttached()&&o._ngZone.run(function(){return o._overlayRef.detach()})}}return b(e,[{key:"attach",value:function(e){this._overlayRef=e}},{key:"enable",value:function(){var e=this;if(!this._scrollSubscription){var t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(function(){var t=e._viewportRuler.getViewportScrollPosition().top;Math.abs(t-e._initialScrollPosition)>e._config.threshold?e._detach():e._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}}},{key:"disable",value:function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}},{key:"detach",value:function(){this.disable(),this._overlayRef=null}}]),e}(),Pp=function(){function e(){m(this,e)}return b(e,[{key:"enable",value:function(){}},{key:"disable",value:function(){}},{key:"attach",value:function(){}}]),e}();function Mp(e,t){return t.some(function(t){return e.bottomt.bottom||e.rightt.right})}function Ip(e,t){return t.some(function(t){return e.topt.bottom||e.leftt.right})}var Rp=function(){function e(t,n,i,r){m(this,e),this._scrollDispatcher=t,this._viewportRuler=n,this._ngZone=i,this._config=r,this._scrollSubscription=null}return b(e,[{key:"attach",value:function(e){this._overlayRef=e}},{key:"enable",value:function(){var e=this;this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(function(){if(e._overlayRef.updatePosition(),e._config&&e._config.autoClose){var t=e._overlayRef.overlayElement.getBoundingClientRect(),n=e._viewportRuler.getViewportSize(),i=n.width,r=n.height;Mp(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(e.disable(),e._ngZone.run(function(){return e._overlayRef.detach()}))}}))}},{key:"disable",value:function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}},{key:"detach",value:function(){this.disable(),this._overlayRef=null}}]),e}(),Dp=function(){var e=function e(t,n,i,r){var o=this;m(this,e),this._scrollDispatcher=t,this._viewportRuler=n,this._ngZone=i,this.noop=function(){return new Pp},this.close=function(e){return new Ap(o._scrollDispatcher,o._ngZone,o._viewportRuler,e)},this.block=function(){return new Tp(o._viewportRuler,o._document)},this.reposition=function(e){return new Rp(o._scrollDispatcher,o._viewportRuler,o._ngZone,e)},this._document=r};return e.\u0275fac=function(t){return new(t||e)(Zi(op),Zi(ap),Zi(Xl),Zi(bh))},e.\u0275prov=$e({factory:function(){return new e(Zi(op),Zi(ap),Zi(Xl),Zi(bh))},token:e,providedIn:"root"}),e}(),Np=function e(t){if(m(this,e),this.scrollStrategy=new Pp,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t)for(var n=0,i=Object.keys(t);n-1&&this._attachedOverlays.splice(t,1),0===this._attachedOverlays.length&&this.detach()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(bh))},e.\u0275prov=$e({factory:function(){return new e(Zi(bh))},token:e,providedIn:"root"}),e}(),Bp=function(){var t=function(t){a(i,t);var n=s(i);function i(e){var t;return m(this,i),(t=n.call(this,e))._keydownListener=function(e){for(var n=t._attachedOverlays,i=n.length-1;i>-1;i--)if(n[i]._keydownEvents.observers.length>0){n[i]._keydownEvents.next(e);break}},t}return b(i,[{key:"add",value:function(t){e(p(i.prototype),"add",this).call(this,t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}},{key:"detach",value:function(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}]),i}(Fp);return t.\u0275fac=function(e){return new(e||t)(Zi(bh))},t.\u0275prov=$e({factory:function(){return new t(Zi(bh))},token:t,providedIn:"root"}),t}(),Vp=function(){var t=function(t){a(i,t);var n=s(i);function i(e,t){var r;return m(this,i),(r=n.call(this,e))._platform=t,r._cursorStyleIsSet=!1,r._clickListener=function(e){for(var t=Jf(e),n=r._attachedOverlays.slice(),i=n.length-1;i>-1;i--){var o=n[i];if(!(o._outsidePointerEvents.observers.length<1)&&o.hasAttached()){if(o.overlayElement.contains(t))break;o._outsidePointerEvents.next(e)}}},r}return b(i,[{key:"add",value:function(t){if(e(p(i.prototype),"add",this).call(this,t),!this._isAttached){var n=this._document.body;n.addEventListener("click",this._clickListener,!0),n.addEventListener("auxclick",this._clickListener,!0),n.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=n.style.cursor,n.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}},{key:"detach",value:function(){if(this._isAttached){var e=this._document.body;e.removeEventListener("click",this._clickListener,!0),e.removeEventListener("auxclick",this._clickListener,!0),e.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(e.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}]),i}(Fp);return t.\u0275fac=function(e){return new(e||t)(Zi(bh),Zi(qf))},t.\u0275prov=$e({factory:function(){return new t(Zi(bh),Zi(qf))},token:t,providedIn:"root"}),t}(),zp="undefined"!=typeof window?window:{},Up=void 0!==zp.__karma__&&!!zp.__karma__||void 0!==zp.jasmine&&!!zp.jasmine||void 0!==zp.jest&&!!zp.jest||void 0!==zp.Mocha&&!!zp.Mocha,Hp=function(){var e=function(){function e(t,n){m(this,e),this._platform=n,this._document=t}return b(e,[{key:"ngOnDestroy",value:function(){var e=this._containerElement;e&&e.parentNode&&e.parentNode.removeChild(e)}},{key:"getContainerElement",value:function(){return this._containerElement||this._createContainer(),this._containerElement}},{key:"_createContainer",value:function(){var e="cdk-overlay-container";if(this._platform.isBrowser||Up)for(var t=this._document.querySelectorAll(".".concat(e,'[platform="server"], .').concat(e,'[platform="test"]')),n=0;nf&&(f=g,d=v)}}catch(m){p.e(m)}finally{p.f()}return this._isPushed=!1,void this._applyPosition(d.position,d.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(e.position,e.originPoint);this._applyPosition(e.position,e.originPoint)}}},{key:"detach",value:function(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}},{key:"dispose",value:function(){this._isDisposed||(this._boundingBox&&Yp(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Wp),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}},{key:"reapplyLastPosition",value:function(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();var e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}},{key:"withScrollableContainers",value:function(e){return this._scrollables=e,this}},{key:"withPositions",value:function(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}},{key:"withViewportMargin",value:function(e){return this._viewportMargin=e,this}},{key:"withFlexibleDimensions",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._hasFlexibleDimensions=e,this}},{key:"withGrowAfterOpen",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._growAfterOpen=e,this}},{key:"withPush",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._canPush=e,this}},{key:"withLockedPosition",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._positionLocked=e,this}},{key:"setOrigin",value:function(e){return this._origin=e,this}},{key:"withDefaultOffsetX",value:function(e){return this._offsetX=e,this}},{key:"withDefaultOffsetY",value:function(e){return this._offsetY=e,this}},{key:"withTransformOriginOn",value:function(e){return this._transformOriginSelector=e,this}},{key:"_getOriginPoint",value:function(e,t){var n;if("center"==t.originX)n=e.left+e.width/2;else{var i=this._isRtl()?e.right:e.left,r=this._isRtl()?e.left:e.right;n="start"==t.originX?i:r}return{x:n,y:"center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom}}},{key:"_getOverlayPoint",value:function(e,t,n){var i,r;return i="center"==n.overlayX?-t.width/2:"start"===n.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,r="center"==n.overlayY?-t.height/2:"top"==n.overlayY?0:-t.height,{x:e.x+i,y:e.y+r}}},{key:"_getOverlayFit",value:function(e,t,n,i){var r=$p(t),o=e.x,a=e.y,s=this._getOffset(i,"x"),u=this._getOffset(i,"y");s&&(o+=s),u&&(a+=u);var c=0-a,l=a+r.height-n.height,h=this._subtractOverflows(r.width,0-o,o+r.width-n.width),d=this._subtractOverflows(r.height,c,l),f=h*d;return{visibleArea:f,isCompletelyWithinViewport:r.width*r.height===f,fitsInViewportVertically:d===r.height,fitsInViewportHorizontally:h==r.width}}},{key:"_canFitWithFlexibleDimensions",value:function(e,t,n){if(this._hasFlexibleDimensions){var i=n.bottom-t.y,r=n.right-t.x,o=Kp(this._overlayRef.getConfig().minHeight),a=Kp(this._overlayRef.getConfig().minWidth),s=e.fitsInViewportHorizontally||null!=a&&a<=r;return(e.fitsInViewportVertically||null!=o&&o<=i)&&s}return!1}},{key:"_pushOverlayOnScreen",value:function(e,t,n){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};var i,r,o=$p(t),a=this._viewportRect,s=Math.max(e.x+o.width-a.width,0),u=Math.max(e.y+o.height-a.height,0),c=Math.max(a.top-n.top-e.y,0),l=Math.max(a.left-n.left-e.x,0);return i=o.width<=a.width?l||-s:e.xh&&!this._isInitialRender&&!this._growAfterOpen&&(i=e.y-h/2)}if("end"===t.overlayX&&!c||"start"===t.overlayX&&c)s=u.width-e.x+this._viewportMargin,o=e.x-this._viewportMargin;else if("start"===t.overlayX&&!c||"end"===t.overlayX&&c)a=e.x,o=u.right-e.x;else{var d=Math.min(u.right-e.x+u.left,e.x),f=this._lastBoundingBoxSize.width;o=2*d,a=e.x-d,o>f&&!this._isInitialRender&&!this._growAfterOpen&&(a=e.x-f/2)}return{top:i,left:a,bottom:r,right:s,width:o,height:n}}},{key:"_setBoundingBoxStyles",value:function(e,t){var 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));var i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right=i.maxHeight=i.maxWidth="",i.width=i.height="100%";else{var r=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;i.height=Yd(n.height),i.top=Yd(n.top),i.bottom=Yd(n.bottom),i.width=Yd(n.width),i.left=Yd(n.left),i.right=Yd(n.right),i.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",i.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",r&&(i.maxHeight=Yd(r)),o&&(i.maxWidth=Yd(o))}this._lastBoundingBoxSize=n,Yp(this._boundingBox.style,i)}},{key:"_resetBoundingBoxStyles",value:function(){Yp(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}},{key:"_resetOverlayElementStyles",value:function(){Yp(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}},{key:"_setOverlayElementStyles",value:function(e,t){var n={},i=this._hasExactPosition(),r=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(i){var a=this._viewportRuler.getViewportScrollPosition();Yp(n,this._getExactOverlayY(t,e,a)),Yp(n,this._getExactOverlayX(t,e,a))}else n.position="static";var s="",u=this._getOffset(t,"x"),c=this._getOffset(t,"y");u&&(s+="translateX(".concat(u,"px) ")),c&&(s+="translateY(".concat(c,"px)")),n.transform=s.trim(),o.maxHeight&&(i?n.maxHeight=Yd(o.maxHeight):r&&(n.maxHeight="")),o.maxWidth&&(i?n.maxWidth=Yd(o.maxWidth):r&&(n.maxWidth="")),Yp(this._pane.style,n)}},{key:"_getExactOverlayY",value:function(e,t,n){var i={top:"",bottom:""},r=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,n));var o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return r.y-=o,"bottom"===e.overlayY?i.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":i.top=Yd(r.y),i}},{key:"_getExactOverlayX",value:function(e,t,n){var i={left:"",right:""},r=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,n)),"right"===(this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left")?i.right=this._document.documentElement.clientWidth-(r.x+this._overlayRect.width)+"px":i.left=Yd(r.x),i}},{key:"_getScrollVisibility",value:function(){var e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),n=this._scrollables.map(function(e){return e.getElementRef().nativeElement.getBoundingClientRect()});return{isOriginClipped:Ip(e,n),isOriginOutsideView:Mp(e,n),isOverlayClipped:Ip(t,n),isOverlayOutsideView:Mp(t,n)}}},{key:"_subtractOverflows",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:"";return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}},{key:"left",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}},{key:"bottom",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}},{key:"right",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-end",this}},{key:"width",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._overlayRef?this._overlayRef.updateSize({width:e}):this._width=e,this}},{key:"height",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._overlayRef?this._overlayRef.updateSize({height:e}):this._height=e,this}},{key:"centerHorizontally",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.left(e),this._justifyContent="center",this}},{key:"centerVertically",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.top(e),this._alignItems="center",this}},{key:"apply",value:function(){if(this._overlayRef&&this._overlayRef.hasAttached()){var e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig(),i=n.width,r=n.height,o=n.maxWidth,a=n.maxHeight,s=!("100%"!==i&&"100vw"!==i||o&&"100%"!==o&&"100vw"!==o),u=!("100%"!==r&&"100vh"!==r||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=s?"0":this._leftOffset,e.marginTop=u?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,s?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=u?"flex-start":this._alignItems}}},{key:"dispose",value:function(){if(!this._isDisposed&&this._overlayRef){var e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,n=t.style;t.classList.remove(Jp),n.justifyContent=n.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}}]),e}(),tv=function(){var e=function(){function e(t,n,i,r){m(this,e),this._viewportRuler=t,this._document=n,this._platform=i,this._overlayContainer=r}return b(e,[{key:"global",value:function(){return new ev}},{key:"connectedTo",value:function(e,t,n){return new Zp(t,n,e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}},{key:"flexibleConnectedTo",value:function(e){return new Xp(e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ap),Zi(bh),Zi(qf),Zi(Hp))},e.\u0275prov=$e({factory:function(){return new e(Zi(ap),Zi(bh),Zi(qf),Zi(Hp))},token:e,providedIn:"root"}),e}(),nv=0,iv=function(){var e=function(){function e(t,n,i,r,o,a,s,u,c,l,h){m(this,e),this.scrollStrategies=t,this._overlayContainer=n,this._componentFactoryResolver=i,this._positionBuilder=r,this._keyboardDispatcher=o,this._injector=a,this._ngZone=s,this._document=u,this._directionality=c,this._location=l,this._outsideClickDispatcher=h}return b(e,[{key:"create",value:function(e){var t=this._createHostElement(),n=this._createPaneElement(t),i=this._createPortalOutlet(n),r=new Np(e);return r.direction=r.direction||this._directionality.value,new Gp(i,t,n,r,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}},{key:"position",value:function(){return this._positionBuilder}},{key:"_createPaneElement",value:function(e){var t=this._document.createElement("div");return t.id="cdk-overlay-"+nv++,t.classList.add("cdk-overlay-pane"),e.appendChild(t),t}},{key:"_createHostElement",value:function(){var e=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(e),e}},{key:"_createPortalOutlet",value:function(e){return this._appRef||(this._appRef=this._injector.get(dh)),new pp(e,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Dp),Zi(Hp),Zi(Ku),Zi(tv),Zi(Bp),Zi(ss),Zi(Xl),Zi(bh),Zi(tp),Zi(Ih),Zi(Vp))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),rv=[{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"}],ov=new Ri("cdk-connected-overlay-scroll-strategy"),av=function(){var e=function e(t){m(this,e),this.elementRef=t};return e.\u0275fac=function(t){return new(t||e)(Os(Ju))},e.\u0275dir=Rt({type:e,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),e}(),sv=function(){var e=function(){function e(t,n,i,r,o){m(this,e),this._overlay=t,this._dir=o,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=q.EMPTY,this._attachSubscription=q.EMPTY,this._detachSubscription=q.EMPTY,this._positionSubscription=q.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new ol,this.positionChange=new ol,this.attach=new ol,this.detach=new ol,this.overlayKeydown=new ol,this.overlayOutsideClick=new ol,this._templatePortal=new hp(n,i),this._scrollStrategyFactory=r,this.scrollStrategy=this._scrollStrategyFactory()}return b(e,[{key:"offsetX",get:function(){return this._offsetX},set:function(e){this._offsetX=e,this._position&&this._updatePositionStrategy(this._position)}},{key:"offsetY",get:function(){return this._offsetY},set:function(e){this._offsetY=e,this._position&&this._updatePositionStrategy(this._position)}},{key:"hasBackdrop",get:function(){return this._hasBackdrop},set:function(e){this._hasBackdrop=Wd(e)}},{key:"lockPosition",get:function(){return this._lockPosition},set:function(e){this._lockPosition=Wd(e)}},{key:"flexibleDimensions",get:function(){return this._flexibleDimensions},set:function(e){this._flexibleDimensions=Wd(e)}},{key:"growAfterOpen",get:function(){return this._growAfterOpen},set:function(e){this._growAfterOpen=Wd(e)}},{key:"push",get:function(){return this._push},set:function(e){this._push=Wd(e)}},{key:"overlayRef",get:function(){return this._overlayRef}},{key:"dir",get:function(){return this._dir?this._dir.value:"ltr"}},{key:"ngOnDestroy",value:function(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}},{key:"ngOnChanges",value:function(e){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),e.origin&&this.open&&this._position.apply()),e.open&&(this.open?this._attachOverlay():this._detachOverlay())}},{key:"_createOverlay",value:function(){var e=this;(!this.positions||!this.positions.length)&&(this.positions=rv);var t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(function(){return e.attach.emit()}),this._detachSubscription=t.detachments().subscribe(function(){return e.detach.emit()}),t.keydownEvents().subscribe(function(t){e.overlayKeydown.next(t),27===t.keyCode&&!e.disableClose&&!Ep(t)&&(t.preventDefault(),e._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(function(t){e.overlayOutsideClick.next(t)})}},{key:"_buildConfig",value:function(){var e=this._position=this.positionStrategy||this._createPositionStrategy(),t=new Np({direction:this._dir,positionStrategy:e,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(t.width=this.width),(this.height||0===this.height)&&(t.height=this.height),(this.minWidth||0===this.minWidth)&&(t.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(t.minHeight=this.minHeight),this.backdropClass&&(t.backdropClass=this.backdropClass),this.panelClass&&(t.panelClass=this.panelClass),t}},{key:"_updatePositionStrategy",value:function(e){var t=this,n=this.positions.map(function(e){return{originX:e.originX,originY:e.originY,overlayX:e.overlayX,overlayY:e.overlayY,offsetX:e.offsetX||t.offsetX,offsetY:e.offsetY||t.offsetY,panelClass:e.panelClass||void 0}});return e.setOrigin(this.origin.elementRef).withPositions(n).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}},{key:"_createPositionStrategy",value:function(){var e=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(e),e}},{key:"_attachOverlay",value:function(){var e=this;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(function(t){e.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(xp(function(){return e.positionChange.observers.length>0})).subscribe(function(t){e.positionChange.emit(t),0===e.positionChange.observers.length&&e._positionSubscription.unsubscribe()}))}},{key:"_detachOverlay",value:function(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(Pc),Os(Nc),Os(ov),Os(tp,8))},e.\u0275dir=Rt({type:e,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[qt]}),e}(),uv={provide:ov,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.reposition()}}},cv=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[iv,uv],imports:[[np,yp,up],up]}),e}(),lv={schedule:function(e,t){var n=setTimeout(e,t);return function(){return clearTimeout(n)}},scheduleBeforeRender:function(e){if("undefined"==typeof window)return lv.schedule(e,0);if(void 0===window.requestAnimationFrame)return lv.schedule(e,16);var t=window.requestAnimationFrame(e);return function(){return window.cancelAnimationFrame(t)}}};function hv(e,t,n){var i=n;return function(e){return!!e&&e.nodeType===Node.ELEMENT_NODE}(e)&&t.some(function(t,n){return!("*"===t||!function(e,t){if(!Qp){var n=Element.prototype;Qp=n.matches||n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}return e.nodeType===Node.ELEMENT_NODE&&Qp.call(e,t)}(e,t)||(i=n,0))}),i}var dv=function(){function e(t,n){m(this,e),this.componentFactory=n.get(Ku).resolveComponentFactory(t)}return b(e,[{key:"create",value:function(e){return new fv(this.componentFactory,e)}}]),e}(),fv=function(){function e(t,n){m(this,e),this.componentFactory=t,this.injector=n,this.eventEmitters=new Bf(1),this.events=this.eventEmitters.pipe(Of(function(e){return Oe.apply(void 0,v(e))})),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(function(e){return e.propName})),this.ngZone=this.injector.get(Xl),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(function(){return Zone.current})}return b(e,[{key:"connect",value:function(e){var t=this;this.runInZone(function(){if(null!==t.scheduledDestroyFn)return t.scheduledDestroyFn(),void(t.scheduledDestroyFn=null);null===t.componentRef&&t.initializeComponent(e)})}},{key:"disconnect",value:function(){var e=this;this.runInZone(function(){null===e.componentRef||null!==e.scheduledDestroyFn||(e.scheduledDestroyFn=lv.schedule(function(){null!==e.componentRef&&(e.componentRef.destroy(),e.componentRef=null,e.viewChangeDetectorRef=null)},10))})}},{key:"getInputValue",value:function(e){var t=this;return this.runInZone(function(){return null===t.componentRef?t.initialInputValues.get(e):t.componentRef.instance[e]})}},{key:"setInputValue",value:function(e,t){var n=this;this.runInZone(function(){null!==n.componentRef?function(e,t){return e===t||e!=e&&t!=t}(t,n.getInputValue(e))&&(void 0!==t||!n.unchangedInputs.has(e))||(n.recordInputChange(e,t),n.unchangedInputs.delete(e),n.hasInputChanges=!0,n.componentRef.instance[e]=t,n.scheduleDetectChanges()):n.initialInputValues.set(e,t)})}},{key:"initializeComponent",value:function(e){var t=ss.create({providers:[],parent:this.injector}),n=function(e,t){var n=e.childNodes,i=t.map(function(){return[]}),r=-1;t.some(function(e,t){return"*"===e&&(r=t,!0)});for(var o=0,a=n.length;o1&&void 0!==arguments[1]?arguments[1]:ff;return function(n){return n.lift(new wv(e,t))}}var wv=function(){function e(t,n){m(this,e),this.dueTime=t,this.scheduler=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new kv(e,this.dueTime,this.scheduler))}}]),e}(),kv=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).dueTime=i,o.scheduler=r,o.debouncedSubscription=null,o.lastValue=null,o.hasValue=!1,o}return b(n,[{key:"_next",value:function(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(xv,this.dueTime,this))}},{key:"_complete",value:function(){this.debouncedNext(),this.destination.complete()}},{key:"debouncedNext",value:function(){if(this.clearDebounce(),this.hasValue){var e=this.lastValue;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}}},{key:"clearDebounce",value:function(){var e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)}}]),n}(K);function xv(e){e.debouncedNext()}function Sv(e){return function(t){return t.lift(new Cv(e))}}var Cv=function(){function e(t){m(this,e),this.total=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new Ev(e,this.total))}}]),e}(),Ev=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).total=i,r.count=0,r}return b(n,[{key:"_next",value:function(e){++this.count>this.total&&this.destination.next(e)}}]),n}(K),Ov=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"create",value:function(e){return"undefined"==typeof MutationObserver?null:new MutationObserver(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({factory:function(){return new e},token:e,providedIn:"root"}),e}(),Tv=function(){var e=function(){function e(t){m(this,e),this._mutationObserverFactory=t,this._observedElements=new Map}return b(e,[{key:"ngOnDestroy",value:function(){var e=this;this._observedElements.forEach(function(t,n){return e._cleanupObserver(n)})}},{key:"observe",value:function(e){var t=this,n=Kd(e);return new te(function(e){var i=t._observeElement(n).subscribe(e);return function(){i.unsubscribe(),t._unobserveElement(n)}})}},{key:"_observeElement",value:function(e){if(this._observedElements.has(e))this._observedElements.get(e).count++;else{var t=new ae,n=this._mutationObserverFactory.create(function(e){return t.next(e)});n&&n.observe(e,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(e,{observer:n,stream:t,count:1})}return this._observedElements.get(e).stream}},{key:"_unobserveElement",value:function(e){this._observedElements.has(e)&&(this._observedElements.get(e).count--,this._observedElements.get(e).count||this._cleanupObserver(e))}},{key:"_cleanupObserver",value:function(e){if(this._observedElements.has(e)){var t=this._observedElements.get(e),n=t.observer,i=t.stream;n&&n.disconnect(),i.complete(),this._observedElements.delete(e)}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Ov))},e.\u0275prov=$e({factory:function(){return new e(Zi(Ov))},token:e,providedIn:"root"}),e}(),Av=function(){var e=function(){function e(t,n,i){m(this,e),this._contentObserver=t,this._elementRef=n,this._ngZone=i,this.event=new ol,this._disabled=!1,this._currentSubscription=null}return b(e,[{key:"disabled",get:function(){return this._disabled},set:function(e){this._disabled=Wd(e),this._disabled?this._unsubscribe():this._subscribe()}},{key:"debounce",get:function(){return this._debounce},set:function(e){this._debounce=qd(e),this._subscribe()}},{key:"ngAfterContentInit",value:function(){!this._currentSubscription&&!this.disabled&&this._subscribe()}},{key:"ngOnDestroy",value:function(){this._unsubscribe()}},{key:"_subscribe",value:function(){var e=this;this._unsubscribe();var t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(function(){e._currentSubscription=(e.debounce?t.pipe(_v(e.debounce)):t).subscribe(e.event)})}},{key:"_unsubscribe",value:function(){var e;null===(e=this._currentSubscription)||void 0===e||e.unsubscribe()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Tv),Os(Ju),Os(Xl))},e.\u0275dir=Rt({type:e,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),e}(),Pv=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[Ov]}),e}();function Mv(e,t){return(e.getAttribute(t)||"").match(/\S+/g)||[]}var Iv="cdk-describedby-message-container",Rv="cdk-describedby-message",Dv="cdk-describedby-host",Nv=0,Lv=new Map,jv=null,Fv=function(){var e=function(){function e(t){m(this,e),this._document=t}return b(e,[{key:"describe",value:function(e,t,n){if(this._canBeDescribed(e,t)){var i=Bv(t,n);"string"!=typeof t?(Vv(t),Lv.set(i,{messageElement:t,referenceCount:0})):Lv.has(i)||this._createMessageElement(t,n),this._isElementDescribedByMessage(e,i)||this._addMessageReference(e,i)}}},{key:"removeDescription",value:function(e,t,n){if(t&&this._isElementNode(e)){var i=Bv(t,n);if(this._isElementDescribedByMessage(e,i)&&this._removeMessageReference(e,i),"string"==typeof t){var r=Lv.get(i);r&&0===r.referenceCount&&this._deleteMessageElement(i)}jv&&0===jv.childNodes.length&&this._deleteMessagesContainer()}}},{key:"ngOnDestroy",value:function(){for(var e=this._document.querySelectorAll("[".concat(Dv,"]")),t=0;t-1&&t!==n._activeItemIndex&&(n._activeItemIndex=t)}})}return b(e,[{key:"skipPredicate",value:function(e){return this._skipPredicateFn=e,this}},{key:"withWrap",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._wrap=e,this}},{key:"withVerticalOrientation",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._vertical=e,this}},{key:"withHorizontalOrientation",value:function(e){return this._horizontal=e,this}},{key:"withAllowedModifierKeys",value:function(e){return this._allowedModifierKeys=e,this}},{key:"withTypeAhead",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200;return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(mv(function(t){return e._pressedLetters.push(t)}),_v(t),bf(function(){return e._pressedLetters.length>0}),ce(function(){return e._pressedLetters.join("")})).subscribe(function(t){for(var n=e._getItemsArray(),i=1;i0&&void 0!==arguments[0])||arguments[0];return this._homeAndEnd=e,this}},{key:"setActiveItem",value:function(e){var t=this._activeItem;this.updateActiveItem(e),this._activeItem!==t&&this.change.next(this._activeItemIndex)}},{key:"onKeydown",value:function(e){var t=this,n=e.keyCode,i=["altKey","ctrlKey","metaKey","shiftKey"].every(function(n){return!e[n]||t._allowedModifierKeys.indexOf(n)>-1});switch(n){case 9:return void this.tabOut.next();case 40:if(this._vertical&&i){this.setNextItemActive();break}return;case 38:if(this._vertical&&i){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&i){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&i){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&i){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&i){this.setLastItemActive();break}return;default:return void((i||Ep(e,"shiftKey"))&&(e.key&&1===e.key.length?this._letterKeyStream.next(e.key.toLocaleUpperCase()):(n>=65&&n<=90||n>=48&&n<=57)&&this._letterKeyStream.next(String.fromCharCode(n))))}this._pressedLetters=[],e.preventDefault()}},{key:"activeItemIndex",get:function(){return this._activeItemIndex}},{key:"activeItem",get:function(){return this._activeItem}},{key:"isTyping",value:function(){return this._pressedLetters.length>0}},{key:"setFirstItemActive",value:function(){this._setActiveItemByIndex(0,1)}},{key:"setLastItemActive",value:function(){this._setActiveItemByIndex(this._items.length-1,-1)}},{key:"setNextItemActive",value:function(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}},{key:"setPreviousItemActive",value:function(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}},{key:"updateActiveItem",value:function(e){var t=this._getItemsArray(),n="number"==typeof e?e:t.indexOf(e),i=t[n];this._activeItem=null==i?null:i,this._activeItemIndex=n}},{key:"_setActiveItemByDelta",value:function(e){this._wrap?this._setActiveInWrapMode(e):this._setActiveInDefaultMode(e)}},{key:"_setActiveInWrapMode",value:function(e){for(var t=this._getItemsArray(),n=1;n<=t.length;n++){var i=(this._activeItemIndex+e*n+t.length)%t.length;if(!this._skipPredicateFn(t[i]))return void this.setActiveItem(i)}}},{key:"_setActiveInDefaultMode",value:function(e){this._setActiveItemByIndex(this._activeItemIndex+e,e)}},{key:"_setActiveItemByIndex",value:function(e,t){var n=this._getItemsArray();if(n[e]){for(;this._skipPredicateFn(n[e]);)if(!n[e+=t])return;this.setActiveItem(e)}}},{key:"_getItemsArray",value:function(){return this._items instanceof sl?this._items.toArray():this._items}}]),e}()),Uv=function(){var e=function(){function e(t){m(this,e),this._platform=t}return b(e,[{key:"isDisabled",value:function(e){return e.hasAttribute("disabled")}},{key:"isVisible",value:function(e){return function(e){return!!(e.offsetWidth||e.offsetHeight||"function"==typeof e.getClientRects&&e.getClientRects().length)}(e)&&"visible"===getComputedStyle(e).visibility}},{key:"isTabbable",value:function(e){if(!this._platform.isBrowser)return!1;var t=function(e){try{return e.frameElement}catch(t){return null}}(function(e){return e.ownerDocument&&e.ownerDocument.defaultView||window}(e));if(t&&(-1===Gv(t)||!this.isVisible(t)))return!1;var n=e.nodeName.toLowerCase(),i=Gv(e);return e.hasAttribute("contenteditable")?-1!==i:!("iframe"===n||"object"===n||this._platform.WEBKIT&&this._platform.IOS&&!function(e){var t=e.nodeName.toLowerCase(),n="input"===t&&e.type;return"text"===n||"password"===n||"select"===t||"textarea"===t}(e))&&("audio"===n?!!e.hasAttribute("controls")&&-1!==i:"video"===n?-1!==i&&(null!==i||this._platform.FIREFOX||e.hasAttribute("controls")):e.tabIndex>=0)}},{key:"isFocusable",value:function(e,t){return function(e){return!function(e){return function(e){return"input"==e.nodeName.toLowerCase()}(e)&&"hidden"==e.type}(e)&&(function(e){var t=e.nodeName.toLowerCase();return"input"===t||"select"===t||"button"===t||"textarea"===t}(e)||function(e){return function(e){return"a"==e.nodeName.toLowerCase()}(e)&&e.hasAttribute("href")}(e)||e.hasAttribute("contenteditable")||Hv(e))}(e)&&!this.isDisabled(e)&&((null==t?void 0:t.ignoreVisibility)||this.isVisible(e))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf))},token:e,providedIn:"root"}),e}();function Hv(e){if(!e.hasAttribute("tabindex")||void 0===e.tabIndex)return!1;var t=e.getAttribute("tabindex");return"-32768"!=t&&!(!t||isNaN(parseInt(t,10)))}function Gv(e){if(!Hv(e))return null;var t=parseInt(e.getAttribute("tabindex")||"",10);return isNaN(t)?-1:t}var Wv=function(){function e(t,n,i,r){var o=this,a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];m(this,e),this._element=t,this._checker=n,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=function(){return o.focusLastTabbableElement()},this.endAnchorListener=function(){return o.focusFirstTabbableElement()},this._enabled=!0,a||this.attachAnchors()}return b(e,[{key:"enabled",get:function(){return this._enabled},set:function(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}},{key:"destroy",value:function(){var e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}},{key:"attachAnchors",value:function(){var e=this;return!!this._hasAttached||(this._ngZone.runOutsideAngular(function(){e._startAnchor||(e._startAnchor=e._createAnchor(),e._startAnchor.addEventListener("focus",e.startAnchorListener)),e._endAnchor||(e._endAnchor=e._createAnchor(),e._endAnchor.addEventListener("focus",e.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)}},{key:"focusInitialElementWhenReady",value:function(e){var t=this;return new Promise(function(n){t._executeOnStable(function(){return n(t.focusInitialElement(e))})})}},{key:"focusFirstTabbableElementWhenReady",value:function(e){var t=this;return new Promise(function(n){t._executeOnStable(function(){return n(t.focusFirstTabbableElement(e))})})}},{key:"focusLastTabbableElementWhenReady",value:function(e){var t=this;return new Promise(function(n){t._executeOnStable(function(){return n(t.focusLastTabbableElement(e))})})}},{key:"_getRegionBoundary",value:function(e){for(var t=this._element.querySelectorAll("[cdk-focus-region-".concat(e,"], [cdkFocusRegion").concat(e,"], [cdk-focus-").concat(e,"]")),n=0;n=0;n--){var i=t[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[n]):null;if(i)return i}return null}},{key:"_createAnchor",value:function(){var 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}},{key:"_toggleAnchorTabIndex",value:function(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}},{key:"toggleAnchors",value:function(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))}},{key:"_executeOnStable",value:function(e){this._ngZone.isStable?e():this._ngZone.onStable.pipe(_p(1)).subscribe(e)}}]),e}(),qv=function(){var e=function(){function e(t,n,i){m(this,e),this._checker=t,this._ngZone=n,this._document=i}return b(e,[{key:"create",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new Wv(e,this._checker,this._ngZone,this._document,t)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Uv),Zi(Xl),Zi(bh))},e.\u0275prov=$e({factory:function(){return new e(Zi(Uv),Zi(Xl),Zi(bh))},token:e,providedIn:"root"}),e}();function Xv(e){return 0===e.offsetX&&0===e.offsetY}function Yv(e){var t=e.touches&&e.touches[0]||e.changedTouches&&e.changedTouches[0];return!(!t||-1!==t.identifier||null!=t.radiusX&&1!==t.radiusX||null!=t.radiusY&&1!==t.radiusY)}"undefined"!=typeof Element&∈var Kv=new Ri("cdk-input-modality-detector-options"),$v={ignoreKeys:[18,17,224,91,16]},Qv=$f({passive:!0,capture:!0}),Zv=function(){var e=function(){function e(t,n,i,r){var o=this;m(this,e),this._platform=t,this._mostRecentTarget=null,this._modality=new vv(null),this._lastTouchMs=0,this._onKeydown=function(e){var t,n;(null===(n=null===(t=o._options)||void 0===t?void 0:t.ignoreKeys)||void 0===n?void 0:n.some(function(t){return t===e.keyCode}))||(o._modality.next("keyboard"),o._mostRecentTarget=Jf(e))},this._onMousedown=function(e){Date.now()-o._lastTouchMs<650||(o._modality.next(Xv(e)?"keyboard":"mouse"),o._mostRecentTarget=Jf(e))},this._onTouchstart=function(e){Yv(e)?o._modality.next("keyboard"):(o._lastTouchMs=Date.now(),o._modality.next("touch"),o._mostRecentTarget=Jf(e))},this._options=Object.assign(Object.assign({},$v),r),this.modalityDetected=this._modality.pipe(Sv(1)),this.modalityChanged=this.modalityDetected.pipe(lf()),t.isBrowser&&n.runOutsideAngular(function(){i.addEventListener("keydown",o._onKeydown,Qv),i.addEventListener("mousedown",o._onMousedown,Qv),i.addEventListener("touchstart",o._onTouchstart,Qv)})}return b(e,[{key:"mostRecentModality",get:function(){return this._modality.value}},{key:"ngOnDestroy",value:function(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,Qv),document.removeEventListener("mousedown",this._onMousedown,Qv),document.removeEventListener("touchstart",this._onTouchstart,Qv))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf),Zi(Xl),Zi(bh),Zi(Kv,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf),Zi(Xl),Zi(bh),Zi(Kv,8))},token:e,providedIn:"root"}),e}(),Jv=new Ri("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),eg=new Ri("LIVE_ANNOUNCER_DEFAULT_OPTIONS"),tg=function(){var e=function(){function e(t,n,i,r){m(this,e),this._ngZone=n,this._defaultOptions=r,this._document=i,this._liveElement=t||this._createLiveElement()}return b(e,[{key:"announce",value:function(e){for(var n,i,r,o=this,a=this._defaultOptions,s=arguments.length,u=new Array(s>1?s-1:0),c=1;c1&&void 0!==arguments[1]&&arguments[1],n=Kd(e);if(!this._platform.isBrowser||1!==n.nodeType)return $d(null);var i=Qf(n)||this._getDocument(),r=this._elementInfo.get(n);if(r)return t&&(r.checkChildren=!0),r.subject;var o={checkChildren:t,subject:new ae,rootNode:i};return this._elementInfo.set(n,o),this._registerGlobalListeners(o),o.subject}},{key:"stopMonitoring",value:function(e){var t=Kd(e),n=this._elementInfo.get(t);n&&(n.subject.complete(),this._setClasses(t),this._elementInfo.delete(t),this._removeGlobalListeners(n))}},{key:"focusVia",value:function(e,n,i){var r=this,o=Kd(e);o===this._getDocument().activeElement?this._getClosestElementsInfo(o).forEach(function(e){var i=t(e,2),o=i[0],a=i[1];return r._originChanged(o,n,a)}):(this._setOrigin(n),"function"==typeof o.focus&&o.focus(i))}},{key:"ngOnDestroy",value:function(){var e=this;this._elementInfo.forEach(function(t,n){return e.stopMonitoring(n)})}},{key:"_getDocument",value:function(){return this._document||document}},{key:"_getWindow",value:function(){return this._getDocument().defaultView||window}},{key:"_toggleClass",value:function(e,t,n){n?e.classList.add(t):e.classList.remove(t)}},{key:"_getFocusOrigin",value:function(e){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(e)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}},{key:"_shouldBeAttributedToTouch",value:function(e){return 1===this._detectionMode||!!(null==e?void 0:e.contains(this._inputModalityDetector._mostRecentTarget))}},{key:"_setClasses",value:function(e,t){this._toggleClass(e,"cdk-focused",!!t),this._toggleClass(e,"cdk-touch-focused","touch"===t),this._toggleClass(e,"cdk-keyboard-focused","keyboard"===t),this._toggleClass(e,"cdk-mouse-focused","mouse"===t),this._toggleClass(e,"cdk-program-focused","program"===t)}},{key:"_setOrigin",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._ngZone.runOutsideAngular(function(){t._origin=e,t._originFromTouchInteraction="touch"===e&&n,0===t._detectionMode&&(clearTimeout(t._originTimeoutId),t._originTimeoutId=setTimeout(function(){return t._origin=null},t._originFromTouchInteraction?650:1))})}},{key:"_onFocus",value:function(e,t){var n=this._elementInfo.get(t),i=Jf(e);!n||!n.checkChildren&&t!==i||this._originChanged(t,this._getFocusOrigin(i),n)}},{key:"_onBlur",value:function(e,t){var n=this._elementInfo.get(t);!n||n.checkChildren&&e.relatedTarget instanceof Node&&t.contains(e.relatedTarget)||(this._setClasses(t),this._emitOrigin(n.subject,null))}},{key:"_emitOrigin",value:function(e,t){this._ngZone.run(function(){return e.next(t)})}},{key:"_registerGlobalListeners",value:function(e){var t=this;if(this._platform.isBrowser){var n=e.rootNode,i=this._rootNodeFocusListenerCount.get(n)||0;i||this._ngZone.runOutsideAngular(function(){n.addEventListener("focus",t._rootNodeFocusAndBlurListener,ig),n.addEventListener("blur",t._rootNodeFocusAndBlurListener,ig)}),this._rootNodeFocusListenerCount.set(n,i+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(function(){t._getWindow().addEventListener("focus",t._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(kf(this._stopInputModalityDetector)).subscribe(function(e){t._setOrigin(e,!0)}))}}},{key:"_removeGlobalListeners",value:function(e){var t=e.rootNode;if(this._rootNodeFocusListenerCount.has(t)){var n=this._rootNodeFocusListenerCount.get(t);n>1?this._rootNodeFocusListenerCount.set(t,n-1):(t.removeEventListener("focus",this._rootNodeFocusAndBlurListener,ig),t.removeEventListener("blur",this._rootNodeFocusAndBlurListener,ig),this._rootNodeFocusListenerCount.delete(t))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}},{key:"_originChanged",value:function(e,t,n){this._setClasses(e,t),this._emitOrigin(n.subject,t),this._lastFocusOrigin=t}},{key:"_getClosestElementsInfo",value:function(e){var t=[];return this._elementInfo.forEach(function(n,i){(i===e||n.checkChildren&&i.contains(e))&&t.push([i,n])}),t}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl),Zi(qf),Zi(Zv),Zi(bh,8),Zi(ng,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(Xl),Zi(qf),Zi(Zv),Zi(bh,8),Zi(ng,8))},token:e,providedIn:"root"}),e}(),og="cdk-high-contrast-black-on-white",ag="cdk-high-contrast-white-on-black",sg="cdk-high-contrast-active",ug=function(){var e=function(){function e(t,n){m(this,e),this._platform=t,this._document=n}return b(e,[{key:"getHighContrastMode",value:function(){if(!this._platform.isBrowser)return 0;var e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);var t=this._document.defaultView||window,n=t&&t.getComputedStyle?t.getComputedStyle(e):null,i=(n&&n.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(e),i){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}},{key:"_applyBodyHighContrastModeCssClasses",value:function(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){var e=this._document.body.classList;e.remove(sg),e.remove(og),e.remove(ag),this._hasCheckedHighContrastMode=!0;var t=this.getHighContrastMode();1===t?(e.add(sg),e.add(og)):2===t&&(e.add(sg),e.add(ag))}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf),Zi(bh))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf),Zi(bh))},token:e,providedIn:"root"}),e}(),cg=function(){var e=function e(t){m(this,e),t._applyBodyHighContrastModeCssClasses()};return e.\u0275fac=function(t){return new(t||e)(Zi(ug))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[Xf,Pv]]}),e}(),lg=new oc("12.2.5"),hg=function e(){m(this,e)},dg="*";function fg(e,t){return{type:7,name:e,definitions:t,options:{}}}function pg(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:4,styles:t,timings:e}}function vg(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:2,steps:e,options:t}}function gg(e){return{type:6,styles:e,offset:null}}function mg(e,t,n){return{type:0,name:e,styles:t,options:n}}function yg(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:1,expr:e,animation:t,options:n}}function bg(e){Promise.resolve(null).then(e)}var _g=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;m(this,e),this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+n}return b(e,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[])}},{key:"onStart",value:function(e){this._onStartFns.push(e)}},{key:"onDone",value:function(e){this._onDoneFns.push(e)}},{key:"onDestroy",value:function(e){this._onDestroyFns.push(e)}},{key:"hasStarted",value:function(){return this._started}},{key:"init",value:function(){}},{key:"play",value:function(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}},{key:"triggerMicrotask",value:function(){var e=this;bg(function(){return e._onFinish()})}},{key:"_onStart",value:function(){this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[]}},{key:"pause",value:function(){}},{key:"restart",value:function(){}},{key:"finish",value:function(){this._onFinish()}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])}},{key:"reset",value:function(){this._started=!1}},{key:"setPosition",value:function(e){this._position=this.totalTime?e*this.totalTime:1}},{key:"getPosition",value:function(){return this.totalTime?this._position/this.totalTime:1}},{key:"triggerCallback",value:function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0}}]),e}(),wg=function(){function e(t){var n=this;m(this,e),this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;var i=0,r=0,o=0,a=this.players.length;0==a?bg(function(){return n._onFinish()}):this.players.forEach(function(e){e.onDone(function(){++i==a&&n._onFinish()}),e.onDestroy(function(){++r==a&&n._onDestroy()}),e.onStart(function(){++o==a&&n._onStart()})}),this.totalTime=this.players.reduce(function(e,t){return Math.max(e,t.totalTime)},0)}return b(e,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[])}},{key:"init",value:function(){this.players.forEach(function(e){return e.init()})}},{key:"onStart",value:function(e){this._onStartFns.push(e)}},{key:"_onStart",value:function(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[])}},{key:"onDone",value:function(e){this._onDoneFns.push(e)}},{key:"onDestroy",value:function(e){this._onDestroyFns.push(e)}},{key:"hasStarted",value:function(){return this._started}},{key:"play",value:function(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(function(e){return e.play()})}},{key:"pause",value:function(){this.players.forEach(function(e){return e.pause()})}},{key:"restart",value:function(){this.players.forEach(function(e){return e.restart()})}},{key:"finish",value:function(){this._onFinish(),this.players.forEach(function(e){return e.finish()})}},{key:"destroy",value:function(){this._onDestroy()}},{key:"_onDestroy",value:function(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(function(e){return e.destroy()}),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])}},{key:"reset",value:function(){this.players.forEach(function(e){return e.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1}},{key:"setPosition",value:function(e){var t=e*this.totalTime;this.players.forEach(function(e){var n=e.totalTime?Math.min(1,t/e.totalTime):1;e.setPosition(n)})}},{key:"getPosition",value:function(){var e=this.players.reduce(function(e,t){return null===e||t.totalTime>e.totalTime?t:e},null);return null!=e?e.getPosition():0}},{key:"beforeDestroy",value:function(){this.players.forEach(function(e){e.beforeDestroy&&e.beforeDestroy()})}},{key:"triggerCallback",value:function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0}}]),e}();function kg(){return"undefined"!=typeof window&&void 0!==window.document}function xg(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function Sg(e){switch(e.length){case 0:return new _g;case 1:return e[0];default:return new wg(e)}}function Cg(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=[],s=[],u=-1,c=null;if(i.forEach(function(e){var n=e.offset,i=n==u,l=i&&c||{};Object.keys(e).forEach(function(n){var i=n,s=e[n];if("offset"!==n)switch(i=t.normalizePropertyName(i,a),s){case"!":s=r[n];break;case dg:s=o[n];break;default:s=t.normalizeStyleValue(n,i,s,a)}l[i]=s}),i||s.push(l),c=l,u=n}),a.length){var l="\n - ";throw new Error("Unable to animate due to the following errors:".concat(l).concat(a.join(l)))}return s}function Eg(e,t,n,i){switch(t){case"start":e.onStart(function(){return i(n&&Og(n,"start",e))});break;case"done":e.onDone(function(){return i(n&&Og(n,"done",e))});break;case"destroy":e.onDestroy(function(){return i(n&&Og(n,"destroy",e))})}}function Og(e,t,n){var i=n.totalTime,r=Tg(e.element,e.triggerName,e.fromState,e.toState,t||e.phaseName,null==i?e.totalTime:i,!!n.disabled),o=e._data;return null!=o&&(r._data=o),r}function Tg(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,a=arguments.length>6?arguments[6]:void 0;return{element:e,triggerName:t,fromState:n,toState:i,phaseName:r,totalTime:o,disabled:!!a}}function Ag(e,t,n){var i;return e instanceof Map?(i=e.get(t))||e.set(t,i=n):(i=e[t])||(i=e[t]=n),i}function Pg(e){var t=e.indexOf(":");return[e.substring(1,t),e.substr(t+1)]}var Mg=function(e,t){return!1},Ig=function(e,t){return!1},Rg=function(e,t,n){return[]},Dg=xg();(Dg||"undefined"!=typeof Element)&&(Mg=kg()?function(e,t){for(;t&&t!==document.documentElement;){if(t===e)return!0;t=t.parentNode||t.host}return!1}:function(e,t){return e.contains(t)},Ig=function(){if(Dg||Element.prototype.matches)return function(e,t){return e.matches(t)};var e=Element.prototype,t=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;return t?function(e,n){return t.apply(e,[n])}:Ig}(),Rg=function(e,t,n){var i=[];if(n)for(var r=e.querySelectorAll(t),o=0;o1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).forEach(function(n){t[n]=e[n]}),t}function em(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(t)for(var i in e)n[i]=e[i];else Jg(e,n);return n}function tm(e,t,n){return n?t+":"+n+";":""}function nm(e){for(var t="",n=0;n *";case":leave":return"* => void";case":increment":return function(e,t){return parseFloat(t)>parseFloat(e)};case":decrement":return function(e,t){return parseFloat(t) *"}}(e,n);if("function"==typeof i)return void t.push(i);e=i}var r=e.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==r||r.length<4)return n.push('The provided transition expression "'.concat(e,'" is not supported')),t;var o=r[1],a=r[2],s=r[3];t.push(_m(o,s)),"<"==a[0]&&("*"!=o||"*"!=s)&&t.push(_m(s,o))}(e,n,t)}):n.push(e),n}var ym=new Set(["true","1"]),bm=new Set(["false","0"]);function _m(e,t){var n=ym.has(e)||bm.has(e),i=ym.has(t)||bm.has(t);return function(r,o){var a="*"==e||e==r,s="*"==t||t==o;return!a&&n&&"boolean"==typeof r&&(a=r?ym.has(e):bm.has(e)),!s&&i&&"boolean"==typeof o&&(s=o?ym.has(t):bm.has(t)),a&&s}}var wm=new RegExp("s*:selfs*,?","g");function km(e,t,n){return new xm(e).build(t,n)}var xm=function(){function e(t){m(this,e),this._driver=t}return b(e,[{key:"build",value:function(e,t){var n=new Sm(t);return this._resetContextStyleTimingState(n),vm(this,om(e),n)}},{key:"_resetContextStyleTimingState",value:function(e){e.currentQuerySelector="",e.collectedStyles={},e.collectedStyles[""]={},e.currentTime=0}},{key:"visitTrigger",value:function(e,t){var n=this,i=t.queryCount=0,r=t.depCount=0,o=[],a=[];return"@"==e.name.charAt(0)&&t.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),e.definitions.forEach(function(e){if(n._resetContextStyleTimingState(t),0==e.type){var s=e,u=s.name;u.toString().split(/\s*,\s*/).forEach(function(e){s.name=e,o.push(n.visitState(s,t))}),s.name=u}else if(1==e.type){var c=n.visitTransition(e,t);i+=c.queryCount,r+=c.depCount,a.push(c)}else t.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:e.name,states:o,transitions:a,queryCount:i,depCount:r,options:null}}},{key:"visitState",value:function(e,t){var n=this.visitStyle(e.styles,t),i=e.options&&e.options.params||null;if(n.containsDynamicStyles){var r=new Set,o=i||{};if(n.styles.forEach(function(e){if(Cm(e)){var t=e;Object.keys(t).forEach(function(e){sm(t[e]).forEach(function(e){o.hasOwnProperty(e)||r.add(e)})})}}),r.size){var a=cm(r.values());t.errors.push('state("'.concat(e.name,'", ...) must define default values for all the following style substitutions: ').concat(a.join(", ")))}}return{type:0,name:e.name,style:n,options:i?{params:i}:null}}},{key:"visitTransition",value:function(e,t){t.queryCount=0,t.depCount=0;var n=vm(this,om(e.animation),t);return{type:1,matchers:mm(e.expr,t.errors),animation:n,queryCount:t.queryCount,depCount:t.depCount,options:Em(e.options)}}},{key:"visitSequence",value:function(e,t){var n=this;return{type:2,steps:e.steps.map(function(e){return vm(n,e,t)}),options:Em(e.options)}}},{key:"visitGroup",value:function(e,t){var n=this,i=t.currentTime,r=0,o=e.steps.map(function(e){t.currentTime=i;var o=vm(n,e,t);return r=Math.max(r,t.currentTime),o});return t.currentTime=r,{type:3,steps:o,options:Em(e.options)}}},{key:"visitAnimate",value:function(e,t){var n=function(e,t){var n=null;if(e.hasOwnProperty("duration"))n=e;else if("number"==typeof e)return Om(Zg(e,t).duration,0,"");var i=e;if(i.split(/\s+/).some(function(e){return"{"==e.charAt(0)&&"{"==e.charAt(1)})){var r=Om(0,0,"");return r.dynamic=!0,r.strValue=i,r}return Om((n=n||Zg(i,t)).duration,n.delay,n.easing)}(e.timings,t.errors);t.currentAnimateTimings=n;var i,r=e.styles?e.styles:gg({});if(5==r.type)i=this.visitKeyframes(r,t);else{var o=e.styles,a=!1;if(!o){a=!0;var s={};n.easing&&(s.easing=n.easing),o=gg(s)}t.currentTime+=n.duration+n.delay;var u=this.visitStyle(o,t);u.isEmptyStep=a,i=u}return t.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}},{key:"visitStyle",value:function(e,t){var n=this._makeStyleAst(e,t);return this._validateStyleAst(n,t),n}},{key:"_makeStyleAst",value:function(e,t){var n=[];Array.isArray(e.styles)?e.styles.forEach(function(e){"string"==typeof e?e==dg?n.push(e):t.errors.push("The provided style string value ".concat(e," is not allowed.")):n.push(e)}):n.push(e.styles);var i=!1,r=null;return n.forEach(function(e){if(Cm(e)){var t=e,n=t.easing;if(n&&(r=n,delete t.easing),!i)for(var o in t)if(t[o].toString().indexOf("{{")>=0){i=!0;break}}}),{type:6,styles:n,easing:r,offset:e.offset,containsDynamicStyles:i,options:null}}},{key:"_validateStyleAst",value:function(e,t){var n=this,i=t.currentAnimateTimings,r=t.currentTime,o=t.currentTime;i&&o>0&&(o-=i.duration+i.delay),e.styles.forEach(function(e){"string"!=typeof e&&Object.keys(e).forEach(function(i){if(n._driver.validateStyleProperty(i)){var a=t.collectedStyles[t.currentQuerySelector],s=a[i],u=!0;s&&(o!=r&&o>=s.startTime&&r<=s.endTime&&(t.errors.push('The CSS property "'.concat(i,'" that exists between the times of "').concat(s.startTime,'ms" and "').concat(s.endTime,'ms" is also being animated in a parallel animation between the times of "').concat(o,'ms" and "').concat(r,'ms"')),u=!1),o=s.startTime),u&&(a[i]={startTime:o,endTime:r}),t.options&&function(e,t,n){var i=t.params||{},r=sm(e);r.length&&r.forEach(function(e){i.hasOwnProperty(e)||n.push("Unable to resolve the local animation param ".concat(e," in the given list of values"))})}(e[i],t.options,t.errors)}else t.errors.push('The provided animation property "'.concat(i,'" is not a supported CSS property for animations'))})})}},{key:"visitKeyframes",value:function(e,t){var n=this,i={type:5,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push("keyframes() must be placed inside of a call to animate()"),i;var r=0,o=[],a=!1,s=!1,u=0,c=e.steps.map(function(e){var i=n._makeStyleAst(e,t),c=null!=i.offset?i.offset:function(e){if("string"==typeof e)return null;var t=null;if(Array.isArray(e))e.forEach(function(e){if(Cm(e)&&e.hasOwnProperty("offset")){var n=e;t=parseFloat(n.offset),delete n.offset}});else if(Cm(e)&&e.hasOwnProperty("offset")){var n=e;t=parseFloat(n.offset),delete n.offset}return t}(i.styles),l=0;return null!=c&&(r++,l=i.offset=c),s=s||l<0||l>1,a=a||l0&&r0?r==d?1:h*r:o[r],s=a*v;t.currentTime=f+p.delay+s,p.duration=s,n._validateStyleAst(e,t),e.offset=a,i.styles.push(e)}),i}},{key:"visitReference",value:function(e,t){return{type:8,animation:vm(this,om(e.animation),t),options:Em(e.options)}}},{key:"visitAnimateChild",value:function(e,t){return t.depCount++,{type:9,options:Em(e.options)}}},{key:"visitAnimateRef",value:function(e,t){return{type:10,animation:this.visitReference(e.animation,t),options:Em(e.options)}}},{key:"visitQuery",value:function(e,n){var i=n.currentQuerySelector,r=e.options||{};n.queryCount++,n.currentQuery=e;var o=t(function(e){var t=!!e.split(/\s*,\s*/).find(function(e){return":self"==e});return t&&(e=e.replace(wm,"")),[e=e.replace(/@\*/g,Xg).replace(/@\w+/g,function(e){return Xg+"-"+e.substr(1)}).replace(/:animating/g,Kg),t]}(e.selector),2),a=o[0],s=o[1];n.currentQuerySelector=i.length?i+" "+a:a,Ag(n.collectedStyles,n.currentQuerySelector,{});var u=vm(this,om(e.animation),n);return n.currentQuery=null,n.currentQuerySelector=i,{type:11,selector:a,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:u,originalSelector:e.selector,options:Em(e.options)}}},{key:"visitStagger",value:function(e,t){t.currentQuery||t.errors.push("stagger() can only be used inside of query()");var n="full"===e.timings?{duration:0,delay:0,easing:"full"}:Zg(e.timings,t.errors,!0);return{type:12,animation:vm(this,om(e.animation),t),timings:n,options:null}}}]),e}(),Sm=function e(t){m(this,e),this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null};function Cm(e){return!Array.isArray(e)&&"object"==typeof e}function Em(e){return e?(e=Jg(e)).params&&(e.params=function(e){return e?Jg(e):null}(e.params)):e={},e}function Om(e,t,n){return{duration:e,delay:t,easing:n}}function Tm(e,t,n,i,r,o){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,s=arguments.length>7&&void 0!==arguments[7]&&arguments[7];return{type:1,element:e,keyframes:t,preStyleProps:n,postStyleProps:i,duration:r,delay:o,totalTime:r+o,easing:a,subTimeline:s}}var Am=function(){function e(){m(this,e),this._map=new Map}return b(e,[{key:"consume",value:function(e){var t=this._map.get(e);return t?this._map.delete(e):t=[],t}},{key:"append",value:function(e,t){var n,i=this._map.get(e);i||this._map.set(e,i=[]),(n=i).push.apply(n,v(t))}},{key:"has",value:function(e){return this._map.has(e)}},{key:"clear",value:function(){this._map.clear()}}]),e}(),Pm=new RegExp(":enter","g"),Mm=new RegExp(":leave","g");function Im(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},s=arguments.length>7?arguments[7]:void 0,u=arguments.length>8?arguments[8]:void 0,c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:[];return(new Rm).buildKeyframes(e,t,n,i,r,o,a,s,u,c)}var Rm=function(){function e(){m(this,e)}return b(e,[{key:"buildKeyframes",value:function(e,t,n,i,r,o,a,s,u){var c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:[];u=u||new Am;var l=new Nm(e,t,u,i,r,c,[]);l.options=s,l.currentTimeline.setStyles([o],null,l.errors,s),vm(this,n,l);var h=l.timelines.filter(function(e){return e.containsAnimation()});if(h.length&&Object.keys(a).length){var d=h[h.length-1];d.allowOnlyTimelineStyles()||d.setStyles([a],null,l.errors,s)}return h.length?h.map(function(e){return e.buildKeyframes()}):[Tm(t,[],[],[],0,0,"",!1)]}},{key:"visitTrigger",value:function(e,t){}},{key:"visitState",value:function(e,t){}},{key:"visitTransition",value:function(e,t){}},{key:"visitAnimateChild",value:function(e,t){var n=t.subInstructions.consume(t.element);if(n){var i=t.createSubContext(e.options),r=t.currentTimeline.currentTime,o=this._visitSubInstructions(n,i,i.options);r!=o&&t.transformIntoNewTimeline(o)}t.previousNode=e}},{key:"visitAnimateRef",value:function(e,t){var n=t.createSubContext(e.options);n.transformIntoNewTimeline(),this.visitReference(e.animation,n),t.transformIntoNewTimeline(n.currentTimeline.currentTime),t.previousNode=e}},{key:"_visitSubInstructions",value:function(e,t,n){var i=t.currentTimeline.currentTime,r=null!=n.duration?$g(n.duration):null,o=null!=n.delay?$g(n.delay):null;return 0!==r&&e.forEach(function(e){var n=t.appendInstructionToTimeline(e,r,o);i=Math.max(i,n.duration+n.delay)}),i}},{key:"visitReference",value:function(e,t){t.updateOptions(e.options,!0),vm(this,e.animation,t),t.previousNode=e}},{key:"visitSequence",value:function(e,t){var n=this,i=t.subContextCount,r=t,o=e.options;if(o&&(o.params||o.delay)&&((r=t.createSubContext(o)).transformIntoNewTimeline(),null!=o.delay)){6==r.previousNode.type&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=Dm);var a=$g(o.delay);r.delayNextStep(a)}e.steps.length&&(e.steps.forEach(function(e){return vm(n,e,r)}),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),t.previousNode=e}},{key:"visitGroup",value:function(e,t){var n=this,i=[],r=t.currentTimeline.currentTime,o=e.options&&e.options.delay?$g(e.options.delay):0;e.steps.forEach(function(a){var s=t.createSubContext(e.options);o&&s.delayNextStep(o),vm(n,a,s),r=Math.max(r,s.currentTimeline.currentTime),i.push(s.currentTimeline)}),i.forEach(function(e){return t.currentTimeline.mergeTimelineCollectedStyles(e)}),t.transformIntoNewTimeline(r),t.previousNode=e}},{key:"_visitTiming",value:function(e,t){if(e.dynamic){var n=e.strValue;return Zg(t.params?um(n,t.params,t.errors):n,t.errors)}return{duration:e.duration,delay:e.delay,easing:e.easing}}},{key:"visitAnimate",value:function(e,t){var n=t.currentAnimateTimings=this._visitTiming(e.timings,t),i=t.currentTimeline;n.delay&&(t.incrementTime(n.delay),i.snapshotCurrentStyles());var r=e.style;5==r.type?this.visitKeyframes(r,t):(t.incrementTime(n.duration),this.visitStyle(r,t),i.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}},{key:"visitStyle",value:function(e,t){var n=t.currentTimeline,i=t.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();var r=i&&i.easing||e.easing;e.isEmptyStep?n.applyEmptyStep(r):n.setStyles(e.styles,r,t.errors,t.options),t.previousNode=e}},{key:"visitKeyframes",value:function(e,t){var n=t.currentAnimateTimings,i=t.currentTimeline.duration,r=n.duration,o=t.createSubContext().currentTimeline;o.easing=n.easing,e.styles.forEach(function(e){o.forwardTime((e.offset||0)*r),o.setStyles(e.styles,e.easing,t.errors,t.options),o.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(o),t.transformIntoNewTimeline(i+r),t.previousNode=e}},{key:"visitQuery",value:function(e,t){var n=this,i=t.currentTimeline.currentTime,r=e.options||{},o=r.delay?$g(r.delay):0;o&&(6===t.previousNode.type||0==i&&t.currentTimeline.getCurrentStyleProperties().length)&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=Dm);var a=i,s=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!r.optional,t.errors);t.currentQueryTotal=s.length;var u=null;s.forEach(function(i,r){t.currentQueryIndex=r;var s=t.createSubContext(e.options,i);o&&s.delayNextStep(o),i===t.element&&(u=s.currentTimeline),vm(n,e.animation,s),s.currentTimeline.applyStylesToKeyframe(),a=Math.max(a,s.currentTimeline.currentTime)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(a),u&&(t.currentTimeline.mergeTimelineCollectedStyles(u),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}},{key:"visitStagger",value:function(e,t){var n=t.parentContext,i=t.currentTimeline,r=e.timings,o=Math.abs(r.duration),a=o*(t.currentQueryTotal-1),s=o*t.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":s=a-s;break;case"full":s=n.currentStaggerTime}var u=t.currentTimeline;s&&u.delayNextStep(s);var c=u.currentTime;vm(this,e.animation,t),t.previousNode=e,n.currentStaggerTime=i.currentTime-c+(i.startTime-n.currentTimeline.startTime)}}]),e}(),Dm={},Nm=function(){function e(t,n,i,r,o,a,s,u){m(this,e),this._driver=t,this.element=n,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=o,this.errors=a,this.timelines=s,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Dm,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=u||new Lm(this._driver,n,0),s.push(this.currentTimeline)}return b(e,[{key:"params",get:function(){return this.options.params}},{key:"updateOptions",value:function(e,t){var n=this;if(e){var i=e,r=this.options;null!=i.duration&&(r.duration=$g(i.duration)),null!=i.delay&&(r.delay=$g(i.delay));var o=i.params;if(o){var a=r.params;a||(a=this.options.params={}),Object.keys(o).forEach(function(e){(!t||!a.hasOwnProperty(e))&&(a[e]=um(o[e],a,n.errors))})}}}},{key:"_copyOptions",value:function(){var e={};if(this.options){var t=this.options.params;if(t){var n=e.params={};Object.keys(t).forEach(function(e){n[e]=t[e]})}}return e}},{key:"createSubContext",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1?arguments[1]:void 0,i=arguments.length>2?arguments[2]:void 0,r=n||this.element,o=new e(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,i||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(t),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}},{key:"transformIntoNewTimeline",value:function(e){return this.previousNode=Dm,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}},{key:"appendInstructionToTimeline",value:function(e,t,n){var i={duration:null!=t?t:e.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+e.delay,easing:""},r=new jm(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,i,e.stretchStartingKeyframe);return this.timelines.push(r),i}},{key:"incrementTime",value:function(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}},{key:"delayNextStep",value:function(e){e>0&&this.currentTimeline.delayNextStep(e)}},{key:"invokeQuery",value:function(e,t,n,i,r,o){var a=[];if(i&&a.push(this.element),e.length>0){e=(e=e.replace(Pm,"."+this._enterClassName)).replace(Mm,"."+this._leaveClassName);var s=this._driver.query(this.element,e,1!=n);0!==n&&(s=n<0?s.slice(s.length+n,s.length):s.slice(0,n)),a.push.apply(a,v(s))}return!r&&0==a.length&&o.push('`query("'.concat(t,'")` returned zero elements. (Use `query("').concat(t,'", { optional: true })` if you wish to allow this.)')),a}}]),e}(),Lm=function(){function e(t,n,i,r){m(this,e),this._driver=t,this.element=n,this.startTime=i,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(n),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(n,this._localTimelineStyles)),this._loadKeyframe()}return b(e,[{key:"containsAnimation",value:function(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}},{key:"getCurrentStyleProperties",value:function(){return Object.keys(this._currentKeyframe)}},{key:"currentTime",get:function(){return this.startTime+this.duration}},{key:"delayNextStep",value:function(e){var t=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e}},{key:"fork",value:function(t,n){return this.applyStylesToKeyframe(),new e(this._driver,t,n||this.currentTime,this._elementTimelineStylesLookup)}},{key:"_loadKeyframe",value:function(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}},{key:"forwardFrame",value:function(){this.duration+=1,this._loadKeyframe()}},{key:"forwardTime",value:function(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}},{key:"_updateStyle",value:function(e,t){this._localTimelineStyles[e]=t,this._globalTimelineStyles[e]=t,this._styleSummary[e]={time:this.currentTime,value:t}}},{key:"allowOnlyTimelineStyles",value:function(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}},{key:"applyEmptyStep",value:function(e){var t=this;e&&(this._previousKeyframe.easing=e),Object.keys(this._globalTimelineStyles).forEach(function(e){t._backFill[e]=t._globalTimelineStyles[e]||dg,t._currentKeyframe[e]=dg}),this._currentEmptyStepKeyframe=this._currentKeyframe}},{key:"setStyles",value:function(e,t,n,i){var r=this;t&&(this._previousKeyframe.easing=t);var o=i&&i.params||{},a=function(e,t){var n,i={};return e.forEach(function(e){"*"===e?(n=n||Object.keys(t)).forEach(function(e){i[e]=dg}):em(e,!1,i)}),i}(e,this._globalTimelineStyles);Object.keys(a).forEach(function(e){var t=um(a[e],o,n);r._pendingStyles[e]=t,r._localTimelineStyles.hasOwnProperty(e)||(r._backFill[e]=r._globalTimelineStyles.hasOwnProperty(e)?r._globalTimelineStyles[e]:dg),r._updateStyle(e,t)})}},{key:"applyStylesToKeyframe",value:function(){var e=this,t=this._pendingStyles,n=Object.keys(t);0!=n.length&&(this._pendingStyles={},n.forEach(function(n){e._currentKeyframe[n]=t[n]}),Object.keys(this._localTimelineStyles).forEach(function(t){e._currentKeyframe.hasOwnProperty(t)||(e._currentKeyframe[t]=e._localTimelineStyles[t])}))}},{key:"snapshotCurrentStyles",value:function(){var e=this;Object.keys(this._localTimelineStyles).forEach(function(t){var n=e._localTimelineStyles[t];e._pendingStyles[t]=n,e._updateStyle(t,n)})}},{key:"getFinalKeyframe",value:function(){return this._keyframes.get(this.duration)}},{key:"properties",get:function(){var e=[];for(var t in this._currentKeyframe)e.push(t);return e}},{key:"mergeTimelineCollectedStyles",value:function(e){var t=this;Object.keys(e._styleSummary).forEach(function(n){var i=t._styleSummary[n],r=e._styleSummary[n];(!i||r.time>i.time)&&t._updateStyle(n,r.value)})}},{key:"buildKeyframes",value:function(){var e=this;this.applyStylesToKeyframe();var t=new Set,n=new Set,i=1===this._keyframes.size&&0===this.duration,r=[];this._keyframes.forEach(function(o,a){var s=em(o,!0);Object.keys(s).forEach(function(e){var i=s[e];"!"==i?t.add(e):i==dg&&n.add(e)}),i||(s.offset=a/e.duration),r.push(s)});var o=t.size?cm(t.values()):[],a=n.size?cm(n.values()):[];if(i){var s=r[0],u=Jg(s);s.offset=0,u.offset=1,r=[s,u]}return Tm(this.element,r,o,a,this.duration,this.startTime,this.easing,!1)}}]),e}(),jm=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s){var u,c=arguments.length>6&&void 0!==arguments[6]&&arguments[6];return m(this,n),(u=t.call(this,e,i,s.delay)).keyframes=r,u.preStyleProps=o,u.postStyleProps=a,u._stretchStartingKeyframe=c,u.timings={duration:s.duration,delay:s.delay,easing:s.easing},u}return b(n,[{key:"containsAnimation",value:function(){return this.keyframes.length>1}},{key:"buildKeyframes",value:function(){var e=this.keyframes,t=this.timings,n=t.delay,i=t.duration,r=t.easing;if(this._stretchStartingKeyframe&&n){var o=[],a=i+n,s=n/a,u=em(e[0],!1);u.offset=0,o.push(u);var c=em(e[0],!1);c.offset=Fm(s),o.push(c);for(var l=e.length-1,h=1;h<=l;h++){var d=em(e[h],!1);d.offset=Fm((n+d.offset*i)/a),o.push(d)}i=a,n=0,r="",e=o}return Tm(this.element,e,this.preStyleProps,this.postStyleProps,i,n,r,!0)}}]),n}(Lm);function Fm(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=Math.pow(10,t-1);return Math.round(e*n)/n}var Bm=function e(){m(this,e)},Vm=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"normalizePropertyName",value:function(e,t){return hm(e)}},{key:"normalizeStyleValue",value:function(e,t,n,i){var r="",o=n.toString().trim();if(zm[t]&&0!==n&&"0"!==n)if("number"==typeof n)r="px";else{var a=n.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&i.push("Please provide a CSS unit value for ".concat(e,":").concat(n))}return o+r}}]),n}(Bm),zm=function(e){var t={};return e.forEach(function(e){return t[e]=!0}),t}("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".split(","));function Um(e,t,n,i,r,o,a,s,u,c,l,h,d){return{type:0,element:e,triggerName:t,isRemovalTransition:r,fromState:n,fromStyles:o,toState:i,toStyles:a,timelines:s,queriedElements:u,preStyleProps:c,postStyleProps:l,totalTime:h,errors:d}}var Hm={},Gm=function(){function e(t,n,i){m(this,e),this._triggerName=t,this.ast=n,this._stateStyles=i}return b(e,[{key:"match",value:function(e,t,n,i){return function(e,t,n,i,r){return e.some(function(e){return e(t,n,i,r)})}(this.ast.matchers,e,t,n,i)}},{key:"buildStyles",value:function(e,t,n){var i=this._stateStyles["*"],r=this._stateStyles[e],o=i?i.buildStyles(t,n):{};return r?r.buildStyles(t,n):o}},{key:"build",value:function(e,t,n,i,r,o,a,s,u,c){var l=[],h=this.ast.options&&this.ast.options.params||Hm,d=this.buildStyles(n,a&&a.params||Hm,l),f=s&&s.params||Hm,p=this.buildStyles(i,f,l),v=new Set,g=new Map,m=new Map,y="void"===i,b={params:Object.assign(Object.assign({},h),f)},_=c?[]:Im(e,t,this.ast.animation,r,o,d,p,b,u,l),w=0;if(_.forEach(function(e){w=Math.max(e.duration+e.delay,w)}),l.length)return Um(t,this._triggerName,n,i,y,d,p,[],[],g,m,w,l);_.forEach(function(e){var n=e.element,i=Ag(g,n,{});e.preStyleProps.forEach(function(e){return i[e]=!0});var r=Ag(m,n,{});e.postStyleProps.forEach(function(e){return r[e]=!0}),n!==t&&v.add(n)});var k=cm(v.values());return Um(t,this._triggerName,n,i,y,d,p,_,k,g,m,w)}}]),e}(),Wm=function(){function e(t,n,i){m(this,e),this.styles=t,this.defaultParams=n,this.normalizer=i}return b(e,[{key:"buildStyles",value:function(e,t){var n=this,i={},r=Jg(this.defaultParams);return Object.keys(e).forEach(function(t){var n=e[t];null!=n&&(r[t]=n)}),this.styles.styles.forEach(function(e){if("string"!=typeof e){var o=e;Object.keys(o).forEach(function(e){var a=o[e];a.length>1&&(a=um(a,r,t));var s=n.normalizer.normalizePropertyName(e,t);a=n.normalizer.normalizeStyleValue(e,s,a,t),i[s]=a})}}),i}}]),e}(),qm=function(){function e(t,n,i){var r=this;m(this,e),this.name=t,this.ast=n,this._normalizer=i,this.transitionFactories=[],this.states={},n.states.forEach(function(e){r.states[e.name]=new Wm(e.style,e.options&&e.options.params||{},i)}),Xm(this.states,"true","1"),Xm(this.states,"false","0"),n.transitions.forEach(function(e){r.transitionFactories.push(new Gm(t,e,r.states))}),this.fallbackTransition=function(e,t,n){return new Gm(e,{type:1,animation:{type:2,steps:[],options:null},matchers:[function(e,t){return!0}],options:null,queryCount:0,depCount:0},t)}(t,this.states)}return b(e,[{key:"containsQueries",get:function(){return this.ast.queryCount>0}},{key:"matchTransition",value:function(e,t,n,i){return this.transitionFactories.find(function(r){return r.match(e,t,n,i)})||null}},{key:"matchStyles",value:function(e,t,n){return this.fallbackTransition.buildStyles(e,t,n)}}]),e}();function Xm(e,t,n){e.hasOwnProperty(t)?e.hasOwnProperty(n)||(e[n]=e[t]):e.hasOwnProperty(n)&&(e[t]=e[n])}var Ym=new Am,Km=function(){function e(t,n,i){m(this,e),this.bodyNode=t,this._driver=n,this._normalizer=i,this._animations={},this._playersById={},this.players=[]}return b(e,[{key:"register",value:function(e,t){var n=[],i=km(this._driver,t,n);if(n.length)throw new Error("Unable to build the animation due to the following errors: ".concat(n.join("\n")));this._animations[e]=i}},{key:"_buildPlayer",value:function(e,t,n){var i=e.element,r=Cg(0,this._normalizer,0,e.keyframes,t,n);return this._driver.animate(i,r,e.duration,e.delay,e.easing,[],!0)}},{key:"create",value:function(e,t){var n,i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=[],a=this._animations[e],s=new Map;if(a?(n=Im(this._driver,t,a,Gg,Wg,{},{},r,Ym,o)).forEach(function(e){var t=Ag(s,e.element,{});e.postStyleProps.forEach(function(e){return t[e]=null})}):(o.push("The requested animation doesn't exist or has already been destroyed"),n=[]),o.length)throw new Error("Unable to create the animation due to the following errors: ".concat(o.join("\n")));s.forEach(function(e,t){Object.keys(e).forEach(function(n){e[n]=i._driver.computeStyle(t,n,dg)})});var u=Sg(n.map(function(e){var t=s.get(e.element);return i._buildPlayer(e,{},t)}));return this._playersById[e]=u,u.onDestroy(function(){return i.destroy(e)}),this.players.push(u),u}},{key:"destroy",value:function(e){var t=this._getPlayer(e);t.destroy(),delete this._playersById[e];var n=this.players.indexOf(t);n>=0&&this.players.splice(n,1)}},{key:"_getPlayer",value:function(e){var t=this._playersById[e];if(!t)throw new Error("Unable to find the timeline player referenced by ".concat(e));return t}},{key:"listen",value:function(e,t,n,i){var r=Tg(t,"","","");return Eg(this._getPlayer(e),n,r,i),function(){}}},{key:"command",value:function(e,t,n,i){if("register"!=n)if("create"!=n){var r=this._getPlayer(e);switch(n){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(e)}}else this.create(e,t,i[0]||{});else this.register(e,i[0])}}]),e}(),$m="ng-animate-queued",Qm="ng-animate-disabled",Zm=".ng-animate-disabled",Jm=[],ey={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},ty={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},ny="__ng_removed",iy=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";m(this,e),this.namespaceId=n;var i=t&&t.hasOwnProperty("value");if(this.value=function(e){return null!=e?e:null}(i?t.value:t),i){var r=Jg(t);delete r.value,this.options=r}else this.options={};this.options.params||(this.options.params={})}return b(e,[{key:"params",get:function(){return this.options.params}},{key:"absorbOptions",value:function(e){var t=e.params;if(t){var n=this.options.params;Object.keys(t).forEach(function(e){null==n[e]&&(n[e]=t[e])})}}}]),e}(),ry="void",oy=new iy(ry),ay=function(){function e(t,n,i){m(this,e),this.id=t,this.hostElement=n,this._engine=i,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,py(n,this._hostClassName)}return b(e,[{key:"listen",value:function(e,t,n,i){var r=this;if(!this._triggers.hasOwnProperty(t))throw new Error('Unable to listen on the animation trigger event "'.concat(n,'" because the animation trigger "').concat(t,"\" doesn't exist!"));if(null==n||0==n.length)throw new Error('Unable to listen on the animation trigger "'.concat(t,'" because the provided event is undefined!'));if(!function(e){return"start"==e||"done"==e}(n))throw new Error('The provided animation trigger event "'.concat(n,'" for the animation trigger "').concat(t,'" is not supported!'));var o=Ag(this._elementListeners,e,[]),a={name:t,phase:n,callback:i};o.push(a);var s=Ag(this._engine.statesByElement,e,{});return s.hasOwnProperty(t)||(py(e,qg),py(e,qg+"-"+t),s[t]=oy),function(){r._engine.afterFlush(function(){var e=o.indexOf(a);e>=0&&o.splice(e,1),r._triggers[t]||delete s[t]})}}},{key:"register",value:function(e,t){return!this._triggers[e]&&(this._triggers[e]=t,!0)}},{key:"_getTrigger",value:function(e){var t=this._triggers[e];if(!t)throw new Error('The provided animation trigger "'.concat(e,'" has not been registered!'));return t}},{key:"trigger",value:function(e,t,n){var i=this,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=this._getTrigger(t),a=new uy(this.id,t,e),s=this._engine.statesByElement.get(e);s||(py(e,qg),py(e,qg+"-"+t),this._engine.statesByElement.set(e,s={}));var u=s[t],c=new iy(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&u&&c.absorbOptions(u.options),s[t]=c,u||(u=oy),c.value===ry||u.value!==c.value){var l=Ag(this._engine.playersByElement,e,[]);l.forEach(function(e){e.namespaceId==i.id&&e.triggerName==t&&e.queued&&e.destroy()});var h=o.matchTransition(u.value,c.value,e,c.params),d=!1;if(!h){if(!r)return;h=o.fallbackTransition,d=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:h,fromState:u,toState:c,player:a,isFallbackTransition:d}),d||(py(e,$m),a.onStart(function(){vy(e,$m)})),a.onDone(function(){var t=i.players.indexOf(a);t>=0&&i.players.splice(t,1);var n=i._engine.playersByElement.get(e);if(n){var r=n.indexOf(a);r>=0&&n.splice(r,1)}}),this.players.push(a),l.push(a),a}if(!function(e,t){var n=Object.keys(e),i=Object.keys(t);if(n.length!=i.length)return!1;for(var r=0;r=0){for(var i=!1,r=n;r>=0;r--)if(this.driver.containsElement(this._namespaceList[r].hostElement,t)){this._namespaceList.splice(r+1,0,e),i=!0;break}i||this._namespaceList.splice(0,0,e)}else this._namespaceList.push(e);return this.namespacesByHostElement.set(t,e),e}},{key:"register",value:function(e,t){var n=this._namespaceLookup[e];return n||(n=this.createNamespace(e,t)),n}},{key:"registerTrigger",value:function(e,t,n){var i=this._namespaceLookup[e];i&&i.register(t,n)&&this.totalAnimations++}},{key:"destroy",value:function(e,t){var n=this;if(e){var i=this._fetchNamespace(e);this.afterFlush(function(){n.namespacesByHostElement.delete(i.hostElement),delete n._namespaceLookup[e];var t=n._namespaceList.indexOf(i);t>=0&&n._namespaceList.splice(t,1)}),this.afterFlushAnimationsDone(function(){return i.destroy(t)})}}},{key:"_fetchNamespace",value:function(e){return this._namespaceLookup[e]}},{key:"fetchNamespacesByElement",value:function(e){var t=new Set,n=this.statesByElement.get(e);if(n)for(var i=Object.keys(n),r=0;r=0&&this.collectedLeaveElements.splice(o,1)}if(e){var a=this._fetchNamespace(e);a&&a.insertNode(t,n)}i&&this.collectEnterElement(t)}}},{key:"collectEnterElement",value:function(e){this.collectedEnterElements.push(e)}},{key:"markElementAsDisabled",value:function(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),py(e,Qm)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),vy(e,Qm))}},{key:"removeNode",value:function(e,t,n,i){if(cy(t)){var r=e?this._fetchNamespace(e):null;if(r?r.removeNode(t,i):this.markElementAsRemoved(e,t,!1,i),n){var o=this.namespacesByHostElement.get(t);o&&o.id!==e&&o.removeNode(t,i)}}else this._onRemovalComplete(t,i)}},{key:"markElementAsRemoved",value:function(e,t,n,i){this.collectedLeaveElements.push(t),t[ny]={namespaceId:e,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}},{key:"listen",value:function(e,t,n,i,r){return cy(t)?this._fetchNamespace(e).listen(t,n,i,r):function(){}}},{key:"_buildInstruction",value:function(e,t,n,i,r){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,n,i,e.fromState.options,e.toState.options,t,r)}},{key:"destroyInnerAnimations",value:function(e){var t=this,n=this.driver.query(e,Xg,!0);n.forEach(function(e){return t.destroyActiveAnimationsForElement(e)}),0!=this.playersByQueriedElement.size&&(n=this.driver.query(e,Kg,!0)).forEach(function(e){return t.finishActiveQueriedAnimationOnElement(e)})}},{key:"destroyActiveAnimationsForElement",value:function(e){var t=this.playersByElement.get(e);t&&t.forEach(function(e){e.queued?e.markedForDestroy=!0:e.destroy()})}},{key:"finishActiveQueriedAnimationOnElement",value:function(e){var t=this.playersByQueriedElement.get(e);t&&t.forEach(function(e){return e.finish()})}},{key:"whenRenderingDone",value:function(){var e=this;return new Promise(function(t){if(e.players.length)return Sg(e.players).onDone(function(){return t()});t()})}},{key:"processLeaveNode",value:function(e){var t=this,n=e[ny];if(n&&n.setForRemoval){if(e[ny]=ey,n.namespaceId){this.destroyInnerAnimations(e);var i=this._fetchNamespace(n.namespaceId);i&&i.clearElementCache(e)}this._onRemovalComplete(e,n.setForRemoval)}this.driver.matchesElement(e,Zm)&&this.markElementAsDisabled(e,!1),this.driver.query(e,Zm,!0).forEach(function(e){t.markElementAsDisabled(e,!1)})}},{key:"flush",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,n=[];if(this.newHostElements.size&&(this.newHostElements.forEach(function(t,n){return e._balanceNamespaceList(t,n)}),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(var i=0;i=0;O--)this._namespaceList[O].drainQueuedTransitions(t).forEach(function(e){var t=e.player,o=e.element;if(C.push(t),n.collectedEnterElements.length){var l=o[ny];if(l&&l.setForMove)return void t.destroy()}var d=!h||!n.driver.containsElement(h,o),f=x.get(o),v=p.get(o),g=n._buildInstruction(e,i,v,f,d);if(g.errors&&g.errors.length)E.push(g);else{if(d)return t.onStart(function(){return rm(o,g.fromStyles)}),t.onDestroy(function(){return im(o,g.toStyles)}),void r.push(t);if(e.isFallbackTransition)return t.onStart(function(){return rm(o,g.fromStyles)}),t.onDestroy(function(){return im(o,g.toStyles)}),void r.push(t);g.timelines.forEach(function(e){return e.stretchStartingKeyframe=!0}),i.append(o,g.timelines),a.push({instruction:g,player:t,element:o}),g.queriedElements.forEach(function(e){return Ag(s,e,[]).push(t)}),g.preStyleProps.forEach(function(e,t){var n=Object.keys(e);if(n.length){var i=u.get(t);i||u.set(t,i=new Set),n.forEach(function(e){return i.add(e)})}}),g.postStyleProps.forEach(function(e,t){var n=Object.keys(e),i=c.get(t);i||c.set(t,i=new Set),n.forEach(function(e){return i.add(e)})})}});if(E.length){var T=[];E.forEach(function(e){T.push("@".concat(e.triggerName," has failed due to:\n")),e.errors.forEach(function(e){return T.push("- ".concat(e,"\n"))})}),C.forEach(function(e){return e.destroy()}),this.reportError(T)}var A=new Map,P=new Map;a.forEach(function(e){var t=e.element;i.has(t)&&(P.set(t,t),n._beforeAnimationBuild(e.player.namespaceId,e.instruction,A))}),r.forEach(function(e){var t=e.element;n._getPreviousPlayers(t,!1,e.namespaceId,e.triggerName,null).forEach(function(e){Ag(A,t,[]).push(e),e.destroy()})});var M=m.filter(function(e){return yy(e,u,c)}),I=new Map;hy(I,this.driver,b,c,dg).forEach(function(e){yy(e,u,c)&&M.push(e)});var R=new Map;f.forEach(function(e,t){hy(R,n.driver,new Set(e),u,"!")}),M.forEach(function(e){var t=I.get(e),n=R.get(e);I.set(e,Object.assign(Object.assign({},t),n))});var D=[],N=[],L={};a.forEach(function(e){var t=e.element,a=e.player,s=e.instruction;if(i.has(t)){if(l.has(t))return a.onDestroy(function(){return im(t,s.toStyles)}),a.disabled=!0,a.overrideTotalTime(s.totalTime),void r.push(a);var u=L;if(P.size>1){for(var c=t,h=[];c=c.parentNode;){var d=P.get(c);if(d){u=d;break}h.push(c)}h.forEach(function(e){return P.set(e,u)})}var f=n._buildAnimation(a.namespaceId,s,A,o,R,I);if(a.setRealPlayer(f),u===L)D.push(a);else{var p=n.playersByElement.get(u);p&&p.length&&(a.parentPlayer=Sg(p)),r.push(a)}}else rm(t,s.fromStyles),a.onDestroy(function(){return im(t,s.toStyles)}),N.push(a),l.has(t)&&r.push(a)}),N.forEach(function(e){var t=o.get(e.element);if(t&&t.length){var n=Sg(t);e.setRealPlayer(n)}}),r.forEach(function(e){e.parentPlayer?e.syncPlayerEvents(e.parentPlayer):e.destroy()});for(var j=0;j0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,n):new _g(e.duration,e.delay)}}]),e}(),uy=function(){function e(t,n,i){m(this,e),this.namespaceId=t,this.triggerName=n,this.element=i,this._player=new _g,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}return b(e,[{key:"setRealPlayer",value:function(e){var t=this;this._containsRealPlayer||(this._player=e,Object.keys(this._queuedCallbacks).forEach(function(n){t._queuedCallbacks[n].forEach(function(t){return Eg(e,n,void 0,t)})}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}},{key:"getRealPlayer",value:function(){return this._player}},{key:"overrideTotalTime",value:function(e){this.totalTime=e}},{key:"syncPlayerEvents",value:function(e){var t=this,n=this._player;n.triggerCallback&&e.onStart(function(){return n.triggerCallback("start")}),e.onDone(function(){return t.finish()}),e.onDestroy(function(){return t.destroy()})}},{key:"_queueEvent",value:function(e,t){Ag(this._queuedCallbacks,e,[]).push(t)}},{key:"onDone",value:function(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}},{key:"onStart",value:function(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}},{key:"onDestroy",value:function(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}},{key:"init",value:function(){this._player.init()}},{key:"hasStarted",value:function(){return!this.queued&&this._player.hasStarted()}},{key:"play",value:function(){!this.queued&&this._player.play()}},{key:"pause",value:function(){!this.queued&&this._player.pause()}},{key:"restart",value:function(){!this.queued&&this._player.restart()}},{key:"finish",value:function(){this._player.finish()}},{key:"destroy",value:function(){this.destroyed=!0,this._player.destroy()}},{key:"reset",value:function(){!this.queued&&this._player.reset()}},{key:"setPosition",value:function(e){this.queued||this._player.setPosition(e)}},{key:"getPosition",value:function(){return this.queued?0:this._player.getPosition()}},{key:"triggerCallback",value:function(e){var t=this._player;t.triggerCallback&&t.triggerCallback(e)}}]),e}();function cy(e){return e&&1===e.nodeType}function ly(e,t){var n=e.style.display;return e.style.display=null!=t?t:"none",n}function hy(e,t,n,i,r){var o=[];n.forEach(function(e){return o.push(ly(e))});var a=[];i.forEach(function(n,i){var o={};n.forEach(function(e){var n=o[e]=t.computeStyle(i,e,r);(!n||0==n.length)&&(i[ny]=ty,a.push(i))}),e.set(i,o)});var s=0;return n.forEach(function(e){return ly(e,o[s++])}),a}function dy(e,t){var n=new Map;if(e.forEach(function(e){return n.set(e,[])}),0==t.length)return n;var i=new Set(t),r=new Map;function o(e){if(!e)return 1;var t=r.get(e);if(t)return t;var a=e.parentNode;return t=n.has(a)?a:i.has(a)?1:o(a),r.set(e,t),t}return t.forEach(function(e){var t=o(e);1!==t&&n.get(t).push(e)}),n}var fy="$$classes";function py(e,t){if(e.classList)e.classList.add(t);else{var n=e[fy];n||(n=e[fy]={}),n[t]=!0}}function vy(e,t){if(e.classList)e.classList.remove(t);else{var n=e[fy];n&&delete n[t]}}function gy(e,t,n){Sg(n).onDone(function(){return e.processLeaveNode(t)})}function my(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:-1;this._transitionEngine.flush(e)}},{key:"players",get:function(){return this._transitionEngine.players.concat(this._timelineEngine.players)}},{key:"whenRenderingDone",value:function(){return this._transitionEngine.whenRenderingDone()}}]),e}();function _y(e,t){var n=null,i=null;return Array.isArray(t)&&t.length?(n=ky(t[0]),t.length>1&&(i=ky(t[t.length-1]))):t&&(n=ky(t)),n||i?new wy(e,n,i):null}var wy=function(){function e(t,n,i){m(this,e),this._element=t,this._startStyles=n,this._endStyles=i,this._state=0;var r=e.initialStylesByElement.get(t);r||e.initialStylesByElement.set(t,r={}),this._initialStyles=r}return b(e,[{key:"start",value:function(){this._state<1&&(this._startStyles&&im(this._element,this._startStyles,this._initialStyles),this._state=1)}},{key:"finish",value:function(){this.start(),this._state<2&&(im(this._element,this._initialStyles),this._endStyles&&(im(this._element,this._endStyles),this._endStyles=null),this._state=1)}},{key:"destroy",value:function(){this.finish(),this._state<3&&(e.initialStylesByElement.delete(this._element),this._startStyles&&(rm(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(rm(this._element,this._endStyles),this._endStyles=null),im(this._element,this._initialStyles),this._state=3)}}]),e}();function ky(e){for(var t=null,n=Object.keys(e),i=0;i=this._delay&&n>=this._duration&&this.finish()}},{key:"finish",value:function(){this._finished||(this._finished=!0,this._onDoneFn(),Py(this._element,this._eventFn,!0))}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this.finish(),function(e,t){var n=Iy(e,"").split(","),i=Ay(n,t);i>=0&&(n.splice(i,1),My(e,"",n.join(",")))}(this._element,this._name))}}]),e}();function Oy(e,t,n){My(e,"PlayState",n,Ty(e,t))}function Ty(e,t){var n=Iy(e,"");return n.indexOf(",")>0?Ay(n.split(","),t):Ay([n],t)}function Ay(e,t){for(var n=0;n=0)return n;return-1}function Py(e,t,n){n?e.removeEventListener(Cy,t):e.addEventListener(Cy,t)}function My(e,t,n,i){var r=Sy+t;if(null!=i){var o=e.style[r];if(o.length){var a=o.split(",");a[i]=n,n=a.join(",")}}e.style[r]=n}function Iy(e,t){return e.style[Sy+t]||""}var Ry=function(){function e(t,n,i,r,o,a,s,u){m(this,e),this.element=t,this.keyframes=n,this.animationName=i,this._duration=r,this._delay=o,this._finalStyles=s,this._specialStyles=u,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=a||"linear",this.totalTime=r+o,this._buildStyler()}return b(e,[{key:"onStart",value:function(e){this._onStartFns.push(e)}},{key:"onDone",value:function(e){this._onDoneFns.push(e)}},{key:"onDestroy",value:function(e){this._onDestroyFns.push(e)}},{key:"destroy",value:function(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])}},{key:"_flushDoneFns",value:function(){this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[]}},{key:"_flushStartFns",value:function(){this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[]}},{key:"finish",value:function(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}},{key:"setPosition",value:function(e){this._styler.setPosition(e)}},{key:"getPosition",value:function(){return this._styler.getPosition()}},{key:"hasStarted",value:function(){return this._state>=2}},{key:"init",value:function(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}},{key:"play",value:function(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}},{key:"pause",value:function(){this.init(),this._styler.pause()}},{key:"restart",value:function(){this.reset(),this.play()}},{key:"reset",value:function(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}},{key:"_buildStyler",value:function(){var e=this;this._styler=new Ey(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",function(){return e.finish()})}},{key:"triggerCallback",value:function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0}},{key:"beforeDestroy",value:function(){var e=this;this.init();var t={};if(this.hasStarted()){var n=this._state>=3;Object.keys(this._finalStyles).forEach(function(i){"offset"!=i&&(t[i]=n?e._finalStyles[i]:gm(e.element,i))})}this.currentSnapshot=t}}]),e}(),Dy=function(t){a(i,t);var n=s(i);function i(e,t){var r;return m(this,i),(r=n.call(this)).element=e,r._startingStyles={},r.__initialized=!1,r._styles=zg(t),r}return b(i,[{key:"init",value:function(){var t=this;this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(function(e){t._startingStyles[e]=t.element.style[e]}),e(p(i.prototype),"init",this).call(this))}},{key:"play",value:function(){var t=this;!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(function(e){return t.element.style.setProperty(e,t._styles[e])}),e(p(i.prototype),"play",this).call(this))}},{key:"destroy",value:function(){var t=this;!this._startingStyles||(Object.keys(this._startingStyles).forEach(function(e){var n=t._startingStyles[e];n?t.element.style.setProperty(e,n):t.element.style.removeProperty(e)}),this._startingStyles=null,e(p(i.prototype),"destroy",this).call(this))}}]),i}(_g),Ny=function(){function e(){m(this,e),this._count=0}return b(e,[{key:"validateStyleProperty",value:function(e){return jg(e)}},{key:"matchesElement",value:function(e,t){return Fg(e,t)}},{key:"containsElement",value:function(e,t){return Bg(e,t)}},{key:"query",value:function(e,t,n){return Vg(e,t,n)}},{key:"computeStyle",value:function(e,t,n){return window.getComputedStyle(e)[t]}},{key:"buildKeyframeElement",value:function(e,t,n){n=n.map(function(e){return zg(e)});var i="@keyframes ".concat(t," {\n"),r="";n.forEach(function(e){r=" ";var t=parseFloat(e.offset);i+="".concat(r).concat(100*t,"% {\n"),r+=" ",Object.keys(e).forEach(function(t){var n=e[t];switch(t){case"offset":return;case"easing":return void(n&&(i+="".concat(r,"animation-timing-function: ").concat(n,";\n")));default:return void(i+="".concat(r).concat(t,": ").concat(n,";\n"))}}),i+="".concat(r,"}\n")}),i+="}\n";var o=document.createElement("style");return o.textContent=i,o}},{key:"animate",value:function(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],a=o.filter(function(e){return e instanceof Ry}),s={};fm(n,i)&&a.forEach(function(e){var t=e.currentSnapshot;Object.keys(t).forEach(function(e){return s[e]=t[e]})});var u=function(e){var t={};return e&&(Array.isArray(e)?e:[e]).forEach(function(e){Object.keys(e).forEach(function(n){"offset"==n||"easing"==n||(t[n]=e[n])})}),t}(t=pm(e,t,s));if(0==n)return new Dy(e,u);var c="gen_css_kf_"+this._count++,l=this.buildKeyframeElement(e,c,t);(function(e){var t,n=null===(t=e.getRootNode)||void 0===t?void 0:t.call(e);return"undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot?n:document.head})(e).appendChild(l);var h=_y(e,t),d=new Ry(e,t,c,n,i,r,u,h);return d.onDestroy(function(){return function(e){e.parentNode.removeChild(e)}(l)}),d}}]),e}(),Ly=function(){function e(t,n,i,r){m(this,e),this.element=t,this.keyframes=n,this.options=i,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}return b(e,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[])}},{key:"init",value:function(){this._buildPlayer(),this._preparePlayerBeforeStart()}},{key:"_buildPlayer",value:function(){var e=this;if(!this._initialized){this._initialized=!0;var t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",function(){return e._onFinish()})}}},{key:"_preparePlayerBeforeStart",value:function(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}},{key:"_triggerWebAnimation",value:function(e,t,n){return e.animate(t,n)}},{key:"onStart",value:function(e){this._onStartFns.push(e)}},{key:"onDone",value:function(e){this._onDoneFns.push(e)}},{key:"onDestroy",value:function(e){this._onDestroyFns.push(e)}},{key:"play",value:function(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}},{key:"pause",value:function(){this.init(),this.domPlayer.pause()}},{key:"finish",value:function(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}},{key:"reset",value:function(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}},{key:"_resetDomPlayerState",value:function(){this.domPlayer&&this.domPlayer.cancel()}},{key:"restart",value:function(){this.reset(),this.play()}},{key:"hasStarted",value:function(){return this._started}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])}},{key:"setPosition",value:function(e){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=e*this.time}},{key:"getPosition",value:function(){return this.domPlayer.currentTime/this.time}},{key:"totalTime",get:function(){return this._delay+this._duration}},{key:"beforeDestroy",value:function(){var e=this,t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(function(n){"offset"!=n&&(t[n]=e._finished?e._finalKeyframe[n]:gm(e.element,n))}),this.currentSnapshot=t}},{key:"triggerCallback",value:function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0}}]),e}(),jy=function(){function e(){m(this,e),this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Fy().toString()),this._cssKeyframesDriver=new Ny}return b(e,[{key:"validateStyleProperty",value:function(e){return jg(e)}},{key:"matchesElement",value:function(e,t){return Fg(e,t)}},{key:"containsElement",value:function(e,t){return Bg(e,t)}},{key:"query",value:function(e,t,n){return Vg(e,t,n)}},{key:"computeStyle",value:function(e,t,n){return window.getComputedStyle(e)[t]}},{key:"overrideWebAnimationsSupport",value:function(e){this._isNativeImpl=e}},{key:"animate",value:function(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],a=arguments.length>6?arguments[6]:void 0;if(!a&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(e,t,n,i,r,o);var s={duration:n,delay:i,fill:0==i?"both":"forwards"};r&&(s.easing=r);var u={},c=o.filter(function(e){return e instanceof Ly});fm(n,i)&&c.forEach(function(e){var t=e.currentSnapshot;Object.keys(t).forEach(function(e){return u[e]=t[e]})});var l=_y(e,t=pm(e,t=t.map(function(e){return em(e,!1)}),u));return new Ly(e,t,s,l)}}]),e}();function Fy(){return kg()&&Element.prototype.animate||{}}var By=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this))._nextAnimationId=0,r._renderer=e.createRenderer(i.body,{id:"0",encapsulation:ht.None,styles:[],data:{animation:[]}}),r}return b(n,[{key:"build",value:function(e){var t=this._nextAnimationId.toString();this._nextAnimationId++;var n=Array.isArray(e)?vg(e):e;return Uy(this._renderer,null,t,"register",[n]),new Vy(t,this._renderer)}}]),n}(hg);return e.\u0275fac=function(t){return new(t||e)(Zi(tc),Zi(bh))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Vy=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this))._id=e,r._renderer=i,r}return b(n,[{key:"create",value:function(e,t){return new zy(this._id,e,t||{},this._renderer)}}]),n}(function(){return function e(){m(this,e)}}()),zy=function(){function e(t,n,i,r){m(this,e),this.id=t,this.element=n,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}return b(e,[{key:"_listen",value:function(e,t){return this._renderer.listen(this.element,"@@".concat(this.id,":").concat(e),t)}},{key:"_command",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i=0&&e3&&void 0!==arguments[3])||arguments[3];this.delegate.insertBefore(e,t,n),this.engine.onInsert(this.namespaceId,t,e,i)}},{key:"removeChild",value:function(e,t,n){this.engine.onRemove(this.namespaceId,t,this.delegate,n)}},{key:"selectRootElement",value:function(e,t){return this.delegate.selectRootElement(e,t)}},{key:"parentNode",value:function(e){return this.delegate.parentNode(e)}},{key:"nextSibling",value:function(e){return this.delegate.nextSibling(e)}},{key:"setAttribute",value:function(e,t,n,i){this.delegate.setAttribute(e,t,n,i)}},{key:"removeAttribute",value:function(e,t,n){this.delegate.removeAttribute(e,t,n)}},{key:"addClass",value:function(e,t){this.delegate.addClass(e,t)}},{key:"removeClass",value:function(e,t){this.delegate.removeClass(e,t)}},{key:"setStyle",value:function(e,t,n,i){this.delegate.setStyle(e,t,n,i)}},{key:"removeStyle",value:function(e,t,n){this.delegate.removeStyle(e,t,n)}},{key:"setProperty",value:function(e,t,n){"@"==t.charAt(0)&&t==Hy?this.disableAnimations(e,!!n):this.delegate.setProperty(e,t,n)}},{key:"setValue",value:function(e,t){this.delegate.setValue(e,t)}},{key:"listen",value:function(e,t,n){return this.delegate.listen(e,t,n)}},{key:"disableAnimations",value:function(e,t){this.engine.disableAnimations(e,t)}}]),e}(),qy=function(e){a(i,e);var n=s(i);function i(e,t,r,o){var a;return m(this,i),(a=n.call(this,t,r,o)).factory=e,a.namespaceId=t,a}return b(i,[{key:"setProperty",value:function(e,t,n){"@"==t.charAt(0)?"."==t.charAt(1)&&t==Hy?this.disableAnimations(e,n=void 0===n||!!n):this.engine.process(this.namespaceId,e,t.substr(1),n):this.delegate.setProperty(e,t,n)}},{key:"listen",value:function(e,n,i){var r=this;if("@"==n.charAt(0)){var o,a=function(e){switch(e){case"body":return document.body;case"document":return document;case"window":return window;default:return e}}(e),s=n.substr(1),u="";return"@"!=s.charAt(0)&&(s=(o=t(function(e){var t=e.indexOf(".");return[e.substring(0,t),e.substr(t+1)]}(s),2))[0],u=o[1]),this.engine.listen(this.namespaceId,a,s,u,function(e){r.factory.scheduleListenerCallback(e._data||-1,i,e)})}return this.delegate.listen(e,n,i)}}]),i}(Wy),Xy=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r){return m(this,n),t.call(this,e.body,i,r)}return b(n,[{key:"ngOnDestroy",value:function(){this.flush()}}]),n}(by);return e.\u0275fac=function(t){return new(t||e)(Zi(bh),Zi(Hg),Zi(Bm))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Yy=new Ri("AnimationModuleType"),Ky=[{provide:hg,useClass:By},{provide:Bm,useFactory:function(){return new Vm}},{provide:by,useClass:Xy},{provide:tc,useFactory:function(e,t,n){return new Gy(e,t,n)},deps:[Pd,by,Xl]}],$y=[{provide:Hg,useFactory:function(){return"function"==typeof Fy()?new jy:new Ny}},{provide:Yy,useValue:"BrowserAnimations"}].concat(Ky),Qy=[{provide:Hg,useClass:Ug},{provide:Yy,useValue:"NoopAnimations"}].concat(Ky),Zy=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"withConfig",value:function(t){return{ngModule:e,providers:t.disableAnimations?Qy:$y}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:$y,imports:[Gd]}),e}();function Jy(e,t){if(1&e&&Is(0,"mat-pseudo-checkbox",4),2&e){var n=Ws();Ts("state",n.selected?"checked":"unchecked")("disabled",n.disabled)}}function eb(e,t){if(1&e&&(Ps(0,"span",5),Cu(1),Ms()),2&e){var n=Ws();Yo(1),Ou("(",n.group.label,")")}}var tb=["*"],nb=new oc("12.2.5"),ib=new Ri("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}}),rb=function(){var e=function(){function e(t,n,i){m(this,e),this._hasDoneGlobalChecks=!1,this._document=i,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=n,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}return b(e,[{key:"_getWindow",value:function(){var e=this._document.defaultView||window;return"object"==typeof e&&e?e:null}},{key:"_checkIsEnabled",value:function(e){return!(!ah()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[e])}},{key:"_isTestEnv",value:function(){var e=this._getWindow();return e&&(e.__karma__||e.jasmine)}},{key:"_checkDoctypeIsDefined",value:function(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}},{key:"_checkThemeIsPresent",value:function(){if(this._checkIsEnabled("theme")&&this._document.body&&"function"==typeof getComputedStyle){var e=this._document.createElement("div");e.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(e);var t=getComputedStyle(e);t&&"none"!==t.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(e)}}},{key:"_checkCdkVersionMatch",value:function(){this._checkIsEnabled("version")&&nb.full!==lg.full&&console.warn("The Angular Material version ("+nb.full+") does not match the Angular CDK version ("+lg.full+").\nPlease ensure the versions of these two packages exactly match.")}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ug),Zi(ib,8),Zi(bh))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[np],np]}),e}();function ob(e){return function(e){a(n,e);var t=s(n);function n(){var e;m(this,n);for(var i=arguments.length,r=new Array(i),o=0;o1&&void 0!==arguments[1]?arguments[1]:0;return function(e){a(i,e);var n=s(i);function i(){var e;m(this,i);for(var r=arguments.length,o=new Array(r),a=0;a2&&void 0!==arguments[2]?arguments[2]:{},r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),o=Object.assign(Object.assign({},vb),i.animation);i.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);var a=i.radius||function(e,t,n){var i=Math.max(Math.abs(e-n.left),Math.abs(e-n.right)),r=Math.max(Math.abs(t-n.top),Math.abs(t-n.bottom));return Math.sqrt(i*i+r*r)}(e,t,r),s=e-r.left,u=t-r.top,c=o.enterDuration,l=document.createElement("div");l.classList.add("mat-ripple-element"),l.style.left=s-a+"px",l.style.top=u-a+"px",l.style.height=2*a+"px",l.style.width=2*a+"px",null!=i.color&&(l.style.backgroundColor=i.color),l.style.transitionDuration="".concat(c,"ms"),this._containerElement.appendChild(l),function(e){window.getComputedStyle(e).getPropertyValue("opacity")}(l),l.style.transform="scale(1)";var h=new pb(this,l,i);return h.state=0,this._activeRipples.add(h),i.persistent||(this._mostRecentTransientRipple=h),this._runTimeoutOutsideZone(function(){var e=h===n._mostRecentTransientRipple;h.state=1,!i.persistent&&(!e||!n._isPointerDown)&&h.fadeOut()},c),h}},{key:"fadeOutRipple",value:function(e){var t=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),t){var n=e.element,i=Object.assign(Object.assign({},vb),e.config.animation);n.style.transitionDuration="".concat(i.exitDuration,"ms"),n.style.opacity="0",e.state=2,this._runTimeoutOutsideZone(function(){e.state=3,n.parentNode.removeChild(n)},i.exitDuration)}}},{key:"fadeOutAll",value:function(){this._activeRipples.forEach(function(e){return e.fadeOut()})}},{key:"fadeOutAllNonPersistent",value:function(){this._activeRipples.forEach(function(e){e.config.persistent||e.fadeOut()})}},{key:"setupTriggerEvents",value:function(e){var t=Kd(e);!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,this._registerEvents(mb))}},{key:"handleEvent",value:function(e){"mousedown"===e.type?this._onMousedown(e):"touchstart"===e.type?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(yb),this._pointerUpEventsRegistered=!0)}},{key:"_onMousedown",value:function(e){var t=Xv(e),n=this._lastTouchStartEvent&&Date.now()1&&void 0!==arguments[1]?arguments[1]:0;this._ngZone.runOutsideAngular(function(){return setTimeout(e,t)})}},{key:"_registerEvents",value:function(e){var t=this;this._ngZone.runOutsideAngular(function(){e.forEach(function(e){t._triggerElement.addEventListener(e,t,gb)})})}},{key:"_removeTriggerEvents",value:function(){var e=this;this._triggerElement&&(mb.forEach(function(t){e._triggerElement.removeEventListener(t,e,gb)}),this._pointerUpEventsRegistered&&yb.forEach(function(t){e._triggerElement.removeEventListener(t,e,gb)}))}}]),e}(),_b=new Ri("mat-ripple-global-options"),wb=function(){var e=function(){function e(t,n,i,r,o){m(this,e),this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=r||{},this._rippleRenderer=new bb(this,n,t,i)}return b(e,[{key:"disabled",get:function(){return this._disabled},set:function(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}},{key:"trigger",get:function(){return this._trigger||this._elementRef.nativeElement},set:function(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}},{key:"ngOnInit",value:function(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}},{key:"ngOnDestroy",value:function(){this._rippleRenderer._removeTriggerEvents()}},{key:"fadeOutAll",value:function(){this._rippleRenderer.fadeOutAll()}},{key:"fadeOutAllNonPersistent",value:function(){this._rippleRenderer.fadeOutAllNonPersistent()}},{key:"rippleConfig",get:function(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}},{key:"rippleDisabled",get:function(){return this.disabled||!!this._globalOptions.disabled}},{key:"_setupTriggerEventsIfEnabled",value:function(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}},{key:"launch",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0;return"number"==typeof e?this._rippleRenderer.fadeInRipple(e,t,Object.assign(Object.assign({},this.rippleConfig),n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),e))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Xl),Os(qf),Os(_b,8),Os(Yy,8))},e.\u0275dir=Rt({type:e,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(e,t){2&e&&cu("mat-ripple-unbounded",t.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),e}(),kb=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb,Xf],rb]}),e}(),xb=function(){var e=function e(t){m(this,e),this._animationMode=t,this.state="unchecked",this.disabled=!1};return e.\u0275fac=function(t){return new(t||e)(Os(Yy,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(e,t){2&e&&cu("mat-pseudo-checkbox-indeterminate","indeterminate"===t.state)("mat-pseudo-checkbox-checked","checked"===t.state)("mat-pseudo-checkbox-disabled",t.disabled)("_mat-animation-noopable","NoopAnimations"===t._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(e,t){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;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-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),e}(),Sb=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb]]}),e}(),Cb=new Ri("MAT_OPTION_PARENT_COMPONENT"),Eb=ob(function(){return function e(){m(this,e)}}()),Ob=0,Tb=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i,r;return m(this,n),(i=t.call(this))._labelId="mat-optgroup-label-"+Ob++,i._inert=null!==(r=null==e?void 0:e.inertGroups)&&void 0!==r&&r,i}return n}(Eb);return e.\u0275fac=function(t){return new(t||e)(Os(Cb,8))},e.\u0275dir=Rt({type:e,inputs:{label:"label"},features:[cs]}),e}(),Ab=new Ri("MatOptgroup"),Pb=0,Mb=function e(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];m(this,e),this.source=t,this.isUserInput=n},Ib=function(){var e=function(){function e(t,n,i,r){m(this,e),this._element=t,this._changeDetectorRef=n,this._parent=i,this.group=r,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+Pb++,this.onSelectionChange=new ol,this._stateChanges=new ae}return b(e,[{key:"multiple",get:function(){return this._parent&&this._parent.multiple}},{key:"selected",get:function(){return this._selected}},{key:"disabled",get:function(){return this.group&&this.group.disabled||this._disabled},set:function(e){this._disabled=Wd(e)}},{key:"disableRipple",get:function(){return this._parent&&this._parent.disableRipple}},{key:"active",get:function(){return this._active}},{key:"viewValue",get:function(){return(this._getHostElement().textContent||"").trim()}},{key:"select",value:function(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}},{key:"deselect",value:function(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}},{key:"focus",value:function(e,t){var n=this._getHostElement();"function"==typeof n.focus&&n.focus(t)}},{key:"setActiveStyles",value:function(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}},{key:"setInactiveStyles",value:function(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}},{key:"getLabel",value:function(){return this.viewValue}},{key:"_handleKeydown",value:function(e){(13===e.keyCode||32===e.keyCode)&&!Ep(e)&&(this._selectViaInteraction(),e.preventDefault())}},{key:"_selectViaInteraction",value:function(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}},{key:"_getAriaSelected",value:function(){return this.selected||!this.multiple&&null}},{key:"_getTabIndex",value:function(){return this.disabled?"-1":"0"}},{key:"_getHostElement",value:function(){return this._element.nativeElement}},{key:"ngAfterViewChecked",value:function(){if(this._selected){var e=this.viewValue;e!==this._mostRecentViewValue&&(this._mostRecentViewValue=e,this._stateChanges.next())}}},{key:"ngOnDestroy",value:function(){this._stateChanges.complete()}},{key:"_emitSelectionChangeEvent",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.onSelectionChange.emit(new Mb(this,e))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Cc),Os(void 0),Os(Tb))},e.\u0275dir=Rt({type:e,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),e}(),Rb=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){return m(this,n),t.call(this,e,i,r,o)}return n}(Ib);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Cc),Os(Cb,8),Os(Ab,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(e,t){1&e&&Vs("click",function(){return t._selectViaInteraction()})("keydown",function(e){return t._handleKeydown(e)}),2&e&&(Pu("id",t.id),ks("tabindex",t._getTabIndex())("aria-selected",t._getAriaSelected())("aria-disabled",t.disabled.toString()),cu("mat-selected",t.selected)("mat-option-multiple",t.multiple)("mat-active",t.active)("mat-option-disabled",t.disabled))},exportAs:["matOption"],features:[cs],ngContentSelectors:tb,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(e,t){1&e&&(Xs(),Cs(0,Jy,1,2,"mat-pseudo-checkbox",0),Ps(1,"span",1),Ys(2),Ms(),Cs(3,eb,2,1,"span",2),Is(4,"div",3)),2&e&&(Ts("ngIf",t.multiple),Yo(3),Ts("ngIf",t.group&&t.group._inert),Yo(1),Ts("matRippleTrigger",t._getHostElement())("matRippleDisabled",t.disabled||t.disableRipple))},directives:[Yh,wb,xb],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),e}();function Db(e,t,n){if(n.length){for(var i=t.toArray(),r=n.toArray(),o=0,a=0;an+i?Math.max(0,e-i+t):n}var Lb=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[kb,cd,rb,Sb]]}),e}();function jb(){for(var e=arguments.length,t=new Array(e),n=0;n0){var i=e.slice(0,t),r=i.toLowerCase(),o=e.slice(t+1).trim();n.maybeSetNormalizedName(i,r),n.headers.has(r)?n.headers.get(r).push(o):n.headers.set(r,[o])}})}:function(){n.headers=new Map,Object.keys(t).forEach(function(e){var i=t[e],r=e.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(n.headers.set(r,i),n.maybeSetNormalizedName(e,r))})}:this.headers=new Map}return b(e,[{key:"has",value:function(e){return this.init(),this.headers.has(e.toLowerCase())}},{key:"get",value:function(e){this.init();var t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}},{key:"keys",value:function(){return this.init(),Array.from(this.normalizedNames.values())}},{key:"getAll",value:function(e){return this.init(),this.headers.get(e.toLowerCase())||null}},{key:"append",value:function(e,t){return this.clone({name:e,value:t,op:"a"})}},{key:"set",value:function(e,t){return this.clone({name:e,value:t,op:"s"})}},{key:"delete",value:function(e,t){return this.clone({name:e,value:t,op:"d"})}},{key:"maybeSetNormalizedName",value:function(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}},{key:"init",value:function(){var t=this;this.lazyInit&&(this.lazyInit instanceof e?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(function(e){return t.applyUpdate(e)}),this.lazyUpdate=null))}},{key:"copyFrom",value:function(e){var t=this;e.init(),Array.from(e.headers.keys()).forEach(function(n){t.headers.set(n,e.headers.get(n)),t.normalizedNames.set(n,e.normalizedNames.get(n))})}},{key:"clone",value:function(t){var n=new e;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof e?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([t]),n}},{key:"applyUpdate",value:function(e){var t=e.name.toLowerCase();switch(e.op){case"a":case"s":var n=e.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(e.name,t);var i=("a"===e.op?this.headers.get(t):void 0)||[];i.push.apply(i,v(n)),this.headers.set(t,i);break;case"d":var r=e.value;if(r){var o=this.headers.get(t);if(!o)return;0===(o=o.filter(function(e){return-1===r.indexOf(e)})).length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}},{key:"forEach",value:function(e){var t=this;this.init(),Array.from(this.normalizedNames.keys()).forEach(function(n){return e(t.normalizedNames.get(n),t.headers.get(n))})}}]),e}(),Yb=function(){function e(){m(this,e)}return b(e,[{key:"encodeKey",value:function(e){return Qb(e)}},{key:"encodeValue",value:function(e){return Qb(e)}},{key:"decodeKey",value:function(e){return decodeURIComponent(e)}},{key:"decodeValue",value:function(e){return decodeURIComponent(e)}}]),e}(),Kb=/%(\d[a-f0-9])/gi,$b={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Qb(e){return encodeURIComponent(e).replace(Kb,function(e,t){var n;return null!==(n=$b[t])&&void 0!==n?n:e})}function Zb(e){return"".concat(e)}var Jb=function(){function e(){var n=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(m(this,e),this.updates=null,this.cloneFrom=null,this.encoder=i.encoder||new Yb,i.fromString){if(i.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(e,n){var i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(function(e){var r=e.indexOf("="),o=t(-1==r?[n.decodeKey(e),""]:[n.decodeKey(e.slice(0,r)),n.decodeValue(e.slice(r+1))],2),a=o[0],s=o[1],u=i.get(a)||[];u.push(s),i.set(a,u)}),i}(i.fromString,this.encoder)}else i.fromObject?(this.map=new Map,Object.keys(i.fromObject).forEach(function(e){var t=i.fromObject[e];n.map.set(e,Array.isArray(t)?t:[t])})):this.map=null}return b(e,[{key:"has",value:function(e){return this.init(),this.map.has(e)}},{key:"get",value:function(e){this.init();var t=this.map.get(e);return t?t[0]:null}},{key:"getAll",value:function(e){return this.init(),this.map.get(e)||null}},{key:"keys",value:function(){return this.init(),Array.from(this.map.keys())}},{key:"append",value:function(e,t){return this.clone({param:e,value:t,op:"a"})}},{key:"appendAll",value:function(e){var t=[];return Object.keys(e).forEach(function(n){var i=e[n];Array.isArray(i)?i.forEach(function(e){t.push({param:n,value:e,op:"a"})}):t.push({param:n,value:i,op:"a"})}),this.clone(t)}},{key:"set",value:function(e,t){return this.clone({param:e,value:t,op:"s"})}},{key:"delete",value:function(e,t){return this.clone({param:e,value:t,op:"d"})}},{key:"toString",value:function(){var e=this;return this.init(),this.keys().map(function(t){var n=e.encoder.encodeKey(t);return e.map.get(t).map(function(t){return n+"="+e.encoder.encodeValue(t)}).join("&")}).filter(function(e){return""!==e}).join("&")}},{key:"clone",value:function(t){var n=new e({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat(t),n}},{key:"init",value:function(){var e=this;null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(function(t){return e.map.set(t,e.cloneFrom.map.get(t))}),this.updates.forEach(function(t){switch(t.op){case"a":case"s":var n=("a"===t.op?e.map.get(t.param):void 0)||[];n.push(Zb(t.value)),e.map.set(t.param,n);break;case"d":if(void 0===t.value){e.map.delete(t.param);break}var i=e.map.get(t.param)||[],r=i.indexOf(Zb(t.value));-1!==r&&i.splice(r,1),i.length>0?e.map.set(t.param,i):e.map.delete(t.param)}}),this.cloneFrom=this.updates=null)}}]),e}(),e_=function(){function e(){m(this,e),this.map=new Map}return b(e,[{key:"set",value:function(e,t){return this.map.set(e,t),this}},{key:"get",value:function(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}},{key:"delete",value:function(e){return this.map.delete(e),this}},{key:"keys",value:function(){return this.map.keys()}}]),e}();function t_(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer}function n_(e){return"undefined"!=typeof Blob&&e instanceof Blob}function i_(e){return"undefined"!=typeof FormData&&e instanceof FormData}var r_=function(){function e(t,n,i,r){var o;if(m(this,e),this.url=n,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,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.headers||(this.headers=new Xb),this.context||(this.context=new e_),this.params){var a=this.params.toString();if(0===a.length)this.urlWithParams=n;else{var s=n.indexOf("?");this.urlWithParams=n+(-1===s?"?":s0&&void 0!==arguments[0]?arguments[0]:{},i=n.method||this.method,r=n.url||this.url,o=n.responseType||this.responseType,a=void 0!==n.body?n.body:this.body,s=void 0!==n.withCredentials?n.withCredentials:this.withCredentials,u=void 0!==n.reportProgress?n.reportProgress:this.reportProgress,c=n.headers||this.headers,l=n.params||this.params,h=null!==(t=n.context)&&void 0!==t?t:this.context;return void 0!==n.setHeaders&&(c=Object.keys(n.setHeaders).reduce(function(e,t){return e.set(t,n.setHeaders[t])},c)),n.setParams&&(l=Object.keys(n.setParams).reduce(function(e,t){return e.set(t,n.setParams[t])},l)),new e(i,r,a,{params:l,headers:c,context:h,reportProgress:u,responseType:o,withCredentials:s})}}]),e}(),o_=((o_=o_||{})[o_.Sent=0]="Sent",o_[o_.UploadProgress=1]="UploadProgress",o_[o_.ResponseHeader=2]="ResponseHeader",o_[o_.DownloadProgress=3]="DownloadProgress",o_[o_.Response=4]="Response",o_[o_.User=5]="User",o_),a_=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"OK";m(this,e),this.headers=t.headers||new Xb,this.status=void 0!==t.status?t.status:n,this.statusText=t.statusText||i,this.url=t.url||null,this.ok=this.status>=200&&this.status<300},s_=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return m(this,n),(e=t.call(this,i)).type=o_.ResponseHeader,e}return b(n,[{key:"clone",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new n({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}]),n}(a_),u_=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return m(this,n),(e=t.call(this,i)).type=o_.Response,e.body=void 0!==i.body?i.body:null,e}return b(n,[{key:"clone",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new n({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}]),n}(a_),c_=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,e,0,"Unknown Error")).name="HttpErrorResponse",i.ok=!1,i.message=i.status>=200&&i.status<300?"Http failure during parsing for ".concat(e.url||"(unknown url)"):"Http failure response for ".concat(e.url||"(unknown url)",": ").concat(e.status," ").concat(e.statusText),i.error=e.error||null,i}return n}(a_);function l_(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}var h_=function(){var e=function(){function e(t){m(this,e),this.handler=t}return b(e,[{key:"request",value:function(e,t){var n,i,r,o=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e instanceof r_?n=e:(i=a.headers instanceof Xb?a.headers:new Xb(a.headers),a.params&&(r=a.params instanceof Jb?a.params:new Jb({fromObject:a.params})),n=new r_(e,t,void 0!==a.body?a.body:null,{headers:i,context:a.context,params:r,reportProgress:a.reportProgress,responseType:a.responseType||"json",withCredentials:a.withCredentials}));var s=$d(n).pipe(ke(function(e){return o.handler.handle(e)},void 0,1));if(e instanceof r_||"events"===a.observe)return s;var u=s.pipe(bf(function(e){return e instanceof u_}));switch(a.observe||"body"){case"body":switch(n.responseType){case"arraybuffer":return u.pipe(ce(function(e){if(null!==e.body&&!(e.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return e.body}));case"blob":return u.pipe(ce(function(e){if(null!==e.body&&!(e.body instanceof Blob))throw new Error("Response is not a Blob.");return e.body}));case"text":return u.pipe(ce(function(e){if(null!==e.body&&"string"!=typeof e.body)throw new Error("Response is not a string.");return e.body}));case"json":default:return u.pipe(ce(function(e){return e.body}))}case"response":return u;default:throw new Error("Unreachable: unhandled observe type ".concat(a.observe,"}"))}}},{key:"delete",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("DELETE",e,t)}},{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("GET",e,t)}},{key:"head",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("HEAD",e,t)}},{key:"jsonp",value:function(e,t){return this.request("JSONP",e,{params:(new Jb).append(t,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}},{key:"options",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("OPTIONS",e,t)}},{key:"patch",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("PATCH",e,l_(n,t))}},{key:"post",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("POST",e,l_(n,t))}},{key:"put",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("PUT",e,l_(n,t))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Wb))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),d_=function(){function e(t,n){m(this,e),this.next=t,this.interceptor=n}return b(e,[{key:"handle",value:function(e){return this.interceptor.intercept(e,this.next)}}]),e}(),f_=new Ri("HTTP_INTERCEPTORS"),p_=function(){var e=function(){function e(){m(this,e)}return b(e,[{key:"intercept",value:function(e,t){return t.handle(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),v_=/^\)\]\}',?\n/,g_=function(){var e=function(){function e(t){m(this,e),this.xhrFactory=t}return b(e,[{key:"handle",value:function(e){var t=this;if("JSONP"===e.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new te(function(n){var i=t.xhrFactory.build();if(i.open(e.method,e.urlWithParams),e.withCredentials&&(i.withCredentials=!0),e.headers.forEach(function(e,t){return i.setRequestHeader(e,t.join(","))}),e.headers.has("Accept")||i.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){var r=e.detectContentTypeHeader();null!==r&&i.setRequestHeader("Content-Type",r)}if(e.responseType){var o=e.responseType.toLowerCase();i.responseType="json"!==o?o:"text"}var a=e.serializeBody(),s=null,u=function(){if(null!==s)return s;var t=1223===i.status?204:i.status,n=i.statusText||"OK",r=new Xb(i.getAllResponseHeaders()),o=function(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(i)||e.url;return s=new s_({headers:r,status:t,statusText:n,url:o})},c=function(){var t=u(),r=t.headers,o=t.status,a=t.statusText,s=t.url,c=null;204!==o&&(c=void 0===i.response?i.responseText:i.response),0===o&&(o=c?200:0);var l=o>=200&&o<300;if("json"===e.responseType&&"string"==typeof c){var h=c;c=c.replace(v_,"");try{c=""!==c?JSON.parse(c):null}catch(d){c=h,l&&(l=!1,c={error:d,text:c})}}l?(n.next(new u_({body:c,headers:r,status:o,statusText:a,url:s||void 0})),n.complete()):n.error(new c_({error:c,headers:r,status:o,statusText:a,url:s||void 0}))},l=function(e){var t=u().url,r=new c_({error:e,status:i.status||0,statusText:i.statusText||"Unknown Error",url:t||void 0});n.error(r)},h=!1,d=function(t){h||(n.next(u()),h=!0);var r={type:o_.DownloadProgress,loaded:t.loaded};t.lengthComputable&&(r.total=t.total),"text"===e.responseType&&!!i.responseText&&(r.partialText=i.responseText),n.next(r)},f=function(e){var t={type:o_.UploadProgress,loaded:e.loaded};e.lengthComputable&&(t.total=e.total),n.next(t)};return i.addEventListener("load",c),i.addEventListener("error",l),i.addEventListener("timeout",l),i.addEventListener("abort",l),e.reportProgress&&(i.addEventListener("progress",d),null!==a&&i.upload&&i.upload.addEventListener("progress",f)),i.send(a),n.next({type:o_.Sent}),function(){i.removeEventListener("error",l),i.removeEventListener("abort",l),i.removeEventListener("load",c),i.removeEventListener("timeout",l),e.reportProgress&&(i.removeEventListener("progress",d),null!==a&&i.upload&&i.upload.removeEventListener("progress",f)),i.readyState!==i.DONE&&i.abort()}})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(fd))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),m_=new Ri("XSRF_COOKIE_NAME"),y_=new Ri("XSRF_HEADER_NAME"),b_=function e(){m(this,e)},__=function(){var e=function(){function e(t,n,i){m(this,e),this.doc=t,this.platform=n,this.cookieName=i,this.lastCookieString="",this.lastToken=null,this.parseCount=0}return b(e,[{key:"getToken",value:function(){if("server"===this.platform)return null;var e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=Hh(e,this.cookieName),this.lastCookieString=e),this.lastToken}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(bh),Zi(Ml),Zi(m_))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),w_=function(){var e=function(){function e(t,n){m(this,e),this.tokenService=t,this.headerName=n}return b(e,[{key:"intercept",value:function(e,t){var n=e.url.toLowerCase();if("GET"===e.method||"HEAD"===e.method||n.startsWith("http://")||n.startsWith("https://"))return t.handle(e);var i=this.tokenService.getToken();return null!==i&&!e.headers.has(this.headerName)&&(e=e.clone({headers:e.headers.set(this.headerName,i)})),t.handle(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(b_),Zi(y_))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),k_=function(){var e=function(){function e(t,n){m(this,e),this.backend=t,this.injector=n,this.chain=null}return b(e,[{key:"handle",value:function(e){if(null===this.chain){var t=this.injector.get(f_,[]);this.chain=t.reduceRight(function(e,t){return new d_(e,t)},this.backend)}return this.chain.handle(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qb),Zi(ss))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),x_=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"disable",value:function(){return{ngModule:e,providers:[{provide:w_,useClass:p_}]}}},{key:"withOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{ngModule:e,providers:[t.cookieName?{provide:m_,useValue:t.cookieName}:[],t.headerName?{provide:y_,useValue:t.headerName}:[]]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[w_,{provide:f_,useExisting:w_,multi:!0},{provide:b_,useClass:__},{provide:m_,useValue:"XSRF-TOKEN"},{provide:y_,useValue:"X-XSRF-TOKEN"}]}),e}(),S_=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[h_,{provide:Wb,useClass:k_},g_,{provide:qb,useExisting:g_}],imports:[[x_.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),e}(),C_=["*"];function E_(e){return Error('Unable to find icon with the name "'.concat(e,'"'))}function O_(e){return Error("The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was \"".concat(e,'".'))}function T_(e){return Error("The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was \"".concat(e,'".'))}var A_=function e(t,n,i){m(this,e),this.url=t,this.svgText=n,this.options=i},P_=function(){var e=function(){function e(t,n,i,r){m(this,e),this._httpClient=t,this._sanitizer=n,this._errorHandler=r,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",this._document=i}return b(e,[{key:"addSvgIcon",value:function(e,t,n){return this.addSvgIconInNamespace("",e,t,n)}},{key:"addSvgIconLiteral",value:function(e,t,n){return this.addSvgIconLiteralInNamespace("",e,t,n)}},{key:"addSvgIconInNamespace",value:function(e,t,n,i){return this._addSvgIconConfig(e,t,new A_(n,null,i))}},{key:"addSvgIconResolver",value:function(e){return this._resolvers.push(e),this}},{key:"addSvgIconLiteralInNamespace",value:function(e,t,n,i){var r=this._sanitizer.sanitize(Wr.HTML,n);if(!r)throw T_(n);return this._addSvgIconConfig(e,t,new A_("",r,i))}},{key:"addSvgIconSet",value:function(e,t){return this.addSvgIconSetInNamespace("",e,t)}},{key:"addSvgIconSetLiteral",value:function(e,t){return this.addSvgIconSetLiteralInNamespace("",e,t)}},{key:"addSvgIconSetInNamespace",value:function(e,t,n){return this._addSvgIconSetConfig(e,new A_(t,null,n))}},{key:"addSvgIconSetLiteralInNamespace",value:function(e,t,n){var i=this._sanitizer.sanitize(Wr.HTML,t);if(!i)throw T_(t);return this._addSvgIconSetConfig(e,new A_("",i,n))}},{key:"registerFontClassAlias",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return this._fontCssClassesByAlias.set(e,t),this}},{key:"classNameForFontAlias",value:function(e){return this._fontCssClassesByAlias.get(e)||e}},{key:"setDefaultFontSetClass",value:function(e){return this._defaultFontSetClass=e,this}},{key:"getDefaultFontSetClass",value:function(){return this._defaultFontSetClass}},{key:"getSvgIconFromUrl",value:function(e){var t=this,n=this._sanitizer.sanitize(Wr.RESOURCE_URL,e);if(!n)throw O_(e);var i=this._cachedIconsByUrl.get(n);return i?$d(M_(i)):this._loadSvgIconFromConfig(new A_(e,null)).pipe(mv(function(e){return t._cachedIconsByUrl.set(n,e)}),ce(function(e){return M_(e)}))}},{key:"getNamedSvgIcon",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=I_(t,e),i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);if(i=this._getIconConfigFromResolvers(t,e))return this._svgIconConfigs.set(n,i),this._getSvgFromConfig(i);var r=this._iconSetConfigs.get(t);return r?this._getSvgFromIconSetConfigs(e,r):Rf(E_(n))}},{key:"ngOnDestroy",value:function(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}},{key:"_getSvgFromConfig",value:function(e){return e.svgText?$d(M_(this._svgElementFromConfig(e))):this._loadSvgIconFromConfig(e).pipe(ce(function(e){return M_(e)}))}},{key:"_getSvgFromIconSetConfigs",value:function(e,t){var n=this,i=this._extractIconWithNameFromAnySet(e,t);return i?$d(i):jb(t.filter(function(e){return!e.svgText}).map(function(e){return n._loadSvgIconSetFromConfig(e).pipe(Bb(function(t){var i="Loading icon set URL: ".concat(n._sanitizer.sanitize(Wr.RESOURCE_URL,e.url)," failed: ").concat(t.message);return n._errorHandler.handleError(new Error(i)),$d(null)}))})).pipe(ce(function(){var i=n._extractIconWithNameFromAnySet(e,t);if(!i)throw E_(e);return i}))}},{key:"_extractIconWithNameFromAnySet",value:function(e,t){for(var n=t.length-1;n>=0;n--){var i=t[n];if(i.svgText&&i.svgText.indexOf(e)>-1){var r=this._svgElementFromConfig(i),o=this._extractSvgIconFromSet(r,e,i.options);if(o)return o}}return null}},{key:"_loadSvgIconFromConfig",value:function(e){var t=this;return this._fetchIcon(e).pipe(mv(function(t){return e.svgText=t}),ce(function(){return t._svgElementFromConfig(e)}))}},{key:"_loadSvgIconSetFromConfig",value:function(e){return e.svgText?$d(null):this._fetchIcon(e).pipe(mv(function(t){return e.svgText=t}))}},{key:"_extractSvgIconFromSet",value:function(e,t,n){var i=e.querySelector('[id="'.concat(t,'"]'));if(!i)return null;var r=i.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r,n);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r),n);var o=this._svgElementFromString("");return o.appendChild(r),this._setSvgAttributes(o,n)}},{key:"_svgElementFromString",value:function(e){var t=this._document.createElement("DIV");t.innerHTML=e;var n=t.querySelector("svg");if(!n)throw Error(" tag not found");return n}},{key:"_toSvgElement",value:function(e){for(var t=this._svgElementFromString(""),n=e.attributes,i=0;i*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n",G_=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],W_=ab(ob(sb(function(){return function e(t){m(this,e),this._elementRef=t}}()))),q_=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;m(this,n),(o=t.call(this,e))._focusMonitor=i,o._animationMode=r,o.isRoundButton=o._hasHostAttributes("mat-fab","mat-mini-fab"),o.isIconButton=o._hasHostAttributes("mat-icon-button");var a,s=_(G_);try{for(s.s();!(a=s.n()).done;){var u=a.value;o._hasHostAttributes(u)&&o._getHostElement().classList.add(u)}}catch(c){s.e(c)}finally{s.f()}return e.nativeElement.classList.add("mat-button-base"),o.isRoundButton&&(o.color="accent"),o}return b(n,[{key:"ngAfterViewInit",value:function(){this._focusMonitor.monitor(this._elementRef,!0)}},{key:"ngOnDestroy",value:function(){this._focusMonitor.stopMonitoring(this._elementRef)}},{key:"focus",value:function(e,t){e?this._focusMonitor.focusVia(this._getHostElement(),e,t):this._getHostElement().focus(t)}},{key:"_getHostElement",value:function(){return this._elementRef.nativeElement}},{key:"_isRippleDisabled",value:function(){return this.disableRipple||this.disabled}},{key:"_hasHostAttributes",value:function(){for(var e=this,t=arguments.length,n=new Array(t),i=0;i4&&void 0!==arguments[4]?arguments[4]:new $_(e,n,i);if(!r.closed)return t instanceof te?t.subscribe(r):ge(t)(r)}var Z_={};function J_(){for(var e=arguments.length,t=new Array(e),n=0;n visible",pg("150ms cubic-bezier(0, 0, 0.2, 1)")),yg("* => void, * => hidden",pg("75ms cubic-bezier(0.4, 0.0, 1, 1)",gg({opacity:0})))])},gw=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a){var s;return m(this,n),(s=t.call(this))._ngZone=e,s._elementRef=i,s._changeDetectorRef=r,s._platform=o,s.snackBarConfig=a,s._announceDelay=150,s._destroyed=!1,s._onAnnounce=new ae,s._onExit=new ae,s._onEnter=new ae,s._animationState="void",s.attachDomPortal=function(e){return s._assertNotAttached(),s._applySnackBarClasses(),s._portalOutlet.attachDomPortal(e)},s._live="assertive"!==a.politeness||a.announcementMessage?"off"===a.politeness?"off":"polite":"assertive",s._platform.FIREFOX&&("polite"===s._live&&(s._role="status"),"assertive"===s._live&&(s._role="alert")),s}return b(n,[{key:"attachComponentPortal",value:function(e){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(e)}},{key:"attachTemplatePortal",value:function(e){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(e)}},{key:"onAnimationEnd",value:function(e){var t=e.fromState,n=e.toState;if(("void"===n&&"void"!==t||"hidden"===n)&&this._completeExit(),"visible"===n){var i=this._onEnter;this._ngZone.run(function(){i.next(),i.complete()})}}},{key:"enter",value:function(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}},{key:"exit",value:function(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}},{key:"ngOnDestroy",value:function(){this._destroyed=!0,this._completeExit()}},{key:"_completeExit",value:function(){var e=this;this._ngZone.onMicrotaskEmpty.pipe(_p(1)).subscribe(function(){e._onExit.next(),e._onExit.complete()})}},{key:"_applySnackBarClasses",value:function(){var e=this._elementRef.nativeElement,t=this.snackBarConfig.panelClass;t&&(Array.isArray(t)?t.forEach(function(t){return e.classList.add(t)}):e.classList.add(t)),"center"===this.snackBarConfig.horizontalPosition&&e.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&e.classList.add("mat-snack-bar-top")}},{key:"_assertNotAttached",value:function(){this._portalOutlet.hasAttached()}},{key:"_screenReaderAnnounce",value:function(){var e=this;this._announceTimeoutId||this._ngZone.runOutsideAngular(function(){e._announceTimeoutId=setTimeout(function(){var t=e._elementRef.nativeElement.querySelector("[aria-hidden]"),n=e._elementRef.nativeElement.querySelector("[aria-live]");if(t&&n){var i=null;e._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(i=document.activeElement),t.removeAttribute("aria-hidden"),n.appendChild(t),null==i||i.focus(),e._onAnnounce.next(),e._onAnnounce.complete()}},e._announceDelay)})}}]),n}(fp);return e.\u0275fac=function(t){return new(t||e)(Os(Xl),Os(Ju),Os(Cc),Os(qf),Os(hw))},e.\u0275cmp=Ot({type:e,selectors:[["snack-bar-container"]],viewQuery:function(e,t){var n;(1&e&&yl(mp,7),2&e)&&(ml(n=_l())&&(t._portalOutlet=n.first))},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(e,t){1&e&&zs("@state.done",function(e){return t.onAnimationEnd(e)}),2&e&&Mu("@state",t._animationState)},features:[cs],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(e,t){1&e&&(Ps(0,"div",0),Cs(1,cw,0,0,"ng-template",1),Ms(),Is(2,"div")),2&e&&(Yo(2),ks("aria-live",t._live)("role",t._role))},directives:[mp],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[vw.snackBarState]}}),e}(),mw=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cv,yp,cd,Y_,rb],rb]}),e}(),yw=new Ri("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new hw}}),bw=function(){var e=function(){function e(t,n,i,r,o,a){m(this,e),this._overlay=t,this._live=n,this._injector=i,this._breakpointObserver=r,this._parentSnackBar=o,this._defaultConfig=a,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=pw,this.snackBarContainerComponent=gw,this.handsetCssClass="mat-snack-bar-handset"}return b(e,[{key:"_openedSnackBarRef",get:function(){var e=this._parentSnackBar;return e?e._openedSnackBarRef:this._snackBarRefAtThisLevel},set:function(e){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=e:this._snackBarRefAtThisLevel=e}},{key:"openFromComponent",value:function(e,t){return this._attach(e,t)}},{key:"openFromTemplate",value:function(e,t){return this._attach(e,t)}},{key:"open",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,i=Object.assign(Object.assign({},this._defaultConfig),n);return i.data={message:e,action:t},i.announcementMessage===e&&(i.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,i)}},{key:"dismiss",value:function(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}},{key:"ngOnDestroy",value:function(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}},{key:"_attachSnackBarContainer",value:function(e,t){var n=ss.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:hw,useValue:t}]}),i=new lp(this.snackBarContainerComponent,t.viewContainerRef,n),r=e.attach(i);return r.instance.snackBarConfig=t,r.instance}},{key:"_attach",value:function(e,t){var n=this,i=Object.assign(Object.assign(Object.assign({},new hw),this._defaultConfig),t),r=this._createOverlay(i),o=this._attachSnackBarContainer(r,i),a=new fw(o,r);if(e instanceof Pc){var s=new hp(e,null,{$implicit:i.data,snackBarRef:a});a.instance=o.attachTemplatePortal(s)}else{var u=this._createInjector(i,a),c=new lp(e,void 0,u),l=o.attachComponentPortal(c);a.instance=l.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(kf(r.detachments())).subscribe(function(e){var t=r.overlayElement.classList;e.matches?t.add(n.handsetCssClass):t.remove(n.handsetCssClass)}),i.announcementMessage&&o._onAnnounce.subscribe(function(){n._live.announce(i.announcementMessage,i.politeness)}),this._animateSnackBar(a,i),this._openedSnackBarRef=a,this._openedSnackBarRef}},{key:"_animateSnackBar",value:function(e,t){var n=this;e.afterDismissed().subscribe(function(){n._openedSnackBarRef==e&&(n._openedSnackBarRef=null),t.announcementMessage&&n._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(function(){e.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):e.containerInstance.enter(),t.duration&&t.duration>0&&e.afterOpened().subscribe(function(){return e._dismissAfter(t.duration)})}},{key:"_createOverlay",value:function(e){var t=new Np;t.direction=e.direction;var n=this._overlay.position().global(),i="rtl"===e.direction,r="left"===e.horizontalPosition||"start"===e.horizontalPosition&&!i||"end"===e.horizontalPosition&&i,o=!r&&"center"!==e.horizontalPosition;return r?n.left("0"):o?n.right("0"):n.centerHorizontally(),"top"===e.verticalPosition?n.top("0"):n.bottom("0"),t.positionStrategy=n,this._overlay.create(t)}},{key:"_createInjector",value:function(e,t){return ss.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:fw,useValue:t},{provide:lw,useValue:e.data}]})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(iv),Zi(tg),Zi(ss),Zi(aw),Zi(e,12),Zi(yw))},e.\u0275prov=$e({factory:function(){return new e(Zi(iv),Zi(tg),Zi(Xa),Zi(aw),Zi(e,12),Zi(yw))},token:e,providedIn:mw}),e}(),_w={tooltipState:fg("state",[mg("initial, void, hidden",gg({opacity:0,transform:"scale(0)"})),mg("visible",gg({transform:"scale(1)"})),yg("* => visible",pg("200ms cubic-bezier(0, 0, 0.2, 1)",function(e){return{type:5,steps:e}}([gg({opacity:0,transform:"scale(0)",offset:0}),gg({opacity:.5,transform:"scale(0.99)",offset:.5}),gg({opacity:1,transform:"scale(1)",offset:1})]))),yg("* => hidden",pg("100ms cubic-bezier(0, 0, 0.2, 1)",gg({opacity:0})))])},ww="tooltip-panel",kw=$f({passive:!0}),xw=new Ri("mat-tooltip-scroll-strategy"),Sw={provide:xw,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.reposition({scrollThrottle:20})}}},Cw=new Ri("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}}),Ew=function(){var e=function(){function e(t,n,i,r,o,a,s,u,c,l,h,d){var f=this;m(this,e),this._overlay=t,this._elementRef=n,this._scrollDispatcher=i,this._viewContainerRef=r,this._ngZone=o,this._platform=a,this._ariaDescriber=s,this._focusMonitor=u,this._dir=l,this._defaultOptions=h,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new ae,this._handleKeydown=function(e){f._isTooltipVisible()&&27===e.keyCode&&!Ep(e)&&(e.preventDefault(),e.stopPropagation(),f._ngZone.run(function(){return f.hide(0)}))},this._scrollStrategy=c,this._document=d,h&&(h.position&&(this.position=h.position),h.touchGestures&&(this.touchGestures=h.touchGestures)),l.change.pipe(kf(this._destroyed)).subscribe(function(){f._overlayRef&&f._updatePosition(f._overlayRef)}),o.runOutsideAngular(function(){n.nativeElement.addEventListener("keydown",f._handleKeydown)})}return b(e,[{key:"position",get:function(){return this._position},set:function(e){var t;e!==this._position&&(this._position=e,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(t=this._tooltipInstance)||void 0===t||t.show(0),this._overlayRef.updatePosition()))}},{key:"disabled",get:function(){return this._disabled},set:function(e){this._disabled=Wd(e),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}},{key:"message",get:function(){return this._message},set:function(e){var t=this;this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=e?String(e).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(function(){Promise.resolve().then(function(){t._ariaDescriber.describe(t._elementRef.nativeElement,t.message,"tooltip")})}))}},{key:"tooltipClass",get:function(){return this._tooltipClass},set:function(e){this._tooltipClass=e,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}},{key:"ngAfterViewInit",value:function(){var e=this;this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(kf(this._destroyed)).subscribe(function(t){t?"keyboard"===t&&e._ngZone.run(function(){return e.show()}):e._ngZone.run(function(){return e.hide(0)})})}},{key:"ngOnDestroy",value:function(){var e=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),e.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(function(n){var i=t(n,2),r=i[0],o=i[1];e.removeEventListener(r,o,kw)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(e,this.message,"tooltip"),this._focusMonitor.stopMonitoring(e)}},{key:"show",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.showDelay;if(!this.disabled&&this.message&&(!this._isTooltipVisible()||this._tooltipInstance._showTimeoutId||this._tooltipInstance._hideTimeoutId)){var n=this._createOverlay();this._detach(),this._portal=this._portal||new lp(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=n.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(kf(this._destroyed)).subscribe(function(){return e._detach()}),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}}},{key:"hide",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.hideDelay;this._tooltipInstance&&this._tooltipInstance.hide(e)}},{key:"toggle",value:function(){this._isTooltipVisible()?this.hide():this.show()}},{key:"_isTooltipVisible",value:function(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}},{key:"_createOverlay",value:function(){var e=this;if(this._overlayRef)return this._overlayRef;var t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),n=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(".".concat(this._cssClassPrefix,"-tooltip")).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return n.positionChanges.pipe(kf(this._destroyed)).subscribe(function(t){e._updateCurrentPositionClass(t.connectionPair),e._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&e._tooltipInstance.isVisible()&&e._ngZone.run(function(){return e.hide(0)})}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:n,panelClass:"".concat(this._cssClassPrefix,"-").concat(ww),scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(kf(this._destroyed)).subscribe(function(){return e._detach()}),this._overlayRef.outsidePointerEvents().pipe(kf(this._destroyed)).subscribe(function(){var t;return null===(t=e._tooltipInstance)||void 0===t?void 0:t._handleBodyInteraction()}),this._overlayRef}},{key:"_detach",value:function(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}},{key:"_updatePosition",value:function(e){var t=e.getConfig().positionStrategy,n=this._getOrigin(),i=this._getOverlayPosition();t.withPositions([this._addOffset(Object.assign(Object.assign({},n.main),i.main)),this._addOffset(Object.assign(Object.assign({},n.fallback),i.fallback))])}},{key:"_addOffset",value:function(e){return e}},{key:"_getOrigin",value:function(){var e,t=!this._dir||"ltr"==this._dir.value,n=this.position;"above"==n||"below"==n?e={originX:"center",originY:"above"==n?"top":"bottom"}:"before"==n||"left"==n&&t||"right"==n&&!t?e={originX:"start",originY:"center"}:("after"==n||"right"==n&&t||"left"==n&&!t)&&(e={originX:"end",originY:"center"});var i=this._invertPosition(e.originX,e.originY);return{main:e,fallback:{originX:i.x,originY:i.y}}}},{key:"_getOverlayPosition",value:function(){var e,t=!this._dir||"ltr"==this._dir.value,n=this.position;"above"==n?e={overlayX:"center",overlayY:"bottom"}:"below"==n?e={overlayX:"center",overlayY:"top"}:"before"==n||"left"==n&&t||"right"==n&&!t?e={overlayX:"end",overlayY:"center"}:("after"==n||"right"==n&&t||"left"==n&&!t)&&(e={overlayX:"start",overlayY:"center"});var i=this._invertPosition(e.overlayX,e.overlayY);return{main:e,fallback:{overlayX:i.x,overlayY:i.y}}}},{key:"_updateTooltipMessage",value:function(){var e=this;this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(_p(1),kf(this._destroyed)).subscribe(function(){e._tooltipInstance&&e._overlayRef.updatePosition()}))}},{key:"_setTooltipClass",value:function(e){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=e,this._tooltipInstance._markForCheck())}},{key:"_invertPosition",value:function(e,t){return"above"===this.position||"below"===this.position?"top"===t?t="bottom":"bottom"===t&&(t="top"):"end"===e?e="start":"start"===e&&(e="end"),{x:e,y:t}}},{key:"_updateCurrentPositionClass",value:function(e){var t,n=e.overlayY,i=e.originX,r=e.originY;if((t="center"===n?this._dir&&"rtl"===this._dir.value?"end"===i?"left":"right":"start"===i?"left":"right":"bottom"===n&&"top"===r?"above":"below")!==this._currentPosition){var o=this._overlayRef;if(o){var a="".concat(this._cssClassPrefix,"-").concat(ww,"-");o.removePanelClass(a+this._currentPosition),o.addPanelClass(a+t)}this._currentPosition=t}}},{key:"_setupPointerEnterEventsIfNeeded",value:function(){var e=this;this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",function(){e._setupPointerExitEventsIfNeeded(),e.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",function(){e._setupPointerExitEventsIfNeeded(),clearTimeout(e._touchstartTimeout),e._touchstartTimeout=setTimeout(function(){return e.show()},500)}])),this._addListeners(this._passiveListeners))}},{key:"_setupPointerExitEventsIfNeeded",value:function(){var e,t=this;if(!this._pointerExitEventsInitialized){this._pointerExitEventsInitialized=!0;var n=[];if(this._platformSupportsMouseEvents())n.push(["mouseleave",function(){return t.hide()}],["wheel",function(e){return t._wheelListener(e)}]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();var i=function(){clearTimeout(t._touchstartTimeout),t.hide(t._defaultOptions.touchendHideDelay)};n.push(["touchend",i],["touchcancel",i])}this._addListeners(n),(e=this._passiveListeners).push.apply(e,n)}}},{key:"_addListeners",value:function(e){var n=this;e.forEach(function(e){var i=t(e,2),r=i[0],o=i[1];n._elementRef.nativeElement.addEventListener(r,o,kw)})}},{key:"_platformSupportsMouseEvents",value:function(){return!this._platform.IOS&&!this._platform.ANDROID}},{key:"_wheelListener",value:function(e){if(this._isTooltipVisible()){var t=this._document.elementFromPoint(e.clientX,e.clientY),n=this._elementRef.nativeElement;t!==n&&!n.contains(t)&&this.hide()}}},{key:"_disableNativeGesturesIfNecessary",value:function(){var e=this.touchGestures;if("off"!==e){var t=this._elementRef.nativeElement,n=t.style;("on"===e||"INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName)&&(n.userSelect=n.msUserSelect=n.webkitUserSelect=n.MozUserSelect="none"),("on"===e||!t.draggable)&&(n.webkitUserDrag="none"),n.touchAction="none",n.webkitTapHighlightColor="transparent"}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(Ju),Os(op),Os(Nc),Os(Xl),Os(qf),Os(Fv),Os(rg),Os(void 0),Os(tp),Os(void 0),Os(bh))},e.\u0275dir=Rt({type:e,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),e}(),Ow=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c,l,h,d,f){var p;return m(this,n),(p=t.call(this,e,i,r,o,a,s,u,c,l,h,d,f))._tooltipComponent=Aw,p}return n}(Ew);return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(Ju),Os(op),Os(Nc),Os(Xl),Os(qf),Os(Fv),Os(rg),Os(xw),Os(tp,8),Os(Cw,8),Os(bh))},e.\u0275dir=Rt({type:e,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[cs]}),e}(),Tw=function(){var e=function(){function e(t){m(this,e),this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new ae}return b(e,[{key:"show",value:function(e){var t=this;clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(function(){t._visibility="visible",t._showTimeoutId=void 0,t._onShow(),t._markForCheck()},e)}},{key:"hide",value:function(e){var t=this;clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(function(){t._visibility="hidden",t._hideTimeoutId=void 0,t._markForCheck()},e)}},{key:"afterHidden",value:function(){return this._onHide}},{key:"isVisible",value:function(){return"visible"===this._visibility}},{key:"ngOnDestroy",value:function(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}},{key:"_animationStart",value:function(){this._closeOnInteraction=!1}},{key:"_animationDone",value:function(e){var t=e.toState;"hidden"===t&&!this.isVisible()&&this._onHide.next(),("visible"===t||"hidden"===t)&&(this._closeOnInteraction=!0)}},{key:"_handleBodyInteraction",value:function(){this._closeOnInteraction&&this.hide(0)}},{key:"_markForCheck",value:function(){this._changeDetectorRef.markForCheck()}},{key:"_onShow",value:function(){}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Cc))},e.\u0275dir=Rt({type:e}),e}(),Aw=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e))._breakpointObserver=i,r._isHandset=r._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)"),r}return n}(Tw);return e.\u0275fac=function(t){return new(t||e)(Os(Cc),Os(aw))},e.\u0275cmp=Ot({type:e,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(e,t){2&e&&uu("zoom","visible"===t._visibility?1:null)},features:[cs],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(e,t){var n;(1&e&&(Ps(0,"div",0),Vs("@state.start",function(){return t._animationStart()})("@state.done",function(e){return t._animationDone(e)}),Jc(1,"async"),Cu(2),Ms()),2&e)&&(cu("mat-tooltip-handset",null==(n=el(1,5,t._isHandset))?null:n.matches),Ts("ngClass",t.tooltipClass)("@state",t._visibility),Yo(2),Eu(t.message))},directives:[Gh],pipes:[sd],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[_w.tooltipState]},changeDetection:0}),e}(),Pw=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[Sw],imports:[[cg,cd,cv,rb],rb,sp]}),e}();function Mw(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a}function Iw(e,t){return function(n,i){t(n,i,e)}}function Rw(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function Dw(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{u(i.next(e))}catch(t){o(t)}}function s(e){try{u(i.throw(e))}catch(t){o(t)}}function u(e){e.done?r(e.value):function(e){return e instanceof n?e:new n(function(t){t(e)})}(e.value).then(a,s)}u((i=i.apply(e,t||[])).next())})}function Nw(e){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;var t="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=e||t;return!!(n&&n.indexOf("Electron")>=0)}function Lw(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Nw()}var jw="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",Fw=Lw(),Bw=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";m(this,e),this.storage=function(e){try{var n=window[e],i="__storage_test__";return n.setItem(i,i),n.removeItem(i),n}catch(t){return null}}(i),this.id=t,this.config={},Object.assign(this.config,n),this._loadConfiguration()}return b(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function Vw(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,r=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>i&&(n=Math.min(n,i/e.width));var o=e.width*n,a=e.height*n,s=["font-size:1px;","padding:".concat(Math.floor(a/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(a,"px;"),"background:url(".concat(r,");"),"background-size:".concat(o,"px ").concat(a,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),s]}var zw={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Uw(e){return"string"==typeof e?zw[e.toUpperCase()]||zw.WHITE:e}function Hw(e,t){if(!e)throw new Error(t||"Assertion failed")}var Gw={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Ww=Gw.window||Gw.self||Gw.global,qw=Gw.process||{};function Xw(){var e;if(Fw&&Ww.performance)e=Ww.performance.now();else if(qw.hrtime){var t=qw.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}console;var Yw={debug:Fw&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Kw={enabled:!0,level:0};function $w(){}var Qw={},Zw={once:!0};function Jw(e){for(var t in e)for(var n in e[t])return n||"untitled";return"empty"}var ek=function(){var e=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},n=t.id;m(this,e),this.id=n,this.VERSION=jw,this._startTs=Xw(),this._deltaTs=Xw(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Bw("__probe-".concat(this.id,"__"),Kw),this.userData={},this.timeStamp("".concat(this.id," started")),function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"],i=Object.getPrototypeOf(e),r=Object.getOwnPropertyNames(i),o=_(r);try{var a=function(){var i=t.value;"function"==typeof e[i]&&(n.find(function(e){return i===e})||(e[i]=e[i].bind(e)))};for(o.s();!(t=o.n()).done;)a()}catch(s){o.e(s)}finally{o.f()}}(this),Object.seal(this)}return b(e,[{key:"level",get:function(){return this.getLevel()},set:function(e){this.setLevel(e)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((Xw()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((Xw()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(e){this.level=e}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"assert",value:function(e,t){Hw(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,Yw.warn,arguments,Zw)}},{key:"error",value:function(e){return this._getLogFunction(0,e,Yw.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,Yw.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,Yw.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){return this._getLogFunction(e,t,Yw.debug||Yw.info,arguments,Zw)}},{key:"table",value:function(e,t,n){return t?this._getLogFunction(e,t,console.table||$w,n&&[n],{tag:Jw(t)}):$w}},{key:"image",value:function(e){var t=e.logLevel,n=e.priority,i=e.image,o=e.message,a=void 0===o?"":o,s=e.scale,u=void 0===s?1:s;return this._shouldLog(t||n)?Fw?function(e){var t,n=e.image,i=e.message,r=void 0===i?"":i,o=e.scale,a=void 0===o?1:o;if("string"==typeof n){var s=new Image;return s.onload=function(){var e,t=Vw(s,r,a);(e=console).log.apply(e,v(t))},s.src=n,$w}var u=n.nodeName||"";if("img"===u.toLowerCase())return(t=console).log.apply(t,v(Vw(n,r,a))),$w;if("canvas"===u.toLowerCase()){var c=new Image;return c.onload=function(){var e;return(e=console).log.apply(e,v(Vw(c,r,a)))},c.src=n.toDataURL(),$w}return $w}({image:i,message:a,scale:u}):function(e){var t=e.image,n=e.scale,o=void 0===n?1:n,a=null;try{a=r(75307)}catch(i){}return a?function(){return a(t,{fit:"box",width:"".concat(Math.round(80*o),"%")}).then(function(e){return console.log(e)})}:$w}({image:i,message:a,scale:u}):$w}},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(o({},e,t))}},{key:"time",value:function(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}},{key:"timeEnd",value:function(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}},{key:"timeStamp",value:function(e,t){return this._getLogFunction(e,t,console.timeStamp||$w)}},{key:"group",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},i=n=nk({logLevel:e,message:t,opts:n}),r=i.collapsed;return n.method=(r?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}},{key:"groupCollapsed",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||$w)}},{key:"withGroup",value:function(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=tk(e)}},{key:"_getLogFunction",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],r=arguments.length>4?arguments[4]:void 0;if(this._shouldLog(e)){var o;r=nk({logLevel:e,message:t,args:i,opts:r}),Hw(n=n||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=Xw();var a=r.tag||r.message;if(r.once){if(Qw[a])return $w;Qw[a]=Xw()}return t=function(e,t,n){if("string"==typeof t){var i=n.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=Math.max(t-e.length,0);return"".concat(" ".repeat(n)).concat(e)}(function(e){return e<10?"".concat(e.toFixed(2),"ms"):e<100?"".concat(e.toFixed(1),"ms"):e<1e3?"".concat(e.toFixed(0),"ms"):"".concat((e/1e3).toFixed(2),"s")}(n.total)):"";t=function(e,t,n){return!Fw&&"string"==typeof e&&(t&&(t=Uw(t),e="\x1b[".concat(t,"m").concat(e,"\x1b[39m")),n&&(t=Uw(n),e="\x1b[".concat(n+10,"m").concat(e,"\x1b[49m"))),e}(t=n.time?"".concat(e,": ").concat(i," ").concat(t):"".concat(e,": ").concat(t),n.color,n.background)}return t}(this.id,r.message,r),(o=n).bind.apply(o,[console,t].concat(v(r.args)))}return $w}}]),e}();return e.VERSION=jw,e}();function tk(e){if(!e)return 0;var t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return Hw(Number.isFinite(t)&&t>=0),t}function nk(e){var t=e.logLevel,n=e.message;e.logLevel=tk(t);for(var i=e.args?Array.from(e.args):[];i.length&&i.shift()!==n;);switch(e.args=i,typeof t){case"string":case"function":void 0!==n&&i.unshift(n),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var r=typeof e.message;return Hw("string"===r||"object"===r),Object.assign(e,e.opts)}var ik=new ek({id:"deck"}),rk={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(rk,"IDENTITY",{get:function(){return ik.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0}});var ok={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},ak={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},sk=new ek({id:"luma.gl"});function uk(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}function ck(e){return"undefined"!=typeof WebGLRenderingContext&&e instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&Number.isFinite(e._version))}function lk(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&2===e._version)}function hk(e){return uk(ck(e),"Invalid WebGLRenderingContext"),e}function dk(e){return uk(lk(e),"Requires WebGL2"),e}var fk={},pk=function e(t){var n=t.gl;this.ext=t,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(t.maxVertexAttribs);for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:{},i=n.copyState,r=void 0!==i&&i,o=n.log,a=void 0===o?function(){}:o;m(this,e),this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=r?function(e,t){if("number"==typeof(t=t||Sk)){var n=t,i=Dk[n];return i?i(e,n):e.getParameter(n)}var r,o={},a=_(Array.isArray(t)?t:Object.keys(t));try{for(a.s();!(r=a.n()).done;){var s=r.value,u=Dk[s];o[s]=u?u(e,Number(s)):e.getParameter(Number(s))}}catch(c){a.e(c)}finally{a.f()}return o}(t):Object.assign({},Sk),this.log=a,this._updateCache=this._updateCache.bind(this),Object.seal(this)}return b(e,[{key:"push",value:function(){this.stateStack.push({})}},{key:"pop",value:function(){uk(this.stateStack.length>0),Uk(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}},{key:"_updateCache",value:function(e){var t,n=!1,i=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(var r in e){uk(void 0!==r);var o=e[r],a=this.cache[r];Lk(o,a)||(n=!0,t=a,i&&!(r in i)&&(i[r]=a),this.cache[r]=o)}return{valueChanged:n,oldValue:t}}}]),e}();function Vk(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.enable,i=void 0===n||n,r=t.copyState;if(uk(void 0!==r),!e.state){var o=globalThis.polyfillContext;for(var a in o&&o(e),e.state=new Bk(e,{copyState:r}),function(e){var t=e.useProgram.bind(e);e.useProgram=function(n){e.state.program!==n&&(t(n),e.state.program=n)}}(e),Ik)Fk(e,a,Ik[a]);jk(e,"getParameter"),jk(e,"isEnabled")}return e.state.enable=i,e}function zk(e){uk(e.state),e.state.pop()}function Uk(e,t){if(uk(ck(e),"setParameters requires a WebGL context"),!Nk(t)){var n={};for(var i in t){var r=Number(i),o=Ak[i];o&&("string"==typeof o?n[o]=!0:o(e,t[i],r))}var a=e.state&&e.state.cache;if(a)for(var s in n)Mk[s](e,t,a)}}function Hk(e,t,n){if(Nk(t))return n(e);var i,r=t.nocatch,o=void 0===r||r;if(function(e){e.state||Vk(e,{copyState:!1}),e.state.push()}(e),Uk(e,t),o)i=n(e),zk(e);else try{i=n(e)}finally{zk(e)}return i}function Gk(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(e){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;var t="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(t&&t.indexOf("Electron")>=0)}()}function Wk(e){var t=e.luma;if(e.canvas&&t){var n=t.canvasSizeInfo.clientWidth;return n?e.drawingBufferWidth/n:1}return 1}function qk(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return function(e,t,n,i,r){var o,a=Xk(e[0],t,n),s=Yk(e[1],t,i,r),u=Xk(e[0]+1,t,n),c=u===n-1?u:u-1;return u=Yk(e[1]+1,t,i,r),r?(o=s,s=u=0===u?u:u+1):o=u===i-1?u:u-1,{x:a,y:s,width:Math.max(c-a+1,1),height:Math.max(o-s+1,1)}}(t,Wk(e),e.drawingBufferWidth,e.drawingBufferHeight,n)}function Xk(e,t,n){return Math.min(Math.round(e*t),n-1)}function Yk(e,t,n,i){return i?Math.max(0,n-1-Math.round(e*t)):Math.min(Math.round(e*t),n-1)}var Kk=Gk(),$k=Kk&&"undefined"!=typeof document,Qk={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function Zk(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};uk(Kk,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils");var t,n=e=Object.assign({},Qk,e),i=n.width,r=n.height;function o(t){if(e.throwOnError)throw new Error(t);return console.error(t),null}e.onError=o;var a=e,s=a.canvas,u=function(e){var t,n=e.canvas,i=e.width,r=void 0===i?800:i,o=e.height,a=void 0===o?600:o,s=e.onError;return"string"==typeof n?($k&&"complete"===document.readyState||s("createGLContext called on canvas '".concat(n,"' before page was loaded")),t=document.getElementById(n)):n?t=n:((t=document.createElement("canvas")).id="lumagl-canvas",t.style.width=Number.isFinite(r)?"".concat(r,"px"):"100%",t.style.height=Number.isFinite(a)?"".concat(a,"px"):"100%",document.body.insertBefore(t,document.body.firstChild)),t}({canvas:s,width:i,height:r,onError:o});return(t=function(e,t){var n=t.onError,i=null,r=function(e){return i=e.statusMessage||i};e.addEventListener("webglcontextcreationerror",r,!1);var o=t.webgl1,a=void 0===o||o,s=t.webgl2,u=void 0===s||s,c=null;return u&&(c=(c=c||e.getContext("webgl2",t))||e.getContext("experimental-webgl2",t)),a&&(c=(c=c||e.getContext("webgl",t))||e.getContext("experimental-webgl",t)),e.removeEventListener("webglcontextcreationerror",r,!1),c?(t.onContextLost&&e.addEventListener("webglcontextlost",t.onContextLost,!1),t.onContextRestored&&e.addEventListener("webglcontextrestored",t.onContextRestored,!1),c):n("Failed to create ".concat(u&&!a?"WebGL2":"WebGL"," context: ").concat(i||"Unknown error"))}(u,e))?(function(e){var t=lk(e)?"WebGL2":"WebGL1",n=function(e){var t=e.getParameter(7936),n=e.getParameter(7937),i=e.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&e.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||t,renderer:i&&e.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||n,vendorMasked:t,rendererMasked:n,version:e.getParameter(7938),shadingLanguageVersion:e.getParameter(35724)}}(e);sk.info(1,"".concat(t).concat(e.debug?" debug":""," context ").concat(n?"(".concat(n.vendor,",").concat(n.renderer,")"):""))()}(t=Jk(t,e)),t):null}function Jk(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e||e._instrumented)return e;e._version=e._version||function(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext?2:1}(e),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};var n=t=Object.assign({},Qk,t),i=n.manageState,r=n.debug;return i&&Vk(e,{copyState:!1,log:function(){for(var e=arguments.length,t=new Array(e),n=0;n0?this.lastSampleCount/this.sampleSize:0}},{key:"getSampleAverageTime",value:function(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}},{key:"getSampleHz",value:function(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}},{key:"getAverageCount",value:function(){return this.samples>0?this.count/this.samples:0}},{key:"getAverageTime",value:function(){return this.samples>0?this.time/this.samples:0}},{key:"getHz",value:function(){return this.time>0?this.samples/(this.time/1e3):0}},{key:"reset",value:function(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}},{key:"_checkSampling",value:function(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}]),e}(),nx=function(){function e(t){var n=t.id,i=t.stats;m(this,e),this.id=n,this.stats={},this._initializeStats(i),Object.seal(this)}return b(e,[{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"count";return this._getOrCreate({name:e,type:t})}},{key:"size",get:function(){return Object.keys(this.stats).length}},{key:"reset",value:function(){for(var e in this.stats)this.stats[e].reset();return this}},{key:"forEach",value:function(e){for(var t in this.stats)e(this.stats[t])}},{key:"getTable",value:function(){var e={};return this.forEach(function(t){e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}},{key:"_initializeStats",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.forEach(function(t){return e._getOrCreate(t)})}},{key:"_getOrCreate",value:function(e){if(!e||!e.name)return null;var t=e.name,n=e.type;return this.stats[t]||(this.stats[t]=e instanceof tx?e:new tx(t,n)),this.stats[t]}}]),e}(),ix="8.5.12",rx=new(function(){function e(){m(this,e),this.stats=new Map}return b(e,[{key:"get",value:function(e){return this.stats.has(e)||this.stats.set(e,new nx({id:e})),this.stats.get(e)}}]),e}());if(globalThis.luma&&globalThis.luma.VERSION!==ix)throw new Error("luma.gl - multiple VERSIONs detected: ".concat(globalThis.luma.VERSION," vs ").concat(ix));function ox(e,t){if(!e)throw new Error(t||"luma.gl: assertion failed.")}function ax(e,t){if("string"!=typeof t)return t;var n=Number(t);if(!isNaN(n))return n;var i=e[t=t.replace(/^.*\./,"")];return ox(void 0!==i,"Accessing undefined constant GL.".concat(t)),i}function sx(e,t){for(var n in t=Number(t),e)if(e[n]===t)return"GL.".concat(n);return String(t)}globalThis.luma||(Gk()&&sk.log(1,"luma.gl ".concat(ix," - set luma.log.level=1 (or higher) to trace rendering"))(),globalThis.luma=globalThis.luma||{VERSION:ix,version:ix,log:sk,stats:rx,globals:{modules:{},nodeIO:{}}}),globalThis;var ux={};function cx(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"id";return ux[e]=ux[e]||1,"".concat(e,"-").concat(ux[e]++)}function lx(e){return ox("number"==typeof e,"Input must be a number"),e&&0==(e&e-1)}function hx(e){var t=!0;for(var n in e){t=!1;break}return t}function dx(e,t,n,i){var r="See luma.gl ".concat(n," Upgrade Guide at https://luma.gl/docs/upgrade-guide"),o=Object.getPrototypeOf(e);i.forEach(function(e){o.methodName||(o[e]=function(){throw sk.removed("Calling removed method ".concat(t,".").concat(e,": "),r)(),new Error(e)})})}var fx="Resource subclass must define virtual methods",px=function(e){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,t),hk(e);var i=n.id,r=n.userData,o=void 0===r?{}:r;this.gl=e,this.gl2=e,this.id=i||cx(this[Symbol.toStringTag]),this.userData=o,this._bound=!1,this._handle=n.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}return b(t,[{key:Symbol.toStringTag,get:function(){return"Resource"}},{key:"toString",value:function(){return"".concat(this[Symbol.toStringTag]||this.constructor.name,"(").concat(this.id,")")}},{key:"handle",get:function(){return this._handle}},{key:"delete",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.deleteChildren,n=void 0!==t&&t,i=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,i&&n&&i.filter(Boolean).forEach(function(e){return e.delete()}),this}},{key:"bind",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.handle;return"function"!=typeof t?(this._bindHandle(t),this):(this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e)}},{key:"unbind",value:function(){this.bind(null)}},{key:"getParameter",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ox(e=ax(this.gl,e));var n=(this.constructor.PARAMETERS||{})[e];if(n){var i=lk(this.gl);if("webgl2"in n&&!i||"extension"in n&&!this.gl.getExtension(n.extension)){var r=n.webgl1,o="webgl2"in n?n.webgl2:n.webgl1;return i?o:r}}return this._getParameter(e,t)}},{key:"getParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.parameters,i=t.keys,r=this.constructor.PARAMETERS||{},o=lk(this.gl),a={},s=n||Object.keys(r),u=_(s);try{for(u.s();!(e=u.n()).done;){var c=e.value,l=r[c];if(l&&(!("webgl2"in l)||o)&&(!("extension"in l)||this.gl.getExtension(l.extension))){var h=i?sx(this.gl,c):c;a[h]=this.getParameter(c,t),i&&"GLenum"===l.type&&(a[h]=sx(this.gl,a[h]))}}}catch(d){u.e(d)}finally{u.f()}return a}},{key:"setParameter",value:function(e,t){ox(e=ax(this.gl,e));var n=(this.constructor.PARAMETERS||{})[e];if(n){var i=lk(this.gl);if("webgl2"in n&&!i||"extension"in n&&!this.gl.getExtension(n.extension))throw new Error("Parameter not available on this platform");"GLenum"===n.type&&(t=ax(t))}return this._setParameter(e,t),this}},{key:"setParameters",value:function(e){for(var t in e)this.setParameter(t,e[t]);return this}},{key:"stubRemovedMethods",value:function(e,t,n){return dx(this,e,t,n)}},{key:"initialize",value:function(e){}},{key:"_createHandle",value:function(){throw new Error(fx)}},{key:"_deleteHandle",value:function(){throw new Error(fx)}},{key:"_bindHandle",value:function(e){throw new Error(fx)}},{key:"_getOptsFromHandle",value:function(){throw new Error(fx)}},{key:"_getParameter",value:function(e,t){throw new Error(fx)}},{key:"_setParameter",value:function(e,t){throw new Error(fx)}},{key:"_context",value:function(){return this.gl.luma=this.gl.luma||{},this.gl.luma}},{key:"_addStats",value:function(){var e=this[Symbol.toStringTag],t=rx.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get("".concat(e,"s Created")).incrementCount(),t.get("".concat(e,"s Active")).incrementCount()}},{key:"_removeStats",value:function(){var e=this[Symbol.toStringTag];rx.get("Resource Counts").get("".concat(e,"s Active")).decrementCount()}},{key:"_trackAllocatedMemory",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this[Symbol.toStringTag],n=rx.get("Memory Usage");n.get("GPU Memory").addCount(e),n.get("".concat(t," Memory")).addCount(e),this.byteLength=e}},{key:"_trackDeallocatedMemory",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this[Symbol.toStringTag],t=rx.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get("".concat(e," Memory")).subtractCount(this.byteLength),this.byteLength=0}}]),t}();function vx(e){switch(ArrayBuffer.isView(e)?e.constructor:e){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function gx(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.clamped,i=void 0===n||n;switch(e){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return i?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function mx(e){for(var t=e.data,n=e.width,i=e.height,r=Math.round(n/2),o=Math.round(i/2),a=new Uint8Array(r*o*4),s=0;s0&&void 0!==arguments[0]?arguments[0]:{};return void 0!==(e=yx("Accessor",e,_x)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}],[{key:"getBytesPerElement",value:function(e){return gx(e.type||5126).BYTES_PER_ELEMENT}},{key:"getBytesPerVertex",value:function(e){return ox(e.size),gx(e.type||5126).BYTES_PER_ELEMENT*e.size}},{key:"resolve",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),(t=n.call(this,e,r)).stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),t.target=r.target||(t.gl.webgl2?36662:34962),t.initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Buffer"}},{key:"getElementCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/wx.getBytesPerElement(e))}},{key:"getVertexCount",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.accessor;return Math.round(this.byteLength/wx.getBytesPerVertex(e))}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=yx("Buffer",e,xx),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}},{key:"setProps",value:function(e){return"accessor"in(e=yx("Buffer",e,Sx))&&this.setAccessor(e.accessor),this}},{key:"setAccessor",value:function(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new wx(e),this}},{key:"reallocate",value:function(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}},{key:"setData",value:function(e){return this.initialize(e)}},{key:"subData",value:function(e){ArrayBuffer.isView(e)&&(e={data:e});var t=e,n=t.data,i=t.offset,r=void 0===i?0:i,o=t.srcOffset,a=void 0===o?0:o,s=e.byteLength||e.length;ox(n);var u=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(u,this.handle),0!==a||void 0!==s?(dk(this.gl),this.gl.bufferSubData(this.target,r,n,a,s)):this.gl.bufferSubData(u,r,n),this.gl.bindBuffer(u,null),this.debugData=null,this._inferType(n),this}},{key:"copyData",value:function(e){var t=e.sourceBuffer,n=e.readOffset,i=void 0===n?0:n,r=e.writeOffset,o=void 0===r?0:r,a=e.size,s=this.gl;return dk(s),s.bindBuffer(36662,t.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,i,o,a),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.dstData,n=void 0===t?null:t,i=e.srcByteOffset,r=void 0===i?0:i,o=e.dstOffset,a=void 0===o?0:o,s=e.length,u=void 0===s?0:s;dk(this.gl);var c,l,h=gx(this.accessor.type||5126,{clamped:!1}),d=this._getAvailableElementCount(r),f=a;n?c=(l=n.length)-f:l=f+(c=Math.min(d,u||d));var p=Math.min(d,c);return ox((u=u||p)<=p),n=n||new h(l),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,r,n,a,u),this.gl.bindBuffer(36662,null),n}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?this.target:t,i=e.index,r=void 0===i?this.accessor&&this.accessor.index:i,o=e.offset,a=void 0===o?0:o,s=e.size;return 35345===n||35982===n?void 0!==s?this.gl.bindBufferRange(n,r,this.handle,a,s):(ox(0===a),this.gl.bindBufferBase(n,r,this.handle)):this.gl.bindBuffer(n,this.handle),this}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?this.target:t,i=e.index,r=void 0===i?this.accessor&&this.accessor.index:i;return 35345===n||35982===n?this.gl.bindBufferBase(n,r,null):this.gl.bindBuffer(n,null),this}},{key:"getDebugData",value:function(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}},{key:"invalidateDebugData",value:function(){this.debugData=null}},{key:"_setData",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.byteLength+t;ox(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();var i=this._getTarget();this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,this.usage),this.gl.bufferSubData(i,t,e),this.gl.bindBuffer(i,null),this.debugData=e.slice(0,10),this.bytesUsed=n,this._trackAllocatedMemory(n);var r=vx(e);return ox(r),this.setAccessor(new wx(this.accessor,{type:r})),this}},{key:"_setByteLength",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.usage;ox(e>=0),this._trackDeallocatedMemory();var n=e;0===e&&(n=new Float32Array(0));var i=this._getTarget();return this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,t),this.gl.bindBuffer(i,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}},{key:"_getTarget",value:function(){return this.gl.webgl2?36663:this.target}},{key:"_getAvailableElementCount",value:function(e){var t=e/gx(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-t}},{key:"_inferType",value:function(e){this.accessor.type||this.setAccessor(new wx(this.accessor,{type:vx(e)}))}},{key:"_createHandle",value:function(){return this.gl.createBuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}},{key:"_getParameter",value:function(e){this.gl.bindBuffer(this.target,this.handle);var t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}},{key:"type",get:function(){return sk.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}},{key:"bytes",get:function(){return sk.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}},{key:"setByteLength",value:function(e){return sk.deprecated("setByteLength","reallocate")(),this.reallocate(e)}},{key:"updateAccessor",value:function(e){return sk.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new wx(this.accessor,e),this}}]),i}(px,Symbol.toStringTag),Ex={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},Ox={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},Tx={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},Ax=[9729,9728],Px=globalThis.WebGLBuffer||function(){},Mx=function(e,n){a(r,e);var i=s(r);function r(e,t){var n;m(this,r);var o=t.id,a=void 0===o?cx("texture"):o,s=t.handle,u=t.target;return(n=i.call(this,e,{id:a,handle:s})).target=u,n.textureUnit=void 0,n.loaded=!1,n.width=void 0,n.height=void 0,n.depth=void 0,n.format=void 0,n.type=void 0,n.dataFormat=void 0,n.border=void 0,n.textureUnit=void 0,n.mipmaps=void 0,n}return b(r,[{key:n,get:function(){return"Texture"}},{key:"toString",value:function(){return"Texture(".concat(this.id,",").concat(this.width,"x").concat(this.height,")")}},{key:"initialize",value:function(){var e,t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=n.data;if(i instanceof Promise)return i.then(function(e){return t.initialize(Object.assign({},n,{pixels:e,data:e}))}),this;var r="undefined"!=typeof HTMLVideoElement&&i instanceof HTMLVideoElement;if(r&&i.readyState=HTMLVideoElement.HAVE_CURRENT_DATA?i.currentTime:-1}),this}},{key:"update",value:function(){if(this._video){var e=this._video,t=e.video,n=e.parameters;if(e.lastTime===t.currentTime||t.readyState0&&void 0!==arguments[0]?arguments[0]:{};return this._isNPOT()?(sk.warn("texture: ".concat(this," is Non-Power-Of-Two, disabling mipmaping"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),Hk(this.gl,t,function(){e.gl.generateMipmap(e.target)}),this.gl.bindTexture(this.target,null),this)}},{key:"setImageData",value:function(e){var n;this._trackDeallocatedMemory("Texture");var i=e.target,r=void 0===i?this.target:i,o=e.pixels,a=void 0===o?null:o,s=e.level,u=void 0===s?0:s,c=e.format,l=void 0===c?this.format:c,h=e.border,d=void 0===h?this.border:h,f=e.offset,p=void 0===f?0:f,v=e.parameters,g=void 0===v?{}:v,m=e.data,y=void 0===m?null:m,b=e.type,w=void 0===b?this.type:b,k=e.width,x=void 0===k?this.width:k,S=e.height,C=void 0===S?this.height:S,E=e.dataFormat,O=void 0===E?this.dataFormat:E,T=e.compressed,A=void 0!==T&&T;y||(y=a),n=this._deduceParameters({format:l,type:w,dataFormat:O,compressed:A,data:y,width:x,height:C}),w=n.type,O=n.dataFormat,A=n.compressed,x=n.width,C=n.height;var P=this.gl;P.bindTexture(this.target,this.handle);var M,I=this._getDataType({data:y,compressed:A});y=I.data,M=I.dataType;var R,D=0;return Hk(this.gl,g,function(){switch(M){case"null":P.texImage2D(r,u,l,x,C,d,O,w,y);break;case"typed-array":P.texImage2D(r,u,l,x,C,d,O,w,y,p);break;case"buffer":(R=dk(P)).bindBuffer(35052,y.handle||y),R.texImage2D(r,u,l,x,C,d,O,w,p),R.bindBuffer(35052,null);break;case"browser-object":lk(P)?P.texImage2D(r,u,l,x,C,d,O,w,y):P.texImage2D(r,u,l,O,w,y);break;case"compressed":var e,n=_(y.entries());try{for(n.s();!(e=n.n()).done;){var i=t(e.value,2),o=i[0],a=i[1];P.compressedTexImage2D(r,o,a.format,a.width,a.height,d,a.data),D+=a.levelSize}}catch(s){n.e(s)}finally{n.f()}break;default:ox(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===M?D:y&&y.byteLength?y.byteLength:this.width*this.height*(Ox[this.dataFormat]||4)*(Tx[this.type]||1),"Texture"),this.loaded=!0,this}},{key:"setSubImageData",value:function(e){var t,n=this,i=e.target,r=void 0===i?this.target:i,o=e.pixels,a=void 0===o?null:o,s=e.data,u=void 0===s?null:s,c=e.x,l=void 0===c?0:c,h=e.y,d=void 0===h?0:h,f=e.width,p=void 0===f?this.width:f,v=e.height,g=void 0===v?this.height:v,m=e.level,y=void 0===m?0:m,b=e.format,_=void 0===b?this.format:b,w=e.type,k=void 0===w?this.type:w,x=e.dataFormat,S=void 0===x?this.dataFormat:x,C=e.compressed,E=void 0!==C&&C,O=e.offset,T=void 0===O?0:O,A=e.border,P=(void 0===A&&this.border,e.parameters),M=void 0===P?{}:P;if(t=this._deduceParameters({format:_,type:k,dataFormat:S,compressed:E,data:u,width:p,height:g}),k=t.type,S=t.dataFormat,E=t.compressed,p=t.width,g=t.height,ox(0===this.depth,"texSubImage not supported for 3D textures"),u||(u=a),u&&u.data){var I=u;u=I.data,p=I.shape[0],g=I.shape[1]}u instanceof Cx&&(u=u.handle),this.gl.bindTexture(this.target,this.handle),Hk(this.gl,M,function(){if(E)n.gl.compressedTexSubImage2D(r,y,l,d,p,g,_,u);else if(null===u)n.gl.texSubImage2D(r,y,l,d,p,g,S,k,null);else if(ArrayBuffer.isView(u))n.gl.texSubImage2D(r,y,l,d,p,g,S,k,u,T);else if(u instanceof Px){var e=dk(n.gl);e.bindBuffer(35052,u),e.texSubImage2D(r,y,l,d,p,g,S,k,T),e.bindBuffer(35052,null)}else lk(n.gl)?dk(n.gl).texSubImage2D(r,y,l,d,p,g,S,k,u):n.gl.texSubImage2D(r,y,l,d,S,k,u)}),this.gl.bindTexture(this.target,null)}},{key:"copyFramebuffer",value:function(){return sk.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"getActiveUnit",value:function(){return this.gl.getParameter(34016)-33984}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.textureUnit,t=this.gl;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}},{key:"_getDataType",value:function(e){var t=e.data,n=e.compressed;return void 0!==n&&n?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof Cx?{data:t.handle,dataType:"buffer"}:t instanceof Px?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}},{key:"_deduceParameters",value:function(e){var t,n=e.format,i=e.data,r=e.width,o=e.height,a=e.dataFormat,s=e.type,u=e.compressed,c=Ex[n];return{dataFormat:a=a||c&&c.dataFormat,type:s=s||c&&c.types[0],compressed:u=u||c&&c.compressed,width:r=(t=this._deduceImageSize(i,r,o)).width,height:o=t.height,format:n,data:i}}},{key:"_deduceImageSize",value:function(e,t,n){var i;return ox(i="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:n}:{width:t>=0?t:1,height:n>=0?n:1},"Could not deduced texture size"),ox(void 0===t||i.width===t,"Deduced texture width does not match supplied width"),ox(void 0===n||i.height===n,"Deduced texture height does not match supplied height"),i}},{key:"_createHandle",value:function(){return this.gl.createTexture()}},{key:"_deleteHandle",value:function(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}},{key:"_getParameter",value:function(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);var t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}},{key:"_setParameter",value:function(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:ox(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}},{key:"_isNPOT",value:function(){return!(lk(this.gl)||!this.width||!this.height||lx(this.width)&&lx(this.height))}},{key:"_updateForNPOT",value:function(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}},{key:"_getNPOTParam",value:function(e,t){if(this._isNPOT())switch(e){case 10241:-1===Ax.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.format,i=t.linearFiltering,r=!0;return n&&(r=(r=r&&function(e,t){var n=Ex[t];if(!n)return!1;if(void 0===n.gl1&&void 0===n.gl2)return!0;var i=lk(e)&&n.gl2||n.gl1;return"string"==typeof i?e.getExtension(i):i}(e,n))&&(!i||function(e,t){var n=Ex[t];switch(n&&n.types[0]){case 5126:return e.getExtension("OES_texture_float_linear");case 5131:return e.getExtension("OES_texture_half_float_linear");default:return!0}}(e,n))),r}}]),r}(px,Symbol.toStringTag);function Ix(e,t){return ox("string"==typeof e),e=""+e,new Promise(function(n,i){try{var r=new Image;r.onload=function(){return n(r)},r.onerror=function(){return i(new Error("Could not load image ".concat(e,".")))},r.crossOrigin=t&&t.crossOrigin||"anonymous",r.src=e}catch(r){i(r)}})}var Rx=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),hk(e),(r instanceof Promise||"string"==typeof r)&&(r={data:r}),"string"==typeof r.data&&(r=Object.assign({},r,{data:Ix(r.data)})),(t=n.call(this,e,Object.assign({},r,{target:3553}))).initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Texture2D"}}],[{key:"isSupported",value:function(e,t){return Mx.isSupported(e,t)}}]),i}(Mx,Symbol.toStringTag),Dx="EXT_color_buffer_float",Nx={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Dx,bpp:2},33327:{gl2:Dx,bpp:4},34842:{gl2:Dx,bpp:8},33326:{gl2:Dx,bpp:4},33328:{gl2:Dx,bpp:8},34836:{gl2:Dx,bpp:16},35898:{gl2:Dx,bpp:4}},Lx=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),(t=n.call(this,e,r)).initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Renderbuffer"}},{key:"initialize",value:function(e){var t=e.format,n=e.width,i=void 0===n?1:n,r=e.height,o=void 0===r?1:r,a=e.samples,s=void 0===a?0:a;return ox(t,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==s&&lk(this.gl)?this.gl.renderbufferStorageMultisample(36161,s,t,i,o):this.gl.renderbufferStorage(36161,t,i,o),this.format=t,this.width=i,this.height=o,this.samples=s,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*Nx[this.format].bpp),this}},{key:"resize",value:function(e){var t=e.width,n=e.height;return t!==this.width||n!==this.height?this.initialize({width:t,height:n,format:this.format,samples:this.samples}):this}},{key:"_createHandle",value:function(){return this.gl.createRenderbuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}},{key:"_bindHandle",value:function(e){this.gl.bindRenderbuffer(36161,e)}},{key:"_syncHandle",value:function(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}},{key:"_getParameter",value:function(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{format:null},n=t.format;return!n||function(e,t,n){var i=n[t];if(!i)return!1;var r=lk(e)&&i.gl2||i.gl1;return"string"==typeof r?e.getExtension(r):r}(e,n,Nx)}},{key:"getSamplesForFormat",value:function(e,t){var n=t.format;return e.getInternalformatParameter(36161,n,32937)}}]),i}(px,Symbol.toStringTag),jx="clear: bad arguments";function Fx(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.framebuffer,i=void 0===n?null:n,r=t.color,o=void 0===r?null:r,a=t.depth,s=void 0===a?null:a,u=t.stencil,c=void 0===u?null:u,l={};i&&(l.framebuffer=i);var h=0;o&&(h|=16384,!0!==o&&(l.clearColor=o)),s&&(h|=256,!0!==s&&(l.clearDepth=s)),c&&(h|=1024,!0!==s&&(l.clearStencil=s)),ox(0!==h,jx),Hk(e,l,function(){e.clear(h)})}function Bx(e,t,n,i,r,o,a){try{var s=e[o](a),u=s.value}catch(c){return void n(c)}s.done?t(u):Promise.resolve(u).then(i,r)}function Vx(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(e){Bx(o,i,r,a,s,"next",e)}function s(e){Bx(o,i,r,a,s,"throw",e)}a(void 0)})}}var zx=[34069,34070,34071,34072,34073,34074],Ux=function(){var e=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),hk(e),(t=n.call(this,e,Object.assign({},r,{target:34067}))).initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"TextureCube"}},{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.mipmaps,i=void 0===n||n,r=t.parameters,o=void 0===r?{}:r;return this.opts=t,this.setCubeMapImageData(t).then(function(){e.loaded=!0,i&&e.generateMipmap(t),e.setParameters(o)}),this}},{key:"subImage",value:function(e){var t=e.face,n=e.data,i=e.x,r=void 0===i?0:i,o=e.y,a=void 0===o?0:o,s=e.mipmapLevel,u=void 0===s?0:s;return this._subImage({target:t,data:n,x:r,y:a,mipmapLevel:u})}},{key:"setCubeMapImageData",value:function(e){var t=e.width,n=e.height,i=e.pixels,r=e.data,o=e.border,a=void 0===o?0:o,s=e.format,u=void 0===s?6408:s,c=e.type,l=void 0===c?5121:c,h=this;return Vx(regeneratorRuntime.mark(function e(){var o,s,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return o=h.gl,s=i||r,e.next=4,Promise.all(zx.map(function(e){var t=s[e];return Promise.all(Array.isArray(t)?t:[t])}));case 4:c=e.sent,h.bind(),zx.forEach(function(e,i){c[i].length>1&&!1!==h.opts.mipmaps&&sk.warn("".concat(h.id," has mipmap and multiple LODs."))(),c[i].forEach(function(i,r){t&&n?o.texImage2D(e,r,u,t,n,a,u,l,i):o.texImage2D(e,r,u,u,l,i)})}),h.unbind();case 6:case"end":return e.stop()}},e)}))()}},{key:"setImageDataForFace",value:function(e){var t=this,n=e.face,i=e.width,r=e.height,o=e.pixels,a=e.data,s=e.border,u=void 0===s?0:s,c=e.format,l=void 0===c?6408:c,h=e.type,d=void 0===h?5121:h,f=this.gl,p=o||a;return this.bind(),p instanceof Promise?p.then(function(i){return t.setImageDataForFace(Object.assign({},e,{face:n,data:i,pixels:i}))}):this.width||this.height?f.texImage2D(n,0,l,i,r,u,l,d,p):f.texImage2D(n,0,l,l,d,p),this}}]),i}(Mx,Symbol.toStringTag);return e.FACES=zx,e}(),Hx=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),dk(e),(t=n.call(this,e,r=Object.assign({depth:1},r,{target:32879,unpackFlipY:!1}))).initialize(r),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Texture3D"}},{key:"setImageData",value:function(e){var t=this,n=e.level,i=void 0===n?0:n,r=e.dataFormat,o=void 0===r?6408:r,a=e.width,s=e.height,u=e.depth,c=void 0===u?1:u,l=e.border,h=void 0===l?0:l,d=e.format,f=e.type,p=void 0===f?5121:f,v=e.offset,g=void 0===v?0:v,m=e.data,y=e.parameters,b=void 0===y?{}:y;return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),Hk(this.gl,b,function(){ArrayBuffer.isView(m)&&t.gl.texImage3D(t.target,i,o,a,s,c,h,d,p,m),m instanceof Cx&&(t.gl.bindBuffer(35052,m.handle),t.gl.texImage3D(t.target,i,o,a,s,c,h,d,p,g))}),this._trackAllocatedMemory(m&&m.byteLength?m.byteLength:this.width*this.height*this.depth*(Ox[this.dataFormat]||4)*(Tx[this.type]||1),"Texture"),this.loaded=!0,this}}],[{key:"isSupported",value:function(e){return lk(e)}}]),i}(Mx,Symbol.toStringTag);function Gx(e,t){ox(e instanceof Rx||e instanceof Ux||e instanceof Hx);var n=e.constructor,i=e.gl,r=e.width,o=e.height,a=e.format,s=e.type,u=e.dataFormat,c=e.border,l=e.mipmaps;return new n(i,Object.assign({width:r,height:o,format:a,type:s,dataFormat:u,border:c,mipmaps:l},t))}function Wx(e,t){var n=e.gl,i=e.width,r=e.height,o=e.id;return new $x(n,Object.assign({},t,{id:"framebuffer-for-".concat(o),width:i,height:r,attachments:{36064:e}}))}function qx(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.sourceX,i=void 0===n?0:n,r=t.sourceY,o=void 0===r?0:r,a=t.sourceFormat,s=void 0===a?6408:a,u=t.sourceAttachment,c=void 0===u?36064:u,l=t.target,h=void 0===l?null:l,d=t.sourceWidth,f=t.sourceHeight,p=t.sourceType,v=Yx(e),g=v.framebuffer,m=v.deleteFramebuffer;ox(g);var y=g.gl,b=g.handle,_=g.attachments;d=d||g.width,f=f||g.height,36064===c&&null===b&&(c=1028),ox(_[c]),h=function(e,t,n,i,r){return e||new(gx(t=t||5121,{clamped:!1}))(i*r*function(e){switch(e){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return ox(!1),0}}(n))}(h,p=p||_[c].type,s,d,f),p=p||vx(h);var w=y.bindFramebuffer(36160,b);return y.readPixels(i,o,d,f,s,p,h),y.bindFramebuffer(36160,w||null),m&&g.delete(),h}function Xx(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.sourceAttachment,i=void 0===n?36064:n,r=t.targetMaxHeight,o=void 0===r?Number.MAX_SAFE_INTEGER:r,a=qx(e,{sourceAttachment:i}),s=e.width,u=e.height;u>o;){var c=mx({data:a,width:s,height:u});a=c.data,s=c.width,u=c.height}!function(e){var t=e.data,n=e.height,i=e.bytesPerPixel,r=e.temp,o=e.width*(void 0===i?4:i);r=r||new Uint8Array(o);for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:{};return m(this,o),(t=r.call(this,e,n)).width=null,t.height=null,t.attachments={},t.readBuffer=36064,t.drawBuffers=[36064],t.ownResources=[],t.initialize(n),Object.seal(c(t)),t}return b(o,[{key:i,get:function(){return"Framebuffer"}},{key:"MAX_COLOR_ATTACHMENTS",get:function(){var e=dk(this.gl);return e.getParameter(e.MAX_COLOR_ATTACHMENTS)}},{key:"MAX_DRAW_BUFFERS",get:function(){var e=dk(this.gl);return e.getParameter(e.MAX_DRAW_BUFFERS)}},{key:"color",get:function(){return this.attachments[36064]||null}},{key:"texture",get:function(){return this.attachments[36064]||null}},{key:"depth",get:function(){return this.attachments[36096]||this.attachments[33306]||null}},{key:"stencil",get:function(){return this.attachments[36128]||this.attachments[33306]||null}},{key:"initialize",value:function(e){var t=e.width,n=void 0===t?1:t,i=e.height,r=void 0===i?1:i,o=e.attachments,a=void 0===o?null:o,s=e.color,u=void 0===s||s,c=e.depth,l=void 0===c||c,h=e.stencil,d=void 0!==h&&h,f=e.check,p=void 0===f||f,v=e.readBuffer,g=e.drawBuffers;if(ox(n>=0&&r>=0,"Width and height need to be integers"),this.width=n,this.height=r,a)for(var m in a){var y=a[m];(Array.isArray(y)?y[0]:y).resize({width:n,height:r})}else a=this._createDefaultAttachments(u,l,d,n,r);this.update({clearAttachments:!0,attachments:a,readBuffer:v,drawBuffers:g}),a&&p&&this.checkStatus()}},{key:"delete",value:function(){var t,n=_(this.ownResources);try{for(n.s();!(t=n.n()).done;){t.value.delete()}}catch(i){n.e(i)}finally{n.f()}return e(p(o.prototype),"delete",this).call(this),this}},{key:"update",value:function(e){var t=e.attachments,n=void 0===t?{}:t,i=e.readBuffer,r=e.drawBuffers,o=e.clearAttachments,a=void 0!==o&&o,s=e.resizeAttachments,u=void 0===s||s;this.attach(n,{clearAttachments:a,resizeAttachments:u});var c=this.gl,l=c.bindFramebuffer(36160,this.handle);return i&&this._setReadBuffer(i),r&&this._setDrawBuffers(r),c.bindFramebuffer(36160,l||null),this}},{key:"resize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.width,n=e.height;if(null===this.handle)return ox(void 0===t&&void 0===n),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;for(var i in void 0===t&&(t=this.gl.drawingBufferWidth),void 0===n&&(n=this.gl.drawingBufferHeight),t!==this.width&&n!==this.height&&sk.log(2,"Resizing framebuffer ".concat(this.id," to ").concat(t,"x").concat(n))(),this.attachments)this.attachments[i].resize({width:t,height:n});return this.width=t,this.height=n,this}},{key:"attach",value:function(e){var n=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=i.clearAttachments,o=void 0!==r&&r,a=i.resizeAttachments,s=void 0===a||a,u={};o&&Object.keys(this.attachments).forEach(function(e){u[e]=null}),Object.assign(u,e);var c=this.gl.bindFramebuffer(36160,this.handle);for(var l in u){ox(void 0!==l,"Misspelled framebuffer binding point?");var h=Number(l),d=u[h],f=d;if(f)if(f instanceof Lx)this._attachRenderbuffer({attachment:h,renderbuffer:f});else if(Array.isArray(d)){var p=t(d,3),v=p[0],g=p[1],m=void 0===g?0:g,y=p[2],b=void 0===y?0:y;f=v,this._attachTexture({attachment:h,texture:v,layer:m,level:b})}else this._attachTexture({attachment:h,texture:f,layer:0,level:0});else this._unattach(h);s&&f&&f.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,c||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(function(e){return!n.attachments[e]}).forEach(function(e){delete n.attachments[e]})}},{key:"checkStatus",value:function(){var e=this.getStatus();if(36053!==e)throw new Error(function(e){return(o.STATUS||{})[e]||"Framebuffer error ".concat(e)}(e));return this}},{key:"getStatus",value:function(){var e=this.gl,t=e.bindFramebuffer(36160,this.handle),n=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),n}},{key:"clear",value:function(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=n.color,r=n.depth,o=n.stencil,a=n.drawBuffers,s=void 0===a?[]:a,u=this.gl.bindFramebuffer(36160,this.handle);return(i||r||o)&&Fx(this.gl,{color:i,depth:r,stencil:o}),s.forEach(function(n,i){!function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.framebuffer,r=void 0===i?null:i,o=n.buffer,a=void 0===o?6144:o,s=n.drawBuffer,u=void 0===s?0:s,c=n.value,l=void 0===c?[0,0,0,0]:c;dk(e),Hk(e,{framebuffer:r},function(){switch(a){case 6144:switch(l.constructor){case Int32Array:e.clearBufferiv(a,u,l);break;case Uint32Array:e.clearBufferuiv(a,u,l);break;case Float32Array:default:e.clearBufferfv(a,u,l)}break;case 6145:e.clearBufferfv(6145,0,[l]);break;case 6146:e.clearBufferiv(6146,0,[l]);break;case 34041:var n=t(l,2),i=n[0],r=n[1];e.clearBufferfi(34041,0,i,r);break;default:ox(!1,jx)}})}(e.gl,{drawBuffer:i,value:n})}),this.gl.bindFramebuffer(36160,u||null),this}},{key:"readPixels",value:function(){return sk.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}},{key:"readPixelsToBuffer",value:function(){return sk.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}},{key:"copyToDataUrl",value:function(){return sk.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}},{key:"copyToImage",value:function(){return sk.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}},{key:"copyToTexture",value:function(){return sk.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}},{key:"blit",value:function(){return sk.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}},{key:"invalidate",value:function(e){var t=e.attachments,n=void 0===t?[]:t,i=e.x,r=void 0===i?0:i,o=e.y,a=void 0===o?0:o,s=e.width,u=e.height,c=dk(this.gl),l=c.bindFramebuffer(36008,this.handle);return 0===r&&0===a&&void 0===s&&void 0===u?c.invalidateFramebuffer(36008,n):c.invalidateFramebuffer(36008,n,r,a,s,u),c.bindFramebuffer(36008,l),this}},{key:"getAttachmentParameter",value:function(e,t,n){var i=this._getAttachmentParameterFallback(t);return null===i&&(this.gl.bindFramebuffer(36160,this.handle),i=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),n&&i>1e3&&(i=sx(this.gl,i)),i}},{key:"getAttachmentParameters",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:36064,n=arguments.length>1?arguments[1]:void 0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.constructor.ATTACHMENT_PARAMETERS||[],r={},o=_(i);try{for(o.s();!(e=o.n()).done;){var a=e.value;r[n?sx(this.gl,a):a]=this.getAttachmentParameter(t,a,n)}}catch(s){o.e(s)}finally{o.f()}return r}},{key:"getParameters",value:function(){for(var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=Object.keys(this.attachments),n={},i=0,r=t;i0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(e>sk.level||"undefined"==typeof window)return this;t=t||"Framebuffer ".concat(this.id);var n=Xx(this,{targetMaxHeight:100});return sk.image({logLevel:e,message:t,image:n},t)(),this}},{key:"bind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?36160:t;return this.gl.bindFramebuffer(n,this.handle),this}},{key:"unbind",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=void 0===t?36160:t;return this.gl.bindFramebuffer(n,null),this}},{key:"_createDefaultAttachments",value:function(e,t,n,i,r){var o=null;return e&&((o=o||{})[36064]=new Rx(this.gl,{id:"".concat(this.id,"-color0"),pixels:null,format:6408,type:5121,width:i,height:r,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&n?((o=o||{})[33306]=new Lx(this.gl,{id:"".concat(this.id,"-depth-stencil"),format:35056,width:i,height:111}),this.ownResources.push(o[33306])):t?((o=o||{})[36096]=new Lx(this.gl,{id:"".concat(this.id,"-depth"),format:33189,width:i,height:r}),this.ownResources.push(o[36096])):n&&ox(!1),o}},{key:"_unattach",value:function(e){var t=this.attachments[e];!t||(t instanceof Lx?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}},{key:"_attachRenderbuffer",value:function(e){var t=e.attachment,n=void 0===t?36064:t,i=e.renderbuffer;this.gl.framebufferRenderbuffer(36160,n,36161,i.handle),this.attachments[n]=i}},{key:"_attachTexture",value:function(e){var t=e.attachment,n=void 0===t?36064:t,i=e.texture,r=e.layer,o=e.level,a=this.gl;switch(a.bindTexture(i.target,i.handle),i.target){case 35866:case 32879:dk(a).framebufferTextureLayer(36160,n,i.target,o,r);break;case 34067:var s=function(e){return e<34069?e+34069:e}(r);a.framebufferTexture2D(36160,n,s,i.handle,o);break;case 3553:a.framebufferTexture2D(36160,n,3553,i.handle,o);break;default:ox(!1,"Illegal texture type")}a.bindTexture(i.target,null),this.attachments[n]=i}},{key:"_setReadBuffer",value:function(e){var t=function(e){return lk(e)?e:null}(this.gl);t?t.readBuffer(e):ox(36064===e||1029===e,Kx),this.readBuffer=e}},{key:"_setDrawBuffers",value:function(e){var t=this.gl,n=dk(t);if(n)n.drawBuffers(e);else{var i=t.getExtension("WEBGL_draw_buffers");i?i.drawBuffersWEBGL(e):ox(1===e.length&&(36064===e[0]||1029===e[0]),Kx)}this.drawBuffers=e}},{key:"_getAttachmentParameterFallback",value:function(e){var t=function(e){for(var t in e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},Qx)void 0===e.luma.caps[t]&&(e.luma.caps[t]=eS(e,t));return e.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}},{key:"_createHandle",value:function(){return this.gl.createFramebuffer()}},{key:"_deleteHandle",value:function(){this.gl.deleteFramebuffer(this.handle)}},{key:"_bindHandle",value:function(e){return this.gl.bindFramebuffer(36160,e)}}],[{key:"isSupported",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.colorBufferFloat,i=t.colorBufferHalfFloat,r=!0;return n&&(r=Boolean(e.getExtension("EXT_color_buffer_float")||e.getExtension("WEBGL_color_buffer_float")||e.getExtension("OES_texture_float"))),i&&(r=r&&Boolean(e.getExtension("EXT_color_buffer_float")||e.getExtension("EXT_color_buffer_half_float"))),r}},{key:"getDefaultFramebuffer",value:function(e){return e.luma=e.luma||{},e.luma.defaultFramebuffer=e.luma.defaultFramebuffer||new o(e,{id:"default-framebuffer",handle:null,attachments:{}}),e.luma.defaultFramebuffer}}]),o}(px,Symbol.toStringTag);$x.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];var Qx={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(e){var t=new Rx(e,{format:6408,type:5126,dataFormat:6408}),n=new $x(e,{id:"test-framebuffer",check:!1,attachments:{36064:t}}),i=n.getStatus();return t.delete(),n.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function Zx(e,t){return Jx(e,t)}function Jx(e,t){return(t=Array.isArray(t)?t:[t]).every(function(t){return eS(e,t)})}function eS(e,t){return e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},void 0===e.luma.caps[t]&&(e.luma.caps[t]=function(e,t){var n,i=Qx[t];ox(i,t);var r=lk(e)&&i[1]||i[0];if("function"==typeof r)n=r(e);else if(Array.isArray(r)){n=!0;var o,a=_(r);try{for(a.s();!(o=a.n()).done;){var s=o.value;n=n&&Boolean(e.getExtension(s))}}catch(u){a.e(u)}finally{a.f()}}else"string"==typeof r?n=Boolean(e.getExtension(r)):"boolean"==typeof r?n=r:ox(!1);return n}(e,t)),e.luma.caps[t]||sk.log(2,"Feature: ".concat(t," not supported"))(),e.luma.caps[t]}var tS=function(){function e(t,n){m(this,e),this.opts=n,this.source=t}return b(e,[{key:"value",get:function(){return this.source.value}},{key:"getValue",value:function(){var e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];var n=this.source.value,i=t.size,r=n;if(n&&n.length!==i){r=new Float32Array(i);for(var o=t.elementOffset||0,a=0;ai&&(r=i);var o=this._pool,a=e.BYTES_PER_ELEMENT*r,s=o.findIndex(function(e){return e.byteLength>=a});if(s>=0){var u=new e(o.splice(s,1)[0],0,r);return n&&u.fill(0),u}return new e(r)}},{key:"_release",value:function(e){if(ArrayBuffer.isView(e)){var t=this._pool,n=e.buffer,i=n.byteLength,r=t.findIndex(function(e){return e.byteLength>=i});r<0?t.push(n):(r>0||t.lengththis.props.poolSize&&t.shift()}}}]),e}()),iS=1/Math.PI*180,rS=1/180*Math.PI,oS={};function aS(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.precision,i=void 0===n?oS.precision||4:n;return e=function(e){return Math.round(e/oS.EPSILON)*oS.EPSILON}(e),"".concat(parseFloat(e.toPrecision(i)))}function sS(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function uS(e,t,n){if(sS(e)){n=n||function(e){return e.clone?e.clone():new Array(e.length)}(e);for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0?", ":"")+aS(this[n],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}},{key:"equals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t2&&void 0!==arguments[2]?arguments[2]:"";if(oS.debug&&!function(e,t){if(e.length!==t)return!1;for(var n=0;n=0&&e=0&&e0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return m(this,n),e=t.call(this,-0,-0,-0),1===arguments.length&&sS(i)?e.copy(i):(oS.debug&&(gS(i),gS(r),gS(o)),e[0]=i,e[1]=r,e[2]=o),e}return b(n,[{key:"set",value:function(e,t,n){return this[0]=e,this[1]=t,this[2]=n,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}},{key:"fromObject",value:function(e){return oS.debug&&(gS(e.x),gS(e.y),gS(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}},{key:"ELEMENTS",get:function(){return 3}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"angle",value:function(e){return RS(this,e)}},{key:"cross",value:function(e){return ES(this,this,e),this.check()}},{key:"rotateX",value:function(e){var t=e.radians,n=e.origin;return PS(this,this,void 0===n?LS:n,t),this.check()}},{key:"rotateY",value:function(e){var t=e.radians,n=e.origin;return MS(this,this,void 0===n?LS:n,t),this.check()}},{key:"rotateZ",value:function(e){var t=e.radians,n=e.origin;return IS(this,this,void 0===n?LS:n,t),this.check()}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return OS(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return DS(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return TS(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return function(e,t,n){var i=t[0],r=t[1];e[0]=n[0]*i+n[2]*r,e[1]=n[1]*i+n[3]*r,e[2]=t[2]}(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return AS(this,this,e),this.check()}}],[{key:"ZERO",get:function(){return jS.ZERO=jS.ZERO||Object.freeze(new n(0,0,0,0))}}]),n}(_S),BS=new FS;function VS(e,t,n,i){BS.set(e,t,n);var r=BS.len();return{distance:i/r,normal:new FS(-e/r,-t/r,-n/r)}}function zS(e){return e-Math.fround(e)}function US(e,t){var n=t.size,i=void 0===n?1:n,r=t.startIndex,o=void 0===r?0:r,a=t.endIndex;Number.isFinite(a)||(a=e.length);var s=(a-o)/i;NS=nS.allocate(NS,s,{type:Float32Array,size:2*i});for(var u=o,c=0;u1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,i=qS,r={index:-1,data:e,target:[]};return e?"function"==typeof e[Symbol.iterator]?i=e:e.length>0&&(XS.length=e.length,i=XS):i=qS,(t>0||Number.isFinite(n))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(t,n),r.index=t-1),{iterable:i,objectInfo:r}}function KS(e){return e&&e[Symbol.asyncIterator]}function $S(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return!0};return Array.isArray(e)?QS(e,t,[]):t(e)?[e]:[]}function QS(e,t,n){for(var i=-1;++ic)n.set(t.subarray(0,c),r);else if(n.set(t,r),s)for(var l=u;l=f)){var v=p?i.value:i.getBuffer().getData({srcByteOffset:l});if(i.settings.normalized&&!p){var g=s;s=function(e,t){return i._normalizeConstant(g(e,t))}}var m=p?function(e,t){return s(v,t)}:function(e,t){return s(v.subarray(e,e+c),t)},y=t.getData({length:r}),b=new Float32Array(f);(function(e){var t=e.source,n=e.target,i=e.size,r=e.getData,o=e.sourceStartIndices,a=e.targetStartIndices;if(!Array.isArray(a))return tC({source:t,target:n,size:i,getData:r}),n;for(var s=0,u=0,c=r&&function(e,t){return r(e+u,t)},l=Math.min(o.length,a.length),h=1;h1&&void 0!==arguments[1]?arguments[1]:{};m(this,r),t=i.call(this,e,n);var o=n.transition,a=void 0!==o&&o,s=n.noAlloc,u=void 0!==s&&s,c=n.update,l=void 0===c?null:c,h=n.accessor,d=void 0===h?null:h,f=n.transform,p=void 0===f?null:f,v=n.startIndices,g=void 0===v?null:v;return Object.assign(t.settings,{transition:a,noAlloc:u,update:l||d&&t._autoUpdater,accessor:d,transform:p}),Object.assign(t.state,{lastExternalBuffer:null,binaryValue:null,binaryAccessor:null,needsUpdate:!0,needsRedraw:!1,updateRanges:eC,startIndices:g}),Object.seal(t.settings),Object.seal(t.state),t._validateAttributeUpdaters(),t}return b(r,[{key:"startIndices",get:function(){return this.state.startIndices},set:function(e){this.state.startIndices=e}},{key:"needsUpdate",value:function(){return this.state.needsUpdate}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.clearChangedFlags,n=void 0!==t&&t,i=this.state.needsRedraw;return this.state.needsRedraw=i&&!n,i}},{key:"getUpdateTriggers",value:function(){var e=this.settings.accessor;return[this.id].concat("function"!=typeof e&&e||[])}},{key:"supportsTransition",value:function(){return Boolean(this.settings.transition)}},{key:"getTransitionSetting",value:function(e){if(!e||!this.supportsTransition())return null;var t=this.settings.accessor,n=this.settings.transition;return iC(Array.isArray(t)?e[t.find(function(t){return e[t]})]:e[t],n)}},{key:"setNeedsUpdate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.id,t=arguments.length>1?arguments[1]:void 0;if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){var n=t.startRow,i=void 0===n?0:n,r=t.endRow,o=void 0===r?1/0:r;this.state.updateRanges=function(e,t){if(e===eC||(t[0]<0&&(t[0]=0),t[0]>=t[1]))return e;for(var n=[],i=e.length,r=0,o=0;ot[1]?n.push(a):t=[Math.min(a[0],t[0]),Math.max(a[1],t[1])]}return n.splice(r,0,t),n}(this.state.updateRanges,[i,o])}else this.state.updateRanges=eC}},{key:"clearNeedsUpdate",value:function(){this.state.needsUpdate=!1,this.state.updateRanges=JS}},{key:"setNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.id;this.state.needsRedraw=this.state.needsRedraw||e}},{key:"update",value:function(e){this.setData(e)}},{key:"allocate",value:function(t){var n=this.state,i=this.settings;return!i.noAlloc&&!!i.update&&(e(p(r.prototype),"allocate",this).call(this,{numInstances:t,copy:n.updateRanges!==eC}),!0)}},{key:"updateBuffer",value:function(n){var i=n.numInstances,o=n.data,a=n.props,s=n.context;if(!this.needsUpdate())return!1;var u=this.state.updateRanges,c=this.settings,l=c.update,h=c.noAlloc,d=!0;if(l){var f,v=_(u);try{for(v.s();!(f=v.n()).done;){var g=t(f.value,2),m=g[0],y=g[1];l.call(s,this,{data:o,startRow:m,endRow:y,props:a,numInstances:i})}}catch(O){v.e(O)}finally{v.f()}if(this.value)if(this.constant||this.buffer.byteLength1&&void 0!==arguments[1]?arguments[1]:null,n=this.state,i=this.settings;return e?!(i.noAlloc||(n.binaryValue===e?(this.clearNeedsUpdate(),0):(n.binaryValue=e,this.setNeedsRedraw(),ArrayBuffer.isView(e)&&(e={value:e}),i.transform||t!==this.startIndices?(WS(ArrayBuffer.isView(e.value),"invalid ".concat(i.accessor)),n.binaryAccessor=function(e,t){var n=t.size,i=t.stride,r=t.offset,o=t.startIndices,a=t.nested,s=e.BYTES_PER_ELEMENT,u=i?i/s:n,c=r?r/s:0,l=Math.floor((e.length-c)/u);return function(t,i){var r=i.index,s=i.target;if(!o){for(var h=r*u+c,d=0;dl?c.set(x,g):(e._normalizeValue(x,b.target,0),ZS({target:c,source:b.target,start:g,count:S}));g+=S*l}else e._normalizeValue(x,c,g),g+=l}}catch(A){w.e(A)}finally{w.f()}}}},{key:"_validateAttributeUpdaters",value:function(){var e=this.settings;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}},{key:"_checkAttributeArray",value:function(){var e=this.value,t=Math.min(4,this.size);if(e&&e.length>=t){var n=!0;switch(t){case 4:n=n&&Number.isFinite(e[3]);case 3:n=n&&Number.isFinite(e[2]);case 2:n=n&&Number.isFinite(e[1]);case 1:n=n&&Number.isFinite(e[0]);break;default:n=!1}if(!n)throw new Error("Illegal attribute generated for ".concat(this.id))}}}]),r}(function(){function e(t,n){m(this,e),this.gl=t,this.id=n.id,this.size=n.size;var i=n.logicalType||n.type,r=5130===i,o=n.defaultValue;o=Number.isFinite(o)?[o]:o||new Array(this.size).fill(0),n.defaultValue=o;var a=i;r?a=5126:!a&&n.isIndexed?a=t&&Zx(t,"ELEMENT_INDEX_UINT32")?5125:5123:a||(a=5126),n.logicalType=i,n.type=a;var s=function(e){switch(e){case 5126:return Float32Array;case 5130:return Float64Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return Uint8ClampedArray;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Unknown GL type")}}(i||a||5126);this.shaderAttributes={},this.doublePrecision=r,r&&!1===n.fp64&&(s=Float32Array),n.bytesPerElement=s.BYTES_PER_ELEMENT,this.defaultType=s,this.value=null,this.settings=n,this.state={externalBuffer:null,bufferAccessor:n,allocatedValue:null,constant:!1},this._buffer=null,this.setData(n)}return b(e,[{key:"buffer",get:function(){if(!this._buffer){var e=this.settings,t=e.isIndexed,n=e.type;this._buffer=new Cx(this.gl,{id:this.id,target:t?34963:34962,accessor:{type:n}})}return this._buffer}},{key:"byteOffset",get:function(){var e=this.getAccessor();return e.vertexOffset?e.vertexOffset*HS(e):0}},{key:"delete",value:function(){this._buffer&&(this._buffer.delete(),this._buffer=null),nS.release(this.state.allocatedValue)}},{key:"getShaderAttributes",value:function(e,t){if(this.doublePrecision){var n={},i=this.value instanceof Float64Array,r=function(e,t){var n=GS(e,t);return{high:n,low:I(M({},n),{offset:n.offset+4*e.size})}}(this.getAccessor(),t||{});return n[e]=new tS(this,r.high),n["".concat(e,"64Low")]=i?new tS(this,r.low):new Float32Array(this.size),n}if(t){var a=GS(this.getAccessor(),t);return o({},e,new tS(this,a))}return o({},e,this)}},{key:"getBuffer",value:function(){return this.state.constant?null:this.state.externalBuffer||this._buffer}},{key:"getValue",value:function(){return this.state.constant?this.value:[this.getBuffer(),this.getAccessor()]}},{key:"getAccessor",value:function(){return this.state.bufferAccessor}},{key:"setData",value:function(e){var t=this.state;ArrayBuffer.isView(e)?e={value:e}:e instanceof Cx&&(e={buffer:e});var n=M(M({},this.settings),e);if(t.bufferAccessor=n,e.constant){var i=e.value;if(i=this._normalizeValue(i,[],0),this.settings.normalized&&(i=this._normalizeConstant(i)),t.constant&&this._areValuesEqual(i,this.value))return!1;t.externalBuffer=null,t.constant=!0,this.value=i}else if(e.buffer){var r=e.buffer;t.externalBuffer=r,t.constant=!1,this.value=e.value;var o=e.value instanceof Float64Array;n.type=e.type||r.accessor.type,n.bytesPerElement=r.accessor.BYTES_PER_ELEMENT*(o?2:1),n.stride=HS(n)}else if(e.value){this._checkExternalBuffer(e);var a=e.value;t.externalBuffer=null,t.constant=!1,this.value=a,n.bytesPerElement=a.BYTES_PER_ELEMENT,n.stride=HS(n);var s=this.buffer,u=this.byteOffset;this.doublePrecision&&a instanceof Float64Array&&(a=US(a,n));var c=a.byteLength+u+2*n.stride;s.byteLength0&&void 0!==arguments[0]?arguments[0]:{},t=this.value,n=e.startOffset,i=void 0===n?0:n,r=e.endOffset;this.buffer.subData({data:this.doublePrecision&&t instanceof Float64Array?US(t,{size:this.size,startIndex:i,endIndex:r}):t.subarray(i,r),offset:i*t.BYTES_PER_ELEMENT+this.byteOffset})}},{key:"allocate",value:function(e){var t=e.numInstances,n=e.copy,i=void 0!==n&&n,r=this.state,o=r.allocatedValue,a=nS.allocate(o,t+1,{size:this.size,type:this.defaultType,copy:i});this.value=a;var s=this.buffer,u=this.byteOffset;return s.byteLength=0;)t[n+a]=Number.isFinite(e[a])?e[a]:r[a]}return t}},{key:"_areValuesEqual",value:function(e,t){if(!e||!t)return!1;for(var n=this.size,i=0;i0&&lC[e]&&(t=lC[e]).call.apply(t,arguments)}function dC(e,t){if(!e)throw new Error(t||"shadertools: assertion failed.")}var fC="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",pC="#version 300 es\n".concat(fC);function vC(e,n){n=Array.isArray(n)?n:[n];var i=t(e.replace(/^\s+/,"").split(/\s+/),3),r=i[0],o=i[1],a=i[2];return n.includes(r)&&o&&a?{qualifier:r,type:o,name:a.split(";")[0]}:null}function gC(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.version,n=void 0===t?100:t,i=e.input,r=e.inputType,o=e.output;if(!i)return 300===n?pC:n>300?"#version ".concat(n,"\n").concat(fC):"void main() {gl_FragColor = vec4(0);}";var a=function(e,t){switch(t){case"float":return"vec4(".concat(e,", 0.0, 0.0, 1.0)");case"vec2":return"vec4(".concat(e,", 0.0, 1.0)");case"vec3":return"vec4(".concat(e,", 1.0)");case"vec4":return e;default:return dC(!1),null}}(i,r);return n>=300?"#version ".concat(n," ").concat(300===n?"es":"","\nin ").concat(r," ").concat(i,";\nout vec4 ").concat(o,";\nvoid main() {\n ").concat(o," = ").concat(a,";\n}"):"varying ".concat(r," ").concat(i,";\nvoid main() {\n gl_FragColor = ").concat(a,";\n}")}var mC=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),dk(e),(t=n.call(this,e,r)).initialize(r),t.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"TransformFeedback"}},{key:"initialize",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,hx(this.buffers)||this.bind(function(){return e._unbindBuffers()}),this.setProps(t),this}},{key:"setProps",value:function(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}},{key:"setBuffers",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.bind(function(){for(var n in t)e.setBuffer(n,t[n])}),this}},{key:"setBuffer",value:function(e,t){var n=this,i=this._getVaryingIndex(e),r=this._getBufferParams(t),o=r.buffer,a=r.byteSize,s=r.byteOffset;return i<0?(this.unused[e]=o,sk.warn(function(){return"".concat(n.id," unused varying buffer ").concat(e)})(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,o,s,a),this)}},{key:"begin",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}},{key:"end",value:function(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}},{key:"_getBufferParams",value:function(e){var t,n,i;return e instanceof Cx?i=e:(i=e.buffer,n=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==n)&&(t=t||0,n=n||i.byteLength-t),{buffer:i,byteOffset:t,byteSize:n}}},{key:"_getVaryingInfo",value:function(e){return this.configuration&&this.configuration.getVaryingInfo(e)}},{key:"_getVaryingIndex",value:function(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;var t=Number(e);return Number.isFinite(t)?t:-1}},{key:"_bindBuffers",value:function(){if(this.bindOnUse)for(var e in this.buffers){var t=this._getBufferParams(this.buffers[e]),n=t.buffer,i=t.byteSize,r=t.byteOffset;this._bindBuffer(e,n,r,i)}}},{key:"_unbindBuffers",value:function(){if(this.bindOnUse)for(var e in this.buffers)this._bindBuffer(e,null)}},{key:"_bindBuffer",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0,r=t&&t.handle;return r&&void 0!==i?this.gl.bindBufferRange(35982,e,r,n,i):this.gl.bindBufferBase(35982,e,r),this}},{key:"_createHandle",value:function(){return this.gl.createTransformFeedback()}},{key:"_deleteHandle",value:function(){this.gl.deleteTransformFeedback(this.handle)}},{key:"_bindHandle",value:function(e){this.gl.bindTransformFeedback(36386,this.handle)}}],[{key:"isSupported",value:function(e){return lk(e)}}]),i}(px,Symbol.toStringTag),yC=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(n),Object.seal(this)}return b(e,[{key:"setupResources",value:function(e){var t,n=_(this.bindings);try{for(n.s();!(t=n.n()).done;){var i=t.value;this._setupTransformFeedback(i,e)}}catch(r){n.e(r)}finally{n.f()}}},{key:"updateModelProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.varyings;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}},{key:"getDrawOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceBuffers,i=t.transformFeedback;return{attributes:Object.assign({},n,e.attributes),transformFeedback:i}}},{key:"swap",value:function(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupBuffers(e)}},{key:"getBuffer",value:function(e){var t=this.bindings[this.currentIndex].feedbackBuffers,n=e?t[e]:null;return n?n instanceof Cx?n:n.buffer:null}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.varyingName,n=this.getBuffer(t);return n?n.getData():null}},{key:"delete",value:function(){for(var e in this.resources)this.resources[e].delete()}},{key:"_initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&ox(lk(this.gl))}},{key:"_getFeedbackBuffers",value:function(e){var t=e.sourceBuffers,n=void 0===t?{}:t,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(var r in this.feedbackMap){var o=this.feedbackMap[r];r in n&&(i[o]=r)}for(var a in Object.assign(i,e.feedbackBuffers),i){var s=i[a];if("string"==typeof s){var u=n[s],c=u.byteLength,l=u.usage,h=u.accessor;i[a]=this._createNewBuffer(a,{byteLength:c,usage:l,accessor:h})}}return i}},{key:"_setupBuffers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.sourceBuffers,n=void 0===t?null:t;Object.assign(this.feedbackMap,e.feedbackMap);var i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:n,feedbackBuffers:i})}},{key:"_setupTransformFeedback",value:function(e,t){var n=t.model.program;e.transformFeedback=new mC(this.gl,{program:n,buffers:e.feedbackBuffers})}},{key:"_updateBindings",value:function(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){var t=this._swapBuffers(this.bindings[this.currentIndex]),n=t.sourceBuffers,i=t.feedbackBuffers,r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:n,feedbackBuffers:i})}}},{key:"_updateBinding",value:function(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}},{key:"_swapBuffers",value:function(e){if(!this.feedbackMap)return null;var t=Object.assign({},e.sourceBuffers),n=Object.assign({},e.feedbackBuffers);for(var i in this.feedbackMap){var r=this.feedbackMap[i];t[i]=e.feedbackBuffers[r],n[r]=e.sourceBuffers[i],ox(n[r]instanceof Cx)}return{sourceBuffers:t,feedbackBuffers:n}}},{key:"_createNewBuffer",value:function(e,t){var n=new Cx(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=n,n}},{key:"_getNextIndex",value:function(){return(this.currentIndex+1)%2}}]),e}();function bC(e){var t=100,n=e.match(/[^\s]+/g);if(n.length>=2&&"#version"===n[0]){var i=parseInt(n[1],10);Number.isFinite(i)&&(t=i)}return t}var _C="vs",wC=(o(f={},_C,"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n"),o(f,"fs","#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"),f),kC="__LUMA_INJECT_DECLARATIONS__",xC=/void\s+main\s*\([^)]*\)\s*\{\n?/,SC=/}\n?[^{}]*$/,CC=[];function EC(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=t===_C,o=function(t){var i=n[t];i.sort(function(e,t){return e.order-t.order}),CC.length=i.length;for(var o=0,a=i.length;o1),e.forEach(function(e){for(var n in e)t[n]=t[n]?"".concat(t[n],"\n").concat(e[n]):e[n]}),t}var TC={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},AC="transform_uSize_",PC="transform_position",MC={10241:9728,10240:9728,10242:33071,10243:33071},IC=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(n),Object.seal(this)}return b(e,[{key:"updateModelProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._processVertexShader(e);return Object.assign({},e,t)}},{key:"getDrawOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceBuffers,i=t.sourceTextures,r=t.framebuffer,o=t.targetTexture,a=Object.assign({},n,e.attributes),s=Object.assign({},e.uniforms),u=Object.assign({},e.parameters),c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){for(var l in a.transform_elementID=this.elementIDBuffer,this.samplerTextureMap)s[l]=i[this.samplerTextureMap[l]];this._setSourceTextureParameters();var h=function(e){var t,n,i,r=e.sourceTextureMap,o=e.targetTextureVarying,a=e.targetTexture,s={};for(var u in o&&(n=(t=a).width,i=t.height,s["".concat(AC).concat(o)]=[n,i]),r){var c;n=(c=r[u]).width,i=c.height,s["".concat(AC).concat(u)]=[n,i]}return s}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:o});Object.assign(s,h)}return this.hasTargetTexture&&(c=!1,u.viewport=[0,0,r.width,r.height]),{attributes:a,framebuffer:r,uniforms:s,discard:c,parameters:u}}},{key:"swap",value:function(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setupTextures(e)}},{key:"getTargetTexture",value:function(){return this.bindings[this.currentIndex].targetTexture}},{key:"getData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.packed,n=void 0!==t&&t,i=this.bindings[this.currentIndex].framebuffer,r=qx(i);if(!n)return r;for(var o=r.constructor,a=function(e){switch(e){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return dC(!1),null}}(this.targetTextureType),s=new o(r.length*a/4),u=0,c=0;c0&&void 0!==arguments[0]?arguments[0]:{},t=e._targetTextureVarying,n=e._swapTexture;this._swapTexture=n,this.targetTextureVarying=t,this.hasTargetTexture=t,this._setupTextures(e)}},{key:"_createTargetTexture",value:function(e){var t=e.sourceTextures,n=e.textureOrReference;if(n instanceof Rx)return n;var i=t[n];return i?(this._targetRefTexName=n,this._createNewTexture(i)):null}},{key:"_setupTextures",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.sourceBuffers,n=e._sourceTextures,i=void 0===n?{}:n,r=e._targetTexture,o=this._createTargetTexture({sourceTextures:i,textureOrReference:r});this.hasSourceTextures=this.hasSourceTextures||i&&Object.keys(i).length>0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:o}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}},{key:"_updateElementIDBuffer",value:function(e){if(!("number"!=typeof e||this.elementCount>=e)){var t=new Float32Array(e);t.forEach(function(e,t,n){n[t]=t}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new Cx(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}}},{key:"_updateBindings",value:function(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){var t=this._swapTextures(this.bindings[this.currentIndex]),n=t.sourceTextures,i=t.targetTexture,r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:n,targetTexture:i})}}},{key:"_updateBinding",value:function(e,t){var n=t.sourceBuffers,i=t.sourceTextures,r=t.targetTexture;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,i),Object.assign(e.sourceBuffers,n),r){e.targetTexture=r;var o=r.width,a=r.height,s=e.framebuffer;s?(s.update({attachments:{36064:r},resizeAttachments:!1}),s.resize({width:o,height:a})):e.framebuffer=new $x(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:r}})}return e}},{key:"_setSourceTextureParameters",value:function(){var e=this.currentIndex,t=this.bindings[e].sourceTextures;for(var n in t)t[n].setParameters(MC)}},{key:"_swapTextures",value:function(e){if(!this._swapTexture)return null;var t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}},{key:"_createNewTexture",value:function(e){var t=Gx(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}},{key:"_getNextIndex",value:function(){return(this.currentIndex+1)%2}},{key:"_processVertexShader",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.bindings[this.currentIndex],n=t.sourceTextures,i=t.targetTexture,r=function(e){var t=e.vs,n=e.sourceTextureMap,i=e.targetTextureVarying,r=e.targetTexture,o=Object.keys(n).length,a=null,s={},u=t,c={};if(o>0||i){var l=u.split("\n"),h=l.slice();if(l.forEach(function(e,t,r){if(o>0){var u=function(e,t){var n={},i=function(e){return vC(e,["attribute","in"])}(e);if(!i)return null;var r=i.type,o=i.name;if(o&&t[o]){var a="// ".concat(e," => Replaced by Transform with a sampler"),s=function(e){var t="transform_uSampler_".concat(e),n="".concat(AC).concat(e);return{samplerName:t,sizeName:n,uniformDeclerations:" uniform sampler2D ".concat(t,";\n uniform vec2 ").concat(n,";")}}(o),u=s.samplerName,c=s.sizeName,l=s.uniformDeclerations,h=" ".concat(r," ").concat(o," = transform_getInput(").concat(u,", ").concat(c,").").concat(function(e){switch(e){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return dC(!1),null}}(r),";\n");return n[u]=o,{updatedLine:a,inject:{"vs:#decl":l,"vs:#main-start":h},samplerTextureMap:n}}return null}(e,n);if(u){var l=u.updatedLine,d=u.inject;h[t]=l,c=OC([c,d]),Object.assign(s,u.samplerTextureMap),o--}}i&&!a&&(a=function(e,t){var n=vC(e,["varying","out"]);return n&&n.name===t?n.type:null}(e,i))}),i){ox(r);var d="".concat(AC).concat(i);c=OC([c,{"vs:#decl":"uniform vec2 ".concat(d,";\n"),"vs:#main-start":" vec2 ".concat(PC," = transform_getPos(").concat(d,");\n gl_Position = vec4(").concat(PC,", 0, 1.);\n")}])}u=h.join("\n")}return{vs:u,targetTextureType:a,inject:c,samplerTextureMap:s}}({vs:e.vs,sourceTextureMap:n,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),o=r.vs,a=r.uniforms,s=r.targetTextureType,u=r.inject,c=r.samplerTextureMap,l=OC([e.inject||{},u]);return this.targetTextureType=s,this.samplerTextureMap=c,{vs:o,fs:e._fs||gC({version:bC(o),input:this.targetTextureVarying,inputType:s,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[TC].concat(e.modules||[]):e.modules,uniforms:a,inject:l}}}]),e}(),RC={number:{validate:function(e,t){return Number.isFinite(e)&&(!("max"in t)||e<=t.max)&&(!("min"in t)||e>=t.min)}},array:{validate:function(e,t){return Array.isArray(e)||ArrayBuffer.isView(e)}}};function DC(e){var t=NC(e);return"object"===t?e?"type"in e?Object.assign({},e,RC[e.type]):"value"in e?(t=NC(e.value),Object.assign({type:t},e,RC[t])):{type:"object",value:e}:{type:"object",value:null}:Object.assign({type:t,value:e},RC[t])}function NC(e){return Array.isArray(e)||ArrayBuffer.isView(e)?"array":typeof e}var LC=function(){function e(t){var n=t.name,i=t.vs,r=t.fs,o=t.dependencies,a=void 0===o?[]:o,s=t.uniforms,u=t.getUniforms,c=t.deprecations,l=void 0===c?[]:c,h=t.defines,d=void 0===h?{}:h,f=t.inject,p=void 0===f?{}:f,v=t.vertexShader,g=t.fragmentShader;m(this,e),dC("string"==typeof n),this.name=n,this.vs=i||v,this.fs=r||g,this.getModuleUniforms=u,this.dependencies=a,this.deprecations=this._parseDeprecationDefinitions(l),this.defines=d,this.injections=function(e){var t={vs:{},fs:{}};for(var n in e){var i=e[n];"string"==typeof i&&(i={order:0,injection:i}),t[n.slice(0,2)][n]=i}return t}(p),s&&(this.uniforms=function(e){var t={};for(var n in e){var i=DC(e[n]);t[n]=i}return t}(s))}return b(e,[{key:"getModuleSource",value:function(e){var t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:dC(!1)}return"#define MODULE_".concat(this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_"),"\n").concat(t,"// END MODULE_").concat(this.name,"\n\n")}},{key:"getUniforms",value:function(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}},{key:"getDefines",value:function(){return this.defines}},{key:"checkDeprecations",value:function(e,t){this.deprecations.forEach(function(n){n.regex.test(e)&&(n.deprecated?t.deprecated(n.old,n.new)():t.removed(n.old,n.new)())})}},{key:"_parseDeprecationDefinitions",value:function(e){return e.forEach(function(e){switch(e.type){case"function":e.regex=new RegExp("\\b".concat(e.old,"\\("));break;default:e.regex=new RegExp("".concat(e.type," ").concat(e.old,";"))}}),e}},{key:"_defaultGetUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={},n=this.uniforms;for(var i in n){var r=n[i];i in e&&!r.private?(r.validate&&dC(r.validate(e[i],r),"".concat(this.name,": invalid ").concat(i)),t[i]=e[i]):t[i]=r.value}return t}}]),e}();function jC(e){return function(e){var t={},n={};return FC({modules:e,level:0,moduleMap:t,moduleDepth:n}),Object.keys(n).sort(function(e,t){return n[t]-n[e]}).map(function(e){return t[e]})}(BC(e))}function FC(e){var t=e.modules,n=e.level,i=e.moduleMap,r=e.moduleDepth;if(n>=5)throw new Error("Possible loop in shader dependency graph");var o,a=_(t);try{for(a.s();!(o=a.n()).done;){var s=o.value;i[s.name]=s,(void 0===r[s.name]||r[s.name]2&&void 0!==arguments[2]?arguments[2]:{},i=VC[t];if(dC(i,t),!function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="undefined"!=typeof window&&window.navigator||{},n=e.userAgent||t.userAgent||"",i=-1!==n.indexOf("MSIE "),r=-1!==n.indexOf("Trident/");return i||r}(n))return!0;if(t in HC)return HC[t];var r="#extension GL_".concat(i[0]," : ").concat(n.behavior||"enable","\nvoid main(void) {}"),o=e.createShader(35633);e.shaderSource(o,r),e.compileShader(o);var a=e.getShaderParameter(o,35713);return e.deleteShader(o),HC[t]=a,a}function WC(e,t){return(t=Array.isArray(t)?t:[t]).every(function(t){return function(e,t){var n=VC[t];dC(n,t);var i=function(e){return"undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||Boolean(e&&2===e._version)}(e)&&n[1]||n[0],r="string"==typeof i?Boolean(e.getExtension(i)):i;return dC(!1===r||!0===r),r}(e,t)})}function qC(e){return new RegExp("\\b".concat(e,"[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)"),"g")}var XC=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],YC=[].concat(XC,[[qC("attribute"),"in $1"],[qC("varying"),"out $1"]]),KC=[].concat(XC,[[qC("varying"),"in $1"]]),$C=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],QC=[].concat($C,[[qC("in"),"attribute $1"],[qC("out"),"varying $1"]]),ZC=[].concat($C,[[qC("in"),"varying $1"]]),JC="gl_FragColor",eE=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,tE=/void\s+main\s*\([^)]*\)\s*\{\n?/;function nE(e,n){var i,r=_(n);try{for(r.s();!(i=r.n()).done;){var o=t(i.value,2),a=o[0],s=o[1];e=e.replace(a,s)}}catch(u){r.e(u)}finally{r.f()}return e}var iE="\n\n".concat(kC,"\n\n"),rE=(o(g={},_C,"vertex"),o(g,"fs","fragment"),g);function oE(e,n){var i=n.id,r=n.source,o=n.type,a=n.modules,s=n.defines,u=void 0===s?{}:s,c=n.hookFunctions,l=void 0===c?[]:c,h=n.inject,d=void 0===h?{}:h,f=n.transpileToGLSL100,p=void 0!==f&&f,v=n.prologue,g=void 0===v||v,m=n.log;dC("string"==typeof r,"shader source must be a string");var y=o===_C,b=r.split("\n"),w=100,k="",x=r;0===b[0].indexOf("#version ")?(w=300,k=b[0],x=b.slice(1).join("\n")):k="#version ".concat(w);var S={};a.forEach(function(e){Object.assign(S,e.getDefines())}),Object.assign(S,u);var C,E=g?"".concat(k,"\n").concat(function(e){var t=e.id,n=e.type;return t&&"string"==typeof t&&-1===e.source.indexOf("SHADER_NAME")?"\n#define SHADER_NAME ".concat(t,"_").concat(rE[n],"\n\n"):""}({id:i,source:r,type:o}),"\n").concat((C={type:o},"\n#define SHADER_TYPE_".concat(rE[C.type].toUpperCase(),"\n")),"\n").concat(function(e){switch(function(e){var t=e.getExtension("WEBGL_debug_renderer_info"),n=e.getParameter(t&&t.UNMASKED_VENDOR_WEBGL||7936),i=e.getParameter(t&&t.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:UC(n,i),vendor:n,renderer:i,version:e.getParameter(7938),shadingLanguageVersion:e.getParameter(35724)}}(e).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(e),"\n").concat(function(e,t,n){var i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return WC(e,zC.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),WC(e,zC.GLSL_DERIVATIVES)&&GC(e,zC.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),WC(e,zC.GLSL_FRAG_DATA)&&GC(e,zC.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),WC(e,zC.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(e),"\n").concat(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=0,n="";for(var i in e){0===t&&(n+="\n// APPLICATION DEFINES\n"),t++;var r=e[i];(r||Number.isFinite(r))&&(n+="#define ".concat(i.toUpperCase()," ").concat(e[i],"\n"))}return 0===t&&(n+="\n"),n}(S),"\n").concat(y?"":"precision highp float;\n\n","\n"):"".concat(k,"\n"),O=function(e){var n={vs:{},fs:{}};return e.forEach(function(e){var i;"string"!=typeof e?e=(i=e).hook:i={};var r=t((e=e.trim()).split(":"),2),o=r[0],a=r[1],s=e.replace(/\(.+/,"");n[o][s]=Object.assign(i,{signature:a})}),n}(l),T={},A={},P={};for(var M in d){var I="string"==typeof d[M]?{injection:d[M],order:0}:d[M],R=M.match(/^(v|f)s:(#)?([\w-]+)$/);if(R){var D=R[3];R[2]?"decl"===D?A[M]=[I]:P[M]=[I]:T[M]=[I]}else P[M]=[I]}var N,L=_(a);try{for(L.s();!(N=L.n()).done;){var j=N.value;m&&j.checkDeprecations(x,m),E+=j.getModuleSource(o,w);var F=j.injections[o];for(var B in F){var V=B.match(/^(v|f)s:#([\w-]+)$/);if(V){var z="decl"===V[2]?A:P;z[B]=z[B]||[],z[B].push(F[B])}else T[B]=T[B]||[],T[B].push(F[B])}}}catch(U){L.e(U)}finally{L.f()}return E=EC(E+=iE,o,A),E+=function(e,t){var n="";for(var i in e){var r=e[i];if(n+="void ".concat(r.signature," {\n"),r.header&&(n+=" ".concat(r.header)),t[i]){var o=t[i];o.sort(function(e,t){return e.order-t.order});var a,s=_(o);try{for(s.s();!(a=s.n()).done;){var u=a.value;n+=" ".concat(u.injection,"\n")}}catch(U){s.e(U)}finally{s.f()}}r.footer&&(n+=" ".concat(r.footer)),n+="}\n"}return n}(O[o],T),E=function(e,t,n){switch(t){case 300:return n?nE(e,YC):function(e){var t=(e=nE(e,KC)).match(eE);if(t){var n=t[1];e=e.replace(new RegExp("\\b".concat(JC,"\\b"),"g"),n)}else{var i="fragmentColor";e=e.replace(tE,function(e){return"out vec4 ".concat(i,";\n").concat(e)}).replace(new RegExp("\\b".concat(JC,"\\b"),"g"),i)}return e}(e);case 100:return n?nE(e,QC):function(e){var t=(e=nE(e,ZC)).match(eE);if(t){var n=t[1];e=e.replace(eE,"").replace(new RegExp("\\b".concat(n,"\\b"),"g"),JC)}return e}(e);default:throw new Error("unknown GLSL version ".concat(t))}}(E=EC(E+=x,o,P),p?100:w,y)}function aE(e){return function(t){var n,i={},r=_(e);try{for(r.s();!(n=r.n()).done;){var o=n.value.getUniforms(t,i);Object.assign(i,o)}}catch(a){r.e(a)}finally{r.f()}return i}}var sE=(o(y={5126:wE.bind(null,"uniform1fv",fE,1,kE),35664:wE.bind(null,"uniform2fv",fE,2,kE),35665:wE.bind(null,"uniform3fv",fE,3,kE),35666:wE.bind(null,"uniform4fv",fE,4,kE),5124:wE.bind(null,"uniform1iv",pE,1,kE),35667:wE.bind(null,"uniform2iv",pE,2,kE),35668:wE.bind(null,"uniform3iv",pE,3,kE),35669:wE.bind(null,"uniform4iv",pE,4,kE),35670:wE.bind(null,"uniform1iv",pE,1,kE),35671:wE.bind(null,"uniform2iv",pE,2,kE),35672:wE.bind(null,"uniform3iv",pE,3,kE),35673:wE.bind(null,"uniform4iv",pE,4,kE),35674:wE.bind(null,"uniformMatrix2fv",fE,4,xE),35675:wE.bind(null,"uniformMatrix3fv",fE,9,xE),35676:wE.bind(null,"uniformMatrix4fv",fE,16,xE),35678:_E,35680:_E,5125:wE.bind(null,"uniform1uiv",vE,1,kE),36294:wE.bind(null,"uniform2uiv",vE,2,kE),36295:wE.bind(null,"uniform3uiv",vE,3,kE),36296:wE.bind(null,"uniform4uiv",vE,4,kE),35685:wE.bind(null,"uniformMatrix2x3fv",fE,6,xE),35686:wE.bind(null,"uniformMatrix2x4fv",fE,8,xE),35687:wE.bind(null,"uniformMatrix3x2fv",fE,6,xE),35688:wE.bind(null,"uniformMatrix3x4fv",fE,12,xE),35689:wE.bind(null,"uniformMatrix4x2fv",fE,8,xE),35690:wE.bind(null,"uniformMatrix4x3fv",fE,12,xE)},"35678",_E),o(y,"35680",_E),o(y,35679,_E),o(y,35682,_E),o(y,36289,_E),o(y,36292,_E),o(y,36293,_E),o(y,36298,_E),o(y,36299,_E),o(y,36300,_E),o(y,36303,_E),o(y,36306,_E),o(y,36307,_E),o(y,36308,_E),o(y,36311,_E),y),uE={},cE={},lE={},hE=[0];function dE(e,t,n,i){1===t&&"boolean"==typeof e&&(e=e?1:0),Number.isFinite(e)&&(hE[0]=e,e=hE);var r=e.length;if(r%t&&sk.warn("Uniform size should be multiples of ".concat(t),e)(),e instanceof n)return e;var o=i[r];o||(o=new n(r),i[r]=o);for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"unnamed",n=e.match(/#define[\s*]SHADER_NAME[\s*]([A-Za-z0-9_-]+)[\s*]/);return n?n[1]:t}function CE(e,t){for(var n="",i=0;i0&&void 0!==arguments[0]?arguments[0]:this.source;if(e.startsWith("#version ")||(e="#version 100\n".concat(e)),this.source=e,this.gl.shaderSource(this.handle,this.source),this.gl.compileShader(this.handle),!this.getParameter(35713)){var t=this.gl.getShaderInfoLog(this.handle),n=function(e,t,n,i){for(var r=e.split(/\r?\n/),o={},a={},s=i||SE(t)||"(unnamed)",u="".concat(function(e){switch(e){case 35632:return"fragment";case 35633:return"vertex";default:return"unknown type"}}(n)," shader ").concat(s),c=0;c1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:": ",i=e.split(/\r?\n/),r=String(i.length+t-1).length;return i.map(function(e,i){var o=String(i+t);return EE(o,r-o.length)+n+e})}(t);return{shaderName:u,errors:CE(o,p),warnings:CE(a,p)}}(t,this.source,this.shaderType,this.id),i=n.shaderName,r=n.errors,o=n.warnings;throw sk.error("GLSL compilation errors in ".concat(i,"\n").concat(r))(),sk.warn("GLSL compilation warnings in ".concat(i,"\n").concat(o))(),new Error("GLSL compilation errors in ".concat(i))}}},{key:"_deleteHandle",value:function(){this.gl.deleteShader(this.handle)}},{key:"_getOptsFromHandle",value:function(){return{type:this.getParameter(35663),source:this.getSource()}}}],[{key:"getTypeName",value:function(e){switch(e){case 35633:return"vertex-shader";case 35632:return"fragment-shader";default:return ox(!1),"unknown"}}}]),i}(px,Symbol.toStringTag),TE=function(e,t){a(i,e);var n=s(i);function i(e,t){return m(this,i),"string"==typeof t&&(t={source:t}),n.call(this,e,Object.assign({},t,{shaderType:35633}))}return b(i,[{key:t,get:function(){return"VertexShader"}},{key:"_createHandle",value:function(){return this.gl.createShader(35633)}}]),i}(OE,Symbol.toStringTag),AE=function(e,t){a(i,e);var n=s(i);function i(e,t){return m(this,i),"string"==typeof t&&(t={source:t}),n.call(this,e,Object.assign({},t,{shaderType:35632}))}return b(i,[{key:t,get:function(){return"FragmentShader"}},{key:"_createHandle",value:function(){return this.gl.createShader(35632)}}]),i}(OE,Symbol.toStringTag),PE=5126,ME=5124,IE=5125,RE=(o(w={},PE,[PE,1,"float"]),o(w,35664,[PE,2,"vec2"]),o(w,35665,[PE,3,"vec3"]),o(w,35666,[PE,4,"vec4"]),o(w,ME,[ME,1,"int"]),o(w,35667,[ME,2,"ivec2"]),o(w,35668,[ME,3,"ivec3"]),o(w,35669,[ME,4,"ivec4"]),o(w,IE,[IE,1,"uint"]),o(w,36294,[IE,2,"uvec2"]),o(w,36295,[IE,3,"uvec3"]),o(w,36296,[IE,4,"uvec4"]),o(w,35670,[PE,1,"bool"]),o(w,35671,[PE,2,"bvec2"]),o(w,35672,[PE,3,"bvec3"]),o(w,35673,[PE,4,"bvec4"]),o(w,35674,[PE,8,"mat2"]),o(w,35685,[PE,8,"mat2x3"]),o(w,35686,[PE,8,"mat2x4"]),o(w,35675,[PE,12,"mat3"]),o(w,35687,[PE,12,"mat3x2"]),o(w,35688,[PE,12,"mat3x4"]),o(w,35676,[PE,16,"mat4"]),o(w,35689,[PE,16,"mat4x2"]),o(w,35690,[PE,16,"mat4x3"]),w);function DE(e){var n=RE[e];if(!n)return null;var i=t(n,2);return{type:i[0],components:i[1]}}function NE(e,n){switch(e){case 5120:case 5121:case 5122:case 5123:e=PE}for(var i in RE){var r=t(RE[i],3),o=r[0],a=r[1],s=r[2];if(o===e&&a===n)return{glType:i,name:s}}return null}var LE=function(){function e(t){m(this,e),this.id=t.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(t),this._readVaryingsFromProgram(t)}return b(e,[{key:"getAttributeInfo",value:function(e){var t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}},{key:"getAttributeLocation",value:function(e){var t=this.getAttributeInfo(e);return t?t.location:-1}},{key:"getAttributeAccessor",value:function(e){var t=this.getAttributeInfo(e);return t?t.accessor:null}},{key:"getVaryingInfo",value:function(e){var t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}},{key:"getVaryingIndex",value:function(e){var t=this.getVaryingInfo();return t?t.location:-1}},{key:"getVaryingAccessor",value:function(e){var t=this.getVaryingInfo();return t?t.accessor:null}},{key:"_readAttributesFromProgram",value:function(e){for(var t=e.gl,n=t.getProgramParameter(e.handle,35721),i=0;i=0&&this._addAttribute(u,o,a,s)}this.attributeInfos.sort(function(e,t){return e.location-t.location})}},{key:"_readVaryingsFromProgram",value:function(e){var t=e.gl;if(lk(t)){for(var n=t.getProgramParameter(e.handle,35971),i=0;i1&&void 0!==arguments[1]?arguments[1]:{};return m(this,r),(t=i.call(this,e,n)).stubRemovedMethods("Program","v6.0",jE),t._isCached=!1,t.initialize(n),Object.seal(c(t)),t._setId(n.id),t}return b(r,[{key:n,get:function(){return"Program"}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.hash,n=e.vs,i=e.fs,r=e.varyings,o=e.bufferMode,a=void 0===o?35981:o;return this.hash=t||"",this.vs="string"==typeof n?new TE(this.gl,{id:"".concat(e.id,"-vs"),source:n}):n,this.fs="string"==typeof i?new AE(this.gl,{id:"".concat(e.id,"-fs"),source:i}):i,ox(this.vs instanceof TE),ox(this.fs instanceof AE),this.uniforms={},this._textureUniforms={},r&&r.length>0&&(dk(this.gl),this.varyings=r,this.gl2.transformFeedbackVaryings(this.handle,r,a)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new LE(this),this.setProps(e)}},{key:"delete",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._isCached?this:e(p(r.prototype),"delete",this).call(this,t)}},{key:"setProps",value:function(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}},{key:"draw",value:function(e){var t=this,n=e.logPriority,i=e.drawMode,r=void 0===i?4:i,o=e.vertexCount,a=e.offset,s=void 0===a?0:a,u=e.start,c=e.end,l=e.isIndexed,h=void 0!==l&&l,d=e.indexType,f=void 0===d?5123:d,p=e.instanceCount,v=void 0===p?0:p,g=e.isInstanced,m=void 0===g?v>0:g,y=e.vertexArray,b=void 0===y?null:y,_=e.transformFeedback,w=e.framebuffer,k=e.parameters,x=void 0===k?{}:k,S=e.uniforms,C=e.samplers;if((S||C)&&(sk.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(S||{})),sk.priority>=n){var E=w?w.id:"default",O="mode=".concat(sx(this.gl,r)," verts=").concat(o," instances=").concat(v," indexType=").concat(sx(this.gl,f)," isInstanced=").concat(m," isIndexed=").concat(h," Framebuffer=").concat(E);sk.log(n,O)()}return ox(b),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===o||m&&0===v||(b.bindForDraw(o,v,function(){if(void 0!==w&&(x=Object.assign({},x,{framebuffer:w})),_){var e=function(e){switch(e){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return ox(!1),0}}(r);_.begin(e)}t._bindTextures(),Hk(t.gl,x,function(){h&&m?t.gl2.drawElementsInstanced(r,o,f,s,v):h&&lk(t.gl)&&!isNaN(u)&&!isNaN(c)?t.gl2.drawRangeElements(r,u,c,o,f,s):h?t.gl.drawElements(r,o,f,s):m?t.gl2.drawArraysInstanced(r,s,o,v):t.gl.drawArrays(r,s,o)}),_&&_.end()}),0))}},{key:"setUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in sk.priority>=2&&function(e,t,n){for(var i in e){var r=e[i];if((!n||Boolean(n[i]))&&!yE(r))throw t=t?"".concat(t," "):"",console.error("".concat(t," Bad uniform ").concat(i),r),new Error("".concat(t," Bad uniform ").concat(i))}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle),e){var n=e[t],i=this._uniformSetters[t];if(i){var r=n,o=!1;if(r instanceof $x&&(r=r.texture),r instanceof Mx)if(o=this.uniforms[t]!==n){void 0===i.textureIndex&&(i.textureIndex=this._textureIndexCounter++);var a=r,s=i.textureIndex;a.bind(s),r=s,this._textureUniforms[t]=a}else r=i.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(i(r)||o)&&bE(this.uniforms,t,n)}}return this}},{key:"_areTexturesRenderable",value:function(){var e=!0;for(var t in this._textureUniforms){var n=this._textureUniforms[t];n.update(),e=e&&n.loaded}return e}},{key:"_bindTextures",value:function(){for(var e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}},{key:"_createHandle",value:function(){return this.gl.createProgram()}},{key:"_deleteHandle",value:function(){this.gl.deleteProgram(this.handle)}},{key:"_getOptionsFromHandle",value:function(e){var t,n={},i=_(this.gl.getAttachedShaders(e));try{for(i.s();!(t=i.n()).done;){var r=t.value;switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:n.vs=new TE({handle:r});break;case 35632:n.fs=new AE({handle:r})}}}catch(o){i.e(o)}finally{i.f()}return n}},{key:"_getParameter",value:function(e){return this.gl.getProgramParameter(this.handle,e)}},{key:"_setId",value:function(e){if(!e){var t=this._getName();this.id=cx(t)}}},{key:"_getName",value:function(){var e=this.vs.getName()||this.fs.getName();return e=(e=e.replace(/shader/i,""))?"".concat(e,"-program"):"program"}},{key:"_compileAndLink",value:function(){var e=this.gl;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),sk.time(4,"linkProgram for ".concat(this._getName()))(),e.linkProgram(this.handle),sk.timeEnd(4,"linkProgram for ".concat(this._getName()))(),e.debug||sk.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error("Error linking: ".concat(e.getProgramInfoLog(this.handle)));if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error("Error validating: ".concat(e.getProgramInfoLog(this.handle)))}}},{key:"_readUniformLocationsFromLinkedProgram",value:function(){var e=this.gl;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(var t=0;t1)for(var o=0;o0&&void 0!==arguments[0]?arguments[0]:{},i=n.vs,r=void 0===i?"":i,o=n.fs,a=void 0===o?"":o,s=n.defines,u=void 0===s?{}:s,c=n.inject,l=void 0===c?{}:c,h=n.varyings,d=void 0===h?[]:h,f=n.bufferMode,p=void 0===f?35981:f,v=n.transpileToGLSL100,g=void 0!==v&&v,m=this._getModuleList(n.modules),y=this._getHash(r),b=this._getHash(a),w=m.map(function(e){return t._getHash(e.name)}).sort(),k=d.map(function(e){return t._getHash(e)}),x=Object.keys(u).sort(),S=Object.keys(l).sort(),C=[],E=[],O=_(x);try{for(O.s();!(e=O.n()).done;){var T=e.value;C.push(this._getHash(T)),C.push(this._getHash(u[T]))}}catch(D){O.e(D)}finally{O.f()}var A,P=_(S);try{for(P.s();!(A=P.n()).done;){var M=A.value;E.push(this._getHash(M)),E.push(this._getHash(l[M]))}}catch(D){P.e(D)}finally{P.f()}var I="".concat(y,"/").concat(b,"D").concat(C.join("/"),"M").concat(w.join("/"),"I").concat(E.join("/"),"V").concat(k.join("/"),"H").concat(this.stateHash,"B").concat(p).concat(g?"T":"");if(!this._programCache[I]){var R=function(e,t){var n=t.vs,i=t.fs,r=jC(t.modules||[]);return{gl:e,vs:oE(e,Object.assign({},t,{source:n,type:_C,modules:r})),fs:oE(e,Object.assign({},t,{source:i,type:"fs",modules:r})),getUniforms:aE(r)}}(this.gl,{vs:r,fs:a,modules:m,inject:l,defines:u,hookFunctions:this._hookFunctions,transpileToGLSL100:g});this._programCache[I]=new FE(this.gl,{hash:I,vs:R.vs,fs:R.fs,varyings:d,bufferMode:p}),this._getUniforms[I]=R.getUniforms||function(e){},this._useCounts[I]=0}return this._useCounts[I]++,this._programCache[I]}},{key:"getUniforms",value:function(e){return this._getUniforms[e.hash]||null}},{key:"release",value:function(e){var t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}},{key:"_getHash",value:function(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}},{key:"_getModuleList",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Array(this._defaultModules.length+e.length),n={},i=0,r=0,o=this._defaultModules.length;r1&&void 0!==arguments[1]?arguments[1]:{};return m(this,r),(t=i.call(this,e,Object.assign({},n,{id:n.id||n.program&&n.program.id}))).buffer=null,t.bufferValue=null,t.isDefaultArray=n.isDefaultArray||!1,t.gl2=e,t.initialize(n),Object.seal(c(t)),t}return b(r,[{key:n,get:function(){return"VertexArrayObject"}},{key:"delete",value:function(){return e(p(r.prototype),"delete",this).call(this),this.buffer&&this.buffer.delete(),this}},{key:"MAX_ATTRIBUTES",get:function(){return r.getMaxAttributes(this.gl)}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.setProps(e)}},{key:"setProps",value:function(e){return this}},{key:"setElementBuffer",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return ox(!t||34963===t.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(function(){e.gl.bindBuffer(34963,t?t.handle:null)}),this}},{key:"setBuffer",value:function(e,t,n){if(34963===t.target)return this.setElementBuffer(t,n);var i=n.size,r=n.type,o=n.stride,a=n.offset,s=n.normalized,u=n.integer,c=n.divisor,l=this.gl,h=this.gl2;return e=Number(e),this.bind(function(){l.bindBuffer(34962,t.handle),u?(ox(lk(l)),h.vertexAttribIPointer(e,i,r,o,a)):l.vertexAttribPointer(e,i,r,s,o,a),l.enableVertexAttribArray(e),h.vertexAttribDivisor(e,c||0)}),this}},{key:"enable",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!n&&0===e&&!r.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(function(){return n?t.gl.enableVertexAttribArray(e):t.gl.disableVertexAttribArray(e)})),this}},{key:"getConstantBuffer",value:function(e,t){var n=this._normalizeConstantArrayValue(t),i=n.byteLength*e,r=n.length*e,o=!this.buffer;if(this.buffer=this.buffer||new Cx(this.gl,i),o=(o=o||this.buffer.reallocate(i))||!this._compareConstantArrayValues(n,this.bufferValue)){var a=function(e,t){return new e(function(e){return(!VE||VE.byteLength1&&void 0!==arguments[1]?arguments[1]:{};return!t.constantAttributeZero||lk(e)||"Chrome"===function(e){if(!Lw())return"Node";if(Nw(void 0))return"Electron";var t=("undefined"!=typeof navigator?navigator:{}).userAgent||"";if(t.indexOf("Edge")>-1)return"Edge";var n=-1!==t.indexOf("MSIE "),i=-1!==t.indexOf("Trident/");return n||i?"IE":Ww.chrome?"Chrome":Ww.safari?"Safari":Ww.mozInnerScreenX?"Firefox":"Unknown"}()}},{key:"getDefaultArray",value:function(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new r(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}},{key:"getMaxAttributes",value:function(e){return r.MAX_ATTRIBUTES=r.MAX_ATTRIBUTES||e.getParameter(34921),r.MAX_ATTRIBUTES}},{key:"setConstant",value:function(e,t,n){switch(n.constructor){case Float32Array:r._setConstantFloatArray(e,t,n);break;case Int32Array:r._setConstantIntArray(e,t,n);break;case Uint32Array:r._setConstantUintArray(e,t,n);break;default:ox(!1)}}},{key:"_setConstantFloatArray",value:function(e,t,n){switch(n.length){case 1:e.vertexAttrib1fv(t,n);break;case 2:e.vertexAttrib2fv(t,n);break;case 3:e.vertexAttrib3fv(t,n);break;case 4:e.vertexAttrib4fv(t,n);break;default:ox(!1)}}},{key:"_setConstantIntArray",value:function(e,t,n){switch(ox(lk(e)),n.length){case 1:e.vertexAttribI1iv(t,n);break;case 2:e.vertexAttribI2iv(t,n);break;case 3:e.vertexAttribI3iv(t,n);break;case 4:e.vertexAttribI4iv(t,n);break;default:ox(!1)}}},{key:"_setConstantUintArray",value:function(e,t,n){switch(ox(lk(e)),n.length){case 1:e.vertexAttribI1uiv(t,n);break;case 2:e.vertexAttribI2uiv(t,n);break;case 3:e.vertexAttribI3uiv(t,n);break;case 4:e.vertexAttribI4uiv(t,n);break;default:ox(!1)}}}]),r}(px,Symbol.toStringTag),UE=/^(.+)__LOCATION_([0-9]+)$/,HE=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"],GE=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.id=n.id||n.program&&n.program.id,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new zE(t),dx(this,"VertexArray","v6.0",HE),this.initialize(n),Object.seal(this)}return b(e,[{key:"delete",value:function(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}},{key:"initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}},{key:"reset",value:function(){this.elements=null,this.elementsAccessor=null;var e=this.vertexArrayObject.MAX_ATTRIBUTES;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}},{key:"setProps",value:function(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}},{key:"clearDrawParams",value:function(){this.drawParams=null}},{key:"getDrawParams",value:function(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}},{key:"setAttributes",value:function(e){var t=this;return Object.assign(this.attributes,e),this.vertexArrayObject.bind(function(){for(var n in e)t._setAttribute(n,e[n]);t.gl.bindBuffer(34962,null)}),this}},{key:"setElementBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}},{key:"setBuffer",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(34963===t.target)return this.setElementBuffer(t,n);var i=this._resolveLocationAndAccessor(e,t,t.accessor,n),r=i.location,o=i.accessor;return r>=0&&(this.values[r]=t,this.accessors[r]=o,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,o)),this}},{key:"setConstant",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},n)),r=i.location,o=i.accessor;return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=o,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}},{key:"unbindBuffers",value:function(){var e=this;return this.vertexArrayObject.bind(function(){e.elements&&e.vertexArrayObject.setElementBuffer(null),e.buffer=e.buffer||new Cx(e.gl,{accessor:{size:4}});for(var t=0;t0;if(e.isInstanced=e.isInstanced||r,n instanceof Cx){var o=n;if(r){var a=o.getVertexCount(i);e.instanceCount=Math.min(e.instanceCount,a)}else{var s=o.getVertexCount(i);e.vertexCount=Math.min(e.vertexCount,s)}}}}},{key:"setElements",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return sk.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}]),e}();function WE(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.isInteger,i=void 0!==n&&n;if(Array.isArray(e)||ArrayBuffer.isView(e))return function(e,t){for(var n=t.maxElts,i=void 0===n?16:n,r=t.size,o=void 0===r?1:r,a="[",s=0;s0&&(a+=","+(s%o==0?" ":"")),a+=WE(e[s],t);return"".concat(a).concat(e.length>i?"...":"]")}(e,t);if(!Number.isFinite(e))return String(e);if(Math.abs(e)<1e-16)return i?"0":"0.";if(i||Math.abs(e)>100&&Math.abs(e)<1e4)return e.toFixed(0);var r=e.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function qE(e,t,n,i){var r,a,s=e.gl;if(!t)return o(r={},i,"null"),o(r,"Format ","N/A"),r;var u,c,l,h="NOT PROVIDED",d=1,f=0,p=0;if(n&&(h=n.type,d=n.size,u=-1!==(h=String(h).replace("Array","")).indexOf("nt")),t instanceof Cx){var v,g,m=t,y=m.getDebugData(),b=y.data;return c=y.changed?"*":"",l=b,f=(p=m.byteLength)/b.BYTES_PER_ELEMENT/d,n?g="".concat(n.divisor>0?"I ":"P "," ").concat(f," (x").concat(d,"=").concat(p," bytes ").concat(sx(s,h),")"):(u=!0,g="".concat(p," bytes")),o(v={},i,"".concat(c).concat(WE(l,{size:d,isInteger:u}))),o(v,"Format ",g),v}return l=t,d=t.length,u=-1!==(h=String(t.constructor.name).replace("Array","")).indexOf("nt"),o(a={},i,"".concat(WE(l,{size:d,isInteger:u})," (constant)")),o(a,"Format ","".concat(d,"x").concat(h," (constant)")),a}function XE(e,t){var n=NE(t.type,t.size);return n?"".concat(e," (").concat(n.name,")"):e}function YE(e){var t=e.header,n=void 0===t?"Uniforms":t,i=e.program,r=e.uniforms,a=e.undefinedOnly,s=void 0!==a&&a;ox(i);var u,c=".*Matrix",l={},h=Object.keys(i._uniformSetters).sort(),d=0,f=_(h);try{for(f.s();!(u=f.n()).done;){var p=u.value;!p.match(".*_.*")&&!p.match(c)&&KE({table:l,header:n,uniforms:r,uniformName:p,undefinedOnly:s})&&d++}}catch(E){f.e(E)}finally{f.f()}var v,g=_(h);try{for(g.s();!(v=g.n()).done;){var m=v.value;m.match(c)&&KE({table:l,header:n,uniforms:r,uniformName:m,undefinedOnly:s})&&d++}}catch(E){g.e(E)}finally{g.f()}var y,b=_(h);try{for(b.s();!(y=b.n()).done;){var w=y.value;l[w]||KE({table:l,header:n,uniforms:r,uniformName:w,undefinedOnly:s})&&d++}}catch(E){b.e(E)}finally{b.f()}var k=0,x={};if(!s)for(var S in r){var C=r[S];l[S]||(k++,x[S]=o({Type:"NOT USED: ".concat(C)},n,WE(C)))}return{table:l,count:d,unusedTable:x,unusedCount:k}}function KE(e){var t,n=e.table,i=e.header,r=e.uniforms,a=e.uniformName,s=e.undefinedOnly,u=r[a],c=function(e){return null!=e}(u);return!(s&&c||(n[a]=(t={},o(t,i,c?WE(u):"N/A"),o(t,"Uniform Type",c?u:"NOT PROVIDED"),t),0))}function $E(e){var t=e.accessor,n=NE(t.type,t.size);return n?"".concat(n.name," ").concat(e.name):e.name}var QE={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function ZE(e,t){var n=(t||{}).attributeMap,i=void 0===n?QE:n;return i&&i[e]||e}function JE(e,t){var n;switch(e){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":n="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":n="vectors"}switch(n){case"vectors":t.size=t.size||3;break;case"uvs":t.size=t.size||2}ox(Number.isFinite(t.size),"attribute ".concat(e," needs size"))}var eO=function(){},tO={},nO=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e);var i=n.id,r=void 0===i?cx("model"):i;ox(ck(t)),this.id=r,this.gl=t,this.id=n.id||cx("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(n)}return b(e,[{key:"initialize",value:function(e){this.props={},this.programManager=e.programManager||BE.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;var t=e.program,n=void 0===t?null:t,i=e.vs,r=e.fs,o=e.modules,a=e.defines,s=e.inject,u=e.varyings,c=e.bufferMode,l=e.transpileToGLSL100;this.programProps={program:n,vs:i,fs:r,modules:o,defines:a,inject:s,varyings:u,bufferMode:c,transpileToGLSL100:l},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},ox(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}},{key:"setProps",value:function(e){this._setModelProps(e)}},{key:"delete",value:function(){for(var e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}},{key:"getDrawMode",value:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getInstanceCount",value:function(){return this.instanceCount}},{key:"getAttributes",value:function(){return this.attributes}},{key:"getProgram",value:function(){return this.program}},{key:"setProgram",value:function(e){var t=e.program,n=e.vs,i=e.fs,r=e.modules,o=e.defines,a=e.inject,s=e.varyings,u=e.bufferMode,c=e.transpileToGLSL100;this.programProps={program:t,vs:n,fs:i,modules:r,defines:o,inject:a,varyings:s,bufferMode:u,transpileToGLSL100:c},this._programDirty=!0}},{key:"getUniforms",value:function(){return this.uniforms}},{key:"setDrawMode",value:function(e){return this.drawMode=e,this}},{key:"setVertexCount",value:function(e){return ox(Number.isFinite(e)),this.vertexCount=e,this}},{key:"setInstanceCount",value:function(e){return ox(Number.isFinite(e)),this.instanceCount=e,this}},{key:"setGeometry",value:function(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(e,t,n){var i={},r=t.indices;for(var o in t.attributes){var a=t.attributes[o],s=ZE(o,void 0);if("indices"===o)r=a;else if(a.constant)i[s]=a.value;else{var u=a.value,c=M({},a);delete c.value,i[s]=[new Cx(e,u),c],JE(o,c)}}if(r){var l=r.value||r;ox(l instanceof Uint16Array||l instanceof Uint32Array,'attribute array for "indices" must be of integer type');var h={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new Cx(e,{data:l,target:34963}),h]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}},{key:"setAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(hx(e))return this;var t={};for(var n in e){var i=e[n];t[n]=i.getValue?i.getValue():i}return this.vertexArray.setAttributes(t),this}},{key:"setUniforms",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign(this.uniforms,e),this}},{key:"getModuleUniforms",value:function(e){this._checkProgram();var t=this.programManager.getUniforms(this.program);return t?t(e):{}}},{key:"updateModuleSettings",value:function(e){var t=this.getModuleUniforms(e||{});return this.setUniforms(t)}},{key:"clear",value:function(e){return Fx(this.program.gl,e),this}},{key:"draw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._checkProgram();var t,n=e.moduleSettings,i=void 0===n?null:n,r=e.framebuffer,o=e.uniforms,a=void 0===o?{}:o,s=e.attributes,u=void 0===s?{}:s,c=e.transformFeedback,l=void 0===c?this.transformFeedback:c,h=e.parameters,d=void 0===h?{}:h,f=e.vertexArray,p=void 0===f?this.vertexArray:f;this.setAttributes(u),this.updateModuleSettings(i),this.setUniforms(a),sk.priority>=2&&(t=this._logDrawCallStart(2));var v=this.vertexArray.getDrawParams(),g=this.props,m=g.isIndexed,y=void 0===m?v.isIndexed:m,b=g.indexType,_=void 0===b?v.indexType:b,w=g.indexOffset,k=void 0===w?v.indexOffset:w,x=g.vertexArrayInstanced,S=void 0===x?v.isInstanced:x;S&&!this.isInstanced&&sk.warn("Found instanced attributes on non-instanced model",this.id)();var C=this.isInstanced,E=this.instanceCount,O=this.props,T=O.onBeforeRender,A=void 0===T?eO:T,P=O.onAfterRender,M=void 0===P?eO:P;A(),this.program.setUniforms(this.uniforms);var I=this.program.draw(Object.assign(tO,e,{logPriority:t,uniforms:null,framebuffer:r,parameters:d,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:p,transformFeedback:l,isIndexed:y,indexType:_,isInstanced:C,instanceCount:E,offset:y?k:0}));return M(),sk.priority>=2&&this._logDrawCallEnd(t,p,r),I}},{key:"transform",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.discard,n=void 0===t||t,i=e.feedbackBuffers,r=e.unbindModels,o=void 0===r?[]:r,a=e.parameters;i&&this._setFeedbackBuffers(i),n&&(a=Object.assign({},a,{35977:n})),o.forEach(function(e){return e.vertexArray.unbindBuffers()});try{this.draw(Object.assign({},e,{parameters:a}))}finally{o.forEach(function(e){return e.vertexArray.bindBuffers()})}return this}},{key:"render",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return sk.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}},{key:"_setModelProps",value:function(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}},{key:"_checkProgram",value:function(){if(this._programDirty||this.programManager.stateHash!==this._programManagerState){var e=this.programProps.program;if(e)this._managedProgram=!1;else{var t=this.programProps,n=t.vs,i=t.fs,r=t.modules,o=t.inject,a=t.defines,s=t.varyings,u=t.bufferMode,c=t.transpileToGLSL100;e=this.programManager.get({vs:n,fs:i,modules:r,inject:o,defines:a,varyings:s,bufferMode:u,transpileToGLSL100:c}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}ox(e instanceof FE,"Model needs a program"),this._programDirty=!1,e!==this.program&&(this.program=e,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new GE(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}}},{key:"_deleteGeometryBuffers",value:function(){for(var e in this.geometryBuffers){var t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof Cx&&t.delete()}}},{key:"_setAnimationProps",value:function(e){this.animated&&ox(e,"Model.draw(): animated uniforms but no animationProps")}},{key:"_setFeedbackBuffers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(hx(e))return this;var t=this.program.gl;return this.transformFeedback=this.transformFeedback||new mC(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}},{key:"_logDrawCallStart",value:function(e){var t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ".concat(this.id),{collapsed:sk.level<=2})(),e}},{key:"_logDrawCallEnd",value:function(e,t,n,i){if(void 0!==e){var r=function(e){var t=e.vertexArray,n=e.header,i=void 0===n?"Attributes":n;if(!t.configuration)return{};var r={};t.elements&&(r.ELEMENT_ARRAY_BUFFER=qE(t,t.elements,null,i));var o=t.values;for(var a in o){var s=t._getAttributeInfo(a);if(s){var u="".concat(a,": ").concat(s.name),c=t.accessors[s.location];c&&(u="".concat(a,": ").concat(XE(s.name,c))),r[u]=qE(t,o[a],c,i)}}return r}({vertexArray:t,header:"".concat(this.id," attributes"),attributes:this._attributes}),a=YE({header:"".concat(this.id," uniforms"),program:this.program,uniforms:Object.assign({},this.program.uniforms,n)}),s=a.table,u=a.unusedTable,c=a.unusedCount,l=YE({header:"".concat(this.id," uniforms"),program:this.program,uniforms:Object.assign({},this.program.uniforms,n),undefinedOnly:!0}),h=l.table;l.count>0&&sk.log("MISSING UNIFORMS",Object.keys(h))(),c>0&&sk.log("UNUSED UNIFORMS",Object.keys(u))();var d=function(e){var t,n={},i="Accessors for ".concat(e.id),r=_(e.attributeInfos);try{for(r.s();!(t=r.n()).done;){var a=t.value;a&&(n["in ".concat($E(a))]=o({},i,JSON.stringify(a.accessor)))}}catch(l){r.e(l)}finally{r.f()}var s,u=_(e.varyingInfos);try{for(u.s();!(s=u.n()).done;){var c=s.value;c&&(n["out ".concat($E(c))]=o({},i,JSON.stringify(c.accessor)))}}catch(l){u.e(l)}finally{u.f()}return n}(this.vertexArray.configuration);sk.table(e,r)(),sk.table(e,s)(),sk.table(e+1,d)(),i&&i.log({logLevel:2,message:"Rendered to ".concat(i.id)}),sk.groupEnd(2,">>> DRAWING MODEL ".concat(this.id))()}}}]),e}(),iO=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(n),Object.seal(this)}return b(e,[{key:"delete",value:function(){var e=this.model,t=this.bufferTransform,n=this.textureTransform;e&&e.delete(),t&&t.delete(),n&&n.delete()}},{key:"run",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.clearRenderTarget,n=void 0===t||t,i=this._updateDrawOptions(e);n&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}},{key:"swap",value:function(){var e,t=!1,n=_([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(n.s();!(e=n.n()).done;){var i=e.value;t=t||i.swap()}}catch(r){n.e(r)}finally{n.f()}ox(t,"Nothing to swap")}},{key:"getBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this.bufferTransform&&this.bufferTransform.getBuffer(e)}},{key:"getData",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=[this.bufferTransform,this.textureTransform].filter(Boolean),i=_(n);try{for(i.s();!(e=i.n()).done;){var r=e.value,o=r.getData(t);if(o)return o}}catch(a){i.e(a)}finally{i.f()}return null}},{key:"getFramebuffer",value:function(){return this.textureTransform&&this.textureTransform.getFramebuffer()}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};"elementCount"in e&&this.model.setVertexCount(e.elementCount);var t,n=[this.bufferTransform,this.textureTransform].filter(Boolean),i=_(n);try{for(i.s();!(t=i.n()).done;){var r=t.value;r.update(e)}}catch(o){i.e(o)}finally{i.f()}}},{key:"_initialize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.gl;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new nO(t,Object.assign({},e,{fs:e.fs||gC({version:bC(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}},{key:"_updateModelProps",value:function(e){var t,n=Object.assign({},e),i=_([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(i.s();!(t=i.n()).done;){n=t.value.updateModelProps(n)}}catch(r){i.e(r)}finally{i.f()}return n}},{key:"_buildResourceTransforms",value:function(e,t){(function(e){return!(hx(e.feedbackBuffers)&&hx(e.feedbackMap)&&!(e.varyings&&e.varyings.length>0))})(t)&&(this.bufferTransform=new yC(e,t)),function(e){return!(hx(e._sourceTextures)&&!e._targetTexture&&!e._targetTextureVarying)}(t)&&(this.textureTransform=new IC(e,t)),ox(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}},{key:"_updateDrawOptions",value:function(e){var t,n=Object.assign({},e),i=_([this.bufferTransform,this.textureTransform].filter(Boolean));try{for(i.s();!(t=i.n()).done;){var r=t.value;n=Object.assign(n,r.getDrawOptions(n))}}catch(o){i.e(o)}finally{i.f()}return n}}],[{key:"isSupported",value:function(e){return lk(e)}}]),e}();function rO(){}var oO={onStart:rO,onUpdate:rO,onInterrupt:rO,onEnd:rO},aO=function(){function e(t){m(this,e),this._inProgress=!1,this._handle=null,this.timeline=t,this.settings={}}return b(e,[{key:"inProgress",get:function(){return this._inProgress}},{key:"start",value:function(e){this.cancel(),this.settings=M(M({},oO),e),this._inProgress=!0,this.settings.onStart(this)}},{key:"end",value:function(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}},{key:"cancel",value:function(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}},{key:"update",value:function(){if(!this._inProgress)return!1;if(null===this._handle){var e=this.timeline,t=this.settings;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}},{key:"_onUpdate",value:function(){}}]),e}(),sO={interpolation:function(){function e(t){var n=t.gl,i=t.attribute,r=t.timeline;m(this,e),this.gl=n,this.type="interpolation",this.transition=new aO(r),this.attribute=i,this.attributeInTransition=new cC(n,i.settings),this.currentStartIndices=i.startIndices,this.currentLength=0,this.transform=function(e,t){var n=oC(t.size);return new iO(e,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:n},varyings:["vCurrent"]})}(n,i);var o={byteLength:0,usage:35050};this.buffers=[new Cx(n,o),new Cx(n,o)]}return b(e,[{key:"inProgress",get:function(){return this.transition.inProgress}},{key:"start",value:function(e,t){if(e.duration<=0)this.transition.cancel();else{var n=this.buffers,i=this.attribute;aC(n);var r,o={numInstances:t,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter},a=_(n);try{for(a.s();!(r=a.n()).done;){var s=r.value;uC(M({buffer:s},o))}}catch(u){a.e(u)}finally{a.f()}this.currentStartIndices=i.startIndices,this.currentLength=sC(i,t),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aFrom:n[0],aTo:rC(0,i)},feedbackBuffers:{vCurrent:n[1]}})}}},{key:"update",value:function(){var e=this.transition.update();if(e){var t=this.transition,n=t.time,i=t.settings,r=i.duration,o=(0,i.easing)(n/r);this.transform.run({uniforms:{time:o}})}return e}},{key:"cancel",value:function(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}}]),e}(),spring:function(){function e(t){var n=t.gl,i=t.attribute,r=t.timeline;m(this,e),this.gl=n,this.type="spring",this.transition=new aO(r),this.attribute=i,this.attributeInTransition=new cC(n,I(M({},i.settings),{normalized:!1})),this.currentStartIndices=i.startIndices,this.currentLength=0,this.texture=function(e){return new Rx(e,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(n),this.framebuffer=function(e,t){return new $x(e,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:t}})}(n,this.texture),this.transform=function(e,t,n){var i=oC(t.size);return new iO(e,{framebuffer:n,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(n,i,this.framebuffer);var o={byteLength:0,usage:35050};this.buffers=[new Cx(n,o),new Cx(n,o),new Cx(n,o)]}return b(e,[{key:"inProgress",get:function(){return this.transition.inProgress}},{key:"start",value:function(e,t){var n,i=this.buffers,r=this.attribute,o={numInstances:t,attribute:r,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter},a=_(i);try{for(a.s();!(n=a.n()).done;){var s=n.value;uC(M({buffer:s},o))}}catch(u){a.e(u)}finally{a.f()}this.currentStartIndices=r.startIndices,this.currentLength=sC(r,t),this.attributeInTransition.update({buffer:i[1],value:r.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/r.size),sourceBuffers:{aTo:rC(0,r)}})}},{key:"update",value:function(){var e=this.buffers,t=this.transform,n=this.framebuffer,i=this.transition;return!!i.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:n,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:i.settings.stiffness,damping:i.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),aC(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),qx(n)[0]>0||i.end(),!0)}},{key:"cancel",value:function(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}]),e}()},uO=function(){function e(t,n){var i=n.id,r=n.timeline;m(this,e),this.id=i,this.gl=t,this.timeline=r,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=iO.isSupported(t)}return b(e,[{key:"finalize",value:function(){for(var e in this.transitions)this._removeTransition(e)}},{key:"update",value:function(e){var t=e.attributes,n=e.transitions,i=e.numInstances;for(var r in this.numInstances=i||1,t){var o=t[r],a=o.getTransitionSetting(n);!a||this._updateAttribute(r,o,a)}for(var s in this.transitions){var u=t[s];(!u||!u.getTransitionSetting(n))&&this._removeTransition(s)}}},{key:"hasAttribute",value:function(e){var t=this.transitions[e];return t&&t.inProgress}},{key:"getAttributes",value:function(){var e={};for(var t in this.transitions){var n=this.transitions[t];n.inProgress&&(e[t]=n.attributeInTransition)}return e}},{key:"run",value:function(){if(!this.isSupported||0===this.numInstances)return!1;for(var e in this.transitions)this.transitions[e].update()&&(this.needsRedraw=!0);var t=this.needsRedraw;return this.needsRedraw=!1,t}},{key:"_removeTransition",value:function(e){this.transitions[e].cancel(),delete this.transitions[e]}},{key:"_updateAttribute",value:function(e,t,n){var i=this.transitions[e],r=!i||i.type!==n.type;if(r){if(!this.isSupported)return void ik.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();i&&this._removeTransition(e);var o=sO[n.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(ik.error("unsupported transition type '".concat(n.type,"'"))(),r=!1)}(r||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(n,this.numInstances))}}]),e}(),cO="attributeManager.invalidate",lO=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.id,r=void 0===i?"attribute-manager":i,o=n.stats,a=n.timeline;m(this,e),this.id=r,this.gl=t,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=o,this.attributeTransitionManager=new uO(t,{id:"".concat(r,"-transitions"),timeline:a}),Object.seal(this)}return b(e,[{key:"finalize",value:function(){for(var e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}},{key:"getNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}},{key:"setNeedsRedraw",value:function(){return this.needsRedraw=!0,this}},{key:"add",value:function(e,t){this._add(e,t)}},{key:"addInstanced",value:function(e,t){this._add(e,t,{instanced:1})}},{key:"remove",value:function(e){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.data,n=e.numInstances,i=e.startIndices,r=void 0===i?null:i,o=e.transitions,a=e.props,s=void 0===a?{}:a,u=e.buffers,c=void 0===u?{}:u,l=e.context,h=void 0===l?{}:l,d=!1;for(var f in hC("attributeManager.updateStart",this),this.stats&&this.stats.get("Update Attributes").timeStart(),this.attributes){var p=this.attributes[f],v=p.settings.accessor;p.startIndices=r,s[f]&&ik.removed("props.".concat(f),"data.attributes.".concat(f))(),p.setExternalBuffer(c[f])||p.setBinaryValue(c[v],t.startIndices)||!c[v]&&p.setConstantValue(s[v])||p.needsUpdate()&&(d=!0,this._updateAttribute({attribute:p,numInstances:n,data:t,props:s,context:h})),this.needsRedraw|=p.needsRedraw()}d&&hC("attributeManager.updateEnd",this,n),this.stats&&this.stats.get("Update Attributes").timeEnd(),this.attributeTransitionManager.update({attributes:this.attributes,numInstances:n,transitions:o})}},{key:"updateTransition",value:function(){var e=this.attributeTransitionManager.run();return this.needsRedraw=this.needsRedraw||e,e}},{key:"getAttributes",value:function(){return this.attributes}},{key:"getChangedAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearChangedFlags:!1},t=this.attributes,n=this.attributeTransitionManager,i=M({},n.getAttributes());for(var r in t){var o=t[r];o.needsRedraw(e)&&!n.hasAttribute(r)&&(i[r]=o)}return i}},{key:"getShaderAttributes",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e||(e=this.getAttributes());var n={};for(var i in e)t[i]||Object.assign(n,e[i].getShaderAttributes());return n}},{key:"getAccessors",value:function(){return this.updateTriggers}},{key:"_add",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(var i in t&&ik.warn("AttributeManager.add({updaters}) - updater map no longer supported")(),e)this.attributes[i]=this._createAttribute(i,e[i],n);this._mapUpdateTriggersToAttributes()}},{key:"_createAttribute",value:function(e,t,n){var i=I(M({},t),{id:e,isIndexed:t.isIndexed||t.elements||!1,constant:t.constant||!1,size:(t.elements?1:t.size)||1,value:t.value||null,divisor:t.instanced||n.instanced?1:t.divisor||0});return new cC(this.gl,i)}},{key:"_mapUpdateTriggersToAttributes",value:function(){var e=this,t={},n=function(n){e.attributes[n].getUpdateTriggers().forEach(function(e){t[e]||(t[e]=[]),t[e].push(n)})};for(var i in this.attributes)n(i);this.updateTriggers=t}},{key:"_invalidateTrigger",value:function(e,t){var n=this.attributes,i=this.updateTriggers[e];return i&&i.forEach(function(e){var i=n[e];i&&i.setNeedsUpdate(i.id,t)}),i}},{key:"_updateAttribute",value:function(e){var t=e.attribute,n=e.numInstances;hC("attribute.updateStart",t),t.allocate(n)&&hC("attribute.allocate",t,n),t.updateBuffer(e)&&(this.needsRedraw=!0,hC("attribute.updateEnd",t,n))}}]),e}();function hO(e,t,n,i,r){var o=t-e;return(n-t)*r+-o*i+o+t}function dO(e,t){if(Array.isArray(e)){for(var n=0,i=0;i0}},{key:"add",value:function(e,t,n,i){var r=this.transitions;if(r.has(e)){var o=r.get(e),a=o.value;t=void 0===a?o.settings.fromValue:a,this.remove(e)}if(i=iC(i)){var s=fO[i.type];if(s){var u=new s(this.timeline);u.start(I(M({},i),{fromValue:t,toValue:n})),r.set(e,u)}else ik.error("unsupported transition type '".concat(i.type,"'"))()}}},{key:"remove",value:function(e){var t=this.transitions;t.has(e)&&(t.get(e).cancel(),t.delete(e))}},{key:"update",value:function(){var e,n={},i=_(this.transitions);try{for(i.s();!(e=i.n()).done;){var r=t(e.value,2),o=r[0],a=r[1];a.update(),n[o]=a.value,a.inProgress||this.remove(o)}}catch(s){i.e(s)}finally{i.f()}return n}},{key:"clear",value:function(){var e,t=_(this.transitions.keys());try{for(t.s();!(e=t.n()).done;){var n=e.value;this.remove(n)}}catch(i){t.e(i)}finally{t.f()}}}]),e}(),vO={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},gO=vO.COMPONENT;function mO(e,t){if(!e.transitions)return null;var n={},i=kO(e);for(var r in e.transitions){var o=i[r],a=o&&o.type;("number"===a||"color"===a||"array"===a)&&bO(e[r],t[r],o)&&(n[r]=!0)}return n}function yO(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.newProps,n=e.oldProps,i=e.ignoreProps,r=void 0===i?{}:i,o=e.propTypes,a=void 0===o?{}:o,s=e.triggerName,u=void 0===s?"props":s;if(n===t)return null;if("object"!=typeof t||null===t||"object"!=typeof n||null===n)return"".concat(u," changed shallowly");for(var c=0,l=Object.keys(t);c=0&&n.modules.splice(i,1)}if("inject"in t)if(e.inject){var r=M({},e.inject);for(var o in t.inject)r[o]=(r[o]||"")+t.inject[o];n.inject=r}else n.inject=t.inject;return n}function EO(e,t){var n=t[0],i=t[1],r=t[2],o=t[3],a=t[4],s=t[5],u=t[6],c=t[7],l=t[8],h=t[9],d=t[10],f=t[11],p=t[12],v=t[13],g=t[14],m=t[15],y=n*s-i*a,b=n*u-r*a,_=n*c-o*a,w=i*u-r*s,k=i*c-o*s,x=r*c-o*u,S=l*v-h*p,C=l*g-d*p,E=l*m-f*p,O=h*g-d*v,T=h*m-f*v,A=d*m-f*g,P=y*A-b*T+_*O+w*E-k*C+x*S;return P?(e[0]=(s*A-u*T+c*O)*(P=1/P),e[1]=(r*T-i*A-o*O)*P,e[2]=(v*x-g*k+m*w)*P,e[3]=(d*k-h*x-f*w)*P,e[4]=(u*E-a*A-c*C)*P,e[5]=(n*A-r*E+o*C)*P,e[6]=(g*_-p*x-m*b)*P,e[7]=(l*x-d*_+f*b)*P,e[8]=(a*T-s*E+c*S)*P,e[9]=(i*E-n*T-o*S)*P,e[10]=(p*k-v*_+m*y)*P,e[11]=(h*_-l*k-f*y)*P,e[12]=(s*C-a*O-u*S)*P,e[13]=(n*O-i*C+r*S)*P,e[14]=(v*b-p*w-g*y)*P,e[15]=(l*w-h*b+d*y)*P,e):null}function OO(e,t,n){var i=t[0],r=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],h=t[8],d=t[9],f=t[10],p=t[11],v=t[12],g=t[13],m=t[14],y=t[15],b=n[0],_=n[1],w=n[2],k=n[3];return e[0]=b*i+_*s+w*h+k*v,e[1]=b*r+_*u+w*d+k*g,e[2]=b*o+_*c+w*f+k*m,e[3]=b*a+_*l+w*p+k*y,e[4]=(b=n[4])*i+(_=n[5])*s+(w=n[6])*h+(k=n[7])*v,e[5]=b*r+_*u+w*d+k*g,e[6]=b*o+_*c+w*f+k*m,e[7]=b*a+_*l+w*p+k*y,e[8]=(b=n[8])*i+(_=n[9])*s+(w=n[10])*h+(k=n[11])*v,e[9]=b*r+_*u+w*d+k*g,e[10]=b*o+_*c+w*f+k*m,e[11]=b*a+_*l+w*p+k*y,e[12]=(b=n[12])*i+(_=n[13])*s+(w=n[14])*h+(k=n[15])*v,e[13]=b*r+_*u+w*d+k*g,e[14]=b*o+_*c+w*f+k*m,e[15]=b*a+_*l+w*p+k*y,e}function TO(e,t,n){var i,r,o,a,s,u,c,l,h,d,f,p,v=n[0],g=n[1],m=n[2];return t===e?(e[12]=t[0]*v+t[4]*g+t[8]*m+t[12],e[13]=t[1]*v+t[5]*g+t[9]*m+t[13],e[14]=t[2]*v+t[6]*g+t[10]*m+t[14],e[15]=t[3]*v+t[7]*g+t[11]*m+t[15]):(r=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],h=t[8],d=t[9],f=t[10],p=t[11],e[0]=i=t[0],e[1]=r,e[2]=o,e[3]=a,e[4]=s,e[5]=u,e[6]=c,e[7]=l,e[8]=h,e[9]=d,e[10]=f,e[11]=p,e[12]=i*v+s*g+h*m+t[12],e[13]=r*v+u*g+d*m+t[13],e[14]=o*v+c*g+f*m+t[14],e[15]=a*v+l*g+p*m+t[15]),e}function AO(e,t,n){var i=n[0],r=n[1],o=n[2];return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*o,e[9]=t[9]*o,e[10]=t[10]*o,e[11]=t[11]*o,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function PO(e,t,n){var i=Math.sin(n),r=Math.cos(n),o=t[4],a=t[5],s=t[6],u=t[7],c=t[8],l=t[9],h=t[10],d=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=o*r+c*i,e[5]=a*r+l*i,e[6]=s*r+h*i,e[7]=u*r+d*i,e[8]=c*r-o*i,e[9]=l*r-a*i,e[10]=h*r-s*i,e[11]=d*r-u*i,e}function MO(e,t,n){var i=Math.sin(n),r=Math.cos(n),o=t[0],a=t[1],s=t[2],u=t[3],c=t[4],l=t[5],h=t[6],d=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=o*r+c*i,e[1]=a*r+l*i,e[2]=s*r+h*i,e[3]=u*r+d*i,e[4]=c*r-o*i,e[5]=l*r-a*i,e[6]=h*r-s*i,e[7]=d*r-u*i,e}function IO(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function RO(e,t,n){var i=t[0],r=t[1],o=t[2],a=t[3];return e[0]=n[0]*i+n[4]*r+n[8]*o+n[12]*a,e[1]=n[1]*i+n[5]*r+n[9]*o+n[13]*a,e[2]=n[2]*i+n[6]*r+n[10]*o+n[14]*a,e[3]=n[3]*i+n[7]*r+n[11]*o+n[15]*a,e}function DO(e,t,n){var i=t[0],r=t[1],o=t[2],a=n[0],s=n[1],u=n[2],c=n[3],l=c*i+s*o-u*r,h=c*r+u*i-a*o,d=c*o+a*r-s*i,f=-a*i-s*r-u*o;return e[0]=l*c+f*-a+h*-u-d*-s,e[1]=h*c+f*-s+d*-a-l*-u,e[2]=d*c+f*-u+l*-s-h*-a,e[3]=t[3],e}!function(){var e=new kS(4);kS!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0)}();var NO=[0,0,0,0],LO=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],jO=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],FO=[0,0,0],BO=[0,0,0],VO=SO(function(e){var t=e.viewport,n=e.devicePixelRatio,i=e.coordinateSystem,r=function(e,t,n){var i=e.viewMatrixUncentered,r=e.projectionMatrix,o=e.viewMatrix,a=e.viewProjectionMatrix,s=NO,u=NO,c=e.cameraPosition,l=zO(e,t,n),h=l.geospatialOrigin,d=l.shaderCoordinateOrigin;return l.offsetMode&&(u=e.projectPosition(h||d),c=[c[0]-u[0],c[1]-u[1],c[2]-u[2]],u[3]=1,s=RO([],u,a),a=OO([],r,o=i||o),a=OO([],a,LO)),{viewMatrix:o,viewProjectionMatrix:a,projectionCenter:s,originCommon:u,cameraPosCommon:c,shaderCoordinateOrigin:d,geospatialOrigin:h}}(t,i,e.coordinateOrigin),o=r.projectionCenter,a=r.viewProjectionMatrix,s=r.originCommon,u=r.cameraPosCommon,c=r.shaderCoordinateOrigin,l=r.geospatialOrigin,h=t.getDistanceScales(),d=[t.width*n,t.height*n],f=t.projectionMatrix.transform([0,0,-t.focalDistance,1])[3]||1,p={project_uCoordinateSystem:i,project_uProjectionMode:t.projectionMode,project_uCoordinateOrigin:c,project_uCommonOrigin:s.slice(0,3),project_uCenter:o,project_uViewportSize:d,project_uDevicePixelRatio:n,project_uFocalDistance:f,project_uCommonUnitsPerMeter:h.unitsPerMeter,project_uCommonUnitsPerWorldUnit:h.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:FO,project_uScale:t.scale,project_uViewProjectionMatrix:a,project_uCameraPosition:u};if(l){var v=t.getDistanceScales(l);switch(i){case rk.METER_OFFSETS:p.project_uCommonUnitsPerWorldUnit=v.unitsPerMeter,p.project_uCommonUnitsPerWorldUnit2=v.unitsPerMeter2;break;case rk.LNGLAT:case rk.LNGLAT_OFFSETS:p.project_uCommonUnitsPerWorldUnit=v.unitsPerDegree,p.project_uCommonUnitsPerWorldUnit2=v.unitsPerDegree2;break;case rk.CARTESIAN:p.project_uCommonUnitsPerWorldUnit=[1,1,v.unitsPerMeter[2]],p.project_uCommonUnitsPerWorldUnit2=[0,0,v.unitsPerMeter2[2]]}}return p});function zO(e,t){var n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:BO,r=i,o=!0;switch(n=t===rk.LNGLAT_OFFSETS||t===rk.METER_OFFSETS?i:e.isGeospatial?[Math.fround(e.longitude),Math.fround(e.latitude),0]:null,e.projectionMode){case ok.WEB_MERCATOR:(t===rk.LNGLAT||t===rk.CARTESIAN)&&(o=!1);break;case ok.WEB_MERCATOR_AUTO_OFFSET:t===rk.LNGLAT?r=n:t===rk.CARTESIAN&&(r=[Math.fround(e.center[0]),Math.fround(e.center[1]),0],n=e.unprojectPosition(r),r[0]-=i[0],r[1]-=i[1],r[2]-=i[2]);break;case ok.IDENTITY:r=e.position.map(Math.fround);break;case ok.GLOBE:o=!1,n=null;break;default:o=!1}return r[2]=r[2]||0,{geospatialOrigin:n,shaderCoordinateOrigin:r,offsetMode:o}}var UO=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"ELEMENTS",get:function(){return pS(!1),0}},{key:"RANK",get:function(){return pS(!1),0}},{key:"toString",value:function(){var e="[";if(oS.printRowMajor){e+="row-major:";for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:new Array(this.RANK).fill(-0),n=e*this.RANK,i=0;i2*Math.PI)throw Error("radians");var d=s*Math.tan(n/2),f=d*o;return(new i).ortho({left:-f,right:f,bottom:-d,top:d,near:c,far:h})}},{key:"perspective",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.fovy,n=e.fov,i=void 0===n?45*Math.PI/180:n,r=e.aspect,o=void 0===r?1:r,a=e.near,s=void 0===a?.1:a,u=e.far,c=void 0===u?500:u;if((t=t||i)>2*Math.PI)throw Error("radians");return function(e,t,n,i,r){var o,a=1/Math.tan(t/2);e[0]=a/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=r&&r!==1/0?(e[10]=(r+i)*(o=1/(i-r)),e[14]=2*r*i*o):(e[10]=-1,e[14]=-2*i)}(this,t,o,s,c),this.check()}},{key:"determinant",value:function(){return function(e){var t=e[0],n=e[1],i=e[2],r=e[3],o=e[4],a=e[5],s=e[6],u=e[7],c=e[8],l=e[9],h=e[10],d=e[11],f=e[12],p=e[13],v=e[14],g=e[15];return(t*a-n*o)*(h*g-d*v)-(t*s-i*o)*(l*g-d*p)+(t*u-r*o)*(l*v-h*p)+(n*s-i*a)*(c*g-d*f)-(n*u-r*a)*(c*v-h*f)+(i*u-r*s)*(c*p-l*f)}(this)}},{key:"getScale",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}},{key:"getTranslation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}},{key:"getRotation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.getScale(t||[-0,-0,-0]),i=1/n[0],r=1/n[1],o=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*r,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*i,e[5]=this[5]*r,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*i,e[9]=this[9]*r,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},{key:"getRotationMatrix3",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.getScale(t||[-0,-0,-0]),i=1/n[0],r=1/n[1],o=1/n[2];return e[0]=this[0]*i,e[1]=this[1]*r,e[2]=this[2]*o,e[3]=this[4]*i,e[4]=this[5]*r,e[5]=this[6]*o,e[6]=this[8]*i,e[7]=this[9]*r,e[8]=this[10]*o,e}},{key:"transpose",value:function(){return function(e,t){if(e===t){var n=t[1],i=t[2],r=t[3],o=t[6],a=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=n,e[6]=t[9],e[7]=t[13],e[8]=i,e[9]=o,e[11]=t[14],e[12]=r,e[13]=a,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15]}(this,this),this.check()}},{key:"invert",value:function(){return EO(this,this),this.check()}},{key:"multiplyLeft",value:function(e){return OO(this,e,this),this.check()}},{key:"multiplyRight",value:function(e){return OO(this,this,e),this.check()}},{key:"rotateX",value:function(e){return PO(this,this,e),this.check()}},{key:"rotateY",value:function(e){return function(e,t,n){var i=Math.sin(n),r=Math.cos(n),o=t[0],a=t[1],s=t[2],u=t[3],c=t[8],l=t[9],h=t[10],d=t[11];t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=o*r-c*i,e[1]=a*r-l*i,e[2]=s*r-h*i,e[3]=u*r-d*i,e[8]=o*i+c*r,e[9]=a*i+l*r,e[10]=s*i+h*r,e[11]=u*i+d*r}(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return MO(this,this,e),this.check()}},{key:"rotateXYZ",value:function(e){var n=t(e,3),i=n[0],r=n[1],o=n[2];return this.rotateX(i).rotateY(r).rotateZ(o)}},{key:"rotateAxis",value:function(e,t){return function(e,t,n,i){var r,o,a,s,u,c,l,h,d,f,p,v,g,m,y,b,_,w,k,x,S,C,E,O,T=i[0],A=i[1],P=i[2],M=Math.hypot(T,A,P);Mn?n:e}var eT=Math.log2||function(e){return Math.log(e)*Math.LOG2E};function tT(e,t){if(!e)throw new Error(t||"@math.gl/web-mercator: assertion failed.")}var nT=Math.PI,iT=nT/4,rT=nT/180,oT=180/nT,aT=4003e4,sT=85.051129;function uT(e){var n=t(e,2),i=n[0],r=n[1];return tT(Number.isFinite(i)),tT(Number.isFinite(r)&&r>=-90&&r<=90,"invalid latitude"),[512*(i*rT+nT)/(2*nT),512*(nT+Math.log(Math.tan(iT+r*rT*.5)))/(2*nT)]}function cT(e){var n=t(e,2),i=n[0],r=n[1],o=i/512*(2*nT)-nT,a=2*(Math.atan(Math.exp(r/512*(2*nT)-nT))-iT);return[o*oT,a*oT]}function lT(e){var t=e.latitude,n=e.longitude,i=e.highPrecision,r=void 0!==i&&i;tT(Number.isFinite(t)&&Number.isFinite(n));var o={},a=Math.cos(t*rT),s=512/360,u=s/a,c=512/aT/a;if(o.unitsPerMeter=[c,c,c],o.metersPerUnit=[1/c,1/c,1/c],o.unitsPerDegree=[s,u,c],o.degreesPerUnit=[1/s,1/u,1/c],r){var l=rT*Math.tan(t*rT)/a,h=512/aT*l,d=h/u*c;o.unitsPerDegree2=[0,s*l/2,h],o.unitsPerMeter2=[d,0,d]}return o}function hT(e,n){var i=t(e,3),r=i[0],o=i[1],a=i[2],s=t(n,3),u=s[0],c=s[1],l=s[2],h=lT({longitude:r,latitude:o,highPrecision:!0}),d=h.unitsPerMeter,f=h.unitsPerMeter2,p=uT(e);p[0]+=u*(d[0]+f[0]*c),p[1]+=c*(d[1]+f[1]*c);var v=cT(p),g=(a||0)+(l||0);return Number.isFinite(a)||Number.isFinite(l)?[v[0],v[1],g]:v}function dT(e){return 2*Math.atan(.5/e)*oT}function fT(e,n){var i=t(e,3),r=i[0],o=i[1],a=i[2],s=void 0===a?0:a;return tT(Number.isFinite(r)&&Number.isFinite(o)&&Number.isFinite(s)),QO(n,[r,o,s,1])}function pT(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=t(e,3),o=r[0],a=r[1],s=r[2];if(tT(Number.isFinite(o)&&Number.isFinite(a),"invalid pixel coordinate"),Number.isFinite(s))return QO(n,[o,a,s,1]);var u=QO(n,[o,a,0,1]),c=QO(n,[o,a,1,1]),l=u[2],h=c[2];return WO([],u,c,l===h?0:((i||0)-l)/(h-l))}var vT=Math.PI/180;function gT(e,t,n){var i=e.pixelUnprojectionMatrix,r=QO(i,[t,0,1,1]),o=QO(i,[t,e.height,1,1]),a=cT(WO([],r,o,(n*e.distanceScales.unitsPerMeter[2]-r[2])/(o[2]-r[2])));return a[2]=n,a}var mT=Math.PI/180,yT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],bT=[0,0,0],_T={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]},wT=function(){var e=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id,i=void 0===n?null:n,r=t.x,o=void 0===r?0:r,a=t.y,s=void 0===a?0:a,u=t.width,c=void 0===u?1:u,l=t.height,h=void 0===l?1:l;this.id=i||this.constructor.displayName||"viewport",this.x=o,this.y=s,this.width=c||1,this.height=h||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}return b(e,[{key:"metersPerPixel",get:function(){return this.distanceScales.metersPerUnit[2]/this.scale}},{key:"projectionMode",get:function(){return this.isGeospatial?this.zoom<12?ok.WEB_MERCATOR:ok.WEB_MERCATOR_AUTO_OFFSET:ok.IDENTITY}},{key:"equals",value:function(t){return t instanceof e&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&fS(t.projectionMatrix,this.projectionMatrix)&&fS(t.viewMatrix,this.viewMatrix))}},{key:"project",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.topLeft,r=void 0===i||i,o=fT(this.projectPosition(e),this.pixelProjectionMatrix),a=t(o,2),s=a[0],u=a[1],c=r?u:this.height-u;return 2===e.length?[s,c]:[s,c,o[2]]}},{key:"unproject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.topLeft,r=void 0===i||i,o=n.targetZ,a=t(e,3),s=a[0],u=a[1],c=a[2],l=pT([s,r?u:this.height-u,c],this.pixelUnprojectionMatrix,o&&o*this.distanceScales.unitsPerMeter[2]),h=this.unprojectPosition(l),d=t(h,3),f=d[0],p=d[1],v=d[2];return Number.isFinite(c)?[f,p,v]:Number.isFinite(o)?[f,p,o]:[f,p]}},{key:"projectPosition",value:function(e){var n=t(this.projectFlat(e),2);return[n[0],n[1],(e[2]||0)*this.distanceScales.unitsPerMeter[2]]}},{key:"unprojectPosition",value:function(e){var n=t(this.unprojectFlat(e),2);return[n[0],n[1],(e[2]||0)*this.distanceScales.metersPerUnit[2]]}},{key:"projectFlat",value:function(e){return this.isGeospatial?uT(e):e}},{key:"unprojectFlat",value:function(e){return this.isGeospatial?cT(e):e}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={targetZ:e.z||0},n=this.unproject([0,0],t),i=this.unproject([this.width,0],t),r=this.unproject([0,this.height],t),o=this.unproject([this.width,this.height],t);return[Math.min(n[0],i[0],r[0],o[0]),Math.min(n[1],i[1],r[1],o[1]),Math.max(n[0],i[0],r[0],o[0]),Math.max(n[1],i[1],r[1],o[1])]}},{key:"getDistanceScales",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e?lT({longitude:e[0],latitude:e[1],highPrecision:!0}):this.distanceScales}},{key:"containsPixel",value:function(e){var t=e.x,n=e.y,i=e.width,r=void 0===i?1:i,o=e.height,a=void 0===o?1:o;return t0&&void 0!==arguments[0]?arguments[0]:{};m(this,i);var r=t.latitude,o=void 0===r?0:r,a=t.longitude,s=void 0===a?0:a,u=t.zoom,l=void 0===u?11:u,h=t.pitch,d=void 0===h?0:h,f=t.bearing,p=void 0===f?0:f,v=t.nearZMultiplier,g=void 0===v?.1:v,y=t.farZMultiplier,b=void 0===y?1.01:y,_=t.orthographic,w=void 0!==_&&_,k=t.repeat,x=void 0!==k&&k,S=t.worldOffset,C=void 0===S?0:S,E=t.width,O=t.height,T=t.altitude,A=void 0===T?1.5:T,P=Math.pow(2,l),R=function(e){var t=e.width,n=e.height,i=e.fovy,r=void 0===i?dT(1.5):i,o=e.altitude,a=e.pitch,s=void 0===a?0:a,u=e.nearZMultiplier,c=void 0===u?1:u,l=e.farZMultiplier,h=void 0===l?1:l;void 0!==o&&(r=dT(o));var d=.5*r*rT,f=function(e){return.5/Math.tan(.5*e*rT)}(r),p=s*rT,v=Math.sin(d)*f/Math.sin(Math.min(Math.max(Math.PI/2-p-d,.01),Math.PI-.01));return{fov:2*d,aspect:t/n,focalDistance:f,near:c,far:(Math.sin(p)*v+f)*h}}({width:E=E||1,height:O=O||1,pitch:d,altitude:A=Math.max(.75,A),nearZMultiplier:g,farZMultiplier:b}),D=R.fov,N=R.aspect,L=R.focalDistance,j=R.near,F=R.far,B=function(e){var t=e.height,n=e.pitch,i=e.bearing,r=e.scale,o=e.center,a=void 0===o?null:o,s=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return TO(s,s,[0,0,-e.altitude]),PO(s,s,-n*rT),MO(s,s,i*rT),AO(s,s,[r/=t,r,r]),a&&TO(s,s,function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}([],a)),s}({height:O,pitch:d,bearing:p,scale:P,altitude:A});return C&&(B=(new $O).translate([512*C,0,0]).multiplyLeft(B)),(e=n.call(this,I(M({},t),{width:E,height:O,viewMatrix:B,longitude:s,latitude:o,zoom:l,orthographic:w,fovyRadians:D,aspect:N,focalDistance:L,near:j,far:F}))).latitude=o,e.longitude=s,e.zoom=l,e.pitch=d,e.bearing=p,e.altitude=A,e.orthographic=w,e._subViewports=x?[]:null,Object.freeze(c(e)),e}return b(i,[{key:"subViewports",get:function(){if(this._subViewports&&!this._subViewports.length)for(var e=this.getBounds(),t=Math.floor((e[0]+180)/360),n=Math.ceil((e[2]-180)/360),r=t;r<=n;r++){var o=r?new i(I(M({},this),{worldOffset:r})):this;this._subViewports.push(o)}return this._subViewports}},{key:"addMetersToLngLat",value:function(e,t){return hT(e,t)}},{key:"panByPosition",value:function(e,n){var i=pT(n,this.pixelUnprojectionMatrix),r=HO([],this.projectFlat(e),GO([],i)),o=HO([],this.center,r),a=t(this.unprojectFlat(o),2);return{longitude:a[0],latitude:a[1]}}},{key:"getBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=function(e){var t,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e.width,o=e.height,a=e.unproject,s={targetZ:i},u=a([0,o],s),c=a([r,o],s);return(e.fovy?.5*e.fovy*vT:Math.atan(.5/e.altitude))>(90-e.pitch)*vT-.01?(t=gT(e,0,i),n=gT(e,r,i)):(t=a([0,0],s),n=a([r,0],s)),[u,c,n,t]}(this,e.z||0);return[Math.min(t[0][0],t[1][0],t[2][0],t[3][0]),Math.min(t[0][1],t[1][1],t[2][1],t[3][1]),Math.max(t[0][0],t[1][0],t[2][0],t[3][0]),Math.max(t[0][1],t[1][1],t[2][1],t[3][1])]}},{key:"fitBounds",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.width,o=this.height,a=function(e){var n=e.width,i=e.height,r=e.bounds,o=e.minExtent,a=void 0===o?0:o,s=e.maxZoom,u=void 0===s?24:s,c=e.padding,l=void 0===c?0:c,h=e.offset,d=void 0===h?[0,0]:h,f=t(r,2),p=t(f[0],2),v=p[0],g=p[1],m=t(f[1],2),y=m[0],b=m[1];Number.isFinite(l)?l={top:l,bottom:l,left:l,right:l}:tT(Number.isFinite(l.top)&&Number.isFinite(l.bottom)&&Number.isFinite(l.left)&&Number.isFinite(l.right));var _=uT([v,JO(b,-sT,sT)]),w=uT([y,JO(g,-sT,sT)]),k=[Math.max(Math.abs(w[0]-_[0]),a),Math.max(Math.abs(w[1]-_[1]),a)],x=[n-l.left-l.right-2*Math.abs(d[0]),i-l.top-l.bottom-2*Math.abs(d[1])];tT(x[0]>0&&x[1]>0);var S=x[0]/k[0],C=x[1]/k[1],E=cT([(w[0]+_[0])/2+(l.right-l.left)/2/S,(w[1]+_[1])/2+(l.bottom-l.top)/2/C]),O=Math.min(u,eT(Math.abs(Math.min(S,C))));return tT(Number.isFinite(O)),{longitude:E[0],latitude:E[1],zoom:O}}(M({width:r,height:o,bounds:e},n)),s=a.longitude,u=a.latitude,c=a.zoom;return new i({width:r,height:o,longitude:s,latitude:u,zoom:c})}}]),i}(wT);return e.displayName="WebMercatorViewport",e}();function xT(e,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=n.projectPosition(e);if(i&&n instanceof kT){var o=t(e,3),a=o[0],s=o[1],u=o[2],c=void 0===u?0:u,l=n.getDistanceScales([a,s]);r[2]=c*l.unitsPerMeter[2]}return r}function ST(e,n){var i,r=n.viewport,o=n.modelMatrix,a=n.coordinateSystem,s=n.coordinateOrigin,u=n.offsetMode,c=t(e,3),l=c[0],h=c[1],d=c[2],f=void 0===d?0:d;switch(o&&(l=(i=t(RO([],[l,h,f,1],o),3))[0],h=i[1],f=i[2]),a){case rk.LNGLAT:return xT([l,h,f],r,u);case rk.LNGLAT_OFFSETS:return xT([l+s[0],h+s[1],f+(s[2]||0)],r,u);case rk.METER_OFFSETS:return xT(hT(s,[l,h,f]),r,u);case rk.CARTESIAN:default:return r.isGeospatial?[l+s[0],h+s[1],f+s[2]]:r.projectPosition([l,h,f])}}var CT={10241:9987,10240:9729,10242:33071,10243:33071},ET={},OT={boolean:{validate:function(e,t){return!0},equal:function(e,t,n){return Boolean(e)===Boolean(t)}},number:{validate:function(e,t){return Number.isFinite(e)&&(!("max"in t)||e<=t.max)&&(!("min"in t)||e>=t.min)}},color:{validate:function(e,t){return t.optional&&!e||MT(e)&&(3===e.length||4===e.length)},equal:function(e,t,n){return TT(e,t)}},accessor:{validate:function(e,t){var n=IT(e);return"function"===n||n===IT(t.value)},equal:function(e,t,n){return"function"==typeof t||TT(e,t)}},array:{validate:function(e,t){return t.optional&&!e||MT(e)},equal:function(e,t,n){return n.compare?TT(e,t):e===t}},function:{validate:function(e,t){return t.optional&&!e||"function"==typeof e},equal:function(e,t,n){return!n.compare||e===t}},data:{transform:function(e,t,n){var i=(n?n.props:{}).dataTransform;return i&&e?i(e):e}},image:{transform:function(e,t,n){return function(e,t){var n=e.context&&e.context.gl;if(!n||!t)return null;if(t instanceof Rx)return t;t.constructor&&"Object"!==t.constructor.name&&(t={data:t});var i=null;t.compressed&&(i={10241:t.data.length>1?9985:9729});var r=new Rx(n,I(M({},t),{parameters:M(M(M({},CT),i),e.props.textureParameters)}));return ET[r.id]=!0,r}(n,e)},release:function(e){!function(e){!e||!(e instanceof Rx)||ET[e.id]&&(e.delete(),delete ET[e.id])}(e)}}};function TT(e,t){if(e===t)return!0;if(!MT(e)||!MT(t))return!1;var n=e.length;if(n!==t.length)return!1;for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:null;m(this,e),this.component=t,this.asyncProps={},this.onAsyncPropUpdated=function(){},this.oldProps=qT,this.oldAsyncProps=null}return b(e,[{key:"finalize",value:function(){for(var e in this.asyncProps){var t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}},{key:"getOldProps",value:function(){return this.oldAsyncProps||this.oldProps}},{key:"resetOldProps",value:function(){this.oldAsyncProps=null,this.oldProps=this.component.props}},{key:"freezeAsyncOldProps",value:function(){if(!this.oldAsyncProps)for(var e in this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps),this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}},{key:"hasAsyncProp",value:function(e){return e in this.asyncProps}},{key:"getAsyncProp",value:function(e){var t=this.asyncProps[e];return t&&t.resolvedValue}},{key:"isAsyncPropLoading",value:function(e){if(e){var t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(var n in this.asyncProps)if(this.isAsyncPropLoading(n))return!0;return!1}},{key:"reloadAsyncProp",value:function(e,t){this._watchPromise(e,Promise.resolve(t))}},{key:"setAsyncProps",value:function(e){var t=e[GT]||{},n=e[HT]||e,i=e[WT]||{};for(var r in t){var o=t[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,o),t[r]=this.getAsyncProp(r)}for(var a in n){var s=n[a];this._createAsyncPropData(a,i[a]),this._updateAsyncProp(a,s)}}},{key:"_updateAsyncProp",value:function(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var n,i=null===(n=this.layer)||void 0===n?void 0:n.props.fetch;i&&(t=i(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(KS(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}},{key:"_didAsyncInputValueChange",value:function(e,t){var n=this.asyncProps[e];return t!==n.resolvedValue&&t!==n.lastValue&&(n.lastValue=t,!0)}},{key:"_setPropValue",value:function(e,t){var n=this.asyncProps[e];t=this._postProcessValue(n,t),n.resolvedValue=t,n.pendingLoadCount++,n.resolvedLoadCount=n.pendingLoadCount}},{key:"_setAsyncPropValue",value:function(e,t,n){var i=this.asyncProps[e];i&&n>=i.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),i.resolvedValue=t,i.resolvedLoadCount=n,this.onAsyncPropUpdated(e,t))}},{key:"_watchPromise",value:function(e,t){var n=this,i=this.asyncProps[e];i.pendingLoadCount++;var r=i.pendingLoadCount;t.then(function(t){var o;t=n._postProcessValue(i,t),n._setAsyncPropValue(e,t,r);var a=null===(o=n.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(t,{propName:e,layer:n.layer})}).catch(function(t){var i;null===(i=n.layer)||void 0===i||i.raiseError(t,"loading ".concat(e," of ").concat(n.layer))})}},{key:"_resolveAsyncIterable",value:function(e,t){var n=this;return Vx(regeneratorRuntime.mark(function i(){var r,o,a,s,u,c,l,h,d,f,p,v,g,m,y;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:"data"!==e&&n._setPropValue(e,t),(o=n.asyncProps[e]).pendingLoadCount++,a=o.pendingLoadCount,s=[],u=0,l=!0,h=!1,i.prev=6,p=UT(t);case 8:return i.next=10,p.next();case 10:return l=(d=i.sent).done,i.next=13,d.value;case 13:if(f=i.sent,l){i.next=20;break}v=f,g=n.component?n.component.props:{},m=g.dataTransform,s=m?m(v,s):s.concat(v),Object.defineProperty(s,"__diff",{enumerable:!1,value:[{startRow:u,endRow:s.length}]}),u=s.length,n._setAsyncPropValue(e,s,a);case 17:l=!0,i.next=8;break;case 20:i.next=25;break;case 22:i.prev=22,i.t0=i.catch(6),h=!0,c=i.t0;case 25:if(i.prev=25,i.prev=26,i.t1=!l&&null!=p.return,!i.t1){i.next=31;break}return i.next=31,p.return();case 31:if(i.prev=31,!h){i.next=34;break}throw c;case 34:return i.finish(31);case 35:return i.finish(25);case 36:(y=null===(r=n.layer)||void 0===r?void 0:r.props.onDataLoad)&&y(s,{propName:e,layer:n.layer});case 38:case"end":return i.stop()}},i,null,[[6,22,25,36],[26,,31,35]])}))()}},{key:"_postProcessValue",value:function(e,t){var n=e.type;return n&&(n.release&&n.release(e.resolvedValue,n,this.component),n.transform)?n.transform(t,n,this.component):t}},{key:"_createAsyncPropData",value:function(e,t){if(!this.asyncProps[e]){var n=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:n&&n[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}]),e}(),KT=vO.ASYNC_ORIGINAL,$T=vO.ASYNC_RESOLVED,QT=vO.ASYNC_DEFAULTS,ZT={},JT=0,eA=function(){var e=function(){function e(){m(this,e),this.props=jT.apply(this,arguments),this.id=this.props.id,this.count=JT++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}return b(e,[{key:"clone",value:function(e){var t=this.props,n={};for(var i in t[QT])i in t[$T]?n[i]=t[$T][i]:i in t[KT]&&(n[i]=t[KT][i]);return new this.constructor(M(M(M({},t),n),e))}},{key:"stats",get:function(){return this.internalState.stats}},{key:"_initState",value:function(){this.internalState=new XT({})}}]),e}();return e.componentName="Component",e.defaultProps=ZT,e}(),tA=function(e){a(n,e);var t=s(n);function n(e){var i,r=e.attributeManager,o=e.layer;return m(this,n),(i=t.call(this,o)).attributeManager=r,i.model=null,i.needsRedraw=!0,i.subLayers=null,i.usesPickingColorCache=!1,i}return b(n,[{key:"layer",get:function(){return this.component},set:function(e){this.component=e}}]),n}(XT),nA=function(e){return"function"==typeof e},iA=function(e){return null!==e&&"object"==typeof e},rA=function(e){return iA(e)&&e.constructor==={}.constructor},oA=function(e){return e&&"function"==typeof e[Symbol.iterator]},aA=function(e){return e&&"function"==typeof e[Symbol.asyncIterator]},sA=function(e){return"undefined"!=typeof Response&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json},uA=function(e){return"undefined"!=typeof Blob&&e instanceof Blob},cA=function(e){return function(e){return"undefined"!=typeof ReadableStream&&e instanceof ReadableStream||iA(e)&&nA(e.tee)&&nA(e.cancel)&&nA(e.getReader)}(e)||function(e){return iA(e)&&nA(e.read)&&nA(e.pipe)&&function(e){return"boolean"==typeof e}(e.readable)}(e)};function lA(e,t){if(!e)throw new Error(t||"loader assertion failed.")}function hA(e){var t;return!!e&&(Array.isArray(e)&&(e=e[0]),Array.isArray(null===(t=e)||void 0===t?void 0:t.extensions))}function dA(e){var t,n,i;return lA(e,"null loader"),lA(hA(e),"invalid loader"),Array.isArray(e)&&(i=e[1],e=I(M({},e=e[0]),{options:M(M({},e.options),i)})),(null!==(t=e)&&void 0!==t&&t.parseTextSync||null!==(n=e)&&void 0!==n&&n.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var fA={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},pA=fA.global||fA.self||fA.window||{},vA="object"!=typeof process||"[object process]"!==String(process)||process.browser,gA="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);gA&&parseFloat(gA[1]);var mA={};function yA(e){for(var t in mA)e.startsWith(t)&&(e=e.replace(t,mA[t]));return!e.startsWith("http://")&&!e.startsWith("https://")&&(e="".concat(e)),e}var bA=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,_A=/^([-\w.]+\/[-\w.+]+)/;function wA(e){var t=_A.exec(e);return t?t[1]:e}function kA(e){var t=bA.exec(e);return t?t[1]:""}var xA=/\?.*/;function SA(e){if(sA(e)){var t=EA(e.url||"");return{url:t,type:wA(e.headers.get("content-type")||"")||kA(t)}}return uA(e)?{url:EA(e.name||""),type:e.type||""}:"string"==typeof e?{url:EA(e),type:kA(e)}:{url:"",type:""}}function CA(e){return sA(e)?e.headers["content-length"]||-1:uA(e)?e.size:"string"==typeof e?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}function EA(e){return e.replace(xA,"")}function OA(e){return TA.apply(this,arguments)}function TA(){return(TA=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!sA(t)){e.next=2;break}return e.abrupt("return",t);case 2:return n={},(i=CA(t))>=0&&(n["content-length"]=String(i)),r=SA(t),o=r.url,(a=r.type)&&(n["content-type"]=a),e.next=8,RA(t);case 8:return(s=e.sent)&&(n["x-first-bytes"]=s),"string"==typeof t&&(t=(new TextEncoder).encode(t)),u=new Response(t,{headers:n}),e.abrupt("return",(Object.defineProperty(u,"url",{value:o}),u));case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}function AA(e){return PA.apply(this,arguments)}function PA(){return(PA=Vx(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t.ok){e.next=5;break}return e.next=3,MA(t);case 3:throw n=e.sent,new Error(n);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function MA(e){return IA.apply(this,arguments)}function IA(){return(IA=Vx(regeneratorRuntime.mark(function e(t){var n,i,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n="Failed to fetch resource ".concat(t.url," (").concat(t.status,"): "),e.prev=1,i=t.headers.get("Content-Type"),r=t.statusText,e.t0=i.includes("application/json"),!e.t0){e.next=12;break}return e.t1=r,e.t2=" ",e.next=10,t.text();case 10:e.t3=e.sent,r=e.t1+=e.t2.concat.call(e.t2,e.t3);case 12:n=(n+=r).length>60?"".concat(n.slice(60),"..."):n,e.next=18;break;case 16:e.prev=16,e.t4=e.catch(1);case 18:return e.abrupt("return",n);case 19:case"end":return e.stop()}},e,null,[[1,16]])}))).apply(this,arguments)}function RA(e){return DA.apply(this,arguments)}function DA(){return(DA=Vx(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t){e.next=2;break}return e.abrupt("return","data:,".concat(t.slice(0,5)));case 2:if(!(t instanceof Blob)){e.next=7;break}return n=t.slice(0,5),e.next=6,new Promise(function(e){var t=new FileReader;t.onload=function(t){var n;return e(null==t||null===(n=t.target)||void 0===n?void 0:n.result)},t.readAsDataURL(n)});case 6:return e.abrupt("return",e.sent);case 7:return e.abrupt("return",t instanceof ArrayBuffer?"data:base64,".concat(NA(t.slice(0,5))):null);case 8:case"end":return e.stop()}},e)}))).apply(this,arguments)}function NA(e){for(var t="",n=new Uint8Array(e),i=0;i1&&void 0!==arguments[1]?arguments[1]:"3.0.12";return $A(e,"no worker provided"),!(!t||!e.version)}var ZA={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},JA=ZA.global||ZA.self||ZA.window||{},eP="object"!=typeof process||"[object process]"!==String(process)||process.browser,tP="function"==typeof importScripts,nP="undefined"!=typeof window&&void 0!==window.orientation,iP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),rP=(iP&&parseFloat(iP[1]),new Map);function oP(e){var t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function aP(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,i=n||new Set;if(e)if(sP(e))i.add(e);else if(sP(e.buffer))i.add(e.buffer);else if(!ArrayBuffer.isView(e)&&t&&"object"==typeof e)for(var r in e)aP(e[r],t,i);return void 0===n?Array.from(i):[]}function sP(e){return!!e&&(e instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&e instanceof MessagePort||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas)}var uP=function(){},cP=function(){function e(t){m(this,e),FA(this,"name",void 0),FA(this,"source",void 0),FA(this,"url",void 0),FA(this,"terminated",!1),FA(this,"worker",void 0),FA(this,"onMessage",void 0),FA(this,"onError",void 0),FA(this,"_loadableURL","");var n=t.name,i=t.source,r=t.url;$A(i||r),this.name=n,this.source=i,this.url=r,this.onMessage=uP,this.onError=function(e){return console.log(e)},this.worker=this._createBrowserWorker()}return b(e,[{key:"destroy",value:function(){this.onMessage=uP,this.onError=uP,this.worker.terminate(),this.terminated=!0}},{key:"isRunning",get:function(){return Boolean(this.onMessage)}},{key:"postMessage",value:function(e,t){t=t||aP(e),this.worker.postMessage(e,t)}},{key:"_getErrorFromErrorEvent",value:function(e){var t="Failed to load ";return t+="worker ".concat(this.name,". "),e.message&&(t+="".concat(e.message," in ")),e.lineno&&(t+=":".concat(e.lineno,":").concat(e.colno)),new Error(t)}},{key:"_createBrowserWorker",value:function(){var e=this;this._loadableURL=function(e){$A(e.source&&!e.url||!e.source&&e.url);var t=rP.get(e.source||e.url);return t||(e.url&&(t=function(e){return e.startsWith("http")?oP(function(e){return"try {\n importScripts('".concat(e,"');\n} catch (error) {\n console.error(error);\n throw error;\n}")}(e)):e}(e.url),rP.set(e.url,t)),e.source&&(t=oP(e.source),rP.set(e.source,t))),$A(t),t}({source:this.source,url:this.url});var t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=function(t){t.data?e.onMessage(t.data):e.onError(new Error("No data received"))},t.onerror=function(t){e.onError(e._getErrorFromErrorEvent(t)),e.terminated=!0},t.onmessageerror=function(e){return console.error(e)},t}}],[{key:"isSupported",value:function(){return"undefined"!=typeof Worker}}]),e}(),lP=function(){function e(t,n){var i=this;m(this,e),FA(this,"name",void 0),FA(this,"workerThread",void 0),FA(this,"isRunning",void 0),FA(this,"result",void 0),FA(this,"_resolve",void 0),FA(this,"_reject",void 0),this.name=t,this.workerThread=n,this.isRunning=!0,this._resolve=function(){},this._reject=function(){},this.result=new Promise(function(e,t){i._resolve=e,i._reject=t})}return b(e,[{key:"postMessage",value:function(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}},{key:"done",value:function(e){$A(this.isRunning),this.isRunning=!1,this._resolve(e)}},{key:"error",value:function(e){$A(this.isRunning),this.isRunning=!1,this._reject(e)}}]),e}(),hP=function(){function e(t){m(this,e),FA(this,"name","unnamed"),FA(this,"source",void 0),FA(this,"url",void 0),FA(this,"maxConcurrency",1),FA(this,"maxMobileConcurrency",1),FA(this,"onDebug",function(){}),FA(this,"reuseWorkers",!0),FA(this,"props",{}),FA(this,"jobQueue",[]),FA(this,"idleQueue",[]),FA(this,"count",0),FA(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}return b(e,[{key:"destroy",value:function(){this.idleQueue.forEach(function(e){return e.destroy()}),this.isDestroyed=!0}},{key:"setProps",value:function(e){this.props=M(M({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}},{key:"startJob",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e,t,n){return e.done(n)},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(e,t){return e.error(t)},i=this;return Vx(regeneratorRuntime.mark(function r(){var o;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return o=new Promise(function(r){return i.jobQueue.push({name:e,onMessage:t,onError:n,onStart:r}),i}),i._startQueuedJob(),r.next=4,o;case 4:return r.abrupt("return",r.sent);case 5:case"end":return r.stop()}},r)}))()}},{key:"_startQueuedJob",value:function(){var e=this;return Vx(regeneratorRuntime.mark(function t(){var n,i,r;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(e.jobQueue.length){t.next=2;break}return t.abrupt("return");case 2:if(n=e._getAvailableWorker()){t.next=5;break}return t.abrupt("return");case 5:if(!(i=e.jobQueue.shift())){t.next=16;break}return e.onDebug({message:"Starting job",name:i.name,workerThread:n,backlog:e.jobQueue.length}),r=new lP(i.name,n),n.onMessage=function(e){return i.onMessage(r,e.type,e.payload)},n.onError=function(e){return i.onError(r,e)},i.onStart(r),t.prev=10,t.next=13,r.result;case 13:return t.prev=13,e.returnWorkerToQueue(n),t.finish(13);case 16:case"end":return t.stop()}},t,null,[[10,,13,16]])}))()}},{key:"returnWorkerToQueue",value:function(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}},{key:"_getAvailableWorker",value:function(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count0&&void 0!==arguments[0]?arguments[0]:{};return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(t),e._workerFarm}}]),e}();function pP(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n="".concat(e.id,"-worker.js"),i=(t[e.id]||{}).workerUrl;if("test"===t._workerType&&(i="modules/".concat(e.module,"/dist/").concat(n)),!i){var r=e.version;"latest"===r&&(r="latest"),i="https://unpkg.com/@loaders.gl/".concat(e.module).concat(r?"@".concat(r):"","/dist/").concat(n)}return $A(i),i}function vP(e,t){return!!fP.isSupported()&&e.worker&&(null==t?void 0:t.worker)}function gP(e,t,n,i,r){return mP.apply(this,arguments)}function mP(){return(mP=Vx(regeneratorRuntime.mark(function e(t,n,i,r,o){var a,s,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.id,s=pP(t,i),u=fP.getWorkerFarm(i).getWorkerPool({name:a,url:s}),i=JSON.parse(JSON.stringify(i)),e.next=4,u.startJob("process-on-worker",yP.bind(null,o));case 4:return(c=e.sent).postMessage("process",{input:n,options:i}),e.next=8,c.result;case 8:return e.next=10,e.sent.result;case 10:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}},e)}))).apply(this,arguments)}function yP(e,t,n,i){return bP.apply(this,arguments)}function bP(){return(bP=Vx(regeneratorRuntime.mark(function e(t,n,i,r){var o,a,s,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=i,e.next="done"===e.t0?3:"error"===e.t0?5:"process"===e.t0?7:20;break;case 3:return n.done(r),e.abrupt("break",21);case 5:return n.error(r.error),e.abrupt("break",21);case 7:return o=r.id,a=r.input,s=r.options,e.prev=8,e.next=11,t(a,s);case 11:u=e.sent,n.postMessage("done",{id:o,result:u}),e.next=19;break;case 15:e.prev=15,e.t1=e.catch(8),c=e.t1 instanceof Error?e.t1.message:"unknown error",n.postMessage("error",{id:o,error:c});case 19:return e.abrupt("break",21);case 20:console.warn("parse-with-worker unknown message ".concat(i));case 21:case"end":return e.stop()}},e,null,[[8,15]])}))).apply(this,arguments)}FA(fP,"_workerFarm",void 0);var _P=r(9521);function wP(e){if(function(e){return e&&"object"==typeof e&&e.isBuffer}(e)&&(e=function(e){return _P.toArrayBuffer?_P.toArrayBuffer(e):e}(e)),e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return 0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if("string"==typeof e){var t=e;return(new TextEncoder).encode(t).buffer}if(e&&"object"==typeof e&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function kP(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==c[1]?c[1]:{},i=n.chunkSize,r=void 0===i?EP:i,o=0;case 3:if(!(o2&&void 0!==arguments[2]?arguments[2]:null;if(n)return n;var i=M({fetch:qA(t,e)},e);return Array.isArray(i.loaders)||(i.loaders=null),i}function zP(e,t){if(!t&&e&&!Array.isArray(e))return e;var n;if(e&&(n=Array.isArray(e)?e:[e]),t&&t.loaders){var i=Array.isArray(t.loaders)?t.loaders:[t.loaders];n=n?[].concat(v(n),v(i)):i}return n&&n.length?n:null}var UP=function(){var e=HA();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function HP(e){var t,n=UP(),i=_(e=Array.isArray(e)?e:[e]);try{var r=function(){var e=dA(t.value);n.find(function(t){return e===t})||n.unshift(e)};for(i.s();!(t=i.n()).done;)r()}catch(o){i.e(o)}finally{i.f()}}var GP=/\.([^.]+)$/;function WP(e){return qP.apply(this,arguments)}function qP(){return(qP=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=a.length>1&&void 0!==a[1]?a[1]:[],i=a.length>2?a[2]:void 0,r=a.length>3?a[3]:void 0,YP(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(!(o=XP(t,n,I(M({},i),{nothrow:!0}),r))){e.next=8;break}return e.abrupt("return",o);case 8:if(e.t0=uA(t),!e.t0){e.next=18;break}return e.t1=XP,e.next=13,t.slice(0,10).arrayBuffer();case 13:e.t2=t=e.sent,e.t3=n,e.t4=i,e.t5=r,o=(0,e.t1)(e.t2,e.t3,e.t4,e.t5);case 18:if(o||null!=i&&i.nothrow){e.next=20;break}throw new Error(KP(t));case 20:return e.abrupt("return",o);case 21:case"end":return e.stop()}},e)}))).apply(this,arguments)}function XP(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;if(!YP(e))return null;if(n&&!Array.isArray(n))return dA(n);var o=[];n&&(o=o.concat(n)),null!=i&&i.ignoreRegisteredLoaders||(t=o).push.apply(t,v(UP())),function(e){var t,n=_(e);try{for(n.s();!(t=n.n()).done;){dA(t.value)}}catch(i){n.e(i)}finally{n.f()}}(o);var a=function(e,t,n,i){var r=SA(e),o=r.url,a=r.type,s=o||(null==i?void 0:i.url),u=null;return null!=n&&n.mimeType&&(u=$P(t,null==n?void 0:n.mimeType)),u=(u=(u=(u=u||function(e,t){var n=t&&GP.exec(t),i=n&&n[1];return i?function(e,t){t=t.toLowerCase();var n,i=_(e);try{for(i.s();!(n=i.n()).done;){var r,o=n.value,a=_(o.extensions);try{for(a.s();!(r=a.n()).done;){if(r.value.toLowerCase()===t)return o}}catch(s){a.e(s)}finally{a.f()}}}catch(s){i.e(s)}finally{i.f()}return null}(e,i):null}(t,s))||$P(t,a))||function(e,t){if(!t)return null;var n,i=_(e);try{for(i.s();!(n=i.n()).done;){var r=n.value;if("string"==typeof t){if(QP(t,r))return r}else if(ArrayBuffer.isView(t)){if(ZP(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&ZP(t,0,r))return r}}catch(o){i.e(o)}finally{i.f()}return null}(t,e))||$P(t,null==n?void 0:n.fallbackMimeType)}(e,o,i,r);if(!(a||null!=i&&i.nothrow))throw new Error(KP(e));return a}function YP(e){return!(e instanceof Response&&204===e.status)}function KP(e){var t=SA(e),n=t.url,i=t.type,r="No valid loader found";return e&&(r+=' data: "'.concat(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5;return"string"==typeof e?e.slice(0,t):ArrayBuffer.isView(e)?JP(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?JP(e,0,t):""}(e),'", contentType: "').concat(i,'"')),n&&(r+=" url: ".concat(n)),r}function $P(e,t){var n,i=_(e);try{for(i.s();!(n=i.n()).done;){var r=n.value;if(r.mimeTypes&&r.mimeTypes.includes(t)||t==="application/x.".concat(r.id))return r}}catch(o){i.e(o)}finally{i.f()}return null}function QP(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(function(t){return e.startsWith(t)})}function ZP(e,t,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some(function(i){return function(e,t,n,i){if(i instanceof ArrayBuffer)return function(e,t,n){if(e.byteLength<(n=n||e.byteLength)||t.byteLength0&&void 0!==arguments[0])||arguments[0];this.internalState&&(this.internalState.needsRedraw=e)}},{key:"setNeedsUpdate",value:function(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}},{key:"getNeedsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1};return this._getNeedsRedraw(e)}},{key:"needsUpdate",value:function(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}},{key:"hasUniformTransition",value:function(){return this.internalState.uniformTransitions.active}},{key:"isLoaded",get:function(){return this.internalState&&!this.internalState.isAsyncPropLoading()}},{key:"wrapLongitude",get:function(){return this.props.wrapLongitude}},{key:"isPickable",value:function(){return this.props.pickable&&this.props.visible}},{key:"getModels",value:function(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}},{key:"getAttributeManager",value:function(){return this.internalState&&this.internalState.attributeManager}},{key:"getCurrentLayer",value:function(){return this.internalState&&this.internalState.layer}},{key:"getLoadOptions",value:function(){return this.props.loadOptions}},{key:"project",value:function(e){var n=this.context.viewport,i=t(fT(ST(e,{viewport:n,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),n.pixelProjectionMatrix),3),r=i[0],o=i[1],a=i[2];return 2===e.length?[r,o]:[r,o,a]}},{key:"unproject",value:function(e){return this.context.viewport.unproject(e)}},{key:"projectPosition",value:function(e){return function(e,t){var n=function(e){var t=M({},e),n=e.coordinateSystem,i=e.coordinateOrigin,r=e.fromCoordinateSystem,o=e.fromCoordinateOrigin;return n===rk.DEFAULT&&(n=e.viewport.isGeospatial?rk.LNGLAT:rk.CARTESIAN),void 0===r&&(t.fromCoordinateSystem=n),void 0===o&&(t.fromCoordinateOrigin=i),t.coordinateSystem=n,t}(t),i=n.viewport,r=n.coordinateSystem,o=n.coordinateOrigin,a=n.modelMatrix,s=n.fromCoordinateSystem,u=n.fromCoordinateOrigin,c=zO(i,r,o),l=c.geospatialOrigin,h=c.shaderCoordinateOrigin,d=c.offsetMode,f=ST(e,{viewport:i,modelMatrix:a,coordinateSystem:s,coordinateOrigin:u,offsetMode:d});return d&&function(e,t,n){e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2]}(f,f,i.projectPosition(l||h)),f}(e,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}},{key:"use64bitPositions",value:function(){var e=this.props.coordinateSystem;return e===rk.DEFAULT||e===rk.LNGLAT||e===rk.CARTESIAN}},{key:"onHover",value:function(e,t){return!!this.props.onHover&&this.props.onHover(e,t)}},{key:"onClick",value:function(e,t){return!!this.props.onClick&&this.props.onClick(e,t)}},{key:"nullPickingColor",value:function(){return[0,0,0]}},{key:"encodePickingColor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t[0]=e+1&255,t[1]=e+1>>8&255,t[2]=e+1>>8>>8&255,t}},{key:"decodePickingColor",value:function(e){WS(e instanceof Uint8Array);var n=t(e,3);return n[0]+256*n[1]+65536*n[2]-1}},{key:"initializeState",value:function(){throw new Error("Layer ".concat(this," has not defined initializeState"))}},{key:"getShaders",value:function(e){var t,n=_(this.props.extensions);try{for(n.s();!(t=n.n()).done;){var i=t.value;e=CO(e,i.getShaders.call(this,i))}}catch(r){n.e(r)}finally{n.f()}return e}},{key:"shouldUpdateState",value:function(e){return e.changeFlags.propsOrDataChanged}},{key:"updateState",value:function(e){var t=e.oldProps,n=e.props,i=e.changeFlags,r=this.getAttributeManager();if(i.dataChanged&&r){var o=i.dataChanged;if(Array.isArray(o)){var a,s=_(o);try{for(s.s();!(a=s.n()).done;){var u=a.value;r.invalidateAll(u)}}catch(p){s.e(p)}finally{s.f()}}else r.invalidateAll()}var c=n.highlightedObjectIndex>=0||n.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==c&&r){var l=r.attributes,h=l.pickingColors,d=l.instancePickingColors,f=h||d;f&&(c&&f.constant&&(f.constant=!1,r.invalidate(f.id)),!f.value&&!c&&(f.constant=!0,f.value=[0,0,0]))}}},{key:"finalizeState",value:function(){var e,t=_(this.getModels());try{for(t.s();!(e=t.n()).done;){e.value.delete()}}catch(i){t.e(i)}finally{t.f()}var n=this.getAttributeManager();n&&n.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}},{key:"draw",value:function(e){var t,n=_(this.getModels());try{for(n.s();!(t=n.n()).done;){t.value.draw(e)}}catch(i){n.e(i)}finally{n.f()}}},{key:"getPickingInfo",value:function(e){var t=e.info,n=t.index;return n>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[n]),t}},{key:"activateViewport",value:function(e){var t=this.internalState.viewport;this.internalState.viewport=e,(!t||!uM({oldViewport:t,viewport:e}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}},{key:"invalidateAttribute",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",t=this.getAttributeManager();!t||("all"===e?t.invalidateAll():t.invalidate(e))}},{key:"updateAttributes",value:function(e){var t,n=_(this.getModels());try{for(n.s();!(t=n.n()).done;){var i=t.value;this._setModelAttributes(i,e)}}catch(r){n.e(r)}finally{n.f()}}},{key:"_updateAttributes",value:function(e){var t=this.getAttributeManager();if(t){var n=this.getNumInstances(e),i=this.getStartIndices(e);t.update({data:e.data,numInstances:n,startIndices:i,props:e,transitions:e.transitions,buffers:e.data.attributes,context:this,ignoreUnknownAttributes:!0});var r=t.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(r)}}},{key:"_updateAttributeTransition",value:function(){var e=this.getAttributeManager();e&&e.updateTransition()}},{key:"_updateUniformTransition",value:function(){var e=this.internalState.uniformTransitions;if(e.active){var t=e.update(),n=Object.create(this.props);for(var i in t)Object.defineProperty(n,i,{value:t[i]});return n}return this.props}},{key:"calculateInstancePickingColors",value:function(e,t){var n=t.numInstances;if(!e.constant){var i=Math.floor(cM.length/3);if(this.internalState.usesPickingColorCache=!0,iaM&&ik.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),cM=nS.allocate(cM,n,{size:3,copy:!0,maxCount:Math.max(n,aM)});for(var r=Math.floor(cM.length/3),o=[],a=i;a=0?this.encodePickingColor(o):null),this.setModuleParameters(s)}}},{key:"_getUpdateParams",value:function(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}},{key:"_getNeedsRedraw",value:function(e){if(!this.internalState)return!1;var t=!1;t=t||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!e.clearRedrawFlags;var n=this.getAttributeManager(),i=n&&n.getNeedsRedraw(e);return t=t||i}},{key:"_getAttributeManager",value:function(){return new lO(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}},{key:"_initState",value:function(){WS(!this.internalState&&!this.state),WS(isFinite(this.props.coordinateSystem));var e=this._getAttributeManager();e&&e.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new tA({attributeManager:e,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:function(){return ik.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),e}}),this.internalState.layer=this,this.internalState.uniformTransitions=new pO(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}},{key:"_transferState",value:function(e){hC("layer.matched",this,this===e);var t=e.state,n=e.internalState;this!==e&&(this.internalState=n,this.internalState.layer=this,this.state=t,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}},{key:"_onAsyncPropUpdated",value:function(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}]),i}(eA);return e.layerName="Layer",e.defaultProps=lM,e}(),dM=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"isComposite",get:function(){return!0}},{key:"isLoaded",get:function(){return e(p(i.prototype),"isLoaded",this)&&this.getSubLayers().every(function(e){return e.isLoaded})}},{key:"getSubLayers",value:function(){return this.internalState&&this.internalState.subLayers||[]}},{key:"initializeState",value:function(){}},{key:"setState",value:function(t){e(p(i.prototype),"setState",this).call(this,t),this.setNeedsUpdate()}},{key:"getPickingInfo",value:function(e){var t=e.info,n=t.object;return n&&n.__source&&n.__source.parent&&n.__source.parent.id===this.id&&(t.object=n.__source.object,t.index=n.__source.index),t}},{key:"renderLayers",value:function(){return null}},{key:"filterSubLayer",value:function(e){return!0}},{key:"shouldRenderSubLayer",value:function(e,t){return t&&t.length}},{key:"getSubLayerClass",value:function(e,t){var n=this.props._subLayerProps;return n&&n[e]&&n[e].type||t}},{key:"getSubLayerRow",value:function(e,t,n){return e.__source={parent:this,object:t,index:n},e}},{key:"getSubLayerAccessor",value:function(e){if("function"==typeof e){var t={data:this.props.data,target:[]};return function(n,i){return n&&n.__source?(t.index=n.__source.index,e(n.__source.object,t)):e(n,i)}}return e}},{key:"getSubLayerProps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.props,n=t.opacity,i=t.pickable,r=t.visible,o=t.parameters,a=t.getPolygonOffset,s=t.highlightedObjectIndex,u=t.autoHighlight,c=t.highlightColor,l=t.coordinateSystem,h=t.coordinateOrigin,d=t.wrapLongitude,f=t.positionFormat,p=t.modelMatrix,v=t.extensions,g=t.fetch,m=t._subLayerProps,y={opacity:n,pickable:i,visible:r,parameters:o,getPolygonOffset:a,highlightedObjectIndex:s,autoHighlight:u,highlightColor:c,coordinateSystem:l,coordinateOrigin:h,wrapLongitude:d,positionFormat:f,modelMatrix:p,extensions:v,fetch:g},b=m&&m[e.id],w=b&&b.updateTriggers,k=e.id||"sublayer";if(b){var x=this.constructor._propTypes,S=e.type?e.type._propTypes:{};for(var C in b){var E=S[C]||x[C];E&&"accessor"===E.type&&(b[C]=this.getSubLayerAccessor(b[C]))}}Object.assign(y,e,b),y.id="".concat(this.props.id,"-").concat(k),y.updateTriggers=M(M({all:this.props.updateTriggers.all},e.updateTriggers),w);var O,T=_(v);try{for(T.s();!(O=T.n()).done;){var A=O.value,P=A.getSubLayerProps.call(this,A);P&&Object.assign(y,P,{updateTriggers:Object.assign(y.updateTriggers,P.updateTriggers)})}}catch(I){T.e(I)}finally{T.f()}return y}},{key:"_updateAutoHighlight",value:function(e){var t,n=_(this.getSubLayers());try{for(n.s();!(t=n.n()).done;){t.value.updateAutoHighlight(e)}}catch(i){n.e(i)}finally{n.f()}}},{key:"_getAttributeManager",value:function(){return null}},{key:"_renderLayers",value:function(){var e=this.internalState.subLayers,t=!e||this.needsUpdate();t&&(e=$S(e=this.renderLayers(),Boolean),this.internalState.subLayers=e),hC("compositeLayer.renderLayers",this,t,e);var n,i=_(e);try{for(i.s();!(n=i.n()).done;){n.value.parent=this}}catch(r){i.e(r)}finally{i.f()}}}]),i}(hM);return t.layerName="CompositeLayer",t}(),fM=/([0-9]+\.?[0-9]*)(%|px)/;function pM(e){switch(typeof e){case"number":return{position:e,relative:!1};case"string":var t=e.match(fM);if(t&&t.length>=3){var n="%"===t[2],i=parseFloat(t[1]);return{position:n?i/100:i,relative:n}}default:throw new Error("Could not parse position string ".concat(e))}}function vM(e,t){return e.relative?Math.round(e.position*t):e.position}function gM(e,t){if(e===t)return!0;if(!e||!t)return!1;for(var n in e){var i=e[n],r=t[n];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&gM(i,r)))return!1}return!0}var mM=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id,i=void 0===n?null:n,r=t.x,o=void 0===r?0:r,a=t.y,s=void 0===a?0:a,u=t.width,c=void 0===u?"100%":u,l=t.height,h=void 0===l?"100%":l,d=t.projectionMatrix,f=void 0===d?null:d,p=t.fovy,v=void 0===p?50:p,g=t.near,y=void 0===g?.1:g,b=t.far,_=void 0===b?1e3:b,w=t.modelMatrix,k=void 0===w?null:w,x=t.viewportInstance,S=void 0===x?null:x,C=t.type,E=void 0===C?wT:C;WS(!S||S instanceof wT),this.viewportInstance=S,this.id=i||this.constructor.displayName||"view",this.type=E,this.props=I(M({},t),{id:this.id,projectionMatrix:f,fovy:v,near:y,far:_,modelMatrix:k}),this._parseDimensions({x:o,y:s,width:c,height:h}),this.equals=this.equals.bind(this),Object.seal(this)}return b(e,[{key:"equals",value:function(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):gM(this.props,e.props))}},{key:"makeViewport",value:function(e){var t=e.width,n=e.height,i=e.viewState;if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);var r=this.getDimensions({width:t,height:n});return this._getViewport(i,r)}},{key:"getViewStateId",value:function(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}},{key:"filterViewState",value:function(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;var t=M({},e);for(var n in this.props.viewState)"id"!==n&&(t[n]=this.props.viewState[n]);return t}return e}},{key:"getDimensions",value:function(e){var t=e.width,n=e.height;return{x:vM(this._x,t),y:vM(this._y,n),width:vM(this._width,t),height:vM(this._height,n)}}},{key:"_getControllerProps",value:function(e){var t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),M(M({},e),t)):null}},{key:"_getViewport",value:function(e,t){return new(0,this.type)(M(M(M({},e),this.props),t))}},{key:"_parseDimensions",value:function(e){var t=e.x,n=e.y,i=e.width,r=e.height;this._x=pM(t),this._y=pM(n),this._width=pM(i),this._height=pM(r)}}]),e}(),yM=function(){},bM={transitionEasing:function(e){return e},transitionInterruption:1,onTransitionStart:yM,onTransitionInterrupt:yM,onTransitionEnd:yM},_M=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.ControllerState=t,this.props=M(M({},bM),n),this.propsInTransition=null,this.transition=new aO(n.timeline),this.onViewStateChange=n.onViewStateChange||yM,this.onStateChange=n.onStateChange||yM,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}return b(e,[{key:"finalize",value:function(){this.transition.cancel()}},{key:"getViewportInTransition",value:function(){return this.propsInTransition}},{key:"processViewStateChange",value:function(e){var t=!1,n=this.props;if(e=M(M({},bM),e),this.props=e,this._shouldIgnoreViewportChange(n,e))return t;if(this._isTransitionEnabled(e)){var i=this.transition.settings,r=i.interruption,o=i.endProps,a=M(M({},n),2===r?o:this.propsInTransition||n);this._triggerTransition(a,e),t=!0}else this.transition.cancel();return t}},{key:"updateTransition",value:function(){this.transition.update()}},{key:"_isTransitionEnabled",value:function(e){var t=e.transitionDuration,n=e.transitionInterpolator;return(t>0||"auto"===t)&&Boolean(n)}},{key:"_isUpdateDueToCurrentTransition",value:function(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}},{key:"_shouldIgnoreViewportChange",value:function(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}},{key:"_triggerTransition",value:function(e,t){var n=new this.ControllerState(e),i=new this.ControllerState(t).shortestPathFrom(n),r=t.transitionInterpolator,o=r.getDuration?r.getDuration(e,t):t.transitionDuration;if(0!==o){var a=t.transitionInterpolator.initializeProps(e,i);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}}},{key:"_onTransitionEnd",value:function(e){var t=this;return function(n){t.propsInTransition=null,t.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(n)}}},{key:"_onTransitionUpdate",value:function(e){var t=e.time,n=e.settings,i=n.interpolator,r=n.startProps,o=n.endProps,a=n.duration,s=(0,n.easing)(t/a),u=i.interpolateProps(r,o,s);this.propsInTransition=new this.ControllerState(M(M({},this.props),u)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}]),e}(),wM=["longitude","latitude","zoom","bearing","pitch"],kM=["longitude","latitude","zoom"],xM=function(t){a(i,t);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return m(this,i),(e=n.call(this,(Array.isArray(t)?t:t.transitionProps)||{compare:wM,extract:wM,required:kM})).opts=t,e}return b(i,[{key:"initializeProps",value:function(t,n){var r=e(p(i.prototype),"initializeProps",this).call(this,t,n),o=this.opts,a=o.makeViewport,s=o.around;if(a&&s){var u=a(t),c=a(n),l=u.unproject(s);r.start.around=s,Object.assign(r.end,{around:c.project(l),aroundPosition:l,width:n.width,height:n.height})}return r}},{key:"interpolateProps",value:function(e,t,n){var i,r={},o=_(this._propsToExtract);try{for(o.s();!(i=o.n()).done;){var a=i.value;r[a]=dS(e[a]||0,t[a]||0,n)}}catch(u){o.e(u)}finally{o.f()}if(t.aroundPosition){var s=this.opts.makeViewport(M(M({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,dS(e.around,t.around,n)))}return r}}]),i}(function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),Array.isArray(t)&&(t={compare:t,extract:t,required:t});var n=t,i=n.compare,r=n.extract,o=n.required;this._propsToCompare=i,this._propsToExtract=r,this._requiredProps=o}return b(e,[{key:"arePropsEqual",value:function(e,t){var n,i=_(this._propsToCompare||Object.keys(t));try{for(i.s();!(n=i.n()).done;){var r=n.value;if(!(r in e)||!(r in t)||!fS(e[r],t[r]))return!1}}catch(o){i.e(o)}finally{i.f()}return!0}},{key:"initializeProps",value:function(e,t){var n;if(this._propsToExtract){var i,r={},o={},a=_(this._propsToExtract);try{for(a.s();!(i=a.n()).done;){var s=i.value;r[s]=e[s],o[s]=t[s]}}catch(u){a.e(u)}finally{a.f()}n={start:r,end:o}}else n={start:e,end:t};return this._checkRequiredProps(n.start),this._checkRequiredProps(n.end),n}},{key:"interpolateProps",value:function(e,t,n){return t}},{key:"getDuration",value:function(e,t){return t.transitionDuration}},{key:"_checkRequiredProps",value:function(e){!this._requiredProps||this._requiredProps.forEach(function(t){var n=e[t];WS(Number.isFinite(n)||Array.isArray(n),"".concat(t," is required for transition"))})}}]),e}()),SM={transitionDuration:0},CM={transitionDuration:300,transitionEasing:function(e){return e},transitionInterruption:1},EM=function(e){return 1-(1-e)*(1-e)},OM=["wheel"],TM=["panstart","panmove","panend"],AM=["pinchstart","pinchmove","pinchend"],PM=["tripanstart","tripanmove","tripanend"],MM=["doubletap"],IM=["keydown"],RM=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.ControllerState=t,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new _M(t,I(M({},n),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));var i=this.linearTransitionProps;this._transition=i&&I(M({},CM),{transitionInterpolator:new xM({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(n)}return b(e,[{key:"linearTransitionProps",get:function(){return null}},{key:"events",set:function(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}},{key:"finalize",value:function(){for(var e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}},{key:"handleEvent",value:function(e){var t=this.ControllerState;this.controllerState=new t(M(M({makeViewport:this.makeViewport},this.controllerStateProps),this._state));var n=this._eventStartBlocked;switch(e.type){case"panstart":return!n&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!n&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!n&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}},{key:"getCenter",value:function(e){var t=this.controllerStateProps,n=t.x,i=t.y,r=e.offsetCenter;return[r.x-n,r.y-i]}},{key:"isPointInBounds",value:function(e,t){var n=this.controllerStateProps,i=n.width,r=n.height;if(t&&t.handled)return!1;var o=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return o&&t&&t.stopPropagation(),o}},{key:"isFunctionKeyPressed",value:function(e){var t=e.srcEvent;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}},{key:"isDragging",value:function(){return this._interactionState.isDragging}},{key:"blockEvents",value:function(e){var t=this,n=setTimeout(function(){t._eventStartBlocked===n&&(t._eventStartBlocked=null)},e);this._eventStartBlocked=n}},{key:"setProps",value:function(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);var t=e.inertia;!0===t&&(t=300),this.inertia=t;var n=e.scrollZoom,i=void 0===n||n,r=e.dragPan,o=void 0===r||r,a=e.dragRotate,s=void 0===a||a,u=e.doubleClickZoom,c=void 0===u||u,l=e.touchZoom,h=void 0===l||l,d=e.touchRotate,f=void 0!==d&&d,p=e.keyboard,v=void 0===p||p,g=Boolean(this.onViewStateChange);this.toggleEvents(OM,g&&i),this.toggleEvents(TM,g&&(o||s)),this.toggleEvents(AM,g&&(h||f)),this.toggleEvents(PM,g&&f),this.toggleEvents(MM,g&&c),this.toggleEvents(IM,g&&v),this.scrollZoom=i,this.dragPan=o,this.dragRotate=s,this.doubleClickZoom=c,this.touchZoom=h,this.touchRotate=f,this.keyboard=v}},{key:"updateTransition",value:function(){this.transitionManager.updateTransition()}},{key:"toggleEvents",value:function(e,t){var n=this;this.eventManager&&e.forEach(function(e){n._events[e]!==t&&(n._events[e]=t,t?n.eventManager.on(e,n.handleEvent):n.eventManager.off(e,n.handleEvent))})}},{key:"updateViewport",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=M(M({},e.getViewportProps()),t),r=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(n),r){var o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:i,interactionState:this._interactionState,oldViewState:o})}}},{key:"_onTransition",value:function(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}},{key:"_setInteractionState",value:function(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}},{key:"_onPanStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(n=!n);var i=this.controllerState[n?"panStart":"rotateStart"]({pos:t});return this._panMove=n,this.updateViewport(i,SM,{isDragging:!0}),!0}},{key:"_onPan",value:function(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}},{key:"_onPanEnd",value:function(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}},{key:"_onPanMove",value:function(e){if(!this.dragPan)return!1;var t=this.getCenter(e),n=this.controllerState.pan({pos:t});return this.updateViewport(n,SM,{isDragging:!0,isPanning:!0}),!0}},{key:"_onPanMoveEnd",value:function(e){var t=this.inertia;if(this.dragPan&&t&&e.velocity){var n=this.getCenter(e),i=this.controllerState.pan({pos:[n[0]+e.velocityX*t/2,n[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(i,I(M({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:EM}),{isDragging:!1,isPanning:!0})}else{var r=this.controllerState.panEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1})}return!0}},{key:"_onPanRotate",value:function(e){if(!this.dragRotate)return!1;var t=this.getCenter(e),n=this.controllerState.rotate({pos:t});return this.updateViewport(n,SM,{isDragging:!0,isRotating:!0}),!0}},{key:"_onPanRotateEnd",value:function(e){var t=this.inertia;if(this.dragRotate&&t&&e.velocity){var n=this.getCenter(e),i=this.controllerState.rotate({pos:[n[0]+e.velocityX*t/2,n[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(i,I(M({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:EM}),{isDragging:!1,isRotating:!0})}else{var r=this.controllerState.rotateEnd();this.updateViewport(r,null,{isDragging:!1,isRotating:!1})}return!0}},{key:"_onWheel",value:function(e){if(!this.scrollZoom)return!1;e.preventDefault();var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.scrollZoom,i=n.speed,r=void 0===i?.01:i,o=n.smooth,a=void 0!==o&&o,s=e.delta,u=2/(1+Math.exp(-Math.abs(s*r)));s<0&&0!==u&&(u=1/u);var c=this.controllerState.zoom({pos:t,scale:u});return this.updateViewport(c,I(M({},this._getTransitionProps({around:t})),{transitionDuration:a?250:1}),{isZooming:!0,isPanning:!0}),!0}},{key:"_onTriplePanStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.controllerState.rotateStart({pos:t});return this.updateViewport(n,SM,{isDragging:!0}),!0}},{key:"_onTriplePan",value:function(e){if(!this.touchRotate||!this.isDragging())return!1;var t=this.getCenter(e);t[0]-=e.deltaX;var n=this.controllerState.rotate({pos:t});return this.updateViewport(n,SM,{isDragging:!0,isRotating:!0}),!0}},{key:"_onTriplePanEnd",value:function(e){if(!this.isDragging())return!1;var t=this.inertia;if(this.touchRotate&&t&&e.velocityY){var n=this.getCenter(e),i=[n[0],n[1]+=e.velocityY*t/2],r=this.controllerState.rotate({pos:i});this.updateViewport(r,I(M({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:EM}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{var o=this.controllerState.rotateEnd();this.updateViewport(o,null,{isDragging:!1,isRotating:!1})}return!0}},{key:"_onPinchStart",value:function(e){var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(n,SM,{isDragging:!0}),!0}},{key:"_onPinch",value:function(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;var t=this.controllerState;if(this.touchZoom){var n=e.scale,i=this.getCenter(e);t=t.zoom({pos:i,scale:n})}if(this.touchRotate){var r=e.rotation;t=t.rotate({deltaAngleX:this._startPinchRotation-r})}return this.updateViewport(t,SM,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}},{key:"_onPinchEnd",value:function(e){if(!this.isDragging())return!1;var t=this.inertia,n=this._lastPinchEvent;if(this.touchZoom&&t&&n&&e.scale!==n.scale){var i=this.getCenter(e),r=this.controllerState.rotateEnd(),o=Math.log2(e.scale),a=(o-Math.log2(n.scale))/(e.deltaTime-n.deltaTime),s=Math.pow(2,o+a*t/2);r=r.zoom({pos:i,scale:s}).zoomEnd(),this.updateViewport(r,I(M({},this._getTransitionProps({around:i})),{transitionDuration:t,transitionEasing:EM}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{var u=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(u,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}},{key:"_onDoubleTap",value:function(e){if(!this.doubleClickZoom)return!1;var t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;var n=this.isFunctionKeyPressed(e),i=this.controllerState.zoom({pos:t,scale:n?.5:2});return this.updateViewport(i,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}},{key:"_onKeyDown",value:function(e){if(!this.keyboard)return!1;var t,n=this.isFunctionKeyPressed(e),i=this.keyboard,r=i.zoomSpeed,o=i.moveSpeed,a=i.rotateSpeedX,s=i.rotateSpeedY,u=this.controllerState,c={};switch(e.srcEvent.code){case"Minus":t=n?u.zoomOut(r).zoomOut(r):u.zoomOut(r),c.isZooming=!0;break;case"Equal":t=n?u.zoomIn(r).zoomIn(r):u.zoomIn(r),c.isZooming=!0;break;case"ArrowLeft":n?(t=u.rotateLeft(a),c.isRotating=!0):(t=u.moveLeft(o),c.isPanning=!0);break;case"ArrowRight":n?(t=u.rotateRight(a),c.isRotating=!0):(t=u.moveRight(o),c.isPanning=!0);break;case"ArrowUp":n?(t=u.rotateUp(s),c.isRotating=!0):(t=u.moveUp(o),c.isPanning=!0);break;case"ArrowDown":n?(t=u.rotateDown(s),c.isRotating=!0):(t=u.moveDown(o),c.isPanning=!0);break;default:return!1}return this.updateViewport(t,this._getTransitionProps(),c),!0}},{key:"_getTransitionProps",value:function(e){var t=this._transition;return t?e?I(M({},t),{transitionInterpolator:new xM(I(M({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:SM}}]),e}(),DM=function(){function e(t){m(this,e),this._viewportProps=this._applyConstraints(t)}return b(e,[{key:"getViewportProps",value:function(){return this._viewportProps}},{key:"getState",value:function(){return this._state}},{key:"shortestPathFrom",value:function(e){return this._viewportProps}},{key:"_applyConstraints",value:function(e){return e}}]),e}(),NM=[0,0,0],LM=function(e){a(n,e);var t=s(n);function n(e){var i,r=e.makeViewport,o=e.width,a=e.height,s=e.rotationX,u=void 0===s?0:s,c=e.rotationOrbit,l=void 0===c?0:c,h=e.target,d=void 0===h?NM:h,f=e.zoom,p=void 0===f?0:f,v=e.minRotationX,g=void 0===v?-90:v,y=e.maxRotationX,b=void 0===y?90:y,_=e.minZoom,w=void 0===_?-1/0:_,k=e.maxZoom,x=void 0===k?1/0:k,S=e.startPanPosition,C=e.startRotatePos,E=e.startRotationX,O=e.startRotationOrbit,T=e.startZoomPosition,A=e.startZoom;return m(this,n),(i=t.call(this,{width:o,height:a,rotationX:u,rotationOrbit:l,target:d,zoom:p,minRotationX:g,maxRotationX:b,minZoom:w,maxZoom:x}))._state={startPanPosition:S,startRotatePos:C,startRotationX:E,startRotationOrbit:O,startZoomPosition:T,startZoom:A},i.makeViewport=r,i}return b(n,[{key:"panStart",value:function(e){var t=e.pos;return this._getUpdatedState({startPanPosition:this._unproject(t)})}},{key:"pan",value:function(e){var t=e.pos,n=e.startPosition,i=this._state.startPanPosition||n;if(!i)return this;var r=this.makeViewport(this._viewportProps).panByPosition(i,t);return this._getUpdatedState(r)}},{key:"panEnd",value:function(){return this._getUpdatedState({startPanPosition:null})}},{key:"rotateStart",value:function(e){var t=e.pos;return this._getUpdatedState({startRotatePos:t,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}},{key:"rotate",value:function(e){var t,n=e.pos,i=e.deltaAngleX,r=void 0===i?0:i,o=e.deltaAngleY,a=void 0===o?0:o,s=this._state,u=s.startRotatePos,c=s.startRotationX,l=s.startRotationOrbit,h=this._viewportProps,d=h.width,f=h.height;if(!u||!Number.isFinite(c)||!Number.isFinite(l))return this;if(n){var p=(n[0]-u[0])/d;(c<-90||c>90)&&(p*=-1),t={rotationX:c+(n[1]-u[1])/f*180,rotationOrbit:l+180*p}}else t={rotationX:c+a,rotationOrbit:l+r};return this._getUpdatedState(t)}},{key:"rotateEnd",value:function(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),n=M({},this._viewportProps),i=n.rotationOrbit;return Math.abs(i-t.rotationOrbit)>180&&(n.rotationOrbit=i<0?i+360:i-360),n}},{key:"zoomStart",value:function(e){var t=e.pos;return this._getUpdatedState({startZoomPosition:this._unproject(t),startZoom:this._viewportProps.zoom})}},{key:"zoom",value:function(e){var t=e.pos,n=e.startPos,i=e.scale,r=this._viewportProps.zoom,o=this._state,a=o.startZoom,s=o.startZoomPosition;Number.isFinite(a)||(a=r,s=this._unproject(n)||this._unproject(t));var u=this._calculateNewZoom({scale:i,startZoom:a}),c=this.makeViewport(I(M({},this._viewportProps),{zoom:u}));return this._getUpdatedState(M({zoom:u},c.panByPosition(s,t)))}},{key:"zoomEnd",value:function(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}},{key:"zoomIn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([-e,0])}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([e,0])}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([0,-e])}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return this._panFromCenter([0,e])}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}},{key:"_unproject",value:function(e){var t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}},{key:"_calculateNewZoom",value:function(e){var t=e.scale,n=e.startZoom,i=this._viewportProps,r=i.maxZoom,o=i.minZoom;return Number.isFinite(n)||(n=this._viewportProps.zoom),hS(n+Math.log2(t),o,r)}},{key:"_panFromCenter",value:function(e){var t=this._viewportProps,n=t.width,i=t.height,r=t.target;return this.pan({startPosition:r,pos:[n/2+e[0],i/2+e[1]]})}},{key:"_getUpdatedState",value:function(e){return new n(M(M(M({},this._viewportProps),this._state),e))}},{key:"_applyConstraints",value:function(e){var t=e.maxZoom,n=e.minZoom,i=e.zoom,r=e.maxRotationX,o=e.minRotationX,a=e.rotationOrbit;return e.zoom=hS(i,n,t),e.rotationX=hS(e.rotationX,o,r),(a<-180||a>180)&&(e.rotationOrbit=function(e,t){var n=e%360;return n<0?360+n:n}(a+180)-180),e}}]),n}(DM),jM=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,LM,e)}return b(n,[{key:"linearTransitionProps",get:function(){return["target","zoom","rotationX","rotationOrbit"]}}]),n}(RM),FM=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),e.dragMode=e.dragMode||"pan",t.call(this,LM,e)}return b(n,[{key:"_onPanRotate",value:function(e){return!1}},{key:"linearTransitionProps",get:function(){return["target","zoom"]}}]),n}(RM),BM=(new $O).lookAt({eye:[0,0,1]});function VM(e){var t=e.width,n=e.height,i=e.near,r=e.far;return t=t||1,n=n||1,(new $O).ortho({left:-t/2,right:t/2,bottom:-n/2,top:n/2,near:i,far:r})}var zM=function(e){a(n,e);var t=s(n);function n(e){m(this,n);var i=e.width,r=e.height,o=e.near,a=void 0===o?.1:o,s=e.far,u=void 0===s?1e3:s,c=e.zoom,l=void 0===c?0:c,h=e.target,d=void 0===h?[0,0,0]:h,f=e.flipY,p=void 0===f||f,v=Math.pow(2,l);return t.call(this,I(M({},e),{longitude:null,position:d,viewMatrix:BM.clone().scale([v,v*(p?-1:1),v]),projectionMatrix:VM({width:i,height:r,near:a,far:u}),zoom:l}))}return b(n,[{key:"panByPosition",value:function(e,t){var n=HO([],e,GO([],pT(t,this.pixelUnprojectionMatrix)));return{target:HO([],this.center,n)}}}]),n}(wT),UM=function(){var e=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,I(M({},e),{type:zM}))}return b(n,[{key:"controller",get:function(){return this._getControllerProps({type:FM})}}]),n}(mM);return e.displayName="OrthographicView",e}(),HM=Math.PI/180;function GM(e){var t=e.height,n=e.fovy,i=e.orbitAxis,r=e.rotationX,o=e.rotationOrbit,a=e.zoom,s=.5/Math.tan(n*HM/2),u="Z"===i?[0,0,1]:[0,1,0],c="Z"===i?[0,-s,0]:[0,0,s],l=(new $O).lookAt({eye:c,up:u});l.rotateX(r*HM),"Z"===i?l.rotateZ(o*HM):l.rotateY(o*HM);var h=Math.pow(2,a)/(t||1);return l.scale(h),l}var WM=function(e){a(i,e);var n=s(i);function i(e){var t;m(this,i);var r=e.height,o=e.fovy,a=e.orbitAxis,s=e.target,u=void 0===s?[0,0,0]:s,c=e.rotationX,l=void 0===c?0:c,h=e.rotationOrbit,d=void 0===h?0:h,f=e.zoom,p=void 0===f?0:f;return(t=n.call(this,I(M({},e),{longitude:null,viewMatrix:GM({height:r,fovy:o,orbitAxis:a,rotationX:l,rotationOrbit:d,zoom:p}),fovy:o,position:u,zoom:p}))).projectedCenter=t.project(t.center),t}return b(i,[{key:"unproject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.topLeft,r=void 0===i||i,o=t(e,3),a=o[0],s=o[1],u=o[2],c=void 0===u?this.projectedCenter[2]:u,l=r?s:this.height-s,h=pT([a,l,c],this.pixelUnprojectionMatrix),d=t(h,3),f=d[0],p=d[1],v=d[2];return[f,p,v]}},{key:"panByPosition",value:function(e,t){var n=this.project(e);return{target:this.unproject([this.width/2+n[0]-t[0],this.height/2+n[1]-t[1],this.projectedCenter[2]])}}}]),i}(wT),qM=function(){var e=function(e){a(n,e);var t=s(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.orbitAxis,r=void 0===i?"Z":i;return t.call(this,I(M({},e),{orbitAxis:r,type:WM}))}return b(n,[{key:"controller",get:function(){return this._getControllerProps({type:jM})}}]),n}(mM);return e.displayName="OrbitView",e}(),XM=[255,255,255],YM=0,KM=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.color,i=void 0===n?XM:n,r=t.intensity,o=void 0===r?1:r;this.id=t.id||"ambient-".concat(YM++),this.color=i,this.intensity=o,this.type="ambient"},$M=[255,255,255],QM=[0,0,-1],ZM=0,JM=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.color,i=void 0===n?$M:n,r=t.intensity,o=void 0===r?1:r,a=t.direction,s=void 0===a?QM:a,u=t._shadow,c=void 0!==u&&u;this.id=t.id||"directional-".concat(ZM++),this.color=i,this.intensity=o,this.type="directional",this.direction=new FS(s).normalize().toArray(),this.shadow=c}return b(e,[{key:"getProjectedLight",value:function(){return this}}]),e}(),eI=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id,i=void 0===n?"effect":n;this.id=i,this.props=M({},t)}return b(e,[{key:"preRender",value:function(){}},{key:"getModuleParameters",value:function(){}},{key:"cleanup",value:function(){}}]),e}(),tI=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"render",value:function(e){return Uk(this.gl,{framebuffer:e.target}),this._drawLayers(e)}},{key:"_drawLayers",value:function(e){var t=e.viewports,n=e.views,i=e.onViewportActive,r=e.clearCanvas,o=void 0===r||r;e.pass=e.pass||"unknown";var a=this.gl;o&&function(e){Uk(e,{viewport:[0,0,e.drawingBufferWidth,e.drawingBufferHeight]}),e.clear(16640)}(a);var s,u=[],c=_(t);try{for(c.s();!(s=c.n()).done;){var l=s.value,h=l.viewport||l,d=n&&n[h.id];i(h);var f=this._getDrawLayerParams(h,e);e.view=d;var p,v=_(h.subViewports||[h]);try{for(v.s();!(p=v.n()).done;){var g=p.value;e.viewport=g;var m=this._drawLayersInViewport(a,e,f);u.push(m)}}catch(y){v.e(y)}finally{v.f()}}}catch(y){c.e(y)}finally{c.f()}return u}},{key:"_getDrawLayerParams",value:function(e,t){for(var n=t.layers,i=t.pass,r=t.layerFilter,o=t.effects,a=t.moduleParameters,s=[],u=nI(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i},l=0;l1&&void 0!==arguments[1]?arguments[1]:{};m(this,e);var i=n.id,r=void 0===i?"pass":i;this.id=r,this.gl=t,this.props=M({},n)}return b(e,[{key:"setProps",value:function(e){Object.assign(this.props,e)}},{key:"render",value:function(){}},{key:"cleanup",value:function(){}}]),e}());function nI(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={},i=function i(r,o){var a,s=r.props._offset,u=r.id,c=r.parent&&r.parent.id;if(c&&!(c in t)&&i(r.parent,!1),c in n){var l=n[c]=n[c]||nI(t[c],t);a=l(r,o),n[u]=l}else Number.isFinite(s)?(a=s+(t[c]||0),n[u]=null):a=e;return o&&a>=e&&(e=a+1),t[u]=a,a};return i}var iI=function(t){a(i,t);var n=s(i);function i(e,t){var r;return m(this,i),(r=n.call(this,e,t)).shadowMap=new Rx(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),r.depthBuffer=new Lx(e,{format:33189,width:1,height:1}),r.fbo=new $x(e,{id:"shadowmap",width:1,height:1,attachments:{36064:r.shadowMap,36096:r.depthBuffer}}),r}return b(i,[{key:"render",value:function(t){var n=this,r=this.fbo;Hk(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},function(){var o=t.viewports[0],a=Wk(n.gl),s=o.width*a,u=o.height*a;(s!==r.width||u!==r.height)&&r.resize({width:s,height:u}),e(p(i.prototype),"render",n).call(n,I(M({},t),{target:r,pass:"shadow"}))})}},{key:"shouldDrawLayer",value:function(e){return!1!==e.props.shadowEnabled}},{key:"getModuleParameters",value:function(){return{drawToShadowMap:!0}}},{key:"delete",value:function(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}]),i}(tI),rI=Object.keys(rk).map(function(e){return"const int COORDINATE_SYSTEM_".concat(e," = ").concat(rk[e],";")}).join(""),oI=Object.keys(ok).map(function(e){return"const int PROJECTION_MODE_".concat(e," = ").concat(ok[e],";")}).join(""),aI="".concat(rI,"\n").concat(oI,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),sI={},uI={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:aI,getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:sI;return e.viewport?function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.viewport,n=e.devicePixelRatio,i=void 0===n?1:n,r=e.modelMatrix,o=void 0===r?null:r,a=e.coordinateSystem,s=void 0===a?rk.DEFAULT:a,u=e.coordinateOrigin,c=e.autoWrapLongitude,l=void 0!==c&&c;s===rk.DEFAULT&&(s=t.isGeospatial?rk.LNGLAT:rk.CARTESIAN);var h=VO({viewport:t,devicePixelRatio:i,coordinateSystem:s,coordinateOrigin:u});return h.project_uWrapLongitude=l,h.project_uModelMatrix=o||jO,h}(e):{}}},cI=SO(function(e){var t=e.viewport,n=e.center;return new $O(t.viewProjectionMatrix).invert().transform(n)}),lI=SO(function(e){var n,i=e.viewport,r=e.shadowMatrices,o=[],a=i.pixelUnprojectionMatrix,s=i.isGeospatial?void 0:1,u=[[0,0,s],[i.width,0,s],[0,i.height,s],[i.width,i.height,s],[0,0,-1],[i.width,0,-1],[0,i.height,-1],[i.width,i.height,-1]].map(function(e){return function(e,n){var i=t(e,3),r=i[0],o=i[1],a=i[2],s=pT([r,o,a],n);return Number.isFinite(a)?s:[s[0],s[1],0]}(e,a)}),c=_(r);try{var l=function(){var e=n.value,t=e.clone().translate(new FS(i.center).negate()),r=u.map(function(e){return t.transform(e)}),a=(new $O).ortho({left:Math.min.apply(Math,v(r.map(function(e){return e[0]}))),right:Math.max.apply(Math,v(r.map(function(e){return e[0]}))),bottom:Math.min.apply(Math,v(r.map(function(e){return e[1]}))),top:Math.max.apply(Math,v(r.map(function(e){return e[1]}))),near:Math.min.apply(Math,v(r.map(function(e){return-e[2]}))),far:Math.max.apply(Math,v(r.map(function(e){return-e[2]})))});o.push(a.multiplyRight(e))};for(c.s();!(n=c.n()).done;)l()}catch(h){c.e(h)}finally{c.f()}return o}),hI=[0,0,0,1],dI=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],fI={name:"shadow",dependencies:[uI],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.drawToShadowMap||e.shadowMaps&&e.shadowMaps.length>0){var n=e.shadowEnabled,i=void 0===n||n;return i&&e.shadowMatrices&&e.shadowMatrices.length>0?function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={shadow_uDrawShadowMap:Boolean(e.drawToShadowMap),shadow_uUseShadowMap:!!e.shadowMaps&&e.shadowMaps.length>0,shadow_uColor:e.shadowColor||hI,shadow_uLightId:e.shadowLightId||0,shadow_uLightCount:e.shadowMatrices.length},i=cI({viewport:e.viewport,center:t.project_uCenter}),r=[],o=lI({shadowMatrices:e.shadowMatrices,viewport:e.viewport}).slice(),a=0;a0?e.shadowMaps[c]:e.dummyShadowMap;return n}(e,t):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},pI={color:[255,255,255],intensity:1},vI=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],gI=[0,0,0,200/255],mI=function(e){a(n,e);var t=s(n);function n(e){var i;for(var r in m(this,n),(i=t.call(this,e)).ambientLight=null,i.directionalLights=[],i.pointLights=[],i.shadowColor=gI,i.shadowPasses=[],i.shadowMaps=[],i.dummyShadowMap=null,i.shadow=!1,i.programManager=null,e){var o=e[r];switch(o.type){case"ambient":i.ambientLight=o;break;case"directional":i.directionalLights.push(o);break;case"point":i.pointLights.push(o)}}return i._applyDefaultLights(),i.shadow=i.directionalLights.some(function(e){return e.shadow}),i}return b(n,[{key:"preRender",value:function(e,t){var n=t.layers,i=t.layerFilter,r=t.viewports,o=t.onViewportActive,a=t.views;if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=BE.getDefaultProgramManager(e),fI&&this.programManager.addDefaultModule(fI)),this.dummyShadowMap||(this.dummyShadowMap=new Rx(e,{width:1,height:1}));for(var s=0;s=t.delay+t.duration*t.repeat}},{key:"getTime",value:function(e){if(void 0===e)return this.time;var t=this.channels.get(e);return void 0===t?-1:t.time}},{key:"setTime",value:function(e){this.time=Math.max(0,e);var t,n=_(this.channels.values());try{for(n.s();!(t=n.n()).done;){var i=t.value;this._setChannelTime(i,this.time)}}catch(c){n.e(c)}finally{n.f()}var r,o=_(this.animations.values());try{for(o.s();!(r=o.n()).done;){var a=r.value,s=a.animation,u=a.channel;s.setTime(this.getTime(u))}}catch(c){o.e(c)}finally{o.f()}}},{key:"play",value:function(){this.playing=!0}},{key:"pause",value:function(){this.playing=!1,this.lastEngineTime=-1}},{key:"reset",value:function(){this.setTime(0)}},{key:"attachAnimation",value:function(e,t){var n=bI++;return this.animations.set(n,{animation:e,channel:t}),e.setTime(this.getTime(t)),n}},{key:"detachAnimation",value:function(e){this.animations.delete(e)}},{key:"update",value:function(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}},{key:"_setChannelTime",value:function(e,t){var n=t-e.delay;n>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,n)%e.duration,e.time*=e.rate)}}]),e}(),wI=function(){function e(t,n,i){m(this,e),this.id=t,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(n)}return b(e,[{key:"subscribe",value:function(e){this._subscribers.add(e)}},{key:"unsubscribe",value:function(e){this._subscribers.delete(e)}},{key:"inUse",value:function(){return this._subscribers.size>0}},{key:"delete",value:function(){}},{key:"getData",value:function(){var e=this;return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(function(){return e.getData()})}},{key:"setData",value:function(e,t){var n=this;if(e!==this._data||t){this._data=e;var i=++this._loadCount,r=e;"string"==typeof e&&(r=rM(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(function(e){n._loadCount===i&&(n.isLoaded=!0,n._error=null,n._content=e)}).catch(function(e){n._loadCount===i&&(n.isLoaded=!0,n._error=e||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);var o,a=_(this._subscribers);try{for(a.s();!(o=a.n()).done;){o.value.onChange(this.getData())}}catch(s){a.e(s)}finally{a.f()}}}}]),e}(),kI=function(){function e(t){var n=t.gl,i=t.protocol;m(this,e),this.protocol=i||"resource://",this._context={gl:n,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}return b(e,[{key:"contains",value:function(e){return!!e.startsWith(this.protocol)||e in this._resources}},{key:"add",value:function(e){var t=e.resourceId,n=e.data,i=e.forceUpdate,r=void 0!==i&&i,o=e.persistent,a=void 0===o||o,s=this._resources[t];s?s.setData(n,r):(s=new wI(t,n,this._context),this._resources[t]=s),s.persistent=a}},{key:"remove",value:function(e){var t=this._resources[e];t&&(t.delete(),delete this._resources[e])}},{key:"unsubscribe",value:function(e){var t=e.consumerId,n=this._consumers[t];if(n){for(var i in n){var r=n[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[t],this.prune()}}},{key:"subscribe",value:function(e){var t=e.resourceId,n=e.onChange,i=e.consumerId,r=e.requestId,o=void 0===r?"default":r,a=this._resources,s=this.protocol;t.startsWith(s)&&(a[t=t.replace(s,"")]||this.add({resourceId:t,data:null,persistent:!1}));var u=a[t];if(this._track(i,o,u,n),u)return u.getData()}},{key:"prune",value:function(){var e=this;this._pruneRequest||(this._pruneRequest=setTimeout(function(){return e._prune()},0))}},{key:"finalize",value:function(){for(var e in this._resources)this._resources[e].delete()}},{key:"_track",value:function(e,t,n,i){var r=this._consumers,o=r[e]=r[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),n&&(o[t]=a,a.onChange=i,a.resource=n,n.subscribe(a))}},{key:"_prune",value:function(){this._pruneRequest=null;for(var e=0,t=Object.keys(this._resources);e1&&void 0!==arguments[1]?arguments[1]:{},i=n.deck,r=n.stats,o=n.viewport,a=n.timeline;m(this,e),this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new kI({gl:t,protocol:"deck://"}),this.context=I(M({},EI),{layerManager:this,gl:t,deck:i,programManager:t&&CI(t),stats:r||new nx({id:"deck.gl"}),viewport:o||new wT({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:a||new _I,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}return b(e,[{key:"finalize",value:function(){this.resourceManager.finalize();var e,t=_(this.layers);try{for(t.s();!(e=t.n()).done;){var n=e.value;this._finalizeLayer(n)}}catch(i){t.e(i)}finally{t.f()}}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);var n,i=_(this.layers);try{for(i.s();!(n=i.n()).done;){var r=n.value,o=r.getNeedsRedraw(e);t=t||o}}catch(a){i.e(a)}finally{i.f()}return t}},{key:"needsUpdate",value:function(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}},{key:"setNeedsRedraw",value:function(e){this._needsRedraw=this._needsRedraw||e}},{key:"setNeedsUpdate",value:function(e){this._needsUpdate=this._needsUpdate||e}},{key:"getLayers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.layerIds,n=void 0===t?null:t;return n?this.layers.filter(function(e){return n.find(function(t){return 0===e.id.indexOf(t)})}):this.layers}},{key:"setProps",value:function(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}},{key:"setLayers",value:function(e,t){hC("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e;var n,i=_(e=$S(e,Boolean));try{for(i.s();!(n=i.n()).done;){n.value.context=this.context}}catch(r){i.e(r)}finally{i.f()}return this._updateLayers(this.layers,e),this}},{key:"updateLayers",value:function(){var e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}},{key:"activateViewport",value:function(e){return hC("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}},{key:"_handleError",value:function(e,t,n){n.raiseError(t,"".concat(e," of ").concat(n))}},{key:"_updateLayers",value:function(e,t){var n,i={},r=_(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;i[o.id]?ik.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o}}catch(l){r.e(l)}finally{r.f()}var a=[];this._updateSublayersRecursively(t,i,a),this._finalizeOldLayers(i);for(var s=!1,u=0,c=a;u0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=t.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=t.eventManager,this._eventCallbacks={onViewStateChange:t.onViewStateChange,onInteractionStateChange:t.onInteractionStateChange},Object.seal(this),this.setProps(t)}return b(e,[{key:"finalize",value:function(){for(var e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"setNeedsUpdate",value:function(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}},{key:"updateViewStates",value:function(){for(var e in this.controllers){var t=this.controllers[e];t&&t.updateTransition()}}},{key:"getViewports",value:function(e){return e?this._viewports.filter(function(t){return t.containsPixel(e)}):this._viewports}},{key:"getViews",value:function(){var e={};return this.views.forEach(function(t){e[t.id]=t}),e}},{key:"getView",value:function(e){return"string"==typeof e?this.views.find(function(t){return t.id===e}):e}},{key:"getViewState",value:function(e){var t=this.getView(e),n=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(n):n}},{key:"getViewport",value:function(e){return this._viewportMap[e]}},{key:"unproject",value:function(e,t){for(var n=this.getViewports(),i={x:e[0],y:e[1]},r=n.length-1;r>=0;--r){var o=n[r];if(o.containsPixel(i)){var a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}},{key:"setProps",value:function(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}},{key:"_update",value:function(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}},{key:"_setSize",value:function(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}},{key:"_setViews",value:function(e){e=$S(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}},{key:"_setViewState",value:function(e){e?(!gM(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):ik.warn("missing `viewState` or `initialViewState`")()}},{key:"_onViewStateChange",value:function(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}},{key:"_createController",value:function(e,t){return new(0,t.type)(M({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:function(t){return e._getViewport(t,{width:t.width,height:t.height})}},t))}},{key:"_updateController",value:function(e,t,n,i){var r=e.controller;return r?(r=I(M(M(M({},t),e.props),r),{id:e.id,x:n.x,y:n.y,width:n.width,height:n.height}),i?i.setProps(r):i=this._createController(e,r),i):null}},{key:"_rebuildViewports",value:function(){var e=this.width,t=this.height,n=this.views,i=this.controllers;this._viewports=[],this.controllers={};for(var r=!1,o=n.length;o--;){var a=n[o],s=this.getViewState(a),u=a.makeViewport({width:e,height:t,viewState:s}),c=i[a.id];a.controller&&!c&&(r=!0),(r||!a.controller)&&c&&(c.finalize(),c=null),this.controllers[a.id]=this._updateController(a,s,u,c),this._viewports.unshift(u)}for(var l in i)i[l]&&!this.controllers[l]&&i[l].finalize();this._buildViewportMap()}},{key:"_buildViewportMap",value:function(){var e=this;this._viewportMap={},this._viewports.forEach(function(t){t.id&&(e._viewportMap[t.id]=e._viewportMap[t.id]||t)})}},{key:"_diffViews",value:function(e,t){return e.length!==t.length||e.some(function(n,i){return!e[i].equals(t[i])})}}]),e}(),AI=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=i.makeViewport,o=i.width,a=i.height,s=i.latitude,u=i.longitude,c=i.zoom,l=i.bearing,h=void 0===l?0:l,d=i.pitch,f=void 0===d?0:d,p=i.altitude,v=void 0===p?1.5:p,g=i.maxZoom,y=void 0===g?20:g,b=i.minZoom,_=void 0===b?0:b,w=i.maxPitch,k=void 0===w?60:w,x=i.minPitch,S=void 0===x?0:x,C=i.startPanLngLat,E=i.startZoomLngLat,O=i.startRotatePos,T=i.startBearing,A=i.startPitch,P=i.startZoom,M=i.normalize;return m(this,n),WS(Number.isFinite(u)),WS(Number.isFinite(s)),WS(Number.isFinite(c)),(e=t.call(this,{width:o,height:a,latitude:s,longitude:u,zoom:c,bearing:h,pitch:f,altitude:v,maxZoom:y,minZoom:_,maxPitch:k,minPitch:S,normalize:M}))._state={startPanLngLat:C,startZoomLngLat:E,startRotatePos:O,startBearing:T,startPitch:A,startZoom:P},e.makeViewport=r,e}return b(n,[{key:"panStart",value:function(e){var t=e.pos;return this._getUpdatedState({startPanLngLat:this._unproject(t)})}},{key:"pan",value:function(e){var t=e.pos,n=e.startPos,i=this._state.startPanLngLat||this._unproject(n);if(!i)return this;var r=this.makeViewport(this._viewportProps).panByPosition(i,t);return this._getUpdatedState(r)}},{key:"panEnd",value:function(){return this._getUpdatedState({startPanLngLat:null})}},{key:"rotateStart",value:function(e){var t=e.pos;return this._getUpdatedState({startRotatePos:t,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}},{key:"rotate",value:function(e){var t,n=e.pos,i=e.deltaAngleX,r=void 0===i?0:i,o=e.deltaAngleY,a=void 0===o?0:o,s=this._state,u=s.startRotatePos,c=s.startBearing,l=s.startPitch;return u&&Number.isFinite(c)&&Number.isFinite(l)?(t=n?this._calculateNewPitchAndBearing(I(M({},this._getRotationParams(n,u)),{startBearing:c,startPitch:l})):{bearing:c+r,pitch:l+a},this._getUpdatedState(t)):this}},{key:"rotateEnd",value:function(){return this._getUpdatedState({startBearing:null,startPitch:null})}},{key:"zoomStart",value:function(e){var t=e.pos;return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this._viewportProps.zoom})}},{key:"zoom",value:function(e){var t=e.pos,n=e.startPos,i=e.scale,r=this._state,o=r.startZoom,a=r.startZoomLngLat;Number.isFinite(o)||(o=this._viewportProps.zoom,a=this._unproject(n)||this._unproject(t));var s=this._calculateNewZoom({scale:i,startZoom:o}),u=this.makeViewport(I(M({},this._viewportProps),{zoom:s}));return this._getUpdatedState(M({zoom:s},u.panByPosition(a,t)))}},{key:"zoomEnd",value:function(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}},{key:"zoomIn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._zoomFromCenter(e)}},{key:"zoomOut",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;return this._zoomFromCenter(1/e)}},{key:"moveLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([e,0])}},{key:"moveRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([-e,0])}},{key:"moveUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([0,e])}},{key:"moveDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return this._panFromCenter([0,-e])}},{key:"rotateLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}},{key:"rotateRight",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15;return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}},{key:"rotateUp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}},{key:"rotateDown",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}},{key:"shortestPathFrom",value:function(e){var t=e.getViewportProps(),n=M({},this._viewportProps),i=n.bearing,r=n.longitude;return Math.abs(i-t.bearing)>180&&(n.bearing=i<0?i+360:i-360),Math.abs(r-t.longitude)>180&&(n.longitude=r<0?r+360:r-360),n}},{key:"_zoomFromCenter",value:function(e){var t=this._viewportProps,n=t.width,i=t.height;return this.zoom({pos:[n/2,i/2],scale:e})}},{key:"_panFromCenter",value:function(e){var t=this._viewportProps,n=t.width,i=t.height;return this.pan({startPos:[n/2,i/2],pos:[n/2+e[0],i/2+e[1]]})}},{key:"_getUpdatedState",value:function(e){return new this.constructor(M(M(M({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}},{key:"_applyConstraints",value:function(e){var t=e.maxZoom,n=e.minZoom,i=e.zoom;e.zoom=hS(i,n,t);var r=e.maxPitch,o=e.minPitch,a=e.pitch;e.pitch=hS(a,o,r);var s=e.normalize;return(void 0===s||s)&&Object.assign(e,function(e){var t=e.width,n=e.height,i=e.longitude,r=e.latitude,o=e.zoom,a=e.pitch,s=void 0===a?0:a,u=e.bearing,c=void 0===u?0:u;(i<-180||i>180)&&(i=ZO(i+180,360)-180),(c<-180||c>180)&&(c=ZO(c+180,360)-180);var l=eT(n/512);if(o<=l)o=l,r=0;else{var h=n/2/Math.pow(2,o),d=cT([0,h])[1];if(rf&&(r=f)}}return{width:t,height:n,longitude:i,latitude:r,zoom:o,pitch:s,bearing:c}}(e)),e}},{key:"_unproject",value:function(e){var t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}},{key:"_calculateNewZoom",value:function(e){var t=e.scale,n=e.startZoom,i=this._viewportProps,r=i.maxZoom,o=i.minZoom;return hS(n+Math.log2(t),o,r)}},{key:"_calculateNewPitchAndBearing",value:function(e){var t=e.deltaScaleX,n=e.deltaScaleY,i=e.startBearing,r=e.startPitch;n=hS(n,-1,1);var o=this._viewportProps,a=o.minPitch,s=o.maxPitch,u=r;return n>0?u=r+n*(s-r):n<0&&(u=r-n*(a-r)),{pitch:u,bearing:i+180*t}}},{key:"_getRotationParams",value:function(e,t){var n=e[0]-t[0],i=e[1]-t[1],r=e[1],o=t[1],a=this._viewportProps,s=a.width,u=a.height,c=n/s,l=0;return i>0?Math.abs(u-o)>5&&(l=i/(o-u)*1.2):i<0&&o>5&&(l=1-r/o),{deltaScaleX:c,deltaScaleY:l=Math.min(1,Math.max(-1,l))}}}]),n}(DM),PI=function(t){a(i,t);var n=s(i);function i(e){return m(this,i),e.dragMode=e.dragMode||"pan",n.call(this,AI,e)}return b(i,[{key:"setProps",value:function(t){var n=this.controllerStateProps;e(p(i.prototype),"setProps",this).call(this,t),(!n||n.height!==t.height)&&this.updateViewport(new this.ControllerState(M(M({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}},{key:"linearTransitionProps",get:function(){return["longitude","latitude","zoom","bearing","pitch"]}}]),i}(RM),MI=function(){var e=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,I(M({},e),{type:kT}))}return b(n,[{key:"controller",get:function(){return this._getControllerProps({type:PI})}}]),n}(mM);return e.displayName="MapView",e}(),II=new mI,RI=function(){function e(){m(this,e),this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}return b(e,[{key:"setProps",value:function(e){"effects"in e&&(e.effects.length!==this.effects.length||!gM(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"getEffects",value:function(){return this._internalEffects}},{key:"finalize",value:function(){this.cleanup()}},{key:"setEffects",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.cleanup(),this.effects=e,this._createInternalEffects()}},{key:"cleanup",value:function(){var e,t=_(this.effects);try{for(t.s();!(e=t.n()).done;){e.value.cleanup()}}catch(r){t.e(r)}finally{t.f()}var n,i=_(this._internalEffects);try{for(i.s();!(n=i.n()).done;){n.value.cleanup()}}catch(r){i.e(r)}finally{i.f()}this.effects.length=0,this._internalEffects.length=0}},{key:"_createInternalEffects",value:function(){this._internalEffects=this.effects.slice(),this.effects.some(function(e){return e instanceof mI})||this._internalEffects.push(II)}}]),e}(),DI=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(tI),NI={blendFunc:[1,0,32771,0],blendEquation:32774},LI=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"render",value:function(t){t.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(t)):(this.useAlpha=!1,e(p(i.prototype),"render",this).call(this,t))}},{key:"_drawPickingBuffer",value:function(t){var n=this,r=t.layers,o=t.layerFilter,a=t.views,s=t.viewports,u=t.onViewportActive,c=t.pickingFBO,l=t.deviceRect,h=l.x,d=l.y,f=l.width,v=l.height,g=t.pass,m=void 0===g?"picking":g,y=t.redrawReason,b=t.pickZ,_=this.gl;return this.pickZ=b,Hk(_,I(M({scissorTest:!0,scissor:[h,d,f,v],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},NI),{blend:!b}),function(){e(p(i.prototype),"render",n).call(n,{target:c,layers:r,layerFilter:o,views:a,viewports:s,onViewportActive:u,pass:m,redrawReason:y})})}},{key:"shouldDrawLayer",value:function(e){return e.props.pickable}},{key:"getModuleParameters",value:function(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}},{key:"getLayerParameters",value:function(e,t){var n=this.pickZ?{blend:!1}:I(M({},NI),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return M(M({},e.props.parameters),n)}}]),i}(tI),jI=function(){function e(t){m(this,e),this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new DI(t),this.pickLayersPass=new LI(t),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}return b(e,[{key:"setProps",value:function(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}},{key:"renderLayers",value:function(e){var t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||$x.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);var n=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,i=t.render(I(M({},e),{target:n}));this._postRender(e.effects,e),this.renderCount++,hC("deckRenderer.renderLayers",this,i,e)}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1},t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}},{key:"finalize",value:function(){var e,t=this.renderBuffers,n=_(t);try{for(n.s();!(e=n.n()).done;){e.value.delete()}}catch(i){n.e(i)}finally{n.f()}t.length=0}},{key:"_preRender",value:function(e,t){var n,i=null,r=_(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;o.preRender(this.gl,t),o.postRender&&(i=o)}}catch(a){r.e(a)}finally{r.f()}i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}},{key:"_resizeRenderBuffers",value:function(){var e=this.renderBuffers;0===e.length&&e.push(new $x(this.gl),new $x(this.gl));var t,n=_(e);try{for(n.s();!(t=n.n()).done;){t.value.resize()}}catch(i){n.e(i)}finally{n.f()}}},{key:"_postRender",value:function(e,t){var n,i=this.renderBuffers,r={inputBuffer:i[0],swapBuffer:i[1],target:null},o=_(e);try{for(o.s();!(n=o.n()).done;){var a=n.value;if(a.postRender){if(a===this.lastPostProcessEffect){r.target=t.target,a.postRender(this.gl,r);break}var s=a.postRender(this.gl,r);r.inputBuffer=s,r.swapBuffer=s===i[0]?i[1]:i[0]}}}catch(u){o.e(u)}finally{o.f()}}}]),e}(),FI={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function BI(e){var t=e.pickedColors,n=e.layers,i=e.deviceX,r=e.deviceY,o=e.deviceRadius,a=e.deviceRect;if(t){for(var s=a.x,u=a.y,c=a.width,l=a.height,h=o*o,d=-1,f=0,p=0;ph)f+=4*c;else for(var m=0;m=0){var y=m+s-i,b=y*y+g;b<=h&&(h=b,d=f)}f+=4}}if(d>=0){var _=t[d+3]-1,w=t.slice(d,d+4),k=n[_];if(k){var x=k.decodePickingColor(w),S=Math.floor(d/4/c);return{pickedColor:w,pickedLayer:k,pickedObjectIndex:x,pickedX:s+(d/4-S*c),pickedY:u+S}}ik.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return FI}function VI(e){var t=e.pickInfo,n=e.mode,i=e.viewports,r=e.layerFilter,o=e.pixelRatio,a=e.x,s=e.y,u=e.z,c=t&&t.pickedLayer,l=function(e,t,n){for(var i=e.length-1;i>=0;i--){var r=e[i];if(r.containsPixel(t)&&(!n||n(r)))return r}return e[0]}(i,{x:a,y:s},r&&c&&function(e){return r({layer:c,viewport:e,isPicking:!0,renderPass:"picking:".concat(n)})}),h=l&&l.unproject([a-l.x,s-l.y],{targetZ:u});return{color:null,layer:null,viewport:l,index:-1,picked:!1,x:a,y:s,pixel:[a,s],coordinate:h,devicePixel:t&&[t.pickedX,t.pickedY],pixelRatio:o}}function zI(e){var t=e.pickInfo,n=e.lastPickedInfo,i=e.mode,r=e.layers,o=t.pickedColor,a=t.pickedLayer,s=t.pickedObjectIndex,u=a?[a]:[];if("hover"===i){var c=n.index,l=n.layerId,h=a&&a.props.id;if(h!==l||s!==c){if(h!==l){var d=r.find(function(e){return e.props.id===l});d&&u.unshift(d)}n.layerId=h,n.index=s,n.info=null}}var f=VI(e),p=new Map;return p.set(null,f),u.forEach(function(e){var t=M({},f);e===a&&(t.color=o,t.index=s,t.picked=!0),t=UI({layer:e,info:t,mode:i}),e===a&&"hover"===i&&(n.info=t),p.set(t.layer.id,t),"hover"===i&&t.layer.updateAutoHighlight(t)}),p}function UI(e){for(var t=e.layer,n=e.info,i=e.mode;t&&n;){var r=n.layer||null;n.sourceLayer=r,n.layer=t,n=t.getPickingInfo({info:n,mode:i,sourceLayer:r}),t=t.parent}return n}var HI=function(){function e(t){m(this,e),this.gl=t,this.pickingFBO=null,this.pickLayersPass=new LI(t),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}return b(e,[{key:"setProps",value:function(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}},{key:"finalize",value:function(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}},{key:"pickObject",value:function(e){return this._pickClosestObject(e)}},{key:"pickObjects",value:function(e){return this._pickVisibleObjects(e)}},{key:"getLastPickedObject",value:function(e){var t=e.x,n=e.y,i=e.layers,r=e.viewports,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.lastPickedInfo.info,a=o&&o.layer&&o.layer.id,s=o&&o.viewport&&o.viewport.id,u=a?i.find(function(e){return e.id===a}):null,c=s&&r.find(function(e){return e.id===s})||r[0],l=c&&c.unproject([t-c.x,n-c.y]),h={x:t,y:n,viewport:c,coordinate:l,layer:u};return u?M(M({},o),h):Object.assign(h,{color:null,object:null,index:-1})}},{key:"_resizeBuffer",value:function(){var e=this.gl;return this.pickingFBO||(this.pickingFBO=new $x(e),$x.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new $x(e),this.depthFBO.attach({36064:new Rx(e,{format:lk(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}},{key:"_getPickable",value:function(e){if(!1===this._pickable)return null;var t=e.filter(function(e){return e.isPickable()&&!e.isComposite});return t.length>255?(ik.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}},{key:"_pickClosestObject",value:function(e){var t=e.layers,n=e.views,i=e.viewports,r=e.x,o=e.y,a=e.radius,s=void 0===a?0:a,u=e.depth,c=void 0===u?1:u,l=e.mode,h=void 0===l?"query":l,d=e.unproject3D,f=e.onViewportActive;if(!(t=this._getPickable(t)))return{result:[],emptyInfo:VI({viewports:i,x:r,y:o})};this._resizeBuffer();for(var p,v=Wk(this.gl),g=qk(this.gl,[r,o],!0),m=[g.x+Math.floor(g.width/2),g.y+Math.floor(g.height/2)],y=Math.round(s*v),b=this.pickingFBO,w=b.width,k=b.height,x=this._getPickingRect({deviceX:m[0],deviceY:m[1],deviceRadius:y,deviceWidth:w,deviceHeight:k}),S=[],C={},E=0;E=0){var a=t.slice(r,r+4),s=a.join(",");if(!i.has(s)){var u=n[o];u?i.set(s,{pickedColor:a,pickedLayer:u,pickedObjectIndex:u.decodePickingColor(a)}):ik.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(i.values())}({pickedColors:this._drawAndSample({layers:t,views:n,viewports:i,onViewportActive:p,deviceRect:{x:m,y:_,width:b.x+b.width-m,height:y-_},pass:"picking:".concat(h),redrawReason:h}),layers:t}),k=new Map,x=Number.isFinite(f),S=0;S=f);S++){var C=w[S],E={color:C.pickedColor,layer:null,index:C.pickedObjectIndex,picked:!0,x:r,y:o,width:s,height:c,pixelRatio:v};E=UI({layer:C.pickedLayer,info:E,mode:h}),k.has(E.object)||k.set(E.object,E)}return Array.from(k.values())}},{key:"_drawAndSample",value:function(e){var t=e.layers,n=e.views,i=e.viewports,r=e.onViewportActive,o=e.deviceRect,a=e.pass,s=e.redrawReason,u=e.pickZ;if(t.length<1)return null;var c=u?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:t,layerFilter:this.layerFilter,views:n,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:o,pass:a,redrawReason:s,pickZ:u});var l=o.x,h=o.y,d=o.width,f=o.height,p=new(u?Float32Array:Uint8Array)(d*f*4);return qx(c,{sourceX:l,sourceY:h,sourceWidth:d,sourceHeight:f,target:p}),p}},{key:"_getPickingRect",value:function(e){var t=e.deviceX,n=e.deviceY,i=e.deviceRadius,r=e.deviceWidth,o=e.deviceHeight,a=Math.max(0,t-i),s=Math.max(0,n-i),u=Math.min(r,t+i+1)-a,c=Math.min(o,n+i+1)-s;return u<=0||c<=0?null:{x:a,y:s,width:u,height:c}}}]),e}(),GI={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"},WI=function(){function e(t){m(this,e);var n=t.parentElement;n&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,GI),n.appendChild(this.el)),this.isVisible=!1}return b(e,[{key:"setTooltip",value:function(e,t,n){var i=this.el;if("string"==typeof e)i.innerText=e;else{if(!e)return this.isVisible=!1,void(i.style.display="none");"text"in e&&(i.innerText=e.text),"html"in e&&(i.innerHTML=e.html),"className"in e&&(i.className=e.className),Object.assign(i.style,e.style)}this.isVisible=!0,i.style.display="block",i.style.transform="translate(".concat(t,"px, ").concat(n,"px)")}},{key:"remove",value:function(){this.el&&this.el.remove()}}]),e}();function qI(e,t){if(!e)throw new Error(t)}var XI={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},YI=XI.global||XI.self||XI.window,KI="object"!=typeof process||"[object process]"!==String(process)||process.browser,$I="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),QI=($I&&parseFloat($I[1]),YI)._parseImageNode,ZI="undefined"!=typeof Image,JI="undefined"!=typeof ImageBitmap,eR=Boolean(QI),tR=!!KI||eR;function nR(e){switch(function(e){var t=function(e){return"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&e instanceof Image?"image":e&&"object"==typeof e&&e.data&&e.width&&e.height?"data":null}(e);if(!t)throw new Error("Not an image");return t}(e)){case"data":return e;case"image":case"imagebitmap":var t=document.createElement("canvas"),n=t.getContext("2d");if(!n)throw new Error("getImageData");return t.width=e.width,t.height=e.height,n.drawImage(e,0,0),n.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}var iR=/^data:image\/svg\+xml/,rR=/\.svg((\?|#).*)?$/;function oR(e){return e&&(iR.test(e)||rR.test(e))}function aR(e,t){if(oR(t)){var n=(new TextDecoder).decode(e);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(n=unescape(encodeURIComponent(n)))}catch(i){throw new Error(i.message)}return"data:image/svg+xml;base64,".concat(btoa(n))}return sR(e,t)}function sR(e,t){if(oR(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}function uR(e,t,n){return cR.apply(this,arguments)}function cR(){return(cR=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=aR(t,i),o=self.URL||self.webkitURL,a="string"!=typeof r&&o.createObjectURL(r),e.prev=1,e.next=4,lR(a||r,n);case 4:return e.abrupt("return",e.sent);case 5:return e.prev=5,a&&o.revokeObjectURL(a),e.finish(5);case 8:case"end":return e.stop()}},e,null,[[1,,5,8]])}))).apply(this,arguments)}function lR(e,t){return hR.apply(this,arguments)}function hR(){return(hR=Vx(regeneratorRuntime.mark(function e(t,n){var i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if((i=new Image).src=t,!(n.image&&n.image.decode&&i.decode)){e.next=8;break}return e.next=5,i.decode();case 5:e.t0=i,e.next=11;break;case 8:return e.next=10,new Promise(function(e,n){try{i.onload=function(){return e(i)},i.onerror=function(e){return n(new Error("Could not load image ".concat(t,": ").concat(e)))}}catch(r){n(r)}});case 10:e.t0=e.sent;case 11:return e.abrupt("return",e.t0);case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}var dR={},fR=!0;function pR(e,t,n){return vR.apply(this,arguments)}function vR(){return(vR=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!oR(i)){e.next=6;break}return e.next=3,uR(t,n,i);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=sR(t,i);case 7:return r=e.t0,o=n&&n.imagebitmap,e.next=11,gR(r,o);case 11:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}function gR(e){return mR.apply(this,arguments)}function mR(){return(mR=Vx(regeneratorRuntime.mark(function e(t){var n,i=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if((yR(n=i.length>1&&void 0!==i[1]?i[1]:null)||!fR)&&(n=null),!n){e.next=11;break}return e.prev=2,e.next=5,createImageBitmap(t,n);case 5:return e.abrupt("return",e.sent);case 8:e.prev=8,e.t0=e.catch(2),console.warn(e.t0),fR=!1;case 11:return e.next=13,createImageBitmap(t);case 13:return e.abrupt("return",e.sent);case 14:case"end":return e.stop()}},e,null,[[2,8]])}))).apply(this,arguments)}function yR(e){for(var t in e||dR)return!1;return!0}var bR=!1,_R=!0;function wR(e){var t=kR(e);return function(e){var t=kR(e);return t.byteLength>=24&&2303741511===t.getUint32(0,bR)?{mimeType:"image/png",width:t.getUint32(16,bR),height:t.getUint32(20,bR)}:null}(t)||function(e){var t=kR(e);if(!(t.byteLength>=3&&65496===t.getUint16(0,bR)&&255===t.getUint8(2)))return null;for(var n=function(){for(var e=new Set([65499,65476,65484,65501,65534]),t=65504;t<65520;++t)e.add(t);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}(),i=n.tableMarkers,r=n.sofMarkers,o=2;o+9=10&&1195984440===t.getUint32(0,bR)?{mimeType:"image/gif",width:t.getUint16(6,_R),height:t.getUint16(8,_R)}:null}(t)||function(e){var t=kR(e);return t.byteLength>=14&&16973===t.getUint16(0,bR)&&t.getUint32(2,_R)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,_R),height:t.getUint32(22,_R)}:null}(t)}function kR(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}function xR(e,t){var n=(wR(e)||{}).mimeType,i=YI._parseImageNode;return qI(i),i(e,n,t)}function SR(){return(SR=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:r=((n=n||{}).image||{}).type||"auto",o=(i||{}).url,e.t0=CR(r),e.next="imagebitmap"===e.t0?4:"image"===e.t0?8:"data"===e.t0?12:16;break;case 4:return e.next=6,pR(t,n,o);case 6:return a=e.sent,e.abrupt("break",17);case 8:return e.next=10,uR(t,n,o);case 10:return a=e.sent,e.abrupt("break",17);case 12:return e.next=14,xR(t,n);case 14:return a=e.sent,e.abrupt("break",17);case 16:qI(!1);case 17:return e.abrupt("return",("data"===r&&(a=nR(a)),a));case 18:case"end":return e.stop()}},e)}))).apply(this,arguments)}function CR(e){switch(e){case"auto":case"data":return function(){if(JI)return"imagebitmap";if(ZI)return"image";if(tR)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(e){switch(e){case"auto":return JI||ZI||tR;case"imagebitmap":return JI;case"image":return ZI;case"data":return tR;default:throw new Error("@loaders.gl/images: image ".concat(e," not supported in this environment"))}}(e),e}}var ER={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(e,t,n){return SR.apply(this,arguments)},tests:[function(e){return Boolean(wR(new DataView(e)))}],options:{image:{type:"auto",decode:!0}}},OR=r(84761),TR={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(e){var t=e[0],n=e[e.length-1];return"{"===t&&"}"===n||"["===t&&"]"===n},parseTextSync:JSON.parse},AR="8.5.8",PR=OR.CO.deck&&OR.CO.deck.VERSION;if(PR&&PR!==AR)throw new Error("deck.gl - multiple versions detected: ".concat(PR," vs ").concat(AR));PR||(ik.log(1,"deck.gl ".concat(AR))(),OR.CO.deck=Object.assign(OR.CO.deck||{},{VERSION:AR,version:AR,log:ik,_registerLoggers:function(e){lC=e}}),HP([TR,[ER,{imagebitmap:{premultiplyAlpha:"none"}}]]));var MR=OR.CO.deck,IR=function(e,t){a(i,e);var n=s(i);function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),(t=n.call(this,e,r)).target=null,t._queryPending=!1,t._pollingPromise=null,Object.seal(c(t)),t}return b(i,[{key:t,get:function(){return"Query"}},{key:"beginTimeElapsedQuery",value:function(){return this.begin(35007)}},{key:"beginOcclusionQuery",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.conservative,n=void 0!==t&&t;return this.begin(n?36202:35887)}},{key:"beginTransformFeedbackQuery",value:function(){return this.begin(35976)}},{key:"begin",value:function(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}},{key:"end",value:function(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}},{key:"isResultAvailable",value:function(){if(!this._queryPending)return!1;var e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}},{key:"isTimerDisjoint",value:function(){return this.gl2.getParameter(36795)}},{key:"getResult",value:function(){return this.gl2.getQueryParameter(this.handle,34918)}},{key:"getTimerMilliseconds",value:function(){return this.getResult()/1e6}},{key:"createPoll",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY;if(this._pollingPromise)return this._pollingPromise;var n=0;return this._pollingPromise=new Promise(function(i,r){requestAnimationFrame(function o(){e.isResultAvailable()?(i(e.getResult()),e._pollingPromise=null):n++>t?(r("Timed out"),e._pollingPromise=null):requestAnimationFrame(o)})}),this._pollingPromise}},{key:"_createHandle",value:function(){return i.isSupported(this.gl)?this.gl2.createQuery():null}},{key:"_deleteHandle",value:function(){this.gl2.deleteQuery(this.handle)}}],[{key:"isSupported",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=lk(e),r=Jx(e,"TIMER_QUERY"),o=i||r,a=_(n);try{for(a.s();!(t=a.n()).done;){var s=t.value;switch(s){case"queries":o=o&&i;break;case"timers":o=o&&r;break;default:ox(!1)}}}catch(u){a.e(u)}finally{a.f()}return o}}]),i}(px,Symbol.toStringTag),RR=Gk()&&"undefined"!=typeof document,DR=0,NR=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.onCreateContext,i=void 0===n?function(e){return Zk(e)}:n,r=t.onAddHTML,o=void 0===r?null:r,a=t.onInitialize,s=void 0===a?function(){}:a,u=t.onRender,c=void 0===u?function(){}:u,l=t.onFinalize,h=void 0===l?function(){}:l,d=t.onError,f=t.gl,p=void 0===f?null:f,v=t.glOptions,g=void 0===v?{}:v,y=t.debug,b=void 0!==y&&y,_=t.createFramebuffer,w=void 0!==_&&_,k=t.autoResizeViewport,x=void 0===k||k,S=t.autoResizeDrawingBuffer,C=void 0===S||S,E=t.stats,O=void 0===E?rx.get("animation-loop-"+DR++):E,T=t.useDevicePixels,A=void 0===T||T;"useDevicePixelRatio"in t&&(sk.deprecated("useDevicePixelRatio","useDevicePixels")(),A=t.useDevicePixelRatio),this.props={onCreateContext:i,onAddHTML:o,onInitialize:s,onRender:c,onFinalize:h,onError:d,gl:p,glOptions:g,debug:b,createFramebuffer:w},this.gl=p,this.needsRedraw=null,this.timeline=null,this.stats=O,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:x,autoResizeDrawingBuffer:C,useDevicePixels:A}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}return b(e,[{key:"delete",value:function(){this.stop(),this._setDisplay(null)}},{key:"setNeedsRedraw",value:function(e){return ox("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}},{key:"setProps",value:function(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}},{key:"start",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this._running)return this;this._running=!0;var n=this._getPageLoadPromise().then(function(){return!e._running||e._initialized?null:(e._createWebGLContext(t),e._createFramebuffer(),e._startEventHandling(),e._initializeCallbackData(),e._updateCallbackData(),e._resizeCanvasDrawingBuffer(),e._resizeViewport(),e._gpuTimeQuery=IR.isSupported(e.gl,["timers"])?new IR(e.gl):null,e._initialized=!0,e.onInitialize(e.animationProps))}).then(function(t){e._running&&(e._addCallbackData(t||{}),!1!==t&&e._startLoop())});return this.props.onError&&n.catch(this.props.onError),this}},{key:"redraw",value:function(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}},{key:"stop",value:function(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}},{key:"attachTimeline",value:function(e){return this.timeline=e,this.timeline}},{key:"detachTimeline",value:function(){this.timeline=null}},{key:"waitForRender",value:function(){var e=this;return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(function(t){e._resolveNextFrame=t})),this._nextFramePromise}},{key:"toDataURL",value:function(){var e=this;return Vx(regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e.setNeedsRedraw("toDataURL"),t.next=3,e.waitForRender();case 3:return t.abrupt("return",e.gl.canvas.toDataURL());case 4:case"end":return t.stop()}},t)}))()}},{key:"isContextLost",value:function(){return this.gl.isContextLost()}},{key:"onCreateContext",value:function(){var e;return(e=this.props).onCreateContext.apply(e,arguments)}},{key:"onInitialize",value:function(){var e;return(e=this.props).onInitialize.apply(e,arguments)}},{key:"onRender",value:function(){var e;return(e=this.props).onRender.apply(e,arguments)}},{key:"onFinalize",value:function(){var e;return(e=this.props).onFinalize.apply(e,arguments)}},{key:"getHTMLControlValue",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=document.getElementById(e);return n?Number(n.value):t}},{key:"setViewParameters",value:function(){return sk.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}},{key:"_startLoop",value:function(){var e=this;this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(function t(){!e._running||(e.redraw(),e._animationFrameId=e._requestAnimationFrame(t))})}},{key:"_getPageLoadPromise",value:function(){return this._pageLoadPromise||(this._pageLoadPromise=RR?new Promise(function(e,t){RR&&"complete"===document.readyState?e(document):window.addEventListener("load",function(){e(document)})}):Promise.resolve({})),this._pageLoadPromise}},{key:"_setDisplay",value:function(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}},{key:"_cancelAnimationFrame",value:function(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(e){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(e):clearTimeout(e)}(e)}},{key:"_requestAnimationFrame",value:function(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(e){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(e):setTimeout(e,1e3/60)}(e)}},{key:"_renderFrame",value:function(){var e;this.display?(e=this.display)._renderFrame.apply(e,arguments):this.onRender.apply(this,arguments)}},{key:"_clearNeedsRedraw",value:function(){this.needsRedraw=null}},{key:"_setupFrame",value:function(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}},{key:"_initializeCallbackData",value:function(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}},{key:"_updateCallbackData",value:function(){var e=this._getSizeAndAspect(),t=e.width,n=e.height,i=e.aspect;(t!==this.animationProps.width||n!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=t,this.animationProps.height=n,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}},{key:"_finalizeCallbackData",value:function(){this.onFinalize(this.animationProps)}},{key:"_addCallbackData",value:function(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}},{key:"_createWebGLContext",value:function(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?Jk(this.props.gl,e):this.onCreateContext(e),!ck(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(e){Uk(e,Sk)})(this.gl),this._createInfoDiv()}},{key:"_createInfoDiv",value:function(){if(this.gl.canvas&&this.props.onAddHTML){var e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";var t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);var n=this.props.onAddHTML(t);n&&(t.innerHTML=n)}}},{key:"_getSizeAndAspect",value:function(){var e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight,n=1,i=this.gl.canvas;return i&&i.clientHeight?n=i.clientWidth/i.clientHeight:e>0&&t>0&&(n=e/t),{width:e,height:t,aspect:n}}},{key:"_resizeViewport",value:function(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}},{key:"_resizeCanvasDrawingBuffer",value:function(){this.autoResizeDrawingBuffer&&function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.canvas)!function(e,t,n){var i="width"in n?n.width:e.canvas.clientWidth,r="height"in n?n.height:e.canvas.clientHeight;(!i||!r)&&(sk.log(1,"Canvas clientWidth/clientHeight is 0")(),t=1,i=e.canvas.width||1,r=e.canvas.height||1),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};var o=e.luma.canvasSizeInfo;if(o.clientWidth!==i||o.clientHeight!==r||o.devicePixelRatio!==t){var a=t,s=Math.floor(i*a),u=Math.floor(r*a);e.canvas.width=s,e.canvas.height=u,(e.drawingBufferWidth!==s||e.drawingBufferHeight!==u)&&(sk.warn("Device pixel ratio clamped")(),a=Math.min(e.drawingBufferWidth/i,e.drawingBufferHeight/r),e.canvas.width=Math.floor(i*a),e.canvas.height=Math.floor(r*a)),Object.assign(e.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:t})}}(e,function(e){var t="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(e)?e<=0?1:e:e?t:1}(t.useDevicePixels),t);else{var n=e.getExtension("STACKGL_resize_drawingbuffer");n&&"width"in t&&"height"in t&&n.resize(t.width,t.height)}}(this.gl,{useDevicePixels:this.useDevicePixels})}},{key:"_createFramebuffer",value:function(){this.props.createFramebuffer&&(this.framebuffer=new $x(this.gl))}},{key:"_resizeFramebuffer",value:function(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}},{key:"_beginTimers",value:function(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}},{key:"_endTimers",value:function(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}},{key:"_startEventHandling",value:function(){var e=this.gl.canvas;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}},{key:"_onMousemove",value:function(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}},{key:"_onMouseleave",value:function(e){this.animationProps._mousePosition=null}}]),e}(),LR=r(11524),jR=r.n(LR),FR={mousedown:1,mousemove:2,mouseup:4};(function(e){var t=e.prototype.handler;e.prototype.handler=function(e){var n=this.store;e.button>0&&"pointerdown"===e.type&&(function(t,n){for(var i=0;i=0&&(this.pressed=!0),2&t&&0===e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:"mouse",srcEvent:e}))}}(jR().MouseInput);var BR=jR().Manager,VR=jR(),zR=VR?[[VR.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[VR.Rotate,{enable:!1}],[VR.Pinch,{enable:!1}],[VR.Swipe,{enable:!1}],[VR.Pan,{threshold:0,enable:!1}],[VR.Press,{enable:!1}],[VR.Tap,{event:"doubletap",taps:2,enable:!1}],[VR.Tap,{event:"anytap",enable:!1}],[VR.Tap,{enable:!1}]]:null,UR={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},HR={doubletap:["tap"]},GR={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},WR=["keydown","keyup"],qR=["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],XR=["wheel","mousewheel"],YR={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},KR={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},$R="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",QR="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;var ZR=!1;try{var JR={get passive(){return ZR=!0,!0}};QR.addEventListener("test",JR,JR),QR.removeEventListener("test",JR,JR)}catch(G){}var eD=-1!==$R.indexOf("firefox"),tD=XR,nD=4.000244140625,iD=function(){function e(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};m(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},r),this.events=tD.concat(r.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(function(e){return t.addEventListener(e,i.handleEvent,!!ZR&&{passive:!1})})}return b(e,[{key:"destroy",value:function(){var e=this;this.events.forEach(function(t){return e.element.removeEventListener(t,e.handleEvent)})}},{key:"enableEventType",value:function(e,t){"wheel"===e&&(this.options.enable=t)}},{key:"handleEvent",value:function(e){if(this.options.enable){var t=e.deltaY;QR.WheelEvent&&(eD&&e.deltaMode===QR.WheelEvent.DOM_DELTA_PIXEL&&(t/=QR.devicePixelRatio),e.deltaMode===QR.WheelEvent.DOM_DELTA_LINE&&(t*=40));var n={x:e.clientX,y:e.clientY};0!==t&&t%nD==0&&(t=Math.floor(t/nD)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,n)}}},{key:"_onWheel",value:function(e,t,n){this.callback({type:"wheel",center:n,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}]),e}(),rD=qR,oD="pointermove",aD="pointerover",sD="pointerout",uD="pointerleave",cD=function(){function e(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};m(this,e),this.element=t,this.callback=n,this.pressed=!1,this.options=Object.assign({enable:!0},r),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=rD.concat(r.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(function(e){return t.addEventListener(e,i.handleEvent)})}return b(e,[{key:"destroy",value:function(){var e=this;this.events.forEach(function(t){return e.element.removeEventListener(t,e.handleEvent)})}},{key:"enableEventType",value:function(e,t){e===oD&&(this.enableMoveEvent=t),e===aD&&(this.enableOverEvent=t),e===sD&&(this.enableOutEvent=t),e===uD&&(this.enableLeaveEvent=t)}},{key:"handleEvent",value:function(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}},{key:"handleOverEvent",value:function(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:aD,srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleOutEvent",value:function(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:sD,srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleLeaveEvent",value:function(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:uD,srcEvent:e,pointerType:"mouse",target:e.target})}},{key:"handleMoveEvent",value:function(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:oD,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}]),e}(),lD=WR,hD="keydown",dD=function(){function e(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};m(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},r),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=lD.concat(r.events||[]),this.handleEvent=this.handleEvent.bind(this),t.tabIndex=r.tabIndex||0,t.style.outline="none",this.events.forEach(function(e){return t.addEventListener(e,i.handleEvent)})}return b(e,[{key:"destroy",value:function(){var e=this;this.events.forEach(function(t){return e.element.removeEventListener(t,e.handleEvent)})}},{key:"enableEventType",value:function(e,t){e===hD&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}},{key:"handleEvent",value:function(e){var t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:hD,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}]),e}(),fD="contextmenu",pD=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};m(this,e),this.element=t,this.callback=n,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),t.addEventListener("contextmenu",this.handleEvent)}return b(e,[{key:"destroy",value:function(){this.element.removeEventListener("contextmenu",this.handleEvent)}},{key:"enableEventType",value:function(e,t){e===fD&&(this.options.enable=t)}},{key:"handleEvent",value:function(e){!this.options.enable||this.callback({type:fD,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}]),e}(),vD={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},gD={srcElement:"root",priority:0},mD=function(){function e(t){m(this,e),this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}return b(e,[{key:"isEmpty",value:function(){return!this._active}},{key:"add",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=this.handlers,a=this.handlersByElement;n&&("object"!=typeof n||n.addEventListener)&&(n={srcElement:n}),n=n?Object.assign({},gD,n):gD;var s=a.get(n.srcElement);s||(s=[],a.set(n.srcElement,s));var u={type:e,handler:t,srcElement:n.srcElement,priority:n.priority};i&&(u.once=!0),r&&(u.passive=!0),o.push(u),this._active=this._active||!u.passive;for(var c=s.length-1;c>=0&&!(s[c].priority>=u.priority);)c--;s.splice(c+1,0,u)}},{key:"remove",value:function(e,t){for(var n=this.handlers,i=this.handlersByElement,r=n.length-1;r>=0;r--){var o=n[r];if(o.type===e&&o.handler===t){n.splice(r,1);var a=i.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&i.delete(o.srcElement)}}this._active=n.some(function(e){return!e.passive})}},{key:"handleEvent",value:function(e){if(!this.isEmpty()){for(var t=this._normalizeEvent(e),n=e.srcEvent.target;n&&n!==t.rootElement;){if(this._emit(t,n),t.handled)return;n=n.parentNode}this._emit(t,"root")}}},{key:"_emit",value:function(e,t){var n=this.handlersByElement.get(t);if(n){for(var i=!1,r=function(){e.handled=!0},o=function(){e.handled=!0,i=!0},a=[],s=0;s0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.options=Object.assign({},yD,n),this.events=new Map,this._onBasicInput=this._onBasicInput.bind(this),this._onOtherEvent=this._onOtherEvent.bind(this),this.setElement(t);var i=n.events;i&&this.on(i)}return b(e,[{key:"setElement",value:function(e){var n=this;if(this.element&&this.destroy(),this.element=e,e){var i=this.options;for(var r in this.manager=new(0,i.Manager)(e,{touchAction:i.touchAction,recognizers:i.recognizers||zR}).on("hammer.input",this._onBasicInput),i.recognizers||Object.keys(UR).forEach(function(e){var t=n.manager.get(e);t&&UR[e].forEach(function(e){t.recognizeWith(e)})}),i.recognizerOptions){var o=this.manager.get(r);if(o){var a=i.recognizerOptions[r];delete a.enable,o.set(a)}}this.wheelInput=new iD(e,this._onOtherEvent,{enable:!1}),this.moveInput=new cD(e,this._onOtherEvent,{enable:!1}),this.keyInput=new dD(e,this._onOtherEvent,{enable:!1,tabIndex:i.tabIndex}),this.contextmenuInput=new pD(e,this._onOtherEvent,{enable:!1});var s,u=_(this.events);try{for(u.s();!(s=u.n()).done;){var c=t(s.value,2),l=c[0],h=c[1];h.isEmpty()||(this._toggleRecognizer(h.recognizerName,!0),this.manager.on(l,h.handleEvent))}}catch(d){u.e(d)}finally{u.f()}}}},{key:"destroy",value:function(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}},{key:"on",value:function(e,t,n){this._addEventHandler(e,t,n,!1)}},{key:"once",value:function(e,t,n){this._addEventHandler(e,t,n,!0)}},{key:"watch",value:function(e,t,n){this._addEventHandler(e,t,n,!1,!0)}},{key:"off",value:function(e,t){this._removeEventHandler(e,t)}},{key:"_toggleRecognizer",value:function(e,t){var n=this.manager;if(n){var i=n.get(e);if(i&&i.options.enable!==t){i.set({enable:t});var r=HR[e];r&&!this.options.recognizers&&r.forEach(function(r){var o=n.get(r);t?(o.requireFailure(e),i.dropRequireFailure(r)):o.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}}},{key:"_addEventHandler",value:function(e,t,n,i,r){if("string"==typeof e){var o=this.manager,a=this.events,s=KR[e]||e,u=a.get(s);u||(u=new mD(this),a.set(s,u),u.recognizerName=YR[s]||s,o&&o.on(s,u.handleEvent)),u.add(e,t,n,i,r),u.isEmpty()||this._toggleRecognizer(u.recognizerName,!0)}else for(var c in n=t,e)this._addEventHandler(c,e[c],n,i,r)}},{key:"_removeEventHandler",value:function(e,t){if("string"==typeof e){var n=this.events,i=n.get(KR[e]||e);if(i&&(i.remove(e,t),i.isEmpty())){var r,o=i.recognizerName,a=!1,s=_(n.values());try{for(s.s();!(r=s.n()).done;){var u=r.value;if(u.recognizerName===o&&!u.isEmpty()){a=!0;break}}}catch(l){s.e(l)}finally{s.f()}a||this._toggleRecognizer(o,!1)}}else for(var c in e)this._removeEventHandler(c,e[c])}},{key:"_onBasicInput",value:function(e){var t=e.srcEvent,n=GR[t.type];n&&this.manager.emit(n,e)}},{key:"_onOtherEvent",value:function(e){this.manager.emit(e.type,e)}}]),e}();function _D(){}var wD={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:_D,onResize:_D,onViewStateChange:_D,onInteractionStateChange:_D,onBeforeRender:_D,onAfterRender:_D,onLoad:_D,onError:function(e,t){return ik.error(e)()},_onMetrics:null,getCursor:function(e){return e.isDragging?"grabbing":"grab"},debug:!1,drawPickingColors:!1},kD=function(){function e(t){m(this,e),t=M(M({},wD),t),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),t.viewState&&t.initialViewState&&ik.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,OR.qs)()&&ik.warn("IE 11 support will be deprecated in v8.0")(),t.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new nx({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&nS.setProps(t._typedArrayManagerProps),this.animationLoop.start()}return b(e,[{key:"finalize",value:function(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}},{key:"setProps",value:function(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&ik.removed("onLayerHover","onHover")(),"onLayerClick"in e&&ik.removed("onLayerClick","onClick")(),e.initialViewState&&!gM(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);var t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}},{key:"needsRedraw",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{clearRedrawFlags:!1};if(this.props._animate)return"Deck._animate";var t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);var n=this.viewManager.needsRedraw(e),i=this.layerManager.needsRedraw(e),r=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||n||i||r||o}},{key:"redraw",value:function(e){if(this.layerManager){var t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}}},{key:"getViews",value:function(){return this.viewManager.views}},{key:"getViewports",value:function(e){return this.viewManager.getViewports(e)}},{key:"pickObject",value:function(e){var t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}},{key:"pickMultipleObjects",value:function(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}},{key:"pickObjects",value:function(e){return this._pick("pickObjects","pickObjects Time",e)}},{key:"_addResources",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(var n in e)this.layerManager.resourceManager.add({resourceId:n,data:e[n],forceUpdate:t})}},{key:"_removeResources",value:function(e){var t,n=_(e);try{for(n.s();!(t=n.n()).done;){var i=t.value;this.layerManager.resourceManager.remove(i)}}catch(r){n.e(r)}finally{n.f()}}},{key:"_pick",value:function(e,t,n){var i=this.stats;i.get("Pick Count").incrementCount(),i.get(t).timeStart();var r=this.deckPicker[e](M({layers:this.layerManager.getLayers(n),views:this.viewManager.getViews(),viewports:this.getViewports(n),onViewportActive:this.layerManager.activateViewport},n));return i.get(t).timeEnd(),r}},{key:"_createCanvas",value:function(e){var t=e.canvas;return"string"==typeof t&&WS(t=document.getElementById(t)),t||((t=document.createElement("canvas")).id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}},{key:"_setCanvasSize",value:function(e){if(this.canvas){var t=e.width,n=e.height;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(n||0===n)&&(n=Number.isFinite(n)?"".concat(n,"px"):n,this.canvas.style.position="absolute",this.canvas.style.height=n)}}},{key:"_updateCanvasSize",value:function(){if(this._checkForCanvasSizeChange()){var e=this.width,t=this.height;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}},{key:"_checkForCanvasSizeChange",value:function(){var e=this.canvas;if(!e)return!1;var t=e.clientWidth||e.width,n=e.clientHeight||e.height;return(t!==this.width||n!==this.height)&&(this.width=t,this.height=n,!0)}},{key:"_createAnimationLoop",value:function(e){var t=this,n=e.width,i=e.height,r=e.gl,o=e.glOptions,a=e.debug,s=e.onError,u=e.onBeforeRender,c=e.onAfterRender,l=e.useDevicePixels,h=e.autoResizeDrawingBuffer;return new NR({width:n,height:i,useDevicePixels:l,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:function(e){return Zk(I(M(M({},o),e),{canvas:t.canvas,debug:a,onContextLost:function(){return t._onContextLost()}}))},onInitialize:function(e){return t._setGLContext(e.gl)},onRender:this._onRenderFrame.bind(this),onBeforeRender:u,onAfterRender:c,onError:s})}},{key:"_getViewState",value:function(){return this.props.viewState||this.viewState}},{key:"_getViews",value:function(){var e=this.props.views||[new MI({id:"default-view"})];return(e=Array.isArray(e)?e:[e]).length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}},{key:"_onContextLost",value:function(){var e=this.props.onError;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}},{key:"_onPointerMove",value:function(e){var t=this._pickRequest;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;var n=e.offsetCenter;if(!n)return;t.x=n.x,t.y=n.y,t.radius=this.props.pickingRadius}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}},{key:"_pickAndCallback",value:function(){var e=this._pickRequest;if(e.event){var t=this._pick("pickObject","pickObject Time",e),n=t.result,i=t.emptyInfo;this.interactiveState.isHovering=n.length>0;var r,o=i,a=!1,s=_(n);try{for(s.s();!(r=s.n()).done;){var u=r.value;o=u,a=u.layer.onHover(u,e.event)}}catch(l){s.e(l)}finally{s.f()}if(!a&&this.props.onHover&&this.props.onHover(o,e.event),this.props.getTooltip){var c=this.props.getTooltip(o);this.tooltip.setTooltip(c,o.x,o.y)}e.event=null}}},{key:"_updateCursor",value:function(){var e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}},{key:"_setGLContext",value:function(e){if(!this.layerManager){this.canvas||(this.canvas=e.canvas,Jk(e,{enable:!0,copyState:!0})),this.tooltip=new WI(this.canvas),Uk(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);var t=new _I;for(var n in t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new bD(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}}),ak)this.eventManager.on(n,this._onEvent);this.viewManager=new TI({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});var i=this.viewManager.getViewports()[0];this.layerManager=new OI(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new RI,this.deckRenderer=new jI(e),this.deckPicker=new HI(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}}},{key:"_drawLayers",value:function(e,t){var n=this.layerManager.context.gl;Uk(n,this.props.parameters),this.props.onBeforeRender({gl:n}),this.deckRenderer.renderLayers(M({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:n})}},{key:"_onRenderFrame",value:function(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),ik.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}},{key:"_onViewStateChange",value:function(e){var t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=I(M({},this.viewState),o({},e.viewId,t)),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}},{key:"_onInteractionStateChange",value:function(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}},{key:"_onEvent",value:function(e){var t=ak[e.type],n=e.offsetCenter;if(t&&n){var i=this.layerManager.getLayers(),r=this.deckPicker.getLastPickedObject({x:n.x,y:n.y,layers:i,viewports:this.getViewports(n)},this._lastPointerDownInfo),o=r.layer,a=o&&(o[t.handler]||o.props[t.handler]),s=this.props[t.handler],u=!1;a&&(u=a.call(o,r,e)),!u&&s&&s(r,e)}}},{key:"_onPointerDown",value:function(e){var t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}},{key:"_getFrameStats",value:function(){var e=this.stats;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();var t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}},{key:"_getMetrics",value:function(){var e=this.metrics,t=this.stats;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();var n=rx.get("Memory Usage");e.bufferMemory=n.get("Buffer Memory").count,e.textureMemory=n.get("Texture Memory").count,e.renderbufferMemory=n.get("Renderbuffer Memory").count,e.gpuMemory=n.get("GPU Memory").count}}]),e}();kD.getPropTypes=function(e){return{id:e.string,width:e.oneOfType([e.number,e.string]),height:e.oneOfType([e.number,e.string]),layers:e.oneOfType([e.object,e.array]),layerFilter:e.func,views:e.oneOfType([e.object,e.array]),viewState:e.object,effects:e.arrayOf(e.instanceOf(eI)),controller:e.oneOfType([e.func,e.bool,e.object]),gl:e.object,glOptions:e.object,parameters:e.object,pickingRadius:e.number,useDevicePixels:e.oneOfType([e.bool,e.number]),touchAction:e.string,eventRecognizerOptions:e.object,onWebGLInitialized:e.func,onResize:e.func,onViewStateChange:e.func,onInteractionStateChange:e.func,onBeforeRender:e.func,onAfterRender:e.func,onLoad:e.func,onError:e.func,debug:e.bool,drawPickingColors:e.bool,_framebuffer:e.object,_animate:e.bool,_pickable:e.bool,_typedArrayManagerProps:e.object}},kD.defaultProps=wD,kD.VERSION=MR.VERSION;var xD={name:"project32",dependencies:[uI],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},SD={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},CD=M({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:SD,t={};if(void 0!==e.pickingSelectedColor)if(e.pickingSelectedColor){var n=e.pickingSelectedColor.slice(0,3);t.picking_uSelectedColorValid=1,t.picking_uSelectedColor=n}else t.picking_uSelectedColorValid=0;if(e.pickingHighlightColor){var i=Array.from(e.pickingHighlightColor,function(e){return e/255});Number.isFinite(i[3])||(i[3]=1),t.picking_uHighlightColor=i}return void 0!==e.pickingActive&&(t.picking_uActive=Boolean(e.pickingActive),t.picking_uAttribute=Boolean(e.pickingAttribute)),t}}),ED={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},OD=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id,i=void 0===n?cx("geometry"):n,r=t.drawMode,o=void 0===r?ED.TRIANGLES:r,a=t.attributes,s=void 0===a?{}:a,u=t.indices,c=void 0===u?null:u,l=t.vertexCount,h=void 0===l?null:l;this.id=i,this.drawMode=0|o,this.attributes={},this.userData={},this._setAttributes(s,c),this.vertexCount=h||this._calculateVertexCount(this.attributes,this.indices)}return b(e,[{key:"mode",get:function(){return this.drawMode}},{key:"getVertexCount",value:function(){return this.vertexCount}},{key:"getAttributes",value:function(){return this.indices?M({indices:this.indices},this.attributes):this.attributes}},{key:"_print",value:function(e){return"Geometry ".concat(this.id," attribute ").concat(e)}},{key:"_setAttributes",value:function(e,t){for(var n in t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t),e){var i=e[n];i=ArrayBuffer.isView(i)?{value:i}:i,ox(ArrayBuffer.isView(i.value),"".concat(this._print(n),": must be typed array or object with value as typed array")),("POSITION"===n||"positions"===n)&&!i.size&&(i.size=3),"indices"===n?(ox(!this.indices),this.indices=i):this.attributes[n]=i}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}},{key:"_calculateVertexCount",value:function(e,t){if(t)return t.value.length;var n=1/0;for(var i in e){var r=e[i],o=r.value,a=r.size;!r.constant&&o&&a>=1&&(n=Math.min(n,o.length/a))}return ox(Number.isFinite(n)),n}}],[{key:"DRAW_MODE",get:function(){return ED}}]),e}(),TD=function(){},AD={10241:9987,10240:9729,10242:33071,10243:33071};function PD(e){return Math.pow(2,Math.ceil(Math.log2(e)))}function MD(e){return e&&(e.id||e.url)}function ID(e,t,n){for(var i=0;i0){var n=function(e){for(var t=e.icons,n=e.buffer,i=e.mapping,r=void 0===i?{}:i,o=e.xOffset,a=void 0===o?0:o,s=e.yOffset,u=void 0===s?0:s,c=e.rowHeight,l=void 0===c?0:c,h=e.canvasWidth,d=[],f=0;fh&&(ID(r,d,u),a=0,u=l+u+n,l=0,d=[]),d.push({icon:p,xOffset:a}),a=a+g+n,l=Math.max(l,v)}}return d.length>0&&ID(r,d,u),{mapping:r,rowHeight:l,xOffset:a,yOffset:u,canvasWidth:h,canvasHeight:PD(l+u+n)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset}),i=n.mapping,r=n.xOffset,o=n.yOffset,a=n.rowHeight,s=n.canvasHeight;this._rowHeight=a,this._mapping=i,this._xOffset=r,this._yOffset=o,this._canvasHeight=s,this._texture||(this._texture=new Rx(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:AD})),this._texture.height!==this._canvasHeight&&(this._texture=function(e,t,n,i){var r=t.width,o=t.height,a=Gx(t,{width:n,height:i});return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=n.sourceX,r=void 0===i?0:i,o=n.sourceY,a=void 0===o?0:o,s=n.targetMipmaplevel,u=void 0===s?0:s,c=n.targetInternalFormat,l=void 0===c?6408:c,h=n.targetX,d=n.targetY,f=n.targetZ,p=n.width,v=n.height,g=Yx(e),m=g.framebuffer,y=g.deleteFramebuffer;ox(m);var b=m.gl,_=m.handle,w=void 0!==h||void 0!==d||void 0!==f;h=h||0,d=d||0,f=f||0;var k=b.bindFramebuffer(36160,_);ox(t);var x=null;if(t instanceof Mx&&(x=t,p=Number.isFinite(p)?p:x.width,v=Number.isFinite(v)?v:x.height,x.bind(0),t=x.target),w)switch(t){case 3553:case 34067:b.copyTexSubImage2D(t,u,h,d,r,a,p,v);break;case 35866:case 32879:dk(b).copyTexSubImage3D(t,u,h,d,f,r,a,p,v)}else b.copyTexImage2D(t,u,l,r,a,p,v,0);x&&x.unbind(),b.bindFramebuffer(36160,k||null),y&&m.delete()}(t,a,{targetY:0,width:r,height:o}),t.delete(),a}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}},{key:"_loadIcons",value:function(e){var t,n=this,i=this._canvas.getContext("2d"),r=_(e);try{var o=function(){var e=t.value;n._pendingCount++,rM(e.url,ER,n._loadOptions).then(function(t){var r=MD(e),o=n._mapping[r],a=o.x,s=o.y,u=o.width,c=o.height,l=function(e,t,n,i){return n===t.width&&i===t.height?t:(e.canvas.height=i,e.canvas.width=n,e.clearRect(0,0,e.canvas.width,e.canvas.height),e.drawImage(t,0,0,t.width,t.height,0,0,n,i),e.canvas)}(i,t,u,c);n._texture.setSubImageData({data:l,x:a,y:s,width:u,height:c}),n._texture.generateMipmap(),n.onUpdate()}).catch(function(t){n.onError({url:e.url,source:e.source,sourceIndex:e.sourceIndex,loadOptions:n._loadOptions,error:t})}).finally(function(){n._pendingCount--})};for(r.s();!(t=r.n()).done;)o()}catch(a){r.e(a)}finally{r.f()}}}]),e}(),DD=[0,0,0,255],ND={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:function(e){return e.position}},getIcon:{type:"accessor",value:function(e){return e.icon}},getColor:{type:"accessor",value:DD},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}},LD=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){return e(p(i.prototype),"getShaders",this).call(this,{vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[xD,CD]})}},{key:"initializeState",value:function(){this.state={iconManager:new RD(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:DD},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}},{key:"updateState",value:function(t){var n=t.oldProps,r=t.props,o=t.changeFlags;e(p(i.prototype),"updateState",this).call(this,{props:r,oldProps:n,changeFlags:o});var a=this.getAttributeManager(),s=r.iconAtlas,u=r.iconMapping,c=r.data,l=r.getIcon,h=this.state.iconManager;h.setProps({loadOptions:r.loadOptions});var d=!1;if(s||this.internalState.isAsyncPropLoading("iconAtlas")?(n.iconAtlas!==r.iconAtlas&&h.setProps({iconAtlas:s,autoPacking:!1}),n.iconMapping!==r.iconMapping&&(h.setProps({iconMapping:u}),d=!0)):h.setProps({autoPacking:!0}),(o.dataChanged||o.updateTriggersChanged&&(o.updateTriggersChanged.all||o.updateTriggersChanged.getIcon))&&h.setProps({data:c,getIcon:l}),d&&(a.invalidate("instanceOffsets"),a.invalidate("instanceIconFrames"),a.invalidate("instanceColorModes")),o.extensionsChanged){var f,v=this.context.gl;null===(f=this.state.model)||void 0===f||f.delete(),this.state.model=this._getModel(v),a.invalidateAll()}}},{key:"isLoaded",get:function(){return e(p(i.prototype),"isLoaded",this)&&this.state.iconManager.isLoaded}},{key:"finalizeState",value:function(){e(p(i.prototype),"finalizeState",this).call(this),this.state.iconManager.finalize()}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,i=n.sizeScale,r=n.sizeMinPixels,o=n.sizeMaxPixels,a=n.sizeUnits,s=n.billboard,u=n.alphaCutoff,c=this.state.iconManager,l=this.context.viewport,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===a?l.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:o,billboard:s,alphaCutoff:u}).draw()}},{key:"_getModel",value:function(e){return new nO(e,I(M({},this.getShaders()),{id:this.props.id,geometry:new OD({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}},{key:"_onUpdate",value:function(){this.setNeedsRedraw()}},{key:"_onError",value:function(e){var t=this.getCurrentLayer().props.onIconError;t?t(e):ik.error(e.error)()}},{key:"getInstanceOffset",value:function(e){var t=this.state.iconManager.getIconMapping(e);return[t.width/2-t.anchorX||0,t.height/2-t.anchorY||0]}},{key:"getInstanceColorMode",value:function(e){return this.state.iconManager.getIconMapping(e).mask?1:0}},{key:"getInstanceIconFrame",value:function(e){var t=this.state.iconManager.getIconMapping(e);return[t.x||0,t.y||0,t.width||0,t.height||0]}}]),i}(hM);return t.layerName="IconLayer",t.defaultProps=ND,t}(),jD=[],FD={getIconOffsets:{type:"accessor",value:function(e){return e.offsets}},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}},BD=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){return I(M({},e(p(i.prototype),"getShaders",this).call(this)),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}},{key:"initializeState",value:function(){var t=this;e(p(i.prototype),"initializeState",this).call(this),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:function(e,n){var i=n.index,r=n.target;return t.encodePickingColor(i,r)}}})}},{key:"updateState",value:function(t){e(p(i.prototype),"updateState",this).call(this,t);var n=t.props,r=t.oldProps,o=n.outlineColor;o!==r.outlineColor&&((o=o.map(function(e){return e/255}))[3]=Number.isFinite(o[3])?o[3]:1,this.setState({outlineColor:o})),!n.sdf&&n.outlineWidth&&ik.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}},{key:"draw",value:function(t){var n=this.props,r=n.sdf,o=n.smoothing,a=n.outlineWidth,s=this.state.outlineColor;t.uniforms=I(M({},t.uniforms),{buffer:.75,outlineBuffer:a?Math.max(o,.75*(1-a)):-1,gamma:o,sdf:Boolean(r),outlineColor:s}),e(p(i.prototype),"draw",this).call(this,t)}},{key:"getInstanceOffset",value:function(t){var n=this;return t?Array.from(t).map(function(t){return e(p(i.prototype),"getInstanceOffset",n).call(n,t)}):jD}},{key:"getInstanceColorMode",value:function(e){return 1}},{key:"getInstanceIconFrame",value:function(t){var n=this;return t?Array.from(t).map(function(t){return e(p(i.prototype),"getInstanceIconFrame",n).call(n,t)}):jD}}]),i}(LD);return t.layerName="MultiIconLayer",t.defaultProps=FD,t}(),VD=r(51002),zD=r.n(VD),UD=[];function HD(e){return Math.pow(2,Math.ceil(Math.log2(e)))}function GD(e,t,n,i){for(var r=0,o=t;oi&&(a4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5?arguments[5]:void 0;void 0===o&&(o=e.length);var a=[];return"break-all"===t?WD(e,r,o,n,i,a):function(e,t,n,i,r,o){for(var a=t,s=t,u=t,c=0,l=t;ls){var h=GD(e,s,u,r);c+h>i&&(ai&&(h=WD(e,s,u,i,r,o),a=o[o.length-1])),s=u,c+=h}}(e,r,o,n,i,a),a}function XD(e,t,n,i,r,o){for(var a=0,s=0,u=t;u0,l=[0,0],h=[],d=0,f=0,p=0,v=0;v<=o;v++){var g=e[v];if(("\n"===g||v===o)&&(p=v),p>f){for(var m=c?qD(e,n,i,r,f,p):UD,y=0;y<=m.length;y++){var b=0===y?f:m[y-1],_=y0&&void 0!==arguments[0]?arguments[0]:5;m(this,e),this.limit=t,this.clear()}return b(e,[{key:"clear",value:function(){this._cache={},this._order=[]}},{key:"get",value:function(e){var t=this._cache[e];return t&&(this._deleteOrder(e),this._appendOrder(e)),t}},{key:"set",value:function(e,t){this._cache[e]?(this.delete(e),this._cache[e]=t,this._appendOrder(e)):(Object.keys(this._cache).length===this.limit&&this.delete(this._order[0]),this._cache[e]=t,this._appendOrder(e))}},{key:"delete",value:function(e){this._cache[e]&&(this._deleteCache(e),this._deleteOrder(e))}},{key:"_deleteCache",value:function(e){delete this._cache[e]}},{key:"_deleteOrder",value:function(e){var t=this._order.findIndex(function(t){return t===e});t>=0&&this._order.splice(t,1)}},{key:"_appendOrder",value:function(e){this._order.push(e)}}]),e}())(3),ZD=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function JD(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};ZD.forEach(function(n){n in t&&(e.props[n]=t[n])});var n=this._key;this._key=this._getKey();var i=function(e,t){var n=QD.get(e);if(!n)return t;var i=[],r=Object.keys(n.mapping);r=new Set(r);var o=t;return o instanceof Array&&(o=new Set(o)),o.forEach(function(e){r.has(e)||i.push(e)}),i}(this._key,this.props.characterSet),r=QD.get(this._key);if(r&&0===i.length)this._key!==n&&(this._atlas=r);else{var o=this._generateFontAtlas(this._key,i,r);this._atlas=o,QD.set(this._key,o)}}},{key:"_generateFontAtlas",value:function(e,t,n){var i=this.props,r=i.fontFamily,o=i.fontWeight,a=i.fontSize,s=i.buffer,u=i.sdf,c=i.radius,l=i.cutoff,h=n&&n.data;h||((h=document.createElement("canvas")).width=1024);var d=h.getContext("2d");eN(d,r,a,o);var f=function(e){var t,n=e.characterSet,i=e.getFontWidth,r=e.fontHeight,o=e.buffer,a=e.maxCanvasWidth,s=e.mapping,u=void 0===s?{}:s,c=e.xOffset,l=void 0===c?0:c,h=e.yOffset,d=void 0===h?0:h,f=0,p=l,v=0,g=_(n);try{for(g.s();!(t=g.n()).done;){var m=t.value;if(!u[m]){var y=i(m,v++);p+y+2*o>a&&(p=0,f++),u[m]={x:p+o,y:d+f*(r+2*o)+o,width:y,height:r},p+=y+2*o}}}catch(w){g.e(w)}finally{g.f()}var b=r+2*o;return{mapping:u,xOffset:p,yOffset:d+f*b,canvasHeight:HD(d+(f+1)*b)}}(M({getFontWidth:function(e){return d.measureText(e).width},fontHeight:1.2*a,buffer:s,characterSet:t,maxCanvasWidth:1024},n&&{mapping:n.mapping,xOffset:n.xOffset,yOffset:n.yOffset})),p=f.mapping,v=f.canvasHeight,g=f.xOffset,m=f.yOffset;if(h.height!==v){var y=d.getImageData(0,0,h.width,h.height);h.height=v,d.putImageData(y,0,0)}if(eN(d,r,a,o),u){var b,w=new(zD())(a,s,c,l,r,o),k=d.getImageData(0,0,w.size,w.size),x=_(t);try{for(x.s();!(b=x.n()).done;){var S=b.value;JD(w.draw(S),k),d.putImageData(k,p[S].x-s,p[S].y+s)}}catch(T){x.e(T)}finally{x.f()}}else{var C,E=_(t);try{for(E.s();!(C=E.n()).done;){var O=C.value;d.fillText(O,p[O].x,p[O].y+.9*a)}}catch(T){E.e(T)}finally{E.f()}}return{xOffset:g,yOffset:m,mapping:p,data:h,width:h.width,height:h.height}}},{key:"_getKey",value:function(){var e=this.props,t=e.fontFamily,n=e.fontWeight,i=e.fontSize,r=e.buffer,o=e.sdf,a=e.radius,s=e.cutoff;return o?"".concat(t," ").concat(n," ").concat(i," ").concat(r," ").concat(a," ").concat(s):"".concat(t," ").concat(n," ").concat(i," ").concat(r)}}]),e}(),nN={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:function(e){return e.position}},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}},iN=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){return e(p(i.prototype),"getShaders",this).call(this,{vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[xD,CD]})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}},{key:"updateState",value:function(t){var n=t.props,r=t.oldProps,o=t.changeFlags;if(e(p(i.prototype),"updateState",this).call(this,{props:n,oldProps:r,changeFlags:o}),o.extensionsChanged){var a,s=this.context.gl;null===(a=this.state.model)||void 0===a||a.delete(),this.state.model=this._getModel(s),this.getAttributeManager().invalidateAll()}}},{key:"draw",value:function(e){var t=e.uniforms,n=this.context.viewport,i=this.props,r=i.billboard,o=i.sizeScale,a=i.sizeUnits,s=i.sizeMinPixels,u=i.sizeMaxPixels,c=i.getLineWidth,l=this.props.padding,h="pixels"===a?n.metersPerPixel:1;l.length<4&&(l=[l[0],l[1],l[0],l[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:l,sizeScale:o*h,sizeMinPixels:s,sizeMaxPixels:u}).draw()}},{key:"_getModel",value:function(e){return new nO(e,I(M({},this.getShaders()),{id:this.props.id,geometry:new OD({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}]),i}(hM);return t.layerName="TextBackgroundLayer",t.defaultProps=nN,t}(),rN={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},oN={start:1,middle:0,end:-1},aN={top:1,center:0,bottom:-1},sN=[0,0,0,255],uN=["fontSize","buffer","sdf","radius","cutoff"],cN={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:sN},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:KD},fontFamily:$D,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:sN},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:function(e){return e.text}},getPosition:{type:"accessor",value:function(e){return e.position}},getColor:{type:"accessor",value:sN},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}},lN=function(){var e=function(e){a(i,e);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"initializeState",value:function(){this.state={styleVersion:0,fontAtlasManager:new tN}}},{key:"updateState",value:function(e){var t=e.props,n=e.oldProps,i=e.changeFlags,r=this.state.characterSet;(i.dataChanged||i.updateTriggersChanged&&(i.updateTriggersChanged.all||i.updateTriggersChanged.getText))&&this._updateText();var o=r!==this.state.characterSet||this._fontChanged(n,t);o&&this._updateFontAtlas(n,t),(o||t.lineHeight!==n.lineHeight||t.wordBreak!==n.wordBreak||t.maxWidth!==n.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}},{key:"getPickingInfo",value:function(e){var t=e.info;return t.object=t.index>=0?this.props.data[t.index]:null,t}},{key:"_updateFontAtlas",value:function(e,t){var n=t.fontSettings,i=t.fontFamily,r=t.fontWeight,o=this.state,a=o.fontAtlasManager,s=o.characterSet;a.setProps(I(M(M({},rN),n),{characterSet:s,fontFamily:i,fontWeight:r}))}},{key:"_fontChanged",value:function(e,t){if(e.fontFamily!==t.fontFamily||e.fontWeight!==t.fontWeight)return!0;if(e.fontSettings===t.fontSettings)return!1;var n=e.fontSettings||{},i=t.fontSettings||{};return uN.some(function(e){return n[e]!==i[e]})}},{key:"_updateText",value:function(){var e,t=this.props,n=t.data,i=t.characterSet,r=n.attributes&&n.attributes.getText,o=this.props.getText,a=n.startIndices,s="auto"===i&&new Set;if(r&&a){var u=function(e){var t=e.value,n=e.length,i=e.stride,r=e.offset,o=e.startIndices,a=e.characterSet,s=t.BYTES_PER_ELEMENT,u=i?i/s:1,c=r?r/s:0,l=o[n]||Math.ceil((t.length-c)/u),h=a&&new Set,d=new Array(n),f=t;if(u>1||c>0){f=new t.constructor(l);for(var p=0;p0&&void 0!==arguments[0]?arguments[0]:{},t=e.color,n=void 0===t?[0,0,0]:t,i=e.intensity,r=void 0===i?1:i;return n.map(function(e){return e*r/255})}var pN={name:"lights",vs:hN,fs:hN,getUniforms:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:dN;if("lightSources"in t){var n=t.lightSources||{},i=n.ambientLight,r=n.pointLights,o=n.directionalLights;return i||r&&r.length>0||o&&o.length>0?Object.assign({},function(e){var t=e.ambientLight,n=e.pointLights,i=void 0===n?[]:n,r=e.directionalLights,o=void 0===r?[]:r,a={};return a["lighting_uAmbientLight.color"]=t?fN(t):[0,0,0],i.forEach(function(e,t){a["lighting_uPointLight[".concat(t,"].color")]=fN(e),a["lighting_uPointLight[".concat(t,"].position")]=e.position,a["lighting_uPointLight[".concat(t,"].attenuation")]=e.attenuation||[1,0,0]}),a.lighting_uPointLightCount=i.length,o.forEach(function(e,t){a["lighting_uDirectionalLight[".concat(t,"].color")]=fN(e),a["lighting_uDirectionalLight[".concat(t,"].direction")]=e.direction}),a.lighting_uDirectionalLightCount=o.length,a}({ambientLight:i,pointLights:r,directionalLights:o}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in t){var a,s={pointLights:[],directionalLights:[]},u=_(t.lights||[]);try{for(u.s();!(a=u.n()).done;){var c=a.value;switch(c.type){case"ambient":s.ambientLight=c;break;case"directional":s.directionalLights.push(c);break;case"point":s.pointLights.push(c)}}}catch(l){u.e(l)}finally{u.f()}return e({lightSources:s})}return{}},defines:{MAX_LIGHTS:3}},vN={},gN={name:"phong-lighting",dependencies:[pN],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:vN;if(!("material"in e))return{};var t=e.material;return t?function(e){var t=e.ambient,n=void 0===t?.35:t,i=e.diffuse,r=void 0===i?.6:i,o=e.shininess,a=void 0===o?32:o,s=e.specularColor;return{lighting_uAmbient:n,lighting_uDiffuse:r,lighting_uShininess:a,lighting_uSpecularColor:(void 0===s?[30,30,30]:s).map(function(e){return e/255})}}(t):{lighting_uEnabled:!1}}},mN=Math.PI/180,yN=new Float32Array(16),bN=new Float32Array(12);function _N(e,t,n){var i=t[0]*mN,r=t[1]*mN,o=t[2]*mN,a=Math.sin(o),s=Math.sin(i),u=Math.sin(r),c=Math.cos(o),l=Math.cos(i),h=Math.cos(r),d=n[0],f=n[1],p=n[2];e[0]=d*h*l,e[1]=d*u*l,e[2]=d*-s,e[3]=f*(-u*c+h*s*a),e[4]=f*(h*c+u*s*a),e[5]=f*l*a,e[6]=p*(u*a+h*s*c),e[7]=p*(-h*a+u*s*c),e[8]=p*l*c}function wN(e){return e[0]=e[0],e[1]=e[1],e[2]=e[2],e[3]=e[4],e[4]=e[5],e[5]=e[6],e[6]=e[8],e[7]=e[9],e[8]=e[10],e[9]=e[12],e[10]=e[13],e[11]=e[14],e.subarray(0,12)}var kN={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update:function(e,t){var n=t.startRow,i=t.endRow,r=this.props,o=r.data,a=r.getOrientation,s=r.getScale,u=r.getTranslation,c=r.getTransformMatrix,l=Array.isArray(c),h=l&&16===c.length,d=Array.isArray(s),f=Array.isArray(a),p=Array.isArray(u),v=h||!l&&Boolean(c(o[0]));e.constant=v?h:f&&d&&p;var g=e.value;if(e.constant){var m;v?(yN.set(c),m=wN(yN)):(_N(m=bN,a,s),m.set(u,9)),e.value=new Float32Array(m)}else{var y,b=n*e.size,w=YS(o,n,i),k=w.iterable,x=w.objectInfo,S=_(k);try{for(S.s();!(y=S.n()).done;){var C=y.value,E=void 0;x.index++,v?(yN.set(h?c:c(C,x)),E=wN(yN)):(_N(E=bN,f?a:a(C,x),d?s:s(C,x)),E.set(p?u:u(C,x),9)),g[b++]=E[0],g[b++]=E[1],g[b++]=E[2],g[b++]=E[3],g[b++]=E[4],g[b++]=E[5],g[b++]=E[6],g[b++]=E[7],g[b++]=E[8],g[b++]=E[9],g[b++]=E[10],g[b++]=E[11]}}catch(O){S.e(O)}finally{S.f()}}}};function xN(e,t){return t===rk.CARTESIAN||t===rk.METER_OFFSETS||t===rk.DEFAULT&&!e.isGeospatial}function SN(e,t){(e.COLOR_0||e.colors)&&t||(e.colors={constant:!0,value:new Float32Array([1,1,1])}),ik.assert(e.positions||e.POSITION,'no "postions" or "POSITION" attribute in mesh')}function CN(e,t){if(e.attributes)return SN(e.attributes,t),e instanceof OD?e:new OD(e);if(e.positions||e.POSITION)return SN(e,t),new OD({attributes:e});throw Error("Invalid mesh")}var EN={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:function(e){return e.position}},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}},ON=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){var t=!lk(this.context.gl),n={};return Zx(this.context.gl,"GLSL_DERIVATIVES")&&(n.DERIVATIVES_AVAILABLE=1),e(p(i.prototype),"getShaders",this).call(this,{vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[xD,gN,CD],transpileToGLSL100:t,defines:n})}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:kN}),this.setState({emptyTexture:new Rx(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}},{key:"updateState",value:function(t){var n=t.props,r=t.oldProps,o=t.changeFlags;if(e(p(i.prototype),"updateState",this).call(this,{props:n,oldProps:r,changeFlags:o}),n.mesh!==r.mesh||o.extensionsChanged){var a;if(null===(a=this.state.model)||void 0===a||a.delete(),n.mesh){this.state.model=this.getModel(n.mesh);var s=n.mesh.attributes||n.mesh;this.setState({hasNormals:Boolean(s.NORMAL||s.normals)})}this.getAttributeManager().invalidateAll()}n.texture!==r.texture&&this.setTexture(n.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}},{key:"finalizeState",value:function(){e(p(i.prototype),"finalizeState",this).call(this),this.state.emptyTexture.delete()}},{key:"draw",value:function(e){var t=e.uniforms;if(this.state.model){var n=this.context.viewport,i=this.props,r=i.sizeScale,o=i.coordinateSystem,a=i._instanced;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!a||xN(n,o),flatShading:!this.state.hasNormals}).draw()}}},{key:"getModel",value:function(e){var t=new nO(this.context.gl,I(M({},this.getShaders()),{id:this.props.id,geometry:CN(e,this.props._useMeshColors),isInstanced:!0})),n=this.props.texture,i=this.state.emptyTexture;return t.setUniforms({sampler:n||i,hasTexture:Boolean(n)}),t}},{key:"setTexture",value:function(e){var t=this.state,n=t.emptyTexture,i=t.model;null==i||i.setUniforms({sampler:e||n,hasTexture:Boolean(e)})}}]),i}(hM);return t.layerName="SimpleMeshLayer",t.defaultProps=EN,t}(),TN={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[pN]},AN=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e);var n=t.id;this.id=n||cx(this.constructor.name),this.display=!0,this.position=new FS,this.rotation=new FS,this.scale=new FS(1,1,1),this.matrix=new $O,this.userData={},this.props={},this._setScenegraphNodeProps(t)}return b(e,[{key:"delete",value:function(){}},{key:"setProps",value:function(e){return this._setScenegraphNodeProps(e),this}},{key:"toString",value:function(){return"{type: ScenegraphNode, id: ".concat(this.id,")}")}},{key:"setPosition",value:function(e){return ox(3===e.length,"setPosition requires vector argument"),this.position=e,this}},{key:"setRotation",value:function(e){return ox(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}},{key:"setScale",value:function(e){return ox(3===e.length,"setScale requires vector argument"),this.scale=e,this}},{key:"setMatrix",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t?this.matrix.copy(e):this.matrix=e}},{key:"setMatrixComponents",value:function(e){var t=e.position,n=e.rotation,i=e.scale,r=e.update,o=void 0===r||r;return t&&this.setPosition(t),n&&this.setRotation(n),i&&this.setScale(i),o&&this.updateMatrix(),this}},{key:"updateMatrix",value:function(){var e=this.position,t=this.rotation,n=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(n),this}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.position,n=e.rotation,i=e.scale;return t&&this.setPosition(t),n&&this.setRotation(n),i&&this.setScale(i),this.updateMatrix(),this}},{key:"getCoordinateUniforms",value:function(e,t){ox(e),t=t||this.matrix;var n=new $O(e).multiplyRight(t),i=n.invert(),r=i.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:n,worldInverseMatrix:i,worldInverseTransposeMatrix:r}}},{key:"_setScenegraphNodeProps",value:function(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}]),e}(),PN=function(t){a(i,t);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,i);var r=t=Array.isArray(t)?{children:t}:t,o=r.children,a=void 0===o?[]:o;return sk.assert(a.every(function(e){return e instanceof AN}),"every child must an instance of ScenegraphNode"),(e=n.call(this,t)).children=a,e}return b(i,[{key:"add",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n-1&&t.splice(n,1),this}},{key:"removeAll",value:function(){return this.children=[],this}},{key:"delete",value:function(){this.children.forEach(function(e){return e.delete()}),this.removeAll(),e(p(i.prototype),"delete",this).call(this)}},{key:"traverse",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.worldMatrix,o=void 0===r?new $O:r,a=new $O(o).multiplyRight(this.matrix),s=_(this.children);try{for(s.s();!(t=s.n()).done;){var u=t.value;u instanceof i?u.traverse(e,{worldMatrix:a}):e(u,{worldMatrix:a})}}catch(c){s.e(c)}finally{s.f()}}}]),i}(AN);function MN(e,t,n){var i=t[0],r=t[1],o=t[2],a=t[3],s=t[4],u=t[5],c=t[6],l=t[7],h=t[8],d=n[0],f=n[1],p=n[2],v=n[3],g=n[4],m=n[5],y=n[6],b=n[7],_=n[8];return e[0]=d*i+f*a+p*c,e[1]=d*r+f*s+p*l,e[2]=d*o+f*u+p*h,e[3]=v*i+g*a+m*c,e[4]=v*r+g*s+m*l,e[5]=v*o+g*u+m*h,e[6]=y*i+b*a+_*c,e[7]=y*r+b*s+_*l,e[8]=y*o+b*u+_*h,e}function IN(e,t,n){var i=n[0],r=n[1];return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=r*t[3],e[4]=r*t[4],e[5]=r*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function RN(){var e=new kS(4);return kS!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function DN(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function NN(e,t,n){n*=.5;var i=Math.sin(n);return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=Math.cos(n),e}function LN(e,t,n){var i=t[0],r=t[1],o=t[2],a=t[3],s=n[0],u=n[1],c=n[2],l=n[3];return e[0]=i*l+a*s+r*c-o*u,e[1]=r*l+a*u+o*s-i*c,e[2]=o*l+a*c+i*u-r*s,e[3]=a*l-i*s-r*u-o*c,e}function jN(e,t,n){n*=.5;var i=t[0],r=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);return e[0]=i*u+a*s,e[1]=r*u+o*s,e[2]=o*u-r*s,e[3]=a*u-i*s,e}function FN(e,t,n){n*=.5;var i=t[0],r=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);return e[0]=i*u-o*s,e[1]=r*u+a*s,e[2]=o*u+i*s,e[3]=a*u-r*s,e}function BN(e,t,n){n*=.5;var i=t[0],r=t[1],o=t[2],a=t[3],s=Math.sin(n),u=Math.cos(n);return e[0]=i*u+r*s,e[1]=r*u-i*s,e[2]=o*u+a*s,e[3]=a*u-o*s,e}function VN(e,t){var n=t[0],i=t[1],r=t[2];return e[0]=n,e[1]=i,e[2]=r,e[3]=Math.sqrt(Math.abs(1-n*n-i*i-r*r)),e}function zN(e,t,n,i){var r,o,a,s,u,c=t[0],l=t[1],h=t[2],d=t[3],f=n[0],p=n[1],v=n[2],g=n[3];return(o=c*f+l*p+h*v+d*g)<0&&(o=-o,f=-f,p=-p,v=-v,g=-g),1-o>wS?(r=Math.acos(o),a=Math.sin(r),s=Math.sin((1-i)*r)/a,u=Math.sin(i*r)/a):(s=1-i,u=i),e[0]=s*c+u*f,e[1]=s*l+u*p,e[2]=s*h+u*v,e[3]=s*d+u*g,e}function UN(e,t){var n=t[0],i=t[1],r=t[2],o=t[3],a=n*n+i*i+r*r+o*o,s=a?1/a:0;return e[0]=-n*s,e[1]=-i*s,e[2]=-r*s,e[3]=o*s,e}function HN(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function GN(e,t){var n,i=t[0]+t[4]+t[8];if(i>0)n=Math.sqrt(i+1),e[3]=.5*n,e[0]=(t[5]-t[7])*(n=.5/n),e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{var r=0;t[4]>t[0]&&(r=1),t[8]>t[3*r+r]&&(r=2);var o=(r+1)%3,a=(r+2)%3;n=Math.sqrt(t[3*r+r]-t[3*o+o]-t[3*a+a]+1),e[r]=.5*n,e[3]=(t[3*o+a]-t[3*a+o])*(n=.5/n),e[o]=(t[3*o+r]+t[3*r+o])*n,e[a]=(t[3*a+r]+t[3*r+a])*n}return e}var WN=function(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e[3]=t[3]+n[3],e},qN=IO,XN=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]},YN=function(e,t,n,i){var r=t[0],o=t[1],a=t[2],s=t[3];return e[0]=r+i*(n[0]-r),e[1]=o+i*(n[1]-o),e[2]=a+i*(n[2]-a),e[3]=s+i*(n[3]-s),e},KN=function(e){return Math.hypot(e[0],e[1],e[2],e[3])},$N=function(e){var t=e[0],n=e[1],i=e[2],r=e[3];return t*t+n*n+i*i+r*r},QN=function(){var e=xS(),t=SS(1,0,0),n=SS(0,1,0);return function(i,r,o){var a=CS(r,o);return a<-.999999?(ES(e,t,r),function(e){return Math.hypot(e[0],e[1],e[2])}(e)<1e-6&&ES(e,n,r),function(e,t){var n=t[0],i=t[1],r=t[2],o=n*n+i*i+r*r;o>0&&(o=1/Math.sqrt(o)),e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o}(e,e),NN(i,e,Math.PI),i):a>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(ES(e,r,o),i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=1+a,function(e,t){var n=t[0],i=t[1],r=t[2],o=t[3],a=n*n+i*i+r*r+o*o;return a>0&&(a=1/Math.sqrt(a)),e[0]=n*a,e[1]=i*a,e[2]=r*a,e[3]=o*a,e}(i,i))}}();RN(),RN(),function(){var e=new kS(9);kS!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1}();var ZN=[0,0,0,1],JN=function(e){a(i,e);var n=s(i);function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return m(this,i),e=n.call(this,-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?e.copy(t):e.set(t,r,o,a),e}return b(i,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}},{key:"set",value:function(e,t,n,i){return this[0]=e,this[1]=t,this[2]=n,this[3]=i,this.check()}},{key:"fromMatrix3",value:function(e){return GN(this,e),this.check()}},{key:"identity",value:function(){return DN(this),this.check()}},{key:"fromAxisRotation",value:function(e,t){return NN(this,e,t),this.check()}},{key:"setAxisAngle",value:function(e,t){return this.fromAxisRotation(e,t)}},{key:"ELEMENTS",get:function(){return 4}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"w",get:function(){return this[3]},set:function(e){this[3]=gS(e)}},{key:"len",value:function(){return KN(this)}},{key:"lengthSquared",value:function(){return $N(this)}},{key:"dot",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return XN(this,e)}},{key:"rotationTo",value:function(e,t){return QN(this,e,t),this.check()}},{key:"add",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return WN(this,this,e),this.check()}},{key:"calculateW",value:function(){return VN(this,this),this.check()}},{key:"conjugate",value:function(){return HN(this,this),this.check()}},{key:"invert",value:function(){return UN(this,this),this.check()}},{key:"lerp",value:function(e,t,n){return YN(this,e,t,n),this.check()}},{key:"multiplyRight",value:function(e,t){return pS(!t),LN(this,this,e),this.check()}},{key:"multiplyLeft",value:function(e,t){return pS(!t),LN(this,e,this),this.check()}},{key:"normalize",value:function(){var e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}},{key:"rotateX",value:function(e){return jN(this,this,e),this.check()}},{key:"rotateY",value:function(e){return FN(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return BN(this,this,e),this.check()}},{key:"scale",value:function(e){return qN(this,this,e),this.check()}},{key:"slerp",value:function(e,n,i){var r;switch(arguments.length){case 1:var o=arguments[0],a=o.start;e=void 0===a?ZN:a,n=o.target,i=o.ratio;break;case 2:n=(r=t(arguments,2))[0],i=r[1],e=this}return zN(this,e,n,i),this.check()}},{key:"transformVector4",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return DO(t,e,this),mS(t,4)}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"setFromAxisAngle",value:function(e,t){return this.setAxisAngle(e,t)}},{key:"premultiply",value:function(e,t){return this.multiplyLeft(e,t)}},{key:"multiply",value:function(e,t){return this.multiplyRight(e,t)}}]),i}(vS),eL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},tL={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function nL(e){if(!e._animation){var t=tL[e.componentType],n=eL[e.type],i=n*e.count,r=e.bufferView.data,o=new t(r.buffer,r.byteOffset+(e.byteOffset||0),i);if(1===n)e._animation=Array.from(o);else{for(var a=[],s=0;s=s}),c=Math.max(0,u-1);if(!Array.isArray(n[i]))switch(i){case"translation":n[i]=[0,0,0];break;case"rotation":n[i]=[0,0,0,1];break;case"scale":n[i]=[1,1,1];break;default:sk.warn("Bad animation path ".concat(i))()}ox(n[i].length===a[c].length);var l=r[c],h=r[u];switch(o){case"STEP":!function(e,t,n){for(var i=0;il&&function(e,t,n,i,r){if("rotation"===t){rL.slerp({start:n,target:i,ratio:r});for(var o=0;ol&&function(e,t,n){for(var i=n.p0,r=n.outTangent0,o=n.inTangent1,a=n.p1,s=n.tDiff,u=n.ratio,c=0;c1&&void 0!==arguments[1]?arguments[1]:{};return m(this,i),(t=n.call(this,r)).onBeforeRender=null,t.AfterRender=null,e instanceof nO?(t.model=e,t._setModelNodeProps(r)):t.model=new nO(e,r),t.managedResources=r.managedResources||[],t}return b(i,[{key:"setProps",value:function(t){return e(p(i.prototype),"setProps",this).call(this,t),this._setModelNodeProps(t),this}},{key:"delete",value:function(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(function(e){return e.delete()}),this.managedResources=[]}},{key:"draw",value:function(){var e;return(e=this.model).draw.apply(e,arguments)}},{key:"setUniforms",value:function(){var e;return(e=this.model).setUniforms.apply(e,arguments),this}},{key:"setAttributes",value:function(){var e;return(e=this.model).setAttributes.apply(e,arguments),this}},{key:"updateModuleSettings",value:function(){var e;return(e=this.model).updateModuleSettings.apply(e,arguments),this}},{key:"_setModelNodeProps",value:function(e){this.model.setProps(e)}}]),i}(AN),uL=function(){function e(t,n){var i=n.attributes,r=n.material,o=n.pbrDebug,a=n.imageBasedLightingEnvironment,s=n.lights,u=n.useTangents;m(this,e),this.gl=t,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},Zx(t,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],a&&(this.uniforms.u_DiffuseEnvSampler=a.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=a.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=a.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),o&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(i.NORMAL,"HAS_NORMALS"),this.defineIfPresent(i.TANGENT&&u,"HAS_TANGENTS"),this.defineIfPresent(i.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(a,"USE_IBL"),this.defineIfPresent(s,"USE_LIGHTS"),this.defineIfPresent(o,"PBR_DEBUG"),r&&this.parseMaterial(r)}return b(e,[{key:"defineIfPresent",value:function(e,t){e&&(this.defines[t]=1)}},{key:"parseTexture",value:function(e,t){var n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=e.texture.source.image,a={};r.compressed?(n=r,a=o({},this.gl.TEXTURE_MIN_FILTER,r.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR)):n={data:r};var s=new Rx(this.gl,M({id:e.name||e.id,parameters:M(M({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:o({},this.gl.UNPACK_FLIP_Y_WEBGL,!1)},n));this.uniforms[t]=s,this.defineIfPresent(i,i),this.generatedTextures.push(s)}},{key:"parsePbrMetallicRoughness",value:function(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");var t=e.metallicFactor,n=void 0===t?1:t,i=e.roughnessFactor,r=void 0===i?1:i;this.uniforms.u_MetallicRoughnessValues=[n,r]}},{key:"parseMaterial",value:function(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");var t=e.normalTexture.scale,n=void 0===t?1:t;this.uniforms.u_NormalScale=n}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");var i=e.occlusionTexture.strength,r=void 0===i?1:i;this.uniforms.u_OcclusionStrength=r}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){var o=e.alphaCutoff,a=void 0===o?.5:o;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=a}else"BLEND"===e.alphaMode&&(sk.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}]),e}();function cL(e,t){return lk(e)?"#version 300 es\n".concat(t):t}var lL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},hL={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1},dL=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};m(this,e),this.gl=t,this.options=Object.assign({},hL,n)}return b(e,[{key:"instantiate",value:function(e){var t=this;return this.gltf=e,(e.scenes||[]).map(function(e){return t.createScene(e)})}},{key:"createAnimator",value:function(){return Array.isArray(this.gltf.animations)?new aL(this.gltf):null}},{key:"createScene",value:function(e){var t=this,n=(e.nodes||[]).map(function(e){return t.createNode(e)});return new PN({id:e.name||e.id,children:n})}},{key:"createNode",value:function(e){var t=this;if(!e._node){var n=(e.children||[]).map(function(e){return t.createNode(e)});e.mesh&&n.push(this.createMesh(e.mesh));var i=new PN({id:e.name||e.id,children:n});if(e.matrix)i.setMatrix(e.matrix);else{if(i.matrix.identity(),e.translation&&i.matrix.translate(e.translation),e.rotation){var r=(new $O).fromQuaternion(e.rotation);i.matrix.multiplyRight(r)}e.scale&&i.matrix.scale(e.scale)}e._node=i}return e._node}},{key:"createMesh",value:function(e){var t=this;if(!e._mesh){var n=(e.primitives||[]).map(function(n,i){return t.createPrimitive(n,i,e)}),i=new PN({id:e.name||e.id,children:n});e._mesh=i}return e._mesh}},{key:"getVertexCount",value:function(e){sk.warn("getVertexCount() not found")()}},{key:"createPrimitive",value:function(e,t,n){return function(e,t){var n=t.id,i=t.drawMode,r=t.vertexCount,o=t.attributes,a=t.modelOptions,s=new uL(e,t);sk.info(4,"createGLTFModel defines: ",s.defines)();var u=[];u.push.apply(u,v(s.generatedTextures)),u.push.apply(u,v(Object.values(o).map(function(e){return e.buffer})));var c=new sL(e,Object.assign({id:n,drawMode:i,vertexCount:r,modules:[TN],defines:s.defines,parameters:s.parameters,vs:cL(e,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:cL(e,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:u},a));return c.setProps({attributes:o}),c.setUniforms(s.uniforms),c}(this.gl,Object.assign({id:e.name||"".concat(n.name||n.id,"-primitive-").concat(t),drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}},{key:"createAttributes",value:function(e,t){var n=this,i={};return Object.keys(e).forEach(function(t){i[t]=n.createAccessor(e[t],n.createBuffer(e[t],n.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),sk.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}},{key:"createBuffer",value:function(e,t){e.bufferView||(e.bufferView={});var n=e.bufferView;return n.lumaBuffers||(n.lumaBuffers={}),n.lumaBuffers[t]||(n.lumaBuffers[t]=new Cx(this.gl,{id:"from-".concat(n.id),data:n.data||e.value,target:t})),n.lumaBuffers[t]}},{key:"createAccessor",value:function(e,t){return new wx({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:lL[e.type]})}},{key:"createSampler",value:function(e){return e}},{key:"needsPOT",value:function(){return!1}}]),e}();function fL(e,t,n){if(e.byteLength<=t+n)return"";for(var i=new DataView(e),r="",o=0;o")}}]),i}(wL,Symbol.toStringTag),RL=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Map;m(this,e),FA(this,"name",void 0),FA(this,"type",void 0),FA(this,"nullable",void 0),FA(this,"metadata",void 0),this.name=t,this.type=n,this.nullable=i,this.metadata=r}return b(e,[{key:"typeId",get:function(){return this.type&&this.type.typeId}},{key:"clone",value:function(){return new e(this.name,this.type,this.nullable,this.metadata)}},{key:"compareTo",value:function(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}},{key:"toString",value:function(){return"".concat(this.type).concat(this.nullable?", nullable":"").concat(this.metadata?", metadata: ".concat(this.metadata):"")}}]),e}();function DL(e,t,n){var i=n?NL(n.metadata):void 0,r=function(e){switch(e.constructor){case Int8Array:return new xL;case Uint8Array:return new EL;case Int16Array:return new SL;case Uint16Array:return new OL;case Int32Array:return new CL;case Uint32Array:return new TL;case Float32Array:return new PL;case Float64Array:return new ML;default:throw new Error("array type not supported")}}(t.value);return new RL(e,new IL(t.size,new RL("value",r)),!1,i)}function NL(e){var t=new Map;for(var n in e)t.set("".concat(n,".string"),JSON.stringify(e[n]));return t}var LL={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},jL={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},FL=function(){function e(t){m(this,e),FA(this,"draco",void 0),FA(this,"decoder",void 0),FA(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}return b(e,[{key:"destroy",value:function(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}},{key:"parseSync",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);var i=this.decoder.GetEncodedGeometryType(n),r=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{var o;switch(i){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,r);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,r);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!r.ptr){var a="DRACO decompression failed: ".concat(o.error_msg());throw new Error(a)}var s=this._getDracoLoaderData(r,i,t),u=this._getMeshData(r,s,t),c=function(e){for(var t=1/0,n=1/0,i=1/0,r=-1/0,o=-1/0,a=-1/0,s=e.POSITION?e.POSITION.value:[],u=s&&s.length,c=0;cr?l:r,o=h>o?h:o,a=d>a?d:a}return[[t,n,i],[r,o,a]]}(u.attributes),l=function(e,t,n){var i=NL(t.metadata),r=[],o=function(e){var t={};for(var n in e){var i=e[n];t[i.name||"undefined"]=i}return t}(t.attributes);for(var a in e){var s=DL(a,e[a],o[a]);r.push(s)}if(n){var u=DL("indices",n);r.push(u)}return new bL(r,i)}(u.attributes,s,u.indices);return I(M({loader:"draco",loaderData:s,header:{vertexCount:r.num_points(),boundingBox:c}},u),{schema:l})}finally{this.draco.destroy(n),r&&this.draco.destroy(r)}}},{key:"_getDracoLoaderData",value:function(e,t,n){var i=this._getTopLevelMetadata(e),r=this._getDracoAttributes(e,n);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:i,attributes:r}}},{key:"_getDracoAttributes",value:function(e,t){for(var n={},i=0;i1&&void 0!==r[1]?r[1]:null,i=r.length>2&&void 0!==r[2]?r[2]:{},n&&(t=HL(t,n,i)),VL[t]=VL[t]||GL(t),e.next=6,VL[t];case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function HL(e,t,n){if(e.startsWith("http"))return e;var i=n.modules||{};return i[e]?i[e]:eP?n.CDN?($A(n.CDN.startsWith("http")),"".concat(n.CDN,"/").concat(t,"@3.0.12/dist/libs/").concat(e)):tP?"../src/libs/".concat(e):"modules/".concat(t,"/src/libs/").concat(e):"modules/".concat(t,"/dist/libs/").concat(e)}function GL(e){return WL.apply(this,arguments)}function WL(){return(WL=Vx(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.endsWith("wasm")){e.next=8;break}return e.next=3,fetch(t);case 3:return e.next=5,e.sent.arrayBuffer();case 5:e.t0=e.sent,e.next=31;break;case 8:if(!eP){e.next=24;break}if(!tP){e.next=13;break}e.t2=importScripts(t),e.next=21;break;case 13:return e.t3=qL,e.next=16,fetch(t);case 16:return e.next=18,e.sent.text();case 18:e.t4=e.sent,e.t5=t,e.t2=(0,e.t3)(e.t4,e.t5);case 21:e.t1=e.t2,e.next=30;break;case 24:if(e.t6=BL.requireFromFile,!e.t6){e.next=29;break}return e.next=28,BL.requireFromFile(t);case 28:e.t6=e.sent;case 29:e.t1=e.t6;case 30:e.t0=e.t1;case 31:return e.abrupt("return",e.t0);case 32:case"end":return e.stop()}},e)}))).apply(this,arguments)}function qL(e,t){if(!eP)return BL.requireFromString&&BL.requireFromString(e,t);if(tP)return eval.call(JA,e),null;var n=document.createElement("script");n.id=t;try{n.appendChild(document.createTextNode(e))}catch(i){n.text=e}return document.body.appendChild(n),null}var XL,YL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",KL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",$L="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";function QL(e){return ZL.apply(this,arguments)}function ZL(){return(ZL=Vx(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.modules||{},XL=n.draco3d?XL||n.draco3d.createDecoderModule({}).then(function(e){return{draco:e}}):XL||JL(t),e.next=4,XL;case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function JL(e){return ej.apply(this,arguments)}function ej(){return(ej=Vx(regeneratorRuntime.mark(function e(n){var i,r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=n.draco&&n.draco.decoderType,e.next="js"===e.t0?3:(e.t0,7);break;case 3:return e.next=5,zL(YL,"draco",n);case 5:return i=e.sent,e.abrupt("break",21);case 7:return e.t1=Promise,e.next=10,zL(KL,"draco",n);case 10:return e.t2=e.sent,e.next=13,zL($L,"draco",n);case 13:return e.t3=e.sent,e.t4=[e.t2,e.t3],e.next=17,e.t1.all.call(e.t1,e.t4);case 17:o=e.sent,a=t(o,2),i=a[0],r=a[1];case 21:return i=i||globalThis.DracoDecoderModule,e.next=24,tj(i,r);case 24:return e.abrupt("return",e.sent);case 25:case"end":return e.stop()}},e)}))).apply(this,arguments)}function tj(e,t){var n={};return t&&(n.wasmBinary=t),new Promise(function(t){e(I(M({},n),{onModuleLoaded:function(e){return t({draco:e})}}))})}var nj=I(M({},yL),{parse:function(e,t){return ij.apply(this,arguments)}});function ij(){return(ij=Vx(regeneratorRuntime.mark(function e(t,n){var i,r,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,QL(n);case 2:return i=e.sent,r=i.draco,o=new FL(r),e.prev=5,e.abrupt("return",o.parseSync(t,null==n?void 0:n.draco));case 7:return e.prev=7,o.destroy(),e.finish(7);case 10:case"end":return e.stop()}},e,null,[[5,,7,10]])}))).apply(this,arguments)}function rj(e,t){return lA(e>=0),lA(t>0),e+(t-1)&~(t-1)}function oj(e,t,n){var i;return i=e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer||e.arrayBuffer,e.byteOffset,e.byteLength),t.set(i,n),n+rj(i.byteLength,4)}var aj=["SCALAR","VEC2","VEC3","VEC4"],sj=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],uj=new Map(sj),cj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},lj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},hj={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function dj(e){return aj[e-1]||aj[0]}function fj(e){var t=uj.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function pj(e,t){var n=hj[e.componentType],i=cj[e.type],r=e.count*i,o=e.count*i*lj[e.componentType];return pL(o>=0&&o<=t.byteLength),{ArrayType:n,length:r,byteLength:o}}var vj={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]},gj=function(){function e(t){m(this,e),FA(this,"gltf",void 0),FA(this,"sourceBuffers",void 0),FA(this,"byteLength",void 0),this.gltf=t||{json:M({},vj),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}return b(e,[{key:"json",get:function(){return this.gltf.json}},{key:"getApplicationData",value:function(e){return this.json[e]}},{key:"getExtraData",value:function(e){return(this.json.extras||{})[e]}},{key:"getExtension",value:function(e){return this.getUsedExtensions().find(function(t){return t===e})?(this.json.extensions||{})[e]||!0:null}},{key:"getRequiredExtension",value:function(e){return this.getRequiredExtensions().find(function(t){return t===e})?this.getExtension(e):null}},{key:"getRequiredExtensions",value:function(){return this.json.extensionsRequired||[]}},{key:"getUsedExtensions",value:function(){return this.json.extensionsUsed||[]}},{key:"getObjectExtension",value:function(e,t){return(e.extensions||{})[t]}},{key:"getScene",value:function(e){return this.getObject("scenes",e)}},{key:"getNode",value:function(e){return this.getObject("nodes",e)}},{key:"getSkin",value:function(e){return this.getObject("skins",e)}},{key:"getMesh",value:function(e){return this.getObject("meshes",e)}},{key:"getMaterial",value:function(e){return this.getObject("materials",e)}},{key:"getAccessor",value:function(e){return this.getObject("accessors",e)}},{key:"getTexture",value:function(e){return this.getObject("textures",e)}},{key:"getSampler",value:function(e){return this.getObject("samplers",e)}},{key:"getImage",value:function(e){return this.getObject("images",e)}},{key:"getBufferView",value:function(e){return this.getObject("bufferViews",e)}},{key:"getBuffer",value:function(e){return this.getObject("buffers",e)}},{key:"getObject",value:function(e,t){if("object"==typeof t)return t;var n=this.json[e]&&this.json[e][t];if(!n)throw new Error("glTF file error: Could not find ".concat(e,"[").concat(t,"]"));return n}},{key:"getTypedArrayForBufferView",value:function(e){e=this.getBufferView(e);var t=this.gltf.buffers[e.buffer];return pL(t),new Uint8Array(t.arrayBuffer,(e.byteOffset||0)+t.byteOffset,e.byteLength)}},{key:"getTypedArrayForAccessor",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),n=this.getBuffer(t.buffer).data,i=pj(e,t),r=i.ArrayType,o=i.length;return new r(n,t.byteOffset+e.byteOffset,o)}},{key:"getTypedArrayForImageData",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),n=this.getBuffer(t.buffer).data;return new Uint8Array(n,t.byteOffset||0,t.byteLength)}},{key:"addApplicationData",value:function(e,t){return this.json[e]=t,this}},{key:"addExtraData",value:function(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}},{key:"addObjectExtension",value:function(e,t,n){return e.extensions=e.extensions||{},e.extensions[t]=n,this.registerUsedExtension(t),this}},{key:"setObjectExtension",value:function(e,t,n){(e.extensions||{})[t]=n}},{key:"removeObjectExtension",value:function(e,t){var n=e.extensions||{},i=n[t];return delete n[t],i}},{key:"addExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return pL(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}},{key:"addRequiredExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return pL(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}},{key:"registerUsedExtension",value:function(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(function(t){return t===e})||this.json.extensionsUsed.push(e)}},{key:"registerRequiredExtension",value:function(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(function(t){return t===e})||this.json.extensionsRequired.push(e)}},{key:"removeExtension",value:function(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}},{key:"setDefaultScene",value:function(e){this.json.scene=e}},{key:"addScene",value:function(e){var t=e.nodeIndices;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}},{key:"addNode",value:function(e){var t=e.meshIndex,n=e.matrix;this.json.nodes=this.json.nodes||[];var i={mesh:t};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}},{key:"addMesh",value:function(e){var t=e.attributes,n=e.indices,i=e.material,r=e.mode,o=void 0===r?4:r,a={primitives:[{attributes:this._addAttributes(t),mode:o}]};if(n){var s=this._addIndices(n);a.primitives[0].indices=s}return Number.isFinite(i)&&(a.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}},{key:"addPointCloud",value:function(e){var t={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(t),this.json.meshes.length-1}},{key:"addImage",value:function(e,t){var n=wR(e),i=t||(null==n?void 0:n.mimeType),r={bufferView:this.addBufferView(e),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(r),this.json.images.length-1}},{key:"addBufferView",value:function(e){var t=e.byteLength;pL(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);var n={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=rj(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}},{key:"addAccessor",value:function(e,t){var n={bufferView:e,type:dj(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}},{key:"addBinaryBuffer",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{size:3},n=this.addBufferView(e),i={min:t.min,max:t.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(e,t.size));var r={size:t.size,componentType:fj(e),count:Math.round(e.length/t.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(r,t))}},{key:"addTexture",value:function(e){var t={source:e.imageIndex};return this.json.textures=this.json.textures||[],this.json.textures.push(t),this.json.textures.length-1}},{key:"addMaterial",value:function(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}},{key:"createBinaryChunk",value:function(){var e,t;this.gltf.buffers=[];var n,i=this.byteLength,r=new ArrayBuffer(i),o=new Uint8Array(r),a=0,s=_(this.sourceBuffers||[]);try{for(s.s();!(n=s.n()).done;){a=oj(n.value,o,a)}}catch(u){s.e(u)}finally{s.f()}null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}},{key:"_removeStringFromArray",value:function(e,t){for(var n=!0;n;){var i=e.indexOf(t);i>-1?e.splice(i,1):n=!1}}},{key:"_addAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};for(var n in e){var i=e[n],r=this._getGltfAttributeName(n),o=this.addBinaryBuffer(i.value,i);t[r]=o}return t}},{key:"_addIndices",value:function(e){return this.addBinaryBuffer(e,{size:1})}},{key:"_getGltfAttributeName",value:function(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}},{key:"_getAccessorMinMax",value:function(e,t){var n={min:null,max:null};if(e.length2&&void 0!==arguments[2]&&arguments[2];return e?Array.isArray(e)?new t(e):!n||e instanceof t?e:new t(e):null}(t,Float32Array)),i=t.length/n),{buffer:t,size:n,count:i}}(e),n=t.buffer,i=t.size;return{value:n,size:i,byteOffset:0,count:t.count,type:dj(i),componentType:fj(n)}}function Sj(e,t,n){return Cj.apply(this,arguments)}function Cj(){return(Cj=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o,a,s,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=n&&null!==(r=n.gltf)&&void 0!==r&&r.decompressMeshes){e.next=2;break}return e.abrupt("return");case 2:o=new gj(t),a=[],s=_(Mj(o));try{for(s.s();!(u=s.n()).done;)c=u.value,o.getObjectExtension(c,yj)&&a.push(Oj(o,c,n,i))}catch(l){s.e(l)}finally{s.f()}return e.next=7,Promise.all(a);case 7:o.removeExtension(yj);case 8:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Ej(e){var t,n=new gj(e),i=_(n.json.meshes||[]);try{for(i.s();!(t=i.n()).done;){var r=t.value;Aj(r),n.addRequiredExtension(yj)}}catch(o){i.e(o)}finally{i.f()}}function Oj(e,t,n,i){return Tj.apply(this,arguments)}function Tj(){return(Tj=Vx(regeneratorRuntime.mark(function e(n,i,r,o){var a,s,u,c,l,h,d,f,p,v,g,m,y;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(a=n.getObjectExtension(i,yj)){e.next=3;break}return e.abrupt("return");case 3:return s=n.getTypedArrayForBufferView(a.bufferView),u=xP(s.buffer,s.byteOffset),c=o.parse,delete(l=M({},r))["3d-tiles"],e.next=7,c(u,nj,l,o);case 7:for(h=e.sent,d=kj(h.attributes),f=0,p=Object.entries(d);f2&&void 0!==arguments[2]?arguments[2]:4,r=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;if(!r.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");var s=r.DracoWriter.encodeSync({attributes:e}),u=null==a||null===(n=a.parseSync)||void 0===n?void 0:n.call(a,{attributes:e}),c=r._addFauxAttributes(u.attributes),l=r.addBufferView(s);return{primitives:[{attributes:c,mode:i,extensions:o({},yj,{bufferView:l,attributes:c})}]}}function Pj(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function Mj(e){var t,n,i,r,o,a;return regeneratorRuntime.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:t=_(e.json.meshes||[]),s.prev=1,t.s();case 3:if((n=t.n()).done){s.next=24;break}i=n.value,r=_(i.primitives),s.prev=6,r.s();case 8:if((o=r.n()).done){s.next=14;break}return a=o.value,s.next=12,a;case 12:s.next=8;break;case 14:s.next=19;break;case 16:s.prev=16,s.t0=s.catch(6),r.e(s.t0);case 19:return s.prev=19,r.f(),s.finish(19);case 22:s.next=3;break;case 24:s.next=29;break;case 26:s.prev=26,s.t1=s.catch(1),t.e(s.t1);case 29:return s.prev=29,t.f(),s.finish(29);case 32:case"end":return s.stop()}},T,null,[[1,26,29,32],[6,16,19,22]])}function Ij(e){return Rj.apply(this,arguments)}function Rj(){return(Rj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=new gj(t),i=n.json,n.removeExtension(_j),r=_(i.materials||[]);try{for(r.s();!(o=r.n()).done;)(a=o.value).extensions&&a.extensions.KHR_materials_unlit&&(a.unlit=!0),n.removeObjectExtension(a,_j)}catch(s){r.e(s)}finally{r.f()}case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Dj(e){var t=new gj(e),n=t.json;if(t.materials){var i,r=_(n.materials||[]);try{for(r.s();!(i=r.n()).done;){var o=i.value;o.unlit&&(delete o.unlit,t.addObjectExtension(o,_j,{}),t.addExtension(_j))}}catch(a){r.e(a)}finally{r.f()}}}function Nj(e){return Lj.apply(this,arguments)}function Lj(){return(Lj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=new gj(t),i=n.json,(r=n.getExtension(bj))&&(n.json.lights=r.lights,n.removeExtension(bj)),o=_(i.nodes||[]);try{for(o.s();!(a=o.n()).done;)s=a.value,(u=n.getObjectExtension(s,bj))&&(s.light=u.light),n.removeObjectExtension(s,bj)}catch(c){o.e(c)}finally{o.f()}case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function jj(e){return Fj.apply(this,arguments)}function Fj(){return(Fj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new gj(t),(i=n.json).lights&&(pL(!(r=n.addExtension(bj)).lights),r.lights=i.lights,delete i.lights),n.json.lights){o=_(n.json.lights);try{for(o.s();!(a=o.n()).done;)s=a.value,n.addObjectExtension(s.node,bj,s)}catch(u){o.e(u)}finally{o.f()}delete n.json.lights}case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Bj(e){return Vj.apply(this,arguments)}function Vj(){return(Vj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s,u,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new gj(t),i=n.json,r=n.getExtension(wj)){o=Hj(r,n),a=_(i.materials||[]);try{for(a.s();!(s=a.n()).done;)u=s.value,(c=n.getObjectExtension(u,wj))&&(u.technique=Object.assign({},c,o[c.technique]),u.technique.values=Gj(u.technique,n)),n.removeObjectExtension(u,wj)}catch(l){a.e(l)}finally{a.f()}n.removeExtension(wj)}case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function zj(e,t){return Uj.apply(this,arguments)}function Uj(){return(Uj=Vx(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Hj(e,t){var n=e.programs,i=void 0===n?[]:n,r=e.shaders,o=void 0===r?[]:r,a=e.techniques,s=void 0===a?[]:a,u=new TextDecoder;return o.forEach(function(e){if(!Number.isFinite(e.bufferView))throw new Error("KHR_techniques_webgl: no shader code");e.code=u.decode(t.getTypedArrayForBufferView(e.bufferView))}),i.forEach(function(e){e.fragmentShader=o[e.fragmentShader],e.vertexShader=o[e.vertexShader]}),s.forEach(function(e){e.program=i[e.program]}),s}function Gj(e,t){var n=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(function(t){e.uniforms[t].value&&!(t in n)&&(n[t]=e.uniforms[t].value)}),Object.keys(n).forEach(function(e){"object"==typeof n[e]&&void 0!==n[e].index&&(n[e].texture=t.getTexture(n[e].index))}),n}var Wj={KHR_draco_mesh_compression:R,KHR_materials_unlit:D,KHR_lights_punctual:N,KHR_techniques_webgl:L};function qj(e){return Xj.apply(this,arguments)}function Xj(){return(Xj=Vx(regeneratorRuntime.mark(function e(t){var n,i,r,o,a,s=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=s.length>1&&void 0!==s[1]?s[1]:{},i=s.length>2?s[2]:void 0,e.t0=regeneratorRuntime.keys(Wj);case 3:if((e.t1=e.t0()).done){e.next=12;break}if(r=e.t1.value,a=(null==n||null===(o=n.gltf)||void 0===o?void 0:o.excludeExtensions)||{},e.t2=r in a&&!a[r],e.t2){e.next=10;break}return e.next=10,Wj[r].decode(t,n,i);case 10:e.next=3;break;case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}var Yj={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},Kj={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},$j=function(){function e(t){m(this,e),this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}return b(e,[{key:"normalize",value:function(e,t){this.json=e.json;var n=e.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn("glTF: Unknown version ".concat(n.asset.version))}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),function(e){var t,n=new gj(e),i=n.json,r=_(i.images||[]);try{for(r.s();!(t=r.n()).done;){var o=t.value,a=n.removeObjectExtension(o,mj);a&&Object.assign(o,a)}}catch(s){r.e(s)}finally{r.f()}i.buffers&&i.buffers[0]&&delete i.buffers[0].uri,n.removeExtension(mj)}(e),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}},{key:"_addAsset",value:function(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}},{key:"_convertTopLevelObjectsToArrays",value:function(e){for(var t in Yj)this._convertTopLevelObjectToArray(e,t)}},{key:"_convertTopLevelObjectToArray",value:function(e,t){var n=e[t];if(n&&!Array.isArray(n))for(var i in e[t]=[],n){var r=n[i];r.id=r.id||i;var o=e[t].length;e[t].push(r),this.idToIndexMap[t][i]=o}}},{key:"_convertObjectIdsToArrayIndices",value:function(e){for(var t in Yj)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));var n,i=_(e.textures);try{for(i.s();!(n=i.n()).done;){var r=n.value;this._convertTextureIds(r)}}catch(p){i.e(p)}finally{i.f()}var o,a=_(e.meshes);try{for(a.s();!(o=a.n()).done;){var s=o.value;this._convertMeshIds(s)}}catch(p){a.e(p)}finally{a.f()}var u,c=_(e.nodes);try{for(c.s();!(u=c.n()).done;){var l=u.value;this._convertNodeIds(l)}}catch(p){c.e(p)}finally{c.f()}var h,d=_(e.scenes);try{for(d.s();!(h=d.n()).done;){var f=h.value;this._convertSceneIds(f)}}catch(p){d.e(p)}finally{d.f()}}},{key:"_convertTextureIds",value:function(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}},{key:"_convertMeshIds",value:function(e){var t,n=_(e.primitives);try{for(n.s();!(t=n.n()).done;){var i=t.value,r=i.attributes,o=i.indices,a=i.material;for(var s in r)r[s]=this._convertIdToIndex(r[s],"accessor");o&&(i.indices=this._convertIdToIndex(o,"accessor")),a&&(i.material=this._convertIdToIndex(a,"material"))}}catch(u){n.e(u)}finally{n.f()}}},{key:"_convertNodeIds",value:function(e){var t=this;e.children&&(e.children=e.children.map(function(e){return t._convertIdToIndex(e,"node")})),e.meshes&&(e.meshes=e.meshes.map(function(e){return t._convertIdToIndex(e,"mesh")}))}},{key:"_convertSceneIds",value:function(e){var t=this;e.nodes&&(e.nodes=e.nodes.map(function(e){return t._convertIdToIndex(e,"node")}))}},{key:"_convertIdsToIndices",value:function(e,t){e[t]||(console.warn("gltf v1: json doesn't contain attribute ".concat(t)),e[t]=[]);var n,i=_(e[t]);try{for(i.s();!(n=i.n()).done;){var r=n.value;for(var o in r){var a=this._convertIdToIndex(r[o],o);r[o]=a}}}catch(s){i.e(s)}finally{i.f()}}},{key:"_convertIdToIndex",value:function(e,t){var n=Kj[t];if(n in this.idToIndexMap){var i=this.idToIndexMap[n][e];if(!Number.isFinite(i))throw new Error("gltf v1: failed to resolve ".concat(t," with id ").concat(e));return i}return e}},{key:"_updateObjects",value:function(e){var t,n=_(this.json.buffers);try{for(n.s();!(t=n.n()).done;){delete t.value.type}}catch(i){n.e(i)}finally{n.f()}}},{key:"_updateMaterial",value:function(e){var t,n=_(e.materials);try{var i=function(){var n=t.value;n.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};var i=n.values&&n.values.tex,r=e.textures.findIndex(function(e){return e.id===i});-1!==r&&(n.pbrMetallicRoughness.baseColorTexture={index:r})};for(n.s();!(t=n.n()).done;)i()}catch(r){n.e(r)}finally{n.f()}}}]),e}();function Qj(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(new $j).normalize(e,t)}var Zj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Jj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},eF={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},tF={magFilter:eF.TEXTURE_MAG_FILTER,minFilter:eF.TEXTURE_MIN_FILTER,wrapS:eF.TEXTURE_WRAP_S,wrapT:eF.TEXTURE_WRAP_T},nF=(o(k={},eF.TEXTURE_MAG_FILTER,eF.LINEAR),o(k,eF.TEXTURE_MIN_FILTER,eF.NEAREST_MIPMAP_LINEAR),o(k,eF.TEXTURE_WRAP_S,eF.REPEAT),o(k,eF.TEXTURE_WRAP_,eF.REPEAT),k),iF=function(){function e(){m(this,e)}return b(e,[{key:"postProcess",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.json,i=e.buffers,r=void 0===i?[]:i,o=e.images,a=void 0===o?[]:o,s=e.baseUri,u=void 0===s?"":s;return pL(n),this.baseUri=u,this.json=n,this.buffers=r,this.images=a,this._resolveTree(this.json,t),this.json}},{key:"_resolveTree",value:function(e){var t=this;e.bufferViews&&(e.bufferViews=e.bufferViews.map(function(e,n){return t._resolveBufferView(e,n)})),e.images&&(e.images=e.images.map(function(e,n){return t._resolveImage(e,n)})),e.samplers&&(e.samplers=e.samplers.map(function(e,n){return t._resolveSampler(e,n)})),e.textures&&(e.textures=e.textures.map(function(e,n){return t._resolveTexture(e,n)})),e.accessors&&(e.accessors=e.accessors.map(function(e,n){return t._resolveAccessor(e,n)})),e.materials&&(e.materials=e.materials.map(function(e,n){return t._resolveMaterial(e,n)})),e.meshes&&(e.meshes=e.meshes.map(function(e,n){return t._resolveMesh(e,n)})),e.nodes&&(e.nodes=e.nodes.map(function(e,n){return t._resolveNode(e,n)})),e.skins&&(e.skins=e.skins.map(function(e,n){return t._resolveSkin(e,n)})),e.scenes&&(e.scenes=e.scenes.map(function(e,n){return t._resolveScene(e,n)})),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}},{key:"getScene",value:function(e){return this._get("scenes",e)}},{key:"getNode",value:function(e){return this._get("nodes",e)}},{key:"getSkin",value:function(e){return this._get("skins",e)}},{key:"getMesh",value:function(e){return this._get("meshes",e)}},{key:"getMaterial",value:function(e){return this._get("materials",e)}},{key:"getAccessor",value:function(e){return this._get("accessors",e)}},{key:"getCamera",value:function(e){return null}},{key:"getTexture",value:function(e){return this._get("textures",e)}},{key:"getSampler",value:function(e){return this._get("samplers",e)}},{key:"getImage",value:function(e){return this._get("images",e)}},{key:"getBufferView",value:function(e){return this._get("bufferViews",e)}},{key:"getBuffer",value:function(e){return this._get("buffers",e)}},{key:"_get",value:function(e,t){if("object"==typeof t)return t;var n=this.json[e]&&this.json[e][t];return n||console.warn("glTF file error: Could not find ".concat(e,"[").concat(t,"]")),n}},{key:"_resolveScene",value:function(e,t){var n=this;return e.id=e.id||"scene-".concat(t),e.nodes=(e.nodes||[]).map(function(e){return n.getNode(e)}),e}},{key:"_resolveNode",value:function(e,t){var n=this;return e.id=e.id||"node-".concat(t),e.children&&(e.children=e.children.map(function(e){return n.getNode(e)})),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce(function(e,t){var i=n.getMesh(t);return e.id=i.id,e.primitives=e.primitives.concat(i.primitives),e},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}},{key:"_resolveSkin",value:function(e,t){return e.id=e.id||"skin-".concat(t),e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}},{key:"_resolveMesh",value:function(e,t){var n=this;return e.id=e.id||"mesh-".concat(t),e.primitives&&(e.primitives=e.primitives.map(function(e){var t=(e=M({},e)).attributes;for(var i in e.attributes={},t)e.attributes[i]=n.getAccessor(t[i]);return void 0!==e.indices&&(e.indices=n.getAccessor(e.indices)),void 0!==e.material&&(e.material=n.getMaterial(e.material)),e})),e}},{key:"_resolveMaterial",value:function(e,t){if(e.id=e.id||"material-".concat(t),e.normalTexture&&(e.normalTexture=M({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=M({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=M({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=M({},e.pbrMetallicRoughness);var n=e.pbrMetallicRoughness;n.baseColorTexture&&(n.baseColorTexture=M({},n.baseColorTexture),n.baseColorTexture.texture=this.getTexture(n.baseColorTexture.index)),n.metallicRoughnessTexture&&(n.metallicRoughnessTexture=M({},n.metallicRoughnessTexture),n.metallicRoughnessTexture.texture=this.getTexture(n.metallicRoughnessTexture.index))}return e}},{key:"_resolveAccessor",value:function(e,t){if(e.id=e.id||"accessor-".concat(t),void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(e){return Jj[e]}(e.componentType),e.components=function(e){return Zj[e]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){var n=e.bufferView.buffer,i=pj(e,e.bufferView),r=i.ArrayType,o=i.byteLength,a=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+n.byteOffset,s=n.arrayBuffer.slice(a,a+o);e.value=new r(s)}return e}},{key:"_resolveTexture",value:function(e,t){return e.id=e.id||"texture-".concat(t),e.sampler="sampler"in e?this.getSampler(e.sampler):nF,e.source=this.getImage(e.source),e}},{key:"_resolveSampler",value:function(e,t){for(var n in e.id=e.id||"sampler-".concat(t),e.parameters={},e){var i=this._enumSamplerParameter(n);void 0!==i&&(e.parameters[i]=e[n])}return e}},{key:"_enumSamplerParameter",value:function(e){return tF[e]}},{key:"_resolveImage",value:function(e,t){e.id=e.id||"image-".concat(t),void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));var n=this.images[t];return n&&(e.image=n),e}},{key:"_resolveBufferView",value:function(e,t){e.id=e.id||"bufferView-".concat(t);var n=e.buffer;e.buffer=this.buffers[n];var i=this.buffers[n].byteOffset||0;return"byteOffset"in e&&(i+=e.byteOffset),e.data=new Uint8Array(this.buffers[n].arrayBuffer,i,e.byteLength),e}},{key:"_resolveCamera",value:function(e,t){return e.id=e.id||"camera-".concat(t),e}}]),e}();function rF(e,t){return(new iF).postProcess(e,t)}var oF=1735152710,aF=!0;function sF(e,t,n,i){var r=new Uint8Array(t.buffer,n,i),o=new TextDecoder("utf8").decode(r);return e.json=JSON.parse(o),rj(i,4)}function uF(e,t,n,i){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:n,byteLength:i,arrayBuffer:t.buffer}),rj(i,4)}function cF(e,t){return lF.apply(this,arguments)}function lF(){return(lF=Vx(regeneratorRuntime.mark(function e(t,n){var i,r,o,a,s,u,c,l,h,d,f=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i=f.length>2&&void 0!==f[2]?f[2]:0,r=f.length>3?f[3]:void 0,o=f.length>4?f[4]:void 0,hF(t,n,i,r),Qj(t,{normalize:null==r||null===(a=r.gltf)||void 0===a?void 0:a.normalize}),l=[],e.t0=null!=r&&null!==(s=r.gltf)&&void 0!==s&&s.loadBuffers&&t.json.buffers,!e.t0){e.next=9;break}return e.next=9,dF(t,r,o);case 9:if(null==r||null===(u=r.gltf)||void 0===u||!u.loadImages){e.next=12;break}h=pF(t,r,o),l.push(h);case 12:return d=qj(t,r,o),l.push(d),e.next=16,Promise.all(l);case 16:return e.abrupt("return",null!=r&&null!==(c=r.gltf)&&void 0!==c&&c.postProcess?rF(t,r):t);case 17:case"end":return e.stop()}},e)}))).apply(this,arguments)}function hF(e,t,n,i){if(i.uri&&(e.baseUri=i.uri),t instanceof ArrayBuffer&&!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=new DataView(e),r=n.magic,o=void 0===r?oF:r,a=i.getUint32(t,!1);return a===o||a===oF}(t,n,i)&&(t=(new TextDecoder).decode(t)),"string"==typeof t)e.json=function(e){try{return JSON.parse(e)}catch(t){throw new Error('Failed to parse JSON from data starting with "'.concat(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5;return"string"==typeof e?e.slice(0,t):ArrayBuffer.isView(e)?fL(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?fL(e,0,t):""}(e),'"'))}}(t);else if(t instanceof ArrayBuffer){var r={};n=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=new DataView(t),r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return"".concat(String.fromCharCode(e.getUint8(t+0))).concat(String.fromCharCode(e.getUint8(t+1))).concat(String.fromCharCode(e.getUint8(t+2))).concat(String.fromCharCode(e.getUint8(t+3)))}(i,n+0),o=i.getUint32(n+4,aF),a=i.getUint32(n+8,aF);switch(Object.assign(e,{header:{byteOffset:n,byteLength:a,hasBinChunk:!1},type:r,version:o,json:{},binChunks:[]}),n+=12,e.version){case 1:return function(e,t,n){lA(e.header.byteLength>20);var i=t.getUint32(n+0,aF),r=t.getUint32(n+4,aF);return n+=8,lA(0===r),sF(e,t,n,i),(n+=i)+uF(e,t,n,e.header.byteLength)}(e,i,n);case 2:return function(e,t,n,i){return lA(e.header.byteLength>20),function(e,t,n,i){for(;n+8<=e.header.byteLength;){var r=t.getUint32(n+0,aF),o=t.getUint32(n+4,aF);switch(n+=8,o){case 1313821514:sF(e,t,n,r);break;case 5130562:uF(e,t,n,r);break;case 0:i.strict||sF(e,t,n,r);break;case 1:i.strict||uF(e,t,n,r)}n+=rj(r,4)}}(e,t,n,{}),n+e.header.byteLength}(e,i,n);default:throw new Error("Invalid GLB version ".concat(e.version,". Only supports v1 and v2."))}}(r,t,n,i.glb),pL("glTF"===r.type,"Invalid GLB magic string ".concat(r.type)),e._glb=r,e.json=r.json}else pL(!1,"GLTF: must be ArrayBuffer or string");if(e.buffers=new Array((e.json.buffers||[]).length).fill(null),e._glb&&e._glb.header.hasBinChunk){var o=e._glb.binChunks;e.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}e.images=new Array((e.json.images||[]).length).fill({})}function dF(e,t,n){return fF.apply(this,arguments)}function fF(){return(fF=Vx(regeneratorRuntime.mark(function e(t,n,i){var r,o,a,s,u,c,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:r=0;case 1:if(!(r1&&void 0!==a[1]?a[1]:{},i=a.length>2?a[2]:void 0,(n=M(M({},yF.options),n)).gltf=M(M({},yF.options.gltf),n.gltf),r=n.byteOffset,o=void 0===r?0:r,e.next=6,cF({},t,o,n,i);case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function _F(){return(_F=Vx(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=[],t.scenes.forEach(function(e){e.traverse(function(e){Object.values(e.model.getUniforms()).forEach(function(e){!1===e.loaded&&n.push(e)})})}),e.next=4,wF(function(){return n.some(function(e){return!e.loaded})});case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function wF(e){return kF.apply(this,arguments)}function kF(){return(kF=Vx(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!t()){e.next=5;break}return e.next=3,new Promise(function(e){return requestAnimationFrame(e)});case 3:e.next=0;break;case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}var xF=[255,255,255,255],SF={scenegraph:{type:"object",value:null,async:!0},getScene:function(e){return e&&e.scenes?"object"==typeof e.scene?e.scene:e.scenes[e.scene||0]:e},getAnimator:function(e){return e&&e.animator},_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:function(e){return e.position}},getColor:{type:"accessor",value:xF},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[yF]},CF=function(){var t=function(t){a(i,t);var n=s(i);function i(){return m(this,i),n.apply(this,arguments)}return b(i,[{key:"getShaders",value:function(){var e=[xD,CD];return"pbr"===this.props._lighting&&e.push(TN),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:e}}},{key:"initializeState",value:function(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:xF,transition:!0},instanceModelMatrix:kN})}},{key:"updateState",value:function(t){e(p(i.prototype),"updateState",this).call(this,t);var n=t.props,r=t.oldProps;n.scenegraph!==r.scenegraph?this._updateScenegraph(n):n._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,n._animations)}},{key:"finalizeState",value:function(){e(p(i.prototype),"finalizeState",this).call(this),this._deleteScenegraph()}},{key:"_updateScenegraph",value:function(e){var t=this,n=this.context.gl,i=null;if(e.scenegraph instanceof AN)i={scenes:[e.scenegraph]};else if(e.scenegraph&&!e.scenegraph.gltf){var r=e.scenegraph,o=function(e,t,n){var i=new dL(e,n);return{scenes:i.instantiate(t),animator:i.createAnimator()}}(n,r,this._getModelOptions());i=M({gltf:r},o),function(e){return _F.apply(this,arguments)}(o).then(function(){return t.setNeedsRedraw()})}else e.scenegraph&&(ik.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),i=e.scenegraph);var a={layer:this,gl:n},s=e.getScene(i,a),u=e.getAnimator(i,a);s instanceof AN?(this._deleteScenegraph(),this._applyAllAttributes(s),this._applyAnimationsProp(s,u,e._animations),this.setState({scenegraph:s,animator:u})):null!==s&&ik.warn("invalid scenegraph:",s)()}},{key:"_applyAllAttributes",value:function(e){var t=this;if(this.state.attributesAvailable){var n=this.getAttributeManager().getAttributes();e.traverse(function(e){t._setModelAttributes(e.model,n)})}}},{key:"_applyAnimationsProp",value:function(e,t,n){if(e&&t&&n){var i=t.getAnimations();Object.keys(n).sort().forEach(function(e){var t=n[e];if("*"===e)i.forEach(function(e){Object.assign(e,t)});else if(Number.isFinite(Number(e))){var r=Number(e);r>=0&&r0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("sphere-geometry"):i,o=function(e){var t=e.nlat,n=void 0===t?10:t,i=e.nlong,r=void 0===i?10:i,o=e.radius,a=void 0===o?1:o,s=Math.PI-0,u=2*Math.PI-0,c=(n+1)*(r+1);if("number"==typeof a){var l=a;a=function(e,t,n,i,r){return l}}for(var h=new Float32Array(3*c),d=new Float32Array(3*c),f=new Float32Array(2*c),p=new(c>65535?Uint32Array:Uint16Array)(n*r*6),v=0;v<=n;v++)for(var g=0;g<=r;g++){var m=g/r,y=v/n,b=g+v*(r+1),_=2*b,w=3*b,k=u*m,x=s*y,S=Math.sin(k),C=Math.cos(k),E=Math.sin(x),O=C*E,T=Math.cos(x),A=S*E,P=a(O,T,A,m,y);h[w+0]=P*O,h[w+1]=P*T,h[w+2]=P*A,d[w+0]=O,d[w+1]=T,d[w+2]=A,f[_+0]=m,f[_+1]=1-y}for(var M=r+1,I=0;I0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("truncated-code-geometry"):i,o=function(e){for(var t=e.bottomRadius,n=void 0===t?0:t,i=e.topRadius,r=void 0===i?0:i,o=e.height,a=void 0===o?1:o,s=e.nradial,u=void 0===s?10:s,c=e.nvertical,l=void 0===c?10:c,h=e.verticalAxis,d=void 0===h?"y":h,f=e.topCap,p=void 0!==f&&f,v=e.bottomCap,g=void 0!==v&&v,m=(p?2:0)+(g?2:0),y=(u+1)*(l+1+m),b=Math.atan2(n-r,a),_=Math.sin,w=Math.cos,k=Math.PI,x=w(b),S=_(b),C=p?-2:0,E=l+(g?2:0),O=u+1,T=new Uint16Array(u*(l+m)*6),A=OF[d],P=new Float32Array(3*y),M=new Float32Array(3*y),I=new Float32Array(2*y),R=0,D=0,N=C;N<=E;N++){var L=void 0,j=N/l,F=a*j;N<0?(F=0,j=1,L=n):N>l?(F=a,j=1,L=r):L=n+N/l*(r-n),(-2===N||N===l+2)&&(L=0,j=0),F-=a/2;for(var B=0;Bl?0:V*x,M[R+A[1]]=N<0?-1:N>l?1:S,M[R+A[2]]=N<0||N>l?0:z*x,I[D+0]=B/u,I[D+1]=j,D+=2,R+=3}}for(var U=0;U0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("cone-geometry"):i,o=e.radius,a=void 0===o?1:o,s=e.cap,u=void 0===s||s;return t.call(this,I(M({},e),{id:r,topRadius:0,topCap:Boolean(u),bottomCap:Boolean(u),bottomRadius:a}))}return n}(TF),PF=function(e){a(n,e);var t=s(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("cylinder-geometry"):i,o=e.radius,a=void 0===o?1:o;return t.call(this,I(M({},e),{id:r,bottomRadius:a,topRadius:a}))}return n}(TF),MF=new Uint16Array([0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]),IF=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]),RF=new Float32Array([0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0]),DF=new Float32Array([0,0,1,0,1,1,0,1,1,0,1,1,0,1,0,0,0,1,0,0,1,0,1,1,1,1,0,1,0,0,1,0,1,0,1,1,0,1,0,0,0,0,1,0,1,1,0,1]),NF={POSITION:{size:3,value:new Float32Array(IF)},NORMAL:{size:3,value:new Float32Array(RF)},TEXCOORD_0:{size:2,value:new Float32Array(DF)}},LF=function(e){a(n,e);var t=s(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var i=e.id,r=void 0===i?cx("cube-geometry"):i;return t.call(this,I(M({},e),{id:r,indices:{size:1,value:new Uint16Array(MF)},attributes:M(M({},NF),e.attributes)}))}return n}(OD),jF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0,0,0,0,0,0,0];m(this,e),this.elements=void 0,this.elements=t}return b(e,[{key:"identity",value:function(){var e=this.elements;e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1}},{key:"setZero",value:function(){var e=this.elements;e[0]=0,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=0,e[6]=0,e[7]=0,e[8]=0}},{key:"setTrace",value:function(e){var t=this.elements;t[0]=e.x,t[4]=e.y,t[8]=e.z}},{key:"getTrace",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new BF,t=this.elements;return e.x=t[0],e.y=t[4],e.z=t[8],e}},{key:"vmult",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF,n=this.elements,i=e.x,r=e.y,o=e.z;return t.x=n[0]*i+n[1]*r+n[2]*o,t.y=n[3]*i+n[4]*r+n[5]*o,t.z=n[6]*i+n[7]*r+n[8]*o,t}},{key:"smult",value:function(e){for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:new e,i=this.elements,r=t.elements,o=n.elements,a=i[0],s=i[1],u=i[2],c=i[3],l=i[4],h=i[5],d=i[6],f=i[7],p=i[8],v=r[0],g=r[1],m=r[2],y=r[3],b=r[4],_=r[5],w=r[6],k=r[7],x=r[8];return o[0]=a*v+s*y+u*w,o[1]=a*g+s*b+u*k,o[2]=a*m+s*_+u*x,o[3]=c*v+l*y+h*w,o[4]=c*g+l*b+h*k,o[5]=c*m+l*_+h*x,o[6]=d*v+f*y+p*w,o[7]=d*g+f*b+p*k,o[8]=d*m+f*_+p*x,n}},{key:"scale",value:function(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e,i=this.elements,r=n.elements,o=0;3!==o;o++)r[3*o+0]=t.x*i[3*o+0],r[3*o+1]=t.y*i[3*o+1],r[3*o+2]=t.z*i[3*o+2];return n}},{key:"solve",value:function(e){var t,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF,r=[];for(t=0;t<12;t++)r.push(0);for(t=0;t<3;t++)for(n=0;n<3;n++)r[t+4*n]=this.elements[t+3*n];r[3]=e.x,r[7]=e.y,r[11]=e.z;var o,a,s=3,u=s;do{if(0===r[(t=u-s)+4*t])for(n=t+1;n0&&void 0!==arguments[0]?arguments[0]:new e,r=FF;for(t=0;t<3;t++)for(n=0;n<3;n++)r[t+6*n]=this.elements[t+3*n];r[3]=1,r[9]=0,r[15]=0,r[4]=0,r[10]=1,r[16]=0,r[5]=0,r[11]=0,r[17]=1;var o,a,s=3,u=s;do{if(0===r[(t=u-s)+6*t])for(n=t+1;n0&&void 0!==arguments[0]?arguments[0]:new e,i=this.elements,r=n.elements;return r[0]=i[0],r[4]=i[4],r[8]=i[8],t=i[1],r[1]=i[3],r[3]=t,t=i[2],r[2]=i[6],r[6]=t,t=i[5],r[5]=i[7],r[7]=t,n}}]),e}(),FF=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],BF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;m(this,e),this.x=void 0,this.y=void 0,this.z=void 0,this.x=t,this.y=n,this.z=i}return b(e,[{key:"cross",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e,i=t.x,r=t.y,o=t.z,a=this.x,s=this.y,u=this.z;return n.x=s*o-u*r,n.y=u*i-a*o,n.z=a*r-s*i,n}},{key:"set",value:function(e,t,n){return this.x=e,this.y=t,this.z=n,this}},{key:"setZero",value:function(){this.x=this.y=this.z=0}},{key:"vadd",value:function(t,n){if(!n)return new e(this.x+t.x,this.y+t.y,this.z+t.z);n.x=t.x+this.x,n.y=t.y+this.y,n.z=t.z+this.z}},{key:"vsub",value:function(t,n){if(!n)return new e(this.x-t.x,this.y-t.y,this.z-t.z);n.x=this.x-t.x,n.y=this.y-t.y,n.z=this.z-t.z}},{key:"crossmat",value:function(){return new jF([0,-this.z,this.y,this.z,0,-this.x,-this.y,this.x,0])}},{key:"normalize",value:function(){var e=this.x,t=this.y,n=this.z,i=Math.sqrt(e*e+t*t+n*n);if(i>0){var r=1/i;this.x*=r,this.y*=r,this.z*=r}else this.x=0,this.y=0,this.z=0;return i}},{key:"unit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e,n=this.x,i=this.y,r=this.z,o=Math.sqrt(n*n+i*i+r*r);return o>0?(o=1/o,t.x=n*o,t.y=i*o,t.z=r*o):(t.x=1,t.y=0,t.z=0),t}},{key:"length",value:function(){var e=this.x,t=this.y,n=this.z;return Math.sqrt(e*e+t*t+n*n)}},{key:"lengthSquared",value:function(){return this.dot(this)}},{key:"distanceTo",value:function(e){var t=this.x,n=this.y,i=this.z,r=e.x,o=e.y,a=e.z;return Math.sqrt((r-t)*(r-t)+(o-n)*(o-n)+(a-i)*(a-i))}},{key:"distanceSquared",value:function(e){var t=this.x,n=this.y,i=this.z,r=e.x,o=e.y,a=e.z;return(r-t)*(r-t)+(o-n)*(o-n)+(a-i)*(a-i)}},{key:"scale",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e,i=this.y,r=this.z;return n.x=t*this.x,n.y=t*i,n.z=t*r,n}},{key:"vmul",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e;return n.x=t.x*this.x,n.y=t.y*this.y,n.z=t.z*this.z,n}},{key:"addScaledVector",value:function(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new e;return i.x=this.x+t*n.x,i.y=this.y+t*n.y,i.z=this.z+t*n.z,i}},{key:"dot",value:function(e){return this.x*e.x+this.y*e.y+this.z*e.z}},{key:"isZero",value:function(){return 0===this.x&&0===this.y&&0===this.z}},{key:"negate",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e;return t.x=-this.x,t.y=-this.y,t.z=-this.z,t}},{key:"tangents",value:function(e,t){var n=this.length();if(n>0){var i=VF,r=1/n;i.set(this.x*r,this.y*r,this.z*r);var o=zF;Math.abs(i.x)<.9?(o.set(1,0,0),i.cross(o,e)):(o.set(0,1,0),i.cross(o,e)),i.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}},{key:"toString",value:function(){return this.x+","+this.y+","+this.z}},{key:"toArray",value:function(){return[this.x,this.y,this.z]}},{key:"copy",value:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}},{key:"lerp",value:function(e,t,n){var i=this.x,r=this.y,o=this.z;n.x=i+(e.x-i)*t,n.y=r+(e.y-r)*t,n.z=o+(e.z-o)*t}},{key:"almostEquals",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-6;return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}},{key:"almostZero",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e-6;return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}},{key:"isAntiparallelTo",value:function(e,t){return this.negate(UF),UF.almostEquals(e,t)}},{key:"clone",value:function(){return new e(this.x,this.y,this.z)}}]),e}();BF.ZERO=void 0,BF.UNIT_X=void 0,BF.UNIT_Y=void 0,BF.UNIT_Z=void 0,BF.ZERO=new BF(0,0,0),BF.UNIT_X=new BF(1,0,0),BF.UNIT_Y=new BF(0,1,0),BF.UNIT_Z=new BF(0,0,1);var VF=new BF,zF=new BF,UF=new BF,HF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new BF,this.upperBound=new BF,t.lowerBound&&this.lowerBound.copy(t.lowerBound),t.upperBound&&this.upperBound.copy(t.upperBound)}return b(e,[{key:"setFromPoints",value:function(e,t,n,i){var r=this.lowerBound,o=this.upperBound,a=n;r.copy(e[0]),a&&a.vmult(r,r),o.copy(r);for(var s=1;so.x&&(o.x=u.x),u.xo.y&&(o.y=u.y),u.yo.z&&(o.z=u.z),u.z=r.x&&t.y<=i.y&&n.y>=r.y&&t.z<=i.z&&n.z>=r.z}},{key:"getCorners",value:function(e,t,n,i,r,o,a,s){var u=this.lowerBound,c=this.upperBound;e.copy(u),t.set(c.x,u.y,u.z),n.set(c.x,c.y,u.z),i.set(u.x,c.y,c.z),r.set(c.x,u.y,c.z),o.set(u.x,c.y,u.z),a.set(u.x,u.y,c.z),s.copy(c)}},{key:"toLocalFrame",value:function(e,t){var n=WF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(var i=0;8!==i;i++){var r=n[i];e.pointToLocal(r,r)}return t.setFromPoints(n)}},{key:"toWorldFrame",value:function(e,t){var n=WF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(var i=0;8!==i;i++){var r=n[i];e.pointToWorld(r,r)}return t.setFromPoints(n)}},{key:"overlapsRay",value:function(e){var t=e.direction,n=e.from,i=1/t.x,r=1/t.y,o=1/t.z,a=(this.lowerBound.x-n.x)*i,s=(this.upperBound.x-n.x)*i,u=(this.lowerBound.y-n.y)*r,c=(this.upperBound.y-n.y)*r,l=(this.lowerBound.z-n.z)*o,h=(this.upperBound.z-n.z)*o,d=Math.max(Math.max(Math.min(a,s),Math.min(u,c)),Math.min(l,h)),f=Math.min(Math.min(Math.max(a,s),Math.max(u,c)),Math.max(l,h));return!(f<0||d>f)}}]),e}(),GF=new BF,WF=[new BF,new BF,new BF,new BF,new BF,new BF,new BF,new BF],qF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;m(this,e),this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=t,this.y=n,this.z=i,this.w=r}return b(e,[{key:"set",value:function(e,t,n,i){return this.x=e,this.y=t,this.z=n,this.w=i,this}},{key:"toString",value:function(){return this.x+","+this.y+","+this.z+","+this.w}},{key:"toArray",value:function(){return[this.x,this.y,this.z,this.w]}},{key:"setFromAxisAngle",value:function(e,t){var n=Math.sin(.5*t);return this.x=e.x*n,this.y=e.y*n,this.z=e.z*n,this.w=Math.cos(.5*t),this}},{key:"toAxisAngle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new BF;this.normalize();var t=2*Math.acos(this.w),n=Math.sqrt(1-this.w*this.w);return n<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/n,e.y=this.y/n,e.z=this.z/n),[e,t]}},{key:"setFromVectors",value:function(e,t){if(e.isAntiparallelTo(t)){var n=XF;e.tangents(n,YF),this.setFromAxisAngle(n,Math.PI)}else{var i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(A(e.length(),2)*A(t.length(),2))+e.dot(t),this.normalize()}return this}},{key:"mult",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new e,i=this.x,r=this.y,o=this.z,a=this.w,s=t.x,u=t.y,c=t.z,l=t.w;return n.x=i*l+a*s+r*c-o*u,n.y=r*l+a*u+o*s-i*c,n.z=o*l+a*c+i*u-r*s,n.w=a*l-i*s-r*u-o*c,n}},{key:"inverse",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e,n=this.x,i=this.y,r=this.z,o=this.w;this.conjugate(t);var a=1/(n*n+i*i+r*r+o*o);return t.x*=a,t.y*=a,t.z*=a,t.w*=a,t}},{key:"conjugate",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e;return t.x=-this.x,t.y=-this.y,t.z=-this.z,t.w=this.w,t}},{key:"normalize",value:function(){var e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}},{key:"normalizeFast",value:function(){var e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}},{key:"vmult",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF,n=e.x,i=e.y,r=e.z,o=this.x,a=this.y,s=this.z,u=this.w,c=u*n+a*r-s*i,l=u*i+s*n-o*r,h=u*r+o*i-a*n,d=-o*n-a*i-s*r;return t.x=c*u+d*-o+l*-s-h*-a,t.y=l*u+d*-a+h*-o-c*-s,t.z=h*u+d*-s+c*-a-l*-o,t}},{key:"copy",value:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}},{key:"toEuler",value:function(e){var t,n,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YZX",o=this.x,a=this.y,s=this.z,u=this.w;switch(r){case"YZX":var c=o*a+s*u;if(c>.499&&(t=2*Math.atan2(o,u),n=Math.PI/2,i=0),c<-.499&&(t=-2*Math.atan2(o,u),n=-Math.PI/2,i=0),void 0===t){var l=o*o,h=s*s;t=Math.atan2(2*a*u-2*o*s,1-a*a*2-2*h),n=Math.asin(2*c),i=Math.atan2(2*o*u-2*a*s,1-2*l-2*h)}break;default:throw new Error("Euler order "+r+" not supported yet.")}e.y=t,e.z=n,e.x=i}},{key:"setFromEuler",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"XYZ",r=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(n/2),s=Math.sin(e/2),u=Math.sin(t/2),c=Math.sin(n/2);return"XYZ"===i?(this.x=s*o*a+r*u*c,this.y=r*u*a-s*o*c,this.z=r*o*c+s*u*a,this.w=r*o*a-s*u*c):"YXZ"===i?(this.x=s*o*a+r*u*c,this.y=r*u*a-s*o*c,this.z=r*o*c-s*u*a,this.w=r*o*a+s*u*c):"ZXY"===i?(this.x=s*o*a-r*u*c,this.y=r*u*a+s*o*c,this.z=r*o*c+s*u*a,this.w=r*o*a-s*u*c):"ZYX"===i?(this.x=s*o*a-r*u*c,this.y=r*u*a+s*o*c,this.z=r*o*c-s*u*a,this.w=r*o*a+s*u*c):"YZX"===i?(this.x=s*o*a+r*u*c,this.y=r*u*a+s*o*c,this.z=r*o*c-s*u*a,this.w=r*o*a-s*u*c):"XZY"===i&&(this.x=s*o*a-r*u*c,this.y=r*u*a-s*o*c,this.z=r*o*c+s*u*a,this.w=r*o*a+s*u*c),this}},{key:"clone",value:function(){return new e(this.x,this.y,this.z,this.w)}},{key:"slerp",value:function(t,n){var i,r,o,a,s,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new e,c=this.x,l=this.y,h=this.z,d=this.w,f=t.x,p=t.y,v=t.z,g=t.w;return(r=c*f+l*p+h*v+d*g)<0&&(r=-r,f=-f,p=-p,v=-v,g=-g),1-r>1e-6?(i=Math.acos(r),o=Math.sin(i),a=Math.sin((1-n)*i)/o,s=Math.sin(n*i)/o):(a=1-n,s=n),u.x=a*c+s*f,u.y=a*l+s*p,u.z=a*h+s*v,u.w=a*d+s*g,u}},{key:"integrate",value:function(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new e,o=t.x*i.x,a=t.y*i.y,s=t.z*i.z,u=this.x,c=this.y,l=this.z,h=this.w,d=.5*n;return r.x+=d*(o*h+a*l-s*c),r.y+=d*(a*h+s*u-o*l),r.z+=d*(s*h+o*c-a*u),r.w+=d*(-o*u-a*c-s*l),r}}]),e}(),XF=new BF,YF=new BF,KF={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256},$F=function(){var e=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=e.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}return b(e,[{key:"updateBoundingSphereRadius",value:function(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}},{key:"volume",value:function(){throw"volume() not implemented for shape type "+this.type}},{key:"calculateLocalInertia",value:function(e,t){throw"calculateLocalInertia() not implemented for shape type "+this.type}},{key:"calculateWorldAABB",value:function(e,t,n,i){throw"calculateWorldAABB() not implemented for shape type "+this.type}}]),e}();return e.idCounter=0,e.types=KF,e}(),QF=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.position=void 0,this.quaternion=void 0,this.position=new BF,this.quaternion=new qF,t.position&&this.position.copy(t.position),t.quaternion&&this.quaternion.copy(t.quaternion)}return b(e,[{key:"pointToLocal",value:function(t,n){return e.pointToLocalFrame(this.position,this.quaternion,t,n)}},{key:"pointToWorld",value:function(t,n){return e.pointToWorldFrame(this.position,this.quaternion,t,n)}},{key:"vectorToWorldFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return this.quaternion.vmult(e,t),t}}],[{key:"pointToLocalFrame",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new BF;return n.vsub(e,i),t.conjugate(ZF),ZF.vmult(i,i),i}},{key:"pointToWorldFrame",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new BF;return t.vmult(n,i),i.vadd(e,i),i}},{key:"vectorToWorldFrame",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new BF;return e.vmult(t,n),n}},{key:"vectorToLocalFrame",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new BF;return t.w*=-1,t.vmult(n,i),t.w*=-1,i}}]),e}(),ZF=new qF,JF=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};m(this,n);var r=i.vertices,o=void 0===r?[]:r,a=i.faces,s=void 0===a?[]:a,u=i.normals,c=void 0===u?[]:u,l=i.axes,h=i.boundingSphereRadius;return(e=t.call(this,{type:$F.types.CONVEXPOLYHEDRON})).vertices=void 0,e.faces=void 0,e.faceNormals=void 0,e.worldVertices=void 0,e.worldVerticesNeedsUpdate=void 0,e.worldFaceNormals=void 0,e.worldFaceNormalsNeedsUpdate=void 0,e.uniqueAxes=void 0,e.uniqueEdges=void 0,e.vertices=o,e.faces=s,e.faceNormals=c,0===e.faceNormals.length&&e.computeNormals(),h?e.boundingSphereRadius=h:e.updateBoundingSphereRadius(),e.worldVertices=[],e.worldVerticesNeedsUpdate=!0,e.worldFaceNormals=[],e.worldFaceNormalsNeedsUpdate=!0,e.uniqueAxes=l?l.slice():null,e.uniqueEdges=[],e.computeEdges(),e}return b(n,[{key:"computeEdges",value:function(){var e=this.faces,t=this.vertices,n=this.uniqueEdges;n.length=0;for(var i=new BF,r=0;r!==e.length;r++)for(var o=e[r],a=o.length,s=0;s!==a;s++){t[o[s]].vsub(t[o[(s+1)%a]],i),i.normalize();for(var u=!1,c=0;c!==n.length;c++)if(n[c].almostEquals(i)||n[c].almostEquals(i)){u=!0;break}u||n.push(i.clone())}}},{key:"computeNormals",value:function(){this.faceNormals.length=this.faces.length;for(var e=0;eh&&(h=f,l=d)}for(var p=[],v=0;v=0&&this.clipFaceAgainstHull(o,e,t,p,a,s,u)}},{key:"findSeparatingAxis",value:function(e,t,n,i,r,o,a,s){var u=new BF,c=new BF,l=new BF,h=new BF,d=new BF,f=new BF,p=Number.MAX_VALUE,v=this;if(v.uniqueAxes)for(var g=0;g!==v.uniqueAxes.length;g++){n.vmult(v.uniqueAxes[g],u);var m=v.testSepAxis(u,e,t,n,i,r);if(!1===m)return!1;m0&&o.negate(o),!0}},{key:"testSepAxis",value:function(e,t,i,r,o,a){n.project(this,e,i,r,eB),n.project(t,e,o,a,tB);var s=eB[0],u=eB[1],c=tB[0],l=tB[1];if(st.x&&(t.x=r.x),r.yt.y&&(t.y=r.y),r.zt.z&&(t.z=r.z)}}},{key:"computeWorldFaceNormals",value:function(e){for(var t=this.faceNormals.length;this.worldFaceNormals.lengthe&&(e=i)}this.boundingSphereRadius=Math.sqrt(e)}},{key:"calculateWorldAABB",value:function(e,t,n,i){for(var r,o,a,s,u,c,l=this.vertices,h=new BF,d=0;ds)&&(s=f.x),(void 0===o||f.yu)&&(u=f.y),(void 0===a||f.zc)&&(c=f.z)}n.set(r,o,a),i.set(s,u,c)}},{key:"volume",value:function(){return 4*Math.PI*this.boundingSphereRadius/3}},{key:"getAveragePointLocal",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new BF,t=this.vertices,n=0;n0||c>0&&h<0)return!1}return-1}}],[{key:"computeNormal",value:function(e,t,n,i){var r=new BF,o=new BF;t.vsub(e,o),n.vsub(t,r),r.cross(o,i),i.isZero()||i.normalize()}},{key:"project",value:function(e,t,n,i,r){var o=e.vertices.length,a=nB,s=0,u=0,c=iB,l=e.vertices;c.setZero(),QF.vectorToLocalFrame(n,i,t,a),QF.pointToLocalFrame(n,i,c,c);var h=c.dot(a);u=s=l[0].dot(a);for(var d=1;ds&&(s=f),f(s-=h)){var p=u;u=s,s=p}r[0]=s,r[1]=u}}]),n}($F),eB=[],tB=[],nB=new BF,iB=new BF,rB=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this,{type:$F.types.BOX})).halfExtents=void 0,i.convexPolyhedronRepresentation=void 0,i.halfExtents=e,i.convexPolyhedronRepresentation=null,i.updateConvexPolyhedronRepresentation(),i.updateBoundingSphereRadius(),i}return b(n,[{key:"updateConvexPolyhedronRepresentation",value:function(){var e=this.halfExtents.x,t=this.halfExtents.y,n=this.halfExtents.z,i=BF,r=[new i(-e,-t,-n),new i(e,-t,-n),new i(e,t,-n),new i(-e,t,-n),new i(-e,-t,n),new i(e,-t,n),new i(e,t,n),new i(-e,t,n)],o=[new i(0,0,1),new i(0,1,0),new i(1,0,0)],a=new JF({vertices:r,faces:[[3,2,1,0],[4,5,6,7],[5,4,0,1],[2,3,7,6],[0,4,7,3],[1,2,6,5]],axes:o});this.convexPolyhedronRepresentation=a,a.material=this.material}},{key:"calculateLocalInertia",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return n.calculateInertia(this.halfExtents,e,t),t}},{key:"getSideNormals",value:function(e,t){var n=e,i=this.halfExtents;if(n[0].set(i.x,0,0),n[1].set(0,i.y,0),n[2].set(0,0,i.z),n[3].set(-i.x,0,0),n[4].set(0,-i.y,0),n[5].set(0,0,-i.z),void 0!==t)for(var r=0;r!==n.length;r++)t.vmult(n[r],n[r]);return n}},{key:"volume",value:function(){return 8*this.halfExtents.x*this.halfExtents.y*this.halfExtents.z}},{key:"updateBoundingSphereRadius",value:function(){this.boundingSphereRadius=this.halfExtents.length()}},{key:"forEachWorldCorner",value:function(e,t,n){for(var i=this.halfExtents,r=[[i.x,i.y,i.z],[-i.x,i.y,i.z],[-i.x,-i.y,i.z],[-i.x,-i.y,-i.z],[i.x,-i.y,-i.z],[i.x,i.y,-i.z],[-i.x,i.y,-i.z],[i.x,-i.y,i.z]],o=0;oi.x&&(i.x=u),c>i.y&&(i.y=c),l>i.z&&(i.z=l),u0&&void 0!==arguments[0]?arguments[0]:{};m(this,n),(e=t.call(this)).id=void 0,e.index=void 0,e.world=void 0,e.preStep=void 0,e.postStep=void 0,e.vlambda=void 0,e.collisionFilterGroup=void 0,e.collisionFilterMask=void 0,e.collisionResponse=void 0,e.position=void 0,e.previousPosition=void 0,e.interpolatedPosition=void 0,e.initPosition=void 0,e.velocity=void 0,e.initVelocity=void 0,e.force=void 0,e.mass=void 0,e.invMass=void 0,e.material=void 0,e.linearDamping=void 0,e.type=void 0,e.allowSleep=void 0,e.sleepState=void 0,e.sleepSpeedLimit=void 0,e.sleepTimeLimit=void 0,e.timeLastSleepy=void 0,e.wakeUpAfterNarrowphase=void 0,e.torque=void 0,e.quaternion=void 0,e.initQuaternion=void 0,e.previousQuaternion=void 0,e.interpolatedQuaternion=void 0,e.angularVelocity=void 0,e.initAngularVelocity=void 0,e.shapes=void 0,e.shapeOffsets=void 0,e.shapeOrientations=void 0,e.inertia=void 0,e.invInertia=void 0,e.invInertiaWorld=void 0,e.invMassSolve=void 0,e.invInertiaSolve=void 0,e.invInertiaWorldSolve=void 0,e.fixedRotation=void 0,e.angularDamping=void 0,e.linearFactor=void 0,e.angularFactor=void 0,e.aabb=void 0,e.aabbNeedsUpdate=void 0,e.boundingRadius=void 0,e.wlambda=void 0,e.isTrigger=void 0,e.id=n.idCounter++,e.index=-1,e.world=null,e.preStep=null,e.postStep=null,e.vlambda=new BF,e.collisionFilterGroup="number"==typeof i.collisionFilterGroup?i.collisionFilterGroup:1,e.collisionFilterMask="number"==typeof i.collisionFilterMask?i.collisionFilterMask:-1,e.collisionResponse="boolean"!=typeof i.collisionResponse||i.collisionResponse,e.position=new BF,e.previousPosition=new BF,e.interpolatedPosition=new BF,e.initPosition=new BF,i.position&&(e.position.copy(i.position),e.previousPosition.copy(i.position),e.interpolatedPosition.copy(i.position),e.initPosition.copy(i.position)),e.velocity=new BF,i.velocity&&e.velocity.copy(i.velocity),e.initVelocity=new BF,e.force=new BF;var r="number"==typeof i.mass?i.mass:0;return e.mass=r,e.invMass=r>0?1/r:0,e.material=i.material||null,e.linearDamping="number"==typeof i.linearDamping?i.linearDamping:.01,e.type=r<=0?n.STATIC:n.DYNAMIC,typeof i.type==typeof n.STATIC&&(e.type=i.type),e.allowSleep=void 0===i.allowSleep||i.allowSleep,e.sleepState=n.AWAKE,e.sleepSpeedLimit=void 0!==i.sleepSpeedLimit?i.sleepSpeedLimit:.1,e.sleepTimeLimit=void 0!==i.sleepTimeLimit?i.sleepTimeLimit:1,e.timeLastSleepy=0,e.wakeUpAfterNarrowphase=!1,e.torque=new BF,e.quaternion=new qF,e.initQuaternion=new qF,e.previousQuaternion=new qF,e.interpolatedQuaternion=new qF,i.quaternion&&(e.quaternion.copy(i.quaternion),e.initQuaternion.copy(i.quaternion),e.previousQuaternion.copy(i.quaternion),e.interpolatedQuaternion.copy(i.quaternion)),e.angularVelocity=new BF,i.angularVelocity&&e.angularVelocity.copy(i.angularVelocity),e.initAngularVelocity=new BF,e.shapes=[],e.shapeOffsets=[],e.shapeOrientations=[],e.inertia=new BF,e.invInertia=new BF,e.invInertiaWorld=new jF,e.invMassSolve=0,e.invInertiaSolve=new BF,e.invInertiaWorldSolve=new jF,e.fixedRotation=void 0!==i.fixedRotation&&i.fixedRotation,e.angularDamping=void 0!==i.angularDamping?i.angularDamping:.01,e.linearFactor=new BF(1,1,1),i.linearFactor&&e.linearFactor.copy(i.linearFactor),e.angularFactor=new BF(1,1,1),i.angularFactor&&e.angularFactor.copy(i.angularFactor),e.aabb=new HF,e.aabbNeedsUpdate=!0,e.boundingRadius=0,e.wlambda=new BF,e.isTrigger=Boolean(i.isTrigger),i.shape&&e.addShape(i.shape),e.updateMassProperties(),e}return b(n,[{key:"wakeUp",value:function(){var e=this.sleepState;this.sleepState=n.AWAKE,this.wakeUpAfterNarrowphase=!1,e===n.SLEEPING&&this.dispatchEvent(n.wakeupEvent)}},{key:"sleep",value:function(){this.sleepState=n.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}},{key:"sleepTick",value:function(e){if(this.allowSleep){var t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=A(this.sleepSpeedLimit,2);t===n.AWAKE&&ir?this.wakeUp():t===n.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(n.sleepEvent))}}},{key:"updateSolveMassProperties",value:function(){this.sleepState===n.SLEEPING||this.type===n.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}},{key:"pointToLocalFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}},{key:"vectorToLocalFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return this.quaternion.conjugate().vmult(e,t),t}},{key:"pointToWorldFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}},{key:"vectorToWorldFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;return this.quaternion.vmult(e,t),t}},{key:"addShape",value:function(e,t,n){var i=new BF,r=new qF;return t&&i.copy(t),n&&r.copy(n),this.shapes.push(e),this.shapeOffsets.push(i),this.shapeOrientations.push(r),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}},{key:"removeShape",value:function(e){var t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}},{key:"updateBoundingRadius",value:function(){for(var e=this.shapes,t=this.shapeOffsets,n=e.length,i=0,r=0;r!==n;r++){var o=e[r];o.updateBoundingSphereRadius();var a=t[r].length(),s=o.boundingSphereRadius;a+s>i&&(i=a+s)}this.boundingRadius=i}},{key:"updateAABB",value:function(){for(var e=this.shapes,t=this.shapeOffsets,n=this.shapeOrientations,i=e.length,r=uB,o=cB,a=this.quaternion,s=this.aabb,u=lB,c=0;c!==i;c++){var l=e[c];a.vmult(t[c],r),r.vadd(this.position,r),a.mult(n[c],o),l.calculateWorldAABB(r,o,u.lowerBound,u.upperBound),0===c?s.copy(u):s.extend(u)}this.aabbNeedsUpdate=!1}},{key:"updateInertiaWorld",value:function(e){var t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){var n=hB,i=dB;n.setRotationFromQuaternion(this.quaternion),n.transpose(i),n.scale(t,n),n.mmult(i,this.invInertiaWorld)}}},{key:"applyForce",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;if(this.type===n.DYNAMIC){this.sleepState===n.SLEEPING&&this.wakeUp();var i=fB;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}}},{key:"applyLocalForce",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;if(this.type===n.DYNAMIC){var i=pB,r=vB;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}}},{key:"applyTorque",value:function(e){this.type===n.DYNAMIC&&(this.sleepState===n.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}},{key:"applyImpulse",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;if(this.type===n.DYNAMIC){this.sleepState===n.SLEEPING&&this.wakeUp();var i=t,r=gB;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);var o=mB;i.cross(e,o),this.invInertiaWorld.vmult(o,o),this.angularVelocity.vadd(o,this.angularVelocity)}}},{key:"applyLocalImpulse",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;if(this.type===n.DYNAMIC){var i=yB,r=bB;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}}},{key:"updateMassProperties",value:function(){var e=_B;this.invMass=this.mass>0?1/this.mass:0;var t=this.inertia,n=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),rB.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!n?1/t.x:0,t.y>0&&!n?1/t.y:0,t.z>0&&!n?1/t.z:0),this.updateInertiaWorld(!0)}},{key:"getVelocityAtWorldPoint",value:function(e,t){var n=new BF;return e.vsub(this.position,n),this.angularVelocity.cross(n,t),this.velocity.vadd(t,t),t}},{key:"integrate",value:function(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),(this.type===n.DYNAMIC||this.type===n.KINEMATIC)&&this.sleepState!==n.SLEEPING){var r=this.velocity,o=this.angularVelocity,a=this.position,s=this.force,u=this.torque,c=this.quaternion,l=this.invInertiaWorld,h=this.linearFactor,d=this.invMass*e;r.x+=s.x*d*h.x,r.y+=s.y*d*h.y,r.z+=s.z*d*h.z;var f=l.elements,p=this.angularFactor,v=u.x*p.x,g=u.y*p.y,m=u.z*p.z;o.x+=e*(f[0]*v+f[1]*g+f[2]*m),o.y+=e*(f[3]*v+f[4]*g+f[5]*m),o.z+=e*(f[6]*v+f[7]*g+f[8]*m),a.x+=r.x*e,a.y+=r.y*e,a.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}}]),n}(function(){function e(){m(this,e),this._listeners=void 0}return b(e,[{key:"addEventListener",value:function(e,t){void 0===this._listeners&&(this._listeners={});var n=this._listeners;return void 0===n[e]&&(n[e]=[]),n[e].includes(t)||n[e].push(t),this}},{key:"hasEventListener",value:function(e,t){if(void 0===this._listeners)return!1;var n=this._listeners;return!(void 0===n[e]||!n[e].includes(t))}},{key:"hasAnyEventListener",value:function(e){return void 0!==this._listeners&&void 0!==this._listeners[e]}},{key:"removeEventListener",value:function(e,t){if(void 0===this._listeners)return this;var n=this._listeners;if(void 0===n[e])return this;var i=n[e].indexOf(t);return-1!==i&&n[e].splice(i,1),this}},{key:"dispatchEvent",value:function(e){if(void 0===this._listeners)return this;var t=this._listeners[e.type];if(void 0!==t){e.target=this;for(var n=0,i=t.length;n0&&void 0!==arguments[0]?arguments[0]:new BF,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new BF;m(this,s),this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new BF,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=s.ANY,this.result=new wB,this.hasHit=!1,this.callback=function(e){}}return b(s,[{key:e,get:function(){return this._intersectSphere}},{key:t,get:function(){return this._intersectPlane}},{key:n,get:function(){return this._intersectBox}},{key:i,get:function(){return this._intersectConvex}},{key:r,get:function(){return this._intersectConvex}},{key:o,get:function(){return this._intersectHeightfield}},{key:a,get:function(){return this._intersectTrimesh}},{key:"intersectWorld",value:function(e,t){return this.mode=t.mode||s.ANY,this.result=t.result||new wB,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||function(){},this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(xB),SB.length=0,e.broadphase.aabbQuery(e,xB,SB),this.intersectBodies(SB),this.hasHit}},{key:"intersectBody",value:function(e,t){t&&(this.result=t,this.updateDirection());var n=this.checkCollisionResponse;if((!n||e.collisionResponse)&&0!=(this.collisionFilterGroup&e.collisionFilterMask)&&0!=(e.collisionFilterGroup&this.collisionFilterMask))for(var i=OB,r=TB,o=0,a=e.shapes.length;oe.boundingSphereRadius)){var r=this[e.type];r&&r.call(this,e,t,n,i,e)}}},{key:"_intersectBox",value:function(e,t,n,i,r){return this._intersectConvex(e.convexPolyhedronRepresentation,t,n,i,r)}},{key:"_intersectPlane",value:function(e,t,n,i,r){var o=this.from,a=this.to,s=this.direction,u=new BF(0,0,1);t.vmult(u,u);var c=new BF;o.vsub(n,c);var l=c.dot(u);if(a.vsub(n,c),!(l*c.dot(u)>0||o.distanceTo(a)=0&&p<=1&&(o.lerp(a,p,d),d.vsub(n,f),f.normalize(),this.reportIntersection(f,d,r,i,-1)),this.result.shouldStop)return;v>=0&&v<=1&&(o.lerp(a,v,d),d.vsub(n,f),f.normalize(),this.reportIntersection(f,d,r,i,-1))}}},{key:"_intersectConvex",value:function(e,t,n,i,r,o){for(var a=BB,u=VB,c=o&&o.faceList||null,l=e.faces,h=e.vertices,d=e.faceNormals,f=this.direction,p=this.from,v=p.distanceTo(this.to),g=c?c.length:l.length,m=this.result,y=0;!m.shouldStop&&yv||this.reportIntersection(a,AB,r,i,b)}}}}}},{key:"_intersectTrimesh",value:function(e,t,n,i,r,o){var a=zB,u=XB,c=YB,l=VB,h=UB,d=HB,f=GB,p=qB,v=WB,g=e.indices,m=this.from,y=this.to,b=this.direction;c.position.copy(n),c.quaternion.copy(t),QF.vectorToLocalFrame(n,t,b,h),QF.pointToLocalFrame(n,t,m,d),QF.pointToLocalFrame(n,t,y,f),f.x*=e.scale.x,f.y*=e.scale.y,f.z*=e.scale.z,d.x*=e.scale.x,d.y*=e.scale.y,d.z*=e.scale.z,f.vsub(d,h),h.normalize();var _=d.distanceSquared(f);e.tree.rayQuery(this,c,u);for(var w=0,k=u.length;!this.result.shouldStop&&w!==k;w++){var x=u[w];e.getNormal(x,a),e.getVertex(g[3*x],PB),PB.vsub(d,l);var S=h.dot(a),C=a.dot(l)/S;if(!(C<0)){h.scale(C,AB),AB.vadd(d,AB),e.getVertex(g[3*x+1],MB),e.getVertex(g[3*x+2],IB);var E=AB.distanceSquared(d);!s.pointInTriangle(AB,MB,PB,IB)&&!s.pointInTriangle(AB,PB,MB,IB)||E>_||(QF.vectorToWorldFrame(t,a,v),QF.pointToWorldFrame(n,t,AB,p),this.reportIntersection(v,p,r,i,x))}}u.length=0}},{key:"reportIntersection",value:function(e,t,n,i,r){var o=this.from,a=this.to,u=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==r?r:-1,this.mode){case s.ALL:this.hasHit=!0,c.set(o,a,e,t,n,i,u),c.hasHit=!0,this.callback(c);break;case s.CLOSEST:(u=0&&(o=a*l-s*u)>=0&&r+o0){var o,a=_(e.mesh.primitives);try{for(a.s();!(o=a.n()).done;){var s=o.value;s.attributes.POSITION&&s.attributes.POSITION.min&&function(){var o=r.transformAsPoint(s.attributes.POSITION.min,[]),a=r.transformAsPoint(s.attributes.POSITION.max,[]);i.push({"@id":t["@id"],name:e.name,entityId:t.entityId,bbox:new HF({lowerBound:h(BF,v(o.map(function(e,t){return Math.min(e,a[t])}))),upperBound:h(BF,v(a.map(function(e,t){return Math.max(e,o[t])})))}),gltf:n})}()}}catch(E){a.e(E)}finally{a.f()}}return!0})}catch(E){r.e(E)}finally{r.f()}case 6:case"end":return e.stop()}},e)}),r.s();case 6:if((o=r.n()).done){t.next=10;break}return t.delegateYield(a(),"t0",8);case 8:t.next=6;break;case 10:t.next=15;break;case 12:t.prev=12,t.t1=t.catch(3),r.e(t.t1);case 15:return t.prev=15,r.f(),t.finish(15);case 18:s=[],u=[],c=_(n);try{for(c.s();!(l=c.n()).done;){d=l.value,f=[],p=_(i);try{for(p.s();!(g=p.n()).done;)m=g.value,d.bbox.overlaps(m.bbox)&&f.push({"@id":m["@id"],name:m.name})}catch(E){p.e(E)}finally{p.f()}f.length>0?s.push({"@id":d.entityId,name:d.name,hits:f}):u.push(d)}}catch(E){c.e(E)}finally{c.f()}for(console.log({sourceBoxes:n,targetBoxes:i,report:s,sad:u,maxHits:Math.max.apply(Math,v(s.map(function(e){return e.hits.length})))}),y=[],b=0,w=s;b1&&void 0!==arguments[1]?arguments[1]:[],i=_(e.nodes||e.children||[]);try{for(i.s();!(t=i.n()).done;){var r=t.value;n.push(r.name),cV(r,n)}}catch(o){i.e(o)}finally{i.f()}return n}var lV=function(){var e=function(){function e(t){var n,i,r,o,a,s=this;m(this,e),this.deckProps=t,this.bodyUILayer=new uV({}),this.nodeClickSubject=new ae,this.nodeHoverStartSubject=new ae,this.nodeHoverStopSubject=new ae,this.sceneRotationSubject=new vv([0,0]),this.nodeDragStartSubject=new ae,this.nodeDragSubject=new ae,this.nodeDragEndSubject=new ae,this.nodeClick$=this.nodeClickSubject.pipe(je()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(je()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(je()),this.sceneRotation$=this.sceneRotationSubject.pipe(je()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(je()),this.nodeDrag$=this.nodeDragSubject.pipe(je()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(je());var u=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new UM({flipY:!1,near:-1e3}):new qM({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:function(e){var t;return null!==(t=s.cursor)&&void 0!==t?t:e.isDragging?"grabbing":"grab"}});t.legacyLighting&&(u.effects=[new mI({ambientLight:new KM({color:[255,255,255],intensity:10})})]),this.deck=new kD(u),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(n=t.minRotationX)&&void 0!==n?n:-15,maxRotationX:null!==(i=t.maxRotationX)&&void 0!==i?i:15,target:null!==(r=t.target)&&void 0!==r?r:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}return b(e,[{key:"initialize",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.bodyUILayer.state){e.next=5;break}return e.next=3,new Promise(function(e){setTimeout(e,200)});case 3:e.next=0;break;case 5:case"end":return e.stop()}},e,this)}))}},{key:"finalize",value:function(){this.deck.finalize()}},{key:"setScene",value:function(e){if((null==e?void 0:e.length)>0){var t,n=this.bodyUILayer.state.zoomOpacity,i=!1,r=_(e);try{for(r.s();!(t=r.n()).done;){var o=t.value;o.zoomToOnLoad&&(this.zoomTo(o),i=!0)}}catch(a){r.e(a)}finally{r.f()}n=i?.05:n,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(e,n):this.bodyUILayer.setState({data:e,zoomOpacity:n})}}},{key:"debugSceneNodeProcessing",value:function(e,t){var n=this,i="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",r=new $O([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(e,t,n,i){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,r,o,a,s,u,c,l,d,f,p,g,m,y,b,w,k,x,S,C;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return nV(),n.next=3,rV({scenegraph:e,scenegraphNode:"VHF_Kidney_L_Low1"},void 0);case 3:i=n.sent,r={},o=[],a=_(i.scenes);try{for(a.s();!(s=a.n()).done;)tV(s.value,t=new $O(t||$O.IDENTITY),function(n,i){var a={"@id":n.name||n.id,"@type":"ProcessedNode",transformMatrix:new $O(i),geometry:"wireframe",node:n};if(o.push({"@id":"GLTF:".concat(a["@id"]),"@type":"GLTFNode",scenegraph:e,scenegraphNode:a["@id"],transformMatrix:new $O(t||$O.IDENTITY),tooltip:n.name||n.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:n}),n.mesh&&n.mesh.primitives&&n.mesh.primitives.length>0){var s,u=_(n.mesh.primitives);try{for(u.s();!(s=u.n()).done;){var c=s.value;c.attributes.POSITION&&c.attributes.POSITION.min&&function(){var e=i.transformAsPoint(c.attributes.POSITION.min,[]),t=i.transformAsPoint(c.attributes.POSITION.max,[]);a.bbox=new HF({lowerBound:h(BF,v(e.map(function(e,n){return Math.min(e,t[n])}))),upperBound:h(BF,v(t.map(function(t,n){return Math.max(t,e[n])})))})}()}}catch(l){u.e(l)}finally{u.f()}}return r[a["@id"]]=a,!0})}catch(E){a.e(E)}finally{a.f()}u=_(Object.values(r).filter(function(e){return!e.bbox}));try{for(u.s();!(c=u.n()).done;){l=c.value,d=_(cV(l.node).map(function(e){return r[e]}).filter(function(e){return e.bbox}));try{for(d.s();!(f=d.n()).done;)p=f.value,l.bbox?l.bbox.extend(p.bbox):l.bbox=p.bbox.clone()}catch(E){d.e(E)}finally{d.f()}l.bbox||delete r[l["@id"]]}}catch(E){u.e(E)}finally{u.f()}for(g=0,m=Object.values(r);g1&&void 0!==arguments[1]?arguments[1]:hV,n=null,i=null;function r(){return dV(t,n,arguments)||(i=e.apply(null,arguments)),n=arguments,i}return r.reset=function(){n=null,i=null},r}var pV=fV(function(){var e=ch();if(!e)return!1;var t=e.injector.get(Gl,null);return!!t&&t.some(function(e){return(e&&e.providers||[]).some(function(e){return e&&e.provide&&"MockNgModuleResolver"===e.provide.name||!1})})}),vV=function(){var e=function(){function e(){m(this,e),this.bootstrap$=new Bf(1)}return b(e,[{key:"appBootstrapped$",get:function(){return this.bootstrap$.asObservable()}},{key:"bootstrap",value:function(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),gV=new Ri("INITIAL_STATE_TOKEN"),mV=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"set",value:function(e){this.value=e}},{key:"pop",value:function(){var e=this.value;return this.value={},e}}]),e}();return e.value={},e}(),yV=new Ri("Internals.StateContextFactory"),bV=new Ri("Internals.StateFactory");function _V(e,t){return t?function(n){return n.pipe(_V(function(n,i){return ye(e(n,i)).pipe(ce(function(e,r){return t(n,e,i,r)}))}))}:function(t){return t.lift(new wV(e))}}var wV=function(){function e(t){m(this,e),this.project=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new kV(e,this.project))}}]),e}(),kV=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).project=i,r.hasSubscription=!1,r.hasCompleted=!1,r.index=0,r}return b(n,[{key:"_next",value:function(e){this.hasSubscription||this.tryNext(e)}},{key:"tryNext",value:function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(i){return void this.destination.error(i)}this.hasSubscription=!0,this._innerSub(t)}},{key:"_innerSub",value:function(e){var t=new be(this),n=this.destination;n.add(t);var i=we(e,t);i!==t&&n.add(i)}},{key:"_complete",value:function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}},{key:"notifyNext",value:function(e){this.destination.next(e)}},{key:"notifyError",value:function(e){this.destination.error(e)}},{key:"notifyComplete",value:function(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}]),n}(_e);function xV(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return function(t){return t.lift(new SV(e))}}var SV=function(){function e(t){m(this,e),this.defaultValue=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new CV(e,this.defaultValue))}}]),e}(),CV=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).defaultValue=i,r.isEmpty=!0,r}return b(n,[{key:"_next",value:function(e){this.isEmpty=!1,this.destination.next(e)}},{key:"_complete",value:function(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}]),n}(K),EV=function(e){return"".concat(e," is not a valid state name. It needs to be a valid object property name.")},OV=function(){return"States must register a 'name' property"},TV=function(e,t,n){return"State name '".concat(e,"' from ").concat(t," already exists in ").concat(n)},AV=function(){return"States must be decorated with @State() decorator"},PV=function(){return"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })"},MV=function(){return"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })"},IV=function(){return"You have forgotten to import the NGXS module!"},RV=function(){return"@Action() decorator cannot be used with static methods"},DV=function(){return"Selectors only work on methods"},NV=function(){return"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })"},LV=function(){return"Patching arrays is not supported."},jV=function(){return"Patching primitives is not supported."},FV=function(e){return"'".concat(e,"' class should be decorated with @Injectable() right after the @State() decorator")},BV=function(){var e=function(){function e(t,n){m(this,e),this._ngZone=t,this._platformId=n,this.verifyZoneIsNotNooped(this._ngZone)}return b(e,[{key:"enter",value:function(e){return function(e){return"server"===e}(this._platformId)?this.runInsideAngular(e):this.runOutsideAngular(e)}},{key:"leave",value:function(e){return this.runInsideAngular(e)}},{key:"runInsideAngular",value:function(e){return Xl.isInAngularZone()?e():this._ngZone.run(e)}},{key:"runOutsideAngular",value:function(e){return Xl.isInAngularZone()?this._ngZone.runOutsideAngular(e):e()}},{key:"verifyZoneIsNotNooped",value:function(e){e instanceof Xl||console.warn(NV())}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Xl),Zi(Ml))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),VV=new Ri("ROOT_STATE_TOKEN"),zV=new Ri("FEATURE_STATE_TOKEN"),UV=new Ri("NGXS_PLUGINS"),HV=new Ri("NG_TEST_MODE"),GV=new Ri("NG_DEV_MODE"),WV="NGXS_META",qV="NGXS_OPTIONS_META",XV="NGXS_SELECTOR_META",YV=function(){var e=function e(){m(this,e),this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=BV};return e.\u0275prov=$e({token:e,factory:e.\u0275fac=function(t){return new(t||e)}}),e}(),KV=function e(t,n,i){m(this,e),this.previousValue=t,this.currentValue=n,this.firstChange=i},$V=new Ri("NGXS_EXECUTION_STRATEGY");function QV(e){return e.constructor&&e.constructor.type?e.constructor.type:e.type}var ZV=function(e,t,n){e=Object.assign({},e);var i=t.split("."),r=i.length-1;return i.reduce(function(e,t,i){return e[t]=i===r?n:Array.isArray(e[t])?e[t].slice():Object.assign({},e[t]),e&&e[t]},e),e},JV=function(e,t){return t.split(".").reduce(function(e,t){return e&&e[t]},e)},ez=function(e){return e&&"object"==typeof e&&!Array.isArray(e)},tz=function e(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:uz,i=function(e){return e.reduce(function(e,t){return e[QV(t)]=!0,e},{})}(e),r=t&&function(e){return e.reduce(function(e,t){return e[t]=!0,e},{})}(t);return function(e){return e.pipe(function(e,t){return bf(function(n){var i=QV(n.action);return e[i]&&(!t||t[n.status])})}(i,r),n())}}(t,["DISPATCHED"])}function uz(){return ce(function(e){return e.action})}function cz(e){return function(t){return new te(function(n){return t.subscribe({next:function(t){e.leave(function(){return n.next(t)})},error:function(t){e.leave(function(){return n.error(t)})},complete:function(){e.leave(function(){return n.complete()})}})})}}var lz=function(){var e=function(){function e(t){m(this,e),this._executionStrategy=t}return b(e,[{key:"enter",value:function(e){return this._executionStrategy.enter(e)}},{key:"leave",value:function(e){return this._executionStrategy.leave(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi($V))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),hz=function(t){a(i,t);var n=s(i);function i(){var e;return m(this,i),(e=n.apply(this,arguments))._itemQueue=[],e._busyPushingNext=!1,e}return b(i,[{key:"next",value:function(t){if(this._busyPushingNext)this._itemQueue.unshift(t);else{for(this._busyPushingNext=!0,e(p(i.prototype),"next",this).call(this,t);this._itemQueue.length>0;){var n=this._itemQueue.pop();e(p(i.prototype),"next",this).call(this,n)}this._busyPushingNext=!1}}}]),i}(ae),dz=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(hz);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275prov=$e({token:t,factory:t.\u0275fac}),t}(),fz=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this,function(t){var n=e.pipe(cz(i)).subscribe({next:function(e){return t.next(e)},error:function(e){return t.error(e)},complete:function(){return t.complete()}});t.add(n)})}return n}(te);return e.\u0275fac=function(t){return new(t||e)(Zi(dz),Zi(lz))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),pz=function e(t){return function(){for(var n=arguments.length,i=new Array(n),r=0;r1&&void 0!==arguments[1]?arguments[1]:[];Array.isArray(o)||(o=[]),o.push(r),n[r]=!0,e[r].forEach(function(e){if(o.indexOf(e)>=0)throw new Error("Circular dependency '".concat(e,"' is required by '").concat(r,"': ").concat(o.join(" -> ")));n[e]||i(e,o.slice(0))}),t.indexOf(r)<0&&t.push(r)};return Object.keys(e).forEach(function(e){return i(e)}),t.reverse()}(r),a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function e(t,n){for(var i in t)if(t.hasOwnProperty(i)&&t[i].indexOf(n)>=0){var r=e(t,i);return null!==r?"".concat(r,".").concat(i):i}return null};for(var i in e)if(e.hasOwnProperty(i)){var r=n(e,i);t[i]=r?"".concat(r,".").concat(i):i}return t}(r),s=function(e){return e.reduce(function(e,t){return e[t[WV].name]=t,e},{})}(n),u=[],c=_(o);try{for(c.s();!(i=c.n()).done;){var l=i.value,h=s[l],d=a[l],f=h[WV];this.addRuntimeInfoToMeta(f,d);var p={name:l,path:d,isInitialised:!1,actions:f.actions,instance:this._injector.get(h),defaults:e.cloneDefaults(f.defaults)};this.hasBeenMountedAndBootstrapped(l,d)||u.push(p),this.states.push(p)}}catch(v){c.e(v)}finally{c.f()}return u}},{key:"addAndReturnDefaults",value:function(e){var t=this.add(e||[]);return{defaults:t.reduce(function(e,t){return ZV(e,t.path,t.defaults)},{}),states:t}}},{key:"connectActionHandlers",value:function(){var e=this;null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(bf(function(e){return"DISPATCHED"===e.status}),ke(function(t){var n=t.action;return e.invokeActions(e._actions,n).pipe(ce(function(){return{action:n,status:"SUCCESSFUL"}}),xV({action:n,status:"CANCELED"}),Bb(function(e){return $d({action:n,status:"ERRORED",error:e})}))})).subscribe(function(t){return e._actionResults.next(t)}))}},{key:"invokeActions",value:function(e,t){var n,i=QV(t),r=[],o=_(this.states);try{for(o.s();!(n=o.n()).done;){var a=n.value,s=a.actions[i];if(s){var u,c=_(s);try{for(c.s();!(u=c.n()).done;){var l=u.value,h=this._stateContextFactory.createStateContext(a);try{var d=a.instance[l.fn](h,t);d instanceof Promise&&(d=ye(d)),d instanceof te?(d=d.pipe(xV({})),l.options.cancelUncompleted&&(d=d.pipe(kf(e.pipe(sz(t)))))):d=$d({}).pipe(zf()),r.push(d)}catch(d){r.push(Rf(d))}}}catch(f){c.e(f)}finally{c.f()}}}}catch(f){o.e(f)}finally{o.f()}return r.length||r.push($d({})),jb(r)}},{key:"addToStatesMap",value:function(e){var t,n=[],i=this.statesByName,r=_(e);try{for(r.s();!(t=r.n()).done;){var o=t.value,a=Sz.checkStateNameIsUnique(o,i);!i[a]&&(n.push(o),i[a]=o)}}catch(s){r.e(s)}finally{r.f()}return{newStates:n}}},{key:"addRuntimeInfoToMeta",value:function(e,t){this.statePaths[e.name]=t,e.path=t}},{key:"hasBeenMountedAndBootstrapped",value:function(e,t){var n=void 0!==JV(this._initialState,t);return this.statesByName[e]&&n}}],[{key:"cloneDefaults",value:function(e){return Array.isArray(e)?e.slice():function(e){return"object"==typeof e&&null!==e||"function"==typeof e}(e)?Object.assign({},e):void 0===e?{}:e}},{key:"checkStatesAreValid",value:function(e){e.forEach(Sz.getValidStateMeta)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ss),Zi(YV),Zi(e,12),Zi(dz),Zi(mz),Zi(xz),Zi(gV,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Ez=function(){var e=function(){function e(t,n,i){m(this,e),this.internalStateOperations=t,this.stateContextFactory=n,this.bootstrapper=i}return b(e,[{key:"ngxsBootstrap",value:function(e,t){var n=this;this.internalStateOperations.getRootStateOperations().dispatch(e).pipe(bf(function(){return!!t}),mv(function(){return n.invokeInit(t.states)}),ke(function(){return n.bootstrapper.appBootstrapped$}),bf(function(e){return!!e})).subscribe(function(){return n.invokeBootstrap(t.states)})}},{key:"invokeInit",value:function(e){var t,n=_(e);try{for(n.s();!(t=n.n()).done;){var i=t.value,r=i.instance;if(r.ngxsOnChanges){var o=az(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(o)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}catch(a){n.e(a)}finally{n.f()}}},{key:"invokeBootstrap",value:function(e){var t,n=_(e);try{for(n.s();!(t=n.n()).done;){var i=t.value,r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}catch(o){n.e(o)}finally{n.f()}}},{key:"getStateContext",value:function(e){return this.stateContextFactory.createStateContext(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(kz),Zi(xz),Zi(vV))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Oz=function(e){return e&&e.NGXS_SELECTOR_OPTIONS_META||{}};function Tz(e){var t=rz(e)||iz(e);return t&&t.makeRootSelector||function(){return e}}var Az=function(){var e=function(){function e(t,n,i,r,o,a){m(this,e),this._stateStream=t,this._internalStateOperations=n,this._config=i,this._internalExecutionStrategy=r,this._stateFactory=o,this.initStateStream(a)}return b(e,[{key:"dispatch",value:function(e){return this._internalStateOperations.getRootStateOperations().dispatch(e)}},{key:"select",value:function(e){var t=this,n=this.getStoreBoundSelectorFn(e);return this._stateStream.pipe(ce(n),Bb(function(e){var n=t._config.selectorOptions.suppressErrors;return e instanceof TypeError&&n?$d(void 0):Rf(e)}),lf(),cz(this._internalExecutionStrategy))}},{key:"selectOnce",value:function(e){return this.select(e).pipe(_p(1))}},{key:"selectSnapshot",value:function(e){return this.getStoreBoundSelectorFn(e)(this._stateStream.getValue())}},{key:"subscribe",value:function(e){return this._stateStream.pipe(cz(this._internalExecutionStrategy)).subscribe(e)}},{key:"snapshot",value:function(){return this._internalStateOperations.getRootStateOperations().getState()}},{key:"reset",value:function(e){return this._internalStateOperations.getRootStateOperations().setState(e)}},{key:"getStoreBoundSelectorFn",value:function(e){return Tz(e)(this._stateFactory.getRuntimeSelectorContext())}},{key:"initStateStream",value:function(e){var t=this._stateStream.value;if(!t||0===Object.keys(t).length){var n=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,e):e;this._stateStream.next(n)}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(vz),Zi(kz),Zi(YV),Zi(lz),Zi(Cz),Zi(gV,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),Pz=function(){var e=function(){function e(t,n){m(this,e),e.store=t,e.config=n}return b(e,[{key:"ngOnDestroy",value:function(){e.store=null,e.config=null}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Az),Zi(YV))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e.store=null,e.config=null,e}(),Mz=function(){function e(){m(this,e)}return b(e,null,[{key:"type",get:function(){return"@@INIT"}}]),e}(),Iz=function(){function e(t){m(this,e),this.addedStates=t}return b(e,null,[{key:"type",get:function(){return"@@UPDATE_STATE"}}]),e}(),Rz=new Bf(1),Dz=function(){var e=function e(t,n,i,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],a=arguments.length>5?arguments[5]:void 0;m(this,e),function(){try{var t=window.ng,n=!(t.probe&&t.coreTokens)&&ah();Rz.next(n)}catch(e){Rz.next(!1)}finally{Rz.complete()}}();var s=t.addAndReturnDefaults(o);n.setStateToTheCurrentWithNew(s),t.connectActionHandlers(),a.ngxsBootstrap(new Mz,s)};return e.\u0275fac=function(t){return new(t||e)(Zi(Cz),Zi(kz),Zi(Az),Zi(Pz),Zi(VV,8),Zi(Ez))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),Nz=function(){var e=function(){function e(t,n,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4?arguments[4]:void 0;m(this,e);var a=e.flattenStates(r),s=i.addAndReturnDefaults(a);s.states.length&&(n.setStateToTheCurrentWithNew(s),o.ngxsBootstrap(new Iz(s.defaults),s))}return b(e,null,[{key:"flattenStates",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.reduce(function(e,t){return e.concat(t)},[])}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Az),Zi(kz),Zi(Cz),Zi(zV,8),Zi(Ez))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),Lz=function(){function e(){m(this,e)}return b(e,null,[{key:"forRoot",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{ngModule:Dz,providers:[Cz,xz,fz,dz,vV,wz,_z,Ez,yz,mz,kz,lz,Az,vz,Pz,gz].concat(v(t),v(e.ngxsTokenProviders(t,n)))}}},{key:"forFeature",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{ngModule:Nz,providers:[Cz,gz].concat(v(e),[{provide:zV,multi:!0,useValue:e}])}}},{key:"ngxsTokenProviders",value:function(t,n){return[{provide:HV,useValue:pV},{provide:GV,useValue:ah},{provide:$V,useClass:n.executionStrategy||BV},{provide:VV,useValue:t},{provide:e.ROOT_OPTIONS,useValue:n},{provide:YV,useFactory:e.ngxsConfigFactory,deps:[e.ROOT_OPTIONS]},{provide:Il,useFactory:e.appBootstrapListenerFactory,multi:!0,deps:[vV]},{provide:gV,useFactory:e.getInitialState},{provide:yV,useExisting:xz},{provide:bV,useExisting:Cz}]}},{key:"ngxsConfigFactory",value:function(e){return tz(new YV,e)}},{key:"appBootstrapListenerFactory",value:function(e){return function(){return e.bootstrap()}}},{key:"getInitialState",value:function(){return mV.pop()}}]),e}();function jz(e,t){return function(n,i){if(n.hasOwnProperty("prototype"))throw new Error(RV());var r=nz(n.constructor);Array.isArray(e)||(e=[e]);var o,a=_(e);try{for(a.s();!(o=a.n()).done;){var s=o.value.type;r.actions[s]||(r.actions[s]=[]),r.actions[s].push({fn:i,options:t||{},type:s})}}catch(u){a.e(u)}finally{a.f()}}}function Fz(e){return function(t){!function(e){Rz.subscribe(function(t){t&&(e.\u0275prov||console.warn(FV(e.name)))})}(t);var n=t,i=nz(n),r=Object.getPrototypeOf(n),o=function(t){return Object.assign({},t[qV]||{},e)}(r);(function(e){var t=e.meta,n=e.inheritedStateClass,i=e.optionsWithInheritance,r=i.children,o=i.defaults,a=i.name,s="string"==typeof a?a:a&&a.getName()||null;Sz.checkCorrectStateName(s),n.hasOwnProperty(WV)&&(t.actions=Object.assign({},t.actions,(n[WV]||{}).actions)),t.children=r,t.defaults=o,t.name=s})({meta:i,inheritedStateClass:r,optionsWithInheritance:o}),n[qV]=o}}function Bz(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:[];return"string"==typeof(t=t||function(e){var t=e.length-1;return 36===e.charCodeAt(t)?e.slice(0,t):e}(e))?oz(n.length?[t].concat(v(n)):t.split("."),Pz.config):t}(a,e,n);Object.defineProperties(t,(o(r={},s,{writable:!0,enumerable:!1,configurable:!0}),o(r,a,{enumerable:!0,configurable:!0,get:function(){return this[s]||(this[s]=function(e){if(!Pz.store)throw new Error(IV());return Pz.store.select(e)}(u))}}),r))}}function Vz(e){return function(t,n,i){if(!i||null===i.value)throw new Error(DV());var r=i.value,o=function(e,t,n){var i=n&&n.containerClass,r=fV(function(){for(var e=arguments.length,n=new Array(e),r=0;r2&&void 0!==arguments[2]?arguments[2]:[],i=t.getSelectorOptions(),r=e.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=[];return n&&(0===e.length||t.injectContainerState)&&iz(n)&&i.push(n),e&&i.push.apply(i,v(e)),i}(n,r,t.containerClass).map(function(t){return Tz(t)(e)})}}(t,o,e),i=n.argumentSelectorFunctions,a=n.selectorOptions;return function(e){var t=i.map(function(t){return t(e)});try{return r.apply(void 0,v(t))}catch(n){if(n instanceof TypeError&&a.suppressErrors)return;throw n}}},r}(e,r,{containerClass:t,selectorName:n.toString(),getSelectorOptions:function(){return{}}}),a={configurable:!0,get:function(){return o}};return a.originalFn=r,a}}Lz.\u0275fac=function(e){return new(e||Lz)},Lz.\u0275mod=Mt({type:Lz}),Lz.\u0275inj=Qe({}),Lz.ROOT_OPTIONS=new Ri("ROOT_OPTIONS");var zz=function(){var e=function(){function e(t,n){m(this,e),this._renderer=t,this._elementRef=n,this.onChange=function(e){},this.onTouched=function(){}}return b(e,[{key:"setProperty",value:function(e,t){this._renderer.setProperty(this._elementRef.nativeElement,e,t)}},{key:"registerOnTouched",value:function(e){this.onTouched=e}},{key:"registerOnChange",value:function(e){this.onChange=e}},{key:"setDisabledState",value:function(e){this.setProperty("disabled",e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(nc),Os(Ju))},e.\u0275dir=Rt({type:e}),e}(),Uz=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(zz);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,features:[cs]}),t}(),Hz=new Ri("NgValueAccessor"),Gz={provide:Hz,useExisting:He(function(){return qz}),multi:!0},Wz=new Ri("CompositionEventMode"),qz=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e,i))._compositionMode=r,o._composing=!1,null==o._compositionMode&&(o._compositionMode=!function(){var e=yh()?yh().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}()),o}return b(n,[{key:"writeValue",value:function(e){this.setProperty("value",null==e?"":e)}},{key:"_handleInput",value:function(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}},{key:"_compositionStart",value:function(){this._composing=!0}},{key:"_compositionEnd",value:function(e){this._composing=!1,this._compositionMode&&this.onChange(e)}}]),n}(zz);return e.\u0275fac=function(t){return new(t||e)(Os(nc),Os(Ju),Os(Wz,8))},e.\u0275dir=Rt({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(e,t){1&e&&Vs("input",function(e){return t._handleInput(e.target.value)})("blur",function(){return t.onTouched()})("compositionstart",function(){return t._compositionStart()})("compositionend",function(e){return t._compositionEnd(e.target.value)})},features:[Xu([Gz]),cs]}),e}(),Xz=new Ri("NgValidators"),Yz=new Ri("NgAsyncValidators");function Kz(e){return null!=e}function $z(e){var t=js(e)?ye(e):e;return Bs(t),t}function Qz(e){var t={};return e.forEach(function(e){t=null!=e?Object.assign(Object.assign({},t),e):t}),0===Object.keys(t).length?null:t}function Zz(e,t){return t.map(function(t){return t(e)})}function Jz(e){return e.map(function(e){return function(e){return!e.validate}(e)?e:function(t){return e.validate(t)}})}function eU(e){return null!=e?function(e){if(!e)return null;var t=e.filter(Kz);return 0==t.length?null:function(e){return Qz(Zz(e,t))}}(Jz(e)):null}function tU(e){return null!=e?function(e){if(!e)return null;var t=e.filter(Kz);return 0==t.length?null:function(e){return jb(Zz(e,t).map($z)).pipe(ce(Qz))}}(Jz(e)):null}function nU(e,t){return null===e?[t]:Array.isArray(e)?[].concat(v(e),[t]):[e,t]}function iU(e){return e._rawValidators}function rU(e){return e._rawAsyncValidators}function oU(e){return e?Array.isArray(e)?e:[e]:[]}function aU(e,t){return Array.isArray(e)?e.includes(t):e===t}function sU(e,t){var n=oU(t);return oU(e).forEach(function(e){aU(n,e)||n.push(e)}),n}function uU(e,t){return oU(t).filter(function(t){return!aU(e,t)})}var cU=function(){var e=function(){function e(){m(this,e),this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}return b(e,[{key:"value",get:function(){return this.control?this.control.value:null}},{key:"valid",get:function(){return this.control?this.control.valid:null}},{key:"invalid",get:function(){return this.control?this.control.invalid:null}},{key:"pending",get:function(){return this.control?this.control.pending:null}},{key:"disabled",get:function(){return this.control?this.control.disabled:null}},{key:"enabled",get:function(){return this.control?this.control.enabled:null}},{key:"errors",get:function(){return this.control?this.control.errors:null}},{key:"pristine",get:function(){return this.control?this.control.pristine:null}},{key:"dirty",get:function(){return this.control?this.control.dirty:null}},{key:"touched",get:function(){return this.control?this.control.touched:null}},{key:"status",get:function(){return this.control?this.control.status:null}},{key:"untouched",get:function(){return this.control?this.control.untouched:null}},{key:"statusChanges",get:function(){return this.control?this.control.statusChanges:null}},{key:"valueChanges",get:function(){return this.control?this.control.valueChanges:null}},{key:"path",get:function(){return null}},{key:"_setValidators",value:function(e){this._rawValidators=e||[],this._composedValidatorFn=eU(this._rawValidators)}},{key:"_setAsyncValidators",value:function(e){this._rawAsyncValidators=e||[],this._composedAsyncValidatorFn=tU(this._rawAsyncValidators)}},{key:"validator",get:function(){return this._composedValidatorFn||null}},{key:"asyncValidator",get:function(){return this._composedAsyncValidatorFn||null}},{key:"_registerOnDestroy",value:function(e){this._onDestroyCallbacks.push(e)}},{key:"_invokeOnDestroyCallbacks",value:function(){this._onDestroyCallbacks.forEach(function(e){return e()}),this._onDestroyCallbacks=[]}},{key:"reset",value:function(e){this.control&&this.control.reset(e)}},{key:"hasError",value:function(e,t){return!!this.control&&this.control.hasError(e,t)}},{key:"getError",value:function(e,t){return this.control?this.control.getError(e,t):null}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e}),e}(),lU=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"formDirective",get:function(){return null}},{key:"path",get:function(){return null}}]),n}(cU);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,features:[cs]}),t}(),hU=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments))._parent=null,e.name=null,e.valueAccessor=null,e}return n}(cU),dU=function(){function e(t){m(this,e),this._cd=t}return b(e,[{key:"is",value:function(e){var t,n,i;return"submitted"===e?!!(null===(t=this._cd)||void 0===t?void 0:t.submitted):!!(null===(i=null===(n=this._cd)||void 0===n?void 0:n.control)||void 0===i?void 0:i[e])}}]),e}(),fU=function(){var e=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,e)}return n}(dU);return e.\u0275fac=function(t){return new(t||e)(Os(hU,2))},e.\u0275dir=Rt({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(e,t){2&e&&cu("ng-untouched",t.is("untouched"))("ng-touched",t.is("touched"))("ng-pristine",t.is("pristine"))("ng-dirty",t.is("dirty"))("ng-valid",t.is("valid"))("ng-invalid",t.is("invalid"))("ng-pending",t.is("pending"))},features:[cs]}),e}(),pU=function(){var e=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,e)}return n}(dU);return e.\u0275fac=function(t){return new(t||e)(Os(lU,10))},e.\u0275dir=Rt({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(e,t){2&e&&cu("ng-untouched",t.is("untouched"))("ng-touched",t.is("touched"))("ng-pristine",t.is("pristine"))("ng-dirty",t.is("dirty"))("ng-valid",t.is("valid"))("ng-invalid",t.is("invalid"))("ng-pending",t.is("pending"))("ng-submitted",t.is("submitted"))},features:[cs]}),e}();function vU(e,t){yU(e,t),t.valueAccessor.writeValue(e.value),function(e,t){t.valueAccessor.registerOnChange(function(n){e._pendingValue=n,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&_U(e,t)})}(e,t),function(e,t){var n=function(e,n){t.valueAccessor.writeValue(e),n&&t.viewToModelUpdate(e)};e.registerOnChange(n),t._registerOnDestroy(function(){e._unregisterOnChange(n)})}(e,t),function(e,t){t.valueAccessor.registerOnTouched(function(){e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&_U(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function(e,t){if(t.valueAccessor.setDisabledState){var n=function(e){t.valueAccessor.setDisabledState(e)};e.registerOnDisabledChange(n),t._registerOnDestroy(function(){e._unregisterOnDisabledChange(n)})}}(e,t)}function gU(e,t){var n=function(){};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),bU(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(function(){}))}function mU(e,t){e.forEach(function(e){e.registerOnValidatorChange&&e.registerOnValidatorChange(t)})}function yU(e,t){var n=iU(e);null!==t.validator?e.setValidators(nU(n,t.validator)):"function"==typeof n&&e.setValidators([n]);var i=rU(e);null!==t.asyncValidator?e.setAsyncValidators(nU(i,t.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);var r=function(){return e.updateValueAndValidity()};mU(t._rawValidators,r),mU(t._rawAsyncValidators,r)}function bU(e,t){var n=!1;if(null!==e){if(null!==t.validator){var i=iU(e);if(Array.isArray(i)&&i.length>0){var r=i.filter(function(e){return e!==t.validator});r.length!==i.length&&(n=!0,e.setValidators(r))}}if(null!==t.asyncValidator){var o=rU(e);if(Array.isArray(o)&&o.length>0){var a=o.filter(function(e){return e!==t.asyncValidator});a.length!==o.length&&(n=!0,e.setAsyncValidators(a))}}}var s=function(){};return mU(t._rawValidators,s),mU(t._rawAsyncValidators,s),n}function _U(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function wU(e,t){yU(e,t)}function kU(e,t){if(!e.hasOwnProperty("model"))return!1;var n=e.model;return!!n.isFirstChange()||!Object.is(t,n.currentValue)}function xU(e,t){e._syncPendingControls(),t.forEach(function(e){var t=e.control;"submit"===t.updateOn&&t._pendingChange&&(e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1)})}function SU(e,t){return t?(Array.isArray(t),t.forEach(function(e){e.constructor===qz?n=e:function(e){return Object.getPrototypeOf(e.constructor)===Uz}(e)?i=e:r=e}),r||i||n||null):null;var n,i,r}function CU(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)}var EU="VALID",OU="INVALID",TU="PENDING",AU="DISABLED";function PU(e){return(DU(e)?e.validators:e)||null}function MU(e){return Array.isArray(e)?eU(e):e||null}function IU(e,t){return(DU(t)?t.asyncValidators:e)||null}function RU(e){return Array.isArray(e)?tU(e):e||null}function DU(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}var NU=function(){function e(t,n){m(this,e),this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=function(){},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=n,this._composedValidatorFn=MU(this._rawValidators),this._composedAsyncValidatorFn=RU(this._rawAsyncValidators)}return b(e,[{key:"validator",get:function(){return this._composedValidatorFn},set:function(e){this._rawValidators=this._composedValidatorFn=e}},{key:"asyncValidator",get:function(){return this._composedAsyncValidatorFn},set:function(e){this._rawAsyncValidators=this._composedAsyncValidatorFn=e}},{key:"parent",get:function(){return this._parent}},{key:"valid",get:function(){return this.status===EU}},{key:"invalid",get:function(){return this.status===OU}},{key:"pending",get:function(){return this.status==TU}},{key:"disabled",get:function(){return this.status===AU}},{key:"enabled",get:function(){return this.status!==AU}},{key:"dirty",get:function(){return!this.pristine}},{key:"untouched",get:function(){return!this.touched}},{key:"updateOn",get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}},{key:"setValidators",value:function(e){this._rawValidators=e,this._composedValidatorFn=MU(e)}},{key:"setAsyncValidators",value:function(e){this._rawAsyncValidators=e,this._composedAsyncValidatorFn=RU(e)}},{key:"addValidators",value:function(e){this.setValidators(sU(e,this._rawValidators))}},{key:"addAsyncValidators",value:function(e){this.setAsyncValidators(sU(e,this._rawAsyncValidators))}},{key:"removeValidators",value:function(e){this.setValidators(uU(e,this._rawValidators))}},{key:"removeAsyncValidators",value:function(e){this.setAsyncValidators(uU(e,this._rawAsyncValidators))}},{key:"hasValidator",value:function(e){return aU(this._rawValidators,e)}},{key:"hasAsyncValidator",value:function(e){return aU(this._rawAsyncValidators,e)}},{key:"clearValidators",value:function(){this.validator=null}},{key:"clearAsyncValidators",value:function(){this.asyncValidator=null}},{key:"markAsTouched",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=!0,this._parent&&!e.onlySelf&&this._parent.markAsTouched(e)}},{key:"markAllAsTouched",value:function(){this.markAsTouched({onlySelf:!0}),this._forEachChild(function(e){return e.markAllAsTouched()})}},{key:"markAsUntouched",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=!1,this._pendingTouched=!1,this._forEachChild(function(e){e.markAsUntouched({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}},{key:"markAsDirty",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!1,this._parent&&!e.onlySelf&&this._parent.markAsDirty(e)}},{key:"markAsPristine",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!0,this._pendingDirty=!1,this._forEachChild(function(e){e.markAsPristine({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}},{key:"markAsPending",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.status=TU,!1!==e.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!e.onlySelf&&this._parent.markAsPending(e)}},{key:"disable",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._parentMarkedDirty(e.onlySelf);this.status=AU,this.errors=null,this._forEachChild(function(t){t.disable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this._updateValue(),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(function(e){return e(!0)})}},{key:"enable",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._parentMarkedDirty(e.onlySelf);this.status=EU,this._forEachChild(function(t){t.enable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(function(e){return e(!1)})}},{key:"_updateAncestors",value:function(e){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}},{key:"setParent",value:function(e){this._parent=e}},{key:"updateValueAndValidity",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===EU||this.status===TU)&&this._runAsyncValidator(e.emitEvent)),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(e)}},{key:"_updateTreeValidity",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{emitEvent:!0};this._forEachChild(function(t){return t._updateTreeValidity(e)}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})}},{key:"_setInitialStatus",value:function(){this.status=this._allControlsDisabled()?AU:EU}},{key:"_runValidator",value:function(){return this.validator?this.validator(this):null}},{key:"_runAsyncValidator",value:function(e){var t=this;if(this.asyncValidator){this.status=TU,this._hasOwnPendingAsyncValidator=!0;var n=$z(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(function(n){t._hasOwnPendingAsyncValidator=!1,t.setErrors(n,{emitEvent:e})})}}},{key:"_cancelExistingSubscription",value:function(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}},{key:"setErrors",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.errors=e,this._updateControlsErrors(!1!==t.emitEvent)}},{key:"get",value:function(e){return function(e,t,n){if(null==t||(Array.isArray(t)||(t=t.split(".")),Array.isArray(t)&&0===t.length))return null;var i=e;return t.forEach(function(e){i=i instanceof jU?i.controls.hasOwnProperty(e)?i.controls[e]:null:i instanceof FU&&i.at(e)||null}),i}(this,e)}},{key:"getError",value:function(e,t){var n=t?this.get(t):this;return n&&n.errors?n.errors[e]:null}},{key:"hasError",value:function(e,t){return!!this.getError(e,t)}},{key:"root",get:function(){for(var e=this;e._parent;)e=e._parent;return e}},{key:"_updateControlsErrors",value:function(e){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(e)}},{key:"_initObservables",value:function(){this.valueChanges=new ol,this.statusChanges=new ol}},{key:"_calculateStatus",value:function(){return this._allControlsDisabled()?AU:this.errors?OU:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(TU)?TU:this._anyControlsHaveStatus(OU)?OU:EU}},{key:"_anyControlsHaveStatus",value:function(e){return this._anyControls(function(t){return t.status===e})}},{key:"_anyControlsDirty",value:function(){return this._anyControls(function(e){return e.dirty})}},{key:"_anyControlsTouched",value:function(){return this._anyControls(function(e){return e.touched})}},{key:"_updatePristine",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!this._anyControlsDirty(),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}},{key:"_updateTouched",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=this._anyControlsTouched(),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}},{key:"_isBoxedValue",value:function(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}},{key:"_registerOnCollectionChange",value:function(e){this._onCollectionChange=e}},{key:"_setUpdateStrategy",value:function(e){DU(e)&&null!=e.updateOn&&(this._updateOn=e.updateOn)}},{key:"_parentMarkedDirty",value:function(e){return!e&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}]),e}(),LU=function(e){a(n,e);var t=s(n);function n(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1?arguments[1]:void 0,o=arguments.length>2?arguments[2]:void 0;return m(this,n),(e=t.call(this,PU(r),IU(o,r)))._onChange=[],e._applyFormState(i),e._setUpdateStrategy(r),e._initObservables(),e.updateValueAndValidity({onlySelf:!0,emitEvent:!!e.asyncValidator}),e}return b(n,[{key:"setValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.value=this._pendingValue=e,this._onChange.length&&!1!==n.emitModelToViewChange&&this._onChange.forEach(function(e){return e(t.value,!1!==n.emitViewToModelChange)}),this.updateValueAndValidity(n)}},{key:"patchValue",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.setValue(e,t)}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._applyFormState(e),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}},{key:"_updateValue",value:function(){}},{key:"_anyControls",value:function(e){return!1}},{key:"_allControlsDisabled",value:function(){return this.disabled}},{key:"registerOnChange",value:function(e){this._onChange.push(e)}},{key:"_unregisterOnChange",value:function(e){CU(this._onChange,e)}},{key:"registerOnDisabledChange",value:function(e){this._onDisabledChange.push(e)}},{key:"_unregisterOnDisabledChange",value:function(e){CU(this._onDisabledChange,e)}},{key:"_forEachChild",value:function(e){}},{key:"_syncPendingControls",value:function(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}},{key:"_applyFormState",value:function(e){this._isBoxedValue(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}}]),n}(NU),jU=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,PU(i),IU(r,i))).controls=e,o._initObservables(),o._setUpdateStrategy(i),o._setUpControls(),o.updateValueAndValidity({onlySelf:!0,emitEvent:!!o.asyncValidator}),o}return b(n,[{key:"registerControl",value:function(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}},{key:"addControl",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.registerControl(e,t),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}},{key:"removeControl",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),delete this.controls[e],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}},{key:"setControl",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),delete this.controls[e],t&&this.registerControl(e,t),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}},{key:"contains",value:function(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled}},{key:"setValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._checkAllValuesPresent(e),Object.keys(e).forEach(function(i){t._throwIfControlMissing(i),t.controls[i].setValue(e[i],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)}},{key:"patchValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};null!=e&&(Object.keys(e).forEach(function(i){t.controls[i]&&t.controls[i].patchValue(e[i],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n))}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._forEachChild(function(n,i){n.reset(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}},{key:"getRawValue",value:function(){return this._reduceChildren({},function(e,t,n){return e[n]=t instanceof LU?t.value:t.getRawValue(),e})}},{key:"_syncPendingControls",value:function(){var e=this._reduceChildren(!1,function(e,t){return!!t._syncPendingControls()||e});return e&&this.updateValueAndValidity({onlySelf:!0}),e}},{key:"_throwIfControlMissing",value:function(e){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[e])throw new Error("Cannot find form control with name: ".concat(e,"."))}},{key:"_forEachChild",value:function(e){var t=this;Object.keys(this.controls).forEach(function(n){var i=t.controls[n];i&&e(i,n)})}},{key:"_setUpControls",value:function(){var e=this;this._forEachChild(function(t){t.setParent(e),t._registerOnCollectionChange(e._onCollectionChange)})}},{key:"_updateValue",value:function(){this.value=this._reduceValue()}},{key:"_anyControls",value:function(e){for(var t=0,n=Object.keys(this.controls);t0||this.disabled}},{key:"_checkAllValuesPresent",value:function(e){this._forEachChild(function(t,n){if(void 0===e[n])throw new Error("Must supply a value for form control with name: '".concat(n,"'."))})}}]),n}(NU),FU=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,PU(i),IU(r,i))).controls=e,o._initObservables(),o._setUpdateStrategy(i),o._setUpControls(),o.updateValueAndValidity({onlySelf:!0,emitEvent:!!o.asyncValidator}),o}return b(n,[{key:"at",value:function(e){return this.controls[e]}},{key:"push",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls.push(e),this._registerControl(e),this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}},{key:"insert",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls.splice(e,0,t),this._registerControl(t),this.updateValueAndValidity({emitEvent:n.emitEvent})}},{key:"removeAt",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),this.controls.splice(e,1),this.updateValueAndValidity({emitEvent:t.emitEvent})}},{key:"setControl",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),this.controls.splice(e,1),t&&(this.controls.splice(e,0,t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}},{key:"length",get:function(){return this.controls.length}},{key:"setValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._checkAllValuesPresent(e),e.forEach(function(e,i){t._throwIfControlMissing(i),t.at(i).setValue(e,{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)}},{key:"patchValue",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};null!=e&&(e.forEach(function(e,i){t.at(i)&&t.at(i).patchValue(e,{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n))}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._forEachChild(function(n,i){n.reset(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}},{key:"getRawValue",value:function(){return this.controls.map(function(e){return e instanceof LU?e.value:e.getRawValue()})}},{key:"clear",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.controls.length<1||(this._forEachChild(function(e){return e._registerOnCollectionChange(function(){})}),this.controls.splice(0),this.updateValueAndValidity({emitEvent:e.emitEvent}))}},{key:"_syncPendingControls",value:function(){var e=this.controls.reduce(function(e,t){return!!t._syncPendingControls()||e},!1);return e&&this.updateValueAndValidity({onlySelf:!0}),e}},{key:"_throwIfControlMissing",value:function(e){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(e))throw new Error("Cannot find form control at index ".concat(e))}},{key:"_forEachChild",value:function(e){this.controls.forEach(function(t,n){e(t,n)})}},{key:"_updateValue",value:function(){var e=this;this.value=this.controls.filter(function(t){return t.enabled||e.disabled}).map(function(e){return e.value})}},{key:"_anyControls",value:function(e){return this.controls.some(function(t){return t.enabled&&e(t)})}},{key:"_setUpControls",value:function(){var e=this;this._forEachChild(function(t){return e._registerControl(t)})}},{key:"_checkAllValuesPresent",value:function(e){this._forEachChild(function(t,n){if(void 0===e[n])throw new Error("Must supply a value for form control at index: ".concat(n,"."))})}},{key:"_allControlsDisabled",value:function(){var e,t=_(this.controls);try{for(t.s();!(e=t.n()).done;){if(e.value.enabled)return!1}}catch(n){t.e(n)}finally{t.f()}return this.controls.length>0||this.disabled}},{key:"_registerControl",value:function(e){e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)}}]),n}(NU),BU={provide:lU,useExisting:He(function(){return zU})},VU=Promise.resolve(null),zU=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).submitted=!1,r._directives=[],r.ngSubmit=new ol,r.form=new jU({},eU(e),tU(i)),r}return b(n,[{key:"ngAfterViewInit",value:function(){this._setUpdateStrategy()}},{key:"formDirective",get:function(){return this}},{key:"control",get:function(){return this.form}},{key:"path",get:function(){return[]}},{key:"controls",get:function(){return this.form.controls}},{key:"addControl",value:function(e){var t=this;VU.then(function(){var n=t._findContainer(e.path);e.control=n.registerControl(e.name,e.control),vU(e.control,e),e.control.updateValueAndValidity({emitEvent:!1}),t._directives.push(e)})}},{key:"getControl",value:function(e){return this.form.get(e.path)}},{key:"removeControl",value:function(e){var t=this;VU.then(function(){var n=t._findContainer(e.path);n&&n.removeControl(e.name),CU(t._directives,e)})}},{key:"addFormGroup",value:function(e){var t=this;VU.then(function(){var n=t._findContainer(e.path),i=new jU({});wU(i,e),n.registerControl(e.name,i),i.updateValueAndValidity({emitEvent:!1})})}},{key:"removeFormGroup",value:function(e){var t=this;VU.then(function(){var n=t._findContainer(e.path);n&&n.removeControl(e.name)})}},{key:"getFormGroup",value:function(e){return this.form.get(e.path)}},{key:"updateModel",value:function(e,t){var n=this;VU.then(function(){n.form.get(e.path).setValue(t)})}},{key:"setValue",value:function(e){this.control.setValue(e)}},{key:"onSubmit",value:function(e){return this.submitted=!0,xU(this.form,this._directives),this.ngSubmit.emit(e),!1}},{key:"onReset",value:function(){this.resetForm()}},{key:"resetForm",value:function(e){this.form.reset(e),this.submitted=!1}},{key:"_setUpdateStrategy",value:function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}},{key:"_findContainer",value:function(e){return e.pop(),e.length?this.form.get(e):this.form}}]),n}(lU);return e.\u0275fac=function(t){return new(t||e)(Os(Xz,10),Os(Yz,10))},e.\u0275dir=Rt({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(e,t){1&e&&Vs("submit",function(e){return t.onSubmit(e)})("reset",function(){return t.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Xu([BU]),cs]}),e}(),UU={provide:hU,useExisting:He(function(){return GU})},HU=Promise.resolve(null),GU=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this)).control=new LU,a._registered=!1,a.update=new ol,a._parent=e,a._setValidators(i),a._setAsyncValidators(r),a.valueAccessor=SU(0,o),a}return b(n,[{key:"ngOnChanges",value:function(e){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in e&&this._updateDisabled(e),kU(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}},{key:"ngOnDestroy",value:function(){this.formDirective&&this.formDirective.removeControl(this)}},{key:"path",get:function(){return this._parent?function(e,t){return[].concat(v(t.path),[e])}(this.name,this._parent):[this.name]}},{key:"formDirective",get:function(){return this._parent?this._parent.formDirective:null}},{key:"viewToModelUpdate",value:function(e){this.viewModel=e,this.update.emit(e)}},{key:"_setUpControl",value:function(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}},{key:"_setUpdateStrategy",value:function(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}},{key:"_isStandalone",value:function(){return!this._parent||!(!this.options||!this.options.standalone)}},{key:"_setUpStandalone",value:function(){vU(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}},{key:"_checkForErrors",value:function(){this._isStandalone()||this._checkParentType(),this._checkName()}},{key:"_checkParentType",value:function(){}},{key:"_checkName",value:function(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}},{key:"_updateValue",value:function(e){var t=this;HU.then(function(){t.control.setValue(e,{emitViewToModelChange:!1})})}},{key:"_updateDisabled",value:function(e){var t=this,n=e.isDisabled.currentValue,i=""===n||n&&"false"!==n;HU.then(function(){i&&!t.control.disabled?t.control.disable():!i&&t.control.disabled&&t.control.enable()})}}]),n}(hU);return e.\u0275fac=function(t){return new(t||e)(Os(lU,9),Os(Xz,10),Os(Yz,10),Os(Hz,10))},e.\u0275dir=Rt({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Xu([UU]),cs,qt]}),e}(),WU=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),e}(),qU=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),XU=new Ri("NgModelWithFormControlWarning"),YU={provide:hU,useExisting:He(function(){return KU})},KU=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this))._ngModelWarningConfig=o,a.update=new ol,a._ngModelWarningSent=!1,a._setValidators(e),a._setAsyncValidators(i),a.valueAccessor=SU(0,r),a}return b(n,[{key:"isDisabled",set:function(e){}},{key:"ngOnChanges",value:function(e){if(this._isControlChanged(e)){var t=e.form.previousValue;t&&gU(t,this,!1),vU(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}kU(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}},{key:"ngOnDestroy",value:function(){this.form&&gU(this.form,this,!1)}},{key:"path",get:function(){return[]}},{key:"control",get:function(){return this.form}},{key:"viewToModelUpdate",value:function(e){this.viewModel=e,this.update.emit(e)}},{key:"_isControlChanged",value:function(e){return e.hasOwnProperty("form")}}]),n}(hU);return e.\u0275fac=function(t){return new(t||e)(Os(Xz,10),Os(Yz,10),Os(Hz,10),Os(XU,8))},e.\u0275dir=Rt({type:e,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[Xu([YU]),cs,qt]}),e._ngModelWarningSentOnce=!1,e}(),$U={provide:lU,useExisting:He(function(){return QU})},QU=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).validators=e,r.asyncValidators=i,r.submitted=!1,r._onCollectionChange=function(){return r._updateDomValue()},r.directives=[],r.form=null,r.ngSubmit=new ol,r._setValidators(e),r._setAsyncValidators(i),r}return b(n,[{key:"ngOnChanges",value:function(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}},{key:"ngOnDestroy",value:function(){this.form&&(bU(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(function(){}))}},{key:"formDirective",get:function(){return this}},{key:"control",get:function(){return this.form}},{key:"path",get:function(){return[]}},{key:"addControl",value:function(e){var t=this.form.get(e.path);return vU(t,e),t.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),t}},{key:"getControl",value:function(e){return this.form.get(e.path)}},{key:"removeControl",value:function(e){gU(e.control||null,e,!1),CU(this.directives,e)}},{key:"addFormGroup",value:function(e){this._setUpFormContainer(e)}},{key:"removeFormGroup",value:function(e){this._cleanUpFormContainer(e)}},{key:"getFormGroup",value:function(e){return this.form.get(e.path)}},{key:"addFormArray",value:function(e){this._setUpFormContainer(e)}},{key:"removeFormArray",value:function(e){this._cleanUpFormContainer(e)}},{key:"getFormArray",value:function(e){return this.form.get(e.path)}},{key:"updateModel",value:function(e,t){this.form.get(e.path).setValue(t)}},{key:"onSubmit",value:function(e){return this.submitted=!0,xU(this.form,this.directives),this.ngSubmit.emit(e),!1}},{key:"onReset",value:function(){this.resetForm()}},{key:"resetForm",value:function(e){this.form.reset(e),this.submitted=!1}},{key:"_updateDomValue",value:function(){var e=this;this.directives.forEach(function(t){var n=t.control,i=e.form.get(t.path);n!==i&&(gU(n||null,t),i instanceof LU&&(vU(i,t),t.control=i))}),this.form._updateTreeValidity({emitEvent:!1})}},{key:"_setUpFormContainer",value:function(e){var t=this.form.get(e.path);wU(t,e),t.updateValueAndValidity({emitEvent:!1})}},{key:"_cleanUpFormContainer",value:function(e){if(this.form){var t=this.form.get(e.path);t&&function(e,t){return bU(e,t)}(t,e)&&t.updateValueAndValidity({emitEvent:!1})}}},{key:"_updateRegistrations",value:function(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(function(){})}},{key:"_updateValidators",value:function(){yU(this.form,this),this._oldForm&&bU(this._oldForm,this)}},{key:"_checkFormPresent",value:function(){}}]),n}(lU);return e.\u0275fac=function(t){return new(t||e)(Os(Xz,10),Os(Yz,10))},e.\u0275dir=Rt({type:e,selectors:[["","formGroup",""]],hostBindings:function(e,t){1&e&&Vs("submit",function(e){return t.onSubmit(e)})("reset",function(){return t.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Xu([$U]),cs,qt]}),e}(),ZU=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[qU]]}),e}(),JU=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[ZU]}),e}(),eH=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"withConfig",value:function(t){return{ngModule:e,providers:[{provide:XU,useValue:t.warnOnNgModelWithFormControl}]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[ZU]}),e}();function tH(e){return new te(function(t){var n;try{n=e()}catch(i){return void t.error(i)}return(n?ye(n):If()).subscribe(t)})}var nH=["underline"],iH=["connectionContainer"],rH=["inputContainer"],oH=["label"];function aH(e,t){1&e&&(Rs(0),Ps(1,"div",14),Is(2,"div",15),Is(3,"div",16),Is(4,"div",17),Ms(),Ps(5,"div",18),Is(6,"div",15),Is(7,"div",16),Is(8,"div",17),Ms(),Ds())}function sH(e,t){1&e&&(Ps(0,"div",19),Ys(1,1),Ms())}function uH(e,t){if(1&e&&(Rs(0),Ys(1,2),Ps(2,"span"),Cu(3),Ms(),Ds()),2&e){var n=Ws(2);Yo(3),Eu(n._control.placeholder)}}function cH(e,t){1&e&&Ys(0,3,["*ngSwitchCase","true"])}function lH(e,t){1&e&&(Ps(0,"span",23),Cu(1," *"),Ms())}function hH(e,t){if(1&e){var n=Ls();Ps(0,"label",20,21),Vs("cdkObserveContent",function(){return bn(n),Ws().updateOutlineGap()}),Cs(2,uH,4,1,"ng-container",12),Cs(3,cH,1,0,"ng-content",12),Cs(4,lH,2,0,"span",22),Ms()}if(2&e){var i=Ws();cu("mat-empty",i._control.empty&&!i._shouldAlwaysFloat())("mat-form-field-empty",i._control.empty&&!i._shouldAlwaysFloat())("mat-accent","accent"==i.color)("mat-warn","warn"==i.color),Ts("cdkObserveContentDisabled","outline"!=i.appearance)("id",i._labelId)("ngSwitch",i._hasLabel()),ks("for",i._control.id)("aria-owns",i._control.id),Yo(2),Ts("ngSwitchCase",!1),Yo(1),Ts("ngSwitchCase",!0),Yo(1),Ts("ngIf",!i.hideRequiredMarker&&i._control.required&&!i._control.disabled)}}function dH(e,t){1&e&&(Ps(0,"div",24),Ys(1,4),Ms())}function fH(e,t){if(1&e&&(Ps(0,"div",25,26),Is(2,"span",27),Ms()),2&e){var n=Ws();Yo(2),cu("mat-accent","accent"==n.color)("mat-warn","warn"==n.color)}}function pH(e,t){1&e&&(Ps(0,"div"),Ys(1,5),Ms()),2&e&&Ts("@transitionMessages",Ws()._subscriptAnimationState)}function vH(e,t){if(1&e&&(Ps(0,"div",31),Cu(1),Ms()),2&e){var n=Ws(2);Ts("id",n._hintLabelId),Yo(1),Eu(n.hintLabel)}}function gH(e,t){if(1&e&&(Ps(0,"div",28),Cs(1,vH,2,2,"div",29),Ys(2,6),Is(3,"div",30),Ys(4,7),Ms()),2&e){var n=Ws();Ts("@transitionMessages",n._subscriptAnimationState),Yo(1),Ts("ngIf",n.hintLabel)}}var mH=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],yH=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"],bH=new Ri("MatError"),_H={transitionMessages:fg("transitionMessages",[mg("enter",gg({opacity:1,transform:"translateY(0%)"})),yg("void => enter",[gg({opacity:0,transform:"translateY(-5px)"}),pg("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},wH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e}),e}(),kH=new Ri("MatHint"),xH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["mat-label"]]}),e}(),SH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["mat-placeholder"]]}),e}(),CH=new Ri("MatPrefix"),EH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","matPrefix",""]],features:[Xu([{provide:CH,useExisting:e}])]}),e}(),OH=new Ri("MatSuffix"),TH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","matSuffix",""]],features:[Xu([{provide:OH,useExisting:e}])]}),e}(),AH=0,PH=ab(function(){return function e(t){m(this,e),this._elementRef=t}}(),"primary"),MH=new Ri("MAT_FORM_FIELD_DEFAULT_OPTIONS"),IH=new Ri("MatFormField"),RH=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c){var l;return m(this,n),(l=t.call(this,e))._changeDetectorRef=i,l._dir=o,l._defaults=a,l._platform=s,l._ngZone=u,l._outlineGapCalculationNeededImmediately=!1,l._outlineGapCalculationNeededOnStable=!1,l._destroyed=new ae,l._showAlwaysAnimate=!1,l._subscriptAnimationState="",l._hintLabel="",l._hintLabelId="mat-hint-"+AH++,l._labelId="mat-form-field-label-"+AH++,l.floatLabel=l._getDefaultFloatLabelState(),l._animationsEnabled="NoopAnimations"!==c,l.appearance=a&&a.appearance?a.appearance:"legacy",l._hideRequiredMarker=!(!a||null==a.hideRequiredMarker)&&a.hideRequiredMarker,l}return b(n,[{key:"appearance",get:function(){return this._appearance},set:function(e){var t=this._appearance;this._appearance=e||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&t!==e&&(this._outlineGapCalculationNeededOnStable=!0)}},{key:"hideRequiredMarker",get:function(){return this._hideRequiredMarker},set:function(e){this._hideRequiredMarker=Wd(e)}},{key:"_shouldAlwaysFloat",value:function(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}},{key:"_canLabelFloat",value:function(){return"never"!==this.floatLabel}},{key:"hintLabel",get:function(){return this._hintLabel},set:function(e){this._hintLabel=e,this._processHints()}},{key:"floatLabel",get:function(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel},set:function(e){e!==this._floatLabel&&(this._floatLabel=e||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}},{key:"_control",get:function(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic},set:function(e){this._explicitFormFieldControl=e}},{key:"getLabelId",value:function(){return this._hasFloatingLabel()?this._labelId:null}},{key:"getConnectedOverlayOrigin",value:function(){return this._connectionContainerRef||this._elementRef}},{key:"ngAfterContentInit",value:function(){var e=this;this._validateControlChild();var t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add("mat-form-field-type-".concat(t.controlType)),t.stateChanges.pipe(Ef(null)).subscribe(function(){e._validatePlaceholders(),e._syncDescribedByIds(),e._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(kf(this._destroyed)).subscribe(function(){return e._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(function(){e._ngZone.onStable.pipe(kf(e._destroyed)).subscribe(function(){e._outlineGapCalculationNeededOnStable&&e.updateOutlineGap()})}),Oe(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(function(){e._outlineGapCalculationNeededOnStable=!0,e._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(Ef(null)).subscribe(function(){e._processHints(),e._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(Ef(null)).subscribe(function(){e._syncDescribedByIds(),e._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(kf(this._destroyed)).subscribe(function(){"function"==typeof requestAnimationFrame?e._ngZone.runOutsideAngular(function(){requestAnimationFrame(function(){return e.updateOutlineGap()})}):e.updateOutlineGap()})}},{key:"ngAfterContentChecked",value:function(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}},{key:"ngAfterViewInit",value:function(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}},{key:"ngOnDestroy",value:function(){this._destroyed.next(),this._destroyed.complete()}},{key:"_shouldForward",value:function(e){var t=this._control?this._control.ngControl:null;return t&&t[e]}},{key:"_hasPlaceholder",value:function(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}},{key:"_hasLabel",value:function(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}},{key:"_shouldLabelFloat",value:function(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}},{key:"_hideControlPlaceholder",value:function(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}},{key:"_hasFloatingLabel",value:function(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}},{key:"_getDisplayedMessages",value:function(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}},{key:"_animateAndLockLabel",value:function(){var e=this;this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Qd(this._label.nativeElement,"transitionend").pipe(_p(1)).subscribe(function(){e._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}},{key:"_validatePlaceholders",value:function(){}},{key:"_processHints",value:function(){this._validateHints(),this._syncDescribedByIds()}},{key:"_validateHints",value:function(){}},{key:"_getDefaultFloatLabelState",value:function(){return this._defaults&&this._defaults.floatLabel||"auto"}},{key:"_syncDescribedByIds",value:function(){if(this._control){var e=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&e.push.apply(e,v(this._control.userAriaDescribedBy.split(" "))),"hint"===this._getDisplayedMessages()){var t=this._hintChildren?this._hintChildren.find(function(e){return"start"===e.align}):null,n=this._hintChildren?this._hintChildren.find(function(e){return"end"===e.align}):null;t?e.push(t.id):this._hintLabel&&e.push(this._hintLabelId),n&&e.push(n.id)}else this._errorChildren&&e.push.apply(e,v(this._errorChildren.map(function(e){return e.id})));this._control.setDescribedByIds(e)}}},{key:"_validateControlChild",value:function(){}},{key:"updateOutlineGap",value:function(){var e=this._label?this._label.nativeElement:null;if("outline"===this.appearance&&e&&e.children.length&&e.textContent.trim()&&this._platform.isBrowser)if(this._isAttachedToDOM()){var t=0,n=0,i=this._connectionContainerRef.nativeElement,r=i.querySelectorAll(".mat-form-field-outline-start"),o=i.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){var a=i.getBoundingClientRect();if(0===a.width&&0===a.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);for(var s=this._getStartEnd(a),u=e.children,c=this._getStartEnd(u[0].getBoundingClientRect()),l=0,h=0;h0?.75*l+10:0}for(var d=0;d1&&void 0!==arguments[1]?arguments[1]:ff,n=function(e){return e instanceof Date&&!isNaN(+e)}(e)?+e-t.now():Math.abs(e);return function(e){return e.lift(new LH(n,t))}}var LH=function(){function e(t,n){m(this,e),this.delay=t,this.scheduler=n}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new jH(e,this.delay,this.scheduler))}}]),e}(),jH=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e)).delay=i,o.scheduler=r,o.queue=[],o.active=!1,o.errored=!1,o}return b(n,[{key:"_schedule",value:function(e){this.active=!0,this.destination.add(e.schedule(n.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))}},{key:"scheduleNotification",value:function(e){if(!0!==this.errored){var t=this.scheduler,n=new FH(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}}},{key:"_next",value:function(e){this.scheduleNotification(Nf.createNext(e))}},{key:"_error",value:function(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()}},{key:"_complete",value:function(){this.scheduleNotification(Nf.createComplete()),this.unsubscribe()}}],[{key:"dispatch",value:function(e){for(var t=e.source,n=t.queue,i=e.scheduler,r=e.destination;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var o=Math.max(0,n[0].time-i.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1}}]),n}(K),FH=function e(t,n){m(this,e),this.time=t,this.notification=n},BH=["panel"];function VH(e,t){if(1&e&&(Ps(0,"div",0,1),Ys(2),Ms()),2&e){var n=t.id,i=Ws();Ts("id",i.id)("ngClass",i._classList),ks("aria-label",i.ariaLabel||null)("aria-labelledby",i._getPanelAriaLabelledby(n))}}var zH=["*"],UH=0,HH=function e(t,n){m(this,e),this.source=t,this.option=n},GH=sb(function(){return function e(){m(this,e)}}()),WH=new Ri("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}}),qH=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this))._changeDetectorRef=e,a._elementRef=i,a._activeOptionChanges=q.EMPTY,a.showPanel=!1,a._isOpen=!1,a.displayWith=null,a.optionSelected=new ol,a.opened=new ol,a.closed=new ol,a.optionActivated=new ol,a._classList={},a.id="mat-autocomplete-"+UH++,a.inertGroups=(null==o?void 0:o.SAFARI)||!1,a._autoActiveFirstOption=!!r.autoActiveFirstOption,a}return b(n,[{key:"isOpen",get:function(){return this._isOpen&&this.showPanel}},{key:"autoActiveFirstOption",get:function(){return this._autoActiveFirstOption},set:function(e){this._autoActiveFirstOption=Wd(e)}},{key:"classList",set:function(e){this._classList=e&&e.length?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:/\s+/,n=[];if(null!=e){var i,r=Array.isArray(e)?e:"".concat(e).split(t),o=_(r);try{for(o.s();!(i=o.n()).done;){var a=i.value,s="".concat(a).trim();s&&n.push(s)}}catch(u){o.e(u)}finally{o.f()}}return n}(e).reduce(function(e,t){return e[t]=!0,e},{}):{},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}},{key:"ngAfterContentInit",value:function(){var e=this;this._keyManager=new zv(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(function(t){e.isOpen&&e.optionActivated.emit({source:e,option:e.options.toArray()[t]||null})}),this._setVisibility()}},{key:"ngOnDestroy",value:function(){this._activeOptionChanges.unsubscribe()}},{key:"_setScrollTop",value:function(e){this.panel&&(this.panel.nativeElement.scrollTop=e)}},{key:"_getScrollTop",value:function(){return this.panel?this.panel.nativeElement.scrollTop:0}},{key:"_setVisibility",value:function(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}},{key:"_emitSelectEvent",value:function(e){var t=new HH(this,e);this.optionSelected.emit(t)}},{key:"_getPanelAriaLabelledby",value:function(e){return this.ariaLabel?null:this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}},{key:"_setVisibilityClasses",value:function(e){e[this._visibleClass]=this.showPanel,e[this._hiddenClass]=!this.showPanel}}]),n}(GH);return e.\u0275fac=function(t){return new(t||e)(Os(Cc),Os(Ju),Os(WH),Os(qf))},e.\u0275dir=Rt({type:e,viewQuery:function(e,t){var n;(1&e&&(yl(Pc,7),yl(BH,5)),2&e)&&(ml(n=_l())&&(t.template=n.first),ml(n=_l())&&(t.panel=n.first))},inputs:{displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",classList:["class","classList"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],panelWidth:"panelWidth"},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[cs]}),e}(),XH=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments))._visibleClass="mat-autocomplete-visible",e._hiddenClass="mat-autocomplete-hidden",e}return n}(qH);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275cmp=Ot({type:t,selectors:[["mat-autocomplete"]],contentQueries:function(e,t,n){var i;(1&e&&(bl(n,Ab,5),bl(n,Rb,5)),2&e)&&(ml(i=_l())&&(t.optionGroups=i),ml(i=_l())&&(t.options=i))},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[Xu([{provide:Cb,useExisting:t}]),cs],ngContentSelectors:zH,decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(e,t){1&e&&(Xs(),Cs(0,VH,3,4,"ng-template"))},directives:[Gh],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"],encapsulation:2,changeDetection:0}),t}(),YH=new Ri("mat-autocomplete-scroll-strategy"),KH={provide:YH,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.reposition()}}},$H={provide:Hz,useExisting:He(function(){return ZH}),multi:!0},QH=function(){var e=function(){function e(t,n,i,r,o,a,s,u,c,l,h){var d=this;m(this,e),this._element=t,this._overlay=n,this._viewContainerRef=i,this._zone=r,this._changeDetectorRef=o,this._dir=s,this._formField=u,this._document=c,this._viewportRuler=l,this._defaults=h,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=q.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new ae,this._windowBlurHandler=function(){d._canOpenOnNextFocus=d._document.activeElement!==d._element.nativeElement||d.panelOpen},this._onChange=function(){},this._onTouched=function(){},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=tH(function(){return d.autocomplete&&d.autocomplete.options?Oe.apply(void 0,v(d.autocomplete.options.map(function(e){return e.onSelectionChange}))):d._zone.onStable.pipe(_p(1),Of(function(){return d.optionSelections}))}),this._scrollStrategy=a}return b(e,[{key:"autocompleteDisabled",get:function(){return this._autocompleteDisabled},set:function(e){this._autocompleteDisabled=Wd(e)}},{key:"ngAfterViewInit",value:function(){var e=this,t=this._getWindow();void 0!==t&&this._zone.runOutsideAngular(function(){return t.addEventListener("blur",e._windowBlurHandler)})}},{key:"ngOnChanges",value:function(e){e.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}},{key:"ngOnDestroy",value:function(){var e=this._getWindow();void 0!==e&&e.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}},{key:"panelOpen",get:function(){return this._overlayAttached&&this.autocomplete.showPanel}},{key:"openPanel",value:function(){this._attachOverlay(),this._floatLabel()}},{key:"closePanel",value:function(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}},{key:"updatePosition",value:function(){this._overlayAttached&&this._overlayRef.updatePosition()}},{key:"panelClosingActions",get:function(){var e=this;return Oe(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(bf(function(){return e._overlayAttached})),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(bf(function(){return e._overlayAttached})):$d()).pipe(ce(function(e){return e instanceof Mb?e:null}))}},{key:"activeOption",get:function(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}},{key:"_getOutsideClickStream",value:function(){var e=this;return Oe(Qd(this._document,"click"),Qd(this._document,"auxclick"),Qd(this._document,"touchend")).pipe(bf(function(t){var n=Jf(t),i=e._formField?e._formField._elementRef.nativeElement:null,r=e.connectedTo?e.connectedTo.elementRef.nativeElement:null;return e._overlayAttached&&n!==e._element.nativeElement&&(!i||!i.contains(n))&&(!r||!r.contains(n))&&!!e._overlayRef&&!e._overlayRef.overlayElement.contains(n)}))}},{key:"writeValue",value:function(e){var t=this;Promise.resolve(null).then(function(){return t._setTriggerValue(e)})}},{key:"registerOnChange",value:function(e){this._onChange=e}},{key:"registerOnTouched",value:function(e){this._onTouched=e}},{key:"setDisabledState",value:function(e){this._element.nativeElement.disabled=e}},{key:"_handleKeydown",value:function(e){var t=e.keyCode;if(27===t&&!Ep(e)&&e.preventDefault(),this.activeOption&&13===t&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),e.preventDefault();else if(this.autocomplete){var n=this.autocomplete._keyManager.activeItem,i=38===t||40===t;this.panelOpen||9===t?this.autocomplete._keyManager.onKeydown(e):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0)}}},{key:"_handleInput",value:function(e){var t=e.target,n=t.value;"number"===t.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this._document.activeElement===e.target&&this.openPanel())}},{key:"_handleFocus",value:function(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}},{key:"_floatLabel",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._formField&&"auto"===this._formField.floatLabel&&(e?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}},{key:"_resetLabel",value:function(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}},{key:"_subscribeToClosingActions",value:function(){var e=this;return Oe(this._zone.onStable.pipe(_p(1)),this.autocomplete.options.changes.pipe(mv(function(){return e._positionStrategy.reapplyLastPosition()}),NH(0))).pipe(Of(function(){var t=e.panelOpen;return e._resetActiveItem(),e.autocomplete._setVisibility(),e.panelOpen&&(e._overlayRef.updatePosition(),t!==e.panelOpen&&e.autocomplete.opened.emit()),e.panelClosingActions}),_p(1)).subscribe(function(t){return e._setValueAndClose(t)})}},{key:"_destroyPanel",value:function(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}},{key:"_setTriggerValue",value:function(e){var t=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(e):e,n=null!=t?t:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n,this._previousValue=n}},{key:"_setValueAndClose",value:function(e){e&&e.source&&(this._clearPreviousSelectedOption(e.source),this._setTriggerValue(e.source.value),this._onChange(e.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(e.source)),this.closePanel()}},{key:"_clearPreviousSelectedOption",value:function(e){this.autocomplete.options.forEach(function(t){t!==e&&t.selected&&t.deselect()})}},{key:"_attachOverlay",value:function(){var e,t=this,n=this._overlayRef;n?(this._positionStrategy.setOrigin(this._getConnectedElement()),n.updateSize({width:this._getPanelWidth()})):(this._portal=new hp(this.autocomplete.template,this._viewContainerRef,{id:null===(e=this._formField)||void 0===e?void 0:e.getLabelId()}),n=this._overlay.create(this._getOverlayConfig()),this._overlayRef=n,n.keydownEvents().subscribe(function(e){(27===e.keyCode&&!Ep(e)||38===e.keyCode&&Ep(e,"altKey"))&&(t._closeKeyEventStream.next(),t._resetActiveItem(),e.stopPropagation(),e.preventDefault())}),this._viewportSubscription=this._viewportRuler.change().subscribe(function(){t.panelOpen&&n&&n.updateSize({width:t._getPanelWidth()})})),n&&!n.hasAttached()&&(n.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());var i=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&i!==this.panelOpen&&this.autocomplete.opened.emit()}},{key:"_getOverlayConfig",value:function(){var e;return new Np({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:null===(e=this._defaults)||void 0===e?void 0:e.overlayPanelClass})}},{key:"_getOverlayPosition",value:function(){var e=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(e),this._positionStrategy=e,e}},{key:"_setStrategyPositions",value:function(e){var t,n=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],i=this._aboveClass,r=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:i},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:i}];t="above"===this.position?r:"below"===this.position?n:[].concat(n,r),e.withPositions(t)}},{key:"_getConnectedElement",value:function(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}},{key:"_getPanelWidth",value:function(){return this.autocomplete.panelWidth||this._getHostWidth()}},{key:"_getHostWidth",value:function(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}},{key:"_resetActiveItem",value:function(){var e=this.autocomplete;e.autoActiveFirstOption?e._keyManager.setFirstItemActive():e._keyManager.setActiveItem(-1)}},{key:"_canOpen",value:function(){var e=this._element.nativeElement;return!e.readOnly&&!e.disabled&&!this._autocompleteDisabled}},{key:"_getWindow",value:function(){var e;return(null===(e=this._document)||void 0===e?void 0:e.defaultView)||window}},{key:"_scrollToOption",value:function(e){var t=this.autocomplete,n=Db(e,t.options,t.optionGroups);if(0===e&&1===n)t._setScrollTop(0);else if(t.panel){var i=t.options.toArray()[e];if(i){var r=i._getHostElement(),o=Nb(r.offsetTop,r.offsetHeight,t._getScrollTop(),t.panel.nativeElement.offsetHeight);t._setScrollTop(o)}}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(iv),Os(Nc),Os(Xl),Os(Cc),Os(YH),Os(tp,8),Os(IH,9),Os(bh,8),Os(ap),Os(WH,8))},e.\u0275dir=Rt({type:e,inputs:{position:["matAutocompletePosition","position"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"],autocomplete:["matAutocomplete","autocomplete"],connectedTo:["matAutocompleteConnectedTo","connectedTo"]},features:[qt]}),e}(),ZH=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments))._aboveClass="mat-autocomplete-panel-above",e}return n}(QH);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(e,t){1&e&&Vs("focusin",function(){return t._handleFocus()})("blur",function(){return t._onTouched()})("input",function(e){return t._handleInput(e)})("keydown",function(e){return t._handleKeydown(e)}),2&e&&ks("autocomplete",t.autocompleteAttribute)("role",t.autocompleteDisabled?null:"combobox")("aria-autocomplete",t.autocompleteDisabled?null:"list")("aria-activedescendant",t.panelOpen&&t.activeOption?t.activeOption.id:null)("aria-expanded",t.autocompleteDisabled?null:t.panelOpen.toString())("aria-owns",t.autocompleteDisabled||!t.panelOpen||null==t.autocomplete?null:t.autocomplete.id)("aria-haspopup",!t.autocompleteDisabled)},exportAs:["matAutocompleteTrigger"],features:[Xu([$H]),cs]}),t}(),JH=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[KH],imports:[[cv,Lb,rb,cd],sp,Lb,rb]}),e}(),eG=$f({passive:!0}),tG=function(){var e=function(){function e(t,n){m(this,e),this._platform=t,this._ngZone=n,this._monitoredElements=new Map}return b(e,[{key:"monitor",value:function(e){var t=this;if(!this._platform.isBrowser)return Mf;var n=Kd(e),i=this._monitoredElements.get(n);if(i)return i.subject;var r=new ae,o="cdk-text-field-autofilled",a=function(e){"cdk-text-field-autofill-start"!==e.animationName||n.classList.contains(o)?"cdk-text-field-autofill-end"===e.animationName&&n.classList.contains(o)&&(n.classList.remove(o),t._ngZone.run(function(){return r.next({target:e.target,isAutofilled:!1})})):(n.classList.add(o),t._ngZone.run(function(){return r.next({target:e.target,isAutofilled:!0})}))};return this._ngZone.runOutsideAngular(function(){n.addEventListener("animationstart",a,eG),n.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(n,{subject:r,unlisten:function(){n.removeEventListener("animationstart",a,eG)}}),r}},{key:"stopMonitoring",value:function(e){var t=Kd(e),n=this._monitoredElements.get(t);n&&(n.unlisten(),n.subject.complete(),t.classList.remove("cdk-text-field-autofill-monitored"),t.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(t))}},{key:"ngOnDestroy",value:function(){var e=this;this._monitoredElements.forEach(function(t,n){return e.stopMonitoring(n)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qf),Zi(Xl))},e.\u0275prov=$e({factory:function(){return new e(Zi(qf),Zi(Xl))},token:e,providedIn:"root"}),e}(),nG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[Xf]]}),e}(),iG=new Ri("MAT_INPUT_VALUE_ACCESSOR"),rG=["button","checkbox","file","hidden","image","radio","range","reset","submit"],oG=0,aG=cb(function(){return function e(t,n,i,r){m(this,e),this._defaultErrorStateMatcher=t,this._parentForm=n,this._parentFormGroup=i,this.ngControl=r}}()),sG=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c,l,h){var d;m(this,n),(d=t.call(this,s,o,a,r))._elementRef=e,d._platform=i,d._autofillMonitor=c,d._formField=h,d._uid="mat-input-"+oG++,d.focused=!1,d.stateChanges=new ae,d.controlType="mat-input",d.autofilled=!1,d._disabled=!1,d._required=!1,d._type="text",d._readonly=!1,d._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(function(e){return Kf().has(e)});var f=d._elementRef.nativeElement,p=f.nodeName.toLowerCase();return d._inputValueAccessor=u||f,d._previousNativeValue=d.value,d.id=d.id,i.IOS&&l.runOutsideAngular(function(){e.nativeElement.addEventListener("keyup",function(e){var t=e.target;!t.value&&0===t.selectionStart&&0===t.selectionEnd&&(t.setSelectionRange(1,1),t.setSelectionRange(0,0))})}),d._isServer=!d._platform.isBrowser,d._isNativeSelect="select"===p,d._isTextarea="textarea"===p,d._isInFormField=!!h,d._isNativeSelect&&(d.controlType=f.multiple?"mat-native-select-multiple":"mat-native-select"),d}return b(n,[{key:"disabled",get:function(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled},set:function(e){this._disabled=Wd(e),this.focused&&(this.focused=!1,this.stateChanges.next())}},{key:"id",get:function(){return this._id},set:function(e){this._id=e||this._uid}},{key:"required",get:function(){return this._required},set:function(e){this._required=Wd(e)}},{key:"type",get:function(){return this._type},set:function(e){this._type=e||"text",this._validateType(),!this._isTextarea&&Kf().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}},{key:"value",get:function(){return this._inputValueAccessor.value},set:function(e){e!==this.value&&(this._inputValueAccessor.value=e,this.stateChanges.next())}},{key:"readonly",get:function(){return this._readonly},set:function(e){this._readonly=Wd(e)}},{key:"ngAfterViewInit",value:function(){var e=this;this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(function(t){e.autofilled=t.isAutofilled,e.stateChanges.next()})}},{key:"ngOnChanges",value:function(){this.stateChanges.next()}},{key:"ngOnDestroy",value:function(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}},{key:"ngDoCheck",value:function(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}},{key:"focus",value:function(e){this._elementRef.nativeElement.focus(e)}},{key:"_focusChanged",value:function(e){e!==this.focused&&(this.focused=e,this.stateChanges.next())}},{key:"_onInput",value:function(){}},{key:"_dirtyCheckPlaceholder",value:function(){var e,t,n=(null===(t=null===(e=this._formField)||void 0===e?void 0:e._hideControlPlaceholder)||void 0===t?void 0:t.call(e))?null:this.placeholder;if(n!==this._previousPlaceholder){var i=this._elementRef.nativeElement;this._previousPlaceholder=n,n?i.setAttribute("placeholder",n):i.removeAttribute("placeholder")}}},{key:"_dirtyCheckNativeValue",value:function(){var e=this._elementRef.nativeElement.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this.stateChanges.next())}},{key:"_validateType",value:function(){rG.indexOf(this._type)}},{key:"_isNeverEmpty",value:function(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}},{key:"_isBadInput",value:function(){var e=this._elementRef.nativeElement.validity;return e&&e.badInput}},{key:"empty",get:function(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}},{key:"shouldLabelFloat",get:function(){if(this._isNativeSelect){var e=this._elementRef.nativeElement,t=e.options[0];return this.focused||e.multiple||!this.empty||!!(e.selectedIndex>-1&&t&&t.label)}return this.focused||!this.empty}},{key:"setDescribedByIds",value:function(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}},{key:"onContainerClick",value:function(){this.focused||this.focus()}}]),n}(aG);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(qf),Os(hU,10),Os(zU,8),Os(QU,8),Os(lb),Os(iG,10),Os(tG),Os(Xl),Os(IH,8))},e.\u0275dir=Rt({type:e,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(e,t){1&e&&Vs("focus",function(){return t._focusChanged(!0)})("blur",function(){return t._focusChanged(!1)})("input",function(){return t._onInput()}),2&e&&(Pu("disabled",t.disabled)("required",t.required),ks("id",t.id)("data-placeholder",t.placeholder)("readonly",t.readonly&&!t._isNativeSelect||null)("aria-invalid",t.empty&&t.required?null:t.errorState)("aria-required",t.required),cu("mat-input-server",t._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[Xu([{provide:wH,useExisting:e}]),cs,qt]}),e}(),uG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[lb],imports:[[nG,DH,rb],nG,DH]}),e}();function cG(){for(var e=arguments.length,t=new Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:this.value,t=new yG;return t.source=this,t.value=e,t}},{key:"_calculatePercentage",value:function(e){return((e||0)-this.min)/(this.max-this.min)}},{key:"_calculateValue",value:function(e){return this.min+e*(this.max-this.min)}},{key:"_clamp",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return Math.max(t,Math.min(e,n))}},{key:"_getSliderDimensions",value:function(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}},{key:"_focusHostElement",value:function(e){this._elementRef.nativeElement.focus(e)}},{key:"_blurHostElement",value:function(){this._elementRef.nativeElement.blur()}},{key:"writeValue",value:function(e){this.value=e}},{key:"registerOnChange",value:function(e){this._controlValueAccessorChangeFn=e}},{key:"registerOnTouched",value:function(e){this.onTouched=e}},{key:"setDisabledState",value:function(e){this.disabled=e}}]),n}(bG);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(rg),Os(Cc),Os(tp,8),Pi("tabindex"),Os(Xl),Os(bh),Os(Yy,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-slider"]],viewQuery:function(e,t){var n;(1&e&&yl(vG,5),2&e)&&(ml(n=_l())&&(t._sliderWrapper=n.first))},hostAttrs:["role","slider",1,"mat-slider","mat-focus-indicator"],hostVars:29,hostBindings:function(e,t){1&e&&Vs("focus",function(){return t._onFocus()})("blur",function(){return t._onBlur()})("keydown",function(e){return t._onKeydown(e)})("keyup",function(){return t._onKeyup()})("mouseenter",function(){return t._onMouseenter()})("selectstart",function(e){return e.preventDefault()}),2&e&&(Pu("tabIndex",t.tabIndex),ks("aria-disabled",t.disabled)("aria-valuemax",t.max)("aria-valuemin",t.min)("aria-valuenow",t.value)("aria-valuetext",null==t.valueText?t.displayValue:t.valueText)("aria-orientation",t.vertical?"vertical":"horizontal"),cu("mat-slider-disabled",t.disabled)("mat-slider-has-ticks",t.tickInterval)("mat-slider-horizontal",!t.vertical)("mat-slider-axis-inverted",t._shouldInvertAxis())("mat-slider-invert-mouse-coords",t._shouldInvertMouseCoords())("mat-slider-sliding",t._isSliding)("mat-slider-thumb-label-showing",t.thumbLabel)("mat-slider-vertical",t.vertical)("mat-slider-min-value",t._isMinValue())("mat-slider-hide-last-tick",t.disabled||t._isMinValue()&&t._getThumbGap()&&t._shouldInvertAxis())("_mat-animation-noopable","NoopAnimations"===t._animationMode))},inputs:{disabled:"disabled",color:"color",tabIndex:"tabIndex",invert:"invert",max:"max",min:"min",step:"step",thumbLabel:"thumbLabel",tickInterval:"tickInterval",value:"value",vertical:"vertical",displayWith:"displayWith",valueText:"valueText"},outputs:{change:"change",input:"input",valueChange:"valueChange"},exportAs:["matSlider"],features:[Xu([mG]),cs],decls:13,vars:6,consts:[[1,"mat-slider-wrapper"],["sliderWrapper",""],[1,"mat-slider-track-wrapper"],[1,"mat-slider-track-background",3,"ngStyle"],[1,"mat-slider-track-fill",3,"ngStyle"],[1,"mat-slider-ticks-container",3,"ngStyle"],[1,"mat-slider-ticks",3,"ngStyle"],[1,"mat-slider-thumb-container",3,"ngStyle"],[1,"mat-slider-focus-ring"],[1,"mat-slider-thumb"],[1,"mat-slider-thumb-label"],[1,"mat-slider-thumb-label-text"]],template:function(e,t){1&e&&(Ps(0,"div",0,1),Ps(2,"div",2),Is(3,"div",3),Is(4,"div",4),Ms(),Ps(5,"div",5),Is(6,"div",6),Ms(),Ps(7,"div",7),Is(8,"div",8),Is(9,"div",9),Ps(10,"div",10),Ps(11,"span",11),Cu(12),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(3),Ts("ngStyle",t._getTrackBackgroundStyles()),Yo(1),Ts("ngStyle",t._getTrackFillStyles()),Yo(1),Ts("ngStyle",t._getTicksContainerStyles()),Yo(1),Ts("ngStyle",t._getTicksStyles()),Yo(1),Ts("ngStyle",t._getThumbContainerStyles()),Yo(5),Eu(t.displayValue))},directives:[td],styles:['.mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:"";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\n'],encapsulation:2,changeDetection:0}),e}();function wG(e){return"t"===e.type[0]}function kG(e,t){var n;return(n=wG(e)?"number"==typeof t?xG(e.touches,t)||xG(e.changedTouches,t):e.touches[0]||e.changedTouches[0]:e)?{x:n.clientX,y:n.clientY}:void 0}function xG(e,t){for(var n=0;n enter",pg("150ms cubic-bezier(0, 0, 0.2, 1)",gg({transform:"none",opacity:1}))),yg("* => void, * => exit",pg("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",gg({opacity:0})))])},TG=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s){var u;return m(this,n),(u=t.call(this))._elementRef=e,u._focusTrapFactory=i,u._changeDetectorRef=r,u._config=a,u._focusMonitor=s,u._animationStateChanged=new ol,u._elementFocusedBeforeDialogWasOpened=null,u._closeInteractionType=null,u.attachDomPortal=function(e){return u._portalOutlet.hasAttached(),u._portalOutlet.attachDomPortal(e)},u._ariaLabelledBy=a.ariaLabelledBy||null,u._document=o,u}return b(n,[{key:"_initializeWithAttachedContent",value:function(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}},{key:"attachComponentPortal",value:function(e){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(e)}},{key:"attachTemplatePortal",value:function(e){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(e)}},{key:"_recaptureFocus",value:function(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}},{key:"_trapFocus",value:function(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}},{key:"_restoreFocus",value:function(){var e=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&e&&"function"==typeof e.focus){var t=Zf(),n=this._elementRef.nativeElement;(!t||t===this._document.body||t===n||n.contains(t))&&(this._focusMonitor?(this._focusMonitor.focusVia(e,this._closeInteractionType),this._closeInteractionType=null):e.focus())}this._focusTrap&&this._focusTrap.destroy()}},{key:"_setupFocusTrap",value:function(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}},{key:"_capturePreviouslyFocusedElement",value:function(){this._document&&(this._elementFocusedBeforeDialogWasOpened=Zf())}},{key:"_focusDialogContainer",value:function(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}},{key:"_containsFocus",value:function(){var e=this._elementRef.nativeElement,t=Zf();return e===t||e.contains(t)}}]),n}(fp);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(qv),Os(Cc),Os(bh,8),Os(EG),Os(rg))},e.\u0275dir=Rt({type:e,viewQuery:function(e,t){var n;(1&e&&yl(mp,7),2&e)&&(ml(n=_l())&&(t._portalOutlet=n.first))},features:[cs]}),e}(),AG=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments))._state="enter",e}return b(n,[{key:"_onAnimationDone",value:function(e){var t=e.toState,n=e.totalTime;"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:n})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:n}))}},{key:"_onAnimationStart",value:function(e){var t=e.toState,n=e.totalTime;"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:n}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:n})}},{key:"_startExitAnimation",value:function(){this._state="exit",this._changeDetectorRef.markForCheck()}}]),n}(TG);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275cmp=Ot({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(e,t){1&e&&zs("@dialogContainer.start",function(e){return t._onAnimationStart(e)})("@dialogContainer.done",function(e){return t._onAnimationDone(e)}),2&e&&(Pu("id",t._id),ks("role",t._config.role)("aria-labelledby",t._config.ariaLabel?null:t._ariaLabelledBy)("aria-label",t._config.ariaLabel)("aria-describedby",t._config.ariaDescribedBy||null),Mu("@dialogContainer",t._state))},features:[cs],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(e,t){1&e&&Cs(0,CG,0,0,"ng-template",0)},directives:[mp],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[OG.dialogContainer]}}),t}(),PG=0,MG=function(){function e(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mat-dialog-"+PG++;m(this,e),this._overlayRef=t,this._containerInstance=n,this.id=r,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new ae,this._afterClosed=new ae,this._beforeClosed=new ae,this._state=0,n._id=r,n._animationStateChanged.pipe(bf(function(e){return"opened"===e.state}),_p(1)).subscribe(function(){i._afterOpened.next(),i._afterOpened.complete()}),n._animationStateChanged.pipe(bf(function(e){return"closed"===e.state}),_p(1)).subscribe(function(){clearTimeout(i._closeFallbackTimeout),i._finishDialogClose()}),t.detachments().subscribe(function(){i._beforeClosed.next(i._result),i._beforeClosed.complete(),i._afterClosed.next(i._result),i._afterClosed.complete(),i.componentInstance=null,i._overlayRef.dispose()}),t.keydownEvents().pipe(bf(function(e){return 27===e.keyCode&&!i.disableClose&&!Ep(e)})).subscribe(function(e){e.preventDefault(),IG(i,"keyboard")}),t.backdropClick().subscribe(function(){i.disableClose?i._containerInstance._recaptureFocus():IG(i,"mouse")})}return b(e,[{key:"close",value:function(e){var t=this;this._result=e,this._containerInstance._animationStateChanged.pipe(bf(function(e){return"closing"===e.state}),_p(1)).subscribe(function(n){t._beforeClosed.next(e),t._beforeClosed.complete(),t._overlayRef.detachBackdrop(),t._closeFallbackTimeout=setTimeout(function(){return t._finishDialogClose()},n.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}},{key:"afterOpened",value:function(){return this._afterOpened}},{key:"afterClosed",value:function(){return this._afterClosed}},{key:"beforeClosed",value:function(){return this._beforeClosed}},{key:"backdropClick",value:function(){return this._overlayRef.backdropClick()}},{key:"keydownEvents",value:function(){return this._overlayRef.keydownEvents()}},{key:"updatePosition",value:function(e){var t=this._getPositionStrategy();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._overlayRef.updatePosition(),this}},{key:"updateSize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}},{key:"addPanelClass",value:function(e){return this._overlayRef.addPanelClass(e),this}},{key:"removePanelClass",value:function(e){return this._overlayRef.removePanelClass(e),this}},{key:"getState",value:function(){return this._state}},{key:"_finishDialogClose",value:function(){this._state=2,this._overlayRef.dispose()}},{key:"_getPositionStrategy",value:function(){return this._overlayRef.getConfig().positionStrategy}}]),e}();function IG(e,t,n){return void 0!==e._containerInstance&&(e._containerInstance._closeInteractionType=t),e.close(n)}var RG=new Ri("MatDialogData"),DG=new Ri("mat-dialog-default-options"),NG=new Ri("mat-dialog-scroll-strategy"),LG={provide:NG,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.block()}}},jG=function(){var e=function(){function e(t,n,i,r,o,a,s,u,c){var l=this;m(this,e),this._overlay=t,this._injector=n,this._defaultOptions=i,this._parentDialog=r,this._overlayContainer=o,this._dialogRefConstructor=s,this._dialogContainerType=u,this._dialogDataToken=c,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new ae,this._afterOpenedAtThisLevel=new ae,this._ariaHiddenElements=new Map,this.afterAllClosed=tH(function(){return l.openDialogs.length?l._getAfterAllClosed():l._getAfterAllClosed().pipe(Ef(void 0))}),this._scrollStrategy=a}return b(e,[{key:"openDialogs",get:function(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}},{key:"afterOpened",get:function(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}},{key:"_getAfterAllClosed",value:function(){var e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}},{key:"open",value:function(e,t){var n=this;(t=function(e,t){return Object.assign(Object.assign({},t),e)}(t,this._defaultOptions||new EG)).id&&this.getDialogById(t.id);var i=this._createOverlay(t),r=this._attachDialogContainer(i,t),o=this._attachDialogContent(e,r,i,t);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(function(){return n._removeOpenDialog(o)}),this.afterOpened.next(o),r._initializeWithAttachedContent(),o}},{key:"closeAll",value:function(){this._closeDialogs(this.openDialogs)}},{key:"getDialogById",value:function(e){return this.openDialogs.find(function(t){return t.id===e})}},{key:"ngOnDestroy",value:function(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}},{key:"_createOverlay",value:function(e){var t=this._getOverlayConfig(e);return this._overlay.create(t)}},{key:"_getOverlayConfig",value:function(e){var t=new Np({positionStrategy:this._overlay.position().global(),scrollStrategy:e.scrollStrategy||this._scrollStrategy(),panelClass:e.panelClass,hasBackdrop:e.hasBackdrop,direction:e.direction,minWidth:e.minWidth,minHeight:e.minHeight,maxWidth:e.maxWidth,maxHeight:e.maxHeight,disposeOnNavigation:e.closeOnNavigation});return e.backdropClass&&(t.backdropClass=e.backdropClass),t}},{key:"_attachDialogContainer",value:function(e,t){var n=ss.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:EG,useValue:t}]}),i=new lp(this._dialogContainerType,t.viewContainerRef,n,t.componentFactoryResolver);return e.attach(i).instance}},{key:"_attachDialogContent",value:function(e,t,n,i){var r=new this._dialogRefConstructor(n,t,i.id);if(e instanceof Pc)t.attachTemplatePortal(new hp(e,null,{$implicit:i.data,dialogRef:r}));else{var o=this._createInjector(i,r,t),a=t.attachComponentPortal(new lp(e,i.viewContainerRef,o));r.componentInstance=a.instance}return r.updateSize(i.width,i.height).updatePosition(i.position),r}},{key:"_createInjector",value:function(e,t,n){var i=e&&e.viewContainerRef&&e.viewContainerRef.injector,r=[{provide:this._dialogContainerType,useValue:n},{provide:this._dialogDataToken,useValue:e.data},{provide:this._dialogRefConstructor,useValue:t}];return e.direction&&(!i||!i.get(tp,null,at.Optional))&&r.push({provide:tp,useValue:{value:e.direction,change:$d()}}),ss.create({parent:i||this._injector,providers:r})}},{key:"_removeOpenDialog",value:function(e){var t=this.openDialogs.indexOf(e);t>-1&&(this.openDialogs.splice(t,1),this.openDialogs.length||(this._ariaHiddenElements.forEach(function(e,t){e?t.setAttribute("aria-hidden",e):t.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}},{key:"_hideNonDialogContentFromAssistiveTechnology",value:function(){var e=this._overlayContainer.getContainerElement();if(e.parentElement)for(var t=e.parentElement.children,n=t.length-1;n>-1;n--){var i=t[n];i!==e&&"SCRIPT"!==i.nodeName&&"STYLE"!==i.nodeName&&!i.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(i,i.getAttribute("aria-hidden")),i.setAttribute("aria-hidden","true"))}}},{key:"_closeDialogs",value:function(e){for(var t=e.length;t--;)e[t].close()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(ss),Os(void 0),Os(void 0),Os(Hp),Os(void 0),Os(Di),Os(Di),Os(Ri))},e.\u0275dir=Rt({type:e}),e}(),FG=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u){return m(this,n),t.call(this,e,i,o,s,u,a,MG,AG,RG)}return n}(jG);return e.\u0275fac=function(t){return new(t||e)(Zi(iv),Zi(ss),Zi(Ih,8),Zi(DG,8),Zi(NG),Zi(e,12),Zi(Hp))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),BG=0,VG=function(){var e=function(){function e(t,n,i){m(this,e),this._dialogRef=t,this._elementRef=n,this._dialog=i,this.id="mat-dialog-title-"+BG++}return b(e,[{key:"ngOnInit",value:function(){var e=this;this._dialogRef||(this._dialogRef=function(e,t){for(var n=e.nativeElement.parentElement;n&&!n.classList.contains("mat-dialog-container");)n=n.parentElement;return n?t.find(function(e){return e.id===n.id}):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(function(){var t=e._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=e.id)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(MG,8),Os(Ju),Os(FG))},e.\u0275dir=Rt({type:e,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(e,t){2&e&&Pu("id",t.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),e}(),zG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),e}(),UG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[FG,LG],imports:[[cv,yp,rb],rb]}),e}(),HG=new Ri("CdkAccordion"),GG=0,WG=function(){var e=function(){function e(t,n,i){var r=this;m(this,e),this.accordion=t,this._changeDetectorRef=n,this._expansionDispatcher=i,this._openCloseAllSubscription=q.EMPTY,this.closed=new ol,this.opened=new ol,this.destroyed=new ol,this.expandedChange=new ol,this.id="cdk-accordion-child-"+GG++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=function(){},this._removeUniqueSelectionListener=i.listen(function(e,t){r.accordion&&!r.accordion.multi&&r.accordion.id===t&&r.id!==e&&(r.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}return b(e,[{key:"expanded",get:function(){return this._expanded},set:function(e){e=Wd(e),this._expanded!==e&&(this._expanded=e,this.expandedChange.emit(e),e?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}},{key:"disabled",get:function(){return this._disabled},set:function(e){this._disabled=Wd(e)}},{key:"ngOnDestroy",value:function(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}},{key:"toggle",value:function(){this.disabled||(this.expanded=!this.expanded)}},{key:"close",value:function(){this.disabled||(this.expanded=!1)}},{key:"open",value:function(){this.disabled||(this.expanded=!0)}},{key:"_subscribeToOpenCloseAllActions",value:function(){var e=this;return this.accordion._openCloseAllActions.subscribe(function(t){e.disabled||(e.expanded=t)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(HG,12),Os(Cc),Os(rp))},e.\u0275dir=Rt({type:e,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Xu([{provide:HG,useValue:void 0}])]}),e}(),qG=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),XG=["body"];function YG(e,t){}var KG=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],$G=["mat-expansion-panel-header","*","mat-action-row"];function QG(e,t){1&e&&Is(0,"span",2),2&e&&Ts("@indicatorRotate",Ws()._getExpandedState())}var ZG=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],JG=["mat-panel-title","mat-panel-description","*"],eW=new Ri("MAT_ACCORDION"),tW="225ms cubic-bezier(0.4,0.0,0.2,1)",nW={indicatorRotate:fg("indicatorRotate",[mg("collapsed, void",gg({transform:"rotate(0deg)"})),mg("expanded",gg({transform:"rotate(180deg)"})),yg("expanded <=> collapsed, void => collapsed",pg(tW))]),bodyExpansion:fg("bodyExpansion",[mg("collapsed, void",gg({height:"0px",visibility:"hidden"})),mg("expanded",gg({height:"*",visibility:"visible"})),yg("expanded <=> collapsed, void => collapsed",pg(tW))])},iW=function(){var e=function e(t){m(this,e),this._template=t};return e.\u0275fac=function(t){return new(t||e)(Os(Pc))},e.\u0275dir=Rt({type:e,selectors:[["ng-template","matExpansionPanelContent",""]]}),e}(),rW=0,oW=new Ri("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),aW=function(){var t=function(t){a(i,t);var n=s(i);function i(e,t,r,o,a,s,u){var c;return m(this,i),(c=n.call(this,e,t,r))._viewContainerRef=o,c._animationMode=s,c._hideToggle=!1,c.afterExpand=new ol,c.afterCollapse=new ol,c._inputChanges=new ae,c._headerId="mat-expansion-panel-header-"+rW++,c._bodyAnimationDone=new ae,c.accordion=e,c._document=a,c._bodyAnimationDone.pipe(lf(function(e,t){return e.fromState===t.fromState&&e.toState===t.toState})).subscribe(function(e){"void"!==e.fromState&&("expanded"===e.toState?c.afterExpand.emit():"collapsed"===e.toState&&c.afterCollapse.emit())}),u&&(c.hideToggle=u.hideToggle),c}return b(i,[{key:"hideToggle",get:function(){return this._hideToggle||this.accordion&&this.accordion.hideToggle},set:function(e){this._hideToggle=Wd(e)}},{key:"togglePosition",get:function(){return this._togglePosition||this.accordion&&this.accordion.togglePosition},set:function(e){this._togglePosition=e}},{key:"_hasSpacing",value:function(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}},{key:"_getExpandedState",value:function(){return this.expanded?"expanded":"collapsed"}},{key:"toggle",value:function(){this.expanded=!this.expanded}},{key:"close",value:function(){this.expanded=!1}},{key:"open",value:function(){this.expanded=!0}},{key:"ngAfterContentInit",value:function(){var e=this;this._lazyContent&&this.opened.pipe(Ef(null),bf(function(){return e.expanded&&!e._portal}),_p(1)).subscribe(function(){e._portal=new hp(e._lazyContent._template,e._viewContainerRef)})}},{key:"ngOnChanges",value:function(e){this._inputChanges.next(e)}},{key:"ngOnDestroy",value:function(){e(p(i.prototype),"ngOnDestroy",this).call(this),this._bodyAnimationDone.complete(),this._inputChanges.complete()}},{key:"_containsFocus",value:function(){if(this._body){var e=this._document.activeElement,t=this._body.nativeElement;return e===t||t.contains(e)}return!1}}]),i}(WG);return t.\u0275fac=function(e){return new(e||t)(Os(eW,12),Os(Cc),Os(rp),Os(Nc),Os(bh),Os(Yy,8),Os(oW,8))},t.\u0275cmp=Ot({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,iW,5),2&e)&&(ml(i=_l())&&(t._lazyContent=i.first))},viewQuery:function(e,t){var n;(1&e&&yl(XG,5),2&e)&&(ml(n=_l())&&(t._body=n.first))},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(e,t){2&e&&cu("mat-expanded",t.expanded)("_mat-animation-noopable","NoopAnimations"===t._animationMode)("mat-expansion-panel-spacing",t._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Xu([{provide:eW,useValue:void 0}]),cs,qt],ngContentSelectors:$G,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(e,t){1&e&&(Xs(KG),Ys(0),Ps(1,"div",0,1),Vs("@bodyExpansion.done",function(e){return t._bodyAnimationDone.next(e)}),Ps(3,"div",2),Ys(4,1),Cs(5,YG,0,0,"ng-template",3),Ms(),Ys(6,2),Ms()),2&e&&(Yo(1),Ts("@bodyExpansion",t._getExpandedState())("id",t.id),ks("aria-labelledby",t._headerId),Yo(4),Ts("cdkPortalOutlet",t._portal))},directives:[mp],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[nW.bodyExpansion]},changeDetection:0}),t}(),sW=ub(function e(){m(this,e)}),uW=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u){var c;m(this,n),(c=t.call(this)).panel=e,c._element=i,c._focusMonitor=r,c._changeDetectorRef=o,c._animationMode=s,c._parentChangeSubscription=q.EMPTY;var l=e.accordion?e.accordion._stateChanges.pipe(bf(function(e){return!(!e.hideToggle&&!e.togglePosition)})):Mf;return c.tabIndex=parseInt(u||"")||0,c._parentChangeSubscription=Oe(e.opened,e.closed,l,e._inputChanges.pipe(bf(function(e){return!!(e.hideToggle||e.disabled||e.togglePosition)}))).subscribe(function(){return c._changeDetectorRef.markForCheck()}),e.closed.pipe(bf(function(){return e._containsFocus()})).subscribe(function(){return r.focusVia(i,"program")}),a&&(c.expandedHeight=a.expandedHeight,c.collapsedHeight=a.collapsedHeight),c}return b(n,[{key:"disabled",get:function(){return this.panel.disabled}},{key:"_toggle",value:function(){this.disabled||this.panel.toggle()}},{key:"_isExpanded",value:function(){return this.panel.expanded}},{key:"_getExpandedState",value:function(){return this.panel._getExpandedState()}},{key:"_getPanelId",value:function(){return this.panel.id}},{key:"_getTogglePosition",value:function(){return this.panel.togglePosition}},{key:"_showToggle",value:function(){return!this.panel.hideToggle&&!this.panel.disabled}},{key:"_getHeaderHeight",value:function(){var e=this._isExpanded();return e&&this.expandedHeight?this.expandedHeight:!e&&this.collapsedHeight?this.collapsedHeight:null}},{key:"_keydown",value:function(e){switch(e.keyCode){case 32:case 13:Ep(e)||(e.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(e))}}},{key:"focus",value:function(e,t){e?this._focusMonitor.focusVia(this._element,e,t):this._element.nativeElement.focus(t)}},{key:"ngAfterViewInit",value:function(){var e=this;this._focusMonitor.monitor(this._element).subscribe(function(t){t&&e.panel.accordion&&e.panel.accordion._handleHeaderFocus(e)})}},{key:"ngOnDestroy",value:function(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}]),n}(sW);return e.\u0275fac=function(t){return new(t||e)(Os(aW,1),Os(Ju),Os(rg),Os(Cc),Os(oW,8),Os(Yy,8),Pi("tabindex"))},e.\u0275cmp=Ot({type:e,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(e,t){1&e&&Vs("click",function(){return t._toggle()})("keydown",function(e){return t._keydown(e)}),2&e&&(ks("id",t.panel._headerId)("tabindex",t.tabIndex)("aria-controls",t._getPanelId())("aria-expanded",t._isExpanded())("aria-disabled",t.panel.disabled),uu("height",t._getHeaderHeight()),cu("mat-expanded",t._isExpanded())("mat-expansion-toggle-indicator-after","after"===t._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===t._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===t._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[cs],ngContentSelectors:JG,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(e,t){1&e&&(Xs(ZG),Ps(0,"span",0),Ys(1),Ys(2,1),Ys(3,2),Ms(),Cs(4,QG,1,1,"span",1)),2&e&&(Yo(4),Ts("ngIf",t._showToggle()))},directives:[Yh],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[nW.indicatorRotate]},changeDetection:0}),e}(),cW=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,rb,qG,yp]]}),e}(),lW=r(5478);Object.create(Error.prototype);var hW=["*"],dW=(function(e){e.LineHighlight="line-highlight",e.LineNumbers="line-numbers"}(dW||(dW={})),dW),fW=function e(){m(this,e)},pW=new Ri("SECURITY_CONTEXT"),vW=function(){var e=function(){function e(t,n,i,r,o){m(this,e),this.platform=t,this.securityContext=n,this.http=i,this.sanitizer=o,this.initialMarkedOptions={renderer:new lW.Renderer},this.options=r}return b(e,[{key:"options",get:function(){return this._options},set:function(e){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),e)}},{key:"renderer",get:function(){return this.options.renderer},set:function(e){this.options.renderer=e}},{key:"compile",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.options,r=this.trimIndentation(e),o=t?this.decodeHtml(r):r,a=n?this.renderEmoji(o):o,s=lW.parse(a,i);return this.sanitizer.sanitize(this.securityContext,s)||""}},{key:"getSource",value:function(e){var t=this;if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(e,{responseType:"text"}).pipe(ce(function(n){return t.handleExtension(e,n)}))}},{key:"highlight",value:function(e){if(hd(this.platform)&&"undefined"!=typeof Prism){e||(e=document);var t=e.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(t,function(e){return e.classList.add("language-none")}),Prism.highlightAllUnder(e)}}},{key:"renderKatex",value:function(e,t){if(!hd(this.platform))return e;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return e.replace(/\$([^\s][^$]*?[^\s])\$/gm,function(e,n){return katex.renderToString(n,t)})}},{key:"decodeHtml",value:function(e){if(!hd(this.platform))return e;var t=document.createElement("textarea");return t.innerHTML=e,t.value}},{key:"handleExtension",value:function(e,t){var n=e?e.split("?")[0].split(".").splice(-1).join():"";return"md"!==n?"```"+n+"\n"+t+"\n```":t}},{key:"renderEmoji",value:function(e){if(!hd(this.platform))return e;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(e)}},{key:"trimIndentation",value:function(e){return e?e.split("\n").map(function(e){var n=t;return e.length>0&&(n=isNaN(n)?e.search(/\S|$/):Math.min(e.search(/\S|$/),n)),isNaN(t)&&(t=n),n?e.substring(n):e}).join("\n"):"";var t}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Ml),Zi(pW),Zi(h_,8),Zi(fW,8),Zi(Vd))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),gW=function(){var e=function(){function e(t,n){m(this,e),this.element=t,this.markdownService=n,this.error=new ol,this.load=new ol,this.ready=new ol,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}return b(e,[{key:"emoji",get:function(){return this._emoji},set:function(e){this._emoji=this.coerceBooleanProperty(e)}},{key:"katex",get:function(){return this._katex},set:function(e){this._katex=this.coerceBooleanProperty(e)}},{key:"lineHighlight",get:function(){return this._lineHighlight},set:function(e){this._lineHighlight=this.coerceBooleanProperty(e)}},{key:"lineNumbers",get:function(){return this._lineNumbers},set:function(e){this._lineNumbers=this.coerceBooleanProperty(e)}},{key:"ngOnChanges",value:function(){null==this.data?null==this.src||this.handleSrc():this.handleData()}},{key:"ngAfterViewInit",value:function(){!this.data&&!this.src&&this.handleTransclusion()}},{key:"render",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.markdownService.compile(e,t,this.emoji);n=this.katex?this.markdownService.renderKatex(n,this.katexOptions):n,this.element.nativeElement.innerHTML=n,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}},{key:"coerceBooleanProperty",value:function(e){return null!=e&&"false"!="".concat(String(e))}},{key:"handleData",value:function(){this.render(this.data)}},{key:"handleSrc",value:function(){var e=this;this.markdownService.getSource(this.src).subscribe(function(t){e.render(t),e.load.emit(t)},function(t){return e.error.emit(t)})}},{key:"handleTransclusion",value:function(){this.render(this.element.nativeElement.innerHTML,!0)}},{key:"handlePlugins",value:function(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,dW.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}},{key:"setPluginClass",value:function(e,t){for(var n=e.querySelectorAll("pre"),i=0;i0){var r=i.indexOf(n);-1!==r&&i.splice(r,1)}}},{key:"notifyComplete",value:function(){}},{key:"_next",value:function(e){if(0===this.toRespond.length){var t=[e].concat(v(this.values));this.project?this._tryProject(t):this.destination.next(t)}}},{key:"_tryProject",value:function(e){var t;try{t=this.project.apply(this,e)}catch(n){return void this.destination.error(n)}this.destination.next(t)}}]),n}(K_),kW=function(){function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];m(this,e),this.accumulator=t,this.seed=n,this.hasSeed=i}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new xW(e,this.accumulator,this.seed,this.hasSeed))}}]),e}(),xW=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;return m(this,n),(a=t.call(this,e)).accumulator=i,a._seed=r,a.hasSeed=o,a.index=0,a}return b(n,[{key:"seed",get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e}},{key:"_next",value:function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}},{key:"_tryNext",value:function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(i){this.destination.error(i)}this.seed=t,this.destination.next(t)}}]),n}(K),SW=function(){function e(t){m(this,e),this.predicate=t}return b(e,[{key:"call",value:function(e,t){return t.subscribe(new CW(e,this.predicate))}}]),e}(),CW=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).predicate=i,r.skipping=!0,r.index=0,r}return b(n,[{key:"_next",value:function(e){var t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}},{key:"tryCallPredicate",value:function(e){try{var t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}]),n}(K),EW=["youtubeContainer"],OW=function(){var e=function(){function e(t,n){m(this,e),this._ngZone=t,this._youtubeContainer=new ae,this._destroyed=new ae,this._playerChanges=new vv(void 0),this._videoId=new vv(void 0),this._height=new vv(390),this._width=new vv(640),this._startSeconds=new vv(void 0),this._endSeconds=new vv(void 0),this._suggestedQuality=new vv(void 0),this._playerVars=new vv(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=hd(n)}return b(e,[{key:"videoId",get:function(){return this._videoId.value},set:function(e){this._videoId.next(e)}},{key:"height",get:function(){return this._height.value},set:function(e){this._height.next(e||390)}},{key:"width",get:function(){return this._width.value},set:function(e){this._width.next(e||640)}},{key:"startSeconds",set:function(e){this._startSeconds.next(e)}},{key:"endSeconds",set:function(e){this._endSeconds.next(e)}},{key:"suggestedQuality",set:function(e){this._suggestedQuality.next(e)}},{key:"playerVars",get:function(){return this._playerVars.value},set:function(e){this._playerVars.next(e)}},{key:"ngOnInit",value:function(){var e=this;if(this._isBrowser){var n=$d(!0);if(!window.YT||!window.YT.Player){var i=new ae;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=function(){e._existingApiReadyCallback&&e._existingApiReadyCallback(),e._ngZone.run(function(){return i.next(!0)})},n=i.pipe(_p(1),Ef(!1))}var r=function(e,n,i,r,o,a,s){var u=J_([n,a]).pipe(bW(J_([r,o])),ce(function(e){var n=t(e,2),i=n[0],r=n[1],o=t(i,2),a=o[0],s=o[1],u=t(r,2),c=u[0],l=u[1];return a?{videoId:a,playerVars:s,width:c,height:l}:void 0}));return J_([e,u,$d(s)]).pipe(function(e){return J(function(){for(var e=arguments.length,t=new Array(e),n=0;n=2&&(n=!0),function(i){return i.lift(new kW(e,t,n))}}(TW,void 0),lf())}(this._youtubeContainer,this._videoId,n,this._width,this._height,this._playerVars,this._ngZone).pipe(mv(function(t){e._playerChanges.next(t)}),ke(function(e){return e?AW(e)?$d(e):new te(function(t){var n=!1,i=!1;return e.addEventListener("onReady",function e(r){i=!0,n||(r.target.removeEventListener("onReady",e),t.next(r.target))}),function(){n=!0,i||function(e){AW(e)||e.destroy()}(e)}}).pipe(_p(1),Ef(void 0)):$d(void 0)}),kf(this._destroyed),De(new ae));r.subscribe(function(t){e._player=t,t&&e._pendingPlayerState&&e._initializePlayer(t,e._pendingPlayerState),e._pendingPlayerState=void 0}),function(e,n,i){J_([e,n,i]).subscribe(function(e){var n=t(e,3),i=n[0],r=n[1],o=n[2];return i&&i.setSize(r,o)})}(r,this._width,this._height),function(e,n){J_([e,n]).subscribe(function(e){var n=t(e,2),i=n[0],r=n[1];return i&&r&&i.setPlaybackQuality(r)})}(r,this._suggestedQuality),function(e,n,i,r,o,a){var s=J_([i,r]).pipe(ce(function(e){var n=t(e,2);return{startSeconds:n[0],endSeconds:n[1]}})),u=s.pipe(PW(e,function(e){return!!e&&!function(e){var t=e.getPlayerState();return t!==YT.PlayerState.UNSTARTED&&t!==YT.PlayerState.CUED}(e)})),c=n.pipe(PW(e,function(e,t){return!!e&&e.videoId!==t}));Oe(e.pipe(PW(J_([n,s]),function(e,n){var i=t(e,2),r=i[0],o=i[1];return!(!n||r==n.videoId&&!o.startSeconds&&!o.endSeconds)})),c,u).pipe(bW(J_([e,n,s,o])),ce(function(e){var n=t(e,2);n[0];return n[1]}),kf(a)).subscribe(function(e){var n=t(e,4),i=n[0],r=n[1],o=n[2],a=n[3];!r||!i||(i.videoId=r,i.cueVideoById(Object.assign({videoId:r,suggestedQuality:a},o)))})}(r,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),r.connect()}}},{key:"createEventsBoundInZone",value:function(){return{}}},{key:"ngAfterViewInit",value:function(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}},{key:"ngOnDestroy",value:function(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}},{key:"playVideo",value:function(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}},{key:"pauseVideo",value:function(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}},{key:"stopVideo",value:function(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}},{key:"seekTo",value:function(e,t){this._player?this._player.seekTo(e,t):this._getPendingState().seek={seconds:e,allowSeekAhead:t}}},{key:"mute",value:function(){this._player?this._player.mute():this._getPendingState().muted=!0}},{key:"unMute",value:function(){this._player?this._player.unMute():this._getPendingState().muted=!1}},{key:"isMuted",value:function(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}},{key:"setVolume",value:function(e){this._player?this._player.setVolume(e):this._getPendingState().volume=e}},{key:"getVolume",value:function(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}},{key:"setPlaybackRate",value:function(e){if(this._player)return this._player.setPlaybackRate(e);this._getPendingState().playbackRate=e}},{key:"getPlaybackRate",value:function(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}},{key:"getAvailablePlaybackRates",value:function(){return this._player?this._player.getAvailablePlaybackRates():[]}},{key:"getVideoLoadedFraction",value:function(){return this._player?this._player.getVideoLoadedFraction():0}},{key:"getPlayerState",value:function(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}},{key:"getCurrentTime",value:function(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}},{key:"getPlaybackQuality",value:function(){return this._player?this._player.getPlaybackQuality():"default"}},{key:"getAvailableQualityLevels",value:function(){return this._player?this._player.getAvailableQualityLevels():[]}},{key:"getDuration",value:function(){return this._player?this._player.getDuration():0}},{key:"getVideoUrl",value:function(){return this._player?this._player.getVideoUrl():""}},{key:"getVideoEmbedCode",value:function(){return this._player?this._player.getVideoEmbedCode():""}},{key:"_getPendingState",value:function(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}},{key:"_initializePlayer",value:function(e,t){var n=t.playbackState,i=t.playbackRate,r=t.volume,o=t.muted,a=t.seek;switch(n){case YT.PlayerState.PLAYING:e.playVideo();break;case YT.PlayerState.PAUSED:e.pauseVideo();break;case YT.PlayerState.CUED:e.stopVideo()}null!=i&&e.setPlaybackRate(i),null!=r&&e.setVolume(r),null!=o&&(o?e.mute():e.unMute()),null!=a&&e.seekTo(a.seconds,a.allowSeekAhead)}},{key:"_getLazyEmitter",value:function(e){var t=this;return this._playerChanges.pipe(Of(function(t){return t?yW(function(n){t.addEventListener(e,n)},function(n){try{t.removeEventListener&&t.removeEventListener(e,n)}catch(i){}}):$d()}),function(e){return new te(function(n){return e.subscribe({next:function(e){return t._ngZone.run(function(){return n.next(e)})},error:function(e){return n.error(e)},complete:function(){return n.complete()}})})},kf(this._destroyed))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Xl),Os(Ml))},e.\u0275cmp=Ot({type:e,selectors:[["youtube-player"]],viewQuery:function(e,t){var n;(1&e&&yl(EW,5),2&e)&&(ml(n=_l())&&(t.youtubeContainer=n.first))},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(e,t){1&e&&Is(0,"div",null,0)},encapsulation:2,changeDetection:0}),e}();function TW(e,n){var i=t(n,3),r=i[0],o=i[1],a=i[2];if(e&&o&&e.playerVars!==o.playerVars)e.destroy();else{if(!o)return void(e&&e.destroy());if(e)return e}var s=a.runOutsideAngular(function(){return new YT.Player(r,o)});return s.videoId=o.videoId,s.playerVars=o.playerVars,s}function AW(e){return"getPlayerStatus"in e}function PW(e,n){return J(bW(e),bf(function(e){var i=t(e,2),r=i[0],o=i[1];return n(o,r)}),ce(function(e){return t(e,1)[0]}))}var MW=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),IW=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),e}();function RW(e){return!0===e}function DW(e){return null==e}function NW(e){return!DW(e)}function LW(e){return Boolean(e)}function jW(e){return DW(e)?e:JSON.parse(JSON.stringify(e))}var FW=function e(t){var n=t instanceof Date;if("object"!=typeof t||null===t||n)return t;Object.freeze(t);var i="function"==typeof t,r=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(function(n){r.call(t,n)&&(!i||"caller"!==n&&"callee"!==n&&"arguments"!==n)&&null!==t[n]&&("object"==typeof t[n]||"function"==typeof t[n])&&!Object.isFrozen(t[n])&&e(t[n])}),t};function BW(e){return NW(e)&&"object"==typeof e&&function(e){return"[object Object]"===Object.prototype.toString.call(e)}(e)}var VW="NGXS_DATA_META",zW="NGXS_META",UW="NGXS_ARGUMENT_REGISTRY_META",HW=function(){var e=function(){function e(t){var n=this;m(this,e),this.sequence$=new vv(0),this.subscription=null,t&&(this.subscription=t.subscribe(function(){return n.updateSequence()}))}return b(e,[{key:"sequenceValue",get:function(){return this.sequence$.getValue()}},{key:"ngOnDestroy",value:function(){var e;this.sequence$.next(0),null===(e=this.subscription)||void 0===e||e.unsubscribe()}},{key:"updateSequence",value:function(){this.sequence$.next(this.sequenceValue+1)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Az,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}();function GW(e){return e[VW]}var WW=function(){var e=function e(t,n,i){m(this,e),e.store=t.get(Az),e.ngZone=t.get(Xl),e.factory=n,e.context=i,e.computed=t.get(HW)};return e.store=null,e.computed=null,e.context=null,e.factory=null,e.ngZone=null,e.\u0275prov=$e({token:e,factory:e.\u0275fac=function(t){return new(t||e)(Zi(ss),Zi(bV),Zi(yV))}}),e}(),qW=function(){function e(){m(this,e),e.statesCachedMeta.clear()}return b(e,null,[{key:"createStateContext",value:function(e){return WW.context.createStateContext(e)}},{key:"ensureMappedState",value:function(t){if(DW(WW.factory)||DW(t))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(NW(t.name)?e.statesCachedMeta.get(t.name):null)||e.ensureMeta(t)}},{key:"getRepositoryByInstance",value:function(t){var n,i=null!==(n=GW(e.getStateClassByInstance(t)))&&void 0!==n?n:null;if(DW(i))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return i}},{key:"getStateClassByInstance",value:function(e){return(null!=e?e:{}).constructor}},{key:"clearMetaByInstance",value:function(t){var n=e.getRepositoryByInstance(t);n.stateMeta.actions={},n.operations={}}},{key:"createPayload",value:function(e,t){for(var n={},i=Array.from(e),r=0;r0?n:null}},{key:"createAction",value:function(t,n,i){var r=e.createPayload(n,i);return new(function(e){return function(){function t(e){var n=this;m(this,t),e&&Object.keys(e).forEach(function(t){n[t]=e[t]})}return b(t,null,[{key:"type",get:function(){return e}}]),t}()}(t.type))(r)}},{key:"ensureMeta",value:function(t){var n,i=NW(t.name)?null===(n=WW.factory.states)||void 0===n?void 0:n.find(function(e){return e.name===t.name}):null;return NW(i)&&NW(t.name)&&e.statesCachedMeta.set(t.name,i),i}}]),e}();qW.statesCachedMeta=new Map,qW.\u0275fac=function(e){return new(e||qW)},qW.\u0275prov=$e({token:qW,factory:qW.\u0275fac}),new Bf(1);var XW=function(e){a(n,e);var t=s(n);function n(e){return m(this,n),t.call(this,"Child states can only be added to an object. Cannot convert ".concat(NW(null==e?void 0:e.constructor)?e.constructor.name:e," to PlainObject"))}return n}(l(Error));function YW(e){var t;return null!==(t=e.NGXS_OPTIONS_META)&&void 0!==t?t:{name:""}}function KW(e){var t,n=YW(e),i=null!==(t=n.children)&&void 0!==t?t:[],r=jW(void 0===n.defaults?{}:n.defaults);if(i.length){if(BW(r))return function(e,t){return t.reduce(function(e,t){var n=YW(t);if(function(e){var t="string"==typeof e?e.trim():e;return[void 0,null,NaN,"",1/0].includes(t)}(n.name))throw new Error("State name not provided in class");return e[n.name.toString()]=KW(t),e},null!=e?e:{})}(r,i);throw new XW(r)}return r}function $W(e){var t;return null!==(t=e.__NGXS_COMPUTED_OPTION__)&&void 0!==t?t:null}function QW(){var e,t;return null!==(t=null===(e=null==WW?void 0:WW.computed)||void 0===e?void 0:e.sequenceValue)&&void 0!==t?t:0}function ZW(e){var t=!1;return cf(e)&&(t=!0),t}function JW(e){return e[UW]}var eq=function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this,"An argument with the name '".concat(e,"' already exists in the method '").concat(i,"'"))}return n}(l(Error)),tq=function(){function e(){m(this,e),this.payloadMap=new Map,this.argumentMap=new Map}return b(e,[{key:"getPayloadTypeByIndex",value:function(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}},{key:"getArgumentNameByIndex",value:function(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}},{key:"createPayloadType",value:function(e,t,n){this.checkDuplicateName(e,t),this.payloadMap.set(n,e),this.payloadMap.set(e,e)}},{key:"createArgumentName",value:function(e,t,n){this.checkDuplicateName(e,t),this.argumentMap.set(n,e),this.argumentMap.set(e,e)}},{key:"checkDuplicateName",value:function(e,t){if(LW(this.argumentMap.has(e))||LW(this.payloadMap.has(e)))throw new eq(e,t)}}]),e}();function nq(e){return ah()?FW(e):e}function iq(e){return{enumerable:!0,configurable:!0,get:function(){var t=GW(e),n=qW.ensureMappedState(t.stateMeta);return qW.createStateContext(n)}}}function rq(e){if(!e)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},e),{getState:function(){return ah()?FW(e.getState()):e.getState()},setState:function(t){e.setState(t)},patchState:function(t){e.patchState(t)}})}function oq(){return function(e,t,n){!function(e,t){if(!function(e,t){var n,i=e,r=!1;if(BW(i))for(;null!==i;){if(RW(null==i?void 0:i.hasOwnProperty(t))){r=!!(null===(n=Object.getOwnPropertyDescriptor(i,t))||void 0===n?void 0:n.get);break}i=Object.getPrototypeOf(i)}return r}(e,null==t?void 0:t.toString()))throw new Error("The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ".concat(t.toString(),"() { \n\t .. \n}"))}(e,t);var i=n.get;return n.get=function(){var e=function(e){return DW($W(e))&&Object.defineProperties(e,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),$W(e)}(this),t=null==e?void 0:e.get(i);if(RW(null==t?void 0:t.isObservable))return null==t?void 0:t.value;if(DW(t)||t.sequenceId!==QW()){e.delete(i);for(var n=arguments.length,r=new Array(n),o=0;o0&&void 0!==arguments[0]?arguments[0]:aq;return function(t,n,i){!function(e,t){if(e.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===t)throw new Error("@DataAction() can only decorate a method implementation")}(t,i);var r=i.value,o=n.toString();return i.value=function(){for(var t=arguments.length,n=new Array(t),i=0;i0?Array.from(e).reduce(function(e,n){var i=t(n,2),r=i[0],o=i[1];return Object.defineProperty(e,r,{value:o,enumerable:!0})},{}):void 0}},{key:"gtag",value:function(){try{for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return{ngModule:e,providers:[{provide:pq,useValue:{trackingCode:t,initCommands:n,uri:i,enableTracing:r,nonce:o}},bq]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[]]}),e}(),wq=function(){var e=function(){function e(){m(this,e),this.consent="not-set",this.consentChange=new Bf(1),this.consentChange.next(this.consent)}return b(e,[{key:"ngOnDestroy",value:function(){this.consentChange.complete()}},{key:"setConsent",value:function(e){this.consent!==e&&(this.consent=e,this.consentChange.next(e))}},{key:"unsetConsent",value:function(){this.setConsent("not-set")}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),kq=function(){var e=function(){function e(t,n,i){var r=this,o=i.trackingCode;m(this,e),this.window=n,this.subscriptions=new q,this.token=o,this.subscriptions.add(t.consentChange.subscribe(function(e){return r.toggleGoogleAnalytics("rescinded"===e)}))}return b(e,[{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"toggleGoogleAnalytics",value:function(e){this.window&&(this.window["ga-disable-".concat(this.token)]=e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(wq),Zi(vq),Zi(pq))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),xq=new Ri("Key under which consent is stored",{providedIn:"root",factory:function(){return"ALLOW_TELEMETRY"}}),Sq=[wq,kq,function(){var e=function(){function e(t,n){var i=this;m(this,e),this.key=n,this.subscriptions=new q;try{this.storage=localStorage}catch(r){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(function(e){return i.saveConsent(e)}))}return b(e,[{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"loadConsent",value:function(){var e,t,n=null===(t=null===(e=this.storage)||void 0===e?void 0:e.getItem)||void 0===t?void 0:t.call(e,this.key);if(null==n)return"not-set";var i=n.trim().toLowerCase();switch(i){case"given":case"rescinded":return i;default:return"not-set"}}},{key:"saveConsent",value:function(e){var t,n;null===(n=null===(t=this.storage)||void 0===t?void 0:t.setItem)||void 0===n||n.call(t,this.key,e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(wq),Zi(xq))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}()];function Cq(e){return Object.entries(e).reduce(function(e,n){var i=t(n,2),r=i[0],o=i[1];return null!=o&&(e[r]="".concat(o)),e},{})}var Eq=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"forRoot",value:function(t){var n=_q.forRoot(t.gaToken,function(e){return[{command:"set",values:[Cq({appName:e.appName,projectName:e.projectName,developmentMode:e.developmentMode})]}]}(t)).providers;return{ngModule:e,providers:void 0===n?[]:n}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[].concat(Sq,[{provide:Cl,multi:!0,useFactory:function(){return function(){}},deps:Sq}]),imports:[[_q]]}),e}();function Oq(e,t,n,i){n&&"function"!=typeof n&&(i=n);var r="function"==typeof n?n:void 0,o=new Bf(e,t,i);return function(e){return De(function(){return o},r)(e)}}var Tq=function(e,t){return JSON.stringify(e)===JSON.stringify(t)},Aq=function(e){return e.map(function(e){return void 0!==e?JSON.parse(JSON.stringify(e)):e})},Pq={storageStrategy:function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments)).cachePairs=[],e}return b(n,[{key:"add",value:function(e,t,n){this.cachePairs.push(e)}},{key:"addMany",value:function(e){this.cachePairs=e}},{key:"updateAtIndex",value:function(e,t){Object.assign(this.cachePairs[e],t)}},{key:"update",value:function(e,t){Object.assign(this.cachePairs[e],t)}},{key:"getAll",value:function(){return this.cachePairs}},{key:"removeAtIndex",value:function(e){this.cachePairs.splice(e,1)}},{key:"remove",value:function(e){this.cachePairs.splice(e,1)}},{key:"removeAll",value:function(){this.cachePairs.length=0}}]),n}(function(){return function e(){m(this,e)}}()),globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},Mq=new ae;function Iq(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t,n,i){var r=this,o=e.cacheKey||t.constructor.name+"#"+n,a=i.value;if(i&&i.value){var s=e.storageStrategy?new e.storageStrategy:new Pq.storageStrategy,u=[];e.cacheModifier&&e.cacheModifier.subscribe(function(e){return s.addMany(e(s.getAll(o,r)),o,r)}),Oe(Mq.asObservable(),e.cacheBusterObserver?e.cacheBusterObserver:If()).subscribe(function(e){s.removeAll(o,r),u.length=0}),e.cacheResolver=e.cacheResolver||Pq.cacheResolver||Tq,e.cacheHasher=e.cacheHasher||Pq.cacheHasher||Aq,i.value=function(){for(var t=this,n=s.getAll(o,this),i=arguments.length,r=new Array(i),c=0;c(e.maxAge||Pq.maxAge)?(s.remove?s.remove(n.indexOf(h),h,o,this):s.removeAtIndex(n.indexOf(h),o,this),h=null):(e.slidingExpiration||Pq.slidingExpiration)&&(h.created=new Date,s.update?s.update(n.indexOf(h),h,o,this):s.updateAtIndex(n.indexOf(h),h,o,this))),h){var f=$d(h.response);return e.async?f.pipe(NH(0)):f}if(d)return d.response;var p=a.call.apply(a,[this].concat(r)).pipe(Ub(function(){var t=u.find(function(t){return e.cacheResolver(t.parameters,l)});u.splice(u.indexOf(t),1)}),mv(function(i){(!e.shouldCacheDecider||e.shouldCacheDecider(i))&&((!(e.maxCacheCount||Pq.maxCacheCount)||1===(e.maxCacheCount||Pq.maxCacheCount)||(e.maxCacheCount||Pq.maxCacheCount)&&(e.maxCacheCount||Pq.maxCacheCount)0&&void 0!==arguments[0]?arguments[0]:{};m(this,e),this.apiKeys=t.apiKeys,this.username=t.username,this.password=t.password,this.accessToken=t.accessToken,this.basePath=t.basePath,this.withCredentials=t.withCredentials,this.encoder=t.encoder,this.credentials=t.credentials?t.credentials:{}}return b(e,[{key:"selectHeaderContentType",value:function(e){var t=this;if(0!==e.length){var n=e.find(function(e){return t.isJsonMime(e)});return void 0===n?e[0]:n}}},{key:"selectHeaderAccept",value:function(e){var t=this;if(0!==e.length){var n=e.find(function(e){return t.isJsonMime(e)});return void 0===n?e[0]:n}}},{key:"isJsonMime",value:function(e){var t=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==e&&(t.test(e)||"application/json-patch+json"===e.toLowerCase())}},{key:"lookupCredential",value:function(e){var t=this.credentials[e];return"function"==typeof t?t():t}}]),e}(),jq=function(){var e=function(){function e(t,n,i){m(this,e),this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new Xb,this.configuration=new Lq,i&&(this.configuration=i),"string"!=typeof this.configuration.basePath&&("string"!=typeof n&&(n=this.basePath),this.configuration.basePath=n),this.encoder=this.configuration.encoder||new Dq}return b(e,[{key:"addToHttpParams",value:function(e,t,n){return this.addToHttpParamsRecursive(e,t,n)}},{key:"addToHttpParamsRecursive",value:function(e,t,n){var i=this;if(null==t)return e;if("object"==typeof t)if(Array.isArray(t))t.forEach(function(t){return e=i.addToHttpParamsRecursive(e,t,n)});else if(t instanceof Date){if(null==n)throw Error("key may not be null if value is Date");e=e.append(n,t.toISOString().substr(0,10))}else Object.keys(t).forEach(function(r){return e=i.addToHttpParamsRecursive(e,t[r],null!=n?"".concat(n,".").concat(r):r)});else{if(null==n)throw Error("key may not be null if value is not object or array");e=e.append(n,t)}return e}},{key:"aggregateResults",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/aggregate-results"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}},{key:"cellTypeTermOccurences",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/cell-type-term-occurences"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}},{key:"cellTypeTreeModel",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/cell-type-tree-model"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"dbStatus",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.token,o=new Jb({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"token"));var a=this.defaultHeaders,s=i&&i.httpHeaderAccept;void 0===s&&(s=this.configuration.selectHeaderAccept(["application/json"])),void 0!==s&&(a=a.set("Accept",s));var u=i&&i.context;void 0===u&&(u=new e_);var c="json";return s&&(c=s.startsWith("text")?"text":this.configuration.isJsonMime(s)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/db-status"),{context:u,params:o,responseType:c,withCredentials:this.configuration.withCredentials,headers:a,observe:t,reportProgress:n})}},{key:"getSpatialPlacement",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.getSpatialPlacementRequest;if(null==r)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");var o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));var s=i&&i.context;void 0===s&&(s=new e_);var u=this.configuration.selectHeaderContentType(["application/json"]);void 0!==u&&(o=o.set("Content-Type",u));var c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.post("".concat(this.configuration.basePath,"/get-spatial-placement"),r,{context:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:t,reportProgress:n})}},{key:"gtexRuiLocations",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=new Jb({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache"));var a=this.defaultHeaders,s=i&&i.httpHeaderAccept;void 0===s&&(s=this.configuration.selectHeaderAccept(["application/json"])),void 0!==s&&(a=a.set("Accept",s));var u=i&&i.context;void 0===u&&(u=new e_);var c="json";return s&&(c=s.startsWith("text")?"text":this.configuration.isJsonMime(s)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/gtex/rui_locations.jsonld"),{context:u,params:o,responseType:c,withCredentials:this.configuration.withCredentials,headers:a,observe:t,reportProgress:n})}},{key:"hubmapRuiLocations",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/hubmap/rui_locations.jsonld"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"ontologyTermOccurences",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/ontology-term-occurences"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}},{key:"ontologyTreeModel",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/ontology-tree-model"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"providerNames",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/provider-names"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"referenceOrganScene",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.organIri;if(null==o)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");var a=e.age,s=e.ageRange,u=e.bmi,c=e.bmiRange,l=e.cache,h=e.ontologyTerms,d=e.cellTypeTerms,f=e.providers,p=e.sex,v=e.spatial,g=e.technologies,m=e.token,y=new Jb({encoder:this.encoder});null!=a&&(y=this.addToHttpParams(y,a,"age")),null!=s&&(y=this.addToHttpParams(y,s,"age-range")),null!=u&&(y=this.addToHttpParams(y,u,"bmi")),null!=c&&(y=this.addToHttpParams(y,c,"bmi-range")),null!=l&&(y=this.addToHttpParams(y,l,"cache")),h&&h.forEach(function(e){y=t.addToHttpParams(y,e,"ontology-terms")}),d&&d.forEach(function(e){y=t.addToHttpParams(y,e,"cell-type-terms")}),null!=o&&(y=this.addToHttpParams(y,o,"organ-iri")),f&&f.forEach(function(e){y=t.addToHttpParams(y,e,"providers")}),null!=p&&(y=this.addToHttpParams(y,p,"sex")),v&&v.forEach(function(e){y=t.addToHttpParams(y,e,"spatial")}),g&&g.forEach(function(e){y=t.addToHttpParams(y,e,"technologies")}),null!=m&&(y=this.addToHttpParams(y,m,"token"));var b=this.defaultHeaders,_=r&&r.httpHeaderAccept;void 0===_&&(_=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_&&(b=b.set("Accept",_));var w=r&&r.context;void 0===w&&(w=new e_);var k="json";return _&&(k=_.startsWith("text")?"text":this.configuration.isJsonMime(_)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/reference-organ-scene"),{context:w,params:y,responseType:k,withCredentials:this.configuration.withCredentials,headers:b,observe:n,reportProgress:i})}},{key:"referenceOrgans",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/reference-organs"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"scene",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/scene"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}},{key:"sparql",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.query;if(null==r)throw new Error("Required parameter query was null or undefined when calling sparql.");var o=e.token,a=e.format,s=new Jb({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"query")),null!=o&&(s=this.addToHttpParams(s,o,"token")),null!=a&&(s=this.addToHttpParams(s,a,"format"));var u=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==c&&(u=u.set("Accept",c));var l=i&&i.context;void 0===l&&(l=new e_);var h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/sparql"),{context:l,params:s,responseType:h,withCredentials:this.configuration.withCredentials,headers:u,observe:t,reportProgress:n})}},{key:"sparqlPost",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.sparqlQueryRequest;if(null==r)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");var o=e.token,a=e.format,s=new Jb({encoder:this.encoder});null!=o&&(s=this.addToHttpParams(s,o,"token")),null!=a&&(s=this.addToHttpParams(s,a,"format"));var u=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==c&&(u=u.set("Accept",c));var l=i&&i.context;void 0===l&&(l=new e_);var h=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==h&&(u=u.set("Content-Type",h));var d="json";return c&&(d=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.post("".concat(this.configuration.basePath,"/sparql"),r,{context:l,params:s,responseType:d,withCredentials:this.configuration.withCredentials,headers:u,observe:t,reportProgress:n})}},{key:"technologyNames",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,r=e.cache,o=e.token,a=new Jb({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"cache")),null!=o&&(a=this.addToHttpParams(a,o,"token"));var s=this.defaultHeaders,u=i&&i.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(s=s.set("Accept",u));var c=i&&i.context;void 0===c&&(c=new e_);var l="json";return u&&(l=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/technology-names"),{context:c,params:a,responseType:l,withCredentials:this.configuration.withCredentials,headers:s,observe:t,reportProgress:n})}},{key:"tissueBlocks",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=e.age,a=e.ageRange,s=e.bmi,u=e.bmiRange,c=e.cache,l=e.ontologyTerms,h=e.cellTypeTerms,d=e.providers,f=e.sex,p=e.spatial,v=e.technologies,g=e.token,m=new Jb({encoder:this.encoder});null!=o&&(m=this.addToHttpParams(m,o,"age")),null!=a&&(m=this.addToHttpParams(m,a,"age-range")),null!=s&&(m=this.addToHttpParams(m,s,"bmi")),null!=u&&(m=this.addToHttpParams(m,u,"bmi-range")),null!=c&&(m=this.addToHttpParams(m,c,"cache")),l&&l.forEach(function(e){m=t.addToHttpParams(m,e,"ontology-terms")}),h&&h.forEach(function(e){m=t.addToHttpParams(m,e,"cell-type-terms")}),d&&d.forEach(function(e){m=t.addToHttpParams(m,e,"providers")}),null!=f&&(m=this.addToHttpParams(m,f,"sex")),p&&p.forEach(function(e){m=t.addToHttpParams(m,e,"spatial")}),v&&v.forEach(function(e){m=t.addToHttpParams(m,e,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));var y=this.defaultHeaders,b=r&&r.httpHeaderAccept;void 0===b&&(b=this.configuration.selectHeaderAccept(["application/json"])),void 0!==b&&(y=y.set("Accept",b));var _=r&&r.context;void 0===_&&(_=new e_);var w="json";return b&&(w=b.startsWith("text")?"text":this.configuration.isJsonMime(b)?"json":"blob"),this.httpClient.get("".concat(this.configuration.basePath,"/tissue-blocks"),{context:_,params:m,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:n,reportProgress:i})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(h_),Zi(Nq,8),Zi(Lq,8))},e.\u0275prov=$e({factory:function(){return new e(Zi(h_),Zi(Nq,8),Zi(Lq,8))},token:e,providedIn:"root"}),e}(),Fq=function(){var e=function(){function e(t,n){if(m(this,e),t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!n)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}return b(e,null,[{key:"forRoot",value:function(t){return{ngModule:e,providers:[{provide:Lq,useFactory:t}]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(e,12),Zi(h_,8))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[],imports:[[]]}),e}();function Bq(e){return new Promise(function(t,n){e.oncomplete=e.onsuccess=function(){return t(e.result)},e.onabort=e.onerror=function(){return n(e.error)}})}function Vq(){return Rq||(e="keyval",t=function(){return navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases?Promise.resolve():new Promise(function(t){var n=function(){return indexedDB.databases().finally(t)};e=setInterval(n,100),n()}).finally(function(){return clearInterval(e)});var e}().then(function(){var t=indexedDB.open("keyval-store");return t.onupgradeneeded=function(){return t.result.createObjectStore(e)},Bq(t)}),Rq=function(n,i){return t.then(function(t){return i(t.transaction(e,n).objectStore(e))})}),Rq;var e,t}function zq(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vq();return t("readonly",function(t){return Bq(t.get(e))})}var Uq,Hq=r(88104),Gq=r.n(Hq),Wq=r(71440),qq="Unknown Euler angle order",Xq=.99999,Yq=function(e){a(i,e);var n=s(i);function i(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:i.DefaultOrder;return m(this,i),t=n.call(this,-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?(e=t).fromVector3.apply(e,arguments):t.set(r,o,a,s),t}return b(i,[{key:"ELEMENTS",get:function(){return 4}},{key:"fromQuaternion",value:function(e){var n=t(e,4),r=n[0],o=n[1],a=n[2],s=n[3],u=o*o,c=-2*(u+a*a)+1,l=2*(r*o+s*a),h=-2*(r*a-s*o);return h=(h=h>1?1:h)<-1?-1:h,new i(Math.atan2(2*(o*a+s*r),-2*(r*r+u)+1),Math.asin(h),Math.atan2(l,c),i.RollPitchYaw)}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}},{key:"set",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3?arguments[3]:void 0;return this[0]=e,this[1]=t,this[2]=n,this[3]=Number.isFinite(i)?i:this[3],this.check()}},{key:"validate",value:function(){return function(e){return e>=0&&e<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}},{key:"toArray",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}},{key:"toArray4",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}},{key:"toVector3",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[-0,-0,-0];return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"alpha",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"beta",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"gamma",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"phi",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"theta",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"psi",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"roll",get:function(){return this[0]},set:function(e){this[0]=gS(e)}},{key:"pitch",get:function(){return this[1]},set:function(e){this[1]=gS(e)}},{key:"yaw",get:function(){return this[2]},set:function(e){this[2]=gS(e)}},{key:"order",get:function(){return this[3]},set:function(e){this[3]=function(e){if(e<0&&e>=6)throw new Error(qq);return e}(e)}},{key:"fromVector3",value:function(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}},{key:"fromArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}},{key:"fromRollPitchYaw",value:function(e,t,n){return this.set(e,t,n,i.ZYX)}},{key:"fromRotationMatrix",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.DefaultOrder;return this._fromRotationMatrix(e,t),this.check()}},{key:"getRotationMatrix",value:function(e){return this._getRotationMatrix(e)}},{key:"getQuaternion",value:function(){var e=new JN;switch(this[4]){case i.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case i.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case i.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case i.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case i.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case i.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(qq)}}},{key:"_fromRotationMatrix",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.DefaultOrder,n=e.elements,r=n[0],o=n[4],a=n[8],s=n[1],u=n[5],c=n[9],l=n[2],h=n[6],d=n[10];switch(t=t||this[3]){case i.XYZ:this[1]=Math.asin(hS(a,-1,1)),Math.abs(a)1&&void 0!==arguments[1]?arguments[1]:0,n=(iX[e[t+0]]+iX[e[t+1]]+iX[e[t+2]]+iX[e[t+3]]+"-"+iX[e[t+4]]+iX[e[t+5]]+"-"+iX[e[t+6]]+iX[e[t+7]]+"-"+iX[e[t+8]]+iX[e[t+9]]+"-"+iX[e[t+10]]+iX[e[t+11]]+iX[e[t+12]]+iX[e[t+13]]+iX[e[t+14]]+iX[e[t+15]]).toLowerCase();if(!nX(n))throw TypeError("Stringified UUID is invalid");return n}(i)},aX=r(31609),sX=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),uX=(Math,Math,{});function cX(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.precision,i=void 0===n?uX.precision||4:n;return e=function(e){return Math.round(e/uX.EPSILON)*uX.EPSILON}(e),"".concat(parseFloat(e.toPrecision(i)))}function lX(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function hX(e,t,n){var i=uX.EPSILON;n&&(uX.EPSILON=n);try{if(e===t)return!0;if(lX(e)&&lX(t)){if(e.length!==t.length)return!1;for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=0;n0?", ":"")+cX(this[n],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}},{key:"equals",value:function(e){if(!e||this.length!==e.length)return!1;for(var t=0;t2&&void 0!==arguments[2]?arguments[2]:"";if(uX.debug&&!function(e,t){if(e.length!==t)return!1;for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return m(this,n),e=t.call(this,-0,-0,-0),1===arguments.length&&lX(i)?e.copy(i):(uX.debug&&(pX(i),pX(r),pX(o)),e[0]=i,e[1]=r,e[2]=o),e}return b(n,[{key:"set",value:function(e,t,n){return this[0]=e,this[1]=t,this[2]=n,this.check()}},{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}},{key:"fromObject",value:function(e){return uX.debug&&(pX(e.x),pX(e.y),pX(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}},{key:"toObject",value:function(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}},{key:"ELEMENTS",get:function(){return 3}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=pX(e)}},{key:"angle",value:function(e){return RS(this,e)}},{key:"cross",value:function(e){return ES(this,this,e),this.check()}},{key:"rotateX",value:function(e){var t=e.radians,n=e.origin;return PS(this,this,void 0===n?yX:n,t),this.check()}},{key:"rotateY",value:function(e){var t=e.radians,n=e.origin;return MS(this,this,void 0===n?yX:n,t),this.check()}},{key:"rotateZ",value:function(e){var t=e.radians,n=e.origin;return IS(this,this,void 0===n?yX:n,t),this.check()}},{key:"transform",value:function(e){return this.transformAsPoint(e)}},{key:"transformAsPoint",value:function(e){return OS(this,this,e),this.check()}},{key:"transformAsVector",value:function(e){return function(e,t,n){var i=t[0],r=t[1],o=t[2],a=n[3]*i+n[7]*r+n[11]*o||1;e[0]=(n[0]*i+n[4]*r+n[8]*o)/a,e[1]=(n[1]*i+n[5]*r+n[9]*o)/a,e[2]=(n[2]*i+n[6]*r+n[10]*o)/a}(this,this,e),this.check()}},{key:"transformByMatrix3",value:function(e){return TS(this,this,e),this.check()}},{key:"transformByMatrix2",value:function(e){return function(e,t,n){var i=t[0],r=t[1];e[0]=n[0]*i+n[2]*r,e[1]=n[1]*i+n[3]*r,e[2]=t[2]}(this,this,e),this.check()}},{key:"transformByQuaternion",value:function(e){return AS(this,this,e),this.check()}}],[{key:"ZERO",get:function(){return bX.ZERO=bX.ZERO||Object.freeze(new n(0,0,0,0))}}]),n}(function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"ELEMENTS",get:function(){return dX(!1),0}},{key:"copy",value:function(e){return dX(!1),this}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=pX(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=pX(e)}},{key:"len",value:function(){return Math.sqrt(this.lengthSquared())}},{key:"magnitude",value:function(){return this.len()}},{key:"lengthSquared",value:function(){for(var e=0,t=0;t=0&&e=0&&e0&&void 0!==arguments[0]?arguments[0]:[0,0,0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;m(this,e),this.radius=-0,this.center=new _X,this.fromCenterRadius(t,n)}return b(e,[{key:"fromCenterRadius",value:function(e,t){return this.center.from(e),this.radius=t,this}},{key:"fromCornerPoints",value:function(e,t){return t=wX.from(t),this.center=(new _X).from(e).add(t).scale(.5),this.radius=this.center.distance(t),this}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.radius===e.radius}},{key:"clone",value:function(){return new e(this.center,this.radius)}},{key:"union",value:function(e){var t=this.center,n=this.radius,i=e.radius,r=wX.copy(e.center).subtract(t),o=r.magnitude();if(n>=o+i)return this.clone();if(i>=o+n)return e.clone();var a=.5*(n+o+i);return kX.copy(r).scale((-n+a)/o).add(t),this.center.copy(kX),this.radius=a,this}},{key:"expand",value:function(e){var t=(e=wX.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}},{key:"transform",value:function(e){this.center.transform(e);var t=function(e,t){var n=t[4],i=t[5],r=t[6],o=t[8],a=t[9],s=t[10];return e[0]=Math.hypot(t[0],t[1],t[2]),e[1]=Math.hypot(n,i,r),e[2]=Math.hypot(o,a,s),e}(wX,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}},{key:"distanceSquaredTo",value:function(e){var t=this.distanceTo(e);return t*t}},{key:"distanceTo",value:function(e){var t=(e=wX.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}},{key:"intersectPlane",value:function(e){var t=this.radius,n=e.normal.dot(this.center)+e.distance;return n<-t?sX.OUTSIDE:n1&&void 0!==arguments[1]?arguments[1]:new Array(this.RANK).fill(-0),n=e*this.RANK,i=0;i0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return m(this,i),e=n.call(this,-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?e.copy(t):e.set(t,r,o,a),e}return b(i,[{key:"copy",value:function(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}},{key:"set",value:function(e,t,n,i){return this[0]=e,this[1]=t,this[2]=n,this[3]=i,this.check()}},{key:"fromMatrix3",value:function(e){return GN(this,e),this.check()}},{key:"identity",value:function(){return DN(this),this.check()}},{key:"fromAxisRotation",value:function(e,t){return NN(this,e,t),this.check()}},{key:"setAxisAngle",value:function(e,t){return this.fromAxisRotation(e,t)}},{key:"ELEMENTS",get:function(){return 4}},{key:"x",get:function(){return this[0]},set:function(e){this[0]=pX(e)}},{key:"y",get:function(){return this[1]},set:function(e){this[1]=pX(e)}},{key:"z",get:function(){return this[2]},set:function(e){this[2]=pX(e)}},{key:"w",get:function(){return this[3]},set:function(e){this[3]=pX(e)}},{key:"len",value:function(){return KN(this)}},{key:"lengthSquared",value:function(){return $N(this)}},{key:"dot",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return XN(this,e)}},{key:"rotationTo",value:function(e,t){return QN(this,e,t),this.check()}},{key:"add",value:function(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return WN(this,this,e),this.check()}},{key:"calculateW",value:function(){return VN(this,this),this.check()}},{key:"conjugate",value:function(){return HN(this,this),this.check()}},{key:"invert",value:function(){return UN(this,this),this.check()}},{key:"lerp",value:function(e,t,n){return YN(this,e,t,n),this.check()}},{key:"multiplyRight",value:function(e,t){return dX(!t),LN(this,this,e),this.check()}},{key:"multiplyLeft",value:function(e,t){return dX(!t),LN(this,e,this),this.check()}},{key:"normalize",value:function(){var e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}},{key:"rotateX",value:function(e){return jN(this,this,e),this.check()}},{key:"rotateY",value:function(e){return FN(this,this,e),this.check()}},{key:"rotateZ",value:function(e){return BN(this,this,e),this.check()}},{key:"scale",value:function(e){return qN(this,this,e),this.check()}},{key:"slerp",value:function(e,n,i){var r;switch(arguments.length){case 1:var o=arguments[0],a=o.start;e=void 0===a?PX:a,n=o.target,i=o.ratio;break;case 2:n=(r=t(arguments,2))[0],i=r[1],e=this}return zN(this,e,n,i),this.check()}},{key:"transformVector4",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return DO(t,e,this),vX(t,4)}},{key:"lengthSq",value:function(){return this.lengthSquared()}},{key:"setFromAxisAngle",value:function(e,t){return this.setAxisAngle(e,t)}},{key:"premultiply",value:function(e,t){return this.multiplyLeft(e,t)}},{key:"multiply",value:function(e,t){return this.multiplyRight(e,t)}}]),i}(fX),IX=new _X,RX=new _X,DX=new _X,NX=new _X,LX=new _X,jX=new _X,FX=new _X,BX=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0,0,0,0,0,0,0];m(this,e),this.center=(new _X).from(t),this.halfAxes=new AX(n)}return b(e,[{key:"halfSize",get:function(){var e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new _X(e).len(),new _X(t).len(),new _X(n).len()]}},{key:"quaternion",get:function(){var e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new _X(e).normalize(),r=new _X(t).normalize(),o=new _X(n).normalize();return(new MX).fromMatrix3(new AX([].concat(v(i),v(r),v(o))))}},{key:"fromCenterHalfSizeQuaternion",value:function(e,t,n){var i=new MX(n),r=(new AX).fromQuaternion(i);return r[0]=r[0]*t[0],r[1]=r[1]*t[0],r[2]=r[2]*t[0],r[3]=r[3]*t[1],r[4]=r[4]*t[1],r[5]=r[5]*t[1],r[6]=r[6]*t[2],r[7]=r[7]*t[2],r[8]=r[8]*t[2],this.center=(new _X).from(e),this.halfAxes=r,this}},{key:"clone",value:function(){return new e(this.center,this.halfAxes)}},{key:"equals",value:function(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}},{key:"getBoundingSphere",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new xX,t=this.halfAxes,n=t.getColumn(0,DX),i=t.getColumn(1,NX),r=t.getColumn(2,LX),o=IX.copy(n).add(i).add(r);return e.center.copy(this.center),e.radius=o.magnitude(),e}},{key:"intersectPlane",value:function(e){var t=this.center,n=e.normal,i=this.halfAxes,r=n.x,o=n.y,a=n.z,s=Math.abs(r*i[0]+o*i[1]+a*i[2])+Math.abs(r*i[3]+o*i[4]+a*i[5])+Math.abs(r*i[6]+o*i[7]+a*i[8]),u=n.dot(t)+e.distance;return u<=-s?sX.OUTSIDE:u>=s?sX.INSIDE:sX.INTERSECTING}},{key:"distanceTo",value:function(e){return Math.sqrt(this.distanceSquaredTo(e))}},{key:"distanceSquaredTo",value:function(e){var t=RX.from(e).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,DX),r=n.getColumn(1,NX),o=n.getColumn(2,LX),a=i.magnitude(),s=r.magnitude(),u=o.magnitude();i.normalize(),r.normalize(),o.normalize();var c,l=0;return(c=Math.abs(t.dot(i))-a)>0&&(l+=c*c),(c=Math.abs(t.dot(r))-s)>0&&(l+=c*c),(c=Math.abs(t.dot(o))-u)>0&&(l+=c*c),l}},{key:"computePlaneDistances",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[-0,-0],i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,o=this.center,a=this.halfAxes,s=a.getColumn(0,DX),u=a.getColumn(1,NX),c=a.getColumn(2,LX),l=jX.copy(s).add(u).add(c).add(o),h=FX.copy(l).subtract(e),d=t.dot(h);return i=Math.min(d,i),r=Math.max(d,r),l.copy(o).add(s).add(u).subtract(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),l.copy(o).add(s).subtract(u).add(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),l.copy(o).add(s).subtract(u).subtract(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),o.copy(l).subtract(s).add(u).add(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),o.copy(l).subtract(s).add(u).subtract(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),o.copy(l).subtract(s).subtract(u).add(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),o.copy(l).subtract(s).subtract(u).subtract(c),h.copy(l).subtract(e),d=t.dot(h),i=Math.min(d,i),r=Math.max(d,r),n[0]=i,n[1]=r,n}},{key:"transform",value:function(e){this.center.transformAsPoint(e);var t=this.halfAxes.getColumn(0,DX);t.transformAsPoint(e);var n=this.halfAxes.getColumn(1,NX);n.transformAsPoint(e);var i=this.halfAxes.getColumn(2,LX);return i.transformAsPoint(e),this.halfAxes=new AX([].concat(v(t),v(n),v(i))),this}},{key:"getTransform",value:function(){throw new Error("not implemented")}}]),e}(),VX=new _X,zX=new _X,UX=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,1],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;m(this,e),this.normal=new _X,this.distance=-0,this.fromNormalDistance(t,n)}return b(e,[{key:"fromNormalDistance",value:function(e,t){return dX(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}},{key:"fromPointNormal",value:function(e,t){e=VX.from(e),this.normal.from(t).normalize();var n=-this.normal.dot(e);return this.distance=n,this}},{key:"fromCoefficients",value:function(e,t,n,i){return this.normal.set(e,t,n),dX(hX(this.normal.len(),1)),this.distance=i,this}},{key:"clone",value:function(t){return new e(this.normal,this.distance)}},{key:"equals",value:function(e){return hX(this.distance,e.distance)&&hX(this.normal,e.normal)}},{key:"getPointDistance",value:function(e){return this.normal.dot(e)+this.distance}},{key:"transform",value:function(e){var t=zX.copy(this.normal).transformAsVector(e).normalize(),n=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(n,t)}},{key:"projectPointOntoPlane",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0];e=VX.from(e);var n=this.getPointDistance(e),i=zX.copy(this.normal).scale(n);return e.subtract(i).to(t)}}]),e}();function HX(e,n,i){var r,o,a,s,u,c,l,h,d;return regeneratorRuntime.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:r=0,o=Object.entries(i);case 1:if(!(r0){r.reverse();var o,a="",s=_(r);try{for(s.s();!(o=s.n()).done;){var u=o.value;a&&oY(i,rY(n,this.graph.getEdgeAttribute(u,a,"id"))),a=u}}catch(c){s.e(c)}finally{s.f()}return i}}}},{key:"getSpatialPlacement",value:function(e,t){var n,i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,Zq.get)(e,"placement[0]",(0,Zq.get)(e,"placement",void 0));if(r&&this.graph.hasNode(r.target)?(n=this.getTransformationMatrix(r.target,t))&&(n=oY(n,r)):i&&(n=this.getTransformationMatrix(i,t)),n){var o=(new Yq).fromRotationMatrix(n,Yq.XYZ),a=n.getTranslation().map(function(e){return 1e3*e}),s=o.toVector3().map(lS),u=n.getScale().map(function(e){return e<1&&e>.999999?1:e});return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":"http://purl.org/ccf/1.5/".concat(oX(),"_placement"),"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:u[0],y_scaling:u[1],z_scaling:u[2],scaling_units:"ratio",x_rotation:s[0],y_rotation:s[1],z_rotation:s[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}]),e}(),sY=function(){function e(t){m(this,e),this.db=t}return b(e,[{key:"getSpatialEntity",value:function(e){return iY(this.db.store,e)}},{key:"getExtractionSets",value:function(e){return function(e,t){return(0,Zq.sortBy)(e.getSubjects(KX.spatialEntity.extraction_set_for,t,null).map(function(t){return nY(e,t.id)}),["rui_rank"])}(this.db.store,e)}},{key:"getExtractionSet",value:function(e){return nY(this.db.store,e)}},{key:"getAnatomicalStructures",value:function(e){return function(e,t){return(0,Zq.sortBy)(e.getSubjects(KX.spatialEntity.reference_organ,t,null).map(function(t){return iY(e,t.id)}).filter(function(e){return e["@id"]!==t}),["rui_rank"])}(this.db.store,e)}},{key:"getReferenceOrgans",value:function(){return function(e){var t=[];return e.forEach(function(n){n.subject.id===n.object.id&&t.push(iY(e,n.subject.id))},null,KX.spatialEntity.reference_organ,null,null),(0,Zq.sortBy)(t,["rui_rank"])}(this.db.store)}},{key:"getReferenceBody",value:function(e){var t;switch(null==e?void 0:e.sex){case"Male":t=KX.spatial.Male.id;break;case"Female":t=KX.spatial.Female.id;break;case"Both":default:t=KX.spatial.BothSexes.id}return this.getSpatialEntity(t)}},{key:"getReferenceOrganSets",value:function(e){var n=this,i=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":i=i.filter(function(e){return"Male"===e.sex});break;case"Female":i=i.filter(function(e){return"Female"===e.sex})}return(null==e?void 0:e.debug)&&(i=i.map(function(e){return[[e],n.getAnatomicalStructures(e["@id"])]}).reduce(function(e,n){var i=t(n,2),r=i[0],o=i[1];return e.concat(o.length>0?o:r)},[])),i}},{key:"getReferenceSceneNodes",value:function(e){var t=this,n=this.getReferenceBody(e),i=[],r=v(this.getReferenceOrganSets(e).map(function(e){var r="http://purl.obolibrary.org/obo/UBERON_0002097"===e.representation_of,o=t.getSceneNode(e,n,{color:[255,255,255,255],opacity:r?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!r});return r&&o?void i.push(o):o}));return i.length>0&&(r=[].concat(i,v(r))),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(KX.base("VHRightKidney").id),n,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(KX.base("VHLeftKidney").id),n,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(KX.base("VHSpleenCC1").id),n,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(KX.base("VHSpleenCC2").id),n,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(KX.base("VHSpleenCC3").id),n,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(function(e){return void 0!==e})}},{key:"getReferenceOrganScene",value:function(e,t){var n,i,r=this,o=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(n=null==t?void 0:t.sex)||void 0===n?void 0:n.toLowerCase()),a=this.getReferenceOrgans().filter(function(n){return n.representation_of===e&&(!o||n.sex===(null==t?void 0:t.sex))});if(a.length>0){var s=a[0],u=this.getSceneNode(s,s,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),c=(null!==(i=this.db.getSpatialEntities(t))&&void 0!==i?i:[]).map(function(e){return r.getSceneNode(e,s,{color:[255,255,255,229.5]})});return[u].concat(c).filter(function(e){return void 0!==e})}return[]}},{key:"getEntitySceneNodes",value:function(e){var t=this,n=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(function(e){return t.getSceneNode(e,n,{color:[255,255,255,229.5]})}).filter(function(e){return void 0!==e})}},{key:"getSceneNode",value:function(e,t){var n,i,r,o,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=null===(i=null===(n=null==e?void 0:e.object)||void 0===n?void 0:n.file_format)||void 0===i?void 0:i.startsWith("model/gltf"),u=this.db.graph.getTransformationMatrix(s&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(s)u=new $O($O.IDENTITY).rotateX(cS(90)).multiplyLeft(u);else{var c;switch(e.dimension_units){case"centimeter":c=.01;break;case"millimeter":c=.001;break;case"meter":default:c=1}var l=[e.x_dimension,e.y_dimension,e.z_dimension].map(function(e){return e*c/2});u.scale(l)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:s?null===(r=e.object)||void 0===r?void 0:r.file:void 0,scenegraphNode:s?null===(o=e.object)||void 0===o?void 0:o.file_subpath:void 0,transformMatrix:u,tooltip:e.label},a)}}},{key:"getScene",value:function(e){return[].concat(v(this.getReferenceSceneNodes(e)),v(this.getEntitySceneNodes(e)))}}]),e}(),uY="https://entity.api.hubmapconsortium.org/entities/",cY=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),lY={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},hY={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},dY="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld",fY=function(){function e(t){var n,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",a=arguments.length>3?arguments[3]:void 0;if(m(this,e),this.data=t,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"===this.data.entity_type){var s=this.data.descendants||[],u=(this.data.ancestors||[]).find(function(e){return"Donor"===e.entity_type});this.donor=this.getDonor(u,o);var c=this.getRuiLocation(t,this.donor);c?this.rui_location=c:this.bad=!0,hY[t.group_uuid]||(hY[t.group_uuid]=t.group_name);var l=new Date(t.last_modified_timestamp).toLocaleDateString(),h=hY[t.group_uuid]||t.group_name,d=t.created_by_user_displayname;this["@id"]=uY+t.uuid,this.label="Registered ".concat(l,", ").concat(d,", ").concat(h),this.link="".concat(o,"browse/sample/").concat(t.uuid);var f={},p=[];this.sections=p;var v=[];this.datasets=v;var g,y=_(s.filter(function(e){return"Sample"===e.entity_type}));try{for(y.s();!(g=y.n()).done;){var b=g.value,w=this.getSection(b,t,o);f[b.submission_id]=w,p.push(w),w.section_number=null!==(n=w.section_number)&&void 0!==n?n:p.length}}catch(M){y.e(M)}finally{y.f()}var k,x=_(s);try{for(x.s();!(k=x.n()).done;){var S=k.value;if("Dataset"===S.entity_type){var C=this.getDataset(S,r,o,a),E=(0,Zq.get)(S,["ingest_metadata","metadata","tissue_id"]);f[E]?null===(i=f[E].datasets)||void 0===i||i.push(C):v.push(C)}}}catch(M){x.e(M)}finally{x.f()}var O=null!=c?c:{},T="".concat(O.x_dimension," x ").concat(O.y_dimension," x ").concat(O.z_dimension," ").concat(O.dimension_units);this.section_count=O.slice_count||p.length;var A=parseFloat((O.slice_thickness||(O.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=A;var P=O.dimension_units||"millimeter";this.section_units=P,this.description="".concat(T,", ").concat(A," ").concat(P,", ").concat(this.section_count," Sections"),p.forEach(function(e,t){e.description="".concat(O.x_dimension," x ").concat(O.y_dimension," x ").concat(A," ").concat(P,", ").concat(A," ").concat(P,", ").concat(e.description),e.section_number=t+1})}else this.bad=!0}return b(e,[{key:"getSection",value:function(e,t,n){var i=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":uY+e.uuid,"@type":"Sample",label:"Registered ".concat(i,", ").concat(e.created_by_user_displayname,", ").concat(hY[e.group_uuid]||e.group_name),description:"".concat(t.sample_category),link:"".concat(n,"browse/sample/").concat(e.uuid),sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}},{key:"getDataset",value:function(e){var t,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=arguments.length>3?arguments[3]:void 0,a=new Date(e.last_modified_timestamp).toLocaleDateString(),s=hY[e.group_uuid]||e.group_name,u=e.created_by_user_displayname,c=[].concat(v(e.data_types),[(0,Zq.get)(e,["ingest_metadata","metadata","assay_type"],"")]),l=c.join("|").toLowerCase(),h="assets/icons/ico-unknown.svg";return-1!==l.indexOf("10x")?(n="10x",h="assets/icons/ico-bulk-10x.svg"):-1!==l.indexOf("af")?(n="AF",h="assets/icons/ico-spatial-af.svg"):-1!==l.indexOf("codex")?(n="CODEX",h="assets/icons/ico-spatial-codex.svg"):-1!==l.indexOf("imc")?(n="IMC",h="assets/icons/ico-spatial-imc.svg"):-1!==l.indexOf("lc")&&-1===l.indexOf("af")?(n="LC",h="assets/icons/ico-bulk-lc.svg"):n=-1!==l.indexOf("maldi")?"MALDI":-1!==l.indexOf("pas")?"PAS":"OTHER",h=null!==(t=this.getDatasetThumbnail(e,i,o))&&void 0!==t?t:h,{"@id":uY+e.uuid,"@type":"Dataset",label:"Registered ".concat(a,", ").concat(u,", ").concat(s),description:"Data/Assay Types: ".concat(c.join(", ")),link:"".concat(r,"browse/dataset/").concat(e.uuid),technology:n,thumbnail:h}}},{key:"getDatasetThumbnail",value:function(e,t,n){if(e.thumbnail_file){var i=e.thumbnail_file;return"".concat(t,"/").concat(i.file_uuid,"/").concat(i.filename)+(n?"?token=".concat(n):"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){var r=(0,Zq.get)(e,"metadata.files",[]).filter(function(e){return/\.(ome\.tif|ome\.tiff)$/.test(e.rel_path)}).filter(function(e){return!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(e.rel_path)}).filter(function(e){return cY.has(e.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))}).map(function(i){return"".concat(t,"/").concat(e.uuid,"/").concat(i.rel_path)+(n?"?token=".concat(n):"")});if(r.length>0){var o=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(cY.has(o))return"assets/thumbnails/TMC-Vanderbilt/DR1/".concat(o)}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){var a=lY[e.hubmap_id];if(a)return"assets/thumbnails/TMC-Florida/".concat(a)}}},{key:"getDonor",value:function(e,t){var n,i=(e.description||"").toLowerCase();i.includes("female")?n="Female":i.includes("male")&&(n="Male");var r,o,a=i.match(/age ([0-9]+)/);a&&(r=(0,Zq.toNumber)(a[1]));var s,u=_((0,Zq.get)(e,"metadata.organ_donor_data",(0,Zq.get)(e,"metadata.living_donor_data",[])));try{for(u.s();!(s=u.n()).done;){var c=s.value;"Feminine gender"===c.preferred_term||"Female"===c.preferred_term?n="Female":"Masculine gender"===c.preferred_term||"Male"===c.preferred_term?n="Male":"Current chronological age"===c.preferred_term||"Age"===c.preferred_term?r=(0,Zq.toNumber)(c.data_value):"Body mass index"===c.preferred_term&&(o=(0,Zq.toNumber)(c.data_value))}}catch(f){u.e(f)}finally{u.f()}var l="";n&&r&&(l+="".concat(n,", Age ").concat(r),o&&(l+=", BMI ".concat(o.toFixed(1))));var h=new Date(e.last_modified_timestamp).toLocaleDateString(),d=hY[e.group_uuid]||e.group_name;return{"@id":uY+e.uuid,"@type":"Donor",label:l,description:"Entered ".concat(h,", ").concat(e.created_by_user_displayname,", ").concat(d),link:"".concat(t,"browse/donor/").concat(e.uuid),age:r,sex:n,bmi:o,consortium_name:"HuBMAP",provider_name:d,provider_uuid:e.group_uuid,samples:[]}}},{key:"getRuiLocation",value:function(e,t){var n,i,r=e.rui_location;if(r&&("string"==typeof r&&(r=JSON.parse(r)),r.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):r["@id"]&&(i=r),r["@context"]="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"),i){var o=null!==(n=(0,Zq.get)(i,["placement","target"]))&&void 0!==n?n:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,Zq.set)(i,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,Zq.set)(i,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return i}},{key:"getTissueBlock",value:function(){return(0,Zq.omit)(Object.assign({},this),["data","bad","donor"])}},{key:"toJsonLd",value:function(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}]),e}(),pY=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.metadata.living_donor_data.preferred_term","ancestors.metadata.living_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","sample_category"],vY={exists:{field:"rui_location"}};function gY(e,t,n){return JSON.stringify({version:!0,from:e,size:t,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=n?n:vY,_source:{includes:pY}})}function mY(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,r;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,fetch(e,t);case 3:return i=n.sent,n.next=6,i.text();case 6:if(r=n.sent,!i.ok&&!r.startsWith("https")){n.next=18;break}if(!r.startsWith("https")){n.next=14;break}return n.next=11,fetch(r).then(function(e){return e.json()});case 11:n.t1=n.sent,n.next=15;break;case 14:n.t1=JSON.parse(r);case 15:n.t0=n.t1,n.next=19;break;case 18:n.t0=void 0;case 19:return n.abrupt("return",n.t0);case 22:return n.prev=22,n.t2=n.catch(0),n.abrupt("return");case 25:case"end":return n.stop()}},n,null,[[0,22]])}))}function yY(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"";return Dw(this,void 0,void 0,regeneratorRuntime.mark(function a(){var s;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if("static"!==t){a.next=6;break}return a.next=3,mY(e);case 3:s=a.sent,a.next=11;break;case 6:if(a.t0="search-api"===t,!a.t0){a.next=11;break}return a.next=10,function(e,t,n){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function i(){var r,o,a,s,u,c,l,h,d,f;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return o=1e4,a=function(e){var t=new Headers;return t.append("Content-type","application/json"),e&&t.append("Authorization","Bearer ".concat(e)),t}(t),s=gY(0,o,n),i.next=5,mY(e,{method:"POST",headers:a,body:s});case 5:if(u=i.sent){i.next=8;break}return i.abrupt("return");case 8:if(!((c=u.hits.total.value)<=o)){i.next=11;break}return i.abrupt("return",u);case 11:for(l=[],h=o;h1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a={},s=(0,Zq.get)(e,"hits.hits",[]).map(function(e){return(0,Zq.get)(e,"_source",{})}).sort(function(e,t){return e.uuid.localeCompare(t.uuid)}).map(function(e){return new fY(e,n,i,r).toJsonLd()}),u=_(s);try{for(u.s();!(t=u.n()).done;){var c=t.value,l=c["@id"];a[l]?a[l].samples.push(c.samples[0]):a[l]=c}}catch(d){u.e(d)}finally{u.f()}var h=Object.values(a);return o&&(function(e){var t,n=[],i=0,r=_(e.filter(function(e){return e.samples.length>1}));try{for(r.s();!(t=r.n()).done;){for(var o=t.value,a=o.samples,s=function(e){var t=a[e]["@id"];n=n.concat(a[e].datasets);var r,o=_(a[e].sections);try{for(o.s();!(r=o.n()).done;){var s=r.value;n=n.concat(s.datasets)}}catch(d){o.e(d)}finally{o.f()}for(var u=e+1;u0&&console.log("\u26a0 ".concat(i," sections identified as blocks"))}(h),console.log(h.map(function(e){return Object.assign({"@context":dY},e)}))),{"@context":dY,"@graph":h}}(s,r,o,i));case 13:console.warn("Unable to load ".concat(e," as HuBMAP Data"));case 14:case"end":return a.stop()}},a)}))}function bY(e,t,n){var i,r=new Set,o=_(t);try{for(o.s();!(i=o.n()).done;){var a,s=i.value,u=_((0,Wq.readQuads)(e,s,n,null,null));try{for(u.s();!(a=u.n()).done;){var c=a.value;r.add(c.object.id)}}catch(l){u.e(l)}finally{u.f()}}}catch(l){o.e(l)}finally{o.f()}return r}var _Y=(o(x={},KX.spatialEntity.x_dimension.id,"x"),o(x,KX.spatialEntity.y_dimension.id,"y"),o(x,KX.spatialEntity.z_dimension.id,"z"),x);function wY(e,t,n,i){var r,o=t.getTransformationMatrix(n,i);if(o){var a=o.getTranslation(),s=function(e,t){var n=GX(e,t,"Dimensions",_Y);return[n.x,n.y,n.z]}(e,n).map(function(e){return e/1e3/2}),u=(new Yq).fromRotationMatrix(o,Yq.XYZ).toQuaternion().normalize().calculateW();r=(new BX).fromCenterHalfSizeQuaternion(a,s,u)}return r}function kY(e,t,n,i){var r,o=i.x,a=i.y,s=i.z,u=i.radius,c=i.target,l=new Set,h=u/1e3*(u/1e3),d=_(n);try{for(d.s();!(r=d.n()).done;){var f=r.value,p=wY(e,t,f,c);p&&p.distanceSquaredTo([o,a,s].map(function(e){return e/1e3}))<=h&&l.add(f)}}catch(v){d.e(v)}finally{d.f()}return l}function xY(e,t,n){var i,r,o,a=new Map,s=new Set,u=_(t);try{for(u.s();!(o=u.n()).done;){var c,l=o.value,h=_((0,Wq.readQuads)(e,l,YX.donor,null,null));try{for(h.s();!(c=h.n()).done;){var d=c.value;s.add(d.object.id),a.has(d.object.id)?null===(i=a.get(d.object.id))||void 0===i||i.push(l):a.set(d.object.id,[l])}}catch(k){h.e(k)}finally{h.f()}}}catch(k){u.e(k)}finally{u.f()}var f,p=n(s),v=new Set,g=_(p);try{for(g.s();!(f=g.n()).done;){var m,y=f.value,b=_(null!==(r=a.get(y))&&void 0!==r?r:[]);try{for(b.s();!(m=b.n()).done;){var w=m.value;v.add(w)}}catch(k){b.e(k)}finally{b.f()}}}catch(k){g.e(k)}finally{g.f()}return v}function SY(e,t,n){var i,r,o,a=new Map,s=new Set,u=_(t);try{for(u.s();!(o=u.n()).done;){var c,l=o.value,h=_((0,Wq.readQuads)(e,l,YX.spatialEntity,null,null));try{for(h.s();!(c=h.n()).done;){var d=c.value;s.add(d.object.id),a.has(d.object.id)?null===(i=a.get(d.object.id))||void 0===i||i.push(l):a.set(d.object.id,[l])}}catch(k){h.e(k)}finally{h.f()}}}catch(k){u.e(k)}finally{u.f()}var f,p=n(s),v=new Set,g=_(p);try{for(g.s();!(f=g.n()).done;){var m,y=f.value,b=_(null!==(r=a.get(y))&&void 0!==r?r:[]);try{for(b.s();!(m=b.n()).done;){var w=m.value;v.add(w)}}catch(k){b.e(k)}finally{b.f()}}}catch(k){g.e(k)}finally{g.f()}return v}function CY(e,t){return function(n){e.has(n.id)&&t.add(n.id)}}function EY(e,t,n){var i,r=new Set,o=_(n);try{for(o.s();!(i=o.n()).done;){var a=i.value,s=Wq.DataFactory.namedNode(a);e.forSubjects(CY(t,r),KX.spatialEntity.ccf_annotations,s,null)}}catch(u){o.e(u)}finally{o.f()}return r}function OY(e,t){var n,i=function(e,t){var n,i=new Map,r=_(e);try{for(r.s();!(n=r.n()).done;){var o,a=n.value,s=_((0,Wq.readQuads)(t,a,YX.spatialEntity,null,null));try{for(s.s();!(o=s.n()).done;){var u=o.value;i.has(u.object.id)?i.get(u.object.id).add(a):i.set(u.object.id,new Set([a]))}}catch(c){s.e(c)}finally{s.f()}}}catch(c){r.e(c)}finally{r.f()}return i}(e,t),r=new Map,o=_(i.keys());try{for(o.s();!(n=o.n()).done;){var a,s=n.value,u=i.get(s),c=_((0,Wq.readQuads)(t,s,KX.spatialEntity.ccf_annotations,null,null));try{for(c.s();!(a=c.n()).done;){var l=a.value;r.has(l.object.id)?function(){var e=r.get(l.object.id);u.forEach(function(t){return e.add(t)})}():r.set(l.object.id,new Set(u))}}catch(h){c.e(h)}finally{c.f()}}}catch(h){o.e(h)}finally{o.f()}return r}function TY(e,n,i){var r,a,s={"@id":n,"@type":"OntologyTreeNode",id:n,parent:"",children:[],synonymLabels:[],label:""},u=_(HX(e,n,(o(r={},KX.ontologyNode.label.id,"label"),o(r,i,"parent"),o(r,KX.ontologyNode.synonymLabels.id,"synonymLabels"),r)));try{for(u.s();!(a=u.n()).done;){var c=t(a.value,2),l=c[0],h=c[1];"synonymLabels"===l?s.synonymLabels.push(h):s[l]=h}}catch(d){u.e(d)}finally{u.f()}return s.children=e.getSubjects(i,n,null).map(function(e){return e.id}),s}function AY(e,t,n,i){var r,o={root:t,nodes:{}},a=new Set,s=_((0,Wq.readQuads)(e,null,i,null,null));try{for(s.s();!(r=s.n()).done;){var u=r.value;a.add(u.subject.id),a.add(u.object.id)}}catch(f){s.e(f)}finally{s.f()}var c,l=_(a);try{for(l.s();!(c=l.n()).done;){var h=c.value;o.nodes[h]=TY(e,h,i)}}catch(f){l.e(f)}finally{l.f()}o.nodes[t]||(o.nodes[t]={"@id":t,"@type":"OntologyTreeNode",id:t,label:n,children:[],synonymLabels:[]});var d=e.getSubjects(i,t,null).map(function(e){return e.id}).sort(function(e,t){return o.nodes[e].label.localeCompare(o.nodes[t].label)});return o.nodes[t].children=d,PY(o),o}function PY(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Set,i=e.nodes[null!=t?t:e.root];if(i){i.children=i.children.filter(function(e){return!n.has(e)}),i.children.forEach(function(e){return n.add(e)});var r,o=_(i.children);try{for(o.s();!(r=o.n()).done;){var a=r.value;PY(e,a,n),e.nodes[a]&&(e.nodes[a].parent=i["@id"])}}catch(s){o.e(s)}finally{o.f()}}}var MY=(0,Zq.memoize)(function(e){var t=AY(e,JX.body.id,"body",KX.asctb.part_of.id);return t.nodes[JX.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(function(e){return e in t.nodes}),t},function(){return""}),IY=(o(S={},YX.label.id,"label"),o(S,YX.description.id,"description"),o(S,YX.link.id,"link"),S),RY=Object.assign(Object.assign({},IY),o({},YX.providerName.id,"providerName")),DY=Object.assign(Object.assign({},IY),(o(C={},YX.technology.id,"technology"),o(C,YX.thumbnail.id,"thumbnail"),C)),NY=Object.assign(Object.assign({},IY),(o(E={},YX.sampleType.id,"sampleType"),o(E,YX.sectionNumber.id,"sectionNumber"),o(E,YX.datasets.id,"datasets"),E)),LY=Object.assign(Object.assign({},IY),(o(O={},YX.sampleType.id,"sampleType"),o(O,YX.sectionCount.id,"sectionCount"),o(O,YX.sectionSize.id,"sectionSize"),o(O,YX.sectionUnits.id,"sectionUnits"),o(O,YX.donor.id,"donor"),o(O,YX.spatialEntity.id,"spatialEntityId"),o(O,YX.sections.id,"sections"),o(O,YX.datasets.id,"datasets"),O));function jY(e,t){return GX(e,t,"Donor",RY)}function FY(e,t){return GX(e,t,"Dataset",DY)}function BY(e,n){var i,r={"@id":n,"@type":"Sample",datasets:[]},o=_(HX(e,n,NY));try{for(o.s();!(i=o.n()).done;){var a=t(i.value,2),s=a[0],u=a[1];if("datasets"===s){var c=FY(e,u);r[s].push(c)}else r[s]=u}}catch(l){o.e(l)}finally{o.f()}return r}var VY=function(){function e(t){m(this,e),this.database=t,this.connect()}return b(e,[{key:"toJson",value:function(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}},{key:"connect",value:function(){var e=this;this.status="Loading",this.message="Loading database";var t=Date.now();return this.database.connect().then(function(t){return Dw(e,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=14;break}return this.message="Building scene",e.next=4,this.database.getScene();case 4:return this.message="Building tissue block results",e.next=7,this.database.getTissueBlockResults();case 7:return this.message="Aggregating results",e.next=10,this.database.getAggregateResults();case 10:this.status="Ready",this.message="Database successfully loaded",e.next=15;break;case 14:this.status="Error",this.message="Unknown error while loading database";case 15:case"end":return e.stop()}},e,this)}))}).catch(function(t){var n;e.status="Error",e.message=null!==(n=null==t?void 0:t.message)&&void 0!==n?n:"Unknown error while loading database"}).finally(function(){e.loadTime=Date.now()-t})}}]),e}(),zY={"@context":{"@base":"http://purl.org/ccf/","@vocab":"http://purl.org/ccf/",ccf:"http://purl.org/ccf/",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dcterms:"http://purl.org/dc/terms/",label:"rdfs:label",description:"rdfs:comment",link:"ccf:url",sex:"ccf:sex",age:"ccf:age",bmi:"ccf:bmi",consortium_name:"ccf:consortium_name",provider_name:"ccf:tissue_provider_name",provider_uuid:"ccf:tissue_provider_uuid",donor:{"@id":"ccf:comes_from","@type":"@id"},samples:{"@reverse":"donor"},sections:{"@id":"ccf:subdivided_into_sections","@type":"@id"},datasets:{"@id":"ccf:generates_dataset","@type":"@id"},sample_type:"ccf:sample_type",section_count:"ccf:section_count",section_size:"ccf:section_size",section_units:"ccf:section_size_unit",section_number:"ccf:section_number",rui_location:{"@id":"ccf:has_registration_location","@type":"@id"},ccf_annotations:{"@id":"ccf:collides_with","@type":"@id","@container":"@set"},representation_of:{"@id":"ccf:representation_of","@type":"@id"},reference_organ:{"@id":"ccf:has_reference_organ","@type":"@id"},extraction_set_for:{"@id":"ccf:extraction_set_for","@type":"@id"},extraction_set:{"@id":"ccf:has_extraction_set","@type":"@id"},organ_owner_sex:"ccf:organ_owner_sex",side:"ccf:organ_side",rui_rank:"ccf:rui_rank",slice_thickness:"ccf:slice_thickness",slice_count:"ccf:slice_count",object:{"@id":"ccf:has_object_reference","@type":"@id"},creation_date:"dcterms:created",updated_date:"ccf:updated_date",creator:"dcterms:creator",creator_first_name:"ccf:creator_first_name",creator_last_name:"ccf:creator_last_name",placement:{"@reverse":"ccf:placement_for"},placement_date:"dcterms:created",rotation_order:"ccf:rotation_order",dimension_units:"ccf:dimension_unit",rotation_units:"ccf:rotation_unit",scaling_units:"ccf:scaling_unit",translation_units:"ccf:translation_unit",source:{"@id":"ccf:placement_for","@type":"@id"},target:{"@id":"ccf:placement_relative_to","@type":"@id"},x_rotation:"ccf:x_rotation",y_rotation:"ccf:y_rotation",z_rotation:"ccf:z_rotation",x_scaling:"ccf:x_scaling",y_scaling:"ccf:y_scaling",z_scaling:"ccf:z_scaling",x_translation:"ccf:x_translation",y_translation:"ccf:y_translation",z_translation:"ccf:z_translation",x_dimension:"ccf:x_dimension",y_dimension:"ccf:y_dimension",z_dimension:"ccf:z_dimension",ontology_terms:{"@id":"ccf:has_ontology_term","@type":"@id"},technology:"ccf:technology",thumbnail:"ccf:thumbnail",file:"ccf:file_url",file_format:"ccf:file_format",file_subpath:"ccf:file_subpath"}};function UY(e){return JSON.parse(e,function(e,t){return"ccf_annotations"===e&&Array.isArray(t)?t.map(function(e){return(null==e?void 0:e.startsWith("http://purl.obolibrary.org/obo/FMA_"))?e.replace("http://purl.obolibrary.org/obo/FMA_","http://purl.org/sig/ont/fma/fma"):e}):"@context"!==e||!t||"https://hubmapconsortium.github.io/hubmap-ontology/ccf-entity-context.jsonld"!==t&&"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld"!==t&&"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"!==t&&"http://purl.org/ccf/latest/ccf-entity.owl#"!==t["@base"]?t:zY})}var HY={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"},GY=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:HY;m(this,e),this.options=t,this.store=new Wq.Store(void 0,{factory:Wq.DataFactory}),this.graph=new aY(this),this.scene=new sY(this)}return b(e,[{key:"connect",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),n.next=4,this.initializing;case 4:return n.abrupt("return",this.store.size>0);case 5:case"end":return n.stop()}},n,this)}))}},{key:"cachedConnect",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){var t,n,i,r,o,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=(new Date).getTime(),n=Gq()(this.options,{encoding:"base64",ignoreUnknown:!0,respectType:!1,unorderedArrays:!0,unorderedObjects:!0,unorderedSets:!0}),i="ccf-database.last_modified.".concat(n),r="ccf-database.".concat(n),e.next=6,zq(i).catch(function(){});case 6:if(!((o=e.sent)&&t-new Date(+o).getTime()>36e5)){e.next=12;break}return e.next=10,function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vq();return t("readwrite",function(t){return e.forEach(function(e){return t.delete(e)}),Bq(t.transaction)})}([r,i]).catch(function(){});case 10:e.next=15;break;case 12:return e.next=14,zq(r).catch(function(){});case 14:a=e.sent;case 15:if(!a){e.next=20;break}return e.next=18,this.deserialize(a);case 18:e.next=23;break;case 20:return e.next=22,this.doConnect();case 22:(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vq();return t("readwrite",function(t){return e.forEach(function(e){return t.put(e[1],e[0])}),Bq(t.transaction)})})([[r,this.serialize()],[i,""+t]]).catch(function(){});case 23:case"end":return e.stop()}},e,this)}))}},{key:"doConnect",value:function(){var e,t;return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,r,o,a,s=this;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],!(o=this.options.ccfOwlUrl).startsWith("{")){n.next=5;break}this.store=(0,Wq.deserializeN3Store)(o,Wq.DataFactory),n.next=13;break;case 5:if(!o.endsWith(".n3store.json")){n.next=12;break}return n.next=8,fetch(o).then(function(e){return e.text()}).catch(function(){return console.log("Couldn't locate serialized store.")});case 8:(a=n.sent)&&(this.store=(0,Wq.deserializeN3Store)(a,Wq.DataFactory)),n.next=13;break;case 12:(null==o?void 0:o.length)>0&&r.push(o);case 13:return this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(yY(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(function(e){if(e)return s.addDataSources([e])}))),i.push(this.addDataSources(r)),n.next=17,Promise.all(i);case 17:return n.next=19,this.synchronize();case 19:case"end":return n.stop()}},n,this)}))}},{key:"addDataSources",value:function(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,r=this;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return i=null!=t?t:this.store,n.next=3,Promise.all(e.map(function(e){return Dw(r,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if("string"!=typeof e){t.next=26;break}if(!e.startsWith("http")&&!e.startsWith("assets/")||!e.includes("jsonld")){t.next=11;break}return t.t0=UY,t.next=5,fetch(e).then(function(e){return e.text()});case 5:return t.t1=e=t.sent,e=(0,t.t0)(t.t1),t.next=9,(0,Wq.addJsonLdToStore)(e,i);case 9:t.next=24;break;case 11:if(!e.endsWith("n3")){t.next=16;break}return t.next=14,(0,Wq.addN3ToStore)(e,i);case 14:t.next=24;break;case 16:if(!(e.endsWith("rdf")||e.endsWith("owl")||e.endsWith("xml"))){t.next=21;break}return t.next=19,(0,Wq.addRdfXmlToStore)(e,i);case 19:t.next=24;break;case 21:return e=UY(e),t.next=24,(0,Wq.addJsonLdToStore)(e,i);case 24:t.next=29;break;case 26:return e=UY(JSON.stringify(e)),t.next=29,(0,Wq.addJsonLdToStore)(e,i);case 29:case"end":return t.stop()}},t)}))}));case 3:return n.abrupt("return",this);case 4:case"end":return n.stop()}},n,this)}))}},{key:"synchronize",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise(function(e){setTimeout(e,500)});case 2:return this.graph.createGraph(),function(e){var t,n,i,r,o=MY(e),a=new Map,s=_((0,Wq.readQuads)(e,null,KX.spatialEntity.representation_of,null,null));try{for(s.s();!(r=s.n()).done;){for(var u=r.value,c=u.subject,l=u.object,h=new Set([l.id]),d=null===(t=o.nodes[l.id])||void 0===t?void 0:t.parent;d&&!h.has(d);)h.add(d),d=null===(n=o.nodes[d])||void 0===n?void 0:n.parent;a.set(c.id,v(h).map(function(e){return Wq.DataFactory.namedNode(e)}))}}catch(O){s.e(O)}finally{s.f()}var f,p=_((0,Wq.readQuads)(e,null,YX.spatialEntity,null,null));try{for(p.s();!(f=p.n()).done;){var g,m=f.value.object,y=_((0,Wq.readQuads)(e,null,KX.spatialPlacement.source,m,null));try{for(y.s();!(g=y.n()).done;){var b,w=g.value.subject,k=_((0,Wq.readQuads)(e,w,KX.spatialPlacement.target,null,null));try{for(k.s();!(b=k.n()).done;){var x,S=b.value.object,C=_(null!==(i=a.get(S.id))&&void 0!==i?i:[]);try{for(C.s();!(x=C.n()).done;){var E=x.value;e.addQuad(Wq.DataFactory.namedNode(m.id),KX.spatialEntity.ccf_annotations,E)}}catch(O){C.e(O)}finally{C.f()}}}catch(O){k.e(O)}finally{k.f()}}}catch(O){y.e(O)}finally{y.f()}}}catch(O){p.e(O)}finally{p.f()}}(this.store),e.abrupt("return",this);case 5:case"end":return e.stop()}},e,this)}))}},{key:"serialize",value:function(){return(0,Wq.serializeN3Store)(this.store)}},{key:"deserialize",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.store=(0,Wq.deserializeN3Store)(e,Wq.DataFactory),this.graph=new aY(this),this.scene=new sY(this),t.next=5,new Promise(function(e){setTimeout(e,10)});case 5:case"end":return t.stop()}},t,this)}))}},{key:"getIds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(e,t,n){var i,r,o,a,s,u,c,l=function(e){var t=new Set;return e.forSubjects(function(e){return t.add(e.id)},YX.spatialEntity,null,null),t}(e);if(l.size>0&&(l=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=new Set;if(e.forSubjects(CY(t,i),YX.spatialEntity,null,null),!n){var r=new Set;return t.forEach(function(e){return i.has(e)?void 0:r.add(e)}),r}return i}(e,l)),l.size>0&&("Male"===n.sex||"Female"===n.sex)){var h=n.sex;l=xY(e,l,function(t){return function(e,t,n){var i=new Set;return e.forSubjects(CY(t,i),YX.sex,YX[n],null),i}(e,t,h)})}if(l.size>0&&(null===(i=n.tmc)||void 0===i?void 0:i.length)>0&&(l=xY(e,l,function(t){return function(e,t,n){var i,r=new Set,o=_(n);try{for(o.s();!(i=o.n()).done;){var a=i.value,s=Wq.DataFactory.literal(a);e.forSubjects(CY(t,r),YX.providerName,s,null)}}catch(u){o.e(u)}finally{o.f()}return r}(e,t,n.tmc)})),l.size>0&&(null===(r=n.technologies)||void 0===r?void 0:r.length)>0&&(l=function(e,t,n){var i,r,o,a=new Map,s=new Set,u=new Set(t),c=_(t);try{for(c.s();!(o=c.n()).done;){var l,h=o.value,d=_((0,Wq.readQuads)(e,h,YX.sections,null,null));try{for(d.s();!(l=d.n()).done;){var f=l.value;u.add(f.object.id)}}catch(A){d.e(A)}finally{d.f()}}}catch(A){c.e(A)}finally{c.f()}var p,v=_(u);try{for(v.s();!(p=v.n()).done;){var g,m=p.value,y=_((0,Wq.readQuads)(e,m,YX.datasets,null,null));try{for(y.s();!(g=y.n()).done;){var b=g.value;s.add(b.object.id),a.has(b.object.id)?null===(i=a.get(b.object.id))||void 0===i||i.push(m):a.set(b.object.id,[m])}}catch(A){y.e(A)}finally{y.f()}}}catch(A){v.e(A)}finally{v.f()}var w,k=n(s),x=new Set,S=_(k);try{for(S.s();!(w=S.n()).done;){var C,E=w.value,O=_(null!==(r=a.get(E))&&void 0!==r?r:[]);try{for(O.s();!(C=O.n()).done;){var T=C.value;x.add(T)}}catch(A){O.e(A)}finally{O.f()}}}catch(A){S.e(A)}finally{S.f()}return x}(e,l,function(t){return function(e,t,n){var i,r=new Set,o=_(n);try{for(o.s();!(i=o.n()).done;){var a=i.value,s=Wq.DataFactory.literal(a);e.forSubjects(CY(t,r),YX.technology,s,null)}}catch(u){o.e(u)}finally{o.f()}return r}(e,t,n.technologies)})),l.size>0&&(null===(o=n.spatialSearches)||void 0===o?void 0:o.length)>0&&(l=SY(e,l,function(i){return function(e,t,n,i){var r,o=new Set,a=_(i);try{for(a.s();!(r=a.n()).done;){kY(e,t,n,r.value).forEach(function(e){return o.add(e)})}}catch(s){a.e(s)}finally{a.f()}return o}(e,t,i,n.spatialSearches)})),l.size>0&&(null===(a=n.ontologyTerms)||void 0===a?void 0:a.length)>0){var d=n.ontologyTerms;-1===d.indexOf(JX.body.id)&&(l=SY(e,l,function(t){return EY(e,t,d)}))}if(l.size>0&&(null===(s=n.cellTypeTerms)||void 0===s?void 0:s.length)>0){var f=n.cellTypeTerms;-1===f.indexOf(JX.cell.id)&&(l=SY(e,l,function(t){return function(e,t,n){var i,r=new Set,o=_(n);try{for(o.s();!(i=o.n()).done;){var a=i.value;e.forObjects(function(e){r.add(e.id)},a,KX.asctb.located_in,null),a===JX.cell.id&&r.add(JX.body.id)}}catch(s){o.e(s)}finally{o.f()}return EY(e,t,v(r))}(e,t,f)}))}if(l.size>0&&2===(null===(u=n.ageRange)||void 0===u?void 0:u.length)&&(0,Zq.isFinite)(n.ageRange[0])&&(0,Zq.isFinite)(n.ageRange[1])){var p=Math.max.apply(Math,v(n.ageRange)),g=Math.min.apply(Math,v(n.ageRange));1===g&&110===p||(l=xY(e,l,function(t){return function(e,t,n,i){var r,o=new Set,a=_(t);try{for(a.s();!(r=a.n()).done;){var s,u=r.value,c=_((0,Wq.readQuads)(e,u,YX.age,null,null));try{for(c.s();!(s=c.n()).done;){var l=s.value,h=(0,aX.fromRdf)(l.object);h>=n&&h<=i&&o.add(u)}}catch(d){c.e(d)}finally{c.f()}}}catch(d){a.e(d)}finally{a.f()}return o}(e,t,g,p)}))}if(l.size>0&&2===(null===(c=n.bmiRange)||void 0===c?void 0:c.length)&&(0,Zq.isFinite)(n.bmiRange[0])&&(0,Zq.isFinite)(n.bmiRange[1])){var m=Math.max.apply(Math,v(n.bmiRange)),y=Math.min.apply(Math,v(n.bmiRange));13===y&&83===m||(l=xY(e,l,function(t){return function(e,t,n,i){var r,o=new Set,a=_(t);try{for(a.s();!(r=a.n()).done;){var s,u=r.value,c=_((0,Wq.readQuads)(e,u,YX.bmi,null,null));try{for(c.s();!(s=c.n()).done;){var l=s.value,h=(0,aX.fromRdf)(l.object);h>=n&&h<=i&&o.add(u)}}catch(d){c.e(d)}finally{c.f()}}}catch(d){a.e(d)}finally{a.f()}return o}(e,t,y,m)}))}return l}(this.store,this.graph,e)}},{key:"get",value:function(e){return this.store.getQuads(Wq.DataFactory.namedNode(e),null,null,null)}},{key:"search",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return v(this.getIds(t)).map(function(t){return e.get(t)})}},{key:"getSpatialEntities",value:function(e){var t=this;return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),v(this.getIds(e)).map(function(e){return function(e,t){var n=e.getObjects(Wq.DataFactory.namedNode(t),YX.spatialEntity,null);if(n.length>0)return iY(e,n[0].id)}(t.store,e)})}},{key:"getDatabaseStatus",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",(this.status||(this.status=new VY(this)),this.status.toJson()));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getDatasetTechnologyNames",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",function(e){var t,n=new Set,i=_((0,Wq.readQuads)(e,null,YX.technology,null,null));try{for(i.s();!(t=i.n()).done;){var r=t.value;n.add(r.object.value)}}catch(o){i.e(o)}finally{i.f()}return Array.from(n).sort()}(this.store));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getProviderNames",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",function(e){var t,n=new Set,i=_((0,Wq.readQuads)(e,null,YX.providerName,null,null));try{for(i.s();!(t=i.n()).done;){var r=t.value;n.add(r.object.value)}}catch(o){i.e(o)}finally{i.f()}return Array.from(n).sort()}(this.store));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getTissueBlockResults",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i=this;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",(e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),v(this.getIds(e)).map(function(e){return function(e,n){var i,r={"@id":n,"@type":"Sample",sections:[],datasets:[]},o=_(HX(e,n,LY));try{for(o.s();!(i=o.n()).done;){var a=t(i.value,2),s=a[0],u=a[1];if("sections"===s){var c=BY(e,u);r[s].push(c)}else if("datasets"===s){var l=FY(e,u);r[s].push(l)}else r[s]="donor"===s?jY(e,u):u}}catch(h){o.e(h)}finally{o.f()}return r}(i.store,e)})));case 1:case"end":return n.stop()}},n,this)}))}},{key:"getAggregateResults",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",function(e,n){var i,r=bY(n,e,YX.donor.id),o=bY(n,r,YX.providerUUID.id),a=new Set,s=_(e);try{for(s.s();!(i=s.n()).done;){var u,c=i.value,l=_((0,Wq.readQuads)(n,c,YX.spatialEntity,null,null));try{for(l.s();!(u=l.n()).done;){var h=u.value;a.add(h.subject.id)}}catch(p){l.e(p)}finally{l.f()}}}catch(p){s.e(p)}finally{s.f()}var d=bY(n,a,YX.sections.id),f=new Set([].concat(v(bY(n,a,YX.datasets.id)),v(bY(n,d,YX.datasets.id))));return Object.entries({"Tissue Data Providers":o.size,Donors:r.size,"Tissue Blocks":a.size,"Tissue Sections":d.size,"Tissue Datasets":f.size}).map(function(e){var n=t(e,2);return{label:n[0],count:n[1]}})}(this.getIds(e),this.store));case 1:case"end":return n.stop()}},n,this)}))}},{key:"getOntologyTermOccurences",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",function(e,t){var n={};return OY(e,t).forEach(function(e,t){n[t]=e.size}),n}(this.getIds(e),this.store));case 1:case"end":return t.stop()}},t,this)}))}},{key:"getCellTypeTermOccurences",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",function(e,t){var n,i,r,o=OY(e,t),a=new Map,s=_(o.keys());try{for(s.s();!(r=s.n()).done;){var u,c=r.value,l=o.get(c),h=_((0,Wq.readQuads)(t,null,KX.asctb.located_in,c,null));try{for(h.s();!(u=h.n()).done;){var d=u.value.subject.id;a.has(d)?function(){var e=a.get(d);l.forEach(function(t){return e.add(t)})}():a.set(d,new Set(l))}}catch(p){h.e(p)}finally{h.f()}}}catch(p){s.e(p)}finally{s.f()}var f={};return a.forEach(function(e,t){f[t]=e.size}),f[JX.cell.id]=null!==(i=null===(n=o.get(JX.body.id))||void 0===n?void 0:n.size)&&void 0!==i?i:0,f}(this.getIds(e),this.store));case 1:case"end":return t.stop()}},t,this)}))}},{key:"getOntologyTreeModel",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",MY(this.store));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getCellTypeTreeModel",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",function(e){return AY(e,JX.cell.id,"cell",KX.asctb.ct_is_a.id)}(this.store));case 1:case"end":return e.stop()}},e,this)}))}},{key:"getReferenceOrgans",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.scene.getReferenceOrgans());case 1:case"end":return e.stop()}},e,this)}))}},{key:"getScene",value:function(e){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",(this.graph.createGraph(),this.scene.getScene(e)));case 1:case"end":return t.stop()}},t,this)}))}},{key:"getReferenceOrganScene",value:function(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",(this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)));case 1:case"end":return n.stop()}},n,this)}))}},{key:"getSpatialPlacement",value:function(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",this.graph.getSpatialPlacement(e,t));case 1:case"end":return n.stop()}},n,this)}))}}]),e}(),WY=[240,183,98,255],qY=[213,0,0,255],XY=[29,204,101,255],YY=[41,121,255,255],KY=[204,204,204,255],$Y=[213,0,0,255],QY=[29,204,101,255],ZY=[41,121,255,255];function JY(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.x_dimension/1e3,i=e.y_dimension/1e3,r=e.z_dimension/1e3,o=.05*Math.max(n,i,r),a=.1*o;return[{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginSphere","@type":"SpatialSceneNode",unpickable:!0,geometry:"sphere",transformMatrix:new $O($O.IDENTITY).scale(o),color:KY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginX","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([n/2,0,0]).rotateZ(cS(-90)).scale([a,n,a]),color:$Y},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([n,0,0]).rotateZ(cS(-90)).scale([o,3*o,o]),color:$Y},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new $O($O.IDENTITY).translate([2*-o,0,0]).scale(o),color:$Y},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new $O($O.IDENTITY).translate([n+2*o,0,0]).scale(o),color:$Y},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginY","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([0,i/2,0]).scale([a,i,a]),color:QY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([0,i,0]).scale([o,3*o,o]),color:QY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new $O($O.IDENTITY).translate([1.5*o,1.5*o,0]).scale(o),color:QY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new $O($O.IDENTITY).translate([0,i+2*o,0]).scale(o),color:QY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([0,0,r/2]).rotateX(cS(90)).scale([a,r,a]),color:ZY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([0,0,r]).rotateX(cS(90)).scale([o,3*o,o]),color:ZY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new $O($O.IDENTITY).translate([1.5*o,1.5*-o,0]).scale(o),color:ZY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new $O($O.IDENTITY).translate([0,0,r+2*o]).scale(o),color:ZY}].filter(function(e){return t&&"text"===e.geometry&&e.text||!e.text})}var eK=Symbol("Comlink.proxy"),tK=Symbol("Comlink.endpoint"),nK=Symbol("Comlink.releaseProxy"),iK=Symbol("Comlink.thrown"),rK=function(e){return"object"==typeof e&&null!==e||"function"==typeof e},oK=new Map([["proxy",{canHandle:function(e){return rK(e)&&e[eK]},serialize:function(e){var t=new MessageChannel,n=t.port1,i=t.port2;return aK(e,n),[i,[i]]},deserialize:function(e){return e.start(),uK(e)}}],["throw",{canHandle:function(e){return rK(e)&&iK in e},serialize:function(e){var t=e.value;return[t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[]]},deserialize:function(e){throw e.isError?Object.assign(new Error(e.value.message),e.value):e.value}}]]);function aK(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:self;n.addEventListener("message",function i(r){if(r&&r.data){var a,s=Object.assign({path:[]},r.data),u=s.id,c=s.type,l=s.path,d=(r.data.argumentList||[]).map(vK);try{var f=l.slice(0,-1).reduce(function(e,t){return e[t]},e),p=l.reduce(function(e,t){return e[t]},e);switch(c){case"GET":a=p;break;case"SET":f[l.slice(-1)[0]]=vK(r.data.value),a=!0;break;case"APPLY":a=p.apply(f,d);break;case"CONSTRUCT":a=function(e){return Object.assign(e,o({},eK,!0))}(h(p,v(d)));break;case"ENDPOINT":var g=new MessageChannel,m=g.port1,y=g.port2;aK(e,y),a=function(e,t){return fK.set(e,t),e}(m,[m]);break;case"RELEASE":a=void 0;break;default:return}}catch(f){a=o({value:f},iK,0)}Promise.resolve(a).catch(function(e){return o({value:e},iK,0)}).then(function(e){var r=t(pK(e),2),o=r[0],a=r[1];n.postMessage(Object.assign(Object.assign({},o),{id:u}),a),"RELEASE"===c&&(n.removeEventListener("message",i),sK(n))})}}),n.start&&n.start()}function sK(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function uK(e,t){return lK(e,[],t)}function cK(e){if(e)throw new Error("Proxy has been released and is not useable")}function lK(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=!1,o=new Proxy(i,{get:function(t,i){if(cK(r),i===nK)return function(){return gK(e,{type:"RELEASE",path:n.map(function(e){return e.toString()})}).then(function(){sK(e),r=!0})};if("then"===i){if(0===n.length)return{then:function(){return o}};var a=gK(e,{type:"GET",path:n.map(function(e){return e.toString()})}).then(vK);return a.then.bind(a)}return lK(e,[].concat(v(n),[i]))},set:function(i,o,a){cK(r);var s=t(pK(a),2),u=s[0],c=s[1];return gK(e,{type:"SET",path:[].concat(v(n),[o]).map(function(e){return e.toString()}),value:u},c).then(vK)},apply:function(i,o,a){cK(r);var s=n[n.length-1];if(s===tK)return gK(e,{type:"ENDPOINT"}).then(vK);if("bind"===s)return lK(e,n.slice(0,-1));var u=t(dK(a),2),c=u[0],l=u[1];return gK(e,{type:"APPLY",path:n.map(function(e){return e.toString()}),argumentList:c},l).then(vK)},construct:function(i,o){cK(r);var a=t(dK(o),2),s=a[0],u=a[1];return gK(e,{type:"CONSTRUCT",path:n.map(function(e){return e.toString()}),argumentList:s},u).then(vK)}});return o}function hK(e){return Array.prototype.concat.apply([],e)}function dK(e){var t=e.map(pK);return[t.map(function(e){return e[0]}),hK(t.map(function(e){return e[1]}))]}var fK=new WeakMap;function pK(e){var n,i=_(oK);try{for(i.s();!(n=i.n()).done;){var r=t(n.value,2),o=r[0],a=r[1];if(a.canHandle(e)){var s=t(a.serialize(e),2);return[{type:"HANDLER",name:o,value:s[0]},s[1]]}}}catch(u){i.e(u)}finally{i.f()}return[{type:"RAW",value:e},fK.get(e)||[]]}function vK(e){switch(e.type){case"HANDLER":return oK.get(e.name).deserialize(e.value);case"RAW":return e.value}}function gK(e,t,n){return new Promise(function(i){var r=new Array(4).fill(0).map(function(){return Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)}).join("-");e.addEventListener("message",function t(n){!n.data||!n.data.id||n.data.id!==r||(e.removeEventListener("message",t),i(n.data))}),e.start&&e.start(),e.postMessage(Object.assign({id:r},t),n)})}var mK=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments)).message="NgxsDispatchPluginModule is not imported",e}return n}(l(Error)),yK=null;function bK(e){yK=e}function _K(){if(null===yK)throw new mK;return yK.get(Az)}function wK(){if(null===yK)throw new mK;return yK.get(Xl)}function kK(e,t,n){t.run(function(){return e.dispatch(n)})}function xK(e,t,n,i){return js(n)?function(e,t,n){return n.then(function(n){return kK(e,t,n),n})}(e,t,n):cf(n)?function(e,t,n,i){return null!==i&&(n=n.pipe(kf(i.cancelUncompleted$))),n.subscribe({next:function(n){return kK(e,t,n)}}),n}(e,t,n,i):(kK(e,t,n),n)}var SK=function(){function e(){m(this,e),this.cancelUncompleted$=new ae}return b(e,[{key:"cancelPreviousAction",value:function(){this.cancelUncompleted$.next()}}]),e}(),CK="\u0275fac",EK=Symbol("InjectorInstance"),OK=Symbol("FactoryHasBeenDecorated");function TK(e,t){var n=e[EK];return n?n.get(t):null}var AK={cancelUncompleted:!1};function PK(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:AK;return function(t,n,i){var r,o=function(e){return e?new SK:null}(e.cancelUncompleted);function a(){null!==o&&o.cancelPreviousAction();var e=TK(this,Az)||_K(),t=TK(this,Xl)||wK(),n=r.apply(this,arguments);return t.runOutsideAngular(function(){return xK(e,t,n,o)})}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=a):Object.defineProperty(t,n,{set:function(e){return r=e},get:function(){return a}}),function(e){if(!(OK in e.constructor.prototype)){var t=e.constructor;"function"==typeof t[CK]&&function(e){var t=e[CK];if("function"==typeof t){var n=e.\u0275prov||e.\u0275pipe||e.\u0275cmp||e.\u0275dir,i=function(){var e=t();return e[EK]=Os(Xa),e};n&&(n.factory=i),Object.defineProperty(e,CK,{get:function(){return i}})}}(t),e.constructor.prototype[OK]=!0}}(t)}}var MK=function(){var e=function(){function e(t){m(this,e),bK(t.injector),t.onDestroy(function(){bK(null)})}return b(e,null,[{key:"forRoot",value:function(){return{ngModule:e}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(Rc))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),IK=function(){var e=function(){function e(){m(this,e),this._vertical=!1,this._inset=!1}return b(e,[{key:"vertical",get:function(){return this._vertical},set:function(e){this._vertical=Wd(e)}},{key:"inset",get:function(){return this._inset},set:function(e){this._inset=Wd(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(e,t){2&e&&(ks("aria-orientation",t.vertical?"vertical":"horizontal"),cu("mat-divider-vertical",t.vertical)("mat-divider-horizontal",!t.vertical)("mat-divider-inset",t.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(e,t){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),e}(),RK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb],rb]}),e}(),DK=["*"],NK=[[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]],[["","mat-line",""],["","matLine",""]],"*"],LK=["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]","[mat-line], [matLine]","*"],jK=ob(sb(function(){return function e(){m(this,e)}}())),FK=sb(function(){return function e(){m(this,e)}}()),BK=new Ri("MatList"),VK=new Ri("MatNavList"),zK=function(){var e=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this))._elementRef=e,i._stateChanges=new ae,"action-list"===i._getListType()&&e.nativeElement.classList.add("mat-action-list"),i}return b(n,[{key:"_getListType",value:function(){var e=this._elementRef.nativeElement.nodeName.toLowerCase();return"mat-list"===e?"list":"mat-action-list"===e?"action-list":null}},{key:"ngOnChanges",value:function(){this._stateChanges.next()}},{key:"ngOnDestroy",value:function(){this._stateChanges.complete()}}]),n}(jK);return e.\u0275fac=function(t){return new(t||e)(Os(Ju))},e.\u0275cmp=Ot({type:e,selectors:[["mat-list"],["mat-action-list"]],hostAttrs:[1,"mat-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matList"],features:[Xu([{provide:BK,useExisting:e}]),cs,qt],ngContentSelectors:DK,decls:1,vars:0,template:function(e,t){1&e&&(Xs(),Ys(0))},styles:['.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n'],encapsulation:2,changeDetection:0}),e}(),UK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","mat-list-avatar",""],["","matListAvatar",""]],hostAttrs:[1,"mat-list-avatar"]}),e}(),HK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["","mat-list-icon",""],["","matListIcon",""]],hostAttrs:[1,"mat-list-icon"]}),e}(),GK=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o){var a;m(this,n),(a=t.call(this))._element=e,a._isInteractiveList=!1,a._destroyed=new ae,a._disabled=!1,a._isInteractiveList=!!(r||o&&"action-list"===o._getListType()),a._list=r||o;var s=a._getHostElement();return"button"===s.nodeName.toLowerCase()&&!s.hasAttribute("type")&&s.setAttribute("type","button"),a._list&&a._list._stateChanges.pipe(kf(a._destroyed)).subscribe(function(){i.markForCheck()}),a}return b(n,[{key:"disabled",get:function(){return this._disabled||!(!this._list||!this._list.disabled)},set:function(e){this._disabled=Wd(e)}},{key:"ngAfterContentInit",value:function(){!function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mat";e.changes.pipe(Ef(e)).subscribe(function(e){var i=e.length;db(t,"".concat(n,"-2-line"),!1),db(t,"".concat(n,"-3-line"),!1),db(t,"".concat(n,"-multi-line"),!1),2===i||3===i?db(t,"".concat(n,"-").concat(i,"-line"),!0):i>3&&db(t,"".concat(n,"-multi-line"),!0)})}(this._lines,this._element)}},{key:"ngOnDestroy",value:function(){this._destroyed.next(),this._destroyed.complete()}},{key:"_isRippleDisabled",value:function(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)}},{key:"_getHostElement",value:function(){return this._element.nativeElement}}]),n}(FK);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Cc),Os(VK,8),Os(BK,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(e,t,n){var i;(1&e&&(bl(n,UK,5),bl(n,HK,5),bl(n,hb,5)),2&e)&&(ml(i=_l())&&(t._avatar=i.first),ml(i=_l())&&(t._icon=i.first),ml(i=_l())&&(t._lines=i))},hostAttrs:[1,"mat-list-item","mat-focus-indicator"],hostVars:6,hostBindings:function(e,t){2&e&&cu("mat-list-item-disabled",t.disabled)("mat-list-item-avatar",t._avatar||t._icon)("mat-list-item-with-avatar",t._avatar||t._icon)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matListItem"],features:[cs],ngContentSelectors:LK,decls:6,vars:2,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-list-text"]],template:function(e,t){1&e&&(Xs(NK),Ps(0,"div",0),Is(1,"div",1),Ys(2),Ps(3,"div",2),Ys(4,1),Ms(),Ys(5,2),Ms()),2&e&&(Yo(1),Ts("matRippleTrigger",t._getHostElement())("matRippleDisabled",t._isRippleDisabled()))},directives:[wb],encapsulation:2,changeDetection:0}),e}(),WK=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[fb,kb,rb,Sb,cd],fb,rb,Sb,RK]}),e}(),qK=["input"],XK=function(e){return{enterDuration:e}},YK=["*"],KK=new Ri("mat-checkbox-default-options",{providedIn:"root",factory:$K});function $K(){return{color:"accent",clickAction:"check-indeterminate"}}var QK=0,ZK={color:"accent",clickAction:"check-indeterminate"},JK={provide:Hz,useExisting:He(function(){return n$}),multi:!0},e$=function e(){m(this,e)},t$=ub(ab(sb(ob(function(){return function e(t){m(this,e),this._elementRef=t}}())))),n$=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u){var c;return m(this,n),(c=t.call(this,e))._changeDetectorRef=i,c._focusMonitor=r,c._ngZone=o,c._animationMode=s,c._options=u,c.ariaLabel="",c.ariaLabelledby=null,c._uniqueId="mat-checkbox-"+ ++QK,c.id=c._uniqueId,c.labelPosition="after",c.name=null,c.change=new ol,c.indeterminateChange=new ol,c._onTouched=function(){},c._currentAnimationClass="",c._currentCheckState=0,c._controlValueAccessorChangeFn=function(){},c._checked=!1,c._disabled=!1,c._indeterminate=!1,c._options=c._options||ZK,c.color=c.defaultColor=c._options.color||ZK.color,c.tabIndex=parseInt(a)||0,c}return b(n,[{key:"inputId",get:function(){return"".concat(this.id||this._uniqueId,"-input")}},{key:"required",get:function(){return this._required},set:function(e){this._required=Wd(e)}},{key:"ngAfterViewInit",value:function(){var e=this;this._focusMonitor.monitor(this._elementRef,!0).subscribe(function(t){t||Promise.resolve().then(function(){e._onTouched(),e._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}},{key:"ngAfterViewChecked",value:function(){}},{key:"ngOnDestroy",value:function(){this._focusMonitor.stopMonitoring(this._elementRef)}},{key:"checked",get:function(){return this._checked},set:function(e){e!=this.checked&&(this._checked=e,this._changeDetectorRef.markForCheck())}},{key:"disabled",get:function(){return this._disabled},set:function(e){var t=Wd(e);t!==this.disabled&&(this._disabled=t,this._changeDetectorRef.markForCheck())}},{key:"indeterminate",get:function(){return this._indeterminate},set:function(e){var t=e!=this._indeterminate;this._indeterminate=Wd(e),t&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}},{key:"_isRippleDisabled",value:function(){return this.disableRipple||this.disabled}},{key:"_onLabelTextChange",value:function(){this._changeDetectorRef.detectChanges()}},{key:"writeValue",value:function(e){this.checked=!!e}},{key:"registerOnChange",value:function(e){this._controlValueAccessorChangeFn=e}},{key:"registerOnTouched",value:function(e){this._onTouched=e}},{key:"setDisabledState",value:function(e){this.disabled=e}},{key:"_getAriaChecked",value:function(){return this.checked?"true":this.indeterminate?"mixed":"false"}},{key:"_transitionCheckState",value:function(e){var t=this._currentCheckState,n=this._elementRef.nativeElement;if(t!==e&&(this._currentAnimationClass.length>0&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(t,e),this._currentCheckState=e,this._currentAnimationClass.length>0)){n.classList.add(this._currentAnimationClass);var i=this._currentAnimationClass;this._ngZone.runOutsideAngular(function(){setTimeout(function(){n.classList.remove(i)},1e3)})}}},{key:"_emitChangeEvent",value:function(){var e=new e$;e.source=this,e.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(e),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}},{key:"toggle",value:function(){this.checked=!this.checked}},{key:"_onInputClick",value:function(e){var t,n=this,i=null===(t=this._options)||void 0===t?void 0:t.clickAction;e.stopPropagation(),this.disabled||"noop"===i?!this.disabled&&"noop"===i&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==i&&Promise.resolve().then(function(){n._indeterminate=!1,n.indeterminateChange.emit(n._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}},{key:"focus",value:function(e,t){e?this._focusMonitor.focusVia(this._inputElement,e,t):this._inputElement.nativeElement.focus(t)}},{key:"_onInteractionEvent",value:function(e){e.stopPropagation()}},{key:"_getAnimationClassForCheckStateTransition",value:function(e,t){if("NoopAnimations"===this._animationMode)return"";var n="";switch(e){case 0:if(1===t)n="unchecked-checked";else{if(3!=t)return"";n="unchecked-indeterminate"}break;case 2:n=1===t?"unchecked-checked":"unchecked-indeterminate";break;case 1:n=2===t?"checked-unchecked":"checked-indeterminate";break;case 3:n=1===t?"indeterminate-checked":"indeterminate-unchecked"}return"mat-checkbox-anim-".concat(n)}},{key:"_syncIndeterminate",value:function(e){var t=this._inputElement;t&&(t.nativeElement.indeterminate=e)}}]),n}(t$);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(Cc),Os(rg),Os(Xl),Pi("tabindex"),Os(Yy,8),Os(KK,8))},e.\u0275cmp=Ot({type:e,selectors:[["mat-checkbox"]],viewQuery:function(e,t){var n;(1&e&&(yl(qK,5),yl(wb,5)),2&e)&&(ml(n=_l())&&(t._inputElement=n.first),ml(n=_l())&&(t.ripple=n.first))},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(e,t){2&e&&(Pu("id",t.id),ks("tabindex",null),cu("mat-checkbox-indeterminate",t.indeterminate)("mat-checkbox-checked",t.checked)("mat-checkbox-disabled",t.disabled)("mat-checkbox-label-before","before"==t.labelPosition)("_mat-animation-noopable","NoopAnimations"===t._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[Xu([JK]),cs],ngContentSelectors:YK,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(e,t){if(1&e&&(Xs(),Ps(0,"label",0,1),Ps(2,"span",2),Ps(3,"input",3,4),Vs("change",function(e){return t._onInteractionEvent(e)})("click",function(e){return t._onInputClick(e)}),Ms(),Ps(5,"span",5),Is(6,"span",6),Ms(),Is(7,"span",7),Ps(8,"span",8),Xn(),Ps(9,"svg",9),Is(10,"path",10),Ms(),vn.lFrame.currentNamespace=null,Is(11,"span",11),Ms(),Ms(),Ps(12,"span",12,13),Vs("cdkObserveContent",function(){return t._onLabelTextChange()}),Ps(14,"span",14),Cu(15,"\xa0"),Ms(),Ys(16),Ms(),Ms()),2&e){var n=Es(1),i=Es(13);ks("for",t.inputId),Yo(2),cu("mat-checkbox-inner-container-no-side-margin",!i.textContent||!i.textContent.trim()),Yo(1),Ts("id",t.inputId)("required",t.required)("checked",t.checked)("disabled",t.disabled)("tabIndex",t.tabIndex),ks("value",t.value)("name",t.name)("aria-label",t.ariaLabel||null)("aria-labelledby",t.ariaLabelledby)("aria-checked",t._getAriaChecked())("aria-describedby",t.ariaDescribedby),Yo(2),Ts("matRippleTrigger",n)("matRippleDisabled",t._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",$c(19,XK,"NoopAnimations"===t._animationMode?0:150))}},directives:[wb,Av],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-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 mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),e}(),i$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),r$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[kb,rb,Pv,i$],rb,i$]}),e}(),o$=["bodyCanvas"],a$=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-body-ui",this.rotationChange=new ol,this.nodeDrag=new ol,this.nodeClick=new ol,this.nodeHoverStart=new ol,this.nodeHoverStop=new ol,this.initialized=new ol,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}return b(e,[{key:"scene",get:function(){return this._scene},set:function(e){var t;this._scene=e,null===(t=this.bodyUI)||void 0===t||t.setScene(e)}},{key:"rotation",get:function(){return this._rotation},set:function(e){var t;this._rotation=e,null===(t=this.bodyUI)||void 0===t||t.setRotation(e)}},{key:"rotationX",get:function(){return this._rotationX},set:function(e){var t;this._rotationX=e,null===(t=this.bodyUI)||void 0===t||t.setRotationX(e)}},{key:"zoom",get:function(){return this._zoom},set:function(e){var t;this._zoom=e,null===(t=this.bodyUI)||void 0===t||t.setZoom(e)}},{key:"target",get:function(){return this._target},set:function(e){var t;this._target=e,null===(t=this.bodyUI)||void 0===t||t.setTarget(e)}},{key:"bounds",get:function(){return this._bounds},set:function(e){this._bounds=e,this.zoomToBounds(e)}},{key:"camera",get:function(){return this._camera},set:function(e){this._camera=e}},{key:"interactive",get:function(){return this._interactive},set:function(e){this._interactive=e,this.bodyUI&&this.recreateBodyUI()}},{key:"ngAfterViewInit",value:function(){this.setupBodyUI()}},{key:"zoomToBounds",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{x:48,y:48};if(this.bodyCanvas){var n=this.bodyCanvas.nativeElement,i=n.width,r=n.height,o=window.devicePixelRatio,a=Math.min(Math.log2((i-t.x)/o/e.x),Math.log2((r-t.y)/o/e.y));this.zoom=a}}},{key:"setupBodyUI",value:function(){var e;return Dw(this,void 0,void 0,regeneratorRuntime.mark(function t(){var n,i,r=this;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=this.bodyCanvas.nativeElement,i=new lV({id:"body-ui",canvas:n,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera}),n.addEventListener("contextmenu",function(e){return e.preventDefault()}),t.next=4,i.initialize();case 4:this.bodyUI=i,window.bodyUI=i,(null===(e=this.scene)||void 0===e?void 0:e.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(function(e){return r.rotationChange.next(e)}),this.bodyUI.nodeDrag$.subscribe(function(e){return r.nodeDrag.emit(e)}),this.bodyUI.nodeClick$.subscribe(function(e){return r.nodeClick.emit(e)}),this.bodyUI.nodeHoverStart$.subscribe(function(e){return r.nodeHoverStart.emit(e)}),this.bodyUI.nodeHoverStop$.subscribe(function(e){return r.nodeHoverStop.emit(e)})],this.initialized.emit();case 11:case"end":return t.stop()}},t,this)}))}},{key:"recreateBodyUI",value:function(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}},{key:"clearSubscriptions",value:function(){this.subscriptions.forEach(function(e){return e.unsubscribe()}),this.subscriptions=[]}},{key:"ngOnDestroy",value:function(){this.clearSubscriptions()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-body-ui"]],viewQuery:function(e,t){var n;(1&e&&yl(o$,5,Ju),2&e)&&(ml(n=_l())&&(t.bodyCanvas=n.first))},hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(e,t){1&e&&Is(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),e}(),s$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd]]}),e}();new Ri("Maximum number of autocomplete options displayed",{providedIn:"root",factory:function(){return 10}});var u$=["carouselContainer"],c$=["itemlist"],l$=["itemcontainer"];function h$(e,t){if(1&e){var n=Ls();Ps(0,"mat-icon",9),Vs("touchstart",function(){return bn(n),Ws().scroll("left")})("touchend",function(){return bn(n),Ws().stopScroll()})("click",function(){return bn(n),Ws().shift("left")})("mousedown",function(){return bn(n),Ws().scroll("left")})("mouseup",function(){return bn(n),Ws().stopScroll()}),Cu(1,"chevron_left"),Ms()}2&e&&cu("disabled",Ws().onLeft)}function d$(e,t){if(1&e&&(Ps(0,"div",15),Cu(1),Ms()),2&e){var n=Ws().$implicit,i=Ws();Yo(1),Eu(i.occurenceData[n.id]||0)}}function f$(e,t){if(1&e){var n=Ls();Ps(0,"div",10),Vs("click",function(){var e=bn(n).$implicit;return Ws().selectOrgan(e)}),Is(1,"mat-icon",11),Ps(2,"div",12),Ps(3,"div",13),Cu(4),Ms(),Cs(5,d$,2,1,"div",14),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws();cu("disabled",i.disabled)("selected",r.isSelected(i)),Yo(1),Ks("svgIcon",i.src),Yo(3),Eu(i.name),Yo(1),Ts("ngIf",void 0!==i.numResults)}}function p$(e,t){if(1&e){var n=Ls();Ps(0,"mat-icon",16),Vs("touchstart",function(){return bn(n),Ws().scroll("right")})("touchend",function(){return bn(n),Ws().stopScroll()})("click",function(){return bn(n),Ws().shift("right")})("mousedown",function(){return bn(n),Ws().scroll("right")})("mouseup",function(){return bn(n),Ws().stopScroll()}),Cu(1,"chevron_right"),Ms()}2&e&&cu("disabled",Ws().onRight)}var v$=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort(function(e,t){return e.name.localeCompare(t.name)}),g$=v$.filter(function(e){return!0!==e.disabled}),m$=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-organ-selector",this.multiselect=!1,this.displayErrors=!1,this.organList=g$,this.selectedOrgans=[],this.expanded=!1,this.organsChanged=new ol,this.onLeft=!0,this.onRight=!1,this.step=72}return b(e,[{key:"occurenceData",get:function(){return this._occurenceData},set:function(e){this._occurenceData=e}},{key:"ngAfterViewInit",value:function(){var e=this,t=this.carouselContainer;this.sensor=new pG.ResizeSensor(t.nativeElement,function(){e.set()})}},{key:"ngOnChanges",value:function(e){"organList"in e&&this.set()}},{key:"ngOnDestroy",value:function(){this.sensor.detach()}},{key:"error",get:function(){return!(!this.displayErrors||0===this.selectedOrgans.length)}},{key:"shift",value:function(e){var t=this.itemList,n=parseInt(t.nativeElement.style.left,10)||0;this.onLeft&&"left"===e||this.onRight&&"right"===e||(n="right"===e?n-this.step:n+this.step,t.nativeElement.style.left=n+"px",this.setLeftRight(n))}},{key:"scroll",value:function(e){var t=this;this.timeoutHandler=setInterval(function(){t.shift(e)},200)}},{key:"stopScroll",value:function(){this.timeoutHandler&&(clearInterval(this.timeoutHandler),this.timeoutHandler=void 0)}},{key:"selectOrgan",value:function(e){this.selectedOrgans=this.multiselect?this.selectedOrgans.includes(e)?this.selectedOrgans.filter(function(t){return e!==t}):this.selectedOrgans.concat([e]):[e],this.organsChanged.emit(this.selectedOrgans)}},{key:"isSelected",value:function(e){return!!this.selectedOrgans.includes(e)}},{key:"set",value:function(){var e=this.itemList,t=this.itemContainer,n=this.carouselContainer,i=parseInt(e.nativeElement.style.left,10)||0;if(e.nativeElement.offsetWidth>=this.organList.length*this.step)e.nativeElement.style.left="0px",this.onLeft=!0,this.onRight=!0;else{this.setLeftRight(i);var r=this.step*Math.floor(n.nativeElement.offsetWidth/this.step)-64;t.nativeElement.style.width="".concat(r,"px")}}},{key:"setWidth",value:function(){var e=this.itemContainer,t=this.carouselContainer,n=this.step*Math.floor(t.nativeElement.offsetWidth/this.step)-64;e.nativeElement.style.width="".concat(n,"px")}},{key:"setLeftRight",value:function(e){var t=this.itemContainer;this.onLeft=0===e,this.onRight=e<=t.nativeElement.offsetWidth-this.organList.length*this.step}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-organ-selector"]],viewQuery:function(e,t){var n;(1&e&&(yl(u$,7),yl(c$,7),yl(l$,7)),2&e)&&(ml(n=_l())&&(t.carouselContainer=n.first),ml(n=_l())&&(t.itemList=n.first),ml(n=_l())&&(t.itemContainer=n.first))},hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{multiselect:"multiselect",displayErrors:"displayErrors",organList:"organList",selectedOrgans:"selectedOrgans",expanded:"expanded",occurenceData:"occurenceData"},outputs:{organsChanged:"organsChanged"},features:[qt],decls:9,vars:8,consts:[["matTooltip","Select the organ your tissue block is from.",1,"container",3,"matTooltipDisabled"],["carouselContainer",""],["class","carousel-left-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-item-container"],["itemcontainer",""],[1,"carousel-item-list"],["itemlist",""],["class","carousel-item",3,"disabled","selected","click",4,"ngFor","ngForOf"],["class","carousel-right-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-left-icon",3,"touchstart","touchend","click","mousedown","mouseup"],[1,"carousel-item",3,"click"],[1,"carousel-icon",3,"svgIcon"],[1,"carousel-text-container"],[1,"carousel-text"],["class","num-results",4,"ngIf"],[1,"num-results"],[1,"carousel-right-icon",3,"touchstart","touchend","click","mousedown","mouseup"]],template:function(e,t){1&e&&(Ps(0,"div",0,1),Cs(2,h$,2,2,"mat-icon",2),Ps(3,"div",3,4),Ps(5,"div",5,6),Cs(7,f$,6,7,"div",7),Ms(),Ms(),Cs(8,p$,2,2,"mat-icon",8),Ms()),2&e&&(cu("expanded",t.expanded)("error",t.error),Ts("matTooltipDisabled",t.multiselect),Yo(2),Ts("ngIf",!t.expanded),Yo(5),Ts("ngForOf",t.organList),Yo(1),Ts("ngIf",!t.expanded))},directives:[Ow,Yh,qh,B_],styles:["[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{font-size:2rem;transform:scaleY(1.2);height:2rem;width:2rem;cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon.disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{overflow:hidden;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{position:relative;left:0rem;display:flex;transition:all .2s linear;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer;padding:.25rem .5rem;height:5rem;transition:.6s}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-icon[_ngcontent-%COMP%]{text-align:center;width:3.5rem;height:2rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:4rem;justify-content:center;text-align:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .carousel-text[_ngcontent-%COMP%]{display:flex;justify-content:center;font-size:.625rem;max-width:3.5rem;line-height:.8rem;min-height:1.6rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{font-size:.6875rem;line-height:1.5}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item.disabled[_ngcontent-%COMP%]{pointer-events:none}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;height:1rem}[_nghost-%COMP%] .error-message.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{width:100%!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{flex-wrap:wrap;overflow:auto;left:0rem!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{height:5rem}"]}),e}(),y$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,V_,Pw]]}),e}(),b$=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-opacity-slider",this.opacity=20,this.visible=!0,this.opacityChange=new ol,this.visibilityToggle=new ol,this.opacityReset=new ol}return b(e,[{key:"ngOnInit",value:function(){this.prevOpacity=this.visible?0:20}},{key:"reset",value:function(){this.prevOpacity=20}},{key:"changeOpacity",value:function(e){this.opacity=parseInt(e,10),this.opacityChange.emit(this.opacity)}},{key:"toggleVisibility",value:function(){var e=this.opacity;this.opacity=this.prevOpacity,this.prevOpacity=e,this.visibilityToggle.emit(),this.opacityChange.emit(this.opacity)}},{key:"resetOpacity",value:function(){this.prevOpacity=0,this.opacityReset.emit()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-opacity-slider"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{opacity:"opacity",visible:"visible"},outputs:{opacityChange:"opacityChange",visibilityToggle:"visibilityToggle",opacityReset:"opacityReset"},decls:10,vars:17,consts:[[1,"slider-box"],[1,"slider-and-label"],[1,"slider",3,"step","min","max","value","input"],[1,"opacity-value"],[1,"icons"],["matRipple","","svgIcon","app:visibility_off",1,"visibility","icon","invisible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","","svgIcon","app:visibility_on",1,"visibility","icon","visible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"]],template:function(e,t){1&e&&(Ps(0,"div",0),Ps(1,"div",1),Ps(2,"mat-slider",2),Vs("input",function(e){return t.changeOpacity(e.value)}),Ms(),Ps(3,"span",3),Cu(4),Ms(),Ms(),Ps(5,"div",4),Ps(6,"mat-icon",5),Vs("click",function(){return t.toggleVisibility()}),Ms(),Ps(7,"mat-icon",6),Vs("click",function(){return t.toggleVisibility()}),Ms(),Ps(8,"mat-icon",7),Vs("click",function(){return t.resetOpacity()}),Cu(9,"refresh"),Ms(),Ms(),Ms()),2&e&&(Yo(2),cu("disabled",!t.visible),Ts("step",1)("min",0)("max",100)("value",t.opacity),Yo(2),Ou("",t.opacity,"%"),Yo(2),cu("hidden",t.visible),Ts("matRippleCentered",!0)("matRippleUnbounded",!0),Yo(1),cu("hidden",!t.visible),Ts("matRippleCentered",!0)("matRippleUnbounded",!0),Yo(1),Ts("matRippleCentered",!0)("matRippleUnbounded",!0))},directives:[_G,B_,wb],styles:["[_nghost-%COMP%]{height:2.25rem;display:flex;align-items:center;justify-content:space-between;border-radius:.1875rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%]{width:60%;display:flex;align-items:center;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .mat-slider-wrapper{top:1.125rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:not-allowed}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .opacity-value[_ngcontent-%COMP%]{width:1.5rem;margin-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{display:flex;cursor:pointer!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{margin-right:1rem;padding:.25rem;cursor:pointer;transition:.6s;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility[_ngcontent-%COMP%]{transition:.6s;cursor:pointer;padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),e}(),_$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,V_,SG,kb]]}),e}();function w$(e,t){if(1&e&&(Ps(0,"div",16),Is(1,"youtube-player",17),Ms()),2&e){var n=Ws(3);Yo(1),Ks("videoId",n.videoID)}}function k$(e,t){if(1&e&&(Ps(0,"mat-expansion-panel",11),Ps(1,"mat-expansion-panel-header"),Ps(2,"h2",12),Cu(3),Ms(),Ms(),Ps(4,"div",13),Is(5,"markdown",14),Cs(6,w$,2,1,"div",15),Ms(),Ms()),2&e){var n=Ws(),i=n.index,r=n.$implicit;Ts("expanded",0===i),Yo(3),Eu(r.title),Yo(2),cu("first",0===i),Ts("data",r.content),Yo(1),Ts("ngIf",0===i)}}function x$(e,t){if(1&e&&(Ps(0,"div",9),Cs(1,k$,7,6,"mat-expansion-panel",10),Ms()),2&e){var n=t.$implicit;Yo(1),Ts("ngIf",n)}}var S$=function(){var e=function(){function e(t,n){m(this,e),this.dialogRef=t,this.data=n,this.documentationContents=n.content||[],this.infoTitle=n.title||"",this.videoID=n.videoID}return b(e,[{key:"ngOnInit",value:function(){var e=document.createElement("script");e.src="https://www.youtube.com/iframe_api",document.body.appendChild(e)}},{key:"close",value:function(){var e,t=this;null===(e=document.getElementsByClassName("modal-animated")[0])||void 0===e||e.classList.add("modal-animate-fade-out"),setTimeout(function(){t.dialogRef.close()},250)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(MG),Os(RG))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(e,t){1&e&&(Ps(0,"div",0),Ps(1,"div",1),Ps(2,"div",2),Ps(3,"div",3),Ps(4,"h2",4),Cu(5),Ms(),Ps(6,"div",5),Ps(7,"mat-icon",6),Vs("click",function(){return t.close()}),Cu(8,"clear"),Ms(),Ms(),Ms(),Ps(9,"mat-dialog-content",7),Cs(10,x$,2,1,"div",8),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(5),Eu(t.infoTitle),Yo(5),Ts("ngForOf",t.documentationContents))},directives:[VG,B_,zG,qh,Yh,aW,uW,gW,OW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),e}(),C$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,UG,V_,cW,MW,mW.forRoot({})]]}),e}(),E$=function(){var e=function(){function e(t){m(this,e),this.http=t,this.panelContent=new vv({content:[],infoTitle:"",videoID:""})}return b(e,[{key:"updateData",value:function(e,t,n){var i=this;this.http.get(e,{responseType:"text"}).subscribe(function(e){var r={content:i.parseMarkdown(e),infoTitle:n,videoID:t};i.panelContent.next(r)})}},{key:"parseMarkdown",value:function(e){var t,n=[],i=_(e.split("# "));try{for(i.s();!(t=i.n()).done;){var r=t.value;if(r.length){var o=r.includes("\n\n")?"\n\n":"\r\n\r\n",a=r.split(o);n.push({title:a[0],content:a.splice(1).join(o)})}}}catch(s){i.e(s)}finally{i.f()}return n}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(h_))},e.\u0275prov=$e({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),O$=function(){var e=function(){function e(t,n){var i=this;m(this,e),this.dialog=t,this.infoButtonService=n,this.infoTitle="",this.subscriptions=new q,this.subscriptions.add(n.panelContent.subscribe(function(e){e.content.length&&i.launchInfoDialog(e)}))}return b(e,[{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"launchInfoDialog",value:function(e){0==this.dialog.openDialogs.length&&this.dialog.open(S$,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:e.infoTitle,content:e.content,videoID:e.videoID}})}},{key:"onDialogButtonClick",value:function(){this.infoButtonService.updateData(this.documentationUrl,this.videoID,this.infoTitle)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(FG),Os(E$))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-info-button"]],inputs:{infoTitle:"infoTitle",videoID:"videoID",documentationUrl:"documentationUrl"},decls:3,vars:0,consts:[[1,"info-button-wrapper"],["aria-hidden","false","aria-label","Page information",1,"ccf-info-button",3,"click"]],template:function(e,t){1&e&&(Ps(0,"div",0),Ps(1,"mat-icon",1),Vs("click",function(){return t.onDialogButtonClick()}),Cu(2," info "),Ms(),Ms())},directives:[B_],styles:[".info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.65rem;transition:.6s}.info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.5rem;vertical-align:sub}"]}),e}(),T$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,C$,V_,S_]]}),e}(),A$=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-call-to-action",this.callToActionClicked=new ol,this.closeClicked=new ol}return b(e,[{key:"close",value:function(){this.closeClicked.emit()}},{key:"onDialogButtonClick",value:function(){this.callToActionClicked.emit()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(e,t){1&e&&(Ps(0,"div",0),Ps(1,"div",1),Ps(2,"div",2),Ps(3,"div",3),Ps(4,"p",4),Cu(5),Ms(),Ps(6,"mat-icon",5),Vs("click",function(){return t.close()}),Cu(7,"clear"),Ms(),Ms(),Is(8,"img",6),Ps(9,"mat-dialog-content",7),Ps(10,"div",8),Cu(11),Ms(),Ps(12,"a",9),Vs("click",function(){return t.onDialogButtonClick()}),Ms(),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(5),Eu(t.infoTitle),Yo(3),Ts("src",t.imageUrl,Xr),Yo(3),Ou(" ",t.message,""),Yo(1),Ts("text",t.callToAction))},directives:[VG,B_,IW,zG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),e}(),P$=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments)).optionCache=new Map,e}return b(n,[{key:"config$",get:function(){return this.state$.pipe(fq(),zf(1))}},{key:"setConfig",value:function(e){this.setState(e)}},{key:"patchConfig",value:function(e){this.patchState(e)}},{key:"getProperty",value:function(e){return this.config$.pipe(cG.apply(void 0,v(e)),lf(),zf(1))}},{key:"getOption",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:ff,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:lG;return function(i){return i.lift(new hG(e,t,n.leading,n.trailing))}}(1e3),ce(function(t){var n=e.clientWidth,i=e.clientHeight;return[t.clientX,t.clientY,n,i].join("_")})).subscribe(function(e){return t.event("webpage","mousemove",e)})}(t.body,n)};return e.\u0275fac=function(t){return new(t||e)(Zi(bh),Zi(yq))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}();function I$(e,t){if(1&e){var n=Ls();Ps(0,"button",1),Vs("click",function(){return bn(n),Ws().submit(!0)}),Cu(1),Ms()}if(2&e){var i=Ws();Yo(1),Ou(" ","not-set"===i.allowTelemetry?"I understand":"Opt in","\n")}}function R$(e,t){if(1&e){var n=Ls();Ps(0,"button",1),Vs("click",function(){return bn(n),Ws().submit(!1)}),Cu(1,"Opt out"),Ms()}}var D$=function(){var e=function(){function e(t,n,i){m(this,e),this.consentService=n,this.data=i,this.clsName="ccf-tracking-popup",this.container=t.nativeElement}return b(e,[{key:"allowTelemetry",get:function(){return this.consentService.consent}},{key:"dismiss",value:function(){this.data.preClose()}},{key:"submit",value:function(e){this.consentService.setConsent(e?"given":"rescinded"),this.dismiss()}},{key:"showButton",value:function(e){var t=this.allowTelemetry;return"not-set"===t||("opt-in"===e?"rescinded"===t:"given"===t)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(wq),Os(lw))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-tracking-popup"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},decls:4,vars:2,consts:[["mat-button","","color","basic",3,"click",4,"ngIf"],["mat-button","","color","basic",3,"click"]],template:function(e,t){1&e&&(Ps(0,"p"),Cu(1,"We log usage to improve this service."),Ms(),Cs(2,I$,2,1,"button",0),Cs(3,R$,2,0,"button",0)),2&e&&(Yo(2),Ts("ngIf",t.showButton("opt-in")),Yo(1),Ts("ngIf",t.showButton("opt-out")))},directives:[Yh,q_],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-width:400px;color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:9999}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:24px}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin:1rem;min-width:6rem;background-color:#007cbe;display:flex;justify-content:center}"],changeDetection:0}),e}(),N$=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_]]}),e}(),L$=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"forwardCall",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;it?e[0]:void 0,max:e[1]0}),Of(function(e){return function(e,t){return new te(function(n){var i,r;try{i=e()}catch(a){return void n.error(a)}try{r=t(i)}catch(a){return void n.error(a)}var o=(r?ye(r):Mf).subscribe(n);return function(){o.unsubscribe(),i&&i.unsubscribe()}})}(function(){return i.createDatabase(e)},function(t){return i.connectDatabase(t,e)})}),ce(function(e){return e.database}),zf(1)),i}return b(n,[{key:"connectDatabase",value:function(e,t){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return i=!ah(),n.next=3,e.database.connect(t,i);case 3:return n.abrupt("return",e);case 4:case"end":return n.stop()}},n)}))}}]),n}(L$);return e.\u0275fac=function(t){return new(t||e)(Zi(P$))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),q$=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"createDatabase",value:function(e){return{database:new GY(e),unsubscribe:function(){}}}}]),n}(W$);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275prov=$e({token:t,factory:t.\u0275fac,providedIn:"root"}),t}(),X$=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"createDatabase",value:function(e){var t=this.createWorker(e),n=uK(t);return{database:n,unsubscribe:function(){n[nK](),t.terminate()}}}}]),n}(W$);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275prov=$e({token:t,factory:t.\u0275fac}),t}(),Y$=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this)).impl$=e.config$.pipe(function(e){return e},ce(function(e){return r.selectToken(e)}),lf(),ce(function(e){return i.get(e)}),zf(1)),r}return n}(L$);return e.\u0275fac=function(t){return new(t||e)(Zi(P$),Zi(ss))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),K$=function(){var e=function e(){m(this,e)};return e.type="[CallToAction] Learn More",e}(),$$=function(){var e=function e(){m(this,e)};return e.type="[CallToAction] Open Dialog",e}(),Q$=function(){var e=function e(){m(this,e)};return e.type="[CallToAction] Close Dialog",e}(),Z$=function(){function e(){m(this,e)}return b(e,[{key:"length",get:function(){var t,n;return null!==(n=null===(t=e.storage)||void 0===t?void 0:t.length)&&void 0!==n?n:0}},{key:"key",value:function(t){var n,i;return null!==(i=null===(n=e.storage)||void 0===n?void 0:n.key(t))&&void 0!==i?i:null}},{key:"getItem",value:function(t,n){var i,r,o;return null!==(o=null!==(r=null===(i=e.storage)||void 0===i?void 0:i.getItem(t))&&void 0!==r?r:n)&&void 0!==o?o:null}},{key:"setItem",value:function(t,n){var i;try{return null===(i=e.storage)||void 0===i||i.setItem(t,n),!0}catch(r){return!1}}},{key:"removeItem",value:function(t){var n;null===(n=e.storage)||void 0===n||n.removeItem(t)}},{key:"clear",value:function(){var t;null===(t=e.storage)||void 0===t||t.clear()}}]),e}();Z$.storage=function(){var e;try{e=window.localStorage;var t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(t){return t instanceof DOMException&&(22===t.code||1014===t.code||"QuotaExceededError"===t.name||"NS_ERROR_DOM_QUOTA_REACHED"===t.name)&&e&&0!==e.length?e:void 0}}(),Z$.\u0275fac=function(e){return new(e||Z$)},Z$.\u0275prov=$e({token:Z$,factory:Z$.\u0275fac,providedIn:"root"});var J$="callToActionPopupShown",eQ=H$=function(){function e(t,n,i,r,o){m(this,e),this.dialog=t,this.ga=n,this.storage=i,this.infoService=r,this.http=o}return b(e,[{key:"ngxsOnInit",value:function(e){var t=e.getState(),n=t.expirationDate,i=t.popupShown,r=this.storage.getItem(J$,"".concat(i)),o=H$.ctaDatePassed(n);"true"!==r&&!o&&e.dispatch(new $$)}},{key:"getDialogData",value:function(){var e=this;return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(ce(function(t){return e.infoService.parseMarkdown(t)}))}},{key:"launchLearnMore",value:function(e){this.dialog.open(S$,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}},{key:"learnMore",value:function(e){var t=this;return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(mv(function(e){return t.launchLearnMore(e)}))}},{key:"open",value:function(e){this.dialog.open(nQ,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(J$,"true"),e.patchState({popupShown:!0})}},{key:"close",value:function(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}}],[{key:"ctaDatePassed",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now;return+t()>+new Date(e)}}]),e}();eQ.\u0275fac=function(e){return new(e||eQ)(Zi(FG),Zi(yq),Zi(Z$),Zi(E$),Zi(h_))},eQ.\u0275prov=$e({token:eQ,factory:eQ.\u0275fac}),Mw([jz(K$)],eQ.prototype,"learnMore",null),Mw([jz($$)],eQ.prototype,"open",null),Mw([jz(Q$)],eQ.prototype,"close",null),eQ=H$=Mw([Fz({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],eQ);var tQ=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"title",value:function(e){return e.title}},{key:"message",value:function(e){return e.message}},{key:"callToAction",value:function(e){return e.callToAction}},{key:"imageUrl",value:function(e){return e.imageUrl}},{key:"expirationDate",value:function(e){return e.expirationDate}},{key:"popupShown",value:function(e){return e.popupShown}}]),e}();return Mw([Vz([eQ])],e,"title",null),Mw([Vz([eQ])],e,"message",null),Mw([Vz([eQ])],e,"callToAction",null),Mw([Vz([eQ])],e,"imageUrl",null),Mw([Vz([eQ])],e,"expirationDate",null),Mw([Vz([eQ])],e,"popupShown",null),e}(),nQ=function(){var e=function e(){m(this,e),this.close=function(){return new Q$},this.learnMore=function(){return new K$}};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(e,t){1&e&&(Ps(0,"ccf-call-to-action",0),Vs("callToActionClicked",function(){return t.learnMore()})("closeClicked",function(){return t.close()}),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Jc(4,"async"),Ms()),2&e&&Ts("infoTitle",el(1,4,t.title$))("message",el(2,6,t.message$))("callToAction",el(3,8,t.callToAction$))("imageUrl",el(4,10,t.imageUrl$))},directives:[A$],pipes:[sd],styles:[""],changeDetection:0}),Mw([Bz(tQ.title)],e.prototype,"title$",void 0),Mw([Bz(tQ.message)],e.prototype,"message$",void 0),Mw([Bz(tQ.callToAction)],e.prototype,"callToAction$",void 0),Mw([Bz(tQ.imageUrl)],e.prototype,"imageUrl$",void 0),Mw([PK()],e.prototype,"close",void 0),Mw([PK()],e.prototype,"learnMore",void 0),e}();function iQ(e,t){if(1&e&&(Ps(0,"div",3),Cu(1),Ms()),2&e){var n=Ws();Yo(1),Ou(" ",n.label,"\n")}}function rQ(e,t){if(1&e){var n=Ls();Ps(0,"mat-list-item",4),Ps(1,"div",5),Ps(2,"mat-checkbox",6),Vs("change",function(e){var t=bn(n).index;return Ws().updateItemSelection(t,e.checked)}),Cu(3),Ms(),Is(4,"div",7),Ps(5,"button",8),Vs("click",function(){var e=bn(n).index;return Ws().removeItem(e)}),Ps(6,"mat-icon"),Cu(7,"delete_outlined"),Ms(),Ms(),Ms(),Ms()}if(2&e){var i=t.$implicit;Yo(2),Ts("checked",i.selected),Yo(1),Ou(" ",i.description," ")}}var oQ,aQ=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-spatial-search-list",this.label="",this.items=[],this.selectionChanged=new ol,this.itemRemoved=new ol}return b(e,[{key:"itemId",value:function(e,t){return t.description}},{key:"updateItemSelection",value:function(e,t){var n=this.items=v(this.items);n[e]=Object.assign(Object.assign({},n[e]),{selected:t});var i=n.filter(function(e){return e.selected});this.selectionChanged.emit(i)}},{key:"removeItem",value:function(e){var n=t((this.items=v(this.items)).splice(e,1),1)[0];this.itemRemoved.emit(n)}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-list"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{label:"label",items:"items"},outputs:{selectionChanged:"selectionChanged",itemRemoved:"itemRemoved"},decls:3,vars:3,consts:[["class","label",4,"ngIf"],[1,"list"],["class","item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"label"],[1,"item"],[1,"item-content"],["labelPosition","after",1,"description",3,"checked","change"],[1,"filler"],["mat-icon-button","",1,"delete",3,"click"]],template:function(e,t){1&e&&(Cs(0,iQ,2,1,"div",0),Ps(1,"mat-list",1),Cs(2,rQ,8,2,"mat-list-item",2),Ms()),2&e&&(Ts("ngIf",t.label),Yo(2),Ts("ngForOf",t.items)("ngForTrackBy",t.itemId))},directives:[Yh,zK,qh,GK,n$,q_,B_],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}[_nghost-%COMP%] .item[_ngcontent-%COMP%]{height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .delete[_ngcontent-%COMP%]{width:2rem;height:2rem;line-height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}[_nghost-%COMP%] .item[_ngcontent-%COMP%] > *{padding:0!important}"],changeDetection:0}),e}(),sQ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,r$,V_,WK]]}),e}(),uQ=function(){var e=function e(){m(this,e),this.clsName="ccf-xyz-position",this.x=0,this.y=0,this.z=0,this.format="1.0-2"};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-xyz-position"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{x:"x",y:"y",z:"z"},decls:9,vars:12,consts:[[1,"line"]],template:function(e,t){1&e&&(Ps(0,"span",0),Cu(1),Jc(2,"number"),Ms(),Ps(3,"span",0),Cu(4),Jc(5,"number"),Ms(),Ps(6,"span",0),Cu(7),Jc(8,"number"),Ms()),2&e&&(Yo(1),Ou("X: ",tl(2,3,t.x,t.format),""),Yo(3),Ou("Y: ",tl(5,6,t.y,t.format),""),Yo(3),Ou("Z: ",tl(8,9,t.z,t.format),""))},pipes:[ud],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .line[_ngcontent-%COMP%]{font-size:1rem;font-weight:400}"],changeDetection:0}),e}(),cQ=function(){var t,n=function(t){a(i,t);var n=s(i);function i(){var e;return m(this,i),(e=n.apply(this,arguments)).attached=!1,e}return b(i,[{key:"setRootElement",value:function(e){this.attached&&(this.rootElement.nativeElement.removeChild(this._containerElement),this.attached=!1),this.rootElement=e,this.rootElement.nativeElement.style.display="block",this.rootElement.nativeElement.style.position="contents",this.rootElement.nativeElement.style.height="100%",this.appendToRoot()}},{key:"_createContainer",value:function(){e(p(i.prototype),"_createContainer",this).call(this),this.appendToRoot()}},{key:"appendToRoot",value:function(){!this._containerElement||!this.rootElement||(this.rootElement.nativeElement.appendChild(this._containerElement),this.attached=!0)}}]),i}(Hp);return n.\u0275fac=function(e){return(t||(t=Ti(n)))(e||n)},n.\u0275prov=$e({token:n,factory:n.\u0275fac,providedIn:"root"}),n}(),lQ=new Ri("Default theme class"),hQ=function(){var e=function(){function e(t){m(this,e),this.defaultTheme=this.theme=null!=t?t:""}return b(e,[{key:"getTheme",value:function(){return this.theme}},{key:"setTheme",value:function(e){e!==this.theme&&(this.applyThemeClass(this.theme,"remove"),this.applyThemeClass(e),this.theme=e)}},{key:"resetTheme",value:function(){this.setTheme(this.defaultTheme)}},{key:"initialize",value:function(e,t){this.element=e,this.injector=t,this.applyThemeClass(this.getTheme())}},{key:"applyThemeClass",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"add",i=this.element,r=this.injector;if(e&&i&&r){var o=r.get(nc,null);if(o){var a=i.nativeElement,s=null===(t=r.get(Hp,null))||void 0===t?void 0:t.getContainerElement(),u="add"===n?"addClass":"removeClass";o[u](a,e),s&&o[u](s,e)}}}}],[{key:"initialize",value:function(t){var n=t.injector,i=t.location;n.get(e).initialize(i,n)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(lQ,8))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),dQ={initialConfig:{},parse:{},rename:{}},fQ=function(){function e(t,n){m(this,e),this.configState=t,this.storedChanges={},this.options=Object.assign(Object.assign({},dQ),n)}return b(e,[{key:"addChanges",value:function(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}},{key:"applyChanges",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};void 0===e&&(e=this.storedChanges,this.storedChanges={});for(var i=this.configState,r=this.options.initialConfig,o=i.snapshot,a=Object.assign(Object.assign(Object.assign({},r),o),n),s=0,u=Object.entries(e);s-1&&(this.count=n-1),t.subscribe(this._unsubscribeAndRecycle())}}}]),i}(K),xQ=function(){var e=function e(t){m(this,e),this.filter=t};return e.type="[DataState] Update filter",e}(),SQ={sex:"Both",ageRange:[1,110],bmiRange:[13,83],tmc:[],technologies:[],ontologyTerms:["http://purl.obolibrary.org/obo/UBERON_0013702"],cellTypeTerms:["http://purl.obolibrary.org/obo/CL_0000000"],spatialSearches:[]},CQ=(function(e){e.Running="running",e.Completed="completed"}(CQ||(CQ={})),CQ);function EQ(e){return function(){return e.next(CQ.Completed)}}function OQ(e,t){return function(n){return n.pipe(Of(e),mv(t),Oq(1),Te())}}var TQ=function(e){a(n,e);var t=s(n);function n(e){var i;return m(this,n),(i=t.call(this)).source=e,i.databaseReady$=i.state$.pipe(cG("status"),yQ(),bf(function(e){return"Ready"===e})),i._tissueBlockDataQueryStatus$=new Bf(1),i._aggregateDataQueryStatus$=new Bf(1),i._ontologyTermOccurencesDataQueryStatus$=new Bf(1),i._cellTypeTermOccurencesDataQueryStatus$=new Bf(1),i._sceneDataQueryStatus$=new Bf(1),i._technologyFilterQueryStatus$=new Bf(1),i._providerFilterQueryStatus$=new Bf(1),i.ontologyTermsFullData$=new Bf(1),i.cellTypeTermsFullData$=new Bf(1),i.filter$=i.state$.pipe(cG("filter")),i.tissueBlockData$=i.filter$.pipe(OQ(i.tissueBlockData,EQ(i._tissueBlockDataQueryStatus$))),i.aggregateData$=i.filter$.pipe(OQ(i.aggregateData,EQ(i._aggregateDataQueryStatus$))),i.ontologyTermOccurencesData$=i.filter$.pipe(OQ(i.ontologyTermOccurencesData,EQ(i._ontologyTermOccurencesDataQueryStatus$))),i.cellTypeTermOccurencesData$=i.filter$.pipe(OQ(i.cellTypeTermOccurencesData,EQ(i._cellTypeTermOccurencesDataQueryStatus$))),i.sceneData$=i.filter$.pipe(OQ(i.sceneData,EQ(i._sceneDataQueryStatus$))),i.technologyFilterData$=i.filter$.pipe(OQ(i.technologyFilterData,EQ(i._technologyFilterQueryStatus$))),i.providerFilterData$=i.filter$.pipe(OQ(i.providerFilterData,EQ(i._providerFilterQueryStatus$))),i.tissueBlockDataQueryStatus$=i._tissueBlockDataQueryStatus$.pipe(yQ()),i.aggregateDataQueryStatus$=i._aggregateDataQueryStatus$.pipe(yQ()),i.ontologyTermOccurencesDataQueryStatus$=i._ontologyTermOccurencesDataQueryStatus$.pipe(yQ()),i.cellTypeTermOccurencesDataQueryStatus$=i._cellTypeTermOccurencesDataQueryStatus$.pipe(yQ()),i.sceneDataQueryStatus$=i._sceneDataQueryStatus$.pipe(yQ()),i.technologyFilterQueryStatus$=i._technologyFilterQueryStatus$.pipe(yQ()),i.providerFilterQueryStatus$=i._providerFilterQueryStatus$.pipe(yQ()),i.queryStatus$=J_([i.tissueBlockDataQueryStatus$,i.aggregateDataQueryStatus$,i.ontologyTermOccurencesDataQueryStatus$,i.cellTypeTermOccurencesDataQueryStatus$,i.sceneDataQueryStatus$,i.technologyFilterQueryStatus$,i.providerFilterQueryStatus$]).pipe(ce(function(e){return function(e){return e.every(function(e){return e===CQ.Completed})}(e)?CQ.Completed:CQ.Running}),yQ()),i._tissueBlockDataQueryStatus$.next(CQ.Completed),i._aggregateDataQueryStatus$.next(CQ.Completed),i._ontologyTermOccurencesDataQueryStatus$.next(CQ.Completed),i._cellTypeTermOccurencesDataQueryStatus$.next(CQ.Completed),i._sceneDataQueryStatus$.next(CQ.Completed),i._technologyFilterQueryStatus$.next(CQ.Completed),i._providerFilterQueryStatus$.next(CQ.Completed),i}return b(n,[{key:"ngxsOnInit",value:function(){var e=this,t=this.ontologyTermsFullData$,n=this.ontologyTermOccurencesData$,i=this.cellTypeTermsFullData$,r=this.cellTypeTermOccurencesData$,o=this.source;this.snapshot.filter===SQ?(n.pipe(_p(1)).subscribe(t),r.pipe(_p(1)).subscribe(i)):(o.getOntologyTermOccurences().pipe(_p(1)).subscribe(t),o.getCellTypeTermOccurences().pipe(_p(1)).subscribe(i)),this.source.getOntologyTreeModel().pipe(_p(1)).subscribe(function(t){return e.updateAnatomicalStructuresTreeModel(t)}),this.source.getCellTypeTreeModel().pipe(_p(1)).subscribe(function(t){return e.updateCellTypesTreeModel(t)}),this.warmUpDatabase()}},{key:"warmUpDatabase",value:function(){var e=this;tH(function(){return e.source.getDatabaseStatus()}).pipe(mv(function(t){return e.updateStatus(t)}),NH(2e3),_p(1)).pipe(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;return function(t){return 0===e?If():t.lift(new wQ(e<0?-1:e-1,t))}}(1e3),xp(function(e){return"Loading"===e.status})).subscribe(),this.databaseReady$.pipe(_p(1),mv(function(){e.updateStatus({status:"Ready",message:"Loading CCF Exploration User Interface (EUI)"})})).subscribe()}},{key:"updateAnatomicalStructuresTreeModel",value:function(e){this.ctx.patchState({anatomicalStructuresTreeModel:e})}},{key:"updateCellTypesTreeModel",value:function(e){this.ctx.patchState({cellTypesTreeModel:e})}},{key:"updateStatus",value:function(e){this.ctx.patchState({status:e.status,statusMessage:e.message})}},{key:"updateFilter",value:function(e){this.ctx.patchState({filter:Object.assign(Object.assign({},this.getState().filter),e)})}},{key:"updateFilterHandler",value:function(e,t){var n=t.filter;this.updateFilter(n)}},{key:"tissueBlockData",value:function(e){var t=this;return this._tissueBlockDataQueryStatus$.next(CQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getTissueBlockResults(e)}))}},{key:"aggregateData",value:function(e){var t=this;return this._aggregateDataQueryStatus$.next(CQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getAggregateResults(e)}))}},{key:"ontologyTermOccurencesData",value:function(e){var t=this;return this._ontologyTermOccurencesDataQueryStatus$.next(CQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getOntologyTermOccurences(e)}))}},{key:"cellTypeTermOccurencesData",value:function(e){var t=this;return this._cellTypeTermOccurencesDataQueryStatus$.next(CQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getCellTypeTermOccurences(e)}))}},{key:"sceneData",value:function(e){var t=this;return this._sceneDataQueryStatus$.next(CQ.Running),this.databaseReady$.pipe(Of(function(){return t.source.getScene(e)}))}},{key:"technologyFilterData",value:function(){var e=this;return this._technologyFilterQueryStatus$.next(CQ.Running),this.databaseReady$.pipe(Of(function(){return e.source.getDatasetTechnologyNames()}))}},{key:"providerFilterData",value:function(){var e=this;return this._providerFilterQueryStatus$.next(CQ.Running),this.databaseReady$.pipe(Of(function(){return e.source.getProviderNames()}))}}]),n}(hq);TQ.\u0275fac=function(e){return new(e||TQ)(Zi(j$))},TQ.\u0275prov=$e({token:TQ,factory:TQ.\u0275fac}),Mw([sq(),Iw(0,uq("treeModel"))],TQ.prototype,"updateAnatomicalStructuresTreeModel",null),Mw([sq(),Iw(0,uq("treeModel"))],TQ.prototype,"updateCellTypesTreeModel",null),Mw([sq(),Iw(0,uq("status"))],TQ.prototype,"updateStatus",null),Mw([sq(),Iw(0,uq("filter"))],TQ.prototype,"updateFilter",null),Mw([jz(xQ)],TQ.prototype,"updateFilterHandler",null),Mw([eV.ak],TQ.prototype,"tissueBlockData",null),Mw([eV.ak],TQ.prototype,"aggregateData",null),Mw([eV.ak],TQ.prototype,"ontologyTermOccurencesData",null),Mw([eV.ak],TQ.prototype,"cellTypeTermOccurencesData",null),Mw([eV.ak],TQ.prototype,"sceneData",null),Mw([eV.ak],TQ.prototype,"technologyFilterData",null),Mw([eV.ak],TQ.prototype,"providerFilterData",null),TQ=Mw([cq(),Fz({name:"data",defaults:{filter:SQ,status:"Loading",statusMessage:"Loading database"}})],TQ);var AQ=function(){function e(){m(this,e)}return b(e,null,[{key:"filter",value:function(e){return e.filter}},{key:"anatomicalStructuresTreeModel",value:function(e){var t;return null!==(t=e.anatomicalStructuresTreeModel)&&void 0!==t?t:{root:"",nodes:{}}}},{key:"cellTypesTreeModel",value:function(e){var t;return null!==(t=e.cellTypesTreeModel)&&void 0!==t?t:{root:"",nodes:{}}}}]),e}();Mw([Vz([TQ])],AQ,"filter",null),Mw([Vz([TQ])],AQ,"anatomicalStructuresTreeModel",null),Mw([Vz([TQ])],AQ,"cellTypesTreeModel",null);var PQ=function(){var e=function e(t,n,i){m(this,e),this.sex=t,this.organName=n,this.search=i};return e.type="[Spatial Search Filter] Add",e}(),MQ=function(){var e=function e(t){m(this,e),this.id=t};return e.type="[Spatial Search Filter] Remove",e}(),IQ=function(){var e=function e(t){m(this,e),this.items=t};return e.type="[Spatial Search Filter] Set selected searches",e}(),RQ=function(){function e(){m(this,e)}return b(e,[{key:"addSearch",value:function(e,t){var n=t.sex,i=t.organName,r=t.search;e.setState(function(e){return function(t){return e&&e.length||!t?Array.isArray(t)?t.concat(e):e:t}}([this.createItem(n,i,r)]))}},{key:"removeSearch",value:function(e,t){var n=t.id;e.setState(function(e){return function(t){var n=-1;if(function(e){return"function"==typeof e}(e)?n=t.findIndex(e):function(e){return"number"==typeof e}(e)&&(n=e),function(e){return Number.isNaN(e)||-1===e}(n))return t;var i=t.slice();return i.splice(n,1),i}}(function(e){return(null==e?void 0:e.id)===n}))}},{key:"setSelectedSearches",value:function(e,t){var n=t.items,i=new Map(n.map(function(e){return[e.id,e]})),r=e.getState().map(function(e){var t;return null!==(t=i.get(e.id))&&void 0!==t?t:e.selected?Object.assign(Object.assign({},e),{selected:!1}):e});e.setState(r)}},{key:"createItem",value:function(e,t,n){return{id:this.createItemId(n),selected:!0,description:this.createItemDescription(e,t,n),sex:e,search:n}}},{key:"createItemId",value:function(e){var t=e.x,n=e.y,i=e.z,r=e.radius,o=e.target;return"".concat(o,"-").concat(r,"-").concat(t,",").concat(n,",").concat(i)}},{key:"createItemDescription",value:function(e,t,n){var i=function(e){return e.slice(0,1).toUpperCase()+e.slice(1)},r=n.x,o=n.y,a=n.z,s=n.radius;return"".concat(i(e),", ").concat(i(t),", ").concat(s.toFixed(1)," mm, X: ").concat(r.toFixed(1),", Y: ").concat(o.toFixed(1),", Z: ").concat(a.toFixed(1))}}]),e}();RQ.\u0275fac=function(e){return new(e||RQ)},RQ.\u0275prov=$e({token:RQ,factory:RQ.\u0275fac}),Mw([jz(PQ)],RQ.prototype,"addSearch",null),Mw([jz(MQ)],RQ.prototype,"removeSearch",null),Mw([jz(IQ)],RQ.prototype,"setSelectedSearches",null),RQ=Mw([Fz({name:"spatialSearchFilter",defaults:[]})],RQ);var DQ=function(){function e(){m(this,e)}return b(e,null,[{key:"items",value:function(e){return e}},{key:"searches",value:function(e){return e.map(function(e){return e.search})}},{key:"selectedSearches",value:function(e){return e.filter(function(e){return e.selected}).map(function(e){return e.search})}}]),e}();Mw([Vz([RQ])],DQ,"items",null),Mw([Vz([DQ.items])],DQ,"searches",null),Mw([Vz([DQ.items])],DQ,"selectedSearches",null);var NQ=new RegExp("[^#a-f\\d]","gi"),LQ=new RegExp("^#?[a-f\\d]{3}[a-f\\d]?$|^#?[a-f\\d]{6}([a-f\\d]{2})?$","i"),jQ=["#FF8800","#2979ff","#ffd740","#b92dff","#da326f","#7323e2","#acf32b","#82B1FF","#E040FB","#00E5FF"].map(function(e,t){var n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"!=typeof e||NQ.test(e)||!LQ.test(e))throw new TypeError("Expected a valid hex string");var n=1;8===(e=e.replace(/^#/,"")).length&&(n=Number.parseInt(e.slice(6,8),16)/255,e=e.slice(0,6)),4===e.length&&(n=Number.parseInt(e.slice(3,4).repeat(2),16)/255,e=e.slice(0,3)),3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);var i=Number.parseInt(e,16),r=i>>16,o=i>>8&255,a=255&i,s="number"==typeof t.alpha?t.alpha:n;return"array"===t.format?[r,o,a,s]:"css"===t.format?"rgb(".concat(r," ").concat(o," ").concat(a).concat(1===s?"":" / ".concat(Number((100*s).toFixed(2)),"%"),")"):{red:r,green:o,blue:a,alpha:s}}(e,{format:"array"});return n[3]=255,{color:e,rgba:n,rank:t}}),FQ=function(e){a(n,e);var t=s(n);function n(){var e;return m(this,n),(e=t.apply(this,arguments)).forcedUnassignment=new ae,e.forcedUnassignment$=e.forcedUnassignment.asObservable(),e.colorAssignments$=e.state$.pipe(cG("colorAssignments"),lf()),e.colorAssignmentsList$=e.state$.pipe(cG("colorAssignmentsList"),lf()),e}return b(n,[{key:"getColor",value:function(e){return this.snapshot.colorAssignments[e]}},{key:"assignColor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.snapshot,i=n.colorAssignments,r=n.colorAssignmentsList,o=n.colorsAvailable;t&&(o=this.snapshot.colorPalette.concat(),r=[],i={});var a=i[e];return a||(o.length>0?a=o[0]:(a=r[r.length-1].color,r=r.slice(0,-1),this.forcedUnassignment.next()),o=o.filter(function(e){return e.color!==a.color}),i=(r=[{color:a,key:e}].concat(r)).reduce(function(e,t,n){return e[t.key]=Object.assign(Object.assign({},t.color),{rank:n}),e},{}),this.ctx.patchState({colorsAvailable:o,colorAssignments:i,colorAssignmentsList:r})),a}},{key:"unassignColor",value:function(e){var t=this.snapshot,n=t.colorAssignments,i=t.colorAssignmentsList,r=t.colorsAvailable,o=n[e];o&&(r=[o].concat(r),n=(i=i.filter(function(e){return e.color.color!==o.color})).reduce(function(e,t,n){return e[t.key]=Object.assign(Object.assign({},t.color),{rank:n}),e},{}),this.ctx.patchState({colorsAvailable:r,colorAssignments:n,colorAssignmentsList:i}))}}]),n}(dq);FQ.\u0275fac=function(){var e;return function(t){return(e||(e=Ti(FQ)))(t||FQ)}}(),FQ.\u0275prov=$e({token:FQ,factory:FQ.\u0275fac}),Mw([sq(),Iw(0,uq("key")),Iw(1,uq("doReset"))],FQ.prototype,"assignColor",null),Mw([sq(),Iw(0,uq("key"))],FQ.prototype,"unassignColor",null),FQ=Mw([cq(),Fz({name:"colors",defaults:{colorPalette:jQ.concat(),colorsAvailable:jQ.concat(),colorAssignments:{},colorAssignmentsList:[]}})],FQ);var BQ=function(n){a(r,n);var i=s(r);function r(e,t){var n;return m(this,r),(n=i.call(this)).dataService=e,n.injector=t,n.listResults$=n.state$.pipe(cG("listResults"),lf()),n.highlightedNodeId$=n.state$.pipe(cG("highlightedNodeId"),lf()),n}return b(r,[{key:"setListResults",value:function(e){this.ctx.patchState({listResults:e})}},{key:"selectListResult",value:function(e){this.colorAssignments.assignColor(e.tissueBlock.spatialEntityId)}},{key:"deselectListResult",value:function(e){this.colorAssignments.unassignColor(e.tissueBlock.spatialEntityId)}},{key:"highlightNode",value:function(e){this.ctx.patchState({highlightedNodeId:e})}},{key:"unHighlightNode",value:function(){this.ctx.patchState({highlightedNodeId:void 0})}},{key:"ngxsOnInit",value:function(){var n=this;e(p(r.prototype),"ngxsOnInit",this).call(this),this.dataState=this.injector.get(TQ),this.colorAssignments=this.injector.get(FQ),J_([this.dataState.tissueBlockData$,this.colorAssignments.colorAssignments$]).pipe(ce(function(e){var n,i=t(e,2),r=i[0],o=i[1],a=[],s=[],u=_(r);try{for(u.s();!(n=u.n()).done;){var c=n.value,l=o[c.spatialEntityId];l?a.push({selected:!0,color:l.color,tissueBlock:c,rank:l.rank}):s.push({selected:!1,tissueBlock:c})}}catch(h){u.e(h)}finally{u.f()}return(0,Zq.sortBy)(a,["rank"]).concat(s)}),mv(function(e){return n.setListResults(e)})).subscribe()}}]),r}(dq);BQ.\u0275fac=function(e){return new(e||BQ)(Zi(j$),Zi(ss))},BQ.\u0275prov=$e({token:BQ,factory:BQ.\u0275fac}),Mw([sq(),Iw(0,uq("listResults"))],BQ.prototype,"setListResults",null),BQ=Mw([cq(),Fz({name:"listResults",defaults:{listResults:[]}})],BQ);var VQ=new Set(["Skin","Heart","Kidney","Spleen"]),zQ=function(n){a(r,n);var i=s(r);function r(e,t){var n;return m(this,r),(n=i.call(this)).dataService=e,n.injector=t,n.referenceOrgans$=n.state$.pipe(cG("referenceOrgans"),lf()),n.selectedReferenceOrgans$=n.state$.pipe(cG("selectedReferenceOrgans"),lf()),n.scene$=n.state$.pipe(cG("scene"),lf()),n.highlightedId$=n.state$.pipe(cG("highlightedId"),lf()),n}return b(r,[{key:"setSelectedReferenceOrgans",value:function(e){this.ctx.patchState({selectedReferenceOrgans:e})}},{key:"setReferenceOrgans",value:function(e){this.ctx.patchState({referenceOrgans:e})}},{key:"setReferenceOrganEntities",value:function(e){this.ctx.patchState({referenceOrganEntities:e})}},{key:"setScene",value:function(e){this.ctx.patchState({scene:e})}},{key:"sceneNodeClicked",value:function(e){var t=e.node,n=e.ctrlClick;t.representation_of&&"http://purl.org/ccf/latest/ccf.owl#VHFSkin"!==t["@id"]&&t.entityId?this.dataState.updateFilter({ontologyTerms:[t.representation_of]}):t.entityId&&this.colorAssignments.assignColor(t["@id"],!n)}},{key:"sceneNodeHovered",value:function(e){this.listResults.highlightNode(e["@id"])}},{key:"sceneNodeUnhover",value:function(){this.listResults.unHighlightNode()}},{key:"ngxsOnInit",value:function(){var n=this;e(p(r.prototype),"ngxsOnInit",this).call(this),this.dataState=this.injector.get(TQ),this.colorAssignments=this.injector.get(FQ),this.listResults=this.injector.get(BQ),this.dataService.getReferenceOrgans().pipe(mv(function(e){return n.setReferenceOrganEntities(e)}),ce(function(e){var t=new Set(e.map(function(e){return e.representation_of}));return v$.filter(function(e){return t.has(e.id)}).map(function(e){return Object.assign(Object.assign({},e),{disabled:!1,numResults:0})})}),_p(1),mv(function(e){n.setReferenceOrgans(e),n.setSelectedReferenceOrgans(e.filter(function(e){return VQ.has(e.organ)}))})).subscribe(),J_([this.dataState.sceneData$,this.selectedReferenceOrgans$,this.colorAssignments.colorAssignments$,this.dataService.getReferenceOrgans(),this.listResults.highlightedNodeId$]).pipe(ce(function(e){var n=t(e,5),i=n[0],r=n[1],o=n[2],a=n[3],s=n[4],u=new Set(r.map(function(e){return e.id})),c=new Set(a.filter(function(e){return u.has(e.representation_of)}).map(function(e){return e["@id"]}));return i.filter(function(e){var t,n;return(null===(n=null===(t=e.ccf_annotations)||void 0===t?void 0:t.some)||void 0===n?void 0:n.call(t,function(e){return u.has(e)}))||e.reference_organ&&c.has(e.reference_organ)}).map(function(e){return e.entityId&&(Object.prototype.hasOwnProperty.call(o,e["@id"])||s===e["@id"])?Object.assign(Object.assign({},e),{color:s===e["@id"]?[30,136,229,255]:o[e["@id"]].rgba}):e})}),mv(function(e){return n.setScene(e)})).subscribe()}}],[{key:"referenceOrgans",value:function(e){return e.referenceOrgans}},{key:"referenceOrganEntities",value:function(e){return e.referenceOrganEntities}}]),r}(dq);function UQ(e,t){if(1&e&&(Xn(),Is(0,"circle",3)),2&e){var n=Ws();uu("animation-name","mat-progress-spinner-stroke-rotate-"+n._spinnerAnimationLabel)("stroke-dashoffset",n._getStrokeDashOffset(),"px")("stroke-dasharray",n._getStrokeCircumference(),"px")("stroke-width",n._getCircleStrokeWidth(),"%"),ks("r",n._getCircleRadius())}}function HQ(e,t){if(1&e&&(Xn(),Is(0,"circle",3)),2&e){var n=Ws();uu("stroke-dashoffset",n._getStrokeDashOffset(),"px")("stroke-dasharray",n._getStrokeCircumference(),"px")("stroke-width",n._getCircleStrokeWidth(),"%"),ks("r",n._getCircleRadius())}}function GQ(e,t){if(1&e&&(Xn(),Is(0,"circle",3)),2&e){var n=Ws();uu("animation-name","mat-progress-spinner-stroke-rotate-"+n._spinnerAnimationLabel)("stroke-dashoffset",n._getStrokeDashOffset(),"px")("stroke-dasharray",n._getStrokeCircumference(),"px")("stroke-width",n._getCircleStrokeWidth(),"%"),ks("r",n._getCircleRadius())}}function WQ(e,t){if(1&e&&(Xn(),Is(0,"circle",3)),2&e){var n=Ws();uu("stroke-dashoffset",n._getStrokeDashOffset(),"px")("stroke-dasharray",n._getStrokeCircumference(),"px")("stroke-width",n._getCircleStrokeWidth(),"%"),ks("r",n._getCircleRadius())}}zQ.\u0275fac=function(e){return new(e||zQ)(Zi(j$),Zi(ss))},zQ.\u0275prov=$e({token:zQ,factory:zQ.\u0275fac}),Mw([sq(),Iw(0,uq("selectedReferenceOrgans"))],zQ.prototype,"setSelectedReferenceOrgans",null),Mw([sq(),Iw(0,uq("referenceOrgans"))],zQ.prototype,"setReferenceOrgans",null),Mw([sq(),Iw(0,uq("referenceOrganEntities"))],zQ.prototype,"setReferenceOrganEntities",null),Mw([sq(),Iw(0,uq("scene"))],zQ.prototype,"setScene",null),Mw([Vz()],zQ,"referenceOrgans",null),Mw([Vz()],zQ,"referenceOrganEntities",null),zQ=Mw([cq(),Fz({name:"scene",defaults:{scene:[],referenceOrgans:[],referenceOrganEntities:[],selectedReferenceOrgans:[],selectedAnatomicalStructures:[],anatomicalStructureSettings:{}}})],zQ);var qQ=".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor;stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\n",XQ=ab(function(){return function e(t){m(this,e),this._elementRef=t}}(),"primary"),YQ=new Ri("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:100}}}),KQ=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a){var s;m(this,n),(s=t.call(this,e))._document=r,s._diameter=100,s._value=0,s._fallbackAnimation=!1,s.mode="determinate";var u=n._diameters;return s._spinnerAnimationLabel=s._getSpinnerAnimationLabel(),u.has(r.head)||u.set(r.head,new Set([100])),s._fallbackAnimation=i.EDGE||i.TRIDENT,s._noopAnimations="NoopAnimations"===o&&!!a&&!a._forceAnimations,a&&(a.diameter&&(s.diameter=a.diameter),a.strokeWidth&&(s.strokeWidth=a.strokeWidth)),s}return b(n,[{key:"diameter",get:function(){return this._diameter},set:function(e){this._diameter=qd(e),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),!this._fallbackAnimation&&this._styleRoot&&this._attachStyleNode()}},{key:"strokeWidth",get:function(){return this._strokeWidth||this.diameter/10},set:function(e){this._strokeWidth=qd(e)}},{key:"value",get:function(){return"determinate"===this.mode?this._value:0},set:function(e){this._value=Math.max(0,Math.min(100,qd(e)))}},{key:"ngOnInit",value:function(){var e=this._elementRef.nativeElement;this._styleRoot=Qf(e)||this._document.head,this._attachStyleNode(),e.classList.add("mat-progress-spinner-indeterminate".concat(this._fallbackAnimation?"-fallback":"","-animation"))}},{key:"_getCircleRadius",value:function(){return(this.diameter-10)/2}},{key:"_getViewBox",value:function(){var e=2*this._getCircleRadius()+this.strokeWidth;return"0 0 ".concat(e," ").concat(e)}},{key:"_getStrokeCircumference",value:function(){return 2*Math.PI*this._getCircleRadius()}},{key:"_getStrokeDashOffset",value:function(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._getStrokeCircumference():null}},{key:"_getCircleStrokeWidth",value:function(){return this.strokeWidth/this.diameter*100}},{key:"_attachStyleNode",value:function(){var e=this._styleRoot,t=this._diameter,i=n._diameters,r=i.get(e);if(!r||!r.has(t)){var o=this._document.createElement("style");o.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),o.textContent=this._getAnimationText(),e.appendChild(o),r||(r=new Set,i.set(e,r)),r.add(t)}}},{key:"_getAnimationText",value:function(){var e=this._getStrokeCircumference();return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*e).replace(/END_VALUE/g,""+.2*e).replace(/DIAMETER/g,"".concat(this._spinnerAnimationLabel))}},{key:"_getSpinnerAnimationLabel",value:function(){return this.diameter.toString().replace(".","_")}}]),n}(XQ);KQ.\u0275fac=function(e){return new(e||KQ)(Os(Ju),Os(qf),Os(bh,8),Os(Yy,8),Os(YQ))},KQ.\u0275cmp=Ot({type:KQ,selectors:[["mat-progress-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner"],hostVars:10,hostBindings:function(e,t){2&e&&(ks("aria-valuemin","determinate"===t.mode?0:null)("aria-valuemax","determinate"===t.mode?100:null)("aria-valuenow","determinate"===t.mode?t.value:null)("mode",t.mode),uu("width",t.diameter,"px")("height",t.diameter,"px"),cu("_mat-animation-noopable",t._noopAnimations))},inputs:{color:"color",mode:"mode",diameter:"diameter",strokeWidth:"strokeWidth",value:"value"},exportAs:["matProgressSpinner"],features:[cs],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(e,t){1&e&&(Xn(),Ps(0,"svg",0),Cs(1,UQ,1,9,"circle",1),Cs(2,HQ,1,7,"circle",2),Ms()),2&e&&(uu("width",t.diameter,"px")("height",t.diameter,"px"),Ts("ngSwitch","indeterminate"===t.mode),ks("viewBox",t._getViewBox()),Yo(1),Ts("ngSwitchCase",!0),Yo(1),Ts("ngSwitchCase",!1))},directives:[Zh,Jh],styles:[qQ],encapsulation:2,changeDetection:0}),KQ._diameters=new WeakMap;var $Q=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a){var s;return m(this,n),(s=t.call(this,e,i,r,o,a)).mode="indeterminate",s}return n}(KQ);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(qf),Os(bh,8),Os(Yy,8),Os(YQ))},e.\u0275cmp=Ot({type:e,selectors:[["mat-spinner"]],hostAttrs:["role","progressbar","mode","indeterminate",1,"mat-spinner","mat-progress-spinner"],hostVars:6,hostBindings:function(e,t){2&e&&(uu("width",t.diameter,"px")("height",t.diameter,"px"),cu("_mat-animation-noopable",t._noopAnimations))},inputs:{color:"color"},features:[cs],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(e,t){1&e&&(Xn(),Ps(0,"svg",0),Cs(1,GQ,1,9,"circle",1),Cs(2,WQ,1,7,"circle",2),Ms()),2&e&&(uu("width",t.diameter,"px")("height",t.diameter,"px"),Ts("ngSwitch","indeterminate"===t.mode),ks("viewBox",t._getViewBox()),Yo(1),Ts("ngSwitchCase",!0),Yo(1),Ts("ngSwitchCase",!1))},directives:[Zh,Jh],styles:[qQ],encapsulation:2,changeDetection:0}),e}(),QQ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb,cd],rb]}),e}(),ZQ=function(){var e=function e(){m(this,e),this.className="ccf-spinner-overlay",this.active=!1};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spinner-overlay"]],hostVars:4,hostBindings:function(e,t){2&e&&(du(t.className),cu("active",t.active))},inputs:{active:"active",text:"text"},decls:3,vars:1,consts:[[1,"content"]],template:function(e,t){1&e&&(Is(0,"mat-spinner"),Ps(1,"div",0),Cu(2),Ms()),2&e&&(Yo(2),Eu(t.text))},directives:[$Q],styles:["[_nghost-%COMP%]{display:flex;position:absolute;width:100%;height:100%;z-index:99;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;visibility:hidden;opacity:0;transition:visibility .6s,opacity .4s ease-in-out}[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-bottom:1rem;opacity:0;transition:opacity .3s ease-in-out .3s}.active[_nghost-%COMP%]{pointer-events:auto;visibility:visible;opacity:1}.active[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{opacity:1}"],changeDetection:0}),e}(),JQ={isolated:!0},eZ=new Ri("Message service configuration",{providedIn:"root",factory:function(){return JQ}}),tZ=function(){var e=function(){function e(t,n,i){m(this,e),this.source=t,this.channel=n,this.messages=i}return b(e,[{key:"sendMessage",value:function(e){this.channel.next({id:this.nextMessageId(),source:this.source,payload:e})}},{key:"getMessages",value:function(){var e=this;return this.messages.pipe(bf(function(t){return t.source!==e.source}))}},{key:"getMessagesFromSource",value:function(e){return this.getMessages().pipe(bf(function(t){return t.source===e}))}},{key:"getMessagesFromSources",value:function(e){return this.getMessages().pipe(bf(function(t){return e.includes(t.source)}))}},{key:"nextMessageId",value:function(){return e.counter++}}]),e}();return e.counter=0,e}(),nZ=function(){var e=function(){function e(t,n){var i=this;m(this,e),this.config=t,this.parent=n,this.channel=new ae,this.messages=t.isolated||!n?this.channel.asObservable():ye([this.channel,n.messages.pipe(xp(function(){return!i.channel.closed}))]).pipe(Ce())}return b(e,[{key:"ngOnDestroy",value:function(){this.channel.complete()}},{key:"connect",value:function(e){return new tZ(e,this.channel,this.messages)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(eZ),Zi(e,12))},e.\u0275prov=$e({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),iZ=["*"],rZ=function(){var e=function(){function e(t,n){var i=this;m(this,e),this.className="ccf-drawer-content",this.animationsEnabled=!1,this.leftMargin=0,this.rightMargin=0,this.faded=!1,this.drawers=[],this.subscriptions=new q;var r=t.connect(this).getMessages();this.subscriptions.add(r.subscribe(function(e){i.handleMessage(e)&&n.markForCheck()}))}return b(e,[{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"handleMessage",value:function(e){switch(e.payload.type){case"drawer-containers-changed":return this.drawers=e.payload.drawers,this.updateFaded(),!0;case"drawer-initialized":return this.animationsEnabled=!0,!0;case"drawer-toggled":var t=e.source.position,n=e.payload,i=n.opened,r=n.width,o=n.margin;return this.updateMargin(t,i,r,o),this.updateFaded(),!0;default:return!1}}},{key:"updateMargin",value:function(e,t,n,i){var r=t?n+i:i;"start"===e?this.leftMargin=r:this.rightMargin=r}},{key:"updateFaded",value:function(){var e=t(this.drawers,2),n=e[0],i=e[1];this.faded=(null==n?void 0:n.opened)&&(null==n?void 0:n.expanded)||(null==i?void 0:i.opened)&&(null==i?void 0:i.expanded)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(nZ),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-drawer-content"]],hostVars:9,hostBindings:function(e,t){2&e&&(Mu("@fadeInOut",t.faded),du(t.className),uu("margin-left",t.leftMargin,"px")("margin-right",t.rightMargin,"px"),cu("cff-drawer-content-animations",t.animationsEnabled))},ngContentSelectors:iZ,decls:1,vars:0,template:function(e,t){1&e&&(Xs(),Ys(0))},styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 5.5rem);z-index:2;overflow:auto}.cff-drawer-content-animations[_nghost-%COMP%]{transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:margin-left,margin-right}"],data:{animation:[fg("fadeInOut",[mg("false",gg({opacity:1})),mg("true",gg({opacity:0})),yg("false <=> true",pg("1s"))])]},changeDetection:0}),e}(),oZ=["*"],aZ={params:{width:0,margin:0,margin2:0}},sZ=function(){function e(){var t=this;m(this,e),this.initialized=!1,this.deferred=new Promise(function(e){t.resolve=e})}return b(e,[{key:"set",value:function(){this.initialized=!0,this.resolve()}},{key:"wait",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.deferred);case 1:case"end":return e.stop()}},e,this)}))}},{key:"valueOf",value:function(){return this.initialized}}]),e}(),uZ=function(){var e=function(){function e(t,n,i){var r=this;m(this,e),this.element=i,this.className="ccf-drawer",this._position="start",this._opened=!1,this._expanded=!1,this.openedChange=new ol(!0),this.expandedChange=new ol(!0),this.stateChange=new ol(!0),this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._measuredWidth=0,this.width=0,this._measuredMargin=0,this.margin2=0,this.initialized=new sZ,this.subscriptions=new q,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(function(e){r.handleMessage(e)&&n.markForCheck()}))}return b(e,[{key:"classEnd",get:function(){return"end"===this.position}},{key:"position",get:function(){return this._position},set:function(e){this._position=e||"start"}},{key:"opened",get:function(){return this._opened},set:function(e){this.toggle(Wd(e))}},{key:"expanded",get:function(){return this._expanded},set:function(e){this.toggleExpanded(Wd(e))}},{key:"expandedStateObj",get:function(){return{value:this.expandedState2,params:{width:this.width,margin:this.measuredMargin,margin2:this.margin2}}}},{key:"measuredWidth",get:function(){if(this._measuredWidth>0)return this._measuredWidth;var e=this.element.nativeElement;if(!e)return 0;var t=e.getBoundingClientRect(),n=t.right-t.left;return 0===n?0:(this._measuredWidth=n,n)}},{key:"measuredMargin",get:function(){if(this._measuredMargin>0)return this._measuredMargin;var e=this.element.nativeElement;if(!e)return 0;var t=globalThis.getComputedStyle(e).getPropertyValue("start"===this.position?"margin-right":"margin-left"),n=Number(t.slice(0,-2));return this._measuredMargin=n,n}},{key:"ngAfterViewInit",value:function(){var e=this;this.initialized.set(),setTimeout(function(){return e.channel.sendMessage({type:"drawer-initialized"})})}},{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"open",value:function(){this.toggle(!0)}},{key:"close",value:function(){this.toggle(!1)}},{key:"toggle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.opened;this.opened!==e&&(e?this.openedState=this.initialized.valueOf()?"open":"open-instant":(this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._expanded=!1),this._opened=e,this.sendToggle())}},{key:"openExpanded",value:function(){this.toggleExpanded(!0)}},{key:"closeExpanded",value:function(){this.toggleExpanded(!1)}},{key:"toggleExpanded",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.expanded;this.expanded!==e&&(e?this.expandedState=this.initialized.valueOf()?"open":"open-instant":(this.expandedState="closed",this.expandedState2="collapsed"),this._expanded=e,this.sendToggle())}},{key:"closeOpenDone",value:function(){this.openedChange.emit(this.opened)}},{key:"expandCollapseDone",value:function(){this.expandedChange.emit(this.expanded)}},{key:"sendToggle",value:function(){return Dw(this,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.initialized.wait();case 2:this.channel.sendMessage({type:"drawer-toggled",opened:this.opened,expanded:this.expanded,width:this.measuredWidth,margin:this.measuredMargin}),this.stateChange.emit();case 4:case"end":return e.stop()}},e,this)}))}},{key:"handleMessage",value:function(e){switch(e.payload.type){case"drawer-toggled":return this.syncExpanded(e.source),!0;default:return!1}}},{key:"syncExpanded",value:function(e){(this.expanded||e.expanded)&&(this.expanded&&e.expanded?this.expandedState2=e.expandedState2="half":this.expanded?e.opened?(this.expandedState2="extended",this.width=e.measuredWidth+e.measuredMargin):(this.expandedState2="full",this.margin2=e.measuredMargin):this.opened?(e.expandedState2="extended",e.width=this.measuredWidth+this.measuredMargin):(e.expandedState2="full",e.margin2=this.measuredMargin))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(nZ),Os(Cc),Os(Ju))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-drawer"]],hostVars:10,hostBindings:function(e,t){1&e&&zs("@openClose.done",function(){return t.closeOpenDone()})("@expandCollapse.done",function(){return t.expandCollapseDone()}),2&e&&(Mu("@openClose",t.openedState)("@expandCollapse",t.expandedStateObj),du(t.className),cu("ccf-drawer-end",t.classEnd)("ccf-drawer-opened",t.opened)("ccf-drawer-expanded",t.expanded))},inputs:{position:"position",opened:"opened",expanded:"expanded"},outputs:{openedChange:"openedChange",expandedChange:"expandedChange",stateChange:"stateChange"},exportAs:["ccfDrawer"],ngContentSelectors:oZ,decls:2,vars:0,consts:[[1,"cff-drawer-inner-container"]],template:function(e,t){1&e&&(Xs(),Ps(0,"div",0),Ys(1),Ms())},styles:["[_nghost-%COMP%]{display:block;position:absolute;top:0;bottom:0;z-index:2;outline:0;transform:translate(-100%);background-color:#fff}.ccf-drawer-end[_nghost-%COMP%]{right:0;transform:translate(100%)}[_nghost-%COMP%] .cff-drawer-inner-container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}"],data:{animation:[fg("openClose",[mg("open, open-instant",gg({transform:"none"})),mg("closed",gg({})),yg("closed => open-instant",pg(0)),yg("closed <=> open, open-instant => closed",pg(".5s ease-in-out"))]),fg("expandCollapse",[mg("collapsed",gg({})),mg("half",gg({width:"calc(50% - {{ margin }}px)"}),aZ),mg("extended",gg({width:"calc(100% - {{ width }}px - {{ margin }}px)"}),aZ),mg("full",gg({width:"calc(100% - {{ margin }}px - {{ margin2 }}px)"}),aZ),yg("* <=> *",pg(".5s ease-in-out"))])]},changeDetection:0}),e}();function cZ(e,t){1&e&&(Ps(0,"ccf-drawer-content"),Ys(1,2),Ms())}var lZ=[[["ccf-drawer"]],[["ccf-drawer-content"]],"*"],hZ=["ccf-drawer","ccf-drawer-content","*"];function dZ(e){throw new Error("Multiple drawers in position ".concat(e))}var fZ=function(){var e=function(){function e(t,n){var i=this;m(this,e),this.cdr=n,this.className="ccf-drawer-container",this.subscriptions=new q,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(function(e){i.handleMessage(e)&&n.markForCheck()}))}return b(e,[{key:"content",get:function(){var e;return null!==(e=this.content1.first)&&void 0!==e?e:this.content2.first}},{key:"hasWrappedContent",get:function(){return 0!==this.content1.length}},{key:"ngAfterViewInit",value:function(){var e=this;this.drawers.changes.pipe(Ef(null)).subscribe(function(){var t=e.validateDrawers();e.channel.sendMessage({type:"drawer-containers-changed",drawers:t}),e.cdr.markForCheck()}),this.content1.changes.pipe(Ef(null)).subscribe(function(){e.channel.sendMessage({type:"content-container-changed",content:e.content}),e.cdr.markForCheck()})}},{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"handleMessage",value:function(e){return!0}},{key:"validateDrawers",value:function(){var e=this.drawers.toArray(),t=e.filter(function(e){return"start"===e.position}),n=e.filter(function(e){return"end"===e.position});return t.length>1&&dZ("start"),n.length>1&&dZ("end"),[t[0],n[0]]}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(nZ),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-drawer-container"]],contentQueries:function(e,t,n){var i;(1&e&&(bl(n,uZ,5),bl(n,rZ,5)),2&e)&&(ml(i=_l())&&(t.drawers=i),ml(i=_l())&&(t.content1=i))},viewQuery:function(e,t){var n;(1&e&&yl(rZ,5),2&e)&&(ml(n=_l())&&(t.content2=n))},hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},exportAs:["ccfDrawerContainer"],features:[Xu([nZ])],ngContentSelectors:hZ,decls:3,vars:1,consts:[[4,"ngIf"]],template:function(e,t){1&e&&(Xs(lZ),Ys(0),Ys(1,1),Cs(2,cZ,2,0,"ccf-drawer-content",0)),2&e&&(Yo(2),Ts("ngIf",!t.hasWrappedContent))},directives:[Yh,rZ],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:1;overflow:hidden;-webkit-overflow-scrolling:touch}"],changeDetection:0}),e}(),pZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Start the Spatial Search flow",e}(),vZ=function(){var e=function e(t){m(this,e),this.sex=t};return e.type="[SpatialSearchUi] Set sex",e}(),gZ=function(){var e=function e(t){m(this,e),this.organId=t};return e.type="[SpatialSearchUi] Set organ",e}(),mZ=function(){var e=function e(t){m(this,e),this.position=t};return e.type="[SpatialSearchUi] Set position",e}(),yZ=function(){var e=function e(t){m(this,e),this.node=t};return e.type="[SpatialSearchUi] Start moving the position to a scene node",e}(),bZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Reset position",e}(),_Z=function(){var e=function e(t){m(this,e),this.radius=t};return e.type="[SpatialSearchUi] Set radius",e}(),wZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Reset radius",e}(),kZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Update spatial search data",e}(),xZ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Generate and add a spatial search",e}(),SZ=function(){var e=function e(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];m(this,e),this.execute=t};return e.type="[SpatialSearchUi] Set execute search on generate",e}(),CZ=["trigger"],EZ=["panel"];function OZ(e,t){if(1&e&&(Ps(0,"span",8),Cu(1),Ms()),2&e){var n=Ws();Yo(1),Eu(n.placeholder)}}function TZ(e,t){if(1&e&&(Ps(0,"span",12),Cu(1),Ms()),2&e){var n=Ws(2);Yo(1),Eu(n.triggerValue)}}function AZ(e,t){1&e&&Ys(0,0,["*ngSwitchCase","true"])}function PZ(e,t){1&e&&(Ps(0,"span",9),Cs(1,TZ,2,1,"span",10),Cs(2,AZ,1,0,"ng-content",11),Ms()),2&e&&(Ts("ngSwitch",!!Ws().customTrigger),Yo(2),Ts("ngSwitchCase",!0))}function MZ(e,t){if(1&e){var n=Ls();Ps(0,"div",13),Ps(1,"div",14,15),Vs("@transformPanel.done",function(e){return bn(n),Ws()._panelDoneAnimatingStream.next(e.toState)})("keydown",function(e){return bn(n),Ws()._handleKeydown(e)}),Ys(3,1),Ms(),Ms()}if(2&e){var i=Ws();Ts("@transformPanelWrap",void 0),Yo(1),Au("mat-select-panel ",i._getPanelTheme(),""),uu("transform-origin",i._transformOrigin)("font-size",i._triggerFontSize,"px"),Ts("ngClass",i.panelClass)("@transformPanel",i.multiple?"showing-multiple":"showing"),ks("id",i.id+"-panel")("aria-multiselectable",i.multiple)("aria-label",i.ariaLabel||null)("aria-labelledby",i._getPanelAriaLabelledby())}}var IZ=[[["mat-select-trigger"]],"*"],RZ=["mat-select-trigger","*"],DZ={transformPanelWrap:fg("transformPanelWrap",[yg("* => void",function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:11,selector:e,animation:t,options:n}}("@transformPanel",[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return{type:9,options:e}}()],{optional:!0}))]),transformPanel:fg("transformPanel",[mg("void",gg({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),mg("showing",gg({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),mg("showing-multiple",gg({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),yg("void => *",pg("120ms cubic-bezier(0, 0, 0.2, 1)")),yg("* => void",pg("100ms 25ms linear",gg({opacity:0})))])},NZ=0,LZ=new Ri("mat-select-scroll-strategy"),jZ=new Ri("MAT_SELECT_CONFIG"),FZ={provide:LZ,deps:[iv],useFactory:function(e){return function(){return e.scrollStrategies.reposition()}}},BZ=function e(t,n){m(this,e),this.source=t,this.value=n},VZ=sb(ub(ob(cb(function(){return function e(t,n,i,r,o){m(this,e),this._elementRef=t,this._defaultErrorStateMatcher=n,this._parentForm=i,this._parentFormGroup=r,this.ngControl=o}}())))),zZ=new Ri("MatSelectTrigger"),UZ=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,l,h,d,f,p,g,y){var b,_,w,k;return m(this,n),(b=t.call(this,a,o,u,l,d))._viewportRuler=e,b._changeDetectorRef=i,b._ngZone=r,b._dir=s,b._parentFormField=h,b._liveAnnouncer=g,b._defaultOptions=y,b._panelOpen=!1,b._compareWith=function(e,t){return e===t},b._uid="mat-select-"+NZ++,b._triggerAriaLabelledBy=null,b._destroy=new ae,b._onChange=function(){},b._onTouched=function(){},b._valueId="mat-select-value-"+NZ++,b._panelDoneAnimatingStream=new ae,b._overlayPanelClass=(null===(_=b._defaultOptions)||void 0===_?void 0:_.overlayPanelClass)||"",b._focused=!1,b.controlType="mat-select",b._required=!1,b._multiple=!1,b._disableOptionCentering=null!==(k=null===(w=b._defaultOptions)||void 0===w?void 0:w.disableOptionCentering)&&void 0!==k&&k,b.ariaLabel="",b.optionSelectionChanges=tH(function(){var e=b.options;return e?e.changes.pipe(Ef(e),Of(function(){return Oe.apply(void 0,v(e.map(function(e){return e.onSelectionChange})))})):b._ngZone.onStable.pipe(_p(1),Of(function(){return b.optionSelectionChanges}))}),b.openedChange=new ol,b._openedStream=b.openedChange.pipe(bf(function(e){return e}),ce(function(){})),b._closedStream=b.openedChange.pipe(bf(function(e){return!e}),ce(function(){})),b.selectionChange=new ol,b.valueChange=new ol,b.ngControl&&(b.ngControl.valueAccessor=c(b)),null!=(null==y?void 0:y.typeaheadDebounceInterval)&&(b._typeaheadDebounceInterval=y.typeaheadDebounceInterval),b._scrollStrategyFactory=p,b._scrollStrategy=b._scrollStrategyFactory(),b.tabIndex=parseInt(f)||0,b.id=b.id,b}return b(n,[{key:"focused",get:function(){return this._focused||this._panelOpen}},{key:"placeholder",get:function(){return this._placeholder},set:function(e){this._placeholder=e,this.stateChanges.next()}},{key:"required",get:function(){return this._required},set:function(e){this._required=Wd(e),this.stateChanges.next()}},{key:"multiple",get:function(){return this._multiple},set:function(e){this._multiple=Wd(e)}},{key:"disableOptionCentering",get:function(){return this._disableOptionCentering},set:function(e){this._disableOptionCentering=Wd(e)}},{key:"compareWith",get:function(){return this._compareWith},set:function(e){this._compareWith=e,this._selectionModel&&this._initializeSelection()}},{key:"value",get:function(){return this._value},set:function(e){(e!==this._value||this._multiple&&Array.isArray(e))&&(this.options&&this._setSelectionByValue(e),this._value=e)}},{key:"typeaheadDebounceInterval",get:function(){return this._typeaheadDebounceInterval},set:function(e){this._typeaheadDebounceInterval=qd(e)}},{key:"id",get:function(){return this._id},set:function(e){this._id=e||this._uid,this.stateChanges.next()}},{key:"ngOnInit",value:function(){var e=this;this._selectionModel=new ip(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(lf(),kf(this._destroy)).subscribe(function(){return e._panelDoneAnimating(e.panelOpen)})}},{key:"ngAfterContentInit",value:function(){var e=this;this._initKeyManager(),this._selectionModel.changed.pipe(kf(this._destroy)).subscribe(function(e){e.added.forEach(function(e){return e.select()}),e.removed.forEach(function(e){return e.deselect()})}),this.options.changes.pipe(Ef(null),kf(this._destroy)).subscribe(function(){e._resetOptions(),e._initializeSelection()})}},{key:"ngDoCheck",value:function(){var e=this._getTriggerAriaLabelledby();if(e!==this._triggerAriaLabelledBy){var t=this._elementRef.nativeElement;this._triggerAriaLabelledBy=e,e?t.setAttribute("aria-labelledby",e):t.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}},{key:"ngOnChanges",value:function(e){e.disabled&&this.stateChanges.next(),e.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}},{key:"ngOnDestroy",value:function(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}},{key:"toggle",value:function(){this.panelOpen?this.close():this.open()}},{key:"open",value:function(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}},{key:"close",value:function(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}},{key:"writeValue",value:function(e){this.value=e}},{key:"registerOnChange",value:function(e){this._onChange=e}},{key:"registerOnTouched",value:function(e){this._onTouched=e}},{key:"setDisabledState",value:function(e){this.disabled=e,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}},{key:"panelOpen",get:function(){return this._panelOpen}},{key:"selected",get:function(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]}},{key:"triggerValue",get:function(){if(this.empty)return"";if(this._multiple){var e=this._selectionModel.selected.map(function(e){return e.viewValue});return this._isRtl()&&e.reverse(),e.join(", ")}return this._selectionModel.selected[0].viewValue}},{key:"_isRtl",value:function(){return!!this._dir&&"rtl"===this._dir.value}},{key:"_handleKeydown",value:function(e){this.disabled||(this.panelOpen?this._handleOpenKeydown(e):this._handleClosedKeydown(e))}},{key:"_handleClosedKeydown",value:function(e){var t=e.keyCode,n=40===t||38===t||37===t||39===t,i=13===t||32===t,r=this._keyManager;if(!r.isTyping()&&i&&!Ep(e)||(this.multiple||e.altKey)&&n)e.preventDefault(),this.open();else if(!this.multiple){var o=this.selected;r.onKeydown(e);var a=this.selected;a&&o!==a&&this._liveAnnouncer.announce(a.viewValue,1e4)}}},{key:"_handleOpenKeydown",value:function(e){var t=this._keyManager,n=e.keyCode,i=40===n||38===n,r=t.isTyping();if(i&&e.altKey)e.preventDefault(),this.close();else if(r||13!==n&&32!==n||!t.activeItem||Ep(e))if(!r&&this._multiple&&65===n&&e.ctrlKey){e.preventDefault();var o=this.options.some(function(e){return!e.disabled&&!e.selected});this.options.forEach(function(e){e.disabled||(o?e.select():e.deselect())})}else{var a=t.activeItemIndex;t.onKeydown(e),this._multiple&&i&&e.shiftKey&&t.activeItem&&t.activeItemIndex!==a&&t.activeItem._selectViaInteraction()}else e.preventDefault(),t.activeItem._selectViaInteraction()}},{key:"_onFocus",value:function(){this.disabled||(this._focused=!0,this.stateChanges.next())}},{key:"_onBlur",value:function(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}},{key:"_onAttached",value:function(){var e=this;this._overlayDir.positionChange.pipe(_p(1)).subscribe(function(){e._changeDetectorRef.detectChanges(),e._positioningSettled()})}},{key:"_getPanelTheme",value:function(){return this._parentFormField?"mat-".concat(this._parentFormField.color):""}},{key:"empty",get:function(){return!this._selectionModel||this._selectionModel.isEmpty()}},{key:"_initializeSelection",value:function(){var e=this;Promise.resolve().then(function(){e._setSelectionByValue(e.ngControl?e.ngControl.value:e._value),e.stateChanges.next()})}},{key:"_setSelectionByValue",value:function(e){var t=this;if(this._selectionModel.selected.forEach(function(e){return e.setInactiveStyles()}),this._selectionModel.clear(),this.multiple&&e)Array.isArray(e),e.forEach(function(e){return t._selectValue(e)}),this._sortValues();else{var n=this._selectValue(e);n?this._keyManager.updateActiveItem(n):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}},{key:"_selectValue",value:function(e){var t=this,n=this.options.find(function(n){if(t._selectionModel.isSelected(n))return!1;try{return null!=n.value&&t._compareWith(n.value,e)}catch(i){return!1}});return n&&this._selectionModel.select(n),n}},{key:"_initKeyManager",value:function(){var e=this;this._keyManager=new zv(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(kf(this._destroy)).subscribe(function(){e.panelOpen&&(!e.multiple&&e._keyManager.activeItem&&e._keyManager.activeItem._selectViaInteraction(),e.focus(),e.close())}),this._keyManager.change.pipe(kf(this._destroy)).subscribe(function(){e._panelOpen&&e.panel?e._scrollOptionIntoView(e._keyManager.activeItemIndex||0):!e._panelOpen&&!e.multiple&&e._keyManager.activeItem&&e._keyManager.activeItem._selectViaInteraction()})}},{key:"_resetOptions",value:function(){var e=this,t=Oe(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(kf(t)).subscribe(function(t){e._onSelect(t.source,t.isUserInput),t.isUserInput&&!e.multiple&&e._panelOpen&&(e.close(),e.focus())}),Oe.apply(void 0,v(this.options.map(function(e){return e._stateChanges}))).pipe(kf(t)).subscribe(function(){e._changeDetectorRef.markForCheck(),e.stateChanges.next()})}},{key:"_onSelect",value:function(e,t){var n=this._selectionModel.isSelected(e);null!=e.value||this._multiple?(n!==e.selected&&(e.selected?this._selectionModel.select(e):this._selectionModel.deselect(e)),t&&this._keyManager.setActiveItem(e),this.multiple&&(this._sortValues(),t&&this.focus())):(e.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(e.value)),n!==this._selectionModel.isSelected(e)&&this._propagateChanges(),this.stateChanges.next()}},{key:"_sortValues",value:function(){var e=this;if(this.multiple){var t=this.options.toArray();this._selectionModel.sort(function(n,i){return e.sortComparator?e.sortComparator(n,i,t):t.indexOf(n)-t.indexOf(i)}),this.stateChanges.next()}}},{key:"_propagateChanges",value:function(e){var t;t=this.multiple?this.selected.map(function(e){return e.value}):this.selected?this.selected.value:e,this._value=t,this.valueChange.emit(t),this._onChange(t),this.selectionChange.emit(this._getChangeEvent(t)),this._changeDetectorRef.markForCheck()}},{key:"_highlightCorrectOption",value:function(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}},{key:"_canOpen",value:function(){var e;return!this._panelOpen&&!this.disabled&&(null===(e=this.options)||void 0===e?void 0:e.length)>0}},{key:"focus",value:function(e){this._elementRef.nativeElement.focus(e)}},{key:"_getPanelAriaLabelledby",value:function(){var e;if(this.ariaLabel)return null;var t=null===(e=this._parentFormField)||void 0===e?void 0:e.getLabelId();return this.ariaLabelledby?(t?t+" ":"")+this.ariaLabelledby:t}},{key:"_getAriaActiveDescendant",value:function(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}},{key:"_getTriggerAriaLabelledby",value:function(){var e;if(this.ariaLabel)return null;var t=null===(e=this._parentFormField)||void 0===e?void 0:e.getLabelId(),n=(t?t+" ":"")+this._valueId;return this.ariaLabelledby&&(n+=" "+this.ariaLabelledby),n}},{key:"_panelDoneAnimating",value:function(e){this.openedChange.emit(e)}},{key:"setDescribedByIds",value:function(e){this._ariaDescribedby=e.join(" ")}},{key:"onContainerClick",value:function(){this.focus(),this.open()}},{key:"shouldLabelFloat",get:function(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}]),n}(VZ);return e.\u0275fac=function(t){return new(t||e)(Os(ap),Os(Cc),Os(Xl),Os(lb),Os(Ju),Os(tp,8),Os(zU,8),Os(QU,8),Os(IH,8),Os(hU,10),Pi("tabindex"),Os(LZ),Os(tg),Os(jZ,8))},e.\u0275dir=Rt({type:e,viewQuery:function(e,t){var n;(1&e&&(yl(CZ,5),yl(EZ,5),yl(sv,5)),2&e)&&(ml(n=_l())&&(t.trigger=n.first),ml(n=_l())&&(t.panel=n.first),ml(n=_l())&&(t._overlayDir=n.first))},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[cs,qt]}),e}(),HZ=function(){var t,n=function(t){a(i,t);var n=s(i);function i(){var e;return m(this,i),(e=n.apply(this,arguments))._scrollTop=0,e._triggerFontSize=0,e._transformOrigin="top",e._offsetY=0,e._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}],e}return b(i,[{key:"_calculateOverlayScroll",value:function(e,t,n){var i=this._getItemHeight();return Math.min(Math.max(0,i*e-t+i/2),n)}},{key:"ngOnInit",value:function(){var t=this;e(p(i.prototype),"ngOnInit",this).call(this),this._viewportRuler.change().pipe(kf(this._destroy)).subscribe(function(){t.panelOpen&&(t._triggerRect=t.trigger.nativeElement.getBoundingClientRect(),t._changeDetectorRef.markForCheck())})}},{key:"open",value:function(){var t=this;e(p(i.prototype),"_canOpen",this).call(this)&&(e(p(i.prototype),"open",this).call(this),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(_p(1)).subscribe(function(){t._triggerFontSize&&t._overlayDir.overlayRef&&t._overlayDir.overlayRef.overlayElement&&(t._overlayDir.overlayRef.overlayElement.style.fontSize="".concat(t._triggerFontSize,"px"))}))}},{key:"_scrollOptionIntoView",value:function(e){var t=Db(e,this.options,this.optionGroups),n=this._getItemHeight();this.panel.nativeElement.scrollTop=0===e&&1===t?0:Nb((e+t)*n,n,this.panel.nativeElement.scrollTop,256)}},{key:"_positioningSettled",value:function(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}},{key:"_panelDoneAnimating",value:function(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),e(p(i.prototype),"_panelDoneAnimating",this).call(this,t)}},{key:"_getChangeEvent",value:function(e){return new BZ(this,e)}},{key:"_calculateOverlayOffsetX",value:function(){var e,t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),n=this._viewportRuler.getViewportSize(),i=this._isRtl(),r=this.multiple?56:32;if(this.multiple)e=40;else if(this.disableOptionCentering)e=16;else{var o=this._selectionModel.selected[0]||this.options.first;e=o&&o.group?32:16}i||(e*=-1);var a=0-(t.left+e-(i?r:0)),s=t.right+e-n.width+(i?0:r);a>0?e+=a+8:s>0&&(e-=s+8),this._overlayDir.offsetX=Math.round(e),this._overlayDir.overlayRef.updatePosition()}},{key:"_calculateOverlayOffsetY",value:function(e,t,n){var i,r=this._getItemHeight(),o=(r-this._triggerRect.height)/2,a=Math.floor(256/r);return this.disableOptionCentering?0:(i=0===this._scrollTop?e*r:this._scrollTop===n?(e-(this._getItemCount()-a))*r+(r-(this._getItemCount()*r-256)%r):t-r/2,Math.round(-1*i-o))}},{key:"_checkOverlayWithinViewport",value:function(e){var t=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),i=this._triggerRect.top-8,r=n.height-this._triggerRect.bottom-8,o=Math.abs(this._offsetY),a=Math.min(this._getItemCount()*t,256)-o-this._triggerRect.height;a>r?this._adjustPanelUp(a,r):o>i?this._adjustPanelDown(o,i,e):this._transformOrigin=this._getOriginBasedOnOption()}},{key:"_adjustPanelUp",value:function(e,t){var n=Math.round(e-t);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}},{key:"_adjustPanelDown",value:function(e,t,n){var i=Math.round(e-t);if(this._scrollTop+=i,this._offsetY+=i,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")}},{key:"_calculateOverlayPosition",value:function(){var e,t=this._getItemHeight(),n=this._getItemCount(),i=Math.min(n*t,256),r=n*t-i;e=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),e+=Db(e,this.options,this.optionGroups);var o=i/2;this._scrollTop=this._calculateOverlayScroll(e,o,r),this._offsetY=this._calculateOverlayOffsetY(e,o,r),this._checkOverlayWithinViewport(r)}},{key:"_getOriginBasedOnOption",value:function(){var e=this._getItemHeight(),t=(e-this._triggerRect.height)/2;return"50% ".concat(Math.abs(this._offsetY)-t+e/2,"px 0px")}},{key:"_getItemHeight",value:function(){return 3*this._triggerFontSize}},{key:"_getItemCount",value:function(){return this.options.length+this.optionGroups.length}}]),i}(UZ);return n.\u0275fac=function(e){return(t||(t=Ti(n)))(e||n)},n.\u0275cmp=Ot({type:n,selectors:[["mat-select"]],contentQueries:function(e,t,n){var i;(1&e&&(bl(n,zZ,5),bl(n,Rb,5),bl(n,Ab,5)),2&e)&&(ml(i=_l())&&(t.customTrigger=i.first),ml(i=_l())&&(t.options=i),ml(i=_l())&&(t.optionGroups=i))},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(e,t){1&e&&Vs("keydown",function(e){return t._handleKeydown(e)})("focus",function(){return t._onFocus()})("blur",function(){return t._onBlur()}),2&e&&(ks("id",t.id)("tabindex",t.tabIndex)("aria-controls",t.panelOpen?t.id+"-panel":null)("aria-expanded",t.panelOpen)("aria-label",t.ariaLabel||null)("aria-required",t.required.toString())("aria-disabled",t.disabled.toString())("aria-invalid",t.errorState)("aria-describedby",t._ariaDescribedby||null)("aria-activedescendant",t._getAriaActiveDescendant()),cu("mat-select-disabled",t.disabled)("mat-select-invalid",t.errorState)("mat-select-required",t.required)("mat-select-empty",t.empty)("mat-select-multiple",t.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[Xu([{provide:wH,useExisting:n},{provide:Cb,useExisting:n}]),cs],ngContentSelectors:RZ,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(e,t){if(1&e&&(Xs(IZ),Ps(0,"div",0,1),Vs("click",function(){return t.toggle()}),Ps(3,"div",2),Cs(4,OZ,2,1,"span",3),Cs(5,PZ,3,2,"span",4),Ms(),Ps(6,"div",5),Is(7,"div",6),Ms(),Ms(),Cs(8,MZ,4,14,"ng-template",7),Vs("backdropClick",function(){return t.close()})("attach",function(){return t._onAttached()})("detach",function(){return t.close()})),2&e){var n=Es(1);ks("aria-owns",t.panelOpen?t.id+"-panel":null),Yo(3),Ts("ngSwitch",t.empty),ks("id",t._valueId),Yo(1),Ts("ngSwitchCase",!0),Yo(1),Ts("ngSwitchCase",!1),Yo(3),Ts("cdkConnectedOverlayPanelClass",t._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",t._scrollStrategy)("cdkConnectedOverlayOrigin",n)("cdkConnectedOverlayOpen",t.panelOpen)("cdkConnectedOverlayPositions",t._positions)("cdkConnectedOverlayMinWidth",null==t._triggerRect?null:t._triggerRect.width)("cdkConnectedOverlayOffsetY",t._offsetY)}},directives:[av,Zh,Jh,sv,ed,Gh],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[DZ.transformPanelWrap,DZ.transformPanel]},changeDetection:0}),n}(),GZ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[FZ],imports:[[cd,cv,Lb,rb],sp,DH,Lb,rb]}),e}();function WZ(e,t){if(1&e&&(Ps(0,"mat-option",6),Ps(1,"div"),Cu(2),Ms(),Ms()),2&e){var n=t.$implicit,i=Ws();Ts("value",n),Yo(1),du(i.optionsVisible),Yo(1),Ou(" ",n," ")}}var qZ=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.selectionChange=new ol,this.optionsVisible="invisible"}return b(e,[{key:"toggleOptions",value:function(){this.optionsVisible="visible"===this.optionsVisible?"invisible":"visible"}},{key:"selectionChanged",value:function(e){this.selection=e,this.ga.event("selection_change","dropdown","".concat(this.label,":").concat(e)),this.selectionChange.emit(e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-dropdown"]],inputs:{label:"label",options:"options",selection:"selection"},outputs:{selectionChange:"selectionChange"},decls:7,vars:3,consts:[[1,"ccf-dropdown","wrapper"],[1,"container"],[1,"dropdown-form-field"],[1,"label"],["disableOptionCentering","true","panelClass","option-panel","disableRipple","true",1,"selected-value",3,"value","selectionChange","openedChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(e,t){1&e&&(Ps(0,"div",0),Ps(1,"div",1),Ps(2,"mat-form-field",2),Ps(3,"div",3),Cu(4),Ms(),Ps(5,"mat-select",4),Vs("selectionChange",function(e){return t.selectionChanged(e.value)})("openedChange",function(){return t.toggleOptions()}),Cs(6,WZ,3,5,"mat-option",5),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(4),Ou(" ",t.label," "),Yo(1),Ts("value",t.selection),Yo(1),Ts("ngForOf",t.options))},directives:[RH,HZ,qh,Rb],styles:["@-webkit-keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dropdown-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:1em;padding-right:1em;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{font-size:.875rem;border:none}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix mat-select{font-size:1rem;font-weight:bold}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .option-panel{-webkit-animation:slideInHorizontalDropdown .3s;animation:slideInHorizontalDropdown .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;position:absolute!important;top:1.55rem;max-width:9.5rem} .option-panel .mat-option{border-bottom-width:1px;border-bottom-style:solid;padding-left:1em} .option-panel :last-child{border-bottom:none} .cdk-overlay-pane{min-width:0rem!important}.dropdown-form-field[_ngcontent-%COMP%]{height:3rem;width:100%}.dropdown-form-field[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{padding-bottom:.063rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem} .ccf-dropdown .mat-select-arrow-wrapper{transform:translatey(-.5em)}"],changeDetection:0}),e}(),XZ=r(25430),YZ=r(39053),KZ=r(26202),$Z=["tooltipTemplate"],QZ=["leftOuterSelectionBar"],ZZ=["rightOuterSelectionBar"],JZ=["fullBar"],eJ=["selectionBar"],tJ=["minHandle"],nJ=["maxHandle"],iJ=["floorLabel"],rJ=["ceilLabel"],oJ=["minHandleLabel"],aJ=["maxHandleLabel"],sJ=["combinedLabel"],uJ=["ticksElement"];function cJ(e,t){if(1&e&&Is(0,"ng5-slider-tooltip-wrapper",31),2&e){var n=Ws().$implicit;Ts("template",Ws().tooltipTemplate)("tooltip",n.valueTooltip)("placement",n.valueTooltipPlacement)("content",n.value)}}function lJ(e,t){1&e&&Is(0,"span",32),2&e&&Ts("innerHTML",Ws().$implicit.legend,qr)}var hJ=function(e){return{"ng5-slider-selected":e}};function dJ(e,t){if(1&e&&(Ps(0,"span",27),Is(1,"ng5-slider-tooltip-wrapper",28),Cs(2,cJ,1,4,"ng5-slider-tooltip-wrapper",29),Cs(3,lJ,1,1,"span",30),Ms()),2&e){var n=t.$implicit,i=Ws();Ts("ngClass",$c(7,hJ,n.selected))("ngStyle",n.style),Yo(1),Ts("template",i.tooltipTemplate)("tooltip",n.tooltip)("placement",n.tooltipPlacement),Yo(1),Ts("ngIf",null!=n.value),Yo(1),Ts("ngIf",null!=n.legend)}}function fJ(e,t){}function pJ(e,t){1&e&&Cs(0,fJ,0,0,"ng-template")}var vJ=function(e,t,n){return{tooltip:e,placement:t,content:n}};function gJ(e,t){if(1&e&&(Rs(0),Cs(1,pJ,1,0,void 0,1),Ds()),2&e){var n=Ws();Yo(1),Ts("ngTemplateOutlet",n.template)("ngTemplateOutletContext",function(e,t,n,i,r,o){return function(e,t,n,i,r,o,a,s){var u=t+n;return function(e,t,n,i,r){var o=ws(e,t,n,i);return _s(e,t+2,r)||o}(e,u,r,o,a)?bs(e,u+3,s?i.call(s,r,o,a):i(r,o,a)):Qc(e,u+3)}(mn(),On(),e,t,n,i,r,o)}(2,vJ,n.tooltip,n.placement,n.content))}}function mJ(e,t){if(1&e&&(Rs(0),Ps(1,"div",2),Cu(2),Ms(),Ds()),2&e){var n=Ws();Yo(1),ks("title",n.tooltip)("data-tooltip-placement",n.placement),Yo(1),Ou(" ",n.content," ")}}var yJ={Min:0,Max:1};yJ[yJ.Min]="Min",yJ[yJ.Max]="Max";var bJ={Low:0,High:1,Floor:2,Ceil:3,TickValue:4};bJ[bJ.Low]="Low",bJ[bJ.High]="High",bJ[bJ.Floor]="Floor",bJ[bJ.Ceil]="Ceil",bJ[bJ.TickValue]="TickValue";var _J=function e(){m(this,e),this.floor=0,this.ceil=null,this.step=1,this.minRange=null,this.maxRange=null,this.pushRange=!1,this.minLimit=null,this.maxLimit=null,this.translate=null,this.combineLabels=null,this.getLegend=null,this.stepsArray=null,this.bindIndexForStepsArray=!1,this.draggableRange=!1,this.draggableRangeOnly=!1,this.showSelectionBar=!1,this.showSelectionBarEnd=!1,this.showSelectionBarFromValue=null,this.showOuterSelectionBars=!1,this.hidePointerLabels=!1,this.hideLimitLabels=!1,this.autoHideLimitLabels=!0,this.readOnly=!1,this.disabled=!1,this.mouseEventsInterval=50,this.touchEventsInterval=50,this.inputEventsInterval=100,this.outputEventsInterval=100,this.showTicks=!1,this.showTicksValues=!1,this.tickStep=null,this.tickValueStep=1,this.ticksArray=null,this.ticksTooltip=null,this.ticksValuesTooltip=null,this.vertical=!1,this.getSelectionBarColor=null,this.getTickColor=null,this.getPointerColor=null,this.keyboardSupport=!0,this.scale=1,this.enforceStep=!0,this.enforceRange=!0,this.noSwitching=!1,this.onlyBindHandles=!1,this.rightToLeft=!1,this.reversedControls=!1,this.boundPointerLabels=!0,this.logScale=!1,this.customValueToPosition=null,this.customPositionToValue=null,this.precisionLimit=12,this.selectionBarGradient=null,this.ariaLabel=null,this.ariaLabelledBy=null,this.ariaLabelHigh=null,this.ariaLabelledByHigh=null,this.handleDimension=null,this.barDimension=null,this.animate=!0},wJ=function e(){m(this,e)},kJ=function(){function e(){m(this,e)}return b(e,null,[{key:"isNullOrUndefined",value:function(e){return null==e}},{key:"linearValueToPosition",value:function(e,t,n){return(e-t)/(n-t)}},{key:"logValueToPosition",value:function(e,t,n){return((e=Math.log(e))-(t=Math.log(t)))/((n=Math.log(n))-t)}},{key:"linearPositionToValue",value:function(e,t,n){return e*(n-t)+t}},{key:"logPositionToValue",value:function(e,t,n){return t=Math.log(t),n=Math.log(n),Math.exp(e*(n-t)+t)}},{key:"findStepIndex",value:function(e,t){for(var n=t.map(function(t){return Math.abs(e-t.value)}),i=0,r=0;r0&&0===this.dimension)&&(t=!0),this._value=e,this.elemRef.nativeElement.innerHTML=e,t&&this.calculateDimension()}}]),n}(OJ);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(nc),Os(Cc))},e.\u0275dir=Rt({type:e,selectors:[["","ng5SliderLabel",""]],features:[cs]}),e}(),PJ=function e(){m(this,e),this.selected=!1,this.style={},this.tooltip=null,this.tooltipPlacement=null,this.value=null,this.valueTooltip=null,this.valueTooltipPlacement=null,this.legend=null},MJ=function e(){m(this,e),this.active=!1,this.value=0,this.difference=0,this.position=0,this.lowLimit=0,this.highLimit=0},IJ=function(){function e(){m(this,e)}return b(e,null,[{key:"compare",value:function(e,t){return!(kJ.isNullOrUndefined(e)&&kJ.isNullOrUndefined(t)||kJ.isNullOrUndefined(e)!==kJ.isNullOrUndefined(t))&&e.value===t.value&&e.highValue===t.highValue}}]),e}(),RJ=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,null,[{key:"compare",value:function(e,t){return!(kJ.isNullOrUndefined(e)&&kJ.isNullOrUndefined(t)||kJ.isNullOrUndefined(e)!==kJ.isNullOrUndefined(t))&&e.value===t.value&&e.highValue===t.highValue&&e.forceChange===t.forceChange}}]),n}(IJ),DJ={provide:Hz,useExisting:He(function(){return NJ}),multi:!0},NJ=function(){var e=function(){function e(t,n,i,r){m(this,e),this.renderer=t,this.elementRef=n,this.changeDetectionRef=i,this.zone=r,this.value=null,this.valueChange=new ol,this.highValue=null,this.highValueChange=new ol,this.options=new _J,this.userChangeStart=new ol,this.userChange=new ol,this.userChangeEnd=new ol,this.initHasRun=!1,this.inputModelChangeSubject=new XZ.xQ,this.inputModelChangeSubscription=null,this.outputModelChangeSubject=new XZ.xQ,this.outputModelChangeSubscription=null,this.viewLowValue=null,this.viewHighValue=null,this.viewOptions=new _J,this.handleHalfDimension=0,this.maxHandlePosition=0,this.currentTrackingPointer=null,this.currentFocusPointer=null,this.firstKeyDown=!1,this.touchId=null,this.dragging=new MJ,this.sliderElementVerticalClass=!1,this.sliderElementAnimateClass=!1,this.sliderElementDisabledAttr=null,this.barStyle={},this.minPointerStyle={},this.maxPointerStyle={},this.fullBarTransparentClass=!1,this.selectionBarDraggableClass=!1,this.ticksUnderValuesClass=!1,this.intermediateTicks=!1,this.ticks=[],this.eventListenerHelper=null,this.onMoveEventListener=null,this.onEndEventListener=null,this.resizeObserver=null,this.onTouchedCallback=null,this.onChangeCallback=null,this.eventListenerHelper=new EJ(this.renderer)}return b(e,[{key:"manualRefresh",set:function(e){var t=this;this.unsubscribeManualRefresh(),this.manualRefreshSubscription=e.subscribe(function(){setTimeout(function(){return t.calculateViewDimensionsAndDetectChanges()})})}},{key:"triggerFocus",set:function(e){var t=this;this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=e.subscribe(function(e){t.focusPointer(e)})}},{key:"range",get:function(){return!kJ.isNullOrUndefined(this.value)&&!kJ.isNullOrUndefined(this.highValue)}},{key:"showTicks",get:function(){return this.viewOptions.showTicks}},{key:"ngOnInit",value:function(){this.viewOptions=new _J,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState()}},{key:"ngAfterViewInit",value:function(){this.applyOptions(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval),this.subscribeOutputModelChangeSubject(this.viewOptions.outputEventsInterval),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}},{key:"ngOnChanges",value:function(e){kJ.isNullOrUndefined(e.options)||this.onChangeOptions(),(!kJ.isNullOrUndefined(e.value)||!kJ.isNullOrUndefined(e.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}},{key:"ngOnDestroy",value:function(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}},{key:"writeValue",value:function(e){e instanceof Array?(this.value=e[0],this.highValue=e[1]):this.value=e,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}},{key:"registerOnChange",value:function(e){this.onChangeCallback=e}},{key:"registerOnTouched",value:function(e){this.onTouchedCallback=e}},{key:"setDisabledState",value:function(e){this.viewOptions.disabled=e,this.updateDisabledState()}},{key:"onResize",value:function(e){this.calculateViewDimensionsAndDetectChanges()}},{key:"subscribeInputModelChangeSubject",value:function(e){var t=this;this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe((0,YZ.distinctUntilChanged)(RJ.compare),(0,YZ.filter)(function(e){return!e.forceChange&&!e.internalChange}),kJ.isNullOrUndefined(e)?(0,YZ.tap)(function(){}):(0,YZ.throttleTime)(e,void 0,{leading:!0,trailing:!0})).subscribe(function(e){return t.applyInputModelChange(e)})}},{key:"subscribeOutputModelChangeSubject",value:function(e){var t=this;this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe((0,YZ.distinctUntilChanged)(RJ.compare),kJ.isNullOrUndefined(e)?(0,YZ.tap)(function(){}):(0,YZ.throttleTime)(e,void 0,{leading:!0,trailing:!0})).subscribe(function(e){return t.publishOutputModelChange(e)})}},{key:"subscribeResizeObserver",value:function(){var e=this;xJ.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(function(){return e.calculateViewDimensionsAndDetectChanges()}),this.resizeObserver.observe(this.elementRef.nativeElement))}},{key:"unsubscribeResizeObserver",value:function(){xJ.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"unsubscribeOnMove",value:function(){kJ.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}},{key:"unsubscribeOnEnd",value:function(){kJ.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}},{key:"unsubscribeInputModelChangeSubject",value:function(){kJ.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}},{key:"unsubscribeOutputModelChangeSubject",value:function(){kJ.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}},{key:"unsubscribeManualRefresh",value:function(){kJ.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}},{key:"unsubscribeTriggerFocus",value:function(){kJ.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}},{key:"getPointerElement",value:function(e){return e===yJ.Min?this.minHandleElement:e===yJ.Max?this.maxHandleElement:null}},{key:"getCurrentTrackingValue",value:function(){return this.currentTrackingPointer===yJ.Min?this.viewLowValue:this.currentTrackingPointer===yJ.Max?this.viewHighValue:null}},{key:"modelValueToViewValue",value:function(e){return kJ.isNullOrUndefined(e)?NaN:kJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+e:kJ.findStepIndex(+e,this.viewOptions.stepsArray)}},{key:"viewValueToModelValue",value:function(e){return kJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?e:this.getStepValue(e)}},{key:"getStepValue",value:function(e){var t=this.viewOptions.stepsArray[e];return kJ.isNullOrUndefined(t)?NaN:t.value}},{key:"applyViewChange",value:function(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!0})}},{key:"applyInputModelChange",value:function(e){var t=this.normaliseModelValues(e),n=!IJ.compare(e,t);n&&(this.value=t.value,this.highValue=t.highValue),this.viewLowValue=this.modelValueToViewValue(t.value),this.viewHighValue=this.range?this.modelValueToViewValue(t.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:t.value,highValue:t.highValue,forceChange:n,userEventInitiated:!1})}},{key:"publishOutputModelChange",value:function(e){var t=this,n=function(){t.valueChange.emit(e.value),t.range&&t.highValueChange.emit(e.highValue),kJ.isNullOrUndefined(t.onChangeCallback)||t.onChangeCallback(t.range?[e.value,e.highValue]:e.value),kJ.isNullOrUndefined(t.onTouchedCallback)||t.onTouchedCallback(t.range?[e.value,e.highValue]:e.value)};e.userEventInitiated?(n(),this.userChange.emit(this.getChangeContext())):setTimeout(function(){n()})}},{key:"normaliseModelValues",value:function(e){var t=new IJ;if(t.value=e.value,t.highValue=e.highValue,this.viewOptions.enforceStep&&(t.value=this.roundStep(t.value),this.range&&(t.highValue=this.roundStep(t.highValue))),!kJ.isNullOrUndefined(this.viewOptions.stepsArray)||!this.viewOptions.enforceRange)return t;if(t.value=SJ.clampToRange(t.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(t.highValue=SJ.clampToRange(t.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&e.value>e.highValue)if(this.viewOptions.noSwitching)t.value=t.highValue;else{var n=e.value;t.value=e.highValue,t.highValue=n}return t}},{key:"renormaliseModelValues",value:function(){var e={value:this.value,highValue:this.highValue},t=this.normaliseModelValues(e);IJ.compare(t,e)||(this.value=t.value,this.highValue=t.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!0,userEventInitiated:!1}))}},{key:"onChangeOptions",value:function(){if(this.initHasRun){var e=this.viewOptions.inputEventsInterval,t=this.viewOptions.outputEventsInterval;this.applyOptions(),e!==this.viewOptions.inputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval)),t!==this.viewOptions.outputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.outputEventsInterval)),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider()}}},{key:"applyOptions",value:function(){if(this.viewOptions=new _J,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!kJ.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!kJ.isNullOrUndefined(this.viewOptions.tickStep)||!kJ.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!kJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),kJ.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),kJ.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=function(e,t){return e+" - "+t}),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}},{key:"applyStepsArrayOptions",value:function(){var e=this;this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,kJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=function(t){return String(e.viewOptions.bindIndexForStepsArray?e.getStepValue(t):t)}),this.viewOptions.getLegend=function(t){return e.viewOptions.stepsArray[t].legend}}},{key:"applyFloorCeilOptions",value:function(){if(kJ.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),kJ.isNullOrUndefined(this.viewOptions.ceil)||kJ.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,kJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=function(e){return String(e)})}},{key:"resetSlider",value:function(){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.unbindEvents(),this.manageEventsBindings(),this.updateDisabledState(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}},{key:"focusPointer",value:function(e){e!==yJ.Min&&e!==yJ.Max&&(e=yJ.Min),e===yJ.Min?this.minHandleElement.focus():this.range&&e===yJ.Max&&this.maxHandleElement.focus()}},{key:"refocusPointerIfNeeded",value:function(){kJ.isNullOrUndefined(this.currentFocusPointer)||(this.onPointerFocus(this.currentFocusPointer),this.getPointerElement(this.currentFocusPointer).focus())}},{key:"manageElementsStyle",value:function(){var e=this;this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);var t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(function(){e.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(function(){e.sliderElementAnimateClass=e.viewOptions.animate})}},{key:"manageEventsBindings",value:function(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}},{key:"updateDisabledState",value:function(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}},{key:"updateVerticalState",value:function(){this.sliderElementVerticalClass=this.viewOptions.vertical;var e,t=_(this.getAllSliderElements());try{for(t.s();!(e=t.n()).done;){var n=e.value;kJ.isNullOrUndefined(n)||n.setVertical(this.viewOptions.vertical)}}catch(i){t.e(i)}finally{t.f()}}},{key:"updateScale",value:function(){var e,t=_(this.getAllSliderElements());try{for(t.s();!(e=t.n()).done;){e.value.setScale(this.viewOptions.scale)}}catch(n){t.e(n)}finally{t.f()}}},{key:"getAllSliderElements",value:function(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}},{key:"initHandles",value:function(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}},{key:"addAccessibility",value:function(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.viewOptions.vertical&&(this.minHandleElement.ariaOrientation="vertical"),kJ.isNullOrUndefined(this.viewOptions.ariaLabel)?kJ.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical?"vertical":"horizontal",kJ.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?kJ.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}},{key:"updateAriaAttributes",value:function(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,bJ.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,bJ.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}},{key:"calculateViewDimensions",value:function(){kJ.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);var e=this.minHandleElement.dimension;this.handleHalfDimension=e/2,kJ.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-e,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}},{key:"calculateViewDimensionsAndDetectChanges",value:function(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}},{key:"isRefDestroyed",value:function(){return this.changeDetectionRef.destroyed}},{key:"updateTicksScale",value:function(){var e=this;if(this.viewOptions.showTicks){var t=kJ.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,n=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();var i=t.map(function(t){var i=e.valueToPosition(t);e.viewOptions.vertical&&(i=e.maxHandlePosition-i);var r=n+"("+Math.round(i)+"px)",o=new PJ;if(o.selected=e.isTickSelected(t),o.style={"-webkit-transform":r,"-moz-transform":r,"-o-transform":r,"-ms-transform":r,transform:r},o.selected&&!kJ.isNullOrUndefined(e.viewOptions.getSelectionBarColor)&&(o.style["background-color"]=e.getSelectionBarColor()),!o.selected&&!kJ.isNullOrUndefined(e.viewOptions.getTickColor)&&(o.style["background-color"]=e.getTickColor(t)),kJ.isNullOrUndefined(e.viewOptions.ticksTooltip)||(o.tooltip=e.viewOptions.ticksTooltip(t),o.tooltipPlacement=e.viewOptions.vertical?"right":"top"),e.viewOptions.showTicksValues&&t%e.viewOptions.tickValueStep==0&&(o.value=e.getDisplayValue(t,bJ.TickValue),kJ.isNullOrUndefined(e.viewOptions.ticksValuesTooltip)||(o.valueTooltip=e.viewOptions.ticksValuesTooltip(t),o.valueTooltipPlacement=e.viewOptions.vertical?"right":"top")),!kJ.isNullOrUndefined(e.viewOptions.getLegend)){var a=e.viewOptions.getLegend(t);kJ.isNullOrUndefined(a)||(o.legend=a)}return o});if(kJ.isNullOrUndefined(this.ticks)||this.ticks.length!==i.length)this.ticks=i;else for(var r=0;r=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&e<=this.viewLowValue)return!0}else{var t=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>t&&e>=t&&e<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&e>=this.viewLowValue&&e<=this.viewHighValue)}},{key:"updateFloorLabel",value:function(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,bJ.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}},{key:"updateCeilLabel",value:function(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,bJ.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}},{key:"updateHandles",value:function(e,t){e===yJ.Min?this.updateLowHandle(t):e===yJ.Max&&this.updateHighHandle(t),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}},{key:"getHandleLabelPos",value:function(e,t){var n=e===yJ.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,i=t-n/2+this.handleHalfDimension,r=this.fullBarElement.dimension-n;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&e===yJ.Min||!this.viewOptions.rightToLeft&&e===yJ.Max?Math.min(i,r):Math.min(Math.max(i,0),r):i}},{key:"updateLowHandle",value:function(e){this.minHandleElement.setPosition(e),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,bJ.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(yJ.Min,e)),kJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(yJ.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}},{key:"updateHighHandle",value:function(e){this.maxHandleElement.setPosition(e),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,bJ.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(yJ.Max,e)),kJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(yJ.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}},{key:"updateFloorAndCeilLabelsVisibility",value:function(){if(!this.viewOptions.hidePointerLabels){var e=!1,t=!1,n=this.isLabelBelowFloorLabel(this.minHandleLabelElement),i=this.isLabelAboveCeilLabel(this.minHandleLabelElement),r=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),o=this.isLabelBelowFloorLabel(this.combinedLabelElement),a=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(n?(e=!0,this.floorLabelElement.hide()):(e=!1,this.floorLabelElement.show()),i?(t=!0,this.ceilLabelElement.hide()):(t=!1,this.ceilLabelElement.show()),this.range){var s=this.combinedLabelElement.isVisible()?a:r,u=this.combinedLabelElement.isVisible()?o:n;s?this.ceilLabelElement.hide():t||this.ceilLabelElement.show(),u?this.floorLabelElement.hide():e||this.floorLabelElement.show()}}}},{key:"isLabelBelowFloorLabel",value:function(e){var t=e.position,n=this.floorLabelElement.position;return this.viewOptions.rightToLeft?t+e.dimension>=n-2:t<=n+this.floorLabelElement.dimension+2}},{key:"isLabelAboveCeilLabel",value:function(e){var t=e.position,n=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?t<=n+this.ceilLabelElement.dimension+2:t+e.dimension>=n-2}},{key:"updateSelectionBar",value:function(){var e=0,t=0,n=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,i=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)t=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),e=i;else if(kJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))n?(t=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),e=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(t=this.minHandleElement.position+this.handleHalfDimension,e=0);else{var r=this.viewOptions.showSelectionBarFromValue,o=this.valueToPosition(r);(this.viewOptions.rightToLeft?this.viewLowValue<=r:this.viewLowValue>r)?(t=this.minHandleElement.position-o,e=o+this.handleHalfDimension):(t=o-this.minHandleElement.position,e=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(t),this.selectionBarElement.setPosition(e),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(e),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(e+t)),this.leftOuterSelectionBarElement.setPosition(e+t)):(this.leftOuterSelectionBarElement.setDimension(e),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(e+t)),this.rightOuterSelectionBarElement.setPosition(e+t))),kJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!kJ.isNullOrUndefined(this.viewOptions.selectionBarGradient)){var a=kJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),s=a-e>0&&!n||a-e<=0&&n;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?s?"bottom":"top":s?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(a+t+e+(s?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=a-e+(s?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{var u=this.getSelectionBarColor();this.barStyle={backgroundColor:u}}}},{key:"getSelectionBarColor",value:function(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}},{key:"getPointerColor",value:function(e){return this.viewOptions.getPointerColor(e===yJ.Max?this.highValue:this.value,e)}},{key:"getTickColor",value:function(e){return this.viewOptions.getTickColor(e)}},{key:"updateCombinedLabel",value:function(){if(this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position){var e=this.getDisplayValue(this.viewLowValue,bJ.Low),t=this.getDisplayValue(this.viewHighValue,bJ.High),n=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(t,e):this.viewOptions.combineLabels(e,t);this.combinedLabelElement.setValue(n);var i=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(i),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}},{key:"getDisplayValue",value:function(e,t){return!kJ.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(e=this.getStepValue(e)),this.viewOptions.translate(e,t)}},{key:"roundStep",value:function(e,t){var n=kJ.isNullOrUndefined(t)?this.viewOptions.step:t,i=SJ.roundToPrecisionLimit((e-this.viewOptions.floor)/n,this.viewOptions.precisionLimit);return i=Math.round(i)*n,SJ.roundToPrecisionLimit(this.viewOptions.floor+i,this.viewOptions.precisionLimit)}},{key:"valueToPosition",value:function(e){var t=kJ.linearValueToPosition;kJ.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(t=kJ.logValueToPosition):t=this.viewOptions.customValueToPosition;var n=t(e=SJ.clampToRange(e,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return kJ.isNullOrUndefined(n)&&(n=0),this.viewOptions.rightToLeft&&(n=1-n),n*this.maxHandlePosition}},{key:"positionToValue",value:function(e){var t=e/this.maxHandlePosition;this.viewOptions.rightToLeft&&(t=1-t);var n=kJ.linearPositionToValue;kJ.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(n=kJ.logPositionToValue):n=this.viewOptions.customPositionToValue;var i=n(t,this.viewOptions.floor,this.viewOptions.ceil);return kJ.isNullOrUndefined(i)?0:i}},{key:"getEventXY",value:function(e,t){if(e instanceof MouseEvent)return this.viewOptions.vertical?e.clientY:e.clientX;var n=0,i=e.touches;if(!kJ.isNullOrUndefined(t))for(var r=0;ri?yJ.Max:this.viewOptions.rightToLeft?t>this.minHandleElement.position?yJ.Min:yJ.Max:t=this.maxHandlePosition?o=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(o=this.positionToValue(a),o=t&&!kJ.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(o,this.viewOptions.tickStep):this.roundStep(o)),this.positionTrackingHandle(o)}},{key:"onEnd",value:function(e){xJ.isTouchEvent(e)&&e.changedTouches[0].identifier!==this.touchId||(this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext()))}},{key:"onPointerFocus",value:function(e){var t=this,n=this.getPointerElement(e);n.on("blur",function(){return t.onPointerBlur(n)}),n.on("keydown",function(e){return t.onKeyboardEvent(e)}),n.on("keyup",function(){return t.onKeyUp()}),n.active=!0,this.currentTrackingPointer=e,this.currentFocusPointer=e,this.firstKeyDown=!0}},{key:"onKeyUp",value:function(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}},{key:"onPointerBlur",value:function(e){e.off("blur"),e.off("keydown"),e.off("keyup"),e.active=!1,kJ.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}},{key:"getKeyActions",value:function(e){var t=this.viewOptions.ceil-this.viewOptions.floor,n=e+this.viewOptions.step,i=e-this.viewOptions.step,r=e+t/10,o=e-t/10;this.viewOptions.reversedControls&&(n=e-this.viewOptions.step,i=e+this.viewOptions.step,r=e-t/10,o=e+t/10);var a={UP:n,DOWN:i,LEFT:i,RIGHT:n,PAGEUP:r,PAGEDOWN:o,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(a.LEFT=n,a.RIGHT=i,this.viewOptions.vertical&&(a.UP=i,a.DOWN=n)),a}},{key:"onKeyboardEvent",value:function(e){var t=this.getCurrentTrackingValue(),n=kJ.isNullOrUndefined(e.keyCode)?e.which:e.keyCode,i=this.getKeyActions(t)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[n]];if(!kJ.isNullOrUndefined(i)&&!kJ.isNullOrUndefined(this.currentTrackingPointer)){e.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));var r=SJ.clampToRange(i,this.viewOptions.floor,this.viewOptions.ceil),o=this.roundStep(r);if(this.viewOptions.draggableRangeOnly){var a,s,u=this.viewHighValue-this.viewLowValue;this.currentTrackingPointer===yJ.Min?(a=o,(s=o+u)>this.viewOptions.ceil&&(a=(s=this.viewOptions.ceil)-u)):this.currentTrackingPointer===yJ.Max&&(s=o,(a=o-u)=this.maxHandlePosition-t;if(o<=n){if(0===i.position)return;a=this.getMinValue(o,!0,!1),s=this.getMaxValue(o,!0,!1)}else if(u){if(r.position===this.maxHandlePosition)return;s=this.getMaxValue(o,!0,!0),a=this.getMinValue(o,!0,!0)}else a=this.getMinValue(o,!1,!1),s=this.getMaxValue(o,!1,!1);this.positionTrackingBar(a,s)}},{key:"positionTrackingBar",value:function(e,t){!kJ.isNullOrUndefined(this.viewOptions.minLimit)&&ethis.viewOptions.maxLimit&&(e=SJ.roundToPrecisionLimit((t=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=e,this.viewHighValue=t,this.applyViewChange(),this.updateHandles(yJ.Min,this.valueToPosition(e)),this.updateHandles(yJ.Max,this.valueToPosition(t))}},{key:"positionTrackingHandle",value:function(e){e=this.applyMinMaxLimit(e),this.range&&(this.viewOptions.pushRange?e=this.applyPushRange(e):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===yJ.Min&&e>this.viewHighValue?e=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===yJ.Max&&ethis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(yJ.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=yJ.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===yJ.Max&&ethis.viewOptions.maxLimit?this.viewOptions.maxLimit:e}},{key:"applyMinMaxRange",value:function(e){var t=Math.abs(e-(this.currentTrackingPointer===yJ.Min?this.viewHighValue:this.viewLowValue));if(!kJ.isNullOrUndefined(this.viewOptions.minRange)&&tthis.viewOptions.maxRange){if(this.currentTrackingPointer===yJ.Min)return SJ.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===yJ.Max)return SJ.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return e}},{key:"applyPushRange",value:function(e){var t=this.currentTrackingPointer===yJ.Min?this.viewHighValue-e:e-this.viewLowValue,n=kJ.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,i=this.viewOptions.maxRange;return ti&&(this.currentTrackingPointer===yJ.Min?(this.viewHighValue=SJ.roundToPrecisionLimit(e+i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(yJ.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===yJ.Max&&(this.viewLowValue=SJ.roundToPrecisionLimit(e-i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(yJ.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),e}},{key:"getChangeContext",value:function(){var e=new wJ;return e.pointerType=this.currentTrackingPointer,e.value=+this.value,this.range&&(e.highValue=+this.highValue),e}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(nc),Os(Ju),Os(Cc),Os(Xl))},e.\u0275cmp=Ot({type:e,selectors:[["ng5-slider"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,$Z,5),2&e)&&(ml(i=_l())&&(t.tooltipTemplate=i.first))},viewQuery:function(e,t){var n;(1&e&&(yl(QZ,5,OJ),yl(ZZ,5,OJ),yl(JZ,5,OJ),yl(eJ,5,OJ),yl(tJ,5,TJ),yl(nJ,5,TJ),yl(iJ,5,AJ),yl(rJ,5,AJ),yl(oJ,5,AJ),yl(aJ,5,AJ),yl(sJ,5,AJ),yl(uJ,5,OJ)),2&e)&&(ml(n=_l())&&(t.leftOuterSelectionBarElement=n.first),ml(n=_l())&&(t.rightOuterSelectionBarElement=n.first),ml(n=_l())&&(t.fullBarElement=n.first),ml(n=_l())&&(t.selectionBarElement=n.first),ml(n=_l())&&(t.minHandleElement=n.first),ml(n=_l())&&(t.maxHandleElement=n.first),ml(n=_l())&&(t.floorLabelElement=n.first),ml(n=_l())&&(t.ceilLabelElement=n.first),ml(n=_l())&&(t.minHandleLabelElement=n.first),ml(n=_l())&&(t.maxHandleLabelElement=n.first),ml(n=_l())&&(t.combinedLabelElement=n.first),ml(n=_l())&&(t.ticksElement=n.first))},hostAttrs:[1,"ng5-slider"],hostVars:5,hostBindings:function(e,t){1&e&&Vs("resize",function(e){return t.onResize(e)},!1,io),2&e&&(ks("disabled",t.sliderElementDisabledAttr),cu("vertical",t.sliderElementVerticalClass)("animate",t.sliderElementAnimateClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},features:[Xu([DJ]),qt],decls:29,vars:13,consts:[["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-left-out-selection"],["leftOuterSelectionBar",""],[1,"ng5-slider-span","ng5-slider-bar"],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-right-out-selection"],["rightOuterSelectionBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-full-bar"],["fullBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-selection-bar"],["selectionBar",""],[1,"ng5-slider-span","ng5-slider-bar","ng5-slider-selection",3,"ngStyle"],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-min",3,"ngStyle"],["minHandle",""],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-max",3,"ngStyle"],["maxHandle",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-floor"],["floorLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-ceil"],["ceilLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-value"],["minHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-high"],["maxHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-combined"],["combinedLabel",""],["ng5SliderElement","",1,"ng5-slider-ticks",3,"hidden"],["ticksElement",""],["class","ng5-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ng5-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ng5-slider-span ng5-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ng5-slider-span ng5-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ng5-slider-span","ng5-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ng5-slider-span","ng5-slider-tick-legend",3,"innerHTML"]],template:function(e,t){1&e&&(Ps(0,"span",0,1),Is(2,"span",2),Ms(),Ps(3,"span",3,4),Is(5,"span",2),Ms(),Ps(6,"span",5,6),Is(8,"span",2),Ms(),Ps(9,"span",7,8),Is(11,"span",9),Ms(),Is(12,"span",10,11),Is(14,"span",12,13),Is(16,"span",14,15),Is(18,"span",16,17),Is(20,"span",18,19),Is(22,"span",20,21),Is(24,"span",22,23),Ps(26,"span",24,25),Cs(28,dJ,4,9,"span",26),Ms()),2&e&&(Yo(6),cu("ng5-slider-transparent",t.fullBarTransparentClass),Yo(3),cu("ng5-slider-draggable",t.selectionBarDraggableClass),Yo(2),Ts("ngStyle",t.barStyle),Yo(1),Ts("ngStyle",t.minPointerStyle),Yo(2),uu("display",t.range?"inherit":"none"),Ts("ngStyle",t.maxPointerStyle),Yo(12),cu("ng5-slider-ticks-values-under",t.ticksUnderValuesClass),Ts("hidden",!t.showTicks),Yo(2),Ts("ngForOf",t.ticks))},directives:function(){return[OJ,td,TJ,AJ,qh,Gh,LJ,Yh]},styles:[".ng5-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y} .ng5-slider.with-legend{margin-bottom:40px} .ng5-slider[disabled]{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ng5-slider[disabled] .ng5-slider-draggable{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-selection{background:#8b91a2} .ng5-slider[disabled] .ng5-slider-tick{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-tick.ng5-slider-selected{background:#8b91a2} .ng5-slider .ng5-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ng5-slider .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider .ng5-slider-bar-wrapper{left:0;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ng5-slider .ng5-slider-draggable{cursor:move} .ng5-slider .ng5-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;border-radius:2px} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-transparent .ng5-slider-bar{background:0 0} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-left-out-selection .ng5-slider-bar{background:#df002d} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-right-out-selection .ng5-slider-bar{background:#03a688} .ng5-slider .ng5-slider-selection{z-index:2;background:#0db9f0;border-radius:2px} .ng5-slider .ng5-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;border-radius:16px} .ng5-slider .ng5-slider-pointer:after{content:'';width:8px;height:8px;position:absolute;top:12px;left:12px;border-radius:4px;background:#fff} .ng5-slider .ng5-slider-pointer:hover:after{background-color:#fff} .ng5-slider .ng5-slider-pointer.ng5-slider-active{z-index:4} .ng5-slider .ng5-slider-pointer.ng5-slider-active:after{background-color:#451aff} .ng5-slider .ng5-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ng5-slider .ng5-slider-bubble.ng5-slider-limit{color:#55637d} .ng5-slider .ng5-slider-ticks{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ng5-slider .ng5-slider-ticks-values-under .ng5-slider-tick-value{top:auto;bottom:-36px} .ng5-slider .ng5-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ng5-slider .ng5-slider-tick.ng5-slider-selected{background:#0db9f0} .ng5-slider .ng5-slider-tick-value{position:absolute;top:-34px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)} .ng5-slider .ng5-slider-tick-legend{position:absolute;top:24px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);max-width:50px;white-space:normal} .ng5-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;-ms-touch-action:pan-x;touch-action:pan-x} .ng5-slider.vertical .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider.vertical .ng5-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ng5-slider.vertical .ng5-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ng5-slider.vertical .ng5-slider-pointer{left:-14px!important;top:auto;bottom:0} .ng5-slider.vertical .ng5-slider-bubble{left:16px!important;bottom:0} .ng5-slider.vertical .ng5-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ng5-slider.vertical .ng5-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ng5-slider.vertical .ng5-slider-tick-value{left:24px;top:auto;-webkit-transform:translate(0,-28%);transform:translate(0,-28%)} .ng5-slider.vertical .ng5-slider-tick-legend{top:auto;right:24px;-webkit-transform:translate(0,-28%);transform:translate(0,-28%);max-width:none;white-space:nowrap} .ng5-slider.vertical .ng5-slider-ticks-values-under .ng5-slider-tick-value{bottom:auto;left:auto;right:24px} .ng5-slider *{-webkit-transition:none;transition:none} .ng5-slider.animate .ng5-slider-bar-wrapper{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-selection{-webkit-transition:background-color linear .3s;transition:background-color linear .3s} .ng5-slider.animate .ng5-slider-pointer{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-limit{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-combined{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-tick{-webkit-transition:background-color linear .3s;transition:background-color linear .3s}"]}),e}(),LJ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ng5-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng5-slider-inner-tooltip"]],template:function(e,t){1&e&&(Cs(0,gJ,2,6,"ng-container",0),Cs(1,mJ,3,3,"ng-container",0)),2&e&&(Ts("ngIf",t.template),Yo(1),Ts("ngIf",!t.template))},directives:[Yh,nd],styles:[".ng5-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]}),e}(),jJ=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd]]}),e}(),FJ=["popover"];function BJ(e,t){if(1&e){var n=Ls();Ps(0,"div",7,8),Ps(2,"div"),Ps(3,"div",9),Cu(4),Ms(),Ps(5,"input",10),Vs("keyup",function(e){return bn(n),Ws().onKeyLow(e)}),Ms(),Ms(),Ps(6,"ng5-slider",11),Vs("valueChange",function(e){return bn(n),Ws().lowValue=e})("highValueChange",function(e){return bn(n),Ws().highValue=e})("userChangeEnd",function(){return bn(n),Ws().sliderValueChanged()}),Ms(),Ps(7,"div"),Ps(8,"div",12),Cu(9),Ms(),Ps(10,"input",13),Vs("keyup",function(e){return bn(n),Ws().onKeyHigh(e)}),Ms(),Ms(),Ms()}if(2&e){var i=Ws();Yo(2),Au("label min fade-in ",i.contentsVisible,""),Yo(2),Ou(" ",i.options.floor,"> "),Yo(1),Ks("value",i.lowValue),Yo(1),Au("slider fade-in ",i.contentsVisible,""),Ts("options",i.options)("value",i.lowValue)("highValue",i.highValue),Yo(1),Au("label max fade-in ",i.contentsVisible,""),Yo(2),Ou(" ",i.options.ceil," "),Yo(1),Ks("value",i.highValue)}}var VJ=function(){var e=function(){function e(t,n,i){m(this,e),this.element=n,this.ga=i,this.selectionChange=new ol,this.isSliderOpen=!1,this.contentsVisible="invisible",this.isSliderInitialized=!1;var r=t.position().flexibleConnectedTo(n).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"}]);this.overlayRef=t.create({panelClass:"slider-pane",positionStrategy:r})}return b(e,[{key:"rangeLabel",get:function(){var e=this.lowValue,t=this.highValue;return e===t?"".concat(e):"".concat(e,"-").concat(t)}},{key:"ngOnChanges",value:function(e){e.valueRange&&this.optionsChanged(),e.selection&&(this.lowValue=Math.min.apply(Math,v(this.selection)),this.highValue=Math.max.apply(Math,v(this.selection)))}},{key:"optionsChanged",value:function(){var e,t;this.options={floor:this.valueRange?this.valueRange[0]:0,ceil:this.valueRange?this.valueRange[1]:0,step:1,hideLimitLabels:!0,hidePointerLabels:!0},this.lowValue=null!==(e=this.options.floor)&&void 0!==e?e:0,this.highValue=null!==(t=this.options.ceil)&&void 0!==t?t:0}},{key:"ngOnDestroy",value:function(){this.overlayRef.dispose()}},{key:"closeSliderPopover",value:function(e){var t,n,i=this.element,r=this.isSliderOpen,o=this.popoverElement;r&&(i.nativeElement.contains(e)||(null===(n=null===(t=null==o?void 0:o.nativeElement)||void 0===t?void 0:t.contains)||void 0===n?void 0:n.call(t,e))||(this.overlayRef.detach(),this.isSliderInitialized=!1,this.isSliderOpen=!1,this.contentsVisible="invisible"))}},{key:"toggleSliderPopover",value:function(){var e=this.isSliderOpen,t=this.isSliderInitialized;t?(this.overlayRef.detach(),this.isSliderInitialized=!1):!t&&!e&&this.initializeSliderPopover(),this.contentsVisible="visible"===this.contentsVisible?"invisible":"visible",this.isSliderOpen=!e}},{key:"sliderValueChanged",value:function(){var e=this.lowValue,t=this.highValue;this.selection=[e,t],this.ga.event("slider_range_change","dual_slider","".concat(this.label,":").concat(e,":").concat(t)),this.selectionChange.emit(this.selection)}},{key:"initializeSliderPopover",value:function(){var e=this.overlayRef,t=this.popoverPortal;e.attach(t),e.updatePosition(),this.isSliderInitialized=!0}},{key:"onKeyLow",value:function(e){var t=Number(e.target.value);"Enter"===e.key&&(t>=Number(this.options.floor)&&t<=Number(this.options.ceil)&&(this.lowValue=t),e.target.value=String(this.lowValue),e.target.blur(),this.sliderValueChanged())}},{key:"onKeyHigh",value:function(e){var t=Number(e.target.value);"Enter"===e.key&&(t>=Number(this.options.floor)&&t<=Number(this.options.ceil)&&(this.highValue=t),e.target.value=String(this.highValue),e.target.blur(),this.sliderValueChanged())}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(iv),Os(Ju),Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-dual-slider"]],viewQuery:function(e,t){var n;(1&e&&(yl(vp,7),yl(FJ,5,Ju)),2&e)&&(ml(n=_l())&&(t.popoverPortal=n.first),ml(n=_l())&&(t.popoverElement=n.first))},hostBindings:function(e,t){1&e&&Vs("click",function(e){return t.closeSliderPopover(e.target)},!1,ro)("touchstart",function(e){return t.closeSliderPopover(e.target)},!1,ro)},inputs:{label:"label",valueRange:"valueRange",selection:"selection"},outputs:{selectionChange:"selectionChange"},features:[qt],decls:10,vars:4,consts:[[1,"ccf-slider","wrapper"],[1,"container"],["class","ccf-slider detached",4,"cdk-portal"],[1,"slider-form-field",3,"click"],[1,"slider-labels"],[1,"name-label"],[1,"range-label"],[1,"ccf-slider","detached"],["popover",""],[1,"label","floor"],["type","text",1,"input-low",3,"value","keyup"],[3,"options","value","highValue","valueChange","highValueChange","userChangeEnd"],[1,"label","ceil"],["type","text",1,"input-high",3,"value","keyup"]],template:function(e,t){1&e&&(Ps(0,"div",0),Ps(1,"div",1),Cs(2,BJ,11,16,"div",2),Ps(3,"mat-form-field",3),Vs("click",function(){return t.toggleSliderPopover()}),Ps(4,"div",4),Ps(5,"span",5),Cu(6),Ms(),Ps(7,"span",6),Cu(8),Ms(),Ms(),Is(9,"mat-select"),Ms(),Ms(),Ms()),2&e&&(Yo(3),cu("highlight",t.isSliderOpen),Yo(3),Eu(t.label),Yo(2),Eu(t.rangeLabel))},directives:[gp,RH,HZ,NJ],styles:[".slider-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;font-size:.875rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.slider-labels[_ngcontent-%COMP%]{display:flex;flex-direction:column}.slider-labels[_ngcontent-%COMP%] .name-label[_ngcontent-%COMP%]{padding-bottom:.25rem}.slider-labels[_ngcontent-%COMP%] .range-label[_ngcontent-%COMP%]{font-weight:bold} .ccf-slider.wrapper .mat-select-arrow-wrapper{transform:translatey(-1.5em)}@-webkit-keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .slider-pane{position:absolute!important;top:-1px}.ccf-slider.detached[_ngcontent-%COMP%]{-webkit-animation:slideInHorizontalSlider .3s;animation:slideInHorizontalSlider .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;display:flex;justify-content:center;align-items:center;width:0rem;height:4.375rem;padding:.75rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] {visibility:hidden;margin-top:.9375rem;margin-bottom:.9375rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-bar{opacity:.2;height:.15rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-selection{opacity:1}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer{width:1rem;height:1rem;top:-.405rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer:after{display:none}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:2rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.min[_ngcontent-%COMP%]{margin-right:1rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%]{margin-left:1rem;align-items:flex-end}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{text-align:right}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .floor[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%]{font-size:.875rem}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border:none;width:1.75rem;font-size:1rem;font-weight:bold;padding:0}"]}),e}();function zJ(e,t){if(1&e){var n=Ls();Ps(0,"div",4),Ps(1,"mat-checkbox",5),Vs("change",function(e){var t=bn(n).$implicit;return Ws().filterOnChange(e,t)}),Cu(2),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws();Yo(1),Ts("checked",null==r.selection?null:r.selection.includes(i)),Yo(1),Ou(" ",i," ")}}var UJ,HJ=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.selection=[],this.columns=3,this.selectionChange=new ol}return b(e,[{key:"filterOnChange",value:function(e,t){e.checked?(this.selection=[].concat(v(this.selection),[t]),this.ga.event("filter_added","filter_checkbox",t)):(this.selection=this.selection.filter(function(e){return e!==t}),this.ga.event("filter_removed","filter_checkbox",t)),this.selectionChange.emit(this.selection)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-checkbox"]],inputs:{label:"label",options:"options",selection:"selection",columns:"columns"},outputs:{selectionChange:"selectionChange"},decls:5,vars:6,consts:[[1,"filter-container"],[1,"filter-label"],[1,"options-container"],["class","option",4,"ngFor","ngForOf"],[1,"option"],[3,"checked","change"]],template:function(e,t){1&e&&(Ps(0,"div",0),Ps(1,"div",1),Cu(2),Ms(),Ps(3,"div",2),Cs(4,zJ,3,2,"div",3),Ms(),Ms()),2&e&&(Yo(2),Eu(t.label),Yo(1),cu("three",3===t.columns)("four",4===t.columns),Yo(1),Ts("ngForOf",t.options))},directives:[qh,n$],styles:[".mat-checkbox.mat-accent .mat-checkbox-checkmark-path{stroke:#fff!important} .mat-checkbox.mat-accent .mat-checkbox-inner-container{margin-right:1rem}.filter-label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}.options-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap}.options-container.three[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:33%}.options-container.four[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:25%}"],changeDetection:0}),e}(),GJ=function(){var e=function e(){m(this,e)};return e.type="[SpatialSearchUi] Really update spatial search data",e}(),WJ=UJ=function(){function e(t,n,i,r){m(this,e),this.dataSource=t,this.store=n,this.ga=r,i.pipe(sz(kZ),_v(500),mv(function(){return n.dispatch(GJ)})).subscribe()}return b(e,[{key:"startSpatialSearchFlow",value:function(e){var t=e.getState(),n=t.sex,i=t.organId,r=null==i?void 0:i.split("/").slice(-1)[0];return this.ga.event("set_organ","spatial_search_ui","".concat(n,"_").concat(r)),e.dispatch(new vZ(n))}},{key:"setSex",value:function(e,t){var n=t.sex,i=e.getState().organId;e.patchState({sex:n}),this.ga.event("set_sex","spatial_search_ui",n),void 0!==i&&!this.organValidForSex(i,n)&&(i=void 0);var r=Object.assign(Object.assign({},this.store.selectSnapshot(AQ.filter)),{spatialSearches:[]}),o=this.store.selectSnapshot(zQ.referenceOrgans);return this.dataSource.getOntologyTermOccurences(r).pipe(_p(1),mv(function(t){e.patchState({referenceOrgans:o.filter(function(e){return e.id&&!e.disabled&&t[e.id]>0})}),e.dispatch(new gZ(i))}))}},{key:"setOrgan",value:function(e,t){var n=t.organId,i=e.getState().sex;e.patchState({sex:i,organId:n});var r=null==n?void 0:n.split("/").slice(-1)[0];this.ga.event("set_organ","spatial_search_ui",r);var o=this.store.selectSnapshot(UJ.organEntity);if(o&&n&&o.sex){var a=o.x_dimension,s=o.y_dimension,u=o.z_dimension,c={x:Math.round(a/2),y:Math.round(s/2),z:Math.round(u/2)},l=Math.round(.07*Math.max(a,s,u)),h=this.store.selectSnapshot(AQ.filter),d=Object.assign(Object.assign({},h),{sex:o.sex,ontologyTerms:[n],spatialSearches:[]});return this.dataSource.getReferenceOrganScene(n,d).pipe(_p(1),mv(function(t){e.patchState({position:c,radius:l,defaultPosition:c,radiusSettings:{min:Math.min(l,5),max:Math.floor(Math.max(a,s,u)/1.5),defaultValue:l},organScene:JY(o).concat(t)})}),ke(function(){return e.dispatch(new kZ)}))}}},{key:"setPosition",value:function(e,t){var n=t.position;e.patchState({position:n}),e.dispatch(new kZ);var i=n.x,r=n.y,o=n.z;this.ga.event("set_position","spatial_search_ui","".concat(i,"_").concat(r,"_").concat(o))}},{key:"resetPosition",value:function(e){var t=e.getState().defaultPosition;e.patchState({position:t}),e.dispatch(new kZ);var n=null!=t?t:{x:0,y:0,z:0},i=n.x,r=n.y,o=n.z;this.ga.event("reset_position","spatial_search_ui","".concat(i,"_").concat(r,"_").concat(o))}},{key:"moveToNode",value:function(e,n){var i=n.node,r=t(new $O(i.transformMatrix).getTranslation().map(function(e){return Math.round(1e3*e)}),3),o=r[0],a=r[1],s=r[2];return e.dispatch(new mZ({x:o,y:a,z:s}))}},{key:"setRadius",value:function(e,t){var n=t.radius;e.patchState({radius:n}),e.dispatch(new kZ),this.ga.event("set_radius","spatial_search_ui",n.toFixed(1))}},{key:"resetRadius",value:function(e){var t,n=e.getState().radiusSettings,i=null!==(t=null==n?void 0:n.defaultValue)&&void 0!==t?t:0;e.patchState({radius:i}),e.dispatch(new kZ),this.ga.event("reset_radius","spatial_search_ui",i.toFixed(1))}},{key:"updateSpatialSearch",value:function(e){var t=e.getState(),n=t.position,i=t.radius,r=this.store.selectSnapshot(UJ.organEntity);if(r&&n&&i&&r.representation_of){var o=this.dataSource,a=r.representation_of,s=this.store.selectSnapshot(AQ.filter),u=Object.assign(Object.assign({},s),{sex:r.sex,ontologyTerms:[a],spatialSearches:[Object.assign(Object.assign({},n),{radius:i,target:r["@id"]})]});return jb({spatialSearchScene:o.getReferenceOrganScene(a,u).pipe(_p(1)),tissueBlocks:o.getTissueBlockResults(u).pipe(_p(1)),anatomicalStructures:o.getOntologyTermOccurences(u).pipe(_p(1)),cellTypes:o.getCellTypeTermOccurences(u).pipe(_p(1))}).pipe(mv(function(t){return e.patchState(t)}))}}},{key:"generateSpatialSearch",value:function(e){var t=e.getState(),n=t.position,i=t.radius,r=t.sex,o=t.organId,a=t.referenceOrgans,s=void 0===a?[]:a,u=t.executeSearchOnGeneration,c=this.store.selectSnapshot(UJ.organEntity),l=s.find(function(e){return e.id===o});if(n&&i&&(null==c?void 0:c.representation_of)&&l){var h=Object.assign(Object.assign({},n),{radius:i,target:c["@id"]}),d=[new PQ(r,l.name,h)];if(u){var f=this.store.selectSnapshot(DQ.selectedSearches);d.push(new xQ({spatialSearches:f.concat(h)}))}return this.ga.event("generate_search","spatial_search_ui"),e.dispatch(d).pipe(mv(function(){return e.patchState({sex:"female",organId:void 0})}))}}},{key:"setExecuteSearchOnGenerate",value:function(e,t){var n=t.execute;e.patchState({executeSearchOnGeneration:n})}},{key:"organValidForSex",value:function(e,t){var n=this.store.selectSnapshot(zQ.referenceOrgans).find(function(t){return t.id===e});return n.hasSex||n.sex===t}}],[{key:"organEntity",value:function(e,t){var n=e.organId,i=e.sex;return t.find(function(e){var t;return e.representation_of===n&&(null===(t=e.sex)||void 0===t?void 0:t.toLowerCase())===i})}}]),e}();WJ.\u0275fac=function(e){return new(e||WJ)(Zi(j$),Zi(Az),Zi(fz),Zi(yq))},WJ.\u0275prov=$e({token:WJ,factory:WJ.\u0275fac}),Mw([jz(pZ)],WJ.prototype,"startSpatialSearchFlow",null),Mw([jz(vZ)],WJ.prototype,"setSex",null),Mw([jz(gZ)],WJ.prototype,"setOrgan",null),Mw([jz(mZ)],WJ.prototype,"setPosition",null),Mw([jz(bZ)],WJ.prototype,"resetPosition",null),Mw([jz(yZ)],WJ.prototype,"moveToNode",null),Mw([jz(_Z)],WJ.prototype,"setRadius",null),Mw([jz(wZ)],WJ.prototype,"resetRadius",null),Mw([jz(GJ)],WJ.prototype,"updateSpatialSearch",null),Mw([jz(xZ)],WJ.prototype,"generateSpatialSearch",null),Mw([jz(SZ)],WJ.prototype,"setExecuteSearchOnGenerate",null),Mw([Vz([UJ,zQ.referenceOrganEntities])],WJ,"organEntity",null),WJ=UJ=Mw([Fz({name:"spatialSearchUi",defaults:{sex:"female",executeSearchOnGeneration:!0}})],WJ);var qJ=function(){function e(){m(this,e)}return b(e,null,[{key:"sex",value:function(e){return e.sex}},{key:"referenceOrgans",value:function(e){var t;return null!==(t=e.referenceOrgans)&&void 0!==t?t:[]}},{key:"organId",value:function(e){return e.organId}},{key:"organ",value:function(e,t){if(void 0!==e)return t.find(function(t){return t.id===e})}},{key:"organs",value:function(e,t){var n=this;return t.filter(function(t){return n.organMatchesSex(t,e)})}},{key:"organMatchesSex",value:function(e,t){return e.hasSex||e.sex===t}},{key:"position",value:function(e){var t;return null!==(t=e.position)&&void 0!==t?t:{x:0,y:0,z:0}}},{key:"defaultPosition",value:function(e){var t;return null!==(t=e.defaultPosition)&&void 0!==t?t:{x:0,y:0,z:0}}},{key:"radius",value:function(e){var t;return null!==(t=e.radius)&&void 0!==t?t:0}},{key:"radiusSettings",value:function(e){var t;return null!==(t=e.radiusSettings)&&void 0!==t?t:{min:0,max:0,defaultValue:0}}},{key:"scene",value:function(e,t,n,i){var r,o,a=function(e,t){var n,i=e.x_dimension/1e3,r=e.y_dimension/1e3,o=e.z_dimension/1e3,a=.07*Math.max(i,r,o),s=.05*a,u=2*a,c=4*s;return t=t?Object.assign(Object.assign({},t),{radius:t.radius/1e3,x:t.x/1e3,y:t.y/1e3,z:t.z/1e3}):{target:null!==(n=e.representation_of)&&void 0!==n?n:e["@id"],radius:a,x:i/2,y:r/2,z:o/2},[{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingSphere","@type":"SpatialSceneNode",unpickable:!1,geometry:"sphere",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z]).scale(t.radius),color:WY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXD","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x+t.radius+u/2,t.y,t.z]).rotateZ(cS(-90)).scale([s,u,s]),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x+t.radius+u,t.y,t.z]).rotateZ(cS(-90)).scale([c,3*c,c]),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new $O($O.IDENTITY).translate([t.x+t.radius+u+3*c,t.y,t.z]).scale(c),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXA","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x-t.radius-u/2,t.y,t.z]).rotateZ(cS(-90)).scale([s,u,s]),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXACone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x-t.radius-u,t.y,t.z]).rotateZ(cS(90)).scale([c,3*c,c]),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new $O($O.IDENTITY).translate([t.x-t.radius-u-3.5*c,t.y,t.z]).scale(c),color:qY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYW","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y+t.radius+u/2,t.z]).scale([s,u,s]),color:XY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y+t.radius+u,t.z]).scale([c,3*c,c]),color:XY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y+t.radius+u+3*c,t.z]).scale(c),color:XY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYS","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y-t.radius-u/2,t.z]).scale([s,u,s]),color:XY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y-t.radius-u,t.z]).rotateZ(cS(180)).scale([c,3*c,c]),color:XY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y-t.radius-u-3.5*c,t.z]).scale(c),color:XY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZE","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z+t.radius+u/2]).rotateX(cS(90)).scale([s,u,s]),color:YY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZECone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z+t.radius+u]).rotateX(cS(90)).scale([c,3*c,c]),color:YY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z+t.radius+u+3*c]).scale(c),color:YY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z-t.radius-u/2]).rotateX(cS(-90)).scale([s,u,s]),color:YY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z-t.radius-u]).rotateX(cS(-90)).scale([c,3*c,c]),color:YY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new $O($O.IDENTITY).translate([t.x,t.y,t.z-t.radius-u-3.5*c]).scale(c),color:YY}]}(t,Object.assign(Object.assign({},n),{radius:i,target:t["@id"]})),s=new Set((null!==(r=e.tissueBlocks)&&void 0!==r?r:[]).map(function(e){return e.spatialEntityId}));return(null!==(o=e.organScene)&&void 0!==o?o:[]).map(function(e){return s.has(e["@id"])&&(e=Object.assign(Object.assign({},e),{color:[41,121,255,229.5]})),e}).concat(a)}},{key:"sceneBounds",value:function(e){var t=e.x_dimension,n=e.y_dimension,i=e.z_dimension,r=.42*Math.max(t,n,i);return{x:(r+t)/1e3,y:(r+n)/1e3,z:(r+i)/1e3}}},{key:"sceneTarget",value:function(e){return[e.x_dimension/1e3/2,e.y_dimension/1e3/2,e.z_dimension/1e3/2]}},{key:"tissueBlocks",value:function(e){var t;return null!==(t=e.tissueBlocks)&&void 0!==t?t:[]}},{key:"anatomicalStructures",value:function(e,t){return this.getTermCounts(e.anatomicalStructures,t)}},{key:"cellTypes",value:function(e,t){return this.getTermCounts(e.cellTypes,t)}},{key:"getTermCounts",value:function(e,n){return Object.entries(null!=e?e:{}).filter(function(e){var n=t(e,2);n[0];return n[1]>0}).map(function(e){var i,r,o=t(e,2),a=o[0],s=o[1];return{"@id":a,label:null!==(r=null===(i=n.nodes[a])||void 0===i?void 0:i.label)&&void 0!==r?r:a.split("/").slice(-1)[0],count:s}})}}]),e}();function XJ(e,t){if(1&e&&(Ps(0,"div",6),Ps(1,"mat-icon",7),Cu(2,"person"),Ms(),Ps(3,"div",8),Ps(4,"div",9),Cu(5),Ms(),Ps(6,"div",9),Cu(7),Ms(),Ms(),Ms()),2&e){var n=t.$implicit;Yo(5),Eu(n.donor.label),Yo(2),Eu(n.donor.description)}}qJ.organEntity=WJ.organEntity,Mw([Vz([WJ])],qJ,"sex",null),Mw([Vz([WJ])],qJ,"referenceOrgans",null),Mw([Vz([WJ])],qJ,"organId",null),Mw([Vz([qJ.organId,qJ.referenceOrgans])],qJ,"organ",null),Mw([Vz([qJ.sex,qJ.referenceOrgans])],qJ,"organs",null),Mw([Vz([WJ])],qJ,"position",null),Mw([Vz([WJ])],qJ,"defaultPosition",null),Mw([Vz([WJ])],qJ,"radius",null),Mw([Vz([WJ])],qJ,"radiusSettings",null),Mw([Vz([WJ,WJ.organEntity,qJ.position,qJ.radius])],qJ,"scene",null),Mw([Vz([WJ.organEntity])],qJ,"sceneBounds",null),Mw([Vz([WJ.organEntity])],qJ,"sceneTarget",null),Mw([Vz([WJ])],qJ,"tissueBlocks",null),Mw([Vz([WJ,AQ.anatomicalStructuresTreeModel])],qJ,"anatomicalStructures",null),Mw([Vz([WJ,AQ.cellTypesTreeModel])],qJ,"cellTypes",null);var YJ=function(){var e=function e(){m(this,e),this.className="ccf-tissue-block-list",this.tissueBlocks=[]};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-tissue-block-list"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{tissueBlocks:"tissueBlocks"},decls:8,vars:2,consts:[[1,"tissue-block-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltip","Total quantity of registered Tissue Blocks detected by the Probing Sphere","matTooltipPosition","right"],[1,"tissue-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"icon"],[1,"donor-info"],[1,"description"]],template:function(e,t){1&e&&(Ps(0,"div",0),Ps(1,"div",1),Cu(2),Ms(),Ps(3,"button",2),Ps(4,"mat-icon",3),Cu(5,"info"),Ms(),Ms(),Ms(),Ps(6,"div",4),Cs(7,XJ,8,2,"div",5),Ms()),2&e&&(Yo(2),Ou("",t.tissueBlocks.length," Tissue Blocks"),Yo(5),Ts("ngForOf",t.tissueBlocks))},directives:[B_,Ow,qh],styles:["[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .tissue-list[_ngcontent-%COMP%]{overflow:auto}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{min-height:3rem;display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem;width:22rem;padding:.5rem;box-shadow:0 3px 6px #00000029;cursor:pointer;margin-right:1rem;margin-bottom:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),e}();function KJ(e,t){if(1&e&&(Ps(0,"div",6),Ps(1,"div",7),Ps(2,"div",8),Cu(3),Ms(),Ps(4,"div",8),Cu(5),Ms(),Ms(),Ms()),2&e){var n=t.$implicit;Yo(3),Eu(n.label),Yo(2),Eu(n.count)}}var $J=function(){var e=function e(){m(this,e),this.className="ccf-term-occurrence-list",this.termList=[]};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-term-occurrence-list"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{termList:"termList",title:"title",toolTipText:"toolTipText"},decls:8,vars:4,consts:[[1,"term-list-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltipPosition","right",3,"matTooltip"],[1,"term-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"term-bloc"],[1,"term-line"]],template:function(e,t){1&e&&(Ps(0,"div",0),Ps(1,"div",1),Cu(2),Ms(),Ps(3,"button",2),Ps(4,"mat-icon",3),Cu(5,"info"),Ms(),Ms(),Ms(),Ps(6,"div",4),Cs(7,KJ,6,2,"div",5),Ms()),2&e&&(Yo(2),Tu("",t.termList.length," ",t.title,""),Yo(2),Ks("matTooltip",t.toolTipText),Yo(3),Ts("ngForOf",t.termList))},directives:[B_,Ow,qh],styles:["[_nghost-%COMP%]{padding-top:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .counter[_ngcontent-%COMP%]{font-size:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding-right:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%]{overflow:auto;padding-left:2rem;font-size:1rem}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-bloc[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem;overflow:auto}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-line[_ngcontent-%COMP%]{padding-right:2rem}"],changeDetection:0}),e}();function QJ(e,t){if(1&e&&(Ps(0,"mat-icon",8),Cu(1),Ms()),2&e){var n=t.$implicit;cu("active",Ws().currentKey===n.key),Yo(1),Ou("",n.direction," ")}}function ZJ(e,t){1&e&&(Ps(0,"div",9),Cu(1,"SHIFT"),Ms())}var JJ=function(){var e=function e(){m(this,e),this.className="ccf-spatial-search-keyboard-ui",this.keyClicked=new ol,this.keyHovered=new ol,this.keyMap=[{key:"w",direction:"north"},{key:"s",direction:"south"},{key:"a",direction:"west"},{key:"d",direction:"east"},{key:"e",direction:"north_east"},{key:"q",direction:"south_west"}]};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-keyboard-ui"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{currentKey:"currentKey",shiftPressed:"shiftPressed"},outputs:{keyClicked:"keyClicked",keyHovered:"keyHovered"},decls:18,vars:14,consts:[[1,"direction-arrow"],["class","arrow",3,"active",4,"ngFor","ngForOf"],[1,"keys"],[1,"keyrow"],[1,"key","blue",3,"mousedown","mouseover","mouseout"],[1,"key","green",3,"mousedown","mouseover","mouseout"],[1,"key","red",3,"mousedown","mouseover","mouseout"],["class","shift",4,"ngIf"],[1,"arrow"],[1,"shift"]],template:function(e,t){1&e&&(Ps(0,"div",0),Cs(1,QJ,2,3,"mat-icon",1),Ms(),Ps(2,"div",2),Ps(3,"div",3),Ps(4,"div",4),Vs("mousedown",function(){return t.keyClicked.emit("q")})("mouseover",function(){return t.keyHovered.emit("q")})("mouseout",function(){return t.keyHovered.emit()}),Cu(5,"Q"),Ms(),Ps(6,"div",5),Vs("mousedown",function(){return t.keyClicked.emit("w")})("mouseover",function(){return t.keyHovered.emit("w")})("mouseout",function(){return t.keyHovered.emit()}),Cu(7,"W"),Ms(),Ps(8,"div",4),Vs("mousedown",function(){return t.keyClicked.emit("e")})("mouseover",function(){return t.keyHovered.emit("e")})("mouseout",function(){return t.keyHovered.emit()}),Cu(9,"E"),Ms(),Ms(),Ps(10,"div",3),Ps(11,"div",6),Vs("mousedown",function(){return t.keyClicked.emit("a")})("mouseover",function(){return t.keyHovered.emit("a")})("mouseout",function(){return t.keyHovered.emit()}),Cu(12,"A"),Ms(),Ps(13,"div",5),Vs("mousedown",function(){return t.keyClicked.emit("s")})("mouseover",function(){return t.keyHovered.emit("s")})("mouseout",function(){return t.keyHovered.emit()}),Cu(14,"S"),Ms(),Ps(15,"div",6),Vs("mousedown",function(){return t.keyClicked.emit("d")})("mouseover",function(){return t.keyHovered.emit("d")})("mouseout",function(){return t.keyHovered.emit()}),Cu(16,"D"),Ms(),Ms(),Cs(17,ZJ,2,0,"div",7),Ms()),2&e&&(Yo(1),Ts("ngForOf",t.keyMap),Yo(3),cu("highlighted","q"===t.currentKey),Yo(2),cu("highlighted","w"===t.currentKey),Yo(2),cu("highlighted","e"===t.currentKey),Yo(3),cu("highlighted","a"===t.currentKey),Yo(2),cu("highlighted","s"===t.currentKey),Yo(2),cu("highlighted","d"===t.currentKey),Yo(2),Ts("ngIf",t.shiftPressed))},directives:[qh,Yh,B_],styles:["[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(5,.5fr);grid-template-rows:1fr;grid-column-gap:0px;grid-row-gap:0px;margin-bottom:1rem;width:7rem}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{grid-area:1/3/2/4;opacity:0;transition:.5s}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow.active[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .keys[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:0;grid-gap:.5rem;gap:.5rem;width:7rem;height:7rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:0;grid-gap:.5rem;gap:.5rem}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%] .key[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:2rem;height:2rem;border:2px solid;border-radius:.5rem;cursor:pointer}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .shift[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:7rem;height:2rem;border:2px solid;border-radius:.5rem}"],changeDetection:0}),e}(),e0=function(){var e=function(){function e(){m(this,e),this.className="ccf-spatial-search-keyboard-ui-behavior",this.delta=1,this.shiftDelta=2,this.changePosition=new ol,this.shiftPressed=!1}return b(e,[{key:"updatePosition",value:function(e){if(this.currentDelta=this.shiftPressed?this.shiftDelta:this.delta,"Shift"===e)this.shiftPressed=!0;else{switch(this.currentKey=e.toLowerCase(),this.currentKey){case"q":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z-this.currentDelta});break;case"e":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z+this.currentDelta});break;case"w":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y+this.currentDelta});break;case"s":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y-this.currentDelta});break;case"a":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x-this.currentDelta});break;case"d":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x+this.currentDelta})}this.changePosition.emit(this.position)}}},{key:"handleKey",value:function(e){e.preventDefault(),this.updatePosition(e.key)}},{key:"keyUp",value:function(e){"Shift"===e.key?this.shiftPressed=!1:this.currentKey=void 0}},{key:"keyClick",value:function(e){this.updatePosition(e)}},{key:"keyHover",value:function(e){this.currentKey=e}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-keyboard-ui-behavior"]],hostVars:2,hostBindings:function(e,t){1&e&&Vs("keydown",function(e){return t.handleKey(e)},!1,ro)("keyup",function(e){return t.keyUp(e)},!1,ro),2&e&&du(t.className)},inputs:{delta:"delta",shiftDelta:"shiftDelta",position:"position"},outputs:{changePosition:"changePosition"},decls:1,vars:2,consts:[[3,"currentKey","shiftPressed","keyClicked","keyHovered"]],template:function(e,t){1&e&&(Ps(0,"ccf-spatial-search-keyboard-ui",0),Vs("keyClicked",function(e){return t.keyClick(e)})("keyHovered",function(e){return t.keyHover(e)}),Ms()),2&e&&Ts("currentKey",t.currentKey)("shiftPressed",t.shiftPressed)},directives:[JJ],encapsulation:2,changeDetection:0}),e}(),t0=function(){var e=function e(){m(this,e),this.className="ccf-spatial-search-ui",this.addSpatialSearch=new ol,this.resetPosition=new ol,this.resetSphere=new ol,this.closeSpatialSearch=new ol,this.radiusChange=new ol,this.positionChange=new ol,this.editReferenceOrganClicked=new ol,this.infoClicked=new ol,this.nodeClicked=new ol};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-ui"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{scene:"scene",sceneBounds:"sceneBounds",sceneTarget:"sceneTarget",sex:"sex",referenceOrgan:"referenceOrgan",radius:"radius",radiusSettings:"radiusSettings",defaultPosition:"defaultPosition",position:"position",tissueBlocks:"tissueBlocks",anatomicalStructures:"anatomicalStructures",cellTypes:"cellTypes"},outputs:{addSpatialSearch:"addSpatialSearch",resetPosition:"resetPosition",resetSphere:"resetSphere",closeSpatialSearch:"closeSpatialSearch",radiusChange:"radiusChange",positionChange:"positionChange",editReferenceOrganClicked:"editReferenceOrganClicked",infoClicked:"infoClicked",nodeClicked:"nodeClicked"},decls:55,vars:27,consts:[[1,"header"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"content"],[1,"info-panel"],[1,"organ-sex-selection"],[1,"sex"],[1,"label"],[1,"current-sex"],[1,"organ"],[1,"current-organ"],[1,"edit",3,"click"],[1,"radius-slider"],[1,"slider-container"],[1,"slider",3,"max","min","step","value","input"],[1,"text","value"],[1,"reset-buttons"],["mat-button","",1,"reset-sphere","button",3,"click"],["mat-button","",1,"reset-camera","button",3,"click"],[1,"results"],[1,"tissue-block","list",3,"tissueBlocks"],["title","Anatomical Structures","toolTipText","Total quantity of predicted anatomical structures detected by the Probing Sphere",1,"anatomical-structures","list",3,"termList"],["title","Predicted Cell Types from ASCT+B Tables","toolTipText","Total quantity of predicted cell types detected by the Probing Sphere",1,"cell-type","list",3,"termList"],["mat-button","",1,"run-spatial-search","button",3,"click"],[1,"spatial-search-scene"],[1,"primary-scene-wrapper"],[1,"body-ui-hint"],[1,"primary-scene",3,"scene","bounds","target","nodeClick","rotationChange"],["primary",""],[1,"sidebar"],[1,"minimap-scene",3,"interactive","scene","bounds","target","nodeClick"],["minimap",""],[3,"delta","shiftDelta","position","changePosition"],[3,"x","y","z"]],template:function(e,t){if(1&e){var n=Ls();Ps(0,"div",0),Ps(1,"div",1),Cu(2,"Configure Spatial Search"),Ms(),Ps(3,"button",2),Ps(4,"mat-icon",3),Vs("click",function(){return t.infoClicked.emit()}),Cu(5,"info"),Ms(),Ms(),Ps(6,"button",4),Ps(7,"mat-icon",3),Vs("click",function(){return t.closeSpatialSearch.emit()}),Cu(8,"close"),Ms(),Ms(),Ms(),Ps(9,"div",5),Ps(10,"div",6),Ps(11,"div",7),Ps(12,"div",8),Ps(13,"div",9),Cu(14,"Donor Sex: "),Ms(),Ps(15,"div",10),Cu(16),Ms(),Ms(),Ps(17,"div",11),Ps(18,"div",9),Cu(19,"Organ: "),Ms(),Ps(20,"div",12),Cu(21),Ms(),Ms(),Ps(22,"div",13),Vs("click",function(){return t.editReferenceOrganClicked.emit()}),Cu(23,"Edit"),Ms(),Ms(),Is(24,"mat-divider"),Ps(25,"div",14),Ps(26,"div",1),Cu(27,"Probing Sphere Radius"),Ms(),Ps(28,"div",15),Ps(29,"mat-slider",16),Vs("input",function(e){return t.radiusChange.emit(e.value)}),Ms(),Ps(30,"span",17),Cu(31),Ms(),Ms(),Ps(32,"div",18),Ps(33,"button",19),Vs("click",function(){return t.resetSphere.emit(),t.resetPosition.emit()}),Cu(34,"Reset Probing Sphere"),Ms(),Ps(35,"button",20),Vs("click",function(){bn(n);var e=Es(49),i=Es(52);return e.rotation=e.rotationX=i.rotation=i.rotationX=0,e.target=i.target=t.sceneTarget,e.bounds=i.bounds=t.sceneBounds}),Cu(36,"Reset Camera View"),Ms(),Ms(),Ms(),Is(37,"mat-divider"),Ps(38,"div",21),Is(39,"ccf-tissue-block-list",22),Is(40,"ccf-term-occurrence-list",23),Is(41,"ccf-term-occurrence-list",24),Ms(),Ps(42,"button",25),Vs("click",function(){return t.addSpatialSearch.emit()}),Cu(43,"Run Spatial Search"),Ms(),Ms(),Ps(44,"div",26),Ps(45,"div",27),Ps(46,"div",28),Cu(47,"Use the keyboard or click a Tissue Block to move the Probing Sphere"),Ms(),Ps(48,"ccf-body-ui",29,30),Vs("nodeClick",function(e){return t.nodeClicked.emit(null==e?null:e.node)})("rotationChange",function(e){bn(n);var t=Es(52);return t.rotation=e[0],t.rotationX=e[1]}),Ms(),Ms(),Ps(50,"div",31),Ps(51,"ccf-body-ui",32,33),Vs("nodeClick",function(e){return t.nodeClicked.emit(null==e?null:e.node)}),Ms(),Ps(53,"ccf-spatial-search-keyboard-ui-behavior",34),Vs("changePosition",function(e){return t.positionChange.emit(e)}),Ms(),Is(54,"ccf-xyz-position",35),Ms(),Ms(),Ms()}2&e&&(Yo(16),Eu(t.sex.charAt(0).toUpperCase()+t.sex.slice(1)),Yo(5),Eu(t.referenceOrgan.name),Yo(8),Ts("max",t.radiusSettings.max)("min",t.radiusSettings.min)("step",1)("value",t.radius),Yo(2),Ou("",t.radius," mm"),Yo(2),cu("disabled",t.radius===t.radiusSettings.defaultValue&&t.position===t.defaultPosition),Yo(6),Ts("tissueBlocks",t.tissueBlocks),Yo(1),Ts("termList",t.anatomicalStructures),Yo(1),Ts("termList",t.cellTypes),Yo(1),cu("disabled",0===(null==t.tissueBlocks?null:t.tissueBlocks.length)),Yo(6),Ts("scene",t.scene)("bounds",t.sceneBounds)("target",t.sceneTarget),Yo(3),Ts("interactive",!1)("scene",t.scene)("bounds",t.sceneBounds)("target",t.sceneTarget),Yo(2),Ts("delta",1)("shiftDelta",2)("position",t.position),Yo(1),Ts("x",t.position.x)("y",t.position.y)("z",t.position.z))},directives:[q_,B_,IK,_G,YJ,$J,a$,e0,uQ],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:1rem;gap:1rem;height:95vh;width:78vw;border-radius:.25rem;min-height:45rem;min-width:60rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;width:100%}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%], [_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:flex;width:100%;height:calc(100% - 3.5rem)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border-width:1px;border-style:solid;border-radius:.25rem;font-size:.875rem;height:2rem;line-height:2rem;transition:.5s}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button.disabled[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-right:2rem;grid-gap:1rem;gap:1rem;width:25rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%]{display:flex;font-size:1rem;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:300;margin-right:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .edit[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:19rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:11.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%]{height:calc(100% - 15rem - 2px)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%] .list[_ngcontent-%COMP%]{height:33%;display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%]{display:flex;width:calc(100% - 25rem);background-color:#000;border-radius:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;height:100%}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .primary-scene[_ngcontent-%COMP%]{flex:auto;overflow:hidden}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .body-ui-hint[_ngcontent-%COMP%]{color:#fff;font-size:1rem;margin:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%]{margin:1.5rem;width:12.75rem;height:11rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%] .body-ui{background-color:#232f3a}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-spatial-search-keyboard-ui-behavior[_ngcontent-%COMP%]{margin:1.5rem;display:flex;justify-content:center}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-xyz-position[_ngcontent-%COMP%]{margin:1.5rem;padding-left:5rem}"],changeDetection:0}),e}();function n0(e,t){if(1&e){var n=Ls();Ps(0,"ccf-spatial-search-ui",1),Vs("addSpatialSearch",function(){return bn(n),Ws().addSpatialSearch()})("radiusChange",function(e){return bn(n),Ws().updateRadius(e)})("resetPosition",function(){return bn(n),Ws().resetPosition()})("resetSphere",function(){return bn(n),Ws().resetRadius()})("positionChange",function(e){return bn(n),Ws().updatePosition(e)})("closeSpatialSearch",function(){return bn(n),Ws().close()})("editReferenceOrganClicked",function(){return bn(n),Ws().openSpatialSearchConfig()})("infoClicked",function(){return bn(n),Ws().onDialogButtonClick()})("nodeClicked",function(e){return bn(n),Ws().moveToNode(e)}),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Jc(4,"async"),Jc(5,"async"),Jc(6,"async"),Jc(7,"async"),Jc(8,"async"),Jc(9,"async"),Jc(10,"async"),Jc(11,"async"),Ms()}if(2&e){var i=t.ngIf,r=Ws();Ts("sex",el(1,12,r.sex$))("referenceOrgan",i)("radius",el(2,14,r.radius$))("radiusSettings",el(3,16,r.radiusSettings$))("defaultPosition",el(4,18,r.defaultPosition$))("position",el(5,20,r.position$))("scene",el(6,22,r.scene$))("sceneBounds",el(7,24,r.sceneBounds$))("sceneTarget",el(8,26,r.sceneTarget$))("tissueBlocks",el(9,28,r.tissueBlocks$))("anatomicalStructures",el(10,30,r.anatomicalStructures$))("cellTypes",el(11,32,r.cellTypes$))}}var i0=function(){function e(t,n,i){m(this,e),this.dialogRef=t,this.dialog=n,this.infoService=i,this.updatePosition=mQ(mZ),this.resetPosition=mQ(bZ),this.moveToNode=mQ(yZ),this.updateRadius=mQ(_Z),this.resetRadius=mQ(wZ),this.subscriptions=new q}return b(e,[{key:"launchInfoDialog",value:function(e){this.subscriptions.unsubscribe(),this.dialog.open(S$,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:e.infoTitle,content:e.content,videoID:e.videoID}})}},{key:"onDialogButtonClick",value:function(){var e=this;this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");var t=this.infoService.panelContent.asObservable();this.subscriptions.add(t.subscribe(function(t){t.content.length&&(e.panelData=t,e.launchInfoDialog(e.panelData))}))}},{key:"close",value:function(){this.dialogRef.close()}},{key:"addSpatialSearch",value:function(){return this.close(),new xZ}},{key:"openSpatialSearchConfig",value:function(){this.close(),this.dialog.open(_0)}}]),e}();i0.\u0275fac=function(e){return new(e||i0)(Os(MG),Os(FG),Os(E$))},i0.\u0275cmp=Ot({type:i0,selectors:[["ccf-spatial-search-ui-behavior"]],decls:2,vars:3,consts:[[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked",4,"ngIf"],[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked"]],template:function(e,t){1&e&&(Cs(0,n0,12,34,"ccf-spatial-search-ui",0),Jc(1,"async")),2&e&&Ts("ngIf",el(1,1,t.organ$))},directives:[Yh,t0],pipes:[sd],encapsulation:2,changeDetection:0}),Mw([Bz(qJ.scene)],i0.prototype,"scene$",void 0),Mw([Bz(qJ.sceneBounds)],i0.prototype,"sceneBounds$",void 0),Mw([Bz(qJ.sceneTarget)],i0.prototype,"sceneTarget$",void 0),Mw([Bz(qJ.sex)],i0.prototype,"sex$",void 0),Mw([Bz(qJ.organ)],i0.prototype,"organ$",void 0),Mw([Bz(qJ.position)],i0.prototype,"position$",void 0),Mw([Bz(qJ.defaultPosition)],i0.prototype,"defaultPosition$",void 0),Mw([Bz(qJ.radius)],i0.prototype,"radius$",void 0),Mw([Bz(qJ.radiusSettings)],i0.prototype,"radiusSettings$",void 0),Mw([Bz(qJ.tissueBlocks)],i0.prototype,"tissueBlocks$",void 0),Mw([Bz(qJ.anatomicalStructures)],i0.prototype,"anatomicalStructures$",void 0),Mw([Bz(qJ.cellTypes)],i0.prototype,"cellTypes$",void 0),Mw([PK()],i0.prototype,"updatePosition",void 0),Mw([PK()],i0.prototype,"resetPosition",void 0),Mw([PK()],i0.prototype,"moveToNode",void 0),Mw([PK()],i0.prototype,"updateRadius",void 0),Mw([PK()],i0.prototype,"resetRadius",void 0),Mw([PK()],i0.prototype,"addSpatialSearch",null);var r0=["input"],o0=function(e){return{enterDuration:e}},a0=["*"],s0=new Ri("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}}),u0=0,c0={provide:Hz,useExisting:He(function(){return f0}),multi:!0},l0=function e(t,n){m(this,e),this.source=t,this.value=n},h0=new Ri("MatRadioGroup"),d0=function(){var e=function(){function e(t){m(this,e),this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+u0++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=function(){},this.onTouched=function(){},this.change=new ol}return b(e,[{key:"name",get:function(){return this._name},set:function(e){this._name=e,this._updateRadioButtonNames()}},{key:"labelPosition",get:function(){return this._labelPosition},set:function(e){this._labelPosition="before"===e?"before":"after",this._markRadiosForCheck()}},{key:"value",get:function(){return this._value},set:function(e){this._value!==e&&(this._value=e,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}},{key:"_checkSelectedRadioButton",value:function(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}},{key:"selected",get:function(){return this._selected},set:function(e){this._selected=e,this.value=e?e.value:null,this._checkSelectedRadioButton()}},{key:"disabled",get:function(){return this._disabled},set:function(e){this._disabled=Wd(e),this._markRadiosForCheck()}},{key:"required",get:function(){return this._required},set:function(e){this._required=Wd(e),this._markRadiosForCheck()}},{key:"ngAfterContentInit",value:function(){this._isInitialized=!0}},{key:"_touch",value:function(){this.onTouched&&this.onTouched()}},{key:"_updateRadioButtonNames",value:function(){var e=this;this._radios&&this._radios.forEach(function(t){t.name=e.name,t._markForCheck()})}},{key:"_updateSelectedRadioFromValue",value:function(){var e=this;this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(function(t){t.checked=e.value===t.value,t.checked&&(e._selected=t)}))}},{key:"_emitChangeEvent",value:function(){this._isInitialized&&this.change.emit(new l0(this._selected,this._value))}},{key:"_markRadiosForCheck",value:function(){this._radios&&this._radios.forEach(function(e){return e._markForCheck()})}},{key:"writeValue",value:function(e){this.value=e,this._changeDetector.markForCheck()}},{key:"registerOnChange",value:function(e){this._controlValueAccessorChangeFn=e}},{key:"registerOnTouched",value:function(e){this.onTouched=e}},{key:"setDisabledState",value:function(e){this.disabled=e,this._changeDetector.markForCheck()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Cc))},e.\u0275dir=Rt({type:e,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),e}(),f0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(d0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["mat-radio-group"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,g0,5),2&e)&&(ml(i=_l())&&(t._radios=i))},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[Xu([c0,{provide:h0,useExisting:t}]),cs]}),t}(),p0=sb(ub(function e(t){m(this,e),this._elementRef=t})),v0=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c){var l;return m(this,n),(l=t.call(this,i))._changeDetector=r,l._focusMonitor=o,l._radioDispatcher=a,l._providerOverride=u,l._uniqueId="mat-radio-"+ ++u0,l.id=l._uniqueId,l.change=new ol,l._checked=!1,l._value=null,l._removeUniqueSelectionListener=function(){},l.radioGroup=e,l._noopAnimations="NoopAnimations"===s,c&&(l.tabIndex=qd(c,0)),l._removeUniqueSelectionListener=a.listen(function(e,t){e!==l.id&&t===l.name&&(l.checked=!1)}),l}return b(n,[{key:"checked",get:function(){return this._checked},set:function(e){var t=Wd(e);this._checked!==t&&(this._checked=t,t&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!t&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),t&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}},{key:"value",get:function(){return this._value},set:function(e){this._value!==e&&(this._value=e,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===e),this.checked&&(this.radioGroup.selected=this)))}},{key:"labelPosition",get:function(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"},set:function(e){this._labelPosition=e}},{key:"disabled",get:function(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled},set:function(e){this._setDisabled(Wd(e))}},{key:"required",get:function(){return this._required||this.radioGroup&&this.radioGroup.required},set:function(e){this._required=Wd(e)}},{key:"color",get:function(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"},set:function(e){this._color=e}},{key:"inputId",get:function(){return"".concat(this.id||this._uniqueId,"-input")}},{key:"focus",value:function(e,t){t?this._focusMonitor.focusVia(this._inputElement,t,e):this._inputElement.nativeElement.focus(e)}},{key:"_markForCheck",value:function(){this._changeDetector.markForCheck()}},{key:"ngOnInit",value:function(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}},{key:"ngAfterViewInit",value:function(){var e=this;this._focusMonitor.monitor(this._elementRef,!0).subscribe(function(t){!t&&e.radioGroup&&e.radioGroup._touch()})}},{key:"ngOnDestroy",value:function(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}},{key:"_emitChangeEvent",value:function(){this.change.emit(new l0(this,this._value))}},{key:"_isRippleDisabled",value:function(){return this.disableRipple||this.disabled}},{key:"_onInputClick",value:function(e){e.stopPropagation()}},{key:"_onInputInteraction",value:function(e){if(e.stopPropagation(),!this.checked&&!this.disabled){var t=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),t&&this.radioGroup._emitChangeEvent())}}},{key:"_setDisabled",value:function(e){this._disabled!==e&&(this._disabled=e,this._changeDetector.markForCheck())}}]),n}(p0);return e.\u0275fac=function(t){return new(t||e)(Os(d0),Os(Ju),Os(Cc),Os(rg),Os(rp),Os(String),Os(void 0),Os(String))},e.\u0275dir=Rt({type:e,viewQuery:function(e,t){var n;(1&e&&yl(r0,5),2&e)&&(ml(n=_l())&&(t._inputElement=n.first))},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[cs]}),e}(),g0=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r,o,a,s,u,c){return m(this,n),t.call(this,e,i,r,o,a,s,u,c)}return n}(v0);return e.\u0275fac=function(t){return new(t||e)(Os(h0,8),Os(Ju),Os(Cc),Os(rg),Os(rp),Os(Yy,8),Os(s0,8),Pi("tabindex"))},e.\u0275cmp=Ot({type:e,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(e,t){1&e&&Vs("focus",function(){return t._inputElement.nativeElement.focus()}),2&e&&(ks("tabindex",null)("id",t.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),cu("mat-radio-checked",t.checked)("mat-radio-disabled",t.disabled)("_mat-animation-noopable",t._noopAnimations)("mat-primary","primary"===t.color)("mat-accent","accent"===t.color)("mat-warn","warn"===t.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[cs],ngContentSelectors:a0,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(e,t){if(1&e&&(Xs(),Ps(0,"label",0,1),Ps(2,"span",2),Is(3,"span",3),Is(4,"span",4),Ps(5,"input",5,6),Vs("change",function(e){return t._onInputInteraction(e)})("click",function(e){return t._onInputClick(e)}),Ms(),Ps(7,"span",7),Is(8,"span",8),Ms(),Ms(),Ps(9,"span",9),Ps(10,"span",10),Cu(11,"\xa0"),Ms(),Ys(12),Ms(),Ms()),2&e){var n=Es(1);ks("for",t.inputId),Yo(5),Ts("id",t.inputId)("checked",t.checked)("disabled",t.disabled)("tabIndex",t.tabIndex)("required",t.required),ks("name",t.name)("value",t.value)("aria-label",t.ariaLabel)("aria-labelledby",t.ariaLabelledby)("aria-describedby",t.ariaDescribedby),Yo(2),Ts("matRippleTrigger",n)("matRippleDisabled",t._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",$c(18,o0,t._noopAnimations?0:150)),Yo(2),cu("mat-radio-label-before","before"==t.labelPosition)}},directives:[wb],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),e}();function m0(e,t){1&e&&(Ps(0,"div",7),Cu(1,"Organs"),Ms())}function y0(e,t){if(1&e&&(Ps(0,"mat-option",17),Cu(1),Ms()),2&e){var n=t.$implicit;Ts("value",n),Yo(1),Ou(" ",n.name," ")}}var b0=function(){var e=function e(){m(this,e),this.className="ccf-spatial-search-config",this.updateSex=new ol,this.updateOrgan=new ol,this.buttonClicked=new ol,this.closeDialog=new ol,this.infoClicked=new ol};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-spatial-search-config"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{organs:"organs",selectedOrgan:"selectedOrgan",sex:"sex"},outputs:{updateSex:"updateSex",updateOrgan:"updateOrgan",buttonClicked:"buttonClicked",closeDialog:"closeDialog",infoClicked:"infoClicked"},decls:27,vars:6,consts:[[1,"header"],[1,"header-left"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"sex-toggle"],[1,"label"],[1,"radio-group",3,"ngModel","ngModelChange","change"],["value","male",1,"radio"],["value","female",1,"radio"],[1,"organ-selector"],["appearance","fill",1,"form-field"],["class","label",4,"ngIf"],["disableOptionCentering","true","panelClass","organ-select",3,"value","valueChange","selectionChange"],["class","organ-select-option",3,"value",4,"ngFor","ngForOf"],["mat-button","",1,"continue-button",3,"click"],[1,"organ-select-option",3,"value"]],template:function(e,t){1&e&&(Ps(0,"div",0),Ps(1,"div",1),Ps(2,"div",2),Cu(3,"Configure Spatial Search"),Ms(),Ps(4,"button",3),Ps(5,"mat-icon",4),Vs("click",function(){return t.infoClicked.emit()}),Cu(6,"info"),Ms(),Ms(),Ms(),Ps(7,"button",5),Ps(8,"mat-icon",4),Vs("click",function(){return t.closeDialog.emit()}),Cu(9,"close"),Ms(),Ms(),Ms(),Ps(10,"div",6),Ps(11,"div",7),Cu(12,"Donor Sex: "),Ms(),Ps(13,"mat-radio-group",8),Vs("ngModelChange",function(e){return t.sex=e})("change",function(e){return t.updateSex.emit(e.value)}),Ps(14,"mat-radio-button",9),Cu(15,"Male"),Ms(),Ps(16,"mat-radio-button",10),Cu(17,"Female"),Ms(),Ms(),Ms(),Ps(18,"div",11),Ps(19,"div",7),Cu(20,"Select an organ"),Ms(),Ps(21,"mat-form-field",12),Cs(22,m0,2,0,"div",13),Ps(23,"mat-select",14),Vs("valueChange",function(e){return t.selectedOrgan=e})("selectionChange",function(e){return t.updateOrgan.emit(e.value)}),Cs(24,y0,2,2,"mat-option",15),Ms(),Ms(),Ms(),Ps(25,"button",16),Vs("click",function(){return t.buttonClicked.emit()}),Cu(26,"Continue"),Ms()),2&e&&(Yo(13),Ts("ngModel",t.sex),Yo(9),Ts("ngIf",!t.selectedOrgan),Yo(1),Ts("value",t.selectedOrgan),Yo(1),Ts("ngForOf",t.organs),Yo(1),cu("disabled",!t.selectedOrgan))},directives:[q_,B_,f0,fU,GU,g0,RH,Yh,HZ,qh,Rb],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:2rem;gap:2rem;width:30.5rem;box-shadow:0 25rem 25rem #00000029;border-radius:.25rem;font-size:1rem}[_nghost-%COMP%] .button[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%;font-size:1.25rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin-right:2rem}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .radio[_ngcontent-%COMP%]{margin-right:4rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{height:0rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:1rem;padding-top:3rem;margin-left:.5rem;width:14rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-infix{padding:0;border-top:none}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{bottom:0rem;height:.125rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-select-arrow-wrapper{transform:translatey(0)}[_nghost-%COMP%] .continue-button[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:.25rem 1rem;width:14rem;height:2rem;border-width:1px;border-style:solid;border-radius:.25rem;box-shadow:0 2px 6px #00000029}[_nghost-%COMP%] .continue-button.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.5} .organ-select{position:absolute;top:2.5rem;left:-.25rem;border-radius:.5rem;max-height:24.5rem;width:14rem} .organ-select .organ-select-option{height:3.5rem;border-bottom:1px solid}"],changeDetection:0}),e}(),_0=function(){function e(t,n,i,r){m(this,e),this.dialog=t,this.dialogRef=n,this.spatialSearchDialog=i,this.infoService=r,this.updateSex=mQ(vZ),this.updateOrgan=mQ(gZ),this.subscriptions=new q,this.dialogSubs=new q}return b(e,[{key:"buttonClicked",value:function(){this.spatialSearchDialog.open(i0),this.close()}},{key:"close",value:function(){this.dialogRef.close()}},{key:"launchInfoDialog",value:function(e){this.dialogSubs.unsubscribe(),this.dialog.open(S$,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:e.infoTitle,content:e.content,videoID:e.videoID}})}},{key:"onDialogButtonClick",value:function(){var e=this;this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");var t=this.infoService.panelContent.asObservable();this.dialogSubs.add(t.subscribe(function(t){t.content.length&&(e.panelData=t,e.launchInfoDialog(e.panelData))}))}},{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}}]),e}();_0.\u0275fac=function(e){return new(e||_0)(Os(FG),Os(MG),Os(FG),Os(E$))},_0.\u0275cmp=Ot({type:_0,selectors:[["ccf-spatial-search-config-behavior"]],decls:4,vars:9,consts:[[3,"sex","organs","selectedOrgan","updateSex","updateOrgan","closeDialog","buttonClicked","infoClicked"]],template:function(e,t){1&e&&(Ps(0,"ccf-spatial-search-config",0),Vs("updateSex",function(e){return t.updateSex(e)})("updateOrgan",function(e){return t.updateOrgan(e.id)})("closeDialog",function(){return t.close()})("buttonClicked",function(){return t.buttonClicked()})("infoClicked",function(){return t.onDialogButtonClick()}),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Ms()),2&e&&Ts("sex",el(1,3,t.sex$))("organs",el(2,5,t.organs$))("selectedOrgan",el(3,7,t.selectedOrgan$))},directives:[b0],pipes:[sd],encapsulation:2,changeDetection:0}),Mw([Bz(qJ.sex)],_0.prototype,"sex$",void 0),Mw([Bz(qJ.organ)],_0.prototype,"selectedOrgan$",void 0),Mw([Bz(qJ.organs)],_0.prototype,"organs$",void 0),Mw([PK()],_0.prototype,"updateSex",void 0),Mw([PK()],_0.prototype,"updateOrgan",void 0);var w0=function(){var e=function(){function e(t,n){m(this,e),this.store=t,this.dialog=n,this.className="ccf-run-spatial-search"}return b(e,[{key:"startSpatialSearchFlow",value:function(){var e=this;this.store.dispatch(new pZ).pipe(_p(1),mv(function(){return e.dialog.open(_0)})).subscribe()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Az),Os(FG))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-run-spatial-search"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},decls:4,vars:0,consts:[["mat-button","",1,"run-spatial-search-button",3,"click"]],template:function(e,t){1&e&&(Ps(0,"button",0),Vs("click",function(){return t.startSpatialSearchFlow()}),Cu(1," Run Spatial Search "),Ps(2,"mat-icon"),Cu(3,"travel_explore"),Ms(),Ms())},directives:[q_,B_],styles:["[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper{display:flex;align-items:center}[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper .mat-icon{margin-left:9.75px}"],changeDetection:0}),e}();function k0(e,t){if(1&e){var n=Ls();Ps(0,"div",14),Ps(1,"ccf-spatial-search-list",15),Vs("selectionChanged",function(e){return bn(n),Ws().updateSearchSelection(e)})("itemRemoved",function(e){return bn(n),Ws().spatialSearchRemoved.emit(e.id)}),Ms(),Ms()}if(2&e){var i=Ws();cu("hidden",i.hidden),Yo(1),Ts("items",i.spatialSearchFilters)}}var x0=function(){return["Both","Male","Female"]},S0=function(){return[1,110]},C0=function(){return[13,83]},E0=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.spatialSearchFilters=[],this.filtersChange=new ol,this.spatialSearchSelected=new ol,this.spatialSearchRemoved=new ol,this.applyFilters=new ol}return b(e,[{key:"ngOnChanges",value:function(e){"spatialSearchFilters"in e&&this.updateSexFromSelection(this.spatialSearchFilters.filter(function(e){return e.selected}))}},{key:"updateFilter",value:function(e,t){this.filters=Object.assign(Object.assign({},this.filters),o({},t,e)),this.ga.event("filter_update","filter_content","".concat(t,":").concat(e)),this.filtersChange.emit(this.filters)}},{key:"applyButtonClick",value:function(){this.updateSearchSelection(this.spatialSearchFilters.filter(function(e){return e.selected})),this.ga.event("filters_applied","filter_content"),this.applyFilters.emit(this.filters)}},{key:"refreshFilters",value:function(){this.filters=JSON.parse(JSON.stringify(SQ)),this.ga.event("filters_reset","filter_content"),this.spatialSearchSelected.emit([]),this.filtersChange.emit(this.filters)}},{key:"updateSearchSelection",value:function(e){var t=e.map(function(e){return e.search});this.spatialSearchSelected.emit(e),this.updateFilter(t,"spatialSearches"),this.updateSexFromSelection(e)}},{key:"updateSexFromSelection",value:function(e){var t,n=null===(t=this.filters.sex)||void 0===t?void 0:t.toLowerCase(),i=new Set(e.map(function(e){return e.sex}));e.length>0&&(i.size>1||!i.has(n))&&this.updateFilter("Both","sex")}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-filters-content"]],inputs:{hidden:"hidden",filters:"filters",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved",applyFilters:"applyFilters"},features:[qt],decls:17,vars:24,consts:[[1,"patient-filters"],["label","Sex",3,"options","selection","selectionChange"],["label","Age",3,"valueRange","selection","selectionChange"],["label","BMI",3,"valueRange","selection","selectionChange"],[1,"filter","assays"],["label","Assay Types",3,"columns","options","selection","selectionChange"],[1,"filter","providers"],["label","Tissue Providers",3,"columns","options","selection","selectionChange"],["class","filter spatial-locations",3,"hidden",4,"ngIf"],[1,"button-container"],[1,"right-group"],["mat-button","",1,"outline-button",3,"click"],[1,"refresh-icon"],[1,"icon","refresh",3,"click"],[1,"filter","spatial-locations"],["label","Spatial Locations",3,"items","selectionChanged","itemRemoved"]],template:function(e,t){1&e&&(Ps(0,"div",0),Ps(1,"ccf-dropdown",1),Vs("selectionChange",function(e){return t.updateFilter(e,"sex")}),Ms(),Ps(2,"ccf-dual-slider",2),Vs("selectionChange",function(e){return t.updateFilter(e,"ageRange")}),Ms(),Ps(3,"ccf-dual-slider",3),Vs("selectionChange",function(e){return t.updateFilter(e,"bmiRange")}),Ms(),Ms(),Ps(4,"div",4),Ps(5,"ccf-checkbox",5),Vs("selectionChange",function(e){return t.updateFilter(e,"technologies")}),Ms(),Ms(),Ps(6,"div",6),Ps(7,"ccf-checkbox",7),Vs("selectionChange",function(e){return t.updateFilter(e,"tmc")}),Ms(),Ms(),Cs(8,k0,2,3,"div",8),Ps(9,"div",9),Is(10,"ccf-run-spatial-search"),Ps(11,"div",10),Ps(12,"button",11),Vs("click",function(){return t.applyButtonClick()}),Cu(13,"APPLY FILTERS"),Ms(),Ps(14,"div",12),Ps(15,"mat-icon",13),Vs("click",function(){return t.refreshFilters()}),Cu(16,"refresh"),Ms(),Ms(),Ms(),Ms()),2&e&&(cu("hidden",t.hidden),Yo(1),Ts("options",Kc(21,x0))("selection",null==t.filters?null:t.filters.sex),Yo(1),Ts("valueRange",Kc(22,S0))("selection",null==t.filters?null:t.filters.ageRange),Yo(1),Ts("valueRange",Kc(23,C0))("selection",null==t.filters?null:t.filters.bmiRange),Yo(1),cu("hidden",t.hidden),Yo(1),Ts("columns",4)("options",t.technologyFilters)("selection",null==t.filters?null:t.filters.technologies),Yo(1),cu("hidden",t.hidden),Yo(1),Ts("columns",3)("options",t.providerFilters)("selection",null==t.filters?null:t.filters.tmc),Yo(1),Ts("ngIf",t.spatialSearchFilters.length>0),Yo(1),cu("hidden",t.hidden))},directives:[qZ,VJ,HJ,Yh,w0,q_,B_,aQ],styles:[".filter[_ngcontent-%COMP%]{margin-top:2rem}.filter.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.filter.assays[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{margin-right:0 rem;width:25%}.button-container[_ngcontent-%COMP%] button{border-width:1px;border-style:solid}.button-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:2rem}.button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-width:1px;border-style:solid}.button-container.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;align-items:center}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .outline-button[_ngcontent-%COMP%]{box-shadow:.1rem .1rem .2rem #0000001d}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%]{padding:.25rem;border-radius:.25rem;margin-right:1rem;display:flex;justify-content:center;align-items:center;transition:.6s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{cursor:pointer;transition:.6s;transition-property:background}.patient-filters[_ngcontent-%COMP%]{display:flex;width:90%;padding-top:1rem}.patient-filters.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.patient-filters[_ngcontent-%COMP%] ccf-dual-slider[_ngcontent-%COMP%]{margin-left:.5rem;width:33%}.patient-filters[_ngcontent-%COMP%] ccf-dropdown[_ngcontent-%COMP%]{width:33%}"],changeDetection:0}),e}();function O0(e,t){1&e&&(Ps(0,"div"),Ps(1,"mat-icon",7),Cu(2,"close"),Ms(),Ms())}function T0(e,t){1&e&&Is(0,"mat-icon",8)}var A0=function(){function e(){m(this,e),this.spatialSearchFilters=[],this.filtersChange=new ol,this.spatialSearchSelected=new ol,this.spatialSearchRemoved=new ol,this.filtersVisible=!1}return b(e,[{key:"toggleFilterVisible",value:function(){return this.filtersVisible=!this.filtersVisible,new SZ(!1)}},{key:"removeBox",value:function(){return this.filtersVisible=!1,new SZ(!0)}},{key:"applyFilters",value:function(e){this.filters=e,this.filtersChange.emit(e),this.removeBox()}}]),e}();A0.\u0275fac=function(e){return new(e||A0)},A0.\u0275cmp=Ot({type:A0,selectors:[["ccf-filters-popover"]],inputs:{filters:"filters",drawerExpanded:"drawerExpanded",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved"},decls:8,vars:15,consts:[[1,"filters-popover"],[1,"show-hide",3,"click"],[4,"ngIf","ngIfElse"],["notShow",""],[1,"popup-container"],[1,"popup-body"],[3,"technologyFilters","providerFilters","spatialSearchFilters","hidden","filters","applyFilters","spatialSearchSelected","spatialSearchRemoved"],[1,"icon"],["svgIcon","filter",1,"icon","funnel"]],template:function(e,t){if(1&e&&(Ps(0,"div",0),Ps(1,"button",1),Vs("click",function(){return t.toggleFilterVisible()}),Cs(2,O0,3,0,"div",2),Cs(3,T0,1,0,"ng-template",null,3,Sl),Ms(),Ps(5,"div",4),Ps(6,"div",5),Ps(7,"ccf-filters-content",6),Vs("applyFilters",function(e){return t.applyFilters(e)})("spatialSearchSelected",function(e){return t.spatialSearchSelected.emit(e)})("spatialSearchRemoved",function(e){return t.spatialSearchRemoved.emit(e)}),Ms(),Ms(),Ms(),Ms()),2&e){var n=Es(4);cu("expanded",t.drawerExpanded),Yo(1),cu("open",t.filtersVisible),Yo(1),Ts("ngIf",t.filtersVisible)("ngIfElse",n),Yo(3),cu("visible",t.filtersVisible)("hidden",!t.filtersVisible),Yo(2),Ts("technologyFilters",t.technologyFilters)("providerFilters",t.providerFilters)("spatialSearchFilters",t.spatialSearchFilters)("hidden",!t.filtersVisible)("filters",t.filters)}},directives:[Yh,E0,B_],styles:[".filters-popover[_ngcontent-%COMP%]{position:inherit}.filters-popover.expanded[_ngcontent-%COMP%]{position:relative}.filters-popover.expanded[_ngcontent-%COMP%] .popup-container[_ngcontent-%COMP%]{right:inherit}.filters-popover.expanded[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding-left:4em!important}.popup-container[_ngcontent-%COMP%]{position:absolute;z-index:5;top:1.2rem;left:1.48rem;box-shadow:.2rem .2rem 1rem #00000058}.popup-container[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding:1.5rem;position:relative}.popup-container.visible[_ngcontent-%COMP%]{width:35rem;transition:width .2s ease-in-out;border-width:1px}.popup-container.visible[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:1;transition-delay:.3s;transition-duration:.2s}.popup-container.hidden[_ngcontent-%COMP%]{width:0;height:0;transition:all .2s ease-out;transition-delay:.3s;pointer-events:none}.popup-container.hidden[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:0;transition:opacity .2s ease-in-out}.show-hide[_ngcontent-%COMP%]{background:none;border:none;z-index:10;position:relative;cursor:pointer;outline:none;padding:.5rem;border-radius:.25rem;transition:.6s}"],changeDetection:0}),Mw([PK()],A0.prototype,"toggleFilterVisible",null),Mw([PK()],A0.prototype,"removeBox",null);var P0=function(){function e(){m(this,e),this.treeModel$=new Bf(1),this.nodes$=this.treeModel$.pipe(ce(function(e){return Object.values(e.nodes)})),this.rootNode$=this.treeModel$.pipe(ce(function(e){return e.nodes[e.root]}))}return b(e,[{key:"setTreeModel",value:function(e){this.treeModel$.next(e),this.treeModel=e}},{key:"filter",value:function(e){var t=this;return this.nodes$.pipe(ce(function(n){return t.lookup(n,e.toLowerCase())}))}},{key:"lookup",value:function(e,t){var n=this,i=new Map;return e&&e.forEach(function(e){if(e.label.toLowerCase().includes(t)&&!i.get(e.id))i.set(e.id,{index:n.getIndexOfMatch(e.label,t),displayLabel:n.formatLabel(e.label,t),node:e});else{var r=e.synonymLabels.find(function(e){return e.toLowerCase().includes(t)});r&&!i.get(e.id)&&i.set(e.id,{index:n.getIndexOfMatch(e.label+" ("+r+")",t),displayLabel:n.formatLabel(e.label+" ("+r+")",t),node:e})}}),Array.from(i.values())}},{key:"getIndexOfMatch",value:function(e,t){return e.toLowerCase().indexOf(t)}},{key:"formatLabel",value:function(e,t){var n=this.getIndexOfMatch(e,t);return[e.slice(0,n),e.slice(n,n+t.length),e.slice(n+t.length)]}},{key:"getChildren",value:function(e){var t,n,i=null!==(n=null===(t=this.treeModel)||void 0===t?void 0:t.nodes)&&void 0!==n?n:{};return(0,Zq.at)(i,e.children)}}]),e}();P0.\u0275fac=function(e){return new(e||P0)},P0.\u0275prov=$e({token:P0,factory:P0.\u0275fac}),Mw([eV.ak],P0.prototype,"getChildren",null);var M0=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this)).getLevel=e,o.isExpandable=i,o.options=r,o.options&&(o.trackBy=o.options.trackBy),o}return b(n,[{key:"getDescendants",value:function(e){for(var t=[],n=this.dataNodes.indexOf(e)+1;n1&&void 0!==arguments[1]?arguments[1]:this._dataDiffer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._nodeOutlet.viewContainer,r=arguments.length>3?arguments[3]:void 0,o=n.diff(e);!o||(o.forEachOperation(function(n,o,a){if(null==n.previousIndex)t.insertNode(e[a],a,i,r);else if(null==a)i.remove(o),t._levels.delete(n.item);else{var s=i.get(o);i.move(s,a)}}),this._changeDetectorRef.detectChanges())}},{key:"_getNodeDef",value:function(e,t){return 1===this._nodeDefs.length?this._nodeDefs.first:this._nodeDefs.find(function(n){return n.when&&n.when(t,e)})||this._defaultNodeDef}},{key:"insertNode",value:function(e,t,n,i){var r=this._getNodeDef(e,t),o=new D0(e);o.level=this.treeControl.getLevel?this.treeControl.getLevel(e):void 0!==i&&this._levels.has(i)?this._levels.get(i)+1:0,this._levels.set(e,o.level),(n||this._nodeOutlet.viewContainer).createEmbeddedView(r.template,o,t),j0.mostRecentTreeNode&&(j0.mostRecentTreeNode.data=e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yc),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["cdk-tree"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,N0,5),2&e)&&(ml(i=_l())&&(t._nodeDefs=i))},viewQuery:function(e,t){var n;(1&e&&yl(R0,7),2&e)&&(ml(n=_l())&&(t._nodeOutlet=n.first))},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(e,t){1&e&&Ns(0,0)},directives:[R0],encapsulation:2}),e}(),j0=function(){var e=function(){function e(t,n){m(this,e),this._elementRef=t,this._tree=n,this._destroyed=new ae,this._dataChanges=new ae,e.mostRecentTreeNode=this,this._elementRef.nativeElement.classList.add("cdk-tree-node"),this.role="treeitem"}return b(e,[{key:"role",get:function(){return"treeitem"},set:function(e){this._elementRef.nativeElement.setAttribute("role",e)}},{key:"data",get:function(){return this._data},set:function(e){e!==this._data&&(this._data=e,this._setRoleFromData(),this._dataChanges.next())}},{key:"isExpanded",get:function(){return this._tree.treeControl.isExpanded(this._data)}},{key:"_setExpanded",value:function(e){this._isAriaExpanded=e,this._elementRef.nativeElement.setAttribute("aria-expanded","".concat(e))}},{key:"level",get:function(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}},{key:"ngOnInit",value:function(){this._parentNodeAriaLevel=function(e){for(var t=e.parentElement;t&&!F0(t);)t=t.parentElement;return t?t.classList.contains("cdk-nested-tree-node")?qd(t.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level","".concat(this.level+1))}},{key:"ngDoCheck",value:function(){this.isExpanded!=this._isAriaExpanded&&this._setExpanded(this.isExpanded)}},{key:"ngOnDestroy",value:function(){e.mostRecentTreeNode===this&&(e.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}},{key:"focus",value:function(){this._elementRef.nativeElement.focus()}},{key:"_setRoleFromData",value:function(){this.role="treeitem"}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(L0))},e.\u0275dir=Rt({type:e,selectors:[["cdk-tree-node"]],inputs:{role:"role"},exportAs:["cdkTreeNode"]}),e.mostRecentTreeNode=null,e}();function F0(e){var t=e.classList;return!(!(null==t?void 0:t.contains("cdk-nested-tree-node"))&&!(null==t?void 0:t.contains("cdk-tree")))}var B0=/([A-Za-z%]+)$/,V0=function(){var e=function(){function e(t,n,i,r){var o=this;m(this,e),this._treeNode=t,this._tree=n,this._element=i,this._dir=r,this._destroyed=new ae,this.indentUnits="px",this._indent=40,this._setPadding(),r&&r.change.pipe(kf(this._destroyed)).subscribe(function(){return o._setPadding(!0)}),t._dataChanges.subscribe(function(){return o._setPadding()})}return b(e,[{key:"level",get:function(){return this._level},set:function(e){this._setLevelInput(e)}},{key:"indent",get:function(){return this._indent},set:function(e){this._setIndentInput(e)}},{key:"ngOnDestroy",value:function(){this._destroyed.next(),this._destroyed.complete()}},{key:"_paddingIndent",value:function(){var e=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,t=null==this._level?e:this._level;return"number"==typeof t?"".concat(t*this._indent).concat(this.indentUnits):null}},{key:"_setPadding",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this._paddingIndent();if(t!==this._currentPadding||e){var n=this._element.nativeElement,i=this._dir&&"rtl"===this._dir.value?"paddingRight":"paddingLeft",r="paddingLeft"===i?"paddingRight":"paddingLeft";n.style[i]=t||"",n.style[r]="",this._currentPadding=t}}},{key:"_setLevelInput",value:function(e){this._level=qd(e,null),this._setPadding()}},{key:"_setIndentInput",value:function(e){var t=e,n="px";if("string"==typeof e){var i=e.split(B0);t=i[0],n=i[1]||n}this.indentUnits=n,this._indent=qd(t),this._setPadding()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(j0),Os(L0),Os(Ju),Os(tp,8))},e.\u0275dir=Rt({type:e,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:["cdkTreeNodePadding","level"],indent:["cdkTreeNodePaddingIndent","indent"]}}),e}(),z0=function(){var e=function(){function e(t,n){m(this,e),this._tree=t,this._treeNode=n,this._recursive=!1}return b(e,[{key:"recursive",get:function(){return this._recursive},set:function(e){this._recursive=Wd(e)}},{key:"_toggle",value:function(e){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),e.stopPropagation()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(L0),Os(j0))},e.\u0275dir=Rt({type:e,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(e,t){1&e&&Vs("click",function(e){return t._toggle(e)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}}),e}(),U0=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),H0=ub(ob(j0)),G0=function(){var t=function(t){a(i,t);var n=s(i);function i(e,t,r){var o;return m(this,i),(o=n.call(this,e,t)).tabIndex=Number(r)||0,e.nativeElement.classList.add("mat-tree-node"),o}return b(i,[{key:"ngOnInit",value:function(){e(p(i.prototype),"ngOnInit",this).call(this)}},{key:"ngDoCheck",value:function(){e(p(i.prototype),"ngDoCheck",this).call(this)}},{key:"ngOnDestroy",value:function(){e(p(i.prototype),"ngOnDestroy",this).call(this)}}]),i}(H0);return t.\u0275fac=function(e){return new(e||t)(Os(Ju),Os(L0),Pi("tabindex"))},t.\u0275dir=Rt({type:t,selectors:[["mat-tree-node"]],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[Xu([{provide:j0,useExisting:t}]),cs]}),t}(),W0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(N0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[Xu([{provide:N0,useExisting:t}]),cs]}),t}(),q0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"level",get:function(){return this._level},set:function(e){this._setLevelInput(e)}},{key:"indent",get:function(){return this._indent},set:function(e){this._setIndentInput(e)}}]),n}(V0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["","matTreeNodePadding",""]],inputs:{level:["matTreeNodePadding","level"],indent:["matTreeNodePaddingIndent","indent"]},features:[Xu([{provide:V0,useExisting:t}]),cs]}),t}(),X0=function(){var e=function e(t,n){m(this,e),this.viewContainer=t,this._node=n};return e.\u0275fac=function(t){return new(t||e)(Os(Nc),Os(I0,8))},e.\u0275dir=Rt({type:e,selectors:[["","matTreeNodeOutlet",""]],features:[Xu([{provide:R0,useExisting:e}])]}),e}(),Y0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return n}(L0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275cmp=Ot({type:t,selectors:[["mat-tree"]],viewQuery:function(e,t){var n;(1&e&&yl(X0,7),2&e)&&(ml(n=_l())&&(t._nodeOutlet=n.first))},hostAttrs:["role","tree",1,"mat-tree","cdk-tree"],exportAs:["matTree"],features:[Xu([{provide:L0,useExisting:t}]),cs],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(e,t){1&e&&Ns(0,0)},directives:[X0],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\n"],encapsulation:2}),t}(),K0=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"recursive",get:function(){return this._recursive},set:function(e){this._recursive=Wd(e)}}]),n}(z0);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275dir=Rt({type:t,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[Xu([{provide:z0,useExisting:t}]),cs]}),t}(),$0=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[U0,rb],rb]}),e}(),Q0=function(){function e(t,n,i,r){m(this,e),this.transformFunction=t,this.getLevel=n,this.isExpandable=i,this.getChildren=r}return b(e,[{key:"_flattenNode",value:function(e,t,n,i){var r=this,o=this.transformFunction(e,t);if(n.push(o),this.isExpandable(o)){var a=this.getChildren(e);a&&(Array.isArray(a)?this._flattenChildren(a,t,n,i):a.pipe(_p(1)).subscribe(function(e){r._flattenChildren(e,t,n,i)}))}return n}},{key:"_flattenChildren",value:function(e,t,n,i){var r=this;e.forEach(function(o,a){var s=i.slice();s.push(a!=e.length-1),r._flattenNode(o,t+1,n,s)})}},{key:"flattenNodes",value:function(e){var t=this,n=[];return e.forEach(function(e){return t._flattenNode(e,0,n,[])}),n}},{key:"expandFlattenedNodes",value:function(e,t){var n=this,i=[],r=[];return r[0]=!0,e.forEach(function(e){for(var o=!0,a=0;a<=n.getLevel(e);a++)o=o&&r[a];o&&i.push(e),n.isExpandable(e)&&(r[n.getLevel(e)+1]=t.isExpanded(e))}),i}}]),e}(),Z0=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this))._treeControl=e,o._treeFlattener=i,o._flattenedData=new vv([]),o._expandedData=new vv([]),o._data=new vv([]),r&&(o.data=r),o}return b(n,[{key:"data",get:function(){return this._data.value},set:function(e){this._data.next(e),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value}},{key:"connect",value:function(e){var t=this;return Oe(e.viewChange,this._treeControl.expansionModel.changed,this._flattenedData).pipe(ce(function(){return t._expandedData.next(t._treeFlattener.expandFlattenedNodes(t._flattenedData.value,t._treeControl)),t._expandedData.value}))}},{key:"disconnect",value:function(){}}]),n}(function(){return function e(){m(this,e)}}()),J0=function(){function e(t,n){m(this,e),this.original=t,this.level=n,this.visible=!0,this.opacity=20}return b(e,[{key:"label",get:function(){return this.original.label}},{key:"expandable",get:function(){return this.original.children.length>0}}],[{key:"create",value:function(t,n){return new e(t,n)}}]),e}();function e1(e,t){if(1&e){var n=Ls();Ps(0,"div",4),Vs("click",function(e){var t=bn(n).node,i=Ws();return i.select(e.ctrlKey,t,!0,!i.isSelected(t))}),Cu(1),Ms()}if(2&e){var i=t.node,r=Ws();cu("hidden",i.label===(null==r.highlightedNode?null:r.highlightedNode.label))("filtered-out",!r.occurenceData[i.original.id]&&!!r.termData[i.original.id])("unavailable",!r.termData[i.original.id])("selected",r.isSelected(i)),Yo(1),Eu("colon"===i.label?"large intestine":i.label)}}function t1(e,t){1&e&&Ns(0)}var n1=function(e){return{node:e}};function i1(e,t){if(1&e){var n=Ls();Ps(0,"mat-tree-node",5),Vs("mouseleave",function(){bn(n);var e=Es(5);return Ws().mouseOut(),e.reset()}),Ps(1,"div"),Ps(2,"mat-icon",6),Vs("mouseenter",function(){var e=bn(n).$implicit;return Ws().mouseOver(e)}),Ms(),Ps(3,"div",7),Ps(4,"ccf-opacity-slider",8,9),Vs("opacityChange",function(e){var t=bn(n).$implicit;return Ws().updateOpacity(t,e)})("opacityReset",function(){var e=bn(n).$implicit;return Ws().resetNode(e)})("visibilityToggle",function(){var e=bn(n).$implicit;return Ws().toggleVisibility(e)}),Ms(),Ms(),Ms(),Is(6,"div",10),Cs(7,t1,1,0,"ng-container",11),Ps(8,"div",12),Cu(9),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws(),o=Es(2);Ts("matTreeNodePaddingIndent",r.indent),Yo(1),uu("display",-1!==i.opacity?"none":"block"),Yo(1),uu("left",r.getLeftIndent(i.level)),cu("fade",!0!==i.visible),Yo(1),uu("left",r.getLeftIndent(i.level)),cu("hidden",i.label!==(null==r.highlightedNode?null:r.highlightedNode.label)),Yo(1),Ts("visible",i.visible)("opacity",i.opacity),Yo(3),Ts("ngTemplateOutlet",o)("ngTemplateOutletContext",$c(18,n1,i)),Yo(1),cu("suborgan",i.level>1),Yo(1),Eu(r.occurenceData[i.original.id]||0)}}function r1(e,t){1&e&&Ns(0)}function o1(e,t){if(1&e){var n=Ls();Ps(0,"mat-tree-node",13),Vs("mouseleave",function(){bn(n);var e=Es(5);return Ws().mouseOut(),e.reset()}),Ps(1,"div"),Ps(2,"mat-icon",6),Vs("mouseenter",function(){var e=bn(n).$implicit;return Ws().mouseOver(e)}),Ms(),Ps(3,"div",7),Ps(4,"ccf-opacity-slider",8,14),Vs("opacityChange",function(e){var t=bn(n).$implicit;return Ws().updateOpacity(t,e)})("opacityReset",function(){var e=bn(n).$implicit;return Ws().resetNode(e)})("visibilityToggle",function(){var e=bn(n).$implicit;return Ws().toggleVisibility(e)}),Ms(),Ms(),Ms(),Ps(6,"button",15),Ps(7,"mat-icon",16),Cu(8),Ms(),Ms(),Cs(9,r1,1,0,"ng-container",11),Ps(10,"div",12),Cu(11),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws(),o=Es(2);Ts("matTreeNodePaddingIndent",r.indent),Yo(1),uu("display",-1!==i.opacity?"none":"block"),Yo(1),uu("left",r.getLeftIndent(i.level)),cu("fade",!0!==i.visible),Yo(1),uu("left",r.getLeftIndent(i.level)),cu("hidden",i.label!==(null==r.highlightedNode?null:r.highlightedNode.label)),Yo(1),Ts("visible",i.visible)("opacity",i.opacity),Yo(2),cu("hidden",i.label===(null==r.highlightedNode?null:r.highlightedNode.label)),Ss("aria-label","Toggle ",i.label,""),Yo(2),Ou(" ",r.control.isExpanded(i)?"expand_less":"expand_more"," "),Yo(1),Ts("ngTemplateOutlet",o)("ngTemplateOutletContext",$c(22,n1,i)),Yo(1),cu("suborgan",i.level>1),Yo(1),Eu(r.occurenceData[i.original.id]||0)}}var a1=(0,Zq.property)("level"),s1=(0,Zq.property)("expandable"),u1=function(){var e=function(){function e(t,n){m(this,e),this.cdr=t,this.ga=n,this.atScrollBottom=!1,this.nodeSelected=new ol,this.nodeChanged=new ol,this.indent="1.5rem",this.control=new M0(a1,s1),this.flattener=new Q0(J0.create,a1,s1,Zq.invoke.bind(void 0,this,"getChildren")),this.dataSource=new Z0(this.control,this.flattener),this._nodes=void 0,this.anySelectionsMade=!1,this.selectedNodes=[]}return b(e,[{key:"nodes",get:function(){return this._nodes},set:function(e){var t;this._nodes=e,this.control&&(this.dataSource.data=null!==(t=this._nodes)&&void 0!==t?t:[])}},{key:"getChildren",get:function(){return this._getChildren},set:function(e){var t;this._getChildren=e,this.dataSource.data=null!==(t=this.nodes)&&void 0!==t?t:[]}},{key:"occurenceData",get:function(){return this._occurenceData},set:function(e){this._occurenceData=e||{}}},{key:"termData",get:function(){return this._termData},set:function(e){this._termData=e||{}}},{key:"ngOnInit",value:function(){this.control.dataNodes&&this.control.expand(this.control.dataNodes[0])}},{key:"ngOnChanges",value:function(e){if(e.ontologyFilter){var t=e.ontologyFilter.currentValue;(null==t?void 0:t.length)>=0&&this.selectByIDs(t)}e.rootNode&&this.selectByIDs([e.rootNode.currentValue])}},{key:"selectByIDs",value:function(e){var t=this,n=this.control.dataNodes,i=n.filter(function(t){return e.indexOf(t.original.id)>-1});(null==i?void 0:i.length)>0&&(this.selectedNodes=i,this.ga.event("nodes_selected_by_ids","ontology_tree",i.map(function(e){return e.label}).join(",")),this.control.collapseAll(),this.selectedNodes.forEach(function(e){t.expandAndSelect(e.original,function(e){var t;return null===(t=n.find(function(t){return t.original.id===e.parent}))||void 0===t?void 0:t.original},!0)}))}},{key:"expandAndSelect",value:function(e,t){for(var n,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this.cdr,o=this.control,a=new Set,s=t(e);s;)a.add(s),s=t(s);var u=(0,Zq.filter)(o.dataNodes,function(e){return a.has(e.original)}),c=o.dataNodes.find(function(t){return t.original===e});i||(this.selectedNodes=[],o.collapseAll());var l,h=_(u);try{for(h.s();!(l=h.n()).done;){var d=l.value;o.expand(d)}}catch(f){h.e(f)}finally{h.f()}"body"===e.label&&(null===(n=o.dataNodes)||void 0===n?void 0:n.length)>0&&o.expand(o.dataNodes[0]),this.select(i,c,!1,!0),r.detectChanges()}},{key:"isInnerNode",value:function(e,t){return t.expandable}},{key:"isSelected",value:function(e){return(null==e?void 0:e.original.id)===this.rootNode||this.selectedNodes.filter(function(t){return(null==e?void 0:e.original.label)===(null==t?void 0:t.original.label)}).length>0}},{key:"select",value:function(e,t,n,i){if(this.anySelectionsMade||(this.selectedNodes=[],this.anySelectionsMade=!0),void 0===t)return this.selectedNodes=[],void this.ga.event("nodes_unselected","ontology_tree");e?i?this.selectedNodes.indexOf(t)<0&&this.selectedNodes.push(t):this.selectedNodes.splice(this.selectedNodes.indexOf(t),1):(this.selectedNodes=[],i&&this.selectedNodes.push(t)),this.ga.event("nodes_selected","ontology_tree",this.selectedNodes.map(function(e){return e.label}).join(",")),n&&this.nodeSelected.emit(this.selectedNodes.map(function(e){return null==e?void 0:e.original}))}},{key:"mouseOver",value:function(e){this.highlightedNode=e}},{key:"mouseOut",value:function(){this.highlightedNode=void 0}},{key:"updateOpacity",value:function(e,t){e.opacity=t,this.ga.event("opacity_update","ontology_tree",e.label,t),this.nodeChanged.emit(e)}},{key:"resetNode",value:function(e){e.opacity=20,e.visible=!0,this.ga.event("node_reset","ontology_tree",e.label),this.nodeChanged.emit(e)}},{key:"toggleVisibility",value:function(e){e.visible=!0!==e.visible,this.ga.event("visibility_update","ontology_tree",e.label,+e.visible),this.nodeChanged.emit(e)}},{key:"getLeftIndent",value:function(e){return-1.5*e+"rem"}},{key:"onScroll",value:function(e){if(e.target){var t=e.target,n=t.clientHeight,i=t.scrollHeight,r=t.scrollTop;this.atScrollBottom=i-r-n<20}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Cc),Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-ontology-tree"]],inputs:{ontologyFilter:"ontologyFilter",rootNode:"rootNode",nodes:"nodes",getChildren:"getChildren",occurenceData:"occurenceData",termData:"termData",header:"header"},outputs:{nodeSelected:"nodeSelected",nodeChanged:"nodeChanged"},features:[qt],decls:5,vars:5,consts:[[1,"ccf-ontology-tree",3,"dataSource","treeControl","scroll"],["selectableRegion",""],["class","node leaf-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef"],["class","node inner-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef","matTreeNodeDefWhen"],[1,"text",3,"click"],["matTreeNodePadding","",1,"node","leaf-node",3,"matTreeNodePaddingIndent","mouseleave"],["svgIcon","app:opacity",1,"icon","opacity",3,"mouseenter"],[1,"slider"],[3,"visible","opacity","opacityChange","opacityReset","visibilityToggle"],["slider1",""],[1,"non-expandable"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"num-results"],["matTreeNodePadding","",1,"node","inner-node",3,"matTreeNodePaddingIndent","mouseleave"],["slider2",""],["mat-icon-button","","matTreeNodeToggle","",1,"toggle"],[1,"icon","font-icon"]],template:function(e,t){1&e&&(Ps(0,"mat-tree",0),Vs("scroll",function(e){return t.onScroll(e)}),Cs(1,e1,2,9,"ng-template",null,1,Sl),Cs(3,i1,10,20,"mat-tree-node",2),Cs(4,o1,12,24,"mat-tree-node",3),Ms()),2&e&&(cu("header-hidden",!t.header),Ts("dataSource",t.dataSource)("treeControl",t.control),Yo(4),Ts("matTreeNodeDefWhen",t.isInnerNode))},directives:[Y0,W0,G0,q0,B_,b$,nd,q_,K0],styles:[".ccf-ontology-tree[_ngcontent-%COMP%]{background:none;scrollbar-width:thin;max-height:calc(50vh - 10rem);overflow:auto;overflow-x:hidden}.ccf-ontology-tree.header-hidden[_ngcontent-%COMP%]{max-height:40vh}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .toggle[_ngcontent-%COMP%]{z-index:-1;opacity:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .text[_ngcontent-%COMP%]{margin-left:.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]{min-height:0;font-size:1rem;margin-bottom:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:width;position:relative;z-index:1}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%]{width:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%] ccf-opacity-slider[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider{height:1.5rem;margin-left:1rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box .slider-and-label{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider{height:1.5rem;width:15rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider .mat-slider-wrapper{top:12px}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .opacity-value{width:3rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-right:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node.inner-node[_ngcontent-%COMP%] button.hidden[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .opacity[_ngcontent-%COMP%]{position:relative;min-width:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:normal}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .autocomplete-open[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{border-bottom:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .non-expandable[_ngcontent-%COMP%]{margin-left:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{white-space:nowrap;cursor:pointer;margin-left:1rem;opacity:1;width:50%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:opacity,width}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.hidden[_ngcontent-%COMP%]{opacity:0;width:0%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.unavailable[_ngcontent-%COMP%]{pointer-events:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-left:auto}.scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:90%;bottom:0;pointer-events:none}.scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),e}();function c1(e,t){if(1&e&&(Ps(0,"mat-option",8),Ps(1,"span",9),Cu(2),Ms(),Ps(3,"span",10),Cu(4),Ms(),Ps(5,"span",11),Cu(6),Ms(),Ms()),2&e){var n=t.$implicit;Ts("value",n),Yo(2),Eu(n.displayLabel[0]),Yo(2),Eu(n.displayLabel[1]),Yo(2),Eu(n.displayLabel[2])}}var l1=function(){var e=function(){function e(t,n){m(this,e),this.ontologyService=t,this.ga=n,this.selected=new ol,this.formControl=new LU(""),this.autoCompleteOpen=!1}return b(e,[{key:"ngOnInit",value:function(){var e=this;this.filteredResults$=this.formControl.valueChanges.pipe(bf(function(e){return"string"==typeof e}),Ef(""),Of(function(t){return e.ontologyService.filter(t)}),ce(function(t){return(0,Zq.sortBy)(t,[e.sortBySynonymResult,"index",e.sortLexically])}))}},{key:"displayFormatter",value:function(e){var t;return(null!==(t=null==e?void 0:e.displayLabel)&&void 0!==t?t:[]).join("")}},{key:"sortBySynonymResult",value:function(e){return e.displayLabel.join().includes("(")?1:-1}},{key:"sortLexically",value:function(e){return e.node.label.toLowerCase()}},{key:"onSelect",value:function(e){var t=(0,Zq.get)(e,["option","value","node"]);t&&(this.ga.event("search","ontology_search",t.id),this.selected.emit(t),this.formControl.reset())}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(P0),Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-ontology-search"]],inputs:{placeholderText:"placeholderText"},outputs:{selected:"selected"},decls:10,vars:9,consts:[[1,"ccf-ontology-search"],["appearance","outline",1,"field"],["matPrefix","","color","primary",1,"search"],["type","text","matInput","",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"ccf-ontology-search","detached","autocomplete",3,"displayWith","optionSelected","opened","closed"],["autocomplete",""],[1,"results-container"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"prefix"],[1,"search-term"],[1,"suffix"]],template:function(e,t){if(1&e&&(Ps(0,"form",0),Ps(1,"mat-form-field",1),Ps(2,"mat-icon",2),Cu(3,"search"),Ms(),Is(4,"input",3),Ps(5,"mat-autocomplete",4,5),Vs("optionSelected",function(e){return t.onSelect(e)})("opened",function(){return t.autoCompleteOpen=!0})("closed",function(){return t.autoCompleteOpen=!1}),Ps(7,"div",6),Cs(8,c1,7,4,"mat-option",7),Jc(9,"async"),Ms(),Ms(),Ms(),Ms()),2&e){var n=Es(6);cu("autocomplete-open",t.autoCompleteOpen),Yo(4),Ts("placeholder",t.placeholderText)("formControl",t.formControl)("matAutocomplete",n),Yo(1),Ts("displayWith",t.displayFormatter),Yo(3),Ts("ngForOf",el(9,7,t.filteredResults$))}},directives:[WU,pU,zU,RH,B_,EH,sG,qz,ZH,fU,KU,XH,qh,Rb],pipes:[sd],styles:[".ccf-ontology-search[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem .25rem 0;margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;height:3rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix input{margin-left:.4rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-prefix{top:.5rem;border:none}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0 .25rem;min-width:2.5rem} .ccf-ontology-search.detached{border:.125rem solid;border-top:none;border-radius:0 0 .25rem .25rem;max-height:18rem} .ccf-ontology-search.detached .results-container{width:23.75rem;margin-bottom:1rem;overflow:auto;max-height:15rem;scrollbar-width:thin} .ccf-ontology-search.detached .results-container mat-option{height:1.5rem;width:23.75rem} .ccf-ontology-search.detached .results-container mat-option .search-term{text-decoration:underline}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0;border-bottom:none}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem 0 0;border-bottom:none}"],changeDetection:0}),e}(),h1=function(e){return[e]};function d1(e,t){if(1&e){var n=Ls();Ps(0,"ccf-ontology-tree",2),Vs("nodeSelected",function(e){return bn(n),Ws().ontologySelection.emit(e)}),Ms()}if(2&e){var i=t.ngIf,r=Ws();Ts("nodes",$c(7,h1,i))("rootNode",i.id)("getChildren",r.ontologySearchService.getChildren)("occurenceData",r.occurenceData)("termData",r.termData)("ontologyFilter",r.ontologyFilter)("header",r.header)}}var f1=function(){var e=function(){function e(t){m(this,e),this.ontologySearchService=t,this.ontologySelection=new ol}return b(e,[{key:"ngOnChanges",value:function(e){"treeModel"in e&&this.treeModel&&this.ontologySearchService.setTreeModel(this.treeModel)}},{key:"selected",value:function(e){var t,n,i=null!==(n=null===(t=this.treeModel)||void 0===t?void 0:t.nodes)&&void 0!==n?n:{};this.tree.expandAndSelect(e,function(e){return i[e.parent]})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(P0))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-ontology-selection"]],viewQuery:function(e,t){var n;(1&e&&yl(u1,5),2&e)&&(ml(n=_l())&&(t.tree=n.first))},inputs:{occurenceData:"occurenceData",termData:"termData",treeModel:"treeModel",ontologyFilter:"ontologyFilter",header:"header",placeholderText:"placeholderText"},outputs:{ontologySelection:"ontologySelection"},features:[Xu([P0]),qt],decls:3,vars:4,consts:[[3,"placeholderText","selected"],["class","tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected",4,"ngIf"],[1,"tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected"]],template:function(e,t){1&e&&(Ps(0,"ccf-ontology-search",0),Vs("selected",function(e){return t.selected(e)}),Ms(),Cs(1,d1,1,9,"ccf-ontology-tree",1),Jc(2,"async")),2&e&&(Ts("placeholderText",t.placeholderText),Yo(1),Ts("ngIf",el(2,2,t.ontologySearchService.rootNode$)))},directives:[l1,Yh,u1],pipes:[sd],styles:[""],changeDetection:0}),e}(),p1=function(){var e=function(){function e(t,n,i){var r=this;m(this,e),this.drawer=t,this.cdr=i,this.className="ccf-drawer-toggle-button",this.position="start",this.opened=!1,this.subscriptions=new q;var o=n.connect(this);this.subscriptions.add(o.getMessagesFromSource(t).subscribe(function(e){r.handleMessage(e)&&i.markForCheck()}))}return b(e,[{key:"classEnd",get:function(){return"end"===this.position}},{key:"icon",get:function(){var e,t="arrow_right",n="arrow_left";return"end"===this.position&&(t=(e=[n,t])[0],n=e[1]),this.opened?n:t}},{key:"ngAfterViewInit",value:function(){var e=this;setTimeout(function(){e.position=e.drawer.position,e.cdr.markForCheck()})}},{key:"ngOnDestroy",value:function(){this.subscriptions.unsubscribe()}},{key:"handleMessage",value:function(e){return"drawer-toggled"===e.payload.type&&(this.opened=e.payload.opened,!0)}},{key:"toggle",value:function(){var e=this.drawer,t=e.opened,n=e.expanded;t?n?e.closeExpanded():e.close():e.open()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(uZ),Os(nZ),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-drawer-toggle-button"]],hostVars:4,hostBindings:function(e,t){2&e&&(du(t.className),cu("ccf-drawer-toggle-button-end",t.classEnd))},decls:2,vars:1,consts:[["aria-hidden","false","aria-label","Close side drawer",1,"expand-collapse-icon",3,"click"]],template:function(e,t){1&e&&(Ps(0,"mat-icon",0),Vs("click",function(){return t.toggle()}),Cu(1),Ms()),2&e&&(Yo(1),Ou(" ",t.icon,"\n"))},directives:[B_],styles:["[_nghost-%COMP%]{position:absolute;top:calc(50% - 2.0625rem);right:-1.0625rem;width:1.0625rem;height:3rem;border-radius:0 .25rem .25rem 0;cursor:pointer;display:flex;align-items:center;transition:.6s}.ccf-drawer-toggle-button-end[_nghost-%COMP%]{right:unset;left:calc(-1rem - 1px);border-radius:.25rem 0 0 .25rem}[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{position:relative;right:.25rem;transition:all .5s}.ccf-drawer-toggle-button-end[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{right:unset;left:-.25rem}"],changeDetection:0}),e}();function v1(e,t){1&e&&(Ps(0,"div",7),Is(1,"mat-spinner",8),Ps(2,"span",3),Cu(3,"Loading External Site"),Ms(),Ms())}function g1(e,t){if(1&e){var n=Ls();Ps(0,"iframe",9),Vs("load",function(){return bn(n),Ws().loading=!1}),Ms()}2&e&&ks("src",Ws().safeUrl,Yr)}var m1=function(){var e=function(){function e(t){m(this,e),this.sanitizer=t,this.className="ccf-viewer",this.url="",this.closed=new ol,this.loading=!0,this.safeUrl=null}return b(e,[{key:"ngOnChanges",value:function(e){"url"in e&&this.updateUrl()}},{key:"updateUrl",value:function(){var e=this.sanitizer,t=this.url;this.safeUrl=null,t&&(this.safeUrl=e.bypassSecurityTrustResourceUrl(t),this.loading=!0)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Vd))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-viewer"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{url:"url"},outputs:{closed:"closed"},features:[qt],decls:11,vars:4,consts:[[1,"toolbar"],["mat-flat-button","","target","_blank","rel","noopener noreferrer",1,"launch",3,"href","disabled"],[1,"icon"],[1,"text"],["mat-flat-button","",1,"close",3,"click"],["class","overlay",4,"ngIf"],["class","frame","title","Portal Data Viewer","referrerpolicy","no-referrer",3,"load",4,"ngIf"],[1,"overlay"],[1,"spinner"],["title","Portal Data Viewer","referrerpolicy","no-referrer",1,"frame",3,"load"]],template:function(e,t){1&e&&(Ps(0,"div",0),Ps(1,"a",1),Ps(2,"mat-icon",2),Cu(3,"launch"),Ms(),Ps(4,"span",3),Cu(5,"Open in Portal"),Ms(),Ms(),Ps(6,"button",4),Vs("click",function(){return t.closed.emit()}),Ps(7,"mat-icon",2),Cu(8,"clear"),Ms(),Ms(),Ms(),Cs(9,v1,4,0,"div",5),Cs(10,g1,1,1,"iframe",6)),2&e&&(Yo(1),Ts("href",t.safeUrl,Xr)("disabled",!t.safeUrl),Yo(8),Ts("ngIf",t.loading),Yo(1),Ts("ngIf",t.safeUrl))},directives:[X_,B_,q_,Yh,$Q],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;width:100%;height:1.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%]{margin-right:3.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch.mat-button-disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.25rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{min-width:0;padding:0;line-height:1.5rem;border-radius:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:1.5rem;bottom:0;left:0;right:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{margin-bottom:.5rem}[_nghost-%COMP%] .frame[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0}),e}();function y1(e,t){if(1&e&&Is(0,"div",3),2&e){var n=t.index;cu("line-tick-visible",Ws().tissueSectionExists(n+1))}}var b1=function(){return[]},_1=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-tissue-section-vis"}return b(e,[{key:"tissueSectionExists",value:function(e){return this.tissueSections.filter(function(t){return t.sectionNumber===e}).length>0}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-tissue-section-vis"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{totalTissueSections:"totalTissueSections",tissueSections:"tissueSections"},decls:7,vars:3,consts:[[1,"container"],["class","line-tick",3,"line-tick-visible",4,"ngFor","ngForOf"],[1,"x-axis"],[1,"line-tick"]],template:function(e,t){1&e&&(Ps(0,"div"),Cu(1,"0"),Ms(),Ps(2,"div",0),Cs(3,y1,1,2,"div",1),Is(4,"div",2),Ms(),Ps(5,"div"),Cu(6),Ms()),2&e&&(Yo(3),Ts("ngForOf",Kc(2,b1).constructor(t.totalTissueSections)),Yo(3),Eu(t.totalTissueSections))},directives:[qh],styles:["[_nghost-%COMP%]{width:100%;height:2.5rem;padding:.5rem 1rem;display:flex}[_nghost-%COMP%] .container[_ngcontent-%COMP%]{margin-right:.5rem;margin-left:.5rem;flex-grow:1;display:flex;position:relative;justify-content:space-evenly}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .line-tick[_ngcontent-%COMP%]{height:100%;width:1px;z-index:2}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .x-axis[_ngcontent-%COMP%]{width:100%;height:2px;position:absolute;top:calc(50% - 1px);right:0;z-index:1}"],changeDetection:0}),e}();function w1(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function k1(e,t){void 0===e&&(e={}),void 0===t&&(t={}),Object.keys(t).forEach(function(n){void 0===e[n]?e[n]=t[n]:w1(t[n])&&w1(e[n])&&Object.keys(t[n]).length>0&&k1(e[n],t[n])})}var x1={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function S1(){var e="undefined"!=typeof document?document:{};return k1(e,x1),e}var C1={document:x1,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}},requestAnimationFrame:function(e){return"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0)},cancelAnimationFrame:function(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function E1(){var e="undefined"!=typeof window?window:{};return k1(e,C1),e}function O1(e){return(O1=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function T1(e,t){return(T1=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function A1(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(G){return!1}}function P1(e,t,n){return(P1=A1()?Reflect.construct:function(e,t,n){var i=[null];i.push.apply(i,t);var r=new(Function.bind.apply(e,i));return n&&T1(r,n.prototype),r}).apply(null,arguments)}function M1(e){var t="function"==typeof Map?new Map:void 0;return(M1=function(e){if(null===e||!function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return P1(e,arguments,O1(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),T1(n,e)})(e)}var I1=function(e){function t(t){var n;return function(e){var t=e.__proto__;Object.defineProperty(e,"__proto__",{get:function(){return t},set:function(e){t.__proto__=e}})}(function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(n=e.call.apply(e,[this].concat(t))||this)),n}return function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(t,e),t}(M1(Array));function R1(e){void 0===e&&(e=[]);var t=[];return e.forEach(function(e){Array.isArray(e)?t.push.apply(t,R1(e)):t.push(e)}),t}function D1(e,t){return Array.prototype.filter.call(e,t)}function N1(e,t){var n=E1(),i=S1(),r=[];if(!t&&e instanceof I1)return e;if(!e)return new I1(r);if("string"==typeof e){var o=e.trim();if(o.indexOf("<")>=0&&o.indexOf(">")>=0){var a="div";0===o.indexOf("0}).length>0},toggleClass:function(){for(var e=arguments.length,t=new Array(e),n=0;n=0;f-=1){var p=d[f];o&&p.listener===o||o&&p.listener&&p.listener.dom7proxy&&p.listener.dom7proxy===o?(h.removeEventListener(c,p.proxyListener,a),d.splice(f,1)):o||(h.removeEventListener(c,p.proxyListener,a),d.splice(f,1))}}return this},trigger:function(){for(var e=E1(),t=arguments.length,n=new Array(t),i=0;i0}),c.dispatchEvent(l),c.dom7EventData=[],delete c.dom7EventData}}return this},transitionEnd:function(e){var t=this;return e&&t.on("transitionend",function n(i){i.target===this&&(e.call(this,i),t.off("transitionend",n))}),this},outerWidth:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetWidth+parseFloat(t.getPropertyValue("margin-right"))+parseFloat(t.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetHeight+parseFloat(t.getPropertyValue("margin-top"))+parseFloat(t.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){var e=E1();return this[0]?e.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){var e=E1(),t=S1(),n=this[0],i=n.getBoundingClientRect(),r=t.body;return{top:i.top+(n===e?e.scrollY:n.scrollTop)-(n.clientTop||r.clientTop||0),left:i.left+(n===e?e.scrollX:n.scrollLeft)-(n.clientLeft||r.clientLeft||0)}}return null},css:function(e,t){var n,i=E1();if(1===arguments.length){if("string"!=typeof e){for(n=0;nt-1)return N1([]);if(e<0){var n=t+e;return N1(n<0?[]:[this[n]])}return N1([this[e]])},append:function(){for(var e,t=S1(),n=0;n=0;n-=1)this[t].insertBefore(r.childNodes[n],this[t].childNodes[0])}else if(e instanceof I1)for(n=0;n0?e?this[0].nextElementSibling&&N1(this[0].nextElementSibling).is(e)?N1([this[0].nextElementSibling]):N1([]):N1(this[0].nextElementSibling?[this[0].nextElementSibling]:[]):N1([])},nextAll:function(e){var t=[],n=this[0];if(!n)return N1([]);for(;n.nextElementSibling;){var i=n.nextElementSibling;e?N1(i).is(e)&&t.push(i):t.push(i),n=i}return N1(t)},prev:function(e){if(this.length>0){var t=this[0];return e?t.previousElementSibling&&N1(t.previousElementSibling).is(e)?N1([t.previousElementSibling]):N1([]):N1(t.previousElementSibling?[t.previousElementSibling]:[])}return N1([])},prevAll:function(e){var t=[],n=this[0];if(!n)return N1([]);for(;n.previousElementSibling;){var i=n.previousElementSibling;e?N1(i).is(e)&&t.push(i):t.push(i),n=i}return N1(t)},parent:function(e){for(var t=[],n=0;n=0,observer:"MutationObserver"in e||"WebkitMutationObserver"in e,passiveListener:function(){var t=!1;try{var n=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassiveListener",null,n)}catch(i){}return t}(),gestures:"ongesturestart"in e}}()),B1}function $1(e){return void 0===e&&(e={}),V1||(V1=function(e){var t=(void 0===e?{}:e).userAgent,n=K1(),i=E1(),r=i.navigator.platform,o=t||i.navigator.userAgent,a={ios:!1,android:!1},s=i.screen.width,u=i.screen.height,c=o.match(/(Android);?[\s\/]+([\d.]+)?/),l=o.match(/(iPad).*OS\s([\d_]+)/),h=o.match(/(iPod)(.*OS\s([\d_]+))?/),d=!l&&o.match(/(iPhone\sOS|iOS)\s([\d_]+)/),f="Win32"===r,p="MacIntel"===r;return!l&&p&&n.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(s+"x"+u)>=0&&((l=o.match(/(Version)\/([\d.]+)/))||(l=[0,1,"13_0_0"]),p=!1),c&&!f&&(a.os="android",a.android=!0),(l||d||h)&&(a.os="ios",a.ios=!0),a}(e)),V1}function Q1(){return z1||(z1=function(){var e,t=E1();return{isEdge:!!t.navigator.userAgent.match(/Edge/g),isSafari:(e=t.navigator.userAgent.toLowerCase(),e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(t.navigator.userAgent)}}()),z1}var Z1={name:"resize",create:function(){var e=this;X1(e,{resize:{observer:null,createObserver:function(){!e||e.destroyed||!e.initialized||(e.resize.observer=new ResizeObserver(function(t){var n=e.width,i=e.height,r=n,o=i;t.forEach(function(t){var n=t.contentBoxSize,i=t.contentRect,a=t.target;a&&a!==e.el||(r=i?i.width:(n[0]||n).inlineSize,o=i?i.height:(n[0]||n).blockSize)}),(r!==n||o!==i)&&e.resize.resizeHandler()}),e.resize.observer.observe(e.el))},removeObserver:function(){e.resize.observer&&e.resize.observer.unobserve&&e.el&&(e.resize.observer.unobserve(e.el),e.resize.observer=null)},resizeHandler:function(){!e||e.destroyed||!e.initialized||(e.emit("beforeResize"),e.emit("resize"))},orientationChangeHandler:function(){!e||e.destroyed||!e.initialized||e.emit("orientationchange")}}})},on:{init:function(e){var t=E1();e.params.resizeObserver&&void 0!==E1().ResizeObserver?e.resize.createObserver():(t.addEventListener("resize",e.resize.resizeHandler),t.addEventListener("orientationchange",e.resize.orientationChangeHandler))},destroy:function(e){var t=E1();e.resize.removeObserver(),t.removeEventListener("resize",e.resize.resizeHandler),t.removeEventListener("orientationchange",e.resize.orientationChangeHandler)}}};function J1(){return(J1=Object.assign||function(e){for(var t=1;t0)&&(!r.isTouched||!r.isMoved))){o.noSwipingClass&&""!==o.noSwipingClass&&s.target&&s.target.shadowRoot&&e.path&&e.path[0]&&(u=U1(e.path[0]));var c=o.noSwipingSelector?o.noSwipingSelector:"."+o.noSwipingClass;if(o.noSwiping&&(s.target&&s.target.shadowRoot?function(e,t){return void 0===t&&(t=this),function t(n){return n&&n!==S1()&&n!==E1()?(n.assignedSlot&&(n=n.assignedSlot),n.closest(e)||t(n.getRootNode().host)):null}(t)}(c,s.target):u.closest(c)[0]))return void(t.allowClick=!0);if(!o.swipeHandler||u.closest(o.swipeHandler)[0]){a.currentX="touchstart"===s.type?s.targetTouches[0].pageX:s.pageX,a.currentY="touchstart"===s.type?s.targetTouches[0].pageY:s.pageY;var l=a.currentX,h=a.currentY,d=o.edgeSwipeDetection||o.iOSEdgeSwipeDetection,f=o.edgeSwipeThreshold||o.iOSEdgeSwipeThreshold;if(d&&(l<=f||l>=i.innerWidth-f)){if("prevent"!==d)return;e.preventDefault()}if(X1(r,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),a.startX=l,a.startY=h,r.touchStartTime=G1(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,o.threshold>0&&(r.allowThresholdMove=!1),"touchstart"!==s.type){var p=!0;u.is(r.focusableElements)&&(p=!1),n.activeElement&&U1(n.activeElement).is(r.focusableElements)&&n.activeElement!==u[0]&&n.activeElement.blur(),(o.touchStartForcePreventDefault||p&&t.allowTouchMove&&o.touchStartPreventDefault)&&!u[0].isContentEditable&&s.preventDefault()}t.emit("touchStart",s)}}}}function i2(e){var t=S1(),n=this,i=n.touchEventsData,r=n.params,o=n.touches,a=n.rtlTranslate;if(n.enabled){var s=e;if(s.originalEvent&&(s=s.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&n.emit("touchMoveOpposite",s));if(!i.isTouchEvent||"touchmove"===s.type){var u="touchmove"===s.type&&s.targetTouches&&(s.targetTouches[0]||s.changedTouches[0]),c="touchmove"===s.type?u.pageX:s.pageX,l="touchmove"===s.type?u.pageY:s.pageY;if(s.preventedByNestedSwiper)return o.startX=c,void(o.startY=l);if(!n.allowTouchMove)return n.allowClick=!1,void(i.isTouched&&(X1(o,{startX:c,startY:l,currentX:c,currentY:l}),i.touchStartTime=G1()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(n.isVertical()){if(lo.startY&&n.translate>=n.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(co.startX&&n.translate>=n.minTranslate())return;if(i.isTouchEvent&&t.activeElement&&s.target===t.activeElement&&U1(s.target).is(i.focusableElements))return i.isMoved=!0,void(n.allowClick=!1);if(i.allowTouchCallbacks&&n.emit("touchMove",s),!(s.targetTouches&&s.targetTouches.length>1)){o.currentX=c,o.currentY=l;var h=o.currentX-o.startX,d=o.currentY-o.startY;if(!(n.params.threshold&&Math.sqrt(Math.pow(h,2)+Math.pow(d,2))=25&&(f=180*Math.atan2(Math.abs(d),Math.abs(h))/Math.PI,i.isScrolling=n.isHorizontal()?f>r.touchAngle:90-f>r.touchAngle)),i.isScrolling&&n.emit("touchMoveOpposite",s),void 0===i.startMoving&&(o.currentX!==o.startX||o.currentY!==o.startY)&&(i.startMoving=!0),i.isScrolling)return void(i.isTouched=!1);if(i.startMoving){n.allowClick=!1,!r.cssMode&&s.cancelable&&s.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&s.stopPropagation(),i.isMoved||(r.loop&&n.loopFix(),i.startTranslate=n.getTranslate(),n.setTransition(0),n.animating&&n.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,r.grabCursor&&(!0===n.allowSlideNext||!0===n.allowSlidePrev)&&n.setGrabCursor(!0),n.emit("sliderFirstMove",s)),n.emit("sliderMove",s),i.isMoved=!0;var p=n.isHorizontal()?h:d;o.diff=p,p*=r.touchRatio,a&&(p=-p),n.swipeDirection=p>0?"prev":"next",i.currentTranslate=p+i.startTranslate;var v=!0,g=r.resistanceRatio;if(r.touchReleaseOnEdges&&(g=0),p>0&&i.currentTranslate>n.minTranslate()?(v=!1,r.resistance&&(i.currentTranslate=n.minTranslate()-1+Math.pow(-n.minTranslate()+i.startTranslate+p,g))):p<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),!n.allowSlidePrev&&!n.allowSlideNext&&(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(p)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,o.startX=o.currentX,o.startY=o.currentY,i.currentTranslate=i.startTranslate,void(o.diff=n.isHorizontal()?o.currentX-o.startX:o.currentY-o.startY)}!r.followFinger||r.cssMode||((r.freeMode||r.watchSlidesProgress||r.watchSlidesVisibility)&&(n.updateActiveIndex(),n.updateSlidesClasses()),r.freeMode&&(0===i.velocities.length&&i.velocities.push({position:o[n.isHorizontal()?"startX":"startY"],time:i.touchStartTime}),i.velocities.push({position:o[n.isHorizontal()?"currentX":"currentY"],time:G1()})),n.updateProgress(i.currentTranslate),n.setTranslate(i.currentTranslate))}}}}}}function r2(e){var t=this,n=t.touchEventsData,i=t.params,r=t.touches,o=t.rtlTranslate,a=t.$wrapperEl,s=t.slidesGrid,u=t.snapGrid;if(t.enabled){var c=e;if(c.originalEvent&&(c=c.originalEvent),n.allowTouchCallbacks&&t.emit("touchEnd",c),n.allowTouchCallbacks=!1,!n.isTouched)return n.isMoved&&i.grabCursor&&t.setGrabCursor(!1),n.isMoved=!1,void(n.startMoving=!1);i.grabCursor&&n.isMoved&&n.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);var l,h=G1(),d=h-n.touchStartTime;if(t.allowClick&&(t.updateClickedSlide(c),t.emit("tap click",c),d<300&&h-n.lastClickTime<300&&t.emit("doubleTap doubleClick",c)),n.lastClickTime=G1(),H1(function(){t.destroyed||(t.allowClick=!0)}),!n.isTouched||!n.isMoved||!t.swipeDirection||0===r.diff||n.currentTranslate===n.startTranslate)return n.isTouched=!1,n.isMoved=!1,void(n.startMoving=!1);if(n.isTouched=!1,n.isMoved=!1,n.startMoving=!1,l=i.followFinger?o?t.translate:-t.translate:-n.currentTranslate,!i.cssMode){if(i.freeMode){if(l<-t.minTranslate())return void t.slideTo(t.activeIndex);if(l>-t.maxTranslate())return void t.slideTo(t.slides.length1){var f=n.velocities.pop(),p=n.velocities.pop(),v=f.time-p.time;t.velocity=(f.position-p.position)/v,t.velocity/=2,Math.abs(t.velocity)150||G1()-f.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=i.freeModeMomentumVelocityRatio,n.velocities.length=0;var g=1e3*i.freeModeMomentumRatio,m=t.translate+t.velocity*g;o&&(m=-m);var y,b,_=!1,w=20*Math.abs(t.velocity)*i.freeModeMomentumBounceRatio;if(mt.minTranslate())i.freeModeMomentumBounce?(m-t.minTranslate()>w&&(m=t.minTranslate()+w),y=t.minTranslate(),_=!0,n.allowMomentumBounce=!0):m=t.minTranslate(),i.loop&&i.centeredSlides&&(b=!0);else if(i.freeModeSticky){for(var k,x=0;x-m){k=x;break}m=-(m=Math.abs(u[k]-m)=i.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses()))}for(var E=0,O=t.slidesSizesGrid[0],T=0;T=s[T]&&l=s[T]&&(E=T,O=s[s.length-1]-s[s.length-2])}var P=(l-s[E])/O,M=Ei.longSwipesMs){if(!i.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&t.slideTo(P>=i.longSwipesRatio?E+M:E),"prev"===t.swipeDirection&&t.slideTo(P>1-i.longSwipesRatio?E+M:E)}else{if(!i.shortSwipes)return void t.slideTo(t.activeIndex);!t.navigation||c.target!==t.navigation.nextEl&&c.target!==t.navigation.prevEl?("next"===t.swipeDirection&&t.slideTo(E+M),"prev"===t.swipeDirection&&t.slideTo(E)):t.slideTo(c.target===t.navigation.nextEl?E+M:E)}}}}function o2(){var e=this,t=e.params,n=e.el;if(!n||0!==n.offsetWidth){t.breakpoints&&e.setBreakpoint();var i=e.allowSlideNext,r=e.allowSlidePrev,o=e.snapGrid;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses(),e.slideTo(("auto"===t.slidesPerView||t.slidesPerView>1)&&e.isEnd&&!e.isBeginning&&!e.params.centeredSlides?e.slides.length-1:e.activeIndex,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.run(),e.allowSlidePrev=r,e.allowSlideNext=i,e.params.watchOverflow&&o!==e.snapGrid&&e.checkOverflow()}}function a2(e){var t=this;!t.enabled||t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))}function s2(){var e=this,t=e.wrapperEl,n=e.rtlTranslate;if(e.enabled){e.previousTranslate=e.translate,e.translate=e.isHorizontal()?n?t.scrollWidth-t.offsetWidth-t.scrollLeft:-t.scrollLeft:-t.scrollTop,-0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();var i=e.maxTranslate()-e.minTranslate();(0===i?0:(e.translate-e.minTranslate())/i)!==e.progress&&e.updateProgress(n?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}}var u2=!1;function c2(){}var l2={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!1,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};var h2={modular:{useParams:function(e){var t=this;!t.modules||Object.keys(t.modules).forEach(function(n){var i=t.modules[n];i.params&&X1(e,i.params)})},useModules:function(e){void 0===e&&(e={});var t=this;!t.modules||Object.keys(t.modules).forEach(function(n){var i=t.modules[n],r=e[n]||{};i.on&&t.on&&Object.keys(i.on).forEach(function(e){t.on(e,i.on[e])}),i.create&&i.create.bind(t)(r)})}},eventsEmitter:{on:function(e,t,n){var i=this;if("function"!=typeof t)return i;var r=n?"unshift":"push";return e.split(" ").forEach(function(e){i.eventsListeners[e]||(i.eventsListeners[e]=[]),i.eventsListeners[e][r](t)}),i},once:function(e,t,n){var i=this;if("function"!=typeof t)return i;function r(){i.off(e,r),r.__emitterProxy&&delete r.__emitterProxy;for(var n=arguments.length,o=new Array(n),a=0;a=0&&t.eventsAnyListeners.splice(n,1),t},off:function(e,t){var n=this;return n.eventsListeners&&e.split(" ").forEach(function(e){void 0===t?n.eventsListeners[e]=[]:n.eventsListeners[e]&&n.eventsListeners[e].forEach(function(i,r){(i===t||i.__emitterProxy&&i.__emitterProxy===t)&&n.eventsListeners[e].splice(r,1)})}),n},emit:function(){var e=this;if(!e.eventsListeners)return e;for(var t,n,i,r=arguments.length,o=new Array(r),a=0;a=0&&(b=parseFloat(b.replace("%",""))/100*o),e.virtualSize=-b,l.css(a?{marginLeft:"",marginBottom:"",marginTop:""}:{marginRight:"",marginBottom:"",marginTop:""}),i.slidesPerColumn>1&&(x=Math.floor(h/i.slidesPerColumn)===h/e.params.slidesPerColumn?h:Math.ceil(h/i.slidesPerColumn)*i.slidesPerColumn,"auto"!==i.slidesPerView&&"row"===i.slidesPerColumnFill&&(x=Math.max(x,i.slidesPerView*i.slidesPerColumn)));for(var O,T=i.slidesPerColumn,A=x/T,P=Math.floor(h/i.slidesPerColumn),M=0;M1){var R=void 0,D=void 0,N=void 0;if("row"===i.slidesPerColumnFill&&i.slidesPerGroup>1){var L=Math.floor(M/(i.slidesPerGroup*i.slidesPerColumn)),j=M-i.slidesPerColumn*i.slidesPerGroup*L,F=0===L?i.slidesPerGroup:Math.min(Math.ceil((h-L*T*i.slidesPerGroup)/T),i.slidesPerGroup);N=Math.floor(j/F),I.css({"-webkit-box-ordinal-group":R=(D=j-N*F+L*i.slidesPerGroup)+N*x/T,"-moz-box-ordinal-group":R,"-ms-flex-order":R,"-webkit-order":R,order:R})}else"column"===i.slidesPerColumnFill?(N=M-(D=Math.floor(M/T))*T,(D>P||D===P&&N===T-1)&&(N+=1)>=T&&(N=0,D+=1)):D=M-(N=Math.floor(M/A))*A;I.css(t("margin-top"),0!==N?i.spaceBetween&&i.spaceBetween+"px":"")}if("none"!==I.css("display")){if("auto"===i.slidesPerView){var B=getComputedStyle(I[0]),V=I[0].style.transform,z=I[0].style.webkitTransform;if(V&&(I[0].style.transform="none"),z&&(I[0].style.webkitTransform="none"),i.roundLengths)O=e.isHorizontal()?I.outerWidth(!0):I.outerHeight(!0);else{var U=n(B,"width"),H=n(B,"padding-left"),G=n(B,"padding-right"),W=n(B,"margin-left"),q=n(B,"margin-right"),X=B.getPropertyValue("box-sizing");if(X&&"border-box"===X)O=U+W+q;else{var Y=I[0];O=U+H+G+W+q+(Y.offsetWidth-Y.clientWidth)}}V&&(I[0].style.transform=V),z&&(I[0].style.webkitTransform=z),i.roundLengths&&(O=Math.floor(O))}else O=(o-(i.slidesPerView-1)*b)/i.slidesPerView,i.roundLengths&&(O=Math.floor(O)),l[M]&&(l[M].style[t("width")]=O+"px");l[M]&&(l[M].swiperSlideSize=O),p.push(O),i.centeredSlides?(_=_+O/2+w/2+b,0===w&&0!==M&&(_=_-o/2-b),0===M&&(_=_-o/2-b),Math.abs(_)<.001&&(_=0),i.roundLengths&&(_=Math.floor(_)),k%i.slidesPerGroup==0&&d.push(_),f.push(_)):(i.roundLengths&&(_=Math.floor(_)),(k-Math.min(e.params.slidesPerGroupSkip,k))%e.params.slidesPerGroup==0&&d.push(_),f.push(_),_=_+O+b),e.virtualSize+=O+b,w=O,k+=1}}if(e.virtualSize=Math.max(e.virtualSize,o)+g,a&&s&&("slide"===i.effect||"coverflow"===i.effect)&&r.css({width:e.virtualSize+i.spaceBetween+"px"}),i.setWrapperSize&&r.css(((C={})[t("width")]=e.virtualSize+i.spaceBetween+"px",C)),i.slidesPerColumn>1&&(e.virtualSize=(O+i.spaceBetween)*x,e.virtualSize=Math.ceil(e.virtualSize/i.slidesPerColumn)-i.spaceBetween,r.css(((E={})[t("width")]=e.virtualSize+i.spaceBetween+"px",E)),i.centeredSlides)){S=[];for(var K=0;K1&&d.push(e.virtualSize-o)}if(0===d.length&&(d=[0]),0!==i.spaceBetween){var J,ee=e.isHorizontal()&&a?"marginLeft":t("marginRight");l.filter(function(e,t){return!i.cssMode||t!==l.length-1}).css(((J={})[ee]=b+"px",J))}if(i.centeredSlides&&i.centeredSlidesBounds){var te=0;p.forEach(function(e){te+=e+(i.spaceBetween?i.spaceBetween:0)});var ne=(te-=i.spaceBetween)-o;d=d.map(function(e){return e<0?-v:e>ne?ne+g:e})}if(i.centerInsufficientSlides){var ie=0;if(p.forEach(function(e){ie+=e+(i.spaceBetween?i.spaceBetween:0)}),(ie-=i.spaceBetween)1)if(n.params.centeredSlides)n.visibleSlides.each(function(e){i.push(e)});else for(t=0;tn.slides.length&&!r)break;i.push(a(s))}else i.push(a(n.activeIndex));for(t=0;to?u:o}o&&n.$wrapperEl.css("height",o+"px")},updateSlidesOffset:function(){for(var e=this.slides,t=0;t=0&&c1&&l<=t.size||c<=0&&l>=t.size)&&(t.visibleSlides.push(s),t.visibleSlidesIndexes.push(a),i.eq(a).addClass(n.slideVisibleClass))}s.progress=r?-u:u}t.visibleSlides=U1(t.visibleSlides)}},updateProgress:function(e){var t=this;void 0===e&&(e=t&&t.translate&&t.translate*(t.rtlTranslate?-1:1)||0);var n=t.params,i=t.maxTranslate()-t.minTranslate(),r=t.progress,o=t.isBeginning,a=t.isEnd,s=o,u=a;0===i?(r=0,o=!0,a=!0):(o=(r=(e-t.minTranslate())/i)<=0,a=r>=1),X1(t,{progress:r,isBeginning:o,isEnd:a}),(n.watchSlidesProgress||n.watchSlidesVisibility||n.centeredSlides&&n.autoHeight)&&t.updateSlidesProgress(e),o&&!s&&t.emit("reachBeginning toEdge"),a&&!u&&t.emit("reachEnd toEdge"),(s&&!o||u&&!a)&&t.emit("fromEdge"),t.emit("progress",r)},updateSlidesClasses:function(){var e,t=this,n=t.slides,i=t.params,r=t.$wrapperEl,o=t.activeIndex,a=t.realIndex,s=t.virtual&&i.virtual.enabled;n.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(e=s?t.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+o+'"]'):n.eq(o)).addClass(i.slideActiveClass),i.loop&&(e.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+a+'"]').addClass(i.slideDuplicateActiveClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+a+'"]').addClass(i.slideDuplicateActiveClass));var u=e.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===u.length&&(u=n.eq(0)).addClass(i.slideNextClass);var c=e.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===c.length&&(c=n.eq(-1)).addClass(i.slidePrevClass),i.loop&&(u.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+u.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+u.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),c.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass)),t.emitSlidesClasses()},updateActiveIndex:function(e){var t,n=this,i=n.rtlTranslate?n.translate:-n.translate,r=n.slidesGrid,o=n.snapGrid,a=n.params,s=n.activeIndex,u=n.realIndex,c=n.snapIndex,l=e;if(void 0===l){for(var h=0;h=r[h]&&i=r[h]&&i=r[h]&&(l=h);a.normalizeSlideIndex&&(l<0||void 0===l)&&(l=0)}if(o.indexOf(i)>=0)t=o.indexOf(i);else{var d=Math.min(a.slidesPerGroupSkip,l);t=d+Math.floor((l-d)/a.slidesPerGroup)}if(t>=o.length&&(t=o.length-1),l!==s){var f=parseInt(n.slides.eq(l).attr("data-swiper-slide-index")||l,10);X1(n,{snapIndex:t,realIndex:f,previousIndex:s,activeIndex:l}),n.emit("activeIndexChange"),n.emit("snapIndexChange"),u!==f&&n.emit("realIndexChange"),(n.initialized||n.params.runCallbacksOnInit)&&n.emit("slideChange")}else t!==c&&(n.snapIndex=t,n.emit("snapIndexChange"))},updateClickedSlide:function(e){var t,n=this,i=n.params,r=U1(e.target).closest("."+i.slideClass)[0],o=!1;if(r)for(var a=0;a6&&(i=i.split(", ").map(function(e){return e.replace(",",".")}).join(", ")),r=new o.WebKitCSSMatrix("none"===i?"":i)):n=(r=a.MozTransform||a.OTransform||a.MsTransform||a.msTransform||a.transform||a.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===t&&(i=o.WebKitCSSMatrix?r.m41:16===n.length?parseFloat(n[12]):parseFloat(n[4])),"y"===t&&(i=o.WebKitCSSMatrix?r.m42:16===n.length?parseFloat(n[13]):parseFloat(n[5])),i||0}(t.$wrapperEl[0],e);return i&&(o=-o),o||0},setTranslate:function(e,t){var n=this,i=n.rtlTranslate,r=n.params,o=n.$wrapperEl,a=n.wrapperEl,s=n.progress,u=0,c=0;n.isHorizontal()?u=i?-e:e:c=e,r.roundLengths&&(u=Math.floor(u),c=Math.floor(c)),r.cssMode?a[n.isHorizontal()?"scrollLeft":"scrollTop"]=n.isHorizontal()?-u:-c:r.virtualTranslate||o.transform("translate3d("+u+"px, "+c+"px, 0px)"),n.previousTranslate=n.translate,n.translate=n.isHorizontal()?u:c;var l=n.maxTranslate()-n.minTranslate();(0===l?0:(e-n.minTranslate())/l)!==s&&n.updateProgress(e),n.emit("setTranslate",n.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,n,i,r){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===n&&(n=!0),void 0===i&&(i=!0);var o=this,a=o.params,s=o.wrapperEl;if(o.animating&&a.preventInteractionOnTransition)return!1;var u,c=o.minTranslate(),l=o.maxTranslate();if(o.updateProgress(u=i&&e>c?c:i&&eo?"next":ir?"next":i=c.length&&(g=c.length-1),(d||u.initialSlide||0)===(h||0)&&n&&a.emit("beforeSlideChangeStart");var m,y=-c[g];if(a.updateProgress(y),u.normalizeSlideIndex)for(var b=0;b=w&&_=w&&_=w&&(s=b)}if(a.initialized&&s!==d&&(!a.allowSlideNext&&ya.translate&&y>a.maxTranslate()&&(d||0)!==s))return!1;if(m=s>d?"next":s=e&&(d=e)}),void 0!==d&&(c=a.indexOf(d))<0&&(c=i.activeIndex-1),i.slideTo(c,e,t,n)},slideReset:function(e,t,n){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,n)},slideToClosest:function(e,t,n,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===i&&(i=.5);var r=this,o=r.activeIndex,a=Math.min(r.params.slidesPerGroupSkip,o),s=a+Math.floor((o-a)/r.params.slidesPerGroup),u=r.rtlTranslate?r.translate:-r.translate;if(u>=r.snapGrid[s]){var c=r.snapGrid[s];u-c>(r.snapGrid[s+1]-c)*i&&(o+=r.params.slidesPerGroup)}else{var l=r.snapGrid[s-1];u-l<=(r.snapGrid[s]-l)*i&&(o-=r.params.slidesPerGroup)}return o=Math.max(o,0),o=Math.min(o,r.slidesGrid.length-1),r.slideTo(o,e,t,n)},slideToClickedSlide:function(){var e,t=this,n=t.params,i=t.$wrapperEl,r="auto"===n.slidesPerView?t.slidesPerViewDynamic():n.slidesPerView,o=t.clickedIndex;if(n.loop){if(t.animating)return;e=parseInt(U1(t.clickedSlide).attr("data-swiper-slide-index"),10),n.centeredSlides?ot.slides.length-t.loopedSlides+r/2?(t.loopFix(),o=i.children("."+n.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),H1(function(){t.slideTo(o)})):t.slideTo(o):o>t.slides.length-r?(t.loopFix(),o=i.children("."+n.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),H1(function(){t.slideTo(o)})):t.slideTo(o)}else t.slideTo(o)}},loop:{loopCreate:function(){var e=this,t=S1(),n=e.params,i=e.$wrapperEl;i.children("."+n.slideClass+"."+n.slideDuplicateClass).remove();var r=i.children("."+n.slideClass);if(n.loopFillGroupWithBlank){var o=n.slidesPerGroup-r.length%n.slidesPerGroup;if(o!==n.slidesPerGroup){for(var a=0;ar.length&&(e.loopedSlides=r.length);var u=[],c=[];r.each(function(t,n){var i=U1(t);n=r.length-e.loopedSlides&&u.push(t),i.attr("data-swiper-slide-index",n)});for(var l=0;l=0;h-=1)i.prepend(U1(u[h].cloneNode(!0)).addClass(n.slideDuplicateClass))},loopFix:function(){var e=this;e.emit("beforeLoopFix");var t,n=e.activeIndex,i=e.slides,r=e.loopedSlides,o=e.allowSlidePrev,a=e.allowSlideNext,s=e.snapGrid,u=e.rtlTranslate;e.allowSlidePrev=!0,e.allowSlideNext=!0;var c=-s[n]-e.getTranslate();n=i.length-r&&(t=-i.length+n+r,e.slideTo(t+=r,0,!1,!0)&&0!==c&&e.setTranslate((u?-e.translate:e.translate)-c)),e.allowSlidePrev=o,e.allowSlideNext=a,e.emit("loopFix")},loopDestroy:function(){var e=this,t=e.params,n=e.slides;e.$wrapperEl.children("."+t.slideClass+"."+t.slideDuplicateClass+",."+t.slideClass+"."+t.slideBlankClass).remove(),n.removeAttr("data-swiper-slide-index")}},grabCursor:{setGrabCursor:function(e){var t=this;if(!(t.support.touch||!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)){var n=t.el;n.style.cursor="move",n.style.cursor=e?"-webkit-grabbing":"-webkit-grab",n.style.cursor=e?"-moz-grabbin":"-moz-grab",n.style.cursor=e?"grabbing":"grab"}},unsetGrabCursor:function(){var e=this;e.support.touch||e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.el.style.cursor="")}},manipulation:{appendSlide:function(e){var t=this,n=t.$wrapperEl,i=t.params;if(i.loop&&t.loopDestroy(),"object"==typeof e&&"length"in e)for(var r=0;r=a)n.appendSlide(t);else{for(var s=o>e?o+1:o,u=[],c=a-1;c>=e;c-=1){var l=n.slides.eq(c);l.remove(),u.unshift(l)}if("object"==typeof t&&"length"in t){for(var h=0;he?o+t.length:o}else i.append(t);for(var d=0;d1,d=l.slidesPerColumn>1,f=o.enabled;h&&!d?(a.removeClass(o.containerModifierClass+"multirow "+o.containerModifierClass+"multirow-column"),e.emitContainerClasses()):!h&&d&&(a.addClass(o.containerModifierClass+"multirow"),(l.slidesPerColumnFill&&"column"===l.slidesPerColumnFill||!l.slidesPerColumnFill&&"column"===o.slidesPerColumnFill)&&a.addClass(o.containerModifierClass+"multirow-column"),e.emitContainerClasses());var p=l.direction&&l.direction!==o.direction,v=o.loop&&(l.slidesPerView!==o.slidesPerView||p);p&&n&&e.changeDirection(),X1(e.params,l);var g=e.params.enabled;X1(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),f&&!g?e.disable():!f&&g&&e.enable(),e.currentBreakpoint=u,e.emit("_beforeBreakpoint",l),v&&n&&(e.loopDestroy(),e.loopCreate(),e.updateSlides(),e.slideTo(t-r+e.loopedSlides,0,!1)),e.emit("breakpoint",l)}}},getBreakpoint:function(e,t,n){if(void 0===t&&(t="window"),e&&("container"!==t||n)){var i=!1,r=E1(),o="window"===t?r.innerHeight:n.clientHeight,a=Object.keys(e).map(function(e){if("string"==typeof e&&0===e.indexOf("@")){var t=parseFloat(e.substr(1));return{value:o*t,point:e}}return{value:e,point:e}});a.sort(function(e,t){return parseInt(e.value,10)-parseInt(t.value,10)});for(var s=0;s0&&t.slidesOffsetBefore+t.spaceBetween*(e.slides.length-1)+e.slides[0].offsetWidth*e.slides.length;e.isLocked=t.slidesOffsetBefore&&t.slidesOffsetAfter&&i?i<=e.size:1===e.snapGrid.length,e.allowSlideNext=!e.isLocked,e.allowSlidePrev=!e.isLocked,n!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock"),n&&n!==e.isLocked&&(e.isEnd=!1,e.navigation&&e.navigation.update())}},classes:{addClasses:function(){var e=this,t=e.classNames,n=e.params,i=e.$el,r=e.device,o=e.support,a=function(e,t){var n=[];return e.forEach(function(e){"object"==typeof e?Object.keys(e).forEach(function(i){e[i]&&n.push(t+i)}):"string"==typeof e&&n.push(t+e)}),n}(["initialized",n.direction,{"pointer-events":o.pointerEvents&&!o.touch},{"free-mode":n.freeMode},{autoheight:n.autoHeight},{rtl:e.rtl},{multirow:n.slidesPerColumn>1},{"multirow-column":n.slidesPerColumn>1&&"column"===n.slidesPerColumnFill},{android:r.android},{ios:r.ios},{"css-mode":n.cssMode}],n.containerModifierClass);t.push.apply(t,a),i.addClass([].concat(t).join(" ")),e.emitContainerClasses()},removeClasses:function(){var e=this;e.$el.removeClass(e.classNames.join(" ")),e.emitContainerClasses()}},images:{loadImage:function(e,t,n,i,r,o){var a,s=E1();function u(){o&&o()}U1(e).parent("picture")[0]||e.complete&&r||!t?u():((a=new s.Image).onload=u,a.onerror=u,i&&(a.sizes=i),n&&(a.srcset=n),t&&(a.src=t))},preloadImages:function(){var e=this;function t(){null==e||!e||e.destroyed||(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(var n=0;n1){var a=[];return U1(n.el).each(function(t){var i=X1({},n,{el:t});a.push(new e(i))}),a}var s=this;s.__swiper__=!0,s.support=K1(),s.device=$1({userAgent:n.userAgent}),s.browser=Q1(),s.eventsListeners={},s.eventsAnyListeners=[],void 0===s.modules&&(s.modules={}),Object.keys(s.modules).forEach(function(e){var t=s.modules[e];if(t.params){var i=Object.keys(t.params)[0],r=t.params[i];if("object"!=typeof r||null===r||(["navigation","pagination","scrollbar"].indexOf(i)>=0&&!0===n[i]&&(n[i]={auto:!0}),!(i in n)||!("enabled"in r)))return;!0===n[i]&&(n[i]={enabled:!0}),"object"==typeof n[i]&&!("enabled"in n[i])&&(n[i].enabled=!0),n[i]||(n[i]={enabled:!1})}});var u,c,l=X1({},l2);return s.useParams(l),s.params=X1({},l,d2,n),s.originalParams=X1({},s.params),s.passedParams=X1({},n),s.params&&s.params.on&&Object.keys(s.params.on).forEach(function(e){s.on(e,s.params.on[e])}),s.params&&s.params.onAny&&s.onAny(s.params.onAny),s.$=U1,X1(s,{enabled:s.params.enabled,el:t,classNames:[],slides:U1(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===s.params.direction},isVertical:function(){return"vertical"===s.params.direction},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:s.params.allowSlideNext,allowSlidePrev:s.params.allowSlidePrev,touchEvents:(u=["touchstart","touchmove","touchend","touchcancel"],c=["mousedown","mousemove","mouseup"],s.support.pointerEvents&&(c=["pointerdown","pointermove","pointerup"]),s.touchEventsTouch={start:u[0],move:u[1],end:u[2],cancel:u[3]},s.touchEventsDesktop={start:c[0],move:c[1],end:c[2]},s.support.touch||!s.params.simulateTouch?s.touchEventsTouch:s.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:s.params.focusableElements,lastClickTime:G1(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:s.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),s.useModules(),s.emit("_swiper"),s.params.init&&s.init(),s}var t=e.prototype;return t.enable=function(){var e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))},t.disable=function(){var e=this;!e.enabled||(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))},t.setProgress=function(e,t){var n=this;e=Math.min(Math.max(e,0),1);var i=n.minTranslate(),r=n.maxTranslate();n.translateTo((r-i)*e+i,void 0===t?0:t),n.updateActiveIndex(),n.updateSlidesClasses()},t.emitContainerClasses=function(){var e=this;if(e.params._emitClasses&&e.el){var t=e.el.className.split(" ").filter(function(t){return 0===t.indexOf("swiper-container")||0===t.indexOf(e.params.containerModifierClass)});e.emit("_containerClasses",t.join(" "))}},t.getSlideClasses=function(e){var t=this;return e.className.split(" ").filter(function(e){return 0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass)}).join(" ")},t.emitSlidesClasses=function(){var e=this;if(e.params._emitClasses&&e.el){var t=[];e.slides.each(function(n){var i=e.getSlideClasses(n);t.push({slideEl:n,classNames:i}),e.emit("_slideClass",n,i)}),e.emit("_slideClasses",t)}},t.slidesPerViewDynamic=function(){var e=this,t=e.slides,n=e.slidesGrid,i=e.size,r=e.activeIndex,o=1;if(e.params.centeredSlides){for(var a,s=t[r].swiperSlideSize,u=r+1;ui&&(a=!0));for(var c=r-1;c>=0;c-=1)t[c]&&!a&&(o+=1,(s+=t[c].swiperSlideSize)>i&&(a=!0))}else for(var l=r+1;l1)&&e.isEnd&&!e.params.centeredSlides?e.slides.length-1:e.activeIndex,0,!1,!0)||i(),n.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}function i(){var t=Math.min(Math.max(e.rtlTranslate?-1*e.translate:e.translate,e.maxTranslate()),e.minTranslate());e.setTranslate(t),e.updateActiveIndex(),e.updateSlidesClasses()}},t.changeDirection=function(e,t){void 0===t&&(t=!0);var n=this,i=n.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(n.$el.removeClass(""+n.params.containerModifierClass+i).addClass(""+n.params.containerModifierClass+e),n.emitContainerClasses(),n.params.direction=e,n.slides.each(function(t){"vertical"===e?t.style.width="":t.style.height=""}),n.emit("changeDirection"),t&&n.update()),n},t.mount=function(e){var t=this;if(t.mounted)return!0;var n=U1(e||t.params.el);if(!(e=n[0]))return!1;e.swiper=t;var i=function(){return"."+(t.params.wrapperClass||"").trim().split(" ").join(".")},r=function(){if(e&&e.shadowRoot&&e.shadowRoot.querySelector){var t=U1(e.shadowRoot.querySelector(i()));return t.children=function(e){return n.children(e)},t}return n.children(i())}();if(0===r.length&&t.params.createElements){var o=S1().createElement("div");r=U1(o),o.className=t.params.wrapperClass,n.append(o),n.children("."+t.params.slideClass).each(function(e){r.append(e)})}return X1(t,{$el:n,el:e,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===e.dir.toLowerCase()||"rtl"===n.css("direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===e.dir.toLowerCase()||"rtl"===n.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0},t.init=function(e){var t=this;return t.initialized||!1===t.mount(e)||(t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.params.loop&&t.loopCreate(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.preloadImages&&t.preloadImages(),t.slideTo(t.params.loop?t.params.initialSlide+t.loopedSlides:t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.attachEvents(),t.initialized=!0,t.emit("init"),t.emit("afterInit")),t},t.destroy=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);var n=this,i=n.params,r=n.$el,o=n.$wrapperEl,a=n.slides;return void 0===n.params||n.destroyed||(n.emit("beforeDestroy"),n.initialized=!1,n.detachEvents(),i.loop&&n.loopDestroy(),t&&(n.removeClasses(),r.removeAttr("style"),o.removeAttr("style"),a&&a.length&&a.removeClass([i.slideVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),n.emit("destroy"),Object.keys(n.eventsListeners).forEach(function(e){n.off(e)}),!1!==e&&(n.$el[0].swiper=null,function(t){var n=t;Object.keys(n).forEach(function(t){try{n[t]=null}catch(e){}try{delete n[t]}catch(e){}})}(n)),n.destroyed=!0),null},e.extendDefaults=function(e){X1(d2,e)},e.installModule=function(t){e.prototype.modules||(e.prototype.modules={});var n=t.name||Object.keys(e.prototype.modules).length+"_"+G1();e.prototype.modules[n]=t},e.use=function(t){return Array.isArray(t)?(t.forEach(function(t){return e.installModule(t)}),e):(e.installModule(t),e)},function(e,t,n){n&&function(e,t){for(var n=0;n0?t[n].__swiper__?e[n]=t[n]:U2(e[n],t[n]):e[n]=t[n]):e[n]=t[n]})}function H2(e){return null!=e&&"false"!="".concat(e)}var G2=["pagination","navigation","scrollbar","virtual"];function W2(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return V2(e)?e:!0===H2(e)&&t}var q2=["init","_direction","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_freeModeMomentum","_freeModeMomentumRatio","_freeModeMomentumBounce","_freeModeMomentumBounceRatio","_freeModeMomentumVelocityRatio","_freeModeSticky","_freeModeMinimumVelocity","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","_spaceBetween","_slidesPerView","_slidesPerColumn","_slidesPerColumnFill","_slidesPerGroup","_slidesPerGroupSkip","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_watchSlidesVisibility","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_preloadImages","updateOnImagesReady","_loop","_loopAdditionalSlides","_loopedSlides","_loopFillGroupWithBlank","loopPreventsSlide","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","hashNavigation","history","keyboard","lazy","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom"].map(function(e){return e.replace(/_/,"")});function X2(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={on:{}},n={};U2(t,p2.defaults),U2(t,p2.extendedDefaults),t._emitClasses=!0;var i={};return Object.keys(e).forEach(function(r){var o=r.replace(/^_/,"");void 0!==e[o]&&(q2.indexOf(o)>=0?V2(e[o])?(t[o]={},n[o]={},U2(t[o],e[o]),U2(n[o],e[o])):(t[o]=e[o],n[o]=e[o]):i[o]=e[o])}),{params:t,passedParams:n,rest:i}}var Y2=function(){var e=function(){function e(t){m(this,e),this.template=t,this.class="",this.slideData={isActive:!1,isPrev:!1,isNext:!1,isVisible:!1,isDuplicate:!1}}return b(e,[{key:"zoom",get:function(){return this._zoom},set:function(e){this._zoom=H2(e)}},{key:"classNames",get:function(){return this._classNames},set:function(e){this._classNames!==e&&(this._classNames=e,this.slideData={isActive:this._hasClass(["swiper-slide-active","swiper-slide-duplicate-active"]),isVisible:this._hasClass(["swiper-slide-visible"]),isDuplicate:this._hasClass(["swiper-slide-duplicate"]),isPrev:this._hasClass(["swiper-slide-prev","swiper-slide-duplicate-prev"]),isNext:this._hasClass(["swiper-slide-next","swiper-slide-duplicate-next"])})}},{key:"_hasClass",value:function(e){var t=this;return e.some(function(e){return t._classNames.indexOf(e)>=0})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Pc))},e.\u0275dir=Rt({type:e,selectors:[["ng-template","swiperSlide",""]],inputs:{class:"class",zoom:"zoom",virtualIndex:"virtualIndex"}}),e}(),K2=function(){var e=function(){function e(t,n,i,r){var a=this;m(this,e),this._ngZone=t,this.elementRef=n,this._changeDetectorRef=i,this._platformId=r,this.slideClass="swiper-slide",this.wrapperClass="swiper-wrapper",this.showNavigation=!0,this.showPagination=!0,this.showScrollbar=!0,this.s__beforeBreakpoint=new ol,this.s__containerClasses=new ol,this.s__slideClass=new ol,this.s__swiper=new ol,this.s_activeIndexChange=new ol,this.s_afterInit=new ol,this.s_autoplay=new ol,this.s_autoplayStart=new ol,this.s_autoplayStop=new ol,this.s_beforeDestroy=new ol,this.s_beforeInit=new ol,this.s_beforeLoopFix=new ol,this.s_beforeResize=new ol,this.s_beforeSlideChangeStart=new ol,this.s_beforeTransitionStart=new ol,this.s_breakpoint=new ol,this.s_changeDirection=new ol,this.s_click=new ol,this.s_doubleTap=new ol,this.s_doubleClick=new ol,this.s_destroy=new ol,this.s_fromEdge=new ol,this.s_hashChange=new ol,this.s_hashSet=new ol,this.s_imagesReady=new ol,this.s_init=new ol,this.s_keyPress=new ol,this.s_lazyImageLoad=new ol,this.s_lazyImageReady=new ol,this.s_loopFix=new ol,this.s_momentumBounce=new ol,this.s_navigationHide=new ol,this.s_navigationShow=new ol,this.s_observerUpdate=new ol,this.s_orientationchange=new ol,this.s_paginationHide=new ol,this.s_paginationRender=new ol,this.s_paginationShow=new ol,this.s_paginationUpdate=new ol,this.s_progress=new ol,this.s_reachBeginning=new ol,this.s_reachEnd=new ol,this.s_realIndexChange=new ol,this.s_resize=new ol,this.s_scroll=new ol,this.s_scrollbarDragEnd=new ol,this.s_scrollbarDragMove=new ol,this.s_scrollbarDragStart=new ol,this.s_setTransition=new ol,this.s_setTranslate=new ol,this.s_slideChange=new ol,this.s_slideChangeTransitionEnd=new ol,this.s_slideChangeTransitionStart=new ol,this.s_slideNextTransitionEnd=new ol,this.s_slideNextTransitionStart=new ol,this.s_slidePrevTransitionEnd=new ol,this.s_slidePrevTransitionStart=new ol,this.s_slideResetTransitionStart=new ol,this.s_slideResetTransitionEnd=new ol,this.s_sliderMove=new ol,this.s_sliderFirstMove=new ol,this.s_slidesLengthChange=new ol,this.s_slidesGridLengthChange=new ol,this.s_snapGridLengthChange=new ol,this.s_snapIndexChange=new ol,this.s_tap=new ol,this.s_toEdge=new ol,this.s_touchEnd=new ol,this.s_touchMove=new ol,this.s_touchMoveOpposite=new ol,this.s_touchStart=new ol,this.s_transitionEnd=new ol,this.s_transitionStart=new ol,this.s_update=new ol,this.s_zoomChange=new ol,this.s_swiper=new ol,this.indexChange=new ol,this._activeSlides=new ae,this.containerClasses="swiper-container",this.slidesChanges=function(e){a.slides=e.map(function(e,t){return e.slideIndex=t,e.classNames=a.slideClass,e}),a.loop&&!a.loopedSlides&&a.calcLoopedSlides(),a.virtual?a.swiperRef&&a.swiperRef.virtual&&a._ngZone.runOutsideAngular(function(){a.swiperRef.virtual.slides=a.slides,a.swiperRef.virtual.update(!0)}):(a.prependSlides=$d(a.slides.slice(a.slides.length-a.loopedSlides)),a.appendSlides=$d(a.slides.slice(0,a.loopedSlides))),a._changeDetectorRef.detectChanges()},this.style=null,this.updateVirtualSlides=function(e){!a.swiperRef||a.currentVirtualData&&a.currentVirtualData.from===e.from&&a.currentVirtualData.to===e.to&&a.currentVirtualData.offset===e.offset||(a.style=a.swiperRef.isHorizontal()?o({},a.swiperRef.rtlTranslate?"right":"left","".concat(e.offset,"px")):{top:"".concat(e.offset,"px")},a.currentVirtualData=e,a._activeSlides.next(e.slides),a._ngZone.run(function(){a._changeDetectorRef.detectChanges()}),a._ngZone.runOutsideAngular(function(){a.swiperRef.updateSlides(),a.swiperRef.updateProgress(),a.swiperRef.updateSlidesClasses(),a.swiperRef.lazy&&a.swiperRef.params.lazy.enabled&&a.swiperRef.lazy.load(),a.swiperRef.virtual.update(!0)}))}}return b(e,[{key:"navigation",get:function(){return this._navigation},set:function(e){var t,n,i,r="boolean"!=typeof this._navigation?null===(t=this._navigation)||void 0===t?void 0:t.nextEl:null,o="boolean"!=typeof this._navigation?null===(n=this._navigation)||void 0===n?void 0:n.prevEl:null;this._navigation=W2(e,{nextEl:r||null,prevEl:o||null}),this.showNavigation=!(!0!==H2(e)||this._navigation&&"boolean"!=typeof this._navigation&&this._navigation.prevEl!==(null===(i=this._prevElRef)||void 0===i?void 0:i.nativeElement)&&(null!==this._navigation.prevEl||null!==this._navigation.nextEl)&&("string"==typeof this._navigation.nextEl||"string"==typeof this._navigation.prevEl||"object"==typeof this._navigation.nextEl||"object"==typeof this._navigation.prevEl))}},{key:"pagination",get:function(){return this._pagination},set:function(e){var t,n="boolean"!=typeof this._pagination?null===(t=this._pagination)||void 0===t?void 0:t.el:null;this._pagination=W2(e,{el:n||null}),this.showPagination=z2(e,this._pagination,this._paginationElRef)}},{key:"scrollbar",get:function(){return this._scrollbar},set:function(e){var t,n="boolean"!=typeof this._scrollbar?null===(t=this._scrollbar)||void 0===t?void 0:t.el:null;this._scrollbar=W2(e,{el:n||null}),this.showScrollbar=z2(e,this._scrollbar,this._scrollbarElRef)}},{key:"virtual",get:function(){return this._virtual},set:function(e){this._virtual=W2(e)}},{key:"index",set:function(e){this.setIndex(e)}},{key:"config",set:function(e){this.updateSwiper(e);var t=X2(e).params;Object.assign(this,t)}},{key:"prevElRef",set:function(e){this._prevElRef=e,this._setElement(e,this.navigation,"navigation","prevEl")}},{key:"nextElRef",set:function(e){this._nextElRef=e,this._setElement(e,this.navigation,"navigation","nextEl")}},{key:"scrollbarElRef",set:function(e){this._scrollbarElRef=e,this._setElement(e,this.scrollbar,"scrollbar")}},{key:"paginationElRef",set:function(e){this._paginationElRef=e,this._setElement(e,this.pagination,"pagination")}},{key:"activeSlides",get:function(){return this.virtual?this._activeSlides:$d(this.slides)}},{key:"zoomContainerClass",get:function(){return"boolean"!=typeof this.zoom?this.zoom.containerClass:"swiper-zoom-container"}},{key:"_setElement",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"el";if(e&&t){if(t&&e.nativeElement){if(t[i]===e.nativeElement)return;t[i]=e.nativeElement}var r={};r[n]=!0,this.updateInitSwiper(r)}}},{key:"ngOnInit",value:function(){var e=X2(this).params;Object.assign(this,e)}},{key:"ngAfterViewInit",value:function(){var e=this;this.childrenSlidesInit(),this.initSwiper(),this._changeDetectorRef.detectChanges(),setTimeout(function(){e.s_swiper.emit(e.swiperRef)})}},{key:"childrenSlidesInit",value:function(){this.slidesChanges(this.slidesEl),this.slidesEl.changes.subscribe(this.slidesChanges)}},{key:"isSwiperActive",get:function(){return this.swiperRef&&!this.swiperRef.destroyed}},{key:"initSwiper",value:function(){var e=this,t=X2(this).params;Object.assign(this,t),this._ngZone.runOutsideAngular(function(){t.init=!1,t.virtual||(t.observer=!0),t.onAny=function(t){for(var n=e["s_".concat(t)],i=arguments.length,r=new Array(i>1?i-1:0),o=1;o=0)){var o=null!==(i=null===(n=e[r])||void 0===n?void 0:n.currentValue)&&void 0!==i?i:e[r];t.updateParameter(r,o)}e.allowSlideNext&&(t.swiperRef.allowSlideNext=t.allowSlideNext),e.allowSlidePrev&&(t.swiperRef.allowSlidePrev=t.allowSlidePrev),e.direction&&t.swiperRef.changeDirection(t.direction,!1),e.breakpoints&&(t.loop&&!t.loopedSlides&&t.calcLoopedSlides(),t.swiperRef.currentBreakpoint=null,t.swiperRef.setBreakpoint()),(e.thumbs||e.controller)&&t.updateInitSwiper(e),t.swiperRef.update()}})}},{key:"calcLoopedSlides",value:function(){if(this.loop){var e=this.slidesPerView;if(this.breakpoints){var t=p2.prototype.getBreakpoint(this.breakpoints),n=t in this.breakpoints?this.breakpoints[t]:void 0;n&&n.slidesPerView&&(e=n.slidesPerView)}if("auto"===e)return this.loopedSlides=this.slides.length,this.slides.length;var i=this.loopedSlides||e;return(i+=this.loopAdditionalSlides)>this.slides.length&&(i=this.slides.length),this.loopedSlides=i,i}}},{key:"updateParameter",value:function(e,t){if(this.swiperRef&&!this.swiperRef.destroyed){var n=e.replace(/^_/,""),i=V2(this.swiperRef.params[n]);if(Object.keys(this.swiperRef.modules).indexOf(n)>=0){var r=this.swiperRef.modules[n].params[n];i?U2(this.swiperRef.params[n],r):this.swiperRef.params[n]=r}i&&V2(t)?U2(this.swiperRef.params[n],t):this.swiperRef.params[n]=t}}},{key:"setIndex",value:function(e,t,n){var i=this;this.isSwiperActive?e!==this.swiperRef.activeIndex&&this._ngZone.runOutsideAngular(function(){i.loop?i.swiperRef.slideToLoop(e,t,!n):i.swiperRef.slideTo(e,t,!n)}):this.initialSlide=e}},{key:"ngOnDestroy",value:function(){var e=this;this._ngZone.runOutsideAngular(function(){var t;null===(t=e.swiperRef)||void 0===t||t.destroy(!0,!1)})}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(Xl),Os(Ju),Os(Cc),Os(Ml))},e.\u0275cmp=Ot({type:e,selectors:[["swiper"],["","swiper",""]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,Y2,4),2&e)&&(ml(i=_l())&&(t.slidesEl=i))},viewQuery:function(e,t){var n;(1&e&&(yl(v2,5),yl(g2,5),yl(m2,5),yl(y2,5)),2&e)&&(ml(n=_l())&&(t.prevElRef=n.first),ml(n=_l())&&(t.nextElRef=n.first),ml(n=_l())&&(t.scrollbarElRef=n.first),ml(n=_l())&&(t.paginationElRef=n.first))},hostVars:2,hostBindings:function(e,t){2&e&&du(t.containerClasses)},inputs:{slideClass:"slideClass",wrapperClass:"wrapperClass",navigation:"navigation",pagination:"pagination",scrollbar:"scrollbar",virtual:"virtual",index:"index",config:"config",loopedSlides:"loopedSlides",initialSlide:"initialSlide",direction:"direction",touchEventsTarget:"touchEventsTarget",speed:"speed",cssMode:"cssMode",updateOnWindowResize:"updateOnWindowResize",resizeObserver:"resizeObserver",nested:"nested",focusableElements:"focusableElements",width:"width",height:"height",preventInteractionOnTransition:"preventInteractionOnTransition",userAgent:"userAgent",url:"url",edgeSwipeDetection:"edgeSwipeDetection",edgeSwipeThreshold:"edgeSwipeThreshold",freeMode:"freeMode",freeModeMomentum:"freeModeMomentum",freeModeMomentumRatio:"freeModeMomentumRatio",freeModeMomentumBounce:"freeModeMomentumBounce",freeModeMomentumBounceRatio:"freeModeMomentumBounceRatio",freeModeMomentumVelocityRatio:"freeModeMomentumVelocityRatio",freeModeSticky:"freeModeSticky",freeModeMinimumVelocity:"freeModeMinimumVelocity",autoHeight:"autoHeight",setWrapperSize:"setWrapperSize",virtualTranslate:"virtualTranslate",effect:"effect",breakpoints:"breakpoints",spaceBetween:"spaceBetween",slidesPerView:"slidesPerView",slidesPerColumn:"slidesPerColumn",slidesPerColumnFill:"slidesPerColumnFill",slidesPerGroup:"slidesPerGroup",slidesPerGroupSkip:"slidesPerGroupSkip",centeredSlides:"centeredSlides",centeredSlidesBounds:"centeredSlidesBounds",slidesOffsetBefore:"slidesOffsetBefore",slidesOffsetAfter:"slidesOffsetAfter",normalizeSlideIndex:"normalizeSlideIndex",centerInsufficientSlides:"centerInsufficientSlides",watchOverflow:"watchOverflow",roundLengths:"roundLengths",touchRatio:"touchRatio",touchAngle:"touchAngle",simulateTouch:"simulateTouch",shortSwipes:"shortSwipes",longSwipes:"longSwipes",longSwipesRatio:"longSwipesRatio",longSwipesMs:"longSwipesMs",followFinger:"followFinger",allowTouchMove:"allowTouchMove",threshold:"threshold",touchMoveStopPropagation:"touchMoveStopPropagation",touchStartPreventDefault:"touchStartPreventDefault",touchStartForcePreventDefault:"touchStartForcePreventDefault",touchReleaseOnEdges:"touchReleaseOnEdges",uniqueNavElements:"uniqueNavElements",resistance:"resistance",resistanceRatio:"resistanceRatio",watchSlidesProgress:"watchSlidesProgress",watchSlidesVisibility:"watchSlidesVisibility",grabCursor:"grabCursor",preventClicks:"preventClicks",preventClicksPropagation:"preventClicksPropagation",slideToClickedSlide:"slideToClickedSlide",preloadImages:"preloadImages",updateOnImagesReady:"updateOnImagesReady",loop:"loop",loopAdditionalSlides:"loopAdditionalSlides",loopFillGroupWithBlank:"loopFillGroupWithBlank",loopPreventsSlide:"loopPreventsSlide",allowSlidePrev:"allowSlidePrev",allowSlideNext:"allowSlideNext",swipeHandler:"swipeHandler",noSwiping:"noSwiping",noSwipingClass:"noSwipingClass",noSwipingSelector:"noSwipingSelector",passiveListeners:"passiveListeners",containerModifierClass:"containerModifierClass",slideBlankClass:"slideBlankClass",slideActiveClass:"slideActiveClass",slideDuplicateActiveClass:"slideDuplicateActiveClass",slideVisibleClass:"slideVisibleClass",slideDuplicateClass:"slideDuplicateClass",slideNextClass:"slideNextClass",slideDuplicateNextClass:"slideDuplicateNextClass",slidePrevClass:"slidePrevClass",slideDuplicatePrevClass:"slideDuplicatePrevClass",runCallbacksOnInit:"runCallbacksOnInit",observeParents:"observeParents",observeSlideChildren:"observeSlideChildren",a11y:"a11y",autoplay:"autoplay",controller:"controller",coverflowEffect:"coverflowEffect",cubeEffect:"cubeEffect",fadeEffect:"fadeEffect",flipEffect:"flipEffect",hashNavigation:"hashNavigation",history:"history",keyboard:"keyboard",lazy:"lazy",mousewheel:"mousewheel",parallax:"parallax",thumbs:"thumbs",zoom:"zoom",class:"class",id:"id"},outputs:{s__beforeBreakpoint:"_beforeBreakpoint",s__containerClasses:"_containerClasses",s__slideClass:"_slideClass",s__swiper:"_swiper",s_activeIndexChange:"activeIndexChange",s_afterInit:"afterInit",s_autoplay:"autoplay",s_autoplayStart:"autoplayStart",s_autoplayStop:"autoplayStop",s_beforeDestroy:"beforeDestroy",s_beforeInit:"beforeInit",s_beforeLoopFix:"beforeLoopFix",s_beforeResize:"beforeResize",s_beforeSlideChangeStart:"beforeSlideChangeStart",s_beforeTransitionStart:"beforeTransitionStart",s_breakpoint:"breakpoint",s_changeDirection:"changeDirection",s_click:"click",s_doubleTap:"doubleTap",s_doubleClick:"doubleClick",s_destroy:"destroy",s_fromEdge:"fromEdge",s_hashChange:"hashChange",s_hashSet:"hashSet",s_imagesReady:"imagesReady",s_init:"init",s_keyPress:"keyPress",s_lazyImageLoad:"lazyImageLoad",s_lazyImageReady:"lazyImageReady",s_loopFix:"loopFix",s_momentumBounce:"momentumBounce",s_navigationHide:"navigationHide",s_navigationShow:"navigationShow",s_observerUpdate:"observerUpdate",s_orientationchange:"orientationchange",s_paginationHide:"paginationHide",s_paginationRender:"paginationRender",s_paginationShow:"paginationShow",s_paginationUpdate:"paginationUpdate",s_progress:"progress",s_reachBeginning:"reachBeginning",s_reachEnd:"reachEnd",s_realIndexChange:"realIndexChange",s_resize:"resize",s_scroll:"scroll",s_scrollbarDragEnd:"scrollbarDragEnd",s_scrollbarDragMove:"scrollbarDragMove",s_scrollbarDragStart:"scrollbarDragStart",s_setTransition:"setTransition",s_setTranslate:"setTranslate",s_slideChange:"slideChange",s_slideChangeTransitionEnd:"slideChangeTransitionEnd",s_slideChangeTransitionStart:"slideChangeTransitionStart",s_slideNextTransitionEnd:"slideNextTransitionEnd",s_slideNextTransitionStart:"slideNextTransitionStart",s_slidePrevTransitionEnd:"slidePrevTransitionEnd",s_slidePrevTransitionStart:"slidePrevTransitionStart",s_slideResetTransitionStart:"slideResetTransitionStart",s_slideResetTransitionEnd:"slideResetTransitionEnd",s_sliderMove:"sliderMove",s_sliderFirstMove:"sliderFirstMove",s_slidesLengthChange:"slidesLengthChange",s_slidesGridLengthChange:"slidesGridLengthChange",s_snapGridLengthChange:"snapGridLengthChange",s_snapIndexChange:"snapIndexChange",s_tap:"tap",s_toEdge:"toEdge",s_touchEnd:"touchEnd",s_touchMove:"touchMove",s_touchMoveOpposite:"touchMoveOpposite",s_touchStart:"touchStart",s_transitionEnd:"transitionEnd",s_transitionStart:"transitionStart",s_update:"update",s_zoomChange:"zoomChange",s_swiper:"swiper",indexChange:"indexChange"},features:[qt],ngContentSelectors:B2,decls:13,vars:17,consts:[[4,"ngIf"],["class","swiper-scrollbar",4,"ngIf"],["class","swiper-pagination",4,"ngIf"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["slidesTemplate",""],[1,"swiper-button-prev"],["prevElRef",""],[1,"swiper-button-next"],["nextElRef",""],[1,"swiper-scrollbar"],["scrollbarElRef",""],[1,"swiper-pagination"],["paginationElRef",""],[3,"ngClass","style","ngSwitch",4,"ngFor","ngForOf"],[3,"ngClass","ngSwitch"],[3,"ngClass",4,"ngSwitchCase"],[4,"ngSwitchDefault"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(e,t){if(1&e&&(Xs(N2),Ys(0),Cs(1,b2,5,0,"ng-container",0),Cs(2,_2,2,0,"div",1),Cs(3,w2,2,0,"div",2),Ps(4,"div",3),Ys(5,1),Cs(6,x2,1,0,void 0,4),Cs(7,C2,1,0,void 0,4),Cs(8,O2,1,0,void 0,4),Ys(9,2),Ms(),Ys(10,3),Cs(11,D2,2,3,"ng-template",null,5,Sl)),2&e){var n=Es(12);Yo(1),Ts("ngIf",t.navigation&&t.showNavigation),Yo(1),Ts("ngIf",t.scrollbar&&t.showScrollbar),Yo(1),Ts("ngIf",t.pagination&&t.showPagination),Yo(1),Ts("ngClass",t.wrapperClass),ks("id",t.id),Yo(2),Ts("ngTemplateOutlet",n)("ngTemplateOutletContext",$c(11,L2,t.prependSlides)),Yo(1),Ts("ngTemplateOutlet",n)("ngTemplateOutletContext",$c(13,j2,t.activeSlides)),Yo(1),Ts("ngTemplateOutlet",n)("ngTemplateOutletContext",$c(15,F2,t.appendSlides))}},directives:[Yh,Gh,nd,qh,Zh,Jh,ed],pipes:[sd],styles:["\n swiper {\n display: block;\n }\n "],encapsulation:2,changeDetection:0}),e}(),$2=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd]]}),e}();function Q2(e,t){if(1&e){var n=Ls();Ps(0,"div",7),Ps(1,"div",8),Cu(2),Ms(),Ps(3,"a",9),Vs("click",function(){bn(n);var e=Ws().$implicit;return Ws().linkClicked.emit(e)}),Cu(4," DATA "),Ps(5,"mat-icon"),Cu(6,"open_in_new"),Ms(),Ms(),Ms()}if(2&e){var i=Ws().$implicit;Yo(1),uu("background-image","url("+i.thumbnail+")"),Yo(1),Ou(" ",i.technology," ")}}function Z2(e,t){1&e&&(Rs(0),Cs(1,Q2,7,3,"ng-template",6),Ds())}var J2=function(){var e=-1;return function(){return e+=1}}(),e3=function(){var e=function(){function e(){m(this,e),this.className="ccf-thumbnail-carousel",this.linkClicked=new ol,this.uid=J2(),this.config={allowTouchMove:!1,slidesOffsetBefore:4,slidesOffsetAfter:4,slidesPerView:"auto",spaceBetween:4,watchOverflow:!0},this.navigation={prevEl:"#"+this.prevButtonId,nextEl:"#"+this.nextButtonId}}return b(e,[{key:"prevButtonId",get:function(){return"ccf-thumbnail-carousel-prev-button-".concat(this.uid)}},{key:"nextButtonId",get:function(){return"ccf-thumbnail-carousel-next-button-".concat(this.uid)}},{key:"itemId",value:function(e,t){return t.thumbnail}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-thumbnail-carousel"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.className)},inputs:{data:"data"},outputs:{linkClicked:"linkClicked"},decls:11,vars:6,consts:[[1,"prev"],["mat-icon-button","","disableRipple",""],[1,"swiper",3,"config","navigation"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"next"],[1,"fade"],["swiperSlide",""],[1,"slide"],[1,"thumbnail"],[1,"link",3,"click"]],template:function(e,t){1&e&&(Ps(0,"div",0),Ps(1,"button",1),Ps(2,"mat-icon"),Cu(3,"navigate_before"),Ms(),Ms(),Ms(),Ps(4,"swiper",2),Cs(5,Z2,2,0,"ng-container",3),Ms(),Ps(6,"div",4),Ps(7,"button",1),Is(8,"div",5),Ps(9,"mat-icon"),Cu(10,"navigate_next"),Ms(),Ms(),Ms()),2&e&&(Yo(1),ks("id",t.prevButtonId),Yo(3),Ts("config",t.config)("navigation",t.navigation),Yo(1),Ts("ngForOf",t.data)("ngForTrackBy",t.itemId),Yo(2),ks("id",t.nextButtonId))},directives:[q_,B_,K2,qh,Y2],styles:['[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%]{flex-grow:1;padding-bottom:.3125rem}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%] .swiper-slide{width:3.75rem;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%]{display:flex;align-items:center;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] button[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:1.5rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{position:absolute;top:-.625rem;left:-2rem;z-index:10;width:2rem;height:3.125rem;opacity:1;transition:opacity ease-in-out .3s;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%]{cursor:default;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]{position:relative;width:100%;height:100%}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;background-size:cover;position:relative;width:calc(100% - 2 * .125rem);height:calc(100% - 2 * .125rem);border-style:solid;border-width:.125rem;border-radius:.25rem;background-origin:padding-box;background-clip:padding-box;font-size:.875rem;font-weight:bold}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:-.125rem;left:-.125rem;width:.125rem;height:.125rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;right:0;left:0;opacity:0;transition:opacity ease-in-out .3s;box-shadow:0 2px 4px #0009;font-size:.75rem;line-height:.75rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%], [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:link, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:visited, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:active{cursor:pointer;text-decoration:none}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]:hover .link[_ngcontent-%COMP%]{opacity:1}'],changeDetection:0}),e}();function t3(e,t){if(1&e){var n=Ls();Ps(0,"mat-icon",14),Vs("click",function(){return bn(n),Ws().toggleExpansion()}),Cu(1),Ms()}if(2&e){var i=Ws();Yo(1),Eu(i.expanded?"expand_less":"expand_more")}}function n3(e,t){if(1&e&&Is(0,"ccf-tissue-section-vis",20),2&e){var n=Ws(2);Ts("totalTissueSections",n.tissueBlock.sectionCount)("tissueSections",n.tissueBlock.sections)}}function i3(e,t){if(1&e){var n=Ls();Rs(0),Ps(1,"ccf-thumbnail-carousel",21),Vs("linkClicked",function(e){return bn(n),Ws(2).linkHandler(e.link)}),Ms(),Ds()}if(2&e){var i=Ws(2);Yo(1),Ts("data",i.tissueBlock.datasets)}}function r3(e,t){if(1&e){var n=Ls();Rs(0),Ps(1,"ccf-thumbnail-carousel",21),Vs("linkClicked",function(e){return bn(n),Ws(3).linkHandler(e.link)}),Ms(),Ds()}if(2&e){var i=Ws().$implicit;Yo(1),Ts("data",i.datasets)}}function o3(e,t){if(1&e){var n=Ls();Ps(0,"div",22),Ps(1,"div",23),Ps(2,"mat-icon",24),Cu(3,"bubble_chart"),Ms(),Ps(4,"div",17),Ps(5,"div",8),Cu(6),Ms(),Ps(7,"div",8),Cu(8),Ms(),Ms(),Ps(9,"div",9),Vs("click",function(){var e=bn(n).$implicit;return Ws(2).linkHandler(e.link)}),Ps(10,"div",10),Cu(11,"TISSUE SECTION"),Ms(),Ps(12,"mat-icon",11),Cu(13,"open_in_new"),Ms(),Ms(),Ms(),Cs(14,r3,2,1,"ng-container",13),Ms()}if(2&e){var i=t.$implicit;Yo(6),Eu(i.label),Yo(2),Eu(i.description),Yo(6),Ts("ngIf",i.datasets.length>0)}}function a3(e,t){if(1&e){var n=Ls();Rs(0),Ps(1,"div",15),Ps(2,"div",16),Ps(3,"mat-icon",5),Cu(4,"bubble_chart"),Ms(),Ps(5,"div",17),Ps(6,"div",8),Cu(7),Ms(),Ps(8,"div",8),Cu(9),Ms(),Ms(),Ps(10,"div",9),Vs("click",function(){bn(n);var e=Ws();return e.linkHandler(e.tissueBlock.link)}),Ps(11,"div",10),Cu(12,"TISSUE BLOCK"),Ms(),Ps(13,"mat-icon",11),Cu(14,"open_in_new"),Ms(),Ms(),Ms(),Cs(15,n3,1,2,"ccf-tissue-section-vis",18),Cs(16,i3,2,1,"ng-container",13),Ms(),Cs(17,o3,15,3,"div",19),Ds()}if(2&e){var i=Ws();Yo(7),Eu(i.tissueBlock.label),Yo(2),Eu(i.tissueBlock.description),Yo(6),Ts("ngIf",i.tissueBlock.sections.length>1),Yo(1),Ts("ngIf",i.tissueBlock.datasets.length>0),Yo(1),Ts("ngForOf",i.tissueBlock.sections)}}var s3=function(e){return{"background-color":e}},u3=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.clsName="ccf-donor-card",this.selected=!1,this.expanded=!1,this.highlighted=!1,this.checked=new ol,this.linkClick=new ol,this.hoverState=""}return b(e,[{key:"handleCheckbox",value:function(){this.selected=!this.selected,this.ga.event("selected_toggled","donor_card",this.tissueBlock.label,+this.selected),this.checked.emit(this.selected),this.expanded=!1}},{key:"toggleExpansion",value:function(){this.selected&&(this.expanded=!this.expanded,this.ga.event("expanded_toggled","donor_card",this.tissueBlock.label,+this.expanded))}},{key:"linkHandler",value:function(e){this.ga.event("link_clicked","donor_card",this.tissueBlock.label),this.selected?this.linkClick.emit(e):(this.selected=!0,this.checked.emit(this.selected))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-donor-card"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{tissueBlock:"tissueBlock",selected:"selected",color:"color",expanded:"expanded",highlighted:"highlighted"},outputs:{checked:"checked",linkClick:"linkClick"},decls:19,vars:20,consts:[[1,"main-container"],[1,"checkbox-background",3,"ngStyle","click"],[1,"checkbox",3,"checked"],[1,"hoverable","default-padding","donor","mat-elevation-z2"],[1,"d-flex"],[1,"icon-size","icon-dark","mr-5"],[1,"donor-info"],[1,"title","description"],[1,"description"],[1,"hover-state","mat-elevation-z4",3,"click"],[1,"hover-title"],[1,"icon-size","hover-icon"],["class","icon-size ml-5 selectable",3,"click",4,"ngIf"],[4,"ngIf"],[1,"icon-size","ml-5","selectable",3,"click"],[1,"expanded-view","mat-elevation-z2","align-end"],[1,"info-block","hover-enabled","default-padding"],[1,"text-content"],[3,"totalTissueSections","tissueSections",4,"ngIf"],["class","expanded-view w-80 mat-elevation-z2 align-end",4,"ngFor","ngForOf"],[3,"totalTissueSections","tissueSections"],[1,"mt-05",3,"data","linkClicked"],[1,"expanded-view","w-80","mat-elevation-z2","align-end"],[1,"default-padding","info-block","hover-enabled"],[1,"icon-size","mr-5","icon-light"]],template:function(e,t){1&e&&(Ps(0,"div",0),Ps(1,"div",1),Vs("click",function(){return t.handleCheckbox()}),Is(2,"mat-checkbox",2),Ms(),Ps(3,"div",3),Ps(4,"div",4),Ps(5,"mat-icon",5),Cu(6,"person"),Ms(),Ps(7,"div",6),Ps(8,"div",7),Cu(9),Ms(),Ps(10,"div",8),Cu(11),Ms(),Ms(),Ms(),Ps(12,"div",9),Vs("click",function(){return t.linkHandler(t.tissueBlock.donor.link)}),Ps(13,"div",10),Cu(14,"DONOR"),Ms(),Ps(15,"mat-icon",11),Cu(16,"open_in_new"),Ms(),Ms(),Cs(17,t3,2,1,"mat-icon",12),Ms(),Ms(),Cs(18,a3,18,5,"ng-container",13)),2&e&&(Yo(1),cu("selected",t.selected)("highlighted",t.highlighted),Ts("ngStyle",$c(18,s3,t.selected?t.color:"transparent")),Yo(1),cu("checkselected",t.selected),Ts("checked",t.selected),Yo(1),cu("hover-enabled",t.selected)("expanded",t.expanded)("highlighted",t.highlighted),Yo(6),Eu(t.tissueBlock.donor.label),Yo(2),Eu(t.tissueBlock.donor.description),Yo(6),Ts("ngIf",t.selected),Yo(1),Ts("ngIf",t.expanded))},directives:[td,n$,B_,Yh,qh,_1,e3],styles:["[_nghost-%COMP%]{width:100%}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{display:flex;min-height:3rem;width:100%;align-items:center;padding-left:.5rem}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%]{height:2rem;width:2rem;border-radius:50%;margin-right:.5rem;display:flex;justify-content:center;align-items:center;cursor:pointer}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-checked.mat-accent .mat-checkbox-background, [_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-indeterminate.mat-accent[_ngcontent-%COMP%] .mat-checkbox-background[_ngcontent-%COMP%]{background-color:transparent}[_nghost-%COMP%] .checkbox-background.highlighted[_ngcontent-%COMP%] .mat-ripple-element{opacity:.04}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkselected[_ngcontent-%COMP%] .mat-checkbox-frame{border-color:#fff!important}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkbox[_ngcontent-%COMP%]{margin-left:1.12rem;margin-bottom:.12rem}[_nghost-%COMP%] .align-end[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;width:100%;align-items:center}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]:not(:first-child){margin-top:.5rem}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .donor.highlighted[_ngcontent-%COMP%]{box-shadow:0 6px 2px -2px #0003,0 4px 4px #00000024,0 2px 10px #0000001f}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .hover-state[_ngcontent-%COMP%]{width:19.5rem!important}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .hoverable[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]:hover .hover-state[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%]{transition:opacity .15s ease-in-out;opacity:0;cursor:pointer;position:absolute;height:100%;width:100%;top:0;margin-left:-.5rem;align-items:center;display:flex;justify-content:flex-end;padding-right:1rem;font-size:.75rem}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-title[_ngcontent-%COMP%]{font-weight:lighter}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-icon[_ngcontent-%COMP%]{margin-left:1rem}[_nghost-%COMP%] .default-padding[_ngcontent-%COMP%]{padding:.25rem .5rem}[_nghost-%COMP%] .expanded-view[_ngcontent-%COMP%]{margin-top:.25rem;width:85%;margin-bottom:.25rem}[_nghost-%COMP%] .d-flex[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .icon-size[_ngcontent-%COMP%]{height:1.5rem;width:1.5rem;font-size:1.5rem}[_nghost-%COMP%] .selectable[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%]{width:80%!important}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:16rem!important}[_nghost-%COMP%] .ml-5[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mr-5[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .mt-05[_ngcontent-%COMP%]{margin-top:.5rem}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),e}();function c3(e,t){if(1&e&&(Ps(0,"div",7),Ps(1,"div",8),Cu(2),Ms(),Ps(3,"div",9),Cu(4),Ms(),Ms()),2&e){var n=t.$implicit;Yo(2),Eu(n.count),Yo(2),Eu(n.label)}}function l3(e,t){if(1&e){var n=Ls();Ps(0,"div",10),Vs("mouseenter",function(){var e=bn(n).$implicit;return Ws().handleHover(e.tissueBlock.spatialEntityId)})("mouseleave",function(){return bn(n),Ws().handleUnhover()}),Ps(1,"ccf-donor-card",11),Vs("checked",function(e){var t=bn(n).$implicit;return Ws().handleSelection(t,e)})("linkClick",function(e){return bn(n),Ws().handleLinkClick(e)}),Ms(),Ms()}if(2&e){var i=t.$implicit,r=Ws();Yo(1),Ts("tissueBlock",i.tissueBlock)("selected",i.selected)("color",i.color)("highlighted",i.tissueBlock.spatialEntityId===r.highlighted)}}var h3=function(){var e=function(){function e(t){m(this,e),this.ga=t,this.linkClicked=new ol,this.listResultSelected=new ol,this.listResultDeselected=new ol,this.itemHovered=new ol,this.itemUnhovered=new ol,this.atScrollBottom=!1}return b(e,[{key:"handleSelection",value:function(e,t){this.ga.event("list_result_selected","results_browser",this.resultLabel,+t),t?this.listResultSelected.next(e):this.listResultDeselected.next(e)}},{key:"handleLinkClick",value:function(e){this.linkClicked.emit(e)}},{key:"onScroll",value:function(e){if(e.target){var t=e.target,n=t.clientHeight,i=t.scrollHeight,r=t.scrollTop;this.atScrollBottom=i-r-n<64}}},{key:"handleHover",value:function(e){this.itemHovered.emit(e)}},{key:"handleUnhover",value:function(){this.itemUnhovered.emit()}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Os(yq))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-results-browser"]],inputs:{listResults:"listResults",aggregateData:"aggregateData",resultLabel:"resultLabel",highlighted:"highlighted",header:"header"},outputs:{linkClicked:"linkClicked",listResultSelected:"listResultSelected",listResultDeselected:"listResultDeselected",itemHovered:"itemHovered",itemUnhovered:"itemUnhovered"},decls:8,vars:7,consts:[[1,"results-browser-container"],[1,"stat-box"],["id","title"],["class","stat-row",4,"ngFor","ngForOf"],[1,"results-browser-list",3,"scroll"],["class","browser-item-container",3,"mouseenter","mouseleave",4,"ngFor","ngForOf"],[1,"scroll-gradient"],[1,"stat-row"],[1,"stat-value"],[1,"stat-label"],[1,"browser-item-container",3,"mouseenter","mouseleave"],[3,"tissueBlock","selected","color","highlighted","checked","linkClick"]],template:function(e,t){1&e&&(Ps(0,"div",0),Ps(1,"div",1),Ps(2,"div",2),Cu(3),Ms(),Cs(4,c3,5,2,"div",3),Ms(),Ps(5,"div",4),Vs("scroll",function(e){return t.onScroll(e)}),Cs(6,l3,2,4,"div",5),Ms(),Is(7,"div",6),Ms()),2&e&&(Yo(3),Eu(t.resultLabel),Yo(1),Ts("ngForOf",t.aggregateData),Yo(1),cu("header-hidden",!t.header),Yo(1),Ts("ngForOf",t.listResults),Yo(1),cu("hidden",!!t.atScrollBottom))},directives:[qh,u3],styles:[".results-browser-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:calc(100% - 3rem);padding:0 1.5rem 1.5rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%]{margin-bottom:1.5rem;line-height:1.25;min-height:7.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] #title[_ngcontent-%COMP%]{font-size:1.25rem;margin-bottom:.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%]{display:flex;flex-direction:row}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{margin-right:1rem;width:5.5rem;text-align:right;font-weight:600}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-weight:300}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;padding-right:.5rem;height:calc(100vh - 20rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 16rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%] .browser-item-container[_ngcontent-%COMP%]{width:100%}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:95%;bottom:0;pointer-events:none}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),e}(),d3=["*",[["mat-toolbar-row"]]],f3=["*","mat-toolbar-row"],p3=ab(function(){return function e(t){m(this,e),this._elementRef=t}}()),v3=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Rt({type:e,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),e}(),g3=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i,r){var o;return m(this,n),(o=t.call(this,e))._platform=i,o._document=r,o}return b(n,[{key:"ngAfterViewInit",value:function(){var e=this;this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(function(){return e._checkToolbarMixedModes()}))}},{key:"_checkToolbarMixedModes",value:function(){}}]),n}(p3);return e.\u0275fac=function(t){return new(t||e)(Os(Ju),Os(qf),Os(bh))},e.\u0275cmp=Ot({type:e,selectors:[["mat-toolbar"]],contentQueries:function(e,t,n){var i;(1&e&&bl(n,v3,5),2&e)&&(ml(i=_l())&&(t._toolbarRows=i))},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(e,t){2&e&&cu("mat-toolbar-multiple-rows",t._toolbarRows.length>0)("mat-toolbar-single-row",0===t._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[cs],ngContentSelectors:f3,decls:2,vars:0,template:function(e,t){1&e&&(Xs(d3),Ys(0),Ys(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),e}(),m3=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[rb],rb]}),e}();function y3(e,t){if(1&e&&(Ps(0,"a",5),Cu(1,"LOGIN"),Ms()),2&e){var n=Ws();cu("disabled",n.loginDisabled||!n.homeUrl),Ts("href",n.homeUrl+"login",Xr)}}function b3(e,t){if(1&e&&(Ps(0,"a",5),Cu(1,"LOGOUT"),Ms()),2&e){var n=Ws();cu("disabled",n.loginDisabled||!n.homeUrl),Ts("href",n.homeUrl+"logout",Xr)}}var _3=function(){var e=function e(){m(this,e),this.refreshClicked=new ol,this.downloadClicked=new ol};return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-header"]],inputs:{homeUrl:"homeUrl",loginDisabled:"loginDisabled",logoTooltip:"logoTooltip",loggedIn:"loggedIn",filters:"filters"},outputs:{refreshClicked:"refreshClicked",downloadClicked:"downloadClicked"},decls:6,vars:4,consts:[[1,"ccf-header"],[1,"home",3,"href"],["aria-hidden","false","aria-label","Reset tool","matTooltipPosition","right",1,"logo",3,"matTooltip"],[1,"filler"],["mat-button","","class","authentication","rel","noreferrer noopener","target","_blank",3,"disabled","href",4,"ngIf"],["mat-button","","rel","noreferrer noopener","target","_blank",1,"authentication",3,"href"]],template:function(e,t){1&e&&(Ps(0,"mat-toolbar",0),Ps(1,"a",1),Is(2,"div",2),Ms(),Is(3,"div",3),Cs(4,y3,2,3,"a",4),Cs(5,b3,2,3,"a",4),Ms()),2&e&&(Yo(1),Ts("href",t.homeUrl,Xr),Yo(1),Ts("matTooltip",t.logoTooltip),Yo(2),Ts("ngIf",!t.loggedIn),Yo(1),Ts("ngIf",t.loggedIn))},directives:[g3,Ow,Yh,X_],styles:[".ccf-header[_ngcontent-%COMP%]{height:4rem;padding:0 1.5rem;border-bottom-width:1px;border-bottom-style:solid;display:flex}.ccf-header[_ngcontent-%COMP%] .home[_ngcontent-%COMP%]{height:100%;width:25rem;align-items:center;display:flex;padding:.25rem 0}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:100%;height:50%;background-repeat:no-repeat;background-size:contain}.ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%]{height:1.5rem}.ccf-header[_ngcontent-%COMP%] .authentication[_ngcontent-%COMP%]{width:8.25rem;border-radius:.125rem;font-weight:500}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{display:flex;align-items:center;transition:color 1s;cursor:pointer;text-decoration:none}.ccf-header[_ngcontent-%COMP%] [_ngcontent-%COMP%]:not(:last-child){margin-right:1.5rem}.ccf-header[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1;margin:0}.ccf-header[_ngcontent-%COMP%] .filter-labels[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;font:400 1rem/1.25rem Inter,sans-serif}.ccf-header[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),e}(),w3=["bodyUI"];function k3(e,t){if(1&e&&(Is(0,"ccf-header",34),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Jc(4,"async")),2&e){var n=Ws();cu("hide",!1===el(1,6,n.header$)),Ts("logoTooltip",el(2,8,n.logoTooltip$))("homeUrl",el(3,10,n.homeUrl$))("loggedIn",n.loggedIn)("loginDisabled",el(4,12,n.loginDisabled$))}}function x3(e,t){if(1&e){var n=Ls();Ps(0,"div",35),Vs("click",function(){bn(n),Ws();var e=Es(72);return e.expanded=!e.expanded}),Ps(1,"mat-icon",36),Cu(2),Ms(),Ms()}if(2&e){Ws();var i=Es(72);Yo(2),Ou(" ",i.expanded?"arrow_drop_up":"arrow_drop_down"," ")}}function S3(e,t){if(1&e){var n=Ls();Ps(0,"div",35),Vs("click",function(){bn(n);var e=Ws();return e.organListVisible=!e.organListVisible}),Ps(1,"mat-icon",37),Cu(2),Ms(),Ms()}if(2&e){var i=Ws();Yo(2),Ou(" ",i.organListVisible?"arrow_drop_up":"arrow_drop_down"," ")}}var C3=function(){return{}},E3=function(){return{x:2.2,y:2,z:.4}},O3=function(){function e(n,i,r,o,a,s,u,c,l,h,d,f){var p=this;m(this,e),this.data=r,this.theming=o,this.scene=a,this.listResultsState=s,this.consentService=u,this.snackbar=c,this.dataSource=h,this.globalConfig=d,this.setSelectedSearches=mQ(IQ),this.removeSpatialSearch=mQ(MQ),this.ontologySelectionLabel="body",this.cellTypeSelectionLabel="cell",this.selectionLabel="body | cell",this.organListVisible=!0,this.url="",this.acceptableViewerDomains=gQ.acceptableViewerDomains||[],this.viewerOpen=!1,this.spinnerActive$=this.data.queryStatus$.pipe(ce(function(e){return e===CQ.Running})),this.loadingMessage$=this.data.state$.pipe(cG("statusMessage")),this.theme$=this.globalConfig.getOption("theme"),this.themeMode$=new Bf(1),this.header$=this.globalConfig.getOption("header"),this.homeUrl$=this.globalConfig.getOption("homeUrl"),this.logoTooltip$=this.globalConfig.getOption("logoTooltip"),this.loginDisabled$=this.globalConfig.getOption("loginDisabled"),o.initialize(n,i),l.setRootElement(n),r.tissueBlockData$.subscribe(),r.aggregateData$.subscribe(),r.ontologyTermOccurencesData$.subscribe(),r.cellTypeTermOccurencesData$.subscribe(),r.sceneData$.subscribe(),r.filter$.subscribe(),r.technologyFilterData$.subscribe(),r.providerFilterData$.subscribe(),this.ontologyTerms$=r.filter$.pipe(cG("ontologyTerms")),this.cellTypeTerms$=r.filter$.pipe(cG("cellTypeTerms")),J_([this.theme$,this.themeMode$]).subscribe(function(e){var n=t(e,2),i=n[0],r=n[1];p.theming.setTheme("".concat(i,"-theme-").concat(r)),f.markForCheck()})}return b(e,[{key:"isLightTheme",get:function(){return this.theming.getTheme().endsWith("light")}},{key:"ngOnInit",value:function(){var e=this,t=this.snackbar.openFromComponent(D$,{data:{preClose:function(){t.dismiss()}},duration:"not-set"===this.consentService.consent?1/0:3e3});window.matchMedia?(window.matchMedia("(prefers-color-scheme: dark)").matches?this.themeMode$.next("dark"):this.themeMode$.next("light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",function(t){e.themeMode$.next(t.matches?"dark":"light")})):this.themeMode$.next("light")}},{key:"reset",value:function(e,t,n){e.open(),e.closeExpanded(),t.open(),t.closeExpanded(),n.removeBox(),this.resetView()}},{key:"resetView",value:function(){this.bodyUI.target=[0,0,0],this.bodyUI.rotation=0,this.bodyUI.rotationX=0,this.bodyUI.bounds={x:2.2,y:2,z:.4}}},{key:"toggleScheme",value:function(){this.themeMode$.next(this.isLightTheme?"dark":"light")}},{key:"ontologySelected",value:function(e,t){if(e)return"anatomical-structures"===t?(this.data.updateFilter({ontologyTerms:e.map(function(e){return e.id})}),this.ontologySelectionLabel=this.createSelectionLabel(e)):(this.data.updateFilter({cellTypeTerms:e.map(function(e){return e.id})}),this.cellTypeSelectionLabel=this.createSelectionLabel(e)),this.selectionLabel=this.ontologySelectionLabel&&this.cellTypeSelectionLabel?"".concat(this.ontologySelectionLabel," | ").concat(this.cellTypeSelectionLabel):this.ontologySelectionLabel?"".concat(this.ontologySelectionLabel):this.cellTypeSelectionLabel?"".concat(this.cellTypeSelectionLabel):"",void(e[0]&&"body"===e[0].label&&this.resetView());this.data.updateFilter({ontologyTerms:[],cellTypeTerms:[]}),this.ontologySelectionLabel="",this.cellTypeSelectionLabel=""}},{key:"createSelectionLabel",value:function(e){if(0===e.length)return"";if(1===e.length)return e[0].label;var t="";return e.forEach(function(n,i){t+=n.label,i0}}]),e}();function T3(e,t){1&e&&Is(0,"ccf-root")}function A3(e){var t=function(e){return"string"==typeof e},n=function(e){return Array.isArray(e)&&e.every(t)};if("string"==typeof e){var i=vQ.json(e);if(n(i))return i}else if(n(e))return e;throw new Error("Invalid data sources")}O3.\u0275fac=function(e){return new(e||O3)(Os(Ju),Os(ss),Os(TQ),Os(hQ),Os(zQ),Os(BQ),Os(wq),Os(bw),Os(cQ),Os(j$),Os(P$),Os(Cc))},O3.\u0275cmp=Ot({type:O3,selectors:[["ccf-root"]],viewQuery:function(e,t){var n;(1&e&&yl(w3,5),2&e)&&(ml(n=_l())&&(t.bodyUI=n.first))},decls:83,vars:117,consts:[[1,"ccf-app","mat-app-background"],[3,"text","active"],[3,"hide","logoTooltip","homeUrl","loggedIn","loginDisabled",4,"ngIf"],[1,"main-drawers"],["opened","",1,"left-drawer",3,"stateChange"],["left",""],[1,"filter-data"],[3,"filters","drawerExpanded","technologyFilters","providerFilters","spatialSearchFilters","filtersChange","spatialSearchSelected","spatialSearchRemoved"],["filterbox",""],[1,"filter-text"],[1,"sex","filter-tag"],[1,"age","filter-tag"],[1,"bmi","filter-tag"],["placeholderText","Search anatomical structures...",1,"ontology-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["placeholderText","Search cell types...",1,"cell-type-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["position","end","opened","",1,"right-drawer",3,"stateChange"],["right",""],[1,"portal-view",3,"url","closed"],[1,"drawer-icons"],[1,"drawer-icons-left"],[1,"button",3,"matTooltip","click"],[1,"icon"],[1,"scheme-toggle","button",3,"matTooltip","click"],[1,"button"],["matTooltip","Reset View",1,"refresh","icon",3,"click"],["videoID","YAHJqvD3Q_8","infoTitle","CCF Exploration User Interface","documentationUrl","assets/docs/README.md","matTooltip","Open Info"],[3,"listResults","aggregateData","resultLabel","highlighted","header","listResultSelected","listResultDeselected","linkClicked","itemHovered","itemUnhovered"],[1,"selector-drawer"],[1,"organ-selector",3,"multiselect","occurenceData","organList","selectedOrgans","organsChanged"],["selector",""],[1,"close-button-wrapper"],["class","close-button",3,"click",4,"ngIf"],[1,"stage-content",3,"scene","bounds","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""],[3,"logoTooltip","homeUrl","loggedIn","loginDisabled"],[1,"close-button",3,"click"],["aria-hidden","false","aria-label","Expand carousel drawer",1,"expand-collapse-icon"],["aria-hidden","false","aria-label","Close carousel drawer",1,"expand-collapse-icon"]],template:function(e,t){if(1&e){var n=Ls();Ps(0,"div",0),Is(1,"ccf-spinner-overlay",1),Jc(2,"async"),Jc(3,"async"),Cs(4,k3,5,14,"ccf-header",2),Jc(5,"async"),Ps(6,"ccf-drawer-container",3),Jc(7,"async"),Ps(8,"ccf-drawer",4,5),Vs("stateChange",function(){return bn(n),Es(13).removeBox()}),Ps(10,"div"),Ps(11,"div",6),Ps(12,"ccf-filters-popover",7,8),Vs("filtersChange",function(e){return t.data.updateFilter(e)})("spatialSearchSelected",function(e){return t.setSelectedSearches(e)})("spatialSearchRemoved",function(e){return t.removeSpatialSearch(e)}),Jc(14,"async"),Jc(15,"async"),Jc(16,"async"),Jc(17,"async"),Ms(),Ps(18,"div",9),Ps(19,"div",10),Cu(20,"Sex: "),Ps(21,"strong"),Cu(22),Jc(23,"async"),Ms(),Ms(),Ps(24,"div",11),Cu(25,"Age: "),Ps(26,"strong"),Cu(27),Jc(28,"async"),Jc(29,"async"),Ms(),Ms(),Ps(30,"div",12),Cu(31,"BMI: "),Ps(32,"strong"),Cu(33),Jc(34,"async"),Jc(35,"async"),Ms(),Ms(),Ms(),Ms(),Ps(36,"ccf-ontology-selection",13),Vs("ontologySelection",function(e){return t.ontologySelected(e,"anatomical-structures")}),Jc(37,"async"),Jc(38,"async"),Jc(39,"async"),Jc(40,"async"),Ms(),Ps(41,"ccf-ontology-selection",14),Vs("ontologySelection",function(e){return t.ontologySelected(e,"cell-type")}),Jc(42,"async"),Jc(43,"async"),Jc(44,"async"),Jc(45,"async"),Ms(),Is(46,"ccf-drawer-toggle-button"),Ms(),Ms(),Ps(47,"ccf-drawer",15,16),Vs("stateChange",function(){return bn(n),Es(13).removeBox()}),Ps(49,"ccf-viewer",17),Vs("closed",function(){return t.viewerOpen=!1}),Ms(),Ps(50,"div",18),Ps(51,"div",19),Ps(52,"button",20),Vs("click",function(){bn(n);var e=Es(13),t=Es(48);return e.removeBox(),t.toggleExpanded()}),Ps(53,"mat-icon",21),Cu(54),Ms(),Ms(),Ps(55,"button",22),Vs("click",function(){return t.toggleScheme()}),Ps(56,"mat-icon",21),Cu(57),Ms(),Ms(),Ps(58,"button",23),Ps(59,"mat-icon",24),Vs("click",function(){bn(n);var e=Es(9),i=Es(48),r=Es(13);return t.reset(e,i,r)}),Cu(60,"refresh "),Ms(),Ms(),Ms(),Is(61,"ccf-info-button",25),Ms(),Ps(62,"ccf-results-browser",26),Vs("listResultSelected",function(e){return t.listResultsState.selectListResult(e)})("listResultDeselected",function(e){return t.listResultsState.deselectListResult(e)})("linkClicked",function(e){return t.openiFrameViewer(e)})("itemHovered",function(e){return t.listResultsState.highlightNode(e)})("itemUnhovered",function(){return t.listResultsState.unHighlightNode()}),Jc(63,"async"),Jc(64,"async"),Jc(65,"async"),Jc(66,"async"),Ms(),Is(67,"ccf-drawer-toggle-button"),Ms(),Ps(68,"ccf-drawer-content"),Jc(69,"async"),Ps(70,"div",27),Ps(71,"ccf-organ-selector",28,29),Vs("organsChanged",function(e){return t.scene.setSelectedReferenceOrgans(e)}),Jc(73,"async"),Jc(74,"async"),Jc(75,"async"),Ms(),Ms(),Ps(76,"div",30),Cs(77,x3,3,1,"div",31),Cs(78,S3,3,1,"div",31),Ms(),Is(79,"ccf-run-spatial-search"),Ps(80,"ccf-body-ui",32,33),Vs("nodeClick",function(e){return t.scene.sceneNodeClicked(e)})("nodeHoverStart",function(e){return t.scene.sceneNodeHovered(e)})("nodeHoverStop",function(){return t.scene.sceneNodeUnhover()}),Jc(82,"async"),Ms(),Ms(),Ms(),Ms()}if(2&e){var i,r,o,a,s=Es(48),u=Es(72);Yo(1),Ts("text",el(2,55,t.loadingMessage$))("active",el(3,57,t.spinnerActive$)),Yo(3),Ts("ngIf",!1===el(5,59,t.spinnerActive$)),Yo(2),cu("header-hidden",!1===el(7,61,t.header$)),Yo(6),Ts("filters",el(14,63,t.data.filter$))("drawerExpanded",s.expanded)("technologyFilters",el(15,65,t.data.technologyFilterData$))("providerFilters",el(16,67,t.data.providerFilterData$))("spatialSearchFilters",el(17,69,t.selectableSearches$)),Yo(10),Eu(null==(i=el(23,71,t.data.filter$))?null:i.sex),Yo(5),Tu("",null==(r=el(28,73,t.data.filter$))?null:r.ageRange[0],"-",null==(r=el(29,75,t.data.filter$))?null:r.ageRange[1],""),Yo(6),Tu("",null==(o=el(34,77,t.data.filter$))?null:o.bmiRange[0],"-",null==(o=el(35,79,t.data.filter$))?null:o.bmiRange[1],""),Yo(3),Ts("treeModel",el(37,81,t.ontologyTreeModel$))("termData",el(38,83,t.data.ontologyTermsFullData$))("occurenceData",el(39,85,t.data.ontologyTermOccurencesData$))("header",el(40,87,t.header$)),Yo(5),Ts("treeModel",el(42,89,t.cellTypeTreeModel$))("termData",el(43,91,t.data.cellTypeTermsFullData$))("occurenceData",el(44,93,t.data.cellTypeTermOccurencesData$))("header",el(45,95,t.header$)),Yo(8),cu("opened",t.viewerOpen),Ts("url",t.url),Yo(3),Ts("matTooltip",s.expanded?"Exit Fullscreen":"Enter Fullscreen"),Yo(2),Eu(s.expanded?"fullscreen_exit":"fullscreen"),Yo(1),Ts("matTooltip",t.isLightTheme?"Enter Dark Mode":"Enter Light Mode"),Yo(2),Ou("",t.isLightTheme?"brightness_2":"brightness_5"," "),Yo(5),Ts("listResults",el(63,97,t.listResultsState.listResults$))("aggregateData",el(64,99,t.data.aggregateData$))("resultLabel",t.selectionLabel)("highlighted",el(65,101,t.listResultsState.highlightedNodeId$))("header",el(66,103,t.header$)),Yo(6),cu("header-hidden",!1===el(69,105,t.header$)),Yo(2),cu("closed",!t.organListVisible)("expanded",u.expanded),Yo(1),Ts("multiselect",!0)("occurenceData",null!==(a=el(73,107,t.data.ontologyTermOccurencesData$))&&void 0!==a?a:Kc(115,C3))("organList",el(74,109,t.scene.referenceOrgans$))("selectedOrgans",el(75,111,t.scene.selectedReferenceOrgans$)),Yo(5),cu("closed",!t.organListVisible),Yo(1),Ts("ngIf",t.organListVisible),Yo(1),Ts("ngIf",!u.expanded),Yo(2),cu("expanded-stage",!t.organListVisible)("selector-expanded",u.expanded),Ts("scene",el(82,113,t.scene.scene$))("bounds",Kc(116,E3))}},directives:[ZQ,Yh,fZ,uZ,A0,f1,p1,m1,Ow,B_,O$,h3,rZ,m$,w0,a$,_3],pipes:[sd],styles:[".cdk-overlay-container{position:absolute;font-size:1.2rem}[_nghost-%COMP%]{display:block;position:relative}.ccf-app[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:1rem;position:relative;text-align:left}.ccf-app[_ngcontent-%COMP%] ccf-header[_ngcontent-%COMP%]{z-index:99}.ccf-app[_ngcontent-%COMP%] ccf-header.hide[_ngcontent-%COMP%]{display:none}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%]{height:calc(100% - 5rem);width:100%;opacity:1;overflow:hidden;transform:scale(1)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container.header-hidden[_ngcontent-%COMP%]{height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%]{width:28.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%]{display:flex;padding-left:1.5rem;height:5rem;padding-right:1.5rem;align-items:center;justify-content:space-between}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border:none;cursor:pointer;outline:none;border-radius:.25rem;padding:.65rem;transition:.6s}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%]{overflow:hidden;border-radius:.5rem;height:calc(100vh - 4rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%]{top:0rem;display:flex;flex-direction:column;position:relative;transition:all .5s ease-in-out;height:5rem;justify-content:start}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.expanded[_ngcontent-%COMP%]{height:15rem;overflow-y:auto}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.closed[_ngcontent-%COMP%]{height:1.5rem;top:-5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] ccf-run-spatial-search[_ngcontent-%COMP%]{position:relative;float:right;height:0px;z-index:1;top:.5rem;right:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .stage-content[_ngcontent-%COMP%]{transition:all .5s ease-in-out;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .expanded-stage[_ngcontent-%COMP%]{height:calc(100% - 3rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-expanded[_ngcontent-%COMP%]{height:calc(100% - 16.5rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 1rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;border-top-right-radius:.5rem;border-top-left-radius:.5rem;height:0}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{display:flex;justify-content:center;height:1.0625rem;width:3rem;align-self:center;border-radius:0 0 .25rem .25rem;cursor:pointer;transition:.6s;position:relative;top:.5rem;z-index:1}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{position:relative;bottom:.2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%]{padding-left:1.5rem;padding-right:1.5rem;height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cell-type-selection[_ngcontent-%COMP%] .ccf-ontology-search{margin-top:2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%]{height:5rem;display:flex;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:75%;margin-left:1.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%]{font-weight:300}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600!important}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view[_ngcontent-%COMP%]{position:fixed;left:0;top:0;bottom:0;right:425%;height:100%;transform:translate(-425%);width:calc(100% - 28.5rem);transition:transform .5s cubic-bezier(.82,.085,.395,.895)}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view.opened[_ngcontent-%COMP%]{transform:translate(0);transition:width 0s .5s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view[_ngcontent-%COMP%]{width:100vw}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view.opened[_ngcontent-%COMP%]{transition:width 0s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .shaded-toggle[_ngcontent-%COMP%]{box-shadow:-1px 0 4px #212121}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}[_ngcontent-%COMP%]::-webkit-scrollbar{width:.5rem}"],changeDetection:0}),Mw([Bz(AQ.cellTypesTreeModel)],O3.prototype,"cellTypeTreeModel$",void 0),Mw([Bz(AQ.anatomicalStructuresTreeModel)],O3.prototype,"ontologyTreeModel$",void 0),Mw([Bz(DQ.items)],O3.prototype,"selectableSearches$",void 0),Mw([PK()],O3.prototype,"setSelectedSearches",void 0),Mw([PK()],O3.prototype,"removeSpatialSearch",void 0);var P3=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){return m(this,n),t.call(this,e,i,{initialDelay:10,initialConfig:Object.assign(Object.assign(Object.assign({},gQ.dbOptions),globalThis.dbOptions),gQ.customization),parse:{dataSources:A3,useRemoteApi:vQ.boolean,header:vQ.boolean,loginDisabled:vQ.boolean}})}return n}(pQ);return e.\u0275fac=function(t){return new(t||e)(Os(P$),Os(Cc))},e.\u0275cmp=Ot({type:e,selectors:[["ccf-root-wc"]],inputs:{dataSources:"dataSources",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint",theme:"theme",header:"header",homeUrl:"homeUrl",logoTooltip:"logoTooltip",loginDisabled:"loginDisabled"},features:[cs],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(e,t){1&e&&Cs(0,T3,1,0,"ccf-root",0),2&e&&Ts("ngIf",t.initialized)},directives:[Yh,O3],encapsulation:2,changeDetection:0}),e}(),M3=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,m3,Pw]]}),e}(),I3=function(){var e=function(e){a(n,e);var t=s(n);function n(e,i){var r;return m(this,n),(r=t.call(this,e)).locator=i,r}return b(n,[{key:"createWorker",value:function(e){var t=this.getWorkerUrl(!0);return new Worker(t,{type:"module"})}},{key:"getWorkerUrl",value:function(e){if(e)return new URL(r(88509),r.b);var t=this.locator.prepareExternalUrl("0-es2015.worker.js"),n=new Blob(["importScripts('".concat(t,"')")],{type:"application/javascript"});return URL.createObjectURL(n)}}]),n}(X$);return e.\u0275fac=function(t){return new(t||e)(Zi(P$),Zi(Th))},e.\u0275prov=$e({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),R3=function(){var e,t=function(e){a(n,e);var t=s(n);function n(){return m(this,n),t.apply(this,arguments)}return b(n,[{key:"selectToken",value:function(e){var t=e.useRemoteApi,n=e.remoteApiEndpoint;return t&&n?G$:"undefined"==typeof Worker||gQ.disableDbWorker?q$:I3}}]),n}(Y$);return t.\u0275fac=function(n){return(e||(e=Ti(t)))(n||t)},t.\u0275prov=$e({token:t,factory:t.\u0275fac,providedIn:"root"}),t}(),D3=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[{provide:Il,useValue:hQ.initialize,multi:!0},hQ]}),e}(),N3=function(){var e=function(){function e(t,n){m(this,e),this.accessor=t,this.injector=n}return b(e,null,[{key:"forRoot",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{ngModule:e,providers:[qW,WW,HW].concat(v(t))}}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(qW,2),Zi(WW,2))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}(),L3=function(e,t){return function(e,t){return new Array(t+1).join("0")}(0,t-e.toString().length)+e},j3=function(){function e(t,n,i){m(this,e),this.action=t,this.store=n,this.logWriter=i}return b(e,[{key:"dispatched",value:function(e){var t=QV(this.action),n=function(e){return L3(e.getHours(),2)+":"+L3(e.getMinutes(),2)+":"+L3(e.getSeconds(),2)+"."+L3(e.getMilliseconds(),3)}(new Date);this.logWriter.startGroup("action ".concat(t," @ ").concat(n)),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}},{key:"completed",value:function(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}},{key:"errored",value:function(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}},{key:"_hasPayload",value:function(e){return this._getNonEmptyProperties(e).length>0}},{key:"_getNonEmptyProperties",value:function(e){return Object.keys(e).map(function(t){return e[t]}).filter(function(e){return void 0!==e})}}]),e}(),F3=function(){function e(t){m(this,e),this.options=t,this.options=this.options||{},this.logger=t.logger||console}return b(e,[{key:"startGroup",value:function(e){var t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(n){console.log(e)}}},{key:"endGroup",value:function(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}},{key:"logGrey",value:function(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}},{key:"logGreen",value:function(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}},{key:"logRedish",value:function(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}},{key:"log",value:function(e,t,n){this.isIE()?this.logger.log(e,n):this.logger.log("%c "+e,t,n)}},{key:"isIE",value:function(){var e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"",t=!1,n=e.indexOf("MSIE "),i=e.indexOf("Trident/");return(n>-1||i>-1)&&(t=!0),t}}]),e}(),B3=new Ri("NGXS_LOGGER_PLUGIN_OPTIONS"),V3=function(){var e=function(){function e(t,n){m(this,e),this._options=t,this._injector=n}return b(e,[{key:"handle",value:function(e,t,n){if(this._options.disabled||!this._options.filter(t,e))return n(e,t);this._logWriter=this._logWriter||new F3(this._options),this._store=this._store||this._injector.get(Az);var i=new j3(t,this._store,this._logWriter);return i.dispatched(e),n(e,t).pipe(mv(function(e){i.completed(e)}),Bb(function(e){throw i.errored(e),e}))}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(B3),Zi(ss))},e.\u0275prov=$e({token:e,factory:e.\u0275fac}),e}(),z3=new Ri("LOGGER_USER_OPTIONS");function U3(e){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:function(){return!0}},e)}var H3=function(){var e=function(){function e(){m(this,e)}return b(e,null,[{key:"forRoot",value:function(t){return{ngModule:e,providers:[{provide:UV,useClass:V3,multi:!0},{provide:z3,useValue:t},{provide:B3,useFactory:U3,deps:[z3]}]}}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({}),e}();function G3(e,t){return e>=0&&e=t?t:e+t<0?0:e+t}function W3(e,t){if(1&e&&(Ps(0,"span"),Cu(1),Ms()),2&e){var n=t.$implicit;lu(n.styles),du(n.classes),Yo(1),Ou(" ",n.text,"\n")}}var q3=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-decorated-text",this.segments=[]}return b(e,[{key:"ngOnChanges",value:function(e){("text"in e||"decorations"in e)&&(this.segments=this.createSegments())}},{key:"createSegments",value:function(){var e=this.text;if(!e)return[this.makeUndecoratedSegment(e)];var t=this.getNormalizedDecorations();if(0===t.length)return[this.makeUndecoratedSegment(e)];var n=this.createStackOps(t),i=[],r=[],o=0;0===n[0].index&&(r=this.updateStack(r,n.shift()));var a,s=_(n);try{for(s.s();!(a=s.n()).done;){var u=a.value;i.push(this.makeDecoratedSegment(e.slice(o,u.index),r)),o=u.index,r=this.updateStack(r,u)}}catch(c){s.e(c)}finally{s.f()}return o!==e.length&&i.push(this.makeDecoratedSegment(e.slice(o),r)),i}},{key:"createStackOps",value:function(e){var t,n={},i=function(e){var t;return null!==(t=n[e])&&void 0!==t?t:n[e]={index:e,added:[],removed:[]}},r=_(e);try{for(r.s();!(t=r.n()).done;){var o=t.value;i(o.start).added.push(o),i(o.end).removed.push(o)}}catch(a){r.e(a)}finally{r.f()}return Object.entries(n).sort(function(e,t){return+e[0]-+t[0]}).map(function(e){return e[1]})}},{key:"updateStack",value:function(e,t){return e.filter(function(e){return!t.removed.includes(e)}).concat(t.added)}},{key:"getNormalizedDecorations",value:function(){var e=this.decorations,t=void 0===e?[]:e,n=this.text.length;return t.map(function(e){return function(e,t){var n,i,r,o;return{start:G3(null!==(n=e.start)&&void 0!==n?n:0,t),end:G3(null!==(i=e.end)&&void 0!==i?i:t,t),classes:null!==(r=e.classes)&&void 0!==r?r:[],styles:null!==(o=e.styles)&&void 0!==o?o:{}}}(e,n)}).filter(function(e){return e.startt?e[0]:void 0,max:e[1]1&&void 0!==arguments[1]?arguments[1]:Date.now;return+t()>+new Date(e)}}]),e}();b5.\u0275fac=function(e){return new(e||b5)(Zi(FG),Zi(yq),Zi(v5),Zi(m5),Zi(h_))},b5.\u0275prov=$e({token:b5,factory:b5.\u0275fac}),Mw([jz(u5)],b5.prototype,"learnMore",null),Mw([jz(c5)],b5.prototype,"open",null),Mw([jz(l5)],b5.prototype,"close",null),b5=g5=Mw([Fz({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],b5);var _5=function(){function e(){m(this,e)}return b(e,null,[{key:"title",value:function(e){return e.title}},{key:"message",value:function(e){return e.message}},{key:"callToAction",value:function(e){return e.callToAction}},{key:"imageUrl",value:function(e){return e.imageUrl}},{key:"expirationDate",value:function(e){return e.expirationDate}},{key:"popupShown",value:function(e){return e.popupShown}}]),e}();Mw([Vz([b5])],_5,"title",null),Mw([Vz([b5])],_5,"message",null),Mw([Vz([b5])],_5,"callToAction",null),Mw([Vz([b5])],_5,"imageUrl",null),Mw([Vz([b5])],_5,"expirationDate",null),Mw([Vz([b5])],_5,"popupShown",null);var w5=function(){var e=function(){function e(){m(this,e),this.clsName="ccf-call-to-action",this.callToActionClicked=new ol,this.closeClicked=new ol}return b(e,[{key:"close",value:function(){this.closeClicked.emit()}},{key:"onDialogButtonClick",value:function(){this.callToActionClicked.emit()}}]),e}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=Ot({type:e,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(e,t){2&e&&du(t.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(e,t){1&e&&(Ps(0,"div",0),Ps(1,"div",1),Ps(2,"div",2),Ps(3,"div",3),Ps(4,"p",4),Cu(5),Ms(),Ps(6,"mat-icon",5),Vs("click",function(){return t.close()}),Cu(7,"clear"),Ms(),Ms(),Is(8,"img",6),Ps(9,"mat-dialog-content",7),Ps(10,"div",8),Cu(11),Ms(),Ps(12,"a",9),Vs("click",function(){return t.onDialogButtonClick()}),Ms(),Ms(),Ms(),Ms(),Ms()),2&e&&(Yo(5),Eu(t.infoTitle),Yo(3),Ts("src",t.imageUrl,Xr),Yo(3),Ou(" ",t.message,""),Yo(1),Ts("text",t.callToAction))},directives:[VG,B_,IW,zG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),e}(),k5=function e(){m(this,e),this.close=function(){return new l5},this.learnMore=function(){return new u5}};k5.\u0275fac=function(e){return new(e||k5)},k5.\u0275cmp=Ot({type:k5,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(e,t){1&e&&(Ps(0,"ccf-call-to-action",0),Vs("callToActionClicked",function(){return t.learnMore()})("closeClicked",function(){return t.close()}),Jc(1,"async"),Jc(2,"async"),Jc(3,"async"),Jc(4,"async"),Ms()),2&e&&Ts("infoTitle",el(1,4,t.title$))("message",el(2,6,t.message$))("callToAction",el(3,8,t.callToAction$))("imageUrl",el(4,10,t.imageUrl$))},directives:[w5],pipes:[sd],styles:[""],changeDetection:0}),Mw([Bz(_5.title)],k5.prototype,"title$",void 0),Mw([Bz(_5.message)],k5.prototype,"message$",void 0),Mw([Bz(_5.callToAction)],k5.prototype,"callToAction$",void 0),Mw([Bz(_5.imageUrl)],k5.prototype,"imageUrl$",void 0),Mw([PK()],k5.prototype,"close",void 0),Mw([PK()],k5.prototype,"learnMore",void 0);var x5=[{name:"bladder",namespace:"app",url:"assets/icons/organs/ico-organs-bladder.svg"},{name:"blood",namespace:"app",url:"assets/icons/organs/ico-organs-blood.svg"},{name:"bone-marrow",namespace:"app",url:"assets/icons/organs/ico-organs-bone-marrow.svg"},{name:"brain",namespace:"app",url:"assets/icons/organs/ico-organs-brain.svg"},{name:"eye",namespace:"app",url:"assets/icons/organs/ico-organs-eye.svg"},{name:"fallopian-tube-left",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-left.svg"},{name:"fallopian-tube-right",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-right.svg"},{name:"heart",namespace:"app",url:"assets/icons/organs/ico-organs-heart.svg"},{name:"kidney-left",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-left.svg"},{name:"kidney-right",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-right.svg"},{name:"kidney",namespace:"app",url:"assets/icons/organs/ico-organs-kidney.svg"},{name:"knee",namespace:"app",url:"assets/icons/organs/ico-organs-knee.svg"},{name:"large-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-large-intestine.svg"},{name:"larynx",namespace:"app",url:"assets/icons/organs/ico-organs-larynx.svg"},{name:"liver",namespace:"app",url:"assets/icons/organs/ico-organs-liver.svg"},{name:"lung-left",namespace:"app",url:"assets/icons/organs/ico-organs-lung-left.svg"},{name:"lung-right",namespace:"app",url:"assets/icons/organs/ico-organs-lung-right.svg"},{name:"lung",namespace:"app",url:"assets/icons/organs/ico-organs-lung.svg"},{name:"lymph-nodes",namespace:"app",url:"assets/icons/organs/ico-organs-lymph-nodes.svg"},{name:"main-bronchus",namespace:"app",url:"assets/icons/organs/ico-organs-extrapulmonary bronchus.svg"},{name:"mammary-gland",namespace:"app",url:"assets/icons/organs/ico-organs-breast.svg"},{name:"neuron",namespace:"app",url:"assets/icons/organs/ico-organs-neuron.svg"},{name:"ovaries",namespace:"app",url:"assets/icons/organs/ico-organs-ovaries.svg"},{name:"ovary-left",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-left.svg"},{name:"ovary-right",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-right.svg"},{name:"palatine-tonsil",namespace:"app",url:"assets/icons/organs/ico-organs-palatine tonsil.svg"},{name:"pancreas",namespace:"app",url:"assets/icons/organs/ico-organs-pancreas.svg"},{name:"pelvis-f",namespace:"app",url:"assets/icons/organs/ico-organs-pelvis-f.svg"},{name:"placenta",namespace:"app",url:"assets/icons/organs/ico-organs-placenta.svg"},{name:"prostate",namespace:"app",url:"assets/icons/organs/ico-organs-prostate.svg"},{name:"skin",namespace:"app",url:"assets/icons/organs/ico-organs-skin.svg"},{name:"small-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-small intestine.svg"},{name:"spinal-cord",namespace:"app",url:"assets/icons/organs/ico-organs-spinal-cord.svg"},{name:"spleen",namespace:"app",url:"assets/icons/organs/ico-organs-spleen.svg"},{name:"stomach",namespace:"app",url:"assets/icons/organs/ico-organs-stomach.svg"},{name:"thymus",namespace:"app",url:"assets/icons/organs/ico-organs-thymus.svg"},{name:"trachea",namespace:"app",url:"assets/icons/organs/ico-organs-trachea.svg"},{name:"ureter-left",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-left.svg"},{name:"ureter-right",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-right.svg"},{name:"uterus",namespace:"app",url:"assets/icons/organs/ico-organs-uterus.svg"},{name:"vasculature-thick",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thick.svg"},{name:"vasculature-thin",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thin.svg"},{name:"opacity",namespace:"app",url:"assets/icons/opacity-24px.svg"},{name:"visibility_on",namespace:"app",url:"assets/icons/visibility-on-24px.svg"},{name:"visibility_off",namespace:"app",url:"assets/icons/visibility-off-24px.svg"},{name:"expand_more",namespace:"app",url:"assets/icons/expand_more-24px.svg"},{name:"expand_less",namespace:"app",url:"assets/icons/expand_less-24px.svg"},{name:"filter",url:"assets/icons/filter.svg"}],S5=function(e){a(n,e);var t=s(n);function n(e,i){var r;m(this,n),(r=t.call(this)).registry=e;var o,a=_(x5);try{for(a.s();!(o=a.n()).done;){var s=o.value,u=s.name,c=s.namespace,l=s.url,h=s.html,d={name:u,namespace:c,url:l&&i.bypassSecurityTrustResourceUrl(l),html:h&&i.bypassSecurityTrustHtml(h)};r.registerIconImpl(d)}}catch(f){a.e(f)}finally{a.f()}return r}return b(n,[{key:"registerIcon",value:function(e){return this.registerIconImpl(e)}},{key:"registerIconImpl",value:function(e){if(!this.registry||!e.url&&!e.html)return!1;var t=this.registry,n=t[this.getMethodName(e)],i=this.getArguments(e);if(!n)return!1;try{return n.apply(t,i),!0}catch(r){return!1}}},{key:"getMethodName",value:function(e){var t=e.name,n=e.namespace,i=e.url,r=["addSvgIcon"];return t||r.push("Set"),i||r.push("Literal"),n&&r.push("InNamespace"),r.join("")}},{key:"getArguments",value:function(e){var t=e.name,n=e.namespace,i=e.url,r=e.html;return[n,t,null!=i?i:r].filter(function(e){return!!e})}}]),n}(hq);S5.\u0275fac=function(e){return new(e||S5)(Zi(P_,8),Zi(Vd))},S5.\u0275prov=$e({token:S5,factory:S5.\u0275fac}),Mw([sq()],S5.prototype,"registerIcon",null),S5=Mw([cq(),Fz({name:"iconRegistry"})],S5);var C5=[P$,FQ,S5,BQ,TQ,zQ,b5,WJ,RQ],E5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[N3.forRoot(),Lz.forRoot(C5,{developmentMode:!gQ.production,selectorOptions:{injectContainerState:!1}}),MK.forRoot(),H3.forRoot({disabled:gQ.production})]]}),e}(),O5=function(){var e=function e(t){if(m(this,e),t)throw new Error("The core module should only be imported once in the root module")};return e.\u0275fac=function(t){return new(t||e)(Zi(e,12))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[{provide:j$,useExisting:R3}],imports:[[S_,Eq.forRoot({gaToken:gQ.googleAnalyticsToken,appName:"eui"}),M$,Fq.forRoot(function(){return new Lq({basePath:gQ.dbOptions.remoteApiEndpoint})}),M3,E5,D3],M3]}),e}(),T5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,r$]]}),e}(),A5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,DH,GZ]]}),e}(),P5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,cv,yp,DH,GZ,jJ]]}),e}(),M5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_]]}),e}(),I5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,T5,A5,P5,sQ,M5]]}),e}(),R5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,V_,I5]]}),e}(),D5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,JU,eH,JH,DH,uG,V_]]}),e}(),N5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,Pw,$0,_$]]}),e}(),L5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,D5,N5]]}),e}(),j5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,D5,N5,L5],D5,N5,L5]}),e}();function F5(){return(F5=Object.assign||function(e){for(var t=1;t0&&(n(o,!!e.isBeginning),e.params.watchOverflow&&e.enabled&&o[e.isLocked?"addClass":"removeClass"](t.lockClass)),r&&r.length>0&&(n(r,!!e.isEnd),e.params.watchOverflow&&e.enabled&&r[e.isLocked?"addClass":"removeClass"](t.lockClass))}},onPrevClick:function(e){var t=this;e.preventDefault(),(!t.isBeginning||t.params.loop)&&t.slidePrev()},onNextClick:function(e){var t=this;e.preventDefault(),(!t.isEnd||t.params.loop)&&t.slideNext()},init:function(){var e,t,n=this,i=n.params.navigation;n.params.navigation=function(e,t,n,i){var r=S1();return n&&Object.keys(i).forEach(function(n){if(!t[n]&&!0===t.auto){var o=r.createElement("div");o.className=i[n],e.append(o),t[n]=o}}),t}(n.$el,n.params.navigation,n.params.createElements,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),(i.nextEl||i.prevEl)&&(i.nextEl&&(e=U1(i.nextEl),n.params.uniqueNavElements&&"string"==typeof i.nextEl&&e.length>1&&1===n.$el.find(i.nextEl).length&&(e=n.$el.find(i.nextEl))),i.prevEl&&(t=U1(i.prevEl),n.params.uniqueNavElements&&"string"==typeof i.prevEl&&t.length>1&&1===n.$el.find(i.prevEl).length&&(t=n.$el.find(i.prevEl))),e&&e.length>0&&e.on("click",n.navigation.onNextClick),t&&t.length>0&&t.on("click",n.navigation.onPrevClick),X1(n.navigation,{$nextEl:e,nextEl:e&&e[0],$prevEl:t,prevEl:t&&t[0]}),n.enabled||(e&&e.addClass(i.lockClass),t&&t.addClass(i.lockClass)))},destroy:function(){var e=this,t=e.navigation,n=t.$nextEl,i=t.$prevEl;n&&n.length&&(n.off("click",e.navigation.onNextClick),n.removeClass(e.params.navigation.disabledClass)),i&&i.length&&(i.off("click",e.navigation.onPrevClick),i.removeClass(e.params.navigation.disabledClass))}},V5={name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){Y1(this,{navigation:F5({},B5)})},on:{init:function(e){e.navigation.init(),e.navigation.update()},toEdge:function(e){e.navigation.update()},fromEdge:function(e){e.navigation.update()},destroy:function(e){e.navigation.destroy()},"enable disable":function(e){var t=e.navigation,n=t.$nextEl,i=t.$prevEl;n&&n[e.enabled?"removeClass":"addClass"](e.params.navigation.lockClass),i&&i[e.enabled?"removeClass":"addClass"](e.params.navigation.lockClass)},click:function(e,t){var n=e.navigation,i=n.$nextEl,r=n.$prevEl,o=t.target;if(e.params.navigation.hideOnClick&&!U1(o).is(r)&&!U1(o).is(i)){if(e.pagination&&e.params.pagination&&e.params.pagination.clickable&&(e.pagination.el===o||e.pagination.el.contains(o)))return;var a;i?a=i.hasClass(e.params.navigation.hiddenClass):r&&(a=r.hasClass(e.params.navigation.hiddenClass)),e.emit(!0===a?"navigationShow":"navigationHide"),i&&i.toggleClass(e.params.navigation.hiddenClass),r&&r.toggleClass(e.params.navigation.hiddenClass)}}}},z5=function(){var e=function e(){m(this,e),p2.use([V5])};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,$2]]}),e}(),U5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd]]}),e}(),H5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,r$,V_,z5,U5]]}),e}(),G5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,up,H5]]}),e}(),W5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[{provide:eZ,useValue:JQ}],imports:[[Gd,Zy,V_]]}),e}(),q5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,QQ]]}),e}(),X5=function(){var e=function e(){m(this,e)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({imports:[[cd,Y_,V_,QQ]]}),e}(),Y5=function(){var e=function(){function e(t){m(this,e),this.injector=t}return b(e,[{key:"ngDoBootstrap",value:function(){var e=function(e,t){var n=function(e,t){return t.get(Ku).resolveComponentFactory(e).inputs}(e,t.injector),i=t.strategyFactory||new dv(e,t.injector),r=function(e){var t={};return e.forEach(function(e){var n=e.propName,i=e.templateName;t[function(e){return e.replace(/[A-Z]/g,function(e){return"-".concat(e.toLowerCase())})}(i)]=n}),t}(n),o=function(e){a(u,e);var o=s(u);function u(e){var t;return m(this,u),(t=o.call(this)).injector=e,t}return b(u,[{key:"ngElementStrategy",get:function(){var e=this;if(!this._ngElementStrategy){var r=this._ngElementStrategy=i.create(this.injector||t.injector);n.forEach(function(t){var n=t.propName;if(e.hasOwnProperty(n)){var i=e[n];delete e[n],r.setInputValue(n,i)}})}return this._ngElementStrategy}},{key:"attributeChangedCallback",value:function(e,t,n,i){this.ngElementStrategy.setInputValue(r[e],n)}},{key:"connectedCallback",value:function(){var e=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),e=!0),this.ngElementStrategy.connect(this),e||this.subscribeToEvents()}},{key:"disconnectedCallback",value:function(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}},{key:"subscribeToEvents",value:function(){var e=this;this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(function(t){var n=function(e,t,n){if("function"!=typeof CustomEvent){var i=e.createEvent("CustomEvent");return i.initCustomEvent(t,!1,!1,n),i}return new CustomEvent(t,{bubbles:!1,cancelable:!1,detail:n})}(e.ownerDocument,t.name,t.value);e.dispatchEvent(n)})}}]),u}(pv);return o.observedAttributes=Object.keys(r),n.forEach(function(e){var t=e.propName;Object.defineProperty(o.prototype,t,{get:function(){return this.ngElementStrategy.getInputValue(t)},set:function(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),o}(P3,{injector:this.injector});customElements.define("ccf-eui",e)}}]),e}();return e.\u0275fac=function(t){return new(t||e)(Zi(ss))},e.\u0275mod=Mt({type:e}),e.\u0275inj=Qe({providers:[{provide:lQ,useValue:"hubmap-theme-light"},{provide:Hp,useExisting:cQ}],imports:[[Zy,Gd,O5,W5,R5,j5,V_,P5,G5,q5,s$,y$,T$,Pw,X5,N$,mw,M5]]}),e}();gQ.production&&function(){if(oh)throw new Error("Cannot enable prod mode after platform setup.");rh=!1}(),Ud().bootstrapModule(Y5).catch(function(e){return console.error(e)})},91052:function(e){function t(e,t,n,i,r,o,a){try{var s=e[o](a),u=s.value}catch(c){return void n(c)}s.done?t(u):Promise.resolve(u).then(i,r)}e.exports=function(e){return function(){var n=this,i=arguments;return new Promise(function(r,o){var a=e.apply(n,i);function s(e){t(a,r,o,s,u,"next",e)}function u(e){t(a,r,o,s,u,"throw",e)}s(void 0)})}},e.exports.default=e.exports,e.exports.__esModule=!0},61948:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.default=e.exports,e.exports.__esModule=!0},34321:function(e){function t(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=t=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),t(n)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0},91741:function(e){function t(e){return Promise.resolve().then(function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=function(){return[]},t.resolve=t,t.id=91741,e.exports=t},88509:function(e,t,n){"use strict";e.exports=n.p+"7693192ac33f7744a3ca.ts"},9521:function(){},49125:function(){},75307:function(){}},function(e){e(e.s=51316)}])}(); \ No newline at end of file diff --git a/organ-info/3rdpartylicenses.txt b/organ-info/3rdpartylicenses.txt index 277a200d1..999776937 100644 --- a/organ-info/3rdpartylicenses.txt +++ b/organ-info/3rdpartylicenses.txt @@ -1516,6 +1516,32 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +object-hash +MIT +The MIT License (MIT) + +Copyright (c) 2014 object-hash contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +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. + + + obliterator MIT The MIT License (MIT) diff --git a/organ-info/main.js b/organ-info/main.js index 923bc2dfb..864bdb2ad 100644 --- a/organ-info/main.js +++ b/organ-info/main.js @@ -1 +1 @@ -var JFe=Object.defineProperty,e2e=Object.defineProperties,t2e=Object.getOwnPropertyDescriptors,S1=Object.getOwnPropertySymbols,Oq=Object.prototype.hasOwnProperty,Rq=Object.prototype.propertyIsEnumerable,Er=Math.pow,Pq=(Ut,it,et)=>it in Ut?JFe(Ut,it,{enumerable:!0,configurable:!0,writable:!0,value:et}):Ut[it]=et,ot=(Ut,it)=>{for(var et in it||(it={}))Oq.call(it,et)&&Pq(Ut,et,it[et]);if(S1)for(var et of S1(it))Rq.call(it,et)&&Pq(Ut,et,it[et]);return Ut},Sn=(Ut,it)=>e2e(Ut,t2e(it)),Nq=(Ut,it)=>{var et={};for(var yt in Ut)Oq.call(Ut,yt)&&it.indexOf(yt)<0&&(et[yt]=Ut[yt]);if(null!=Ut&&S1)for(var yt of S1(Ut))it.indexOf(yt)<0&&Rq.call(Ut,yt)&&(et[yt]=Ut[yt]);return et};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{1440:(Ut,it,et)=>{var yt=et(1052).default;Ut.exports=function Y(Se,he,W){function j(H,w){if(!he[H]){if(!Se[H]){if(k)return k(H,!0);var R=new Error("Cannot find module '"+H+"'");throw R.code="MODULE_NOT_FOUND",R}var T=he[H]={exports:{}};Se[H][0].call(T.exports,function(b){return j(Se[H][1][b]||b)},T,T.exports,Y,Se,he,W)}return he[H].exports}for(var k=void 0,Q=0;Q0&&G[G.length-1])&&(6===_t[0]||2===_t[0])){qe=0;continue}if(3===_t[0]&&(!G||_t[1]>G[0]&&_t[1]0?ue-4:ue;for($=0;$>16&255,O[K++]=P>>8&255,O[K++]=255&P;return 2===I&&(P=j[z.charCodeAt($)]<<2|j[z.charCodeAt($+1)]>>4,O[K++]=255&P),1===I&&(P=j[z.charCodeAt($)]<<10|j[z.charCodeAt($+1)]<<4|j[z.charCodeAt($+2)]>>2,O[K++]=P>>8&255,O[K++]=255&P),O},he.fromByteArray=function(z){for(var P,X=z.length,ue=X%3,I=[],O=16383,K=0,E=X-ue;KE?E:K+O));return 1===ue?I.push(W[(P=z[X-1])>>2]+W[P<<4&63]+"=="):2===ue&&I.push(W[(P=(z[X-2]<<8)+z[X-1])>>10]+W[P>>4&63]+W[P<<2&63]+"="),I.join("")};for(var W=[],j=[],k="undefined"!=typeof Uint8Array?Uint8Array:Array,Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",H=0,w=Q.length;H0)throw new Error("Invalid string. Length must be a multiple of 4");var X=z.indexOf("=");return-1===X&&(X=P),[X,X===P?0:4-X%4]}function y(z){return W[z>>18&63]+W[z>>12&63]+W[z>>6&63]+W[63&z]}function S(z,P,X){for(var I=[],O=P;O>5==6?2:I>>4==14?3:I>>3==30?4:I>>6==2?-1:-2}function T(I){var O=this.lastTotal-this.lastNeed,K=function(I,O,K){if(128!=(192&O[0]))return I.lastNeed=0,"\ufffd";if(I.lastNeed>1&&O.length>1){if(128!=(192&O[1]))return I.lastNeed=1,"\ufffd";if(I.lastNeed>2&&O.length>2&&128!=(192&O[2]))return I.lastNeed=2,"\ufffd"}}(this,I);return void 0!==K?K:this.lastNeed<=I.length?(I.copy(this.lastChar,O,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(I.copy(this.lastChar,O,0,I.length),void(this.lastNeed-=I.length))}function S(I,O){if((I.length-O)%2==0){var K=I.toString("utf16le",O);if(K){var E=K.charCodeAt(K.length-1);if(E>=55296&&E<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=I[I.length-2],this.lastChar[1]=I[I.length-1],K.slice(0,-1)}return K}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=I[I.length-1],I.toString("utf16le",O,I.length-1)}function A(I){var O=I&&I.length?this.write(I):"";return this.lastNeed?O+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):O}function z(I,O){var K=(I.length-O)%3;return 0===K?I.toString("base64",O):(this.lastNeed=3-K,this.lastTotal=3,1===K?this.lastChar[0]=I[I.length-1]:(this.lastChar[0]=I[I.length-2],this.lastChar[1]=I[I.length-1]),I.toString("base64",O,I.length-K))}function P(I){var O=I&&I.length?this.write(I):"";return this.lastNeed?O+this.lastChar.toString("base64",0,3-this.lastNeed):O}function X(I){return I.toString(this.encoding)}function ue(I){return I&&I.length?this.write(I):""}he.StringDecoder=H,H.prototype.write=function(I){if(0===I.length)return"";var O,K;if(this.lastNeed){if(void 0===(O=this.fillLast(I)))return"";K=this.lastNeed,this.lastNeed=0}else K=0;return K=0?($>0&&(I.lastNeed=$-1),$):--E=0?($>0&&(I.lastNeed=$-2),$):--E=0?($>0&&(2===$?$=0:I.lastNeed=$-3),$):0}(this,I,O);if(!this.lastNeed)return I.toString("utf8",O);this.lastTotal=K;var E=I.length-(K-this.lastNeed);return I.copy(this.lastChar,0,E),I.toString("utf8",O,E)},H.prototype.fillLast=function(I){if(this.lastNeed<=I.length)return I.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);I.copy(this.lastChar,this.lastTotal-this.lastNeed,0,I.length),this.lastNeed-=I.length}},{"safe-buffer":4}],6:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Y("base64-js"),k=Y("ieee754");he.Buffer=C,he.SlowBuffer=function(B){return+B!=B&&(B=0),C.alloc(+B)},he.INSPECT_MAX_BYTES=50;var Q=2147483647;function w(B){if(B>Q)throw new RangeError('The value "'+B+'" is invalid for option "size"');var N=new Uint8Array(B);return N.__proto__=C.prototype,N}function C(B,N,V){if("number"==typeof B){if("string"==typeof N)throw new TypeError('The "string" argument must be of type string. Received type number');return y(B)}return R(B,N,V)}function R(B,N,V){if("string"==typeof B)return function(B,N){if(("string"!=typeof N||""===N)&&(N="utf8"),!C.isEncoding(N))throw new TypeError("Unknown encoding: "+N);var V=0|I(B,N),Re=w(V),Ze=Re.write(B,N);return Ze!==V&&(Re=Re.slice(0,Ze)),Re}(B,N);if(ArrayBuffer.isView(B))return A(B);if(null==B)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof B);if(pt(B,ArrayBuffer)||B&&pt(B.buffer,ArrayBuffer))return function(B,N,V){if(N<0||B.byteLength=Q)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Q.toString(16)+" bytes");return 0|B}function I(B,N){if(C.isBuffer(B))return B.length;if(ArrayBuffer.isView(B)||pt(B,ArrayBuffer))return B.byteLength;if("string"!=typeof B)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof B);var V=B.length,Re=arguments.length>2&&!0===arguments[2];if(!Re&&0===V)return 0;for(var Ze=!1;;)switch(N){case"ascii":case"latin1":case"binary":return V;case"utf8":case"utf-8":return G(B).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*V;case"hex":return V>>>1;case"base64":return je(B).length;default:if(Ze)return Re?-1:G(B).length;N=(""+N).toLowerCase(),Ze=!0}}function O(B,N,V){var Re=!1;if((void 0===N||N<0)&&(N=0),N>this.length||((void 0===V||V>this.length)&&(V=this.length),V<=0)||(V>>>=0)<=(N>>>=0))return"";for(B||(B="utf8");;)switch(B){case"hex":return tt(this,N,V);case"utf8":case"utf-8":return ye(this,N,V);case"ascii":return st(this,N,V);case"latin1":case"binary":return Qe(this,N,V);case"base64":return ne(this,N,V);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Xe(this,N,V);default:if(Re)throw new TypeError("Unknown encoding: "+B);B=(B+"").toLowerCase(),Re=!0}}function K(B,N,V){var Re=B[N];B[N]=B[V],B[V]=Re}function E(B,N,V,Re,Ze){if(0===B.length)return-1;if("string"==typeof V?(Re=V,V=0):V>2147483647?V=2147483647:V<-2147483648&&(V=-2147483648),we(V=+V)&&(V=Ze?0:B.length-1),V<0&&(V=B.length+V),V>=B.length){if(Ze)return-1;V=B.length-1}else if(V<0){if(!Ze)return-1;V=0}if("string"==typeof N&&(N=C.from(N,Re)),C.isBuffer(N))return 0===N.length?-1:$(B,N,V,Re,Ze);if("number"==typeof N)return N&=255,"function"==typeof Uint8Array.prototype.indexOf?Ze?Uint8Array.prototype.indexOf.call(B,N,V):Uint8Array.prototype.lastIndexOf.call(B,N,V):$(B,[N],V,Re,Ze);throw new TypeError("val must be string, number or Buffer")}function $(B,N,V,Re,Ze){var Yn,Tt=1,kt=B.length,In=N.length;if(void 0!==Re&&("ucs2"===(Re=String(Re).toLowerCase())||"ucs-2"===Re||"utf16le"===Re||"utf-16le"===Re)){if(B.length<2||N.length<2)return-1;Tt=2,kt/=2,In/=2,V/=2}function Nn(Ls,fs){return 1===Tt?Ls[fs]:Ls.readUInt16BE(fs*Tt)}if(Ze){var Mi=-1;for(Yn=V;Ynkt&&(V=kt-In),Yn=V;Yn>=0;Yn--){for(var xi=!0,Xr=0;XrZe&&(Re=Ze):Re=Ze;var Tt=N.length;Re>Tt/2&&(Re=Tt/2);for(var kt=0;kt>8,Tt.push(V%256),Tt.push(Re);return Tt}(N,B.length-V),B,V,Re)}function ne(B,N,V){return j.fromByteArray(0===N&&V===B.length?B:B.slice(N,V))}function ye(B,N,V){V=Math.min(B.length,V);for(var Re=[],Ze=N;Ze239?4:Tt>223?3:Tt>191?2:1;if(Ze+In<=V)switch(In){case 1:Tt<128&&(kt=Tt);break;case 2:128==(192&(Nn=B[Ze+1]))&&(xi=(31&Tt)<<6|63&Nn)>127&&(kt=xi);break;case 3:Yn=B[Ze+2],128==(192&(Nn=B[Ze+1]))&&128==(192&Yn)&&(xi=(15&Tt)<<12|(63&Nn)<<6|63&Yn)>2047&&(xi<55296||xi>57343)&&(kt=xi);break;case 4:Yn=B[Ze+2],Mi=B[Ze+3],128==(192&(Nn=B[Ze+1]))&&128==(192&Yn)&&128==(192&Mi)&&(xi=(15&Tt)<<18|(63&Nn)<<12|(63&Yn)<<6|63&Mi)>65535&&xi<1114112&&(kt=xi)}null===kt?(kt=65533,In=1):kt>65535&&(Re.push((kt-=65536)>>>10&1023|55296),kt=56320|1023&kt),Re.push(kt),Ze+=In}return function(B){var N=B.length;if(N<=4096)return String.fromCharCode.apply(String,B);for(var V="",Re=0;ReV&&(N+=" ... "),""},C.prototype.compare=function(N,V,Re,Ze,Tt){if(pt(N,Uint8Array)&&(N=C.from(N,N.offset,N.byteLength)),!C.isBuffer(N))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof N);if(void 0===V&&(V=0),void 0===Re&&(Re=N?N.length:0),void 0===Ze&&(Ze=0),void 0===Tt&&(Tt=this.length),V<0||Re>N.length||Ze<0||Tt>this.length)throw new RangeError("out of range index");if(Ze>=Tt&&V>=Re)return 0;if(Ze>=Tt)return-1;if(V>=Re)return 1;if(this===N)return 0;for(var kt=(Tt>>>=0)-(Ze>>>=0),In=(Re>>>=0)-(V>>>=0),Nn=Math.min(kt,In),Yn=this.slice(Ze,Tt),Mi=N.slice(V,Re),xi=0;xi>>=0,isFinite(Re)?(Re>>>=0,void 0===Ze&&(Ze="utf8")):(Ze=Re,Re=void 0)}var Tt=this.length-V;if((void 0===Re||Re>Tt)&&(Re=Tt),N.length>0&&(Re<0||V<0)||V>this.length)throw new RangeError("Attempt to write outside buffer bounds");Ze||(Ze="utf8");for(var kt=!1;;)switch(Ze){case"hex":return Z(this,N,V,Re);case"utf8":case"utf-8":return ae(this,N,V,Re);case"ascii":return oe(this,N,V,Re);case"latin1":case"binary":return te(this,N,V,Re);case"base64":return Te(this,N,V,Re);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,N,V,Re);default:if(kt)throw new TypeError("Unknown encoding: "+Ze);Ze=(""+Ze).toLowerCase(),kt=!0}},C.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function st(B,N,V){var Re="";V=Math.min(B.length,V);for(var Ze=N;ZeRe)&&(V=Re);for(var Ze="",Tt=N;TtV)throw new RangeError("Trying to access beyond buffer length")}function Le(B,N,V,Re,Ze,Tt){if(!C.isBuffer(B))throw new TypeError('"buffer" argument must be a Buffer instance');if(N>Ze||NB.length)throw new RangeError("Index out of range")}function Ke(B,N,V,Re,Ze,Tt){if(V+Re>B.length)throw new RangeError("Index out of range");if(V<0)throw new RangeError("Index out of range")}function Me(B,N,V,Re,Ze){return N=+N,V>>>=0,Ze||Ke(B,0,V,4),k.write(B,N,V,Re,23,4),V+4}function Ue(B,N,V,Re,Ze){return N=+N,V>>>=0,Ze||Ke(B,0,V,8),k.write(B,N,V,Re,52,8),V+8}C.prototype.slice=function(N,V){var Re=this.length;(N=~~N)<0?(N+=Re)<0&&(N=0):N>Re&&(N=Re),(V=void 0===V?Re:~~V)<0?(V+=Re)<0&&(V=0):V>Re&&(V=Re),V>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N],Tt=1,kt=0;++kt>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N+--V],Tt=1;V>0&&(Tt*=256);)Ze+=this[N+--V]*Tt;return Ze},C.prototype.readUInt8=function(N,V){return N>>>=0,V||ze(N,1,this.length),this[N]},C.prototype.readUInt16LE=function(N,V){return N>>>=0,V||ze(N,2,this.length),this[N]|this[N+1]<<8},C.prototype.readUInt16BE=function(N,V){return N>>>=0,V||ze(N,2,this.length),this[N]<<8|this[N+1]},C.prototype.readUInt32LE=function(N,V){return N>>>=0,V||ze(N,4,this.length),(this[N]|this[N+1]<<8|this[N+2]<<16)+16777216*this[N+3]},C.prototype.readUInt32BE=function(N,V){return N>>>=0,V||ze(N,4,this.length),16777216*this[N]+(this[N+1]<<16|this[N+2]<<8|this[N+3])},C.prototype.readIntLE=function(N,V,Re){N>>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N],Tt=1,kt=0;++kt=(Tt*=128)&&(Ze-=Math.pow(2,8*V)),Ze},C.prototype.readIntBE=function(N,V,Re){N>>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=V,Tt=1,kt=this[N+--Ze];Ze>0&&(Tt*=256);)kt+=this[N+--Ze]*Tt;return kt>=(Tt*=128)&&(kt-=Math.pow(2,8*V)),kt},C.prototype.readInt8=function(N,V){return N>>>=0,V||ze(N,1,this.length),128&this[N]?-1*(255-this[N]+1):this[N]},C.prototype.readInt16LE=function(N,V){N>>>=0,V||ze(N,2,this.length);var Re=this[N]|this[N+1]<<8;return 32768&Re?4294901760|Re:Re},C.prototype.readInt16BE=function(N,V){N>>>=0,V||ze(N,2,this.length);var Re=this[N+1]|this[N]<<8;return 32768&Re?4294901760|Re:Re},C.prototype.readInt32LE=function(N,V){return N>>>=0,V||ze(N,4,this.length),this[N]|this[N+1]<<8|this[N+2]<<16|this[N+3]<<24},C.prototype.readInt32BE=function(N,V){return N>>>=0,V||ze(N,4,this.length),this[N]<<24|this[N+1]<<16|this[N+2]<<8|this[N+3]},C.prototype.readFloatLE=function(N,V){return N>>>=0,V||ze(N,4,this.length),k.read(this,N,!0,23,4)},C.prototype.readFloatBE=function(N,V){return N>>>=0,V||ze(N,4,this.length),k.read(this,N,!1,23,4)},C.prototype.readDoubleLE=function(N,V){return N>>>=0,V||ze(N,8,this.length),k.read(this,N,!0,52,8)},C.prototype.readDoubleBE=function(N,V){return N>>>=0,V||ze(N,8,this.length),k.read(this,N,!1,52,8)},C.prototype.writeUIntLE=function(N,V,Re,Ze){N=+N,V>>>=0,Re>>>=0,Ze||Le(this,N,V,Re,Math.pow(2,8*Re)-1,0);var kt=1,In=0;for(this[V]=255&N;++In>>=0,Re>>>=0,Ze||Le(this,N,V,Re,Math.pow(2,8*Re)-1,0);var kt=Re-1,In=1;for(this[V+kt]=255&N;--kt>=0&&(In*=256);)this[V+kt]=N/In&255;return V+Re},C.prototype.writeUInt8=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,1,255,0),this[V]=255&N,V+1},C.prototype.writeUInt16LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,65535,0),this[V]=255&N,this[V+1]=N>>>8,V+2},C.prototype.writeUInt16BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,65535,0),this[V]=N>>>8,this[V+1]=255&N,V+2},C.prototype.writeUInt32LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,4294967295,0),this[V+3]=N>>>24,this[V+2]=N>>>16,this[V+1]=N>>>8,this[V]=255&N,V+4},C.prototype.writeUInt32BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,4294967295,0),this[V]=N>>>24,this[V+1]=N>>>16,this[V+2]=N>>>8,this[V+3]=255&N,V+4},C.prototype.writeIntLE=function(N,V,Re,Ze){if(N=+N,V>>>=0,!Ze){var Tt=Math.pow(2,8*Re-1);Le(this,N,V,Re,Tt-1,-Tt)}var kt=0,In=1,Nn=0;for(this[V]=255&N;++kt>0)-Nn&255;return V+Re},C.prototype.writeIntBE=function(N,V,Re,Ze){if(N=+N,V>>>=0,!Ze){var Tt=Math.pow(2,8*Re-1);Le(this,N,V,Re,Tt-1,-Tt)}var kt=Re-1,In=1,Nn=0;for(this[V+kt]=255&N;--kt>=0&&(In*=256);)N<0&&0===Nn&&0!==this[V+kt+1]&&(Nn=1),this[V+kt]=(N/In>>0)-Nn&255;return V+Re},C.prototype.writeInt8=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,1,127,-128),N<0&&(N=255+N+1),this[V]=255&N,V+1},C.prototype.writeInt16LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,32767,-32768),this[V]=255&N,this[V+1]=N>>>8,V+2},C.prototype.writeInt16BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,32767,-32768),this[V]=N>>>8,this[V+1]=255&N,V+2},C.prototype.writeInt32LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,2147483647,-2147483648),this[V]=255&N,this[V+1]=N>>>8,this[V+2]=N>>>16,this[V+3]=N>>>24,V+4},C.prototype.writeInt32BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,2147483647,-2147483648),N<0&&(N=4294967295+N+1),this[V]=N>>>24,this[V+1]=N>>>16,this[V+2]=N>>>8,this[V+3]=255&N,V+4},C.prototype.writeFloatLE=function(N,V,Re){return Me(this,N,V,!0,Re)},C.prototype.writeFloatBE=function(N,V,Re){return Me(this,N,V,!1,Re)},C.prototype.writeDoubleLE=function(N,V,Re){return Ue(this,N,V,!0,Re)},C.prototype.writeDoubleBE=function(N,V,Re){return Ue(this,N,V,!1,Re)},C.prototype.copy=function(N,V,Re,Ze){if(!C.isBuffer(N))throw new TypeError("argument should be a Buffer");if(Re||(Re=0),!Ze&&0!==Ze&&(Ze=this.length),V>=N.length&&(V=N.length),V||(V=0),Ze>0&&Ze=this.length)throw new RangeError("Index out of range");if(Ze<0)throw new RangeError("sourceEnd out of bounds");Ze>this.length&&(Ze=this.length),N.length-V=0;--kt)N[kt+V]=this[kt+Re];else Uint8Array.prototype.set.call(N,this.subarray(Re,Ze),V);return Tt},C.prototype.fill=function(N,V,Re,Ze){if("string"==typeof N){if("string"==typeof V?(Ze=V,V=0,Re=this.length):"string"==typeof Re&&(Ze=Re,Re=this.length),void 0!==Ze&&"string"!=typeof Ze)throw new TypeError("encoding must be a string");if("string"==typeof Ze&&!C.isEncoding(Ze))throw new TypeError("Unknown encoding: "+Ze);if(1===N.length){var Tt=N.charCodeAt(0);("utf8"===Ze&&Tt<128||"latin1"===Ze)&&(N=Tt)}}else"number"==typeof N&&(N&=255);if(V<0||this.length>>=0,Re=void 0===Re?this.length:Re>>>0,N||(N=0),"number"==typeof N)for(kt=V;kt55295&&V<57344){if(!Ze){if(V>56319){(N-=3)>-1&&Tt.push(239,191,189);continue}if(kt+1===Re){(N-=3)>-1&&Tt.push(239,191,189);continue}Ze=V;continue}if(V<56320){(N-=3)>-1&&Tt.push(239,191,189),Ze=V;continue}V=65536+(Ze-55296<<10|V-56320)}else Ze&&(N-=3)>-1&&Tt.push(239,191,189);if(Ze=null,V<128){if((N-=1)<0)break;Tt.push(V)}else if(V<2048){if((N-=2)<0)break;Tt.push(V>>6|192,63&V|128)}else if(V<65536){if((N-=3)<0)break;Tt.push(V>>12|224,V>>6&63|128,63&V|128)}else{if(!(V<1114112))throw new Error("Invalid code point");if((N-=4)<0)break;Tt.push(V>>18|240,V>>12&63|128,V>>6&63|128,63&V|128)}}return Tt}function je(B){return j.toByteArray(function(B){if((B=(B=B.split("=")[0]).trim().replace(qe,"")).length<2)return"";for(;B.length%4!=0;)B+="=";return B}(B))}function _t(B,N,V,Re){for(var Ze=0;Ze=N.length||Ze>=B.length);++Ze)N[Ze+V]=B[Ze];return Ze}function pt(B,N){return B instanceof N||null!=B&&null!=B.constructor&&null!=B.constructor.name&&B.constructor.name===N.name}function we(B){return B!=B}}).call(this)}).call(this,Y("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(Y,Se,he){"use strict";Se.exports=function W(j){return null===j||"object"!=typeof j||null!=j.toJSON?JSON.stringify(j):Array.isArray(j)?"["+j.reduce((k,Q,H)=>k+(0===H?"":",")+W(void 0===Q||"symbol"==typeof Q?null:Q),"")+"]":"{"+Object.keys(j).sort().reduce((k,Q,H)=>void 0===j[Q]||"symbol"==typeof j[Q]?k:k+(0===k.length?"":",")+W(Q)+":"+W(j[Q]),"")+"}"}},{}],8:[function(Y,Se,he){"use strict";var k,W="object"==typeof Reflect?Reflect:null,j=W&&"function"==typeof W.apply?W.apply:function($,Z,ae){return Function.prototype.apply.call($,Z,ae)};k=W&&"function"==typeof W.ownKeys?W.ownKeys:Object.getOwnPropertySymbols?function($){return Object.getOwnPropertyNames($).concat(Object.getOwnPropertySymbols($))}:function($){return Object.getOwnPropertyNames($)};var H=Number.isNaN||function($){return $!=$};function w(){w.init.call(this)}Se.exports=w,Se.exports.once=function(E,$){return new Promise(function(Z,ae){function oe(Te){E.removeListener($,te),ae(Te)}function te(){"function"==typeof E.removeListener&&E.removeListener("error",oe),Z([].slice.call(arguments))}K(E,$,te,{once:!0}),"error"!==$&&function(E,$,Z){"function"==typeof E.on&&K(E,"error",$,Z)}(E,oe,{once:!0})})},w.EventEmitter=w,w.prototype._events=void 0,w.prototype._eventsCount=0,w.prototype._maxListeners=void 0;var C=10;function R(E){if("function"!=typeof E)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof E)}function T(E){return void 0===E._maxListeners?w.defaultMaxListeners:E._maxListeners}function b(E,$,Z,ae){var oe,te,Te;if(R(Z),void 0===(te=E._events)?(te=E._events=Object.create(null),E._eventsCount=0):(void 0!==te.newListener&&(E.emit("newListener",$,Z.listener?Z.listener:Z),te=E._events),Te=te[$]),void 0===Te)Te=te[$]=Z,++E._eventsCount;else if("function"==typeof Te?Te=te[$]=ae?[Z,Te]:[Te,Z]:ae?Te.unshift(Z):Te.push(Z),(oe=T(E))>0&&Te.length>oe&&!Te.warned){Te.warned=!0;var me=new Error("Possible EventEmitter memory leak detected. "+Te.length+" "+String($)+" listeners added. Use emitter.setMaxListeners() to increase limit");me.name="MaxListenersExceededWarning",me.emitter=E,me.type=$,me.count=Te.length,function(E){console&&console.warn&&console.warn(E)}(me)}return E}function y(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function S(E,$,Z){var ae={fired:!1,wrapFn:void 0,target:E,type:$,listener:Z},oe=y.bind(ae);return oe.listener=Z,ae.wrapFn=oe,oe}function A(E,$,Z){var ae=E._events;if(void 0===ae)return[];var oe=ae[$];return void 0===oe?[]:"function"==typeof oe?Z?[oe.listener||oe]:[oe]:Z?function(E){for(var $=new Array(E.length),Z=0;Z<$.length;++Z)$[Z]=E[Z].listener||E[Z];return $}(oe):P(oe,oe.length)}function z(E){var $=this._events;if(void 0!==$){var Z=$[E];if("function"==typeof Z)return 1;if(void 0!==Z)return Z.length}return 0}function P(E,$){for(var Z=new Array($),ae=0;ae<$;++ae)Z[ae]=E[ae];return Z}function K(E,$,Z,ae){if("function"==typeof E.on)ae.once?E.once($,Z):E.on($,Z);else{if("function"!=typeof E.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof E);E.addEventListener($,function oe(te){ae.once&&E.removeEventListener($,oe),Z(te)})}}Object.defineProperty(w,"defaultMaxListeners",{enumerable:!0,get:function(){return C},set:function(E){if("number"!=typeof E||E<0||H(E))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+E+".");C=E}}),w.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},w.prototype.setMaxListeners=function($){if("number"!=typeof $||$<0||H($))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+$+".");return this._maxListeners=$,this},w.prototype.getMaxListeners=function(){return T(this)},w.prototype.emit=function($){for(var Z=[],ae=1;ae0&&(Te=Z[0]),Te instanceof Error)throw Te;var me=new Error("Unhandled error."+(Te?" ("+Te.message+")":""));throw me.context=Te,me}var ne=te[$];if(void 0===ne)return!1;if("function"==typeof ne)j(ne,this,Z);else{var ye=ne.length,Oe=P(ne,ye);for(ae=0;ae=0;Te--)if(ae[Te]===Z||ae[Te].listener===Z){me=ae[Te].listener,te=Te;break}if(te<0)return this;0===te?ae.shift():function(E,$){for(;$+1=0;oe--)this.removeListener($,Z[oe]);return this},w.prototype.listeners=function($){return A(this,$,!0)},w.prototype.rawListeners=function($){return A(this,$,!1)},w.listenerCount=function(E,$){return"function"==typeof E.listenerCount?E.listenerCount($):z.call(E,$)},w.prototype.listenerCount=z,w.prototype.eventNames=function(){return this._eventsCount>0?k(this._events):[]}},{}],9:[function(Y,Se,he){he.read=function(W,j,k,Q,H){var w,C,R=8*H-Q-1,T=(1<>1,y=-7,S=k?H-1:0,A=k?-1:1,z=W[j+S];for(S+=A,w=z&(1<<-y)-1,z>>=-y,y+=R;y>0;w=256*w+W[j+S],S+=A,y-=8);for(C=w&(1<<-y)-1,w>>=-y,y+=Q;y>0;C=256*C+W[j+S],S+=A,y-=8);if(0===w)w=1-b;else{if(w===T)return C?NaN:1/0*(z?-1:1);C+=Math.pow(2,Q),w-=b}return(z?-1:1)*C*Math.pow(2,w-Q)},he.write=function(W,j,k,Q,H,w){var C,R,T,b=8*w-H-1,y=(1<>1,A=23===H?Math.pow(2,-24)-Math.pow(2,-77):0,z=Q?0:w-1,P=Q?1:-1,X=j<0||0===j&&1/j<0?1:0;for(j=Math.abs(j),isNaN(j)||j===1/0?(R=isNaN(j)?1:0,C=y):(C=Math.floor(Math.log(j)/Math.LN2),j*(T=Math.pow(2,-C))<1&&(C--,T*=2),(j+=C+S>=1?A/T:A*Math.pow(2,1-S))*T>=2&&(C++,T/=2),C+S>=y?(R=0,C=y):C+S>=1?(R=(j*T-1)*Math.pow(2,H),C+=S):(R=j*Math.pow(2,S-1)*Math.pow(2,H),C=0));H>=8;W[k+z]=255&R,z+=P,R/=256,H-=8);for(C=C<0;W[k+z]=255&C,z+=P,C/=256,b-=8);W[k+z-P]|=128*X}},{}],10:[function(Y,Se,he){Se.exports="function"==typeof Object.create?function(j,k){k&&(j.super_=k,j.prototype=Object.create(k.prototype,{constructor:{value:j,enumerable:!1,writable:!0,configurable:!0}}))}:function(j,k){if(k){j.super_=k;var Q=function(){};Q.prototype=k.prototype,j.prototype=new Q,j.prototype.constructor=j}}},{}],11:[function(Y,Se,he){"use strict";const{isArray:W,isObject:j,isString:k}=Y("./types"),{asArray:Q}=Y("./util"),{prependBase:H}=Y("./url"),w=Y("./JsonLdError"),C=Y("./ResolvedContext");function T(y){throw new w("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:y})}function b({context:y,base:S}){if(!y)return;const A=y["@context"];if(k(A))y["@context"]=H(S,A);else if(W(A))for(let z=0;z10)throw new w("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"loading remote context failed":"context overflow",max:10});if(P.has(A))throw new w("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"recursive context inclusion":"context overflow",url:A});let X,ue;P.add(A);try{ue=yield z(A),X=ue.document||null,k(X)&&(X=JSON.parse(X))}catch(I){throw new w("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:A,cause:I})}if(!j(X))throw new w("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:A});return X="@context"in X?{"@context":X["@context"]}:{"@context":{}},ue.contextUrl&&(W(X["@context"])||(X["@context"]=[X["@context"]]),X["@context"].push(ue.contextUrl)),{context:X,remoteDoc:ue}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(Y,Se,he){"use strict";Se.exports=class extends Error{constructor(j="An unspecified JSON-LD error occurred.",k="jsonld.Error",Q={}){super(j),this.name=k,this.message=j,this.details=Q}}},{}],13:[function(Y,Se,he){"use strict";Se.exports=W=>{class j{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(j,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(j.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:j}),j.compact=function(k,Q){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):W.compact(k,Q)},j.expand=function(k){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):W.expand(k)},j.flatten=function(k){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):W.flatten(k)},j}},{}],14:[function(Y,Se,he){"use strict";Se.exports=Y("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(Y,Se,he){"use strict";Se.exports=class{constructor(){this._requests={}}wrapLoader(j){const k=this;return k._loader=j,function(){return k.add.apply(k,arguments)}}add(j){var k=this;return yt(function*(){let Q=k._requests[j];if(Q)return Promise.resolve(Q);Q=k._requests[j]=k._loader(j);try{return yield Q}finally{delete k._requests[j]}})()}}},{}],16:[function(Y,Se,he){"use strict";const W=Y("lru-cache");Se.exports=class{constructor({document:Q}){this.document=Q,this.cache=new W({max:10})}getProcessed(Q){return this.cache.get(Q)}setProcessed(Q,H){this.cache.set(Q,H)}}},{"lru-cache":33}],17:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:k,isString:Q,isUndefined:H}=Y("./types"),{isList:w,isValue:C,isGraph:R,isSimpleGraph:T,isSubjectReference:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:A,process:z,processingMode:P}=Y("./context"),{removeBase:X,prependBase:ue}=Y("./url"),{addValue:I,asArray:O,compareShortestLeast:K}=Y("./util"),E={};function Z(ae,oe,te){if("@nest"!==y(ae,oe,{vocab:!0},te))throw new W("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}Se.exports=E,E.compact=function(){var ae=yt(function*({activeCtx:oe,activeProperty:te=null,element:Te,options:me={},compactionMap:ne=(()=>{})}){if(j(Te)){let Oe=[];for(let $e=0;$e1&&(tt=Array.from(tt).sort());const Xe=oe;for(const Le of tt){const Ke=E.compactIri({activeCtx:Xe,iri:Le,relativeTo:{vocab:!0}}),Me=S(st,Ke,"@context");H(Me)||(oe=yield z({activeCtx:oe,localCtx:Me,options:me,propagate:!1}))}const ze=Object.keys(Te).sort();for(const Le of ze){const Ke=Te[Le];if("@id"!==Le)if("@type"!==Le)if("@reverse"!==Le)if("@preserve"!==Le)if("@index"!==Le)if("@graph"!==Le&&"@list"!==Le&&"@included"!==Le&&A(Le)){const Me=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Me,Ke)}else{if(!j(Ke))throw new W("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===Ke.length){const Me=E.compactIri({activeCtx:oe,iri:Le,value:Ke,relativeTo:{vocab:!0},reverse:Oe}),Ue=oe.mappings.has(Me)?oe.mappings.get(Me)["@nest"]:null;let qe=$e;Ue&&(Z(oe,Ue,me),k($e[Ue])||($e[Ue]={}),qe=$e[Ue]),I(qe,Me,Ke,{propertyIsArray:!0})}for(const Me of Ke){const Ue=E.compactIri({activeCtx:oe,iri:Le,value:Me,relativeTo:{vocab:!0},reverse:Oe}),qe=oe.mappings.has(Ue)?oe.mappings.get(Ue)["@nest"]:null;let ke=$e;qe&&(Z(oe,qe,me),k($e[qe])||($e[qe]={}),ke=$e[qe]);const q=S(oe,Ue,"@container")||[],G=R(Me),pe=w(Me);let de;pe?de=Me["@list"]:G&&(de=Me["@graph"]);let je=yield E.compact({activeCtx:oe,activeProperty:Ue,element:pe||G?de:Me,options:me,compactionMap:ne});if(pe){if(j(je)||(je=[je]),q.includes("@list")){I(ke,Ue,je,{valueIsArray:!0,allowDuplicate:!0});continue}je={[E.compactIri({activeCtx:oe,iri:"@list",relativeTo:{vocab:!0}})]:je},"@index"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"])}if(G)if(q.includes("@graph")&&(q.includes("@id")||q.includes("@index")&&T(Me))){let _t;ke.hasOwnProperty(Ue)?_t=ke[Ue]:ke[Ue]=_t={};const pt=(q.includes("@id")?Me["@id"]:Me["@index"])||E.compactIri({activeCtx:oe,iri:"@none",relativeTo:{vocab:!0}});I(_t,pt,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})}else q.includes("@graph")&&T(Me)?(j(je)&&je.length>1&&(je={"@included":je}),I(ke,Ue,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})):(j(je)&&1===je.length&&me.compactArrays&&(je=je[0]),je={[E.compactIri({activeCtx:oe,iri:"@graph",relativeTo:{vocab:!0}})]:je},"@id"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]=Me["@id"]),"@index"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"]),I(ke,Ue,je,{propertyIsArray:!me.compactArrays||q.includes("@set")}));else if(q.includes("@language")||q.includes("@index")||q.includes("@id")||q.includes("@type")){let _t,pt;if(ke.hasOwnProperty(Ue)?_t=ke[Ue]:ke[Ue]=_t={},q.includes("@language"))C(je)&&(je=je["@value"]),pt=Me["@language"];else if(q.includes("@index")){const we=S(oe,Ue,"@index")||"@index",B=E.compactIri({activeCtx:oe,iri:we,relativeTo:{vocab:!0}});if("@index"===we)pt=Me["@index"],delete je[B];else{let N;if([pt,...N]=O(je[we]||[]),Q(pt))switch(N.length){case 0:delete je[we];break;case 1:je[we]=N[0];break;default:je[we]=N}else pt=null}}else if(q.includes("@id")){const we=E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}});pt=je[we],delete je[we]}else if(q.includes("@type")){const we=E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}});let B;switch([pt,...B]=O(je[we]||[]),B.length){case 0:delete je[we];break;case 1:je[we]=B[0];break;default:je[we]=B}1===Object.keys(je).length&&"@id"in Me&&(je=yield E.compact({activeCtx:oe,activeProperty:Ue,element:{"@id":Me["@id"]},options:me,compactionMap:ne}))}pt||(pt=E.compactIri({activeCtx:oe,iri:"@none",relativeTo:{vocab:!0}})),I(_t,pt,je,{propertyIsArray:q.includes("@set")})}else{const _t=!me.compactArrays||q.includes("@set")||q.includes("@list")||j(je)&&0===je.length||"@list"===Le||"@graph"===Le;I(ke,Ue,je,{propertyIsArray:_t})}}}else{if((S(oe,te,"@container")||[]).includes("@index"))continue;const Ue=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Ue,Ke)}else{const Me=yield E.compact({activeCtx:oe,activeProperty:te,element:Ke,options:me,compactionMap:ne});j(Me)&&0===Me.length||I($e,Le,Me)}else{const Me=yield E.compact({activeCtx:oe,activeProperty:"@reverse",element:Ke,options:me,compactionMap:ne});for(const Ue in Me)if(oe.mappings.has(Ue)&&oe.mappings.get(Ue).reverse){const qe=Me[Ue],q=(S(oe,Ue,"@container")||[]).includes("@set")||!me.compactArrays;I($e,Ue,qe,{propertyIsArray:q}),delete Me[Ue]}if(Object.keys(Me).length>0){const Ue=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Ue,Me)}}else{let Me=O(Ke).map(G=>E.compactIri({activeCtx:st,iri:G,relativeTo:{vocab:!0}}));1===Me.length&&(Me=Me[0]);const Ue=E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}}),q=(S(oe,Ue,"@container")||[]).includes("@set")&&P(oe,1.1)||j(Me)&&0===Ke.length;I($e,Ue,Me,{propertyIsArray:q})}else{let Me=O(Ke).map(qe=>E.compactIri({activeCtx:oe,iri:qe,relativeTo:{vocab:!1},base:me.base}));1===Me.length&&(Me=Me[0]),$e[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]=Me}}return $e}return Te});return function(oe){return ae.apply(this,arguments)}}(),E.compactIri=({activeCtx:ae,iri:oe,value:te=null,relativeTo:Te={vocab:!1},reverse:me=!1,base:ne=null})=>{if(null===oe)return oe;ae.isPropertyTermScoped&&ae.previousContext&&(ae=ae.previousContext);const ye=ae.getInverse();if(A(oe)&&oe in ye&&"@none"in ye[oe]&&"@type"in ye[oe]["@none"]&&"@none"in ye[oe]["@none"]["@type"])return ye[oe]["@none"]["@type"]["@none"];if(Te.vocab&&oe in ye){const tt=ae["@language"]||"@none",Xe=[];k(te)&&"@index"in te&&!("@graph"in te)&&Xe.push("@index","@index@set"),k(te)&&"@preserve"in te&&(te=te["@preserve"][0]),R(te)?("@index"in te&&Xe.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te&&Xe.push("@graph@id","@graph@id@set"),Xe.push("@graph","@graph@set","@set"),"@index"in te||Xe.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te||Xe.push("@graph@id","@graph@id@set")):k(te)&&!C(te)&&Xe.push("@id","@id@set","@type","@set@type");let ze="@language",Le="@null";if(me)ze="@type",Le="@reverse",Xe.push("@set");else if(w(te)){"@index"in te||Xe.push("@list");const Me=te["@list"];if(0===Me.length)ze="@any",Le="@none";else{let Ue=0===Me.length?tt:null,qe=null;for(let ke=0;kest.includes("_"));$e&&ye.push($e.replace(/^[^_]+_/,"_"))}ye.push("@none");const Oe=ae.inverse[oe];for(const $e of Te){if(!($e in Oe))continue;const st=Oe[$e][me];for(const Qe of ye)if(Qe in st)return st[Qe]}return null}(ae,oe,te,Xe,ze,Le);if(null!==Ke)return Ke}if(Te.vocab&&"@vocab"in ae){const tt=ae["@vocab"];if(0===oe.indexOf(tt)&&oe!==tt){const Xe=oe.substr(tt.length);if(!ae.mappings.has(Xe))return Xe}}let Oe=null;const $e=[];let st=ae.fastCurieMap;const Qe=oe.length-1;for(let tt=0;tt=0;--tt){const Xe=$e[tt],ze=Xe.terms;for(const Le of ze){const Ke=Le+":"+oe.substr(Xe.iri.length);ae.mappings.get(Le)._prefix&&(!ae.mappings.has(Ke)||null===te&&ae.mappings.get(Ke)["@id"]===oe)&&(null===Oe||K(Ke,Oe)<0)&&(Oe=Ke)}}if(null!==Oe)return Oe;for(const[tt,Xe]of ae.mappings)if(Xe&&Xe._prefix&&oe.startsWith(tt+":"))throw new W(`Absolute IRI "${oe}" confused with prefix "${tt}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:ae});return Te.vocab?oe:"@base"in ae?ae["@base"]?X(ue(ne,ae["@base"]),oe):oe:X(ne,oe)},E.compactValue=({activeCtx:ae,activeProperty:oe,value:te,options:Te})=>{if(C(te)){const Oe=S(ae,oe,"@type"),$e=S(ae,oe,"@language"),st=S(ae,oe,"@direction"),Qe=S(ae,oe,"@container")||[],tt="@index"in te&&!Qe.includes("@index");if(!tt&&"@none"!==Oe&&(te["@type"]===Oe||"@language"in te&&te["@language"]===$e&&"@direction"in te&&te["@direction"]===st||"@language"in te&&te["@language"]===$e||"@direction"in te&&te["@direction"]===st))return te["@value"];const Xe=Object.keys(te).length,ze=1===Xe||2===Xe&&"@index"in te&&!tt,Le="@language"in ae,Ke=Q(te["@value"]),Me=ae.mappings.has(oe)&&null===ae.mappings.get(oe)["@language"];if(ze&&"@none"!==Oe&&(!Le||!Ke||Me))return te["@value"];const Ue={};return tt&&(Ue[E.compactIri({activeCtx:ae,iri:"@index",relativeTo:{vocab:!0}})]=te["@index"]),"@type"in te?Ue[E.compactIri({activeCtx:ae,iri:"@type",relativeTo:{vocab:!0}})]=E.compactIri({activeCtx:ae,iri:te["@type"],relativeTo:{vocab:!0}}):"@language"in te&&(Ue[E.compactIri({activeCtx:ae,iri:"@language",relativeTo:{vocab:!0}})]=te["@language"]),"@direction"in te&&(Ue[E.compactIri({activeCtx:ae,iri:"@direction",relativeTo:{vocab:!0}})]=te["@direction"]),Ue[E.compactIri({activeCtx:ae,iri:"@value",relativeTo:{vocab:!0}})]=te["@value"],Ue}const me=y(ae,oe,{vocab:!0},Te),ne=S(ae,oe,"@type"),ye=E.compactIri({activeCtx:ae,iri:te["@id"],relativeTo:{vocab:"@vocab"===ne},base:Te.base});return"@id"===ne||"@vocab"===ne||"@graph"===me?ye:{[E.compactIri({activeCtx:ae,iri:"@id",relativeTo:{vocab:!0}})]:ye}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(Y,Se,he){"use strict";const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#";Se.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:W,RDF_LIST:W+"List",RDF_FIRST:W+"first",RDF_REST:W+"rest",RDF_NIL:W+"nil",RDF_TYPE:W+"type",RDF_PLAIN_LITERAL:W+"PlainLiteral",RDF_XML_LITERAL:W+"XMLLiteral",RDF_JSON_LITERAL:W+"JSON",RDF_OBJECT:W+"object",RDF_LANGSTRING:W+"langString",XSD:j,XSD_BOOLEAN:j+"boolean",XSD_DOUBLE:j+"double",XSD_INTEGER:j+"integer",XSD_STRING:j+"string"}},{}],19:[function(Y,Se,he){"use strict";const W=Y("./util"),j=Y("./JsonLdError"),{isArray:k,isObject:Q,isString:H,isUndefined:w}=Y("./types"),{isAbsolute:C,isRelative:R,prependBase:T}=Y("./url"),{asArray:b,compareShortestLeast:y}=Y("./util"),S=new Map,z=/^@[a-zA-Z]+$/,P={};function X(I,O,K,E,$,Z){if(null===O||!H(O)||P.isKeyword(O))return O;if(O.match(z))return null;if(E&&E.hasOwnProperty(O)&&!0!==$.get(O)&&P.createTermDefinition({activeCtx:I,localCtx:E,term:O,defined:$,options:Z}),(K=K||{}).vocab){const oe=I.mappings.get(O);if(null===oe)return null;if(Q(oe)&&"@id"in oe)return oe["@id"]}const ae=O.indexOf(":");if(ae>0){const oe=O.substr(0,ae),te=O.substr(ae+1);if("_"===oe||0===te.indexOf("//"))return O;E&&E.hasOwnProperty(oe)&&P.createTermDefinition({activeCtx:I,localCtx:E,term:oe,defined:$,options:Z});const Te=I.mappings.get(oe);if(Te&&Te._prefix)return Te["@id"]+te;if(C(O))return O}if(K.vocab&&"@vocab"in I)return I["@vocab"]+O;if(K.base&&"@base"in I){if(I["@base"])return T(T(Z.base,I["@base"]),O)}else if(K.base)return T(Z.base,O);return O}function ue(I,O){if(!I||"object"!=typeof I||!O||"object"!=typeof O)return I===O;const K=Array.isArray(I);if(K!==Array.isArray(O))return!1;if(K){if(I.length!==O.length)return!1;for(let Z=0;Z{if(E.has(K)){if(E.get(K))return;throw new j("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:O,term:K})}let ae;if(E.set(K,!1),O.hasOwnProperty(K)&&(ae=O[K]),"@type"===K&&Q(ae)&&"@set"===(ae["@container"]||"@set")&&P.processingMode(I,1.1)){const Oe=["@container","@id","@protected"],$e=Object.keys(ae);if(0===$e.length||$e.some(st=>!Oe.includes(st)))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:O,term:K})}else{if(P.isKeyword(K))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:O,term:K});if(K.match(z))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:K});if(""===K)throw new j("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:O})}const oe=I.mappings.get(K);I.mappings.has(K)&&I.mappings.delete(K);let te=!1;if((H(ae)||null===ae)&&(te=!0,ae={"@id":ae}),!Q(ae))throw new j("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:O});const Te={};I.mappings.set(K,Te),Te.reverse=!1;const me=["@container","@id","@language","@reverse","@type"];P.processingMode(I,1.1)&&me.push("@context","@direction","@index","@nest","@prefix","@protected");for(const Oe in ae)if(!me.includes(Oe))throw new j("Invalid JSON-LD syntax; a term definition must not contain "+Oe,"jsonld.SyntaxError",{code:"invalid term definition",context:O});const ne=K.indexOf(":");if(Te._termHasColon=ne>0,"@reverse"in ae){if("@id"in ae)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});if("@nest"in ae)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});const Oe=ae["@reverse"];if(!H(Oe))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(!P.isKeyword(Oe)&&Oe.match(z))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:Oe}),void(oe?I.mappings.set(K,oe):I.mappings.delete(K));const $e=X(I,Oe,{vocab:!0,base:!1},O,E,$);if(!C($e))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});Te["@id"]=$e,Te.reverse=!0}else if("@id"in ae){let Oe=ae["@id"];if(Oe&&!H(Oe))throw new j("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(null===Oe)Te["@id"]=null;else{if(!P.isKeyword(Oe)&&Oe.match(z))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:Oe}),void(oe?I.mappings.set(K,oe):I.mappings.delete(K));if(Oe!==K){if(Oe=X(I,Oe,{vocab:!0,base:!1},O,E,$),!C(Oe)&&!P.isKeyword(Oe))throw new j("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(K.match(/(?::[^:])|\//)&&X(I,K,{vocab:!0,base:!1},O,new Map(E).set(K,!0),$)!==Oe)throw new j("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});Te["@id"]=Oe,Te._prefix=te&&!Te._termHasColon&&Oe.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in Te))if(Te._termHasColon){const Oe=K.substr(0,ne);if(O.hasOwnProperty(Oe)&&P.createTermDefinition({activeCtx:I,localCtx:O,term:Oe,defined:E,options:$}),I.mappings.has(Oe)){const $e=K.substr(ne+1);Te["@id"]=I.mappings.get(Oe)["@id"]+$e}else Te["@id"]=K}else if("@type"===K)Te["@id"]=K;else{if(!("@vocab"in I))throw new j("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O,term:K});Te["@id"]=I["@vocab"]+K}if((!0===ae["@protected"]||!0===E.get("@protected")&&!1!==ae["@protected"])&&(I.protected[K]=!0,Te.protected=!0),E.set(K,!0),"@type"in ae){let Oe=ae["@type"];if(!H(Oe))throw new j("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:O});if("@json"===Oe||"@none"===Oe){if(P.processingMode(I,1))throw new j(`Invalid JSON-LD syntax; an @context @type value must not be "${Oe}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:O})}else if("@id"!==Oe&&"@vocab"!==Oe){if(Oe=X(I,Oe,{vocab:!0,base:!1},O,E,$),!C(Oe))throw new j("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:O});if(0===Oe.indexOf("_:"))throw new j("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:O})}Te["@type"]=Oe}if("@container"in ae){const Oe=H(ae["@container"])?[ae["@container"]]:ae["@container"]||[],$e=["@list","@set","@index","@language"];let st=!0;const Qe=Oe.includes("@set");if(P.processingMode(I,1.1)){if($e.push("@graph","@id","@type"),Oe.includes("@list")){if(1!==Oe.length)throw new j("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:O})}else if(Oe.includes("@graph")){if(Oe.some(tt=>"@graph"!==tt&&"@id"!==tt&&"@index"!==tt&&"@set"!==tt))throw new j("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:O})}else st&=Oe.length<=(Qe?2:1);if(Oe.includes("@type")&&(Te["@type"]=Te["@type"]||"@id",!["@id","@vocab"].includes(Te["@type"])))throw new j("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:O})}else st&=!k(ae["@container"]),st&=Oe.length<=1;if(st&=Oe.every(tt=>$e.includes(tt)),st&=!(Qe&&Oe.includes("@list")),!st)throw new j("Invalid JSON-LD syntax; @context @container value must be one of the following: "+$e.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:O});if(Te.reverse&&!Oe.every(tt=>["@index","@set"].includes(tt)))throw new j("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});Te["@container"]=Oe}if("@index"in ae){if(!("@container"in ae)||!Te["@container"].includes("@index"))throw new j(`Invalid JSON-LD syntax; @index without @index in @container: "${ae["@index"]}" on term "${K}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:O});if(!H(ae["@index"])||0===ae["@index"].indexOf("@"))throw new j(`Invalid JSON-LD syntax; @index must expand to an IRI: "${ae["@index"]}" on term "${K}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:O});Te["@index"]=ae["@index"]}if("@context"in ae&&(Te["@context"]=ae["@context"]),"@language"in ae&&!("@type"in ae)){let Oe=ae["@language"];if(null!==Oe&&!H(Oe))throw new j("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:O});null!==Oe&&(Oe=Oe.toLowerCase()),Te["@language"]=Oe}if("@prefix"in ae){if(K.match(/:|\//))throw new j("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:O});if(P.isKeyword(Te["@id"]))throw new j("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:O});if("boolean"!=typeof ae["@prefix"])throw new j("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:O});Te._prefix=!0===ae["@prefix"]}if("@direction"in ae){const Oe=ae["@direction"];if(null!==Oe&&"ltr"!==Oe&&"rtl"!==Oe)throw new j('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:O});Te["@direction"]=Oe}if("@nest"in ae){const Oe=ae["@nest"];if(!H(Oe)||"@nest"!==Oe&&0===Oe.indexOf("@"))throw new j("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:O});Te["@nest"]=Oe}const ye=Te["@id"];if("@context"===ye||"@preserve"===ye)throw new j("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:O});if(oe&&oe.protected&&!Z&&(I.protected[K]=!0,Te.protected=!0,!ue(oe,Te))){const Oe=$&&$.protectedMode||"error";if("error"===Oe)throw new j(`Invalid JSON-LD syntax; tried to redefine "${K}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:O,term:K});if("warn"===Oe)return void console.warn("WARNING: protected term redefinition",{term:K});throw new j("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:O,term:K,protectedMode:Oe})}},P.expandIri=(I,O,K,E)=>X(I,O,K,void 0,void 0,E),P.getInitialContext=I=>{const O=JSON.stringify({processingMode:I.processingMode}),K=S.get(O);if(K)return K;const E={processingMode:I.processingMode,mappings:new Map,inverse:null,getInverse:function(){const Te=this;if(Te.inverse)return Te.inverse;const me=Te.inverse={},ne=Te.fastCurieMap={},ye={},Oe=(Te["@language"]||"@none").toLowerCase(),$e=Te["@direction"],st=Te.mappings,Qe=[...st.keys()].sort(y);for(const tt of Qe){const Xe=st.get(tt);if(null===Xe)continue;let ze=Xe["@container"]||"@none";if(ze=[].concat(ze).sort().join(""),null===Xe["@id"])continue;const Le=b(Xe["@id"]);for(const Ke of Le){let Me=me[Ke];const Ue=P.isKeyword(Ke);if(Me)!Ue&&!Xe._termHasColon&&ye[Ke].push(tt);else if(me[Ke]=Me={},!Ue&&!Xe._termHasColon){ye[Ke]=[tt];const qe={iri:Ke,terms:ye[Ke]};Ke[0]in ne?ne[Ke[0]].push(qe):ne[Ke[0]]=[qe]}if(Me[ze]||(Me[ze]={"@language":{},"@type":{},"@any":{}}),Me=Me[ze],ae(tt,Me["@any"],"@none"),Xe.reverse)ae(tt,Me["@type"],"@reverse");else if("@none"===Xe["@type"])ae(tt,Me["@any"],"@none"),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none");else if("@type"in Xe)ae(tt,Me["@type"],Xe["@type"]);else if("@language"in Xe&&"@direction"in Xe){const qe=Xe["@language"],ke=Xe["@direction"];ae(tt,Me["@language"],qe&&ke?`${qe}_${ke}`.toLowerCase():qe?qe.toLowerCase():ke?`_${ke}`:"@null")}else"@language"in Xe?ae(tt,Me["@language"],(Xe["@language"]||"@null").toLowerCase()):"@direction"in Xe?ae(tt,Me["@language"],Xe["@direction"]?`_${Xe["@direction"]}`:"@none"):$e?(ae(tt,Me["@language"],`_${$e}`),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none")):(ae(tt,Me["@language"],Oe),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none"))}}for(const tt in ne)Z(ne,tt,1);return me},clone:function(){const Te={};return Te.mappings=W.clone(this.mappings),Te.clone=this.clone,Te.inverse=null,Te.getInverse=this.getInverse,Te.protected=W.clone(this.protected),this.previousContext&&(Te.previousContext=this.previousContext.clone()),Te.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(Te["@base"]=this["@base"]),"@language"in this&&(Te["@language"]=this["@language"]),"@vocab"in this&&(Te["@vocab"]=this["@vocab"]),Te},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===S.size&&S.clear(),S.set(O,E),E;function Z(Te,me,ne){const ye=Te[me],Oe=Te[me]={};let $e,st;for(const Qe of ye)$e=Qe.iri,st=ne>=$e.length?"":$e[ne],st in Oe?Oe[st].push(Qe):Oe[st]=[Qe];for(const Qe in Oe)""!==Qe&&Z(Oe,Qe,ne+1)}function ae(Te,me,ne){me.hasOwnProperty(ne)||(me[ne]=Te)}},P.getContextValue=(I,O,K)=>{if(null===O)return"@context"===K?void 0:null;if(I.mappings.has(O)){const E=I.mappings.get(O);if(w(K))return E;if(E.hasOwnProperty(K))return E[K]}return"@language"===K&&K in I||"@direction"===K&&K in I?I[K]:"@context"!==K?null:void 0},P.processingMode=(I,O)=>O.toString()>="1.1"?!I.processingMode||I.processingMode>="json-ld-"+O.toString():"json-ld-1.0"===I.processingMode,P.isKeyword=I=>{if(!H(I)||"@"!==I[0])return!1;switch(I){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(Y,Se,he){"use strict";const{parseLinkHeader:W,buildHeaders:j}=Y("../util"),{LINK_HEADER_CONTEXT:k}=Y("../constants"),Q=Y("../JsonLdError"),H=Y("../RequestQueue"),{prependBase:w}=Y("../url"),C=/(^|(\r\n))link:/i;function R(T,b,y){const S=new(T=T||XMLHttpRequest);return new Promise((A,z)=>{S.onload=()=>A(S),S.onerror=P=>z(P),S.open("GET",b,!0);for(const P in y)S.setRequestHeader(P,y[P]);S.send()})}Se.exports=({secure:T,headers:b={},xhr:y}={headers:{}})=>{return b=j(b),(new H).wrapLoader(A);function A(P){return z.apply(this,arguments)}function z(){return(z=yt(function*(P){if(0!==P.indexOf("http:")&&0!==P.indexOf("https:"))throw new Q('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:P});if(T&&0!==P.indexOf("https"))throw new Q('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:P});let X;try{X=yield R(y,P,b)}catch(E){throw new Q("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:P,cause:E})}if(X.status>=400)throw new Q("URL could not be dereferenced: "+X.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:P,httpStatusCode:X.status});let ue={contextUrl:null,documentUrl:P,document:X.response},I=null;const O=X.getResponseHeader("Content-Type");let K;if(C.test(X.getAllResponseHeaders())&&(K=X.getResponseHeader("Link")),K&&"application/ld+json"!==O){const E=W(K),$=E[k];if(Array.isArray($))throw new Q("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:P});$&&(ue.contextUrl=$.target),I=E.alternate,I&&"application/ld+json"==I.type&&!(O||"").match(/^application\/(\w*\+)?json$/)&&(ue=yield A(w(P,I.target)))}return ue})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:k,isEmptyObject:Q,isString:H,isUndefined:w}=Y("./types"),{isList:C,isValue:R,isGraph:T,isSubject:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:A,process:z,processingMode:P}=Y("./context"),{isAbsolute:X}=Y("./url"),{addValue:ue,asArray:I,getValues:O,validateTypeValue:K}=Y("./util"),E={};Se.exports=E;const $=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function Z(ne){return ae.apply(this,arguments)}function ae(){return(ae=yt(function*({activeCtx:ne,activeProperty:ye,expandedActiveProperty:Oe,element:$e,expandedParent:st,options:Qe={},insideList:tt,typeKey:Xe,typeScopedContext:ze,expansionMap:Le}){const Ke=Object.keys($e).sort(),Me=[];let Ue;const qe=$e[Xe]&&"@json"===y(ne,j($e[Xe])?$e[Xe][0]:$e[Xe],{vocab:!0},Qe);for(const ke of Ke){let G,q=$e[ke];if("@context"===ke)continue;let pe=y(ne,ke,{vocab:!0},Qe);if((null===pe||!X(pe)&&!A(pe))&&(pe=Le({unmappedProperty:ke,activeCtx:ne,activeProperty:ye,parent:$e,options:Qe,insideList:tt,value:q,expandedParent:st}),void 0===pe))continue;if(A(pe)){if("@reverse"===Oe)throw new W("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:q});if(pe in st&&"@included"!==pe&&"@type"!==pe)throw new W("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:pe})}if("@id"===pe){if(!H(q)){if(!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(k(q)){if(!Q(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}else{if(!j(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(!q.every(pt=>H(pt)))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}}ue(st,"@id",I(q).map(pt=>H(pt)?y(ne,pt,{base:!0},Qe):pt),{propertyIsArray:Qe.isFrame});continue}if("@type"===pe){k(q)&&(q=Object.fromEntries(Object.entries(q).map(([pt,we])=>[y(ze,pt,{vocab:!0}),I(we).map(B=>y(ze,B,{base:!0,vocab:!0}))]))),K(q,Qe.isFrame),ue(st,"@type",I(q).map(pt=>H(pt)?y(ze,pt,{base:!0,vocab:!0},Qe):pt),{propertyIsArray:Qe.isFrame});continue}if("@included"===pe&&P(ne,1.1)){const pt=I(yield E.expand({activeCtx:ne,activeProperty:ye,element:q,options:Qe,expansionMap:Le}));if(!pt.every(we=>b(we)))throw new W("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:q});ue(st,"@included",pt,{propertyIsArray:!0});continue}if("@graph"===pe&&!k(q)&&!j(q))throw new W('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:q});if("@value"===pe){Ue=q,qe&&P(ne,1.1)?st["@value"]=q:ue(st,"@value",q,{propertyIsArray:Qe.isFrame});continue}if("@language"===pe){if(null===q)continue;if(!H(q)&&!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:q});q=I(q).map(pt=>H(pt)?pt.toLowerCase():pt);for(const pt of q)H(pt)&&!pt.match($)&&console.warn(`@language must be valid BCP47: ${pt}`);ue(st,"@language",q,{propertyIsArray:Qe.isFrame});continue}if("@direction"===pe){if(!H(q)&&!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:q});q=I(q);for(const pt of q)if(H(pt)&&"ltr"!==pt&&"rtl"!==pt)throw new W('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:q});ue(st,"@direction",q,{propertyIsArray:Qe.isFrame});continue}if("@index"===pe){if(!H(q))throw new W('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:q});ue(st,"@index",q);continue}if("@reverse"===pe){if(!k(q))throw new W('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:q});if(G=yield E.expand({activeCtx:ne,activeProperty:"@reverse",element:q,options:Qe,expansionMap:Le}),"@reverse"in G)for(const we in G["@reverse"])ue(st,we,G["@reverse"][we],{propertyIsArray:!0});let pt=st["@reverse"]||null;for(const we in G){if("@reverse"===we)continue;null===pt&&(pt=st["@reverse"]={}),ue(pt,we,[],{propertyIsArray:!0});const B=G[we];for(let N=0;N"@id"===pt||"@index"===pt)&&(G=I(G).map(pt=>({"@graph":I(pt)}))),de.mappings.has(ke)&&de.mappings.get(ke).reverse){const pt=st["@reverse"]=st["@reverse"]||{};G=I(G);for(let we=0;we"@value"===y(ne,pe,{vocab:!0},Qe)))throw new W("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:G});yield Z({activeCtx:ne,activeProperty:ye,expandedActiveProperty:Oe,element:G,expandedParent:st,options:Qe,insideList:tt,typeScopedContext:ze,typeKey:Xe,expansionMap:Le})}}})).apply(this,arguments)}function oe({activeCtx:ne,activeProperty:ye,value:Oe,options:$e}){if(null==Oe)return null;const st=y(ne,ye,{vocab:!0},$e);if("@id"===st)return y(ne,Oe,{base:!0},$e);if("@type"===st)return y(ne,Oe,{vocab:!0,base:!0},$e);const Qe=S(ne,ye,"@type");if(("@id"===Qe||"@graph"===st)&&H(Oe))return{"@id":y(ne,Oe,{base:!0},$e)};if("@vocab"===Qe&&H(Oe))return{"@id":y(ne,Oe,{vocab:!0,base:!0},$e)};if(A(st))return Oe;const tt={};if(Qe&&!["@id","@vocab","@none"].includes(Qe))tt["@type"]=Qe;else if(H(Oe)){const Xe=S(ne,ye,"@language");null!==Xe&&(tt["@language"]=Xe);const ze=S(ne,ye,"@direction");null!==ze&&(tt["@direction"]=ze)}return["boolean","number","string"].includes(typeof Oe)||(Oe=Oe.toString()),tt["@value"]=Oe,tt}function te(ne,ye,Oe,$e){const st=[],Qe=Object.keys(ye).sort();for(const tt of Qe){const Xe=y(ne,tt,{vocab:!0},$e);let ze=ye[tt];j(ze)||(ze=[ze]);for(const Le of ze){if(null===Le)continue;if(!H(Le))throw new W("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:ye});const Ke={"@value":Le};"@none"!==Xe&&(Ke["@language"]=tt.toLowerCase()),Oe&&(Ke["@direction"]=Oe),st.push(Ke)}}return st}function Te(ne){return me.apply(this,arguments)}function me(){return(me=yt(function*({activeCtx:ne,options:ye,activeProperty:Oe,value:$e,expansionMap:st,asGraph:Qe,indexKey:tt,propertyIndex:Xe}){const ze=[],Le=Object.keys($e).sort(),Ke="@type"===tt;for(let Me of Le){if(Ke){const ke=S(ne,Me,"@context");w(ke)||(ne=yield z({activeCtx:ne,localCtx:ke,propagate:!1,options:ye}))}let qe,Ue=$e[Me];j(Ue)||(Ue=[Ue]),Ue=yield E.expand({activeCtx:ne,activeProperty:Oe,element:Ue,options:ye,insideList:!1,insideIndex:!0,expansionMap:st}),qe=Xe?"@none"===Me?"@none":oe({activeCtx:ne,activeProperty:tt,value:Me,options:ye}):y(ne,Me,{vocab:!0},ye),"@id"===tt?Me=y(ne,Me,{base:!0},ye):Ke&&(Me=qe);for(let ke of Ue){if(Qe&&!T(ke)&&(ke={"@graph":[ke]}),"@type"===tt)"@none"===qe||(ke["@type"]=ke["@type"]?[Me].concat(ke["@type"]):[Me]);else{if(R(ke)&&!["@language","@type","@index"].includes(tt))throw new W(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${tt}".`,"jsonld.SyntaxError",{code:"invalid value object",value:ke});Xe?"@none"!==qe&&ue(ke,Xe,qe,{propertyIsArray:!0,prependValue:!0}):"@none"!==qe&&!(tt in ke)&&(ke[tt]=Me)}ze.push(ke)}}return ze})).apply(this,arguments)}E.expand=function(){var ne=yt(function*({activeCtx:ye,activeProperty:Oe=null,element:$e,options:st={},insideList:Qe=!1,insideIndex:tt=!1,typeScopedContext:Xe=null,expansionMap:ze=(()=>{})}){if(null==$e)return null;if("@default"===Oe&&(st=Object.assign({},st,{isFrame:!1})),!j($e)&&!k($e)){if(!Qe&&(null===Oe||"@graph"===y(ye,Oe,{vocab:!0},st))){const G=yield ze({unmappedValue:$e,activeCtx:ye,activeProperty:Oe,options:st,insideList:Qe});return void 0===G?null:G}return oe({activeCtx:ye,activeProperty:Oe,value:$e,options:st})}if(j($e)){let G=[];const pe=S(ye,Oe,"@container")||[];Qe=Qe||pe.includes("@list");for(let de=0;de<$e.length;++de){let je=yield E.expand({activeCtx:ye,activeProperty:Oe,element:$e[de],options:st,expansionMap:ze,insideIndex:tt,typeScopedContext:Xe});Qe&&j(je)&&(je={"@list":je}),(null!==je||(je=yield ze({unmappedValue:$e[de],activeCtx:ye,activeProperty:Oe,parent:$e,index:de,options:st,expandedParent:G,insideList:Qe}),void 0!==je))&&(j(je)?G=G.concat(je):G.push(je))}return G}const Le=y(ye,Oe,{vocab:!0},st),Ke=S(ye,Oe,"@context");Xe=Xe||(ye.previousContext?ye:null);let Me=Object.keys($e).sort(),Ue=!tt;if(Ue&&Xe&&Me.length<=2&&!Me.includes("@context"))for(const G of Me){const pe=y(Xe,G,{vocab:!0},st);if("@value"===pe){Ue=!1,ye=Xe;break}if("@id"===pe&&1===Me.length){Ue=!1;break}}Ue&&(ye=ye.revertToPreviousContext()),w(Ke)||(ye=yield z({activeCtx:ye,localCtx:Ke,propagate:!0,overrideProtected:!0,options:st})),"@context"in $e&&(ye=yield z({activeCtx:ye,localCtx:$e["@context"],options:st})),Xe=ye;let qe=null;for(const G of Me)if("@type"===y(ye,G,{vocab:!0},st)){qe=qe||G;const de=$e[G],je=Array.isArray(de)?de.length>1?de.slice().sort():de:[de];for(const _t of je){const pt=S(Xe,_t,"@context");w(pt)||(ye=yield z({activeCtx:ye,localCtx:pt,options:st,propagate:!1}))}}let ke={};yield Z({activeCtx:ye,activeProperty:Oe,expandedActiveProperty:Le,element:$e,expandedParent:ke,options:st,insideList:Qe,typeKey:qe,typeScopedContext:Xe,expansionMap:ze}),Me=Object.keys(ke);let q=Me.length;if("@value"in ke){if("@type"in ke&&("@language"in ke||"@direction"in ke))throw new W('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ke});let G=q-1;if("@type"in ke&&(G-=1),"@index"in ke&&(G-=1),"@language"in ke&&(G-=1),"@direction"in ke&&(G-=1),0!==G)throw new W('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ke});const pe=null===ke["@value"]?[]:I(ke["@value"]),de=O(ke,"@type");if(!P(ye,1.1)||!de.includes("@json")||1!==de.length)if(0===pe.length){const je=yield ze({unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==je?je:null}else{if(!pe.every(je=>H(je)||Q(je))&&"@language"in ke)throw new W("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:ke});if(!de.every(je=>X(je)&&!(H(je)&&0===je.indexOf("_:"))||Q(je)))throw new W('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:ke})}}else if("@type"in ke&&!j(ke["@type"]))ke["@type"]=[ke["@type"]];else if("@set"in ke||"@list"in ke){if(q>1&&(2!==q||!("@index"in ke)))throw new W('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:ke});"@set"in ke&&(ke=ke["@set"],Me=Object.keys(ke),q=Me.length)}else if(1===q&&"@language"in ke){const G=yield ze(ke,{unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==G?G:null}if(k(ke)&&!st.keepFreeFloatingNodes&&!Qe&&(null===Oe||"@graph"===Le)&&(0===q||"@value"in ke||"@list"in ke||1===q&&"@id"in ke)){const G=yield ze({unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==G?G:null}return ke});return function(ye){return ne.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(Y,Se,he){"use strict";const{isSubjectReference:W}=Y("./graphTypes"),{createMergedNodeMap:j}=Y("./nodeMap"),k={};Se.exports=k,k.flatten=Q=>{const H=j(Q),w=[],C=Object.keys(H).sort();for(let R=0;R=0;--ae){const oe=Z[ae];if(oe.graph===$&&oe.subject["@id"]===E["@id"])return!0}return!1}function S(E,$,Z){const ae="@"+Z;let oe=ae in E?E[ae][0]:$[Z];if("embed"===Z)if(!0===oe)oe="@once";else if(!1===oe)oe="@never";else if("@always"!==oe&&"@never"!==oe&&"@link"!==oe&&"@first"!==oe&&"@last"!==oe&&"@once"!==oe)throw new w("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:E});return oe}function A(E){if(!k.isArray(E)||1!==E.length||!k.isObject(E[0]))throw new w("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:E});if("@id"in E[0])for(const $ of Q.asArray(E[0]["@id"]))if(!k.isObject($)&&!H.isAbsolute($)||k.isString($)&&0===$.indexOf("_:"))throw new w("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E});if("@type"in E[0])for(const $ of Q.asArray(E[0]["@type"]))if(!k.isObject($)&&!H.isAbsolute($)||k.isString($)&&0===$.indexOf("_:"))throw new w("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E})}function P(E,$,Z,ae){let oe=!0,te=!1;for(const Te in Z){let me=!1;const ne=Q.getValues($,Te),ye=0===Q.getValues(Z,Te).length;if("@id"===Te){if(k.isEmptyObject(Z["@id"][0]||{})?me=!0:Z["@id"].length>=0&&(me=Z["@id"].includes(ne[0])),!ae.requireAll)return me}else if("@type"===Te){if(oe=!1,ye){if(ne.length>0)return!1;me=!0}else if(1===Z["@type"].length&&k.isEmptyObject(Z["@type"][0]))me=ne.length>0;else for(const Oe of Z["@type"])me=!(!k.isObject(Oe)||!("@default"in Oe))||me||ne.some($e=>$e===Oe);if(!ae.requireAll)return me}else{if(W(Te))continue;{const Oe=Q.getValues(Z,Te)[0];let $e=!1;if(Oe&&(A([Oe]),$e="@default"in Oe),oe=!1,0===ne.length&&$e)continue;if(ne.length>0&&ye)return!1;if(void 0===Oe){if(ne.length>0)return!1;me=!0}else if(j.isList(Oe)){const st=Oe["@list"][0];if(j.isList(ne[0])){const Qe=ne[0]["@list"];j.isValue(st)?me=Qe.some(tt=>K(st,tt)):(j.isSubject(st)||j.isSubjectReference(st))&&(me=Qe.some(tt=>O(E,st,tt,ae)))}}else me=j.isValue(Oe)?ne.some(st=>K(Oe,st)):j.isSubjectReference(Oe)?ne.some(st=>O(E,Oe,st,ae)):!!k.isObject(Oe)&&ne.length>0}}if(!me&&ae.requireAll)return!1;te=te||me}return oe||te}function X(E,$){const Z=E.uniqueEmbeds[E.graph],ae=Z[$],oe=ae.parent,te=ae.property,Te={"@id":$};if(k.isArray(oe)){for(let ne=0;ne{const ye=Object.keys(Z);for(const Oe of ye)Oe in Z&&k.isObject(Z[Oe].parent)&&Z[Oe].parent["@id"]===ne&&(delete Z[Oe],me(Oe))};me($)}function ue(E,$){if(k.isArray(E))return E.map(Z=>ue(Z,$));if(k.isObject(E)){if("@preserve"in E)return E["@preserve"][0];if(j.isValue(E))return E;if(j.isList(E))return E["@list"]=ue(E["@list"],$),E;if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const ae=$.link[Z].indexOf(E);if(-1!==ae)return $.link[Z][ae];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)"@id"===Z&&$.bnodesToClear.includes(E[Z])?delete E["@id"]:E[Z]=ue(E[Z],$)}return E}function I(E,$,Z){k.isObject(E)?Q.addValue(E,$,Z,{propertyIsArray:!0}):E.push(Z)}function O(E,$,Z,ae){if(!("@id"in Z))return!1;const oe=E.subjects[Z["@id"]];return oe&&P(E,oe,$,ae)}function K(E,$){const Z=$["@value"],ae=$["@type"],oe=$["@language"],te=E["@value"]?k.isArray(E["@value"])?E["@value"]:[E["@value"]]:[],Te=E["@type"]?k.isArray(E["@type"])?E["@type"]:[E["@type"]]:[],me=E["@language"]?k.isArray(E["@language"])?E["@language"]:[E["@language"]]:[];return 0===te.length&&0===Te.length&&0===me.length||!(!te.includes(Z)&&!k.isEmptyObject(te[0])||!(!ae&&0===Te.length||Te.includes(ae)||ae&&k.isEmptyObject(Te[0]))||!(!oe&&0===me.length||me.includes(oe)||oe&&k.isEmptyObject(me[0])))}Se.exports=T,T.frameMergedOrDefault=(E,$,Z)=>{const ae={options:Z,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},oe=new Q.IdentifierIssuer("_:b");C(E,ae.graphMap,"@default",oe),Z.merged&&(ae.graphMap["@merged"]=R(ae.graphMap),ae.graph="@merged"),ae.subjects=ae.graphMap[ae.graph];const te=[];return T.frame(ae,Object.keys(ae.subjects).sort(),$,te),Z.pruneBlankNodeIdentifiers&&(Z.bnodesToClear=Object.keys(ae.bnodeMap).filter(Te=>1===ae.bnodeMap[Te].length)),Z.link={},ue(te,Z)},T.frame=(E,$,Z,ae,oe=null)=>{A(Z);const te=E.options,Te={embed:S(Z=Z[0],te,"embed"),explicit:S(Z,te,"explicit"),requireAll:S(Z,te,"requireAll")};E.link.hasOwnProperty(E.graph)||(E.link[E.graph]={});const me=E.link[E.graph],ne=function(E,$,Z,ae){const oe={};for(const te of $){const Te=E.graphMap[E.graph][te];P(E,Te,Z,ae)&&(oe[te]=Te)}return oe}(E,$,Z,Te),ye=Object.keys(ne).sort();for(const Oe of ye){const $e=ne[Oe];if(null===oe?E.uniqueEmbeds={[E.graph]:{}}:E.uniqueEmbeds[E.graph]=E.uniqueEmbeds[E.graph]||{},"@link"===Te.embed&&Oe in me){I(ae,oe,me[Oe]);continue}const st={"@id":Oe};if(0===Oe.indexOf("_:")&&Q.addValue(E.bnodeMap,Oe,st,{propertyIsArray:!0}),me[Oe]=st,("@first"===Te.embed||"@last"===Te.embed)&&E.is11)throw new w("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:Z});if(E.embedded||!E.uniqueEmbeds[E.graph].hasOwnProperty(Oe)){if(E.embedded&&("@never"===Te.embed||y($e,E.graph,E.subjectStack))){I(ae,oe,st);continue}if(E.embedded&&("@first"==Te.embed||"@once"==Te.embed)&&E.uniqueEmbeds[E.graph].hasOwnProperty(Oe)){I(ae,oe,st);continue}if("@last"===Te.embed&&Oe in E.uniqueEmbeds[E.graph]&&X(E,Oe),E.uniqueEmbeds[E.graph][Oe]={parent:ae,property:oe},E.subjectStack.push({subject:$e,graph:E.graph}),Oe in E.graphMap){let Qe=!1,tt=null;"@graph"in Z?(tt=Z["@graph"][0],Qe=!("@merged"===Oe||"@default"===Oe),k.isObject(tt)||(tt={})):(Qe="@merged"!==E.graph,tt={}),Qe&&T.frame(Sn(ot({},E),{graph:Oe,embedded:!1}),Object.keys(E.graphMap[Oe]).sort(),[tt],st,"@graph")}"@included"in Z&&T.frame(Sn(ot({},E),{embedded:!1}),$,Z["@included"],st,"@included");for(const Qe of Object.keys($e).sort())if(W(Qe)){if(st[Qe]=Q.clone($e[Qe]),"@type"===Qe)for(const tt of $e["@type"])0===tt.indexOf("_:")&&Q.addValue(E.bnodeMap,tt,st,{propertyIsArray:!0})}else if(!Te.explicit||Qe in Z)for(const tt of $e[Qe]){const Xe=Qe in Z?Z[Qe]:b(Te);if(j.isList(tt)){const ze=Z[Qe]&&Z[Qe][0]&&Z[Qe][0]["@list"]?Z[Qe][0]["@list"]:b(Te),Le={"@list":[]};I(st,Qe,Le);const Ke=tt["@list"];for(const Me of Ke)j.isSubjectReference(Me)?T.frame(Sn(ot({},E),{embedded:!0}),[Me["@id"]],ze,Le,"@list"):I(Le,"@list",Q.clone(Me))}else j.isSubjectReference(tt)?T.frame(Sn(ot({},E),{embedded:!0}),[tt["@id"]],Xe,st,Qe):K(Xe[0],tt)&&I(st,Qe,Q.clone(tt))}for(const Qe of Object.keys(Z).sort()){if("@type"===Qe){if(!k.isObject(Z[Qe][0])||!("@default"in Z[Qe][0]))continue}else if(W(Qe))continue;const tt=Z[Qe][0]||{};if(!S(tt,te,"omitDefault")&&!(Qe in st)){let ze="@null";"@default"in tt&&(ze=Q.clone(tt["@default"])),k.isArray(ze)||(ze=[ze]),st[Qe]=[{"@preserve":ze}]}}for(const Qe of Object.keys(Z["@reverse"]||{}).sort()){const tt=Z["@reverse"][Qe];for(const Xe of Object.keys(E.subjects))Q.getValues(E.subjects[Xe],Qe).some(Le=>Le["@id"]===Oe)&&(st["@reverse"]=st["@reverse"]||{},Q.addValue(st["@reverse"],Qe,[],{propertyIsArray:!0}),T.frame(Sn(ot({},E),{embedded:!0}),[Xe],tt,st["@reverse"][Qe],oe))}I(ae,oe,st),E.subjectStack.pop()}}},T.cleanupNull=(E,$)=>{if(k.isArray(E))return E.map(ae=>T.cleanupNull(ae,$)).filter(ae=>ae);if("@null"===E)return null;if(k.isObject(E)){if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const ae=$.link[Z].indexOf(E);if(-1!==ae)return $.link[Z][ae];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)E[Z]=T.cleanupNull(E[Z],$)}return E}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),j=Y("./graphTypes"),k=Y("./types"),Q=Y("./util"),{RDF_LIST:H,RDF_FIRST:w,RDF_REST:C,RDF_NIL:R,RDF_TYPE:T,RDF_JSON_LITERAL:b,XSD_BOOLEAN:y,XSD_DOUBLE:S,XSD_INTEGER:A,XSD_STRING:z}=Y("./constants"),P=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,X={};function ue(I,O,K){if(I.termType.endsWith("Node"))return{"@id":I.value};const E={"@value":I.value};if(I.language)E["@language"]=I.language;else{let $=I.datatype.value;if($||($=z),$===b){$="@json";try{E["@value"]=JSON.parse(E["@value"])}catch(Z){throw new W("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:E["@value"],cause:Z})}}if(O){if($===y)"true"===E["@value"]?E["@value"]=!0:"false"===E["@value"]&&(E["@value"]=!1);else if(k.isNumeric(E["@value"]))if($===A){const Z=parseInt(E["@value"],10);Z.toFixed(0)===E["@value"]&&(E["@value"]=Z)}else $===S&&(E["@value"]=parseFloat(E["@value"]));[y,A,S,z].includes($)||(E["@type"]=$)}else if("i18n-datatype"===K&&$.startsWith("https://www.w3.org/ns/i18n#")){const[,Z,ae]=$.split(/[#_]/);Z.length>0&&(E["@language"]=Z,Z.match(P)||console.warn(`@language must be valid BCP47: ${Z}`)),E["@direction"]=ae}else $!==z&&(E["@type"]=$)}return E}Se.exports=X,X.fromRDF=function(){var I=yt(function*(O,{useRdfType:K=!1,useNativeTypes:E=!1,rdfDirection:$=null}){const Z={},ae={"@default":Z},oe={};for(const me of O){const ne="DefaultGraph"===me.graph.termType?"@default":me.graph.value;ne in ae||(ae[ne]={}),"@default"!==ne&&!(ne in Z)&&(Z[ne]={"@id":ne});const ye=ae[ne],Oe=me.subject.value,$e=me.predicate.value,st=me.object;Oe in ye||(ye[Oe]={"@id":Oe});const Qe=ye[Oe],tt=st.termType.endsWith("Node");if(tt&&!(st.value in ye)&&(ye[st.value]={"@id":st.value}),$e===T&&!K&&tt){Q.addValue(Qe,"@type",st.value,{propertyIsArray:!0});continue}const Xe=ue(st,E,$);if(Q.addValue(Qe,$e,Xe,{propertyIsArray:!0}),tt)if(st.value===R){const ze=ye[st.value];"usages"in ze||(ze.usages=[]),ze.usages.push({node:Qe,property:$e,value:Xe})}else oe[st.value]=!(st.value in oe)&&{node:Qe,property:$e,value:Xe}}for(const me in ae){const ne=ae[me];if(!(R in ne))continue;const ye=ne[R];if(ye.usages){for(let Oe of ye.usages){let $e=Oe.node,st=Oe.property,Qe=Oe.value;const tt=[],Xe=[];let ze=Object.keys($e).length;for(;st===C&&k.isObject(oe[$e["@id"]])&&k.isArray($e[w])&&1===$e[w].length&&k.isArray($e[C])&&1===$e[C].length&&(3===ze||4===ze&&k.isArray($e["@type"])&&1===$e["@type"].length&&$e["@type"][0]===H)&&(tt.push($e[w][0]),Xe.push($e["@id"]),Oe=oe[$e["@id"]],$e=Oe.node,st=Oe.property,Qe=Oe.value,ze=Object.keys($e).length,j.isBlankNode($e)););delete Qe["@id"],Qe["@list"]=tt.reverse();for(const Le of Xe)delete ne[Le]}delete ye.usages}}const te=[],Te=Object.keys(Z).sort();for(const me of Te){const ne=Z[me];if(me in ae){const ye=ne["@graph"]=[],Oe=ae[me],$e=Object.keys(Oe).sort();for(const st of $e){const Qe=Oe[st];j.isSubjectReference(Qe)||ye.push(Qe)}}j.isSubjectReference(ne)||te.push(ne)}return te});return function(O,K){return I.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.isSubject=k=>!(!W.isObject(k)||"@value"in k||"@set"in k||"@list"in k)&&(Object.keys(k).length>1||!("@id"in k)),j.isSubjectReference=k=>W.isObject(k)&&1===Object.keys(k).length&&"@id"in k,j.isValue=k=>W.isObject(k)&&"@value"in k,j.isList=k=>W.isObject(k)&&"@list"in k,j.isGraph=k=>W.isObject(k)&&"@graph"in k&&1===Object.keys(k).filter(Q=>"@id"!==Q&&"@index"!==Q).length,j.isSimpleGraph=k=>j.isGraph(k)&&!("@id"in k),j.isBlankNode=k=>!!W.isObject(k)&&("@id"in k?0===k["@id"].indexOf("_:"):0===Object.keys(k).length||!("@value"in k||"@set"in k||"@list"in k))},{"./types":30}],26:[function(Y,Se,he){const W=Y("rdf-canonize"),j=Y("./platform"),k=Y("./util"),Q=Y("./ContextResolver"),H=k.IdentifierIssuer,w=Y("./JsonLdError"),C=Y("lru-cache"),R=Y("./NQuads"),{expand:T}=Y("./expand"),{flatten:b}=Y("./flatten"),{fromRDF:y}=Y("./fromRdf"),{toRDF:S}=Y("./toRdf"),{frameMergedOrDefault:A,cleanupNull:z}=Y("./frame"),{isArray:P,isObject:X,isString:ue}=Y("./types"),{isSubjectReference:I}=Y("./graphTypes"),{expandIri:O,getInitialContext:K,process:E,processingMode:$}=Y("./context"),{compact:Z,compactIri:ae}=Y("./compact"),{createNodeMap:oe,createMergedNodeMap:te,mergeNodeMaps:Te}=Y("./nodeMap"),me=function(ye){const Oe={},st=new C({max:100});function Qe(tt,Le){var Ke=Le,{documentLoader:Xe=ye.documentLoader}=Ke,ze=Nq(Ke,["documentLoader"]);return Object.assign({},{documentLoader:Xe},ze,tt)}return ye.compact=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===ze)throw new w("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===Xe)return null;let Ke;(Le=Qe(Le,{base:ue(Xe)?Xe:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new H("_:b"),contextResolver:new Q({sharedCache:st})})).link&&(Le.skipExpansion=!0),Le.compactToRelative||delete Le.base,Ke=Le.skipExpansion?Xe:yield ye.expand(Xe,Le);const Me=yield ye.processContext(K(Le),ze,Le);let Ue=yield Z({activeCtx:Me,element:Ke,options:Le,compactionMap:Le.compactionMap});Le.compactArrays&&!Le.graph&&P(Ue)?1===Ue.length?Ue=Ue[0]:0===Ue.length&&(Ue={}):Le.graph&&X(Ue)&&(Ue=[Ue]),X(ze)&&"@context"in ze&&(ze=ze["@context"]),ze=k.clone(ze),P(ze)||(ze=[ze]);const qe=ze;ze=[];for(let q=0;q0)&&ze.push(qe[q]);const ke=ze.length>0;if(1===ze.length&&(ze=ze[0]),P(Ue)){const q=ae({activeCtx:Me,iri:"@graph",relativeTo:{vocab:!0}}),G=Ue;Ue={},ke&&(Ue["@context"]=ze),Ue[q]=G}else if(X(Ue)&&ke){const q=Ue;Ue={"@context":ze};for(const G in q)Ue[G]=q[G]}return Ue});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.expand=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(ze=Qe(ze,{keepFreeFloatingNodes:!1,contextResolver:new Q({sharedCache:st})})).expansionMap&&(ze.expansionMap=void 0);const Le={},Ke=[];if("expandContext"in ze){const ke=k.clone(ze.expandContext);Le.expandContext=X(ke)&&"@context"in ke?ke:{"@context":ke},Ke.push(Le.expandContext)}let Me;if(ue(Xe)){const ke=yield ye.get(Xe,ze);Me=ke.documentUrl,Le.input=ke.document,ke.contextUrl&&(Le.remoteContext={"@context":ke.contextUrl},Ke.push(Le.remoteContext))}else Le.input=k.clone(Xe);"base"in ze||(ze.base=Me||"");let Ue=K(ze);for(const ke of Ke)Ue=yield E({activeCtx:Ue,localCtx:ke,options:ze});let qe=yield T({activeCtx:Ue,element:Le.input,options:ze,expansionMap:ze.expansionMap});return X(qe)&&"@graph"in qe&&1===Object.keys(qe).length?qe=qe["@graph"]:null===qe&&(qe=[]),P(qe)||(qe=[qe]),qe});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.flatten=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");ze="function"==typeof ze?null:ze||null,Le=Qe(Le,{base:ue(Xe)?Xe:"",contextResolver:new Q({sharedCache:st})});const Ke=yield ye.expand(Xe,Le),Me=b(Ke);return null===ze?Me:(Le.graph=!0,Le.skipExpansion=!0,yield ye.compact(Me,ze,Le))});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.frame=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(Le=Qe(Le,{base:ue(Xe)?Xe:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new Q({sharedCache:st})}),ue(ze)){const de=yield ye.get(ze,Le);if(ze=de.document,de.contextUrl){let je=ze["@context"];je?P(je)?je.push(de.contextUrl):je=[je,de.contextUrl]:je=de.contextUrl,ze["@context"]=je}}const Ke=ze&&ze["@context"]||{},Me=yield ye.processContext(K(Le),Ke,Le);Le.hasOwnProperty("omitGraph")||(Le.omitGraph=$(Me,1.1)),Le.hasOwnProperty("pruneBlankNodeIdentifiers")||(Le.pruneBlankNodeIdentifiers=$(Me,1.1));const Ue=yield ye.expand(Xe,Le),qe=ot({},Le);qe.isFrame=!0,qe.keepFreeFloatingNodes=!0;const ke=yield ye.expand(ze,qe),q=Object.keys(ze).map(de=>O(Me,de,{vocab:!0}));qe.merged=!q.includes("@graph"),qe.is11=$(Me,1.1);const G=A(Ue,ke,qe);qe.graph=!Le.omitGraph,qe.skipExpansion=!0,qe.link={},qe.framing=!0;let pe=yield ye.compact(G,Ke,qe);return qe.link={},pe=z(pe,qe),pe});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.link=function(){var tt=yt(function*(Xe,ze,Le){const Ke={};return ze&&(Ke["@context"]=ze),Ke["@embed"]="@link",ye.frame(Xe,Ke,Le)});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.normalize=ye.canonize=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(ze=Qe(ze,{base:ue(Xe)?Xe:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new Q({sharedCache:st})}))){if("application/n-quads"!==ze.inputFormat&&"application/nquads"!==ze.inputFormat)throw new w("Unknown canonicalization input format.","jsonld.CanonizeError");const Me=R.parse(Xe);return W.canonize(Me,ze)}const Le=ot({},ze);delete Le.format,Le.produceGeneralizedRdf=!1;const Ke=yield ye.toRDF(Xe,Le);return W.canonize(Ke,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.fromRDF=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");ze=Qe(ze,{format:ue(Xe)?"application/n-quads":void 0});const{format:Le}=ze;let{rdfParser:Ke}=ze;if(Le){if(Ke=Ke||Oe[Le],!Ke)throw new w("Unknown input format.","jsonld.UnknownFormat",{format:Le})}else Ke=()=>Xe;const Me=yield Ke(Xe);return y(Me,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.toRDF=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let Le;Le=(ze=Qe(ze,{base:ue(Xe)?Xe:"",skipExpansion:!1,contextResolver:new Q({sharedCache:st})})).skipExpansion?Xe:yield ye.expand(Xe,ze);const Ke=S(Le,ze);if(ze.format){if("application/n-quads"===ze.format||"application/nquads"===ze.format)return R.serialize(Ke);throw new w("Unknown output format.","jsonld.UnknownFormat",{format:ze.format})}return Ke});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.createNodeMap=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");ze=Qe(ze,{base:ue(Xe)?Xe:"",contextResolver:new Q({sharedCache:st})});const Le=yield ye.expand(Xe,ze);return te(Le,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.merge=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!P(Xe))throw new TypeError('Could not merge, "docs" must be an array.');ze="function"==typeof ze?null:ze||null,Le=Qe(Le,{contextResolver:new Q({sharedCache:st})});const Ke=yield Promise.all(Xe.map(de=>{const je=ot({},Le);return ye.expand(de,je)}));let Me=!0;"mergeNodes"in Le&&(Me=Le.mergeNodes);const Ue=Le.issuer||new H("_:b"),qe={"@default":{}};for(let de=0;deye._documentLoader,set:tt=>ye._documentLoader=tt}),ye.documentLoader=function(){var tt=yt(function*(Xe){throw new w("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:Xe})});return function(Xe){return tt.apply(this,arguments)}}(),ye.get=function(){var tt=yt(function*(Xe,ze){let Le;Le="function"==typeof ze.documentLoader?ze.documentLoader:ye.documentLoader;const Ke=yield Le(Xe);try{if(!Ke.document)throw new w("No remote document found at the given URL.","jsonld.NullRemoteDocument");ue(Ke.document)&&(Ke.document=JSON.parse(Ke.document))}catch(Me){throw new w("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:Me,remoteDoc:Ke})}return Ke});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.processContext=function(){var tt=yt(function*(Xe,ze,Le){return Le=Qe(Le,{base:"",contextResolver:new Q({sharedCache:st})}),null===ze?K(Le):(ze=k.clone(ze),X(ze)&&"@context"in ze||(ze={"@context":ze}),E({activeCtx:Xe,localCtx:ze,options:Le}))});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.getContextValue=Y("./context").getContextValue,ye.documentLoaders={},ye.useDocumentLoader=function(tt){if(!(tt in ye.documentLoaders))throw new w('Unknown document loader type: "'+tt+'"',"jsonld.UnknownDocumentLoader",{type:tt});ye.documentLoader=ye.documentLoaders[tt].apply(ye,Array.prototype.slice.call(arguments,1))},ye.registerRDFParser=function(tt,Xe){Oe[tt]=Xe},ye.unregisterRDFParser=function(tt){delete Oe[tt]},ye.registerRDFParser("application/n-quads",R.parse),ye.registerRDFParser("application/nquads",R.parse),ye.url=Y("./url"),ye.util=k,Object.assign(ye,k),ye.promises=ye,ye.RequestQueue=Y("./RequestQueue"),ye.JsonLdProcessor=Y("./JsonLdProcessor")(ye),j.setupGlobals(ye),j.setupDocumentLoaders(ye),ye},ne=function(){return me(function(){return ne()})};me(ne),Se.exports=ne},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(Y,Se,he){"use strict";const{isKeyword:W}=Y("./context"),j=Y("./graphTypes"),k=Y("./types"),Q=Y("./util"),H=Y("./JsonLdError"),w={};Se.exports=w,w.createMergedNodeMap=(C,R)=>{const T=(R=R||{}).issuer||new Q.IdentifierIssuer("_:b"),b={"@default":{}};return w.createNodeMap(C,b,"@default",T),w.mergeNodeMaps(b)},w.createNodeMap=(C,R,T,b,y,S)=>{if(k.isArray(C)){for(const X of C)w.createNodeMap(X,R,T,b,void 0,S);return}if(!k.isObject(C))return void(S&&S.push(C));if(j.isValue(C)){if("@type"in C){let X=C["@type"];0===X.indexOf("_:")&&(C["@type"]=X=b.getId(X))}return void(S&&S.push(C))}if(S&&j.isList(C)){const X=[];return w.createNodeMap(C["@list"],R,T,b,y,X),void S.push({"@list":X})}if("@type"in C){const X=C["@type"];for(const ue of X)0===ue.indexOf("_:")&&b.getId(ue)}k.isUndefined(y)&&(y=j.isBlankNode(C)?b.getId(C["@id"]):C["@id"]),S&&S.push({"@id":y});const A=R[T],z=A[y]=A[y]||{};z["@id"]=y;const P=Object.keys(C).sort();for(let X of P){if("@id"===X)continue;if("@reverse"===X){const I={"@id":y},O=C["@reverse"];for(const K in O){const E=O[K];for(const $ of E){let Z=$["@id"];j.isBlankNode($)&&(Z=b.getId(Z)),w.createNodeMap($,R,T,b,Z),Q.addValue(A[Z],K,I,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===X){y in R||(R[y]={}),w.createNodeMap(C[X],R,y,b);continue}if("@included"===X){w.createNodeMap(C[X],R,T,b);continue}if("@type"!==X&&W(X)){if("@index"===X&&X in z&&(C[X]!==z[X]||C[X]["@id"]!==z[X]["@id"]))throw new H("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:z});z[X]=C[X];continue}const ue=C[X];if(0===X.indexOf("_:")&&(X=b.getId(X)),0!==ue.length)for(let I of ue)if("@type"===X&&(I=0===I.indexOf("_:")?b.getId(I):I),j.isSubject(I)||j.isSubjectReference(I)){if("@id"in I&&!I["@id"])continue;const O=j.isBlankNode(I)?b.getId(I["@id"]):I["@id"];Q.addValue(z,X,{"@id":O},{propertyIsArray:!0,allowDuplicate:!1}),w.createNodeMap(I,R,T,b,O)}else if(j.isValue(I))Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1});else if(j.isList(I)){const O=[];w.createNodeMap(I["@list"],R,T,b,y,O),I={"@list":O},Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1})}else w.createNodeMap(I,R,T,b,y),Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1});else Q.addValue(z,X,[],{propertyIsArray:!0})}},w.mergeNodeMapGraphs=C=>{const R={};for(const T of Object.keys(C).sort())for(const b of Object.keys(C[T]).sort()){const y=C[T][b];b in R||(R[b]={"@id":b});const S=R[b];for(const A of Object.keys(y).sort())if(W(A)&&"@type"!==A)S[A]=Q.clone(y[A]);else for(const z of y[A])Q.addValue(S,A,Q.clone(z),{propertyIsArray:!0,allowDuplicate:!1})}return R},w.mergeNodeMaps=C=>{const R=C["@default"],T=Object.keys(C).sort();for(const b of T){if("@default"===b)continue;const y=C[b];let S=R[b];S?"@graph"in S||(S["@graph"]=[]):R[b]=S={"@id":b,"@graph":[]};const A=S["@graph"];for(const z of Object.keys(y).sort()){const P=y[z];j.isSubjectReference(P)||A.push(P)}}return R}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(Y,Se,he){"use strict";const W=Y("./documentLoaders/xhr"),j={};Se.exports=j,j.setupDocumentLoaders=function(k){"undefined"!=typeof XMLHttpRequest&&(k.documentLoaders.xhr=W,k.useDocumentLoader("xhr"))},j.setupGlobals=function(k){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:k.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(Y,Se,he){"use strict";const{createNodeMap:W}=Y("./nodeMap"),{isKeyword:j}=Y("./context"),k=Y("./graphTypes"),Q=Y("canonicalize"),H=Y("./types"),w=Y("./util"),{RDF_FIRST:C,RDF_REST:R,RDF_NIL:T,RDF_TYPE:b,RDF_JSON_LITERAL:y,RDF_LANGSTRING:S,XSD_BOOLEAN:A,XSD_DOUBLE:z,XSD_INTEGER:P,XSD_STRING:X}=Y("./constants"),{isAbsolute:ue}=Y("./url"),I={};function O($,Z,ae,oe,te){const Te=Object.keys(Z).sort();for(const me of Te){const ne=Z[me],ye=Object.keys(ne).sort();for(let Oe of ye){const $e=ne[Oe];if("@type"===Oe)Oe=b;else if(j(Oe))continue;for(const st of $e){const Qe={termType:me.startsWith("_:")?"BlankNode":"NamedNode",value:me};if(!ue(me))continue;const tt={termType:Oe.startsWith("_:")?"BlankNode":"NamedNode",value:Oe};if(!ue(Oe)||"BlankNode"===tt.termType&&!te.produceGeneralizedRdf)continue;const Xe=E(st,oe,$,ae,te.rdfDirection);Xe&&$.push({subject:Qe,predicate:tt,object:Xe,graph:ae})}}}}function E($,Z,ae,oe,te){const Te={};if(k.isValue($)){Te.termType="Literal",Te.value=void 0,Te.datatype={termType:"NamedNode"};let me=$["@value"];const ne=$["@type"]||null;"@json"===ne?(Te.value=Q(me),Te.datatype.value=y):H.isBoolean(me)?(Te.value=me.toString(),Te.datatype.value=ne||A):H.isDouble(me)||ne===z?(H.isDouble(me)||(me=parseFloat(me)),Te.value=me.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Te.datatype.value=ne||z):H.isNumber(me)?(Te.value=me.toFixed(0),Te.datatype.value=ne||P):"i18n-datatype"===te&&"@direction"in $?(Te.datatype.value="https://www.w3.org/ns/i18n#"+($["@language"]||"")+`_${$["@direction"]}`,Te.value=me):"@language"in $?(Te.value=me,Te.datatype.value=ne||S,Te.language=$["@language"]):(Te.value=me,Te.datatype.value=ne||X)}else if(k.isList($)){const me=function($,Z,ae,oe,te){const Te={termType:"NamedNode",value:C},me={termType:"NamedNode",value:R},ne={termType:"NamedNode",value:T},ye=$.pop(),Oe=ye?{termType:"BlankNode",value:Z.getId()}:ne;let $e=Oe;for(const st of $){const Qe=E(st,Z,ae,oe,te),tt={termType:"BlankNode",value:Z.getId()};ae.push({subject:$e,predicate:Te,object:Qe,graph:oe}),ae.push({subject:$e,predicate:me,object:tt,graph:oe}),$e=tt}if(ye){const st=E(ye,Z,ae,oe,te);ae.push({subject:$e,predicate:Te,object:st,graph:oe}),ae.push({subject:$e,predicate:me,object:ne,graph:oe})}return Oe}($["@list"],Z,ae,oe,te);Te.termType=me.termType,Te.value=me.value}else{const me=H.isObject($)?$["@id"]:$;Te.termType=me.startsWith("_:")?"BlankNode":"NamedNode",Te.value=me}return"NamedNode"!==Te.termType||ue(Te.value)?Te:null}Se.exports=I,I.toRDF=($,Z)=>{const ae=new w.IdentifierIssuer("_:b"),oe={"@default":{}};W($,oe,"@default",ae);const te=[],Te=Object.keys(oe).sort();for(const me of Te){let ne;if("@default"===me)ne={termType:"DefaultGraph",value:""};else{if(!ue(me))continue;ne=me.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},ne.value=me}O(te,oe[me],ne,ae,Z)}return te}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(Y,Se,he){"use strict";const W={};Se.exports=W,W.isArray=Array.isArray,W.isBoolean=j=>"boolean"==typeof j||"[object Boolean]"===Object.prototype.toString.call(j),W.isDouble=j=>W.isNumber(j)&&(-1!==String(j).indexOf(".")||Math.abs(j)>=1e21),W.isEmptyObject=j=>W.isObject(j)&&0===Object.keys(j).length,W.isNumber=j=>"number"==typeof j||"[object Number]"===Object.prototype.toString.call(j),W.isNumeric=j=>!isNaN(parseFloat(j))&&isFinite(j),W.isObject=j=>"[object Object]"===Object.prototype.toString.call(j),W.isString=j=>"string"==typeof j||"[object String]"===Object.prototype.toString.call(j),W.isUndefined=j=>void 0===j},{}],31:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},j.parse=(Q,H)=>{const w={},C=j.parsers[H||"full"],R=C.regex.exec(Q);let T=C.keys.length;for(;T--;)w[C.keys[T]]=void 0===R[T]?null:R[T];return("https"===w.scheme&&"443"===w.port||"http"===w.scheme&&"80"===w.port)&&(w.href=w.href.replace(":"+w.port,""),w.authority=w.authority.replace(":"+w.port,""),w.port=null),w.normalizedPath=j.removeDotSegments(w.path),w},j.prependBase=(Q,H)=>{if(null===Q||j.isAbsolute(H))return H;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));const w=j.parse(H),C={protocol:Q.protocol||""};if(null!==w.authority)C.authority=w.authority,C.path=w.path,C.query=w.query;else if(C.authority=Q.authority,""===w.path)C.path=Q.path,C.query=null!==w.query?w.query:Q.query;else{if(0===w.path.indexOf("/"))C.path=w.path;else{let T=Q.path;T=T.substr(0,T.lastIndexOf("/")+1),(T.length>0||Q.authority)&&"/"!==T.substr(-1)&&(T+="/"),T+=w.path,C.path=T}C.query=w.query}""!==w.path&&(C.path=j.removeDotSegments(C.path));let R=C.protocol;return null!==C.authority&&(R+="//"+C.authority),R+=C.path,null!==C.query&&(R+="?"+C.query),null!==w.fragment&&(R+="#"+w.fragment),""===R&&(R="./"),R},j.removeBase=(Q,H)=>{if(null===Q)return H;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));let w="";if(""!==Q.href?w+=(Q.protocol||"")+"//"+(Q.authority||""):H.indexOf("//")&&(w+="//"),0!==H.indexOf(w))return H;const C=j.parse(H.substr(w.length)),R=Q.normalizedPath.split("/"),T=C.normalizedPath.split("/"),b=C.fragment||C.query?0:1;for(;R.length>0&&T.length>b&&R[0]===T[0];)R.shift(),T.shift();let y="";if(R.length>0){R.pop();for(let S=0;S{if(0===Q.length)return"";const H=Q.split("/"),w=[];for(;H.length>0;){const C=H.shift(),R=0===H.length;"."!==C?".."!==C?w.push(C):(w.pop(),R&&w.push("")):R&&w.push("")}return"/"===Q[0]&&w.length>0&&""!==w[0]&&w.unshift(""),1===w.length&&""===w[0]?"/":w.join("/")};const k=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;j.isAbsolute=Q=>W.isString(Q)&&k.test(Q),j.isRelative=Q=>W.isString(Q)},{"./types":30}],32:[function(Y,Se,he){"use strict";const W=Y("./graphTypes"),j=Y("./types"),k=Y("rdf-canonize").IdentifierIssuer,Q=Y("./JsonLdError"),H=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,w=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,C=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,R_headers={accept:"application/ld+json, application/json"},T={};function b(y,S){if(j.isArray(S))for(let A=0;A{if(Object.keys(y).some(A=>"accept"===A.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+R_headers.accept+'" is supported.');return Object.assign({Accept:R_headers.accept},y)},T.parseLinkHeader=y=>{const S={},A=y.match(H);for(let z=0;z{if(!(j.isString(y)||j.isArray(y)&&y.every(A=>j.isString(A)))){if(S&&j.isObject(y))switch(Object.keys(y).length){case 0:return;case 1:if("@default"in y&&T.asArray(y["@default"]).every(A=>j.isString(A)))return}throw new Q('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:y})}},T.hasProperty=(y,S)=>{if(y.hasOwnProperty(S)){const A=y[S];return!j.isArray(A)||A.length>0}return!1},T.hasValue=(y,S,A)=>{if(T.hasProperty(y,S)){let z=y[S];const P=W.isList(z);if(j.isArray(z)||P){P&&(z=z["@list"]);for(let X=0;X{if("propertyIsArray"in(z=z||{})||(z.propertyIsArray=!1),"valueIsArray"in z||(z.valueIsArray=!1),"allowDuplicate"in z||(z.allowDuplicate=!0),"prependValue"in z||(z.prependValue=!1),z.valueIsArray)y[S]=A;else if(j.isArray(A)){0===A.length&&z.propertyIsArray&&!y.hasOwnProperty(S)&&(y[S]=[]),z.prependValue&&(A=A.concat(y[S]),y[S]=[]);for(let P=0;P[].concat(y[S]||[]),T.removeProperty=(y,S)=>{delete y[S]},T.removeValue=(y,S,A,z)=>{"propertyIsArray"in(z=z||{})||(z.propertyIsArray=!1);const P=T.getValues(y,S).filter(X=>!T.compareValues(X,A));0===P.length?T.removeProperty(y,S):y[S]=1!==P.length||z.propertyIsArray?P:P[0]},T.relabelBlankNodes=(y,S)=>b((S=S||{}).issuer||new k("_:b"),y),T.compareValues=(y,S)=>!!(y===S||W.isValue(y)&&W.isValue(S)&&y["@value"]===S["@value"]&&y["@type"]===S["@type"]&&y["@language"]===S["@language"]&&y["@index"]===S["@index"])||!!(j.isObject(y)&&"@id"in y&&j.isObject(S)&&"@id"in S)&&y["@id"]===S["@id"],T.compareShortestLeast=(y,S)=>y.length1;const z=(K,E,$)=>{const Z=K[b].get(E);if(Z){const ae=Z.value;if(P(K,ae)){if(ue(K,Z),!K[H])return}else $&&(K[y]&&(Z.value.now=Date.now()),K[T].unshiftNode(Z));return ae.value}},P=(K,E)=>{if(!E||!E.maxAge&&!K[w])return!1;const $=Date.now()-E.now;return E.maxAge?$>E.maxAge:K[w]&&$>K[w]},X=K=>{if(K[k]>K[j])for(let E=K[T].tail;K[k]>K[j]&&null!==E;){const $=E.prev;ue(K,E),E=$}},ue=(K,E)=>{if(E){const $=E.value;K[C]&&K[C]($.key,$.value),K[k]-=$.length,K[b].delete($.key),K[T].removeNode(E)}};class I{constructor(E,$,Z,ae,oe){this.key=E,this.value=$,this.length=Z,this.now=ae,this.maxAge=oe||0}}const O=(K,E,$,Z)=>{let ae=$.value;P(K,ae)&&(ue(K,$),K[H]||(ae=void 0)),ae&&E.call(Z,ae.value,ae.key,K)};Se.exports=class{constructor(E){if("number"==typeof E&&(E={max:E}),E||(E={}),E.max&&("number"!=typeof E.max||E.max<0))throw new TypeError("max must be a non-negative number");this[j]=E.max||1/0;const Z=E.length||S;if(this[Q]="function"!=typeof Z?S:Z,this[H]=E.stale||!1,E.maxAge&&"number"!=typeof E.maxAge)throw new TypeError("maxAge must be a number");this[w]=E.maxAge||0,this[C]=E.dispose,this[R]=E.noDisposeOnSet||!1,this[y]=E.updateAgeOnGet||!1,this.reset()}set max(E){if("number"!=typeof E||E<0)throw new TypeError("max must be a non-negative number");this[j]=E||1/0,X(this)}get max(){return this[j]}set allowStale(E){this[H]=!!E}get allowStale(){return this[H]}set maxAge(E){if("number"!=typeof E)throw new TypeError("maxAge must be a non-negative number");this[w]=E,X(this)}get maxAge(){return this[w]}set lengthCalculator(E){"function"!=typeof E&&(E=S),E!==this[Q]&&(this[Q]=E,this[k]=0,this[T].forEach($=>{$.length=this[Q]($.value,$.key),this[k]+=$.length})),X(this)}get lengthCalculator(){return this[Q]}get length(){return this[k]}get itemCount(){return this[T].length}rforEach(E,$){$=$||this;for(let Z=this[T].tail;null!==Z;){const ae=Z.prev;O(this,E,Z,$),Z=ae}}forEach(E,$){$=$||this;for(let Z=this[T].head;null!==Z;){const ae=Z.next;O(this,E,Z,$),Z=ae}}keys(){return this[T].toArray().map(E=>E.key)}values(){return this[T].toArray().map(E=>E.value)}reset(){this[C]&&this[T]&&this[T].length&&this[T].forEach(E=>this[C](E.key,E.value)),this[b]=new Map,this[T]=new W,this[k]=0}dump(){return this[T].map(E=>!P(this,E)&&{k:E.key,v:E.value,e:E.now+(E.maxAge||0)}).toArray().filter(E=>E)}dumpLru(){return this[T]}set(E,$,Z){if((Z=Z||this[w])&&"number"!=typeof Z)throw new TypeError("maxAge must be a number");const ae=Z?Date.now():0,oe=this[Q]($,E);if(this[b].has(E)){if(oe>this[j])return ue(this,this[b].get(E)),!1;const me=this[b].get(E).value;return this[C]&&(this[R]||this[C](E,me.value)),me.now=ae,me.maxAge=Z,me.value=$,this[k]+=oe-me.length,me.length=oe,this.get(E),X(this),!0}const te=new I(E,$,oe,ae,Z);return te.length>this[j]?(this[C]&&this[C](E,$),!1):(this[k]+=te.length,this[T].unshift(te),this[b].set(E,this[T].head),X(this),!0)}has(E){if(!this[b].has(E))return!1;const $=this[b].get(E).value;return!P(this,$)}get(E){return z(this,E,!0)}peek(E){return z(this,E,!1)}pop(){const E=this[T].tail;return E?(ue(this,E),E.value):null}del(E){ue(this,this[b].get(E))}load(E){this.reset();const $=Date.now();for(let Z=E.length-1;Z>=0;Z--){const ae=E[Z],oe=ae.e||0;if(0===oe)this.set(ae.k,ae.v);else{const te=oe-$;te>0&&this.set(ae.k,ae.v,te)}}}prune(){this[b].forEach((E,$)=>z(this,$,!1))}}},{yallist:92}],34:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#",k="http://www.w3.org/2000/10/swap/";he.default={xsd:{decimal:`${j}decimal`,boolean:`${j}boolean`,double:`${j}double`,integer:`${j}integer`,string:`${j}string`},rdf:{type:`${W}type`,nil:`${W}nil`,first:`${W}first`,rest:`${W}rest`,langString:`${W}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${k}reify#forSome`,forAll:`${k}reify#forAll`},log:{implies:`${k}log#implies`}}},{}],35:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=he.Variable=he.Triple=he.Term=he.Quad=he.NamedNode=he.Literal=he.DefaultGraph=he.BlankNode=void 0,he.escapeQuotes=E,he.termFromId=function I(ne,ye){if(ye=ye||b,!ne)return ye.defaultGraph();switch(ne[0]){case"?":return ye.variable(ne.substr(1));case"_":return ye.blankNode(ne.substr(2));case'"':if(ye===b)return new z(ne);if('"'===ne[ne.length-1])return ye.literal(ne.substr(1,ne.length-2));const Oe=ne.lastIndexOf('"',ne.length-1);return ye.literal(ne.substr(1,Oe-1),"@"===ne[Oe+1]?ne.substr(Oe+2):ye.namedNode(ne.substr(Oe+3)));case"<":const $e=T.exec(ne);return ye.quad(I($($e[1]),ye),I($($e[2]),ye),I($($e[3]),ye),$e[4]&&I($($e[4]),ye));default:return ye.namedNode(ne)}},he.termToId=function O(ne){if("string"==typeof ne)return ne;if(ne instanceof S&&"Quad"!==ne.termType)return ne.id;if(!ne)return w.id;switch(ne.termType){case"NamedNode":return ne.value;case"BlankNode":return`_:${ne.value}`;case"Variable":return`?${ne.value}`;case"DefaultGraph":return"";case"Literal":return`"${ne.value}"${ne.language?`@${ne.language}`:ne.datatype&&ne.datatype.value!==H.string?`^^${ne.datatype.value}`:""}`;case"Quad":return`<<${E(O(ne.subject))} ${E(O(ne.predicate))} ${E(O(ne.object))}${(0,j.isDefaultGraph)(ne.graph)?"":` ${O(ne.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${ne.termType}`)}},he.unescapeQuotes=$;var ne,W=(ne=Y("./IRIs"))&&ne.__esModule?ne:{default:ne},j=Y("./N3Util");const{rdf:Q,xsd:H}=W.default;let w,C=0;const R=/^"(.*".*)(?="[^"]*$)/,T=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,b={namedNode:function(ne){return new A(ne)},blankNode:function(ne){return new P(ne||"n3-"+C++)},variable:function(ne){return new X(ne)},literal:function(ne,ye){if("string"==typeof ye)return new z(`"${ne}"@${ye.toLowerCase()}`);let Oe=ye?ye.value:"";return""===Oe&&("boolean"==typeof ne?Oe=H.boolean:"number"==typeof ne&&(Number.isFinite(ne)?Oe=Number.isInteger(ne)?H.integer:H.double:(Oe=H.double,Number.isNaN(ne)||(ne=ne>0?"INF":"-INF")))),new z(""===Oe||Oe===H.string?`"${ne}"`:`"${ne}"^^${Oe}`)},defaultGraph:function(){return w},quad:me,triple:me};he.default=b;class S{constructor(ye){this.id=ye}get value(){return this.id}equals(ye){return ye instanceof S?this.id===ye.id:!!ye&&this.termType===ye.termType&&this.value===ye.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}he.Term=S;class A extends S{get termType(){return"NamedNode"}}he.NamedNode=A;class z extends S{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const ye=this.id;let Oe=ye.lastIndexOf('"')+1;return Oe`"${Oe.replace(/"/g,'""')}`)}function $(ne){return ne.replace(R,(ye,Oe)=>`"${Oe.replace(/""/g,'"')}`)}function me(ne,ye,Oe,$e){return new K(ne,ye,Oe,$e)}he.Triple=he.Quad=K},{"./IRIs":34,"./N3Util":41}],36:[function(Y,Se,he){(function(W){(function(){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var j=Q(Y("./IRIs")),k=Q(Y("queue-microtask"));function Q(S){return S&&S.__esModule?S:{default:S}}const{xsd:H}=j.default,w=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,C={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},R=/[\x00-\x20<>\\"\{\}\|\^\`]/,T={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},b=/$0^/;he.default=class{constructor(A){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(A=A||{}).lineMode){this._n3Mode=!1;for(const z in this)!(z in T)&&this[z]instanceof RegExp&&(this[z]=b)}else this._n3Mode=!1!==A.n3;this._comments=!!A.comments,this._literalClosingPos=0}_tokenizeToEnd(A,z){let P=this._input,X=P.length;for(;;){let O,K;for(;O=this._newline.exec(P);)this._comments&&(K=this._comment.exec(O[0]))&&ue("comment",K[1],"",this._line,O[0].length),P=P.substr(O[0].length,P.length),X=P.length,this._line++;if(!O&&(O=this._whitespace.exec(P))&&(P=P.substr(O[0].length,P.length)),this._endOfFile.test(P))return z&&(this._comments&&(K=this._comment.exec(P))&&ue("comment",K[1],"",this._line,P.length),P=null,ue("eof","","",this._line,0)),this._input=P;const E=this._line,$=P[0];let Z="",ae="",oe="",te=null,Te=0,me=!1;switch($){case"^":if(P.length<3)break;if("^"!==P[1]){this._n3Mode&&(Te=1,Z="^");break}if(this._previousMarker="^^",P=P.substr(2),"<"!==P[0]){me=!0;break}case"<":if(te=this._unescapedIri.exec(P))Z="IRI",ae=te[1];else if(te=this._iri.exec(P)){if(ae=this._unescape(te[1]),null===ae||R.test(ae))return I(this);Z="IRI"}else P.length>1&&"<"===P[1]?(Z="<<",Te=2):this._n3Mode&&P.length>1&&"="===P[1]&&(Z="inverse",Te=2,ae=">");break;case">":P.length>1&&">"===P[1]&&(Z=">>",Te=2);break;case"_":((te=this._blank.exec(P))||z&&(te=this._blank.exec(`${P} `)))&&(Z="blank",oe="_",ae=te[1]);break;case'"':if(te=this._simpleQuotedString.exec(P))ae=te[1];else if(({value:ae,matchLength:Te}=this._parseLiteral(P)),null===ae)return I(this);(null!==te||0!==Te)&&(Z="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(te=this._simpleApostropheString.exec(P))ae=te[1];else if(({value:ae,matchLength:Te}=this._parseLiteral(P)),null===ae)return I(this);(null!==te||0!==Te)&&(Z="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(te=this._variable.exec(P))&&(Z="var",ae=te[0]);break;case"@":"literal"===this._previousMarker&&(te=this._langcode.exec(P))?(Z="langcode",ae=te[1]):(te=this._keyword.exec(P))&&(Z=te[0]);break;case".":if(1===P.length?z:P[1]<"0"||P[1]>"9"){Z=".",Te=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(te=this._number.exec(P)||z&&(te=this._number.exec(`${P} `)))&&(Z="literal",ae=te[0],oe="string"==typeof te[1]?H.double:"string"==typeof te[2]?H.decimal:H.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(te=this._sparqlKeyword.exec(P))?Z=te[0].toUpperCase():me=!0;break;case"f":case"t":(te=this._boolean.exec(P))?(Z="literal",ae=te[0],oe=H.boolean):me=!0;break;case"a":(te=this._shortPredicates.exec(P))?(Z="abbreviation",ae="a"):me=!0;break;case"=":this._n3Mode&&P.length>1&&(Z="abbreviation",">"!==P[1]?(Te=1,ae="="):(Te=2,ae=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(Te=1,Z=$);break;default:me=!0}if(me&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(te=this._prefix.exec(P))?((te=this._prefixed.exec(P))||z&&(te=this._prefixed.exec(`${P} `)))&&(Z="prefixed",oe=te[1]||"",ae=this._unescape(te[2])):(Z="prefix",ae=te[1]||"")),"^^"===this._previousMarker)switch(Z){case"prefixed":Z="type";break;case"IRI":Z="typeIRI";break;default:Z=""}if(!Z)return z||!/^'''|^"""/.test(P)&&/\n|\r/.test(P)?I(this):this._input=P;const ne=Te||te[0].length,ye=ue(Z,ae,oe,E,ne);this.previousToken=ye,this._previousMarker=Z,P=P.substr(ne,P.length)}function ue(O,K,E,$,Z){const ae=P?X-P.length:X,te={type:O,value:K,prefix:E,line:$,start:ae,end:ae+Z};return A(null,te),te}function I(O){A(O._syntaxError(/^\S*/.exec(P)[0]))}}_unescape(A){let z=!1;const P=A.replace(w,(X,ue,I,O)=>{if("string"==typeof ue)return String.fromCharCode(Number.parseInt(ue,16));if("string"==typeof I){let K=Number.parseInt(I,16);return K<=65535?String.fromCharCode(Number.parseInt(I,16)):String.fromCharCode(55296+((K-=65536)>>10),56320+(1023&K))}return O in C?C[O]:(z=!0,"")});return z?null:P}_parseLiteral(A){if(A.length>=3){const z=A.match(/^(?:"""|"|'''|'|)/)[0],P=z.length;let X=Math.max(this._literalClosingPos,P);for(;(X=A.indexOf(z,X))>0;){let ue=0;for(;"\\"===A[X-ue-1];)ue++;if(ue%2==0){const I=A.substring(P,X),O=I.split(/\r\n|\r|\n/).length-1,K=X+P;if(1===P&&0!==O||3===P&&this._lineMode)break;return this._line+=O,{value:this._unescape(I),matchLength:K}}X++}this._literalClosingPos=A.length-P+1}return{value:"",matchLength:0}}_syntaxError(A){this._input=null;const z=new Error(`Unexpected "${A}" on line ${this._line}.`);return z.context={token:void 0,line:this._line,previousToken:this.previousToken},z}_readStartingBom(A){return A.startsWith("\ufeff")?A.substr(1):A}tokenize(A,z){if(this._line=1,"string"==typeof A){if(this._input=this._readStartingBom(A),"function"!=typeof z){const P=[];let X;if(this._tokenizeToEnd((ue,I)=>ue?X=ue:P.push(I),!0),X)throw X;return P}(0,k.default)(()=>this._tokenizeToEnd(z,!0))}else this._pendingBuffer=null,"function"==typeof A.setEncoding&&A.setEncoding("utf8"),A.on("data",P=>{null!==this._input&&0!==P.length&&(this._pendingBuffer&&(P=W.concat([this._pendingBuffer,P]),this._pendingBuffer=null),128&P[P.length-1]?this._pendingBuffer=P:(void 0===this._input?this._input=this._readStartingBom("string"==typeof P?P:P.toString()):this._input+=P,this._tokenizeToEnd(z,!1)))}),A.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(z,!0)}),A.on("error",z)}}}).call(this)}).call(this,Y("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var W=Q(Y("./N3Lexer")),j=Q(Y("./N3DataFactory")),k=Q(Y("./IRIs"));function Q(T){return T&&T.__esModule?T:{default:T}}let H=0;class w{constructor(b){this._contextStack=[],this._graph=null,this._setBase((b=b||{}).baseIRI),b.factory&&R(this,b.factory);const y="string"==typeof b.format?b.format.match(/\w*$/)[0].toLowerCase():"",S=/turtle/.test(y),A=/trig/.test(y),z=/triple/.test(y),P=/quad/.test(y),X=this._n3Mode=/n3/.test(y),ue=z||P;(this._supportsNamedGraphs=!(S||X))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(S||A||z||X),this._supportsRDFStar=""===y||/star|\*$/.test(y),ue&&(this._resolveRelativeIRI=I=>null),this._blankNodePrefix="string"!=typeof b.blankNodePrefix?"":b.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=b.lexer||new W.default({lineMode:ue,n3:X}),this._explicitQuantifiers=!!b.explicitQuantifiers}static _resetBlankNodePrefix(){H=0}_setBase(b){if(b){const y=b.indexOf("#");y>=0&&(b=b.substr(0,y)),this._base=b,this._basePath=b.indexOf("/")<0?b:b.replace(/[^\/?]*(?:\?.*)?$/,""),b=b.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=b[0],this._baseScheme=b[1]}else this._base="",this._basePath=""}_saveContext(b,y,S,A,z){const P=this._n3Mode;this._contextStack.push({subject:S,predicate:A,object:z,graph:y,type:b,inverse:!!P&&this._inversePredicate,blankPrefix:P?this._prefixes._:"",quantified:P?this._quantified:null}),P&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const b=this._contextStack.pop(),y=this._n3Mode;this._subject=b.subject,this._predicate=b.predicate,this._object=b.object,this._graph=b.graph,y&&(this._inversePredicate=b.inverse,this._prefixes._=b.blankPrefix,this._quantified=b.quantified)}_readInTopContext(b){switch(b.type){case"eof":return null!==this._graph?this._error("Unclosed graph",b):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(b)}}_readEntity(b,y){let S;switch(b.type){case"IRI":case"typeIRI":const A=this._resolveIRI(b.value);if(null===A)return this._error("Invalid IRI",b);S=this._namedNode(A);break;case"type":case"prefixed":const z=this._prefixes[b.prefix];if(void 0===z)return this._error(`Undefined prefix "${b.prefix}:"`,b);S=this._namedNode(z+b.value);break;case"blank":S=this._blankNode(this._prefixes[b.prefix]+b.value);break;case"var":S=this._variable(b.value.substr(1));break;default:return this._error(`Expected entity but got ${b.type}`,b)}return!y&&this._n3Mode&&S.id in this._quantified&&(S=this._quantified[S.id]),S}_readSubject(b){switch(this._predicate=null,b.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",b);case"}":return this._readPunctuation(b);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',b);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',b);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",b);if(0===b.prefix.length)return this._literalValue=b.value,this._completeSubjectLiteral;this._subject=this._literal(b.value,this._namedNode(b.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._subject=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(b){const y=b.type;switch(y){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[b.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${y}`,b):(this._subject=null,"]"===y?this._readBlankNodeTail(b):this._readPunctuation(b));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",b);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",b);default:if(void 0===(this._predicate=this._readEntity(b)))return}return this._readObject}_readObject(b){switch(b.type){case"literal":if(0===b.prefix.length)return this._literalValue=b.value,this._readDataTypeOrLang;this._object=this._literal(b.value,this._namedNode(b.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._object=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(b){return"{"===b.type?this._readGraph(b):this._readPredicate(b)}_readGraph(b){return"{"!==b.type?this._error(`Expected graph but got ${b.type}`,b):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(b){return"]"===b.type?(this._subject=null,this._readBlankNodeTail(b)):(this._predicate=null,this._readPredicate(b))}_readBlankNodeTail(b){if("]"!==b.type)return this._readBlankNodePunctuation(b);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const y=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:y?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(b){switch(b.type){case".":case"}":return this._subject=null,this._readPunctuation(b);default:return this._readPredicate(b)}}_readListItem(b){let y=null,S=null,A=this._readListItem;const z=this._subject,P=this._contextStack,X=P[P.length-1];switch(b.type){case"[":this._saveContext("blank",this._graph,S=this._blankNode(),this.RDF_FIRST,this._subject=y=this._blankNode()),A=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,S=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==P.length&&"list"===P[P.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(A=this._readPredicate,this._subject===this.RDF_NIL)return A}else if(A=this._getContextEndReader(),this._object===this.RDF_NIL)return A;S=this.RDF_NIL;break;case"literal":0===b.prefix.length?(this._literalValue=b.value,A=this._readListItemDataTypeOrLang):(y=this._literal(b.value,this._namedNode(b.prefix)),A=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);default:if(void 0===(y=this._readEntity(b)))return}if(null===S&&(this._subject=S=this._blankNode()),null===z?null===X.predicate?X.subject=S:X.object=S:this._emit(z,this.RDF_REST,S,this._graph),null!==y){if(this._n3Mode&&("IRI"===b.type||"prefixed"===b.type))return this._saveContext("item",this._graph,S,this.RDF_FIRST,y),this._subject=y,this._predicate=null,this._getPathReader(this._readListItem);this._emit(S,this.RDF_FIRST,y,this._graph)}return A}_readDataTypeOrLang(b){return this._completeObjectLiteral(b,!1)}_readListItemDataTypeOrLang(b){return this._completeObjectLiteral(b,!0)}_completeLiteral(b){let y=this._literal(this._literalValue);switch(b.type){case"type":case"typeIRI":const S=this._readEntity(b);if(void 0===S)return;y=this._literal(this._literalValue,S),b=null;break;case"langcode":y=this._literal(this._literalValue,b.value),b=null}return{token:b,literal:y}}_completeSubjectLiteral(b){return this._subject=this._completeLiteral(b).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(b,y){const S=this._completeLiteral(b);if(S)return this._object=S.literal,y&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===S.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(S.token))}_readFormulaTail(b){return"}"!==b.type?this._readPunctuation(b):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(b){let y,S=this._graph;const A=this._subject,z=this._inversePredicate;switch(b.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",b);if(this._n3Mode)return this._readFormulaTail(b);this._graph=null;case".":this._subject=null,y=this._contextStack.length?this._readSubject:this._readInTopContext,z&&(this._inversePredicate=!1);break;case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(S=this._readEntity(b))){y=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}if(null!==A){const P=this._predicate,X=this._object;z?this._emit(X,P,A,S):this._emit(A,P,X,S)}return y}_readBlankNodePunctuation(b){let y;switch(b.type){case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}return this._emit(this._subject,this._predicate,this._object,this._graph),y}_readQuadPunctuation(b){return"."!==b.type?this._error("Expected dot to follow quad",b):this._readInTopContext}_readPrefix(b){return"prefix"!==b.type?this._error("Expected prefix to follow @prefix",b):(this._prefix=b.value,this._readPrefixIRI)}_readPrefixIRI(b){if("IRI"!==b.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,b);const y=this._readEntity(b);return this._prefixes[this._prefix]=y.value,this._prefixCallback(this._prefix,y),this._readDeclarationPunctuation}_readBaseIRI(b){const y="IRI"===b.type&&this._resolveIRI(b.value);return y?(this._setBase(y),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",b)}_readNamedGraphLabel(b){switch(b.type){case"IRI":case"blank":case"prefixed":return this._readSubject(b),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",b)}}_readNamedGraphBlankLabel(b){return"]"!==b.type?this._error("Invalid graph label",b):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(b){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(b)):"."!==b.type?this._error("Expected declaration to end with a dot",b):this._readInTopContext}_readQuantifierList(b){let y;switch(b.type){case"IRI":case"prefixed":if(void 0!==(y=this._readEntity(b,!0)))break;default:return this._error(`Unexpected ${b.type}`,b)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,y,this.QUANTIFIERS_GRAPH)):this._quantified[y.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(b){return","===b.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(b))}_getPathReader(b){return this._afterPath=b,this._readPath}_readPath(b){switch(b.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const y=this._contextStack,S=y.length&&y[y.length-1];if(S&&"item"===S.type){const A=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,A,this._graph)}return this._afterPath(b)}}_readForwardPath(b){let y,S;const A=this._blankNode();if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(y=this._subject,this._subject=A):(y=this._object,this._object=A),this._emit(y,S,A,this._graph),this._readPath}_readBackwardPath(b){const y=this._blankNode();let S,A;if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(A=this._subject,this._subject=y):(A=this._object,this._object=y),this._emit(y,S,A,this._graph),this._readPath}_readRDFStarTailOrGraph(b){return">>"!==b.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(b))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,b):this._readRDFStarTail(b)}_readRDFStarTail(b){if(">>"!==b.type)return this._error(`Expected >> but got ${b.type}`,b);const y=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=y,this._readPredicate):(this._object=y,this._getContextEndReader())}_getContextEndReader(){const b=this._contextStack;if(!b.length)return this._readPunctuation;switch(b[b.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(b,y,S,A){this._callback(null,this._quad(b,y,S,A||this.DEFAULTGRAPH))}_error(b,y){const S=new Error(`${b} on line ${y.line}.`);S.context={token:y,line:y.line,previousToken:this._lexer.previousToken},this._callback(S),this._callback=C}_resolveIRI(b){return/^[a-z][a-z0-9+.-]*:/i.test(b)?b:this._resolveRelativeIRI(b)}_resolveRelativeIRI(b){if(!b.length)return this._base;switch(b[0]){case"#":return this._base+b;case"?":return this._base.replace(/(?:\?.*)?$/,b);case"/":return("/"===b[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(b);default:return/^[^/:]*:/.test(b)?null:this._removeDotSegments(this._basePath+b)}}_removeDotSegments(b){if(!/(^|\/)\.\.?($|[/#?])/.test(b))return b;const y=b.length;let S="",A=-1,z=-1,P=0,X="/";for(;A=z&&(S=S.substr(0,P)),"/"!==X)return`${S}/${b.substr(A+1)}`;P=A+1}}}X=b[++A]}return S+b.substring(P)}parse(b,y,S){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${H++}_`,this._prefixCallback=S||C,this._inversePredicate=!1,this._quantified=Object.create(null),!y){const A=[];let z;if(this._callback=(P,X)=>{P?z=P:X&&A.push(X)},this._lexer.tokenize(b).every(P=>this._readCallback=this._readCallback(P)),z)throw z;return A}this._callback=y,this._lexer.tokenize(b,(A,z)=>{null!==A?(this._callback(A),this._callback=C):this._readCallback&&(this._readCallback=this._readCallback(z))})}}function C(){}function R(T,b){const y=b.namedNode;T._namedNode=y,T._blankNode=b.blankNode,T._literal=b.literal,T._variable=b.variable,T._quad=b.quad,T.DEFAULTGRAPH=b.defaultGraph(),T.RDF_FIRST=y(k.default.rdf.first),T.RDF_REST=y(k.default.rdf.rest),T.RDF_NIL=y(k.default.rdf.nil),T.N3_FORALL=y(k.default.r.forAll),T.N3_FORSOME=y(k.default.r.forSome),T.ABBREVIATIONS={a:y(k.default.rdf.type),"=":y(k.default.owl.sameAs),">":y(k.default.log.implies)},T.QUANTIFIERS_GRAPH=y("urn:n3:quantifiers")}he.default=w,R(w.prototype,j.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var b,W=function(b,y){if(!y&&b&&b.__esModule)return b;if(null===b||"object"!=typeof b&&"function"!=typeof b)return{default:b};var S=H(y);if(S&&S.has(b))return S.get(b);var A={},z=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var P in b)if("default"!==P&&Object.prototype.hasOwnProperty.call(b,P)){var X=z?Object.getOwnPropertyDescriptor(b,P):null;X&&(X.get||X.set)?Object.defineProperty(A,P,X):A[P]=b[P]}return A.default=b,S&&S.set(b,A),A}(Y("./N3DataFactory")),j=Y("readable-stream"),k=(b=Y("./IRIs"))&&b.__esModule?b:{default:b};function H(b){if("function"!=typeof WeakMap)return null;var y=new WeakMap,S=new WeakMap;return(H=function(A){return A?S:y})(b)}class C{constructor(y,S){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!S&&y&&!y[0]&&(S=y,y=null),this._factory=(S=S||{}).factory||W.default,y&&this.addQuads(y)}get size(){let y=this._size;if(null!==y)return y;y=0;const S=this._graphs;let A,z;for(const P in S)for(const X in A=S[P].subjects)for(const ue in z=A[X])y+=Object.keys(z[ue]).length;return this._size=y}_addToIndex(y,S,A,z){const P=y[S]||(y[S]={}),X=P[A]||(P[A]={}),ue=z in X;return ue||(X[z]=null),!ue}_removeFromIndex(y,S,A,z){const P=y[S],X=P[A];delete X[z];for(const ue in X)return;delete P[A];for(const ue in P)return;delete y[S]}*_findInIndex(y,S,A,z,P,X,ue,I){let O,K,E;const Z=!S+!A+!z>1?Object.keys(this._ids):this._entities,ae=(0,W.termFromId)(I,this._factory);S&&((O=y,y={})[S]=O[S]);for(const oe in y){const te=Z[oe];if(K=y[oe]){A&&((O=K,K={})[A]=O[A]);for(const Te in K){const me=Z[Te];if(E=K[Te]){const ne=z?z in E?[z]:[]:Object.keys(E);for(let ye=0;ye{A in S||(S[A]=!0,y((0,W.termFromId)(this._entities[A],this._factory)))}}add(y){return this.addQuad(y),this}addQuad(y,S,A,z){S||(z=y.graph,A=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),A=(0,W.termToId)(A),z=(0,W.termToId)(z);let P=this._graphs[z];P||(P=this._graphs[z]={subjects:{},predicates:{},objects:{}},Object.freeze(P));const X=this._ids,ue=this._entities;y=X[y]||(X[ue[++this._id]=y]=this._id),S=X[S]||(X[ue[++this._id]=S]=this._id),A=X[A]||(X[ue[++this._id]=A]=this._id);const I=this._addToIndex(P.subjects,y,S,A);return this._addToIndex(P.predicates,S,A,y),this._addToIndex(P.objects,A,y,S),this._size=null,I}addQuads(y){for(let S=0;S{this.addQuad(S)}),y}removeQuad(y,S,A,z){S||(z=y.graph,A=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),A=(0,W.termToId)(A),z=(0,W.termToId)(z);const P=this._ids,X=this._graphs;let ue,I,O;if(!((y=P[y])&&(S=P[S])&&(A=P[A])&&(ue=X[z])&&(I=ue.subjects[y])&&(O=I[S])&&A in O))return!1;for(y in this._removeFromIndex(ue.subjects,y,S,A),this._removeFromIndex(ue.predicates,S,A,y),this._removeFromIndex(ue.objects,A,y,S),null!==this._size&&this._size--,ue.subjects)return!0;return delete X[z],!0}removeQuads(y){for(let S=0;S{this.removeQuad(S)}),y}removeMatches(y,S,A,z){const P=new j.Readable({objectMode:!0});return P._read=()=>{for(const X of this.readQuads(y,S,A,z))P.push(X);P.push(null)},this.remove(P)}deleteGraph(y){return this.removeMatches(null,null,null,y)}getQuads(y,S,A,z){return[...this.readQuads(y,S,A,z)]}*readQuads(y,S,A,z){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._getGraphs(z),X=this._ids;let ue,I,O,K;if(!(R(y)&&!(I=X[y])||R(S)&&!(O=X[S])||R(A)&&!(K=X[A])))for(const E in P)(ue=P[E])&&(I?K?yield*this._findInIndex(ue.objects,K,I,O,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ue.subjects,I,O,null,"subject","predicate","object",E,null,!0):O?yield*this._findInIndex(ue.predicates,O,K,null,"predicate","object","subject",E,null,!0):K?yield*this._findInIndex(ue.objects,K,null,null,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ue.subjects,null,null,null,"subject","predicate","object",E,null,!0))}match(y,S,A,z){return new T(this,y,S,A,z)}countQuads(y,S,A,z){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._getGraphs(z),X=this._ids;let I,O,K,E,ue=0;if(R(y)&&!(O=X[y])||R(S)&&!(K=X[S])||R(A)&&!(E=X[A]))return 0;for(const $ in P)(I=P[$])&&(ue+=y?A?this._countInIndex(I.objects,E,O,K):this._countInIndex(I.subjects,O,K,E):S?this._countInIndex(I.predicates,K,E,O):this._countInIndex(I.objects,E,O,K));return ue}forEach(y,S,A,z,P){this.some(X=>(y(X),!1),S,A,z,P)}every(y,S,A,z,P){let X=!1;const ue=!this.some(I=>(X=!0,!y(I)),S,A,z,P);return X&&ue}some(y,S,A,z,P){for(const X of this.readQuads(S,A,z,P))if(y(X))return!0;return!1}getSubjects(y,S,A){const z=[];return this.forSubjects(P=>{z.push(P)},y,S,A),z}forSubjects(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.predicates,I,O,y):this._loopByKey1(ue.subjects,I,y):O?this._loopByKey0(ue.objects,O,y):this._loop(ue.subjects,y))}getPredicates(y,S,A){const z=[];return this.forPredicates(P=>{z.push(P)},y,S,A),z}forPredicates(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.objects,O,I,y):this._loopByKey0(ue.subjects,I,y):O?this._loopByKey1(ue.predicates,O,y):this._loop(ue.predicates,y))}getObjects(y,S,A){const z=[];return this.forObjects(P=>{z.push(P)},y,S,A),z}forObjects(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.subjects,I,O,y):this._loopByKey1(ue.objects,I,y):O?this._loopByKey0(ue.predicates,O,y):this._loop(ue.objects,y))}getGraphs(y,S,A){const z=[];return this.forGraphs(P=>{z.push(P)},y,S,A),z}forGraphs(y,S,A,z){for(const P in this._graphs)this.some(X=>(y(X.graph),!0),S,A,z,P)}createBlankNode(y){let S,A;if(y)for(S=y=`_:${y}`,A=1;this._ids[S];)S=y+A++;else do{S="_:b"+this._blankNodeIndex++}while(this._ids[S]);return this._ids[S]=++this._id,this._entities[this._id]=S,this._factory.blankNode(S.substr(2))}extractLists({remove:y=!1,ignoreErrors:S=!1}={}){const A={},z=S?()=>!0:(ue,I)=>{throw new Error(`${ue.value} ${I}`)},P=this.getQuads(null,k.default.rdf.rest,k.default.rdf.nil,null),X=y?[...P]:[];return P.forEach(ue=>{const I=[];let K,E,O=!1;const $=ue.graph;let Z=ue.subject;for(;Z&&!O;){const ae=this.getQuads(null,null,Z,null),oe=this.getQuads(Z,null,null,null);let te,Te=null,me=null,ne=null;for(let ye=0;ye{switch(b){case"data":R=y;break;case"end":T=y}}},(b,y)=>{b&&this.emit("error",b)||y&&this.push(y)},(b,y)=>{this.emit("prefix",b,y)}),this._transform=(b,y,S)=>{R(b),S()},this._flush=b=>{T(),b()}}import(w){return w.on("data",C=>{this.write(C)}),w.on("end",()=>{this.end()}),w.on("error",C=>{this.emit("error",C)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var H,W=Y("readable-stream"),j=(H=Y("./N3Writer"))&&H.__esModule?H:{default:H};he.default=class extends W.Transform{constructor(w){super({encoding:"utf8",writableObjectMode:!0});const C=this._writer=new j.default({write:(R,T,b)=>{this.push(R),b&&b()},end:R=>{this.push(null),R&&R()}},w);this._transform=(R,T,b)=>{C.addQuad(R,b)},this._flush=R=>{C.end(R)}}import(w){return w.on("data",C=>{this.write(C)}),w.on("end",()=>{this.end()}),w.on("error",C=>{this.emit("error",C)}),w.on("prefix",(C,R)=>{this._writer.addPrefix(C,R)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.inDefaultGraph=function(y){return C(y.graph)},he.isBlankNode=function(y){return!!y&&"BlankNode"===y.termType},he.isDefaultGraph=C,he.isLiteral=function(y){return!!y&&"Literal"===y.termType},he.isNamedNode=function(y){return!!y&&"NamedNode"===y.termType},he.isVariable=function(y){return!!y&&"Variable"===y.termType},he.prefix=function(y,S){return b({"":y.value||y},S)("")},he.prefixes=b;var y,W=(y=Y("./N3DataFactory"))&&y.__esModule?y:{default:y};function C(y){return!!y&&"DefaultGraph"===y.termType}function b(y,S){const A=Object.create(null);for(const P in y)z(P,y[P]);function z(P,X){if("string"==typeof X){const ue=Object.create(null);A[P]=I=>ue[I]||(ue[I]=S.namedNode(X+I))}else if(!(P in A))throw new Error(`Unknown prefix: ${P}`);return A[P]}return S=S||W.default,z}},{"./N3DataFactory":35}],42:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var ue,W=(ue=Y("./IRIs"))&&ue.__esModule?ue:{default:ue},j=function(ue,I){if(!I&&ue&&ue.__esModule)return ue;if(null===ue||"object"!=typeof ue&&"function"!=typeof ue)return{default:ue};var O=Q(I);if(O&&O.has(ue))return O.get(ue);var K={},E=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var $ in ue)if("default"!==$&&Object.prototype.hasOwnProperty.call(ue,$)){var Z=E?Object.getOwnPropertyDescriptor(ue,$):null;Z&&(Z.get||Z.set)?Object.defineProperty(K,$,Z):K[$]=ue[$]}return K.default=ue,O&&O.set(ue,K),K}(Y("./N3DataFactory")),k=Y("./N3Util");function Q(ue){if("function"!=typeof WeakMap)return null;var I=new WeakMap,O=new WeakMap;return(Q=function(K){return K?O:I})(ue)}const C=j.default.defaultGraph(),{rdf:R,xsd:T}=W.default,b=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,y=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,S={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class A extends j.Term{equals(){return!1}}function P(ue){let I=S[ue];return void 0===I&&(1===ue.length?(I=ue.charCodeAt(0).toString(16),I="\\u0000".substr(0,6-I.length)+I):(I=(1024*(ue.charCodeAt(0)-55296)+ue.charCodeAt(1)+9216).toString(16),I="\\U00000000".substr(0,10-I.length)+I)),I}function X(ue){return ue.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}he.default=class{constructor(I,O){if(this._prefixRegex=/$0^/,I&&"function"!=typeof I.write&&(O=I,I=null),this._lists=(O=O||{}).lists,I)this._outputStream=I,this._endStream=void 0===O.end||!!O.end;else{let K="";this._outputStream={write(E,$,Z){K+=E,Z&&Z()},end:E=>{E&&E(null,K)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(O.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=C,this._prefixIRIs=Object.create(null),O.prefixes&&this.addPrefixes(O.prefixes),O.baseIRI&&(this._baseMatcher=new RegExp(`^${X(O.baseIRI)}${O.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=O.baseIRI.length))}get _inDefaultGraph(){return C.equals(this._graph)}_write(I,O){this._outputStream.write(I,"utf8",O)}_writeQuad(I,O,K,E,$){try{E.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(C.equals(E)?"":`${this._encodeIriOrBlank(E)} {\n`)),this._graph=E,this._subject=null),I.equals(this._subject)?O.equals(this._predicate)?this._write(`, ${this._encodeObject(K)}`,$):this._write(`;\n ${this._encodePredicate(this._predicate=O)} ${this._encodeObject(K)}`,$):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=I)} ${this._encodePredicate(this._predicate=O)} ${this._encodeObject(K)}`,$)}catch(Z){$&&$(Z)}}_writeQuadLine(I,O,K,E,$){delete this._prefixMatch,this._write(this.quadToString(I,O,K,E),$)}quadToString(I,O,K,E){return`${this._encodeSubject(I)} ${this._encodeIriOrBlank(O)} ${this._encodeObject(K)}${E&&E.value?` ${this._encodeIriOrBlank(E)} .\n`:" .\n"}`}quadsToString(I){return I.map(O=>this.quadToString(O.subject,O.predicate,O.object,O.graph)).join("")}_encodeSubject(I){return"Quad"===I.termType?this._encodeQuad(I):this._encodeIriOrBlank(I)}_encodeIriOrBlank(I){if("NamedNode"!==I.termType)return this._lists&&I.value in this._lists&&(I=this.list(this._lists[I.value])),"id"in I?I.id:`_:${I.value}`;let O=I.value;this._baseMatcher&&this._baseMatcher.test(O)&&(O=O.substr(this._baseLength)),b.test(O)&&(O=O.replace(y,P));const K=this._prefixRegex.exec(O);return K?K[1]?this._prefixIRIs[K[1]]+K[2]:O:`<${O}>`}_encodeLiteral(I){let O=I.value;if(b.test(O)&&(O=O.replace(y,P)),I.language)return`"${O}"@${I.language}`;if(this._lineMode){if(I.datatype.value===T.string)return`"${O}"`}else switch(I.datatype.value){case T.string:return`"${O}"`;case T.boolean:if("true"===O||"false"===O)return O;break;case T.integer:if(/^[+-]?\d+$/.test(O))return O;break;case T.decimal:if(/^[+-]?\d*\.\d+$/.test(O))return O;break;case T.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(O))return O}return`"${O}"^^${this._encodeIriOrBlank(I.datatype)}`}_encodePredicate(I){return I.value===R.type?"a":this._encodeIriOrBlank(I)}_encodeObject(I){switch(I.termType){case"Quad":return this._encodeQuad(I);case"Literal":return this._encodeLiteral(I);default:return this._encodeIriOrBlank(I)}}_encodeQuad({subject:I,predicate:O,object:K,graph:E}){return`<<${this._encodeSubject(I)} ${this._encodePredicate(O)} ${this._encodeObject(K)}${(0,k.isDefaultGraph)(E)?"":` ${this._encodeIriOrBlank(E)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(I,O,K,E,$){void 0===K?this._writeQuad(I.subject,I.predicate,I.object,I.graph,O):"function"==typeof E?this._writeQuad(I,O,K,C,E):this._writeQuad(I,O,K,E||C,$)}addQuads(I){for(let O=0;O.\n`)}if(K){let E="",$="";for(const Z in this._prefixIRIs)E+=E?`|${Z}`:Z,$+=($?"|":"")+this._prefixIRIs[Z];E=X(E),this._prefixRegex=new RegExp(`^(?:${$})[^/]*$|^(${E})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(K?"\n":"",O)}blank(I,O){let E,$,K=I;switch(void 0===I?K=[]:I.termType?K=[{predicate:I,object:O}]:"length"in I||(K=[I]),$=K.length){case 0:return new A("[]");case 1:if(E=K[0],!(E.object instanceof A))return new A(`[ ${this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)} ]`);default:let Z="[";for(let ae=0;ae<$;ae++)E=K[ae],E.predicate.equals(I)?Z+=`, ${this._encodeObject(E.object)}`:(Z+=`${(ae?";\n ":"\n ")+this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)}`,I=E.predicate);return new A(`${Z}\n]`)}}list(I){const O=I&&I.length||0,K=new Array(O);for(let E=0;E{O=null,I(K,E)});if(this._endStream)try{return this._outputStream.end(O)}catch(K){}O&&O()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),Object.defineProperty(he,"BlankNode",{enumerable:!0,get:function(){return R.BlankNode}}),Object.defineProperty(he,"DataFactory",{enumerable:!0,get:function(){return R.default}}),Object.defineProperty(he,"DefaultGraph",{enumerable:!0,get:function(){return R.DefaultGraph}}),Object.defineProperty(he,"Lexer",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(he,"Literal",{enumerable:!0,get:function(){return R.Literal}}),Object.defineProperty(he,"NamedNode",{enumerable:!0,get:function(){return R.NamedNode}}),Object.defineProperty(he,"Parser",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(he,"Quad",{enumerable:!0,get:function(){return R.Quad}}),Object.defineProperty(he,"Store",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(he,"StreamParser",{enumerable:!0,get:function(){return H.default}}),Object.defineProperty(he,"StreamWriter",{enumerable:!0,get:function(){return w.default}}),Object.defineProperty(he,"Term",{enumerable:!0,get:function(){return R.Term}}),Object.defineProperty(he,"Triple",{enumerable:!0,get:function(){return R.Triple}}),he.Util=void 0,Object.defineProperty(he,"Variable",{enumerable:!0,get:function(){return R.Variable}}),Object.defineProperty(he,"Writer",{enumerable:!0,get:function(){return k.default}}),he.default=void 0,Object.defineProperty(he,"termFromId",{enumerable:!0,get:function(){return R.termFromId}}),Object.defineProperty(he,"termToId",{enumerable:!0,get:function(){return R.termToId}});var W=y(Y("./N3Lexer")),j=y(Y("./N3Parser")),k=y(Y("./N3Writer")),Q=y(Y("./N3Store")),H=y(Y("./N3StreamParser")),w=y(Y("./N3StreamWriter")),C=b(Y("./N3Util"));he.Util=C;var R=b(Y("./N3DataFactory"));function T(A){if("function"!=typeof WeakMap)return null;var z=new WeakMap,P=new WeakMap;return(T=function(X){return X?P:z})(A)}function b(A,z){if(!z&&A&&A.__esModule)return A;if(null===A||"object"!=typeof A&&"function"!=typeof A)return{default:A};var P=T(z);if(P&&P.has(A))return P.get(A);var X={},ue=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var I in A)if("default"!==I&&Object.prototype.hasOwnProperty.call(A,I)){var O=ue?Object.getOwnPropertyDescriptor(A,I):null;O&&(O.get||O.set)?Object.defineProperty(X,I,O):X[I]=A[I]}return X.default=A,P&&P.set(A,X),X}function y(A){return A&&A.__esModule?A:{default:A}}he.default={Lexer:W.default,Parser:j.default,Writer:k.default,Store:Q.default,StreamParser:H.default,StreamWriter:w.default,Util:C,DataFactory:R.default,Term:R.Term,NamedNode:R.NamedNode,Literal:R.Literal,BlankNode:R.BlankNode,Variable:R.Variable,DefaultGraph:R.DefaultGraph,Quad:R.Quad,Triple:R.Triple,termFromId:R.termFromId,termToId:R.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(Y,Se,he){var j,k,W=Se.exports={};function Q(){throw new Error("setTimeout has not been defined")}function H(){throw new Error("clearTimeout has not been defined")}function w(X){if(j===setTimeout)return setTimeout(X,0);if((j===Q||!j)&&setTimeout)return j=setTimeout,setTimeout(X,0);try{return j(X,0)}catch(ue){try{return j.call(null,X,0)}catch(I){return j.call(this,X,0)}}}!function(){try{j="function"==typeof setTimeout?setTimeout:Q}catch(X){j=Q}try{k="function"==typeof clearTimeout?clearTimeout:H}catch(X){k=H}}();var b,R=[],T=!1,y=-1;function S(){!T||!b||(T=!1,b.length?R=b.concat(R):y=-1,R.length&&A())}function A(){if(!T){var X=w(S);T=!0;for(var ue=R.length;ue;){for(b=R,R=[];++y1)for(var I=1;I(j||(j=Promise.resolve())).then(k).catch(Q=>setTimeout(()=>{throw Q},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(Y,Se,he){Se.exports=Y("./lib")},{"./lib":55}],47:[function(Y,Se,he){"use strict";Se.exports=class kq{constructor(j,k=new Map,Q=0){this.prefix=j,this._existing=k,this.counter=Q}clone(){const{prefix:j,_existing:k,counter:Q}=this;return new kq(j,new Map(k),Q)}getId(j){const k=j&&this._existing.get(j);if(k)return k;const Q=this.prefix+this.counter;return this.counter++,j&&this._existing.set(j,Q),Q}hasId(j){return this._existing.has(j)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(Y,Se,he){"use strict";Y("setimmediate");const W=self.crypto||self.msCrypto;Se.exports=class{constructor(k){if(!W||!W.subtle)throw new Error("crypto.subtle not found.");if("sha256"===k)this.algorithm={name:"SHA-256"};else{if("sha1"!==k)throw new Error(`Unsupport algorithm "${k}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(k){this._content+=k}digest(){var k=this;return yt(function*(){const Q=(new TextEncoder).encode(k._content),H=new Uint8Array(yield W.subtle.digest(k.algorithm,Q));let w="";for(let C=0;C]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),Se.exports=class nF{static parse(X){const ue=[],I={},O=X.split(T.eoln);let K=0;for(const E of O){if(K++,T.empty.test(E))continue;const $=E.match(T.quad);if(null===$)throw new Error("N-Quads parse error on line "+K+".");const Z={subject:null,predicate:null,object:null,graph:null};if(Z.subject=void 0!==$[1]?{termType:H,value:$[1]}:{termType:w,value:$[2]},Z.predicate={termType:H,value:$[3]},void 0!==$[4]?Z.object={termType:H,value:$[4]}:void 0!==$[5]?Z.object={termType:w,value:$[5]}:(Z.object={termType:C,value:void 0,datatype:{termType:H}},void 0!==$[7]?Z.object.datatype.value=$[7]:void 0!==$[8]?(Z.object.datatype.value=k,Z.object.language=$[8]):Z.object.datatype.value=Q,Z.object.value=$[6].replace(A,function(X,ue,I,O){if(ue)switch(ue){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(I)return String.fromCharCode(parseInt(I,16));if(O)throw new Error("Unsupported U escape")})),Z.graph=void 0!==$[9]?{termType:H,value:$[9]}:void 0!==$[10]?{termType:w,value:$[10]}:{termType:R,value:""},Z.graph.value in I){let ae=!0;const oe=I[Z.graph.value];for(const te of oe)if(b(te,Z)){ae=!1;break}ae&&(oe.push(Z),ue.push(Z))}else I[Z.graph.value]=[Z],ue.push(Z)}return ue}static serialize(X){Array.isArray(X)||(X=nF.legacyDatasetToQuads(X));const ue=[];for(const I of X)ue.push(nF.serializeQuad(I));return ue.sort().join("")}static serializeQuad(X){const ue=X.subject,O=X.object,K=X.graph;let E="";return E+=ue.termType===H?`<${ue.value}>`:`${ue.value}`,E+=` <${X.predicate.value}> `,O.termType===H?E+=`<${O.value}>`:O.termType===w?E+=O.value:(E+=`"${P=O.value,P.replace(y,function(X){switch(X){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,O.datatype.value===k?O.language&&(E+=`@${O.language}`):O.datatype.value!==Q&&(E+=`^^<${O.datatype.value}>`)),K.termType===H?E+=` <${K.value}>`:K.termType===w&&(E+=` ${K.value}`),E+=" .\n",E;var P}static legacyDatasetToQuads(X){const ue=[],I={"blank node":w,IRI:H,literal:C};for(const O in X)X[O].forEach(E=>{const $={};for(const Z in E){const ae=E[Z],oe={termType:I[ae.type],value:ae.value};oe.termType===C&&(oe.datatype={termType:H},"datatype"in ae&&(oe.datatype.value=ae.datatype),"language"in ae?("datatype"in ae||(oe.datatype.value=k),oe.language=ae.language):"datatype"in ae||(oe.datatype.value=Q)),$[Z]=oe}$.graph="@default"===O?{termType:R,value:""}:{termType:O.startsWith("_:")?w:H,value:O},ue.push($)});return ue}};const y=/["\\\n\r]/g;const A=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(Y,Se,he){"use strict";Se.exports=class{constructor(j){this.current=j.sort(),this.done=!1,this.dir=new Map;for(let k=0;kH)&&(b&&R>0&&T>j[R-1]||!b&&Rj[R+1])&&(H=T,w=R)}if(null===H)this.done=!0;else{const R=k.get(H)?w-1:w+1;j[w]=j[R],j[R]=H;for(const T of j)T>H&&k.set(T,!k.get(T))}return Q}}},{}],51:[function(Y,Se,he){(function(W){(function(){"use strict";const j=Y("./IdentifierIssuer"),k=Y("./MessageDigest"),Q=Y("./Permuter"),H=Y("./NQuads");function w(C,R){return C.hashR.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new j("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(R){var T=this;return yt(function*(){T.quads=R;for(const X of R)T._addBlankNodeQuadInfo({quad:X,component:X.subject}),T._addBlankNodeQuadInfo({quad:X,component:X.object}),T._addBlankNodeQuadInfo({quad:X,component:X.graph});const b=new Map,y=[...T.blankNodeInfo.keys()];let S=0;for(const X of y)++S%100==0&&(yield T._yield()),yield T._hashAndTrackBlankNode({id:X,hashToBlankNodes:b});const A=[...b.keys()].sort(),z=[];for(const X of A){const ue=b.get(X);ue.length>1?z.push(ue):T.canonicalIssuer.getId(ue[0])}for(const X of z){const ue=[];for(const I of X){if(T.canonicalIssuer.hasId(I))continue;const O=new j("_:b");O.getId(I);const K=yield T.hashNDegreeQuads(I,O);ue.push(K)}ue.sort(w);for(const I of ue){const O=I.issuer.getOldIds();for(const K of O)T.canonicalIssuer.getId(K)}}const P=[];for(const X of T.quads){const ue=ot({},X);ue.subject=T._useCanonicalId({component:ue.subject}),ue.object=T._useCanonicalId({component:ue.object}),ue.graph=T._useCanonicalId({component:ue.graph}),P.push(H.serializeQuad(ue))}return P.sort(),P.join("")})()}hashFirstDegreeQuads(R){var T=this;return yt(function*(){const b=[],y=T.blankNodeInfo.get(R),S=y.quads;for(const z of S){const P={subject:null,predicate:z.predicate,object:null,graph:null};P.subject=T.modifyFirstDegreeComponent(R,z.subject,"subject"),P.object=T.modifyFirstDegreeComponent(R,z.object,"object"),P.graph=T.modifyFirstDegreeComponent(R,z.graph,"graph"),b.push(H.serializeQuad(P))}b.sort();const A=new k(T.hashAlgorithm);for(const z of b)A.update(z);return y.hash=yield A.digest(),y.hash})()}hashRelatedBlankNode(R,T,b,y){var S=this;return yt(function*(){let A;A=S.canonicalIssuer.hasId(R)?S.canonicalIssuer.getId(R):b.hasId(R)?b.getId(R):S.blankNodeInfo.get(R).hash;const z=new k(S.hashAlgorithm);return z.update(y),"g"!==y&&z.update(S.getRelatedPredicate(T)),z.update(A),z.digest()})()}hashNDegreeQuads(R,T){var b=this;return yt(function*(){const y=new k(b.hashAlgorithm),S=yield b.createHashToRelated(R,T),A=[...S.keys()].sort();for(const z of A){y.update(z);let X,P="";const ue=new Q(S.get(z));let I=0;for(;ue.hasNext();){const O=ue.next();++I%3==0&&(yield b._yield());let K=T.clone(),E="";const $=[];let Z=!1;for(const ae of O)if(b.canonicalIssuer.hasId(ae)?E+=b.canonicalIssuer.getId(ae):(K.hasId(ae)||$.push(ae),E+=K.getId(ae)),0!==P.length&&E>P){Z=!0;break}if(!Z){for(const ae of $){const oe=yield b.hashNDegreeQuads(ae,K);if(E+=K.getId(ae),E+=`<${oe.hash}>`,K=oe.issuer,0!==P.length&&E>P){Z=!0;break}}Z||(0===P.length||E`}createHashToRelated(R,T){var b=this;return yt(function*(){const y=new Map,S=b.blankNodeInfo.get(R).quads;let A=0;for(const z of S)++A%100==0&&(yield b._yield()),yield Promise.all([b._addRelatedBlankNodeHash({quad:z,component:z.subject,position:"s",id:R,issuer:T,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:z,component:z.object,position:"o",id:R,issuer:T,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:z,component:z.graph,position:"g",id:R,issuer:T,hashToRelated:y})]);return y})()}_hashAndTrackBlankNode({id:R,hashToBlankNodes:T}){var b=this;return yt(function*(){const y=yield b.hashFirstDegreeQuads(R),S=T.get(y);S?S.push(R):T.set(y,[R])})()}_addBlankNodeQuadInfo({quad:R,component:T}){if("BlankNode"!==T.termType)return;const b=T.value,y=this.blankNodeInfo.get(b);y?y.quads.add(R):this.blankNodeInfo.set(b,{quads:new Set([R]),hash:null})}_addRelatedBlankNodeHash({quad:R,component:T,position:b,id:y,issuer:S,hashToRelated:A}){var z=this;return yt(function*(){if("BlankNode"!==T.termType||T.value===y)return;const P=T.value,X=yield z.hashRelatedBlankNode(P,R,S,b),ue=A.get(X);ue?ue.push(P):A.set(X,[P])})()}_useCanonicalId({component:R}){return"BlankNode"!==R.termType||R.value.startsWith(this.canonicalIssuer.prefix)?R:{termType:"BlankNode",value:this.canonicalIssuer.getId(R.value)}}_yield(){return yt(function*(){return new Promise(R=>W(R))})()}}}).call(this)}).call(this,Y("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(Y,Se,he){"use strict";const W=Y("./IdentifierIssuer"),j=Y("./MessageDigest"),k=Y("./Permuter"),Q=Y("./NQuads");function H(w,C){return w.hashC.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new W("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(C){this.quads=C;for(const A of C)this._addBlankNodeQuadInfo({quad:A,component:A.subject}),this._addBlankNodeQuadInfo({quad:A,component:A.object}),this._addBlankNodeQuadInfo({quad:A,component:A.graph});const R=new Map,T=[...this.blankNodeInfo.keys()];for(const A of T)this._hashAndTrackBlankNode({id:A,hashToBlankNodes:R});const b=[...R.keys()].sort(),y=[];for(const A of b){const z=R.get(A);z.length>1?y.push(z):this.canonicalIssuer.getId(z[0])}for(const A of y){const z=[];for(const P of A){if(this.canonicalIssuer.hasId(P))continue;const X=new W("_:b");X.getId(P);const ue=this.hashNDegreeQuads(P,X);z.push(ue)}z.sort(H);for(const P of z){const X=P.issuer.getOldIds();for(const ue of X)this.canonicalIssuer.getId(ue)}}const S=[];for(const A of this.quads){const z=ot({},A);z.subject=this._useCanonicalId({component:z.subject}),z.object=this._useCanonicalId({component:z.object}),z.graph=this._useCanonicalId({component:z.graph}),S.push(Q.serializeQuad(z))}return S.sort(),S.join("")}hashFirstDegreeQuads(C){const R=[],T=this.blankNodeInfo.get(C),b=T.quads;for(const S of b){const A={subject:null,predicate:S.predicate,object:null,graph:null};A.subject=this.modifyFirstDegreeComponent(C,S.subject,"subject"),A.object=this.modifyFirstDegreeComponent(C,S.object,"object"),A.graph=this.modifyFirstDegreeComponent(C,S.graph,"graph"),R.push(Q.serializeQuad(A))}R.sort();const y=new j(this.hashAlgorithm);for(const S of R)y.update(S);return T.hash=y.digest(),T.hash}hashRelatedBlankNode(C,R,T,b){let y;y=this.canonicalIssuer.hasId(C)?this.canonicalIssuer.getId(C):T.hasId(C)?T.getId(C):this.blankNodeInfo.get(C).hash;const S=new j(this.hashAlgorithm);return S.update(b),"g"!==b&&S.update(this.getRelatedPredicate(R)),S.update(y),S.digest()}hashNDegreeQuads(C,R){const T=new j(this.hashAlgorithm),b=this.createHashToRelated(C,R),y=[...b.keys()].sort();for(const S of y){T.update(S);let z,A="";const P=new k(b.get(S));for(;P.hasNext();){const X=P.next();let ue=R.clone(),I="";const O=[];let K=!1;for(const E of X)if(this.canonicalIssuer.hasId(E)?I+=this.canonicalIssuer.getId(E):(ue.hasId(E)||O.push(E),I+=ue.getId(E)),0!==A.length&&I>A){K=!0;break}if(!K){for(const E of O){const $=this.hashNDegreeQuads(E,ue);if(I+=ue.getId(E),I+=`<${$.hash}>`,ue=$.issuer,0!==A.length&&I>A){K=!0;break}}K||(0===A.length||I`}createHashToRelated(C,R){const T=new Map,b=this.blankNodeInfo.get(C).quads;for(const y of b)this._addRelatedBlankNodeHash({quad:y,component:y.subject,position:"s",id:C,issuer:R,hashToRelated:T}),this._addRelatedBlankNodeHash({quad:y,component:y.object,position:"o",id:C,issuer:R,hashToRelated:T}),this._addRelatedBlankNodeHash({quad:y,component:y.graph,position:"g",id:C,issuer:R,hashToRelated:T});return T}_hashAndTrackBlankNode({id:C,hashToBlankNodes:R}){const T=this.hashFirstDegreeQuads(C),b=R.get(T);b?b.push(C):R.set(T,[C])}_addBlankNodeQuadInfo({quad:C,component:R}){if("BlankNode"!==R.termType)return;const T=R.value,b=this.blankNodeInfo.get(T);b?b.quads.add(C):this.blankNodeInfo.set(T,{quads:new Set([C]),hash:null})}_addRelatedBlankNodeHash({quad:C,component:R,position:T,id:b,issuer:y,hashToRelated:S}){if("BlankNode"!==R.termType||R.value===b)return;const A=R.value,z=this.hashRelatedBlankNode(A,C,y,T),P=S.get(z);P?P.push(A):S.set(z,[A])}_useCanonicalId({component:C}){return"BlankNode"!==C.termType||C.value.startsWith(this.canonicalIssuer.prefix)?C:{termType:"BlankNode",value:this.canonicalIssuer.getId(C.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(k,Q,H){return"BlankNode"!==Q.termType?Q:"graph"===H?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===k?"_:a":"_:z"}}getRelatedPredicate(k){return k.predicate.value}createHashToRelated(k,Q){var H=this;return yt(function*(){const w=new Map,C=H.blankNodeInfo.get(k).quads;let R=0;for(const T of C){let b,y;if("BlankNode"===T.subject.termType&&T.subject.value!==k)y=T.subject.value,b="p";else{if("BlankNode"!==T.object.termType||T.object.value===k)continue;y=T.object.value,b="r"}++R%100==0&&(yield H._yield());const S=yield H.hashRelatedBlankNode(y,T,Q,b),A=w.get(S);A?A.push(y):w.set(S,[y])}return w})()}}},{"./URDNA2015":51}],54:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015Sync");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(k,Q,H){return"BlankNode"!==Q.termType?Q:"graph"===H?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===k?"_:a":"_:z"}}getRelatedPredicate(k){return k.predicate.value}createHashToRelated(k,Q){const H=new Map,w=this.blankNodeInfo.get(k).quads;for(const C of w){let R,T;if("BlankNode"===C.subject.termType&&C.subject.value!==k)T=C.subject.value,R="p";else{if("BlankNode"!==C.object.termType||C.object.value===k)continue;T=C.object.value,R="r"}const b=this.hashRelatedBlankNode(T,C,Q,R),y=H.get(b);y?y.push(T):H.set(b,[T])}return H}}},{"./URDNA2015Sync":52}],55:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015"),j=Y("./URGNA2012"),k=Y("./URDNA2015Sync"),Q=Y("./URGNA2012Sync");let H;try{H=Y("rdf-canonize-native")}catch(C){}const w={};Se.exports=w,w.NQuads=Y("./NQuads"),w.IdentifierIssuer=Y("./IdentifierIssuer"),w._rdfCanonizeNative=function(C){return C&&(H=C),H},w.canonize=function(){var C=yt(function*(R,T){if(Array.isArray(R)||(R=w.NQuads.legacyDatasetToQuads(R)),T.useNative){if(!H)throw new Error("rdf-canonize-native not available");return new Promise((b,y)=>H.canonize(R,T,(S,A)=>S?y(S):b(A)))}if("URDNA2015"===T.algorithm)return new W(T).main(R);if("URGNA2012"===T.algorithm)return new j(T).main(R);throw"algorithm"in T?new Error("Invalid RDF Dataset Canonicalization algorithm: "+T.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(R,T){return C.apply(this,arguments)}}(),w._canonizeSync=function(C,R){if(Array.isArray(C)||(C=w.NQuads.legacyDatasetToQuads(C)),R.useNative){if(H)return H.canonizeSync(C,R);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===R.algorithm)return new k(R).main(C);if("URGNA2012"===R.algorithm)return new Q(R).main(C);throw"algorithm"in R?new Error("Invalid RDF Dataset Canonicalization algorithm: "+R.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(k,Q,H,w){void 0===w&&(w=H),Object.defineProperty(k,w,{enumerable:!0,get:function(){return Q[H]}})}:function(k,Q,H,w){void 0===w&&(w=H),k[w]=Q[H]}),j=this&&this.__exportStar||function(k,Q){for(var H in k)"default"!==H&&!Object.prototype.hasOwnProperty.call(Q,H)&&W(Q,k,H)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/BlankNode"),he),j(Y("./lib/DataFactory"),he),j(Y("./lib/DefaultGraph"),he),j(Y("./lib/Literal"),he),j(Y("./lib/NamedNode"),he),j(Y("./lib/Quad"),he),j(Y("./lib/Variable"),he)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.BlankNode=void 0;he.BlankNode=class{constructor(k){this.termType="BlankNode",this.value=k}equals(k){return!!k&&"BlankNode"===k.termType&&k.value===this.value}}},{}],58:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DataFactory=void 0;const W=Y("./BlankNode"),j=Y("./DefaultGraph"),k=Y("./Literal"),Q=Y("./NamedNode"),H=Y("./Quad"),w=Y("./Variable");let C=0;he.DataFactory=class{constructor(b){this.blankNodeCounter=0,this.blankNodePrefix=(b=b||{}).blankNodePrefix||`df_${C++}_`}namedNode(b){return new Q.NamedNode(b)}blankNode(b){return new W.BlankNode(b||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(b,y){return new k.Literal(b,y)}variable(b){return new w.Variable(b)}defaultGraph(){return j.DefaultGraph.INSTANCE}quad(b,y,S,A){return new H.Quad(b,y,S,A||this.defaultGraph())}fromTerm(b){switch(b.termType){case"NamedNode":return this.namedNode(b.value);case"BlankNode":return this.blankNode(b.value);case"Literal":return b.language?this.literal(b.value,b.language):b.datatype.equals(k.Literal.XSD_STRING)?this.literal(b.value):this.literal(b.value,this.fromTerm(b.datatype));case"Variable":return this.variable(b.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(b.subject),this.fromTerm(b.predicate),this.fromTerm(b.object),this.fromTerm(b.graph))}}fromQuad(b){return this.fromTerm(b)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DefaultGraph=void 0;class W{constructor(){this.termType="DefaultGraph",this.value=""}equals(k){return!!k&&"DefaultGraph"===k.termType}}he.DefaultGraph=W,W.INSTANCE=new W},{}],60:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Literal=void 0;const W=Y("./NamedNode");class j{constructor(Q,H){this.termType="Literal",this.value=Q,"string"==typeof H?(this.language=H,this.datatype=j.RDF_LANGUAGE_STRING):H?(this.language="",this.datatype=H):(this.language="",this.datatype=j.XSD_STRING)}equals(Q){return!!Q&&"Literal"===Q.termType&&Q.value===this.value&&Q.language===this.language&&Q.datatype.equals(this.datatype)}}he.Literal=j,j.RDF_LANGUAGE_STRING=new W.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),j.XSD_STRING=new W.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.NamedNode=void 0;he.NamedNode=class{constructor(k){this.termType="NamedNode",this.value=k}equals(k){return!!k&&"NamedNode"===k.termType&&k.value===this.value}}},{}],62:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Quad=void 0;he.Quad=class{constructor(k,Q,H,w){this.termType="Quad",this.value="",this.subject=k,this.predicate=Q,this.object=H,this.graph=w}equals(k){return!!k&&("Quad"===k.termType||!k.termType)&&this.subject.equals(k.subject)&&this.predicate.equals(k.predicate)&&this.object.equals(k.object)&&this.graph.equals(k.graph)}}},{}],63:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Variable=void 0;he.Variable=class{constructor(k){this.termType="Variable",this.value=k}equals(k){return!!k&&"Variable"===k.termType&&k.value===this.value}}},{}],64:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(k,Q,H,w){void 0===w&&(w=H),Object.defineProperty(k,w,{enumerable:!0,get:function(){return Q[H]}})}:function(k,Q,H,w){void 0===w&&(w=H),k[w]=Q[H]}),j=this&&this.__exportStar||function(k,Q){for(var H in k)"default"!==H&&!Object.prototype.hasOwnProperty.call(Q,H)&&W(Q,k,H)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/RdfXmlParser"),he)},{"./lib/RdfXmlParser":66}],65:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseError=void 0;class W extends Error{constructor(k,Q){const H=k.saxStream._parser;super(k.trackPosition?`Line ${H.line+1} column ${H.column+1}: ${Q}`:Q)}}he.ParseError=W},{}],66:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseType=he.RdfXmlParser=void 0;const W=Y("relative-to-absolute-iri"),j=Y("sax"),k=Y("stream"),Q=Y("./ParseError"),H=Y("rdf-data-factory");class w extends k.Transform{constructor(T){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},T&&(Object.assign(this,T),this.options=T),this.dataFactory||(this.dataFactory=new H.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=j.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(T,b){const y={};let S=!1;for(const z in T.attributes)z.startsWith("xmlns")&&(5===z.length?(S=!0,y[""]=T.attributes[z]):":"===z.charAt(5)&&(S=!0,y[z.substr(6)]=T.attributes[z]));const A=b&&b.ns?b.ns:[w.DEFAULT_NS];return S?A.concat([y]):A}static expandPrefixedTerm(T,b,y){const S=T.indexOf(":");let A,z;S>=0?(A=T.substr(0,S),z=T.substr(S+1)):(A="",z=T);let P=null,X=null;for(let ue=b.length-1;ue>=0;ue--){const I=b[ue][A];if(I){P=I;break}X||(X=b[ue][""])}if(!P){if(A&&"xmlns"!==A)throw new Q.ParseError(y,`The prefix '${A}' in term '${T}' was not bound.`);P=X||""}return{prefix:A,local:z,uri:P}}static isValidIri(T){return w.IRI_REGEX.test(T)}import(T){const b=new k.PassThrough({readableObjectMode:!0});T.on("error",S=>y.emit("error",S)),T.on("data",S=>b.push(S)),T.on("end",()=>b.push(null));const y=b.pipe(new w(this.options));return y}_transform(T,b,y){try{this.saxStream.write(T,b)}catch(S){return y(S)}y()}newParseError(T){return new Q.ParseError(this,T)}valueToUri(T,b){return this.uriToNamedNode(W.resolve(T,b.baseIRI))}uriToNamedNode(T){if(!w.isValidIri(T))throw this.newParseError(`Invalid URI: ${T}`);return this.dataFactory.namedNode(T)}validateNcname(T){if(!w.NCNAME_MATCHER.test(T))throw this.newParseError(`Not a valid NCName: ${T}`)}attachSaxListeners(){this.saxStream.on("error",T=>this.emit("error",T)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(T){const b=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let y=C.RESOURCE;if(b&&(b.hadChildren=!0,y=b.childrenParseType),b&&b.childrenStringTags){const A=T.name;let z="";for(const I in T.attributes)z+=` ${I}="${T.attributes[I]}"`;b.childrenStringTags.push(`<${A}${z}>`);const ue={childrenStringTags:b.childrenStringTags};return ue.childrenStringEmitClosingTag=``,void this.activeTagStack.push(ue)}const S={};b?(S.language=b.language,S.baseIRI=b.baseIRI):S.baseIRI=this.baseIRI,this.activeTagStack.push(S),S.ns=w.parseNamespace(T,b),y===C.RESOURCE?this.onTagResource(T,S,b,!b):this.onTagProperty(T,S,b)}onTagResource(T,b,y,S){const A=w.expandPrefixedTerm(T.name,b.ns,this);b.childrenParseType=C.PROPERTY;let z=!0;if(A.uri===w.RDF){if(!S&&w.FORBIDDEN_NODE_ELEMENTS.indexOf(A.local)>=0)throw this.newParseError(`Illegal node element name: ${A.local}`);switch(A.local){case"RDF":b.childrenParseType=C.RESOURCE;case"Description":z=!1}}const P=[],X=[];let ue=null,I=!1,O=!1,K=null;for(const E in T.attributes){const $=T.attributes[E],Z=w.expandPrefixedTerm(E,b.ns,this);if(y&&Z.uri===w.RDF)switch(Z.local){case"about":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);ue=$;continue;case"ID":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);this.validateNcname($),ue="#"+$,I=!0;continue;case"nodeID":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);this.validateNcname($),ue=$,O=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":K=$;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(Z.uri===w.XML){if("lang"===Z.local){b.language=""===$?null:$.toLowerCase();continue}if("base"===Z.local){b.baseIRI=W.resolve($,b.baseIRI);continue}}"xml"!==Z.prefix&&Z.uri&&(P.push(this.uriToNamedNode(Z.uri+Z.local)),X.push($))}if(null!==ue&&(b.subject=O?this.dataFactory.blankNode(ue):this.valueToUri(ue,b),I&&this.claimNodeId(b.subject)),b.subject||(b.subject=this.dataFactory.blankNode()),z){const E=this.uriToNamedNode(A.uri+A.local);this.emitTriple(b.subject,this.dataFactory.namedNode(w.RDF+"type"),E,y?y.reifiedStatementId:null)}if(y){if(y.predicate)if(y.childrenCollectionSubject){const E=this.dataFactory.blankNode();this.emitTriple(y.childrenCollectionSubject,y.childrenCollectionPredicate,E,y.reifiedStatementId),this.emitTriple(E,this.dataFactory.namedNode(w.RDF+"first"),b.subject,b.reifiedStatementId),y.childrenCollectionSubject=E,y.childrenCollectionPredicate=this.dataFactory.namedNode(w.RDF+"rest")}else{this.emitTriple(y.subject,y.predicate,b.subject,y.reifiedStatementId);for(let E=0;E=0)throw this.newParseError(`Illegal property element name: ${S.local}`);b.predicateSubPredicates=[],b.predicateSubObjects=[];let A=!1,z=!1,P=null,X=!0;const ue=[],I=[];for(const O in T.attributes){const K=T.attributes[O],E=w.expandPrefixedTerm(O,b.ns,this);if(E.uri===w.RDF)switch(E.local){case"resource":if(P)throw this.newParseError(`Found both rdf:resource (${K}) and rdf:nodeID (${P}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${K})`);b.hadChildren=!0,P=K,X=!1;continue;case"datatype":if(z)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${K}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${K})`);b.datatype=this.valueToUri(K,b);continue;case"nodeID":if(z)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${K}).`);if(b.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${K}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${K})`);this.validateNcname(K),b.hadChildren=!0,P=K,X=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(z)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(b.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${b.datatype.value})`);if(P)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${P})`);if("Resource"===K){A=!0,b.childrenParseType=C.PROPERTY;const $=this.dataFactory.blankNode();this.emitTriple(b.subject,b.predicate,$,b.reifiedStatementId),b.subject=$,b.predicate=null}else"Collection"===K?(A=!0,b.hadChildren=!0,b.childrenCollectionSubject=b.subject,b.childrenCollectionPredicate=b.predicate,X=!1):"Literal"===K&&(A=!0,b.childrenTagsToString=!0,b.childrenStringTags=[]);continue;case"ID":this.validateNcname(K),b.reifiedStatementId=this.valueToUri("#"+K,b),this.claimNodeId(b.reifiedStatementId);continue}else if(E.uri===w.XML&&"lang"===E.local){b.language=""===K?null:K.toLowerCase();continue}if("xml"!==E.prefix&&"xmlns"!==E.prefix&&E.uri){if(A||b.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${K}`);b.hadChildren=!0,z=!0,ue.push(this.uriToNamedNode(E.uri+E.local)),I.push(this.dataFactory.literal(K,b.datatype||b.language))}}if(null!==P){const O=b.subject;b.subject=X?this.dataFactory.blankNode(P):this.valueToUri(P,b),this.emitTriple(O,b.predicate,b.subject,b.reifiedStatementId);for(let K=0;K/g,(b,y,S)=>(this.saxStream._parser.ENTITIES[y]=S,""))}}var C,R;he.RdfXmlParser=w,w.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,w.MIME_TYPE="application/rdf+xml",w.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",w.XML="http://www.w3.org/XML/1998/namespace",w.XMLNS="http://www.w3.org/2000/xmlns/",w.DEFAULT_NS={xml:w.XML},w.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],w.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],w.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(R=C=he.ParseType||(he.ParseType={}))[R.RESOURCE=0]="RESOURCE",R[R.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(Y,Se,he){"use strict";var j={};function k(R,T,b){b||(b=Error);var S=function(A){function z(P,X,ue){return A.call(this,function(A,z,P){return"string"==typeof T?T:T(A,z,P)}(P,X,ue))||this}return function(R,T){R.prototype=Object.create(T.prototype),R.prototype.constructor=R,R.__proto__=T}(z,A),z}(b);S.prototype.name=b.name,S.prototype.code=R,j[R]=S}function Q(R,T){if(Array.isArray(R)){var b=R.length;return R=R.map(function(y){return String(y)}),b>2?"one of ".concat(T," ").concat(R.slice(0,b-1).join(", "),", or ")+R[b-1]:2===b?"one of ".concat(T," ").concat(R[0]," or ").concat(R[1]):"of ".concat(T," ").concat(R[0])}return"of ".concat(T," ").concat(String(R))}k("ERR_INVALID_OPT_VALUE",function(R,T){return'The value "'+T+'" is invalid for option "'+R+'"'},TypeError),k("ERR_INVALID_ARG_TYPE",function(R,T,b){var y,S;if("string"==typeof T&&function(R,T,b){return R.substr(!b||b<0?0:+b,T.length)===T}(T,"not ")?(y="must not be",T=T.replace(/^not /,"")):y="must be",function(R,T,b){return(void 0===b||b>R.length)&&(b=R.length),R.substring(b-T.length,b)===T}(R," argument"))S="The ".concat(R," ").concat(y," ").concat(Q(T,"type"));else{var A=function(R,T,b){return"number"!=typeof b&&(b=0),!(b+T.length>R.length)&&-1!==R.indexOf(T,b)}(R,".")?"property":"argument";S='The "'.concat(R,'" ').concat(A," ").concat(y," ").concat(Q(T,"type"))}return S+". Received type ".concat(typeof b)},TypeError),k("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),k("ERR_METHOD_NOT_IMPLEMENTED",function(R){return"The "+R+" method is not implemented"}),k("ERR_STREAM_PREMATURE_CLOSE","Premature close"),k("ERR_STREAM_DESTROYED",function(R){return"Cannot call "+R+" after a stream was destroyed"}),k("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),k("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),k("ERR_STREAM_WRITE_AFTER_END","write after end"),k("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),k("ERR_UNKNOWN_ENCODING",function(R){return"Unknown encoding: "+R},TypeError),k("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Se.exports.codes=j},{}],68:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Object.keys||function(y){var S=[];for(var A in y)S.push(A);return S};Se.exports=R;var k=Y("./_stream_readable"),Q=Y("./_stream_writable");Y("inherits")(R,k);for(var H=j(Q.prototype),w=0;w0)if("string"!=typeof B&&!Ze.objectMode&&Object.getPrototypeOf(B)!==C.prototype&&(B=function(we){return C.from(we)}(B)),V)Ze.endEmitted?oe(we,new E):Oe(we,Ze,B,!0);else if(Ze.ended)oe(we,new O);else{if(Ze.destroyed)return!1;Ze.reading=!1,Ze.decoder&&!N?(B=Ze.decoder.write(B),Ze.objectMode||0!==B.length?Oe(we,Ze,B,!1):Ke(we,Ze)):Oe(we,Ze,B,!1)}else V||(Ze.reading=!1,Ke(we,Ze));return!Ze.ended&&(Ze.lengthB.highWaterMark&&(B.highWaterMark=function(we){return we>=st?we=st:(we--,we|=we>>>1,we|=we>>>2,we|=we>>>4,we|=we>>>8,we|=we>>>16,we++),we}(we)),we<=B.length?we:B.ended?B.length:(B.needReadable=!0,0))}function ze(we){var B=we._readableState;S("emitReadable",B.needReadable,B.emittedReadable),B.needReadable=!1,B.emittedReadable||(S("emitReadable",B.flowing),B.emittedReadable=!0,W.nextTick(Le,we))}function Le(we){var B=we._readableState;S("emitReadable_",B.destroyed,B.length,B.ended),!B.destroyed&&(B.length||B.ended)&&(we.emit("readable"),B.emittedReadable=!1),B.needReadable=!B.flowing&&!B.ended&&B.length<=B.highWaterMark,pe(we)}function Ke(we,B){B.readingMore||(B.readingMore=!0,W.nextTick(Me,we,B))}function Me(we,B){for(;!B.reading&&!B.ended&&(B.length0,B.resumeScheduled&&!B.paused?B.flowing=!0:we.listenerCount("data")>0&&we.resume()}function ke(we){S("readable nexttick read 0"),we.read(0)}function G(we,B){S("resume",B.reading),B.reading||we.read(0),B.resumeScheduled=!1,we.emit("resume"),pe(we),B.flowing&&!B.reading&&we.read(0)}function pe(we){var B=we._readableState;for(S("flow",B.flowing);B.flowing&&null!==we.read(););}function de(we,B){return 0===B.length?null:(B.objectMode?N=B.buffer.shift():!we||we>=B.length?(N=B.decoder?B.buffer.join(""):1===B.buffer.length?B.buffer.first():B.buffer.concat(B.length),B.buffer.clear()):N=B.buffer.consume(we,B.decoder),N);var N}function je(we){var B=we._readableState;S("endReadable",B.endEmitted),B.endEmitted||(B.ended=!0,W.nextTick(_t,B,we))}function _t(we,B){if(S("endReadableNT",we.endEmitted,we.length),!we.endEmitted&&0===we.length&&(we.endEmitted=!0,B.readable=!1,B.emit("end"),we.autoDestroy)){var N=B._writableState;(!N||N.autoDestroy&&N.finished)&&B.destroy()}}function pt(we,B){for(var N=0,V=we.length;N=B.highWaterMark:B.length>0)||B.ended))return S("read: emitReadable",B.length,B.ended),0===B.length&&B.ended?je(this):ze(this),null;if(0===(we=tt(we,B))&&B.ended)return 0===B.length&&je(this),null;var Re,V=B.needReadable;return S("need readable",V),(0===B.length||B.length-we0?de(we,B):null)?(B.needReadable=B.length<=B.highWaterMark,we=0):(B.length-=we,B.awaitDrain=0),0===B.length&&(B.ended||(B.needReadable=!0),N!==we&&B.ended&&je(this)),null!==Re&&this.emit("data",Re),Re},ne.prototype._read=function(we){oe(this,new K("_read()"))},ne.prototype.pipe=function(we,B){var N=this,V=this._readableState;switch(V.pipesCount){case 0:V.pipes=we;break;case 1:V.pipes=[V.pipes,we];break;default:V.pipes.push(we)}V.pipesCount+=1,S("pipe count=%d opts=%j",V.pipesCount,B);var Ze=B&&!1===B.end||we===W.stdout||we===W.stderr?fs:kt;function Tt(Bs,Kr){S("onunpipe"),Bs===N&&Kr&&!1===Kr.hasUnpiped&&(Kr.hasUnpiped=!0,S("cleanup"),we.removeListener("close",Xr),we.removeListener("finish",Ls),we.removeListener("drain",In),we.removeListener("error",xi),we.removeListener("unpipe",Tt),N.removeListener("end",kt),N.removeListener("end",fs),N.removeListener("data",Mi),Nn=!0,V.awaitDrain&&(!we._writableState||we._writableState.needDrain)&&In())}function kt(){S("onend"),we.end()}V.endEmitted?W.nextTick(Ze):N.once("end",Ze),we.on("unpipe",Tt);var In=function(we){return function(){var N=we._readableState;S("pipeOnDrain",N.awaitDrain),N.awaitDrain&&N.awaitDrain--,0===N.awaitDrain&&H(we,"data")&&(N.flowing=!0,pe(we))}}(N);we.on("drain",In);var Nn=!1;function Mi(Bs){S("ondata");var Kr=we.write(Bs);S("dest.write",Kr),!1===Kr&&((1===V.pipesCount&&V.pipes===we||V.pipesCount>1&&-1!==pt(V.pipes,we))&&!Nn&&(S("false write response, pause",V.awaitDrain),V.awaitDrain++),N.pause())}function xi(Bs){S("onerror",Bs),fs(),we.removeListener("error",xi),0===H(we,"error")&&oe(we,Bs)}function Xr(){we.removeListener("finish",Ls),fs()}function Ls(){S("onfinish"),we.removeListener("close",Xr),fs()}function fs(){S("unpipe"),N.unpipe(we)}return N.on("data",Mi),function(we,B,N){if("function"==typeof we.prependListener)return we.prependListener(B,N);we._events&&we._events[B]?Array.isArray(we._events[B])?we._events[B].unshift(N):we._events[B]=[N,we._events[B]]:we.on(B,N)}(we,"error",xi),we.once("close",Xr),we.once("finish",Ls),we.emit("pipe",N),V.flowing||(S("pipe resume"),N.resume()),we},ne.prototype.unpipe=function(we){var B=this._readableState,N={hasUnpiped:!1};if(0===B.pipesCount)return this;if(1===B.pipesCount)return we&&we!==B.pipes||(we||(we=B.pipes),B.pipes=null,B.pipesCount=0,B.flowing=!1,we&&we.emit("unpipe",this,N)),this;if(!we){var V=B.pipes,Re=B.pipesCount;B.pipes=null,B.pipesCount=0,B.flowing=!1;for(var Ze=0;Ze0,!1!==V.flowing&&this.resume()):"readable"===we&&!V.endEmitted&&!V.readableListening&&(V.readableListening=V.needReadable=!0,V.flowing=!1,V.emittedReadable=!1,S("on readable",V.length,V.reading),V.length?ze(this):V.reading||W.nextTick(ke,this)),N},ne.prototype.removeListener=function(we,B){var N=w.prototype.removeListener.call(this,we,B);return"readable"===we&&W.nextTick(qe,this),N},ne.prototype.removeAllListeners=function(we){var B=w.prototype.removeAllListeners.apply(this,arguments);return("readable"===we||void 0===we)&&W.nextTick(qe,this),B},ne.prototype.resume=function(){var we=this._readableState;return we.flowing||(S("resume"),we.flowing=!we.readableListening,function(we,B){B.resumeScheduled||(B.resumeScheduled=!0,W.nextTick(G,we,B))}(this,we)),we.paused=!1,this},ne.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},ne.prototype.wrap=function(we){var B=this,N=this._readableState,V=!1;for(var Re in we.on("end",function(){if(S("wrapped end"),N.decoder&&!N.ended){var Tt=N.decoder.end();Tt&&Tt.length&&B.push(Tt)}B.push(null)}),we.on("data",function(Tt){S("wrapped data"),N.decoder&&(Tt=N.decoder.write(Tt)),N.objectMode&&null==Tt||!(N.objectMode||Tt&&Tt.length)||B.push(Tt)||(V=!0,we.pause())}),we)void 0===this[Re]&&"function"==typeof we[Re]&&(this[Re]=function(kt){return function(){return we[kt].apply(we,arguments)}}(Re));for(var Ze=0;Ze-1))throw new Z(de);return this._writableState.defaultEncoding=de,this},Object.defineProperty(me.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(me.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),me.prototype._write=function(pe,de,je){je(new ue("_write()"))},me.prototype._writev=null,me.prototype.end=function(pe,de,je){var _t=this._writableState;return"function"==typeof pe?(je=pe,pe=null,de=null):"function"==typeof de&&(je=de,de=null),null!=pe&&this.write(pe,de),_t.corked&&(_t.corked=1,this.uncork()),_t.ending||function(pe,de,je){de.ending=!0,ke(pe,de),je&&(de.finished?W.nextTick(je):pe.once("finish",je)),de.ended=!0,pe.writable=!1}(this,_t,je),this},Object.defineProperty(me.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(me.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(de){!this._writableState||(this._writableState.destroyed=de)}}),me.prototype.destroy=S.destroy,me.prototype._undestroy=S.undestroy,me.prototype._destroy=function(pe,de){de(pe)}}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(Y,Se,he){(function(W){(function(){"use strict";var j;function k(O,K,E){return K in O?Object.defineProperty(O,K,{value:E,enumerable:!0,configurable:!0,writable:!0}):O[K]=E,O}var Q=Y("./end-of-stream"),H=Symbol("lastResolve"),w=Symbol("lastReject"),C=Symbol("error"),R=Symbol("ended"),T=Symbol("lastPromise"),b=Symbol("handlePromise"),y=Symbol("stream");function S(O,K){return{value:O,done:K}}function A(O){var K=O[H];if(null!==K){var E=O[y].read();null!==E&&(O[T]=null,O[H]=null,O[w]=null,K(S(E,!1)))}}function z(O){W.nextTick(A,O)}var X=Object.getPrototypeOf(function(){}),ue=Object.setPrototypeOf((k(j={get stream(){return this[y]},next:function(){var K=this,E=this[C];if(null!==E)return Promise.reject(E);if(this[R])return Promise.resolve(S(void 0,!0));if(this[y].destroyed)return new Promise(function(oe,te){W.nextTick(function(){K[C]?te(K[C]):oe(S(void 0,!0))})});var Z,$=this[T];if($)Z=new Promise(function(O,K){return function(E,$){O.then(function(){K[R]?E(S(void 0,!0)):K[b](E,$)},$)}}($,this));else{var ae=this[y].read();if(null!==ae)return Promise.resolve(S(ae,!1));Z=new Promise(this[b])}return this[T]=Z,Z}},Symbol.asyncIterator,function(){return this}),k(j,"return",function(){var K=this;return new Promise(function(E,$){K[y].destroy(null,function(Z){Z?$(Z):E(S(void 0,!0))})})}),j),X);Se.exports=function(K){var E,$=Object.create(ue,(k(E={},y,{value:K,writable:!0}),k(E,H,{value:null,writable:!0}),k(E,w,{value:null,writable:!0}),k(E,C,{value:null,writable:!0}),k(E,R,{value:K._readableState.endEmitted,writable:!0}),k(E,b,{value:function(ae,oe){var te=$[y].read();te?($[T]=null,$[H]=null,$[w]=null,ae(S(te,!1))):($[H]=ae,$[w]=oe)},writable:!0}),E));return $[T]=null,Q(K,function(Z){if(Z&&"ERR_STREAM_PREMATURE_CLOSE"!==Z.code){var ae=$[w];return null!==ae&&($[T]=null,$[H]=null,$[w]=null,ae(Z)),void($[C]=Z)}var oe=$[H];null!==oe&&($[T]=null,$[H]=null,$[w]=null,oe(S(void 0,!0))),$[R]=!0}),K.on("readable",z.bind(null,$)),$}}).call(this)}).call(this,Y("_process"))},{"./end-of-stream":76,_process:44}],74:[function(Y,Se,he){"use strict";function W(A,z){var P=Object.keys(A);if(Object.getOwnPropertySymbols){var X=Object.getOwnPropertySymbols(A);z&&(X=X.filter(function(ue){return Object.getOwnPropertyDescriptor(A,ue).enumerable})),P.push.apply(P,X)}return P}function k(A,z,P){return z in A?Object.defineProperty(A,z,{value:P,enumerable:!0,configurable:!0,writable:!0}):A[z]=P,A}function H(A,z){for(var P=0;P0?this.tail.next=X:this.head=X,this.tail=X,++this.length}},{key:"unshift",value:function(P){var X={data:P,next:this.head};0===this.length&&(this.tail=X),this.head=X,++this.length}},{key:"shift",value:function(){if(0!==this.length){var P=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,P}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(P){if(0===this.length)return"";for(var X=this.head,ue=""+X.data;X=X.next;)ue+=P+X.data;return ue}},{key:"concat",value:function(P){if(0===this.length)return R.alloc(0);for(var X=R.allocUnsafe(P>>>0),ue=this.head,I=0;ue;)S(ue.data,X,I),I+=ue.data.length,ue=ue.next;return X}},{key:"consume",value:function(P,X){var ue;return PO.length?O.length:P;if(I+=K===O.length?O:O.slice(0,P),0==(P-=K)){K===O.length?(++ue,this.head=X.next?X.next:this.tail=null):(this.head=X,X.data=O.slice(K));break}++ue}return this.length-=ue,I}},{key:"_getBuffer",value:function(P){var X=R.allocUnsafe(P),ue=this.head,I=1;for(ue.data.copy(X),P-=ue.data.length;ue=ue.next;){var O=ue.data,K=P>O.length?O.length:P;if(O.copy(X,X.length-P,0,K),0==(P-=K)){K===O.length?(++I,this.head=ue.next?ue.next:this.tail=null):(this.head=ue,ue.data=O.slice(K));break}++I}return this.length-=I,X}},{key:y,value:function(P,X){return b(this,function(A){for(var z=1;z0,function(Z){ue||(ue=Z),Z&&I.forEach(T),!E&&(I.forEach(T),X(ue))})});return z.reduce(b)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(Y,Se,he){"use strict";var W=Y("../../../errors").codes.ERR_INVALID_OPT_VALUE;Se.exports={getHighWaterMark:function(Q,H,w,C){var R=function(Q,H,w){return null!=Q.highWaterMark?Q.highWaterMark:H?Q[w]:null}(H,C,w);if(null!=R){if(!isFinite(R)||Math.floor(R)!==R||R<0)throw new W(C?w:"highWaterMark",R);return Math.floor(R)}return Q.objectMode?16:16384}}},{"../../../errors":67}],80:[function(Y,Se,he){Se.exports=Y("events").EventEmitter},{events:8}],81:[function(Y,Se,he){(he=Se.exports=Y("./lib/_stream_readable.js")).Stream=he,he.Readable=he,he.Writable=Y("./lib/_stream_writable.js"),he.Duplex=Y("./lib/_stream_duplex.js"),he.Transform=Y("./lib/_stream_transform.js"),he.PassThrough=Y("./lib/_stream_passthrough.js"),he.finished=Y("./lib/internal/streams/end-of-stream.js"),he.pipeline=Y("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),function(j){for(var k in j)he.hasOwnProperty(k)||(he[k]=j[k])}(Y("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(Y,Se,he){"use strict";function j(H){const w=[];let C=0;for(;CR.join("")).join("/")}function k(H,w){let C=w+1;w>=0?"/"===H[w+1]&&"/"===H[w+2]&&(C=w+3):"/"===H[0]&&"/"===H[1]&&(C=2);const R=H.indexOf("/",C);return R<0?H:H.substr(0,R)+j(H.substr(R))}function Q(H){return!H||"#"===H||"?"===H||"/"===H}Object.defineProperty(he,"__esModule",{value:!0}),he.resolve=function(H,w){const C=(w=w||"").indexOf("#");if(C>0&&(w=w.substr(0,C)),!H.length){if(w.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${w}' for value '${H}'`);return w}if(H.startsWith("?")){const z=w.indexOf("?");return z>0&&(w=w.substr(0,z)),w+H}if(H.startsWith("#"))return w+H;if(!w.length){const z=H.indexOf(":");if(z<0)throw new Error(`Found invalid relative IRI '${H}' for a missing baseIRI`);return k(H,z)}const R=H.indexOf(":");if(R>=0)return k(H,R);const T=w.indexOf(":");if(T<0)throw new Error(`Found invalid baseIRI '${w}' for value '${H}'`);const b=w.substr(0,T+1);if(0===H.indexOf("//"))return b+k(H,R);let y;if(w.indexOf("//",T)===T+1){if(y=w.indexOf("/",T+3),y<0)return w.length>T+3?w+"/"+k(H,R):b+k(H,R)}else if(y=w.indexOf("/",T+1),y<0)return b+k(H,R);if(0===H.indexOf("/"))return w.substr(0,y)+j(H);let S=w.substr(y);const A=S.lastIndexOf("/");return A>=0&&A"===de?(ne(G,"onsgmldeclaration",G.sgmlDecl),G.sgmlDecl="",G.state=te.TEXT):($(de)&&(G.state=te.SGML_DECL_QUOTED),G.sgmlDecl+=de);continue;case te.SGML_DECL_QUOTED:de===G.q&&(G.state=te.SGML_DECL,G.q=""),G.sgmlDecl+=de;continue;case te.DOCTYPE:">"===de?(G.state=te.TEXT,ne(G,"ondoctype",G.doctype),G.doctype=!0):(G.doctype+=de,"["===de?G.state=te.DOCTYPE_DTD:$(de)&&(G.state=te.DOCTYPE_QUOTED,G.q=de));continue;case te.DOCTYPE_QUOTED:G.doctype+=de,de===G.q&&(G.q="",G.state=te.DOCTYPE);continue;case te.DOCTYPE_DTD:G.doctype+=de,"]"===de?G.state=te.DOCTYPE:$(de)&&(G.state=te.DOCTYPE_DTD_QUOTED,G.q=de);continue;case te.DOCTYPE_DTD_QUOTED:G.doctype+=de,de===G.q&&(G.state=te.DOCTYPE_DTD,G.q="");continue;case te.COMMENT:"-"===de?G.state=te.COMMENT_ENDING:G.comment+=de;continue;case te.COMMENT_ENDING:"-"===de?(G.state=te.COMMENT_ENDED,G.comment=Oe(G.opt,G.comment),G.comment&&ne(G,"oncomment",G.comment),G.comment=""):(G.comment+="-"+de,G.state=te.COMMENT);continue;case te.COMMENT_ENDED:">"!==de?(Qe(G,"Malformed comment"),G.comment+="--"+de,G.state=te.COMMENT):G.state=te.TEXT;continue;case te.CDATA:"]"===de?G.state=te.CDATA_ENDING:G.cdata+=de;continue;case te.CDATA_ENDING:"]"===de?G.state=te.CDATA_ENDING_2:(G.cdata+="]"+de,G.state=te.CDATA);continue;case te.CDATA_ENDING_2:">"===de?(G.cdata&&ne(G,"oncdata",G.cdata),ne(G,"onclosecdata"),G.cdata="",G.state=te.TEXT):"]"===de?G.cdata+="]":(G.cdata+="]]"+de,G.state=te.CDATA);continue;case te.PROC_INST:"?"===de?G.state=te.PROC_INST_ENDING:E(de)?G.state=te.PROC_INST_BODY:G.procInstName+=de;continue;case te.PROC_INST_BODY:if(!G.procInstBody&&E(de))continue;"?"===de?G.state=te.PROC_INST_ENDING:G.procInstBody+=de;continue;case te.PROC_INST_ENDING:">"===de?(ne(G,"onprocessinginstruction",{name:G.procInstName,body:G.procInstBody}),G.procInstName=G.procInstBody="",G.state=te.TEXT):(G.procInstBody+="?"+de,G.state=te.PROC_INST_BODY);continue;case te.OPEN_TAG:ae(I,de)?G.tagName+=de:(tt(G),">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:(E(de)||Qe(G,"Invalid character in tag name"),G.state=te.ATTRIB));continue;case te.OPEN_TAG_SLASH:">"===de?(Le(G,!0),Ke(G)):(Qe(G,"Forward-slash in opening tag not followed by >"),G.state=te.ATTRIB);continue;case te.ATTRIB:if(E(de))continue;">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:ae(ue,de)?(G.attribName=de,G.attribValue="",G.state=te.ATTRIB_NAME):Qe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME:"="===de?G.state=te.ATTRIB_VALUE:">"===de?(Qe(G,"Attribute without value"),G.attribValue=G.attribName,ze(G),Le(G)):E(de)?G.state=te.ATTRIB_NAME_SAW_WHITE:ae(I,de)?G.attribName+=de:Qe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME_SAW_WHITE:if("="===de)G.state=te.ATTRIB_VALUE;else{if(E(de))continue;Qe(G,"Attribute without value"),G.tag.attributes[G.attribName]="",G.attribValue="",ne(G,"onattribute",{name:G.attribName,value:""}),G.attribName="",">"===de?Le(G):ae(ue,de)?(G.attribName=de,G.state=te.ATTRIB_NAME):(Qe(G,"Invalid attribute name"),G.state=te.ATTRIB)}continue;case te.ATTRIB_VALUE:if(E(de))continue;$(de)?(G.q=de,G.state=te.ATTRIB_VALUE_QUOTED):(Qe(G,"Unquoted attribute value"),G.state=te.ATTRIB_VALUE_UNQUOTED,G.attribValue=de);continue;case te.ATTRIB_VALUE_QUOTED:if(de!==G.q){"&"===de?G.state=te.ATTRIB_VALUE_ENTITY_Q:G.attribValue+=de;continue}ze(G),G.q="",G.state=te.ATTRIB_VALUE_CLOSED;continue;case te.ATTRIB_VALUE_CLOSED:E(de)?G.state=te.ATTRIB:">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:ae(ue,de)?(Qe(G,"No whitespace between attributes"),G.attribName=de,G.attribValue="",G.state=te.ATTRIB_NAME):Qe(G,"Invalid attribute name");continue;case te.ATTRIB_VALUE_UNQUOTED:if(!Z(de)){"&"===de?G.state=te.ATTRIB_VALUE_ENTITY_U:G.attribValue+=de;continue}ze(G),">"===de?Le(G):G.state=te.ATTRIB;continue;case te.CLOSE_TAG:if(G.tagName)">"===de?Ke(G):ae(I,de)?G.tagName+=de:G.script?(G.script+=""===de?Ke(G):Qe(G,"Invalid characters in closing tag");continue;case te.TEXT_ENTITY:case te.ATTRIB_VALUE_ENTITY_Q:case te.ATTRIB_VALUE_ENTITY_U:var pt,we;switch(G.state){case te.TEXT_ENTITY:pt=te.TEXT,we="textNode";break;case te.ATTRIB_VALUE_ENTITY_Q:pt=te.ATTRIB_VALUE_QUOTED,we="attribValue";break;case te.ATTRIB_VALUE_ENTITY_U:pt=te.ATTRIB_VALUE_UNQUOTED,we="attribValue"}";"===de?(G[we]+=Me(G),G.entity="",G.state=pt):ae(G.entity.length?K:O,de)?G.entity+=de:(Qe(G,"Invalid character in entity name"),G[we]+="&"+G.entity+de,G.entity="",G.state=pt);continue;default:throw new Error(G,"Unknown state: "+G.state)}return G.position>=G.bufferCheckPosition&&function(q){for(var G=Math.max(j.MAX_BUFFER_LENGTH,10),pe=0,de=0,je=k.length;deG)switch(k[de]){case"textNode":ye(q);break;case"cdata":ne(q,"oncdata",q.cdata),q.cdata="";break;case"script":ne(q,"onscript",q.script),q.script="";break;default:$e(q,"Max buffer length exceeded: "+k[de])}pe=Math.max(pe,_t)}q.bufferCheckPosition=j.MAX_BUFFER_LENGTH-pe+q.position}(G),G},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(q){ye(q),""!==q.cdata&&(ne(q,"oncdata",q.cdata),q.cdata=""),""!==q.script&&(ne(q,"onscript",q.script),q.script="")}(this)}};try{R=Y("stream").Stream}catch(q){R=function(){}}var T=j.EVENTS.filter(function(q){return"error"!==q&&"end"!==q});function y(q,G){if(!(this instanceof y))return new y(q,G);R.apply(this),this._parser=new Q(q,G),this.writable=!0,this.readable=!0;var pe=this;this._parser.onend=function(){pe.emit("end")},this._parser.onerror=function(de){pe.emit("error",de),pe._parser.error=null},this._decoder=null,T.forEach(function(de){Object.defineProperty(pe,"on"+de,{get:function(){return pe._parser["on"+de]},set:function(je){if(!je)return pe.removeAllListeners(de),pe._parser["on"+de]=je,je;pe.on(de,je)},enumerable:!0,configurable:!1})})}(y.prototype=Object.create(R.prototype,{constructor:{value:y}})).write=function(q){if("function"==typeof W&&"function"==typeof W.isBuffer&&W.isBuffer(q)){if(!this._decoder){var G=Y("string_decoder").StringDecoder;this._decoder=new G("utf8")}q=this._decoder.write(q)}return this._parser.write(q.toString()),this.emit("data",q),!0},y.prototype.end=function(q){return q&&q.length&&this.write(q),this._parser.end(),!0},y.prototype.on=function(q,G){var pe=this;return!pe._parser["on"+q]&&-1!==T.indexOf(q)&&(pe._parser["on"+q]=function(){var de=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);de.splice(0,0,q),pe.emit.apply(pe,de)}),R.prototype.on.call(pe,q,G)};var z="http://www.w3.org/XML/1998/namespace",P="http://www.w3.org/2000/xmlns/",X={xml:z,xmlns:P},ue=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,I=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,O=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,K=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function E(q){return" "===q||"\n"===q||"\r"===q||"\t"===q}function $(q){return'"'===q||"'"===q}function Z(q){return">"===q||E(q)}function ae(q,G){return q.test(G)}function oe(q,G){return!ae(q,G)}var q,G,pe,te=0;for(var Te in j.STATE={BEGIN:te++,BEGIN_WHITESPACE:te++,TEXT:te++,TEXT_ENTITY:te++,OPEN_WAKA:te++,SGML_DECL:te++,SGML_DECL_QUOTED:te++,DOCTYPE:te++,DOCTYPE_QUOTED:te++,DOCTYPE_DTD:te++,DOCTYPE_DTD_QUOTED:te++,COMMENT_STARTING:te++,COMMENT:te++,COMMENT_ENDING:te++,COMMENT_ENDED:te++,CDATA:te++,CDATA_ENDING:te++,CDATA_ENDING_2:te++,PROC_INST:te++,PROC_INST_BODY:te++,PROC_INST_ENDING:te++,OPEN_TAG:te++,OPEN_TAG_SLASH:te++,ATTRIB:te++,ATTRIB_NAME:te++,ATTRIB_NAME_SAW_WHITE:te++,ATTRIB_VALUE:te++,ATTRIB_VALUE_QUOTED:te++,ATTRIB_VALUE_CLOSED:te++,ATTRIB_VALUE_UNQUOTED:te++,ATTRIB_VALUE_ENTITY_Q:te++,ATTRIB_VALUE_ENTITY_U:te++,CLOSE_TAG:te++,CLOSE_TAG_SAW_WHITE:te++,SCRIPT:te++,SCRIPT_ENDING:te++},j.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},j.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(j.ENTITIES).forEach(function(q){var G=j.ENTITIES[q],pe="number"==typeof G?String.fromCharCode(G):G;j.ENTITIES[q]=pe}),j.STATE)j.STATE[j.STATE[Te]]=Te;function me(q,G,pe){q[G]&&q[G](pe)}function ne(q,G,pe){q.textNode&&ye(q),me(q,G,pe)}function ye(q){q.textNode=Oe(q.opt,q.textNode),q.textNode&&me(q,"ontext",q.textNode),q.textNode=""}function Oe(q,G){return q.trim&&(G=G.trim()),q.normalize&&(G=G.replace(/\s+/g," ")),G}function $e(q,G){return ye(q),q.trackPosition&&(G+="\nLine: "+q.line+"\nColumn: "+q.column+"\nChar: "+q.c),G=new Error(G),q.error=G,me(q,"onerror",G),q}function st(q){return q.sawRoot&&!q.closedRoot&&Qe(q,"Unclosed root tag"),q.state!==te.BEGIN&&q.state!==te.BEGIN_WHITESPACE&&q.state!==te.TEXT&&$e(q,"Unexpected end"),ye(q),q.c="",q.closed=!0,me(q,"onend"),Q.call(q,q.strict,q.opt),q}function Qe(q,G){if("object"!=typeof q||!(q instanceof Q))throw new Error("bad call to strictFail");q.strict&&$e(q,G)}function tt(q){q.strict||(q.tagName=q.tagName[q.looseCase]());var G=q.tags[q.tags.length-1]||q,pe=q.tag={name:q.tagName,attributes:{}};q.opt.xmlns&&(pe.ns=G.ns),q.attribList.length=0,ne(q,"onopentagstart",pe)}function Xe(q,G){var de=q.indexOf(":")<0?["",q]:q.split(":"),je=de[0],_t=de[1];return G&&"xmlns"===q&&(je="xmlns",_t=""),{prefix:je,local:_t}}function ze(q){if(q.strict||(q.attribName=q.attribName[q.looseCase]()),-1!==q.attribList.indexOf(q.attribName)||q.tag.attributes.hasOwnProperty(q.attribName))q.attribName=q.attribValue="";else{if(q.opt.xmlns){var G=Xe(q.attribName,!0),de=G.local;if("xmlns"===G.prefix)if("xml"===de&&q.attribValue!==z)Qe(q,"xml: prefix must be bound to "+z+"\nActual: "+q.attribValue);else if("xmlns"===de&&q.attribValue!==P)Qe(q,"xmlns: prefix must be bound to "+P+"\nActual: "+q.attribValue);else{var je=q.tag,_t=q.tags[q.tags.length-1]||q;je.ns===_t.ns&&(je.ns=Object.create(_t.ns)),je.ns[de]=q.attribValue}q.attribList.push([q.attribName,q.attribValue])}else q.tag.attributes[q.attribName]=q.attribValue,ne(q,"onattribute",{name:q.attribName,value:q.attribValue});q.attribName=q.attribValue=""}}function Le(q,G){if(q.opt.xmlns){var pe=q.tag,de=Xe(q.tagName);pe.prefix=de.prefix,pe.local=de.local,pe.uri=pe.ns[de.prefix]||"",pe.prefix&&!pe.uri&&(Qe(q,"Unbound namespace prefix: "+JSON.stringify(q.tagName)),pe.uri=de.prefix),pe.ns&&(q.tags[q.tags.length-1]||q).ns!==pe.ns&&Object.keys(pe.ns).forEach(function(In){ne(q,"onopennamespace",{prefix:In,uri:pe.ns[In]})});for(var _t=0,pt=q.attribList.length;_t",q.tagName="",void(q.state=te.SCRIPT);ne(q,"onscript",q.script),q.script=""}var G=q.tags.length,pe=q.tagName;q.strict||(pe=pe[q.looseCase]());for(var de=pe;G--&&q.tags[G].name!==de;)Qe(q,"Unexpected close tag");if(G<0)return Qe(q,"Unmatched closing tag: "+q.tagName),q.textNode+="",void(q.state=te.TEXT);q.tagName=pe;for(var _t=q.tags.length;_t-- >G;){var pt=q.tag=q.tags.pop();q.tagName=q.tag.name,ne(q,"onclosetag",q.tagName);var we={};for(var B in pt.ns)we[B]=pt.ns[B];q.opt.xmlns&&pt.ns!==(q.tags[q.tags.length-1]||q).ns&&Object.keys(pt.ns).forEach(function(V){ne(q,"onclosenamespace",{prefix:V,uri:pt.ns[V]})})}0===G&&(q.closedRoot=!0),q.tagName=q.attribValue=q.attribName="",q.attribList.length=0,q.state=te.TEXT}function Me(q){var de,G=q.entity,pe=G.toLowerCase(),je="";return q.ENTITIES[G]?q.ENTITIES[G]:q.ENTITIES[pe]?q.ENTITIES[pe]:("#"===(G=pe).charAt(0)&&("x"===G.charAt(1)?(G=G.slice(2),je=(de=parseInt(G,16)).toString(16)):(G=G.slice(1),je=(de=parseInt(G,10)).toString(10))),G=G.replace(/^0+/,""),isNaN(de)||je.toLowerCase()!==G?(Qe(q,"Invalid character entity"),"&"+q.entity+";"):String.fromCodePoint(de))}function Ue(q,G){"<"===G?(q.state=te.OPEN_WAKA,q.startTagPosition=q.position):E(G)||(Qe(q,"Non-whitespace before first tag."),q.textNode=G,q.state=te.TEXT)}function qe(q,G){var pe="";return G1114111||G(V)!==V)throw RangeError("Invalid code point: "+V);V<=65535?je.push(V):je.push(55296+((V-=65536)>>10),V%1024+56320),(we+1===B||je.length>de)&&(N+=q.apply(null,je),je.length=0)}return N},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:pe,configurable:!0,writable:!0}):String.fromCodePoint=pe)}(void 0===he?this.sax={}:he)}).call(this)}).call(this,Y("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(Y,Se,he){(function(W,j){(function(){!function(k,Q){"use strict";if(!k.setImmediate){var T,H=1,w={},C=!1,R=k.document,K=Object.getPrototypeOf&&Object.getPrototypeOf(k);K=K&&K.setTimeout?K:k,"[object process]"==={}.toString.call(k.process)?T=function(E){W.nextTick(function(){A(E)})}:function(){if(k.postMessage&&!k.importScripts){var E=!0,$=k.onmessage;return k.onmessage=function(){E=!1},k.postMessage("","*"),k.onmessage=$,E}}()?(E="setImmediate$"+Math.random()+"$",$=function(Z){Z.source===k&&"string"==typeof Z.data&&0===Z.data.indexOf(E)&&A(+Z.data.slice(E.length))},k.addEventListener?k.addEventListener("message",$,!1):k.attachEvent("onmessage",$),T=function(Z){k.postMessage(E+Z,"*")}):k.MessageChannel?function(){var E=new MessageChannel;E.port1.onmessage=function($){A($.data)},T=function($){E.port2.postMessage($)}}():R&&"onreadystatechange"in R.createElement("script")?function(){var E=R.documentElement;T=function($){var Z=R.createElement("script");Z.onreadystatechange=function(){A($),Z.onreadystatechange=null,E.removeChild(Z),Z=null},E.appendChild(Z)}}():T=function(E){setTimeout(A,0,E)},K.setImmediate=function(E){"function"!=typeof E&&(E=new Function(""+E));for(var $=new Array(arguments.length-1),Z=0;Z<$.length;Z++)$[Z]=arguments[Z+1];return w[H]={callback:E,args:$},T(H),H++},K.clearImmediate=y}var E,$;function y(E){delete w[E]}function A(E){if(C)setTimeout(A,0,E);else{var $=w[E];if($){C=!0;try{!function(E){var $=E.callback,Z=E.args;switch(Z.length){case 0:$();break;case 1:$(Z[0]);break;case 2:$(Z[0],Z[1]);break;case 3:$(Z[0],Z[1],Z[2]);break;default:$.apply(void 0,Z)}}($)}finally{y(E),C=!1}}}}}("undefined"==typeof self?void 0===j?this:j:self)}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:44}],87:[function(Y,Se,he){Se.exports=k;var W=Y("events").EventEmitter;function k(){W.call(this)}Y("inherits")(k,W),k.Readable=Y("readable-stream/lib/_stream_readable.js"),k.Writable=Y("readable-stream/lib/_stream_writable.js"),k.Duplex=Y("readable-stream/lib/_stream_duplex.js"),k.Transform=Y("readable-stream/lib/_stream_transform.js"),k.PassThrough=Y("readable-stream/lib/_stream_passthrough.js"),k.finished=Y("readable-stream/lib/internal/streams/end-of-stream.js"),k.pipeline=Y("readable-stream/lib/internal/streams/pipeline.js"),k.Stream=k,k.prototype.pipe=function(Q,H){var w=this;function C(z){Q.writable&&!1===Q.write(z)&&w.pause&&w.pause()}function R(){w.readable&&w.resume&&w.resume()}w.on("data",C),Q.on("drain",R),!Q._isStdio&&(!H||!1!==H.end)&&(w.on("end",b),w.on("close",y));var T=!1;function b(){T||(T=!0,Q.end())}function y(){T||(T=!0,"function"==typeof Q.destroy&&Q.destroy())}function S(z){if(A(),0===W.listenerCount(this,"error"))throw z}function A(){w.removeListener("data",C),Q.removeListener("drain",R),w.removeListener("end",b),w.removeListener("close",y),w.removeListener("error",S),Q.removeListener("error",S),w.removeListener("end",A),w.removeListener("close",A),Q.removeListener("close",A)}return w.on("error",S),Q.on("error",S),w.on("end",A),w.on("close",A),Q.on("close",A),Q.emit("pipe",w),Q}},{events:8,inherits:10,"readable-stream/lib/_stream_duplex.js":68,"readable-stream/lib/_stream_passthrough.js":69,"readable-stream/lib/_stream_readable.js":70,"readable-stream/lib/_stream_transform.js":71,"readable-stream/lib/_stream_writable.js":72,"readable-stream/lib/internal/streams/end-of-stream.js":76,"readable-stream/lib/internal/streams/pipeline.js":78}],88:[function(Y,Se,he){arguments[4][5][0].apply(he,arguments)},{dup:5,"safe-buffer":84}],89:[function(Y,Se,he){(function(W,j){(function(){var k=Y("process/browser.js").nextTick,Q=Function.prototype.apply,H=Array.prototype.slice,w={},C=0;function R(T,b){this._id=T,this._clearFn=b}he.setTimeout=function(){return new R(Q.call(setTimeout,window,arguments),clearTimeout)},he.setInterval=function(){return new R(Q.call(setInterval,window,arguments),clearInterval)},he.clearTimeout=he.clearInterval=function(T){T.close()},R.prototype.unref=R.prototype.ref=function(){},R.prototype.close=function(){this._clearFn.call(window,this._id)},he.enroll=function(T,b){clearTimeout(T._idleTimeoutId),T._idleTimeout=b},he.unenroll=function(T){clearTimeout(T._idleTimeoutId),T._idleTimeout=-1},he._unrefActive=he.active=function(T){clearTimeout(T._idleTimeoutId);var b=T._idleTimeout;b>=0&&(T._idleTimeoutId=setTimeout(function(){T._onTimeout&&T._onTimeout()},b))},he.setImmediate="function"==typeof W?W:function(T){var b=C++,y=!(arguments.length<2)&&H.call(arguments,1);return w[b]=!0,k(function(){w[b]&&(y?T.apply(null,y):T.call(null),he.clearImmediate(b))}),b},he.clearImmediate="function"==typeof j?j:function(T){delete w[T]}}).call(this)}).call(this,Y("timers").setImmediate,Y("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(Y,Se,he){(function(W){(function(){function k(Q){try{if(!W.localStorage)return!1}catch(w){return!1}var H=W.localStorage[Q];return null!=H&&"true"===String(H).toLowerCase()}Se.exports=function(Q,H){if(k("noDeprecation"))return Q;var w=!1;return function(){if(!w){if(k("throwDeprecation"))throw new Error(H);k("traceDeprecation")?console.trace(H):console.warn(H),w=!0}return Q.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(Y,Se,he){"use strict";Se.exports=function(W){W.prototype[Symbol.iterator]=function*(){for(let j=this.head;j;j=j.next)yield j.value}}},{}],92:[function(Y,Se,he){"use strict";function W(w){var C=this;if(C instanceof W||(C=new W),C.tail=null,C.head=null,C.length=0,w&&"function"==typeof w.forEach)w.forEach(function(b){C.push(b)});else if(arguments.length>0)for(var R=0,T=arguments.length;R1)R=C;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");T=this.head.next,R=this.head.value}for(var b=0;null!==T;b++)R=w(R,T.value,b),T=T.next;return R},W.prototype.reduceReverse=function(w,C){var R,T=this.tail;if(arguments.length>1)R=C;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");T=this.tail.prev,R=this.tail.value}for(var b=this.length-1;null!==T;b--)R=w(R,T.value,b),T=T.prev;return R},W.prototype.toArray=function(){for(var w=new Array(this.length),C=0,R=this.head;null!==R;C++)w[C]=R.value,R=R.next;return w},W.prototype.toArrayReverse=function(){for(var w=new Array(this.length),C=0,R=this.tail;null!==R;C++)w[C]=R.value,R=R.prev;return w},W.prototype.slice=function(w,C){(C=C||this.length)<0&&(C+=this.length),(w=w||0)<0&&(w+=this.length);var R=new W;if(Cthis.length&&(C=this.length);for(var T=0,b=this.head;null!==b&&Tthis.length&&(C=this.length);for(var T=this.length,b=this.tail;null!==b&&T>C;T--)b=b.prev;for(;null!==b&&T>w;T--,b=b.prev)R.push(b.value);return R},W.prototype.splice=function(w,C,...R){w>this.length&&(w=this.length-1),w<0&&(w=this.length+w);for(var T=0,b=this.head;null!==b&&T{"use strict";Ut.exports=et,Ut.exports.default=et;var it=1e20;function et(Y,Se,he,W,j,k){this.fontSize=Y||24,this.buffer=void 0===Se?3:Se,this.cutoff=W||.25,this.fontFamily=j||"sans-serif",this.fontWeight=k||"normal",this.radius=he||8;var Q=this.size=this.fontSize+2*this.buffer,H=Q+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=Q,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(H*H),this.gridInner=new Float64Array(H*H),this.f=new Float64Array(H),this.z=new Float64Array(H+1),this.v=new Uint16Array(H),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(Q/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function Dt(Y,Se,he,W,j,k){for(var Q=0;Q-1);k[++w]=H,Q[w]=C,Q[w+1]=it}for(H=0,w=0;H{Ut.exports=function(et,yt){var ee=yt.length;if(0!==ee){var Dt=et.length;et.length+=ee;for(var dt=0;dt{"use strict";var yt=(()=>{return(Dt=yt||(yt={})).typeOfFunction="function",Dt.boolTrue=!0,yt;var Dt})();function ee(Dt,dt,Y){if(!Y||typeof Y.value!==yt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+dt+"> is not a method!");return{configurable:yt.boolTrue,get:function(){var Se=Y.value.bind(this);return Object.defineProperty(this,dt,{value:Se,configurable:yt.boolTrue,writable:yt.boolTrue}),Se}}}it.ak=ee,it.ZP=ee},7266:(Ut,it,et)=>{Ut.exports={ResizeSensor:et(9835),ElementQueries:et(4845)}},4845:function(Ut,it,et){"use strict";var yt,ee,Dt;"undefined"!=typeof window&&window,ee=[et(9835)],void 0!==(Dt="function"==typeof(yt=function(dt){var Y=function(){var he,W={},j=[];function k(I){I||(I=document.documentElement);var O=window.getComputedStyle(I,null).fontSize;return parseFloat(O)||16}function H(I,O){var K=O.split(/\d/),E=K[K.length-1];switch(O=parseFloat(O),E){case"px":return O;case"em":return O*k(I);case"rem":return O*k();case"vw":return O*document.documentElement.clientWidth/100;case"vh":return O*document.documentElement.clientHeight/100;case"vmin":case"vmax":var $=document.documentElement.clientWidth/100,Z=document.documentElement.clientHeight/100;return O*(0,Math["vmin"===E?"min":"max"])($,Z);default:return O}}function w(I,O){this.element=I;var K,E,$,Z,ae,oe,te,Te,me=["min-width","min-height","max-width","max-height"];this.call=function(){for(K in $=function(I){if(!I.getBoundingClientRect)return{width:I.offsetWidth,height:I.offsetHeight};var O=I.getBoundingClientRect();return{width:Math.round(O.width),height:Math.round(O.height)}}(this.element),oe={},W[O])!W[O].hasOwnProperty(K)||(Z=H(this.element,(E=W[O][K]).value),ae="width"===E.property?$.width:$.height,te="","min"===E.mode&&ae>=Z&&(te+=E.value),"max"===E.mode&&ae<=Z&&(te+=E.value),oe[Te=E.mode+"-"+E.property]||(oe[Te]=""),te&&-1===(" "+oe[Te]+" ").indexOf(" "+te+" ")&&(oe[Te]+=" "+te));for(var ne in me)!me.hasOwnProperty(ne)||(oe[me[ne]]?this.element.setAttribute(me[ne],oe[me[ne]].substr(1)):this.element.removeAttribute(me[ne]))}}function C(I,O){I.elementQueriesSetupInformation||(I.elementQueriesSetupInformation=new w(I,O)),I.elementQueriesSensor||(I.elementQueriesSensor=new dt(I,function(){I.elementQueriesSetupInformation.call()}))}function R(I,O,K,E){if(void 0===W[I]){W[I]=[];var $=j.length;he.innerHTML+="\n"+I+" {animation: 0.1s element-queries;}",he.innerHTML+="\n"+I+" > .resize-sensor {min-width: "+$+"px;}",j.push(I)}W[I].push({mode:O,property:K,value:E})}function T(I){var O;if(document.querySelectorAll&&(O=I?I.querySelectorAll.bind(I):document.querySelectorAll.bind(document)),!O&&"undefined"!=typeof $$&&(O=$$),!O&&"undefined"!=typeof jQuery&&(O=jQuery),!O)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return O}function y(I){var O=[],K=[],E=[],$=0,Z=-1,ae=[];for(var oe in I.children)if(I.children.hasOwnProperty(oe)&&I.children[oe].tagName&&"img"===I.children[oe].tagName.toLowerCase()){O.push(I.children[oe]);var te=I.children[oe].getAttribute("min-width")||I.children[oe].getAttribute("data-min-width"),Te=I.children[oe].getAttribute("data-src")||I.children[oe].getAttribute("url");E.push(Te),K.push({minWidth:te}),te?I.children[oe].style.display="none":($=O.length-1,I.children[oe].style.display="block")}function ne(){var Oe,ye=!1;for(Oe in O)!O.hasOwnProperty(Oe)||K[Oe].minWidth&&I.offsetWidth>K[Oe].minWidth&&(ye=Oe);if(ye||(ye=$),Z!==ye)if(ae[ye])O[Z].style.display="none",O[ye].style.display="block",Z=ye;else{var $e=new Image;$e.onload=function(){O[ye].src=E[ye],O[Z].style.display="none",O[ye].style.display="block",ae[ye]=!0,Z=ye},$e.src=E[ye]}else O[ye].src=E[ye]}Z=$,I.resizeSensorInstance=new dt(I,ne),ne()}var A=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,z=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function P(I){var O,K,E,$;for(I=I.replace(/'/g,'"');null!==(O=A.exec(I));)for(K=O[1]+O[3],E=O[2];null!==($=z.exec(E));)R(K,$[1],$[2],$[3])}function X(I){var O="";if(I)if("string"==typeof I)(-1!==(I=I.toLowerCase()).indexOf("min-width")||-1!==I.indexOf("max-width"))&&P(I);else for(var K=0,E=I.length;K img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",he.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(he),ue=!0);for(var O=0,K=document.styleSheets.length;O{var yt=et(3910),ee=et(9369),Dt=et(322);function dt(Q,H,w){if(!yt(Q))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!Q.hasNode(H))throw new Error('graphology-shortest-path: the "'+H+'" source node does not exist in the given graph.');if(!Q.hasNode(w))throw new Error('graphology-shortest-path: the "'+w+'" target node does not exist in the given graph.');if((H=""+H)==(w=""+w))return[H];var C=Q.inboundNeighbors.bind(Q),R=Q.outboundNeighbors.bind(Q),T={},b={};T[H]=null,b[w]=null;var A,z,P,X,ue,I,O,K,y=[H],S=[w],E=!1;e:for(;y.length&&S.length;)if(y.length<=S.length){for(A=y,y=[],ue=0,O=A.length;ue{Ut.exports=function(et){return null!==et&&"object"==typeof et&&"function"==typeof et.addUndirectedEdgeWithKey&&"function"==typeof et.dropNode&&"boolean"==typeof et.multi}},698:function(Ut){Ut.exports=function(){"use strict";function it(re){return(it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(fe){return typeof fe}:function(fe){return fe&&"function"==typeof Symbol&&fe.constructor===Symbol&&fe!==Symbol.prototype?"symbol":typeof fe})(re)}function et(re,fe){re.prototype=Object.create(fe.prototype),re.prototype.constructor=re,ee(re,fe)}function yt(re){return(yt=Object.setPrototypeOf?Object.getPrototypeOf:function(fe){return fe.__proto__||Object.getPrototypeOf(fe)})(re)}function ee(re,fe){return(ee=Object.setPrototypeOf||function(se,M){return se.__proto__=M,se})(re,fe)}function Dt(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(re){return!1}}function dt(re,fe,se){return(dt=Dt()?Reflect.construct:function(M,L,J){var Ee=[null];Ee.push.apply(Ee,L);var Fe=new(Function.bind.apply(M,Ee));return J&&ee(Fe,J.prototype),Fe}).apply(null,arguments)}function Y(re){var fe="function"==typeof Map?new Map:void 0;return(Y=function(se){if(null===se||-1===Function.toString.call(se).indexOf("[native code]"))return se;if("function"!=typeof se)throw new TypeError("Super expression must either be null or a function");if(void 0!==fe){if(fe.has(se))return fe.get(se);fe.set(se,L)}function L(){return dt(se,arguments,yt(this).constructor)}return L.prototype=Object.create(se.prototype,{constructor:{value:L,enumerable:!1,writable:!0,configurable:!0}}),ee(L,se)})(re)}function Se(re){if(void 0===re)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return re}var he=function(){for(var re=arguments[0],fe=1,se=arguments.length;fe0&&Ee.length>L&&!Ee.warned){Ee.warned=!0;var nt=new Error("Possible EventEmitter memory leak detected. "+Ee.length+" "+String(fe)+" listeners added. Use emitter.setMaxListeners() to increase limit");nt.name="MaxListenersExceededWarning",nt.emitter=re,nt.type=fe,nt.count=Ee.length,console&&console.warn&&console.warn(nt)}return re}function I(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function O(re,fe,se){var M={fired:!1,wrapFn:void 0,target:re,type:fe,listener:se},L=I.bind(M);return L.listener=se,M.wrapFn=L,L}function K(re,fe,se){var M=re._events;if(void 0===M)return[];var L=M[fe];return void 0===L?[]:"function"==typeof L?se?[L.listener||L]:[L]:se?function(J){for(var Ee=new Array(J.length),Fe=0;Fe0&&(J=fe[0]),J instanceof Error)throw J;var Ee=new Error("Unhandled error."+(J?" ("+J.message+")":""));throw Ee.context=J,Ee}var Fe=L[re];if(void 0===Fe)return!1;if("function"==typeof Fe)y(Fe,this,fe);else{var nt=Fe.length,Pt=$(Fe,nt);for(se=0;se=0;J--)if(se[J]===fe||se[J].listener===fe){Ee=se[J].listener,L=J;break}if(L<0)return this;0===L?se.shift():function(Fe,nt){for(;nt+1=0;M--)this.removeListener(re,fe[M]);return this},A.prototype.listeners=function(re){return K(this,re,!0)},A.prototype.rawListeners=function(re){return K(this,re,!1)},A.listenerCount=function(re,fe){return"function"==typeof re.listenerCount?re.listenerCount(fe):E.call(re,fe)},A.prototype.listenerCount=E,A.prototype.eventNames=function(){return this._eventsCount>0?R(this._events):[]},ae.prototype.next=function(){if(this.done)return{done:!0};var re=this._next();return re.done&&(this.done=!0),re},"undefined"!=typeof Symbol&&(ae.prototype[Symbol.iterator]=function(){return this}),ae.of=function(){var re=arguments,fe=re.length,se=0;return new ae(function(){return se>=fe?{done:!0}:{done:!1,value:re[se++]}})},ae.empty=function(){var re=new ae(null);return re.done=!0,re},ae.is=function(re){return re instanceof ae||"object"==typeof re&&null!==re&&"function"==typeof re.next};var oe=ae,te=function(re,fe){for(var se,M=arguments.length>1?fe:1/0,L=M!==1/0?new Array(M):[],J=0;;){if(J===M)return L;if((se=re.next()).done)return J!==fe?L.slice(0,J):L;L[J++]=se.value}},Te=function(re){function fe(se,M){var L;return(L=re.call(this)||this).name="GraphError",L.message=se||"",L.data=M||{},L}return et(fe,re),fe}(Y(Error)),me=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te),ne=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te),ye=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te);function Oe(re,fe){this.key=re,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function $e(re,fe){this.key=re,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function st(re,fe){this.key=re,this.attributes=fe,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function Qe(re,fe,se,M,L,J){this.key=fe,this.attributes=J,this.undirected=re,this.source=M,this.target=L,this.generatedKey=se}function tt(re,fe,se,M,L,J,Ee){var Fe,nt,Pt="out",We="in";if(fe&&(Pt=We="undirected"),re.multi){if(void 0===(nt=(Fe=J[Pt])[L])&&(nt=new Set,Fe[L]=nt),nt.add(se),M===L&&fe)return;void 0===(Fe=Ee[We])[M]&&(Fe[M]=nt)}else{if(J[Pt][L]=se,M===L&&fe)return;Ee[We][M]=se}}function Xe(re,fe,se){var M=re.multi,L=se.source,J=se.target,Ee=L.key,Fe=J.key,nt=L[fe?"undirected":"out"],Pt=fe?"undirected":"in";if(Fe in nt)if(M){var We=nt[Fe];1===We.size?(delete nt[Fe],delete J[Pt][Ee]):We.delete(se)}else delete nt[Fe];M||delete J[Pt][Ee]}$e.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},st.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var ze=[{name:function(re){return"get".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes[L]}}},{name:function(re){return"get".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M){var L;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var J=""+M,Ee=""+arguments[1];if(!(L=W(this,J,Ee,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(J,'" - "').concat(Ee,'").'))}else if(!(L=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&L.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return L.attributes}}},{name:function(re){return"has".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes.hasOwnProperty(L)}}},{name:function(re){return"set".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L,J){var Ee;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+L;if(L=arguments[2],J=arguments[3],!(Ee=W(this,Fe,nt,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(Ee=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&Ee.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return Ee.attributes[L]=J,this.emit("edgeAttributesUpdated",{key:Ee.key,type:"set",attributes:Ee.attributes,name:L}),this}}},{name:function(re){return"update".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L,J){var Ee;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+L;if(L=arguments[2],J=arguments[3],!(Ee=W(this,Fe,nt,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(Ee=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("function"!=typeof J)throw new me("Graph.".concat(fe,": updater should be a function."));if("mixed"!==se&&Ee.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return Ee.attributes[L]=J(Ee.attributes[L]),this.emit("edgeAttributesUpdated",{key:Ee.key,type:"set",attributes:Ee.attributes,name:L}),this}}},{name:function(re){return"remove".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return delete J.attributes[L],this.emit("edgeAttributesUpdated",{key:J.key,type:"remove",attributes:J.attributes,name:L}),this}}},{name:function(re){return"replace".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!k(L))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes=L,this.emit("edgeAttributesUpdated",{key:J.key,type:"replace",attributes:J.attributes}),this}}},{name:function(re){return"merge".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!k(L))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return he(J.attributes,L),this.emit("edgeAttributesUpdated",{key:J.key,type:"merge",attributes:J.attributes,data:L}),this}}}],Le=oe,Ke=function(){var re,fe=arguments,se=-1;return new Le(function M(){if(!re){if(++se>=fe.length)return{done:!0};re=fe[se]}var L=re.next();return L.done?(re=null,M()):L})},Me=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Ue(re,fe){for(var se in fe)re.push(fe[se].key)}function qe(re,fe){for(var se in fe)fe[se].forEach(function(M){return re.push(M.key)})}function ke(re,fe,se){for(var M in re)if(M!==se){var L=re[M];fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)}}function q(re,fe,se){for(var M in re)M!==se&&re[M].forEach(function(L){return fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)})}function G(re,fe,se){for(var M in re)if(M!==se){var L=re[M];if(fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey))return!0}return!1}function pe(re,fe,se){var M,L,J,Ee,Fe;for(var nt in re)if(nt!==se)for(M=re[nt].values();!0!==(L=M.next()).done;)if(Ee=(J=L.value).source,fe(J.key,J.attributes,Ee.key,(Fe=J.target).key,Ee.attributes,Fe.attributes,J.undirected,J.generatedKey))return!0;return!1}function de(re,fe){var se=Object.keys(re),M=se.length,L=null,J=0;return new oe(function Ee(){var Fe;if(L){var nt=L.next();if(nt.done)return L=null,J++,Ee();Fe=nt.value}else{if(J>=M)return{done:!0};var Pt=se[J];if(Pt===fe)return J++,Ee();if((Fe=re[Pt])instanceof Set)return L=Fe.values(),Ee();J++}return{done:!1,value:[Fe.key,Fe.attributes,Fe.source.key,Fe.target.key,Fe.source.attributes,Fe.target.attributes]}})}function je(re,fe,se){var M=fe[se];M&&re.push(M.key)}function _t(re,fe,se){var M=fe[se];M&&M.forEach(function(L){return re.push(L.key)})}function pt(re,fe,se){var M=re[fe];if(M){var L=M.source,J=M.target;se(M.key,M.attributes,L.key,J.key,L.attributes,J.attributes,M.undirected,M.generatedKey)}}function we(re,fe,se){var M=re[fe];M&&M.forEach(function(L){return se(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)})}function B(re,fe,se){var M=re[fe];if(M){var L=M.source,J=M.target;return se(M.key,M.attributes,L.key,J.key,L.attributes,J.attributes,M.undirected,M.generatedKey)}}function N(re,fe,se){var M=re[fe];if(M){for(var L,J,Ee=M.values();!0!==(L=Ee.next()).done;)if(se((J=L.value).key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes,J.undirected,J.generatedKey))return!0;return!1}}function V(re,fe){var se=re[fe];if(se instanceof Set){var M=se.values();return new oe(function(){var L=M.next();if(L.done)return L;var J=L.value;return{done:!1,value:[J.key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes]}})}return oe.of([se.key,se.attributes,se.source.key,se.target.key,se.source.attributes,se.target.attributes])}function Re(re,fe){if(0===re.size)return[];if("mixed"===fe||fe===re.type)return"function"==typeof Array.from?Array.from(re._edges.keys()):te(re._edges.keys(),re._edges.size);for(var se,M,J=new Array("undirected"===fe?re.undirectedSize:re.directedSize),Ee="undirected"===fe,Fe=re._edges.values(),nt=0;!0!==(se=Fe.next()).done;)(M=se.value).undirected===Ee&&(J[nt++]=M.key);return J}function Ze(re,fe,se){if(0!==re.size)for(var M,L,J="mixed"!==fe&&fe!==re.type,Ee="undirected"===fe,Fe=re._edges.values();!0!==(M=Fe.next()).done;)if(L=M.value,!J||L.undirected===Ee){var qt=L.source,St=L.target;se(L.key,L.attributes,qt.key,St.key,qt.attributes,St.attributes,L.undirected,L.generatedKey)}}function Tt(re,fe,se){if(0!==re.size)for(var M,L,J="mixed"!==fe&&fe!==re.type,Ee="undirected"===fe,Fe=re._edges.values();!0!==(M=Fe.next()).done;)if(L=M.value,!J||L.undirected===Ee){var qt=L.source,St=L.target;if(se(L.key,L.attributes,qt.key,St.key,qt.attributes,St.attributes,L.undirected,L.generatedKey))break}}function kt(re,fe){if(0===re.size)return oe.empty();var se="mixed"!==fe&&fe!==re.type,M="undirected"===fe,L=re._edges.values();return new oe(function(){for(var J,Ee;;){if((J=L.next()).done)return J;if(Ee=J.value,!se||Ee.undirected===M)break}return{value:[Ee.key,Ee.attributes,Ee.source.key,Ee.target.key,Ee.source.attributes,Ee.target.attributes],done:!1}})}function In(re,fe,se,M){var L=[],J=re?qe:Ue;return"undirected"!==fe&&("out"!==se&&J(L,M.in),"in"!==se&&J(L,M.out),!se&&M.directedSelfLoops>0&&L.splice(L.lastIndexOf(M.key),1)),"directed"!==fe&&J(L,M.undirected),L}function Nn(re,fe,se,M,L){var J=re?q:ke;"undirected"!==fe&&("out"!==se&&J(M.in,L),"in"!==se&&J(M.out,L,se?null:M.key)),"directed"!==fe&&J(M.undirected,L)}function Yn(re,fe,se,M,L){var J=re?pe:G;"undirected"!==fe&&("out"!==se&&J(M.in,L)||"in"!==se&&J(M.out,L,se?null:M.key))||"directed"===fe||J(M.undirected,L)}function Mi(re,fe,se){var M=oe.empty();return"undirected"!==re&&("out"!==fe&&void 0!==se.in&&(M=Ke(M,de(se.in))),"in"!==fe&&void 0!==se.out&&(M=Ke(M,de(se.out,fe?null:se.key)))),"directed"!==re&&void 0!==se.undirected&&(M=Ke(M,de(se.undirected))),M}function xi(re,fe,se,M,L){var J=fe?_t:je,Ee=[];return"undirected"!==re&&(void 0!==M.in&&"out"!==se&&J(Ee,M.in,L),void 0!==M.out&&"in"!==se&&J(Ee,M.out,L),!se&&M.directedSelfLoops>0&&Ee.splice(Ee.lastIndexOf(M.key),1)),"directed"!==re&&void 0!==M.undirected&&J(Ee,M.undirected,L),Ee}function Xr(re,fe,se,M,L,J){var Ee=fe?we:pt;"undirected"!==re&&(void 0!==M.in&&"out"!==se&&Ee(M.in,L,J),M.key!==L&&void 0!==M.out&&"in"!==se&&Ee(M.out,L,J)),"directed"!==re&&void 0!==M.undirected&&Ee(M.undirected,L,J)}function Ls(re,fe,se,M,L,J){var Ee=fe?N:B;"undirected"!==re&&(void 0!==M.in&&"out"!==se&&Ee(M.in,L,J)||M.key!==L&&void 0!==M.out&&"in"!==se&&Ee(M.out,L,J,se?null:M.key))||"directed"===re||void 0===M.undirected||Ee(M.undirected,L,J)}function fs(re,fe,se,M){var L=oe.empty();return"undirected"!==re&&(void 0!==se.in&&"out"!==fe&&M in se.in&&(L=Ke(L,V(se.in,M))),void 0!==se.out&&"in"!==fe&&M in se.out&&(L=Ke(L,V(se.out,M)))),"directed"!==re&&void 0!==se.undirected&&M in se.undirected&&(L=Ke(L,V(se.undirected,M))),L}var Bs=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Kr(re,fe){if(void 0!==fe)for(var se in fe)re.add(se)}function xa(re,fe,se){if("mixed"!==re){if("undirected"===re)return Object.keys(se.undirected);if("string"==typeof fe)return Object.keys(se[fe])}var M=new Set;return"undirected"!==re&&("out"!==fe&&Kr(M,se.in),"in"!==fe&&Kr(M,se.out)),"directed"!==re&&Kr(M,se.undirected),te(M.values(),M.size)}function kl(re,fe,se){for(var M in fe){var L=fe[M];L instanceof Set&&(L=L.values().next().value);var J=L.source,Fe=J===re?L.target:J;se(Fe.key,Fe.attributes)}}function Sa(re,fe,se,M){for(var L in se){var J=se[L];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===fe?J.target:Ee;re.has(nt.key)||(re.add(nt.key),M(nt.key,nt.attributes))}}function ws(re,fe,se){for(var M in fe){var L=fe[M];L instanceof Set&&(L=L.values().next().value);var J=L.source,Fe=J===re?L.target:J;if(se(Fe.key,Fe.attributes))return!0}return!1}function en(re,fe,se,M){for(var L in se){var J=se[L];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===fe?J.target:Ee;if(!re.has(nt.key)&&(re.add(nt.key),M(nt.key,nt.attributes)))return!0}return!1}function nl(re,fe){var se=Object.keys(fe),M=se.length,L=0;return new oe(function(){if(L>=M)return{done:!0};var J=fe[se[L++]];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===re?J.target:Ee;return{done:!1,value:[nt.key,nt.attributes]}})}function rt(re,fe,se){var M=Object.keys(se),L=M.length,J=0;return new oe(function Ee(){if(J>=L)return{done:!0};var Fe=se[M[J++]];Fe instanceof Set&&(Fe=Fe.values().next().value);var nt=Fe.source,We=nt===fe?Fe.target:nt;return re.has(We.key)?Ee():(re.add(We.key),{done:!1,value:[We.key,We.attributes]})})}function lt(re,fe,se,M,L){var J=re._nodes.get(M);if("undirected"!==fe){if("out"!==se&&void 0!==J.in)for(var Ee in J.in)if(Ee===L)return!0;if("in"!==se&&void 0!==J.out)for(var Fe in J.out)if(Fe===L)return!0}if("directed"!==fe&&void 0!==J.undirected)for(var nt in J.undirected)if(nt===L)return!0;return!1}function Be(re,fe,se){for(var M,L,J,Ee,Fe,nt,Pt,We=fe._nodes.values(),qt=fe.type;!0!==(M=We.next()).done;){if(L=M.value,"undirected"!==qt)for(J in Ee=L.out)if(nt=(Fe=Ee[J]).target,Pt=se(L.key,nt.key,L.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),re&&Pt)return;if("directed"!==qt)for(J in Ee=L.undirected)if((nt=(Fe=Ee[J]).target).key!==J&&(nt=Fe.source),Pt=se(L.key,nt.key,L.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),re&&Pt)return}}function ut(re,fe,se){for(var M,L,J,Ee,Fe,nt,Pt,We,qt,St=fe._nodes.values(),vn=fe.type;!0!==(M=St.next()).done;){if(L=M.value,"undirected"!==vn)for(J in nt=L.out)for(Ee=nt[J].values();!0!==(Fe=Ee.next()).done;)if(We=(Pt=Fe.value).target,qt=se(L.key,We.key,L.attributes,We.attributes,Pt.key,Pt.attributes,Pt.undirected,Pt.generatedKey),re&&qt)return;if("directed"!==vn)for(J in nt=L.undirected)for(Ee=nt[J].values();!0!==(Fe=Ee.next()).done;)if((We=(Pt=Fe.value).target).key!==J&&(We=Pt.source),qt=se(L.key,We.key,L.attributes,We.attributes,Pt.key,Pt.attributes,Pt.undirected,Pt.generatedKey),re&&qt)return}}function Je(re,fe){var se={key:re};return Q(fe.attributes)||(se.attributes=he({},fe.attributes)),se}function Mt(re,fe){var se={source:fe.source.key,target:fe.target.key};return fe.generatedKey||(se.key=re),Q(fe.attributes)||(se.attributes=he({},fe.attributes)),fe.undirected&&(se.undirected=!0),se}function It(re){return k(re)?"key"in re?!("attributes"in re)||k(re.attributes)&&null!==re.attributes?null:"invalid-attributes":"no-key":"not-object"}function Ot(re){return k(re)?"source"in re?"target"in re?!("attributes"in re)||k(re.attributes)&&null!==re.attributes?"undirected"in re&&"boolean"!=typeof re.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var Qt=new Set(["directed","undirected","mixed"]),zn=new Set(["domain","_events","_eventsCount","_maxListeners"]),ci={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Rn(re,fe,se){var M=new re.NodeDataClass(fe,se);return re._nodes.set(fe,M),re.emit("nodeAdded",{key:fe,attributes:se}),M}function bn(re,fe,se,M,L,J,Ee,Fe){if(!M&&"undirected"===re.type)throw new ye("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===re.type)throw new ye("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe&&!k(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));if(J=""+J,Ee=""+Ee,Fe=Fe||{},!re.allowSelfLoops&&J===Ee)throw new ye("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var nt=re._nodes.get(J),Pt=re._nodes.get(Ee);if(!nt)throw new ne("Graph.".concat(fe,': source node "').concat(J,'" not found.'));if(!Pt)throw new ne("Graph.".concat(fe,': target node "').concat(Ee,'" not found.'));var We={key:null,undirected:M,source:J,target:Ee,attributes:Fe};if(se&&(L=re._edgeKeyGenerator(We)),re._edges.has(L=""+L))throw new ye("Graph.".concat(fe,': the "').concat(L,'" edge already exists in the graph.'));if(!re.multi&&(M?void 0!==nt.undirected[Ee]:void 0!==nt.out[Ee]))throw new ye("Graph.".concat(fe,': an edge linking "').concat(J,'" to "').concat(Ee,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var qt=new Qe(M,L,se,nt,Pt,Fe);return re._edges.set(L,qt),J===Ee?M?(nt.undirectedSelfLoops++,re._undirectedSelfLoopCount++):(nt.directedSelfLoops++,re._directedSelfLoopCount++):M?(nt.undirectedDegree++,Pt.undirectedDegree++):(nt.outDegree++,Pt.inDegree++),tt(re,M,qt,J,Ee,nt,Pt),M?re._undirectedSize++:re._directedSize++,We.key=L,re.emit("edgeAdded",We),L}function Xn(re,fe,se,M,L,J,Ee,Fe,nt){if(!M&&"undirected"===re.type)throw new ye("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===re.type)throw new ye("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe)if(nt){if("function"!=typeof Fe)throw new me("Graph.".concat(fe,': invalid updater function. Expecting a function but got "').concat(Fe,'"'))}else if(!k(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));var Pt;if(J=""+J,Ee=""+Ee,nt&&(Pt=Fe,Fe=void 0),!re.allowSelfLoops&&J===Ee)throw new ye("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var We,qt,St=re._nodes.get(J),vn=re._nodes.get(Ee);if(!se&&(We=re._edges.get(L))){if(We.source.key!==J||We.target.key!==Ee||M&&(We.source.key!==Ee||We.target.key!==J))throw new ye("Graph.".concat(fe,': inconsistency detected when attempting to merge the "').concat(L,'" edge with "').concat(J,'" source & "').concat(Ee,'" target vs. ("').concat(We.source.key,'", "').concat(We.target.key,'").'));qt=We}if(qt||re.multi||!St||(qt=M?St.undirected[Ee]:St.out[Ee]),qt)return(nt?Pt:Fe)?(nt?(qt.attributes=Pt(qt.attributes),re.emit("edgeAttributesUpdated",{type:"replace",key:qt.key,attributes:qt.attributes})):(he(qt.attributes,Fe),re.emit("edgeAttributesUpdated",{type:"merge",key:qt.key,attributes:qt.attributes,data:Fe})),qt.key):qt.key;Fe=Fe||{},nt&&Pt&&(Fe=Pt(Fe));var Zr={key:null,undirected:M,source:J,target:Ee,attributes:Fe};if(se&&(L=re._edgeKeyGenerator(Zr)),re._edges.has(L=""+L))throw new ye("Graph.".concat(fe,': the "').concat(L,'" edge already exists in the graph.'));return St||(St=Rn(re,J,{}),J===Ee&&(vn=St)),vn||(vn=Rn(re,Ee,{})),We=new Qe(M,L,se,St,vn,Fe),re._edges.set(L,We),J===Ee?M?(St.undirectedSelfLoops++,re._undirectedSelfLoopCount++):(St.directedSelfLoops++,re._directedSelfLoopCount++):M?(St.undirectedDegree++,vn.undirectedDegree++):(St.outDegree++,vn.inDegree++),tt(re,M,We,J,Ee,St,vn),M?re._undirectedSize++:re._directedSize++,Zr.key=L,re.emit("edgeAdded",Zr),L}var re,Cn=function(re){function fe(M){var L;if(L=re.call(this)||this,(M=he({},ci,M)).edgeKeyGenerator&&"function"!=typeof M.edgeKeyGenerator)throw new me("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(M.edgeKeyGenerator,'".'));if("boolean"!=typeof M.multi)throw new me("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(M.multi,'".'));if(!Qt.has(M.type))throw new me('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(M.type,'".'));if("boolean"!=typeof M.allowSelfLoops)throw new me("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(M.allowSelfLoops,'".'));var J,Ee="mixed"===M.type?Oe:"directed"===M.type?$e:st;return H(Se(L),"NodeDataClass",Ee),H(Se(L),"_attributes",{}),H(Se(L),"_nodes",new Map),H(Se(L),"_edges",new Map),H(Se(L),"_directedSize",0),H(Se(L),"_undirectedSize",0),H(Se(L),"_directedSelfLoopCount",0),H(Se(L),"_undirectedSelfLoopCount",0),H(Se(L),"_edgeKeyGenerator",M.edgeKeyGenerator||(J=0,function(){return J++})),H(Se(L),"_options",M),zn.forEach(function(Fe){return H(Se(L),Fe,L[Fe])}),w(Se(L),"order",function(){return L._nodes.size}),w(Se(L),"size",function(){return L._edges.size}),w(Se(L),"directedSize",function(){return L._directedSize}),w(Se(L),"undirectedSize",function(){return L._undirectedSize}),w(Se(L),"selfLoopCount",function(){return L._directedSelfLoopCount+L._undirectedSelfLoopCount}),w(Se(L),"directedSelfLoopCount",function(){return L._directedSelfLoopCount}),w(Se(L),"undirectedSelfLoopCount",function(){return L._undirectedSelfLoopCount}),w(Se(L),"multi",L._options.multi),w(Se(L),"type",L._options.type),w(Se(L),"allowSelfLoops",L._options.allowSelfLoops),w(Se(L),"implementation",function(){return"graphology"}),L}et(fe,re);var se=fe.prototype;return se.hasNode=function(M){return this._nodes.has(""+M)},se.hasDirectedEdge=function(M,L){if("undirected"===this.type)return!1;if(1===arguments.length){var Ee=this._edges.get(""+M);return!!Ee&&!Ee.undirected}if(2===arguments.length){L=""+L;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.out[L];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.hasUndirectedEdge=function(M,L){if("directed"===this.type)return!1;if(1===arguments.length){var Ee=this._edges.get(""+M);return!!Ee&&Ee.undirected}if(2===arguments.length){L=""+L;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.undirected[L];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.hasEdge=function(M,L){if(1===arguments.length)return this._edges.has(""+M);if(2===arguments.length){L=""+L;var Ee=this._nodes.get(M=""+M);if(!Ee)return!1;var Fe=void 0!==Ee.out&&Ee.out[L];return Fe||(Fe=void 0!==Ee.undirected&&Ee.undirected[L]),!(!Fe||this.multi&&!Fe.size)}throw new me("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.directedEdge=function(M,L){if("undirected"!==this.type){if(M=""+M,L=""+L,this.multi)throw new ye("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.directedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.directedEdge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.out&&J.out[L]||void 0;return Ee?Ee.key:void 0}},se.undirectedEdge=function(M,L){if("directed"!==this.type){if(M=""+M,L=""+L,this.multi)throw new ye("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.undirectedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.undirectedEdge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.undirected&&J.undirected[L]||void 0;return Ee?Ee.key:void 0}},se.edge=function(M,L){if(this.multi)throw new ye("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");L=""+L;var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.edge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.edge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.out&&J.out[L]||J.undirected&&J.undirected[L]||void 0;if(Ee)return Ee.key},se.inDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.inDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.inDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.inDegree+(L?J.directedSelfLoops:0)},se.outDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.outDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.outDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.outDegree+(L?J.directedSelfLoops:0)},se.directedDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.directedDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.directedDegree: could not find the "'.concat(M,'" node in the graph.'));if("undirected"===this.type)return 0;var Ee=L?J.directedSelfLoops:0;return J.inDegree+Ee+(J.outDegree+Ee)},se.undirectedDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.undirectedDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.undirectedDegree: could not find the "'.concat(M,'" node in the graph.'));return"directed"===this.type?0:J.undirectedDegree+2*(L?J.undirectedSelfLoops:0)},se.degree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.degree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.degree: could not find the "'.concat(M,'" node in the graph.'));var Ee=0,Fe=0;return"directed"!==this.type&&(L&&(Fe=J.undirectedSelfLoops),Ee+=J.undirectedDegree+2*Fe),"undirected"!==this.type&&(L&&(Fe=J.directedSelfLoops),Ee+=J.inDegree+J.outDegree+2*Fe),Ee},se.source=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.source: could not find the "'.concat(M,'" edge in the graph.'));return L.source.key},se.target=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.target: could not find the "'.concat(M,'" edge in the graph.'));return L.target.key},se.extremities=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.extremities: could not find the "'.concat(M,'" edge in the graph.'));return[L.source.key,L.target.key]},se.opposite=function(M,L){M=""+M;var J=this._edges.get(L=""+L);if(!J)throw new ne('Graph.opposite: could not find the "'.concat(L,'" edge in the graph.'));var Ee=J.source.key,Fe=J.target.key;if(M!==Ee&&M!==Fe)throw new ne('Graph.opposite: the "'.concat(M,'" node is not attached to the "').concat(L,'" edge (').concat(Ee,", ").concat(Fe,")."));return M===Ee?Fe:Ee},se.hasExtremity=function(M,L){L=""+L;var J=this._edges.get(M=""+M);if(!J)throw new ne('Graph.hasExtremity: could not find the "'.concat(M,'" edge in the graph.'));return J.source.key===L||J.target.key===L},se.isUndirected=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isUndirected: could not find the "'.concat(M,'" edge in the graph.'));return L.undirected},se.isDirected=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isDirected: could not find the "'.concat(M,'" edge in the graph.'));return!L.undirected},se.isSelfLoop=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isSelfLoop: could not find the "'.concat(M,'" edge in the graph.'));return L.source===L.target},se.hasGeneratedKey=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.hasGeneratedKey: could not find the "'.concat(M,'" edge in the graph.'));return L.generatedKey},se.addNode=function(M,L){return function(J,Ee,Fe){if(Fe&&!k(Fe))throw new me('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(Fe,'"'));if(Fe=Fe||{},J._nodes.has(Ee=""+Ee))throw new ye('Graph.addNode: the "'.concat(Ee,'" node already exist in the graph.'));var nt=new J.NodeDataClass(Ee,Fe);return J._nodes.set(Ee,nt),J.emit("nodeAdded",{key:Ee,attributes:Fe}),nt}(this,M,L).key},se.mergeNode=function(M,L){if(L&&!k(L))throw new me('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(L,'"'));L=L||{};var J=this._nodes.get(M=""+M);return J?(L&&(he(J.attributes,L),this.emit("nodeAttributesUpdated",{type:"merge",key:M,attributes:J.attributes,data:L})),M):(J=new this.NodeDataClass(M,L),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:L}),M)},se.updateNode=function(M,L){if(L&&"function"!=typeof L)throw new me('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(L,'"'));var J=this._nodes.get(M=""+M);if(J)return L&&(J.attributes=L(J.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:M,attributes:J.attributes})),M;var Fe=L?L({}):{};return J=new this.NodeDataClass(M,Fe),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:Fe}),M},se.dropNode=function(M){var L=this,J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.dropNode: could not find the "'.concat(M,'" node in the graph.'));this.forEachEdge(M,function(Ee){L.dropEdge(Ee)}),this._nodes.delete(M),this.emit("nodeDropped",{key:M,attributes:J.attributes})},se.dropEdge=function(M){var L;if(arguments.length>1){var J=""+arguments[0],Ee=""+arguments[1];if(!(L=W(this,J,Ee,this.type)))throw new ne('Graph.dropEdge: could not find the "'.concat(J,'" -> "').concat(Ee,'" edge in the graph.'))}else if(!(L=this._edges.get(M=""+M)))throw new ne('Graph.dropEdge: could not find the "'.concat(M,'" edge in the graph.'));this._edges.delete(L.key);var nt=L.source,Pt=L.target,We=L.attributes,qt=L.undirected;return nt===Pt?qt?(nt.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(nt.directedSelfLoops--,this._directedSelfLoopCount--):qt?(nt.undirectedDegree--,Pt.undirectedDegree--):(nt.outDegree--,Pt.inDegree--),Xe(this,qt,L),qt?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:M,attributes:We,source:nt.key,target:Pt.key,undirected:qt}),this},se.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},se.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},se.getAttribute=function(M){return this._attributes[M]},se.getAttributes=function(){return this._attributes},se.hasAttribute=function(M){return this._attributes.hasOwnProperty(M)},se.setAttribute=function(M,L){return this._attributes[M]=L,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},se.updateAttribute=function(M,L){if("function"!=typeof L)throw new me("Graph.updateAttribute: updater should be a function.");return this._attributes[M]=L(this._attributes[M]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},se.removeAttribute=function(M){return delete this._attributes[M],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:M}),this},se.replaceAttributes=function(M){if(!k(M))throw new me("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=M,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},se.mergeAttributes=function(M){if(!k(M))throw new me("Graph.mergeAttributes: provided attributes are not a plain object.");return he(this._attributes,M),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:M}),this},se.getNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.getNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes[L]},se.getNodeAttributes=function(M){var L=this._nodes.get(M=""+M);if(!L)throw new ne('Graph.getNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));return L.attributes},se.hasNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes.hasOwnProperty(L)},se.setNodeAttribute=function(M,L,J){var Ee=this._nodes.get(M=""+M);if(!Ee)throw new ne('Graph.setNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return Ee.attributes[L]=J,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:Ee.attributes,name:L}),this},se.updateNodeAttribute=function(M,L,J){var Ee=this._nodes.get(M=""+M);if(!Ee)throw new ne('Graph.updateNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof J)throw new me("Graph.updateAttribute: updater should be a function.");var Fe=Ee.attributes,nt=J(Fe[L]);return Fe[L]=nt,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:Ee.attributes,name:L}),this},se.removeNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return delete J.attributes[L],this.emit("nodeAttributesUpdated",{key:M,type:"remove",attributes:J.attributes,name:L}),this},se.replaceNodeAttributes=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.replaceNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!k(L))throw new me("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return J.attributes=L,this.emit("nodeAttributesUpdated",{key:M,type:"replace",attributes:J.attributes}),this},se.mergeNodeAttributes=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.mergeNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!k(L))throw new me("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return he(J.attributes,L),this.emit("nodeAttributesUpdated",{key:M,type:"merge",attributes:J.attributes,data:L}),this},se.updateEachNodeAttributes=function(M,L){if("function"!=typeof M)throw new me("Graph.updateEachNodeAttributes: expecting an updater function.");if(L&&!C(L))throw new me("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,Ee,Fe=this._nodes.values();!0!==(J=Fe.next()).done;)(Ee=J.value).attributes=M(Ee.key,Ee.attributes);this.emit("eachNodeAttributesUpdated",{hints:L||null})},se.updateEachEdgeAttributes=function(M,L){if("function"!=typeof M)throw new me("Graph.updateEachEdgeAttributes: expecting an updater function.");if(L&&!C(L))throw new me("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,Ee,Fe=this._edges.values();!0!==(J=Fe.next()).done;)(Ee=J.value).attributes=M(Ee.key,Ee.attributes);this.emit("eachEdgeAttributesUpdated",{hints:L||null})},se.forEach=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!1,this,M):Be(!1,this,M)},se.forEachUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!0,this,M):Be(!0,this,M)},se.adjacency=function(){return this.multi?(nt=(M=this)._nodes.values(),Pt=M.type,We="outer",qt=null,new oe(function St(){var vn;if("outer"===We)return!0===(vn=nt.next()).done?vn:(L=vn.value,We="directed",St());if("directed"===We)return"undirected"===Pt?(We="undirected",St()):(Ee=L.out,J=Object.keys(L.out),Fe=0,We="inner-directed",St());if("undirected"===We){if("directed"===Pt)return We="outer",St();Ee=L.undirected,J=Object.keys(L.undirected),Fe=0,We="inner-undirected"}if(!qt&&Fe>=J.length)return We="inner-undirected"===We?"outer":"undirected",St();if(!qt){var Es=J[Fe++];return qt=Ee[Es].values(),St()}if((vn=qt.next()).done)return qt=null,St();var Zr=vn.value,Js=Zr.target;return"inner-undirected"===We&&Js.key===L.key&&(Js=Zr.source),{done:!1,value:[L.key,Js.key,L.attributes,Js.attributes,Zr.key,Zr.attributes]}})):(Fl=(St=this)._nodes.values(),fo=St.type,Br="outer",new oe(function Vs(){var Ac;if("outer"===Br)return!0===(Ac=Fl.next()).done?Ac:(vn=Ac.value,Br="directed",Vs());if("directed"===Br)return"undirected"===fo?(Br="undirected",Vs()):(Zr=vn.out,Es=Object.keys(vn.out),Js=0,Br="inner-directed",Vs());if("undirected"===Br){if("directed"===fo)return Br="outer",Vs();Zr=vn.undirected,Es=Object.keys(vn.undirected),Js=0,Br="inner-undirected"}if(Js>=Es.length)return Br="inner-undirected"===Br?"outer":"undirected",Vs();var xn=Es[Js++],po=Zr[xn],Ll=po.target;return"inner-undirected"===Br&&Ll.key===vn.key&&(Ll=po.source),{done:!1,value:[vn.key,Ll.key,vn.attributes,Ll.attributes,po.key,po.attributes]}}));var St,vn,Es,Zr,Js,Fl,fo,Br,M,L,J,Ee,Fe,nt,Pt,We,qt},se.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):te(this._nodes.keys(),this._nodes.size)},se.forEachNode=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(L,J){M(J,L.attributes)})},se.forEachNodeUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");for(var L,J,Ee=this._nodes.values();!0!==(L=Ee.next())&&!M((J=L.value).key,J.attributes););},se.nodeEntries=function(){var M=this._nodes.values();return new oe(function(){var L=M.next();if(L.done)return L;var J=L.value;return{value:[J.key,J.attributes],done:!1}})},se.exportNode=function(M){var L=this._nodes.get(M=""+M);if(!L)throw new ne('Graph.exportNode: could not find the "'.concat(M,'" node in the graph.'));return Je(M,L)},se.exportEdge=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.exportEdge: could not find the "'.concat(M,'" edge in the graph.'));return Mt(M,L)},se.export=function(){var M=new Array(this._nodes.size),L=0;this._nodes.forEach(function(Ee,Fe){M[L++]=Je(Fe,Ee)});var J=new Array(this._edges.size);return L=0,this._edges.forEach(function(Ee,Fe){J[L++]=Mt(Fe,Ee)}),{attributes:this.getAttributes(),nodes:M,edges:J,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},se.importNode=function(M){var L=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=It(M);if(J){if("not-object"===J)throw new me('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===J)throw new me("Graph.importNode: no key provided.");if("invalid-attributes"===J)throw new me("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var Ee=M.key,Fe=M.attributes,nt=void 0===Fe?{}:Fe;return L?this.mergeNode(Ee,nt):this.addNode(Ee,nt),this},se.importEdge=function(M){var L=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Ot(M);if(J){if("not-object"===J)throw new me('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===J)throw new me("Graph.importEdge: missing souce.");if("no-target"===J)throw new me("Graph.importEdge: missing target.");if("invalid-attributes"===J)throw new me("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===J)throw new me("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var Ee=M.source,Fe=M.target,nt=M.attributes,Pt=void 0===nt?{}:nt,We=M.undirected,qt=void 0!==We&&We;return"key"in M?(L?qt?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:qt?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,M.key,Ee,Fe,Pt):(L?qt?this.mergeUndirectedEdge:this.mergeDirectedEdge:qt?this.addUndirectedEdge:this.addDirectedEdge).call(this,Ee,Fe,Pt),this},se.import=function(M){var L,J,Ee,Fe=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(j(M))return this.import(M.export(),Fe),this;if(!k(M))throw new me("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(M.attributes){if(!k(M.attributes))throw new me("Graph.import: invalid attributes. Expecting a plain object.");Fe?this.mergeAttributes(M.attributes):this.replaceAttributes(M.attributes)}if(M.nodes){if(Ee=M.nodes,!Array.isArray(Ee))throw new me("Graph.import: invalid nodes. Expecting an array.");for(L=0,J=Ee.length;LJ)){var Pt=new Set;Pt.add(L.undirected[nt]),L.undirected[nt]=Pt,M._nodes.get(nt).undirected[J]=Pt}})),this;var M},se.clearIndex=function(){return this._nodes.forEach(function(M){void 0!==M.in&&(M.in={},M.out={}),void 0!==M.undirected&&(M.undirected={})}),this},se.toJSON=function(){return this.export()},se.toString=function(){return"[object Graph]"},se.inspect=function(){var M=this,L={};this._nodes.forEach(function(Pt,We){L[We]=Pt.attributes});var J={},Ee={};this._edges.forEach(function(Pt,We){var qt=Pt.undirected?"--":"->",St="",vn="(".concat(Pt.source.key,")").concat(qt,"(").concat(Pt.target.key,")");Pt.generatedKey?M.multi&&(void 0===Ee[vn]?Ee[vn]=0:Ee[vn]++,St+="".concat(Ee[vn],". ")):St+="[".concat(We,"]: "),J[St+=vn]=Pt.attributes});var Fe={};for(var nt in this)this.hasOwnProperty(nt)&&!zn.has(nt)&&"function"!=typeof this[nt]&&(Fe[nt]=this[nt]);return Fe.attributes=this._attributes,Fe.nodes=L,Fe.edges=J,H(Fe,"constructor",this.constructor),Fe},fe}(T.exports.EventEmitter);"undefined"!=typeof Symbol&&(Cn.prototype[Symbol.for("nodejs.util.inspect.custom")]=Cn.prototype.inspect),[{name:function(re){return"".concat(re,"Edge")},generateKey:!0},{name:function(re){return"".concat(re,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(re){return"".concat(re,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(re){return"".concat(re,"EdgeWithKey")}},{name:function(re){return"".concat(re,"DirectedEdgeWithKey")},type:"directed"},{name:function(re){return"".concat(re,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(re){["add","merge","update"].forEach(function(fe){var se=re.name(fe),M="add"===fe?bn:Xn;Cn.prototype[se]=re.generateKey?function(L,J,Ee){return M(this,se,!0,"undirected"===(re.type||this.type),null,L,J,Ee,"update"===fe)}:function(L,J,Ee,Fe){return M(this,se,!1,"undirected"===(re.type||this.type),L,J,Ee,Fe,"update"===fe)}})}),"undefined"!=typeof Symbol&&(Cn.prototype[Symbol.iterator]=Cn.prototype.adjacency),re=Cn,ze.forEach(function(fe){var se=fe.name,M=fe.attacher;M(re,se("Edge"),"mixed"),M(re,se("DirectedEdge"),"directed"),M(re,se("UndirectedEdge"),"undirected")}),function(re){Me.forEach(function(fe){var M,L,J,Ee;J=(M=fe).type,Ee=M.direction,re.prototype[L=M.name]=function(Fe,nt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(!arguments.length)return Re(this,J);if(1===arguments.length){var Pt=this._nodes.get(Fe=""+Fe);if(void 0===Pt)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" node in the graph.'));return In(this.multi,"mixed"===J?this.type:J,Ee,Pt)}if(2===arguments.length){nt=""+nt;var We=this._nodes.get(Fe=""+Fe);if(!We)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" source node in the graph.'));if(!this._nodes.has(nt))throw new ne("Graph.".concat(L,': could not find the "').concat(nt,'" target node in the graph.'));return xi(J,this.multi,Ee,We,nt)}throw new me("Graph.".concat(L,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(se,M){var L=M.name,J=M.type,Ee=M.direction,Fe="forEach"+L[0].toUpperCase()+L.slice(1,-1);se.prototype[Fe]=function(nt,Pt,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Ze(this,J,We=nt);if(2===arguments.length){We=Pt;var qt=this._nodes.get(nt=""+nt);if(void 0===qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Nn(this.multi,"mixed"===J?this.type:J,Ee,qt,We)}if(3===arguments.length){Pt=""+Pt;var St=this._nodes.get(nt=""+nt);if(!St)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return Xr(J,this.multi,Ee,St,Pt,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(re,fe),function(se,M){var L=M.name,J=M.type,Ee=M.direction,Fe="forEach"+L[0].toUpperCase()+L.slice(1,-1)+"Until";se.prototype[Fe]=function(nt,Pt,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Tt(this,J,We=nt);if(2===arguments.length){We=Pt;var qt=this._nodes.get(nt=""+nt);if(void 0===qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Yn(this.multi,"mixed"===J?this.type:J,Ee,qt,We)}if(3===arguments.length){Pt=""+Pt;var St=this._nodes.get(nt=""+nt);if(!St)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return Ls(J,this.multi,Ee,St,Pt,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(re,fe),function(se,M){var J=M.type,Ee=M.direction,Fe=M.name.slice(0,-1)+"Entries";se.prototype[Fe]=function(nt,Pt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return oe.empty();if(!arguments.length)return kt(this,J);if(1===arguments.length){var We=this._nodes.get(nt=""+nt);if(!We)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Mi(J,Ee,We)}if(2===arguments.length){Pt=""+Pt;var qt=this._nodes.get(nt=""+nt);if(!qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return fs(J,Ee,qt,Pt)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(re,fe)})}(Cn),function(re){Bs.forEach(function(fe){var M,L,J,Ee;J=(M=fe).type,Ee=M.direction,re.prototype[L=M.name]=function(Fe){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(2===arguments.length){var nt=""+arguments[0],Pt=""+arguments[1];if(!this._nodes.has(nt))throw new ne("Graph.".concat(L,': could not find the "').concat(nt,'" node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(L,': could not find the "').concat(Pt,'" node in the graph.'));return lt(this,J,Ee,nt,Pt)}if(1===arguments.length){var We=this._nodes.get(Fe=""+Fe);if(void 0===We)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" node in the graph.'));return xa("mixed"===J?this.type:J,Ee,We)}throw new me("Graph.".concat(L,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(re,fe){var se=fe.name,M=fe.type,L=fe.direction,J="forEach"+se[0].toUpperCase()+se.slice(1,-1);re.prototype[J]=function(Ee,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(Ee=""+Ee);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));!function(Pt,We,qt,St){if("mixed"!==Pt){if("undirected"===Pt)return kl(qt,qt.undirected,St);if("string"==typeof We)return kl(qt,qt[We],St)}var vn=new Set;"undirected"!==Pt&&("out"!==We&&Sa(vn,qt,qt.in,St),"in"!==We&&Sa(vn,qt,qt.out,St)),"directed"!==Pt&&Sa(vn,qt,qt.undirected,St)}("mixed"===M?this.type:M,L,nt,Fe)}}}(re,fe),function(re,fe){var se=fe.name,M=fe.type,L=fe.direction,J="forEach"+se[0].toUpperCase()+se.slice(1,-1)+"Until";re.prototype[J]=function(Ee,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(Ee=""+Ee);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));!function(Pt,We,qt,St){if("mixed"!==Pt){if("undirected"===Pt)return ws(qt,qt.undirected,St);if("string"==typeof We)return ws(qt,qt[We],St)}var vn=new Set;"undirected"!==Pt&&("out"!==We&&en(vn,qt,qt.in,St)||"in"!==We&&en(vn,qt,qt.out,St))||"directed"===Pt||en(vn,qt,qt.undirected,St)}("mixed"===M?this.type:M,L,nt,Fe)}}}(re,fe),function(re,fe){var M=fe.type,L=fe.direction,J=fe.name.slice(0,-1)+"Entries";re.prototype[J]=function(Ee){if("mixed"!==M&&"mixed"!==this.type&&M!==this.type)return oe.empty();var Fe=this._nodes.get(Ee=""+Ee);if(void 0===Fe)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));return function(nt,Pt,We){if("mixed"!==nt){if("undirected"===nt)return nl(We,We.undirected);if("string"==typeof Pt)return nl(We,We[Pt])}var qt=oe.empty(),St=new Set;return"undirected"!==nt&&("out"!==Pt&&(qt=Ke(qt,rt(St,We,We.in))),"in"!==Pt&&(qt=Ke(qt,rt(St,We,We.out)))),"directed"!==nt&&(qt=Ke(qt,rt(St,We,We.undirected))),qt}("mixed"===M?this.type:M,L,Fe)}}(re,fe)})}(Cn);var rr=function(re){function fe(se){var M=he({type:"directed"},se);if("multi"in M&&!1!==M.multi)throw new me("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==M.type)throw new me('DirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Cn),sr=function(re){function fe(se){var M=he({type:"undirected"},se);if("multi"in M&&!1!==M.multi)throw new me("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==M.type)throw new me('UndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Cn),Qn=function(re){function fe(se){var M=he({multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return re.call(this,M)||this}return et(fe,re),fe}(Cn),Wi=function(re){function fe(se){var M=he({type:"directed",multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==M.type)throw new me('MultiDirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Cn),Ca=function(re){function fe(se){var M=he({type:"undirected",multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==M.type)throw new me('MultiUndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Cn);function Qr(re){re.from=function(fe,se){var M=he({},fe.options,se),L=new re(M);return L.import(fe),L}}return Qr(Cn),Qr(rr),Qr(sr),Qr(Qn),Qr(Wi),Qr(Ca),Cn.Graph=Cn,Cn.DirectedGraph=rr,Cn.UndirectedGraph=sr,Cn.MultiGraph=Qn,Cn.MultiDirectedGraph=Wi,Cn.MultiUndirectedGraph=Ca,Cn.InvalidArgumentsGraphError=me,Cn.NotFoundGraphError=ne,Cn.UsageGraphError=ye,Cn}()},1524:(Ut,it,et)=>{var yt;!function(ee,Dt,dt,Y){"use strict";var T,Se=["","webkit","Moz","MS","ms","o"],he=Dt.createElement("div"),j=Math.round,k=Math.abs,Q=Date.now;function H(be,De,Ge){return setTimeout(A(be,Ge),De)}function w(be,De,Ge){return!!Array.isArray(be)&&(C(be,Ge[De],Ge),!0)}function C(be,De,Ge){var vt;if(be)if(be.forEach)be.forEach(De,Ge);else if(be.length!==Y)for(vt=0;vt\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",ui=ee.console&&(ee.console.warn||ee.console.log);return ui&&ui.call(ee.console,vt,Xt),be.apply(this,arguments)}}T="function"!=typeof Object.assign?function(De){if(De===Y||null===De)throw new TypeError("Cannot convert undefined or null to object");for(var Ge=Object(De),vt=1;vt-1}function K(be){return be.trim().split(/\s+/g)}function E(be,De,Ge){if(be.indexOf&&!Ge)return be.indexOf(De);for(var vt=0;vtxs[De]}):vt.sort()),vt}function ae(be,De){for(var Ge,vt,$t=De[0].toUpperCase()+De.slice(1),Xt=0;Xt1&&!Ge.firstMultiple?Ge.firstMultiple=Tt(De):1===$t&&(Ge.firstMultiple=!1);var Xt=Ge.firstInput,ui=Ge.firstMultiple,Vr=ui?ui.center:Xt.center,Jr=De.center=kt(vt);De.timeStamp=Q(),De.deltaTime=De.timeStamp-Xt.timeStamp,De.angle=Mi(Vr,Jr),De.distance=Yn(Vr,Jr),function(be,De){var Ge=De.center,vt=be.offsetDelta||{},$t=be.prevDelta||{},Xt=be.prevInput||{};(1===De.eventType||4===Xt.eventType)&&($t=be.prevDelta={x:Xt.deltaX||0,y:Xt.deltaY||0},vt=be.offsetDelta={x:Ge.x,y:Ge.y}),De.deltaX=$t.x+(Ge.x-vt.x),De.deltaY=$t.y+(Ge.y-vt.y)}(Ge,De),De.offsetDirection=Nn(De.deltaX,De.deltaY);var xs=In(De.deltaTime,De.deltaX,De.deltaY);De.overallVelocityX=xs.x,De.overallVelocityY=xs.y,De.overallVelocity=k(xs.x)>k(xs.y)?xs.x:xs.y,De.scale=ui?function(be,De){return Yn(De[0],De[1],pt)/Yn(be[0],be[1],pt)}(ui.pointers,vt):1,De.rotation=ui?function(be,De){return Mi(De[1],De[0],pt)+Mi(be[1],be[0],pt)}(ui.pointers,vt):0,De.maxPointers=Ge.prevInput?De.pointers.length>Ge.prevInput.maxPointers?De.pointers.length:Ge.prevInput.maxPointers:De.pointers.length,function(be,De){var $t,Xt,ui,Vr,Ge=be.lastInterval||De,vt=De.timeStamp-Ge.timeStamp;if(8!=De.eventType&&(vt>25||Ge.velocity===Y)){var Jr=De.deltaX-Ge.deltaX,xs=De.deltaY-Ge.deltaY,Zn=In(vt,Jr,xs);Xt=Zn.x,ui=Zn.y,$t=k(Zn.x)>k(Zn.y)?Zn.x:Zn.y,Vr=Nn(Jr,xs),be.lastInterval=De}else $t=Ge.velocity,Xt=Ge.velocityX,ui=Ge.velocityY,Vr=Ge.direction;De.velocity=$t,De.velocityX=Xt,De.velocityY=ui,De.direction=Vr}(Ge,De);var Zn=be.element;I(De.srcEvent.target,Zn)&&(Zn=De.srcEvent.target),De.target=Zn}(be,Ge),be.emit("hammer.input",Ge),be.recognize(Ge),be.session.prevInput=Ge}function Tt(be){for(var De=[],Ge=0;Ge=k(De)?be<0?2:4:De<0?8:16}function Yn(be,De,Ge){Ge||(Ge=_t);var vt=De[Ge[0]]-be[Ge[0]],$t=De[Ge[1]]-be[Ge[1]];return Math.sqrt(vt*vt+$t*$t)}function Mi(be,De,Ge){return Ge||(Ge=_t),180*Math.atan2(De[Ge[1]]-be[Ge[1]],De[Ge[0]]-be[Ge[0]])/Math.PI}we.prototype={handler:function(){},init:function(){this.evEl&&X(this.element,this.evEl,this.domHandler),this.evTarget&&X(this.target,this.evTarget,this.domHandler),this.evWin&&X(Te(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&ue(this.element,this.evEl,this.domHandler),this.evTarget&&ue(this.target,this.evTarget,this.domHandler),this.evWin&&ue(Te(this.element),this.evWin,this.domHandler)}};var Ls={mousedown:1,mousemove:2,mouseup:4},fs="mousedown",Bs="mousemove mouseup";function Kr(){this.evEl=fs,this.evWin=Bs,this.pressed=!1,we.apply(this,arguments)}S(Kr,we,{handler:function(De){var Ge=Ls[De.type];1&Ge&&0===De.button&&(this.pressed=!0),2&Ge&&1!==De.which&&(Ge=4),this.pressed&&(4&Ge&&(this.pressed=!1),this.callback(this.manager,Ge,{pointers:[De],changedPointers:[De],pointerType:Qe,srcEvent:De}))}});var xa={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},kl={2:$e,3:"pen",4:Qe,5:"kinect"},Sa="pointerdown",ws="pointermove pointerup pointercancel";function en(){this.evEl=Sa,this.evWin=ws,we.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}ee.MSPointerEvent&&!ee.PointerEvent&&(Sa="MSPointerDown",ws="MSPointerMove MSPointerUp MSPointerCancel"),S(en,we,{handler:function(De){var Ge=this.store,vt=!1,$t=De.type.toLowerCase().replace("ms",""),Xt=xa[$t],ui=kl[De.pointerType]||De.pointerType,Vr=ui==$e,Jr=E(Ge,De.pointerId,"pointerId");1&Xt&&(0===De.button||Vr)?Jr<0&&(Ge.push(De),Jr=Ge.length-1):12&Xt&&(vt=!0),!(Jr<0)&&(Ge[Jr]=De,this.callback(this.manager,Xt,{pointers:Ge,changedPointers:[De],pointerType:ui,srcEvent:De}),vt&&Ge.splice(Jr,1))}});var nl={touchstart:1,touchmove:2,touchend:4,touchcancel:8},rt="touchstart",lt="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=rt,this.evWin=lt,this.started=!1,we.apply(this,arguments)}function ge(be,De){var Ge=$(be.touches),vt=$(be.changedTouches);return 12&De&&(Ge=Z(Ge.concat(vt),"identifier",!0)),[Ge,vt]}S(ht,we,{handler:function(De){var Ge=nl[De.type];if(1===Ge&&(this.started=!0),this.started){var vt=ge.call(this,De,Ge);12&Ge&&vt[0].length-vt[1].length==0&&(this.started=!1),this.callback(this.manager,Ge,{pointers:vt[0],changedPointers:vt[1],pointerType:$e,srcEvent:De})}}});var ve={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Be="touchstart touchmove touchend touchcancel";function ut(){this.evTarget=Be,this.targetIds={},we.apply(this,arguments)}function Je(be,De){var Ge=$(be.touches),vt=this.targetIds;if(3&De&&1===Ge.length)return vt[Ge[0].identifier]=!0,[Ge,Ge];var $t,Xt,ui=$(be.changedTouches),Vr=[],Jr=this.target;if(Xt=Ge.filter(function(xs){return I(xs.target,Jr)}),1===De)for($t=0;$t-1&&vt.splice(Xt,1)},2500)}}function ci(be){for(var De=be.srcEvent.clientX,Ge=be.srcEvent.clientY,vt=0;vt-1&&this.requireFail.splice(De,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(be){return!!this.simultaneous[be.id]},emit:function(be){var De=this,Ge=this.state;function vt($t){De.manager.emit($t,be)}Ge<8&&vt(De.options.event+We(Ge)),vt(De.options.event),be.additionalEvent&&vt(be.additionalEvent),Ge>=8&&vt(De.options.event+We(Ge))},tryEmit:function(be){if(this.canEmit())return this.emit(be);this.state=32},canEmit:function(){for(var be=0;beDe.threshold&&$t&De.direction},attrTest:function(be){return vn.prototype.attrTest.call(this,be)&&(2&this.state||!(2&this.state)&&this.directionTest(be))},emit:function(be){this.pX=be.deltaX,this.pY=be.deltaY;var De=qt(be.direction);De&&(be.additionalEvent=this.options.event+De),this._super.emit.call(this,be)}}),S(Zr,vn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[sr]},attrTest:function(be){return this._super.attrTest.call(this,be)&&(Math.abs(be.scale-1)>this.options.threshold||2&this.state)},emit:function(be){1!==be.scale&&(be.additionalEvent=this.options.event+(be.scale<1?"in":"out")),this._super.emit.call(this,be)}}),S(Js,Pt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(be){var De=this.options,Ge=be.pointers.length===De.pointers,vt=be.distanceDe.time;if(this._input=be,!vt||!Ge||12&be.eventType&&!$t)this.reset();else if(1&be.eventType)this.reset(),this._timer=H(function(){this.state=8,this.tryEmit()},De.time,this);else if(4&be.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(be){8===this.state&&(be&&4&be.eventType?this.manager.emit(this.options.event+"up",be):(this._input.timeStamp=Q(),this.manager.emit(this.options.event,this._input)))}}),S(Fl,vn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[sr]},attrTest:function(be){return this._super.attrTest.call(this,be)&&(Math.abs(be.rotation)>this.options.threshold||2&this.state)}}),S(fo,vn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Es.prototype.getTouchAction.call(this)},attrTest:function(be){var Ge,De=this.options.direction;return 30&De?Ge=be.overallVelocity:6&De?Ge=be.overallVelocityX:24&De&&(Ge=be.overallVelocityY),this._super.attrTest.call(this,be)&&De&be.offsetDirection&&be.distance>this.options.threshold&&be.maxPointers==this.options.pointers&&k(Ge)>this.options.velocity&&4&be.eventType},emit:function(be){var De=qt(be.offsetDirection);De&&this.manager.emit(this.options.event+De,be),this.manager.emit(this.options.event,be)}}),S(Br,Pt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[rr]},process:function(be){var De=this.options,Ge=be.pointers.length===De.pointers,vt=be.distance"']/g,ws=RegExp(kl.source),en=RegExp(Sa.source),nl=/<%-([\s\S]+?)%>/g,rt=/<%([\s\S]+?)%>/g,lt=/<%=([\s\S]+?)%>/g,ht=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ge=/^\w*$/,ve=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Be=/[\\^$.*+?()[\]{}|]/g,ut=RegExp(Be.source),Je=/^\s+/,Mt=/\s/,It=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ot=/\{\n\/\* \[wrapped with (.+)\] \*/,Qt=/,? & /,zn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ci=/[()=,{}\[\]\/\s]/,Rn=/\\(\\)?/g,bn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Xn=/\w*$/,Cn=/^[-+]0x[0-9a-f]+$/i,rr=/^0b[01]+$/i,sr=/^\[object .+?Constructor\]$/,Qn=/^0o[0-7]+$/i,Wi=/^(?:0|[1-9]\d*)$/,Ca=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qr=/($^)/,re=/['\n\r\u2028\u2029\\]/g,fe="\\ud800-\\udfff",J="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ee="\\u2700-\\u27bf",Fe="a-z\\xdf-\\xf6\\xf8-\\xff",St="A-Z\\xc0-\\xd6\\xd8-\\xde",vn="\\ufe0e\\ufe0f",Es="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Js="["+fe+"]",Fl="["+Es+"]",fo="["+J+"]",Br="\\d+",Vs="["+Ee+"]",Ac="["+Fe+"]",xn="[^"+fe+Es+Br+Ee+Fe+St+"]",po="\\ud83c[\\udffb-\\udfff]",Ta="[^"+fe+"]",Ed="(?:\\ud83c[\\udde6-\\uddff]){2}",be="[\\ud800-\\udbff][\\udc00-\\udfff]",De="["+St+"]",vt="(?:"+Ac+"|"+xn+")",$t="(?:"+De+"|"+xn+")",Xt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",ui="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Vr="(?:"+fo+"|"+po+")?",Jr="["+vn+"]?",C1=Jr+Vr+"(?:\\u200d(?:"+[Ta,Ed,be].join("|")+")"+Jr+Vr+")*",xd="(?:"+[Vs,Ed,be].join("|")+")"+C1,er="(?:"+[Ta+fo+"?",fo,Ed,be,Js].join("|")+")",fp=RegExp("['\u2019]","g"),n_=RegExp(fo,"g"),Oh=RegExp(po+"(?="+po+")|"+er+C1,"g"),iv=RegExp([De+"?"+Ac+"+"+Xt+"(?="+[Fl,De,"$"].join("|")+")",$t+"+"+ui+"(?="+[Fl,De+vt,"$"].join("|")+")",De+"?"+vt+"+"+Xt,De+"+"+ui,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Br,xd].join("|"),"g"),T1=RegExp("[\\u200d"+fe+J+vn+"]"),Bl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Rh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],A1=-1,rn={};rn[kt]=rn[In]=rn[Nn]=rn[Yn]=rn[Mi]=rn[xi]=rn[Xr]=rn[Ls]=rn[fs]=!0,rn[Qe]=rn[tt]=rn[Ze]=rn[ze]=rn[Tt]=rn[Le]=rn[Me]=rn[Ue]=rn[ke]=rn[q]=rn[pe]=rn[_t]=rn[pt]=rn[we]=rn[V]=!1;var or={};or[Qe]=or[tt]=or[Ze]=or[Tt]=or[ze]=or[Le]=or[kt]=or[In]=or[Nn]=or[Yn]=or[Mi]=or[ke]=or[q]=or[pe]=or[_t]=or[pt]=or[we]=or[B]=or[xi]=or[Xr]=or[Ls]=or[fs]=!0,or[Me]=or[Ue]=or[V]=!1;var tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},M1=parseFloat,av=parseInt,Nt="object"==typeof global&&global&&global.Object===Object&&global,js="object"==typeof self&&self&&self.Object===Object&&self,Ui=Nt||js||Function("return this")(),Vl=it&&!it.nodeType&&it,Aa=Vl&&Ut&&!Ut.nodeType&&Ut,No=Aa&&Aa.exports===Vl,i_=No&&Nt.process,xr=function(){try{return Aa&&Aa.require&&Aa.require("util").types||i_&&i_.binding&&i_.binding("util")}catch(Rt){}}(),an=xr&&xr.isArrayBuffer,hi=xr&&xr.isDate,ur=xr&&xr.isMap,go=xr&&xr.isRegExp,Mc=xr&&xr.isSet,ss=xr&&xr.isTypedArray;function os(at,Rt,Ct){switch(Ct.length){case 0:return at.call(Rt);case 1:return at.call(Rt,Ct[0]);case 2:return at.call(Rt,Ct[0],Ct[1]);case 3:return at.call(Rt,Ct[0],Ct[1],Ct[2])}return at.apply(Rt,Ct)}function jr(at,Rt,Ct,hn){for(var Mn=-1,Li=null==at?0:at.length;++Mn-1}function Ph(at,Rt,Ct){for(var hn=-1,Mn=null==at?0:at.length;++hn-1;);return Ct}function R1(at,Rt){for(var Ct=at.length;Ct--&&il(Rt,at[Ct],0)>-1;);return Ct}function rF(at,Rt){for(var Ct=at.length,hn=0;Ct--;)at[Ct]===Rt&&++hn;return hn}var sF=Jo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),oF=Jo({"&":"&","<":"<",">":">",'"':""","'":"'"});function aF(at){return"\\"+tn[at]}function Fh(at){return T1.test(at)}function cv(at){var Rt=-1,Ct=Array(at.size);return at.forEach(function(hn,Mn){Ct[++Rt]=[Mn,hn]}),Ct}function P1(at,Rt){return function(Ct){return at(Rt(Ct))}}function xu(at,Rt){for(var Ct=-1,hn=at.length,Mn=0,Li=[];++Ct",""":'"',"'":"'"}),Bh=function at(Rt){var d,Ct=(Rt=null==Rt?Ui:Bh.defaults(Ui.Object(),Rt,Bh.pick(Ui,Rh))).Array,hn=Rt.Date,Mn=Rt.Error,Li=Rt.Function,es=Rt.Math,Yi=Rt.Object,u_=Rt.RegExp,d_=Rt.String,Ia=Rt.TypeError,dr=Ct.prototype,Su=Yi.prototype,gp=Rt["__core-js_shared__"],Sr=Li.prototype.toString,Xi=Su.hasOwnProperty,fF=0,Vh=(d=/[^.]+$/.exec(gp&&gp.keys&&gp.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",eo=Su.toString,F1=Sr.call(Yi),h_=Ui._,Dd=u_("^"+Sr.call(Xi).replace(Be,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zs=No?Rt.Buffer:ee,Ul=Rt.Symbol,Id=Rt.Uint8Array,hv=zs?zs.allocUnsafe:ee,Oa=P1(Yi.getPrototypeOf,Yi),f_=Yi.create,mp=Su.propertyIsEnumerable,Ln=dr.splice,L1=Ul?Ul.isConcatSpreadable:ee,jh=Ul?Ul.iterator:ee,Cu=Ul?Ul.toStringTag:ee,_p=function(){try{var d=jc(Yi,"defineProperty");return d({},"",{}),d}catch(p){}}(),fv=Rt.clearTimeout!==Ui.clearTimeout&&Rt.clearTimeout,B1=hn&&hn.now!==Ui.Date.now&&hn.now,V1=Rt.setTimeout!==Ui.setTimeout&&Rt.setTimeout,Vt=es.ceil,Si=es.floor,_r=Yi.getOwnPropertySymbols,as=zs?zs.isBuffer:ee,p_=Rt.isFinite,Uh=dr.join,sl=P1(Yi.keys,Yi),zr=es.max,ps=es.min,pF=hn.now,j1=Rt.parseInt,zh=es.random,yp=dr.reverse,Cs=jc(Rt,"DataView"),mo=jc(Rt,"Map"),bp=jc(Rt,"Promise"),Ra=jc(Rt,"Set"),Fo=jc(Rt,"WeakMap"),Hh=jc(Yi,"create"),Gh=Fo&&new Fo,Od={},U1=Lu(Cs),g_=Lu(mo),m_=Lu(bp),pv=Lu(Ra),__=Lu(Fo),vp=Ul?Ul.prototype:ee,Rd=vp?vp.valueOf:ee,$h=vp?vp.toString:ee;function xe(d){if(Ar(d)&&!On(d)&&!(d instanceof fi)){if(d instanceof Lo)return d;if(Xi.call(d,"__wrapped__"))return sf(d)}return new Lo(d)}var Tu=function(){function d(){}return function(p){if(!Tr(p))return{};if(f_)return f_(p);d.prototype=p;var _=new d;return d.prototype=ee,_}}();function Wh(){}function Lo(d,p){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!p,this.__index__=0,this.__values__=ee}function fi(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ye,this.__views__=[]}function _o(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function zl(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function ol(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function Pa(d){var p=-1,_=null==d?0:d.length;for(this.__data__=new ol;++p<_;)this.add(d[p])}function Na(d){var p=this.__data__=new zl(d);this.size=p.size}function Yh(d,p){var _=On(d),F=!_&&gl(d),le=!_&&!F&&ml(d),Ae=!_&&!F&&!le&&df(d),He=_||F||le||Ae,Ye=He?Md(d.length,d_):[],ct=Ye.length;for(var Ft in d)(p||Xi.call(d,Ft))&&(!He||!("length"==Ft||le&&("offset"==Ft||"parent"==Ft)||Ae&&("buffer"==Ft||"byteLength"==Ft||"byteOffset"==Ft)||jo(Ft,ct)))&&Ye.push(Ft);return Ye}function w_(d){var p=d.length;return p?d[Hl(0,p-1)]:ee}function yv(d,p){return qd(no(d),Au(p,0,d.length))}function Pd(d){return qd(no(d))}function E_(d,p,_){(_!==ee&&!Dn(d[p],_)||_===ee&&!(p in d))&&ll(d,p,_)}function al(d,p,_){var F=d[p];(!Xi.call(d,p)||!Dn(F,_)||_===ee&&!(p in d))&&ll(d,p,_)}function Nd(d,p){for(var _=d.length;_--;)if(Dn(d[_][0],p))return _;return-1}function Cp(d,p,_,F){return Pc(d,function(le,Ae,He){p(F,le,_(le),He)}),F}function Q1(d,p){return d&&Fa(p,Is(p),d)}function ll(d,p,_){"__proto__"==p&&_p?_p(d,p,{configurable:!0,enumerable:!0,value:_,writable:!0}):d[p]=_}function x_(d,p){for(var _=-1,F=p.length,le=Ct(F),Ae=null==d;++_=p?d:p)),d}function Hs(d,p,_,F,le,Ae){var He,Ye=1&p,ct=2&p,Ft=4&p;if(_&&(He=le?_(d,F,le,Ae):_(d)),He!==ee)return He;if(!Tr(d))return d;var Lt=On(d);if(Lt){if(He=function(d){var p=d.length,_=new d.constructor(p);return p&&"string"==typeof d[0]&&Xi.call(d,"index")&&(_.index=d.index,_.input=d.input),_}(d),!Ye)return no(d,He)}else{var Gt=$s(d),nn=Gt==Ue||Gt==qe;if(ml(d))return Pp(d,Ye);if(Gt==pe||Gt==Qe||nn&&!le){if(He=ct||nn?{}:Uv(d),!Ye)return ct?function(d,p){return Fa(d,Bv(d),p)}(d,function(d,p){return d&&Fa(p,ro(p),d)}(He,d)):function(d,p){return Fa(d,V_(d),p)}(d,Q1(He,d))}else{if(!or[Gt])return le?d:{};He=function(d,p,_){var F=d.constructor;switch(p){case Ze:return Pu(d);case ze:case Le:return new F(+d);case Tt:return function(d,p){var _=p?Pu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}(d,_);case kt:case In:case Nn:case Yn:case Mi:case xi:case Xr:case Ls:case fs:return N_(d,_);case ke:return new F;case q:case we:return new F(d);case _t:return function(d){var p=new d.constructor(d.source,Xn.exec(d));return p.lastIndex=d.lastIndex,p}(d);case pt:return new F;case B:return function(d){return Rd?Yi(Rd.call(d)):{}}(d)}}(d,Gt,Ye)}}Ae||(Ae=new Na);var wn=Ae.get(d);if(wn)return wn;Ae.set(d,He),yA(d)?d.forEach(function(Bn){He.add(Hs(Bn,p,_,Bn,d,Ae))}):pA(d)&&d.forEach(function(Bn,mi){He.set(mi,Hs(Bn,p,_,mi,d,Ae))});var gi=Lt?ee:(Ft?ct?L_:ql:ct?ro:Is)(d);return Us(gi||d,function(Bn,mi){gi&&(Bn=d[mi=Bn]),al(He,mi,Hs(Bn,p,_,mi,d,Ae))}),He}function Tp(d,p,_){var F=_.length;if(null==d)return!F;for(d=Yi(d);F--;){var le=_[F],He=d[le];if(He===ee&&!(le in d)||!(0,p[le])(He))return!1}return!0}function Xh(d,p,_){if("function"!=typeof d)throw new Ia(Se);return nf(function(){d.apply(ee,_)},p)}function Rc(d,p,_,F){var le=-1,Ae=jl,He=!0,Ye=d.length,ct=[],Ft=p.length;if(!Ye)return ct;_&&(p=qi(p,ta(_))),F?(Ae=Ph,He=!1):p.length>=200&&(Ae=kh,He=!1,p=new Pa(p));e:for(;++le-1},zl.prototype.set=function(d,p){var _=this.__data__,F=Nd(_,d);return F<0?(++this.size,_.push([d,p])):_[F][1]=p,this},ol.prototype.clear=function(){this.size=0,this.__data__={hash:new _o,map:new(mo||zl),string:new _o}},ol.prototype.delete=function(d){var p=Gs(this,d).delete(d);return this.size-=p?1:0,p},ol.prototype.get=function(d){return Gs(this,d).get(d)},ol.prototype.has=function(d){return Gs(this,d).has(d)},ol.prototype.set=function(d,p){var _=Gs(this,d),F=_.size;return _.set(d,p),this.size+=_.size==F?0:1,this},Pa.prototype.add=Pa.prototype.push=function(d){return this.__data__.set(d,W),this},Pa.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.clear=function(){this.__data__=new zl,this.size=0},Na.prototype.delete=function(d){var p=this.__data__,_=p.delete(d);return this.size=p.size,_},Na.prototype.get=function(d){return this.__data__.get(d)},Na.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.set=function(d,p){var _=this.__data__;if(_ instanceof zl){var F=_.__data__;if(!mo||F.length<199)return F.push([d,p]),this.size=++_.size,this;_=this.__data__=new ol(F)}return _.set(d,p),this.size=_.size,this};var Pc=dl(cl),C_=dl(Ap,!0);function vv(d,p){var _=!0;return Pc(d,function(F,le,Ae){return _=!!p(F,le,Ae)}),_}function Kh(d,p,_){for(var F=-1,le=d.length;++F0&&_(Ye)?p>1?Ts(Ye,p-1,_,F,le):Ur(le,Ye):F||(le[le.length]=Ye)}return le}var kd=Dv(),Fd=Dv(!0);function cl(d,p){return d&&kd(d,p,Is)}function Ap(d,p){return d&&Fd(d,p,Is)}function Qh(d,p){return Ma(p,function(_){return ua(d[_])})}function na(d,p){for(var _=0,F=(p=Lc(p,d)).length;null!=d&&_p}function Ld(d,p){return null!=d&&Xi.call(d,p)}function Bd(d,p){return null!=d&&p in Yi(d)}function Mu(d,p,_){for(var F=_?Ph:jl,le=d[0].length,Ae=d.length,He=Ae,Ye=Ct(Ae),ct=1/0,Ft=[];He--;){var Lt=d[He];He&&p&&(Lt=qi(Lt,ta(p))),ct=ps(Lt.length,ct),Ye[He]=!_&&(p||le>=120&&Lt.length>=120)?new Pa(He&&Lt):ee}Lt=d[0];var Gt=-1,nn=Ye[0];e:for(;++Gt=Ye?ct:ct*("desc"==_[F]?-1:1)}return d.index-p.index}(Ae,He,_)});Ct--;)at[Ct]=at[Ct].value;return at}(nT(d,function(Ae,He,Ye){return{criteria:qi(p,function(Ft){return Ft(Ae)}),index:++F,value:Ae}}))}function Cv(d,p,_){for(var F=-1,le=p.length,Ae={};++F-1;)Ye!==d&&Ln.call(Ye,ct,1),Ln.call(d,ct,1);return d}function Jh(d,p){for(var _=d?p.length:0,F=_-1;_--;){var le=p[_];if(_==F||le!==Ae){var Ae=le;jo(le)?Ln.call(d,le,1):Iu(d,le)}}return d}function Hl(d,p){return d+Si(zh()*(p-d+1))}function Dp(d,p){var _="";if(!d||p<1||p>Te)return _;do{p%2&&(_+=d),(p=Si(p/2))&&(d+=d)}while(p);return _}function pi(d,p){return Hp(yT(d,p,so),d+"")}function rT(d){return w_(nh(d))}function xF(d,p){var _=nh(d);return qd(_,Au(p,0,_.length))}function Ip(d,p,_,F){if(!Tr(d))return d;for(var le=-1,Ae=(p=Lc(p,d)).length,He=Ae-1,Ye=d;null!=Ye&&++lele?0:le+p),(_=_>le?le:_)<0&&(_+=le),le=p>_?0:_-p>>>0,p>>>=0;for(var Ae=Ct(le);++F>>1,He=d[Ae];null!==He&&!da(He)&&(_?He<=p:He=200){var Ft=p?null:F_(d);if(Ft)return a_(Ft);He=!1,le=kh,ct=new Pa}else ct=p?[]:Ye;e:for(;++F=F?d:Ms(d,p,_)}var aT=fv||function(d){return Ui.clearTimeout(d)};function Pp(d,p){if(p)return d.slice();var _=d.length,F=hv?hv(_):new d.constructor(_);return d.copy(F),F}function Pu(d){var p=new d.constructor(d.byteLength);return new Id(p).set(new Id(d)),p}function N_(d,p){var _=p?Pu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function Bc(d,p){if(d!==p){var _=d!==ee,F=null===d,le=d==d,Ae=da(d),He=p!==ee,Ye=null===p,ct=p==p,Ft=da(p);if(!Ye&&!Ft&&!Ae&&d>p||Ae&&He&&ct&&!Ye&&!Ft||F&&He&&ct||!_&&ct||!le)return 1;if(!F&&!Ae&&!Ft&&d1?_[le-1]:ee,He=le>2?_[2]:ee;for(Ae=d.length>3&&"function"==typeof Ae?(le--,Ae):ee,He&&Ws(_[0],_[1],He)&&(Ae=le<3?ee:Ae,le=1),p=Yi(p);++F-1?le[Ae?p[He]:He]:ee}}function ku(d){return hl(function(p){var _=p.length,F=_,le=Lo.prototype.thru;for(d&&p.reverse();F--;){var Ae=p[F];if("function"!=typeof Ae)throw new Ia(Se);if(le&&!He&&"wrapper"==jp(Ae))var He=new Lo([],!0)}for(F=He?F:_;++F<_;){var Ye=jp(Ae=p[F]),ct="wrapper"==Ye?B_(Ae):ee;He=ct&&Up(ct[0])&&424==ct[1]&&!ct[4].length&&1==ct[9]?He[jp(ct[0])].apply(He,ct[3]):1==Ae.length&&Up(Ae)?He[Ye]():He.thru(Ae)}return function(){var Ft=arguments,Lt=Ft[0];if(He&&1==Ft.length&&On(Lt))return He.plant(Lt).value();for(var Gt=0,nn=_?p[Gt].apply(this,Ft):Lt;++Gt<_;)nn=p[Gt].call(this,nn);return nn}})}function Vc(d,p,_,F,le,Ae,He,Ye,ct,Ft){var Lt=p&X,Gt=1&p,nn=2&p,wn=24&p,Fn=512&p,gi=nn?ee:Gd(d);return function Bn(){for(var mi=arguments.length,Di=Ct(mi),wo=mi;wo--;)Di[wo]=arguments[wo];if(wn)var qs=Wd(Bn),ha=rF(Di,qs);if(F&&(Di=zd(Di,F,le,wn)),Ae&&(Di=Mv(Di,Ae,He,wn)),mi-=ha,wn&&mi1&&Di.reverse(),Lt&&ctYe))return!1;var Ft=Ae.get(d),Lt=Ae.get(p);if(Ft&&Lt)return Ft==p&&Lt==d;var Gt=-1,nn=!0,wn=2&_?new Pa:ee;for(Ae.set(d,p),Ae.set(p,d);++Gt-1&&d%1==0&&d1?"& ":"")+p[F],p=p.join(_>2?", ":" "),d.replace(It,"{\n/* [wrapped with "+p+"] */\n")}(F,function(d,p){return Us(st,function(_){var F="_."+_[0];p&_[1]&&!jl(d,F)&&d.push(F)}),d.sort()}(function(d){var p=d.match(Ot);return p?p[1].split(Qt):[]}(F),_)))}function $_(d){var p=0,_=0;return function(){var F=pF(),le=16-(F-_);if(_=F,le>0){if(++p>=800)return arguments[0]}else p=0;return d.apply(ee,arguments)}}function qd(d,p){var _=-1,F=d.length,le=F-1;for(p=p===ee?F:p;++_1?d[p-1]:ee;return _="function"==typeof _?(d.pop(),_):ee,HT(d,_)});function ty(d){var p=xe(d);return p.__chain__=!0,p}function Xd(d,p){return p(d)}var ny=hl(function(d){var p=d.length,_=p?d[0]:0,F=this.__wrapped__,le=function(Ae){return x_(Ae,d)};return!(p>1||this.__actions__.length)&&F instanceof fi&&jo(_)?((F=F.slice(_,+_+(p?1:0))).__actions__.push({func:Xd,args:[le],thisArg:ee}),new Lo(F,this.__chain__).thru(function(Ae){return p&&!Ae.length&&Ae.push(ee),Ae})):this.thru(le)}),WT=ts(function(d,p,_){Xi.call(d,_)?++d[_]:ll(d,_,1)}),KT=Ov(q_),QT=Ov(Y_);function oy(d,p){return(On(d)?Us:Pc)(d,kn(p,3))}function Wp(d,p){return(On(d)?Sd:C_)(d,kn(p,3))}var JT=ts(function(d,p,_){Xi.call(d,_)?d[_].push(p):ll(d,_,[p])}),cw=pi(function(d,p,_){var F=-1,le="function"==typeof p,Ae=bo(d)?Ct(d.length):[];return Pc(d,function(He){Ae[++F]=le?os(p,He,_):ka(He,p,_)}),Ae}),uw=ts(function(d,p,_){ll(d,_,p)});function pl(d,p){return(On(d)?qi:nT)(d,kn(p,3))}var hw=ts(function(d,p,_){d[_?0:1].push(p)},function(){return[[],[]]}),Yp=pi(function(d,p){if(null==d)return[];var _=p.length;return _>1&&Ws(d,p[0],p[1])?p=[]:_>2&&Ws(p[0],p[1],p[2])&&(p=[p[0]]),Zh(d,Ts(p,1),[])}),Bu=B1||function(){return Ui.Date.now()};function Xp(d,p,_){return p=_?ee:p,Wl(d,X,ee,ee,ee,ee,p=d&&null==p?d.length:p)}function ly(d,p){var _;if("function"!=typeof p)throw new Ia(Se);return d=ti(d),function(){return--d>0&&(_=p.apply(this,arguments)),d<=1&&(p=ee),_}}var cf=pi(function(d,p,_){var F=1;if(_.length){var le=xu(_,Wd(cf));F|=z}return Wl(d,F,p,_,le)}),Qd=pi(function(d,p,_){var F=3;if(_.length){var le=xu(_,Wd(Qd));F|=z}return Wl(p,F,d,_,le)});function bw(d,p,_){var F,le,Ae,He,Ye,ct,Ft=0,Lt=!1,Gt=!1,nn=!0;if("function"!=typeof d)throw new Ia(Se);function wn(Gi){var bl=F,Gc=le;return F=le=ee,Ft=Gi,He=d.apply(Gc,bl)}function Fn(Gi){return Ft=Gi,Ye=nf(mi,p),Lt?wn(Gi):He}function Bn(Gi){var bl=Gi-ct;return ct===ee||bl>=p||bl<0||Gt&&Gi-Ft>=Ae}function mi(){var Gi=Bu();if(Bn(Gi))return Di(Gi);Ye=nf(mi,function(Gi){var aM=p-(Gi-ct);return Gt?ps(aM,Ae-(Gi-Ft)):aM}(Gi))}function Di(Gi){return Ye=ee,nn&&F?wn(Gi):(F=le=ee,He)}function ha(){var Gi=Bu(),bl=Bn(Gi);if(F=arguments,le=this,ct=Gi,bl){if(Ye===ee)return Fn(ct);if(Gt)return aT(Ye),Ye=nf(mi,p),wn(ct)}return Ye===ee&&(Ye=nf(mi,p)),He}return p=vo(p)||0,Tr(_)&&(Lt=!!_.leading,Ae=(Gt="maxWait"in _)?zr(vo(_.maxWait)||0,p):Ae,nn="trailing"in _?!!_.trailing:nn),ha.cancel=function(){Ye!==ee&&aT(Ye),Ft=0,F=ct=le=Ye=ee},ha.flush=function(){return Ye===ee?He:Di(Bu())},ha}var iA=pi(function(d,p){return Xh(d,1,p)}),vw=pi(function(d,p,_){return Xh(d,vo(p)||0,_)});function uf(d,p){if("function"!=typeof d||null!=p&&"function"!=typeof p)throw new Ia(Se);var _=function(){var F=arguments,le=p?p.apply(this,F):F[0],Ae=_.cache;if(Ae.has(le))return Ae.get(le);var He=d.apply(this,F);return _.cache=Ae.set(le,He)||Ae,He};return _.cache=new(uf.Cache||ol),_}function dy(d){if("function"!=typeof d)throw new Ia(Se);return function(){var p=arguments;switch(p.length){case 0:return!d.call(this);case 1:return!d.call(this,p[0]);case 2:return!d.call(this,p[0],p[1]);case 3:return!d.call(this,p[0],p[1],p[2])}return!d.apply(this,p)}}uf.Cache=ol;var rA=oT(function(d,p){var _=(p=1==p.length&&On(p[0])?qi(p[0],ta(kn())):qi(Ts(p,1),ta(kn()))).length;return pi(function(F){for(var le=-1,Ae=ps(F.length,_);++le=p}),gl=Z1(function(){return arguments}())?Z1:function(d){return Ar(d)&&Xi.call(d,"callee")&&!mp.call(d,"callee")},On=Ct.isArray,Tw=an?ta(an):function(d){return Ar(d)&&As(d)==Ze};function bo(d){return null!=d&&fy(d.length)&&!ua(d)}function Cr(d){return Ar(d)&&bo(d)}var ml=as||Fy,Aw=hi?ta(hi):function(d){return Ar(d)&&As(d)==Le};function Ba(d){if(!Ar(d))return!1;var p=As(d);return p==Me||"[object DOMException]"==p||"string"==typeof d.message&&"string"==typeof d.name&&!Jp(d)}function ua(d){if(!Tr(d))return!1;var p=As(d);return p==Ue||p==qe||"[object AsyncFunction]"==p||"[object Proxy]"==p}function Zp(d){return"number"==typeof d&&d==ti(d)}function fy(d){return"number"==typeof d&&d>-1&&d%1==0&&d<=Te}function Tr(d){var p=typeof d;return null!=d&&("object"==p||"function"==p)}function Ar(d){return null!=d&&"object"==typeof d}var pA=ur?ta(ur):function(d){return Ar(d)&&$s(d)==ke};function _A(d){return"number"==typeof d||Ar(d)&&As(d)==q}function Jp(d){if(!Ar(d)||As(d)!=pe)return!1;var p=Oa(d);if(null===p)return!0;var _=Xi.call(p,"constructor")&&p.constructor;return"function"==typeof _&&_ instanceof _&&Sr.call(_)==F1}var Ow=go?ta(go):function(d){return Ar(d)&&As(d)==_t},yA=Mc?ta(Mc):function(d){return Ar(d)&&$s(d)==pt};function gy(d){return"string"==typeof d||!On(d)&&Ar(d)&&As(d)==we}function da(d){return"symbol"==typeof d||Ar(d)&&As(d)==B}var df=ss?ta(ss):function(d){return Ar(d)&&fy(d.length)&&!!rn[As(d)]},Uc=Lp(Sv),my=Lp(function(d,p){return d<=p});function Rw(d){if(!d)return[];if(bo(d))return gy(d)?rl(d):no(d);if(jh&&d[jh])return function(at){for(var Rt,Ct=[];!(Rt=at.next()).done;)Ct.push(Rt.value);return Ct}(d[jh]());var p=$s(d);return(p==ke?cv:p==pt?a_:nh)(d)}function _l(d){return d?(d=vo(d))===te||d===-te?17976931348623157e292*(d<0?-1:1):d==d?d:0:0===d?d:0}function ti(d){var p=_l(d),_=p%1;return p==p?_?p-_:p:0}function _y(d){return d?Au(ti(d),0,ye):0}function vo(d){if("number"==typeof d)return d;if(da(d))return NaN;if(Tr(d)){var p="function"==typeof d.valueOf?d.valueOf():d;d=Tr(p)?p+"":p}if("string"!=typeof d)return 0===d?d:+d;d=lv(d);var _=rr.test(d);return _||Qn.test(d)?av(d.slice(2),_?2:8):Cn.test(d)?NaN:+d}function Pw(d){return Fa(d,ro(d))}function Hi(d){return null==d?"":Vo(d)}var bA=Gl(function(d,p){if(zp(p)||bo(p))Fa(p,Is(p),d);else for(var _ in p)Xi.call(p,_)&&al(d,_,p[_])}),vA=Gl(function(d,p){Fa(p,ro(p),d)}),Zd=Gl(function(d,p,_,F){Fa(p,ro(p),d,F)}),wA=Gl(function(d,p,_,F){Fa(p,Is(p),d,F)}),Nw=hl(x_),xA=pi(function(d,p){d=Yi(d);var _=-1,F=p.length,le=F>2?p[2]:ee;for(le&&Ws(p[0],p[1],le)&&(F=1);++_1),Ae}),Fa(d,L_(d),_),F&&(_=Hs(_,7,Bp));for(var le=p.length;le--;)Iu(_,p[le]);return _}),MA=hl(function(d,p){return null==d?{}:function(d,p){return Cv(d,p,function(_,F){return eg(d,F)})}(d,p)});function Uw(d,p){if(null==d)return{};var _=qi(L_(d),function(F){return[F]});return p=kn(p),Cv(d,_,function(F,le){return p(F,le[0])})}var DA=Fu(Is),Hw=Fu(ro);function nh(d){return null==d?[]:o_(d,Is(d))}var NA=$l(function(d,p,_){return p=p.toLowerCase(),d+(_?wy(p):p)});function wy(d){return ig(Hi(d).toLowerCase())}function Ey(d){return(d=Hi(d))&&d.replace(Ca,sF).replace(n_,"")}var FA=$l(function(d,p,_){return d+(_?"-":"")+p.toLowerCase()}),LA=$l(function(d,p,_){return d+(_?" ":"")+p.toLowerCase()}),GF=Np("toLowerCase"),zA=$l(function(d,p,_){return d+(_?"_":"")+p.toLowerCase()}),Cy=$l(function(d,p,_){return d+(_?" ":"")+ig(p)}),Xw=$l(function(d,p,_){return d+(_?" ":"")+p.toUpperCase()}),ig=Np("toUpperCase");function Dy(d,p,_){return d=Hi(d),(p=_?ee:p)===ee?function(at){return Bl.test(at)}(d)?function(at){return at.match(iv)||[]}(d):function(at){return at.match(zn)||[]}(d):d.match(p)||[]}var Iy=pi(function(d,p){try{return os(d,ee,p)}catch(_){return Ba(_)?_:new Mn(_)}}),Kw=hl(function(d,p){return Us(p,function(_){_=si(_),ll(d,_,cf(d[_],d))}),d});function Oy(d){return function(){return d}}var WF=ku(),Vu=ku(!0);function so(d){return d}function ju(d){return tT("function"==typeof d?d:Hs(d,1))}var Ry=pi(function(d,p){return function(_){return ka(_,d,p)}}),Qw=pi(function(d,p){return function(_){return ka(d,_,p)}});function Py(d,p,_){var F=Is(p),le=Qh(p,F);null==_&&(!Tr(p)||!le.length&&F.length)&&(_=p,p=d,d=this,le=Qh(p,Is(p)));var Ae=!(Tr(_)&&"chain"in _&&!_.chain),He=ua(d);return Us(le,function(Ye){var ct=p[Ye];d[Ye]=ct,He&&(d.prototype[Ye]=function(){var Ft=this.__chain__;if(Ae||Ft){var Lt=d(this.__wrapped__),Gt=Lt.__actions__=no(this.__actions__);return Gt.push({func:ct,args:arguments,thisArg:d}),Lt.__chain__=Ft,Lt}return ct.apply(d,Ur([this.value()],arguments))})}),d}function Ny(){}var XA=kp(qi),KA=kp(ri),Jw=kp(ko);function Uu(d){return oa(d)?r_(si(d)):function(d){return function(p){return na(p,d)}}(d)}var QA=Pv(),ZA=Pv(!0);function Hc(){return[]}function Fy(){return!1}var Hn=k_(function(d,p){return d+p},0),Ly=$d("ceil"),YF=k_(function(d,p){return d/p},1),Kl=$d("floor"),iE=k_(function(d,p){return d*p},1),rE=$d("round"),sE=k_(function(d,p){return d-p},0);return xe.after=function(d,p){if("function"!=typeof p)throw new Ia(Se);return d=ti(d),function(){if(--d<1)return p.apply(this,arguments)}},xe.ary=Xp,xe.assign=bA,xe.assignIn=vA,xe.assignInWith=Zd,xe.assignWith=wA,xe.at=Nw,xe.before=ly,xe.bind=cf,xe.bindAll=Kw,xe.bindKey=Qd,xe.castArray=function(){if(!arguments.length)return[];var d=arguments[0];return On(d)?d:[d]},xe.chain=ty,xe.chunk=function(d,p,_){p=(_?Ws(d,p,_):p===ee)?1:zr(ti(p),0);var F=null==d?0:d.length;if(!F||p<1)return[];for(var le=0,Ae=0,He=Ct(Vt(F/p));lele?0:le+_),(F=F===ee||F>le?le:ti(F))<0&&(F+=le),F=_>F?0:_y(F);_>>0)?(d=Hi(d))&&("string"==typeof p||null!=p&&!Ow(p))&&!(p=Vo(p))&&Fh(d)?ul(rl(d),0,_):d.split(p,_):[]},xe.spread=function(d,p){if("function"!=typeof d)throw new Ia(Se);return p=null==p?0:zr(ti(p),0),pi(function(_){var F=_[p],le=ul(_,0,p);return F&&Ur(le,F),os(d,this,le)})},xe.tail=function(d){var p=null==d?0:d.length;return p?Ms(d,1,p):[]},xe.take=function(d,p,_){return d&&d.length?Ms(d,0,(p=_||p===ee?1:ti(p))<0?0:p):[]},xe.takeRight=function(d,p,_){var F=null==d?0:d.length;return F?Ms(d,(p=F-(p=_||p===ee?1:ti(p)))<0?0:p,F):[]},xe.takeRightWhile=function(d,p){return d&&d.length?Ou(d,kn(p,3),!1,!0):[]},xe.takeWhile=function(d,p){return d&&d.length?Ou(d,kn(p,3)):[]},xe.tap=function(d,p){return p(d),d},xe.throttle=function(d,p,_){var F=!0,le=!0;if("function"!=typeof d)throw new Ia(Se);return Tr(_)&&(F="leading"in _?!!_.leading:F,le="trailing"in _?!!_.trailing:le),bw(d,p,{leading:F,maxWait:p,trailing:le})},xe.thru=Xd,xe.toArray=Rw,xe.toPairs=DA,xe.toPairsIn=Hw,xe.toPath=function(d){return On(d)?qi(d,si):da(d)?[d]:no($v(Hi(d)))},xe.toPlainObject=Pw,xe.transform=function(d,p,_){var F=On(d),le=F||ml(d)||df(d);if(p=kn(p,4),null==_){var Ae=d&&d.constructor;_=le?F?new Ae:[]:Tr(d)&&ua(Ae)?Tu(Oa(d)):{}}return(le?Us:cl)(d,function(He,Ye,ct){return p(_,He,Ye,ct)}),_},xe.unary=function(d){return Xp(d,1)},xe.union=tw,xe.unionBy=jT,xe.unionWith=UT,xe.uniq=function(d){return d&&d.length?kc(d):[]},xe.uniqBy=function(d,p){return d&&d.length?kc(d,kn(p,2)):[]},xe.uniqWith=function(d,p){return p="function"==typeof p?p:ee,d&&d.length?kc(d,ee,p):[]},xe.unset=function(d,p){return null==d||Iu(d,p)},xe.unzip=nw,xe.unzipWith=HT,xe.update=function(d,p,_){return null==d?d:Op(d,p,P_(_))},xe.updateWith=function(d,p,_,F){return F="function"==typeof F?F:ee,null==d?d:Op(d,p,P_(_),F)},xe.values=nh,xe.valuesIn=function(d){return null==d?[]:o_(d,ro(d))},xe.without=iw,xe.words=Dy,xe.wrap=function(d,p){return Kp(P_(p),d)},xe.xor=PF,xe.xorBy=Uo,xe.xorWith=J_,xe.zip=ey,xe.zipObject=function(d,p){return Rp(d||[],p||[],al)},xe.zipObjectDeep=function(d,p){return Rp(d||[],p||[],Ip)},xe.zipWith=lf,xe.entries=DA,xe.entriesIn=Hw,xe.extend=vA,xe.extendWith=Zd,Py(xe,xe),xe.add=Hn,xe.attempt=Iy,xe.camelCase=NA,xe.capitalize=wy,xe.ceil=Ly,xe.clamp=function(d,p,_){return _===ee&&(_=p,p=ee),_!==ee&&(_=(_=vo(_))==_?_:0),p!==ee&&(p=(p=vo(p))==p?p:0),Au(vo(d),p,_)},xe.clone=function(d){return Hs(d,4)},xe.cloneDeep=function(d){return Hs(d,5)},xe.cloneDeepWith=function(d,p){return Hs(d,5,p="function"==typeof p?p:ee)},xe.cloneWith=function(d,p){return Hs(d,4,p="function"==typeof p?p:ee)},xe.conformsTo=function(d,p){return null==p||Tp(d,p,Is(p))},xe.deburr=Ey,xe.defaultTo=function(d,p){return null==d||d!=d?p:d},xe.divide=YF,xe.endsWith=function(d,p,_){d=Hi(d),p=Vo(p);var F=d.length,le=_=_===ee?F:Au(ti(_),0,F);return(_-=p.length)>=0&&d.slice(_,le)==p},xe.eq=Dn,xe.escape=function(d){return(d=Hi(d))&&en.test(d)?d.replace(Sa,oF):d},xe.escapeRegExp=function(d){return(d=Hi(d))&&ut.test(d)?d.replace(Be,"\\$&"):d},xe.every=function(d,p,_){var F=On(d)?ri:vv;return _&&Ws(d,p,_)&&(p=ee),F(d,kn(p,3))},xe.find=KT,xe.findIndex=q_,xe.findKey=function(d,p){return Nh(d,kn(p,3),cl)},xe.findLast=QT,xe.findLastIndex=Y_,xe.findLastKey=function(d,p){return Nh(d,kn(p,3),Ap)},xe.floor=Kl,xe.forEach=oy,xe.forEachRight=Wp,xe.forIn=function(d,p){return null==d?d:kd(d,kn(p,3),ro)},xe.forInRight=function(d,p){return null==d?d:Fd(d,kn(p,3),ro)},xe.forOwn=function(d,p){return d&&cl(d,kn(p,3))},xe.forOwnRight=function(d,p){return d&&Ap(d,kn(p,3))},xe.get=pf,xe.gt=zt,xe.gte=Cw,xe.has=function(d,p){return null!=d&&jv(d,p,Ld)},xe.hasIn=eg,xe.head=qv,xe.identity=so,xe.includes=function(d,p,_,F){d=bo(d)?d:nh(d),_=_&&!F?ti(_):0;var le=d.length;return _<0&&(_=zr(le+_,0)),gy(d)?_<=le&&d.indexOf(p,_)>-1:!!le&&il(d,p,_)>-1},xe.indexOf=function(d,p,_){var F=null==d?0:d.length;if(!F)return-1;var le=null==_?0:ti(_);return le<0&&(le=zr(F+le,0)),il(d,p,le)},xe.inRange=function(d,p,_){return p=_l(p),_===ee?(_=p,p=0):_=_l(_),function(d,p,_){return d>=ps(p,_)&&d=-Te&&d<=Te},xe.isSet=yA,xe.isString=gy,xe.isSymbol=da,xe.isTypedArray=df,xe.isUndefined=function(d){return d===ee},xe.isWeakMap=function(d){return Ar(d)&&$s(d)==V},xe.isWeakSet=function(d){return Ar(d)&&"[object WeakSet]"==As(d)},xe.join=function(d,p){return null==d?"":Uh.call(d,p)},xe.kebabCase=FA,xe.last=aa,xe.lastIndexOf=function(d,p,_){var F=null==d?0:d.length;if(!F)return-1;var le=F;return _!==ee&&(le=(le=ti(_))<0?zr(F+le,0):ps(le,F-1)),p==p?function(at,Rt,Ct){for(var hn=Ct+1;hn--;)if(at[hn]===Rt)return hn;return hn}(d,p,le):Td(d,Dc,le,!0)},xe.lowerCase=LA,xe.lowerFirst=GF,xe.lt=Uc,xe.lte=my,xe.max=function(d){return d&&d.length?Kh(d,so,yo):ee},xe.maxBy=function(d,p){return d&&d.length?Kh(d,kn(p,2),yo):ee},xe.mean=function(d){return Ss(d,so)},xe.meanBy=function(d,p){return Ss(d,kn(p,2))},xe.min=function(d){return d&&d.length?Kh(d,so,Sv):ee},xe.minBy=function(d,p){return d&&d.length?Kh(d,kn(p,2),Sv):ee},xe.stubArray=Hc,xe.stubFalse=Fy,xe.stubObject=function(){return{}},xe.stubString=function(){return""},xe.stubTrue=function(){return!0},xe.multiply=iE,xe.nth=function(d,p){return d&&d.length?Du(d,ti(p)):ee},xe.noConflict=function(){return Ui._===this&&(Ui._=h_),this},xe.noop=Ny,xe.now=Bu,xe.pad=function(d,p,_){d=Hi(d);var F=(p=ti(p))?Lh(d):0;if(!p||F>=p)return d;var le=(p-F)/2;return Fp(Si(le),_)+d+Fp(Vt(le),_)},xe.padEnd=function(d,p,_){d=Hi(d);var F=(p=ti(p))?Lh(d):0;return p&&Fp){var F=d;d=p,p=F}if(_||d%1||p%1){var le=zh();return ps(d+le*(p-d+M1("1e-"+((le+"").length-1))),p)}return Hl(d,p)},xe.reduce=function(d,p,_){var F=On(d)?Eu:ea,le=arguments.length<3;return F(d,kn(p,4),_,le,Pc)},xe.reduceRight=function(d,p,_){var F=On(d)?Cd:ea,le=arguments.length<3;return F(d,kn(p,4),_,le,C_)},xe.repeat=function(d,p,_){return p=(_?Ws(d,p,_):p===ee)?1:ti(p),Dp(Hi(d),p)},xe.replace=function(){var d=arguments,p=Hi(d[0]);return d.length<3?p:p.replace(d[1],d[2])},xe.result=function(d,p,_){var F=-1,le=(p=Lc(p,d)).length;for(le||(le=1,d=ee);++FTe)return[];var _=ye,F=ps(d,ye);p=kn(p),d-=ye;for(var le=Md(F,p);++_=Ae)return d;var Ye=_-Lh(F);if(Ye<1)return F;var ct=He?ul(He,0,Ye).join(""):d.slice(0,Ye);if(le===ee)return ct+F;if(He&&(Ye+=ct.length-Ye),Ow(le)){if(d.slice(Ye).search(le)){var Ft,Lt=ct;for(le.global||(le=u_(le.source,Hi(Xn.exec(le))+"g")),le.lastIndex=0;Ft=le.exec(Lt);)var Gt=Ft.index;ct=ct.slice(0,Gt===ee?Ye:Gt)}}else if(d.indexOf(Vo(le),Ye)!=Ye){var nn=ct.lastIndexOf(le);nn>-1&&(ct=ct.slice(0,nn))}return ct+F},xe.unescape=function(d){return(d=Hi(d))&&ws.test(d)?d.replace(kl,c_):d},xe.uniqueId=function(d){var p=++fF;return Hi(d)+p},xe.upperCase=Xw,xe.upperFirst=ig,xe.each=oy,xe.eachRight=Wp,xe.first=qv,Py(xe,function(){var d={};return cl(xe,function(p,_){Xi.call(xe.prototype,_)||(d[_]=p)}),d}(),{chain:!1}),xe.VERSION="4.17.21",Us(["bind","bindKey","curry","curryRight","partial","partialRight"],function(d){xe[d].placeholder=xe}),Us(["drop","take"],function(d,p){fi.prototype[d]=function(_){_=_===ee?1:zr(ti(_),0);var F=this.__filtered__&&!p?new fi(this):this.clone();return F.__filtered__?F.__takeCount__=ps(_,F.__takeCount__):F.__views__.push({size:ps(_,ye),type:d+(F.__dir__<0?"Right":"")}),F},fi.prototype[d+"Right"]=function(_){return this.reverse()[d](_).reverse()}}),Us(["filter","map","takeWhile"],function(d,p){var _=p+1,F=1==_||3==_;fi.prototype[d]=function(le){var Ae=this.clone();return Ae.__iteratees__.push({iteratee:kn(le,3),type:_}),Ae.__filtered__=Ae.__filtered__||F,Ae}}),Us(["head","last"],function(d,p){var _="take"+(p?"Right":"");fi.prototype[d]=function(){return this[_](1).value()[0]}}),Us(["initial","tail"],function(d,p){var _="drop"+(p?"":"Right");fi.prototype[d]=function(){return this.__filtered__?new fi(this):this[_](1)}}),fi.prototype.compact=function(){return this.filter(so)},fi.prototype.find=function(d){return this.filter(d).head()},fi.prototype.findLast=function(d){return this.reverse().find(d)},fi.prototype.invokeMap=pi(function(d,p){return"function"==typeof d?new fi(this):this.map(function(_){return ka(_,d,p)})}),fi.prototype.reject=function(d){return this.filter(dy(kn(d)))},fi.prototype.slice=function(d,p){d=ti(d);var _=this;return _.__filtered__&&(d>0||p<0)?new fi(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),p!==ee&&(_=(p=ti(p))<0?_.dropRight(-p):_.take(p-d)),_)},fi.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},fi.prototype.toArray=function(){return this.take(ye)},cl(fi.prototype,function(d,p){var _=/^(?:filter|find|map|reject)|While$/.test(p),F=/^(?:head|last)$/.test(p),le=xe[F?"take"+("last"==p?"Right":""):p],Ae=F||/^find/.test(p);!le||(xe.prototype[p]=function(){var He=this.__wrapped__,Ye=F?[1]:arguments,ct=He instanceof fi,Ft=Ye[0],Lt=ct||On(He),Gt=function(mi){var Di=le.apply(xe,Ur([mi],Ye));return F&&nn?Di[0]:Di};Lt&&_&&"function"==typeof Ft&&1!=Ft.length&&(ct=Lt=!1);var nn=this.__chain__,wn=!!this.__actions__.length,Fn=Ae&&!nn,gi=ct&&!wn;if(!Ae&&Lt){He=gi?He:new fi(this);var Bn=d.apply(He,Ye);return Bn.__actions__.push({func:Xd,args:[Gt],thisArg:ee}),new Lo(Bn,nn)}return Fn&&gi?d.apply(this,Ye):(Bn=this.thru(Gt),Fn?F?Bn.value()[0]:Bn.value():Bn)})}),Us(["pop","push","shift","sort","splice","unshift"],function(d){var p=dr[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",F=/^(?:pop|shift)$/.test(d);xe.prototype[d]=function(){var le=arguments;if(F&&!this.__chain__){var Ae=this.value();return p.apply(On(Ae)?Ae:[],le)}return this[_](function(He){return p.apply(On(He)?He:[],le)})}}),cl(fi.prototype,function(d,p){var _=xe[p];if(_){var F=_.name+"";Xi.call(Od,F)||(Od[F]=[]),Od[F].push({name:p,func:_})}}),Od[Vc(ee,2).name]=[{name:"wrapper",func:ee}],fi.prototype.clone=function(){var d=new fi(this.__wrapped__);return d.__actions__=no(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=no(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=no(this.__views__),d},fi.prototype.reverse=function(){if(this.__filtered__){var d=new fi(this);d.__dir__=-1,d.__filtered__=!0}else(d=this.clone()).__dir__*=-1;return d},fi.prototype.value=function(){var d=this.__wrapped__.value(),p=this.__dir__,_=On(d),F=p<0,le=_?d.length:0,Ae=function(d,p,_){for(var F=-1,le=_.length;++F=this.__values__.length;return{done:d,value:d?ee:this.__values__[this.__index__++]}},xe.prototype.plant=function(d){for(var p,_=this;_ instanceof Wh;){var F=sf(_);F.__index__=0,F.__values__=ee,p?le.__wrapped__=F:p=F;var le=F;_=_.__wrapped__}return le.__wrapped__=d,p},xe.prototype.reverse=function(){var d=this.__wrapped__;if(d instanceof fi){var p=d;return this.__actions__.length&&(p=new fi(this)),(p=p.reverse()).__actions__.push({func:Xd,args:[Z_],thisArg:ee}),new Lo(p,this.__chain__)}return this.thru(Z_)},xe.prototype.toJSON=xe.prototype.valueOf=xe.prototype.value=function(){return sT(this.__wrapped__,this.__actions__)},xe.prototype.first=xe.prototype.head,jh&&(xe.prototype[jh]=function(){return this}),xe}();Ui._=Bh,(yt=function(){return Bh}.call(it,et,it,Ut))!==ee&&(Ut.exports=yt)}.call(this)},5478:function(Ut){Ut.exports=function(){"use strict";function it(rt,lt){for(var ht=0;htrt.length)&&(lt=rt.length);for(var ht=0,ge=new Array(lt);ht=rt.length?{done:!0}:{done:!1,value:rt[ge++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var dt={exports:{}};function Y(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}dt.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Y,changeDefaults:function(rt){dt.exports.defaults=rt}};var he=/[&<>"']/,W=/[&<>"']/g,j=/[<>"']|&(?!#?\w+;)/,k=/[<>"']|&(?!#?\w+;)/g,Q={"&":"&","<":"<",">":">",'"':""","'":"'"},H=function(lt){return Q[lt]};var C=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function R(rt){return rt.replace(C,function(lt,ht){return"colon"===(ht=ht.toLowerCase())?":":"#"===ht.charAt(0)?"x"===ht.charAt(1)?String.fromCharCode(parseInt(ht.substring(2),16)):String.fromCharCode(+ht.substring(1)):""})}var T=/(^|[^\[])\^/g;var y=/[^\w:]/g,S=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var z={},P=/^[^:]+:\/*[^/]*$/,X=/^([^:]+:)[\s\S]*$/,ue=/^([^:]+:\/*[^/]*)[\s\S]*$/;function I(rt,lt){z[" "+rt]||(z[" "+rt]=P.test(rt)?rt+"/":$(rt,"/",!0));var ht=-1===(rt=z[" "+rt]).indexOf(":");return"//"===lt.substring(0,2)?ht?lt:rt.replace(X,"$1")+lt:"/"===lt.charAt(0)?ht?lt:rt.replace(ue,"$1")+lt:rt+lt}function $(rt,lt,ht){var ge=rt.length;if(0===ge)return"";for(var ve=0;ve1;)1<&&(ht+=rt),lt>>=1,rt+=rt;return ht+rt},Te=dt.exports.defaults,me=$,ne=function(rt,lt){var ge=rt.replace(/\|/g,function(Be,ut,Je){for(var Mt=!1,It=ut;--It>=0&&"\\"===Je[It];)Mt=!Mt;return Mt?"|":" |"}).split(/ \|/),ve=0;if(ge.length>lt)ge.splice(lt);else for(;ge.length1?{type:"space",raw:ve[0]}:{raw:"\n"}},lt.code=function(ge){var ve=this.rules.block.code.exec(ge);if(ve){var Be=ve[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:ve[0],codeBlockStyle:"indented",text:this.options.pedantic?Be:me(Be,"\n")}}},lt.fences=function(ge){var ve=this.rules.block.fences.exec(ge);if(ve){var Be=ve[0],ut=function(rt,lt){var ht=rt.match(/^(\s+)(?:```)/);if(null===ht)return lt;var ge=ht[1];return lt.split("\n").map(function(ve){var Be=ve.match(/^\s+/);return null===Be?ve:Be[0].length>=ge.length?ve.slice(ge.length):ve}).join("\n")}(Be,ve[3]||"");return{type:"code",raw:Be,lang:ve[2]?ve[2].trim():ve[2],text:ut}}},lt.heading=function(ge){var ve=this.rules.block.heading.exec(ge);if(ve){var Be=ve[2].trim();if(/#$/.test(Be)){var ut=me(Be,"#");(this.options.pedantic||!ut||/ $/.test(ut))&&(Be=ut.trim())}return{type:"heading",raw:ve[0],depth:ve[1].length,text:Be}}},lt.nptable=function(ge){var ve=this.rules.block.nptable.exec(ge);if(ve){var Be={type:"table",header:ne(ve[1].replace(/^ *| *\| *$/g,"")),align:ve[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:ve[3]?ve[3].replace(/\n$/,"").split("\n"):[],raw:ve[0]};if(Be.header.length===Be.align.length){var Je,ut=Be.align.length;for(Je=0;Je ?/gm,"");return{type:"blockquote",raw:ve[0],text:Be}}},lt.list=function(ge){var ve=this.rules.block.list.exec(ge);if(ve){var Qt,zn,ci,Rn,bn,Xn,Cn,rr,sr,Be=ve[0],ut=ve[2],Je=ut.length>1,Mt={type:"list",raw:Be,ordered:Je,start:Je?+ut.slice(0,-1):"",loose:!1,items:[]},It=ve[0].match(this.rules.block.item),Ot=!1,Qn=It.length;ci=this.rules.block.listItemStart.exec(It[0]);for(var Wi=0;Wici[1].length:Rn[1].length>=ci[0].length||Rn[1].length>3){It.splice(Wi,2,It[Wi]+(!this.options.pedantic&&Rn[1].length/i.test(ut[0])&&(ve=!1),!Be&&/^<(pre|code|kbd|script)(\s|>)/i.test(ut[0])?Be=!0:Be&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ut[0])&&(Be=!1),{type:this.options.sanitize?"text":"html",raw:ut[0],inLink:ve,inRawBlock:Be,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):ye(ut[0]):ut[0]}},lt.link=function(ge){var ve=this.rules.inline.link.exec(ge);if(ve){var Be=ve[2].trim();if(!this.options.pedantic&&/^$/.test(Be))return;var ut=me(Be.slice(0,-1),"\\");if((Be.length-ut.length)%2==0)return}else{var Je=Oe(ve[2],"()");if(Je>-1){var It=(0===ve[0].indexOf("!")?5:4)+ve[1].length+Je;ve[2]=ve[2].substring(0,Je),ve[0]=ve[0].substring(0,It).trim(),ve[3]=""}}var Ot=ve[2],Qt="";if(this.options.pedantic){var zn=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Ot);zn&&(Ot=zn[1],Qt=zn[3])}else Qt=ve[3]?ve[3].slice(1,-1):"";return Ot=Ot.trim(),/^$/.test(Be)?Ot.slice(1):Ot.slice(1,-1)),$e(ve,{href:Ot&&Ot.replace(this.rules.inline._escapes,"$1"),title:Qt&&Qt.replace(this.rules.inline._escapes,"$1")},ve[0])}},lt.reflink=function(ge,ve){var Be;if((Be=this.rules.inline.reflink.exec(ge))||(Be=this.rules.inline.nolink.exec(ge))){var ut=(Be[2]||Be[1]).replace(/\s+/g," ");if(!(ut=ve[ut.toLowerCase()])||!ut.href){var Je=Be[0].charAt(0);return{type:"text",raw:Je,text:Je}}return $e(Be,ut,Be[0])}},lt.emStrong=function(ge,ve,Be){void 0===Be&&(Be="");var ut=this.rules.inline.emStrong.lDelim.exec(ge);if(ut&&(!ut[3]||!Be.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var Je=ut[1]||ut[2]||"";if(!Je||Je&&(""===Be||this.rules.inline.punctuation.exec(Be))){var It,Ot,Mt=ut[0].length-1,Qt=Mt,zn=0,ci="*"===ut[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ci.lastIndex=0,ve=ve.slice(-1*ge.length+Mt);null!=(ut=ci.exec(ve));)if(It=ut[1]||ut[2]||ut[3]||ut[4]||ut[5]||ut[6]){if(Ot=It.length,ut[3]||ut[4]){Qt+=Ot;continue}if((ut[5]||ut[6])&&Mt%3&&!((Mt+Ot)%3)){zn+=Ot;continue}if(!((Qt-=Ot)>0))return Ot=Math.min(Ot,Ot+Qt+zn),Math.min(Mt,Ot)%2?{type:"em",raw:ge.slice(0,Mt+ut.index+Ot+1),text:ge.slice(1,Mt+ut.index+Ot)}:{type:"strong",raw:ge.slice(0,Mt+ut.index+Ot+1),text:ge.slice(2,Mt+ut.index+Ot-1)}}}}},lt.codespan=function(ge){var ve=this.rules.inline.code.exec(ge);if(ve){var Be=ve[2].replace(/\n/g," "),ut=/[^ ]/.test(Be),Je=/^ /.test(Be)&&/ $/.test(Be);return ut&&Je&&(Be=Be.substring(1,Be.length-1)),Be=ye(Be,!0),{type:"codespan",raw:ve[0],text:Be}}},lt.br=function(ge){var ve=this.rules.inline.br.exec(ge);if(ve)return{type:"br",raw:ve[0]}},lt.del=function(ge){var ve=this.rules.inline.del.exec(ge);if(ve)return{type:"del",raw:ve[0],text:ve[2]}},lt.autolink=function(ge,ve){var ut,Je,Be=this.rules.inline.autolink.exec(ge);if(Be)return Je="@"===Be[2]?"mailto:"+(ut=ye(this.options.mangle?ve(Be[1]):Be[1])):ut=ye(Be[1]),{type:"link",raw:Be[0],text:ut,href:Je,tokens:[{type:"text",raw:ut,text:ut}]}},lt.url=function(ge,ve){var Be;if(Be=this.rules.inline.url.exec(ge)){var ut,Je;if("@"===Be[2])Je="mailto:"+(ut=ye(this.options.mangle?ve(Be[0]):Be[0]));else{var Mt;do{Mt=Be[0],Be[0]=this.rules.inline._backpedal.exec(Be[0])[0]}while(Mt!==Be[0]);ut=ye(Be[0]),Je="www."===Be[1]?"http://"+ut:ut}return{type:"link",raw:Be[0],text:ut,href:Je,tokens:[{type:"text",raw:ut,text:ut}]}}},lt.inlineText=function(ge,ve,Be){var Je,ut=this.rules.inline.text.exec(ge);if(ut)return Je=ve?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):ye(ut[0]):ut[0]:ye(this.options.smartypants?Be(ut[0]):ut[0]),{type:"text",raw:ut[0],text:Je}},rt}(),tt=te_noopTest,Xe=te_edit,ze=te_merge,Le={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:tt,table:tt,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Le.def=Xe(Le.def).replace("label",Le._label).replace("title",Le._title).getRegex(),Le.bullet=/(?:[*+-]|\d{1,9}[.)])/,Le.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,Le.item=Xe(Le.item,"gm").replace(/bull/g,Le.bullet).getRegex(),Le.listItemStart=Xe(/^( *)(bull) */).replace("bull",Le.bullet).getRegex(),Le.list=Xe(Le.list).replace(/bull/g,Le.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Le.def.source+")").getRegex(),Le._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Le._comment=/|$)/,Le.html=Xe(Le.html,"i").replace("comment",Le._comment).replace("tag",Le._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Le.paragraph=Xe(Le._paragraph).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.blockquote=Xe(Le.blockquote).replace("paragraph",Le.paragraph).getRegex(),Le.normal=ze({},Le),Le.gfm=ze({},Le.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Le.gfm.nptable=Xe(Le.gfm.nptable).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.gfm.table=Xe(Le.gfm.table).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.pedantic=ze({},Le.normal,{html:Xe("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Le._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:tt,paragraph:Xe(Le.normal._paragraph).replace("hr",Le.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Le.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ke={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:tt,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:tt,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ke.punctuation=Xe(Ke.punctuation).replace(/punctuation/g,Ke._punctuation).getRegex(),Ke.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ke.escapedEmSt=/\\\*|\\_/g,Ke._comment=Xe(Le._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ke.emStrong.lDelim=Xe(Ke.emStrong.lDelim).replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimAst=Xe(Ke.emStrong.rDelimAst,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimUnd=Xe(Ke.emStrong.rDelimUnd,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ke._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ke._email=/[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])?)+(?![-_])/,Ke.autolink=Xe(Ke.autolink).replace("scheme",Ke._scheme).replace("email",Ke._email).getRegex(),Ke._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ke.tag=Xe(Ke.tag).replace("comment",Ke._comment).replace("attribute",Ke._attribute).getRegex(),Ke._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ke._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ke._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ke.link=Xe(Ke.link).replace("label",Ke._label).replace("href",Ke._href).replace("title",Ke._title).getRegex(),Ke.reflink=Xe(Ke.reflink).replace("label",Ke._label).getRegex(),Ke.reflinkSearch=Xe(Ke.reflinkSearch,"g").replace("reflink",Ke.reflink).replace("nolink",Ke.nolink).getRegex(),Ke.normal=ze({},Ke),Ke.pedantic=ze({},Ke.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Xe(/^!?\[(label)\]\((.*?)\)/).replace("label",Ke._label).getRegex(),reflink:Xe(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ke._label).getRegex()}),Ke.gfm=ze({},Ke.normal,{escape:Xe(Ke.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(ge="x"+ge.toString(16)),lt+="&#"+ge+";";return lt}var je=function(){function rt(ht){this.tokens=[],this.tokens.links=Object.create(null),this.options=ht||qe,this.options.tokenizer=this.options.tokenizer||new Ue,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var ge={block:ke.normal,inline:q.normal};this.options.pedantic?(ge.block=ke.pedantic,ge.inline=q.pedantic):this.options.gfm&&(ge.block=ke.gfm,ge.inline=this.options.breaks?q.breaks:q.gfm),this.tokenizer.rules=ge}rt.lex=function(ge,ve){return new rt(ve).lex(ge)},rt.lexInline=function(ge,ve){return new rt(ve).inlineTokens(ge)};var lt=rt.prototype;return lt.lex=function(ge){return ge=ge.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(ge,this.tokens,!0),this.inline(this.tokens),this.tokens},lt.blockTokens=function(ge,ve,Be){var Je,Mt,It,Ot,Qt,zn,ut=this;for(void 0===ve&&(ve=[]),void 0===Be&&(Be=!0),this.options.pedantic&&(ge=ge.replace(/^ +$/gm,""));ge;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Rn){return!!(Je=Rn.call(ut,ge,ve))&&(ge=ge.substring(Je.raw.length),ve.push(Je),!0)}))){if(Je=this.tokenizer.space(ge)){ge=ge.substring(Je.raw.length),Je.type&&ve.push(Je);continue}if(Je=this.tokenizer.code(ge)){ge=ge.substring(Je.raw.length),(Ot=ve[ve.length-1])&&"paragraph"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je);continue}if(Je=this.tokenizer.fences(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.heading(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.nptable(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.hr(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.blockquote(ge)){ge=ge.substring(Je.raw.length),Je.tokens=this.blockTokens(Je.text,[],Be),ve.push(Je);continue}if(Je=this.tokenizer.list(ge)){for(ge=ge.substring(Je.raw.length),It=Je.items.length,Mt=0;Mt=0&&(Rn=Math.min(Rn,Xn))}),Rn<1/0&&Rn>=0&&(Qt=ge.substring(0,Rn+1))}(),Be&&(Je=this.tokenizer.paragraph(Qt))){Ot=ve[ve.length-1],zn&&"paragraph"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je),zn=Qt.length!==ge.length,ge=ge.substring(Je.raw.length);continue}if(Je=this.tokenizer.text(ge)){ge=ge.substring(Je.raw.length),(Ot=ve[ve.length-1])&&"text"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je);continue}if(ge){var ci="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(ci);break}throw new Error(ci)}}return ve},lt.inline=function(ge){var ve,Be,ut,Je,Mt,It,Ot=ge.length;for(ve=0;ve0)for(;null!=(zn=this.tokenizer.rules.inline.reflinkSearch.exec(Qt));)bn.includes(zn[0].slice(zn[0].lastIndexOf("[")+1,-1))&&(Qt=Qt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Qt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(zn=this.tokenizer.rules.inline.blockSkip.exec(Qt));)Qt=Qt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Qt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(zn=this.tokenizer.rules.inline.escapedEmSt.exec(Qt));)Qt=Qt.slice(0,zn.index)+"++"+Qt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;ge;)if(ci||(Rn=""),ci=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Cn){return!!(Mt=Cn.call(Je,ge,ve))&&(ge=ge.substring(Mt.raw.length),ve.push(Mt),!0)}))){if(Mt=this.tokenizer.escape(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.tag(ge,Be,ut)){ge=ge.substring(Mt.raw.length),Be=Mt.inLink,ut=Mt.inRawBlock,(It=ve[ve.length-1])&&"text"===Mt.type&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(Mt=this.tokenizer.link(ge)){ge=ge.substring(Mt.raw.length),"link"===Mt.type&&(Mt.tokens=this.inlineTokens(Mt.text,[],!0,ut)),ve.push(Mt);continue}if(Mt=this.tokenizer.reflink(ge,this.tokens.links)){ge=ge.substring(Mt.raw.length),It=ve[ve.length-1],"link"===Mt.type?(Mt.tokens=this.inlineTokens(Mt.text,[],!0,ut),ve.push(Mt)):It&&"text"===Mt.type&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(Mt=this.tokenizer.emStrong(ge,Qt,Rn)){ge=ge.substring(Mt.raw.length),Mt.tokens=this.inlineTokens(Mt.text,[],Be,ut),ve.push(Mt);continue}if(Mt=this.tokenizer.codespan(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.br(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.del(ge)){ge=ge.substring(Mt.raw.length),Mt.tokens=this.inlineTokens(Mt.text,[],Be,ut),ve.push(Mt);continue}if(Mt=this.tokenizer.autolink(ge,de)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(!Be&&(Mt=this.tokenizer.url(ge,de))){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Ot=ge,this.options.extensions&&this.options.extensions.startInline&&function(){var Cn=1/0,rr=ge.slice(1),sr=void 0;Je.options.extensions.startInline.forEach(function(Qn){"number"==typeof(sr=Qn.call(this,rr))&&sr>=0&&(Cn=Math.min(Cn,sr))}),Cn<1/0&&Cn>=0&&(Ot=ge.substring(0,Cn+1))}(),Mt=this.tokenizer.inlineText(Ot,ut,pe)){ge=ge.substring(Mt.raw.length),"_"!==Mt.raw.slice(-1)&&(Rn=Mt.raw.slice(-1)),ci=!0,(It=ve[ve.length-1])&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(ge){var Xn="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(Xn);break}throw new Error(Xn)}}return ve},function(rt,lt,ht){lt&&it(rt.prototype,lt),ht&&it(rt,ht)}(rt,null,[{key:"rules",get:function(){return{block:ke,inline:q}}}]),rt}(),_t=dt.exports.defaults,pt=te_cleanUrl,we=te_escape,B=function(){function rt(ht){this.options=ht||_t}var lt=rt.prototype;return lt.code=function(ge,ve,Be){var ut=(ve||"").match(/\S*/)[0];if(this.options.highlight){var Je=this.options.highlight(ge,ut);null!=Je&&Je!==ge&&(Be=!0,ge=Je)}return ge=ge.replace(/\n$/,"")+"\n",ut?'
                      '+(Be?ge:we(ge,!0))+"
                      \n":"
                      "+(Be?ge:we(ge,!0))+"
                      \n"},lt.blockquote=function(ge){return"
                      \n"+ge+"
                      \n"},lt.html=function(ge){return ge},lt.heading=function(ge,ve,Be,ut){return this.options.headerIds?"'+ge+"\n":""+ge+"\n"},lt.hr=function(){return this.options.xhtml?"
                      \n":"
                      \n"},lt.list=function(ge,ve,Be){var ut=ve?"ol":"ul";return"<"+ut+(ve&&1!==Be?' start="'+Be+'"':"")+">\n"+ge+"\n"},lt.listitem=function(ge){return"
                    • "+ge+"
                    • \n"},lt.checkbox=function(ge){return" "},lt.paragraph=function(ge){return"

                      "+ge+"

                      \n"},lt.table=function(ge,ve){return ve&&(ve=""+ve+""),"\n\n"+ge+"\n"+ve+"
                      \n"},lt.tablerow=function(ge){return"\n"+ge+"\n"},lt.tablecell=function(ge,ve){var Be=ve.header?"th":"td";return(ve.align?"<"+Be+' align="'+ve.align+'">':"<"+Be+">")+ge+"\n"},lt.strong=function(ge){return""+ge+""},lt.em=function(ge){return""+ge+""},lt.codespan=function(ge){return""+ge+""},lt.br=function(){return this.options.xhtml?"
                      ":"
                      "},lt.del=function(ge){return""+ge+""},lt.link=function(ge,ve,Be){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Be;var ut='"+Be+""},lt.image=function(ge,ve,Be){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Be;var ut=''+Be+'":">")},lt.text=function(ge){return ge},rt}(),N=function(){function rt(){}var lt=rt.prototype;return lt.strong=function(ge){return ge},lt.em=function(ge){return ge},lt.codespan=function(ge){return ge},lt.del=function(ge){return ge},lt.html=function(ge){return ge},lt.text=function(ge){return ge},lt.link=function(ge,ve,Be){return""+Be},lt.image=function(ge,ve,Be){return""+Be},lt.br=function(){return""},rt}(),V=function(){function rt(){this.seen={}}var lt=rt.prototype;return lt.serialize=function(ge){return ge.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},lt.getNextSafeSlug=function(ge,ve){var Be=ge,ut=0;if(this.seen.hasOwnProperty(Be)){ut=this.seen[ge];do{Be=ge+"-"+ ++ut}while(this.seen.hasOwnProperty(Be))}return ve||(this.seen[ge]=ut,this.seen[Be]=0),Be},lt.slug=function(ge,ve){void 0===ve&&(ve={});var Be=this.serialize(ge);return this.getNextSafeSlug(Be,ve.dryrun)},rt}(),Re=B,Ze=N,Tt=V,kt=dt.exports.defaults,In=te_unescape,Yn=je,Mi=function(){function rt(ht){this.options=ht||kt,this.options.renderer=this.options.renderer||new Re,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Ze,this.slugger=new Tt}rt.parse=function(ge,ve){return new rt(ve).parse(ge)},rt.parseInline=function(ge,ve){return new rt(ve).parseInline(ge)};var lt=rt.prototype;return lt.parse=function(ge,ve){void 0===ve&&(ve=!0);var ut,Je,Mt,It,Ot,Qt,zn,ci,Rn,bn,Xn,Cn,rr,sr,Qn,Wi,Ca,Qr,re,Be="",fe=ge.length;for(ut=0;ut0&&"text"===Qn.tokens[0].type?(Qn.tokens[0].text=Qr+" "+Qn.tokens[0].text,Qn.tokens[0].tokens&&Qn.tokens[0].tokens.length>0&&"text"===Qn.tokens[0].tokens[0].type&&(Qn.tokens[0].tokens[0].text=Qr+" "+Qn.tokens[0].tokens[0].text)):Qn.tokens.unshift({type:"text",text:Qr}):sr+=Qr),sr+=this.parse(Qn.tokens,rr),Rn+=this.renderer.listitem(sr,Ca,Wi);Be+=this.renderer.list(Rn,Xn,Cn);continue;case"html":Be+=this.renderer.html(bn.text);continue;case"paragraph":Be+=this.renderer.paragraph(this.parseInline(bn.tokens));continue;case"text":for(Rn=bn.tokens?this.parseInline(bn.tokens):bn.text;ut+1An error occurred:

                      "+xa(Mt.message+"",!0)+"
                      ";throw Mt}}return en.options=en.setOptions=function(rt){return Bs(en.defaults,rt),Sa(en.defaults),en},en.getDefaults=kl,en.defaults=ws,en.use=function(){for(var rt=this,lt=arguments.length,ht=new Array(lt),ge=0;geAn error occurred:

                      "+xa(ge.message+"",!0)+"
                      ";throw ge}},en.Parser=Mi,en.parser=Mi.parse,en.Renderer=Xr,en.TextRenderer=Ls,en.Lexer=Yn,en.lexer=Yn.lex,en.Tokenizer=xi,en.Slugger=fs,en.parse=en,en}()},9369:(Ut,it,et)=>{var yt=et(6284),ee=et(7830);function Dt(){this.clear()}Dt.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},Dt.prototype.enqueue=function(dt){return this.items.push(dt),++this.size},Dt.prototype.dequeue=function(){if(this.size){var dt=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,dt}},Dt.prototype.peek=function(){if(this.size)return this.items[this.offset]},Dt.prototype.forEach=function(dt,Y){Y=arguments.length>1?Y:this;for(var Se=this.offset,he=0,W=this.items.length;Se=dt.length)return{done:!0};var Se=dt[Y];return Y++,{value:Se,done:!1}})},Dt.prototype.entries=function(){var dt=this.items,Y=this.offset,Se=0;return new yt(function(){if(Y>=dt.length)return{done:!0};var he=dt[Y];return Y++,{value:[Se++,he],done:!1}})},"undefined"!=typeof Symbol&&(Dt.prototype[Symbol.iterator]=Dt.prototype.values),Dt.prototype.toString=function(){return this.toArray().join(",")},Dt.prototype.toJSON=function(){return this.toArray()},Dt.prototype.inspect=function(){var dt=this.toArray();return Object.defineProperty(dt,"constructor",{value:Dt,enumerable:!1}),dt},"undefined"!=typeof Symbol&&(Dt.prototype[Symbol.for("nodejs.util.inspect.custom")]=Dt.prototype.inspect),Dt.from=function(dt){var Y=new Dt;return ee(dt,function(Se){Y.enqueue(Se)}),Y},Dt.of=function(){return Dt.from(arguments)},Ut.exports=Dt},7830:Ut=>{var it="undefined"!=typeof ArrayBuffer,et="undefined"!=typeof Symbol;function yt(ee,Dt){var dt,Y,Se,he,W;if(!ee)throw new Error("obliterator/forEach: invalid iterable.");if("function"!=typeof Dt)throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(ee)||it&&ArrayBuffer.isView(ee)||"string"==typeof ee||"[object Arguments]"===ee.toString())for(Se=0,he=ee.length;Se{function it(et){Object.defineProperty(this,"_next",{writable:!1,enumerable:!1,value:et}),this.done=!1}it.prototype.next=function(){if(this.done)return{done:!0};var et=this._next();return et.done&&(this.done=!0),et},"undefined"!=typeof Symbol&&(it.prototype[Symbol.iterator]=function(){return this}),it.of=function(){var et=arguments,yt=et.length,ee=0;return new it(function(){return ee>=yt?{done:!0}:{done:!1,value:et[ee++]}})},it.empty=function(){var et=new it(null);return et.done=!0,et},it.is=function(et){return et instanceof it||"object"==typeof et&&null!==et&&"function"==typeof et.next},Ut.exports=it},7310:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.isMobile=function(){return void 0!==ee.window.orientation},it.default=function(he){if(!he&&!(0,Dt.default)())return"Node";if((0,dt.default)(he))return"Electron";var W="undefined"!=typeof navigator?navigator:{},j=he||W.userAgent||"";if(j.indexOf("Edge")>-1)return"Edge";var k=-1!==j.indexOf("MSIE "),Q=-1!==j.indexOf("Trident/");return k||Q?"IE":ee.window.chrome?"Chrome":ee.window.safari?"Safari":ee.window.mozInnerScreenX?"Firefox":"Unknown"};var ee=et(1151),Dt=yt(et(1602)),dt=yt(et(2344))},1151:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.console=it.process=it.document=it.global=it.window=it.self=void 0;var ee=yt(et(4321)),Dt={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&process};it.self=Dt.self||Dt.window||Dt.global,it.window=Dt.window||Dt.self||Dt.global,it.global=Dt.global||Dt.self||Dt.window,it.document=Dt.document||{},it.process=Dt.process||{};var j=console;it.console=j},4761:(Ut,it,et)=>{"use strict";var ee=et(1948),Dt=et(4321);Object.defineProperty(it,"CO",{enumerable:!0,get:function(){return dt.global}}),Object.defineProperty(it,"qs",{enumerable:!0,get:function(){return Se.default}});var dt=et(1151),Se=(j(et(1602)),j(et(7310)));ee(et(2344));function W(k){if("function"!=typeof WeakMap)return null;var Q=new WeakMap,H=new WeakMap;return(W=function(C){return C?H:Q})(k)}function j(k,Q){if(!Q&&k&&k.__esModule)return k;if(null===k||"object"!==Dt(k)&&"function"!=typeof k)return{default:k};var H=W(Q);if(H&&H.has(k))return H.get(k);var w={},C=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in k)if("default"!==R&&Object.prototype.hasOwnProperty.call(k,R)){var T=C?Object.getOwnPropertyDescriptor(k,R):null;T&&(T.get||T.set)?Object.defineProperty(w,R,T):w[R]=k[R]}return w.default=k,H&&H.set(k,w),w}},1602:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=dt,it.isBrowserMainThread=function(){return dt()&&"undefined"!=typeof document};var ee=yt(et(4321)),Dt=yt(et(2344));function dt(){return!("object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,Dt.default)()}},2344:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=function(dt){if("undefined"!=typeof window&&"object"===(0,ee.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,ee.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Y="object"===("undefined"==typeof navigator?"undefined":(0,ee.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,Se=dt||Y;return!!(Se&&Se.indexOf("Electron")>=0)};var ee=yt(et(4321))},6991:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Dt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Dt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Dt,dt){for(var Y in Dt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Dt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(et(4180),it),ee(et(5103),it),ee(et(8965),it),ee(et(2595),it),ee(et(2417),it),ee(et(2451),it),ee(et(7735),it)},4180:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.BlankNode=void 0,it.BlankNode=class{constructor(ee){this.termType="BlankNode",this.value=ee}equals(ee){return!!ee&&"BlankNode"===ee.termType&&ee.value===this.value}}},5103:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DataFactory=void 0;const yt=et(4180),ee=et(8965),Dt=et(2595),dt=et(2417),Y=et(2451),Se=et(7735);let he=0;it.DataFactory=class{constructor(k){this.blankNodeCounter=0,this.blankNodePrefix=(k=k||{}).blankNodePrefix||`df_${he++}_`}namedNode(k){return new dt.NamedNode(k)}blankNode(k){return new yt.BlankNode(k||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(k,Q){return new Dt.Literal(k,Q)}variable(k){return new Se.Variable(k)}defaultGraph(){return ee.DefaultGraph.INSTANCE}quad(k,Q,H,w){return new Y.Quad(k,Q,H,w||this.defaultGraph())}fromTerm(k){switch(k.termType){case"NamedNode":return this.namedNode(k.value);case"BlankNode":return this.blankNode(k.value);case"Literal":return k.language?this.literal(k.value,k.language):k.datatype.equals(Dt.Literal.XSD_STRING)?this.literal(k.value):this.literal(k.value,this.fromTerm(k.datatype));case"Variable":return this.variable(k.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(k.subject),this.fromTerm(k.predicate),this.fromTerm(k.object),this.fromTerm(k.graph))}}fromQuad(k){return this.fromTerm(k)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},8965:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DefaultGraph=void 0;class et{constructor(){this.termType="DefaultGraph",this.value=""}equals(ee){return!!ee&&"DefaultGraph"===ee.termType}}it.DefaultGraph=et,et.INSTANCE=new et},2595:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Literal=void 0;const yt=et(2417);class ee{constructor(dt,Y){this.termType="Literal",this.value=dt,"string"==typeof Y?(this.language=Y,this.datatype=ee.RDF_LANGUAGE_STRING):Y?(this.language="",this.datatype=Y):(this.language="",this.datatype=ee.XSD_STRING)}equals(dt){return!!dt&&"Literal"===dt.termType&&dt.value===this.value&&dt.language===this.language&&dt.datatype.equals(this.datatype)}}it.Literal=ee,ee.RDF_LANGUAGE_STRING=new yt.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),ee.XSD_STRING=new yt.NamedNode("http://www.w3.org/2001/XMLSchema#string")},2417:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.NamedNode=void 0,it.NamedNode=class{constructor(ee){this.termType="NamedNode",this.value=ee}equals(ee){return!!ee&&"NamedNode"===ee.termType&&ee.value===this.value}}},2451:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Quad=void 0,it.Quad=class{constructor(ee,Dt,dt,Y){this.termType="Quad",this.value="",this.subject=ee,this.predicate=Dt,this.object=dt,this.graph=Y}equals(ee){return!!ee&&("Quad"===ee.termType||!ee.termType)&&this.subject.equals(ee.subject)&&this.predicate.equals(ee.predicate)&&this.object.equals(ee.object)&&this.graph.equals(ee.graph)}}},7735:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Variable=void 0,it.Variable=class{constructor(ee){this.termType="Variable",this.value=ee}equals(ee){return!!ee&&"Variable"===ee.termType&&ee.value===this.value}}},1609:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(w,C,R,T){void 0===T&&(T=R),Object.defineProperty(w,T,{enumerable:!0,get:function(){return C[R]}})}:function(w,C,R,T){void 0===T&&(T=R),w[T]=C[R]}),ee=this&&this.__exportStar||function(w,C){for(var R in w)"default"!==R&&!Object.prototype.hasOwnProperty.call(C,R)&&yt(C,w,R)};Object.defineProperty(it,"__esModule",{value:!0}),it.getSupportedJavaScriptPrimitives=it.getSupportedRdfDatatypes=it.getTermRaw=it.toRdf=it.fromRdf=void 0;const Dt=et(6991),dt=et(9938),Y=et(6060);ee(et(9938),it),ee(et(8871),it),ee(et(6060),it);const Se=new Dt.DataFactory,he=new Y.Translator;function W(w,C){return he.fromRdf(w,C)}he.registerHandler(new dt.TypeHandlerString,dt.TypeHandlerString.TYPES.map(w=>Se.namedNode(w)),["string"]),he.registerHandler(new dt.TypeHandlerBoolean,[dt.TypeHandlerBoolean.TYPE].map(w=>Se.namedNode(w)),["boolean"]),he.registerHandler(new dt.TypeHandlerNumberDouble,dt.TypeHandlerNumberDouble.TYPES.map(w=>Se.namedNode(w)),["number"]),he.registerHandler(new dt.TypeHandlerNumberInteger,dt.TypeHandlerNumberInteger.TYPES.map(w=>Se.namedNode(w)),["number"]),he.registerHandler(new dt.TypeHandlerDate,dt.TypeHandlerDate.TYPES.map(w=>Se.namedNode(w)),["object"]),it.fromRdf=W,it.toRdf=function(w,C){return C&&"namedNode"in C&&(C={dataFactory:C}),(C=C||{})&&!C.dataFactory&&(C.dataFactory=Se),he.toRdf(w,C)},it.getTermRaw=function(w,C){return"Literal"===w.termType?W(w,C):w.value},it.getSupportedRdfDatatypes=function(){return he.getSupportedRdfDatatypes()},it.getSupportedJavaScriptPrimitives=function(){return he.getSupportedJavaScriptPrimitives()}},8871:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0})},6060:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Translator=void 0,it.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(ee){throw new Error(`Invalid RDF ${ee.datatype.value} value: '${ee.value}'`)}registerHandler(ee,Dt,dt){for(const Y of Dt)this.supportedRdfDatatypes.push(Y),this.fromRdfHandlers[Y.value]=ee;for(const Y of dt){let Se=this.toRdfHandlers[Y];Se||(this.toRdfHandlers[Y]=Se=[]),Se.push(ee)}}fromRdf(ee,Dt){const dt=this.fromRdfHandlers[ee.datatype.value];return dt?dt.fromRdf(ee,Dt):ee.value}toRdf(ee,Dt){const dt=this.toRdfHandlers[typeof ee];if(dt)for(const Y of dt){const Se=Y.toRdf(ee,Dt);if(Se)return Se}throw new Error(`Invalid JavaScript value: '${ee}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},727:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerBoolean=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){switch(dt.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return Y&&yt.Translator.incorrectRdfDataType(dt),!1}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(dt?"true":"false",Y||Se.namedNode(ee.TYPE))}}it.TypeHandlerBoolean=ee,ee.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},2525:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerDate=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){switch(Y&&!dt.value.match(ee.VALIDATORS[dt.datatype.value.substr(33,dt.datatype.value.length)])&&yt.Translator.incorrectRdfDataType(dt),dt.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(dt.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const Se=dt.value.split("-");return new Date(0,parseInt(Se[0],10)-1,parseInt(Se[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(dt.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(dt.value+"-01");default:return new Date(dt.value)}}toRdf(dt,{datatype:Y,dataFactory:Se}){if(Y=Y||Se.namedNode(ee.TYPES[0]),!(dt instanceof Date))return null;const he=dt;let W;switch(Y.value){case"http://www.w3.org/2001/XMLSchema#gDay":W=String(he.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":W=he.getUTCMonth()+1+"-"+he.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":W=String(he.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":W=he.getUTCFullYear()+"-"+(he.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":W=he.toISOString().replace(/T.*$/,"");break;default:W=he.toISOString()}return Se.literal(W,Y)}}it.TypeHandlerDate=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],ee.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},8554:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberDouble=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){const Se=parseFloat(dt.value);return Y&&isNaN(Se)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Y=Y||Se.namedNode(ee.TYPES[0]),isNaN(dt)?Se.literal("NaN",Y):isFinite(dt)?dt%1==0?null:Se.literal(dt.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Y):Se.literal(dt>0?"INF":"-INF",Y)}}it.TypeHandlerNumberDouble=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},7750:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberInteger=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){const Se=parseInt(dt.value,10);return Y&&(isNaN(Se)||dt.value.indexOf(".")>=0)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(String(dt),Y||Se.namedNode(dt<=ee.MAX_INT&&dt>=ee.MIN_INT?ee.TYPES[0]:ee.TYPES[1]))}}it.TypeHandlerNumberInteger=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],ee.MAX_INT=2147483647,ee.MIN_INT=-2147483648},4608:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerString=void 0;class et{fromRdf(ee){return ee.value}toRdf(ee,{datatype:Dt,dataFactory:dt}){return dt.literal(ee,Dt)}}it.TypeHandlerString=et,et.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Dt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Dt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Dt,dt){for(var Y in Dt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Dt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(et(727),it),ee(et(2525),it),ee(et(8554),it),ee(et(7750),it),ee(et(4608),it)},2829:(Ut,it,et)=>{"use strict";var yt={};et.r(yt),et.d(yt,{decode:()=>Ume,encode:()=>zme});var ee={};et.r(ee),et.d(ee,{decode:()=>qme,encode:()=>Yme});var Dt={};et.r(Dt),et.d(Dt,{decode:()=>Xme,encode:()=>Kme});var dt={};function Y(n){return"function"==typeof n}et.r(dt),et.d(dt,{decode:()=>Qme,encode:()=>Zme});let Se=!1;const he={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else Se&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Se=n},get useDeprecatedSynchronousErrorHandling(){return Se}};function W(n){setTimeout(()=>{throw n},0)}const j={closed:!0,next(n){},error(n){if(he.useDeprecatedSynchronousErrorHandling)throw n;W(n)},complete(){}},k=Array.isArray||(n=>n&&"number"==typeof n.length);function Q(n){return null!==n&&"object"==typeof n}const w=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class C{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof C)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof w?t.errors:t),[])}C.EMPTY=((n=new C).closed=!0,n);const T="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class y extends C{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=j;break;case 1:if(!e){this.destination=j;break}if("object"==typeof e){e instanceof y?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new S(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new S(this,e,t,i)}}[T](){return this}static create(e,t,i){const r=new y(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class S extends y{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Y(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==j&&(o=Object.create(t),Y(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;he.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=he;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):W(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;W(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);he.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),he.useDeprecatedSynchronousErrorHandling)throw i;W(i)}}__tryOrSetError(e,t,i){if(!he.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return he.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(W(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const P="function"==typeof Symbol&&Symbol.observable||"@@observable";function X(n){return n}function ue(...n){return I(n)}function I(n){return 0===n.length?X:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let O=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof y)return n;if(n[T])return n[T]()}return n||e||t?new y(n,e,t):new y(j)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||he.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),he.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){he.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof y?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=K(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[P](){return this}pipe(...t){return 0===t.length?this:I(t)(this)}toPromise(t){return new(t=K(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function K(n){if(n||(n=he.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const $=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class Z extends C{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class ae extends y{constructor(e){super(e),this.destination=e}}let oe=(()=>{class n extends O{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[T](){return new ae(this)}lift(t){const i=new te(this,this);return i.operator=t,i}next(t){if(this.closed)throw new $;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew te(e,t),n})();class te extends oe{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):C.EMPTY}}function Te(n){return n&&"function"==typeof n.schedule}function me(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new ne(n,e))}}class ne{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new ye(e,this.project,this.thisArg))}}class ye extends y{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const Oe=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ke(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Me=n=>{if(n&&"function"==typeof n[P])return(n=>e=>{const t=n[P]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(Le(n))return Oe(n);if(Ke(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,W),e))(n);if(n&&"function"==typeof n[Qe])return(n=>e=>{const t=n[Qe]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${Q(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function ke(n,e){return new O(t=>{const i=new C;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function je(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[P]}(n))return function(n,e){return new O(t=>{const i=new C;return i.add(e.schedule(()=>{const r=n[P]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ke(n))return function(n,e){return new O(t=>{const i=new C;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(Le(n))return ke(n,e);if(function(n){return n&&"function"==typeof n[Qe]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new O(t=>{const i=new C;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[Qe](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof O?n:new O(Me(n))}class _t extends y{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class we extends y{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function N(n,e){if(e.closed)return;if(n instanceof O)return n.subscribe(e);let t;try{t=Me(n)(e)}catch(i){e.error(i)}return t}function V(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(V((r,s)=>je(n(r,s)).pipe(me((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Re(n,t)))}class Re{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new Ze(e,this.project,this.concurrent))}}class Ze extends we{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function kt(n=Number.POSITIVE_INFINITY){return V(X,n)}function In(n,e){return e?ke(n,e):new O(Oe(n))}function Nn(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Te(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof O?n[0]:kt(e)(In(n,t))}function Yn(){return function(e){return e.lift(new Mi(e))}}class Mi{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new xi(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class xi extends y{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Xr extends O{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new C,e.add(this.source.subscribe(new fs(this.getSubject(),this))),e.closed&&(this._connection=null,e=C.EMPTY)),e}refCount(){return Yn()(this)}}const Ls=(()=>{const n=Xr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class fs extends ae{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function xa(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new kl(r,e));const s=Object.create(i,Ls);return s.source=i,s.subjectFactory=r,s}}class kl{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function Sa(){return new oe}function ws(){return n=>Yn()(xa(Sa)(n))}function en(n){for(let e in n)if(n[e]===en)return e;throw Error("Could not find renamed property on target object.")}function nl(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function rt(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(rt).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function lt(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const ht=en({__forward_ref__:en});function ge(n){return n.__forward_ref__=ge,n.toString=function(){return rt(this())},n}function ve(n){return Be(n)?n():n}function Be(n){return"function"==typeof n&&n.hasOwnProperty(ht)&&n.__forward_ref__===ge}class Je extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function Ot(n){return"string"==typeof n?n:null==n?"":String(n)}function Qt(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Ot(n)}function bn(n,e){const t=e?` in ${e}`:"";throw new Je("201",`No provider for ${Qt(n)} found${t}`)}function J(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function We(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function St(n){return{providers:n.providers||[],imports:n.imports||[]}}function vn(n){return Es(n,fo)||Es(n,Vs)}function Es(n,e){return n.hasOwnProperty(e)?n[e]:null}function Fl(n){return n&&(n.hasOwnProperty(Br)||n.hasOwnProperty(Ac))?n[Br]:null}const fo=en({\u0275prov:en}),Br=en({\u0275inj:en}),Vs=en({ngInjectableDef:en}),Ac=en({ngInjectorDef:en});var xn=(()=>((xn=xn||{})[xn.Default=0]="Default",xn[xn.Host=1]="Host",xn[xn.Self=2]="Self",xn[xn.SkipSelf=4]="SkipSelf",xn[xn.Optional=8]="Optional",xn))();let po;function Ta(n){const e=po;return po=n,e}function Ed(n,e,t){const i=vn(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&xn.Optional?null:void 0!==e?e:void bn(rt(n),"Injector")}function De(n){return{toString:n}.toString()}var Ge=(()=>((Ge=Ge||{})[Ge.OnPush=0]="OnPush",Ge[Ge.Default=1]="Default",Ge))(),Xt=(()=>((Xt=Xt||{})[Xt.Emulated=0]="Emulated",Xt[Xt.None=2]="None",Xt[Xt.ShadowDom=3]="ShadowDom",Xt))();const ui="undefined"!=typeof globalThis&&globalThis,Vr="undefined"!=typeof window&&window,Jr="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,xs="undefined"!=typeof global&&global,Zn=ui||xs||Vr||Jr,xd={},er=[],fp=en({\u0275cmp:en}),n_=en({\u0275dir:en}),Oh=en({\u0275pipe:en}),iv=en({\u0275mod:en}),T1=en({\u0275loc:en}),Bl=en({\u0275fac:en}),Rh=en({__NG_ELEMENT_ID__:en});let A1=0;function rn(n){return De(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===Ge.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||er,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Xt.Emulated,id:"c",styles:n.styles||er,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=A1++,i.inputs=av(n.inputs,t),i.outputs=av(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(rv):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(sv):null,i})}function rv(n){return Ui(n)||function(n){return n[n_]||null}(n)}function sv(n){return function(n){return n[Oh]||null}(n)}const ov={};function tn(n){return De(()=>{const e={type:n.type,bootstrap:n.bootstrap||er,declarations:n.declarations||er,imports:n.imports||er,exports:n.exports||er,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(ov[n.id]=n.type),e})}function av(n,e){if(null==n)return xd;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const Nt=rn;function js(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function Ui(n){return n[fp]||null}function No(n,e){const t=n[iv]||null;if(!t&&!0===e)throw new Error(`Type ${rt(n)} does not have '\u0275mod' property.`);return t}function Jo(n){return Array.isArray(n)&&"object"==typeof n[1]}function ea(n){return Array.isArray(n)&&!0===n[1]}function s_(n){return 0!=(8&n.flags)}function Ad(n){return 2==(2&n.flags)}function Md(n){return 1==(1&n.flags)}function Da(n){return null!==n.template}function lv(n){return 0!=(512&n[2])}function Ic(n,e){return n.hasOwnProperty(Bl)?n[Bl]:null}class c_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Fi(){return dv}function dv(n){return n.type.prototype.ngOnChanges&&(n.setInput=k1),N1}function N1(){const n=at(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===xd)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function k1(n,e,t,i){const r=at(n)||function(n,e){return n[Bh]=e}(n,{previous:xd,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new c_(l&&l.currentValue,e,o===xd),n[i]=e}Fi.ngInherit=!0;const Bh="__ngSimpleChanges__";function at(n){return n[Bh]||null}let Yi;function dr(n){return!!n.listen}const Su={createRenderer:(n,e)=>void 0!==Yi?Yi:"undefined"!=typeof document?document:void 0};function Sr(n){for(;Array.isArray(n);)n=n[0];return n}function Vh(n,e){return Sr(e[n])}function eo(n,e){return Sr(e[n.index])}function h_(n,e){return n.data[e]}function Dd(n,e){return n[e]}function zs(n,e){const t=e[n];return Jo(t)?t:t[0]}function Ul(n){return 4==(4&n[2])}function Id(n){return 128==(128&n[2])}function Oa(n,e){return null==e?null:n[e]}function f_(n){n[18]=0}function mp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Ln={lFrame:Tu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function fv(){return Ln.bindingsEnabled}function Vt(){return Ln.lFrame.lView}function Si(){return Ln.lFrame.tView}function _r(n){return Ln.lFrame.contextLView=n,n[8]}function as(){let n=p_();for(;null!==n&&64===n.type;)n=n.parent;return n}function p_(){return Ln.lFrame.currentTNode}function sl(n,e){const t=Ln.lFrame;t.currentTNode=n,t.isParent=e}function zr(){return Ln.lFrame.isParent}function ps(){Ln.lFrame.isParent=!1}function zh(){return Ln.isInCheckNoChangesMode}function yp(n){Ln.isInCheckNoChangesMode=n}function Cs(){const n=Ln.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}function Ra(){return Ln.lFrame.bindingIndex++}function Fo(n){const e=Ln.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Od(n,e){const t=Ln.lFrame;t.bindingIndex=t.bindingRootIndex=n,g_(e)}function g_(n){Ln.lFrame.currentDirectiveIndex=n}function m_(n){const e=Ln.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function pv(){return Ln.lFrame.currentQueryIndex}function __(n){Ln.lFrame.currentQueryIndex=n}function vp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Rd(n,e,t){if(t&xn.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&xn.Host||(r=vp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Ln.lFrame=xe();return i.currentTNode=e,i.lView=n,!0}function $h(n){const e=xe(),t=n[1];Ln.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function xe(){const n=Ln.lFrame,e=null===n?null:n.child;return null===e?Tu(n):e}function Tu(n){const 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:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Wh(){const n=Ln.lFrame;return Ln.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Lo=Wh;function fi(){const n=Wh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function to(){return Ln.lFrame.selectedIndex}function _o(n){Ln.lFrame.selectedIndex=n}function Nr(){const n=Ln.lFrame;return h_(n.tView,n.selectedIndex)}function wp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class qh{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Sp(n,e,t){const i=dr(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Nd=!0;function Cp(n){const e=Nd;return Nd=n,e}let x_=0;function Hs(n,e){const t=Tp(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,S_(i.data,n),S_(e,null),S_(i.blueprint,null));const r=Xh(n,e),s=n.injectorIndex;if(yv(r)){const o=Pd(r),a=al(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function S_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Tp(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function Xh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Rc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Rh)&&(i=t[Rh]),null==i&&(i=t[Rh]=x_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:Ev:e}(t);if("function"==typeof s){if(!Rd(e,n,i))return i&xn.Host?C_(r,t,i):vv(e,t,i,r);try{const o=s(i);if(null!=o||i&xn.Optional)return o;bn(t)}finally{Lo()}}else if("number"==typeof s){let o=null,a=Tp(n,e),l=-1,c=i&xn.Host?e[16][6]:null;for((-1===a||i&xn.SkipSelf)&&(l=-1===a?Xh(n,e):e[a+8],-1!==l&&Qh(i,!1)?(o=e[1],a=Pd(l),e=al(l,e)):a=-1);-1!==a;){const u=e[1];if(Ap(s,a,u.data)){const h=Ts(a,e,t,o,i,c);if(h!==wv)return h}l=e[a+8],-1!==l&&Qh(i,e[1].data[a+8]===c)&&Ap(s,a,e)?(o=u,a=Pd(l),e=al(l,e)):a=-1}}}return vv(e,t,i,r)}const wv={};function Ev(){return new na(as(),Vt())}function Ts(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=kd(a,o,t,null==i?Ad(a)&&Nd:i!=o&&0!=(3&a.type),r&xn.Host&&s===a);return null!==u?Fd(e,o,u,a):wv}function kd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,f=r?a+u:n.directiveEnd;for(let g=i?a:a+u;g=l&&m.type===t)return g}if(r){const g=o[l];if(g&&Da(g)&&g.type===t)return l}return null}function Fd(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof qh}(r)){const o=r;o.resolving&&function(n,e){throw new Je("200",`Circular dependency in DI detected for ${n}`)}(Qt(s[t]));const a=Cp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Ta(o.injectImpl):null;Rd(n,i,xn.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=dv(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&Ta(l),Cp(a),o.resolving=!1,Lo()}}return r}function Ap(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[Bl]||As(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[Bl]||As(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function As(n){return Be(n)?()=>{const e=As(ve(n));return e&&e()}:Ic(n)}function yo(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Bd)?l[Bd]:Object.defineProperty(l,Bd,{value:[]})[Bd];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class Ht{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=We({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Du=Function;function ia(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?ra(t,e):e(t))}function Jh(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Hl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Nc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function O_(n,e){const t=Ms(n,e);if(t>=0)return n[1|t]}function Ms(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):rt(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Lc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Fc]=null,n}const Hd=zd(ka("Inject",n=>({token:n})),-1),ts=zd(ka("Optional"),8),dl=zd(ka("SkipSelf"),4);let $d;function Fu(n){var e;return(null===(e=function(){if(void 0===$d&&($d=null,Zn.trustedTypes))try{$d=Zn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return $d}())||void 0===e?void 0:e.createHTML(n))||n}class ql{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class L_ extends ql{getTypeName(){return"HTML"}}class B_ extends ql{getTypeName(){return"Style"}}class jp extends ql{getTypeName(){return"Script"}}class Wd extends ql{getTypeName(){return"URL"}}class kn extends ql{getTypeName(){return"ResourceURL"}}function Gs(n){return n instanceof ql?n.changingThisBreaksApplicationSecurity:n}function sa(n,e){const t=jc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function jc(n){return n instanceof ql&&n.getTypeName()||null}class jv{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Fu(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class fT{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Fu(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Fu(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0jo(e.trim())).join(", ")}function oa(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function tf(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const Up=oa("area,br,col,hr,img,wbr"),zv=oa("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Hv=oa("rp,rt"),j_=tf(Up,tf(zv,oa("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")),tf(Hv,oa("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")),tf(Hv,zv)),U_=oa("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),z_=oa("srcset"),H_=tf(U_,z_,oa("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),oa("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")),bT=oa("script,style,template");class G_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!j_.hasOwnProperty(t))return this.sanitizedSomething=!0,!bT.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();j_.hasOwnProperty(t)&&!Up.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(Hp(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const Gv=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,nf=/([^\#-~ |!])/g;function Hp(n){return n.replace(/&/g,"&").replace(Gv,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(nf,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let rf;function $_(n,e){let t=null;try{rf=rf||function(n){const e=new fT(n);return function(){try{return!!(new window.DOMParser).parseFromString(Fu(""),"text/html")}catch(n){return!1}}()?new jv(e):e}(n);let i=e?String(e):"";t=rf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=rf.getInertBodyElement(i)}while(i!==s);return Fu((new G_).sanitizeChildren(qd(t)||t))}finally{if(t){const i=qd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function qd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var si=(()=>((si=si||{})[si.NONE=0]="NONE",si[si.HTML=1]="HTML",si[si.STYLE=2]="STYLE",si[si.SCRIPT=3]="SCRIPT",si[si.URL=4]="URL",si[si.RESOURCE_URL=5]="RESOURCE_URL",si))();function sf(n){const e=function(){const n=Vt();return n&&n[12]}();return e?e.sanitize(si.URL,n)||"":sa(n,"URL")?Gs(n):jo(Ot(n))}const Y_="__ngContext__";function Ds(n,e){n[Y_]=e}function X_(n){const e=function(n){return n[Y_]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function Gp(n){return n.ngOriginalError}function RT(n,...e){n.error(...e)}class la{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||RT}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(Gp(e)):null}_findOriginalError(e){let t=e&&Gp(e);for(;t&&Gp(t);)t=Gp(t);return t||null}}const tw=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Zn))();function fl(n){return n instanceof Function?n():n}var Uo=(()=>((Uo=Uo||{})[Uo.Important=1]="Important",Uo[Uo.DashCase=2]="DashCase",Uo))();function ey(n,e){return undefined(n,e)}function lf(n){const e=n[3];return ea(e)?e[3]:e}function Xd(n){return ow(n[13])}function ny(n){return ow(n[4])}function ow(n){for(;null!==n&&!ea(n);)n=n[4];return n}function Kd(n,e,t,i,r){if(null!=i){let s,o=!1;ea(i)?s=i:Jo(i)&&(o=!0,i=i[0]);const a=Sr(i);0===n&&null!==t?null==r?dw(e,t,a):pl(e,t,a,r||null,!0):1===n&&null!==t?pl(e,t,a,r||null,!0):2===n?function(n,e,t){const i=qp(n,e);i&&function(n,e,t,i){dr(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==Sr(t)&&Kd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=Hl(n,10+e);!function(n,e){Qd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function oy(n,e){if(!(256&e[2])){const t=e[11];dr(t)&&t.destroyNode&&Qd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return Wp(n[1],n);for(;e;){let t=null;if(Jo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Jo(e)&&Wp(e[1],e),e=e[3];null===e&&(e=n),Jo(e)&&Wp(e[1],e),t=e&&e[4]}e=t}}(e)}}function Wp(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[h+1].toLowerCase();const g=8&i?f:null;if(g&&-1!==uf(g,c,0)||2&i&&c!==f){if(La(i))return!1;o=!0}}}}else{if(!o&&!La(i)&&!La(l))return!1;if(o&&La(l))continue;o=!1,i=l|1&i}}return La(i)||o}function La(n){return 0==(1&n)}function oA(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!La(o)&&(e+=Sw(s,r),r=""),i=o,s=s||!La(i);t++}return""!==r&&(e+=Sw(s,r)),e}const Dn={};function zt(n){Cw(Si(),Vt(),to()+n,zh())}function Cw(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Ep(e,s,t)}else{const s=n.preOrderHooks;null!==s&&xp(e,s,0,t)}_o(t)}function gl(n,e){return n<<17|e<<2}function On(n){return n>>17&32767}function Cr(n){return 2|n}function Yl(n){return(131068&n)>>2}function ml(n,e){return-131069&n|e<<2}function hy(n){return 1|n}function Nw(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&Cw(n,e,20,zh()),t(i,r)}finally{_o(s)}}function pf(n,e,t){!fv()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||Hs(t,e),Ds(i,e);const o=t.initialInputs;for(let a=r;a0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function $w(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function Ww(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function NA(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&Sy(t)}}function Sy(n){for(let i=Xd(n);null!==i;i=ny(i))for(let r=10;r0&&Sy(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&Sy(r)}}function UA(n,e){const t=zs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function Xw(n){return n[7]||(n[7]=[])}function ig(n){return n.cleanup||(n.cleanup=[])}function Dy(n,e,t){return(null===n||Da(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function Iy(n,e){const t=n[9],i=t?t.get(la,null):null;i&&i.handleError(e)}function Kw(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),ra([e],a=>this.processInjectorType(a,[],s)),this.records.set(Vu,Uu(void 0,this));const o=this.records.get(ju);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:rt(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Ru,i=xn.Default){this.assertNotDestroyed();const r=Ud(this),s=Ta(void 0);try{if(!(i&xn.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof Ht}(e)&&vn(e);a=l&&this.injectableDefInScope(l)?Uu(ky(e),gf):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&xn.Self?Qw():this.parent).get(e,t=i&xn.Optional&&t===Ru?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Fc]=o[Fc]||[]).unshift(rt(e)),r)throw o;return no(o,e,"R3InjectorError",this.source)}throw o}finally{Ta(s),Ud(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(rt(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=ve(e)))return!1;let r=Fl(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Fl(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{ra(r.imports,h=>{this.processInjectorType(h,t,i)&&(void 0===u&&(u=[]),u.push(h))})}finally{}if(void 0!==u)for(let h=0;hthis.processProvider(m,f,g||er))}}this.injectorDefTypes.add(o);const l=Ic(o)||(()=>new o);this.records.set(o,Uu(l,gf));const c=r.providers;if(null!=c&&!a){const u=e;ra(c,h=>this.processProvider(h,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Hc(e=ve(e))?e:ve(e&&e.provide);const s=function(n,e,t){return eE(n)?Uu(void 0,n.useValue):Uu(Jw(n),gf)}(e);if(Hc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=Uu(void 0,gf,!0),o.factory=()=>Nu(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===gf&&(t.value=YA,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=ve(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function ky(n){const e=vn(n),t=null!==e?e.factory:Ic(n);if(null!==t)return t;if(n instanceof Ht)throw new Error(`Token ${rt(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=Nc(e,"?");throw new Error(`Can't resolve all parameters for ${rt(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[fo]||n[Vs]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function Jw(n,e,t){let i;if(Hc(n)){const r=ve(n);return Ic(r)||ky(r)}if(eE(n))i=()=>ve(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Nu(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>Ie(ve(n.useExisting));else{const r=ve(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Ic(r)||ky(r);i=()=>new r(...Nu(n.deps))}return i}function Uu(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function eE(n){return null!==n&&"object"==typeof n&&Pp in n}function Hc(n){return"function"==typeof n}const tE=function(n,e,t){return function(n,e=null,t=null,i){const r=Zw(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Hn{static create(e,t){return Array.isArray(e)?tE(e,t,""):tE(e.providers,e.parent,e.name||"")}}function Fq(n,e){wp(X_(n)[1],as())}function En(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(Da(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=lM(n.inputs),o.declaredInputs=lM(n.declaredInputs),o.outputs=lM(n.outputs);const a=r.hostBindings;a&&jq(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&Bq(n,l),c&&Vq(n,c),nl(n.inputs,r.inputs),nl(n.declaredInputs,r.declaredInputs),nl(n.outputs,r.outputs),Da(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Yh(r.hostAttrs,t=Yh(t,r.hostAttrs))}}(i)}function lM(n){return n===xd?{}:n===er?[]:n}function Bq(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function Vq(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function jq(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Hn.THROW_IF_NOT_FOUND=Ru,Hn.NULL=new so,Hn.\u0275prov=We({token:Hn,providedIn:"any",factory:()=>Ie(Vu)}),Hn.__NG_ELEMENT_ID__=-1;let oE=null;function sg(){if(!oE){const n=Zn.Symbol;if(n&&n.iterator)oE=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(Sr(_e[i.index])):i.index;if(dr(t)){let _e=null;if(!a&&l&&(_e=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==_e)(_e.__ngLastListenerFn__||_e).__ngNextListenerFn__=s,_e.__ngLastListenerFn__=s,g=!1;else{s=gM(i,e,h,s,!1);const Pe=t.listen(U,r,s);f.push(s,Pe),u&&u.push(r,ie,D,D+1)}}else s=gM(i,e,h,s,!0),U.addEventListener(r,s,o),f.push(s),u&&u.push(r,ie,D,o)}else s=gM(i,e,h,s,!1);const m=i.outputs;let v;if(g&&null!==m&&(v=m[r])){const x=v.length;if(x)for(let U=0;U0;)e=e[15],n--;return e}(n,Ln.lFrame.contextLView))[8]}(n)}function vY(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const Os={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function k2(n){return n.substring(Os.key,Os.keyEnd)}function F2(n,e){const t=Os.textEnd;return t===e?-1:(e=Os.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,Os.key=e,t),bg(n,e,t))}function bg(n,e,t){for(;e=0;t=F2(e,t))Bo(n,k2(e),!0)}function Jl(n,e,t,i){const r=Vt(),s=Si(),o=Fo(2);s.firstUpdatePass&&z2(s,n,o,i),e!==Dn&&Eo(r,o,e)&&G2(s,s.data[to()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=rt(Gs(n)))),n}(e,t),i,o)}function U2(n,e){return e>=n.expandoStartIndex}function z2(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[to()],o=U2(n,t);W2(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=m_(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=Hy(t=_M(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=_M(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Yl(i))return n[On(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=_M(null,n,e,l[1],i),l=Hy(l,e.attrs,i),function(n,e,t,i){n[On(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else u=t;if(r)if(0!==l){const f=On(n[a+1]);n[i+1]=gl(f,a),0!==f&&(n[f+1]=ml(n[f+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=gl(a,0),0!==a&&(n[a+1]=ml(n[a+1],i)),a=i;else n[i+1]=gl(l,0),0===a?a=i:n[l+1]=ml(n[l+1],i),l=i;c&&(n[i+1]=Cr(n[i+1])),N2(n,u,i,!0),N2(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Ms(s,e)>=0&&(t[i+1]=hy(t[i+1]))}(e,u,n,i,s),o=gl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function _M(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let f=t[r+1];f===Dn&&(f=h?er:void 0);let g=h?O_(f,i):u===i?f:void 0;if(c&&!hE(g)&&(g=O_(l,i)),hE(g)&&(a=g,o))return a;const m=n[r+1];r=o?On(m):Yl(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=O_(l,i))}return a}function hE(n){return void 0!==n}function W2(n,e){return 0!=(n.flags&(e?16:32))}function Jn(n,e=""){const t=Vt(),i=Si(),r=n+20,s=i.firstCreatePass?Jd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return dr(n)?n.createText(e):n.createTextNode(e)}(t[11],e);Yp(i,t,o,s),sl(s,!1)}function gs(n){return xo("",n,""),gs}function xo(n,e,t){const i=Vt(),r=ag(i,n,e,t);return r!==Dn&&Xl(i,to(),r),xo}function qc(n,e,t){const i=Vt();return Eo(i,Ra(),e)&&zo(Si(),Nr(),i,n,e,i[11],t,!0),qc}function fE(n,e,t){const i=Vt();if(Eo(i,Ra(),e)){const s=Si(),o=Nr();zo(s,o,i,n,e,Dy(m_(s.data),o,i),t,!0)}return fE}const _f=void 0;var iX=["en",[["a","p"],["AM","PM"],_f],[["AM","PM"],_f,_f],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],_f,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],_f,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",_f,"{1} 'at' {0}",_f],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let vg={};function uL(n){return n in vg||(vg[n]=Zn.ng&&Zn.ng.common&&Zn.ng.common.locales&&Zn.ng.common.locales[n]),vg[n]}var un=(()=>((un=un||{})[un.LocaleId=0]="LocaleId",un[un.DayPeriodsFormat=1]="DayPeriodsFormat",un[un.DayPeriodsStandalone=2]="DayPeriodsStandalone",un[un.DaysFormat=3]="DaysFormat",un[un.DaysStandalone=4]="DaysStandalone",un[un.MonthsFormat=5]="MonthsFormat",un[un.MonthsStandalone=6]="MonthsStandalone",un[un.Eras=7]="Eras",un[un.FirstDayOfWeek=8]="FirstDayOfWeek",un[un.WeekendRange=9]="WeekendRange",un[un.DateFormat=10]="DateFormat",un[un.TimeFormat=11]="TimeFormat",un[un.DateTimeFormat=12]="DateTimeFormat",un[un.NumberSymbols=13]="NumberSymbols",un[un.NumberFormats=14]="NumberFormats",un[un.CurrencyCode=15]="CurrencyCode",un[un.CurrencySymbol=16]="CurrencySymbol",un[un.CurrencyName=17]="CurrencyName",un[un.Currencies=18]="Currencies",un[un.Directionality=19]="Directionality",un[un.PluralCase=20]="PluralCase",un[un.ExtraData=21]="ExtraData",un))();const pE="en-US";let dL=pE;function bM(n){J(n,"Expected localeId to be defined"),"string"==typeof n&&(dL=n.toLowerCase().replace(/_/g,"-"))}function EM(n,e,t,i,r){if(n=ve(n),Array.isArray(n))for(let s=0;s>20;if(Hc(n)||!n.multi){const g=new qh(l,r,Ce),m=SM(a,e,r?u:u+f,h);-1===m?(Rc(Hs(c,o),s,a),xM(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[m]=g,o[m]=g)}else{const g=SM(a,e,u+f,h),m=SM(a,e,u,u+f),v=g>=0&&t[g],x=m>=0&&t[m];if(r&&!x||!r&&!v){Rc(Hs(c,o),s,a);const U=function(n,e,t,i,r){const s=new qh(n,t,Ce);return s.multi=[],s.index=e,s.componentProviders=0,kL(s,r,i&&!t),s}(r?eK:JX,t.length,r,i,l);!r&&x&&(t[m].providerFactory=U),xM(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(U),o.push(U)}else xM(s,n,g>-1?g:m,kL(t[r?m:g],l,!r&&i));!r&&i&&x&&t[m].componentProviders++}}}function xM(n,e,t,i){const r=Hc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function kL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function SM(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Si();if(i.firstCreatePass){const r=Da(n);EM(t,i.data,i.blueprint,r,!0),EM(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class FL{}const BL="ngComponent";class iK{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${rt(n)}. Did you add it to @NgModule.entryComponents?`);return e[BL]=n,e}(e)}}class El{}function bE(...n){}function Eg(n,e){return new gn(eo(n,e))}El.NULL=new iK;const oK=function(){return Eg(as(),Vt())};let gn=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=oK,n})();function VL(n){return n instanceof gn?n.nativeElement:n}class yf{}let AM=(()=>{class n{}return n.\u0275prov=We({token:n,providedIn:"root",factory:()=>null}),n})();class Hu{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const jL=new Hu("12.2.5");class UL{constructor(){}supports(e){return jy(e)}create(e){return new hK(e)}}const dK=(n,e)=>e;class hK{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||dK}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;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,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new fK(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new zL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new zL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(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._nextIdentityChange=e,e}}class fK{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}}class pK{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(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 i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class zL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new pK,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function HL(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new mK(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class mK{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function $L(){return new xg([new UL])}let xg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||$L()),deps:[[n,new dl,new ts]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:$L}),n})();function WL(){return new Sg([new GL])}let Sg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||WL()),deps:[[n,new dl,new ts]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:WL}),n})();function vE(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(Sr(s)),ea(s))for(let a=10;a-1&&(sy(e,i),Hl(t,i))}this._attachedToViewContainer=!1}oy(this._lView[1],this._lView)}onDestroy(e){Bw(this._lView[1],this._lView,null,e)}markForCheck(){Cy(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Ay(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){yp(!0);try{Ay(n,e,t)}finally{yp(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Qd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class yK extends Yy{constructor(e){super(e),this._view=e}detectChanges(){Yw(this._view)}checkNoChanges(){!function(n){yp(!0);try{Yw(n)}finally{yp(!1)}}(this._view)}get context(){return null}}const vK=function(n){return function(n,e,t){if(Ad(n)&&!t){const i=zs(n.index,e);return new Yy(i,i)}return 47&n.type?new Yy(e[16],e):null}(as(),Vt(),16==(16&n))};let Mr=(()=>{class n{}return n.__NG_ELEMENT_ID__=vK,n})();const xK=[new GL],CK=new xg([new UL]),TK=new Sg(xK),MK=function(){return wE(as(),Vt())};let Go=(()=>{class n{}return n.__NG_ELEMENT_ID__=MK,n})();const DK=Go,IK=class extends DK{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=hf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),ff(t,i,e),new Yy(i)}};function wE(n,e){return 4&n.type?new IK(e,n,Eg(n,e)):null}class Yc{}const PK=function(){return KL(as(),Vt())};let Rs=(()=>{class n{}return n.__NG_ELEMENT_ID__=PK,n})();const kK=Rs,YL=class extends kK{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Eg(this._hostTNode,this._hostLView)}get injector(){return new na(this._hostTNode,this._hostLView)}get parentInjector(){const e=Xh(this._hostTNode,this._hostLView);if(yv(e)){const t=al(e,this._hostLView),i=Pd(e);return new na(t[1].data[i+8],t)}return new na(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=XL(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get(Yc,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return ea(n[3])}(i)){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const h=i[3],f=new YL(h,h[6],h[3]);f.detach(f.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),itw});class b3 extends FL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(dA).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return y3(this.componentDef.inputs)}get outputs(){return y3(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,Mg,r);return s!==Mg||i===Mg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(yf,Su),a=s.get(AM,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(dr(n))return n.selectRootElement(e,t===Xt.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):ry(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),h=this.componentDef.onPush?576:528,f=function(n,e){return{components:[],scheduler:n||tw,clean:WA,playerHandler:e||null,flags:0}}(),g=tg(0,null,null,1,0,null,null,null,null,null),m=hf(null,g,f,h,null,null,o,l,a,s);let v,x;$h(m);try{const U=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Jd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(rg(l,c,!0),null!==n&&(Sp(r,n,c),null!==l.classes&&uy(r,n,l.classes),null!==l.styles&&vw(r,n,l.styles)));const u=i.createRenderer(n,e),h=hf(t,eg(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Rc(Hs(l,t),o,e.type),Ww(o,l),wy(l,t.length,1)),ng(t,h),t[20]=h}(u,this.componentDef,m,o,l);if(u)if(i)Sp(l,u,["ng-version",jL.full]);else{const{attrs:D,classes:ie}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&uy(l,u,ie.join(" "))}if(x=h_(g,20),void 0!==t){const D=x.projection=[];for(let ie=0;iel(o,e)),e.contentQueries){const l=as();e.contentQueries(1,o,l.directiveStart)}const a=as();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(_o(a.index),Gw(t[1],a,0,a.directiveStart,a.directiveEnd,e),$w(e,o)),o}(U,this.componentDef,m,f,[Fq]),ff(g,m,null)}finally{fi()}return new NQ(this.componentType,v,Eg(x,m),m,x)}}class NQ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new yK(r),this.componentType=e}get injector(){return new na(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Dg=new Map;class LQ extends Yc{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _3(this);const i=No(e),r=function(n){return n[T1]||null}(e);r&&bM(r),this._bootstrapComponents=fl(i.bootstrap),this._r3Injector=Zw(e,t,[{provide:Yc,useValue:this},{provide:El,useValue:this.componentFactoryResolver}],rt(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Hn.THROW_IF_NOT_FOUND,i=xn.Default){return e===Hn||e===Yc||e===Vu?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class UM extends class{}{constructor(e){super(),this.moduleType=e,null!==No(e)&&function(n){const e=new Set;!function t(i){const r=No(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${rt(e)} vs ${rt(e.name)}`)}(s,Dg.get(s),i),Dg.set(s,i));const o=fl(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new LQ(this.moduleType,e)}}function TE(n,e,t){const i=Cs()+n,r=Vt();return r[i]===Dn?$c(r,i,t?e.call(t):e()):function(n,e){return n[e]}(r,i)}function E3(n,e,t,i,r,s){const o=e+t;return Eo(n,o,r)?$c(n,o+1,s?i.call(s,r):i(r)):function(n,e){const t=n[e];return t===Dn?void 0:t}(n,o+1)}function Ps(n,e){const t=Si();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new Je("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=Ic(i.type)),o=Ta(Ce);try{const a=Cp(!1),l=s();return Cp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,Vt(),r,l),l}finally{Ta(o)}}function To(n,e,t){const i=n+20,r=Vt(),s=Dd(r,i);return function(n,e){Ql.isWrapped(e)&&(e=Ql.unwrap(e),n[Ln.lFrame.bindingIndex]=Dn);return e}(r,function(n,e){return n[1].data[e].pure}(r,i)?E3(r,Cs(),e,s.transform,t,s):s.transform(t))}function HM(n){return e=>{setTimeout(n,void 0,e)}}const ln=class extends oe{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const h=e;a=null===(r=h.next)||void 0===r?void 0:r.bind(h),l=null===(s=h.error)||void 0===s?void 0:s.bind(h),c=null===(o=h.complete)||void 0===o?void 0:o.bind(h)}this.__isAsync&&(l=HM(l),a&&(a=HM(a)),c&&(c=HM(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof C&&e.add(u),u}};function QQ(){return this._results[sg()]()}class wf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=sg(),i=wf.prototype;i[t]||(i[t]=QQ)}get changes(){return this._changes||(this._changes=new ln)}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){const i=this;i.dirty=!1;const r=ia(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],u=e[-l];for(let h=10;h{class n{constructor(t){this.appInits=t,this.resolve=bE,this.reject=bE,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ef,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const a0=new Ht("AppId"),PZ={provide:a0,useFactory:function(){return`${eD()}${eD()}${eD()}`},deps:[]};function eD(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const X3=new Ht("Platform Initializer"),Xc=new Ht("Platform ID"),IE=new Ht("appBootstrapListener");let OE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Gu=new Ht("LocaleId"),K3=new Ht("DefaultCurrencyCode");class kZ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const tD=function(n){return new UM(n)},FZ=tD,LZ=function(n){return Promise.resolve(tD(n))},Q3=function(n){const e=tD(n),i=fl(No(n).declarations).reduce((r,s)=>{const o=Ui(s);return o&&r.push(new b3(o)),r},[]);return new kZ(e,i)},BZ=Q3,VZ=function(n){return Promise.resolve(Q3(n))};let xf=(()=>{class n{constructor(){this.compileModuleSync=FZ,this.compileModuleAsync=LZ,this.compileModuleAndAllComponentsSync=BZ,this.compileModuleAndAllComponentsAsync=VZ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Z3=new Ht("compilerOptions"),UZ=(()=>Promise.resolve(0))();function nD(n){"undefined"==typeof Zone?UZ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class pn{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new ln(!1),this.onMicrotaskEmpty=new ln(!1),this.onStable=new ln(!1),this.onError=new ln(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const 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=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=Zn.requestAnimationFrame,e=Zn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(Zn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,rD(n),n.isCheckStableRunning=!0,iD(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),rD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return J3(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),eB(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return J3(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),eB(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,rD(n),iD(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!pn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(pn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,HZ,bE,bE);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const HZ={};function iD(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function rD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function J3(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function eB(n){n._nesting--,iD(n)}class WZ{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new ln,this.onMicrotaskEmpty=new ln,this.onStable=new ln,this.onError=new ln}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let sD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{pn.assertNotInAngularZone(),nD(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())nD(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(Ie(pn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),tB=(()=>{class n{constructor(){this._applications=new Map,oD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return oD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class qZ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let oD=new qZ,nB=!0,iB=!1;function fa(){return iB=!0,nB}let ic;const rB=new Ht("AllowMultipleToken");function sB(n,e,t=[]){const i=`Platform: ${e}`,r=new Ht(i);return(s=[])=>{let o=lD();if(!o||o.injector.get(rB,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:ju,useValue:"platform"});!function(n){if(ic&&!ic.destroyed&&!ic.injector.get(rB,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");ic=n.get(oB);const e=n.get(X3,null);e&&e.forEach(t=>t())}(Hn.create({providers:a,name:i}))}return function(n){const e=lD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function lD(){return ic&&!ic.destroyed?ic:null}let oB=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new WZ:("zone.js"===n?void 0:n)||new pn({enableLongStackTrace:fa(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:pn,useValue:a}];return a.run(()=>{const c=Hn.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),h=u.injector.get(la,null);if(!h)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const f=a.onError.subscribe({next:g=>{h.handleError(g)}});u.onDestroy(()=>{cD(this._modules,u),f.unsubscribe()})}),function(n,e,t){try{const i=t();return yg(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(h,a,()=>{const f=u.injector.get(Og);return f.runInitializers(),f.donePromise.then(()=>(bM(u.injector.get(Gu,pE)||pE),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=aB({},i);return function(n,e,t){const i=new UM(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(sh);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${rt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function aB(n,e){return Array.isArray(e)?e.reduce(aB,n):Object.assign(Object.assign({},n),e)}let sh=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new O(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new O(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{pn.assertNotInAngularZone(),nD(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const h=this._zone.onUnstable.subscribe(()=>{pn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),h.unsubscribe()}});this.isStable=Nn(a,l.pipe(ws()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof FL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get(Yc),a=r.create(Hn.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(sD,null),u=c&&a.injector.get(tB);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),cD(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;cD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(IE,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(Ie(pn),Ie(Hn),Ie(la),Ie(El),Ie(Og))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function cD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const vJ=sB(null,"core",[{provide:Xc,useValue:"unknown"},{provide:oB,deps:[Hn]},{provide:tB,deps:[]},{provide:OE,deps:[]}]),CJ=[{provide:sh,useClass:sh,deps:[pn,Hn,la,El,Og]},{provide:OQ,deps:[pn],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Og,useClass:Og,deps:[[new ts,Ef]]},{provide:xf,useClass:xf,deps:[]},PZ,{provide:xg,useFactory:function(){return CK},deps:[]},{provide:Sg,useFactory:function(){return TK},deps:[]},{provide:Gu,useFactory:function(n){return bM(n=n||"undefined"!=typeof $localize&&$localize.locale||pE),n},deps:[[new Hd(Gu),new ts,new dl]]},{provide:K3,useValue:"USD"}];let AJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(Ie(sh))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:CJ}),n})(),zE=null;function Kc(){return zE}const fn=new Ht("DocumentToken");let Tf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Tee,token:n,providedIn:"platform"}),n})();function Tee(){return Ie(kB)}let kB=(()=>{class n extends Tf{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Kc().getBaseHref(this._doc)}onPopState(t){const i=Kc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=Kc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}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(t){this.location.pathname=t}pushState(t,i,r){FB()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){FB()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({factory:Mee,token:n,providedIn:"platform"}),n})();function FB(){return!!window.history.pushState}function Mee(){return new kB(Ie(fn))}function SD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function LB(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function Wu(n){return n&&"?"!==n[0]?"?"+n:n}let Ng=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Dee,token:n,providedIn:"root"}),n})();function Dee(n){const e=Ie(fn).location;return new BB(Ie(Tf),e&&e.origin||"")}const CD=new Ht("appBaseHref");let BB=(()=>{class n extends Ng{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return SD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Wu(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+Wu(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+Wu(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Tf),Ie(CD,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),kg=(()=>{class n{constructor(t,i){this._subject=new ln,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=LB(VB(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Wu(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,VB(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Wu(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Wu(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ng),Ie(Tf))},n.normalizeQueryParams=Wu,n.joinWithSlash=SD,n.stripTrailingSlash=LB,n.\u0275prov=We({factory:Oee,token:n,providedIn:"root"}),n})();function Oee(){return new kg(Ie(Ng),Ie(Tf))}function VB(n){return n.replace(/\/index.html$/,"")}var ms=(()=>((ms=ms||{})[ms.Zero=0]="Zero",ms[ms.One=1]="One",ms[ms.Two=2]="Two",ms[ms.Few=3]="Few",ms[ms.Many=4]="Many",ms[ms.Other=5]="Other",ms))();const Vee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=uL(e);if(t)return t;const i=e.split("-")[0];if(t=uL(i),t)return t;if("en"===i)return iX;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[un.PluralCase]};class ZE{}let pte=(()=>{class n extends ZE{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(Vee(i||this.locale)(t)){case ms.Zero:return"zero";case ms.One:return"one";case ms.Two:return"two";case ms.Few:return"few";case ms.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Gu))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function YB(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}class mte{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Yu=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new mte(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new XB(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new XB(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Ce(Rs),Ce(Go),Ce(xg))},n.\u0275dir=Nt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class XB{constructor(e,t){this.record=e,this.view=t}}let ac=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new yte,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){KB("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){KB("ngIfElse",t),this._elseTemplateRef=t,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(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Ce(Rs),Ce(Go))},n.\u0275dir=Nt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class yte{constructor(){this.$implicit=null,this.ngIf=null}}function KB(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${rt(e)}'.`)}class Ete{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class xte{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const Ste=new xte,Cte=new Ete;let g0=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(yg(t))return Ste;if(x2(t))return Cte;throw function(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${rt(n)}'`)}(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(Ce(Mr,16))},n.\u0275pipe=js({name:"async",type:n,pure:!1}),n})(),fr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[{provide:ZE,useClass:pte}]}),n})();const iV="browser";function Af(n){return n===iV}class oV{}class BD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){zE||(zE=n)}(new BD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).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"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(m0=m0||document.querySelector("base"),m0?m0.getAttribute("href"):null);return null==t?null:function(n){ex=ex||document.createElement("a"),ex.setAttribute("href",n);const e=ex.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){m0=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return YB(document.cookie,e)}}let ex,m0=null;const aV=new Ht("TRANSITION_ID"),Xte=[{provide:Ef,useFactory:function(n,e,t){return()=>{t.get(Og).donePromise.then(()=>{const i=Kc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},Zn.getAllAngularTestabilities=()=>e.getAllTestabilities(),Zn.getAllAngularRootElements=()=>e.getAllRootElements(),Zn.frameworkStabilizers||(Zn.frameworkStabilizers=[]),Zn.frameworkStabilizers.push(i=>{const r=Zn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?Kc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let Kte=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const _0=new Ht("EventManagerPlugins");let nx=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),y0=(()=>{class n extends cV{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(uV),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(uV))}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function uV(n){Kc().remove(n)}const UD={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/"},zD=/%COMP%/g;function ix(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let rx=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new HD(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Xt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new dne(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Xt.ShadowDom:return new hne(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=ix(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(Ie(nx),Ie(y0),Ie(a0))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class HD{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(UD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=UD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=UD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(Uo.DashCase|Uo.Important)?e.style.setProperty(t,i,r&Uo.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&Uo.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,fV(i)):this.eventManager.addEventListener(e,t,fV(i))}}class dne extends HD{constructor(e,t,i,r){super(e),this.component=i;const s=ix(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(zD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(zD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class hne extends HD{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=ix(r.id,r.styles,[]);for(let o=0;o{class n extends jD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const mV=["alt","control","meta","shift"],vne={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_V={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},wne={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let Ene=(()=>{class n extends jD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Kc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(mV.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&_V.hasOwnProperty(e)&&(e=_V[e]))}return vne[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),mV.forEach(s=>{s!=r&&wne[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Mf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return Ie($D)},token:n,providedIn:"root"}),n})(),$D=(()=>{class n extends Mf{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case si.NONE:return i;case si.HTML:return sa(i,"HTML")?Gs(i):$_(this._doc,String(i)).toString();case si.STYLE:return sa(i,"Style")?Gs(i):i;case si.SCRIPT:if(sa(i,"Script"))return Gs(i);throw new Error("unsafe value used in a script context");case si.URL:return jc(i),sa(i,"URL")?Gs(i):jo(String(i));case si.RESOURCE_URL:if(sa(i,"ResourceURL"))return Gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new L_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new B_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new jp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new Wd(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new kn(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({factory:function(){return function(n){return new $D(n.get(fn))}(Ie(Vu))},token:n,providedIn:"root"}),n})();const Ine=sB(vJ,"browser",[{provide:Xc,useValue:iV},{provide:X3,useValue:function(){BD.makeCurrent(),VD.init()},multi:!0},{provide:fn,useFactory:function(){return function(n){Yi=n}(document),document},deps:[]}]),One=[[],{provide:ju,useValue:"root"},{provide:la,useFactory:function(){return new la},deps:[]},{provide:_0,useClass:fne,multi:!0,deps:[fn,pn,Xc]},{provide:_0,useClass:Ene,multi:!0,deps:[fn]},[],{provide:rx,useClass:rx,deps:[nx,y0,a0]},{provide:yf,useExisting:rx},{provide:cV,useExisting:y0},{provide:y0,useClass:y0,deps:[fn]},{provide:sD,useClass:sD,deps:[pn]},{provide:nx,useClass:nx,deps:[_0,pn]},{provide:oV,useClass:Kte,deps:[]},[]];let WD=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:a0,useValue:t.appId},{provide:aV,useExisting:a0},Xte]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:One,imports:[fr,AJ]}),n})();"undefined"!=typeof window&&window;class Vne extends C{constructor(e,t){super()}schedule(e,t=0){return this}}class sx extends Vne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let bV=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class cc extends bV{constructor(e,t=bV.now){super(e,()=>cc.delegate&&cc.delegate!==this?cc.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return cc.delegate&&cc.delegate!==this?cc.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const zne=new class extends cc{}(class extends sx{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),Qc=new O(n=>n.complete());function b0(n){return n?function(n){return new O(e=>n.schedule(()=>e.complete()))}(n):Qc}function sn(...n){let e=n[n.length-1];return Te(e)?(n.pop(),ke(n,e)):In(n)}function Fg(n,e){return new O(e?t=>e.schedule(Gne,0,{error:n,subscriber:t}):t=>t.error(n))}function Gne({error:n,subscriber:e}){e.error(n)}class ga{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return sn(this.value);case"E":return Fg(this.error);case"C":return b0()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new ga("N",e):ga.undefinedValueNotification}static createError(e){return new ga("E",void 0,e)}static createComplete(){return ga.completeNotification}}ga.completeNotification=new ga("C"),ga.undefinedValueNotification=new ga("N",void 0);class ox extends y{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(ox.dispatch,this.delay,new Wne(e,this.destination)))}_next(e){this.scheduleMessage(ga.createNext(e))}_error(e){this.scheduleMessage(ga.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(ga.createComplete()),this.unsubscribe()}}class Wne{constructor(e,t){this.notification=e,this.destination=t}}class Df extends oe{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new qne(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new $;if(this.isStopped||this.hasError?o=C.EMPTY:(this.observers.push(e),o=new Z(this,e)),r&&e.add(e=new ox(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class qne{constructor(e,t){this.time=e,this.value=t}}function is(n,e){return"function"==typeof e?t=>t.pipe(is((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new Yne(n))}class Yne{constructor(e){this.project=e}call(e,t){return t.subscribe(new Xne(e,this.project))}}class Xne extends we{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new _t(this),r=this.destination;r.add(i),this.innerSubscription=N(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const ax={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return ax.schedule(n,0);if(void 0===window.requestAnimationFrame)return ax.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let YD;function sie(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!YD){const t=Element.prototype;YD=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&YD.call(n,e)}(n,r)||(i=s,0))),i}class aie{constructor(e,t){this.componentFactory=t.get(El).resolveComponentFactory(e)}create(e){return new lie(this.componentFactory,e)}}class lie{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new Df(1),this.events=this.eventEmitters.pipe(is(i=>Nn(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(pn),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=ax.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Hn.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(me(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=ax.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new c_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class cie extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}const die={initialConfig:{},parse:{},rename:{}};class hie{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},die),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,u=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(u)try{i[l]=u(c)}catch(h){console.warn(`Failed to parse ${e} = ${c}`,h.message)}else i[l]=c}}let fie=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new hie(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=Nt({type:n,features:[Fi]}),n})();const XD={boolean:n=>"false"!=`${n}`,json:n=>"string"==typeof n?JSON.parse(n):n,function:n=>{if("function"!=typeof n)throw new Error("Expected a javascript function");return n}};var KD;const If={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://r5i95k35v5.us-east-2.awsapprunner.com/v1/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld",dataSources:["https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/kpmp/data/rui_locations.jsonld","https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/sparc/data/rui_locations.jsonld"],hubmapDataService:"",hubmapPortalUrl:"",hubmapDataUrl:"",hubmapAssetsUrl:"",hubmapToken:null!==(KD=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==KD?KD:"",useRemoteApi:!1,remoteApiEndpoint:"https://r5i95k35v5.us-east-2.awsapprunner.com/v1"},googleAnalyticsToken:"G-ERNVZ1Q4KE"};function Ei(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function wV(n,e){return function(t,i){e(t,i,n)}}function uc(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function Bi(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function SV(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function ZD(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||SV()}const CV="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",cx=ZD();class _ie{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function JD(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const TV={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function AV(n){return"string"==typeof n?TV[n.toUpperCase()]||TV.WHITE:n}function ux(n,e){if(!n)throw new Error(e||"Assertion failed")}const dc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},v0=dc.window||dc.self||dc.global,MV=dc.process||{};function Lg(){let n;if(cx&&v0.performance)n=v0.performance.now();else if(MV.hrtime){const e=MV.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const Bg={debug:cx&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Sie={enabled:!0,level:0};function Al(){}const DV={},IV={once:!0};function Cie(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let eI=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=CV,this._startTs=Lg(),this._deltaTs=Lg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new _ie("__probe-".concat(this.id,"__"),Sie),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Lg()-this._startTs).toPrecision(10))}getDelta(){return Number((Lg()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){ux(t,i)}warn(t){return this._getLogFunction(0,t,Bg.warn,arguments,IV)}error(t){return this._getLogFunction(0,t,Bg.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,Bg.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,Bg.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,Bg.debug||Bg.info,arguments,IV)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||Al,r&&[r],{tag:Cie(i)}):Al}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?cx?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=JD(r,e,t);console.log(...s)},r.src=n,Al}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...JD(n,e,t)),Al;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...JD(r,e,t)),r.src=n.toDataURL(),Al}return Al}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=et(5307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):Al}({image:r,message:s,scale:o}):Al}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||Al)}group(t,i,r={collapsed:!1}){r=RV({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Al)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=OV(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=RV({logLevel:t,message:i,args:s,opts:o}),ux(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Lg();const a=o.tag||o.message;if(o.once){if(DV[a])return Al;DV[a]=Lg()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!cx&&"string"==typeof n&&(e&&(e=AV(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=AV(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return Al}}return n.VERSION=CV,n})();function OV(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return ux(Number.isFinite(e)&&e>=0),e}function RV(n){const{logLevel:e,message:t}=n;n.logLevel=OV(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return ux("string"===r||"object"===r),Object.assign(n,n.opts)}const Ri=new eI({id:"deck"}),Vi={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Vi,"IDENTITY",{get:()=>Ri.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Zc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},PV={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},mn=new eI({id:"luma.gl"});function qo(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function dx(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function Ci(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function hx(n){return qo(dx(n),"Invalid WebGLRenderingContext"),n}function Ao(n){return qo(Ci(n),"Requires WebGL2"),n}const w0={};const E0=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Of.prototype.VERTEX_ARRAY_BINDING_OES=34229,Of.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iCi(n)?void 0:0,Wie={3074:n=>Ci(n)?void 0:36064,35723:n=>Ci(n)?void 0:4352,35977:br,32937:br,36795:(n,e)=>{const t=Ci(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(FV);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(FV);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:br,35071:br,37447:br,36063:(n,e)=>{if(!Ci(n)){const t=n.getExtension(kV);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:br,35374:br,35377:br,34852:n=>{if(!Ci(n)){const e=n.getExtension(kV);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(NV)?2147483647:65535,33001:n=>n.getExtension(NV)?16777216:65535,33e3:n=>16777216,37157:br,35373:br,35657:br,36183:br,37137:br,34045:br,35978:br,35979:br,35968:br,35376:br,35375:br,35659:br,37154:br,35371:br,35658:br,35076:br,35077:br,35380:br},LV="ANGLE_instanced_arrays",BV={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{qo(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[LV]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){qo(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{qo(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{qo(!1)},deleteQuery:()=>{qo(!1)},beginQuery:()=>{qo(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},tI={readBuffer:(n,e,t)=>{Ci(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:Ci(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!Ci(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!Ci(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=Wie[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function rre(n,{extension:e,target:t,target2:i}){const r=BV[e];qo(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let u=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?u=(...h)=>a[c](...h):"function"==typeof r[l]&&(u=r[l].bind(t))),u&&(t[l]=u,i[l]=u)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Of(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&rre(n,{extension:t,target:n.luma,target2:n})}(n,BV),function(n,{target:e,target2:t}){Object.keys(tI).forEach(i=>{if("function"==typeof tI[i]){const r=n[i]?n[i].bind(n):()=>{},s=tI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const nI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},lh=(n,e,t)=>e?n.enable(t):n.disable(t),VV=(n,e,t)=>n.hint(t,e),ja=(n,e,t)=>n.pixelStorei(t,e);function x0(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const are={3042:lh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:lh,2885:(n,e)=>n.cullFace(e),2929:lh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:lh,35723:VV,36006:(n,e)=>{const t=Ci(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:VV,2849:(n,e)=>n.lineWidth(e),32823:lh,32824:"polygonOffset",10752:"polygonOffset",35977:lh,32938:"sampleCoverage",32939:"sampleCoverage",3089:lh,3088:(n,e)=>n.scissor(...e),2960:lh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:ja,3317:ja,37440:ja,37441:ja,37443:ja,3330:ja,3332:ja,3331:ja,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:ja,32878:ja,3316:ja,3315:ja,32877:ja,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=x0(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=x0(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=x0(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=x0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=x0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function rs(n,e,t){return void 0!==e[n]?e[n]:t[n]}const lre={blendEquation:(n,e,t)=>n.blendEquationSeparate(rs(32777,e,t),rs(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(rs(32969,e,t),rs(32968,e,t),rs(32971,e,t),rs(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(rs(32824,e,t),rs(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(rs(32938,e,t),rs(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,rs(2962,e,t),rs(2967,e,t),rs(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,rs(34816,e,t),rs(36003,e,t),rs(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,rs(2964,e,t),rs(2965,e,t),rs(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,rs(34817,e,t),rs(34818,e,t),rs(34819,e,t))},jV={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Jc=(n,e)=>n.isEnabled(e),UV={3042:Jc,2884:Jc,2929:Jc,3024:Jc,32823:Jc,32926:Jc,32928:Jc,3089:Jc,2960:Jc,35977:Jc};function zV(n){for(const e in n)return!1;return!0}function cre(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||nI)){const r=e,s=UV[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=UV[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},nI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){qo(this.stateStack.length>0),Xu(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){qo(void 0!==s);const o=e[s],a=this.cache[s];cre(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function GV(n,e={}){const{enable:t=!0,copyState:i}=e;if(qo(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new hre(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in jV)ure(n,s,jV[s]);HV(n,"getParameter"),HV(n,"isEnabled")}return n.state.enable=t,n}function $V(n){qo(n.state),n.state.pop()}function Xu(n,e){if(qo(dx(n),"setParameters requires a WebGL context"),zV(e))return;const t={};for(const r in e){const s=Number(r),o=are[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)lre[r](n,e,i)}function hc(n,e,t){if(zV(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||GV(n,{copyState:!1}),n.state.push()}(n),Xu(n,e),i)r=t(n),$V(n);else try{r=t(n)}finally{$V(n)}return r}function fx(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function Vg(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function iI(n,e,t=!0){return function(n,e,t,i,r){const s=WV(n[0],e,t);let o=qV(n[1],e,i,r),a=WV(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=qV(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,Vg(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function WV(n,e,t){return Math.min(Math.round(n*e),t-1)}function qV(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const rI=fx(),bre=rI&&"undefined"!=typeof document,YV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function XV(n={}){qo(rI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},YV,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(bre&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=sI(r,n),function(n){const e=Ci(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);mn.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function sI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},YV,e);const{manageState:t,debug:i}=e;return t&&GV(n,{copyState:!1,log:(...r)=>mn.log(1,...r)()}),rI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),mn.level=Math.max(mn.level,1)):mn.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function KV(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class QV{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=KV(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(KV()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class oI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof QV?e:new QV(t,i)),this.stats[t]}}const S0="8.5.12",Rf=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new oI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==S0)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${S0}`);function on(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function aI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return on(void 0!==i,`Accessing undefined constant GL.${e}`),i}function ch(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(fx()&&mn.log(1,`luma.gl ${S0} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:S0,version:S0,log:mn,stats:Rf,globals:{modules:{},nodeIO:{}}}),globalThis;const lI={};function ma(n="id"){return lI[n]=lI[n]||1,`${n}-${lI[n]++}`}function ZV(n){return on("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function jg(n){let e=!0;for(const t in n){e=!1;break}return e}function JV(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw mn.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const Ug="Resource subclass must define virtual methods";class Ku{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){hx(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ma(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){on(e=aI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Ci(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=Ci(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const h=i?ch(this.gl,l):l;o[h]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[h]=ch(this.gl,o[h]))}}return o}setParameter(e,t){on(e=aI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Ci(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=aI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return JV(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(Ug)}_deleteHandle(){throw new Error(Ug)}_bindHandle(e){throw new Error(Ug)}_getOptsFromHandle(){throw new Error(Ug)}_getParameter(e,t){throw new Error(Ug)}_setParameter(e,t){throw new Error(Ug)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=Rf.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];Rf.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=Rf.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=Rf.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function cI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function C0(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function Ore({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return _a.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return _a.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=uI("Accessor",e,Pre)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const tj={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},Nre={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:tj},kre={removedProps:tj};class lr extends Ku{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/_a.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/_a.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=uI("Buffer",e,Nre),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=uI("Buffer",e,kre))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new _a(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;on(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(Ao(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return Ao(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){Ao(this.gl);const s=C0(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const u=Math.min(o,l);return on((r=r||u)<=u),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(on(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){on(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=cI(e);return on(s),this.setAccessor(new _a(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){on(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/C0(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new _a(this.accessor,{type:cI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return mn.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return mn.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return mn.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return mn.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new _a(this.accessor,e),this}}const dI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},nj={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},ij={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},Bre=[9729,9728],rj=globalThis.WebGLBuffer||function(){};class Pf extends Ku{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=dI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=Ci(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=dI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ma("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(D=>this.initialize(Object.assign({},e,{pixels:D,data:D}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:u}=e;t||(t=r);let{width:h,height:f,dataFormat:g,type:m,compressed:v=!1,mipmaps:x=!0}=e;const{depth:U=0}=e;return({width:h,height:f,compressed:v,dataFormat:g,type:m}=this._deduceParameters({format:s,type:m,dataFormat:g,compressed:v,data:t,width:h,height:f})),this.width=h,this.height=f,this.depth=U,this.format=s,this.type=m,this.dataFormat=g,this.border=o,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),x&&this._isNPOT()&&(mn.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),x=!1,this._updateForNPOT(l)),this.mipmaps=x,this.setImageData({data:t,width:h,height:f,depth:U,format:s,type:m,dataFormat:g,border:o,mipmaps:x,parameters:c,compressed:v}),x&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:u=this.type,width:h=this.width,height:f=this.height,dataFormat:g=this.dataFormat,compressed:m=!1}=e;c||(c=i),({type:u,dataFormat:g,compressed:m,width:h,height:f}=this._deduceParameters({format:s,type:u,dataFormat:g,compressed:m,data:c,width:h,height:f}));const{gl:v}=this;v.bindTexture(this.target,this.handle);let x=null;({data:c,dataType:x}=this._getDataType({data:c,compressed:m}));let U,D=0;return hc(this.gl,l,()=>{switch(x){case"null":v.texImage2D(t,r,s,h,f,o,g,u,c);break;case"typed-array":v.texImage2D(t,r,s,h,f,o,g,u,c,a);break;case"buffer":U=Ao(v),U.bindBuffer(35052,c.handle||c),U.texImage2D(t,r,s,h,f,o,g,u,a),U.bindBuffer(35052,null);break;case"browser-object":Ci(v)?v.texImage2D(t,r,s,h,f,o,g,u,c):v.texImage2D(t,r,s,g,u,c);break;case"compressed":for(const[ie,_e]of c.entries())v.compressedTexImage2D(t,ie,_e.format,_e.width,_e.height,o,_e.data),D+=_e.levelSize;break;default:on(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===x?D:c&&c.byteLength?c.byteLength:this.width*this.height*(nj[this.dataFormat]||4)*(ij[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:u=this.type,dataFormat:h=this.dataFormat,compressed:f=!1,offset:g=0,border:m=this.border,parameters:v={}}){if(({type:u,dataFormat:h,compressed:f,width:o,height:a}=this._deduceParameters({format:c,type:u,dataFormat:h,compressed:f,data:i,width:o,height:a})),on(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const x=i;i=x.data,o=x.shape[0],a=x.shape[1]}i instanceof lr&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),hc(this.gl,v,()=>{if(f)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,h,u,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,h,u,i,g);else if(i instanceof rj){const x=Ao(this.gl);x.bindBuffer(35052,i),x.texSubImage2D(e,l,r,s,o,a,h,u,g),x.bindBuffer(35052,null)}else Ci(this.gl)?Ao(this.gl).texSubImage2D(e,l,r,s,o,a,h,u,i):this.gl.texSubImage2D(e,l,r,s,h,u,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return mn.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof lr?{data:e.handle,dataType:"buffer"}:e instanceof rj?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=dI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},on(r,"Could not deduced texture size"),on(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),on(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:on(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Ci(this.gl)||!this.width||!this.height||ZV(this.width)&&ZV(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===Bre.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function Vre(n,e){return on("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class ya extends Pf{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return Pf.isSupported(e,t)}constructor(e,t={}){hx(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:Vre(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const Nf="EXT_color_buffer_float",sj={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Nf,bpp:2},33327:{gl2:Nf,bpp:4},34842:{gl2:Nf,bpp:8},33326:{gl2:Nf,bpp:4},33328:{gl2:Nf,bpp:8},34836:{gl2:Nf,bpp:16},35898:{gl2:Nf,bpp:4}};class zg extends Ku{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=Ci(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,sj)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return on(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&Ci(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*sj[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const uj="clear: bad arguments";function fI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),on(0!==o,uj),hc(n,s,()=>{n.clear(o)})}function dj(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function li(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){dj(s,i,r,o,a,"next",l)}function a(l){dj(s,i,r,o,a,"throw",l)}o(void 0)})}}const pI=[34069,34070,34071,34072,34073,34074];let Wre=(()=>{class n extends Pf{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){hx(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return li(function*(){const{gl:u}=c,h=r||s,f=yield Promise.all(pI.map(g=>{const m=h[g];return Promise.all(Array.isArray(m)?m:[m])}));c.bind(),pI.forEach((g,m)=>{f[m].length>1&&!1!==c.opts.mipmaps&&mn.warn(`${c.id} has mipmap and multiple LODs.`)(),f[m].forEach((v,x)=>{t&&i?u.texImage2D(g,x,a,t,i,o,a,l,v):u.texImage2D(g,x,a,a,l,v)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:u=5121}=t,{gl:h}=this,f=o||a;return this.bind(),f instanceof Promise?f.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?h.texImage2D(i,0,c,r,s,l,c,u,f):h.texImage2D(i,0,c,c,u,f),this}}return n.FACES=pI,n})();class qre extends Pf{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return Ci(e)}constructor(e,t={}){Ao(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:u,parameters:h={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),hc(this.gl,h,()=>{ArrayBuffer.isView(u)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,u),u instanceof lr&&(this.gl.bindBuffer(35052,u.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(u&&u.byteLength?u.byteLength:this.width*this.height*this.depth*(nj[this.dataFormat]||4)*(ij[this.type]||1),"Texture"),this.loaded=!0,this}}function hj(n,e){on(n instanceof ya||n instanceof Wre||n instanceof qre);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function Yre(n,e){const{gl:t,width:i,height:r,id:s}=n;return new ks(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function px(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=T0(n);on(u);const{gl:f,handle:g,attachments:m}=u;a=a||u.width,l=l||u.height,36064===s&&null===g&&(s=1028),on(m[s]),c=c||m[s].type,o=function(n,e,t,i,r){if(n)return n;return new(C0(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return on(!1),0}}(t))}(o,c,r,a,l),c=c||cI(o);const v=f.bindFramebuffer(36160,g);return f.readPixels(t,i,a,l,r,c,o),f.bindFramebuffer(36160,v||null),h&&u.delete(),o}function gI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=px(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=Ore({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const u in i){const h=i[u];(Array.isArray(h)?h[0]:h).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return on(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&mn.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){on(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof zg)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[u,h=0,f=0]=l;c=u,this._attachTexture({attachment:a,texture:u,layer:h,level:f})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(ks.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&fI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){Ao(n),hc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:on(!1,uj)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return mn.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return mn.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return mn.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return mn.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return mn.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return mn.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=Ao(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=ch(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?ch(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?ch(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(gI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>mn.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=gI(this,{targetMaxHeight:100});return mn.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new ya(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new zg(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new zg(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&on(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof zg?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:Ao(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:on(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return Ci(n)?n:null}(this.gl);t?t.readBuffer(e):on(36064===e||1029===e,fj),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=Ao(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):on(1===e.length&&(36064===e[0]||1029===e[0]),fj)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in pj)void 0===n.luma.caps[e]&&(n.luma.caps[e]=mj(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}ks.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const pj={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new ya(n,{format:6408,type:5126,dataFormat:6408}),t=new ks(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function mI(n,e){return gj(n,e)}function gj(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>mj(n,t))}function mj(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=pj[e];let i;on(t,e);const r=Ci(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:on(!1);return i}(n,e)),n.luma.caps[e]||mn.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class _I{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},ose=1/Math.PI*180,ase=1/180*Math.PI,Dr={};function cse(n,{precision:e=Dr.precision||4}={}){return n=function(n){return Math.round(n/Dr.EPSILON)*Dr.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function uh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Qu(n,e,t){if(uh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*ase,void 0)}(n)}function dse(n){return function(n,e){return Qu(n,t=>t*ose,void 0)}(n)}function Ua(n,e,t){return Qu(n,i=>Math.max(e,Math.min(t,i)))}function gx(n,e,t){return uh(n)?n.map((i,r)=>gx(i,e[r],t)):t*e+(1-t)*n}function M0(n,e,t){const i=Dr.EPSILON;t&&(Dr.EPSILON=t);try{if(n===e)return!0;if(uh(n)&&uh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+cse(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(Rj.length=n.length,i=Rj):i=Oj,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function Pj(n){return n&&n[Symbol.asyncIterator]}function xI(n,e=(()=>!0)){return Array.isArray(n)?Nj(n,e,[]):e(n)?[n]:[]}function Nj(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function kj(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",ot(ot(ot({},Bse[n.type]),e),n)):null}function Fj(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function Lj(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function Bj(n){n.push(n.shift())}function CI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function Vj({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,u=r&&c,h=CI(t,e),f=t.state.constant;if(!u&&i>=h)return;const g=f?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!f){const U=s;s=(D,ie)=>t._normalizeConstant(U(D,ie))}const m=f?(U,D)=>s(g,D):(U,D)=>s(g.subarray(U,U+a),D),v=n.getData({length:i}),x=new Float32Array(h);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return SI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((u,h)=>i(u+a,h)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===vx||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=vx}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=kse}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==vx}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,u]of s)o.call(r,this,{data:t,startRow:c,endRow:u,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const x=h*a+l;for(let U=0;Uu?c.set(ie,v):(e._normalizeValue(ie,U.target,0),Nse({target:c,source:U.target,start:v,count:_e}));v+=_e*u}else e._normalizeValue(ie,c,v),v+=u}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let AI={};function Do(n){Ri.level>0&&AI[n]&&AI[n].call(...arguments)}function za(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const jj="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",Use=`#version 300 es\n${jj}`;function Uj(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function zj(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?Use:e>300?`#version ${e}\n${jj}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return za(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class Hj extends Ku{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return Ci(e)}constructor(e,t={}){Ao(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,jg(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,mn.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof lr?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class $se{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof lr?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&on(Ci(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new Hj(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],on(i[s]instanceof lr)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new lr(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function Gj(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const R0="vs",Yse={[R0]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},wx="__LUMA_INJECT_DECLARATIONS__",$j=/void\s+main\s*\([^)]*\)\s*\{\n?/,Wj=/}\n?[^{}]*$/,DI=[];function qj(n,e,t,i=!1){const r=e===R0;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),DI.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(Wj,l=>a+l));break;case"fs:#decl":r||(n=n.replace(wx,a));break;case"fs:#main-start":r||(n=n.replace($j,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(Wj,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(wx,""),i&&(n=n.replace(/\}\s*$/,s=>s+Yse[e])),n}function II(n){const e={};return za(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const Xse={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},Ex="transform_uSize_",Yj="transform_position";const ioe={10241:9728,10240:9728,10242:33071,10243:33071};class soe{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const h in this.samplerTextureMap)a[h]=i[this.samplerTextureMap[h]];this._setSourceTextureParameters();const u=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${Ex}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${Ex}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,u)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=px(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return za(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new lr(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new ks(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters(ioe)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=hj(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const u=l.split("\n"),h=u.slice();if(u.forEach((f,g,m)=>{if(s>0){const v=function(n,e){const t={},i=function(n){return Uj(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${Ex}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),h=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return za(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":h},samplerTextureMap:t}}return null}(f,e);if(v){const{updatedLine:x,inject:U}=v;h[g]=x,c=II([c,U]),Object.assign(a,v.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=Uj(n,["varying","out"]);return t&&t.name===e?t.type:null}(f,t))}),t){on(i);const f=`${Ex}${t}`;c=II([c,{"vs:#decl":`uniform vec2 ${f};\n`,"vs:#main-start":` vec2 ${Yj} = transform_getPos(${f});\n gl_Position = vec4(${Yj}, 0, 1.);\n`}])}l=h.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=II([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||zj({version:Gj(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[Xse].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const OI={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function aoe(n){let e=Xj(n);return"object"===e?n?"type"in n?Object.assign({},n,OI[n.type]):"value"in n?(e=Xj(n.value),Object.assign({type:e},n,OI[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},OI[e])}function Xj(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class RI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:u,fragmentShader:h}){za("string"==typeof e),this.name=e,this.vs=t||u,this.fs=i||h,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=aoe(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:za(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&za(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function doe(n){return function(n){const e={},t={};return PI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}(Qj(n))}function PI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof RI||(za("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),za(t.name,"shader module has no name"),(t=new RI(t)).dependencies=Qj(t.dependencies)),t))}const NI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},kf={};function boe(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(NI).forEach(n=>{kf[n]=n});const kI={};function Zj(n,e,t={}){const i=NI[e];if(za(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in kI)return kI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),kI[e]=l,l}function xx(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=NI[e];za(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return za(!1===r||!0===r),r}(n,t))}function Gg(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const Jj=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],xoe=[...Jj,[Gg("attribute"),"in $1"],[Gg("varying"),"out $1"]],Soe=[...Jj,[Gg("varying"),"in $1"]],eU=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Coe=[...eU,[Gg("in"),"attribute $1"],[Gg("out"),"varying $1"]],Toe=[...eU,[Gg("in"),"varying $1"]],FI="gl_FragColor",LI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,Aoe=/void\s+main\s*\([^)]*\)\s*\{\n?/;function Sx(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const Ooe=`\n\n${wx}\n\n`,tU={[R0]:"vertex",fs:"fragment"};function nU(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){za("string"==typeof t,"shader source must be a string");const h=i===R0,f=t.split("\n");let g=100,m="",v=t;0===f[0].indexOf("#version ")?(g=300,m=f[0],v=f.slice(1).join("\n")):m=`#version ${g}`;const x={};r.forEach(Ne=>{Object.assign(x,Ne.getDefines())}),Object.assign(x,s);let U=c?`${m}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${tU[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${tU[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:boe(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return xx(n,kf.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),xx(n,kf.GLSL_DERIVATIVES)&&Zj(n,kf.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),xx(n,kf.GLSL_FRAG_DATA)&&Zj(n,kf.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),xx(n,kf.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(x)}\n${h?"":"precision highp float;\n\n"}\n`:`${m}\n`;const D=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),ie={},_e={},Pe={};for(const Ne in a){const Ve="string"==typeof a[Ne]?{injection:a[Ne],order:0}:a[Ne],bt=Ne.match(/^(v|f)s:(#)?([\w-]+)$/);if(bt){const At=bt[3];bt[2]?"decl"===At?_e[Ne]=[Ve]:Pe[Ne]=[Ve]:ie[Ne]=[Ve]}else Pe[Ne]=[Ve]}for(const Ne of r){u&&Ne.checkDeprecations(v,u),U+=Ne.getModuleSource(i,g);const bt=Ne.injections[i];for(const xt in bt){const At=xt.match(/^(v|f)s:#([\w-]+)$/);if(At){const Wt="decl"===At[2]?_e:Pe;Wt[xt]=Wt[xt]||[],Wt[xt].push(bt[xt])}else ie[xt]=ie[xt]||[],ie[xt].push(bt[xt])}}return U+=Ooe,U=qj(U,i,_e),U+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(D[i],ie),U+=v,U=qj(U,i,Pe),U=function(n,e,t){switch(e){case 300:return t?Sx(n,xoe):function(n){const e=(n=Sx(n,Soe)).match(LI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${FI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(Aoe,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${FI}\\b`,"g"),t)}return n}(n);case 100:return t?Sx(n,Coe):function(n){const e=(n=Sx(n,Toe)).match(LI);if(e){const t=e[1];n=n.replace(LI,"").replace(new RegExp(`\\b${t}\\b`,"g"),FI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(U,l?100:g,h),U}function Noe(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const joe={5126:Ir.bind(null,"uniform1fv",Ha,1,Io),35664:Ir.bind(null,"uniform2fv",Ha,2,Io),35665:Ir.bind(null,"uniform3fv",Ha,3,Io),35666:Ir.bind(null,"uniform4fv",Ha,4,Io),5124:Ir.bind(null,"uniform1iv",dh,1,Io),35667:Ir.bind(null,"uniform2iv",dh,2,Io),35668:Ir.bind(null,"uniform3iv",dh,3,Io),35669:Ir.bind(null,"uniform4iv",dh,4,Io),35670:Ir.bind(null,"uniform1iv",dh,1,Io),35671:Ir.bind(null,"uniform2iv",dh,2,Io),35672:Ir.bind(null,"uniform3iv",dh,3,Io),35673:Ir.bind(null,"uniform4iv",dh,4,Io),35674:Ir.bind(null,"uniformMatrix2fv",Ha,4,Ju),35675:Ir.bind(null,"uniformMatrix3fv",Ha,9,Ju),35676:Ir.bind(null,"uniformMatrix4fv",Ha,16,Ju),35678:oo,35680:oo,5125:Ir.bind(null,"uniform1uiv",Cx,1,Io),36294:Ir.bind(null,"uniform2uiv",Cx,2,Io),36295:Ir.bind(null,"uniform3uiv",Cx,3,Io),36296:Ir.bind(null,"uniform4uiv",Cx,4,Io),35685:Ir.bind(null,"uniformMatrix2x3fv",Ha,6,Ju),35686:Ir.bind(null,"uniformMatrix2x4fv",Ha,8,Ju),35687:Ir.bind(null,"uniformMatrix3x2fv",Ha,6,Ju),35688:Ir.bind(null,"uniformMatrix3x4fv",Ha,12,Ju),35689:Ir.bind(null,"uniformMatrix4x2fv",Ha,8,Ju),35690:Ir.bind(null,"uniformMatrix4x3fv",Ha,12,Ju),35678:oo,35680:oo,35679:oo,35682:oo,36289:oo,36292:oo,36293:oo,36298:oo,36299:oo,36300:oo,36303:oo,36306:oo,36307:oo,36308:oo,36311:oo},Uoe={},zoe={},Hoe={},iU=[0];function BI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(iU[0]=n,n=iU);const r=n.length;if(r%e&&mn.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function Ir(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{on(s===u,"Uniform length cannot change.");for(let f=0;f{const a=String(o+e);return aU(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:oU(s,c),warnings:oU(o,c)}}(i,this.source,this.shaderType,this.id);throw mn.error(`GLSL compilation errors in ${r}\n${s}`)(),mn.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class VI extends P0{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class jI extends P0{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const Fs=5126,N0=5124,k0=5125,UI={[Fs]:[Fs,1,"float"],35664:[Fs,2,"vec2"],35665:[Fs,3,"vec3"],35666:[Fs,4,"vec4"],[N0]:[N0,1,"int"],35667:[N0,2,"ivec2"],35668:[N0,3,"ivec3"],35669:[N0,4,"ivec4"],[k0]:[k0,1,"uint"],36294:[k0,2,"uvec2"],36295:[k0,3,"uvec3"],36296:[k0,4,"uvec4"],35670:[Fs,1,"bool"],35671:[Fs,2,"bvec2"],35672:[Fs,3,"bvec3"],35673:[Fs,4,"bvec4"],35674:[Fs,8,"mat2"],35685:[Fs,8,"mat2x3"],35686:[Fs,8,"mat2x4"],35675:[Fs,12,"mat3"],35687:[Fs,12,"mat3x2"],35688:[Fs,12,"mat3x4"],35676:[Fs,16,"mat4"],35689:[Fs,16,"mat4x2"],35690:[Fs,16,"mat4x3"]};function fU(n){const e=UI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function pU(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=Fs}for(const t in UI){const[i,r,s]=UI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class Aae{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!Ci(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=fU(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new _a(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=fU(i),l={location:e,name:t,accessor:new _a({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const Mae=35981,Dae=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class mU extends Ku{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",Dae),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=Mae}=e;return this.hash=t||"",this.vs="string"==typeof i?new VI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new jI(this.gl,{id:`${e.id}-fs`,source:r}):r,on(this.vs instanceof VI),on(this.fs instanceof jI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(Ao(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new Aae(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:u=c>0,vertexArray:h=null,transformFeedback:f,framebuffer:g,parameters:m={},uniforms:v,samplers:x}){if((v||x)&&(mn.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(v||{})),mn.priority>=e){const U=g?g.id:"default",D=`mode=${ch(this.gl,t)} verts=${i} instances=${c} indexType=${ch(this.gl,l)} isInstanced=${u} isIndexed=${a} Framebuffer=${U}`;mn.log(e,D)()}return on(h),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||u&&0===c||(h.bindForDraw(i,c,()=>{if(void 0!==g&&(m=Object.assign({},m,{framebuffer:g})),f){const U=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return on(!1),0}}(t);f.begin(U)}this._bindTextures(),hc(this.gl,m,()=>{a&&u?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&Ci(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):u?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),f&&f.end()}),0))}setUniforms(e={}){mn.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!Woe(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof ks&&(s=s.texture),s instanceof Pf)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&qoe(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new VI({handle:r});break;case 35632:i.fs=new jI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ma(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),mn.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),mn.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||mn.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),u=this._getHash(t),h=this._getHash(i),f=c.map(ie=>this._getHash(ie.name)).sort(),g=o.map(ie=>this._getHash(ie)),m=Object.keys(r).sort(),v=Object.keys(s).sort(),x=[],U=[];for(const ie of m)x.push(this._getHash(ie)),x.push(this._getHash(r[ie]));for(const ie of v)U.push(this._getHash(ie)),U.push(this._getHash(s[ie]));const D=`${u}/${h}D${x.join("/")}M${f.join("/")}I${U.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[D]){const ie=function(n,e){const{vs:t,fs:i}=e,r=doe(e.modules||[]);return{gl:n,vs:nU(n,Object.assign({},e,{source:t,type:R0,modules:r})),fs:nU(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:Noe(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[D]=new mU(this.gl,{hash:D,vs:ie.vs,fs:ie.fs,varyings:o,bufferMode:a}),this._getUniforms[D]=ie.getUniforms||(_e=>{}),this._useCounts[D]=0}return this._useCounts[D]++,this._programCache[D]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":v0.chrome?"Chrome":v0.safari?"Safari":v0.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ga(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ga.MAX_ATTRIBUTES=Ga.MAX_ATTRIBUTES||e.getParameter(34921),Ga.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ga._setConstantFloatArray(e,t,i);break;case Int32Array:Ga._setConstantIntArray(e,t,i);break;case Uint32Array:Ga._setConstantUintArray(e,t,i);break;default:on(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ga.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return on(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:u}=i,{gl:h,gl2:f}=this;return e=Number(e),this.bind(()=>{h.bindBuffer(34962,t.handle),c?(on(Ci(h)),f.vertexAttribIPointer(e,r,s,o,a)):h.vertexAttribPointer(e,r,s,l,o,a),h.enableVertexAttribArray(e),f.vertexAttribDivisor(e,u||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ga.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new lr(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!Mx||Mx.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const Fae=/^(.+)__LOCATION_([0-9]+)$/,Lae=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class Bae{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ga(e),JV(this,"VertexArray","v6.0",Lae),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new lr(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,mn.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const u=_a.resolve(l.accessor,this.accessors[o]||{},i,r),{size:h,type:f}=u;return on(Number.isFinite(h)&&Number.isFinite(f)),{location:o,accessor:u}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=Fae.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof lr)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof lr)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof lr))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof lr){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return mn.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function L0(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=L0(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function _U(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,u,h,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof lr){const f=e,{data:g,changed:m}=f.getDebugData();let v;return u=m?"*":"",h=g,l=f.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?v=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${ch(r,s)})`:(c=!0,v=`${l} bytes`),{[i]:`${u}${L0(h,{size:o,isInteger:c})}`,"Format ":v}}return h=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${L0(h,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function Uae(n,e){const{type:t,size:i}=e,r=pU(t,i);return r?`${n} (${r.name})`:n}function yU({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){on(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const f of l)!f.match(".*_.*")&&!f.match(s)&&zI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;for(const f of l)f.match(s)&&zI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;for(const f of l)a[f]||zI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;let u=0;const h={};if(!i)for(const f in t){const g=t[f];a[f]||(u++,h[f]={Type:`NOT USED: ${g}`,[n]:L0(g)})}return{table:a,count:c,unusedTable:h,unusedCount:u}}function zI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?L0(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function bU(n){const{type:e,size:t}=n.accessor,i=pU(e,t);return i?`${i.name} ${n.name}`:n.name}const Gae={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function Wae(n,e){const{attributeMap:t=Gae}=e||{};return t&&t[n]||n}function qae(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}on(Number.isFinite(e.size),`attribute ${n} needs size`)}const vU=()=>{},Kae={};class Yg{constructor(e,t={}){const{id:i=ma("model")}=t;on(dx(e)),this.id=i,this.gl=e,this.id=t.id||ma("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||F0.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},on(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return on(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return on(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=Wae(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=ot({},o);delete c.value,i[a]=[new lr(n,l),c],qae(s,c)}}if(r){const s=r.value||r;on(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new lr(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(jg(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return fI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),mn.priority>=2&&(c=this._logDrawCallStart(2));const u=this.vertexArray.getDrawParams(),{isIndexed:h=u.isIndexed,indexType:f=u.indexType,indexOffset:g=u.indexOffset,vertexArrayInstanced:m=u.isInstanced}=this.props;m&&!this.isInstanced&&mn.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:v,instanceCount:x}=this,{onBeforeRender:U=vU,onAfterRender:D=vU}=this.props;U(),this.program.setUniforms(this.uniforms);const ie=this.program.draw(Object.assign(Kae,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:h,indexType:f,isInstanced:v,instanceCount:x,offset:h?g:0}));return D(),mn.priority>=2&&this._logDrawCallEnd(c,l,i),ie}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return mn.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}on(t instanceof mU,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Bae(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof lr&&t.delete()}}_setAnimationProps(e){this.animated&&on(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(jg(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new Hj(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:mn.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=_U(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${Uae(s.name,a)}`),t[o]=_U(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=yU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:u}=yU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});u>0&&mn.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&mn.log("UNUSED UNIFORMS",Object.keys(a))();const h=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${bU(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${bU(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);mn.table(e,s)(),mn.table(e,o)(),mn.table(e+1,h)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),mn.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class HI{static isSupported(e){return Ci(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();on(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Yg(t,Object.assign({},e,{fs:e.fs||zj({version:Gj(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(jg(n.feedbackBuffers)&&jg(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new $se(e,t)),function(n){return!(jg(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new soe(e,t)),on(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function Dx(){}const Jae={onStart:Dx,onUpdate:Dx,onInterrupt:Dx,onEnd:Dx};class B0{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=ot(ot({},Jae),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const ale={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new B0(i),this.attribute=t,this.attributeInTransition=new TI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=Lj(e.size);return new HI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new lr(e,r),new lr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;Bj(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)Vj(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=CI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:Fj(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new B0(i),this.attribute=t,this.attributeInTransition=new TI(e,Sn(ot({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new ya(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new ks(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=Lj(e.size);return new HI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new lr(e,r),new lr(e,r),new lr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)Vj(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=CI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:Fj(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),Bj(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),px(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class lle{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=HI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void Ri.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=ale[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(Ri.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const wU="attributeManager.invalidate";class ple{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new lle(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;Do("attribute.updateStart",t),t.allocate(i)&&Do("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,Do("attribute.updateEnd",t,i))}}function xU(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function SU(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=kj(r)))return;const o=yle[r.type];if(!o)return void Ri.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(Sn(ot({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const Ix={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:vle}=Ix;function xle(n,e){if(!n.transitions)return null;const t={},i=$I(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&GI(n[r],e[r],s)&&(t[r]=!0)}return t}function CU({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=GI(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=GI(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function GI(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function Tle(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!Rle(i[r],e[r])){t=n(i),e=i;break}return t}}function Ple(n,e){if(!e)return n;const t=ot(ot({},n),e);if("defines"in e&&(t.defines=ot(ot({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=ot({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function WI(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],g=e[11],m=e[12],v=e[13],x=e[14],U=e[15],D=t*a-i*o,ie=t*l-r*o,_e=t*c-s*o,Pe=i*l-r*a,Ne=i*c-s*a,Ve=r*c-s*l,bt=u*v-h*m,xt=u*x-f*m,At=u*U-g*m,Bt=h*x-f*v,Wt=h*U-g*v,gt=f*U-g*x,mt=D*gt-ie*Wt+_e*Bt+Pe*At-Ne*xt+Ve*bt;return mt?(n[0]=(a*gt-l*Wt+c*Bt)*(mt=1/mt),n[1]=(r*Wt-i*gt-s*Bt)*mt,n[2]=(v*Ve-x*Ne+U*Pe)*mt,n[3]=(f*Ne-h*Ve-g*Pe)*mt,n[4]=(l*At-o*gt-c*xt)*mt,n[5]=(t*gt-r*At+s*xt)*mt,n[6]=(x*_e-m*Ve-U*ie)*mt,n[7]=(u*Ve-f*_e+g*ie)*mt,n[8]=(o*Wt-a*At+c*bt)*mt,n[9]=(i*At-t*Wt-s*bt)*mt,n[10]=(m*Ne-v*_e+U*D)*mt,n[11]=(h*_e-u*Ne-g*D)*mt,n[12]=(a*xt-o*Bt-l*bt)*mt,n[13]=(t*Bt-i*xt+r*bt)*mt,n[14]=(v*ie-m*Pe-x*D)*mt,n[15]=(u*Pe-h*ie+f*D)*mt,n):null}function Ff(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],g=e[10],m=e[11],v=e[12],x=e[13],U=e[14],D=e[15],ie=t[0],_e=t[1],Pe=t[2],Ne=t[3];return n[0]=ie*i+_e*a+Pe*h+Ne*v,n[1]=ie*r+_e*l+Pe*f+Ne*x,n[2]=ie*s+_e*c+Pe*g+Ne*U,n[3]=ie*o+_e*u+Pe*m+Ne*D,n[4]=(ie=t[4])*i+(_e=t[5])*a+(Pe=t[6])*h+(Ne=t[7])*v,n[5]=ie*r+_e*l+Pe*f+Ne*x,n[6]=ie*s+_e*c+Pe*g+Ne*U,n[7]=ie*o+_e*u+Pe*m+Ne*D,n[8]=(ie=t[8])*i+(_e=t[9])*a+(Pe=t[10])*h+(Ne=t[11])*v,n[9]=ie*r+_e*l+Pe*f+Ne*x,n[10]=ie*s+_e*c+Pe*g+Ne*U,n[11]=ie*o+_e*u+Pe*m+Ne*D,n[12]=(ie=t[12])*i+(_e=t[13])*a+(Pe=t[14])*h+(Ne=t[15])*v,n[13]=ie*r+_e*l+Pe*f+Ne*x,n[14]=ie*s+_e*c+Pe*g+Ne*U,n[15]=ie*o+_e*u+Pe*m+Ne*D,n}function Rx(n,e,t){var o,a,l,c,u,h,f,g,m,v,x,U,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],u=e[4],h=e[5],f=e[6],g=e[7],m=e[8],v=e[9],x=e[10],U=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=f,n[7]=g,n[8]=m,n[9]=v,n[10]=x,n[11]=U,n[12]=o*i+u*r+m*s+e[12],n[13]=a*i+h*r+v*s+e[13],n[14]=l*i+f*r+x*s+e[14],n[15]=c*i+g*r+U*s+e[15]),n}function Px(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function AU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+u*i,n[6]=a*r+h*i,n[7]=l*r+f*i,n[8]=c*r-s*i,n[9]=u*r-o*i,n[10]=h*r-a*i,n[11]=f*r-l*i,n}function MU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+u*i,n[2]=a*r+h*i,n[3]=l*r+f*i,n[4]=c*r-s*i,n[5]=u*r-o*i,n[6]=h*r-a*i,n[7]=f*r-l*i,n}function IU(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function Nx(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}function OU(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,f=c*s+o*r-a*i,g=-o*i-a*r-l*s;return n[0]=u*c+g*-o+h*-l-f*-a,n[1]=h*c+g*-a+f*-o-u*-l,n[2]=f*c+g*-l+u*-a-h*-o,n[3]=e[3],n}!function(){var n=new ba(4);ba!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const RU=[0,0,0,0],rce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],sce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],oce=[0,0,0],ace=[0,0,0],lce=Ox(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=RU,l=RU,c=n.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:f}=PU(n,e,t);return f&&(l=n.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=Nx([],l,o),s=i||s,o=Ff([],r,s),o=Ff([],o,rce)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(n,t,i),u=n.getDistanceScales(),h=[n.width*e,n.height*e],f=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:f,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:oce,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const m=n.getDistanceScales(c);switch(t){case Vi.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerMeter2;break;case Vi.LNGLAT:case Vi.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerDegree2;break;case Vi.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,m.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,m.unitsPerMeter2[2]]}}return g});function PU(n,e,t=ace){let r,i=t,s=!0;switch(r=e===Vi.LNGLAT_OFFSETS||e===Vi.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Zc.WEB_MERCATOR:(e===Vi.LNGLAT||e===Vi.CARTESIAN)&&(s=!1);break;case Zc.WEB_MERCATOR_AUTO_OFFSET:e===Vi.LNGLAT?i=r:e===Vi.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Zc.IDENTITY:i=n.position.map(Math.fround);break;case Zc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class hce extends mx{get ELEMENTS(){return Zu(!1),0}get RANK(){return Zu(!1),0}toString(){let e="[";if(Dr.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new qn).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],u=n[9],h=n[10],f=n[11],g=n[12],m=n[13],v=n[14],x=n[15];return(e*o-t*s)*(h*x-f*v)-(e*a-i*s)*(u*x-f*m)+(e*l-r*s)*(u*v-h*m)+(t*a-i*o)*(c*x-f*g)-(t*l-r*o)*(c*v-h*g)+(i*l-r*a)*(c*m-u*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return WI(this,this),this.check()}multiplyLeft(e){return Ff(this,e,this),this.check()}multiplyRight(e){return Ff(this,this,e),this.check()}rotateX(e){return AU(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],f=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-u*i,n[2]=a*r-h*i,n[3]=l*r-f*i,n[8]=s*i+c*r,n[9]=o*i+u*r,n[10]=a*i+h*r,n[11]=l*i+f*r}(this,this,e),this.check()}rotateZ(e){return MU(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,u,h,f,g,m,v,x,U,D,ie,_e,Pe,Ne,Ve,bt,xt,At,Bt,Wt,gt,mt,jt,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const qI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function ed(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const pc=Math.PI,VU=pc/4,gc=pc/180,YI=180/pc,XI=4003e4,Fx=85.051129;function Lx([n,e]){return ed(Number.isFinite(n)),ed(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*gc+pc)/(2*pc),512*(pc+Math.log(Math.tan(VU+e*gc*.5)))/(2*pc)]}function Zg([n,e]){const t=n/512*(2*pc)-pc,i=2*(Math.atan(Math.exp(e/512*(2*pc)-pc))-VU);return[t*YI,i*YI]}function KI({latitude:n,longitude:e,highPrecision:t=!1}){ed(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*gc),o=512/360,a=o/s,l=512/XI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=gc*Math.tan(n*gc)/s,h=512/XI*c,f=h/a*l;i.unitsPerDegree2=[0,o*c/2,h],i.unitsPerMeter2=[f,0,f]}return i}function jU(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=KI({longitude:t,latitude:i,highPrecision:!0}),u=Lx(n);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=Zg(u),f=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],f]:h}function zU(n){return 2*Math.atan(.5/n)*YI}function HU(n,e){const[t,i,r=0]=n;return ed(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Qg(e,[t,i,r,1])}function j0(n,e,t=0){const[i,r,s]=n;if(ed(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Qg(e,[i,r,s,1]);const o=Qg(e,[i,r,0,1]),a=Qg(e,[i,r,1,1]),l=o[2],c=a[2];return kU([],o,a,l===c?0:((t||0)-l)/(c-l))}const GU=Math.PI/180;function $U(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Qg(i,[e,0,1,1]),s=Qg(i,[e,n.height,1,1]),c=Zg(kU([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const Dce=Math.PI/180,Ice=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],ZI=[0,0,0],Rce={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Jg=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Zc.WEB_MERCATOR:Zc.WEB_MERCATOR_AUTO_OFFSET:Zc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&M0(t.projectionMatrix,this.projectionMatrix)&&M0(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=HU(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,u=j0([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[h,f,g]=this.unprojectPosition(u);return Number.isFinite(a)?[h,f,g]:Number.isFinite(r)?[h,f,r]:[h,f]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?Lx(t):t}unprojectFlat(t){return this.isGeospatial?Zg(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?KI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Jg{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:u=!1,repeat:h=!1,worldOffset:f=0}=t;let{width:g,height:m,altitude:v=1.5}=t;const x=Math.pow(2,s);g=g||1,m=m||1,v=Math.max(.75,v);const{fov:U,aspect:D,focalDistance:ie,near:_e,far:Pe}=function({width:n,height:e,fovy:t=zU(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=zU(i));const a=.5*t*gc,l=function(n){return.5/Math.tan(.5*n*gc)}(t),c=r*gc,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:g,height:m,pitch:o,altitude:v,nearZMultiplier:l,farZMultiplier:c});let Ne=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return Rx(o,o,[0,0,-i]),AU(o,o,-e*gc),MU(o,o,t*gc),Px(o,o,[r/=n,r,r]),s&&Rx(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:m,pitch:o,bearing:a,scale:x,altitude:v});f&&(Ne=(new qn).translate([512*f,0,0]).multiplyLeft(Ne)),super(Sn(ot({},t),{width:g,height:m,viewMatrix:Ne,longitude:r,latitude:i,zoom:s,orthographic:u,fovyRadians:U,aspect:D,focalDistance:ie,near:_e,far:Pe})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=v,this.orthographic=u,this._subViewports=h?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(Sn(ot({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return jU(t,i)}panByPosition(t,i){const r=j0(i,this.pixelUnprojectionMatrix),o=kx([],this.projectFlat(t),NU([],r)),a=kx([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*GU:Math.atan(.5/n.altitude))>(90-n.pitch)*GU-.01?(l=$U(n,0,e),c=$U(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:ed(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=Lx([a,BU(u,-Fx,Fx)]),f=Lx([c,BU(l,-Fx,Fx)]),g=[Math.max(Math.abs(f[0]-h[0]),i),Math.max(Math.abs(f[1]-h[1]),i)],m=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];ed(m[0]>0&&m[1]>0);const v=m[0]/g[0],x=m[1]/g[1],_e=Zg([(f[0]+h[0])/2+(s.right-s.left)/2/v,(f[1]+h[1])/2+(s.bottom-s.top)/2/x]),Pe=Math.min(r,qI(Math.abs(Math.min(v,x))));return ed(Number.isFinite(Pe)),{longitude:_e[0],latitude:_e[1],zoom:Pe}}(ot({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function JI(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof KU){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function QU(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=Nx([],[o,a,l,1],t)),i){case Vi.LNGLAT:return JI([o,a,l],e,s);case Vi.LNGLAT_OFFSETS:return JI([o+r[0],a+r[1],l+(r[2]||0)],e,s);case Vi.METER_OFFSETS:return JI(jU(r,[o,a,l]),e,s);case Vi.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const kce={10241:9987,10240:9729,10242:33071,10243:33071},eO={},Bce={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||z0(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>tO(n,e)},accessor:{validate(n,e){const t=Bx(n);return"function"===t||t===Bx(e.value)},equal:(n,e,t)=>"function"==typeof e||tO(n,e)},array:{validate:(n,e)=>e.optional&&!n||z0(n),equal:(n,e,t)=>t.compare?tO(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof ya)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new ya(t,Sn(ot({},e),{parameters:ot(ot(ot({},kce),i),n.props.textureParameters)}));return eO[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof ya)||eO[n.id]&&(n.delete(),delete eO[n.id])}(n)}}};function tO(n,e){if(n===e)return!0;if(!z0(n)||!z0(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=Qce,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[Xce]||{},i=e[Yce]||e,r=e[Kce]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(Pj(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return li(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var h,c=!0,u=!1;try{for(var g,m,f=iO(t);c=(g=yield f.next()).done,m=yield g.value,!c;c=!0){const x=m,{dataTransform:U}=i.component?i.component.props:{};a=U?U(x,a):a.concat(x),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(x){u=!0,h=x}finally{try{!c&&null!=f.return&&(yield f.return())}finally{if(u)throw h}}const v=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;v&&v(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:tz,ASYNC_RESOLVED:nz,ASYNC_DEFAULTS:Zce}=Ix,Jce={};let eue=0,tue=(()=>{class n{constructor(){this.props=Uce.apply(this,arguments),this.id=this.props.id,this.count=eue++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[Zce])s in i[nz]?r[s]=i[nz][s]:s in i[tz]&&(r[s]=i[tz][s]);return new this.constructor(ot(ot(ot({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new ez({})}}return n.componentName="Component",n.defaultProps=Jce,n})();class nue extends ez{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const mc=n=>"function"==typeof n,hh=n=>null!==n&&"object"==typeof n,rz=n=>hh(n)&&n.constructor==={}.constructor,iue=n=>n&&"function"==typeof n[Symbol.iterator],rue=n=>n&&"function"==typeof n[Symbol.asyncIterator],G0=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,em=n=>"undefined"!=typeof Blob&&n instanceof Blob,sz=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||hh(n)&&mc(n.tee)&&mc(n.cancel)&&mc(n.getReader))(n)||(n=>hh(n)&&mc(n.read)&&mc(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function Lf(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function rO(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function sO(n){var e,t;let i;return Lf(n,"null loader"),Lf(rO(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=Sn(ot({},n=n[0]),{options:ot(ot({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const tu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},oO=tu.global||tu.self||tu.window||{},uue="object"!=typeof process||"[object process]"!==String(process)||process.browser,oz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);oz&&parseFloat(oz[1]);const lO={};function due(n){for(const e in lO)n.startsWith(e)&&(n=n.replace(e,lO[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const hue=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,fue=/^([-\w.]+\/[-\w.+]+)/;function pue(n){const e=fue.exec(n);return e?e[1]:n}function az(n){const e=hue.exec(n);return e?e[1]:""}const gue=/\?.*/;function zx(n){if(G0(n)){const e=cO(n.url||"");return{url:e,type:pue(n.headers.get("content-type")||"")||az(e)}}return em(n)?{url:cO(n.name||""),type:n.type||""}:"string"==typeof n?{url:cO(n),type:az(n)}:{url:"",type:""}}function mue(n){return G0(n)?n.headers["content-length"]||-1:em(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function cO(n){return n.replace(gue,"")}function lz(n){return uO.apply(this,arguments)}function uO(){return(uO=li(function*(n){if(G0(n))return n;const e={},t=mue(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=zx(n);r&&(e["content-type"]=r);const s=yield bue(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function _ue(n){return dO.apply(this,arguments)}function dO(){return(dO=li(function*(n){if(!n.ok){const e=yield yue(n);throw new Error(e)}})).apply(this,arguments)}function yue(n){return hO.apply(this,arguments)}function hO(){return(hO=li(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function bue(n){return fO.apply(this,arguments)}function fO(){return(fO=li(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${vue(n.slice(0,5))}`:null})).apply(this,arguments)}function vue(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const dz={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){Kn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},xue={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function gO(){oO.loaders=oO.loaders||{};const{loaders:n}=oO;return n._state=n._state||{},n._state}const mO=()=>{const n=gO();return n.globalOptions=n.globalOptions||ot({},dz),n.globalOptions};function Sue(n,e,t,i){return t=t||[],function(n,e){fz(n,null,dz,xue,e);for(const t of e)fz(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=ot({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new wue),gz(r,mO()),gz(r,e),r}(e,n,i)}function hz(n,e){const t=mO(),i=n||t;return"function"==typeof i.fetch?i.fetch:hh(i.fetch)?r=>cz(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:cz}function fz(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&hh(n[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in t)&&!c&&!u)if(a in i)uz.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const h=Tue(a,r);uz.warn(`${s} loader option '${o}${a}' not recognized. ${h}`)()}}}function Tue(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function gz(n,e){for(const t in e)t in e&&(n[t]=rz(e[t])&&rz(n[t])?ot(ot({},n[t]),e[t]):e[t])}function nu(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function Due(n,e="3.0.12"){return nu(n,"no worker provided"),!(!e||!n.version)}const iu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Iue=iu.global||iu.self||iu.window||{},_O="object"!=typeof process||"[object process]"!==String(process)||process.browser,yO="function"==typeof importScripts,Oue="undefined"!=typeof window&&void 0!==window.orientation,mz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),bO=(mz&&parseFloat(mz[1]),new Map);function _z(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function yz(n,e=!0,t){const i=t||new Set;if(n)if(bz(n))i.add(n);else if(bz(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)yz(n[r],e,i);return void 0===t?Array.from(i):[]}function bz(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const vO=()=>{};class vz{static isSupported(){return"undefined"!=typeof Worker}constructor(e){Kn(this,"name",void 0),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"terminated",!1),Kn(this,"worker",void 0),Kn(this,"onMessage",void 0),Kn(this,"onError",void 0),Kn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;nu(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=vO,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=vO,this.onError=vO,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||yz(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){nu(n.source&&!n.url||!n.source&&n.url);let e=bO.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?_z(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),bO.set(n.url,e)),n.source&&(e=_z(n.source),bO.set(n.source,e))),nu(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class kue{constructor(e,t){Kn(this,"name",void 0),Kn(this,"workerThread",void 0),Kn(this,"isRunning",void 0),Kn(this,"result",void 0),Kn(this,"_resolve",void 0),Kn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){nu(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){nu(this.isRunning),this.isRunning=!1,this._reject(e)}}class Fue{constructor(e){Kn(this,"name","unnamed"),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"maxConcurrency",1),Kn(this,"maxMobileConcurrency",1),Kn(this,"onDebug",()=>{}),Kn(this,"reuseWorkers",!0),Kn(this,"props",{}),Kn(this,"jobQueue",[]),Kn(this,"idleQueue",[]),Kn(this,"count",0),Kn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=ot(ot({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return li(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return li(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new kue(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class td{static isSupported(){return vz.isSupported()}static getWorkerFarm(e={}){return td._workerFarm=td._workerFarm||new td({}),td._workerFarm.setProps(e),td._workerFarm}constructor(e){Kn(this,"props",void 0),Kn(this,"workerPools",new Map),this.props=ot({},Lue),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=ot(ot({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new Fue({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function Vue(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return nu(r),r}function jue(n,e){return!!td.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function Uue(n,e,t,i,r){return wO.apply(this,arguments)}function wO(){return(wO=li(function*(n,e,t,i,r){const s=n.id,o=Vue(n,t),l=td.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",zue.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function zue(n,e,t,i){return EO.apply(this,arguments)}function EO(){return(EO=li(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}Kn(td,"_workerFarm",void 0);var Ez=et(9521);function xz(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return Ez.toArrayBuffer?Ez.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function Wue(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function Sz(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function que(n){return SO.apply(this,arguments)}function SO(){return(SO=li(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=iO(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return Wue(...e)})).apply(this,arguments)}const Kue=262144;function Cz(n){this.wrapped=n}function $0(n){return new Cz(n)}function W0(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,u=c instanceof Cz;Promise.resolve(u?c.wrapped:c).then(function(h){u?r("return"===o?"return":"next",h):s(l.done?"return":"normal",h)},function(h){r("throw",h)})}catch(h){s("throw",h)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var u={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=u:(e=t=u,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function TO(n){return function(){return new W0(n.apply(this,arguments))}}function AO(){return(AO=TO(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(IO)}function rde(n,e,t){return OO.apply(this,arguments)}function OO(){return(OO=li(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return ide(n,e);if(em(n)&&(n=yield lz(n)),G0(n)){const r=n;return yield _ue(r),e.binary?yield r.arrayBuffer():yield r.text()}if(sz(n)&&(n=nde(n,t)),iue(n)||rue(n))return que(n);throw new Error(IO)})).apply(this,arguments)}function ode(n,e,t=null){if(t)return t;const i=ot({fetch:hz(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function ade(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const Az=()=>{const n=gO();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function Mz(n){const e=Az();n=Array.isArray(n)?n:[n];for(const t of n){const i=sO(t);e.find(r=>i===r)||e.unshift(i)}}const cde=/\.([^.]+)$/;function ude(n){return NO.apply(this,arguments)}function NO(){return(NO=li(function*(n,e=[],t,i){if(!Iz(n))return null;let r=Dz(n,e,Sn(ot({},t),{nothrow:!0}),i);if(r)return r;if(em(n)&&(r=Dz(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(Oz(n));return r})).apply(this,arguments)}function Dz(n,e=[],t,i){if(!Iz(n))return null;if(e&&!Array.isArray(e))return sO(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...Az()),function(n){for(const e of n)sO(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=zx(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=kO(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&cde.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||kO(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(mde(e,t))return t}else if(ArrayBuffer.isView(e)){if(Rz(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&Rz(e,0,t))return t;return null}(e,n),a=a||kO(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(Oz(n));return s}function Iz(n){return!(n instanceof Response&&204===n.status)}function Oz(n){const{url:e,type:t}=zx(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?FO(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?FO(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function kO(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function mde(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function Rz(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let ru=new Uint8ClampedArray(0);const Ade={data:{type:"data",value:Cde,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=Sn(ot({},r),{fetch:Sn(ot({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:q0(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):q0(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:Vi.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let Y0=(()=>{class n extends tue{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=QU(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=HU(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=ot({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===Vi.DEFAULT&&(t=i.isGeospatial?Vi.LNGLAT:Vi.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=PU(t,i,r),h=QU(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(h,h,t.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===Vi.DEFAULT||t===Vi.LNGLAT||t===Vi.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){fc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=Ple(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const u of c)o.invalidateAll(u);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:u}=o.attributes,h=c||u;h&&(l&&h.constant&&(h.constant=!1,o.invalidate(h.id)),!h.value&&!l&&(h.constant=!0,h.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!Tde({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(ru.length/3);if(this.internalState.usesPickingColorCache=!0,rPz&&Ri.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),ru=A0.allocate(ru,i,{size:3,copy:!0,maxCount:Math.max(i,Pz)});const s=Math.floor(ru.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const u of this.props.extensions)u.draw.call(this,c,u);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&Do("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=CU({newProps:n,oldProps:e,propTypes:$I(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&TU(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&TU(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:Tle(n,e),transitionsChanged:xle(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=$I(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new ple(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){fc(!this.internalState&&!this.state),fc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new nue({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Ri.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new ble(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){Do("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=Ade,n})(),Nz=(()=>{class n extends Y0{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:f,wrapLongitude:g,positionFormat:m,modelMatrix:v,extensions:x,fetch:U,_subLayerProps:D}=this.props,ie={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:f,wrapLongitude:g,positionFormat:m,modelMatrix:v,extensions:x,fetch:U},_e=D&&D[t.id],Pe=_e&&_e.updateTriggers,Ne=t.id||"sublayer";if(_e){const Ve=this.constructor._propTypes,bt=t.type?t.type._propTypes:{};for(const xt in _e){const At=bt[xt]||Ve[xt];At&&"accessor"===At.type&&(_e[xt]=this.getSubLayerAccessor(_e[xt]))}}Object.assign(ie,t,_e),ie.id="".concat(this.props.id,"-").concat(Ne),ie.updateTriggers=ot(ot({all:this.props.updateTriggers.all},t.updateTriggers),Pe);for(const Ve of x){const bt=Ve.getSubLayerProps.call(this,Ve);bt&&Object.assign(ie,bt,{updateTriggers:Object.assign(ie.updateTriggers,bt.updateTriggers)})}return ie}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=xI(t,Boolean),this.internalState.subLayers=t),Do("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const Dde=/([0-9]+\.?[0-9]*)(%|px)/;function Gx(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(Dde);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function $x(n,e){return n.relative?Math.round(n.position*e):n.position}function X0(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&X0(i,r)))return!1}return!0}class jO{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:u=1e3,modelMatrix:h=null,viewportInstance:f=null,type:g=Jg}=e;fc(!f||f instanceof Jg),this.viewportInstance=f,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=Sn(ot({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:u,modelMatrix:h}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):X0(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=ot({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:$x(this._x,e),y:$x(this._y,t),width:$x(this._width,e),height:$x(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),ot(ot({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(ot(ot(ot({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=Gx(e),this._y=Gx(t),this._width=Gx(i),this._height=Gx(r)}}const K0=()=>{},kz={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:K0,onTransitionInterrupt:K0,onTransitionEnd:K0};class Ide{constructor(e,t={}){this.ControllerState=e,this.props=ot(ot({},kz),t),this.propsInTransition=null,this.transition=new B0(t.timeline),this.onViewStateChange=t.onViewStateChange||K0,this.onStateChange=t.onStateChange||K0,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=ot(ot({},kz),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=ot(ot({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(ot(ot({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const Fz=["longitude","latitude","zoom","bearing","pitch"],Rde=["longitude","latitude","zoom"];class Lz extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!M0(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];fc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:Fz,extract:Fz,required:Rde}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=gx(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(ot(ot({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,gx(e.around,t.around,i)))}return r}}const fh={transitionDuration:0},Pde={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},qx=n=>1-(1-n)*(1-n),tm_WHEEL=["wheel"],tm_PAN=["panstart","panmove","panend"],tm_PINCH=["pinchstart","pinchmove","pinchend"],tm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],tm_DOUBLE_TAP=["doubletap"],tm_KEYBOARD=["keydown"];class UO{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new Ide(e,Sn(ot({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&Sn(ot({},Pde),{transitionInterpolator:new Lz({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,u=Boolean(this.onViewStateChange);this.toggleEvents(tm_WHEEL,u&&i),this.toggleEvents(tm_PAN,u&&(r||s)),this.toggleEvents(tm_PINCH,u&&(a||l)),this.toggleEvents(tm_TRIPLE_PAN,u&&l),this.toggleEvents(tm_DOUBLE_TAP,u&&o),this.toggleEvents(tm_KEYBOARD,u&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=ot(ot({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,fh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:qx}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:qx}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,Sn(ot({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,fh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:qx}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,fh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,fh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,Sn(ot({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:qx}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?Sn(ot({},t),{transitionInterpolator:new Lz(Sn(ot({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:fh}}class Bz{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const ph_target=[0,0,0];class Yx extends Bz{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=ph_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:u=-(1/0),maxZoom:h=Infinity,startPanPosition:f,startRotatePos:g,startRotationX:m,startRotationOrbit:v,startZoomPosition:x,startZoom:U}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:u,maxZoom:h}),this._state={startPanPosition:f,startRotatePos:g,startRotationX:m,startRotationOrbit:v,startZoomPosition:x,startZoom:U},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let u=(e[0]-r[0])/a;(s<-90||s>90)&&(u*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*u}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(Sn(ot({},this._viewportProps),{zoom:a}));return this._getUpdatedState(ot({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),Ua(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new Yx(ot(ot(ot({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=Ua(r,i,t),e.rotationX=Ua(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class kde extends UO{constructor(e){super(Yx,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class Fde extends UO{constructor(e){e.dragMode=e.dragMode||"pan",super(Yx,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const Lde=(new qn).lookAt({eye:[0,0,1]});function Bde({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new qn).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class Vde extends Jg{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(Sn(ot({},e),{longitude:null,position:a,viewMatrix:Lde.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:Bde({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=kx([],e,NU([],j0(t,this.pixelUnprojectionMatrix)));return{target:kx([],this.center,r)}}}let jde=(()=>{class n extends jO{constructor(t){super(Sn(ot({},t),{type:Vde}))}get controller(){return this._getControllerProps({type:Fde})}}return n.displayName="OrthographicView",n})();const Xx=Math.PI/180;function Ude({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*Xx/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new qn).lookAt({eye:l,up:a});c.rotateX(i*Xx),"Z"===t?c.rotateZ(r*Xx):c.rotateY(r*Xx);const u=Math.pow(2,s)/(n||1);return c.scale(u),c}class zde extends Jg{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(Sn(ot({},e),{longitude:null,viewMatrix:Ude({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=j0([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let Hde=(()=>{class n extends jO{constructor(t={}){const{orbitAxis:i="Z"}=t;super(Sn(ot({},t),{orbitAxis:i,type:zde}))}get controller(){return this._getControllerProps({type:kde})}}return n.displayName="OrbitView",n})();const Gde=[255,255,255],$de=1;let Wde=0;class Vz{constructor(e={}){const{color:t=Gde}=e,{intensity:i=$de}=e;this.id=e.id||"ambient-".concat(Wde++),this.color=t,this.intensity=i,this.type="ambient"}}const qde=[255,255,255],Yde=1,Xde=[0,0,-1];let Kde=0;class jz{constructor(e={}){const{color:t=qde}=e,{intensity:i=Yde}=e,{direction:r=Xde}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(Kde++),this.color=t,this.intensity=i,this.type="directional",this.direction=new Mo(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class Uz{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=ot({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class zO extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=ot({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return Xu(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){Xu(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,u=i&&i[c.id];r(c);const h=this._getDrawLayerParams(c,e);e.view=u;const f=c.subViewports||[c];for(const g of f){e.viewport=g;const m=this._drawLayersInViewport(o,e,h);a.push(m)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=zz(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let u=0;ufI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};Xu(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const u=t[l]=t[l]||zz(e[l],e);c=u(r,s),t[a]=u}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class ehe extends zO{constructor(e,t){super(e,t),this.shadowMap=new ya(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new zg(e,{format:33189,width:1,height:1}),this.fbo=new ks(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;hc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=Vg(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(Sn(ot({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const nhe=Object.keys(Vi).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(Vi[n],";")).join(""),ihe=Object.keys(Zc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Zc[n],";")).join(""),rhe="".concat(nhe,"\n").concat(ihe,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),she={},HO={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:rhe,getUniforms:function(n=she){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=Vi.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===Vi.DEFAULT&&(i=n.isGeospatial?Vi.LNGLAT:Vi.CARTESIAN);const o=lce({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||sce,o}(n):{}}},che=Ox(function({viewport:n,center:e}){return new qn(n.viewProjectionMatrix).invert().transform(e)}),uhe=Ox(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=j0([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new Mo(n.center).negate()),l=s.map(u=>a.transform(u)),c=(new qn).ortho({left:Math.min(...l.map(u=>u[0])),right:Math.max(...l.map(u=>u[0])),bottom:Math.min(...l.map(u=>u[1])),top:Math.max(...l.map(u=>u[1])),near:Math.min(...l.map(u=>-u[2])),far:Math.max(...l.map(u=>-u[2]))});t.push(c.multiplyRight(o))}return t}),dhe=[0,0,0,1],hhe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],GO={name:"shadow",dependencies:[HO],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||dhe,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=che({viewport:n.viewport,center:e.project_uCenter}),r=[],s=uhe({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},_he={color:[255,255,255],intensity:1},Hz=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],yhe=[0,0,0,200/255];class $O extends Uz{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=yhe,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=F0.getDefaultProgramManager(e),GO&&this.programManager.addDefaultModule(GO)),this.dummyShadowMap||(this.dummyShadowMap=new ya(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(GO),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new qn).lookAt({eye:new Mo(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=vhe++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class whe{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=q0(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class Ehe{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new whe(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const xhe=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},HO],She=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function Che(n){const e=F0.getDefaultProgramManager(n);for(const t of xhe)e.addDefaultModule(t);for(const t of She)e.addShaderHook(t);return e}const Mhe=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class Dhe{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new Ehe({gl:e,protocol:"deck://"}),this.context=Sn(ot({},Mhe),{layerManager:this,gl:e,deck:t,programManager:e&&Che(e),stats:i||new oI({id:"deck.gl"}),viewport:r||new Jg({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new Gz,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){Do("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=xI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return Do("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?Ri.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&Ri.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class Ihe{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=xI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!X0(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):Ri.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(ot({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=Sn(ot(ot(ot({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let u=r[a.id];a.controller&&!u&&(s=!0),(s||!a.controller)&&u&&(u.finalize(),u=null),this.controllers[a.id]=this._updateController(a,l,c,u),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class Rhe extends Bz{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:u=20,minZoom:h=0,maxPitch:f=60,minPitch:g=0,startPanLngLat:m,startZoomLngLat:v,startRotatePos:x,startBearing:U,startPitch:D,startZoom:ie,normalize:_e}={}){fc(Number.isFinite(s)),fc(Number.isFinite(r)),fc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:u,minZoom:h,maxPitch:f,minPitch:g,normalize:_e}),this._state={startPanLngLat:m,startZoomLngLat:v,startRotatePos:x,startBearing:U,startPitch:D,startZoom:ie},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(Sn(ot({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(Sn(ot({},this._viewportProps),{zoom:o}));return this._getUpdatedState(ot({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(ot(ot(ot({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=Ua(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=Ua(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=LU(t+180,360)-180),(o<-180||o>180)&&(o=LU(o+180,360)-180);const a=qI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Zg([0,l])[1];if(iu&&(i=u)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Ua(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=Ua(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let u=0;return r>0?Math.abs(l-o)>5&&(u=r/(o-l)*1.2):r<0&&o>5&&(u=1-s/o),u=Math.min(1,Math.max(-1,u)),{deltaScaleX:c,deltaScaleY:u}}}class Phe extends UO{constructor(e){e.dragMode=e.dragMode||"pan",super(Rhe,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let Nhe=(()=>{class n extends jO{constructor(t){super(Sn(ot({},t),{type:KU}))}get controller(){return this._getControllerProps({type:Phe})}}return n.displayName="MapView",n})();const khe=new $O;class Fhe{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!X0(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof $O)||this._internalEffects.push(khe)}}class Lhe extends zO{}const Wz={blendFunc:[1,0,32771,0],blendEquation:32774};class qz extends zO{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:u},pass:h="picking",redrawReason:f,pickZ:g}){const m=this.gl;return this.pickZ=g,hc(m,Sn(ot({scissorTest:!0,scissor:[a,l,c,u],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},Wz),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:h,redrawReason:f})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:Sn(ot({},Wz),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return ot(ot({},e.props.parameters),i)}}class Vhe{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new Lhe(e),this.pickLayersPass=new qz(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||ks.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(Sn(ot({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,Do("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new ks(this.gl),new ks(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const jhe={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function Uhe({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,f=0;for(let g=0;gu)f+=4*l;else for(let x=0;x=0){const D=x+o-t,ie=D*D+v;ie<=u&&(u=ie,h=f)}f+=4}}if(h>=0){const g=n[h+3]-1,m=n.slice(h,h+4),v=e[g];if(v){const x=v.decodePickingColor(m),U=Math.floor(h/4/l);return{pickedColor:m,pickedLayer:v,pickedObjectIndex:x,pickedX:o+(h/4-U*l),pickedY:a+U}}Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return jhe}function Yz({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,u=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(f=>i({layer:l,viewport:f,isPicking:!0,renderPass:"picking:".concat(e)}))),h=u&&u.unproject([s-u.x,o-u.y],{targetZ:a});return{color:null,layer:null,viewport:u,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:h,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function Hhe(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const h=t.index,f=t.layerId,g=o&&o.props.id;if(g!==f||a!==h){if(g!==f){const m=r.find(v=>v.props.id===f);m&&l.unshift(m)}t.layerId=g,t.index=a,t.info=null}}const c=Yz(n),u=new Map;return u.set(null,c),l.forEach(h=>{let f=ot({},c);h===o&&(f.color=s,f.index=a,f.picked=!0),f=Xz({layer:h,info:f,mode:i}),h===o&&"hover"===i&&(t.info=f),u.set(f.layer.id,f),"hover"===i&&f.layer.updateAutoHighlight(f)}),u}function Xz({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class $he{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new qz(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(f=>f.id===o):null,c=a&&r.find(f=>f.id===a)||r[0],u=c&&c.unproject([e-c.x,t-c.y]),h={x:e,y:t,viewport:c,coordinate:u,layer:l};return l?ot(ot({},s),h):Object.assign(h,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new ks(e),ks.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new ks(e),this.depthFBO.attach({36064:new ya(e,{format:Ci(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(Ri.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:u}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:Yz({viewports:i,x:r,y:s})};this._resizeBuffer();const h=Vg(this.gl),f=iI(this.gl,[r,s],!0),g=[f.x+Math.floor(f.width/2),f.y+Math.floor(f.height/2)],m=Math.round(o*h),{width:v,height:x}=this.pickingFBO,U=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:m,deviceWidth:v,deviceHeight:x});let D;const ie=[],_e={};for(let Pe=0;Pe=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:u,deviceRect:{x:g,y:U,width:v.x+v.width-g,height:m-U},pass:"picking:".concat(l),redrawReason:l}),layers:e}),Pe=new Map,Ne=Number.isFinite(c);for(let Ve=0;Ve<_e.length&&!(Ne&&Pe.size>=c);Ve++){const bt=_e[Ve];let xt={color:bt.pickedColor,layer:null,index:bt.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:h};xt=Xz({layer:bt.pickedLayer,info:xt,mode:l}),Pe.has(xt.object)||Pe.set(xt.object,xt)}return Array.from(Pe.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:u,y:h,width:f,height:g}=s,m=new(l?Float32Array:Uint8Array)(f*g*4);return px(c,{sourceX:u,sourceY:h,sourceWidth:f,sourceHeight:g,target:m}),m}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const Whe={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class qhe{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,Whe),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function Kz(n,e){if(!n)throw new Error(e)}const su={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Qz=su.global||su.self||su.window,Xhe="object"!=typeof process||"[object process]"!==String(process)||process.browser,Zz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:Khe}=(Zz&&parseFloat(Zz[1]),Qz),WO="undefined"!=typeof Image,qO="undefined"!=typeof ImageBitmap,Qhe=Boolean(Khe),YO=!!Xhe||Qhe;function Jz(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function e4(n){switch(Jz(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const efe=/^data:image\/svg\+xml/,tfe=/\.svg((\?|#).*)?$/;function XO(n){return n&&(efe.test(n)||tfe.test(n))}function nfe(n,e){if(XO(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return n4(n,e)}function n4(n,e){if(XO(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function i4(n,e,t){return KO.apply(this,arguments)}function KO(){return(KO=li(function*(n,e,t){const i=nfe(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield ife(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function ife(n,e){return QO.apply(this,arguments)}function QO(){return(QO=li(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const rfe={};let r4=!0;function sfe(n,e,t){return ZO.apply(this,arguments)}function ZO(){return(ZO=li(function*(n,e,t){let i;i=XO(t)?yield i4(n,e,t):n4(n,t);const r=e&&e.imagebitmap;return yield ofe(i,r)})).apply(this,arguments)}function ofe(n){return JO.apply(this,arguments)}function JO(){return(JO=li(function*(n,e=null){if((afe(e)||!r4)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),r4=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function afe(n){for(const e in n||rfe)return!1;return!0}const ou=!1,Q0=!0;function eR(n){const e=Z0(n);return function(n){const e=Z0(n);return e.byteLength>=24&&2303741511===e.getUint32(0,ou)?{mimeType:"image/png",width:e.getUint32(16,ou),height:e.getUint32(20,ou)}:null}(e)||function(n){const e=Z0(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,ou)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,ou)?{mimeType:"image/gif",width:e.getUint16(6,Q0),height:e.getUint16(8,Q0)}:null}(e)||function(n){const e=Z0(n);return e.byteLength>=14&&16973===e.getUint16(0,ou)&&e.getUint32(2,Q0)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Q0),height:e.getUint32(22,Q0)}:null}(e)}function Z0(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function ffe(n,e){const{mimeType:t}=eR(n)||{},{_parseImageNode:i}=Qz;return Kz(i),i(n,t,e)}function tR(){return(tR=li(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(gfe(r)){case"imagebitmap":a=yield sfe(n,e,s);break;case"image":a=yield i4(n,e,s);break;case"data":a=yield ffe(n,e);break;default:Kz(!1)}return"data"===r&&(a=e4(a)),a})).apply(this,arguments)}function gfe(n){switch(n){case"auto":case"data":return function(){if(qO)return"imagebitmap";if(WO)return"image";if(YO)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return qO||WO||YO;case"imagebitmap":return qO;case"image":return WO;case"data":return YO;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const nR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return tR.apply(this,arguments)},tests:[n=>Boolean(eR(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var nm=et(4761);const _fe={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},J0="8.5.8",Kx=nm.CO.deck&&nm.CO.deck.VERSION;if(Kx&&Kx!==J0)throw new Error("deck.gl - multiple versions detected: ".concat(Kx," vs ").concat(J0));Kx||(Ri.log(1,"deck.gl ".concat(J0))(),nm.CO.deck=Object.assign(nm.CO.deck||{},{VERSION:J0,version:J0,log:Ri,_registerLoggers:function(n){AI=n}}),Mz([_fe,[nR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const yfe=nm.CO.deck;class Qx extends Ku{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=Ci(e),r=gj(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:on(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return Qx.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const s4=fx()&&"undefined"!=typeof document;let Mfe=0;class Dfe{constructor(e={}){const{onCreateContext:t=(x=>XV(x)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:u=!1,createFramebuffer:h=!1,autoResizeViewport:f=!0,autoResizeDrawingBuffer:g=!0,stats:m=Rf.get("animation-loop-"+Mfe++)}=e;let{useDevicePixels:v=!0}=e;"useDevicePixelRatio"in e&&(mn.deprecated("useDevicePixelRatio","useDevicePixels")(),v=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:u,createFramebuffer:h},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=m,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:f,autoResizeDrawingBuffer:g,useDevicePixels:v}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return on("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=Qx.isSupported(this.gl,["timers"])?new Qx(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return li(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return mn.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=s4?new Promise((e,t)=>{s4&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?sI(this.props.gl,e):this.onCreateContext(e),!dx(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){Xu(n,nI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(mn.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(mn.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new ks(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var Ife=et(1524),Zx=et.n(Ife);const Ofe={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(Zx().MouseInput);const kfe=Zx().Manager,au=Zx(),Ffe=au?[[au.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[au.Rotate,{enable:!1}],[au.Pinch,{enable:!1}],[au.Swipe,{enable:!1}],[au.Pan,{threshold:0,enable:!1}],[au.Press,{enable:!1}],[au.Tap,{event:"doubletap",taps:2,enable:!1}],[au.Tap,{event:"anytap",enable:!1}],[au.Tap,{enable:!1}]]:null,l4={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},Lfe={doubletap:["tap"]},Bfe={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},rR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},Vfe={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},c4={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},jfe="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",im="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let u4=!1;try{const n={get passive(){return u4=!0,!0}};im.addEventListener("test",n,n),im.removeEventListener("test",n,n)}catch(n){}const Ufe=-1!==jfe.indexOf("firefox"),{WHEEL_EVENTS:zfe}=rR,h4=4.000244140625;class $fe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=zfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!u4&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;im.WheelEvent&&(Ufe&&e.deltaMode===im.WheelEvent.DOM_DELTA_PIXEL&&(t/=im.devicePixelRatio),e.deltaMode===im.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%h4==0&&(t=Math.floor(t/h4)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:Wfe}=rR,f4="pointermove",p4="pointerover",g4="pointerout",m4="pointerleave";class qfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=Wfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===f4&&(this.enableMoveEvent=t),e===p4&&(this.enableOverEvent=t),e===g4&&(this.enableOutEvent=t),e===m4&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:p4,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:g4,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:m4,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:f4,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:Yfe}=rR,_4="keydown";class Xfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=Yfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===_4&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:_4,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const b4="contextmenu";class Kfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===b4&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:b4,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const Qfe={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},v4={srcElement:"root",priority:0};class cpe{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},v4,i):v4;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let u=l.length-1;for(;u>=0&&!(l[u].priority>=c.priority);)u--;l.splice(u+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&l4[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new $fe(e,this._onOtherEvent,{enable:!1}),this.moveInput=new qfe(e,this._onOtherEvent,{enable:!1}),this.keyInput=new Xfe(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new Kfe(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=Lfe[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const u in e)this._addEventHandler(u,e[u],i,r,s);return}const{manager:o,events:a}=this,l=c4[e]||e;let c=a.get(l);c||(c=new cpe(this),a.set(l,c),c.recognizerName=Vfe[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(c4[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=Bfe[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function Vf(){}const w4={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:Vf,onResize:Vf,onViewStateChange:Vf,onInteractionStateChange:Vf,onBeforeRender:Vf,onAfterRender:Vf,onLoad:Vf,onError:(n,e)=>Ri.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class eS{constructor(e){e=ot(ot({},w4),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&Ri.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,nm.qs)()&&Ri.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new oI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&A0.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&Ri.removed("onLayerHover","onHover")(),"onLayerClick"in e&&Ri.removed("onLayerClick","onClick")(),e.initialViewState&&!X0(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](ot({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),fc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:u,autoResizeDrawingBuffer:h}=e;return new Dfe({width:t,height:i,useDevicePixels:u,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:f=>XV(Sn(ot(ot({},s),f),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:f=>this._setGLContext(f.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new Nhe({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,sI(e,{enable:!0,copyState:!0})),this.tooltip=new qhe(this.canvas),Xu(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new Gz;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new dpe(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in PV)this.eventManager.on(r,this._onEvent);this.viewManager=new Ihe({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new Dhe(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new Fhe,this.deckRenderer=new Vhe(e),this.deckPicker=new $he(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;Xu(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(ot({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Ri.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Sn(ot({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=PV[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=Rf.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}eS.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(Uz)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},eS.defaultProps=w4,eS.VERSION=yfe.VERSION;const tS={name:"project32",dependencies:[HO],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},gpe={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},nS=ot({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=gpe){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),E4={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class gh{static get DRAW_MODE(){return E4}constructor(e={}){const{id:t=ma("geometry"),drawMode:i=E4.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?ot({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,on(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(on(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return on(Number.isFinite(i)),i}}const x4=()=>{},wpe={10241:9987,10240:9729,10242:33071,10243:33071};function Epe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function xpe(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function eb(n){return n&&(n.id||n.url)}function S4(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(S4(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+f+e,s=Math.max(s,h)}}return a.length>0&&S4(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:Epe(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new ya(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:wpe})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=hj(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=t;const{framebuffer:f,deleteFramebuffer:g}=T0(n);on(f);const{gl:m,handle:v}=f,x=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const U=m.bindFramebuffer(36160,v);on(e);let D=null;if(e instanceof Pf&&(D=e,u=Number.isFinite(u)?u:D.width,h=Number.isFinite(h)?h:D.height,D.bind(0),e=D.target),x)switch(e){case 3553:case 34067:m.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:Ao(m).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else m.copyTexImage2D(e,s,o,i,r,u,h,0);D&&D.unbind(),m.bindFramebuffer(36160,U||null),g&&f.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,q0(i.url,nR,this._loadOptions).then(r=>{const s=eb(i),{x:o,y:a,width:l,height:c}=this._mapping[s],u=xpe(t,r,l,c);this._texture.setSubImageData({data:u,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const C4=[0,0,0,255],Mpe={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:C4},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let Dpe=(()=>{class n extends Y0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[tS,nS]})}initializeState(){this.state={iconManager:new Ape(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:C4},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:u}=this.state;u.setProps({loadOptions:i.loadOptions});let h=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&u.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(u.setProps({iconMapping:a}),h=!0)):u.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&u.setProps({data:l,getIcon:c}),h&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:m}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(m),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:u}=this.context,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===o?u.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Yg(t,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:new gh({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):Ri.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=Mpe,n})();const A4=[],Ope={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let Rpe=(()=>{class n extends Dpe{getShaders(){return Sn(ot({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&Ri.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=Sn(ot({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):A4}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):A4}}return n.layerName="MultiIconLayer",n.defaultProps=Ope,n})();var Ppe=et(1002),Npe=et.n(Ppe);const Fpe=[];function Lpe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function M4(n,e,t,i){let r=0;for(let s=e;si&&(oa){let h=M4(n,a,l,r);c+h>i&&(oi&&(h=D4(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=h}}(n,r,s,t,i,o),o}function Upe(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let f=0,g=0,m=0;for(let v=0;v<=s;v++){const x=n[v];if(("\n"===x||v===s)&&(m=v),m>g){const U=c?jpe(n,t,i,r,g,m):Fpe;for(let D=0;D<=U.length;D++){const ie=0===D?g:U[D-1],_e=Di===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),qpe=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function Xpe(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=aR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=aR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,aR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:u}=this.props;let h=i&&i.data;h||(h=document.createElement("canvas"),h.width=1024);const f=h.getContext("2d");j4(f,r,o,s);const{mapping:g,canvasHeight:m,xOffset:v,yOffset:x}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const f of n)if(!s[f]){const g=e(f,u++);c+g+2*i>r&&(c=0,l++),s[f]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const h=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:Lpe(a+(l+1)*h)}}(ot({getFontWidth:U=>f.measureText(U).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(h.height!==m){const U=f.getImageData(0,0,h.width,h.height);h.height=m,f.putImageData(U,0,0)}if(j4(f,r,o,s),l){const U=new(Npe())(o,a,c,u,r,s),D=f.getImageData(0,0,U.size,U.size);for(const ie of t)Xpe(U.draw(ie),D),f.putImageData(D,g[ie].x-a,g[ie].y+a)}else for(const U of t)f.fillText(U,g[U].x,g[U].y+.9*o);return{xOffset:v,yOffset:x,mapping:g,data:h,width:h.width,height:h.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const Jpe={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let ege=(()=>{class n extends Y0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[tS,nS]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:u}=this.props;const h="pixels"===o?i.metersPerPixel:1;u.length<4&&(u=[u[0],u[1],u[0],u[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:u,sizeScale:s*h,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Yg(t,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:new gh({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=Jpe,n})();const U4={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},z4={start:1,middle:0,end:-1},H4={top:1,center:0,bottom:-1},lR=[0,0,0,255],nge=["fontSize","buffer","sdf","radius","cutoff"],ige={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:lR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:O4},fontFamily:R4,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:lR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:lR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let rge=(()=>{class n extends Nz{initializeState(){this.state={styleVersion:0,fontAtlasManager:new Kpe}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(Sn(ot(ot({},U4),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return nge.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:u}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),u=s&&new Set,h=new Array(e);let f=n;if(a>1||l>0){f=new n.constructor(c);for(let g=0;gc[f]}else{const{iterable:c,objectInfo:u}=bx(t);o=[0],a=0;for(const h of c){u.index++;const f=Array.from(s(h,u)||"");l&&f.forEach(l.add,l),a+=f.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{size:[f,g]}=I4(h,l,o,a,r);return[(z4["function"==typeof c?c(t,i):c]-1)*f/2,(H4["function"==typeof u?u(t,i):u]-1)*g/2,f,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{x:f,y:g,rowWidth:m,size:[v,x]}=I4(h,l,o,a,r),U=z4["function"==typeof c?c(t,i):c],D=H4["function"==typeof u?u(t,i):u],ie=f.length,_e=new Array(2*ie);let Pe=0;for(let Ne=0;Net*e/255)}const uR={name:"lights",vs:G4,fs:G4,getUniforms:function $4(n=sge){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?cR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=cR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=cR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return $4({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},age={};const cge={name:"phong-lighting",dependencies:[uR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=age){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},dR=Math.PI/180,iS=new Float32Array(16),Y4=new Float32Array(12);function X4(n,e,t){const i=e[0]*dR,r=e[1]*dR,s=e[2]*dR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),f=t[0],g=t[1],m=t[2];n[0]=f*h*u,n[1]=f*l*u,n[2]=f*-a,n[3]=g*(-l*c+h*a*o),n[4]=g*(h*c+l*a*o),n[5]=g*u*o,n[6]=m*(l*o+h*a*c),n[7]=m*(-h*o+l*a*c),n[8]=m*u*c}function K4(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const Q4={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),f=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:h&&u&&f;const m=n.value;if(n.constant){let v;g?(iS.set(a),v=K4(iS)):(v=Y4,X4(v,r,s),v.set(o,9)),n.value=new Float32Array(v)}else{let v=e*n.size;const{iterable:x,objectInfo:U}=bx(i,e,t);for(const D of x){let ie;U.index++,g?(iS.set(c?a:a(D,U)),ie=K4(iS)):(ie=Y4,X4(ie,h?r:r(D,U),u?s:s(D,U)),ie.set(f?o:o(D,U),9)),m[v++]=ie[0],m[v++]=ie[1],m[v++]=ie[2],m[v++]=ie[3],m[v++]=ie[4],m[v++]=ie[5],m[v++]=ie[6],m[v++]=ie[7],m[v++]=ie[8],m[v++]=ie[9],m[v++]=ie[10],m[v++]=ie[11]}}}};function Z4(n,e){return e===Vi.CARTESIAN||e===Vi.METER_OFFSETS||e===Vi.DEFAULT&&!n.isGeospatial}function J4(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),Ri.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function hge(n,e){if(n.attributes)return J4(n.attributes,e),n instanceof gh?n:new gh(n);if(n.positions||n.POSITION)return J4(n,e),new gh({attributes:n});throw Error("Invalid mesh")}const fge={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let pge=(()=>{class n extends Y0{getShaders(){const t=!Ci(this.context.gl),i={};return mI(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[tS,cge,nS],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:Q4}),this.setState({emptyTexture:new ya(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||Z4(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Yg(this.context.gl,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:hge(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=fge,n})();const eH={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[uR]};class rm{constructor(e={}){const{id:t}=e;this.id=t||ma(this.constructor.name),this.display=!0,this.position=new Mo,this.rotation=new Mo,this.scale=new Mo(1,1,1),this.matrix=new qn,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return on(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return on(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return on(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){on(e),t=t||this.matrix;const i=new qn(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class tb extends rm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;mn.assert(t.every(i=>i instanceof rm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new qn}={}){const i=new qn(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof tb?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function tH(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=t[0],g=t[1],m=t[2],v=t[3],x=t[4],U=t[5],D=t[6],ie=t[7],_e=t[8];return n[0]=f*i+g*o+m*c,n[1]=f*r+g*a+m*u,n[2]=f*s+g*l+m*h,n[3]=v*i+x*o+U*c,n[4]=v*r+x*a+U*u,n[5]=v*s+x*l+U*h,n[6]=D*i+ie*o+_e*c,n[7]=D*r+ie*a+_e*u,n[8]=D*s+ie*l+_e*h,n}function nH(n,e,t){var i=t[0],r=t[1];return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=r*e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n}function iH(){var n=new ba(4);return ba!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function rH(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function hR(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function rS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],u=t[3];return n[0]=i*u+o*a+r*c-s*l,n[1]=r*u+o*l+s*a-i*c,n[2]=s*u+o*c+i*l-r*a,n[3]=o*u-i*a-r*l-s*c,n}function sH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a,n}function oH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a,n}function aH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a,n}function lH(n,e){var t=e[0],i=e[1],r=e[2];return n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r)),n}function nb(n,e,t,i){var f,g,m,v,x,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],u=t[2],h=t[3];return(g=r*l+s*c+o*u+a*h)<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>eu?(f=Math.acos(g),m=Math.sin(f),v=Math.sin((1-i)*f)/m,x=Math.sin(i*f)/m):(v=1-i,x=i),n[0]=v*r+x*l,n[1]=v*s+x*c,n[2]=v*o+x*u,n[3]=v*a+x*h,n}function cH(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;return n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a,n}function uH(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3],n}function fR(n,e){var i,t=e[0]+e[4]+e[8];if(t>0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}return n}var dH=function(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},pR=IU,gR=function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},hH=function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];return n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a),n},fH=function(n){return Math.hypot(n[0],n[1],n[2],n[3])},pH=function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r},mH=function(){var n=bj(),e=vj(1,0,0),t=vj(0,1,0);return function(i,r,s){var o=wj(r,s);return o<-.999999?(D0(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&D0(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),hR(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(D0(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();iH(),iH(),function(){var n=new ba(9);ba!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const Sge=[0,0,0,1];class mR extends mx{constructor(e=0,t=0,i=0,r=1){super(-0,-0,-0,-0),Array.isArray(e)&&1===arguments.length?this.copy(e):this.set(e,t,i,r)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,i,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=r,this.check()}fromMatrix3(e){return fR(this,e),this.check()}identity(){return rH(this),this.check()}fromAxisRotation(e,t){return hR(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=nr(e)}get y(){return this[1]}set y(e){this[1]=nr(e)}get z(){return this[2]}set z(e){this[2]=nr(e)}get w(){return this[3]}set w(e){this[3]=nr(e)}len(){return fH(this)}lengthSquared(){return pH(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return gR(this,e)}rotationTo(e,t){return mH(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return dH(this,this,e),this.check()}calculateW(){return lH(this,this),this.check()}conjugate(){return uH(this,this),this.check()}invert(){return cH(this,this),this.check()}lerp(e,t,i){return hH(this,e,t,i),this.check()}multiplyRight(e,t){return Zu(!t),rS(this,this,e),this.check()}multiplyLeft(e,t){return Zu(!t),rS(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return sH(this,this,e),this.check()}rotateY(e){return oH(this,this,e),this.check()}rotateZ(e){return aH(this,this,e),this.check()}scale(e){return pR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=Sge,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return nb(this,e,t,i),this.check()}transformVector4(e,t=e){return OU(t,e,this),_x(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const Cge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Tge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function _H(n){if(!n._animation){const e=Tge[n.componentType],t=Cge[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(f=>f>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:mn.warn(`Bad animation path ${s}`)()}on(r[s].length===i[c].length);const u=e[c],h=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;iu&&function(n,e,t,i,r){if("rotation"===e){_R.slerp({start:t,target:i,ratio:r});for(let s=0;s<_R.length;s++)n[e][s]=_R[s]}else for(let s=0;su&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:_H(e.accessors[a]),interpolation:l,output:_H(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new Pge({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class kge extends rm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Yg?(this.model=e,this._setModelNodeProps(t)):this.model=new Yg(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class Fge{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},mI(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new ya(this.gl,ot({id:e.name||e.id,parameters:ot(ot({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(mn.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function yH(n,e){return Ci(n)?`#version 300 es\n${e}`:e}const jge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Uge={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class zge{constructor(e,t={}){this.gl=e,this.options=Object.assign({},Uge,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new Nge(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new tb({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new tb({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new qn).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new tb({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){mn.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new Fge(n,e);mn.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(u=>u.buffer));const c=new kge(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[eH],defines:a.defines,parameters:a.parameters,vs:yH(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:yH(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),mn.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new lr(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new _a({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:jge[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function bH(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new sm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new sm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof sm){const o=e;t=o.fields,i=xH(xH(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new sm(s,i)}}function xH(n,e){return new Map([...n||new Map,...e||new Map])}let kr,SH,CH,TH,AH,MH,DH,IH;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(kr||(kr={}));class yR{static isNull(e){return e&&e.typeId===kr.Null}static isInt(e){return e&&e.typeId===kr.Int}static isFloat(e){return e&&e.typeId===kr.Float}static isBinary(e){return e&&e.typeId===kr.Binary}static isUtf8(e){return e&&e.typeId===kr.Utf8}static isBool(e){return e&&e.typeId===kr.Bool}static isDecimal(e){return e&&e.typeId===kr.Decimal}static isDate(e){return e&&e.typeId===kr.Date}static isTime(e){return e&&e.typeId===kr.Time}static isTimestamp(e){return e&&e.typeId===kr.Timestamp}static isInterval(e){return e&&e.typeId===kr.Interval}static isList(e){return e&&e.typeId===kr.List}static isStruct(e){return e&&e.typeId===kr.Struct}static isUnion(e){return e&&e.typeId===kr.Union}static isFixedSizeBinary(e){return e&&e.typeId===kr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===kr.FixedSizeList}static isMap(e){return e&&e.typeId===kr.Map}static isDictionary(e){return e&&e.typeId===kr.Dictionary}get typeId(){return kr.NONE}compareTo(e){return this===e}}Symbol,Symbol,SH=Symbol.toStringTag;class om extends yR{constructor(e,t){super(),Kn(this,"isSigned",void 0),Kn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return kr.Int}get[SH](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class Zge extends om{constructor(){super(!0,8)}}class Jge extends om{constructor(){super(!0,16)}}class eme extends om{constructor(){super(!0,32)}}class tme extends om{constructor(){super(!1,8)}}class nme extends om{constructor(){super(!1,16)}}class ime extends om{constructor(){super(!1,32)}}CH=Symbol.toStringTag;class OH extends yR{constructor(e){super(),Kn(this,"precision",void 0),this.precision=e}get typeId(){return kr.Float}get[CH](){return"Float"}toString(){return`Float${this.precision}`}}class rme extends OH{constructor(){super(32)}}class sme extends OH{constructor(){super(64)}}Symbol,Symbol,TH=Symbol.toStringTag,AH=Symbol.toStringTag,MH=Symbol.toStringTag,DH=Symbol.toStringTag,IH=Symbol.toStringTag;class ome extends yR{constructor(e,t){super(),Kn(this,"listSize",void 0),Kn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return kr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[IH](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class sS{constructor(e,t,i=!1,r=new Map){Kn(this,"name",void 0),Kn(this,"type",void 0),Kn(this,"nullable",void 0),Kn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new sS(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function RH(n,e,t){const i=t?PH(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new Zge;case Uint8Array:return new tme;case Int16Array:return new Jge;case Uint16Array:return new nme;case Int32Array:return new eme;case Uint32Array:return new ime;case Float32Array:return new rme;case Float64Array:return new sme;default:throw new Error("array type not supported")}}(e.value);return new sS(n,new ome(e.size,new sS("value",r)),!1,i)}function PH(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const NH={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},ume={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class hme{constructor(e){Kn(this,"draco",void 0),Kn(this,"decoder",void 0),Kn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const f=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(f)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?u:r,s=h>s?h:s,o=f>o?f:o}return[[e,t,i],[r,s,o]]}(l.attributes),u=function(n,e,t){const i=PH(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=RH(o,n[o],s[o]);r.push(l)}if(t){const o=RH("indices",t);r.push(o)}return new sm(r,i)}(l.attributes,a,l.indices);return Sn(ot({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:u})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var oS=et(9125);const ER={};function xR(n){return SR.apply(this,arguments)}function SR(){return(SR=li(function*(n,e=null,t={}){return e&&(n=_me(n,e,t)),ER[n]=ER[n]||yme(n),yield ER[n]})).apply(this,arguments)}function _me(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:_O?t.CDN?(nu(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):yO?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function yme(n){return CR.apply(this,arguments)}function CR(){return(CR=li(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():_O?yO?importScripts(n):bme(yield(yield fetch(n)).text(),n):oS.requireFromFile&&(yield oS.requireFromFile(n))})).apply(this,arguments)}function bme(n,e){if(!_O)return oS.requireFromString&&oS.requireFromString(n,e);if(yO)return eval.call(Iue,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const vme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",wme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",Eme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let ib;function Sme(n){return TR.apply(this,arguments)}function TR(){return(TR=li(function*(n){const e=n.modules||{};return ib=e.draco3d?ib||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):ib||Cme(n),yield ib})).apply(this,arguments)}function Cme(n){return MR.apply(this,arguments)}function MR(){return(MR=li(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield xR(vme,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield xR(wme,"draco",n),yield xR(Eme,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield Tme(e,t)})).apply(this,arguments)}function Tme(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(Sn(ot({},t),{onModuleLoaded:r=>i({draco:r})}))})}const IR=Sn(ot({},EH),{parse:function(n,e){return OR.apply(this,arguments)}});function OR(){return(OR=li(function*(n,e){const{draco:t}=yield Sme(e),i=new hme(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function sb(n,e){return Lf(n>=0),Lf(e>0),n+(e-1)&~(e-1)}function Dme(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+sb(i.byteLength,4)}const kH=["SCALAR","VEC2","VEC3","VEC4"],Ime=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],Ome=new Map(Ime),Rme={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Pme={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Nme={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function FH(n){return kH[n-1]||kH[0]}function LH(n){const e=Ome.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function BH(n,e){const t=Nme[n.componentType],i=Rme[n.type],s=n.count*i,o=n.count*i*Pme[n.componentType];return $a(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const kme={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class _h{constructor(e){Kn(this,"gltf",void 0),Kn(this,"sourceBuffers",void 0),Kn(this,"byteLength",void 0),this.gltf=e||{json:ot({},kme),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return $a(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=BH(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return $a(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return $a(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=eR(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;$a(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=sb(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:FH(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:LH(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=Dme(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Wme(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function qme(n){return NR.apply(this,arguments)}function NR(){return(NR=li(function*(n){const e=new _h(n),{json:t}=e;e.removeExtension(lS);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,lS)})).apply(this,arguments)}function Yme(n){const e=new _h(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,lS,{}),e.addExtension(lS))}function Xme(n){return kR.apply(this,arguments)}function kR(){return(kR=li(function*(n){const e=new _h(n),{json:t}=e,i=e.getExtension(am);i&&(e.json.lights=i.lights,e.removeExtension(am));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,am);s&&(r.light=s.light),e.removeObjectExtension(r,am)}})).apply(this,arguments)}function Kme(n){return FR.apply(this,arguments)}function FR(){return(FR=li(function*(n){const e=new _h(n),{json:t}=e;if(t.lights){const i=e.addExtension(am);$a(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,am,i);delete e.json.lights}})).apply(this,arguments)}function Qme(n){return LR.apply(this,arguments)}function LR(){return(LR=li(function*(n){const e=new _h(n),{json:t}=e,i=e.getExtension(cS);if(i){const r=Jme(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,cS);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=e_e(s.technique,e)),e.removeObjectExtension(s,cS)}e.removeExtension(cS)}})).apply(this,arguments)}function Zme(n,e){return BR.apply(this,arguments)}function BR(){return(BR=li(function*(n,e){})).apply(this,arguments)}function Jme(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function e_e(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const UH={KHR_draco_mesh_compression:yt,KHR_materials_unlit:ee,KHR_lights_punctual:Dt,KHR_techniques_webgl:dt};function t_e(n){return VR.apply(this,arguments)}function VR(){return(VR=li(function*(n,e={},t){for(const r in UH){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield UH[r].decode(n,e,t))}})).apply(this,arguments)}const zH={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},i_e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class r_e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new _h(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,VH);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(VH)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in zH)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in zH)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=i_e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function s_e(n,e={}){return(new r_e).normalize(n,e)}const o_e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},a_e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Ml={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},l_e={magFilter:Ml.TEXTURE_MAG_FILTER,minFilter:Ml.TEXTURE_MIN_FILTER,wrapS:Ml.TEXTURE_WRAP_S,wrapT:Ml.TEXTURE_WRAP_T},c_e={[Ml.TEXTURE_MAG_FILTER]:Ml.LINEAR,[Ml.TEXTURE_MIN_FILTER]:Ml.NEAREST_MIPMAP_LINEAR,[Ml.TEXTURE_WRAP_S]:Ml.REPEAT,[Ml.TEXTURE_WRAP_]:Ml.REPEAT};class h_e{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return $a(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=ot({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=ot({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=ot({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=ot({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=ot({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=ot({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=ot({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return a_e[n]}(e.componentType),e.components=function(n){return o_e[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=BH(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):c_e,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return l_e[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function f_e(n,e){return(new h_e).postProcess(n,e)}const HH=1735152710,lm=!0;function UR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),sb(i,4)}function zR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),sb(i,4)}function C_e(n,e){return HR.apply(this,arguments)}function HR(){return(HR=li(function*(n,e,t=0,i,r){var s,o,a,l;T_e(n,e,t,i),s_e(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield A_e(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const h=M_e(n,i,r);c.push(h)}const u=t_e(n,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?f_e(n,i):n})).apply(this,arguments)}function T_e(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=HH}=t,s=i.getUint32(e,!1);return s===r||s===HH}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?bH(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?bH(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,lm),a=r.getUint32(t+8,lm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){Lf(n.header.byteLength>20);const i=e.getUint32(t+0,lm),r=e.getUint32(t+4,lm);return t+=8,Lf(0===r),UR(n,e,t,i),(t+=i)+zR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return Lf(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,lm),s=e.getUint32(t+4,lm);switch(t+=8,s){case 1313821514:UR(n,e,t,r);break;case 5130562:zR(n,e,t,r);break;case 0:i.strict||UR(n,e,t,r);break;case 1:i.strict||zR(n,e,t,r)}t+=sb(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),$a("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else $a(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function A_e(n,e,t){return GR.apply(this,arguments)}function GR(){return(GR=li(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield R_e(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function R_e(n){return XR.apply(this,arguments)}function XR(){return(XR=li(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const GH=[255,255,255,255],k_e={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:GH},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[cm]};let F_e=(()=>{class n extends Y0{getShaders(){const t=[tS,nS];return"pbr"===this.props._lighting&&t.push(eH),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:GH,transition:!0},instanceModelMatrix:Q4})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof rm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new zge(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=ot({gltf:l},c),function(n){return YR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Ri.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof rm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&Ri.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):Ri.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof rm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:ot({isInstanced:!0,transpileToGLSL100:!Ci(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:u}=this.props,h=this.getNumInstances();this.state.scenegraph.traverse((f,{worldMatrix:g})=>{f.model.setInstanceCount(h),f.updateModuleSettings(t),f.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:Z4(s,u),sceneModelMatrix:g,u_Camera:f.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=k_e,n})();class L_e extends gh{constructor(e={}){const{id:t=ma("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,u=(e+1)*(t+1);if("number"==typeof i){const U=i;i=(D,ie,_e,Pe,Ne)=>U}const h=new Float32Array(3*u),f=new Float32Array(3*u),g=new Float32Array(2*u),v=new(u>65535?Uint32Array:Uint16Array)(e*t*6);for(let U=0;U<=e;U++)for(let D=0;D<=t;D++){const ie=D/t,_e=U/e,Pe=D+U*(t+1),Ne=2*Pe,Ve=3*Pe,bt=c*ie,xt=o*_e,At=Math.sin(bt),Bt=Math.cos(bt),Wt=Math.sin(xt),mt=Bt*Wt,jt=Math.cos(xt),ft=At*Wt,Yt=i(mt,jt,ft,ie,_e);h[Ve+0]=Yt*mt,h[Ve+1]=Yt*jt,h[Ve+2]=Yt*ft,f[Ve+0]=mt,f[Ve+1]=jt,f[Ve+2]=ft,g[Ne+0]=ie,g[Ne+1]=1-_e}const x=t+1;for(let U=0;Us?(gt=i,Wt=1,mt=t):mt=e+Bt/s*(t-e),(-2===Bt||Bt===s+2)&&(mt=0,Wt=0),gt-=i/2;for(let jt=0;jts?0:ft*v,Ve[xt+Pe[1]]=Bt<0?-1:Bt>s?1:x,Ve[xt+Pe[2]]=Bt<0||Bt>s?0:Yt*v,bt[At+0]=jt/r,bt[At+1]=Wt,At+=2,xt+=3}}for(let Bt=0;Bt0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new ce){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new ce){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new ce){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new ce){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new ce){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=K_e,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=Q_e;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(WH),WH.almostEquals(e,t)}clone(){return new ce(this.x,this.y,this.z)}}ce.ZERO=void 0,ce.UNIT_X=void 0,ce.UNIT_Y=void 0,ce.UNIT_Z=void 0,ce.ZERO=new ce(0,0,0),ce.UNIT_X=new ce(1,0,0),ce.UNIT_Y=new ce(0,1,0),ce.UNIT_Z=new ce(0,0,1);const K_e=new ce,Q_e=new ce,WH=new ce;class pr{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new ce,this.upperBound=new ce,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),r.set(c.x,u.y,u.z),s.set(u.x,c.y,u.z),o.set(c.x,u.y,c.z),a.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){const i=YH;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let f=0;8!==f;f++){const g=i[f];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=YH;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let f=0;8!==f;f++){const g=i[f];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,u=(this.upperBound.y-i.y)*s,h=(this.lowerBound.z-i.z)*o,f=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,u)),Math.min(h,f)),m=Math.min(Math.min(Math.max(a,l),Math.max(c,u)),Math.max(h,f));return!(m<0||g>m)}}const qH=new ce,YH=[new ce,new ce,new ce,new ce,new ce,new ce,new ce,new ce];class us{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new ce){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=J_e;e.tangents(i,eye),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Er(e.length(),2)*Er(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new us){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,u=e.w;return t.x=i*u+o*a+r*c-s*l,t.y=r*u+o*l+s*a-i*c,t.z=s*u+o*c+i*l-r*a,t.w=o*u-i*a-r*l-s*c,t}inverse(e=new us){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new us){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new ce){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,u=c*i+a*s-l*r,h=c*r+l*i-o*s,f=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=u*c+g*-o+h*-l-f*-a,t.y=h*c+g*-a+f*-o-u*-l,t.z=f*c+g*-l+u*-a-h*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const u=o*a+l*c;if(u>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),u<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const h=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*u),s=Math.atan2(2*o*c-2*a*l,1-2*h-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"YXZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"ZXY"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"ZYX"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"YZX"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a-l*c*u):"XZY"===r&&(this.x=l*o*a-s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a+l*c*u),this}clone(){return new us(this.x,this.y,this.z,this.w)}slerp(e,t,i=new us){const r=this.x,s=this.y,o=this.z,a=this.w;let f,g,m,v,x,l=e.x,c=e.y,u=e.z,h=e.w;return g=r*l+s*c+o*u+a*h,g<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>1e-6?(f=Math.acos(g),m=Math.sin(f),v=Math.sin((1-t)*f)/m,x=Math.sin(t*f)/m):(v=1-t,x=t),i.x=v*r+x*l,i.y=v*s+x*c,i.z=v*o+x*u,i.w=v*a+x*h,i}integrate(e,t,i,r=new us){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,u=this.z,h=this.w,f=.5*t;return r.x+=f*(s*h+o*u-a*c),r.y+=f*(o*h+a*l-s*u),r.z+=f*(a*h+s*c-o*l),r.w+=f*(-s*l-o*c-a*u),r}}const J_e=new ce,eye=new ce,tye={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let _n=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=tye,n})();class $i{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new ce,this.quaternion=new us,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return $i.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return $i.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new ce){return i.vsub(e,r),t.conjugate(KH),KH.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new ce){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new ce){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new ce){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const KH=new us;class jf extends _n{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:_n.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new ce;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let u=!1;for(let h=0;h!==i.length;h++)if(i[h].almostEquals(r)||i[h].almostEquals(r)){u=!0;break}u||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ef&&(f=v,h=m)}const g=[];for(let m=0;m=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new ce,u=new ce,h=new ce,f=new ce,g=new ce,m=new ce;let v=Number.MAX_VALUE;const x=this;if(x.uniqueAxes)for(let U=0;U!==x.uniqueAxes.length;U++){i.vmult(x.uniqueAxes[U],c);const D=x.testSepAxis(c,e,t,i,r,s);if(!1===D)return!1;D0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){jf.project(this,e,i,r,KR),jf.project(t,e,s,o,QR);const l=KR[0],c=KR[1],u=QR[0],h=QR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?yn.STATIC:yn.DYNAMIC,typeof e.type==typeof yn.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=yn.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new ce,this.quaternion=new us,this.initQuaternion=new us,this.previousQuaternion=new us,this.interpolatedQuaternion=new us,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new ce,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new ce,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new ce,this.invInertia=new ce,this.invInertiaWorld=new lu,this.invMassSolve=0,this.invInertiaSolve=new ce,this.invInertiaWorldSolve=new lu,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new ce(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new ce(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new pr,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new ce,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=yn.AWAKE,this.wakeUpAfterNarrowphase=!1,e===yn.SLEEPING&&this.dispatchEvent(yn.wakeupEvent)}sleep(){this.sleepState=yn.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Er(this.sleepSpeedLimit,2);t===yn.AWAKE&&ir?this.wakeUp():t===yn.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(yn.sleepEvent))}}updateSolveMassProperties(){this.sleepState===yn.SLEEPING||this.type===yn.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new ce){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new ce){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new ce,s=new us;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=rye,o=sye,a=this.quaternion,l=this.aabb,c=oye;for(let u=0;u!==r;u++){const h=e[u];a.vmult(t[u],s),s.vadd(this.position,s),a.mult(i[u],o),h.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===u?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=aye,r=lye;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new ce){if(this.type!==yn.DYNAMIC)return;this.sleepState===yn.SLEEPING&&this.wakeUp();const i=cye;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new ce){if(this.type!==yn.DYNAMIC)return;const i=uye,r=dye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===yn.DYNAMIC&&(this.sleepState===yn.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new ce){if(this.type!==yn.DYNAMIC)return;this.sleepState===yn.SLEEPING&&this.wakeUp();const i=t,r=hye;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=fye;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new ce){if(this.type!==yn.DYNAMIC)return;const i=pye,r=gye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=mye;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),dS.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new ce;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==yn.DYNAMIC&&this.type!==yn.KINEMATIC||this.sleepState===yn.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,h=this.invInertiaWorld,f=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*f.x,r.y+=a.y*g*f.y,r.z+=a.z*g*f.z;const m=h.elements,v=this.angularFactor,x=l.x*v.x,U=l.y*v.y,D=l.z*v.z;s.x+=e*(m[0]*x+m[1]*U+m[2]*D),s.y+=e*(m[3]*x+m[4]*U+m[5]*D),s.z+=e*(m[6]*x+m[7]*U+m[8]*D),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}yn.idCounter=0,yn.COLLIDE_EVENT_NAME="collide",yn.DYNAMIC=1,yn.STATIC=2,yn.KINEMATIC=4,yn.AWAKE=0,yn.SLEEPY=1,yn.SLEEPING=2,yn.wakeupEvent={type:"wakeup"},yn.sleepyEvent={type:"sleepy"},yn.sleepEvent={type:"sleep"};const rye=new ce,sye=new us,oye=new pr,aye=new lu,lye=new lu,cye=new ce,uye=new ce,dye=new ce,hye=new ce,fye=new ce,pye=new ce,gye=new ce,mye=new ce;new ce,new ce;class hS{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new ce,this.rayToWorld=new ce,this.hitNormalWorld=new ce,this.hitPointWorld=new ce,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let QH,ZH,JH,e8,t8,n8,i8;QH=_n.types.SPHERE,ZH=_n.types.PLANE,JH=_n.types.BOX,e8=_n.types.CYLINDER,t8=_n.types.CONVEXPOLYHEDRON,n8=_n.types.HEIGHTFIELD,i8=_n.types.TRIMESH;class ys{get[QH](){return this._intersectSphere}get[ZH](){return this._intersectPlane}get[JH](){return this._intersectBox}get[e8](){return this._intersectConvex}get[t8](){return this._intersectConvex}get[n8](){return this._intersectHeightfield}get[i8](){return this._intersectTrimesh}constructor(e=new ce,t=new ce){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new ce,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=ys.ANY,this.result=new hS,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||ys.ANY,this.result=t.result||new hS,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(r8),tP.length=0,e.broadphase.aabbQuery(e,r8,tP),this.intersectBodies(tP),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=xye,s=Sye;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new ce(0,0,1);t.vmult(c,c);const u=new ce;o.vsub(i,u);const h=u.dot(c);if(a.vsub(i,u),h*u.dot(c)>0||o.distanceTo(a)=0&&v<=1&&(o.lerp(a,v,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1)),this.result.shouldStop)return;x>=0&&x<=1&&(o.lerp(a,x,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Dye,l=o8,c=o&&o.faceList||null,u=e.faces,h=e.vertices,f=e.faceNormals,g=this.direction,m=this.from,x=m.distanceTo(this.to),U=c?c.length:u.length,D=this.result;for(let ie=0;!D.shouldStop&&iex||this.reportIntersection(a,va,s,r,_e)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=Iye,l=Fye,c=Lye,u=o8,h=Oye,f=Rye,g=Pye,m=kye,v=Nye,x=e.indices,U=this.from,D=this.to,ie=this.direction;c.position.copy(i),c.quaternion.copy(t),$i.vectorToLocalFrame(i,t,ie,h),$i.pointToLocalFrame(i,t,U,f),$i.pointToLocalFrame(i,t,D,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,f.x*=e.scale.x,f.y*=e.scale.y,f.z*=e.scale.z,g.vsub(f,h),h.normalize();const _e=f.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let Pe=0,Ne=l.length;!this.result.shouldStop&&Pe!==Ne;Pe++){const Ve=l[Pe];e.getNormal(Ve,a),e.getVertex(x[3*Ve],_c),_c.vsub(f,u);const bt=h.dot(a),xt=a.dot(u)/bt;if(xt<0)continue;h.scale(xt,va),va.vadd(f,va),e.getVertex(x[3*Ve+1],uu),e.getVertex(x[3*Ve+2],du);const At=va.distanceSquared(f);!ys.pointInTriangle(va,uu,_c,du)&&!ys.pointInTriangle(va,_c,uu,du)||At>_e||($i.vectorToWorldFrame(t,a,v),$i.pointToWorldFrame(i,t,va,m),this.reportIntersection(v,m,s,r,Ve))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case ys.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case ys.CLOSEST:(l=0&&(h=s*c-o*a)>=0&&u+hDate.now()-n}var $f=et(4517);class Fr extends oe{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new $;return this._value}next(e){super.next(this._value=e)}}function fm(n,e,t){e||(e=new qn(qn.IDENTITY));const i=new qn(qn.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new qn(qn.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new qn(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===fm(s,r,t))return!1;return!0}function Q8(){Mz([EH,cm])}function Z8(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||fm(s,new qn(qn.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function sP(n,e){return Bi(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield Hx(i,cm,{DracoLoader:IR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),Z8(n.scenegraphNode,r)})}function Bve(n,e){return Bi(this,void 0,void 0,function*(){return Z8(n,yield e)})}function oP(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new L_e;break;case"cone":i=new U_e;break;case"cylinder":i=new z_e;break;case"cube":default:i=new Y_e}return new pge(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:Vi.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function J8(n,e,t){if(e&&0!==e.length)return new rge(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new qn(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let jve=(()=>{class n extends Nz{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),Q8()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=sP({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const u of c)a.push(new F_e({id:"models-"+u["@id"],opacity:u.zoomBasedOpacity?r.zoomOpacity:void 0!==u.opacity?u.opacity:1,pickable:!u.unpickable,coordinateSystem:Vi.CARTESIAN,data:[u],scenegraph:u.scenegraphNode?Bve(u.scenegraphNode,o[u.scenegraph]):u.scenegraph,_lighting:u._lighting,getTransformMatrix:u.transformMatrix,getColor:null!==(i=u.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!u.zoomBasedOpacity&&(void 0===u.opacity||1===u.opacity)}}));else"text"===l?(a.push(J8("text",c.filter(u=>u.unpickable),{pickable:!1})),a.push(J8("textPickable",c.filter(u=>!u.unpickable),{pickable:!0}))):"wireframe"===l?a.push(oP(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(oP(l,c.filter(u=>u.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(oP(`${l}Pickable`,c.filter(u=>!u.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){Bi(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new qn(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new pr({lowerBound:new ce(...l.map((u,h)=>Math.min(u,c[h]))),upperBound:new ce(...c.map((u,h)=>Math.max(u,l[h])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield q0(o.scenegraph,cm,{DracoLoader:IR,decompress:!0,postProcess:!0});for(const l of a.scenes)fm(l,new qn(o.transformMatrix),(c,u)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const h of c.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const f=u.transformAsPoint(h.attributes.POSITION.min,[]),g=u.transformAsPoint(h.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new pr({lowerBound:new ce(...f.map((m,v)=>Math.min(m,g[v]))),upperBound:new ce(...g.map((m,v)=>Math.max(m,f[v])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function e5(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),e5(t,e);return e}let zve=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new jve({}),this.nodeClickSubject=new oe,this.nodeHoverStartSubject=new oe,this.nodeHoverStopSubject=new oe,this.sceneRotationSubject=new Fr([0,0]),this.nodeDragStartSubject=new oe,this.nodeDragSubject=new oe,this.nodeDragEndSubject=new oe,this.nodeClick$=this.nodeClickSubject.pipe(ws()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(ws()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(ws()),this.sceneRotation$=this.sceneRotationSubject.pipe(ws()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(ws()),this.nodeDrag$=this.nodeDragSubject.pipe(ws()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(ws());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new jde({flipY:!1,near:-1e3}):new Hde({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var u;return null!==(u=this.cursor)&&void 0!==u?u:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new $O({ambientLight:new Vz({color:[255,255,255],intensity:10})})]),this.deck=new eS(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return Bi(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new qn([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t,i){return Bi(this,void 0,void 0,function*(){Q8();const r=yield sP({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"},undefined),s={},o=[];for(const a of r.scenes)fm(a,e=new qn(e||qn.IDENTITY),(l,c)=>{const u={"@id":l.name||l.id,"@type":"ProcessedNode",transformMatrix:new qn(c),geometry:"wireframe",node:l};if(o.push({"@id":`GLTF:${u["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:u["@id"],transformMatrix:new qn(e||qn.IDENTITY),tooltip:l.name||l.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:l}),l.mesh&&l.mesh.primitives&&l.mesh.primitives.length>0)for(const h of l.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const f=c.transformAsPoint(h.attributes.POSITION.min,[]),g=c.transformAsPoint(h.attributes.POSITION.max,[]);u.bbox=new pr({lowerBound:new ce(...f.map((m,v)=>Math.min(m,g[v]))),upperBound:new ce(...g.map((m,v)=>Math.max(m,f[v])))})}return s[u["@id"]]=u,!0});for(const a of Object.values(s).filter(l=>!l.bbox)){for(const l of e5(a.node).map(c=>s[c]).filter(c=>c.bbox))a.bbox?a.bbox.extend(l.bbox):a.bbox=l.bbox.clone();a.bbox||delete s[a["@id"]]}for(const a of Object.values(s)){const l=a.bbox.lowerBound,h=(a.size=a.bbox.upperBound.clone().vsub(l)).clone().vmul(new ce(.5,.5,.5)),f=a.center=l.clone().vadd(h);a.transformMatrix=new qn(qn.IDENTITY).translate(f.toArray()).scale(h.toArray())}for(const a of o)s[a["@id"]]=a;return s})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new qn(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return Ei([$f.ZP],n.prototype,"_onHover",null),Ei([$f.ZP],n.prototype,"_onClick",null),Ei([$f.ZP],n.prototype,"_onViewStateChange",null),Ei([$f.ZP],n.prototype,"_onDragStart",null),Ei([$f.ZP],n.prototype,"_onDrag",null),Ei([$f.ZP],n.prototype,"_onDragEnd",null),n})();class t5 extends y{notifyNext(e,t,i,r,s){this.destination.next(t)}notifyError(e,t){this.destination.error(e)}notifyComplete(e){this.destination.complete()}}class Hve extends y{constructor(e,t,i){super(),this.parent=e,this.outerValue=t,this.outerIndex=i,this.index=0}_next(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)}_error(e){this.parent.notifyError(e,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function n5(n,e,t,i,r=new Hve(n,t,i)){if(!r.closed)return e instanceof O?e.subscribe(r):Me(e)(r)}const i5={};function yc(...n){let e,t;return Te(n[n.length-1])&&(t=n.pop()),"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&k(n[0])&&(n=n[0]),In(n,t).lift(new r5(e))}class r5{constructor(e){this.resultSelector=e}call(e,t){return t.subscribe(new Gve(e,this.resultSelector))}}class Gve extends t5{constructor(e,t){super(e),this.resultSelector=t,this.active=0,this.values=[],this.observables=[]}_next(e){this.values.push(i5),this.observables.push(e)}_complete(){const e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(let i=0;i(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let aP=(()=>{class n{constructor(){this.bootstrap$=new Df(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const lP=new Ht("INITIAL_STATE_TOKEN");let Kve=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const s5=new Ht("Internals.StateContextFactory"),o5=new Ht("Internals.StateFactory");function fb(...n){if(1===n.length){const e=n[0];if(k(e))return ES(e,null);if(Q(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return ES(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return ES(n=1===n.length&&k(n[0])?n[0]:n,null).pipe(me(t=>e(...t)))}return ES(n,null)}function ES(n,e){return new O(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=u},error:u=>t.error(u),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((u,h,f)=>(u[h]=r[f],u),{}):r),t.complete())}}))}})}function Ki(n,e){return function(i){return i.lift(new Qve(n,e))}}class Qve{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new Zve(e,this.predicate,this.thisArg))}}class Zve extends y{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}function Wa(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(u){let h;s++,!r||a?(a=!1,r=new Df(n,e,i),h=r.subscribe(this),o=u.subscribe({next(f){r.next(f)},error(f){a=!0,r.error(f)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):h=r.subscribe(this),this.add(()=>{s--,h.unsubscribe(),h=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}const a5=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function qr(n){return e=>0===n?b0():e.lift(new ewe(n))}class ewe{constructor(e){if(this.total=e,this.total<0)throw new a5}call(e,t){return t.subscribe(new twe(e,this.total))}}class twe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function l5(n,e){return e?t=>t.pipe(l5((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new nwe(n))}class nwe{constructor(e){this.project=e}call(e,t){return t.subscribe(new iwe(e,this.project))}}class iwe extends we{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new _t(this),i=this.destination;i.add(t);const r=N(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function xS(n=null){return e=>e.lift(new rwe(n))}class rwe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new swe(e,this.defaultValue))}}class swe extends y{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function bc(n){return function(t){const i=new owe(n),r=t.lift(i);return i.caught=r}}class owe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new awe(e,this.selector,this.caught))}}class awe extends we{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new _t(this);this.add(i);const r=N(t,i);r!==i&&this.add(r)}}}function gr(n){return e=>e.lift(new lwe(n))}class lwe{constructor(e){this.notifier=e}call(e,t){const i=new cwe(e),r=N(this.notifier,new _t(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class cwe extends we{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function bh(){}function cr(n,e,t){return function(r){return r.lift(new uwe(n,e,t))}}class uwe{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new dwe(e,this.nextOrObserver,this.error,this.complete))}}class dwe extends y{constructor(e,t,i,r){super(e),this._tapNext=bh,this._tapError=bh,this._tapComplete=bh,this._tapError=i||bh,this._tapComplete=r||bh,Y(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||bh,this._tapError=t.error||bh,this._tapComplete=t.complete||bh)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function ld(n,e){return t=>t.lift(new hwe(n,e))}class hwe{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new fwe(e,this.compare,this.keySelector))}}class fwe extends y{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}const qa={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let c5=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(n){return"server"===n}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return pn.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return pn.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof pn||console.warn(qa.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(Ie(pn),Ie(Xc))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const u5=new Ht("ROOT_STATE_TOKEN"),d5=new Ht("FEATURE_STATE_TOKEN"),h5=new Ht("NGXS_PLUGINS"),f5=new Ht("NG_TEST_MODE"),p5=new Ht("NG_DEV_MODE"),cd="NGXS_META",g5="NGXS_OPTIONS_META",cP="NGXS_SELECTOR_META";let Wf=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=c5}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class pwe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const m5=new Ht("NGXS_EXECUTION_STRATEGY");function qf(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const _5=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},SS=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),uP=n=>n&&"object"==typeof n&&!Array.isArray(n),dP=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(uP(n)&&uP(t))for(const i in t)uP(t[i])?(n[i]||Object.assign(n,{[i]:{}}),dP(n[i],t[i])):Object.assign(n,{[i]:t[i]});return dP(n,...e)};function hP(n){if(!n.hasOwnProperty(cd)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,cd,{value:e})}return pb(n)}function pb(n){return n[cd]}function pP(n){return n[cP]}function y5(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[qf(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Ki(t=>{const i=qf(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function Cwe(){return me(n=>n.action)}function CS(n){return e=>new O(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let TS=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(m5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Mwe extends oe{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let AS=(()=>{class n extends Mwe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Dwe=(()=>{class n extends O{constructor(t,i){super(r=>{const s=t.pipe(CS(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(Ie(AS),Ie(TS))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const v5=n=>(...e)=>n.shift()(...e,(...i)=>v5(n)(...i));let MS=(()=>{class n extends Fr{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gP=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12),Ie(h5,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),mP=(()=>{class n extends oe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),w5=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(la),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(CS(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?sn(this._stateStream.getValue()):fb(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!qf(t))return Fg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return v5([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe(Wa())}getActionResultStream(t){return this._actionResults.pipe(Ki(i=>i.action===t&&"DISPATCHED"!==i.status),qr(1),Wa())}createDispatchObservable(t){return t.pipe(l5(i=>{switch(i.status){case"SUCCESSFUL":return sn(this._stateStream.getValue());case"ERRORED":return Fg(i.error);default:return Qc}})).pipe(Wa())}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(AS),Ie(mP),Ie(gP),Ie(MS),Ie(TS))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const E5=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&E5(n[i])}),n};let x5=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(Ie(p5),Ie(f5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),S5=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(qa.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(qa.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(Ie(x5),Ie(Wf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=E5(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(Ie(MS),Ie(w5),Ie(Wf),Ie(S5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),DS=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return SS(l,t.path)}function s(l,c){const u=_5(l,t.path,c),h=t.instance;if(h.ngxsOnChanges){const f=b5(t,{currentAppState:l,newAppState:u});h.ngxsOnChanges(f)}return i.setState(u),u}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(qa.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(qa.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(gm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class IS{static stateNameErrorMessage(e){return qa.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(qa.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(qa.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=pb(e);if(!t)throw new Error(qa.STATE_DECORATOR());return t}}IS.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let mm=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=wS(()=>{const c=this;function u(f){const g=c.statePaths[f];return g?y5(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(f){let g=u(f);return g||((...m)=>(g||(g=u(f)),g?g(...m):void 0))},getSelectorOptions:f=>Object.assign({},c._config.selectorOptions,f||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(IS.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[cd].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[cd];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[cd].name]=t,e),{})}(i),l=[];for(const c of s){const u=a[c],h=o[c],f=u[cd];this.addRuntimeInfoToMeta(f,h);const g={name:c,path:h,isInitialised:!1,actions:f.actions,instance:this._injector.get(u),defaults:n.cloneDefaults(f.defaults)};this.hasBeenMountedAndBootstrapped(c,h)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>_5(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Ki(t=>"DISPATCHED"===t.status),V(({action:t})=>this.invokeActions(this._actions,t).pipe(me(()=>({action:t,status:"SUCCESSFUL"})),xS({action:t,status:"CANCELED"}),bc(i=>sn({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=qf(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let u=o.instance[l.fn](c,i);u instanceof Promise&&(u=je(u)),u instanceof O?(u=u.pipe(xS({})),l.options.cancelUncompleted&&(u=u.pipe(gr(t.pipe(Ewe(i)))))):u=sn({}).pipe(Wa()),s.push(u)}catch(u){s.push(Fg(u))}}}return s.length||s.push(sn({})),fb(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=IS.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==SS(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(Wf),Ie(n,12),Ie(AS),Ie(mP),Ie(DS),Ie(lP,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),_P=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Ki(()=>!!i),cr(()=>this.invokeInit(i.states)),V(()=>this.bootstrapper.appBootstrapped$),Ki(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=b5(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(gm),Ie(DS),Ie(aP))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const OS_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function Owe(n,e,t){const i=t&&t.containerClass,s=wS(function(...c){const u=e.apply(i,c);return u instanceof Function?wS.apply(null,[u]):u});Object.setPrototypeOf(s,e);const o=function(n,e){const t=function(n){return n.hasOwnProperty(cP)||Object.defineProperty(n,cP,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),pP(n)}(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},OS_getOptions(n.containerClass)||{},OS_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:u}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&pb(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>T5(a)(n))}}(l,o,n);return function(f){const g=c.map(m=>m(f));try{return s(...g)}catch(m){if(m instanceof TypeError&&u.suppressErrors)return;throw m}}},s}function T5(n){const e=pP(n)||pb(n);return e&&e.makeRootSelector||(()=>n)}let hu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(me(i),bc(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?sn(void 0):Fg(r)}),ld(),CS(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(qr(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(CS(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return T5(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(MS),Ie(gm),Ie(Wf),Ie(TS),Ie(mm),Ie(lP,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gb=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu),Ie(Wf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class Fwe{static get type(){return"@@INIT"}}class Lwe{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const RS=new Df(1);let Vwe=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&fa();RS.next(t)}catch(n){RS.next(!1)}finally{RS.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new Fwe,l)}}return n.\u0275fac=function(t){return new(t||n)(Ie(mm),Ie(gm),Ie(hu),Ie(gb),Ie(u5,8),Ie(_P))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})(),jwe=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new Lwe(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu),Ie(gm),Ie(mm),Ie(d5,8),Ie(_P))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();class Yo{static forRoot(e=[],t={}){return{ngModule:Vwe,providers:[mm,DS,Dwe,AS,aP,S5,x5,_P,w5,mP,gm,TS,hu,MS,gb,gP,...e,...Yo.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:jwe,providers:[mm,gP,...e,{provide:d5,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:f5,useValue:Xve},{provide:p5,useValue:fa},{provide:m5,useClass:t.executionStrategy||c5},{provide:u5,useValue:e},{provide:Yo.ROOT_OPTIONS,useValue:t},{provide:Wf,useFactory:Yo.ngxsConfigFactory,deps:[Yo.ROOT_OPTIONS]},{provide:IE,useFactory:Yo.appBootstrapListenerFactory,multi:!0,deps:[aP]},{provide:lP,useFactory:Yo.getInitialState},{provide:s5,useExisting:DS},{provide:o5,useExisting:mm}]}static ngxsConfigFactory(e){return dP(new Wf,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return Kve.pop()}}function yP(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(qa.ACTION_DECORATOR());const s=hP(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function A5(n){return i=>{!function(n){RS.subscribe(e=>{e&&(n.\u0275prov||console.warn(qa.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=hP(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[g5]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,u="string"==typeof c?c:c&&c.getName()||null;IS.checkCorrectStateName(u),s.hasOwnProperty(cd)&&(r.actions=Object.assign({},r.actions,(s[cd]||{}).actions)),r.children=a,r.defaults=l,r.name=u})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[g5]=a}}function PS(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?y5(t.length?[e,...t]:e.split("."),gb.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!gb.store)throw new Error(qa.SELECT_FACTORY_NOT_CONNECTED());return gb.store.select(n)}(o))}}})}}function _m(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(qa.SELECTOR_DECORATOR());const s=i.value,o=Owe(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}Yo.\u0275fac=function(e){return new(e||Yo)},Yo.\u0275mod=tn({type:Yo}),Yo.\u0275inj=St({}),Yo.ROOT_OPTIONS=new Ht("ROOT_OPTIONS");const Xo=new Ht("NgValueAccessor");function Dl(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}const qS=new cc(sx);class YEe{constructor(e,t){this.dueTime=e,this.scheduler=t}call(e,t){return t.subscribe(new XEe(e,this.dueTime,this.scheduler))}}class XEe extends y{constructor(e,t,i){super(e),this.dueTime=t,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(KEe,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:e}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}}clearDebounce(){const e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)}}function KEe(n){n.debouncedNext()}class QEe{constructor(e){this.total=e}call(e,t){return t.subscribe(new ZEe(e,this.total))}}class ZEe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function bi(n){return null!=n&&"false"!=`${n}`}function Ya(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}function YS(n){return Array.isArray(n)?n:[n]}function bs(n){return null==n?"":"string"==typeof n?n:`${n}px`}function dd(n){return n instanceof gn?n.nativeElement:n}let zP;try{zP="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){zP=!1}let Cb,Xf,HP,Qi=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Af(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!zP)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(Ie(Xc))},n.\u0275prov=We({factory:function(){return new n(Ie(Xc))},token:n,providedIn:"root"}),n})(),Sb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();function vm(n){return function(){if(null==Cb&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Cb=!0}))}finally{Cb=Cb||!1}return Cb}()?n:!!n.capture}function F6(){if(null==Xf){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Xf=!1,Xf;if("scrollBehavior"in document.documentElement.style)Xf=!0;else{const n=Element.prototype.scrollTo;Xf=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return Xf}function KS(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Kf(n){return n.composedPath?n.composedPath()[0]:n.target}let GP=(()=>{class n{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),L6=(()=>{class n{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,i)=>this._cleanupObserver(i))}observe(t){const i=dd(t);return new O(r=>{const o=this._observeElement(i).subscribe(r);return()=>{o.unsubscribe(),this._unobserveElement(i)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const i=new oe,r=this._mutationObserverFactory.create(s=>i.next(s));r&&r.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:r,stream:i,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:i,stream:r}=this._observedElements.get(t);i&&i.disconnect(),r.complete(),this._observedElements.delete(t)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(GP))},n.\u0275prov=We({factory:function(){return new n(Ie(GP))},token:n,providedIn:"root"}),n})(),$P=(()=>{class n{constructor(t,i,r){this._contentObserver=t,this._elementRef=i,this._ngZone=r,this.event=new ln,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=bi(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=Ya(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(function(n,e=qS){return t=>t.lift(new YEe(n,e))}(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(Ce(L6),Ce(gn),Ce(pn))},n.\u0275dir=Nt({type:n,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),n})(),QS=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[GP]}),n})(),$6=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===q6(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=q6(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||W6(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Qi))},n.\u0275prov=We({factory:function(){return new n(Ie(Qi))},token:n,providedIn:"root"}),n})();function W6(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function q6(n){if(!W6(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class yxe{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}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))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(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}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const 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._ngZone.isStable?e():this._ngZone.onStable.pipe(qr(1)).subscribe(e)}}let Y6=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new yxe(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(Ie($6),Ie(pn),Ie(fn))},n.\u0275prov=We({factory:function(){return new n(Ie($6),Ie(pn),Ie(fn))},token:n,providedIn:"root"}),n})();function X6(n){return 0===n.offsetX&&0===n.offsetY}function K6(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const Q6=new Ht("cdk-input-modality-detector-options"),xxe={ignoreKeys:[18,17,224,91,16]},wm=vm({passive:!0,capture:!0});let J6=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new Fr(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Kf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(X6(o)?"keyboard":"mouse"),this._mostRecentTarget=Kf(o))},this._onTouchstart=o=>{K6(o)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Kf(o))},this._options=Object.assign(Object.assign({},xxe),s),this.modalityDetected=this._modality.pipe(function(n){return e=>e.lift(new QEe(n))}(1)),this.modalityChanged=this.modalityDetected.pipe(ld()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,wm),r.addEventListener("mousedown",this._onMousedown,wm),r.addEventListener("touchstart",this._onTouchstart,wm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,wm),document.removeEventListener("mousedown",this._onMousedown,wm),document.removeEventListener("touchstart",this._onTouchstart,wm))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Qi),Ie(pn),Ie(fn),Ie(Q6,8))},n.\u0275prov=We({factory:function(){return new n(Ie(Qi),Ie(pn),Ie(fn),Ie(Q6,8))},token:n,providedIn:"root"}),n})();const nG=new Ht("cdk-focus-monitor-default-options"),eC=vm({passive:!0,capture:!0});let vc=(()=>{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,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=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new oe,this._rootNodeFocusAndBlurListener=a=>{const l=Kf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let u=l;u;u=u.parentElement)c.call(this,a,u)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=dd(t);if(!this._platform.isBrowser||1!==r.nodeType)return sn(null);const s=function(n){if(function(){if(null==HP){const n="undefined"!=typeof document?document.head:null;HP=!(!n||!n.createShadowRoot&&!n.attachShadow)}return HP}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new oe,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=dd(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=dd(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Kf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,eC),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,eC)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(gr(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,eC),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,eC),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(Ie(pn),Ie(Qi),Ie(J6),Ie(fn,8),Ie(nG,8))},n.\u0275prov=We({factory:function(){return new n(Ie(pn),Ie(Qi),Ie(J6),Ie(fn,8),Ie(nG,8))},token:n,providedIn:"root"}),n})();const iG="cdk-high-contrast-black-on-white",rG="cdk-high-contrast-white-on-black",qP="cdk-high-contrast-active";let sG=(()=>{class n{constructor(t,i){this._platform=t,this._document=i}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const i=this._document.defaultView||window,r=i&&i.getComputedStyle?i.getComputedStyle(t):null,s=(r&&r.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),s){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(qP),t.remove(iG),t.remove(rG),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?(t.add(qP),t.add(iG)):2===i&&(t.add(qP),t.add(rG))}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Qi),Ie(fn))},n.\u0275prov=We({factory:function(){return new n(Ie(Qi),Ie(fn))},token:n,providedIn:"root"}),n})();const oG=new Ht("cdk-dir-doc",{providedIn:"root",factory:function(){return Bc(fn)}});let Il=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new ln,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(Ie(oG,8))},n.\u0275prov=We({factory:function(){return new n(Ie(oG,8))},token:n,providedIn:"root"}),n})(),Ab=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const aG=new Hu("12.2.5");function tC(...n){return kt(1)(sn(...n))}function Oo(...n){const e=n[n.length-1];return Te(e)?(n.pop(),t=>tC(n,t,e)):t=>tC(n,t)}function Em(n,e){return{type:7,name:n,definitions:e,options:{}}}function fd(n,e=null){return{type:4,styles:e,timings:n}}function ds(n){return{type:6,styles:n,offset:null}}function wc(n,e,t){return{type:0,name:n,styles:e,options:t}}function pd(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function uG(n){Promise.resolve(null).then(n)}class xm{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],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._onStartFns.push(e)}onDone(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(){uG(()=>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}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function hG(){return"undefined"!=typeof window&&void 0!==window.document}function XP(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}let JP=(n,e)=>!1,eN=(n,e)=>!1,gG=(n,e,t)=>[];const mG=XP();(mG||"undefined"!=typeof Element)&&(JP=hG()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),eN=(()=>{if(mG||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):eN}})(),gG=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{class n{validateStyleProperty(t){return tN(t)}matchesElement(t,i){return nN(t,i)}containsElement(t,i){return iN(t,i)}query(t,i,r){return rN(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new xm(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class nC{}nC.NOOP=new bG;function xG(n,e,t){return t?e+":"+t+";":""}function SG(n){let e="";for(let t=0;t{const r=cN(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),XP()&&SG(n))}function Jf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=cN(t);n.style[i]=""}),XP()&&SG(n))}const Lxe=/-+([a-z0-9])/g;function cN(n){return n.replace(Lxe,(...e)=>e[1].toUpperCase())}function Bxe(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Tm{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=Tm.initialStylesByElement.get(e);r||Tm.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&pu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(pu(this._element,this._initialStyles),this._endStyles&&(pu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Tm.initialStylesByElement.delete(this._element),this._startStyles&&(Jf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Jf(this._element,this._endStyles),this._endStyles=null),pu(this._element,this._initialStyles),this._state=3)}}Tm.initialStylesByElement=new WeakMap;const Qa=new Ht("AnimationModuleType"),l$=new Hu("12.2.5"),sCe=new Ht("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let tp,ji=(()=>{class n{constructor(t,i,r){this._hasDoneGlobalChecks=!1,this._document=r,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=i,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!fa()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const i=getComputedStyle(t);i&&"none"!==i.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&l$.full!==aG.full&&console.warn("The Angular Material version ("+l$.full+") does not match the Angular CDK version ("+aG.full+").\nPlease ensure the versions of these two packages exactly match.")}}return n.\u0275fac=function(t){return new(t||n)(Ie(sG),Ie(sCe,8),Ie(fn))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Ab],Ab]}),n})();function Am(n){return class extends n{constructor(...e){super(...e),this._disabled=!1}get disabled(){return this._disabled}set disabled(e){this._disabled=bi(e)}}}function Mm(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function Ch(n){return class extends n{constructor(...e){super(...e),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=bi(e)}}}function wC(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?Ya(t):this.defaultTabIndex}}}try{tp="undefined"!=typeof Intl}catch(n){tp=!1}class yCe{constructor(e,t,i){this._renderer=e,this.element=t,this.config=i,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const p$={enterDuration:225,exitDuration:150},SN=vm({passive:!0}),g$=["mousedown","touchstart"],m$=["mouseup","mouseleave","touchend","touchcancel"];class vCe{constructor(e,t,i,r){this._target=e,this._ngZone=t,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=dd(i))}fadeInRipple(e,t,i={}){const r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign(Object.assign({},p$),i.animation);i.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);const o=i.radius||function(n,e,t){const i=Math.max(Math.abs(n-t.left),Math.abs(n-t.right)),r=Math.max(Math.abs(e-t.top),Math.abs(e-t.bottom));return Math.sqrt(i*i+r*r)}(e,t,r),a=e-r.left,l=t-r.top,c=s.enterDuration,u=document.createElement("div");u.classList.add("mat-ripple-element"),u.style.left=a-o+"px",u.style.top=l-o+"px",u.style.height=2*o+"px",u.style.width=2*o+"px",null!=i.color&&(u.style.backgroundColor=i.color),u.style.transitionDuration=`${c}ms`,this._containerElement.appendChild(u),function(n){window.getComputedStyle(n).getPropertyValue("opacity")}(u),u.style.transform="scale(1)";const h=new yCe(this,u,i);return h.state=0,this._activeRipples.add(h),i.persistent||(this._mostRecentTransientRipple=h),this._runTimeoutOutsideZone(()=>{const f=h===this._mostRecentTransientRipple;h.state=1,!i.persistent&&(!f||!this._isPointerDown)&&h.fadeOut()},c),h}fadeOutRipple(e){const t=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!t)return;const i=e.element,r=Object.assign(Object.assign({},p$),e.config.animation);i.style.transitionDuration=`${r.exitDuration}ms`,i.style.opacity="0",e.state=2,this._runTimeoutOutsideZone(()=>{e.state=3,i.parentNode.removeChild(i)},r.exitDuration)}fadeOutAll(){this._activeRipples.forEach(e=>e.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(e=>{e.config.persistent||e.fadeOut()})}setupTriggerEvents(e){const t=dd(e);!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,this._registerEvents(g$))}handleEvent(e){"mousedown"===e.type?this._onMousedown(e):"touchstart"===e.type?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(m$),this._pointerUpEventsRegistered=!0)}_onMousedown(e){const t=X6(e),i=this._lastTouchStartEvent&&Date.now(){!e.config.persistent&&(1===e.state||e.config.terminateOnPointerUp&&0===e.state)&&e.fadeOut()}))}_runTimeoutOutsideZone(e,t=0){this._ngZone.runOutsideAngular(()=>setTimeout(e,t))}_registerEvents(e){this._ngZone.runOutsideAngular(()=>{e.forEach(t=>{this._triggerElement.addEventListener(t,this,SN)})})}_removeTriggerEvents(){this._triggerElement&&(g$.forEach(e=>{this._triggerElement.removeEventListener(e,this,SN)}),this._pointerUpEventsRegistered&&m$.forEach(e=>{this._triggerElement.removeEventListener(e,this,SN)}))}}const xCe=new Ht("mat-ripple-global-options");let gu=(()=>{class n{constructor(t,i,r,s,o){this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new vCe(this,i,t,r)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}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:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{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(t,i=0,r){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,i,Object.assign(Object.assign({},this.rippleConfig),r)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return n.\u0275fac=function(t){return new(t||n)(Ce(gn),Ce(pn),Ce(Qi),Ce(xCe,8),Ce(Qa,8))},n.\u0275dir=Nt({type:n,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,i){2&t&&ai("mat-ripple-unbounded",i.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),n})(),Dm=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[ji,Sb],ji]}),n})();function gd(n,e,t,i){return Y(t)&&(i=t,t=void 0),i?gd(n,e,t).pipe(me(r=>k(r)?i(...r):i(r))):new O(r=>{E$(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function E$(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let FCe=1;const LCe=Promise.resolve(),SC={};function x$(n){return n in SC&&(delete SC[n],!0)}const S$={setImmediate(n){const e=FCe++;return SC[e]=!0,LCe.then(()=>x$(e)&&n()),e},clearImmediate(n){x$(n)}};new class extends cc{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=S$.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(S$.clearImmediate(t),e.scheduled=void 0)}});function Im(n){return!!n&&(n instanceof O||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class zCe{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new HCe(e,this.durationSelector))}}class HCe extends we{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=N(t,new _t(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function C$(n){return!k(n)&&n-parseFloat(n)+1>=0}function $Ce(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function CC(n,e=qS){return function(n){return function(t){return t.lift(new zCe(n))}}(()=>function(n=0,e,t){let i=-1;return C$(e)?i=Number(e)<1?1:Number(e):Te(e)&&(t=e),Te(t)||(t=qS),new O(r=>{const s=C$(n)?n:+n-t.now();return t.schedule($Ce,s,{index:0,period:i,subscriber:r})})}(n,e))}let A$=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),Om=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new oe,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new O(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(CC(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):sn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Ki(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=dd(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>gd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(Ie(pn),Ie(Qi),Ie(fn,8))},n.\u0275prov=We({factory:function(){return new n(Ie(pn),Ie(Qi),Ie(fn,8))},token:n,providedIn:"root"}),n})(),Rm=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new oe,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(CC(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Qi),Ie(pn),Ie(fn,8))},n.\u0275prov=We({factory:function(){return new n(Ie(Qi),Ie(pn),Ie(fn,8))},token:n,providedIn:"root"}),n})();class MN{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class AC extends MN{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Pm extends MN{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}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()}}class l1e extends MN{constructor(e){super(),this.element=e instanceof gn?e.nativeElement:e}}class MC{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof AC?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Pm?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof l1e?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}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)}}class c1e extends MC{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let np=(()=>{class n extends MC{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new ln,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(Ce(El),Ce(Rs),Ce(fn))},n.\u0275dir=Nt({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[En]}),n})();const N$=F6();class f1e{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=bs(-this._previousScrollPosition.left),e.style.top=bs(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),N$&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),N$&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class p1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const 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}}class k${enable(){}disable(){}attach(){}}function DN(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function F$(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class g1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();DN(t,[{width:i,height:r,bottom:r,right:i,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}}let m1e=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new k$,this.close=o=>new p1e(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new f1e(this._viewportRuler,this._document),this.reposition=o=>new g1e(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(Ie(Om),Ie(Rm),Ie(pn),Ie(fn))},n.\u0275prov=We({factory:function(){return new n(Ie(Om),Ie(Rm),Ie(pn),Ie(fn))},token:n,providedIn:"root"}),n})();class IC{constructor(e){if(this.scrollStrategy=new k$,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class _1e{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class y1e{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let L$=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({factory:function(){return new n(Ie(fn))},token:n,providedIn:"root"}),n})(),b1e=(()=>{class n extends L${constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({factory:function(){return new n(Ie(fn))},token:n,providedIn:"root"}),n})(),v1e=(()=>{class n extends L${constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Kf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Qi))},n.\u0275prov=We({factory:function(){return new n(Ie(fn),Ie(Qi))},token:n,providedIn:"root"}),n})();const Th="undefined"!=typeof window?window:{},B$=void 0!==Th.__karma__&&!!Th.__karma__||void 0!==Th.jasmine&&!!Th.jasmine||void 0!==Th.jest&&!!Th.jest||void 0!==Th.Mocha&&!!Th.Mocha;let Ob=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||B$){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(u),this._keydownEvents=new oe,this._outsidePointerEvents=new oe,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(qr(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),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),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),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&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.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=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},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(){const e=this._config.direction;return e?"string"==typeof e?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;const e=this._pane.style;e.width=bs(this._config.width),e.height=bs(this._config.height),e.minWidth=bs(this._config.minWidth),e.minHeight=bs(this._config.minHeight),e.maxWidth=bs(this._config.maxWidth),e.maxHeight=bs(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),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),"undefined"!=typeof requestAnimationFrame?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)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;YS(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(gr(Nn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const V$="cdk-overlay-connected-position-bounding-box",E1e=/([A-Za-z%]+)$/;class j${constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,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 oe,this._resizeSubscription=C.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(V$),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)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&ip(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(V$),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(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){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=z$(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let f=0-a,g=a+s.height-i.height,m=this._subtractOverflows(s.width,0-o,o+s.width-i.width),v=this._subtractOverflows(s.height,f,g),x=m*v;return{visibleArea:x,isCompletelyWithinViewport:s.width*s.height===x,fitsInViewportVertically:v===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=U$(this._overlayRef.getConfig().minHeight),a=U$(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=z$(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let u=0,h=0;return u=r.width<=s.width?c||-o:e.xm&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-m/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)f=i.width-e.x+this._viewportMargin,u=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)h=e.x,u=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),m=this._lastBoundingBoxSize.width;u=2*g,h=e.x-g,u>m&&!this._isInitialRender&&!this._growAfterOpen&&(h=e.x-m/2)}return{top:o,left:h,bottom:a,right:f,width:u,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=bs(i.height),r.top=bs(i.top),r.bottom=bs(i.bottom),r.width=bs(i.width),r.left=bs(i.left),r.right=bs(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=bs(s)),o&&(r.maxWidth=bs(o))}this._lastBoundingBoxSize=i,ip(this._boundingBox.style,r)}_resetBoundingBoxStyles(){ip(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){ip(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const u=this._viewportRuler.getViewportScrollPosition();ip(i,this._getExactOverlayY(t,e,u)),ip(i,this._getExactOverlayX(t,e,u))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=bs(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=bs(o.maxWidth):s&&(i.maxWidth="")),ip(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=bs(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=bs(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:F$(e,i),isOriginOutsideView:DN(e,i),isOverlayClipped:F$(t,i),isOverlayOutsideView:DN(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&YS(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof gn)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function ip(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function U$(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(E1e);return t&&"px"!==t?null:parseFloat(e)}return n||null}function z$(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class x1e{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new j$(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new _1e(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const H$="cdk-global-overlay-wrapper";class S1e{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const 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(H$),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-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._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(H$),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let C1e=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new S1e}connectedTo(t,i,r){return new x1e(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new j$(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Rm),Ie(fn),Ie(Qi),Ie(Ob))},n.\u0275prov=We({factory:function(){return new n(Ie(Rm),Ie(fn),Ie(Qi),Ie(Ob))},token:n,providedIn:"root"}),n})(),T1e=0,Ec=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u,h,f){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=h,this._outsideClickDispatcher=f}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new IC(t);return o.direction=o.direction||this._directionality.value,new w1e(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+T1e++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(sh)),new c1e(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(Ie(m1e),Ie(Ob),Ie(El),Ie(C1e),Ie(b1e),Ie(Hn),Ie(pn),Ie(fn),Ie(Il),Ie(kg),Ie(v1e))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class rTe{constructor(e,t){this.delay=e,this.scheduler=t}call(e,t){return t.subscribe(new PN(e,this.delay,this.scheduler))}}class PN extends y{constructor(e,t,i){super(e),this.delay=t,this.scheduler=i,this.queue=[],this.active=!1,this.errored=!1}static dispatch(e){const t=e.source,i=t.queue,r=e.scheduler,s=e.destination;for(;i.length>0&&i[0].time-r.now()<=0;)i.shift().notification.observe(s);if(i.length>0){const o=Math.max(0,i[0].time-r.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1}_schedule(e){this.active=!0,this.destination.add(e.schedule(PN.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))}scheduleNotification(e){if(!0===this.errored)return;const t=this.scheduler,i=new sTe(t.now()+this.delay,e);this.queue.push(i),!1===this.active&&this._schedule(t)}_next(e){this.scheduleNotification(ga.createNext(e))}_error(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()}_complete(){this.scheduleNotification(ga.createComplete()),this.unsubscribe()}}class sTe{constructor(e,t){this.time=e,this.notification=t}}function oW(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>me(function(n,e){return i=>{let r=i;for(let s=0;se.lift(new WTe(n))}et(7266);class WTe{constructor(e){this.callback=e}call(e,t){return t.subscribe(new qTe(e,this.callback))}}class qTe extends y{constructor(e,t){super(e),this.add(new C(t))}}class fW{}class pW{}class mu{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const 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 mu?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){const t=new mu;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof mu?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class YTe{encodeKey(e){return gW(e)}encodeValue(e){return gW(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const KTe=/%(\d[a-f0-9])/gi,QTe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function gW(n){return encodeURIComponent(n).replace(KTe,(e,t)=>{var i;return null!==(i=QTe[t])&&void 0!==i?i:e})}function mW(n){return`${n}`}class Lr{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new YTe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const 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){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,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=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new Lr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(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":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(mW(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(mW(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class Zs{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}keys(){return this.map.keys()}}function _W(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function yW(n){return"undefined"!=typeof Blob&&n instanceof Blob}function bW(n){return"undefined"!=typeof FormData&&n instanceof FormData}class Rb{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new mu),this.context||(this.context=new Zs),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":af.set(g,e.setHeaders[g]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((f,g)=>f.set(g,e.setParams[g]),u)),new Rb(i,r,o,{params:u,headers:c,context:h,reportProgress:l,responseType:s,withCredentials:a})}}var vs=(()=>((vs=vs||{})[vs.Sent=0]="Sent",vs[vs.UploadProgress=1]="UploadProgress",vs[vs.ResponseHeader=2]="ResponseHeader",vs[vs.DownloadProgress=3]="DownloadProgress",vs[vs.Response=4]="Response",vs[vs.User=5]="User",vs))();class kN{constructor(e,t=200,i="OK"){this.headers=e.headers||new mu,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class FN extends kN{constructor(e={}){super(e),this.type=vs.ResponseHeader}clone(e={}){return new FN({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class RC extends kN{constructor(e={}){super(e),this.type=vs.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new RC({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class vW extends kN{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function LN(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let _u=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof Rb)s=t;else{let l,c;l=r.headers instanceof mu?r.headers:new mu(r.headers),r.params&&(c=r.params instanceof Lr?r.params:new Lr({fromObject:r.params})),s=new Rb(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=sn(s).pipe(function(n,e){return V(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof Rb||"events"===r.observe)return o;const a=o.pipe(Ki(l=>l instanceof RC));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(me(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(me(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new Lr).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,LN(r,i))}post(t,i,r={}){return this.request("POST",t,LN(r,i))}put(t,i,r={}){return this.request("PUT",t,LN(r,i))}}return n.\u0275fac=function(t){return new(t||n)(Ie(fW))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class wW{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const EW=new Ht("HTTP_INTERCEPTORS");let eAe=(()=>{class n{intercept(t,i){return i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const tAe=/^\)\]\}',?\n/;let xW=(()=>{class n{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new O(i=>{const r=this.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((g,m)=>r.setRequestHeader(g,m.join(","))),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const g=t.detectContentTypeHeader();null!==g&&r.setRequestHeader("Content-Type",g)}if(t.responseType){const g=t.responseType.toLowerCase();r.responseType="json"!==g?g:"text"}const s=t.serializeBody();let o=null;const a=()=>{if(null!==o)return o;const g=1223===r.status?204:r.status,m=r.statusText||"OK",v=new mu(r.getAllResponseHeaders()),x=function(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||t.url;return o=new FN({headers:v,status:g,statusText:m,url:x}),o},l=()=>{let{headers:g,status:m,statusText:v,url:x}=a(),U=null;204!==m&&(U=void 0===r.response?r.responseText:r.response),0===m&&(m=U?200:0);let D=m>=200&&m<300;if("json"===t.responseType&&"string"==typeof U){const ie=U;U=U.replace(tAe,"");try{U=""!==U?JSON.parse(U):null}catch(_e){U=ie,D&&(D=!1,U={error:_e,text:U})}}D?(i.next(new RC({body:U,headers:g,status:m,statusText:v,url:x||void 0})),i.complete()):i.error(new vW({error:U,headers:g,status:m,statusText:v,url:x||void 0}))},c=g=>{const{url:m}=a(),v=new vW({error:g,status:r.status||0,statusText:r.statusText||"Unknown Error",url:m||void 0});i.error(v)};let u=!1;const h=g=>{u||(i.next(a()),u=!0);let m={type:vs.DownloadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),"text"===t.responseType&&!!r.responseText&&(m.partialText=r.responseText),i.next(m)},f=g=>{let m={type:vs.UploadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),i.next(m)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),t.reportProgress&&(r.addEventListener("progress",h),null!==s&&r.upload&&r.upload.addEventListener("progress",f)),r.send(s),i.next({type:vs.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),t.reportProgress&&(r.removeEventListener("progress",h),null!==s&&r.upload&&r.upload.removeEventListener("progress",f)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(t){return new(t||n)(Ie(oV))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const BN=new Ht("XSRF_COOKIE_NAME"),VN=new Ht("XSRF_HEADER_NAME");class SW{}let iAe=(()=>{class n{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=YB(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Xc),Ie(BN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),jN=(()=>{class n{constructor(t,i){this.tokenService=t,this.headerName=i}intercept(t,i){const r=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||r.startsWith("http://")||r.startsWith("https://"))return i.handle(t);const s=this.tokenService.getToken();return null!==s&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,s)})),i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(SW),Ie(VN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),rAe=(()=>{class n{constructor(t,i){this.backend=t,this.injector=i,this.chain=null}handle(t){if(null===this.chain){const i=this.injector.get(EW,[]);this.chain=i.reduceRight((r,s)=>new wW(r,s),this.backend)}return this.chain.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(pW),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),sAe=(()=>{class n{static disable(){return{ngModule:n,providers:[{provide:jN,useClass:eAe}]}}static withOptions(t={}){return{ngModule:n,providers:[t.cookieName?{provide:BN,useValue:t.cookieName}:[],t.headerName?{provide:VN,useValue:t.headerName}:[]]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[jN,{provide:EW,useExisting:jN,multi:!0},{provide:SW,useClass:iAe},{provide:BN,useValue:"XSRF-TOKEN"},{provide:VN,useValue:"X-XSRF-TOKEN"}]}),n})(),CW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[_u,{provide:fW,useClass:rAe},xW,{provide:pW,useExisting:xW}],imports:[[sAe.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),n})();const oAe=["*"];function TW(n){return Error(`Unable to find icon with the name "${n}"`)}function AW(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function MW(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class rp{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let PC=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,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",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new rp(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(si.HTML,r);if(!o)throw MW(r);return this._addSvgIconConfig(t,i,new rp("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new rp(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(si.HTML,i);if(!s)throw MW(i);return this._addSvgIconSetConfig(t,new rp("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(si.RESOURCE_URL,t);if(!i)throw AW(t);const r=this._cachedIconsByUrl.get(i);return r?sn(NC(r)):this._loadSvgIconFromConfig(new rp(t,null)).pipe(cr(s=>this._cachedIconsByUrl.set(i,s)),me(s=>NC(s)))}getNamedSvgIcon(t,i=""){const r=DW(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Fg(TW(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?sn(NC(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(me(i=>NC(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?sn(r):fb(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(bc(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(si.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),sn(null)})))).pipe(me(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw TW(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(cr(i=>t.svgText=i),me(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?sn(null):this._fetchIcon(t).pipe(cr(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;sthis._inProgressUrlFetches.delete(a)),ws());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(DW(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),IW=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],pAe=IW.map(n=>`[${n}]`).join(", "),gAe=/^url\(['"]?#(.*?)['"]?\)$/;let Fm=(()=>{class n extends uAe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=C.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=bi(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(pAe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(gAe):null;if(c){let u=r.get(a);u||(u=[],r.set(a,u)),u.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(qr(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(Ce(gn),Ce(PC),yo("aria-hidden"),Ce(dAe),Ce(la))},n.\u0275cmp=rn({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(Ii("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),ai("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[En],ngContentSelectors:oAe,decls:1,vars:0,template:function(t,i){1&t&&(Hr(),oi(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[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}\n"],encapsulation:2,changeDetection:0}),n})();function TAe(n,e){}class zN{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const AAe={dialogContainer:Em("dialogContainer",[wc("void, exit",ds({opacity:0,transform:"scale(0.7)"})),wc("enter",ds({transform:"none"})),pd("* => enter",fd("150ms cubic-bezier(0, 0, 0.2, 1)",ds({transform:"none",opacity:1}))),pd("* => void, * => exit",fd("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",ds({opacity:0})))])};let MAe=(()=>{class n extends MC{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new ln,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=KS(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=KS())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=KS();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(Ce(gn),Ce(Y6),Ce(Mr),Ce(fn,8),Ce(zN),Ce(vc))},n.\u0275dir=Nt({type:n,viewQuery:function(t,i){if(1&t&&hr(np,7),2&t){let r;Gn(r=$n())&&(i._portalOutlet=r.first)}},features:[En]}),n})(),DAe=(()=>{class n extends MAe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275cmp=rn({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&uE("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(qc("id",i._id),Ii("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),fE("@dialogContainer",i._state))},features:[En],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&wi(0,TAe,0,0,"ng-template",0)},directives:[np],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[AAe.dialogContainer]}}),n})(),IAe=0;class kC{constructor(e,t,i="mat-dialog-"+IAe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new oe,this._afterClosed=new oe,this._beforeClosed=new oe,this._state=0,t._id=i,t._animationStateChanged.pipe(Ki(r=>"opened"===r.state),qr(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Ki(r=>"closed"===r.state),qr(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Ki(r=>27===r.keyCode&&!this.disableClose&&!Dl(r))).subscribe(r=>{r.preventDefault(),HN(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():HN(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Ki(t=>"closing"===t.state),qr(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();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._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function HN(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const PW=new Ht("MatDialogData"),OAe=new Ht("mat-dialog-default-options"),NW=new Ht("mat-dialog-scroll-strategy");let NAe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=u,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new oe,this._afterOpenedAtThisLevel=new oe,this._ariaHiddenElements=new Map,this.afterAllClosed=function(n){return new O(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?je(t):b0()).subscribe(e)})}(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Oo(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new zN)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new IC({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Hn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:zN,useValue:i}]}),o=new AC(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof Go)i.attachTemplatePortal(new Pm(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new AC(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Il,null,xn.Optional))&&o.push({provide:Il,useValue:{value:t.direction,change:sn()}}),Hn.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(Ce(Ec),Ce(Hn),Ce(void 0),Ce(void 0),Ce(Ob),Ce(void 0),Ce(Du),Ce(Du),Ce(Ht))},n.\u0275dir=Nt({type:n}),n})(),Nb=(()=>{class n extends NAe{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,kC,DAe,PW)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ec),Ie(Hn),Ie(kg,8),Ie(OAe,8),Ie(NW),Ie(n,12),Ie(Ob))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),FAe=0,kW=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+FAe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(Ce(kC,8),Ce(gn),Ce(Nb))},n.\u0275dir=Nt({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&qc("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),FW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();const $N=new Ht("CdkAccordion");let VAe=0,UAe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=C.EMPTY,this.closed=new ln,this.opened=new ln,this.destroyed=new ln,this.expandedChange=new ln,this.id="cdk-accordion-child-"+VAe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=bi(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=bi(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(Ce($N,12),Ce(Mr),Ce(A$))},n.\u0275dir=Nt({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Vn([{provide:$N,useValue:void 0}])]}),n})();const HAe=["body"];function GAe(n,e){}const $Ae=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],WAe=["mat-expansion-panel-header","*","mat-action-row"];function qAe(n,e){1&n&&ni(0,"span",2),2&n&&Jt("@indicatorRotate",_i()._getExpandedState())}const YAe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],XAe=["mat-panel-title","mat-panel-description","*"],WN=new Ht("MAT_ACCORDION"),BW="225ms cubic-bezier(0.4,0.0,0.2,1)",VW={indicatorRotate:Em("indicatorRotate",[wc("collapsed, void",ds({transform:"rotate(0deg)"})),wc("expanded",ds({transform:"rotate(180deg)"})),pd("expanded <=> collapsed, void => collapsed",fd(BW))]),bodyExpansion:Em("bodyExpansion",[wc("collapsed, void",ds({height:"0px",visibility:"hidden"})),wc("expanded",ds({height:"*",visibility:"visible"})),pd("expanded <=> collapsed, void => collapsed",fd(BW))])};let KAe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(Ce(Go))},n.\u0275dir=Nt({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),QAe=0;const jW=new Ht("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let UW=(()=>{class n extends UAe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new ln,this.afterCollapse=new ln,this._inputChanges=new oe,this._headerId="mat-expansion-panel-header-"+QAe++,this._bodyAnimationDone=new oe,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(ld((c,u)=>c.fromState===u.fromState&&c.toState===u.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=bi(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(Oo(null),Ki(()=>this.expanded&&!this._portal),qr(1)).subscribe(()=>{this._portal=new Pm(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(Ce(WN,12),Ce(Mr),Ce(A$),Ce(Rs),Ce(fn),Ce(Qa,8),Ce(jW,8))},n.\u0275cmp=rn({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&function(n,e,t,i){const r=Si();if(r.firstCreatePass){const s=as();I3(r,new A3(e,t,i),s.index),function(n,e){const t=n.contentQueries||(n.contentQueries=[]);e!==(t.length?t[t.length-1]:-1)&&t.push(n.queries.length-1,e)}(r,n),2==(2&t)&&(r.staticContentQueries=!0)}D3(r,Vt(),t)}(r,KAe,5),2&t){let s;Gn(s=$n())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&hr(HAe,5),2&t){let r;Gn(r=$n())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&ai("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Vn([{provide:WN,useValue:void 0}]),En,Fi],ngContentSelectors:WAe,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(Hr($Ae),oi(0),wt(1,"div",0,1),Tn("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),wt(3,"div",2),oi(4,1),wi(5,GAe,0,0,"ng-template",3),Et(),oi(6,2),Et()),2&t&&(zt(1),Jt("@bodyExpansion",i._getExpandedState())("id",i.id),Ii("aria-labelledby",i._headerId),zt(4),Jt("cdkPortalOutlet",i._portal))},directives:[np],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[VW.bodyExpansion]},changeDetection:0}),n})();class JAe{}const eMe=wC(JAe);let zW=(()=>{class n extends eMe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=C.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Ki(u=>!(!u.hideToggle&&!u.togglePosition))):Qc;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=Nn(t.opened,t.closed,c,t._inputChanges.pipe(Ki(u=>!!(u.hideToggle||u.disabled||u.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Ki(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Dl(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(Ce(UW,1),Ce(gn),Ce(vc),Ce(Mr),Ce(jW,8),Ce(Qa,8),yo("tabindex"))},n.\u0275cmp=rn({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&Tn("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(Ii("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),zy("height",i._getHeaderHeight()),ai("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[En],ngContentSelectors:XAe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(Hr(YAe),wt(0,"span",0),oi(1),oi(2,1),oi(3,2),Et(),wi(4,qAe,1,1,"span",1)),2&t&&(zt(4),Jt("ngIf",i._showToggle()))},directives:[ac],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[VW.indicatorRotate]},changeDetection:0}),n})();var HW=et(5478);Object.create(Error.prototype);const sMe=["*"];var LC=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(LC||(LC={})),LC))();class aMe{}const $W=new Ht("SECURITY_CONTEXT");let qN=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new HW.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=HW.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(me(i=>this.handleExtension(t,i)))}highlight(t){if(Af(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Af(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Af(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Af(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(Ie(Xc),Ie($W),Ie(_u,8),Ie(aMe,8),Ie(Mf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),WW=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new ln,this.load=new ln,this.ready=new ln,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,LC.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;sk(i)?t(...i):t(i))):new O(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Y(e))return()=>e(r,s)})}function YN(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new pMe(n,t))}}class pMe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new gMe(e,this.observables,this.project))}}class gMe extends t5{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class mMe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new _Me(e,this.accumulator,this.seed,this.hasSeed))}}class _Me extends y{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class vMe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new wMe(e,this.predicate))}}class wMe extends y{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const EMe=["youtubeContainer"];let KW=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new oe,this._destroyed=new oe,this._playerChanges=new Fr(void 0),this._videoId=new Fr(void 0),this._height=new Fr(390),this._width=new Fr(640),this._startSeconds=new Fr(void 0),this._endSeconds=new Fr(void 0),this._suggestedQuality=new Fr(void 0),this._playerVars=new Fr(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Af(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=sn(!0);if(!window.YT||!window.YT.Player){const r=new oe;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(qr(1),Oo(!1))}const i=function(n,e,t,i,r,s,o){const a=yc([e,s]).pipe(YN(yc([i,r])),me(([l,c])=>{const[u,h]=l,[f,g]=c;return u?{videoId:u,playerVars:h,width:f,height:g}:void 0}));return yc([n,a,sn(o)]).pipe(function(n){return ue(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&k(n[0])&&(n=n[0].slice()),t=>t.lift.call(je([t,...n]),new r5(e))}(n),function(n){return e=>e.lift(new vMe(n))}(([e,t])=>!t),me(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new mMe(n,e,t))}}(MMe,void 0),ld())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(cr(r=>{this._playerChanges.next(r)}),V(e=>e?QW(e)?sn(e):new O(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{QW(r)||r.destroy()})(e)}}).pipe(qr(1),Oo(void 0)):sn(void 0)),gr(this._destroyed),xa(new oe));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){yc([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){yc([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=yc([t,i]).pipe(me(([u,h])=>({startSeconds:u,endSeconds:h}))),a=o.pipe(KN(n,u=>!!u&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(u))),l=e.pipe(KN(n,(u,h)=>!!u&&u.videoId!==h));Nn(n.pipe(KN(yc([e,o]),([u,h],f)=>!(!f||u==f.videoId&&!h.startSeconds&&!h.endSeconds))),l,a).pipe(YN(yc([n,e,o,r])),me(([u,h])=>h),gr(s)).subscribe(([u,h,f,g])=>{!h||!u||(u.videoId=h,u.cueVideoById(Object.assign({videoId:h,suggestedQuality:g},f)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(is(i=>i?qW(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):sn()),i=>new O(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),gr(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(Xc))},n.\u0275cmp=rn({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&hr(EMe,5),2&t){let r;Gn(r=$n())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&ni(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function MMe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function QW(n){return"getPlayerStatus"in n}function KN(n,e){return ue(YN(n),Ki(([t,i])=>e(i,t)),me(([t])=>t))}let BMe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function Fb(n){return!0===n}function Za(n){return null==n}function Ja(n){return!Za(n)}function QN(n){return Boolean(n)}function t7(n){return Za(n)?n:JSON.parse(JSON.stringify(n))}const VC=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&VC(n[o])}),n};function n7(n){return Ja(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const s7="NGXS_DATA_META",JN="NGXS_META",o7="NGXS_ARGUMENT_REGISTRY_META";let a7=(()=>{class n{constructor(t){this.sequence$=new Fr(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function Lb(n){return n[s7]}let el=(()=>{class n{constructor(t,i,r){n.store=t.get(hu),n.ngZone=t.get(pn),n.factory=i,n.context=r,n.computed=t.get(a7)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(o5),Ie(s5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class hs{constructor(){hs.statesCachedMeta.clear()}static createStateContext(e){return el.context.createStateContext(e)}static ensureMappedState(e){if(Za(el.factory)||Za(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(Ja(e.name)?hs.statesCachedMeta.get(e.name):null)||hs.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=Lb(hs.getStateClassByInstance(e)))&&void 0!==t?t:null;if(Za(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=hs.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=hs.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=Ja(e.name)?null===(t=el.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return Ja(i)&&Ja(e.name)&&hs.statesCachedMeta.set(e.name,i),i}}hs.statesCachedMeta=new Map,hs.\u0275fac=function(e){return new(e||hs)},hs.\u0275prov=We({token:hs,factory:hs.\u0275fac}),new Df(1);class sDe extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${Ja(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function l7(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function c7(n){var e;const t=l7(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=t7(void 0===t.defaults?{}:t.defaults);if(i.length){if(n7(s))return function(n,e){return e.reduce((t,i)=>{const r=l7(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=c7(i),t},null!=n?n:{})}(s,i);throw new sDe(s)}return s}function d7(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function h7(){var n,e;return null!==(e=null===(n=null==el?void 0:el.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function cDe(n){let e=!1;return Im(n)&&(e=!0),e}function ek(n){return n[o7]}class uDe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class dDe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(QN(this.argumentMap.has(e))||QN(this.payloadMap.has(e)))throw new uDe(e,t)}}function _De(n){return{enumerable:!0,configurable:!0,get(){const e=Lb(n),t=hs.ensureMappedState(e.stateMeta);return hs.createStateContext(t)}}}function f7(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(n7(i))for(;null!==i;){if(Fb(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return Za(d7(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),d7(n)}(this),o=null==s?void 0:s.get(i);if(Fb(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(Za(o)||o.sequenceId!==h7()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:h7(),isObservable:cDe(l)}),l}return o.value},t}}const xDe={cancelUncompleted:!0,insideZone:!1};function tk(n=xDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=hs.getRepositoryByInstance(a),u=c.operations;let h=u[s];const f=c.stateMeta,g=ek(r);if(Za(h)){const D=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),ie=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var D;return Fb(n.insideZone)?null===(D=el.ngZone)||void 0===D||D.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),Im(l)?sn(null).pipe(me(()=>l)):l};const x=hs.createAction(h,o,g),U=el.store.dispatch(x);return Im(l)?function(n,e){return fb([n,e]).pipe(me(t=>t.pop()))}(U,l):l},i}}function p7(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return Za(ek(t))&&Object.defineProperties(t,{[o7]:{enumerable:!0,configurable:!0,value:new dDe}}),ek(t)})(e,t).createPayloadType(r,t,i)}}function CDe(){return n=>{const e=function(n){if(function(n){return!QN(n)}(n.hasOwnProperty(JN))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,JN,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[JN]}(n)}(n);if(Za(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=Lb(n))&&void 0!==e?e:null;return(Za(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,s7,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),Lb(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>t7(t)},context:_De(n)})}(n,e,c7(n)),function(n){var e,t;const i=Lb(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(Ja(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(Ja(this[s]))return this[s];if(Za(el.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=el.store.select(n).pipe(me(o=>fa()?VC(o):o),Wa({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}let ADe=(()=>{class n{constructor(){this.browserStorageEvents$=new oe,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),MDe=(()=>{class n extends ADe{get snapshot(){return function(n){return fa()?VC(n):n}(this.getState())}get ctx(){return function(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>fa()?VC(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),Ei([f7(),uc("design:type",Object),uc("design:paramtypes",[])],n.prototype,"snapshot",null),Ei([tk(),wV(0,p7("patchValue")),uc("design:type",Function),uc("design:paramtypes",[Object]),uc("design:returntype",void 0)],n.prototype,"patchState",null),Ei([tk(),wV(0,p7("stateValue")),uc("design:type",Function),uc("design:paramtypes",[Object]),uc("design:returntype",void 0)],n.prototype,"setState",null),Ei([tk(),uc("design:type",Function),uc("design:paramtypes",[]),uc("design:returntype",void 0)],n.prototype,"reset",null),n})(),g9=(()=>{class n{constructor(){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","gaEvent","","gaCategory",""],["","gaCategory",""]],inputs:{gaCategory:"gaCategory"},exportAs:["gaCategory"]}),n})();const zm=new Ht("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),Sk=new Ht("ngx-window",{providedIn:"root",factory:()=>function(n){return Af(n)?window:null}(Bc(Xc))}),jOe=new Ht("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Bc(Sk))}),Ck=new Ht("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Bc(Sk),Bc(jOe))});let qb=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||fa())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(zm),Ie(fn),Ie(Ck))},n.\u0275prov=We({factory:function(){return new n(Ie(zm),Ie(fn),Ie(Ck))},token:n,providedIn:"root"}),n})(),m9=(()=>{class n{constructor(t,i,r,s){this.gaCategoryDirective=t,this.gaService=i,this.settings=r,this.el=s,this.gaBind="click"}set gaBind(t){this.bindSubscription&&this.bindSubscription.unsubscribe(),this._gaBind=t,this.bindSubscription=gd(this.el.nativeElement,t).subscribe(()=>this.trigger())}get gaBind(){return this._gaBind}ngOnDestroy(){this.bindSubscription&&this.bindSubscription.unsubscribe()}trigger(){try{if(!this.gaAction&&!this.gaEvent)throw new Error("You must provide a gaAction attribute to identify this event.");this.gaService.event(this.gaAction||this.gaEvent,this.gaCategoryDirective?this.gaCategoryDirective.gaCategory:void 0,this.gaLabel||this.label,this.gaValue,this.gaInteraction)}catch(t){this.throw(t)}}throw(t){(fa()||this.settings.enableTracing)&&console&&console.warn&&console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)(Ce(g9,8),Ce(qb),Ce(zm),Ce(gn))},n.\u0275dir=Nt({type:n,selectors:[["","gaEvent",""]],inputs:{gaBind:"gaBind",gaAction:"gaAction",gaLabel:"gaLabel",label:"label",gaValue:"gaValue",gaInteraction:"gaInteraction",gaEvent:"gaEvent"},exportAs:["gaEvent"]}),n})();const zOe={provide:Ef,multi:!0,useFactory:function(n,e,t){return()=>Bi(this,void 0,void 0,function*(){var i;if(!n.trackingCode)return void(fa()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(fa()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));t||fa()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),n.uri=n.uri||`https://www.googletagmanager.com/gtag/js?id=${n.trackingCode}`,n.initCommands=null!==(i=null==n?void 0:n.initCommands)&&void 0!==i?i:[],n.initCommands.find(o=>"config"===o.command)||n.initCommands.unshift({command:"config",values:[n.trackingCode]}),n.initCommands.find(o=>"js"===o.command)||n.initCommands.unshift({command:"js",values:[new Date]});for(const o of n.initCommands)e(o.command,...o.values);const r=t.createElement("script");r.async=!0,r.src=n.uri,n.nonce&&r.setAttribute("nonce",n.nonce),t.getElementsByTagName("head")[0].appendChild(r)})},deps:[zm,Ck,fn]};new Ht("ngx-google-analytics-routing-settings",{factory:()=>({})});let r1=(()=>{class n{static forRoot(t,i=[],r,s,o){return{ngModule:n,providers:[{provide:zm,useValue:{trackingCode:t,initCommands:i,uri:r,enableTracing:s,nonce:o}},zOe]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[]]}),n})(),o1=(()=>{class n{constructor(){this.consent="not-set",this.consentChange=new Df(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),tRe=(()=>{class n{constructor(t,i,{trackingCode:r}){this.window=i,this.subscriptions=new C,this.token=r,this.subscriptions.add(t.consentChange.subscribe(s=>this.toggleGoogleAnalytics("rescinded"===s)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(o1),Ie(Sk),Ie(zm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const nRe=new Ht("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),S9=[o1,tRe,(()=>{class n{constructor(t,i){this.key=i,this.subscriptions=new C;try{this.storage=localStorage}catch(r){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(r=>this.saveConsent(r)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,i;const r=null===(i=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===i?void 0:i.call(t,this.key);if(null==r)return"not-set";const s=r.trim().toLowerCase();switch(s){case"given":case"rescinded":return s;default:return"not-set"}}saveConsent(t){var i,r;null===(r=null===(i=this.storage)||void 0===i?void 0:i.setItem)||void 0===r||r.call(i,this.key,t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(o1),Ie(nRe))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})()];function rRe(n){return Object.entries(n).reduce((e,[t,i])=>(null!=i&&(e[t]=`${i}`),e),{})}let oRe=(()=>{class n{static forRoot(t){const{providers:i=[]}=r1.forRoot(t.gaToken,function(n){const{appName:e,projectName:t,developmentMode:i}=n;return[{command:"set",values:[rRe({appName:e,projectName:t,developmentMode:i})]}]}(t));return{ngModule:n,providers:i}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[...S9,{provide:Ef,multi:!0,useFactory:()=>()=>{},deps:S9}],imports:[[r1]]}),n})();const uRe=(n,e)=>JSON.stringify(n)===JSON.stringify(e),dRe=n=>n.map(e=>void 0!==e?JSON.parse(JSON.stringify(e)):e),xc={storageStrategy:class extends class{}{constructor(){super(...arguments),this.cachePairs=[]}add(e,t,i){this.cachePairs.push(e)}addMany(e){this.cachePairs=e}updateAtIndex(e,t){Object.assign(this.cachePairs[e],t)}update(e,t){Object.assign(this.cachePairs[e],t)}getAll(){return this.cachePairs}removeAtIndex(e){this.cachePairs.splice(e,1)}remove(e){this.cachePairs.splice(e,1)}removeAll(){this.cachePairs.length=0}},globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},hRe=new oe;function Sc(n={}){return function(e,t,i){const r=n.cacheKey||e.constructor.name+"#"+t,s=i.value;if(i&&i.value){let o=n.storageStrategy?new n.storageStrategy:new xc.storageStrategy;const a=[];n.cacheModifier&&n.cacheModifier.subscribe(u=>o.addMany(u(o.getAll(r,this)),r,this)),Nn(hRe.asObservable(),n.cacheBusterObserver?n.cacheBusterObserver:b0()).subscribe(u=>{o.removeAll(r,this),a.length=0}),n.cacheResolver=n.cacheResolver||xc.cacheResolver||uRe,n.cacheHasher=n.cacheHasher||xc.cacheHasher||dRe,i.value=function(...u){const h=o.getAll(r,this);let f=n.cacheHasher(u),g=h.find(v=>n.cacheResolver(v.parameters,f));const m=a.find(v=>n.cacheResolver(v.parameters,f));if((n.maxAge||xc.maxAge)&&g&&g.created&&((new Date).getTime()-new Date(g.created).getTime()>(n.maxAge||xc.maxAge)?(o.remove?o.remove(h.indexOf(g),g,r,this):o.removeAtIndex(h.indexOf(g),r,this),g=null):(n.slidingExpiration||xc.slidingExpiration)&&(g.created=new Date,o.update?o.update(h.indexOf(g),g,r,this):o.updateAtIndex(h.indexOf(g),g,r,this))),g){const v=sn(g.response);return n.async?v.pipe(function(n,e=qS){const i=function(n){return n instanceof Date&&!isNaN(+n)}(n)?+n-e.now():Math.abs(n);return r=>r.lift(new rTe(i,e))}(0)):v}if(m)return m.response;{const v=s.call(this,...u).pipe(NN(()=>{const x=a.find(U=>n.cacheResolver(U.parameters,f));a.splice(a.indexOf(x),1)}),cr(x=>{(!n.shouldCacheDecider||n.shouldCacheDecider(x))&&((!(n.maxCacheCount||xc.maxCacheCount)||1===(n.maxCacheCount||xc.maxCacheCount)||(n.maxCacheCount||xc.maxCacheCount)&&(n.maxCacheCount||xc.maxCacheCount)xa(()=>s,undefined)(o)}(),Yn());return a.push({parameters:f,response:v,created:new Date}),v}}}return i}}class fRe{encodeKey(e){return encodeURIComponent(e)}encodeValue(e){return encodeURIComponent(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const C9=new Ht("basePath");class Yb{constructor(e={}){this.apiKeys=e.apiKeys,this.username=e.username,this.password=e.password,this.accessToken=e.accessToken,this.basePath=e.basePath,this.withCredentials=e.withCredentials,this.encoder=e.encoder,this.credentials=e.credentials?e.credentials:{}}selectHeaderContentType(e){if(0===e.length)return;const t=e.find(i=>this.isJsonMime(i));return void 0===t?e[0]:t}selectHeaderAccept(e){if(0===e.length)return;const t=e.find(i=>this.isJsonMime(i));return void 0===t?e[0]:t}isJsonMime(e){const t=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==e&&(t.test(e)||"application/json-patch+json"===e.toLowerCase())}lookupCredential(e){const t=this.credentials[e];return"function"==typeof t?t():t}}let T9=(()=>{class n{constructor(t,i,r){this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new mu,this.configuration=new Yb,r&&(this.configuration=r),"string"!=typeof this.configuration.basePath&&("string"!=typeof i&&(i=this.basePath),this.configuration.basePath=i),this.encoder=this.configuration.encoder||new fRe}addToHttpParams(t,i,r){return this.addToHttpParamsRecursive(t,i,r)}addToHttpParamsRecursive(t,i,r){if(null==i)return t;if("object"==typeof i)if(Array.isArray(i))i.forEach(s=>t=this.addToHttpParamsRecursive(t,s,r));else if(i instanceof Date){if(null==r)throw Error("key may not be null if value is Date");t=t.append(r,i.toISOString().substr(0,10))}else Object.keys(i).forEach(s=>t=this.addToHttpParamsRecursive(t,i[s],null!=r?`${r}.${s}`:s));else{if(null==r)throw Error("key may not be null if value is not object or array");t=t.append(r,i)}return t}aggregateResults(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,v=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),v&&v.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/aggregate-results`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}cellTypeTermOccurences(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,v=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),v&&v.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-term-occurences`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}cellTypeTreeModel(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-tree-model`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}dbStatus(t,i="body",r=!1,s){const o=t.token;let a=new Lr({encoder:this.encoder});null!=o&&(a=this.addToHttpParams(a,o,"token"));let l=this.defaultHeaders,c=s&&s.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=s&&s.context;void 0===u&&(u=new Zs);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/db-status`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:i,reportProgress:r})}getSpatialPlacement(t,i="body",r=!1,s){const o=t.getSpatialPlacementRequest;if(null==o)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");let a=this.defaultHeaders,l=s&&s.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=s&&s.context;void 0===c&&(c=new Zs);const h=this.configuration.selectHeaderContentType(["application/json"]);void 0!==h&&(a=a.set("Content-Type",h));let f="json";return l&&(f=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/get-spatial-placement`,o,{context:c,responseType:f,withCredentials:this.configuration.withCredentials,headers:a,observe:i,reportProgress:r})}gtexRuiLocations(t,i="body",r=!1,s){const o=t.cache;let a=new Lr({encoder:this.encoder});null!=o&&(a=this.addToHttpParams(a,o,"cache"));let l=this.defaultHeaders,c=s&&s.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=s&&s.context;void 0===u&&(u=new Zs);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/gtex/rui_locations.jsonld`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:i,reportProgress:r})}hubmapRuiLocations(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/hubmap/rui_locations.jsonld`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}ontologyTermOccurences(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,v=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),v&&v.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-term-occurences`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}ontologyTreeModel(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-tree-model`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}providerNames(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/provider-names`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}referenceOrganScene(t,i="body",r=!1,s){const o=t.organIri;if(null==o)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");const a=t.age,l=t.ageRange,c=t.bmi,u=t.bmiRange,h=t.cache,f=t.ontologyTerms,g=t.cellTypeTerms,m=t.providers,v=t.sex,x=t.spatial,U=t.technologies,D=t.token;let ie=new Lr({encoder:this.encoder});null!=a&&(ie=this.addToHttpParams(ie,a,"age")),null!=l&&(ie=this.addToHttpParams(ie,l,"age-range")),null!=c&&(ie=this.addToHttpParams(ie,c,"bmi")),null!=u&&(ie=this.addToHttpParams(ie,u,"bmi-range")),null!=h&&(ie=this.addToHttpParams(ie,h,"cache")),f&&f.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"ontology-terms")}),g&&g.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"cell-type-terms")}),null!=o&&(ie=this.addToHttpParams(ie,o,"organ-iri")),m&&m.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"providers")}),null!=v&&(ie=this.addToHttpParams(ie,v,"sex")),x&&x.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"spatial")}),U&&U.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"technologies")}),null!=D&&(ie=this.addToHttpParams(ie,D,"token"));let _e=this.defaultHeaders,Pe=s&&s.httpHeaderAccept;void 0===Pe&&(Pe=this.configuration.selectHeaderAccept(["application/json"])),void 0!==Pe&&(_e=_e.set("Accept",Pe));let Ne=s&&s.context;void 0===Ne&&(Ne=new Zs);let Ve="json";return Pe&&(Ve=Pe.startsWith("text")?"text":this.configuration.isJsonMime(Pe)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organ-scene`,{context:Ne,params:ie,responseType:Ve,withCredentials:this.configuration.withCredentials,headers:_e,observe:i,reportProgress:r})}referenceOrgans(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organs`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}scene(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,v=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),v&&v.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/scene`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}sparql(t,i="body",r=!1,s){const o=t.query;if(null==o)throw new Error("Required parameter query was null or undefined when calling sparql.");const a=t.token,l=t.format;let c=new Lr({encoder:this.encoder});null!=o&&(c=this.addToHttpParams(c,o,"query")),null!=a&&(c=this.addToHttpParams(c,a,"token")),null!=l&&(c=this.addToHttpParams(c,l,"format"));let u=this.defaultHeaders,h=s&&s.httpHeaderAccept;void 0===h&&(h=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==h&&(u=u.set("Accept",h));let f=s&&s.context;void 0===f&&(f=new Zs);let g="json";return h&&(g=h.startsWith("text")?"text":this.configuration.isJsonMime(h)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/sparql`,{context:f,params:c,responseType:g,withCredentials:this.configuration.withCredentials,headers:u,observe:i,reportProgress:r})}sparqlPost(t,i="body",r=!1,s){const o=t.sparqlQueryRequest;if(null==o)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");const a=t.token,l=t.format;let c=new Lr({encoder:this.encoder});null!=a&&(c=this.addToHttpParams(c,a,"token")),null!=l&&(c=this.addToHttpParams(c,l,"format"));let u=this.defaultHeaders,h=s&&s.httpHeaderAccept;void 0===h&&(h=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==h&&(u=u.set("Accept",h));let f=s&&s.context;void 0===f&&(f=new Zs);const m=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==m&&(u=u.set("Content-Type",m));let v="json";return h&&(v=h.startsWith("text")?"text":this.configuration.isJsonMime(h)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/sparql`,o,{context:f,params:c,responseType:v,withCredentials:this.configuration.withCredentials,headers:u,observe:i,reportProgress:r})}technologyNames(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/technology-names`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}tissueBlocks(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,v=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),v&&v.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/tissue-blocks`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}}return n.\u0275fac=function(t){return new(t||n)(Ie(_u),Ie(C9,8),Ie(Yb,8))},n.\u0275prov=We({factory:function(){return new n(Ie(_u),Ie(C9,8),Ie(Yb,8))},token:n,providedIn:"root"}),n})(),pRe=(()=>{class n{constructor(t,i){if(t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!i)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}static forRoot(t){return{ngModule:n,providers:[{provide:Yb,useFactory:t}]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12),Ie(_u,8))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[],imports:[[]]}),n})();function vu(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}let Ak;function Cc(){return Ak||(Ak=function(n,e){const t=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let e;return new Promise(t=>{const i=()=>indexedDB.databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}().then(()=>{const i=indexedDB.open("keyval-store");return i.onupgradeneeded=()=>i.result.createObjectStore(e),vu(i)});return(i,r)=>t.then(s=>r(s.transaction(e,i).objectStore(e)))}(0,"keyval")),Ak}function A9(n,e=Cc()){return e("readonly",t=>vu(t.get(n)))}var Un=et(1440);const a1="Unknown Euler angle order",Hm=.99999;class Zi extends mx{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return Zi.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(e){return Zi.RotationOrders[e]}get ELEMENTS(){return 4}constructor(e=0,t=0,i=0,r=Zi.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(e,t,i,r)}fromQuaternion(e){const[t,i,r,s]=e,o=i*i,a=-2*(o+r*r)+1,l=2*(t*i+s*r);let c=-2*(t*r-s*i);c=c>1?1:c,c=c<-1?-1:c;const f=Math.atan2(2*(i*r+s*t),-2*(t*t+o)+1),g=Math.asin(c),m=Math.atan2(l,a);return new Zi(f,g,m,Zi.RollPitchYaw)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}set(e=0,t=0,i=0,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=Number.isFinite(r)?r:this[3],this.check()}validate(){return function(n){return n>=0&&n<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}toArray4(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}toVector3(e=[-0,-0,-0]){return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}get x(){return this[0]}set x(e){this[0]=nr(e)}get y(){return this[1]}set y(e){this[1]=nr(e)}get z(){return this[2]}set z(e){this[2]=nr(e)}get alpha(){return this[0]}set alpha(e){this[0]=nr(e)}get beta(){return this[1]}set beta(e){this[1]=nr(e)}get gamma(){return this[2]}set gamma(e){this[2]=nr(e)}get phi(){return this[0]}set phi(e){this[0]=nr(e)}get theta(){return this[1]}set theta(e){this[1]=nr(e)}get psi(){return this[2]}set psi(e){this[2]=nr(e)}get roll(){return this[0]}set roll(e){this[0]=nr(e)}get pitch(){return this[1]}set pitch(e){this[1]=nr(e)}get yaw(){return this[2]}set yaw(e){this[2]=nr(e)}get order(){return this[3]}set order(e){this[3]=function(n){if(n<0&&n>=6)throw new Error(a1);return n}(e)}fromVector3(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}fromArray(e,t=0){return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}fromRollPitchYaw(e,t,i){return this.set(e,t,i,Zi.ZYX)}fromRotationMatrix(e,t=Zi.DefaultOrder){return this._fromRotationMatrix(e,t),this.check()}getRotationMatrix(e){return this._getRotationMatrix(e)}getQuaternion(){const e=new mR;switch(this[4]){case Zi.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case Zi.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case Zi.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case Zi.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case Zi.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case Zi.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(a1)}}_fromRotationMatrix(e,t=Zi.DefaultOrder){const i=e.elements,r=i[0],s=i[4],o=i[8],a=i[1],l=i[5],c=i[9],u=i[2],h=i[6],f=i[10];switch(t=t||this[3]){case Zi.XYZ:this[1]=Math.asin(Ua(o,-1,1)),Math.abs(o)1&&void 0!==arguments[1]?arguments[1]:0,t=(co[n[e+0]]+co[n[e+1]]+co[n[e+2]]+co[n[e+3]]+"-"+co[n[e+4]]+co[n[e+5]]+"-"+co[n[e+6]]+co[n[e+7]]+"-"+co[n[e+8]]+co[n[e+9]]+"-"+co[n[e+10]]+co[n[e+11]]+co[n[e+12]]+co[n[e+13]]+co[n[e+14]]+co[n[e+15]]).toLowerCase();if(!DRe(t))throw TypeError("Stringified UUID is invalid");return t}(i)};var c1=et(1609);const Gm=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Rr=(Math,Math,{});function LRe(n,{precision:e=Rr.precision||4}={}){return n=function(n){return Math.round(n/Rr.EPSILON)*Rr.EPSILON}(n),"".concat(parseFloat(n.toPrecision(e)))}function Mh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Xb(n,e,t){const i=Rr.EPSILON;t&&(Rr.EPSILON=t);try{if(n===e)return!0;if(Mh(n)&&Mh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+LRe(this[i],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e=a+s)return this.clone();if(s>=a+i)return e.clone();const l=.5*(i+a+s);return P9.copy(o).scale((-i+l)/a).add(t),this.center.copy(P9),this.radius=l,this}expand(e){const t=(e=Kb.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}transform(e){this.center.transform(e);const t=function(n,e){var s=e[4],o=e[5],a=e[6],l=e[8],c=e[9],u=e[10];return n[0]=Math.hypot(e[0],e[1],e[2]),n[1]=Math.hypot(s,o,a),n[2]=Math.hypot(l,c,u),n}(Kb,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const t=(e=Kb.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}intersectPlane(e){const i=this.radius,s=e.normal.dot(this.center)+e.distance;return s<-i?Gm.OUTSIDE:s0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return sH(this,this,e),this.check()}rotateY(e){return oH(this,this,e),this.check()}rotateZ(e){return aH(this,this,e),this.check()}scale(e){return pR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=JRe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return nb(this,e,t,i),this.check()}transformVector4(e,t=e){return OU(t,e,this),M9(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const ePe=new Pn,tPe=new Pn,u1=new Pn,d1=new Pn,h1=new Pn,nPe=new Pn,iPe=new Pn;class Nk{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=(new Pn).from(e),this.halfAxes=new Zo(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2);return[new Pn(e).len(),new Pn(t).len(),new Pn(i).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2),r=new Pn(e).normalize(),s=new Pn(t).normalize(),o=new Pn(i).normalize();return(new k9).fromMatrix3(new Zo([...r,...s,...o]))}fromCenterHalfSizeQuaternion(e,t,i){const r=new k9(i),s=(new Zo).fromQuaternion(r);return s[0]=s[0]*t[0],s[1]=s[1]*t[0],s[2]=s[2]*t[0],s[3]=s[3]*t[1],s[4]=s[4]*t[1],s[5]=s[5]*t[1],s[6]=s[6]*t[2],s[7]=s[7]*t[2],s[8]=s[8]*t[2],this.center=(new Pn).from(e),this.halfAxes=s,this}clone(){return new Nk(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new Pk){const t=this.halfAxes,i=t.getColumn(0,u1),r=t.getColumn(1,d1),s=t.getColumn(2,h1),o=ePe.copy(i).add(r).add(s);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){const t=this.center,i=e.normal,r=this.halfAxes,s=i.x,o=i.y,a=i.z,l=Math.abs(s*r[0]+o*r[1]+a*r[2])+Math.abs(s*r[3]+o*r[4]+a*r[5])+Math.abs(s*r[6]+o*r[7]+a*r[8]),c=i.dot(t)+e.distance;return c<=-l?Gm.OUTSIDE:c>=l?Gm.INSIDE:Gm.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=tPe.from(e).subtract(this.center),i=this.halfAxes,r=i.getColumn(0,u1),s=i.getColumn(1,d1),o=i.getColumn(2,h1),a=r.magnitude(),l=s.magnitude(),c=o.magnitude();r.normalize(),s.normalize(),o.normalize();let h,u=0;return h=Math.abs(t.dot(r))-a,h>0&&(u+=h*h),h=Math.abs(t.dot(s))-l,h>0&&(u+=h*h),h=Math.abs(t.dot(o))-c,h>0&&(u+=h*h),u}computePlaneDistances(e,t,i=[-0,-0]){let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const o=this.center,a=this.halfAxes,l=a.getColumn(0,u1),c=a.getColumn(1,d1),u=a.getColumn(2,h1),h=nPe.copy(l).add(c).add(u).add(o),f=iPe.copy(h).subtract(e);let g=t.dot(f);return r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).add(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),i[0]=r,i[1]=s,i}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,u1);t.transformAsPoint(e);const i=this.halfAxes.getColumn(1,d1);i.transformAsPoint(e);const r=this.halfAxes.getColumn(2,h1);return r.transformAsPoint(e),this.halfAxes=new Zo([...t,...i,...r]),this}getTransform(){throw new Error("not implemented")}}const F9=new Pn,L9=new Pn;class kk{constructor(e=[0,0,1],t=0){this.normal=new Pn,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return Tc(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=F9.from(e),this.normal.from(t).normalize();const i=-this.normal.dot(e);return this.distance=i,this}fromCoefficients(e,t,i,r){return this.normal.set(e,t,i),Tc(Xb(this.normal.len(),1)),this.distance=r,this}clone(e){return new kk(this.normal,this.distance)}equals(e){return Xb(this.distance,e.distance)&&Xb(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=L9.copy(this.normal).transformAsVector(e).normalize(),i=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(i,t)}projectPointOntoPlane(e,t=[0,0,0]){e=F9.from(e);const i=this.getPointDistance(e),r=L9.copy(this.normal).scale(i);return e.subtract(r).to(t)}}function*Uk(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,Un.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,c1.fromRdf)(s.object):s.object.id;yield[r,o]}}function dp(n,e,t,i){const r={"@id":e,"@type":t};for(const[s,o]of Object.entries(i))for(const a of(0,Un.readQuads)(n,r["@id"],s,null,null)){const l="Literal"===a.object.termType?(0,c1.fromRdf)(a.object):a.object.id;r[o]=l}return r}new Pn([1,0,0]),new Pn([0,1,0]),new Pn([0,0,1]),new Pn,new Pn,new kk(new Pn(1,0,0),0),new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,Math,new Zo,new Zo,new Zo,new Zo,new Zo,new Pn,new Pn,new Pn,new Pn,new Pn,new Zo,new Zo,new Zo;const ir=Un.Util.prefixes({base:"http://purl.org/ccf/latest/ccf.owl#",ccf:"http://purl.org/ccf/",fma:"http://purl.org/sig/ont/fma/fma",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/"},Un.DataFactory),U9={x:ir("rdf"),type:ir("rdf")("type")},dn=(ir("rdfs"),ir("rdfs")("label"),ir("rdfs")("comment"),ir("rdfs")("isDefinedBy"),ir("rdfs")("seeAlso"),ir("ccf")),vi={id:ir("ccf")("has_registration_location"),label:ir("rdfs")("label"),description:ir("rdfs")("comment"),link:dn("url"),sex:dn("sex"),age:dn("age"),bmi:dn("bmi"),Male:Un.DataFactory.literal("Male"),Female:Un.DataFactory.literal("Female"),consortiumName:dn("consortium_name"),providerName:dn("tissue_provider_name"),providerUUID:dn("tissue_provider_uuid"),donor:dn("comes_from"),sections:dn("subdivided_into_sections"),datasets:dn("generates_dataset"),sampleType:dn("sample_type"),TissueBlock:Un.DataFactory.literal("Tissue Block"),TissueSection:Un.DataFactory.literal("Tissue Section"),NonStandard:Un.DataFactory.literal("Non-standard"),sectionCount:dn("section_count"),sectionSize:dn("section_size"),sectionUnits:dn("section_size_unit"),sectionNumber:dn("section_number"),spatialEntity:dn("has_registration_location"),ontologyTerms:dn("has_ontology_term"),cellTypeTerms:dn("has_cell_type_term"),technology:dn("technology"),thumbnail:dn("thumbnail")},ki={x:dn,base:ir("base"),ontologyNode:{label:dn("ccf_pref_label"),parent:dn("ccf_part_of"),children:dn("ccf_part_of"),rui_rank:dn("rui_rank"),synonymLabels:Un.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:dn("ccf_part_of"),ct_is_a:dn("ccf_ct_isa"),located_in:dn("ccf_located_in"),characterizes:dn("ccf_characterizes")},spatial:{Female:ir("base")("VHFemale"),Male:ir("base")("VHMale"),BothSexes:ir("base")("VHBothSexes"),FemaleOrgans:ir("base")("VHFemaleOrgans"),MaleOrgans:ir("base")("VHMaleOrgans")},SpatialObjectReference:dn("spatial_object_reference"),SpatialEntity:dn("spatial_entity"),SpatialPlacement:dn("spatial_placement"),spatialObjectReference:{file:dn("file_url"),file_format:dn("file_format"),file_subpath:dn("file_subpath")},extractionSet:{label:ir("rdfs")("label"),rui_rank:dn("rui_rank")},spatialEntity:{label:ir("rdfs")("label"),description:ir("rdfs")("comment"),creator:ir("dcterms")("creator"),creator_first_name:dn("creator_first_name"),creator_last_name:dn("creator_last_name"),creator_orcid:dn("creator_orcid"),creation_date:ir("dcterms")("created"),updated_date:dn("updated_date"),ccf_annotations:dn("collides_with"),representation_of:dn("representation_of"),reference_organ:dn("has_reference_organ"),extraction_set_for:dn("extraction_set_for"),extraction_set:dn("has_extraction_set"),sex:dn("organ_owner_sex"),side:dn("organ_side"),rui_rank:dn("rui_rank"),slice_thickness:dn("slice_thickness"),slice_count:dn("slice_count"),x_dimension:dn("x_dimension"),y_dimension:dn("y_dimension"),z_dimension:dn("z_dimension"),dimension_units:dn("dimension_unit"),object:dn("has_object_reference")},spatialPlacement:{source:dn("placement_for"),target:dn("placement_relative_to"),placement_date:ir("dcterms")("created"),x_scaling:dn("x_scaling"),y_scaling:dn("y_scaling"),z_scaling:dn("z_scaling"),scaling_units:dn("scaling_unit"),x_rotation:dn("x_rotation"),y_rotation:dn("y_rotation"),z_rotation:dn("z_rotation"),w_rotation:dn("theta_rotation"),rotation_order:dn("rotation_order"),rotation_units:dn("rotation_unit"),x_translation:dn("x_translation"),y_translation:dn("y_translation"),z_translation:dn("z_translation"),translation_units:dn("translation_unit")}},di={x:ir("uberon"),body:ir("uberon")("0013702")},NPe={x:ir("cl"),cell:ir("cl")("0000000")},Zb={x:ir("fma")},vd=(ir("lmha"),{body:di.body,cell:NPe.cell,respiratory_system:di.x("0001004"),colon:di.x("0001155"),left_lung:di.x("0002168"),right_lung:di.x("0002167"),left_bronchus:di.x("0002178"),right_bronchus:di.x("0002177"),kidney:di.x("0002113"),ureter:di.x("0000056"),eye:di.x("0000970"),fallopian_tube:di.x("0003889"),knee:di.x("0001465"),ovary:di.x("0000992"),trachea:di.x("0003126"),aorta:di.x("0000947"),blood:di.x("0000178"),bone_marrow:di.x("0002371"),male_reproductive_system:di.x("0000079"),lymph_node:di.x("0000029"),blood_vasculature:di.x("0004537"),brain:di.x("0000955"),eye_left:di.x("0004548"),eye_right:Zb.x("54449"),fallopian_tube_left:di.x("0001303"),fallopian_tube_right:di.x("0001302"),heart:di.x("0000948"),kidney_left:di.x("0004538"),kidney_right:di.x("0004539"),knee_left:Zb.x("24978"),knee_right:Zb.x("24977"),large_intestine:di.x("0000059"),liver:di.x("0002107"),lungs:di.x("0002048"),mesenteric_lymph_node:di.x("0002509"),ovary_left:Zb.x("7214"),ovary_right:Zb.x("7213"),pancreas:di.x("0001264"),pelvis:di.x("0001270"),prostate_gland:di.x("0002367"),skin:di.x("0002097"),small_intestine:di.x("0002108"),spleen:di.x("0002106"),thymus:di.x("0002370"),ureter_left:di.x("0001223"),ureter_right:di.x("0001222"),urinary_bladder:di.x("0001255"),uterus:di.x("0000995")});function zk(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}const p1={spatialObjectReference:zk(ki.spatialObjectReference),spatialEntity:zk(ki.spatialEntity),spatialPlacement:zk(ki.spatialPlacement)};function z9(n,e){const t=dp(n,e,"ExtractionSet",p1.spatialEntity);return t.extractionSites=(0,mr.sortBy)(n.getSubjects(ki.spatialEntity.extraction_set,e,null).map(i=>hp(n,i.id)),["rui_rank"]),t}function hp(n,e){const t=dp(n,e,"SpatialEntity",p1.spatialEntity);return t.object&&(t.object=function(n,e){return dp(n,e,"SpatialObjectReference",p1.spatialObjectReference)}(n,t.object)),t.ccf_annotations&&(t.ccf_annotations=n.getObjects(e,ki.spatialEntity.ccf_annotations,null).map(i=>i.id)),n.forSubjects(i=>t.entityId=i.id,vi.spatialEntity,e,null),t}function VPe(n,e){const t=dp(n,e,"SpatialPlacement",p1.spatialPlacement);return t.source&&(t.source=hp(n,t.source)),t.target&&(t.target=hp(n,t.target)),t}function H9(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(_j),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}class G9{constructor(e){this.db=e,this.createGraph()}createGraph(){this.graph=new ERe.DirectedGraph;const e=this.db.store;e.forSubjects(i=>{this.addNode(i.id,"SpatialObjectReference")},U9.type,ki.SpatialObjectReference,null),e.forSubjects(i=>{this.addNode(i.id,"SpatialEntity")},U9.type,ki.SpatialEntity,null);const t={};for(const i of(0,Un.readQuads)(e,null,ki.spatialPlacement.source,null,null))t[i.subject.id]=i.object.id;for(const i of(0,Un.readQuads)(e,null,ki.spatialPlacement.target,null,null)){const r=t[i.subject.id];r&&this.addEdge(i.subject.id,r,i.object.id,"SpatialPlacement")}}addNode(e,t){this.graph.mergeNode(e,{type:t})}addEdge(e,t,i,r){this.graph.mergeDirectedEdge(t,i,{type:r,id:e})}getTransformationMatrix(e,t){if(e===t)return new qn(qn.IDENTITY);if(!this.graph.hasNode(e)||!this.graph.hasNode(t))return;const i=this.db.store,r=new qn(qn.IDENTITY),s=SRe()(this.graph,e,t);if(s&&s.length>0){s.reverse();let o="";for(const a of s)o&&H9(r,VPe(i,this.graph.getEdgeAttribute(a,o,"id"))),o=a;return r}}getSpatialPlacement(e,t){const i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,mr.get)(e,"placement[0]",(0,mr.get)(e,"placement",void 0));let s;if(r&&this.graph.hasNode(r.target)?(s=this.getTransformationMatrix(r.target,t),s&&(s=H9(s,r))):i&&(s=this.getTransformationMatrix(i,t)),s){const o=(new Zi).fromRotationMatrix(s,Zi.XYZ),a=s.getTranslation().map(u=>1e3*u),l=o.toVector3().map(dse),c=s.getScale().map(u=>u<1&&u>.999999?1:u);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${PRe()}_placement`,"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:c[0],y_scaling:c[1],z_scaling:c[2],scaling_units:"ratio",x_rotation:l[0],y_rotation:l[1],z_rotation:l[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}class $9{constructor(e){this.db=e}getSpatialEntity(e){return hp(this.db.store,e)}getExtractionSets(e){return function(n,e){return(0,mr.sortBy)(n.getSubjects(ki.spatialEntity.extraction_set_for,e,null).map(t=>z9(n,t.id)),["rui_rank"])}(this.db.store,e)}getExtractionSet(e){return z9(this.db.store,e)}getAnatomicalStructures(e){return function(n,e){return(0,mr.sortBy)(n.getSubjects(ki.spatialEntity.reference_organ,e,null).map(t=>hp(n,t.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,e)}getReferenceOrgans(){return function(n){const e=[];return n.forEach(t=>{t.subject.id===t.object.id&&e.push(hp(n,t.subject.id))},null,ki.spatialEntity.reference_organ,null,null),(0,mr.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(e){let t;switch(null==e?void 0:e.sex){case"Male":t=ki.spatial.Male.id;break;case"Female":t=ki.spatial.Female.id;break;case"Both":default:t=ki.spatial.BothSexes.id}return this.getSpatialEntity(t)}getReferenceOrganSets(e){let t=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":t=t.filter(i=>"Male"===i.sex);break;case"Female":t=t.filter(i=>"Female"===i.sex)}return(null==e?void 0:e.debug)&&(t=t.map(i=>[[i],this.getAnatomicalStructures(i["@id"])]).reduce((i,[r,s])=>i.concat(s.length>0?s:r),[])),t}getReferenceSceneNodes(e){const t=this.getReferenceBody(e),i=[];let r=[...this.getReferenceOrganSets(e).map(s=>{const o="http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of,a=this.getSceneNode(s,t,{color:[255,255,255,255],opacity:o?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!o});return o&&a?void i.push(a):a})];return i.length>0&&(r=[...i,...r]),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(ki.base("VHRightKidney").id),t,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHLeftKidney").id),t,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC1").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC2").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC3").id),t,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(s=>void 0!==s)}getReferenceOrganScene(e,t){var i,r;const s=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(i=null==t?void 0:t.sex)||void 0===i?void 0:i.toLowerCase()),o=this.getReferenceOrgans().filter(a=>a.representation_of===e&&(!s||a.sex===(null==t?void 0:t.sex)));if(o.length>0){const a=o[0],c=this.getSceneNode(a,a,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===a.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),u=(null!==(r=this.db.getSpatialEntities(t))&&void 0!==r?r:[]).map(h=>this.getSceneNode(h,a,{color:[255,255,255,229.5]}));return[c].concat(u).filter(h=>void 0!==h)}return[]}getEntitySceneNodes(e){const t=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(i=>this.getSceneNode(i,t,{color:[255,255,255,229.5]})).filter(i=>void 0!==i)}getSceneNode(e,t,i={}){var r,s,o,a;const l=null===(s=null===(r=null==e?void 0:e.object)||void 0===r?void 0:r.file_format)||void 0===s?void 0:s.startsWith("model/gltf");let u=this.db.graph.getTransformationMatrix(l&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(l)u=new qn(qn.IDENTITY).rotateX(_j(90)).multiplyLeft(u);else{let h;switch(e.dimension_units){case"centimeter":h=.01;break;case"millimeter":h=.001;break;case"meter":default:h=1}const f=[e.x_dimension,e.y_dimension,e.z_dimension].map(g=>g*h/2);u.scale(f)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:l?null===(o=e.object)||void 0===o?void 0:o.file:void 0,scenegraphNode:l?null===(a=e.object)||void 0===a?void 0:a.file_subpath:void 0,transformMatrix:u,tooltip:e.label},i)}}getScene(e){return[...this.getReferenceSceneNodes(e),...this.getEntitySceneNodes(e)]}}const g1="https://entity.api.hubmapconsortium.org/entities/",W9=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),UPe={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},qm={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},q9="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld";class GPe{constructor(e,t="",i="",r){var s,o;if(this.data=e,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const c=this.data.descendants||[],u=(this.data.ancestors||[]).find(Ne=>"Donor"===Ne.entity_type);this.donor=this.getDonor(u,i);const h=this.getRuiLocation(e,this.donor);h?this.rui_location=h:this.bad=!0,qm[e.group_uuid]||(qm[e.group_uuid]=e.group_name);const f=new Date(e.last_modified_timestamp).toLocaleDateString(),g=qm[e.group_uuid]||e.group_name,m=e.created_by_user_displayname;this["@id"]=g1+e.uuid,this.label=`Registered ${f}, ${m}, ${g}`,this.link=`${i}browse/sample/${e.uuid}`;const v={},x=[];this.sections=x;const U=[];this.datasets=U;for(const Ne of c.filter(Ve=>"Sample"===Ve.entity_type)){const Ve=this.getSection(Ne,e,i);v[Ne.submission_id]=Ve,x.push(Ve),Ve.section_number=null!==(s=Ve.section_number)&&void 0!==s?s:x.length}for(const Ne of c)if("Dataset"===Ne.entity_type){const Ve=this.getDataset(Ne,t,i,r),bt=(0,mr.get)(Ne,["ingest_metadata","metadata","tissue_id"]);v[bt]?null===(o=v[bt].datasets)||void 0===o||o.push(Ve):U.push(Ve)}const D=null!=h?h:{},ie=`${D.x_dimension} x ${D.y_dimension} x ${D.z_dimension} ${D.dimension_units}`;this.section_count=D.slice_count||x.length;const _e=parseFloat((D.slice_thickness||(D.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=_e;const Pe=D.dimension_units||"millimeter";this.section_units=Pe,this.description=`${ie}, ${_e} ${Pe}, ${this.section_count} Sections`,x.forEach((Ne,Ve)=>{Ne.description=`${D.x_dimension} x ${D.y_dimension} x ${_e} ${Pe}, ${_e} ${Pe}, ${Ne.description}`,Ne.section_number=Ve+1})}getSection(e,t,i){const r=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":g1+e.uuid,"@type":"Sample",label:`Registered ${r}, ${e.created_by_user_displayname}, ${qm[e.group_uuid]||e.group_name}`,description:`${t.sample_category}`,link:`${i}browse/sample/${e.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(e,t="",i="",r){var s;const o=new Date(e.last_modified_timestamp).toLocaleDateString(),a=qm[e.group_uuid]||e.group_name,l=e.created_by_user_displayname,c=[...e.data_types,(0,mr.get)(e,["ingest_metadata","metadata","assay_type"],"")],u=c.join("|").toLowerCase();let h,f="assets/icons/ico-unknown.svg";return-1!==u.indexOf("10x")?(h="10x",f="assets/icons/ico-bulk-10x.svg"):-1!==u.indexOf("af")?(h="AF",f="assets/icons/ico-spatial-af.svg"):-1!==u.indexOf("codex")?(h="CODEX",f="assets/icons/ico-spatial-codex.svg"):-1!==u.indexOf("imc")?(h="IMC",f="assets/icons/ico-spatial-imc.svg"):-1!==u.indexOf("lc")&&-1===u.indexOf("af")?(h="LC",f="assets/icons/ico-bulk-lc.svg"):h=-1!==u.indexOf("maldi")?"MALDI":-1!==u.indexOf("pas")?"PAS":"OTHER",f=null!==(s=this.getDatasetThumbnail(e,t,r))&&void 0!==s?s:f,{"@id":g1+e.uuid,"@type":"Dataset",label:`Registered ${o}, ${l}, ${a}`,description:`Data/Assay Types: ${c.join(", ")}`,link:`${i}browse/dataset/${e.uuid}`,technology:h,thumbnail:f}}getDatasetThumbnail(e,t,i){if(e.thumbnail_file){const r=e.thumbnail_file;return`${t}/${r.file_uuid}/${r.filename}`+(i?`?token=${i}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){const r=(0,mr.get)(e,"metadata.files",[]).filter(s=>/\.(ome\.tif|ome\.tiff)$/.test(s.rel_path)).filter(s=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(s.rel_path)).filter(s=>W9.has(s.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(s=>`${t}/${e.uuid}/${s.rel_path}`+(i?`?token=${i}`:""));if(r.length>0){const s=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(W9.has(s))return`assets/thumbnails/TMC-Vanderbilt/DR1/${s}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){const r=UPe[e.hubmap_id];if(r)return`assets/thumbnails/TMC-Florida/${r}`}}getDonor(e,t){const i=(e.description||"").toLowerCase();let r;i.includes("female")?r="Female":i.includes("male")&&(r="Male");const s=i.match(/age ([0-9]+)/);let o,a;s&&(o=(0,mr.toNumber)(s[1]));for(const f of(0,mr.get)(e,"metadata.organ_donor_data",(0,mr.get)(e,"metadata.living_donor_data",[])))"Feminine gender"===f.preferred_term||"Female"===f.preferred_term?r="Female":"Masculine gender"===f.preferred_term||"Male"===f.preferred_term?r="Male":"Current chronological age"===f.preferred_term||"Age"===f.preferred_term?o=(0,mr.toNumber)(f.data_value):"Body mass index"===f.preferred_term&&(a=(0,mr.toNumber)(f.data_value));let l="";r&&o&&(l+=`${r}, Age ${o}`,a&&(l+=`, BMI ${a.toFixed(1)}`));const c=new Date(e.last_modified_timestamp).toLocaleDateString(),u=qm[e.group_uuid]||e.group_name;return{"@id":g1+e.uuid,"@type":"Donor",label:l,description:`Entered ${c}, ${e.created_by_user_displayname}, ${u}`,link:`${t}browse/donor/${e.uuid}`,age:o,sex:r,bmi:a,consortium_name:"HuBMAP",provider_name:u,provider_uuid:e.group_uuid,samples:[]}}getRuiLocation(e,t){var i;let r,s=e.rui_location;if(s&&("string"==typeof s&&(s=JSON.parse(s)),s.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):s["@id"]&&(r=s),s["@context"]="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"),r){const o=null!==(i=(0,mr.get)(r,["placement","target"]))&&void 0!==i?i:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,mr.set)(r,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,mr.set)(r,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return r}getTissueBlock(){return(0,mr.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const WPe=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.metadata.living_donor_data.preferred_term","ancestors.metadata.living_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","sample_category"],qPe={exists:{field:"rui_location"}};function Y9(n,e,t){return JSON.stringify({version:!0,from:n,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=t?t:qPe,_source:{includes:WPe}})}function Hk(n,e){return Bi(this,void 0,void 0,function*(){try{const t=yield fetch(n,e),i=yield t.text();return t.ok||i.startsWith("https")?i.startsWith("https")?yield fetch(i).then(s=>s.json()):JSON.parse(i):void 0}catch(t){return}})}function X9(n,e,t,i,r="",s=""){return Bi(this,void 0,void 0,function*(){let o;if("static"===e?o=yield Hk(n):"search-api"===e&&(o=yield function(n,e,t){return Bi(this,void 0,void 0,function*(){const i=1e4,r=function(n){const e=new Headers;return e.append("Content-type","application/json"),n&&e.append("Authorization",`Bearer ${n}`),e}(e),s=Y9(0,i,t),o=yield Hk(n,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let h=i;h!h))return;const u=c.map(h=>h.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(n,i,t)),o)return function(n,e="",t="",i,r=!1){const o={},a=(0,mr.get)(n,"hits.hits",[]).map(c=>(0,mr.get)(c,"_source",{})).sort((c,u)=>c.uuid.localeCompare(u.uuid)).map(c=>new GPe(c,e,t,i).toJsonLd());for(const c of a){const u=c["@id"];o[u]?o[u].samples.push(c.samples[0]):o[u]=c}const l=Object.values(o);return r&&(function(n){let e=[],t=0;for(const i of n.filter(r=>r.samples.length>1)){const r=i.samples;for(let s=0;sc["@id"]===o)&&(r[s].deleteMe=!0,t++)}i.samples=r.filter(s=>!0!==s.deleteMe)}t>0&&console.log(`\u26a0 ${t} sections identified as blocks`)}(l),console.log(l.map(c=>Object.assign({"@context":q9},c)))),{"@context":q9,"@graph":l}}(o,r,s,i);console.warn(`Unable to load ${n} as HuBMAP Data`)})}function Jb(n,e,t){const i=new Set;for(const r of e)for(const s of(0,Un.readQuads)(n,r,t,null,null))i.add(s.object.id);return i}const JPe={[ki.spatialEntity.x_dimension.id]:"x",[ki.spatialEntity.y_dimension.id]:"y",[ki.spatialEntity.z_dimension.id]:"z"};function tNe(n,e,t,i){const r=e.getTransformationMatrix(t,i);let s;if(r){const o=r.getTranslation(),a=function(n,e){const t=dp(n,e,"Dimensions",JPe);return[t.x,t.y,t.z]}(n,t).map(c=>c/1e3/2),l=(new Zi).fromRotationMatrix(r,Zi.XYZ).toQuaternion().normalize().calculateW();s=(new Nk).fromCenterHalfSizeQuaternion(o,a,l)}return s}function nNe(n,e,t,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of t){const f=tNe(n,e,h,l);f&&f.distanceSquaredTo([r,s,o].map(m=>m/1e3))<=u&&c.add(h)}return c}function m1(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,Un.readQuads)(n,c,vi.donor,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function Gk(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,Un.readQuads)(n,c,vi.spatialEntity,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function ev(n,e){return function(t){n.has(t.id)&&e.add(t.id)}}function K9(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.namedNode(r);n.forSubjects(ev(e,i),ki.spatialEntity.ccf_annotations,s,null)}return i}function Q9(n,e){const t=function(n,e){const t=new Map;for(const i of n)for(const r of(0,Un.readQuads)(e,i,vi.spatialEntity,null,null))t.has(r.object.id)?t.get(r.object.id).add(i):t.set(r.object.id,new Set([i]));return t}(n,e),i=new Map;for(const r of t.keys()){const s=t.get(r);for(const o of(0,Un.readQuads)(e,r,ki.spatialEntity.ccf_annotations,null,null))if(i.has(o.object.id)){const a=i.get(o.object.id);s.forEach(l=>a.add(l))}else i.set(o.object.id,new Set(s))}return i}function _Ne(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[ki.ontologyNode.label.id]:"label",[t]:"parent",[ki.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of Uk(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function Z9(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,Un.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=_Ne(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,J9(r),r}function J9(n,e,t=new Set){const i=n.nodes[null!=e?e:n.root];if(i){i.children=i.children.filter(r=>!t.has(r)),i.children.forEach(r=>t.add(r));for(const r of i.children)J9(n,r,t),n.nodes[r]&&(n.nodes[r].parent=i["@id"])}}const eq=(0,mr.memoize)(function(n){const e=Z9(n,vd.body.id,"body",ki.asctb.part_of.id);return e.nodes[vd.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),_1={[vi.label.id]:"label",[vi.description.id]:"description",[vi.link.id]:"link"},vNe=Object.assign(Object.assign({},_1),{[vi.providerName.id]:"providerName"}),wNe=Object.assign(Object.assign({},_1),{[vi.technology.id]:"technology",[vi.thumbnail.id]:"thumbnail"}),ENe=Object.assign(Object.assign({},_1),{[vi.sampleType.id]:"sampleType",[vi.sectionNumber.id]:"sectionNumber",[vi.datasets.id]:"datasets"}),xNe=Object.assign(Object.assign({},_1),{[vi.sampleType.id]:"sampleType",[vi.sectionCount.id]:"sectionCount",[vi.sectionSize.id]:"sectionSize",[vi.sectionUnits.id]:"sectionUnits",[vi.donor.id]:"donor",[vi.spatialEntity.id]:"spatialEntityId",[vi.sections.id]:"sections",[vi.datasets.id]:"datasets"});function SNe(n,e){return dp(n,e,"Donor",vNe)}function tq(n,e){return dp(n,e,"Dataset",wNe)}function CNe(n,e){const t={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of Uk(n,e,ENe))if("datasets"===i){const s=tq(n,r);t[i].push(s)}else t[i]=r;return t}class ANe{constructor(e){this.database=e,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const e=Date.now();return this.database.connect().then(t=>Bi(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var i;this.status="Error",this.message=null!==(i=null==t?void 0:t.message)&&void 0!==i?i:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-e})}}const MNe={"@context":{"@base":"http://purl.org/ccf/","@vocab":"http://purl.org/ccf/",ccf:"http://purl.org/ccf/",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dcterms:"http://purl.org/dc/terms/",label:"rdfs:label",description:"rdfs:comment",link:"ccf:url",sex:"ccf:sex",age:"ccf:age",bmi:"ccf:bmi",consortium_name:"ccf:consortium_name",provider_name:"ccf:tissue_provider_name",provider_uuid:"ccf:tissue_provider_uuid",donor:{"@id":"ccf:comes_from","@type":"@id"},samples:{"@reverse":"donor"},sections:{"@id":"ccf:subdivided_into_sections","@type":"@id"},datasets:{"@id":"ccf:generates_dataset","@type":"@id"},sample_type:"ccf:sample_type",section_count:"ccf:section_count",section_size:"ccf:section_size",section_units:"ccf:section_size_unit",section_number:"ccf:section_number",rui_location:{"@id":"ccf:has_registration_location","@type":"@id"},ccf_annotations:{"@id":"ccf:collides_with","@type":"@id","@container":"@set"},representation_of:{"@id":"ccf:representation_of","@type":"@id"},reference_organ:{"@id":"ccf:has_reference_organ","@type":"@id"},extraction_set_for:{"@id":"ccf:extraction_set_for","@type":"@id"},extraction_set:{"@id":"ccf:has_extraction_set","@type":"@id"},organ_owner_sex:"ccf:organ_owner_sex",side:"ccf:organ_side",rui_rank:"ccf:rui_rank",slice_thickness:"ccf:slice_thickness",slice_count:"ccf:slice_count",object:{"@id":"ccf:has_object_reference","@type":"@id"},creation_date:"dcterms:created",updated_date:"ccf:updated_date",creator:"dcterms:creator",creator_first_name:"ccf:creator_first_name",creator_last_name:"ccf:creator_last_name",placement:{"@reverse":"ccf:placement_for"},placement_date:"dcterms:created",rotation_order:"ccf:rotation_order",dimension_units:"ccf:dimension_unit",rotation_units:"ccf:rotation_unit",scaling_units:"ccf:scaling_unit",translation_units:"ccf:translation_unit",source:{"@id":"ccf:placement_for","@type":"@id"},target:{"@id":"ccf:placement_relative_to","@type":"@id"},x_rotation:"ccf:x_rotation",y_rotation:"ccf:y_rotation",z_rotation:"ccf:z_rotation",x_scaling:"ccf:x_scaling",y_scaling:"ccf:y_scaling",z_scaling:"ccf:z_scaling",x_translation:"ccf:x_translation",y_translation:"ccf:y_translation",z_translation:"ccf:z_translation",x_dimension:"ccf:x_dimension",y_dimension:"ccf:y_dimension",z_dimension:"ccf:z_dimension",ontology_terms:{"@id":"ccf:has_ontology_term","@type":"@id"},technology:"ccf:technology",thumbnail:"ccf:thumbnail",file:"ccf:file_url",file_format:"ccf:file_format",file_subpath:"ccf:file_subpath"}};function $k(n){return JSON.parse(n,(e,t)=>"ccf_annotations"===e&&Array.isArray(t)?t.map(i=>(null==i?void 0:i.startsWith("http://purl.obolibrary.org/obo/FMA_"))?i.replace("http://purl.obolibrary.org/obo/FMA_","http://purl.org/sig/ont/fma/fma"):i):"@context"!==e||!t||"https://hubmapconsortium.github.io/hubmap-ontology/ccf-entity-context.jsonld"!==t&&"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld"!==t&&"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"!==t&&"http://purl.org/ccf/latest/ccf-entity.owl#"!==t["@base"]?t:MNe)}const INe={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class ONe{constructor(e=INe){this.options=e,this.store=new Un.Store(void 0,{factory:Un.DataFactory}),this.graph=new G9(this),this.scene=new $9(this)}connect(e,t=!1){return Bi(this,void 0,void 0,function*(){return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return Bi(this,void 0,void 0,function*(){const e=(new Date).getTime(),t="ccf-database.last_modified",i="ccf-database",r=yield A9(t).catch(()=>{});let s;r&&e-new Date(+r).getTime()>36e5?yield function(n,e=Cc()){return e("readwrite",t=>(n.forEach(i=>t.delete(i)),vu(t.transaction)))}([i,t]).catch(()=>{}):s=yield A9(i).catch(()=>{}),s?yield this.deserialize(s):(yield this.doConnect(),function(n,e=Cc()){return e("readwrite",t=>(n.forEach(i=>t.put(i[1],i[0])),vu(t.transaction)))}([[i,this.serialize()],[t,""+e]]).catch(()=>{}))})}doConnect(){var e,t;return Bi(this,void 0,void 0,function*(){const i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],s=this.options.ccfOwlUrl;if(s.startsWith("{"))this.store=(0,Un.deserializeN3Store)(s,Un.DataFactory);else if(s.endsWith(".n3store.json")){const o=yield fetch(s).then(a=>a.text()).catch(()=>console.log("Couldn't locate serialized store."));o&&(this.store=(0,Un.deserializeN3Store)(o,Un.DataFactory))}else(null==s?void 0:s.length)>0&&r.push(s);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(X9(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(o=>{if(o)return this.addDataSources([o])}))),i.push(this.addDataSources(r)),yield Promise.all(i),yield this.synchronize()})}addDataSources(e,t){return Bi(this,void 0,void 0,function*(){const i=null!=t?t:this.store;return yield Promise.all(e.map(r=>Bi(this,void 0,void 0,function*(){"string"==typeof r?(r.startsWith("http")||r.startsWith("assets/"))&&r.includes("jsonld")?(r=$k(r=yield fetch(r).then(s=>s.text())),yield(0,Un.addJsonLdToStore)(r,i)):r.endsWith("n3")?yield(0,Un.addN3ToStore)(r,i):r.endsWith("rdf")||r.endsWith("owl")||r.endsWith("xml")?yield(0,Un.addRdfXmlToStore)(r,i):(r=$k(r),yield(0,Un.addJsonLdToStore)(r,i)):(r=$k(JSON.stringify(r)),yield(0,Un.addJsonLdToStore)(r,i))}))),this})}synchronize(){return Bi(this,void 0,void 0,function*(){return yield new Promise(e=>{setTimeout(e,500)}),this.graph.createGraph(),function(n){var e,t,i;const r=eq(n),s=new Map;for(const{subject:o,object:a}of(0,Un.readQuads)(n,null,ki.spatialEntity.representation_of,null,null)){const l=new Set([a.id]);let c=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;c&&!l.has(c);)l.add(c),c=null===(t=r.nodes[c])||void 0===t?void 0:t.parent;s.set(o.id,[...l].map(u=>Un.DataFactory.namedNode(u)))}for(const{object:o}of(0,Un.readQuads)(n,null,vi.spatialEntity,null,null))for(const{subject:a}of(0,Un.readQuads)(n,null,ki.spatialPlacement.source,o,null))for(const{object:l}of(0,Un.readQuads)(n,a,ki.spatialPlacement.target,null,null))for(const c of null!==(i=s.get(l.id))&&void 0!==i?i:[])n.addQuad(Un.DataFactory.namedNode(o.id),ki.spatialEntity.ccf_annotations,c)}(this.store),this})}serialize(){return(0,Un.serializeN3Store)(this.store)}deserialize(e){return Bi(this,void 0,void 0,function*(){this.store=(0,Un.deserializeN3Store)(e,Un.DataFactory),this.graph=new G9(this),this.scene=new $9(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(e={}){return function(n,e,t){var i,r,s,o,a,l,c;let u=function(n){const e=new Set;return n.forSubjects(t=>e.add(t.id),vi.spatialEntity,null,null),e}(n);if(u.size>0&&(u=function(n,e,t=!0){const i=new Set;if(n.forSubjects(ev(e,i),vi.spatialEntity,null,null),!t){const r=new Set;return e.forEach(s=>i.has(s)?void 0:r.add(s)),r}return i}(n,u)),u.size>0&&("Male"===t.sex||"Female"===t.sex)){const h=t.sex;u=m1(n,u,f=>function(n,e,t){const i=new Set;return n.forSubjects(ev(e,i),vi.sex,vi[t],null),i}(n,f,h))}if(u.size>0&&(null===(i=t.tmc)||void 0===i?void 0:i.length)>0&&(u=m1(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.literal(r);n.forSubjects(ev(e,i),vi.providerName,s,null)}return i}(n,h,t.tmc))),u.size>0&&(null===(r=t.technologies)||void 0===r?void 0:r.length)>0&&(u=function(n,e,t){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const h of(0,Un.readQuads)(n,u,vi.sections,null,null))a.add(h.object.id);for(const u of a)for(const h of(0,Un.readQuads)(n,u,vi.datasets,null,null))o.add(h.object.id),s.has(h.object.id)?null===(i=s.get(h.object.id))||void 0===i||i.push(u):s.set(h.object.id,[u]);const l=t(o),c=new Set;for(const u of l)for(const h of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(h);return c}(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.literal(r);n.forSubjects(ev(e,i),vi.technology,s,null)}return i}(n,h,t.technologies))),u.size>0&&(null===(s=t.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=Gk(n,u,h=>function(n,e,t,i){const r=new Set;for(const s of i)nNe(n,e,t,s).forEach(a=>r.add(a));return r}(n,e,h,t.spatialSearches))),u.size>0&&(null===(o=t.ontologyTerms)||void 0===o?void 0:o.length)>0){const h=t.ontologyTerms;-1===h.indexOf(vd.body.id)&&(u=Gk(n,u,f=>K9(n,f,h)))}if(u.size>0&&(null===(a=t.cellTypeTerms)||void 0===a?void 0:a.length)>0){const h=t.cellTypeTerms;-1===h.indexOf(vd.cell.id)&&(u=Gk(n,u,f=>function(n,e,t){const i=new Set;for(const r of t)n.forObjects(s=>{i.add(s.id)},r,ki.asctb.located_in,null),r===vd.cell.id&&i.add(vd.body.id);return K9(n,e,[...i])}(n,f,h)))}if(u.size>0&&2===(null===(l=t.ageRange)||void 0===l?void 0:l.length)&&(0,mr.isFinite)(t.ageRange[0])&&(0,mr.isFinite)(t.ageRange[1])){const h=Math.max(...t.ageRange),f=Math.min(...t.ageRange);1===f&&110===h||(u=m1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,Un.readQuads)(n,s,vi.age,null,null)){const a=(0,c1.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,f,h)))}if(u.size>0&&2===(null===(c=t.bmiRange)||void 0===c?void 0:c.length)&&(0,mr.isFinite)(t.bmiRange[0])&&(0,mr.isFinite)(t.bmiRange[1])){const h=Math.max(...t.bmiRange),f=Math.min(...t.bmiRange);13===f&&83===h||(u=m1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,Un.readQuads)(n,s,vi.bmi,null,null)){const a=(0,c1.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,f,h)))}return u}(this.store,this.graph,e)}get(e){return this.store.getQuads(Un.DataFactory.namedNode(e),null,null,null)}search(e={}){return[...this.getIds(e)].map(t=>this.get(t))}getSpatialEntities(e){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t=n.getObjects(Un.DataFactory.namedNode(e),vi.spatialEntity,null);if(t.length>0)return hp(n,t[0].id)}(this.store,t))}getDatabaseStatus(){return Bi(this,void 0,void 0,function*(){return this.status||(this.status=new ANe(this)),this.status.toJson()})}getDatasetTechnologyNames(){return Bi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,Un.readQuads)(n,null,vi.technology,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return Bi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,Un.readQuads)(n,null,vi.providerName,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(e){return Bi(this,void 0,void 0,function*(){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of Uk(n,e,xNe))if("sections"===i){const s=CNe(n,r);t[i].push(s)}else if("datasets"===i){const s=tq(n,r);t[i].push(s)}else t[i]="donor"===i?SNe(n,r):r;return t}(this.store,t))})}getAggregateResults(e){return Bi(this,void 0,void 0,function*(){return function(n,e){const t=Jb(e,n,vi.donor.id),i=Jb(e,t,vi.providerUUID.id),r=new Set;for(const l of n)for(const c of(0,Un.readQuads)(e,l,vi.spatialEntity,null,null))r.add(c.subject.id);const s=Jb(e,r,vi.sections.id),o=new Set([...Jb(e,r,vi.datasets.id),...Jb(e,s,vi.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:t.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([l,c])=>({label:l,count:c}))}(this.getIds(e),this.store)})}getOntologyTermOccurences(e){return Bi(this,void 0,void 0,function*(){return function(n,e){const t={};return Q9(n,e).forEach((r,s)=>{t[s]=r.size}),t}(this.getIds(e),this.store)})}getCellTypeTermOccurences(e){return Bi(this,void 0,void 0,function*(){return function(n,e){var t,i;const r=Q9(n,e),s=new Map;for(const a of r.keys()){const l=r.get(a);for(const c of(0,Un.readQuads)(e,null,ki.asctb.located_in,a,null)){const u=c.subject.id;if(s.has(u)){const h=s.get(u);l.forEach(f=>h.add(f))}else s.set(u,new Set(l))}}const o={};return s.forEach((a,l)=>{o[l]=a.size}),o[vd.cell.id]=null!==(i=null===(t=r.get(vd.body.id))||void 0===t?void 0:t.size)&&void 0!==i?i:0,o}(this.getIds(e),this.store)})}getOntologyTreeModel(){return Bi(this,void 0,void 0,function*(){return eq(this.store)})}getCellTypeTreeModel(){return Bi(this,void 0,void 0,function*(){return function(n){return Z9(n,vd.cell.id,"cell",ki.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return Bi(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(e){return Bi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(e)})}getReferenceOrganScene(e,t){return Bi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)})}getSpatialPlacement(e,t){return Bi(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(e,t)})}}class nq extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function NNe(){throw new nq}function kNe(){throw new nq}function Wk(n,e,t){e.run(()=>n.dispatch(t))}function BNe(n,e,t,i){return yg(t)?function(n,e,t){return t.then(i=>(Wk(n,e,i),i))}(n,e,t):Im(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(gr(i.cancelUncompleted$))),t.subscribe({next:r=>Wk(n,e,r)}),t}(n,e,t,i):(Wk(n,e,t),t)}class VNe{constructor(){this.cancelUncompleted$=new oe}cancelPreviousAction(){this.cancelUncompleted$.next()}}const qk="\u0275fac",iq=Symbol("InjectorInstance"),rq=Symbol("FactoryHasBeenDecorated");function sq(n,e){const t=n[iq];return t?t.get(e):null}const zNe={cancelUncompleted:!1};function oq(n=zNe){return(e,t,i)=>{let r;const s=function(n){return n?new VNe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=sq(this,hu)||NNe(),l=sq(this,pn)||kNe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>BNe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(rq in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[qk]&&function(n){const e=n[qk];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[iq]=Ce(Vu),r};t&&(t.factory=i),Object.defineProperty(n,qk,{get:()=>i})}(e),n.constructor.prototype[rq]=!0}(e)}}const mke=["bodyCanvas"];let _ke=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new ln,this.nodeDrag=new ln,this.nodeClick=new ln,this.nodeHoverStart=new ln,this.nodeHoverStop=new ln,this.initialized=new ln,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return Bi(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new zve({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&hr(mke,5,gn),2&t){let r;Gn(r=$n())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&ni(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),yke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr]]}),n})();new Ht("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const yq=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name));function Lke(n,e){if(1&n&&(wt(0,"div",16),ni(1,"youtube-player",17),Et()),2&n){const t=_i(3);zt(1),dE("videoId",t.videoID)}}function Bke(n,e){if(1&n&&(wt(0,"mat-expansion-panel",11),wt(1,"mat-expansion-panel-header"),wt(2,"h2",12),Jn(3),Et(),Et(),wt(4,"div",13),ni(5,"markdown",14),wi(6,Lke,2,1,"div",15),Et(),Et()),2&n){const t=_i(),i=t.index,r=t.$implicit;Jt("expanded",0===i),zt(3),gs(r.title),zt(2),ai("first",0===i),Jt("data",r.content),zt(1),Jt("ngIf",0===i)}}function Vke(n,e){if(1&n&&(wt(0,"div",9),wi(1,Bke,7,6,"mat-expansion-panel",10),Et()),2&n){const t=e.$implicit;zt(1),Jt("ngIf",t)}}yq.filter(n=>!0!==n.disabled);let bq=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(Ce(kC),Ce(PW))},n.\u0275cmp=rn({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),wt(2,"div",2),wt(3,"div",3),wt(4,"h2",4),Jn(5),Et(),wt(6,"div",5),wt(7,"mat-icon",6),Tn("click",function(){return i.close()}),Jn(8,"clear"),Et(),Et(),Et(),wt(9,"mat-dialog-content",7),wi(10,Vke,2,1,"div",8),Et(),Et(),Et(),Et()),2&t&&(zt(5),gs(i.infoTitle),zt(5),Jt("ngForOf",i.documentationContents))},directives:[kW,Fm,FW,Yu,ac,UW,zW,WW,KW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),vq=(()=>{class n{constructor(t){this.http=t,this.panelContent=new Fr({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(Ie(_u))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Uke=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new ln,this.closeClicked=new ln}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),wt(2,"div",2),wt(3,"div",3),wt(4,"p",4),Jn(5),Et(),wt(6,"mat-icon",5),Tn("click",function(){return i.close()}),Jn(7,"clear"),Et(),Et(),ni(8,"img",6),wt(9,"mat-dialog-content",7),wt(10,"div",8),Jn(11),Et(),wt(12,"a",9),Tn("click",function(){return i.onDialogButtonClick()}),Et(),Et(),Et(),Et(),Et()),2&t&&(zt(5),gs(i.infoTitle),zt(3),Jt("src",i.imageUrl,sf),zt(3),xo(" ",i.message,""),zt(1),Jt("text",i.callToAction))},directives:[kW,Fm,BMe,FW],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),Qm=(()=>{let n=class extends MDe{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(Ki(n=>null!=n),Wa(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(oW(...t),ld(),Wa(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(oW(...t),ld(),Wa(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),Ei([f7()],n.prototype,"config$",null),n=Ei([CDe(),A5({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}();class wq extends class{getDatabaseStatus(){return this.forwardCall("getDatabaseStatus")}getProviderNames(){return this.forwardCall("getProviderNames")}getDatasetTechnologyNames(){return this.forwardCall("getDatasetTechnologyNames")}getOntologyTreeModel(){return this.forwardCall("getOntologyTreeModel")}getCellTypeTreeModel(){return this.forwardCall("getCellTypeTreeModel")}getReferenceOrgans(){return this.forwardCall("getReferenceOrgans")}getTissueBlockResults(e){return this.forwardCall("getTissueBlockResults",e)}getAggregateResults(e){return this.forwardCall("getAggregateResults",e)}getOntologyTermOccurences(e){return this.forwardCall("getOntologyTermOccurences",e)}getCellTypeTermOccurences(e){return this.forwardCall("getCellTypeTermOccurences",e)}getScene(e){return this.forwardCall("getScene",e)}getReferenceOrganScene(e,t){return this.forwardCall("getReferenceOrganScene",e,t)}}{forwardCall(e,...t){return this.impl$.pipe(is(i=>i[e](...t)))}}let Eq=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Qk=new oe,nv={cacheBusterObserver:Qk},Zm={cacheBusterObserver:Qk,maxCacheCount:4};function xq(n,e,t){return n?{min:n[0]>e?n[0]:void 0,max:n[1]{var t;return Object.assign(Object.assign({},e),{transformMatrix:new qn(null!==(t=e.transformMatrix)&&void 0!==t?t:[])})})}let Xke=(()=>{class n{constructor(t,i){this.api=t,this.globalConfig=i,i.getOption("hubmapToken").subscribe(Qk)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},n=>n)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},n=>n)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},n=>n)}getTissueBlockResults(t){return this.doRequest(i=>this.api.tissueBlocks(i),t,{},n=>n)}getAggregateResults(t){return this.doRequest(i=>this.api.aggregateResults(i),t)}getOntologyTermOccurences(t){return this.doRequest(i=>this.api.ontologyTermOccurences(i),t)}getCellTypeTermOccurences(t){return this.doRequest(i=>this.api.cellTypeTermOccurences(i),t)}getScene(t){return this.doRequest(i=>this.api.scene(i),t,{},Sq)}getReferenceOrganScene(t,i){return this.doRequest(r=>this.api.referenceOrganScene(r),i,{organIri:t},Sq)}doRequest(t,i,r,s){const{api:o,globalConfig:a}=this,l=Object.assign(Object.assign({},function(n){var e,t;return{age:xq(null==n?void 0:n.ageRange,1,110),bmi:xq(null==n?void 0:n.bmiRange,13,83),sex:null===(t=null===(e=null==n?void 0:n.sex)||void 0===e?void 0:e.toLowerCase)||void 0===t?void 0:t.call(e),ontologyTerms:null==n?void 0:n.ontologyTerms,cellTypeTerms:null==n?void 0:n.cellTypeTerms,providers:null==n?void 0:n.tmc,technologies:null==n?void 0:n.technologies,spatial:null==n?void 0:n.spatialSearches}}(i)),r);return yc([a.getOption("remoteApiEndpoint"),a.getOption("hubmapToken")]).pipe(qr(1),cr(([c,u])=>{o.configuration.basePath=c,u&&(l.token=u)}),is(()=>t(l)),me(c=>s?s(c):c))}}return n.\u0275fac=function(t){return new(t||n)(Ie(T9),Ie(Qm))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),Ei([Sc(nv)],n.prototype,"getProviderNames",null),Ei([Sc(nv)],n.prototype,"getDatasetTechnologyNames",null),Ei([Sc(nv)],n.prototype,"getOntologyTreeModel",null),Ei([Sc(nv)],n.prototype,"getCellTypeTreeModel",null),Ei([Sc(nv)],n.prototype,"getReferenceOrgans",null),Ei([Sc(Zm)],n.prototype,"getTissueBlockResults",null),Ei([Sc(Zm)],n.prototype,"getAggregateResults",null),Ei([Sc(Zm)],n.prototype,"getOntologyTermOccurences",null),Ei([Sc(Zm)],n.prototype,"getCellTypeTermOccurences",null),Ei([Sc(Zm)],n.prototype,"getScene",null),Ei([Sc(Zm)],n.prototype,"getReferenceOrganScene",null),n})(),Kke=(()=>{class n extends wq{constructor(t){super(),this.impl$=this.database$=t.config$.pipe(i=>i,Ki(i=>Object.keys(i).length>0),is(i=>function(n,e){return new O(t=>{let i,r;try{i=n()}catch(a){return void t.error(a)}try{r=e(i)}catch(a){return void t.error(a)}const o=(r?je(r):Qc).subscribe(t);return()=>{o.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDatabase(i),r=>this.connectDatabase(r,i))),me(i=>i.database),Wa(1))}connectDatabase(t,i){return Bi(this,void 0,void 0,function*(){const r=!fa();return yield t.database.connect(i,r),t})}}return n.\u0275fac=function(t){return new(t||n)(Ie(Qm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Qke=(()=>{class n extends Kke{createDatabase(t){return{database:new ONe(t),unsubscribe:()=>{}}}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Zke=(()=>{class n extends wq{constructor(t,i){super(),this.impl$=t.config$.pipe(r=>r,me(r=>this.selectToken(r)),ld(),me(r=>i.get(r)),Wa(1))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Qm),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Zk=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),Jk=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),eF=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var tF;class wa{get length(){var e,t;return null!==(t=null===(e=wa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=wa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=wa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=wa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=wa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=wa.storage)||void 0===e||e.clear()}}wa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),wa.\u0275fac=function(e){return new(e||wa)},wa.\u0275prov=We({token:wa,factory:wa.\u0275fac,providedIn:"root"});const Cq="callToActionPopupShown";let Ro=tF=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(Cq,`${i}`),s=tF.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new Jk)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(me(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open(bq,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(cr(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(eFe,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(Cq,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};Ro.\u0275fac=function(e){return new(e||Ro)(Ie(Nb),Ie(qb),Ie(wa),Ie(vq),Ie(_u))},Ro.\u0275prov=We({token:Ro,factory:Ro.\u0275fac}),Ei([yP(Zk)],Ro.prototype,"learnMore",null),Ei([yP(Jk)],Ro.prototype,"open",null),Ei([yP(eF)],Ro.prototype,"close",null),Ro=tF=Ei([A5({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Ro);let E1=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return Ei([_m([Ro])],n,"title",null),Ei([_m([Ro])],n,"message",null),Ei([_m([Ro])],n,"callToAction",null),Ei([_m([Ro])],n,"imageUrl",null),Ei([_m([Ro])],n,"expirationDate",null),Ei([_m([Ro])],n,"popupShown",null),n})(),eFe=(()=>{class n{constructor(){this.close=()=>new eF,this.learnMore=()=>new Zk}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(wt(0,"ccf-call-to-action",0),Tn("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),Ps(1,"async"),Ps(2,"async"),Ps(3,"async"),Ps(4,"async"),Et()),2&t&&Jt("infoTitle",To(1,4,i.title$))("message",To(2,6,i.message$))("callToAction",To(3,8,i.callToAction$))("imageUrl",To(4,10,i.imageUrl$))},directives:[Uke],pipes:[g0],styles:[""],changeDetection:0}),Ei([PS(E1.title)],n.prototype,"title$",void 0),Ei([PS(E1.message)],n.prototype,"message$",void 0),Ei([PS(E1.callToAction)],n.prototype,"callToAction$",void 0),Ei([PS(E1.imageUrl)],n.prototype,"imageUrl$",void 0),Ei([oq()],n.prototype,"close",void 0),Ei([oq()],n.prototype,"learnMore",void 0),n})(),iFe=(()=>{class n{constructor(t){this.source=t,this.organs=yq}getOrganInfo(t,i,r="Female"){let s=this.organs.find(a=>a.id===t);if(!s)return sn(void 0);const o=s.organ;return s.disabled&&(s=this.organs.find(a=>!a.disabled&&a.organ===o)),(null==s?void 0:s.side)&&i&&s.side!==i&&(s=this.organs.find(a=>!a.disabled&&a.organ===o&&a.side===i)),sn(s)}getOrgan(t,i="Both"){return this.source.getReferenceOrgans().pipe(me(r=>r.find(s=>s.representation_of===t.id&&("Both"===i||s.sex===i))))}getOrganScene(t,i="Female"){return t.id?this.source.getReferenceOrganScene(t.id,{ontologyTerms:[t.id],sex:i}):sn([])}getOrganStats(t,i="Female"){return t.id?this.source.getAggregateResults({ontologyTerms:[t.id],sex:i}):sn([])}getBlocks(t,i="Female"){return t.id?this.source.getTissueBlockResults({ontologyTerms:[t.id],sex:i}):sn([])}}return n.\u0275fac=function(t){return new(t||n)(Ie(Eq))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const rFe=["thumbContainer"],sFe=["toggleBar"],oFe=["input"],aFe=function(n){return{enterDuration:n}},lFe=["*"],cFe=new Ht("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1})});let uFe=0;const dFe={provide:Xo,useExisting:ge(()=>Tq),multi:!0};class hFe{constructor(e,t){this.source=e,this.checked=t}}const fFe=wC(Mm(Ch(Am(class{constructor(n){this._elementRef=n}}))));let Tq=(()=>{class n extends fFe{constructor(t,i,r,s,o,a){super(t),this._focusMonitor=i,this._changeDetectorRef=r,this.defaults=o,this._onChange=l=>{},this._onTouched=()=>{},this._uniqueId="mat-slide-toggle-"+ ++uFe,this._required=!1,this._checked=!1,this.name=null,this.id=this._uniqueId,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.change=new ln,this.toggleChange=new ln,this.tabIndex=parseInt(s)||0,this.color=this.defaultColor=o.color||"accent",this._noopAnimations="NoopAnimations"===a}get required(){return this._required}set required(t){this._required=bi(t)}get checked(){return this._checked}set checked(t){this._checked=bi(t),this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{"keyboard"===t||"program"===t?this._inputElement.nativeElement.focus():t||Promise.resolve().then(()=>this._onTouched())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}_onChangeEvent(t){t.stopPropagation(),this.toggleChange.emit(),this.defaults.disableToggleValue?this._inputElement.nativeElement.checked=this.checked:(this.checked=this._inputElement.nativeElement.checked,this._emitChangeEvent())}_onInputClick(t){t.stopPropagation()}writeValue(t){this.checked=!!t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck()}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(new hFe(this,this.checked))}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}}return n.\u0275fac=function(t){return new(t||n)(Ce(gn),Ce(vc),Ce(Mr),yo("tabindex"),Ce(cFe),Ce(Qa,8))},n.\u0275cmp=rn({type:n,selectors:[["mat-slide-toggle"]],viewQuery:function(t,i){if(1&t&&(hr(rFe,5),hr(sFe,5),hr(oFe,5)),2&t){let r;Gn(r=$n())&&(i._thumbEl=r.first),Gn(r=$n())&&(i._thumbBarEl=r.first),Gn(r=$n())&&(i._inputElement=r.first)}},hostAttrs:[1,"mat-slide-toggle"],hostVars:12,hostBindings:function(t,i){2&t&&(qc("id",i.id),Ii("tabindex",i.disabled?null:-1)("aria-label",null)("aria-labelledby",null),ai("mat-checked",i.checked)("mat-disabled",i.disabled)("mat-slide-toggle-label-before","before"==i.labelPosition)("_mat-animation-noopable",i._noopAnimations))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],required:"required",checked:"checked",ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[Vn([dFe]),En],ngContentSelectors:lFe,decls:16,vars:20,consts:[[1,"mat-slide-toggle-label"],["label",""],[1,"mat-slide-toggle-bar"],["toggleBar",""],["type","checkbox","role","switch",1,"mat-slide-toggle-input","cdk-visually-hidden",3,"id","required","tabIndex","checked","disabled","change","click"],["input",""],[1,"mat-slide-toggle-thumb-container"],["thumbContainer",""],[1,"mat-slide-toggle-thumb"],["mat-ripple","",1,"mat-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-slide-toggle-persistent-ripple"],[1,"mat-slide-toggle-content",3,"cdkObserveContent"],["labelContent",""],[2,"display","none"]],template:function(t,i){if(1&t&&(Hr(),wt(0,"label",0,1),wt(2,"div",2,3),wt(4,"input",4,5),Tn("change",function(s){return i._onChangeEvent(s)})("click",function(s){return i._onInputClick(s)}),Et(),wt(6,"div",6,7),ni(8,"div",8),wt(9,"div",9),ni(10,"div",10),Et(),Et(),Et(),wt(11,"span",11,12),Tn("cdkObserveContent",function(){return i._onLabelTextChange()}),wt(13,"span",13),Jn(14,"\xa0"),Et(),oi(15),Et(),Et()),2&t){const r=ih(1),s=ih(12);Ii("for",i.inputId),zt(2),ai("mat-slide-toggle-bar-no-side-margin",!s.textContent||!s.textContent.trim()),zt(2),Jt("id",i.inputId)("required",i.required)("tabIndex",i.tabIndex)("checked",i.checked)("disabled",i.disabled),Ii("name",i.name)("aria-checked",i.checked.toString())("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),zt(5),Jt("matRippleTrigger",r)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",function(n,e,t,i){return E3(Vt(),Cs(),n,e,t,i)}(18,aFe,i._noopAnimations?0:150))}},directives:[gu,$P],styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}.cdk-high-contrast-active .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:2px dotted;outline-offset:5px}\n"],encapsulation:2,changeDetection:0}),n})(),Aq=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})(),mFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Aq,Dm,ji,QS],Aq,ji]}),n})(),_Fe=(()=>{class n{constructor(){this.clsName="ccf-slide-toggle",this.labels=["Left","Right"],this.value="Left",this.disabled=!1,this.valueChange=new ln}get left(){const{value:t,labels:i}=this;return t!==i[1]}updateToggle(t){this.value=t?this.labels[0]:this.labels[1],this.valueChange.emit(this.value)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-slide-toggle"]],hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{labels:"labels",value:"value",disabled:"disabled"},outputs:{valueChange:"valueChange"},decls:6,vars:12,consts:[[1,"slide-label",3,"click"],[1,"slider",3,"disabled","checked","change"],["toggle",""]],template:function(t,i){if(1&t){const r=wl();wt(0,"span",0),Tn("click",function(){_r(r);const o=ih(3);return i.left||o.toggle(),i.updateToggle(!0)}),Jn(1),Et(),wt(2,"mat-slide-toggle",1,2),Tn("change",function(o){return i.updateToggle(!o.checked)}),Et(),wt(4,"span",0),Tn("click",function(){_r(r);const o=ih(3);return i.left&&o.toggle(),i.updateToggle(!1)}),Jn(5),Et()}2&t&&(ai("disabled",i.disabled)("highlighted",i.left),zt(1),gs(i.labels[0].charAt(0).toUpperCase()+i.labels[0].slice(1)),zt(1),Jt("disabled",i.disabled)("checked",!i.left),zt(2),ai("disabled",i.disabled)("highlighted",!i.left),zt(1),gs(i.labels[1].charAt(0).toUpperCase()+i.labels[1].slice(1)))},directives:[Tq],styles:["[_nghost-%COMP%] .slide-label[_ngcontent-%COMP%]{margin:0 1rem;transition:color .6s;cursor:pointer;opacity:50%}[_nghost-%COMP%] .slide-label.highlighted[_ngcontent-%COMP%]{opacity:100%}[_nghost-%COMP%] .disabled[_ngcontent-%COMP%]{opacity:30%!important;cursor:not-allowed}[_nghost-%COMP%] .slider .mat-slide-toggle-bar{background-color:#43476580}[_nghost-%COMP%] .slider .mat-slide-toggle-thumb{background-color:#434765}"],changeDetection:0}),n})();const yFe=["bodyUI"],bFe=function(){return["Male","Female"]},vFe=function(){return["Left","Right"]};let wFe=(()=>{class n{constructor(t){this.ga=t,this.sexChange=new ln,this.sideChange=new ln}ngAfterViewChecked(){this.updateHighlighting()}updateHighlighting(){var t,i,r,s;const o=new Set(null!==(i=null===(t=this.filter)||void 0===t?void 0:t.tmc)&&void 0!==i?i:[]);this.filteredBlocks=null!==(s=null===(r=this.blocks)||void 0===r?void 0:r.filter(a=>o.has(a.donor.providerName)).map(a=>a["@id"]))&&void 0!==s?s:[],this.bodyUI.scene=this.bodyUI.scene.map(a=>{var l;return Object.assign(Object.assign({},a),{color:a.entityId&&this.highlightedNodeId===a["@id"]?[30,136,229,255]:this.filteredBlocks.includes(null!==(l=a.entityId)&&void 0!==l?l:"")?[173,255,47,229.5]:[255,255,255,229.5]})})}ngOnChanges(t){this.bodyUI&&"organ"in t&&this.zoomToFitOrgan()}updateSex(t){this.sex=t,this.sexChange.emit(this.sex)}updateSide(t){this.side=t,this.sideChange.emit(this.side)}zoomToFitOrgan(){const{bodyUI:t,organ:i}=this;if(i){const{x_dimension:r,y_dimension:s,z_dimension:o}=i;t.rotation=t.rotationX=0,t.bounds={x:1.25*r/1e3,y:1.25*s/1e3,z:1.25*o/1e3},t.target=[r/1e3/2,s/1e3/2,o/1e3/2]}}nodeClicked(t){this.ga.event("node_click","organ",t.node["@id"]),this.highlightedNodeId=this.highlightedNodeId&&this.highlightedNodeId===t.node["@id"]?"":t.node["@id"]}}return n.\u0275fac=function(t){return new(t||n)(Ce(qb))},n.\u0275cmp=rn({type:n,selectors:[["ccf-organ"]],viewQuery:function(t,i){if(1&t&&hr(yFe,7),2&t){let r;Gn(r=$n())&&(i.bodyUI=r.first)}},inputs:{organ:"organ",scene:"scene",organIri:"organIri",sex:"sex",side:"side",blocks:"blocks",filter:"filter"},outputs:{sexChange:"sexChange",sideChange:"sideChange"},features:[Fi],decls:5,vars:10,consts:[["camera","perspective",1,"body-ui",3,"scene","interactive","nodeClick","initialized"],["bodyUI",""],[1,"stage-options"],[1,"view-slider",3,"labels","value","hidden","valueChange"]],template:function(t,i){1&t&&(wt(0,"ccf-body-ui",0,1),Tn("nodeClick",function(s){return i.nodeClicked(s)})("initialized",function(){return i.zoomToFitOrgan()}),Et(),wt(2,"div",2),wt(3,"ccf-slide-toggle",3),Tn("valueChange",function(s){return i.updateSex(s)}),Et(),wt(4,"ccf-slide-toggle",3),Tn("valueChange",function(s){return i.updateSide(s)}),Et(),Et()),2&t&&(Jt("scene",i.scene)("interactive",!0),zt(3),Jt("labels",TE(8,bFe))("value",i.sex)("hidden",!i.sex),zt(1),Jt("labels",TE(9,vFe))("value",i.side)("hidden",!i.side))},directives:[_ke,_Fe],styles:["[_nghost-%COMP%]{display:block;background-color:#000;border-radius:.5rem;color:#fff;height:100%}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{height:90%}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%]{padding:1rem;min-width:352px}"],changeDetection:0}),n})();function EFe(n,e){if(1&n&&(wt(0,"div",3),wt(1,"div",4),Jn(2),Et(),wt(3,"div",5),Jn(4),Et(),Et()),2&n){const t=e.$implicit;zt(2),gs(t.count),zt(2),gs(t.label)}}let xFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-stats-list"]],inputs:{statsLabel:"statsLabel",stats:"stats"},decls:4,vars:2,consts:[[1,"stats-container"],[1,"header"],["class","stats-row",4,"ngFor","ngForOf"],[1,"stats-row"],[1,"stat"],[1,"label"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),Jn(2),Et(),wi(3,EFe,5,2,"div",2),Et()),2&t&&(zt(2),xo(" ",i.statsLabel," "),zt(1),Jt("ngForOf",i.stats))},directives:[Yu],styles:[".stats-container[_ngcontent-%COMP%]{margin-bottom:2rem;min-height:9rem}.stats-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{margin-bottom:1rem}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;height:1.325rem}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .stat[_ngcontent-%COMP%]{width:2rem;margin-right:1rem;text-align:right}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{flex-grow:1;text-align:left}"],changeDetection:0}),n})();function SFe(n,e){if(1&n){const t=wl();wt(0,"div",6),wt(1,"div",7),wt(2,"div",8),Jn(3),Et(),wt(4,"div",9),Tn("click",function(){const s=_r(t).$implicit;return _i().goToURL(s.buttonUrl)}),Jn(5),Et(),Et(),Et()}if(2&n){const t=e.$implicit;zt(3),gs(t.body),zt(1),Jt("gaLabel",t.buttonUrl),zt(1),xo(" ",t.buttonTitle,"")}}function CFe(n,e){if(1&n){const t=wl();wt(0,"div",10),Tn("click",function(){const s=_r(t).$implicit;return _i().goToURL(s.buttonUrl)}),Jn(1),Et()}if(2&n){const t=e.$implicit;Jt("gaLabel",t.buttonUrl),zt(1),gs(t.buttonTitle)}}let TFe=(()=>{class n{constructor(){this.linkCards=[{body:"Add tissue blocks using the HRA Registration User Interface (RUI).",buttonTitle:"Register Tissue",buttonUrl:"https://hubmapconsortium.github.io/ccf-ui/rui/"},{body:"Explore tissue sections in tissue blocks with the HRA Exploration User Interface (EUI).",buttonTitle:"Explore Tissue",buttonUrl:"https://portal.hubmapconsortium.org/ccf-eui"},{body:"View linkages between anatomical structures, cell types, and common biomarkers (ASCT+B).",buttonTitle:"ASCT+B Reporter",buttonUrl:"https://hubmapconsortium.github.io/ccf-asct-reporter/"}],this.deepDives=[{body:"",buttonTitle:"HRA Portal",buttonUrl:"https://humanatlas.io"},{body:"",buttonTitle:"Online Course",buttonUrl:"https://expand.iu.edu/browse/sice/cns/courses/hubmap-visible-human-mooc"},{body:"",buttonTitle:"Paper",buttonUrl:"https://www.nature.com/articles/s41556-021-00788-6"}]}goToURL(t){window.open(t,"_blank")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-link-cards"]],decls:7,vars:2,consts:[["gaCategory","link-cards",1,"link-cards-container"],["class","link-card",4,"ngFor","ngForOf"],["gaCategory","deep-dive",1,"deep-dive-section"],[1,"title"],[1,"button-container"],["class","btn-outline btn","gaEvent","visit-link",3,"gaLabel","click",4,"ngFor","ngForOf"],[1,"link-card"],[1,"link-card-content"],[1,"body"],["gaEvent","visit-link",1,"link-button","btn",3,"gaLabel","click"],["gaEvent","visit-link",1,"btn-outline","btn",3,"gaLabel","click"]],template:function(t,i){1&t&&(wt(0,"div",0),wi(1,SFe,6,3,"div",1),Et(),wt(2,"div",2),wt(3,"div",3),Jn(4,"Human Reference Atlas (HRA) Deep Dive"),Et(),wt(5,"div",4),wi(6,CFe,2,2,"div",5),Et(),Et()),2&t&&(zt(1),Jt("ngForOf",i.linkCards),zt(5),Jt("ngForOf",i.deepDives))},directives:[g9,Yu,m9],styles:[".link-cards-container[_ngcontent-%COMP%]{max-width:30rem}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%]{border-top:1px solid #e0e0e0;padding-top:1px;padding-bottom:1px}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%]:last-of-type{border-bottom:1px solid #e0e0e0}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%]{align-items:center;padding:1rem 0 1rem 1rem;display:flex;flex-direction:row;justify-content:space-between;border-left:6px solid #444A65}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]{margin-left:2rem;background-color:#444a65;color:#fff}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]:hover{background-color:#2f3346}.deep-dive-section[_ngcontent-%COMP%]{margin-top:2rem}.deep-dive-section[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1rem}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{display:flex;flex-direction:row}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]{color:#444a65;border:1px solid #444A65;background-color:#fff}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:not(:last-of-type){margin-right:1rem}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:hover{background-color:#e0e0e0}.btn[_ngcontent-%COMP%]{min-width:9rem!important;max-height:2.28125rem;text-align:center;white-space:nowrap;cursor:pointer;font-size:.875rem;font-weight:500;border-radius:2px;line-height:2.75;transition:background-color .25s cubic-bezier(.4,0,.2,1) 0ms,box-shadow .25s cubic-bezier(.4,0,.2,1) 0ms,border .25s cubic-bezier(.4,0,.2,1) 0ms;font-family:Inter Variable,Helvetica,Arial,sans-serif}"],changeDetection:0}),n})();const AFe=["left"],MFe=["right"],DFe=function(){return[]},IFe=[{color:[0,0,0,0],opacity:.001}];let OFe=(()=>{class n{constructor(t,i,r){this.ga=i,this.configState=r,this.sex$=this.configState.getOption("sex"),this.side$=this.configState.getOption("side"),this.filter$=this.configState.getOption("highlightProviders").pipe(me(s=>({tmc:s}))),this.latestConfig={},this.organInfo$=r.config$.pipe(cr(s=>this.latestConfig=s),is(s=>{var o,a,l;return t.getOrganInfo(null!==(o=s.organIri)&&void 0!==o?o:"",null===(l=null===(a=s.side)||void 0===a?void 0:a.toLowerCase)||void 0===l?void 0:l.call(a),s.sex)}),cr(s=>this.logOrganLookup(s)),cr(s=>this.latestOrganInfo=s),Wa(1)),this.organ$=this.organInfo$.pipe(is(s=>s?t.getOrgan(s,s.hasSex?this.latestConfig.sex:void 0):sn(void 0)),cr(s=>{var o;if(s&&this.latestOrganInfo){const a=(null===(o=this.latestOrganInfo)||void 0===o?void 0:o.hasSex)?s.sex:void 0;a!==this.latestConfig.sex&&this.updateInput("sex",a),s.side!==this.latestConfig.side&&this.updateInput("side",s.side)}}),Wa(1)),this.scene$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getOrganScene(this.latestOrganInfo,s.sex):sn(IFe))),this.stats$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getOrganStats(this.latestOrganInfo,s.sex):sn([]))),this.statsLabel$=this.organ$.pipe(me(s=>this.makeStatsLabel(this.latestOrganInfo,null==s?void 0:s.sex)),Oo("Loading...")),this.blocks$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getBlocks(this.latestOrganInfo,s.sex):sn([])))}ngAfterViewInit(){const{left:t,right:i}=this;t.nativeElement.style.height=`${i.nativeElement.offsetHeight}px`}updateInput(t,i){this.configState.patchConfig({[t]:i})}makeStatsLabel(t,i){let r=[`Unknown IRI: ${this.latestConfig.organIri}`];if(t){const s=t.side?t.side.charAt(0).toUpperCase()+t.side.slice(1):void 0;r=[i,t.organ,s]}return r.filter(s=>!!s).join(", ")}logOrganLookup(t){this.ga.event(t?"organ_lookup_success":"organ_lookup_failure","organ",`Iri: ${this.latestConfig.organIri} - Sex: ${this.latestConfig.sex} - Side: ${this.latestConfig.side}`)}}return n.\u0275fac=function(t){return new(t||n)(Ce(iFe),Ce(qb),Ce(Qm))},n.\u0275cmp=rn({type:n,selectors:[["ccf-root"]],viewQuery:function(t,i){if(1&t&&(hr(AFe,7,gn),hr(MFe,7,gn)),2&t){let r;Gn(r=$n())&&(i.left=r.first),Gn(r=$n())&&(i.right=r.first)}},decls:16,vars:25,consts:[[1,"container"],[1,"left"],["left",""],[3,"blocks","filter","sex","side","organ","scene","sexChange","sideChange"],[1,"right"],["right",""],[3,"statsLabel","stats"]],template:function(t,i){if(1&t&&(wt(0,"div",0),wt(1,"div",1,2),wt(3,"ccf-organ",3),Tn("sexChange",function(s){return i.updateInput("sex",s)})("sideChange",function(s){return i.updateInput("side",s)}),Ps(4,"async"),Ps(5,"async"),Ps(6,"async"),Ps(7,"async"),Ps(8,"async"),Ps(9,"async"),Et(),Et(),wt(10,"div",4,5),ni(12,"ccf-stats-list",6),Ps(13,"async"),Ps(14,"async"),ni(15,"ccf-link-cards"),Et(),Et()),2&t){let r;zt(3),Jt("blocks",To(4,8,i.blocks$))("filter",To(5,10,i.filter$))("sex",To(6,12,i.sex$))("side",To(7,14,i.side$))("organ",To(8,16,i.organ$))("scene",null!==(r=To(9,18,i.scene$))&&void 0!==r?r:TE(24,DFe)),zt(9),Jt("statsLabel",To(13,20,i.statsLabel$))("stats",To(14,22,i.stats$))}},directives:[wFe,xFe,TFe],pipes:[g0],styles:[".container[_ngcontent-%COMP%]{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:row;padding:1rem;font-family:Inter;font-size:.95rem;line-height:1.5;text-align:left;position:relative;background-color:#fff;color:#000}.container[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{width:auto;flex-grow:1}.container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{margin-left:2rem;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:29rem}"],changeDetection:0}),n})();function RFe(n,e){1&n&&ni(0,"ccf-root")}function PFe(n){const e=i=>"string"==typeof i,t=i=>Array.isArray(i)&&i.every(e);if("string"==typeof n){const i=XD.json(n);if(t(i))return i}else if(t(n))return n;throw new Error("Invalid data sources")}function NFe(n){const e=i=>"string"==typeof i,t=i=>Array.isArray(i)&&i.every(e);if("string"==typeof n){if(!(null==n?void 0:n.startsWith("[")))return[n];{const i=XD.json(n);if(t(i))return i}}else if(t(n))return n;throw new Error("Invalid data sources")}let kFe=(()=>{class n extends fie{constructor(t,i){super(t,i,{initialDelay:10,initialConfig:Object.assign(Object.assign({},If.dbOptions),globalThis.dbOptions),parse:{dataSources:PFe,highlightProviders:NFe,useRemoteApi:XD.boolean}}),this.sex="Female",this.side="Left"}}return n.\u0275fac=function(t){return new(t||n)(Ce(Qm),Ce(Mr))},n.\u0275cmp=rn({type:n,selectors:[["ccf-root-wc"]],inputs:{organIri:"organIri",sex:"sex",side:"side",dataSources:"dataSources",highlightProviders:"highlightProviders",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint"},features:[En],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,i){1&t&&wi(0,RFe,1,0,"ccf-root",0),2&t&&Jt("ngIf",i.initialized)},directives:[ac,OFe],encapsulation:2,changeDetection:0}),n})(),FFe=(()=>{class n extends Zke{selectToken(t){return t.useRemoteApi&&t.remoteApiEndpoint?Xke:Qke}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),LFe=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[hs,el,a7,...t]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(hs,2),Ie(el,2))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const x1=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class jFe{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=qf(this.action),i=function(n){return x1(n.getHours(),2)+":"+x1(n.getMinutes(),2)+":"+x1(n.getSeconds(),2)+"."+x1(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class UFe{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const Mq=new Ht("NGXS_LOGGER_PLUGIN_OPTIONS");let zFe=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new UFe(this._options),this._store=this._store||this._injector.get(hu);const s=new jFe(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(cr(o=>{s.completed(o)}),bc(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Mq),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Dq=new Ht("LOGGER_USER_OPTIONS");function HFe(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let GFe=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:h5,useClass:zFe,multi:!0},{provide:Dq,useValue:t},{provide:Mq,useFactory:HFe,deps:[Dq]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const $Fe=[Qm];let WFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[LFe.forRoot(),Yo.forRoot($Fe,{developmentMode:!If.production}),GFe.forRoot({disabled:If.production})]]}),n})(),qFe=(()=>{class n{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[{provide:Eq,useExisting:FFe}],imports:[[CW,oRe.forRoot({gaToken:If.googleAnalyticsToken,appName:"organ-info",projectName:"ccf",developmentMode:!If.production}),pRe.forRoot(()=>new Yb({basePath:If.dbOptions.remoteApiEndpoint})),WFe]]}),n})(),YFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,mFe]]}),n})(),XFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,yke,YFe]]}),n})(),KFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,r1]]}),n})(),QFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr]]}),n})(),ZFe=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(El).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new aie(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends cie{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(kFe,{injector:this.injector});customElements.define("ccf-organ-info",t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[],imports:[[WD,qFe,KFe,QFe,XFe]]}),n})();If.production&&function(){if(iB)throw new Error("Cannot enable prod mode after platform setup.");nB=!1}(),Ine().bootstrapModule(ZFe).catch(n=>console.error(n))},1052:Ut=>{function it(yt,ee,Dt,dt,Y,Se,he){try{var W=yt[Se](he),j=W.value}catch(k){return void Dt(k)}W.done?ee(j):Promise.resolve(j).then(dt,Y)}Ut.exports=function(yt){return function(){var ee=this,Dt=arguments;return new Promise(function(dt,Y){var Se=yt.apply(ee,Dt);function he(j){it(Se,dt,Y,he,W,"next",j)}function W(j){it(Se,dt,Y,he,W,"throw",j)}he(void 0)})}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},1948:Ut=>{Ut.exports=function(et){return et&&et.__esModule?et:{default:et}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},4321:Ut=>{function it(et){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(Ut.exports=it=function(ee){return typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0):(Ut.exports=it=function(ee){return ee&&"function"==typeof Symbol&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0),it(et)}Ut.exports=it,Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},9082:Ut=>{function it(et){return Promise.resolve().then(()=>{var yt=new Error("Cannot find module '"+et+"'");throw yt.code="MODULE_NOT_FOUND",yt})}it.keys=()=>[],it.resolve=it,it.id=9082,Ut.exports=it},9521:()=>{},9125:()=>{},5307:()=>{}},Ut=>{Ut(Ut.s=2829)}]); \ No newline at end of file +var tFe=Object.defineProperty,nFe=Object.defineProperties,iFe=Object.getOwnPropertyDescriptors,SC=Object.getOwnPropertySymbols,Oq=Object.prototype.hasOwnProperty,Rq=Object.prototype.propertyIsEnumerable,Er=Math.pow,Nq=(Vt,Xe,et)=>Xe in Vt?tFe(Vt,Xe,{enumerable:!0,configurable:!0,writable:!0,value:et}):Vt[Xe]=et,at=(Vt,Xe)=>{for(var et in Xe||(Xe={}))Oq.call(Xe,et)&&Nq(Vt,et,Xe[et]);if(SC)for(var et of SC(Xe))Rq.call(Xe,et)&&Nq(Vt,et,Xe[et]);return Vt},Sn=(Vt,Xe)=>nFe(Vt,iFe(Xe)),Pq=(Vt,Xe)=>{var et={};for(var lt in Vt)Oq.call(Vt,lt)&&Xe.indexOf(lt)<0&&(et[lt]=Vt[lt]);if(null!=Vt&&SC)for(var lt of SC(Vt))Xe.indexOf(lt)<0&&Rq.call(Vt,lt)&&(et[lt]=Vt[lt]);return et};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{1440:(Vt,Xe,et)=>{var lt=et(1052).default;Vt.exports=function Q(Ee,pe,X){function U(B,w){if(!pe[B]){if(!Ee[B]){if(F)return F(B,!0);var R=new Error("Cannot find module '"+B+"'");throw R.code="MODULE_NOT_FOUND",R}var M=pe[B]={exports:{}};Ee[B][0].call(M.exports,function(y){return U(Ee[B][1][y]||y)},M,M.exports,Q,Ee,pe,X)}return pe[B].exports}for(var F=void 0,Y=0;Y0&&q[q.length-1])&&(6===_t[0]||2===_t[0])){Ke=0;continue}if(3===_t[0]&&(!q||_t[1]>q[0]&&_t[1]0?$-4:$;for(W=0;W>16&255,P[Z++]=E>>8&255,P[Z++]=255&E;return 2===D&&(E=U[T.charCodeAt(W)]<<2|U[T.charCodeAt(W+1)]>>4,P[Z++]=255&E),1===D&&(E=U[T.charCodeAt(W)]<<10|U[T.charCodeAt(W+1)]<<4|U[T.charCodeAt(W+2)]>>2,P[Z++]=E>>8&255,P[Z++]=255&E),P},pe.fromByteArray=function(T){for(var E,O=T.length,$=O%3,D=[],P=16383,Z=0,x=O-$;Zx?x:Z+P));return 1===$?D.push(X[(E=T[O-1])>>2]+X[E<<4&63]+"=="):2===$&&D.push(X[(E=(T[O-2]<<8)+T[O-1])>>10]+X[E>>4&63]+X[E<<2&63]+"="),D.join("")};for(var X=[],U=[],F="undefined"!=typeof Uint8Array?Uint8Array:Array,Y="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",B=0,w=Y.length;B0)throw new Error("Invalid string. Length must be a multiple of 4");var O=T.indexOf("=");return-1===O&&(O=E),[O,O===E?0:4-O%4]}function v(T){return X[T>>18&63]+X[T>>12&63]+X[T>>6&63]+X[63&T]}function b(T,E,O){for(var D=[],P=E;P>5==6?2:D>>4==14?3:D>>3==30?4:D>>6==2?-1:-2}function M(D){var P=this.lastTotal-this.lastNeed,Z=function(D,P,Z){if(128!=(192&P[0]))return D.lastNeed=0,"\ufffd";if(D.lastNeed>1&&P.length>1){if(128!=(192&P[1]))return D.lastNeed=1,"\ufffd";if(D.lastNeed>2&&P.length>2&&128!=(192&P[2]))return D.lastNeed=2,"\ufffd"}}(this,D);return void 0!==Z?Z:this.lastNeed<=D.length?(D.copy(this.lastChar,P,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(D.copy(this.lastChar,P,0,D.length),void(this.lastNeed-=D.length))}function b(D,P){if((D.length-P)%2==0){var Z=D.toString("utf16le",P);if(Z){var x=Z.charCodeAt(Z.length-1);if(x>=55296&&x<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=D[D.length-2],this.lastChar[1]=D[D.length-1],Z.slice(0,-1)}return Z}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=D[D.length-1],D.toString("utf16le",P,D.length-1)}function S(D){var P=D&&D.length?this.write(D):"";return this.lastNeed?P+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):P}function T(D,P){var Z=(D.length-P)%3;return 0===Z?D.toString("base64",P):(this.lastNeed=3-Z,this.lastTotal=3,1===Z?this.lastChar[0]=D[D.length-1]:(this.lastChar[0]=D[D.length-2],this.lastChar[1]=D[D.length-1]),D.toString("base64",P,D.length-Z))}function E(D){var P=D&&D.length?this.write(D):"";return this.lastNeed?P+this.lastChar.toString("base64",0,3-this.lastNeed):P}function O(D){return D.toString(this.encoding)}function $(D){return D&&D.length?this.write(D):""}pe.StringDecoder=B,B.prototype.write=function(D){if(0===D.length)return"";var P,Z;if(this.lastNeed){if(void 0===(P=this.fillLast(D)))return"";Z=this.lastNeed,this.lastNeed=0}else Z=0;return Z=0?(W>0&&(D.lastNeed=W-1),W):--x=0?(W>0&&(D.lastNeed=W-2),W):--x=0?(W>0&&(2===W?W=0:D.lastNeed=W-3),W):0}(this,D,P);if(!this.lastNeed)return D.toString("utf8",P);this.lastTotal=Z;var x=D.length-(Z-this.lastNeed);return D.copy(this.lastChar,0,x),D.toString("utf8",P,x)},B.prototype.fillLast=function(D){if(this.lastNeed<=D.length)return D.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);D.copy(this.lastChar,this.lastTotal-this.lastNeed,0,D.length),this.lastNeed-=D.length}},{"safe-buffer":4}],6:[function(Q,Ee,pe){(function(X){(function(){"use strict";var U=Q("base64-js"),F=Q("ieee754");pe.Buffer=C,pe.SlowBuffer=function(z){return+z!=z&&(z=0),C.alloc(+z)},pe.INSPECT_MAX_BYTES=50;var Y=2147483647;function w(z){if(z>Y)throw new RangeError('The value "'+z+'" is invalid for option "size"');var L=new Uint8Array(z);return L.__proto__=C.prototype,L}function C(z,L,H){if("number"==typeof z){if("string"==typeof L)throw new TypeError('The "string" argument must be of type string. Received type number');return v(z)}return R(z,L,H)}function R(z,L,H){if("string"==typeof z)return function(z,L){if(("string"!=typeof L||""===L)&&(L="utf8"),!C.isEncoding(L))throw new TypeError("Unknown encoding: "+L);var H=0|D(z,L),Le=w(H),it=Le.write(z,L);return it!==H&&(Le=Le.slice(0,it)),Le}(z,L);if(ArrayBuffer.isView(z))return S(z);if(null==z)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof z);if(gt(z,ArrayBuffer)||z&>(z.buffer,ArrayBuffer))return function(z,L,H){if(L<0||z.byteLength=Y)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Y.toString(16)+" bytes");return 0|z}function D(z,L){if(C.isBuffer(z))return z.length;if(ArrayBuffer.isView(z)||gt(z,ArrayBuffer))return z.byteLength;if("string"!=typeof z)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof z);var H=z.length,Le=arguments.length>2&&!0===arguments[2];if(!Le&&0===H)return 0;for(var it=!1;;)switch(L){case"ascii":case"latin1":case"binary":return H;case"utf8":case"utf-8":return q(z).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*H;case"hex":return H>>>1;case"base64":return Ye(z).length;default:if(it)return Le?-1:q(z).length;L=(""+L).toLowerCase(),it=!0}}function P(z,L,H){var Le=!1;if((void 0===L||L<0)&&(L=0),L>this.length||((void 0===H||H>this.length)&&(H=this.length),H<=0)||(H>>>=0)<=(L>>>=0))return"";for(z||(z="utf8");;)switch(z){case"hex":return le(this,L,H);case"utf8":case"utf-8":return ve(this,L,H);case"ascii":return Ge(this,L,H);case"latin1":case"binary":return J(this,L,H);case"base64":return re(this,L,H);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _e(this,L,H);default:if(Le)throw new TypeError("Unknown encoding: "+z);z=(z+"").toLowerCase(),Le=!0}}function Z(z,L,H){var Le=z[L];z[L]=z[H],z[H]=Le}function x(z,L,H,Le,it){if(0===z.length)return-1;if("string"==typeof H?(Le=H,H=0):H>2147483647?H=2147483647:H<-2147483648&&(H=-2147483648),Ae(H=+H)&&(H=it?0:z.length-1),H<0&&(H=z.length+H),H>=z.length){if(it)return-1;H=z.length-1}else if(H<0){if(!it)return-1;H=0}if("string"==typeof L&&(L=C.from(L,Le)),C.isBuffer(L))return 0===L.length?-1:W(z,L,H,Le,it);if("number"==typeof L)return L&=255,"function"==typeof Uint8Array.prototype.indexOf?it?Uint8Array.prototype.indexOf.call(z,L,H):Uint8Array.prototype.lastIndexOf.call(z,L,H):W(z,[L],H,Le,it);throw new TypeError("val must be string, number or Buffer")}function W(z,L,H,Le,it){var Yn,At=1,kt=z.length,In=L.length;if(void 0!==Le&&("ucs2"===(Le=String(Le).toLowerCase())||"ucs-2"===Le||"utf16le"===Le||"utf-16le"===Le)){if(z.length<2||L.length<2)return-1;At=2,kt/=2,In/=2,H/=2}function Pn(Ls,fs){return 1===At?Ls[fs]:Ls.readUInt16BE(fs*At)}if(it){var Mi=-1;for(Yn=H;Ynkt&&(H=kt-In),Yn=H;Yn>=0;Yn--){for(var xi=!0,Xr=0;Xrit&&(Le=it):Le=it;var At=L.length;Le>At/2&&(Le=At/2);for(var kt=0;kt>8,At.push(H%256),At.push(Le);return At}(L,z.length-H),z,H,Le)}function re(z,L,H){return U.fromByteArray(0===L&&H===z.length?z:z.slice(L,H))}function ve(z,L,H){H=Math.min(z.length,H);for(var Le=[],it=L;it239?4:At>223?3:At>191?2:1;if(it+In<=H)switch(In){case 1:At<128&&(kt=At);break;case 2:128==(192&(Pn=z[it+1]))&&(xi=(31&At)<<6|63&Pn)>127&&(kt=xi);break;case 3:Yn=z[it+2],128==(192&(Pn=z[it+1]))&&128==(192&Yn)&&(xi=(15&At)<<12|(63&Pn)<<6|63&Yn)>2047&&(xi<55296||xi>57343)&&(kt=xi);break;case 4:Yn=z[it+2],Mi=z[it+3],128==(192&(Pn=z[it+1]))&&128==(192&Yn)&&128==(192&Mi)&&(xi=(15&At)<<18|(63&Pn)<<12|(63&Yn)<<6|63&Mi)>65535&&xi<1114112&&(kt=xi)}null===kt?(kt=65533,In=1):kt>65535&&(Le.push((kt-=65536)>>>10&1023|55296),kt=56320|1023&kt),Le.push(kt),it+=In}return function(z){var L=z.length;if(L<=4096)return String.fromCharCode.apply(String,z);for(var H="",Le=0;LeH&&(L+=" ... "),""},C.prototype.compare=function(L,H,Le,it,At){if(gt(L,Uint8Array)&&(L=C.from(L,L.offset,L.byteLength)),!C.isBuffer(L))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof L);if(void 0===H&&(H=0),void 0===Le&&(Le=L?L.length:0),void 0===it&&(it=0),void 0===At&&(At=this.length),H<0||Le>L.length||it<0||At>this.length)throw new RangeError("out of range index");if(it>=At&&H>=Le)return 0;if(it>=At)return-1;if(H>=Le)return 1;if(this===L)return 0;for(var kt=(At>>>=0)-(it>>>=0),In=(Le>>>=0)-(H>>>=0),Pn=Math.min(kt,In),Yn=this.slice(it,At),Mi=L.slice(H,Le),xi=0;xi>>=0,isFinite(Le)?(Le>>>=0,void 0===it&&(it="utf8")):(it=Le,Le=void 0)}var At=this.length-H;if((void 0===Le||Le>At)&&(Le=At),L.length>0&&(Le<0||H<0)||H>this.length)throw new RangeError("Attempt to write outside buffer bounds");it||(it="utf8");for(var kt=!1;;)switch(it){case"hex":return ne(this,L,H,Le);case"utf8":case"utf-8":return ue(this,L,H,Le);case"ascii":return se(this,L,H,Le);case"latin1":case"binary":return te(this,L,H,Le);case"base64":return Re(this,L,H,Le);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return be(this,L,H,Le);default:if(kt)throw new TypeError("Unknown encoding: "+it);it=(""+it).toLowerCase(),kt=!0}},C.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Ge(z,L,H){var Le="";H=Math.min(z.length,H);for(var it=L;itLe)&&(H=Le);for(var it="",At=L;AtH)throw new RangeError("Trying to access beyond buffer length")}function Ce(z,L,H,Le,it,At){if(!C.isBuffer(z))throw new TypeError('"buffer" argument must be a Buffer instance');if(L>it||Lz.length)throw new RangeError("Index out of range")}function $e(z,L,H,Le,it,At){if(H+Le>z.length)throw new RangeError("Index out of range");if(H<0)throw new RangeError("Index out of range")}function Se(z,L,H,Le,it){return L=+L,H>>>=0,it||$e(z,0,H,4),F.write(z,L,H,Le,23,4),H+4}function ze(z,L,H,Le,it){return L=+L,H>>>=0,it||$e(z,0,H,8),F.write(z,L,H,Le,52,8),H+8}C.prototype.slice=function(L,H){var Le=this.length;(L=~~L)<0?(L+=Le)<0&&(L=0):L>Le&&(L=Le),(H=void 0===H?Le:~~H)<0?(H+=Le)<0&&(H=0):H>Le&&(H=Le),H>>=0,H>>>=0,Le||Me(L,H,this.length);for(var it=this[L],At=1,kt=0;++kt>>=0,H>>>=0,Le||Me(L,H,this.length);for(var it=this[L+--H],At=1;H>0&&(At*=256);)it+=this[L+--H]*At;return it},C.prototype.readUInt8=function(L,H){return L>>>=0,H||Me(L,1,this.length),this[L]},C.prototype.readUInt16LE=function(L,H){return L>>>=0,H||Me(L,2,this.length),this[L]|this[L+1]<<8},C.prototype.readUInt16BE=function(L,H){return L>>>=0,H||Me(L,2,this.length),this[L]<<8|this[L+1]},C.prototype.readUInt32LE=function(L,H){return L>>>=0,H||Me(L,4,this.length),(this[L]|this[L+1]<<8|this[L+2]<<16)+16777216*this[L+3]},C.prototype.readUInt32BE=function(L,H){return L>>>=0,H||Me(L,4,this.length),16777216*this[L]+(this[L+1]<<16|this[L+2]<<8|this[L+3])},C.prototype.readIntLE=function(L,H,Le){L>>>=0,H>>>=0,Le||Me(L,H,this.length);for(var it=this[L],At=1,kt=0;++kt=(At*=128)&&(it-=Math.pow(2,8*H)),it},C.prototype.readIntBE=function(L,H,Le){L>>>=0,H>>>=0,Le||Me(L,H,this.length);for(var it=H,At=1,kt=this[L+--it];it>0&&(At*=256);)kt+=this[L+--it]*At;return kt>=(At*=128)&&(kt-=Math.pow(2,8*H)),kt},C.prototype.readInt8=function(L,H){return L>>>=0,H||Me(L,1,this.length),128&this[L]?-1*(255-this[L]+1):this[L]},C.prototype.readInt16LE=function(L,H){L>>>=0,H||Me(L,2,this.length);var Le=this[L]|this[L+1]<<8;return 32768&Le?4294901760|Le:Le},C.prototype.readInt16BE=function(L,H){L>>>=0,H||Me(L,2,this.length);var Le=this[L+1]|this[L]<<8;return 32768&Le?4294901760|Le:Le},C.prototype.readInt32LE=function(L,H){return L>>>=0,H||Me(L,4,this.length),this[L]|this[L+1]<<8|this[L+2]<<16|this[L+3]<<24},C.prototype.readInt32BE=function(L,H){return L>>>=0,H||Me(L,4,this.length),this[L]<<24|this[L+1]<<16|this[L+2]<<8|this[L+3]},C.prototype.readFloatLE=function(L,H){return L>>>=0,H||Me(L,4,this.length),F.read(this,L,!0,23,4)},C.prototype.readFloatBE=function(L,H){return L>>>=0,H||Me(L,4,this.length),F.read(this,L,!1,23,4)},C.prototype.readDoubleLE=function(L,H){return L>>>=0,H||Me(L,8,this.length),F.read(this,L,!0,52,8)},C.prototype.readDoubleBE=function(L,H){return L>>>=0,H||Me(L,8,this.length),F.read(this,L,!1,52,8)},C.prototype.writeUIntLE=function(L,H,Le,it){L=+L,H>>>=0,Le>>>=0,it||Ce(this,L,H,Le,Math.pow(2,8*Le)-1,0);var kt=1,In=0;for(this[H]=255&L;++In>>=0,Le>>>=0,it||Ce(this,L,H,Le,Math.pow(2,8*Le)-1,0);var kt=Le-1,In=1;for(this[H+kt]=255&L;--kt>=0&&(In*=256);)this[H+kt]=L/In&255;return H+Le},C.prototype.writeUInt8=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,1,255,0),this[H]=255&L,H+1},C.prototype.writeUInt16LE=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,2,65535,0),this[H]=255&L,this[H+1]=L>>>8,H+2},C.prototype.writeUInt16BE=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,2,65535,0),this[H]=L>>>8,this[H+1]=255&L,H+2},C.prototype.writeUInt32LE=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,4,4294967295,0),this[H+3]=L>>>24,this[H+2]=L>>>16,this[H+1]=L>>>8,this[H]=255&L,H+4},C.prototype.writeUInt32BE=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,4,4294967295,0),this[H]=L>>>24,this[H+1]=L>>>16,this[H+2]=L>>>8,this[H+3]=255&L,H+4},C.prototype.writeIntLE=function(L,H,Le,it){if(L=+L,H>>>=0,!it){var At=Math.pow(2,8*Le-1);Ce(this,L,H,Le,At-1,-At)}var kt=0,In=1,Pn=0;for(this[H]=255&L;++kt>0)-Pn&255;return H+Le},C.prototype.writeIntBE=function(L,H,Le,it){if(L=+L,H>>>=0,!it){var At=Math.pow(2,8*Le-1);Ce(this,L,H,Le,At-1,-At)}var kt=Le-1,In=1,Pn=0;for(this[H+kt]=255&L;--kt>=0&&(In*=256);)L<0&&0===Pn&&0!==this[H+kt+1]&&(Pn=1),this[H+kt]=(L/In>>0)-Pn&255;return H+Le},C.prototype.writeInt8=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,1,127,-128),L<0&&(L=255+L+1),this[H]=255&L,H+1},C.prototype.writeInt16LE=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,2,32767,-32768),this[H]=255&L,this[H+1]=L>>>8,H+2},C.prototype.writeInt16BE=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,2,32767,-32768),this[H]=L>>>8,this[H+1]=255&L,H+2},C.prototype.writeInt32LE=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,4,2147483647,-2147483648),this[H]=255&L,this[H+1]=L>>>8,this[H+2]=L>>>16,this[H+3]=L>>>24,H+4},C.prototype.writeInt32BE=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,4,2147483647,-2147483648),L<0&&(L=4294967295+L+1),this[H]=L>>>24,this[H+1]=L>>>16,this[H+2]=L>>>8,this[H+3]=255&L,H+4},C.prototype.writeFloatLE=function(L,H,Le){return Se(this,L,H,!0,Le)},C.prototype.writeFloatBE=function(L,H,Le){return Se(this,L,H,!1,Le)},C.prototype.writeDoubleLE=function(L,H,Le){return ze(this,L,H,!0,Le)},C.prototype.writeDoubleBE=function(L,H,Le){return ze(this,L,H,!1,Le)},C.prototype.copy=function(L,H,Le,it){if(!C.isBuffer(L))throw new TypeError("argument should be a Buffer");if(Le||(Le=0),!it&&0!==it&&(it=this.length),H>=L.length&&(H=L.length),H||(H=0),it>0&&it=this.length)throw new RangeError("Index out of range");if(it<0)throw new RangeError("sourceEnd out of bounds");it>this.length&&(it=this.length),L.length-H=0;--kt)L[kt+H]=this[kt+Le];else Uint8Array.prototype.set.call(L,this.subarray(Le,it),H);return At},C.prototype.fill=function(L,H,Le,it){if("string"==typeof L){if("string"==typeof H?(it=H,H=0,Le=this.length):"string"==typeof Le&&(it=Le,Le=this.length),void 0!==it&&"string"!=typeof it)throw new TypeError("encoding must be a string");if("string"==typeof it&&!C.isEncoding(it))throw new TypeError("Unknown encoding: "+it);if(1===L.length){var At=L.charCodeAt(0);("utf8"===it&&At<128||"latin1"===it)&&(L=At)}}else"number"==typeof L&&(L&=255);if(H<0||this.length>>=0,Le=void 0===Le?this.length:Le>>>0,L||(L=0),"number"==typeof L)for(kt=H;kt55295&&H<57344){if(!it){if(H>56319){(L-=3)>-1&&At.push(239,191,189);continue}if(kt+1===Le){(L-=3)>-1&&At.push(239,191,189);continue}it=H;continue}if(H<56320){(L-=3)>-1&&At.push(239,191,189),it=H;continue}H=65536+(it-55296<<10|H-56320)}else it&&(L-=3)>-1&&At.push(239,191,189);if(it=null,H<128){if((L-=1)<0)break;At.push(H)}else if(H<2048){if((L-=2)<0)break;At.push(H>>6|192,63&H|128)}else if(H<65536){if((L-=3)<0)break;At.push(H>>12|224,H>>6&63|128,63&H|128)}else{if(!(H<1114112))throw new Error("Invalid code point");if((L-=4)<0)break;At.push(H>>18|240,H>>12&63|128,H>>6&63|128,63&H|128)}}return At}function Ye(z){return U.toByteArray(function(z){if((z=(z=z.split("=")[0]).trim().replace(Ke,"")).length<2)return"";for(;z.length%4!=0;)z+="=";return z}(z))}function _t(z,L,H,Le){for(var it=0;it=L.length||it>=z.length);++it)L[it+H]=z[it];return it}function gt(z,L){return z instanceof L||null!=z&&null!=z.constructor&&null!=z.constructor.name&&z.constructor.name===L.name}function Ae(z){return z!=z}}).call(this)}).call(this,Q("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(Q,Ee,pe){"use strict";Ee.exports=function X(U){return null===U||"object"!=typeof U||null!=U.toJSON?JSON.stringify(U):Array.isArray(U)?"["+U.reduce((F,Y,B)=>F+(0===B?"":",")+X(void 0===Y||"symbol"==typeof Y?null:Y),"")+"]":"{"+Object.keys(U).sort().reduce((F,Y,B)=>void 0===U[Y]||"symbol"==typeof U[Y]?F:F+(0===F.length?"":",")+X(Y)+":"+X(U[Y]),"")+"}"}},{}],8:[function(Q,Ee,pe){"use strict";var F,X="object"==typeof Reflect?Reflect:null,U=X&&"function"==typeof X.apply?X.apply:function(W,ne,ue){return Function.prototype.apply.call(W,ne,ue)};F=X&&"function"==typeof X.ownKeys?X.ownKeys:Object.getOwnPropertySymbols?function(W){return Object.getOwnPropertyNames(W).concat(Object.getOwnPropertySymbols(W))}:function(W){return Object.getOwnPropertyNames(W)};var B=Number.isNaN||function(W){return W!=W};function w(){w.init.call(this)}Ee.exports=w,Ee.exports.once=function(x,W){return new Promise(function(ne,ue){function se(Re){x.removeListener(W,te),ue(Re)}function te(){"function"==typeof x.removeListener&&x.removeListener("error",se),ne([].slice.call(arguments))}Z(x,W,te,{once:!0}),"error"!==W&&function(x,W,ne){"function"==typeof x.on&&Z(x,"error",W,ne)}(x,se,{once:!0})})},w.EventEmitter=w,w.prototype._events=void 0,w.prototype._eventsCount=0,w.prototype._maxListeners=void 0;var C=10;function R(x){if("function"!=typeof x)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof x)}function M(x){return void 0===x._maxListeners?w.defaultMaxListeners:x._maxListeners}function y(x,W,ne,ue){var se,te,Re;if(R(ne),void 0===(te=x._events)?(te=x._events=Object.create(null),x._eventsCount=0):(void 0!==te.newListener&&(x.emit("newListener",W,ne.listener?ne.listener:ne),te=x._events),Re=te[W]),void 0===Re)Re=te[W]=ne,++x._eventsCount;else if("function"==typeof Re?Re=te[W]=ue?[ne,Re]:[Re,ne]:ue?Re.unshift(ne):Re.push(ne),(se=M(x))>0&&Re.length>se&&!Re.warned){Re.warned=!0;var be=new Error("Possible EventEmitter memory leak detected. "+Re.length+" "+String(W)+" listeners added. Use emitter.setMaxListeners() to increase limit");be.name="MaxListenersExceededWarning",be.emitter=x,be.type=W,be.count=Re.length,function(x){console&&console.warn&&console.warn(x)}(be)}return x}function v(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function b(x,W,ne){var ue={fired:!1,wrapFn:void 0,target:x,type:W,listener:ne},se=v.bind(ue);return se.listener=ne,ue.wrapFn=se,se}function S(x,W,ne){var ue=x._events;if(void 0===ue)return[];var se=ue[W];return void 0===se?[]:"function"==typeof se?ne?[se.listener||se]:[se]:ne?function(x){for(var W=new Array(x.length),ne=0;ne0&&(Re=ne[0]),Re instanceof Error)throw Re;var be=new Error("Unhandled error."+(Re?" ("+Re.message+")":""));throw be.context=Re,be}var re=te[W];if(void 0===re)return!1;if("function"==typeof re)U(re,this,ne);else{var ve=re.length,Fe=E(re,ve);for(ue=0;ue=0;Re--)if(ue[Re]===ne||ue[Re].listener===ne){be=ue[Re].listener,te=Re;break}if(te<0)return this;0===te?ue.shift():function(x,W){for(;W+1=0;se--)this.removeListener(W,ne[se]);return this},w.prototype.listeners=function(W){return S(this,W,!0)},w.prototype.rawListeners=function(W){return S(this,W,!1)},w.listenerCount=function(x,W){return"function"==typeof x.listenerCount?x.listenerCount(W):T.call(x,W)},w.prototype.listenerCount=T,w.prototype.eventNames=function(){return this._eventsCount>0?F(this._events):[]}},{}],9:[function(Q,Ee,pe){pe.read=function(X,U,F,Y,B){var w,C,R=8*B-Y-1,M=(1<>1,v=-7,b=F?B-1:0,S=F?-1:1,T=X[U+b];for(b+=S,w=T&(1<<-v)-1,T>>=-v,v+=R;v>0;w=256*w+X[U+b],b+=S,v-=8);for(C=w&(1<<-v)-1,w>>=-v,v+=Y;v>0;C=256*C+X[U+b],b+=S,v-=8);if(0===w)w=1-y;else{if(w===M)return C?NaN:1/0*(T?-1:1);C+=Math.pow(2,Y),w-=y}return(T?-1:1)*C*Math.pow(2,w-Y)},pe.write=function(X,U,F,Y,B,w){var C,R,M,y=8*w-B-1,v=(1<>1,S=23===B?Math.pow(2,-24)-Math.pow(2,-77):0,T=Y?0:w-1,E=Y?1:-1,O=U<0||0===U&&1/U<0?1:0;for(U=Math.abs(U),isNaN(U)||U===1/0?(R=isNaN(U)?1:0,C=v):(C=Math.floor(Math.log(U)/Math.LN2),U*(M=Math.pow(2,-C))<1&&(C--,M*=2),(U+=C+b>=1?S/M:S*Math.pow(2,1-b))*M>=2&&(C++,M/=2),C+b>=v?(R=0,C=v):C+b>=1?(R=(U*M-1)*Math.pow(2,B),C+=b):(R=U*Math.pow(2,b-1)*Math.pow(2,B),C=0));B>=8;X[F+T]=255&R,T+=E,R/=256,B-=8);for(C=C<0;X[F+T]=255&C,T+=E,C/=256,y-=8);X[F+T-E]|=128*O}},{}],10:[function(Q,Ee,pe){Ee.exports="function"==typeof Object.create?function(U,F){F&&(U.super_=F,U.prototype=Object.create(F.prototype,{constructor:{value:U,enumerable:!1,writable:!0,configurable:!0}}))}:function(U,F){if(F){U.super_=F;var Y=function(){};Y.prototype=F.prototype,U.prototype=new Y,U.prototype.constructor=U}}},{}],11:[function(Q,Ee,pe){"use strict";const{isArray:X,isObject:U,isString:F}=Q("./types"),{asArray:Y}=Q("./util"),{prependBase:B}=Q("./url"),w=Q("./JsonLdError"),C=Q("./ResolvedContext");function M(v){throw new w("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:v})}function y({context:v,base:b}){if(!v)return;const S=v["@context"];if(F(S))v["@context"]=B(b,S);else if(X(S))for(let T=0;T10)throw new w("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===b.processingMode?"loading remote context failed":"context overflow",max:10});if(E.has(S))throw new w("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===b.processingMode?"recursive context inclusion":"context overflow",url:S});let O,$;E.add(S);try{$=yield T(S),O=$.document||null,F(O)&&(O=JSON.parse(O))}catch(D){throw new w("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:S,cause:D})}if(!U(O))throw new w("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:S});return O="@context"in O?{"@context":O["@context"]}:{"@context":{}},$.contextUrl&&(X(O["@context"])||(O["@context"]=[O["@context"]]),O["@context"].push($.contextUrl)),{context:O,remoteDoc:$}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(Q,Ee,pe){"use strict";Ee.exports=class extends Error{constructor(U="An unspecified JSON-LD error occurred.",F="jsonld.Error",Y={}){super(U),this.name=F,this.message=U,this.details=Y}}},{}],13:[function(Q,Ee,pe){"use strict";Ee.exports=X=>{class U{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(U,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(U.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:U}),U.compact=function(F,Y){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):X.compact(F,Y)},U.expand=function(F){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):X.expand(F)},U.flatten=function(F){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):X.flatten(F)},U}},{}],14:[function(Q,Ee,pe){"use strict";Ee.exports=Q("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(Q,Ee,pe){"use strict";Ee.exports=class{constructor(){this._requests={}}wrapLoader(U){const F=this;return F._loader=U,function(){return F.add.apply(F,arguments)}}add(U){var F=this;return lt(function*(){let Y=F._requests[U];if(Y)return Promise.resolve(Y);Y=F._requests[U]=F._loader(U);try{return yield Y}finally{delete F._requests[U]}})()}}},{}],16:[function(Q,Ee,pe){"use strict";const X=Q("lru-cache");Ee.exports=class{constructor({document:Y}){this.document=Y,this.cache=new X({max:10})}getProcessed(Y){return this.cache.get(Y)}setProcessed(Y,B){this.cache.set(Y,B)}}},{"lru-cache":33}],17:[function(Q,Ee,pe){"use strict";const X=Q("./JsonLdError"),{isArray:U,isObject:F,isString:Y,isUndefined:B}=Q("./types"),{isList:w,isValue:C,isGraph:R,isSimpleGraph:M,isSubjectReference:y}=Q("./graphTypes"),{expandIri:v,getContextValue:b,isKeyword:S,process:T,processingMode:E}=Q("./context"),{removeBase:O,prependBase:$}=Q("./url"),{addValue:D,asArray:P,compareShortestLeast:Z}=Q("./util"),x={};function ne(ue,se,te){if("@nest"!==v(ue,se,{vocab:!0},te))throw new X("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}Ee.exports=x,x.compact=function(){var ue=lt(function*({activeCtx:se,activeProperty:te=null,element:Re,options:be={},compactionMap:re=(()=>{})}){if(U(Re)){let Fe=[];for(let Ze=0;Ze1&&(le=Array.from(le).sort());const _e=se;for(const Ce of le){const $e=x.compactIri({activeCtx:_e,iri:Ce,relativeTo:{vocab:!0}}),Se=b(Ge,$e,"@context");B(Se)||(se=yield T({activeCtx:se,localCtx:Se,options:be,propagate:!1}))}const Me=Object.keys(Re).sort();for(const Ce of Me){const $e=Re[Ce];if("@id"!==Ce)if("@type"!==Ce)if("@reverse"!==Ce)if("@preserve"!==Ce)if("@index"!==Ce)if("@graph"!==Ce&&"@list"!==Ce&&"@included"!==Ce&&S(Ce)){const Se=x.compactIri({activeCtx:se,iri:Ce,relativeTo:{vocab:!0}});D(Ze,Se,$e)}else{if(!U($e))throw new X("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===$e.length){const Se=x.compactIri({activeCtx:se,iri:Ce,value:$e,relativeTo:{vocab:!0},reverse:Fe}),ze=se.mappings.has(Se)?se.mappings.get(Se)["@nest"]:null;let Ke=Ze;ze&&(ne(se,ze,be),F(Ze[ze])||(Ze[ze]={}),Ke=Ze[ze]),D(Ke,Se,$e,{propertyIsArray:!0})}for(const Se of $e){const ze=x.compactIri({activeCtx:se,iri:Ce,value:Se,relativeTo:{vocab:!0},reverse:Fe}),Ke=se.mappings.has(ze)?se.mappings.get(ze)["@nest"]:null;let Ve=Ze;Ke&&(ne(se,Ke,be),F(Ze[Ke])||(Ze[Ke]={}),Ve=Ze[Ke]);const K=b(se,ze,"@container")||[],q=R(Se),ge=w(Se);let ce;ge?ce=Se["@list"]:q&&(ce=Se["@graph"]);let Ye=yield x.compact({activeCtx:se,activeProperty:ze,element:ge||q?ce:Se,options:be,compactionMap:re});if(ge){if(U(Ye)||(Ye=[Ye]),K.includes("@list")){D(Ve,ze,Ye,{valueIsArray:!0,allowDuplicate:!0});continue}Ye={[x.compactIri({activeCtx:se,iri:"@list",relativeTo:{vocab:!0}})]:Ye},"@index"in Se&&(Ye[x.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Se["@index"])}if(q)if(K.includes("@graph")&&(K.includes("@id")||K.includes("@index")&&M(Se))){let _t;Ve.hasOwnProperty(ze)?_t=Ve[ze]:Ve[ze]=_t={};const gt=(K.includes("@id")?Se["@id"]:Se["@index"])||x.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}});D(_t,gt,Ye,{propertyIsArray:!be.compactArrays||K.includes("@set")})}else K.includes("@graph")&&M(Se)?(U(Ye)&&Ye.length>1&&(Ye={"@included":Ye}),D(Ve,ze,Ye,{propertyIsArray:!be.compactArrays||K.includes("@set")})):(U(Ye)&&1===Ye.length&&be.compactArrays&&(Ye=Ye[0]),Ye={[x.compactIri({activeCtx:se,iri:"@graph",relativeTo:{vocab:!0}})]:Ye},"@id"in Se&&(Ye[x.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Se["@id"]),"@index"in Se&&(Ye[x.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Se["@index"]),D(Ve,ze,Ye,{propertyIsArray:!be.compactArrays||K.includes("@set")}));else if(K.includes("@language")||K.includes("@index")||K.includes("@id")||K.includes("@type")){let _t,gt;if(Ve.hasOwnProperty(ze)?_t=Ve[ze]:Ve[ze]=_t={},K.includes("@language"))C(Ye)&&(Ye=Ye["@value"]),gt=Se["@language"];else if(K.includes("@index")){const Ae=b(se,ze,"@index")||"@index",z=x.compactIri({activeCtx:se,iri:Ae,relativeTo:{vocab:!0}});if("@index"===Ae)gt=Se["@index"],delete Ye[z];else{let L;if([gt,...L]=P(Ye[Ae]||[]),Y(gt))switch(L.length){case 0:delete Ye[Ae];break;case 1:Ye[Ae]=L[0];break;default:Ye[Ae]=L}else gt=null}}else if(K.includes("@id")){const Ae=x.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}});gt=Ye[Ae],delete Ye[Ae]}else if(K.includes("@type")){const Ae=x.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}});let z;switch([gt,...z]=P(Ye[Ae]||[]),z.length){case 0:delete Ye[Ae];break;case 1:Ye[Ae]=z[0];break;default:Ye[Ae]=z}1===Object.keys(Ye).length&&"@id"in Se&&(Ye=yield x.compact({activeCtx:se,activeProperty:ze,element:{"@id":Se["@id"]},options:be,compactionMap:re}))}gt||(gt=x.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}})),D(_t,gt,Ye,{propertyIsArray:K.includes("@set")})}else{const _t=!be.compactArrays||K.includes("@set")||K.includes("@list")||U(Ye)&&0===Ye.length||"@list"===Ce||"@graph"===Ce;D(Ve,ze,Ye,{propertyIsArray:_t})}}}else{if((b(se,te,"@container")||[]).includes("@index"))continue;const ze=x.compactIri({activeCtx:se,iri:Ce,relativeTo:{vocab:!0}});D(Ze,ze,$e)}else{const Se=yield x.compact({activeCtx:se,activeProperty:te,element:$e,options:be,compactionMap:re});U(Se)&&0===Se.length||D(Ze,Ce,Se)}else{const Se=yield x.compact({activeCtx:se,activeProperty:"@reverse",element:$e,options:be,compactionMap:re});for(const ze in Se)if(se.mappings.has(ze)&&se.mappings.get(ze).reverse){const Ke=Se[ze],K=(b(se,ze,"@container")||[]).includes("@set")||!be.compactArrays;D(Ze,ze,Ke,{propertyIsArray:K}),delete Se[ze]}if(Object.keys(Se).length>0){const ze=x.compactIri({activeCtx:se,iri:Ce,relativeTo:{vocab:!0}});D(Ze,ze,Se)}}else{let Se=P($e).map(q=>x.compactIri({activeCtx:Ge,iri:q,relativeTo:{vocab:!0}}));1===Se.length&&(Se=Se[0]);const ze=x.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}}),K=(b(se,ze,"@container")||[]).includes("@set")&&E(se,1.1)||U(Se)&&0===$e.length;D(Ze,ze,Se,{propertyIsArray:K})}else{let Se=P($e).map(Ke=>x.compactIri({activeCtx:se,iri:Ke,relativeTo:{vocab:!1},base:be.base}));1===Se.length&&(Se=Se[0]),Ze[x.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Se}}return Ze}return Re});return function(se){return ue.apply(this,arguments)}}(),x.compactIri=({activeCtx:ue,iri:se,value:te=null,relativeTo:Re={vocab:!1},reverse:be=!1,base:re=null})=>{if(null===se)return se;ue.isPropertyTermScoped&&ue.previousContext&&(ue=ue.previousContext);const ve=ue.getInverse();if(S(se)&&se in ve&&"@none"in ve[se]&&"@type"in ve[se]["@none"]&&"@none"in ve[se]["@none"]["@type"])return ve[se]["@none"]["@type"]["@none"];if(Re.vocab&&se in ve){const le=ue["@language"]||"@none",_e=[];F(te)&&"@index"in te&&!("@graph"in te)&&_e.push("@index","@index@set"),F(te)&&"@preserve"in te&&(te=te["@preserve"][0]),R(te)?("@index"in te&&_e.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te&&_e.push("@graph@id","@graph@id@set"),_e.push("@graph","@graph@set","@set"),"@index"in te||_e.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te||_e.push("@graph@id","@graph@id@set")):F(te)&&!C(te)&&_e.push("@id","@id@set","@type","@set@type");let Me="@language",Ce="@null";if(be)Me="@type",Ce="@reverse",_e.push("@set");else if(w(te)){"@index"in te||_e.push("@list");const Se=te["@list"];if(0===Se.length)Me="@any",Ce="@none";else{let ze=0===Se.length?le:null,Ke=null;for(let Ve=0;VeGe.includes("_"));Ze&&ve.push(Ze.replace(/^[^_]+_/,"_"))}ve.push("@none");const Fe=ue.inverse[se];for(const Ze of Re){if(!(Ze in Fe))continue;const Ge=Fe[Ze][be];for(const J of ve)if(J in Ge)return Ge[J]}return null}(ue,se,te,_e,Me,Ce);if(null!==$e)return $e}if(Re.vocab&&"@vocab"in ue){const le=ue["@vocab"];if(0===se.indexOf(le)&&se!==le){const _e=se.substr(le.length);if(!ue.mappings.has(_e))return _e}}let Fe=null;const Ze=[];let Ge=ue.fastCurieMap;const J=se.length-1;for(let le=0;le=0;--le){const _e=Ze[le],Me=_e.terms;for(const Ce of Me){const $e=Ce+":"+se.substr(_e.iri.length);ue.mappings.get(Ce)._prefix&&(!ue.mappings.has($e)||null===te&&ue.mappings.get($e)["@id"]===se)&&(null===Fe||Z($e,Fe)<0)&&(Fe=$e)}}if(null!==Fe)return Fe;for(const[le,_e]of ue.mappings)if(_e&&_e._prefix&&se.startsWith(le+":"))throw new X(`Absolute IRI "${se}" confused with prefix "${le}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:ue});return Re.vocab?se:"@base"in ue?ue["@base"]?O($(re,ue["@base"]),se):se:O(re,se)},x.compactValue=({activeCtx:ue,activeProperty:se,value:te,options:Re})=>{if(C(te)){const Fe=b(ue,se,"@type"),Ze=b(ue,se,"@language"),Ge=b(ue,se,"@direction"),J=b(ue,se,"@container")||[],le="@index"in te&&!J.includes("@index");if(!le&&"@none"!==Fe&&(te["@type"]===Fe||"@language"in te&&te["@language"]===Ze&&"@direction"in te&&te["@direction"]===Ge||"@language"in te&&te["@language"]===Ze||"@direction"in te&&te["@direction"]===Ge))return te["@value"];const _e=Object.keys(te).length,Me=1===_e||2===_e&&"@index"in te&&!le,Ce="@language"in ue,$e=Y(te["@value"]),Se=ue.mappings.has(se)&&null===ue.mappings.get(se)["@language"];if(Me&&"@none"!==Fe&&(!Ce||!$e||Se))return te["@value"];const ze={};return le&&(ze[x.compactIri({activeCtx:ue,iri:"@index",relativeTo:{vocab:!0}})]=te["@index"]),"@type"in te?ze[x.compactIri({activeCtx:ue,iri:"@type",relativeTo:{vocab:!0}})]=x.compactIri({activeCtx:ue,iri:te["@type"],relativeTo:{vocab:!0}}):"@language"in te&&(ze[x.compactIri({activeCtx:ue,iri:"@language",relativeTo:{vocab:!0}})]=te["@language"]),"@direction"in te&&(ze[x.compactIri({activeCtx:ue,iri:"@direction",relativeTo:{vocab:!0}})]=te["@direction"]),ze[x.compactIri({activeCtx:ue,iri:"@value",relativeTo:{vocab:!0}})]=te["@value"],ze}const be=v(ue,se,{vocab:!0},Re),re=b(ue,se,"@type"),ve=x.compactIri({activeCtx:ue,iri:te["@id"],relativeTo:{vocab:"@vocab"===re},base:Re.base});return"@id"===re||"@vocab"===re||"@graph"===be?ve:{[x.compactIri({activeCtx:ue,iri:"@id",relativeTo:{vocab:!0}})]:ve}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(Q,Ee,pe){"use strict";const X="http://www.w3.org/1999/02/22-rdf-syntax-ns#",U="http://www.w3.org/2001/XMLSchema#";Ee.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:X,RDF_LIST:X+"List",RDF_FIRST:X+"first",RDF_REST:X+"rest",RDF_NIL:X+"nil",RDF_TYPE:X+"type",RDF_PLAIN_LITERAL:X+"PlainLiteral",RDF_XML_LITERAL:X+"XMLLiteral",RDF_JSON_LITERAL:X+"JSON",RDF_OBJECT:X+"object",RDF_LANGSTRING:X+"langString",XSD:U,XSD_BOOLEAN:U+"boolean",XSD_DOUBLE:U+"double",XSD_INTEGER:U+"integer",XSD_STRING:U+"string"}},{}],19:[function(Q,Ee,pe){"use strict";const X=Q("./util"),U=Q("./JsonLdError"),{isArray:F,isObject:Y,isString:B,isUndefined:w}=Q("./types"),{isAbsolute:C,isRelative:R,prependBase:M}=Q("./url"),{asArray:y,compareShortestLeast:v}=Q("./util"),b=new Map,T=/^@[a-zA-Z]+$/,E={};function O(D,P,Z,x,W,ne){if(null===P||!B(P)||E.isKeyword(P))return P;if(P.match(T))return null;if(x&&x.hasOwnProperty(P)&&!0!==W.get(P)&&E.createTermDefinition({activeCtx:D,localCtx:x,term:P,defined:W,options:ne}),(Z=Z||{}).vocab){const se=D.mappings.get(P);if(null===se)return null;if(Y(se)&&"@id"in se)return se["@id"]}const ue=P.indexOf(":");if(ue>0){const se=P.substr(0,ue),te=P.substr(ue+1);if("_"===se||0===te.indexOf("//"))return P;x&&x.hasOwnProperty(se)&&E.createTermDefinition({activeCtx:D,localCtx:x,term:se,defined:W,options:ne});const Re=D.mappings.get(se);if(Re&&Re._prefix)return Re["@id"]+te;if(C(P))return P}if(Z.vocab&&"@vocab"in D)return D["@vocab"]+P;if(Z.base&&"@base"in D){if(D["@base"])return M(M(ne.base,D["@base"]),P)}else if(Z.base)return M(ne.base,P);return P}function $(D,P){if(!D||"object"!=typeof D||!P||"object"!=typeof P)return D===P;const Z=Array.isArray(D);if(Z!==Array.isArray(P))return!1;if(Z){if(D.length!==P.length)return!1;for(let ne=0;ne{if(x.has(Z)){if(x.get(Z))return;throw new U("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:P,term:Z})}let ue;if(x.set(Z,!1),P.hasOwnProperty(Z)&&(ue=P[Z]),"@type"===Z&&Y(ue)&&"@set"===(ue["@container"]||"@set")&&E.processingMode(D,1.1)){const Fe=["@container","@id","@protected"],Ze=Object.keys(ue);if(0===Ze.length||Ze.some(Ge=>!Fe.includes(Ge)))throw new U("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:P,term:Z})}else{if(E.isKeyword(Z))throw new U("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:P,term:Z});if(Z.match(T))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:Z});if(""===Z)throw new U("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:P})}const se=D.mappings.get(Z);D.mappings.has(Z)&&D.mappings.delete(Z);let te=!1;if((B(ue)||null===ue)&&(te=!0,ue={"@id":ue}),!Y(ue))throw new U("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:P});const Re={};D.mappings.set(Z,Re),Re.reverse=!1;const be=["@container","@id","@language","@reverse","@type"];E.processingMode(D,1.1)&&be.push("@context","@direction","@index","@nest","@prefix","@protected");for(const Fe in ue)if(!be.includes(Fe))throw new U("Invalid JSON-LD syntax; a term definition must not contain "+Fe,"jsonld.SyntaxError",{code:"invalid term definition",context:P});const re=Z.indexOf(":");if(Re._termHasColon=re>0,"@reverse"in ue){if("@id"in ue)throw new U("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:P});if("@nest"in ue)throw new U("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:P});const Fe=ue["@reverse"];if(!B(Fe))throw new U("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});if(!E.isKeyword(Fe)&&Fe.match(T))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:Fe}),void(se?D.mappings.set(Z,se):D.mappings.delete(Z));const Ze=O(D,Fe,{vocab:!0,base:!1},P,x,W);if(!C(Ze))throw new U("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});Re["@id"]=Ze,Re.reverse=!0}else if("@id"in ue){let Fe=ue["@id"];if(Fe&&!B(Fe))throw new U("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});if(null===Fe)Re["@id"]=null;else{if(!E.isKeyword(Fe)&&Fe.match(T))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:Fe}),void(se?D.mappings.set(Z,se):D.mappings.delete(Z));if(Fe!==Z){if(Fe=O(D,Fe,{vocab:!0,base:!1},P,x,W),!C(Fe)&&!E.isKeyword(Fe))throw new U("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});if(Z.match(/(?::[^:])|\//)&&O(D,Z,{vocab:!0,base:!1},P,new Map(x).set(Z,!0),W)!==Fe)throw new U("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});Re["@id"]=Fe,Re._prefix=te&&!Re._termHasColon&&Fe.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in Re))if(Re._termHasColon){const Fe=Z.substr(0,re);if(P.hasOwnProperty(Fe)&&E.createTermDefinition({activeCtx:D,localCtx:P,term:Fe,defined:x,options:W}),D.mappings.has(Fe)){const Ze=Z.substr(re+1);Re["@id"]=D.mappings.get(Fe)["@id"]+Ze}else Re["@id"]=Z}else if("@type"===Z)Re["@id"]=Z;else{if(!("@vocab"in D))throw new U("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P,term:Z});Re["@id"]=D["@vocab"]+Z}if((!0===ue["@protected"]||!0===x.get("@protected")&&!1!==ue["@protected"])&&(D.protected[Z]=!0,Re.protected=!0),x.set(Z,!0),"@type"in ue){let Fe=ue["@type"];if(!B(Fe))throw new U("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:P});if("@json"===Fe||"@none"===Fe){if(E.processingMode(D,1))throw new U(`Invalid JSON-LD syntax; an @context @type value must not be "${Fe}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:P})}else if("@id"!==Fe&&"@vocab"!==Fe){if(Fe=O(D,Fe,{vocab:!0,base:!1},P,x,W),!C(Fe))throw new U("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:P});if(0===Fe.indexOf("_:"))throw new U("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:P})}Re["@type"]=Fe}if("@container"in ue){const Fe=B(ue["@container"])?[ue["@container"]]:ue["@container"]||[],Ze=["@list","@set","@index","@language"];let Ge=!0;const J=Fe.includes("@set");if(E.processingMode(D,1.1)){if(Ze.push("@graph","@id","@type"),Fe.includes("@list")){if(1!==Fe.length)throw new U("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:P})}else if(Fe.includes("@graph")){if(Fe.some(le=>"@graph"!==le&&"@id"!==le&&"@index"!==le&&"@set"!==le))throw new U("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:P})}else Ge&=Fe.length<=(J?2:1);if(Fe.includes("@type")&&(Re["@type"]=Re["@type"]||"@id",!["@id","@vocab"].includes(Re["@type"])))throw new U("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:P})}else Ge&=!F(ue["@container"]),Ge&=Fe.length<=1;if(Ge&=Fe.every(le=>Ze.includes(le)),Ge&=!(J&&Fe.includes("@list")),!Ge)throw new U("Invalid JSON-LD syntax; @context @container value must be one of the following: "+Ze.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:P});if(Re.reverse&&!Fe.every(le=>["@index","@set"].includes(le)))throw new U("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:P});Re["@container"]=Fe}if("@index"in ue){if(!("@container"in ue)||!Re["@container"].includes("@index"))throw new U(`Invalid JSON-LD syntax; @index without @index in @container: "${ue["@index"]}" on term "${Z}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:P});if(!B(ue["@index"])||0===ue["@index"].indexOf("@"))throw new U(`Invalid JSON-LD syntax; @index must expand to an IRI: "${ue["@index"]}" on term "${Z}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:P});Re["@index"]=ue["@index"]}if("@context"in ue&&(Re["@context"]=ue["@context"]),"@language"in ue&&!("@type"in ue)){let Fe=ue["@language"];if(null!==Fe&&!B(Fe))throw new U("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:P});null!==Fe&&(Fe=Fe.toLowerCase()),Re["@language"]=Fe}if("@prefix"in ue){if(Z.match(/:|\//))throw new U("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:P});if(E.isKeyword(Re["@id"]))throw new U("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:P});if("boolean"!=typeof ue["@prefix"])throw new U("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:P});Re._prefix=!0===ue["@prefix"]}if("@direction"in ue){const Fe=ue["@direction"];if(null!==Fe&&"ltr"!==Fe&&"rtl"!==Fe)throw new U('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:P});Re["@direction"]=Fe}if("@nest"in ue){const Fe=ue["@nest"];if(!B(Fe)||"@nest"!==Fe&&0===Fe.indexOf("@"))throw new U("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:P});Re["@nest"]=Fe}const ve=Re["@id"];if("@context"===ve||"@preserve"===ve)throw new U("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:P});if(se&&se.protected&&!ne&&(D.protected[Z]=!0,Re.protected=!0,!$(se,Re))){const Fe=W&&W.protectedMode||"error";if("error"===Fe)throw new U(`Invalid JSON-LD syntax; tried to redefine "${Z}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:P,term:Z});if("warn"===Fe)return void console.warn("WARNING: protected term redefinition",{term:Z});throw new U("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:P,term:Z,protectedMode:Fe})}},E.expandIri=(D,P,Z,x)=>O(D,P,Z,void 0,void 0,x),E.getInitialContext=D=>{const P=JSON.stringify({processingMode:D.processingMode}),Z=b.get(P);if(Z)return Z;const x={processingMode:D.processingMode,mappings:new Map,inverse:null,getInverse:function(){const Re=this;if(Re.inverse)return Re.inverse;const be=Re.inverse={},re=Re.fastCurieMap={},ve={},Fe=(Re["@language"]||"@none").toLowerCase(),Ze=Re["@direction"],Ge=Re.mappings,J=[...Ge.keys()].sort(v);for(const le of J){const _e=Ge.get(le);if(null===_e)continue;let Me=_e["@container"]||"@none";if(Me=[].concat(Me).sort().join(""),null===_e["@id"])continue;const Ce=y(_e["@id"]);for(const $e of Ce){let Se=be[$e];const ze=E.isKeyword($e);if(Se)!ze&&!_e._termHasColon&&ve[$e].push(le);else if(be[$e]=Se={},!ze&&!_e._termHasColon){ve[$e]=[le];const Ke={iri:$e,terms:ve[$e]};$e[0]in re?re[$e[0]].push(Ke):re[$e[0]]=[Ke]}if(Se[Me]||(Se[Me]={"@language":{},"@type":{},"@any":{}}),Se=Se[Me],ue(le,Se["@any"],"@none"),_e.reverse)ue(le,Se["@type"],"@reverse");else if("@none"===_e["@type"])ue(le,Se["@any"],"@none"),ue(le,Se["@language"],"@none"),ue(le,Se["@type"],"@none");else if("@type"in _e)ue(le,Se["@type"],_e["@type"]);else if("@language"in _e&&"@direction"in _e){const Ke=_e["@language"],Ve=_e["@direction"];ue(le,Se["@language"],Ke&&Ve?`${Ke}_${Ve}`.toLowerCase():Ke?Ke.toLowerCase():Ve?`_${Ve}`:"@null")}else"@language"in _e?ue(le,Se["@language"],(_e["@language"]||"@null").toLowerCase()):"@direction"in _e?ue(le,Se["@language"],_e["@direction"]?`_${_e["@direction"]}`:"@none"):Ze?(ue(le,Se["@language"],`_${Ze}`),ue(le,Se["@language"],"@none"),ue(le,Se["@type"],"@none")):(ue(le,Se["@language"],Fe),ue(le,Se["@language"],"@none"),ue(le,Se["@type"],"@none"))}}for(const le in re)ne(re,le,1);return be},clone:function(){const Re={};return Re.mappings=X.clone(this.mappings),Re.clone=this.clone,Re.inverse=null,Re.getInverse=this.getInverse,Re.protected=X.clone(this.protected),this.previousContext&&(Re.previousContext=this.previousContext.clone()),Re.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(Re["@base"]=this["@base"]),"@language"in this&&(Re["@language"]=this["@language"]),"@vocab"in this&&(Re["@vocab"]=this["@vocab"]),Re},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===b.size&&b.clear(),b.set(P,x),x;function ne(Re,be,re){const ve=Re[be],Fe=Re[be]={};let Ze,Ge;for(const J of ve)Ze=J.iri,Ge=re>=Ze.length?"":Ze[re],Ge in Fe?Fe[Ge].push(J):Fe[Ge]=[J];for(const J in Fe)""!==J&&ne(Fe,J,re+1)}function ue(Re,be,re){be.hasOwnProperty(re)||(be[re]=Re)}},E.getContextValue=(D,P,Z)=>{if(null===P)return"@context"===Z?void 0:null;if(D.mappings.has(P)){const x=D.mappings.get(P);if(w(Z))return x;if(x.hasOwnProperty(Z))return x[Z]}return"@language"===Z&&Z in D||"@direction"===Z&&Z in D?D[Z]:"@context"!==Z?null:void 0},E.processingMode=(D,P)=>P.toString()>="1.1"?!D.processingMode||D.processingMode>="json-ld-"+P.toString():"json-ld-1.0"===D.processingMode,E.isKeyword=D=>{if(!B(D)||"@"!==D[0])return!1;switch(D){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(Q,Ee,pe){"use strict";const{parseLinkHeader:X,buildHeaders:U}=Q("../util"),{LINK_HEADER_CONTEXT:F}=Q("../constants"),Y=Q("../JsonLdError"),B=Q("../RequestQueue"),{prependBase:w}=Q("../url"),C=/(^|(\r\n))link:/i;function R(M,y,v){const b=new(M=M||XMLHttpRequest);return new Promise((S,T)=>{b.onload=()=>S(b),b.onerror=E=>T(E),b.open("GET",y,!0);for(const E in v)b.setRequestHeader(E,v[E]);b.send()})}Ee.exports=({secure:M,headers:y={},xhr:v}={headers:{}})=>{return y=U(y),(new B).wrapLoader(S);function S(E){return T.apply(this,arguments)}function T(){return(T=lt(function*(E){if(0!==E.indexOf("http:")&&0!==E.indexOf("https:"))throw new Y('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:E});if(M&&0!==E.indexOf("https"))throw new Y('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:E});let O;try{O=yield R(v,E,y)}catch(x){throw new Y("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:E,cause:x})}if(O.status>=400)throw new Y("URL could not be dereferenced: "+O.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:E,httpStatusCode:O.status});let $={contextUrl:null,documentUrl:E,document:O.response},D=null;const P=O.getResponseHeader("Content-Type");let Z;if(C.test(O.getAllResponseHeaders())&&(Z=O.getResponseHeader("Link")),Z&&"application/ld+json"!==P){const x=X(Z),W=x[F];if(Array.isArray(W))throw new Y("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:E});W&&($.contextUrl=W.target),D=x.alternate,D&&"application/ld+json"==D.type&&!(P||"").match(/^application\/(\w*\+)?json$/)&&($=yield S(w(E,D.target)))}return $})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(Q,Ee,pe){"use strict";const X=Q("./JsonLdError"),{isArray:U,isObject:F,isEmptyObject:Y,isString:B,isUndefined:w}=Q("./types"),{isList:C,isValue:R,isGraph:M,isSubject:y}=Q("./graphTypes"),{expandIri:v,getContextValue:b,isKeyword:S,process:T,processingMode:E}=Q("./context"),{isAbsolute:O}=Q("./url"),{addValue:$,asArray:D,getValues:P,validateTypeValue:Z}=Q("./util"),x={};Ee.exports=x;const W=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function ne(re){return ue.apply(this,arguments)}function ue(){return(ue=lt(function*({activeCtx:re,activeProperty:ve,expandedActiveProperty:Fe,element:Ze,expandedParent:Ge,options:J={},insideList:le,typeKey:_e,typeScopedContext:Me,expansionMap:Ce}){const $e=Object.keys(Ze).sort(),Se=[];let ze;const Ke=Ze[_e]&&"@json"===v(re,U(Ze[_e])?Ze[_e][0]:Ze[_e],{vocab:!0},J);for(const Ve of $e){let q,K=Ze[Ve];if("@context"===Ve)continue;let ge=v(re,Ve,{vocab:!0},J);if((null===ge||!O(ge)&&!S(ge))&&(ge=Ce({unmappedProperty:Ve,activeCtx:re,activeProperty:ve,parent:Ze,options:J,insideList:le,value:K,expandedParent:Ge}),void 0===ge))continue;if(S(ge)){if("@reverse"===Fe)throw new X("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:K});if(ge in Ge&&"@included"!==ge&&"@type"!==ge)throw new X("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:ge})}if("@id"===ge){if(!B(K)){if(!J.isFrame)throw new X('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:K});if(F(K)){if(!Y(K))throw new X('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:K})}else{if(!U(K))throw new X('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:K});if(!K.every(gt=>B(gt)))throw new X('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:K})}}$(Ge,"@id",D(K).map(gt=>B(gt)?v(re,gt,{base:!0},J):gt),{propertyIsArray:J.isFrame});continue}if("@type"===ge){F(K)&&(K=Object.fromEntries(Object.entries(K).map(([gt,Ae])=>[v(Me,gt,{vocab:!0}),D(Ae).map(z=>v(Me,z,{base:!0,vocab:!0}))]))),Z(K,J.isFrame),$(Ge,"@type",D(K).map(gt=>B(gt)?v(Me,gt,{base:!0,vocab:!0},J):gt),{propertyIsArray:J.isFrame});continue}if("@included"===ge&&E(re,1.1)){const gt=D(yield x.expand({activeCtx:re,activeProperty:ve,element:K,options:J,expansionMap:Ce}));if(!gt.every(Ae=>y(Ae)))throw new X("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:K});$(Ge,"@included",gt,{propertyIsArray:!0});continue}if("@graph"===ge&&!F(K)&&!U(K))throw new X('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:K});if("@value"===ge){ze=K,Ke&&E(re,1.1)?Ge["@value"]=K:$(Ge,"@value",K,{propertyIsArray:J.isFrame});continue}if("@language"===ge){if(null===K)continue;if(!B(K)&&!J.isFrame)throw new X('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:K});K=D(K).map(gt=>B(gt)?gt.toLowerCase():gt);for(const gt of K)B(gt)&&!gt.match(W)&&console.warn(`@language must be valid BCP47: ${gt}`);$(Ge,"@language",K,{propertyIsArray:J.isFrame});continue}if("@direction"===ge){if(!B(K)&&!J.isFrame)throw new X('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:K});K=D(K);for(const gt of K)if(B(gt)&&"ltr"!==gt&&"rtl"!==gt)throw new X('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:K});$(Ge,"@direction",K,{propertyIsArray:J.isFrame});continue}if("@index"===ge){if(!B(K))throw new X('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:K});$(Ge,"@index",K);continue}if("@reverse"===ge){if(!F(K))throw new X('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:K});if(q=yield x.expand({activeCtx:re,activeProperty:"@reverse",element:K,options:J,expansionMap:Ce}),"@reverse"in q)for(const Ae in q["@reverse"])$(Ge,Ae,q["@reverse"][Ae],{propertyIsArray:!0});let gt=Ge["@reverse"]||null;for(const Ae in q){if("@reverse"===Ae)continue;null===gt&&(gt=Ge["@reverse"]={}),$(gt,Ae,[],{propertyIsArray:!0});const z=q[Ae];for(let L=0;L"@id"===gt||"@index"===gt)&&(q=D(q).map(gt=>({"@graph":D(gt)}))),ce.mappings.has(Ve)&&ce.mappings.get(Ve).reverse){const gt=Ge["@reverse"]=Ge["@reverse"]||{};q=D(q);for(let Ae=0;Ae"@value"===v(re,ge,{vocab:!0},J)))throw new X("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:q});yield ne({activeCtx:re,activeProperty:ve,expandedActiveProperty:Fe,element:q,expandedParent:Ge,options:J,insideList:le,typeScopedContext:Me,typeKey:_e,expansionMap:Ce})}}})).apply(this,arguments)}function se({activeCtx:re,activeProperty:ve,value:Fe,options:Ze}){if(null==Fe)return null;const Ge=v(re,ve,{vocab:!0},Ze);if("@id"===Ge)return v(re,Fe,{base:!0},Ze);if("@type"===Ge)return v(re,Fe,{vocab:!0,base:!0},Ze);const J=b(re,ve,"@type");if(("@id"===J||"@graph"===Ge)&&B(Fe))return{"@id":v(re,Fe,{base:!0},Ze)};if("@vocab"===J&&B(Fe))return{"@id":v(re,Fe,{vocab:!0,base:!0},Ze)};if(S(Ge))return Fe;const le={};if(J&&!["@id","@vocab","@none"].includes(J))le["@type"]=J;else if(B(Fe)){const _e=b(re,ve,"@language");null!==_e&&(le["@language"]=_e);const Me=b(re,ve,"@direction");null!==Me&&(le["@direction"]=Me)}return["boolean","number","string"].includes(typeof Fe)||(Fe=Fe.toString()),le["@value"]=Fe,le}function te(re,ve,Fe,Ze){const Ge=[],J=Object.keys(ve).sort();for(const le of J){const _e=v(re,le,{vocab:!0},Ze);let Me=ve[le];U(Me)||(Me=[Me]);for(const Ce of Me){if(null===Ce)continue;if(!B(Ce))throw new X("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:ve});const $e={"@value":Ce};"@none"!==_e&&($e["@language"]=le.toLowerCase()),Fe&&($e["@direction"]=Fe),Ge.push($e)}}return Ge}function Re(re){return be.apply(this,arguments)}function be(){return(be=lt(function*({activeCtx:re,options:ve,activeProperty:Fe,value:Ze,expansionMap:Ge,asGraph:J,indexKey:le,propertyIndex:_e}){const Me=[],Ce=Object.keys(Ze).sort(),$e="@type"===le;for(let Se of Ce){if($e){const Ve=b(re,Se,"@context");w(Ve)||(re=yield T({activeCtx:re,localCtx:Ve,propagate:!1,options:ve}))}let Ke,ze=Ze[Se];U(ze)||(ze=[ze]),ze=yield x.expand({activeCtx:re,activeProperty:Fe,element:ze,options:ve,insideList:!1,insideIndex:!0,expansionMap:Ge}),Ke=_e?"@none"===Se?"@none":se({activeCtx:re,activeProperty:le,value:Se,options:ve}):v(re,Se,{vocab:!0},ve),"@id"===le?Se=v(re,Se,{base:!0},ve):$e&&(Se=Ke);for(let Ve of ze){if(J&&!M(Ve)&&(Ve={"@graph":[Ve]}),"@type"===le)"@none"===Ke||(Ve["@type"]=Ve["@type"]?[Se].concat(Ve["@type"]):[Se]);else{if(R(Ve)&&!["@language","@type","@index"].includes(le))throw new X(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${le}".`,"jsonld.SyntaxError",{code:"invalid value object",value:Ve});_e?"@none"!==Ke&&$(Ve,_e,Ke,{propertyIsArray:!0,prependValue:!0}):"@none"!==Ke&&!(le in Ve)&&(Ve[le]=Se)}Me.push(Ve)}}return Me})).apply(this,arguments)}x.expand=function(){var re=lt(function*({activeCtx:ve,activeProperty:Fe=null,element:Ze,options:Ge={},insideList:J=!1,insideIndex:le=!1,typeScopedContext:_e=null,expansionMap:Me=(()=>{})}){if(null==Ze)return null;if("@default"===Fe&&(Ge=Object.assign({},Ge,{isFrame:!1})),!U(Ze)&&!F(Ze)){if(!J&&(null===Fe||"@graph"===v(ve,Fe,{vocab:!0},Ge))){const q=yield Me({unmappedValue:Ze,activeCtx:ve,activeProperty:Fe,options:Ge,insideList:J});return void 0===q?null:q}return se({activeCtx:ve,activeProperty:Fe,value:Ze,options:Ge})}if(U(Ze)){let q=[];const ge=b(ve,Fe,"@container")||[];J=J||ge.includes("@list");for(let ce=0;ce1?ce.slice().sort():ce:[ce];for(const _t of Ye){const gt=b(_e,_t,"@context");w(gt)||(ve=yield T({activeCtx:ve,localCtx:gt,options:Ge,propagate:!1}))}}let Ve={};yield ne({activeCtx:ve,activeProperty:Fe,expandedActiveProperty:Ce,element:Ze,expandedParent:Ve,options:Ge,insideList:J,typeKey:Ke,typeScopedContext:_e,expansionMap:Me}),Se=Object.keys(Ve);let K=Se.length;if("@value"in Ve){if("@type"in Ve&&("@language"in Ve||"@direction"in Ve))throw new X('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Ve});let q=K-1;if("@type"in Ve&&(q-=1),"@index"in Ve&&(q-=1),"@language"in Ve&&(q-=1),"@direction"in Ve&&(q-=1),0!==q)throw new X('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Ve});const ge=null===Ve["@value"]?[]:D(Ve["@value"]),ce=P(Ve,"@type");if(!E(ve,1.1)||!ce.includes("@json")||1!==ce.length)if(0===ge.length){const Ye=yield Me({unmappedValue:Ve,activeCtx:ve,activeProperty:Fe,element:Ze,options:Ge,insideList:J});Ve=void 0!==Ye?Ye:null}else{if(!ge.every(Ye=>B(Ye)||Y(Ye))&&"@language"in Ve)throw new X("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:Ve});if(!ce.every(Ye=>O(Ye)&&!(B(Ye)&&0===Ye.indexOf("_:"))||Y(Ye)))throw new X('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:Ve})}}else if("@type"in Ve&&!U(Ve["@type"]))Ve["@type"]=[Ve["@type"]];else if("@set"in Ve||"@list"in Ve){if(K>1&&(2!==K||!("@index"in Ve)))throw new X('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:Ve});"@set"in Ve&&(Ve=Ve["@set"],Se=Object.keys(Ve),K=Se.length)}else if(1===K&&"@language"in Ve){const q=yield Me(Ve,{unmappedValue:Ve,activeCtx:ve,activeProperty:Fe,element:Ze,options:Ge,insideList:J});Ve=void 0!==q?q:null}if(F(Ve)&&!Ge.keepFreeFloatingNodes&&!J&&(null===Fe||"@graph"===Ce)&&(0===K||"@value"in Ve||"@list"in Ve||1===K&&"@id"in Ve)){const q=yield Me({unmappedValue:Ve,activeCtx:ve,activeProperty:Fe,element:Ze,options:Ge,insideList:J});Ve=void 0!==q?q:null}return Ve});return function(ve){return re.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(Q,Ee,pe){"use strict";const{isSubjectReference:X}=Q("./graphTypes"),{createMergedNodeMap:U}=Q("./nodeMap"),F={};Ee.exports=F,F.flatten=Y=>{const B=U(Y),w=[],C=Object.keys(B).sort();for(let R=0;R=0;--ue){const se=ne[ue];if(se.graph===W&&se.subject["@id"]===x["@id"])return!0}return!1}function b(x,W,ne){const ue="@"+ne;let se=ue in x?x[ue][0]:W[ne];if("embed"===ne)if(!0===se)se="@once";else if(!1===se)se="@never";else if("@always"!==se&&"@never"!==se&&"@link"!==se&&"@first"!==se&&"@last"!==se&&"@once"!==se)throw new w("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:x});return se}function S(x){if(!F.isArray(x)||1!==x.length||!F.isObject(x[0]))throw new w("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:x});if("@id"in x[0])for(const W of Y.asArray(x[0]["@id"]))if(!F.isObject(W)&&!B.isAbsolute(W)||F.isString(W)&&0===W.indexOf("_:"))throw new w("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:x});if("@type"in x[0])for(const W of Y.asArray(x[0]["@type"]))if(!F.isObject(W)&&!B.isAbsolute(W)||F.isString(W)&&0===W.indexOf("_:"))throw new w("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:x})}function E(x,W,ne,ue){let se=!0,te=!1;for(const Re in ne){let be=!1;const re=Y.getValues(W,Re),ve=0===Y.getValues(ne,Re).length;if("@id"===Re){if(F.isEmptyObject(ne["@id"][0]||{})?be=!0:ne["@id"].length>=0&&(be=ne["@id"].includes(re[0])),!ue.requireAll)return be}else if("@type"===Re){if(se=!1,ve){if(re.length>0)return!1;be=!0}else if(1===ne["@type"].length&&F.isEmptyObject(ne["@type"][0]))be=re.length>0;else for(const Fe of ne["@type"])be=!(!F.isObject(Fe)||!("@default"in Fe))||be||re.some(Ze=>Ze===Fe);if(!ue.requireAll)return be}else{if(X(Re))continue;{const Fe=Y.getValues(ne,Re)[0];let Ze=!1;if(Fe&&(S([Fe]),Ze="@default"in Fe),se=!1,0===re.length&&Ze)continue;if(re.length>0&&ve)return!1;if(void 0===Fe){if(re.length>0)return!1;be=!0}else if(U.isList(Fe)){const Ge=Fe["@list"][0];if(U.isList(re[0])){const J=re[0]["@list"];U.isValue(Ge)?be=J.some(le=>Z(Ge,le)):(U.isSubject(Ge)||U.isSubjectReference(Ge))&&(be=J.some(le=>P(x,Ge,le,ue)))}}else be=U.isValue(Fe)?re.some(Ge=>Z(Fe,Ge)):U.isSubjectReference(Fe)?re.some(Ge=>P(x,Fe,Ge,ue)):!!F.isObject(Fe)&&re.length>0}}if(!be&&ue.requireAll)return!1;te=te||be}return se||te}function O(x,W){const ne=x.uniqueEmbeds[x.graph],ue=ne[W],se=ue.parent,te=ue.property,Re={"@id":W};if(F.isArray(se)){for(let re=0;re{const ve=Object.keys(ne);for(const Fe of ve)Fe in ne&&F.isObject(ne[Fe].parent)&&ne[Fe].parent["@id"]===re&&(delete ne[Fe],be(Fe))};be(W)}function $(x,W){if(F.isArray(x))return x.map(ne=>$(ne,W));if(F.isObject(x)){if("@preserve"in x)return x["@preserve"][0];if(U.isValue(x))return x;if(U.isList(x))return x["@list"]=$(x["@list"],W),x;if("@id"in x){const ne=x["@id"];if(W.link.hasOwnProperty(ne)){const ue=W.link[ne].indexOf(x);if(-1!==ue)return W.link[ne][ue];W.link[ne].push(x)}else W.link[ne]=[x]}for(const ne in x)"@id"===ne&&W.bnodesToClear.includes(x[ne])?delete x["@id"]:x[ne]=$(x[ne],W)}return x}function D(x,W,ne){F.isObject(x)?Y.addValue(x,W,ne,{propertyIsArray:!0}):x.push(ne)}function P(x,W,ne,ue){if(!("@id"in ne))return!1;const se=x.subjects[ne["@id"]];return se&&E(x,se,W,ue)}function Z(x,W){const ne=W["@value"],ue=W["@type"],se=W["@language"],te=x["@value"]?F.isArray(x["@value"])?x["@value"]:[x["@value"]]:[],Re=x["@type"]?F.isArray(x["@type"])?x["@type"]:[x["@type"]]:[],be=x["@language"]?F.isArray(x["@language"])?x["@language"]:[x["@language"]]:[];return 0===te.length&&0===Re.length&&0===be.length||!(!te.includes(ne)&&!F.isEmptyObject(te[0])||!(!ue&&0===Re.length||Re.includes(ue)||ue&&F.isEmptyObject(Re[0]))||!(!se&&0===be.length||be.includes(se)||se&&F.isEmptyObject(be[0])))}Ee.exports=M,M.frameMergedOrDefault=(x,W,ne)=>{const ue={options:ne,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},se=new Y.IdentifierIssuer("_:b");C(x,ue.graphMap,"@default",se),ne.merged&&(ue.graphMap["@merged"]=R(ue.graphMap),ue.graph="@merged"),ue.subjects=ue.graphMap[ue.graph];const te=[];return M.frame(ue,Object.keys(ue.subjects).sort(),W,te),ne.pruneBlankNodeIdentifiers&&(ne.bnodesToClear=Object.keys(ue.bnodeMap).filter(Re=>1===ue.bnodeMap[Re].length)),ne.link={},$(te,ne)},M.frame=(x,W,ne,ue,se=null)=>{S(ne);const te=x.options,Re={embed:b(ne=ne[0],te,"embed"),explicit:b(ne,te,"explicit"),requireAll:b(ne,te,"requireAll")};x.link.hasOwnProperty(x.graph)||(x.link[x.graph]={});const be=x.link[x.graph],re=function(x,W,ne,ue){const se={};for(const te of W){const Re=x.graphMap[x.graph][te];E(x,Re,ne,ue)&&(se[te]=Re)}return se}(x,W,ne,Re),ve=Object.keys(re).sort();for(const Fe of ve){const Ze=re[Fe];if(null===se?x.uniqueEmbeds={[x.graph]:{}}:x.uniqueEmbeds[x.graph]=x.uniqueEmbeds[x.graph]||{},"@link"===Re.embed&&Fe in be){D(ue,se,be[Fe]);continue}const Ge={"@id":Fe};if(0===Fe.indexOf("_:")&&Y.addValue(x.bnodeMap,Fe,Ge,{propertyIsArray:!0}),be[Fe]=Ge,("@first"===Re.embed||"@last"===Re.embed)&&x.is11)throw new w("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:ne});if(x.embedded||!x.uniqueEmbeds[x.graph].hasOwnProperty(Fe)){if(x.embedded&&("@never"===Re.embed||v(Ze,x.graph,x.subjectStack))){D(ue,se,Ge);continue}if(x.embedded&&("@first"==Re.embed||"@once"==Re.embed)&&x.uniqueEmbeds[x.graph].hasOwnProperty(Fe)){D(ue,se,Ge);continue}if("@last"===Re.embed&&Fe in x.uniqueEmbeds[x.graph]&&O(x,Fe),x.uniqueEmbeds[x.graph][Fe]={parent:ue,property:se},x.subjectStack.push({subject:Ze,graph:x.graph}),Fe in x.graphMap){let J=!1,le=null;"@graph"in ne?(le=ne["@graph"][0],J=!("@merged"===Fe||"@default"===Fe),F.isObject(le)||(le={})):(J="@merged"!==x.graph,le={}),J&&M.frame(Sn(at({},x),{graph:Fe,embedded:!1}),Object.keys(x.graphMap[Fe]).sort(),[le],Ge,"@graph")}"@included"in ne&&M.frame(Sn(at({},x),{embedded:!1}),W,ne["@included"],Ge,"@included");for(const J of Object.keys(Ze).sort())if(X(J)){if(Ge[J]=Y.clone(Ze[J]),"@type"===J)for(const le of Ze["@type"])0===le.indexOf("_:")&&Y.addValue(x.bnodeMap,le,Ge,{propertyIsArray:!0})}else if(!Re.explicit||J in ne)for(const le of Ze[J]){const _e=J in ne?ne[J]:y(Re);if(U.isList(le)){const Me=ne[J]&&ne[J][0]&&ne[J][0]["@list"]?ne[J][0]["@list"]:y(Re),Ce={"@list":[]};D(Ge,J,Ce);const $e=le["@list"];for(const Se of $e)U.isSubjectReference(Se)?M.frame(Sn(at({},x),{embedded:!0}),[Se["@id"]],Me,Ce,"@list"):D(Ce,"@list",Y.clone(Se))}else U.isSubjectReference(le)?M.frame(Sn(at({},x),{embedded:!0}),[le["@id"]],_e,Ge,J):Z(_e[0],le)&&D(Ge,J,Y.clone(le))}for(const J of Object.keys(ne).sort()){if("@type"===J){if(!F.isObject(ne[J][0])||!("@default"in ne[J][0]))continue}else if(X(J))continue;const le=ne[J][0]||{};if(!b(le,te,"omitDefault")&&!(J in Ge)){let Me="@null";"@default"in le&&(Me=Y.clone(le["@default"])),F.isArray(Me)||(Me=[Me]),Ge[J]=[{"@preserve":Me}]}}for(const J of Object.keys(ne["@reverse"]||{}).sort()){const le=ne["@reverse"][J];for(const _e of Object.keys(x.subjects))Y.getValues(x.subjects[_e],J).some(Ce=>Ce["@id"]===Fe)&&(Ge["@reverse"]=Ge["@reverse"]||{},Y.addValue(Ge["@reverse"],J,[],{propertyIsArray:!0}),M.frame(Sn(at({},x),{embedded:!0}),[_e],le,Ge["@reverse"][J],se))}D(ue,se,Ge),x.subjectStack.pop()}}},M.cleanupNull=(x,W)=>{if(F.isArray(x))return x.map(ue=>M.cleanupNull(ue,W)).filter(ue=>ue);if("@null"===x)return null;if(F.isObject(x)){if("@id"in x){const ne=x["@id"];if(W.link.hasOwnProperty(ne)){const ue=W.link[ne].indexOf(x);if(-1!==ue)return W.link[ne][ue];W.link[ne].push(x)}else W.link[ne]=[x]}for(const ne in x)x[ne]=M.cleanupNull(x[ne],W)}return x}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(Q,Ee,pe){"use strict";const X=Q("./JsonLdError"),U=Q("./graphTypes"),F=Q("./types"),Y=Q("./util"),{RDF_LIST:B,RDF_FIRST:w,RDF_REST:C,RDF_NIL:R,RDF_TYPE:M,RDF_JSON_LITERAL:y,XSD_BOOLEAN:v,XSD_DOUBLE:b,XSD_INTEGER:S,XSD_STRING:T}=Q("./constants"),E=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,O={};function $(D,P,Z){if(D.termType.endsWith("Node"))return{"@id":D.value};const x={"@value":D.value};if(D.language)x["@language"]=D.language;else{let W=D.datatype.value;if(W||(W=T),W===y){W="@json";try{x["@value"]=JSON.parse(x["@value"])}catch(ne){throw new X("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:x["@value"],cause:ne})}}if(P){if(W===v)"true"===x["@value"]?x["@value"]=!0:"false"===x["@value"]&&(x["@value"]=!1);else if(F.isNumeric(x["@value"]))if(W===S){const ne=parseInt(x["@value"],10);ne.toFixed(0)===x["@value"]&&(x["@value"]=ne)}else W===b&&(x["@value"]=parseFloat(x["@value"]));[v,S,b,T].includes(W)||(x["@type"]=W)}else if("i18n-datatype"===Z&&W.startsWith("https://www.w3.org/ns/i18n#")){const[,ne,ue]=W.split(/[#_]/);ne.length>0&&(x["@language"]=ne,ne.match(E)||console.warn(`@language must be valid BCP47: ${ne}`)),x["@direction"]=ue}else W!==T&&(x["@type"]=W)}return x}Ee.exports=O,O.fromRDF=function(){var D=lt(function*(P,{useRdfType:Z=!1,useNativeTypes:x=!1,rdfDirection:W=null}){const ne={},ue={"@default":ne},se={};for(const be of P){const re="DefaultGraph"===be.graph.termType?"@default":be.graph.value;re in ue||(ue[re]={}),"@default"!==re&&!(re in ne)&&(ne[re]={"@id":re});const ve=ue[re],Fe=be.subject.value,Ze=be.predicate.value,Ge=be.object;Fe in ve||(ve[Fe]={"@id":Fe});const J=ve[Fe],le=Ge.termType.endsWith("Node");if(le&&!(Ge.value in ve)&&(ve[Ge.value]={"@id":Ge.value}),Ze===M&&!Z&&le){Y.addValue(J,"@type",Ge.value,{propertyIsArray:!0});continue}const _e=$(Ge,x,W);if(Y.addValue(J,Ze,_e,{propertyIsArray:!0}),le)if(Ge.value===R){const Me=ve[Ge.value];"usages"in Me||(Me.usages=[]),Me.usages.push({node:J,property:Ze,value:_e})}else se[Ge.value]=!(Ge.value in se)&&{node:J,property:Ze,value:_e}}for(const be in ue){const re=ue[be];if(!(R in re))continue;const ve=re[R];if(ve.usages){for(let Fe of ve.usages){let Ze=Fe.node,Ge=Fe.property,J=Fe.value;const le=[],_e=[];let Me=Object.keys(Ze).length;for(;Ge===C&&F.isObject(se[Ze["@id"]])&&F.isArray(Ze[w])&&1===Ze[w].length&&F.isArray(Ze[C])&&1===Ze[C].length&&(3===Me||4===Me&&F.isArray(Ze["@type"])&&1===Ze["@type"].length&&Ze["@type"][0]===B)&&(le.push(Ze[w][0]),_e.push(Ze["@id"]),Fe=se[Ze["@id"]],Ze=Fe.node,Ge=Fe.property,J=Fe.value,Me=Object.keys(Ze).length,U.isBlankNode(Ze)););delete J["@id"],J["@list"]=le.reverse();for(const Ce of _e)delete re[Ce]}delete ve.usages}}const te=[],Re=Object.keys(ne).sort();for(const be of Re){const re=ne[be];if(be in ue){const ve=re["@graph"]=[],Fe=ue[be],Ze=Object.keys(Fe).sort();for(const Ge of Ze){const J=Fe[Ge];U.isSubjectReference(J)||ve.push(J)}}U.isSubjectReference(re)||te.push(re)}return te});return function(P,Z){return D.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(Q,Ee,pe){"use strict";const X=Q("./types"),U={};Ee.exports=U,U.isSubject=F=>!(!X.isObject(F)||"@value"in F||"@set"in F||"@list"in F)&&(Object.keys(F).length>1||!("@id"in F)),U.isSubjectReference=F=>X.isObject(F)&&1===Object.keys(F).length&&"@id"in F,U.isValue=F=>X.isObject(F)&&"@value"in F,U.isList=F=>X.isObject(F)&&"@list"in F,U.isGraph=F=>X.isObject(F)&&"@graph"in F&&1===Object.keys(F).filter(Y=>"@id"!==Y&&"@index"!==Y).length,U.isSimpleGraph=F=>U.isGraph(F)&&!("@id"in F),U.isBlankNode=F=>!!X.isObject(F)&&("@id"in F?0===F["@id"].indexOf("_:"):0===Object.keys(F).length||!("@value"in F||"@set"in F||"@list"in F))},{"./types":30}],26:[function(Q,Ee,pe){const X=Q("rdf-canonize"),U=Q("./platform"),F=Q("./util"),Y=Q("./ContextResolver"),B=F.IdentifierIssuer,w=Q("./JsonLdError"),C=Q("lru-cache"),R=Q("./NQuads"),{expand:M}=Q("./expand"),{flatten:y}=Q("./flatten"),{fromRDF:v}=Q("./fromRdf"),{toRDF:b}=Q("./toRdf"),{frameMergedOrDefault:S,cleanupNull:T}=Q("./frame"),{isArray:E,isObject:O,isString:$}=Q("./types"),{isSubjectReference:D}=Q("./graphTypes"),{expandIri:P,getInitialContext:Z,process:x,processingMode:W}=Q("./context"),{compact:ne,compactIri:ue}=Q("./compact"),{createNodeMap:se,createMergedNodeMap:te,mergeNodeMaps:Re}=Q("./nodeMap"),be=function(ve){const Fe={},Ge=new C({max:100});function J(le,Ce){var $e=Ce,{documentLoader:_e=ve.documentLoader}=$e,Me=Pq($e,["documentLoader"]);return Object.assign({},{documentLoader:_e},Me,le)}return ve.compact=function(){var le=lt(function*(_e,Me,Ce){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===Me)throw new w("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===_e)return null;let $e;(Ce=J(Ce,{base:$(_e)?_e:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new B("_:b"),contextResolver:new Y({sharedCache:Ge})})).link&&(Ce.skipExpansion=!0),Ce.compactToRelative||delete Ce.base,$e=Ce.skipExpansion?_e:yield ve.expand(_e,Ce);const Se=yield ve.processContext(Z(Ce),Me,Ce);let ze=yield ne({activeCtx:Se,element:$e,options:Ce,compactionMap:Ce.compactionMap});Ce.compactArrays&&!Ce.graph&&E(ze)?1===ze.length?ze=ze[0]:0===ze.length&&(ze={}):Ce.graph&&O(ze)&&(ze=[ze]),O(Me)&&"@context"in Me&&(Me=Me["@context"]),Me=F.clone(Me),E(Me)||(Me=[Me]);const Ke=Me;Me=[];for(let K=0;K0)&&Me.push(Ke[K]);const Ve=Me.length>0;if(1===Me.length&&(Me=Me[0]),E(ze)){const K=ue({activeCtx:Se,iri:"@graph",relativeTo:{vocab:!0}}),q=ze;ze={},Ve&&(ze["@context"]=Me),ze[K]=q}else if(O(ze)&&Ve){const K=ze;ze={"@context":Me};for(const q in K)ze[q]=K[q]}return ze});return function(_e,Me,Ce){return le.apply(this,arguments)}}(),ve.expand=function(){var le=lt(function*(_e,Me){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(Me=J(Me,{keepFreeFloatingNodes:!1,contextResolver:new Y({sharedCache:Ge})})).expansionMap&&(Me.expansionMap=void 0);const Ce={},$e=[];if("expandContext"in Me){const Ve=F.clone(Me.expandContext);Ce.expandContext=O(Ve)&&"@context"in Ve?Ve:{"@context":Ve},$e.push(Ce.expandContext)}let Se;if($(_e)){const Ve=yield ve.get(_e,Me);Se=Ve.documentUrl,Ce.input=Ve.document,Ve.contextUrl&&(Ce.remoteContext={"@context":Ve.contextUrl},$e.push(Ce.remoteContext))}else Ce.input=F.clone(_e);"base"in Me||(Me.base=Se||"");let ze=Z(Me);for(const Ve of $e)ze=yield x({activeCtx:ze,localCtx:Ve,options:Me});let Ke=yield M({activeCtx:ze,element:Ce.input,options:Me,expansionMap:Me.expansionMap});return O(Ke)&&"@graph"in Ke&&1===Object.keys(Ke).length?Ke=Ke["@graph"]:null===Ke&&(Ke=[]),E(Ke)||(Ke=[Ke]),Ke});return function(_e,Me){return le.apply(this,arguments)}}(),ve.flatten=function(){var le=lt(function*(_e,Me,Ce){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");Me="function"==typeof Me?null:Me||null,Ce=J(Ce,{base:$(_e)?_e:"",contextResolver:new Y({sharedCache:Ge})});const $e=yield ve.expand(_e,Ce),Se=y($e);return null===Me?Se:(Ce.graph=!0,Ce.skipExpansion=!0,yield ve.compact(Se,Me,Ce))});return function(_e,Me,Ce){return le.apply(this,arguments)}}(),ve.frame=function(){var le=lt(function*(_e,Me,Ce){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(Ce=J(Ce,{base:$(_e)?_e:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new Y({sharedCache:Ge})}),$(Me)){const ce=yield ve.get(Me,Ce);if(Me=ce.document,ce.contextUrl){let Ye=Me["@context"];Ye?E(Ye)?Ye.push(ce.contextUrl):Ye=[Ye,ce.contextUrl]:Ye=ce.contextUrl,Me["@context"]=Ye}}const $e=Me&&Me["@context"]||{},Se=yield ve.processContext(Z(Ce),$e,Ce);Ce.hasOwnProperty("omitGraph")||(Ce.omitGraph=W(Se,1.1)),Ce.hasOwnProperty("pruneBlankNodeIdentifiers")||(Ce.pruneBlankNodeIdentifiers=W(Se,1.1));const ze=yield ve.expand(_e,Ce),Ke=at({},Ce);Ke.isFrame=!0,Ke.keepFreeFloatingNodes=!0;const Ve=yield ve.expand(Me,Ke),K=Object.keys(Me).map(ce=>P(Se,ce,{vocab:!0}));Ke.merged=!K.includes("@graph"),Ke.is11=W(Se,1.1);const q=S(ze,Ve,Ke);Ke.graph=!Ce.omitGraph,Ke.skipExpansion=!0,Ke.link={},Ke.framing=!0;let ge=yield ve.compact(q,$e,Ke);return Ke.link={},ge=T(ge,Ke),ge});return function(_e,Me,Ce){return le.apply(this,arguments)}}(),ve.link=function(){var le=lt(function*(_e,Me,Ce){const $e={};return Me&&($e["@context"]=Me),$e["@embed"]="@link",ve.frame(_e,$e,Ce)});return function(_e,Me,Ce){return le.apply(this,arguments)}}(),ve.normalize=ve.canonize=function(){var le=lt(function*(_e,Me){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(Me=J(Me,{base:$(_e)?_e:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new Y({sharedCache:Ge})}))){if("application/n-quads"!==Me.inputFormat&&"application/nquads"!==Me.inputFormat)throw new w("Unknown canonicalization input format.","jsonld.CanonizeError");const Se=R.parse(_e);return X.canonize(Se,Me)}const Ce=at({},Me);delete Ce.format,Ce.produceGeneralizedRdf=!1;const $e=yield ve.toRDF(_e,Ce);return X.canonize($e,Me)});return function(_e,Me){return le.apply(this,arguments)}}(),ve.fromRDF=function(){var le=lt(function*(_e,Me){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");Me=J(Me,{format:$(_e)?"application/n-quads":void 0});const{format:Ce}=Me;let{rdfParser:$e}=Me;if(Ce){if($e=$e||Fe[Ce],!$e)throw new w("Unknown input format.","jsonld.UnknownFormat",{format:Ce})}else $e=()=>_e;const Se=yield $e(_e);return v(Se,Me)});return function(_e,Me){return le.apply(this,arguments)}}(),ve.toRDF=function(){var le=lt(function*(_e,Me){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let Ce;Ce=(Me=J(Me,{base:$(_e)?_e:"",skipExpansion:!1,contextResolver:new Y({sharedCache:Ge})})).skipExpansion?_e:yield ve.expand(_e,Me);const $e=b(Ce,Me);if(Me.format){if("application/n-quads"===Me.format||"application/nquads"===Me.format)return R.serialize($e);throw new w("Unknown output format.","jsonld.UnknownFormat",{format:Me.format})}return $e});return function(_e,Me){return le.apply(this,arguments)}}(),ve.createNodeMap=function(){var le=lt(function*(_e,Me){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");Me=J(Me,{base:$(_e)?_e:"",contextResolver:new Y({sharedCache:Ge})});const Ce=yield ve.expand(_e,Me);return te(Ce,Me)});return function(_e,Me){return le.apply(this,arguments)}}(),ve.merge=function(){var le=lt(function*(_e,Me,Ce){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!E(_e))throw new TypeError('Could not merge, "docs" must be an array.');Me="function"==typeof Me?null:Me||null,Ce=J(Ce,{contextResolver:new Y({sharedCache:Ge})});const $e=yield Promise.all(_e.map(ce=>{const Ye=at({},Ce);return ve.expand(ce,Ye)}));let Se=!0;"mergeNodes"in Ce&&(Se=Ce.mergeNodes);const ze=Ce.issuer||new B("_:b"),Ke={"@default":{}};for(let ce=0;ce<$e.length;++ce){const Ye=F.relabelBlankNodes($e[ce],{issuer:new B("_:b"+ce+"-")}),_t=Se||0===ce?Ke:{"@default":{}};if(se(Ye,_t,"@default",ze),_t!==Ke)for(const gt in _t){const Ae=_t[gt];if(!(gt in Ke)){Ke[gt]=Ae;continue}const z=Ke[gt];for(const L in Ae)L in z||(z[L]=Ae[L])}}const Ve=Re(Ke),K=[],q=Object.keys(Ve).sort();for(let ce=0;ceve._documentLoader,set:le=>ve._documentLoader=le}),ve.documentLoader=function(){var le=lt(function*(_e){throw new w("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:_e})});return function(_e){return le.apply(this,arguments)}}(),ve.get=function(){var le=lt(function*(_e,Me){let Ce;Ce="function"==typeof Me.documentLoader?Me.documentLoader:ve.documentLoader;const $e=yield Ce(_e);try{if(!$e.document)throw new w("No remote document found at the given URL.","jsonld.NullRemoteDocument");$($e.document)&&($e.document=JSON.parse($e.document))}catch(Se){throw new w("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:Se,remoteDoc:$e})}return $e});return function(_e,Me){return le.apply(this,arguments)}}(),ve.processContext=function(){var le=lt(function*(_e,Me,Ce){return Ce=J(Ce,{base:"",contextResolver:new Y({sharedCache:Ge})}),null===Me?Z(Ce):(Me=F.clone(Me),O(Me)&&"@context"in Me||(Me={"@context":Me}),x({activeCtx:_e,localCtx:Me,options:Ce}))});return function(_e,Me,Ce){return le.apply(this,arguments)}}(),ve.getContextValue=Q("./context").getContextValue,ve.documentLoaders={},ve.useDocumentLoader=function(le){if(!(le in ve.documentLoaders))throw new w('Unknown document loader type: "'+le+'"',"jsonld.UnknownDocumentLoader",{type:le});ve.documentLoader=ve.documentLoaders[le].apply(ve,Array.prototype.slice.call(arguments,1))},ve.registerRDFParser=function(le,_e){Fe[le]=_e},ve.unregisterRDFParser=function(le){delete Fe[le]},ve.registerRDFParser("application/n-quads",R.parse),ve.registerRDFParser("application/nquads",R.parse),ve.url=Q("./url"),ve.util=F,Object.assign(ve,F),ve.promises=ve,ve.RequestQueue=Q("./RequestQueue"),ve.JsonLdProcessor=Q("./JsonLdProcessor")(ve),U.setupGlobals(ve),U.setupDocumentLoaders(ve),ve},re=function(){return be(function(){return re()})};be(re),Ee.exports=re},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(Q,Ee,pe){"use strict";const{isKeyword:X}=Q("./context"),U=Q("./graphTypes"),F=Q("./types"),Y=Q("./util"),B=Q("./JsonLdError"),w={};Ee.exports=w,w.createMergedNodeMap=(C,R)=>{const M=(R=R||{}).issuer||new Y.IdentifierIssuer("_:b"),y={"@default":{}};return w.createNodeMap(C,y,"@default",M),w.mergeNodeMaps(y)},w.createNodeMap=(C,R,M,y,v,b)=>{if(F.isArray(C)){for(const O of C)w.createNodeMap(O,R,M,y,void 0,b);return}if(!F.isObject(C))return void(b&&b.push(C));if(U.isValue(C)){if("@type"in C){let O=C["@type"];0===O.indexOf("_:")&&(C["@type"]=O=y.getId(O))}return void(b&&b.push(C))}if(b&&U.isList(C)){const O=[];return w.createNodeMap(C["@list"],R,M,y,v,O),void b.push({"@list":O})}if("@type"in C){const O=C["@type"];for(const $ of O)0===$.indexOf("_:")&&y.getId($)}F.isUndefined(v)&&(v=U.isBlankNode(C)?y.getId(C["@id"]):C["@id"]),b&&b.push({"@id":v});const S=R[M],T=S[v]=S[v]||{};T["@id"]=v;const E=Object.keys(C).sort();for(let O of E){if("@id"===O)continue;if("@reverse"===O){const D={"@id":v},P=C["@reverse"];for(const Z in P){const x=P[Z];for(const W of x){let ne=W["@id"];U.isBlankNode(W)&&(ne=y.getId(ne)),w.createNodeMap(W,R,M,y,ne),Y.addValue(S[ne],Z,D,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===O){v in R||(R[v]={}),w.createNodeMap(C[O],R,v,y);continue}if("@included"===O){w.createNodeMap(C[O],R,M,y);continue}if("@type"!==O&&X(O)){if("@index"===O&&O in T&&(C[O]!==T[O]||C[O]["@id"]!==T[O]["@id"]))throw new B("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:T});T[O]=C[O];continue}const $=C[O];if(0===O.indexOf("_:")&&(O=y.getId(O)),0!==$.length)for(let D of $)if("@type"===O&&(D=0===D.indexOf("_:")?y.getId(D):D),U.isSubject(D)||U.isSubjectReference(D)){if("@id"in D&&!D["@id"])continue;const P=U.isBlankNode(D)?y.getId(D["@id"]):D["@id"];Y.addValue(T,O,{"@id":P},{propertyIsArray:!0,allowDuplicate:!1}),w.createNodeMap(D,R,M,y,P)}else if(U.isValue(D))Y.addValue(T,O,D,{propertyIsArray:!0,allowDuplicate:!1});else if(U.isList(D)){const P=[];w.createNodeMap(D["@list"],R,M,y,v,P),D={"@list":P},Y.addValue(T,O,D,{propertyIsArray:!0,allowDuplicate:!1})}else w.createNodeMap(D,R,M,y,v),Y.addValue(T,O,D,{propertyIsArray:!0,allowDuplicate:!1});else Y.addValue(T,O,[],{propertyIsArray:!0})}},w.mergeNodeMapGraphs=C=>{const R={};for(const M of Object.keys(C).sort())for(const y of Object.keys(C[M]).sort()){const v=C[M][y];y in R||(R[y]={"@id":y});const b=R[y];for(const S of Object.keys(v).sort())if(X(S)&&"@type"!==S)b[S]=Y.clone(v[S]);else for(const T of v[S])Y.addValue(b,S,Y.clone(T),{propertyIsArray:!0,allowDuplicate:!1})}return R},w.mergeNodeMaps=C=>{const R=C["@default"],M=Object.keys(C).sort();for(const y of M){if("@default"===y)continue;const v=C[y];let b=R[y];b?"@graph"in b||(b["@graph"]=[]):R[y]=b={"@id":y,"@graph":[]};const S=b["@graph"];for(const T of Object.keys(v).sort()){const E=v[T];U.isSubjectReference(E)||S.push(E)}}return R}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(Q,Ee,pe){"use strict";const X=Q("./documentLoaders/xhr"),U={};Ee.exports=U,U.setupDocumentLoaders=function(F){"undefined"!=typeof XMLHttpRequest&&(F.documentLoaders.xhr=X,F.useDocumentLoader("xhr"))},U.setupGlobals=function(F){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:F.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(Q,Ee,pe){"use strict";const{createNodeMap:X}=Q("./nodeMap"),{isKeyword:U}=Q("./context"),F=Q("./graphTypes"),Y=Q("canonicalize"),B=Q("./types"),w=Q("./util"),{RDF_FIRST:C,RDF_REST:R,RDF_NIL:M,RDF_TYPE:y,RDF_JSON_LITERAL:v,RDF_LANGSTRING:b,XSD_BOOLEAN:S,XSD_DOUBLE:T,XSD_INTEGER:E,XSD_STRING:O}=Q("./constants"),{isAbsolute:$}=Q("./url"),D={};function P(W,ne,ue,se,te){const Re=Object.keys(ne).sort();for(const be of Re){const re=ne[be],ve=Object.keys(re).sort();for(let Fe of ve){const Ze=re[Fe];if("@type"===Fe)Fe=y;else if(U(Fe))continue;for(const Ge of Ze){const J={termType:be.startsWith("_:")?"BlankNode":"NamedNode",value:be};if(!$(be))continue;const le={termType:Fe.startsWith("_:")?"BlankNode":"NamedNode",value:Fe};if(!$(Fe)||"BlankNode"===le.termType&&!te.produceGeneralizedRdf)continue;const _e=x(Ge,se,W,ue,te.rdfDirection);_e&&W.push({subject:J,predicate:le,object:_e,graph:ue})}}}}function x(W,ne,ue,se,te){const Re={};if(F.isValue(W)){Re.termType="Literal",Re.value=void 0,Re.datatype={termType:"NamedNode"};let be=W["@value"];const re=W["@type"]||null;"@json"===re?(Re.value=Y(be),Re.datatype.value=v):B.isBoolean(be)?(Re.value=be.toString(),Re.datatype.value=re||S):B.isDouble(be)||re===T?(B.isDouble(be)||(be=parseFloat(be)),Re.value=be.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Re.datatype.value=re||T):B.isNumber(be)?(Re.value=be.toFixed(0),Re.datatype.value=re||E):"i18n-datatype"===te&&"@direction"in W?(Re.datatype.value="https://www.w3.org/ns/i18n#"+(W["@language"]||"")+`_${W["@direction"]}`,Re.value=be):"@language"in W?(Re.value=be,Re.datatype.value=re||b,Re.language=W["@language"]):(Re.value=be,Re.datatype.value=re||O)}else if(F.isList(W)){const be=function(W,ne,ue,se,te){const Re={termType:"NamedNode",value:C},be={termType:"NamedNode",value:R},re={termType:"NamedNode",value:M},ve=W.pop(),Fe=ve?{termType:"BlankNode",value:ne.getId()}:re;let Ze=Fe;for(const Ge of W){const J=x(Ge,ne,ue,se,te),le={termType:"BlankNode",value:ne.getId()};ue.push({subject:Ze,predicate:Re,object:J,graph:se}),ue.push({subject:Ze,predicate:be,object:le,graph:se}),Ze=le}if(ve){const Ge=x(ve,ne,ue,se,te);ue.push({subject:Ze,predicate:Re,object:Ge,graph:se}),ue.push({subject:Ze,predicate:be,object:re,graph:se})}return Fe}(W["@list"],ne,ue,se,te);Re.termType=be.termType,Re.value=be.value}else{const be=B.isObject(W)?W["@id"]:W;Re.termType=be.startsWith("_:")?"BlankNode":"NamedNode",Re.value=be}return"NamedNode"!==Re.termType||$(Re.value)?Re:null}Ee.exports=D,D.toRDF=(W,ne)=>{const ue=new w.IdentifierIssuer("_:b"),se={"@default":{}};X(W,se,"@default",ue);const te=[],Re=Object.keys(se).sort();for(const be of Re){let re;if("@default"===be)re={termType:"DefaultGraph",value:""};else{if(!$(be))continue;re=be.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},re.value=be}P(te,se[be],re,ue,ne)}return te}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(Q,Ee,pe){"use strict";const X={};Ee.exports=X,X.isArray=Array.isArray,X.isBoolean=U=>"boolean"==typeof U||"[object Boolean]"===Object.prototype.toString.call(U),X.isDouble=U=>X.isNumber(U)&&(-1!==String(U).indexOf(".")||Math.abs(U)>=1e21),X.isEmptyObject=U=>X.isObject(U)&&0===Object.keys(U).length,X.isNumber=U=>"number"==typeof U||"[object Number]"===Object.prototype.toString.call(U),X.isNumeric=U=>!isNaN(parseFloat(U))&&isFinite(U),X.isObject=U=>"[object Object]"===Object.prototype.toString.call(U),X.isString=U=>"string"==typeof U||"[object String]"===Object.prototype.toString.call(U),X.isUndefined=U=>void 0===U},{}],31:[function(Q,Ee,pe){"use strict";const X=Q("./types"),U={};Ee.exports=U,U.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},U.parse=(Y,B)=>{const w={},C=U.parsers[B||"full"],R=C.regex.exec(Y);let M=C.keys.length;for(;M--;)w[C.keys[M]]=void 0===R[M]?null:R[M];return("https"===w.scheme&&"443"===w.port||"http"===w.scheme&&"80"===w.port)&&(w.href=w.href.replace(":"+w.port,""),w.authority=w.authority.replace(":"+w.port,""),w.port=null),w.normalizedPath=U.removeDotSegments(w.path),w},U.prependBase=(Y,B)=>{if(null===Y||U.isAbsolute(B))return B;(!Y||X.isString(Y))&&(Y=U.parse(Y||""));const w=U.parse(B),C={protocol:Y.protocol||""};if(null!==w.authority)C.authority=w.authority,C.path=w.path,C.query=w.query;else if(C.authority=Y.authority,""===w.path)C.path=Y.path,C.query=null!==w.query?w.query:Y.query;else{if(0===w.path.indexOf("/"))C.path=w.path;else{let M=Y.path;M=M.substr(0,M.lastIndexOf("/")+1),(M.length>0||Y.authority)&&"/"!==M.substr(-1)&&(M+="/"),M+=w.path,C.path=M}C.query=w.query}""!==w.path&&(C.path=U.removeDotSegments(C.path));let R=C.protocol;return null!==C.authority&&(R+="//"+C.authority),R+=C.path,null!==C.query&&(R+="?"+C.query),null!==w.fragment&&(R+="#"+w.fragment),""===R&&(R="./"),R},U.removeBase=(Y,B)=>{if(null===Y)return B;(!Y||X.isString(Y))&&(Y=U.parse(Y||""));let w="";if(""!==Y.href?w+=(Y.protocol||"")+"//"+(Y.authority||""):B.indexOf("//")&&(w+="//"),0!==B.indexOf(w))return B;const C=U.parse(B.substr(w.length)),R=Y.normalizedPath.split("/"),M=C.normalizedPath.split("/"),y=C.fragment||C.query?0:1;for(;R.length>0&&M.length>y&&R[0]===M[0];)R.shift(),M.shift();let v="";if(R.length>0){R.pop();for(let b=0;b{if(0===Y.length)return"";const B=Y.split("/"),w=[];for(;B.length>0;){const C=B.shift(),R=0===B.length;"."!==C?".."!==C?w.push(C):(w.pop(),R&&w.push("")):R&&w.push("")}return"/"===Y[0]&&w.length>0&&""!==w[0]&&w.unshift(""),1===w.length&&""===w[0]?"/":w.join("/")};const F=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;U.isAbsolute=Y=>X.isString(Y)&&F.test(Y),U.isRelative=Y=>X.isString(Y)},{"./types":30}],32:[function(Q,Ee,pe){"use strict";const X=Q("./graphTypes"),U=Q("./types"),F=Q("rdf-canonize").IdentifierIssuer,Y=Q("./JsonLdError"),B=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,w=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,C=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,R_headers={accept:"application/ld+json, application/json"},M={};function y(v,b){if(U.isArray(b))for(let S=0;S{if(Object.keys(v).some(S=>"accept"===S.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+R_headers.accept+'" is supported.');return Object.assign({Accept:R_headers.accept},v)},M.parseLinkHeader=v=>{const b={},S=v.match(B);for(let T=0;T{if(!(U.isString(v)||U.isArray(v)&&v.every(S=>U.isString(S)))){if(b&&U.isObject(v))switch(Object.keys(v).length){case 0:return;case 1:if("@default"in v&&M.asArray(v["@default"]).every(S=>U.isString(S)))return}throw new Y('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:v})}},M.hasProperty=(v,b)=>{if(v.hasOwnProperty(b)){const S=v[b];return!U.isArray(S)||S.length>0}return!1},M.hasValue=(v,b,S)=>{if(M.hasProperty(v,b)){let T=v[b];const E=X.isList(T);if(U.isArray(T)||E){E&&(T=T["@list"]);for(let O=0;O{if("propertyIsArray"in(T=T||{})||(T.propertyIsArray=!1),"valueIsArray"in T||(T.valueIsArray=!1),"allowDuplicate"in T||(T.allowDuplicate=!0),"prependValue"in T||(T.prependValue=!1),T.valueIsArray)v[b]=S;else if(U.isArray(S)){0===S.length&&T.propertyIsArray&&!v.hasOwnProperty(b)&&(v[b]=[]),T.prependValue&&(S=S.concat(v[b]),v[b]=[]);for(let E=0;E[].concat(v[b]||[]),M.removeProperty=(v,b)=>{delete v[b]},M.removeValue=(v,b,S,T)=>{"propertyIsArray"in(T=T||{})||(T.propertyIsArray=!1);const E=M.getValues(v,b).filter(O=>!M.compareValues(O,S));0===E.length?M.removeProperty(v,b):v[b]=1!==E.length||T.propertyIsArray?E:E[0]},M.relabelBlankNodes=(v,b)=>y((b=b||{}).issuer||new F("_:b"),v),M.compareValues=(v,b)=>!!(v===b||X.isValue(v)&&X.isValue(b)&&v["@value"]===b["@value"]&&v["@type"]===b["@type"]&&v["@language"]===b["@language"]&&v["@index"]===b["@index"])||!!(U.isObject(v)&&"@id"in v&&U.isObject(b)&&"@id"in b)&&v["@id"]===b["@id"],M.compareShortestLeast=(v,b)=>v.length1;const T=(Z,x,W)=>{const ne=Z[y].get(x);if(ne){const ue=ne.value;if(E(Z,ue)){if($(Z,ne),!Z[B])return}else W&&(Z[v]&&(ne.value.now=Date.now()),Z[M].unshiftNode(ne));return ue.value}},E=(Z,x)=>{if(!x||!x.maxAge&&!Z[w])return!1;const W=Date.now()-x.now;return x.maxAge?W>x.maxAge:Z[w]&&W>Z[w]},O=Z=>{if(Z[F]>Z[U])for(let x=Z[M].tail;Z[F]>Z[U]&&null!==x;){const W=x.prev;$(Z,x),x=W}},$=(Z,x)=>{if(x){const W=x.value;Z[C]&&Z[C](W.key,W.value),Z[F]-=W.length,Z[y].delete(W.key),Z[M].removeNode(x)}};class D{constructor(x,W,ne,ue,se){this.key=x,this.value=W,this.length=ne,this.now=ue,this.maxAge=se||0}}const P=(Z,x,W,ne)=>{let ue=W.value;E(Z,ue)&&($(Z,W),Z[B]||(ue=void 0)),ue&&x.call(ne,ue.value,ue.key,Z)};Ee.exports=class{constructor(x){if("number"==typeof x&&(x={max:x}),x||(x={}),x.max&&("number"!=typeof x.max||x.max<0))throw new TypeError("max must be a non-negative number");this[U]=x.max||1/0;const ne=x.length||b;if(this[Y]="function"!=typeof ne?b:ne,this[B]=x.stale||!1,x.maxAge&&"number"!=typeof x.maxAge)throw new TypeError("maxAge must be a number");this[w]=x.maxAge||0,this[C]=x.dispose,this[R]=x.noDisposeOnSet||!1,this[v]=x.updateAgeOnGet||!1,this.reset()}set max(x){if("number"!=typeof x||x<0)throw new TypeError("max must be a non-negative number");this[U]=x||1/0,O(this)}get max(){return this[U]}set allowStale(x){this[B]=!!x}get allowStale(){return this[B]}set maxAge(x){if("number"!=typeof x)throw new TypeError("maxAge must be a non-negative number");this[w]=x,O(this)}get maxAge(){return this[w]}set lengthCalculator(x){"function"!=typeof x&&(x=b),x!==this[Y]&&(this[Y]=x,this[F]=0,this[M].forEach(W=>{W.length=this[Y](W.value,W.key),this[F]+=W.length})),O(this)}get lengthCalculator(){return this[Y]}get length(){return this[F]}get itemCount(){return this[M].length}rforEach(x,W){W=W||this;for(let ne=this[M].tail;null!==ne;){const ue=ne.prev;P(this,x,ne,W),ne=ue}}forEach(x,W){W=W||this;for(let ne=this[M].head;null!==ne;){const ue=ne.next;P(this,x,ne,W),ne=ue}}keys(){return this[M].toArray().map(x=>x.key)}values(){return this[M].toArray().map(x=>x.value)}reset(){this[C]&&this[M]&&this[M].length&&this[M].forEach(x=>this[C](x.key,x.value)),this[y]=new Map,this[M]=new X,this[F]=0}dump(){return this[M].map(x=>!E(this,x)&&{k:x.key,v:x.value,e:x.now+(x.maxAge||0)}).toArray().filter(x=>x)}dumpLru(){return this[M]}set(x,W,ne){if((ne=ne||this[w])&&"number"!=typeof ne)throw new TypeError("maxAge must be a number");const ue=ne?Date.now():0,se=this[Y](W,x);if(this[y].has(x)){if(se>this[U])return $(this,this[y].get(x)),!1;const be=this[y].get(x).value;return this[C]&&(this[R]||this[C](x,be.value)),be.now=ue,be.maxAge=ne,be.value=W,this[F]+=se-be.length,be.length=se,this.get(x),O(this),!0}const te=new D(x,W,se,ue,ne);return te.length>this[U]?(this[C]&&this[C](x,W),!1):(this[F]+=te.length,this[M].unshift(te),this[y].set(x,this[M].head),O(this),!0)}has(x){if(!this[y].has(x))return!1;const W=this[y].get(x).value;return!E(this,W)}get(x){return T(this,x,!0)}peek(x){return T(this,x,!1)}pop(){const x=this[M].tail;return x?($(this,x),x.value):null}del(x){$(this,this[y].get(x))}load(x){this.reset();const W=Date.now();for(let ne=x.length-1;ne>=0;ne--){const ue=x[ne],se=ue.e||0;if(0===se)this.set(ue.k,ue.v);else{const te=se-W;te>0&&this.set(ue.k,ue.v,te)}}}prune(){this[y].forEach((x,W)=>T(this,W,!1))}}},{yallist:92}],34:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.default=void 0;const X="http://www.w3.org/1999/02/22-rdf-syntax-ns#",U="http://www.w3.org/2001/XMLSchema#",F="http://www.w3.org/2000/10/swap/";pe.default={xsd:{decimal:`${U}decimal`,boolean:`${U}boolean`,double:`${U}double`,integer:`${U}integer`,string:`${U}string`},rdf:{type:`${X}type`,nil:`${X}nil`,first:`${X}first`,rest:`${X}rest`,langString:`${X}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${F}reify#forSome`,forAll:`${F}reify#forAll`},log:{implies:`${F}log#implies`}}},{}],35:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.default=pe.Variable=pe.Triple=pe.Term=pe.Quad=pe.NamedNode=pe.Literal=pe.DefaultGraph=pe.BlankNode=void 0,pe.escapeQuotes=x,pe.termFromId=function D(re,ve){if(ve=ve||y,!re)return ve.defaultGraph();switch(re[0]){case"?":return ve.variable(re.substr(1));case"_":return ve.blankNode(re.substr(2));case'"':if(ve===y)return new T(re);if('"'===re[re.length-1])return ve.literal(re.substr(1,re.length-2));const Fe=re.lastIndexOf('"',re.length-1);return ve.literal(re.substr(1,Fe-1),"@"===re[Fe+1]?re.substr(Fe+2):ve.namedNode(re.substr(Fe+3)));case"<":const Ze=M.exec(re);return ve.quad(D(W(Ze[1]),ve),D(W(Ze[2]),ve),D(W(Ze[3]),ve),Ze[4]&&D(W(Ze[4]),ve));default:return ve.namedNode(re)}},pe.termToId=function P(re){if("string"==typeof re)return re;if(re instanceof b&&"Quad"!==re.termType)return re.id;if(!re)return w.id;switch(re.termType){case"NamedNode":return re.value;case"BlankNode":return`_:${re.value}`;case"Variable":return`?${re.value}`;case"DefaultGraph":return"";case"Literal":return`"${re.value}"${re.language?`@${re.language}`:re.datatype&&re.datatype.value!==B.string?`^^${re.datatype.value}`:""}`;case"Quad":return`<<${x(P(re.subject))} ${x(P(re.predicate))} ${x(P(re.object))}${(0,U.isDefaultGraph)(re.graph)?"":` ${P(re.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${re.termType}`)}},pe.unescapeQuotes=W;var re,X=(re=Q("./IRIs"))&&re.__esModule?re:{default:re},U=Q("./N3Util");const{rdf:Y,xsd:B}=X.default;let w,C=0;const R=/^"(.*".*)(?="[^"]*$)/,M=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,y={namedNode:function(re){return new S(re)},blankNode:function(re){return new E(re||"n3-"+C++)},variable:function(re){return new O(re)},literal:function(re,ve){if("string"==typeof ve)return new T(`"${re}"@${ve.toLowerCase()}`);let Fe=ve?ve.value:"";return""===Fe&&("boolean"==typeof re?Fe=B.boolean:"number"==typeof re&&(Number.isFinite(re)?Fe=Number.isInteger(re)?B.integer:B.double:(Fe=B.double,Number.isNaN(re)||(re=re>0?"INF":"-INF")))),new T(""===Fe||Fe===B.string?`"${re}"`:`"${re}"^^${Fe}`)},defaultGraph:function(){return w},quad:be,triple:be};pe.default=y;class b{constructor(ve){this.id=ve}get value(){return this.id}equals(ve){return ve instanceof b?this.id===ve.id:!!ve&&this.termType===ve.termType&&this.value===ve.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}pe.Term=b;class S extends b{get termType(){return"NamedNode"}}pe.NamedNode=S;class T extends b{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const ve=this.id;let Fe=ve.lastIndexOf('"')+1;return Fe`"${Fe.replace(/"/g,'""')}`)}function W(re){return re.replace(R,(ve,Fe)=>`"${Fe.replace(/""/g,'"')}`)}function be(re,ve,Fe,Ze){return new Z(re,ve,Fe,Ze)}pe.Triple=pe.Quad=Z},{"./IRIs":34,"./N3Util":41}],36:[function(Q,Ee,pe){(function(X){(function(){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.default=void 0;var U=Y(Q("./IRIs")),F=Y(Q("queue-microtask"));function Y(b){return b&&b.__esModule?b:{default:b}}const{xsd:B}=U.default,w=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,C={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},R=/[\x00-\x20<>\\"\{\}\|\^\`]/,M={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},y=/$0^/;pe.default=class{constructor(S){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(S=S||{}).lineMode){this._n3Mode=!1;for(const T in this)!(T in M)&&this[T]instanceof RegExp&&(this[T]=y)}else this._n3Mode=!1!==S.n3;this._comments=!!S.comments,this._literalClosingPos=0}_tokenizeToEnd(S,T){let E=this._input,O=E.length;for(;;){let P,Z;for(;P=this._newline.exec(E);)this._comments&&(Z=this._comment.exec(P[0]))&&$("comment",Z[1],"",this._line,P[0].length),E=E.substr(P[0].length,E.length),O=E.length,this._line++;if(!P&&(P=this._whitespace.exec(E))&&(E=E.substr(P[0].length,E.length)),this._endOfFile.test(E))return T&&(this._comments&&(Z=this._comment.exec(E))&&$("comment",Z[1],"",this._line,E.length),E=null,$("eof","","",this._line,0)),this._input=E;const x=this._line,W=E[0];let ne="",ue="",se="",te=null,Re=0,be=!1;switch(W){case"^":if(E.length<3)break;if("^"!==E[1]){this._n3Mode&&(Re=1,ne="^");break}if(this._previousMarker="^^",E=E.substr(2),"<"!==E[0]){be=!0;break}case"<":if(te=this._unescapedIri.exec(E))ne="IRI",ue=te[1];else if(te=this._iri.exec(E)){if(ue=this._unescape(te[1]),null===ue||R.test(ue))return D(this);ne="IRI"}else E.length>1&&"<"===E[1]?(ne="<<",Re=2):this._n3Mode&&E.length>1&&"="===E[1]&&(ne="inverse",Re=2,ue=">");break;case">":E.length>1&&">"===E[1]&&(ne=">>",Re=2);break;case"_":((te=this._blank.exec(E))||T&&(te=this._blank.exec(`${E} `)))&&(ne="blank",se="_",ue=te[1]);break;case'"':if(te=this._simpleQuotedString.exec(E))ue=te[1];else if(({value:ue,matchLength:Re}=this._parseLiteral(E)),null===ue)return D(this);(null!==te||0!==Re)&&(ne="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(te=this._simpleApostropheString.exec(E))ue=te[1];else if(({value:ue,matchLength:Re}=this._parseLiteral(E)),null===ue)return D(this);(null!==te||0!==Re)&&(ne="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(te=this._variable.exec(E))&&(ne="var",ue=te[0]);break;case"@":"literal"===this._previousMarker&&(te=this._langcode.exec(E))?(ne="langcode",ue=te[1]):(te=this._keyword.exec(E))&&(ne=te[0]);break;case".":if(1===E.length?T:E[1]<"0"||E[1]>"9"){ne=".",Re=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(te=this._number.exec(E)||T&&(te=this._number.exec(`${E} `)))&&(ne="literal",ue=te[0],se="string"==typeof te[1]?B.double:"string"==typeof te[2]?B.decimal:B.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(te=this._sparqlKeyword.exec(E))?ne=te[0].toUpperCase():be=!0;break;case"f":case"t":(te=this._boolean.exec(E))?(ne="literal",ue=te[0],se=B.boolean):be=!0;break;case"a":(te=this._shortPredicates.exec(E))?(ne="abbreviation",ue="a"):be=!0;break;case"=":this._n3Mode&&E.length>1&&(ne="abbreviation",">"!==E[1]?(Re=1,ue="="):(Re=2,ue=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(Re=1,ne=W);break;default:be=!0}if(be&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(te=this._prefix.exec(E))?((te=this._prefixed.exec(E))||T&&(te=this._prefixed.exec(`${E} `)))&&(ne="prefixed",se=te[1]||"",ue=this._unescape(te[2])):(ne="prefix",ue=te[1]||"")),"^^"===this._previousMarker)switch(ne){case"prefixed":ne="type";break;case"IRI":ne="typeIRI";break;default:ne=""}if(!ne)return T||!/^'''|^"""/.test(E)&&/\n|\r/.test(E)?D(this):this._input=E;const re=Re||te[0].length,ve=$(ne,ue,se,x,re);this.previousToken=ve,this._previousMarker=ne,E=E.substr(re,E.length)}function $(P,Z,x,W,ne){const ue=E?O-E.length:O,te={type:P,value:Z,prefix:x,line:W,start:ue,end:ue+ne};return S(null,te),te}function D(P){S(P._syntaxError(/^\S*/.exec(E)[0]))}}_unescape(S){let T=!1;const E=S.replace(w,(O,$,D,P)=>{if("string"==typeof $)return String.fromCharCode(Number.parseInt($,16));if("string"==typeof D){let Z=Number.parseInt(D,16);return Z<=65535?String.fromCharCode(Number.parseInt(D,16)):String.fromCharCode(55296+((Z-=65536)>>10),56320+(1023&Z))}return P in C?C[P]:(T=!0,"")});return T?null:E}_parseLiteral(S){if(S.length>=3){const T=S.match(/^(?:"""|"|'''|'|)/)[0],E=T.length;let O=Math.max(this._literalClosingPos,E);for(;(O=S.indexOf(T,O))>0;){let $=0;for(;"\\"===S[O-$-1];)$++;if($%2==0){const D=S.substring(E,O),P=D.split(/\r\n|\r|\n/).length-1,Z=O+E;if(1===E&&0!==P||3===E&&this._lineMode)break;return this._line+=P,{value:this._unescape(D),matchLength:Z}}O++}this._literalClosingPos=S.length-E+1}return{value:"",matchLength:0}}_syntaxError(S){this._input=null;const T=new Error(`Unexpected "${S}" on line ${this._line}.`);return T.context={token:void 0,line:this._line,previousToken:this.previousToken},T}_readStartingBom(S){return S.startsWith("\ufeff")?S.substr(1):S}tokenize(S,T){if(this._line=1,"string"==typeof S){if(this._input=this._readStartingBom(S),"function"!=typeof T){const E=[];let O;if(this._tokenizeToEnd(($,D)=>$?O=$:E.push(D),!0),O)throw O;return E}(0,F.default)(()=>this._tokenizeToEnd(T,!0))}else this._pendingBuffer=null,"function"==typeof S.setEncoding&&S.setEncoding("utf8"),S.on("data",E=>{null!==this._input&&0!==E.length&&(this._pendingBuffer&&(E=X.concat([this._pendingBuffer,E]),this._pendingBuffer=null),128&E[E.length-1]?this._pendingBuffer=E:(void 0===this._input?this._input=this._readStartingBom("string"==typeof E?E:E.toString()):this._input+=E,this._tokenizeToEnd(T,!1)))}),S.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(T,!0)}),S.on("error",T)}}}).call(this)}).call(this,Q("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.default=void 0;var X=Y(Q("./N3Lexer")),U=Y(Q("./N3DataFactory")),F=Y(Q("./IRIs"));function Y(M){return M&&M.__esModule?M:{default:M}}let B=0;class w{constructor(y){this._contextStack=[],this._graph=null,this._setBase((y=y||{}).baseIRI),y.factory&&R(this,y.factory);const v="string"==typeof y.format?y.format.match(/\w*$/)[0].toLowerCase():"",b=/turtle/.test(v),S=/trig/.test(v),T=/triple/.test(v),E=/quad/.test(v),O=this._n3Mode=/n3/.test(v),$=T||E;(this._supportsNamedGraphs=!(b||O))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(b||S||T||O),this._supportsRDFStar=""===v||/star|\*$/.test(v),$&&(this._resolveRelativeIRI=D=>null),this._blankNodePrefix="string"!=typeof y.blankNodePrefix?"":y.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=y.lexer||new X.default({lineMode:$,n3:O}),this._explicitQuantifiers=!!y.explicitQuantifiers}static _resetBlankNodePrefix(){B=0}_setBase(y){if(y){const v=y.indexOf("#");v>=0&&(y=y.substr(0,v)),this._base=y,this._basePath=y.indexOf("/")<0?y:y.replace(/[^\/?]*(?:\?.*)?$/,""),y=y.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=y[0],this._baseScheme=y[1]}else this._base="",this._basePath=""}_saveContext(y,v,b,S,T){const E=this._n3Mode;this._contextStack.push({subject:b,predicate:S,object:T,graph:v,type:y,inverse:!!E&&this._inversePredicate,blankPrefix:E?this._prefixes._:"",quantified:E?this._quantified:null}),E&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const y=this._contextStack.pop(),v=this._n3Mode;this._subject=y.subject,this._predicate=y.predicate,this._object=y.object,this._graph=y.graph,v&&(this._inversePredicate=y.inverse,this._prefixes._=y.blankPrefix,this._quantified=y.quantified)}_readInTopContext(y){switch(y.type){case"eof":return null!==this._graph?this._error("Unclosed graph",y):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(y)}}_readEntity(y,v){let b;switch(y.type){case"IRI":case"typeIRI":const S=this._resolveIRI(y.value);if(null===S)return this._error("Invalid IRI",y);b=this._namedNode(S);break;case"type":case"prefixed":const T=this._prefixes[y.prefix];if(void 0===T)return this._error(`Undefined prefix "${y.prefix}:"`,y);b=this._namedNode(T+y.value);break;case"blank":b=this._blankNode(this._prefixes[y.prefix]+y.value);break;case"var":b=this._variable(y.value.substr(1));break;default:return this._error(`Expected entity but got ${y.type}`,y)}return!v&&this._n3Mode&&b.id in this._quantified&&(b=this._quantified[b.id]),b}_readSubject(y){switch(this._predicate=null,y.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",y);case"}":return this._readPunctuation(y);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',y);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',y);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",y);if(0===y.prefix.length)return this._literalValue=y.value,this._completeSubjectLiteral;this._subject=this._literal(y.value,this._namedNode(y.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",y);default:if(void 0===(this._subject=this._readEntity(y)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(y){const v=y.type;switch(v){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[y.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${v}`,y):(this._subject=null,"]"===v?this._readBlankNodeTail(y):this._readPunctuation(y));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",y);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",y);default:if(void 0===(this._predicate=this._readEntity(y)))return}return this._readObject}_readObject(y){switch(y.type){case"literal":if(0===y.prefix.length)return this._literalValue=y.value,this._readDataTypeOrLang;this._object=this._literal(y.value,this._namedNode(y.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",y);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",y);default:if(void 0===(this._object=this._readEntity(y)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(y){return"{"===y.type?this._readGraph(y):this._readPredicate(y)}_readGraph(y){return"{"!==y.type?this._error(`Expected graph but got ${y.type}`,y):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(y){return"]"===y.type?(this._subject=null,this._readBlankNodeTail(y)):(this._predicate=null,this._readPredicate(y))}_readBlankNodeTail(y){if("]"!==y.type)return this._readBlankNodePunctuation(y);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const v=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:v?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(y){switch(y.type){case".":case"}":return this._subject=null,this._readPunctuation(y);default:return this._readPredicate(y)}}_readListItem(y){let v=null,b=null,S=this._readListItem;const T=this._subject,E=this._contextStack,O=E[E.length-1];switch(y.type){case"[":this._saveContext("blank",this._graph,b=this._blankNode(),this.RDF_FIRST,this._subject=v=this._blankNode()),S=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,b=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==E.length&&"list"===E[E.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(S=this._readPredicate,this._subject===this.RDF_NIL)return S}else if(S=this._getContextEndReader(),this._object===this.RDF_NIL)return S;b=this.RDF_NIL;break;case"literal":0===y.prefix.length?(this._literalValue=y.value,S=this._readListItemDataTypeOrLang):(v=this._literal(y.value,this._namedNode(y.prefix)),S=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",y);default:if(void 0===(v=this._readEntity(y)))return}if(null===b&&(this._subject=b=this._blankNode()),null===T?null===O.predicate?O.subject=b:O.object=b:this._emit(T,this.RDF_REST,b,this._graph),null!==v){if(this._n3Mode&&("IRI"===y.type||"prefixed"===y.type))return this._saveContext("item",this._graph,b,this.RDF_FIRST,v),this._subject=v,this._predicate=null,this._getPathReader(this._readListItem);this._emit(b,this.RDF_FIRST,v,this._graph)}return S}_readDataTypeOrLang(y){return this._completeObjectLiteral(y,!1)}_readListItemDataTypeOrLang(y){return this._completeObjectLiteral(y,!0)}_completeLiteral(y){let v=this._literal(this._literalValue);switch(y.type){case"type":case"typeIRI":const b=this._readEntity(y);if(void 0===b)return;v=this._literal(this._literalValue,b),y=null;break;case"langcode":v=this._literal(this._literalValue,y.value),y=null}return{token:y,literal:v}}_completeSubjectLiteral(y){return this._subject=this._completeLiteral(y).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(y,v){const b=this._completeLiteral(y);if(b)return this._object=b.literal,v&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===b.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(b.token))}_readFormulaTail(y){return"}"!==y.type?this._readPunctuation(y):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(y){let v,b=this._graph;const S=this._subject,T=this._inversePredicate;switch(y.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",y);if(this._n3Mode)return this._readFormulaTail(y);this._graph=null;case".":this._subject=null,v=this._contextStack.length?this._readSubject:this._readInTopContext,T&&(this._inversePredicate=!1);break;case";":v=this._readPredicate;break;case",":v=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(b=this._readEntity(y))){v=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,y)}if(null!==S){const E=this._predicate,O=this._object;T?this._emit(O,E,S,b):this._emit(S,E,O,b)}return v}_readBlankNodePunctuation(y){let v;switch(y.type){case";":v=this._readPredicate;break;case",":v=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,y)}return this._emit(this._subject,this._predicate,this._object,this._graph),v}_readQuadPunctuation(y){return"."!==y.type?this._error("Expected dot to follow quad",y):this._readInTopContext}_readPrefix(y){return"prefix"!==y.type?this._error("Expected prefix to follow @prefix",y):(this._prefix=y.value,this._readPrefixIRI)}_readPrefixIRI(y){if("IRI"!==y.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,y);const v=this._readEntity(y);return this._prefixes[this._prefix]=v.value,this._prefixCallback(this._prefix,v),this._readDeclarationPunctuation}_readBaseIRI(y){const v="IRI"===y.type&&this._resolveIRI(y.value);return v?(this._setBase(v),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",y)}_readNamedGraphLabel(y){switch(y.type){case"IRI":case"blank":case"prefixed":return this._readSubject(y),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",y)}}_readNamedGraphBlankLabel(y){return"]"!==y.type?this._error("Invalid graph label",y):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(y){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(y)):"."!==y.type?this._error("Expected declaration to end with a dot",y):this._readInTopContext}_readQuantifierList(y){let v;switch(y.type){case"IRI":case"prefixed":if(void 0!==(v=this._readEntity(y,!0)))break;default:return this._error(`Unexpected ${y.type}`,y)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,v,this.QUANTIFIERS_GRAPH)):this._quantified[v.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(y){return","===y.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(y))}_getPathReader(y){return this._afterPath=y,this._readPath}_readPath(y){switch(y.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const v=this._contextStack,b=v.length&&v[v.length-1];if(b&&"item"===b.type){const S=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,S,this._graph)}return this._afterPath(y)}}_readForwardPath(y){let v,b;const S=this._blankNode();if(void 0!==(b=this._readEntity(y)))return null===this._predicate?(v=this._subject,this._subject=S):(v=this._object,this._object=S),this._emit(v,b,S,this._graph),this._readPath}_readBackwardPath(y){const v=this._blankNode();let b,S;if(void 0!==(b=this._readEntity(y)))return null===this._predicate?(S=this._subject,this._subject=v):(S=this._object,this._object=v),this._emit(v,b,S,this._graph),this._readPath}_readRDFStarTailOrGraph(y){return">>"!==y.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(y))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,y):this._readRDFStarTail(y)}_readRDFStarTail(y){if(">>"!==y.type)return this._error(`Expected >> but got ${y.type}`,y);const v=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=v,this._readPredicate):(this._object=v,this._getContextEndReader())}_getContextEndReader(){const y=this._contextStack;if(!y.length)return this._readPunctuation;switch(y[y.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(y,v,b,S){this._callback(null,this._quad(y,v,b,S||this.DEFAULTGRAPH))}_error(y,v){const b=new Error(`${y} on line ${v.line}.`);b.context={token:v,line:v.line,previousToken:this._lexer.previousToken},this._callback(b),this._callback=C}_resolveIRI(y){return/^[a-z][a-z0-9+.-]*:/i.test(y)?y:this._resolveRelativeIRI(y)}_resolveRelativeIRI(y){if(!y.length)return this._base;switch(y[0]){case"#":return this._base+y;case"?":return this._base.replace(/(?:\?.*)?$/,y);case"/":return("/"===y[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(y);default:return/^[^/:]*:/.test(y)?null:this._removeDotSegments(this._basePath+y)}}_removeDotSegments(y){if(!/(^|\/)\.\.?($|[/#?])/.test(y))return y;const v=y.length;let b="",S=-1,T=-1,E=0,O="/";for(;S=T&&(b=b.substr(0,E)),"/"!==O)return`${b}/${y.substr(S+1)}`;E=S+1}}}O=y[++S]}return b+y.substring(E)}parse(y,v,b){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${B++}_`,this._prefixCallback=b||C,this._inversePredicate=!1,this._quantified=Object.create(null),!v){const S=[];let T;if(this._callback=(E,O)=>{E?T=E:O&&S.push(O)},this._lexer.tokenize(y).every(E=>this._readCallback=this._readCallback(E)),T)throw T;return S}this._callback=v,this._lexer.tokenize(y,(S,T)=>{null!==S?(this._callback(S),this._callback=C):this._readCallback&&(this._readCallback=this._readCallback(T))})}}function C(){}function R(M,y){const v=y.namedNode;M._namedNode=v,M._blankNode=y.blankNode,M._literal=y.literal,M._variable=y.variable,M._quad=y.quad,M.DEFAULTGRAPH=y.defaultGraph(),M.RDF_FIRST=v(F.default.rdf.first),M.RDF_REST=v(F.default.rdf.rest),M.RDF_NIL=v(F.default.rdf.nil),M.N3_FORALL=v(F.default.r.forAll),M.N3_FORSOME=v(F.default.r.forSome),M.ABBREVIATIONS={a:v(F.default.rdf.type),"=":v(F.default.owl.sameAs),">":v(F.default.log.implies)},M.QUANTIFIERS_GRAPH=v("urn:n3:quantifiers")}pe.default=w,R(w.prototype,U.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.default=void 0;var y,X=function(y,v){if(!v&&y&&y.__esModule)return y;if(null===y||"object"!=typeof y&&"function"!=typeof y)return{default:y};var b=B(v);if(b&&b.has(y))return b.get(y);var S={},T=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var E in y)if("default"!==E&&Object.prototype.hasOwnProperty.call(y,E)){var O=T?Object.getOwnPropertyDescriptor(y,E):null;O&&(O.get||O.set)?Object.defineProperty(S,E,O):S[E]=y[E]}return S.default=y,b&&b.set(y,S),S}(Q("./N3DataFactory")),U=Q("readable-stream"),F=(y=Q("./IRIs"))&&y.__esModule?y:{default:y};function B(y){if("function"!=typeof WeakMap)return null;var v=new WeakMap,b=new WeakMap;return(B=function(S){return S?b:v})(y)}class C{constructor(v,b){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!b&&v&&!v[0]&&(b=v,v=null),this._factory=(b=b||{}).factory||X.default,v&&this.addQuads(v)}get size(){let v=this._size;if(null!==v)return v;v=0;const b=this._graphs;let S,T;for(const E in b)for(const O in S=b[E].subjects)for(const $ in T=S[O])v+=Object.keys(T[$]).length;return this._size=v}_addToIndex(v,b,S,T){const E=v[b]||(v[b]={}),O=E[S]||(E[S]={}),$=T in O;return $||(O[T]=null),!$}_removeFromIndex(v,b,S,T){const E=v[b],O=E[S];delete O[T];for(const $ in O)return;delete E[S];for(const $ in E)return;delete v[b]}*_findInIndex(v,b,S,T,E,O,$,D){let P,Z,x;const ne=!b+!S+!T>1?Object.keys(this._ids):this._entities,ue=(0,X.termFromId)(D,this._factory);b&&((P=v,v={})[b]=P[b]);for(const se in v){const te=ne[se];if(Z=v[se]){S&&((P=Z,Z={})[S]=P[S]);for(const Re in Z){const be=ne[Re];if(x=Z[Re]){const re=T?T in x?[T]:[]:Object.keys(x);for(let ve=0;ve{S in b||(b[S]=!0,v((0,X.termFromId)(this._entities[S],this._factory)))}}add(v){return this.addQuad(v),this}addQuad(v,b,S,T){b||(T=v.graph,S=v.object,b=v.predicate,v=v.subject),v=(0,X.termToId)(v),b=(0,X.termToId)(b),S=(0,X.termToId)(S),T=(0,X.termToId)(T);let E=this._graphs[T];E||(E=this._graphs[T]={subjects:{},predicates:{},objects:{}},Object.freeze(E));const O=this._ids,$=this._entities;v=O[v]||(O[$[++this._id]=v]=this._id),b=O[b]||(O[$[++this._id]=b]=this._id),S=O[S]||(O[$[++this._id]=S]=this._id);const D=this._addToIndex(E.subjects,v,b,S);return this._addToIndex(E.predicates,b,S,v),this._addToIndex(E.objects,S,v,b),this._size=null,D}addQuads(v){for(let b=0;b{this.addQuad(b)}),v}removeQuad(v,b,S,T){b||(T=v.graph,S=v.object,b=v.predicate,v=v.subject),v=(0,X.termToId)(v),b=(0,X.termToId)(b),S=(0,X.termToId)(S),T=(0,X.termToId)(T);const E=this._ids,O=this._graphs;let $,D,P;if(!((v=E[v])&&(b=E[b])&&(S=E[S])&&($=O[T])&&(D=$.subjects[v])&&(P=D[b])&&S in P))return!1;for(v in this._removeFromIndex($.subjects,v,b,S),this._removeFromIndex($.predicates,b,S,v),this._removeFromIndex($.objects,S,v,b),null!==this._size&&this._size--,$.subjects)return!0;return delete O[T],!0}removeQuads(v){for(let b=0;b{this.removeQuad(b)}),v}removeMatches(v,b,S,T){const E=new U.Readable({objectMode:!0});return E._read=()=>{for(const O of this.readQuads(v,b,S,T))E.push(O);E.push(null)},this.remove(E)}deleteGraph(v){return this.removeMatches(null,null,null,v)}getQuads(v,b,S,T){return[...this.readQuads(v,b,S,T)]}*readQuads(v,b,S,T){v=v&&(0,X.termToId)(v),b=b&&(0,X.termToId)(b),S=S&&(0,X.termToId)(S),T=T&&(0,X.termToId)(T);const E=this._getGraphs(T),O=this._ids;let $,D,P,Z;if(!(R(v)&&!(D=O[v])||R(b)&&!(P=O[b])||R(S)&&!(Z=O[S])))for(const x in E)($=E[x])&&(D?Z?yield*this._findInIndex($.objects,Z,D,P,"object","subject","predicate",x,null,!0):yield*this._findInIndex($.subjects,D,P,null,"subject","predicate","object",x,null,!0):P?yield*this._findInIndex($.predicates,P,Z,null,"predicate","object","subject",x,null,!0):Z?yield*this._findInIndex($.objects,Z,null,null,"object","subject","predicate",x,null,!0):yield*this._findInIndex($.subjects,null,null,null,"subject","predicate","object",x,null,!0))}match(v,b,S,T){return new M(this,v,b,S,T)}countQuads(v,b,S,T){v=v&&(0,X.termToId)(v),b=b&&(0,X.termToId)(b),S=S&&(0,X.termToId)(S),T=T&&(0,X.termToId)(T);const E=this._getGraphs(T),O=this._ids;let D,P,Z,x,$=0;if(R(v)&&!(P=O[v])||R(b)&&!(Z=O[b])||R(S)&&!(x=O[S]))return 0;for(const W in E)(D=E[W])&&($+=v?S?this._countInIndex(D.objects,x,P,Z):this._countInIndex(D.subjects,P,Z,x):b?this._countInIndex(D.predicates,Z,x,P):this._countInIndex(D.objects,x,P,Z));return $}forEach(v,b,S,T,E){this.some(O=>(v(O),!1),b,S,T,E)}every(v,b,S,T,E){let O=!1;const $=!this.some(D=>(O=!0,!v(D)),b,S,T,E);return O&&$}some(v,b,S,T,E){for(const O of this.readQuads(b,S,T,E))if(v(O))return!0;return!1}getSubjects(v,b,S){const T=[];return this.forSubjects(E=>{T.push(E)},v,b,S),T}forSubjects(v,b,S,T){b=b&&(0,X.termToId)(b),S=S&&(0,X.termToId)(S),T=T&&(0,X.termToId)(T);const E=this._ids,O=this._getGraphs(T);let $,D,P;if(v=this._uniqueEntities(v),!(R(b)&&!(D=E[b])||R(S)&&!(P=E[S])))for(T in O)($=O[T])&&(D?P?this._loopBy2Keys($.predicates,D,P,v):this._loopByKey1($.subjects,D,v):P?this._loopByKey0($.objects,P,v):this._loop($.subjects,v))}getPredicates(v,b,S){const T=[];return this.forPredicates(E=>{T.push(E)},v,b,S),T}forPredicates(v,b,S,T){b=b&&(0,X.termToId)(b),S=S&&(0,X.termToId)(S),T=T&&(0,X.termToId)(T);const E=this._ids,O=this._getGraphs(T);let $,D,P;if(v=this._uniqueEntities(v),!(R(b)&&!(D=E[b])||R(S)&&!(P=E[S])))for(T in O)($=O[T])&&(D?P?this._loopBy2Keys($.objects,P,D,v):this._loopByKey0($.subjects,D,v):P?this._loopByKey1($.predicates,P,v):this._loop($.predicates,v))}getObjects(v,b,S){const T=[];return this.forObjects(E=>{T.push(E)},v,b,S),T}forObjects(v,b,S,T){b=b&&(0,X.termToId)(b),S=S&&(0,X.termToId)(S),T=T&&(0,X.termToId)(T);const E=this._ids,O=this._getGraphs(T);let $,D,P;if(v=this._uniqueEntities(v),!(R(b)&&!(D=E[b])||R(S)&&!(P=E[S])))for(T in O)($=O[T])&&(D?P?this._loopBy2Keys($.subjects,D,P,v):this._loopByKey1($.objects,D,v):P?this._loopByKey0($.predicates,P,v):this._loop($.objects,v))}getGraphs(v,b,S){const T=[];return this.forGraphs(E=>{T.push(E)},v,b,S),T}forGraphs(v,b,S,T){for(const E in this._graphs)this.some(O=>(v(O.graph),!0),b,S,T,E)}createBlankNode(v){let b,S;if(v)for(b=v=`_:${v}`,S=1;this._ids[b];)b=v+S++;else do{b="_:b"+this._blankNodeIndex++}while(this._ids[b]);return this._ids[b]=++this._id,this._entities[this._id]=b,this._factory.blankNode(b.substr(2))}extractLists({remove:v=!1,ignoreErrors:b=!1}={}){const S={},T=b?()=>!0:($,D)=>{throw new Error(`${$.value} ${D}`)},E=this.getQuads(null,F.default.rdf.rest,F.default.rdf.nil,null),O=v?[...E]:[];return E.forEach($=>{const D=[];let Z,x,P=!1;const W=$.graph;let ne=$.subject;for(;ne&&!P;){const ue=this.getQuads(null,null,ne,null),se=this.getQuads(ne,null,null,null);let te,Re=null,be=null,re=null;for(let ve=0;ve{switch(y){case"data":R=v;break;case"end":M=v}}},(y,v)=>{y&&this.emit("error",y)||v&&this.push(v)},(y,v)=>{this.emit("prefix",y,v)}),this._transform=(y,v,b)=>{R(y),b()},this._flush=y=>{M(),y()}}import(w){return w.on("data",C=>{this.write(C)}),w.on("end",()=>{this.end()}),w.on("error",C=>{this.emit("error",C)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.default=void 0;var B,X=Q("readable-stream"),U=(B=Q("./N3Writer"))&&B.__esModule?B:{default:B};pe.default=class extends X.Transform{constructor(w){super({encoding:"utf8",writableObjectMode:!0});const C=this._writer=new U.default({write:(R,M,y)=>{this.push(R),y&&y()},end:R=>{this.push(null),R&&R()}},w);this._transform=(R,M,y)=>{C.addQuad(R,y)},this._flush=R=>{C.end(R)}}import(w){return w.on("data",C=>{this.write(C)}),w.on("end",()=>{this.end()}),w.on("error",C=>{this.emit("error",C)}),w.on("prefix",(C,R)=>{this._writer.addPrefix(C,R)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.inDefaultGraph=function(v){return C(v.graph)},pe.isBlankNode=function(v){return!!v&&"BlankNode"===v.termType},pe.isDefaultGraph=C,pe.isLiteral=function(v){return!!v&&"Literal"===v.termType},pe.isNamedNode=function(v){return!!v&&"NamedNode"===v.termType},pe.isVariable=function(v){return!!v&&"Variable"===v.termType},pe.prefix=function(v,b){return y({"":v.value||v},b)("")},pe.prefixes=y;var v,X=(v=Q("./N3DataFactory"))&&v.__esModule?v:{default:v};function C(v){return!!v&&"DefaultGraph"===v.termType}function y(v,b){const S=Object.create(null);for(const E in v)T(E,v[E]);function T(E,O){if("string"==typeof O){const $=Object.create(null);S[E]=D=>$[D]||($[D]=b.namedNode(O+D))}else if(!(E in S))throw new Error(`Unknown prefix: ${E}`);return S[E]}return b=b||X.default,T}},{"./N3DataFactory":35}],42:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.default=void 0;var $,X=($=Q("./IRIs"))&&$.__esModule?$:{default:$},U=function($,D){if(!D&&$&&$.__esModule)return $;if(null===$||"object"!=typeof $&&"function"!=typeof $)return{default:$};var P=Y(D);if(P&&P.has($))return P.get($);var Z={},x=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var W in $)if("default"!==W&&Object.prototype.hasOwnProperty.call($,W)){var ne=x?Object.getOwnPropertyDescriptor($,W):null;ne&&(ne.get||ne.set)?Object.defineProperty(Z,W,ne):Z[W]=$[W]}return Z.default=$,P&&P.set($,Z),Z}(Q("./N3DataFactory")),F=Q("./N3Util");function Y($){if("function"!=typeof WeakMap)return null;var D=new WeakMap,P=new WeakMap;return(Y=function(Z){return Z?P:D})($)}const C=U.default.defaultGraph(),{rdf:R,xsd:M}=X.default,y=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,v=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,b={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class S extends U.Term{equals(){return!1}}function E($){let D=b[$];return void 0===D&&(1===$.length?(D=$.charCodeAt(0).toString(16),D="\\u0000".substr(0,6-D.length)+D):(D=(1024*($.charCodeAt(0)-55296)+$.charCodeAt(1)+9216).toString(16),D="\\U00000000".substr(0,10-D.length)+D)),D}function O($){return $.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}pe.default=class{constructor(D,P){if(this._prefixRegex=/$0^/,D&&"function"!=typeof D.write&&(P=D,D=null),this._lists=(P=P||{}).lists,D)this._outputStream=D,this._endStream=void 0===P.end||!!P.end;else{let Z="";this._outputStream={write(x,W,ne){Z+=x,ne&&ne()},end:x=>{x&&x(null,Z)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(P.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=C,this._prefixIRIs=Object.create(null),P.prefixes&&this.addPrefixes(P.prefixes),P.baseIRI&&(this._baseMatcher=new RegExp(`^${O(P.baseIRI)}${P.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=P.baseIRI.length))}get _inDefaultGraph(){return C.equals(this._graph)}_write(D,P){this._outputStream.write(D,"utf8",P)}_writeQuad(D,P,Z,x,W){try{x.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(C.equals(x)?"":`${this._encodeIriOrBlank(x)} {\n`)),this._graph=x,this._subject=null),D.equals(this._subject)?P.equals(this._predicate)?this._write(`, ${this._encodeObject(Z)}`,W):this._write(`;\n ${this._encodePredicate(this._predicate=P)} ${this._encodeObject(Z)}`,W):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=D)} ${this._encodePredicate(this._predicate=P)} ${this._encodeObject(Z)}`,W)}catch(ne){W&&W(ne)}}_writeQuadLine(D,P,Z,x,W){delete this._prefixMatch,this._write(this.quadToString(D,P,Z,x),W)}quadToString(D,P,Z,x){return`${this._encodeSubject(D)} ${this._encodeIriOrBlank(P)} ${this._encodeObject(Z)}${x&&x.value?` ${this._encodeIriOrBlank(x)} .\n`:" .\n"}`}quadsToString(D){return D.map(P=>this.quadToString(P.subject,P.predicate,P.object,P.graph)).join("")}_encodeSubject(D){return"Quad"===D.termType?this._encodeQuad(D):this._encodeIriOrBlank(D)}_encodeIriOrBlank(D){if("NamedNode"!==D.termType)return this._lists&&D.value in this._lists&&(D=this.list(this._lists[D.value])),"id"in D?D.id:`_:${D.value}`;let P=D.value;this._baseMatcher&&this._baseMatcher.test(P)&&(P=P.substr(this._baseLength)),y.test(P)&&(P=P.replace(v,E));const Z=this._prefixRegex.exec(P);return Z?Z[1]?this._prefixIRIs[Z[1]]+Z[2]:P:`<${P}>`}_encodeLiteral(D){let P=D.value;if(y.test(P)&&(P=P.replace(v,E)),D.language)return`"${P}"@${D.language}`;if(this._lineMode){if(D.datatype.value===M.string)return`"${P}"`}else switch(D.datatype.value){case M.string:return`"${P}"`;case M.boolean:if("true"===P||"false"===P)return P;break;case M.integer:if(/^[+-]?\d+$/.test(P))return P;break;case M.decimal:if(/^[+-]?\d*\.\d+$/.test(P))return P;break;case M.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(P))return P}return`"${P}"^^${this._encodeIriOrBlank(D.datatype)}`}_encodePredicate(D){return D.value===R.type?"a":this._encodeIriOrBlank(D)}_encodeObject(D){switch(D.termType){case"Quad":return this._encodeQuad(D);case"Literal":return this._encodeLiteral(D);default:return this._encodeIriOrBlank(D)}}_encodeQuad({subject:D,predicate:P,object:Z,graph:x}){return`<<${this._encodeSubject(D)} ${this._encodePredicate(P)} ${this._encodeObject(Z)}${(0,F.isDefaultGraph)(x)?"":` ${this._encodeIriOrBlank(x)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(D,P,Z,x,W){void 0===Z?this._writeQuad(D.subject,D.predicate,D.object,D.graph,P):"function"==typeof x?this._writeQuad(D,P,Z,C,x):this._writeQuad(D,P,Z,x||C,W)}addQuads(D){for(let P=0;P.\n`)}if(Z){let x="",W="";for(const ne in this._prefixIRIs)x+=x?`|${ne}`:ne,W+=(W?"|":"")+this._prefixIRIs[ne];x=O(x),this._prefixRegex=new RegExp(`^(?:${W})[^/]*$|^(${x})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(Z?"\n":"",P)}blank(D,P){let x,W,Z=D;switch(void 0===D?Z=[]:D.termType?Z=[{predicate:D,object:P}]:"length"in D||(Z=[D]),W=Z.length){case 0:return new S("[]");case 1:if(x=Z[0],!(x.object instanceof S))return new S(`[ ${this._encodePredicate(x.predicate)} ${this._encodeObject(x.object)} ]`);default:let ne="[";for(let ue=0;ue{P=null,D(Z,x)});if(this._endStream)try{return this._outputStream.end(P)}catch(Z){}P&&P()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),Object.defineProperty(pe,"BlankNode",{enumerable:!0,get:function(){return R.BlankNode}}),Object.defineProperty(pe,"DataFactory",{enumerable:!0,get:function(){return R.default}}),Object.defineProperty(pe,"DefaultGraph",{enumerable:!0,get:function(){return R.DefaultGraph}}),Object.defineProperty(pe,"Lexer",{enumerable:!0,get:function(){return X.default}}),Object.defineProperty(pe,"Literal",{enumerable:!0,get:function(){return R.Literal}}),Object.defineProperty(pe,"NamedNode",{enumerable:!0,get:function(){return R.NamedNode}}),Object.defineProperty(pe,"Parser",{enumerable:!0,get:function(){return U.default}}),Object.defineProperty(pe,"Quad",{enumerable:!0,get:function(){return R.Quad}}),Object.defineProperty(pe,"Store",{enumerable:!0,get:function(){return Y.default}}),Object.defineProperty(pe,"StreamParser",{enumerable:!0,get:function(){return B.default}}),Object.defineProperty(pe,"StreamWriter",{enumerable:!0,get:function(){return w.default}}),Object.defineProperty(pe,"Term",{enumerable:!0,get:function(){return R.Term}}),Object.defineProperty(pe,"Triple",{enumerable:!0,get:function(){return R.Triple}}),pe.Util=void 0,Object.defineProperty(pe,"Variable",{enumerable:!0,get:function(){return R.Variable}}),Object.defineProperty(pe,"Writer",{enumerable:!0,get:function(){return F.default}}),pe.default=void 0,Object.defineProperty(pe,"termFromId",{enumerable:!0,get:function(){return R.termFromId}}),Object.defineProperty(pe,"termToId",{enumerable:!0,get:function(){return R.termToId}});var X=v(Q("./N3Lexer")),U=v(Q("./N3Parser")),F=v(Q("./N3Writer")),Y=v(Q("./N3Store")),B=v(Q("./N3StreamParser")),w=v(Q("./N3StreamWriter")),C=y(Q("./N3Util"));pe.Util=C;var R=y(Q("./N3DataFactory"));function M(S){if("function"!=typeof WeakMap)return null;var T=new WeakMap,E=new WeakMap;return(M=function(O){return O?E:T})(S)}function y(S,T){if(!T&&S&&S.__esModule)return S;if(null===S||"object"!=typeof S&&"function"!=typeof S)return{default:S};var E=M(T);if(E&&E.has(S))return E.get(S);var O={},$=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var D in S)if("default"!==D&&Object.prototype.hasOwnProperty.call(S,D)){var P=$?Object.getOwnPropertyDescriptor(S,D):null;P&&(P.get||P.set)?Object.defineProperty(O,D,P):O[D]=S[D]}return O.default=S,E&&E.set(S,O),O}function v(S){return S&&S.__esModule?S:{default:S}}pe.default={Lexer:X.default,Parser:U.default,Writer:F.default,Store:Y.default,StreamParser:B.default,StreamWriter:w.default,Util:C,DataFactory:R.default,Term:R.Term,NamedNode:R.NamedNode,Literal:R.Literal,BlankNode:R.BlankNode,Variable:R.Variable,DefaultGraph:R.DefaultGraph,Quad:R.Quad,Triple:R.Triple,termFromId:R.termFromId,termToId:R.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(Q,Ee,pe){var U,F,X=Ee.exports={};function Y(){throw new Error("setTimeout has not been defined")}function B(){throw new Error("clearTimeout has not been defined")}function w(O){if(U===setTimeout)return setTimeout(O,0);if((U===Y||!U)&&setTimeout)return U=setTimeout,setTimeout(O,0);try{return U(O,0)}catch($){try{return U.call(null,O,0)}catch(D){return U.call(this,O,0)}}}!function(){try{U="function"==typeof setTimeout?setTimeout:Y}catch(O){U=Y}try{F="function"==typeof clearTimeout?clearTimeout:B}catch(O){F=B}}();var y,R=[],M=!1,v=-1;function b(){!M||!y||(M=!1,y.length?R=y.concat(R):v=-1,R.length&&S())}function S(){if(!M){var O=w(b);M=!0;for(var $=R.length;$;){for(y=R,R=[];++v<$;)y&&y[v].run();v=-1,$=R.length}y=null,M=!1,function(O){if(F===clearTimeout)return clearTimeout(O);if((F===B||!F)&&clearTimeout)return F=clearTimeout,clearTimeout(O);try{F(O)}catch($){try{return F.call(null,O)}catch(D){return F.call(this,O)}}}(O)}}function T(O,$){this.fun=O,this.array=$}function E(){}X.nextTick=function(O){var $=new Array(arguments.length-1);if(arguments.length>1)for(var D=1;D(U||(U=Promise.resolve())).then(F).catch(Y=>setTimeout(()=>{throw Y},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(Q,Ee,pe){Ee.exports=Q("./lib")},{"./lib":55}],47:[function(Q,Ee,pe){"use strict";Ee.exports=class kq{constructor(U,F=new Map,Y=0){this.prefix=U,this._existing=F,this.counter=Y}clone(){const{prefix:U,_existing:F,counter:Y}=this;return new kq(U,new Map(F),Y)}getId(U){const F=U&&this._existing.get(U);if(F)return F;const Y=this.prefix+this.counter;return this.counter++,U&&this._existing.set(U,Y),Y}hasId(U){return this._existing.has(U)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(Q,Ee,pe){"use strict";Q("setimmediate");const X=self.crypto||self.msCrypto;Ee.exports=class{constructor(F){if(!X||!X.subtle)throw new Error("crypto.subtle not found.");if("sha256"===F)this.algorithm={name:"SHA-256"};else{if("sha1"!==F)throw new Error(`Unsupport algorithm "${F}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(F){this._content+=F}digest(){var F=this;return lt(function*(){const Y=(new TextEncoder).encode(F._content),B=new Uint8Array(yield X.subtle.digest(F.algorithm,Y));let w="";for(let C=0;C]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),Ee.exports=class ik{static parse(O){const $=[],D={},P=O.split(M.eoln);let Z=0;for(const x of P){if(Z++,M.empty.test(x))continue;const W=x.match(M.quad);if(null===W)throw new Error("N-Quads parse error on line "+Z+".");const ne={subject:null,predicate:null,object:null,graph:null};if(ne.subject=void 0!==W[1]?{termType:B,value:W[1]}:{termType:w,value:W[2]},ne.predicate={termType:B,value:W[3]},void 0!==W[4]?ne.object={termType:B,value:W[4]}:void 0!==W[5]?ne.object={termType:w,value:W[5]}:(ne.object={termType:C,value:void 0,datatype:{termType:B}},void 0!==W[7]?ne.object.datatype.value=W[7]:void 0!==W[8]?(ne.object.datatype.value=F,ne.object.language=W[8]):ne.object.datatype.value=Y,ne.object.value=W[6].replace(S,function(O,$,D,P){if($)switch($){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(D)return String.fromCharCode(parseInt(D,16));if(P)throw new Error("Unsupported U escape")})),ne.graph=void 0!==W[9]?{termType:B,value:W[9]}:void 0!==W[10]?{termType:w,value:W[10]}:{termType:R,value:""},ne.graph.value in D){let ue=!0;const se=D[ne.graph.value];for(const te of se)if(y(te,ne)){ue=!1;break}ue&&(se.push(ne),$.push(ne))}else D[ne.graph.value]=[ne],$.push(ne)}return $}static serialize(O){Array.isArray(O)||(O=ik.legacyDatasetToQuads(O));const $=[];for(const D of O)$.push(ik.serializeQuad(D));return $.sort().join("")}static serializeQuad(O){const $=O.subject,P=O.object,Z=O.graph;let x="";return x+=$.termType===B?`<${$.value}>`:`${$.value}`,x+=` <${O.predicate.value}> `,P.termType===B?x+=`<${P.value}>`:P.termType===w?x+=P.value:(x+=`"${E=P.value,E.replace(v,function(O){switch(O){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,P.datatype.value===F?P.language&&(x+=`@${P.language}`):P.datatype.value!==Y&&(x+=`^^<${P.datatype.value}>`)),Z.termType===B?x+=` <${Z.value}>`:Z.termType===w&&(x+=` ${Z.value}`),x+=" .\n",x;var E}static legacyDatasetToQuads(O){const $=[],D={"blank node":w,IRI:B,literal:C};for(const P in O)O[P].forEach(x=>{const W={};for(const ne in x){const ue=x[ne],se={termType:D[ue.type],value:ue.value};se.termType===C&&(se.datatype={termType:B},"datatype"in ue&&(se.datatype.value=ue.datatype),"language"in ue?("datatype"in ue||(se.datatype.value=F),se.language=ue.language):"datatype"in ue||(se.datatype.value=Y)),W[ne]=se}W.graph="@default"===P?{termType:R,value:""}:{termType:P.startsWith("_:")?w:B,value:P},$.push(W)});return $}};const v=/["\\\n\r]/g;const S=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(Q,Ee,pe){"use strict";Ee.exports=class{constructor(U){this.current=U.sort(),this.done=!1,this.dir=new Map;for(let F=0;FB)&&(y&&R>0&&M>U[R-1]||!y&&RU[R+1])&&(B=M,w=R)}if(null===B)this.done=!0;else{const R=F.get(B)?w-1:w+1;U[w]=U[R],U[R]=B;for(const M of U)M>B&&F.set(M,!F.get(M))}return Y}}},{}],51:[function(Q,Ee,pe){(function(X){(function(){"use strict";const U=Q("./IdentifierIssuer"),F=Q("./MessageDigest"),Y=Q("./Permuter"),B=Q("./NQuads");function w(C,R){return C.hashR.hash?1:0}Ee.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new U("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(R){var M=this;return lt(function*(){M.quads=R;for(const O of R)M._addBlankNodeQuadInfo({quad:O,component:O.subject}),M._addBlankNodeQuadInfo({quad:O,component:O.object}),M._addBlankNodeQuadInfo({quad:O,component:O.graph});const y=new Map,v=[...M.blankNodeInfo.keys()];let b=0;for(const O of v)++b%100==0&&(yield M._yield()),yield M._hashAndTrackBlankNode({id:O,hashToBlankNodes:y});const S=[...y.keys()].sort(),T=[];for(const O of S){const $=y.get(O);$.length>1?T.push($):M.canonicalIssuer.getId($[0])}for(const O of T){const $=[];for(const D of O){if(M.canonicalIssuer.hasId(D))continue;const P=new U("_:b");P.getId(D);const Z=yield M.hashNDegreeQuads(D,P);$.push(Z)}$.sort(w);for(const D of $){const P=D.issuer.getOldIds();for(const Z of P)M.canonicalIssuer.getId(Z)}}const E=[];for(const O of M.quads){const $=at({},O);$.subject=M._useCanonicalId({component:$.subject}),$.object=M._useCanonicalId({component:$.object}),$.graph=M._useCanonicalId({component:$.graph}),E.push(B.serializeQuad($))}return E.sort(),E.join("")})()}hashFirstDegreeQuads(R){var M=this;return lt(function*(){const y=[],v=M.blankNodeInfo.get(R),b=v.quads;for(const T of b){const E={subject:null,predicate:T.predicate,object:null,graph:null};E.subject=M.modifyFirstDegreeComponent(R,T.subject,"subject"),E.object=M.modifyFirstDegreeComponent(R,T.object,"object"),E.graph=M.modifyFirstDegreeComponent(R,T.graph,"graph"),y.push(B.serializeQuad(E))}y.sort();const S=new F(M.hashAlgorithm);for(const T of y)S.update(T);return v.hash=yield S.digest(),v.hash})()}hashRelatedBlankNode(R,M,y,v){var b=this;return lt(function*(){let S;S=b.canonicalIssuer.hasId(R)?b.canonicalIssuer.getId(R):y.hasId(R)?y.getId(R):b.blankNodeInfo.get(R).hash;const T=new F(b.hashAlgorithm);return T.update(v),"g"!==v&&T.update(b.getRelatedPredicate(M)),T.update(S),T.digest()})()}hashNDegreeQuads(R,M){var y=this;return lt(function*(){const v=new F(y.hashAlgorithm),b=yield y.createHashToRelated(R,M),S=[...b.keys()].sort();for(const T of S){v.update(T);let O,E="";const $=new Y(b.get(T));let D=0;for(;$.hasNext();){const P=$.next();++D%3==0&&(yield y._yield());let Z=M.clone(),x="";const W=[];let ne=!1;for(const ue of P)if(y.canonicalIssuer.hasId(ue)?x+=y.canonicalIssuer.getId(ue):(Z.hasId(ue)||W.push(ue),x+=Z.getId(ue)),0!==E.length&&x>E){ne=!0;break}if(!ne){for(const ue of W){const se=yield y.hashNDegreeQuads(ue,Z);if(x+=Z.getId(ue),x+=`<${se.hash}>`,Z=se.issuer,0!==E.length&&x>E){ne=!0;break}}ne||(0===E.length||x`}createHashToRelated(R,M){var y=this;return lt(function*(){const v=new Map,b=y.blankNodeInfo.get(R).quads;let S=0;for(const T of b)++S%100==0&&(yield y._yield()),yield Promise.all([y._addRelatedBlankNodeHash({quad:T,component:T.subject,position:"s",id:R,issuer:M,hashToRelated:v}),y._addRelatedBlankNodeHash({quad:T,component:T.object,position:"o",id:R,issuer:M,hashToRelated:v}),y._addRelatedBlankNodeHash({quad:T,component:T.graph,position:"g",id:R,issuer:M,hashToRelated:v})]);return v})()}_hashAndTrackBlankNode({id:R,hashToBlankNodes:M}){var y=this;return lt(function*(){const v=yield y.hashFirstDegreeQuads(R),b=M.get(v);b?b.push(R):M.set(v,[R])})()}_addBlankNodeQuadInfo({quad:R,component:M}){if("BlankNode"!==M.termType)return;const y=M.value,v=this.blankNodeInfo.get(y);v?v.quads.add(R):this.blankNodeInfo.set(y,{quads:new Set([R]),hash:null})}_addRelatedBlankNodeHash({quad:R,component:M,position:y,id:v,issuer:b,hashToRelated:S}){var T=this;return lt(function*(){if("BlankNode"!==M.termType||M.value===v)return;const E=M.value,O=yield T.hashRelatedBlankNode(E,R,b,y),$=S.get(O);$?$.push(E):S.set(O,[E])})()}_useCanonicalId({component:R}){return"BlankNode"!==R.termType||R.value.startsWith(this.canonicalIssuer.prefix)?R:{termType:"BlankNode",value:this.canonicalIssuer.getId(R.value)}}_yield(){return lt(function*(){return new Promise(R=>X(R))})()}}}).call(this)}).call(this,Q("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(Q,Ee,pe){"use strict";const X=Q("./IdentifierIssuer"),U=Q("./MessageDigest"),F=Q("./Permuter"),Y=Q("./NQuads");function B(w,C){return w.hashC.hash?1:0}Ee.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new X("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(C){this.quads=C;for(const S of C)this._addBlankNodeQuadInfo({quad:S,component:S.subject}),this._addBlankNodeQuadInfo({quad:S,component:S.object}),this._addBlankNodeQuadInfo({quad:S,component:S.graph});const R=new Map,M=[...this.blankNodeInfo.keys()];for(const S of M)this._hashAndTrackBlankNode({id:S,hashToBlankNodes:R});const y=[...R.keys()].sort(),v=[];for(const S of y){const T=R.get(S);T.length>1?v.push(T):this.canonicalIssuer.getId(T[0])}for(const S of v){const T=[];for(const E of S){if(this.canonicalIssuer.hasId(E))continue;const O=new X("_:b");O.getId(E);const $=this.hashNDegreeQuads(E,O);T.push($)}T.sort(B);for(const E of T){const O=E.issuer.getOldIds();for(const $ of O)this.canonicalIssuer.getId($)}}const b=[];for(const S of this.quads){const T=at({},S);T.subject=this._useCanonicalId({component:T.subject}),T.object=this._useCanonicalId({component:T.object}),T.graph=this._useCanonicalId({component:T.graph}),b.push(Y.serializeQuad(T))}return b.sort(),b.join("")}hashFirstDegreeQuads(C){const R=[],M=this.blankNodeInfo.get(C),y=M.quads;for(const b of y){const S={subject:null,predicate:b.predicate,object:null,graph:null};S.subject=this.modifyFirstDegreeComponent(C,b.subject,"subject"),S.object=this.modifyFirstDegreeComponent(C,b.object,"object"),S.graph=this.modifyFirstDegreeComponent(C,b.graph,"graph"),R.push(Y.serializeQuad(S))}R.sort();const v=new U(this.hashAlgorithm);for(const b of R)v.update(b);return M.hash=v.digest(),M.hash}hashRelatedBlankNode(C,R,M,y){let v;v=this.canonicalIssuer.hasId(C)?this.canonicalIssuer.getId(C):M.hasId(C)?M.getId(C):this.blankNodeInfo.get(C).hash;const b=new U(this.hashAlgorithm);return b.update(y),"g"!==y&&b.update(this.getRelatedPredicate(R)),b.update(v),b.digest()}hashNDegreeQuads(C,R){const M=new U(this.hashAlgorithm),y=this.createHashToRelated(C,R),v=[...y.keys()].sort();for(const b of v){M.update(b);let T,S="";const E=new F(y.get(b));for(;E.hasNext();){const O=E.next();let $=R.clone(),D="";const P=[];let Z=!1;for(const x of O)if(this.canonicalIssuer.hasId(x)?D+=this.canonicalIssuer.getId(x):($.hasId(x)||P.push(x),D+=$.getId(x)),0!==S.length&&D>S){Z=!0;break}if(!Z){for(const x of P){const W=this.hashNDegreeQuads(x,$);if(D+=$.getId(x),D+=`<${W.hash}>`,$=W.issuer,0!==S.length&&D>S){Z=!0;break}}Z||(0===S.length||D`}createHashToRelated(C,R){const M=new Map,y=this.blankNodeInfo.get(C).quads;for(const v of y)this._addRelatedBlankNodeHash({quad:v,component:v.subject,position:"s",id:C,issuer:R,hashToRelated:M}),this._addRelatedBlankNodeHash({quad:v,component:v.object,position:"o",id:C,issuer:R,hashToRelated:M}),this._addRelatedBlankNodeHash({quad:v,component:v.graph,position:"g",id:C,issuer:R,hashToRelated:M});return M}_hashAndTrackBlankNode({id:C,hashToBlankNodes:R}){const M=this.hashFirstDegreeQuads(C),y=R.get(M);y?y.push(C):R.set(M,[C])}_addBlankNodeQuadInfo({quad:C,component:R}){if("BlankNode"!==R.termType)return;const M=R.value,y=this.blankNodeInfo.get(M);y?y.quads.add(C):this.blankNodeInfo.set(M,{quads:new Set([C]),hash:null})}_addRelatedBlankNodeHash({quad:C,component:R,position:M,id:y,issuer:v,hashToRelated:b}){if("BlankNode"!==R.termType||R.value===y)return;const S=R.value,T=this.hashRelatedBlankNode(S,C,v,M),E=b.get(T);E?E.push(S):b.set(T,[S])}_useCanonicalId({component:C}){return"BlankNode"!==C.termType||C.value.startsWith(this.canonicalIssuer.prefix)?C:{termType:"BlankNode",value:this.canonicalIssuer.getId(C.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(Q,Ee,pe){"use strict";const X=Q("./URDNA2015");Ee.exports=class extends X{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(F,Y,B){return"BlankNode"!==Y.termType?Y:"graph"===B?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Y.value===F?"_:a":"_:z"}}getRelatedPredicate(F){return F.predicate.value}createHashToRelated(F,Y){var B=this;return lt(function*(){const w=new Map,C=B.blankNodeInfo.get(F).quads;let R=0;for(const M of C){let y,v;if("BlankNode"===M.subject.termType&&M.subject.value!==F)v=M.subject.value,y="p";else{if("BlankNode"!==M.object.termType||M.object.value===F)continue;v=M.object.value,y="r"}++R%100==0&&(yield B._yield());const b=yield B.hashRelatedBlankNode(v,M,Y,y),S=w.get(b);S?S.push(v):w.set(b,[v])}return w})()}}},{"./URDNA2015":51}],54:[function(Q,Ee,pe){"use strict";const X=Q("./URDNA2015Sync");Ee.exports=class extends X{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(F,Y,B){return"BlankNode"!==Y.termType?Y:"graph"===B?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Y.value===F?"_:a":"_:z"}}getRelatedPredicate(F){return F.predicate.value}createHashToRelated(F,Y){const B=new Map,w=this.blankNodeInfo.get(F).quads;for(const C of w){let R,M;if("BlankNode"===C.subject.termType&&C.subject.value!==F)M=C.subject.value,R="p";else{if("BlankNode"!==C.object.termType||C.object.value===F)continue;M=C.object.value,R="r"}const y=this.hashRelatedBlankNode(M,C,Y,R),v=B.get(y);v?v.push(M):B.set(y,[M])}return B}}},{"./URDNA2015Sync":52}],55:[function(Q,Ee,pe){"use strict";const X=Q("./URDNA2015"),U=Q("./URGNA2012"),F=Q("./URDNA2015Sync"),Y=Q("./URGNA2012Sync");let B;try{B=Q("rdf-canonize-native")}catch(C){}const w={};Ee.exports=w,w.NQuads=Q("./NQuads"),w.IdentifierIssuer=Q("./IdentifierIssuer"),w._rdfCanonizeNative=function(C){return C&&(B=C),B},w.canonize=function(){var C=lt(function*(R,M){if(Array.isArray(R)||(R=w.NQuads.legacyDatasetToQuads(R)),M.useNative){if(!B)throw new Error("rdf-canonize-native not available");return new Promise((y,v)=>B.canonize(R,M,(b,S)=>b?v(b):y(S)))}if("URDNA2015"===M.algorithm)return new X(M).main(R);if("URGNA2012"===M.algorithm)return new U(M).main(R);throw"algorithm"in M?new Error("Invalid RDF Dataset Canonicalization algorithm: "+M.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(R,M){return C.apply(this,arguments)}}(),w._canonizeSync=function(C,R){if(Array.isArray(C)||(C=w.NQuads.legacyDatasetToQuads(C)),R.useNative){if(B)return B.canonizeSync(C,R);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===R.algorithm)return new F(R).main(C);if("URGNA2012"===R.algorithm)return new Y(R).main(C);throw"algorithm"in R?new Error("Invalid RDF Dataset Canonicalization algorithm: "+R.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(Q,Ee,pe){"use strict";var X=this&&this.__createBinding||(Object.create?function(F,Y,B,w){void 0===w&&(w=B),Object.defineProperty(F,w,{enumerable:!0,get:function(){return Y[B]}})}:function(F,Y,B,w){void 0===w&&(w=B),F[w]=Y[B]}),U=this&&this.__exportStar||function(F,Y){for(var B in F)"default"!==B&&!Object.prototype.hasOwnProperty.call(Y,B)&&X(Y,F,B)};Object.defineProperty(pe,"__esModule",{value:!0}),U(Q("./lib/BlankNode"),pe),U(Q("./lib/DataFactory"),pe),U(Q("./lib/DefaultGraph"),pe),U(Q("./lib/Literal"),pe),U(Q("./lib/NamedNode"),pe),U(Q("./lib/Quad"),pe),U(Q("./lib/Variable"),pe)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.BlankNode=void 0;pe.BlankNode=class{constructor(F){this.termType="BlankNode",this.value=F}equals(F){return!!F&&"BlankNode"===F.termType&&F.value===this.value}}},{}],58:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.DataFactory=void 0;const X=Q("./BlankNode"),U=Q("./DefaultGraph"),F=Q("./Literal"),Y=Q("./NamedNode"),B=Q("./Quad"),w=Q("./Variable");let C=0;pe.DataFactory=class{constructor(y){this.blankNodeCounter=0,this.blankNodePrefix=(y=y||{}).blankNodePrefix||`df_${C++}_`}namedNode(y){return new Y.NamedNode(y)}blankNode(y){return new X.BlankNode(y||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(y,v){return new F.Literal(y,v)}variable(y){return new w.Variable(y)}defaultGraph(){return U.DefaultGraph.INSTANCE}quad(y,v,b,S){return new B.Quad(y,v,b,S||this.defaultGraph())}fromTerm(y){switch(y.termType){case"NamedNode":return this.namedNode(y.value);case"BlankNode":return this.blankNode(y.value);case"Literal":return y.language?this.literal(y.value,y.language):y.datatype.equals(F.Literal.XSD_STRING)?this.literal(y.value):this.literal(y.value,this.fromTerm(y.datatype));case"Variable":return this.variable(y.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(y.subject),this.fromTerm(y.predicate),this.fromTerm(y.object),this.fromTerm(y.graph))}}fromQuad(y){return this.fromTerm(y)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.DefaultGraph=void 0;class X{constructor(){this.termType="DefaultGraph",this.value=""}equals(F){return!!F&&"DefaultGraph"===F.termType}}pe.DefaultGraph=X,X.INSTANCE=new X},{}],60:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.Literal=void 0;const X=Q("./NamedNode");class U{constructor(Y,B){this.termType="Literal",this.value=Y,"string"==typeof B?(this.language=B,this.datatype=U.RDF_LANGUAGE_STRING):B?(this.language="",this.datatype=B):(this.language="",this.datatype=U.XSD_STRING)}equals(Y){return!!Y&&"Literal"===Y.termType&&Y.value===this.value&&Y.language===this.language&&Y.datatype.equals(this.datatype)}}pe.Literal=U,U.RDF_LANGUAGE_STRING=new X.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),U.XSD_STRING=new X.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.NamedNode=void 0;pe.NamedNode=class{constructor(F){this.termType="NamedNode",this.value=F}equals(F){return!!F&&"NamedNode"===F.termType&&F.value===this.value}}},{}],62:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.Quad=void 0;pe.Quad=class{constructor(F,Y,B,w){this.termType="Quad",this.value="",this.subject=F,this.predicate=Y,this.object=B,this.graph=w}equals(F){return!!F&&("Quad"===F.termType||!F.termType)&&this.subject.equals(F.subject)&&this.predicate.equals(F.predicate)&&this.object.equals(F.object)&&this.graph.equals(F.graph)}}},{}],63:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.Variable=void 0;pe.Variable=class{constructor(F){this.termType="Variable",this.value=F}equals(F){return!!F&&"Variable"===F.termType&&F.value===this.value}}},{}],64:[function(Q,Ee,pe){"use strict";var X=this&&this.__createBinding||(Object.create?function(F,Y,B,w){void 0===w&&(w=B),Object.defineProperty(F,w,{enumerable:!0,get:function(){return Y[B]}})}:function(F,Y,B,w){void 0===w&&(w=B),F[w]=Y[B]}),U=this&&this.__exportStar||function(F,Y){for(var B in F)"default"!==B&&!Object.prototype.hasOwnProperty.call(Y,B)&&X(Y,F,B)};Object.defineProperty(pe,"__esModule",{value:!0}),U(Q("./lib/RdfXmlParser"),pe)},{"./lib/RdfXmlParser":66}],65:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.ParseError=void 0;class X extends Error{constructor(F,Y){const B=F.saxStream._parser;super(F.trackPosition?`Line ${B.line+1} column ${B.column+1}: ${Y}`:Y)}}pe.ParseError=X},{}],66:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.ParseType=pe.RdfXmlParser=void 0;const X=Q("relative-to-absolute-iri"),U=Q("sax"),F=Q("stream"),Y=Q("./ParseError"),B=Q("rdf-data-factory");class w extends F.Transform{constructor(M){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},M&&(Object.assign(this,M),this.options=M),this.dataFactory||(this.dataFactory=new B.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=U.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(M,y){const v={};let b=!1;for(const T in M.attributes)T.startsWith("xmlns")&&(5===T.length?(b=!0,v[""]=M.attributes[T]):":"===T.charAt(5)&&(b=!0,v[T.substr(6)]=M.attributes[T]));const S=y&&y.ns?y.ns:[w.DEFAULT_NS];return b?S.concat([v]):S}static expandPrefixedTerm(M,y,v){const b=M.indexOf(":");let S,T;b>=0?(S=M.substr(0,b),T=M.substr(b+1)):(S="",T=M);let E=null,O=null;for(let $=y.length-1;$>=0;$--){const D=y[$][S];if(D){E=D;break}O||(O=y[$][""])}if(!E){if(S&&"xmlns"!==S)throw new Y.ParseError(v,`The prefix '${S}' in term '${M}' was not bound.`);E=O||""}return{prefix:S,local:T,uri:E}}static isValidIri(M){return w.IRI_REGEX.test(M)}import(M){const y=new F.PassThrough({readableObjectMode:!0});M.on("error",b=>v.emit("error",b)),M.on("data",b=>y.push(b)),M.on("end",()=>y.push(null));const v=y.pipe(new w(this.options));return v}_transform(M,y,v){try{this.saxStream.write(M,y)}catch(b){return v(b)}v()}newParseError(M){return new Y.ParseError(this,M)}valueToUri(M,y){return this.uriToNamedNode(X.resolve(M,y.baseIRI))}uriToNamedNode(M){if(!w.isValidIri(M))throw this.newParseError(`Invalid URI: ${M}`);return this.dataFactory.namedNode(M)}validateNcname(M){if(!w.NCNAME_MATCHER.test(M))throw this.newParseError(`Not a valid NCName: ${M}`)}attachSaxListeners(){this.saxStream.on("error",M=>this.emit("error",M)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(M){const y=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let v=C.RESOURCE;if(y&&(y.hadChildren=!0,v=y.childrenParseType),y&&y.childrenStringTags){const S=M.name;let T="";for(const D in M.attributes)T+=` ${D}="${M.attributes[D]}"`;y.childrenStringTags.push(`<${S}${T}>`);const $={childrenStringTags:y.childrenStringTags};return $.childrenStringEmitClosingTag=``,void this.activeTagStack.push($)}const b={};y?(b.language=y.language,b.baseIRI=y.baseIRI):b.baseIRI=this.baseIRI,this.activeTagStack.push(b),b.ns=w.parseNamespace(M,y),v===C.RESOURCE?this.onTagResource(M,b,y,!y):this.onTagProperty(M,b,y)}onTagResource(M,y,v,b){const S=w.expandPrefixedTerm(M.name,y.ns,this);y.childrenParseType=C.PROPERTY;let T=!0;if(S.uri===w.RDF){if(!b&&w.FORBIDDEN_NODE_ELEMENTS.indexOf(S.local)>=0)throw this.newParseError(`Illegal node element name: ${S.local}`);switch(S.local){case"RDF":y.childrenParseType=C.RESOURCE;case"Description":T=!1}}const E=[],O=[];let $=null,D=!1,P=!1,Z=null;for(const x in M.attributes){const W=M.attributes[x],ne=w.expandPrefixedTerm(x,y.ns,this);if(v&&ne.uri===w.RDF)switch(ne.local){case"about":if($)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${W} and ${$} where found.`);$=W;continue;case"ID":if($)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${W} and ${$} where found.`);this.validateNcname(W),$="#"+W,D=!0;continue;case"nodeID":if($)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${W} and ${$} where found.`);this.validateNcname(W),$=W,P=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":Z=W;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(ne.uri===w.XML){if("lang"===ne.local){y.language=""===W?null:W.toLowerCase();continue}if("base"===ne.local){y.baseIRI=X.resolve(W,y.baseIRI);continue}}"xml"!==ne.prefix&&ne.uri&&(E.push(this.uriToNamedNode(ne.uri+ne.local)),O.push(W))}if(null!==$&&(y.subject=P?this.dataFactory.blankNode($):this.valueToUri($,y),D&&this.claimNodeId(y.subject)),y.subject||(y.subject=this.dataFactory.blankNode()),T){const x=this.uriToNamedNode(S.uri+S.local);this.emitTriple(y.subject,this.dataFactory.namedNode(w.RDF+"type"),x,v?v.reifiedStatementId:null)}if(v){if(v.predicate)if(v.childrenCollectionSubject){const x=this.dataFactory.blankNode();this.emitTriple(v.childrenCollectionSubject,v.childrenCollectionPredicate,x,v.reifiedStatementId),this.emitTriple(x,this.dataFactory.namedNode(w.RDF+"first"),y.subject,y.reifiedStatementId),v.childrenCollectionSubject=x,v.childrenCollectionPredicate=this.dataFactory.namedNode(w.RDF+"rest")}else{this.emitTriple(v.subject,v.predicate,y.subject,v.reifiedStatementId);for(let x=0;x=0)throw this.newParseError(`Illegal property element name: ${b.local}`);y.predicateSubPredicates=[],y.predicateSubObjects=[];let S=!1,T=!1,E=null,O=!0;const $=[],D=[];for(const P in M.attributes){const Z=M.attributes[P],x=w.expandPrefixedTerm(P,y.ns,this);if(x.uri===w.RDF)switch(x.local){case"resource":if(E)throw this.newParseError(`Found both rdf:resource (${Z}) and rdf:nodeID (${E}).`);if(S)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${Z})`);y.hadChildren=!0,E=Z,O=!1;continue;case"datatype":if(T)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${Z}).`);if(S)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${Z})`);y.datatype=this.valueToUri(Z,y);continue;case"nodeID":if(T)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${Z}).`);if(y.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${Z}).`);if(S)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${Z})`);this.validateNcname(Z),y.hadChildren=!0,E=Z,O=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(T)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(y.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${y.datatype.value})`);if(E)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${E})`);if("Resource"===Z){S=!0,y.childrenParseType=C.PROPERTY;const W=this.dataFactory.blankNode();this.emitTriple(y.subject,y.predicate,W,y.reifiedStatementId),y.subject=W,y.predicate=null}else"Collection"===Z?(S=!0,y.hadChildren=!0,y.childrenCollectionSubject=y.subject,y.childrenCollectionPredicate=y.predicate,O=!1):"Literal"===Z&&(S=!0,y.childrenTagsToString=!0,y.childrenStringTags=[]);continue;case"ID":this.validateNcname(Z),y.reifiedStatementId=this.valueToUri("#"+Z,y),this.claimNodeId(y.reifiedStatementId);continue}else if(x.uri===w.XML&&"lang"===x.local){y.language=""===Z?null:Z.toLowerCase();continue}if("xml"!==x.prefix&&"xmlns"!==x.prefix&&x.uri){if(S||y.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${Z}`);y.hadChildren=!0,T=!0,$.push(this.uriToNamedNode(x.uri+x.local)),D.push(this.dataFactory.literal(Z,y.datatype||y.language))}}if(null!==E){const P=y.subject;y.subject=O?this.dataFactory.blankNode(E):this.valueToUri(E,y),this.emitTriple(P,y.predicate,y.subject,y.reifiedStatementId);for(let Z=0;Z<$.length;Z++)this.emitTriple(y.subject,$[Z],D[Z],null);y.predicateEmitted=!0}else O&&(y.predicateSubPredicates=$,y.predicateSubObjects=D,y.predicateEmitted=!1)}emitTriple(M,y,v,b){this.push(this.dataFactory.quad(M,y,v,this.defaultGraph)),b&&(this.push(this.dataFactory.quad(b,this.dataFactory.namedNode(w.RDF+"type"),this.dataFactory.namedNode(w.RDF+"Statement"),this.defaultGraph)),this.push(this.dataFactory.quad(b,this.dataFactory.namedNode(w.RDF+"subject"),M,this.defaultGraph)),this.push(this.dataFactory.quad(b,this.dataFactory.namedNode(w.RDF+"predicate"),y,this.defaultGraph)),this.push(this.dataFactory.quad(b,this.dataFactory.namedNode(w.RDF+"object"),v,this.defaultGraph)))}claimNodeId(M){if(!this.allowDuplicateRdfIds){if(this.nodeIds[M.value])throw this.newParseError(`Found multiple occurrences of rdf:ID='${M.value}'.`);this.nodeIds[M.value]=!0}}onText(M){const y=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;y&&(y.childrenStringTags?y.childrenStringTags.push(M):y.predicate&&(y.text=M))}onCloseTag(){const M=this.activeTagStack.pop();if(M.childrenStringEmitClosingTag&&M.childrenStringTags.push(M.childrenStringEmitClosingTag),M.childrenTagsToString&&(M.datatype=this.dataFactory.namedNode(w.RDF+"XMLLiteral"),M.text=M.childrenStringTags.join(""),M.hadChildren=!1),M.childrenCollectionSubject)this.emitTriple(M.childrenCollectionSubject,M.childrenCollectionPredicate,this.dataFactory.namedNode(w.RDF+"nil"),M.reifiedStatementId);else if(M.predicate)if(M.hadChildren||M.childrenParseType===C.PROPERTY){if(!M.predicateEmitted){const y=this.dataFactory.blankNode();this.emitTriple(M.subject,M.predicate,y,M.reifiedStatementId);for(let v=0;v/g,(y,v,b)=>(this.saxStream._parser.ENTITIES[v]=b,""))}}var C,R;pe.RdfXmlParser=w,w.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,w.MIME_TYPE="application/rdf+xml",w.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",w.XML="http://www.w3.org/XML/1998/namespace",w.XMLNS="http://www.w3.org/2000/xmlns/",w.DEFAULT_NS={xml:w.XML},w.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],w.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],w.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(R=C=pe.ParseType||(pe.ParseType={}))[R.RESOURCE=0]="RESOURCE",R[R.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(Q,Ee,pe){"use strict";var U={};function F(R,M,y){y||(y=Error);var b=function(S){function T(E,O,$){return S.call(this,function(S,T,E){return"string"==typeof M?M:M(S,T,E)}(E,O,$))||this}return function(R,M){R.prototype=Object.create(M.prototype),R.prototype.constructor=R,R.__proto__=M}(T,S),T}(y);b.prototype.name=y.name,b.prototype.code=R,U[R]=b}function Y(R,M){if(Array.isArray(R)){var y=R.length;return R=R.map(function(v){return String(v)}),y>2?"one of ".concat(M," ").concat(R.slice(0,y-1).join(", "),", or ")+R[y-1]:2===y?"one of ".concat(M," ").concat(R[0]," or ").concat(R[1]):"of ".concat(M," ").concat(R[0])}return"of ".concat(M," ").concat(String(R))}F("ERR_INVALID_OPT_VALUE",function(R,M){return'The value "'+M+'" is invalid for option "'+R+'"'},TypeError),F("ERR_INVALID_ARG_TYPE",function(R,M,y){var v,b;if("string"==typeof M&&function(R,M,y){return R.substr(!y||y<0?0:+y,M.length)===M}(M,"not ")?(v="must not be",M=M.replace(/^not /,"")):v="must be",function(R,M,y){return(void 0===y||y>R.length)&&(y=R.length),R.substring(y-M.length,y)===M}(R," argument"))b="The ".concat(R," ").concat(v," ").concat(Y(M,"type"));else{var S=function(R,M,y){return"number"!=typeof y&&(y=0),!(y+M.length>R.length)&&-1!==R.indexOf(M,y)}(R,".")?"property":"argument";b='The "'.concat(R,'" ').concat(S," ").concat(v," ").concat(Y(M,"type"))}return b+". Received type ".concat(typeof y)},TypeError),F("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),F("ERR_METHOD_NOT_IMPLEMENTED",function(R){return"The "+R+" method is not implemented"}),F("ERR_STREAM_PREMATURE_CLOSE","Premature close"),F("ERR_STREAM_DESTROYED",function(R){return"Cannot call "+R+" after a stream was destroyed"}),F("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),F("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),F("ERR_STREAM_WRITE_AFTER_END","write after end"),F("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),F("ERR_UNKNOWN_ENCODING",function(R){return"Unknown encoding: "+R},TypeError),F("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Ee.exports.codes=U},{}],68:[function(Q,Ee,pe){(function(X){(function(){"use strict";var U=Object.keys||function(v){var b=[];for(var S in v)b.push(S);return b};Ee.exports=R;var F=Q("./_stream_readable"),Y=Q("./_stream_writable");Q("inherits")(R,F);for(var B=U(Y.prototype),w=0;w0)if("string"!=typeof z&&!it.objectMode&&Object.getPrototypeOf(z)!==C.prototype&&(z=function(Ae){return C.from(Ae)}(z)),H)it.endEmitted?se(Ae,new x):Fe(Ae,it,z,!0);else if(it.ended)se(Ae,new P);else{if(it.destroyed)return!1;it.reading=!1,it.decoder&&!L?(z=it.decoder.write(z),it.objectMode||0!==z.length?Fe(Ae,it,z,!1):$e(Ae,it)):Fe(Ae,it,z,!1)}else H||(it.reading=!1,$e(Ae,it));return!it.ended&&(it.lengthz.highWaterMark&&(z.highWaterMark=function(Ae){return Ae>=Ge?Ae=Ge:(Ae--,Ae|=Ae>>>1,Ae|=Ae>>>2,Ae|=Ae>>>4,Ae|=Ae>>>8,Ae|=Ae>>>16,Ae++),Ae}(Ae)),Ae<=z.length?Ae:z.ended?z.length:(z.needReadable=!0,0))}function Me(Ae){var z=Ae._readableState;b("emitReadable",z.needReadable,z.emittedReadable),z.needReadable=!1,z.emittedReadable||(b("emitReadable",z.flowing),z.emittedReadable=!0,X.nextTick(Ce,Ae))}function Ce(Ae){var z=Ae._readableState;b("emitReadable_",z.destroyed,z.length,z.ended),!z.destroyed&&(z.length||z.ended)&&(Ae.emit("readable"),z.emittedReadable=!1),z.needReadable=!z.flowing&&!z.ended&&z.length<=z.highWaterMark,ge(Ae)}function $e(Ae,z){z.readingMore||(z.readingMore=!0,X.nextTick(Se,Ae,z))}function Se(Ae,z){for(;!z.reading&&!z.ended&&(z.length0,z.resumeScheduled&&!z.paused?z.flowing=!0:Ae.listenerCount("data")>0&&Ae.resume()}function Ve(Ae){b("readable nexttick read 0"),Ae.read(0)}function q(Ae,z){b("resume",z.reading),z.reading||Ae.read(0),z.resumeScheduled=!1,Ae.emit("resume"),ge(Ae),z.flowing&&!z.reading&&Ae.read(0)}function ge(Ae){var z=Ae._readableState;for(b("flow",z.flowing);z.flowing&&null!==Ae.read(););}function ce(Ae,z){return 0===z.length?null:(z.objectMode?L=z.buffer.shift():!Ae||Ae>=z.length?(L=z.decoder?z.buffer.join(""):1===z.buffer.length?z.buffer.first():z.buffer.concat(z.length),z.buffer.clear()):L=z.buffer.consume(Ae,z.decoder),L);var L}function Ye(Ae){var z=Ae._readableState;b("endReadable",z.endEmitted),z.endEmitted||(z.ended=!0,X.nextTick(_t,z,Ae))}function _t(Ae,z){if(b("endReadableNT",Ae.endEmitted,Ae.length),!Ae.endEmitted&&0===Ae.length&&(Ae.endEmitted=!0,z.readable=!1,z.emit("end"),Ae.autoDestroy)){var L=z._writableState;(!L||L.autoDestroy&&L.finished)&&z.destroy()}}function gt(Ae,z){for(var L=0,H=Ae.length;L=z.highWaterMark:z.length>0)||z.ended))return b("read: emitReadable",z.length,z.ended),0===z.length&&z.ended?Ye(this):Me(this),null;if(0===(Ae=le(Ae,z))&&z.ended)return 0===z.length&&Ye(this),null;var Le,H=z.needReadable;return b("need readable",H),(0===z.length||z.length-Ae0?ce(Ae,z):null)?(z.needReadable=z.length<=z.highWaterMark,Ae=0):(z.length-=Ae,z.awaitDrain=0),0===z.length&&(z.ended||(z.needReadable=!0),L!==Ae&&z.ended&&Ye(this)),null!==Le&&this.emit("data",Le),Le},re.prototype._read=function(Ae){se(this,new Z("_read()"))},re.prototype.pipe=function(Ae,z){var L=this,H=this._readableState;switch(H.pipesCount){case 0:H.pipes=Ae;break;case 1:H.pipes=[H.pipes,Ae];break;default:H.pipes.push(Ae)}H.pipesCount+=1,b("pipe count=%d opts=%j",H.pipesCount,z);var it=z&&!1===z.end||Ae===X.stdout||Ae===X.stderr?fs:kt;function At(Bs,Kr){b("onunpipe"),Bs===L&&Kr&&!1===Kr.hasUnpiped&&(Kr.hasUnpiped=!0,b("cleanup"),Ae.removeListener("close",Xr),Ae.removeListener("finish",Ls),Ae.removeListener("drain",In),Ae.removeListener("error",xi),Ae.removeListener("unpipe",At),L.removeListener("end",kt),L.removeListener("end",fs),L.removeListener("data",Mi),Pn=!0,H.awaitDrain&&(!Ae._writableState||Ae._writableState.needDrain)&&In())}function kt(){b("onend"),Ae.end()}H.endEmitted?X.nextTick(it):L.once("end",it),Ae.on("unpipe",At);var In=function(Ae){return function(){var L=Ae._readableState;b("pipeOnDrain",L.awaitDrain),L.awaitDrain&&L.awaitDrain--,0===L.awaitDrain&&B(Ae,"data")&&(L.flowing=!0,ge(Ae))}}(L);Ae.on("drain",In);var Pn=!1;function Mi(Bs){b("ondata");var Kr=Ae.write(Bs);b("dest.write",Kr),!1===Kr&&((1===H.pipesCount&&H.pipes===Ae||H.pipesCount>1&&-1!==gt(H.pipes,Ae))&&!Pn&&(b("false write response, pause",H.awaitDrain),H.awaitDrain++),L.pause())}function xi(Bs){b("onerror",Bs),fs(),Ae.removeListener("error",xi),0===B(Ae,"error")&&se(Ae,Bs)}function Xr(){Ae.removeListener("finish",Ls),fs()}function Ls(){b("onfinish"),Ae.removeListener("close",Xr),fs()}function fs(){b("unpipe"),L.unpipe(Ae)}return L.on("data",Mi),function(Ae,z,L){if("function"==typeof Ae.prependListener)return Ae.prependListener(z,L);Ae._events&&Ae._events[z]?Array.isArray(Ae._events[z])?Ae._events[z].unshift(L):Ae._events[z]=[L,Ae._events[z]]:Ae.on(z,L)}(Ae,"error",xi),Ae.once("close",Xr),Ae.once("finish",Ls),Ae.emit("pipe",L),H.flowing||(b("pipe resume"),L.resume()),Ae},re.prototype.unpipe=function(Ae){var z=this._readableState,L={hasUnpiped:!1};if(0===z.pipesCount)return this;if(1===z.pipesCount)return Ae&&Ae!==z.pipes||(Ae||(Ae=z.pipes),z.pipes=null,z.pipesCount=0,z.flowing=!1,Ae&&Ae.emit("unpipe",this,L)),this;if(!Ae){var H=z.pipes,Le=z.pipesCount;z.pipes=null,z.pipesCount=0,z.flowing=!1;for(var it=0;it0,!1!==H.flowing&&this.resume()):"readable"===Ae&&!H.endEmitted&&!H.readableListening&&(H.readableListening=H.needReadable=!0,H.flowing=!1,H.emittedReadable=!1,b("on readable",H.length,H.reading),H.length?Me(this):H.reading||X.nextTick(Ve,this)),L},re.prototype.removeListener=function(Ae,z){var L=w.prototype.removeListener.call(this,Ae,z);return"readable"===Ae&&X.nextTick(Ke,this),L},re.prototype.removeAllListeners=function(Ae){var z=w.prototype.removeAllListeners.apply(this,arguments);return("readable"===Ae||void 0===Ae)&&X.nextTick(Ke,this),z},re.prototype.resume=function(){var Ae=this._readableState;return Ae.flowing||(b("resume"),Ae.flowing=!Ae.readableListening,function(Ae,z){z.resumeScheduled||(z.resumeScheduled=!0,X.nextTick(q,Ae,z))}(this,Ae)),Ae.paused=!1,this},re.prototype.pause=function(){return b("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(b("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},re.prototype.wrap=function(Ae){var z=this,L=this._readableState,H=!1;for(var Le in Ae.on("end",function(){if(b("wrapped end"),L.decoder&&!L.ended){var At=L.decoder.end();At&&At.length&&z.push(At)}z.push(null)}),Ae.on("data",function(At){b("wrapped data"),L.decoder&&(At=L.decoder.write(At)),L.objectMode&&null==At||!(L.objectMode||At&&At.length)||z.push(At)||(H=!0,Ae.pause())}),Ae)void 0===this[Le]&&"function"==typeof Ae[Le]&&(this[Le]=function(kt){return function(){return Ae[kt].apply(Ae,arguments)}}(Le));for(var it=0;it-1))throw new ne(ce);return this._writableState.defaultEncoding=ce,this},Object.defineProperty(be.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(be.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),be.prototype._write=function(ge,ce,Ye){Ye(new $("_write()"))},be.prototype._writev=null,be.prototype.end=function(ge,ce,Ye){var _t=this._writableState;return"function"==typeof ge?(Ye=ge,ge=null,ce=null):"function"==typeof ce&&(Ye=ce,ce=null),null!=ge&&this.write(ge,ce),_t.corked&&(_t.corked=1,this.uncork()),_t.ending||function(ge,ce,Ye){ce.ending=!0,Ve(ge,ce),Ye&&(ce.finished?X.nextTick(Ye):ge.once("finish",Ye)),ce.ended=!0,ge.writable=!1}(this,_t,Ye),this},Object.defineProperty(be.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(be.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(ce){!this._writableState||(this._writableState.destroyed=ce)}}),be.prototype.destroy=b.destroy,be.prototype._undestroy=b.undestroy,be.prototype._destroy=function(ge,ce){ce(ge)}}).call(this)}).call(this,Q("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(Q,Ee,pe){(function(X){(function(){"use strict";var U;function F(P,Z,x){return Z in P?Object.defineProperty(P,Z,{value:x,enumerable:!0,configurable:!0,writable:!0}):P[Z]=x,P}var Y=Q("./end-of-stream"),B=Symbol("lastResolve"),w=Symbol("lastReject"),C=Symbol("error"),R=Symbol("ended"),M=Symbol("lastPromise"),y=Symbol("handlePromise"),v=Symbol("stream");function b(P,Z){return{value:P,done:Z}}function S(P){var Z=P[B];if(null!==Z){var x=P[v].read();null!==x&&(P[M]=null,P[B]=null,P[w]=null,Z(b(x,!1)))}}function T(P){X.nextTick(S,P)}var O=Object.getPrototypeOf(function(){}),$=Object.setPrototypeOf((F(U={get stream(){return this[v]},next:function(){var Z=this,x=this[C];if(null!==x)return Promise.reject(x);if(this[R])return Promise.resolve(b(void 0,!0));if(this[v].destroyed)return new Promise(function(se,te){X.nextTick(function(){Z[C]?te(Z[C]):se(b(void 0,!0))})});var ne,W=this[M];if(W)ne=new Promise(function(P,Z){return function(x,W){P.then(function(){Z[R]?x(b(void 0,!0)):Z[y](x,W)},W)}}(W,this));else{var ue=this[v].read();if(null!==ue)return Promise.resolve(b(ue,!1));ne=new Promise(this[y])}return this[M]=ne,ne}},Symbol.asyncIterator,function(){return this}),F(U,"return",function(){var Z=this;return new Promise(function(x,W){Z[v].destroy(null,function(ne){ne?W(ne):x(b(void 0,!0))})})}),U),O);Ee.exports=function(Z){var x,W=Object.create($,(F(x={},v,{value:Z,writable:!0}),F(x,B,{value:null,writable:!0}),F(x,w,{value:null,writable:!0}),F(x,C,{value:null,writable:!0}),F(x,R,{value:Z._readableState.endEmitted,writable:!0}),F(x,y,{value:function(ue,se){var te=W[v].read();te?(W[M]=null,W[B]=null,W[w]=null,ue(b(te,!1))):(W[B]=ue,W[w]=se)},writable:!0}),x));return W[M]=null,Y(Z,function(ne){if(ne&&"ERR_STREAM_PREMATURE_CLOSE"!==ne.code){var ue=W[w];return null!==ue&&(W[M]=null,W[B]=null,W[w]=null,ue(ne)),void(W[C]=ne)}var se=W[B];null!==se&&(W[M]=null,W[B]=null,W[w]=null,se(b(void 0,!0))),W[R]=!0}),Z.on("readable",T.bind(null,W)),W}}).call(this)}).call(this,Q("_process"))},{"./end-of-stream":76,_process:44}],74:[function(Q,Ee,pe){"use strict";function X(S,T){var E=Object.keys(S);if(Object.getOwnPropertySymbols){var O=Object.getOwnPropertySymbols(S);T&&(O=O.filter(function($){return Object.getOwnPropertyDescriptor(S,$).enumerable})),E.push.apply(E,O)}return E}function F(S,T,E){return T in S?Object.defineProperty(S,T,{value:E,enumerable:!0,configurable:!0,writable:!0}):S[T]=E,S}function B(S,T){for(var E=0;E0?this.tail.next=O:this.head=O,this.tail=O,++this.length}},{key:"unshift",value:function(E){var O={data:E,next:this.head};0===this.length&&(this.tail=O),this.head=O,++this.length}},{key:"shift",value:function(){if(0!==this.length){var E=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,E}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(E){if(0===this.length)return"";for(var O=this.head,$=""+O.data;O=O.next;)$+=E+O.data;return $}},{key:"concat",value:function(E){if(0===this.length)return R.alloc(0);for(var O=R.allocUnsafe(E>>>0),$=this.head,D=0;$;)b($.data,O,D),D+=$.data.length,$=$.next;return O}},{key:"consume",value:function(E,O){var $;return EP.length?P.length:E;if(D+=Z===P.length?P:P.slice(0,E),0==(E-=Z)){Z===P.length?(++$,this.head=O.next?O.next:this.tail=null):(this.head=O,O.data=P.slice(Z));break}++$}return this.length-=$,D}},{key:"_getBuffer",value:function(E){var O=R.allocUnsafe(E),$=this.head,D=1;for($.data.copy(O),E-=$.data.length;$=$.next;){var P=$.data,Z=E>P.length?P.length:E;if(P.copy(O,O.length-E,0,Z),0==(E-=Z)){Z===P.length?(++D,this.head=$.next?$.next:this.tail=null):(this.head=$,$.data=P.slice(Z));break}++D}return this.length-=D,O}},{key:v,value:function(E,O){return y(this,function(S){for(var T=1;T0,function(ne){$||($=ne),ne&&D.forEach(M),!x&&(D.forEach(M),O($))})});return T.reduce(y)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(Q,Ee,pe){"use strict";var X=Q("../../../errors").codes.ERR_INVALID_OPT_VALUE;Ee.exports={getHighWaterMark:function(Y,B,w,C){var R=function(Y,B,w){return null!=Y.highWaterMark?Y.highWaterMark:B?Y[w]:null}(B,C,w);if(null!=R){if(!isFinite(R)||Math.floor(R)!==R||R<0)throw new X(C?w:"highWaterMark",R);return Math.floor(R)}return Y.objectMode?16:16384}}},{"../../../errors":67}],80:[function(Q,Ee,pe){Ee.exports=Q("events").EventEmitter},{events:8}],81:[function(Q,Ee,pe){(pe=Ee.exports=Q("./lib/_stream_readable.js")).Stream=pe,pe.Readable=pe,pe.Writable=Q("./lib/_stream_writable.js"),pe.Duplex=Q("./lib/_stream_duplex.js"),pe.Transform=Q("./lib/_stream_transform.js"),pe.PassThrough=Q("./lib/_stream_passthrough.js"),pe.finished=Q("./lib/internal/streams/end-of-stream.js"),pe.pipeline=Q("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),function(U){for(var F in U)pe.hasOwnProperty(F)||(pe[F]=U[F])}(Q("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(Q,Ee,pe){"use strict";function U(B){const w=[];let C=0;for(;CR.join("")).join("/")}function F(B,w){let C=w+1;w>=0?"/"===B[w+1]&&"/"===B[w+2]&&(C=w+3):"/"===B[0]&&"/"===B[1]&&(C=2);const R=B.indexOf("/",C);return R<0?B:B.substr(0,R)+U(B.substr(R))}function Y(B){return!B||"#"===B||"?"===B||"/"===B}Object.defineProperty(pe,"__esModule",{value:!0}),pe.resolve=function(B,w){const C=(w=w||"").indexOf("#");if(C>0&&(w=w.substr(0,C)),!B.length){if(w.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${w}' for value '${B}'`);return w}if(B.startsWith("?")){const T=w.indexOf("?");return T>0&&(w=w.substr(0,T)),w+B}if(B.startsWith("#"))return w+B;if(!w.length){const T=B.indexOf(":");if(T<0)throw new Error(`Found invalid relative IRI '${B}' for a missing baseIRI`);return F(B,T)}const R=B.indexOf(":");if(R>=0)return F(B,R);const M=w.indexOf(":");if(M<0)throw new Error(`Found invalid baseIRI '${w}' for value '${B}'`);const y=w.substr(0,M+1);if(0===B.indexOf("//"))return y+F(B,R);let v;if(w.indexOf("//",M)===M+1){if(v=w.indexOf("/",M+3),v<0)return w.length>M+3?w+"/"+F(B,R):y+F(B,R)}else if(v=w.indexOf("/",M+1),v<0)return y+F(B,R);if(0===B.indexOf("/"))return w.substr(0,v)+U(B);let b=w.substr(v);const S=b.lastIndexOf("/");return S>=0&&S"===ce?(re(q,"onsgmldeclaration",q.sgmlDecl),q.sgmlDecl="",q.state=te.TEXT):(W(ce)&&(q.state=te.SGML_DECL_QUOTED),q.sgmlDecl+=ce);continue;case te.SGML_DECL_QUOTED:ce===q.q&&(q.state=te.SGML_DECL,q.q=""),q.sgmlDecl+=ce;continue;case te.DOCTYPE:">"===ce?(q.state=te.TEXT,re(q,"ondoctype",q.doctype),q.doctype=!0):(q.doctype+=ce,"["===ce?q.state=te.DOCTYPE_DTD:W(ce)&&(q.state=te.DOCTYPE_QUOTED,q.q=ce));continue;case te.DOCTYPE_QUOTED:q.doctype+=ce,ce===q.q&&(q.q="",q.state=te.DOCTYPE);continue;case te.DOCTYPE_DTD:q.doctype+=ce,"]"===ce?q.state=te.DOCTYPE:W(ce)&&(q.state=te.DOCTYPE_DTD_QUOTED,q.q=ce);continue;case te.DOCTYPE_DTD_QUOTED:q.doctype+=ce,ce===q.q&&(q.state=te.DOCTYPE_DTD,q.q="");continue;case te.COMMENT:"-"===ce?q.state=te.COMMENT_ENDING:q.comment+=ce;continue;case te.COMMENT_ENDING:"-"===ce?(q.state=te.COMMENT_ENDED,q.comment=Fe(q.opt,q.comment),q.comment&&re(q,"oncomment",q.comment),q.comment=""):(q.comment+="-"+ce,q.state=te.COMMENT);continue;case te.COMMENT_ENDED:">"!==ce?(J(q,"Malformed comment"),q.comment+="--"+ce,q.state=te.COMMENT):q.state=te.TEXT;continue;case te.CDATA:"]"===ce?q.state=te.CDATA_ENDING:q.cdata+=ce;continue;case te.CDATA_ENDING:"]"===ce?q.state=te.CDATA_ENDING_2:(q.cdata+="]"+ce,q.state=te.CDATA);continue;case te.CDATA_ENDING_2:">"===ce?(q.cdata&&re(q,"oncdata",q.cdata),re(q,"onclosecdata"),q.cdata="",q.state=te.TEXT):"]"===ce?q.cdata+="]":(q.cdata+="]]"+ce,q.state=te.CDATA);continue;case te.PROC_INST:"?"===ce?q.state=te.PROC_INST_ENDING:x(ce)?q.state=te.PROC_INST_BODY:q.procInstName+=ce;continue;case te.PROC_INST_BODY:if(!q.procInstBody&&x(ce))continue;"?"===ce?q.state=te.PROC_INST_ENDING:q.procInstBody+=ce;continue;case te.PROC_INST_ENDING:">"===ce?(re(q,"onprocessinginstruction",{name:q.procInstName,body:q.procInstBody}),q.procInstName=q.procInstBody="",q.state=te.TEXT):(q.procInstBody+="?"+ce,q.state=te.PROC_INST_BODY);continue;case te.OPEN_TAG:ue(D,ce)?q.tagName+=ce:(le(q),">"===ce?Ce(q):"/"===ce?q.state=te.OPEN_TAG_SLASH:(x(ce)||J(q,"Invalid character in tag name"),q.state=te.ATTRIB));continue;case te.OPEN_TAG_SLASH:">"===ce?(Ce(q,!0),$e(q)):(J(q,"Forward-slash in opening tag not followed by >"),q.state=te.ATTRIB);continue;case te.ATTRIB:if(x(ce))continue;">"===ce?Ce(q):"/"===ce?q.state=te.OPEN_TAG_SLASH:ue($,ce)?(q.attribName=ce,q.attribValue="",q.state=te.ATTRIB_NAME):J(q,"Invalid attribute name");continue;case te.ATTRIB_NAME:"="===ce?q.state=te.ATTRIB_VALUE:">"===ce?(J(q,"Attribute without value"),q.attribValue=q.attribName,Me(q),Ce(q)):x(ce)?q.state=te.ATTRIB_NAME_SAW_WHITE:ue(D,ce)?q.attribName+=ce:J(q,"Invalid attribute name");continue;case te.ATTRIB_NAME_SAW_WHITE:if("="===ce)q.state=te.ATTRIB_VALUE;else{if(x(ce))continue;J(q,"Attribute without value"),q.tag.attributes[q.attribName]="",q.attribValue="",re(q,"onattribute",{name:q.attribName,value:""}),q.attribName="",">"===ce?Ce(q):ue($,ce)?(q.attribName=ce,q.state=te.ATTRIB_NAME):(J(q,"Invalid attribute name"),q.state=te.ATTRIB)}continue;case te.ATTRIB_VALUE:if(x(ce))continue;W(ce)?(q.q=ce,q.state=te.ATTRIB_VALUE_QUOTED):(J(q,"Unquoted attribute value"),q.state=te.ATTRIB_VALUE_UNQUOTED,q.attribValue=ce);continue;case te.ATTRIB_VALUE_QUOTED:if(ce!==q.q){"&"===ce?q.state=te.ATTRIB_VALUE_ENTITY_Q:q.attribValue+=ce;continue}Me(q),q.q="",q.state=te.ATTRIB_VALUE_CLOSED;continue;case te.ATTRIB_VALUE_CLOSED:x(ce)?q.state=te.ATTRIB:">"===ce?Ce(q):"/"===ce?q.state=te.OPEN_TAG_SLASH:ue($,ce)?(J(q,"No whitespace between attributes"),q.attribName=ce,q.attribValue="",q.state=te.ATTRIB_NAME):J(q,"Invalid attribute name");continue;case te.ATTRIB_VALUE_UNQUOTED:if(!ne(ce)){"&"===ce?q.state=te.ATTRIB_VALUE_ENTITY_U:q.attribValue+=ce;continue}Me(q),">"===ce?Ce(q):q.state=te.ATTRIB;continue;case te.CLOSE_TAG:if(q.tagName)">"===ce?$e(q):ue(D,ce)?q.tagName+=ce:q.script?(q.script+=""===ce?$e(q):J(q,"Invalid characters in closing tag");continue;case te.TEXT_ENTITY:case te.ATTRIB_VALUE_ENTITY_Q:case te.ATTRIB_VALUE_ENTITY_U:var gt,Ae;switch(q.state){case te.TEXT_ENTITY:gt=te.TEXT,Ae="textNode";break;case te.ATTRIB_VALUE_ENTITY_Q:gt=te.ATTRIB_VALUE_QUOTED,Ae="attribValue";break;case te.ATTRIB_VALUE_ENTITY_U:gt=te.ATTRIB_VALUE_UNQUOTED,Ae="attribValue"}";"===ce?(q[Ae]+=Se(q),q.entity="",q.state=gt):ue(q.entity.length?Z:P,ce)?q.entity+=ce:(J(q,"Invalid character in entity name"),q[Ae]+="&"+q.entity+ce,q.entity="",q.state=gt);continue;default:throw new Error(q,"Unknown state: "+q.state)}return q.position>=q.bufferCheckPosition&&function(K){for(var q=Math.max(U.MAX_BUFFER_LENGTH,10),ge=0,ce=0,Ye=F.length;ceq)switch(F[ce]){case"textNode":ve(K);break;case"cdata":re(K,"oncdata",K.cdata),K.cdata="";break;case"script":re(K,"onscript",K.script),K.script="";break;default:Ze(K,"Max buffer length exceeded: "+F[ce])}ge=Math.max(ge,_t)}K.bufferCheckPosition=U.MAX_BUFFER_LENGTH-ge+K.position}(q),q},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(K){ve(K),""!==K.cdata&&(re(K,"oncdata",K.cdata),K.cdata=""),""!==K.script&&(re(K,"onscript",K.script),K.script="")}(this)}};try{R=Q("stream").Stream}catch(K){R=function(){}}var M=U.EVENTS.filter(function(K){return"error"!==K&&"end"!==K});function v(K,q){if(!(this instanceof v))return new v(K,q);R.apply(this),this._parser=new Y(K,q),this.writable=!0,this.readable=!0;var ge=this;this._parser.onend=function(){ge.emit("end")},this._parser.onerror=function(ce){ge.emit("error",ce),ge._parser.error=null},this._decoder=null,M.forEach(function(ce){Object.defineProperty(ge,"on"+ce,{get:function(){return ge._parser["on"+ce]},set:function(Ye){if(!Ye)return ge.removeAllListeners(ce),ge._parser["on"+ce]=Ye,Ye;ge.on(ce,Ye)},enumerable:!0,configurable:!1})})}(v.prototype=Object.create(R.prototype,{constructor:{value:v}})).write=function(K){if("function"==typeof X&&"function"==typeof X.isBuffer&&X.isBuffer(K)){if(!this._decoder){var q=Q("string_decoder").StringDecoder;this._decoder=new q("utf8")}K=this._decoder.write(K)}return this._parser.write(K.toString()),this.emit("data",K),!0},v.prototype.end=function(K){return K&&K.length&&this.write(K),this._parser.end(),!0},v.prototype.on=function(K,q){var ge=this;return!ge._parser["on"+K]&&-1!==M.indexOf(K)&&(ge._parser["on"+K]=function(){var ce=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);ce.splice(0,0,K),ge.emit.apply(ge,ce)}),R.prototype.on.call(ge,K,q)};var T="http://www.w3.org/XML/1998/namespace",E="http://www.w3.org/2000/xmlns/",O={xml:T,xmlns:E},$=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,D=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,P=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,Z=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function x(K){return" "===K||"\n"===K||"\r"===K||"\t"===K}function W(K){return'"'===K||"'"===K}function ne(K){return">"===K||x(K)}function ue(K,q){return K.test(q)}function se(K,q){return!ue(K,q)}var K,q,ge,te=0;for(var Re in U.STATE={BEGIN:te++,BEGIN_WHITESPACE:te++,TEXT:te++,TEXT_ENTITY:te++,OPEN_WAKA:te++,SGML_DECL:te++,SGML_DECL_QUOTED:te++,DOCTYPE:te++,DOCTYPE_QUOTED:te++,DOCTYPE_DTD:te++,DOCTYPE_DTD_QUOTED:te++,COMMENT_STARTING:te++,COMMENT:te++,COMMENT_ENDING:te++,COMMENT_ENDED:te++,CDATA:te++,CDATA_ENDING:te++,CDATA_ENDING_2:te++,PROC_INST:te++,PROC_INST_BODY:te++,PROC_INST_ENDING:te++,OPEN_TAG:te++,OPEN_TAG_SLASH:te++,ATTRIB:te++,ATTRIB_NAME:te++,ATTRIB_NAME_SAW_WHITE:te++,ATTRIB_VALUE:te++,ATTRIB_VALUE_QUOTED:te++,ATTRIB_VALUE_CLOSED:te++,ATTRIB_VALUE_UNQUOTED:te++,ATTRIB_VALUE_ENTITY_Q:te++,ATTRIB_VALUE_ENTITY_U:te++,CLOSE_TAG:te++,CLOSE_TAG_SAW_WHITE:te++,SCRIPT:te++,SCRIPT_ENDING:te++},U.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},U.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(U.ENTITIES).forEach(function(K){var q=U.ENTITIES[K],ge="number"==typeof q?String.fromCharCode(q):q;U.ENTITIES[K]=ge}),U.STATE)U.STATE[U.STATE[Re]]=Re;function be(K,q,ge){K[q]&&K[q](ge)}function re(K,q,ge){K.textNode&&ve(K),be(K,q,ge)}function ve(K){K.textNode=Fe(K.opt,K.textNode),K.textNode&&be(K,"ontext",K.textNode),K.textNode=""}function Fe(K,q){return K.trim&&(q=q.trim()),K.normalize&&(q=q.replace(/\s+/g," ")),q}function Ze(K,q){return ve(K),K.trackPosition&&(q+="\nLine: "+K.line+"\nColumn: "+K.column+"\nChar: "+K.c),q=new Error(q),K.error=q,be(K,"onerror",q),K}function Ge(K){return K.sawRoot&&!K.closedRoot&&J(K,"Unclosed root tag"),K.state!==te.BEGIN&&K.state!==te.BEGIN_WHITESPACE&&K.state!==te.TEXT&&Ze(K,"Unexpected end"),ve(K),K.c="",K.closed=!0,be(K,"onend"),Y.call(K,K.strict,K.opt),K}function J(K,q){if("object"!=typeof K||!(K instanceof Y))throw new Error("bad call to strictFail");K.strict&&Ze(K,q)}function le(K){K.strict||(K.tagName=K.tagName[K.looseCase]());var q=K.tags[K.tags.length-1]||K,ge=K.tag={name:K.tagName,attributes:{}};K.opt.xmlns&&(ge.ns=q.ns),K.attribList.length=0,re(K,"onopentagstart",ge)}function _e(K,q){var ce=K.indexOf(":")<0?["",K]:K.split(":"),Ye=ce[0],_t=ce[1];return q&&"xmlns"===K&&(Ye="xmlns",_t=""),{prefix:Ye,local:_t}}function Me(K){if(K.strict||(K.attribName=K.attribName[K.looseCase]()),-1!==K.attribList.indexOf(K.attribName)||K.tag.attributes.hasOwnProperty(K.attribName))K.attribName=K.attribValue="";else{if(K.opt.xmlns){var q=_e(K.attribName,!0),ce=q.local;if("xmlns"===q.prefix)if("xml"===ce&&K.attribValue!==T)J(K,"xml: prefix must be bound to "+T+"\nActual: "+K.attribValue);else if("xmlns"===ce&&K.attribValue!==E)J(K,"xmlns: prefix must be bound to "+E+"\nActual: "+K.attribValue);else{var Ye=K.tag,_t=K.tags[K.tags.length-1]||K;Ye.ns===_t.ns&&(Ye.ns=Object.create(_t.ns)),Ye.ns[ce]=K.attribValue}K.attribList.push([K.attribName,K.attribValue])}else K.tag.attributes[K.attribName]=K.attribValue,re(K,"onattribute",{name:K.attribName,value:K.attribValue});K.attribName=K.attribValue=""}}function Ce(K,q){if(K.opt.xmlns){var ge=K.tag,ce=_e(K.tagName);ge.prefix=ce.prefix,ge.local=ce.local,ge.uri=ge.ns[ce.prefix]||"",ge.prefix&&!ge.uri&&(J(K,"Unbound namespace prefix: "+JSON.stringify(K.tagName)),ge.uri=ce.prefix),ge.ns&&(K.tags[K.tags.length-1]||K).ns!==ge.ns&&Object.keys(ge.ns).forEach(function(In){re(K,"onopennamespace",{prefix:In,uri:ge.ns[In]})});for(var _t=0,gt=K.attribList.length;_t",K.tagName="",void(K.state=te.SCRIPT);re(K,"onscript",K.script),K.script=""}var q=K.tags.length,ge=K.tagName;K.strict||(ge=ge[K.looseCase]());for(var ce=ge;q--&&K.tags[q].name!==ce;)J(K,"Unexpected close tag");if(q<0)return J(K,"Unmatched closing tag: "+K.tagName),K.textNode+="",void(K.state=te.TEXT);K.tagName=ge;for(var _t=K.tags.length;_t-- >q;){var gt=K.tag=K.tags.pop();K.tagName=K.tag.name,re(K,"onclosetag",K.tagName);var Ae={};for(var z in gt.ns)Ae[z]=gt.ns[z];K.opt.xmlns&>.ns!==(K.tags[K.tags.length-1]||K).ns&&Object.keys(gt.ns).forEach(function(H){re(K,"onclosenamespace",{prefix:H,uri:gt.ns[H]})})}0===q&&(K.closedRoot=!0),K.tagName=K.attribValue=K.attribName="",K.attribList.length=0,K.state=te.TEXT}function Se(K){var ce,q=K.entity,ge=q.toLowerCase(),Ye="";return K.ENTITIES[q]?K.ENTITIES[q]:K.ENTITIES[ge]?K.ENTITIES[ge]:("#"===(q=ge).charAt(0)&&("x"===q.charAt(1)?(q=q.slice(2),Ye=(ce=parseInt(q,16)).toString(16)):(q=q.slice(1),Ye=(ce=parseInt(q,10)).toString(10))),q=q.replace(/^0+/,""),isNaN(ce)||Ye.toLowerCase()!==q?(J(K,"Invalid character entity"),"&"+K.entity+";"):String.fromCodePoint(ce))}function ze(K,q){"<"===q?(K.state=te.OPEN_WAKA,K.startTagPosition=K.position):x(q)||(J(K,"Non-whitespace before first tag."),K.textNode=q,K.state=te.TEXT)}function Ke(K,q){var ge="";return q1114111||q(H)!==H)throw RangeError("Invalid code point: "+H);H<=65535?Ye.push(H):Ye.push(55296+((H-=65536)>>10),H%1024+56320),(Ae+1===z||Ye.length>ce)&&(L+=K.apply(null,Ye),Ye.length=0)}return L},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:ge,configurable:!0,writable:!0}):String.fromCodePoint=ge)}(void 0===pe?this.sax={}:pe)}).call(this)}).call(this,Q("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(Q,Ee,pe){(function(X,U){(function(){!function(F,Y){"use strict";if(!F.setImmediate){var M,B=1,w={},C=!1,R=F.document,Z=Object.getPrototypeOf&&Object.getPrototypeOf(F);Z=Z&&Z.setTimeout?Z:F,"[object process]"==={}.toString.call(F.process)?M=function(x){X.nextTick(function(){S(x)})}:function(){if(F.postMessage&&!F.importScripts){var x=!0,W=F.onmessage;return F.onmessage=function(){x=!1},F.postMessage("","*"),F.onmessage=W,x}}()?(x="setImmediate$"+Math.random()+"$",W=function(ne){ne.source===F&&"string"==typeof ne.data&&0===ne.data.indexOf(x)&&S(+ne.data.slice(x.length))},F.addEventListener?F.addEventListener("message",W,!1):F.attachEvent("onmessage",W),M=function(ne){F.postMessage(x+ne,"*")}):F.MessageChannel?function(){var x=new MessageChannel;x.port1.onmessage=function(W){S(W.data)},M=function(W){x.port2.postMessage(W)}}():R&&"onreadystatechange"in R.createElement("script")?function(){var x=R.documentElement;M=function(W){var ne=R.createElement("script");ne.onreadystatechange=function(){S(W),ne.onreadystatechange=null,x.removeChild(ne),ne=null},x.appendChild(ne)}}():M=function(x){setTimeout(S,0,x)},Z.setImmediate=function(x){"function"!=typeof x&&(x=new Function(""+x));for(var W=new Array(arguments.length-1),ne=0;ne=0&&(M._idleTimeoutId=setTimeout(function(){M._onTimeout&&M._onTimeout()},y))},pe.setImmediate="function"==typeof X?X:function(M){var y=C++,v=!(arguments.length<2)&&B.call(arguments,1);return w[y]=!0,F(function(){w[y]&&(v?M.apply(null,v):M.call(null),pe.clearImmediate(y))}),y},pe.clearImmediate="function"==typeof U?U:function(M){delete w[M]}}).call(this)}).call(this,Q("timers").setImmediate,Q("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(Q,Ee,pe){(function(X){(function(){function F(Y){try{if(!X.localStorage)return!1}catch(w){return!1}var B=X.localStorage[Y];return null!=B&&"true"===String(B).toLowerCase()}Ee.exports=function(Y,B){if(F("noDeprecation"))return Y;var w=!1;return function(){if(!w){if(F("throwDeprecation"))throw new Error(B);F("traceDeprecation")?console.trace(B):console.warn(B),w=!0}return Y.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(Q,Ee,pe){"use strict";Ee.exports=function(X){X.prototype[Symbol.iterator]=function*(){for(let U=this.head;U;U=U.next)yield U.value}}},{}],92:[function(Q,Ee,pe){"use strict";function X(w){var C=this;if(C instanceof X||(C=new X),C.tail=null,C.head=null,C.length=0,w&&"function"==typeof w.forEach)w.forEach(function(y){C.push(y)});else if(arguments.length>0)for(var R=0,M=arguments.length;R1)R=C;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");M=this.head.next,R=this.head.value}for(var y=0;null!==M;y++)R=w(R,M.value,y),M=M.next;return R},X.prototype.reduceReverse=function(w,C){var R,M=this.tail;if(arguments.length>1)R=C;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");M=this.tail.prev,R=this.tail.value}for(var y=this.length-1;null!==M;y--)R=w(R,M.value,y),M=M.prev;return R},X.prototype.toArray=function(){for(var w=new Array(this.length),C=0,R=this.head;null!==R;C++)w[C]=R.value,R=R.next;return w},X.prototype.toArrayReverse=function(){for(var w=new Array(this.length),C=0,R=this.tail;null!==R;C++)w[C]=R.value,R=R.prev;return w},X.prototype.slice=function(w,C){(C=C||this.length)<0&&(C+=this.length),(w=w||0)<0&&(w+=this.length);var R=new X;if(Cthis.length&&(C=this.length);for(var M=0,y=this.head;null!==y&&Mthis.length&&(C=this.length);for(var M=this.length,y=this.tail;null!==y&&M>C;M--)y=y.prev;for(;null!==y&&M>w;M--,y=y.prev)R.push(y.value);return R},X.prototype.splice=function(w,C,...R){w>this.length&&(w=this.length-1),w<0&&(w=this.length+w);for(var M=0,y=this.head;null!==y&&M{"use strict";Vt.exports=et,Vt.exports.default=et;var Xe=1e20;function et(Q,Ee,pe,X,U,F){this.fontSize=Q||24,this.buffer=void 0===Ee?3:Ee,this.cutoff=X||.25,this.fontFamily=U||"sans-serif",this.fontWeight=F||"normal",this.radius=pe||8;var Y=this.size=this.fontSize+2*this.buffer,B=Y+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=Y,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(B*B),this.gridInner=new Float64Array(B*B),this.f=new Float64Array(B),this.z=new Float64Array(B+1),this.v=new Uint16Array(B),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(Y/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function Ct(Q,Ee,pe,X,U,F){for(var Y=0;Y-1);F[++w]=B,Y[w]=C,Y[w+1]=Xe}for(B=0,w=0;B{Vt.exports=function(et,lt){var ee=lt.length;if(0!==ee){var Ct=et.length;et.length+=ee;for(var je=0;je{"use strict";var lt=(()=>{return(Ct=lt||(lt={})).typeOfFunction="function",Ct.boolTrue=!0,lt;var Ct})();function ee(Ct,je,Q){if(!Q||typeof Q.value!==lt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+je+"> is not a method!");return{configurable:lt.boolTrue,get:function(){var Ee=Q.value.bind(this);return Object.defineProperty(this,je,{value:Ee,configurable:lt.boolTrue,writable:lt.boolTrue}),Ee}}}Xe.ak=ee,Xe.ZP=ee},7266:(Vt,Xe,et)=>{Vt.exports={ResizeSensor:et(9835),ElementQueries:et(4845)}},4845:function(Vt,Xe,et){"use strict";var lt,ee,Ct;"undefined"!=typeof window&&window,ee=[et(9835)],void 0!==(Ct="function"==typeof(lt=function(je){var Q=function(){var pe,X={},U=[];function F(D){D||(D=document.documentElement);var P=window.getComputedStyle(D,null).fontSize;return parseFloat(P)||16}function B(D,P){var Z=P.split(/\d/),x=Z[Z.length-1];switch(P=parseFloat(P),x){case"px":return P;case"em":return P*F(D);case"rem":return P*F();case"vw":return P*document.documentElement.clientWidth/100;case"vh":return P*document.documentElement.clientHeight/100;case"vmin":case"vmax":var W=document.documentElement.clientWidth/100,ne=document.documentElement.clientHeight/100;return P*(0,Math["vmin"===x?"min":"max"])(W,ne);default:return P}}function w(D,P){this.element=D;var Z,x,W,ne,ue,se,te,Re,be=["min-width","min-height","max-width","max-height"];this.call=function(){for(Z in W=function(D){if(!D.getBoundingClientRect)return{width:D.offsetWidth,height:D.offsetHeight};var P=D.getBoundingClientRect();return{width:Math.round(P.width),height:Math.round(P.height)}}(this.element),se={},X[P])!X[P].hasOwnProperty(Z)||(ne=B(this.element,(x=X[P][Z]).value),ue="width"===x.property?W.width:W.height,te="","min"===x.mode&&ue>=ne&&(te+=x.value),"max"===x.mode&&ue<=ne&&(te+=x.value),se[Re=x.mode+"-"+x.property]||(se[Re]=""),te&&-1===(" "+se[Re]+" ").indexOf(" "+te+" ")&&(se[Re]+=" "+te));for(var re in be)!be.hasOwnProperty(re)||(se[be[re]]?this.element.setAttribute(be[re],se[be[re]].substr(1)):this.element.removeAttribute(be[re]))}}function C(D,P){D.elementQueriesSetupInformation||(D.elementQueriesSetupInformation=new w(D,P)),D.elementQueriesSensor||(D.elementQueriesSensor=new je(D,function(){D.elementQueriesSetupInformation.call()}))}function R(D,P,Z,x){if(void 0===X[D]){X[D]=[];var W=U.length;pe.innerHTML+="\n"+D+" {animation: 0.1s element-queries;}",pe.innerHTML+="\n"+D+" > .resize-sensor {min-width: "+W+"px;}",U.push(D)}X[D].push({mode:P,property:Z,value:x})}function M(D){var P;if(document.querySelectorAll&&(P=D?D.querySelectorAll.bind(D):document.querySelectorAll.bind(document)),!P&&"undefined"!=typeof $$&&(P=$$),!P&&"undefined"!=typeof jQuery&&(P=jQuery),!P)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return P}function v(D){var P=[],Z=[],x=[],W=0,ne=-1,ue=[];for(var se in D.children)if(D.children.hasOwnProperty(se)&&D.children[se].tagName&&"img"===D.children[se].tagName.toLowerCase()){P.push(D.children[se]);var te=D.children[se].getAttribute("min-width")||D.children[se].getAttribute("data-min-width"),Re=D.children[se].getAttribute("data-src")||D.children[se].getAttribute("url");x.push(Re),Z.push({minWidth:te}),te?D.children[se].style.display="none":(W=P.length-1,D.children[se].style.display="block")}function re(){var Fe,ve=!1;for(Fe in P)!P.hasOwnProperty(Fe)||Z[Fe].minWidth&&D.offsetWidth>Z[Fe].minWidth&&(ve=Fe);if(ve||(ve=W),ne!==ve)if(ue[ve])P[ne].style.display="none",P[ve].style.display="block",ne=ve;else{var Ze=new Image;Ze.onload=function(){P[ve].src=x[ve],P[ne].style.display="none",P[ve].style.display="block",ue[ve]=!0,ne=ve},Ze.src=x[ve]}else P[ve].src=x[ve]}ne=W,D.resizeSensorInstance=new je(D,re),re()}var S=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,T=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function E(D){var P,Z,x,W;for(D=D.replace(/'/g,'"');null!==(P=S.exec(D));)for(Z=P[1]+P[3],x=P[2];null!==(W=T.exec(x));)R(Z,W[1],W[2],W[3])}function O(D){var P="";if(D)if("string"==typeof D)(-1!==(D=D.toLowerCase()).indexOf("min-width")||-1!==D.indexOf("max-width"))&&E(D);else for(var Z=0,x=D.length;Z img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",pe.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(pe),$=!0);for(var P=0,Z=document.styleSheets.length;P{var lt=et(3910),ee=et(9369),Ct=et(322);function je(Y,B,w){if(!lt(Y))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!Y.hasNode(B))throw new Error('graphology-shortest-path: the "'+B+'" source node does not exist in the given graph.');if(!Y.hasNode(w))throw new Error('graphology-shortest-path: the "'+w+'" target node does not exist in the given graph.');if((B=""+B)==(w=""+w))return[B];var C=Y.inboundNeighbors.bind(Y),R=Y.outboundNeighbors.bind(Y),M={},y={};M[B]=null,y[w]=null;var S,T,E,O,$,D,P,Z,v=[B],b=[w],x=!1;e:for(;v.length&&b.length;)if(v.length<=b.length){for(S=v,v=[],$=0,P=S.length;${Vt.exports=function(et){return null!==et&&"object"==typeof et&&"function"==typeof et.addUndirectedEdgeWithKey&&"function"==typeof et.dropNode&&"boolean"==typeof et.multi}},698:function(Vt){Vt.exports=function(){"use strict";function Xe(ae){return(Xe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(me){return typeof me}:function(me){return me&&"function"==typeof Symbol&&me.constructor===Symbol&&me!==Symbol.prototype?"symbol":typeof me})(ae)}function et(ae,me){ae.prototype=Object.create(me.prototype),ae.prototype.constructor=ae,ee(ae,me)}function lt(ae){return(lt=Object.setPrototypeOf?Object.getPrototypeOf:function(me){return me.__proto__||Object.getPrototypeOf(me)})(ae)}function ee(ae,me){return(ee=Object.setPrototypeOf||function(de,N){return de.__proto__=N,de})(ae,me)}function Ct(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(ae){return!1}}function je(ae,me,de){return(je=Ct()?Reflect.construct:function(N,j,ie){var De=[null];De.push.apply(De,j);var He=new(Function.bind.apply(N,De));return ie&&ee(He,ie.prototype),He}).apply(null,arguments)}function Q(ae){var me="function"==typeof Map?new Map:void 0;return(Q=function(de){if(null===de||-1===Function.toString.call(de).indexOf("[native code]"))return de;if("function"!=typeof de)throw new TypeError("Super expression must either be null or a function");if(void 0!==me){if(me.has(de))return me.get(de);me.set(de,j)}function j(){return je(de,arguments,lt(this).constructor)}return j.prototype=Object.create(de.prototype,{constructor:{value:j,enumerable:!1,writable:!0,configurable:!0}}),ee(j,de)})(ae)}function Ee(ae){if(void 0===ae)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ae}var pe=function(){for(var ae=arguments[0],me=1,de=arguments.length;me0&&De.length>j&&!De.warned){De.warned=!0;var st=new Error("Possible EventEmitter memory leak detected. "+De.length+" "+String(me)+" listeners added. Use emitter.setMaxListeners() to increase limit");st.name="MaxListenersExceededWarning",st.emitter=ae,st.type=me,st.count=De.length,console&&console.warn&&console.warn(st)}return ae}function D(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function P(ae,me,de){var N={fired:!1,wrapFn:void 0,target:ae,type:me,listener:de},j=D.bind(N);return j.listener=de,N.wrapFn=j,j}function Z(ae,me,de){var N=ae._events;if(void 0===N)return[];var j=N[me];return void 0===j?[]:"function"==typeof j?de?[j.listener||j]:[j]:de?function(ie){for(var De=new Array(ie.length),He=0;He0&&(ie=me[0]),ie instanceof Error)throw ie;var De=new Error("Unhandled error."+(ie?" ("+ie.message+")":""));throw De.context=ie,De}var He=j[ae];if(void 0===He)return!1;if("function"==typeof He)v(He,this,me);else{var st=He.length,Nt=W(He,st);for(de=0;de=0;ie--)if(de[ie]===me||de[ie].listener===me){De=de[ie].listener,j=ie;break}if(j<0)return this;0===j?de.shift():function(He,st){for(;st+1=0;N--)this.removeListener(ae,me[N]);return this},S.prototype.listeners=function(ae){return Z(this,ae,!0)},S.prototype.rawListeners=function(ae){return Z(this,ae,!1)},S.listenerCount=function(ae,me){return"function"==typeof ae.listenerCount?ae.listenerCount(me):x.call(ae,me)},S.prototype.listenerCount=x,S.prototype.eventNames=function(){return this._eventsCount>0?R(this._events):[]},ue.prototype.next=function(){if(this.done)return{done:!0};var ae=this._next();return ae.done&&(this.done=!0),ae},"undefined"!=typeof Symbol&&(ue.prototype[Symbol.iterator]=function(){return this}),ue.of=function(){var ae=arguments,me=ae.length,de=0;return new ue(function(){return de>=me?{done:!0}:{done:!1,value:ae[de++]}})},ue.empty=function(){var ae=new ue(null);return ae.done=!0,ae},ue.is=function(ae){return ae instanceof ue||"object"==typeof ae&&null!==ae&&"function"==typeof ae.next};var se=ue,te=function(ae,me){for(var de,N=arguments.length>1?me:1/0,j=N!==1/0?new Array(N):[],ie=0;;){if(ie===N)return j;if((de=ae.next()).done)return ie!==me?j.slice(0,ie):j;j[ie++]=de.value}},Re=function(ae){function me(de,N){var j;return(j=ae.call(this)||this).name="GraphError",j.message=de||"",j.data=N||{},j}return et(me,ae),me}(Q(Error)),be=function(ae){function me(de,N){var j;return(j=ae.call(this,de,N)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Ee(j),me.prototype.constructor),j}return et(me,ae),me}(Re),re=function(ae){function me(de,N){var j;return(j=ae.call(this,de,N)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Ee(j),me.prototype.constructor),j}return et(me,ae),me}(Re),ve=function(ae){function me(de,N){var j;return(j=ae.call(this,de,N)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Ee(j),me.prototype.constructor),j}return et(me,ae),me}(Re);function Fe(ae,me){this.key=ae,this.attributes=me,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function Ze(ae,me){this.key=ae,this.attributes=me,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function Ge(ae,me){this.key=ae,this.attributes=me,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function J(ae,me,de,N,j,ie){this.key=me,this.attributes=ie,this.undirected=ae,this.source=N,this.target=j,this.generatedKey=de}function le(ae,me,de,N,j,ie,De){var He,st,Nt="out",tt="in";if(me&&(Nt=tt="undirected"),ae.multi){if(void 0===(st=(He=ie[Nt])[j])&&(st=new Set,He[j]=st),st.add(de),N===j&&me)return;void 0===(He=De[tt])[N]&&(He[N]=st)}else{if(ie[Nt][j]=de,N===j&&me)return;De[tt][N]=de}}function _e(ae,me,de){var N=ae.multi,j=de.source,ie=de.target,De=j.key,He=ie.key,st=j[me?"undirected":"out"],Nt=me?"undirected":"in";if(He in st)if(N){var tt=st[He];1===tt.size?(delete st[He],delete ie[Nt][De]):tt.delete(de)}else delete st[He];N||delete ie[Nt][De]}Ze.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},Ge.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var Me=[{name:function(ae){return"get".concat(ae,"Attribute")},attacher:function(ae,me,de){ae.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==de&&de!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var De=""+N,He=""+j;if(j=arguments[2],!(ie=X(this,De,He,de)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(De,'" - "').concat(He,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==de&&ie.undirected!==("undirected"===de))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(de," edge in the graph."));return ie.attributes[j]}}},{name:function(ae){return"get".concat(ae,"Attributes")},attacher:function(ae,me,de){ae.prototype[me]=function(N){var j;if("mixed"!==this.type&&"mixed"!==de&&de!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var ie=""+N,De=""+arguments[1];if(!(j=X(this,ie,De,de)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(ie,'" - "').concat(De,'").'))}else if(!(j=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==de&&j.undirected!==("undirected"===de))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(de," edge in the graph."));return j.attributes}}},{name:function(ae){return"has".concat(ae,"Attribute")},attacher:function(ae,me,de){ae.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==de&&de!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var De=""+N,He=""+j;if(j=arguments[2],!(ie=X(this,De,He,de)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(De,'" - "').concat(He,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==de&&ie.undirected!==("undirected"===de))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(de," edge in the graph."));return ie.attributes.hasOwnProperty(j)}}},{name:function(ae){return"set".concat(ae,"Attribute")},attacher:function(ae,me,de){ae.prototype[me]=function(N,j,ie){var De;if("mixed"!==this.type&&"mixed"!==de&&de!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var He=""+N,st=""+j;if(j=arguments[2],ie=arguments[3],!(De=X(this,He,st,de)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(He,'" - "').concat(st,'").'))}else if(!(De=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==de&&De.undirected!==("undirected"===de))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(de," edge in the graph."));return De.attributes[j]=ie,this.emit("edgeAttributesUpdated",{key:De.key,type:"set",attributes:De.attributes,name:j}),this}}},{name:function(ae){return"update".concat(ae,"Attribute")},attacher:function(ae,me,de){ae.prototype[me]=function(N,j,ie){var De;if("mixed"!==this.type&&"mixed"!==de&&de!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var He=""+N,st=""+j;if(j=arguments[2],ie=arguments[3],!(De=X(this,He,st,de)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(He,'" - "').concat(st,'").'))}else if(!(De=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("function"!=typeof ie)throw new be("Graph.".concat(me,": updater should be a function."));if("mixed"!==de&&De.undirected!==("undirected"===de))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(de," edge in the graph."));return De.attributes[j]=ie(De.attributes[j]),this.emit("edgeAttributesUpdated",{key:De.key,type:"set",attributes:De.attributes,name:j}),this}}},{name:function(ae){return"remove".concat(ae,"Attribute")},attacher:function(ae,me,de){ae.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==de&&de!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var De=""+N,He=""+j;if(j=arguments[2],!(ie=X(this,De,He,de)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(De,'" - "').concat(He,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==de&&ie.undirected!==("undirected"===de))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(de," edge in the graph."));return delete ie.attributes[j],this.emit("edgeAttributesUpdated",{key:ie.key,type:"remove",attributes:ie.attributes,name:j}),this}}},{name:function(ae){return"replace".concat(ae,"Attributes")},attacher:function(ae,me,de){ae.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==de&&de!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var De=""+N,He=""+j;if(j=arguments[2],!(ie=X(this,De,He,de)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(De,'" - "').concat(He,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if(!F(j))throw new be("Graph.".concat(me,": provided attributes are not a plain object."));if("mixed"!==de&&ie.undirected!==("undirected"===de))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(de," edge in the graph."));return ie.attributes=j,this.emit("edgeAttributesUpdated",{key:ie.key,type:"replace",attributes:ie.attributes}),this}}},{name:function(ae){return"merge".concat(ae,"Attributes")},attacher:function(ae,me,de){ae.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==de&&de!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var De=""+N,He=""+j;if(j=arguments[2],!(ie=X(this,De,He,de)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(De,'" - "').concat(He,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if(!F(j))throw new be("Graph.".concat(me,": provided attributes are not a plain object."));if("mixed"!==de&&ie.undirected!==("undirected"===de))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(de," edge in the graph."));return pe(ie.attributes,j),this.emit("edgeAttributesUpdated",{key:ie.key,type:"merge",attributes:ie.attributes,data:j}),this}}}],Ce=se,$e=function(){var ae,me=arguments,de=-1;return new Ce(function N(){if(!ae){if(++de>=me.length)return{done:!0};ae=me[de]}var j=ae.next();return j.done?(ae=null,N()):j})},Se=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function ze(ae,me){for(var de in me)ae.push(me[de].key)}function Ke(ae,me){for(var de in me)me[de].forEach(function(N){return ae.push(N.key)})}function Ve(ae,me,de){for(var N in ae)if(N!==de){var j=ae[N];me(j.key,j.attributes,j.source.key,j.target.key,j.source.attributes,j.target.attributes,j.undirected,j.generatedKey)}}function K(ae,me,de){for(var N in ae)N!==de&&ae[N].forEach(function(j){return me(j.key,j.attributes,j.source.key,j.target.key,j.source.attributes,j.target.attributes,j.undirected,j.generatedKey)})}function q(ae,me,de){for(var N in ae)if(N!==de){var j=ae[N];if(me(j.key,j.attributes,j.source.key,j.target.key,j.source.attributes,j.target.attributes,j.undirected,j.generatedKey))return!0}return!1}function ge(ae,me,de){var N,j,ie,De,He;for(var st in ae)if(st!==de)for(N=ae[st].values();!0!==(j=N.next()).done;)if(De=(ie=j.value).source,me(ie.key,ie.attributes,De.key,(He=ie.target).key,De.attributes,He.attributes,ie.undirected,ie.generatedKey))return!0;return!1}function ce(ae,me){var de=Object.keys(ae),N=de.length,j=null,ie=0;return new se(function De(){var He;if(j){var st=j.next();if(st.done)return j=null,ie++,De();He=st.value}else{if(ie>=N)return{done:!0};var Nt=de[ie];if(Nt===me)return ie++,De();if((He=ae[Nt])instanceof Set)return j=He.values(),De();ie++}return{done:!1,value:[He.key,He.attributes,He.source.key,He.target.key,He.source.attributes,He.target.attributes]}})}function Ye(ae,me,de){var N=me[de];N&&ae.push(N.key)}function _t(ae,me,de){var N=me[de];N&&N.forEach(function(j){return ae.push(j.key)})}function gt(ae,me,de){var N=ae[me];if(N){var j=N.source,ie=N.target;de(N.key,N.attributes,j.key,ie.key,j.attributes,ie.attributes,N.undirected,N.generatedKey)}}function Ae(ae,me,de){var N=ae[me];N&&N.forEach(function(j){return de(j.key,j.attributes,j.source.key,j.target.key,j.source.attributes,j.target.attributes,j.undirected,j.generatedKey)})}function z(ae,me,de){var N=ae[me];if(N){var j=N.source,ie=N.target;return de(N.key,N.attributes,j.key,ie.key,j.attributes,ie.attributes,N.undirected,N.generatedKey)}}function L(ae,me,de){var N=ae[me];if(N){for(var j,ie,De=N.values();!0!==(j=De.next()).done;)if(de((ie=j.value).key,ie.attributes,ie.source.key,ie.target.key,ie.source.attributes,ie.target.attributes,ie.undirected,ie.generatedKey))return!0;return!1}}function H(ae,me){var de=ae[me];if(de instanceof Set){var N=de.values();return new se(function(){var j=N.next();if(j.done)return j;var ie=j.value;return{done:!1,value:[ie.key,ie.attributes,ie.source.key,ie.target.key,ie.source.attributes,ie.target.attributes]}})}return se.of([de.key,de.attributes,de.source.key,de.target.key,de.source.attributes,de.target.attributes])}function Le(ae,me){if(0===ae.size)return[];if("mixed"===me||me===ae.type)return"function"==typeof Array.from?Array.from(ae._edges.keys()):te(ae._edges.keys(),ae._edges.size);for(var de,N,ie=new Array("undirected"===me?ae.undirectedSize:ae.directedSize),De="undirected"===me,He=ae._edges.values(),st=0;!0!==(de=He.next()).done;)(N=de.value).undirected===De&&(ie[st++]=N.key);return ie}function it(ae,me,de){if(0!==ae.size)for(var N,j,ie="mixed"!==me&&me!==ae.type,De="undirected"===me,He=ae._edges.values();!0!==(N=He.next()).done;)if(j=N.value,!ie||j.undirected===De){var qt=j.source,St=j.target;de(j.key,j.attributes,qt.key,St.key,qt.attributes,St.attributes,j.undirected,j.generatedKey)}}function At(ae,me,de){if(0!==ae.size)for(var N,j,ie="mixed"!==me&&me!==ae.type,De="undirected"===me,He=ae._edges.values();!0!==(N=He.next()).done;)if(j=N.value,!ie||j.undirected===De){var qt=j.source,St=j.target;if(de(j.key,j.attributes,qt.key,St.key,qt.attributes,St.attributes,j.undirected,j.generatedKey))break}}function kt(ae,me){if(0===ae.size)return se.empty();var de="mixed"!==me&&me!==ae.type,N="undirected"===me,j=ae._edges.values();return new se(function(){for(var ie,De;;){if((ie=j.next()).done)return ie;if(De=ie.value,!de||De.undirected===N)break}return{value:[De.key,De.attributes,De.source.key,De.target.key,De.source.attributes,De.target.attributes],done:!1}})}function In(ae,me,de,N){var j=[],ie=ae?Ke:ze;return"undirected"!==me&&("out"!==de&&ie(j,N.in),"in"!==de&&ie(j,N.out),!de&&N.directedSelfLoops>0&&j.splice(j.lastIndexOf(N.key),1)),"directed"!==me&&ie(j,N.undirected),j}function Pn(ae,me,de,N,j){var ie=ae?K:Ve;"undirected"!==me&&("out"!==de&&ie(N.in,j),"in"!==de&&ie(N.out,j,de?null:N.key)),"directed"!==me&&ie(N.undirected,j)}function Yn(ae,me,de,N,j){var ie=ae?ge:q;"undirected"!==me&&("out"!==de&&ie(N.in,j)||"in"!==de&&ie(N.out,j,de?null:N.key))||"directed"===me||ie(N.undirected,j)}function Mi(ae,me,de){var N=se.empty();return"undirected"!==ae&&("out"!==me&&void 0!==de.in&&(N=$e(N,ce(de.in))),"in"!==me&&void 0!==de.out&&(N=$e(N,ce(de.out,me?null:de.key)))),"directed"!==ae&&void 0!==de.undirected&&(N=$e(N,ce(de.undirected))),N}function xi(ae,me,de,N,j){var ie=me?_t:Ye,De=[];return"undirected"!==ae&&(void 0!==N.in&&"out"!==de&&ie(De,N.in,j),void 0!==N.out&&"in"!==de&&ie(De,N.out,j),!de&&N.directedSelfLoops>0&&De.splice(De.lastIndexOf(N.key),1)),"directed"!==ae&&void 0!==N.undirected&&ie(De,N.undirected,j),De}function Xr(ae,me,de,N,j,ie){var De=me?Ae:gt;"undirected"!==ae&&(void 0!==N.in&&"out"!==de&&De(N.in,j,ie),N.key!==j&&void 0!==N.out&&"in"!==de&&De(N.out,j,ie)),"directed"!==ae&&void 0!==N.undirected&&De(N.undirected,j,ie)}function Ls(ae,me,de,N,j,ie){var De=me?L:z;"undirected"!==ae&&(void 0!==N.in&&"out"!==de&&De(N.in,j,ie)||N.key!==j&&void 0!==N.out&&"in"!==de&&De(N.out,j,ie,de?null:N.key))||"directed"===ae||void 0===N.undirected||De(N.undirected,j,ie)}function fs(ae,me,de,N){var j=se.empty();return"undirected"!==ae&&(void 0!==de.in&&"out"!==me&&N in de.in&&(j=$e(j,H(de.in,N))),void 0!==de.out&&"in"!==me&&N in de.out&&(j=$e(j,H(de.out,N)))),"directed"!==ae&&void 0!==de.undirected&&N in de.undirected&&(j=$e(j,H(de.undirected,N))),j}var Bs=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Kr(ae,me){if(void 0!==me)for(var de in me)ae.add(de)}function xa(ae,me,de){if("mixed"!==ae){if("undirected"===ae)return Object.keys(de.undirected);if("string"==typeof me)return Object.keys(de[me])}var N=new Set;return"undirected"!==ae&&("out"!==me&&Kr(N,de.in),"in"!==me&&Kr(N,de.out)),"directed"!==ae&&Kr(N,de.undirected),te(N.values(),N.size)}function kl(ae,me,de){for(var N in me){var j=me[N];j instanceof Set&&(j=j.values().next().value);var ie=j.source,He=ie===ae?j.target:ie;de(He.key,He.attributes)}}function Sa(ae,me,de,N){for(var j in de){var ie=de[j];ie instanceof Set&&(ie=ie.values().next().value);var De=ie.source,st=De===me?ie.target:De;ae.has(st.key)||(ae.add(st.key),N(st.key,st.attributes))}}function ws(ae,me,de){for(var N in me){var j=me[N];j instanceof Set&&(j=j.values().next().value);var ie=j.source,He=ie===ae?j.target:ie;if(de(He.key,He.attributes))return!0}return!1}function en(ae,me,de,N){for(var j in de){var ie=de[j];ie instanceof Set&&(ie=ie.values().next().value);var De=ie.source,st=De===me?ie.target:De;if(!ae.has(st.key)&&(ae.add(st.key),N(st.key,st.attributes)))return!0}return!1}function nl(ae,me){var de=Object.keys(me),N=de.length,j=0;return new se(function(){if(j>=N)return{done:!0};var ie=me[de[j++]];ie instanceof Set&&(ie=ie.values().next().value);var De=ie.source,st=De===ae?ie.target:De;return{done:!1,value:[st.key,st.attributes]}})}function ot(ae,me,de){var N=Object.keys(de),j=N.length,ie=0;return new se(function De(){if(ie>=j)return{done:!0};var He=de[N[ie++]];He instanceof Set&&(He=He.values().next().value);var st=He.source,tt=st===me?He.target:st;return ae.has(tt.key)?De():(ae.add(tt.key),{done:!1,value:[tt.key,tt.attributes]})})}function ut(ae,me,de,N,j){var ie=ae._nodes.get(N);if("undirected"!==me){if("out"!==de&&void 0!==ie.in)for(var De in ie.in)if(De===j)return!0;if("in"!==de&&void 0!==ie.out)for(var He in ie.out)if(He===j)return!0}if("directed"!==me&&void 0!==ie.undirected)for(var st in ie.undirected)if(st===j)return!0;return!1}function We(ae,me,de){for(var N,j,ie,De,He,st,Nt,tt=me._nodes.values(),qt=me.type;!0!==(N=tt.next()).done;){if(j=N.value,"undirected"!==qt)for(ie in De=j.out)if(st=(He=De[ie]).target,Nt=de(j.key,st.key,j.attributes,st.attributes,He.key,He.attributes,He.undirected,He.generatedKey),ae&&Nt)return;if("directed"!==qt)for(ie in De=j.undirected)if((st=(He=De[ie]).target).key!==ie&&(st=He.source),Nt=de(j.key,st.key,j.attributes,st.attributes,He.key,He.attributes,He.undirected,He.generatedKey),ae&&Nt)return}}function ht(ae,me,de){for(var N,j,ie,De,He,st,Nt,tt,qt,St=me._nodes.values(),vn=me.type;!0!==(N=St.next()).done;){if(j=N.value,"undirected"!==vn)for(ie in st=j.out)for(De=st[ie].values();!0!==(He=De.next()).done;)if(tt=(Nt=He.value).target,qt=de(j.key,tt.key,j.attributes,tt.attributes,Nt.key,Nt.attributes,Nt.undirected,Nt.generatedKey),ae&&qt)return;if("directed"!==vn)for(ie in st=j.undirected)for(De=st[ie].values();!0!==(He=De.next()).done;)if((tt=(Nt=He.value).target).key!==ie&&(tt=Nt.source),qt=de(j.key,tt.key,j.attributes,tt.attributes,Nt.key,Nt.attributes,Nt.undirected,Nt.generatedKey),ae&&qt)return}}function rt(ae,me){var de={key:ae};return Y(me.attributes)||(de.attributes=pe({},me.attributes)),de}function Dt(ae,me){var de={source:me.source.key,target:me.target.key};return me.generatedKey||(de.key=ae),Y(me.attributes)||(de.attributes=pe({},me.attributes)),me.undirected&&(de.undirected=!0),de}function It(ae){return F(ae)?"key"in ae?!("attributes"in ae)||F(ae.attributes)&&null!==ae.attributes?null:"invalid-attributes":"no-key":"not-object"}function Ot(ae){return F(ae)?"source"in ae?"target"in ae?!("attributes"in ae)||F(ae.attributes)&&null!==ae.attributes?"undirected"in ae&&"boolean"!=typeof ae.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var Qt=new Set(["directed","undirected","mixed"]),zn=new Set(["domain","_events","_eventsCount","_maxListeners"]),ci={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Rn(ae,me,de){var N=new ae.NodeDataClass(me,de);return ae._nodes.set(me,N),ae.emit("nodeAdded",{key:me,attributes:de}),N}function bn(ae,me,de,N,j,ie,De,He){if(!N&&"undirected"===ae.type)throw new ve("Graph.".concat(me,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(N&&"directed"===ae.type)throw new ve("Graph.".concat(me,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(He&&!F(He))throw new be("Graph.".concat(me,': invalid attributes. Expecting an object but got "').concat(He,'"'));if(ie=""+ie,De=""+De,He=He||{},!ae.allowSelfLoops&&ie===De)throw new ve("Graph.".concat(me,': source & target are the same ("').concat(ie,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var st=ae._nodes.get(ie),Nt=ae._nodes.get(De);if(!st)throw new re("Graph.".concat(me,': source node "').concat(ie,'" not found.'));if(!Nt)throw new re("Graph.".concat(me,': target node "').concat(De,'" not found.'));var tt={key:null,undirected:N,source:ie,target:De,attributes:He};if(de&&(j=ae._edgeKeyGenerator(tt)),ae._edges.has(j=""+j))throw new ve("Graph.".concat(me,': the "').concat(j,'" edge already exists in the graph.'));if(!ae.multi&&(N?void 0!==st.undirected[De]:void 0!==st.out[De]))throw new ve("Graph.".concat(me,': an edge linking "').concat(ie,'" to "').concat(De,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var qt=new J(N,j,de,st,Nt,He);return ae._edges.set(j,qt),ie===De?N?(st.undirectedSelfLoops++,ae._undirectedSelfLoopCount++):(st.directedSelfLoops++,ae._directedSelfLoopCount++):N?(st.undirectedDegree++,Nt.undirectedDegree++):(st.outDegree++,Nt.inDegree++),le(ae,N,qt,ie,De,st,Nt),N?ae._undirectedSize++:ae._directedSize++,tt.key=j,ae.emit("edgeAdded",tt),j}function Xn(ae,me,de,N,j,ie,De,He,st){if(!N&&"undirected"===ae.type)throw new ve("Graph.".concat(me,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(N&&"directed"===ae.type)throw new ve("Graph.".concat(me,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(He)if(st){if("function"!=typeof He)throw new be("Graph.".concat(me,': invalid updater function. Expecting a function but got "').concat(He,'"'))}else if(!F(He))throw new be("Graph.".concat(me,': invalid attributes. Expecting an object but got "').concat(He,'"'));var Nt;if(ie=""+ie,De=""+De,st&&(Nt=He,He=void 0),!ae.allowSelfLoops&&ie===De)throw new ve("Graph.".concat(me,': source & target are the same ("').concat(ie,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var tt,qt,St=ae._nodes.get(ie),vn=ae._nodes.get(De);if(!de&&(tt=ae._edges.get(j))){if(tt.source.key!==ie||tt.target.key!==De||N&&(tt.source.key!==De||tt.target.key!==ie))throw new ve("Graph.".concat(me,': inconsistency detected when attempting to merge the "').concat(j,'" edge with "').concat(ie,'" source & "').concat(De,'" target vs. ("').concat(tt.source.key,'", "').concat(tt.target.key,'").'));qt=tt}if(qt||ae.multi||!St||(qt=N?St.undirected[De]:St.out[De]),qt)return(st?Nt:He)?(st?(qt.attributes=Nt(qt.attributes),ae.emit("edgeAttributesUpdated",{type:"replace",key:qt.key,attributes:qt.attributes})):(pe(qt.attributes,He),ae.emit("edgeAttributesUpdated",{type:"merge",key:qt.key,attributes:qt.attributes,data:He})),qt.key):qt.key;He=He||{},st&&Nt&&(He=Nt(He));var Zr={key:null,undirected:N,source:ie,target:De,attributes:He};if(de&&(j=ae._edgeKeyGenerator(Zr)),ae._edges.has(j=""+j))throw new ve("Graph.".concat(me,': the "').concat(j,'" edge already exists in the graph.'));return St||(St=Rn(ae,ie,{}),ie===De&&(vn=St)),vn||(vn=Rn(ae,De,{})),tt=new J(N,j,de,St,vn,He),ae._edges.set(j,tt),ie===De?N?(St.undirectedSelfLoops++,ae._undirectedSelfLoopCount++):(St.directedSelfLoops++,ae._directedSelfLoopCount++):N?(St.undirectedDegree++,vn.undirectedDegree++):(St.outDegree++,vn.inDegree++),le(ae,N,tt,ie,De,St,vn),N?ae._undirectedSize++:ae._directedSize++,Zr.key=j,ae.emit("edgeAdded",Zr),j}var ae,Cn=function(ae){function me(N){var j;if(j=ae.call(this)||this,(N=pe({},ci,N)).edgeKeyGenerator&&"function"!=typeof N.edgeKeyGenerator)throw new be("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(N.edgeKeyGenerator,'".'));if("boolean"!=typeof N.multi)throw new be("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(N.multi,'".'));if(!Qt.has(N.type))throw new be('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(N.type,'".'));if("boolean"!=typeof N.allowSelfLoops)throw new be("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(N.allowSelfLoops,'".'));var ie,De="mixed"===N.type?Fe:"directed"===N.type?Ze:Ge;return B(Ee(j),"NodeDataClass",De),B(Ee(j),"_attributes",{}),B(Ee(j),"_nodes",new Map),B(Ee(j),"_edges",new Map),B(Ee(j),"_directedSize",0),B(Ee(j),"_undirectedSize",0),B(Ee(j),"_directedSelfLoopCount",0),B(Ee(j),"_undirectedSelfLoopCount",0),B(Ee(j),"_edgeKeyGenerator",N.edgeKeyGenerator||(ie=0,function(){return ie++})),B(Ee(j),"_options",N),zn.forEach(function(He){return B(Ee(j),He,j[He])}),w(Ee(j),"order",function(){return j._nodes.size}),w(Ee(j),"size",function(){return j._edges.size}),w(Ee(j),"directedSize",function(){return j._directedSize}),w(Ee(j),"undirectedSize",function(){return j._undirectedSize}),w(Ee(j),"selfLoopCount",function(){return j._directedSelfLoopCount+j._undirectedSelfLoopCount}),w(Ee(j),"directedSelfLoopCount",function(){return j._directedSelfLoopCount}),w(Ee(j),"undirectedSelfLoopCount",function(){return j._undirectedSelfLoopCount}),w(Ee(j),"multi",j._options.multi),w(Ee(j),"type",j._options.type),w(Ee(j),"allowSelfLoops",j._options.allowSelfLoops),w(Ee(j),"implementation",function(){return"graphology"}),j}et(me,ae);var de=me.prototype;return de.hasNode=function(N){return this._nodes.has(""+N)},de.hasDirectedEdge=function(N,j){if("undirected"===this.type)return!1;if(1===arguments.length){var De=this._edges.get(""+N);return!!De&&!De.undirected}if(2===arguments.length){j=""+j;var He=this._nodes.get(N=""+N);if(!He)return!1;var st=He.out[j];return!(!st||this.multi&&!st.size)}throw new be("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},de.hasUndirectedEdge=function(N,j){if("directed"===this.type)return!1;if(1===arguments.length){var De=this._edges.get(""+N);return!!De&&De.undirected}if(2===arguments.length){j=""+j;var He=this._nodes.get(N=""+N);if(!He)return!1;var st=He.undirected[j];return!(!st||this.multi&&!st.size)}throw new be("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},de.hasEdge=function(N,j){if(1===arguments.length)return this._edges.has(""+N);if(2===arguments.length){j=""+j;var De=this._nodes.get(N=""+N);if(!De)return!1;var He=void 0!==De.out&&De.out[j];return He||(He=void 0!==De.undirected&&De.undirected[j]),!(!He||this.multi&&!He.size)}throw new be("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},de.directedEdge=function(N,j){if("undirected"!==this.type){if(N=""+N,j=""+j,this.multi)throw new ve("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var ie=this._nodes.get(N);if(!ie)throw new re('Graph.directedEdge: could not find the "'.concat(N,'" source node in the graph.'));if(!this._nodes.has(j))throw new re('Graph.directedEdge: could not find the "'.concat(j,'" target node in the graph.'));var De=ie.out&&ie.out[j]||void 0;return De?De.key:void 0}},de.undirectedEdge=function(N,j){if("directed"!==this.type){if(N=""+N,j=""+j,this.multi)throw new ve("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var ie=this._nodes.get(N);if(!ie)throw new re('Graph.undirectedEdge: could not find the "'.concat(N,'" source node in the graph.'));if(!this._nodes.has(j))throw new re('Graph.undirectedEdge: could not find the "'.concat(j,'" target node in the graph.'));var De=ie.undirected&&ie.undirected[j]||void 0;return De?De.key:void 0}},de.edge=function(N,j){if(this.multi)throw new ve("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");j=""+j;var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.edge: could not find the "'.concat(N,'" source node in the graph.'));if(!this._nodes.has(j))throw new re('Graph.edge: could not find the "'.concat(j,'" target node in the graph.'));var De=ie.out&&ie.out[j]||ie.undirected&&ie.undirected[j]||void 0;if(De)return De.key},de.inDegree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new be('Graph.inDegree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.inDegree: could not find the "'.concat(N,'" node in the graph.'));return"undirected"===this.type?0:ie.inDegree+(j?ie.directedSelfLoops:0)},de.outDegree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new be('Graph.outDegree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.outDegree: could not find the "'.concat(N,'" node in the graph.'));return"undirected"===this.type?0:ie.outDegree+(j?ie.directedSelfLoops:0)},de.directedDegree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new be('Graph.directedDegree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.directedDegree: could not find the "'.concat(N,'" node in the graph.'));if("undirected"===this.type)return 0;var De=j?ie.directedSelfLoops:0;return ie.inDegree+De+(ie.outDegree+De)},de.undirectedDegree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new be('Graph.undirectedDegree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.undirectedDegree: could not find the "'.concat(N,'" node in the graph.'));return"directed"===this.type?0:ie.undirectedDegree+2*(j?ie.undirectedSelfLoops:0)},de.degree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new be('Graph.degree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.degree: could not find the "'.concat(N,'" node in the graph.'));var De=0,He=0;return"directed"!==this.type&&(j&&(He=ie.undirectedSelfLoops),De+=ie.undirectedDegree+2*He),"undirected"!==this.type&&(j&&(He=ie.directedSelfLoops),De+=ie.inDegree+ie.outDegree+2*He),De},de.source=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.source: could not find the "'.concat(N,'" edge in the graph.'));return j.source.key},de.target=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.target: could not find the "'.concat(N,'" edge in the graph.'));return j.target.key},de.extremities=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.extremities: could not find the "'.concat(N,'" edge in the graph.'));return[j.source.key,j.target.key]},de.opposite=function(N,j){N=""+N;var ie=this._edges.get(j=""+j);if(!ie)throw new re('Graph.opposite: could not find the "'.concat(j,'" edge in the graph.'));var De=ie.source.key,He=ie.target.key;if(N!==De&&N!==He)throw new re('Graph.opposite: the "'.concat(N,'" node is not attached to the "').concat(j,'" edge (').concat(De,", ").concat(He,")."));return N===De?He:De},de.hasExtremity=function(N,j){j=""+j;var ie=this._edges.get(N=""+N);if(!ie)throw new re('Graph.hasExtremity: could not find the "'.concat(N,'" edge in the graph.'));return ie.source.key===j||ie.target.key===j},de.isUndirected=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.isUndirected: could not find the "'.concat(N,'" edge in the graph.'));return j.undirected},de.isDirected=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.isDirected: could not find the "'.concat(N,'" edge in the graph.'));return!j.undirected},de.isSelfLoop=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.isSelfLoop: could not find the "'.concat(N,'" edge in the graph.'));return j.source===j.target},de.hasGeneratedKey=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.hasGeneratedKey: could not find the "'.concat(N,'" edge in the graph.'));return j.generatedKey},de.addNode=function(N,j){return function(ie,De,He){if(He&&!F(He))throw new be('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(He,'"'));if(He=He||{},ie._nodes.has(De=""+De))throw new ve('Graph.addNode: the "'.concat(De,'" node already exist in the graph.'));var st=new ie.NodeDataClass(De,He);return ie._nodes.set(De,st),ie.emit("nodeAdded",{key:De,attributes:He}),st}(this,N,j).key},de.mergeNode=function(N,j){if(j&&!F(j))throw new be('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(j,'"'));j=j||{};var ie=this._nodes.get(N=""+N);return ie?(j&&(pe(ie.attributes,j),this.emit("nodeAttributesUpdated",{type:"merge",key:N,attributes:ie.attributes,data:j})),N):(ie=new this.NodeDataClass(N,j),this._nodes.set(N,ie),this.emit("nodeAdded",{key:N,attributes:j}),N)},de.updateNode=function(N,j){if(j&&"function"!=typeof j)throw new be('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(j,'"'));var ie=this._nodes.get(N=""+N);if(ie)return j&&(ie.attributes=j(ie.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:N,attributes:ie.attributes})),N;var He=j?j({}):{};return ie=new this.NodeDataClass(N,He),this._nodes.set(N,ie),this.emit("nodeAdded",{key:N,attributes:He}),N},de.dropNode=function(N){var j=this,ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.dropNode: could not find the "'.concat(N,'" node in the graph.'));this.forEachEdge(N,function(De){j.dropEdge(De)}),this._nodes.delete(N),this.emit("nodeDropped",{key:N,attributes:ie.attributes})},de.dropEdge=function(N){var j;if(arguments.length>1){var ie=""+arguments[0],De=""+arguments[1];if(!(j=X(this,ie,De,this.type)))throw new re('Graph.dropEdge: could not find the "'.concat(ie,'" -> "').concat(De,'" edge in the graph.'))}else if(!(j=this._edges.get(N=""+N)))throw new re('Graph.dropEdge: could not find the "'.concat(N,'" edge in the graph.'));this._edges.delete(j.key);var st=j.source,Nt=j.target,tt=j.attributes,qt=j.undirected;return st===Nt?qt?(st.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(st.directedSelfLoops--,this._directedSelfLoopCount--):qt?(st.undirectedDegree--,Nt.undirectedDegree--):(st.outDegree--,Nt.inDegree--),_e(this,qt,j),qt?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:N,attributes:tt,source:st.key,target:Nt.key,undirected:qt}),this},de.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},de.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},de.getAttribute=function(N){return this._attributes[N]},de.getAttributes=function(){return this._attributes},de.hasAttribute=function(N){return this._attributes.hasOwnProperty(N)},de.setAttribute=function(N,j){return this._attributes[N]=j,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:N}),this},de.updateAttribute=function(N,j){if("function"!=typeof j)throw new be("Graph.updateAttribute: updater should be a function.");return this._attributes[N]=j(this._attributes[N]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:N}),this},de.removeAttribute=function(N){return delete this._attributes[N],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:N}),this},de.replaceAttributes=function(N){if(!F(N))throw new be("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=N,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},de.mergeAttributes=function(N){if(!F(N))throw new be("Graph.mergeAttributes: provided attributes are not a plain object.");return pe(this._attributes,N),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:N}),this},de.getNodeAttribute=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.getNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));return ie.attributes[j]},de.getNodeAttributes=function(N){var j=this._nodes.get(N=""+N);if(!j)throw new re('Graph.getNodeAttributes: could not find the "'.concat(N,'" node in the graph.'));return j.attributes},de.hasNodeAttribute=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.hasNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));return ie.attributes.hasOwnProperty(j)},de.setNodeAttribute=function(N,j,ie){var De=this._nodes.get(N=""+N);if(!De)throw new re('Graph.setNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));if(arguments.length<3)throw new be("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return De.attributes[j]=ie,this.emit("nodeAttributesUpdated",{key:N,type:"set",attributes:De.attributes,name:j}),this},de.updateNodeAttribute=function(N,j,ie){var De=this._nodes.get(N=""+N);if(!De)throw new re('Graph.updateNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));if(arguments.length<3)throw new be("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof ie)throw new be("Graph.updateAttribute: updater should be a function.");var He=De.attributes,st=ie(He[j]);return He[j]=st,this.emit("nodeAttributesUpdated",{key:N,type:"set",attributes:De.attributes,name:j}),this},de.removeNodeAttribute=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.hasNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));return delete ie.attributes[j],this.emit("nodeAttributesUpdated",{key:N,type:"remove",attributes:ie.attributes,name:j}),this},de.replaceNodeAttributes=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.replaceNodeAttributes: could not find the "'.concat(N,'" node in the graph.'));if(!F(j))throw new be("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return ie.attributes=j,this.emit("nodeAttributesUpdated",{key:N,type:"replace",attributes:ie.attributes}),this},de.mergeNodeAttributes=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.mergeNodeAttributes: could not find the "'.concat(N,'" node in the graph.'));if(!F(j))throw new be("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return pe(ie.attributes,j),this.emit("nodeAttributesUpdated",{key:N,type:"merge",attributes:ie.attributes,data:j}),this},de.updateEachNodeAttributes=function(N,j){if("function"!=typeof N)throw new be("Graph.updateEachNodeAttributes: expecting an updater function.");if(j&&!C(j))throw new be("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var ie,De,He=this._nodes.values();!0!==(ie=He.next()).done;)(De=ie.value).attributes=N(De.key,De.attributes);this.emit("eachNodeAttributesUpdated",{hints:j||null})},de.updateEachEdgeAttributes=function(N,j){if("function"!=typeof N)throw new be("Graph.updateEachEdgeAttributes: expecting an updater function.");if(j&&!C(j))throw new be("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var ie,De,He=this._edges.values();!0!==(ie=He.next()).done;)(De=ie.value).attributes=N(De.key,De.attributes);this.emit("eachEdgeAttributesUpdated",{hints:j||null})},de.forEach=function(N){if("function"!=typeof N)throw new be("Graph.forEach: expecting a callback.");this.multi?ht(!1,this,N):We(!1,this,N)},de.forEachUntil=function(N){if("function"!=typeof N)throw new be("Graph.forEach: expecting a callback.");this.multi?ht(!0,this,N):We(!0,this,N)},de.adjacency=function(){return this.multi?(st=(N=this)._nodes.values(),Nt=N.type,tt="outer",qt=null,new se(function St(){var vn;if("outer"===tt)return!0===(vn=st.next()).done?vn:(j=vn.value,tt="directed",St());if("directed"===tt)return"undirected"===Nt?(tt="undirected",St()):(De=j.out,ie=Object.keys(j.out),He=0,tt="inner-directed",St());if("undirected"===tt){if("directed"===Nt)return tt="outer",St();De=j.undirected,ie=Object.keys(j.undirected),He=0,tt="inner-undirected"}if(!qt&&He>=ie.length)return tt="inner-undirected"===tt?"outer":"undirected",St();if(!qt){var Es=ie[He++];return qt=De[Es].values(),St()}if((vn=qt.next()).done)return qt=null,St();var Zr=vn.value,Js=Zr.target;return"inner-undirected"===tt&&Js.key===j.key&&(Js=Zr.source),{done:!1,value:[j.key,Js.key,j.attributes,Js.attributes,Zr.key,Zr.attributes]}})):(Fl=(St=this)._nodes.values(),fo=St.type,Br="outer",new se(function Vs(){var Ac;if("outer"===Br)return!0===(Ac=Fl.next()).done?Ac:(vn=Ac.value,Br="directed",Vs());if("directed"===Br)return"undirected"===fo?(Br="undirected",Vs()):(Zr=vn.out,Es=Object.keys(vn.out),Js=0,Br="inner-directed",Vs());if("undirected"===Br){if("directed"===fo)return Br="outer",Vs();Zr=vn.undirected,Es=Object.keys(vn.undirected),Js=0,Br="inner-undirected"}if(Js>=Es.length)return Br="inner-undirected"===Br?"outer":"undirected",Vs();var xn=Es[Js++],po=Zr[xn],Ll=po.target;return"inner-undirected"===Br&&Ll.key===vn.key&&(Ll=po.source),{done:!1,value:[vn.key,Ll.key,vn.attributes,Ll.attributes,po.key,po.attributes]}}));var St,vn,Es,Zr,Js,Fl,fo,Br,N,j,ie,De,He,st,Nt,tt,qt},de.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):te(this._nodes.keys(),this._nodes.size)},de.forEachNode=function(N){if("function"!=typeof N)throw new be("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(j,ie){N(ie,j.attributes)})},de.forEachNodeUntil=function(N){if("function"!=typeof N)throw new be("Graph.forEachNode: expecting a callback.");for(var j,ie,De=this._nodes.values();!0!==(j=De.next())&&!N((ie=j.value).key,ie.attributes););},de.nodeEntries=function(){var N=this._nodes.values();return new se(function(){var j=N.next();if(j.done)return j;var ie=j.value;return{value:[ie.key,ie.attributes],done:!1}})},de.exportNode=function(N){var j=this._nodes.get(N=""+N);if(!j)throw new re('Graph.exportNode: could not find the "'.concat(N,'" node in the graph.'));return rt(N,j)},de.exportEdge=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.exportEdge: could not find the "'.concat(N,'" edge in the graph.'));return Dt(N,j)},de.export=function(){var N=new Array(this._nodes.size),j=0;this._nodes.forEach(function(De,He){N[j++]=rt(He,De)});var ie=new Array(this._edges.size);return j=0,this._edges.forEach(function(De,He){ie[j++]=Dt(He,De)}),{attributes:this.getAttributes(),nodes:N,edges:ie,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},de.importNode=function(N){var j=arguments.length>1&&void 0!==arguments[1]&&arguments[1],ie=It(N);if(ie){if("not-object"===ie)throw new be('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===ie)throw new be("Graph.importNode: no key provided.");if("invalid-attributes"===ie)throw new be("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var De=N.key,He=N.attributes,st=void 0===He?{}:He;return j?this.mergeNode(De,st):this.addNode(De,st),this},de.importEdge=function(N){var j=arguments.length>1&&void 0!==arguments[1]&&arguments[1],ie=Ot(N);if(ie){if("not-object"===ie)throw new be('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===ie)throw new be("Graph.importEdge: missing souce.");if("no-target"===ie)throw new be("Graph.importEdge: missing target.");if("invalid-attributes"===ie)throw new be("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===ie)throw new be("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var De=N.source,He=N.target,st=N.attributes,Nt=void 0===st?{}:st,tt=N.undirected,qt=void 0!==tt&&tt;return"key"in N?(j?qt?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:qt?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,N.key,De,He,Nt):(j?qt?this.mergeUndirectedEdge:this.mergeDirectedEdge:qt?this.addUndirectedEdge:this.addDirectedEdge).call(this,De,He,Nt),this},de.import=function(N){var j,ie,De,He=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(U(N))return this.import(N.export(),He),this;if(!F(N))throw new be("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(N.attributes){if(!F(N.attributes))throw new be("Graph.import: invalid attributes. Expecting a plain object.");He?this.mergeAttributes(N.attributes):this.replaceAttributes(N.attributes)}if(N.nodes){if(De=N.nodes,!Array.isArray(De))throw new be("Graph.import: invalid nodes. Expecting an array.");for(j=0,ie=De.length;jie)){var Nt=new Set;Nt.add(j.undirected[st]),j.undirected[st]=Nt,N._nodes.get(st).undirected[ie]=Nt}})),this;var N},de.clearIndex=function(){return this._nodes.forEach(function(N){void 0!==N.in&&(N.in={},N.out={}),void 0!==N.undirected&&(N.undirected={})}),this},de.toJSON=function(){return this.export()},de.toString=function(){return"[object Graph]"},de.inspect=function(){var N=this,j={};this._nodes.forEach(function(Nt,tt){j[tt]=Nt.attributes});var ie={},De={};this._edges.forEach(function(Nt,tt){var qt=Nt.undirected?"--":"->",St="",vn="(".concat(Nt.source.key,")").concat(qt,"(").concat(Nt.target.key,")");Nt.generatedKey?N.multi&&(void 0===De[vn]?De[vn]=0:De[vn]++,St+="".concat(De[vn],". ")):St+="[".concat(tt,"]: "),ie[St+=vn]=Nt.attributes});var He={};for(var st in this)this.hasOwnProperty(st)&&!zn.has(st)&&"function"!=typeof this[st]&&(He[st]=this[st]);return He.attributes=this._attributes,He.nodes=j,He.edges=ie,B(He,"constructor",this.constructor),He},me}(M.exports.EventEmitter);"undefined"!=typeof Symbol&&(Cn.prototype[Symbol.for("nodejs.util.inspect.custom")]=Cn.prototype.inspect),[{name:function(ae){return"".concat(ae,"Edge")},generateKey:!0},{name:function(ae){return"".concat(ae,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(ae){return"".concat(ae,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(ae){return"".concat(ae,"EdgeWithKey")}},{name:function(ae){return"".concat(ae,"DirectedEdgeWithKey")},type:"directed"},{name:function(ae){return"".concat(ae,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(ae){["add","merge","update"].forEach(function(me){var de=ae.name(me),N="add"===me?bn:Xn;Cn.prototype[de]=ae.generateKey?function(j,ie,De){return N(this,de,!0,"undirected"===(ae.type||this.type),null,j,ie,De,"update"===me)}:function(j,ie,De,He){return N(this,de,!1,"undirected"===(ae.type||this.type),j,ie,De,He,"update"===me)}})}),"undefined"!=typeof Symbol&&(Cn.prototype[Symbol.iterator]=Cn.prototype.adjacency),ae=Cn,Me.forEach(function(me){var de=me.name,N=me.attacher;N(ae,de("Edge"),"mixed"),N(ae,de("DirectedEdge"),"directed"),N(ae,de("UndirectedEdge"),"undirected")}),function(ae){Se.forEach(function(me){var N,j,ie,De;ie=(N=me).type,De=N.direction,ae.prototype[j=N.name]=function(He,st){if("mixed"!==ie&&"mixed"!==this.type&&ie!==this.type)return[];if(!arguments.length)return Le(this,ie);if(1===arguments.length){var Nt=this._nodes.get(He=""+He);if(void 0===Nt)throw new re("Graph.".concat(j,': could not find the "').concat(He,'" node in the graph.'));return In(this.multi,"mixed"===ie?this.type:ie,De,Nt)}if(2===arguments.length){st=""+st;var tt=this._nodes.get(He=""+He);if(!tt)throw new re("Graph.".concat(j,': could not find the "').concat(He,'" source node in the graph.'));if(!this._nodes.has(st))throw new re("Graph.".concat(j,': could not find the "').concat(st,'" target node in the graph.'));return xi(ie,this.multi,De,tt,st)}throw new be("Graph.".concat(j,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(de,N){var j=N.name,ie=N.type,De=N.direction,He="forEach"+j[0].toUpperCase()+j.slice(1,-1);de.prototype[He]=function(st,Nt,tt){if("mixed"===ie||"mixed"===this.type||ie===this.type){if(1===arguments.length)return it(this,ie,tt=st);if(2===arguments.length){tt=Nt;var qt=this._nodes.get(st=""+st);if(void 0===qt)throw new re("Graph.".concat(He,': could not find the "').concat(st,'" node in the graph.'));return Pn(this.multi,"mixed"===ie?this.type:ie,De,qt,tt)}if(3===arguments.length){Nt=""+Nt;var St=this._nodes.get(st=""+st);if(!St)throw new re("Graph.".concat(He,': could not find the "').concat(st,'" source node in the graph.'));if(!this._nodes.has(Nt))throw new re("Graph.".concat(He,': could not find the "').concat(Nt,'" target node in the graph.'));return Xr(ie,this.multi,De,St,Nt,tt)}throw new be("Graph.".concat(He,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(ae,me),function(de,N){var j=N.name,ie=N.type,De=N.direction,He="forEach"+j[0].toUpperCase()+j.slice(1,-1)+"Until";de.prototype[He]=function(st,Nt,tt){if("mixed"===ie||"mixed"===this.type||ie===this.type){if(1===arguments.length)return At(this,ie,tt=st);if(2===arguments.length){tt=Nt;var qt=this._nodes.get(st=""+st);if(void 0===qt)throw new re("Graph.".concat(He,': could not find the "').concat(st,'" node in the graph.'));return Yn(this.multi,"mixed"===ie?this.type:ie,De,qt,tt)}if(3===arguments.length){Nt=""+Nt;var St=this._nodes.get(st=""+st);if(!St)throw new re("Graph.".concat(He,': could not find the "').concat(st,'" source node in the graph.'));if(!this._nodes.has(Nt))throw new re("Graph.".concat(He,': could not find the "').concat(Nt,'" target node in the graph.'));return Ls(ie,this.multi,De,St,Nt,tt)}throw new be("Graph.".concat(He,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(ae,me),function(de,N){var ie=N.type,De=N.direction,He=N.name.slice(0,-1)+"Entries";de.prototype[He]=function(st,Nt){if("mixed"!==ie&&"mixed"!==this.type&&ie!==this.type)return se.empty();if(!arguments.length)return kt(this,ie);if(1===arguments.length){var tt=this._nodes.get(st=""+st);if(!tt)throw new re("Graph.".concat(He,': could not find the "').concat(st,'" node in the graph.'));return Mi(ie,De,tt)}if(2===arguments.length){Nt=""+Nt;var qt=this._nodes.get(st=""+st);if(!qt)throw new re("Graph.".concat(He,': could not find the "').concat(st,'" source node in the graph.'));if(!this._nodes.has(Nt))throw new re("Graph.".concat(He,': could not find the "').concat(Nt,'" target node in the graph.'));return fs(ie,De,qt,Nt)}throw new be("Graph.".concat(He,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(ae,me)})}(Cn),function(ae){Bs.forEach(function(me){var N,j,ie,De;ie=(N=me).type,De=N.direction,ae.prototype[j=N.name]=function(He){if("mixed"!==ie&&"mixed"!==this.type&&ie!==this.type)return[];if(2===arguments.length){var st=""+arguments[0],Nt=""+arguments[1];if(!this._nodes.has(st))throw new re("Graph.".concat(j,': could not find the "').concat(st,'" node in the graph.'));if(!this._nodes.has(Nt))throw new re("Graph.".concat(j,': could not find the "').concat(Nt,'" node in the graph.'));return ut(this,ie,De,st,Nt)}if(1===arguments.length){var tt=this._nodes.get(He=""+He);if(void 0===tt)throw new re("Graph.".concat(j,': could not find the "').concat(He,'" node in the graph.'));return xa("mixed"===ie?this.type:ie,De,tt)}throw new be("Graph.".concat(j,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(ae,me){var de=me.name,N=me.type,j=me.direction,ie="forEach"+de[0].toUpperCase()+de.slice(1,-1);ae.prototype[ie]=function(De,He){if("mixed"===N||"mixed"===this.type||N===this.type){var st=this._nodes.get(De=""+De);if(void 0===st)throw new re("Graph.".concat(ie,': could not find the "').concat(De,'" node in the graph.'));!function(Nt,tt,qt,St){if("mixed"!==Nt){if("undirected"===Nt)return kl(qt,qt.undirected,St);if("string"==typeof tt)return kl(qt,qt[tt],St)}var vn=new Set;"undirected"!==Nt&&("out"!==tt&&Sa(vn,qt,qt.in,St),"in"!==tt&&Sa(vn,qt,qt.out,St)),"directed"!==Nt&&Sa(vn,qt,qt.undirected,St)}("mixed"===N?this.type:N,j,st,He)}}}(ae,me),function(ae,me){var de=me.name,N=me.type,j=me.direction,ie="forEach"+de[0].toUpperCase()+de.slice(1,-1)+"Until";ae.prototype[ie]=function(De,He){if("mixed"===N||"mixed"===this.type||N===this.type){var st=this._nodes.get(De=""+De);if(void 0===st)throw new re("Graph.".concat(ie,': could not find the "').concat(De,'" node in the graph.'));!function(Nt,tt,qt,St){if("mixed"!==Nt){if("undirected"===Nt)return ws(qt,qt.undirected,St);if("string"==typeof tt)return ws(qt,qt[tt],St)}var vn=new Set;"undirected"!==Nt&&("out"!==tt&&en(vn,qt,qt.in,St)||"in"!==tt&&en(vn,qt,qt.out,St))||"directed"===Nt||en(vn,qt,qt.undirected,St)}("mixed"===N?this.type:N,j,st,He)}}}(ae,me),function(ae,me){var N=me.type,j=me.direction,ie=me.name.slice(0,-1)+"Entries";ae.prototype[ie]=function(De){if("mixed"!==N&&"mixed"!==this.type&&N!==this.type)return se.empty();var He=this._nodes.get(De=""+De);if(void 0===He)throw new re("Graph.".concat(ie,': could not find the "').concat(De,'" node in the graph.'));return function(st,Nt,tt){if("mixed"!==st){if("undirected"===st)return nl(tt,tt.undirected);if("string"==typeof Nt)return nl(tt,tt[Nt])}var qt=se.empty(),St=new Set;return"undirected"!==st&&("out"!==Nt&&(qt=$e(qt,ot(St,tt,tt.in))),"in"!==Nt&&(qt=$e(qt,ot(St,tt,tt.out)))),"directed"!==st&&(qt=$e(qt,ot(St,tt,tt.undirected))),qt}("mixed"===N?this.type:N,j,He)}}(ae,me)})}(Cn);var rr=function(ae){function me(de){var N=pe({type:"directed"},de);if("multi"in N&&!1!==N.multi)throw new be("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==N.type)throw new be('DirectedGraph.from: inconsistent "'+N.type+'" type in given options!');return ae.call(this,N)||this}return et(me,ae),me}(Cn),sr=function(ae){function me(de){var N=pe({type:"undirected"},de);if("multi"in N&&!1!==N.multi)throw new be("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==N.type)throw new be('UndirectedGraph.from: inconsistent "'+N.type+'" type in given options!');return ae.call(this,N)||this}return et(me,ae),me}(Cn),Qn=function(ae){function me(de){var N=pe({multi:!0},de);if("multi"in N&&!0!==N.multi)throw new be("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return ae.call(this,N)||this}return et(me,ae),me}(Cn),Wi=function(ae){function me(de){var N=pe({type:"directed",multi:!0},de);if("multi"in N&&!0!==N.multi)throw new be("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==N.type)throw new be('MultiDirectedGraph.from: inconsistent "'+N.type+'" type in given options!');return ae.call(this,N)||this}return et(me,ae),me}(Cn),Ca=function(ae){function me(de){var N=pe({type:"undirected",multi:!0},de);if("multi"in N&&!0!==N.multi)throw new be("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==N.type)throw new be('MultiUndirectedGraph.from: inconsistent "'+N.type+'" type in given options!');return ae.call(this,N)||this}return et(me,ae),me}(Cn);function Qr(ae){ae.from=function(me,de){var N=pe({},me.options,de),j=new ae(N);return j.import(me),j}}return Qr(Cn),Qr(rr),Qr(sr),Qr(Qn),Qr(Wi),Qr(Ca),Cn.Graph=Cn,Cn.DirectedGraph=rr,Cn.UndirectedGraph=sr,Cn.MultiGraph=Qn,Cn.MultiDirectedGraph=Wi,Cn.MultiUndirectedGraph=Ca,Cn.InvalidArgumentsGraphError=be,Cn.NotFoundGraphError=re,Cn.UsageGraphError=ve,Cn}()},1524:(Vt,Xe,et)=>{var lt;!function(ee,Ct,je,Q){"use strict";var M,Ee=["","webkit","Moz","MS","ms","o"],pe=Ct.createElement("div"),U=Math.round,F=Math.abs,Y=Date.now;function B(xe,Pe,Je){return setTimeout(S(xe,Je),Pe)}function w(xe,Pe,Je){return!!Array.isArray(xe)&&(C(xe,Je[Pe],Je),!0)}function C(xe,Pe,Je){var vt;if(xe)if(xe.forEach)xe.forEach(Pe,Je);else if(xe.length!==Q)for(vt=0;vt\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",ui=ee.console&&(ee.console.warn||ee.console.log);return ui&&ui.call(ee.console,vt,Xt),xe.apply(this,arguments)}}M="function"!=typeof Object.assign?function(Pe){if(Pe===Q||null===Pe)throw new TypeError("Cannot convert undefined or null to object");for(var Je=Object(Pe),vt=1;vt-1}function Z(xe){return xe.trim().split(/\s+/g)}function x(xe,Pe,Je){if(xe.indexOf&&!Je)return xe.indexOf(Pe);for(var vt=0;vtxs[Pe]}):vt.sort()),vt}function ue(xe,Pe){for(var Je,vt,$t=Pe[0].toUpperCase()+Pe.slice(1),Xt=0;Xt1&&!Je.firstMultiple?Je.firstMultiple=At(Pe):1===$t&&(Je.firstMultiple=!1);var Xt=Je.firstInput,ui=Je.firstMultiple,Vr=ui?ui.center:Xt.center,Jr=Pe.center=kt(vt);Pe.timeStamp=Y(),Pe.deltaTime=Pe.timeStamp-Xt.timeStamp,Pe.angle=Mi(Vr,Jr),Pe.distance=Yn(Vr,Jr),function(xe,Pe){var Je=Pe.center,vt=xe.offsetDelta||{},$t=xe.prevDelta||{},Xt=xe.prevInput||{};(1===Pe.eventType||4===Xt.eventType)&&($t=xe.prevDelta={x:Xt.deltaX||0,y:Xt.deltaY||0},vt=xe.offsetDelta={x:Je.x,y:Je.y}),Pe.deltaX=$t.x+(Je.x-vt.x),Pe.deltaY=$t.y+(Je.y-vt.y)}(Je,Pe),Pe.offsetDirection=Pn(Pe.deltaX,Pe.deltaY);var xs=In(Pe.deltaTime,Pe.deltaX,Pe.deltaY);Pe.overallVelocityX=xs.x,Pe.overallVelocityY=xs.y,Pe.overallVelocity=F(xs.x)>F(xs.y)?xs.x:xs.y,Pe.scale=ui?function(xe,Pe){return Yn(Pe[0],Pe[1],gt)/Yn(xe[0],xe[1],gt)}(ui.pointers,vt):1,Pe.rotation=ui?function(xe,Pe){return Mi(Pe[1],Pe[0],gt)+Mi(xe[1],xe[0],gt)}(ui.pointers,vt):0,Pe.maxPointers=Je.prevInput?Pe.pointers.length>Je.prevInput.maxPointers?Pe.pointers.length:Je.prevInput.maxPointers:Pe.pointers.length,function(xe,Pe){var $t,Xt,ui,Vr,Je=xe.lastInterval||Pe,vt=Pe.timeStamp-Je.timeStamp;if(8!=Pe.eventType&&(vt>25||Je.velocity===Q)){var Jr=Pe.deltaX-Je.deltaX,xs=Pe.deltaY-Je.deltaY,Zn=In(vt,Jr,xs);Xt=Zn.x,ui=Zn.y,$t=F(Zn.x)>F(Zn.y)?Zn.x:Zn.y,Vr=Pn(Jr,xs),xe.lastInterval=Pe}else $t=Je.velocity,Xt=Je.velocityX,ui=Je.velocityY,Vr=Je.direction;Pe.velocity=$t,Pe.velocityX=Xt,Pe.velocityY=ui,Pe.direction=Vr}(Je,Pe);var Zn=xe.element;D(Pe.srcEvent.target,Zn)&&(Zn=Pe.srcEvent.target),Pe.target=Zn}(xe,Je),xe.emit("hammer.input",Je),xe.recognize(Je),xe.session.prevInput=Je}function At(xe){for(var Pe=[],Je=0;Je=F(Pe)?xe<0?2:4:Pe<0?8:16}function Yn(xe,Pe,Je){Je||(Je=_t);var vt=Pe[Je[0]]-xe[Je[0]],$t=Pe[Je[1]]-xe[Je[1]];return Math.sqrt(vt*vt+$t*$t)}function Mi(xe,Pe,Je){return Je||(Je=_t),180*Math.atan2(Pe[Je[1]]-xe[Je[1]],Pe[Je[0]]-xe[Je[0]])/Math.PI}Ae.prototype={handler:function(){},init:function(){this.evEl&&O(this.element,this.evEl,this.domHandler),this.evTarget&&O(this.target,this.evTarget,this.domHandler),this.evWin&&O(Re(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&$(this.element,this.evEl,this.domHandler),this.evTarget&&$(this.target,this.evTarget,this.domHandler),this.evWin&&$(Re(this.element),this.evWin,this.domHandler)}};var Ls={mousedown:1,mousemove:2,mouseup:4},fs="mousedown",Bs="mousemove mouseup";function Kr(){this.evEl=fs,this.evWin=Bs,this.pressed=!1,Ae.apply(this,arguments)}b(Kr,Ae,{handler:function(Pe){var Je=Ls[Pe.type];1&Je&&0===Pe.button&&(this.pressed=!0),2&Je&&1!==Pe.which&&(Je=4),this.pressed&&(4&Je&&(this.pressed=!1),this.callback(this.manager,Je,{pointers:[Pe],changedPointers:[Pe],pointerType:J,srcEvent:Pe}))}});var xa={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},kl={2:Ze,3:"pen",4:J,5:"kinect"},Sa="pointerdown",ws="pointermove pointerup pointercancel";function en(){this.evEl=Sa,this.evWin=ws,Ae.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}ee.MSPointerEvent&&!ee.PointerEvent&&(Sa="MSPointerDown",ws="MSPointerMove MSPointerUp MSPointerCancel"),b(en,Ae,{handler:function(Pe){var Je=this.store,vt=!1,$t=Pe.type.toLowerCase().replace("ms",""),Xt=xa[$t],ui=kl[Pe.pointerType]||Pe.pointerType,Vr=ui==Ze,Jr=x(Je,Pe.pointerId,"pointerId");1&Xt&&(0===Pe.button||Vr)?Jr<0&&(Je.push(Pe),Jr=Je.length-1):12&Xt&&(vt=!0),!(Jr<0)&&(Je[Jr]=Pe,this.callback(this.manager,Xt,{pointers:Je,changedPointers:[Pe],pointerType:ui,srcEvent:Pe}),vt&&Je.splice(Jr,1))}});var nl={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ot="touchstart",ut="touchstart touchmove touchend touchcancel";function ft(){this.evTarget=ot,this.evWin=ut,this.started=!1,Ae.apply(this,arguments)}function ye(xe,Pe){var Je=W(xe.touches),vt=W(xe.changedTouches);return 12&Pe&&(Je=ne(Je.concat(vt),"identifier",!0)),[Je,vt]}b(ft,Ae,{handler:function(Pe){var Je=nl[Pe.type];if(1===Je&&(this.started=!0),this.started){var vt=ye.call(this,Pe,Je);12&Je&&vt[0].length-vt[1].length==0&&(this.started=!1),this.callback(this.manager,Je,{pointers:vt[0],changedPointers:vt[1],pointerType:Ze,srcEvent:Pe})}}});var Te={touchstart:1,touchmove:2,touchend:4,touchcancel:8},We="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=We,this.targetIds={},Ae.apply(this,arguments)}function rt(xe,Pe){var Je=W(xe.touches),vt=this.targetIds;if(3&Pe&&1===Je.length)return vt[Je[0].identifier]=!0,[Je,Je];var $t,Xt,ui=W(xe.changedTouches),Vr=[],Jr=this.target;if(Xt=Je.filter(function(xs){return D(xs.target,Jr)}),1===Pe)for($t=0;$t-1&&vt.splice(Xt,1)},2500)}}function ci(xe){for(var Pe=xe.srcEvent.clientX,Je=xe.srcEvent.clientY,vt=0;vt-1&&this.requireFail.splice(Pe,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(xe){return!!this.simultaneous[xe.id]},emit:function(xe){var Pe=this,Je=this.state;function vt($t){Pe.manager.emit($t,xe)}Je<8&&vt(Pe.options.event+tt(Je)),vt(Pe.options.event),xe.additionalEvent&&vt(xe.additionalEvent),Je>=8&&vt(Pe.options.event+tt(Je))},tryEmit:function(xe){if(this.canEmit())return this.emit(xe);this.state=32},canEmit:function(){for(var xe=0;xePe.threshold&&$t&Pe.direction},attrTest:function(xe){return vn.prototype.attrTest.call(this,xe)&&(2&this.state||!(2&this.state)&&this.directionTest(xe))},emit:function(xe){this.pX=xe.deltaX,this.pY=xe.deltaY;var Pe=qt(xe.direction);Pe&&(xe.additionalEvent=this.options.event+Pe),this._super.emit.call(this,xe)}}),b(Zr,vn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[sr]},attrTest:function(xe){return this._super.attrTest.call(this,xe)&&(Math.abs(xe.scale-1)>this.options.threshold||2&this.state)},emit:function(xe){1!==xe.scale&&(xe.additionalEvent=this.options.event+(xe.scale<1?"in":"out")),this._super.emit.call(this,xe)}}),b(Js,Nt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(xe){var Pe=this.options,Je=xe.pointers.length===Pe.pointers,vt=xe.distancePe.time;if(this._input=xe,!vt||!Je||12&xe.eventType&&!$t)this.reset();else if(1&xe.eventType)this.reset(),this._timer=B(function(){this.state=8,this.tryEmit()},Pe.time,this);else if(4&xe.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(xe){8===this.state&&(xe&&4&xe.eventType?this.manager.emit(this.options.event+"up",xe):(this._input.timeStamp=Y(),this.manager.emit(this.options.event,this._input)))}}),b(Fl,vn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[sr]},attrTest:function(xe){return this._super.attrTest.call(this,xe)&&(Math.abs(xe.rotation)>this.options.threshold||2&this.state)}}),b(fo,vn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Es.prototype.getTouchAction.call(this)},attrTest:function(xe){var Je,Pe=this.options.direction;return 30&Pe?Je=xe.overallVelocity:6&Pe?Je=xe.overallVelocityX:24&Pe&&(Je=xe.overallVelocityY),this._super.attrTest.call(this,xe)&&Pe&xe.offsetDirection&&xe.distance>this.options.threshold&&xe.maxPointers==this.options.pointers&&F(Je)>this.options.velocity&&4&xe.eventType},emit:function(xe){var Pe=qt(xe.offsetDirection);Pe&&this.manager.emit(this.options.event+Pe,xe),this.manager.emit(this.options.event,xe)}}),b(Br,Nt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[rr]},process:function(xe){var Pe=this.options,Je=xe.pointers.length===Pe.pointers,vt=xe.distance"']/g,ws=RegExp(kl.source),en=RegExp(Sa.source),nl=/<%-([\s\S]+?)%>/g,ot=/<%([\s\S]+?)%>/g,ut=/<%=([\s\S]+?)%>/g,ft=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ye=/^\w*$/,Te=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,We=/[\\^$.*+?()[\]{}|]/g,ht=RegExp(We.source),rt=/^\s+/,Dt=/\s/,It=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ot=/\{\n\/\* \[wrapped with (.+)\] \*/,Qt=/,? & /,zn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ci=/[()=,{}\[\]\/\s]/,Rn=/\\(\\)?/g,bn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Xn=/\w*$/,Cn=/^[-+]0x[0-9a-f]+$/i,rr=/^0b[01]+$/i,sr=/^\[object .+?Constructor\]$/,Qn=/^0o[0-7]+$/i,Wi=/^(?:0|[1-9]\d*)$/,Ca=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qr=/($^)/,ae=/['\n\r\u2028\u2029\\]/g,me="\\ud800-\\udfff",ie="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",De="\\u2700-\\u27bf",He="a-z\\xdf-\\xf6\\xf8-\\xff",St="A-Z\\xc0-\\xd6\\xd8-\\xde",vn="\\ufe0e\\ufe0f",Es="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Js="["+me+"]",Fl="["+Es+"]",fo="["+ie+"]",Br="\\d+",Vs="["+De+"]",Ac="["+He+"]",xn="[^"+me+Es+Br+De+He+St+"]",po="\\ud83c[\\udffb-\\udfff]",Ta="[^"+me+"]",Ed="(?:\\ud83c[\\udde6-\\uddff]){2}",xe="[\\ud800-\\udbff][\\udc00-\\udfff]",Pe="["+St+"]",vt="(?:"+Ac+"|"+xn+")",$t="(?:"+Pe+"|"+xn+")",Xt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",ui="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Vr="(?:"+fo+"|"+po+")?",Jr="["+vn+"]?",CC=Jr+Vr+"(?:\\u200d(?:"+[Ta,Ed,xe].join("|")+")"+Jr+Vr+")*",xd="(?:"+[Vs,Ed,xe].join("|")+")"+CC,er="(?:"+[Ta+fo+"?",fo,Ed,xe,Js].join("|")+")",fp=RegExp("['\u2019]","g"),n_=RegExp(fo,"g"),Oh=RegExp(po+"(?="+po+")|"+er+CC,"g"),iv=RegExp([Pe+"?"+Ac+"+"+Xt+"(?="+[Fl,Pe,"$"].join("|")+")",$t+"+"+ui+"(?="+[Fl,Pe+vt,"$"].join("|")+")",Pe+"?"+vt+"+"+Xt,Pe+"+"+ui,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Br,xd].join("|"),"g"),TC=RegExp("[\\u200d"+me+ie+vn+"]"),Bl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Rh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],AC=-1,rn={};rn[kt]=rn[In]=rn[Pn]=rn[Yn]=rn[Mi]=rn[xi]=rn[Xr]=rn[Ls]=rn[fs]=!0,rn[J]=rn[le]=rn[it]=rn[Me]=rn[At]=rn[Ce]=rn[Se]=rn[ze]=rn[Ve]=rn[K]=rn[ge]=rn[_t]=rn[gt]=rn[Ae]=rn[H]=!1;var or={};or[J]=or[le]=or[it]=or[At]=or[Me]=or[Ce]=or[kt]=or[In]=or[Pn]=or[Yn]=or[Mi]=or[Ve]=or[K]=or[ge]=or[_t]=or[gt]=or[Ae]=or[z]=or[xi]=or[Xr]=or[Ls]=or[fs]=!0,or[Se]=or[ze]=or[H]=!1;var tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},MC=parseFloat,av=parseInt,Pt="object"==typeof global&&global&&global.Object===Object&&global,js="object"==typeof self&&self&&self.Object===Object&&self,Ui=Pt||js||Function("return this")(),Vl=Xe&&!Xe.nodeType&&Xe,Aa=Vl&&Vt&&!Vt.nodeType&&Vt,Po=Aa&&Aa.exports===Vl,i_=Po&&Pt.process,xr=function(){try{return Aa&&Aa.require&&Aa.require("util").types||i_&&i_.binding&&i_.binding("util")}catch(Rt){}}(),an=xr&&xr.isArrayBuffer,hi=xr&&xr.isDate,ur=xr&&xr.isMap,go=xr&&xr.isRegExp,Mc=xr&&xr.isSet,ss=xr&&xr.isTypedArray;function os(ct,Rt,Tt){switch(Tt.length){case 0:return ct.call(Rt);case 1:return ct.call(Rt,Tt[0]);case 2:return ct.call(Rt,Tt[0],Tt[1]);case 3:return ct.call(Rt,Tt[0],Tt[1],Tt[2])}return ct.apply(Rt,Tt)}function jr(ct,Rt,Tt,hn){for(var Mn=-1,Li=null==ct?0:ct.length;++Mn-1}function Nh(ct,Rt,Tt){for(var hn=-1,Mn=null==ct?0:ct.length;++hn-1;);return Tt}function RC(ct,Rt){for(var Tt=ct.length;Tt--&&il(Rt,ct[Tt],0)>-1;);return Tt}function sk(ct,Rt){for(var Tt=ct.length,hn=0;Tt--;)ct[Tt]===Rt&&++hn;return hn}var ok=Jo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),ak=Jo({"&":"&","<":"<",">":">",'"':""","'":"'"});function lk(ct){return"\\"+tn[ct]}function Fh(ct){return TC.test(ct)}function cv(ct){var Rt=-1,Tt=Array(ct.size);return ct.forEach(function(hn,Mn){Tt[++Rt]=[Mn,hn]}),Tt}function NC(ct,Rt){return function(Tt){return ct(Rt(Tt))}}function xu(ct,Rt){for(var Tt=-1,hn=ct.length,Mn=0,Li=[];++Tt",""":'"',"'":"'"}),Bh=function ct(Rt){var d,Tt=(Rt=null==Rt?Ui:Bh.defaults(Ui.Object(),Rt,Bh.pick(Ui,Rh))).Array,hn=Rt.Date,Mn=Rt.Error,Li=Rt.Function,es=Rt.Math,Yi=Rt.Object,u_=Rt.RegExp,d_=Rt.String,Ia=Rt.TypeError,dr=Tt.prototype,Su=Yi.prototype,gp=Rt["__core-js_shared__"],Sr=Li.prototype.toString,Xi=Su.hasOwnProperty,pk=0,Vh=(d=/[^.]+$/.exec(gp&&gp.keys&&gp.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",eo=Su.toString,FC=Sr.call(Yi),h_=Ui._,Dd=u_("^"+Sr.call(Xi).replace(We,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zs=Po?Rt.Buffer:ee,Ul=Rt.Symbol,Id=Rt.Uint8Array,hv=zs?zs.allocUnsafe:ee,Oa=NC(Yi.getPrototypeOf,Yi),f_=Yi.create,mp=Su.propertyIsEnumerable,Ln=dr.splice,LC=Ul?Ul.isConcatSpreadable:ee,jh=Ul?Ul.iterator:ee,Cu=Ul?Ul.toStringTag:ee,_p=function(){try{var d=jc(Yi,"defineProperty");return d({},"",{}),d}catch(p){}}(),fv=Rt.clearTimeout!==Ui.clearTimeout&&Rt.clearTimeout,BC=hn&&hn.now!==Ui.Date.now&&hn.now,VC=Rt.setTimeout!==Ui.setTimeout&&Rt.setTimeout,jt=es.ceil,Si=es.floor,_r=Yi.getOwnPropertySymbols,as=zs?zs.isBuffer:ee,p_=Rt.isFinite,Uh=dr.join,sl=NC(Yi.keys,Yi),zr=es.max,ps=es.min,gk=hn.now,jC=Rt.parseInt,zh=es.random,yp=dr.reverse,Cs=jc(Rt,"DataView"),mo=jc(Rt,"Map"),bp=jc(Rt,"Promise"),Ra=jc(Rt,"Set"),Fo=jc(Rt,"WeakMap"),Hh=jc(Yi,"create"),Gh=Fo&&new Fo,Od={},UC=Lu(Cs),g_=Lu(mo),m_=Lu(bp),pv=Lu(Ra),__=Lu(Fo),vp=Ul?Ul.prototype:ee,Rd=vp?vp.valueOf:ee,$h=vp?vp.toString:ee;function Ie(d){if(Ar(d)&&!On(d)&&!(d instanceof fi)){if(d instanceof Lo)return d;if(Xi.call(d,"__wrapped__"))return sf(d)}return new Lo(d)}var Tu=function(){function d(){}return function(p){if(!Tr(p))return{};if(f_)return f_(p);d.prototype=p;var _=new d;return d.prototype=ee,_}}();function Wh(){}function Lo(d,p){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!p,this.__index__=0,this.__values__=ee}function fi(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ve,this.__views__=[]}function _o(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var V=d[p];this.set(V[0],V[1])}}function zl(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var V=d[p];this.set(V[0],V[1])}}function ol(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var V=d[p];this.set(V[0],V[1])}}function Na(d){var p=-1,_=null==d?0:d.length;for(this.__data__=new ol;++p<_;)this.add(d[p])}function Pa(d){var p=this.__data__=new zl(d);this.size=p.size}function Yh(d,p){var _=On(d),V=!_&&gl(d),he=!_&&!V&&ml(d),Ne=!_&&!V&&!he&&df(d),Qe=_||V||he||Ne,nt=Qe?Md(d.length,d_):[],dt=nt.length;for(var Ft in d)(p||Xi.call(d,Ft))&&(!Qe||!("length"==Ft||he&&("offset"==Ft||"parent"==Ft)||Ne&&("buffer"==Ft||"byteLength"==Ft||"byteOffset"==Ft)||jo(Ft,dt)))&&nt.push(Ft);return nt}function w_(d){var p=d.length;return p?d[Hl(0,p-1)]:ee}function yv(d,p){return qd(no(d),Au(p,0,d.length))}function Nd(d){return qd(no(d))}function E_(d,p,_){(_!==ee&&!Dn(d[p],_)||_===ee&&!(p in d))&&ll(d,p,_)}function al(d,p,_){var V=d[p];(!Xi.call(d,p)||!Dn(V,_)||_===ee&&!(p in d))&&ll(d,p,_)}function Pd(d,p){for(var _=d.length;_--;)if(Dn(d[_][0],p))return _;return-1}function Cp(d,p,_,V){return Nc(d,function(he,Ne,Qe){p(V,he,_(he),Qe)}),V}function QC(d,p){return d&&Fa(p,Is(p),d)}function ll(d,p,_){"__proto__"==p&&_p?_p(d,p,{configurable:!0,enumerable:!0,value:_,writable:!0}):d[p]=_}function x_(d,p){for(var _=-1,V=p.length,he=Tt(V),Ne=null==d;++_=p?d:p)),d}function Hs(d,p,_,V,he,Ne){var Qe,nt=1&p,dt=2&p,Ft=4&p;if(_&&(Qe=he?_(d,V,he,Ne):_(d)),Qe!==ee)return Qe;if(!Tr(d))return d;var Lt=On(d);if(Lt){if(Qe=function(d){var p=d.length,_=new d.constructor(p);return p&&"string"==typeof d[0]&&Xi.call(d,"index")&&(_.index=d.index,_.input=d.input),_}(d),!nt)return no(d,Qe)}else{var Gt=$s(d),nn=Gt==ze||Gt==Ke;if(ml(d))return Np(d,nt);if(Gt==ge||Gt==J||nn&&!he){if(Qe=dt||nn?{}:Uv(d),!nt)return dt?function(d,p){return Fa(d,Bv(d),p)}(d,function(d,p){return d&&Fa(p,ro(p),d)}(Qe,d)):function(d,p){return Fa(d,V_(d),p)}(d,QC(Qe,d))}else{if(!or[Gt])return he?d:{};Qe=function(d,p,_){var V=d.constructor;switch(p){case it:return Nu(d);case Me:case Ce:return new V(+d);case At:return function(d,p){var _=p?Nu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}(d,_);case kt:case In:case Pn:case Yn:case Mi:case xi:case Xr:case Ls:case fs:return P_(d,_);case Ve:return new V;case K:case Ae:return new V(d);case _t:return function(d){var p=new d.constructor(d.source,Xn.exec(d));return p.lastIndex=d.lastIndex,p}(d);case gt:return new V;case z:return function(d){return Rd?Yi(Rd.call(d)):{}}(d)}}(d,Gt,nt)}}Ne||(Ne=new Pa);var wn=Ne.get(d);if(wn)return wn;Ne.set(d,Qe),yA(d)?d.forEach(function(Bn){Qe.add(Hs(Bn,p,_,Bn,d,Ne))}):pA(d)&&d.forEach(function(Bn,mi){Qe.set(mi,Hs(Bn,p,_,mi,d,Ne))});var gi=Lt?ee:(Ft?dt?L_:ql:dt?ro:Is)(d);return Us(gi||d,function(Bn,mi){gi&&(Bn=d[mi=Bn]),al(Qe,mi,Hs(Bn,p,_,mi,d,Ne))}),Qe}function Tp(d,p,_){var V=_.length;if(null==d)return!V;for(d=Yi(d);V--;){var he=_[V],Qe=d[he];if(Qe===ee&&!(he in d)||!(0,p[he])(Qe))return!1}return!0}function Xh(d,p,_){if("function"!=typeof d)throw new Ia(Ee);return nf(function(){d.apply(ee,_)},p)}function Rc(d,p,_,V){var he=-1,Ne=jl,Qe=!0,nt=d.length,dt=[],Ft=p.length;if(!nt)return dt;_&&(p=qi(p,ta(_))),V?(Ne=Nh,Qe=!1):p.length>=200&&(Ne=kh,Qe=!1,p=new Na(p));e:for(;++he-1},zl.prototype.set=function(d,p){var _=this.__data__,V=Pd(_,d);return V<0?(++this.size,_.push([d,p])):_[V][1]=p,this},ol.prototype.clear=function(){this.size=0,this.__data__={hash:new _o,map:new(mo||zl),string:new _o}},ol.prototype.delete=function(d){var p=Gs(this,d).delete(d);return this.size-=p?1:0,p},ol.prototype.get=function(d){return Gs(this,d).get(d)},ol.prototype.has=function(d){return Gs(this,d).has(d)},ol.prototype.set=function(d,p){var _=Gs(this,d),V=_.size;return _.set(d,p),this.size+=_.size==V?0:1,this},Na.prototype.add=Na.prototype.push=function(d){return this.__data__.set(d,X),this},Na.prototype.has=function(d){return this.__data__.has(d)},Pa.prototype.clear=function(){this.__data__=new zl,this.size=0},Pa.prototype.delete=function(d){var p=this.__data__,_=p.delete(d);return this.size=p.size,_},Pa.prototype.get=function(d){return this.__data__.get(d)},Pa.prototype.has=function(d){return this.__data__.has(d)},Pa.prototype.set=function(d,p){var _=this.__data__;if(_ instanceof zl){var V=_.__data__;if(!mo||V.length<199)return V.push([d,p]),this.size=++_.size,this;_=this.__data__=new ol(V)}return _.set(d,p),this.size=_.size,this};var Nc=dl(cl),C_=dl(Ap,!0);function vv(d,p){var _=!0;return Nc(d,function(V,he,Ne){return _=!!p(V,he,Ne)}),_}function Kh(d,p,_){for(var V=-1,he=d.length;++V0&&_(nt)?p>1?Ts(nt,p-1,_,V,he):Ur(he,nt):V||(he[he.length]=nt)}return he}var kd=Dv(),Fd=Dv(!0);function cl(d,p){return d&&kd(d,p,Is)}function Ap(d,p){return d&&Fd(d,p,Is)}function Qh(d,p){return Ma(p,function(_){return ua(d[_])})}function na(d,p){for(var _=0,V=(p=Lc(p,d)).length;null!=d&&_p}function Ld(d,p){return null!=d&&Xi.call(d,p)}function Bd(d,p){return null!=d&&p in Yi(d)}function Mu(d,p,_){for(var V=_?Nh:jl,he=d[0].length,Ne=d.length,Qe=Ne,nt=Tt(Ne),dt=1/0,Ft=[];Qe--;){var Lt=d[Qe];Qe&&p&&(Lt=qi(Lt,ta(p))),dt=ps(Lt.length,dt),nt[Qe]=!_&&(p||he>=120&&Lt.length>=120)?new Na(Qe&&Lt):ee}Lt=d[0];var Gt=-1,nn=nt[0];e:for(;++Gt=nt?dt:dt*("desc"==_[V]?-1:1)}return d.index-p.index}(Ne,Qe,_)});Tt--;)ct[Tt]=ct[Tt].value;return ct}(nT(d,function(Ne,Qe,nt){return{criteria:qi(p,function(Ft){return Ft(Ne)}),index:++V,value:Ne}}))}function Cv(d,p,_){for(var V=-1,he=p.length,Ne={};++V-1;)nt!==d&&Ln.call(nt,dt,1),Ln.call(d,dt,1);return d}function Jh(d,p){for(var _=d?p.length:0,V=_-1;_--;){var he=p[_];if(_==V||he!==Ne){var Ne=he;jo(he)?Ln.call(d,he,1):Iu(d,he)}}return d}function Hl(d,p){return d+Si(zh()*(p-d+1))}function Dp(d,p){var _="";if(!d||p<1||p>Re)return _;do{p%2&&(_+=d),(p=Si(p/2))&&(d+=d)}while(p);return _}function pi(d,p){return Hp(yT(d,p,so),d+"")}function rT(d){return w_(nh(d))}function Sk(d,p){var _=nh(d);return qd(_,Au(p,0,_.length))}function Ip(d,p,_,V){if(!Tr(d))return d;for(var he=-1,Ne=(p=Lc(p,d)).length,Qe=Ne-1,nt=d;null!=nt&&++hehe?0:he+p),(_=_>he?he:_)<0&&(_+=he),he=p>_?0:_-p>>>0,p>>>=0;for(var Ne=Tt(he);++V>>1,Qe=d[Ne];null!==Qe&&!da(Qe)&&(_?Qe<=p:Qe=200){var Ft=p?null:F_(d);if(Ft)return a_(Ft);Qe=!1,he=kh,dt=new Na}else dt=p?[]:nt;e:for(;++V=V?d:Ms(d,p,_)}var aT=fv||function(d){return Ui.clearTimeout(d)};function Np(d,p){if(p)return d.slice();var _=d.length,V=hv?hv(_):new d.constructor(_);return d.copy(V),V}function Nu(d){var p=new d.constructor(d.byteLength);return new Id(p).set(new Id(d)),p}function P_(d,p){var _=p?Nu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function Bc(d,p){if(d!==p){var _=d!==ee,V=null===d,he=d==d,Ne=da(d),Qe=p!==ee,nt=null===p,dt=p==p,Ft=da(p);if(!nt&&!Ft&&!Ne&&d>p||Ne&&Qe&&dt&&!nt&&!Ft||V&&Qe&&dt||!_&&dt||!he)return 1;if(!V&&!Ne&&!Ft&&d1?_[he-1]:ee,Qe=he>2?_[2]:ee;for(Ne=d.length>3&&"function"==typeof Ne?(he--,Ne):ee,Qe&&Ws(_[0],_[1],Qe)&&(Ne=he<3?ee:Ne,he=1),p=Yi(p);++V-1?he[Ne?p[Qe]:Qe]:ee}}function ku(d){return hl(function(p){var _=p.length,V=_,he=Lo.prototype.thru;for(d&&p.reverse();V--;){var Ne=p[V];if("function"!=typeof Ne)throw new Ia(Ee);if(he&&!Qe&&"wrapper"==jp(Ne))var Qe=new Lo([],!0)}for(V=Qe?V:_;++V<_;){var nt=jp(Ne=p[V]),dt="wrapper"==nt?B_(Ne):ee;Qe=dt&&Up(dt[0])&&424==dt[1]&&!dt[4].length&&1==dt[9]?Qe[jp(dt[0])].apply(Qe,dt[3]):1==Ne.length&&Up(Ne)?Qe[nt]():Qe.thru(Ne)}return function(){var Ft=arguments,Lt=Ft[0];if(Qe&&1==Ft.length&&On(Lt))return Qe.plant(Lt).value();for(var Gt=0,nn=_?p[Gt].apply(this,Ft):Lt;++Gt<_;)nn=p[Gt].call(this,nn);return nn}})}function Vc(d,p,_,V,he,Ne,Qe,nt,dt,Ft){var Lt=p&O,Gt=1&p,nn=2&p,wn=24&p,Fn=512&p,gi=nn?ee:Gd(d);return function Bn(){for(var mi=arguments.length,Di=Tt(mi),wo=mi;wo--;)Di[wo]=arguments[wo];if(wn)var qs=Wd(Bn),ha=sk(Di,qs);if(V&&(Di=zd(Di,V,he,wn)),Ne&&(Di=Mv(Di,Ne,Qe,wn)),mi-=ha,wn&&mi1&&Di.reverse(),Lt&&dtnt))return!1;var Ft=Ne.get(d),Lt=Ne.get(p);if(Ft&&Lt)return Ft==p&&Lt==d;var Gt=-1,nn=!0,wn=2&_?new Na:ee;for(Ne.set(d,p),Ne.set(p,d);++Gt-1&&d%1==0&&d1?"& ":"")+p[V],p=p.join(_>2?", ":" "),d.replace(It,"{\n/* [wrapped with "+p+"] */\n")}(V,function(d,p){return Us(Ge,function(_){var V="_."+_[0];p&_[1]&&!jl(d,V)&&d.push(V)}),d.sort()}(function(d){var p=d.match(Ot);return p?p[1].split(Qt):[]}(V),_)))}function $_(d){var p=0,_=0;return function(){var V=gk(),he=16-(V-_);if(_=V,he>0){if(++p>=800)return arguments[0]}else p=0;return d.apply(ee,arguments)}}function qd(d,p){var _=-1,V=d.length,he=V-1;for(p=p===ee?V:p;++_1?d[p-1]:ee;return _="function"==typeof _?(d.pop(),_):ee,HT(d,_)});function ty(d){var p=Ie(d);return p.__chain__=!0,p}function Xd(d,p){return p(d)}var ny=hl(function(d){var p=d.length,_=p?d[0]:0,V=this.__wrapped__,he=function(Ne){return x_(Ne,d)};return!(p>1||this.__actions__.length)&&V instanceof fi&&jo(_)?((V=V.slice(_,+_+(p?1:0))).__actions__.push({func:Xd,args:[he],thisArg:ee}),new Lo(V,this.__chain__).thru(function(Ne){return p&&!Ne.length&&Ne.push(ee),Ne})):this.thru(he)}),WT=ts(function(d,p,_){Xi.call(d,_)?++d[_]:ll(d,_,1)}),KT=Ov(q_),QT=Ov(Y_);function oy(d,p){return(On(d)?Us:Nc)(d,kn(p,3))}function Wp(d,p){return(On(d)?Sd:C_)(d,kn(p,3))}var JT=ts(function(d,p,_){Xi.call(d,_)?d[_].push(p):ll(d,_,[p])}),cw=pi(function(d,p,_){var V=-1,he="function"==typeof p,Ne=bo(d)?Tt(d.length):[];return Nc(d,function(Qe){Ne[++V]=he?os(p,Qe,_):ka(Qe,p,_)}),Ne}),uw=ts(function(d,p,_){ll(d,_,p)});function pl(d,p){return(On(d)?qi:nT)(d,kn(p,3))}var hw=ts(function(d,p,_){d[_?0:1].push(p)},function(){return[[],[]]}),Yp=pi(function(d,p){if(null==d)return[];var _=p.length;return _>1&&Ws(d,p[0],p[1])?p=[]:_>2&&Ws(p[0],p[1],p[2])&&(p=[p[0]]),Zh(d,Ts(p,1),[])}),Bu=BC||function(){return Ui.Date.now()};function Xp(d,p,_){return p=_?ee:p,Wl(d,O,ee,ee,ee,ee,p=d&&null==p?d.length:p)}function ly(d,p){var _;if("function"!=typeof p)throw new Ia(Ee);return d=ti(d),function(){return--d>0&&(_=p.apply(this,arguments)),d<=1&&(p=ee),_}}var cf=pi(function(d,p,_){var V=1;if(_.length){var he=xu(_,Wd(cf));V|=T}return Wl(d,V,p,_,he)}),Qd=pi(function(d,p,_){var V=3;if(_.length){var he=xu(_,Wd(Qd));V|=T}return Wl(p,V,d,_,he)});function bw(d,p,_){var V,he,Ne,Qe,nt,dt,Ft=0,Lt=!1,Gt=!1,nn=!0;if("function"!=typeof d)throw new Ia(Ee);function wn(Gi){var bl=V,Gc=he;return V=he=ee,Ft=Gi,Qe=d.apply(Gc,bl)}function Fn(Gi){return Ft=Gi,nt=nf(mi,p),Lt?wn(Gi):Qe}function Bn(Gi){var bl=Gi-dt;return dt===ee||bl>=p||bl<0||Gt&&Gi-Ft>=Ne}function mi(){var Gi=Bu();if(Bn(Gi))return Di(Gi);nt=nf(mi,function(Gi){var aM=p-(Gi-dt);return Gt?ps(aM,Ne-(Gi-Ft)):aM}(Gi))}function Di(Gi){return nt=ee,nn&&V?wn(Gi):(V=he=ee,Qe)}function ha(){var Gi=Bu(),bl=Bn(Gi);if(V=arguments,he=this,dt=Gi,bl){if(nt===ee)return Fn(dt);if(Gt)return aT(nt),nt=nf(mi,p),wn(dt)}return nt===ee&&(nt=nf(mi,p)),Qe}return p=vo(p)||0,Tr(_)&&(Lt=!!_.leading,Ne=(Gt="maxWait"in _)?zr(vo(_.maxWait)||0,p):Ne,nn="trailing"in _?!!_.trailing:nn),ha.cancel=function(){nt!==ee&&aT(nt),Ft=0,V=dt=he=nt=ee},ha.flush=function(){return nt===ee?Qe:Di(Bu())},ha}var iA=pi(function(d,p){return Xh(d,1,p)}),vw=pi(function(d,p,_){return Xh(d,vo(p)||0,_)});function uf(d,p){if("function"!=typeof d||null!=p&&"function"!=typeof p)throw new Ia(Ee);var _=function(){var V=arguments,he=p?p.apply(this,V):V[0],Ne=_.cache;if(Ne.has(he))return Ne.get(he);var Qe=d.apply(this,V);return _.cache=Ne.set(he,Qe)||Ne,Qe};return _.cache=new(uf.Cache||ol),_}function dy(d){if("function"!=typeof d)throw new Ia(Ee);return function(){var p=arguments;switch(p.length){case 0:return!d.call(this);case 1:return!d.call(this,p[0]);case 2:return!d.call(this,p[0],p[1]);case 3:return!d.call(this,p[0],p[1],p[2])}return!d.apply(this,p)}}uf.Cache=ol;var rA=oT(function(d,p){var _=(p=1==p.length&&On(p[0])?qi(p[0],ta(kn())):qi(Ts(p,1),ta(kn()))).length;return pi(function(V){for(var he=-1,Ne=ps(V.length,_);++he=p}),gl=ZC(function(){return arguments}())?ZC:function(d){return Ar(d)&&Xi.call(d,"callee")&&!mp.call(d,"callee")},On=Tt.isArray,Tw=an?ta(an):function(d){return Ar(d)&&As(d)==it};function bo(d){return null!=d&&fy(d.length)&&!ua(d)}function Cr(d){return Ar(d)&&bo(d)}var ml=as||Fy,Aw=hi?ta(hi):function(d){return Ar(d)&&As(d)==Ce};function Ba(d){if(!Ar(d))return!1;var p=As(d);return p==Se||"[object DOMException]"==p||"string"==typeof d.message&&"string"==typeof d.name&&!Jp(d)}function ua(d){if(!Tr(d))return!1;var p=As(d);return p==ze||p==Ke||"[object AsyncFunction]"==p||"[object Proxy]"==p}function Zp(d){return"number"==typeof d&&d==ti(d)}function fy(d){return"number"==typeof d&&d>-1&&d%1==0&&d<=Re}function Tr(d){var p=typeof d;return null!=d&&("object"==p||"function"==p)}function Ar(d){return null!=d&&"object"==typeof d}var pA=ur?ta(ur):function(d){return Ar(d)&&$s(d)==Ve};function _A(d){return"number"==typeof d||Ar(d)&&As(d)==K}function Jp(d){if(!Ar(d)||As(d)!=ge)return!1;var p=Oa(d);if(null===p)return!0;var _=Xi.call(p,"constructor")&&p.constructor;return"function"==typeof _&&_ instanceof _&&Sr.call(_)==FC}var Ow=go?ta(go):function(d){return Ar(d)&&As(d)==_t},yA=Mc?ta(Mc):function(d){return Ar(d)&&$s(d)==gt};function gy(d){return"string"==typeof d||!On(d)&&Ar(d)&&As(d)==Ae}function da(d){return"symbol"==typeof d||Ar(d)&&As(d)==z}var df=ss?ta(ss):function(d){return Ar(d)&&fy(d.length)&&!!rn[As(d)]},Uc=Lp(Sv),my=Lp(function(d,p){return d<=p});function Rw(d){if(!d)return[];if(bo(d))return gy(d)?rl(d):no(d);if(jh&&d[jh])return function(ct){for(var Rt,Tt=[];!(Rt=ct.next()).done;)Tt.push(Rt.value);return Tt}(d[jh]());var p=$s(d);return(p==Ve?cv:p==gt?a_:nh)(d)}function _l(d){return d?(d=vo(d))===te||d===-te?17976931348623157e292*(d<0?-1:1):d==d?d:0:0===d?d:0}function ti(d){var p=_l(d),_=p%1;return p==p?_?p-_:p:0}function _y(d){return d?Au(ti(d),0,ve):0}function vo(d){if("number"==typeof d)return d;if(da(d))return NaN;if(Tr(d)){var p="function"==typeof d.valueOf?d.valueOf():d;d=Tr(p)?p+"":p}if("string"!=typeof d)return 0===d?d:+d;d=lv(d);var _=rr.test(d);return _||Qn.test(d)?av(d.slice(2),_?2:8):Cn.test(d)?NaN:+d}function Nw(d){return Fa(d,ro(d))}function Hi(d){return null==d?"":Vo(d)}var bA=Gl(function(d,p){if(zp(p)||bo(p))Fa(p,Is(p),d);else for(var _ in p)Xi.call(p,_)&&al(d,_,p[_])}),vA=Gl(function(d,p){Fa(p,ro(p),d)}),Zd=Gl(function(d,p,_,V){Fa(p,ro(p),d,V)}),wA=Gl(function(d,p,_,V){Fa(p,Is(p),d,V)}),Pw=hl(x_),xA=pi(function(d,p){d=Yi(d);var _=-1,V=p.length,he=V>2?p[2]:ee;for(he&&Ws(p[0],p[1],he)&&(V=1);++_1),Ne}),Fa(d,L_(d),_),V&&(_=Hs(_,7,Bp));for(var he=p.length;he--;)Iu(_,p[he]);return _}),MA=hl(function(d,p){return null==d?{}:function(d,p){return Cv(d,p,function(_,V){return eg(d,V)})}(d,p)});function Uw(d,p){if(null==d)return{};var _=qi(L_(d),function(V){return[V]});return p=kn(p),Cv(d,_,function(V,he){return p(V,he[0])})}var DA=Fu(Is),Hw=Fu(ro);function nh(d){return null==d?[]:o_(d,Is(d))}var PA=$l(function(d,p,_){return p=p.toLowerCase(),d+(_?wy(p):p)});function wy(d){return ig(Hi(d).toLowerCase())}function Ey(d){return(d=Hi(d))&&d.replace(Ca,ok).replace(n_,"")}var FA=$l(function(d,p,_){return d+(_?"-":"")+p.toLowerCase()}),LA=$l(function(d,p,_){return d+(_?" ":"")+p.toLowerCase()}),$k=Pp("toLowerCase"),zA=$l(function(d,p,_){return d+(_?"_":"")+p.toLowerCase()}),Cy=$l(function(d,p,_){return d+(_?" ":"")+ig(p)}),Xw=$l(function(d,p,_){return d+(_?" ":"")+p.toUpperCase()}),ig=Pp("toUpperCase");function Dy(d,p,_){return d=Hi(d),(p=_?ee:p)===ee?function(ct){return Bl.test(ct)}(d)?function(ct){return ct.match(iv)||[]}(d):function(ct){return ct.match(zn)||[]}(d):d.match(p)||[]}var Iy=pi(function(d,p){try{return os(d,ee,p)}catch(_){return Ba(_)?_:new Mn(_)}}),Kw=hl(function(d,p){return Us(p,function(_){_=si(_),ll(d,_,cf(d[_],d))}),d});function Oy(d){return function(){return d}}var qk=ku(),Vu=ku(!0);function so(d){return d}function ju(d){return tT("function"==typeof d?d:Hs(d,1))}var Ry=pi(function(d,p){return function(_){return ka(_,d,p)}}),Qw=pi(function(d,p){return function(_){return ka(d,_,p)}});function Ny(d,p,_){var V=Is(p),he=Qh(p,V);null==_&&(!Tr(p)||!he.length&&V.length)&&(_=p,p=d,d=this,he=Qh(p,Is(p)));var Ne=!(Tr(_)&&"chain"in _&&!_.chain),Qe=ua(d);return Us(he,function(nt){var dt=p[nt];d[nt]=dt,Qe&&(d.prototype[nt]=function(){var Ft=this.__chain__;if(Ne||Ft){var Lt=d(this.__wrapped__),Gt=Lt.__actions__=no(this.__actions__);return Gt.push({func:dt,args:arguments,thisArg:d}),Lt.__chain__=Ft,Lt}return dt.apply(d,Ur([this.value()],arguments))})}),d}function Py(){}var XA=kp(qi),KA=kp(ri),Jw=kp(ko);function Uu(d){return oa(d)?r_(si(d)):function(d){return function(p){return na(p,d)}}(d)}var QA=Nv(),ZA=Nv(!0);function Hc(){return[]}function Fy(){return!1}var Hn=k_(function(d,p){return d+p},0),Ly=$d("ceil"),Xk=k_(function(d,p){return d/p},1),Kl=$d("floor"),iE=k_(function(d,p){return d*p},1),rE=$d("round"),sE=k_(function(d,p){return d-p},0);return Ie.after=function(d,p){if("function"!=typeof p)throw new Ia(Ee);return d=ti(d),function(){if(--d<1)return p.apply(this,arguments)}},Ie.ary=Xp,Ie.assign=bA,Ie.assignIn=vA,Ie.assignInWith=Zd,Ie.assignWith=wA,Ie.at=Pw,Ie.before=ly,Ie.bind=cf,Ie.bindAll=Kw,Ie.bindKey=Qd,Ie.castArray=function(){if(!arguments.length)return[];var d=arguments[0];return On(d)?d:[d]},Ie.chain=ty,Ie.chunk=function(d,p,_){p=(_?Ws(d,p,_):p===ee)?1:zr(ti(p),0);var V=null==d?0:d.length;if(!V||p<1)return[];for(var he=0,Ne=0,Qe=Tt(jt(V/p));hehe?0:he+_),(V=V===ee||V>he?he:ti(V))<0&&(V+=he),V=_>V?0:_y(V);_>>0)?(d=Hi(d))&&("string"==typeof p||null!=p&&!Ow(p))&&!(p=Vo(p))&&Fh(d)?ul(rl(d),0,_):d.split(p,_):[]},Ie.spread=function(d,p){if("function"!=typeof d)throw new Ia(Ee);return p=null==p?0:zr(ti(p),0),pi(function(_){var V=_[p],he=ul(_,0,p);return V&&Ur(he,V),os(d,this,he)})},Ie.tail=function(d){var p=null==d?0:d.length;return p?Ms(d,1,p):[]},Ie.take=function(d,p,_){return d&&d.length?Ms(d,0,(p=_||p===ee?1:ti(p))<0?0:p):[]},Ie.takeRight=function(d,p,_){var V=null==d?0:d.length;return V?Ms(d,(p=V-(p=_||p===ee?1:ti(p)))<0?0:p,V):[]},Ie.takeRightWhile=function(d,p){return d&&d.length?Ou(d,kn(p,3),!1,!0):[]},Ie.takeWhile=function(d,p){return d&&d.length?Ou(d,kn(p,3)):[]},Ie.tap=function(d,p){return p(d),d},Ie.throttle=function(d,p,_){var V=!0,he=!0;if("function"!=typeof d)throw new Ia(Ee);return Tr(_)&&(V="leading"in _?!!_.leading:V,he="trailing"in _?!!_.trailing:he),bw(d,p,{leading:V,maxWait:p,trailing:he})},Ie.thru=Xd,Ie.toArray=Rw,Ie.toPairs=DA,Ie.toPairsIn=Hw,Ie.toPath=function(d){return On(d)?qi(d,si):da(d)?[d]:no($v(Hi(d)))},Ie.toPlainObject=Nw,Ie.transform=function(d,p,_){var V=On(d),he=V||ml(d)||df(d);if(p=kn(p,4),null==_){var Ne=d&&d.constructor;_=he?V?new Ne:[]:Tr(d)&&ua(Ne)?Tu(Oa(d)):{}}return(he?Us:cl)(d,function(Qe,nt,dt){return p(_,Qe,nt,dt)}),_},Ie.unary=function(d){return Xp(d,1)},Ie.union=tw,Ie.unionBy=jT,Ie.unionWith=UT,Ie.uniq=function(d){return d&&d.length?kc(d):[]},Ie.uniqBy=function(d,p){return d&&d.length?kc(d,kn(p,2)):[]},Ie.uniqWith=function(d,p){return p="function"==typeof p?p:ee,d&&d.length?kc(d,ee,p):[]},Ie.unset=function(d,p){return null==d||Iu(d,p)},Ie.unzip=nw,Ie.unzipWith=HT,Ie.update=function(d,p,_){return null==d?d:Op(d,p,N_(_))},Ie.updateWith=function(d,p,_,V){return V="function"==typeof V?V:ee,null==d?d:Op(d,p,N_(_),V)},Ie.values=nh,Ie.valuesIn=function(d){return null==d?[]:o_(d,ro(d))},Ie.without=iw,Ie.words=Dy,Ie.wrap=function(d,p){return Kp(N_(p),d)},Ie.xor=Pk,Ie.xorBy=Uo,Ie.xorWith=J_,Ie.zip=ey,Ie.zipObject=function(d,p){return Rp(d||[],p||[],al)},Ie.zipObjectDeep=function(d,p){return Rp(d||[],p||[],Ip)},Ie.zipWith=lf,Ie.entries=DA,Ie.entriesIn=Hw,Ie.extend=vA,Ie.extendWith=Zd,Ny(Ie,Ie),Ie.add=Hn,Ie.attempt=Iy,Ie.camelCase=PA,Ie.capitalize=wy,Ie.ceil=Ly,Ie.clamp=function(d,p,_){return _===ee&&(_=p,p=ee),_!==ee&&(_=(_=vo(_))==_?_:0),p!==ee&&(p=(p=vo(p))==p?p:0),Au(vo(d),p,_)},Ie.clone=function(d){return Hs(d,4)},Ie.cloneDeep=function(d){return Hs(d,5)},Ie.cloneDeepWith=function(d,p){return Hs(d,5,p="function"==typeof p?p:ee)},Ie.cloneWith=function(d,p){return Hs(d,4,p="function"==typeof p?p:ee)},Ie.conformsTo=function(d,p){return null==p||Tp(d,p,Is(p))},Ie.deburr=Ey,Ie.defaultTo=function(d,p){return null==d||d!=d?p:d},Ie.divide=Xk,Ie.endsWith=function(d,p,_){d=Hi(d),p=Vo(p);var V=d.length,he=_=_===ee?V:Au(ti(_),0,V);return(_-=p.length)>=0&&d.slice(_,he)==p},Ie.eq=Dn,Ie.escape=function(d){return(d=Hi(d))&&en.test(d)?d.replace(Sa,ak):d},Ie.escapeRegExp=function(d){return(d=Hi(d))&&ht.test(d)?d.replace(We,"\\$&"):d},Ie.every=function(d,p,_){var V=On(d)?ri:vv;return _&&Ws(d,p,_)&&(p=ee),V(d,kn(p,3))},Ie.find=KT,Ie.findIndex=q_,Ie.findKey=function(d,p){return Ph(d,kn(p,3),cl)},Ie.findLast=QT,Ie.findLastIndex=Y_,Ie.findLastKey=function(d,p){return Ph(d,kn(p,3),Ap)},Ie.floor=Kl,Ie.forEach=oy,Ie.forEachRight=Wp,Ie.forIn=function(d,p){return null==d?d:kd(d,kn(p,3),ro)},Ie.forInRight=function(d,p){return null==d?d:Fd(d,kn(p,3),ro)},Ie.forOwn=function(d,p){return d&&cl(d,kn(p,3))},Ie.forOwnRight=function(d,p){return d&&Ap(d,kn(p,3))},Ie.get=pf,Ie.gt=zt,Ie.gte=Cw,Ie.has=function(d,p){return null!=d&&jv(d,p,Ld)},Ie.hasIn=eg,Ie.head=qv,Ie.identity=so,Ie.includes=function(d,p,_,V){d=bo(d)?d:nh(d),_=_&&!V?ti(_):0;var he=d.length;return _<0&&(_=zr(he+_,0)),gy(d)?_<=he&&d.indexOf(p,_)>-1:!!he&&il(d,p,_)>-1},Ie.indexOf=function(d,p,_){var V=null==d?0:d.length;if(!V)return-1;var he=null==_?0:ti(_);return he<0&&(he=zr(V+he,0)),il(d,p,he)},Ie.inRange=function(d,p,_){return p=_l(p),_===ee?(_=p,p=0):_=_l(_),function(d,p,_){return d>=ps(p,_)&&d=-Re&&d<=Re},Ie.isSet=yA,Ie.isString=gy,Ie.isSymbol=da,Ie.isTypedArray=df,Ie.isUndefined=function(d){return d===ee},Ie.isWeakMap=function(d){return Ar(d)&&$s(d)==H},Ie.isWeakSet=function(d){return Ar(d)&&"[object WeakSet]"==As(d)},Ie.join=function(d,p){return null==d?"":Uh.call(d,p)},Ie.kebabCase=FA,Ie.last=aa,Ie.lastIndexOf=function(d,p,_){var V=null==d?0:d.length;if(!V)return-1;var he=V;return _!==ee&&(he=(he=ti(_))<0?zr(V+he,0):ps(he,V-1)),p==p?function(ct,Rt,Tt){for(var hn=Tt+1;hn--;)if(ct[hn]===Rt)return hn;return hn}(d,p,he):Td(d,Dc,he,!0)},Ie.lowerCase=LA,Ie.lowerFirst=$k,Ie.lt=Uc,Ie.lte=my,Ie.max=function(d){return d&&d.length?Kh(d,so,yo):ee},Ie.maxBy=function(d,p){return d&&d.length?Kh(d,kn(p,2),yo):ee},Ie.mean=function(d){return Ss(d,so)},Ie.meanBy=function(d,p){return Ss(d,kn(p,2))},Ie.min=function(d){return d&&d.length?Kh(d,so,Sv):ee},Ie.minBy=function(d,p){return d&&d.length?Kh(d,kn(p,2),Sv):ee},Ie.stubArray=Hc,Ie.stubFalse=Fy,Ie.stubObject=function(){return{}},Ie.stubString=function(){return""},Ie.stubTrue=function(){return!0},Ie.multiply=iE,Ie.nth=function(d,p){return d&&d.length?Du(d,ti(p)):ee},Ie.noConflict=function(){return Ui._===this&&(Ui._=h_),this},Ie.noop=Py,Ie.now=Bu,Ie.pad=function(d,p,_){d=Hi(d);var V=(p=ti(p))?Lh(d):0;if(!p||V>=p)return d;var he=(p-V)/2;return Fp(Si(he),_)+d+Fp(jt(he),_)},Ie.padEnd=function(d,p,_){d=Hi(d);var V=(p=ti(p))?Lh(d):0;return p&&Vp){var V=d;d=p,p=V}if(_||d%1||p%1){var he=zh();return ps(d+he*(p-d+MC("1e-"+((he+"").length-1))),p)}return Hl(d,p)},Ie.reduce=function(d,p,_){var V=On(d)?Eu:ea,he=arguments.length<3;return V(d,kn(p,4),_,he,Nc)},Ie.reduceRight=function(d,p,_){var V=On(d)?Cd:ea,he=arguments.length<3;return V(d,kn(p,4),_,he,C_)},Ie.repeat=function(d,p,_){return p=(_?Ws(d,p,_):p===ee)?1:ti(p),Dp(Hi(d),p)},Ie.replace=function(){var d=arguments,p=Hi(d[0]);return d.length<3?p:p.replace(d[1],d[2])},Ie.result=function(d,p,_){var V=-1,he=(p=Lc(p,d)).length;for(he||(he=1,d=ee);++VRe)return[];var _=ve,V=ps(d,ve);p=kn(p),d-=ve;for(var he=Md(V,p);++_=Ne)return d;var nt=_-Lh(V);if(nt<1)return V;var dt=Qe?ul(Qe,0,nt).join(""):d.slice(0,nt);if(he===ee)return dt+V;if(Qe&&(nt+=dt.length-nt),Ow(he)){if(d.slice(nt).search(he)){var Ft,Lt=dt;for(he.global||(he=u_(he.source,Hi(Xn.exec(he))+"g")),he.lastIndex=0;Ft=he.exec(Lt);)var Gt=Ft.index;dt=dt.slice(0,Gt===ee?nt:Gt)}}else if(d.indexOf(Vo(he),nt)!=nt){var nn=dt.lastIndexOf(he);nn>-1&&(dt=dt.slice(0,nn))}return dt+V},Ie.unescape=function(d){return(d=Hi(d))&&ws.test(d)?d.replace(kl,c_):d},Ie.uniqueId=function(d){var p=++pk;return Hi(d)+p},Ie.upperCase=Xw,Ie.upperFirst=ig,Ie.each=oy,Ie.eachRight=Wp,Ie.first=qv,Ny(Ie,function(){var d={};return cl(Ie,function(p,_){Xi.call(Ie.prototype,_)||(d[_]=p)}),d}(),{chain:!1}),Ie.VERSION="4.17.21",Us(["bind","bindKey","curry","curryRight","partial","partialRight"],function(d){Ie[d].placeholder=Ie}),Us(["drop","take"],function(d,p){fi.prototype[d]=function(_){_=_===ee?1:zr(ti(_),0);var V=this.__filtered__&&!p?new fi(this):this.clone();return V.__filtered__?V.__takeCount__=ps(_,V.__takeCount__):V.__views__.push({size:ps(_,ve),type:d+(V.__dir__<0?"Right":"")}),V},fi.prototype[d+"Right"]=function(_){return this.reverse()[d](_).reverse()}}),Us(["filter","map","takeWhile"],function(d,p){var _=p+1,V=1==_||3==_;fi.prototype[d]=function(he){var Ne=this.clone();return Ne.__iteratees__.push({iteratee:kn(he,3),type:_}),Ne.__filtered__=Ne.__filtered__||V,Ne}}),Us(["head","last"],function(d,p){var _="take"+(p?"Right":"");fi.prototype[d]=function(){return this[_](1).value()[0]}}),Us(["initial","tail"],function(d,p){var _="drop"+(p?"":"Right");fi.prototype[d]=function(){return this.__filtered__?new fi(this):this[_](1)}}),fi.prototype.compact=function(){return this.filter(so)},fi.prototype.find=function(d){return this.filter(d).head()},fi.prototype.findLast=function(d){return this.reverse().find(d)},fi.prototype.invokeMap=pi(function(d,p){return"function"==typeof d?new fi(this):this.map(function(_){return ka(_,d,p)})}),fi.prototype.reject=function(d){return this.filter(dy(kn(d)))},fi.prototype.slice=function(d,p){d=ti(d);var _=this;return _.__filtered__&&(d>0||p<0)?new fi(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),p!==ee&&(_=(p=ti(p))<0?_.dropRight(-p):_.take(p-d)),_)},fi.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},fi.prototype.toArray=function(){return this.take(ve)},cl(fi.prototype,function(d,p){var _=/^(?:filter|find|map|reject)|While$/.test(p),V=/^(?:head|last)$/.test(p),he=Ie[V?"take"+("last"==p?"Right":""):p],Ne=V||/^find/.test(p);!he||(Ie.prototype[p]=function(){var Qe=this.__wrapped__,nt=V?[1]:arguments,dt=Qe instanceof fi,Ft=nt[0],Lt=dt||On(Qe),Gt=function(mi){var Di=he.apply(Ie,Ur([mi],nt));return V&&nn?Di[0]:Di};Lt&&_&&"function"==typeof Ft&&1!=Ft.length&&(dt=Lt=!1);var nn=this.__chain__,wn=!!this.__actions__.length,Fn=Ne&&!nn,gi=dt&&!wn;if(!Ne&&Lt){Qe=gi?Qe:new fi(this);var Bn=d.apply(Qe,nt);return Bn.__actions__.push({func:Xd,args:[Gt],thisArg:ee}),new Lo(Bn,nn)}return Fn&&gi?d.apply(this,nt):(Bn=this.thru(Gt),Fn?V?Bn.value()[0]:Bn.value():Bn)})}),Us(["pop","push","shift","sort","splice","unshift"],function(d){var p=dr[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",V=/^(?:pop|shift)$/.test(d);Ie.prototype[d]=function(){var he=arguments;if(V&&!this.__chain__){var Ne=this.value();return p.apply(On(Ne)?Ne:[],he)}return this[_](function(Qe){return p.apply(On(Qe)?Qe:[],he)})}}),cl(fi.prototype,function(d,p){var _=Ie[p];if(_){var V=_.name+"";Xi.call(Od,V)||(Od[V]=[]),Od[V].push({name:p,func:_})}}),Od[Vc(ee,2).name]=[{name:"wrapper",func:ee}],fi.prototype.clone=function(){var d=new fi(this.__wrapped__);return d.__actions__=no(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=no(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=no(this.__views__),d},fi.prototype.reverse=function(){if(this.__filtered__){var d=new fi(this);d.__dir__=-1,d.__filtered__=!0}else(d=this.clone()).__dir__*=-1;return d},fi.prototype.value=function(){var d=this.__wrapped__.value(),p=this.__dir__,_=On(d),V=p<0,he=_?d.length:0,Ne=function(d,p,_){for(var V=-1,he=_.length;++V=this.__values__.length;return{done:d,value:d?ee:this.__values__[this.__index__++]}},Ie.prototype.plant=function(d){for(var p,_=this;_ instanceof Wh;){var V=sf(_);V.__index__=0,V.__values__=ee,p?he.__wrapped__=V:p=V;var he=V;_=_.__wrapped__}return he.__wrapped__=d,p},Ie.prototype.reverse=function(){var d=this.__wrapped__;if(d instanceof fi){var p=d;return this.__actions__.length&&(p=new fi(this)),(p=p.reverse()).__actions__.push({func:Xd,args:[Z_],thisArg:ee}),new Lo(p,this.__chain__)}return this.thru(Z_)},Ie.prototype.toJSON=Ie.prototype.valueOf=Ie.prototype.value=function(){return sT(this.__wrapped__,this.__actions__)},Ie.prototype.first=Ie.prototype.head,jh&&(Ie.prototype[jh]=function(){return this}),Ie}();Ui._=Bh,(lt=function(){return Bh}.call(Xe,et,Xe,Vt))!==ee&&(Vt.exports=lt)}.call(this)},5478:function(Vt){Vt.exports=function(){"use strict";function Xe(ot,ut){for(var ft=0;ftot.length)&&(ut=ot.length);for(var ft=0,ye=new Array(ut);ft=ot.length?{done:!0}:{done:!1,value:ot[ye++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var je={exports:{}};function Q(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}je.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Q,changeDefaults:function(ot){je.exports.defaults=ot}};var pe=/[&<>"']/,X=/[&<>"']/g,U=/[<>"']|&(?!#?\w+;)/,F=/[<>"']|&(?!#?\w+;)/g,Y={"&":"&","<":"<",">":">",'"':""","'":"'"},B=function(ut){return Y[ut]};var C=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function R(ot){return ot.replace(C,function(ut,ft){return"colon"===(ft=ft.toLowerCase())?":":"#"===ft.charAt(0)?"x"===ft.charAt(1)?String.fromCharCode(parseInt(ft.substring(2),16)):String.fromCharCode(+ft.substring(1)):""})}var M=/(^|[^\[])\^/g;var v=/[^\w:]/g,b=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var T={},E=/^[^:]+:\/*[^/]*$/,O=/^([^:]+:)[\s\S]*$/,$=/^([^:]+:\/*[^/]*)[\s\S]*$/;function D(ot,ut){T[" "+ot]||(T[" "+ot]=E.test(ot)?ot+"/":W(ot,"/",!0));var ft=-1===(ot=T[" "+ot]).indexOf(":");return"//"===ut.substring(0,2)?ft?ut:ot.replace(O,"$1")+ut:"/"===ut.charAt(0)?ft?ut:ot.replace($,"$1")+ut:ot+ut}function W(ot,ut,ft){var ye=ot.length;if(0===ye)return"";for(var Te=0;Te1;)1&ut&&(ft+=ot),ut>>=1,ot+=ot;return ft+ot},Re=je.exports.defaults,be=W,re=function(ot,ut){var ye=ot.replace(/\|/g,function(We,ht,rt){for(var Dt=!1,It=ht;--It>=0&&"\\"===rt[It];)Dt=!Dt;return Dt?"|":" |"}).split(/ \|/),Te=0;if(ye.length>ut)ye.splice(ut);else for(;ye.length1?{type:"space",raw:Te[0]}:{raw:"\n"}},ut.code=function(ye){var Te=this.rules.block.code.exec(ye);if(Te){var We=Te[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:Te[0],codeBlockStyle:"indented",text:this.options.pedantic?We:be(We,"\n")}}},ut.fences=function(ye){var Te=this.rules.block.fences.exec(ye);if(Te){var We=Te[0],ht=function(ot,ut){var ft=ot.match(/^(\s+)(?:```)/);if(null===ft)return ut;var ye=ft[1];return ut.split("\n").map(function(Te){var We=Te.match(/^\s+/);return null===We?Te:We[0].length>=ye.length?Te.slice(ye.length):Te}).join("\n")}(We,Te[3]||"");return{type:"code",raw:We,lang:Te[2]?Te[2].trim():Te[2],text:ht}}},ut.heading=function(ye){var Te=this.rules.block.heading.exec(ye);if(Te){var We=Te[2].trim();if(/#$/.test(We)){var ht=be(We,"#");(this.options.pedantic||!ht||/ $/.test(ht))&&(We=ht.trim())}return{type:"heading",raw:Te[0],depth:Te[1].length,text:We}}},ut.nptable=function(ye){var Te=this.rules.block.nptable.exec(ye);if(Te){var We={type:"table",header:re(Te[1].replace(/^ *| *\| *$/g,"")),align:Te[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:Te[3]?Te[3].replace(/\n$/,"").split("\n"):[],raw:Te[0]};if(We.header.length===We.align.length){var rt,ht=We.align.length;for(rt=0;rt ?/gm,"");return{type:"blockquote",raw:Te[0],text:We}}},ut.list=function(ye){var Te=this.rules.block.list.exec(ye);if(Te){var Qt,zn,ci,Rn,bn,Xn,Cn,rr,sr,We=Te[0],ht=Te[2],rt=ht.length>1,Dt={type:"list",raw:We,ordered:rt,start:rt?+ht.slice(0,-1):"",loose:!1,items:[]},It=Te[0].match(this.rules.block.item),Ot=!1,Qn=It.length;ci=this.rules.block.listItemStart.exec(It[0]);for(var Wi=0;Wici[1].length:Rn[1].length>=ci[0].length||Rn[1].length>3){It.splice(Wi,2,It[Wi]+(!this.options.pedantic&&Rn[1].length/i.test(ht[0])&&(Te=!1),!We&&/^<(pre|code|kbd|script)(\s|>)/i.test(ht[0])?We=!0:We&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ht[0])&&(We=!1),{type:this.options.sanitize?"text":"html",raw:ht[0],inLink:Te,inRawBlock:We,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ht[0]):ve(ht[0]):ht[0]}},ut.link=function(ye){var Te=this.rules.inline.link.exec(ye);if(Te){var We=Te[2].trim();if(!this.options.pedantic&&/^$/.test(We))return;var ht=be(We.slice(0,-1),"\\");if((We.length-ht.length)%2==0)return}else{var rt=Fe(Te[2],"()");if(rt>-1){var It=(0===Te[0].indexOf("!")?5:4)+Te[1].length+rt;Te[2]=Te[2].substring(0,rt),Te[0]=Te[0].substring(0,It).trim(),Te[3]=""}}var Ot=Te[2],Qt="";if(this.options.pedantic){var zn=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Ot);zn&&(Ot=zn[1],Qt=zn[3])}else Qt=Te[3]?Te[3].slice(1,-1):"";return Ot=Ot.trim(),/^$/.test(We)?Ot.slice(1):Ot.slice(1,-1)),Ze(Te,{href:Ot&&Ot.replace(this.rules.inline._escapes,"$1"),title:Qt&&Qt.replace(this.rules.inline._escapes,"$1")},Te[0])}},ut.reflink=function(ye,Te){var We;if((We=this.rules.inline.reflink.exec(ye))||(We=this.rules.inline.nolink.exec(ye))){var ht=(We[2]||We[1]).replace(/\s+/g," ");if(!(ht=Te[ht.toLowerCase()])||!ht.href){var rt=We[0].charAt(0);return{type:"text",raw:rt,text:rt}}return Ze(We,ht,We[0])}},ut.emStrong=function(ye,Te,We){void 0===We&&(We="");var ht=this.rules.inline.emStrong.lDelim.exec(ye);if(ht&&(!ht[3]||!We.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var rt=ht[1]||ht[2]||"";if(!rt||rt&&(""===We||this.rules.inline.punctuation.exec(We))){var It,Ot,Dt=ht[0].length-1,Qt=Dt,zn=0,ci="*"===ht[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ci.lastIndex=0,Te=Te.slice(-1*ye.length+Dt);null!=(ht=ci.exec(Te));)if(It=ht[1]||ht[2]||ht[3]||ht[4]||ht[5]||ht[6]){if(Ot=It.length,ht[3]||ht[4]){Qt+=Ot;continue}if((ht[5]||ht[6])&&Dt%3&&!((Dt+Ot)%3)){zn+=Ot;continue}if(!((Qt-=Ot)>0))return Ot=Math.min(Ot,Ot+Qt+zn),Math.min(Dt,Ot)%2?{type:"em",raw:ye.slice(0,Dt+ht.index+Ot+1),text:ye.slice(1,Dt+ht.index+Ot)}:{type:"strong",raw:ye.slice(0,Dt+ht.index+Ot+1),text:ye.slice(2,Dt+ht.index+Ot-1)}}}}},ut.codespan=function(ye){var Te=this.rules.inline.code.exec(ye);if(Te){var We=Te[2].replace(/\n/g," "),ht=/[^ ]/.test(We),rt=/^ /.test(We)&&/ $/.test(We);return ht&&rt&&(We=We.substring(1,We.length-1)),We=ve(We,!0),{type:"codespan",raw:Te[0],text:We}}},ut.br=function(ye){var Te=this.rules.inline.br.exec(ye);if(Te)return{type:"br",raw:Te[0]}},ut.del=function(ye){var Te=this.rules.inline.del.exec(ye);if(Te)return{type:"del",raw:Te[0],text:Te[2]}},ut.autolink=function(ye,Te){var ht,rt,We=this.rules.inline.autolink.exec(ye);if(We)return rt="@"===We[2]?"mailto:"+(ht=ve(this.options.mangle?Te(We[1]):We[1])):ht=ve(We[1]),{type:"link",raw:We[0],text:ht,href:rt,tokens:[{type:"text",raw:ht,text:ht}]}},ut.url=function(ye,Te){var We;if(We=this.rules.inline.url.exec(ye)){var ht,rt;if("@"===We[2])rt="mailto:"+(ht=ve(this.options.mangle?Te(We[0]):We[0]));else{var Dt;do{Dt=We[0],We[0]=this.rules.inline._backpedal.exec(We[0])[0]}while(Dt!==We[0]);ht=ve(We[0]),rt="www."===We[1]?"http://"+ht:ht}return{type:"link",raw:We[0],text:ht,href:rt,tokens:[{type:"text",raw:ht,text:ht}]}}},ut.inlineText=function(ye,Te,We){var rt,ht=this.rules.inline.text.exec(ye);if(ht)return rt=Te?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ht[0]):ve(ht[0]):ht[0]:ve(this.options.smartypants?We(ht[0]):ht[0]),{type:"text",raw:ht[0],text:rt}},ot}(),le=te_noopTest,_e=te_edit,Me=te_merge,Ce={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:le,table:le,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Ce.def=_e(Ce.def).replace("label",Ce._label).replace("title",Ce._title).getRegex(),Ce.bullet=/(?:[*+-]|\d{1,9}[.)])/,Ce.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,Ce.item=_e(Ce.item,"gm").replace(/bull/g,Ce.bullet).getRegex(),Ce.listItemStart=_e(/^( *)(bull) */).replace("bull",Ce.bullet).getRegex(),Ce.list=_e(Ce.list).replace(/bull/g,Ce.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Ce.def.source+")").getRegex(),Ce._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Ce._comment=/|$)/,Ce.html=_e(Ce.html,"i").replace("comment",Ce._comment).replace("tag",Ce._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Ce.paragraph=_e(Ce._paragraph).replace("hr",Ce.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Ce._tag).getRegex(),Ce.blockquote=_e(Ce.blockquote).replace("paragraph",Ce.paragraph).getRegex(),Ce.normal=Me({},Ce),Ce.gfm=Me({},Ce.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Ce.gfm.nptable=_e(Ce.gfm.nptable).replace("hr",Ce.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Ce._tag).getRegex(),Ce.gfm.table=_e(Ce.gfm.table).replace("hr",Ce.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Ce._tag).getRegex(),Ce.pedantic=Me({},Ce.normal,{html:_e("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Ce._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:le,paragraph:_e(Ce.normal._paragraph).replace("hr",Ce.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Ce.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var $e={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:le,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:le,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};$e.punctuation=_e($e.punctuation).replace(/punctuation/g,$e._punctuation).getRegex(),$e.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,$e.escapedEmSt=/\\\*|\\_/g,$e._comment=_e(Ce._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),$e.emStrong.lDelim=_e($e.emStrong.lDelim).replace(/punct/g,$e._punctuation).getRegex(),$e.emStrong.rDelimAst=_e($e.emStrong.rDelimAst,"g").replace(/punct/g,$e._punctuation).getRegex(),$e.emStrong.rDelimUnd=_e($e.emStrong.rDelimUnd,"g").replace(/punct/g,$e._punctuation).getRegex(),$e._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,$e._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,$e._email=/[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])?)+(?![-_])/,$e.autolink=_e($e.autolink).replace("scheme",$e._scheme).replace("email",$e._email).getRegex(),$e._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,$e.tag=_e($e.tag).replace("comment",$e._comment).replace("attribute",$e._attribute).getRegex(),$e._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,$e._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,$e._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,$e.link=_e($e.link).replace("label",$e._label).replace("href",$e._href).replace("title",$e._title).getRegex(),$e.reflink=_e($e.reflink).replace("label",$e._label).getRegex(),$e.reflinkSearch=_e($e.reflinkSearch,"g").replace("reflink",$e.reflink).replace("nolink",$e.nolink).getRegex(),$e.normal=Me({},$e),$e.pedantic=Me({},$e.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:_e(/^!?\[(label)\]\((.*?)\)/).replace("label",$e._label).getRegex(),reflink:_e(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",$e._label).getRegex()}),$e.gfm=Me({},$e.normal,{escape:_e($e.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(ye="x"+ye.toString(16)),ut+="&#"+ye+";";return ut}var Ye=function(){function ot(ft){this.tokens=[],this.tokens.links=Object.create(null),this.options=ft||Ke,this.options.tokenizer=this.options.tokenizer||new ze,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var ye={block:Ve.normal,inline:K.normal};this.options.pedantic?(ye.block=Ve.pedantic,ye.inline=K.pedantic):this.options.gfm&&(ye.block=Ve.gfm,ye.inline=this.options.breaks?K.breaks:K.gfm),this.tokenizer.rules=ye}ot.lex=function(ye,Te){return new ot(Te).lex(ye)},ot.lexInline=function(ye,Te){return new ot(Te).inlineTokens(ye)};var ut=ot.prototype;return ut.lex=function(ye){return ye=ye.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(ye,this.tokens,!0),this.inline(this.tokens),this.tokens},ut.blockTokens=function(ye,Te,We){var rt,Dt,It,Ot,Qt,zn,ht=this;for(void 0===Te&&(Te=[]),void 0===We&&(We=!0),this.options.pedantic&&(ye=ye.replace(/^ +$/gm,""));ye;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Rn){return!!(rt=Rn.call(ht,ye,Te))&&(ye=ye.substring(rt.raw.length),Te.push(rt),!0)}))){if(rt=this.tokenizer.space(ye)){ye=ye.substring(rt.raw.length),rt.type&&Te.push(rt);continue}if(rt=this.tokenizer.code(ye)){ye=ye.substring(rt.raw.length),(Ot=Te[Te.length-1])&&"paragraph"===Ot.type?(Ot.raw+="\n"+rt.raw,Ot.text+="\n"+rt.text):Te.push(rt);continue}if(rt=this.tokenizer.fences(ye)){ye=ye.substring(rt.raw.length),Te.push(rt);continue}if(rt=this.tokenizer.heading(ye)){ye=ye.substring(rt.raw.length),Te.push(rt);continue}if(rt=this.tokenizer.nptable(ye)){ye=ye.substring(rt.raw.length),Te.push(rt);continue}if(rt=this.tokenizer.hr(ye)){ye=ye.substring(rt.raw.length),Te.push(rt);continue}if(rt=this.tokenizer.blockquote(ye)){ye=ye.substring(rt.raw.length),rt.tokens=this.blockTokens(rt.text,[],We),Te.push(rt);continue}if(rt=this.tokenizer.list(ye)){for(ye=ye.substring(rt.raw.length),It=rt.items.length,Dt=0;Dt=0&&(Rn=Math.min(Rn,Xn))}),Rn<1/0&&Rn>=0&&(Qt=ye.substring(0,Rn+1))}(),We&&(rt=this.tokenizer.paragraph(Qt))){Ot=Te[Te.length-1],zn&&"paragraph"===Ot.type?(Ot.raw+="\n"+rt.raw,Ot.text+="\n"+rt.text):Te.push(rt),zn=Qt.length!==ye.length,ye=ye.substring(rt.raw.length);continue}if(rt=this.tokenizer.text(ye)){ye=ye.substring(rt.raw.length),(Ot=Te[Te.length-1])&&"text"===Ot.type?(Ot.raw+="\n"+rt.raw,Ot.text+="\n"+rt.text):Te.push(rt);continue}if(ye){var ci="Infinite loop on byte: "+ye.charCodeAt(0);if(this.options.silent){console.error(ci);break}throw new Error(ci)}}return Te},ut.inline=function(ye){var Te,We,ht,rt,Dt,It,Ot=ye.length;for(Te=0;Te0)for(;null!=(zn=this.tokenizer.rules.inline.reflinkSearch.exec(Qt));)bn.includes(zn[0].slice(zn[0].lastIndexOf("[")+1,-1))&&(Qt=Qt.slice(0,zn.index)+"["+q("a",zn[0].length-2)+"]"+Qt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(zn=this.tokenizer.rules.inline.blockSkip.exec(Qt));)Qt=Qt.slice(0,zn.index)+"["+q("a",zn[0].length-2)+"]"+Qt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(zn=this.tokenizer.rules.inline.escapedEmSt.exec(Qt));)Qt=Qt.slice(0,zn.index)+"++"+Qt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;ye;)if(ci||(Rn=""),ci=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Cn){return!!(Dt=Cn.call(rt,ye,Te))&&(ye=ye.substring(Dt.raw.length),Te.push(Dt),!0)}))){if(Dt=this.tokenizer.escape(ye)){ye=ye.substring(Dt.raw.length),Te.push(Dt);continue}if(Dt=this.tokenizer.tag(ye,We,ht)){ye=ye.substring(Dt.raw.length),We=Dt.inLink,ht=Dt.inRawBlock,(It=Te[Te.length-1])&&"text"===Dt.type&&"text"===It.type?(It.raw+=Dt.raw,It.text+=Dt.text):Te.push(Dt);continue}if(Dt=this.tokenizer.link(ye)){ye=ye.substring(Dt.raw.length),"link"===Dt.type&&(Dt.tokens=this.inlineTokens(Dt.text,[],!0,ht)),Te.push(Dt);continue}if(Dt=this.tokenizer.reflink(ye,this.tokens.links)){ye=ye.substring(Dt.raw.length),It=Te[Te.length-1],"link"===Dt.type?(Dt.tokens=this.inlineTokens(Dt.text,[],!0,ht),Te.push(Dt)):It&&"text"===Dt.type&&"text"===It.type?(It.raw+=Dt.raw,It.text+=Dt.text):Te.push(Dt);continue}if(Dt=this.tokenizer.emStrong(ye,Qt,Rn)){ye=ye.substring(Dt.raw.length),Dt.tokens=this.inlineTokens(Dt.text,[],We,ht),Te.push(Dt);continue}if(Dt=this.tokenizer.codespan(ye)){ye=ye.substring(Dt.raw.length),Te.push(Dt);continue}if(Dt=this.tokenizer.br(ye)){ye=ye.substring(Dt.raw.length),Te.push(Dt);continue}if(Dt=this.tokenizer.del(ye)){ye=ye.substring(Dt.raw.length),Dt.tokens=this.inlineTokens(Dt.text,[],We,ht),Te.push(Dt);continue}if(Dt=this.tokenizer.autolink(ye,ce)){ye=ye.substring(Dt.raw.length),Te.push(Dt);continue}if(!We&&(Dt=this.tokenizer.url(ye,ce))){ye=ye.substring(Dt.raw.length),Te.push(Dt);continue}if(Ot=ye,this.options.extensions&&this.options.extensions.startInline&&function(){var Cn=1/0,rr=ye.slice(1),sr=void 0;rt.options.extensions.startInline.forEach(function(Qn){"number"==typeof(sr=Qn.call(this,rr))&&sr>=0&&(Cn=Math.min(Cn,sr))}),Cn<1/0&&Cn>=0&&(Ot=ye.substring(0,Cn+1))}(),Dt=this.tokenizer.inlineText(Ot,ht,ge)){ye=ye.substring(Dt.raw.length),"_"!==Dt.raw.slice(-1)&&(Rn=Dt.raw.slice(-1)),ci=!0,(It=Te[Te.length-1])&&"text"===It.type?(It.raw+=Dt.raw,It.text+=Dt.text):Te.push(Dt);continue}if(ye){var Xn="Infinite loop on byte: "+ye.charCodeAt(0);if(this.options.silent){console.error(Xn);break}throw new Error(Xn)}}return Te},function(ot,ut,ft){ut&&Xe(ot.prototype,ut),ft&&Xe(ot,ft)}(ot,null,[{key:"rules",get:function(){return{block:Ve,inline:K}}}]),ot}(),_t=je.exports.defaults,gt=te_cleanUrl,Ae=te_escape,z=function(){function ot(ft){this.options=ft||_t}var ut=ot.prototype;return ut.code=function(ye,Te,We){var ht=(Te||"").match(/\S*/)[0];if(this.options.highlight){var rt=this.options.highlight(ye,ht);null!=rt&&rt!==ye&&(We=!0,ye=rt)}return ye=ye.replace(/\n$/,"")+"\n",ht?'
                      '+(We?ye:Ae(ye,!0))+"
                      \n":"
                      "+(We?ye:Ae(ye,!0))+"
                      \n"},ut.blockquote=function(ye){return"
                      \n"+ye+"
                      \n"},ut.html=function(ye){return ye},ut.heading=function(ye,Te,We,ht){return this.options.headerIds?"'+ye+"\n":""+ye+"\n"},ut.hr=function(){return this.options.xhtml?"
                      \n":"
                      \n"},ut.list=function(ye,Te,We){var ht=Te?"ol":"ul";return"<"+ht+(Te&&1!==We?' start="'+We+'"':"")+">\n"+ye+"\n"},ut.listitem=function(ye){return"
                    • "+ye+"
                    • \n"},ut.checkbox=function(ye){return" "},ut.paragraph=function(ye){return"

                      "+ye+"

                      \n"},ut.table=function(ye,Te){return Te&&(Te=""+Te+""),"\n\n"+ye+"\n"+Te+"
                      \n"},ut.tablerow=function(ye){return"\n"+ye+"\n"},ut.tablecell=function(ye,Te){var We=Te.header?"th":"td";return(Te.align?"<"+We+' align="'+Te.align+'">':"<"+We+">")+ye+"\n"},ut.strong=function(ye){return""+ye+""},ut.em=function(ye){return""+ye+""},ut.codespan=function(ye){return""+ye+""},ut.br=function(){return this.options.xhtml?"
                      ":"
                      "},ut.del=function(ye){return""+ye+""},ut.link=function(ye,Te,We){if(null===(ye=gt(this.options.sanitize,this.options.baseUrl,ye)))return We;var ht='"+We+""},ut.image=function(ye,Te,We){if(null===(ye=gt(this.options.sanitize,this.options.baseUrl,ye)))return We;var ht=''+We+'":">")},ut.text=function(ye){return ye},ot}(),L=function(){function ot(){}var ut=ot.prototype;return ut.strong=function(ye){return ye},ut.em=function(ye){return ye},ut.codespan=function(ye){return ye},ut.del=function(ye){return ye},ut.html=function(ye){return ye},ut.text=function(ye){return ye},ut.link=function(ye,Te,We){return""+We},ut.image=function(ye,Te,We){return""+We},ut.br=function(){return""},ot}(),H=function(){function ot(){this.seen={}}var ut=ot.prototype;return ut.serialize=function(ye){return ye.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},ut.getNextSafeSlug=function(ye,Te){var We=ye,ht=0;if(this.seen.hasOwnProperty(We)){ht=this.seen[ye];do{We=ye+"-"+ ++ht}while(this.seen.hasOwnProperty(We))}return Te||(this.seen[ye]=ht,this.seen[We]=0),We},ut.slug=function(ye,Te){void 0===Te&&(Te={});var We=this.serialize(ye);return this.getNextSafeSlug(We,Te.dryrun)},ot}(),Le=z,it=L,At=H,kt=je.exports.defaults,In=te_unescape,Yn=Ye,Mi=function(){function ot(ft){this.options=ft||kt,this.options.renderer=this.options.renderer||new Le,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new it,this.slugger=new At}ot.parse=function(ye,Te){return new ot(Te).parse(ye)},ot.parseInline=function(ye,Te){return new ot(Te).parseInline(ye)};var ut=ot.prototype;return ut.parse=function(ye,Te){void 0===Te&&(Te=!0);var ht,rt,Dt,It,Ot,Qt,zn,ci,Rn,bn,Xn,Cn,rr,sr,Qn,Wi,Ca,Qr,ae,We="",me=ye.length;for(ht=0;ht0&&"text"===Qn.tokens[0].type?(Qn.tokens[0].text=Qr+" "+Qn.tokens[0].text,Qn.tokens[0].tokens&&Qn.tokens[0].tokens.length>0&&"text"===Qn.tokens[0].tokens[0].type&&(Qn.tokens[0].tokens[0].text=Qr+" "+Qn.tokens[0].tokens[0].text)):Qn.tokens.unshift({type:"text",text:Qr}):sr+=Qr),sr+=this.parse(Qn.tokens,rr),Rn+=this.renderer.listitem(sr,Ca,Wi);We+=this.renderer.list(Rn,Xn,Cn);continue;case"html":We+=this.renderer.html(bn.text);continue;case"paragraph":We+=this.renderer.paragraph(this.parseInline(bn.tokens));continue;case"text":for(Rn=bn.tokens?this.parseInline(bn.tokens):bn.text;ht+1An error occurred:

                      "+xa(Dt.message+"",!0)+"
                      ";throw Dt}}return en.options=en.setOptions=function(ot){return Bs(en.defaults,ot),Sa(en.defaults),en},en.getDefaults=kl,en.defaults=ws,en.use=function(){for(var ot=this,ut=arguments.length,ft=new Array(ut),ye=0;yeAn error occurred:

                      "+xa(ye.message+"",!0)+"
                      ";throw ye}},en.Parser=Mi,en.parser=Mi.parse,en.Renderer=Xr,en.TextRenderer=Ls,en.Lexer=Yn,en.lexer=Yn.lex,en.Tokenizer=xi,en.Slugger=fs,en.parse=en,en}()},9369:(Vt,Xe,et)=>{var lt=et(6284),ee=et(7830);function Ct(){this.clear()}Ct.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},Ct.prototype.enqueue=function(je){return this.items.push(je),++this.size},Ct.prototype.dequeue=function(){if(this.size){var je=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,je}},Ct.prototype.peek=function(){if(this.size)return this.items[this.offset]},Ct.prototype.forEach=function(je,Q){Q=arguments.length>1?Q:this;for(var Ee=this.offset,pe=0,X=this.items.length;Ee=je.length)return{done:!0};var Ee=je[Q];return Q++,{value:Ee,done:!1}})},Ct.prototype.entries=function(){var je=this.items,Q=this.offset,Ee=0;return new lt(function(){if(Q>=je.length)return{done:!0};var pe=je[Q];return Q++,{value:[Ee++,pe],done:!1}})},"undefined"!=typeof Symbol&&(Ct.prototype[Symbol.iterator]=Ct.prototype.values),Ct.prototype.toString=function(){return this.toArray().join(",")},Ct.prototype.toJSON=function(){return this.toArray()},Ct.prototype.inspect=function(){var je=this.toArray();return Object.defineProperty(je,"constructor",{value:Ct,enumerable:!1}),je},"undefined"!=typeof Symbol&&(Ct.prototype[Symbol.for("nodejs.util.inspect.custom")]=Ct.prototype.inspect),Ct.from=function(je){var Q=new Ct;return ee(je,function(Ee){Q.enqueue(Ee)}),Q},Ct.of=function(){return Ct.from(arguments)},Vt.exports=Ct},8104:Vt=>{Vt.exports=function Xe(et,lt,ee){function Ct(Ee,pe){if(!lt[Ee]){if(!et[Ee]){if(je)return je(Ee,!0);throw new Error("Cannot find module '"+Ee+"'")}pe=lt[Ee]={exports:{}},et[Ee][0].call(pe.exports,function(U){return Ct(et[Ee][1][U]||U)},pe,pe.exports,Xe,et,lt,ee)}return lt[Ee].exports}for(var je=void 0,Q=0;Q>16),x((65280&O)>>8),x(255&O);return 2==$?x(255&(O=S(T.charAt(E))<<2|S(T.charAt(E+1))>>4)):1==$&&(x((O=S(T.charAt(E))<<10|S(T.charAt(E+1))<<4|S(T.charAt(E+2))>>2)>>8&255),x(255&O)),D},Y.fromByteArray=function(T){var E,O,$,D,P=T.length%3,Z="";function x(W){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(W)}for(E=0,$=T.length-P;E<$;E+=3)Z+=x((D=O=(T[E]<<16)+(T[E+1]<<8)+T[E+2])>>18&63)+x(D>>12&63)+x(D>>6&63)+x(63&D);switch(P){case 1:Z=(Z+=x((O=T[T.length-1])>>2))+x(O<<4&63)+"==";break;case 2:Z=(Z=(Z+=x((O=(T[T.length-2]<<8)+T[T.length-1])>>10))+x(O>>4&63))+x(O<<2&63)+"="}return Z}}(void 0===lt?this.base64js={}:lt)}).call(this,Xe("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Xe("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(Xe,et,lt){(function(ee,Ct,je,Q,Ee,pe,X,U,F){var Y=Xe("base64-js"),B=Xe("ieee754");function je(J,le,_e){if(!(this instanceof je))return new je(J,le,_e);var Me,Ce,$e,Se,ze=typeof J;if("base64"===le&&"string"==ze)for(J=(Se=J).trim?Se.trim():Se.replace(/^\s+|\s+$/g,"");J.length%4!=0;)J+="=";if("number"==ze)Me=ne(J);else if("string"==ze)Me=je.byteLength(J,le);else{if("object"!=ze)throw new Error("First argument needs to be a number, array or string.");Me=ne(J.length)}if(je._useTypedArrays?Ce=je._augment(new Uint8Array(Me)):((Ce=this).length=Me,Ce._isBuffer=!0),je._useTypedArrays&&"number"==typeof J.byteLength)Ce._set(J);else if(ue(Se=J)||je.isBuffer(Se)||Se&&"object"==typeof Se&&"number"==typeof Se.length)for($e=0;$e>>0)):(le+1>>0),Ce}function v(J,le,_e,Me){if(Me||(Ge("boolean"==typeof _e,"missing or invalid endian"),Ge(null!=le,"missing offset"),Ge(le+1>>8*(Me?$e:1-$e)}function O(J,le,_e,Me,Ce){if(Ce||(Ge(null!=le,"missing value"),Ge("boolean"==typeof Me,"missing or invalid endian"),Ge(null!=_e,"missing offset"),Ge(_e+3>>8*(Me?$e:3-$e)&255}function $(J,le,_e,Me,Ce){Ce||(Ge(null!=le,"missing value"),Ge("boolean"==typeof Me,"missing or invalid endian"),Ge(null!=_e,"missing offset"),Ge(_e+1>8,ze.push(Se%=256),ze.push($e);return ze}(le),J,_e,Me)}(this,J,le,_e);break;default:throw new Error("Unknown encoding")}return Ce},je.prototype.toString=function(J,le,_e){var Me,Ce,$e,Se,ze=this;if(J=String(J||"utf8").toLowerCase(),le=Number(le)||0,(_e=void 0!==_e?Number(_e):ze.length)===le)return"";switch(J){case"hex":Me=function(Ke,Ve,K){var q=Ke.length;(!Ve||Ve<0)&&(Ve=0),(!K||K<0||qthis.length&&(Me=this.length);var Ce=(Me=J.length-le=this.length))return this[J]},je.prototype.readUInt16LE=function(J,le){return M(this,J,!0,le)},je.prototype.readUInt16BE=function(J,le){return M(this,J,!1,le)},je.prototype.readUInt32LE=function(J,le){return y(this,J,!0,le)},je.prototype.readUInt32BE=function(J,le){return y(this,J,!1,le)},je.prototype.readInt8=function(J,le){if(le||(Ge(null!=J,"missing offset"),Ge(J=this.length))return 128&this[J]?-1*(255-this[J]+1):this[J]},je.prototype.readInt16LE=function(J,le){return v(this,J,!0,le)},je.prototype.readInt16BE=function(J,le){return v(this,J,!1,le)},je.prototype.readInt32LE=function(J,le){return b(this,J,!0,le)},je.prototype.readInt32BE=function(J,le){return b(this,J,!1,le)},je.prototype.readFloatLE=function(J,le){return S(this,J,!0,le)},je.prototype.readFloatBE=function(J,le){return S(this,J,!1,le)},je.prototype.readDoubleLE=function(J,le){return T(this,J,!0,le)},je.prototype.readDoubleBE=function(J,le){return T(this,J,!1,le)},je.prototype.writeUInt8=function(J,le,_e){_e||(Ge(null!=J,"missing value"),Ge(null!=le,"missing offset"),Ge(le=this.length||(this[le]=J)},je.prototype.writeUInt16LE=function(J,le,_e){E(this,J,le,!0,_e)},je.prototype.writeUInt16BE=function(J,le,_e){E(this,J,le,!1,_e)},je.prototype.writeUInt32LE=function(J,le,_e){O(this,J,le,!0,_e)},je.prototype.writeUInt32BE=function(J,le,_e){O(this,J,le,!1,_e)},je.prototype.writeInt8=function(J,le,_e){_e||(Ge(null!=J,"missing value"),Ge(null!=le,"missing offset"),Ge(le=this.length||this.writeUInt8(0<=J?J:255+J+1,le,_e)},je.prototype.writeInt16LE=function(J,le,_e){$(this,J,le,!0,_e)},je.prototype.writeInt16BE=function(J,le,_e){$(this,J,le,!1,_e)},je.prototype.writeInt32LE=function(J,le,_e){D(this,J,le,!0,_e)},je.prototype.writeInt32BE=function(J,le,_e){D(this,J,le,!1,_e)},je.prototype.writeFloatLE=function(J,le,_e){P(this,J,le,!0,_e)},je.prototype.writeFloatBE=function(J,le,_e){P(this,J,le,!1,_e)},je.prototype.writeDoubleLE=function(J,le,_e){Z(this,J,le,!0,_e)},je.prototype.writeDoubleBE=function(J,le,_e){Z(this,J,le,!1,_e)},je.prototype.fill=function(J,le,_e){if(le=le||0,_e=_e||this.length,Ge("number"==typeof(J="string"==typeof(J=J||0)?J.charCodeAt(0):J)&&!isNaN(J),"value is not a number"),Ge(le<=_e,"end < start"),_e!==le&&0!==this.length){Ge(0<=le&&le"},je.prototype.toArrayBuffer=function(){if("undefined"==typeof Uint8Array)throw new Error("Buffer.toArrayBuffer not supported in this browser");if(je._useTypedArrays)return new je(this).buffer;for(var J=new Uint8Array(this.length),le=0,_e=J.length;le<_e;le+=1)J[le]=this[le];return J.buffer};var x=je.prototype;function W(J,le,_e){return"number"!=typeof J?_e:le<=(J=~~J)?le:0<=J||0<=(J+=le)?J:0}function ne(J){return(J=~~Math.ceil(+J))<0?0:J}function ue(J){return(Array.isArray||function(le){return"[object Array]"===Object.prototype.toString.call(le)})(J)}function se(J){return J<16?"0"+J.toString(16):J.toString(16)}function te(J){for(var le=[],_e=0;_e=le.length||Ce>=J.length);Ce++)le[Ce+_e]=J[Ce];return Ce}function re(J){try{return decodeURIComponent(J)}catch(le){return String.fromCharCode(65533)}}function ve(J,le){Ge("number"==typeof J,"cannot write a non-number as a number"),Ge(0<=J,"specified a negative value for writing an unsigned value"),Ge(J<=le,"value is larger than maximum value for type"),Ge(Math.floor(J)===J,"value has a fractional component")}function Fe(J,le,_e){Ge("number"==typeof J,"cannot write a non-number as a number"),Ge(J<=le,"value larger than maximum allowed value"),Ge(_e<=J,"value smaller than minimum allowed value"),Ge(Math.floor(J)===J,"value has a fractional component")}function Ze(J,le,_e){Ge("number"==typeof J,"cannot write a non-number as a number"),Ge(J<=le,"value larger than maximum allowed value"),Ge(_e<=J,"value smaller than minimum allowed value")}function Ge(J,le){if(!J)throw new Error(le||"Failed assertion")}je._augment=function(J){return J._isBuffer=!0,J._get=J.get,J._set=J.set,J.get=x.get,J.set=x.set,J.write=x.write,J.toString=x.toString,J.toLocaleString=x.toString,J.toJSON=x.toJSON,J.copy=x.copy,J.slice=x.slice,J.readUInt8=x.readUInt8,J.readUInt16LE=x.readUInt16LE,J.readUInt16BE=x.readUInt16BE,J.readUInt32LE=x.readUInt32LE,J.readUInt32BE=x.readUInt32BE,J.readInt8=x.readInt8,J.readInt16LE=x.readInt16LE,J.readInt16BE=x.readInt16BE,J.readInt32LE=x.readInt32LE,J.readInt32BE=x.readInt32BE,J.readFloatLE=x.readFloatLE,J.readFloatBE=x.readFloatBE,J.readDoubleLE=x.readDoubleLE,J.readDoubleBE=x.readDoubleBE,J.writeUInt8=x.writeUInt8,J.writeUInt16LE=x.writeUInt16LE,J.writeUInt16BE=x.writeUInt16BE,J.writeUInt32LE=x.writeUInt32LE,J.writeUInt32BE=x.writeUInt32BE,J.writeInt8=x.writeInt8,J.writeInt16LE=x.writeInt16LE,J.writeInt16BE=x.writeInt16BE,J.writeInt32LE=x.writeInt32LE,J.writeInt32BE=x.writeInt32BE,J.writeFloatLE=x.writeFloatLE,J.writeFloatBE=x.writeFloatBE,J.writeDoubleLE=x.writeDoubleLE,J.writeDoubleBE=x.writeDoubleBE,J.fill=x.fill,J.inspect=x.inspect,J.toArrayBuffer=x.toArrayBuffer,J}}).call(this,Xe("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Xe("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(Xe,et,lt){(function(ee,Ct,je,Q,Ee,pe,X,U,F){je=Xe("buffer").Buffer;var B=new je(4);B.fill(0),et.exports={hash:function(w,C,R,M){for(var y=C(function(E,O){E.length%4!=0&&(E=je.concat([E,B],E.length+(4-E.length%4)));for(var D=[],P=O?E.readInt32BE:E.readInt32LE,Z=0;ZR?W=x(W):W.length>5]|=128<>>9<<4)]=S;for(var T=1732584193,E=-271733879,O=-1732584194,$=271733878,D=0;D>>32-O,T)}function C(b,S,T,E,O,$,D){return w(S&T|~S&E,b,S,O,$,D)}function R(b,S,T,E,O,$,D){return w(S&E|T&~E,b,S,O,$,D)}function M(b,S,T,E,O,$,D){return w(S^T^E,b,S,O,$,D)}function y(b,S,T,E,O,$,D){return w(T^(S|~E),b,S,O,$,D)}function v(b,S){var T=(65535&b)+(65535&S);return(b>>16)+(S>>16)+(T>>16)<<16|65535&T}et.exports=function(b){return Y.hash(b,B,16)}}).call(this,Xe("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Xe("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(Xe,et,lt){(function(ee,Ct,je,Q,Ee,pe,X,U,F){et.exports=function(B){for(var w,C=new Array(B),R=0;R>>((3&R)<<3)&255;return C}}).call(this,Xe("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Xe("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(Xe,et,lt){(function(ee,Ct,je,Q,Ee,pe,X,U,F){var Y=Xe("./helpers");function B(R,M){R[M>>5]|=128<<24-M%32,R[15+(M+64>>9<<4)]=M;for(var y,v,b,S=Array(80),T=1732584193,E=-271733879,O=-1732584194,$=271733878,D=-1009589776,P=0;P>16)+(M>>16)+(y>>16)<<16|65535&y}function C(R,M){return R<>>32-M}et.exports=function(R){return Y.hash(R,B,20,!0)}}).call(this,Xe("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Xe("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(Xe,et,lt){(function(ee,Ct,je,Q,Ee,pe,X,U,F){function Y(M,y){var v=(65535&M)+(65535&y);return(M>>16)+(y>>16)+(v>>16)<<16|65535&v}function B(M,y){var v,b=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),S=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),T=new Array(64);M[y>>5]|=128<<24-y%32,M[15+(y+64>>9<<4)]=y;for(var E,O,$=0;$>>y|M<<32-y},R=function(M,y){return M>>>y};et.exports=function(M){return w.hash(M,B,32,!0)}}).call(this,Xe("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Xe("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(Xe,et,lt){(function(ee,Ct,je,Q,Ee,pe,X,U,F){lt.read=function(Y,B,w,C,R){var M,y,v=8*R-C-1,b=(1<>1,T=-7,E=w?R-1:0,O=w?-1:1;for(R=Y[B+E],E+=O,M=R&(1<<-T)-1,R>>=-T,T+=v;0>=-T,T+=C;0>1,E=23===R?Math.pow(2,-24)-Math.pow(2,-77):0,O=C?0:M-1,$=C?1:-1;for(M=B<0||0===B&&1/B<0?1:0,B=Math.abs(B),isNaN(B)||B===1/0?(v=isNaN(B)?1:0,y=S):(y=Math.floor(Math.log(B)/Math.LN2),B*(C=Math.pow(2,-y))<1&&(y--,C*=2),2<=(B+=1<=y+T?E/C:E*Math.pow(2,1-T))*C&&(y++,C/=2),S<=y+T?(v=0,y=S):1<=y+T?(v=(B*C-1)*Math.pow(2,R),y+=T):(v=B*Math.pow(2,T-1)*Math.pow(2,R),y=0));8<=R;Y[w+O]=255&v,O+=$,v/=256,R-=8);for(y=y<{var Xe="undefined"!=typeof ArrayBuffer,et="undefined"!=typeof Symbol;function lt(ee,Ct){var je,Q,Ee,pe,X;if(!ee)throw new Error("obliterator/forEach: invalid iterable.");if("function"!=typeof Ct)throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(ee)||Xe&&ArrayBuffer.isView(ee)||"string"==typeof ee||"[object Arguments]"===ee.toString())for(Ee=0,pe=ee.length;Ee{function Xe(et){Object.defineProperty(this,"_next",{writable:!1,enumerable:!1,value:et}),this.done=!1}Xe.prototype.next=function(){if(this.done)return{done:!0};var et=this._next();return et.done&&(this.done=!0),et},"undefined"!=typeof Symbol&&(Xe.prototype[Symbol.iterator]=function(){return this}),Xe.of=function(){var et=arguments,lt=et.length,ee=0;return new Xe(function(){return ee>=lt?{done:!0}:{done:!1,value:et[ee++]}})},Xe.empty=function(){var et=new Xe(null);return et.done=!0,et},Xe.is=function(et){return et instanceof Xe||"object"==typeof et&&null!==et&&"function"==typeof et.next},Vt.exports=Xe},7310:(Vt,Xe,et)=>{"use strict";var lt=et(1948);Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.isMobile=function(){return void 0!==ee.window.orientation},Xe.default=function(pe){if(!pe&&!(0,Ct.default)())return"Node";if((0,je.default)(pe))return"Electron";var X="undefined"!=typeof navigator?navigator:{},U=pe||X.userAgent||"";if(U.indexOf("Edge")>-1)return"Edge";var F=-1!==U.indexOf("MSIE "),Y=-1!==U.indexOf("Trident/");return F||Y?"IE":ee.window.chrome?"Chrome":ee.window.safari?"Safari":ee.window.mozInnerScreenX?"Firefox":"Unknown"};var ee=et(1151),Ct=lt(et(1602)),je=lt(et(2344))},1151:(Vt,Xe,et)=>{"use strict";var lt=et(1948);Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.console=Xe.process=Xe.document=Xe.global=Xe.window=Xe.self=void 0;var ee=lt(et(4321)),Ct={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&process};Xe.self=Ct.self||Ct.window||Ct.global,Xe.window=Ct.window||Ct.self||Ct.global,Xe.global=Ct.global||Ct.self||Ct.window,Xe.document=Ct.document||{},Xe.process=Ct.process||{};var U=console;Xe.console=U},4761:(Vt,Xe,et)=>{"use strict";var ee=et(1948),Ct=et(4321);Object.defineProperty(Xe,"CO",{enumerable:!0,get:function(){return je.global}}),Object.defineProperty(Xe,"qs",{enumerable:!0,get:function(){return Ee.default}});var je=et(1151),Ee=(U(et(1602)),U(et(7310)));ee(et(2344));function X(F){if("function"!=typeof WeakMap)return null;var Y=new WeakMap,B=new WeakMap;return(X=function(C){return C?B:Y})(F)}function U(F,Y){if(!Y&&F&&F.__esModule)return F;if(null===F||"object"!==Ct(F)&&"function"!=typeof F)return{default:F};var B=X(Y);if(B&&B.has(F))return B.get(F);var w={},C=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in F)if("default"!==R&&Object.prototype.hasOwnProperty.call(F,R)){var M=C?Object.getOwnPropertyDescriptor(F,R):null;M&&(M.get||M.set)?Object.defineProperty(w,R,M):w[R]=F[R]}return w.default=F,B&&B.set(F,w),w}},1602:(Vt,Xe,et)=>{"use strict";var lt=et(1948);Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.default=je,Xe.isBrowserMainThread=function(){return je()&&"undefined"!=typeof document};var ee=lt(et(4321)),Ct=lt(et(2344));function je(){return!("object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,Ct.default)()}},2344:(Vt,Xe,et)=>{"use strict";var lt=et(1948);Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.default=function(je){if("undefined"!=typeof window&&"object"===(0,ee.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,ee.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Q="object"===("undefined"==typeof navigator?"undefined":(0,ee.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,Ee=je||Q;return!!(Ee&&Ee.indexOf("Electron")>=0)};var ee=lt(et(4321))},6991:function(Vt,Xe,et){"use strict";var lt=this&&this.__createBinding||(Object.create?function(Ct,je,Q,Ee){void 0===Ee&&(Ee=Q),Object.defineProperty(Ct,Ee,{enumerable:!0,get:function(){return je[Q]}})}:function(Ct,je,Q,Ee){void 0===Ee&&(Ee=Q),Ct[Ee]=je[Q]}),ee=this&&this.__exportStar||function(Ct,je){for(var Q in Ct)"default"!==Q&&!Object.prototype.hasOwnProperty.call(je,Q)&<(je,Ct,Q)};Object.defineProperty(Xe,"__esModule",{value:!0}),ee(et(4180),Xe),ee(et(5103),Xe),ee(et(8965),Xe),ee(et(2595),Xe),ee(et(2417),Xe),ee(et(2451),Xe),ee(et(7735),Xe)},4180:(Vt,Xe)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.BlankNode=void 0,Xe.BlankNode=class{constructor(ee){this.termType="BlankNode",this.value=ee}equals(ee){return!!ee&&"BlankNode"===ee.termType&&ee.value===this.value}}},5103:(Vt,Xe,et)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.DataFactory=void 0;const lt=et(4180),ee=et(8965),Ct=et(2595),je=et(2417),Q=et(2451),Ee=et(7735);let pe=0;Xe.DataFactory=class{constructor(F){this.blankNodeCounter=0,this.blankNodePrefix=(F=F||{}).blankNodePrefix||`df_${pe++}_`}namedNode(F){return new je.NamedNode(F)}blankNode(F){return new lt.BlankNode(F||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(F,Y){return new Ct.Literal(F,Y)}variable(F){return new Ee.Variable(F)}defaultGraph(){return ee.DefaultGraph.INSTANCE}quad(F,Y,B,w){return new Q.Quad(F,Y,B,w||this.defaultGraph())}fromTerm(F){switch(F.termType){case"NamedNode":return this.namedNode(F.value);case"BlankNode":return this.blankNode(F.value);case"Literal":return F.language?this.literal(F.value,F.language):F.datatype.equals(Ct.Literal.XSD_STRING)?this.literal(F.value):this.literal(F.value,this.fromTerm(F.datatype));case"Variable":return this.variable(F.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(F.subject),this.fromTerm(F.predicate),this.fromTerm(F.object),this.fromTerm(F.graph))}}fromQuad(F){return this.fromTerm(F)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},8965:(Vt,Xe)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.DefaultGraph=void 0;class et{constructor(){this.termType="DefaultGraph",this.value=""}equals(ee){return!!ee&&"DefaultGraph"===ee.termType}}Xe.DefaultGraph=et,et.INSTANCE=new et},2595:(Vt,Xe,et)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.Literal=void 0;const lt=et(2417);class ee{constructor(je,Q){this.termType="Literal",this.value=je,"string"==typeof Q?(this.language=Q,this.datatype=ee.RDF_LANGUAGE_STRING):Q?(this.language="",this.datatype=Q):(this.language="",this.datatype=ee.XSD_STRING)}equals(je){return!!je&&"Literal"===je.termType&&je.value===this.value&&je.language===this.language&&je.datatype.equals(this.datatype)}}Xe.Literal=ee,ee.RDF_LANGUAGE_STRING=new lt.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),ee.XSD_STRING=new lt.NamedNode("http://www.w3.org/2001/XMLSchema#string")},2417:(Vt,Xe)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.NamedNode=void 0,Xe.NamedNode=class{constructor(ee){this.termType="NamedNode",this.value=ee}equals(ee){return!!ee&&"NamedNode"===ee.termType&&ee.value===this.value}}},2451:(Vt,Xe)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.Quad=void 0,Xe.Quad=class{constructor(ee,Ct,je,Q){this.termType="Quad",this.value="",this.subject=ee,this.predicate=Ct,this.object=je,this.graph=Q}equals(ee){return!!ee&&("Quad"===ee.termType||!ee.termType)&&this.subject.equals(ee.subject)&&this.predicate.equals(ee.predicate)&&this.object.equals(ee.object)&&this.graph.equals(ee.graph)}}},7735:(Vt,Xe)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.Variable=void 0,Xe.Variable=class{constructor(ee){this.termType="Variable",this.value=ee}equals(ee){return!!ee&&"Variable"===ee.termType&&ee.value===this.value}}},1609:function(Vt,Xe,et){"use strict";var lt=this&&this.__createBinding||(Object.create?function(w,C,R,M){void 0===M&&(M=R),Object.defineProperty(w,M,{enumerable:!0,get:function(){return C[R]}})}:function(w,C,R,M){void 0===M&&(M=R),w[M]=C[R]}),ee=this&&this.__exportStar||function(w,C){for(var R in w)"default"!==R&&!Object.prototype.hasOwnProperty.call(C,R)&<(C,w,R)};Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.getSupportedJavaScriptPrimitives=Xe.getSupportedRdfDatatypes=Xe.getTermRaw=Xe.toRdf=Xe.fromRdf=void 0;const Ct=et(6991),je=et(9938),Q=et(6060);ee(et(9938),Xe),ee(et(8871),Xe),ee(et(6060),Xe);const Ee=new Ct.DataFactory,pe=new Q.Translator;function X(w,C){return pe.fromRdf(w,C)}pe.registerHandler(new je.TypeHandlerString,je.TypeHandlerString.TYPES.map(w=>Ee.namedNode(w)),["string"]),pe.registerHandler(new je.TypeHandlerBoolean,[je.TypeHandlerBoolean.TYPE].map(w=>Ee.namedNode(w)),["boolean"]),pe.registerHandler(new je.TypeHandlerNumberDouble,je.TypeHandlerNumberDouble.TYPES.map(w=>Ee.namedNode(w)),["number"]),pe.registerHandler(new je.TypeHandlerNumberInteger,je.TypeHandlerNumberInteger.TYPES.map(w=>Ee.namedNode(w)),["number"]),pe.registerHandler(new je.TypeHandlerDate,je.TypeHandlerDate.TYPES.map(w=>Ee.namedNode(w)),["object"]),Xe.fromRdf=X,Xe.toRdf=function(w,C){return C&&"namedNode"in C&&(C={dataFactory:C}),(C=C||{})&&!C.dataFactory&&(C.dataFactory=Ee),pe.toRdf(w,C)},Xe.getTermRaw=function(w,C){return"Literal"===w.termType?X(w,C):w.value},Xe.getSupportedRdfDatatypes=function(){return pe.getSupportedRdfDatatypes()},Xe.getSupportedJavaScriptPrimitives=function(){return pe.getSupportedJavaScriptPrimitives()}},8871:(Vt,Xe)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0})},6060:(Vt,Xe)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.Translator=void 0,Xe.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(ee){throw new Error(`Invalid RDF ${ee.datatype.value} value: '${ee.value}'`)}registerHandler(ee,Ct,je){for(const Q of Ct)this.supportedRdfDatatypes.push(Q),this.fromRdfHandlers[Q.value]=ee;for(const Q of je){let Ee=this.toRdfHandlers[Q];Ee||(this.toRdfHandlers[Q]=Ee=[]),Ee.push(ee)}}fromRdf(ee,Ct){const je=this.fromRdfHandlers[ee.datatype.value];return je?je.fromRdf(ee,Ct):ee.value}toRdf(ee,Ct){const je=this.toRdfHandlers[typeof ee];if(je)for(const Q of je){const Ee=Q.toRdf(ee,Ct);if(Ee)return Ee}throw new Error(`Invalid JavaScript value: '${ee}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},727:(Vt,Xe,et)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.TypeHandlerBoolean=void 0;const lt=et(6060);class ee{fromRdf(je,Q){switch(je.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return Q&<.Translator.incorrectRdfDataType(je),!1}toRdf(je,{datatype:Q,dataFactory:Ee}){return Ee.literal(je?"true":"false",Q||Ee.namedNode(ee.TYPE))}}Xe.TypeHandlerBoolean=ee,ee.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},2525:(Vt,Xe,et)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.TypeHandlerDate=void 0;const lt=et(6060);class ee{fromRdf(je,Q){switch(Q&&!je.value.match(ee.VALIDATORS[je.datatype.value.substr(33,je.datatype.value.length)])&<.Translator.incorrectRdfDataType(je),je.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(je.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const Ee=je.value.split("-");return new Date(0,parseInt(Ee[0],10)-1,parseInt(Ee[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(je.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(je.value+"-01");default:return new Date(je.value)}}toRdf(je,{datatype:Q,dataFactory:Ee}){if(Q=Q||Ee.namedNode(ee.TYPES[0]),!(je instanceof Date))return null;const pe=je;let X;switch(Q.value){case"http://www.w3.org/2001/XMLSchema#gDay":X=String(pe.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":X=pe.getUTCMonth()+1+"-"+pe.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":X=String(pe.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":X=pe.getUTCFullYear()+"-"+(pe.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":X=pe.toISOString().replace(/T.*$/,"");break;default:X=pe.toISOString()}return Ee.literal(X,Q)}}Xe.TypeHandlerDate=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],ee.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},8554:(Vt,Xe,et)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.TypeHandlerNumberDouble=void 0;const lt=et(6060);class ee{fromRdf(je,Q){const Ee=parseFloat(je.value);return Q&&isNaN(Ee)&<.Translator.incorrectRdfDataType(je),Ee}toRdf(je,{datatype:Q,dataFactory:Ee}){return Q=Q||Ee.namedNode(ee.TYPES[0]),isNaN(je)?Ee.literal("NaN",Q):isFinite(je)?je%1==0?null:Ee.literal(je.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Q):Ee.literal(je>0?"INF":"-INF",Q)}}Xe.TypeHandlerNumberDouble=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},7750:(Vt,Xe,et)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.TypeHandlerNumberInteger=void 0;const lt=et(6060);class ee{fromRdf(je,Q){const Ee=parseInt(je.value,10);return Q&&(isNaN(Ee)||je.value.indexOf(".")>=0)&<.Translator.incorrectRdfDataType(je),Ee}toRdf(je,{datatype:Q,dataFactory:Ee}){return Ee.literal(String(je),Q||Ee.namedNode(je<=ee.MAX_INT&&je>=ee.MIN_INT?ee.TYPES[0]:ee.TYPES[1]))}}Xe.TypeHandlerNumberInteger=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],ee.MAX_INT=2147483647,ee.MIN_INT=-2147483648},4608:(Vt,Xe)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.TypeHandlerString=void 0;class et{fromRdf(ee){return ee.value}toRdf(ee,{datatype:Ct,dataFactory:je}){return je.literal(ee,Ct)}}Xe.TypeHandlerString=et,et.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(Vt,Xe,et){"use strict";var lt=this&&this.__createBinding||(Object.create?function(Ct,je,Q,Ee){void 0===Ee&&(Ee=Q),Object.defineProperty(Ct,Ee,{enumerable:!0,get:function(){return je[Q]}})}:function(Ct,je,Q,Ee){void 0===Ee&&(Ee=Q),Ct[Ee]=je[Q]}),ee=this&&this.__exportStar||function(Ct,je){for(var Q in Ct)"default"!==Q&&!Object.prototype.hasOwnProperty.call(je,Q)&<(je,Ct,Q)};Object.defineProperty(Xe,"__esModule",{value:!0}),ee(et(727),Xe),ee(et(2525),Xe),ee(et(8554),Xe),ee(et(7750),Xe),ee(et(4608),Xe)},2829:(Vt,Xe,et)=>{"use strict";var lt={};et.r(lt),et.d(lt,{decode:()=>Ume,encode:()=>zme});var ee={};et.r(ee),et.d(ee,{decode:()=>qme,encode:()=>Yme});var Ct={};et.r(Ct),et.d(Ct,{decode:()=>Xme,encode:()=>Kme});var je={};function Q(n){return"function"==typeof n}et.r(je),et.d(je,{decode:()=>Qme,encode:()=>Zme});let Ee=!1;const pe={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else Ee&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Ee=n},get useDeprecatedSynchronousErrorHandling(){return Ee}};function X(n){setTimeout(()=>{throw n},0)}const U={closed:!0,next(n){},error(n){if(pe.useDeprecatedSynchronousErrorHandling)throw n;X(n)},complete(){}},F=Array.isArray||(n=>n&&"number"==typeof n.length);function Y(n){return null!==n&&"object"==typeof n}const w=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class C{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof C)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof w?t.errors:t),[])}C.EMPTY=((n=new C).closed=!0,n);const M="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class v extends C{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=U;break;case 1:if(!e){this.destination=U;break}if("object"==typeof e){e instanceof v?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new b(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new b(this,e,t,i)}}[M](){return this}static create(e,t,i){const r=new v(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class b extends v{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Q(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==U&&(o=Object.create(t),Q(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;pe.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=pe;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):X(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;X(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);pe.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),pe.useDeprecatedSynchronousErrorHandling)throw i;X(i)}}__tryOrSetError(e,t,i){if(!pe.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return pe.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(X(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const E="function"==typeof Symbol&&Symbol.observable||"@@observable";function O(n){return n}function $(...n){return D(n)}function D(n){return 0===n.length?O:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let P=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof v)return n;if(n[M])return n[M]()}return n||e||t?new v(n,e,t):new v(U)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||pe.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),pe.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){pe.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof v?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=Z(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[E](){return this}pipe(...t){return 0===t.length?this:D(t)(this)}toPromise(t){return new(t=Z(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function Z(n){if(n||(n=pe.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const W=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class ne extends C{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class ue extends v{constructor(e){super(e),this.destination=e}}let se=(()=>{class n extends P{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[M](){return new ue(this)}lift(t){const i=new te(this,this);return i.operator=t,i}next(t){if(this.closed)throw new W;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew te(e,t),n})();class te extends se{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):C.EMPTY}}function Re(n){return n&&"function"==typeof n.schedule}function be(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new re(n,e))}}class re{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new ve(e,this.project,this.thisArg))}}class ve extends v{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const Fe=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function $e(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Se=n=>{if(n&&"function"==typeof n[E])return(n=>e=>{const t=n[E]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(Ce(n))return Fe(n);if($e(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,X),e))(n);if(n&&"function"==typeof n[J])return(n=>e=>{const t=n[J]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${Y(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function Ve(n,e){return new P(t=>{const i=new C;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function Ye(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[E]}(n))return function(n,e){return new P(t=>{const i=new C;return i.add(e.schedule(()=>{const r=n[E]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if($e(n))return function(n,e){return new P(t=>{const i=new C;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(Ce(n))return Ve(n,e);if(function(n){return n&&"function"==typeof n[J]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new P(t=>{const i=new C;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[J](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof P?n:new P(Se(n))}class _t extends v{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class Ae extends v{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function L(n,e){if(e.closed)return;if(n instanceof P)return n.subscribe(e);let t;try{t=Se(n)(e)}catch(i){e.error(i)}return t}function H(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(H((r,s)=>Ye(n(r,s)).pipe(be((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Le(n,t)))}class Le{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new it(e,this.project,this.concurrent))}}class it extends Ae{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function kt(n=Number.POSITIVE_INFINITY){return H(O,n)}function In(n,e){return e?Ve(n,e):new P(Fe(n))}function Pn(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Re(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof P?n[0]:kt(e)(In(n,t))}function Yn(){return function(e){return e.lift(new Mi(e))}}class Mi{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new xi(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class xi extends v{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Xr extends P{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new C,e.add(this.source.subscribe(new fs(this.getSubject(),this))),e.closed&&(this._connection=null,e=C.EMPTY)),e}refCount(){return Yn()(this)}}const Ls=(()=>{const n=Xr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class fs extends ue{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function xa(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new kl(r,e));const s=Object.create(i,Ls);return s.source=i,s.subjectFactory=r,s}}class kl{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function Sa(){return new se}function ws(){return n=>Yn()(xa(Sa)(n))}function en(n){for(let e in n)if(n[e]===en)return e;throw Error("Could not find renamed property on target object.")}function nl(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function ot(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(ot).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function ut(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const ft=en({__forward_ref__:en});function ye(n){return n.__forward_ref__=ye,n.toString=function(){return ot(this())},n}function Te(n){return We(n)?n():n}function We(n){return"function"==typeof n&&n.hasOwnProperty(ft)&&n.__forward_ref__===ye}class rt extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function Ot(n){return"string"==typeof n?n:null==n?"":String(n)}function Qt(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Ot(n)}function bn(n,e){const t=e?` in ${e}`:"";throw new rt("201",`No provider for ${Qt(n)} found${t}`)}function ie(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function tt(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function St(n){return{providers:n.providers||[],imports:n.imports||[]}}function vn(n){return Es(n,fo)||Es(n,Vs)}function Es(n,e){return n.hasOwnProperty(e)?n[e]:null}function Fl(n){return n&&(n.hasOwnProperty(Br)||n.hasOwnProperty(Ac))?n[Br]:null}const fo=en({\u0275prov:en}),Br=en({\u0275inj:en}),Vs=en({ngInjectableDef:en}),Ac=en({ngInjectorDef:en});var xn=(()=>((xn=xn||{})[xn.Default=0]="Default",xn[xn.Host=1]="Host",xn[xn.Self=2]="Self",xn[xn.SkipSelf=4]="SkipSelf",xn[xn.Optional=8]="Optional",xn))();let po;function Ta(n){const e=po;return po=n,e}function Ed(n,e,t){const i=vn(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&xn.Optional?null:void 0!==e?e:void bn(ot(n),"Injector")}function Pe(n){return{toString:n}.toString()}var Je=(()=>((Je=Je||{})[Je.OnPush=0]="OnPush",Je[Je.Default=1]="Default",Je))(),Xt=(()=>((Xt=Xt||{})[Xt.Emulated=0]="Emulated",Xt[Xt.None=2]="None",Xt[Xt.ShadowDom=3]="ShadowDom",Xt))();const ui="undefined"!=typeof globalThis&&globalThis,Vr="undefined"!=typeof window&&window,Jr="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,xs="undefined"!=typeof global&&global,Zn=ui||xs||Vr||Jr,xd={},er=[],fp=en({\u0275cmp:en}),n_=en({\u0275dir:en}),Oh=en({\u0275pipe:en}),iv=en({\u0275mod:en}),TC=en({\u0275loc:en}),Bl=en({\u0275fac:en}),Rh=en({__NG_ELEMENT_ID__:en});let AC=0;function rn(n){return Pe(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===Je.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||er,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Xt.Emulated,id:"c",styles:n.styles||er,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=AC++,i.inputs=av(n.inputs,t),i.outputs=av(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(rv):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(sv):null,i})}function rv(n){return Ui(n)||function(n){return n[n_]||null}(n)}function sv(n){return function(n){return n[Oh]||null}(n)}const ov={};function tn(n){return Pe(()=>{const e={type:n.type,bootstrap:n.bootstrap||er,declarations:n.declarations||er,imports:n.imports||er,exports:n.exports||er,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(ov[n.id]=n.type),e})}function av(n,e){if(null==n)return xd;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const Pt=rn;function js(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function Ui(n){return n[fp]||null}function Po(n,e){const t=n[iv]||null;if(!t&&!0===e)throw new Error(`Type ${ot(n)} does not have '\u0275mod' property.`);return t}function Jo(n){return Array.isArray(n)&&"object"==typeof n[1]}function ea(n){return Array.isArray(n)&&!0===n[1]}function s_(n){return 0!=(8&n.flags)}function Ad(n){return 2==(2&n.flags)}function Md(n){return 1==(1&n.flags)}function Da(n){return null!==n.template}function lv(n){return 0!=(512&n[2])}function Ic(n,e){return n.hasOwnProperty(Bl)?n[Bl]:null}class c_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Fi(){return dv}function dv(n){return n.type.prototype.ngOnChanges&&(n.setInput=kC),PC}function PC(){const n=ct(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===xd)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function kC(n,e,t,i){const r=ct(n)||function(n,e){return n[Bh]=e}(n,{previous:xd,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new c_(l&&l.currentValue,e,o===xd),n[i]=e}Fi.ngInherit=!0;const Bh="__ngSimpleChanges__";function ct(n){return n[Bh]||null}let Yi;function dr(n){return!!n.listen}const Su={createRenderer:(n,e)=>void 0!==Yi?Yi:"undefined"!=typeof document?document:void 0};function Sr(n){for(;Array.isArray(n);)n=n[0];return n}function Vh(n,e){return Sr(e[n])}function eo(n,e){return Sr(e[n.index])}function h_(n,e){return n.data[e]}function Dd(n,e){return n[e]}function zs(n,e){const t=e[n];return Jo(t)?t:t[0]}function Ul(n){return 4==(4&n[2])}function Id(n){return 128==(128&n[2])}function Oa(n,e){return null==e?null:n[e]}function f_(n){n[18]=0}function mp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Ln={lFrame:Tu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function fv(){return Ln.bindingsEnabled}function jt(){return Ln.lFrame.lView}function Si(){return Ln.lFrame.tView}function _r(n){return Ln.lFrame.contextLView=n,n[8]}function as(){let n=p_();for(;null!==n&&64===n.type;)n=n.parent;return n}function p_(){return Ln.lFrame.currentTNode}function sl(n,e){const t=Ln.lFrame;t.currentTNode=n,t.isParent=e}function zr(){return Ln.lFrame.isParent}function ps(){Ln.lFrame.isParent=!1}function zh(){return Ln.isInCheckNoChangesMode}function yp(n){Ln.isInCheckNoChangesMode=n}function Cs(){const n=Ln.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}function Ra(){return Ln.lFrame.bindingIndex++}function Fo(n){const e=Ln.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Od(n,e){const t=Ln.lFrame;t.bindingIndex=t.bindingRootIndex=n,g_(e)}function g_(n){Ln.lFrame.currentDirectiveIndex=n}function m_(n){const e=Ln.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function pv(){return Ln.lFrame.currentQueryIndex}function __(n){Ln.lFrame.currentQueryIndex=n}function vp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Rd(n,e,t){if(t&xn.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&xn.Host||(r=vp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Ln.lFrame=Ie();return i.currentTNode=e,i.lView=n,!0}function $h(n){const e=Ie(),t=n[1];Ln.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function Ie(){const n=Ln.lFrame,e=null===n?null:n.child;return null===e?Tu(n):e}function Tu(n){const 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:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Wh(){const n=Ln.lFrame;return Ln.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Lo=Wh;function fi(){const n=Wh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function to(){return Ln.lFrame.selectedIndex}function _o(n){Ln.lFrame.selectedIndex=n}function Pr(){const n=Ln.lFrame;return h_(n.tView,n.selectedIndex)}function wp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class qh{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Sp(n,e,t){const i=dr(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Pd=!0;function Cp(n){const e=Pd;return Pd=n,e}let x_=0;function Hs(n,e){const t=Tp(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,S_(i.data,n),S_(e,null),S_(i.blueprint,null));const r=Xh(n,e),s=n.injectorIndex;if(yv(r)){const o=Nd(r),a=al(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function S_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Tp(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function Xh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Rc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Rh)&&(i=t[Rh]),null==i&&(i=t[Rh]=x_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:Ev:e}(t);if("function"==typeof s){if(!Rd(e,n,i))return i&xn.Host?C_(r,t,i):vv(e,t,i,r);try{const o=s(i);if(null!=o||i&xn.Optional)return o;bn(t)}finally{Lo()}}else if("number"==typeof s){let o=null,a=Tp(n,e),l=-1,c=i&xn.Host?e[16][6]:null;for((-1===a||i&xn.SkipSelf)&&(l=-1===a?Xh(n,e):e[a+8],-1!==l&&Qh(i,!1)?(o=e[1],a=Nd(l),e=al(l,e)):a=-1);-1!==a;){const u=e[1];if(Ap(s,a,u.data)){const h=Ts(a,e,t,o,i,c);if(h!==wv)return h}l=e[a+8],-1!==l&&Qh(i,e[1].data[a+8]===c)&&Ap(s,a,e)?(o=u,a=Nd(l),e=al(l,e)):a=-1}}}return vv(e,t,i,r)}const wv={};function Ev(){return new na(as(),jt())}function Ts(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=kd(a,o,t,null==i?Ad(a)&&Pd:i!=o&&0!=(3&a.type),r&xn.Host&&s===a);return null!==u?Fd(e,o,u,a):wv}function kd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,f=r?a+u:n.directiveEnd;for(let g=i?a:a+u;g=l&&m.type===t)return g}if(r){const g=o[l];if(g&&Da(g)&&g.type===t)return l}return null}function Fd(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof qh}(r)){const o=r;o.resolving&&function(n,e){throw new rt("200",`Circular dependency in DI detected for ${n}`)}(Qt(s[t]));const a=Cp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Ta(o.injectImpl):null;Rd(n,i,xn.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=dv(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&Ta(l),Cp(a),o.resolving=!1,Lo()}}return r}function Ap(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[Bl]||As(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[Bl]||As(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function As(n){return We(n)?()=>{const e=As(Te(n));return e&&e()}:Ic(n)}function yo(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Bd)?l[Bd]:Object.defineProperty(l,Bd,{value:[]})[Bd];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class Ht{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=tt({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Du=Function;function ia(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?ra(t,e):e(t))}function Jh(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Hl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Pc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function O_(n,e){const t=Ms(n,e);if(t>=0)return n[1|t]}function Ms(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):ot(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Lc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Fc]=null,n}const Hd=zd(ka("Inject",n=>({token:n})),-1),ts=zd(ka("Optional"),8),dl=zd(ka("SkipSelf"),4);let $d;function Fu(n){var e;return(null===(e=function(){if(void 0===$d&&($d=null,Zn.trustedTypes))try{$d=Zn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return $d}())||void 0===e?void 0:e.createHTML(n))||n}class ql{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class L_ extends ql{getTypeName(){return"HTML"}}class B_ extends ql{getTypeName(){return"Style"}}class jp extends ql{getTypeName(){return"Script"}}class Wd extends ql{getTypeName(){return"URL"}}class kn extends ql{getTypeName(){return"ResourceURL"}}function Gs(n){return n instanceof ql?n.changingThisBreaksApplicationSecurity:n}function sa(n,e){const t=jc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function jc(n){return n instanceof ql&&n.getTypeName()||null}class jv{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Fu(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class fT{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Fu(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Fu(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0jo(e.trim())).join(", ")}function oa(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function tf(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const Up=oa("area,br,col,hr,img,wbr"),zv=oa("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Hv=oa("rp,rt"),j_=tf(Up,tf(zv,oa("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")),tf(Hv,oa("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")),tf(Hv,zv)),U_=oa("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),z_=oa("srcset"),H_=tf(U_,z_,oa("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),oa("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")),bT=oa("script,style,template");class G_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!j_.hasOwnProperty(t))return this.sanitizedSomething=!0,!bT.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();j_.hasOwnProperty(t)&&!Up.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(Hp(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const Gv=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,nf=/([^\#-~ |!])/g;function Hp(n){return n.replace(/&/g,"&").replace(Gv,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(nf,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let rf;function $_(n,e){let t=null;try{rf=rf||function(n){const e=new fT(n);return function(){try{return!!(new window.DOMParser).parseFromString(Fu(""),"text/html")}catch(n){return!1}}()?new jv(e):e}(n);let i=e?String(e):"";t=rf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=rf.getInertBodyElement(i)}while(i!==s);return Fu((new G_).sanitizeChildren(qd(t)||t))}finally{if(t){const i=qd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function qd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var si=(()=>((si=si||{})[si.NONE=0]="NONE",si[si.HTML=1]="HTML",si[si.STYLE=2]="STYLE",si[si.SCRIPT=3]="SCRIPT",si[si.URL=4]="URL",si[si.RESOURCE_URL=5]="RESOURCE_URL",si))();function sf(n){const e=function(){const n=jt();return n&&n[12]}();return e?e.sanitize(si.URL,n)||"":sa(n,"URL")?Gs(n):jo(Ot(n))}const Y_="__ngContext__";function Ds(n,e){n[Y_]=e}function X_(n){const e=function(n){return n[Y_]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function Gp(n){return n.ngOriginalError}function RT(n,...e){n.error(...e)}class la{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||RT}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(Gp(e)):null}_findOriginalError(e){let t=e&&Gp(e);for(;t&&Gp(t);)t=Gp(t);return t||null}}const tw=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Zn))();function fl(n){return n instanceof Function?n():n}var Uo=(()=>((Uo=Uo||{})[Uo.Important=1]="Important",Uo[Uo.DashCase=2]="DashCase",Uo))();function ey(n,e){return undefined(n,e)}function lf(n){const e=n[3];return ea(e)?e[3]:e}function Xd(n){return ow(n[13])}function ny(n){return ow(n[4])}function ow(n){for(;null!==n&&!ea(n);)n=n[4];return n}function Kd(n,e,t,i,r){if(null!=i){let s,o=!1;ea(i)?s=i:Jo(i)&&(o=!0,i=i[0]);const a=Sr(i);0===n&&null!==t?null==r?dw(e,t,a):pl(e,t,a,r||null,!0):1===n&&null!==t?pl(e,t,a,r||null,!0):2===n?function(n,e,t){const i=qp(n,e);i&&function(n,e,t,i){dr(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==Sr(t)&&Kd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=Hl(n,10+e);!function(n,e){Qd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function oy(n,e){if(!(256&e[2])){const t=e[11];dr(t)&&t.destroyNode&&Qd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return Wp(n[1],n);for(;e;){let t=null;if(Jo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Jo(e)&&Wp(e[1],e),e=e[3];null===e&&(e=n),Jo(e)&&Wp(e[1],e),t=e&&e[4]}e=t}}(e)}}function Wp(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[h+1].toLowerCase();const g=8&i?f:null;if(g&&-1!==uf(g,c,0)||2&i&&c!==f){if(La(i))return!1;o=!0}}}}else{if(!o&&!La(i)&&!La(l))return!1;if(o&&La(l))continue;o=!1,i=l|1&i}}return La(i)||o}function La(n){return 0==(1&n)}function oA(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!La(o)&&(e+=Sw(s,r),r=""),i=o,s=s||!La(i);t++}return""!==r&&(e+=Sw(s,r)),e}const Dn={};function zt(n){Cw(Si(),jt(),to()+n,zh())}function Cw(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Ep(e,s,t)}else{const s=n.preOrderHooks;null!==s&&xp(e,s,0,t)}_o(t)}function gl(n,e){return n<<17|e<<2}function On(n){return n>>17&32767}function Cr(n){return 2|n}function Yl(n){return(131068&n)>>2}function ml(n,e){return-131069&n|e<<2}function hy(n){return 1|n}function Pw(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&Cw(n,e,20,zh()),t(i,r)}finally{_o(s)}}function pf(n,e,t){!fv()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||Hs(t,e),Ds(i,e);const o=t.initialInputs;for(let a=r;a0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function $w(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function Ww(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function PA(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&Sy(t)}}function Sy(n){for(let i=Xd(n);null!==i;i=ny(i))for(let r=10;r0&&Sy(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&Sy(r)}}function UA(n,e){const t=zs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function Xw(n){return n[7]||(n[7]=[])}function ig(n){return n.cleanup||(n.cleanup=[])}function Dy(n,e,t){return(null===n||Da(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function Iy(n,e){const t=n[9],i=t?t.get(la,null):null;i&&i.handleError(e)}function Kw(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),ra([e],a=>this.processInjectorType(a,[],s)),this.records.set(Vu,Uu(void 0,this));const o=this.records.get(ju);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:ot(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Ru,i=xn.Default){this.assertNotDestroyed();const r=Ud(this),s=Ta(void 0);try{if(!(i&xn.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof Ht}(e)&&vn(e);a=l&&this.injectableDefInScope(l)?Uu(ky(e),gf):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&xn.Self?Qw():this.parent).get(e,t=i&xn.Optional&&t===Ru?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Fc]=o[Fc]||[]).unshift(ot(e)),r)throw o;return no(o,e,"R3InjectorError",this.source)}throw o}finally{Ta(s),Ud(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(ot(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=Te(e)))return!1;let r=Fl(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Fl(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{ra(r.imports,h=>{this.processInjectorType(h,t,i)&&(void 0===u&&(u=[]),u.push(h))})}finally{}if(void 0!==u)for(let h=0;hthis.processProvider(m,f,g||er))}}this.injectorDefTypes.add(o);const l=Ic(o)||(()=>new o);this.records.set(o,Uu(l,gf));const c=r.providers;if(null!=c&&!a){const u=e;ra(c,h=>this.processProvider(h,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Hc(e=Te(e))?e:Te(e&&e.provide);const s=function(n,e,t){return eE(n)?Uu(void 0,n.useValue):Uu(Jw(n),gf)}(e);if(Hc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=Uu(void 0,gf,!0),o.factory=()=>Pu(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===gf&&(t.value=YA,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=Te(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function ky(n){const e=vn(n),t=null!==e?e.factory:Ic(n);if(null!==t)return t;if(n instanceof Ht)throw new Error(`Token ${ot(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=Pc(e,"?");throw new Error(`Can't resolve all parameters for ${ot(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[fo]||n[Vs]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function Jw(n,e,t){let i;if(Hc(n)){const r=Te(n);return Ic(r)||ky(r)}if(eE(n))i=()=>Te(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Pu(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>ke(Te(n.useExisting));else{const r=Te(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Ic(r)||ky(r);i=()=>new r(...Pu(n.deps))}return i}function Uu(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function eE(n){return null!==n&&"object"==typeof n&&Np in n}function Hc(n){return"function"==typeof n}const tE=function(n,e,t){return function(n,e=null,t=null,i){const r=Zw(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Hn{static create(e,t){return Array.isArray(e)?tE(e,t,""):tE(e.providers,e.parent,e.name||"")}}function Fq(n,e){wp(X_(n)[1],as())}function En(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(Da(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=lM(n.inputs),o.declaredInputs=lM(n.declaredInputs),o.outputs=lM(n.outputs);const a=r.hostBindings;a&&jq(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&Bq(n,l),c&&Vq(n,c),nl(n.inputs,r.inputs),nl(n.declaredInputs,r.declaredInputs),nl(n.outputs,r.outputs),Da(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Yh(r.hostAttrs,t=Yh(t,r.hostAttrs))}}(i)}function lM(n){return n===xd?{}:n===er?[]:n}function Bq(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function Vq(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function jq(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Hn.THROW_IF_NOT_FOUND=Ru,Hn.NULL=new so,Hn.\u0275prov=tt({token:Hn,providedIn:"any",factory:()=>ke(Vu)}),Hn.__NG_ELEMENT_ID__=-1;let oE=null;function sg(){if(!oE){const n=Zn.Symbol;if(n&&n.iterator)oE=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(Sr(we[i.index])):i.index;if(dr(t)){let we=null;if(!a&&l&&(we=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==we)(we.__ngLastListenerFn__||we).__ngNextListenerFn__=s,we.__ngLastListenerFn__=s,g=!1;else{s=gM(i,e,h,s,!1);const Be=t.listen(G,r,s);f.push(s,Be),u&&u.push(r,oe,k,k+1)}}else s=gM(i,e,h,s,!0),G.addEventListener(r,s,o),f.push(s),u&&u.push(r,oe,k,o)}else s=gM(i,e,h,s,!1);const m=i.outputs;let A;if(g&&null!==m&&(A=m[r])){const I=A.length;if(I)for(let G=0;G0;)e=e[15],n--;return e}(n,Ln.lFrame.contextLView))[8]}(n)}function vY(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const Os={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function kF(n){return n.substring(Os.key,Os.keyEnd)}function FF(n,e){const t=Os.textEnd;return t===e?-1:(e=Os.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,Os.key=e,t),bg(n,e,t))}function bg(n,e,t){for(;e=0;t=FF(e,t))Bo(n,kF(e),!0)}function Jl(n,e,t,i){const r=jt(),s=Si(),o=Fo(2);s.firstUpdatePass&&zF(s,n,o,i),e!==Dn&&Eo(r,o,e)&&GF(s,s.data[to()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=ot(Gs(n)))),n}(e,t),i,o)}function UF(n,e){return e>=n.expandoStartIndex}function zF(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[to()],o=UF(n,t);WF(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=m_(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=Hy(t=_M(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=_M(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Yl(i))return n[On(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=_M(null,n,e,l[1],i),l=Hy(l,e.attrs,i),function(n,e,t,i){n[On(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else u=t;if(r)if(0!==l){const f=On(n[a+1]);n[i+1]=gl(f,a),0!==f&&(n[f+1]=ml(n[f+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=gl(a,0),0!==a&&(n[a+1]=ml(n[a+1],i)),a=i;else n[i+1]=gl(l,0),0===a?a=i:n[l+1]=ml(n[l+1],i),l=i;c&&(n[i+1]=Cr(n[i+1])),PF(n,u,i,!0),PF(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Ms(s,e)>=0&&(t[i+1]=hy(t[i+1]))}(e,u,n,i,s),o=gl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function _M(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let f=t[r+1];f===Dn&&(f=h?er:void 0);let g=h?O_(f,i):u===i?f:void 0;if(c&&!hE(g)&&(g=O_(l,i)),hE(g)&&(a=g,o))return a;const m=n[r+1];r=o?On(m):Yl(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=O_(l,i))}return a}function hE(n){return void 0!==n}function WF(n,e){return 0!=(n.flags&(e?16:32))}function Jn(n,e=""){const t=jt(),i=Si(),r=n+20,s=i.firstCreatePass?Jd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return dr(n)?n.createText(e):n.createTextNode(e)}(t[11],e);Yp(i,t,o,s),sl(s,!1)}function gs(n){return xo("",n,""),gs}function xo(n,e,t){const i=jt(),r=ag(i,n,e,t);return r!==Dn&&Xl(i,to(),r),xo}function qc(n,e,t){const i=jt();return Eo(i,Ra(),e)&&zo(Si(),Pr(),i,n,e,i[11],t,!0),qc}function fE(n,e,t){const i=jt();if(Eo(i,Ra(),e)){const s=Si(),o=Pr();zo(s,o,i,n,e,Dy(m_(s.data),o,i),t,!0)}return fE}const _f=void 0;var iX=["en",[["a","p"],["AM","PM"],_f],[["AM","PM"],_f,_f],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],_f,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],_f,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",_f,"{1} 'at' {0}",_f],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let vg={};function uL(n){return n in vg||(vg[n]=Zn.ng&&Zn.ng.common&&Zn.ng.common.locales&&Zn.ng.common.locales[n]),vg[n]}var un=(()=>((un=un||{})[un.LocaleId=0]="LocaleId",un[un.DayPeriodsFormat=1]="DayPeriodsFormat",un[un.DayPeriodsStandalone=2]="DayPeriodsStandalone",un[un.DaysFormat=3]="DaysFormat",un[un.DaysStandalone=4]="DaysStandalone",un[un.MonthsFormat=5]="MonthsFormat",un[un.MonthsStandalone=6]="MonthsStandalone",un[un.Eras=7]="Eras",un[un.FirstDayOfWeek=8]="FirstDayOfWeek",un[un.WeekendRange=9]="WeekendRange",un[un.DateFormat=10]="DateFormat",un[un.TimeFormat=11]="TimeFormat",un[un.DateTimeFormat=12]="DateTimeFormat",un[un.NumberSymbols=13]="NumberSymbols",un[un.NumberFormats=14]="NumberFormats",un[un.CurrencyCode=15]="CurrencyCode",un[un.CurrencySymbol=16]="CurrencySymbol",un[un.CurrencyName=17]="CurrencyName",un[un.Currencies=18]="Currencies",un[un.Directionality=19]="Directionality",un[un.PluralCase=20]="PluralCase",un[un.ExtraData=21]="ExtraData",un))();const pE="en-US";let dL=pE;function bM(n){ie(n,"Expected localeId to be defined"),"string"==typeof n&&(dL=n.toLowerCase().replace(/_/g,"-"))}function EM(n,e,t,i,r){if(n=Te(n),Array.isArray(n))for(let s=0;s>20;if(Hc(n)||!n.multi){const g=new qh(l,r,Oe),m=SM(a,e,r?u:u+f,h);-1===m?(Rc(Hs(c,o),s,a),xM(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[m]=g,o[m]=g)}else{const g=SM(a,e,u+f,h),m=SM(a,e,u,u+f),A=g>=0&&t[g],I=m>=0&&t[m];if(r&&!I||!r&&!A){Rc(Hs(c,o),s,a);const G=function(n,e,t,i,r){const s=new qh(n,t,Oe);return s.multi=[],s.index=e,s.componentProviders=0,kL(s,r,i&&!t),s}(r?eK:JX,t.length,r,i,l);!r&&I&&(t[m].providerFactory=G),xM(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(G),o.push(G)}else xM(s,n,g>-1?g:m,kL(t[r?m:g],l,!r&&i));!r&&i&&I&&t[m].componentProviders++}}}function xM(n,e,t,i){const r=Hc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function kL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function SM(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Si();if(i.firstCreatePass){const r=Da(n);EM(t,i.data,i.blueprint,r,!0),EM(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class FL{}const BL="ngComponent";class iK{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${ot(n)}. Did you add it to @NgModule.entryComponents?`);return e[BL]=n,e}(e)}}class El{}function bE(...n){}function Eg(n,e){return new gn(eo(n,e))}El.NULL=new iK;const oK=function(){return Eg(as(),jt())};let gn=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=oK,n})();function VL(n){return n instanceof gn?n.nativeElement:n}class yf{}let AM=(()=>{class n{}return n.\u0275prov=tt({token:n,providedIn:"root",factory:()=>null}),n})();class Hu{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const jL=new Hu("12.2.5");class UL{constructor(){}supports(e){return jy(e)}create(e){return new hK(e)}}const dK=(n,e)=>e;class hK{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||dK}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;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,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new fK(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new zL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new zL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(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._nextIdentityChange=e,e}}class fK{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}}class pK{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(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 i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class zL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new pK,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function HL(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new mK(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class mK{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function $L(){return new xg([new UL])}let xg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||$L()),deps:[[n,new dl,new ts]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=tt({token:n,providedIn:"root",factory:$L}),n})();function WL(){return new Sg([new GL])}let Sg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||WL()),deps:[[n,new dl,new ts]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=tt({token:n,providedIn:"root",factory:WL}),n})();function vE(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(Sr(s)),ea(s))for(let a=10;a-1&&(sy(e,i),Hl(t,i))}this._attachedToViewContainer=!1}oy(this._lView[1],this._lView)}onDestroy(e){Bw(this._lView[1],this._lView,null,e)}markForCheck(){Cy(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Ay(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){yp(!0);try{Ay(n,e,t)}finally{yp(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Qd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class yK extends Yy{constructor(e){super(e),this._view=e}detectChanges(){Yw(this._view)}checkNoChanges(){!function(n){yp(!0);try{Yw(n)}finally{yp(!1)}}(this._view)}get context(){return null}}const vK=function(n){return function(n,e,t){if(Ad(n)&&!t){const i=zs(n.index,e);return new Yy(i,i)}return 47&n.type?new Yy(e[16],e):null}(as(),jt(),16==(16&n))};let Mr=(()=>{class n{}return n.__NG_ELEMENT_ID__=vK,n})();const xK=[new GL],CK=new xg([new UL]),TK=new Sg(xK),MK=function(){return wE(as(),jt())};let Go=(()=>{class n{}return n.__NG_ELEMENT_ID__=MK,n})();const DK=Go,IK=class extends DK{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=hf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),ff(t,i,e),new Yy(i)}};function wE(n,e){return 4&n.type?new IK(e,n,Eg(n,e)):null}class Yc{}const NK=function(){return KL(as(),jt())};let Rs=(()=>{class n{}return n.__NG_ELEMENT_ID__=NK,n})();const kK=Rs,YL=class extends kK{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Eg(this._hostTNode,this._hostLView)}get injector(){return new na(this._hostTNode,this._hostLView)}get parentInjector(){const e=Xh(this._hostTNode,this._hostLView);if(yv(e)){const t=al(e,this._hostLView),i=Nd(e);return new na(t[1].data[i+8],t)}return new na(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=XL(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get(Yc,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return ea(n[3])}(i)){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const h=i[3],f=new YL(h,h[6],h[3]);f.detach(f.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),itw});class b3 extends FL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(dA).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return y3(this.componentDef.inputs)}get outputs(){return y3(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,Mg,r);return s!==Mg||i===Mg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(yf,Su),a=s.get(AM,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(dr(n))return n.selectRootElement(e,t===Xt.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):ry(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),h=this.componentDef.onPush?576:528,f=function(n,e){return{components:[],scheduler:n||tw,clean:WA,playerHandler:e||null,flags:0}}(),g=tg(0,null,null,1,0,null,null,null,null,null),m=hf(null,g,f,h,null,null,o,l,a,s);let A,I;$h(m);try{const G=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Jd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(rg(l,c,!0),null!==n&&(Sp(r,n,c),null!==l.classes&&uy(r,n,l.classes),null!==l.styles&&vw(r,n,l.styles)));const u=i.createRenderer(n,e),h=hf(t,eg(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Rc(Hs(l,t),o,e.type),Ww(o,l),wy(l,t.length,1)),ng(t,h),t[20]=h}(u,this.componentDef,m,o,l);if(u)if(i)Sp(l,u,["ng-version",jL.full]);else{const{attrs:k,classes:oe}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&uy(l,u,oe.join(" "))}if(I=h_(g,20),void 0!==t){const k=I.projection=[];for(let oe=0;oel(o,e)),e.contentQueries){const l=as();e.contentQueries(1,o,l.directiveStart)}const a=as();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(_o(a.index),Gw(t[1],a,0,a.directiveStart,a.directiveEnd,e),$w(e,o)),o}(G,this.componentDef,m,f,[Fq]),ff(g,m,null)}finally{fi()}return new PQ(this.componentType,A,Eg(I,m),m,I)}}class PQ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new yK(r),this.componentType=e}get injector(){return new na(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Dg=new Map;class LQ extends Yc{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _3(this);const i=Po(e),r=function(n){return n[TC]||null}(e);r&&bM(r),this._bootstrapComponents=fl(i.bootstrap),this._r3Injector=Zw(e,t,[{provide:Yc,useValue:this},{provide:El,useValue:this.componentFactoryResolver}],ot(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Hn.THROW_IF_NOT_FOUND,i=xn.Default){return e===Hn||e===Yc||e===Vu?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class UM extends class{}{constructor(e){super(),this.moduleType=e,null!==Po(e)&&function(n){const e=new Set;!function t(i){const r=Po(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${ot(e)} vs ${ot(e.name)}`)}(s,Dg.get(s),i),Dg.set(s,i));const o=fl(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new LQ(this.moduleType,e)}}function TE(n,e,t){const i=Cs()+n,r=jt();return r[i]===Dn?$c(r,i,t?e.call(t):e()):function(n,e){return n[e]}(r,i)}function E3(n,e,t,i,r,s){const o=e+t;return Eo(n,o,r)?$c(n,o+1,s?i.call(s,r):i(r)):function(n,e){const t=n[e];return t===Dn?void 0:t}(n,o+1)}function Ns(n,e){const t=Si();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new rt("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=Ic(i.type)),o=Ta(Oe);try{const a=Cp(!1),l=s();return Cp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,jt(),r,l),l}finally{Ta(o)}}function To(n,e,t){const i=n+20,r=jt(),s=Dd(r,i);return function(n,e){Ql.isWrapped(e)&&(e=Ql.unwrap(e),n[Ln.lFrame.bindingIndex]=Dn);return e}(r,function(n,e){return n[1].data[e].pure}(r,i)?E3(r,Cs(),e,s.transform,t,s):s.transform(t))}function HM(n){return e=>{setTimeout(n,void 0,e)}}const ln=class extends se{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const h=e;a=null===(r=h.next)||void 0===r?void 0:r.bind(h),l=null===(s=h.error)||void 0===s?void 0:s.bind(h),c=null===(o=h.complete)||void 0===o?void 0:o.bind(h)}this.__isAsync&&(l=HM(l),a&&(a=HM(a)),c&&(c=HM(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof C&&e.add(u),u}};function QQ(){return this._results[sg()]()}class wf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=sg(),i=wf.prototype;i[t]||(i[t]=QQ)}get changes(){return this._changes||(this._changes=new ln)}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){const i=this;i.dirty=!1;const r=ia(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],u=e[-l];for(let h=10;h{class n{constructor(t){this.appInits=t,this.resolve=bE,this.reject=bE,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(ke(Ef,8))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const a0=new Ht("AppId"),NZ={provide:a0,useFactory:function(){return`${eD()}${eD()}${eD()}`},deps:[]};function eD(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const X3=new Ht("Platform Initializer"),Xc=new Ht("Platform ID"),IE=new Ht("appBootstrapListener");let OE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const Gu=new Ht("LocaleId"),K3=new Ht("DefaultCurrencyCode");class kZ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const tD=function(n){return new UM(n)},FZ=tD,LZ=function(n){return Promise.resolve(tD(n))},Q3=function(n){const e=tD(n),i=fl(Po(n).declarations).reduce((r,s)=>{const o=Ui(s);return o&&r.push(new b3(o)),r},[]);return new kZ(e,i)},BZ=Q3,VZ=function(n){return Promise.resolve(Q3(n))};let xf=(()=>{class n{constructor(){this.compileModuleSync=FZ,this.compileModuleAsync=LZ,this.compileModuleAndAllComponentsSync=BZ,this.compileModuleAndAllComponentsAsync=VZ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const Z3=new Ht("compilerOptions"),UZ=(()=>Promise.resolve(0))();function nD(n){"undefined"==typeof Zone?UZ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class pn{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new ln(!1),this.onMicrotaskEmpty=new ln(!1),this.onStable=new ln(!1),this.onError=new ln(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const 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=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=Zn.requestAnimationFrame,e=Zn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(Zn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,rD(n),n.isCheckStableRunning=!0,iD(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),rD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return J3(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),eB(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return J3(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),eB(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,rD(n),iD(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!pn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(pn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,HZ,bE,bE);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const HZ={};function iD(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function rD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function J3(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function eB(n){n._nesting--,iD(n)}class WZ{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new ln,this.onMicrotaskEmpty=new ln,this.onStable=new ln,this.onError=new ln}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let sD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{pn.assertNotInAngularZone(),nD(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())nD(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(ke(pn))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),tB=(()=>{class n{constructor(){this._applications=new Map,oD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return oD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class qZ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let oD=new qZ,nB=!0,iB=!1;function fa(){return iB=!0,nB}let ic;const rB=new Ht("AllowMultipleToken");function sB(n,e,t=[]){const i=`Platform: ${e}`,r=new Ht(i);return(s=[])=>{let o=lD();if(!o||o.injector.get(rB,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:ju,useValue:"platform"});!function(n){if(ic&&!ic.destroyed&&!ic.injector.get(rB,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");ic=n.get(oB);const e=n.get(X3,null);e&&e.forEach(t=>t())}(Hn.create({providers:a,name:i}))}return function(n){const e=lD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function lD(){return ic&&!ic.destroyed?ic:null}let oB=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new WZ:("zone.js"===n?void 0:n)||new pn({enableLongStackTrace:fa(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:pn,useValue:a}];return a.run(()=>{const c=Hn.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),h=u.injector.get(la,null);if(!h)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const f=a.onError.subscribe({next:g=>{h.handleError(g)}});u.onDestroy(()=>{cD(this._modules,u),f.unsubscribe()})}),function(n,e,t){try{const i=t();return yg(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(h,a,()=>{const f=u.injector.get(Og);return f.runInitializers(),f.donePromise.then(()=>(bM(u.injector.get(Gu,pE)||pE),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=aB({},i);return function(n,e,t){const i=new UM(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(sh);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${ot(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(ke(Hn))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();function aB(n,e){return Array.isArray(e)?e.reduce(aB,n):Object.assign(Object.assign({},n),e)}let sh=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new P(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new P(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{pn.assertNotInAngularZone(),nD(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const h=this._zone.onUnstable.subscribe(()=>{pn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),h.unsubscribe()}});this.isStable=Pn(a,l.pipe(ws()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof FL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get(Yc),a=r.create(Hn.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(sD,null),u=c&&a.injector.get(tB);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),cD(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;cD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(IE,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(ke(pn),ke(Hn),ke(la),ke(El),ke(Og))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();function cD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const vJ=sB(null,"core",[{provide:Xc,useValue:"unknown"},{provide:oB,deps:[Hn]},{provide:tB,deps:[]},{provide:OE,deps:[]}]),CJ=[{provide:sh,useClass:sh,deps:[pn,Hn,la,El,Og]},{provide:OQ,deps:[pn],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Og,useClass:Og,deps:[[new ts,Ef]]},{provide:xf,useClass:xf,deps:[]},NZ,{provide:xg,useFactory:function(){return CK},deps:[]},{provide:Sg,useFactory:function(){return TK},deps:[]},{provide:Gu,useFactory:function(n){return bM(n=n||"undefined"!=typeof $localize&&$localize.locale||pE),n},deps:[[new Hd(Gu),new ts,new dl]]},{provide:K3,useValue:"USD"}];let AJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(ke(sh))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:CJ}),n})(),zE=null;function Kc(){return zE}const fn=new Ht("DocumentToken");let Tf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({factory:Tee,token:n,providedIn:"platform"}),n})();function Tee(){return ke(kB)}let kB=(()=>{class n extends Tf{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Kc().getBaseHref(this._doc)}onPopState(t){const i=Kc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=Kc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}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(t){this.location.pathname=t}pushState(t,i,r){FB()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){FB()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(ke(fn))},n.\u0275prov=tt({factory:Mee,token:n,providedIn:"platform"}),n})();function FB(){return!!window.history.pushState}function Mee(){return new kB(ke(fn))}function SD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function LB(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function Wu(n){return n&&"?"!==n[0]?"?"+n:n}let Pg=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({factory:Dee,token:n,providedIn:"root"}),n})();function Dee(n){const e=ke(fn).location;return new BB(ke(Tf),e&&e.origin||"")}const CD=new Ht("appBaseHref");let BB=(()=>{class n extends Pg{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return SD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Wu(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+Wu(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+Wu(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(ke(Tf),ke(CD,8))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),kg=(()=>{class n{constructor(t,i){this._subject=new ln,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=LB(VB(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Wu(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,VB(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Wu(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Wu(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(ke(Pg),ke(Tf))},n.normalizeQueryParams=Wu,n.joinWithSlash=SD,n.stripTrailingSlash=LB,n.\u0275prov=tt({factory:Oee,token:n,providedIn:"root"}),n})();function Oee(){return new kg(ke(Pg),ke(Tf))}function VB(n){return n.replace(/\/index.html$/,"")}var ms=(()=>((ms=ms||{})[ms.Zero=0]="Zero",ms[ms.One=1]="One",ms[ms.Two=2]="Two",ms[ms.Few=3]="Few",ms[ms.Many=4]="Many",ms[ms.Other=5]="Other",ms))();const Vee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=uL(e);if(t)return t;const i=e.split("-")[0];if(t=uL(i),t)return t;if("en"===i)return iX;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[un.PluralCase]};class ZE{}let pte=(()=>{class n extends ZE{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(Vee(i||this.locale)(t)){case ms.Zero:return"zero";case ms.One:return"one";case ms.Two:return"two";case ms.Few:return"few";case ms.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(ke(Gu))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();function YB(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}class mte{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Yu=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new mte(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new XB(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new XB(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Oe(Rs),Oe(Go),Oe(xg))},n.\u0275dir=Pt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class XB{constructor(e,t){this.record=e,this.view=t}}let ac=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new yte,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){KB("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){KB("ngIfElse",t),this._elseTemplateRef=t,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(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Oe(Rs),Oe(Go))},n.\u0275dir=Pt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class yte{constructor(){this.$implicit=null,this.ngIf=null}}function KB(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${ot(e)}'.`)}class Ete{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class xte{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const Ste=new xte,Cte=new Ete;let g0=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(yg(t))return Ste;if(xF(t))return Cte;throw function(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${ot(n)}'`)}(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(Oe(Mr,16))},n.\u0275pipe=js({name:"async",type:n,pure:!1}),n})(),fr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[{provide:ZE,useClass:pte}]}),n})();const iV="browser";function Af(n){return n===iV}class oV{}class BD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){zE||(zE=n)}(new BD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).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"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(m0=m0||document.querySelector("base"),m0?m0.getAttribute("href"):null);return null==t?null:function(n){ex=ex||document.createElement("a"),ex.setAttribute("href",n);const e=ex.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){m0=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return YB(document.cookie,e)}}let ex,m0=null;const aV=new Ht("TRANSITION_ID"),Xte=[{provide:Ef,useFactory:function(n,e,t){return()=>{t.get(Og).donePromise.then(()=>{const i=Kc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},Zn.getAllAngularTestabilities=()=>e.getAllTestabilities(),Zn.getAllAngularRootElements=()=>e.getAllRootElements(),Zn.frameworkStabilizers||(Zn.frameworkStabilizers=[]),Zn.frameworkStabilizers.push(i=>{const r=Zn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?Kc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let Kte=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const _0=new Ht("EventManagerPlugins");let nx=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),y0=(()=>{class n extends cV{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(uV),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(uV))}}return n.\u0275fac=function(t){return new(t||n)(ke(fn))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();function uV(n){Kc().remove(n)}const UD={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/"},zD=/%COMP%/g;function ix(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let rx=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new HD(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Xt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new dne(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Xt.ShadowDom:return new hne(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=ix(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(ke(nx),ke(y0),ke(a0))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class HD{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(UD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=UD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=UD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(Uo.DashCase|Uo.Important)?e.style.setProperty(t,i,r&Uo.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&Uo.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,fV(i)):this.eventManager.addEventListener(e,t,fV(i))}}class dne extends HD{constructor(e,t,i,r){super(e),this.component=i;const s=ix(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(zD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(zD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class hne extends HD{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=ix(r.id,r.styles,[]);for(let o=0;o{class n extends jD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(ke(fn))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const mV=["alt","control","meta","shift"],vne={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_V={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},wne={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let Ene=(()=>{class n extends jD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Kc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(mV.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&_V.hasOwnProperty(e)&&(e=_V[e]))}return vne[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),mV.forEach(s=>{s!=r&&wne[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(ke(fn))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),Mf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({factory:function(){return ke($D)},token:n,providedIn:"root"}),n})(),$D=(()=>{class n extends Mf{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case si.NONE:return i;case si.HTML:return sa(i,"HTML")?Gs(i):$_(this._doc,String(i)).toString();case si.STYLE:return sa(i,"Style")?Gs(i):i;case si.SCRIPT:if(sa(i,"Script"))return Gs(i);throw new Error("unsafe value used in a script context");case si.URL:return jc(i),sa(i,"URL")?Gs(i):jo(String(i));case si.RESOURCE_URL:if(sa(i,"ResourceURL"))return Gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new L_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new B_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new jp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new Wd(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new kn(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(ke(fn))},n.\u0275prov=tt({factory:function(){return function(n){return new $D(n.get(fn))}(ke(Vu))},token:n,providedIn:"root"}),n})();const Ine=sB(vJ,"browser",[{provide:Xc,useValue:iV},{provide:X3,useValue:function(){BD.makeCurrent(),VD.init()},multi:!0},{provide:fn,useFactory:function(){return function(n){Yi=n}(document),document},deps:[]}]),One=[[],{provide:ju,useValue:"root"},{provide:la,useFactory:function(){return new la},deps:[]},{provide:_0,useClass:fne,multi:!0,deps:[fn,pn,Xc]},{provide:_0,useClass:Ene,multi:!0,deps:[fn]},[],{provide:rx,useClass:rx,deps:[nx,y0,a0]},{provide:yf,useExisting:rx},{provide:cV,useExisting:y0},{provide:y0,useClass:y0,deps:[fn]},{provide:sD,useClass:sD,deps:[pn]},{provide:nx,useClass:nx,deps:[_0,pn]},{provide:oV,useClass:Kte,deps:[]},[]];let WD=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:a0,useValue:t.appId},{provide:aV,useExisting:a0},Xte]}}}return n.\u0275fac=function(t){return new(t||n)(ke(n,12))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:One,imports:[fr,AJ]}),n})();"undefined"!=typeof window&&window;class Vne extends C{constructor(e,t){super()}schedule(e,t=0){return this}}class sx extends Vne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let bV=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class cc extends bV{constructor(e,t=bV.now){super(e,()=>cc.delegate&&cc.delegate!==this?cc.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return cc.delegate&&cc.delegate!==this?cc.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const zne=new class extends cc{}(class extends sx{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),Qc=new P(n=>n.complete());function b0(n){return n?function(n){return new P(e=>n.schedule(()=>e.complete()))}(n):Qc}function sn(...n){let e=n[n.length-1];return Re(e)?(n.pop(),Ve(n,e)):In(n)}function Fg(n,e){return new P(e?t=>e.schedule(Gne,0,{error:n,subscriber:t}):t=>t.error(n))}function Gne({error:n,subscriber:e}){e.error(n)}class ga{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return sn(this.value);case"E":return Fg(this.error);case"C":return b0()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new ga("N",e):ga.undefinedValueNotification}static createError(e){return new ga("E",void 0,e)}static createComplete(){return ga.completeNotification}}ga.completeNotification=new ga("C"),ga.undefinedValueNotification=new ga("N",void 0);class ox extends v{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(ox.dispatch,this.delay,new Wne(e,this.destination)))}_next(e){this.scheduleMessage(ga.createNext(e))}_error(e){this.scheduleMessage(ga.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(ga.createComplete()),this.unsubscribe()}}class Wne{constructor(e,t){this.notification=e,this.destination=t}}class Df extends se{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new qne(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new W;if(this.isStopped||this.hasError?o=C.EMPTY:(this.observers.push(e),o=new ne(this,e)),r&&e.add(e=new ox(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class qne{constructor(e,t){this.time=e,this.value=t}}function is(n,e){return"function"==typeof e?t=>t.pipe(is((i,r)=>Ye(n(i,r)).pipe(be((s,o)=>e(i,s,r,o))))):t=>t.lift(new Yne(n))}class Yne{constructor(e){this.project=e}call(e,t){return t.subscribe(new Xne(e,this.project))}}class Xne extends Ae{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new _t(this),r=this.destination;r.add(i),this.innerSubscription=L(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const ax={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return ax.schedule(n,0);if(void 0===window.requestAnimationFrame)return ax.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let YD;function sie(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!YD){const t=Element.prototype;YD=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&YD.call(n,e)}(n,r)||(i=s,0))),i}class aie{constructor(e,t){this.componentFactory=t.get(El).resolveComponentFactory(e)}create(e){return new lie(this.componentFactory,e)}}class lie{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new Df(1),this.events=this.eventEmitters.pipe(is(i=>Pn(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(pn),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=ax.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Hn.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(be(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=ax.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new c_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class cie extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}const die={initialConfig:{},parse:{},rename:{}};class hie{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},die),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,u=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(u)try{i[l]=u(c)}catch(h){console.warn(`Failed to parse ${e} = ${c}`,h.message)}else i[l]=c}}let fie=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new hie(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=Pt({type:n,features:[Fi]}),n})();const XD={boolean:n=>"false"!=`${n}`,json:n=>"string"==typeof n?JSON.parse(n):n,function:n=>{if("function"!=typeof n)throw new Error("Expected a javascript function");return n}};var KD;const If={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://r5i95k35v5.us-east-2.awsapprunner.com/v1/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld",dataSources:["https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/kpmp/data/rui_locations.jsonld","https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/sparc/data/rui_locations.jsonld"],hubmapDataService:"",hubmapPortalUrl:"",hubmapDataUrl:"",hubmapAssetsUrl:"",hubmapToken:null!==(KD=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==KD?KD:"",useRemoteApi:!1,remoteApiEndpoint:"https://r5i95k35v5.us-east-2.awsapprunner.com/v1"},googleAnalyticsToken:"G-ERNVZ1Q4KE"};function Ei(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function wV(n,e){return function(t,i){e(t,i,n)}}function uc(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function Bi(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function SV(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function ZD(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||SV()}const CV="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",cx=ZD();class _ie{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function JD(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const TV={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function AV(n){return"string"==typeof n?TV[n.toUpperCase()]||TV.WHITE:n}function ux(n,e){if(!n)throw new Error(e||"Assertion failed")}const dc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},v0=dc.window||dc.self||dc.global,MV=dc.process||{};function Lg(){let n;if(cx&&v0.performance)n=v0.performance.now();else if(MV.hrtime){const e=MV.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const Bg={debug:cx&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Sie={enabled:!0,level:0};function Al(){}const DV={},IV={once:!0};function Cie(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let eI=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=CV,this._startTs=Lg(),this._deltaTs=Lg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new _ie("__probe-".concat(this.id,"__"),Sie),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Lg()-this._startTs).toPrecision(10))}getDelta(){return Number((Lg()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){ux(t,i)}warn(t){return this._getLogFunction(0,t,Bg.warn,arguments,IV)}error(t){return this._getLogFunction(0,t,Bg.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,Bg.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,Bg.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,Bg.debug||Bg.info,arguments,IV)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||Al,r&&[r],{tag:Cie(i)}):Al}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?cx?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=JD(r,e,t);console.log(...s)},r.src=n,Al}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...JD(n,e,t)),Al;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...JD(r,e,t)),r.src=n.toDataURL(),Al}return Al}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=et(5307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):Al}({image:r,message:s,scale:o}):Al}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||Al)}group(t,i,r={collapsed:!1}){r=RV({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Al)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=OV(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=RV({logLevel:t,message:i,args:s,opts:o}),ux(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Lg();const a=o.tag||o.message;if(o.once){if(DV[a])return Al;DV[a]=Lg()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!cx&&"string"==typeof n&&(e&&(e=AV(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=AV(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return Al}}return n.VERSION=CV,n})();function OV(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return ux(Number.isFinite(e)&&e>=0),e}function RV(n){const{logLevel:e,message:t}=n;n.logLevel=OV(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return ux("string"===r||"object"===r),Object.assign(n,n.opts)}const Ri=new eI({id:"deck"}),Vi={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Vi,"IDENTITY",{get:()=>Ri.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Zc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},NV={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},mn=new eI({id:"luma.gl"});function qo(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function dx(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function Ci(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function hx(n){return qo(dx(n),"Invalid WebGLRenderingContext"),n}function Ao(n){return qo(Ci(n),"Requires WebGL2"),n}const w0={};const E0=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Of.prototype.VERTEX_ARRAY_BINDING_OES=34229,Of.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iCi(n)?void 0:0,Wie={3074:n=>Ci(n)?void 0:36064,35723:n=>Ci(n)?void 0:4352,35977:br,32937:br,36795:(n,e)=>{const t=Ci(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(FV);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(FV);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:br,35071:br,37447:br,36063:(n,e)=>{if(!Ci(n)){const t=n.getExtension(kV);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:br,35374:br,35377:br,34852:n=>{if(!Ci(n)){const e=n.getExtension(kV);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(PV)?2147483647:65535,33001:n=>n.getExtension(PV)?16777216:65535,33e3:n=>16777216,37157:br,35373:br,35657:br,36183:br,37137:br,34045:br,35978:br,35979:br,35968:br,35376:br,35375:br,35659:br,37154:br,35371:br,35658:br,35076:br,35077:br,35380:br},LV="ANGLE_instanced_arrays",BV={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{qo(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[LV]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){qo(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{qo(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{qo(!1)},deleteQuery:()=>{qo(!1)},beginQuery:()=>{qo(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},tI={readBuffer:(n,e,t)=>{Ci(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:Ci(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!Ci(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!Ci(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=Wie[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function rre(n,{extension:e,target:t,target2:i}){const r=BV[e];qo(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let u=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?u=(...h)=>a[c](...h):"function"==typeof r[l]&&(u=r[l].bind(t))),u&&(t[l]=u,i[l]=u)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Of(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&rre(n,{extension:t,target:n.luma,target2:n})}(n,BV),function(n,{target:e,target2:t}){Object.keys(tI).forEach(i=>{if("function"==typeof tI[i]){const r=n[i]?n[i].bind(n):()=>{},s=tI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const nI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},lh=(n,e,t)=>e?n.enable(t):n.disable(t),VV=(n,e,t)=>n.hint(t,e),ja=(n,e,t)=>n.pixelStorei(t,e);function x0(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const are={3042:lh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:lh,2885:(n,e)=>n.cullFace(e),2929:lh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:lh,35723:VV,36006:(n,e)=>{const t=Ci(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:VV,2849:(n,e)=>n.lineWidth(e),32823:lh,32824:"polygonOffset",10752:"polygonOffset",35977:lh,32938:"sampleCoverage",32939:"sampleCoverage",3089:lh,3088:(n,e)=>n.scissor(...e),2960:lh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:ja,3317:ja,37440:ja,37441:ja,37443:ja,3330:ja,3332:ja,3331:ja,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:ja,32878:ja,3316:ja,3315:ja,32877:ja,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=x0(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=x0(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=x0(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=x0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=x0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function rs(n,e,t){return void 0!==e[n]?e[n]:t[n]}const lre={blendEquation:(n,e,t)=>n.blendEquationSeparate(rs(32777,e,t),rs(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(rs(32969,e,t),rs(32968,e,t),rs(32971,e,t),rs(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(rs(32824,e,t),rs(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(rs(32938,e,t),rs(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,rs(2962,e,t),rs(2967,e,t),rs(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,rs(34816,e,t),rs(36003,e,t),rs(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,rs(2964,e,t),rs(2965,e,t),rs(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,rs(34817,e,t),rs(34818,e,t),rs(34819,e,t))},jV={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Jc=(n,e)=>n.isEnabled(e),UV={3042:Jc,2884:Jc,2929:Jc,3024:Jc,32823:Jc,32926:Jc,32928:Jc,3089:Jc,2960:Jc,35977:Jc};function zV(n){for(const e in n)return!1;return!0}function cre(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||nI)){const r=e,s=UV[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=UV[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},nI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){qo(this.stateStack.length>0),Xu(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){qo(void 0!==s);const o=e[s],a=this.cache[s];cre(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function GV(n,e={}){const{enable:t=!0,copyState:i}=e;if(qo(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new hre(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in jV)ure(n,s,jV[s]);HV(n,"getParameter"),HV(n,"isEnabled")}return n.state.enable=t,n}function $V(n){qo(n.state),n.state.pop()}function Xu(n,e){if(qo(dx(n),"setParameters requires a WebGL context"),zV(e))return;const t={};for(const r in e){const s=Number(r),o=are[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)lre[r](n,e,i)}function hc(n,e,t){if(zV(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||GV(n,{copyState:!1}),n.state.push()}(n),Xu(n,e),i)r=t(n),$V(n);else try{r=t(n)}finally{$V(n)}return r}function fx(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function Vg(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function iI(n,e,t=!0){return function(n,e,t,i,r){const s=WV(n[0],e,t);let o=qV(n[1],e,i,r),a=WV(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=qV(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,Vg(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function WV(n,e,t){return Math.min(Math.round(n*e),t-1)}function qV(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const rI=fx(),bre=rI&&"undefined"!=typeof document,YV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function XV(n={}){qo(rI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},YV,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(bre&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=sI(r,n),function(n){const e=Ci(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);mn.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function sI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},YV,e);const{manageState:t,debug:i}=e;return t&&GV(n,{copyState:!1,log:(...r)=>mn.log(1,...r)()}),rI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),mn.level=Math.max(mn.level,1)):mn.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function KV(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class QV{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=KV(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(KV()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class oI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof QV?e:new QV(t,i)),this.stats[t]}}const S0="8.5.12",Rf=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new oI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==S0)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${S0}`);function on(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function aI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return on(void 0!==i,`Accessing undefined constant GL.${e}`),i}function ch(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(fx()&&mn.log(1,`luma.gl ${S0} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:S0,version:S0,log:mn,stats:Rf,globals:{modules:{},nodeIO:{}}}),globalThis;const lI={};function ma(n="id"){return lI[n]=lI[n]||1,`${n}-${lI[n]++}`}function ZV(n){return on("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function jg(n){let e=!0;for(const t in n){e=!1;break}return e}function JV(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw mn.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const Ug="Resource subclass must define virtual methods";class Ku{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){hx(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ma(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){on(e=aI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Ci(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=Ci(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const h=i?ch(this.gl,l):l;o[h]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[h]=ch(this.gl,o[h]))}}return o}setParameter(e,t){on(e=aI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Ci(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=aI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return JV(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(Ug)}_deleteHandle(){throw new Error(Ug)}_bindHandle(e){throw new Error(Ug)}_getOptsFromHandle(){throw new Error(Ug)}_getParameter(e,t){throw new Error(Ug)}_setParameter(e,t){throw new Error(Ug)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=Rf.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];Rf.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=Rf.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=Rf.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function cI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function C0(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function Ore({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return _a.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return _a.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=uI("Accessor",e,Nre)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const tj={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},Pre={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:tj},kre={removedProps:tj};class lr extends Ku{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/_a.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/_a.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=uI("Buffer",e,Pre),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=uI("Buffer",e,kre))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new _a(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;on(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(Ao(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return Ao(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){Ao(this.gl);const s=C0(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const u=Math.min(o,l);return on((r=r||u)<=u),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(on(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){on(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=cI(e);return on(s),this.setAccessor(new _a(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){on(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/C0(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new _a(this.accessor,{type:cI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return mn.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return mn.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return mn.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return mn.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new _a(this.accessor,e),this}}const dI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},nj={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},ij={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},Bre=[9729,9728],rj=globalThis.WebGLBuffer||function(){};class Nf extends Ku{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=dI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=Ci(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=dI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ma("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(k=>this.initialize(Object.assign({},e,{pixels:k,data:k}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:u}=e;t||(t=r);let{width:h,height:f,dataFormat:g,type:m,compressed:A=!1,mipmaps:I=!0}=e;const{depth:G=0}=e;return({width:h,height:f,compressed:A,dataFormat:g,type:m}=this._deduceParameters({format:s,type:m,dataFormat:g,compressed:A,data:t,width:h,height:f})),this.width=h,this.height=f,this.depth=G,this.format=s,this.type=m,this.dataFormat=g,this.border=o,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),I&&this._isNPOT()&&(mn.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),I=!1,this._updateForNPOT(l)),this.mipmaps=I,this.setImageData({data:t,width:h,height:f,depth:G,format:s,type:m,dataFormat:g,border:o,mipmaps:I,parameters:c,compressed:A}),I&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:u=this.type,width:h=this.width,height:f=this.height,dataFormat:g=this.dataFormat,compressed:m=!1}=e;c||(c=i),({type:u,dataFormat:g,compressed:m,width:h,height:f}=this._deduceParameters({format:s,type:u,dataFormat:g,compressed:m,data:c,width:h,height:f}));const{gl:A}=this;A.bindTexture(this.target,this.handle);let I=null;({data:c,dataType:I}=this._getDataType({data:c,compressed:m}));let G,k=0;return hc(this.gl,l,()=>{switch(I){case"null":A.texImage2D(t,r,s,h,f,o,g,u,c);break;case"typed-array":A.texImage2D(t,r,s,h,f,o,g,u,c,a);break;case"buffer":G=Ao(A),G.bindBuffer(35052,c.handle||c),G.texImage2D(t,r,s,h,f,o,g,u,a),G.bindBuffer(35052,null);break;case"browser-object":Ci(A)?A.texImage2D(t,r,s,h,f,o,g,u,c):A.texImage2D(t,r,s,g,u,c);break;case"compressed":for(const[oe,we]of c.entries())A.compressedTexImage2D(t,oe,we.format,we.width,we.height,o,we.data),k+=we.levelSize;break;default:on(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===I?k:c&&c.byteLength?c.byteLength:this.width*this.height*(nj[this.dataFormat]||4)*(ij[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:u=this.type,dataFormat:h=this.dataFormat,compressed:f=!1,offset:g=0,border:m=this.border,parameters:A={}}){if(({type:u,dataFormat:h,compressed:f,width:o,height:a}=this._deduceParameters({format:c,type:u,dataFormat:h,compressed:f,data:i,width:o,height:a})),on(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const I=i;i=I.data,o=I.shape[0],a=I.shape[1]}i instanceof lr&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),hc(this.gl,A,()=>{if(f)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,h,u,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,h,u,i,g);else if(i instanceof rj){const I=Ao(this.gl);I.bindBuffer(35052,i),I.texSubImage2D(e,l,r,s,o,a,h,u,g),I.bindBuffer(35052,null)}else Ci(this.gl)?Ao(this.gl).texSubImage2D(e,l,r,s,o,a,h,u,i):this.gl.texSubImage2D(e,l,r,s,h,u,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return mn.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof lr?{data:e.handle,dataType:"buffer"}:e instanceof rj?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=dI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},on(r,"Could not deduced texture size"),on(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),on(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:on(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Ci(this.gl)||!this.width||!this.height||ZV(this.width)&&ZV(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===Bre.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function Vre(n,e){return on("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class ya extends Nf{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return Nf.isSupported(e,t)}constructor(e,t={}){hx(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:Vre(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const Pf="EXT_color_buffer_float",sj={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Pf,bpp:2},33327:{gl2:Pf,bpp:4},34842:{gl2:Pf,bpp:8},33326:{gl2:Pf,bpp:4},33328:{gl2:Pf,bpp:8},34836:{gl2:Pf,bpp:16},35898:{gl2:Pf,bpp:4}};class zg extends Ku{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=Ci(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,sj)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return on(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&Ci(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*sj[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const uj="clear: bad arguments";function fI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),on(0!==o,uj),hc(n,s,()=>{n.clear(o)})}function dj(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function li(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){dj(s,i,r,o,a,"next",l)}function a(l){dj(s,i,r,o,a,"throw",l)}o(void 0)})}}const pI=[34069,34070,34071,34072,34073,34074];let Wre=(()=>{class n extends Nf{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){hx(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return li(function*(){const{gl:u}=c,h=r||s,f=yield Promise.all(pI.map(g=>{const m=h[g];return Promise.all(Array.isArray(m)?m:[m])}));c.bind(),pI.forEach((g,m)=>{f[m].length>1&&!1!==c.opts.mipmaps&&mn.warn(`${c.id} has mipmap and multiple LODs.`)(),f[m].forEach((A,I)=>{t&&i?u.texImage2D(g,I,a,t,i,o,a,l,A):u.texImage2D(g,I,a,a,l,A)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:u=5121}=t,{gl:h}=this,f=o||a;return this.bind(),f instanceof Promise?f.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?h.texImage2D(i,0,c,r,s,l,c,u,f):h.texImage2D(i,0,c,c,u,f),this}}return n.FACES=pI,n})();class qre extends Nf{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return Ci(e)}constructor(e,t={}){Ao(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:u,parameters:h={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),hc(this.gl,h,()=>{ArrayBuffer.isView(u)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,u),u instanceof lr&&(this.gl.bindBuffer(35052,u.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(u&&u.byteLength?u.byteLength:this.width*this.height*this.depth*(nj[this.dataFormat]||4)*(ij[this.type]||1),"Texture"),this.loaded=!0,this}}function hj(n,e){on(n instanceof ya||n instanceof Wre||n instanceof qre);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function Yre(n,e){const{gl:t,width:i,height:r,id:s}=n;return new ks(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function px(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=T0(n);on(u);const{gl:f,handle:g,attachments:m}=u;a=a||u.width,l=l||u.height,36064===s&&null===g&&(s=1028),on(m[s]),c=c||m[s].type,o=function(n,e,t,i,r){if(n)return n;return new(C0(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return on(!1),0}}(t))}(o,c,r,a,l),c=c||cI(o);const A=f.bindFramebuffer(36160,g);return f.readPixels(t,i,a,l,r,c,o),f.bindFramebuffer(36160,A||null),h&&u.delete(),o}function gI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=px(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=Ore({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const u in i){const h=i[u];(Array.isArray(h)?h[0]:h).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return on(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&mn.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){on(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof zg)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[u,h=0,f=0]=l;c=u,this._attachTexture({attachment:a,texture:u,layer:h,level:f})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(ks.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&fI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){Ao(n),hc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:on(!1,uj)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return mn.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return mn.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return mn.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return mn.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return mn.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return mn.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=Ao(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=ch(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?ch(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?ch(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(gI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>mn.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=gI(this,{targetMaxHeight:100});return mn.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new ya(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new zg(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new zg(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&on(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof zg?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:Ao(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:on(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return Ci(n)?n:null}(this.gl);t?t.readBuffer(e):on(36064===e||1029===e,fj),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=Ao(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):on(1===e.length&&(36064===e[0]||1029===e[0]),fj)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in pj)void 0===n.luma.caps[e]&&(n.luma.caps[e]=mj(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}ks.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const pj={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new ya(n,{format:6408,type:5126,dataFormat:6408}),t=new ks(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function mI(n,e){return gj(n,e)}function gj(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>mj(n,t))}function mj(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=pj[e];let i;on(t,e);const r=Ci(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:on(!1);return i}(n,e)),n.luma.caps[e]||mn.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class _I{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},ose=1/Math.PI*180,ase=1/180*Math.PI,Dr={};function cse(n,{precision:e=Dr.precision||4}={}){return n=function(n){return Math.round(n/Dr.EPSILON)*Dr.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function uh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Qu(n,e,t){if(uh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*ase,void 0)}(n)}function dse(n){return function(n,e){return Qu(n,t=>t*ose,void 0)}(n)}function Ua(n,e,t){return Qu(n,i=>Math.max(e,Math.min(t,i)))}function gx(n,e,t){return uh(n)?n.map((i,r)=>gx(i,e[r],t)):t*e+(1-t)*n}function M0(n,e,t){const i=Dr.EPSILON;t&&(Dr.EPSILON=t);try{if(n===e)return!0;if(uh(n)&&uh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+cse(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(Rj.length=n.length,i=Rj):i=Oj,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function Nj(n){return n&&n[Symbol.asyncIterator]}function xI(n,e=(()=>!0)){return Array.isArray(n)?Pj(n,e,[]):e(n)?[n]:[]}function Pj(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function kj(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",at(at(at({},Bse[n.type]),e),n)):null}function Fj(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function Lj(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function Bj(n){n.push(n.shift())}function CI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function Vj({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,u=r&&c,h=CI(t,e),f=t.state.constant;if(!u&&i>=h)return;const g=f?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!f){const G=s;s=(k,oe)=>t._normalizeConstant(G(k,oe))}const m=f?(G,k)=>s(g,k):(G,k)=>s(g.subarray(G,G+a),k),A=n.getData({length:i}),I=new Float32Array(h);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return SI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((u,h)=>i(u+a,h)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===vx||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=vx}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=kse}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==vx}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,u]of s)o.call(r,this,{data:t,startRow:c,endRow:u,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const I=h*a+l;for(let G=0;Gu?c.set(oe,A):(e._normalizeValue(oe,G.target,0),Pse({target:c,source:G.target,start:A,count:we}));A+=we*u}else e._normalizeValue(oe,c,A),A+=u}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let AI={};function Do(n){Ri.level>0&&AI[n]&&AI[n].call(...arguments)}function za(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const jj="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",Use=`#version 300 es\n${jj}`;function Uj(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function zj(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?Use:e>300?`#version ${e}\n${jj}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return za(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class Hj extends Ku{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return Ci(e)}constructor(e,t={}){Ao(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,jg(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,mn.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof lr?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class $se{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof lr?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&on(Ci(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new Hj(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],on(i[s]instanceof lr)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new lr(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function Gj(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const R0="vs",Yse={[R0]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},wx="__LUMA_INJECT_DECLARATIONS__",$j=/void\s+main\s*\([^)]*\)\s*\{\n?/,Wj=/}\n?[^{}]*$/,DI=[];function qj(n,e,t,i=!1){const r=e===R0;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),DI.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(Wj,l=>a+l));break;case"fs:#decl":r||(n=n.replace(wx,a));break;case"fs:#main-start":r||(n=n.replace($j,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(Wj,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(wx,""),i&&(n=n.replace(/\}\s*$/,s=>s+Yse[e])),n}function II(n){const e={};return za(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const Xse={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},Ex="transform_uSize_",Yj="transform_position";const ioe={10241:9728,10240:9728,10242:33071,10243:33071};class soe{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const h in this.samplerTextureMap)a[h]=i[this.samplerTextureMap[h]];this._setSourceTextureParameters();const u=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${Ex}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${Ex}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,u)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=px(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return za(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new lr(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new ks(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters(ioe)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=hj(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const u=l.split("\n"),h=u.slice();if(u.forEach((f,g,m)=>{if(s>0){const A=function(n,e){const t={},i=function(n){return Uj(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${Ex}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),h=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return za(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":h},samplerTextureMap:t}}return null}(f,e);if(A){const{updatedLine:I,inject:G}=A;h[g]=I,c=II([c,G]),Object.assign(a,A.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=Uj(n,["varying","out"]);return t&&t.name===e?t.type:null}(f,t))}),t){on(i);const f=`${Ex}${t}`;c=II([c,{"vs:#decl":`uniform vec2 ${f};\n`,"vs:#main-start":` vec2 ${Yj} = transform_getPos(${f});\n gl_Position = vec4(${Yj}, 0, 1.);\n`}])}l=h.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=II([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||zj({version:Gj(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[Xse].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const OI={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function aoe(n){let e=Xj(n);return"object"===e?n?"type"in n?Object.assign({},n,OI[n.type]):"value"in n?(e=Xj(n.value),Object.assign({type:e},n,OI[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},OI[e])}function Xj(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class RI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:u,fragmentShader:h}){za("string"==typeof e),this.name=e,this.vs=t||u,this.fs=i||h,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=aoe(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:za(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&za(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function doe(n){return function(n){const e={},t={};return NI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}(Qj(n))}function NI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof RI||(za("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),za(t.name,"shader module has no name"),(t=new RI(t)).dependencies=Qj(t.dependencies)),t))}const PI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},kf={};function boe(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(PI).forEach(n=>{kf[n]=n});const kI={};function Zj(n,e,t={}){const i=PI[e];if(za(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in kI)return kI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),kI[e]=l,l}function xx(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=PI[e];za(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return za(!1===r||!0===r),r}(n,t))}function Gg(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const Jj=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],xoe=[...Jj,[Gg("attribute"),"in $1"],[Gg("varying"),"out $1"]],Soe=[...Jj,[Gg("varying"),"in $1"]],eU=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Coe=[...eU,[Gg("in"),"attribute $1"],[Gg("out"),"varying $1"]],Toe=[...eU,[Gg("in"),"varying $1"]],FI="gl_FragColor",LI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,Aoe=/void\s+main\s*\([^)]*\)\s*\{\n?/;function Sx(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const Ooe=`\n\n${wx}\n\n`,tU={[R0]:"vertex",fs:"fragment"};function nU(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){za("string"==typeof t,"shader source must be a string");const h=i===R0,f=t.split("\n");let g=100,m="",A=t;0===f[0].indexOf("#version ")?(g=300,m=f[0],A=f.slice(1).join("\n")):m=`#version ${g}`;const I={};r.forEach(Ue=>{Object.assign(I,Ue.getDefines())}),Object.assign(I,s);let G=c?`${m}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${tU[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${tU[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:boe(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return xx(n,kf.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),xx(n,kf.GLSL_DERIVATIVES)&&Zj(n,kf.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),xx(n,kf.GLSL_FRAG_DATA)&&Zj(n,kf.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),xx(n,kf.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(I)}\n${h?"":"precision highp float;\n\n"}\n`:`${m}\n`;const k=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),oe={},we={},Be={};for(const Ue in a){const qe="string"==typeof a[Ue]?{injection:a[Ue],order:0}:a[Ue],bt=Ue.match(/^(v|f)s:(#)?([\w-]+)$/);if(bt){const Mt=bt[3];bt[2]?"decl"===Mt?we[Ue]=[qe]:Be[Ue]=[qe]:oe[Ue]=[qe]}else Be[Ue]=[qe]}for(const Ue of r){u&&Ue.checkDeprecations(A,u),G+=Ue.getModuleSource(i,g);const bt=Ue.injections[i];for(const xt in bt){const Mt=xt.match(/^(v|f)s:#([\w-]+)$/);if(Mt){const Wt="decl"===Mt[2]?we:Be;Wt[xt]=Wt[xt]||[],Wt[xt].push(bt[xt])}else oe[xt]=oe[xt]||[],oe[xt].push(bt[xt])}}return G+=Ooe,G=qj(G,i,we),G+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(k[i],oe),G+=A,G=qj(G,i,Be),G=function(n,e,t){switch(e){case 300:return t?Sx(n,xoe):function(n){const e=(n=Sx(n,Soe)).match(LI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${FI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(Aoe,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${FI}\\b`,"g"),t)}return n}(n);case 100:return t?Sx(n,Coe):function(n){const e=(n=Sx(n,Toe)).match(LI);if(e){const t=e[1];n=n.replace(LI,"").replace(new RegExp(`\\b${t}\\b`,"g"),FI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(G,l?100:g,h),G}function Poe(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const joe={5126:Ir.bind(null,"uniform1fv",Ha,1,Io),35664:Ir.bind(null,"uniform2fv",Ha,2,Io),35665:Ir.bind(null,"uniform3fv",Ha,3,Io),35666:Ir.bind(null,"uniform4fv",Ha,4,Io),5124:Ir.bind(null,"uniform1iv",dh,1,Io),35667:Ir.bind(null,"uniform2iv",dh,2,Io),35668:Ir.bind(null,"uniform3iv",dh,3,Io),35669:Ir.bind(null,"uniform4iv",dh,4,Io),35670:Ir.bind(null,"uniform1iv",dh,1,Io),35671:Ir.bind(null,"uniform2iv",dh,2,Io),35672:Ir.bind(null,"uniform3iv",dh,3,Io),35673:Ir.bind(null,"uniform4iv",dh,4,Io),35674:Ir.bind(null,"uniformMatrix2fv",Ha,4,Ju),35675:Ir.bind(null,"uniformMatrix3fv",Ha,9,Ju),35676:Ir.bind(null,"uniformMatrix4fv",Ha,16,Ju),35678:oo,35680:oo,5125:Ir.bind(null,"uniform1uiv",Cx,1,Io),36294:Ir.bind(null,"uniform2uiv",Cx,2,Io),36295:Ir.bind(null,"uniform3uiv",Cx,3,Io),36296:Ir.bind(null,"uniform4uiv",Cx,4,Io),35685:Ir.bind(null,"uniformMatrix2x3fv",Ha,6,Ju),35686:Ir.bind(null,"uniformMatrix2x4fv",Ha,8,Ju),35687:Ir.bind(null,"uniformMatrix3x2fv",Ha,6,Ju),35688:Ir.bind(null,"uniformMatrix3x4fv",Ha,12,Ju),35689:Ir.bind(null,"uniformMatrix4x2fv",Ha,8,Ju),35690:Ir.bind(null,"uniformMatrix4x3fv",Ha,12,Ju),35678:oo,35680:oo,35679:oo,35682:oo,36289:oo,36292:oo,36293:oo,36298:oo,36299:oo,36300:oo,36303:oo,36306:oo,36307:oo,36308:oo,36311:oo},Uoe={},zoe={},Hoe={},iU=[0];function BI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(iU[0]=n,n=iU);const r=n.length;if(r%e&&mn.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function Ir(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{on(s===u,"Uniform length cannot change.");for(let f=0;f{const a=String(o+e);return aU(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:oU(s,c),warnings:oU(o,c)}}(i,this.source,this.shaderType,this.id);throw mn.error(`GLSL compilation errors in ${r}\n${s}`)(),mn.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class VI extends N0{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class jI extends N0{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const Fs=5126,P0=5124,k0=5125,UI={[Fs]:[Fs,1,"float"],35664:[Fs,2,"vec2"],35665:[Fs,3,"vec3"],35666:[Fs,4,"vec4"],[P0]:[P0,1,"int"],35667:[P0,2,"ivec2"],35668:[P0,3,"ivec3"],35669:[P0,4,"ivec4"],[k0]:[k0,1,"uint"],36294:[k0,2,"uvec2"],36295:[k0,3,"uvec3"],36296:[k0,4,"uvec4"],35670:[Fs,1,"bool"],35671:[Fs,2,"bvec2"],35672:[Fs,3,"bvec3"],35673:[Fs,4,"bvec4"],35674:[Fs,8,"mat2"],35685:[Fs,8,"mat2x3"],35686:[Fs,8,"mat2x4"],35675:[Fs,12,"mat3"],35687:[Fs,12,"mat3x2"],35688:[Fs,12,"mat3x4"],35676:[Fs,16,"mat4"],35689:[Fs,16,"mat4x2"],35690:[Fs,16,"mat4x3"]};function fU(n){const e=UI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function pU(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=Fs}for(const t in UI){const[i,r,s]=UI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class Aae{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!Ci(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=fU(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new _a(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=fU(i),l={location:e,name:t,accessor:new _a({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const Mae=35981,Dae=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class mU extends Ku{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",Dae),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=Mae}=e;return this.hash=t||"",this.vs="string"==typeof i?new VI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new jI(this.gl,{id:`${e.id}-fs`,source:r}):r,on(this.vs instanceof VI),on(this.fs instanceof jI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(Ao(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new Aae(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:u=c>0,vertexArray:h=null,transformFeedback:f,framebuffer:g,parameters:m={},uniforms:A,samplers:I}){if((A||I)&&(mn.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(A||{})),mn.priority>=e){const G=g?g.id:"default",k=`mode=${ch(this.gl,t)} verts=${i} instances=${c} indexType=${ch(this.gl,l)} isInstanced=${u} isIndexed=${a} Framebuffer=${G}`;mn.log(e,k)()}return on(h),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||u&&0===c||(h.bindForDraw(i,c,()=>{if(void 0!==g&&(m=Object.assign({},m,{framebuffer:g})),f){const G=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return on(!1),0}}(t);f.begin(G)}this._bindTextures(),hc(this.gl,m,()=>{a&&u?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&Ci(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):u?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),f&&f.end()}),0))}setUniforms(e={}){mn.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!Woe(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof ks&&(s=s.texture),s instanceof Nf)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&qoe(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new VI({handle:r});break;case 35632:i.fs=new jI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ma(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),mn.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),mn.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||mn.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),u=this._getHash(t),h=this._getHash(i),f=c.map(oe=>this._getHash(oe.name)).sort(),g=o.map(oe=>this._getHash(oe)),m=Object.keys(r).sort(),A=Object.keys(s).sort(),I=[],G=[];for(const oe of m)I.push(this._getHash(oe)),I.push(this._getHash(r[oe]));for(const oe of A)G.push(this._getHash(oe)),G.push(this._getHash(s[oe]));const k=`${u}/${h}D${I.join("/")}M${f.join("/")}I${G.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[k]){const oe=function(n,e){const{vs:t,fs:i}=e,r=doe(e.modules||[]);return{gl:n,vs:nU(n,Object.assign({},e,{source:t,type:R0,modules:r})),fs:nU(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:Poe(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[k]=new mU(this.gl,{hash:k,vs:oe.vs,fs:oe.fs,varyings:o,bufferMode:a}),this._getUniforms[k]=oe.getUniforms||(we=>{}),this._useCounts[k]=0}return this._useCounts[k]++,this._programCache[k]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":v0.chrome?"Chrome":v0.safari?"Safari":v0.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ga(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ga.MAX_ATTRIBUTES=Ga.MAX_ATTRIBUTES||e.getParameter(34921),Ga.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ga._setConstantFloatArray(e,t,i);break;case Int32Array:Ga._setConstantIntArray(e,t,i);break;case Uint32Array:Ga._setConstantUintArray(e,t,i);break;default:on(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ga.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return on(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:u}=i,{gl:h,gl2:f}=this;return e=Number(e),this.bind(()=>{h.bindBuffer(34962,t.handle),c?(on(Ci(h)),f.vertexAttribIPointer(e,r,s,o,a)):h.vertexAttribPointer(e,r,s,l,o,a),h.enableVertexAttribArray(e),f.vertexAttribDivisor(e,u||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ga.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new lr(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!Mx||Mx.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const Fae=/^(.+)__LOCATION_([0-9]+)$/,Lae=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class Bae{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ga(e),JV(this,"VertexArray","v6.0",Lae),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new lr(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,mn.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const u=_a.resolve(l.accessor,this.accessors[o]||{},i,r),{size:h,type:f}=u;return on(Number.isFinite(h)&&Number.isFinite(f)),{location:o,accessor:u}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=Fae.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof lr)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof lr)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof lr))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof lr){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return mn.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function L0(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=L0(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function _U(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,u,h,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof lr){const f=e,{data:g,changed:m}=f.getDebugData();let A;return u=m?"*":"",h=g,l=f.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?A=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${ch(r,s)})`:(c=!0,A=`${l} bytes`),{[i]:`${u}${L0(h,{size:o,isInteger:c})}`,"Format ":A}}return h=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${L0(h,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function Uae(n,e){const{type:t,size:i}=e,r=pU(t,i);return r?`${n} (${r.name})`:n}function yU({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){on(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const f of l)!f.match(".*_.*")&&!f.match(s)&&zI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;for(const f of l)f.match(s)&&zI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;for(const f of l)a[f]||zI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;let u=0;const h={};if(!i)for(const f in t){const g=t[f];a[f]||(u++,h[f]={Type:`NOT USED: ${g}`,[n]:L0(g)})}return{table:a,count:c,unusedTable:h,unusedCount:u}}function zI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?L0(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function bU(n){const{type:e,size:t}=n.accessor,i=pU(e,t);return i?`${i.name} ${n.name}`:n.name}const Gae={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function Wae(n,e){const{attributeMap:t=Gae}=e||{};return t&&t[n]||n}function qae(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}on(Number.isFinite(e.size),`attribute ${n} needs size`)}const vU=()=>{},Kae={};class Yg{constructor(e,t={}){const{id:i=ma("model")}=t;on(dx(e)),this.id=i,this.gl=e,this.id=t.id||ma("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||F0.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},on(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return on(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return on(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=Wae(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=at({},o);delete c.value,i[a]=[new lr(n,l),c],qae(s,c)}}if(r){const s=r.value||r;on(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new lr(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(jg(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return fI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),mn.priority>=2&&(c=this._logDrawCallStart(2));const u=this.vertexArray.getDrawParams(),{isIndexed:h=u.isIndexed,indexType:f=u.indexType,indexOffset:g=u.indexOffset,vertexArrayInstanced:m=u.isInstanced}=this.props;m&&!this.isInstanced&&mn.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:A,instanceCount:I}=this,{onBeforeRender:G=vU,onAfterRender:k=vU}=this.props;G(),this.program.setUniforms(this.uniforms);const oe=this.program.draw(Object.assign(Kae,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:h,indexType:f,isInstanced:A,instanceCount:I,offset:h?g:0}));return k(),mn.priority>=2&&this._logDrawCallEnd(c,l,i),oe}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return mn.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}on(t instanceof mU,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Bae(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof lr&&t.delete()}}_setAnimationProps(e){this.animated&&on(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(jg(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new Hj(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:mn.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=_U(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${Uae(s.name,a)}`),t[o]=_U(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=yU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:u}=yU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});u>0&&mn.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&mn.log("UNUSED UNIFORMS",Object.keys(a))();const h=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${bU(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${bU(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);mn.table(e,s)(),mn.table(e,o)(),mn.table(e+1,h)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),mn.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class HI{static isSupported(e){return Ci(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();on(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Yg(t,Object.assign({},e,{fs:e.fs||zj({version:Gj(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(jg(n.feedbackBuffers)&&jg(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new $se(e,t)),function(n){return!(jg(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new soe(e,t)),on(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function Dx(){}const Jae={onStart:Dx,onUpdate:Dx,onInterrupt:Dx,onEnd:Dx};class B0{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=at(at({},Jae),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const ale={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new B0(i),this.attribute=t,this.attributeInTransition=new TI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=Lj(e.size);return new HI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new lr(e,r),new lr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;Bj(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)Vj(at({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=CI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:Fj(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new B0(i),this.attribute=t,this.attributeInTransition=new TI(e,Sn(at({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new ya(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new ks(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=Lj(e.size);return new HI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new lr(e,r),new lr(e,r),new lr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)Vj(at({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=CI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:Fj(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),Bj(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),px(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class lle{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=HI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void Ri.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=ale[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(Ri.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const wU="attributeManager.invalidate";class ple{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new lle(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;Do("attribute.updateStart",t),t.allocate(i)&&Do("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,Do("attribute.updateEnd",t,i))}}function xU(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function SU(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=kj(r)))return;const o=yle[r.type];if(!o)return void Ri.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(Sn(at({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const Ix={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:vle}=Ix;function xle(n,e){if(!n.transitions)return null;const t={},i=$I(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&GI(n[r],e[r],s)&&(t[r]=!0)}return t}function CU({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=GI(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=GI(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function GI(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function Tle(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!Rle(i[r],e[r])){t=n(i),e=i;break}return t}}function Nle(n,e){if(!e)return n;const t=at(at({},n),e);if("defines"in e&&(t.defines=at(at({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=at({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function WI(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],g=e[11],m=e[12],A=e[13],I=e[14],G=e[15],k=t*a-i*o,oe=t*l-r*o,we=t*c-s*o,Be=i*l-r*a,Ue=i*c-s*a,qe=r*c-s*l,bt=u*A-h*m,xt=u*I-f*m,Mt=u*G-g*m,Bt=h*I-f*A,Wt=h*G-g*A,mt=f*G-g*I,yt=k*mt-oe*Wt+we*Bt+Be*Mt-Ue*xt+qe*bt;return yt?(n[0]=(a*mt-l*Wt+c*Bt)*(yt=1/yt),n[1]=(r*Wt-i*mt-s*Bt)*yt,n[2]=(A*qe-I*Ue+G*Be)*yt,n[3]=(f*Ue-h*qe-g*Be)*yt,n[4]=(l*Mt-o*mt-c*xt)*yt,n[5]=(t*mt-r*Mt+s*xt)*yt,n[6]=(I*we-m*qe-G*oe)*yt,n[7]=(u*qe-f*we+g*oe)*yt,n[8]=(o*Wt-a*Mt+c*bt)*yt,n[9]=(i*Mt-t*Wt-s*bt)*yt,n[10]=(m*Ue-A*we+G*k)*yt,n[11]=(h*we-u*Ue-g*k)*yt,n[12]=(a*xt-o*Bt-l*bt)*yt,n[13]=(t*Bt-i*xt+r*bt)*yt,n[14]=(A*oe-m*Be-I*k)*yt,n[15]=(u*Be-h*oe+f*k)*yt,n):null}function Ff(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],g=e[10],m=e[11],A=e[12],I=e[13],G=e[14],k=e[15],oe=t[0],we=t[1],Be=t[2],Ue=t[3];return n[0]=oe*i+we*a+Be*h+Ue*A,n[1]=oe*r+we*l+Be*f+Ue*I,n[2]=oe*s+we*c+Be*g+Ue*G,n[3]=oe*o+we*u+Be*m+Ue*k,n[4]=(oe=t[4])*i+(we=t[5])*a+(Be=t[6])*h+(Ue=t[7])*A,n[5]=oe*r+we*l+Be*f+Ue*I,n[6]=oe*s+we*c+Be*g+Ue*G,n[7]=oe*o+we*u+Be*m+Ue*k,n[8]=(oe=t[8])*i+(we=t[9])*a+(Be=t[10])*h+(Ue=t[11])*A,n[9]=oe*r+we*l+Be*f+Ue*I,n[10]=oe*s+we*c+Be*g+Ue*G,n[11]=oe*o+we*u+Be*m+Ue*k,n[12]=(oe=t[12])*i+(we=t[13])*a+(Be=t[14])*h+(Ue=t[15])*A,n[13]=oe*r+we*l+Be*f+Ue*I,n[14]=oe*s+we*c+Be*g+Ue*G,n[15]=oe*o+we*u+Be*m+Ue*k,n}function Rx(n,e,t){var o,a,l,c,u,h,f,g,m,A,I,G,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],u=e[4],h=e[5],f=e[6],g=e[7],m=e[8],A=e[9],I=e[10],G=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=f,n[7]=g,n[8]=m,n[9]=A,n[10]=I,n[11]=G,n[12]=o*i+u*r+m*s+e[12],n[13]=a*i+h*r+A*s+e[13],n[14]=l*i+f*r+I*s+e[14],n[15]=c*i+g*r+G*s+e[15]),n}function Nx(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function AU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+u*i,n[6]=a*r+h*i,n[7]=l*r+f*i,n[8]=c*r-s*i,n[9]=u*r-o*i,n[10]=h*r-a*i,n[11]=f*r-l*i,n}function MU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+u*i,n[2]=a*r+h*i,n[3]=l*r+f*i,n[4]=c*r-s*i,n[5]=u*r-o*i,n[6]=h*r-a*i,n[7]=f*r-l*i,n}function IU(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function Px(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}function OU(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,f=c*s+o*r-a*i,g=-o*i-a*r-l*s;return n[0]=u*c+g*-o+h*-l-f*-a,n[1]=h*c+g*-a+f*-o-u*-l,n[2]=f*c+g*-l+u*-a-h*-o,n[3]=e[3],n}!function(){var n=new ba(4);ba!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const RU=[0,0,0,0],rce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],sce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],oce=[0,0,0],ace=[0,0,0],lce=Ox(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=RU,l=RU,c=n.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:f}=NU(n,e,t);return f&&(l=n.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=Px([],l,o),s=i||s,o=Ff([],r,s),o=Ff([],o,rce)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(n,t,i),u=n.getDistanceScales(),h=[n.width*e,n.height*e],f=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:f,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:oce,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const m=n.getDistanceScales(c);switch(t){case Vi.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerMeter2;break;case Vi.LNGLAT:case Vi.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerDegree2;break;case Vi.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,m.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,m.unitsPerMeter2[2]]}}return g});function NU(n,e,t=ace){let r,i=t,s=!0;switch(r=e===Vi.LNGLAT_OFFSETS||e===Vi.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Zc.WEB_MERCATOR:(e===Vi.LNGLAT||e===Vi.CARTESIAN)&&(s=!1);break;case Zc.WEB_MERCATOR_AUTO_OFFSET:e===Vi.LNGLAT?i=r:e===Vi.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Zc.IDENTITY:i=n.position.map(Math.fround);break;case Zc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class hce extends mx{get ELEMENTS(){return Zu(!1),0}get RANK(){return Zu(!1),0}toString(){let e="[";if(Dr.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new qn).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],u=n[9],h=n[10],f=n[11],g=n[12],m=n[13],A=n[14],I=n[15];return(e*o-t*s)*(h*I-f*A)-(e*a-i*s)*(u*I-f*m)+(e*l-r*s)*(u*A-h*m)+(t*a-i*o)*(c*I-f*g)-(t*l-r*o)*(c*A-h*g)+(i*l-r*a)*(c*m-u*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return WI(this,this),this.check()}multiplyLeft(e){return Ff(this,e,this),this.check()}multiplyRight(e){return Ff(this,this,e),this.check()}rotateX(e){return AU(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],f=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-u*i,n[2]=a*r-h*i,n[3]=l*r-f*i,n[8]=s*i+c*r,n[9]=o*i+u*r,n[10]=a*i+h*r,n[11]=l*i+f*r}(this,this,e),this.check()}rotateZ(e){return MU(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,u,h,f,g,m,A,I,G,k,oe,we,Be,Ue,qe,bt,xt,Mt,Bt,Wt,mt,yt,Ut,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const qI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function ed(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const pc=Math.PI,VU=pc/4,gc=pc/180,YI=180/pc,XI=4003e4,Fx=85.051129;function Lx([n,e]){return ed(Number.isFinite(n)),ed(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*gc+pc)/(2*pc),512*(pc+Math.log(Math.tan(VU+e*gc*.5)))/(2*pc)]}function Zg([n,e]){const t=n/512*(2*pc)-pc,i=2*(Math.atan(Math.exp(e/512*(2*pc)-pc))-VU);return[t*YI,i*YI]}function KI({latitude:n,longitude:e,highPrecision:t=!1}){ed(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*gc),o=512/360,a=o/s,l=512/XI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=gc*Math.tan(n*gc)/s,h=512/XI*c,f=h/a*l;i.unitsPerDegree2=[0,o*c/2,h],i.unitsPerMeter2=[f,0,f]}return i}function jU(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=KI({longitude:t,latitude:i,highPrecision:!0}),u=Lx(n);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=Zg(u),f=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],f]:h}function zU(n){return 2*Math.atan(.5/n)*YI}function HU(n,e){const[t,i,r=0]=n;return ed(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Qg(e,[t,i,r,1])}function j0(n,e,t=0){const[i,r,s]=n;if(ed(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Qg(e,[i,r,s,1]);const o=Qg(e,[i,r,0,1]),a=Qg(e,[i,r,1,1]),l=o[2],c=a[2];return kU([],o,a,l===c?0:((t||0)-l)/(c-l))}const GU=Math.PI/180;function $U(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Qg(i,[e,0,1,1]),s=Qg(i,[e,n.height,1,1]),c=Zg(kU([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const Dce=Math.PI/180,Ice=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],ZI=[0,0,0],Rce={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Jg=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Zc.WEB_MERCATOR:Zc.WEB_MERCATOR_AUTO_OFFSET:Zc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&M0(t.projectionMatrix,this.projectionMatrix)&&M0(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=HU(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,u=j0([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[h,f,g]=this.unprojectPosition(u);return Number.isFinite(a)?[h,f,g]:Number.isFinite(r)?[h,f,r]:[h,f]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?Lx(t):t}unprojectFlat(t){return this.isGeospatial?Zg(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?KI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Jg{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:u=!1,repeat:h=!1,worldOffset:f=0}=t;let{width:g,height:m,altitude:A=1.5}=t;const I=Math.pow(2,s);g=g||1,m=m||1,A=Math.max(.75,A);const{fov:G,aspect:k,focalDistance:oe,near:we,far:Be}=function({width:n,height:e,fovy:t=zU(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=zU(i));const a=.5*t*gc,l=function(n){return.5/Math.tan(.5*n*gc)}(t),c=r*gc,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:g,height:m,pitch:o,altitude:A,nearZMultiplier:l,farZMultiplier:c});let Ue=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return Rx(o,o,[0,0,-i]),AU(o,o,-e*gc),MU(o,o,t*gc),Nx(o,o,[r/=n,r,r]),s&&Rx(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:m,pitch:o,bearing:a,scale:I,altitude:A});f&&(Ue=(new qn).translate([512*f,0,0]).multiplyLeft(Ue)),super(Sn(at({},t),{width:g,height:m,viewMatrix:Ue,longitude:r,latitude:i,zoom:s,orthographic:u,fovyRadians:G,aspect:k,focalDistance:oe,near:we,far:Be})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=A,this.orthographic=u,this._subViewports=h?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(Sn(at({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return jU(t,i)}panByPosition(t,i){const r=j0(i,this.pixelUnprojectionMatrix),o=kx([],this.projectFlat(t),PU([],r)),a=kx([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*GU:Math.atan(.5/n.altitude))>(90-n.pitch)*GU-.01?(l=$U(n,0,e),c=$U(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:ed(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=Lx([a,BU(u,-Fx,Fx)]),f=Lx([c,BU(l,-Fx,Fx)]),g=[Math.max(Math.abs(f[0]-h[0]),i),Math.max(Math.abs(f[1]-h[1]),i)],m=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];ed(m[0]>0&&m[1]>0);const A=m[0]/g[0],I=m[1]/g[1],we=Zg([(f[0]+h[0])/2+(s.right-s.left)/2/A,(f[1]+h[1])/2+(s.bottom-s.top)/2/I]),Be=Math.min(r,qI(Math.abs(Math.min(A,I))));return ed(Number.isFinite(Be)),{longitude:we[0],latitude:we[1],zoom:Be}}(at({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function JI(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof KU){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function QU(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=Px([],[o,a,l,1],t)),i){case Vi.LNGLAT:return JI([o,a,l],e,s);case Vi.LNGLAT_OFFSETS:return JI([o+r[0],a+r[1],l+(r[2]||0)],e,s);case Vi.METER_OFFSETS:return JI(jU(r,[o,a,l]),e,s);case Vi.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const kce={10241:9987,10240:9729,10242:33071,10243:33071},eO={},Bce={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||z0(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>tO(n,e)},accessor:{validate(n,e){const t=Bx(n);return"function"===t||t===Bx(e.value)},equal:(n,e,t)=>"function"==typeof e||tO(n,e)},array:{validate:(n,e)=>e.optional&&!n||z0(n),equal:(n,e,t)=>t.compare?tO(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof ya)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new ya(t,Sn(at({},e),{parameters:at(at(at({},kce),i),n.props.textureParameters)}));return eO[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof ya)||eO[n.id]&&(n.delete(),delete eO[n.id])}(n)}}};function tO(n,e){if(n===e)return!0;if(!z0(n)||!z0(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=Qce,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[Xce]||{},i=e[Yce]||e,r=e[Kce]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(Nj(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return li(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var h,c=!0,u=!1;try{for(var g,m,f=iO(t);c=(g=yield f.next()).done,m=yield g.value,!c;c=!0){const I=m,{dataTransform:G}=i.component?i.component.props:{};a=G?G(I,a):a.concat(I),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(I){u=!0,h=I}finally{try{!c&&null!=f.return&&(yield f.return())}finally{if(u)throw h}}const A=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;A&&A(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:t4,ASYNC_RESOLVED:n4,ASYNC_DEFAULTS:Zce}=Ix,Jce={};let eue=0,tue=(()=>{class n{constructor(){this.props=Uce.apply(this,arguments),this.id=this.props.id,this.count=eue++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[Zce])s in i[n4]?r[s]=i[n4][s]:s in i[t4]&&(r[s]=i[t4][s]);return new this.constructor(at(at(at({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new e4({})}}return n.componentName="Component",n.defaultProps=Jce,n})();class nue extends e4{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const mc=n=>"function"==typeof n,hh=n=>null!==n&&"object"==typeof n,r4=n=>hh(n)&&n.constructor==={}.constructor,iue=n=>n&&"function"==typeof n[Symbol.iterator],rue=n=>n&&"function"==typeof n[Symbol.asyncIterator],G0=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,em=n=>"undefined"!=typeof Blob&&n instanceof Blob,s4=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||hh(n)&&mc(n.tee)&&mc(n.cancel)&&mc(n.getReader))(n)||(n=>hh(n)&&mc(n.read)&&mc(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function Lf(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function rO(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function sO(n){var e,t;let i;return Lf(n,"null loader"),Lf(rO(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=Sn(at({},n=n[0]),{options:at(at({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const tu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},oO=tu.global||tu.self||tu.window||{},uue="object"!=typeof process||"[object process]"!==String(process)||process.browser,o4="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);o4&&parseFloat(o4[1]);const lO={};function due(n){for(const e in lO)n.startsWith(e)&&(n=n.replace(e,lO[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const hue=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,fue=/^([-\w.]+\/[-\w.+]+)/;function pue(n){const e=fue.exec(n);return e?e[1]:n}function a4(n){const e=hue.exec(n);return e?e[1]:""}const gue=/\?.*/;function zx(n){if(G0(n)){const e=cO(n.url||"");return{url:e,type:pue(n.headers.get("content-type")||"")||a4(e)}}return em(n)?{url:cO(n.name||""),type:n.type||""}:"string"==typeof n?{url:cO(n),type:a4(n)}:{url:"",type:""}}function mue(n){return G0(n)?n.headers["content-length"]||-1:em(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function cO(n){return n.replace(gue,"")}function l4(n){return uO.apply(this,arguments)}function uO(){return(uO=li(function*(n){if(G0(n))return n;const e={},t=mue(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=zx(n);r&&(e["content-type"]=r);const s=yield bue(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function _ue(n){return dO.apply(this,arguments)}function dO(){return(dO=li(function*(n){if(!n.ok){const e=yield yue(n);throw new Error(e)}})).apply(this,arguments)}function yue(n){return hO.apply(this,arguments)}function hO(){return(hO=li(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function bue(n){return fO.apply(this,arguments)}function fO(){return(fO=li(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${vue(n.slice(0,5))}`:null})).apply(this,arguments)}function vue(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const d4={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){Kn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},xue={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function gO(){oO.loaders=oO.loaders||{};const{loaders:n}=oO;return n._state=n._state||{},n._state}const mO=()=>{const n=gO();return n.globalOptions=n.globalOptions||at({},d4),n.globalOptions};function Sue(n,e,t,i){return t=t||[],function(n,e){f4(n,null,d4,xue,e);for(const t of e)f4(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=at({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new wue),g4(r,mO()),g4(r,e),r}(e,n,i)}function h4(n,e){const t=mO(),i=n||t;return"function"==typeof i.fetch?i.fetch:hh(i.fetch)?r=>c4(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:c4}function f4(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&hh(n[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in t)&&!c&&!u)if(a in i)u4.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const h=Tue(a,r);u4.warn(`${s} loader option '${o}${a}' not recognized. ${h}`)()}}}function Tue(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function g4(n,e){for(const t in e)t in e&&(n[t]=r4(e[t])&&r4(n[t])?at(at({},n[t]),e[t]):e[t])}function nu(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function Due(n,e="3.0.12"){return nu(n,"no worker provided"),!(!e||!n.version)}const iu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Iue=iu.global||iu.self||iu.window||{},_O="object"!=typeof process||"[object process]"!==String(process)||process.browser,yO="function"==typeof importScripts,Oue="undefined"!=typeof window&&void 0!==window.orientation,m4="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),bO=(m4&&parseFloat(m4[1]),new Map);function _4(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function y4(n,e=!0,t){const i=t||new Set;if(n)if(b4(n))i.add(n);else if(b4(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)y4(n[r],e,i);return void 0===t?Array.from(i):[]}function b4(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const vO=()=>{};class v4{static isSupported(){return"undefined"!=typeof Worker}constructor(e){Kn(this,"name",void 0),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"terminated",!1),Kn(this,"worker",void 0),Kn(this,"onMessage",void 0),Kn(this,"onError",void 0),Kn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;nu(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=vO,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=vO,this.onError=vO,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||y4(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){nu(n.source&&!n.url||!n.source&&n.url);let e=bO.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?_4(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),bO.set(n.url,e)),n.source&&(e=_4(n.source),bO.set(n.source,e))),nu(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class kue{constructor(e,t){Kn(this,"name",void 0),Kn(this,"workerThread",void 0),Kn(this,"isRunning",void 0),Kn(this,"result",void 0),Kn(this,"_resolve",void 0),Kn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){nu(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){nu(this.isRunning),this.isRunning=!1,this._reject(e)}}class Fue{constructor(e){Kn(this,"name","unnamed"),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"maxConcurrency",1),Kn(this,"maxMobileConcurrency",1),Kn(this,"onDebug",()=>{}),Kn(this,"reuseWorkers",!0),Kn(this,"props",{}),Kn(this,"jobQueue",[]),Kn(this,"idleQueue",[]),Kn(this,"count",0),Kn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=at(at({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return li(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return li(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new kue(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class td{static isSupported(){return v4.isSupported()}static getWorkerFarm(e={}){return td._workerFarm=td._workerFarm||new td({}),td._workerFarm.setProps(e),td._workerFarm}constructor(e){Kn(this,"props",void 0),Kn(this,"workerPools",new Map),this.props=at({},Lue),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=at(at({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new Fue({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function Vue(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return nu(r),r}function jue(n,e){return!!td.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function Uue(n,e,t,i,r){return wO.apply(this,arguments)}function wO(){return(wO=li(function*(n,e,t,i,r){const s=n.id,o=Vue(n,t),l=td.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",zue.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function zue(n,e,t,i){return EO.apply(this,arguments)}function EO(){return(EO=li(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}Kn(td,"_workerFarm",void 0);var E4=et(9521);function x4(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return E4.toArrayBuffer?E4.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function Wue(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function S4(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function que(n){return SO.apply(this,arguments)}function SO(){return(SO=li(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=iO(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return Wue(...e)})).apply(this,arguments)}const Kue=262144;function C4(n){this.wrapped=n}function $0(n){return new C4(n)}function W0(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,u=c instanceof C4;Promise.resolve(u?c.wrapped:c).then(function(h){u?r("return"===o?"return":"next",h):s(l.done?"return":"normal",h)},function(h){r("throw",h)})}catch(h){s("throw",h)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var u={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=u:(e=t=u,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function TO(n){return function(){return new W0(n.apply(this,arguments))}}function AO(){return(AO=TO(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(IO)}function rde(n,e,t){return OO.apply(this,arguments)}function OO(){return(OO=li(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return ide(n,e);if(em(n)&&(n=yield l4(n)),G0(n)){const r=n;return yield _ue(r),e.binary?yield r.arrayBuffer():yield r.text()}if(s4(n)&&(n=nde(n,t)),iue(n)||rue(n))return que(n);throw new Error(IO)})).apply(this,arguments)}function ode(n,e,t=null){if(t)return t;const i=at({fetch:h4(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function ade(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const A4=()=>{const n=gO();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function M4(n){const e=A4();n=Array.isArray(n)?n:[n];for(const t of n){const i=sO(t);e.find(r=>i===r)||e.unshift(i)}}const cde=/\.([^.]+)$/;function ude(n){return PO.apply(this,arguments)}function PO(){return(PO=li(function*(n,e=[],t,i){if(!I4(n))return null;let r=D4(n,e,Sn(at({},t),{nothrow:!0}),i);if(r)return r;if(em(n)&&(r=D4(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(O4(n));return r})).apply(this,arguments)}function D4(n,e=[],t,i){if(!I4(n))return null;if(e&&!Array.isArray(e))return sO(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...A4()),function(n){for(const e of n)sO(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=zx(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=kO(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&cde.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||kO(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(mde(e,t))return t}else if(ArrayBuffer.isView(e)){if(R4(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&R4(e,0,t))return t;return null}(e,n),a=a||kO(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(O4(n));return s}function I4(n){return!(n instanceof Response&&204===n.status)}function O4(n){const{url:e,type:t}=zx(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?FO(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?FO(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function kO(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function mde(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function R4(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let ru=new Uint8ClampedArray(0);const Ade={data:{type:"data",value:Cde,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=Sn(at({},r),{fetch:Sn(at({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:q0(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):q0(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:Vi.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let Y0=(()=>{class n extends tue{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=QU(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=HU(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=at({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===Vi.DEFAULT&&(t=i.isGeospatial?Vi.LNGLAT:Vi.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=NU(t,i,r),h=QU(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(h,h,t.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===Vi.DEFAULT||t===Vi.LNGLAT||t===Vi.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){fc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=Nle(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const u of c)o.invalidateAll(u);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:u}=o.attributes,h=c||u;h&&(l&&h.constant&&(h.constant=!1,o.invalidate(h.id)),!h.value&&!l&&(h.constant=!0,h.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!Tde({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(ru.length/3);if(this.internalState.usesPickingColorCache=!0,rN4&&Ri.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),ru=A0.allocate(ru,i,{size:3,copy:!0,maxCount:Math.max(i,N4)});const s=Math.floor(ru.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const u of this.props.extensions)u.draw.call(this,c,u);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&Do("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=CU({newProps:n,oldProps:e,propTypes:$I(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&TU(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&TU(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:Tle(n,e),transitionsChanged:xle(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=$I(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new ple(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){fc(!this.internalState&&!this.state),fc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new nue({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Ri.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new ble(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){Do("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=Ade,n})(),P4=(()=>{class n extends Y0{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:f,wrapLongitude:g,positionFormat:m,modelMatrix:A,extensions:I,fetch:G,_subLayerProps:k}=this.props,oe={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:f,wrapLongitude:g,positionFormat:m,modelMatrix:A,extensions:I,fetch:G},we=k&&k[t.id],Be=we&&we.updateTriggers,Ue=t.id||"sublayer";if(we){const qe=this.constructor._propTypes,bt=t.type?t.type._propTypes:{};for(const xt in we){const Mt=bt[xt]||qe[xt];Mt&&"accessor"===Mt.type&&(we[xt]=this.getSubLayerAccessor(we[xt]))}}Object.assign(oe,t,we),oe.id="".concat(this.props.id,"-").concat(Ue),oe.updateTriggers=at(at({all:this.props.updateTriggers.all},t.updateTriggers),Be);for(const qe of I){const bt=qe.getSubLayerProps.call(this,qe);bt&&Object.assign(oe,bt,{updateTriggers:Object.assign(oe.updateTriggers,bt.updateTriggers)})}return oe}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=xI(t,Boolean),this.internalState.subLayers=t),Do("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const Dde=/([0-9]+\.?[0-9]*)(%|px)/;function Gx(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(Dde);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function $x(n,e){return n.relative?Math.round(n.position*e):n.position}function X0(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&X0(i,r)))return!1}return!0}class jO{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:u=1e3,modelMatrix:h=null,viewportInstance:f=null,type:g=Jg}=e;fc(!f||f instanceof Jg),this.viewportInstance=f,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=Sn(at({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:u,modelMatrix:h}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):X0(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=at({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:$x(this._x,e),y:$x(this._y,t),width:$x(this._width,e),height:$x(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),at(at({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(at(at(at({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=Gx(e),this._y=Gx(t),this._width=Gx(i),this._height=Gx(r)}}const K0=()=>{},k4={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:K0,onTransitionInterrupt:K0,onTransitionEnd:K0};class Ide{constructor(e,t={}){this.ControllerState=e,this.props=at(at({},k4),t),this.propsInTransition=null,this.transition=new B0(t.timeline),this.onViewStateChange=t.onViewStateChange||K0,this.onStateChange=t.onStateChange||K0,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=at(at({},k4),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=at(at({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(at(at({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const F4=["longitude","latitude","zoom","bearing","pitch"],Rde=["longitude","latitude","zoom"];class L4 extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!M0(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];fc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:F4,extract:F4,required:Rde}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=gx(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(at(at({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,gx(e.around,t.around,i)))}return r}}const fh={transitionDuration:0},Nde={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},qx=n=>1-(1-n)*(1-n),tm_WHEEL=["wheel"],tm_PAN=["panstart","panmove","panend"],tm_PINCH=["pinchstart","pinchmove","pinchend"],tm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],tm_DOUBLE_TAP=["doubletap"],tm_KEYBOARD=["keydown"];class UO{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new Ide(e,Sn(at({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&Sn(at({},Nde),{transitionInterpolator:new L4({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(at(at({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,u=Boolean(this.onViewStateChange);this.toggleEvents(tm_WHEEL,u&&i),this.toggleEvents(tm_PAN,u&&(r||s)),this.toggleEvents(tm_PINCH,u&&(a||l)),this.toggleEvents(tm_TRIPLE_PAN,u&&l),this.toggleEvents(tm_DOUBLE_TAP,u&&o),this.toggleEvents(tm_KEYBOARD,u&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=at(at({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,fh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,Sn(at({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:qx}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,Sn(at({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:qx}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,Sn(at({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,fh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,Sn(at({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:qx}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,fh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,fh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,Sn(at({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:qx}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?Sn(at({},t),{transitionInterpolator:new L4(Sn(at({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:fh}}class B4{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const ph_target=[0,0,0];class Yx extends B4{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=ph_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:u=-(1/0),maxZoom:h=Infinity,startPanPosition:f,startRotatePos:g,startRotationX:m,startRotationOrbit:A,startZoomPosition:I,startZoom:G}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:u,maxZoom:h}),this._state={startPanPosition:f,startRotatePos:g,startRotationX:m,startRotationOrbit:A,startZoomPosition:I,startZoom:G},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let u=(e[0]-r[0])/a;(s<-90||s>90)&&(u*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*u}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=at({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(Sn(at({},this._viewportProps),{zoom:a}));return this._getUpdatedState(at({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),Ua(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new Yx(at(at(at({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=Ua(r,i,t),e.rotationX=Ua(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class kde extends UO{constructor(e){super(Yx,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class Fde extends UO{constructor(e){e.dragMode=e.dragMode||"pan",super(Yx,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const Lde=(new qn).lookAt({eye:[0,0,1]});function Bde({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new qn).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class Vde extends Jg{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(Sn(at({},e),{longitude:null,position:a,viewMatrix:Lde.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:Bde({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=kx([],e,PU([],j0(t,this.pixelUnprojectionMatrix)));return{target:kx([],this.center,r)}}}let jde=(()=>{class n extends jO{constructor(t){super(Sn(at({},t),{type:Vde}))}get controller(){return this._getControllerProps({type:Fde})}}return n.displayName="OrthographicView",n})();const Xx=Math.PI/180;function Ude({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*Xx/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new qn).lookAt({eye:l,up:a});c.rotateX(i*Xx),"Z"===t?c.rotateZ(r*Xx):c.rotateY(r*Xx);const u=Math.pow(2,s)/(n||1);return c.scale(u),c}class zde extends Jg{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(Sn(at({},e),{longitude:null,viewMatrix:Ude({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=j0([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let Hde=(()=>{class n extends jO{constructor(t={}){const{orbitAxis:i="Z"}=t;super(Sn(at({},t),{orbitAxis:i,type:zde}))}get controller(){return this._getControllerProps({type:kde})}}return n.displayName="OrbitView",n})();const Gde=[255,255,255],$de=1;let Wde=0;class V4{constructor(e={}){const{color:t=Gde}=e,{intensity:i=$de}=e;this.id=e.id||"ambient-".concat(Wde++),this.color=t,this.intensity=i,this.type="ambient"}}const qde=[255,255,255],Yde=1,Xde=[0,0,-1];let Kde=0;class j4{constructor(e={}){const{color:t=qde}=e,{intensity:i=Yde}=e,{direction:r=Xde}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(Kde++),this.color=t,this.intensity=i,this.type="directional",this.direction=new Mo(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class U4{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=at({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class zO extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=at({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return Xu(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){Xu(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,u=i&&i[c.id];r(c);const h=this._getDrawLayerParams(c,e);e.view=u;const f=c.subViewports||[c];for(const g of f){e.viewport=g;const m=this._drawLayersInViewport(o,e,h);a.push(m)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=z4(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let u=0;ufI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};Xu(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const u=t[l]=t[l]||z4(e[l],e);c=u(r,s),t[a]=u}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class ehe extends zO{constructor(e,t){super(e,t),this.shadowMap=new ya(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new zg(e,{format:33189,width:1,height:1}),this.fbo=new ks(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;hc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=Vg(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(Sn(at({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const nhe=Object.keys(Vi).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(Vi[n],";")).join(""),ihe=Object.keys(Zc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Zc[n],";")).join(""),rhe="".concat(nhe,"\n").concat(ihe,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),she={},HO={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:rhe,getUniforms:function(n=she){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=Vi.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===Vi.DEFAULT&&(i=n.isGeospatial?Vi.LNGLAT:Vi.CARTESIAN);const o=lce({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||sce,o}(n):{}}},che=Ox(function({viewport:n,center:e}){return new qn(n.viewProjectionMatrix).invert().transform(e)}),uhe=Ox(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=j0([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new Mo(n.center).negate()),l=s.map(u=>a.transform(u)),c=(new qn).ortho({left:Math.min(...l.map(u=>u[0])),right:Math.max(...l.map(u=>u[0])),bottom:Math.min(...l.map(u=>u[1])),top:Math.max(...l.map(u=>u[1])),near:Math.min(...l.map(u=>-u[2])),far:Math.max(...l.map(u=>-u[2]))});t.push(c.multiplyRight(o))}return t}),dhe=[0,0,0,1],hhe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],GO={name:"shadow",dependencies:[HO],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||dhe,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=che({viewport:n.viewport,center:e.project_uCenter}),r=[],s=uhe({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},_he={color:[255,255,255],intensity:1},H4=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],yhe=[0,0,0,200/255];class $O extends U4{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=yhe,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=F0.getDefaultProgramManager(e),GO&&this.programManager.addDefaultModule(GO)),this.dummyShadowMap||(this.dummyShadowMap=new ya(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(GO),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new qn).lookAt({eye:new Mo(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=vhe++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class whe{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=q0(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class Ehe{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new whe(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const xhe=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},HO],She=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function Che(n){const e=F0.getDefaultProgramManager(n);for(const t of xhe)e.addDefaultModule(t);for(const t of She)e.addShaderHook(t);return e}const Mhe=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class Dhe{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new Ehe({gl:e,protocol:"deck://"}),this.context=Sn(at({},Mhe),{layerManager:this,gl:e,deck:t,programManager:e&&Che(e),stats:i||new oI({id:"deck.gl"}),viewport:r||new Jg({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new G4,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){Do("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=xI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return Do("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?Ri.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&Ri.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class Ihe{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=xI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!X0(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):Ri.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(at({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=Sn(at(at(at({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let u=r[a.id];a.controller&&!u&&(s=!0),(s||!a.controller)&&u&&(u.finalize(),u=null),this.controllers[a.id]=this._updateController(a,l,c,u),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class Rhe extends B4{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:u=20,minZoom:h=0,maxPitch:f=60,minPitch:g=0,startPanLngLat:m,startZoomLngLat:A,startRotatePos:I,startBearing:G,startPitch:k,startZoom:oe,normalize:we}={}){fc(Number.isFinite(s)),fc(Number.isFinite(r)),fc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:u,minZoom:h,maxPitch:f,minPitch:g,normalize:we}),this._state={startPanLngLat:m,startZoomLngLat:A,startRotatePos:I,startBearing:G,startPitch:k,startZoom:oe},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(Sn(at({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(Sn(at({},this._viewportProps),{zoom:o}));return this._getUpdatedState(at({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=at({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(at(at(at({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=Ua(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=Ua(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=LU(t+180,360)-180),(o<-180||o>180)&&(o=LU(o+180,360)-180);const a=qI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Zg([0,l])[1];if(iu&&(i=u)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Ua(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=Ua(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let u=0;return r>0?Math.abs(l-o)>5&&(u=r/(o-l)*1.2):r<0&&o>5&&(u=1-s/o),u=Math.min(1,Math.max(-1,u)),{deltaScaleX:c,deltaScaleY:u}}}class Nhe extends UO{constructor(e){e.dragMode=e.dragMode||"pan",super(Rhe,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(at(at({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let Phe=(()=>{class n extends jO{constructor(t){super(Sn(at({},t),{type:KU}))}get controller(){return this._getControllerProps({type:Nhe})}}return n.displayName="MapView",n})();const khe=new $O;class Fhe{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!X0(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof $O)||this._internalEffects.push(khe)}}class Lhe extends zO{}const W4={blendFunc:[1,0,32771,0],blendEquation:32774};class q4 extends zO{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:u},pass:h="picking",redrawReason:f,pickZ:g}){const m=this.gl;return this.pickZ=g,hc(m,Sn(at({scissorTest:!0,scissor:[a,l,c,u],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},W4),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:h,redrawReason:f})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:Sn(at({},W4),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return at(at({},e.props.parameters),i)}}class Vhe{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new Lhe(e),this.pickLayersPass=new q4(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||ks.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(Sn(at({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,Do("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new ks(this.gl),new ks(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const jhe={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function Uhe({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,f=0;for(let g=0;gu)f+=4*l;else for(let I=0;I=0){const k=I+o-t,oe=k*k+A;oe<=u&&(u=oe,h=f)}f+=4}}if(h>=0){const g=n[h+3]-1,m=n.slice(h,h+4),A=e[g];if(A){const I=A.decodePickingColor(m),G=Math.floor(h/4/l);return{pickedColor:m,pickedLayer:A,pickedObjectIndex:I,pickedX:o+(h/4-G*l),pickedY:a+G}}Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return jhe}function Y4({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,u=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(f=>i({layer:l,viewport:f,isPicking:!0,renderPass:"picking:".concat(e)}))),h=u&&u.unproject([s-u.x,o-u.y],{targetZ:a});return{color:null,layer:null,viewport:u,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:h,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function Hhe(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const h=t.index,f=t.layerId,g=o&&o.props.id;if(g!==f||a!==h){if(g!==f){const m=r.find(A=>A.props.id===f);m&&l.unshift(m)}t.layerId=g,t.index=a,t.info=null}}const c=Y4(n),u=new Map;return u.set(null,c),l.forEach(h=>{let f=at({},c);h===o&&(f.color=s,f.index=a,f.picked=!0),f=X4({layer:h,info:f,mode:i}),h===o&&"hover"===i&&(t.info=f),u.set(f.layer.id,f),"hover"===i&&f.layer.updateAutoHighlight(f)}),u}function X4({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class $he{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new q4(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(f=>f.id===o):null,c=a&&r.find(f=>f.id===a)||r[0],u=c&&c.unproject([e-c.x,t-c.y]),h={x:e,y:t,viewport:c,coordinate:u,layer:l};return l?at(at({},s),h):Object.assign(h,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new ks(e),ks.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new ks(e),this.depthFBO.attach({36064:new ya(e,{format:Ci(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(Ri.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:u}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:Y4({viewports:i,x:r,y:s})};this._resizeBuffer();const h=Vg(this.gl),f=iI(this.gl,[r,s],!0),g=[f.x+Math.floor(f.width/2),f.y+Math.floor(f.height/2)],m=Math.round(o*h),{width:A,height:I}=this.pickingFBO,G=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:m,deviceWidth:A,deviceHeight:I});let k;const oe=[],we={};for(let Be=0;Be=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:u,deviceRect:{x:g,y:G,width:A.x+A.width-g,height:m-G},pass:"picking:".concat(l),redrawReason:l}),layers:e}),Be=new Map,Ue=Number.isFinite(c);for(let qe=0;qe=c);qe++){const bt=we[qe];let xt={color:bt.pickedColor,layer:null,index:bt.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:h};xt=X4({layer:bt.pickedLayer,info:xt,mode:l}),Be.has(xt.object)||Be.set(xt.object,xt)}return Array.from(Be.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:u,y:h,width:f,height:g}=s,m=new(l?Float32Array:Uint8Array)(f*g*4);return px(c,{sourceX:u,sourceY:h,sourceWidth:f,sourceHeight:g,target:m}),m}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const Whe={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class qhe{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,Whe),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function K4(n,e){if(!n)throw new Error(e)}const su={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Q4=su.global||su.self||su.window,Xhe="object"!=typeof process||"[object process]"!==String(process)||process.browser,Z4="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:Khe}=(Z4&&parseFloat(Z4[1]),Q4),WO="undefined"!=typeof Image,qO="undefined"!=typeof ImageBitmap,Qhe=Boolean(Khe),YO=!!Xhe||Qhe;function J4(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function ez(n){switch(J4(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const efe=/^data:image\/svg\+xml/,tfe=/\.svg((\?|#).*)?$/;function XO(n){return n&&(efe.test(n)||tfe.test(n))}function nfe(n,e){if(XO(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return nz(n,e)}function nz(n,e){if(XO(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function iz(n,e,t){return KO.apply(this,arguments)}function KO(){return(KO=li(function*(n,e,t){const i=nfe(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield ife(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function ife(n,e){return QO.apply(this,arguments)}function QO(){return(QO=li(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const rfe={};let rz=!0;function sfe(n,e,t){return ZO.apply(this,arguments)}function ZO(){return(ZO=li(function*(n,e,t){let i;i=XO(t)?yield iz(n,e,t):nz(n,t);const r=e&&e.imagebitmap;return yield ofe(i,r)})).apply(this,arguments)}function ofe(n){return JO.apply(this,arguments)}function JO(){return(JO=li(function*(n,e=null){if((afe(e)||!rz)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),rz=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function afe(n){for(const e in n||rfe)return!1;return!0}const ou=!1,Q0=!0;function eR(n){const e=Z0(n);return function(n){const e=Z0(n);return e.byteLength>=24&&2303741511===e.getUint32(0,ou)?{mimeType:"image/png",width:e.getUint32(16,ou),height:e.getUint32(20,ou)}:null}(e)||function(n){const e=Z0(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,ou)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,ou)?{mimeType:"image/gif",width:e.getUint16(6,Q0),height:e.getUint16(8,Q0)}:null}(e)||function(n){const e=Z0(n);return e.byteLength>=14&&16973===e.getUint16(0,ou)&&e.getUint32(2,Q0)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Q0),height:e.getUint32(22,Q0)}:null}(e)}function Z0(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function ffe(n,e){const{mimeType:t}=eR(n)||{},{_parseImageNode:i}=Q4;return K4(i),i(n,t,e)}function tR(){return(tR=li(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(gfe(r)){case"imagebitmap":a=yield sfe(n,e,s);break;case"image":a=yield iz(n,e,s);break;case"data":a=yield ffe(n,e);break;default:K4(!1)}return"data"===r&&(a=ez(a)),a})).apply(this,arguments)}function gfe(n){switch(n){case"auto":case"data":return function(){if(qO)return"imagebitmap";if(WO)return"image";if(YO)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return qO||WO||YO;case"imagebitmap":return qO;case"image":return WO;case"data":return YO;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const nR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return tR.apply(this,arguments)},tests:[n=>Boolean(eR(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var nm=et(4761);const _fe={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},J0="8.5.8",Kx=nm.CO.deck&&nm.CO.deck.VERSION;if(Kx&&Kx!==J0)throw new Error("deck.gl - multiple versions detected: ".concat(Kx," vs ").concat(J0));Kx||(Ri.log(1,"deck.gl ".concat(J0))(),nm.CO.deck=Object.assign(nm.CO.deck||{},{VERSION:J0,version:J0,log:Ri,_registerLoggers:function(n){AI=n}}),M4([_fe,[nR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const yfe=nm.CO.deck;class Qx extends Ku{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=Ci(e),r=gj(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:on(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return Qx.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const sz=fx()&&"undefined"!=typeof document;let Mfe=0;class Dfe{constructor(e={}){const{onCreateContext:t=(I=>XV(I)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:u=!1,createFramebuffer:h=!1,autoResizeViewport:f=!0,autoResizeDrawingBuffer:g=!0,stats:m=Rf.get("animation-loop-"+Mfe++)}=e;let{useDevicePixels:A=!0}=e;"useDevicePixelRatio"in e&&(mn.deprecated("useDevicePixelRatio","useDevicePixels")(),A=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:u,createFramebuffer:h},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=m,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:f,autoResizeDrawingBuffer:g,useDevicePixels:A}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return on("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=Qx.isSupported(this.gl,["timers"])?new Qx(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return li(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return mn.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=sz?new Promise((e,t)=>{sz&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?sI(this.props.gl,e):this.onCreateContext(e),!dx(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){Xu(n,nI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(mn.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(mn.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new ks(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var Ife=et(1524),Zx=et.n(Ife);const Ofe={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(Zx().MouseInput);const kfe=Zx().Manager,au=Zx(),Ffe=au?[[au.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[au.Rotate,{enable:!1}],[au.Pinch,{enable:!1}],[au.Swipe,{enable:!1}],[au.Pan,{threshold:0,enable:!1}],[au.Press,{enable:!1}],[au.Tap,{event:"doubletap",taps:2,enable:!1}],[au.Tap,{event:"anytap",enable:!1}],[au.Tap,{enable:!1}]]:null,lz={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},Lfe={doubletap:["tap"]},Bfe={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},rR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},Vfe={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},cz={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},jfe="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",im="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let uz=!1;try{const n={get passive(){return uz=!0,!0}};im.addEventListener("test",n,n),im.removeEventListener("test",n,n)}catch(n){}const Ufe=-1!==jfe.indexOf("firefox"),{WHEEL_EVENTS:zfe}=rR,hz=4.000244140625;class $fe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=zfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!uz&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;im.WheelEvent&&(Ufe&&e.deltaMode===im.WheelEvent.DOM_DELTA_PIXEL&&(t/=im.devicePixelRatio),e.deltaMode===im.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%hz==0&&(t=Math.floor(t/hz)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:Wfe}=rR,fz="pointermove",pz="pointerover",gz="pointerout",mz="pointerleave";class qfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=Wfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===fz&&(this.enableMoveEvent=t),e===pz&&(this.enableOverEvent=t),e===gz&&(this.enableOutEvent=t),e===mz&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:pz,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:gz,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:mz,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:fz,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:Yfe}=rR,_z="keydown";class Xfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=Yfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===_z&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:_z,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const bz="contextmenu";class Kfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===bz&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:bz,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const Qfe={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},vz={srcElement:"root",priority:0};class cpe{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},vz,i):vz;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let u=l.length-1;for(;u>=0&&!(l[u].priority>=c.priority);)u--;l.splice(u+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&lz[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new $fe(e,this._onOtherEvent,{enable:!1}),this.moveInput=new qfe(e,this._onOtherEvent,{enable:!1}),this.keyInput=new Xfe(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new Kfe(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=Lfe[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const u in e)this._addEventHandler(u,e[u],i,r,s);return}const{manager:o,events:a}=this,l=cz[e]||e;let c=a.get(l);c||(c=new cpe(this),a.set(l,c),c.recognizerName=Vfe[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(cz[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=Bfe[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function Vf(){}const wz={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:Vf,onResize:Vf,onViewStateChange:Vf,onInteractionStateChange:Vf,onBeforeRender:Vf,onAfterRender:Vf,onLoad:Vf,onError:(n,e)=>Ri.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class eS{constructor(e){e=at(at({},wz),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&Ri.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,nm.qs)()&&Ri.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new oI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&A0.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&Ri.removed("onLayerHover","onHover")(),"onLayerClick"in e&&Ri.removed("onLayerClick","onClick")(),e.initialViewState&&!X0(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](at({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),fc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:u,autoResizeDrawingBuffer:h}=e;return new Dfe({width:t,height:i,useDevicePixels:u,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:f=>XV(Sn(at(at({},s),f),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:f=>this._setGLContext(f.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new Phe({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,sI(e,{enable:!0,copyState:!0})),this.tooltip=new qhe(this.canvas),Xu(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new G4;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new dpe(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in NV)this.eventManager.on(r,this._onEvent);this.viewManager=new Ihe({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new Dhe(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new Fhe,this.deckRenderer=new Vhe(e),this.deckPicker=new $he(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;Xu(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(at({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Ri.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Sn(at({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=NV[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=Rf.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}eS.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(U4)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},eS.defaultProps=wz,eS.VERSION=yfe.VERSION;const tS={name:"project32",dependencies:[HO],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},gpe={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},nS=at({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=gpe){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),Ez={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class gh{static get DRAW_MODE(){return Ez}constructor(e={}){const{id:t=ma("geometry"),drawMode:i=Ez.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?at({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,on(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(on(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return on(Number.isFinite(i)),i}}const xz=()=>{},wpe={10241:9987,10240:9729,10242:33071,10243:33071};function Epe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function xpe(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function eb(n){return n&&(n.id||n.url)}function Sz(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(Sz(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+f+e,s=Math.max(s,h)}}return a.length>0&&Sz(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:Epe(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new ya(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:wpe})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=hj(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=t;const{framebuffer:f,deleteFramebuffer:g}=T0(n);on(f);const{gl:m,handle:A}=f,I=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const G=m.bindFramebuffer(36160,A);on(e);let k=null;if(e instanceof Nf&&(k=e,u=Number.isFinite(u)?u:k.width,h=Number.isFinite(h)?h:k.height,k.bind(0),e=k.target),I)switch(e){case 3553:case 34067:m.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:Ao(m).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else m.copyTexImage2D(e,s,o,i,r,u,h,0);k&&k.unbind(),m.bindFramebuffer(36160,G||null),g&&f.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,q0(i.url,nR,this._loadOptions).then(r=>{const s=eb(i),{x:o,y:a,width:l,height:c}=this._mapping[s],u=xpe(t,r,l,c);this._texture.setSubImageData({data:u,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const Cz=[0,0,0,255],Mpe={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:Cz},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let Dpe=(()=>{class n extends Y0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[tS,nS]})}initializeState(){this.state={iconManager:new Ape(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:Cz},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:u}=this.state;u.setProps({loadOptions:i.loadOptions});let h=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&u.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(u.setProps({iconMapping:a}),h=!0)):u.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&u.setProps({data:l,getIcon:c}),h&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:m}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(m),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:u}=this.context,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===o?u.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Yg(t,Sn(at({},this.getShaders()),{id:this.props.id,geometry:new gh({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):Ri.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=Mpe,n})();const Az=[],Ope={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let Rpe=(()=>{class n extends Dpe{getShaders(){return Sn(at({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&Ri.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=Sn(at({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):Az}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):Az}}return n.layerName="MultiIconLayer",n.defaultProps=Ope,n})();var Npe=et(1002),Ppe=et.n(Npe);const Fpe=[];function Lpe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function Mz(n,e,t,i){let r=0;for(let s=e;si&&(oa){let h=Mz(n,a,l,r);c+h>i&&(oi&&(h=Dz(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=h}}(n,r,s,t,i,o),o}function Upe(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let f=0,g=0,m=0;for(let A=0;A<=s;A++){const I=n[A];if(("\n"===I||A===s)&&(m=A),m>g){const G=c?jpe(n,t,i,r,g,m):Fpe;for(let k=0;k<=G.length;k++){const oe=0===k?g:G[k-1],we=ki===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),qpe=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function Xpe(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=aR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=aR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,aR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:u}=this.props;let h=i&&i.data;h||(h=document.createElement("canvas"),h.width=1024);const f=h.getContext("2d");jz(f,r,o,s);const{mapping:g,canvasHeight:m,xOffset:A,yOffset:I}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const f of n)if(!s[f]){const g=e(f,u++);c+g+2*i>r&&(c=0,l++),s[f]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const h=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:Lpe(a+(l+1)*h)}}(at({getFontWidth:G=>f.measureText(G).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(h.height!==m){const G=f.getImageData(0,0,h.width,h.height);h.height=m,f.putImageData(G,0,0)}if(jz(f,r,o,s),l){const G=new(Ppe())(o,a,c,u,r,s),k=f.getImageData(0,0,G.size,G.size);for(const oe of t)Xpe(G.draw(oe),k),f.putImageData(k,g[oe].x-a,g[oe].y+a)}else for(const G of t)f.fillText(G,g[G].x,g[G].y+.9*o);return{xOffset:A,yOffset:I,mapping:g,data:h,width:h.width,height:h.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const Jpe={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let ege=(()=>{class n extends Y0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[tS,nS]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:u}=this.props;const h="pixels"===o?i.metersPerPixel:1;u.length<4&&(u=[u[0],u[1],u[0],u[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:u,sizeScale:s*h,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Yg(t,Sn(at({},this.getShaders()),{id:this.props.id,geometry:new gh({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=Jpe,n})();const Uz={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},zz={start:1,middle:0,end:-1},Hz={top:1,center:0,bottom:-1},lR=[0,0,0,255],nge=["fontSize","buffer","sdf","radius","cutoff"],ige={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:lR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:Oz},fontFamily:Rz,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:lR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:lR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let rge=(()=>{class n extends P4{initializeState(){this.state={styleVersion:0,fontAtlasManager:new Kpe}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(Sn(at(at({},Uz),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return nge.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:u}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),u=s&&new Set,h=new Array(e);let f=n;if(a>1||l>0){f=new n.constructor(c);for(let g=0;gc[f]}else{const{iterable:c,objectInfo:u}=bx(t);o=[0],a=0;for(const h of c){u.index++;const f=Array.from(s(h,u)||"");l&&f.forEach(l.add,l),a+=f.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{size:[f,g]}=Iz(h,l,o,a,r);return[(zz["function"==typeof c?c(t,i):c]-1)*f/2,(Hz["function"==typeof u?u(t,i):u]-1)*g/2,f,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{x:f,y:g,rowWidth:m,size:[A,I]}=Iz(h,l,o,a,r),G=zz["function"==typeof c?c(t,i):c],k=Hz["function"==typeof u?u(t,i):u],oe=f.length,we=new Array(2*oe);let Be=0;for(let Ue=0;Uet*e/255)}const uR={name:"lights",vs:Gz,fs:Gz,getUniforms:function $z(n=sge){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?cR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=cR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=cR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return $z({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},age={};const cge={name:"phong-lighting",dependencies:[uR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=age){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},dR=Math.PI/180,iS=new Float32Array(16),Yz=new Float32Array(12);function Xz(n,e,t){const i=e[0]*dR,r=e[1]*dR,s=e[2]*dR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),f=t[0],g=t[1],m=t[2];n[0]=f*h*u,n[1]=f*l*u,n[2]=f*-a,n[3]=g*(-l*c+h*a*o),n[4]=g*(h*c+l*a*o),n[5]=g*u*o,n[6]=m*(l*o+h*a*c),n[7]=m*(-h*o+l*a*c),n[8]=m*u*c}function Kz(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const Qz={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),f=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:h&&u&&f;const m=n.value;if(n.constant){let A;g?(iS.set(a),A=Kz(iS)):(A=Yz,Xz(A,r,s),A.set(o,9)),n.value=new Float32Array(A)}else{let A=e*n.size;const{iterable:I,objectInfo:G}=bx(i,e,t);for(const k of I){let oe;G.index++,g?(iS.set(c?a:a(k,G)),oe=Kz(iS)):(oe=Yz,Xz(oe,h?r:r(k,G),u?s:s(k,G)),oe.set(f?o:o(k,G),9)),m[A++]=oe[0],m[A++]=oe[1],m[A++]=oe[2],m[A++]=oe[3],m[A++]=oe[4],m[A++]=oe[5],m[A++]=oe[6],m[A++]=oe[7],m[A++]=oe[8],m[A++]=oe[9],m[A++]=oe[10],m[A++]=oe[11]}}}};function Zz(n,e){return e===Vi.CARTESIAN||e===Vi.METER_OFFSETS||e===Vi.DEFAULT&&!n.isGeospatial}function Jz(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),Ri.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function hge(n,e){if(n.attributes)return Jz(n.attributes,e),n instanceof gh?n:new gh(n);if(n.positions||n.POSITION)return Jz(n,e),new gh({attributes:n});throw Error("Invalid mesh")}const fge={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let pge=(()=>{class n extends Y0{getShaders(){const t=!Ci(this.context.gl),i={};return mI(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[tS,cge,nS],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:Qz}),this.setState({emptyTexture:new ya(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||Zz(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Yg(this.context.gl,Sn(at({},this.getShaders()),{id:this.props.id,geometry:hge(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=fge,n})();const e5={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[uR]};class rm{constructor(e={}){const{id:t}=e;this.id=t||ma(this.constructor.name),this.display=!0,this.position=new Mo,this.rotation=new Mo,this.scale=new Mo(1,1,1),this.matrix=new qn,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return on(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return on(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return on(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){on(e),t=t||this.matrix;const i=new qn(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class tb extends rm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;mn.assert(t.every(i=>i instanceof rm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new qn}={}){const i=new qn(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof tb?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function t5(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=t[0],g=t[1],m=t[2],A=t[3],I=t[4],G=t[5],k=t[6],oe=t[7],we=t[8];return n[0]=f*i+g*o+m*c,n[1]=f*r+g*a+m*u,n[2]=f*s+g*l+m*h,n[3]=A*i+I*o+G*c,n[4]=A*r+I*a+G*u,n[5]=A*s+I*l+G*h,n[6]=k*i+oe*o+we*c,n[7]=k*r+oe*a+we*u,n[8]=k*s+oe*l+we*h,n}function n5(n,e,t){var i=t[0],r=t[1];return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=r*e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n}function i5(){var n=new ba(4);return ba!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function r5(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function hR(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function rS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],u=t[3];return n[0]=i*u+o*a+r*c-s*l,n[1]=r*u+o*l+s*a-i*c,n[2]=s*u+o*c+i*l-r*a,n[3]=o*u-i*a-r*l-s*c,n}function s5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a,n}function o5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a,n}function a5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a,n}function l5(n,e){var t=e[0],i=e[1],r=e[2];return n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r)),n}function nb(n,e,t,i){var f,g,m,A,I,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],u=t[2],h=t[3];return(g=r*l+s*c+o*u+a*h)<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>eu?(f=Math.acos(g),m=Math.sin(f),A=Math.sin((1-i)*f)/m,I=Math.sin(i*f)/m):(A=1-i,I=i),n[0]=A*r+I*l,n[1]=A*s+I*c,n[2]=A*o+I*u,n[3]=A*a+I*h,n}function c5(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;return n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a,n}function u5(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3],n}function fR(n,e){var i,t=e[0]+e[4]+e[8];if(t>0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}return n}var d5=function(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},pR=IU,gR=function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},h5=function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];return n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a),n},f5=function(n){return Math.hypot(n[0],n[1],n[2],n[3])},p5=function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r},m5=function(){var n=bj(),e=vj(1,0,0),t=vj(0,1,0);return function(i,r,s){var o=wj(r,s);return o<-.999999?(D0(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&D0(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),hR(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(D0(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();i5(),i5(),function(){var n=new ba(9);ba!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const Sge=[0,0,0,1];class mR extends mx{constructor(e=0,t=0,i=0,r=1){super(-0,-0,-0,-0),Array.isArray(e)&&1===arguments.length?this.copy(e):this.set(e,t,i,r)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,i,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=r,this.check()}fromMatrix3(e){return fR(this,e),this.check()}identity(){return r5(this),this.check()}fromAxisRotation(e,t){return hR(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=nr(e)}get y(){return this[1]}set y(e){this[1]=nr(e)}get z(){return this[2]}set z(e){this[2]=nr(e)}get w(){return this[3]}set w(e){this[3]=nr(e)}len(){return f5(this)}lengthSquared(){return p5(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return gR(this,e)}rotationTo(e,t){return m5(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return d5(this,this,e),this.check()}calculateW(){return l5(this,this),this.check()}conjugate(){return u5(this,this),this.check()}invert(){return c5(this,this),this.check()}lerp(e,t,i){return h5(this,e,t,i),this.check()}multiplyRight(e,t){return Zu(!t),rS(this,this,e),this.check()}multiplyLeft(e,t){return Zu(!t),rS(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return s5(this,this,e),this.check()}rotateY(e){return o5(this,this,e),this.check()}rotateZ(e){return a5(this,this,e),this.check()}scale(e){return pR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=Sge,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return nb(this,e,t,i),this.check()}transformVector4(e,t=e){return OU(t,e,this),_x(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const Cge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Tge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function _5(n){if(!n._animation){const e=Tge[n.componentType],t=Cge[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(f=>f>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:mn.warn(`Bad animation path ${s}`)()}on(r[s].length===i[c].length);const u=e[c],h=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;iu&&function(n,e,t,i,r){if("rotation"===e){_R.slerp({start:t,target:i,ratio:r});for(let s=0;s<_R.length;s++)n[e][s]=_R[s]}else for(let s=0;su&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:_5(e.accessors[a]),interpolation:l,output:_5(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new Nge({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class kge extends rm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Yg?(this.model=e,this._setModelNodeProps(t)):this.model=new Yg(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class Fge{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},mI(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new ya(this.gl,at({id:e.name||e.id,parameters:at(at({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(mn.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function y5(n,e){return Ci(n)?`#version 300 es\n${e}`:e}const jge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Uge={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class zge{constructor(e,t={}){this.gl=e,this.options=Object.assign({},Uge,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new Pge(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new tb({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new tb({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new qn).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new tb({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){mn.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new Fge(n,e);mn.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(u=>u.buffer));const c=new kge(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[e5],defines:a.defines,parameters:a.parameters,vs:y5(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:y5(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),mn.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new lr(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new _a({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:jge[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function b5(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new sm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new sm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof sm){const o=e;t=o.fields,i=x5(x5(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new sm(s,i)}}function x5(n,e){return new Map([...n||new Map,...e||new Map])}let kr,S5,C5,T5,A5,M5,D5,I5;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(kr||(kr={}));class yR{static isNull(e){return e&&e.typeId===kr.Null}static isInt(e){return e&&e.typeId===kr.Int}static isFloat(e){return e&&e.typeId===kr.Float}static isBinary(e){return e&&e.typeId===kr.Binary}static isUtf8(e){return e&&e.typeId===kr.Utf8}static isBool(e){return e&&e.typeId===kr.Bool}static isDecimal(e){return e&&e.typeId===kr.Decimal}static isDate(e){return e&&e.typeId===kr.Date}static isTime(e){return e&&e.typeId===kr.Time}static isTimestamp(e){return e&&e.typeId===kr.Timestamp}static isInterval(e){return e&&e.typeId===kr.Interval}static isList(e){return e&&e.typeId===kr.List}static isStruct(e){return e&&e.typeId===kr.Struct}static isUnion(e){return e&&e.typeId===kr.Union}static isFixedSizeBinary(e){return e&&e.typeId===kr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===kr.FixedSizeList}static isMap(e){return e&&e.typeId===kr.Map}static isDictionary(e){return e&&e.typeId===kr.Dictionary}get typeId(){return kr.NONE}compareTo(e){return this===e}}Symbol,Symbol,S5=Symbol.toStringTag;class om extends yR{constructor(e,t){super(),Kn(this,"isSigned",void 0),Kn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return kr.Int}get[S5](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class Zge extends om{constructor(){super(!0,8)}}class Jge extends om{constructor(){super(!0,16)}}class eme extends om{constructor(){super(!0,32)}}class tme extends om{constructor(){super(!1,8)}}class nme extends om{constructor(){super(!1,16)}}class ime extends om{constructor(){super(!1,32)}}C5=Symbol.toStringTag;class O5 extends yR{constructor(e){super(),Kn(this,"precision",void 0),this.precision=e}get typeId(){return kr.Float}get[C5](){return"Float"}toString(){return`Float${this.precision}`}}class rme extends O5{constructor(){super(32)}}class sme extends O5{constructor(){super(64)}}Symbol,Symbol,T5=Symbol.toStringTag,A5=Symbol.toStringTag,M5=Symbol.toStringTag,D5=Symbol.toStringTag,I5=Symbol.toStringTag;class ome extends yR{constructor(e,t){super(),Kn(this,"listSize",void 0),Kn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return kr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[I5](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class sS{constructor(e,t,i=!1,r=new Map){Kn(this,"name",void 0),Kn(this,"type",void 0),Kn(this,"nullable",void 0),Kn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new sS(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function R5(n,e,t){const i=t?N5(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new Zge;case Uint8Array:return new tme;case Int16Array:return new Jge;case Uint16Array:return new nme;case Int32Array:return new eme;case Uint32Array:return new ime;case Float32Array:return new rme;case Float64Array:return new sme;default:throw new Error("array type not supported")}}(e.value);return new sS(n,new ome(e.size,new sS("value",r)),!1,i)}function N5(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const P5={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},ume={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class hme{constructor(e){Kn(this,"draco",void 0),Kn(this,"decoder",void 0),Kn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const f=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(f)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?u:r,s=h>s?h:s,o=f>o?f:o}return[[e,t,i],[r,s,o]]}(l.attributes),u=function(n,e,t){const i=N5(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=R5(o,n[o],s[o]);r.push(l)}if(t){const o=R5("indices",t);r.push(o)}return new sm(r,i)}(l.attributes,a,l.indices);return Sn(at({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:u})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var oS=et(9125);const ER={};function xR(n){return SR.apply(this,arguments)}function SR(){return(SR=li(function*(n,e=null,t={}){return e&&(n=_me(n,e,t)),ER[n]=ER[n]||yme(n),yield ER[n]})).apply(this,arguments)}function _me(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:_O?t.CDN?(nu(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):yO?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function yme(n){return CR.apply(this,arguments)}function CR(){return(CR=li(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():_O?yO?importScripts(n):bme(yield(yield fetch(n)).text(),n):oS.requireFromFile&&(yield oS.requireFromFile(n))})).apply(this,arguments)}function bme(n,e){if(!_O)return oS.requireFromString&&oS.requireFromString(n,e);if(yO)return eval.call(Iue,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const vme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",wme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",Eme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let ib;function Sme(n){return TR.apply(this,arguments)}function TR(){return(TR=li(function*(n){const e=n.modules||{};return ib=e.draco3d?ib||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):ib||Cme(n),yield ib})).apply(this,arguments)}function Cme(n){return MR.apply(this,arguments)}function MR(){return(MR=li(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield xR(vme,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield xR(wme,"draco",n),yield xR(Eme,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield Tme(e,t)})).apply(this,arguments)}function Tme(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(Sn(at({},t),{onModuleLoaded:r=>i({draco:r})}))})}const IR=Sn(at({},E5),{parse:function(n,e){return OR.apply(this,arguments)}});function OR(){return(OR=li(function*(n,e){const{draco:t}=yield Sme(e),i=new hme(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function sb(n,e){return Lf(n>=0),Lf(e>0),n+(e-1)&~(e-1)}function Dme(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+sb(i.byteLength,4)}const k5=["SCALAR","VEC2","VEC3","VEC4"],Ime=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],Ome=new Map(Ime),Rme={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Nme={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Pme={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function F5(n){return k5[n-1]||k5[0]}function L5(n){const e=Ome.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function B5(n,e){const t=Pme[n.componentType],i=Rme[n.type],s=n.count*i,o=n.count*i*Nme[n.componentType];return $a(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const kme={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class _h{constructor(e){Kn(this,"gltf",void 0),Kn(this,"sourceBuffers",void 0),Kn(this,"byteLength",void 0),this.gltf=e||{json:at({},kme),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return $a(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=B5(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return $a(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return $a(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=eR(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;$a(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=sb(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:F5(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:L5(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=Dme(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Wme(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function qme(n){return PR.apply(this,arguments)}function PR(){return(PR=li(function*(n){const e=new _h(n),{json:t}=e;e.removeExtension(lS);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,lS)})).apply(this,arguments)}function Yme(n){const e=new _h(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,lS,{}),e.addExtension(lS))}function Xme(n){return kR.apply(this,arguments)}function kR(){return(kR=li(function*(n){const e=new _h(n),{json:t}=e,i=e.getExtension(am);i&&(e.json.lights=i.lights,e.removeExtension(am));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,am);s&&(r.light=s.light),e.removeObjectExtension(r,am)}})).apply(this,arguments)}function Kme(n){return FR.apply(this,arguments)}function FR(){return(FR=li(function*(n){const e=new _h(n),{json:t}=e;if(t.lights){const i=e.addExtension(am);$a(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,am,i);delete e.json.lights}})).apply(this,arguments)}function Qme(n){return LR.apply(this,arguments)}function LR(){return(LR=li(function*(n){const e=new _h(n),{json:t}=e,i=e.getExtension(cS);if(i){const r=Jme(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,cS);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=e_e(s.technique,e)),e.removeObjectExtension(s,cS)}e.removeExtension(cS)}})).apply(this,arguments)}function Zme(n,e){return BR.apply(this,arguments)}function BR(){return(BR=li(function*(n,e){})).apply(this,arguments)}function Jme(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function e_e(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const U5={KHR_draco_mesh_compression:lt,KHR_materials_unlit:ee,KHR_lights_punctual:Ct,KHR_techniques_webgl:je};function t_e(n){return VR.apply(this,arguments)}function VR(){return(VR=li(function*(n,e={},t){for(const r in U5){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield U5[r].decode(n,e,t))}})).apply(this,arguments)}const z5={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},i_e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class r_e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new _h(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,V5);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(V5)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in z5)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in z5)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=i_e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function s_e(n,e={}){return(new r_e).normalize(n,e)}const o_e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},a_e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Ml={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},l_e={magFilter:Ml.TEXTURE_MAG_FILTER,minFilter:Ml.TEXTURE_MIN_FILTER,wrapS:Ml.TEXTURE_WRAP_S,wrapT:Ml.TEXTURE_WRAP_T},c_e={[Ml.TEXTURE_MAG_FILTER]:Ml.LINEAR,[Ml.TEXTURE_MIN_FILTER]:Ml.NEAREST_MIPMAP_LINEAR,[Ml.TEXTURE_WRAP_S]:Ml.REPEAT,[Ml.TEXTURE_WRAP_]:Ml.REPEAT};class h_e{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return $a(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=at({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=at({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=at({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=at({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=at({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=at({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=at({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return a_e[n]}(e.componentType),e.components=function(n){return o_e[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=B5(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):c_e,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return l_e[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function f_e(n,e){return(new h_e).postProcess(n,e)}const H5=1735152710,lm=!0;function UR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),sb(i,4)}function zR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),sb(i,4)}function C_e(n,e){return HR.apply(this,arguments)}function HR(){return(HR=li(function*(n,e,t=0,i,r){var s,o,a,l;T_e(n,e,t,i),s_e(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield A_e(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const h=M_e(n,i,r);c.push(h)}const u=t_e(n,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?f_e(n,i):n})).apply(this,arguments)}function T_e(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=H5}=t,s=i.getUint32(e,!1);return s===r||s===H5}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?b5(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?b5(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,lm),a=r.getUint32(t+8,lm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){Lf(n.header.byteLength>20);const i=e.getUint32(t+0,lm),r=e.getUint32(t+4,lm);return t+=8,Lf(0===r),UR(n,e,t,i),(t+=i)+zR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return Lf(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,lm),s=e.getUint32(t+4,lm);switch(t+=8,s){case 1313821514:UR(n,e,t,r);break;case 5130562:zR(n,e,t,r);break;case 0:i.strict||UR(n,e,t,r);break;case 1:i.strict||zR(n,e,t,r)}t+=sb(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),$a("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else $a(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function A_e(n,e,t){return GR.apply(this,arguments)}function GR(){return(GR=li(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield R_e(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function R_e(n){return XR.apply(this,arguments)}function XR(){return(XR=li(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const G5=[255,255,255,255],k_e={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:G5},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[cm]};let F_e=(()=>{class n extends Y0{getShaders(){const t=[tS,nS];return"pbr"===this.props._lighting&&t.push(e5),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:G5,transition:!0},instanceModelMatrix:Qz})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof rm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new zge(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=at({gltf:l},c),function(n){return YR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Ri.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof rm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&Ri.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):Ri.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof rm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:at({isInstanced:!0,transpileToGLSL100:!Ci(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:u}=this.props,h=this.getNumInstances();this.state.scenegraph.traverse((f,{worldMatrix:g})=>{f.model.setInstanceCount(h),f.updateModuleSettings(t),f.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:Zz(s,u),sceneModelMatrix:g,u_Camera:f.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=k_e,n})();class L_e extends gh{constructor(e={}){const{id:t=ma("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,u=(e+1)*(t+1);if("number"==typeof i){const G=i;i=(k,oe,we,Be,Ue)=>G}const h=new Float32Array(3*u),f=new Float32Array(3*u),g=new Float32Array(2*u),A=new(u>65535?Uint32Array:Uint16Array)(e*t*6);for(let G=0;G<=e;G++)for(let k=0;k<=t;k++){const oe=k/t,we=G/e,Be=k+G*(t+1),Ue=2*Be,qe=3*Be,bt=c*oe,xt=o*we,Mt=Math.sin(bt),Bt=Math.cos(bt),Wt=Math.sin(xt),yt=Bt*Wt,Ut=Math.cos(xt),pt=Mt*Wt,Yt=i(yt,Ut,pt,oe,we);h[qe+0]=Yt*yt,h[qe+1]=Yt*Ut,h[qe+2]=Yt*pt,f[qe+0]=yt,f[qe+1]=Ut,f[qe+2]=pt,g[Ue+0]=oe,g[Ue+1]=1-we}const I=t+1;for(let G=0;Gs?(mt=i,Wt=1,yt=t):yt=e+Bt/s*(t-e),(-2===Bt||Bt===s+2)&&(yt=0,Wt=0),mt-=i/2;for(let Ut=0;Uts?0:pt*A,qe[xt+Be[1]]=Bt<0?-1:Bt>s?1:I,qe[xt+Be[2]]=Bt<0||Bt>s?0:Yt*A,bt[Mt+0]=Ut/r,bt[Mt+1]=Wt,Mt+=2,xt+=3}}for(let Bt=0;Bt0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new fe){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new fe){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new fe){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new fe){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new fe){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=K_e,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=Q_e;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(W5),W5.almostEquals(e,t)}clone(){return new fe(this.x,this.y,this.z)}}fe.ZERO=void 0,fe.UNIT_X=void 0,fe.UNIT_Y=void 0,fe.UNIT_Z=void 0,fe.ZERO=new fe(0,0,0),fe.UNIT_X=new fe(1,0,0),fe.UNIT_Y=new fe(0,1,0),fe.UNIT_Z=new fe(0,0,1);const K_e=new fe,Q_e=new fe,W5=new fe;class pr{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new fe,this.upperBound=new fe,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),r.set(c.x,u.y,u.z),s.set(u.x,c.y,u.z),o.set(c.x,u.y,c.z),a.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){const i=Y5;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let f=0;8!==f;f++){const g=i[f];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=Y5;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let f=0;8!==f;f++){const g=i[f];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,u=(this.upperBound.y-i.y)*s,h=(this.lowerBound.z-i.z)*o,f=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,u)),Math.min(h,f)),m=Math.min(Math.min(Math.max(a,l),Math.max(c,u)),Math.max(h,f));return!(m<0||g>m)}}const q5=new fe,Y5=[new fe,new fe,new fe,new fe,new fe,new fe,new fe,new fe];class us{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new fe){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=J_e;e.tangents(i,eye),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Er(e.length(),2)*Er(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new us){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,u=e.w;return t.x=i*u+o*a+r*c-s*l,t.y=r*u+o*l+s*a-i*c,t.z=s*u+o*c+i*l-r*a,t.w=o*u-i*a-r*l-s*c,t}inverse(e=new us){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new us){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new fe){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,u=c*i+a*s-l*r,h=c*r+l*i-o*s,f=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=u*c+g*-o+h*-l-f*-a,t.y=h*c+g*-a+f*-o-u*-l,t.z=f*c+g*-l+u*-a-h*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const u=o*a+l*c;if(u>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),u<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const h=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*u),s=Math.atan2(2*o*c-2*a*l,1-2*h-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"YXZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"ZXY"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"ZYX"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"YZX"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a-l*c*u):"XZY"===r&&(this.x=l*o*a-s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a+l*c*u),this}clone(){return new us(this.x,this.y,this.z,this.w)}slerp(e,t,i=new us){const r=this.x,s=this.y,o=this.z,a=this.w;let f,g,m,A,I,l=e.x,c=e.y,u=e.z,h=e.w;return g=r*l+s*c+o*u+a*h,g<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>1e-6?(f=Math.acos(g),m=Math.sin(f),A=Math.sin((1-t)*f)/m,I=Math.sin(t*f)/m):(A=1-t,I=t),i.x=A*r+I*l,i.y=A*s+I*c,i.z=A*o+I*u,i.w=A*a+I*h,i}integrate(e,t,i,r=new us){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,u=this.z,h=this.w,f=.5*t;return r.x+=f*(s*h+o*u-a*c),r.y+=f*(o*h+a*l-s*u),r.z+=f*(a*h+s*c-o*l),r.w+=f*(-s*l-o*c-a*u),r}}const J_e=new fe,eye=new fe,tye={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let _n=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=tye,n})();class $i{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new fe,this.quaternion=new us,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return $i.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return $i.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new fe){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new fe){return i.vsub(e,r),t.conjugate(K5),K5.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new fe){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new fe){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new fe){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const K5=new us;class jf extends _n{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:_n.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new fe;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let u=!1;for(let h=0;h!==i.length;h++)if(i[h].almostEquals(r)||i[h].almostEquals(r)){u=!0;break}u||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ef&&(f=A,h=m)}const g=[];for(let m=0;m=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new fe,u=new fe,h=new fe,f=new fe,g=new fe,m=new fe;let A=Number.MAX_VALUE;const I=this;if(I.uniqueAxes)for(let G=0;G!==I.uniqueAxes.length;G++){i.vmult(I.uniqueAxes[G],c);const k=I.testSepAxis(c,e,t,i,r,s);if(!1===k)return!1;k0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){jf.project(this,e,i,r,KR),jf.project(t,e,s,o,QR);const l=KR[0],c=KR[1],u=QR[0],h=QR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?yn.STATIC:yn.DYNAMIC,typeof e.type==typeof yn.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=yn.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new fe,this.quaternion=new us,this.initQuaternion=new us,this.previousQuaternion=new us,this.interpolatedQuaternion=new us,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new fe,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new fe,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new fe,this.invInertia=new fe,this.invInertiaWorld=new lu,this.invMassSolve=0,this.invInertiaSolve=new fe,this.invInertiaWorldSolve=new lu,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new fe(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new fe(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new pr,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new fe,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=yn.AWAKE,this.wakeUpAfterNarrowphase=!1,e===yn.SLEEPING&&this.dispatchEvent(yn.wakeupEvent)}sleep(){this.sleepState=yn.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Er(this.sleepSpeedLimit,2);t===yn.AWAKE&&ir?this.wakeUp():t===yn.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(yn.sleepEvent))}}updateSolveMassProperties(){this.sleepState===yn.SLEEPING||this.type===yn.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new fe){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new fe){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new fe){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new fe){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new fe,s=new us;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=rye,o=sye,a=this.quaternion,l=this.aabb,c=oye;for(let u=0;u!==r;u++){const h=e[u];a.vmult(t[u],s),s.vadd(this.position,s),a.mult(i[u],o),h.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===u?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=aye,r=lye;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new fe){if(this.type!==yn.DYNAMIC)return;this.sleepState===yn.SLEEPING&&this.wakeUp();const i=cye;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new fe){if(this.type!==yn.DYNAMIC)return;const i=uye,r=dye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===yn.DYNAMIC&&(this.sleepState===yn.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new fe){if(this.type!==yn.DYNAMIC)return;this.sleepState===yn.SLEEPING&&this.wakeUp();const i=t,r=hye;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=fye;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new fe){if(this.type!==yn.DYNAMIC)return;const i=pye,r=gye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=mye;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),dS.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new fe;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==yn.DYNAMIC&&this.type!==yn.KINEMATIC||this.sleepState===yn.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,h=this.invInertiaWorld,f=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*f.x,r.y+=a.y*g*f.y,r.z+=a.z*g*f.z;const m=h.elements,A=this.angularFactor,I=l.x*A.x,G=l.y*A.y,k=l.z*A.z;s.x+=e*(m[0]*I+m[1]*G+m[2]*k),s.y+=e*(m[3]*I+m[4]*G+m[5]*k),s.z+=e*(m[6]*I+m[7]*G+m[8]*k),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}yn.idCounter=0,yn.COLLIDE_EVENT_NAME="collide",yn.DYNAMIC=1,yn.STATIC=2,yn.KINEMATIC=4,yn.AWAKE=0,yn.SLEEPY=1,yn.SLEEPING=2,yn.wakeupEvent={type:"wakeup"},yn.sleepyEvent={type:"sleepy"},yn.sleepEvent={type:"sleep"};const rye=new fe,sye=new us,oye=new pr,aye=new lu,lye=new lu,cye=new fe,uye=new fe,dye=new fe,hye=new fe,fye=new fe,pye=new fe,gye=new fe,mye=new fe;new fe,new fe;class hS{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new fe,this.rayToWorld=new fe,this.hitNormalWorld=new fe,this.hitPointWorld=new fe,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let Q5,Z5,J5,e8,t8,n8,i8;Q5=_n.types.SPHERE,Z5=_n.types.PLANE,J5=_n.types.BOX,e8=_n.types.CYLINDER,t8=_n.types.CONVEXPOLYHEDRON,n8=_n.types.HEIGHTFIELD,i8=_n.types.TRIMESH;class ys{get[Q5](){return this._intersectSphere}get[Z5](){return this._intersectPlane}get[J5](){return this._intersectBox}get[e8](){return this._intersectConvex}get[t8](){return this._intersectConvex}get[n8](){return this._intersectHeightfield}get[i8](){return this._intersectTrimesh}constructor(e=new fe,t=new fe){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new fe,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=ys.ANY,this.result=new hS,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||ys.ANY,this.result=t.result||new hS,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(r8),tN.length=0,e.broadphase.aabbQuery(e,r8,tN),this.intersectBodies(tN),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=xye,s=Sye;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new fe(0,0,1);t.vmult(c,c);const u=new fe;o.vsub(i,u);const h=u.dot(c);if(a.vsub(i,u),h*u.dot(c)>0||o.distanceTo(a)=0&&A<=1&&(o.lerp(a,A,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1)),this.result.shouldStop)return;I>=0&&I<=1&&(o.lerp(a,I,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Dye,l=o8,c=o&&o.faceList||null,u=e.faces,h=e.vertices,f=e.faceNormals,g=this.direction,m=this.from,I=m.distanceTo(this.to),G=c?c.length:u.length,k=this.result;for(let oe=0;!k.shouldStop&&oeI||this.reportIntersection(a,va,s,r,we)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=Iye,l=Fye,c=Lye,u=o8,h=Oye,f=Rye,g=Nye,m=kye,A=Pye,I=e.indices,G=this.from,k=this.to,oe=this.direction;c.position.copy(i),c.quaternion.copy(t),$i.vectorToLocalFrame(i,t,oe,h),$i.pointToLocalFrame(i,t,G,f),$i.pointToLocalFrame(i,t,k,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,f.x*=e.scale.x,f.y*=e.scale.y,f.z*=e.scale.z,g.vsub(f,h),h.normalize();const we=f.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let Be=0,Ue=l.length;!this.result.shouldStop&&Be!==Ue;Be++){const qe=l[Be];e.getNormal(qe,a),e.getVertex(I[3*qe],_c),_c.vsub(f,u);const bt=h.dot(a),xt=a.dot(u)/bt;if(xt<0)continue;h.scale(xt,va),va.vadd(f,va),e.getVertex(I[3*qe+1],uu),e.getVertex(I[3*qe+2],du);const Mt=va.distanceSquared(f);!ys.pointInTriangle(va,uu,_c,du)&&!ys.pointInTriangle(va,_c,uu,du)||Mt>we||($i.vectorToWorldFrame(t,a,A),$i.pointToWorldFrame(i,t,va,m),this.reportIntersection(A,m,s,r,qe))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case ys.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case ys.CLOSEST:(l=0&&(h=s*c-o*a)>=0&&u+hDate.now()-n}var $f=et(4517);class Fr extends se{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new W;return this._value}next(e){super.next(this._value=e)}}function fm(n,e,t){e||(e=new qn(qn.IDENTITY));const i=new qn(qn.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new qn(qn.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new qn(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===fm(s,r,t))return!1;return!0}function Q8(){M4([E5,cm])}function Z8(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||fm(s,new qn(qn.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function sN(n,e){return Bi(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield Hx(i,cm,{DracoLoader:IR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),Z8(n.scenegraphNode,r)})}function Bve(n,e){return Bi(this,void 0,void 0,function*(){return Z8(n,yield e)})}function oN(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new L_e;break;case"cone":i=new U_e;break;case"cylinder":i=new z_e;break;case"cube":default:i=new Y_e}return new pge(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:Vi.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function J8(n,e,t){if(e&&0!==e.length)return new rge(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new qn(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let jve=(()=>{class n extends P4{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),Q8()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=sN({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const u of c)a.push(new F_e({id:"models-"+u["@id"],opacity:u.zoomBasedOpacity?r.zoomOpacity:void 0!==u.opacity?u.opacity:1,pickable:!u.unpickable,coordinateSystem:Vi.CARTESIAN,data:[u],scenegraph:u.scenegraphNode?Bve(u.scenegraphNode,o[u.scenegraph]):u.scenegraph,_lighting:u._lighting,getTransformMatrix:u.transformMatrix,getColor:null!==(i=u.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!u.zoomBasedOpacity&&(void 0===u.opacity||1===u.opacity)}}));else"text"===l?(a.push(J8("text",c.filter(u=>u.unpickable),{pickable:!1})),a.push(J8("textPickable",c.filter(u=>!u.unpickable),{pickable:!0}))):"wireframe"===l?a.push(oN(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(oN(l,c.filter(u=>u.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(oN(`${l}Pickable`,c.filter(u=>!u.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){Bi(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new qn(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new pr({lowerBound:new fe(...l.map((u,h)=>Math.min(u,c[h]))),upperBound:new fe(...c.map((u,h)=>Math.max(u,l[h])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield q0(o.scenegraph,cm,{DracoLoader:IR,decompress:!0,postProcess:!0});for(const l of a.scenes)fm(l,new qn(o.transformMatrix),(c,u)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const h of c.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const f=u.transformAsPoint(h.attributes.POSITION.min,[]),g=u.transformAsPoint(h.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new pr({lowerBound:new fe(...f.map((m,A)=>Math.min(m,g[A]))),upperBound:new fe(...g.map((m,A)=>Math.max(m,f[A])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function e6(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),e6(t,e);return e}let zve=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new jve({}),this.nodeClickSubject=new se,this.nodeHoverStartSubject=new se,this.nodeHoverStopSubject=new se,this.sceneRotationSubject=new Fr([0,0]),this.nodeDragStartSubject=new se,this.nodeDragSubject=new se,this.nodeDragEndSubject=new se,this.nodeClick$=this.nodeClickSubject.pipe(ws()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(ws()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(ws()),this.sceneRotation$=this.sceneRotationSubject.pipe(ws()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(ws()),this.nodeDrag$=this.nodeDragSubject.pipe(ws()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(ws());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new jde({flipY:!1,near:-1e3}):new Hde({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var u;return null!==(u=this.cursor)&&void 0!==u?u:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new $O({ambientLight:new V4({color:[255,255,255],intensity:10})})]),this.deck=new eS(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return Bi(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new qn([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t,i){return Bi(this,void 0,void 0,function*(){Q8();const r=yield sN({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"},undefined),s={},o=[];for(const a of r.scenes)fm(a,e=new qn(e||qn.IDENTITY),(l,c)=>{const u={"@id":l.name||l.id,"@type":"ProcessedNode",transformMatrix:new qn(c),geometry:"wireframe",node:l};if(o.push({"@id":`GLTF:${u["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:u["@id"],transformMatrix:new qn(e||qn.IDENTITY),tooltip:l.name||l.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:l}),l.mesh&&l.mesh.primitives&&l.mesh.primitives.length>0)for(const h of l.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const f=c.transformAsPoint(h.attributes.POSITION.min,[]),g=c.transformAsPoint(h.attributes.POSITION.max,[]);u.bbox=new pr({lowerBound:new fe(...f.map((m,A)=>Math.min(m,g[A]))),upperBound:new fe(...g.map((m,A)=>Math.max(m,f[A])))})}return s[u["@id"]]=u,!0});for(const a of Object.values(s).filter(l=>!l.bbox)){for(const l of e6(a.node).map(c=>s[c]).filter(c=>c.bbox))a.bbox?a.bbox.extend(l.bbox):a.bbox=l.bbox.clone();a.bbox||delete s[a["@id"]]}for(const a of Object.values(s)){const l=a.bbox.lowerBound,h=(a.size=a.bbox.upperBound.clone().vsub(l)).clone().vmul(new fe(.5,.5,.5)),f=a.center=l.clone().vadd(h);a.transformMatrix=new qn(qn.IDENTITY).translate(f.toArray()).scale(h.toArray())}for(const a of o)s[a["@id"]]=a;return s})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new qn(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return Ei([$f.ZP],n.prototype,"_onHover",null),Ei([$f.ZP],n.prototype,"_onClick",null),Ei([$f.ZP],n.prototype,"_onViewStateChange",null),Ei([$f.ZP],n.prototype,"_onDragStart",null),Ei([$f.ZP],n.prototype,"_onDrag",null),Ei([$f.ZP],n.prototype,"_onDragEnd",null),n})();class t6 extends v{notifyNext(e,t,i,r,s){this.destination.next(t)}notifyError(e,t){this.destination.error(e)}notifyComplete(e){this.destination.complete()}}class Hve extends v{constructor(e,t,i){super(),this.parent=e,this.outerValue=t,this.outerIndex=i,this.index=0}_next(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)}_error(e){this.parent.notifyError(e,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function n6(n,e,t,i,r=new Hve(n,t,i)){if(!r.closed)return e instanceof P?e.subscribe(r):Se(e)(r)}const i6={};function yc(...n){let e,t;return Re(n[n.length-1])&&(t=n.pop()),"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&F(n[0])&&(n=n[0]),In(n,t).lift(new r6(e))}class r6{constructor(e){this.resultSelector=e}call(e,t){return t.subscribe(new Gve(e,this.resultSelector))}}class Gve extends t6{constructor(e,t){super(e),this.resultSelector=t,this.active=0,this.values=[],this.observables=[]}_next(e){this.values.push(i6),this.observables.push(e)}_complete(){const e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(let i=0;i(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let aN=(()=>{class n{constructor(){this.bootstrap$=new Df(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const lN=new Ht("INITIAL_STATE_TOKEN");let Kve=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const s6=new Ht("Internals.StateContextFactory"),o6=new Ht("Internals.StateFactory");function fb(...n){if(1===n.length){const e=n[0];if(F(e))return ES(e,null);if(Y(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return ES(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return ES(n=1===n.length&&F(n[0])?n[0]:n,null).pipe(be(t=>e(...t)))}return ES(n,null)}function ES(n,e){return new P(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=u},error:u=>t.error(u),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((u,h,f)=>(u[h]=r[f],u),{}):r),t.complete())}}))}})}function Ki(n,e){return function(i){return i.lift(new Qve(n,e))}}class Qve{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new Zve(e,this.predicate,this.thisArg))}}class Zve extends v{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}function Wa(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(u){let h;s++,!r||a?(a=!1,r=new Df(n,e,i),h=r.subscribe(this),o=u.subscribe({next(f){r.next(f)},error(f){a=!0,r.error(f)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):h=r.subscribe(this),this.add(()=>{s--,h.unsubscribe(),h=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}const a6=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function qr(n){return e=>0===n?b0():e.lift(new ewe(n))}class ewe{constructor(e){if(this.total=e,this.total<0)throw new a6}call(e,t){return t.subscribe(new twe(e,this.total))}}class twe extends v{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function l6(n,e){return e?t=>t.pipe(l6((i,r)=>Ye(n(i,r)).pipe(be((s,o)=>e(i,s,r,o))))):t=>t.lift(new nwe(n))}class nwe{constructor(e){this.project=e}call(e,t){return t.subscribe(new iwe(e,this.project))}}class iwe extends Ae{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new _t(this),i=this.destination;i.add(t);const r=L(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function xS(n=null){return e=>e.lift(new rwe(n))}class rwe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new swe(e,this.defaultValue))}}class swe extends v{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function bc(n){return function(t){const i=new owe(n),r=t.lift(i);return i.caught=r}}class owe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new awe(e,this.selector,this.caught))}}class awe extends Ae{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new _t(this);this.add(i);const r=L(t,i);r!==i&&this.add(r)}}}function gr(n){return e=>e.lift(new lwe(n))}class lwe{constructor(e){this.notifier=e}call(e,t){const i=new cwe(e),r=L(this.notifier,new _t(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class cwe extends Ae{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function bh(){}function cr(n,e,t){return function(r){return r.lift(new uwe(n,e,t))}}class uwe{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new dwe(e,this.nextOrObserver,this.error,this.complete))}}class dwe extends v{constructor(e,t,i,r){super(e),this._tapNext=bh,this._tapError=bh,this._tapComplete=bh,this._tapError=i||bh,this._tapComplete=r||bh,Q(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||bh,this._tapError=t.error||bh,this._tapComplete=t.complete||bh)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function ld(n,e){return t=>t.lift(new hwe(n,e))}class hwe{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new fwe(e,this.compare,this.keySelector))}}class fwe extends v{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}const qa={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let c6=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(n){return"server"===n}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return pn.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return pn.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof pn||console.warn(qa.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(ke(pn),ke(Xc))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const u6=new Ht("ROOT_STATE_TOKEN"),d6=new Ht("FEATURE_STATE_TOKEN"),h6=new Ht("NGXS_PLUGINS"),f6=new Ht("NG_TEST_MODE"),p6=new Ht("NG_DEV_MODE"),cd="NGXS_META",g6="NGXS_OPTIONS_META",cN="NGXS_SELECTOR_META";let Wf=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=c6}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class pwe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const m6=new Ht("NGXS_EXECUTION_STRATEGY");function qf(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const _6=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},SS=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),uN=n=>n&&"object"==typeof n&&!Array.isArray(n),dN=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(uN(n)&&uN(t))for(const i in t)uN(t[i])?(n[i]||Object.assign(n,{[i]:{}}),dN(n[i],t[i])):Object.assign(n,{[i]:t[i]});return dN(n,...e)};function hN(n){if(!n.hasOwnProperty(cd)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,cd,{value:e})}return pb(n)}function pb(n){return n[cd]}function pN(n){return n[cN]}function y6(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[qf(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Ki(t=>{const i=qf(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function Cwe(){return be(n=>n.action)}function CS(n){return e=>new P(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let TS=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(ke(m6))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class Mwe extends se{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let AS=(()=>{class n extends Mwe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),Dwe=(()=>{class n extends P{constructor(t,i){super(r=>{const s=t.pipe(CS(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(ke(AS),ke(TS))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const v6=n=>(...e)=>n.shift()(...e,(...i)=>v6(n)(...i));let MS=(()=>{class n extends Fr{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),gN=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(ke(n,12),ke(h6,8))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),mN=(()=>{class n extends se{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),w6=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(la),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(CS(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?sn(this._stateStream.getValue()):fb(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!qf(t))return Fg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return v6([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe(Wa())}getActionResultStream(t){return this._actionResults.pipe(Ki(i=>i.action===t&&"DISPATCHED"!==i.status),qr(1),Wa())}createDispatchObservable(t){return t.pipe(l6(i=>{switch(i.status){case"SUCCESSFUL":return sn(this._stateStream.getValue());case"ERRORED":return Fg(i.error);default:return Qc}})).pipe(Wa())}}return n.\u0275fac=function(t){return new(t||n)(ke(Hn),ke(AS),ke(mN),ke(gN),ke(MS),ke(TS))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const E6=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&E6(n[i])}),n};let x6=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(ke(p6),ke(f6))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),S6=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(qa.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(qa.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(ke(x6),ke(Wf))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),gm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=E6(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(ke(MS),ke(w6),ke(Wf),ke(S6))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),DS=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return SS(l,t.path)}function s(l,c){const u=_6(l,t.path,c),h=t.instance;if(h.ngxsOnChanges){const f=b6(t,{currentAppState:l,newAppState:u});h.ngxsOnChanges(f)}return i.setState(u),u}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(qa.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(qa.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(ke(gm))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class IS{static stateNameErrorMessage(e){return qa.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(qa.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(qa.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=pb(e);if(!t)throw new Error(qa.STATE_DECORATOR());return t}}IS.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let mm=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=wS(()=>{const c=this;function u(f){const g=c.statePaths[f];return g?y6(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(f){let g=u(f);return g||((...m)=>(g||(g=u(f)),g?g(...m):void 0))},getSelectorOptions:f=>Object.assign({},c._config.selectorOptions,f||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(IS.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[cd].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[cd];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[cd].name]=t,e),{})}(i),l=[];for(const c of s){const u=a[c],h=o[c],f=u[cd];this.addRuntimeInfoToMeta(f,h);const g={name:c,path:h,isInitialised:!1,actions:f.actions,instance:this._injector.get(u),defaults:n.cloneDefaults(f.defaults)};this.hasBeenMountedAndBootstrapped(c,h)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>_6(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Ki(t=>"DISPATCHED"===t.status),H(({action:t})=>this.invokeActions(this._actions,t).pipe(be(()=>({action:t,status:"SUCCESSFUL"})),xS({action:t,status:"CANCELED"}),bc(i=>sn({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=qf(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let u=o.instance[l.fn](c,i);u instanceof Promise&&(u=Ye(u)),u instanceof P?(u=u.pipe(xS({})),l.options.cancelUncompleted&&(u=u.pipe(gr(t.pipe(Ewe(i)))))):u=sn({}).pipe(Wa()),s.push(u)}catch(u){s.push(Fg(u))}}}return s.length||s.push(sn({})),fb(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=IS.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==SS(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(ke(Hn),ke(Wf),ke(n,12),ke(AS),ke(mN),ke(DS),ke(lN,8))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),_N=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Ki(()=>!!i),cr(()=>this.invokeInit(i.states)),H(()=>this.bootstrapper.appBootstrapped$),Ki(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=b6(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(ke(gm),ke(DS),ke(aN))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const OS_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function Owe(n,e,t){const i=t&&t.containerClass,s=wS(function(...c){const u=e.apply(i,c);return u instanceof Function?wS.apply(null,[u]):u});Object.setPrototypeOf(s,e);const o=function(n,e){const t=function(n){return n.hasOwnProperty(cN)||Object.defineProperty(n,cN,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),pN(n)}(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},OS_getOptions(n.containerClass)||{},OS_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:u}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&pb(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>T6(a)(n))}}(l,o,n);return function(f){const g=c.map(m=>m(f));try{return s(...g)}catch(m){if(m instanceof TypeError&&u.suppressErrors)return;throw m}}},s}function T6(n){const e=pN(n)||pb(n);return e&&e.makeRootSelector||(()=>n)}let hu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(be(i),bc(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?sn(void 0):Fg(r)}),ld(),CS(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(qr(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(CS(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return T6(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(ke(MS),ke(gm),ke(Wf),ke(TS),ke(mm),ke(lN,8))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),gb=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(ke(hu),ke(Wf))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class Fwe{static get type(){return"@@INIT"}}class Lwe{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const RS=new Df(1);let Vwe=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&fa();RS.next(t)}catch(n){RS.next(!1)}finally{RS.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new Fwe,l)}}return n.\u0275fac=function(t){return new(t||n)(ke(mm),ke(gm),ke(hu),ke(gb),ke(u6,8),ke(_N))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})(),jwe=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new Lwe(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(ke(hu),ke(gm),ke(mm),ke(d6,8),ke(_N))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();class Yo{static forRoot(e=[],t={}){return{ngModule:Vwe,providers:[mm,DS,Dwe,AS,aN,S6,x6,_N,w6,mN,gm,TS,hu,MS,gb,gN,...e,...Yo.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:jwe,providers:[mm,gN,...e,{provide:d6,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:f6,useValue:Xve},{provide:p6,useValue:fa},{provide:m6,useClass:t.executionStrategy||c6},{provide:u6,useValue:e},{provide:Yo.ROOT_OPTIONS,useValue:t},{provide:Wf,useFactory:Yo.ngxsConfigFactory,deps:[Yo.ROOT_OPTIONS]},{provide:IE,useFactory:Yo.appBootstrapListenerFactory,multi:!0,deps:[aN]},{provide:lN,useFactory:Yo.getInitialState},{provide:s6,useExisting:DS},{provide:o6,useExisting:mm}]}static ngxsConfigFactory(e){return dN(new Wf,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return Kve.pop()}}function yN(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(qa.ACTION_DECORATOR());const s=hN(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function A6(n){return i=>{!function(n){RS.subscribe(e=>{e&&(n.\u0275prov||console.warn(qa.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=hN(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[g6]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,u="string"==typeof c?c:c&&c.getName()||null;IS.checkCorrectStateName(u),s.hasOwnProperty(cd)&&(r.actions=Object.assign({},r.actions,(s[cd]||{}).actions)),r.children=a,r.defaults=l,r.name=u})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[g6]=a}}function NS(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?y6(t.length?[e,...t]:e.split("."),gb.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!gb.store)throw new Error(qa.SELECT_FACTORY_NOT_CONNECTED());return gb.store.select(n)}(o))}}})}}function _m(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(qa.SELECTOR_DECORATOR());const s=i.value,o=Owe(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}Yo.\u0275fac=function(e){return new(e||Yo)},Yo.\u0275mod=tn({type:Yo}),Yo.\u0275inj=St({}),Yo.ROOT_OPTIONS=new Ht("ROOT_OPTIONS");const Xo=new Ht("NgValueAccessor");function Dl(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}const qS=new cc(sx);class YEe{constructor(e,t){this.dueTime=e,this.scheduler=t}call(e,t){return t.subscribe(new XEe(e,this.dueTime,this.scheduler))}}class XEe extends v{constructor(e,t,i){super(e),this.dueTime=t,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(KEe,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:e}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}}clearDebounce(){const e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)}}function KEe(n){n.debouncedNext()}class QEe{constructor(e){this.total=e}call(e,t){return t.subscribe(new ZEe(e,this.total))}}class ZEe extends v{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function bi(n){return null!=n&&"false"!=`${n}`}function Ya(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}function YS(n){return Array.isArray(n)?n:[n]}function bs(n){return null==n?"":"string"==typeof n?n:`${n}px`}function dd(n){return n instanceof gn?n.nativeElement:n}let zN;try{zN="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){zN=!1}let Cb,Xf,HN,Qi=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Af(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!zN)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(ke(Xc))},n.\u0275prov=tt({factory:function(){return new n(ke(Xc))},token:n,providedIn:"root"}),n})(),Sb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();function vm(n){return function(){if(null==Cb&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Cb=!0}))}finally{Cb=Cb||!1}return Cb}()?n:!!n.capture}function FH(){if(null==Xf){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Xf=!1,Xf;if("scrollBehavior"in document.documentElement.style)Xf=!0;else{const n=Element.prototype.scrollTo;Xf=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return Xf}function KS(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Kf(n){return n.composedPath?n.composedPath()[0]:n.target}let GN=(()=>{class n{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({factory:function(){return new n},token:n,providedIn:"root"}),n})(),LH=(()=>{class n{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,i)=>this._cleanupObserver(i))}observe(t){const i=dd(t);return new P(r=>{const o=this._observeElement(i).subscribe(r);return()=>{o.unsubscribe(),this._unobserveElement(i)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const i=new se,r=this._mutationObserverFactory.create(s=>i.next(s));r&&r.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:r,stream:i,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:i,stream:r}=this._observedElements.get(t);i&&i.disconnect(),r.complete(),this._observedElements.delete(t)}}}return n.\u0275fac=function(t){return new(t||n)(ke(GN))},n.\u0275prov=tt({factory:function(){return new n(ke(GN))},token:n,providedIn:"root"}),n})(),$N=(()=>{class n{constructor(t,i,r){this._contentObserver=t,this._elementRef=i,this._ngZone=r,this.event=new ln,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=bi(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=Ya(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(function(n,e=qS){return t=>t.lift(new YEe(n,e))}(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(Oe(LH),Oe(gn),Oe(pn))},n.\u0275dir=Pt({type:n,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),n})(),QS=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[GN]}),n})(),$H=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===qH(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=qH(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||WH(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(ke(Qi))},n.\u0275prov=tt({factory:function(){return new n(ke(Qi))},token:n,providedIn:"root"}),n})();function WH(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function qH(n){if(!WH(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class yxe{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}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))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(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}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const 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._ngZone.isStable?e():this._ngZone.onStable.pipe(qr(1)).subscribe(e)}}let YH=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new yxe(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(ke($H),ke(pn),ke(fn))},n.\u0275prov=tt({factory:function(){return new n(ke($H),ke(pn),ke(fn))},token:n,providedIn:"root"}),n})();function XH(n){return 0===n.offsetX&&0===n.offsetY}function KH(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const QH=new Ht("cdk-input-modality-detector-options"),xxe={ignoreKeys:[18,17,224,91,16]},wm=vm({passive:!0,capture:!0});let JH=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new Fr(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Kf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(XH(o)?"keyboard":"mouse"),this._mostRecentTarget=Kf(o))},this._onTouchstart=o=>{KH(o)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Kf(o))},this._options=Object.assign(Object.assign({},xxe),s),this.modalityDetected=this._modality.pipe(function(n){return e=>e.lift(new QEe(n))}(1)),this.modalityChanged=this.modalityDetected.pipe(ld()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,wm),r.addEventListener("mousedown",this._onMousedown,wm),r.addEventListener("touchstart",this._onTouchstart,wm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,wm),document.removeEventListener("mousedown",this._onMousedown,wm),document.removeEventListener("touchstart",this._onTouchstart,wm))}}return n.\u0275fac=function(t){return new(t||n)(ke(Qi),ke(pn),ke(fn),ke(QH,8))},n.\u0275prov=tt({factory:function(){return new n(ke(Qi),ke(pn),ke(fn),ke(QH,8))},token:n,providedIn:"root"}),n})();const nG=new Ht("cdk-focus-monitor-default-options"),e1=vm({passive:!0,capture:!0});let vc=(()=>{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,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=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new se,this._rootNodeFocusAndBlurListener=a=>{const l=Kf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let u=l;u;u=u.parentElement)c.call(this,a,u)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=dd(t);if(!this._platform.isBrowser||1!==r.nodeType)return sn(null);const s=function(n){if(function(){if(null==HN){const n="undefined"!=typeof document?document.head:null;HN=!(!n||!n.createShadowRoot&&!n.attachShadow)}return HN}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new se,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=dd(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=dd(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Kf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,e1),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,e1)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(gr(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,e1),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,e1),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(ke(pn),ke(Qi),ke(JH),ke(fn,8),ke(nG,8))},n.\u0275prov=tt({factory:function(){return new n(ke(pn),ke(Qi),ke(JH),ke(fn,8),ke(nG,8))},token:n,providedIn:"root"}),n})();const iG="cdk-high-contrast-black-on-white",rG="cdk-high-contrast-white-on-black",qN="cdk-high-contrast-active";let sG=(()=>{class n{constructor(t,i){this._platform=t,this._document=i}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const i=this._document.defaultView||window,r=i&&i.getComputedStyle?i.getComputedStyle(t):null,s=(r&&r.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),s){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(qN),t.remove(iG),t.remove(rG),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?(t.add(qN),t.add(iG)):2===i&&(t.add(qN),t.add(rG))}}}return n.\u0275fac=function(t){return new(t||n)(ke(Qi),ke(fn))},n.\u0275prov=tt({factory:function(){return new n(ke(Qi),ke(fn))},token:n,providedIn:"root"}),n})();const oG=new Ht("cdk-dir-doc",{providedIn:"root",factory:function(){return Bc(fn)}});let Il=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new ln,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(ke(oG,8))},n.\u0275prov=tt({factory:function(){return new n(ke(oG,8))},token:n,providedIn:"root"}),n})(),Ab=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const aG=new Hu("12.2.5");function t1(...n){return kt(1)(sn(...n))}function Oo(...n){const e=n[n.length-1];return Re(e)?(n.pop(),t=>t1(n,t,e)):t=>t1(n,t)}function Em(n,e){return{type:7,name:n,definitions:e,options:{}}}function fd(n,e=null){return{type:4,styles:e,timings:n}}function ds(n){return{type:6,styles:n,offset:null}}function wc(n,e,t){return{type:0,name:n,styles:e,options:t}}function pd(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function uG(n){Promise.resolve(null).then(n)}class xm{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],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._onStartFns.push(e)}onDone(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(){uG(()=>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}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function hG(){return"undefined"!=typeof window&&void 0!==window.document}function XN(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}let JN=(n,e)=>!1,eP=(n,e)=>!1,gG=(n,e,t)=>[];const mG=XN();(mG||"undefined"!=typeof Element)&&(JN=hG()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),eP=(()=>{if(mG||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):eP}})(),gG=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{class n{validateStyleProperty(t){return tP(t)}matchesElement(t,i){return nP(t,i)}containsElement(t,i){return iP(t,i)}query(t,i,r){return rP(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new xm(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class n1{}n1.NOOP=new bG;function xG(n,e,t){return t?e+":"+t+";":""}function SG(n){let e="";for(let t=0;t{const r=cP(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),XN()&&SG(n))}function Jf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=cP(t);n.style[i]=""}),XN()&&SG(n))}const Lxe=/-+([a-z0-9])/g;function cP(n){return n.replace(Lxe,(...e)=>e[1].toUpperCase())}function Bxe(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Tm{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=Tm.initialStylesByElement.get(e);r||Tm.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&pu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(pu(this._element,this._initialStyles),this._endStyles&&(pu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Tm.initialStylesByElement.delete(this._element),this._startStyles&&(Jf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Jf(this._element,this._endStyles),this._endStyles=null),pu(this._element,this._initialStyles),this._state=3)}}Tm.initialStylesByElement=new WeakMap;const Qa=new Ht("AnimationModuleType"),l$=new Hu("12.2.5"),s1e=new Ht("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let tp,ji=(()=>{class n{constructor(t,i,r){this._hasDoneGlobalChecks=!1,this._document=r,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=i,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!fa()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const i=getComputedStyle(t);i&&"none"!==i.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&l$.full!==aG.full&&console.warn("The Angular Material version ("+l$.full+") does not match the Angular CDK version ("+aG.full+").\nPlease ensure the versions of these two packages exactly match.")}}return n.\u0275fac=function(t){return new(t||n)(ke(sG),ke(s1e,8),ke(fn))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Ab],Ab]}),n})();function Am(n){return class extends n{constructor(...e){super(...e),this._disabled=!1}get disabled(){return this._disabled}set disabled(e){this._disabled=bi(e)}}}function Mm(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function Ch(n){return class extends n{constructor(...e){super(...e),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=bi(e)}}}function E1(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?Ya(t):this.defaultTabIndex}}}try{tp="undefined"!=typeof Intl}catch(n){tp=!1}class y1e{constructor(e,t,i){this._renderer=e,this.element=t,this.config=i,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const p$={enterDuration:225,exitDuration:150},SP=vm({passive:!0}),g$=["mousedown","touchstart"],m$=["mouseup","mouseleave","touchend","touchcancel"];class v1e{constructor(e,t,i,r){this._target=e,this._ngZone=t,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=dd(i))}fadeInRipple(e,t,i={}){const r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign(Object.assign({},p$),i.animation);i.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);const o=i.radius||function(n,e,t){const i=Math.max(Math.abs(n-t.left),Math.abs(n-t.right)),r=Math.max(Math.abs(e-t.top),Math.abs(e-t.bottom));return Math.sqrt(i*i+r*r)}(e,t,r),a=e-r.left,l=t-r.top,c=s.enterDuration,u=document.createElement("div");u.classList.add("mat-ripple-element"),u.style.left=a-o+"px",u.style.top=l-o+"px",u.style.height=2*o+"px",u.style.width=2*o+"px",null!=i.color&&(u.style.backgroundColor=i.color),u.style.transitionDuration=`${c}ms`,this._containerElement.appendChild(u),function(n){window.getComputedStyle(n).getPropertyValue("opacity")}(u),u.style.transform="scale(1)";const h=new y1e(this,u,i);return h.state=0,this._activeRipples.add(h),i.persistent||(this._mostRecentTransientRipple=h),this._runTimeoutOutsideZone(()=>{const f=h===this._mostRecentTransientRipple;h.state=1,!i.persistent&&(!f||!this._isPointerDown)&&h.fadeOut()},c),h}fadeOutRipple(e){const t=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!t)return;const i=e.element,r=Object.assign(Object.assign({},p$),e.config.animation);i.style.transitionDuration=`${r.exitDuration}ms`,i.style.opacity="0",e.state=2,this._runTimeoutOutsideZone(()=>{e.state=3,i.parentNode.removeChild(i)},r.exitDuration)}fadeOutAll(){this._activeRipples.forEach(e=>e.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(e=>{e.config.persistent||e.fadeOut()})}setupTriggerEvents(e){const t=dd(e);!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,this._registerEvents(g$))}handleEvent(e){"mousedown"===e.type?this._onMousedown(e):"touchstart"===e.type?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(m$),this._pointerUpEventsRegistered=!0)}_onMousedown(e){const t=XH(e),i=this._lastTouchStartEvent&&Date.now(){!e.config.persistent&&(1===e.state||e.config.terminateOnPointerUp&&0===e.state)&&e.fadeOut()}))}_runTimeoutOutsideZone(e,t=0){this._ngZone.runOutsideAngular(()=>setTimeout(e,t))}_registerEvents(e){this._ngZone.runOutsideAngular(()=>{e.forEach(t=>{this._triggerElement.addEventListener(t,this,SP)})})}_removeTriggerEvents(){this._triggerElement&&(g$.forEach(e=>{this._triggerElement.removeEventListener(e,this,SP)}),this._pointerUpEventsRegistered&&m$.forEach(e=>{this._triggerElement.removeEventListener(e,this,SP)}))}}const x1e=new Ht("mat-ripple-global-options");let gu=(()=>{class n{constructor(t,i,r,s,o){this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new v1e(this,i,t,r)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}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:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{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(t,i=0,r){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,i,Object.assign(Object.assign({},this.rippleConfig),r)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(pn),Oe(Qi),Oe(x1e,8),Oe(Qa,8))},n.\u0275dir=Pt({type:n,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,i){2&t&&ai("mat-ripple-unbounded",i.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),n})(),Dm=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[ji,Sb],ji]}),n})();function gd(n,e,t,i){return Q(t)&&(i=t,t=void 0),i?gd(n,e,t).pipe(be(r=>F(r)?i(...r):i(r))):new P(r=>{E$(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function E$(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let F1e=1;const L1e=Promise.resolve(),C1={};function x$(n){return n in C1&&(delete C1[n],!0)}const S$={setImmediate(n){const e=F1e++;return C1[e]=!0,L1e.then(()=>x$(e)&&n()),e},clearImmediate(n){x$(n)}};new class extends cc{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=S$.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(S$.clearImmediate(t),e.scheduled=void 0)}});function Im(n){return!!n&&(n instanceof P||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class z1e{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new H1e(e,this.durationSelector))}}class H1e extends Ae{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=L(t,new _t(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function C$(n){return!F(n)&&n-parseFloat(n)+1>=0}function $1e(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function T1(n,e=qS){return function(n){return function(t){return t.lift(new z1e(n))}}(()=>function(n=0,e,t){let i=-1;return C$(e)?i=Number(e)<1?1:Number(e):Re(e)&&(t=e),Re(t)||(t=qS),new P(r=>{const s=C$(n)?n:+n-t.now();return t.schedule($1e,s,{index:0,period:i,subscriber:r})})}(n,e))}let A$=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({factory:function(){return new n},token:n,providedIn:"root"}),n})(),Om=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new se,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new P(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(T1(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):sn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Ki(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=dd(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>gd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(ke(pn),ke(Qi),ke(fn,8))},n.\u0275prov=tt({factory:function(){return new n(ke(pn),ke(Qi),ke(fn,8))},token:n,providedIn:"root"}),n})(),Rm=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new se,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(T1(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(ke(Qi),ke(pn),ke(fn,8))},n.\u0275prov=tt({factory:function(){return new n(ke(Qi),ke(pn),ke(fn,8))},token:n,providedIn:"root"}),n})();class MP{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class M1 extends MP{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Nm extends MP{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}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()}}class lCe extends MP{constructor(e){super(),this.element=e instanceof gn?e.nativeElement:e}}class D1{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof M1?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Nm?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof lCe?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}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)}}class cCe extends D1{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let np=(()=>{class n extends D1{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new ln,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(Oe(El),Oe(Rs),Oe(fn))},n.\u0275dir=Pt({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[En]}),n})();const P$=FH();class fCe{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=bs(-this._previousScrollPosition.left),e.style.top=bs(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),P$&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),P$&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class pCe{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const 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}}class k${enable(){}disable(){}attach(){}}function DP(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function F$(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class gCe{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();DP(t,[{width:i,height:r,bottom:r,right:i,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}}let mCe=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new k$,this.close=o=>new pCe(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new fCe(this._viewportRuler,this._document),this.reposition=o=>new gCe(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(ke(Om),ke(Rm),ke(pn),ke(fn))},n.\u0275prov=tt({factory:function(){return new n(ke(Om),ke(Rm),ke(pn),ke(fn))},token:n,providedIn:"root"}),n})();class O1{constructor(e){if(this.scrollStrategy=new k$,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class _Ce{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class yCe{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let L$=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(ke(fn))},n.\u0275prov=tt({factory:function(){return new n(ke(fn))},token:n,providedIn:"root"}),n})(),bCe=(()=>{class n extends L${constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(ke(fn))},n.\u0275prov=tt({factory:function(){return new n(ke(fn))},token:n,providedIn:"root"}),n})(),vCe=(()=>{class n extends L${constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Kf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(ke(fn),ke(Qi))},n.\u0275prov=tt({factory:function(){return new n(ke(fn),ke(Qi))},token:n,providedIn:"root"}),n})();const Th="undefined"!=typeof window?window:{},B$=void 0!==Th.__karma__&&!!Th.__karma__||void 0!==Th.jasmine&&!!Th.jasmine||void 0!==Th.jest&&!!Th.jest||void 0!==Th.Mocha&&!!Th.Mocha;let Ob=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||B$){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(u),this._keydownEvents=new se,this._outsidePointerEvents=new se,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(qr(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),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),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),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&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.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=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},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(){const e=this._config.direction;return e?"string"==typeof e?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;const e=this._pane.style;e.width=bs(this._config.width),e.height=bs(this._config.height),e.minWidth=bs(this._config.minWidth),e.minHeight=bs(this._config.minHeight),e.maxWidth=bs(this._config.maxWidth),e.maxHeight=bs(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),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),"undefined"!=typeof requestAnimationFrame?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)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;YS(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(gr(Pn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const V$="cdk-overlay-connected-position-bounding-box",ECe=/([A-Za-z%]+)$/;class j${constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,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 se,this._resizeSubscription=C.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(V$),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)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&ip(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(V$),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(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){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=z$(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let f=0-a,g=a+s.height-i.height,m=this._subtractOverflows(s.width,0-o,o+s.width-i.width),A=this._subtractOverflows(s.height,f,g),I=m*A;return{visibleArea:I,isCompletelyWithinViewport:s.width*s.height===I,fitsInViewportVertically:A===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=U$(this._overlayRef.getConfig().minHeight),a=U$(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=z$(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let u=0,h=0;return u=r.width<=s.width?c||-o:e.xm&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-m/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)f=i.width-e.x+this._viewportMargin,u=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)h=e.x,u=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),m=this._lastBoundingBoxSize.width;u=2*g,h=e.x-g,u>m&&!this._isInitialRender&&!this._growAfterOpen&&(h=e.x-m/2)}return{top:o,left:h,bottom:a,right:f,width:u,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=bs(i.height),r.top=bs(i.top),r.bottom=bs(i.bottom),r.width=bs(i.width),r.left=bs(i.left),r.right=bs(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=bs(s)),o&&(r.maxWidth=bs(o))}this._lastBoundingBoxSize=i,ip(this._boundingBox.style,r)}_resetBoundingBoxStyles(){ip(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){ip(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const u=this._viewportRuler.getViewportScrollPosition();ip(i,this._getExactOverlayY(t,e,u)),ip(i,this._getExactOverlayX(t,e,u))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=bs(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=bs(o.maxWidth):s&&(i.maxWidth="")),ip(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=bs(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=bs(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:F$(e,i),isOriginOutsideView:DP(e,i),isOverlayClipped:F$(t,i),isOverlayOutsideView:DP(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&YS(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof gn)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function ip(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function U$(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(ECe);return t&&"px"!==t?null:parseFloat(e)}return n||null}function z$(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class xCe{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new j$(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new _Ce(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const H$="cdk-global-overlay-wrapper";class SCe{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const 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(H$),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-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._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(H$),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let CCe=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new SCe}connectedTo(t,i,r){return new xCe(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new j$(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(ke(Rm),ke(fn),ke(Qi),ke(Ob))},n.\u0275prov=tt({factory:function(){return new n(ke(Rm),ke(fn),ke(Qi),ke(Ob))},token:n,providedIn:"root"}),n})(),TCe=0,Ec=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u,h,f){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=h,this._outsideClickDispatcher=f}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new O1(t);return o.direction=o.direction||this._directionality.value,new wCe(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+TCe++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(sh)),new cCe(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(ke(mCe),ke(Ob),ke(El),ke(CCe),ke(bCe),ke(Hn),ke(pn),ke(fn),ke(Il),ke(kg),ke(vCe))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class rTe{constructor(e,t){this.delay=e,this.scheduler=t}call(e,t){return t.subscribe(new NP(e,this.delay,this.scheduler))}}class NP extends v{constructor(e,t,i){super(e),this.delay=t,this.scheduler=i,this.queue=[],this.active=!1,this.errored=!1}static dispatch(e){const t=e.source,i=t.queue,r=e.scheduler,s=e.destination;for(;i.length>0&&i[0].time-r.now()<=0;)i.shift().notification.observe(s);if(i.length>0){const o=Math.max(0,i[0].time-r.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1}_schedule(e){this.active=!0,this.destination.add(e.schedule(NP.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))}scheduleNotification(e){if(!0===this.errored)return;const t=this.scheduler,i=new sTe(t.now()+this.delay,e);this.queue.push(i),!1===this.active&&this._schedule(t)}_next(e){this.scheduleNotification(ga.createNext(e))}_error(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()}_complete(){this.scheduleNotification(ga.createComplete()),this.unsubscribe()}}class sTe{constructor(e,t){this.time=e,this.notification=t}}function o7(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>be(function(n,e){return i=>{let r=i;for(let s=0;se.lift(new WTe(n))}et(7266);class WTe{constructor(e){this.callback=e}call(e,t){return t.subscribe(new qTe(e,this.callback))}}class qTe extends v{constructor(e,t){super(e),this.add(new C(t))}}class f7{}class p7{}class mu{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const 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 mu?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){const t=new mu;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof mu?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class YTe{encodeKey(e){return g7(e)}encodeValue(e){return g7(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const KTe=/%(\d[a-f0-9])/gi,QTe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function g7(n){return encodeURIComponent(n).replace(KTe,(e,t)=>{var i;return null!==(i=QTe[t])&&void 0!==i?i:e})}function m7(n){return`${n}`}class Lr{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new YTe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const 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){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,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=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new Lr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(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":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(m7(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(m7(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class Zs{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}keys(){return this.map.keys()}}function _7(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function y7(n){return"undefined"!=typeof Blob&&n instanceof Blob}function b7(n){return"undefined"!=typeof FormData&&n instanceof FormData}class Rb{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new mu),this.context||(this.context=new Zs),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":af.set(g,e.setHeaders[g]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((f,g)=>f.set(g,e.setParams[g]),u)),new Rb(i,r,o,{params:u,headers:c,context:h,reportProgress:l,responseType:s,withCredentials:a})}}var vs=(()=>((vs=vs||{})[vs.Sent=0]="Sent",vs[vs.UploadProgress=1]="UploadProgress",vs[vs.ResponseHeader=2]="ResponseHeader",vs[vs.DownloadProgress=3]="DownloadProgress",vs[vs.Response=4]="Response",vs[vs.User=5]="User",vs))();class kP{constructor(e,t=200,i="OK"){this.headers=e.headers||new mu,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class FP extends kP{constructor(e={}){super(e),this.type=vs.ResponseHeader}clone(e={}){return new FP({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class N1 extends kP{constructor(e={}){super(e),this.type=vs.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new N1({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class v7 extends kP{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function LP(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let _u=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof Rb)s=t;else{let l,c;l=r.headers instanceof mu?r.headers:new mu(r.headers),r.params&&(c=r.params instanceof Lr?r.params:new Lr({fromObject:r.params})),s=new Rb(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=sn(s).pipe(function(n,e){return H(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof Rb||"events"===r.observe)return o;const a=o.pipe(Ki(l=>l instanceof N1));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(be(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(be(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(be(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(be(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new Lr).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,LP(r,i))}post(t,i,r={}){return this.request("POST",t,LP(r,i))}put(t,i,r={}){return this.request("PUT",t,LP(r,i))}}return n.\u0275fac=function(t){return new(t||n)(ke(f7))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class w7{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const E7=new Ht("HTTP_INTERCEPTORS");let eAe=(()=>{class n{intercept(t,i){return i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const tAe=/^\)\]\}',?\n/;let x7=(()=>{class n{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new P(i=>{const r=this.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((g,m)=>r.setRequestHeader(g,m.join(","))),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const g=t.detectContentTypeHeader();null!==g&&r.setRequestHeader("Content-Type",g)}if(t.responseType){const g=t.responseType.toLowerCase();r.responseType="json"!==g?g:"text"}const s=t.serializeBody();let o=null;const a=()=>{if(null!==o)return o;const g=1223===r.status?204:r.status,m=r.statusText||"OK",A=new mu(r.getAllResponseHeaders()),I=function(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||t.url;return o=new FP({headers:A,status:g,statusText:m,url:I}),o},l=()=>{let{headers:g,status:m,statusText:A,url:I}=a(),G=null;204!==m&&(G=void 0===r.response?r.responseText:r.response),0===m&&(m=G?200:0);let k=m>=200&&m<300;if("json"===t.responseType&&"string"==typeof G){const oe=G;G=G.replace(tAe,"");try{G=""!==G?JSON.parse(G):null}catch(we){G=oe,k&&(k=!1,G={error:we,text:G})}}k?(i.next(new N1({body:G,headers:g,status:m,statusText:A,url:I||void 0})),i.complete()):i.error(new v7({error:G,headers:g,status:m,statusText:A,url:I||void 0}))},c=g=>{const{url:m}=a(),A=new v7({error:g,status:r.status||0,statusText:r.statusText||"Unknown Error",url:m||void 0});i.error(A)};let u=!1;const h=g=>{u||(i.next(a()),u=!0);let m={type:vs.DownloadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),"text"===t.responseType&&!!r.responseText&&(m.partialText=r.responseText),i.next(m)},f=g=>{let m={type:vs.UploadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),i.next(m)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),t.reportProgress&&(r.addEventListener("progress",h),null!==s&&r.upload&&r.upload.addEventListener("progress",f)),r.send(s),i.next({type:vs.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),t.reportProgress&&(r.removeEventListener("progress",h),null!==s&&r.upload&&r.upload.removeEventListener("progress",f)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(t){return new(t||n)(ke(oV))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const BP=new Ht("XSRF_COOKIE_NAME"),VP=new Ht("XSRF_HEADER_NAME");class S7{}let iAe=(()=>{class n{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=YB(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return n.\u0275fac=function(t){return new(t||n)(ke(fn),ke(Xc),ke(BP))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),jP=(()=>{class n{constructor(t,i){this.tokenService=t,this.headerName=i}intercept(t,i){const r=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||r.startsWith("http://")||r.startsWith("https://"))return i.handle(t);const s=this.tokenService.getToken();return null!==s&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,s)})),i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(ke(S7),ke(VP))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),rAe=(()=>{class n{constructor(t,i){this.backend=t,this.injector=i,this.chain=null}handle(t){if(null===this.chain){const i=this.injector.get(E7,[]);this.chain=i.reduceRight((r,s)=>new w7(r,s),this.backend)}return this.chain.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(ke(p7),ke(Hn))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),sAe=(()=>{class n{static disable(){return{ngModule:n,providers:[{provide:jP,useClass:eAe}]}}static withOptions(t={}){return{ngModule:n,providers:[t.cookieName?{provide:BP,useValue:t.cookieName}:[],t.headerName?{provide:VP,useValue:t.headerName}:[]]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[jP,{provide:E7,useExisting:jP,multi:!0},{provide:S7,useClass:iAe},{provide:BP,useValue:"XSRF-TOKEN"},{provide:VP,useValue:"X-XSRF-TOKEN"}]}),n})(),C7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[_u,{provide:f7,useClass:rAe},x7,{provide:p7,useExisting:x7}],imports:[[sAe.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),n})();const oAe=["*"];function T7(n){return Error(`Unable to find icon with the name "${n}"`)}function A7(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function M7(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class rp{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let P1=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,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",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new rp(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(si.HTML,r);if(!o)throw M7(r);return this._addSvgIconConfig(t,i,new rp("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new rp(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(si.HTML,i);if(!s)throw M7(i);return this._addSvgIconSetConfig(t,new rp("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(si.RESOURCE_URL,t);if(!i)throw A7(t);const r=this._cachedIconsByUrl.get(i);return r?sn(k1(r)):this._loadSvgIconFromConfig(new rp(t,null)).pipe(cr(s=>this._cachedIconsByUrl.set(i,s)),be(s=>k1(s)))}getNamedSvgIcon(t,i=""){const r=D7(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Fg(T7(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?sn(k1(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(be(i=>k1(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?sn(r):fb(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(bc(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(si.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),sn(null)})))).pipe(be(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw T7(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(cr(i=>t.svgText=i),be(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?sn(null):this._fetchIcon(t).pipe(cr(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;sthis._inProgressUrlFetches.delete(a)),ws());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(D7(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),I7=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],pAe=I7.map(n=>`[${n}]`).join(", "),gAe=/^url\(['"]?#(.*?)['"]?\)$/;let Fm=(()=>{class n extends uAe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=C.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=bi(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(pAe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(gAe):null;if(c){let u=r.get(a);u||(u=[],r.set(a,u)),u.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(qr(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(P1),yo("aria-hidden"),Oe(dAe),Oe(la))},n.\u0275cmp=rn({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(Ii("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),ai("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[En],ngContentSelectors:oAe,decls:1,vars:0,template:function(t,i){1&t&&(Hr(),oi(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[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}\n"],encapsulation:2,changeDetection:0}),n})();function TAe(n,e){}class zP{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const AAe={dialogContainer:Em("dialogContainer",[wc("void, exit",ds({opacity:0,transform:"scale(0.7)"})),wc("enter",ds({transform:"none"})),pd("* => enter",fd("150ms cubic-bezier(0, 0, 0.2, 1)",ds({transform:"none",opacity:1}))),pd("* => void, * => exit",fd("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",ds({opacity:0})))])};let MAe=(()=>{class n extends D1{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new ln,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=KS(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=KS())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=KS();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(YH),Oe(Mr),Oe(fn,8),Oe(zP),Oe(vc))},n.\u0275dir=Pt({type:n,viewQuery:function(t,i){if(1&t&&hr(np,7),2&t){let r;Gn(r=$n())&&(i._portalOutlet=r.first)}},features:[En]}),n})(),DAe=(()=>{class n extends MAe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275cmp=rn({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&uE("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(qc("id",i._id),Ii("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),fE("@dialogContainer",i._state))},features:[En],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&wi(0,TAe,0,0,"ng-template",0)},directives:[np],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[AAe.dialogContainer]}}),n})(),IAe=0;class F1{constructor(e,t,i="mat-dialog-"+IAe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new se,this._afterClosed=new se,this._beforeClosed=new se,this._state=0,t._id=i,t._animationStateChanged.pipe(Ki(r=>"opened"===r.state),qr(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Ki(r=>"closed"===r.state),qr(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Ki(r=>27===r.keyCode&&!this.disableClose&&!Dl(r))).subscribe(r=>{r.preventDefault(),HP(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():HP(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Ki(t=>"closing"===t.state),qr(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();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._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function HP(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const N7=new Ht("MatDialogData"),OAe=new Ht("mat-dialog-default-options"),P7=new Ht("mat-dialog-scroll-strategy");let PAe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=u,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new se,this._afterOpenedAtThisLevel=new se,this._ariaHiddenElements=new Map,this.afterAllClosed=function(n){return new P(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?Ye(t):b0()).subscribe(e)})}(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Oo(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new zP)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new O1({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Hn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:zP,useValue:i}]}),o=new M1(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof Go)i.attachTemplatePortal(new Nm(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new M1(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Il,null,xn.Optional))&&o.push({provide:Il,useValue:{value:t.direction,change:sn()}}),Hn.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(Oe(Ec),Oe(Hn),Oe(void 0),Oe(void 0),Oe(Ob),Oe(void 0),Oe(Du),Oe(Du),Oe(Ht))},n.\u0275dir=Pt({type:n}),n})(),Pb=(()=>{class n extends PAe{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,F1,DAe,N7)}}return n.\u0275fac=function(t){return new(t||n)(ke(Ec),ke(Hn),ke(kg,8),ke(OAe,8),ke(P7),ke(n,12),ke(Ob))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),FAe=0,k7=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+FAe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(Oe(F1,8),Oe(gn),Oe(Pb))},n.\u0275dir=Pt({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&qc("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),F7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Pt({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();const $P=new Ht("CdkAccordion");let VAe=0,UAe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=C.EMPTY,this.closed=new ln,this.opened=new ln,this.destroyed=new ln,this.expandedChange=new ln,this.id="cdk-accordion-child-"+VAe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=bi(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=bi(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(Oe($P,12),Oe(Mr),Oe(A$))},n.\u0275dir=Pt({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Vn([{provide:$P,useValue:void 0}])]}),n})();const HAe=["body"];function GAe(n,e){}const $Ae=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],WAe=["mat-expansion-panel-header","*","mat-action-row"];function qAe(n,e){1&n&&ni(0,"span",2),2&n&&Jt("@indicatorRotate",_i()._getExpandedState())}const YAe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],XAe=["mat-panel-title","mat-panel-description","*"],WP=new Ht("MAT_ACCORDION"),B7="225ms cubic-bezier(0.4,0.0,0.2,1)",V7={indicatorRotate:Em("indicatorRotate",[wc("collapsed, void",ds({transform:"rotate(0deg)"})),wc("expanded",ds({transform:"rotate(180deg)"})),pd("expanded <=> collapsed, void => collapsed",fd(B7))]),bodyExpansion:Em("bodyExpansion",[wc("collapsed, void",ds({height:"0px",visibility:"hidden"})),wc("expanded",ds({height:"*",visibility:"visible"})),pd("expanded <=> collapsed, void => collapsed",fd(B7))])};let KAe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(Oe(Go))},n.\u0275dir=Pt({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),QAe=0;const j7=new Ht("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let U7=(()=>{class n extends UAe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new ln,this.afterCollapse=new ln,this._inputChanges=new se,this._headerId="mat-expansion-panel-header-"+QAe++,this._bodyAnimationDone=new se,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(ld((c,u)=>c.fromState===u.fromState&&c.toState===u.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=bi(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(Oo(null),Ki(()=>this.expanded&&!this._portal),qr(1)).subscribe(()=>{this._portal=new Nm(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(Oe(WP,12),Oe(Mr),Oe(A$),Oe(Rs),Oe(fn),Oe(Qa,8),Oe(j7,8))},n.\u0275cmp=rn({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&function(n,e,t,i){const r=Si();if(r.firstCreatePass){const s=as();I3(r,new A3(e,t,i),s.index),function(n,e){const t=n.contentQueries||(n.contentQueries=[]);e!==(t.length?t[t.length-1]:-1)&&t.push(n.queries.length-1,e)}(r,n),2==(2&t)&&(r.staticContentQueries=!0)}D3(r,jt(),t)}(r,KAe,5),2&t){let s;Gn(s=$n())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&hr(HAe,5),2&t){let r;Gn(r=$n())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&ai("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Vn([{provide:WP,useValue:void 0}]),En,Fi],ngContentSelectors:WAe,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(Hr($Ae),oi(0),wt(1,"div",0,1),Tn("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),wt(3,"div",2),oi(4,1),wi(5,GAe,0,0,"ng-template",3),Et(),oi(6,2),Et()),2&t&&(zt(1),Jt("@bodyExpansion",i._getExpandedState())("id",i.id),Ii("aria-labelledby",i._headerId),zt(4),Jt("cdkPortalOutlet",i._portal))},directives:[np],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[V7.bodyExpansion]},changeDetection:0}),n})();class JAe{}const eMe=E1(JAe);let z7=(()=>{class n extends eMe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=C.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Ki(u=>!(!u.hideToggle&&!u.togglePosition))):Qc;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=Pn(t.opened,t.closed,c,t._inputChanges.pipe(Ki(u=>!!(u.hideToggle||u.disabled||u.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Ki(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Dl(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(Oe(U7,1),Oe(gn),Oe(vc),Oe(Mr),Oe(j7,8),Oe(Qa,8),yo("tabindex"))},n.\u0275cmp=rn({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&Tn("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(Ii("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),zy("height",i._getHeaderHeight()),ai("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[En],ngContentSelectors:XAe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(Hr(YAe),wt(0,"span",0),oi(1),oi(2,1),oi(3,2),Et(),wi(4,qAe,1,1,"span",1)),2&t&&(zt(4),Jt("ngIf",i._showToggle()))},directives:[ac],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[V7.indicatorRotate]},changeDetection:0}),n})();var H7=et(5478);Object.create(Error.prototype);const sMe=["*"];var B1=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(B1||(B1={})),B1))();class aMe{}const $7=new Ht("SECURITY_CONTEXT");let qP=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new H7.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=H7.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(be(i=>this.handleExtension(t,i)))}highlight(t){if(Af(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Af(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Af(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Af(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(ke(Xc),ke($7),ke(_u,8),ke(aMe,8),ke(Mf))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),W7=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new ln,this.load=new ln,this.ready=new ln,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,B1.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;sF(i)?t(...i):t(i))):new P(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Q(e))return()=>e(r,s)})}function YP(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new pMe(n,t))}}class pMe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new gMe(e,this.observables,this.project))}}class gMe extends t6{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class mMe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new _Me(e,this.accumulator,this.seed,this.hasSeed))}}class _Me extends v{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class vMe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new wMe(e,this.predicate))}}class wMe extends v{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const EMe=["youtubeContainer"];let K7=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new se,this._destroyed=new se,this._playerChanges=new Fr(void 0),this._videoId=new Fr(void 0),this._height=new Fr(390),this._width=new Fr(640),this._startSeconds=new Fr(void 0),this._endSeconds=new Fr(void 0),this._suggestedQuality=new Fr(void 0),this._playerVars=new Fr(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Af(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=sn(!0);if(!window.YT||!window.YT.Player){const r=new se;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(qr(1),Oo(!1))}const i=function(n,e,t,i,r,s,o){const a=yc([e,s]).pipe(YP(yc([i,r])),be(([l,c])=>{const[u,h]=l,[f,g]=c;return u?{videoId:u,playerVars:h,width:f,height:g}:void 0}));return yc([n,a,sn(o)]).pipe(function(n){return $(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&F(n[0])&&(n=n[0].slice()),t=>t.lift.call(Ye([t,...n]),new r6(e))}(n),function(n){return e=>e.lift(new vMe(n))}(([e,t])=>!t),be(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new mMe(n,e,t))}}(MMe,void 0),ld())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(cr(r=>{this._playerChanges.next(r)}),H(e=>e?Q7(e)?sn(e):new P(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{Q7(r)||r.destroy()})(e)}}).pipe(qr(1),Oo(void 0)):sn(void 0)),gr(this._destroyed),xa(new se));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){yc([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){yc([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=yc([t,i]).pipe(be(([u,h])=>({startSeconds:u,endSeconds:h}))),a=o.pipe(KP(n,u=>!!u&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(u))),l=e.pipe(KP(n,(u,h)=>!!u&&u.videoId!==h));Pn(n.pipe(KP(yc([e,o]),([u,h],f)=>!(!f||u==f.videoId&&!h.startSeconds&&!h.endSeconds))),l,a).pipe(YP(yc([n,e,o,r])),be(([u,h])=>h),gr(s)).subscribe(([u,h,f,g])=>{!h||!u||(u.videoId=h,u.cueVideoById(Object.assign({videoId:h,suggestedQuality:g},f)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(is(i=>i?q7(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):sn()),i=>new P(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),gr(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn),Oe(Xc))},n.\u0275cmp=rn({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&hr(EMe,5),2&t){let r;Gn(r=$n())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&ni(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function MMe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function Q7(n){return"getPlayerStatus"in n}function KP(n,e){return $(YP(n),Ki(([t,i])=>e(i,t)),be(([t])=>t))}let BMe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Pt({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function Fb(n){return!0===n}function Za(n){return null==n}function Ja(n){return!Za(n)}function QP(n){return Boolean(n)}function t9(n){return Za(n)?n:JSON.parse(JSON.stringify(n))}const j1=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&j1(n[o])}),n};function n9(n){return Ja(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const s9="NGXS_DATA_META",JP="NGXS_META",o9="NGXS_ARGUMENT_REGISTRY_META";let a9=(()=>{class n{constructor(t){this.sequence$=new Fr(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(ke(hu,8))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();function Lb(n){return n[s9]}let el=(()=>{class n{constructor(t,i,r){n.store=t.get(hu),n.ngZone=t.get(pn),n.factory=i,n.context=r,n.computed=t.get(a9)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(ke(Hn),ke(o6),ke(s6))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class hs{constructor(){hs.statesCachedMeta.clear()}static createStateContext(e){return el.context.createStateContext(e)}static ensureMappedState(e){if(Za(el.factory)||Za(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(Ja(e.name)?hs.statesCachedMeta.get(e.name):null)||hs.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=Lb(hs.getStateClassByInstance(e)))&&void 0!==t?t:null;if(Za(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=hs.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=hs.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=Ja(e.name)?null===(t=el.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return Ja(i)&&Ja(e.name)&&hs.statesCachedMeta.set(e.name,i),i}}hs.statesCachedMeta=new Map,hs.\u0275fac=function(e){return new(e||hs)},hs.\u0275prov=tt({token:hs,factory:hs.\u0275fac}),new Df(1);class sDe extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${Ja(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function l9(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function c9(n){var e;const t=l9(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=t9(void 0===t.defaults?{}:t.defaults);if(i.length){if(n9(s))return function(n,e){return e.reduce((t,i)=>{const r=l9(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=c9(i),t},null!=n?n:{})}(s,i);throw new sDe(s)}return s}function d9(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function h9(){var n,e;return null!==(e=null===(n=null==el?void 0:el.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function cDe(n){let e=!1;return Im(n)&&(e=!0),e}function e2(n){return n[o9]}class uDe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class dDe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(QP(this.argumentMap.has(e))||QP(this.payloadMap.has(e)))throw new uDe(e,t)}}function _De(n){return{enumerable:!0,configurable:!0,get(){const e=Lb(n),t=hs.ensureMappedState(e.stateMeta);return hs.createStateContext(t)}}}function f9(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(n9(i))for(;null!==i;){if(Fb(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return Za(d9(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),d9(n)}(this),o=null==s?void 0:s.get(i);if(Fb(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(Za(o)||o.sequenceId!==h9()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:h9(),isObservable:cDe(l)}),l}return o.value},t}}const xDe={cancelUncompleted:!0,insideZone:!1};function t2(n=xDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=hs.getRepositoryByInstance(a),u=c.operations;let h=u[s];const f=c.stateMeta,g=e2(r);if(Za(h)){const k=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),oe=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var k;return Fb(n.insideZone)?null===(k=el.ngZone)||void 0===k||k.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),Im(l)?sn(null).pipe(be(()=>l)):l};const I=hs.createAction(h,o,g),G=el.store.dispatch(I);return Im(l)?function(n,e){return fb([n,e]).pipe(be(t=>t.pop()))}(G,l):l},i}}function p9(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return Za(e2(t))&&Object.defineProperties(t,{[o9]:{enumerable:!0,configurable:!0,value:new dDe}}),e2(t)})(e,t).createPayloadType(r,t,i)}}function CDe(){return n=>{const e=function(n){if(function(n){return!QP(n)}(n.hasOwnProperty(JP))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,JP,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[JP]}(n)}(n);if(Za(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=Lb(n))&&void 0!==e?e:null;return(Za(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,s9,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),Lb(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>t9(t)},context:_De(n)})}(n,e,c9(n)),function(n){var e,t;const i=Lb(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(Ja(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(Ja(this[s]))return this[s];if(Za(el.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=el.store.select(n).pipe(be(o=>fa()?j1(o):o),Wa({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}let ADe=(()=>{class n{constructor(){this.browserStorageEvents$=new se,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),MDe=(()=>{class n extends ADe{get snapshot(){return function(n){return fa()?j1(n):n}(this.getState())}get ctx(){return function(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>fa()?j1(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=tt({token:n,factory:n.\u0275fac}),Ei([f9(),uc("design:type",Object),uc("design:paramtypes",[])],n.prototype,"snapshot",null),Ei([t2(),wV(0,p9("patchValue")),uc("design:type",Function),uc("design:paramtypes",[Object]),uc("design:returntype",void 0)],n.prototype,"patchState",null),Ei([t2(),wV(0,p9("stateValue")),uc("design:type",Function),uc("design:paramtypes",[Object]),uc("design:returntype",void 0)],n.prototype,"setState",null),Ei([t2(),uc("design:type",Function),uc("design:paramtypes",[]),uc("design:returntype",void 0)],n.prototype,"reset",null),n})(),gW=(()=>{class n{constructor(){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Pt({type:n,selectors:[["","gaEvent","","gaCategory",""],["","gaCategory",""]],inputs:{gaCategory:"gaCategory"},exportAs:["gaCategory"]}),n})();const zm=new Ht("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),C2=new Ht("ngx-window",{providedIn:"root",factory:()=>function(n){return Af(n)?window:null}(Bc(Xc))}),jOe=new Ht("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Bc(C2))}),T2=new Ht("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Bc(C2),Bc(jOe))});let qb=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||fa())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(ke(zm),ke(fn),ke(T2))},n.\u0275prov=tt({factory:function(){return new n(ke(zm),ke(fn),ke(T2))},token:n,providedIn:"root"}),n})(),mW=(()=>{class n{constructor(t,i,r,s){this.gaCategoryDirective=t,this.gaService=i,this.settings=r,this.el=s,this.gaBind="click"}set gaBind(t){this.bindSubscription&&this.bindSubscription.unsubscribe(),this._gaBind=t,this.bindSubscription=gd(this.el.nativeElement,t).subscribe(()=>this.trigger())}get gaBind(){return this._gaBind}ngOnDestroy(){this.bindSubscription&&this.bindSubscription.unsubscribe()}trigger(){try{if(!this.gaAction&&!this.gaEvent)throw new Error("You must provide a gaAction attribute to identify this event.");this.gaService.event(this.gaAction||this.gaEvent,this.gaCategoryDirective?this.gaCategoryDirective.gaCategory:void 0,this.gaLabel||this.label,this.gaValue,this.gaInteraction)}catch(t){this.throw(t)}}throw(t){(fa()||this.settings.enableTracing)&&console&&console.warn&&console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(gW,8),Oe(qb),Oe(zm),Oe(gn))},n.\u0275dir=Pt({type:n,selectors:[["","gaEvent",""]],inputs:{gaBind:"gaBind",gaAction:"gaAction",gaLabel:"gaLabel",label:"label",gaValue:"gaValue",gaInteraction:"gaInteraction",gaEvent:"gaEvent"},exportAs:["gaEvent"]}),n})();const zOe={provide:Ef,multi:!0,useFactory:function(n,e,t){return()=>Bi(this,void 0,void 0,function*(){var i;if(!n.trackingCode)return void(fa()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(fa()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));t||fa()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),n.uri=n.uri||`https://www.googletagmanager.com/gtag/js?id=${n.trackingCode}`,n.initCommands=null!==(i=null==n?void 0:n.initCommands)&&void 0!==i?i:[],n.initCommands.find(o=>"config"===o.command)||n.initCommands.unshift({command:"config",values:[n.trackingCode]}),n.initCommands.find(o=>"js"===o.command)||n.initCommands.unshift({command:"js",values:[new Date]});for(const o of n.initCommands)e(o.command,...o.values);const r=t.createElement("script");r.async=!0,r.src=n.uri,n.nonce&&r.setAttribute("nonce",n.nonce),t.getElementsByTagName("head")[0].appendChild(r)})},deps:[zm,T2,fn]};new Ht("ngx-google-analytics-routing-settings",{factory:()=>({})});let rC=(()=>{class n{static forRoot(t,i=[],r,s,o){return{ngModule:n,providers:[{provide:zm,useValue:{trackingCode:t,initCommands:i,uri:r,enableTracing:s,nonce:o}},zOe]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[]]}),n})(),oC=(()=>{class n{constructor(){this.consent="not-set",this.consentChange=new Df(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),tRe=(()=>{class n{constructor(t,i,{trackingCode:r}){this.window=i,this.subscriptions=new C,this.token=r,this.subscriptions.add(t.consentChange.subscribe(s=>this.toggleGoogleAnalytics("rescinded"===s)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return n.\u0275fac=function(t){return new(t||n)(ke(oC),ke(C2),ke(zm))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const nRe=new Ht("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),SW=[oC,tRe,(()=>{class n{constructor(t,i){this.key=i,this.subscriptions=new C;try{this.storage=localStorage}catch(r){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(r=>this.saveConsent(r)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,i;const r=null===(i=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===i?void 0:i.call(t,this.key);if(null==r)return"not-set";const s=r.trim().toLowerCase();switch(s){case"given":case"rescinded":return s;default:return"not-set"}}saveConsent(t){var i,r;null===(r=null===(i=this.storage)||void 0===i?void 0:i.setItem)||void 0===r||r.call(i,this.key,t)}}return n.\u0275fac=function(t){return new(t||n)(ke(oC),ke(nRe))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})()];function rRe(n){return Object.entries(n).reduce((e,[t,i])=>(null!=i&&(e[t]=`${i}`),e),{})}let oRe=(()=>{class n{static forRoot(t){const{providers:i=[]}=rC.forRoot(t.gaToken,function(n){const{appName:e,projectName:t,developmentMode:i}=n;return[{command:"set",values:[rRe({appName:e,projectName:t,developmentMode:i})]}]}(t));return{ngModule:n,providers:i}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[...SW,{provide:Ef,multi:!0,useFactory:()=>()=>{},deps:SW}],imports:[[rC]]}),n})();const uRe=(n,e)=>JSON.stringify(n)===JSON.stringify(e),dRe=n=>n.map(e=>void 0!==e?JSON.parse(JSON.stringify(e)):e),xc={storageStrategy:class extends class{}{constructor(){super(...arguments),this.cachePairs=[]}add(e,t,i){this.cachePairs.push(e)}addMany(e){this.cachePairs=e}updateAtIndex(e,t){Object.assign(this.cachePairs[e],t)}update(e,t){Object.assign(this.cachePairs[e],t)}getAll(){return this.cachePairs}removeAtIndex(e){this.cachePairs.splice(e,1)}remove(e){this.cachePairs.splice(e,1)}removeAll(){this.cachePairs.length=0}},globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},hRe=new se;function Sc(n={}){return function(e,t,i){const r=n.cacheKey||e.constructor.name+"#"+t,s=i.value;if(i&&i.value){let o=n.storageStrategy?new n.storageStrategy:new xc.storageStrategy;const a=[];n.cacheModifier&&n.cacheModifier.subscribe(u=>o.addMany(u(o.getAll(r,this)),r,this)),Pn(hRe.asObservable(),n.cacheBusterObserver?n.cacheBusterObserver:b0()).subscribe(u=>{o.removeAll(r,this),a.length=0}),n.cacheResolver=n.cacheResolver||xc.cacheResolver||uRe,n.cacheHasher=n.cacheHasher||xc.cacheHasher||dRe,i.value=function(...u){const h=o.getAll(r,this);let f=n.cacheHasher(u),g=h.find(A=>n.cacheResolver(A.parameters,f));const m=a.find(A=>n.cacheResolver(A.parameters,f));if((n.maxAge||xc.maxAge)&&g&&g.created&&((new Date).getTime()-new Date(g.created).getTime()>(n.maxAge||xc.maxAge)?(o.remove?o.remove(h.indexOf(g),g,r,this):o.removeAtIndex(h.indexOf(g),r,this),g=null):(n.slidingExpiration||xc.slidingExpiration)&&(g.created=new Date,o.update?o.update(h.indexOf(g),g,r,this):o.updateAtIndex(h.indexOf(g),g,r,this))),g){const A=sn(g.response);return n.async?A.pipe(function(n,e=qS){const i=function(n){return n instanceof Date&&!isNaN(+n)}(n)?+n-e.now():Math.abs(n);return r=>r.lift(new rTe(i,e))}(0)):A}if(m)return m.response;{const A=s.call(this,...u).pipe(PP(()=>{const I=a.find(G=>n.cacheResolver(G.parameters,f));a.splice(a.indexOf(I),1)}),cr(I=>{(!n.shouldCacheDecider||n.shouldCacheDecider(I))&&((!(n.maxCacheCount||xc.maxCacheCount)||1===(n.maxCacheCount||xc.maxCacheCount)||(n.maxCacheCount||xc.maxCacheCount)&&(n.maxCacheCount||xc.maxCacheCount)xa(()=>s,undefined)(o)}(),Yn());return a.push({parameters:f,response:A,created:new Date}),A}}}return i}}class fRe{encodeKey(e){return encodeURIComponent(e)}encodeValue(e){return encodeURIComponent(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const CW=new Ht("basePath");class Yb{constructor(e={}){this.apiKeys=e.apiKeys,this.username=e.username,this.password=e.password,this.accessToken=e.accessToken,this.basePath=e.basePath,this.withCredentials=e.withCredentials,this.encoder=e.encoder,this.credentials=e.credentials?e.credentials:{}}selectHeaderContentType(e){if(0===e.length)return;const t=e.find(i=>this.isJsonMime(i));return void 0===t?e[0]:t}selectHeaderAccept(e){if(0===e.length)return;const t=e.find(i=>this.isJsonMime(i));return void 0===t?e[0]:t}isJsonMime(e){const t=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==e&&(t.test(e)||"application/json-patch+json"===e.toLowerCase())}lookupCredential(e){const t=this.credentials[e];return"function"==typeof t?t():t}}let TW=(()=>{class n{constructor(t,i,r){this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new mu,this.configuration=new Yb,r&&(this.configuration=r),"string"!=typeof this.configuration.basePath&&("string"!=typeof i&&(i=this.basePath),this.configuration.basePath=i),this.encoder=this.configuration.encoder||new fRe}addToHttpParams(t,i,r){return this.addToHttpParamsRecursive(t,i,r)}addToHttpParamsRecursive(t,i,r){if(null==i)return t;if("object"==typeof i)if(Array.isArray(i))i.forEach(s=>t=this.addToHttpParamsRecursive(t,s,r));else if(i instanceof Date){if(null==r)throw Error("key may not be null if value is Date");t=t.append(r,i.toISOString().substr(0,10))}else Object.keys(i).forEach(s=>t=this.addToHttpParamsRecursive(t,i[s],null!=r?`${r}.${s}`:s));else{if(null==r)throw Error("key may not be null if value is not object or array");t=t.append(r,i)}return t}aggregateResults(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,A=t.spatial,I=t.technologies,G=t.token;let k=new Lr({encoder:this.encoder});null!=o&&(k=this.addToHttpParams(k,o,"age")),null!=a&&(k=this.addToHttpParams(k,a,"age-range")),null!=l&&(k=this.addToHttpParams(k,l,"bmi")),null!=c&&(k=this.addToHttpParams(k,c,"bmi-range")),null!=u&&(k=this.addToHttpParams(k,u,"cache")),h&&h.forEach(qe=>{k=this.addToHttpParams(k,qe,"ontology-terms")}),f&&f.forEach(qe=>{k=this.addToHttpParams(k,qe,"cell-type-terms")}),g&&g.forEach(qe=>{k=this.addToHttpParams(k,qe,"providers")}),null!=m&&(k=this.addToHttpParams(k,m,"sex")),A&&A.forEach(qe=>{k=this.addToHttpParams(k,qe,"spatial")}),I&&I.forEach(qe=>{k=this.addToHttpParams(k,qe,"technologies")}),null!=G&&(k=this.addToHttpParams(k,G,"token"));let oe=this.defaultHeaders,we=s&&s.httpHeaderAccept;void 0===we&&(we=this.configuration.selectHeaderAccept(["application/json"])),void 0!==we&&(oe=oe.set("Accept",we));let Be=s&&s.context;void 0===Be&&(Be=new Zs);let Ue="json";return we&&(Ue=we.startsWith("text")?"text":this.configuration.isJsonMime(we)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/aggregate-results`,{context:Be,params:k,responseType:Ue,withCredentials:this.configuration.withCredentials,headers:oe,observe:i,reportProgress:r})}cellTypeTermOccurences(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,A=t.spatial,I=t.technologies,G=t.token;let k=new Lr({encoder:this.encoder});null!=o&&(k=this.addToHttpParams(k,o,"age")),null!=a&&(k=this.addToHttpParams(k,a,"age-range")),null!=l&&(k=this.addToHttpParams(k,l,"bmi")),null!=c&&(k=this.addToHttpParams(k,c,"bmi-range")),null!=u&&(k=this.addToHttpParams(k,u,"cache")),h&&h.forEach(qe=>{k=this.addToHttpParams(k,qe,"ontology-terms")}),f&&f.forEach(qe=>{k=this.addToHttpParams(k,qe,"cell-type-terms")}),g&&g.forEach(qe=>{k=this.addToHttpParams(k,qe,"providers")}),null!=m&&(k=this.addToHttpParams(k,m,"sex")),A&&A.forEach(qe=>{k=this.addToHttpParams(k,qe,"spatial")}),I&&I.forEach(qe=>{k=this.addToHttpParams(k,qe,"technologies")}),null!=G&&(k=this.addToHttpParams(k,G,"token"));let oe=this.defaultHeaders,we=s&&s.httpHeaderAccept;void 0===we&&(we=this.configuration.selectHeaderAccept(["application/json"])),void 0!==we&&(oe=oe.set("Accept",we));let Be=s&&s.context;void 0===Be&&(Be=new Zs);let Ue="json";return we&&(Ue=we.startsWith("text")?"text":this.configuration.isJsonMime(we)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-term-occurences`,{context:Be,params:k,responseType:Ue,withCredentials:this.configuration.withCredentials,headers:oe,observe:i,reportProgress:r})}cellTypeTreeModel(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-tree-model`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}dbStatus(t,i="body",r=!1,s){const o=t.token;let a=new Lr({encoder:this.encoder});null!=o&&(a=this.addToHttpParams(a,o,"token"));let l=this.defaultHeaders,c=s&&s.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=s&&s.context;void 0===u&&(u=new Zs);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/db-status`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:i,reportProgress:r})}getSpatialPlacement(t,i="body",r=!1,s){const o=t.getSpatialPlacementRequest;if(null==o)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");let a=this.defaultHeaders,l=s&&s.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=s&&s.context;void 0===c&&(c=new Zs);const h=this.configuration.selectHeaderContentType(["application/json"]);void 0!==h&&(a=a.set("Content-Type",h));let f="json";return l&&(f=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/get-spatial-placement`,o,{context:c,responseType:f,withCredentials:this.configuration.withCredentials,headers:a,observe:i,reportProgress:r})}gtexRuiLocations(t,i="body",r=!1,s){const o=t.cache;let a=new Lr({encoder:this.encoder});null!=o&&(a=this.addToHttpParams(a,o,"cache"));let l=this.defaultHeaders,c=s&&s.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=s&&s.context;void 0===u&&(u=new Zs);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/gtex/rui_locations.jsonld`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:i,reportProgress:r})}hubmapRuiLocations(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/hubmap/rui_locations.jsonld`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}ontologyTermOccurences(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,A=t.spatial,I=t.technologies,G=t.token;let k=new Lr({encoder:this.encoder});null!=o&&(k=this.addToHttpParams(k,o,"age")),null!=a&&(k=this.addToHttpParams(k,a,"age-range")),null!=l&&(k=this.addToHttpParams(k,l,"bmi")),null!=c&&(k=this.addToHttpParams(k,c,"bmi-range")),null!=u&&(k=this.addToHttpParams(k,u,"cache")),h&&h.forEach(qe=>{k=this.addToHttpParams(k,qe,"ontology-terms")}),f&&f.forEach(qe=>{k=this.addToHttpParams(k,qe,"cell-type-terms")}),g&&g.forEach(qe=>{k=this.addToHttpParams(k,qe,"providers")}),null!=m&&(k=this.addToHttpParams(k,m,"sex")),A&&A.forEach(qe=>{k=this.addToHttpParams(k,qe,"spatial")}),I&&I.forEach(qe=>{k=this.addToHttpParams(k,qe,"technologies")}),null!=G&&(k=this.addToHttpParams(k,G,"token"));let oe=this.defaultHeaders,we=s&&s.httpHeaderAccept;void 0===we&&(we=this.configuration.selectHeaderAccept(["application/json"])),void 0!==we&&(oe=oe.set("Accept",we));let Be=s&&s.context;void 0===Be&&(Be=new Zs);let Ue="json";return we&&(Ue=we.startsWith("text")?"text":this.configuration.isJsonMime(we)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-term-occurences`,{context:Be,params:k,responseType:Ue,withCredentials:this.configuration.withCredentials,headers:oe,observe:i,reportProgress:r})}ontologyTreeModel(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-tree-model`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}providerNames(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/provider-names`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}referenceOrganScene(t,i="body",r=!1,s){const o=t.organIri;if(null==o)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");const a=t.age,l=t.ageRange,c=t.bmi,u=t.bmiRange,h=t.cache,f=t.ontologyTerms,g=t.cellTypeTerms,m=t.providers,A=t.sex,I=t.spatial,G=t.technologies,k=t.token;let oe=new Lr({encoder:this.encoder});null!=a&&(oe=this.addToHttpParams(oe,a,"age")),null!=l&&(oe=this.addToHttpParams(oe,l,"age-range")),null!=c&&(oe=this.addToHttpParams(oe,c,"bmi")),null!=u&&(oe=this.addToHttpParams(oe,u,"bmi-range")),null!=h&&(oe=this.addToHttpParams(oe,h,"cache")),f&&f.forEach(bt=>{oe=this.addToHttpParams(oe,bt,"ontology-terms")}),g&&g.forEach(bt=>{oe=this.addToHttpParams(oe,bt,"cell-type-terms")}),null!=o&&(oe=this.addToHttpParams(oe,o,"organ-iri")),m&&m.forEach(bt=>{oe=this.addToHttpParams(oe,bt,"providers")}),null!=A&&(oe=this.addToHttpParams(oe,A,"sex")),I&&I.forEach(bt=>{oe=this.addToHttpParams(oe,bt,"spatial")}),G&&G.forEach(bt=>{oe=this.addToHttpParams(oe,bt,"technologies")}),null!=k&&(oe=this.addToHttpParams(oe,k,"token"));let we=this.defaultHeaders,Be=s&&s.httpHeaderAccept;void 0===Be&&(Be=this.configuration.selectHeaderAccept(["application/json"])),void 0!==Be&&(we=we.set("Accept",Be));let Ue=s&&s.context;void 0===Ue&&(Ue=new Zs);let qe="json";return Be&&(qe=Be.startsWith("text")?"text":this.configuration.isJsonMime(Be)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organ-scene`,{context:Ue,params:oe,responseType:qe,withCredentials:this.configuration.withCredentials,headers:we,observe:i,reportProgress:r})}referenceOrgans(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organs`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}scene(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,A=t.spatial,I=t.technologies,G=t.token;let k=new Lr({encoder:this.encoder});null!=o&&(k=this.addToHttpParams(k,o,"age")),null!=a&&(k=this.addToHttpParams(k,a,"age-range")),null!=l&&(k=this.addToHttpParams(k,l,"bmi")),null!=c&&(k=this.addToHttpParams(k,c,"bmi-range")),null!=u&&(k=this.addToHttpParams(k,u,"cache")),h&&h.forEach(qe=>{k=this.addToHttpParams(k,qe,"ontology-terms")}),f&&f.forEach(qe=>{k=this.addToHttpParams(k,qe,"cell-type-terms")}),g&&g.forEach(qe=>{k=this.addToHttpParams(k,qe,"providers")}),null!=m&&(k=this.addToHttpParams(k,m,"sex")),A&&A.forEach(qe=>{k=this.addToHttpParams(k,qe,"spatial")}),I&&I.forEach(qe=>{k=this.addToHttpParams(k,qe,"technologies")}),null!=G&&(k=this.addToHttpParams(k,G,"token"));let oe=this.defaultHeaders,we=s&&s.httpHeaderAccept;void 0===we&&(we=this.configuration.selectHeaderAccept(["application/json"])),void 0!==we&&(oe=oe.set("Accept",we));let Be=s&&s.context;void 0===Be&&(Be=new Zs);let Ue="json";return we&&(Ue=we.startsWith("text")?"text":this.configuration.isJsonMime(we)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/scene`,{context:Be,params:k,responseType:Ue,withCredentials:this.configuration.withCredentials,headers:oe,observe:i,reportProgress:r})}sparql(t,i="body",r=!1,s){const o=t.query;if(null==o)throw new Error("Required parameter query was null or undefined when calling sparql.");const a=t.token,l=t.format;let c=new Lr({encoder:this.encoder});null!=o&&(c=this.addToHttpParams(c,o,"query")),null!=a&&(c=this.addToHttpParams(c,a,"token")),null!=l&&(c=this.addToHttpParams(c,l,"format"));let u=this.defaultHeaders,h=s&&s.httpHeaderAccept;void 0===h&&(h=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==h&&(u=u.set("Accept",h));let f=s&&s.context;void 0===f&&(f=new Zs);let g="json";return h&&(g=h.startsWith("text")?"text":this.configuration.isJsonMime(h)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/sparql`,{context:f,params:c,responseType:g,withCredentials:this.configuration.withCredentials,headers:u,observe:i,reportProgress:r})}sparqlPost(t,i="body",r=!1,s){const o=t.sparqlQueryRequest;if(null==o)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");const a=t.token,l=t.format;let c=new Lr({encoder:this.encoder});null!=a&&(c=this.addToHttpParams(c,a,"token")),null!=l&&(c=this.addToHttpParams(c,l,"format"));let u=this.defaultHeaders,h=s&&s.httpHeaderAccept;void 0===h&&(h=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==h&&(u=u.set("Accept",h));let f=s&&s.context;void 0===f&&(f=new Zs);const m=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==m&&(u=u.set("Content-Type",m));let A="json";return h&&(A=h.startsWith("text")?"text":this.configuration.isJsonMime(h)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/sparql`,o,{context:f,params:c,responseType:A,withCredentials:this.configuration.withCredentials,headers:u,observe:i,reportProgress:r})}technologyNames(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/technology-names`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}tissueBlocks(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,A=t.spatial,I=t.technologies,G=t.token;let k=new Lr({encoder:this.encoder});null!=o&&(k=this.addToHttpParams(k,o,"age")),null!=a&&(k=this.addToHttpParams(k,a,"age-range")),null!=l&&(k=this.addToHttpParams(k,l,"bmi")),null!=c&&(k=this.addToHttpParams(k,c,"bmi-range")),null!=u&&(k=this.addToHttpParams(k,u,"cache")),h&&h.forEach(qe=>{k=this.addToHttpParams(k,qe,"ontology-terms")}),f&&f.forEach(qe=>{k=this.addToHttpParams(k,qe,"cell-type-terms")}),g&&g.forEach(qe=>{k=this.addToHttpParams(k,qe,"providers")}),null!=m&&(k=this.addToHttpParams(k,m,"sex")),A&&A.forEach(qe=>{k=this.addToHttpParams(k,qe,"spatial")}),I&&I.forEach(qe=>{k=this.addToHttpParams(k,qe,"technologies")}),null!=G&&(k=this.addToHttpParams(k,G,"token"));let oe=this.defaultHeaders,we=s&&s.httpHeaderAccept;void 0===we&&(we=this.configuration.selectHeaderAccept(["application/json"])),void 0!==we&&(oe=oe.set("Accept",we));let Be=s&&s.context;void 0===Be&&(Be=new Zs);let Ue="json";return we&&(Ue=we.startsWith("text")?"text":this.configuration.isJsonMime(we)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/tissue-blocks`,{context:Be,params:k,responseType:Ue,withCredentials:this.configuration.withCredentials,headers:oe,observe:i,reportProgress:r})}}return n.\u0275fac=function(t){return new(t||n)(ke(_u),ke(CW,8),ke(Yb,8))},n.\u0275prov=tt({factory:function(){return new n(ke(_u),ke(CW,8),ke(Yb,8))},token:n,providedIn:"root"}),n})(),pRe=(()=>{class n{constructor(t,i){if(t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!i)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}static forRoot(t){return{ngModule:n,providers:[{provide:Yb,useFactory:t}]}}}return n.\u0275fac=function(t){return new(t||n)(ke(n,12),ke(_u,8))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[],imports:[[]]}),n})();function vu(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}let M2;function Cc(){return M2||(M2=function(n,e){const t=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let e;return new Promise(t=>{const i=()=>indexedDB.databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}().then(()=>{const i=indexedDB.open("keyval-store");return i.onupgradeneeded=()=>i.result.createObjectStore(e),vu(i)});return(i,r)=>t.then(s=>r(s.transaction(e,i).objectStore(e)))}(0,"keyval")),M2}function AW(n,e=Cc()){return e("readonly",t=>vu(t.get(n)))}var vRe=et(8104),wRe=et.n(vRe),Un=et(1440);const aC="Unknown Euler angle order",Hm=.99999;class Zi extends mx{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return Zi.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(e){return Zi.RotationOrders[e]}get ELEMENTS(){return 4}constructor(e=0,t=0,i=0,r=Zi.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(e,t,i,r)}fromQuaternion(e){const[t,i,r,s]=e,o=i*i,a=-2*(o+r*r)+1,l=2*(t*i+s*r);let c=-2*(t*r-s*i);c=c>1?1:c,c=c<-1?-1:c;const f=Math.atan2(2*(i*r+s*t),-2*(t*t+o)+1),g=Math.asin(c),m=Math.atan2(l,a);return new Zi(f,g,m,Zi.RollPitchYaw)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}set(e=0,t=0,i=0,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=Number.isFinite(r)?r:this[3],this.check()}validate(){return function(n){return n>=0&&n<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}toArray4(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}toVector3(e=[-0,-0,-0]){return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}get x(){return this[0]}set x(e){this[0]=nr(e)}get y(){return this[1]}set y(e){this[1]=nr(e)}get z(){return this[2]}set z(e){this[2]=nr(e)}get alpha(){return this[0]}set alpha(e){this[0]=nr(e)}get beta(){return this[1]}set beta(e){this[1]=nr(e)}get gamma(){return this[2]}set gamma(e){this[2]=nr(e)}get phi(){return this[0]}set phi(e){this[0]=nr(e)}get theta(){return this[1]}set theta(e){this[1]=nr(e)}get psi(){return this[2]}set psi(e){this[2]=nr(e)}get roll(){return this[0]}set roll(e){this[0]=nr(e)}get pitch(){return this[1]}set pitch(e){this[1]=nr(e)}get yaw(){return this[2]}set yaw(e){this[2]=nr(e)}get order(){return this[3]}set order(e){this[3]=function(n){if(n<0&&n>=6)throw new Error(aC);return n}(e)}fromVector3(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}fromArray(e,t=0){return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}fromRollPitchYaw(e,t,i){return this.set(e,t,i,Zi.ZYX)}fromRotationMatrix(e,t=Zi.DefaultOrder){return this._fromRotationMatrix(e,t),this.check()}getRotationMatrix(e){return this._getRotationMatrix(e)}getQuaternion(){const e=new mR;switch(this[4]){case Zi.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case Zi.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case Zi.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case Zi.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case Zi.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case Zi.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(aC)}}_fromRotationMatrix(e,t=Zi.DefaultOrder){const i=e.elements,r=i[0],s=i[4],o=i[8],a=i[1],l=i[5],c=i[9],u=i[2],h=i[6],f=i[10];switch(t=t||this[3]){case Zi.XYZ:this[1]=Math.asin(Ua(o,-1,1)),Math.abs(o)1&&void 0!==arguments[1]?arguments[1]:0,t=(co[n[e+0]]+co[n[e+1]]+co[n[e+2]]+co[n[e+3]]+"-"+co[n[e+4]]+co[n[e+5]]+"-"+co[n[e+6]]+co[n[e+7]]+"-"+co[n[e+8]]+co[n[e+9]]+"-"+co[n[e+10]]+co[n[e+11]]+co[n[e+12]]+co[n[e+13]]+co[n[e+14]]+co[n[e+15]]).toLowerCase();if(!ORe(t))throw TypeError("Stringified UUID is invalid");return t}(i)};var cC=et(1609);const Gm=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Rr=(Math,Math,{});function VRe(n,{precision:e=Rr.precision||4}={}){return n=function(n){return Math.round(n/Rr.EPSILON)*Rr.EPSILON}(n),"".concat(parseFloat(n.toPrecision(e)))}function Mh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Xb(n,e,t){const i=Rr.EPSILON;t&&(Rr.EPSILON=t);try{if(n===e)return!0;if(Mh(n)&&Mh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+VRe(this[i],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e=a+s)return this.clone();if(s>=a+i)return e.clone();const l=.5*(i+a+s);return NW.copy(o).scale((-i+l)/a).add(t),this.center.copy(NW),this.radius=l,this}expand(e){const t=(e=Kb.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}transform(e){this.center.transform(e);const t=function(n,e){var s=e[4],o=e[5],a=e[6],l=e[8],c=e[9],u=e[10];return n[0]=Math.hypot(e[0],e[1],e[2]),n[1]=Math.hypot(s,o,a),n[2]=Math.hypot(l,c,u),n}(Kb,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const t=(e=Kb.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}intersectPlane(e){const i=this.radius,s=e.normal.dot(this.center)+e.distance;return s<-i?Gm.OUTSIDE:s0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return s5(this,this,e),this.check()}rotateY(e){return o5(this,this,e),this.check()}rotateZ(e){return a5(this,this,e),this.check()}scale(e){return pR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=tNe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return nb(this,e,t,i),this.check()}transformVector4(e,t=e){return OU(t,e,this),MW(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const nNe=new Nn,iNe=new Nn,uC=new Nn,dC=new Nn,hC=new Nn,rNe=new Nn,sNe=new Nn;class k2{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=(new Nn).from(e),this.halfAxes=new Zo(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2);return[new Nn(e).len(),new Nn(t).len(),new Nn(i).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2),r=new Nn(e).normalize(),s=new Nn(t).normalize(),o=new Nn(i).normalize();return(new kW).fromMatrix3(new Zo([...r,...s,...o]))}fromCenterHalfSizeQuaternion(e,t,i){const r=new kW(i),s=(new Zo).fromQuaternion(r);return s[0]=s[0]*t[0],s[1]=s[1]*t[0],s[2]=s[2]*t[0],s[3]=s[3]*t[1],s[4]=s[4]*t[1],s[5]=s[5]*t[1],s[6]=s[6]*t[2],s[7]=s[7]*t[2],s[8]=s[8]*t[2],this.center=(new Nn).from(e),this.halfAxes=s,this}clone(){return new k2(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new P2){const t=this.halfAxes,i=t.getColumn(0,uC),r=t.getColumn(1,dC),s=t.getColumn(2,hC),o=nNe.copy(i).add(r).add(s);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){const t=this.center,i=e.normal,r=this.halfAxes,s=i.x,o=i.y,a=i.z,l=Math.abs(s*r[0]+o*r[1]+a*r[2])+Math.abs(s*r[3]+o*r[4]+a*r[5])+Math.abs(s*r[6]+o*r[7]+a*r[8]),c=i.dot(t)+e.distance;return c<=-l?Gm.OUTSIDE:c>=l?Gm.INSIDE:Gm.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=iNe.from(e).subtract(this.center),i=this.halfAxes,r=i.getColumn(0,uC),s=i.getColumn(1,dC),o=i.getColumn(2,hC),a=r.magnitude(),l=s.magnitude(),c=o.magnitude();r.normalize(),s.normalize(),o.normalize();let h,u=0;return h=Math.abs(t.dot(r))-a,h>0&&(u+=h*h),h=Math.abs(t.dot(s))-l,h>0&&(u+=h*h),h=Math.abs(t.dot(o))-c,h>0&&(u+=h*h),u}computePlaneDistances(e,t,i=[-0,-0]){let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const o=this.center,a=this.halfAxes,l=a.getColumn(0,uC),c=a.getColumn(1,dC),u=a.getColumn(2,hC),h=rNe.copy(l).add(c).add(u).add(o),f=sNe.copy(h).subtract(e);let g=t.dot(f);return r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).add(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),i[0]=r,i[1]=s,i}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,uC);t.transformAsPoint(e);const i=this.halfAxes.getColumn(1,dC);i.transformAsPoint(e);const r=this.halfAxes.getColumn(2,hC);return r.transformAsPoint(e),this.halfAxes=new Zo([...t,...i,...r]),this}getTransform(){throw new Error("not implemented")}}const FW=new Nn,LW=new Nn;class F2{constructor(e=[0,0,1],t=0){this.normal=new Nn,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return Tc(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=FW.from(e),this.normal.from(t).normalize();const i=-this.normal.dot(e);return this.distance=i,this}fromCoefficients(e,t,i,r){return this.normal.set(e,t,i),Tc(Xb(this.normal.len(),1)),this.distance=r,this}clone(e){return new F2(this.normal,this.distance)}equals(e){return Xb(this.distance,e.distance)&&Xb(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=LW.copy(this.normal).transformAsVector(e).normalize(),i=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(i,t)}projectPointOntoPlane(e,t=[0,0,0]){e=FW.from(e);const i=this.getPointDistance(e),r=LW.copy(this.normal).scale(i);return e.subtract(r).to(t)}}function*z2(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,Un.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,cC.fromRdf)(s.object):s.object.id;yield[r,o]}}function dp(n,e,t,i){const r={"@id":e,"@type":t};for(const[s,o]of Object.entries(i))for(const a of(0,Un.readQuads)(n,r["@id"],s,null,null)){const l="Literal"===a.object.termType?(0,cC.fromRdf)(a.object):a.object.id;r[o]=l}return r}new Nn([1,0,0]),new Nn([0,1,0]),new Nn([0,0,1]),new Nn,new Nn,new F2(new Nn(1,0,0),0),new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,Math,new Zo,new Zo,new Zo,new Zo,new Zo,new Nn,new Nn,new Nn,new Nn,new Nn,new Zo,new Zo,new Zo;const ir=Un.Util.prefixes({base:"http://purl.org/ccf/latest/ccf.owl#",ccf:"http://purl.org/ccf/",fma:"http://purl.org/sig/ont/fma/fma",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/"},Un.DataFactory),UW={x:ir("rdf"),type:ir("rdf")("type")},dn=(ir("rdfs"),ir("rdfs")("label"),ir("rdfs")("comment"),ir("rdfs")("isDefinedBy"),ir("rdfs")("seeAlso"),ir("ccf")),vi={id:ir("ccf")("has_registration_location"),label:ir("rdfs")("label"),description:ir("rdfs")("comment"),link:dn("url"),sex:dn("sex"),age:dn("age"),bmi:dn("bmi"),Male:Un.DataFactory.literal("Male"),Female:Un.DataFactory.literal("Female"),consortiumName:dn("consortium_name"),providerName:dn("tissue_provider_name"),providerUUID:dn("tissue_provider_uuid"),donor:dn("comes_from"),sections:dn("subdivided_into_sections"),datasets:dn("generates_dataset"),sampleType:dn("sample_type"),TissueBlock:Un.DataFactory.literal("Tissue Block"),TissueSection:Un.DataFactory.literal("Tissue Section"),NonStandard:Un.DataFactory.literal("Non-standard"),sectionCount:dn("section_count"),sectionSize:dn("section_size"),sectionUnits:dn("section_size_unit"),sectionNumber:dn("section_number"),spatialEntity:dn("has_registration_location"),ontologyTerms:dn("has_ontology_term"),cellTypeTerms:dn("has_cell_type_term"),technology:dn("technology"),thumbnail:dn("thumbnail")},ki={x:dn,base:ir("base"),ontologyNode:{label:dn("ccf_pref_label"),parent:dn("ccf_part_of"),children:dn("ccf_part_of"),rui_rank:dn("rui_rank"),synonymLabels:Un.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:dn("ccf_part_of"),ct_is_a:dn("ccf_ct_isa"),located_in:dn("ccf_located_in"),characterizes:dn("ccf_characterizes")},spatial:{Female:ir("base")("VHFemale"),Male:ir("base")("VHMale"),BothSexes:ir("base")("VHBothSexes"),FemaleOrgans:ir("base")("VHFemaleOrgans"),MaleOrgans:ir("base")("VHMaleOrgans")},SpatialObjectReference:dn("spatial_object_reference"),SpatialEntity:dn("spatial_entity"),SpatialPlacement:dn("spatial_placement"),spatialObjectReference:{file:dn("file_url"),file_format:dn("file_format"),file_subpath:dn("file_subpath")},extractionSet:{label:ir("rdfs")("label"),rui_rank:dn("rui_rank")},spatialEntity:{label:ir("rdfs")("label"),description:ir("rdfs")("comment"),creator:ir("dcterms")("creator"),creator_first_name:dn("creator_first_name"),creator_last_name:dn("creator_last_name"),creator_orcid:dn("creator_orcid"),creation_date:ir("dcterms")("created"),updated_date:dn("updated_date"),ccf_annotations:dn("collides_with"),representation_of:dn("representation_of"),reference_organ:dn("has_reference_organ"),extraction_set_for:dn("extraction_set_for"),extraction_set:dn("has_extraction_set"),sex:dn("organ_owner_sex"),side:dn("organ_side"),rui_rank:dn("rui_rank"),slice_thickness:dn("slice_thickness"),slice_count:dn("slice_count"),x_dimension:dn("x_dimension"),y_dimension:dn("y_dimension"),z_dimension:dn("z_dimension"),dimension_units:dn("dimension_unit"),object:dn("has_object_reference")},spatialPlacement:{source:dn("placement_for"),target:dn("placement_relative_to"),placement_date:ir("dcterms")("created"),x_scaling:dn("x_scaling"),y_scaling:dn("y_scaling"),z_scaling:dn("z_scaling"),scaling_units:dn("scaling_unit"),x_rotation:dn("x_rotation"),y_rotation:dn("y_rotation"),z_rotation:dn("z_rotation"),w_rotation:dn("theta_rotation"),rotation_order:dn("rotation_order"),rotation_units:dn("rotation_unit"),x_translation:dn("x_translation"),y_translation:dn("y_translation"),z_translation:dn("z_translation"),translation_units:dn("translation_unit")}},di={x:ir("uberon"),body:ir("uberon")("0013702")},FNe={x:ir("cl"),cell:ir("cl")("0000000")},Zb={x:ir("fma")},vd=(ir("lmha"),{body:di.body,cell:FNe.cell,respiratory_system:di.x("0001004"),colon:di.x("0001155"),left_lung:di.x("0002168"),right_lung:di.x("0002167"),left_bronchus:di.x("0002178"),right_bronchus:di.x("0002177"),kidney:di.x("0002113"),ureter:di.x("0000056"),eye:di.x("0000970"),fallopian_tube:di.x("0003889"),knee:di.x("0001465"),ovary:di.x("0000992"),trachea:di.x("0003126"),aorta:di.x("0000947"),blood:di.x("0000178"),bone_marrow:di.x("0002371"),male_reproductive_system:di.x("0000079"),lymph_node:di.x("0000029"),blood_vasculature:di.x("0004537"),brain:di.x("0000955"),eye_left:di.x("0004548"),eye_right:Zb.x("54449"),fallopian_tube_left:di.x("0001303"),fallopian_tube_right:di.x("0001302"),heart:di.x("0000948"),kidney_left:di.x("0004538"),kidney_right:di.x("0004539"),knee_left:Zb.x("24978"),knee_right:Zb.x("24977"),large_intestine:di.x("0000059"),liver:di.x("0002107"),lungs:di.x("0002048"),mesenteric_lymph_node:di.x("0002509"),ovary_left:Zb.x("7214"),ovary_right:Zb.x("7213"),pancreas:di.x("0001264"),pelvis:di.x("0001270"),prostate_gland:di.x("0002367"),skin:di.x("0002097"),small_intestine:di.x("0002108"),spleen:di.x("0002106"),thymus:di.x("0002370"),ureter_left:di.x("0001223"),ureter_right:di.x("0001222"),urinary_bladder:di.x("0001255"),uterus:di.x("0000995")});function H2(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}const pC={spatialObjectReference:H2(ki.spatialObjectReference),spatialEntity:H2(ki.spatialEntity),spatialPlacement:H2(ki.spatialPlacement)};function zW(n,e){const t=dp(n,e,"ExtractionSet",pC.spatialEntity);return t.extractionSites=(0,mr.sortBy)(n.getSubjects(ki.spatialEntity.extraction_set,e,null).map(i=>hp(n,i.id)),["rui_rank"]),t}function hp(n,e){const t=dp(n,e,"SpatialEntity",pC.spatialEntity);return t.object&&(t.object=function(n,e){return dp(n,e,"SpatialObjectReference",pC.spatialObjectReference)}(n,t.object)),t.ccf_annotations&&(t.ccf_annotations=n.getObjects(e,ki.spatialEntity.ccf_annotations,null).map(i=>i.id)),n.forSubjects(i=>t.entityId=i.id,vi.spatialEntity,e,null),t}function UNe(n,e){const t=dp(n,e,"SpatialPlacement",pC.spatialPlacement);return t.source&&(t.source=hp(n,t.source)),t.target&&(t.target=hp(n,t.target)),t}function HW(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(_j),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}class GW{constructor(e){this.db=e,this.createGraph()}createGraph(){this.graph=new SRe.DirectedGraph;const e=this.db.store;e.forSubjects(i=>{this.addNode(i.id,"SpatialObjectReference")},UW.type,ki.SpatialObjectReference,null),e.forSubjects(i=>{this.addNode(i.id,"SpatialEntity")},UW.type,ki.SpatialEntity,null);const t={};for(const i of(0,Un.readQuads)(e,null,ki.spatialPlacement.source,null,null))t[i.subject.id]=i.object.id;for(const i of(0,Un.readQuads)(e,null,ki.spatialPlacement.target,null,null)){const r=t[i.subject.id];r&&this.addEdge(i.subject.id,r,i.object.id,"SpatialPlacement")}}addNode(e,t){this.graph.mergeNode(e,{type:t})}addEdge(e,t,i,r){this.graph.mergeDirectedEdge(t,i,{type:r,id:e})}getTransformationMatrix(e,t){if(e===t)return new qn(qn.IDENTITY);if(!this.graph.hasNode(e)||!this.graph.hasNode(t))return;const i=this.db.store,r=new qn(qn.IDENTITY),s=TRe()(this.graph,e,t);if(s&&s.length>0){s.reverse();let o="";for(const a of s)o&&HW(r,UNe(i,this.graph.getEdgeAttribute(a,o,"id"))),o=a;return r}}getSpatialPlacement(e,t){const i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,mr.get)(e,"placement[0]",(0,mr.get)(e,"placement",void 0));let s;if(r&&this.graph.hasNode(r.target)?(s=this.getTransformationMatrix(r.target,t),s&&(s=HW(s,r))):i&&(s=this.getTransformationMatrix(i,t)),s){const o=(new Zi).fromRotationMatrix(s,Zi.XYZ),a=s.getTranslation().map(u=>1e3*u),l=o.toVector3().map(dse),c=s.getScale().map(u=>u<1&&u>.999999?1:u);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${kRe()}_placement`,"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:c[0],y_scaling:c[1],z_scaling:c[2],scaling_units:"ratio",x_rotation:l[0],y_rotation:l[1],z_rotation:l[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}class $W{constructor(e){this.db=e}getSpatialEntity(e){return hp(this.db.store,e)}getExtractionSets(e){return function(n,e){return(0,mr.sortBy)(n.getSubjects(ki.spatialEntity.extraction_set_for,e,null).map(t=>zW(n,t.id)),["rui_rank"])}(this.db.store,e)}getExtractionSet(e){return zW(this.db.store,e)}getAnatomicalStructures(e){return function(n,e){return(0,mr.sortBy)(n.getSubjects(ki.spatialEntity.reference_organ,e,null).map(t=>hp(n,t.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,e)}getReferenceOrgans(){return function(n){const e=[];return n.forEach(t=>{t.subject.id===t.object.id&&e.push(hp(n,t.subject.id))},null,ki.spatialEntity.reference_organ,null,null),(0,mr.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(e){let t;switch(null==e?void 0:e.sex){case"Male":t=ki.spatial.Male.id;break;case"Female":t=ki.spatial.Female.id;break;case"Both":default:t=ki.spatial.BothSexes.id}return this.getSpatialEntity(t)}getReferenceOrganSets(e){let t=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":t=t.filter(i=>"Male"===i.sex);break;case"Female":t=t.filter(i=>"Female"===i.sex)}return(null==e?void 0:e.debug)&&(t=t.map(i=>[[i],this.getAnatomicalStructures(i["@id"])]).reduce((i,[r,s])=>i.concat(s.length>0?s:r),[])),t}getReferenceSceneNodes(e){const t=this.getReferenceBody(e),i=[];let r=[...this.getReferenceOrganSets(e).map(s=>{const o="http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of,a=this.getSceneNode(s,t,{color:[255,255,255,255],opacity:o?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!o});return o&&a?void i.push(a):a})];return i.length>0&&(r=[...i,...r]),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(ki.base("VHRightKidney").id),t,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHLeftKidney").id),t,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC1").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC2").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC3").id),t,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(s=>void 0!==s)}getReferenceOrganScene(e,t){var i,r;const s=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(i=null==t?void 0:t.sex)||void 0===i?void 0:i.toLowerCase()),o=this.getReferenceOrgans().filter(a=>a.representation_of===e&&(!s||a.sex===(null==t?void 0:t.sex)));if(o.length>0){const a=o[0],c=this.getSceneNode(a,a,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===a.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),u=(null!==(r=this.db.getSpatialEntities(t))&&void 0!==r?r:[]).map(h=>this.getSceneNode(h,a,{color:[255,255,255,229.5]}));return[c].concat(u).filter(h=>void 0!==h)}return[]}getEntitySceneNodes(e){const t=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(i=>this.getSceneNode(i,t,{color:[255,255,255,229.5]})).filter(i=>void 0!==i)}getSceneNode(e,t,i={}){var r,s,o,a;const l=null===(s=null===(r=null==e?void 0:e.object)||void 0===r?void 0:r.file_format)||void 0===s?void 0:s.startsWith("model/gltf");let u=this.db.graph.getTransformationMatrix(l&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(l)u=new qn(qn.IDENTITY).rotateX(_j(90)).multiplyLeft(u);else{let h;switch(e.dimension_units){case"centimeter":h=.01;break;case"millimeter":h=.001;break;case"meter":default:h=1}const f=[e.x_dimension,e.y_dimension,e.z_dimension].map(g=>g*h/2);u.scale(f)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:l?null===(o=e.object)||void 0===o?void 0:o.file:void 0,scenegraphNode:l?null===(a=e.object)||void 0===a?void 0:a.file_subpath:void 0,transformMatrix:u,tooltip:e.label},i)}}getScene(e){return[...this.getReferenceSceneNodes(e),...this.getEntitySceneNodes(e)]}}const gC="https://entity.api.hubmapconsortium.org/entities/",WW=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),HNe={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},qm={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},qW="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld";class WNe{constructor(e,t="",i="",r){var s,o;if(this.data=e,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const c=this.data.descendants||[],u=(this.data.ancestors||[]).find(Ue=>"Donor"===Ue.entity_type);this.donor=this.getDonor(u,i);const h=this.getRuiLocation(e,this.donor);h?this.rui_location=h:this.bad=!0,qm[e.group_uuid]||(qm[e.group_uuid]=e.group_name);const f=new Date(e.last_modified_timestamp).toLocaleDateString(),g=qm[e.group_uuid]||e.group_name,m=e.created_by_user_displayname;this["@id"]=gC+e.uuid,this.label=`Registered ${f}, ${m}, ${g}`,this.link=`${i}browse/sample/${e.uuid}`;const A={},I=[];this.sections=I;const G=[];this.datasets=G;for(const Ue of c.filter(qe=>"Sample"===qe.entity_type)){const qe=this.getSection(Ue,e,i);A[Ue.submission_id]=qe,I.push(qe),qe.section_number=null!==(s=qe.section_number)&&void 0!==s?s:I.length}for(const Ue of c)if("Dataset"===Ue.entity_type){const qe=this.getDataset(Ue,t,i,r),bt=(0,mr.get)(Ue,["ingest_metadata","metadata","tissue_id"]);A[bt]?null===(o=A[bt].datasets)||void 0===o||o.push(qe):G.push(qe)}const k=null!=h?h:{},oe=`${k.x_dimension} x ${k.y_dimension} x ${k.z_dimension} ${k.dimension_units}`;this.section_count=k.slice_count||I.length;const we=parseFloat((k.slice_thickness||(k.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=we;const Be=k.dimension_units||"millimeter";this.section_units=Be,this.description=`${oe}, ${we} ${Be}, ${this.section_count} Sections`,I.forEach((Ue,qe)=>{Ue.description=`${k.x_dimension} x ${k.y_dimension} x ${we} ${Be}, ${we} ${Be}, ${Ue.description}`,Ue.section_number=qe+1})}getSection(e,t,i){const r=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":gC+e.uuid,"@type":"Sample",label:`Registered ${r}, ${e.created_by_user_displayname}, ${qm[e.group_uuid]||e.group_name}`,description:`${t.sample_category}`,link:`${i}browse/sample/${e.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(e,t="",i="",r){var s;const o=new Date(e.last_modified_timestamp).toLocaleDateString(),a=qm[e.group_uuid]||e.group_name,l=e.created_by_user_displayname,c=[...e.data_types,(0,mr.get)(e,["ingest_metadata","metadata","assay_type"],"")],u=c.join("|").toLowerCase();let h,f="assets/icons/ico-unknown.svg";return-1!==u.indexOf("10x")?(h="10x",f="assets/icons/ico-bulk-10x.svg"):-1!==u.indexOf("af")?(h="AF",f="assets/icons/ico-spatial-af.svg"):-1!==u.indexOf("codex")?(h="CODEX",f="assets/icons/ico-spatial-codex.svg"):-1!==u.indexOf("imc")?(h="IMC",f="assets/icons/ico-spatial-imc.svg"):-1!==u.indexOf("lc")&&-1===u.indexOf("af")?(h="LC",f="assets/icons/ico-bulk-lc.svg"):h=-1!==u.indexOf("maldi")?"MALDI":-1!==u.indexOf("pas")?"PAS":"OTHER",f=null!==(s=this.getDatasetThumbnail(e,t,r))&&void 0!==s?s:f,{"@id":gC+e.uuid,"@type":"Dataset",label:`Registered ${o}, ${l}, ${a}`,description:`Data/Assay Types: ${c.join(", ")}`,link:`${i}browse/dataset/${e.uuid}`,technology:h,thumbnail:f}}getDatasetThumbnail(e,t,i){if(e.thumbnail_file){const r=e.thumbnail_file;return`${t}/${r.file_uuid}/${r.filename}`+(i?`?token=${i}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){const r=(0,mr.get)(e,"metadata.files",[]).filter(s=>/\.(ome\.tif|ome\.tiff)$/.test(s.rel_path)).filter(s=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(s.rel_path)).filter(s=>WW.has(s.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(s=>`${t}/${e.uuid}/${s.rel_path}`+(i?`?token=${i}`:""));if(r.length>0){const s=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(WW.has(s))return`assets/thumbnails/TMC-Vanderbilt/DR1/${s}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){const r=HNe[e.hubmap_id];if(r)return`assets/thumbnails/TMC-Florida/${r}`}}getDonor(e,t){const i=(e.description||"").toLowerCase();let r;i.includes("female")?r="Female":i.includes("male")&&(r="Male");const s=i.match(/age ([0-9]+)/);let o,a;s&&(o=(0,mr.toNumber)(s[1]));for(const f of(0,mr.get)(e,"metadata.organ_donor_data",(0,mr.get)(e,"metadata.living_donor_data",[])))"Feminine gender"===f.preferred_term||"Female"===f.preferred_term?r="Female":"Masculine gender"===f.preferred_term||"Male"===f.preferred_term?r="Male":"Current chronological age"===f.preferred_term||"Age"===f.preferred_term?o=(0,mr.toNumber)(f.data_value):"Body mass index"===f.preferred_term&&(a=(0,mr.toNumber)(f.data_value));let l="";r&&o&&(l+=`${r}, Age ${o}`,a&&(l+=`, BMI ${a.toFixed(1)}`));const c=new Date(e.last_modified_timestamp).toLocaleDateString(),u=qm[e.group_uuid]||e.group_name;return{"@id":gC+e.uuid,"@type":"Donor",label:l,description:`Entered ${c}, ${e.created_by_user_displayname}, ${u}`,link:`${t}browse/donor/${e.uuid}`,age:o,sex:r,bmi:a,consortium_name:"HuBMAP",provider_name:u,provider_uuid:e.group_uuid,samples:[]}}getRuiLocation(e,t){var i;let r,s=e.rui_location;if(s&&("string"==typeof s&&(s=JSON.parse(s)),s.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):s["@id"]&&(r=s),s["@context"]="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"),r){const o=null!==(i=(0,mr.get)(r,["placement","target"]))&&void 0!==i?i:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,mr.set)(r,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,mr.set)(r,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return r}getTissueBlock(){return(0,mr.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const YNe=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.metadata.living_donor_data.preferred_term","ancestors.metadata.living_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","sample_category"],XNe={exists:{field:"rui_location"}};function YW(n,e,t){return JSON.stringify({version:!0,from:n,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=t?t:XNe,_source:{includes:YNe}})}function G2(n,e){return Bi(this,void 0,void 0,function*(){try{const t=yield fetch(n,e),i=yield t.text();return t.ok||i.startsWith("https")?i.startsWith("https")?yield fetch(i).then(s=>s.json()):JSON.parse(i):void 0}catch(t){return}})}function XW(n,e,t,i,r="",s=""){return Bi(this,void 0,void 0,function*(){let o;if("static"===e?o=yield G2(n):"search-api"===e&&(o=yield function(n,e,t){return Bi(this,void 0,void 0,function*(){const i=1e4,r=function(n){const e=new Headers;return e.append("Content-type","application/json"),n&&e.append("Authorization",`Bearer ${n}`),e}(e),s=YW(0,i,t),o=yield G2(n,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let h=i;h!h))return;const u=c.map(h=>h.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(n,i,t)),o)return function(n,e="",t="",i,r=!1){const o={},a=(0,mr.get)(n,"hits.hits",[]).map(c=>(0,mr.get)(c,"_source",{})).sort((c,u)=>c.uuid.localeCompare(u.uuid)).map(c=>new WNe(c,e,t,i).toJsonLd());for(const c of a){const u=c["@id"];o[u]?o[u].samples.push(c.samples[0]):o[u]=c}const l=Object.values(o);return r&&(function(n){let e=[],t=0;for(const i of n.filter(r=>r.samples.length>1)){const r=i.samples;for(let s=0;sc["@id"]===o)&&(r[s].deleteMe=!0,t++)}i.samples=r.filter(s=>!0!==s.deleteMe)}t>0&&console.log(`\u26a0 ${t} sections identified as blocks`)}(l),console.log(l.map(c=>Object.assign({"@context":qW},c)))),{"@context":qW,"@graph":l}}(o,r,s,i);console.warn(`Unable to load ${n} as HuBMAP Data`)})}function Jb(n,e,t){const i=new Set;for(const r of e)for(const s of(0,Un.readQuads)(n,r,t,null,null))i.add(s.object.id);return i}const tPe={[ki.spatialEntity.x_dimension.id]:"x",[ki.spatialEntity.y_dimension.id]:"y",[ki.spatialEntity.z_dimension.id]:"z"};function iPe(n,e,t,i){const r=e.getTransformationMatrix(t,i);let s;if(r){const o=r.getTranslation(),a=function(n,e){const t=dp(n,e,"Dimensions",tPe);return[t.x,t.y,t.z]}(n,t).map(c=>c/1e3/2),l=(new Zi).fromRotationMatrix(r,Zi.XYZ).toQuaternion().normalize().calculateW();s=(new k2).fromCenterHalfSizeQuaternion(o,a,l)}return s}function rPe(n,e,t,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of t){const f=iPe(n,e,h,l);f&&f.distanceSquaredTo([r,s,o].map(m=>m/1e3))<=u&&c.add(h)}return c}function mC(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,Un.readQuads)(n,c,vi.donor,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function $2(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,Un.readQuads)(n,c,vi.spatialEntity,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function ev(n,e){return function(t){n.has(t.id)&&e.add(t.id)}}function KW(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.namedNode(r);n.forSubjects(ev(e,i),ki.spatialEntity.ccf_annotations,s,null)}return i}function QW(n,e){const t=function(n,e){const t=new Map;for(const i of n)for(const r of(0,Un.readQuads)(e,i,vi.spatialEntity,null,null))t.has(r.object.id)?t.get(r.object.id).add(i):t.set(r.object.id,new Set([i]));return t}(n,e),i=new Map;for(const r of t.keys()){const s=t.get(r);for(const o of(0,Un.readQuads)(e,r,ki.spatialEntity.ccf_annotations,null,null))if(i.has(o.object.id)){const a=i.get(o.object.id);s.forEach(l=>a.add(l))}else i.set(o.object.id,new Set(s))}return i}function bPe(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[ki.ontologyNode.label.id]:"label",[t]:"parent",[ki.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of z2(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function ZW(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,Un.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=bPe(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,JW(r),r}function JW(n,e,t=new Set){const i=n.nodes[null!=e?e:n.root];if(i){i.children=i.children.filter(r=>!t.has(r)),i.children.forEach(r=>t.add(r));for(const r of i.children)JW(n,r,t),n.nodes[r]&&(n.nodes[r].parent=i["@id"])}}const eq=(0,mr.memoize)(function(n){const e=ZW(n,vd.body.id,"body",ki.asctb.part_of.id);return e.nodes[vd.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),_C={[vi.label.id]:"label",[vi.description.id]:"description",[vi.link.id]:"link"},EPe=Object.assign(Object.assign({},_C),{[vi.providerName.id]:"providerName"}),xPe=Object.assign(Object.assign({},_C),{[vi.technology.id]:"technology",[vi.thumbnail.id]:"thumbnail"}),SPe=Object.assign(Object.assign({},_C),{[vi.sampleType.id]:"sampleType",[vi.sectionNumber.id]:"sectionNumber",[vi.datasets.id]:"datasets"}),CPe=Object.assign(Object.assign({},_C),{[vi.sampleType.id]:"sampleType",[vi.sectionCount.id]:"sectionCount",[vi.sectionSize.id]:"sectionSize",[vi.sectionUnits.id]:"sectionUnits",[vi.donor.id]:"donor",[vi.spatialEntity.id]:"spatialEntityId",[vi.sections.id]:"sections",[vi.datasets.id]:"datasets"});function TPe(n,e){return dp(n,e,"Donor",EPe)}function tq(n,e){return dp(n,e,"Dataset",xPe)}function APe(n,e){const t={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of z2(n,e,SPe))if("datasets"===i){const s=tq(n,r);t[i].push(s)}else t[i]=r;return t}class DPe{constructor(e){this.database=e,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const e=Date.now();return this.database.connect().then(t=>Bi(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var i;this.status="Error",this.message=null!==(i=null==t?void 0:t.message)&&void 0!==i?i:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-e})}}const IPe={"@context":{"@base":"http://purl.org/ccf/","@vocab":"http://purl.org/ccf/",ccf:"http://purl.org/ccf/",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dcterms:"http://purl.org/dc/terms/",label:"rdfs:label",description:"rdfs:comment",link:"ccf:url",sex:"ccf:sex",age:"ccf:age",bmi:"ccf:bmi",consortium_name:"ccf:consortium_name",provider_name:"ccf:tissue_provider_name",provider_uuid:"ccf:tissue_provider_uuid",donor:{"@id":"ccf:comes_from","@type":"@id"},samples:{"@reverse":"donor"},sections:{"@id":"ccf:subdivided_into_sections","@type":"@id"},datasets:{"@id":"ccf:generates_dataset","@type":"@id"},sample_type:"ccf:sample_type",section_count:"ccf:section_count",section_size:"ccf:section_size",section_units:"ccf:section_size_unit",section_number:"ccf:section_number",rui_location:{"@id":"ccf:has_registration_location","@type":"@id"},ccf_annotations:{"@id":"ccf:collides_with","@type":"@id","@container":"@set"},representation_of:{"@id":"ccf:representation_of","@type":"@id"},reference_organ:{"@id":"ccf:has_reference_organ","@type":"@id"},extraction_set_for:{"@id":"ccf:extraction_set_for","@type":"@id"},extraction_set:{"@id":"ccf:has_extraction_set","@type":"@id"},organ_owner_sex:"ccf:organ_owner_sex",side:"ccf:organ_side",rui_rank:"ccf:rui_rank",slice_thickness:"ccf:slice_thickness",slice_count:"ccf:slice_count",object:{"@id":"ccf:has_object_reference","@type":"@id"},creation_date:"dcterms:created",updated_date:"ccf:updated_date",creator:"dcterms:creator",creator_first_name:"ccf:creator_first_name",creator_last_name:"ccf:creator_last_name",placement:{"@reverse":"ccf:placement_for"},placement_date:"dcterms:created",rotation_order:"ccf:rotation_order",dimension_units:"ccf:dimension_unit",rotation_units:"ccf:rotation_unit",scaling_units:"ccf:scaling_unit",translation_units:"ccf:translation_unit",source:{"@id":"ccf:placement_for","@type":"@id"},target:{"@id":"ccf:placement_relative_to","@type":"@id"},x_rotation:"ccf:x_rotation",y_rotation:"ccf:y_rotation",z_rotation:"ccf:z_rotation",x_scaling:"ccf:x_scaling",y_scaling:"ccf:y_scaling",z_scaling:"ccf:z_scaling",x_translation:"ccf:x_translation",y_translation:"ccf:y_translation",z_translation:"ccf:z_translation",x_dimension:"ccf:x_dimension",y_dimension:"ccf:y_dimension",z_dimension:"ccf:z_dimension",ontology_terms:{"@id":"ccf:has_ontology_term","@type":"@id"},technology:"ccf:technology",thumbnail:"ccf:thumbnail",file:"ccf:file_url",file_format:"ccf:file_format",file_subpath:"ccf:file_subpath"}};function W2(n){return JSON.parse(n,(e,t)=>"ccf_annotations"===e&&Array.isArray(t)?t.map(i=>(null==i?void 0:i.startsWith("http://purl.obolibrary.org/obo/FMA_"))?i.replace("http://purl.obolibrary.org/obo/FMA_","http://purl.org/sig/ont/fma/fma"):i):"@context"!==e||!t||"https://hubmapconsortium.github.io/hubmap-ontology/ccf-entity-context.jsonld"!==t&&"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld"!==t&&"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"!==t&&"http://purl.org/ccf/latest/ccf-entity.owl#"!==t["@base"]?t:IPe)}const RPe={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class NPe{constructor(e=RPe){this.options=e,this.store=new Un.Store(void 0,{factory:Un.DataFactory}),this.graph=new GW(this),this.scene=new $W(this)}connect(e,t=!1){return Bi(this,void 0,void 0,function*(){return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return Bi(this,void 0,void 0,function*(){const e=(new Date).getTime(),t=wRe()(this.options,{encoding:"base64",ignoreUnknown:!0,respectType:!1,unorderedArrays:!0,unorderedObjects:!0,unorderedSets:!0}),i=`ccf-database.last_modified.${t}`,r=`ccf-database.${t}`,s=yield AW(i).catch(()=>{});let o;s&&e-new Date(+s).getTime()>36e5?yield function(n,e=Cc()){return e("readwrite",t=>(n.forEach(i=>t.delete(i)),vu(t.transaction)))}([r,i]).catch(()=>{}):o=yield AW(r).catch(()=>{}),o?yield this.deserialize(o):(yield this.doConnect(),function(n,e=Cc()){return e("readwrite",t=>(n.forEach(i=>t.put(i[1],i[0])),vu(t.transaction)))}([[r,this.serialize()],[i,""+e]]).catch(()=>{}))})}doConnect(){var e,t;return Bi(this,void 0,void 0,function*(){const i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],s=this.options.ccfOwlUrl;if(s.startsWith("{"))this.store=(0,Un.deserializeN3Store)(s,Un.DataFactory);else if(s.endsWith(".n3store.json")){const o=yield fetch(s).then(a=>a.text()).catch(()=>console.log("Couldn't locate serialized store."));o&&(this.store=(0,Un.deserializeN3Store)(o,Un.DataFactory))}else(null==s?void 0:s.length)>0&&r.push(s);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(XW(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(o=>{if(o)return this.addDataSources([o])}))),i.push(this.addDataSources(r)),yield Promise.all(i),yield this.synchronize()})}addDataSources(e,t){return Bi(this,void 0,void 0,function*(){const i=null!=t?t:this.store;return yield Promise.all(e.map(r=>Bi(this,void 0,void 0,function*(){"string"==typeof r?(r.startsWith("http")||r.startsWith("assets/"))&&r.includes("jsonld")?(r=W2(r=yield fetch(r).then(s=>s.text())),yield(0,Un.addJsonLdToStore)(r,i)):r.endsWith("n3")?yield(0,Un.addN3ToStore)(r,i):r.endsWith("rdf")||r.endsWith("owl")||r.endsWith("xml")?yield(0,Un.addRdfXmlToStore)(r,i):(r=W2(r),yield(0,Un.addJsonLdToStore)(r,i)):(r=W2(JSON.stringify(r)),yield(0,Un.addJsonLdToStore)(r,i))}))),this})}synchronize(){return Bi(this,void 0,void 0,function*(){return yield new Promise(e=>{setTimeout(e,500)}),this.graph.createGraph(),function(n){var e,t,i;const r=eq(n),s=new Map;for(const{subject:o,object:a}of(0,Un.readQuads)(n,null,ki.spatialEntity.representation_of,null,null)){const l=new Set([a.id]);let c=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;c&&!l.has(c);)l.add(c),c=null===(t=r.nodes[c])||void 0===t?void 0:t.parent;s.set(o.id,[...l].map(u=>Un.DataFactory.namedNode(u)))}for(const{object:o}of(0,Un.readQuads)(n,null,vi.spatialEntity,null,null))for(const{subject:a}of(0,Un.readQuads)(n,null,ki.spatialPlacement.source,o,null))for(const{object:l}of(0,Un.readQuads)(n,a,ki.spatialPlacement.target,null,null))for(const c of null!==(i=s.get(l.id))&&void 0!==i?i:[])n.addQuad(Un.DataFactory.namedNode(o.id),ki.spatialEntity.ccf_annotations,c)}(this.store),this})}serialize(){return(0,Un.serializeN3Store)(this.store)}deserialize(e){return Bi(this,void 0,void 0,function*(){this.store=(0,Un.deserializeN3Store)(e,Un.DataFactory),this.graph=new GW(this),this.scene=new $W(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(e={}){return function(n,e,t){var i,r,s,o,a,l,c;let u=function(n){const e=new Set;return n.forSubjects(t=>e.add(t.id),vi.spatialEntity,null,null),e}(n);if(u.size>0&&(u=function(n,e,t=!0){const i=new Set;if(n.forSubjects(ev(e,i),vi.spatialEntity,null,null),!t){const r=new Set;return e.forEach(s=>i.has(s)?void 0:r.add(s)),r}return i}(n,u)),u.size>0&&("Male"===t.sex||"Female"===t.sex)){const h=t.sex;u=mC(n,u,f=>function(n,e,t){const i=new Set;return n.forSubjects(ev(e,i),vi.sex,vi[t],null),i}(n,f,h))}if(u.size>0&&(null===(i=t.tmc)||void 0===i?void 0:i.length)>0&&(u=mC(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.literal(r);n.forSubjects(ev(e,i),vi.providerName,s,null)}return i}(n,h,t.tmc))),u.size>0&&(null===(r=t.technologies)||void 0===r?void 0:r.length)>0&&(u=function(n,e,t){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const h of(0,Un.readQuads)(n,u,vi.sections,null,null))a.add(h.object.id);for(const u of a)for(const h of(0,Un.readQuads)(n,u,vi.datasets,null,null))o.add(h.object.id),s.has(h.object.id)?null===(i=s.get(h.object.id))||void 0===i||i.push(u):s.set(h.object.id,[u]);const l=t(o),c=new Set;for(const u of l)for(const h of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(h);return c}(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.literal(r);n.forSubjects(ev(e,i),vi.technology,s,null)}return i}(n,h,t.technologies))),u.size>0&&(null===(s=t.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=$2(n,u,h=>function(n,e,t,i){const r=new Set;for(const s of i)rPe(n,e,t,s).forEach(a=>r.add(a));return r}(n,e,h,t.spatialSearches))),u.size>0&&(null===(o=t.ontologyTerms)||void 0===o?void 0:o.length)>0){const h=t.ontologyTerms;-1===h.indexOf(vd.body.id)&&(u=$2(n,u,f=>KW(n,f,h)))}if(u.size>0&&(null===(a=t.cellTypeTerms)||void 0===a?void 0:a.length)>0){const h=t.cellTypeTerms;-1===h.indexOf(vd.cell.id)&&(u=$2(n,u,f=>function(n,e,t){const i=new Set;for(const r of t)n.forObjects(s=>{i.add(s.id)},r,ki.asctb.located_in,null),r===vd.cell.id&&i.add(vd.body.id);return KW(n,e,[...i])}(n,f,h)))}if(u.size>0&&2===(null===(l=t.ageRange)||void 0===l?void 0:l.length)&&(0,mr.isFinite)(t.ageRange[0])&&(0,mr.isFinite)(t.ageRange[1])){const h=Math.max(...t.ageRange),f=Math.min(...t.ageRange);1===f&&110===h||(u=mC(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,Un.readQuads)(n,s,vi.age,null,null)){const a=(0,cC.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,f,h)))}if(u.size>0&&2===(null===(c=t.bmiRange)||void 0===c?void 0:c.length)&&(0,mr.isFinite)(t.bmiRange[0])&&(0,mr.isFinite)(t.bmiRange[1])){const h=Math.max(...t.bmiRange),f=Math.min(...t.bmiRange);13===f&&83===h||(u=mC(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,Un.readQuads)(n,s,vi.bmi,null,null)){const a=(0,cC.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,f,h)))}return u}(this.store,this.graph,e)}get(e){return this.store.getQuads(Un.DataFactory.namedNode(e),null,null,null)}search(e={}){return[...this.getIds(e)].map(t=>this.get(t))}getSpatialEntities(e){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t=n.getObjects(Un.DataFactory.namedNode(e),vi.spatialEntity,null);if(t.length>0)return hp(n,t[0].id)}(this.store,t))}getDatabaseStatus(){return Bi(this,void 0,void 0,function*(){return this.status||(this.status=new DPe(this)),this.status.toJson()})}getDatasetTechnologyNames(){return Bi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,Un.readQuads)(n,null,vi.technology,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return Bi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,Un.readQuads)(n,null,vi.providerName,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(e){return Bi(this,void 0,void 0,function*(){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of z2(n,e,CPe))if("sections"===i){const s=APe(n,r);t[i].push(s)}else if("datasets"===i){const s=tq(n,r);t[i].push(s)}else t[i]="donor"===i?TPe(n,r):r;return t}(this.store,t))})}getAggregateResults(e){return Bi(this,void 0,void 0,function*(){return function(n,e){const t=Jb(e,n,vi.donor.id),i=Jb(e,t,vi.providerUUID.id),r=new Set;for(const l of n)for(const c of(0,Un.readQuads)(e,l,vi.spatialEntity,null,null))r.add(c.subject.id);const s=Jb(e,r,vi.sections.id),o=new Set([...Jb(e,r,vi.datasets.id),...Jb(e,s,vi.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:t.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([l,c])=>({label:l,count:c}))}(this.getIds(e),this.store)})}getOntologyTermOccurences(e){return Bi(this,void 0,void 0,function*(){return function(n,e){const t={};return QW(n,e).forEach((r,s)=>{t[s]=r.size}),t}(this.getIds(e),this.store)})}getCellTypeTermOccurences(e){return Bi(this,void 0,void 0,function*(){return function(n,e){var t,i;const r=QW(n,e),s=new Map;for(const a of r.keys()){const l=r.get(a);for(const c of(0,Un.readQuads)(e,null,ki.asctb.located_in,a,null)){const u=c.subject.id;if(s.has(u)){const h=s.get(u);l.forEach(f=>h.add(f))}else s.set(u,new Set(l))}}const o={};return s.forEach((a,l)=>{o[l]=a.size}),o[vd.cell.id]=null!==(i=null===(t=r.get(vd.body.id))||void 0===t?void 0:t.size)&&void 0!==i?i:0,o}(this.getIds(e),this.store)})}getOntologyTreeModel(){return Bi(this,void 0,void 0,function*(){return eq(this.store)})}getCellTypeTreeModel(){return Bi(this,void 0,void 0,function*(){return function(n){return ZW(n,vd.cell.id,"cell",ki.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return Bi(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(e){return Bi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(e)})}getReferenceOrganScene(e,t){return Bi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)})}getSpatialPlacement(e,t){return Bi(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(e,t)})}}class nq extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function FPe(){throw new nq}function LPe(){throw new nq}function q2(n,e,t){e.run(()=>n.dispatch(t))}function jPe(n,e,t,i){return yg(t)?function(n,e,t){return t.then(i=>(q2(n,e,i),i))}(n,e,t):Im(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(gr(i.cancelUncompleted$))),t.subscribe({next:r=>q2(n,e,r)}),t}(n,e,t,i):(q2(n,e,t),t)}class UPe{constructor(){this.cancelUncompleted$=new se}cancelPreviousAction(){this.cancelUncompleted$.next()}}const Y2="\u0275fac",iq=Symbol("InjectorInstance"),rq=Symbol("FactoryHasBeenDecorated");function sq(n,e){const t=n[iq];return t?t.get(e):null}const GPe={cancelUncompleted:!1};function oq(n=GPe){return(e,t,i)=>{let r;const s=function(n){return n?new UPe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=sq(this,hu)||FPe(),l=sq(this,pn)||LPe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>jPe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(rq in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[Y2]&&function(n){const e=n[Y2];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[iq]=Oe(Vu),r};t&&(t.factory=i),Object.defineProperty(n,Y2,{get:()=>i})}(e),n.constructor.prototype[rq]=!0}(e)}}const y2e=["bodyCanvas"];let b2e=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new ln,this.nodeDrag=new ln,this.nodeClick=new ln,this.nodeHoverStart=new ln,this.nodeHoverStop=new ln,this.initialized=new ln,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return Bi(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new zve({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&hr(y2e,5,gn),2&t){let r;Gn(r=$n())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&ni(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),v2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr]]}),n})();new Ht("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const yq=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name));function V2e(n,e){if(1&n&&(wt(0,"div",16),ni(1,"youtube-player",17),Et()),2&n){const t=_i(3);zt(1),dE("videoId",t.videoID)}}function j2e(n,e){if(1&n&&(wt(0,"mat-expansion-panel",11),wt(1,"mat-expansion-panel-header"),wt(2,"h2",12),Jn(3),Et(),Et(),wt(4,"div",13),ni(5,"markdown",14),wi(6,V2e,2,1,"div",15),Et(),Et()),2&n){const t=_i(),i=t.index,r=t.$implicit;Jt("expanded",0===i),zt(3),gs(r.title),zt(2),ai("first",0===i),Jt("data",r.content),zt(1),Jt("ngIf",0===i)}}function U2e(n,e){if(1&n&&(wt(0,"div",9),wi(1,j2e,7,6,"mat-expansion-panel",10),Et()),2&n){const t=e.$implicit;zt(1),Jt("ngIf",t)}}yq.filter(n=>!0!==n.disabled);let bq=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(Oe(F1),Oe(N7))},n.\u0275cmp=rn({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),wt(2,"div",2),wt(3,"div",3),wt(4,"h2",4),Jn(5),Et(),wt(6,"div",5),wt(7,"mat-icon",6),Tn("click",function(){return i.close()}),Jn(8,"clear"),Et(),Et(),Et(),wt(9,"mat-dialog-content",7),wi(10,U2e,2,1,"div",8),Et(),Et(),Et(),Et()),2&t&&(zt(5),gs(i.infoTitle),zt(5),Jt("ngForOf",i.documentationContents))},directives:[k7,Fm,F7,Yu,ac,U7,z7,W7,K7],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),vq=(()=>{class n{constructor(t){this.http=t,this.panelContent=new Fr({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(ke(_u))},n.\u0275prov=tt({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),H2e=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new ln,this.closeClicked=new ln}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),wt(2,"div",2),wt(3,"div",3),wt(4,"p",4),Jn(5),Et(),wt(6,"mat-icon",5),Tn("click",function(){return i.close()}),Jn(7,"clear"),Et(),Et(),ni(8,"img",6),wt(9,"mat-dialog-content",7),wt(10,"div",8),Jn(11),Et(),wt(12,"a",9),Tn("click",function(){return i.onDialogButtonClick()}),Et(),Et(),Et(),Et(),Et()),2&t&&(zt(5),gs(i.infoTitle),zt(3),Jt("src",i.imageUrl,sf),zt(3),xo(" ",i.message,""),zt(1),Jt("text",i.callToAction))},directives:[k7,Fm,BMe,F7],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),Qm=(()=>{let n=class extends MDe{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(Ki(n=>null!=n),Wa(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(o7(...t),ld(),Wa(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(o7(...t),ld(),Wa(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=tt({token:n,factory:n.\u0275fac}),Ei([f9()],n.prototype,"config$",null),n=Ei([CDe(),A6({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}();class wq extends class{getDatabaseStatus(){return this.forwardCall("getDatabaseStatus")}getProviderNames(){return this.forwardCall("getProviderNames")}getDatasetTechnologyNames(){return this.forwardCall("getDatasetTechnologyNames")}getOntologyTreeModel(){return this.forwardCall("getOntologyTreeModel")}getCellTypeTreeModel(){return this.forwardCall("getCellTypeTreeModel")}getReferenceOrgans(){return this.forwardCall("getReferenceOrgans")}getTissueBlockResults(e){return this.forwardCall("getTissueBlockResults",e)}getAggregateResults(e){return this.forwardCall("getAggregateResults",e)}getOntologyTermOccurences(e){return this.forwardCall("getOntologyTermOccurences",e)}getCellTypeTermOccurences(e){return this.forwardCall("getCellTypeTermOccurences",e)}getScene(e){return this.forwardCall("getScene",e)}getReferenceOrganScene(e,t){return this.forwardCall("getReferenceOrganScene",e,t)}}{forwardCall(e,...t){return this.impl$.pipe(is(i=>i[e](...t)))}}let Eq=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const Z2=new se,nv={cacheBusterObserver:Z2},Zm={cacheBusterObserver:Z2,maxCacheCount:4};function xq(n,e,t){return n?{min:n[0]>e?n[0]:void 0,max:n[1]{var t;return Object.assign(Object.assign({},e),{transformMatrix:new qn(null!==(t=e.transformMatrix)&&void 0!==t?t:[])})})}let Q2e=(()=>{class n{constructor(t,i){this.api=t,this.globalConfig=i,i.getOption("hubmapToken").subscribe(Z2)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},n=>n)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},n=>n)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},n=>n)}getTissueBlockResults(t){return this.doRequest(i=>this.api.tissueBlocks(i),t,{},n=>n)}getAggregateResults(t){return this.doRequest(i=>this.api.aggregateResults(i),t)}getOntologyTermOccurences(t){return this.doRequest(i=>this.api.ontologyTermOccurences(i),t)}getCellTypeTermOccurences(t){return this.doRequest(i=>this.api.cellTypeTermOccurences(i),t)}getScene(t){return this.doRequest(i=>this.api.scene(i),t,{},Sq)}getReferenceOrganScene(t,i){return this.doRequest(r=>this.api.referenceOrganScene(r),i,{organIri:t},Sq)}doRequest(t,i,r,s){const{api:o,globalConfig:a}=this,l=Object.assign(Object.assign({},function(n){var e,t;return{age:xq(null==n?void 0:n.ageRange,1,110),bmi:xq(null==n?void 0:n.bmiRange,13,83),sex:null===(t=null===(e=null==n?void 0:n.sex)||void 0===e?void 0:e.toLowerCase)||void 0===t?void 0:t.call(e),ontologyTerms:null==n?void 0:n.ontologyTerms,cellTypeTerms:null==n?void 0:n.cellTypeTerms,providers:null==n?void 0:n.tmc,technologies:null==n?void 0:n.technologies,spatial:null==n?void 0:n.spatialSearches}}(i)),r);return yc([a.getOption("remoteApiEndpoint"),a.getOption("hubmapToken")]).pipe(qr(1),cr(([c,u])=>{o.configuration.basePath=c,u&&(l.token=u)}),is(()=>t(l)),be(c=>s?s(c):c))}}return n.\u0275fac=function(t){return new(t||n)(ke(TW),ke(Qm))},n.\u0275prov=tt({token:n,factory:n.\u0275fac,providedIn:"root"}),Ei([Sc(nv)],n.prototype,"getProviderNames",null),Ei([Sc(nv)],n.prototype,"getDatasetTechnologyNames",null),Ei([Sc(nv)],n.prototype,"getOntologyTreeModel",null),Ei([Sc(nv)],n.prototype,"getCellTypeTreeModel",null),Ei([Sc(nv)],n.prototype,"getReferenceOrgans",null),Ei([Sc(Zm)],n.prototype,"getTissueBlockResults",null),Ei([Sc(Zm)],n.prototype,"getAggregateResults",null),Ei([Sc(Zm)],n.prototype,"getOntologyTermOccurences",null),Ei([Sc(Zm)],n.prototype,"getCellTypeTermOccurences",null),Ei([Sc(Zm)],n.prototype,"getScene",null),Ei([Sc(Zm)],n.prototype,"getReferenceOrganScene",null),n})(),Z2e=(()=>{class n extends wq{constructor(t){super(),this.impl$=this.database$=t.config$.pipe(i=>i,Ki(i=>Object.keys(i).length>0),is(i=>function(n,e){return new P(t=>{let i,r;try{i=n()}catch(a){return void t.error(a)}try{r=e(i)}catch(a){return void t.error(a)}const o=(r?Ye(r):Qc).subscribe(t);return()=>{o.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDatabase(i),r=>this.connectDatabase(r,i))),be(i=>i.database),Wa(1))}connectDatabase(t,i){return Bi(this,void 0,void 0,function*(){const r=!fa();return yield t.database.connect(i,r),t})}}return n.\u0275fac=function(t){return new(t||n)(ke(Qm))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),J2e=(()=>{class n extends Z2e{createDatabase(t){return{database:new NPe(t),unsubscribe:()=>{}}}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=tt({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),eke=(()=>{class n extends wq{constructor(t,i){super(),this.impl$=t.config$.pipe(r=>r,be(r=>this.selectToken(r)),ld(),be(r=>i.get(r)),Wa(1))}}return n.\u0275fac=function(t){return new(t||n)(ke(Qm),ke(Hn))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),J2=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),ek=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),tk=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var nk;class wa{get length(){var e,t;return null!==(t=null===(e=wa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=wa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=wa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=wa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=wa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=wa.storage)||void 0===e||e.clear()}}wa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),wa.\u0275fac=function(e){return new(e||wa)},wa.\u0275prov=tt({token:wa,factory:wa.\u0275fac,providedIn:"root"});const Cq="callToActionPopupShown";let Ro=nk=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(Cq,`${i}`),s=nk.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new ek)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(be(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open(bq,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(cr(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(nke,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(Cq,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};Ro.\u0275fac=function(e){return new(e||Ro)(ke(Pb),ke(qb),ke(wa),ke(vq),ke(_u))},Ro.\u0275prov=tt({token:Ro,factory:Ro.\u0275fac}),Ei([yN(J2)],Ro.prototype,"learnMore",null),Ei([yN(ek)],Ro.prototype,"open",null),Ei([yN(tk)],Ro.prototype,"close",null),Ro=nk=Ei([A6({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Ro);let EC=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return Ei([_m([Ro])],n,"title",null),Ei([_m([Ro])],n,"message",null),Ei([_m([Ro])],n,"callToAction",null),Ei([_m([Ro])],n,"imageUrl",null),Ei([_m([Ro])],n,"expirationDate",null),Ei([_m([Ro])],n,"popupShown",null),n})(),nke=(()=>{class n{constructor(){this.close=()=>new tk,this.learnMore=()=>new J2}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(wt(0,"ccf-call-to-action",0),Tn("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),Ns(1,"async"),Ns(2,"async"),Ns(3,"async"),Ns(4,"async"),Et()),2&t&&Jt("infoTitle",To(1,4,i.title$))("message",To(2,6,i.message$))("callToAction",To(3,8,i.callToAction$))("imageUrl",To(4,10,i.imageUrl$))},directives:[H2e],pipes:[g0],styles:[""],changeDetection:0}),Ei([NS(EC.title)],n.prototype,"title$",void 0),Ei([NS(EC.message)],n.prototype,"message$",void 0),Ei([NS(EC.callToAction)],n.prototype,"callToAction$",void 0),Ei([NS(EC.imageUrl)],n.prototype,"imageUrl$",void 0),Ei([oq()],n.prototype,"close",void 0),Ei([oq()],n.prototype,"learnMore",void 0),n})(),ske=(()=>{class n{constructor(t){this.source=t,this.organs=yq}getOrganInfo(t,i,r="Female"){let s=this.organs.find(a=>a.id===t);if(!s)return sn(void 0);const o=s.organ;return s.disabled&&(s=this.organs.find(a=>!a.disabled&&a.organ===o)),(null==s?void 0:s.side)&&i&&s.side!==i&&(s=this.organs.find(a=>!a.disabled&&a.organ===o&&a.side===i)),sn(s)}getOrgan(t,i="Both"){return this.source.getReferenceOrgans().pipe(be(r=>r.find(s=>s.representation_of===t.id&&("Both"===i||s.sex===i))))}getOrganScene(t,i="Female"){return t.id?this.source.getReferenceOrganScene(t.id,{ontologyTerms:[t.id],sex:i}):sn([])}getOrganStats(t,i="Female"){return t.id?this.source.getAggregateResults({ontologyTerms:[t.id],sex:i}):sn([])}getBlocks(t,i="Female"){return t.id?this.source.getTissueBlockResults({ontologyTerms:[t.id],sex:i}):sn([])}}return n.\u0275fac=function(t){return new(t||n)(ke(Eq))},n.\u0275prov=tt({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const oke=["thumbContainer"],ake=["toggleBar"],lke=["input"],cke=function(n){return{enterDuration:n}},uke=["*"],dke=new Ht("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1})});let hke=0;const fke={provide:Xo,useExisting:ye(()=>Tq),multi:!0};class pke{constructor(e,t){this.source=e,this.checked=t}}const gke=E1(Mm(Ch(Am(class{constructor(n){this._elementRef=n}}))));let Tq=(()=>{class n extends gke{constructor(t,i,r,s,o,a){super(t),this._focusMonitor=i,this._changeDetectorRef=r,this.defaults=o,this._onChange=l=>{},this._onTouched=()=>{},this._uniqueId="mat-slide-toggle-"+ ++hke,this._required=!1,this._checked=!1,this.name=null,this.id=this._uniqueId,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.change=new ln,this.toggleChange=new ln,this.tabIndex=parseInt(s)||0,this.color=this.defaultColor=o.color||"accent",this._noopAnimations="NoopAnimations"===a}get required(){return this._required}set required(t){this._required=bi(t)}get checked(){return this._checked}set checked(t){this._checked=bi(t),this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{"keyboard"===t||"program"===t?this._inputElement.nativeElement.focus():t||Promise.resolve().then(()=>this._onTouched())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}_onChangeEvent(t){t.stopPropagation(),this.toggleChange.emit(),this.defaults.disableToggleValue?this._inputElement.nativeElement.checked=this.checked:(this.checked=this._inputElement.nativeElement.checked,this._emitChangeEvent())}_onInputClick(t){t.stopPropagation()}writeValue(t){this.checked=!!t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck()}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(new pke(this,this.checked))}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(vc),Oe(Mr),yo("tabindex"),Oe(dke),Oe(Qa,8))},n.\u0275cmp=rn({type:n,selectors:[["mat-slide-toggle"]],viewQuery:function(t,i){if(1&t&&(hr(oke,5),hr(ake,5),hr(lke,5)),2&t){let r;Gn(r=$n())&&(i._thumbEl=r.first),Gn(r=$n())&&(i._thumbBarEl=r.first),Gn(r=$n())&&(i._inputElement=r.first)}},hostAttrs:[1,"mat-slide-toggle"],hostVars:12,hostBindings:function(t,i){2&t&&(qc("id",i.id),Ii("tabindex",i.disabled?null:-1)("aria-label",null)("aria-labelledby",null),ai("mat-checked",i.checked)("mat-disabled",i.disabled)("mat-slide-toggle-label-before","before"==i.labelPosition)("_mat-animation-noopable",i._noopAnimations))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],required:"required",checked:"checked",ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[Vn([fke]),En],ngContentSelectors:uke,decls:16,vars:20,consts:[[1,"mat-slide-toggle-label"],["label",""],[1,"mat-slide-toggle-bar"],["toggleBar",""],["type","checkbox","role","switch",1,"mat-slide-toggle-input","cdk-visually-hidden",3,"id","required","tabIndex","checked","disabled","change","click"],["input",""],[1,"mat-slide-toggle-thumb-container"],["thumbContainer",""],[1,"mat-slide-toggle-thumb"],["mat-ripple","",1,"mat-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-slide-toggle-persistent-ripple"],[1,"mat-slide-toggle-content",3,"cdkObserveContent"],["labelContent",""],[2,"display","none"]],template:function(t,i){if(1&t&&(Hr(),wt(0,"label",0,1),wt(2,"div",2,3),wt(4,"input",4,5),Tn("change",function(s){return i._onChangeEvent(s)})("click",function(s){return i._onInputClick(s)}),Et(),wt(6,"div",6,7),ni(8,"div",8),wt(9,"div",9),ni(10,"div",10),Et(),Et(),Et(),wt(11,"span",11,12),Tn("cdkObserveContent",function(){return i._onLabelTextChange()}),wt(13,"span",13),Jn(14,"\xa0"),Et(),oi(15),Et(),Et()),2&t){const r=ih(1),s=ih(12);Ii("for",i.inputId),zt(2),ai("mat-slide-toggle-bar-no-side-margin",!s.textContent||!s.textContent.trim()),zt(2),Jt("id",i.inputId)("required",i.required)("tabIndex",i.tabIndex)("checked",i.checked)("disabled",i.disabled),Ii("name",i.name)("aria-checked",i.checked.toString())("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),zt(5),Jt("matRippleTrigger",r)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",function(n,e,t,i){return E3(jt(),Cs(),n,e,t,i)}(18,cke,i._noopAnimations?0:150))}},directives:[gu,$N],styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}.cdk-high-contrast-active .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:2px dotted;outline-offset:5px}\n"],encapsulation:2,changeDetection:0}),n})(),Aq=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})(),yke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Aq,Dm,ji,QS],Aq,ji]}),n})(),bke=(()=>{class n{constructor(){this.clsName="ccf-slide-toggle",this.labels=["Left","Right"],this.value="Left",this.disabled=!1,this.valueChange=new ln}get left(){const{value:t,labels:i}=this;return t!==i[1]}updateToggle(t){this.value=t?this.labels[0]:this.labels[1],this.valueChange.emit(this.value)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-slide-toggle"]],hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{labels:"labels",value:"value",disabled:"disabled"},outputs:{valueChange:"valueChange"},decls:6,vars:12,consts:[[1,"slide-label",3,"click"],[1,"slider",3,"disabled","checked","change"],["toggle",""]],template:function(t,i){if(1&t){const r=wl();wt(0,"span",0),Tn("click",function(){_r(r);const o=ih(3);return i.left||o.toggle(),i.updateToggle(!0)}),Jn(1),Et(),wt(2,"mat-slide-toggle",1,2),Tn("change",function(o){return i.updateToggle(!o.checked)}),Et(),wt(4,"span",0),Tn("click",function(){_r(r);const o=ih(3);return i.left&&o.toggle(),i.updateToggle(!1)}),Jn(5),Et()}2&t&&(ai("disabled",i.disabled)("highlighted",i.left),zt(1),gs(i.labels[0].charAt(0).toUpperCase()+i.labels[0].slice(1)),zt(1),Jt("disabled",i.disabled)("checked",!i.left),zt(2),ai("disabled",i.disabled)("highlighted",!i.left),zt(1),gs(i.labels[1].charAt(0).toUpperCase()+i.labels[1].slice(1)))},directives:[Tq],styles:["[_nghost-%COMP%] .slide-label[_ngcontent-%COMP%]{margin:0 1rem;transition:color .6s;cursor:pointer;opacity:50%}[_nghost-%COMP%] .slide-label.highlighted[_ngcontent-%COMP%]{opacity:100%}[_nghost-%COMP%] .disabled[_ngcontent-%COMP%]{opacity:30%!important;cursor:not-allowed}[_nghost-%COMP%] .slider .mat-slide-toggle-bar{background-color:#43476580}[_nghost-%COMP%] .slider .mat-slide-toggle-thumb{background-color:#434765}"],changeDetection:0}),n})();const vke=["bodyUI"],wke=function(){return["Male","Female"]},Eke=function(){return["Left","Right"]};let xke=(()=>{class n{constructor(t){this.ga=t,this.sexChange=new ln,this.sideChange=new ln}ngAfterViewChecked(){this.updateHighlighting()}updateHighlighting(){var t,i,r,s;const o=new Set(null!==(i=null===(t=this.filter)||void 0===t?void 0:t.tmc)&&void 0!==i?i:[]);this.filteredBlocks=null!==(s=null===(r=this.blocks)||void 0===r?void 0:r.filter(a=>o.has(a.donor.providerName)).map(a=>a["@id"]))&&void 0!==s?s:[],this.bodyUI.scene=this.bodyUI.scene.map(a=>{var l;return Object.assign(Object.assign({},a),{color:a.entityId&&this.highlightedNodeId===a["@id"]?[30,136,229,255]:this.filteredBlocks.includes(null!==(l=a.entityId)&&void 0!==l?l:"")?[173,255,47,229.5]:[255,255,255,229.5]})})}ngOnChanges(t){this.bodyUI&&"organ"in t&&this.zoomToFitOrgan()}updateSex(t){this.sex=t,this.sexChange.emit(this.sex)}updateSide(t){this.side=t,this.sideChange.emit(this.side)}zoomToFitOrgan(){const{bodyUI:t,organ:i}=this;if(i){const{x_dimension:r,y_dimension:s,z_dimension:o}=i;t.rotation=t.rotationX=0,t.bounds={x:1.25*r/1e3,y:1.25*s/1e3,z:1.25*o/1e3},t.target=[r/1e3/2,s/1e3/2,o/1e3/2]}}nodeClicked(t){this.ga.event("node_click","organ",t.node["@id"]),this.highlightedNodeId=this.highlightedNodeId&&this.highlightedNodeId===t.node["@id"]?"":t.node["@id"]}}return n.\u0275fac=function(t){return new(t||n)(Oe(qb))},n.\u0275cmp=rn({type:n,selectors:[["ccf-organ"]],viewQuery:function(t,i){if(1&t&&hr(vke,7),2&t){let r;Gn(r=$n())&&(i.bodyUI=r.first)}},inputs:{organ:"organ",scene:"scene",organIri:"organIri",sex:"sex",side:"side",blocks:"blocks",filter:"filter"},outputs:{sexChange:"sexChange",sideChange:"sideChange"},features:[Fi],decls:5,vars:10,consts:[["camera","perspective",1,"body-ui",3,"scene","interactive","nodeClick","initialized"],["bodyUI",""],[1,"stage-options"],[1,"view-slider",3,"labels","value","hidden","valueChange"]],template:function(t,i){1&t&&(wt(0,"ccf-body-ui",0,1),Tn("nodeClick",function(s){return i.nodeClicked(s)})("initialized",function(){return i.zoomToFitOrgan()}),Et(),wt(2,"div",2),wt(3,"ccf-slide-toggle",3),Tn("valueChange",function(s){return i.updateSex(s)}),Et(),wt(4,"ccf-slide-toggle",3),Tn("valueChange",function(s){return i.updateSide(s)}),Et(),Et()),2&t&&(Jt("scene",i.scene)("interactive",!0),zt(3),Jt("labels",TE(8,wke))("value",i.sex)("hidden",!i.sex),zt(1),Jt("labels",TE(9,Eke))("value",i.side)("hidden",!i.side))},directives:[b2e,bke],styles:["[_nghost-%COMP%]{display:block;background-color:#000;border-radius:.5rem;color:#fff;height:100%}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{height:90%}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%]{padding:1rem;min-width:352px}"],changeDetection:0}),n})();function Ske(n,e){if(1&n&&(wt(0,"div",3),wt(1,"div",4),Jn(2),Et(),wt(3,"div",5),Jn(4),Et(),Et()),2&n){const t=e.$implicit;zt(2),gs(t.count),zt(2),gs(t.label)}}let Cke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-stats-list"]],inputs:{statsLabel:"statsLabel",stats:"stats"},decls:4,vars:2,consts:[[1,"stats-container"],[1,"header"],["class","stats-row",4,"ngFor","ngForOf"],[1,"stats-row"],[1,"stat"],[1,"label"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),Jn(2),Et(),wi(3,Ske,5,2,"div",2),Et()),2&t&&(zt(2),xo(" ",i.statsLabel," "),zt(1),Jt("ngForOf",i.stats))},directives:[Yu],styles:[".stats-container[_ngcontent-%COMP%]{margin-bottom:2rem;min-height:9rem}.stats-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{margin-bottom:1rem}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;height:1.325rem}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .stat[_ngcontent-%COMP%]{width:2rem;margin-right:1rem;text-align:right}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{flex-grow:1;text-align:left}"],changeDetection:0}),n})();function Tke(n,e){if(1&n){const t=wl();wt(0,"div",6),wt(1,"div",7),wt(2,"div",8),Jn(3),Et(),wt(4,"div",9),Tn("click",function(){const s=_r(t).$implicit;return _i().goToURL(s.buttonUrl)}),Jn(5),Et(),Et(),Et()}if(2&n){const t=e.$implicit;zt(3),gs(t.body),zt(1),Jt("gaLabel",t.buttonUrl),zt(1),xo(" ",t.buttonTitle,"")}}function Ake(n,e){if(1&n){const t=wl();wt(0,"div",10),Tn("click",function(){const s=_r(t).$implicit;return _i().goToURL(s.buttonUrl)}),Jn(1),Et()}if(2&n){const t=e.$implicit;Jt("gaLabel",t.buttonUrl),zt(1),gs(t.buttonTitle)}}let Mke=(()=>{class n{constructor(){this.linkCards=[{body:"Add tissue blocks using the HRA Registration User Interface (RUI).",buttonTitle:"Register Tissue",buttonUrl:"https://hubmapconsortium.github.io/ccf-ui/rui/"},{body:"Explore tissue sections in tissue blocks with the HRA Exploration User Interface (EUI).",buttonTitle:"Explore Tissue",buttonUrl:"https://portal.hubmapconsortium.org/ccf-eui"},{body:"View linkages between anatomical structures, cell types, and common biomarkers (ASCT+B).",buttonTitle:"ASCT+B Reporter",buttonUrl:"https://hubmapconsortium.github.io/ccf-asct-reporter/"}],this.deepDives=[{body:"",buttonTitle:"HRA Portal",buttonUrl:"https://humanatlas.io"},{body:"",buttonTitle:"Online Course",buttonUrl:"https://expand.iu.edu/browse/sice/cns/courses/hubmap-visible-human-mooc"},{body:"",buttonTitle:"Paper",buttonUrl:"https://www.nature.com/articles/s41556-021-00788-6"}]}goToURL(t){window.open(t,"_blank")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-link-cards"]],decls:7,vars:2,consts:[["gaCategory","link-cards",1,"link-cards-container"],["class","link-card",4,"ngFor","ngForOf"],["gaCategory","deep-dive",1,"deep-dive-section"],[1,"title"],[1,"button-container"],["class","btn-outline btn","gaEvent","visit-link",3,"gaLabel","click",4,"ngFor","ngForOf"],[1,"link-card"],[1,"link-card-content"],[1,"body"],["gaEvent","visit-link",1,"link-button","btn",3,"gaLabel","click"],["gaEvent","visit-link",1,"btn-outline","btn",3,"gaLabel","click"]],template:function(t,i){1&t&&(wt(0,"div",0),wi(1,Tke,6,3,"div",1),Et(),wt(2,"div",2),wt(3,"div",3),Jn(4,"Human Reference Atlas (HRA) Deep Dive"),Et(),wt(5,"div",4),wi(6,Ake,2,2,"div",5),Et(),Et()),2&t&&(zt(1),Jt("ngForOf",i.linkCards),zt(5),Jt("ngForOf",i.deepDives))},directives:[gW,Yu,mW],styles:[".link-cards-container[_ngcontent-%COMP%]{max-width:30rem}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%]{border-top:1px solid #e0e0e0;padding-top:1px;padding-bottom:1px}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%]:last-of-type{border-bottom:1px solid #e0e0e0}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%]{align-items:center;padding:1rem 0 1rem 1rem;display:flex;flex-direction:row;justify-content:space-between;border-left:6px solid #444A65}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]{margin-left:2rem;background-color:#444a65;color:#fff}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]:hover{background-color:#2f3346}.deep-dive-section[_ngcontent-%COMP%]{margin-top:2rem}.deep-dive-section[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1rem}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{display:flex;flex-direction:row}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]{color:#444a65;border:1px solid #444A65;background-color:#fff}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:not(:last-of-type){margin-right:1rem}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:hover{background-color:#e0e0e0}.btn[_ngcontent-%COMP%]{min-width:9rem!important;max-height:2.28125rem;text-align:center;white-space:nowrap;cursor:pointer;font-size:.875rem;font-weight:500;border-radius:2px;line-height:2.75;transition:background-color .25s cubic-bezier(.4,0,.2,1) 0ms,box-shadow .25s cubic-bezier(.4,0,.2,1) 0ms,border .25s cubic-bezier(.4,0,.2,1) 0ms;font-family:Inter Variable,Helvetica,Arial,sans-serif}"],changeDetection:0}),n})();const Dke=["left"],Ike=["right"],Oke=function(){return[]},Rke=[{color:[0,0,0,0],opacity:.001}];let Nke=(()=>{class n{constructor(t,i,r){this.ga=i,this.configState=r,this.sex$=this.configState.getOption("sex"),this.side$=this.configState.getOption("side"),this.filter$=this.configState.getOption("highlightProviders").pipe(be(s=>({tmc:s}))),this.latestConfig={},this.organInfo$=r.config$.pipe(cr(s=>this.latestConfig=s),is(s=>{var o,a,l;return t.getOrganInfo(null!==(o=s.organIri)&&void 0!==o?o:"",null===(l=null===(a=s.side)||void 0===a?void 0:a.toLowerCase)||void 0===l?void 0:l.call(a),s.sex)}),cr(s=>this.logOrganLookup(s)),cr(s=>this.latestOrganInfo=s),Wa(1)),this.organ$=this.organInfo$.pipe(is(s=>s?t.getOrgan(s,s.hasSex?this.latestConfig.sex:void 0):sn(void 0)),cr(s=>{var o;if(s&&this.latestOrganInfo){const a=(null===(o=this.latestOrganInfo)||void 0===o?void 0:o.hasSex)?s.sex:void 0;a!==this.latestConfig.sex&&this.updateInput("sex",a),s.side!==this.latestConfig.side&&this.updateInput("side",s.side)}}),Wa(1)),this.scene$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getOrganScene(this.latestOrganInfo,s.sex):sn(Rke))),this.stats$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getOrganStats(this.latestOrganInfo,s.sex):sn([]))),this.statsLabel$=this.organ$.pipe(be(s=>this.makeStatsLabel(this.latestOrganInfo,null==s?void 0:s.sex)),Oo("Loading...")),this.blocks$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getBlocks(this.latestOrganInfo,s.sex):sn([])))}ngAfterViewInit(){const{left:t,right:i}=this;t.nativeElement.style.height=`${i.nativeElement.offsetHeight}px`}updateInput(t,i){this.configState.patchConfig({[t]:i})}makeStatsLabel(t,i){let r=[`Unknown IRI: ${this.latestConfig.organIri}`];if(t){const s=t.side?t.side.charAt(0).toUpperCase()+t.side.slice(1):void 0;r=[i,t.organ,s]}return r.filter(s=>!!s).join(", ")}logOrganLookup(t){this.ga.event(t?"organ_lookup_success":"organ_lookup_failure","organ",`Iri: ${this.latestConfig.organIri} - Sex: ${this.latestConfig.sex} - Side: ${this.latestConfig.side}`)}}return n.\u0275fac=function(t){return new(t||n)(Oe(ske),Oe(qb),Oe(Qm))},n.\u0275cmp=rn({type:n,selectors:[["ccf-root"]],viewQuery:function(t,i){if(1&t&&(hr(Dke,7,gn),hr(Ike,7,gn)),2&t){let r;Gn(r=$n())&&(i.left=r.first),Gn(r=$n())&&(i.right=r.first)}},decls:16,vars:25,consts:[[1,"container"],[1,"left"],["left",""],[3,"blocks","filter","sex","side","organ","scene","sexChange","sideChange"],[1,"right"],["right",""],[3,"statsLabel","stats"]],template:function(t,i){if(1&t&&(wt(0,"div",0),wt(1,"div",1,2),wt(3,"ccf-organ",3),Tn("sexChange",function(s){return i.updateInput("sex",s)})("sideChange",function(s){return i.updateInput("side",s)}),Ns(4,"async"),Ns(5,"async"),Ns(6,"async"),Ns(7,"async"),Ns(8,"async"),Ns(9,"async"),Et(),Et(),wt(10,"div",4,5),ni(12,"ccf-stats-list",6),Ns(13,"async"),Ns(14,"async"),ni(15,"ccf-link-cards"),Et(),Et()),2&t){let r;zt(3),Jt("blocks",To(4,8,i.blocks$))("filter",To(5,10,i.filter$))("sex",To(6,12,i.sex$))("side",To(7,14,i.side$))("organ",To(8,16,i.organ$))("scene",null!==(r=To(9,18,i.scene$))&&void 0!==r?r:TE(24,Oke)),zt(9),Jt("statsLabel",To(13,20,i.statsLabel$))("stats",To(14,22,i.stats$))}},directives:[xke,Cke,Mke],pipes:[g0],styles:[".container[_ngcontent-%COMP%]{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:row;padding:1rem;font-family:Inter;font-size:.95rem;line-height:1.5;text-align:left;position:relative;background-color:#fff;color:#000}.container[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{width:auto;flex-grow:1}.container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{margin-left:2rem;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:29rem}"],changeDetection:0}),n})();function Pke(n,e){1&n&&ni(0,"ccf-root")}function kke(n){const e=i=>"string"==typeof i,t=i=>Array.isArray(i)&&i.every(e);if("string"==typeof n){const i=XD.json(n);if(t(i))return i}else if(t(n))return n;throw new Error("Invalid data sources")}function Fke(n){const e=i=>"string"==typeof i,t=i=>Array.isArray(i)&&i.every(e);if("string"==typeof n){if(!(null==n?void 0:n.startsWith("[")))return[n];{const i=XD.json(n);if(t(i))return i}}else if(t(n))return n;throw new Error("Invalid data sources")}let Lke=(()=>{class n extends fie{constructor(t,i){super(t,i,{initialDelay:10,initialConfig:Object.assign(Object.assign({},If.dbOptions),globalThis.dbOptions),parse:{dataSources:kke,highlightProviders:Fke,useRemoteApi:XD.boolean}}),this.sex="Female",this.side="Left"}}return n.\u0275fac=function(t){return new(t||n)(Oe(Qm),Oe(Mr))},n.\u0275cmp=rn({type:n,selectors:[["ccf-root-wc"]],inputs:{organIri:"organIri",sex:"sex",side:"side",dataSources:"dataSources",highlightProviders:"highlightProviders",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint"},features:[En],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,i){1&t&&wi(0,Pke,1,0,"ccf-root",0),2&t&&Jt("ngIf",i.initialized)},directives:[ac,Nke],encapsulation:2,changeDetection:0}),n})(),Bke=(()=>{class n extends eke{selectToken(t){return t.useRemoteApi&&t.remoteApiEndpoint?Q2e:J2e}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=tt({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Vke=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[hs,el,a9,...t]}}}return n.\u0275fac=function(t){return new(t||n)(ke(hs,2),ke(el,2))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const xC=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class zke{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=qf(this.action),i=function(n){return xC(n.getHours(),2)+":"+xC(n.getMinutes(),2)+":"+xC(n.getSeconds(),2)+"."+xC(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class Hke{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const Mq=new Ht("NGXS_LOGGER_PLUGIN_OPTIONS");let Gke=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new Hke(this._options),this._store=this._store||this._injector.get(hu);const s=new zke(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(cr(o=>{s.completed(o)}),bc(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(ke(Mq),ke(Hn))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const Dq=new Ht("LOGGER_USER_OPTIONS");function $ke(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let Wke=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:h6,useClass:Gke,multi:!0},{provide:Dq,useValue:t},{provide:Mq,useFactory:$ke,deps:[Dq]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const qke=[Qm];let Yke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Vke.forRoot(),Yo.forRoot(qke,{developmentMode:!If.production}),Wke.forRoot({disabled:If.production})]]}),n})(),Xke=(()=>{class n{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return n.\u0275fac=function(t){return new(t||n)(ke(n,12))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[{provide:Eq,useExisting:Bke}],imports:[[C7,oRe.forRoot({gaToken:If.googleAnalyticsToken,appName:"organ-info",projectName:"ccf",developmentMode:!If.production}),pRe.forRoot(()=>new Yb({basePath:If.dbOptions.remoteApiEndpoint})),Yke]]}),n})(),Kke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,yke]]}),n})(),Qke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,v2e,Kke]]}),n})(),Zke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,rC]]}),n})(),Jke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr]]}),n})(),eFe=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(El).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new aie(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends cie{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(Lke,{injector:this.injector});customElements.define("ccf-organ-info",t)}}return n.\u0275fac=function(t){return new(t||n)(ke(Hn))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[],imports:[[WD,Xke,Zke,Jke,Qke]]}),n})();If.production&&function(){if(iB)throw new Error("Cannot enable prod mode after platform setup.");nB=!1}(),Ine().bootstrapModule(eFe).catch(n=>console.error(n))},1052:Vt=>{function Xe(lt,ee,Ct,je,Q,Ee,pe){try{var X=lt[Ee](pe),U=X.value}catch(F){return void Ct(F)}X.done?ee(U):Promise.resolve(U).then(je,Q)}Vt.exports=function(lt){return function(){var ee=this,Ct=arguments;return new Promise(function(je,Q){var Ee=lt.apply(ee,Ct);function pe(U){Xe(Ee,je,Q,pe,X,"next",U)}function X(U){Xe(Ee,je,Q,pe,X,"throw",U)}pe(void 0)})}},Vt.exports.default=Vt.exports,Vt.exports.__esModule=!0},1948:Vt=>{Vt.exports=function(et){return et&&et.__esModule?et:{default:et}},Vt.exports.default=Vt.exports,Vt.exports.__esModule=!0},4321:Vt=>{function Xe(et){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(Vt.exports=Xe=function(ee){return typeof ee},Vt.exports.default=Vt.exports,Vt.exports.__esModule=!0):(Vt.exports=Xe=function(ee){return ee&&"function"==typeof Symbol&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},Vt.exports.default=Vt.exports,Vt.exports.__esModule=!0),Xe(et)}Vt.exports=Xe,Vt.exports.default=Vt.exports,Vt.exports.__esModule=!0},9082:Vt=>{function Xe(et){return Promise.resolve().then(()=>{var lt=new Error("Cannot find module '"+et+"'");throw lt.code="MODULE_NOT_FOUND",lt})}Xe.keys=()=>[],Xe.resolve=Xe,Xe.id=9082,Vt.exports=Xe},9521:()=>{},9125:()=>{},5307:()=>{}},Vt=>{Vt(Vt.s=2829)}]); \ No newline at end of file diff --git a/organ-info/wc.js b/organ-info/wc.js index 3548841d0..42f458536 100644 --- a/organ-info/wc.js +++ b/organ-info/wc.js @@ -2,4 +2,4 @@ (self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[429],{4138:()=>{!function(){"use strict";!function(){if(void 0===window.Reflect||void 0===window.customElements||window.customElements.polyfillWrapFlushCallback)return;const G=HTMLElement;window.HTMLElement=function(){return Reflect.construct(G,[],this.constructor)},HTMLElement.prototype=G.prototype,HTMLElement.prototype.constructor=HTMLElement,Object.setPrototypeOf(HTMLElement,G)}()}()},142:()=>{!function(G,ne){"use strict";function he(){var e=Ge.splice(0,Ge.length);for(V=0;e.length;)e.shift().call(null,e.shift())}function ye(e,r){for(var i=0,h=e.length;i1)&&tt(this)}}}),x(o,Ee,{value:function(p){-1>0,me="__"+se+dt,be="addEventListener",Le="attached",ce="Callback",pe="detached",te="extends",Ee="attributeChanged"+ce,vt=Le+ce,rt="connected"+ce,mt="disconnected"+ce,qe="created"+ce,kt=pe+ce,ot="ADDITION",pt="REMOVAL",He="DOMAttrModified",bt="DOMContentLoaded",Et="DOMSubtreeModified",Xe="<",st="=",Mt=/^[A-Z][._A-Z0-9]*-[-._A-Z0-9]*$/,wt=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],Ne=[],Ye=[],le="",De=A.documentElement,Te=Ne.indexOf||function(e){for(var r=this.length;r--&&this[r]!==e;);return r},it=re.prototype,Pe=it.hasOwnProperty,at=it.isPrototypeOf,Re=re.defineProperty,Oe=[],Ke=re.getOwnPropertyDescriptor,Y=re.getOwnPropertyNames,Ct=re.getPrototypeOf,$e=re.setPrototypeOf,Se=!!re.__proto__,Je="__dreCEv1",Me=G.customElements,t=!/^force/.test(ne.type)&&!!(Me&&Me.define&&Me.get&&Me.whenDefined),a=re.create||re,u=G.Map||function(){var e,r=[],i=[];return{get:function(h){return i[Te.call(r,h)]},set:function(h,s){(e=Te.call(r,h))<0?i[r.push(h)-1]=s:i[e]=s}}},c=G.Promise||function(e){function r(o){for(h=!0;i.length;)i.shift()(o)}var i=[],h=!1,s={catch:function(){return s},then:function(o){return i.push(o),h&&setTimeout(r,1),s}};return e(r),s},f=!1,m=a(null),E=a(null),v=new u,C=function(e){return e.toLowerCase()},w=re.create||function e(r){return r?(e.prototype=r,new e):this},b=$e||(Se?function(e,r){return e.__proto__=r,e}:Y&&Ke?function(){function e(r,i){for(var h,s=Y(i),o=0,l=s.length;o
            ",new N(function(e,r){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var i=(Ce=Ke(P,"innerHTML"))&&Ce.set;i&&Re(P,"innerHTML",{set:function(h){for(;this.lastChild;)this.removeChild(this.lastChild);i.call(this,h)}})}r.disconnect(),Ce=null}).observe(Ce,{childList:!0,subtree:!0}),Ce.innerHTML=""),ue||($e||Se?(we=function(e,r){at.call(r,e)||Be(e,r)},ae=Be):ae=we=function(e,r){e[me]||(e[me]=re(!0),Be(e,r))},z?(I=!1,e=Ke(P,be),r=e.value,i=function(o){var l=new CustomEvent(He,{bubbles:!0});l.attrName=o,l.prevValue=R.call(this,o),l.newValue=null,l[pt]=l.attrChange=2,F.call(this,o),K.call(this,l)},h=function(o,l){var d=Q.call(this,o),p=d&&R.call(this,o),y=new CustomEvent(He,{bubbles:!0});$.call(this,o,l),y.attrName=o,y.prevValue=d?p:null,y.newValue=l,d?y.MODIFICATION=y.attrChange=1:y[ot]=y.attrChange=0,K.call(this,y)},s=function(o){var l,d=o.currentTarget,p=d[me],y=o.propertyName;p.hasOwnProperty(y)&&(p=p[y],(l=new CustomEvent(He,{bubbles:!0})).attrName=p.name,l.prevValue=p.value||null,l.newValue=p.value=d[y]||null,null==l.prevValue?l[ot]=l.attrChange=0:l.MODIFICATION=l.attrChange=1,K.call(d,l))},e.value=function(o,l,d){o===He&&this[Ee]&&this.setAttribute!==h&&(this[me]={className:{name:"class",value:this.className}},this.setAttribute=h,this.removeAttribute=i,r.call(this,"propertychange",s)),r.call(this,o,l,d)},Re(P,be,e)):N||(De[be](He,_e),De.setAttribute(me,1),De.removeAttribute(me),I&&(xe=function(e){var r,i,h,s=this;if(s===e.target){for(h in r=s[me],s[me]=i=nt(s),i){if(!(h in r))return ze(0,s,h,r[h],i[h],ot);if(i[h]!==r[h])return ze(1,s,h,r[h],i[h],"MODIFICATION")}for(h in r)if(!(h in i))return ze(2,s,h,r[h],i[h],pt)}},ze=function(e,r,i,h,s,o){var l={attrChange:e,currentTarget:r,attrName:i,prevValue:h,newValue:s};l[o]=e,Ue(l)},nt=function(e){for(var r,i,h={},s=e.attributes,o=0,l=s.length;o$");if(r[te]="a",(e.prototype=w(S.prototype)).constructor=e,G.customElements.define(i,e,r),!h.test(A.createElement("a",{is:i}).outerHTML)||!h.test((new e).outerHTML))throw r}(function e(){return Reflect.construct(S,[],e)},{},"document-register-element-a"+dt)}catch(e){ft()}if(!ne.noBuiltIn)try{if(O.call(A,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(e){C=function(r){return{is:r.toLowerCase()}}}}(window)},7277:()=>{"use strict";!function(t){const a=t.performance;function u(I){a&&a.mark&&a.mark(I)}function c(I,k){a&&a.measure&&a.measure(I,k)}u("Zone");const f=t.__Zone_symbol_prefix||"__zone_symbol__";function m(I){return f+I}const E=!0===t[m("forceDuplicateZoneCheck")];if(t.Zone){if(E||"function"!=typeof t.Zone.__symbol__)throw new Error("Zone already loaded.");return t.Zone}let v=(()=>{class I{constructor(n,e){this._parent=n,this._name=e?e.name||"unnamed":"",this._properties=e&&e.properties||{},this._zoneDelegate=new w(this,this._parent&&this._parent._zoneDelegate,e)}static assertZonePatched(){if(t.Promise!==oe.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let n=I.current;for(;n.parent;)n=n.parent;return n}static get current(){return V.zone}static get currentTask(){return ue}static __load_patch(n,e,r=!1){if(oe.hasOwnProperty(n)){if(!r&&E)throw Error("Already loaded patch: "+n)}else if(!t["__Zone_disable_"+n]){const i="Zone:"+n;u(i),oe[n]=e(t,I,_e),c(i,i)}}get parent(){return this._parent}get name(){return this._name}get(n){const e=this.getZoneWith(n);if(e)return e._properties[n]}getZoneWith(n){let e=this;for(;e;){if(e._properties.hasOwnProperty(n))return e;e=e._parent}return null}fork(n){if(!n)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,n)}wrap(n,e){if("function"!=typeof n)throw new Error("Expecting function got: "+n);const r=this._zoneDelegate.intercept(this,n,e),i=this;return function(){return i.runGuarded(r,this,arguments,e)}}run(n,e,r,i){V={parent:V,zone:this};try{return this._zoneDelegate.invoke(this,n,e,r,i)}finally{V=V.parent}}runGuarded(n,e=null,r,i){V={parent:V,zone:this};try{try{return this._zoneDelegate.invoke(this,n,e,r,i)}catch(h){if(this._zoneDelegate.handleError(this,h))throw h}}finally{V=V.parent}}runTask(n,e,r){if(n.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(n.zone||W).name+"; Execution: "+this.name+")");if(n.state===B&&(n.type===H||n.type===j))return;const i=n.state!=Q;i&&n._transitionTo(Q,R),n.runCount++;const h=ue;ue=n,V={parent:V,zone:this};try{n.type==j&&n.data&&!n.data.isPeriodic&&(n.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,n,e,r)}catch(s){if(this._zoneDelegate.handleError(this,s))throw s}}finally{n.state!==B&&n.state!==$&&(n.type==H||n.data&&n.data.isPeriodic?i&&n._transitionTo(R,Q):(n.runCount=0,this._updateTaskCount(n,-1),i&&n._transitionTo(B,Q,B))),V=V.parent,ue=h}}scheduleTask(n){if(n.zone&&n.zone!==this){let r=this;for(;r;){if(r===n.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${n.zone.name}`);r=r.parent}}n._transitionTo(K,B);const e=[];n._zoneDelegates=e,n._zone=this;try{n=this._zoneDelegate.scheduleTask(this,n)}catch(r){throw n._transitionTo($,K,B),this._zoneDelegate.handleError(this,r),r}return n._zoneDelegates===e&&this._updateTaskCount(n,1),n.state==K&&n._transitionTo(R,K),n}scheduleMicroTask(n,e,r,i){return this.scheduleTask(new b(O,n,e,r,i,void 0))}scheduleMacroTask(n,e,r,i,h){return this.scheduleTask(new b(j,n,e,r,i,h))}scheduleEventTask(n,e,r,i,h){return this.scheduleTask(new b(H,n,e,r,i,h))}cancelTask(n){if(n.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(n.zone||W).name+"; Execution: "+this.name+")");n._transitionTo(F,R,Q);try{this._zoneDelegate.cancelTask(this,n)}catch(e){throw n._transitionTo($,F),this._zoneDelegate.handleError(this,e),e}return this._updateTaskCount(n,-1),n._transitionTo(B,F),n.runCount=0,n}_updateTaskCount(n,e){const r=n._zoneDelegates;-1==e&&(n._zoneDelegates=null);for(let i=0;iI.hasTask(n,e),onScheduleTask:(I,k,n,e)=>I.scheduleTask(n,e),onInvokeTask:(I,k,n,e,r,i)=>I.invokeTask(n,e,r,i),onCancelTask:(I,k,n,e)=>I.cancelTask(n,e)};class w{constructor(k,n,e){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=k,this._parentDelegate=n,this._forkZS=e&&(e&&e.onFork?e:n._forkZS),this._forkDlgt=e&&(e.onFork?n:n._forkDlgt),this._forkCurrZone=e&&(e.onFork?this.zone:n._forkCurrZone),this._interceptZS=e&&(e.onIntercept?e:n._interceptZS),this._interceptDlgt=e&&(e.onIntercept?n:n._interceptDlgt),this._interceptCurrZone=e&&(e.onIntercept?this.zone:n._interceptCurrZone),this._invokeZS=e&&(e.onInvoke?e:n._invokeZS),this._invokeDlgt=e&&(e.onInvoke?n:n._invokeDlgt),this._invokeCurrZone=e&&(e.onInvoke?this.zone:n._invokeCurrZone),this._handleErrorZS=e&&(e.onHandleError?e:n._handleErrorZS),this._handleErrorDlgt=e&&(e.onHandleError?n:n._handleErrorDlgt),this._handleErrorCurrZone=e&&(e.onHandleError?this.zone:n._handleErrorCurrZone),this._scheduleTaskZS=e&&(e.onScheduleTask?e:n._scheduleTaskZS),this._scheduleTaskDlgt=e&&(e.onScheduleTask?n:n._scheduleTaskDlgt),this._scheduleTaskCurrZone=e&&(e.onScheduleTask?this.zone:n._scheduleTaskCurrZone),this._invokeTaskZS=e&&(e.onInvokeTask?e:n._invokeTaskZS),this._invokeTaskDlgt=e&&(e.onInvokeTask?n:n._invokeTaskDlgt),this._invokeTaskCurrZone=e&&(e.onInvokeTask?this.zone:n._invokeTaskCurrZone),this._cancelTaskZS=e&&(e.onCancelTask?e:n._cancelTaskZS),this._cancelTaskDlgt=e&&(e.onCancelTask?n:n._cancelTaskDlgt),this._cancelTaskCurrZone=e&&(e.onCancelTask?this.zone:n._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const r=e&&e.onHasTask;(r||n&&n._hasTaskZS)&&(this._hasTaskZS=r?e:C,this._hasTaskDlgt=n,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=k,e.onScheduleTask||(this._scheduleTaskZS=C,this._scheduleTaskDlgt=n,this._scheduleTaskCurrZone=this.zone),e.onInvokeTask||(this._invokeTaskZS=C,this._invokeTaskDlgt=n,this._invokeTaskCurrZone=this.zone),e.onCancelTask||(this._cancelTaskZS=C,this._cancelTaskDlgt=n,this._cancelTaskCurrZone=this.zone))}fork(k,n){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,k,n):new v(k,n)}intercept(k,n,e){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,k,n,e):n}invoke(k,n,e,r,i){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,k,n,e,r,i):n.apply(e,r)}handleError(k,n){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,k,n)}scheduleTask(k,n){let e=n;if(this._scheduleTaskZS)this._hasTaskZS&&e._zoneDelegates.push(this._hasTaskDlgtOwner),e=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,k,n),e||(e=n);else if(n.scheduleFn)n.scheduleFn(n);else{if(n.type!=O)throw new Error("Task is missing scheduleFn.");T(n)}return e}invokeTask(k,n,e,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,k,n,e,r):n.callback.apply(e,r)}cancelTask(k,n){let e;if(this._cancelTaskZS)e=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,k,n);else{if(!n.cancelFn)throw Error("Task is not cancelable");e=n.cancelFn(n)}return e}hasTask(k,n){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,k,n)}catch(e){this.handleError(k,e)}}_updateTaskCount(k,n){const e=this._taskCounts,r=e[k],i=e[k]=r+n;if(i<0)throw new Error("More tasks executed then were scheduled.");0!=r&&0!=i||this.hasTask(this.zone,{microTask:e.microTask>0,macroTask:e.macroTask>0,eventTask:e.eventTask>0,change:k})}}class b{constructor(k,n,e,r,i,h){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=k,this.source=n,this.data=r,this.scheduleFn=i,this.cancelFn=h,!e)throw new Error("callback is not defined");this.callback=e;const s=this;this.invoke=k===H&&r&&r.useG?b.invokeTask:function(){return b.invokeTask.call(t,s,this,arguments)}}static invokeTask(k,n,e){k||(k=this),fe++;try{return k.runCount++,k.zone.runTask(k,n,e)}finally{1==fe&&Z(),fe--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(B,K)}_transitionTo(k,n,e){if(this._state!==n&&this._state!==e)throw new Error(`${this.type} '${this.source}': can not transition to '${k}', expecting state '${n}'${e?" or '"+e+"'":""}, was '${this._state}'.`);this._state=k,k==B&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const N=m("setTimeout"),S=m("Promise"),P=m("then");let L,z=[],x=!1;function T(I){if(0===fe&&0===z.length)if(L||t[S]&&(L=t[S].resolve(0)),L){let k=L[P];k||(k=L.then),k.call(L,Z)}else t[N](Z,0);I&&z.push(I)}function Z(){if(!x){for(x=!0;z.length;){const I=z;z=[];for(let k=0;kV,onUnhandledError:X,microtaskDrainDone:X,scheduleMicroTask:T,showUncaughtError:()=>!v[m("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:X,patchMethod:()=>X,bindArguments:()=>[],patchThen:()=>X,patchMacroTask:()=>X,patchEventPrototype:()=>X,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>X,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>X,wrapWithCurrentZone:()=>X,filterProperties:()=>[],attachOriginToPatched:()=>X,_redefineProperty:()=>X,patchCallbacks:()=>X};let V={parent:null,zone:new v(null,null)},ue=null,fe=0;function X(){}c("Zone","Zone"),t.Zone=v}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);const ne=Object.getOwnPropertyDescriptor,he=Object.defineProperty,ye=Object.getPrototypeOf,_t=Object.create,Ve=Array.prototype.slice,Ie="addEventListener",Ze="removeEventListener",Ue=Zone.__symbol__(Ie),et=Zone.__symbol__(Ze),de="true",ve="false",Ae=Zone.__symbol__("");function Be(t,a){return Zone.current.wrap(t,a)}function lt(t,a,u,c,f){return Zone.current.scheduleMacroTask(t,a,u,c,f)}const U=Zone.__symbol__,je="undefined"!=typeof window,ke=je?window:void 0,J=je&&ke||"object"==typeof self&&self||global,yt=[null];function tt(t,a){for(let u=t.length-1;u>=0;u--)"function"==typeof t[u]&&(t[u]=Be(t[u],a+"_"+u));return t}function ft(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&void 0===t.set)}const A="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,re=!("nw"in J)&&void 0!==J.process&&"[object process]"==={}.toString.call(J.process),ht=!re&&!A&&!(!je||!ke.HTMLElement),Ge=void 0!==J.process&&"[object process]"==={}.toString.call(J.process)&&!A&&!(!je||!ke.HTMLElement),xe={},ze=function(t){if(!(t=t||J.event))return;let a=xe[t.type];a||(a=xe[t.type]=U("ON_PROPERTY"+t.type));const u=this||t.target||J,c=u[a];let f;if(ht&&u===ke&&"error"===t.type){const m=t;f=c&&c.call(this,m.message,m.filename,m.lineno,m.colno,m.error),!0===f&&t.preventDefault()}else f=c&&c.apply(this,arguments),null!=f&&!f&&t.preventDefault();return f};function nt(t,a,u){let c=ne(t,a);if(!c&&u&&ne(u,a)&&(c={enumerable:!0,configurable:!0}),!c||!c.configurable)return;const f=U("on"+a+"patched");if(t.hasOwnProperty(f)&&t[f])return;delete c.writable,delete c.value;const m=c.get,E=c.set,v=a.substr(2);let C=xe[v];C||(C=xe[v]=U("ON_PROPERTY"+v)),c.set=function(w){let b=this;!b&&t===J&&(b=J),b&&(b[C]&&b.removeEventListener(v,ze),E&&E.apply(b,yt),"function"==typeof w?(b[C]=w,b.addEventListener(v,ze,!1)):b[C]=null)},c.get=function(){let w=this;if(!w&&t===J&&(w=J),!w)return null;const b=w[C];if(b)return b;if(m){let N=m&&m.call(this);if(N)return c.set.call(this,N),"function"==typeof w.removeAttribute&&w.removeAttribute(a),N}return null},he(t,a,c),t[f]=!0}function We(t,a,u){if(a)for(let c=0;cfunction(E,v){const C=u(E,v);return C.cbIdx>=0&&"function"==typeof v[C.cbIdx]?lt(C.name,v[C.cbIdx],C,f):m.apply(E,v)})}function se(t,a){t[U("OriginalDelegate")]=a}let dt=!1,me=!1;function Le(){if(dt)return me;dt=!0;try{const t=ke.navigator.userAgent;(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/")||-1!==t.indexOf("Edge/"))&&(me=!0)}catch(t){}return me}Zone.__load_patch("ZoneAwarePromise",(t,a,u)=>{const c=Object.getOwnPropertyDescriptor,f=Object.defineProperty,E=u.symbol,v=[],C=!0===t[E("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],w=E("Promise"),b=E("then");u.onUnhandledError=s=>{if(u.showUncaughtError()){const o=s&&s.rejection;o?console.error("Unhandled Promise rejection:",o instanceof Error?o.message:o,"; Zone:",s.zone.name,"; Task:",s.task&&s.task.source,"; Value:",o,o instanceof Error?o.stack:void 0):console.error(s)}},u.microtaskDrainDone=()=>{for(;v.length;){const s=v.shift();try{s.zone.runGuarded(()=>{throw s.throwOriginal?s.rejection:s})}catch(o){P(o)}}};const S=E("unhandledPromiseRejectionHandler");function P(s){u.onUnhandledError(s);try{const o=a[S];"function"==typeof o&&o.call(this,s)}catch(o){}}function z(s){return s&&s.then}function x(s){return s}function L(s){return n.reject(s)}const T=E("state"),Z=E("value"),W=E("finally"),B=E("parentPromiseValue"),K=E("parentPromiseState"),Q=null,F=!0,$=!1;function j(s,o){return l=>{try{V(s,o,l)}catch(d){V(s,!1,d)}}}const _e=E("currentTaskTrace");function V(s,o,l){const d=function(){let s=!1;return function(l){return function(){s||(s=!0,l.apply(null,arguments))}}}();if(s===l)throw new TypeError("Promise resolved with itself");if(s[T]===Q){let p=null;try{("object"==typeof l||"function"==typeof l)&&(p=l&&l.then)}catch(y){return d(()=>{V(s,!1,y)})(),s}if(o!==$&&l instanceof n&&l.hasOwnProperty(T)&&l.hasOwnProperty(Z)&&l[T]!==Q)fe(l),V(s,l[T],l[Z]);else if(o!==$&&"function"==typeof p)try{p.call(l,d(j(s,o)),d(j(s,!1)))}catch(y){d(()=>{V(s,!1,y)})()}else{s[T]=o;const y=s[Z];if(s[Z]=l,s[W]===W&&o===F&&(s[T]=s[K],s[Z]=s[B]),o===$&&l instanceof Error){const _=a.currentTask&&a.currentTask.data&&a.currentTask.data.__creationTrace__;_&&f(l,_e,{configurable:!0,enumerable:!1,writable:!0,value:_})}for(let _=0;_{try{const g=s[Z],M=!!l&&W===l[W];M&&(l[B]=g,l[K]=y);const D=o.run(_,void 0,M&&_!==L&&_!==x?[]:[g]);V(l,!0,D)}catch(g){V(l,!1,g)}},l)}const k=function(){};class n{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(o){return V(new this(null),F,o)}static reject(o){return V(new this(null),$,o)}static race(o){let l,d,p=new this((g,M)=>{l=g,d=M});function y(g){l(g)}function _(g){d(g)}for(let g of o)z(g)||(g=this.resolve(g)),g.then(y,_);return p}static all(o){return n.allWithCallback(o)}static allSettled(o){return(this&&this.prototype instanceof n?this:n).allWithCallback(o,{thenCallback:d=>({status:"fulfilled",value:d}),errorCallback:d=>({status:"rejected",reason:d})})}static allWithCallback(o,l){let d,p,y=new this((D,q)=>{d=D,p=q}),_=2,g=0;const M=[];for(let D of o){z(D)||(D=this.resolve(D));const q=g;try{D.then(ee=>{M[q]=l?l.thenCallback(ee):ee,_--,0===_&&d(M)},ee=>{l?(M[q]=l.errorCallback(ee),_--,0===_&&d(M)):p(ee)})}catch(ee){p(ee)}_++,g++}return _-=2,0===_&&d(M),y}constructor(o){const l=this;if(!(l instanceof n))throw new Error("Must be an instanceof Promise.");l[T]=Q,l[Z]=[];try{o&&o(j(l,F),j(l,$))}catch(d){V(l,!1,d)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return n}then(o,l){let d=this.constructor[Symbol.species];(!d||"function"!=typeof d)&&(d=this.constructor||n);const p=new d(k),y=a.current;return this[T]==Q?this[Z].push(y,p,o,l):X(this,y,p,o,l),p}catch(o){return this.then(null,o)}finally(o){let l=this.constructor[Symbol.species];(!l||"function"!=typeof l)&&(l=n);const d=new l(k);d[W]=W;const p=a.current;return this[T]==Q?this[Z].push(p,d,o,o):X(this,p,d,o,o),d}}n.resolve=n.resolve,n.reject=n.reject,n.race=n.race,n.all=n.all;const e=t[w]=t.Promise;t.Promise=n;const r=E("thenPatched");function i(s){const o=s.prototype,l=c(o,"then");if(l&&(!1===l.writable||!l.configurable))return;const d=o.then;o[b]=d,s.prototype.then=function(p,y){return new n((g,M)=>{d.call(this,g,M)}).then(p,y)},s[r]=!0}return u.patchThen=i,e&&(i(e),ae(t,"fetch",s=>function(s){return function(o,l){let d=s.apply(o,l);if(d instanceof n)return d;let p=d.constructor;return p[r]||i(p),d}}(s))),Promise[a.__symbol__("uncaughtPromiseErrors")]=v,n}),Zone.__load_patch("toString",t=>{const a=Function.prototype.toString,u=U("OriginalDelegate"),c=U("Promise"),f=U("Error"),m=function(){if("function"==typeof this){const w=this[u];if(w)return"function"==typeof w?a.call(w):Object.prototype.toString.call(w);if(this===Promise){const b=t[c];if(b)return a.call(b)}if(this===Error){const b=t[f];if(b)return a.call(b)}}return a.call(this)};m[u]=a,Function.prototype.toString=m;const E=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":E.call(this)}});let ce=!1;if("undefined"!=typeof window)try{const t=Object.defineProperty({},"passive",{get:function(){ce=!0}});window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){ce=!1}const pe={useG:!0},te={},Ee={},vt=new RegExp("^"+Ae+"(\\w+)(true|false)$"),rt=U("propagationStopped");function mt(t,a){const u=(a?a(t):t)+ve,c=(a?a(t):t)+de,f=Ae+u,m=Ae+c;te[t]={},te[t][ve]=f,te[t][de]=m}function qe(t,a,u){const c=u&&u.add||Ie,f=u&&u.rm||Ze,m=u&&u.listeners||"eventListeners",E=u&&u.rmAll||"removeAllListeners",v=U(c),C="."+c+":",N=function(L,T,Z){if(L.isRemoved)return;const W=L.callback;"object"==typeof W&&W.handleEvent&&(L.callback=K=>W.handleEvent(K),L.originalDelegate=W),L.invoke(L,T,[Z]);const B=L.options;B&&"object"==typeof B&&B.once&&T[f].call(T,Z.type,L.originalDelegate?L.originalDelegate:L.callback,B)},S=function(L){if(!(L=L||t.event))return;const T=this||L.target||t,Z=T[te[L.type][ve]];if(Z)if(1===Z.length)N(Z[0],T,L);else{const W=Z.slice();for(let B=0;Bfunction(f,m){f[rt]=!0,c&&c.apply(f,m)})}function pt(t,a,u,c,f){const m=Zone.__symbol__(c);if(a[m])return;const E=a[m]=a[c];a[c]=function(v,C,w){return C&&C.prototype&&f.forEach(function(b){const N=`${u}.${c}::`+b,S=C.prototype;if(S.hasOwnProperty(b)){const P=t.ObjectGetOwnPropertyDescriptor(S,b);P&&P.value?(P.value=t.wrapWithCurrentZone(P.value,N),t._redefineProperty(C.prototype,b,P)):S[b]&&(S[b]=t.wrapWithCurrentZone(S[b],N))}else S[b]&&(S[b]=t.wrapWithCurrentZone(S[b],N))}),E.call(a,v,C,w)},t.attachOriginToPatched(a[c],E)}const Et=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],st=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],le=["load"],De=["blur","error","focus","load","resize","scroll","messageerror"],Te=["bounce","finish","start"],it=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],Pe=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],at=["close","error","open","message"],Re=["error","message"],Oe=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],Et,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function Ke(t,a,u){if(!u||0===u.length)return a;const c=u.filter(m=>m.target===t);if(!c||0===c.length)return a;const f=c[0].ignoreProperties;return a.filter(m=>-1===f.indexOf(m))}function Y(t,a,u,c){t&&We(t,Ke(t,a,u),c)}Zone.__load_patch("util",(t,a,u)=>{u.patchOnProperties=We,u.patchMethod=ae,u.bindArguments=tt,u.patchMacroTask=Ce;const c=a.__symbol__("BLACK_LISTED_EVENTS"),f=a.__symbol__("UNPATCHED_EVENTS");t[f]&&(t[c]=t[f]),t[c]&&(a[c]=a[f]=t[c]),u.patchEventPrototype=ot,u.patchEventTarget=qe,u.isIEOrEdge=Le,u.ObjectDefineProperty=he,u.ObjectGetOwnPropertyDescriptor=ne,u.ObjectCreate=_t,u.ArraySlice=Ve,u.patchClass=we,u.wrapWithCurrentZone=Be,u.filterProperties=Ke,u.attachOriginToPatched=se,u._redefineProperty=Object.defineProperty,u.patchCallbacks=pt,u.getGlobalObjects=()=>({globalSources:Ee,zoneSymbolEventNames:te,eventNames:Oe,isBrowser:ht,isMix:Ge,isNode:re,TRUE_STR:de,FALSE_STR:ve,ZONE_SYMBOL_PREFIX:Ae,ADD_EVENT_LISTENER_STR:Ie,REMOVE_EVENT_LISTENER_STR:Ze})});const $e=U("zoneTask");function Se(t,a,u,c){let f=null,m=null;u+=c;const E={};function v(w){const b=w.data;return b.args[0]=function(){return w.invoke.apply(this,arguments)},b.handleId=f.apply(t,b.args),w}function C(w){return m.call(t,w.data.handleId)}f=ae(t,a+=c,w=>function(b,N){if("function"==typeof N[0]){const S={isPeriodic:"Interval"===c,delay:"Timeout"===c||"Interval"===c?N[1]||0:void 0,args:N},P=N[0];N[0]=function(){try{return P.apply(this,arguments)}finally{S.isPeriodic||("number"==typeof S.handleId?delete E[S.handleId]:S.handleId&&(S.handleId[$e]=null))}};const z=lt(a,N[0],S,v,C);if(!z)return z;const x=z.data.handleId;return"number"==typeof x?E[x]=z:x&&(x[$e]=z),x&&x.ref&&x.unref&&"function"==typeof x.ref&&"function"==typeof x.unref&&(z.ref=x.ref.bind(x),z.unref=x.unref.bind(x)),"number"==typeof x||x?x:z}return w.apply(t,N)}),m=ae(t,u,w=>function(b,N){const S=N[0];let P;"number"==typeof S?P=E[S]:(P=S&&S[$e],P||(P=S)),P&&"string"==typeof P.type?"notScheduled"!==P.state&&(P.cancelFn&&P.data.isPeriodic||0===P.runCount)&&("number"==typeof S?delete E[S]:S&&(S[$e]=null),P.zone.cancelTask(P)):w.apply(t,N)})}Zone.__load_patch("legacy",t=>{const a=t[Zone.__symbol__("legacyPatch")];a&&a()}),Zone.__load_patch("queueMicrotask",(t,a,u)=>{u.patchMethod(t,"queueMicrotask",c=>function(f,m){a.current.scheduleMicroTask("queueMicrotask",m[0])})}),Zone.__load_patch("timers",t=>{const a="set",u="clear";Se(t,a,u,"Timeout"),Se(t,a,u,"Interval"),Se(t,a,u,"Immediate")}),Zone.__load_patch("requestAnimationFrame",t=>{Se(t,"request","cancel","AnimationFrame"),Se(t,"mozRequest","mozCancel","AnimationFrame"),Se(t,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(t,a)=>{const u=["alert","prompt","confirm"];for(let c=0;cfunction(C,w){return a.current.run(m,t,w,v)})}),Zone.__load_patch("EventTarget",(t,a,u)=>{(function(t,a){a.patchEventPrototype(t,a)})(t,u),function(t,a){if(Zone[a.symbol("patchEventTarget")])return;const{eventNames:u,zoneSymbolEventNames:c,TRUE_STR:f,FALSE_STR:m,ZONE_SYMBOL_PREFIX:E}=a.getGlobalObjects();for(let C=0;C{we("MutationObserver"),we("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(t,a,u)=>{we("IntersectionObserver")}),Zone.__load_patch("FileReader",(t,a,u)=>{we("FileReader")}),Zone.__load_patch("on_property",(t,a,u)=>{!function(t,a){if(re&&!Ge||Zone[t.symbol("patchEvents")])return;const u="undefined"!=typeof WebSocket,c=a.__Zone_ignore_on_properties;if(ht){const E=window,v=function(){try{const t=ke.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch(t){}return!1}()?[{target:E,ignoreProperties:["error"]}]:[];Y(E,Oe.concat(["messageerror"]),c&&c.concat(v),ye(E)),Y(Document.prototype,Oe,c),void 0!==E.SVGElement&&Y(E.SVGElement.prototype,Oe,c),Y(Element.prototype,Oe,c),Y(HTMLElement.prototype,Oe,c),Y(HTMLMediaElement.prototype,st,c),Y(HTMLFrameSetElement.prototype,Et.concat(De),c),Y(HTMLBodyElement.prototype,Et.concat(De),c),Y(HTMLFrameElement.prototype,le,c),Y(HTMLIFrameElement.prototype,le,c);const C=E.HTMLMarqueeElement;C&&Y(C.prototype,Te,c);const w=E.Worker;w&&Y(w.prototype,Re,c)}const f=a.XMLHttpRequest;f&&Y(f.prototype,it,c);const m=a.XMLHttpRequestEventTarget;m&&Y(m&&m.prototype,it,c),"undefined"!=typeof IDBIndex&&(Y(IDBIndex.prototype,Pe,c),Y(IDBRequest.prototype,Pe,c),Y(IDBOpenDBRequest.prototype,Pe,c),Y(IDBDatabase.prototype,Pe,c),Y(IDBTransaction.prototype,Pe,c),Y(IDBCursor.prototype,Pe,c)),u&&Y(WebSocket.prototype,at,c)}(u,t)}),Zone.__load_patch("customElements",(t,a,u)=>{!function(t,a){const{isBrowser:u,isMix:c}=a.getGlobalObjects();(u||c)&&t.customElements&&"customElements"in t&&a.patchCallbacks(a,t.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(t,u)}),Zone.__load_patch("XHR",(t,a)=>{!function(w){const b=w.XMLHttpRequest;if(!b)return;const N=b.prototype;let P=N[Ue],z=N[et];if(!P){const O=w.XMLHttpRequestEventTarget;if(O){const j=O.prototype;P=j[Ue],z=j[et]}}const x="readystatechange",L="scheduled";function T(O){const j=O.data,H=j.target;H[m]=!1,H[v]=!1;const oe=H[f];P||(P=H[Ue],z=H[et]),oe&&z.call(H,x,oe);const _e=H[f]=()=>{if(H.readyState===H.DONE)if(!j.aborted&&H[m]&&O.state===L){const ue=H[a.__symbol__("loadfalse")];if(0!==H.status&&ue&&ue.length>0){const fe=O.invoke;O.invoke=function(){const X=H[a.__symbol__("loadfalse")];for(let I=0;Ifunction(O,j){return O[c]=0==j[2],O[E]=j[1],B.apply(O,j)}),R=U("fetchTaskAborting"),Q=U("fetchTaskScheduling"),F=ae(N,"send",()=>function(O,j){if(!0===a.current[Q]||O[c])return F.apply(O,j);{const H={target:O,url:O[E],isPeriodic:!1,args:j,aborted:!1},oe=lt("XMLHttpRequest.send",Z,H,T,W);O&&!0===O[v]&&!H.aborted&&oe.state===L&&oe.invoke()}}),$=ae(N,"abort",()=>function(O,j){const H=function(O){return O[u]}(O);if(H&&"string"==typeof H.type){if(null==H.cancelFn||H.data&&H.data.aborted)return;H.zone.cancelTask(H)}else if(!0===a.current[R])return $.apply(O,j)})}(t);const u=U("xhrTask"),c=U("xhrSync"),f=U("xhrListener"),m=U("xhrScheduled"),E=U("xhrURL"),v=U("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",t=>{t.navigator&&t.navigator.geolocation&&function(t,a){const u=t.constructor.name;for(let c=0;c{const C=function(){return v.apply(this,tt(arguments,u+"."+f))};return se(C,v),C})(m)}}}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(t,a)=>{function u(c){return function(f){kt(t,c).forEach(E=>{const v=t.PromiseRejectionEvent;if(v){const C=new v(c,{promise:f.promise,reason:f.rejection});E.invoke(C)}})}}t.PromiseRejectionEvent&&(a[U("unhandledPromiseRejectionHandler")]=u("unhandledrejection"),a[U("rejectionHandledHandler")]=u("rejectionhandled"))})},8454:(G,ne,he)=>{"use strict";he(7277),he(142),he(4138)}},G=>{G(G.s=8454)}]); /*! (C) Andrea Giammarchi - @WebReflection - ISC Style License */ !function(e,t){"use strict";function n(){var e=C.splice(0,C.length);for(We=0;e.length;)e.shift().call(null,e.shift())}function r(e,t){for(var n=0,r=e.length;n1)&&E(this)}}}),Pe(l,B,{value:function(e){-1>0,R="__"+V+P,U="addEventListener",_="attached",k="Callback",x="detached",q="extends",B="attributeChanged"+k,Z=_+k,j="connected"+k,G="disconnected"+k,z="created"+k,K=x+k,X="ADDITION",$="REMOVAL",Q="DOMAttrModified",W="DOMContentLoaded",Y="DOMSubtreeModified",J="<",ee="=",te=/^[A-Z][._A-Z0-9]*-[-._A-Z0-9]*$/,ne=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],re=[],oe=[],le="",ae=g.documentElement,ie=re.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},ue=b.prototype,ce=ue.hasOwnProperty,se=ue.isPrototypeOf,me=b.defineProperty,fe=[],de=b.getOwnPropertyDescriptor,pe=b.getOwnPropertyNames,he=b.getPrototypeOf,Te=b.setPrototypeOf,Le=!!b.__proto__,Me="__dreCEv1",Ee=e.customElements,ve=!/^force/.test(t.type)&&!!(Ee&&Ee.define&&Ee.get&&Ee.whenDefined),He=b.create||b,ge=e.Map||function(){var e,t=[],n=[];return{get:function(e){return n[ie.call(t,e)]},set:function(r,o){(e=ie.call(t,r))<0?n[t.push(r)-1]=o:n[e]=o}}},be=e.Promise||function(e){function t(e){for(r=!0;n.length;)n.shift()(e)}var n=[],r=!1,o={catch:function(){return o},then:function(e){return n.push(e),r&&setTimeout(t,1),o}};return e(t),o},ye=!1,Ce=He(null),we=He(null),Ae=new ge,Oe=function(e){return e.toLowerCase()},Ne=b.create||function e(t){return t?(e.prototype=t,new e):this},De=Te||(Le?function(e,t){return e.__proto__=t,e}:pe&&de?function(){function e(e,t){for(var n,r=pe(t),o=0,l=r.length;o
          • ",new Ie(function(e,t){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var n=(S=de(Se,"innerHTML"))&&S.set;n&&me(Se,"innerHTML",{set:function(e){for(;this.lastChild;)this.removeChild(this.lastChild);n.call(this,e)}})}t.disconnect(),S=null}).observe(S,{childList:!0,subtree:!0}),S.innerHTML=""),Ye||(Te||Le?(I=function(e,t){se.call(t,e)||f(e,t)},F=f):F=I=function(e,t){e[R]||(e[R]=b(!0),f(e,t))},Ve?(tt=!1,function(){var e=de(Se,U),t=e.value,n=function(e){var t=new CustomEvent(Q,{bubbles:!0});t.attrName=e,t.prevValue=Be.call(this,e),t.newValue=null,t[$]=t.attrChange=2,je.call(this,e),qe.call(this,t)},r=function(e,t){var n=Ze.call(this,e),r=n&&Be.call(this,e),o=new CustomEvent(Q,{bubbles:!0});Ge.call(this,e,t),o.attrName=e,o.prevValue=n?r:null,o.newValue=t,n?o.MODIFICATION=o.attrChange=1:o[X]=o.attrChange=0,qe.call(this,o)},o=function(e){var t,n=e.currentTarget,r=n[R],o=e.propertyName;r.hasOwnProperty(o)&&(r=r[o],(t=new CustomEvent(Q,{bubbles:!0})).attrName=r.name,t.prevValue=r.value||null,t.newValue=r.value=n[o]||null,null==t.prevValue?t[X]=t.attrChange=0:t.MODIFICATION=t.attrChange=1,qe.call(n,t))};e.value=function(e,l,a){e===Q&&this[B]&&this.setAttribute!==r&&(this[R]={className:{name:"class",value:this.className}},this.setAttribute=r,this.removeAttribute=n,t.call(this,"propertychange",o)),t.call(this,e,l,a)},me(Se,U,e)}()):Ie||(ae[U](Q,Qe),ae.setAttribute(R,1),ae.removeAttribute(R),tt&&(w=function(e){var t,n,r,o=this;if(o===e.target){for(r in t=o[R],o[R]=n=O(o),n){if(!(r in t))return A(0,o,r,t[r],n[r],X);if(n[r]!==t[r])return A(1,o,r,t[r],n[r],"MODIFICATION")}for(r in t)if(!(r in n))return A(2,o,r,t[r],n[r],$)}},A=function(e,t,n,r,o,l){var a={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:o};a[l]=e,i(a)},O=function(e){for(var t,n,r={},o=e.attributes,l=0,a=o.length;l$");if(n[q]="a",(t.prototype=Ne(Fe.prototype)).constructor=t,e.customElements.define(r,t,n),!o.test(g.createElement("a",{is:r}).outerHTML)||!o.test((new t).outerHTML))throw n}(function e(){return Reflect.construct(Fe,[],e)},{},"document-register-element-a"+P)}catch(e){H()}if(!t.noBuiltIn)try{if(ze.call(g,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(e){Oe=function(e){return{is:e.toLowerCase()}}}}(window); -var JFe=Object.defineProperty,e2e=Object.defineProperties,t2e=Object.getOwnPropertyDescriptors,S1=Object.getOwnPropertySymbols,Oq=Object.prototype.hasOwnProperty,Rq=Object.prototype.propertyIsEnumerable,Er=Math.pow,Pq=(Ut,it,et)=>it in Ut?JFe(Ut,it,{enumerable:!0,configurable:!0,writable:!0,value:et}):Ut[it]=et,ot=(Ut,it)=>{for(var et in it||(it={}))Oq.call(it,et)&&Pq(Ut,et,it[et]);if(S1)for(var et of S1(it))Rq.call(it,et)&&Pq(Ut,et,it[et]);return Ut},Sn=(Ut,it)=>e2e(Ut,t2e(it)),Nq=(Ut,it)=>{var et={};for(var yt in Ut)Oq.call(Ut,yt)&&it.indexOf(yt)<0&&(et[yt]=Ut[yt]);if(null!=Ut&&S1)for(var yt of S1(Ut))it.indexOf(yt)<0&&Rq.call(Ut,yt)&&(et[yt]=Ut[yt]);return et};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{1440:(Ut,it,et)=>{var yt=et(1052).default;Ut.exports=function Y(Se,he,W){function j(H,w){if(!he[H]){if(!Se[H]){if(k)return k(H,!0);var R=new Error("Cannot find module '"+H+"'");throw R.code="MODULE_NOT_FOUND",R}var T=he[H]={exports:{}};Se[H][0].call(T.exports,function(b){return j(Se[H][1][b]||b)},T,T.exports,Y,Se,he,W)}return he[H].exports}for(var k=void 0,Q=0;Q0&&G[G.length-1])&&(6===_t[0]||2===_t[0])){qe=0;continue}if(3===_t[0]&&(!G||_t[1]>G[0]&&_t[1]0?ue-4:ue;for($=0;$>16&255,O[K++]=P>>8&255,O[K++]=255&P;return 2===I&&(P=j[z.charCodeAt($)]<<2|j[z.charCodeAt($+1)]>>4,O[K++]=255&P),1===I&&(P=j[z.charCodeAt($)]<<10|j[z.charCodeAt($+1)]<<4|j[z.charCodeAt($+2)]>>2,O[K++]=P>>8&255,O[K++]=255&P),O},he.fromByteArray=function(z){for(var P,X=z.length,ue=X%3,I=[],O=16383,K=0,E=X-ue;KE?E:K+O));return 1===ue?I.push(W[(P=z[X-1])>>2]+W[P<<4&63]+"=="):2===ue&&I.push(W[(P=(z[X-2]<<8)+z[X-1])>>10]+W[P>>4&63]+W[P<<2&63]+"="),I.join("")};for(var W=[],j=[],k="undefined"!=typeof Uint8Array?Uint8Array:Array,Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",H=0,w=Q.length;H0)throw new Error("Invalid string. Length must be a multiple of 4");var X=z.indexOf("=");return-1===X&&(X=P),[X,X===P?0:4-X%4]}function y(z){return W[z>>18&63]+W[z>>12&63]+W[z>>6&63]+W[63&z]}function S(z,P,X){for(var I=[],O=P;O>5==6?2:I>>4==14?3:I>>3==30?4:I>>6==2?-1:-2}function T(I){var O=this.lastTotal-this.lastNeed,K=function(I,O,K){if(128!=(192&O[0]))return I.lastNeed=0,"\ufffd";if(I.lastNeed>1&&O.length>1){if(128!=(192&O[1]))return I.lastNeed=1,"\ufffd";if(I.lastNeed>2&&O.length>2&&128!=(192&O[2]))return I.lastNeed=2,"\ufffd"}}(this,I);return void 0!==K?K:this.lastNeed<=I.length?(I.copy(this.lastChar,O,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(I.copy(this.lastChar,O,0,I.length),void(this.lastNeed-=I.length))}function S(I,O){if((I.length-O)%2==0){var K=I.toString("utf16le",O);if(K){var E=K.charCodeAt(K.length-1);if(E>=55296&&E<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=I[I.length-2],this.lastChar[1]=I[I.length-1],K.slice(0,-1)}return K}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=I[I.length-1],I.toString("utf16le",O,I.length-1)}function A(I){var O=I&&I.length?this.write(I):"";return this.lastNeed?O+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):O}function z(I,O){var K=(I.length-O)%3;return 0===K?I.toString("base64",O):(this.lastNeed=3-K,this.lastTotal=3,1===K?this.lastChar[0]=I[I.length-1]:(this.lastChar[0]=I[I.length-2],this.lastChar[1]=I[I.length-1]),I.toString("base64",O,I.length-K))}function P(I){var O=I&&I.length?this.write(I):"";return this.lastNeed?O+this.lastChar.toString("base64",0,3-this.lastNeed):O}function X(I){return I.toString(this.encoding)}function ue(I){return I&&I.length?this.write(I):""}he.StringDecoder=H,H.prototype.write=function(I){if(0===I.length)return"";var O,K;if(this.lastNeed){if(void 0===(O=this.fillLast(I)))return"";K=this.lastNeed,this.lastNeed=0}else K=0;return K=0?($>0&&(I.lastNeed=$-1),$):--E=0?($>0&&(I.lastNeed=$-2),$):--E=0?($>0&&(2===$?$=0:I.lastNeed=$-3),$):0}(this,I,O);if(!this.lastNeed)return I.toString("utf8",O);this.lastTotal=K;var E=I.length-(K-this.lastNeed);return I.copy(this.lastChar,0,E),I.toString("utf8",O,E)},H.prototype.fillLast=function(I){if(this.lastNeed<=I.length)return I.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);I.copy(this.lastChar,this.lastTotal-this.lastNeed,0,I.length),this.lastNeed-=I.length}},{"safe-buffer":4}],6:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Y("base64-js"),k=Y("ieee754");he.Buffer=C,he.SlowBuffer=function(B){return+B!=B&&(B=0),C.alloc(+B)},he.INSPECT_MAX_BYTES=50;var Q=2147483647;function w(B){if(B>Q)throw new RangeError('The value "'+B+'" is invalid for option "size"');var N=new Uint8Array(B);return N.__proto__=C.prototype,N}function C(B,N,V){if("number"==typeof B){if("string"==typeof N)throw new TypeError('The "string" argument must be of type string. Received type number');return y(B)}return R(B,N,V)}function R(B,N,V){if("string"==typeof B)return function(B,N){if(("string"!=typeof N||""===N)&&(N="utf8"),!C.isEncoding(N))throw new TypeError("Unknown encoding: "+N);var V=0|I(B,N),Re=w(V),Ze=Re.write(B,N);return Ze!==V&&(Re=Re.slice(0,Ze)),Re}(B,N);if(ArrayBuffer.isView(B))return A(B);if(null==B)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof B);if(pt(B,ArrayBuffer)||B&&pt(B.buffer,ArrayBuffer))return function(B,N,V){if(N<0||B.byteLength=Q)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Q.toString(16)+" bytes");return 0|B}function I(B,N){if(C.isBuffer(B))return B.length;if(ArrayBuffer.isView(B)||pt(B,ArrayBuffer))return B.byteLength;if("string"!=typeof B)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof B);var V=B.length,Re=arguments.length>2&&!0===arguments[2];if(!Re&&0===V)return 0;for(var Ze=!1;;)switch(N){case"ascii":case"latin1":case"binary":return V;case"utf8":case"utf-8":return G(B).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*V;case"hex":return V>>>1;case"base64":return je(B).length;default:if(Ze)return Re?-1:G(B).length;N=(""+N).toLowerCase(),Ze=!0}}function O(B,N,V){var Re=!1;if((void 0===N||N<0)&&(N=0),N>this.length||((void 0===V||V>this.length)&&(V=this.length),V<=0)||(V>>>=0)<=(N>>>=0))return"";for(B||(B="utf8");;)switch(B){case"hex":return tt(this,N,V);case"utf8":case"utf-8":return ye(this,N,V);case"ascii":return st(this,N,V);case"latin1":case"binary":return Qe(this,N,V);case"base64":return ne(this,N,V);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Xe(this,N,V);default:if(Re)throw new TypeError("Unknown encoding: "+B);B=(B+"").toLowerCase(),Re=!0}}function K(B,N,V){var Re=B[N];B[N]=B[V],B[V]=Re}function E(B,N,V,Re,Ze){if(0===B.length)return-1;if("string"==typeof V?(Re=V,V=0):V>2147483647?V=2147483647:V<-2147483648&&(V=-2147483648),we(V=+V)&&(V=Ze?0:B.length-1),V<0&&(V=B.length+V),V>=B.length){if(Ze)return-1;V=B.length-1}else if(V<0){if(!Ze)return-1;V=0}if("string"==typeof N&&(N=C.from(N,Re)),C.isBuffer(N))return 0===N.length?-1:$(B,N,V,Re,Ze);if("number"==typeof N)return N&=255,"function"==typeof Uint8Array.prototype.indexOf?Ze?Uint8Array.prototype.indexOf.call(B,N,V):Uint8Array.prototype.lastIndexOf.call(B,N,V):$(B,[N],V,Re,Ze);throw new TypeError("val must be string, number or Buffer")}function $(B,N,V,Re,Ze){var Yn,Tt=1,kt=B.length,In=N.length;if(void 0!==Re&&("ucs2"===(Re=String(Re).toLowerCase())||"ucs-2"===Re||"utf16le"===Re||"utf-16le"===Re)){if(B.length<2||N.length<2)return-1;Tt=2,kt/=2,In/=2,V/=2}function Nn(Ls,fs){return 1===Tt?Ls[fs]:Ls.readUInt16BE(fs*Tt)}if(Ze){var Mi=-1;for(Yn=V;Ynkt&&(V=kt-In),Yn=V;Yn>=0;Yn--){for(var xi=!0,Xr=0;XrZe&&(Re=Ze):Re=Ze;var Tt=N.length;Re>Tt/2&&(Re=Tt/2);for(var kt=0;kt>8,Tt.push(V%256),Tt.push(Re);return Tt}(N,B.length-V),B,V,Re)}function ne(B,N,V){return j.fromByteArray(0===N&&V===B.length?B:B.slice(N,V))}function ye(B,N,V){V=Math.min(B.length,V);for(var Re=[],Ze=N;Ze239?4:Tt>223?3:Tt>191?2:1;if(Ze+In<=V)switch(In){case 1:Tt<128&&(kt=Tt);break;case 2:128==(192&(Nn=B[Ze+1]))&&(xi=(31&Tt)<<6|63&Nn)>127&&(kt=xi);break;case 3:Yn=B[Ze+2],128==(192&(Nn=B[Ze+1]))&&128==(192&Yn)&&(xi=(15&Tt)<<12|(63&Nn)<<6|63&Yn)>2047&&(xi<55296||xi>57343)&&(kt=xi);break;case 4:Yn=B[Ze+2],Mi=B[Ze+3],128==(192&(Nn=B[Ze+1]))&&128==(192&Yn)&&128==(192&Mi)&&(xi=(15&Tt)<<18|(63&Nn)<<12|(63&Yn)<<6|63&Mi)>65535&&xi<1114112&&(kt=xi)}null===kt?(kt=65533,In=1):kt>65535&&(Re.push((kt-=65536)>>>10&1023|55296),kt=56320|1023&kt),Re.push(kt),Ze+=In}return function(B){var N=B.length;if(N<=4096)return String.fromCharCode.apply(String,B);for(var V="",Re=0;ReV&&(N+=" ... "),""},C.prototype.compare=function(N,V,Re,Ze,Tt){if(pt(N,Uint8Array)&&(N=C.from(N,N.offset,N.byteLength)),!C.isBuffer(N))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof N);if(void 0===V&&(V=0),void 0===Re&&(Re=N?N.length:0),void 0===Ze&&(Ze=0),void 0===Tt&&(Tt=this.length),V<0||Re>N.length||Ze<0||Tt>this.length)throw new RangeError("out of range index");if(Ze>=Tt&&V>=Re)return 0;if(Ze>=Tt)return-1;if(V>=Re)return 1;if(this===N)return 0;for(var kt=(Tt>>>=0)-(Ze>>>=0),In=(Re>>>=0)-(V>>>=0),Nn=Math.min(kt,In),Yn=this.slice(Ze,Tt),Mi=N.slice(V,Re),xi=0;xi>>=0,isFinite(Re)?(Re>>>=0,void 0===Ze&&(Ze="utf8")):(Ze=Re,Re=void 0)}var Tt=this.length-V;if((void 0===Re||Re>Tt)&&(Re=Tt),N.length>0&&(Re<0||V<0)||V>this.length)throw new RangeError("Attempt to write outside buffer bounds");Ze||(Ze="utf8");for(var kt=!1;;)switch(Ze){case"hex":return Z(this,N,V,Re);case"utf8":case"utf-8":return ae(this,N,V,Re);case"ascii":return oe(this,N,V,Re);case"latin1":case"binary":return te(this,N,V,Re);case"base64":return Te(this,N,V,Re);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,N,V,Re);default:if(kt)throw new TypeError("Unknown encoding: "+Ze);Ze=(""+Ze).toLowerCase(),kt=!0}},C.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function st(B,N,V){var Re="";V=Math.min(B.length,V);for(var Ze=N;ZeRe)&&(V=Re);for(var Ze="",Tt=N;TtV)throw new RangeError("Trying to access beyond buffer length")}function Le(B,N,V,Re,Ze,Tt){if(!C.isBuffer(B))throw new TypeError('"buffer" argument must be a Buffer instance');if(N>Ze||NB.length)throw new RangeError("Index out of range")}function Ke(B,N,V,Re,Ze,Tt){if(V+Re>B.length)throw new RangeError("Index out of range");if(V<0)throw new RangeError("Index out of range")}function Me(B,N,V,Re,Ze){return N=+N,V>>>=0,Ze||Ke(B,0,V,4),k.write(B,N,V,Re,23,4),V+4}function Ue(B,N,V,Re,Ze){return N=+N,V>>>=0,Ze||Ke(B,0,V,8),k.write(B,N,V,Re,52,8),V+8}C.prototype.slice=function(N,V){var Re=this.length;(N=~~N)<0?(N+=Re)<0&&(N=0):N>Re&&(N=Re),(V=void 0===V?Re:~~V)<0?(V+=Re)<0&&(V=0):V>Re&&(V=Re),V>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N],Tt=1,kt=0;++kt>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N+--V],Tt=1;V>0&&(Tt*=256);)Ze+=this[N+--V]*Tt;return Ze},C.prototype.readUInt8=function(N,V){return N>>>=0,V||ze(N,1,this.length),this[N]},C.prototype.readUInt16LE=function(N,V){return N>>>=0,V||ze(N,2,this.length),this[N]|this[N+1]<<8},C.prototype.readUInt16BE=function(N,V){return N>>>=0,V||ze(N,2,this.length),this[N]<<8|this[N+1]},C.prototype.readUInt32LE=function(N,V){return N>>>=0,V||ze(N,4,this.length),(this[N]|this[N+1]<<8|this[N+2]<<16)+16777216*this[N+3]},C.prototype.readUInt32BE=function(N,V){return N>>>=0,V||ze(N,4,this.length),16777216*this[N]+(this[N+1]<<16|this[N+2]<<8|this[N+3])},C.prototype.readIntLE=function(N,V,Re){N>>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=this[N],Tt=1,kt=0;++kt=(Tt*=128)&&(Ze-=Math.pow(2,8*V)),Ze},C.prototype.readIntBE=function(N,V,Re){N>>>=0,V>>>=0,Re||ze(N,V,this.length);for(var Ze=V,Tt=1,kt=this[N+--Ze];Ze>0&&(Tt*=256);)kt+=this[N+--Ze]*Tt;return kt>=(Tt*=128)&&(kt-=Math.pow(2,8*V)),kt},C.prototype.readInt8=function(N,V){return N>>>=0,V||ze(N,1,this.length),128&this[N]?-1*(255-this[N]+1):this[N]},C.prototype.readInt16LE=function(N,V){N>>>=0,V||ze(N,2,this.length);var Re=this[N]|this[N+1]<<8;return 32768&Re?4294901760|Re:Re},C.prototype.readInt16BE=function(N,V){N>>>=0,V||ze(N,2,this.length);var Re=this[N+1]|this[N]<<8;return 32768&Re?4294901760|Re:Re},C.prototype.readInt32LE=function(N,V){return N>>>=0,V||ze(N,4,this.length),this[N]|this[N+1]<<8|this[N+2]<<16|this[N+3]<<24},C.prototype.readInt32BE=function(N,V){return N>>>=0,V||ze(N,4,this.length),this[N]<<24|this[N+1]<<16|this[N+2]<<8|this[N+3]},C.prototype.readFloatLE=function(N,V){return N>>>=0,V||ze(N,4,this.length),k.read(this,N,!0,23,4)},C.prototype.readFloatBE=function(N,V){return N>>>=0,V||ze(N,4,this.length),k.read(this,N,!1,23,4)},C.prototype.readDoubleLE=function(N,V){return N>>>=0,V||ze(N,8,this.length),k.read(this,N,!0,52,8)},C.prototype.readDoubleBE=function(N,V){return N>>>=0,V||ze(N,8,this.length),k.read(this,N,!1,52,8)},C.prototype.writeUIntLE=function(N,V,Re,Ze){N=+N,V>>>=0,Re>>>=0,Ze||Le(this,N,V,Re,Math.pow(2,8*Re)-1,0);var kt=1,In=0;for(this[V]=255&N;++In>>=0,Re>>>=0,Ze||Le(this,N,V,Re,Math.pow(2,8*Re)-1,0);var kt=Re-1,In=1;for(this[V+kt]=255&N;--kt>=0&&(In*=256);)this[V+kt]=N/In&255;return V+Re},C.prototype.writeUInt8=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,1,255,0),this[V]=255&N,V+1},C.prototype.writeUInt16LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,65535,0),this[V]=255&N,this[V+1]=N>>>8,V+2},C.prototype.writeUInt16BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,65535,0),this[V]=N>>>8,this[V+1]=255&N,V+2},C.prototype.writeUInt32LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,4294967295,0),this[V+3]=N>>>24,this[V+2]=N>>>16,this[V+1]=N>>>8,this[V]=255&N,V+4},C.prototype.writeUInt32BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,4294967295,0),this[V]=N>>>24,this[V+1]=N>>>16,this[V+2]=N>>>8,this[V+3]=255&N,V+4},C.prototype.writeIntLE=function(N,V,Re,Ze){if(N=+N,V>>>=0,!Ze){var Tt=Math.pow(2,8*Re-1);Le(this,N,V,Re,Tt-1,-Tt)}var kt=0,In=1,Nn=0;for(this[V]=255&N;++kt>0)-Nn&255;return V+Re},C.prototype.writeIntBE=function(N,V,Re,Ze){if(N=+N,V>>>=0,!Ze){var Tt=Math.pow(2,8*Re-1);Le(this,N,V,Re,Tt-1,-Tt)}var kt=Re-1,In=1,Nn=0;for(this[V+kt]=255&N;--kt>=0&&(In*=256);)N<0&&0===Nn&&0!==this[V+kt+1]&&(Nn=1),this[V+kt]=(N/In>>0)-Nn&255;return V+Re},C.prototype.writeInt8=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,1,127,-128),N<0&&(N=255+N+1),this[V]=255&N,V+1},C.prototype.writeInt16LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,32767,-32768),this[V]=255&N,this[V+1]=N>>>8,V+2},C.prototype.writeInt16BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,2,32767,-32768),this[V]=N>>>8,this[V+1]=255&N,V+2},C.prototype.writeInt32LE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,2147483647,-2147483648),this[V]=255&N,this[V+1]=N>>>8,this[V+2]=N>>>16,this[V+3]=N>>>24,V+4},C.prototype.writeInt32BE=function(N,V,Re){return N=+N,V>>>=0,Re||Le(this,N,V,4,2147483647,-2147483648),N<0&&(N=4294967295+N+1),this[V]=N>>>24,this[V+1]=N>>>16,this[V+2]=N>>>8,this[V+3]=255&N,V+4},C.prototype.writeFloatLE=function(N,V,Re){return Me(this,N,V,!0,Re)},C.prototype.writeFloatBE=function(N,V,Re){return Me(this,N,V,!1,Re)},C.prototype.writeDoubleLE=function(N,V,Re){return Ue(this,N,V,!0,Re)},C.prototype.writeDoubleBE=function(N,V,Re){return Ue(this,N,V,!1,Re)},C.prototype.copy=function(N,V,Re,Ze){if(!C.isBuffer(N))throw new TypeError("argument should be a Buffer");if(Re||(Re=0),!Ze&&0!==Ze&&(Ze=this.length),V>=N.length&&(V=N.length),V||(V=0),Ze>0&&Ze=this.length)throw new RangeError("Index out of range");if(Ze<0)throw new RangeError("sourceEnd out of bounds");Ze>this.length&&(Ze=this.length),N.length-V=0;--kt)N[kt+V]=this[kt+Re];else Uint8Array.prototype.set.call(N,this.subarray(Re,Ze),V);return Tt},C.prototype.fill=function(N,V,Re,Ze){if("string"==typeof N){if("string"==typeof V?(Ze=V,V=0,Re=this.length):"string"==typeof Re&&(Ze=Re,Re=this.length),void 0!==Ze&&"string"!=typeof Ze)throw new TypeError("encoding must be a string");if("string"==typeof Ze&&!C.isEncoding(Ze))throw new TypeError("Unknown encoding: "+Ze);if(1===N.length){var Tt=N.charCodeAt(0);("utf8"===Ze&&Tt<128||"latin1"===Ze)&&(N=Tt)}}else"number"==typeof N&&(N&=255);if(V<0||this.length>>=0,Re=void 0===Re?this.length:Re>>>0,N||(N=0),"number"==typeof N)for(kt=V;kt55295&&V<57344){if(!Ze){if(V>56319){(N-=3)>-1&&Tt.push(239,191,189);continue}if(kt+1===Re){(N-=3)>-1&&Tt.push(239,191,189);continue}Ze=V;continue}if(V<56320){(N-=3)>-1&&Tt.push(239,191,189),Ze=V;continue}V=65536+(Ze-55296<<10|V-56320)}else Ze&&(N-=3)>-1&&Tt.push(239,191,189);if(Ze=null,V<128){if((N-=1)<0)break;Tt.push(V)}else if(V<2048){if((N-=2)<0)break;Tt.push(V>>6|192,63&V|128)}else if(V<65536){if((N-=3)<0)break;Tt.push(V>>12|224,V>>6&63|128,63&V|128)}else{if(!(V<1114112))throw new Error("Invalid code point");if((N-=4)<0)break;Tt.push(V>>18|240,V>>12&63|128,V>>6&63|128,63&V|128)}}return Tt}function je(B){return j.toByteArray(function(B){if((B=(B=B.split("=")[0]).trim().replace(qe,"")).length<2)return"";for(;B.length%4!=0;)B+="=";return B}(B))}function _t(B,N,V,Re){for(var Ze=0;Ze=N.length||Ze>=B.length);++Ze)N[Ze+V]=B[Ze];return Ze}function pt(B,N){return B instanceof N||null!=B&&null!=B.constructor&&null!=B.constructor.name&&B.constructor.name===N.name}function we(B){return B!=B}}).call(this)}).call(this,Y("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(Y,Se,he){"use strict";Se.exports=function W(j){return null===j||"object"!=typeof j||null!=j.toJSON?JSON.stringify(j):Array.isArray(j)?"["+j.reduce((k,Q,H)=>k+(0===H?"":",")+W(void 0===Q||"symbol"==typeof Q?null:Q),"")+"]":"{"+Object.keys(j).sort().reduce((k,Q,H)=>void 0===j[Q]||"symbol"==typeof j[Q]?k:k+(0===k.length?"":",")+W(Q)+":"+W(j[Q]),"")+"}"}},{}],8:[function(Y,Se,he){"use strict";var k,W="object"==typeof Reflect?Reflect:null,j=W&&"function"==typeof W.apply?W.apply:function($,Z,ae){return Function.prototype.apply.call($,Z,ae)};k=W&&"function"==typeof W.ownKeys?W.ownKeys:Object.getOwnPropertySymbols?function($){return Object.getOwnPropertyNames($).concat(Object.getOwnPropertySymbols($))}:function($){return Object.getOwnPropertyNames($)};var H=Number.isNaN||function($){return $!=$};function w(){w.init.call(this)}Se.exports=w,Se.exports.once=function(E,$){return new Promise(function(Z,ae){function oe(Te){E.removeListener($,te),ae(Te)}function te(){"function"==typeof E.removeListener&&E.removeListener("error",oe),Z([].slice.call(arguments))}K(E,$,te,{once:!0}),"error"!==$&&function(E,$,Z){"function"==typeof E.on&&K(E,"error",$,Z)}(E,oe,{once:!0})})},w.EventEmitter=w,w.prototype._events=void 0,w.prototype._eventsCount=0,w.prototype._maxListeners=void 0;var C=10;function R(E){if("function"!=typeof E)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof E)}function T(E){return void 0===E._maxListeners?w.defaultMaxListeners:E._maxListeners}function b(E,$,Z,ae){var oe,te,Te;if(R(Z),void 0===(te=E._events)?(te=E._events=Object.create(null),E._eventsCount=0):(void 0!==te.newListener&&(E.emit("newListener",$,Z.listener?Z.listener:Z),te=E._events),Te=te[$]),void 0===Te)Te=te[$]=Z,++E._eventsCount;else if("function"==typeof Te?Te=te[$]=ae?[Z,Te]:[Te,Z]:ae?Te.unshift(Z):Te.push(Z),(oe=T(E))>0&&Te.length>oe&&!Te.warned){Te.warned=!0;var me=new Error("Possible EventEmitter memory leak detected. "+Te.length+" "+String($)+" listeners added. Use emitter.setMaxListeners() to increase limit");me.name="MaxListenersExceededWarning",me.emitter=E,me.type=$,me.count=Te.length,function(E){console&&console.warn&&console.warn(E)}(me)}return E}function y(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function S(E,$,Z){var ae={fired:!1,wrapFn:void 0,target:E,type:$,listener:Z},oe=y.bind(ae);return oe.listener=Z,ae.wrapFn=oe,oe}function A(E,$,Z){var ae=E._events;if(void 0===ae)return[];var oe=ae[$];return void 0===oe?[]:"function"==typeof oe?Z?[oe.listener||oe]:[oe]:Z?function(E){for(var $=new Array(E.length),Z=0;Z<$.length;++Z)$[Z]=E[Z].listener||E[Z];return $}(oe):P(oe,oe.length)}function z(E){var $=this._events;if(void 0!==$){var Z=$[E];if("function"==typeof Z)return 1;if(void 0!==Z)return Z.length}return 0}function P(E,$){for(var Z=new Array($),ae=0;ae<$;++ae)Z[ae]=E[ae];return Z}function K(E,$,Z,ae){if("function"==typeof E.on)ae.once?E.once($,Z):E.on($,Z);else{if("function"!=typeof E.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof E);E.addEventListener($,function oe(te){ae.once&&E.removeEventListener($,oe),Z(te)})}}Object.defineProperty(w,"defaultMaxListeners",{enumerable:!0,get:function(){return C},set:function(E){if("number"!=typeof E||E<0||H(E))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+E+".");C=E}}),w.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},w.prototype.setMaxListeners=function($){if("number"!=typeof $||$<0||H($))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+$+".");return this._maxListeners=$,this},w.prototype.getMaxListeners=function(){return T(this)},w.prototype.emit=function($){for(var Z=[],ae=1;ae0&&(Te=Z[0]),Te instanceof Error)throw Te;var me=new Error("Unhandled error."+(Te?" ("+Te.message+")":""));throw me.context=Te,me}var ne=te[$];if(void 0===ne)return!1;if("function"==typeof ne)j(ne,this,Z);else{var ye=ne.length,Oe=P(ne,ye);for(ae=0;ae=0;Te--)if(ae[Te]===Z||ae[Te].listener===Z){me=ae[Te].listener,te=Te;break}if(te<0)return this;0===te?ae.shift():function(E,$){for(;$+1=0;oe--)this.removeListener($,Z[oe]);return this},w.prototype.listeners=function($){return A(this,$,!0)},w.prototype.rawListeners=function($){return A(this,$,!1)},w.listenerCount=function(E,$){return"function"==typeof E.listenerCount?E.listenerCount($):z.call(E,$)},w.prototype.listenerCount=z,w.prototype.eventNames=function(){return this._eventsCount>0?k(this._events):[]}},{}],9:[function(Y,Se,he){he.read=function(W,j,k,Q,H){var w,C,R=8*H-Q-1,T=(1<>1,y=-7,S=k?H-1:0,A=k?-1:1,z=W[j+S];for(S+=A,w=z&(1<<-y)-1,z>>=-y,y+=R;y>0;w=256*w+W[j+S],S+=A,y-=8);for(C=w&(1<<-y)-1,w>>=-y,y+=Q;y>0;C=256*C+W[j+S],S+=A,y-=8);if(0===w)w=1-b;else{if(w===T)return C?NaN:1/0*(z?-1:1);C+=Math.pow(2,Q),w-=b}return(z?-1:1)*C*Math.pow(2,w-Q)},he.write=function(W,j,k,Q,H,w){var C,R,T,b=8*w-H-1,y=(1<>1,A=23===H?Math.pow(2,-24)-Math.pow(2,-77):0,z=Q?0:w-1,P=Q?1:-1,X=j<0||0===j&&1/j<0?1:0;for(j=Math.abs(j),isNaN(j)||j===1/0?(R=isNaN(j)?1:0,C=y):(C=Math.floor(Math.log(j)/Math.LN2),j*(T=Math.pow(2,-C))<1&&(C--,T*=2),(j+=C+S>=1?A/T:A*Math.pow(2,1-S))*T>=2&&(C++,T/=2),C+S>=y?(R=0,C=y):C+S>=1?(R=(j*T-1)*Math.pow(2,H),C+=S):(R=j*Math.pow(2,S-1)*Math.pow(2,H),C=0));H>=8;W[k+z]=255&R,z+=P,R/=256,H-=8);for(C=C<0;W[k+z]=255&C,z+=P,C/=256,b-=8);W[k+z-P]|=128*X}},{}],10:[function(Y,Se,he){Se.exports="function"==typeof Object.create?function(j,k){k&&(j.super_=k,j.prototype=Object.create(k.prototype,{constructor:{value:j,enumerable:!1,writable:!0,configurable:!0}}))}:function(j,k){if(k){j.super_=k;var Q=function(){};Q.prototype=k.prototype,j.prototype=new Q,j.prototype.constructor=j}}},{}],11:[function(Y,Se,he){"use strict";const{isArray:W,isObject:j,isString:k}=Y("./types"),{asArray:Q}=Y("./util"),{prependBase:H}=Y("./url"),w=Y("./JsonLdError"),C=Y("./ResolvedContext");function T(y){throw new w("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:y})}function b({context:y,base:S}){if(!y)return;const A=y["@context"];if(k(A))y["@context"]=H(S,A);else if(W(A))for(let z=0;z10)throw new w("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"loading remote context failed":"context overflow",max:10});if(P.has(A))throw new w("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===S.processingMode?"recursive context inclusion":"context overflow",url:A});let X,ue;P.add(A);try{ue=yield z(A),X=ue.document||null,k(X)&&(X=JSON.parse(X))}catch(I){throw new w("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:A,cause:I})}if(!j(X))throw new w("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:A});return X="@context"in X?{"@context":X["@context"]}:{"@context":{}},ue.contextUrl&&(W(X["@context"])||(X["@context"]=[X["@context"]]),X["@context"].push(ue.contextUrl)),{context:X,remoteDoc:ue}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(Y,Se,he){"use strict";Se.exports=class extends Error{constructor(j="An unspecified JSON-LD error occurred.",k="jsonld.Error",Q={}){super(j),this.name=k,this.message=j,this.details=Q}}},{}],13:[function(Y,Se,he){"use strict";Se.exports=W=>{class j{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(j,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(j.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:j}),j.compact=function(k,Q){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):W.compact(k,Q)},j.expand=function(k){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):W.expand(k)},j.flatten=function(k){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):W.flatten(k)},j}},{}],14:[function(Y,Se,he){"use strict";Se.exports=Y("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(Y,Se,he){"use strict";Se.exports=class{constructor(){this._requests={}}wrapLoader(j){const k=this;return k._loader=j,function(){return k.add.apply(k,arguments)}}add(j){var k=this;return yt(function*(){let Q=k._requests[j];if(Q)return Promise.resolve(Q);Q=k._requests[j]=k._loader(j);try{return yield Q}finally{delete k._requests[j]}})()}}},{}],16:[function(Y,Se,he){"use strict";const W=Y("lru-cache");Se.exports=class{constructor({document:Q}){this.document=Q,this.cache=new W({max:10})}getProcessed(Q){return this.cache.get(Q)}setProcessed(Q,H){this.cache.set(Q,H)}}},{"lru-cache":33}],17:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:k,isString:Q,isUndefined:H}=Y("./types"),{isList:w,isValue:C,isGraph:R,isSimpleGraph:T,isSubjectReference:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:A,process:z,processingMode:P}=Y("./context"),{removeBase:X,prependBase:ue}=Y("./url"),{addValue:I,asArray:O,compareShortestLeast:K}=Y("./util"),E={};function Z(ae,oe,te){if("@nest"!==y(ae,oe,{vocab:!0},te))throw new W("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}Se.exports=E,E.compact=function(){var ae=yt(function*({activeCtx:oe,activeProperty:te=null,element:Te,options:me={},compactionMap:ne=(()=>{})}){if(j(Te)){let Oe=[];for(let $e=0;$e1&&(tt=Array.from(tt).sort());const Xe=oe;for(const Le of tt){const Ke=E.compactIri({activeCtx:Xe,iri:Le,relativeTo:{vocab:!0}}),Me=S(st,Ke,"@context");H(Me)||(oe=yield z({activeCtx:oe,localCtx:Me,options:me,propagate:!1}))}const ze=Object.keys(Te).sort();for(const Le of ze){const Ke=Te[Le];if("@id"!==Le)if("@type"!==Le)if("@reverse"!==Le)if("@preserve"!==Le)if("@index"!==Le)if("@graph"!==Le&&"@list"!==Le&&"@included"!==Le&&A(Le)){const Me=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Me,Ke)}else{if(!j(Ke))throw new W("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===Ke.length){const Me=E.compactIri({activeCtx:oe,iri:Le,value:Ke,relativeTo:{vocab:!0},reverse:Oe}),Ue=oe.mappings.has(Me)?oe.mappings.get(Me)["@nest"]:null;let qe=$e;Ue&&(Z(oe,Ue,me),k($e[Ue])||($e[Ue]={}),qe=$e[Ue]),I(qe,Me,Ke,{propertyIsArray:!0})}for(const Me of Ke){const Ue=E.compactIri({activeCtx:oe,iri:Le,value:Me,relativeTo:{vocab:!0},reverse:Oe}),qe=oe.mappings.has(Ue)?oe.mappings.get(Ue)["@nest"]:null;let ke=$e;qe&&(Z(oe,qe,me),k($e[qe])||($e[qe]={}),ke=$e[qe]);const q=S(oe,Ue,"@container")||[],G=R(Me),pe=w(Me);let de;pe?de=Me["@list"]:G&&(de=Me["@graph"]);let je=yield E.compact({activeCtx:oe,activeProperty:Ue,element:pe||G?de:Me,options:me,compactionMap:ne});if(pe){if(j(je)||(je=[je]),q.includes("@list")){I(ke,Ue,je,{valueIsArray:!0,allowDuplicate:!0});continue}je={[E.compactIri({activeCtx:oe,iri:"@list",relativeTo:{vocab:!0}})]:je},"@index"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"])}if(G)if(q.includes("@graph")&&(q.includes("@id")||q.includes("@index")&&T(Me))){let _t;ke.hasOwnProperty(Ue)?_t=ke[Ue]:ke[Ue]=_t={};const pt=(q.includes("@id")?Me["@id"]:Me["@index"])||E.compactIri({activeCtx:oe,iri:"@none",relativeTo:{vocab:!0}});I(_t,pt,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})}else q.includes("@graph")&&T(Me)?(j(je)&&je.length>1&&(je={"@included":je}),I(ke,Ue,je,{propertyIsArray:!me.compactArrays||q.includes("@set")})):(j(je)&&1===je.length&&me.compactArrays&&(je=je[0]),je={[E.compactIri({activeCtx:oe,iri:"@graph",relativeTo:{vocab:!0}})]:je},"@id"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]=Me["@id"]),"@index"in Me&&(je[E.compactIri({activeCtx:oe,iri:"@index",relativeTo:{vocab:!0}})]=Me["@index"]),I(ke,Ue,je,{propertyIsArray:!me.compactArrays||q.includes("@set")}));else if(q.includes("@language")||q.includes("@index")||q.includes("@id")||q.includes("@type")){let _t,pt;if(ke.hasOwnProperty(Ue)?_t=ke[Ue]:ke[Ue]=_t={},q.includes("@language"))C(je)&&(je=je["@value"]),pt=Me["@language"];else if(q.includes("@index")){const we=S(oe,Ue,"@index")||"@index",B=E.compactIri({activeCtx:oe,iri:we,relativeTo:{vocab:!0}});if("@index"===we)pt=Me["@index"],delete je[B];else{let N;if([pt,...N]=O(je[we]||[]),Q(pt))switch(N.length){case 0:delete je[we];break;case 1:je[we]=N[0];break;default:je[we]=N}else pt=null}}else if(q.includes("@id")){const we=E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}});pt=je[we],delete je[we]}else if(q.includes("@type")){const we=E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}});let B;switch([pt,...B]=O(je[we]||[]),B.length){case 0:delete je[we];break;case 1:je[we]=B[0];break;default:je[we]=B}1===Object.keys(je).length&&"@id"in Me&&(je=yield E.compact({activeCtx:oe,activeProperty:Ue,element:{"@id":Me["@id"]},options:me,compactionMap:ne}))}pt||(pt=E.compactIri({activeCtx:oe,iri:"@none",relativeTo:{vocab:!0}})),I(_t,pt,je,{propertyIsArray:q.includes("@set")})}else{const _t=!me.compactArrays||q.includes("@set")||q.includes("@list")||j(je)&&0===je.length||"@list"===Le||"@graph"===Le;I(ke,Ue,je,{propertyIsArray:_t})}}}else{if((S(oe,te,"@container")||[]).includes("@index"))continue;const Ue=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Ue,Ke)}else{const Me=yield E.compact({activeCtx:oe,activeProperty:te,element:Ke,options:me,compactionMap:ne});j(Me)&&0===Me.length||I($e,Le,Me)}else{const Me=yield E.compact({activeCtx:oe,activeProperty:"@reverse",element:Ke,options:me,compactionMap:ne});for(const Ue in Me)if(oe.mappings.has(Ue)&&oe.mappings.get(Ue).reverse){const qe=Me[Ue],q=(S(oe,Ue,"@container")||[]).includes("@set")||!me.compactArrays;I($e,Ue,qe,{propertyIsArray:q}),delete Me[Ue]}if(Object.keys(Me).length>0){const Ue=E.compactIri({activeCtx:oe,iri:Le,relativeTo:{vocab:!0}});I($e,Ue,Me)}}else{let Me=O(Ke).map(G=>E.compactIri({activeCtx:st,iri:G,relativeTo:{vocab:!0}}));1===Me.length&&(Me=Me[0]);const Ue=E.compactIri({activeCtx:oe,iri:"@type",relativeTo:{vocab:!0}}),q=(S(oe,Ue,"@container")||[]).includes("@set")&&P(oe,1.1)||j(Me)&&0===Ke.length;I($e,Ue,Me,{propertyIsArray:q})}else{let Me=O(Ke).map(qe=>E.compactIri({activeCtx:oe,iri:qe,relativeTo:{vocab:!1},base:me.base}));1===Me.length&&(Me=Me[0]),$e[E.compactIri({activeCtx:oe,iri:"@id",relativeTo:{vocab:!0}})]=Me}}return $e}return Te});return function(oe){return ae.apply(this,arguments)}}(),E.compactIri=({activeCtx:ae,iri:oe,value:te=null,relativeTo:Te={vocab:!1},reverse:me=!1,base:ne=null})=>{if(null===oe)return oe;ae.isPropertyTermScoped&&ae.previousContext&&(ae=ae.previousContext);const ye=ae.getInverse();if(A(oe)&&oe in ye&&"@none"in ye[oe]&&"@type"in ye[oe]["@none"]&&"@none"in ye[oe]["@none"]["@type"])return ye[oe]["@none"]["@type"]["@none"];if(Te.vocab&&oe in ye){const tt=ae["@language"]||"@none",Xe=[];k(te)&&"@index"in te&&!("@graph"in te)&&Xe.push("@index","@index@set"),k(te)&&"@preserve"in te&&(te=te["@preserve"][0]),R(te)?("@index"in te&&Xe.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te&&Xe.push("@graph@id","@graph@id@set"),Xe.push("@graph","@graph@set","@set"),"@index"in te||Xe.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te||Xe.push("@graph@id","@graph@id@set")):k(te)&&!C(te)&&Xe.push("@id","@id@set","@type","@set@type");let ze="@language",Le="@null";if(me)ze="@type",Le="@reverse",Xe.push("@set");else if(w(te)){"@index"in te||Xe.push("@list");const Me=te["@list"];if(0===Me.length)ze="@any",Le="@none";else{let Ue=0===Me.length?tt:null,qe=null;for(let ke=0;kest.includes("_"));$e&&ye.push($e.replace(/^[^_]+_/,"_"))}ye.push("@none");const Oe=ae.inverse[oe];for(const $e of Te){if(!($e in Oe))continue;const st=Oe[$e][me];for(const Qe of ye)if(Qe in st)return st[Qe]}return null}(ae,oe,te,Xe,ze,Le);if(null!==Ke)return Ke}if(Te.vocab&&"@vocab"in ae){const tt=ae["@vocab"];if(0===oe.indexOf(tt)&&oe!==tt){const Xe=oe.substr(tt.length);if(!ae.mappings.has(Xe))return Xe}}let Oe=null;const $e=[];let st=ae.fastCurieMap;const Qe=oe.length-1;for(let tt=0;tt=0;--tt){const Xe=$e[tt],ze=Xe.terms;for(const Le of ze){const Ke=Le+":"+oe.substr(Xe.iri.length);ae.mappings.get(Le)._prefix&&(!ae.mappings.has(Ke)||null===te&&ae.mappings.get(Ke)["@id"]===oe)&&(null===Oe||K(Ke,Oe)<0)&&(Oe=Ke)}}if(null!==Oe)return Oe;for(const[tt,Xe]of ae.mappings)if(Xe&&Xe._prefix&&oe.startsWith(tt+":"))throw new W(`Absolute IRI "${oe}" confused with prefix "${tt}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:ae});return Te.vocab?oe:"@base"in ae?ae["@base"]?X(ue(ne,ae["@base"]),oe):oe:X(ne,oe)},E.compactValue=({activeCtx:ae,activeProperty:oe,value:te,options:Te})=>{if(C(te)){const Oe=S(ae,oe,"@type"),$e=S(ae,oe,"@language"),st=S(ae,oe,"@direction"),Qe=S(ae,oe,"@container")||[],tt="@index"in te&&!Qe.includes("@index");if(!tt&&"@none"!==Oe&&(te["@type"]===Oe||"@language"in te&&te["@language"]===$e&&"@direction"in te&&te["@direction"]===st||"@language"in te&&te["@language"]===$e||"@direction"in te&&te["@direction"]===st))return te["@value"];const Xe=Object.keys(te).length,ze=1===Xe||2===Xe&&"@index"in te&&!tt,Le="@language"in ae,Ke=Q(te["@value"]),Me=ae.mappings.has(oe)&&null===ae.mappings.get(oe)["@language"];if(ze&&"@none"!==Oe&&(!Le||!Ke||Me))return te["@value"];const Ue={};return tt&&(Ue[E.compactIri({activeCtx:ae,iri:"@index",relativeTo:{vocab:!0}})]=te["@index"]),"@type"in te?Ue[E.compactIri({activeCtx:ae,iri:"@type",relativeTo:{vocab:!0}})]=E.compactIri({activeCtx:ae,iri:te["@type"],relativeTo:{vocab:!0}}):"@language"in te&&(Ue[E.compactIri({activeCtx:ae,iri:"@language",relativeTo:{vocab:!0}})]=te["@language"]),"@direction"in te&&(Ue[E.compactIri({activeCtx:ae,iri:"@direction",relativeTo:{vocab:!0}})]=te["@direction"]),Ue[E.compactIri({activeCtx:ae,iri:"@value",relativeTo:{vocab:!0}})]=te["@value"],Ue}const me=y(ae,oe,{vocab:!0},Te),ne=S(ae,oe,"@type"),ye=E.compactIri({activeCtx:ae,iri:te["@id"],relativeTo:{vocab:"@vocab"===ne},base:Te.base});return"@id"===ne||"@vocab"===ne||"@graph"===me?ye:{[E.compactIri({activeCtx:ae,iri:"@id",relativeTo:{vocab:!0}})]:ye}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(Y,Se,he){"use strict";const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#";Se.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:W,RDF_LIST:W+"List",RDF_FIRST:W+"first",RDF_REST:W+"rest",RDF_NIL:W+"nil",RDF_TYPE:W+"type",RDF_PLAIN_LITERAL:W+"PlainLiteral",RDF_XML_LITERAL:W+"XMLLiteral",RDF_JSON_LITERAL:W+"JSON",RDF_OBJECT:W+"object",RDF_LANGSTRING:W+"langString",XSD:j,XSD_BOOLEAN:j+"boolean",XSD_DOUBLE:j+"double",XSD_INTEGER:j+"integer",XSD_STRING:j+"string"}},{}],19:[function(Y,Se,he){"use strict";const W=Y("./util"),j=Y("./JsonLdError"),{isArray:k,isObject:Q,isString:H,isUndefined:w}=Y("./types"),{isAbsolute:C,isRelative:R,prependBase:T}=Y("./url"),{asArray:b,compareShortestLeast:y}=Y("./util"),S=new Map,z=/^@[a-zA-Z]+$/,P={};function X(I,O,K,E,$,Z){if(null===O||!H(O)||P.isKeyword(O))return O;if(O.match(z))return null;if(E&&E.hasOwnProperty(O)&&!0!==$.get(O)&&P.createTermDefinition({activeCtx:I,localCtx:E,term:O,defined:$,options:Z}),(K=K||{}).vocab){const oe=I.mappings.get(O);if(null===oe)return null;if(Q(oe)&&"@id"in oe)return oe["@id"]}const ae=O.indexOf(":");if(ae>0){const oe=O.substr(0,ae),te=O.substr(ae+1);if("_"===oe||0===te.indexOf("//"))return O;E&&E.hasOwnProperty(oe)&&P.createTermDefinition({activeCtx:I,localCtx:E,term:oe,defined:$,options:Z});const Te=I.mappings.get(oe);if(Te&&Te._prefix)return Te["@id"]+te;if(C(O))return O}if(K.vocab&&"@vocab"in I)return I["@vocab"]+O;if(K.base&&"@base"in I){if(I["@base"])return T(T(Z.base,I["@base"]),O)}else if(K.base)return T(Z.base,O);return O}function ue(I,O){if(!I||"object"!=typeof I||!O||"object"!=typeof O)return I===O;const K=Array.isArray(I);if(K!==Array.isArray(O))return!1;if(K){if(I.length!==O.length)return!1;for(let Z=0;Z{if(E.has(K)){if(E.get(K))return;throw new j("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:O,term:K})}let ae;if(E.set(K,!1),O.hasOwnProperty(K)&&(ae=O[K]),"@type"===K&&Q(ae)&&"@set"===(ae["@container"]||"@set")&&P.processingMode(I,1.1)){const Oe=["@container","@id","@protected"],$e=Object.keys(ae);if(0===$e.length||$e.some(st=>!Oe.includes(st)))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:O,term:K})}else{if(P.isKeyword(K))throw new j("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:O,term:K});if(K.match(z))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:K});if(""===K)throw new j("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:O})}const oe=I.mappings.get(K);I.mappings.has(K)&&I.mappings.delete(K);let te=!1;if((H(ae)||null===ae)&&(te=!0,ae={"@id":ae}),!Q(ae))throw new j("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:O});const Te={};I.mappings.set(K,Te),Te.reverse=!1;const me=["@container","@id","@language","@reverse","@type"];P.processingMode(I,1.1)&&me.push("@context","@direction","@index","@nest","@prefix","@protected");for(const Oe in ae)if(!me.includes(Oe))throw new j("Invalid JSON-LD syntax; a term definition must not contain "+Oe,"jsonld.SyntaxError",{code:"invalid term definition",context:O});const ne=K.indexOf(":");if(Te._termHasColon=ne>0,"@reverse"in ae){if("@id"in ae)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});if("@nest"in ae)throw new j("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});const Oe=ae["@reverse"];if(!H(Oe))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(!P.isKeyword(Oe)&&Oe.match(z))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:Oe}),void(oe?I.mappings.set(K,oe):I.mappings.delete(K));const $e=X(I,Oe,{vocab:!0,base:!1},O,E,$);if(!C($e))throw new j("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});Te["@id"]=$e,Te.reverse=!0}else if("@id"in ae){let Oe=ae["@id"];if(Oe&&!H(Oe))throw new j("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(null===Oe)Te["@id"]=null;else{if(!P.isKeyword(Oe)&&Oe.match(z))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:Oe}),void(oe?I.mappings.set(K,oe):I.mappings.delete(K));if(Oe!==K){if(Oe=X(I,Oe,{vocab:!0,base:!1},O,E,$),!C(Oe)&&!P.isKeyword(Oe))throw new j("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});if(K.match(/(?::[^:])|\//)&&X(I,K,{vocab:!0,base:!1},O,new Map(E).set(K,!0),$)!==Oe)throw new j("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O});Te["@id"]=Oe,Te._prefix=te&&!Te._termHasColon&&Oe.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in Te))if(Te._termHasColon){const Oe=K.substr(0,ne);if(O.hasOwnProperty(Oe)&&P.createTermDefinition({activeCtx:I,localCtx:O,term:Oe,defined:E,options:$}),I.mappings.has(Oe)){const $e=K.substr(ne+1);Te["@id"]=I.mappings.get(Oe)["@id"]+$e}else Te["@id"]=K}else if("@type"===K)Te["@id"]=K;else{if(!("@vocab"in I))throw new j("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:O,term:K});Te["@id"]=I["@vocab"]+K}if((!0===ae["@protected"]||!0===E.get("@protected")&&!1!==ae["@protected"])&&(I.protected[K]=!0,Te.protected=!0),E.set(K,!0),"@type"in ae){let Oe=ae["@type"];if(!H(Oe))throw new j("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:O});if("@json"===Oe||"@none"===Oe){if(P.processingMode(I,1))throw new j(`Invalid JSON-LD syntax; an @context @type value must not be "${Oe}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:O})}else if("@id"!==Oe&&"@vocab"!==Oe){if(Oe=X(I,Oe,{vocab:!0,base:!1},O,E,$),!C(Oe))throw new j("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:O});if(0===Oe.indexOf("_:"))throw new j("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:O})}Te["@type"]=Oe}if("@container"in ae){const Oe=H(ae["@container"])?[ae["@container"]]:ae["@container"]||[],$e=["@list","@set","@index","@language"];let st=!0;const Qe=Oe.includes("@set");if(P.processingMode(I,1.1)){if($e.push("@graph","@id","@type"),Oe.includes("@list")){if(1!==Oe.length)throw new j("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:O})}else if(Oe.includes("@graph")){if(Oe.some(tt=>"@graph"!==tt&&"@id"!==tt&&"@index"!==tt&&"@set"!==tt))throw new j("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:O})}else st&=Oe.length<=(Qe?2:1);if(Oe.includes("@type")&&(Te["@type"]=Te["@type"]||"@id",!["@id","@vocab"].includes(Te["@type"])))throw new j("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:O})}else st&=!k(ae["@container"]),st&=Oe.length<=1;if(st&=Oe.every(tt=>$e.includes(tt)),st&=!(Qe&&Oe.includes("@list")),!st)throw new j("Invalid JSON-LD syntax; @context @container value must be one of the following: "+$e.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:O});if(Te.reverse&&!Oe.every(tt=>["@index","@set"].includes(tt)))throw new j("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:O});Te["@container"]=Oe}if("@index"in ae){if(!("@container"in ae)||!Te["@container"].includes("@index"))throw new j(`Invalid JSON-LD syntax; @index without @index in @container: "${ae["@index"]}" on term "${K}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:O});if(!H(ae["@index"])||0===ae["@index"].indexOf("@"))throw new j(`Invalid JSON-LD syntax; @index must expand to an IRI: "${ae["@index"]}" on term "${K}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:O});Te["@index"]=ae["@index"]}if("@context"in ae&&(Te["@context"]=ae["@context"]),"@language"in ae&&!("@type"in ae)){let Oe=ae["@language"];if(null!==Oe&&!H(Oe))throw new j("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:O});null!==Oe&&(Oe=Oe.toLowerCase()),Te["@language"]=Oe}if("@prefix"in ae){if(K.match(/:|\//))throw new j("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:O});if(P.isKeyword(Te["@id"]))throw new j("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:O});if("boolean"!=typeof ae["@prefix"])throw new j("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:O});Te._prefix=!0===ae["@prefix"]}if("@direction"in ae){const Oe=ae["@direction"];if(null!==Oe&&"ltr"!==Oe&&"rtl"!==Oe)throw new j('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:O});Te["@direction"]=Oe}if("@nest"in ae){const Oe=ae["@nest"];if(!H(Oe)||"@nest"!==Oe&&0===Oe.indexOf("@"))throw new j("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:O});Te["@nest"]=Oe}const ye=Te["@id"];if("@context"===ye||"@preserve"===ye)throw new j("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:O});if(oe&&oe.protected&&!Z&&(I.protected[K]=!0,Te.protected=!0,!ue(oe,Te))){const Oe=$&&$.protectedMode||"error";if("error"===Oe)throw new j(`Invalid JSON-LD syntax; tried to redefine "${K}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:O,term:K});if("warn"===Oe)return void console.warn("WARNING: protected term redefinition",{term:K});throw new j("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:O,term:K,protectedMode:Oe})}},P.expandIri=(I,O,K,E)=>X(I,O,K,void 0,void 0,E),P.getInitialContext=I=>{const O=JSON.stringify({processingMode:I.processingMode}),K=S.get(O);if(K)return K;const E={processingMode:I.processingMode,mappings:new Map,inverse:null,getInverse:function(){const Te=this;if(Te.inverse)return Te.inverse;const me=Te.inverse={},ne=Te.fastCurieMap={},ye={},Oe=(Te["@language"]||"@none").toLowerCase(),$e=Te["@direction"],st=Te.mappings,Qe=[...st.keys()].sort(y);for(const tt of Qe){const Xe=st.get(tt);if(null===Xe)continue;let ze=Xe["@container"]||"@none";if(ze=[].concat(ze).sort().join(""),null===Xe["@id"])continue;const Le=b(Xe["@id"]);for(const Ke of Le){let Me=me[Ke];const Ue=P.isKeyword(Ke);if(Me)!Ue&&!Xe._termHasColon&&ye[Ke].push(tt);else if(me[Ke]=Me={},!Ue&&!Xe._termHasColon){ye[Ke]=[tt];const qe={iri:Ke,terms:ye[Ke]};Ke[0]in ne?ne[Ke[0]].push(qe):ne[Ke[0]]=[qe]}if(Me[ze]||(Me[ze]={"@language":{},"@type":{},"@any":{}}),Me=Me[ze],ae(tt,Me["@any"],"@none"),Xe.reverse)ae(tt,Me["@type"],"@reverse");else if("@none"===Xe["@type"])ae(tt,Me["@any"],"@none"),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none");else if("@type"in Xe)ae(tt,Me["@type"],Xe["@type"]);else if("@language"in Xe&&"@direction"in Xe){const qe=Xe["@language"],ke=Xe["@direction"];ae(tt,Me["@language"],qe&&ke?`${qe}_${ke}`.toLowerCase():qe?qe.toLowerCase():ke?`_${ke}`:"@null")}else"@language"in Xe?ae(tt,Me["@language"],(Xe["@language"]||"@null").toLowerCase()):"@direction"in Xe?ae(tt,Me["@language"],Xe["@direction"]?`_${Xe["@direction"]}`:"@none"):$e?(ae(tt,Me["@language"],`_${$e}`),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none")):(ae(tt,Me["@language"],Oe),ae(tt,Me["@language"],"@none"),ae(tt,Me["@type"],"@none"))}}for(const tt in ne)Z(ne,tt,1);return me},clone:function(){const Te={};return Te.mappings=W.clone(this.mappings),Te.clone=this.clone,Te.inverse=null,Te.getInverse=this.getInverse,Te.protected=W.clone(this.protected),this.previousContext&&(Te.previousContext=this.previousContext.clone()),Te.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(Te["@base"]=this["@base"]),"@language"in this&&(Te["@language"]=this["@language"]),"@vocab"in this&&(Te["@vocab"]=this["@vocab"]),Te},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===S.size&&S.clear(),S.set(O,E),E;function Z(Te,me,ne){const ye=Te[me],Oe=Te[me]={};let $e,st;for(const Qe of ye)$e=Qe.iri,st=ne>=$e.length?"":$e[ne],st in Oe?Oe[st].push(Qe):Oe[st]=[Qe];for(const Qe in Oe)""!==Qe&&Z(Oe,Qe,ne+1)}function ae(Te,me,ne){me.hasOwnProperty(ne)||(me[ne]=Te)}},P.getContextValue=(I,O,K)=>{if(null===O)return"@context"===K?void 0:null;if(I.mappings.has(O)){const E=I.mappings.get(O);if(w(K))return E;if(E.hasOwnProperty(K))return E[K]}return"@language"===K&&K in I||"@direction"===K&&K in I?I[K]:"@context"!==K?null:void 0},P.processingMode=(I,O)=>O.toString()>="1.1"?!I.processingMode||I.processingMode>="json-ld-"+O.toString():"json-ld-1.0"===I.processingMode,P.isKeyword=I=>{if(!H(I)||"@"!==I[0])return!1;switch(I){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(Y,Se,he){"use strict";const{parseLinkHeader:W,buildHeaders:j}=Y("../util"),{LINK_HEADER_CONTEXT:k}=Y("../constants"),Q=Y("../JsonLdError"),H=Y("../RequestQueue"),{prependBase:w}=Y("../url"),C=/(^|(\r\n))link:/i;function R(T,b,y){const S=new(T=T||XMLHttpRequest);return new Promise((A,z)=>{S.onload=()=>A(S),S.onerror=P=>z(P),S.open("GET",b,!0);for(const P in y)S.setRequestHeader(P,y[P]);S.send()})}Se.exports=({secure:T,headers:b={},xhr:y}={headers:{}})=>{return b=j(b),(new H).wrapLoader(A);function A(P){return z.apply(this,arguments)}function z(){return(z=yt(function*(P){if(0!==P.indexOf("http:")&&0!==P.indexOf("https:"))throw new Q('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:P});if(T&&0!==P.indexOf("https"))throw new Q('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:P});let X;try{X=yield R(y,P,b)}catch(E){throw new Q("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:P,cause:E})}if(X.status>=400)throw new Q("URL could not be dereferenced: "+X.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:P,httpStatusCode:X.status});let ue={contextUrl:null,documentUrl:P,document:X.response},I=null;const O=X.getResponseHeader("Content-Type");let K;if(C.test(X.getAllResponseHeaders())&&(K=X.getResponseHeader("Link")),K&&"application/ld+json"!==O){const E=W(K),$=E[k];if(Array.isArray($))throw new Q("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:P});$&&(ue.contextUrl=$.target),I=E.alternate,I&&"application/ld+json"==I.type&&!(O||"").match(/^application\/(\w*\+)?json$/)&&(ue=yield A(w(P,I.target)))}return ue})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),{isArray:j,isObject:k,isEmptyObject:Q,isString:H,isUndefined:w}=Y("./types"),{isList:C,isValue:R,isGraph:T,isSubject:b}=Y("./graphTypes"),{expandIri:y,getContextValue:S,isKeyword:A,process:z,processingMode:P}=Y("./context"),{isAbsolute:X}=Y("./url"),{addValue:ue,asArray:I,getValues:O,validateTypeValue:K}=Y("./util"),E={};Se.exports=E;const $=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function Z(ne){return ae.apply(this,arguments)}function ae(){return(ae=yt(function*({activeCtx:ne,activeProperty:ye,expandedActiveProperty:Oe,element:$e,expandedParent:st,options:Qe={},insideList:tt,typeKey:Xe,typeScopedContext:ze,expansionMap:Le}){const Ke=Object.keys($e).sort(),Me=[];let Ue;const qe=$e[Xe]&&"@json"===y(ne,j($e[Xe])?$e[Xe][0]:$e[Xe],{vocab:!0},Qe);for(const ke of Ke){let G,q=$e[ke];if("@context"===ke)continue;let pe=y(ne,ke,{vocab:!0},Qe);if((null===pe||!X(pe)&&!A(pe))&&(pe=Le({unmappedProperty:ke,activeCtx:ne,activeProperty:ye,parent:$e,options:Qe,insideList:tt,value:q,expandedParent:st}),void 0===pe))continue;if(A(pe)){if("@reverse"===Oe)throw new W("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:q});if(pe in st&&"@included"!==pe&&"@type"!==pe)throw new W("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:pe})}if("@id"===pe){if(!H(q)){if(!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(k(q)){if(!Q(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}else{if(!j(q))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q});if(!q.every(pt=>H(pt)))throw new W('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:q})}}ue(st,"@id",I(q).map(pt=>H(pt)?y(ne,pt,{base:!0},Qe):pt),{propertyIsArray:Qe.isFrame});continue}if("@type"===pe){k(q)&&(q=Object.fromEntries(Object.entries(q).map(([pt,we])=>[y(ze,pt,{vocab:!0}),I(we).map(B=>y(ze,B,{base:!0,vocab:!0}))]))),K(q,Qe.isFrame),ue(st,"@type",I(q).map(pt=>H(pt)?y(ze,pt,{base:!0,vocab:!0},Qe):pt),{propertyIsArray:Qe.isFrame});continue}if("@included"===pe&&P(ne,1.1)){const pt=I(yield E.expand({activeCtx:ne,activeProperty:ye,element:q,options:Qe,expansionMap:Le}));if(!pt.every(we=>b(we)))throw new W("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:q});ue(st,"@included",pt,{propertyIsArray:!0});continue}if("@graph"===pe&&!k(q)&&!j(q))throw new W('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:q});if("@value"===pe){Ue=q,qe&&P(ne,1.1)?st["@value"]=q:ue(st,"@value",q,{propertyIsArray:Qe.isFrame});continue}if("@language"===pe){if(null===q)continue;if(!H(q)&&!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:q});q=I(q).map(pt=>H(pt)?pt.toLowerCase():pt);for(const pt of q)H(pt)&&!pt.match($)&&console.warn(`@language must be valid BCP47: ${pt}`);ue(st,"@language",q,{propertyIsArray:Qe.isFrame});continue}if("@direction"===pe){if(!H(q)&&!Qe.isFrame)throw new W('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:q});q=I(q);for(const pt of q)if(H(pt)&&"ltr"!==pt&&"rtl"!==pt)throw new W('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:q});ue(st,"@direction",q,{propertyIsArray:Qe.isFrame});continue}if("@index"===pe){if(!H(q))throw new W('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:q});ue(st,"@index",q);continue}if("@reverse"===pe){if(!k(q))throw new W('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:q});if(G=yield E.expand({activeCtx:ne,activeProperty:"@reverse",element:q,options:Qe,expansionMap:Le}),"@reverse"in G)for(const we in G["@reverse"])ue(st,we,G["@reverse"][we],{propertyIsArray:!0});let pt=st["@reverse"]||null;for(const we in G){if("@reverse"===we)continue;null===pt&&(pt=st["@reverse"]={}),ue(pt,we,[],{propertyIsArray:!0});const B=G[we];for(let N=0;N"@id"===pt||"@index"===pt)&&(G=I(G).map(pt=>({"@graph":I(pt)}))),de.mappings.has(ke)&&de.mappings.get(ke).reverse){const pt=st["@reverse"]=st["@reverse"]||{};G=I(G);for(let we=0;we"@value"===y(ne,pe,{vocab:!0},Qe)))throw new W("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:G});yield Z({activeCtx:ne,activeProperty:ye,expandedActiveProperty:Oe,element:G,expandedParent:st,options:Qe,insideList:tt,typeScopedContext:ze,typeKey:Xe,expansionMap:Le})}}})).apply(this,arguments)}function oe({activeCtx:ne,activeProperty:ye,value:Oe,options:$e}){if(null==Oe)return null;const st=y(ne,ye,{vocab:!0},$e);if("@id"===st)return y(ne,Oe,{base:!0},$e);if("@type"===st)return y(ne,Oe,{vocab:!0,base:!0},$e);const Qe=S(ne,ye,"@type");if(("@id"===Qe||"@graph"===st)&&H(Oe))return{"@id":y(ne,Oe,{base:!0},$e)};if("@vocab"===Qe&&H(Oe))return{"@id":y(ne,Oe,{vocab:!0,base:!0},$e)};if(A(st))return Oe;const tt={};if(Qe&&!["@id","@vocab","@none"].includes(Qe))tt["@type"]=Qe;else if(H(Oe)){const Xe=S(ne,ye,"@language");null!==Xe&&(tt["@language"]=Xe);const ze=S(ne,ye,"@direction");null!==ze&&(tt["@direction"]=ze)}return["boolean","number","string"].includes(typeof Oe)||(Oe=Oe.toString()),tt["@value"]=Oe,tt}function te(ne,ye,Oe,$e){const st=[],Qe=Object.keys(ye).sort();for(const tt of Qe){const Xe=y(ne,tt,{vocab:!0},$e);let ze=ye[tt];j(ze)||(ze=[ze]);for(const Le of ze){if(null===Le)continue;if(!H(Le))throw new W("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:ye});const Ke={"@value":Le};"@none"!==Xe&&(Ke["@language"]=tt.toLowerCase()),Oe&&(Ke["@direction"]=Oe),st.push(Ke)}}return st}function Te(ne){return me.apply(this,arguments)}function me(){return(me=yt(function*({activeCtx:ne,options:ye,activeProperty:Oe,value:$e,expansionMap:st,asGraph:Qe,indexKey:tt,propertyIndex:Xe}){const ze=[],Le=Object.keys($e).sort(),Ke="@type"===tt;for(let Me of Le){if(Ke){const ke=S(ne,Me,"@context");w(ke)||(ne=yield z({activeCtx:ne,localCtx:ke,propagate:!1,options:ye}))}let qe,Ue=$e[Me];j(Ue)||(Ue=[Ue]),Ue=yield E.expand({activeCtx:ne,activeProperty:Oe,element:Ue,options:ye,insideList:!1,insideIndex:!0,expansionMap:st}),qe=Xe?"@none"===Me?"@none":oe({activeCtx:ne,activeProperty:tt,value:Me,options:ye}):y(ne,Me,{vocab:!0},ye),"@id"===tt?Me=y(ne,Me,{base:!0},ye):Ke&&(Me=qe);for(let ke of Ue){if(Qe&&!T(ke)&&(ke={"@graph":[ke]}),"@type"===tt)"@none"===qe||(ke["@type"]=ke["@type"]?[Me].concat(ke["@type"]):[Me]);else{if(R(ke)&&!["@language","@type","@index"].includes(tt))throw new W(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${tt}".`,"jsonld.SyntaxError",{code:"invalid value object",value:ke});Xe?"@none"!==qe&&ue(ke,Xe,qe,{propertyIsArray:!0,prependValue:!0}):"@none"!==qe&&!(tt in ke)&&(ke[tt]=Me)}ze.push(ke)}}return ze})).apply(this,arguments)}E.expand=function(){var ne=yt(function*({activeCtx:ye,activeProperty:Oe=null,element:$e,options:st={},insideList:Qe=!1,insideIndex:tt=!1,typeScopedContext:Xe=null,expansionMap:ze=(()=>{})}){if(null==$e)return null;if("@default"===Oe&&(st=Object.assign({},st,{isFrame:!1})),!j($e)&&!k($e)){if(!Qe&&(null===Oe||"@graph"===y(ye,Oe,{vocab:!0},st))){const G=yield ze({unmappedValue:$e,activeCtx:ye,activeProperty:Oe,options:st,insideList:Qe});return void 0===G?null:G}return oe({activeCtx:ye,activeProperty:Oe,value:$e,options:st})}if(j($e)){let G=[];const pe=S(ye,Oe,"@container")||[];Qe=Qe||pe.includes("@list");for(let de=0;de<$e.length;++de){let je=yield E.expand({activeCtx:ye,activeProperty:Oe,element:$e[de],options:st,expansionMap:ze,insideIndex:tt,typeScopedContext:Xe});Qe&&j(je)&&(je={"@list":je}),(null!==je||(je=yield ze({unmappedValue:$e[de],activeCtx:ye,activeProperty:Oe,parent:$e,index:de,options:st,expandedParent:G,insideList:Qe}),void 0!==je))&&(j(je)?G=G.concat(je):G.push(je))}return G}const Le=y(ye,Oe,{vocab:!0},st),Ke=S(ye,Oe,"@context");Xe=Xe||(ye.previousContext?ye:null);let Me=Object.keys($e).sort(),Ue=!tt;if(Ue&&Xe&&Me.length<=2&&!Me.includes("@context"))for(const G of Me){const pe=y(Xe,G,{vocab:!0},st);if("@value"===pe){Ue=!1,ye=Xe;break}if("@id"===pe&&1===Me.length){Ue=!1;break}}Ue&&(ye=ye.revertToPreviousContext()),w(Ke)||(ye=yield z({activeCtx:ye,localCtx:Ke,propagate:!0,overrideProtected:!0,options:st})),"@context"in $e&&(ye=yield z({activeCtx:ye,localCtx:$e["@context"],options:st})),Xe=ye;let qe=null;for(const G of Me)if("@type"===y(ye,G,{vocab:!0},st)){qe=qe||G;const de=$e[G],je=Array.isArray(de)?de.length>1?de.slice().sort():de:[de];for(const _t of je){const pt=S(Xe,_t,"@context");w(pt)||(ye=yield z({activeCtx:ye,localCtx:pt,options:st,propagate:!1}))}}let ke={};yield Z({activeCtx:ye,activeProperty:Oe,expandedActiveProperty:Le,element:$e,expandedParent:ke,options:st,insideList:Qe,typeKey:qe,typeScopedContext:Xe,expansionMap:ze}),Me=Object.keys(ke);let q=Me.length;if("@value"in ke){if("@type"in ke&&("@language"in ke||"@direction"in ke))throw new W('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ke});let G=q-1;if("@type"in ke&&(G-=1),"@index"in ke&&(G-=1),"@language"in ke&&(G-=1),"@direction"in ke&&(G-=1),0!==G)throw new W('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:ke});const pe=null===ke["@value"]?[]:I(ke["@value"]),de=O(ke,"@type");if(!P(ye,1.1)||!de.includes("@json")||1!==de.length)if(0===pe.length){const je=yield ze({unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==je?je:null}else{if(!pe.every(je=>H(je)||Q(je))&&"@language"in ke)throw new W("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:ke});if(!de.every(je=>X(je)&&!(H(je)&&0===je.indexOf("_:"))||Q(je)))throw new W('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:ke})}}else if("@type"in ke&&!j(ke["@type"]))ke["@type"]=[ke["@type"]];else if("@set"in ke||"@list"in ke){if(q>1&&(2!==q||!("@index"in ke)))throw new W('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:ke});"@set"in ke&&(ke=ke["@set"],Me=Object.keys(ke),q=Me.length)}else if(1===q&&"@language"in ke){const G=yield ze(ke,{unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==G?G:null}if(k(ke)&&!st.keepFreeFloatingNodes&&!Qe&&(null===Oe||"@graph"===Le)&&(0===q||"@value"in ke||"@list"in ke||1===q&&"@id"in ke)){const G=yield ze({unmappedValue:ke,activeCtx:ye,activeProperty:Oe,element:$e,options:st,insideList:Qe});ke=void 0!==G?G:null}return ke});return function(ye){return ne.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(Y,Se,he){"use strict";const{isSubjectReference:W}=Y("./graphTypes"),{createMergedNodeMap:j}=Y("./nodeMap"),k={};Se.exports=k,k.flatten=Q=>{const H=j(Q),w=[],C=Object.keys(H).sort();for(let R=0;R=0;--ae){const oe=Z[ae];if(oe.graph===$&&oe.subject["@id"]===E["@id"])return!0}return!1}function S(E,$,Z){const ae="@"+Z;let oe=ae in E?E[ae][0]:$[Z];if("embed"===Z)if(!0===oe)oe="@once";else if(!1===oe)oe="@never";else if("@always"!==oe&&"@never"!==oe&&"@link"!==oe&&"@first"!==oe&&"@last"!==oe&&"@once"!==oe)throw new w("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:E});return oe}function A(E){if(!k.isArray(E)||1!==E.length||!k.isObject(E[0]))throw new w("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:E});if("@id"in E[0])for(const $ of Q.asArray(E[0]["@id"]))if(!k.isObject($)&&!H.isAbsolute($)||k.isString($)&&0===$.indexOf("_:"))throw new w("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E});if("@type"in E[0])for(const $ of Q.asArray(E[0]["@type"]))if(!k.isObject($)&&!H.isAbsolute($)||k.isString($)&&0===$.indexOf("_:"))throw new w("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:E})}function P(E,$,Z,ae){let oe=!0,te=!1;for(const Te in Z){let me=!1;const ne=Q.getValues($,Te),ye=0===Q.getValues(Z,Te).length;if("@id"===Te){if(k.isEmptyObject(Z["@id"][0]||{})?me=!0:Z["@id"].length>=0&&(me=Z["@id"].includes(ne[0])),!ae.requireAll)return me}else if("@type"===Te){if(oe=!1,ye){if(ne.length>0)return!1;me=!0}else if(1===Z["@type"].length&&k.isEmptyObject(Z["@type"][0]))me=ne.length>0;else for(const Oe of Z["@type"])me=!(!k.isObject(Oe)||!("@default"in Oe))||me||ne.some($e=>$e===Oe);if(!ae.requireAll)return me}else{if(W(Te))continue;{const Oe=Q.getValues(Z,Te)[0];let $e=!1;if(Oe&&(A([Oe]),$e="@default"in Oe),oe=!1,0===ne.length&&$e)continue;if(ne.length>0&&ye)return!1;if(void 0===Oe){if(ne.length>0)return!1;me=!0}else if(j.isList(Oe)){const st=Oe["@list"][0];if(j.isList(ne[0])){const Qe=ne[0]["@list"];j.isValue(st)?me=Qe.some(tt=>K(st,tt)):(j.isSubject(st)||j.isSubjectReference(st))&&(me=Qe.some(tt=>O(E,st,tt,ae)))}}else me=j.isValue(Oe)?ne.some(st=>K(Oe,st)):j.isSubjectReference(Oe)?ne.some(st=>O(E,Oe,st,ae)):!!k.isObject(Oe)&&ne.length>0}}if(!me&&ae.requireAll)return!1;te=te||me}return oe||te}function X(E,$){const Z=E.uniqueEmbeds[E.graph],ae=Z[$],oe=ae.parent,te=ae.property,Te={"@id":$};if(k.isArray(oe)){for(let ne=0;ne{const ye=Object.keys(Z);for(const Oe of ye)Oe in Z&&k.isObject(Z[Oe].parent)&&Z[Oe].parent["@id"]===ne&&(delete Z[Oe],me(Oe))};me($)}function ue(E,$){if(k.isArray(E))return E.map(Z=>ue(Z,$));if(k.isObject(E)){if("@preserve"in E)return E["@preserve"][0];if(j.isValue(E))return E;if(j.isList(E))return E["@list"]=ue(E["@list"],$),E;if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const ae=$.link[Z].indexOf(E);if(-1!==ae)return $.link[Z][ae];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)"@id"===Z&&$.bnodesToClear.includes(E[Z])?delete E["@id"]:E[Z]=ue(E[Z],$)}return E}function I(E,$,Z){k.isObject(E)?Q.addValue(E,$,Z,{propertyIsArray:!0}):E.push(Z)}function O(E,$,Z,ae){if(!("@id"in Z))return!1;const oe=E.subjects[Z["@id"]];return oe&&P(E,oe,$,ae)}function K(E,$){const Z=$["@value"],ae=$["@type"],oe=$["@language"],te=E["@value"]?k.isArray(E["@value"])?E["@value"]:[E["@value"]]:[],Te=E["@type"]?k.isArray(E["@type"])?E["@type"]:[E["@type"]]:[],me=E["@language"]?k.isArray(E["@language"])?E["@language"]:[E["@language"]]:[];return 0===te.length&&0===Te.length&&0===me.length||!(!te.includes(Z)&&!k.isEmptyObject(te[0])||!(!ae&&0===Te.length||Te.includes(ae)||ae&&k.isEmptyObject(Te[0]))||!(!oe&&0===me.length||me.includes(oe)||oe&&k.isEmptyObject(me[0])))}Se.exports=T,T.frameMergedOrDefault=(E,$,Z)=>{const ae={options:Z,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},oe=new Q.IdentifierIssuer("_:b");C(E,ae.graphMap,"@default",oe),Z.merged&&(ae.graphMap["@merged"]=R(ae.graphMap),ae.graph="@merged"),ae.subjects=ae.graphMap[ae.graph];const te=[];return T.frame(ae,Object.keys(ae.subjects).sort(),$,te),Z.pruneBlankNodeIdentifiers&&(Z.bnodesToClear=Object.keys(ae.bnodeMap).filter(Te=>1===ae.bnodeMap[Te].length)),Z.link={},ue(te,Z)},T.frame=(E,$,Z,ae,oe=null)=>{A(Z);const te=E.options,Te={embed:S(Z=Z[0],te,"embed"),explicit:S(Z,te,"explicit"),requireAll:S(Z,te,"requireAll")};E.link.hasOwnProperty(E.graph)||(E.link[E.graph]={});const me=E.link[E.graph],ne=function(E,$,Z,ae){const oe={};for(const te of $){const Te=E.graphMap[E.graph][te];P(E,Te,Z,ae)&&(oe[te]=Te)}return oe}(E,$,Z,Te),ye=Object.keys(ne).sort();for(const Oe of ye){const $e=ne[Oe];if(null===oe?E.uniqueEmbeds={[E.graph]:{}}:E.uniqueEmbeds[E.graph]=E.uniqueEmbeds[E.graph]||{},"@link"===Te.embed&&Oe in me){I(ae,oe,me[Oe]);continue}const st={"@id":Oe};if(0===Oe.indexOf("_:")&&Q.addValue(E.bnodeMap,Oe,st,{propertyIsArray:!0}),me[Oe]=st,("@first"===Te.embed||"@last"===Te.embed)&&E.is11)throw new w("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:Z});if(E.embedded||!E.uniqueEmbeds[E.graph].hasOwnProperty(Oe)){if(E.embedded&&("@never"===Te.embed||y($e,E.graph,E.subjectStack))){I(ae,oe,st);continue}if(E.embedded&&("@first"==Te.embed||"@once"==Te.embed)&&E.uniqueEmbeds[E.graph].hasOwnProperty(Oe)){I(ae,oe,st);continue}if("@last"===Te.embed&&Oe in E.uniqueEmbeds[E.graph]&&X(E,Oe),E.uniqueEmbeds[E.graph][Oe]={parent:ae,property:oe},E.subjectStack.push({subject:$e,graph:E.graph}),Oe in E.graphMap){let Qe=!1,tt=null;"@graph"in Z?(tt=Z["@graph"][0],Qe=!("@merged"===Oe||"@default"===Oe),k.isObject(tt)||(tt={})):(Qe="@merged"!==E.graph,tt={}),Qe&&T.frame(Sn(ot({},E),{graph:Oe,embedded:!1}),Object.keys(E.graphMap[Oe]).sort(),[tt],st,"@graph")}"@included"in Z&&T.frame(Sn(ot({},E),{embedded:!1}),$,Z["@included"],st,"@included");for(const Qe of Object.keys($e).sort())if(W(Qe)){if(st[Qe]=Q.clone($e[Qe]),"@type"===Qe)for(const tt of $e["@type"])0===tt.indexOf("_:")&&Q.addValue(E.bnodeMap,tt,st,{propertyIsArray:!0})}else if(!Te.explicit||Qe in Z)for(const tt of $e[Qe]){const Xe=Qe in Z?Z[Qe]:b(Te);if(j.isList(tt)){const ze=Z[Qe]&&Z[Qe][0]&&Z[Qe][0]["@list"]?Z[Qe][0]["@list"]:b(Te),Le={"@list":[]};I(st,Qe,Le);const Ke=tt["@list"];for(const Me of Ke)j.isSubjectReference(Me)?T.frame(Sn(ot({},E),{embedded:!0}),[Me["@id"]],ze,Le,"@list"):I(Le,"@list",Q.clone(Me))}else j.isSubjectReference(tt)?T.frame(Sn(ot({},E),{embedded:!0}),[tt["@id"]],Xe,st,Qe):K(Xe[0],tt)&&I(st,Qe,Q.clone(tt))}for(const Qe of Object.keys(Z).sort()){if("@type"===Qe){if(!k.isObject(Z[Qe][0])||!("@default"in Z[Qe][0]))continue}else if(W(Qe))continue;const tt=Z[Qe][0]||{};if(!S(tt,te,"omitDefault")&&!(Qe in st)){let ze="@null";"@default"in tt&&(ze=Q.clone(tt["@default"])),k.isArray(ze)||(ze=[ze]),st[Qe]=[{"@preserve":ze}]}}for(const Qe of Object.keys(Z["@reverse"]||{}).sort()){const tt=Z["@reverse"][Qe];for(const Xe of Object.keys(E.subjects))Q.getValues(E.subjects[Xe],Qe).some(Le=>Le["@id"]===Oe)&&(st["@reverse"]=st["@reverse"]||{},Q.addValue(st["@reverse"],Qe,[],{propertyIsArray:!0}),T.frame(Sn(ot({},E),{embedded:!0}),[Xe],tt,st["@reverse"][Qe],oe))}I(ae,oe,st),E.subjectStack.pop()}}},T.cleanupNull=(E,$)=>{if(k.isArray(E))return E.map(ae=>T.cleanupNull(ae,$)).filter(ae=>ae);if("@null"===E)return null;if(k.isObject(E)){if("@id"in E){const Z=E["@id"];if($.link.hasOwnProperty(Z)){const ae=$.link[Z].indexOf(E);if(-1!==ae)return $.link[Z][ae];$.link[Z].push(E)}else $.link[Z]=[E]}for(const Z in E)E[Z]=T.cleanupNull(E[Z],$)}return E}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(Y,Se,he){"use strict";const W=Y("./JsonLdError"),j=Y("./graphTypes"),k=Y("./types"),Q=Y("./util"),{RDF_LIST:H,RDF_FIRST:w,RDF_REST:C,RDF_NIL:R,RDF_TYPE:T,RDF_JSON_LITERAL:b,XSD_BOOLEAN:y,XSD_DOUBLE:S,XSD_INTEGER:A,XSD_STRING:z}=Y("./constants"),P=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,X={};function ue(I,O,K){if(I.termType.endsWith("Node"))return{"@id":I.value};const E={"@value":I.value};if(I.language)E["@language"]=I.language;else{let $=I.datatype.value;if($||($=z),$===b){$="@json";try{E["@value"]=JSON.parse(E["@value"])}catch(Z){throw new W("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:E["@value"],cause:Z})}}if(O){if($===y)"true"===E["@value"]?E["@value"]=!0:"false"===E["@value"]&&(E["@value"]=!1);else if(k.isNumeric(E["@value"]))if($===A){const Z=parseInt(E["@value"],10);Z.toFixed(0)===E["@value"]&&(E["@value"]=Z)}else $===S&&(E["@value"]=parseFloat(E["@value"]));[y,A,S,z].includes($)||(E["@type"]=$)}else if("i18n-datatype"===K&&$.startsWith("https://www.w3.org/ns/i18n#")){const[,Z,ae]=$.split(/[#_]/);Z.length>0&&(E["@language"]=Z,Z.match(P)||console.warn(`@language must be valid BCP47: ${Z}`)),E["@direction"]=ae}else $!==z&&(E["@type"]=$)}return E}Se.exports=X,X.fromRDF=function(){var I=yt(function*(O,{useRdfType:K=!1,useNativeTypes:E=!1,rdfDirection:$=null}){const Z={},ae={"@default":Z},oe={};for(const me of O){const ne="DefaultGraph"===me.graph.termType?"@default":me.graph.value;ne in ae||(ae[ne]={}),"@default"!==ne&&!(ne in Z)&&(Z[ne]={"@id":ne});const ye=ae[ne],Oe=me.subject.value,$e=me.predicate.value,st=me.object;Oe in ye||(ye[Oe]={"@id":Oe});const Qe=ye[Oe],tt=st.termType.endsWith("Node");if(tt&&!(st.value in ye)&&(ye[st.value]={"@id":st.value}),$e===T&&!K&&tt){Q.addValue(Qe,"@type",st.value,{propertyIsArray:!0});continue}const Xe=ue(st,E,$);if(Q.addValue(Qe,$e,Xe,{propertyIsArray:!0}),tt)if(st.value===R){const ze=ye[st.value];"usages"in ze||(ze.usages=[]),ze.usages.push({node:Qe,property:$e,value:Xe})}else oe[st.value]=!(st.value in oe)&&{node:Qe,property:$e,value:Xe}}for(const me in ae){const ne=ae[me];if(!(R in ne))continue;const ye=ne[R];if(ye.usages){for(let Oe of ye.usages){let $e=Oe.node,st=Oe.property,Qe=Oe.value;const tt=[],Xe=[];let ze=Object.keys($e).length;for(;st===C&&k.isObject(oe[$e["@id"]])&&k.isArray($e[w])&&1===$e[w].length&&k.isArray($e[C])&&1===$e[C].length&&(3===ze||4===ze&&k.isArray($e["@type"])&&1===$e["@type"].length&&$e["@type"][0]===H)&&(tt.push($e[w][0]),Xe.push($e["@id"]),Oe=oe[$e["@id"]],$e=Oe.node,st=Oe.property,Qe=Oe.value,ze=Object.keys($e).length,j.isBlankNode($e)););delete Qe["@id"],Qe["@list"]=tt.reverse();for(const Le of Xe)delete ne[Le]}delete ye.usages}}const te=[],Te=Object.keys(Z).sort();for(const me of Te){const ne=Z[me];if(me in ae){const ye=ne["@graph"]=[],Oe=ae[me],$e=Object.keys(Oe).sort();for(const st of $e){const Qe=Oe[st];j.isSubjectReference(Qe)||ye.push(Qe)}}j.isSubjectReference(ne)||te.push(ne)}return te});return function(O,K){return I.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.isSubject=k=>!(!W.isObject(k)||"@value"in k||"@set"in k||"@list"in k)&&(Object.keys(k).length>1||!("@id"in k)),j.isSubjectReference=k=>W.isObject(k)&&1===Object.keys(k).length&&"@id"in k,j.isValue=k=>W.isObject(k)&&"@value"in k,j.isList=k=>W.isObject(k)&&"@list"in k,j.isGraph=k=>W.isObject(k)&&"@graph"in k&&1===Object.keys(k).filter(Q=>"@id"!==Q&&"@index"!==Q).length,j.isSimpleGraph=k=>j.isGraph(k)&&!("@id"in k),j.isBlankNode=k=>!!W.isObject(k)&&("@id"in k?0===k["@id"].indexOf("_:"):0===Object.keys(k).length||!("@value"in k||"@set"in k||"@list"in k))},{"./types":30}],26:[function(Y,Se,he){const W=Y("rdf-canonize"),j=Y("./platform"),k=Y("./util"),Q=Y("./ContextResolver"),H=k.IdentifierIssuer,w=Y("./JsonLdError"),C=Y("lru-cache"),R=Y("./NQuads"),{expand:T}=Y("./expand"),{flatten:b}=Y("./flatten"),{fromRDF:y}=Y("./fromRdf"),{toRDF:S}=Y("./toRdf"),{frameMergedOrDefault:A,cleanupNull:z}=Y("./frame"),{isArray:P,isObject:X,isString:ue}=Y("./types"),{isSubjectReference:I}=Y("./graphTypes"),{expandIri:O,getInitialContext:K,process:E,processingMode:$}=Y("./context"),{compact:Z,compactIri:ae}=Y("./compact"),{createNodeMap:oe,createMergedNodeMap:te,mergeNodeMaps:Te}=Y("./nodeMap"),me=function(ye){const Oe={},st=new C({max:100});function Qe(tt,Le){var Ke=Le,{documentLoader:Xe=ye.documentLoader}=Ke,ze=Nq(Ke,["documentLoader"]);return Object.assign({},{documentLoader:Xe},ze,tt)}return ye.compact=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===ze)throw new w("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===Xe)return null;let Ke;(Le=Qe(Le,{base:ue(Xe)?Xe:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new H("_:b"),contextResolver:new Q({sharedCache:st})})).link&&(Le.skipExpansion=!0),Le.compactToRelative||delete Le.base,Ke=Le.skipExpansion?Xe:yield ye.expand(Xe,Le);const Me=yield ye.processContext(K(Le),ze,Le);let Ue=yield Z({activeCtx:Me,element:Ke,options:Le,compactionMap:Le.compactionMap});Le.compactArrays&&!Le.graph&&P(Ue)?1===Ue.length?Ue=Ue[0]:0===Ue.length&&(Ue={}):Le.graph&&X(Ue)&&(Ue=[Ue]),X(ze)&&"@context"in ze&&(ze=ze["@context"]),ze=k.clone(ze),P(ze)||(ze=[ze]);const qe=ze;ze=[];for(let q=0;q0)&&ze.push(qe[q]);const ke=ze.length>0;if(1===ze.length&&(ze=ze[0]),P(Ue)){const q=ae({activeCtx:Me,iri:"@graph",relativeTo:{vocab:!0}}),G=Ue;Ue={},ke&&(Ue["@context"]=ze),Ue[q]=G}else if(X(Ue)&&ke){const q=Ue;Ue={"@context":ze};for(const G in q)Ue[G]=q[G]}return Ue});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.expand=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(ze=Qe(ze,{keepFreeFloatingNodes:!1,contextResolver:new Q({sharedCache:st})})).expansionMap&&(ze.expansionMap=void 0);const Le={},Ke=[];if("expandContext"in ze){const ke=k.clone(ze.expandContext);Le.expandContext=X(ke)&&"@context"in ke?ke:{"@context":ke},Ke.push(Le.expandContext)}let Me;if(ue(Xe)){const ke=yield ye.get(Xe,ze);Me=ke.documentUrl,Le.input=ke.document,ke.contextUrl&&(Le.remoteContext={"@context":ke.contextUrl},Ke.push(Le.remoteContext))}else Le.input=k.clone(Xe);"base"in ze||(ze.base=Me||"");let Ue=K(ze);for(const ke of Ke)Ue=yield E({activeCtx:Ue,localCtx:ke,options:ze});let qe=yield T({activeCtx:Ue,element:Le.input,options:ze,expansionMap:ze.expansionMap});return X(qe)&&"@graph"in qe&&1===Object.keys(qe).length?qe=qe["@graph"]:null===qe&&(qe=[]),P(qe)||(qe=[qe]),qe});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.flatten=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");ze="function"==typeof ze?null:ze||null,Le=Qe(Le,{base:ue(Xe)?Xe:"",contextResolver:new Q({sharedCache:st})});const Ke=yield ye.expand(Xe,Le),Me=b(Ke);return null===ze?Me:(Le.graph=!0,Le.skipExpansion=!0,yield ye.compact(Me,ze,Le))});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.frame=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(Le=Qe(Le,{base:ue(Xe)?Xe:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new Q({sharedCache:st})}),ue(ze)){const de=yield ye.get(ze,Le);if(ze=de.document,de.contextUrl){let je=ze["@context"];je?P(je)?je.push(de.contextUrl):je=[je,de.contextUrl]:je=de.contextUrl,ze["@context"]=je}}const Ke=ze&&ze["@context"]||{},Me=yield ye.processContext(K(Le),Ke,Le);Le.hasOwnProperty("omitGraph")||(Le.omitGraph=$(Me,1.1)),Le.hasOwnProperty("pruneBlankNodeIdentifiers")||(Le.pruneBlankNodeIdentifiers=$(Me,1.1));const Ue=yield ye.expand(Xe,Le),qe=ot({},Le);qe.isFrame=!0,qe.keepFreeFloatingNodes=!0;const ke=yield ye.expand(ze,qe),q=Object.keys(ze).map(de=>O(Me,de,{vocab:!0}));qe.merged=!q.includes("@graph"),qe.is11=$(Me,1.1);const G=A(Ue,ke,qe);qe.graph=!Le.omitGraph,qe.skipExpansion=!0,qe.link={},qe.framing=!0;let pe=yield ye.compact(G,Ke,qe);return qe.link={},pe=z(pe,qe),pe});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.link=function(){var tt=yt(function*(Xe,ze,Le){const Ke={};return ze&&(Ke["@context"]=ze),Ke["@embed"]="@link",ye.frame(Xe,Ke,Le)});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.normalize=ye.canonize=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(ze=Qe(ze,{base:ue(Xe)?Xe:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new Q({sharedCache:st})}))){if("application/n-quads"!==ze.inputFormat&&"application/nquads"!==ze.inputFormat)throw new w("Unknown canonicalization input format.","jsonld.CanonizeError");const Me=R.parse(Xe);return W.canonize(Me,ze)}const Le=ot({},ze);delete Le.format,Le.produceGeneralizedRdf=!1;const Ke=yield ye.toRDF(Xe,Le);return W.canonize(Ke,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.fromRDF=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");ze=Qe(ze,{format:ue(Xe)?"application/n-quads":void 0});const{format:Le}=ze;let{rdfParser:Ke}=ze;if(Le){if(Ke=Ke||Oe[Le],!Ke)throw new w("Unknown input format.","jsonld.UnknownFormat",{format:Le})}else Ke=()=>Xe;const Me=yield Ke(Xe);return y(Me,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.toRDF=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let Le;Le=(ze=Qe(ze,{base:ue(Xe)?Xe:"",skipExpansion:!1,contextResolver:new Q({sharedCache:st})})).skipExpansion?Xe:yield ye.expand(Xe,ze);const Ke=S(Le,ze);if(ze.format){if("application/n-quads"===ze.format||"application/nquads"===ze.format)return R.serialize(Ke);throw new w("Unknown output format.","jsonld.UnknownFormat",{format:ze.format})}return Ke});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.createNodeMap=function(){var tt=yt(function*(Xe,ze){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");ze=Qe(ze,{base:ue(Xe)?Xe:"",contextResolver:new Q({sharedCache:st})});const Le=yield ye.expand(Xe,ze);return te(Le,ze)});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.merge=function(){var tt=yt(function*(Xe,ze,Le){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!P(Xe))throw new TypeError('Could not merge, "docs" must be an array.');ze="function"==typeof ze?null:ze||null,Le=Qe(Le,{contextResolver:new Q({sharedCache:st})});const Ke=yield Promise.all(Xe.map(de=>{const je=ot({},Le);return ye.expand(de,je)}));let Me=!0;"mergeNodes"in Le&&(Me=Le.mergeNodes);const Ue=Le.issuer||new H("_:b"),qe={"@default":{}};for(let de=0;deye._documentLoader,set:tt=>ye._documentLoader=tt}),ye.documentLoader=function(){var tt=yt(function*(Xe){throw new w("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:Xe})});return function(Xe){return tt.apply(this,arguments)}}(),ye.get=function(){var tt=yt(function*(Xe,ze){let Le;Le="function"==typeof ze.documentLoader?ze.documentLoader:ye.documentLoader;const Ke=yield Le(Xe);try{if(!Ke.document)throw new w("No remote document found at the given URL.","jsonld.NullRemoteDocument");ue(Ke.document)&&(Ke.document=JSON.parse(Ke.document))}catch(Me){throw new w("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:Me,remoteDoc:Ke})}return Ke});return function(Xe,ze){return tt.apply(this,arguments)}}(),ye.processContext=function(){var tt=yt(function*(Xe,ze,Le){return Le=Qe(Le,{base:"",contextResolver:new Q({sharedCache:st})}),null===ze?K(Le):(ze=k.clone(ze),X(ze)&&"@context"in ze||(ze={"@context":ze}),E({activeCtx:Xe,localCtx:ze,options:Le}))});return function(Xe,ze,Le){return tt.apply(this,arguments)}}(),ye.getContextValue=Y("./context").getContextValue,ye.documentLoaders={},ye.useDocumentLoader=function(tt){if(!(tt in ye.documentLoaders))throw new w('Unknown document loader type: "'+tt+'"',"jsonld.UnknownDocumentLoader",{type:tt});ye.documentLoader=ye.documentLoaders[tt].apply(ye,Array.prototype.slice.call(arguments,1))},ye.registerRDFParser=function(tt,Xe){Oe[tt]=Xe},ye.unregisterRDFParser=function(tt){delete Oe[tt]},ye.registerRDFParser("application/n-quads",R.parse),ye.registerRDFParser("application/nquads",R.parse),ye.url=Y("./url"),ye.util=k,Object.assign(ye,k),ye.promises=ye,ye.RequestQueue=Y("./RequestQueue"),ye.JsonLdProcessor=Y("./JsonLdProcessor")(ye),j.setupGlobals(ye),j.setupDocumentLoaders(ye),ye},ne=function(){return me(function(){return ne()})};me(ne),Se.exports=ne},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(Y,Se,he){"use strict";const{isKeyword:W}=Y("./context"),j=Y("./graphTypes"),k=Y("./types"),Q=Y("./util"),H=Y("./JsonLdError"),w={};Se.exports=w,w.createMergedNodeMap=(C,R)=>{const T=(R=R||{}).issuer||new Q.IdentifierIssuer("_:b"),b={"@default":{}};return w.createNodeMap(C,b,"@default",T),w.mergeNodeMaps(b)},w.createNodeMap=(C,R,T,b,y,S)=>{if(k.isArray(C)){for(const X of C)w.createNodeMap(X,R,T,b,void 0,S);return}if(!k.isObject(C))return void(S&&S.push(C));if(j.isValue(C)){if("@type"in C){let X=C["@type"];0===X.indexOf("_:")&&(C["@type"]=X=b.getId(X))}return void(S&&S.push(C))}if(S&&j.isList(C)){const X=[];return w.createNodeMap(C["@list"],R,T,b,y,X),void S.push({"@list":X})}if("@type"in C){const X=C["@type"];for(const ue of X)0===ue.indexOf("_:")&&b.getId(ue)}k.isUndefined(y)&&(y=j.isBlankNode(C)?b.getId(C["@id"]):C["@id"]),S&&S.push({"@id":y});const A=R[T],z=A[y]=A[y]||{};z["@id"]=y;const P=Object.keys(C).sort();for(let X of P){if("@id"===X)continue;if("@reverse"===X){const I={"@id":y},O=C["@reverse"];for(const K in O){const E=O[K];for(const $ of E){let Z=$["@id"];j.isBlankNode($)&&(Z=b.getId(Z)),w.createNodeMap($,R,T,b,Z),Q.addValue(A[Z],K,I,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===X){y in R||(R[y]={}),w.createNodeMap(C[X],R,y,b);continue}if("@included"===X){w.createNodeMap(C[X],R,T,b);continue}if("@type"!==X&&W(X)){if("@index"===X&&X in z&&(C[X]!==z[X]||C[X]["@id"]!==z[X]["@id"]))throw new H("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:z});z[X]=C[X];continue}const ue=C[X];if(0===X.indexOf("_:")&&(X=b.getId(X)),0!==ue.length)for(let I of ue)if("@type"===X&&(I=0===I.indexOf("_:")?b.getId(I):I),j.isSubject(I)||j.isSubjectReference(I)){if("@id"in I&&!I["@id"])continue;const O=j.isBlankNode(I)?b.getId(I["@id"]):I["@id"];Q.addValue(z,X,{"@id":O},{propertyIsArray:!0,allowDuplicate:!1}),w.createNodeMap(I,R,T,b,O)}else if(j.isValue(I))Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1});else if(j.isList(I)){const O=[];w.createNodeMap(I["@list"],R,T,b,y,O),I={"@list":O},Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1})}else w.createNodeMap(I,R,T,b,y),Q.addValue(z,X,I,{propertyIsArray:!0,allowDuplicate:!1});else Q.addValue(z,X,[],{propertyIsArray:!0})}},w.mergeNodeMapGraphs=C=>{const R={};for(const T of Object.keys(C).sort())for(const b of Object.keys(C[T]).sort()){const y=C[T][b];b in R||(R[b]={"@id":b});const S=R[b];for(const A of Object.keys(y).sort())if(W(A)&&"@type"!==A)S[A]=Q.clone(y[A]);else for(const z of y[A])Q.addValue(S,A,Q.clone(z),{propertyIsArray:!0,allowDuplicate:!1})}return R},w.mergeNodeMaps=C=>{const R=C["@default"],T=Object.keys(C).sort();for(const b of T){if("@default"===b)continue;const y=C[b];let S=R[b];S?"@graph"in S||(S["@graph"]=[]):R[b]=S={"@id":b,"@graph":[]};const A=S["@graph"];for(const z of Object.keys(y).sort()){const P=y[z];j.isSubjectReference(P)||A.push(P)}}return R}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(Y,Se,he){"use strict";const W=Y("./documentLoaders/xhr"),j={};Se.exports=j,j.setupDocumentLoaders=function(k){"undefined"!=typeof XMLHttpRequest&&(k.documentLoaders.xhr=W,k.useDocumentLoader("xhr"))},j.setupGlobals=function(k){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:k.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(Y,Se,he){"use strict";const{createNodeMap:W}=Y("./nodeMap"),{isKeyword:j}=Y("./context"),k=Y("./graphTypes"),Q=Y("canonicalize"),H=Y("./types"),w=Y("./util"),{RDF_FIRST:C,RDF_REST:R,RDF_NIL:T,RDF_TYPE:b,RDF_JSON_LITERAL:y,RDF_LANGSTRING:S,XSD_BOOLEAN:A,XSD_DOUBLE:z,XSD_INTEGER:P,XSD_STRING:X}=Y("./constants"),{isAbsolute:ue}=Y("./url"),I={};function O($,Z,ae,oe,te){const Te=Object.keys(Z).sort();for(const me of Te){const ne=Z[me],ye=Object.keys(ne).sort();for(let Oe of ye){const $e=ne[Oe];if("@type"===Oe)Oe=b;else if(j(Oe))continue;for(const st of $e){const Qe={termType:me.startsWith("_:")?"BlankNode":"NamedNode",value:me};if(!ue(me))continue;const tt={termType:Oe.startsWith("_:")?"BlankNode":"NamedNode",value:Oe};if(!ue(Oe)||"BlankNode"===tt.termType&&!te.produceGeneralizedRdf)continue;const Xe=E(st,oe,$,ae,te.rdfDirection);Xe&&$.push({subject:Qe,predicate:tt,object:Xe,graph:ae})}}}}function E($,Z,ae,oe,te){const Te={};if(k.isValue($)){Te.termType="Literal",Te.value=void 0,Te.datatype={termType:"NamedNode"};let me=$["@value"];const ne=$["@type"]||null;"@json"===ne?(Te.value=Q(me),Te.datatype.value=y):H.isBoolean(me)?(Te.value=me.toString(),Te.datatype.value=ne||A):H.isDouble(me)||ne===z?(H.isDouble(me)||(me=parseFloat(me)),Te.value=me.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Te.datatype.value=ne||z):H.isNumber(me)?(Te.value=me.toFixed(0),Te.datatype.value=ne||P):"i18n-datatype"===te&&"@direction"in $?(Te.datatype.value="https://www.w3.org/ns/i18n#"+($["@language"]||"")+`_${$["@direction"]}`,Te.value=me):"@language"in $?(Te.value=me,Te.datatype.value=ne||S,Te.language=$["@language"]):(Te.value=me,Te.datatype.value=ne||X)}else if(k.isList($)){const me=function($,Z,ae,oe,te){const Te={termType:"NamedNode",value:C},me={termType:"NamedNode",value:R},ne={termType:"NamedNode",value:T},ye=$.pop(),Oe=ye?{termType:"BlankNode",value:Z.getId()}:ne;let $e=Oe;for(const st of $){const Qe=E(st,Z,ae,oe,te),tt={termType:"BlankNode",value:Z.getId()};ae.push({subject:$e,predicate:Te,object:Qe,graph:oe}),ae.push({subject:$e,predicate:me,object:tt,graph:oe}),$e=tt}if(ye){const st=E(ye,Z,ae,oe,te);ae.push({subject:$e,predicate:Te,object:st,graph:oe}),ae.push({subject:$e,predicate:me,object:ne,graph:oe})}return Oe}($["@list"],Z,ae,oe,te);Te.termType=me.termType,Te.value=me.value}else{const me=H.isObject($)?$["@id"]:$;Te.termType=me.startsWith("_:")?"BlankNode":"NamedNode",Te.value=me}return"NamedNode"!==Te.termType||ue(Te.value)?Te:null}Se.exports=I,I.toRDF=($,Z)=>{const ae=new w.IdentifierIssuer("_:b"),oe={"@default":{}};W($,oe,"@default",ae);const te=[],Te=Object.keys(oe).sort();for(const me of Te){let ne;if("@default"===me)ne={termType:"DefaultGraph",value:""};else{if(!ue(me))continue;ne=me.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},ne.value=me}O(te,oe[me],ne,ae,Z)}return te}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(Y,Se,he){"use strict";const W={};Se.exports=W,W.isArray=Array.isArray,W.isBoolean=j=>"boolean"==typeof j||"[object Boolean]"===Object.prototype.toString.call(j),W.isDouble=j=>W.isNumber(j)&&(-1!==String(j).indexOf(".")||Math.abs(j)>=1e21),W.isEmptyObject=j=>W.isObject(j)&&0===Object.keys(j).length,W.isNumber=j=>"number"==typeof j||"[object Number]"===Object.prototype.toString.call(j),W.isNumeric=j=>!isNaN(parseFloat(j))&&isFinite(j),W.isObject=j=>"[object Object]"===Object.prototype.toString.call(j),W.isString=j=>"string"==typeof j||"[object String]"===Object.prototype.toString.call(j),W.isUndefined=j=>void 0===j},{}],31:[function(Y,Se,he){"use strict";const W=Y("./types"),j={};Se.exports=j,j.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},j.parse=(Q,H)=>{const w={},C=j.parsers[H||"full"],R=C.regex.exec(Q);let T=C.keys.length;for(;T--;)w[C.keys[T]]=void 0===R[T]?null:R[T];return("https"===w.scheme&&"443"===w.port||"http"===w.scheme&&"80"===w.port)&&(w.href=w.href.replace(":"+w.port,""),w.authority=w.authority.replace(":"+w.port,""),w.port=null),w.normalizedPath=j.removeDotSegments(w.path),w},j.prependBase=(Q,H)=>{if(null===Q||j.isAbsolute(H))return H;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));const w=j.parse(H),C={protocol:Q.protocol||""};if(null!==w.authority)C.authority=w.authority,C.path=w.path,C.query=w.query;else if(C.authority=Q.authority,""===w.path)C.path=Q.path,C.query=null!==w.query?w.query:Q.query;else{if(0===w.path.indexOf("/"))C.path=w.path;else{let T=Q.path;T=T.substr(0,T.lastIndexOf("/")+1),(T.length>0||Q.authority)&&"/"!==T.substr(-1)&&(T+="/"),T+=w.path,C.path=T}C.query=w.query}""!==w.path&&(C.path=j.removeDotSegments(C.path));let R=C.protocol;return null!==C.authority&&(R+="//"+C.authority),R+=C.path,null!==C.query&&(R+="?"+C.query),null!==w.fragment&&(R+="#"+w.fragment),""===R&&(R="./"),R},j.removeBase=(Q,H)=>{if(null===Q)return H;(!Q||W.isString(Q))&&(Q=j.parse(Q||""));let w="";if(""!==Q.href?w+=(Q.protocol||"")+"//"+(Q.authority||""):H.indexOf("//")&&(w+="//"),0!==H.indexOf(w))return H;const C=j.parse(H.substr(w.length)),R=Q.normalizedPath.split("/"),T=C.normalizedPath.split("/"),b=C.fragment||C.query?0:1;for(;R.length>0&&T.length>b&&R[0]===T[0];)R.shift(),T.shift();let y="";if(R.length>0){R.pop();for(let S=0;S{if(0===Q.length)return"";const H=Q.split("/"),w=[];for(;H.length>0;){const C=H.shift(),R=0===H.length;"."!==C?".."!==C?w.push(C):(w.pop(),R&&w.push("")):R&&w.push("")}return"/"===Q[0]&&w.length>0&&""!==w[0]&&w.unshift(""),1===w.length&&""===w[0]?"/":w.join("/")};const k=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;j.isAbsolute=Q=>W.isString(Q)&&k.test(Q),j.isRelative=Q=>W.isString(Q)},{"./types":30}],32:[function(Y,Se,he){"use strict";const W=Y("./graphTypes"),j=Y("./types"),k=Y("rdf-canonize").IdentifierIssuer,Q=Y("./JsonLdError"),H=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,w=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,C=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,R_headers={accept:"application/ld+json, application/json"},T={};function b(y,S){if(j.isArray(S))for(let A=0;A{if(Object.keys(y).some(A=>"accept"===A.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+R_headers.accept+'" is supported.');return Object.assign({Accept:R_headers.accept},y)},T.parseLinkHeader=y=>{const S={},A=y.match(H);for(let z=0;z{if(!(j.isString(y)||j.isArray(y)&&y.every(A=>j.isString(A)))){if(S&&j.isObject(y))switch(Object.keys(y).length){case 0:return;case 1:if("@default"in y&&T.asArray(y["@default"]).every(A=>j.isString(A)))return}throw new Q('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:y})}},T.hasProperty=(y,S)=>{if(y.hasOwnProperty(S)){const A=y[S];return!j.isArray(A)||A.length>0}return!1},T.hasValue=(y,S,A)=>{if(T.hasProperty(y,S)){let z=y[S];const P=W.isList(z);if(j.isArray(z)||P){P&&(z=z["@list"]);for(let X=0;X{if("propertyIsArray"in(z=z||{})||(z.propertyIsArray=!1),"valueIsArray"in z||(z.valueIsArray=!1),"allowDuplicate"in z||(z.allowDuplicate=!0),"prependValue"in z||(z.prependValue=!1),z.valueIsArray)y[S]=A;else if(j.isArray(A)){0===A.length&&z.propertyIsArray&&!y.hasOwnProperty(S)&&(y[S]=[]),z.prependValue&&(A=A.concat(y[S]),y[S]=[]);for(let P=0;P[].concat(y[S]||[]),T.removeProperty=(y,S)=>{delete y[S]},T.removeValue=(y,S,A,z)=>{"propertyIsArray"in(z=z||{})||(z.propertyIsArray=!1);const P=T.getValues(y,S).filter(X=>!T.compareValues(X,A));0===P.length?T.removeProperty(y,S):y[S]=1!==P.length||z.propertyIsArray?P:P[0]},T.relabelBlankNodes=(y,S)=>b((S=S||{}).issuer||new k("_:b"),y),T.compareValues=(y,S)=>!!(y===S||W.isValue(y)&&W.isValue(S)&&y["@value"]===S["@value"]&&y["@type"]===S["@type"]&&y["@language"]===S["@language"]&&y["@index"]===S["@index"])||!!(j.isObject(y)&&"@id"in y&&j.isObject(S)&&"@id"in S)&&y["@id"]===S["@id"],T.compareShortestLeast=(y,S)=>y.length1;const z=(K,E,$)=>{const Z=K[b].get(E);if(Z){const ae=Z.value;if(P(K,ae)){if(ue(K,Z),!K[H])return}else $&&(K[y]&&(Z.value.now=Date.now()),K[T].unshiftNode(Z));return ae.value}},P=(K,E)=>{if(!E||!E.maxAge&&!K[w])return!1;const $=Date.now()-E.now;return E.maxAge?$>E.maxAge:K[w]&&$>K[w]},X=K=>{if(K[k]>K[j])for(let E=K[T].tail;K[k]>K[j]&&null!==E;){const $=E.prev;ue(K,E),E=$}},ue=(K,E)=>{if(E){const $=E.value;K[C]&&K[C]($.key,$.value),K[k]-=$.length,K[b].delete($.key),K[T].removeNode(E)}};class I{constructor(E,$,Z,ae,oe){this.key=E,this.value=$,this.length=Z,this.now=ae,this.maxAge=oe||0}}const O=(K,E,$,Z)=>{let ae=$.value;P(K,ae)&&(ue(K,$),K[H]||(ae=void 0)),ae&&E.call(Z,ae.value,ae.key,K)};Se.exports=class{constructor(E){if("number"==typeof E&&(E={max:E}),E||(E={}),E.max&&("number"!=typeof E.max||E.max<0))throw new TypeError("max must be a non-negative number");this[j]=E.max||1/0;const Z=E.length||S;if(this[Q]="function"!=typeof Z?S:Z,this[H]=E.stale||!1,E.maxAge&&"number"!=typeof E.maxAge)throw new TypeError("maxAge must be a number");this[w]=E.maxAge||0,this[C]=E.dispose,this[R]=E.noDisposeOnSet||!1,this[y]=E.updateAgeOnGet||!1,this.reset()}set max(E){if("number"!=typeof E||E<0)throw new TypeError("max must be a non-negative number");this[j]=E||1/0,X(this)}get max(){return this[j]}set allowStale(E){this[H]=!!E}get allowStale(){return this[H]}set maxAge(E){if("number"!=typeof E)throw new TypeError("maxAge must be a non-negative number");this[w]=E,X(this)}get maxAge(){return this[w]}set lengthCalculator(E){"function"!=typeof E&&(E=S),E!==this[Q]&&(this[Q]=E,this[k]=0,this[T].forEach($=>{$.length=this[Q]($.value,$.key),this[k]+=$.length})),X(this)}get lengthCalculator(){return this[Q]}get length(){return this[k]}get itemCount(){return this[T].length}rforEach(E,$){$=$||this;for(let Z=this[T].tail;null!==Z;){const ae=Z.prev;O(this,E,Z,$),Z=ae}}forEach(E,$){$=$||this;for(let Z=this[T].head;null!==Z;){const ae=Z.next;O(this,E,Z,$),Z=ae}}keys(){return this[T].toArray().map(E=>E.key)}values(){return this[T].toArray().map(E=>E.value)}reset(){this[C]&&this[T]&&this[T].length&&this[T].forEach(E=>this[C](E.key,E.value)),this[b]=new Map,this[T]=new W,this[k]=0}dump(){return this[T].map(E=>!P(this,E)&&{k:E.key,v:E.value,e:E.now+(E.maxAge||0)}).toArray().filter(E=>E)}dumpLru(){return this[T]}set(E,$,Z){if((Z=Z||this[w])&&"number"!=typeof Z)throw new TypeError("maxAge must be a number");const ae=Z?Date.now():0,oe=this[Q]($,E);if(this[b].has(E)){if(oe>this[j])return ue(this,this[b].get(E)),!1;const me=this[b].get(E).value;return this[C]&&(this[R]||this[C](E,me.value)),me.now=ae,me.maxAge=Z,me.value=$,this[k]+=oe-me.length,me.length=oe,this.get(E),X(this),!0}const te=new I(E,$,oe,ae,Z);return te.length>this[j]?(this[C]&&this[C](E,$),!1):(this[k]+=te.length,this[T].unshift(te),this[b].set(E,this[T].head),X(this),!0)}has(E){if(!this[b].has(E))return!1;const $=this[b].get(E).value;return!P(this,$)}get(E){return z(this,E,!0)}peek(E){return z(this,E,!1)}pop(){const E=this[T].tail;return E?(ue(this,E),E.value):null}del(E){ue(this,this[b].get(E))}load(E){this.reset();const $=Date.now();for(let Z=E.length-1;Z>=0;Z--){const ae=E[Z],oe=ae.e||0;if(0===oe)this.set(ae.k,ae.v);else{const te=oe-$;te>0&&this.set(ae.k,ae.v,te)}}}prune(){this[b].forEach((E,$)=>z(this,$,!1))}}},{yallist:92}],34:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;const W="http://www.w3.org/1999/02/22-rdf-syntax-ns#",j="http://www.w3.org/2001/XMLSchema#",k="http://www.w3.org/2000/10/swap/";he.default={xsd:{decimal:`${j}decimal`,boolean:`${j}boolean`,double:`${j}double`,integer:`${j}integer`,string:`${j}string`},rdf:{type:`${W}type`,nil:`${W}nil`,first:`${W}first`,rest:`${W}rest`,langString:`${W}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${k}reify#forSome`,forAll:`${k}reify#forAll`},log:{implies:`${k}log#implies`}}},{}],35:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=he.Variable=he.Triple=he.Term=he.Quad=he.NamedNode=he.Literal=he.DefaultGraph=he.BlankNode=void 0,he.escapeQuotes=E,he.termFromId=function I(ne,ye){if(ye=ye||b,!ne)return ye.defaultGraph();switch(ne[0]){case"?":return ye.variable(ne.substr(1));case"_":return ye.blankNode(ne.substr(2));case'"':if(ye===b)return new z(ne);if('"'===ne[ne.length-1])return ye.literal(ne.substr(1,ne.length-2));const Oe=ne.lastIndexOf('"',ne.length-1);return ye.literal(ne.substr(1,Oe-1),"@"===ne[Oe+1]?ne.substr(Oe+2):ye.namedNode(ne.substr(Oe+3)));case"<":const $e=T.exec(ne);return ye.quad(I($($e[1]),ye),I($($e[2]),ye),I($($e[3]),ye),$e[4]&&I($($e[4]),ye));default:return ye.namedNode(ne)}},he.termToId=function O(ne){if("string"==typeof ne)return ne;if(ne instanceof S&&"Quad"!==ne.termType)return ne.id;if(!ne)return w.id;switch(ne.termType){case"NamedNode":return ne.value;case"BlankNode":return`_:${ne.value}`;case"Variable":return`?${ne.value}`;case"DefaultGraph":return"";case"Literal":return`"${ne.value}"${ne.language?`@${ne.language}`:ne.datatype&&ne.datatype.value!==H.string?`^^${ne.datatype.value}`:""}`;case"Quad":return`<<${E(O(ne.subject))} ${E(O(ne.predicate))} ${E(O(ne.object))}${(0,j.isDefaultGraph)(ne.graph)?"":` ${O(ne.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${ne.termType}`)}},he.unescapeQuotes=$;var ne,W=(ne=Y("./IRIs"))&&ne.__esModule?ne:{default:ne},j=Y("./N3Util");const{rdf:Q,xsd:H}=W.default;let w,C=0;const R=/^"(.*".*)(?="[^"]*$)/,T=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,b={namedNode:function(ne){return new A(ne)},blankNode:function(ne){return new P(ne||"n3-"+C++)},variable:function(ne){return new X(ne)},literal:function(ne,ye){if("string"==typeof ye)return new z(`"${ne}"@${ye.toLowerCase()}`);let Oe=ye?ye.value:"";return""===Oe&&("boolean"==typeof ne?Oe=H.boolean:"number"==typeof ne&&(Number.isFinite(ne)?Oe=Number.isInteger(ne)?H.integer:H.double:(Oe=H.double,Number.isNaN(ne)||(ne=ne>0?"INF":"-INF")))),new z(""===Oe||Oe===H.string?`"${ne}"`:`"${ne}"^^${Oe}`)},defaultGraph:function(){return w},quad:me,triple:me};he.default=b;class S{constructor(ye){this.id=ye}get value(){return this.id}equals(ye){return ye instanceof S?this.id===ye.id:!!ye&&this.termType===ye.termType&&this.value===ye.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}he.Term=S;class A extends S{get termType(){return"NamedNode"}}he.NamedNode=A;class z extends S{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const ye=this.id;let Oe=ye.lastIndexOf('"')+1;return Oe`"${Oe.replace(/"/g,'""')}`)}function $(ne){return ne.replace(R,(ye,Oe)=>`"${Oe.replace(/""/g,'"')}`)}function me(ne,ye,Oe,$e){return new K(ne,ye,Oe,$e)}he.Triple=he.Quad=K},{"./IRIs":34,"./N3Util":41}],36:[function(Y,Se,he){(function(W){(function(){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var j=Q(Y("./IRIs")),k=Q(Y("queue-microtask"));function Q(S){return S&&S.__esModule?S:{default:S}}const{xsd:H}=j.default,w=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,C={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},R=/[\x00-\x20<>\\"\{\}\|\^\`]/,T={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},b=/$0^/;he.default=class{constructor(A){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(A=A||{}).lineMode){this._n3Mode=!1;for(const z in this)!(z in T)&&this[z]instanceof RegExp&&(this[z]=b)}else this._n3Mode=!1!==A.n3;this._comments=!!A.comments,this._literalClosingPos=0}_tokenizeToEnd(A,z){let P=this._input,X=P.length;for(;;){let O,K;for(;O=this._newline.exec(P);)this._comments&&(K=this._comment.exec(O[0]))&&ue("comment",K[1],"",this._line,O[0].length),P=P.substr(O[0].length,P.length),X=P.length,this._line++;if(!O&&(O=this._whitespace.exec(P))&&(P=P.substr(O[0].length,P.length)),this._endOfFile.test(P))return z&&(this._comments&&(K=this._comment.exec(P))&&ue("comment",K[1],"",this._line,P.length),P=null,ue("eof","","",this._line,0)),this._input=P;const E=this._line,$=P[0];let Z="",ae="",oe="",te=null,Te=0,me=!1;switch($){case"^":if(P.length<3)break;if("^"!==P[1]){this._n3Mode&&(Te=1,Z="^");break}if(this._previousMarker="^^",P=P.substr(2),"<"!==P[0]){me=!0;break}case"<":if(te=this._unescapedIri.exec(P))Z="IRI",ae=te[1];else if(te=this._iri.exec(P)){if(ae=this._unescape(te[1]),null===ae||R.test(ae))return I(this);Z="IRI"}else P.length>1&&"<"===P[1]?(Z="<<",Te=2):this._n3Mode&&P.length>1&&"="===P[1]&&(Z="inverse",Te=2,ae=">");break;case">":P.length>1&&">"===P[1]&&(Z=">>",Te=2);break;case"_":((te=this._blank.exec(P))||z&&(te=this._blank.exec(`${P} `)))&&(Z="blank",oe="_",ae=te[1]);break;case'"':if(te=this._simpleQuotedString.exec(P))ae=te[1];else if(({value:ae,matchLength:Te}=this._parseLiteral(P)),null===ae)return I(this);(null!==te||0!==Te)&&(Z="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(te=this._simpleApostropheString.exec(P))ae=te[1];else if(({value:ae,matchLength:Te}=this._parseLiteral(P)),null===ae)return I(this);(null!==te||0!==Te)&&(Z="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(te=this._variable.exec(P))&&(Z="var",ae=te[0]);break;case"@":"literal"===this._previousMarker&&(te=this._langcode.exec(P))?(Z="langcode",ae=te[1]):(te=this._keyword.exec(P))&&(Z=te[0]);break;case".":if(1===P.length?z:P[1]<"0"||P[1]>"9"){Z=".",Te=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(te=this._number.exec(P)||z&&(te=this._number.exec(`${P} `)))&&(Z="literal",ae=te[0],oe="string"==typeof te[1]?H.double:"string"==typeof te[2]?H.decimal:H.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(te=this._sparqlKeyword.exec(P))?Z=te[0].toUpperCase():me=!0;break;case"f":case"t":(te=this._boolean.exec(P))?(Z="literal",ae=te[0],oe=H.boolean):me=!0;break;case"a":(te=this._shortPredicates.exec(P))?(Z="abbreviation",ae="a"):me=!0;break;case"=":this._n3Mode&&P.length>1&&(Z="abbreviation",">"!==P[1]?(Te=1,ae="="):(Te=2,ae=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(Te=1,Z=$);break;default:me=!0}if(me&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(te=this._prefix.exec(P))?((te=this._prefixed.exec(P))||z&&(te=this._prefixed.exec(`${P} `)))&&(Z="prefixed",oe=te[1]||"",ae=this._unescape(te[2])):(Z="prefix",ae=te[1]||"")),"^^"===this._previousMarker)switch(Z){case"prefixed":Z="type";break;case"IRI":Z="typeIRI";break;default:Z=""}if(!Z)return z||!/^'''|^"""/.test(P)&&/\n|\r/.test(P)?I(this):this._input=P;const ne=Te||te[0].length,ye=ue(Z,ae,oe,E,ne);this.previousToken=ye,this._previousMarker=Z,P=P.substr(ne,P.length)}function ue(O,K,E,$,Z){const ae=P?X-P.length:X,te={type:O,value:K,prefix:E,line:$,start:ae,end:ae+Z};return A(null,te),te}function I(O){A(O._syntaxError(/^\S*/.exec(P)[0]))}}_unescape(A){let z=!1;const P=A.replace(w,(X,ue,I,O)=>{if("string"==typeof ue)return String.fromCharCode(Number.parseInt(ue,16));if("string"==typeof I){let K=Number.parseInt(I,16);return K<=65535?String.fromCharCode(Number.parseInt(I,16)):String.fromCharCode(55296+((K-=65536)>>10),56320+(1023&K))}return O in C?C[O]:(z=!0,"")});return z?null:P}_parseLiteral(A){if(A.length>=3){const z=A.match(/^(?:"""|"|'''|'|)/)[0],P=z.length;let X=Math.max(this._literalClosingPos,P);for(;(X=A.indexOf(z,X))>0;){let ue=0;for(;"\\"===A[X-ue-1];)ue++;if(ue%2==0){const I=A.substring(P,X),O=I.split(/\r\n|\r|\n/).length-1,K=X+P;if(1===P&&0!==O||3===P&&this._lineMode)break;return this._line+=O,{value:this._unescape(I),matchLength:K}}X++}this._literalClosingPos=A.length-P+1}return{value:"",matchLength:0}}_syntaxError(A){this._input=null;const z=new Error(`Unexpected "${A}" on line ${this._line}.`);return z.context={token:void 0,line:this._line,previousToken:this.previousToken},z}_readStartingBom(A){return A.startsWith("\ufeff")?A.substr(1):A}tokenize(A,z){if(this._line=1,"string"==typeof A){if(this._input=this._readStartingBom(A),"function"!=typeof z){const P=[];let X;if(this._tokenizeToEnd((ue,I)=>ue?X=ue:P.push(I),!0),X)throw X;return P}(0,k.default)(()=>this._tokenizeToEnd(z,!0))}else this._pendingBuffer=null,"function"==typeof A.setEncoding&&A.setEncoding("utf8"),A.on("data",P=>{null!==this._input&&0!==P.length&&(this._pendingBuffer&&(P=W.concat([this._pendingBuffer,P]),this._pendingBuffer=null),128&P[P.length-1]?this._pendingBuffer=P:(void 0===this._input?this._input=this._readStartingBom("string"==typeof P?P:P.toString()):this._input+=P,this._tokenizeToEnd(z,!1)))}),A.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(z,!0)}),A.on("error",z)}}}).call(this)}).call(this,Y("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var W=Q(Y("./N3Lexer")),j=Q(Y("./N3DataFactory")),k=Q(Y("./IRIs"));function Q(T){return T&&T.__esModule?T:{default:T}}let H=0;class w{constructor(b){this._contextStack=[],this._graph=null,this._setBase((b=b||{}).baseIRI),b.factory&&R(this,b.factory);const y="string"==typeof b.format?b.format.match(/\w*$/)[0].toLowerCase():"",S=/turtle/.test(y),A=/trig/.test(y),z=/triple/.test(y),P=/quad/.test(y),X=this._n3Mode=/n3/.test(y),ue=z||P;(this._supportsNamedGraphs=!(S||X))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(S||A||z||X),this._supportsRDFStar=""===y||/star|\*$/.test(y),ue&&(this._resolveRelativeIRI=I=>null),this._blankNodePrefix="string"!=typeof b.blankNodePrefix?"":b.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=b.lexer||new W.default({lineMode:ue,n3:X}),this._explicitQuantifiers=!!b.explicitQuantifiers}static _resetBlankNodePrefix(){H=0}_setBase(b){if(b){const y=b.indexOf("#");y>=0&&(b=b.substr(0,y)),this._base=b,this._basePath=b.indexOf("/")<0?b:b.replace(/[^\/?]*(?:\?.*)?$/,""),b=b.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=b[0],this._baseScheme=b[1]}else this._base="",this._basePath=""}_saveContext(b,y,S,A,z){const P=this._n3Mode;this._contextStack.push({subject:S,predicate:A,object:z,graph:y,type:b,inverse:!!P&&this._inversePredicate,blankPrefix:P?this._prefixes._:"",quantified:P?this._quantified:null}),P&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const b=this._contextStack.pop(),y=this._n3Mode;this._subject=b.subject,this._predicate=b.predicate,this._object=b.object,this._graph=b.graph,y&&(this._inversePredicate=b.inverse,this._prefixes._=b.blankPrefix,this._quantified=b.quantified)}_readInTopContext(b){switch(b.type){case"eof":return null!==this._graph?this._error("Unclosed graph",b):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(b)}}_readEntity(b,y){let S;switch(b.type){case"IRI":case"typeIRI":const A=this._resolveIRI(b.value);if(null===A)return this._error("Invalid IRI",b);S=this._namedNode(A);break;case"type":case"prefixed":const z=this._prefixes[b.prefix];if(void 0===z)return this._error(`Undefined prefix "${b.prefix}:"`,b);S=this._namedNode(z+b.value);break;case"blank":S=this._blankNode(this._prefixes[b.prefix]+b.value);break;case"var":S=this._variable(b.value.substr(1));break;default:return this._error(`Expected entity but got ${b.type}`,b)}return!y&&this._n3Mode&&S.id in this._quantified&&(S=this._quantified[S.id]),S}_readSubject(b){switch(this._predicate=null,b.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",b);case"}":return this._readPunctuation(b);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',b);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',b);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",b);if(0===b.prefix.length)return this._literalValue=b.value,this._completeSubjectLiteral;this._subject=this._literal(b.value,this._namedNode(b.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._subject=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(b){const y=b.type;switch(y){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[b.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${y}`,b):(this._subject=null,"]"===y?this._readBlankNodeTail(b):this._readPunctuation(b));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",b);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",b);default:if(void 0===(this._predicate=this._readEntity(b)))return}return this._readObject}_readObject(b){switch(b.type){case"literal":if(0===b.prefix.length)return this._literalValue=b.value,this._readDataTypeOrLang;this._object=this._literal(b.value,this._namedNode(b.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",b);default:if(void 0===(this._object=this._readEntity(b)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(b){return"{"===b.type?this._readGraph(b):this._readPredicate(b)}_readGraph(b){return"{"!==b.type?this._error(`Expected graph but got ${b.type}`,b):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(b){return"]"===b.type?(this._subject=null,this._readBlankNodeTail(b)):(this._predicate=null,this._readPredicate(b))}_readBlankNodeTail(b){if("]"!==b.type)return this._readBlankNodePunctuation(b);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const y=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:y?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(b){switch(b.type){case".":case"}":return this._subject=null,this._readPunctuation(b);default:return this._readPredicate(b)}}_readListItem(b){let y=null,S=null,A=this._readListItem;const z=this._subject,P=this._contextStack,X=P[P.length-1];switch(b.type){case"[":this._saveContext("blank",this._graph,S=this._blankNode(),this.RDF_FIRST,this._subject=y=this._blankNode()),A=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,S=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==P.length&&"list"===P[P.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(A=this._readPredicate,this._subject===this.RDF_NIL)return A}else if(A=this._getContextEndReader(),this._object===this.RDF_NIL)return A;S=this.RDF_NIL;break;case"literal":0===b.prefix.length?(this._literalValue=b.value,A=this._readListItemDataTypeOrLang):(y=this._literal(b.value,this._namedNode(b.prefix)),A=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",b);default:if(void 0===(y=this._readEntity(b)))return}if(null===S&&(this._subject=S=this._blankNode()),null===z?null===X.predicate?X.subject=S:X.object=S:this._emit(z,this.RDF_REST,S,this._graph),null!==y){if(this._n3Mode&&("IRI"===b.type||"prefixed"===b.type))return this._saveContext("item",this._graph,S,this.RDF_FIRST,y),this._subject=y,this._predicate=null,this._getPathReader(this._readListItem);this._emit(S,this.RDF_FIRST,y,this._graph)}return A}_readDataTypeOrLang(b){return this._completeObjectLiteral(b,!1)}_readListItemDataTypeOrLang(b){return this._completeObjectLiteral(b,!0)}_completeLiteral(b){let y=this._literal(this._literalValue);switch(b.type){case"type":case"typeIRI":const S=this._readEntity(b);if(void 0===S)return;y=this._literal(this._literalValue,S),b=null;break;case"langcode":y=this._literal(this._literalValue,b.value),b=null}return{token:b,literal:y}}_completeSubjectLiteral(b){return this._subject=this._completeLiteral(b).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(b,y){const S=this._completeLiteral(b);if(S)return this._object=S.literal,y&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===S.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(S.token))}_readFormulaTail(b){return"}"!==b.type?this._readPunctuation(b):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(b){let y,S=this._graph;const A=this._subject,z=this._inversePredicate;switch(b.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",b);if(this._n3Mode)return this._readFormulaTail(b);this._graph=null;case".":this._subject=null,y=this._contextStack.length?this._readSubject:this._readInTopContext,z&&(this._inversePredicate=!1);break;case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(S=this._readEntity(b))){y=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}if(null!==A){const P=this._predicate,X=this._object;z?this._emit(X,P,A,S):this._emit(A,P,X,S)}return y}_readBlankNodePunctuation(b){let y;switch(b.type){case";":y=this._readPredicate;break;case",":y=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,b)}return this._emit(this._subject,this._predicate,this._object,this._graph),y}_readQuadPunctuation(b){return"."!==b.type?this._error("Expected dot to follow quad",b):this._readInTopContext}_readPrefix(b){return"prefix"!==b.type?this._error("Expected prefix to follow @prefix",b):(this._prefix=b.value,this._readPrefixIRI)}_readPrefixIRI(b){if("IRI"!==b.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,b);const y=this._readEntity(b);return this._prefixes[this._prefix]=y.value,this._prefixCallback(this._prefix,y),this._readDeclarationPunctuation}_readBaseIRI(b){const y="IRI"===b.type&&this._resolveIRI(b.value);return y?(this._setBase(y),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",b)}_readNamedGraphLabel(b){switch(b.type){case"IRI":case"blank":case"prefixed":return this._readSubject(b),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",b)}}_readNamedGraphBlankLabel(b){return"]"!==b.type?this._error("Invalid graph label",b):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(b){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(b)):"."!==b.type?this._error("Expected declaration to end with a dot",b):this._readInTopContext}_readQuantifierList(b){let y;switch(b.type){case"IRI":case"prefixed":if(void 0!==(y=this._readEntity(b,!0)))break;default:return this._error(`Unexpected ${b.type}`,b)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,y,this.QUANTIFIERS_GRAPH)):this._quantified[y.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(b){return","===b.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(b))}_getPathReader(b){return this._afterPath=b,this._readPath}_readPath(b){switch(b.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const y=this._contextStack,S=y.length&&y[y.length-1];if(S&&"item"===S.type){const A=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,A,this._graph)}return this._afterPath(b)}}_readForwardPath(b){let y,S;const A=this._blankNode();if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(y=this._subject,this._subject=A):(y=this._object,this._object=A),this._emit(y,S,A,this._graph),this._readPath}_readBackwardPath(b){const y=this._blankNode();let S,A;if(void 0!==(S=this._readEntity(b)))return null===this._predicate?(A=this._subject,this._subject=y):(A=this._object,this._object=y),this._emit(y,S,A,this._graph),this._readPath}_readRDFStarTailOrGraph(b){return">>"!==b.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(b))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,b):this._readRDFStarTail(b)}_readRDFStarTail(b){if(">>"!==b.type)return this._error(`Expected >> but got ${b.type}`,b);const y=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=y,this._readPredicate):(this._object=y,this._getContextEndReader())}_getContextEndReader(){const b=this._contextStack;if(!b.length)return this._readPunctuation;switch(b[b.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(b,y,S,A){this._callback(null,this._quad(b,y,S,A||this.DEFAULTGRAPH))}_error(b,y){const S=new Error(`${b} on line ${y.line}.`);S.context={token:y,line:y.line,previousToken:this._lexer.previousToken},this._callback(S),this._callback=C}_resolveIRI(b){return/^[a-z][a-z0-9+.-]*:/i.test(b)?b:this._resolveRelativeIRI(b)}_resolveRelativeIRI(b){if(!b.length)return this._base;switch(b[0]){case"#":return this._base+b;case"?":return this._base.replace(/(?:\?.*)?$/,b);case"/":return("/"===b[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(b);default:return/^[^/:]*:/.test(b)?null:this._removeDotSegments(this._basePath+b)}}_removeDotSegments(b){if(!/(^|\/)\.\.?($|[/#?])/.test(b))return b;const y=b.length;let S="",A=-1,z=-1,P=0,X="/";for(;A=z&&(S=S.substr(0,P)),"/"!==X)return`${S}/${b.substr(A+1)}`;P=A+1}}}X=b[++A]}return S+b.substring(P)}parse(b,y,S){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${H++}_`,this._prefixCallback=S||C,this._inversePredicate=!1,this._quantified=Object.create(null),!y){const A=[];let z;if(this._callback=(P,X)=>{P?z=P:X&&A.push(X)},this._lexer.tokenize(b).every(P=>this._readCallback=this._readCallback(P)),z)throw z;return A}this._callback=y,this._lexer.tokenize(b,(A,z)=>{null!==A?(this._callback(A),this._callback=C):this._readCallback&&(this._readCallback=this._readCallback(z))})}}function C(){}function R(T,b){const y=b.namedNode;T._namedNode=y,T._blankNode=b.blankNode,T._literal=b.literal,T._variable=b.variable,T._quad=b.quad,T.DEFAULTGRAPH=b.defaultGraph(),T.RDF_FIRST=y(k.default.rdf.first),T.RDF_REST=y(k.default.rdf.rest),T.RDF_NIL=y(k.default.rdf.nil),T.N3_FORALL=y(k.default.r.forAll),T.N3_FORSOME=y(k.default.r.forSome),T.ABBREVIATIONS={a:y(k.default.rdf.type),"=":y(k.default.owl.sameAs),">":y(k.default.log.implies)},T.QUANTIFIERS_GRAPH=y("urn:n3:quantifiers")}he.default=w,R(w.prototype,j.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var b,W=function(b,y){if(!y&&b&&b.__esModule)return b;if(null===b||"object"!=typeof b&&"function"!=typeof b)return{default:b};var S=H(y);if(S&&S.has(b))return S.get(b);var A={},z=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var P in b)if("default"!==P&&Object.prototype.hasOwnProperty.call(b,P)){var X=z?Object.getOwnPropertyDescriptor(b,P):null;X&&(X.get||X.set)?Object.defineProperty(A,P,X):A[P]=b[P]}return A.default=b,S&&S.set(b,A),A}(Y("./N3DataFactory")),j=Y("readable-stream"),k=(b=Y("./IRIs"))&&b.__esModule?b:{default:b};function H(b){if("function"!=typeof WeakMap)return null;var y=new WeakMap,S=new WeakMap;return(H=function(A){return A?S:y})(b)}class C{constructor(y,S){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!S&&y&&!y[0]&&(S=y,y=null),this._factory=(S=S||{}).factory||W.default,y&&this.addQuads(y)}get size(){let y=this._size;if(null!==y)return y;y=0;const S=this._graphs;let A,z;for(const P in S)for(const X in A=S[P].subjects)for(const ue in z=A[X])y+=Object.keys(z[ue]).length;return this._size=y}_addToIndex(y,S,A,z){const P=y[S]||(y[S]={}),X=P[A]||(P[A]={}),ue=z in X;return ue||(X[z]=null),!ue}_removeFromIndex(y,S,A,z){const P=y[S],X=P[A];delete X[z];for(const ue in X)return;delete P[A];for(const ue in P)return;delete y[S]}*_findInIndex(y,S,A,z,P,X,ue,I){let O,K,E;const Z=!S+!A+!z>1?Object.keys(this._ids):this._entities,ae=(0,W.termFromId)(I,this._factory);S&&((O=y,y={})[S]=O[S]);for(const oe in y){const te=Z[oe];if(K=y[oe]){A&&((O=K,K={})[A]=O[A]);for(const Te in K){const me=Z[Te];if(E=K[Te]){const ne=z?z in E?[z]:[]:Object.keys(E);for(let ye=0;ye{A in S||(S[A]=!0,y((0,W.termFromId)(this._entities[A],this._factory)))}}add(y){return this.addQuad(y),this}addQuad(y,S,A,z){S||(z=y.graph,A=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),A=(0,W.termToId)(A),z=(0,W.termToId)(z);let P=this._graphs[z];P||(P=this._graphs[z]={subjects:{},predicates:{},objects:{}},Object.freeze(P));const X=this._ids,ue=this._entities;y=X[y]||(X[ue[++this._id]=y]=this._id),S=X[S]||(X[ue[++this._id]=S]=this._id),A=X[A]||(X[ue[++this._id]=A]=this._id);const I=this._addToIndex(P.subjects,y,S,A);return this._addToIndex(P.predicates,S,A,y),this._addToIndex(P.objects,A,y,S),this._size=null,I}addQuads(y){for(let S=0;S{this.addQuad(S)}),y}removeQuad(y,S,A,z){S||(z=y.graph,A=y.object,S=y.predicate,y=y.subject),y=(0,W.termToId)(y),S=(0,W.termToId)(S),A=(0,W.termToId)(A),z=(0,W.termToId)(z);const P=this._ids,X=this._graphs;let ue,I,O;if(!((y=P[y])&&(S=P[S])&&(A=P[A])&&(ue=X[z])&&(I=ue.subjects[y])&&(O=I[S])&&A in O))return!1;for(y in this._removeFromIndex(ue.subjects,y,S,A),this._removeFromIndex(ue.predicates,S,A,y),this._removeFromIndex(ue.objects,A,y,S),null!==this._size&&this._size--,ue.subjects)return!0;return delete X[z],!0}removeQuads(y){for(let S=0;S{this.removeQuad(S)}),y}removeMatches(y,S,A,z){const P=new j.Readable({objectMode:!0});return P._read=()=>{for(const X of this.readQuads(y,S,A,z))P.push(X);P.push(null)},this.remove(P)}deleteGraph(y){return this.removeMatches(null,null,null,y)}getQuads(y,S,A,z){return[...this.readQuads(y,S,A,z)]}*readQuads(y,S,A,z){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._getGraphs(z),X=this._ids;let ue,I,O,K;if(!(R(y)&&!(I=X[y])||R(S)&&!(O=X[S])||R(A)&&!(K=X[A])))for(const E in P)(ue=P[E])&&(I?K?yield*this._findInIndex(ue.objects,K,I,O,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ue.subjects,I,O,null,"subject","predicate","object",E,null,!0):O?yield*this._findInIndex(ue.predicates,O,K,null,"predicate","object","subject",E,null,!0):K?yield*this._findInIndex(ue.objects,K,null,null,"object","subject","predicate",E,null,!0):yield*this._findInIndex(ue.subjects,null,null,null,"subject","predicate","object",E,null,!0))}match(y,S,A,z){return new T(this,y,S,A,z)}countQuads(y,S,A,z){y=y&&(0,W.termToId)(y),S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._getGraphs(z),X=this._ids;let I,O,K,E,ue=0;if(R(y)&&!(O=X[y])||R(S)&&!(K=X[S])||R(A)&&!(E=X[A]))return 0;for(const $ in P)(I=P[$])&&(ue+=y?A?this._countInIndex(I.objects,E,O,K):this._countInIndex(I.subjects,O,K,E):S?this._countInIndex(I.predicates,K,E,O):this._countInIndex(I.objects,E,O,K));return ue}forEach(y,S,A,z,P){this.some(X=>(y(X),!1),S,A,z,P)}every(y,S,A,z,P){let X=!1;const ue=!this.some(I=>(X=!0,!y(I)),S,A,z,P);return X&&ue}some(y,S,A,z,P){for(const X of this.readQuads(S,A,z,P))if(y(X))return!0;return!1}getSubjects(y,S,A){const z=[];return this.forSubjects(P=>{z.push(P)},y,S,A),z}forSubjects(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.predicates,I,O,y):this._loopByKey1(ue.subjects,I,y):O?this._loopByKey0(ue.objects,O,y):this._loop(ue.subjects,y))}getPredicates(y,S,A){const z=[];return this.forPredicates(P=>{z.push(P)},y,S,A),z}forPredicates(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.objects,O,I,y):this._loopByKey0(ue.subjects,I,y):O?this._loopByKey1(ue.predicates,O,y):this._loop(ue.predicates,y))}getObjects(y,S,A){const z=[];return this.forObjects(P=>{z.push(P)},y,S,A),z}forObjects(y,S,A,z){S=S&&(0,W.termToId)(S),A=A&&(0,W.termToId)(A),z=z&&(0,W.termToId)(z);const P=this._ids,X=this._getGraphs(z);let ue,I,O;if(y=this._uniqueEntities(y),!(R(S)&&!(I=P[S])||R(A)&&!(O=P[A])))for(z in X)(ue=X[z])&&(I?O?this._loopBy2Keys(ue.subjects,I,O,y):this._loopByKey1(ue.objects,I,y):O?this._loopByKey0(ue.predicates,O,y):this._loop(ue.objects,y))}getGraphs(y,S,A){const z=[];return this.forGraphs(P=>{z.push(P)},y,S,A),z}forGraphs(y,S,A,z){for(const P in this._graphs)this.some(X=>(y(X.graph),!0),S,A,z,P)}createBlankNode(y){let S,A;if(y)for(S=y=`_:${y}`,A=1;this._ids[S];)S=y+A++;else do{S="_:b"+this._blankNodeIndex++}while(this._ids[S]);return this._ids[S]=++this._id,this._entities[this._id]=S,this._factory.blankNode(S.substr(2))}extractLists({remove:y=!1,ignoreErrors:S=!1}={}){const A={},z=S?()=>!0:(ue,I)=>{throw new Error(`${ue.value} ${I}`)},P=this.getQuads(null,k.default.rdf.rest,k.default.rdf.nil,null),X=y?[...P]:[];return P.forEach(ue=>{const I=[];let K,E,O=!1;const $=ue.graph;let Z=ue.subject;for(;Z&&!O;){const ae=this.getQuads(null,null,Z,null),oe=this.getQuads(Z,null,null,null);let te,Te=null,me=null,ne=null;for(let ye=0;ye{switch(b){case"data":R=y;break;case"end":T=y}}},(b,y)=>{b&&this.emit("error",b)||y&&this.push(y)},(b,y)=>{this.emit("prefix",b,y)}),this._transform=(b,y,S)=>{R(b),S()},this._flush=b=>{T(),b()}}import(w){return w.on("data",C=>{this.write(C)}),w.on("end",()=>{this.end()}),w.on("error",C=>{this.emit("error",C)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var H,W=Y("readable-stream"),j=(H=Y("./N3Writer"))&&H.__esModule?H:{default:H};he.default=class extends W.Transform{constructor(w){super({encoding:"utf8",writableObjectMode:!0});const C=this._writer=new j.default({write:(R,T,b)=>{this.push(R),b&&b()},end:R=>{this.push(null),R&&R()}},w);this._transform=(R,T,b)=>{C.addQuad(R,b)},this._flush=R=>{C.end(R)}}import(w){return w.on("data",C=>{this.write(C)}),w.on("end",()=>{this.end()}),w.on("error",C=>{this.emit("error",C)}),w.on("prefix",(C,R)=>{this._writer.addPrefix(C,R)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.inDefaultGraph=function(y){return C(y.graph)},he.isBlankNode=function(y){return!!y&&"BlankNode"===y.termType},he.isDefaultGraph=C,he.isLiteral=function(y){return!!y&&"Literal"===y.termType},he.isNamedNode=function(y){return!!y&&"NamedNode"===y.termType},he.isVariable=function(y){return!!y&&"Variable"===y.termType},he.prefix=function(y,S){return b({"":y.value||y},S)("")},he.prefixes=b;var y,W=(y=Y("./N3DataFactory"))&&y.__esModule?y:{default:y};function C(y){return!!y&&"DefaultGraph"===y.termType}function b(y,S){const A=Object.create(null);for(const P in y)z(P,y[P]);function z(P,X){if("string"==typeof X){const ue=Object.create(null);A[P]=I=>ue[I]||(ue[I]=S.namedNode(X+I))}else if(!(P in A))throw new Error(`Unknown prefix: ${P}`);return A[P]}return S=S||W.default,z}},{"./N3DataFactory":35}],42:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.default=void 0;var ue,W=(ue=Y("./IRIs"))&&ue.__esModule?ue:{default:ue},j=function(ue,I){if(!I&&ue&&ue.__esModule)return ue;if(null===ue||"object"!=typeof ue&&"function"!=typeof ue)return{default:ue};var O=Q(I);if(O&&O.has(ue))return O.get(ue);var K={},E=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var $ in ue)if("default"!==$&&Object.prototype.hasOwnProperty.call(ue,$)){var Z=E?Object.getOwnPropertyDescriptor(ue,$):null;Z&&(Z.get||Z.set)?Object.defineProperty(K,$,Z):K[$]=ue[$]}return K.default=ue,O&&O.set(ue,K),K}(Y("./N3DataFactory")),k=Y("./N3Util");function Q(ue){if("function"!=typeof WeakMap)return null;var I=new WeakMap,O=new WeakMap;return(Q=function(K){return K?O:I})(ue)}const C=j.default.defaultGraph(),{rdf:R,xsd:T}=W.default,b=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,y=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,S={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class A extends j.Term{equals(){return!1}}function P(ue){let I=S[ue];return void 0===I&&(1===ue.length?(I=ue.charCodeAt(0).toString(16),I="\\u0000".substr(0,6-I.length)+I):(I=(1024*(ue.charCodeAt(0)-55296)+ue.charCodeAt(1)+9216).toString(16),I="\\U00000000".substr(0,10-I.length)+I)),I}function X(ue){return ue.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}he.default=class{constructor(I,O){if(this._prefixRegex=/$0^/,I&&"function"!=typeof I.write&&(O=I,I=null),this._lists=(O=O||{}).lists,I)this._outputStream=I,this._endStream=void 0===O.end||!!O.end;else{let K="";this._outputStream={write(E,$,Z){K+=E,Z&&Z()},end:E=>{E&&E(null,K)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(O.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=C,this._prefixIRIs=Object.create(null),O.prefixes&&this.addPrefixes(O.prefixes),O.baseIRI&&(this._baseMatcher=new RegExp(`^${X(O.baseIRI)}${O.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=O.baseIRI.length))}get _inDefaultGraph(){return C.equals(this._graph)}_write(I,O){this._outputStream.write(I,"utf8",O)}_writeQuad(I,O,K,E,$){try{E.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(C.equals(E)?"":`${this._encodeIriOrBlank(E)} {\n`)),this._graph=E,this._subject=null),I.equals(this._subject)?O.equals(this._predicate)?this._write(`, ${this._encodeObject(K)}`,$):this._write(`;\n ${this._encodePredicate(this._predicate=O)} ${this._encodeObject(K)}`,$):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=I)} ${this._encodePredicate(this._predicate=O)} ${this._encodeObject(K)}`,$)}catch(Z){$&&$(Z)}}_writeQuadLine(I,O,K,E,$){delete this._prefixMatch,this._write(this.quadToString(I,O,K,E),$)}quadToString(I,O,K,E){return`${this._encodeSubject(I)} ${this._encodeIriOrBlank(O)} ${this._encodeObject(K)}${E&&E.value?` ${this._encodeIriOrBlank(E)} .\n`:" .\n"}`}quadsToString(I){return I.map(O=>this.quadToString(O.subject,O.predicate,O.object,O.graph)).join("")}_encodeSubject(I){return"Quad"===I.termType?this._encodeQuad(I):this._encodeIriOrBlank(I)}_encodeIriOrBlank(I){if("NamedNode"!==I.termType)return this._lists&&I.value in this._lists&&(I=this.list(this._lists[I.value])),"id"in I?I.id:`_:${I.value}`;let O=I.value;this._baseMatcher&&this._baseMatcher.test(O)&&(O=O.substr(this._baseLength)),b.test(O)&&(O=O.replace(y,P));const K=this._prefixRegex.exec(O);return K?K[1]?this._prefixIRIs[K[1]]+K[2]:O:`<${O}>`}_encodeLiteral(I){let O=I.value;if(b.test(O)&&(O=O.replace(y,P)),I.language)return`"${O}"@${I.language}`;if(this._lineMode){if(I.datatype.value===T.string)return`"${O}"`}else switch(I.datatype.value){case T.string:return`"${O}"`;case T.boolean:if("true"===O||"false"===O)return O;break;case T.integer:if(/^[+-]?\d+$/.test(O))return O;break;case T.decimal:if(/^[+-]?\d*\.\d+$/.test(O))return O;break;case T.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(O))return O}return`"${O}"^^${this._encodeIriOrBlank(I.datatype)}`}_encodePredicate(I){return I.value===R.type?"a":this._encodeIriOrBlank(I)}_encodeObject(I){switch(I.termType){case"Quad":return this._encodeQuad(I);case"Literal":return this._encodeLiteral(I);default:return this._encodeIriOrBlank(I)}}_encodeQuad({subject:I,predicate:O,object:K,graph:E}){return`<<${this._encodeSubject(I)} ${this._encodePredicate(O)} ${this._encodeObject(K)}${(0,k.isDefaultGraph)(E)?"":` ${this._encodeIriOrBlank(E)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(I,O,K,E,$){void 0===K?this._writeQuad(I.subject,I.predicate,I.object,I.graph,O):"function"==typeof E?this._writeQuad(I,O,K,C,E):this._writeQuad(I,O,K,E||C,$)}addQuads(I){for(let O=0;O.\n`)}if(K){let E="",$="";for(const Z in this._prefixIRIs)E+=E?`|${Z}`:Z,$+=($?"|":"")+this._prefixIRIs[Z];E=X(E),this._prefixRegex=new RegExp(`^(?:${$})[^/]*$|^(${E})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(K?"\n":"",O)}blank(I,O){let E,$,K=I;switch(void 0===I?K=[]:I.termType?K=[{predicate:I,object:O}]:"length"in I||(K=[I]),$=K.length){case 0:return new A("[]");case 1:if(E=K[0],!(E.object instanceof A))return new A(`[ ${this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)} ]`);default:let Z="[";for(let ae=0;ae<$;ae++)E=K[ae],E.predicate.equals(I)?Z+=`, ${this._encodeObject(E.object)}`:(Z+=`${(ae?";\n ":"\n ")+this._encodePredicate(E.predicate)} ${this._encodeObject(E.object)}`,I=E.predicate);return new A(`${Z}\n]`)}}list(I){const O=I&&I.length||0,K=new Array(O);for(let E=0;E{O=null,I(K,E)});if(this._endStream)try{return this._outputStream.end(O)}catch(K){}O&&O()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),Object.defineProperty(he,"BlankNode",{enumerable:!0,get:function(){return R.BlankNode}}),Object.defineProperty(he,"DataFactory",{enumerable:!0,get:function(){return R.default}}),Object.defineProperty(he,"DefaultGraph",{enumerable:!0,get:function(){return R.DefaultGraph}}),Object.defineProperty(he,"Lexer",{enumerable:!0,get:function(){return W.default}}),Object.defineProperty(he,"Literal",{enumerable:!0,get:function(){return R.Literal}}),Object.defineProperty(he,"NamedNode",{enumerable:!0,get:function(){return R.NamedNode}}),Object.defineProperty(he,"Parser",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(he,"Quad",{enumerable:!0,get:function(){return R.Quad}}),Object.defineProperty(he,"Store",{enumerable:!0,get:function(){return Q.default}}),Object.defineProperty(he,"StreamParser",{enumerable:!0,get:function(){return H.default}}),Object.defineProperty(he,"StreamWriter",{enumerable:!0,get:function(){return w.default}}),Object.defineProperty(he,"Term",{enumerable:!0,get:function(){return R.Term}}),Object.defineProperty(he,"Triple",{enumerable:!0,get:function(){return R.Triple}}),he.Util=void 0,Object.defineProperty(he,"Variable",{enumerable:!0,get:function(){return R.Variable}}),Object.defineProperty(he,"Writer",{enumerable:!0,get:function(){return k.default}}),he.default=void 0,Object.defineProperty(he,"termFromId",{enumerable:!0,get:function(){return R.termFromId}}),Object.defineProperty(he,"termToId",{enumerable:!0,get:function(){return R.termToId}});var W=y(Y("./N3Lexer")),j=y(Y("./N3Parser")),k=y(Y("./N3Writer")),Q=y(Y("./N3Store")),H=y(Y("./N3StreamParser")),w=y(Y("./N3StreamWriter")),C=b(Y("./N3Util"));he.Util=C;var R=b(Y("./N3DataFactory"));function T(A){if("function"!=typeof WeakMap)return null;var z=new WeakMap,P=new WeakMap;return(T=function(X){return X?P:z})(A)}function b(A,z){if(!z&&A&&A.__esModule)return A;if(null===A||"object"!=typeof A&&"function"!=typeof A)return{default:A};var P=T(z);if(P&&P.has(A))return P.get(A);var X={},ue=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var I in A)if("default"!==I&&Object.prototype.hasOwnProperty.call(A,I)){var O=ue?Object.getOwnPropertyDescriptor(A,I):null;O&&(O.get||O.set)?Object.defineProperty(X,I,O):X[I]=A[I]}return X.default=A,P&&P.set(A,X),X}function y(A){return A&&A.__esModule?A:{default:A}}he.default={Lexer:W.default,Parser:j.default,Writer:k.default,Store:Q.default,StreamParser:H.default,StreamWriter:w.default,Util:C,DataFactory:R.default,Term:R.Term,NamedNode:R.NamedNode,Literal:R.Literal,BlankNode:R.BlankNode,Variable:R.Variable,DefaultGraph:R.DefaultGraph,Quad:R.Quad,Triple:R.Triple,termFromId:R.termFromId,termToId:R.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(Y,Se,he){var j,k,W=Se.exports={};function Q(){throw new Error("setTimeout has not been defined")}function H(){throw new Error("clearTimeout has not been defined")}function w(X){if(j===setTimeout)return setTimeout(X,0);if((j===Q||!j)&&setTimeout)return j=setTimeout,setTimeout(X,0);try{return j(X,0)}catch(ue){try{return j.call(null,X,0)}catch(I){return j.call(this,X,0)}}}!function(){try{j="function"==typeof setTimeout?setTimeout:Q}catch(X){j=Q}try{k="function"==typeof clearTimeout?clearTimeout:H}catch(X){k=H}}();var b,R=[],T=!1,y=-1;function S(){!T||!b||(T=!1,b.length?R=b.concat(R):y=-1,R.length&&A())}function A(){if(!T){var X=w(S);T=!0;for(var ue=R.length;ue;){for(b=R,R=[];++y1)for(var I=1;I(j||(j=Promise.resolve())).then(k).catch(Q=>setTimeout(()=>{throw Q},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(Y,Se,he){Se.exports=Y("./lib")},{"./lib":55}],47:[function(Y,Se,he){"use strict";Se.exports=class kq{constructor(j,k=new Map,Q=0){this.prefix=j,this._existing=k,this.counter=Q}clone(){const{prefix:j,_existing:k,counter:Q}=this;return new kq(j,new Map(k),Q)}getId(j){const k=j&&this._existing.get(j);if(k)return k;const Q=this.prefix+this.counter;return this.counter++,j&&this._existing.set(j,Q),Q}hasId(j){return this._existing.has(j)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(Y,Se,he){"use strict";Y("setimmediate");const W=self.crypto||self.msCrypto;Se.exports=class{constructor(k){if(!W||!W.subtle)throw new Error("crypto.subtle not found.");if("sha256"===k)this.algorithm={name:"SHA-256"};else{if("sha1"!==k)throw new Error(`Unsupport algorithm "${k}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(k){this._content+=k}digest(){var k=this;return yt(function*(){const Q=(new TextEncoder).encode(k._content),H=new Uint8Array(yield W.subtle.digest(k.algorithm,Q));let w="";for(let C=0;C]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),Se.exports=class nF{static parse(X){const ue=[],I={},O=X.split(T.eoln);let K=0;for(const E of O){if(K++,T.empty.test(E))continue;const $=E.match(T.quad);if(null===$)throw new Error("N-Quads parse error on line "+K+".");const Z={subject:null,predicate:null,object:null,graph:null};if(Z.subject=void 0!==$[1]?{termType:H,value:$[1]}:{termType:w,value:$[2]},Z.predicate={termType:H,value:$[3]},void 0!==$[4]?Z.object={termType:H,value:$[4]}:void 0!==$[5]?Z.object={termType:w,value:$[5]}:(Z.object={termType:C,value:void 0,datatype:{termType:H}},void 0!==$[7]?Z.object.datatype.value=$[7]:void 0!==$[8]?(Z.object.datatype.value=k,Z.object.language=$[8]):Z.object.datatype.value=Q,Z.object.value=$[6].replace(A,function(X,ue,I,O){if(ue)switch(ue){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(I)return String.fromCharCode(parseInt(I,16));if(O)throw new Error("Unsupported U escape")})),Z.graph=void 0!==$[9]?{termType:H,value:$[9]}:void 0!==$[10]?{termType:w,value:$[10]}:{termType:R,value:""},Z.graph.value in I){let ae=!0;const oe=I[Z.graph.value];for(const te of oe)if(b(te,Z)){ae=!1;break}ae&&(oe.push(Z),ue.push(Z))}else I[Z.graph.value]=[Z],ue.push(Z)}return ue}static serialize(X){Array.isArray(X)||(X=nF.legacyDatasetToQuads(X));const ue=[];for(const I of X)ue.push(nF.serializeQuad(I));return ue.sort().join("")}static serializeQuad(X){const ue=X.subject,O=X.object,K=X.graph;let E="";return E+=ue.termType===H?`<${ue.value}>`:`${ue.value}`,E+=` <${X.predicate.value}> `,O.termType===H?E+=`<${O.value}>`:O.termType===w?E+=O.value:(E+=`"${P=O.value,P.replace(y,function(X){switch(X){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,O.datatype.value===k?O.language&&(E+=`@${O.language}`):O.datatype.value!==Q&&(E+=`^^<${O.datatype.value}>`)),K.termType===H?E+=` <${K.value}>`:K.termType===w&&(E+=` ${K.value}`),E+=" .\n",E;var P}static legacyDatasetToQuads(X){const ue=[],I={"blank node":w,IRI:H,literal:C};for(const O in X)X[O].forEach(E=>{const $={};for(const Z in E){const ae=E[Z],oe={termType:I[ae.type],value:ae.value};oe.termType===C&&(oe.datatype={termType:H},"datatype"in ae&&(oe.datatype.value=ae.datatype),"language"in ae?("datatype"in ae||(oe.datatype.value=k),oe.language=ae.language):"datatype"in ae||(oe.datatype.value=Q)),$[Z]=oe}$.graph="@default"===O?{termType:R,value:""}:{termType:O.startsWith("_:")?w:H,value:O},ue.push($)});return ue}};const y=/["\\\n\r]/g;const A=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(Y,Se,he){"use strict";Se.exports=class{constructor(j){this.current=j.sort(),this.done=!1,this.dir=new Map;for(let k=0;kH)&&(b&&R>0&&T>j[R-1]||!b&&Rj[R+1])&&(H=T,w=R)}if(null===H)this.done=!0;else{const R=k.get(H)?w-1:w+1;j[w]=j[R],j[R]=H;for(const T of j)T>H&&k.set(T,!k.get(T))}return Q}}},{}],51:[function(Y,Se,he){(function(W){(function(){"use strict";const j=Y("./IdentifierIssuer"),k=Y("./MessageDigest"),Q=Y("./Permuter"),H=Y("./NQuads");function w(C,R){return C.hashR.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new j("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(R){var T=this;return yt(function*(){T.quads=R;for(const X of R)T._addBlankNodeQuadInfo({quad:X,component:X.subject}),T._addBlankNodeQuadInfo({quad:X,component:X.object}),T._addBlankNodeQuadInfo({quad:X,component:X.graph});const b=new Map,y=[...T.blankNodeInfo.keys()];let S=0;for(const X of y)++S%100==0&&(yield T._yield()),yield T._hashAndTrackBlankNode({id:X,hashToBlankNodes:b});const A=[...b.keys()].sort(),z=[];for(const X of A){const ue=b.get(X);ue.length>1?z.push(ue):T.canonicalIssuer.getId(ue[0])}for(const X of z){const ue=[];for(const I of X){if(T.canonicalIssuer.hasId(I))continue;const O=new j("_:b");O.getId(I);const K=yield T.hashNDegreeQuads(I,O);ue.push(K)}ue.sort(w);for(const I of ue){const O=I.issuer.getOldIds();for(const K of O)T.canonicalIssuer.getId(K)}}const P=[];for(const X of T.quads){const ue=ot({},X);ue.subject=T._useCanonicalId({component:ue.subject}),ue.object=T._useCanonicalId({component:ue.object}),ue.graph=T._useCanonicalId({component:ue.graph}),P.push(H.serializeQuad(ue))}return P.sort(),P.join("")})()}hashFirstDegreeQuads(R){var T=this;return yt(function*(){const b=[],y=T.blankNodeInfo.get(R),S=y.quads;for(const z of S){const P={subject:null,predicate:z.predicate,object:null,graph:null};P.subject=T.modifyFirstDegreeComponent(R,z.subject,"subject"),P.object=T.modifyFirstDegreeComponent(R,z.object,"object"),P.graph=T.modifyFirstDegreeComponent(R,z.graph,"graph"),b.push(H.serializeQuad(P))}b.sort();const A=new k(T.hashAlgorithm);for(const z of b)A.update(z);return y.hash=yield A.digest(),y.hash})()}hashRelatedBlankNode(R,T,b,y){var S=this;return yt(function*(){let A;A=S.canonicalIssuer.hasId(R)?S.canonicalIssuer.getId(R):b.hasId(R)?b.getId(R):S.blankNodeInfo.get(R).hash;const z=new k(S.hashAlgorithm);return z.update(y),"g"!==y&&z.update(S.getRelatedPredicate(T)),z.update(A),z.digest()})()}hashNDegreeQuads(R,T){var b=this;return yt(function*(){const y=new k(b.hashAlgorithm),S=yield b.createHashToRelated(R,T),A=[...S.keys()].sort();for(const z of A){y.update(z);let X,P="";const ue=new Q(S.get(z));let I=0;for(;ue.hasNext();){const O=ue.next();++I%3==0&&(yield b._yield());let K=T.clone(),E="";const $=[];let Z=!1;for(const ae of O)if(b.canonicalIssuer.hasId(ae)?E+=b.canonicalIssuer.getId(ae):(K.hasId(ae)||$.push(ae),E+=K.getId(ae)),0!==P.length&&E>P){Z=!0;break}if(!Z){for(const ae of $){const oe=yield b.hashNDegreeQuads(ae,K);if(E+=K.getId(ae),E+=`<${oe.hash}>`,K=oe.issuer,0!==P.length&&E>P){Z=!0;break}}Z||(0===P.length||E`}createHashToRelated(R,T){var b=this;return yt(function*(){const y=new Map,S=b.blankNodeInfo.get(R).quads;let A=0;for(const z of S)++A%100==0&&(yield b._yield()),yield Promise.all([b._addRelatedBlankNodeHash({quad:z,component:z.subject,position:"s",id:R,issuer:T,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:z,component:z.object,position:"o",id:R,issuer:T,hashToRelated:y}),b._addRelatedBlankNodeHash({quad:z,component:z.graph,position:"g",id:R,issuer:T,hashToRelated:y})]);return y})()}_hashAndTrackBlankNode({id:R,hashToBlankNodes:T}){var b=this;return yt(function*(){const y=yield b.hashFirstDegreeQuads(R),S=T.get(y);S?S.push(R):T.set(y,[R])})()}_addBlankNodeQuadInfo({quad:R,component:T}){if("BlankNode"!==T.termType)return;const b=T.value,y=this.blankNodeInfo.get(b);y?y.quads.add(R):this.blankNodeInfo.set(b,{quads:new Set([R]),hash:null})}_addRelatedBlankNodeHash({quad:R,component:T,position:b,id:y,issuer:S,hashToRelated:A}){var z=this;return yt(function*(){if("BlankNode"!==T.termType||T.value===y)return;const P=T.value,X=yield z.hashRelatedBlankNode(P,R,S,b),ue=A.get(X);ue?ue.push(P):A.set(X,[P])})()}_useCanonicalId({component:R}){return"BlankNode"!==R.termType||R.value.startsWith(this.canonicalIssuer.prefix)?R:{termType:"BlankNode",value:this.canonicalIssuer.getId(R.value)}}_yield(){return yt(function*(){return new Promise(R=>W(R))})()}}}).call(this)}).call(this,Y("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(Y,Se,he){"use strict";const W=Y("./IdentifierIssuer"),j=Y("./MessageDigest"),k=Y("./Permuter"),Q=Y("./NQuads");function H(w,C){return w.hashC.hash?1:0}Se.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new W("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(C){this.quads=C;for(const A of C)this._addBlankNodeQuadInfo({quad:A,component:A.subject}),this._addBlankNodeQuadInfo({quad:A,component:A.object}),this._addBlankNodeQuadInfo({quad:A,component:A.graph});const R=new Map,T=[...this.blankNodeInfo.keys()];for(const A of T)this._hashAndTrackBlankNode({id:A,hashToBlankNodes:R});const b=[...R.keys()].sort(),y=[];for(const A of b){const z=R.get(A);z.length>1?y.push(z):this.canonicalIssuer.getId(z[0])}for(const A of y){const z=[];for(const P of A){if(this.canonicalIssuer.hasId(P))continue;const X=new W("_:b");X.getId(P);const ue=this.hashNDegreeQuads(P,X);z.push(ue)}z.sort(H);for(const P of z){const X=P.issuer.getOldIds();for(const ue of X)this.canonicalIssuer.getId(ue)}}const S=[];for(const A of this.quads){const z=ot({},A);z.subject=this._useCanonicalId({component:z.subject}),z.object=this._useCanonicalId({component:z.object}),z.graph=this._useCanonicalId({component:z.graph}),S.push(Q.serializeQuad(z))}return S.sort(),S.join("")}hashFirstDegreeQuads(C){const R=[],T=this.blankNodeInfo.get(C),b=T.quads;for(const S of b){const A={subject:null,predicate:S.predicate,object:null,graph:null};A.subject=this.modifyFirstDegreeComponent(C,S.subject,"subject"),A.object=this.modifyFirstDegreeComponent(C,S.object,"object"),A.graph=this.modifyFirstDegreeComponent(C,S.graph,"graph"),R.push(Q.serializeQuad(A))}R.sort();const y=new j(this.hashAlgorithm);for(const S of R)y.update(S);return T.hash=y.digest(),T.hash}hashRelatedBlankNode(C,R,T,b){let y;y=this.canonicalIssuer.hasId(C)?this.canonicalIssuer.getId(C):T.hasId(C)?T.getId(C):this.blankNodeInfo.get(C).hash;const S=new j(this.hashAlgorithm);return S.update(b),"g"!==b&&S.update(this.getRelatedPredicate(R)),S.update(y),S.digest()}hashNDegreeQuads(C,R){const T=new j(this.hashAlgorithm),b=this.createHashToRelated(C,R),y=[...b.keys()].sort();for(const S of y){T.update(S);let z,A="";const P=new k(b.get(S));for(;P.hasNext();){const X=P.next();let ue=R.clone(),I="";const O=[];let K=!1;for(const E of X)if(this.canonicalIssuer.hasId(E)?I+=this.canonicalIssuer.getId(E):(ue.hasId(E)||O.push(E),I+=ue.getId(E)),0!==A.length&&I>A){K=!0;break}if(!K){for(const E of O){const $=this.hashNDegreeQuads(E,ue);if(I+=ue.getId(E),I+=`<${$.hash}>`,ue=$.issuer,0!==A.length&&I>A){K=!0;break}}K||(0===A.length||I`}createHashToRelated(C,R){const T=new Map,b=this.blankNodeInfo.get(C).quads;for(const y of b)this._addRelatedBlankNodeHash({quad:y,component:y.subject,position:"s",id:C,issuer:R,hashToRelated:T}),this._addRelatedBlankNodeHash({quad:y,component:y.object,position:"o",id:C,issuer:R,hashToRelated:T}),this._addRelatedBlankNodeHash({quad:y,component:y.graph,position:"g",id:C,issuer:R,hashToRelated:T});return T}_hashAndTrackBlankNode({id:C,hashToBlankNodes:R}){const T=this.hashFirstDegreeQuads(C),b=R.get(T);b?b.push(C):R.set(T,[C])}_addBlankNodeQuadInfo({quad:C,component:R}){if("BlankNode"!==R.termType)return;const T=R.value,b=this.blankNodeInfo.get(T);b?b.quads.add(C):this.blankNodeInfo.set(T,{quads:new Set([C]),hash:null})}_addRelatedBlankNodeHash({quad:C,component:R,position:T,id:b,issuer:y,hashToRelated:S}){if("BlankNode"!==R.termType||R.value===b)return;const A=R.value,z=this.hashRelatedBlankNode(A,C,y,T),P=S.get(z);P?P.push(A):S.set(z,[A])}_useCanonicalId({component:C}){return"BlankNode"!==C.termType||C.value.startsWith(this.canonicalIssuer.prefix)?C:{termType:"BlankNode",value:this.canonicalIssuer.getId(C.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(k,Q,H){return"BlankNode"!==Q.termType?Q:"graph"===H?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===k?"_:a":"_:z"}}getRelatedPredicate(k){return k.predicate.value}createHashToRelated(k,Q){var H=this;return yt(function*(){const w=new Map,C=H.blankNodeInfo.get(k).quads;let R=0;for(const T of C){let b,y;if("BlankNode"===T.subject.termType&&T.subject.value!==k)y=T.subject.value,b="p";else{if("BlankNode"!==T.object.termType||T.object.value===k)continue;y=T.object.value,b="r"}++R%100==0&&(yield H._yield());const S=yield H.hashRelatedBlankNode(y,T,Q,b),A=w.get(S);A?A.push(y):w.set(S,[y])}return w})()}}},{"./URDNA2015":51}],54:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015Sync");Se.exports=class extends W{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(k,Q,H){return"BlankNode"!==Q.termType?Q:"graph"===H?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Q.value===k?"_:a":"_:z"}}getRelatedPredicate(k){return k.predicate.value}createHashToRelated(k,Q){const H=new Map,w=this.blankNodeInfo.get(k).quads;for(const C of w){let R,T;if("BlankNode"===C.subject.termType&&C.subject.value!==k)T=C.subject.value,R="p";else{if("BlankNode"!==C.object.termType||C.object.value===k)continue;T=C.object.value,R="r"}const b=this.hashRelatedBlankNode(T,C,Q,R),y=H.get(b);y?y.push(T):H.set(b,[T])}return H}}},{"./URDNA2015Sync":52}],55:[function(Y,Se,he){"use strict";const W=Y("./URDNA2015"),j=Y("./URGNA2012"),k=Y("./URDNA2015Sync"),Q=Y("./URGNA2012Sync");let H;try{H=Y("rdf-canonize-native")}catch(C){}const w={};Se.exports=w,w.NQuads=Y("./NQuads"),w.IdentifierIssuer=Y("./IdentifierIssuer"),w._rdfCanonizeNative=function(C){return C&&(H=C),H},w.canonize=function(){var C=yt(function*(R,T){if(Array.isArray(R)||(R=w.NQuads.legacyDatasetToQuads(R)),T.useNative){if(!H)throw new Error("rdf-canonize-native not available");return new Promise((b,y)=>H.canonize(R,T,(S,A)=>S?y(S):b(A)))}if("URDNA2015"===T.algorithm)return new W(T).main(R);if("URGNA2012"===T.algorithm)return new j(T).main(R);throw"algorithm"in T?new Error("Invalid RDF Dataset Canonicalization algorithm: "+T.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(R,T){return C.apply(this,arguments)}}(),w._canonizeSync=function(C,R){if(Array.isArray(C)||(C=w.NQuads.legacyDatasetToQuads(C)),R.useNative){if(H)return H.canonizeSync(C,R);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===R.algorithm)return new k(R).main(C);if("URGNA2012"===R.algorithm)return new Q(R).main(C);throw"algorithm"in R?new Error("Invalid RDF Dataset Canonicalization algorithm: "+R.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(k,Q,H,w){void 0===w&&(w=H),Object.defineProperty(k,w,{enumerable:!0,get:function(){return Q[H]}})}:function(k,Q,H,w){void 0===w&&(w=H),k[w]=Q[H]}),j=this&&this.__exportStar||function(k,Q){for(var H in k)"default"!==H&&!Object.prototype.hasOwnProperty.call(Q,H)&&W(Q,k,H)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/BlankNode"),he),j(Y("./lib/DataFactory"),he),j(Y("./lib/DefaultGraph"),he),j(Y("./lib/Literal"),he),j(Y("./lib/NamedNode"),he),j(Y("./lib/Quad"),he),j(Y("./lib/Variable"),he)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.BlankNode=void 0;he.BlankNode=class{constructor(k){this.termType="BlankNode",this.value=k}equals(k){return!!k&&"BlankNode"===k.termType&&k.value===this.value}}},{}],58:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DataFactory=void 0;const W=Y("./BlankNode"),j=Y("./DefaultGraph"),k=Y("./Literal"),Q=Y("./NamedNode"),H=Y("./Quad"),w=Y("./Variable");let C=0;he.DataFactory=class{constructor(b){this.blankNodeCounter=0,this.blankNodePrefix=(b=b||{}).blankNodePrefix||`df_${C++}_`}namedNode(b){return new Q.NamedNode(b)}blankNode(b){return new W.BlankNode(b||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(b,y){return new k.Literal(b,y)}variable(b){return new w.Variable(b)}defaultGraph(){return j.DefaultGraph.INSTANCE}quad(b,y,S,A){return new H.Quad(b,y,S,A||this.defaultGraph())}fromTerm(b){switch(b.termType){case"NamedNode":return this.namedNode(b.value);case"BlankNode":return this.blankNode(b.value);case"Literal":return b.language?this.literal(b.value,b.language):b.datatype.equals(k.Literal.XSD_STRING)?this.literal(b.value):this.literal(b.value,this.fromTerm(b.datatype));case"Variable":return this.variable(b.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(b.subject),this.fromTerm(b.predicate),this.fromTerm(b.object),this.fromTerm(b.graph))}}fromQuad(b){return this.fromTerm(b)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.DefaultGraph=void 0;class W{constructor(){this.termType="DefaultGraph",this.value=""}equals(k){return!!k&&"DefaultGraph"===k.termType}}he.DefaultGraph=W,W.INSTANCE=new W},{}],60:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Literal=void 0;const W=Y("./NamedNode");class j{constructor(Q,H){this.termType="Literal",this.value=Q,"string"==typeof H?(this.language=H,this.datatype=j.RDF_LANGUAGE_STRING):H?(this.language="",this.datatype=H):(this.language="",this.datatype=j.XSD_STRING)}equals(Q){return!!Q&&"Literal"===Q.termType&&Q.value===this.value&&Q.language===this.language&&Q.datatype.equals(this.datatype)}}he.Literal=j,j.RDF_LANGUAGE_STRING=new W.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),j.XSD_STRING=new W.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.NamedNode=void 0;he.NamedNode=class{constructor(k){this.termType="NamedNode",this.value=k}equals(k){return!!k&&"NamedNode"===k.termType&&k.value===this.value}}},{}],62:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Quad=void 0;he.Quad=class{constructor(k,Q,H,w){this.termType="Quad",this.value="",this.subject=k,this.predicate=Q,this.object=H,this.graph=w}equals(k){return!!k&&("Quad"===k.termType||!k.termType)&&this.subject.equals(k.subject)&&this.predicate.equals(k.predicate)&&this.object.equals(k.object)&&this.graph.equals(k.graph)}}},{}],63:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.Variable=void 0;he.Variable=class{constructor(k){this.termType="Variable",this.value=k}equals(k){return!!k&&"Variable"===k.termType&&k.value===this.value}}},{}],64:[function(Y,Se,he){"use strict";var W=this&&this.__createBinding||(Object.create?function(k,Q,H,w){void 0===w&&(w=H),Object.defineProperty(k,w,{enumerable:!0,get:function(){return Q[H]}})}:function(k,Q,H,w){void 0===w&&(w=H),k[w]=Q[H]}),j=this&&this.__exportStar||function(k,Q){for(var H in k)"default"!==H&&!Object.prototype.hasOwnProperty.call(Q,H)&&W(Q,k,H)};Object.defineProperty(he,"__esModule",{value:!0}),j(Y("./lib/RdfXmlParser"),he)},{"./lib/RdfXmlParser":66}],65:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseError=void 0;class W extends Error{constructor(k,Q){const H=k.saxStream._parser;super(k.trackPosition?`Line ${H.line+1} column ${H.column+1}: ${Q}`:Q)}}he.ParseError=W},{}],66:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),he.ParseType=he.RdfXmlParser=void 0;const W=Y("relative-to-absolute-iri"),j=Y("sax"),k=Y("stream"),Q=Y("./ParseError"),H=Y("rdf-data-factory");class w extends k.Transform{constructor(T){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},T&&(Object.assign(this,T),this.options=T),this.dataFactory||(this.dataFactory=new H.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=j.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(T,b){const y={};let S=!1;for(const z in T.attributes)z.startsWith("xmlns")&&(5===z.length?(S=!0,y[""]=T.attributes[z]):":"===z.charAt(5)&&(S=!0,y[z.substr(6)]=T.attributes[z]));const A=b&&b.ns?b.ns:[w.DEFAULT_NS];return S?A.concat([y]):A}static expandPrefixedTerm(T,b,y){const S=T.indexOf(":");let A,z;S>=0?(A=T.substr(0,S),z=T.substr(S+1)):(A="",z=T);let P=null,X=null;for(let ue=b.length-1;ue>=0;ue--){const I=b[ue][A];if(I){P=I;break}X||(X=b[ue][""])}if(!P){if(A&&"xmlns"!==A)throw new Q.ParseError(y,`The prefix '${A}' in term '${T}' was not bound.`);P=X||""}return{prefix:A,local:z,uri:P}}static isValidIri(T){return w.IRI_REGEX.test(T)}import(T){const b=new k.PassThrough({readableObjectMode:!0});T.on("error",S=>y.emit("error",S)),T.on("data",S=>b.push(S)),T.on("end",()=>b.push(null));const y=b.pipe(new w(this.options));return y}_transform(T,b,y){try{this.saxStream.write(T,b)}catch(S){return y(S)}y()}newParseError(T){return new Q.ParseError(this,T)}valueToUri(T,b){return this.uriToNamedNode(W.resolve(T,b.baseIRI))}uriToNamedNode(T){if(!w.isValidIri(T))throw this.newParseError(`Invalid URI: ${T}`);return this.dataFactory.namedNode(T)}validateNcname(T){if(!w.NCNAME_MATCHER.test(T))throw this.newParseError(`Not a valid NCName: ${T}`)}attachSaxListeners(){this.saxStream.on("error",T=>this.emit("error",T)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(T){const b=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let y=C.RESOURCE;if(b&&(b.hadChildren=!0,y=b.childrenParseType),b&&b.childrenStringTags){const A=T.name;let z="";for(const I in T.attributes)z+=` ${I}="${T.attributes[I]}"`;b.childrenStringTags.push(`<${A}${z}>`);const ue={childrenStringTags:b.childrenStringTags};return ue.childrenStringEmitClosingTag=``,void this.activeTagStack.push(ue)}const S={};b?(S.language=b.language,S.baseIRI=b.baseIRI):S.baseIRI=this.baseIRI,this.activeTagStack.push(S),S.ns=w.parseNamespace(T,b),y===C.RESOURCE?this.onTagResource(T,S,b,!b):this.onTagProperty(T,S,b)}onTagResource(T,b,y,S){const A=w.expandPrefixedTerm(T.name,b.ns,this);b.childrenParseType=C.PROPERTY;let z=!0;if(A.uri===w.RDF){if(!S&&w.FORBIDDEN_NODE_ELEMENTS.indexOf(A.local)>=0)throw this.newParseError(`Illegal node element name: ${A.local}`);switch(A.local){case"RDF":b.childrenParseType=C.RESOURCE;case"Description":z=!1}}const P=[],X=[];let ue=null,I=!1,O=!1,K=null;for(const E in T.attributes){const $=T.attributes[E],Z=w.expandPrefixedTerm(E,b.ns,this);if(y&&Z.uri===w.RDF)switch(Z.local){case"about":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);ue=$;continue;case"ID":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);this.validateNcname($),ue="#"+$,I=!0;continue;case"nodeID":if(ue)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${$} and ${ue} where found.`);this.validateNcname($),ue=$,O=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":K=$;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(Z.uri===w.XML){if("lang"===Z.local){b.language=""===$?null:$.toLowerCase();continue}if("base"===Z.local){b.baseIRI=W.resolve($,b.baseIRI);continue}}"xml"!==Z.prefix&&Z.uri&&(P.push(this.uriToNamedNode(Z.uri+Z.local)),X.push($))}if(null!==ue&&(b.subject=O?this.dataFactory.blankNode(ue):this.valueToUri(ue,b),I&&this.claimNodeId(b.subject)),b.subject||(b.subject=this.dataFactory.blankNode()),z){const E=this.uriToNamedNode(A.uri+A.local);this.emitTriple(b.subject,this.dataFactory.namedNode(w.RDF+"type"),E,y?y.reifiedStatementId:null)}if(y){if(y.predicate)if(y.childrenCollectionSubject){const E=this.dataFactory.blankNode();this.emitTriple(y.childrenCollectionSubject,y.childrenCollectionPredicate,E,y.reifiedStatementId),this.emitTriple(E,this.dataFactory.namedNode(w.RDF+"first"),b.subject,b.reifiedStatementId),y.childrenCollectionSubject=E,y.childrenCollectionPredicate=this.dataFactory.namedNode(w.RDF+"rest")}else{this.emitTriple(y.subject,y.predicate,b.subject,y.reifiedStatementId);for(let E=0;E=0)throw this.newParseError(`Illegal property element name: ${S.local}`);b.predicateSubPredicates=[],b.predicateSubObjects=[];let A=!1,z=!1,P=null,X=!0;const ue=[],I=[];for(const O in T.attributes){const K=T.attributes[O],E=w.expandPrefixedTerm(O,b.ns,this);if(E.uri===w.RDF)switch(E.local){case"resource":if(P)throw this.newParseError(`Found both rdf:resource (${K}) and rdf:nodeID (${P}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${K})`);b.hadChildren=!0,P=K,X=!1;continue;case"datatype":if(z)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${K}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${K})`);b.datatype=this.valueToUri(K,b);continue;case"nodeID":if(z)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${K}).`);if(b.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${K}).`);if(A)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${K})`);this.validateNcname(K),b.hadChildren=!0,P=K,X=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(z)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(b.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${b.datatype.value})`);if(P)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${P})`);if("Resource"===K){A=!0,b.childrenParseType=C.PROPERTY;const $=this.dataFactory.blankNode();this.emitTriple(b.subject,b.predicate,$,b.reifiedStatementId),b.subject=$,b.predicate=null}else"Collection"===K?(A=!0,b.hadChildren=!0,b.childrenCollectionSubject=b.subject,b.childrenCollectionPredicate=b.predicate,X=!1):"Literal"===K&&(A=!0,b.childrenTagsToString=!0,b.childrenStringTags=[]);continue;case"ID":this.validateNcname(K),b.reifiedStatementId=this.valueToUri("#"+K,b),this.claimNodeId(b.reifiedStatementId);continue}else if(E.uri===w.XML&&"lang"===E.local){b.language=""===K?null:K.toLowerCase();continue}if("xml"!==E.prefix&&"xmlns"!==E.prefix&&E.uri){if(A||b.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${K}`);b.hadChildren=!0,z=!0,ue.push(this.uriToNamedNode(E.uri+E.local)),I.push(this.dataFactory.literal(K,b.datatype||b.language))}}if(null!==P){const O=b.subject;b.subject=X?this.dataFactory.blankNode(P):this.valueToUri(P,b),this.emitTriple(O,b.predicate,b.subject,b.reifiedStatementId);for(let K=0;K/g,(b,y,S)=>(this.saxStream._parser.ENTITIES[y]=S,""))}}var C,R;he.RdfXmlParser=w,w.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,w.MIME_TYPE="application/rdf+xml",w.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",w.XML="http://www.w3.org/XML/1998/namespace",w.XMLNS="http://www.w3.org/2000/xmlns/",w.DEFAULT_NS={xml:w.XML},w.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],w.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],w.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(R=C=he.ParseType||(he.ParseType={}))[R.RESOURCE=0]="RESOURCE",R[R.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(Y,Se,he){"use strict";var j={};function k(R,T,b){b||(b=Error);var S=function(A){function z(P,X,ue){return A.call(this,function(A,z,P){return"string"==typeof T?T:T(A,z,P)}(P,X,ue))||this}return function(R,T){R.prototype=Object.create(T.prototype),R.prototype.constructor=R,R.__proto__=T}(z,A),z}(b);S.prototype.name=b.name,S.prototype.code=R,j[R]=S}function Q(R,T){if(Array.isArray(R)){var b=R.length;return R=R.map(function(y){return String(y)}),b>2?"one of ".concat(T," ").concat(R.slice(0,b-1).join(", "),", or ")+R[b-1]:2===b?"one of ".concat(T," ").concat(R[0]," or ").concat(R[1]):"of ".concat(T," ").concat(R[0])}return"of ".concat(T," ").concat(String(R))}k("ERR_INVALID_OPT_VALUE",function(R,T){return'The value "'+T+'" is invalid for option "'+R+'"'},TypeError),k("ERR_INVALID_ARG_TYPE",function(R,T,b){var y,S;if("string"==typeof T&&function(R,T,b){return R.substr(!b||b<0?0:+b,T.length)===T}(T,"not ")?(y="must not be",T=T.replace(/^not /,"")):y="must be",function(R,T,b){return(void 0===b||b>R.length)&&(b=R.length),R.substring(b-T.length,b)===T}(R," argument"))S="The ".concat(R," ").concat(y," ").concat(Q(T,"type"));else{var A=function(R,T,b){return"number"!=typeof b&&(b=0),!(b+T.length>R.length)&&-1!==R.indexOf(T,b)}(R,".")?"property":"argument";S='The "'.concat(R,'" ').concat(A," ").concat(y," ").concat(Q(T,"type"))}return S+". Received type ".concat(typeof b)},TypeError),k("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),k("ERR_METHOD_NOT_IMPLEMENTED",function(R){return"The "+R+" method is not implemented"}),k("ERR_STREAM_PREMATURE_CLOSE","Premature close"),k("ERR_STREAM_DESTROYED",function(R){return"Cannot call "+R+" after a stream was destroyed"}),k("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),k("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),k("ERR_STREAM_WRITE_AFTER_END","write after end"),k("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),k("ERR_UNKNOWN_ENCODING",function(R){return"Unknown encoding: "+R},TypeError),k("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Se.exports.codes=j},{}],68:[function(Y,Se,he){(function(W){(function(){"use strict";var j=Object.keys||function(y){var S=[];for(var A in y)S.push(A);return S};Se.exports=R;var k=Y("./_stream_readable"),Q=Y("./_stream_writable");Y("inherits")(R,k);for(var H=j(Q.prototype),w=0;w0)if("string"!=typeof B&&!Ze.objectMode&&Object.getPrototypeOf(B)!==C.prototype&&(B=function(we){return C.from(we)}(B)),V)Ze.endEmitted?oe(we,new E):Oe(we,Ze,B,!0);else if(Ze.ended)oe(we,new O);else{if(Ze.destroyed)return!1;Ze.reading=!1,Ze.decoder&&!N?(B=Ze.decoder.write(B),Ze.objectMode||0!==B.length?Oe(we,Ze,B,!1):Ke(we,Ze)):Oe(we,Ze,B,!1)}else V||(Ze.reading=!1,Ke(we,Ze));return!Ze.ended&&(Ze.lengthB.highWaterMark&&(B.highWaterMark=function(we){return we>=st?we=st:(we--,we|=we>>>1,we|=we>>>2,we|=we>>>4,we|=we>>>8,we|=we>>>16,we++),we}(we)),we<=B.length?we:B.ended?B.length:(B.needReadable=!0,0))}function ze(we){var B=we._readableState;S("emitReadable",B.needReadable,B.emittedReadable),B.needReadable=!1,B.emittedReadable||(S("emitReadable",B.flowing),B.emittedReadable=!0,W.nextTick(Le,we))}function Le(we){var B=we._readableState;S("emitReadable_",B.destroyed,B.length,B.ended),!B.destroyed&&(B.length||B.ended)&&(we.emit("readable"),B.emittedReadable=!1),B.needReadable=!B.flowing&&!B.ended&&B.length<=B.highWaterMark,pe(we)}function Ke(we,B){B.readingMore||(B.readingMore=!0,W.nextTick(Me,we,B))}function Me(we,B){for(;!B.reading&&!B.ended&&(B.length0,B.resumeScheduled&&!B.paused?B.flowing=!0:we.listenerCount("data")>0&&we.resume()}function ke(we){S("readable nexttick read 0"),we.read(0)}function G(we,B){S("resume",B.reading),B.reading||we.read(0),B.resumeScheduled=!1,we.emit("resume"),pe(we),B.flowing&&!B.reading&&we.read(0)}function pe(we){var B=we._readableState;for(S("flow",B.flowing);B.flowing&&null!==we.read(););}function de(we,B){return 0===B.length?null:(B.objectMode?N=B.buffer.shift():!we||we>=B.length?(N=B.decoder?B.buffer.join(""):1===B.buffer.length?B.buffer.first():B.buffer.concat(B.length),B.buffer.clear()):N=B.buffer.consume(we,B.decoder),N);var N}function je(we){var B=we._readableState;S("endReadable",B.endEmitted),B.endEmitted||(B.ended=!0,W.nextTick(_t,B,we))}function _t(we,B){if(S("endReadableNT",we.endEmitted,we.length),!we.endEmitted&&0===we.length&&(we.endEmitted=!0,B.readable=!1,B.emit("end"),we.autoDestroy)){var N=B._writableState;(!N||N.autoDestroy&&N.finished)&&B.destroy()}}function pt(we,B){for(var N=0,V=we.length;N=B.highWaterMark:B.length>0)||B.ended))return S("read: emitReadable",B.length,B.ended),0===B.length&&B.ended?je(this):ze(this),null;if(0===(we=tt(we,B))&&B.ended)return 0===B.length&&je(this),null;var Re,V=B.needReadable;return S("need readable",V),(0===B.length||B.length-we0?de(we,B):null)?(B.needReadable=B.length<=B.highWaterMark,we=0):(B.length-=we,B.awaitDrain=0),0===B.length&&(B.ended||(B.needReadable=!0),N!==we&&B.ended&&je(this)),null!==Re&&this.emit("data",Re),Re},ne.prototype._read=function(we){oe(this,new K("_read()"))},ne.prototype.pipe=function(we,B){var N=this,V=this._readableState;switch(V.pipesCount){case 0:V.pipes=we;break;case 1:V.pipes=[V.pipes,we];break;default:V.pipes.push(we)}V.pipesCount+=1,S("pipe count=%d opts=%j",V.pipesCount,B);var Ze=B&&!1===B.end||we===W.stdout||we===W.stderr?fs:kt;function Tt(Bs,Kr){S("onunpipe"),Bs===N&&Kr&&!1===Kr.hasUnpiped&&(Kr.hasUnpiped=!0,S("cleanup"),we.removeListener("close",Xr),we.removeListener("finish",Ls),we.removeListener("drain",In),we.removeListener("error",xi),we.removeListener("unpipe",Tt),N.removeListener("end",kt),N.removeListener("end",fs),N.removeListener("data",Mi),Nn=!0,V.awaitDrain&&(!we._writableState||we._writableState.needDrain)&&In())}function kt(){S("onend"),we.end()}V.endEmitted?W.nextTick(Ze):N.once("end",Ze),we.on("unpipe",Tt);var In=function(we){return function(){var N=we._readableState;S("pipeOnDrain",N.awaitDrain),N.awaitDrain&&N.awaitDrain--,0===N.awaitDrain&&H(we,"data")&&(N.flowing=!0,pe(we))}}(N);we.on("drain",In);var Nn=!1;function Mi(Bs){S("ondata");var Kr=we.write(Bs);S("dest.write",Kr),!1===Kr&&((1===V.pipesCount&&V.pipes===we||V.pipesCount>1&&-1!==pt(V.pipes,we))&&!Nn&&(S("false write response, pause",V.awaitDrain),V.awaitDrain++),N.pause())}function xi(Bs){S("onerror",Bs),fs(),we.removeListener("error",xi),0===H(we,"error")&&oe(we,Bs)}function Xr(){we.removeListener("finish",Ls),fs()}function Ls(){S("onfinish"),we.removeListener("close",Xr),fs()}function fs(){S("unpipe"),N.unpipe(we)}return N.on("data",Mi),function(we,B,N){if("function"==typeof we.prependListener)return we.prependListener(B,N);we._events&&we._events[B]?Array.isArray(we._events[B])?we._events[B].unshift(N):we._events[B]=[N,we._events[B]]:we.on(B,N)}(we,"error",xi),we.once("close",Xr),we.once("finish",Ls),we.emit("pipe",N),V.flowing||(S("pipe resume"),N.resume()),we},ne.prototype.unpipe=function(we){var B=this._readableState,N={hasUnpiped:!1};if(0===B.pipesCount)return this;if(1===B.pipesCount)return we&&we!==B.pipes||(we||(we=B.pipes),B.pipes=null,B.pipesCount=0,B.flowing=!1,we&&we.emit("unpipe",this,N)),this;if(!we){var V=B.pipes,Re=B.pipesCount;B.pipes=null,B.pipesCount=0,B.flowing=!1;for(var Ze=0;Ze0,!1!==V.flowing&&this.resume()):"readable"===we&&!V.endEmitted&&!V.readableListening&&(V.readableListening=V.needReadable=!0,V.flowing=!1,V.emittedReadable=!1,S("on readable",V.length,V.reading),V.length?ze(this):V.reading||W.nextTick(ke,this)),N},ne.prototype.removeListener=function(we,B){var N=w.prototype.removeListener.call(this,we,B);return"readable"===we&&W.nextTick(qe,this),N},ne.prototype.removeAllListeners=function(we){var B=w.prototype.removeAllListeners.apply(this,arguments);return("readable"===we||void 0===we)&&W.nextTick(qe,this),B},ne.prototype.resume=function(){var we=this._readableState;return we.flowing||(S("resume"),we.flowing=!we.readableListening,function(we,B){B.resumeScheduled||(B.resumeScheduled=!0,W.nextTick(G,we,B))}(this,we)),we.paused=!1,this},ne.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},ne.prototype.wrap=function(we){var B=this,N=this._readableState,V=!1;for(var Re in we.on("end",function(){if(S("wrapped end"),N.decoder&&!N.ended){var Tt=N.decoder.end();Tt&&Tt.length&&B.push(Tt)}B.push(null)}),we.on("data",function(Tt){S("wrapped data"),N.decoder&&(Tt=N.decoder.write(Tt)),N.objectMode&&null==Tt||!(N.objectMode||Tt&&Tt.length)||B.push(Tt)||(V=!0,we.pause())}),we)void 0===this[Re]&&"function"==typeof we[Re]&&(this[Re]=function(kt){return function(){return we[kt].apply(we,arguments)}}(Re));for(var Ze=0;Ze-1))throw new Z(de);return this._writableState.defaultEncoding=de,this},Object.defineProperty(me.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(me.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),me.prototype._write=function(pe,de,je){je(new ue("_write()"))},me.prototype._writev=null,me.prototype.end=function(pe,de,je){var _t=this._writableState;return"function"==typeof pe?(je=pe,pe=null,de=null):"function"==typeof de&&(je=de,de=null),null!=pe&&this.write(pe,de),_t.corked&&(_t.corked=1,this.uncork()),_t.ending||function(pe,de,je){de.ending=!0,ke(pe,de),je&&(de.finished?W.nextTick(je):pe.once("finish",je)),de.ended=!0,pe.writable=!1}(this,_t,je),this},Object.defineProperty(me.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(me.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(de){!this._writableState||(this._writableState.destroyed=de)}}),me.prototype.destroy=S.destroy,me.prototype._undestroy=S.undestroy,me.prototype._destroy=function(pe,de){de(pe)}}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(Y,Se,he){(function(W){(function(){"use strict";var j;function k(O,K,E){return K in O?Object.defineProperty(O,K,{value:E,enumerable:!0,configurable:!0,writable:!0}):O[K]=E,O}var Q=Y("./end-of-stream"),H=Symbol("lastResolve"),w=Symbol("lastReject"),C=Symbol("error"),R=Symbol("ended"),T=Symbol("lastPromise"),b=Symbol("handlePromise"),y=Symbol("stream");function S(O,K){return{value:O,done:K}}function A(O){var K=O[H];if(null!==K){var E=O[y].read();null!==E&&(O[T]=null,O[H]=null,O[w]=null,K(S(E,!1)))}}function z(O){W.nextTick(A,O)}var X=Object.getPrototypeOf(function(){}),ue=Object.setPrototypeOf((k(j={get stream(){return this[y]},next:function(){var K=this,E=this[C];if(null!==E)return Promise.reject(E);if(this[R])return Promise.resolve(S(void 0,!0));if(this[y].destroyed)return new Promise(function(oe,te){W.nextTick(function(){K[C]?te(K[C]):oe(S(void 0,!0))})});var Z,$=this[T];if($)Z=new Promise(function(O,K){return function(E,$){O.then(function(){K[R]?E(S(void 0,!0)):K[b](E,$)},$)}}($,this));else{var ae=this[y].read();if(null!==ae)return Promise.resolve(S(ae,!1));Z=new Promise(this[b])}return this[T]=Z,Z}},Symbol.asyncIterator,function(){return this}),k(j,"return",function(){var K=this;return new Promise(function(E,$){K[y].destroy(null,function(Z){Z?$(Z):E(S(void 0,!0))})})}),j),X);Se.exports=function(K){var E,$=Object.create(ue,(k(E={},y,{value:K,writable:!0}),k(E,H,{value:null,writable:!0}),k(E,w,{value:null,writable:!0}),k(E,C,{value:null,writable:!0}),k(E,R,{value:K._readableState.endEmitted,writable:!0}),k(E,b,{value:function(ae,oe){var te=$[y].read();te?($[T]=null,$[H]=null,$[w]=null,ae(S(te,!1))):($[H]=ae,$[w]=oe)},writable:!0}),E));return $[T]=null,Q(K,function(Z){if(Z&&"ERR_STREAM_PREMATURE_CLOSE"!==Z.code){var ae=$[w];return null!==ae&&($[T]=null,$[H]=null,$[w]=null,ae(Z)),void($[C]=Z)}var oe=$[H];null!==oe&&($[T]=null,$[H]=null,$[w]=null,oe(S(void 0,!0))),$[R]=!0}),K.on("readable",z.bind(null,$)),$}}).call(this)}).call(this,Y("_process"))},{"./end-of-stream":76,_process:44}],74:[function(Y,Se,he){"use strict";function W(A,z){var P=Object.keys(A);if(Object.getOwnPropertySymbols){var X=Object.getOwnPropertySymbols(A);z&&(X=X.filter(function(ue){return Object.getOwnPropertyDescriptor(A,ue).enumerable})),P.push.apply(P,X)}return P}function k(A,z,P){return z in A?Object.defineProperty(A,z,{value:P,enumerable:!0,configurable:!0,writable:!0}):A[z]=P,A}function H(A,z){for(var P=0;P0?this.tail.next=X:this.head=X,this.tail=X,++this.length}},{key:"unshift",value:function(P){var X={data:P,next:this.head};0===this.length&&(this.tail=X),this.head=X,++this.length}},{key:"shift",value:function(){if(0!==this.length){var P=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,P}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(P){if(0===this.length)return"";for(var X=this.head,ue=""+X.data;X=X.next;)ue+=P+X.data;return ue}},{key:"concat",value:function(P){if(0===this.length)return R.alloc(0);for(var X=R.allocUnsafe(P>>>0),ue=this.head,I=0;ue;)S(ue.data,X,I),I+=ue.data.length,ue=ue.next;return X}},{key:"consume",value:function(P,X){var ue;return PO.length?O.length:P;if(I+=K===O.length?O:O.slice(0,P),0==(P-=K)){K===O.length?(++ue,this.head=X.next?X.next:this.tail=null):(this.head=X,X.data=O.slice(K));break}++ue}return this.length-=ue,I}},{key:"_getBuffer",value:function(P){var X=R.allocUnsafe(P),ue=this.head,I=1;for(ue.data.copy(X),P-=ue.data.length;ue=ue.next;){var O=ue.data,K=P>O.length?O.length:P;if(O.copy(X,X.length-P,0,K),0==(P-=K)){K===O.length?(++I,this.head=ue.next?ue.next:this.tail=null):(this.head=ue,ue.data=O.slice(K));break}++I}return this.length-=I,X}},{key:y,value:function(P,X){return b(this,function(A){for(var z=1;z0,function(Z){ue||(ue=Z),Z&&I.forEach(T),!E&&(I.forEach(T),X(ue))})});return z.reduce(b)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(Y,Se,he){"use strict";var W=Y("../../../errors").codes.ERR_INVALID_OPT_VALUE;Se.exports={getHighWaterMark:function(Q,H,w,C){var R=function(Q,H,w){return null!=Q.highWaterMark?Q.highWaterMark:H?Q[w]:null}(H,C,w);if(null!=R){if(!isFinite(R)||Math.floor(R)!==R||R<0)throw new W(C?w:"highWaterMark",R);return Math.floor(R)}return Q.objectMode?16:16384}}},{"../../../errors":67}],80:[function(Y,Se,he){Se.exports=Y("events").EventEmitter},{events:8}],81:[function(Y,Se,he){(he=Se.exports=Y("./lib/_stream_readable.js")).Stream=he,he.Readable=he,he.Writable=Y("./lib/_stream_writable.js"),he.Duplex=Y("./lib/_stream_duplex.js"),he.Transform=Y("./lib/_stream_transform.js"),he.PassThrough=Y("./lib/_stream_passthrough.js"),he.finished=Y("./lib/internal/streams/end-of-stream.js"),he.pipeline=Y("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(Y,Se,he){"use strict";Object.defineProperty(he,"__esModule",{value:!0}),function(j){for(var k in j)he.hasOwnProperty(k)||(he[k]=j[k])}(Y("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(Y,Se,he){"use strict";function j(H){const w=[];let C=0;for(;CR.join("")).join("/")}function k(H,w){let C=w+1;w>=0?"/"===H[w+1]&&"/"===H[w+2]&&(C=w+3):"/"===H[0]&&"/"===H[1]&&(C=2);const R=H.indexOf("/",C);return R<0?H:H.substr(0,R)+j(H.substr(R))}function Q(H){return!H||"#"===H||"?"===H||"/"===H}Object.defineProperty(he,"__esModule",{value:!0}),he.resolve=function(H,w){const C=(w=w||"").indexOf("#");if(C>0&&(w=w.substr(0,C)),!H.length){if(w.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${w}' for value '${H}'`);return w}if(H.startsWith("?")){const z=w.indexOf("?");return z>0&&(w=w.substr(0,z)),w+H}if(H.startsWith("#"))return w+H;if(!w.length){const z=H.indexOf(":");if(z<0)throw new Error(`Found invalid relative IRI '${H}' for a missing baseIRI`);return k(H,z)}const R=H.indexOf(":");if(R>=0)return k(H,R);const T=w.indexOf(":");if(T<0)throw new Error(`Found invalid baseIRI '${w}' for value '${H}'`);const b=w.substr(0,T+1);if(0===H.indexOf("//"))return b+k(H,R);let y;if(w.indexOf("//",T)===T+1){if(y=w.indexOf("/",T+3),y<0)return w.length>T+3?w+"/"+k(H,R):b+k(H,R)}else if(y=w.indexOf("/",T+1),y<0)return b+k(H,R);if(0===H.indexOf("/"))return w.substr(0,y)+j(H);let S=w.substr(y);const A=S.lastIndexOf("/");return A>=0&&A"===de?(ne(G,"onsgmldeclaration",G.sgmlDecl),G.sgmlDecl="",G.state=te.TEXT):($(de)&&(G.state=te.SGML_DECL_QUOTED),G.sgmlDecl+=de);continue;case te.SGML_DECL_QUOTED:de===G.q&&(G.state=te.SGML_DECL,G.q=""),G.sgmlDecl+=de;continue;case te.DOCTYPE:">"===de?(G.state=te.TEXT,ne(G,"ondoctype",G.doctype),G.doctype=!0):(G.doctype+=de,"["===de?G.state=te.DOCTYPE_DTD:$(de)&&(G.state=te.DOCTYPE_QUOTED,G.q=de));continue;case te.DOCTYPE_QUOTED:G.doctype+=de,de===G.q&&(G.q="",G.state=te.DOCTYPE);continue;case te.DOCTYPE_DTD:G.doctype+=de,"]"===de?G.state=te.DOCTYPE:$(de)&&(G.state=te.DOCTYPE_DTD_QUOTED,G.q=de);continue;case te.DOCTYPE_DTD_QUOTED:G.doctype+=de,de===G.q&&(G.state=te.DOCTYPE_DTD,G.q="");continue;case te.COMMENT:"-"===de?G.state=te.COMMENT_ENDING:G.comment+=de;continue;case te.COMMENT_ENDING:"-"===de?(G.state=te.COMMENT_ENDED,G.comment=Oe(G.opt,G.comment),G.comment&&ne(G,"oncomment",G.comment),G.comment=""):(G.comment+="-"+de,G.state=te.COMMENT);continue;case te.COMMENT_ENDED:">"!==de?(Qe(G,"Malformed comment"),G.comment+="--"+de,G.state=te.COMMENT):G.state=te.TEXT;continue;case te.CDATA:"]"===de?G.state=te.CDATA_ENDING:G.cdata+=de;continue;case te.CDATA_ENDING:"]"===de?G.state=te.CDATA_ENDING_2:(G.cdata+="]"+de,G.state=te.CDATA);continue;case te.CDATA_ENDING_2:">"===de?(G.cdata&&ne(G,"oncdata",G.cdata),ne(G,"onclosecdata"),G.cdata="",G.state=te.TEXT):"]"===de?G.cdata+="]":(G.cdata+="]]"+de,G.state=te.CDATA);continue;case te.PROC_INST:"?"===de?G.state=te.PROC_INST_ENDING:E(de)?G.state=te.PROC_INST_BODY:G.procInstName+=de;continue;case te.PROC_INST_BODY:if(!G.procInstBody&&E(de))continue;"?"===de?G.state=te.PROC_INST_ENDING:G.procInstBody+=de;continue;case te.PROC_INST_ENDING:">"===de?(ne(G,"onprocessinginstruction",{name:G.procInstName,body:G.procInstBody}),G.procInstName=G.procInstBody="",G.state=te.TEXT):(G.procInstBody+="?"+de,G.state=te.PROC_INST_BODY);continue;case te.OPEN_TAG:ae(I,de)?G.tagName+=de:(tt(G),">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:(E(de)||Qe(G,"Invalid character in tag name"),G.state=te.ATTRIB));continue;case te.OPEN_TAG_SLASH:">"===de?(Le(G,!0),Ke(G)):(Qe(G,"Forward-slash in opening tag not followed by >"),G.state=te.ATTRIB);continue;case te.ATTRIB:if(E(de))continue;">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:ae(ue,de)?(G.attribName=de,G.attribValue="",G.state=te.ATTRIB_NAME):Qe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME:"="===de?G.state=te.ATTRIB_VALUE:">"===de?(Qe(G,"Attribute without value"),G.attribValue=G.attribName,ze(G),Le(G)):E(de)?G.state=te.ATTRIB_NAME_SAW_WHITE:ae(I,de)?G.attribName+=de:Qe(G,"Invalid attribute name");continue;case te.ATTRIB_NAME_SAW_WHITE:if("="===de)G.state=te.ATTRIB_VALUE;else{if(E(de))continue;Qe(G,"Attribute without value"),G.tag.attributes[G.attribName]="",G.attribValue="",ne(G,"onattribute",{name:G.attribName,value:""}),G.attribName="",">"===de?Le(G):ae(ue,de)?(G.attribName=de,G.state=te.ATTRIB_NAME):(Qe(G,"Invalid attribute name"),G.state=te.ATTRIB)}continue;case te.ATTRIB_VALUE:if(E(de))continue;$(de)?(G.q=de,G.state=te.ATTRIB_VALUE_QUOTED):(Qe(G,"Unquoted attribute value"),G.state=te.ATTRIB_VALUE_UNQUOTED,G.attribValue=de);continue;case te.ATTRIB_VALUE_QUOTED:if(de!==G.q){"&"===de?G.state=te.ATTRIB_VALUE_ENTITY_Q:G.attribValue+=de;continue}ze(G),G.q="",G.state=te.ATTRIB_VALUE_CLOSED;continue;case te.ATTRIB_VALUE_CLOSED:E(de)?G.state=te.ATTRIB:">"===de?Le(G):"/"===de?G.state=te.OPEN_TAG_SLASH:ae(ue,de)?(Qe(G,"No whitespace between attributes"),G.attribName=de,G.attribValue="",G.state=te.ATTRIB_NAME):Qe(G,"Invalid attribute name");continue;case te.ATTRIB_VALUE_UNQUOTED:if(!Z(de)){"&"===de?G.state=te.ATTRIB_VALUE_ENTITY_U:G.attribValue+=de;continue}ze(G),">"===de?Le(G):G.state=te.ATTRIB;continue;case te.CLOSE_TAG:if(G.tagName)">"===de?Ke(G):ae(I,de)?G.tagName+=de:G.script?(G.script+=""===de?Ke(G):Qe(G,"Invalid characters in closing tag");continue;case te.TEXT_ENTITY:case te.ATTRIB_VALUE_ENTITY_Q:case te.ATTRIB_VALUE_ENTITY_U:var pt,we;switch(G.state){case te.TEXT_ENTITY:pt=te.TEXT,we="textNode";break;case te.ATTRIB_VALUE_ENTITY_Q:pt=te.ATTRIB_VALUE_QUOTED,we="attribValue";break;case te.ATTRIB_VALUE_ENTITY_U:pt=te.ATTRIB_VALUE_UNQUOTED,we="attribValue"}";"===de?(G[we]+=Me(G),G.entity="",G.state=pt):ae(G.entity.length?K:O,de)?G.entity+=de:(Qe(G,"Invalid character in entity name"),G[we]+="&"+G.entity+de,G.entity="",G.state=pt);continue;default:throw new Error(G,"Unknown state: "+G.state)}return G.position>=G.bufferCheckPosition&&function(q){for(var G=Math.max(j.MAX_BUFFER_LENGTH,10),pe=0,de=0,je=k.length;deG)switch(k[de]){case"textNode":ye(q);break;case"cdata":ne(q,"oncdata",q.cdata),q.cdata="";break;case"script":ne(q,"onscript",q.script),q.script="";break;default:$e(q,"Max buffer length exceeded: "+k[de])}pe=Math.max(pe,_t)}q.bufferCheckPosition=j.MAX_BUFFER_LENGTH-pe+q.position}(G),G},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(q){ye(q),""!==q.cdata&&(ne(q,"oncdata",q.cdata),q.cdata=""),""!==q.script&&(ne(q,"onscript",q.script),q.script="")}(this)}};try{R=Y("stream").Stream}catch(q){R=function(){}}var T=j.EVENTS.filter(function(q){return"error"!==q&&"end"!==q});function y(q,G){if(!(this instanceof y))return new y(q,G);R.apply(this),this._parser=new Q(q,G),this.writable=!0,this.readable=!0;var pe=this;this._parser.onend=function(){pe.emit("end")},this._parser.onerror=function(de){pe.emit("error",de),pe._parser.error=null},this._decoder=null,T.forEach(function(de){Object.defineProperty(pe,"on"+de,{get:function(){return pe._parser["on"+de]},set:function(je){if(!je)return pe.removeAllListeners(de),pe._parser["on"+de]=je,je;pe.on(de,je)},enumerable:!0,configurable:!1})})}(y.prototype=Object.create(R.prototype,{constructor:{value:y}})).write=function(q){if("function"==typeof W&&"function"==typeof W.isBuffer&&W.isBuffer(q)){if(!this._decoder){var G=Y("string_decoder").StringDecoder;this._decoder=new G("utf8")}q=this._decoder.write(q)}return this._parser.write(q.toString()),this.emit("data",q),!0},y.prototype.end=function(q){return q&&q.length&&this.write(q),this._parser.end(),!0},y.prototype.on=function(q,G){var pe=this;return!pe._parser["on"+q]&&-1!==T.indexOf(q)&&(pe._parser["on"+q]=function(){var de=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);de.splice(0,0,q),pe.emit.apply(pe,de)}),R.prototype.on.call(pe,q,G)};var z="http://www.w3.org/XML/1998/namespace",P="http://www.w3.org/2000/xmlns/",X={xml:z,xmlns:P},ue=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,I=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,O=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,K=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function E(q){return" "===q||"\n"===q||"\r"===q||"\t"===q}function $(q){return'"'===q||"'"===q}function Z(q){return">"===q||E(q)}function ae(q,G){return q.test(G)}function oe(q,G){return!ae(q,G)}var q,G,pe,te=0;for(var Te in j.STATE={BEGIN:te++,BEGIN_WHITESPACE:te++,TEXT:te++,TEXT_ENTITY:te++,OPEN_WAKA:te++,SGML_DECL:te++,SGML_DECL_QUOTED:te++,DOCTYPE:te++,DOCTYPE_QUOTED:te++,DOCTYPE_DTD:te++,DOCTYPE_DTD_QUOTED:te++,COMMENT_STARTING:te++,COMMENT:te++,COMMENT_ENDING:te++,COMMENT_ENDED:te++,CDATA:te++,CDATA_ENDING:te++,CDATA_ENDING_2:te++,PROC_INST:te++,PROC_INST_BODY:te++,PROC_INST_ENDING:te++,OPEN_TAG:te++,OPEN_TAG_SLASH:te++,ATTRIB:te++,ATTRIB_NAME:te++,ATTRIB_NAME_SAW_WHITE:te++,ATTRIB_VALUE:te++,ATTRIB_VALUE_QUOTED:te++,ATTRIB_VALUE_CLOSED:te++,ATTRIB_VALUE_UNQUOTED:te++,ATTRIB_VALUE_ENTITY_Q:te++,ATTRIB_VALUE_ENTITY_U:te++,CLOSE_TAG:te++,CLOSE_TAG_SAW_WHITE:te++,SCRIPT:te++,SCRIPT_ENDING:te++},j.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},j.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(j.ENTITIES).forEach(function(q){var G=j.ENTITIES[q],pe="number"==typeof G?String.fromCharCode(G):G;j.ENTITIES[q]=pe}),j.STATE)j.STATE[j.STATE[Te]]=Te;function me(q,G,pe){q[G]&&q[G](pe)}function ne(q,G,pe){q.textNode&&ye(q),me(q,G,pe)}function ye(q){q.textNode=Oe(q.opt,q.textNode),q.textNode&&me(q,"ontext",q.textNode),q.textNode=""}function Oe(q,G){return q.trim&&(G=G.trim()),q.normalize&&(G=G.replace(/\s+/g," ")),G}function $e(q,G){return ye(q),q.trackPosition&&(G+="\nLine: "+q.line+"\nColumn: "+q.column+"\nChar: "+q.c),G=new Error(G),q.error=G,me(q,"onerror",G),q}function st(q){return q.sawRoot&&!q.closedRoot&&Qe(q,"Unclosed root tag"),q.state!==te.BEGIN&&q.state!==te.BEGIN_WHITESPACE&&q.state!==te.TEXT&&$e(q,"Unexpected end"),ye(q),q.c="",q.closed=!0,me(q,"onend"),Q.call(q,q.strict,q.opt),q}function Qe(q,G){if("object"!=typeof q||!(q instanceof Q))throw new Error("bad call to strictFail");q.strict&&$e(q,G)}function tt(q){q.strict||(q.tagName=q.tagName[q.looseCase]());var G=q.tags[q.tags.length-1]||q,pe=q.tag={name:q.tagName,attributes:{}};q.opt.xmlns&&(pe.ns=G.ns),q.attribList.length=0,ne(q,"onopentagstart",pe)}function Xe(q,G){var de=q.indexOf(":")<0?["",q]:q.split(":"),je=de[0],_t=de[1];return G&&"xmlns"===q&&(je="xmlns",_t=""),{prefix:je,local:_t}}function ze(q){if(q.strict||(q.attribName=q.attribName[q.looseCase]()),-1!==q.attribList.indexOf(q.attribName)||q.tag.attributes.hasOwnProperty(q.attribName))q.attribName=q.attribValue="";else{if(q.opt.xmlns){var G=Xe(q.attribName,!0),de=G.local;if("xmlns"===G.prefix)if("xml"===de&&q.attribValue!==z)Qe(q,"xml: prefix must be bound to "+z+"\nActual: "+q.attribValue);else if("xmlns"===de&&q.attribValue!==P)Qe(q,"xmlns: prefix must be bound to "+P+"\nActual: "+q.attribValue);else{var je=q.tag,_t=q.tags[q.tags.length-1]||q;je.ns===_t.ns&&(je.ns=Object.create(_t.ns)),je.ns[de]=q.attribValue}q.attribList.push([q.attribName,q.attribValue])}else q.tag.attributes[q.attribName]=q.attribValue,ne(q,"onattribute",{name:q.attribName,value:q.attribValue});q.attribName=q.attribValue=""}}function Le(q,G){if(q.opt.xmlns){var pe=q.tag,de=Xe(q.tagName);pe.prefix=de.prefix,pe.local=de.local,pe.uri=pe.ns[de.prefix]||"",pe.prefix&&!pe.uri&&(Qe(q,"Unbound namespace prefix: "+JSON.stringify(q.tagName)),pe.uri=de.prefix),pe.ns&&(q.tags[q.tags.length-1]||q).ns!==pe.ns&&Object.keys(pe.ns).forEach(function(In){ne(q,"onopennamespace",{prefix:In,uri:pe.ns[In]})});for(var _t=0,pt=q.attribList.length;_t",q.tagName="",void(q.state=te.SCRIPT);ne(q,"onscript",q.script),q.script=""}var G=q.tags.length,pe=q.tagName;q.strict||(pe=pe[q.looseCase]());for(var de=pe;G--&&q.tags[G].name!==de;)Qe(q,"Unexpected close tag");if(G<0)return Qe(q,"Unmatched closing tag: "+q.tagName),q.textNode+="",void(q.state=te.TEXT);q.tagName=pe;for(var _t=q.tags.length;_t-- >G;){var pt=q.tag=q.tags.pop();q.tagName=q.tag.name,ne(q,"onclosetag",q.tagName);var we={};for(var B in pt.ns)we[B]=pt.ns[B];q.opt.xmlns&&pt.ns!==(q.tags[q.tags.length-1]||q).ns&&Object.keys(pt.ns).forEach(function(V){ne(q,"onclosenamespace",{prefix:V,uri:pt.ns[V]})})}0===G&&(q.closedRoot=!0),q.tagName=q.attribValue=q.attribName="",q.attribList.length=0,q.state=te.TEXT}function Me(q){var de,G=q.entity,pe=G.toLowerCase(),je="";return q.ENTITIES[G]?q.ENTITIES[G]:q.ENTITIES[pe]?q.ENTITIES[pe]:("#"===(G=pe).charAt(0)&&("x"===G.charAt(1)?(G=G.slice(2),je=(de=parseInt(G,16)).toString(16)):(G=G.slice(1),je=(de=parseInt(G,10)).toString(10))),G=G.replace(/^0+/,""),isNaN(de)||je.toLowerCase()!==G?(Qe(q,"Invalid character entity"),"&"+q.entity+";"):String.fromCodePoint(de))}function Ue(q,G){"<"===G?(q.state=te.OPEN_WAKA,q.startTagPosition=q.position):E(G)||(Qe(q,"Non-whitespace before first tag."),q.textNode=G,q.state=te.TEXT)}function qe(q,G){var pe="";return G1114111||G(V)!==V)throw RangeError("Invalid code point: "+V);V<=65535?je.push(V):je.push(55296+((V-=65536)>>10),V%1024+56320),(we+1===B||je.length>de)&&(N+=q.apply(null,je),je.length=0)}return N},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:pe,configurable:!0,writable:!0}):String.fromCodePoint=pe)}(void 0===he?this.sax={}:he)}).call(this)}).call(this,Y("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(Y,Se,he){(function(W,j){(function(){!function(k,Q){"use strict";if(!k.setImmediate){var T,H=1,w={},C=!1,R=k.document,K=Object.getPrototypeOf&&Object.getPrototypeOf(k);K=K&&K.setTimeout?K:k,"[object process]"==={}.toString.call(k.process)?T=function(E){W.nextTick(function(){A(E)})}:function(){if(k.postMessage&&!k.importScripts){var E=!0,$=k.onmessage;return k.onmessage=function(){E=!1},k.postMessage("","*"),k.onmessage=$,E}}()?(E="setImmediate$"+Math.random()+"$",$=function(Z){Z.source===k&&"string"==typeof Z.data&&0===Z.data.indexOf(E)&&A(+Z.data.slice(E.length))},k.addEventListener?k.addEventListener("message",$,!1):k.attachEvent("onmessage",$),T=function(Z){k.postMessage(E+Z,"*")}):k.MessageChannel?function(){var E=new MessageChannel;E.port1.onmessage=function($){A($.data)},T=function($){E.port2.postMessage($)}}():R&&"onreadystatechange"in R.createElement("script")?function(){var E=R.documentElement;T=function($){var Z=R.createElement("script");Z.onreadystatechange=function(){A($),Z.onreadystatechange=null,E.removeChild(Z),Z=null},E.appendChild(Z)}}():T=function(E){setTimeout(A,0,E)},K.setImmediate=function(E){"function"!=typeof E&&(E=new Function(""+E));for(var $=new Array(arguments.length-1),Z=0;Z<$.length;Z++)$[Z]=arguments[Z+1];return w[H]={callback:E,args:$},T(H),H++},K.clearImmediate=y}var E,$;function y(E){delete w[E]}function A(E){if(C)setTimeout(A,0,E);else{var $=w[E];if($){C=!0;try{!function(E){var $=E.callback,Z=E.args;switch(Z.length){case 0:$();break;case 1:$(Z[0]);break;case 2:$(Z[0],Z[1]);break;case 3:$(Z[0],Z[1],Z[2]);break;default:$.apply(void 0,Z)}}($)}finally{y(E),C=!1}}}}}("undefined"==typeof self?void 0===j?this:j:self)}).call(this)}).call(this,Y("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:44}],87:[function(Y,Se,he){Se.exports=k;var W=Y("events").EventEmitter;function k(){W.call(this)}Y("inherits")(k,W),k.Readable=Y("readable-stream/lib/_stream_readable.js"),k.Writable=Y("readable-stream/lib/_stream_writable.js"),k.Duplex=Y("readable-stream/lib/_stream_duplex.js"),k.Transform=Y("readable-stream/lib/_stream_transform.js"),k.PassThrough=Y("readable-stream/lib/_stream_passthrough.js"),k.finished=Y("readable-stream/lib/internal/streams/end-of-stream.js"),k.pipeline=Y("readable-stream/lib/internal/streams/pipeline.js"),k.Stream=k,k.prototype.pipe=function(Q,H){var w=this;function C(z){Q.writable&&!1===Q.write(z)&&w.pause&&w.pause()}function R(){w.readable&&w.resume&&w.resume()}w.on("data",C),Q.on("drain",R),!Q._isStdio&&(!H||!1!==H.end)&&(w.on("end",b),w.on("close",y));var T=!1;function b(){T||(T=!0,Q.end())}function y(){T||(T=!0,"function"==typeof Q.destroy&&Q.destroy())}function S(z){if(A(),0===W.listenerCount(this,"error"))throw z}function A(){w.removeListener("data",C),Q.removeListener("drain",R),w.removeListener("end",b),w.removeListener("close",y),w.removeListener("error",S),Q.removeListener("error",S),w.removeListener("end",A),w.removeListener("close",A),Q.removeListener("close",A)}return w.on("error",S),Q.on("error",S),w.on("end",A),w.on("close",A),Q.on("close",A),Q.emit("pipe",w),Q}},{events:8,inherits:10,"readable-stream/lib/_stream_duplex.js":68,"readable-stream/lib/_stream_passthrough.js":69,"readable-stream/lib/_stream_readable.js":70,"readable-stream/lib/_stream_transform.js":71,"readable-stream/lib/_stream_writable.js":72,"readable-stream/lib/internal/streams/end-of-stream.js":76,"readable-stream/lib/internal/streams/pipeline.js":78}],88:[function(Y,Se,he){arguments[4][5][0].apply(he,arguments)},{dup:5,"safe-buffer":84}],89:[function(Y,Se,he){(function(W,j){(function(){var k=Y("process/browser.js").nextTick,Q=Function.prototype.apply,H=Array.prototype.slice,w={},C=0;function R(T,b){this._id=T,this._clearFn=b}he.setTimeout=function(){return new R(Q.call(setTimeout,window,arguments),clearTimeout)},he.setInterval=function(){return new R(Q.call(setInterval,window,arguments),clearInterval)},he.clearTimeout=he.clearInterval=function(T){T.close()},R.prototype.unref=R.prototype.ref=function(){},R.prototype.close=function(){this._clearFn.call(window,this._id)},he.enroll=function(T,b){clearTimeout(T._idleTimeoutId),T._idleTimeout=b},he.unenroll=function(T){clearTimeout(T._idleTimeoutId),T._idleTimeout=-1},he._unrefActive=he.active=function(T){clearTimeout(T._idleTimeoutId);var b=T._idleTimeout;b>=0&&(T._idleTimeoutId=setTimeout(function(){T._onTimeout&&T._onTimeout()},b))},he.setImmediate="function"==typeof W?W:function(T){var b=C++,y=!(arguments.length<2)&&H.call(arguments,1);return w[b]=!0,k(function(){w[b]&&(y?T.apply(null,y):T.call(null),he.clearImmediate(b))}),b},he.clearImmediate="function"==typeof j?j:function(T){delete w[T]}}).call(this)}).call(this,Y("timers").setImmediate,Y("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(Y,Se,he){(function(W){(function(){function k(Q){try{if(!W.localStorage)return!1}catch(w){return!1}var H=W.localStorage[Q];return null!=H&&"true"===String(H).toLowerCase()}Se.exports=function(Q,H){if(k("noDeprecation"))return Q;var w=!1;return function(){if(!w){if(k("throwDeprecation"))throw new Error(H);k("traceDeprecation")?console.trace(H):console.warn(H),w=!0}return Q.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(Y,Se,he){"use strict";Se.exports=function(W){W.prototype[Symbol.iterator]=function*(){for(let j=this.head;j;j=j.next)yield j.value}}},{}],92:[function(Y,Se,he){"use strict";function W(w){var C=this;if(C instanceof W||(C=new W),C.tail=null,C.head=null,C.length=0,w&&"function"==typeof w.forEach)w.forEach(function(b){C.push(b)});else if(arguments.length>0)for(var R=0,T=arguments.length;R1)R=C;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");T=this.head.next,R=this.head.value}for(var b=0;null!==T;b++)R=w(R,T.value,b),T=T.next;return R},W.prototype.reduceReverse=function(w,C){var R,T=this.tail;if(arguments.length>1)R=C;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");T=this.tail.prev,R=this.tail.value}for(var b=this.length-1;null!==T;b--)R=w(R,T.value,b),T=T.prev;return R},W.prototype.toArray=function(){for(var w=new Array(this.length),C=0,R=this.head;null!==R;C++)w[C]=R.value,R=R.next;return w},W.prototype.toArrayReverse=function(){for(var w=new Array(this.length),C=0,R=this.tail;null!==R;C++)w[C]=R.value,R=R.prev;return w},W.prototype.slice=function(w,C){(C=C||this.length)<0&&(C+=this.length),(w=w||0)<0&&(w+=this.length);var R=new W;if(Cthis.length&&(C=this.length);for(var T=0,b=this.head;null!==b&&Tthis.length&&(C=this.length);for(var T=this.length,b=this.tail;null!==b&&T>C;T--)b=b.prev;for(;null!==b&&T>w;T--,b=b.prev)R.push(b.value);return R},W.prototype.splice=function(w,C,...R){w>this.length&&(w=this.length-1),w<0&&(w=this.length+w);for(var T=0,b=this.head;null!==b&&T{"use strict";Ut.exports=et,Ut.exports.default=et;var it=1e20;function et(Y,Se,he,W,j,k){this.fontSize=Y||24,this.buffer=void 0===Se?3:Se,this.cutoff=W||.25,this.fontFamily=j||"sans-serif",this.fontWeight=k||"normal",this.radius=he||8;var Q=this.size=this.fontSize+2*this.buffer,H=Q+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=Q,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(H*H),this.gridInner=new Float64Array(H*H),this.f=new Float64Array(H),this.z=new Float64Array(H+1),this.v=new Uint16Array(H),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(Q/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function Dt(Y,Se,he,W,j,k){for(var Q=0;Q-1);k[++w]=H,Q[w]=C,Q[w+1]=it}for(H=0,w=0;H{Ut.exports=function(et,yt){var ee=yt.length;if(0!==ee){var Dt=et.length;et.length+=ee;for(var dt=0;dt{"use strict";var yt=(()=>{return(Dt=yt||(yt={})).typeOfFunction="function",Dt.boolTrue=!0,yt;var Dt})();function ee(Dt,dt,Y){if(!Y||typeof Y.value!==yt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+dt+"> is not a method!");return{configurable:yt.boolTrue,get:function(){var Se=Y.value.bind(this);return Object.defineProperty(this,dt,{value:Se,configurable:yt.boolTrue,writable:yt.boolTrue}),Se}}}it.ak=ee,it.ZP=ee},7266:(Ut,it,et)=>{Ut.exports={ResizeSensor:et(9835),ElementQueries:et(4845)}},4845:function(Ut,it,et){"use strict";var yt,ee,Dt;"undefined"!=typeof window&&window,ee=[et(9835)],void 0!==(Dt="function"==typeof(yt=function(dt){var Y=function(){var he,W={},j=[];function k(I){I||(I=document.documentElement);var O=window.getComputedStyle(I,null).fontSize;return parseFloat(O)||16}function H(I,O){var K=O.split(/\d/),E=K[K.length-1];switch(O=parseFloat(O),E){case"px":return O;case"em":return O*k(I);case"rem":return O*k();case"vw":return O*document.documentElement.clientWidth/100;case"vh":return O*document.documentElement.clientHeight/100;case"vmin":case"vmax":var $=document.documentElement.clientWidth/100,Z=document.documentElement.clientHeight/100;return O*(0,Math["vmin"===E?"min":"max"])($,Z);default:return O}}function w(I,O){this.element=I;var K,E,$,Z,ae,oe,te,Te,me=["min-width","min-height","max-width","max-height"];this.call=function(){for(K in $=function(I){if(!I.getBoundingClientRect)return{width:I.offsetWidth,height:I.offsetHeight};var O=I.getBoundingClientRect();return{width:Math.round(O.width),height:Math.round(O.height)}}(this.element),oe={},W[O])!W[O].hasOwnProperty(K)||(Z=H(this.element,(E=W[O][K]).value),ae="width"===E.property?$.width:$.height,te="","min"===E.mode&&ae>=Z&&(te+=E.value),"max"===E.mode&&ae<=Z&&(te+=E.value),oe[Te=E.mode+"-"+E.property]||(oe[Te]=""),te&&-1===(" "+oe[Te]+" ").indexOf(" "+te+" ")&&(oe[Te]+=" "+te));for(var ne in me)!me.hasOwnProperty(ne)||(oe[me[ne]]?this.element.setAttribute(me[ne],oe[me[ne]].substr(1)):this.element.removeAttribute(me[ne]))}}function C(I,O){I.elementQueriesSetupInformation||(I.elementQueriesSetupInformation=new w(I,O)),I.elementQueriesSensor||(I.elementQueriesSensor=new dt(I,function(){I.elementQueriesSetupInformation.call()}))}function R(I,O,K,E){if(void 0===W[I]){W[I]=[];var $=j.length;he.innerHTML+="\n"+I+" {animation: 0.1s element-queries;}",he.innerHTML+="\n"+I+" > .resize-sensor {min-width: "+$+"px;}",j.push(I)}W[I].push({mode:O,property:K,value:E})}function T(I){var O;if(document.querySelectorAll&&(O=I?I.querySelectorAll.bind(I):document.querySelectorAll.bind(document)),!O&&"undefined"!=typeof $$&&(O=$$),!O&&"undefined"!=typeof jQuery&&(O=jQuery),!O)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return O}function y(I){var O=[],K=[],E=[],$=0,Z=-1,ae=[];for(var oe in I.children)if(I.children.hasOwnProperty(oe)&&I.children[oe].tagName&&"img"===I.children[oe].tagName.toLowerCase()){O.push(I.children[oe]);var te=I.children[oe].getAttribute("min-width")||I.children[oe].getAttribute("data-min-width"),Te=I.children[oe].getAttribute("data-src")||I.children[oe].getAttribute("url");E.push(Te),K.push({minWidth:te}),te?I.children[oe].style.display="none":($=O.length-1,I.children[oe].style.display="block")}function ne(){var Oe,ye=!1;for(Oe in O)!O.hasOwnProperty(Oe)||K[Oe].minWidth&&I.offsetWidth>K[Oe].minWidth&&(ye=Oe);if(ye||(ye=$),Z!==ye)if(ae[ye])O[Z].style.display="none",O[ye].style.display="block",Z=ye;else{var $e=new Image;$e.onload=function(){O[ye].src=E[ye],O[Z].style.display="none",O[ye].style.display="block",ae[ye]=!0,Z=ye},$e.src=E[ye]}else O[ye].src=E[ye]}Z=$,I.resizeSensorInstance=new dt(I,ne),ne()}var A=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,z=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function P(I){var O,K,E,$;for(I=I.replace(/'/g,'"');null!==(O=A.exec(I));)for(K=O[1]+O[3],E=O[2];null!==($=z.exec(E));)R(K,$[1],$[2],$[3])}function X(I){var O="";if(I)if("string"==typeof I)(-1!==(I=I.toLowerCase()).indexOf("min-width")||-1!==I.indexOf("max-width"))&&P(I);else for(var K=0,E=I.length;K img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",he.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(he),ue=!0);for(var O=0,K=document.styleSheets.length;O{var yt=et(3910),ee=et(9369),Dt=et(322);function dt(Q,H,w){if(!yt(Q))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!Q.hasNode(H))throw new Error('graphology-shortest-path: the "'+H+'" source node does not exist in the given graph.');if(!Q.hasNode(w))throw new Error('graphology-shortest-path: the "'+w+'" target node does not exist in the given graph.');if((H=""+H)==(w=""+w))return[H];var C=Q.inboundNeighbors.bind(Q),R=Q.outboundNeighbors.bind(Q),T={},b={};T[H]=null,b[w]=null;var A,z,P,X,ue,I,O,K,y=[H],S=[w],E=!1;e:for(;y.length&&S.length;)if(y.length<=S.length){for(A=y,y=[],ue=0,O=A.length;ue{Ut.exports=function(et){return null!==et&&"object"==typeof et&&"function"==typeof et.addUndirectedEdgeWithKey&&"function"==typeof et.dropNode&&"boolean"==typeof et.multi}},698:function(Ut){Ut.exports=function(){"use strict";function it(re){return(it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(fe){return typeof fe}:function(fe){return fe&&"function"==typeof Symbol&&fe.constructor===Symbol&&fe!==Symbol.prototype?"symbol":typeof fe})(re)}function et(re,fe){re.prototype=Object.create(fe.prototype),re.prototype.constructor=re,ee(re,fe)}function yt(re){return(yt=Object.setPrototypeOf?Object.getPrototypeOf:function(fe){return fe.__proto__||Object.getPrototypeOf(fe)})(re)}function ee(re,fe){return(ee=Object.setPrototypeOf||function(se,M){return se.__proto__=M,se})(re,fe)}function Dt(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(re){return!1}}function dt(re,fe,se){return(dt=Dt()?Reflect.construct:function(M,L,J){var Ee=[null];Ee.push.apply(Ee,L);var Fe=new(Function.bind.apply(M,Ee));return J&&ee(Fe,J.prototype),Fe}).apply(null,arguments)}function Y(re){var fe="function"==typeof Map?new Map:void 0;return(Y=function(se){if(null===se||-1===Function.toString.call(se).indexOf("[native code]"))return se;if("function"!=typeof se)throw new TypeError("Super expression must either be null or a function");if(void 0!==fe){if(fe.has(se))return fe.get(se);fe.set(se,L)}function L(){return dt(se,arguments,yt(this).constructor)}return L.prototype=Object.create(se.prototype,{constructor:{value:L,enumerable:!1,writable:!0,configurable:!0}}),ee(L,se)})(re)}function Se(re){if(void 0===re)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return re}var he=function(){for(var re=arguments[0],fe=1,se=arguments.length;fe0&&Ee.length>L&&!Ee.warned){Ee.warned=!0;var nt=new Error("Possible EventEmitter memory leak detected. "+Ee.length+" "+String(fe)+" listeners added. Use emitter.setMaxListeners() to increase limit");nt.name="MaxListenersExceededWarning",nt.emitter=re,nt.type=fe,nt.count=Ee.length,console&&console.warn&&console.warn(nt)}return re}function I(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function O(re,fe,se){var M={fired:!1,wrapFn:void 0,target:re,type:fe,listener:se},L=I.bind(M);return L.listener=se,M.wrapFn=L,L}function K(re,fe,se){var M=re._events;if(void 0===M)return[];var L=M[fe];return void 0===L?[]:"function"==typeof L?se?[L.listener||L]:[L]:se?function(J){for(var Ee=new Array(J.length),Fe=0;Fe0&&(J=fe[0]),J instanceof Error)throw J;var Ee=new Error("Unhandled error."+(J?" ("+J.message+")":""));throw Ee.context=J,Ee}var Fe=L[re];if(void 0===Fe)return!1;if("function"==typeof Fe)y(Fe,this,fe);else{var nt=Fe.length,Pt=$(Fe,nt);for(se=0;se=0;J--)if(se[J]===fe||se[J].listener===fe){Ee=se[J].listener,L=J;break}if(L<0)return this;0===L?se.shift():function(Fe,nt){for(;nt+1=0;M--)this.removeListener(re,fe[M]);return this},A.prototype.listeners=function(re){return K(this,re,!0)},A.prototype.rawListeners=function(re){return K(this,re,!1)},A.listenerCount=function(re,fe){return"function"==typeof re.listenerCount?re.listenerCount(fe):E.call(re,fe)},A.prototype.listenerCount=E,A.prototype.eventNames=function(){return this._eventsCount>0?R(this._events):[]},ae.prototype.next=function(){if(this.done)return{done:!0};var re=this._next();return re.done&&(this.done=!0),re},"undefined"!=typeof Symbol&&(ae.prototype[Symbol.iterator]=function(){return this}),ae.of=function(){var re=arguments,fe=re.length,se=0;return new ae(function(){return se>=fe?{done:!0}:{done:!1,value:re[se++]}})},ae.empty=function(){var re=new ae(null);return re.done=!0,re},ae.is=function(re){return re instanceof ae||"object"==typeof re&&null!==re&&"function"==typeof re.next};var oe=ae,te=function(re,fe){for(var se,M=arguments.length>1?fe:1/0,L=M!==1/0?new Array(M):[],J=0;;){if(J===M)return L;if((se=re.next()).done)return J!==fe?L.slice(0,J):L;L[J++]=se.value}},Te=function(re){function fe(se,M){var L;return(L=re.call(this)||this).name="GraphError",L.message=se||"",L.data=M||{},L}return et(fe,re),fe}(Y(Error)),me=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te),ne=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te),ye=function(re){function fe(se,M){var L;return(L=re.call(this,se,M)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Se(L),fe.prototype.constructor),L}return et(fe,re),fe}(Te);function Oe(re,fe){this.key=re,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function $e(re,fe){this.key=re,this.attributes=fe,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function st(re,fe){this.key=re,this.attributes=fe,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function Qe(re,fe,se,M,L,J){this.key=fe,this.attributes=J,this.undirected=re,this.source=M,this.target=L,this.generatedKey=se}function tt(re,fe,se,M,L,J,Ee){var Fe,nt,Pt="out",We="in";if(fe&&(Pt=We="undirected"),re.multi){if(void 0===(nt=(Fe=J[Pt])[L])&&(nt=new Set,Fe[L]=nt),nt.add(se),M===L&&fe)return;void 0===(Fe=Ee[We])[M]&&(Fe[M]=nt)}else{if(J[Pt][L]=se,M===L&&fe)return;Ee[We][M]=se}}function Xe(re,fe,se){var M=re.multi,L=se.source,J=se.target,Ee=L.key,Fe=J.key,nt=L[fe?"undirected":"out"],Pt=fe?"undirected":"in";if(Fe in nt)if(M){var We=nt[Fe];1===We.size?(delete nt[Fe],delete J[Pt][Ee]):We.delete(se)}else delete nt[Fe];M||delete J[Pt][Ee]}$e.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},st.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var ze=[{name:function(re){return"get".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes[L]}}},{name:function(re){return"get".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M){var L;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var J=""+M,Ee=""+arguments[1];if(!(L=W(this,J,Ee,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(J,'" - "').concat(Ee,'").'))}else if(!(L=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&L.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return L.attributes}}},{name:function(re){return"has".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes.hasOwnProperty(L)}}},{name:function(re){return"set".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L,J){var Ee;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+L;if(L=arguments[2],J=arguments[3],!(Ee=W(this,Fe,nt,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(Ee=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&Ee.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return Ee.attributes[L]=J,this.emit("edgeAttributesUpdated",{key:Ee.key,type:"set",attributes:Ee.attributes,name:L}),this}}},{name:function(re){return"update".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L,J){var Ee;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Fe=""+M,nt=""+L;if(L=arguments[2],J=arguments[3],!(Ee=W(this,Fe,nt,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Fe,'" - "').concat(nt,'").'))}else if(!(Ee=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("function"!=typeof J)throw new me("Graph.".concat(fe,": updater should be a function."));if("mixed"!==se&&Ee.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return Ee.attributes[L]=J(Ee.attributes[L]),this.emit("edgeAttributesUpdated",{key:Ee.key,type:"set",attributes:Ee.attributes,name:L}),this}}},{name:function(re){return"remove".concat(re,"Attribute")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return delete J.attributes[L],this.emit("edgeAttributesUpdated",{key:J.key,type:"remove",attributes:J.attributes,name:L}),this}}},{name:function(re){return"replace".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!k(L))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return J.attributes=L,this.emit("edgeAttributesUpdated",{key:J.key,type:"replace",attributes:J.attributes}),this}}},{name:function(re){return"merge".concat(re,"Attributes")},attacher:function(re,fe,se){re.prototype[fe]=function(M,L){var J;if("mixed"!==this.type&&"mixed"!==se&&se!==this.type)throw new ye("Graph.".concat(fe,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ye("Graph.".concat(fe,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var Ee=""+M,Fe=""+L;if(L=arguments[2],!(J=W(this,Ee,Fe,se)))throw new ne("Graph.".concat(fe,': could not find an edge for the given path ("').concat(Ee,'" - "').concat(Fe,'").'))}else if(!(J=this._edges.get(M=""+M)))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" edge in the graph.'));if(!k(L))throw new me("Graph.".concat(fe,": provided attributes are not a plain object."));if("mixed"!==se&&J.undirected!==("undirected"===se))throw new ne("Graph.".concat(fe,': could not find the "').concat(M,'" ').concat(se," edge in the graph."));return he(J.attributes,L),this.emit("edgeAttributesUpdated",{key:J.key,type:"merge",attributes:J.attributes,data:L}),this}}}],Le=oe,Ke=function(){var re,fe=arguments,se=-1;return new Le(function M(){if(!re){if(++se>=fe.length)return{done:!0};re=fe[se]}var L=re.next();return L.done?(re=null,M()):L})},Me=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Ue(re,fe){for(var se in fe)re.push(fe[se].key)}function qe(re,fe){for(var se in fe)fe[se].forEach(function(M){return re.push(M.key)})}function ke(re,fe,se){for(var M in re)if(M!==se){var L=re[M];fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)}}function q(re,fe,se){for(var M in re)M!==se&&re[M].forEach(function(L){return fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)})}function G(re,fe,se){for(var M in re)if(M!==se){var L=re[M];if(fe(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey))return!0}return!1}function pe(re,fe,se){var M,L,J,Ee,Fe;for(var nt in re)if(nt!==se)for(M=re[nt].values();!0!==(L=M.next()).done;)if(Ee=(J=L.value).source,fe(J.key,J.attributes,Ee.key,(Fe=J.target).key,Ee.attributes,Fe.attributes,J.undirected,J.generatedKey))return!0;return!1}function de(re,fe){var se=Object.keys(re),M=se.length,L=null,J=0;return new oe(function Ee(){var Fe;if(L){var nt=L.next();if(nt.done)return L=null,J++,Ee();Fe=nt.value}else{if(J>=M)return{done:!0};var Pt=se[J];if(Pt===fe)return J++,Ee();if((Fe=re[Pt])instanceof Set)return L=Fe.values(),Ee();J++}return{done:!1,value:[Fe.key,Fe.attributes,Fe.source.key,Fe.target.key,Fe.source.attributes,Fe.target.attributes]}})}function je(re,fe,se){var M=fe[se];M&&re.push(M.key)}function _t(re,fe,se){var M=fe[se];M&&M.forEach(function(L){return re.push(L.key)})}function pt(re,fe,se){var M=re[fe];if(M){var L=M.source,J=M.target;se(M.key,M.attributes,L.key,J.key,L.attributes,J.attributes,M.undirected,M.generatedKey)}}function we(re,fe,se){var M=re[fe];M&&M.forEach(function(L){return se(L.key,L.attributes,L.source.key,L.target.key,L.source.attributes,L.target.attributes,L.undirected,L.generatedKey)})}function B(re,fe,se){var M=re[fe];if(M){var L=M.source,J=M.target;return se(M.key,M.attributes,L.key,J.key,L.attributes,J.attributes,M.undirected,M.generatedKey)}}function N(re,fe,se){var M=re[fe];if(M){for(var L,J,Ee=M.values();!0!==(L=Ee.next()).done;)if(se((J=L.value).key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes,J.undirected,J.generatedKey))return!0;return!1}}function V(re,fe){var se=re[fe];if(se instanceof Set){var M=se.values();return new oe(function(){var L=M.next();if(L.done)return L;var J=L.value;return{done:!1,value:[J.key,J.attributes,J.source.key,J.target.key,J.source.attributes,J.target.attributes]}})}return oe.of([se.key,se.attributes,se.source.key,se.target.key,se.source.attributes,se.target.attributes])}function Re(re,fe){if(0===re.size)return[];if("mixed"===fe||fe===re.type)return"function"==typeof Array.from?Array.from(re._edges.keys()):te(re._edges.keys(),re._edges.size);for(var se,M,J=new Array("undirected"===fe?re.undirectedSize:re.directedSize),Ee="undirected"===fe,Fe=re._edges.values(),nt=0;!0!==(se=Fe.next()).done;)(M=se.value).undirected===Ee&&(J[nt++]=M.key);return J}function Ze(re,fe,se){if(0!==re.size)for(var M,L,J="mixed"!==fe&&fe!==re.type,Ee="undirected"===fe,Fe=re._edges.values();!0!==(M=Fe.next()).done;)if(L=M.value,!J||L.undirected===Ee){var qt=L.source,St=L.target;se(L.key,L.attributes,qt.key,St.key,qt.attributes,St.attributes,L.undirected,L.generatedKey)}}function Tt(re,fe,se){if(0!==re.size)for(var M,L,J="mixed"!==fe&&fe!==re.type,Ee="undirected"===fe,Fe=re._edges.values();!0!==(M=Fe.next()).done;)if(L=M.value,!J||L.undirected===Ee){var qt=L.source,St=L.target;if(se(L.key,L.attributes,qt.key,St.key,qt.attributes,St.attributes,L.undirected,L.generatedKey))break}}function kt(re,fe){if(0===re.size)return oe.empty();var se="mixed"!==fe&&fe!==re.type,M="undirected"===fe,L=re._edges.values();return new oe(function(){for(var J,Ee;;){if((J=L.next()).done)return J;if(Ee=J.value,!se||Ee.undirected===M)break}return{value:[Ee.key,Ee.attributes,Ee.source.key,Ee.target.key,Ee.source.attributes,Ee.target.attributes],done:!1}})}function In(re,fe,se,M){var L=[],J=re?qe:Ue;return"undirected"!==fe&&("out"!==se&&J(L,M.in),"in"!==se&&J(L,M.out),!se&&M.directedSelfLoops>0&&L.splice(L.lastIndexOf(M.key),1)),"directed"!==fe&&J(L,M.undirected),L}function Nn(re,fe,se,M,L){var J=re?q:ke;"undirected"!==fe&&("out"!==se&&J(M.in,L),"in"!==se&&J(M.out,L,se?null:M.key)),"directed"!==fe&&J(M.undirected,L)}function Yn(re,fe,se,M,L){var J=re?pe:G;"undirected"!==fe&&("out"!==se&&J(M.in,L)||"in"!==se&&J(M.out,L,se?null:M.key))||"directed"===fe||J(M.undirected,L)}function Mi(re,fe,se){var M=oe.empty();return"undirected"!==re&&("out"!==fe&&void 0!==se.in&&(M=Ke(M,de(se.in))),"in"!==fe&&void 0!==se.out&&(M=Ke(M,de(se.out,fe?null:se.key)))),"directed"!==re&&void 0!==se.undirected&&(M=Ke(M,de(se.undirected))),M}function xi(re,fe,se,M,L){var J=fe?_t:je,Ee=[];return"undirected"!==re&&(void 0!==M.in&&"out"!==se&&J(Ee,M.in,L),void 0!==M.out&&"in"!==se&&J(Ee,M.out,L),!se&&M.directedSelfLoops>0&&Ee.splice(Ee.lastIndexOf(M.key),1)),"directed"!==re&&void 0!==M.undirected&&J(Ee,M.undirected,L),Ee}function Xr(re,fe,se,M,L,J){var Ee=fe?we:pt;"undirected"!==re&&(void 0!==M.in&&"out"!==se&&Ee(M.in,L,J),M.key!==L&&void 0!==M.out&&"in"!==se&&Ee(M.out,L,J)),"directed"!==re&&void 0!==M.undirected&&Ee(M.undirected,L,J)}function Ls(re,fe,se,M,L,J){var Ee=fe?N:B;"undirected"!==re&&(void 0!==M.in&&"out"!==se&&Ee(M.in,L,J)||M.key!==L&&void 0!==M.out&&"in"!==se&&Ee(M.out,L,J,se?null:M.key))||"directed"===re||void 0===M.undirected||Ee(M.undirected,L,J)}function fs(re,fe,se,M){var L=oe.empty();return"undirected"!==re&&(void 0!==se.in&&"out"!==fe&&M in se.in&&(L=Ke(L,V(se.in,M))),void 0!==se.out&&"in"!==fe&&M in se.out&&(L=Ke(L,V(se.out,M)))),"directed"!==re&&void 0!==se.undirected&&M in se.undirected&&(L=Ke(L,V(se.undirected,M))),L}var Bs=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Kr(re,fe){if(void 0!==fe)for(var se in fe)re.add(se)}function xa(re,fe,se){if("mixed"!==re){if("undirected"===re)return Object.keys(se.undirected);if("string"==typeof fe)return Object.keys(se[fe])}var M=new Set;return"undirected"!==re&&("out"!==fe&&Kr(M,se.in),"in"!==fe&&Kr(M,se.out)),"directed"!==re&&Kr(M,se.undirected),te(M.values(),M.size)}function kl(re,fe,se){for(var M in fe){var L=fe[M];L instanceof Set&&(L=L.values().next().value);var J=L.source,Fe=J===re?L.target:J;se(Fe.key,Fe.attributes)}}function Sa(re,fe,se,M){for(var L in se){var J=se[L];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===fe?J.target:Ee;re.has(nt.key)||(re.add(nt.key),M(nt.key,nt.attributes))}}function ws(re,fe,se){for(var M in fe){var L=fe[M];L instanceof Set&&(L=L.values().next().value);var J=L.source,Fe=J===re?L.target:J;if(se(Fe.key,Fe.attributes))return!0}return!1}function en(re,fe,se,M){for(var L in se){var J=se[L];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===fe?J.target:Ee;if(!re.has(nt.key)&&(re.add(nt.key),M(nt.key,nt.attributes)))return!0}return!1}function nl(re,fe){var se=Object.keys(fe),M=se.length,L=0;return new oe(function(){if(L>=M)return{done:!0};var J=fe[se[L++]];J instanceof Set&&(J=J.values().next().value);var Ee=J.source,nt=Ee===re?J.target:Ee;return{done:!1,value:[nt.key,nt.attributes]}})}function rt(re,fe,se){var M=Object.keys(se),L=M.length,J=0;return new oe(function Ee(){if(J>=L)return{done:!0};var Fe=se[M[J++]];Fe instanceof Set&&(Fe=Fe.values().next().value);var nt=Fe.source,We=nt===fe?Fe.target:nt;return re.has(We.key)?Ee():(re.add(We.key),{done:!1,value:[We.key,We.attributes]})})}function lt(re,fe,se,M,L){var J=re._nodes.get(M);if("undirected"!==fe){if("out"!==se&&void 0!==J.in)for(var Ee in J.in)if(Ee===L)return!0;if("in"!==se&&void 0!==J.out)for(var Fe in J.out)if(Fe===L)return!0}if("directed"!==fe&&void 0!==J.undirected)for(var nt in J.undirected)if(nt===L)return!0;return!1}function Be(re,fe,se){for(var M,L,J,Ee,Fe,nt,Pt,We=fe._nodes.values(),qt=fe.type;!0!==(M=We.next()).done;){if(L=M.value,"undirected"!==qt)for(J in Ee=L.out)if(nt=(Fe=Ee[J]).target,Pt=se(L.key,nt.key,L.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),re&&Pt)return;if("directed"!==qt)for(J in Ee=L.undirected)if((nt=(Fe=Ee[J]).target).key!==J&&(nt=Fe.source),Pt=se(L.key,nt.key,L.attributes,nt.attributes,Fe.key,Fe.attributes,Fe.undirected,Fe.generatedKey),re&&Pt)return}}function ut(re,fe,se){for(var M,L,J,Ee,Fe,nt,Pt,We,qt,St=fe._nodes.values(),vn=fe.type;!0!==(M=St.next()).done;){if(L=M.value,"undirected"!==vn)for(J in nt=L.out)for(Ee=nt[J].values();!0!==(Fe=Ee.next()).done;)if(We=(Pt=Fe.value).target,qt=se(L.key,We.key,L.attributes,We.attributes,Pt.key,Pt.attributes,Pt.undirected,Pt.generatedKey),re&&qt)return;if("directed"!==vn)for(J in nt=L.undirected)for(Ee=nt[J].values();!0!==(Fe=Ee.next()).done;)if((We=(Pt=Fe.value).target).key!==J&&(We=Pt.source),qt=se(L.key,We.key,L.attributes,We.attributes,Pt.key,Pt.attributes,Pt.undirected,Pt.generatedKey),re&&qt)return}}function Je(re,fe){var se={key:re};return Q(fe.attributes)||(se.attributes=he({},fe.attributes)),se}function Mt(re,fe){var se={source:fe.source.key,target:fe.target.key};return fe.generatedKey||(se.key=re),Q(fe.attributes)||(se.attributes=he({},fe.attributes)),fe.undirected&&(se.undirected=!0),se}function It(re){return k(re)?"key"in re?!("attributes"in re)||k(re.attributes)&&null!==re.attributes?null:"invalid-attributes":"no-key":"not-object"}function Ot(re){return k(re)?"source"in re?"target"in re?!("attributes"in re)||k(re.attributes)&&null!==re.attributes?"undirected"in re&&"boolean"!=typeof re.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var Qt=new Set(["directed","undirected","mixed"]),zn=new Set(["domain","_events","_eventsCount","_maxListeners"]),ci={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Rn(re,fe,se){var M=new re.NodeDataClass(fe,se);return re._nodes.set(fe,M),re.emit("nodeAdded",{key:fe,attributes:se}),M}function bn(re,fe,se,M,L,J,Ee,Fe){if(!M&&"undirected"===re.type)throw new ye("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===re.type)throw new ye("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe&&!k(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));if(J=""+J,Ee=""+Ee,Fe=Fe||{},!re.allowSelfLoops&&J===Ee)throw new ye("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var nt=re._nodes.get(J),Pt=re._nodes.get(Ee);if(!nt)throw new ne("Graph.".concat(fe,': source node "').concat(J,'" not found.'));if(!Pt)throw new ne("Graph.".concat(fe,': target node "').concat(Ee,'" not found.'));var We={key:null,undirected:M,source:J,target:Ee,attributes:Fe};if(se&&(L=re._edgeKeyGenerator(We)),re._edges.has(L=""+L))throw new ye("Graph.".concat(fe,': the "').concat(L,'" edge already exists in the graph.'));if(!re.multi&&(M?void 0!==nt.undirected[Ee]:void 0!==nt.out[Ee]))throw new ye("Graph.".concat(fe,': an edge linking "').concat(J,'" to "').concat(Ee,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var qt=new Qe(M,L,se,nt,Pt,Fe);return re._edges.set(L,qt),J===Ee?M?(nt.undirectedSelfLoops++,re._undirectedSelfLoopCount++):(nt.directedSelfLoops++,re._directedSelfLoopCount++):M?(nt.undirectedDegree++,Pt.undirectedDegree++):(nt.outDegree++,Pt.inDegree++),tt(re,M,qt,J,Ee,nt,Pt),M?re._undirectedSize++:re._directedSize++,We.key=L,re.emit("edgeAdded",We),L}function Xn(re,fe,se,M,L,J,Ee,Fe,nt){if(!M&&"undirected"===re.type)throw new ye("Graph.".concat(fe,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(M&&"directed"===re.type)throw new ye("Graph.".concat(fe,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(Fe)if(nt){if("function"!=typeof Fe)throw new me("Graph.".concat(fe,': invalid updater function. Expecting a function but got "').concat(Fe,'"'))}else if(!k(Fe))throw new me("Graph.".concat(fe,': invalid attributes. Expecting an object but got "').concat(Fe,'"'));var Pt;if(J=""+J,Ee=""+Ee,nt&&(Pt=Fe,Fe=void 0),!re.allowSelfLoops&&J===Ee)throw new ye("Graph.".concat(fe,': source & target are the same ("').concat(J,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var We,qt,St=re._nodes.get(J),vn=re._nodes.get(Ee);if(!se&&(We=re._edges.get(L))){if(We.source.key!==J||We.target.key!==Ee||M&&(We.source.key!==Ee||We.target.key!==J))throw new ye("Graph.".concat(fe,': inconsistency detected when attempting to merge the "').concat(L,'" edge with "').concat(J,'" source & "').concat(Ee,'" target vs. ("').concat(We.source.key,'", "').concat(We.target.key,'").'));qt=We}if(qt||re.multi||!St||(qt=M?St.undirected[Ee]:St.out[Ee]),qt)return(nt?Pt:Fe)?(nt?(qt.attributes=Pt(qt.attributes),re.emit("edgeAttributesUpdated",{type:"replace",key:qt.key,attributes:qt.attributes})):(he(qt.attributes,Fe),re.emit("edgeAttributesUpdated",{type:"merge",key:qt.key,attributes:qt.attributes,data:Fe})),qt.key):qt.key;Fe=Fe||{},nt&&Pt&&(Fe=Pt(Fe));var Zr={key:null,undirected:M,source:J,target:Ee,attributes:Fe};if(se&&(L=re._edgeKeyGenerator(Zr)),re._edges.has(L=""+L))throw new ye("Graph.".concat(fe,': the "').concat(L,'" edge already exists in the graph.'));return St||(St=Rn(re,J,{}),J===Ee&&(vn=St)),vn||(vn=Rn(re,Ee,{})),We=new Qe(M,L,se,St,vn,Fe),re._edges.set(L,We),J===Ee?M?(St.undirectedSelfLoops++,re._undirectedSelfLoopCount++):(St.directedSelfLoops++,re._directedSelfLoopCount++):M?(St.undirectedDegree++,vn.undirectedDegree++):(St.outDegree++,vn.inDegree++),tt(re,M,We,J,Ee,St,vn),M?re._undirectedSize++:re._directedSize++,Zr.key=L,re.emit("edgeAdded",Zr),L}var re,Cn=function(re){function fe(M){var L;if(L=re.call(this)||this,(M=he({},ci,M)).edgeKeyGenerator&&"function"!=typeof M.edgeKeyGenerator)throw new me("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(M.edgeKeyGenerator,'".'));if("boolean"!=typeof M.multi)throw new me("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(M.multi,'".'));if(!Qt.has(M.type))throw new me('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(M.type,'".'));if("boolean"!=typeof M.allowSelfLoops)throw new me("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(M.allowSelfLoops,'".'));var J,Ee="mixed"===M.type?Oe:"directed"===M.type?$e:st;return H(Se(L),"NodeDataClass",Ee),H(Se(L),"_attributes",{}),H(Se(L),"_nodes",new Map),H(Se(L),"_edges",new Map),H(Se(L),"_directedSize",0),H(Se(L),"_undirectedSize",0),H(Se(L),"_directedSelfLoopCount",0),H(Se(L),"_undirectedSelfLoopCount",0),H(Se(L),"_edgeKeyGenerator",M.edgeKeyGenerator||(J=0,function(){return J++})),H(Se(L),"_options",M),zn.forEach(function(Fe){return H(Se(L),Fe,L[Fe])}),w(Se(L),"order",function(){return L._nodes.size}),w(Se(L),"size",function(){return L._edges.size}),w(Se(L),"directedSize",function(){return L._directedSize}),w(Se(L),"undirectedSize",function(){return L._undirectedSize}),w(Se(L),"selfLoopCount",function(){return L._directedSelfLoopCount+L._undirectedSelfLoopCount}),w(Se(L),"directedSelfLoopCount",function(){return L._directedSelfLoopCount}),w(Se(L),"undirectedSelfLoopCount",function(){return L._undirectedSelfLoopCount}),w(Se(L),"multi",L._options.multi),w(Se(L),"type",L._options.type),w(Se(L),"allowSelfLoops",L._options.allowSelfLoops),w(Se(L),"implementation",function(){return"graphology"}),L}et(fe,re);var se=fe.prototype;return se.hasNode=function(M){return this._nodes.has(""+M)},se.hasDirectedEdge=function(M,L){if("undirected"===this.type)return!1;if(1===arguments.length){var Ee=this._edges.get(""+M);return!!Ee&&!Ee.undirected}if(2===arguments.length){L=""+L;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.out[L];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.hasUndirectedEdge=function(M,L){if("directed"===this.type)return!1;if(1===arguments.length){var Ee=this._edges.get(""+M);return!!Ee&&Ee.undirected}if(2===arguments.length){L=""+L;var Fe=this._nodes.get(M=""+M);if(!Fe)return!1;var nt=Fe.undirected[L];return!(!nt||this.multi&&!nt.size)}throw new me("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.hasEdge=function(M,L){if(1===arguments.length)return this._edges.has(""+M);if(2===arguments.length){L=""+L;var Ee=this._nodes.get(M=""+M);if(!Ee)return!1;var Fe=void 0!==Ee.out&&Ee.out[L];return Fe||(Fe=void 0!==Ee.undirected&&Ee.undirected[L]),!(!Fe||this.multi&&!Fe.size)}throw new me("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},se.directedEdge=function(M,L){if("undirected"!==this.type){if(M=""+M,L=""+L,this.multi)throw new ye("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.directedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.directedEdge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.out&&J.out[L]||void 0;return Ee?Ee.key:void 0}},se.undirectedEdge=function(M,L){if("directed"!==this.type){if(M=""+M,L=""+L,this.multi)throw new ye("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var J=this._nodes.get(M);if(!J)throw new ne('Graph.undirectedEdge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.undirectedEdge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.undirected&&J.undirected[L]||void 0;return Ee?Ee.key:void 0}},se.edge=function(M,L){if(this.multi)throw new ye("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");L=""+L;var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.edge: could not find the "'.concat(M,'" source node in the graph.'));if(!this._nodes.has(L))throw new ne('Graph.edge: could not find the "'.concat(L,'" target node in the graph.'));var Ee=J.out&&J.out[L]||J.undirected&&J.undirected[L]||void 0;if(Ee)return Ee.key},se.inDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.inDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.inDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.inDegree+(L?J.directedSelfLoops:0)},se.outDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.outDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.outDegree: could not find the "'.concat(M,'" node in the graph.'));return"undirected"===this.type?0:J.outDegree+(L?J.directedSelfLoops:0)},se.directedDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.directedDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.directedDegree: could not find the "'.concat(M,'" node in the graph.'));if("undirected"===this.type)return 0;var Ee=L?J.directedSelfLoops:0;return J.inDegree+Ee+(J.outDegree+Ee)},se.undirectedDegree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.undirectedDegree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.undirectedDegree: could not find the "'.concat(M,'" node in the graph.'));return"directed"===this.type?0:J.undirectedDegree+2*(L?J.undirectedSelfLoops:0)},se.degree=function(M){var L=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof L)throw new me('Graph.degree: Expecting a boolean but got "'.concat(L,'" for the second parameter (allowing self-loops to be counted).'));var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.degree: could not find the "'.concat(M,'" node in the graph.'));var Ee=0,Fe=0;return"directed"!==this.type&&(L&&(Fe=J.undirectedSelfLoops),Ee+=J.undirectedDegree+2*Fe),"undirected"!==this.type&&(L&&(Fe=J.directedSelfLoops),Ee+=J.inDegree+J.outDegree+2*Fe),Ee},se.source=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.source: could not find the "'.concat(M,'" edge in the graph.'));return L.source.key},se.target=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.target: could not find the "'.concat(M,'" edge in the graph.'));return L.target.key},se.extremities=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.extremities: could not find the "'.concat(M,'" edge in the graph.'));return[L.source.key,L.target.key]},se.opposite=function(M,L){M=""+M;var J=this._edges.get(L=""+L);if(!J)throw new ne('Graph.opposite: could not find the "'.concat(L,'" edge in the graph.'));var Ee=J.source.key,Fe=J.target.key;if(M!==Ee&&M!==Fe)throw new ne('Graph.opposite: the "'.concat(M,'" node is not attached to the "').concat(L,'" edge (').concat(Ee,", ").concat(Fe,")."));return M===Ee?Fe:Ee},se.hasExtremity=function(M,L){L=""+L;var J=this._edges.get(M=""+M);if(!J)throw new ne('Graph.hasExtremity: could not find the "'.concat(M,'" edge in the graph.'));return J.source.key===L||J.target.key===L},se.isUndirected=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isUndirected: could not find the "'.concat(M,'" edge in the graph.'));return L.undirected},se.isDirected=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isDirected: could not find the "'.concat(M,'" edge in the graph.'));return!L.undirected},se.isSelfLoop=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.isSelfLoop: could not find the "'.concat(M,'" edge in the graph.'));return L.source===L.target},se.hasGeneratedKey=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.hasGeneratedKey: could not find the "'.concat(M,'" edge in the graph.'));return L.generatedKey},se.addNode=function(M,L){return function(J,Ee,Fe){if(Fe&&!k(Fe))throw new me('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(Fe,'"'));if(Fe=Fe||{},J._nodes.has(Ee=""+Ee))throw new ye('Graph.addNode: the "'.concat(Ee,'" node already exist in the graph.'));var nt=new J.NodeDataClass(Ee,Fe);return J._nodes.set(Ee,nt),J.emit("nodeAdded",{key:Ee,attributes:Fe}),nt}(this,M,L).key},se.mergeNode=function(M,L){if(L&&!k(L))throw new me('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(L,'"'));L=L||{};var J=this._nodes.get(M=""+M);return J?(L&&(he(J.attributes,L),this.emit("nodeAttributesUpdated",{type:"merge",key:M,attributes:J.attributes,data:L})),M):(J=new this.NodeDataClass(M,L),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:L}),M)},se.updateNode=function(M,L){if(L&&"function"!=typeof L)throw new me('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(L,'"'));var J=this._nodes.get(M=""+M);if(J)return L&&(J.attributes=L(J.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:M,attributes:J.attributes})),M;var Fe=L?L({}):{};return J=new this.NodeDataClass(M,Fe),this._nodes.set(M,J),this.emit("nodeAdded",{key:M,attributes:Fe}),M},se.dropNode=function(M){var L=this,J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.dropNode: could not find the "'.concat(M,'" node in the graph.'));this.forEachEdge(M,function(Ee){L.dropEdge(Ee)}),this._nodes.delete(M),this.emit("nodeDropped",{key:M,attributes:J.attributes})},se.dropEdge=function(M){var L;if(arguments.length>1){var J=""+arguments[0],Ee=""+arguments[1];if(!(L=W(this,J,Ee,this.type)))throw new ne('Graph.dropEdge: could not find the "'.concat(J,'" -> "').concat(Ee,'" edge in the graph.'))}else if(!(L=this._edges.get(M=""+M)))throw new ne('Graph.dropEdge: could not find the "'.concat(M,'" edge in the graph.'));this._edges.delete(L.key);var nt=L.source,Pt=L.target,We=L.attributes,qt=L.undirected;return nt===Pt?qt?(nt.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(nt.directedSelfLoops--,this._directedSelfLoopCount--):qt?(nt.undirectedDegree--,Pt.undirectedDegree--):(nt.outDegree--,Pt.inDegree--),Xe(this,qt,L),qt?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:M,attributes:We,source:nt.key,target:Pt.key,undirected:qt}),this},se.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},se.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},se.getAttribute=function(M){return this._attributes[M]},se.getAttributes=function(){return this._attributes},se.hasAttribute=function(M){return this._attributes.hasOwnProperty(M)},se.setAttribute=function(M,L){return this._attributes[M]=L,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},se.updateAttribute=function(M,L){if("function"!=typeof L)throw new me("Graph.updateAttribute: updater should be a function.");return this._attributes[M]=L(this._attributes[M]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:M}),this},se.removeAttribute=function(M){return delete this._attributes[M],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:M}),this},se.replaceAttributes=function(M){if(!k(M))throw new me("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=M,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},se.mergeAttributes=function(M){if(!k(M))throw new me("Graph.mergeAttributes: provided attributes are not a plain object.");return he(this._attributes,M),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:M}),this},se.getNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.getNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes[L]},se.getNodeAttributes=function(M){var L=this._nodes.get(M=""+M);if(!L)throw new ne('Graph.getNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));return L.attributes},se.hasNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return J.attributes.hasOwnProperty(L)},se.setNodeAttribute=function(M,L,J){var Ee=this._nodes.get(M=""+M);if(!Ee)throw new ne('Graph.setNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return Ee.attributes[L]=J,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:Ee.attributes,name:L}),this},se.updateNodeAttribute=function(M,L,J){var Ee=this._nodes.get(M=""+M);if(!Ee)throw new ne('Graph.updateNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));if(arguments.length<3)throw new me("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof J)throw new me("Graph.updateAttribute: updater should be a function.");var Fe=Ee.attributes,nt=J(Fe[L]);return Fe[L]=nt,this.emit("nodeAttributesUpdated",{key:M,type:"set",attributes:Ee.attributes,name:L}),this},se.removeNodeAttribute=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.hasNodeAttribute: could not find the "'.concat(M,'" node in the graph.'));return delete J.attributes[L],this.emit("nodeAttributesUpdated",{key:M,type:"remove",attributes:J.attributes,name:L}),this},se.replaceNodeAttributes=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.replaceNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!k(L))throw new me("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return J.attributes=L,this.emit("nodeAttributesUpdated",{key:M,type:"replace",attributes:J.attributes}),this},se.mergeNodeAttributes=function(M,L){var J=this._nodes.get(M=""+M);if(!J)throw new ne('Graph.mergeNodeAttributes: could not find the "'.concat(M,'" node in the graph.'));if(!k(L))throw new me("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return he(J.attributes,L),this.emit("nodeAttributesUpdated",{key:M,type:"merge",attributes:J.attributes,data:L}),this},se.updateEachNodeAttributes=function(M,L){if("function"!=typeof M)throw new me("Graph.updateEachNodeAttributes: expecting an updater function.");if(L&&!C(L))throw new me("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,Ee,Fe=this._nodes.values();!0!==(J=Fe.next()).done;)(Ee=J.value).attributes=M(Ee.key,Ee.attributes);this.emit("eachNodeAttributesUpdated",{hints:L||null})},se.updateEachEdgeAttributes=function(M,L){if("function"!=typeof M)throw new me("Graph.updateEachEdgeAttributes: expecting an updater function.");if(L&&!C(L))throw new me("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var J,Ee,Fe=this._edges.values();!0!==(J=Fe.next()).done;)(Ee=J.value).attributes=M(Ee.key,Ee.attributes);this.emit("eachEdgeAttributesUpdated",{hints:L||null})},se.forEach=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!1,this,M):Be(!1,this,M)},se.forEachUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEach: expecting a callback.");this.multi?ut(!0,this,M):Be(!0,this,M)},se.adjacency=function(){return this.multi?(nt=(M=this)._nodes.values(),Pt=M.type,We="outer",qt=null,new oe(function St(){var vn;if("outer"===We)return!0===(vn=nt.next()).done?vn:(L=vn.value,We="directed",St());if("directed"===We)return"undirected"===Pt?(We="undirected",St()):(Ee=L.out,J=Object.keys(L.out),Fe=0,We="inner-directed",St());if("undirected"===We){if("directed"===Pt)return We="outer",St();Ee=L.undirected,J=Object.keys(L.undirected),Fe=0,We="inner-undirected"}if(!qt&&Fe>=J.length)return We="inner-undirected"===We?"outer":"undirected",St();if(!qt){var Es=J[Fe++];return qt=Ee[Es].values(),St()}if((vn=qt.next()).done)return qt=null,St();var Zr=vn.value,Js=Zr.target;return"inner-undirected"===We&&Js.key===L.key&&(Js=Zr.source),{done:!1,value:[L.key,Js.key,L.attributes,Js.attributes,Zr.key,Zr.attributes]}})):(Fl=(St=this)._nodes.values(),fo=St.type,Br="outer",new oe(function Vs(){var Ac;if("outer"===Br)return!0===(Ac=Fl.next()).done?Ac:(vn=Ac.value,Br="directed",Vs());if("directed"===Br)return"undirected"===fo?(Br="undirected",Vs()):(Zr=vn.out,Es=Object.keys(vn.out),Js=0,Br="inner-directed",Vs());if("undirected"===Br){if("directed"===fo)return Br="outer",Vs();Zr=vn.undirected,Es=Object.keys(vn.undirected),Js=0,Br="inner-undirected"}if(Js>=Es.length)return Br="inner-undirected"===Br?"outer":"undirected",Vs();var xn=Es[Js++],po=Zr[xn],Ll=po.target;return"inner-undirected"===Br&&Ll.key===vn.key&&(Ll=po.source),{done:!1,value:[vn.key,Ll.key,vn.attributes,Ll.attributes,po.key,po.attributes]}}));var St,vn,Es,Zr,Js,Fl,fo,Br,M,L,J,Ee,Fe,nt,Pt,We,qt},se.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):te(this._nodes.keys(),this._nodes.size)},se.forEachNode=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(L,J){M(J,L.attributes)})},se.forEachNodeUntil=function(M){if("function"!=typeof M)throw new me("Graph.forEachNode: expecting a callback.");for(var L,J,Ee=this._nodes.values();!0!==(L=Ee.next())&&!M((J=L.value).key,J.attributes););},se.nodeEntries=function(){var M=this._nodes.values();return new oe(function(){var L=M.next();if(L.done)return L;var J=L.value;return{value:[J.key,J.attributes],done:!1}})},se.exportNode=function(M){var L=this._nodes.get(M=""+M);if(!L)throw new ne('Graph.exportNode: could not find the "'.concat(M,'" node in the graph.'));return Je(M,L)},se.exportEdge=function(M){var L=this._edges.get(M=""+M);if(!L)throw new ne('Graph.exportEdge: could not find the "'.concat(M,'" edge in the graph.'));return Mt(M,L)},se.export=function(){var M=new Array(this._nodes.size),L=0;this._nodes.forEach(function(Ee,Fe){M[L++]=Je(Fe,Ee)});var J=new Array(this._edges.size);return L=0,this._edges.forEach(function(Ee,Fe){J[L++]=Mt(Fe,Ee)}),{attributes:this.getAttributes(),nodes:M,edges:J,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},se.importNode=function(M){var L=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=It(M);if(J){if("not-object"===J)throw new me('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===J)throw new me("Graph.importNode: no key provided.");if("invalid-attributes"===J)throw new me("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var Ee=M.key,Fe=M.attributes,nt=void 0===Fe?{}:Fe;return L?this.mergeNode(Ee,nt):this.addNode(Ee,nt),this},se.importEdge=function(M){var L=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=Ot(M);if(J){if("not-object"===J)throw new me('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===J)throw new me("Graph.importEdge: missing souce.");if("no-target"===J)throw new me("Graph.importEdge: missing target.");if("invalid-attributes"===J)throw new me("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===J)throw new me("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var Ee=M.source,Fe=M.target,nt=M.attributes,Pt=void 0===nt?{}:nt,We=M.undirected,qt=void 0!==We&&We;return"key"in M?(L?qt?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:qt?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,M.key,Ee,Fe,Pt):(L?qt?this.mergeUndirectedEdge:this.mergeDirectedEdge:qt?this.addUndirectedEdge:this.addDirectedEdge).call(this,Ee,Fe,Pt),this},se.import=function(M){var L,J,Ee,Fe=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(j(M))return this.import(M.export(),Fe),this;if(!k(M))throw new me("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(M.attributes){if(!k(M.attributes))throw new me("Graph.import: invalid attributes. Expecting a plain object.");Fe?this.mergeAttributes(M.attributes):this.replaceAttributes(M.attributes)}if(M.nodes){if(Ee=M.nodes,!Array.isArray(Ee))throw new me("Graph.import: invalid nodes. Expecting an array.");for(L=0,J=Ee.length;LJ)){var Pt=new Set;Pt.add(L.undirected[nt]),L.undirected[nt]=Pt,M._nodes.get(nt).undirected[J]=Pt}})),this;var M},se.clearIndex=function(){return this._nodes.forEach(function(M){void 0!==M.in&&(M.in={},M.out={}),void 0!==M.undirected&&(M.undirected={})}),this},se.toJSON=function(){return this.export()},se.toString=function(){return"[object Graph]"},se.inspect=function(){var M=this,L={};this._nodes.forEach(function(Pt,We){L[We]=Pt.attributes});var J={},Ee={};this._edges.forEach(function(Pt,We){var qt=Pt.undirected?"--":"->",St="",vn="(".concat(Pt.source.key,")").concat(qt,"(").concat(Pt.target.key,")");Pt.generatedKey?M.multi&&(void 0===Ee[vn]?Ee[vn]=0:Ee[vn]++,St+="".concat(Ee[vn],". ")):St+="[".concat(We,"]: "),J[St+=vn]=Pt.attributes});var Fe={};for(var nt in this)this.hasOwnProperty(nt)&&!zn.has(nt)&&"function"!=typeof this[nt]&&(Fe[nt]=this[nt]);return Fe.attributes=this._attributes,Fe.nodes=L,Fe.edges=J,H(Fe,"constructor",this.constructor),Fe},fe}(T.exports.EventEmitter);"undefined"!=typeof Symbol&&(Cn.prototype[Symbol.for("nodejs.util.inspect.custom")]=Cn.prototype.inspect),[{name:function(re){return"".concat(re,"Edge")},generateKey:!0},{name:function(re){return"".concat(re,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(re){return"".concat(re,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(re){return"".concat(re,"EdgeWithKey")}},{name:function(re){return"".concat(re,"DirectedEdgeWithKey")},type:"directed"},{name:function(re){return"".concat(re,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(re){["add","merge","update"].forEach(function(fe){var se=re.name(fe),M="add"===fe?bn:Xn;Cn.prototype[se]=re.generateKey?function(L,J,Ee){return M(this,se,!0,"undirected"===(re.type||this.type),null,L,J,Ee,"update"===fe)}:function(L,J,Ee,Fe){return M(this,se,!1,"undirected"===(re.type||this.type),L,J,Ee,Fe,"update"===fe)}})}),"undefined"!=typeof Symbol&&(Cn.prototype[Symbol.iterator]=Cn.prototype.adjacency),re=Cn,ze.forEach(function(fe){var se=fe.name,M=fe.attacher;M(re,se("Edge"),"mixed"),M(re,se("DirectedEdge"),"directed"),M(re,se("UndirectedEdge"),"undirected")}),function(re){Me.forEach(function(fe){var M,L,J,Ee;J=(M=fe).type,Ee=M.direction,re.prototype[L=M.name]=function(Fe,nt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(!arguments.length)return Re(this,J);if(1===arguments.length){var Pt=this._nodes.get(Fe=""+Fe);if(void 0===Pt)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" node in the graph.'));return In(this.multi,"mixed"===J?this.type:J,Ee,Pt)}if(2===arguments.length){nt=""+nt;var We=this._nodes.get(Fe=""+Fe);if(!We)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" source node in the graph.'));if(!this._nodes.has(nt))throw new ne("Graph.".concat(L,': could not find the "').concat(nt,'" target node in the graph.'));return xi(J,this.multi,Ee,We,nt)}throw new me("Graph.".concat(L,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(se,M){var L=M.name,J=M.type,Ee=M.direction,Fe="forEach"+L[0].toUpperCase()+L.slice(1,-1);se.prototype[Fe]=function(nt,Pt,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Ze(this,J,We=nt);if(2===arguments.length){We=Pt;var qt=this._nodes.get(nt=""+nt);if(void 0===qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Nn(this.multi,"mixed"===J?this.type:J,Ee,qt,We)}if(3===arguments.length){Pt=""+Pt;var St=this._nodes.get(nt=""+nt);if(!St)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return Xr(J,this.multi,Ee,St,Pt,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(re,fe),function(se,M){var L=M.name,J=M.type,Ee=M.direction,Fe="forEach"+L[0].toUpperCase()+L.slice(1,-1)+"Until";se.prototype[Fe]=function(nt,Pt,We){if("mixed"===J||"mixed"===this.type||J===this.type){if(1===arguments.length)return Tt(this,J,We=nt);if(2===arguments.length){We=Pt;var qt=this._nodes.get(nt=""+nt);if(void 0===qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Yn(this.multi,"mixed"===J?this.type:J,Ee,qt,We)}if(3===arguments.length){Pt=""+Pt;var St=this._nodes.get(nt=""+nt);if(!St)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return Ls(J,this.multi,Ee,St,Pt,We)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(re,fe),function(se,M){var J=M.type,Ee=M.direction,Fe=M.name.slice(0,-1)+"Entries";se.prototype[Fe]=function(nt,Pt){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return oe.empty();if(!arguments.length)return kt(this,J);if(1===arguments.length){var We=this._nodes.get(nt=""+nt);if(!We)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" node in the graph.'));return Mi(J,Ee,We)}if(2===arguments.length){Pt=""+Pt;var qt=this._nodes.get(nt=""+nt);if(!qt)throw new ne("Graph.".concat(Fe,': could not find the "').concat(nt,'" source node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(Fe,': could not find the "').concat(Pt,'" target node in the graph.'));return fs(J,Ee,qt,Pt)}throw new me("Graph.".concat(Fe,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(re,fe)})}(Cn),function(re){Bs.forEach(function(fe){var M,L,J,Ee;J=(M=fe).type,Ee=M.direction,re.prototype[L=M.name]=function(Fe){if("mixed"!==J&&"mixed"!==this.type&&J!==this.type)return[];if(2===arguments.length){var nt=""+arguments[0],Pt=""+arguments[1];if(!this._nodes.has(nt))throw new ne("Graph.".concat(L,': could not find the "').concat(nt,'" node in the graph.'));if(!this._nodes.has(Pt))throw new ne("Graph.".concat(L,': could not find the "').concat(Pt,'" node in the graph.'));return lt(this,J,Ee,nt,Pt)}if(1===arguments.length){var We=this._nodes.get(Fe=""+Fe);if(void 0===We)throw new ne("Graph.".concat(L,': could not find the "').concat(Fe,'" node in the graph.'));return xa("mixed"===J?this.type:J,Ee,We)}throw new me("Graph.".concat(L,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(re,fe){var se=fe.name,M=fe.type,L=fe.direction,J="forEach"+se[0].toUpperCase()+se.slice(1,-1);re.prototype[J]=function(Ee,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(Ee=""+Ee);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));!function(Pt,We,qt,St){if("mixed"!==Pt){if("undirected"===Pt)return kl(qt,qt.undirected,St);if("string"==typeof We)return kl(qt,qt[We],St)}var vn=new Set;"undirected"!==Pt&&("out"!==We&&Sa(vn,qt,qt.in,St),"in"!==We&&Sa(vn,qt,qt.out,St)),"directed"!==Pt&&Sa(vn,qt,qt.undirected,St)}("mixed"===M?this.type:M,L,nt,Fe)}}}(re,fe),function(re,fe){var se=fe.name,M=fe.type,L=fe.direction,J="forEach"+se[0].toUpperCase()+se.slice(1,-1)+"Until";re.prototype[J]=function(Ee,Fe){if("mixed"===M||"mixed"===this.type||M===this.type){var nt=this._nodes.get(Ee=""+Ee);if(void 0===nt)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));!function(Pt,We,qt,St){if("mixed"!==Pt){if("undirected"===Pt)return ws(qt,qt.undirected,St);if("string"==typeof We)return ws(qt,qt[We],St)}var vn=new Set;"undirected"!==Pt&&("out"!==We&&en(vn,qt,qt.in,St)||"in"!==We&&en(vn,qt,qt.out,St))||"directed"===Pt||en(vn,qt,qt.undirected,St)}("mixed"===M?this.type:M,L,nt,Fe)}}}(re,fe),function(re,fe){var M=fe.type,L=fe.direction,J=fe.name.slice(0,-1)+"Entries";re.prototype[J]=function(Ee){if("mixed"!==M&&"mixed"!==this.type&&M!==this.type)return oe.empty();var Fe=this._nodes.get(Ee=""+Ee);if(void 0===Fe)throw new ne("Graph.".concat(J,': could not find the "').concat(Ee,'" node in the graph.'));return function(nt,Pt,We){if("mixed"!==nt){if("undirected"===nt)return nl(We,We.undirected);if("string"==typeof Pt)return nl(We,We[Pt])}var qt=oe.empty(),St=new Set;return"undirected"!==nt&&("out"!==Pt&&(qt=Ke(qt,rt(St,We,We.in))),"in"!==Pt&&(qt=Ke(qt,rt(St,We,We.out)))),"directed"!==nt&&(qt=Ke(qt,rt(St,We,We.undirected))),qt}("mixed"===M?this.type:M,L,Fe)}}(re,fe)})}(Cn);var rr=function(re){function fe(se){var M=he({type:"directed"},se);if("multi"in M&&!1!==M.multi)throw new me("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==M.type)throw new me('DirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Cn),sr=function(re){function fe(se){var M=he({type:"undirected"},se);if("multi"in M&&!1!==M.multi)throw new me("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==M.type)throw new me('UndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Cn),Qn=function(re){function fe(se){var M=he({multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return re.call(this,M)||this}return et(fe,re),fe}(Cn),Wi=function(re){function fe(se){var M=he({type:"directed",multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==M.type)throw new me('MultiDirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Cn),Ca=function(re){function fe(se){var M=he({type:"undirected",multi:!0},se);if("multi"in M&&!0!==M.multi)throw new me("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==M.type)throw new me('MultiUndirectedGraph.from: inconsistent "'+M.type+'" type in given options!');return re.call(this,M)||this}return et(fe,re),fe}(Cn);function Qr(re){re.from=function(fe,se){var M=he({},fe.options,se),L=new re(M);return L.import(fe),L}}return Qr(Cn),Qr(rr),Qr(sr),Qr(Qn),Qr(Wi),Qr(Ca),Cn.Graph=Cn,Cn.DirectedGraph=rr,Cn.UndirectedGraph=sr,Cn.MultiGraph=Qn,Cn.MultiDirectedGraph=Wi,Cn.MultiUndirectedGraph=Ca,Cn.InvalidArgumentsGraphError=me,Cn.NotFoundGraphError=ne,Cn.UsageGraphError=ye,Cn}()},1524:(Ut,it,et)=>{var yt;!function(ee,Dt,dt,Y){"use strict";var T,Se=["","webkit","Moz","MS","ms","o"],he=Dt.createElement("div"),j=Math.round,k=Math.abs,Q=Date.now;function H(be,De,Ge){return setTimeout(A(be,Ge),De)}function w(be,De,Ge){return!!Array.isArray(be)&&(C(be,Ge[De],Ge),!0)}function C(be,De,Ge){var vt;if(be)if(be.forEach)be.forEach(De,Ge);else if(be.length!==Y)for(vt=0;vt\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",ui=ee.console&&(ee.console.warn||ee.console.log);return ui&&ui.call(ee.console,vt,Xt),be.apply(this,arguments)}}T="function"!=typeof Object.assign?function(De){if(De===Y||null===De)throw new TypeError("Cannot convert undefined or null to object");for(var Ge=Object(De),vt=1;vt-1}function K(be){return be.trim().split(/\s+/g)}function E(be,De,Ge){if(be.indexOf&&!Ge)return be.indexOf(De);for(var vt=0;vtxs[De]}):vt.sort()),vt}function ae(be,De){for(var Ge,vt,$t=De[0].toUpperCase()+De.slice(1),Xt=0;Xt1&&!Ge.firstMultiple?Ge.firstMultiple=Tt(De):1===$t&&(Ge.firstMultiple=!1);var Xt=Ge.firstInput,ui=Ge.firstMultiple,Vr=ui?ui.center:Xt.center,Jr=De.center=kt(vt);De.timeStamp=Q(),De.deltaTime=De.timeStamp-Xt.timeStamp,De.angle=Mi(Vr,Jr),De.distance=Yn(Vr,Jr),function(be,De){var Ge=De.center,vt=be.offsetDelta||{},$t=be.prevDelta||{},Xt=be.prevInput||{};(1===De.eventType||4===Xt.eventType)&&($t=be.prevDelta={x:Xt.deltaX||0,y:Xt.deltaY||0},vt=be.offsetDelta={x:Ge.x,y:Ge.y}),De.deltaX=$t.x+(Ge.x-vt.x),De.deltaY=$t.y+(Ge.y-vt.y)}(Ge,De),De.offsetDirection=Nn(De.deltaX,De.deltaY);var xs=In(De.deltaTime,De.deltaX,De.deltaY);De.overallVelocityX=xs.x,De.overallVelocityY=xs.y,De.overallVelocity=k(xs.x)>k(xs.y)?xs.x:xs.y,De.scale=ui?function(be,De){return Yn(De[0],De[1],pt)/Yn(be[0],be[1],pt)}(ui.pointers,vt):1,De.rotation=ui?function(be,De){return Mi(De[1],De[0],pt)+Mi(be[1],be[0],pt)}(ui.pointers,vt):0,De.maxPointers=Ge.prevInput?De.pointers.length>Ge.prevInput.maxPointers?De.pointers.length:Ge.prevInput.maxPointers:De.pointers.length,function(be,De){var $t,Xt,ui,Vr,Ge=be.lastInterval||De,vt=De.timeStamp-Ge.timeStamp;if(8!=De.eventType&&(vt>25||Ge.velocity===Y)){var Jr=De.deltaX-Ge.deltaX,xs=De.deltaY-Ge.deltaY,Zn=In(vt,Jr,xs);Xt=Zn.x,ui=Zn.y,$t=k(Zn.x)>k(Zn.y)?Zn.x:Zn.y,Vr=Nn(Jr,xs),be.lastInterval=De}else $t=Ge.velocity,Xt=Ge.velocityX,ui=Ge.velocityY,Vr=Ge.direction;De.velocity=$t,De.velocityX=Xt,De.velocityY=ui,De.direction=Vr}(Ge,De);var Zn=be.element;I(De.srcEvent.target,Zn)&&(Zn=De.srcEvent.target),De.target=Zn}(be,Ge),be.emit("hammer.input",Ge),be.recognize(Ge),be.session.prevInput=Ge}function Tt(be){for(var De=[],Ge=0;Ge=k(De)?be<0?2:4:De<0?8:16}function Yn(be,De,Ge){Ge||(Ge=_t);var vt=De[Ge[0]]-be[Ge[0]],$t=De[Ge[1]]-be[Ge[1]];return Math.sqrt(vt*vt+$t*$t)}function Mi(be,De,Ge){return Ge||(Ge=_t),180*Math.atan2(De[Ge[1]]-be[Ge[1]],De[Ge[0]]-be[Ge[0]])/Math.PI}we.prototype={handler:function(){},init:function(){this.evEl&&X(this.element,this.evEl,this.domHandler),this.evTarget&&X(this.target,this.evTarget,this.domHandler),this.evWin&&X(Te(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&ue(this.element,this.evEl,this.domHandler),this.evTarget&&ue(this.target,this.evTarget,this.domHandler),this.evWin&&ue(Te(this.element),this.evWin,this.domHandler)}};var Ls={mousedown:1,mousemove:2,mouseup:4},fs="mousedown",Bs="mousemove mouseup";function Kr(){this.evEl=fs,this.evWin=Bs,this.pressed=!1,we.apply(this,arguments)}S(Kr,we,{handler:function(De){var Ge=Ls[De.type];1&Ge&&0===De.button&&(this.pressed=!0),2&Ge&&1!==De.which&&(Ge=4),this.pressed&&(4&Ge&&(this.pressed=!1),this.callback(this.manager,Ge,{pointers:[De],changedPointers:[De],pointerType:Qe,srcEvent:De}))}});var xa={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},kl={2:$e,3:"pen",4:Qe,5:"kinect"},Sa="pointerdown",ws="pointermove pointerup pointercancel";function en(){this.evEl=Sa,this.evWin=ws,we.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}ee.MSPointerEvent&&!ee.PointerEvent&&(Sa="MSPointerDown",ws="MSPointerMove MSPointerUp MSPointerCancel"),S(en,we,{handler:function(De){var Ge=this.store,vt=!1,$t=De.type.toLowerCase().replace("ms",""),Xt=xa[$t],ui=kl[De.pointerType]||De.pointerType,Vr=ui==$e,Jr=E(Ge,De.pointerId,"pointerId");1&Xt&&(0===De.button||Vr)?Jr<0&&(Ge.push(De),Jr=Ge.length-1):12&Xt&&(vt=!0),!(Jr<0)&&(Ge[Jr]=De,this.callback(this.manager,Xt,{pointers:Ge,changedPointers:[De],pointerType:ui,srcEvent:De}),vt&&Ge.splice(Jr,1))}});var nl={touchstart:1,touchmove:2,touchend:4,touchcancel:8},rt="touchstart",lt="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=rt,this.evWin=lt,this.started=!1,we.apply(this,arguments)}function ge(be,De){var Ge=$(be.touches),vt=$(be.changedTouches);return 12&De&&(Ge=Z(Ge.concat(vt),"identifier",!0)),[Ge,vt]}S(ht,we,{handler:function(De){var Ge=nl[De.type];if(1===Ge&&(this.started=!0),this.started){var vt=ge.call(this,De,Ge);12&Ge&&vt[0].length-vt[1].length==0&&(this.started=!1),this.callback(this.manager,Ge,{pointers:vt[0],changedPointers:vt[1],pointerType:$e,srcEvent:De})}}});var ve={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Be="touchstart touchmove touchend touchcancel";function ut(){this.evTarget=Be,this.targetIds={},we.apply(this,arguments)}function Je(be,De){var Ge=$(be.touches),vt=this.targetIds;if(3&De&&1===Ge.length)return vt[Ge[0].identifier]=!0,[Ge,Ge];var $t,Xt,ui=$(be.changedTouches),Vr=[],Jr=this.target;if(Xt=Ge.filter(function(xs){return I(xs.target,Jr)}),1===De)for($t=0;$t-1&&vt.splice(Xt,1)},2500)}}function ci(be){for(var De=be.srcEvent.clientX,Ge=be.srcEvent.clientY,vt=0;vt-1&&this.requireFail.splice(De,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(be){return!!this.simultaneous[be.id]},emit:function(be){var De=this,Ge=this.state;function vt($t){De.manager.emit($t,be)}Ge<8&&vt(De.options.event+We(Ge)),vt(De.options.event),be.additionalEvent&&vt(be.additionalEvent),Ge>=8&&vt(De.options.event+We(Ge))},tryEmit:function(be){if(this.canEmit())return this.emit(be);this.state=32},canEmit:function(){for(var be=0;beDe.threshold&&$t&De.direction},attrTest:function(be){return vn.prototype.attrTest.call(this,be)&&(2&this.state||!(2&this.state)&&this.directionTest(be))},emit:function(be){this.pX=be.deltaX,this.pY=be.deltaY;var De=qt(be.direction);De&&(be.additionalEvent=this.options.event+De),this._super.emit.call(this,be)}}),S(Zr,vn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[sr]},attrTest:function(be){return this._super.attrTest.call(this,be)&&(Math.abs(be.scale-1)>this.options.threshold||2&this.state)},emit:function(be){1!==be.scale&&(be.additionalEvent=this.options.event+(be.scale<1?"in":"out")),this._super.emit.call(this,be)}}),S(Js,Pt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(be){var De=this.options,Ge=be.pointers.length===De.pointers,vt=be.distanceDe.time;if(this._input=be,!vt||!Ge||12&be.eventType&&!$t)this.reset();else if(1&be.eventType)this.reset(),this._timer=H(function(){this.state=8,this.tryEmit()},De.time,this);else if(4&be.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(be){8===this.state&&(be&&4&be.eventType?this.manager.emit(this.options.event+"up",be):(this._input.timeStamp=Q(),this.manager.emit(this.options.event,this._input)))}}),S(Fl,vn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[sr]},attrTest:function(be){return this._super.attrTest.call(this,be)&&(Math.abs(be.rotation)>this.options.threshold||2&this.state)}}),S(fo,vn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Es.prototype.getTouchAction.call(this)},attrTest:function(be){var Ge,De=this.options.direction;return 30&De?Ge=be.overallVelocity:6&De?Ge=be.overallVelocityX:24&De&&(Ge=be.overallVelocityY),this._super.attrTest.call(this,be)&&De&be.offsetDirection&&be.distance>this.options.threshold&&be.maxPointers==this.options.pointers&&k(Ge)>this.options.velocity&&4&be.eventType},emit:function(be){var De=qt(be.offsetDirection);De&&this.manager.emit(this.options.event+De,be),this.manager.emit(this.options.event,be)}}),S(Br,Pt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[rr]},process:function(be){var De=this.options,Ge=be.pointers.length===De.pointers,vt=be.distance"']/g,ws=RegExp(kl.source),en=RegExp(Sa.source),nl=/<%-([\s\S]+?)%>/g,rt=/<%([\s\S]+?)%>/g,lt=/<%=([\s\S]+?)%>/g,ht=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ge=/^\w*$/,ve=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Be=/[\\^$.*+?()[\]{}|]/g,ut=RegExp(Be.source),Je=/^\s+/,Mt=/\s/,It=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ot=/\{\n\/\* \[wrapped with (.+)\] \*/,Qt=/,? & /,zn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ci=/[()=,{}\[\]\/\s]/,Rn=/\\(\\)?/g,bn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Xn=/\w*$/,Cn=/^[-+]0x[0-9a-f]+$/i,rr=/^0b[01]+$/i,sr=/^\[object .+?Constructor\]$/,Qn=/^0o[0-7]+$/i,Wi=/^(?:0|[1-9]\d*)$/,Ca=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qr=/($^)/,re=/['\n\r\u2028\u2029\\]/g,fe="\\ud800-\\udfff",J="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ee="\\u2700-\\u27bf",Fe="a-z\\xdf-\\xf6\\xf8-\\xff",St="A-Z\\xc0-\\xd6\\xd8-\\xde",vn="\\ufe0e\\ufe0f",Es="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Js="["+fe+"]",Fl="["+Es+"]",fo="["+J+"]",Br="\\d+",Vs="["+Ee+"]",Ac="["+Fe+"]",xn="[^"+fe+Es+Br+Ee+Fe+St+"]",po="\\ud83c[\\udffb-\\udfff]",Ta="[^"+fe+"]",Ed="(?:\\ud83c[\\udde6-\\uddff]){2}",be="[\\ud800-\\udbff][\\udc00-\\udfff]",De="["+St+"]",vt="(?:"+Ac+"|"+xn+")",$t="(?:"+De+"|"+xn+")",Xt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",ui="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Vr="(?:"+fo+"|"+po+")?",Jr="["+vn+"]?",C1=Jr+Vr+"(?:\\u200d(?:"+[Ta,Ed,be].join("|")+")"+Jr+Vr+")*",xd="(?:"+[Vs,Ed,be].join("|")+")"+C1,er="(?:"+[Ta+fo+"?",fo,Ed,be,Js].join("|")+")",fp=RegExp("['\u2019]","g"),n_=RegExp(fo,"g"),Oh=RegExp(po+"(?="+po+")|"+er+C1,"g"),iv=RegExp([De+"?"+Ac+"+"+Xt+"(?="+[Fl,De,"$"].join("|")+")",$t+"+"+ui+"(?="+[Fl,De+vt,"$"].join("|")+")",De+"?"+vt+"+"+Xt,De+"+"+ui,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Br,xd].join("|"),"g"),T1=RegExp("[\\u200d"+fe+J+vn+"]"),Bl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Rh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],A1=-1,rn={};rn[kt]=rn[In]=rn[Nn]=rn[Yn]=rn[Mi]=rn[xi]=rn[Xr]=rn[Ls]=rn[fs]=!0,rn[Qe]=rn[tt]=rn[Ze]=rn[ze]=rn[Tt]=rn[Le]=rn[Me]=rn[Ue]=rn[ke]=rn[q]=rn[pe]=rn[_t]=rn[pt]=rn[we]=rn[V]=!1;var or={};or[Qe]=or[tt]=or[Ze]=or[Tt]=or[ze]=or[Le]=or[kt]=or[In]=or[Nn]=or[Yn]=or[Mi]=or[ke]=or[q]=or[pe]=or[_t]=or[pt]=or[we]=or[B]=or[xi]=or[Xr]=or[Ls]=or[fs]=!0,or[Me]=or[Ue]=or[V]=!1;var tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},M1=parseFloat,av=parseInt,Nt="object"==typeof global&&global&&global.Object===Object&&global,js="object"==typeof self&&self&&self.Object===Object&&self,Ui=Nt||js||Function("return this")(),Vl=it&&!it.nodeType&&it,Aa=Vl&&Ut&&!Ut.nodeType&&Ut,No=Aa&&Aa.exports===Vl,i_=No&&Nt.process,xr=function(){try{return Aa&&Aa.require&&Aa.require("util").types||i_&&i_.binding&&i_.binding("util")}catch(Rt){}}(),an=xr&&xr.isArrayBuffer,hi=xr&&xr.isDate,ur=xr&&xr.isMap,go=xr&&xr.isRegExp,Mc=xr&&xr.isSet,ss=xr&&xr.isTypedArray;function os(at,Rt,Ct){switch(Ct.length){case 0:return at.call(Rt);case 1:return at.call(Rt,Ct[0]);case 2:return at.call(Rt,Ct[0],Ct[1]);case 3:return at.call(Rt,Ct[0],Ct[1],Ct[2])}return at.apply(Rt,Ct)}function jr(at,Rt,Ct,hn){for(var Mn=-1,Li=null==at?0:at.length;++Mn-1}function Ph(at,Rt,Ct){for(var hn=-1,Mn=null==at?0:at.length;++hn-1;);return Ct}function R1(at,Rt){for(var Ct=at.length;Ct--&&il(Rt,at[Ct],0)>-1;);return Ct}function rF(at,Rt){for(var Ct=at.length,hn=0;Ct--;)at[Ct]===Rt&&++hn;return hn}var sF=Jo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),oF=Jo({"&":"&","<":"<",">":">",'"':""","'":"'"});function aF(at){return"\\"+tn[at]}function Fh(at){return T1.test(at)}function cv(at){var Rt=-1,Ct=Array(at.size);return at.forEach(function(hn,Mn){Ct[++Rt]=[Mn,hn]}),Ct}function P1(at,Rt){return function(Ct){return at(Rt(Ct))}}function xu(at,Rt){for(var Ct=-1,hn=at.length,Mn=0,Li=[];++Ct",""":'"',"'":"'"}),Bh=function at(Rt){var d,Ct=(Rt=null==Rt?Ui:Bh.defaults(Ui.Object(),Rt,Bh.pick(Ui,Rh))).Array,hn=Rt.Date,Mn=Rt.Error,Li=Rt.Function,es=Rt.Math,Yi=Rt.Object,u_=Rt.RegExp,d_=Rt.String,Ia=Rt.TypeError,dr=Ct.prototype,Su=Yi.prototype,gp=Rt["__core-js_shared__"],Sr=Li.prototype.toString,Xi=Su.hasOwnProperty,fF=0,Vh=(d=/[^.]+$/.exec(gp&&gp.keys&&gp.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",eo=Su.toString,F1=Sr.call(Yi),h_=Ui._,Dd=u_("^"+Sr.call(Xi).replace(Be,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zs=No?Rt.Buffer:ee,Ul=Rt.Symbol,Id=Rt.Uint8Array,hv=zs?zs.allocUnsafe:ee,Oa=P1(Yi.getPrototypeOf,Yi),f_=Yi.create,mp=Su.propertyIsEnumerable,Ln=dr.splice,L1=Ul?Ul.isConcatSpreadable:ee,jh=Ul?Ul.iterator:ee,Cu=Ul?Ul.toStringTag:ee,_p=function(){try{var d=jc(Yi,"defineProperty");return d({},"",{}),d}catch(p){}}(),fv=Rt.clearTimeout!==Ui.clearTimeout&&Rt.clearTimeout,B1=hn&&hn.now!==Ui.Date.now&&hn.now,V1=Rt.setTimeout!==Ui.setTimeout&&Rt.setTimeout,Vt=es.ceil,Si=es.floor,_r=Yi.getOwnPropertySymbols,as=zs?zs.isBuffer:ee,p_=Rt.isFinite,Uh=dr.join,sl=P1(Yi.keys,Yi),zr=es.max,ps=es.min,pF=hn.now,j1=Rt.parseInt,zh=es.random,yp=dr.reverse,Cs=jc(Rt,"DataView"),mo=jc(Rt,"Map"),bp=jc(Rt,"Promise"),Ra=jc(Rt,"Set"),Fo=jc(Rt,"WeakMap"),Hh=jc(Yi,"create"),Gh=Fo&&new Fo,Od={},U1=Lu(Cs),g_=Lu(mo),m_=Lu(bp),pv=Lu(Ra),__=Lu(Fo),vp=Ul?Ul.prototype:ee,Rd=vp?vp.valueOf:ee,$h=vp?vp.toString:ee;function xe(d){if(Ar(d)&&!On(d)&&!(d instanceof fi)){if(d instanceof Lo)return d;if(Xi.call(d,"__wrapped__"))return sf(d)}return new Lo(d)}var Tu=function(){function d(){}return function(p){if(!Tr(p))return{};if(f_)return f_(p);d.prototype=p;var _=new d;return d.prototype=ee,_}}();function Wh(){}function Lo(d,p){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!p,this.__index__=0,this.__values__=ee}function fi(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ye,this.__views__=[]}function _o(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function zl(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function ol(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var F=d[p];this.set(F[0],F[1])}}function Pa(d){var p=-1,_=null==d?0:d.length;for(this.__data__=new ol;++p<_;)this.add(d[p])}function Na(d){var p=this.__data__=new zl(d);this.size=p.size}function Yh(d,p){var _=On(d),F=!_&&gl(d),le=!_&&!F&&ml(d),Ae=!_&&!F&&!le&&df(d),He=_||F||le||Ae,Ye=He?Md(d.length,d_):[],ct=Ye.length;for(var Ft in d)(p||Xi.call(d,Ft))&&(!He||!("length"==Ft||le&&("offset"==Ft||"parent"==Ft)||Ae&&("buffer"==Ft||"byteLength"==Ft||"byteOffset"==Ft)||jo(Ft,ct)))&&Ye.push(Ft);return Ye}function w_(d){var p=d.length;return p?d[Hl(0,p-1)]:ee}function yv(d,p){return qd(no(d),Au(p,0,d.length))}function Pd(d){return qd(no(d))}function E_(d,p,_){(_!==ee&&!Dn(d[p],_)||_===ee&&!(p in d))&&ll(d,p,_)}function al(d,p,_){var F=d[p];(!Xi.call(d,p)||!Dn(F,_)||_===ee&&!(p in d))&&ll(d,p,_)}function Nd(d,p){for(var _=d.length;_--;)if(Dn(d[_][0],p))return _;return-1}function Cp(d,p,_,F){return Pc(d,function(le,Ae,He){p(F,le,_(le),He)}),F}function Q1(d,p){return d&&Fa(p,Is(p),d)}function ll(d,p,_){"__proto__"==p&&_p?_p(d,p,{configurable:!0,enumerable:!0,value:_,writable:!0}):d[p]=_}function x_(d,p){for(var _=-1,F=p.length,le=Ct(F),Ae=null==d;++_=p?d:p)),d}function Hs(d,p,_,F,le,Ae){var He,Ye=1&p,ct=2&p,Ft=4&p;if(_&&(He=le?_(d,F,le,Ae):_(d)),He!==ee)return He;if(!Tr(d))return d;var Lt=On(d);if(Lt){if(He=function(d){var p=d.length,_=new d.constructor(p);return p&&"string"==typeof d[0]&&Xi.call(d,"index")&&(_.index=d.index,_.input=d.input),_}(d),!Ye)return no(d,He)}else{var Gt=$s(d),nn=Gt==Ue||Gt==qe;if(ml(d))return Pp(d,Ye);if(Gt==pe||Gt==Qe||nn&&!le){if(He=ct||nn?{}:Uv(d),!Ye)return ct?function(d,p){return Fa(d,Bv(d),p)}(d,function(d,p){return d&&Fa(p,ro(p),d)}(He,d)):function(d,p){return Fa(d,V_(d),p)}(d,Q1(He,d))}else{if(!or[Gt])return le?d:{};He=function(d,p,_){var F=d.constructor;switch(p){case Ze:return Pu(d);case ze:case Le:return new F(+d);case Tt:return function(d,p){var _=p?Pu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}(d,_);case kt:case In:case Nn:case Yn:case Mi:case xi:case Xr:case Ls:case fs:return N_(d,_);case ke:return new F;case q:case we:return new F(d);case _t:return function(d){var p=new d.constructor(d.source,Xn.exec(d));return p.lastIndex=d.lastIndex,p}(d);case pt:return new F;case B:return function(d){return Rd?Yi(Rd.call(d)):{}}(d)}}(d,Gt,Ye)}}Ae||(Ae=new Na);var wn=Ae.get(d);if(wn)return wn;Ae.set(d,He),yA(d)?d.forEach(function(Bn){He.add(Hs(Bn,p,_,Bn,d,Ae))}):pA(d)&&d.forEach(function(Bn,mi){He.set(mi,Hs(Bn,p,_,mi,d,Ae))});var gi=Lt?ee:(Ft?ct?L_:ql:ct?ro:Is)(d);return Us(gi||d,function(Bn,mi){gi&&(Bn=d[mi=Bn]),al(He,mi,Hs(Bn,p,_,mi,d,Ae))}),He}function Tp(d,p,_){var F=_.length;if(null==d)return!F;for(d=Yi(d);F--;){var le=_[F],He=d[le];if(He===ee&&!(le in d)||!(0,p[le])(He))return!1}return!0}function Xh(d,p,_){if("function"!=typeof d)throw new Ia(Se);return nf(function(){d.apply(ee,_)},p)}function Rc(d,p,_,F){var le=-1,Ae=jl,He=!0,Ye=d.length,ct=[],Ft=p.length;if(!Ye)return ct;_&&(p=qi(p,ta(_))),F?(Ae=Ph,He=!1):p.length>=200&&(Ae=kh,He=!1,p=new Pa(p));e:for(;++le-1},zl.prototype.set=function(d,p){var _=this.__data__,F=Nd(_,d);return F<0?(++this.size,_.push([d,p])):_[F][1]=p,this},ol.prototype.clear=function(){this.size=0,this.__data__={hash:new _o,map:new(mo||zl),string:new _o}},ol.prototype.delete=function(d){var p=Gs(this,d).delete(d);return this.size-=p?1:0,p},ol.prototype.get=function(d){return Gs(this,d).get(d)},ol.prototype.has=function(d){return Gs(this,d).has(d)},ol.prototype.set=function(d,p){var _=Gs(this,d),F=_.size;return _.set(d,p),this.size+=_.size==F?0:1,this},Pa.prototype.add=Pa.prototype.push=function(d){return this.__data__.set(d,W),this},Pa.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.clear=function(){this.__data__=new zl,this.size=0},Na.prototype.delete=function(d){var p=this.__data__,_=p.delete(d);return this.size=p.size,_},Na.prototype.get=function(d){return this.__data__.get(d)},Na.prototype.has=function(d){return this.__data__.has(d)},Na.prototype.set=function(d,p){var _=this.__data__;if(_ instanceof zl){var F=_.__data__;if(!mo||F.length<199)return F.push([d,p]),this.size=++_.size,this;_=this.__data__=new ol(F)}return _.set(d,p),this.size=_.size,this};var Pc=dl(cl),C_=dl(Ap,!0);function vv(d,p){var _=!0;return Pc(d,function(F,le,Ae){return _=!!p(F,le,Ae)}),_}function Kh(d,p,_){for(var F=-1,le=d.length;++F0&&_(Ye)?p>1?Ts(Ye,p-1,_,F,le):Ur(le,Ye):F||(le[le.length]=Ye)}return le}var kd=Dv(),Fd=Dv(!0);function cl(d,p){return d&&kd(d,p,Is)}function Ap(d,p){return d&&Fd(d,p,Is)}function Qh(d,p){return Ma(p,function(_){return ua(d[_])})}function na(d,p){for(var _=0,F=(p=Lc(p,d)).length;null!=d&&_p}function Ld(d,p){return null!=d&&Xi.call(d,p)}function Bd(d,p){return null!=d&&p in Yi(d)}function Mu(d,p,_){for(var F=_?Ph:jl,le=d[0].length,Ae=d.length,He=Ae,Ye=Ct(Ae),ct=1/0,Ft=[];He--;){var Lt=d[He];He&&p&&(Lt=qi(Lt,ta(p))),ct=ps(Lt.length,ct),Ye[He]=!_&&(p||le>=120&&Lt.length>=120)?new Pa(He&&Lt):ee}Lt=d[0];var Gt=-1,nn=Ye[0];e:for(;++Gt=Ye?ct:ct*("desc"==_[F]?-1:1)}return d.index-p.index}(Ae,He,_)});Ct--;)at[Ct]=at[Ct].value;return at}(nT(d,function(Ae,He,Ye){return{criteria:qi(p,function(Ft){return Ft(Ae)}),index:++F,value:Ae}}))}function Cv(d,p,_){for(var F=-1,le=p.length,Ae={};++F-1;)Ye!==d&&Ln.call(Ye,ct,1),Ln.call(d,ct,1);return d}function Jh(d,p){for(var _=d?p.length:0,F=_-1;_--;){var le=p[_];if(_==F||le!==Ae){var Ae=le;jo(le)?Ln.call(d,le,1):Iu(d,le)}}return d}function Hl(d,p){return d+Si(zh()*(p-d+1))}function Dp(d,p){var _="";if(!d||p<1||p>Te)return _;do{p%2&&(_+=d),(p=Si(p/2))&&(d+=d)}while(p);return _}function pi(d,p){return Hp(yT(d,p,so),d+"")}function rT(d){return w_(nh(d))}function xF(d,p){var _=nh(d);return qd(_,Au(p,0,_.length))}function Ip(d,p,_,F){if(!Tr(d))return d;for(var le=-1,Ae=(p=Lc(p,d)).length,He=Ae-1,Ye=d;null!=Ye&&++lele?0:le+p),(_=_>le?le:_)<0&&(_+=le),le=p>_?0:_-p>>>0,p>>>=0;for(var Ae=Ct(le);++F>>1,He=d[Ae];null!==He&&!da(He)&&(_?He<=p:He=200){var Ft=p?null:F_(d);if(Ft)return a_(Ft);He=!1,le=kh,ct=new Pa}else ct=p?[]:Ye;e:for(;++F=F?d:Ms(d,p,_)}var aT=fv||function(d){return Ui.clearTimeout(d)};function Pp(d,p){if(p)return d.slice();var _=d.length,F=hv?hv(_):new d.constructor(_);return d.copy(F),F}function Pu(d){var p=new d.constructor(d.byteLength);return new Id(p).set(new Id(d)),p}function N_(d,p){var _=p?Pu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function Bc(d,p){if(d!==p){var _=d!==ee,F=null===d,le=d==d,Ae=da(d),He=p!==ee,Ye=null===p,ct=p==p,Ft=da(p);if(!Ye&&!Ft&&!Ae&&d>p||Ae&&He&&ct&&!Ye&&!Ft||F&&He&&ct||!_&&ct||!le)return 1;if(!F&&!Ae&&!Ft&&d1?_[le-1]:ee,He=le>2?_[2]:ee;for(Ae=d.length>3&&"function"==typeof Ae?(le--,Ae):ee,He&&Ws(_[0],_[1],He)&&(Ae=le<3?ee:Ae,le=1),p=Yi(p);++F-1?le[Ae?p[He]:He]:ee}}function ku(d){return hl(function(p){var _=p.length,F=_,le=Lo.prototype.thru;for(d&&p.reverse();F--;){var Ae=p[F];if("function"!=typeof Ae)throw new Ia(Se);if(le&&!He&&"wrapper"==jp(Ae))var He=new Lo([],!0)}for(F=He?F:_;++F<_;){var Ye=jp(Ae=p[F]),ct="wrapper"==Ye?B_(Ae):ee;He=ct&&Up(ct[0])&&424==ct[1]&&!ct[4].length&&1==ct[9]?He[jp(ct[0])].apply(He,ct[3]):1==Ae.length&&Up(Ae)?He[Ye]():He.thru(Ae)}return function(){var Ft=arguments,Lt=Ft[0];if(He&&1==Ft.length&&On(Lt))return He.plant(Lt).value();for(var Gt=0,nn=_?p[Gt].apply(this,Ft):Lt;++Gt<_;)nn=p[Gt].call(this,nn);return nn}})}function Vc(d,p,_,F,le,Ae,He,Ye,ct,Ft){var Lt=p&X,Gt=1&p,nn=2&p,wn=24&p,Fn=512&p,gi=nn?ee:Gd(d);return function Bn(){for(var mi=arguments.length,Di=Ct(mi),wo=mi;wo--;)Di[wo]=arguments[wo];if(wn)var qs=Wd(Bn),ha=rF(Di,qs);if(F&&(Di=zd(Di,F,le,wn)),Ae&&(Di=Mv(Di,Ae,He,wn)),mi-=ha,wn&&mi1&&Di.reverse(),Lt&&ctYe))return!1;var Ft=Ae.get(d),Lt=Ae.get(p);if(Ft&&Lt)return Ft==p&&Lt==d;var Gt=-1,nn=!0,wn=2&_?new Pa:ee;for(Ae.set(d,p),Ae.set(p,d);++Gt-1&&d%1==0&&d1?"& ":"")+p[F],p=p.join(_>2?", ":" "),d.replace(It,"{\n/* [wrapped with "+p+"] */\n")}(F,function(d,p){return Us(st,function(_){var F="_."+_[0];p&_[1]&&!jl(d,F)&&d.push(F)}),d.sort()}(function(d){var p=d.match(Ot);return p?p[1].split(Qt):[]}(F),_)))}function $_(d){var p=0,_=0;return function(){var F=pF(),le=16-(F-_);if(_=F,le>0){if(++p>=800)return arguments[0]}else p=0;return d.apply(ee,arguments)}}function qd(d,p){var _=-1,F=d.length,le=F-1;for(p=p===ee?F:p;++_1?d[p-1]:ee;return _="function"==typeof _?(d.pop(),_):ee,HT(d,_)});function ty(d){var p=xe(d);return p.__chain__=!0,p}function Xd(d,p){return p(d)}var ny=hl(function(d){var p=d.length,_=p?d[0]:0,F=this.__wrapped__,le=function(Ae){return x_(Ae,d)};return!(p>1||this.__actions__.length)&&F instanceof fi&&jo(_)?((F=F.slice(_,+_+(p?1:0))).__actions__.push({func:Xd,args:[le],thisArg:ee}),new Lo(F,this.__chain__).thru(function(Ae){return p&&!Ae.length&&Ae.push(ee),Ae})):this.thru(le)}),WT=ts(function(d,p,_){Xi.call(d,_)?++d[_]:ll(d,_,1)}),KT=Ov(q_),QT=Ov(Y_);function oy(d,p){return(On(d)?Us:Pc)(d,kn(p,3))}function Wp(d,p){return(On(d)?Sd:C_)(d,kn(p,3))}var JT=ts(function(d,p,_){Xi.call(d,_)?d[_].push(p):ll(d,_,[p])}),cw=pi(function(d,p,_){var F=-1,le="function"==typeof p,Ae=bo(d)?Ct(d.length):[];return Pc(d,function(He){Ae[++F]=le?os(p,He,_):ka(He,p,_)}),Ae}),uw=ts(function(d,p,_){ll(d,_,p)});function pl(d,p){return(On(d)?qi:nT)(d,kn(p,3))}var hw=ts(function(d,p,_){d[_?0:1].push(p)},function(){return[[],[]]}),Yp=pi(function(d,p){if(null==d)return[];var _=p.length;return _>1&&Ws(d,p[0],p[1])?p=[]:_>2&&Ws(p[0],p[1],p[2])&&(p=[p[0]]),Zh(d,Ts(p,1),[])}),Bu=B1||function(){return Ui.Date.now()};function Xp(d,p,_){return p=_?ee:p,Wl(d,X,ee,ee,ee,ee,p=d&&null==p?d.length:p)}function ly(d,p){var _;if("function"!=typeof p)throw new Ia(Se);return d=ti(d),function(){return--d>0&&(_=p.apply(this,arguments)),d<=1&&(p=ee),_}}var cf=pi(function(d,p,_){var F=1;if(_.length){var le=xu(_,Wd(cf));F|=z}return Wl(d,F,p,_,le)}),Qd=pi(function(d,p,_){var F=3;if(_.length){var le=xu(_,Wd(Qd));F|=z}return Wl(p,F,d,_,le)});function bw(d,p,_){var F,le,Ae,He,Ye,ct,Ft=0,Lt=!1,Gt=!1,nn=!0;if("function"!=typeof d)throw new Ia(Se);function wn(Gi){var bl=F,Gc=le;return F=le=ee,Ft=Gi,He=d.apply(Gc,bl)}function Fn(Gi){return Ft=Gi,Ye=nf(mi,p),Lt?wn(Gi):He}function Bn(Gi){var bl=Gi-ct;return ct===ee||bl>=p||bl<0||Gt&&Gi-Ft>=Ae}function mi(){var Gi=Bu();if(Bn(Gi))return Di(Gi);Ye=nf(mi,function(Gi){var aM=p-(Gi-ct);return Gt?ps(aM,Ae-(Gi-Ft)):aM}(Gi))}function Di(Gi){return Ye=ee,nn&&F?wn(Gi):(F=le=ee,He)}function ha(){var Gi=Bu(),bl=Bn(Gi);if(F=arguments,le=this,ct=Gi,bl){if(Ye===ee)return Fn(ct);if(Gt)return aT(Ye),Ye=nf(mi,p),wn(ct)}return Ye===ee&&(Ye=nf(mi,p)),He}return p=vo(p)||0,Tr(_)&&(Lt=!!_.leading,Ae=(Gt="maxWait"in _)?zr(vo(_.maxWait)||0,p):Ae,nn="trailing"in _?!!_.trailing:nn),ha.cancel=function(){Ye!==ee&&aT(Ye),Ft=0,F=ct=le=Ye=ee},ha.flush=function(){return Ye===ee?He:Di(Bu())},ha}var iA=pi(function(d,p){return Xh(d,1,p)}),vw=pi(function(d,p,_){return Xh(d,vo(p)||0,_)});function uf(d,p){if("function"!=typeof d||null!=p&&"function"!=typeof p)throw new Ia(Se);var _=function(){var F=arguments,le=p?p.apply(this,F):F[0],Ae=_.cache;if(Ae.has(le))return Ae.get(le);var He=d.apply(this,F);return _.cache=Ae.set(le,He)||Ae,He};return _.cache=new(uf.Cache||ol),_}function dy(d){if("function"!=typeof d)throw new Ia(Se);return function(){var p=arguments;switch(p.length){case 0:return!d.call(this);case 1:return!d.call(this,p[0]);case 2:return!d.call(this,p[0],p[1]);case 3:return!d.call(this,p[0],p[1],p[2])}return!d.apply(this,p)}}uf.Cache=ol;var rA=oT(function(d,p){var _=(p=1==p.length&&On(p[0])?qi(p[0],ta(kn())):qi(Ts(p,1),ta(kn()))).length;return pi(function(F){for(var le=-1,Ae=ps(F.length,_);++le=p}),gl=Z1(function(){return arguments}())?Z1:function(d){return Ar(d)&&Xi.call(d,"callee")&&!mp.call(d,"callee")},On=Ct.isArray,Tw=an?ta(an):function(d){return Ar(d)&&As(d)==Ze};function bo(d){return null!=d&&fy(d.length)&&!ua(d)}function Cr(d){return Ar(d)&&bo(d)}var ml=as||Fy,Aw=hi?ta(hi):function(d){return Ar(d)&&As(d)==Le};function Ba(d){if(!Ar(d))return!1;var p=As(d);return p==Me||"[object DOMException]"==p||"string"==typeof d.message&&"string"==typeof d.name&&!Jp(d)}function ua(d){if(!Tr(d))return!1;var p=As(d);return p==Ue||p==qe||"[object AsyncFunction]"==p||"[object Proxy]"==p}function Zp(d){return"number"==typeof d&&d==ti(d)}function fy(d){return"number"==typeof d&&d>-1&&d%1==0&&d<=Te}function Tr(d){var p=typeof d;return null!=d&&("object"==p||"function"==p)}function Ar(d){return null!=d&&"object"==typeof d}var pA=ur?ta(ur):function(d){return Ar(d)&&$s(d)==ke};function _A(d){return"number"==typeof d||Ar(d)&&As(d)==q}function Jp(d){if(!Ar(d)||As(d)!=pe)return!1;var p=Oa(d);if(null===p)return!0;var _=Xi.call(p,"constructor")&&p.constructor;return"function"==typeof _&&_ instanceof _&&Sr.call(_)==F1}var Ow=go?ta(go):function(d){return Ar(d)&&As(d)==_t},yA=Mc?ta(Mc):function(d){return Ar(d)&&$s(d)==pt};function gy(d){return"string"==typeof d||!On(d)&&Ar(d)&&As(d)==we}function da(d){return"symbol"==typeof d||Ar(d)&&As(d)==B}var df=ss?ta(ss):function(d){return Ar(d)&&fy(d.length)&&!!rn[As(d)]},Uc=Lp(Sv),my=Lp(function(d,p){return d<=p});function Rw(d){if(!d)return[];if(bo(d))return gy(d)?rl(d):no(d);if(jh&&d[jh])return function(at){for(var Rt,Ct=[];!(Rt=at.next()).done;)Ct.push(Rt.value);return Ct}(d[jh]());var p=$s(d);return(p==ke?cv:p==pt?a_:nh)(d)}function _l(d){return d?(d=vo(d))===te||d===-te?17976931348623157e292*(d<0?-1:1):d==d?d:0:0===d?d:0}function ti(d){var p=_l(d),_=p%1;return p==p?_?p-_:p:0}function _y(d){return d?Au(ti(d),0,ye):0}function vo(d){if("number"==typeof d)return d;if(da(d))return NaN;if(Tr(d)){var p="function"==typeof d.valueOf?d.valueOf():d;d=Tr(p)?p+"":p}if("string"!=typeof d)return 0===d?d:+d;d=lv(d);var _=rr.test(d);return _||Qn.test(d)?av(d.slice(2),_?2:8):Cn.test(d)?NaN:+d}function Pw(d){return Fa(d,ro(d))}function Hi(d){return null==d?"":Vo(d)}var bA=Gl(function(d,p){if(zp(p)||bo(p))Fa(p,Is(p),d);else for(var _ in p)Xi.call(p,_)&&al(d,_,p[_])}),vA=Gl(function(d,p){Fa(p,ro(p),d)}),Zd=Gl(function(d,p,_,F){Fa(p,ro(p),d,F)}),wA=Gl(function(d,p,_,F){Fa(p,Is(p),d,F)}),Nw=hl(x_),xA=pi(function(d,p){d=Yi(d);var _=-1,F=p.length,le=F>2?p[2]:ee;for(le&&Ws(p[0],p[1],le)&&(F=1);++_1),Ae}),Fa(d,L_(d),_),F&&(_=Hs(_,7,Bp));for(var le=p.length;le--;)Iu(_,p[le]);return _}),MA=hl(function(d,p){return null==d?{}:function(d,p){return Cv(d,p,function(_,F){return eg(d,F)})}(d,p)});function Uw(d,p){if(null==d)return{};var _=qi(L_(d),function(F){return[F]});return p=kn(p),Cv(d,_,function(F,le){return p(F,le[0])})}var DA=Fu(Is),Hw=Fu(ro);function nh(d){return null==d?[]:o_(d,Is(d))}var NA=$l(function(d,p,_){return p=p.toLowerCase(),d+(_?wy(p):p)});function wy(d){return ig(Hi(d).toLowerCase())}function Ey(d){return(d=Hi(d))&&d.replace(Ca,sF).replace(n_,"")}var FA=$l(function(d,p,_){return d+(_?"-":"")+p.toLowerCase()}),LA=$l(function(d,p,_){return d+(_?" ":"")+p.toLowerCase()}),GF=Np("toLowerCase"),zA=$l(function(d,p,_){return d+(_?"_":"")+p.toLowerCase()}),Cy=$l(function(d,p,_){return d+(_?" ":"")+ig(p)}),Xw=$l(function(d,p,_){return d+(_?" ":"")+p.toUpperCase()}),ig=Np("toUpperCase");function Dy(d,p,_){return d=Hi(d),(p=_?ee:p)===ee?function(at){return Bl.test(at)}(d)?function(at){return at.match(iv)||[]}(d):function(at){return at.match(zn)||[]}(d):d.match(p)||[]}var Iy=pi(function(d,p){try{return os(d,ee,p)}catch(_){return Ba(_)?_:new Mn(_)}}),Kw=hl(function(d,p){return Us(p,function(_){_=si(_),ll(d,_,cf(d[_],d))}),d});function Oy(d){return function(){return d}}var WF=ku(),Vu=ku(!0);function so(d){return d}function ju(d){return tT("function"==typeof d?d:Hs(d,1))}var Ry=pi(function(d,p){return function(_){return ka(_,d,p)}}),Qw=pi(function(d,p){return function(_){return ka(d,_,p)}});function Py(d,p,_){var F=Is(p),le=Qh(p,F);null==_&&(!Tr(p)||!le.length&&F.length)&&(_=p,p=d,d=this,le=Qh(p,Is(p)));var Ae=!(Tr(_)&&"chain"in _&&!_.chain),He=ua(d);return Us(le,function(Ye){var ct=p[Ye];d[Ye]=ct,He&&(d.prototype[Ye]=function(){var Ft=this.__chain__;if(Ae||Ft){var Lt=d(this.__wrapped__),Gt=Lt.__actions__=no(this.__actions__);return Gt.push({func:ct,args:arguments,thisArg:d}),Lt.__chain__=Ft,Lt}return ct.apply(d,Ur([this.value()],arguments))})}),d}function Ny(){}var XA=kp(qi),KA=kp(ri),Jw=kp(ko);function Uu(d){return oa(d)?r_(si(d)):function(d){return function(p){return na(p,d)}}(d)}var QA=Pv(),ZA=Pv(!0);function Hc(){return[]}function Fy(){return!1}var Hn=k_(function(d,p){return d+p},0),Ly=$d("ceil"),YF=k_(function(d,p){return d/p},1),Kl=$d("floor"),iE=k_(function(d,p){return d*p},1),rE=$d("round"),sE=k_(function(d,p){return d-p},0);return xe.after=function(d,p){if("function"!=typeof p)throw new Ia(Se);return d=ti(d),function(){if(--d<1)return p.apply(this,arguments)}},xe.ary=Xp,xe.assign=bA,xe.assignIn=vA,xe.assignInWith=Zd,xe.assignWith=wA,xe.at=Nw,xe.before=ly,xe.bind=cf,xe.bindAll=Kw,xe.bindKey=Qd,xe.castArray=function(){if(!arguments.length)return[];var d=arguments[0];return On(d)?d:[d]},xe.chain=ty,xe.chunk=function(d,p,_){p=(_?Ws(d,p,_):p===ee)?1:zr(ti(p),0);var F=null==d?0:d.length;if(!F||p<1)return[];for(var le=0,Ae=0,He=Ct(Vt(F/p));lele?0:le+_),(F=F===ee||F>le?le:ti(F))<0&&(F+=le),F=_>F?0:_y(F);_>>0)?(d=Hi(d))&&("string"==typeof p||null!=p&&!Ow(p))&&!(p=Vo(p))&&Fh(d)?ul(rl(d),0,_):d.split(p,_):[]},xe.spread=function(d,p){if("function"!=typeof d)throw new Ia(Se);return p=null==p?0:zr(ti(p),0),pi(function(_){var F=_[p],le=ul(_,0,p);return F&&Ur(le,F),os(d,this,le)})},xe.tail=function(d){var p=null==d?0:d.length;return p?Ms(d,1,p):[]},xe.take=function(d,p,_){return d&&d.length?Ms(d,0,(p=_||p===ee?1:ti(p))<0?0:p):[]},xe.takeRight=function(d,p,_){var F=null==d?0:d.length;return F?Ms(d,(p=F-(p=_||p===ee?1:ti(p)))<0?0:p,F):[]},xe.takeRightWhile=function(d,p){return d&&d.length?Ou(d,kn(p,3),!1,!0):[]},xe.takeWhile=function(d,p){return d&&d.length?Ou(d,kn(p,3)):[]},xe.tap=function(d,p){return p(d),d},xe.throttle=function(d,p,_){var F=!0,le=!0;if("function"!=typeof d)throw new Ia(Se);return Tr(_)&&(F="leading"in _?!!_.leading:F,le="trailing"in _?!!_.trailing:le),bw(d,p,{leading:F,maxWait:p,trailing:le})},xe.thru=Xd,xe.toArray=Rw,xe.toPairs=DA,xe.toPairsIn=Hw,xe.toPath=function(d){return On(d)?qi(d,si):da(d)?[d]:no($v(Hi(d)))},xe.toPlainObject=Pw,xe.transform=function(d,p,_){var F=On(d),le=F||ml(d)||df(d);if(p=kn(p,4),null==_){var Ae=d&&d.constructor;_=le?F?new Ae:[]:Tr(d)&&ua(Ae)?Tu(Oa(d)):{}}return(le?Us:cl)(d,function(He,Ye,ct){return p(_,He,Ye,ct)}),_},xe.unary=function(d){return Xp(d,1)},xe.union=tw,xe.unionBy=jT,xe.unionWith=UT,xe.uniq=function(d){return d&&d.length?kc(d):[]},xe.uniqBy=function(d,p){return d&&d.length?kc(d,kn(p,2)):[]},xe.uniqWith=function(d,p){return p="function"==typeof p?p:ee,d&&d.length?kc(d,ee,p):[]},xe.unset=function(d,p){return null==d||Iu(d,p)},xe.unzip=nw,xe.unzipWith=HT,xe.update=function(d,p,_){return null==d?d:Op(d,p,P_(_))},xe.updateWith=function(d,p,_,F){return F="function"==typeof F?F:ee,null==d?d:Op(d,p,P_(_),F)},xe.values=nh,xe.valuesIn=function(d){return null==d?[]:o_(d,ro(d))},xe.without=iw,xe.words=Dy,xe.wrap=function(d,p){return Kp(P_(p),d)},xe.xor=PF,xe.xorBy=Uo,xe.xorWith=J_,xe.zip=ey,xe.zipObject=function(d,p){return Rp(d||[],p||[],al)},xe.zipObjectDeep=function(d,p){return Rp(d||[],p||[],Ip)},xe.zipWith=lf,xe.entries=DA,xe.entriesIn=Hw,xe.extend=vA,xe.extendWith=Zd,Py(xe,xe),xe.add=Hn,xe.attempt=Iy,xe.camelCase=NA,xe.capitalize=wy,xe.ceil=Ly,xe.clamp=function(d,p,_){return _===ee&&(_=p,p=ee),_!==ee&&(_=(_=vo(_))==_?_:0),p!==ee&&(p=(p=vo(p))==p?p:0),Au(vo(d),p,_)},xe.clone=function(d){return Hs(d,4)},xe.cloneDeep=function(d){return Hs(d,5)},xe.cloneDeepWith=function(d,p){return Hs(d,5,p="function"==typeof p?p:ee)},xe.cloneWith=function(d,p){return Hs(d,4,p="function"==typeof p?p:ee)},xe.conformsTo=function(d,p){return null==p||Tp(d,p,Is(p))},xe.deburr=Ey,xe.defaultTo=function(d,p){return null==d||d!=d?p:d},xe.divide=YF,xe.endsWith=function(d,p,_){d=Hi(d),p=Vo(p);var F=d.length,le=_=_===ee?F:Au(ti(_),0,F);return(_-=p.length)>=0&&d.slice(_,le)==p},xe.eq=Dn,xe.escape=function(d){return(d=Hi(d))&&en.test(d)?d.replace(Sa,oF):d},xe.escapeRegExp=function(d){return(d=Hi(d))&&ut.test(d)?d.replace(Be,"\\$&"):d},xe.every=function(d,p,_){var F=On(d)?ri:vv;return _&&Ws(d,p,_)&&(p=ee),F(d,kn(p,3))},xe.find=KT,xe.findIndex=q_,xe.findKey=function(d,p){return Nh(d,kn(p,3),cl)},xe.findLast=QT,xe.findLastIndex=Y_,xe.findLastKey=function(d,p){return Nh(d,kn(p,3),Ap)},xe.floor=Kl,xe.forEach=oy,xe.forEachRight=Wp,xe.forIn=function(d,p){return null==d?d:kd(d,kn(p,3),ro)},xe.forInRight=function(d,p){return null==d?d:Fd(d,kn(p,3),ro)},xe.forOwn=function(d,p){return d&&cl(d,kn(p,3))},xe.forOwnRight=function(d,p){return d&&Ap(d,kn(p,3))},xe.get=pf,xe.gt=zt,xe.gte=Cw,xe.has=function(d,p){return null!=d&&jv(d,p,Ld)},xe.hasIn=eg,xe.head=qv,xe.identity=so,xe.includes=function(d,p,_,F){d=bo(d)?d:nh(d),_=_&&!F?ti(_):0;var le=d.length;return _<0&&(_=zr(le+_,0)),gy(d)?_<=le&&d.indexOf(p,_)>-1:!!le&&il(d,p,_)>-1},xe.indexOf=function(d,p,_){var F=null==d?0:d.length;if(!F)return-1;var le=null==_?0:ti(_);return le<0&&(le=zr(F+le,0)),il(d,p,le)},xe.inRange=function(d,p,_){return p=_l(p),_===ee?(_=p,p=0):_=_l(_),function(d,p,_){return d>=ps(p,_)&&d=-Te&&d<=Te},xe.isSet=yA,xe.isString=gy,xe.isSymbol=da,xe.isTypedArray=df,xe.isUndefined=function(d){return d===ee},xe.isWeakMap=function(d){return Ar(d)&&$s(d)==V},xe.isWeakSet=function(d){return Ar(d)&&"[object WeakSet]"==As(d)},xe.join=function(d,p){return null==d?"":Uh.call(d,p)},xe.kebabCase=FA,xe.last=aa,xe.lastIndexOf=function(d,p,_){var F=null==d?0:d.length;if(!F)return-1;var le=F;return _!==ee&&(le=(le=ti(_))<0?zr(F+le,0):ps(le,F-1)),p==p?function(at,Rt,Ct){for(var hn=Ct+1;hn--;)if(at[hn]===Rt)return hn;return hn}(d,p,le):Td(d,Dc,le,!0)},xe.lowerCase=LA,xe.lowerFirst=GF,xe.lt=Uc,xe.lte=my,xe.max=function(d){return d&&d.length?Kh(d,so,yo):ee},xe.maxBy=function(d,p){return d&&d.length?Kh(d,kn(p,2),yo):ee},xe.mean=function(d){return Ss(d,so)},xe.meanBy=function(d,p){return Ss(d,kn(p,2))},xe.min=function(d){return d&&d.length?Kh(d,so,Sv):ee},xe.minBy=function(d,p){return d&&d.length?Kh(d,kn(p,2),Sv):ee},xe.stubArray=Hc,xe.stubFalse=Fy,xe.stubObject=function(){return{}},xe.stubString=function(){return""},xe.stubTrue=function(){return!0},xe.multiply=iE,xe.nth=function(d,p){return d&&d.length?Du(d,ti(p)):ee},xe.noConflict=function(){return Ui._===this&&(Ui._=h_),this},xe.noop=Ny,xe.now=Bu,xe.pad=function(d,p,_){d=Hi(d);var F=(p=ti(p))?Lh(d):0;if(!p||F>=p)return d;var le=(p-F)/2;return Fp(Si(le),_)+d+Fp(Vt(le),_)},xe.padEnd=function(d,p,_){d=Hi(d);var F=(p=ti(p))?Lh(d):0;return p&&Fp){var F=d;d=p,p=F}if(_||d%1||p%1){var le=zh();return ps(d+le*(p-d+M1("1e-"+((le+"").length-1))),p)}return Hl(d,p)},xe.reduce=function(d,p,_){var F=On(d)?Eu:ea,le=arguments.length<3;return F(d,kn(p,4),_,le,Pc)},xe.reduceRight=function(d,p,_){var F=On(d)?Cd:ea,le=arguments.length<3;return F(d,kn(p,4),_,le,C_)},xe.repeat=function(d,p,_){return p=(_?Ws(d,p,_):p===ee)?1:ti(p),Dp(Hi(d),p)},xe.replace=function(){var d=arguments,p=Hi(d[0]);return d.length<3?p:p.replace(d[1],d[2])},xe.result=function(d,p,_){var F=-1,le=(p=Lc(p,d)).length;for(le||(le=1,d=ee);++FTe)return[];var _=ye,F=ps(d,ye);p=kn(p),d-=ye;for(var le=Md(F,p);++_=Ae)return d;var Ye=_-Lh(F);if(Ye<1)return F;var ct=He?ul(He,0,Ye).join(""):d.slice(0,Ye);if(le===ee)return ct+F;if(He&&(Ye+=ct.length-Ye),Ow(le)){if(d.slice(Ye).search(le)){var Ft,Lt=ct;for(le.global||(le=u_(le.source,Hi(Xn.exec(le))+"g")),le.lastIndex=0;Ft=le.exec(Lt);)var Gt=Ft.index;ct=ct.slice(0,Gt===ee?Ye:Gt)}}else if(d.indexOf(Vo(le),Ye)!=Ye){var nn=ct.lastIndexOf(le);nn>-1&&(ct=ct.slice(0,nn))}return ct+F},xe.unescape=function(d){return(d=Hi(d))&&ws.test(d)?d.replace(kl,c_):d},xe.uniqueId=function(d){var p=++fF;return Hi(d)+p},xe.upperCase=Xw,xe.upperFirst=ig,xe.each=oy,xe.eachRight=Wp,xe.first=qv,Py(xe,function(){var d={};return cl(xe,function(p,_){Xi.call(xe.prototype,_)||(d[_]=p)}),d}(),{chain:!1}),xe.VERSION="4.17.21",Us(["bind","bindKey","curry","curryRight","partial","partialRight"],function(d){xe[d].placeholder=xe}),Us(["drop","take"],function(d,p){fi.prototype[d]=function(_){_=_===ee?1:zr(ti(_),0);var F=this.__filtered__&&!p?new fi(this):this.clone();return F.__filtered__?F.__takeCount__=ps(_,F.__takeCount__):F.__views__.push({size:ps(_,ye),type:d+(F.__dir__<0?"Right":"")}),F},fi.prototype[d+"Right"]=function(_){return this.reverse()[d](_).reverse()}}),Us(["filter","map","takeWhile"],function(d,p){var _=p+1,F=1==_||3==_;fi.prototype[d]=function(le){var Ae=this.clone();return Ae.__iteratees__.push({iteratee:kn(le,3),type:_}),Ae.__filtered__=Ae.__filtered__||F,Ae}}),Us(["head","last"],function(d,p){var _="take"+(p?"Right":"");fi.prototype[d]=function(){return this[_](1).value()[0]}}),Us(["initial","tail"],function(d,p){var _="drop"+(p?"":"Right");fi.prototype[d]=function(){return this.__filtered__?new fi(this):this[_](1)}}),fi.prototype.compact=function(){return this.filter(so)},fi.prototype.find=function(d){return this.filter(d).head()},fi.prototype.findLast=function(d){return this.reverse().find(d)},fi.prototype.invokeMap=pi(function(d,p){return"function"==typeof d?new fi(this):this.map(function(_){return ka(_,d,p)})}),fi.prototype.reject=function(d){return this.filter(dy(kn(d)))},fi.prototype.slice=function(d,p){d=ti(d);var _=this;return _.__filtered__&&(d>0||p<0)?new fi(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),p!==ee&&(_=(p=ti(p))<0?_.dropRight(-p):_.take(p-d)),_)},fi.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},fi.prototype.toArray=function(){return this.take(ye)},cl(fi.prototype,function(d,p){var _=/^(?:filter|find|map|reject)|While$/.test(p),F=/^(?:head|last)$/.test(p),le=xe[F?"take"+("last"==p?"Right":""):p],Ae=F||/^find/.test(p);!le||(xe.prototype[p]=function(){var He=this.__wrapped__,Ye=F?[1]:arguments,ct=He instanceof fi,Ft=Ye[0],Lt=ct||On(He),Gt=function(mi){var Di=le.apply(xe,Ur([mi],Ye));return F&&nn?Di[0]:Di};Lt&&_&&"function"==typeof Ft&&1!=Ft.length&&(ct=Lt=!1);var nn=this.__chain__,wn=!!this.__actions__.length,Fn=Ae&&!nn,gi=ct&&!wn;if(!Ae&&Lt){He=gi?He:new fi(this);var Bn=d.apply(He,Ye);return Bn.__actions__.push({func:Xd,args:[Gt],thisArg:ee}),new Lo(Bn,nn)}return Fn&&gi?d.apply(this,Ye):(Bn=this.thru(Gt),Fn?F?Bn.value()[0]:Bn.value():Bn)})}),Us(["pop","push","shift","sort","splice","unshift"],function(d){var p=dr[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",F=/^(?:pop|shift)$/.test(d);xe.prototype[d]=function(){var le=arguments;if(F&&!this.__chain__){var Ae=this.value();return p.apply(On(Ae)?Ae:[],le)}return this[_](function(He){return p.apply(On(He)?He:[],le)})}}),cl(fi.prototype,function(d,p){var _=xe[p];if(_){var F=_.name+"";Xi.call(Od,F)||(Od[F]=[]),Od[F].push({name:p,func:_})}}),Od[Vc(ee,2).name]=[{name:"wrapper",func:ee}],fi.prototype.clone=function(){var d=new fi(this.__wrapped__);return d.__actions__=no(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=no(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=no(this.__views__),d},fi.prototype.reverse=function(){if(this.__filtered__){var d=new fi(this);d.__dir__=-1,d.__filtered__=!0}else(d=this.clone()).__dir__*=-1;return d},fi.prototype.value=function(){var d=this.__wrapped__.value(),p=this.__dir__,_=On(d),F=p<0,le=_?d.length:0,Ae=function(d,p,_){for(var F=-1,le=_.length;++F=this.__values__.length;return{done:d,value:d?ee:this.__values__[this.__index__++]}},xe.prototype.plant=function(d){for(var p,_=this;_ instanceof Wh;){var F=sf(_);F.__index__=0,F.__values__=ee,p?le.__wrapped__=F:p=F;var le=F;_=_.__wrapped__}return le.__wrapped__=d,p},xe.prototype.reverse=function(){var d=this.__wrapped__;if(d instanceof fi){var p=d;return this.__actions__.length&&(p=new fi(this)),(p=p.reverse()).__actions__.push({func:Xd,args:[Z_],thisArg:ee}),new Lo(p,this.__chain__)}return this.thru(Z_)},xe.prototype.toJSON=xe.prototype.valueOf=xe.prototype.value=function(){return sT(this.__wrapped__,this.__actions__)},xe.prototype.first=xe.prototype.head,jh&&(xe.prototype[jh]=function(){return this}),xe}();Ui._=Bh,(yt=function(){return Bh}.call(it,et,it,Ut))!==ee&&(Ut.exports=yt)}.call(this)},5478:function(Ut){Ut.exports=function(){"use strict";function it(rt,lt){for(var ht=0;htrt.length)&&(lt=rt.length);for(var ht=0,ge=new Array(lt);ht=rt.length?{done:!0}:{done:!1,value:rt[ge++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var dt={exports:{}};function Y(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}dt.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Y,changeDefaults:function(rt){dt.exports.defaults=rt}};var he=/[&<>"']/,W=/[&<>"']/g,j=/[<>"']|&(?!#?\w+;)/,k=/[<>"']|&(?!#?\w+;)/g,Q={"&":"&","<":"<",">":">",'"':""","'":"'"},H=function(lt){return Q[lt]};var C=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function R(rt){return rt.replace(C,function(lt,ht){return"colon"===(ht=ht.toLowerCase())?":":"#"===ht.charAt(0)?"x"===ht.charAt(1)?String.fromCharCode(parseInt(ht.substring(2),16)):String.fromCharCode(+ht.substring(1)):""})}var T=/(^|[^\[])\^/g;var y=/[^\w:]/g,S=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var z={},P=/^[^:]+:\/*[^/]*$/,X=/^([^:]+:)[\s\S]*$/,ue=/^([^:]+:\/*[^/]*)[\s\S]*$/;function I(rt,lt){z[" "+rt]||(z[" "+rt]=P.test(rt)?rt+"/":$(rt,"/",!0));var ht=-1===(rt=z[" "+rt]).indexOf(":");return"//"===lt.substring(0,2)?ht?lt:rt.replace(X,"$1")+lt:"/"===lt.charAt(0)?ht?lt:rt.replace(ue,"$1")+lt:rt+lt}function $(rt,lt,ht){var ge=rt.length;if(0===ge)return"";for(var ve=0;ve1;)1<&&(ht+=rt),lt>>=1,rt+=rt;return ht+rt},Te=dt.exports.defaults,me=$,ne=function(rt,lt){var ge=rt.replace(/\|/g,function(Be,ut,Je){for(var Mt=!1,It=ut;--It>=0&&"\\"===Je[It];)Mt=!Mt;return Mt?"|":" |"}).split(/ \|/),ve=0;if(ge.length>lt)ge.splice(lt);else for(;ge.length1?{type:"space",raw:ve[0]}:{raw:"\n"}},lt.code=function(ge){var ve=this.rules.block.code.exec(ge);if(ve){var Be=ve[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:ve[0],codeBlockStyle:"indented",text:this.options.pedantic?Be:me(Be,"\n")}}},lt.fences=function(ge){var ve=this.rules.block.fences.exec(ge);if(ve){var Be=ve[0],ut=function(rt,lt){var ht=rt.match(/^(\s+)(?:```)/);if(null===ht)return lt;var ge=ht[1];return lt.split("\n").map(function(ve){var Be=ve.match(/^\s+/);return null===Be?ve:Be[0].length>=ge.length?ve.slice(ge.length):ve}).join("\n")}(Be,ve[3]||"");return{type:"code",raw:Be,lang:ve[2]?ve[2].trim():ve[2],text:ut}}},lt.heading=function(ge){var ve=this.rules.block.heading.exec(ge);if(ve){var Be=ve[2].trim();if(/#$/.test(Be)){var ut=me(Be,"#");(this.options.pedantic||!ut||/ $/.test(ut))&&(Be=ut.trim())}return{type:"heading",raw:ve[0],depth:ve[1].length,text:Be}}},lt.nptable=function(ge){var ve=this.rules.block.nptable.exec(ge);if(ve){var Be={type:"table",header:ne(ve[1].replace(/^ *| *\| *$/g,"")),align:ve[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:ve[3]?ve[3].replace(/\n$/,"").split("\n"):[],raw:ve[0]};if(Be.header.length===Be.align.length){var Je,ut=Be.align.length;for(Je=0;Je ?/gm,"");return{type:"blockquote",raw:ve[0],text:Be}}},lt.list=function(ge){var ve=this.rules.block.list.exec(ge);if(ve){var Qt,zn,ci,Rn,bn,Xn,Cn,rr,sr,Be=ve[0],ut=ve[2],Je=ut.length>1,Mt={type:"list",raw:Be,ordered:Je,start:Je?+ut.slice(0,-1):"",loose:!1,items:[]},It=ve[0].match(this.rules.block.item),Ot=!1,Qn=It.length;ci=this.rules.block.listItemStart.exec(It[0]);for(var Wi=0;Wici[1].length:Rn[1].length>=ci[0].length||Rn[1].length>3){It.splice(Wi,2,It[Wi]+(!this.options.pedantic&&Rn[1].length/i.test(ut[0])&&(ve=!1),!Be&&/^<(pre|code|kbd|script)(\s|>)/i.test(ut[0])?Be=!0:Be&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ut[0])&&(Be=!1),{type:this.options.sanitize?"text":"html",raw:ut[0],inLink:ve,inRawBlock:Be,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):ye(ut[0]):ut[0]}},lt.link=function(ge){var ve=this.rules.inline.link.exec(ge);if(ve){var Be=ve[2].trim();if(!this.options.pedantic&&/^$/.test(Be))return;var ut=me(Be.slice(0,-1),"\\");if((Be.length-ut.length)%2==0)return}else{var Je=Oe(ve[2],"()");if(Je>-1){var It=(0===ve[0].indexOf("!")?5:4)+ve[1].length+Je;ve[2]=ve[2].substring(0,Je),ve[0]=ve[0].substring(0,It).trim(),ve[3]=""}}var Ot=ve[2],Qt="";if(this.options.pedantic){var zn=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Ot);zn&&(Ot=zn[1],Qt=zn[3])}else Qt=ve[3]?ve[3].slice(1,-1):"";return Ot=Ot.trim(),/^$/.test(Be)?Ot.slice(1):Ot.slice(1,-1)),$e(ve,{href:Ot&&Ot.replace(this.rules.inline._escapes,"$1"),title:Qt&&Qt.replace(this.rules.inline._escapes,"$1")},ve[0])}},lt.reflink=function(ge,ve){var Be;if((Be=this.rules.inline.reflink.exec(ge))||(Be=this.rules.inline.nolink.exec(ge))){var ut=(Be[2]||Be[1]).replace(/\s+/g," ");if(!(ut=ve[ut.toLowerCase()])||!ut.href){var Je=Be[0].charAt(0);return{type:"text",raw:Je,text:Je}}return $e(Be,ut,Be[0])}},lt.emStrong=function(ge,ve,Be){void 0===Be&&(Be="");var ut=this.rules.inline.emStrong.lDelim.exec(ge);if(ut&&(!ut[3]||!Be.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var Je=ut[1]||ut[2]||"";if(!Je||Je&&(""===Be||this.rules.inline.punctuation.exec(Be))){var It,Ot,Mt=ut[0].length-1,Qt=Mt,zn=0,ci="*"===ut[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ci.lastIndex=0,ve=ve.slice(-1*ge.length+Mt);null!=(ut=ci.exec(ve));)if(It=ut[1]||ut[2]||ut[3]||ut[4]||ut[5]||ut[6]){if(Ot=It.length,ut[3]||ut[4]){Qt+=Ot;continue}if((ut[5]||ut[6])&&Mt%3&&!((Mt+Ot)%3)){zn+=Ot;continue}if(!((Qt-=Ot)>0))return Ot=Math.min(Ot,Ot+Qt+zn),Math.min(Mt,Ot)%2?{type:"em",raw:ge.slice(0,Mt+ut.index+Ot+1),text:ge.slice(1,Mt+ut.index+Ot)}:{type:"strong",raw:ge.slice(0,Mt+ut.index+Ot+1),text:ge.slice(2,Mt+ut.index+Ot-1)}}}}},lt.codespan=function(ge){var ve=this.rules.inline.code.exec(ge);if(ve){var Be=ve[2].replace(/\n/g," "),ut=/[^ ]/.test(Be),Je=/^ /.test(Be)&&/ $/.test(Be);return ut&&Je&&(Be=Be.substring(1,Be.length-1)),Be=ye(Be,!0),{type:"codespan",raw:ve[0],text:Be}}},lt.br=function(ge){var ve=this.rules.inline.br.exec(ge);if(ve)return{type:"br",raw:ve[0]}},lt.del=function(ge){var ve=this.rules.inline.del.exec(ge);if(ve)return{type:"del",raw:ve[0],text:ve[2]}},lt.autolink=function(ge,ve){var ut,Je,Be=this.rules.inline.autolink.exec(ge);if(Be)return Je="@"===Be[2]?"mailto:"+(ut=ye(this.options.mangle?ve(Be[1]):Be[1])):ut=ye(Be[1]),{type:"link",raw:Be[0],text:ut,href:Je,tokens:[{type:"text",raw:ut,text:ut}]}},lt.url=function(ge,ve){var Be;if(Be=this.rules.inline.url.exec(ge)){var ut,Je;if("@"===Be[2])Je="mailto:"+(ut=ye(this.options.mangle?ve(Be[0]):Be[0]));else{var Mt;do{Mt=Be[0],Be[0]=this.rules.inline._backpedal.exec(Be[0])[0]}while(Mt!==Be[0]);ut=ye(Be[0]),Je="www."===Be[1]?"http://"+ut:ut}return{type:"link",raw:Be[0],text:ut,href:Je,tokens:[{type:"text",raw:ut,text:ut}]}}},lt.inlineText=function(ge,ve,Be){var Je,ut=this.rules.inline.text.exec(ge);if(ut)return Je=ve?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ut[0]):ye(ut[0]):ut[0]:ye(this.options.smartypants?Be(ut[0]):ut[0]),{type:"text",raw:ut[0],text:Je}},rt}(),tt=te_noopTest,Xe=te_edit,ze=te_merge,Le={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:tt,table:tt,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Le.def=Xe(Le.def).replace("label",Le._label).replace("title",Le._title).getRegex(),Le.bullet=/(?:[*+-]|\d{1,9}[.)])/,Le.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,Le.item=Xe(Le.item,"gm").replace(/bull/g,Le.bullet).getRegex(),Le.listItemStart=Xe(/^( *)(bull) */).replace("bull",Le.bullet).getRegex(),Le.list=Xe(Le.list).replace(/bull/g,Le.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Le.def.source+")").getRegex(),Le._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Le._comment=/|$)/,Le.html=Xe(Le.html,"i").replace("comment",Le._comment).replace("tag",Le._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Le.paragraph=Xe(Le._paragraph).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.blockquote=Xe(Le.blockquote).replace("paragraph",Le.paragraph).getRegex(),Le.normal=ze({},Le),Le.gfm=ze({},Le.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Le.gfm.nptable=Xe(Le.gfm.nptable).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.gfm.table=Xe(Le.gfm.table).replace("hr",Le.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Le._tag).getRegex(),Le.pedantic=ze({},Le.normal,{html:Xe("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Le._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:tt,paragraph:Xe(Le.normal._paragraph).replace("hr",Le.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Le.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ke={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:tt,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:tt,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};Ke.punctuation=Xe(Ke.punctuation).replace(/punctuation/g,Ke._punctuation).getRegex(),Ke.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ke.escapedEmSt=/\\\*|\\_/g,Ke._comment=Xe(Le._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ke.emStrong.lDelim=Xe(Ke.emStrong.lDelim).replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimAst=Xe(Ke.emStrong.rDelimAst,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke.emStrong.rDelimUnd=Xe(Ke.emStrong.rDelimUnd,"g").replace(/punct/g,Ke._punctuation).getRegex(),Ke._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ke._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ke._email=/[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])?)+(?![-_])/,Ke.autolink=Xe(Ke.autolink).replace("scheme",Ke._scheme).replace("email",Ke._email).getRegex(),Ke._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ke.tag=Xe(Ke.tag).replace("comment",Ke._comment).replace("attribute",Ke._attribute).getRegex(),Ke._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ke._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ke._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ke.link=Xe(Ke.link).replace("label",Ke._label).replace("href",Ke._href).replace("title",Ke._title).getRegex(),Ke.reflink=Xe(Ke.reflink).replace("label",Ke._label).getRegex(),Ke.reflinkSearch=Xe(Ke.reflinkSearch,"g").replace("reflink",Ke.reflink).replace("nolink",Ke.nolink).getRegex(),Ke.normal=ze({},Ke),Ke.pedantic=ze({},Ke.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Xe(/^!?\[(label)\]\((.*?)\)/).replace("label",Ke._label).getRegex(),reflink:Xe(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ke._label).getRegex()}),Ke.gfm=ze({},Ke.normal,{escape:Xe(Ke.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(ge="x"+ge.toString(16)),lt+="&#"+ge+";";return lt}var je=function(){function rt(ht){this.tokens=[],this.tokens.links=Object.create(null),this.options=ht||qe,this.options.tokenizer=this.options.tokenizer||new Ue,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var ge={block:ke.normal,inline:q.normal};this.options.pedantic?(ge.block=ke.pedantic,ge.inline=q.pedantic):this.options.gfm&&(ge.block=ke.gfm,ge.inline=this.options.breaks?q.breaks:q.gfm),this.tokenizer.rules=ge}rt.lex=function(ge,ve){return new rt(ve).lex(ge)},rt.lexInline=function(ge,ve){return new rt(ve).inlineTokens(ge)};var lt=rt.prototype;return lt.lex=function(ge){return ge=ge.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(ge,this.tokens,!0),this.inline(this.tokens),this.tokens},lt.blockTokens=function(ge,ve,Be){var Je,Mt,It,Ot,Qt,zn,ut=this;for(void 0===ve&&(ve=[]),void 0===Be&&(Be=!0),this.options.pedantic&&(ge=ge.replace(/^ +$/gm,""));ge;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Rn){return!!(Je=Rn.call(ut,ge,ve))&&(ge=ge.substring(Je.raw.length),ve.push(Je),!0)}))){if(Je=this.tokenizer.space(ge)){ge=ge.substring(Je.raw.length),Je.type&&ve.push(Je);continue}if(Je=this.tokenizer.code(ge)){ge=ge.substring(Je.raw.length),(Ot=ve[ve.length-1])&&"paragraph"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je);continue}if(Je=this.tokenizer.fences(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.heading(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.nptable(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.hr(ge)){ge=ge.substring(Je.raw.length),ve.push(Je);continue}if(Je=this.tokenizer.blockquote(ge)){ge=ge.substring(Je.raw.length),Je.tokens=this.blockTokens(Je.text,[],Be),ve.push(Je);continue}if(Je=this.tokenizer.list(ge)){for(ge=ge.substring(Je.raw.length),It=Je.items.length,Mt=0;Mt=0&&(Rn=Math.min(Rn,Xn))}),Rn<1/0&&Rn>=0&&(Qt=ge.substring(0,Rn+1))}(),Be&&(Je=this.tokenizer.paragraph(Qt))){Ot=ve[ve.length-1],zn&&"paragraph"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je),zn=Qt.length!==ge.length,ge=ge.substring(Je.raw.length);continue}if(Je=this.tokenizer.text(ge)){ge=ge.substring(Je.raw.length),(Ot=ve[ve.length-1])&&"text"===Ot.type?(Ot.raw+="\n"+Je.raw,Ot.text+="\n"+Je.text):ve.push(Je);continue}if(ge){var ci="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(ci);break}throw new Error(ci)}}return ve},lt.inline=function(ge){var ve,Be,ut,Je,Mt,It,Ot=ge.length;for(ve=0;ve0)for(;null!=(zn=this.tokenizer.rules.inline.reflinkSearch.exec(Qt));)bn.includes(zn[0].slice(zn[0].lastIndexOf("[")+1,-1))&&(Qt=Qt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Qt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(zn=this.tokenizer.rules.inline.blockSkip.exec(Qt));)Qt=Qt.slice(0,zn.index)+"["+G("a",zn[0].length-2)+"]"+Qt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(zn=this.tokenizer.rules.inline.escapedEmSt.exec(Qt));)Qt=Qt.slice(0,zn.index)+"++"+Qt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;ge;)if(ci||(Rn=""),ci=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Cn){return!!(Mt=Cn.call(Je,ge,ve))&&(ge=ge.substring(Mt.raw.length),ve.push(Mt),!0)}))){if(Mt=this.tokenizer.escape(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.tag(ge,Be,ut)){ge=ge.substring(Mt.raw.length),Be=Mt.inLink,ut=Mt.inRawBlock,(It=ve[ve.length-1])&&"text"===Mt.type&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(Mt=this.tokenizer.link(ge)){ge=ge.substring(Mt.raw.length),"link"===Mt.type&&(Mt.tokens=this.inlineTokens(Mt.text,[],!0,ut)),ve.push(Mt);continue}if(Mt=this.tokenizer.reflink(ge,this.tokens.links)){ge=ge.substring(Mt.raw.length),It=ve[ve.length-1],"link"===Mt.type?(Mt.tokens=this.inlineTokens(Mt.text,[],!0,ut),ve.push(Mt)):It&&"text"===Mt.type&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(Mt=this.tokenizer.emStrong(ge,Qt,Rn)){ge=ge.substring(Mt.raw.length),Mt.tokens=this.inlineTokens(Mt.text,[],Be,ut),ve.push(Mt);continue}if(Mt=this.tokenizer.codespan(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.br(ge)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Mt=this.tokenizer.del(ge)){ge=ge.substring(Mt.raw.length),Mt.tokens=this.inlineTokens(Mt.text,[],Be,ut),ve.push(Mt);continue}if(Mt=this.tokenizer.autolink(ge,de)){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(!Be&&(Mt=this.tokenizer.url(ge,de))){ge=ge.substring(Mt.raw.length),ve.push(Mt);continue}if(Ot=ge,this.options.extensions&&this.options.extensions.startInline&&function(){var Cn=1/0,rr=ge.slice(1),sr=void 0;Je.options.extensions.startInline.forEach(function(Qn){"number"==typeof(sr=Qn.call(this,rr))&&sr>=0&&(Cn=Math.min(Cn,sr))}),Cn<1/0&&Cn>=0&&(Ot=ge.substring(0,Cn+1))}(),Mt=this.tokenizer.inlineText(Ot,ut,pe)){ge=ge.substring(Mt.raw.length),"_"!==Mt.raw.slice(-1)&&(Rn=Mt.raw.slice(-1)),ci=!0,(It=ve[ve.length-1])&&"text"===It.type?(It.raw+=Mt.raw,It.text+=Mt.text):ve.push(Mt);continue}if(ge){var Xn="Infinite loop on byte: "+ge.charCodeAt(0);if(this.options.silent){console.error(Xn);break}throw new Error(Xn)}}return ve},function(rt,lt,ht){lt&&it(rt.prototype,lt),ht&&it(rt,ht)}(rt,null,[{key:"rules",get:function(){return{block:ke,inline:q}}}]),rt}(),_t=dt.exports.defaults,pt=te_cleanUrl,we=te_escape,B=function(){function rt(ht){this.options=ht||_t}var lt=rt.prototype;return lt.code=function(ge,ve,Be){var ut=(ve||"").match(/\S*/)[0];if(this.options.highlight){var Je=this.options.highlight(ge,ut);null!=Je&&Je!==ge&&(Be=!0,ge=Je)}return ge=ge.replace(/\n$/,"")+"\n",ut?'
            '+(Be?ge:we(ge,!0))+"
            \n":"
            "+(Be?ge:we(ge,!0))+"
            \n"},lt.blockquote=function(ge){return"
            \n"+ge+"
            \n"},lt.html=function(ge){return ge},lt.heading=function(ge,ve,Be,ut){return this.options.headerIds?"'+ge+"\n":""+ge+"\n"},lt.hr=function(){return this.options.xhtml?"
            \n":"
            \n"},lt.list=function(ge,ve,Be){var ut=ve?"ol":"ul";return"<"+ut+(ve&&1!==Be?' start="'+Be+'"':"")+">\n"+ge+"\n"},lt.listitem=function(ge){return"
          • "+ge+"
          • \n"},lt.checkbox=function(ge){return" "},lt.paragraph=function(ge){return"

            "+ge+"

            \n"},lt.table=function(ge,ve){return ve&&(ve=""+ve+""),"\n\n"+ge+"\n"+ve+"
            \n"},lt.tablerow=function(ge){return"\n"+ge+"\n"},lt.tablecell=function(ge,ve){var Be=ve.header?"th":"td";return(ve.align?"<"+Be+' align="'+ve.align+'">':"<"+Be+">")+ge+"\n"},lt.strong=function(ge){return""+ge+""},lt.em=function(ge){return""+ge+""},lt.codespan=function(ge){return""+ge+""},lt.br=function(){return this.options.xhtml?"
            ":"
            "},lt.del=function(ge){return""+ge+""},lt.link=function(ge,ve,Be){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Be;var ut='"+Be+""},lt.image=function(ge,ve,Be){if(null===(ge=pt(this.options.sanitize,this.options.baseUrl,ge)))return Be;var ut=''+Be+'":">")},lt.text=function(ge){return ge},rt}(),N=function(){function rt(){}var lt=rt.prototype;return lt.strong=function(ge){return ge},lt.em=function(ge){return ge},lt.codespan=function(ge){return ge},lt.del=function(ge){return ge},lt.html=function(ge){return ge},lt.text=function(ge){return ge},lt.link=function(ge,ve,Be){return""+Be},lt.image=function(ge,ve,Be){return""+Be},lt.br=function(){return""},rt}(),V=function(){function rt(){this.seen={}}var lt=rt.prototype;return lt.serialize=function(ge){return ge.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},lt.getNextSafeSlug=function(ge,ve){var Be=ge,ut=0;if(this.seen.hasOwnProperty(Be)){ut=this.seen[ge];do{Be=ge+"-"+ ++ut}while(this.seen.hasOwnProperty(Be))}return ve||(this.seen[ge]=ut,this.seen[Be]=0),Be},lt.slug=function(ge,ve){void 0===ve&&(ve={});var Be=this.serialize(ge);return this.getNextSafeSlug(Be,ve.dryrun)},rt}(),Re=B,Ze=N,Tt=V,kt=dt.exports.defaults,In=te_unescape,Yn=je,Mi=function(){function rt(ht){this.options=ht||kt,this.options.renderer=this.options.renderer||new Re,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Ze,this.slugger=new Tt}rt.parse=function(ge,ve){return new rt(ve).parse(ge)},rt.parseInline=function(ge,ve){return new rt(ve).parseInline(ge)};var lt=rt.prototype;return lt.parse=function(ge,ve){void 0===ve&&(ve=!0);var ut,Je,Mt,It,Ot,Qt,zn,ci,Rn,bn,Xn,Cn,rr,sr,Qn,Wi,Ca,Qr,re,Be="",fe=ge.length;for(ut=0;ut0&&"text"===Qn.tokens[0].type?(Qn.tokens[0].text=Qr+" "+Qn.tokens[0].text,Qn.tokens[0].tokens&&Qn.tokens[0].tokens.length>0&&"text"===Qn.tokens[0].tokens[0].type&&(Qn.tokens[0].tokens[0].text=Qr+" "+Qn.tokens[0].tokens[0].text)):Qn.tokens.unshift({type:"text",text:Qr}):sr+=Qr),sr+=this.parse(Qn.tokens,rr),Rn+=this.renderer.listitem(sr,Ca,Wi);Be+=this.renderer.list(Rn,Xn,Cn);continue;case"html":Be+=this.renderer.html(bn.text);continue;case"paragraph":Be+=this.renderer.paragraph(this.parseInline(bn.tokens));continue;case"text":for(Rn=bn.tokens?this.parseInline(bn.tokens):bn.text;ut+1An error occurred:

            "+xa(Mt.message+"",!0)+"
            ";throw Mt}}return en.options=en.setOptions=function(rt){return Bs(en.defaults,rt),Sa(en.defaults),en},en.getDefaults=kl,en.defaults=ws,en.use=function(){for(var rt=this,lt=arguments.length,ht=new Array(lt),ge=0;geAn error occurred:

            "+xa(ge.message+"",!0)+"
            ";throw ge}},en.Parser=Mi,en.parser=Mi.parse,en.Renderer=Xr,en.TextRenderer=Ls,en.Lexer=Yn,en.lexer=Yn.lex,en.Tokenizer=xi,en.Slugger=fs,en.parse=en,en}()},9369:(Ut,it,et)=>{var yt=et(6284),ee=et(7830);function Dt(){this.clear()}Dt.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},Dt.prototype.enqueue=function(dt){return this.items.push(dt),++this.size},Dt.prototype.dequeue=function(){if(this.size){var dt=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,dt}},Dt.prototype.peek=function(){if(this.size)return this.items[this.offset]},Dt.prototype.forEach=function(dt,Y){Y=arguments.length>1?Y:this;for(var Se=this.offset,he=0,W=this.items.length;Se=dt.length)return{done:!0};var Se=dt[Y];return Y++,{value:Se,done:!1}})},Dt.prototype.entries=function(){var dt=this.items,Y=this.offset,Se=0;return new yt(function(){if(Y>=dt.length)return{done:!0};var he=dt[Y];return Y++,{value:[Se++,he],done:!1}})},"undefined"!=typeof Symbol&&(Dt.prototype[Symbol.iterator]=Dt.prototype.values),Dt.prototype.toString=function(){return this.toArray().join(",")},Dt.prototype.toJSON=function(){return this.toArray()},Dt.prototype.inspect=function(){var dt=this.toArray();return Object.defineProperty(dt,"constructor",{value:Dt,enumerable:!1}),dt},"undefined"!=typeof Symbol&&(Dt.prototype[Symbol.for("nodejs.util.inspect.custom")]=Dt.prototype.inspect),Dt.from=function(dt){var Y=new Dt;return ee(dt,function(Se){Y.enqueue(Se)}),Y},Dt.of=function(){return Dt.from(arguments)},Ut.exports=Dt},7830:Ut=>{var it="undefined"!=typeof ArrayBuffer,et="undefined"!=typeof Symbol;function yt(ee,Dt){var dt,Y,Se,he,W;if(!ee)throw new Error("obliterator/forEach: invalid iterable.");if("function"!=typeof Dt)throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(ee)||it&&ArrayBuffer.isView(ee)||"string"==typeof ee||"[object Arguments]"===ee.toString())for(Se=0,he=ee.length;Se{function it(et){Object.defineProperty(this,"_next",{writable:!1,enumerable:!1,value:et}),this.done=!1}it.prototype.next=function(){if(this.done)return{done:!0};var et=this._next();return et.done&&(this.done=!0),et},"undefined"!=typeof Symbol&&(it.prototype[Symbol.iterator]=function(){return this}),it.of=function(){var et=arguments,yt=et.length,ee=0;return new it(function(){return ee>=yt?{done:!0}:{done:!1,value:et[ee++]}})},it.empty=function(){var et=new it(null);return et.done=!0,et},it.is=function(et){return et instanceof it||"object"==typeof et&&null!==et&&"function"==typeof et.next},Ut.exports=it},7310:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.isMobile=function(){return void 0!==ee.window.orientation},it.default=function(he){if(!he&&!(0,Dt.default)())return"Node";if((0,dt.default)(he))return"Electron";var W="undefined"!=typeof navigator?navigator:{},j=he||W.userAgent||"";if(j.indexOf("Edge")>-1)return"Edge";var k=-1!==j.indexOf("MSIE "),Q=-1!==j.indexOf("Trident/");return k||Q?"IE":ee.window.chrome?"Chrome":ee.window.safari?"Safari":ee.window.mozInnerScreenX?"Firefox":"Unknown"};var ee=et(1151),Dt=yt(et(1602)),dt=yt(et(2344))},1151:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.console=it.process=it.document=it.global=it.window=it.self=void 0;var ee=yt(et(4321)),Dt={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&process};it.self=Dt.self||Dt.window||Dt.global,it.window=Dt.window||Dt.self||Dt.global,it.global=Dt.global||Dt.self||Dt.window,it.document=Dt.document||{},it.process=Dt.process||{};var j=console;it.console=j},4761:(Ut,it,et)=>{"use strict";var ee=et(1948),Dt=et(4321);Object.defineProperty(it,"CO",{enumerable:!0,get:function(){return dt.global}}),Object.defineProperty(it,"qs",{enumerable:!0,get:function(){return Se.default}});var dt=et(1151),Se=(j(et(1602)),j(et(7310)));ee(et(2344));function W(k){if("function"!=typeof WeakMap)return null;var Q=new WeakMap,H=new WeakMap;return(W=function(C){return C?H:Q})(k)}function j(k,Q){if(!Q&&k&&k.__esModule)return k;if(null===k||"object"!==Dt(k)&&"function"!=typeof k)return{default:k};var H=W(Q);if(H&&H.has(k))return H.get(k);var w={},C=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in k)if("default"!==R&&Object.prototype.hasOwnProperty.call(k,R)){var T=C?Object.getOwnPropertyDescriptor(k,R):null;T&&(T.get||T.set)?Object.defineProperty(w,R,T):w[R]=k[R]}return w.default=k,H&&H.set(k,w),w}},1602:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=dt,it.isBrowserMainThread=function(){return dt()&&"undefined"!=typeof document};var ee=yt(et(4321)),Dt=yt(et(2344));function dt(){return!("object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,Dt.default)()}},2344:(Ut,it,et)=>{"use strict";var yt=et(1948);Object.defineProperty(it,"__esModule",{value:!0}),it.default=function(dt){if("undefined"!=typeof window&&"object"===(0,ee.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,ee.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Y="object"===("undefined"==typeof navigator?"undefined":(0,ee.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,Se=dt||Y;return!!(Se&&Se.indexOf("Electron")>=0)};var ee=yt(et(4321))},6991:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Dt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Dt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Dt,dt){for(var Y in Dt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Dt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(et(4180),it),ee(et(5103),it),ee(et(8965),it),ee(et(2595),it),ee(et(2417),it),ee(et(2451),it),ee(et(7735),it)},4180:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.BlankNode=void 0,it.BlankNode=class{constructor(ee){this.termType="BlankNode",this.value=ee}equals(ee){return!!ee&&"BlankNode"===ee.termType&&ee.value===this.value}}},5103:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DataFactory=void 0;const yt=et(4180),ee=et(8965),Dt=et(2595),dt=et(2417),Y=et(2451),Se=et(7735);let he=0;it.DataFactory=class{constructor(k){this.blankNodeCounter=0,this.blankNodePrefix=(k=k||{}).blankNodePrefix||`df_${he++}_`}namedNode(k){return new dt.NamedNode(k)}blankNode(k){return new yt.BlankNode(k||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(k,Q){return new Dt.Literal(k,Q)}variable(k){return new Se.Variable(k)}defaultGraph(){return ee.DefaultGraph.INSTANCE}quad(k,Q,H,w){return new Y.Quad(k,Q,H,w||this.defaultGraph())}fromTerm(k){switch(k.termType){case"NamedNode":return this.namedNode(k.value);case"BlankNode":return this.blankNode(k.value);case"Literal":return k.language?this.literal(k.value,k.language):k.datatype.equals(Dt.Literal.XSD_STRING)?this.literal(k.value):this.literal(k.value,this.fromTerm(k.datatype));case"Variable":return this.variable(k.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(k.subject),this.fromTerm(k.predicate),this.fromTerm(k.object),this.fromTerm(k.graph))}}fromQuad(k){return this.fromTerm(k)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},8965:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.DefaultGraph=void 0;class et{constructor(){this.termType="DefaultGraph",this.value=""}equals(ee){return!!ee&&"DefaultGraph"===ee.termType}}it.DefaultGraph=et,et.INSTANCE=new et},2595:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Literal=void 0;const yt=et(2417);class ee{constructor(dt,Y){this.termType="Literal",this.value=dt,"string"==typeof Y?(this.language=Y,this.datatype=ee.RDF_LANGUAGE_STRING):Y?(this.language="",this.datatype=Y):(this.language="",this.datatype=ee.XSD_STRING)}equals(dt){return!!dt&&"Literal"===dt.termType&&dt.value===this.value&&dt.language===this.language&&dt.datatype.equals(this.datatype)}}it.Literal=ee,ee.RDF_LANGUAGE_STRING=new yt.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),ee.XSD_STRING=new yt.NamedNode("http://www.w3.org/2001/XMLSchema#string")},2417:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.NamedNode=void 0,it.NamedNode=class{constructor(ee){this.termType="NamedNode",this.value=ee}equals(ee){return!!ee&&"NamedNode"===ee.termType&&ee.value===this.value}}},2451:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Quad=void 0,it.Quad=class{constructor(ee,Dt,dt,Y){this.termType="Quad",this.value="",this.subject=ee,this.predicate=Dt,this.object=dt,this.graph=Y}equals(ee){return!!ee&&("Quad"===ee.termType||!ee.termType)&&this.subject.equals(ee.subject)&&this.predicate.equals(ee.predicate)&&this.object.equals(ee.object)&&this.graph.equals(ee.graph)}}},7735:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Variable=void 0,it.Variable=class{constructor(ee){this.termType="Variable",this.value=ee}equals(ee){return!!ee&&"Variable"===ee.termType&&ee.value===this.value}}},1609:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(w,C,R,T){void 0===T&&(T=R),Object.defineProperty(w,T,{enumerable:!0,get:function(){return C[R]}})}:function(w,C,R,T){void 0===T&&(T=R),w[T]=C[R]}),ee=this&&this.__exportStar||function(w,C){for(var R in w)"default"!==R&&!Object.prototype.hasOwnProperty.call(C,R)&&yt(C,w,R)};Object.defineProperty(it,"__esModule",{value:!0}),it.getSupportedJavaScriptPrimitives=it.getSupportedRdfDatatypes=it.getTermRaw=it.toRdf=it.fromRdf=void 0;const Dt=et(6991),dt=et(9938),Y=et(6060);ee(et(9938),it),ee(et(8871),it),ee(et(6060),it);const Se=new Dt.DataFactory,he=new Y.Translator;function W(w,C){return he.fromRdf(w,C)}he.registerHandler(new dt.TypeHandlerString,dt.TypeHandlerString.TYPES.map(w=>Se.namedNode(w)),["string"]),he.registerHandler(new dt.TypeHandlerBoolean,[dt.TypeHandlerBoolean.TYPE].map(w=>Se.namedNode(w)),["boolean"]),he.registerHandler(new dt.TypeHandlerNumberDouble,dt.TypeHandlerNumberDouble.TYPES.map(w=>Se.namedNode(w)),["number"]),he.registerHandler(new dt.TypeHandlerNumberInteger,dt.TypeHandlerNumberInteger.TYPES.map(w=>Se.namedNode(w)),["number"]),he.registerHandler(new dt.TypeHandlerDate,dt.TypeHandlerDate.TYPES.map(w=>Se.namedNode(w)),["object"]),it.fromRdf=W,it.toRdf=function(w,C){return C&&"namedNode"in C&&(C={dataFactory:C}),(C=C||{})&&!C.dataFactory&&(C.dataFactory=Se),he.toRdf(w,C)},it.getTermRaw=function(w,C){return"Literal"===w.termType?W(w,C):w.value},it.getSupportedRdfDatatypes=function(){return he.getSupportedRdfDatatypes()},it.getSupportedJavaScriptPrimitives=function(){return he.getSupportedJavaScriptPrimitives()}},8871:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0})},6060:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.Translator=void 0,it.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(ee){throw new Error(`Invalid RDF ${ee.datatype.value} value: '${ee.value}'`)}registerHandler(ee,Dt,dt){for(const Y of Dt)this.supportedRdfDatatypes.push(Y),this.fromRdfHandlers[Y.value]=ee;for(const Y of dt){let Se=this.toRdfHandlers[Y];Se||(this.toRdfHandlers[Y]=Se=[]),Se.push(ee)}}fromRdf(ee,Dt){const dt=this.fromRdfHandlers[ee.datatype.value];return dt?dt.fromRdf(ee,Dt):ee.value}toRdf(ee,Dt){const dt=this.toRdfHandlers[typeof ee];if(dt)for(const Y of dt){const Se=Y.toRdf(ee,Dt);if(Se)return Se}throw new Error(`Invalid JavaScript value: '${ee}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},727:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerBoolean=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){switch(dt.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return Y&&yt.Translator.incorrectRdfDataType(dt),!1}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(dt?"true":"false",Y||Se.namedNode(ee.TYPE))}}it.TypeHandlerBoolean=ee,ee.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},2525:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerDate=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){switch(Y&&!dt.value.match(ee.VALIDATORS[dt.datatype.value.substr(33,dt.datatype.value.length)])&&yt.Translator.incorrectRdfDataType(dt),dt.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(dt.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const Se=dt.value.split("-");return new Date(0,parseInt(Se[0],10)-1,parseInt(Se[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(dt.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(dt.value+"-01");default:return new Date(dt.value)}}toRdf(dt,{datatype:Y,dataFactory:Se}){if(Y=Y||Se.namedNode(ee.TYPES[0]),!(dt instanceof Date))return null;const he=dt;let W;switch(Y.value){case"http://www.w3.org/2001/XMLSchema#gDay":W=String(he.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":W=he.getUTCMonth()+1+"-"+he.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":W=String(he.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":W=he.getUTCFullYear()+"-"+(he.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":W=he.toISOString().replace(/T.*$/,"");break;default:W=he.toISOString()}return Se.literal(W,Y)}}it.TypeHandlerDate=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],ee.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},8554:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberDouble=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){const Se=parseFloat(dt.value);return Y&&isNaN(Se)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Y=Y||Se.namedNode(ee.TYPES[0]),isNaN(dt)?Se.literal("NaN",Y):isFinite(dt)?dt%1==0?null:Se.literal(dt.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Y):Se.literal(dt>0?"INF":"-INF",Y)}}it.TypeHandlerNumberDouble=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},7750:(Ut,it,et)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerNumberInteger=void 0;const yt=et(6060);class ee{fromRdf(dt,Y){const Se=parseInt(dt.value,10);return Y&&(isNaN(Se)||dt.value.indexOf(".")>=0)&&yt.Translator.incorrectRdfDataType(dt),Se}toRdf(dt,{datatype:Y,dataFactory:Se}){return Se.literal(String(dt),Y||Se.namedNode(dt<=ee.MAX_INT&&dt>=ee.MIN_INT?ee.TYPES[0]:ee.TYPES[1]))}}it.TypeHandlerNumberInteger=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],ee.MAX_INT=2147483647,ee.MIN_INT=-2147483648},4608:(Ut,it)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0}),it.TypeHandlerString=void 0;class et{fromRdf(ee){return ee.value}toRdf(ee,{datatype:Dt,dataFactory:dt}){return dt.literal(ee,Dt)}}it.TypeHandlerString=et,et.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(Ut,it,et){"use strict";var yt=this&&this.__createBinding||(Object.create?function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Object.defineProperty(Dt,Se,{enumerable:!0,get:function(){return dt[Y]}})}:function(Dt,dt,Y,Se){void 0===Se&&(Se=Y),Dt[Se]=dt[Y]}),ee=this&&this.__exportStar||function(Dt,dt){for(var Y in Dt)"default"!==Y&&!Object.prototype.hasOwnProperty.call(dt,Y)&&yt(dt,Dt,Y)};Object.defineProperty(it,"__esModule",{value:!0}),ee(et(727),it),ee(et(2525),it),ee(et(8554),it),ee(et(7750),it),ee(et(4608),it)},2829:(Ut,it,et)=>{"use strict";var yt={};et.r(yt),et.d(yt,{decode:()=>Ume,encode:()=>zme});var ee={};et.r(ee),et.d(ee,{decode:()=>qme,encode:()=>Yme});var Dt={};et.r(Dt),et.d(Dt,{decode:()=>Xme,encode:()=>Kme});var dt={};function Y(n){return"function"==typeof n}et.r(dt),et.d(dt,{decode:()=>Qme,encode:()=>Zme});let Se=!1;const he={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else Se&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Se=n},get useDeprecatedSynchronousErrorHandling(){return Se}};function W(n){setTimeout(()=>{throw n},0)}const j={closed:!0,next(n){},error(n){if(he.useDeprecatedSynchronousErrorHandling)throw n;W(n)},complete(){}},k=Array.isArray||(n=>n&&"number"==typeof n.length);function Q(n){return null!==n&&"object"==typeof n}const w=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class C{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof C)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof w?t.errors:t),[])}C.EMPTY=((n=new C).closed=!0,n);const T="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class y extends C{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=j;break;case 1:if(!e){this.destination=j;break}if("object"==typeof e){e instanceof y?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new S(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new S(this,e,t,i)}}[T](){return this}static create(e,t,i){const r=new y(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class S extends y{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Y(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==j&&(o=Object.create(t),Y(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;he.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=he;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):W(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;W(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);he.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),he.useDeprecatedSynchronousErrorHandling)throw i;W(i)}}__tryOrSetError(e,t,i){if(!he.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return he.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(W(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const P="function"==typeof Symbol&&Symbol.observable||"@@observable";function X(n){return n}function ue(...n){return I(n)}function I(n){return 0===n.length?X:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let O=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof y)return n;if(n[T])return n[T]()}return n||e||t?new y(n,e,t):new y(j)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||he.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),he.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){he.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof y?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=K(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[P](){return this}pipe(...t){return 0===t.length?this:I(t)(this)}toPromise(t){return new(t=K(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function K(n){if(n||(n=he.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const $=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class Z extends C{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class ae extends y{constructor(e){super(e),this.destination=e}}let oe=(()=>{class n extends O{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[T](){return new ae(this)}lift(t){const i=new te(this,this);return i.operator=t,i}next(t){if(this.closed)throw new $;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew te(e,t),n})();class te extends oe{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):C.EMPTY}}function Te(n){return n&&"function"==typeof n.schedule}function me(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new ne(n,e))}}class ne{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new ye(e,this.project,this.thisArg))}}class ye extends y{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const Oe=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function Ke(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Me=n=>{if(n&&"function"==typeof n[P])return(n=>e=>{const t=n[P]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(Le(n))return Oe(n);if(Ke(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,W),e))(n);if(n&&"function"==typeof n[Qe])return(n=>e=>{const t=n[Qe]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${Q(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function ke(n,e){return new O(t=>{const i=new C;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function je(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[P]}(n))return function(n,e){return new O(t=>{const i=new C;return i.add(e.schedule(()=>{const r=n[P]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if(Ke(n))return function(n,e){return new O(t=>{const i=new C;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(Le(n))return ke(n,e);if(function(n){return n&&"function"==typeof n[Qe]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new O(t=>{const i=new C;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[Qe](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof O?n:new O(Me(n))}class _t extends y{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class we extends y{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function N(n,e){if(e.closed)return;if(n instanceof O)return n.subscribe(e);let t;try{t=Me(n)(e)}catch(i){e.error(i)}return t}function V(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(V((r,s)=>je(n(r,s)).pipe(me((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Re(n,t)))}class Re{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new Ze(e,this.project,this.concurrent))}}class Ze extends we{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function kt(n=Number.POSITIVE_INFINITY){return V(X,n)}function In(n,e){return e?ke(n,e):new O(Oe(n))}function Nn(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Te(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof O?n[0]:kt(e)(In(n,t))}function Yn(){return function(e){return e.lift(new Mi(e))}}class Mi{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new xi(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class xi extends y{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Xr extends O{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new C,e.add(this.source.subscribe(new fs(this.getSubject(),this))),e.closed&&(this._connection=null,e=C.EMPTY)),e}refCount(){return Yn()(this)}}const Ls=(()=>{const n=Xr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class fs extends ae{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function xa(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new kl(r,e));const s=Object.create(i,Ls);return s.source=i,s.subjectFactory=r,s}}class kl{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function Sa(){return new oe}function ws(){return n=>Yn()(xa(Sa)(n))}function en(n){for(let e in n)if(n[e]===en)return e;throw Error("Could not find renamed property on target object.")}function nl(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function rt(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(rt).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function lt(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const ht=en({__forward_ref__:en});function ge(n){return n.__forward_ref__=ge,n.toString=function(){return rt(this())},n}function ve(n){return Be(n)?n():n}function Be(n){return"function"==typeof n&&n.hasOwnProperty(ht)&&n.__forward_ref__===ge}class Je extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function Ot(n){return"string"==typeof n?n:null==n?"":String(n)}function Qt(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Ot(n)}function bn(n,e){const t=e?` in ${e}`:"";throw new Je("201",`No provider for ${Qt(n)} found${t}`)}function J(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function We(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function St(n){return{providers:n.providers||[],imports:n.imports||[]}}function vn(n){return Es(n,fo)||Es(n,Vs)}function Es(n,e){return n.hasOwnProperty(e)?n[e]:null}function Fl(n){return n&&(n.hasOwnProperty(Br)||n.hasOwnProperty(Ac))?n[Br]:null}const fo=en({\u0275prov:en}),Br=en({\u0275inj:en}),Vs=en({ngInjectableDef:en}),Ac=en({ngInjectorDef:en});var xn=(()=>((xn=xn||{})[xn.Default=0]="Default",xn[xn.Host=1]="Host",xn[xn.Self=2]="Self",xn[xn.SkipSelf=4]="SkipSelf",xn[xn.Optional=8]="Optional",xn))();let po;function Ta(n){const e=po;return po=n,e}function Ed(n,e,t){const i=vn(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&xn.Optional?null:void 0!==e?e:void bn(rt(n),"Injector")}function De(n){return{toString:n}.toString()}var Ge=(()=>((Ge=Ge||{})[Ge.OnPush=0]="OnPush",Ge[Ge.Default=1]="Default",Ge))(),Xt=(()=>((Xt=Xt||{})[Xt.Emulated=0]="Emulated",Xt[Xt.None=2]="None",Xt[Xt.ShadowDom=3]="ShadowDom",Xt))();const ui="undefined"!=typeof globalThis&&globalThis,Vr="undefined"!=typeof window&&window,Jr="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,xs="undefined"!=typeof global&&global,Zn=ui||xs||Vr||Jr,xd={},er=[],fp=en({\u0275cmp:en}),n_=en({\u0275dir:en}),Oh=en({\u0275pipe:en}),iv=en({\u0275mod:en}),T1=en({\u0275loc:en}),Bl=en({\u0275fac:en}),Rh=en({__NG_ELEMENT_ID__:en});let A1=0;function rn(n){return De(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===Ge.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||er,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Xt.Emulated,id:"c",styles:n.styles||er,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=A1++,i.inputs=av(n.inputs,t),i.outputs=av(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(rv):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(sv):null,i})}function rv(n){return Ui(n)||function(n){return n[n_]||null}(n)}function sv(n){return function(n){return n[Oh]||null}(n)}const ov={};function tn(n){return De(()=>{const e={type:n.type,bootstrap:n.bootstrap||er,declarations:n.declarations||er,imports:n.imports||er,exports:n.exports||er,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(ov[n.id]=n.type),e})}function av(n,e){if(null==n)return xd;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const Nt=rn;function js(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function Ui(n){return n[fp]||null}function No(n,e){const t=n[iv]||null;if(!t&&!0===e)throw new Error(`Type ${rt(n)} does not have '\u0275mod' property.`);return t}function Jo(n){return Array.isArray(n)&&"object"==typeof n[1]}function ea(n){return Array.isArray(n)&&!0===n[1]}function s_(n){return 0!=(8&n.flags)}function Ad(n){return 2==(2&n.flags)}function Md(n){return 1==(1&n.flags)}function Da(n){return null!==n.template}function lv(n){return 0!=(512&n[2])}function Ic(n,e){return n.hasOwnProperty(Bl)?n[Bl]:null}class c_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Fi(){return dv}function dv(n){return n.type.prototype.ngOnChanges&&(n.setInput=k1),N1}function N1(){const n=at(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===xd)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function k1(n,e,t,i){const r=at(n)||function(n,e){return n[Bh]=e}(n,{previous:xd,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new c_(l&&l.currentValue,e,o===xd),n[i]=e}Fi.ngInherit=!0;const Bh="__ngSimpleChanges__";function at(n){return n[Bh]||null}let Yi;function dr(n){return!!n.listen}const Su={createRenderer:(n,e)=>void 0!==Yi?Yi:"undefined"!=typeof document?document:void 0};function Sr(n){for(;Array.isArray(n);)n=n[0];return n}function Vh(n,e){return Sr(e[n])}function eo(n,e){return Sr(e[n.index])}function h_(n,e){return n.data[e]}function Dd(n,e){return n[e]}function zs(n,e){const t=e[n];return Jo(t)?t:t[0]}function Ul(n){return 4==(4&n[2])}function Id(n){return 128==(128&n[2])}function Oa(n,e){return null==e?null:n[e]}function f_(n){n[18]=0}function mp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Ln={lFrame:Tu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function fv(){return Ln.bindingsEnabled}function Vt(){return Ln.lFrame.lView}function Si(){return Ln.lFrame.tView}function _r(n){return Ln.lFrame.contextLView=n,n[8]}function as(){let n=p_();for(;null!==n&&64===n.type;)n=n.parent;return n}function p_(){return Ln.lFrame.currentTNode}function sl(n,e){const t=Ln.lFrame;t.currentTNode=n,t.isParent=e}function zr(){return Ln.lFrame.isParent}function ps(){Ln.lFrame.isParent=!1}function zh(){return Ln.isInCheckNoChangesMode}function yp(n){Ln.isInCheckNoChangesMode=n}function Cs(){const n=Ln.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}function Ra(){return Ln.lFrame.bindingIndex++}function Fo(n){const e=Ln.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Od(n,e){const t=Ln.lFrame;t.bindingIndex=t.bindingRootIndex=n,g_(e)}function g_(n){Ln.lFrame.currentDirectiveIndex=n}function m_(n){const e=Ln.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function pv(){return Ln.lFrame.currentQueryIndex}function __(n){Ln.lFrame.currentQueryIndex=n}function vp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Rd(n,e,t){if(t&xn.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&xn.Host||(r=vp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Ln.lFrame=xe();return i.currentTNode=e,i.lView=n,!0}function $h(n){const e=xe(),t=n[1];Ln.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function xe(){const n=Ln.lFrame,e=null===n?null:n.child;return null===e?Tu(n):e}function Tu(n){const 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:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Wh(){const n=Ln.lFrame;return Ln.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Lo=Wh;function fi(){const n=Wh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function to(){return Ln.lFrame.selectedIndex}function _o(n){Ln.lFrame.selectedIndex=n}function Nr(){const n=Ln.lFrame;return h_(n.tView,n.selectedIndex)}function wp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class qh{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Sp(n,e,t){const i=dr(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Nd=!0;function Cp(n){const e=Nd;return Nd=n,e}let x_=0;function Hs(n,e){const t=Tp(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,S_(i.data,n),S_(e,null),S_(i.blueprint,null));const r=Xh(n,e),s=n.injectorIndex;if(yv(r)){const o=Pd(r),a=al(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function S_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Tp(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function Xh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Rc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Rh)&&(i=t[Rh]),null==i&&(i=t[Rh]=x_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:Ev:e}(t);if("function"==typeof s){if(!Rd(e,n,i))return i&xn.Host?C_(r,t,i):vv(e,t,i,r);try{const o=s(i);if(null!=o||i&xn.Optional)return o;bn(t)}finally{Lo()}}else if("number"==typeof s){let o=null,a=Tp(n,e),l=-1,c=i&xn.Host?e[16][6]:null;for((-1===a||i&xn.SkipSelf)&&(l=-1===a?Xh(n,e):e[a+8],-1!==l&&Qh(i,!1)?(o=e[1],a=Pd(l),e=al(l,e)):a=-1);-1!==a;){const u=e[1];if(Ap(s,a,u.data)){const h=Ts(a,e,t,o,i,c);if(h!==wv)return h}l=e[a+8],-1!==l&&Qh(i,e[1].data[a+8]===c)&&Ap(s,a,e)?(o=u,a=Pd(l),e=al(l,e)):a=-1}}}return vv(e,t,i,r)}const wv={};function Ev(){return new na(as(),Vt())}function Ts(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=kd(a,o,t,null==i?Ad(a)&&Nd:i!=o&&0!=(3&a.type),r&xn.Host&&s===a);return null!==u?Fd(e,o,u,a):wv}function kd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,f=r?a+u:n.directiveEnd;for(let g=i?a:a+u;g=l&&m.type===t)return g}if(r){const g=o[l];if(g&&Da(g)&&g.type===t)return l}return null}function Fd(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof qh}(r)){const o=r;o.resolving&&function(n,e){throw new Je("200",`Circular dependency in DI detected for ${n}`)}(Qt(s[t]));const a=Cp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Ta(o.injectImpl):null;Rd(n,i,xn.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=dv(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&Ta(l),Cp(a),o.resolving=!1,Lo()}}return r}function Ap(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[Bl]||As(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[Bl]||As(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function As(n){return Be(n)?()=>{const e=As(ve(n));return e&&e()}:Ic(n)}function yo(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Bd)?l[Bd]:Object.defineProperty(l,Bd,{value:[]})[Bd];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class Ht{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=We({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Du=Function;function ia(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?ra(t,e):e(t))}function Jh(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Hl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Nc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function O_(n,e){const t=Ms(n,e);if(t>=0)return n[1|t]}function Ms(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):rt(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Lc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Fc]=null,n}const Hd=zd(ka("Inject",n=>({token:n})),-1),ts=zd(ka("Optional"),8),dl=zd(ka("SkipSelf"),4);let $d;function Fu(n){var e;return(null===(e=function(){if(void 0===$d&&($d=null,Zn.trustedTypes))try{$d=Zn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return $d}())||void 0===e?void 0:e.createHTML(n))||n}class ql{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class L_ extends ql{getTypeName(){return"HTML"}}class B_ extends ql{getTypeName(){return"Style"}}class jp extends ql{getTypeName(){return"Script"}}class Wd extends ql{getTypeName(){return"URL"}}class kn extends ql{getTypeName(){return"ResourceURL"}}function Gs(n){return n instanceof ql?n.changingThisBreaksApplicationSecurity:n}function sa(n,e){const t=jc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function jc(n){return n instanceof ql&&n.getTypeName()||null}class jv{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Fu(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class fT{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Fu(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Fu(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0jo(e.trim())).join(", ")}function oa(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function tf(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const Up=oa("area,br,col,hr,img,wbr"),zv=oa("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Hv=oa("rp,rt"),j_=tf(Up,tf(zv,oa("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")),tf(Hv,oa("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")),tf(Hv,zv)),U_=oa("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),z_=oa("srcset"),H_=tf(U_,z_,oa("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),oa("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")),bT=oa("script,style,template");class G_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!j_.hasOwnProperty(t))return this.sanitizedSomething=!0,!bT.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();j_.hasOwnProperty(t)&&!Up.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(Hp(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const Gv=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,nf=/([^\#-~ |!])/g;function Hp(n){return n.replace(/&/g,"&").replace(Gv,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(nf,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let rf;function $_(n,e){let t=null;try{rf=rf||function(n){const e=new fT(n);return function(){try{return!!(new window.DOMParser).parseFromString(Fu(""),"text/html")}catch(n){return!1}}()?new jv(e):e}(n);let i=e?String(e):"";t=rf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=rf.getInertBodyElement(i)}while(i!==s);return Fu((new G_).sanitizeChildren(qd(t)||t))}finally{if(t){const i=qd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function qd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var si=(()=>((si=si||{})[si.NONE=0]="NONE",si[si.HTML=1]="HTML",si[si.STYLE=2]="STYLE",si[si.SCRIPT=3]="SCRIPT",si[si.URL=4]="URL",si[si.RESOURCE_URL=5]="RESOURCE_URL",si))();function sf(n){const e=function(){const n=Vt();return n&&n[12]}();return e?e.sanitize(si.URL,n)||"":sa(n,"URL")?Gs(n):jo(Ot(n))}const Y_="__ngContext__";function Ds(n,e){n[Y_]=e}function X_(n){const e=function(n){return n[Y_]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function Gp(n){return n.ngOriginalError}function RT(n,...e){n.error(...e)}class la{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||RT}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(Gp(e)):null}_findOriginalError(e){let t=e&&Gp(e);for(;t&&Gp(t);)t=Gp(t);return t||null}}const tw=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Zn))();function fl(n){return n instanceof Function?n():n}var Uo=(()=>((Uo=Uo||{})[Uo.Important=1]="Important",Uo[Uo.DashCase=2]="DashCase",Uo))();function ey(n,e){return undefined(n,e)}function lf(n){const e=n[3];return ea(e)?e[3]:e}function Xd(n){return ow(n[13])}function ny(n){return ow(n[4])}function ow(n){for(;null!==n&&!ea(n);)n=n[4];return n}function Kd(n,e,t,i,r){if(null!=i){let s,o=!1;ea(i)?s=i:Jo(i)&&(o=!0,i=i[0]);const a=Sr(i);0===n&&null!==t?null==r?dw(e,t,a):pl(e,t,a,r||null,!0):1===n&&null!==t?pl(e,t,a,r||null,!0):2===n?function(n,e,t){const i=qp(n,e);i&&function(n,e,t,i){dr(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==Sr(t)&&Kd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=Hl(n,10+e);!function(n,e){Qd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function oy(n,e){if(!(256&e[2])){const t=e[11];dr(t)&&t.destroyNode&&Qd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return Wp(n[1],n);for(;e;){let t=null;if(Jo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Jo(e)&&Wp(e[1],e),e=e[3];null===e&&(e=n),Jo(e)&&Wp(e[1],e),t=e&&e[4]}e=t}}(e)}}function Wp(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[h+1].toLowerCase();const g=8&i?f:null;if(g&&-1!==uf(g,c,0)||2&i&&c!==f){if(La(i))return!1;o=!0}}}}else{if(!o&&!La(i)&&!La(l))return!1;if(o&&La(l))continue;o=!1,i=l|1&i}}return La(i)||o}function La(n){return 0==(1&n)}function oA(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!La(o)&&(e+=Sw(s,r),r=""),i=o,s=s||!La(i);t++}return""!==r&&(e+=Sw(s,r)),e}const Dn={};function zt(n){Cw(Si(),Vt(),to()+n,zh())}function Cw(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Ep(e,s,t)}else{const s=n.preOrderHooks;null!==s&&xp(e,s,0,t)}_o(t)}function gl(n,e){return n<<17|e<<2}function On(n){return n>>17&32767}function Cr(n){return 2|n}function Yl(n){return(131068&n)>>2}function ml(n,e){return-131069&n|e<<2}function hy(n){return 1|n}function Nw(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&Cw(n,e,20,zh()),t(i,r)}finally{_o(s)}}function pf(n,e,t){!fv()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||Hs(t,e),Ds(i,e);const o=t.initialInputs;for(let a=r;a0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function $w(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function Ww(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function NA(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&Sy(t)}}function Sy(n){for(let i=Xd(n);null!==i;i=ny(i))for(let r=10;r0&&Sy(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&Sy(r)}}function UA(n,e){const t=zs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function Xw(n){return n[7]||(n[7]=[])}function ig(n){return n.cleanup||(n.cleanup=[])}function Dy(n,e,t){return(null===n||Da(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function Iy(n,e){const t=n[9],i=t?t.get(la,null):null;i&&i.handleError(e)}function Kw(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),ra([e],a=>this.processInjectorType(a,[],s)),this.records.set(Vu,Uu(void 0,this));const o=this.records.get(ju);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:rt(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Ru,i=xn.Default){this.assertNotDestroyed();const r=Ud(this),s=Ta(void 0);try{if(!(i&xn.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof Ht}(e)&&vn(e);a=l&&this.injectableDefInScope(l)?Uu(ky(e),gf):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&xn.Self?Qw():this.parent).get(e,t=i&xn.Optional&&t===Ru?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Fc]=o[Fc]||[]).unshift(rt(e)),r)throw o;return no(o,e,"R3InjectorError",this.source)}throw o}finally{Ta(s),Ud(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(rt(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=ve(e)))return!1;let r=Fl(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Fl(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{ra(r.imports,h=>{this.processInjectorType(h,t,i)&&(void 0===u&&(u=[]),u.push(h))})}finally{}if(void 0!==u)for(let h=0;hthis.processProvider(m,f,g||er))}}this.injectorDefTypes.add(o);const l=Ic(o)||(()=>new o);this.records.set(o,Uu(l,gf));const c=r.providers;if(null!=c&&!a){const u=e;ra(c,h=>this.processProvider(h,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Hc(e=ve(e))?e:ve(e&&e.provide);const s=function(n,e,t){return eE(n)?Uu(void 0,n.useValue):Uu(Jw(n),gf)}(e);if(Hc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=Uu(void 0,gf,!0),o.factory=()=>Nu(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===gf&&(t.value=YA,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=ve(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function ky(n){const e=vn(n),t=null!==e?e.factory:Ic(n);if(null!==t)return t;if(n instanceof Ht)throw new Error(`Token ${rt(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=Nc(e,"?");throw new Error(`Can't resolve all parameters for ${rt(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[fo]||n[Vs]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function Jw(n,e,t){let i;if(Hc(n)){const r=ve(n);return Ic(r)||ky(r)}if(eE(n))i=()=>ve(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Nu(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>Ie(ve(n.useExisting));else{const r=ve(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Ic(r)||ky(r);i=()=>new r(...Nu(n.deps))}return i}function Uu(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function eE(n){return null!==n&&"object"==typeof n&&Pp in n}function Hc(n){return"function"==typeof n}const tE=function(n,e,t){return function(n,e=null,t=null,i){const r=Zw(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Hn{static create(e,t){return Array.isArray(e)?tE(e,t,""):tE(e.providers,e.parent,e.name||"")}}function Fq(n,e){wp(X_(n)[1],as())}function En(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(Da(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=lM(n.inputs),o.declaredInputs=lM(n.declaredInputs),o.outputs=lM(n.outputs);const a=r.hostBindings;a&&jq(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&Bq(n,l),c&&Vq(n,c),nl(n.inputs,r.inputs),nl(n.declaredInputs,r.declaredInputs),nl(n.outputs,r.outputs),Da(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Yh(r.hostAttrs,t=Yh(t,r.hostAttrs))}}(i)}function lM(n){return n===xd?{}:n===er?[]:n}function Bq(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function Vq(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function jq(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Hn.THROW_IF_NOT_FOUND=Ru,Hn.NULL=new so,Hn.\u0275prov=We({token:Hn,providedIn:"any",factory:()=>Ie(Vu)}),Hn.__NG_ELEMENT_ID__=-1;let oE=null;function sg(){if(!oE){const n=Zn.Symbol;if(n&&n.iterator)oE=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(Sr(_e[i.index])):i.index;if(dr(t)){let _e=null;if(!a&&l&&(_e=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==_e)(_e.__ngLastListenerFn__||_e).__ngNextListenerFn__=s,_e.__ngLastListenerFn__=s,g=!1;else{s=gM(i,e,h,s,!1);const Pe=t.listen(U,r,s);f.push(s,Pe),u&&u.push(r,ie,D,D+1)}}else s=gM(i,e,h,s,!0),U.addEventListener(r,s,o),f.push(s),u&&u.push(r,ie,D,o)}else s=gM(i,e,h,s,!1);const m=i.outputs;let v;if(g&&null!==m&&(v=m[r])){const x=v.length;if(x)for(let U=0;U0;)e=e[15],n--;return e}(n,Ln.lFrame.contextLView))[8]}(n)}function vY(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const Os={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function k2(n){return n.substring(Os.key,Os.keyEnd)}function F2(n,e){const t=Os.textEnd;return t===e?-1:(e=Os.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,Os.key=e,t),bg(n,e,t))}function bg(n,e,t){for(;e=0;t=F2(e,t))Bo(n,k2(e),!0)}function Jl(n,e,t,i){const r=Vt(),s=Si(),o=Fo(2);s.firstUpdatePass&&z2(s,n,o,i),e!==Dn&&Eo(r,o,e)&&G2(s,s.data[to()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=rt(Gs(n)))),n}(e,t),i,o)}function U2(n,e){return e>=n.expandoStartIndex}function z2(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[to()],o=U2(n,t);W2(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=m_(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=Hy(t=_M(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=_M(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Yl(i))return n[On(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=_M(null,n,e,l[1],i),l=Hy(l,e.attrs,i),function(n,e,t,i){n[On(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else u=t;if(r)if(0!==l){const f=On(n[a+1]);n[i+1]=gl(f,a),0!==f&&(n[f+1]=ml(n[f+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=gl(a,0),0!==a&&(n[a+1]=ml(n[a+1],i)),a=i;else n[i+1]=gl(l,0),0===a?a=i:n[l+1]=ml(n[l+1],i),l=i;c&&(n[i+1]=Cr(n[i+1])),N2(n,u,i,!0),N2(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Ms(s,e)>=0&&(t[i+1]=hy(t[i+1]))}(e,u,n,i,s),o=gl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function _M(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let f=t[r+1];f===Dn&&(f=h?er:void 0);let g=h?O_(f,i):u===i?f:void 0;if(c&&!hE(g)&&(g=O_(l,i)),hE(g)&&(a=g,o))return a;const m=n[r+1];r=o?On(m):Yl(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=O_(l,i))}return a}function hE(n){return void 0!==n}function W2(n,e){return 0!=(n.flags&(e?16:32))}function Jn(n,e=""){const t=Vt(),i=Si(),r=n+20,s=i.firstCreatePass?Jd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return dr(n)?n.createText(e):n.createTextNode(e)}(t[11],e);Yp(i,t,o,s),sl(s,!1)}function gs(n){return xo("",n,""),gs}function xo(n,e,t){const i=Vt(),r=ag(i,n,e,t);return r!==Dn&&Xl(i,to(),r),xo}function qc(n,e,t){const i=Vt();return Eo(i,Ra(),e)&&zo(Si(),Nr(),i,n,e,i[11],t,!0),qc}function fE(n,e,t){const i=Vt();if(Eo(i,Ra(),e)){const s=Si(),o=Nr();zo(s,o,i,n,e,Dy(m_(s.data),o,i),t,!0)}return fE}const _f=void 0;var iX=["en",[["a","p"],["AM","PM"],_f],[["AM","PM"],_f,_f],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],_f,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],_f,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",_f,"{1} 'at' {0}",_f],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let vg={};function uL(n){return n in vg||(vg[n]=Zn.ng&&Zn.ng.common&&Zn.ng.common.locales&&Zn.ng.common.locales[n]),vg[n]}var un=(()=>((un=un||{})[un.LocaleId=0]="LocaleId",un[un.DayPeriodsFormat=1]="DayPeriodsFormat",un[un.DayPeriodsStandalone=2]="DayPeriodsStandalone",un[un.DaysFormat=3]="DaysFormat",un[un.DaysStandalone=4]="DaysStandalone",un[un.MonthsFormat=5]="MonthsFormat",un[un.MonthsStandalone=6]="MonthsStandalone",un[un.Eras=7]="Eras",un[un.FirstDayOfWeek=8]="FirstDayOfWeek",un[un.WeekendRange=9]="WeekendRange",un[un.DateFormat=10]="DateFormat",un[un.TimeFormat=11]="TimeFormat",un[un.DateTimeFormat=12]="DateTimeFormat",un[un.NumberSymbols=13]="NumberSymbols",un[un.NumberFormats=14]="NumberFormats",un[un.CurrencyCode=15]="CurrencyCode",un[un.CurrencySymbol=16]="CurrencySymbol",un[un.CurrencyName=17]="CurrencyName",un[un.Currencies=18]="Currencies",un[un.Directionality=19]="Directionality",un[un.PluralCase=20]="PluralCase",un[un.ExtraData=21]="ExtraData",un))();const pE="en-US";let dL=pE;function bM(n){J(n,"Expected localeId to be defined"),"string"==typeof n&&(dL=n.toLowerCase().replace(/_/g,"-"))}function EM(n,e,t,i,r){if(n=ve(n),Array.isArray(n))for(let s=0;s>20;if(Hc(n)||!n.multi){const g=new qh(l,r,Ce),m=SM(a,e,r?u:u+f,h);-1===m?(Rc(Hs(c,o),s,a),xM(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[m]=g,o[m]=g)}else{const g=SM(a,e,u+f,h),m=SM(a,e,u,u+f),v=g>=0&&t[g],x=m>=0&&t[m];if(r&&!x||!r&&!v){Rc(Hs(c,o),s,a);const U=function(n,e,t,i,r){const s=new qh(n,t,Ce);return s.multi=[],s.index=e,s.componentProviders=0,kL(s,r,i&&!t),s}(r?eK:JX,t.length,r,i,l);!r&&x&&(t[m].providerFactory=U),xM(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(U),o.push(U)}else xM(s,n,g>-1?g:m,kL(t[r?m:g],l,!r&&i));!r&&i&&x&&t[m].componentProviders++}}}function xM(n,e,t,i){const r=Hc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function kL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function SM(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Si();if(i.firstCreatePass){const r=Da(n);EM(t,i.data,i.blueprint,r,!0),EM(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class FL{}const BL="ngComponent";class iK{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${rt(n)}. Did you add it to @NgModule.entryComponents?`);return e[BL]=n,e}(e)}}class El{}function bE(...n){}function Eg(n,e){return new gn(eo(n,e))}El.NULL=new iK;const oK=function(){return Eg(as(),Vt())};let gn=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=oK,n})();function VL(n){return n instanceof gn?n.nativeElement:n}class yf{}let AM=(()=>{class n{}return n.\u0275prov=We({token:n,providedIn:"root",factory:()=>null}),n})();class Hu{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const jL=new Hu("12.2.5");class UL{constructor(){}supports(e){return jy(e)}create(e){return new hK(e)}}const dK=(n,e)=>e;class hK{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||dK}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;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,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new fK(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new zL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new zL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(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._nextIdentityChange=e,e}}class fK{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}}class pK{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(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 i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class zL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new pK,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function HL(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new mK(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class mK{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function $L(){return new xg([new UL])}let xg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||$L()),deps:[[n,new dl,new ts]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:$L}),n})();function WL(){return new Sg([new GL])}let Sg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||WL()),deps:[[n,new dl,new ts]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=We({token:n,providedIn:"root",factory:WL}),n})();function vE(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(Sr(s)),ea(s))for(let a=10;a-1&&(sy(e,i),Hl(t,i))}this._attachedToViewContainer=!1}oy(this._lView[1],this._lView)}onDestroy(e){Bw(this._lView[1],this._lView,null,e)}markForCheck(){Cy(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Ay(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){yp(!0);try{Ay(n,e,t)}finally{yp(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Qd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class yK extends Yy{constructor(e){super(e),this._view=e}detectChanges(){Yw(this._view)}checkNoChanges(){!function(n){yp(!0);try{Yw(n)}finally{yp(!1)}}(this._view)}get context(){return null}}const vK=function(n){return function(n,e,t){if(Ad(n)&&!t){const i=zs(n.index,e);return new Yy(i,i)}return 47&n.type?new Yy(e[16],e):null}(as(),Vt(),16==(16&n))};let Mr=(()=>{class n{}return n.__NG_ELEMENT_ID__=vK,n})();const xK=[new GL],CK=new xg([new UL]),TK=new Sg(xK),MK=function(){return wE(as(),Vt())};let Go=(()=>{class n{}return n.__NG_ELEMENT_ID__=MK,n})();const DK=Go,IK=class extends DK{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=hf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),ff(t,i,e),new Yy(i)}};function wE(n,e){return 4&n.type?new IK(e,n,Eg(n,e)):null}class Yc{}const PK=function(){return KL(as(),Vt())};let Rs=(()=>{class n{}return n.__NG_ELEMENT_ID__=PK,n})();const kK=Rs,YL=class extends kK{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Eg(this._hostTNode,this._hostLView)}get injector(){return new na(this._hostTNode,this._hostLView)}get parentInjector(){const e=Xh(this._hostTNode,this._hostLView);if(yv(e)){const t=al(e,this._hostLView),i=Pd(e);return new na(t[1].data[i+8],t)}return new na(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=XL(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get(Yc,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return ea(n[3])}(i)){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const h=i[3],f=new YL(h,h[6],h[3]);f.detach(f.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),itw});class b3 extends FL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(dA).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return y3(this.componentDef.inputs)}get outputs(){return y3(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,Mg,r);return s!==Mg||i===Mg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(yf,Su),a=s.get(AM,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(dr(n))return n.selectRootElement(e,t===Xt.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):ry(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),h=this.componentDef.onPush?576:528,f=function(n,e){return{components:[],scheduler:n||tw,clean:WA,playerHandler:e||null,flags:0}}(),g=tg(0,null,null,1,0,null,null,null,null,null),m=hf(null,g,f,h,null,null,o,l,a,s);let v,x;$h(m);try{const U=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Jd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(rg(l,c,!0),null!==n&&(Sp(r,n,c),null!==l.classes&&uy(r,n,l.classes),null!==l.styles&&vw(r,n,l.styles)));const u=i.createRenderer(n,e),h=hf(t,eg(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Rc(Hs(l,t),o,e.type),Ww(o,l),wy(l,t.length,1)),ng(t,h),t[20]=h}(u,this.componentDef,m,o,l);if(u)if(i)Sp(l,u,["ng-version",jL.full]);else{const{attrs:D,classes:ie}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&uy(l,u,ie.join(" "))}if(x=h_(g,20),void 0!==t){const D=x.projection=[];for(let ie=0;iel(o,e)),e.contentQueries){const l=as();e.contentQueries(1,o,l.directiveStart)}const a=as();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(_o(a.index),Gw(t[1],a,0,a.directiveStart,a.directiveEnd,e),$w(e,o)),o}(U,this.componentDef,m,f,[Fq]),ff(g,m,null)}finally{fi()}return new NQ(this.componentType,v,Eg(x,m),m,x)}}class NQ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new yK(r),this.componentType=e}get injector(){return new na(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Dg=new Map;class LQ extends Yc{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _3(this);const i=No(e),r=function(n){return n[T1]||null}(e);r&&bM(r),this._bootstrapComponents=fl(i.bootstrap),this._r3Injector=Zw(e,t,[{provide:Yc,useValue:this},{provide:El,useValue:this.componentFactoryResolver}],rt(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Hn.THROW_IF_NOT_FOUND,i=xn.Default){return e===Hn||e===Yc||e===Vu?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class UM extends class{}{constructor(e){super(),this.moduleType=e,null!==No(e)&&function(n){const e=new Set;!function t(i){const r=No(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${rt(e)} vs ${rt(e.name)}`)}(s,Dg.get(s),i),Dg.set(s,i));const o=fl(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new LQ(this.moduleType,e)}}function TE(n,e,t){const i=Cs()+n,r=Vt();return r[i]===Dn?$c(r,i,t?e.call(t):e()):function(n,e){return n[e]}(r,i)}function E3(n,e,t,i,r,s){const o=e+t;return Eo(n,o,r)?$c(n,o+1,s?i.call(s,r):i(r)):function(n,e){const t=n[e];return t===Dn?void 0:t}(n,o+1)}function Ps(n,e){const t=Si();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new Je("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=Ic(i.type)),o=Ta(Ce);try{const a=Cp(!1),l=s();return Cp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,Vt(),r,l),l}finally{Ta(o)}}function To(n,e,t){const i=n+20,r=Vt(),s=Dd(r,i);return function(n,e){Ql.isWrapped(e)&&(e=Ql.unwrap(e),n[Ln.lFrame.bindingIndex]=Dn);return e}(r,function(n,e){return n[1].data[e].pure}(r,i)?E3(r,Cs(),e,s.transform,t,s):s.transform(t))}function HM(n){return e=>{setTimeout(n,void 0,e)}}const ln=class extends oe{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const h=e;a=null===(r=h.next)||void 0===r?void 0:r.bind(h),l=null===(s=h.error)||void 0===s?void 0:s.bind(h),c=null===(o=h.complete)||void 0===o?void 0:o.bind(h)}this.__isAsync&&(l=HM(l),a&&(a=HM(a)),c&&(c=HM(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof C&&e.add(u),u}};function QQ(){return this._results[sg()]()}class wf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=sg(),i=wf.prototype;i[t]||(i[t]=QQ)}get changes(){return this._changes||(this._changes=new ln)}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){const i=this;i.dirty=!1;const r=ia(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],u=e[-l];for(let h=10;h{class n{constructor(t){this.appInits=t,this.resolve=bE,this.reject=bE,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ef,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const a0=new Ht("AppId"),PZ={provide:a0,useFactory:function(){return`${eD()}${eD()}${eD()}`},deps:[]};function eD(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const X3=new Ht("Platform Initializer"),Xc=new Ht("Platform ID"),IE=new Ht("appBootstrapListener");let OE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Gu=new Ht("LocaleId"),K3=new Ht("DefaultCurrencyCode");class kZ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const tD=function(n){return new UM(n)},FZ=tD,LZ=function(n){return Promise.resolve(tD(n))},Q3=function(n){const e=tD(n),i=fl(No(n).declarations).reduce((r,s)=>{const o=Ui(s);return o&&r.push(new b3(o)),r},[]);return new kZ(e,i)},BZ=Q3,VZ=function(n){return Promise.resolve(Q3(n))};let xf=(()=>{class n{constructor(){this.compileModuleSync=FZ,this.compileModuleAsync=LZ,this.compileModuleAndAllComponentsSync=BZ,this.compileModuleAndAllComponentsAsync=VZ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Z3=new Ht("compilerOptions"),UZ=(()=>Promise.resolve(0))();function nD(n){"undefined"==typeof Zone?UZ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class pn{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new ln(!1),this.onMicrotaskEmpty=new ln(!1),this.onStable=new ln(!1),this.onError=new ln(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const 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=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=Zn.requestAnimationFrame,e=Zn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(Zn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,rD(n),n.isCheckStableRunning=!0,iD(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),rD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return J3(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),eB(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return J3(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),eB(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,rD(n),iD(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!pn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(pn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,HZ,bE,bE);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const HZ={};function iD(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function rD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function J3(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function eB(n){n._nesting--,iD(n)}class WZ{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new ln,this.onMicrotaskEmpty=new ln,this.onStable=new ln,this.onError=new ln}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let sD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{pn.assertNotInAngularZone(),nD(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())nD(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(Ie(pn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),tB=(()=>{class n{constructor(){this._applications=new Map,oD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return oD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class qZ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let oD=new qZ,nB=!0,iB=!1;function fa(){return iB=!0,nB}let ic;const rB=new Ht("AllowMultipleToken");function sB(n,e,t=[]){const i=`Platform: ${e}`,r=new Ht(i);return(s=[])=>{let o=lD();if(!o||o.injector.get(rB,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:ju,useValue:"platform"});!function(n){if(ic&&!ic.destroyed&&!ic.injector.get(rB,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");ic=n.get(oB);const e=n.get(X3,null);e&&e.forEach(t=>t())}(Hn.create({providers:a,name:i}))}return function(n){const e=lD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function lD(){return ic&&!ic.destroyed?ic:null}let oB=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new WZ:("zone.js"===n?void 0:n)||new pn({enableLongStackTrace:fa(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:pn,useValue:a}];return a.run(()=>{const c=Hn.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),h=u.injector.get(la,null);if(!h)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const f=a.onError.subscribe({next:g=>{h.handleError(g)}});u.onDestroy(()=>{cD(this._modules,u),f.unsubscribe()})}),function(n,e,t){try{const i=t();return yg(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(h,a,()=>{const f=u.injector.get(Og);return f.runInitializers(),f.donePromise.then(()=>(bM(u.injector.get(Gu,pE)||pE),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=aB({},i);return function(n,e,t){const i=new UM(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(sh);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${rt(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function aB(n,e){return Array.isArray(e)?e.reduce(aB,n):Object.assign(Object.assign({},n),e)}let sh=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new O(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new O(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{pn.assertNotInAngularZone(),nD(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const h=this._zone.onUnstable.subscribe(()=>{pn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),h.unsubscribe()}});this.isStable=Nn(a,l.pipe(ws()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof FL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get(Yc),a=r.create(Hn.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(sD,null),u=c&&a.injector.get(tB);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),cD(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;cD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(IE,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(Ie(pn),Ie(Hn),Ie(la),Ie(El),Ie(Og))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function cD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const vJ=sB(null,"core",[{provide:Xc,useValue:"unknown"},{provide:oB,deps:[Hn]},{provide:tB,deps:[]},{provide:OE,deps:[]}]),CJ=[{provide:sh,useClass:sh,deps:[pn,Hn,la,El,Og]},{provide:OQ,deps:[pn],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Og,useClass:Og,deps:[[new ts,Ef]]},{provide:xf,useClass:xf,deps:[]},PZ,{provide:xg,useFactory:function(){return CK},deps:[]},{provide:Sg,useFactory:function(){return TK},deps:[]},{provide:Gu,useFactory:function(n){return bM(n=n||"undefined"!=typeof $localize&&$localize.locale||pE),n},deps:[[new Hd(Gu),new ts,new dl]]},{provide:K3,useValue:"USD"}];let AJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(Ie(sh))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:CJ}),n})(),zE=null;function Kc(){return zE}const fn=new Ht("DocumentToken");let Tf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Tee,token:n,providedIn:"platform"}),n})();function Tee(){return Ie(kB)}let kB=(()=>{class n extends Tf{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Kc().getBaseHref(this._doc)}onPopState(t){const i=Kc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=Kc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}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(t){this.location.pathname=t}pushState(t,i,r){FB()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){FB()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({factory:Mee,token:n,providedIn:"platform"}),n})();function FB(){return!!window.history.pushState}function Mee(){return new kB(Ie(fn))}function SD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function LB(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function Wu(n){return n&&"?"!==n[0]?"?"+n:n}let Ng=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:Dee,token:n,providedIn:"root"}),n})();function Dee(n){const e=Ie(fn).location;return new BB(Ie(Tf),e&&e.origin||"")}const CD=new Ht("appBaseHref");let BB=(()=>{class n extends Ng{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return SD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Wu(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+Wu(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+Wu(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Tf),Ie(CD,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),kg=(()=>{class n{constructor(t,i){this._subject=new ln,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=LB(VB(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Wu(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,VB(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Wu(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Wu(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ng),Ie(Tf))},n.normalizeQueryParams=Wu,n.joinWithSlash=SD,n.stripTrailingSlash=LB,n.\u0275prov=We({factory:Oee,token:n,providedIn:"root"}),n})();function Oee(){return new kg(Ie(Ng),Ie(Tf))}function VB(n){return n.replace(/\/index.html$/,"")}var ms=(()=>((ms=ms||{})[ms.Zero=0]="Zero",ms[ms.One=1]="One",ms[ms.Two=2]="Two",ms[ms.Few=3]="Few",ms[ms.Many=4]="Many",ms[ms.Other=5]="Other",ms))();const Vee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=uL(e);if(t)return t;const i=e.split("-")[0];if(t=uL(i),t)return t;if("en"===i)return iX;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[un.PluralCase]};class ZE{}let pte=(()=>{class n extends ZE{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(Vee(i||this.locale)(t)){case ms.Zero:return"zero";case ms.One:return"one";case ms.Two:return"two";case ms.Few:return"few";case ms.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Gu))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function YB(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}class mte{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Yu=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new mte(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new XB(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new XB(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Ce(Rs),Ce(Go),Ce(xg))},n.\u0275dir=Nt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class XB{constructor(e,t){this.record=e,this.view=t}}let ac=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new yte,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){KB("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){KB("ngIfElse",t),this._elseTemplateRef=t,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(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Ce(Rs),Ce(Go))},n.\u0275dir=Nt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class yte{constructor(){this.$implicit=null,this.ngIf=null}}function KB(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${rt(e)}'.`)}class Ete{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class xte{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const Ste=new xte,Cte=new Ete;let g0=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(yg(t))return Ste;if(x2(t))return Cte;throw function(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${rt(n)}'`)}(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(Ce(Mr,16))},n.\u0275pipe=js({name:"async",type:n,pure:!1}),n})(),fr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[{provide:ZE,useClass:pte}]}),n})();const iV="browser";function Af(n){return n===iV}class oV{}class BD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){zE||(zE=n)}(new BD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).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"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(m0=m0||document.querySelector("base"),m0?m0.getAttribute("href"):null);return null==t?null:function(n){ex=ex||document.createElement("a"),ex.setAttribute("href",n);const e=ex.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){m0=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return YB(document.cookie,e)}}let ex,m0=null;const aV=new Ht("TRANSITION_ID"),Xte=[{provide:Ef,useFactory:function(n,e,t){return()=>{t.get(Og).donePromise.then(()=>{const i=Kc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},Zn.getAllAngularTestabilities=()=>e.getAllTestabilities(),Zn.getAllAngularRootElements=()=>e.getAllRootElements(),Zn.frameworkStabilizers||(Zn.frameworkStabilizers=[]),Zn.frameworkStabilizers.push(i=>{const r=Zn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?Kc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let Kte=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const _0=new Ht("EventManagerPlugins");let nx=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),y0=(()=>{class n extends cV{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(uV),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(uV))}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function uV(n){Kc().remove(n)}const UD={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/"},zD=/%COMP%/g;function ix(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let rx=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new HD(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Xt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new dne(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Xt.ShadowDom:return new hne(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=ix(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(Ie(nx),Ie(y0),Ie(a0))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class HD{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(UD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=UD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=UD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(Uo.DashCase|Uo.Important)?e.style.setProperty(t,i,r&Uo.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&Uo.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,fV(i)):this.eventManager.addEventListener(e,t,fV(i))}}class dne extends HD{constructor(e,t,i,r){super(e),this.component=i;const s=ix(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(zD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(zD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class hne extends HD{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=ix(r.id,r.styles,[]);for(let o=0;o{class n extends jD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const mV=["alt","control","meta","shift"],vne={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_V={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},wne={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let Ene=(()=>{class n extends jD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Kc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(mV.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&_V.hasOwnProperty(e)&&(e=_V[e]))}return vne[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),mV.forEach(s=>{s!=r&&wne[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Mf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return Ie($D)},token:n,providedIn:"root"}),n})(),$D=(()=>{class n extends Mf{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case si.NONE:return i;case si.HTML:return sa(i,"HTML")?Gs(i):$_(this._doc,String(i)).toString();case si.STYLE:return sa(i,"Style")?Gs(i):i;case si.SCRIPT:if(sa(i,"Script"))return Gs(i);throw new Error("unsafe value used in a script context");case si.URL:return jc(i),sa(i,"URL")?Gs(i):jo(String(i));case si.RESOURCE_URL:if(sa(i,"ResourceURL"))return Gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new L_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new B_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new jp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new Wd(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new kn(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({factory:function(){return function(n){return new $D(n.get(fn))}(Ie(Vu))},token:n,providedIn:"root"}),n})();const Ine=sB(vJ,"browser",[{provide:Xc,useValue:iV},{provide:X3,useValue:function(){BD.makeCurrent(),VD.init()},multi:!0},{provide:fn,useFactory:function(){return function(n){Yi=n}(document),document},deps:[]}]),One=[[],{provide:ju,useValue:"root"},{provide:la,useFactory:function(){return new la},deps:[]},{provide:_0,useClass:fne,multi:!0,deps:[fn,pn,Xc]},{provide:_0,useClass:Ene,multi:!0,deps:[fn]},[],{provide:rx,useClass:rx,deps:[nx,y0,a0]},{provide:yf,useExisting:rx},{provide:cV,useExisting:y0},{provide:y0,useClass:y0,deps:[fn]},{provide:sD,useClass:sD,deps:[pn]},{provide:nx,useClass:nx,deps:[_0,pn]},{provide:oV,useClass:Kte,deps:[]},[]];let WD=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:a0,useValue:t.appId},{provide:aV,useExisting:a0},Xte]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:One,imports:[fr,AJ]}),n})();"undefined"!=typeof window&&window;class Vne extends C{constructor(e,t){super()}schedule(e,t=0){return this}}class sx extends Vne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let bV=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class cc extends bV{constructor(e,t=bV.now){super(e,()=>cc.delegate&&cc.delegate!==this?cc.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return cc.delegate&&cc.delegate!==this?cc.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const zne=new class extends cc{}(class extends sx{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),Qc=new O(n=>n.complete());function b0(n){return n?function(n){return new O(e=>n.schedule(()=>e.complete()))}(n):Qc}function sn(...n){let e=n[n.length-1];return Te(e)?(n.pop(),ke(n,e)):In(n)}function Fg(n,e){return new O(e?t=>e.schedule(Gne,0,{error:n,subscriber:t}):t=>t.error(n))}function Gne({error:n,subscriber:e}){e.error(n)}class ga{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return sn(this.value);case"E":return Fg(this.error);case"C":return b0()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new ga("N",e):ga.undefinedValueNotification}static createError(e){return new ga("E",void 0,e)}static createComplete(){return ga.completeNotification}}ga.completeNotification=new ga("C"),ga.undefinedValueNotification=new ga("N",void 0);class ox extends y{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(ox.dispatch,this.delay,new Wne(e,this.destination)))}_next(e){this.scheduleMessage(ga.createNext(e))}_error(e){this.scheduleMessage(ga.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(ga.createComplete()),this.unsubscribe()}}class Wne{constructor(e,t){this.notification=e,this.destination=t}}class Df extends oe{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new qne(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new $;if(this.isStopped||this.hasError?o=C.EMPTY:(this.observers.push(e),o=new Z(this,e)),r&&e.add(e=new ox(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class qne{constructor(e,t){this.time=e,this.value=t}}function is(n,e){return"function"==typeof e?t=>t.pipe(is((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new Yne(n))}class Yne{constructor(e){this.project=e}call(e,t){return t.subscribe(new Xne(e,this.project))}}class Xne extends we{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new _t(this),r=this.destination;r.add(i),this.innerSubscription=N(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const ax={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return ax.schedule(n,0);if(void 0===window.requestAnimationFrame)return ax.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let YD;function sie(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!YD){const t=Element.prototype;YD=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&YD.call(n,e)}(n,r)||(i=s,0))),i}class aie{constructor(e,t){this.componentFactory=t.get(El).resolveComponentFactory(e)}create(e){return new lie(this.componentFactory,e)}}class lie{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new Df(1),this.events=this.eventEmitters.pipe(is(i=>Nn(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(pn),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=ax.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Hn.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(me(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=ax.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new c_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class cie extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}const die={initialConfig:{},parse:{},rename:{}};class hie{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},die),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,u=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(u)try{i[l]=u(c)}catch(h){console.warn(`Failed to parse ${e} = ${c}`,h.message)}else i[l]=c}}let fie=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new hie(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=Nt({type:n,features:[Fi]}),n})();const XD={boolean:n=>"false"!=`${n}`,json:n=>"string"==typeof n?JSON.parse(n):n,function:n=>{if("function"!=typeof n)throw new Error("Expected a javascript function");return n}};var KD;const If={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://r5i95k35v5.us-east-2.awsapprunner.com/v1/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld",dataSources:["https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/kpmp/data/rui_locations.jsonld","https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/sparc/data/rui_locations.jsonld"],hubmapDataService:"",hubmapPortalUrl:"",hubmapDataUrl:"",hubmapAssetsUrl:"",hubmapToken:null!==(KD=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==KD?KD:"",useRemoteApi:!1,remoteApiEndpoint:"https://r5i95k35v5.us-east-2.awsapprunner.com/v1"},googleAnalyticsToken:"G-ERNVZ1Q4KE"};function Ei(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function wV(n,e){return function(t,i){e(t,i,n)}}function uc(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function Bi(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function SV(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function ZD(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||SV()}const CV="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",cx=ZD();class _ie{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function JD(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const TV={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function AV(n){return"string"==typeof n?TV[n.toUpperCase()]||TV.WHITE:n}function ux(n,e){if(!n)throw new Error(e||"Assertion failed")}const dc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},v0=dc.window||dc.self||dc.global,MV=dc.process||{};function Lg(){let n;if(cx&&v0.performance)n=v0.performance.now();else if(MV.hrtime){const e=MV.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const Bg={debug:cx&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Sie={enabled:!0,level:0};function Al(){}const DV={},IV={once:!0};function Cie(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let eI=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=CV,this._startTs=Lg(),this._deltaTs=Lg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new _ie("__probe-".concat(this.id,"__"),Sie),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Lg()-this._startTs).toPrecision(10))}getDelta(){return Number((Lg()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){ux(t,i)}warn(t){return this._getLogFunction(0,t,Bg.warn,arguments,IV)}error(t){return this._getLogFunction(0,t,Bg.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,Bg.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,Bg.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,Bg.debug||Bg.info,arguments,IV)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||Al,r&&[r],{tag:Cie(i)}):Al}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?cx?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=JD(r,e,t);console.log(...s)},r.src=n,Al}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...JD(n,e,t)),Al;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...JD(r,e,t)),r.src=n.toDataURL(),Al}return Al}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=et(5307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):Al}({image:r,message:s,scale:o}):Al}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||Al)}group(t,i,r={collapsed:!1}){r=RV({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Al)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=OV(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=RV({logLevel:t,message:i,args:s,opts:o}),ux(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Lg();const a=o.tag||o.message;if(o.once){if(DV[a])return Al;DV[a]=Lg()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!cx&&"string"==typeof n&&(e&&(e=AV(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=AV(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return Al}}return n.VERSION=CV,n})();function OV(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return ux(Number.isFinite(e)&&e>=0),e}function RV(n){const{logLevel:e,message:t}=n;n.logLevel=OV(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return ux("string"===r||"object"===r),Object.assign(n,n.opts)}const Ri=new eI({id:"deck"}),Vi={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Vi,"IDENTITY",{get:()=>Ri.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Zc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},PV={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},mn=new eI({id:"luma.gl"});function qo(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function dx(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function Ci(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function hx(n){return qo(dx(n),"Invalid WebGLRenderingContext"),n}function Ao(n){return qo(Ci(n),"Requires WebGL2"),n}const w0={};const E0=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Of.prototype.VERTEX_ARRAY_BINDING_OES=34229,Of.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iCi(n)?void 0:0,Wie={3074:n=>Ci(n)?void 0:36064,35723:n=>Ci(n)?void 0:4352,35977:br,32937:br,36795:(n,e)=>{const t=Ci(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(FV);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(FV);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:br,35071:br,37447:br,36063:(n,e)=>{if(!Ci(n)){const t=n.getExtension(kV);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:br,35374:br,35377:br,34852:n=>{if(!Ci(n)){const e=n.getExtension(kV);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(NV)?2147483647:65535,33001:n=>n.getExtension(NV)?16777216:65535,33e3:n=>16777216,37157:br,35373:br,35657:br,36183:br,37137:br,34045:br,35978:br,35979:br,35968:br,35376:br,35375:br,35659:br,37154:br,35371:br,35658:br,35076:br,35077:br,35380:br},LV="ANGLE_instanced_arrays",BV={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{qo(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[LV]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){qo(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{qo(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{qo(!1)},deleteQuery:()=>{qo(!1)},beginQuery:()=>{qo(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},tI={readBuffer:(n,e,t)=>{Ci(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:Ci(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!Ci(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!Ci(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=Wie[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function rre(n,{extension:e,target:t,target2:i}){const r=BV[e];qo(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let u=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?u=(...h)=>a[c](...h):"function"==typeof r[l]&&(u=r[l].bind(t))),u&&(t[l]=u,i[l]=u)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Of(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&rre(n,{extension:t,target:n.luma,target2:n})}(n,BV),function(n,{target:e,target2:t}){Object.keys(tI).forEach(i=>{if("function"==typeof tI[i]){const r=n[i]?n[i].bind(n):()=>{},s=tI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const nI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},lh=(n,e,t)=>e?n.enable(t):n.disable(t),VV=(n,e,t)=>n.hint(t,e),ja=(n,e,t)=>n.pixelStorei(t,e);function x0(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const are={3042:lh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:lh,2885:(n,e)=>n.cullFace(e),2929:lh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:lh,35723:VV,36006:(n,e)=>{const t=Ci(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:VV,2849:(n,e)=>n.lineWidth(e),32823:lh,32824:"polygonOffset",10752:"polygonOffset",35977:lh,32938:"sampleCoverage",32939:"sampleCoverage",3089:lh,3088:(n,e)=>n.scissor(...e),2960:lh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:ja,3317:ja,37440:ja,37441:ja,37443:ja,3330:ja,3332:ja,3331:ja,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:ja,32878:ja,3316:ja,3315:ja,32877:ja,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=x0(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=x0(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=x0(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=x0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=x0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function rs(n,e,t){return void 0!==e[n]?e[n]:t[n]}const lre={blendEquation:(n,e,t)=>n.blendEquationSeparate(rs(32777,e,t),rs(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(rs(32969,e,t),rs(32968,e,t),rs(32971,e,t),rs(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(rs(32824,e,t),rs(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(rs(32938,e,t),rs(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,rs(2962,e,t),rs(2967,e,t),rs(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,rs(34816,e,t),rs(36003,e,t),rs(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,rs(2964,e,t),rs(2965,e,t),rs(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,rs(34817,e,t),rs(34818,e,t),rs(34819,e,t))},jV={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Jc=(n,e)=>n.isEnabled(e),UV={3042:Jc,2884:Jc,2929:Jc,3024:Jc,32823:Jc,32926:Jc,32928:Jc,3089:Jc,2960:Jc,35977:Jc};function zV(n){for(const e in n)return!1;return!0}function cre(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||nI)){const r=e,s=UV[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=UV[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},nI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){qo(this.stateStack.length>0),Xu(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){qo(void 0!==s);const o=e[s],a=this.cache[s];cre(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function GV(n,e={}){const{enable:t=!0,copyState:i}=e;if(qo(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new hre(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in jV)ure(n,s,jV[s]);HV(n,"getParameter"),HV(n,"isEnabled")}return n.state.enable=t,n}function $V(n){qo(n.state),n.state.pop()}function Xu(n,e){if(qo(dx(n),"setParameters requires a WebGL context"),zV(e))return;const t={};for(const r in e){const s=Number(r),o=are[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)lre[r](n,e,i)}function hc(n,e,t){if(zV(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||GV(n,{copyState:!1}),n.state.push()}(n),Xu(n,e),i)r=t(n),$V(n);else try{r=t(n)}finally{$V(n)}return r}function fx(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function Vg(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function iI(n,e,t=!0){return function(n,e,t,i,r){const s=WV(n[0],e,t);let o=qV(n[1],e,i,r),a=WV(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=qV(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,Vg(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function WV(n,e,t){return Math.min(Math.round(n*e),t-1)}function qV(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const rI=fx(),bre=rI&&"undefined"!=typeof document,YV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function XV(n={}){qo(rI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},YV,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(bre&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=sI(r,n),function(n){const e=Ci(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);mn.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function sI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},YV,e);const{manageState:t,debug:i}=e;return t&&GV(n,{copyState:!1,log:(...r)=>mn.log(1,...r)()}),rI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),mn.level=Math.max(mn.level,1)):mn.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function KV(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class QV{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=KV(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(KV()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class oI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof QV?e:new QV(t,i)),this.stats[t]}}const S0="8.5.12",Rf=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new oI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==S0)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${S0}`);function on(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function aI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return on(void 0!==i,`Accessing undefined constant GL.${e}`),i}function ch(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(fx()&&mn.log(1,`luma.gl ${S0} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:S0,version:S0,log:mn,stats:Rf,globals:{modules:{},nodeIO:{}}}),globalThis;const lI={};function ma(n="id"){return lI[n]=lI[n]||1,`${n}-${lI[n]++}`}function ZV(n){return on("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function jg(n){let e=!0;for(const t in n){e=!1;break}return e}function JV(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw mn.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const Ug="Resource subclass must define virtual methods";class Ku{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){hx(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ma(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){on(e=aI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Ci(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=Ci(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const h=i?ch(this.gl,l):l;o[h]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[h]=ch(this.gl,o[h]))}}return o}setParameter(e,t){on(e=aI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Ci(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=aI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return JV(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(Ug)}_deleteHandle(){throw new Error(Ug)}_bindHandle(e){throw new Error(Ug)}_getOptsFromHandle(){throw new Error(Ug)}_getParameter(e,t){throw new Error(Ug)}_setParameter(e,t){throw new Error(Ug)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=Rf.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];Rf.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=Rf.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=Rf.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function cI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function C0(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function Ore({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return _a.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return _a.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=uI("Accessor",e,Pre)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const tj={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},Nre={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:tj},kre={removedProps:tj};class lr extends Ku{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/_a.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/_a.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=uI("Buffer",e,Nre),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=uI("Buffer",e,kre))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new _a(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;on(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(Ao(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return Ao(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){Ao(this.gl);const s=C0(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const u=Math.min(o,l);return on((r=r||u)<=u),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(on(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){on(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=cI(e);return on(s),this.setAccessor(new _a(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){on(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/C0(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new _a(this.accessor,{type:cI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return mn.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return mn.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return mn.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return mn.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new _a(this.accessor,e),this}}const dI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},nj={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},ij={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},Bre=[9729,9728],rj=globalThis.WebGLBuffer||function(){};class Pf extends Ku{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=dI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=Ci(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=dI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ma("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(D=>this.initialize(Object.assign({},e,{pixels:D,data:D}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:u}=e;t||(t=r);let{width:h,height:f,dataFormat:g,type:m,compressed:v=!1,mipmaps:x=!0}=e;const{depth:U=0}=e;return({width:h,height:f,compressed:v,dataFormat:g,type:m}=this._deduceParameters({format:s,type:m,dataFormat:g,compressed:v,data:t,width:h,height:f})),this.width=h,this.height=f,this.depth=U,this.format=s,this.type=m,this.dataFormat=g,this.border=o,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),x&&this._isNPOT()&&(mn.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),x=!1,this._updateForNPOT(l)),this.mipmaps=x,this.setImageData({data:t,width:h,height:f,depth:U,format:s,type:m,dataFormat:g,border:o,mipmaps:x,parameters:c,compressed:v}),x&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:u=this.type,width:h=this.width,height:f=this.height,dataFormat:g=this.dataFormat,compressed:m=!1}=e;c||(c=i),({type:u,dataFormat:g,compressed:m,width:h,height:f}=this._deduceParameters({format:s,type:u,dataFormat:g,compressed:m,data:c,width:h,height:f}));const{gl:v}=this;v.bindTexture(this.target,this.handle);let x=null;({data:c,dataType:x}=this._getDataType({data:c,compressed:m}));let U,D=0;return hc(this.gl,l,()=>{switch(x){case"null":v.texImage2D(t,r,s,h,f,o,g,u,c);break;case"typed-array":v.texImage2D(t,r,s,h,f,o,g,u,c,a);break;case"buffer":U=Ao(v),U.bindBuffer(35052,c.handle||c),U.texImage2D(t,r,s,h,f,o,g,u,a),U.bindBuffer(35052,null);break;case"browser-object":Ci(v)?v.texImage2D(t,r,s,h,f,o,g,u,c):v.texImage2D(t,r,s,g,u,c);break;case"compressed":for(const[ie,_e]of c.entries())v.compressedTexImage2D(t,ie,_e.format,_e.width,_e.height,o,_e.data),D+=_e.levelSize;break;default:on(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===x?D:c&&c.byteLength?c.byteLength:this.width*this.height*(nj[this.dataFormat]||4)*(ij[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:u=this.type,dataFormat:h=this.dataFormat,compressed:f=!1,offset:g=0,border:m=this.border,parameters:v={}}){if(({type:u,dataFormat:h,compressed:f,width:o,height:a}=this._deduceParameters({format:c,type:u,dataFormat:h,compressed:f,data:i,width:o,height:a})),on(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const x=i;i=x.data,o=x.shape[0],a=x.shape[1]}i instanceof lr&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),hc(this.gl,v,()=>{if(f)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,h,u,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,h,u,i,g);else if(i instanceof rj){const x=Ao(this.gl);x.bindBuffer(35052,i),x.texSubImage2D(e,l,r,s,o,a,h,u,g),x.bindBuffer(35052,null)}else Ci(this.gl)?Ao(this.gl).texSubImage2D(e,l,r,s,o,a,h,u,i):this.gl.texSubImage2D(e,l,r,s,h,u,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return mn.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof lr?{data:e.handle,dataType:"buffer"}:e instanceof rj?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=dI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},on(r,"Could not deduced texture size"),on(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),on(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:on(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Ci(this.gl)||!this.width||!this.height||ZV(this.width)&&ZV(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===Bre.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function Vre(n,e){return on("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class ya extends Pf{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return Pf.isSupported(e,t)}constructor(e,t={}){hx(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:Vre(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const Nf="EXT_color_buffer_float",sj={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Nf,bpp:2},33327:{gl2:Nf,bpp:4},34842:{gl2:Nf,bpp:8},33326:{gl2:Nf,bpp:4},33328:{gl2:Nf,bpp:8},34836:{gl2:Nf,bpp:16},35898:{gl2:Nf,bpp:4}};class zg extends Ku{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=Ci(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,sj)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return on(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&Ci(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*sj[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const uj="clear: bad arguments";function fI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),on(0!==o,uj),hc(n,s,()=>{n.clear(o)})}function dj(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function li(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){dj(s,i,r,o,a,"next",l)}function a(l){dj(s,i,r,o,a,"throw",l)}o(void 0)})}}const pI=[34069,34070,34071,34072,34073,34074];let Wre=(()=>{class n extends Pf{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){hx(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return li(function*(){const{gl:u}=c,h=r||s,f=yield Promise.all(pI.map(g=>{const m=h[g];return Promise.all(Array.isArray(m)?m:[m])}));c.bind(),pI.forEach((g,m)=>{f[m].length>1&&!1!==c.opts.mipmaps&&mn.warn(`${c.id} has mipmap and multiple LODs.`)(),f[m].forEach((v,x)=>{t&&i?u.texImage2D(g,x,a,t,i,o,a,l,v):u.texImage2D(g,x,a,a,l,v)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:u=5121}=t,{gl:h}=this,f=o||a;return this.bind(),f instanceof Promise?f.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?h.texImage2D(i,0,c,r,s,l,c,u,f):h.texImage2D(i,0,c,c,u,f),this}}return n.FACES=pI,n})();class qre extends Pf{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return Ci(e)}constructor(e,t={}){Ao(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:u,parameters:h={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),hc(this.gl,h,()=>{ArrayBuffer.isView(u)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,u),u instanceof lr&&(this.gl.bindBuffer(35052,u.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(u&&u.byteLength?u.byteLength:this.width*this.height*this.depth*(nj[this.dataFormat]||4)*(ij[this.type]||1),"Texture"),this.loaded=!0,this}}function hj(n,e){on(n instanceof ya||n instanceof Wre||n instanceof qre);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function Yre(n,e){const{gl:t,width:i,height:r,id:s}=n;return new ks(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function px(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=T0(n);on(u);const{gl:f,handle:g,attachments:m}=u;a=a||u.width,l=l||u.height,36064===s&&null===g&&(s=1028),on(m[s]),c=c||m[s].type,o=function(n,e,t,i,r){if(n)return n;return new(C0(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return on(!1),0}}(t))}(o,c,r,a,l),c=c||cI(o);const v=f.bindFramebuffer(36160,g);return f.readPixels(t,i,a,l,r,c,o),f.bindFramebuffer(36160,v||null),h&&u.delete(),o}function gI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=px(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=Ore({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const u in i){const h=i[u];(Array.isArray(h)?h[0]:h).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return on(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&mn.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){on(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof zg)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[u,h=0,f=0]=l;c=u,this._attachTexture({attachment:a,texture:u,layer:h,level:f})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(ks.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&fI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){Ao(n),hc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:on(!1,uj)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return mn.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return mn.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return mn.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return mn.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return mn.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return mn.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=Ao(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=ch(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?ch(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?ch(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(gI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>mn.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=gI(this,{targetMaxHeight:100});return mn.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new ya(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new zg(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new zg(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&on(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof zg?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:Ao(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:on(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return Ci(n)?n:null}(this.gl);t?t.readBuffer(e):on(36064===e||1029===e,fj),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=Ao(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):on(1===e.length&&(36064===e[0]||1029===e[0]),fj)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in pj)void 0===n.luma.caps[e]&&(n.luma.caps[e]=mj(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}ks.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const pj={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new ya(n,{format:6408,type:5126,dataFormat:6408}),t=new ks(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function mI(n,e){return gj(n,e)}function gj(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>mj(n,t))}function mj(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=pj[e];let i;on(t,e);const r=Ci(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:on(!1);return i}(n,e)),n.luma.caps[e]||mn.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class _I{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},ose=1/Math.PI*180,ase=1/180*Math.PI,Dr={};function cse(n,{precision:e=Dr.precision||4}={}){return n=function(n){return Math.round(n/Dr.EPSILON)*Dr.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function uh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Qu(n,e,t){if(uh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*ase,void 0)}(n)}function dse(n){return function(n,e){return Qu(n,t=>t*ose,void 0)}(n)}function Ua(n,e,t){return Qu(n,i=>Math.max(e,Math.min(t,i)))}function gx(n,e,t){return uh(n)?n.map((i,r)=>gx(i,e[r],t)):t*e+(1-t)*n}function M0(n,e,t){const i=Dr.EPSILON;t&&(Dr.EPSILON=t);try{if(n===e)return!0;if(uh(n)&&uh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+cse(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(Rj.length=n.length,i=Rj):i=Oj,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function Pj(n){return n&&n[Symbol.asyncIterator]}function xI(n,e=(()=>!0)){return Array.isArray(n)?Nj(n,e,[]):e(n)?[n]:[]}function Nj(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function kj(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",ot(ot(ot({},Bse[n.type]),e),n)):null}function Fj(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function Lj(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function Bj(n){n.push(n.shift())}function CI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function Vj({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,u=r&&c,h=CI(t,e),f=t.state.constant;if(!u&&i>=h)return;const g=f?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!f){const U=s;s=(D,ie)=>t._normalizeConstant(U(D,ie))}const m=f?(U,D)=>s(g,D):(U,D)=>s(g.subarray(U,U+a),D),v=n.getData({length:i}),x=new Float32Array(h);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return SI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((u,h)=>i(u+a,h)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===vx||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=vx}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=kse}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==vx}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,u]of s)o.call(r,this,{data:t,startRow:c,endRow:u,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const x=h*a+l;for(let U=0;Uu?c.set(ie,v):(e._normalizeValue(ie,U.target,0),Nse({target:c,source:U.target,start:v,count:_e}));v+=_e*u}else e._normalizeValue(ie,c,v),v+=u}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let AI={};function Do(n){Ri.level>0&&AI[n]&&AI[n].call(...arguments)}function za(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const jj="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",Use=`#version 300 es\n${jj}`;function Uj(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function zj(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?Use:e>300?`#version ${e}\n${jj}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return za(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class Hj extends Ku{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return Ci(e)}constructor(e,t={}){Ao(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,jg(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,mn.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof lr?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class $se{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof lr?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&on(Ci(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new Hj(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],on(i[s]instanceof lr)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new lr(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function Gj(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const R0="vs",Yse={[R0]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},wx="__LUMA_INJECT_DECLARATIONS__",$j=/void\s+main\s*\([^)]*\)\s*\{\n?/,Wj=/}\n?[^{}]*$/,DI=[];function qj(n,e,t,i=!1){const r=e===R0;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),DI.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(Wj,l=>a+l));break;case"fs:#decl":r||(n=n.replace(wx,a));break;case"fs:#main-start":r||(n=n.replace($j,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(Wj,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(wx,""),i&&(n=n.replace(/\}\s*$/,s=>s+Yse[e])),n}function II(n){const e={};return za(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const Xse={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},Ex="transform_uSize_",Yj="transform_position";const ioe={10241:9728,10240:9728,10242:33071,10243:33071};class soe{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const h in this.samplerTextureMap)a[h]=i[this.samplerTextureMap[h]];this._setSourceTextureParameters();const u=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${Ex}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${Ex}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,u)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=px(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return za(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new lr(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new ks(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters(ioe)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=hj(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const u=l.split("\n"),h=u.slice();if(u.forEach((f,g,m)=>{if(s>0){const v=function(n,e){const t={},i=function(n){return Uj(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${Ex}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),h=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return za(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":h},samplerTextureMap:t}}return null}(f,e);if(v){const{updatedLine:x,inject:U}=v;h[g]=x,c=II([c,U]),Object.assign(a,v.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=Uj(n,["varying","out"]);return t&&t.name===e?t.type:null}(f,t))}),t){on(i);const f=`${Ex}${t}`;c=II([c,{"vs:#decl":`uniform vec2 ${f};\n`,"vs:#main-start":` vec2 ${Yj} = transform_getPos(${f});\n gl_Position = vec4(${Yj}, 0, 1.);\n`}])}l=h.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=II([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||zj({version:Gj(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[Xse].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const OI={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function aoe(n){let e=Xj(n);return"object"===e?n?"type"in n?Object.assign({},n,OI[n.type]):"value"in n?(e=Xj(n.value),Object.assign({type:e},n,OI[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},OI[e])}function Xj(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class RI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:u,fragmentShader:h}){za("string"==typeof e),this.name=e,this.vs=t||u,this.fs=i||h,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=aoe(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:za(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&za(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function doe(n){return function(n){const e={},t={};return PI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}(Qj(n))}function PI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof RI||(za("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),za(t.name,"shader module has no name"),(t=new RI(t)).dependencies=Qj(t.dependencies)),t))}const NI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},kf={};function boe(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(NI).forEach(n=>{kf[n]=n});const kI={};function Zj(n,e,t={}){const i=NI[e];if(za(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in kI)return kI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),kI[e]=l,l}function xx(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=NI[e];za(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return za(!1===r||!0===r),r}(n,t))}function Gg(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const Jj=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],xoe=[...Jj,[Gg("attribute"),"in $1"],[Gg("varying"),"out $1"]],Soe=[...Jj,[Gg("varying"),"in $1"]],eU=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Coe=[...eU,[Gg("in"),"attribute $1"],[Gg("out"),"varying $1"]],Toe=[...eU,[Gg("in"),"varying $1"]],FI="gl_FragColor",LI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,Aoe=/void\s+main\s*\([^)]*\)\s*\{\n?/;function Sx(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const Ooe=`\n\n${wx}\n\n`,tU={[R0]:"vertex",fs:"fragment"};function nU(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){za("string"==typeof t,"shader source must be a string");const h=i===R0,f=t.split("\n");let g=100,m="",v=t;0===f[0].indexOf("#version ")?(g=300,m=f[0],v=f.slice(1).join("\n")):m=`#version ${g}`;const x={};r.forEach(Ne=>{Object.assign(x,Ne.getDefines())}),Object.assign(x,s);let U=c?`${m}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${tU[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${tU[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:boe(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return xx(n,kf.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),xx(n,kf.GLSL_DERIVATIVES)&&Zj(n,kf.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),xx(n,kf.GLSL_FRAG_DATA)&&Zj(n,kf.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),xx(n,kf.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(x)}\n${h?"":"precision highp float;\n\n"}\n`:`${m}\n`;const D=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),ie={},_e={},Pe={};for(const Ne in a){const Ve="string"==typeof a[Ne]?{injection:a[Ne],order:0}:a[Ne],bt=Ne.match(/^(v|f)s:(#)?([\w-]+)$/);if(bt){const At=bt[3];bt[2]?"decl"===At?_e[Ne]=[Ve]:Pe[Ne]=[Ve]:ie[Ne]=[Ve]}else Pe[Ne]=[Ve]}for(const Ne of r){u&&Ne.checkDeprecations(v,u),U+=Ne.getModuleSource(i,g);const bt=Ne.injections[i];for(const xt in bt){const At=xt.match(/^(v|f)s:#([\w-]+)$/);if(At){const Wt="decl"===At[2]?_e:Pe;Wt[xt]=Wt[xt]||[],Wt[xt].push(bt[xt])}else ie[xt]=ie[xt]||[],ie[xt].push(bt[xt])}}return U+=Ooe,U=qj(U,i,_e),U+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(D[i],ie),U+=v,U=qj(U,i,Pe),U=function(n,e,t){switch(e){case 300:return t?Sx(n,xoe):function(n){const e=(n=Sx(n,Soe)).match(LI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${FI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(Aoe,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${FI}\\b`,"g"),t)}return n}(n);case 100:return t?Sx(n,Coe):function(n){const e=(n=Sx(n,Toe)).match(LI);if(e){const t=e[1];n=n.replace(LI,"").replace(new RegExp(`\\b${t}\\b`,"g"),FI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(U,l?100:g,h),U}function Noe(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const joe={5126:Ir.bind(null,"uniform1fv",Ha,1,Io),35664:Ir.bind(null,"uniform2fv",Ha,2,Io),35665:Ir.bind(null,"uniform3fv",Ha,3,Io),35666:Ir.bind(null,"uniform4fv",Ha,4,Io),5124:Ir.bind(null,"uniform1iv",dh,1,Io),35667:Ir.bind(null,"uniform2iv",dh,2,Io),35668:Ir.bind(null,"uniform3iv",dh,3,Io),35669:Ir.bind(null,"uniform4iv",dh,4,Io),35670:Ir.bind(null,"uniform1iv",dh,1,Io),35671:Ir.bind(null,"uniform2iv",dh,2,Io),35672:Ir.bind(null,"uniform3iv",dh,3,Io),35673:Ir.bind(null,"uniform4iv",dh,4,Io),35674:Ir.bind(null,"uniformMatrix2fv",Ha,4,Ju),35675:Ir.bind(null,"uniformMatrix3fv",Ha,9,Ju),35676:Ir.bind(null,"uniformMatrix4fv",Ha,16,Ju),35678:oo,35680:oo,5125:Ir.bind(null,"uniform1uiv",Cx,1,Io),36294:Ir.bind(null,"uniform2uiv",Cx,2,Io),36295:Ir.bind(null,"uniform3uiv",Cx,3,Io),36296:Ir.bind(null,"uniform4uiv",Cx,4,Io),35685:Ir.bind(null,"uniformMatrix2x3fv",Ha,6,Ju),35686:Ir.bind(null,"uniformMatrix2x4fv",Ha,8,Ju),35687:Ir.bind(null,"uniformMatrix3x2fv",Ha,6,Ju),35688:Ir.bind(null,"uniformMatrix3x4fv",Ha,12,Ju),35689:Ir.bind(null,"uniformMatrix4x2fv",Ha,8,Ju),35690:Ir.bind(null,"uniformMatrix4x3fv",Ha,12,Ju),35678:oo,35680:oo,35679:oo,35682:oo,36289:oo,36292:oo,36293:oo,36298:oo,36299:oo,36300:oo,36303:oo,36306:oo,36307:oo,36308:oo,36311:oo},Uoe={},zoe={},Hoe={},iU=[0];function BI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(iU[0]=n,n=iU);const r=n.length;if(r%e&&mn.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function Ir(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{on(s===u,"Uniform length cannot change.");for(let f=0;f{const a=String(o+e);return aU(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:oU(s,c),warnings:oU(o,c)}}(i,this.source,this.shaderType,this.id);throw mn.error(`GLSL compilation errors in ${r}\n${s}`)(),mn.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class VI extends P0{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class jI extends P0{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const Fs=5126,N0=5124,k0=5125,UI={[Fs]:[Fs,1,"float"],35664:[Fs,2,"vec2"],35665:[Fs,3,"vec3"],35666:[Fs,4,"vec4"],[N0]:[N0,1,"int"],35667:[N0,2,"ivec2"],35668:[N0,3,"ivec3"],35669:[N0,4,"ivec4"],[k0]:[k0,1,"uint"],36294:[k0,2,"uvec2"],36295:[k0,3,"uvec3"],36296:[k0,4,"uvec4"],35670:[Fs,1,"bool"],35671:[Fs,2,"bvec2"],35672:[Fs,3,"bvec3"],35673:[Fs,4,"bvec4"],35674:[Fs,8,"mat2"],35685:[Fs,8,"mat2x3"],35686:[Fs,8,"mat2x4"],35675:[Fs,12,"mat3"],35687:[Fs,12,"mat3x2"],35688:[Fs,12,"mat3x4"],35676:[Fs,16,"mat4"],35689:[Fs,16,"mat4x2"],35690:[Fs,16,"mat4x3"]};function fU(n){const e=UI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function pU(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=Fs}for(const t in UI){const[i,r,s]=UI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class Aae{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!Ci(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=fU(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new _a(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=fU(i),l={location:e,name:t,accessor:new _a({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const Mae=35981,Dae=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class mU extends Ku{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",Dae),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=Mae}=e;return this.hash=t||"",this.vs="string"==typeof i?new VI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new jI(this.gl,{id:`${e.id}-fs`,source:r}):r,on(this.vs instanceof VI),on(this.fs instanceof jI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(Ao(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new Aae(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:u=c>0,vertexArray:h=null,transformFeedback:f,framebuffer:g,parameters:m={},uniforms:v,samplers:x}){if((v||x)&&(mn.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(v||{})),mn.priority>=e){const U=g?g.id:"default",D=`mode=${ch(this.gl,t)} verts=${i} instances=${c} indexType=${ch(this.gl,l)} isInstanced=${u} isIndexed=${a} Framebuffer=${U}`;mn.log(e,D)()}return on(h),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||u&&0===c||(h.bindForDraw(i,c,()=>{if(void 0!==g&&(m=Object.assign({},m,{framebuffer:g})),f){const U=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return on(!1),0}}(t);f.begin(U)}this._bindTextures(),hc(this.gl,m,()=>{a&&u?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&Ci(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):u?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),f&&f.end()}),0))}setUniforms(e={}){mn.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!Woe(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof ks&&(s=s.texture),s instanceof Pf)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&qoe(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new VI({handle:r});break;case 35632:i.fs=new jI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ma(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),mn.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),mn.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||mn.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),u=this._getHash(t),h=this._getHash(i),f=c.map(ie=>this._getHash(ie.name)).sort(),g=o.map(ie=>this._getHash(ie)),m=Object.keys(r).sort(),v=Object.keys(s).sort(),x=[],U=[];for(const ie of m)x.push(this._getHash(ie)),x.push(this._getHash(r[ie]));for(const ie of v)U.push(this._getHash(ie)),U.push(this._getHash(s[ie]));const D=`${u}/${h}D${x.join("/")}M${f.join("/")}I${U.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[D]){const ie=function(n,e){const{vs:t,fs:i}=e,r=doe(e.modules||[]);return{gl:n,vs:nU(n,Object.assign({},e,{source:t,type:R0,modules:r})),fs:nU(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:Noe(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[D]=new mU(this.gl,{hash:D,vs:ie.vs,fs:ie.fs,varyings:o,bufferMode:a}),this._getUniforms[D]=ie.getUniforms||(_e=>{}),this._useCounts[D]=0}return this._useCounts[D]++,this._programCache[D]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":v0.chrome?"Chrome":v0.safari?"Safari":v0.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ga(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ga.MAX_ATTRIBUTES=Ga.MAX_ATTRIBUTES||e.getParameter(34921),Ga.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ga._setConstantFloatArray(e,t,i);break;case Int32Array:Ga._setConstantIntArray(e,t,i);break;case Uint32Array:Ga._setConstantUintArray(e,t,i);break;default:on(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ga.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return on(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:u}=i,{gl:h,gl2:f}=this;return e=Number(e),this.bind(()=>{h.bindBuffer(34962,t.handle),c?(on(Ci(h)),f.vertexAttribIPointer(e,r,s,o,a)):h.vertexAttribPointer(e,r,s,l,o,a),h.enableVertexAttribArray(e),f.vertexAttribDivisor(e,u||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ga.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new lr(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!Mx||Mx.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const Fae=/^(.+)__LOCATION_([0-9]+)$/,Lae=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class Bae{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ga(e),JV(this,"VertexArray","v6.0",Lae),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new lr(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,mn.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const u=_a.resolve(l.accessor,this.accessors[o]||{},i,r),{size:h,type:f}=u;return on(Number.isFinite(h)&&Number.isFinite(f)),{location:o,accessor:u}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=Fae.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof lr)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof lr)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof lr))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof lr){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return mn.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function L0(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=L0(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function _U(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,u,h,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof lr){const f=e,{data:g,changed:m}=f.getDebugData();let v;return u=m?"*":"",h=g,l=f.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?v=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${ch(r,s)})`:(c=!0,v=`${l} bytes`),{[i]:`${u}${L0(h,{size:o,isInteger:c})}`,"Format ":v}}return h=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${L0(h,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function Uae(n,e){const{type:t,size:i}=e,r=pU(t,i);return r?`${n} (${r.name})`:n}function yU({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){on(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const f of l)!f.match(".*_.*")&&!f.match(s)&&zI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;for(const f of l)f.match(s)&&zI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;for(const f of l)a[f]||zI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;let u=0;const h={};if(!i)for(const f in t){const g=t[f];a[f]||(u++,h[f]={Type:`NOT USED: ${g}`,[n]:L0(g)})}return{table:a,count:c,unusedTable:h,unusedCount:u}}function zI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?L0(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function bU(n){const{type:e,size:t}=n.accessor,i=pU(e,t);return i?`${i.name} ${n.name}`:n.name}const Gae={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function Wae(n,e){const{attributeMap:t=Gae}=e||{};return t&&t[n]||n}function qae(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}on(Number.isFinite(e.size),`attribute ${n} needs size`)}const vU=()=>{},Kae={};class Yg{constructor(e,t={}){const{id:i=ma("model")}=t;on(dx(e)),this.id=i,this.gl=e,this.id=t.id||ma("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||F0.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},on(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return on(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return on(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=Wae(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=ot({},o);delete c.value,i[a]=[new lr(n,l),c],qae(s,c)}}if(r){const s=r.value||r;on(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new lr(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(jg(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return fI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),mn.priority>=2&&(c=this._logDrawCallStart(2));const u=this.vertexArray.getDrawParams(),{isIndexed:h=u.isIndexed,indexType:f=u.indexType,indexOffset:g=u.indexOffset,vertexArrayInstanced:m=u.isInstanced}=this.props;m&&!this.isInstanced&&mn.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:v,instanceCount:x}=this,{onBeforeRender:U=vU,onAfterRender:D=vU}=this.props;U(),this.program.setUniforms(this.uniforms);const ie=this.program.draw(Object.assign(Kae,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:h,indexType:f,isInstanced:v,instanceCount:x,offset:h?g:0}));return D(),mn.priority>=2&&this._logDrawCallEnd(c,l,i),ie}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return mn.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}on(t instanceof mU,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Bae(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof lr&&t.delete()}}_setAnimationProps(e){this.animated&&on(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(jg(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new Hj(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:mn.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=_U(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${Uae(s.name,a)}`),t[o]=_U(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=yU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:u}=yU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});u>0&&mn.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&mn.log("UNUSED UNIFORMS",Object.keys(a))();const h=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${bU(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${bU(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);mn.table(e,s)(),mn.table(e,o)(),mn.table(e+1,h)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),mn.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class HI{static isSupported(e){return Ci(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();on(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Yg(t,Object.assign({},e,{fs:e.fs||zj({version:Gj(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(jg(n.feedbackBuffers)&&jg(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new $se(e,t)),function(n){return!(jg(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new soe(e,t)),on(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function Dx(){}const Jae={onStart:Dx,onUpdate:Dx,onInterrupt:Dx,onEnd:Dx};class B0{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=ot(ot({},Jae),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const ale={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new B0(i),this.attribute=t,this.attributeInTransition=new TI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=Lj(e.size);return new HI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new lr(e,r),new lr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;Bj(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)Vj(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=CI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:Fj(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new B0(i),this.attribute=t,this.attributeInTransition=new TI(e,Sn(ot({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new ya(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new ks(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=Lj(e.size);return new HI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new lr(e,r),new lr(e,r),new lr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)Vj(ot({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=CI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:Fj(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),Bj(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),px(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class lle{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=HI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void Ri.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=ale[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(Ri.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const wU="attributeManager.invalidate";class ple{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new lle(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;Do("attribute.updateStart",t),t.allocate(i)&&Do("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,Do("attribute.updateEnd",t,i))}}function xU(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function SU(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=kj(r)))return;const o=yle[r.type];if(!o)return void Ri.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(Sn(ot({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const Ix={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:vle}=Ix;function xle(n,e){if(!n.transitions)return null;const t={},i=$I(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&GI(n[r],e[r],s)&&(t[r]=!0)}return t}function CU({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=GI(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=GI(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function GI(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function Tle(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!Rle(i[r],e[r])){t=n(i),e=i;break}return t}}function Ple(n,e){if(!e)return n;const t=ot(ot({},n),e);if("defines"in e&&(t.defines=ot(ot({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=ot({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function WI(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],g=e[11],m=e[12],v=e[13],x=e[14],U=e[15],D=t*a-i*o,ie=t*l-r*o,_e=t*c-s*o,Pe=i*l-r*a,Ne=i*c-s*a,Ve=r*c-s*l,bt=u*v-h*m,xt=u*x-f*m,At=u*U-g*m,Bt=h*x-f*v,Wt=h*U-g*v,gt=f*U-g*x,mt=D*gt-ie*Wt+_e*Bt+Pe*At-Ne*xt+Ve*bt;return mt?(n[0]=(a*gt-l*Wt+c*Bt)*(mt=1/mt),n[1]=(r*Wt-i*gt-s*Bt)*mt,n[2]=(v*Ve-x*Ne+U*Pe)*mt,n[3]=(f*Ne-h*Ve-g*Pe)*mt,n[4]=(l*At-o*gt-c*xt)*mt,n[5]=(t*gt-r*At+s*xt)*mt,n[6]=(x*_e-m*Ve-U*ie)*mt,n[7]=(u*Ve-f*_e+g*ie)*mt,n[8]=(o*Wt-a*At+c*bt)*mt,n[9]=(i*At-t*Wt-s*bt)*mt,n[10]=(m*Ne-v*_e+U*D)*mt,n[11]=(h*_e-u*Ne-g*D)*mt,n[12]=(a*xt-o*Bt-l*bt)*mt,n[13]=(t*Bt-i*xt+r*bt)*mt,n[14]=(v*ie-m*Pe-x*D)*mt,n[15]=(u*Pe-h*ie+f*D)*mt,n):null}function Ff(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],g=e[10],m=e[11],v=e[12],x=e[13],U=e[14],D=e[15],ie=t[0],_e=t[1],Pe=t[2],Ne=t[3];return n[0]=ie*i+_e*a+Pe*h+Ne*v,n[1]=ie*r+_e*l+Pe*f+Ne*x,n[2]=ie*s+_e*c+Pe*g+Ne*U,n[3]=ie*o+_e*u+Pe*m+Ne*D,n[4]=(ie=t[4])*i+(_e=t[5])*a+(Pe=t[6])*h+(Ne=t[7])*v,n[5]=ie*r+_e*l+Pe*f+Ne*x,n[6]=ie*s+_e*c+Pe*g+Ne*U,n[7]=ie*o+_e*u+Pe*m+Ne*D,n[8]=(ie=t[8])*i+(_e=t[9])*a+(Pe=t[10])*h+(Ne=t[11])*v,n[9]=ie*r+_e*l+Pe*f+Ne*x,n[10]=ie*s+_e*c+Pe*g+Ne*U,n[11]=ie*o+_e*u+Pe*m+Ne*D,n[12]=(ie=t[12])*i+(_e=t[13])*a+(Pe=t[14])*h+(Ne=t[15])*v,n[13]=ie*r+_e*l+Pe*f+Ne*x,n[14]=ie*s+_e*c+Pe*g+Ne*U,n[15]=ie*o+_e*u+Pe*m+Ne*D,n}function Rx(n,e,t){var o,a,l,c,u,h,f,g,m,v,x,U,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],u=e[4],h=e[5],f=e[6],g=e[7],m=e[8],v=e[9],x=e[10],U=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=f,n[7]=g,n[8]=m,n[9]=v,n[10]=x,n[11]=U,n[12]=o*i+u*r+m*s+e[12],n[13]=a*i+h*r+v*s+e[13],n[14]=l*i+f*r+x*s+e[14],n[15]=c*i+g*r+U*s+e[15]),n}function Px(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function AU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+u*i,n[6]=a*r+h*i,n[7]=l*r+f*i,n[8]=c*r-s*i,n[9]=u*r-o*i,n[10]=h*r-a*i,n[11]=f*r-l*i,n}function MU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+u*i,n[2]=a*r+h*i,n[3]=l*r+f*i,n[4]=c*r-s*i,n[5]=u*r-o*i,n[6]=h*r-a*i,n[7]=f*r-l*i,n}function IU(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function Nx(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}function OU(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,f=c*s+o*r-a*i,g=-o*i-a*r-l*s;return n[0]=u*c+g*-o+h*-l-f*-a,n[1]=h*c+g*-a+f*-o-u*-l,n[2]=f*c+g*-l+u*-a-h*-o,n[3]=e[3],n}!function(){var n=new ba(4);ba!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const RU=[0,0,0,0],rce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],sce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],oce=[0,0,0],ace=[0,0,0],lce=Ox(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=RU,l=RU,c=n.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:f}=PU(n,e,t);return f&&(l=n.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=Nx([],l,o),s=i||s,o=Ff([],r,s),o=Ff([],o,rce)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(n,t,i),u=n.getDistanceScales(),h=[n.width*e,n.height*e],f=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:f,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:oce,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const m=n.getDistanceScales(c);switch(t){case Vi.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerMeter2;break;case Vi.LNGLAT:case Vi.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerDegree2;break;case Vi.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,m.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,m.unitsPerMeter2[2]]}}return g});function PU(n,e,t=ace){let r,i=t,s=!0;switch(r=e===Vi.LNGLAT_OFFSETS||e===Vi.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Zc.WEB_MERCATOR:(e===Vi.LNGLAT||e===Vi.CARTESIAN)&&(s=!1);break;case Zc.WEB_MERCATOR_AUTO_OFFSET:e===Vi.LNGLAT?i=r:e===Vi.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Zc.IDENTITY:i=n.position.map(Math.fround);break;case Zc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class hce extends mx{get ELEMENTS(){return Zu(!1),0}get RANK(){return Zu(!1),0}toString(){let e="[";if(Dr.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new qn).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],u=n[9],h=n[10],f=n[11],g=n[12],m=n[13],v=n[14],x=n[15];return(e*o-t*s)*(h*x-f*v)-(e*a-i*s)*(u*x-f*m)+(e*l-r*s)*(u*v-h*m)+(t*a-i*o)*(c*x-f*g)-(t*l-r*o)*(c*v-h*g)+(i*l-r*a)*(c*m-u*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return WI(this,this),this.check()}multiplyLeft(e){return Ff(this,e,this),this.check()}multiplyRight(e){return Ff(this,this,e),this.check()}rotateX(e){return AU(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],f=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-u*i,n[2]=a*r-h*i,n[3]=l*r-f*i,n[8]=s*i+c*r,n[9]=o*i+u*r,n[10]=a*i+h*r,n[11]=l*i+f*r}(this,this,e),this.check()}rotateZ(e){return MU(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,u,h,f,g,m,v,x,U,D,ie,_e,Pe,Ne,Ve,bt,xt,At,Bt,Wt,gt,mt,jt,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const qI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function ed(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const pc=Math.PI,VU=pc/4,gc=pc/180,YI=180/pc,XI=4003e4,Fx=85.051129;function Lx([n,e]){return ed(Number.isFinite(n)),ed(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*gc+pc)/(2*pc),512*(pc+Math.log(Math.tan(VU+e*gc*.5)))/(2*pc)]}function Zg([n,e]){const t=n/512*(2*pc)-pc,i=2*(Math.atan(Math.exp(e/512*(2*pc)-pc))-VU);return[t*YI,i*YI]}function KI({latitude:n,longitude:e,highPrecision:t=!1}){ed(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*gc),o=512/360,a=o/s,l=512/XI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=gc*Math.tan(n*gc)/s,h=512/XI*c,f=h/a*l;i.unitsPerDegree2=[0,o*c/2,h],i.unitsPerMeter2=[f,0,f]}return i}function jU(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=KI({longitude:t,latitude:i,highPrecision:!0}),u=Lx(n);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=Zg(u),f=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],f]:h}function zU(n){return 2*Math.atan(.5/n)*YI}function HU(n,e){const[t,i,r=0]=n;return ed(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Qg(e,[t,i,r,1])}function j0(n,e,t=0){const[i,r,s]=n;if(ed(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Qg(e,[i,r,s,1]);const o=Qg(e,[i,r,0,1]),a=Qg(e,[i,r,1,1]),l=o[2],c=a[2];return kU([],o,a,l===c?0:((t||0)-l)/(c-l))}const GU=Math.PI/180;function $U(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Qg(i,[e,0,1,1]),s=Qg(i,[e,n.height,1,1]),c=Zg(kU([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const Dce=Math.PI/180,Ice=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],ZI=[0,0,0],Rce={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Jg=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Zc.WEB_MERCATOR:Zc.WEB_MERCATOR_AUTO_OFFSET:Zc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&M0(t.projectionMatrix,this.projectionMatrix)&&M0(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=HU(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,u=j0([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[h,f,g]=this.unprojectPosition(u);return Number.isFinite(a)?[h,f,g]:Number.isFinite(r)?[h,f,r]:[h,f]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?Lx(t):t}unprojectFlat(t){return this.isGeospatial?Zg(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?KI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Jg{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:u=!1,repeat:h=!1,worldOffset:f=0}=t;let{width:g,height:m,altitude:v=1.5}=t;const x=Math.pow(2,s);g=g||1,m=m||1,v=Math.max(.75,v);const{fov:U,aspect:D,focalDistance:ie,near:_e,far:Pe}=function({width:n,height:e,fovy:t=zU(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=zU(i));const a=.5*t*gc,l=function(n){return.5/Math.tan(.5*n*gc)}(t),c=r*gc,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:g,height:m,pitch:o,altitude:v,nearZMultiplier:l,farZMultiplier:c});let Ne=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return Rx(o,o,[0,0,-i]),AU(o,o,-e*gc),MU(o,o,t*gc),Px(o,o,[r/=n,r,r]),s&&Rx(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:m,pitch:o,bearing:a,scale:x,altitude:v});f&&(Ne=(new qn).translate([512*f,0,0]).multiplyLeft(Ne)),super(Sn(ot({},t),{width:g,height:m,viewMatrix:Ne,longitude:r,latitude:i,zoom:s,orthographic:u,fovyRadians:U,aspect:D,focalDistance:ie,near:_e,far:Pe})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=v,this.orthographic=u,this._subViewports=h?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(Sn(ot({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return jU(t,i)}panByPosition(t,i){const r=j0(i,this.pixelUnprojectionMatrix),o=kx([],this.projectFlat(t),NU([],r)),a=kx([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*GU:Math.atan(.5/n.altitude))>(90-n.pitch)*GU-.01?(l=$U(n,0,e),c=$U(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:ed(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=Lx([a,BU(u,-Fx,Fx)]),f=Lx([c,BU(l,-Fx,Fx)]),g=[Math.max(Math.abs(f[0]-h[0]),i),Math.max(Math.abs(f[1]-h[1]),i)],m=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];ed(m[0]>0&&m[1]>0);const v=m[0]/g[0],x=m[1]/g[1],_e=Zg([(f[0]+h[0])/2+(s.right-s.left)/2/v,(f[1]+h[1])/2+(s.bottom-s.top)/2/x]),Pe=Math.min(r,qI(Math.abs(Math.min(v,x))));return ed(Number.isFinite(Pe)),{longitude:_e[0],latitude:_e[1],zoom:Pe}}(ot({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function JI(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof KU){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function QU(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=Nx([],[o,a,l,1],t)),i){case Vi.LNGLAT:return JI([o,a,l],e,s);case Vi.LNGLAT_OFFSETS:return JI([o+r[0],a+r[1],l+(r[2]||0)],e,s);case Vi.METER_OFFSETS:return JI(jU(r,[o,a,l]),e,s);case Vi.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const kce={10241:9987,10240:9729,10242:33071,10243:33071},eO={},Bce={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||z0(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>tO(n,e)},accessor:{validate(n,e){const t=Bx(n);return"function"===t||t===Bx(e.value)},equal:(n,e,t)=>"function"==typeof e||tO(n,e)},array:{validate:(n,e)=>e.optional&&!n||z0(n),equal:(n,e,t)=>t.compare?tO(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof ya)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new ya(t,Sn(ot({},e),{parameters:ot(ot(ot({},kce),i),n.props.textureParameters)}));return eO[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof ya)||eO[n.id]&&(n.delete(),delete eO[n.id])}(n)}}};function tO(n,e){if(n===e)return!0;if(!z0(n)||!z0(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=Qce,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[Xce]||{},i=e[Yce]||e,r=e[Kce]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(Pj(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return li(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var h,c=!0,u=!1;try{for(var g,m,f=iO(t);c=(g=yield f.next()).done,m=yield g.value,!c;c=!0){const x=m,{dataTransform:U}=i.component?i.component.props:{};a=U?U(x,a):a.concat(x),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(x){u=!0,h=x}finally{try{!c&&null!=f.return&&(yield f.return())}finally{if(u)throw h}}const v=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;v&&v(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:tz,ASYNC_RESOLVED:nz,ASYNC_DEFAULTS:Zce}=Ix,Jce={};let eue=0,tue=(()=>{class n{constructor(){this.props=Uce.apply(this,arguments),this.id=this.props.id,this.count=eue++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[Zce])s in i[nz]?r[s]=i[nz][s]:s in i[tz]&&(r[s]=i[tz][s]);return new this.constructor(ot(ot(ot({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new ez({})}}return n.componentName="Component",n.defaultProps=Jce,n})();class nue extends ez{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const mc=n=>"function"==typeof n,hh=n=>null!==n&&"object"==typeof n,rz=n=>hh(n)&&n.constructor==={}.constructor,iue=n=>n&&"function"==typeof n[Symbol.iterator],rue=n=>n&&"function"==typeof n[Symbol.asyncIterator],G0=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,em=n=>"undefined"!=typeof Blob&&n instanceof Blob,sz=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||hh(n)&&mc(n.tee)&&mc(n.cancel)&&mc(n.getReader))(n)||(n=>hh(n)&&mc(n.read)&&mc(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function Lf(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function rO(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function sO(n){var e,t;let i;return Lf(n,"null loader"),Lf(rO(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=Sn(ot({},n=n[0]),{options:ot(ot({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const tu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},oO=tu.global||tu.self||tu.window||{},uue="object"!=typeof process||"[object process]"!==String(process)||process.browser,oz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);oz&&parseFloat(oz[1]);const lO={};function due(n){for(const e in lO)n.startsWith(e)&&(n=n.replace(e,lO[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const hue=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,fue=/^([-\w.]+\/[-\w.+]+)/;function pue(n){const e=fue.exec(n);return e?e[1]:n}function az(n){const e=hue.exec(n);return e?e[1]:""}const gue=/\?.*/;function zx(n){if(G0(n)){const e=cO(n.url||"");return{url:e,type:pue(n.headers.get("content-type")||"")||az(e)}}return em(n)?{url:cO(n.name||""),type:n.type||""}:"string"==typeof n?{url:cO(n),type:az(n)}:{url:"",type:""}}function mue(n){return G0(n)?n.headers["content-length"]||-1:em(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function cO(n){return n.replace(gue,"")}function lz(n){return uO.apply(this,arguments)}function uO(){return(uO=li(function*(n){if(G0(n))return n;const e={},t=mue(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=zx(n);r&&(e["content-type"]=r);const s=yield bue(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function _ue(n){return dO.apply(this,arguments)}function dO(){return(dO=li(function*(n){if(!n.ok){const e=yield yue(n);throw new Error(e)}})).apply(this,arguments)}function yue(n){return hO.apply(this,arguments)}function hO(){return(hO=li(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function bue(n){return fO.apply(this,arguments)}function fO(){return(fO=li(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${vue(n.slice(0,5))}`:null})).apply(this,arguments)}function vue(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const dz={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){Kn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},xue={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function gO(){oO.loaders=oO.loaders||{};const{loaders:n}=oO;return n._state=n._state||{},n._state}const mO=()=>{const n=gO();return n.globalOptions=n.globalOptions||ot({},dz),n.globalOptions};function Sue(n,e,t,i){return t=t||[],function(n,e){fz(n,null,dz,xue,e);for(const t of e)fz(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=ot({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new wue),gz(r,mO()),gz(r,e),r}(e,n,i)}function hz(n,e){const t=mO(),i=n||t;return"function"==typeof i.fetch?i.fetch:hh(i.fetch)?r=>cz(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:cz}function fz(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&hh(n[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in t)&&!c&&!u)if(a in i)uz.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const h=Tue(a,r);uz.warn(`${s} loader option '${o}${a}' not recognized. ${h}`)()}}}function Tue(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function gz(n,e){for(const t in e)t in e&&(n[t]=rz(e[t])&&rz(n[t])?ot(ot({},n[t]),e[t]):e[t])}function nu(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function Due(n,e="3.0.12"){return nu(n,"no worker provided"),!(!e||!n.version)}const iu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Iue=iu.global||iu.self||iu.window||{},_O="object"!=typeof process||"[object process]"!==String(process)||process.browser,yO="function"==typeof importScripts,Oue="undefined"!=typeof window&&void 0!==window.orientation,mz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),bO=(mz&&parseFloat(mz[1]),new Map);function _z(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function yz(n,e=!0,t){const i=t||new Set;if(n)if(bz(n))i.add(n);else if(bz(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)yz(n[r],e,i);return void 0===t?Array.from(i):[]}function bz(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const vO=()=>{};class vz{static isSupported(){return"undefined"!=typeof Worker}constructor(e){Kn(this,"name",void 0),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"terminated",!1),Kn(this,"worker",void 0),Kn(this,"onMessage",void 0),Kn(this,"onError",void 0),Kn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;nu(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=vO,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=vO,this.onError=vO,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||yz(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){nu(n.source&&!n.url||!n.source&&n.url);let e=bO.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?_z(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),bO.set(n.url,e)),n.source&&(e=_z(n.source),bO.set(n.source,e))),nu(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class kue{constructor(e,t){Kn(this,"name",void 0),Kn(this,"workerThread",void 0),Kn(this,"isRunning",void 0),Kn(this,"result",void 0),Kn(this,"_resolve",void 0),Kn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){nu(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){nu(this.isRunning),this.isRunning=!1,this._reject(e)}}class Fue{constructor(e){Kn(this,"name","unnamed"),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"maxConcurrency",1),Kn(this,"maxMobileConcurrency",1),Kn(this,"onDebug",()=>{}),Kn(this,"reuseWorkers",!0),Kn(this,"props",{}),Kn(this,"jobQueue",[]),Kn(this,"idleQueue",[]),Kn(this,"count",0),Kn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=ot(ot({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return li(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return li(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new kue(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class td{static isSupported(){return vz.isSupported()}static getWorkerFarm(e={}){return td._workerFarm=td._workerFarm||new td({}),td._workerFarm.setProps(e),td._workerFarm}constructor(e){Kn(this,"props",void 0),Kn(this,"workerPools",new Map),this.props=ot({},Lue),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=ot(ot({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new Fue({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function Vue(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return nu(r),r}function jue(n,e){return!!td.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function Uue(n,e,t,i,r){return wO.apply(this,arguments)}function wO(){return(wO=li(function*(n,e,t,i,r){const s=n.id,o=Vue(n,t),l=td.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",zue.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function zue(n,e,t,i){return EO.apply(this,arguments)}function EO(){return(EO=li(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}Kn(td,"_workerFarm",void 0);var Ez=et(9521);function xz(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return Ez.toArrayBuffer?Ez.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function Wue(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function Sz(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function que(n){return SO.apply(this,arguments)}function SO(){return(SO=li(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=iO(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return Wue(...e)})).apply(this,arguments)}const Kue=262144;function Cz(n){this.wrapped=n}function $0(n){return new Cz(n)}function W0(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,u=c instanceof Cz;Promise.resolve(u?c.wrapped:c).then(function(h){u?r("return"===o?"return":"next",h):s(l.done?"return":"normal",h)},function(h){r("throw",h)})}catch(h){s("throw",h)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var u={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=u:(e=t=u,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function TO(n){return function(){return new W0(n.apply(this,arguments))}}function AO(){return(AO=TO(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(IO)}function rde(n,e,t){return OO.apply(this,arguments)}function OO(){return(OO=li(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return ide(n,e);if(em(n)&&(n=yield lz(n)),G0(n)){const r=n;return yield _ue(r),e.binary?yield r.arrayBuffer():yield r.text()}if(sz(n)&&(n=nde(n,t)),iue(n)||rue(n))return que(n);throw new Error(IO)})).apply(this,arguments)}function ode(n,e,t=null){if(t)return t;const i=ot({fetch:hz(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function ade(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const Az=()=>{const n=gO();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function Mz(n){const e=Az();n=Array.isArray(n)?n:[n];for(const t of n){const i=sO(t);e.find(r=>i===r)||e.unshift(i)}}const cde=/\.([^.]+)$/;function ude(n){return NO.apply(this,arguments)}function NO(){return(NO=li(function*(n,e=[],t,i){if(!Iz(n))return null;let r=Dz(n,e,Sn(ot({},t),{nothrow:!0}),i);if(r)return r;if(em(n)&&(r=Dz(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(Oz(n));return r})).apply(this,arguments)}function Dz(n,e=[],t,i){if(!Iz(n))return null;if(e&&!Array.isArray(e))return sO(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...Az()),function(n){for(const e of n)sO(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=zx(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=kO(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&cde.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||kO(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(mde(e,t))return t}else if(ArrayBuffer.isView(e)){if(Rz(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&Rz(e,0,t))return t;return null}(e,n),a=a||kO(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(Oz(n));return s}function Iz(n){return!(n instanceof Response&&204===n.status)}function Oz(n){const{url:e,type:t}=zx(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?FO(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?FO(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function kO(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function mde(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function Rz(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let ru=new Uint8ClampedArray(0);const Ade={data:{type:"data",value:Cde,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=Sn(ot({},r),{fetch:Sn(ot({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:q0(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):q0(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:Vi.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let Y0=(()=>{class n extends tue{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=QU(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=HU(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=ot({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===Vi.DEFAULT&&(t=i.isGeospatial?Vi.LNGLAT:Vi.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=PU(t,i,r),h=QU(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(h,h,t.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===Vi.DEFAULT||t===Vi.LNGLAT||t===Vi.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){fc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=Ple(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const u of c)o.invalidateAll(u);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:u}=o.attributes,h=c||u;h&&(l&&h.constant&&(h.constant=!1,o.invalidate(h.id)),!h.value&&!l&&(h.constant=!0,h.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!Tde({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(ru.length/3);if(this.internalState.usesPickingColorCache=!0,rPz&&Ri.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),ru=A0.allocate(ru,i,{size:3,copy:!0,maxCount:Math.max(i,Pz)});const s=Math.floor(ru.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const u of this.props.extensions)u.draw.call(this,c,u);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&Do("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=CU({newProps:n,oldProps:e,propTypes:$I(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&TU(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&TU(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:Tle(n,e),transitionsChanged:xle(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=$I(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new ple(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){fc(!this.internalState&&!this.state),fc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new nue({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Ri.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new ble(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){Do("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=Ade,n})(),Nz=(()=>{class n extends Y0{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:f,wrapLongitude:g,positionFormat:m,modelMatrix:v,extensions:x,fetch:U,_subLayerProps:D}=this.props,ie={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:f,wrapLongitude:g,positionFormat:m,modelMatrix:v,extensions:x,fetch:U},_e=D&&D[t.id],Pe=_e&&_e.updateTriggers,Ne=t.id||"sublayer";if(_e){const Ve=this.constructor._propTypes,bt=t.type?t.type._propTypes:{};for(const xt in _e){const At=bt[xt]||Ve[xt];At&&"accessor"===At.type&&(_e[xt]=this.getSubLayerAccessor(_e[xt]))}}Object.assign(ie,t,_e),ie.id="".concat(this.props.id,"-").concat(Ne),ie.updateTriggers=ot(ot({all:this.props.updateTriggers.all},t.updateTriggers),Pe);for(const Ve of x){const bt=Ve.getSubLayerProps.call(this,Ve);bt&&Object.assign(ie,bt,{updateTriggers:Object.assign(ie.updateTriggers,bt.updateTriggers)})}return ie}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=xI(t,Boolean),this.internalState.subLayers=t),Do("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const Dde=/([0-9]+\.?[0-9]*)(%|px)/;function Gx(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(Dde);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function $x(n,e){return n.relative?Math.round(n.position*e):n.position}function X0(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&X0(i,r)))return!1}return!0}class jO{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:u=1e3,modelMatrix:h=null,viewportInstance:f=null,type:g=Jg}=e;fc(!f||f instanceof Jg),this.viewportInstance=f,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=Sn(ot({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:u,modelMatrix:h}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):X0(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=ot({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:$x(this._x,e),y:$x(this._y,t),width:$x(this._width,e),height:$x(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),ot(ot({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(ot(ot(ot({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=Gx(e),this._y=Gx(t),this._width=Gx(i),this._height=Gx(r)}}const K0=()=>{},kz={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:K0,onTransitionInterrupt:K0,onTransitionEnd:K0};class Ide{constructor(e,t={}){this.ControllerState=e,this.props=ot(ot({},kz),t),this.propsInTransition=null,this.transition=new B0(t.timeline),this.onViewStateChange=t.onViewStateChange||K0,this.onStateChange=t.onStateChange||K0,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=ot(ot({},kz),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=ot(ot({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(ot(ot({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const Fz=["longitude","latitude","zoom","bearing","pitch"],Rde=["longitude","latitude","zoom"];class Lz extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!M0(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];fc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:Fz,extract:Fz,required:Rde}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=gx(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(ot(ot({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,gx(e.around,t.around,i)))}return r}}const fh={transitionDuration:0},Pde={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},qx=n=>1-(1-n)*(1-n),tm_WHEEL=["wheel"],tm_PAN=["panstart","panmove","panend"],tm_PINCH=["pinchstart","pinchmove","pinchend"],tm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],tm_DOUBLE_TAP=["doubletap"],tm_KEYBOARD=["keydown"];class UO{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new Ide(e,Sn(ot({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&Sn(ot({},Pde),{transitionInterpolator:new Lz({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,u=Boolean(this.onViewStateChange);this.toggleEvents(tm_WHEEL,u&&i),this.toggleEvents(tm_PAN,u&&(r||s)),this.toggleEvents(tm_PINCH,u&&(a||l)),this.toggleEvents(tm_TRIPLE_PAN,u&&l),this.toggleEvents(tm_DOUBLE_TAP,u&&o),this.toggleEvents(tm_KEYBOARD,u&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=ot(ot({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,fh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:qx}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:qx}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,Sn(ot({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,fh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,Sn(ot({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:qx}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,fh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,fh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,Sn(ot({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:qx}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?Sn(ot({},t),{transitionInterpolator:new Lz(Sn(ot({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:fh}}class Bz{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const ph_target=[0,0,0];class Yx extends Bz{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=ph_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:u=-(1/0),maxZoom:h=Infinity,startPanPosition:f,startRotatePos:g,startRotationX:m,startRotationOrbit:v,startZoomPosition:x,startZoom:U}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:u,maxZoom:h}),this._state={startPanPosition:f,startRotatePos:g,startRotationX:m,startRotationOrbit:v,startZoomPosition:x,startZoom:U},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let u=(e[0]-r[0])/a;(s<-90||s>90)&&(u*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*u}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(Sn(ot({},this._viewportProps),{zoom:a}));return this._getUpdatedState(ot({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),Ua(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new Yx(ot(ot(ot({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=Ua(r,i,t),e.rotationX=Ua(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class kde extends UO{constructor(e){super(Yx,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class Fde extends UO{constructor(e){e.dragMode=e.dragMode||"pan",super(Yx,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const Lde=(new qn).lookAt({eye:[0,0,1]});function Bde({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new qn).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class Vde extends Jg{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(Sn(ot({},e),{longitude:null,position:a,viewMatrix:Lde.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:Bde({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=kx([],e,NU([],j0(t,this.pixelUnprojectionMatrix)));return{target:kx([],this.center,r)}}}let jde=(()=>{class n extends jO{constructor(t){super(Sn(ot({},t),{type:Vde}))}get controller(){return this._getControllerProps({type:Fde})}}return n.displayName="OrthographicView",n})();const Xx=Math.PI/180;function Ude({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*Xx/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new qn).lookAt({eye:l,up:a});c.rotateX(i*Xx),"Z"===t?c.rotateZ(r*Xx):c.rotateY(r*Xx);const u=Math.pow(2,s)/(n||1);return c.scale(u),c}class zde extends Jg{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(Sn(ot({},e),{longitude:null,viewMatrix:Ude({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=j0([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let Hde=(()=>{class n extends jO{constructor(t={}){const{orbitAxis:i="Z"}=t;super(Sn(ot({},t),{orbitAxis:i,type:zde}))}get controller(){return this._getControllerProps({type:kde})}}return n.displayName="OrbitView",n})();const Gde=[255,255,255],$de=1;let Wde=0;class Vz{constructor(e={}){const{color:t=Gde}=e,{intensity:i=$de}=e;this.id=e.id||"ambient-".concat(Wde++),this.color=t,this.intensity=i,this.type="ambient"}}const qde=[255,255,255],Yde=1,Xde=[0,0,-1];let Kde=0;class jz{constructor(e={}){const{color:t=qde}=e,{intensity:i=Yde}=e,{direction:r=Xde}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(Kde++),this.color=t,this.intensity=i,this.type="directional",this.direction=new Mo(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class Uz{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=ot({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class zO extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=ot({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return Xu(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){Xu(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,u=i&&i[c.id];r(c);const h=this._getDrawLayerParams(c,e);e.view=u;const f=c.subViewports||[c];for(const g of f){e.viewport=g;const m=this._drawLayersInViewport(o,e,h);a.push(m)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=zz(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let u=0;ufI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};Xu(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const u=t[l]=t[l]||zz(e[l],e);c=u(r,s),t[a]=u}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class ehe extends zO{constructor(e,t){super(e,t),this.shadowMap=new ya(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new zg(e,{format:33189,width:1,height:1}),this.fbo=new ks(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;hc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=Vg(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(Sn(ot({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const nhe=Object.keys(Vi).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(Vi[n],";")).join(""),ihe=Object.keys(Zc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Zc[n],";")).join(""),rhe="".concat(nhe,"\n").concat(ihe,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),she={},HO={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:rhe,getUniforms:function(n=she){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=Vi.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===Vi.DEFAULT&&(i=n.isGeospatial?Vi.LNGLAT:Vi.CARTESIAN);const o=lce({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||sce,o}(n):{}}},che=Ox(function({viewport:n,center:e}){return new qn(n.viewProjectionMatrix).invert().transform(e)}),uhe=Ox(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=j0([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new Mo(n.center).negate()),l=s.map(u=>a.transform(u)),c=(new qn).ortho({left:Math.min(...l.map(u=>u[0])),right:Math.max(...l.map(u=>u[0])),bottom:Math.min(...l.map(u=>u[1])),top:Math.max(...l.map(u=>u[1])),near:Math.min(...l.map(u=>-u[2])),far:Math.max(...l.map(u=>-u[2]))});t.push(c.multiplyRight(o))}return t}),dhe=[0,0,0,1],hhe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],GO={name:"shadow",dependencies:[HO],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||dhe,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=che({viewport:n.viewport,center:e.project_uCenter}),r=[],s=uhe({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},_he={color:[255,255,255],intensity:1},Hz=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],yhe=[0,0,0,200/255];class $O extends Uz{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=yhe,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=F0.getDefaultProgramManager(e),GO&&this.programManager.addDefaultModule(GO)),this.dummyShadowMap||(this.dummyShadowMap=new ya(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(GO),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new qn).lookAt({eye:new Mo(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=vhe++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class whe{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=q0(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class Ehe{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new whe(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const xhe=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},HO],She=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function Che(n){const e=F0.getDefaultProgramManager(n);for(const t of xhe)e.addDefaultModule(t);for(const t of She)e.addShaderHook(t);return e}const Mhe=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class Dhe{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new Ehe({gl:e,protocol:"deck://"}),this.context=Sn(ot({},Mhe),{layerManager:this,gl:e,deck:t,programManager:e&&Che(e),stats:i||new oI({id:"deck.gl"}),viewport:r||new Jg({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new Gz,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){Do("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=xI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return Do("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?Ri.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&Ri.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class Ihe{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=xI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!X0(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):Ri.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(ot({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=Sn(ot(ot(ot({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let u=r[a.id];a.controller&&!u&&(s=!0),(s||!a.controller)&&u&&(u.finalize(),u=null),this.controllers[a.id]=this._updateController(a,l,c,u),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class Rhe extends Bz{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:u=20,minZoom:h=0,maxPitch:f=60,minPitch:g=0,startPanLngLat:m,startZoomLngLat:v,startRotatePos:x,startBearing:U,startPitch:D,startZoom:ie,normalize:_e}={}){fc(Number.isFinite(s)),fc(Number.isFinite(r)),fc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:u,minZoom:h,maxPitch:f,minPitch:g,normalize:_e}),this._state={startPanLngLat:m,startZoomLngLat:v,startRotatePos:x,startBearing:U,startPitch:D,startZoom:ie},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(Sn(ot({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(Sn(ot({},this._viewportProps),{zoom:o}));return this._getUpdatedState(ot({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=ot({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(ot(ot(ot({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=Ua(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=Ua(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=LU(t+180,360)-180),(o<-180||o>180)&&(o=LU(o+180,360)-180);const a=qI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Zg([0,l])[1];if(iu&&(i=u)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Ua(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=Ua(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let u=0;return r>0?Math.abs(l-o)>5&&(u=r/(o-l)*1.2):r<0&&o>5&&(u=1-s/o),u=Math.min(1,Math.max(-1,u)),{deltaScaleX:c,deltaScaleY:u}}}class Phe extends UO{constructor(e){e.dragMode=e.dragMode||"pan",super(Rhe,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(ot(ot({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let Nhe=(()=>{class n extends jO{constructor(t){super(Sn(ot({},t),{type:KU}))}get controller(){return this._getControllerProps({type:Phe})}}return n.displayName="MapView",n})();const khe=new $O;class Fhe{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!X0(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof $O)||this._internalEffects.push(khe)}}class Lhe extends zO{}const Wz={blendFunc:[1,0,32771,0],blendEquation:32774};class qz extends zO{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:u},pass:h="picking",redrawReason:f,pickZ:g}){const m=this.gl;return this.pickZ=g,hc(m,Sn(ot({scissorTest:!0,scissor:[a,l,c,u],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},Wz),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:h,redrawReason:f})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:Sn(ot({},Wz),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return ot(ot({},e.props.parameters),i)}}class Vhe{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new Lhe(e),this.pickLayersPass=new qz(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||ks.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(Sn(ot({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,Do("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new ks(this.gl),new ks(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const jhe={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function Uhe({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,f=0;for(let g=0;gu)f+=4*l;else for(let x=0;x=0){const D=x+o-t,ie=D*D+v;ie<=u&&(u=ie,h=f)}f+=4}}if(h>=0){const g=n[h+3]-1,m=n.slice(h,h+4),v=e[g];if(v){const x=v.decodePickingColor(m),U=Math.floor(h/4/l);return{pickedColor:m,pickedLayer:v,pickedObjectIndex:x,pickedX:o+(h/4-U*l),pickedY:a+U}}Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return jhe}function Yz({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,u=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(f=>i({layer:l,viewport:f,isPicking:!0,renderPass:"picking:".concat(e)}))),h=u&&u.unproject([s-u.x,o-u.y],{targetZ:a});return{color:null,layer:null,viewport:u,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:h,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function Hhe(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const h=t.index,f=t.layerId,g=o&&o.props.id;if(g!==f||a!==h){if(g!==f){const m=r.find(v=>v.props.id===f);m&&l.unshift(m)}t.layerId=g,t.index=a,t.info=null}}const c=Yz(n),u=new Map;return u.set(null,c),l.forEach(h=>{let f=ot({},c);h===o&&(f.color=s,f.index=a,f.picked=!0),f=Xz({layer:h,info:f,mode:i}),h===o&&"hover"===i&&(t.info=f),u.set(f.layer.id,f),"hover"===i&&f.layer.updateAutoHighlight(f)}),u}function Xz({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class $he{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new qz(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(f=>f.id===o):null,c=a&&r.find(f=>f.id===a)||r[0],u=c&&c.unproject([e-c.x,t-c.y]),h={x:e,y:t,viewport:c,coordinate:u,layer:l};return l?ot(ot({},s),h):Object.assign(h,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new ks(e),ks.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new ks(e),this.depthFBO.attach({36064:new ya(e,{format:Ci(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(Ri.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:u}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:Yz({viewports:i,x:r,y:s})};this._resizeBuffer();const h=Vg(this.gl),f=iI(this.gl,[r,s],!0),g=[f.x+Math.floor(f.width/2),f.y+Math.floor(f.height/2)],m=Math.round(o*h),{width:v,height:x}=this.pickingFBO,U=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:m,deviceWidth:v,deviceHeight:x});let D;const ie=[],_e={};for(let Pe=0;Pe=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:u,deviceRect:{x:g,y:U,width:v.x+v.width-g,height:m-U},pass:"picking:".concat(l),redrawReason:l}),layers:e}),Pe=new Map,Ne=Number.isFinite(c);for(let Ve=0;Ve<_e.length&&!(Ne&&Pe.size>=c);Ve++){const bt=_e[Ve];let xt={color:bt.pickedColor,layer:null,index:bt.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:h};xt=Xz({layer:bt.pickedLayer,info:xt,mode:l}),Pe.has(xt.object)||Pe.set(xt.object,xt)}return Array.from(Pe.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:u,y:h,width:f,height:g}=s,m=new(l?Float32Array:Uint8Array)(f*g*4);return px(c,{sourceX:u,sourceY:h,sourceWidth:f,sourceHeight:g,target:m}),m}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const Whe={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class qhe{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,Whe),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function Kz(n,e){if(!n)throw new Error(e)}const su={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Qz=su.global||su.self||su.window,Xhe="object"!=typeof process||"[object process]"!==String(process)||process.browser,Zz="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:Khe}=(Zz&&parseFloat(Zz[1]),Qz),WO="undefined"!=typeof Image,qO="undefined"!=typeof ImageBitmap,Qhe=Boolean(Khe),YO=!!Xhe||Qhe;function Jz(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function e4(n){switch(Jz(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const efe=/^data:image\/svg\+xml/,tfe=/\.svg((\?|#).*)?$/;function XO(n){return n&&(efe.test(n)||tfe.test(n))}function nfe(n,e){if(XO(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return n4(n,e)}function n4(n,e){if(XO(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function i4(n,e,t){return KO.apply(this,arguments)}function KO(){return(KO=li(function*(n,e,t){const i=nfe(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield ife(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function ife(n,e){return QO.apply(this,arguments)}function QO(){return(QO=li(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const rfe={};let r4=!0;function sfe(n,e,t){return ZO.apply(this,arguments)}function ZO(){return(ZO=li(function*(n,e,t){let i;i=XO(t)?yield i4(n,e,t):n4(n,t);const r=e&&e.imagebitmap;return yield ofe(i,r)})).apply(this,arguments)}function ofe(n){return JO.apply(this,arguments)}function JO(){return(JO=li(function*(n,e=null){if((afe(e)||!r4)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),r4=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function afe(n){for(const e in n||rfe)return!1;return!0}const ou=!1,Q0=!0;function eR(n){const e=Z0(n);return function(n){const e=Z0(n);return e.byteLength>=24&&2303741511===e.getUint32(0,ou)?{mimeType:"image/png",width:e.getUint32(16,ou),height:e.getUint32(20,ou)}:null}(e)||function(n){const e=Z0(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,ou)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,ou)?{mimeType:"image/gif",width:e.getUint16(6,Q0),height:e.getUint16(8,Q0)}:null}(e)||function(n){const e=Z0(n);return e.byteLength>=14&&16973===e.getUint16(0,ou)&&e.getUint32(2,Q0)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Q0),height:e.getUint32(22,Q0)}:null}(e)}function Z0(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function ffe(n,e){const{mimeType:t}=eR(n)||{},{_parseImageNode:i}=Qz;return Kz(i),i(n,t,e)}function tR(){return(tR=li(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(gfe(r)){case"imagebitmap":a=yield sfe(n,e,s);break;case"image":a=yield i4(n,e,s);break;case"data":a=yield ffe(n,e);break;default:Kz(!1)}return"data"===r&&(a=e4(a)),a})).apply(this,arguments)}function gfe(n){switch(n){case"auto":case"data":return function(){if(qO)return"imagebitmap";if(WO)return"image";if(YO)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return qO||WO||YO;case"imagebitmap":return qO;case"image":return WO;case"data":return YO;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const nR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return tR.apply(this,arguments)},tests:[n=>Boolean(eR(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var nm=et(4761);const _fe={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},J0="8.5.8",Kx=nm.CO.deck&&nm.CO.deck.VERSION;if(Kx&&Kx!==J0)throw new Error("deck.gl - multiple versions detected: ".concat(Kx," vs ").concat(J0));Kx||(Ri.log(1,"deck.gl ".concat(J0))(),nm.CO.deck=Object.assign(nm.CO.deck||{},{VERSION:J0,version:J0,log:Ri,_registerLoggers:function(n){AI=n}}),Mz([_fe,[nR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const yfe=nm.CO.deck;class Qx extends Ku{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=Ci(e),r=gj(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:on(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return Qx.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const s4=fx()&&"undefined"!=typeof document;let Mfe=0;class Dfe{constructor(e={}){const{onCreateContext:t=(x=>XV(x)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:u=!1,createFramebuffer:h=!1,autoResizeViewport:f=!0,autoResizeDrawingBuffer:g=!0,stats:m=Rf.get("animation-loop-"+Mfe++)}=e;let{useDevicePixels:v=!0}=e;"useDevicePixelRatio"in e&&(mn.deprecated("useDevicePixelRatio","useDevicePixels")(),v=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:u,createFramebuffer:h},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=m,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:f,autoResizeDrawingBuffer:g,useDevicePixels:v}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return on("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=Qx.isSupported(this.gl,["timers"])?new Qx(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return li(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return mn.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=s4?new Promise((e,t)=>{s4&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?sI(this.props.gl,e):this.onCreateContext(e),!dx(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){Xu(n,nI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(mn.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(mn.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new ks(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var Ife=et(1524),Zx=et.n(Ife);const Ofe={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(Zx().MouseInput);const kfe=Zx().Manager,au=Zx(),Ffe=au?[[au.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[au.Rotate,{enable:!1}],[au.Pinch,{enable:!1}],[au.Swipe,{enable:!1}],[au.Pan,{threshold:0,enable:!1}],[au.Press,{enable:!1}],[au.Tap,{event:"doubletap",taps:2,enable:!1}],[au.Tap,{event:"anytap",enable:!1}],[au.Tap,{enable:!1}]]:null,l4={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},Lfe={doubletap:["tap"]},Bfe={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},rR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},Vfe={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},c4={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},jfe="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",im="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let u4=!1;try{const n={get passive(){return u4=!0,!0}};im.addEventListener("test",n,n),im.removeEventListener("test",n,n)}catch(n){}const Ufe=-1!==jfe.indexOf("firefox"),{WHEEL_EVENTS:zfe}=rR,h4=4.000244140625;class $fe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=zfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!u4&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;im.WheelEvent&&(Ufe&&e.deltaMode===im.WheelEvent.DOM_DELTA_PIXEL&&(t/=im.devicePixelRatio),e.deltaMode===im.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%h4==0&&(t=Math.floor(t/h4)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:Wfe}=rR,f4="pointermove",p4="pointerover",g4="pointerout",m4="pointerleave";class qfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=Wfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===f4&&(this.enableMoveEvent=t),e===p4&&(this.enableOverEvent=t),e===g4&&(this.enableOutEvent=t),e===m4&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:p4,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:g4,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:m4,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:f4,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:Yfe}=rR,_4="keydown";class Xfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=Yfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===_4&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:_4,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const b4="contextmenu";class Kfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===b4&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:b4,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const Qfe={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},v4={srcElement:"root",priority:0};class cpe{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},v4,i):v4;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let u=l.length-1;for(;u>=0&&!(l[u].priority>=c.priority);)u--;l.splice(u+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&l4[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new $fe(e,this._onOtherEvent,{enable:!1}),this.moveInput=new qfe(e,this._onOtherEvent,{enable:!1}),this.keyInput=new Xfe(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new Kfe(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=Lfe[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const u in e)this._addEventHandler(u,e[u],i,r,s);return}const{manager:o,events:a}=this,l=c4[e]||e;let c=a.get(l);c||(c=new cpe(this),a.set(l,c),c.recognizerName=Vfe[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(c4[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=Bfe[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function Vf(){}const w4={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:Vf,onResize:Vf,onViewStateChange:Vf,onInteractionStateChange:Vf,onBeforeRender:Vf,onAfterRender:Vf,onLoad:Vf,onError:(n,e)=>Ri.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class eS{constructor(e){e=ot(ot({},w4),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&Ri.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,nm.qs)()&&Ri.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new oI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&A0.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&Ri.removed("onLayerHover","onHover")(),"onLayerClick"in e&&Ri.removed("onLayerClick","onClick")(),e.initialViewState&&!X0(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](ot({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),fc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:u,autoResizeDrawingBuffer:h}=e;return new Dfe({width:t,height:i,useDevicePixels:u,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:f=>XV(Sn(ot(ot({},s),f),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:f=>this._setGLContext(f.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new Nhe({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,sI(e,{enable:!0,copyState:!0})),this.tooltip=new qhe(this.canvas),Xu(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new Gz;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new dpe(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in PV)this.eventManager.on(r,this._onEvent);this.viewManager=new Ihe({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new Dhe(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new Fhe,this.deckRenderer=new Vhe(e),this.deckPicker=new $he(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;Xu(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(ot({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Ri.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Sn(ot({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=PV[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=Rf.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}eS.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(Uz)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},eS.defaultProps=w4,eS.VERSION=yfe.VERSION;const tS={name:"project32",dependencies:[HO],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},gpe={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},nS=ot({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=gpe){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),E4={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class gh{static get DRAW_MODE(){return E4}constructor(e={}){const{id:t=ma("geometry"),drawMode:i=E4.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?ot({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,on(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(on(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return on(Number.isFinite(i)),i}}const x4=()=>{},wpe={10241:9987,10240:9729,10242:33071,10243:33071};function Epe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function xpe(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function eb(n){return n&&(n.id||n.url)}function S4(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(S4(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+f+e,s=Math.max(s,h)}}return a.length>0&&S4(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:Epe(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new ya(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:wpe})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=hj(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=t;const{framebuffer:f,deleteFramebuffer:g}=T0(n);on(f);const{gl:m,handle:v}=f,x=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const U=m.bindFramebuffer(36160,v);on(e);let D=null;if(e instanceof Pf&&(D=e,u=Number.isFinite(u)?u:D.width,h=Number.isFinite(h)?h:D.height,D.bind(0),e=D.target),x)switch(e){case 3553:case 34067:m.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:Ao(m).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else m.copyTexImage2D(e,s,o,i,r,u,h,0);D&&D.unbind(),m.bindFramebuffer(36160,U||null),g&&f.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,q0(i.url,nR,this._loadOptions).then(r=>{const s=eb(i),{x:o,y:a,width:l,height:c}=this._mapping[s],u=xpe(t,r,l,c);this._texture.setSubImageData({data:u,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const C4=[0,0,0,255],Mpe={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:C4},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let Dpe=(()=>{class n extends Y0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[tS,nS]})}initializeState(){this.state={iconManager:new Ape(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:C4},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:u}=this.state;u.setProps({loadOptions:i.loadOptions});let h=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&u.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(u.setProps({iconMapping:a}),h=!0)):u.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&u.setProps({data:l,getIcon:c}),h&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:m}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(m),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:u}=this.context,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===o?u.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Yg(t,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:new gh({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):Ri.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=Mpe,n})();const A4=[],Ope={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let Rpe=(()=>{class n extends Dpe{getShaders(){return Sn(ot({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&Ri.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=Sn(ot({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):A4}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):A4}}return n.layerName="MultiIconLayer",n.defaultProps=Ope,n})();var Ppe=et(1002),Npe=et.n(Ppe);const Fpe=[];function Lpe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function M4(n,e,t,i){let r=0;for(let s=e;si&&(oa){let h=M4(n,a,l,r);c+h>i&&(oi&&(h=D4(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=h}}(n,r,s,t,i,o),o}function Upe(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let f=0,g=0,m=0;for(let v=0;v<=s;v++){const x=n[v];if(("\n"===x||v===s)&&(m=v),m>g){const U=c?jpe(n,t,i,r,g,m):Fpe;for(let D=0;D<=U.length;D++){const ie=0===D?g:U[D-1],_e=Di===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),qpe=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function Xpe(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=aR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=aR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,aR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:u}=this.props;let h=i&&i.data;h||(h=document.createElement("canvas"),h.width=1024);const f=h.getContext("2d");j4(f,r,o,s);const{mapping:g,canvasHeight:m,xOffset:v,yOffset:x}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const f of n)if(!s[f]){const g=e(f,u++);c+g+2*i>r&&(c=0,l++),s[f]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const h=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:Lpe(a+(l+1)*h)}}(ot({getFontWidth:U=>f.measureText(U).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(h.height!==m){const U=f.getImageData(0,0,h.width,h.height);h.height=m,f.putImageData(U,0,0)}if(j4(f,r,o,s),l){const U=new(Npe())(o,a,c,u,r,s),D=f.getImageData(0,0,U.size,U.size);for(const ie of t)Xpe(U.draw(ie),D),f.putImageData(D,g[ie].x-a,g[ie].y+a)}else for(const U of t)f.fillText(U,g[U].x,g[U].y+.9*o);return{xOffset:v,yOffset:x,mapping:g,data:h,width:h.width,height:h.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const Jpe={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let ege=(()=>{class n extends Y0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[tS,nS]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:u}=this.props;const h="pixels"===o?i.metersPerPixel:1;u.length<4&&(u=[u[0],u[1],u[0],u[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:u,sizeScale:s*h,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Yg(t,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:new gh({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=Jpe,n})();const U4={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},z4={start:1,middle:0,end:-1},H4={top:1,center:0,bottom:-1},lR=[0,0,0,255],nge=["fontSize","buffer","sdf","radius","cutoff"],ige={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:lR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:O4},fontFamily:R4,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:lR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:lR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let rge=(()=>{class n extends Nz{initializeState(){this.state={styleVersion:0,fontAtlasManager:new Kpe}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(Sn(ot(ot({},U4),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return nge.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:u}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),u=s&&new Set,h=new Array(e);let f=n;if(a>1||l>0){f=new n.constructor(c);for(let g=0;gc[f]}else{const{iterable:c,objectInfo:u}=bx(t);o=[0],a=0;for(const h of c){u.index++;const f=Array.from(s(h,u)||"");l&&f.forEach(l.add,l),a+=f.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{size:[f,g]}=I4(h,l,o,a,r);return[(z4["function"==typeof c?c(t,i):c]-1)*f/2,(H4["function"==typeof u?u(t,i):u]-1)*g/2,f,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{x:f,y:g,rowWidth:m,size:[v,x]}=I4(h,l,o,a,r),U=z4["function"==typeof c?c(t,i):c],D=H4["function"==typeof u?u(t,i):u],ie=f.length,_e=new Array(2*ie);let Pe=0;for(let Ne=0;Net*e/255)}const uR={name:"lights",vs:G4,fs:G4,getUniforms:function $4(n=sge){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?cR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=cR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=cR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return $4({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},age={};const cge={name:"phong-lighting",dependencies:[uR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=age){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},dR=Math.PI/180,iS=new Float32Array(16),Y4=new Float32Array(12);function X4(n,e,t){const i=e[0]*dR,r=e[1]*dR,s=e[2]*dR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),f=t[0],g=t[1],m=t[2];n[0]=f*h*u,n[1]=f*l*u,n[2]=f*-a,n[3]=g*(-l*c+h*a*o),n[4]=g*(h*c+l*a*o),n[5]=g*u*o,n[6]=m*(l*o+h*a*c),n[7]=m*(-h*o+l*a*c),n[8]=m*u*c}function K4(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const Q4={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),f=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:h&&u&&f;const m=n.value;if(n.constant){let v;g?(iS.set(a),v=K4(iS)):(v=Y4,X4(v,r,s),v.set(o,9)),n.value=new Float32Array(v)}else{let v=e*n.size;const{iterable:x,objectInfo:U}=bx(i,e,t);for(const D of x){let ie;U.index++,g?(iS.set(c?a:a(D,U)),ie=K4(iS)):(ie=Y4,X4(ie,h?r:r(D,U),u?s:s(D,U)),ie.set(f?o:o(D,U),9)),m[v++]=ie[0],m[v++]=ie[1],m[v++]=ie[2],m[v++]=ie[3],m[v++]=ie[4],m[v++]=ie[5],m[v++]=ie[6],m[v++]=ie[7],m[v++]=ie[8],m[v++]=ie[9],m[v++]=ie[10],m[v++]=ie[11]}}}};function Z4(n,e){return e===Vi.CARTESIAN||e===Vi.METER_OFFSETS||e===Vi.DEFAULT&&!n.isGeospatial}function J4(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),Ri.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function hge(n,e){if(n.attributes)return J4(n.attributes,e),n instanceof gh?n:new gh(n);if(n.positions||n.POSITION)return J4(n,e),new gh({attributes:n});throw Error("Invalid mesh")}const fge={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let pge=(()=>{class n extends Y0{getShaders(){const t=!Ci(this.context.gl),i={};return mI(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[tS,cge,nS],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:Q4}),this.setState({emptyTexture:new ya(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||Z4(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Yg(this.context.gl,Sn(ot({},this.getShaders()),{id:this.props.id,geometry:hge(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=fge,n})();const eH={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[uR]};class rm{constructor(e={}){const{id:t}=e;this.id=t||ma(this.constructor.name),this.display=!0,this.position=new Mo,this.rotation=new Mo,this.scale=new Mo(1,1,1),this.matrix=new qn,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return on(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return on(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return on(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){on(e),t=t||this.matrix;const i=new qn(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class tb extends rm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;mn.assert(t.every(i=>i instanceof rm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new qn}={}){const i=new qn(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof tb?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function tH(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=t[0],g=t[1],m=t[2],v=t[3],x=t[4],U=t[5],D=t[6],ie=t[7],_e=t[8];return n[0]=f*i+g*o+m*c,n[1]=f*r+g*a+m*u,n[2]=f*s+g*l+m*h,n[3]=v*i+x*o+U*c,n[4]=v*r+x*a+U*u,n[5]=v*s+x*l+U*h,n[6]=D*i+ie*o+_e*c,n[7]=D*r+ie*a+_e*u,n[8]=D*s+ie*l+_e*h,n}function nH(n,e,t){var i=t[0],r=t[1];return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=r*e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n}function iH(){var n=new ba(4);return ba!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function rH(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function hR(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function rS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],u=t[3];return n[0]=i*u+o*a+r*c-s*l,n[1]=r*u+o*l+s*a-i*c,n[2]=s*u+o*c+i*l-r*a,n[3]=o*u-i*a-r*l-s*c,n}function sH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a,n}function oH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a,n}function aH(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a,n}function lH(n,e){var t=e[0],i=e[1],r=e[2];return n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r)),n}function nb(n,e,t,i){var f,g,m,v,x,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],u=t[2],h=t[3];return(g=r*l+s*c+o*u+a*h)<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>eu?(f=Math.acos(g),m=Math.sin(f),v=Math.sin((1-i)*f)/m,x=Math.sin(i*f)/m):(v=1-i,x=i),n[0]=v*r+x*l,n[1]=v*s+x*c,n[2]=v*o+x*u,n[3]=v*a+x*h,n}function cH(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;return n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a,n}function uH(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3],n}function fR(n,e){var i,t=e[0]+e[4]+e[8];if(t>0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}return n}var dH=function(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},pR=IU,gR=function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},hH=function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];return n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a),n},fH=function(n){return Math.hypot(n[0],n[1],n[2],n[3])},pH=function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r},mH=function(){var n=bj(),e=vj(1,0,0),t=vj(0,1,0);return function(i,r,s){var o=wj(r,s);return o<-.999999?(D0(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&D0(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),hR(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(D0(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();iH(),iH(),function(){var n=new ba(9);ba!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const Sge=[0,0,0,1];class mR extends mx{constructor(e=0,t=0,i=0,r=1){super(-0,-0,-0,-0),Array.isArray(e)&&1===arguments.length?this.copy(e):this.set(e,t,i,r)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,i,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=r,this.check()}fromMatrix3(e){return fR(this,e),this.check()}identity(){return rH(this),this.check()}fromAxisRotation(e,t){return hR(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=nr(e)}get y(){return this[1]}set y(e){this[1]=nr(e)}get z(){return this[2]}set z(e){this[2]=nr(e)}get w(){return this[3]}set w(e){this[3]=nr(e)}len(){return fH(this)}lengthSquared(){return pH(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return gR(this,e)}rotationTo(e,t){return mH(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return dH(this,this,e),this.check()}calculateW(){return lH(this,this),this.check()}conjugate(){return uH(this,this),this.check()}invert(){return cH(this,this),this.check()}lerp(e,t,i){return hH(this,e,t,i),this.check()}multiplyRight(e,t){return Zu(!t),rS(this,this,e),this.check()}multiplyLeft(e,t){return Zu(!t),rS(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return sH(this,this,e),this.check()}rotateY(e){return oH(this,this,e),this.check()}rotateZ(e){return aH(this,this,e),this.check()}scale(e){return pR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=Sge,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return nb(this,e,t,i),this.check()}transformVector4(e,t=e){return OU(t,e,this),_x(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const Cge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Tge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function _H(n){if(!n._animation){const e=Tge[n.componentType],t=Cge[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(f=>f>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:mn.warn(`Bad animation path ${s}`)()}on(r[s].length===i[c].length);const u=e[c],h=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;iu&&function(n,e,t,i,r){if("rotation"===e){_R.slerp({start:t,target:i,ratio:r});for(let s=0;s<_R.length;s++)n[e][s]=_R[s]}else for(let s=0;su&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:_H(e.accessors[a]),interpolation:l,output:_H(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new Pge({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class kge extends rm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Yg?(this.model=e,this._setModelNodeProps(t)):this.model=new Yg(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class Fge{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},mI(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new ya(this.gl,ot({id:e.name||e.id,parameters:ot(ot({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(mn.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function yH(n,e){return Ci(n)?`#version 300 es\n${e}`:e}const jge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Uge={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class zge{constructor(e,t={}){this.gl=e,this.options=Object.assign({},Uge,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new Nge(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new tb({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new tb({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new qn).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new tb({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){mn.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new Fge(n,e);mn.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(u=>u.buffer));const c=new kge(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[eH],defines:a.defines,parameters:a.parameters,vs:yH(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:yH(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),mn.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new lr(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new _a({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:jge[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function bH(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new sm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new sm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof sm){const o=e;t=o.fields,i=xH(xH(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new sm(s,i)}}function xH(n,e){return new Map([...n||new Map,...e||new Map])}let kr,SH,CH,TH,AH,MH,DH,IH;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(kr||(kr={}));class yR{static isNull(e){return e&&e.typeId===kr.Null}static isInt(e){return e&&e.typeId===kr.Int}static isFloat(e){return e&&e.typeId===kr.Float}static isBinary(e){return e&&e.typeId===kr.Binary}static isUtf8(e){return e&&e.typeId===kr.Utf8}static isBool(e){return e&&e.typeId===kr.Bool}static isDecimal(e){return e&&e.typeId===kr.Decimal}static isDate(e){return e&&e.typeId===kr.Date}static isTime(e){return e&&e.typeId===kr.Time}static isTimestamp(e){return e&&e.typeId===kr.Timestamp}static isInterval(e){return e&&e.typeId===kr.Interval}static isList(e){return e&&e.typeId===kr.List}static isStruct(e){return e&&e.typeId===kr.Struct}static isUnion(e){return e&&e.typeId===kr.Union}static isFixedSizeBinary(e){return e&&e.typeId===kr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===kr.FixedSizeList}static isMap(e){return e&&e.typeId===kr.Map}static isDictionary(e){return e&&e.typeId===kr.Dictionary}get typeId(){return kr.NONE}compareTo(e){return this===e}}Symbol,Symbol,SH=Symbol.toStringTag;class om extends yR{constructor(e,t){super(),Kn(this,"isSigned",void 0),Kn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return kr.Int}get[SH](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class Zge extends om{constructor(){super(!0,8)}}class Jge extends om{constructor(){super(!0,16)}}class eme extends om{constructor(){super(!0,32)}}class tme extends om{constructor(){super(!1,8)}}class nme extends om{constructor(){super(!1,16)}}class ime extends om{constructor(){super(!1,32)}}CH=Symbol.toStringTag;class OH extends yR{constructor(e){super(),Kn(this,"precision",void 0),this.precision=e}get typeId(){return kr.Float}get[CH](){return"Float"}toString(){return`Float${this.precision}`}}class rme extends OH{constructor(){super(32)}}class sme extends OH{constructor(){super(64)}}Symbol,Symbol,TH=Symbol.toStringTag,AH=Symbol.toStringTag,MH=Symbol.toStringTag,DH=Symbol.toStringTag,IH=Symbol.toStringTag;class ome extends yR{constructor(e,t){super(),Kn(this,"listSize",void 0),Kn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return kr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[IH](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class sS{constructor(e,t,i=!1,r=new Map){Kn(this,"name",void 0),Kn(this,"type",void 0),Kn(this,"nullable",void 0),Kn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new sS(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function RH(n,e,t){const i=t?PH(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new Zge;case Uint8Array:return new tme;case Int16Array:return new Jge;case Uint16Array:return new nme;case Int32Array:return new eme;case Uint32Array:return new ime;case Float32Array:return new rme;case Float64Array:return new sme;default:throw new Error("array type not supported")}}(e.value);return new sS(n,new ome(e.size,new sS("value",r)),!1,i)}function PH(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const NH={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},ume={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class hme{constructor(e){Kn(this,"draco",void 0),Kn(this,"decoder",void 0),Kn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const f=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(f)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?u:r,s=h>s?h:s,o=f>o?f:o}return[[e,t,i],[r,s,o]]}(l.attributes),u=function(n,e,t){const i=PH(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=RH(o,n[o],s[o]);r.push(l)}if(t){const o=RH("indices",t);r.push(o)}return new sm(r,i)}(l.attributes,a,l.indices);return Sn(ot({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:u})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var oS=et(9125);const ER={};function xR(n){return SR.apply(this,arguments)}function SR(){return(SR=li(function*(n,e=null,t={}){return e&&(n=_me(n,e,t)),ER[n]=ER[n]||yme(n),yield ER[n]})).apply(this,arguments)}function _me(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:_O?t.CDN?(nu(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):yO?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function yme(n){return CR.apply(this,arguments)}function CR(){return(CR=li(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():_O?yO?importScripts(n):bme(yield(yield fetch(n)).text(),n):oS.requireFromFile&&(yield oS.requireFromFile(n))})).apply(this,arguments)}function bme(n,e){if(!_O)return oS.requireFromString&&oS.requireFromString(n,e);if(yO)return eval.call(Iue,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const vme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",wme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",Eme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let ib;function Sme(n){return TR.apply(this,arguments)}function TR(){return(TR=li(function*(n){const e=n.modules||{};return ib=e.draco3d?ib||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):ib||Cme(n),yield ib})).apply(this,arguments)}function Cme(n){return MR.apply(this,arguments)}function MR(){return(MR=li(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield xR(vme,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield xR(wme,"draco",n),yield xR(Eme,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield Tme(e,t)})).apply(this,arguments)}function Tme(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(Sn(ot({},t),{onModuleLoaded:r=>i({draco:r})}))})}const IR=Sn(ot({},EH),{parse:function(n,e){return OR.apply(this,arguments)}});function OR(){return(OR=li(function*(n,e){const{draco:t}=yield Sme(e),i=new hme(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function sb(n,e){return Lf(n>=0),Lf(e>0),n+(e-1)&~(e-1)}function Dme(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+sb(i.byteLength,4)}const kH=["SCALAR","VEC2","VEC3","VEC4"],Ime=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],Ome=new Map(Ime),Rme={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Pme={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Nme={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function FH(n){return kH[n-1]||kH[0]}function LH(n){const e=Ome.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function BH(n,e){const t=Nme[n.componentType],i=Rme[n.type],s=n.count*i,o=n.count*i*Pme[n.componentType];return $a(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const kme={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class _h{constructor(e){Kn(this,"gltf",void 0),Kn(this,"sourceBuffers",void 0),Kn(this,"byteLength",void 0),this.gltf=e||{json:ot({},kme),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return $a(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=BH(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return $a(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return $a(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=eR(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;$a(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=sb(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:FH(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:LH(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=Dme(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Wme(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function qme(n){return NR.apply(this,arguments)}function NR(){return(NR=li(function*(n){const e=new _h(n),{json:t}=e;e.removeExtension(lS);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,lS)})).apply(this,arguments)}function Yme(n){const e=new _h(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,lS,{}),e.addExtension(lS))}function Xme(n){return kR.apply(this,arguments)}function kR(){return(kR=li(function*(n){const e=new _h(n),{json:t}=e,i=e.getExtension(am);i&&(e.json.lights=i.lights,e.removeExtension(am));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,am);s&&(r.light=s.light),e.removeObjectExtension(r,am)}})).apply(this,arguments)}function Kme(n){return FR.apply(this,arguments)}function FR(){return(FR=li(function*(n){const e=new _h(n),{json:t}=e;if(t.lights){const i=e.addExtension(am);$a(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,am,i);delete e.json.lights}})).apply(this,arguments)}function Qme(n){return LR.apply(this,arguments)}function LR(){return(LR=li(function*(n){const e=new _h(n),{json:t}=e,i=e.getExtension(cS);if(i){const r=Jme(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,cS);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=e_e(s.technique,e)),e.removeObjectExtension(s,cS)}e.removeExtension(cS)}})).apply(this,arguments)}function Zme(n,e){return BR.apply(this,arguments)}function BR(){return(BR=li(function*(n,e){})).apply(this,arguments)}function Jme(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function e_e(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const UH={KHR_draco_mesh_compression:yt,KHR_materials_unlit:ee,KHR_lights_punctual:Dt,KHR_techniques_webgl:dt};function t_e(n){return VR.apply(this,arguments)}function VR(){return(VR=li(function*(n,e={},t){for(const r in UH){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield UH[r].decode(n,e,t))}})).apply(this,arguments)}const zH={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},i_e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class r_e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new _h(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,VH);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(VH)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in zH)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in zH)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=i_e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function s_e(n,e={}){return(new r_e).normalize(n,e)}const o_e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},a_e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Ml={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},l_e={magFilter:Ml.TEXTURE_MAG_FILTER,minFilter:Ml.TEXTURE_MIN_FILTER,wrapS:Ml.TEXTURE_WRAP_S,wrapT:Ml.TEXTURE_WRAP_T},c_e={[Ml.TEXTURE_MAG_FILTER]:Ml.LINEAR,[Ml.TEXTURE_MIN_FILTER]:Ml.NEAREST_MIPMAP_LINEAR,[Ml.TEXTURE_WRAP_S]:Ml.REPEAT,[Ml.TEXTURE_WRAP_]:Ml.REPEAT};class h_e{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return $a(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=ot({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=ot({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=ot({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=ot({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=ot({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=ot({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=ot({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return a_e[n]}(e.componentType),e.components=function(n){return o_e[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=BH(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):c_e,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return l_e[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function f_e(n,e){return(new h_e).postProcess(n,e)}const HH=1735152710,lm=!0;function UR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),sb(i,4)}function zR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),sb(i,4)}function C_e(n,e){return HR.apply(this,arguments)}function HR(){return(HR=li(function*(n,e,t=0,i,r){var s,o,a,l;T_e(n,e,t,i),s_e(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield A_e(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const h=M_e(n,i,r);c.push(h)}const u=t_e(n,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?f_e(n,i):n})).apply(this,arguments)}function T_e(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=HH}=t,s=i.getUint32(e,!1);return s===r||s===HH}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?bH(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?bH(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,lm),a=r.getUint32(t+8,lm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){Lf(n.header.byteLength>20);const i=e.getUint32(t+0,lm),r=e.getUint32(t+4,lm);return t+=8,Lf(0===r),UR(n,e,t,i),(t+=i)+zR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return Lf(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,lm),s=e.getUint32(t+4,lm);switch(t+=8,s){case 1313821514:UR(n,e,t,r);break;case 5130562:zR(n,e,t,r);break;case 0:i.strict||UR(n,e,t,r);break;case 1:i.strict||zR(n,e,t,r)}t+=sb(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),$a("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else $a(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function A_e(n,e,t){return GR.apply(this,arguments)}function GR(){return(GR=li(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield R_e(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function R_e(n){return XR.apply(this,arguments)}function XR(){return(XR=li(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const GH=[255,255,255,255],k_e={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:GH},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[cm]};let F_e=(()=>{class n extends Y0{getShaders(){const t=[tS,nS];return"pbr"===this.props._lighting&&t.push(eH),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:GH,transition:!0},instanceModelMatrix:Q4})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof rm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new zge(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=ot({gltf:l},c),function(n){return YR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Ri.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof rm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&Ri.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):Ri.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof rm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:ot({isInstanced:!0,transpileToGLSL100:!Ci(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:u}=this.props,h=this.getNumInstances();this.state.scenegraph.traverse((f,{worldMatrix:g})=>{f.model.setInstanceCount(h),f.updateModuleSettings(t),f.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:Z4(s,u),sceneModelMatrix:g,u_Camera:f.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=k_e,n})();class L_e extends gh{constructor(e={}){const{id:t=ma("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,u=(e+1)*(t+1);if("number"==typeof i){const U=i;i=(D,ie,_e,Pe,Ne)=>U}const h=new Float32Array(3*u),f=new Float32Array(3*u),g=new Float32Array(2*u),v=new(u>65535?Uint32Array:Uint16Array)(e*t*6);for(let U=0;U<=e;U++)for(let D=0;D<=t;D++){const ie=D/t,_e=U/e,Pe=D+U*(t+1),Ne=2*Pe,Ve=3*Pe,bt=c*ie,xt=o*_e,At=Math.sin(bt),Bt=Math.cos(bt),Wt=Math.sin(xt),mt=Bt*Wt,jt=Math.cos(xt),ft=At*Wt,Yt=i(mt,jt,ft,ie,_e);h[Ve+0]=Yt*mt,h[Ve+1]=Yt*jt,h[Ve+2]=Yt*ft,f[Ve+0]=mt,f[Ve+1]=jt,f[Ve+2]=ft,g[Ne+0]=ie,g[Ne+1]=1-_e}const x=t+1;for(let U=0;Us?(gt=i,Wt=1,mt=t):mt=e+Bt/s*(t-e),(-2===Bt||Bt===s+2)&&(mt=0,Wt=0),gt-=i/2;for(let jt=0;jts?0:ft*v,Ve[xt+Pe[1]]=Bt<0?-1:Bt>s?1:x,Ve[xt+Pe[2]]=Bt<0||Bt>s?0:Yt*v,bt[At+0]=jt/r,bt[At+1]=Wt,At+=2,xt+=3}}for(let Bt=0;Bt0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new ce){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new ce){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new ce){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new ce){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new ce){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=K_e,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=Q_e;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(WH),WH.almostEquals(e,t)}clone(){return new ce(this.x,this.y,this.z)}}ce.ZERO=void 0,ce.UNIT_X=void 0,ce.UNIT_Y=void 0,ce.UNIT_Z=void 0,ce.ZERO=new ce(0,0,0),ce.UNIT_X=new ce(1,0,0),ce.UNIT_Y=new ce(0,1,0),ce.UNIT_Z=new ce(0,0,1);const K_e=new ce,Q_e=new ce,WH=new ce;class pr{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new ce,this.upperBound=new ce,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),r.set(c.x,u.y,u.z),s.set(u.x,c.y,u.z),o.set(c.x,u.y,c.z),a.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){const i=YH;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let f=0;8!==f;f++){const g=i[f];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=YH;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let f=0;8!==f;f++){const g=i[f];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,u=(this.upperBound.y-i.y)*s,h=(this.lowerBound.z-i.z)*o,f=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,u)),Math.min(h,f)),m=Math.min(Math.min(Math.max(a,l),Math.max(c,u)),Math.max(h,f));return!(m<0||g>m)}}const qH=new ce,YH=[new ce,new ce,new ce,new ce,new ce,new ce,new ce,new ce];class us{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new ce){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=J_e;e.tangents(i,eye),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Er(e.length(),2)*Er(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new us){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,u=e.w;return t.x=i*u+o*a+r*c-s*l,t.y=r*u+o*l+s*a-i*c,t.z=s*u+o*c+i*l-r*a,t.w=o*u-i*a-r*l-s*c,t}inverse(e=new us){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new us){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new ce){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,u=c*i+a*s-l*r,h=c*r+l*i-o*s,f=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=u*c+g*-o+h*-l-f*-a,t.y=h*c+g*-a+f*-o-u*-l,t.z=f*c+g*-l+u*-a-h*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const u=o*a+l*c;if(u>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),u<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const h=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*u),s=Math.atan2(2*o*c-2*a*l,1-2*h-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"YXZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"ZXY"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"ZYX"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"YZX"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a-l*c*u):"XZY"===r&&(this.x=l*o*a-s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a+l*c*u),this}clone(){return new us(this.x,this.y,this.z,this.w)}slerp(e,t,i=new us){const r=this.x,s=this.y,o=this.z,a=this.w;let f,g,m,v,x,l=e.x,c=e.y,u=e.z,h=e.w;return g=r*l+s*c+o*u+a*h,g<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>1e-6?(f=Math.acos(g),m=Math.sin(f),v=Math.sin((1-t)*f)/m,x=Math.sin(t*f)/m):(v=1-t,x=t),i.x=v*r+x*l,i.y=v*s+x*c,i.z=v*o+x*u,i.w=v*a+x*h,i}integrate(e,t,i,r=new us){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,u=this.z,h=this.w,f=.5*t;return r.x+=f*(s*h+o*u-a*c),r.y+=f*(o*h+a*l-s*u),r.z+=f*(a*h+s*c-o*l),r.w+=f*(-s*l-o*c-a*u),r}}const J_e=new ce,eye=new ce,tye={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let _n=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=tye,n})();class $i{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new ce,this.quaternion=new us,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return $i.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return $i.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new ce){return i.vsub(e,r),t.conjugate(KH),KH.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new ce){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new ce){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new ce){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const KH=new us;class jf extends _n{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:_n.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new ce;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let u=!1;for(let h=0;h!==i.length;h++)if(i[h].almostEquals(r)||i[h].almostEquals(r)){u=!0;break}u||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ef&&(f=v,h=m)}const g=[];for(let m=0;m=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new ce,u=new ce,h=new ce,f=new ce,g=new ce,m=new ce;let v=Number.MAX_VALUE;const x=this;if(x.uniqueAxes)for(let U=0;U!==x.uniqueAxes.length;U++){i.vmult(x.uniqueAxes[U],c);const D=x.testSepAxis(c,e,t,i,r,s);if(!1===D)return!1;D0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){jf.project(this,e,i,r,KR),jf.project(t,e,s,o,QR);const l=KR[0],c=KR[1],u=QR[0],h=QR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?yn.STATIC:yn.DYNAMIC,typeof e.type==typeof yn.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=yn.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new ce,this.quaternion=new us,this.initQuaternion=new us,this.previousQuaternion=new us,this.interpolatedQuaternion=new us,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new ce,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new ce,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new ce,this.invInertia=new ce,this.invInertiaWorld=new lu,this.invMassSolve=0,this.invInertiaSolve=new ce,this.invInertiaWorldSolve=new lu,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new ce(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new ce(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new pr,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new ce,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=yn.AWAKE,this.wakeUpAfterNarrowphase=!1,e===yn.SLEEPING&&this.dispatchEvent(yn.wakeupEvent)}sleep(){this.sleepState=yn.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Er(this.sleepSpeedLimit,2);t===yn.AWAKE&&ir?this.wakeUp():t===yn.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(yn.sleepEvent))}}updateSolveMassProperties(){this.sleepState===yn.SLEEPING||this.type===yn.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new ce){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new ce){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new ce){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new ce,s=new us;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=rye,o=sye,a=this.quaternion,l=this.aabb,c=oye;for(let u=0;u!==r;u++){const h=e[u];a.vmult(t[u],s),s.vadd(this.position,s),a.mult(i[u],o),h.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===u?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=aye,r=lye;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new ce){if(this.type!==yn.DYNAMIC)return;this.sleepState===yn.SLEEPING&&this.wakeUp();const i=cye;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new ce){if(this.type!==yn.DYNAMIC)return;const i=uye,r=dye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===yn.DYNAMIC&&(this.sleepState===yn.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new ce){if(this.type!==yn.DYNAMIC)return;this.sleepState===yn.SLEEPING&&this.wakeUp();const i=t,r=hye;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=fye;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new ce){if(this.type!==yn.DYNAMIC)return;const i=pye,r=gye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=mye;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),dS.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new ce;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==yn.DYNAMIC&&this.type!==yn.KINEMATIC||this.sleepState===yn.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,h=this.invInertiaWorld,f=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*f.x,r.y+=a.y*g*f.y,r.z+=a.z*g*f.z;const m=h.elements,v=this.angularFactor,x=l.x*v.x,U=l.y*v.y,D=l.z*v.z;s.x+=e*(m[0]*x+m[1]*U+m[2]*D),s.y+=e*(m[3]*x+m[4]*U+m[5]*D),s.z+=e*(m[6]*x+m[7]*U+m[8]*D),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}yn.idCounter=0,yn.COLLIDE_EVENT_NAME="collide",yn.DYNAMIC=1,yn.STATIC=2,yn.KINEMATIC=4,yn.AWAKE=0,yn.SLEEPY=1,yn.SLEEPING=2,yn.wakeupEvent={type:"wakeup"},yn.sleepyEvent={type:"sleepy"},yn.sleepEvent={type:"sleep"};const rye=new ce,sye=new us,oye=new pr,aye=new lu,lye=new lu,cye=new ce,uye=new ce,dye=new ce,hye=new ce,fye=new ce,pye=new ce,gye=new ce,mye=new ce;new ce,new ce;class hS{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new ce,this.rayToWorld=new ce,this.hitNormalWorld=new ce,this.hitPointWorld=new ce,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let QH,ZH,JH,e8,t8,n8,i8;QH=_n.types.SPHERE,ZH=_n.types.PLANE,JH=_n.types.BOX,e8=_n.types.CYLINDER,t8=_n.types.CONVEXPOLYHEDRON,n8=_n.types.HEIGHTFIELD,i8=_n.types.TRIMESH;class ys{get[QH](){return this._intersectSphere}get[ZH](){return this._intersectPlane}get[JH](){return this._intersectBox}get[e8](){return this._intersectConvex}get[t8](){return this._intersectConvex}get[n8](){return this._intersectHeightfield}get[i8](){return this._intersectTrimesh}constructor(e=new ce,t=new ce){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new ce,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=ys.ANY,this.result=new hS,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||ys.ANY,this.result=t.result||new hS,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(r8),tP.length=0,e.broadphase.aabbQuery(e,r8,tP),this.intersectBodies(tP),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=xye,s=Sye;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new ce(0,0,1);t.vmult(c,c);const u=new ce;o.vsub(i,u);const h=u.dot(c);if(a.vsub(i,u),h*u.dot(c)>0||o.distanceTo(a)=0&&v<=1&&(o.lerp(a,v,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1)),this.result.shouldStop)return;x>=0&&x<=1&&(o.lerp(a,x,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Dye,l=o8,c=o&&o.faceList||null,u=e.faces,h=e.vertices,f=e.faceNormals,g=this.direction,m=this.from,x=m.distanceTo(this.to),U=c?c.length:u.length,D=this.result;for(let ie=0;!D.shouldStop&&iex||this.reportIntersection(a,va,s,r,_e)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=Iye,l=Fye,c=Lye,u=o8,h=Oye,f=Rye,g=Pye,m=kye,v=Nye,x=e.indices,U=this.from,D=this.to,ie=this.direction;c.position.copy(i),c.quaternion.copy(t),$i.vectorToLocalFrame(i,t,ie,h),$i.pointToLocalFrame(i,t,U,f),$i.pointToLocalFrame(i,t,D,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,f.x*=e.scale.x,f.y*=e.scale.y,f.z*=e.scale.z,g.vsub(f,h),h.normalize();const _e=f.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let Pe=0,Ne=l.length;!this.result.shouldStop&&Pe!==Ne;Pe++){const Ve=l[Pe];e.getNormal(Ve,a),e.getVertex(x[3*Ve],_c),_c.vsub(f,u);const bt=h.dot(a),xt=a.dot(u)/bt;if(xt<0)continue;h.scale(xt,va),va.vadd(f,va),e.getVertex(x[3*Ve+1],uu),e.getVertex(x[3*Ve+2],du);const At=va.distanceSquared(f);!ys.pointInTriangle(va,uu,_c,du)&&!ys.pointInTriangle(va,_c,uu,du)||At>_e||($i.vectorToWorldFrame(t,a,v),$i.pointToWorldFrame(i,t,va,m),this.reportIntersection(v,m,s,r,Ve))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case ys.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case ys.CLOSEST:(l=0&&(h=s*c-o*a)>=0&&u+hDate.now()-n}var $f=et(4517);class Fr extends oe{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new $;return this._value}next(e){super.next(this._value=e)}}function fm(n,e,t){e||(e=new qn(qn.IDENTITY));const i=new qn(qn.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new qn(qn.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new qn(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===fm(s,r,t))return!1;return!0}function Q8(){Mz([EH,cm])}function Z8(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||fm(s,new qn(qn.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function sP(n,e){return Bi(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield Hx(i,cm,{DracoLoader:IR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),Z8(n.scenegraphNode,r)})}function Bve(n,e){return Bi(this,void 0,void 0,function*(){return Z8(n,yield e)})}function oP(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new L_e;break;case"cone":i=new U_e;break;case"cylinder":i=new z_e;break;case"cube":default:i=new Y_e}return new pge(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:Vi.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function J8(n,e,t){if(e&&0!==e.length)return new rge(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new qn(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let jve=(()=>{class n extends Nz{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),Q8()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=sP({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const u of c)a.push(new F_e({id:"models-"+u["@id"],opacity:u.zoomBasedOpacity?r.zoomOpacity:void 0!==u.opacity?u.opacity:1,pickable:!u.unpickable,coordinateSystem:Vi.CARTESIAN,data:[u],scenegraph:u.scenegraphNode?Bve(u.scenegraphNode,o[u.scenegraph]):u.scenegraph,_lighting:u._lighting,getTransformMatrix:u.transformMatrix,getColor:null!==(i=u.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!u.zoomBasedOpacity&&(void 0===u.opacity||1===u.opacity)}}));else"text"===l?(a.push(J8("text",c.filter(u=>u.unpickable),{pickable:!1})),a.push(J8("textPickable",c.filter(u=>!u.unpickable),{pickable:!0}))):"wireframe"===l?a.push(oP(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(oP(l,c.filter(u=>u.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(oP(`${l}Pickable`,c.filter(u=>!u.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){Bi(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new qn(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new pr({lowerBound:new ce(...l.map((u,h)=>Math.min(u,c[h]))),upperBound:new ce(...c.map((u,h)=>Math.max(u,l[h])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield q0(o.scenegraph,cm,{DracoLoader:IR,decompress:!0,postProcess:!0});for(const l of a.scenes)fm(l,new qn(o.transformMatrix),(c,u)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const h of c.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const f=u.transformAsPoint(h.attributes.POSITION.min,[]),g=u.transformAsPoint(h.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new pr({lowerBound:new ce(...f.map((m,v)=>Math.min(m,g[v]))),upperBound:new ce(...g.map((m,v)=>Math.max(m,f[v])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function e5(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),e5(t,e);return e}let zve=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new jve({}),this.nodeClickSubject=new oe,this.nodeHoverStartSubject=new oe,this.nodeHoverStopSubject=new oe,this.sceneRotationSubject=new Fr([0,0]),this.nodeDragStartSubject=new oe,this.nodeDragSubject=new oe,this.nodeDragEndSubject=new oe,this.nodeClick$=this.nodeClickSubject.pipe(ws()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(ws()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(ws()),this.sceneRotation$=this.sceneRotationSubject.pipe(ws()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(ws()),this.nodeDrag$=this.nodeDragSubject.pipe(ws()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(ws());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new jde({flipY:!1,near:-1e3}):new Hde({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var u;return null!==(u=this.cursor)&&void 0!==u?u:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new $O({ambientLight:new Vz({color:[255,255,255],intensity:10})})]),this.deck=new eS(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return Bi(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new qn([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t,i){return Bi(this,void 0,void 0,function*(){Q8();const r=yield sP({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"},undefined),s={},o=[];for(const a of r.scenes)fm(a,e=new qn(e||qn.IDENTITY),(l,c)=>{const u={"@id":l.name||l.id,"@type":"ProcessedNode",transformMatrix:new qn(c),geometry:"wireframe",node:l};if(o.push({"@id":`GLTF:${u["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:u["@id"],transformMatrix:new qn(e||qn.IDENTITY),tooltip:l.name||l.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:l}),l.mesh&&l.mesh.primitives&&l.mesh.primitives.length>0)for(const h of l.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const f=c.transformAsPoint(h.attributes.POSITION.min,[]),g=c.transformAsPoint(h.attributes.POSITION.max,[]);u.bbox=new pr({lowerBound:new ce(...f.map((m,v)=>Math.min(m,g[v]))),upperBound:new ce(...g.map((m,v)=>Math.max(m,f[v])))})}return s[u["@id"]]=u,!0});for(const a of Object.values(s).filter(l=>!l.bbox)){for(const l of e5(a.node).map(c=>s[c]).filter(c=>c.bbox))a.bbox?a.bbox.extend(l.bbox):a.bbox=l.bbox.clone();a.bbox||delete s[a["@id"]]}for(const a of Object.values(s)){const l=a.bbox.lowerBound,h=(a.size=a.bbox.upperBound.clone().vsub(l)).clone().vmul(new ce(.5,.5,.5)),f=a.center=l.clone().vadd(h);a.transformMatrix=new qn(qn.IDENTITY).translate(f.toArray()).scale(h.toArray())}for(const a of o)s[a["@id"]]=a;return s})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new qn(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return Ei([$f.ZP],n.prototype,"_onHover",null),Ei([$f.ZP],n.prototype,"_onClick",null),Ei([$f.ZP],n.prototype,"_onViewStateChange",null),Ei([$f.ZP],n.prototype,"_onDragStart",null),Ei([$f.ZP],n.prototype,"_onDrag",null),Ei([$f.ZP],n.prototype,"_onDragEnd",null),n})();class t5 extends y{notifyNext(e,t,i,r,s){this.destination.next(t)}notifyError(e,t){this.destination.error(e)}notifyComplete(e){this.destination.complete()}}class Hve extends y{constructor(e,t,i){super(),this.parent=e,this.outerValue=t,this.outerIndex=i,this.index=0}_next(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)}_error(e){this.parent.notifyError(e,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function n5(n,e,t,i,r=new Hve(n,t,i)){if(!r.closed)return e instanceof O?e.subscribe(r):Me(e)(r)}const i5={};function yc(...n){let e,t;return Te(n[n.length-1])&&(t=n.pop()),"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&k(n[0])&&(n=n[0]),In(n,t).lift(new r5(e))}class r5{constructor(e){this.resultSelector=e}call(e,t){return t.subscribe(new Gve(e,this.resultSelector))}}class Gve extends t5{constructor(e,t){super(e),this.resultSelector=t,this.active=0,this.values=[],this.observables=[]}_next(e){this.values.push(i5),this.observables.push(e)}_complete(){const e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(let i=0;i(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let aP=(()=>{class n{constructor(){this.bootstrap$=new Df(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const lP=new Ht("INITIAL_STATE_TOKEN");let Kve=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const s5=new Ht("Internals.StateContextFactory"),o5=new Ht("Internals.StateFactory");function fb(...n){if(1===n.length){const e=n[0];if(k(e))return ES(e,null);if(Q(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return ES(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return ES(n=1===n.length&&k(n[0])?n[0]:n,null).pipe(me(t=>e(...t)))}return ES(n,null)}function ES(n,e){return new O(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=u},error:u=>t.error(u),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((u,h,f)=>(u[h]=r[f],u),{}):r),t.complete())}}))}})}function Ki(n,e){return function(i){return i.lift(new Qve(n,e))}}class Qve{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new Zve(e,this.predicate,this.thisArg))}}class Zve extends y{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}function Wa(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(u){let h;s++,!r||a?(a=!1,r=new Df(n,e,i),h=r.subscribe(this),o=u.subscribe({next(f){r.next(f)},error(f){a=!0,r.error(f)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):h=r.subscribe(this),this.add(()=>{s--,h.unsubscribe(),h=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}const a5=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function qr(n){return e=>0===n?b0():e.lift(new ewe(n))}class ewe{constructor(e){if(this.total=e,this.total<0)throw new a5}call(e,t){return t.subscribe(new twe(e,this.total))}}class twe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function l5(n,e){return e?t=>t.pipe(l5((i,r)=>je(n(i,r)).pipe(me((s,o)=>e(i,s,r,o))))):t=>t.lift(new nwe(n))}class nwe{constructor(e){this.project=e}call(e,t){return t.subscribe(new iwe(e,this.project))}}class iwe extends we{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new _t(this),i=this.destination;i.add(t);const r=N(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function xS(n=null){return e=>e.lift(new rwe(n))}class rwe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new swe(e,this.defaultValue))}}class swe extends y{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function bc(n){return function(t){const i=new owe(n),r=t.lift(i);return i.caught=r}}class owe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new awe(e,this.selector,this.caught))}}class awe extends we{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new _t(this);this.add(i);const r=N(t,i);r!==i&&this.add(r)}}}function gr(n){return e=>e.lift(new lwe(n))}class lwe{constructor(e){this.notifier=e}call(e,t){const i=new cwe(e),r=N(this.notifier,new _t(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class cwe extends we{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function bh(){}function cr(n,e,t){return function(r){return r.lift(new uwe(n,e,t))}}class uwe{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new dwe(e,this.nextOrObserver,this.error,this.complete))}}class dwe extends y{constructor(e,t,i,r){super(e),this._tapNext=bh,this._tapError=bh,this._tapComplete=bh,this._tapError=i||bh,this._tapComplete=r||bh,Y(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||bh,this._tapError=t.error||bh,this._tapComplete=t.complete||bh)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function ld(n,e){return t=>t.lift(new hwe(n,e))}class hwe{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new fwe(e,this.compare,this.keySelector))}}class fwe extends y{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}const qa={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let c5=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(n){return"server"===n}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return pn.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return pn.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof pn||console.warn(qa.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(Ie(pn),Ie(Xc))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const u5=new Ht("ROOT_STATE_TOKEN"),d5=new Ht("FEATURE_STATE_TOKEN"),h5=new Ht("NGXS_PLUGINS"),f5=new Ht("NG_TEST_MODE"),p5=new Ht("NG_DEV_MODE"),cd="NGXS_META",g5="NGXS_OPTIONS_META",cP="NGXS_SELECTOR_META";let Wf=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=c5}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class pwe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const m5=new Ht("NGXS_EXECUTION_STRATEGY");function qf(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const _5=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},SS=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),uP=n=>n&&"object"==typeof n&&!Array.isArray(n),dP=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(uP(n)&&uP(t))for(const i in t)uP(t[i])?(n[i]||Object.assign(n,{[i]:{}}),dP(n[i],t[i])):Object.assign(n,{[i]:t[i]});return dP(n,...e)};function hP(n){if(!n.hasOwnProperty(cd)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,cd,{value:e})}return pb(n)}function pb(n){return n[cd]}function pP(n){return n[cP]}function y5(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[qf(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Ki(t=>{const i=qf(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function Cwe(){return me(n=>n.action)}function CS(n){return e=>new O(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let TS=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(m5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class Mwe extends oe{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let AS=(()=>{class n extends Mwe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Dwe=(()=>{class n extends O{constructor(t,i){super(r=>{const s=t.pipe(CS(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(Ie(AS),Ie(TS))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const v5=n=>(...e)=>n.shift()(...e,(...i)=>v5(n)(...i));let MS=(()=>{class n extends Fr{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gP=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12),Ie(h5,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),mP=(()=>{class n extends oe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),w5=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(la),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(CS(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?sn(this._stateStream.getValue()):fb(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!qf(t))return Fg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return v5([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe(Wa())}getActionResultStream(t){return this._actionResults.pipe(Ki(i=>i.action===t&&"DISPATCHED"!==i.status),qr(1),Wa())}createDispatchObservable(t){return t.pipe(l5(i=>{switch(i.status){case"SUCCESSFUL":return sn(this._stateStream.getValue());case"ERRORED":return Fg(i.error);default:return Qc}})).pipe(Wa())}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(AS),Ie(mP),Ie(gP),Ie(MS),Ie(TS))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const E5=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&E5(n[i])}),n};let x5=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(Ie(p5),Ie(f5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),S5=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(qa.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(qa.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(Ie(x5),Ie(Wf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=E5(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(Ie(MS),Ie(w5),Ie(Wf),Ie(S5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),DS=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return SS(l,t.path)}function s(l,c){const u=_5(l,t.path,c),h=t.instance;if(h.ngxsOnChanges){const f=b5(t,{currentAppState:l,newAppState:u});h.ngxsOnChanges(f)}return i.setState(u),u}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(qa.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(qa.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(gm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class IS{static stateNameErrorMessage(e){return qa.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(qa.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(qa.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=pb(e);if(!t)throw new Error(qa.STATE_DECORATOR());return t}}IS.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let mm=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=wS(()=>{const c=this;function u(f){const g=c.statePaths[f];return g?y5(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(f){let g=u(f);return g||((...m)=>(g||(g=u(f)),g?g(...m):void 0))},getSelectorOptions:f=>Object.assign({},c._config.selectorOptions,f||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(IS.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[cd].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[cd];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[cd].name]=t,e),{})}(i),l=[];for(const c of s){const u=a[c],h=o[c],f=u[cd];this.addRuntimeInfoToMeta(f,h);const g={name:c,path:h,isInitialised:!1,actions:f.actions,instance:this._injector.get(u),defaults:n.cloneDefaults(f.defaults)};this.hasBeenMountedAndBootstrapped(c,h)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>_5(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Ki(t=>"DISPATCHED"===t.status),V(({action:t})=>this.invokeActions(this._actions,t).pipe(me(()=>({action:t,status:"SUCCESSFUL"})),xS({action:t,status:"CANCELED"}),bc(i=>sn({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=qf(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let u=o.instance[l.fn](c,i);u instanceof Promise&&(u=je(u)),u instanceof O?(u=u.pipe(xS({})),l.options.cancelUncompleted&&(u=u.pipe(gr(t.pipe(Ewe(i)))))):u=sn({}).pipe(Wa()),s.push(u)}catch(u){s.push(Fg(u))}}}return s.length||s.push(sn({})),fb(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=IS.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==SS(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(Wf),Ie(n,12),Ie(AS),Ie(mP),Ie(DS),Ie(lP,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),_P=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Ki(()=>!!i),cr(()=>this.invokeInit(i.states)),V(()=>this.bootstrapper.appBootstrapped$),Ki(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=b5(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(gm),Ie(DS),Ie(aP))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const OS_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function Owe(n,e,t){const i=t&&t.containerClass,s=wS(function(...c){const u=e.apply(i,c);return u instanceof Function?wS.apply(null,[u]):u});Object.setPrototypeOf(s,e);const o=function(n,e){const t=function(n){return n.hasOwnProperty(cP)||Object.defineProperty(n,cP,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),pP(n)}(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},OS_getOptions(n.containerClass)||{},OS_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:u}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&pb(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>T5(a)(n))}}(l,o,n);return function(f){const g=c.map(m=>m(f));try{return s(...g)}catch(m){if(m instanceof TypeError&&u.suppressErrors)return;throw m}}},s}function T5(n){const e=pP(n)||pb(n);return e&&e.makeRootSelector||(()=>n)}let hu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(me(i),bc(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?sn(void 0):Fg(r)}),ld(),CS(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(qr(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(CS(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return T5(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(MS),Ie(gm),Ie(Wf),Ie(TS),Ie(mm),Ie(lP,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),gb=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu),Ie(Wf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class Fwe{static get type(){return"@@INIT"}}class Lwe{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const RS=new Df(1);let Vwe=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&fa();RS.next(t)}catch(n){RS.next(!1)}finally{RS.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new Fwe,l)}}return n.\u0275fac=function(t){return new(t||n)(Ie(mm),Ie(gm),Ie(hu),Ie(gb),Ie(u5,8),Ie(_P))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})(),jwe=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new Lwe(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu),Ie(gm),Ie(mm),Ie(d5,8),Ie(_P))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();class Yo{static forRoot(e=[],t={}){return{ngModule:Vwe,providers:[mm,DS,Dwe,AS,aP,S5,x5,_P,w5,mP,gm,TS,hu,MS,gb,gP,...e,...Yo.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:jwe,providers:[mm,gP,...e,{provide:d5,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:f5,useValue:Xve},{provide:p5,useValue:fa},{provide:m5,useClass:t.executionStrategy||c5},{provide:u5,useValue:e},{provide:Yo.ROOT_OPTIONS,useValue:t},{provide:Wf,useFactory:Yo.ngxsConfigFactory,deps:[Yo.ROOT_OPTIONS]},{provide:IE,useFactory:Yo.appBootstrapListenerFactory,multi:!0,deps:[aP]},{provide:lP,useFactory:Yo.getInitialState},{provide:s5,useExisting:DS},{provide:o5,useExisting:mm}]}static ngxsConfigFactory(e){return dP(new Wf,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return Kve.pop()}}function yP(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(qa.ACTION_DECORATOR());const s=hP(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function A5(n){return i=>{!function(n){RS.subscribe(e=>{e&&(n.\u0275prov||console.warn(qa.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=hP(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[g5]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,u="string"==typeof c?c:c&&c.getName()||null;IS.checkCorrectStateName(u),s.hasOwnProperty(cd)&&(r.actions=Object.assign({},r.actions,(s[cd]||{}).actions)),r.children=a,r.defaults=l,r.name=u})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[g5]=a}}function PS(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?y5(t.length?[e,...t]:e.split("."),gb.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!gb.store)throw new Error(qa.SELECT_FACTORY_NOT_CONNECTED());return gb.store.select(n)}(o))}}})}}function _m(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(qa.SELECTOR_DECORATOR());const s=i.value,o=Owe(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}Yo.\u0275fac=function(e){return new(e||Yo)},Yo.\u0275mod=tn({type:Yo}),Yo.\u0275inj=St({}),Yo.ROOT_OPTIONS=new Ht("ROOT_OPTIONS");const Xo=new Ht("NgValueAccessor");function Dl(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}const qS=new cc(sx);class YEe{constructor(e,t){this.dueTime=e,this.scheduler=t}call(e,t){return t.subscribe(new XEe(e,this.dueTime,this.scheduler))}}class XEe extends y{constructor(e,t,i){super(e),this.dueTime=t,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(KEe,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:e}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}}clearDebounce(){const e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)}}function KEe(n){n.debouncedNext()}class QEe{constructor(e){this.total=e}call(e,t){return t.subscribe(new ZEe(e,this.total))}}class ZEe extends y{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function bi(n){return null!=n&&"false"!=`${n}`}function Ya(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}function YS(n){return Array.isArray(n)?n:[n]}function bs(n){return null==n?"":"string"==typeof n?n:`${n}px`}function dd(n){return n instanceof gn?n.nativeElement:n}let zP;try{zP="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){zP=!1}let Cb,Xf,HP,Qi=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Af(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!zP)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(Ie(Xc))},n.\u0275prov=We({factory:function(){return new n(Ie(Xc))},token:n,providedIn:"root"}),n})(),Sb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();function vm(n){return function(){if(null==Cb&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Cb=!0}))}finally{Cb=Cb||!1}return Cb}()?n:!!n.capture}function F6(){if(null==Xf){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Xf=!1,Xf;if("scrollBehavior"in document.documentElement.style)Xf=!0;else{const n=Element.prototype.scrollTo;Xf=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return Xf}function KS(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Kf(n){return n.composedPath?n.composedPath()[0]:n.target}let GP=(()=>{class n{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),L6=(()=>{class n{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,i)=>this._cleanupObserver(i))}observe(t){const i=dd(t);return new O(r=>{const o=this._observeElement(i).subscribe(r);return()=>{o.unsubscribe(),this._unobserveElement(i)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const i=new oe,r=this._mutationObserverFactory.create(s=>i.next(s));r&&r.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:r,stream:i,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:i,stream:r}=this._observedElements.get(t);i&&i.disconnect(),r.complete(),this._observedElements.delete(t)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(GP))},n.\u0275prov=We({factory:function(){return new n(Ie(GP))},token:n,providedIn:"root"}),n})(),$P=(()=>{class n{constructor(t,i,r){this._contentObserver=t,this._elementRef=i,this._ngZone=r,this.event=new ln,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=bi(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=Ya(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(function(n,e=qS){return t=>t.lift(new YEe(n,e))}(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(Ce(L6),Ce(gn),Ce(pn))},n.\u0275dir=Nt({type:n,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),n})(),QS=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[GP]}),n})(),$6=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===q6(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=q6(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||W6(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Qi))},n.\u0275prov=We({factory:function(){return new n(Ie(Qi))},token:n,providedIn:"root"}),n})();function W6(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function q6(n){if(!W6(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class yxe{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}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))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(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}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const 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._ngZone.isStable?e():this._ngZone.onStable.pipe(qr(1)).subscribe(e)}}let Y6=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new yxe(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(Ie($6),Ie(pn),Ie(fn))},n.\u0275prov=We({factory:function(){return new n(Ie($6),Ie(pn),Ie(fn))},token:n,providedIn:"root"}),n})();function X6(n){return 0===n.offsetX&&0===n.offsetY}function K6(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const Q6=new Ht("cdk-input-modality-detector-options"),xxe={ignoreKeys:[18,17,224,91,16]},wm=vm({passive:!0,capture:!0});let J6=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new Fr(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Kf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(X6(o)?"keyboard":"mouse"),this._mostRecentTarget=Kf(o))},this._onTouchstart=o=>{K6(o)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Kf(o))},this._options=Object.assign(Object.assign({},xxe),s),this.modalityDetected=this._modality.pipe(function(n){return e=>e.lift(new QEe(n))}(1)),this.modalityChanged=this.modalityDetected.pipe(ld()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,wm),r.addEventListener("mousedown",this._onMousedown,wm),r.addEventListener("touchstart",this._onTouchstart,wm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,wm),document.removeEventListener("mousedown",this._onMousedown,wm),document.removeEventListener("touchstart",this._onTouchstart,wm))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Qi),Ie(pn),Ie(fn),Ie(Q6,8))},n.\u0275prov=We({factory:function(){return new n(Ie(Qi),Ie(pn),Ie(fn),Ie(Q6,8))},token:n,providedIn:"root"}),n})();const nG=new Ht("cdk-focus-monitor-default-options"),eC=vm({passive:!0,capture:!0});let vc=(()=>{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,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=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new oe,this._rootNodeFocusAndBlurListener=a=>{const l=Kf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let u=l;u;u=u.parentElement)c.call(this,a,u)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=dd(t);if(!this._platform.isBrowser||1!==r.nodeType)return sn(null);const s=function(n){if(function(){if(null==HP){const n="undefined"!=typeof document?document.head:null;HP=!(!n||!n.createShadowRoot&&!n.attachShadow)}return HP}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new oe,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=dd(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=dd(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Kf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,eC),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,eC)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(gr(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,eC),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,eC),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(Ie(pn),Ie(Qi),Ie(J6),Ie(fn,8),Ie(nG,8))},n.\u0275prov=We({factory:function(){return new n(Ie(pn),Ie(Qi),Ie(J6),Ie(fn,8),Ie(nG,8))},token:n,providedIn:"root"}),n})();const iG="cdk-high-contrast-black-on-white",rG="cdk-high-contrast-white-on-black",qP="cdk-high-contrast-active";let sG=(()=>{class n{constructor(t,i){this._platform=t,this._document=i}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const i=this._document.defaultView||window,r=i&&i.getComputedStyle?i.getComputedStyle(t):null,s=(r&&r.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),s){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(qP),t.remove(iG),t.remove(rG),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?(t.add(qP),t.add(iG)):2===i&&(t.add(qP),t.add(rG))}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Qi),Ie(fn))},n.\u0275prov=We({factory:function(){return new n(Ie(Qi),Ie(fn))},token:n,providedIn:"root"}),n})();const oG=new Ht("cdk-dir-doc",{providedIn:"root",factory:function(){return Bc(fn)}});let Il=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new ln,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(Ie(oG,8))},n.\u0275prov=We({factory:function(){return new n(Ie(oG,8))},token:n,providedIn:"root"}),n})(),Ab=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const aG=new Hu("12.2.5");function tC(...n){return kt(1)(sn(...n))}function Oo(...n){const e=n[n.length-1];return Te(e)?(n.pop(),t=>tC(n,t,e)):t=>tC(n,t)}function Em(n,e){return{type:7,name:n,definitions:e,options:{}}}function fd(n,e=null){return{type:4,styles:e,timings:n}}function ds(n){return{type:6,styles:n,offset:null}}function wc(n,e,t){return{type:0,name:n,styles:e,options:t}}function pd(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function uG(n){Promise.resolve(null).then(n)}class xm{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],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._onStartFns.push(e)}onDone(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(){uG(()=>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}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function hG(){return"undefined"!=typeof window&&void 0!==window.document}function XP(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}let JP=(n,e)=>!1,eN=(n,e)=>!1,gG=(n,e,t)=>[];const mG=XP();(mG||"undefined"!=typeof Element)&&(JP=hG()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),eN=(()=>{if(mG||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):eN}})(),gG=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{class n{validateStyleProperty(t){return tN(t)}matchesElement(t,i){return nN(t,i)}containsElement(t,i){return iN(t,i)}query(t,i,r){return rN(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new xm(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class nC{}nC.NOOP=new bG;function xG(n,e,t){return t?e+":"+t+";":""}function SG(n){let e="";for(let t=0;t{const r=cN(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),XP()&&SG(n))}function Jf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=cN(t);n.style[i]=""}),XP()&&SG(n))}const Lxe=/-+([a-z0-9])/g;function cN(n){return n.replace(Lxe,(...e)=>e[1].toUpperCase())}function Bxe(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Tm{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=Tm.initialStylesByElement.get(e);r||Tm.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&pu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(pu(this._element,this._initialStyles),this._endStyles&&(pu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Tm.initialStylesByElement.delete(this._element),this._startStyles&&(Jf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Jf(this._element,this._endStyles),this._endStyles=null),pu(this._element,this._initialStyles),this._state=3)}}Tm.initialStylesByElement=new WeakMap;const Qa=new Ht("AnimationModuleType"),l$=new Hu("12.2.5"),sCe=new Ht("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let tp,ji=(()=>{class n{constructor(t,i,r){this._hasDoneGlobalChecks=!1,this._document=r,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=i,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!fa()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const i=getComputedStyle(t);i&&"none"!==i.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&l$.full!==aG.full&&console.warn("The Angular Material version ("+l$.full+") does not match the Angular CDK version ("+aG.full+").\nPlease ensure the versions of these two packages exactly match.")}}return n.\u0275fac=function(t){return new(t||n)(Ie(sG),Ie(sCe,8),Ie(fn))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Ab],Ab]}),n})();function Am(n){return class extends n{constructor(...e){super(...e),this._disabled=!1}get disabled(){return this._disabled}set disabled(e){this._disabled=bi(e)}}}function Mm(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function Ch(n){return class extends n{constructor(...e){super(...e),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=bi(e)}}}function wC(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?Ya(t):this.defaultTabIndex}}}try{tp="undefined"!=typeof Intl}catch(n){tp=!1}class yCe{constructor(e,t,i){this._renderer=e,this.element=t,this.config=i,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const p$={enterDuration:225,exitDuration:150},SN=vm({passive:!0}),g$=["mousedown","touchstart"],m$=["mouseup","mouseleave","touchend","touchcancel"];class vCe{constructor(e,t,i,r){this._target=e,this._ngZone=t,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=dd(i))}fadeInRipple(e,t,i={}){const r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign(Object.assign({},p$),i.animation);i.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);const o=i.radius||function(n,e,t){const i=Math.max(Math.abs(n-t.left),Math.abs(n-t.right)),r=Math.max(Math.abs(e-t.top),Math.abs(e-t.bottom));return Math.sqrt(i*i+r*r)}(e,t,r),a=e-r.left,l=t-r.top,c=s.enterDuration,u=document.createElement("div");u.classList.add("mat-ripple-element"),u.style.left=a-o+"px",u.style.top=l-o+"px",u.style.height=2*o+"px",u.style.width=2*o+"px",null!=i.color&&(u.style.backgroundColor=i.color),u.style.transitionDuration=`${c}ms`,this._containerElement.appendChild(u),function(n){window.getComputedStyle(n).getPropertyValue("opacity")}(u),u.style.transform="scale(1)";const h=new yCe(this,u,i);return h.state=0,this._activeRipples.add(h),i.persistent||(this._mostRecentTransientRipple=h),this._runTimeoutOutsideZone(()=>{const f=h===this._mostRecentTransientRipple;h.state=1,!i.persistent&&(!f||!this._isPointerDown)&&h.fadeOut()},c),h}fadeOutRipple(e){const t=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!t)return;const i=e.element,r=Object.assign(Object.assign({},p$),e.config.animation);i.style.transitionDuration=`${r.exitDuration}ms`,i.style.opacity="0",e.state=2,this._runTimeoutOutsideZone(()=>{e.state=3,i.parentNode.removeChild(i)},r.exitDuration)}fadeOutAll(){this._activeRipples.forEach(e=>e.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(e=>{e.config.persistent||e.fadeOut()})}setupTriggerEvents(e){const t=dd(e);!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,this._registerEvents(g$))}handleEvent(e){"mousedown"===e.type?this._onMousedown(e):"touchstart"===e.type?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(m$),this._pointerUpEventsRegistered=!0)}_onMousedown(e){const t=X6(e),i=this._lastTouchStartEvent&&Date.now(){!e.config.persistent&&(1===e.state||e.config.terminateOnPointerUp&&0===e.state)&&e.fadeOut()}))}_runTimeoutOutsideZone(e,t=0){this._ngZone.runOutsideAngular(()=>setTimeout(e,t))}_registerEvents(e){this._ngZone.runOutsideAngular(()=>{e.forEach(t=>{this._triggerElement.addEventListener(t,this,SN)})})}_removeTriggerEvents(){this._triggerElement&&(g$.forEach(e=>{this._triggerElement.removeEventListener(e,this,SN)}),this._pointerUpEventsRegistered&&m$.forEach(e=>{this._triggerElement.removeEventListener(e,this,SN)}))}}const xCe=new Ht("mat-ripple-global-options");let gu=(()=>{class n{constructor(t,i,r,s,o){this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new vCe(this,i,t,r)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}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:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{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(t,i=0,r){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,i,Object.assign(Object.assign({},this.rippleConfig),r)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return n.\u0275fac=function(t){return new(t||n)(Ce(gn),Ce(pn),Ce(Qi),Ce(xCe,8),Ce(Qa,8))},n.\u0275dir=Nt({type:n,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,i){2&t&&ai("mat-ripple-unbounded",i.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),n})(),Dm=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[ji,Sb],ji]}),n})();function gd(n,e,t,i){return Y(t)&&(i=t,t=void 0),i?gd(n,e,t).pipe(me(r=>k(r)?i(...r):i(r))):new O(r=>{E$(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function E$(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let FCe=1;const LCe=Promise.resolve(),SC={};function x$(n){return n in SC&&(delete SC[n],!0)}const S$={setImmediate(n){const e=FCe++;return SC[e]=!0,LCe.then(()=>x$(e)&&n()),e},clearImmediate(n){x$(n)}};new class extends cc{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=S$.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(S$.clearImmediate(t),e.scheduled=void 0)}});function Im(n){return!!n&&(n instanceof O||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class zCe{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new HCe(e,this.durationSelector))}}class HCe extends we{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=N(t,new _t(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function C$(n){return!k(n)&&n-parseFloat(n)+1>=0}function $Ce(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function CC(n,e=qS){return function(n){return function(t){return t.lift(new zCe(n))}}(()=>function(n=0,e,t){let i=-1;return C$(e)?i=Number(e)<1?1:Number(e):Te(e)&&(t=e),Te(t)||(t=qS),new O(r=>{const s=C$(n)?n:+n-t.now();return t.schedule($Ce,s,{index:0,period:i,subscriber:r})})}(n,e))}let A$=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({factory:function(){return new n},token:n,providedIn:"root"}),n})(),Om=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new oe,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new O(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(CC(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):sn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Ki(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=dd(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>gd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(Ie(pn),Ie(Qi),Ie(fn,8))},n.\u0275prov=We({factory:function(){return new n(Ie(pn),Ie(Qi),Ie(fn,8))},token:n,providedIn:"root"}),n})(),Rm=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new oe,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(CC(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(Ie(Qi),Ie(pn),Ie(fn,8))},n.\u0275prov=We({factory:function(){return new n(Ie(Qi),Ie(pn),Ie(fn,8))},token:n,providedIn:"root"}),n})();class MN{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class AC extends MN{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Pm extends MN{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}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()}}class l1e extends MN{constructor(e){super(),this.element=e instanceof gn?e.nativeElement:e}}class MC{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof AC?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Pm?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof l1e?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}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)}}class c1e extends MC{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let np=(()=>{class n extends MC{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new ln,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(Ce(El),Ce(Rs),Ce(fn))},n.\u0275dir=Nt({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[En]}),n})();const N$=F6();class f1e{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=bs(-this._previousScrollPosition.left),e.style.top=bs(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),N$&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),N$&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class p1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const 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}}class k${enable(){}disable(){}attach(){}}function DN(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function F$(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class g1e{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();DN(t,[{width:i,height:r,bottom:r,right:i,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}}let m1e=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new k$,this.close=o=>new p1e(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new f1e(this._viewportRuler,this._document),this.reposition=o=>new g1e(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(Ie(Om),Ie(Rm),Ie(pn),Ie(fn))},n.\u0275prov=We({factory:function(){return new n(Ie(Om),Ie(Rm),Ie(pn),Ie(fn))},token:n,providedIn:"root"}),n})();class IC{constructor(e){if(this.scrollStrategy=new k$,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class _1e{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class y1e{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let L$=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({factory:function(){return new n(Ie(fn))},token:n,providedIn:"root"}),n})(),b1e=(()=>{class n extends L${constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn))},n.\u0275prov=We({factory:function(){return new n(Ie(fn))},token:n,providedIn:"root"}),n})(),v1e=(()=>{class n extends L${constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Kf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Qi))},n.\u0275prov=We({factory:function(){return new n(Ie(fn),Ie(Qi))},token:n,providedIn:"root"}),n})();const Th="undefined"!=typeof window?window:{},B$=void 0!==Th.__karma__&&!!Th.__karma__||void 0!==Th.jasmine&&!!Th.jasmine||void 0!==Th.jest&&!!Th.jest||void 0!==Th.Mocha&&!!Th.Mocha;let Ob=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||B$){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(u),this._keydownEvents=new oe,this._outsidePointerEvents=new oe,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(qr(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),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),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),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&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.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=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},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(){const e=this._config.direction;return e?"string"==typeof e?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;const e=this._pane.style;e.width=bs(this._config.width),e.height=bs(this._config.height),e.minWidth=bs(this._config.minWidth),e.minHeight=bs(this._config.minHeight),e.maxWidth=bs(this._config.maxWidth),e.maxHeight=bs(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),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),"undefined"!=typeof requestAnimationFrame?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)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;YS(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(gr(Nn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const V$="cdk-overlay-connected-position-bounding-box",E1e=/([A-Za-z%]+)$/;class j${constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,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 oe,this._resizeSubscription=C.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(V$),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)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&ip(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(V$),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(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){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=z$(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let f=0-a,g=a+s.height-i.height,m=this._subtractOverflows(s.width,0-o,o+s.width-i.width),v=this._subtractOverflows(s.height,f,g),x=m*v;return{visibleArea:x,isCompletelyWithinViewport:s.width*s.height===x,fitsInViewportVertically:v===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=U$(this._overlayRef.getConfig().minHeight),a=U$(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=z$(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let u=0,h=0;return u=r.width<=s.width?c||-o:e.xm&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-m/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)f=i.width-e.x+this._viewportMargin,u=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)h=e.x,u=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),m=this._lastBoundingBoxSize.width;u=2*g,h=e.x-g,u>m&&!this._isInitialRender&&!this._growAfterOpen&&(h=e.x-m/2)}return{top:o,left:h,bottom:a,right:f,width:u,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=bs(i.height),r.top=bs(i.top),r.bottom=bs(i.bottom),r.width=bs(i.width),r.left=bs(i.left),r.right=bs(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=bs(s)),o&&(r.maxWidth=bs(o))}this._lastBoundingBoxSize=i,ip(this._boundingBox.style,r)}_resetBoundingBoxStyles(){ip(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){ip(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const u=this._viewportRuler.getViewportScrollPosition();ip(i,this._getExactOverlayY(t,e,u)),ip(i,this._getExactOverlayX(t,e,u))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=bs(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=bs(o.maxWidth):s&&(i.maxWidth="")),ip(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=bs(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=bs(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:F$(e,i),isOriginOutsideView:DN(e,i),isOverlayClipped:F$(t,i),isOverlayOutsideView:DN(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&YS(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof gn)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function ip(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function U$(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(E1e);return t&&"px"!==t?null:parseFloat(e)}return n||null}function z$(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class x1e{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new j$(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new _1e(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const H$="cdk-global-overlay-wrapper";class S1e{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const 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(H$),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-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._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(H$),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let C1e=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new S1e}connectedTo(t,i,r){return new x1e(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new j$(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Rm),Ie(fn),Ie(Qi),Ie(Ob))},n.\u0275prov=We({factory:function(){return new n(Ie(Rm),Ie(fn),Ie(Qi),Ie(Ob))},token:n,providedIn:"root"}),n})(),T1e=0,Ec=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u,h,f){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=h,this._outsideClickDispatcher=f}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new IC(t);return o.direction=o.direction||this._directionality.value,new w1e(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+T1e++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(sh)),new c1e(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(Ie(m1e),Ie(Ob),Ie(El),Ie(C1e),Ie(b1e),Ie(Hn),Ie(pn),Ie(fn),Ie(Il),Ie(kg),Ie(v1e))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class rTe{constructor(e,t){this.delay=e,this.scheduler=t}call(e,t){return t.subscribe(new PN(e,this.delay,this.scheduler))}}class PN extends y{constructor(e,t,i){super(e),this.delay=t,this.scheduler=i,this.queue=[],this.active=!1,this.errored=!1}static dispatch(e){const t=e.source,i=t.queue,r=e.scheduler,s=e.destination;for(;i.length>0&&i[0].time-r.now()<=0;)i.shift().notification.observe(s);if(i.length>0){const o=Math.max(0,i[0].time-r.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1}_schedule(e){this.active=!0,this.destination.add(e.schedule(PN.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))}scheduleNotification(e){if(!0===this.errored)return;const t=this.scheduler,i=new sTe(t.now()+this.delay,e);this.queue.push(i),!1===this.active&&this._schedule(t)}_next(e){this.scheduleNotification(ga.createNext(e))}_error(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()}_complete(){this.scheduleNotification(ga.createComplete()),this.unsubscribe()}}class sTe{constructor(e,t){this.time=e,this.notification=t}}function oW(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>me(function(n,e){return i=>{let r=i;for(let s=0;se.lift(new WTe(n))}et(7266);class WTe{constructor(e){this.callback=e}call(e,t){return t.subscribe(new qTe(e,this.callback))}}class qTe extends y{constructor(e,t){super(e),this.add(new C(t))}}class fW{}class pW{}class mu{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const 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 mu?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){const t=new mu;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof mu?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class YTe{encodeKey(e){return gW(e)}encodeValue(e){return gW(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const KTe=/%(\d[a-f0-9])/gi,QTe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function gW(n){return encodeURIComponent(n).replace(KTe,(e,t)=>{var i;return null!==(i=QTe[t])&&void 0!==i?i:e})}function mW(n){return`${n}`}class Lr{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new YTe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const 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){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,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=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new Lr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(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":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(mW(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(mW(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class Zs{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}keys(){return this.map.keys()}}function _W(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function yW(n){return"undefined"!=typeof Blob&&n instanceof Blob}function bW(n){return"undefined"!=typeof FormData&&n instanceof FormData}class Rb{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new mu),this.context||(this.context=new Zs),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":af.set(g,e.setHeaders[g]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((f,g)=>f.set(g,e.setParams[g]),u)),new Rb(i,r,o,{params:u,headers:c,context:h,reportProgress:l,responseType:s,withCredentials:a})}}var vs=(()=>((vs=vs||{})[vs.Sent=0]="Sent",vs[vs.UploadProgress=1]="UploadProgress",vs[vs.ResponseHeader=2]="ResponseHeader",vs[vs.DownloadProgress=3]="DownloadProgress",vs[vs.Response=4]="Response",vs[vs.User=5]="User",vs))();class kN{constructor(e,t=200,i="OK"){this.headers=e.headers||new mu,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class FN extends kN{constructor(e={}){super(e),this.type=vs.ResponseHeader}clone(e={}){return new FN({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class RC extends kN{constructor(e={}){super(e),this.type=vs.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new RC({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class vW extends kN{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function LN(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let _u=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof Rb)s=t;else{let l,c;l=r.headers instanceof mu?r.headers:new mu(r.headers),r.params&&(c=r.params instanceof Lr?r.params:new Lr({fromObject:r.params})),s=new Rb(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=sn(s).pipe(function(n,e){return V(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof Rb||"events"===r.observe)return o;const a=o.pipe(Ki(l=>l instanceof RC));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(me(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(me(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(me(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new Lr).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,LN(r,i))}post(t,i,r={}){return this.request("POST",t,LN(r,i))}put(t,i,r={}){return this.request("PUT",t,LN(r,i))}}return n.\u0275fac=function(t){return new(t||n)(Ie(fW))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class wW{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const EW=new Ht("HTTP_INTERCEPTORS");let eAe=(()=>{class n{intercept(t,i){return i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const tAe=/^\)\]\}',?\n/;let xW=(()=>{class n{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new O(i=>{const r=this.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((g,m)=>r.setRequestHeader(g,m.join(","))),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const g=t.detectContentTypeHeader();null!==g&&r.setRequestHeader("Content-Type",g)}if(t.responseType){const g=t.responseType.toLowerCase();r.responseType="json"!==g?g:"text"}const s=t.serializeBody();let o=null;const a=()=>{if(null!==o)return o;const g=1223===r.status?204:r.status,m=r.statusText||"OK",v=new mu(r.getAllResponseHeaders()),x=function(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||t.url;return o=new FN({headers:v,status:g,statusText:m,url:x}),o},l=()=>{let{headers:g,status:m,statusText:v,url:x}=a(),U=null;204!==m&&(U=void 0===r.response?r.responseText:r.response),0===m&&(m=U?200:0);let D=m>=200&&m<300;if("json"===t.responseType&&"string"==typeof U){const ie=U;U=U.replace(tAe,"");try{U=""!==U?JSON.parse(U):null}catch(_e){U=ie,D&&(D=!1,U={error:_e,text:U})}}D?(i.next(new RC({body:U,headers:g,status:m,statusText:v,url:x||void 0})),i.complete()):i.error(new vW({error:U,headers:g,status:m,statusText:v,url:x||void 0}))},c=g=>{const{url:m}=a(),v=new vW({error:g,status:r.status||0,statusText:r.statusText||"Unknown Error",url:m||void 0});i.error(v)};let u=!1;const h=g=>{u||(i.next(a()),u=!0);let m={type:vs.DownloadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),"text"===t.responseType&&!!r.responseText&&(m.partialText=r.responseText),i.next(m)},f=g=>{let m={type:vs.UploadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),i.next(m)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),t.reportProgress&&(r.addEventListener("progress",h),null!==s&&r.upload&&r.upload.addEventListener("progress",f)),r.send(s),i.next({type:vs.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),t.reportProgress&&(r.removeEventListener("progress",h),null!==s&&r.upload&&r.upload.removeEventListener("progress",f)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(t){return new(t||n)(Ie(oV))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const BN=new Ht("XSRF_COOKIE_NAME"),VN=new Ht("XSRF_HEADER_NAME");class SW{}let iAe=(()=>{class n{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=YB(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return n.\u0275fac=function(t){return new(t||n)(Ie(fn),Ie(Xc),Ie(BN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),jN=(()=>{class n{constructor(t,i){this.tokenService=t,this.headerName=i}intercept(t,i){const r=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||r.startsWith("http://")||r.startsWith("https://"))return i.handle(t);const s=this.tokenService.getToken();return null!==s&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,s)})),i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(SW),Ie(VN))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),rAe=(()=>{class n{constructor(t,i){this.backend=t,this.injector=i,this.chain=null}handle(t){if(null===this.chain){const i=this.injector.get(EW,[]);this.chain=i.reduceRight((r,s)=>new wW(r,s),this.backend)}return this.chain.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(pW),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),sAe=(()=>{class n{static disable(){return{ngModule:n,providers:[{provide:jN,useClass:eAe}]}}static withOptions(t={}){return{ngModule:n,providers:[t.cookieName?{provide:BN,useValue:t.cookieName}:[],t.headerName?{provide:VN,useValue:t.headerName}:[]]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[jN,{provide:EW,useExisting:jN,multi:!0},{provide:SW,useClass:iAe},{provide:BN,useValue:"XSRF-TOKEN"},{provide:VN,useValue:"X-XSRF-TOKEN"}]}),n})(),CW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[_u,{provide:fW,useClass:rAe},xW,{provide:pW,useExisting:xW}],imports:[[sAe.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),n})();const oAe=["*"];function TW(n){return Error(`Unable to find icon with the name "${n}"`)}function AW(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function MW(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class rp{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let PC=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,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",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new rp(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(si.HTML,r);if(!o)throw MW(r);return this._addSvgIconConfig(t,i,new rp("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new rp(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(si.HTML,i);if(!s)throw MW(i);return this._addSvgIconSetConfig(t,new rp("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(si.RESOURCE_URL,t);if(!i)throw AW(t);const r=this._cachedIconsByUrl.get(i);return r?sn(NC(r)):this._loadSvgIconFromConfig(new rp(t,null)).pipe(cr(s=>this._cachedIconsByUrl.set(i,s)),me(s=>NC(s)))}getNamedSvgIcon(t,i=""){const r=DW(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Fg(TW(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?sn(NC(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(me(i=>NC(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?sn(r):fb(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(bc(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(si.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),sn(null)})))).pipe(me(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw TW(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(cr(i=>t.svgText=i),me(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?sn(null):this._fetchIcon(t).pipe(cr(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;sthis._inProgressUrlFetches.delete(a)),ws());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(DW(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),IW=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],pAe=IW.map(n=>`[${n}]`).join(", "),gAe=/^url\(['"]?#(.*?)['"]?\)$/;let Fm=(()=>{class n extends uAe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=C.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=bi(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(pAe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(gAe):null;if(c){let u=r.get(a);u||(u=[],r.set(a,u)),u.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(qr(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(Ce(gn),Ce(PC),yo("aria-hidden"),Ce(dAe),Ce(la))},n.\u0275cmp=rn({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(Ii("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),ai("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[En],ngContentSelectors:oAe,decls:1,vars:0,template:function(t,i){1&t&&(Hr(),oi(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[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}\n"],encapsulation:2,changeDetection:0}),n})();function TAe(n,e){}class zN{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const AAe={dialogContainer:Em("dialogContainer",[wc("void, exit",ds({opacity:0,transform:"scale(0.7)"})),wc("enter",ds({transform:"none"})),pd("* => enter",fd("150ms cubic-bezier(0, 0, 0.2, 1)",ds({transform:"none",opacity:1}))),pd("* => void, * => exit",fd("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",ds({opacity:0})))])};let MAe=(()=>{class n extends MC{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new ln,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=KS(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=KS())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=KS();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(Ce(gn),Ce(Y6),Ce(Mr),Ce(fn,8),Ce(zN),Ce(vc))},n.\u0275dir=Nt({type:n,viewQuery:function(t,i){if(1&t&&hr(np,7),2&t){let r;Gn(r=$n())&&(i._portalOutlet=r.first)}},features:[En]}),n})(),DAe=(()=>{class n extends MAe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275cmp=rn({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&uE("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(qc("id",i._id),Ii("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),fE("@dialogContainer",i._state))},features:[En],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&wi(0,TAe,0,0,"ng-template",0)},directives:[np],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[AAe.dialogContainer]}}),n})(),IAe=0;class kC{constructor(e,t,i="mat-dialog-"+IAe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new oe,this._afterClosed=new oe,this._beforeClosed=new oe,this._state=0,t._id=i,t._animationStateChanged.pipe(Ki(r=>"opened"===r.state),qr(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Ki(r=>"closed"===r.state),qr(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Ki(r=>27===r.keyCode&&!this.disableClose&&!Dl(r))).subscribe(r=>{r.preventDefault(),HN(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():HN(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Ki(t=>"closing"===t.state),qr(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();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._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function HN(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const PW=new Ht("MatDialogData"),OAe=new Ht("mat-dialog-default-options"),NW=new Ht("mat-dialog-scroll-strategy");let NAe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=u,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new oe,this._afterOpenedAtThisLevel=new oe,this._ariaHiddenElements=new Map,this.afterAllClosed=function(n){return new O(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?je(t):b0()).subscribe(e)})}(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Oo(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new zN)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new IC({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Hn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:zN,useValue:i}]}),o=new AC(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof Go)i.attachTemplatePortal(new Pm(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new AC(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Il,null,xn.Optional))&&o.push({provide:Il,useValue:{value:t.direction,change:sn()}}),Hn.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(Ce(Ec),Ce(Hn),Ce(void 0),Ce(void 0),Ce(Ob),Ce(void 0),Ce(Du),Ce(Du),Ce(Ht))},n.\u0275dir=Nt({type:n}),n})(),Nb=(()=>{class n extends NAe{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,kC,DAe,PW)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Ec),Ie(Hn),Ie(kg,8),Ie(OAe,8),Ie(NW),Ie(n,12),Ie(Ob))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),FAe=0,kW=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+FAe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(Ce(kC,8),Ce(gn),Ce(Nb))},n.\u0275dir=Nt({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&qc("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),FW=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();const $N=new Ht("CdkAccordion");let VAe=0,UAe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=C.EMPTY,this.closed=new ln,this.opened=new ln,this.destroyed=new ln,this.expandedChange=new ln,this.id="cdk-accordion-child-"+VAe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=bi(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=bi(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(Ce($N,12),Ce(Mr),Ce(A$))},n.\u0275dir=Nt({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Vn([{provide:$N,useValue:void 0}])]}),n})();const HAe=["body"];function GAe(n,e){}const $Ae=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],WAe=["mat-expansion-panel-header","*","mat-action-row"];function qAe(n,e){1&n&&ni(0,"span",2),2&n&&Jt("@indicatorRotate",_i()._getExpandedState())}const YAe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],XAe=["mat-panel-title","mat-panel-description","*"],WN=new Ht("MAT_ACCORDION"),BW="225ms cubic-bezier(0.4,0.0,0.2,1)",VW={indicatorRotate:Em("indicatorRotate",[wc("collapsed, void",ds({transform:"rotate(0deg)"})),wc("expanded",ds({transform:"rotate(180deg)"})),pd("expanded <=> collapsed, void => collapsed",fd(BW))]),bodyExpansion:Em("bodyExpansion",[wc("collapsed, void",ds({height:"0px",visibility:"hidden"})),wc("expanded",ds({height:"*",visibility:"visible"})),pd("expanded <=> collapsed, void => collapsed",fd(BW))])};let KAe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(Ce(Go))},n.\u0275dir=Nt({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),QAe=0;const jW=new Ht("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let UW=(()=>{class n extends UAe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new ln,this.afterCollapse=new ln,this._inputChanges=new oe,this._headerId="mat-expansion-panel-header-"+QAe++,this._bodyAnimationDone=new oe,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(ld((c,u)=>c.fromState===u.fromState&&c.toState===u.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=bi(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(Oo(null),Ki(()=>this.expanded&&!this._portal),qr(1)).subscribe(()=>{this._portal=new Pm(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(Ce(WN,12),Ce(Mr),Ce(A$),Ce(Rs),Ce(fn),Ce(Qa,8),Ce(jW,8))},n.\u0275cmp=rn({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&function(n,e,t,i){const r=Si();if(r.firstCreatePass){const s=as();I3(r,new A3(e,t,i),s.index),function(n,e){const t=n.contentQueries||(n.contentQueries=[]);e!==(t.length?t[t.length-1]:-1)&&t.push(n.queries.length-1,e)}(r,n),2==(2&t)&&(r.staticContentQueries=!0)}D3(r,Vt(),t)}(r,KAe,5),2&t){let s;Gn(s=$n())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&hr(HAe,5),2&t){let r;Gn(r=$n())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&ai("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Vn([{provide:WN,useValue:void 0}]),En,Fi],ngContentSelectors:WAe,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(Hr($Ae),oi(0),wt(1,"div",0,1),Tn("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),wt(3,"div",2),oi(4,1),wi(5,GAe,0,0,"ng-template",3),Et(),oi(6,2),Et()),2&t&&(zt(1),Jt("@bodyExpansion",i._getExpandedState())("id",i.id),Ii("aria-labelledby",i._headerId),zt(4),Jt("cdkPortalOutlet",i._portal))},directives:[np],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[VW.bodyExpansion]},changeDetection:0}),n})();class JAe{}const eMe=wC(JAe);let zW=(()=>{class n extends eMe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=C.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Ki(u=>!(!u.hideToggle&&!u.togglePosition))):Qc;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=Nn(t.opened,t.closed,c,t._inputChanges.pipe(Ki(u=>!!(u.hideToggle||u.disabled||u.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Ki(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Dl(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(Ce(UW,1),Ce(gn),Ce(vc),Ce(Mr),Ce(jW,8),Ce(Qa,8),yo("tabindex"))},n.\u0275cmp=rn({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&Tn("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(Ii("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),zy("height",i._getHeaderHeight()),ai("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[En],ngContentSelectors:XAe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(Hr(YAe),wt(0,"span",0),oi(1),oi(2,1),oi(3,2),Et(),wi(4,qAe,1,1,"span",1)),2&t&&(zt(4),Jt("ngIf",i._showToggle()))},directives:[ac],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[VW.indicatorRotate]},changeDetection:0}),n})();var HW=et(5478);Object.create(Error.prototype);const sMe=["*"];var LC=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(LC||(LC={})),LC))();class aMe{}const $W=new Ht("SECURITY_CONTEXT");let qN=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new HW.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=HW.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(me(i=>this.handleExtension(t,i)))}highlight(t){if(Af(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Af(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Af(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Af(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(Ie(Xc),Ie($W),Ie(_u,8),Ie(aMe,8),Ie(Mf))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),WW=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new ln,this.load=new ln,this.ready=new ln,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,LC.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;sk(i)?t(...i):t(i))):new O(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Y(e))return()=>e(r,s)})}function YN(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new pMe(n,t))}}class pMe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new gMe(e,this.observables,this.project))}}class gMe extends t5{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class mMe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new _Me(e,this.accumulator,this.seed,this.hasSeed))}}class _Me extends y{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class vMe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new wMe(e,this.predicate))}}class wMe extends y{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const EMe=["youtubeContainer"];let KW=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new oe,this._destroyed=new oe,this._playerChanges=new Fr(void 0),this._videoId=new Fr(void 0),this._height=new Fr(390),this._width=new Fr(640),this._startSeconds=new Fr(void 0),this._endSeconds=new Fr(void 0),this._suggestedQuality=new Fr(void 0),this._playerVars=new Fr(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Af(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=sn(!0);if(!window.YT||!window.YT.Player){const r=new oe;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(qr(1),Oo(!1))}const i=function(n,e,t,i,r,s,o){const a=yc([e,s]).pipe(YN(yc([i,r])),me(([l,c])=>{const[u,h]=l,[f,g]=c;return u?{videoId:u,playerVars:h,width:f,height:g}:void 0}));return yc([n,a,sn(o)]).pipe(function(n){return ue(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&k(n[0])&&(n=n[0].slice()),t=>t.lift.call(je([t,...n]),new r5(e))}(n),function(n){return e=>e.lift(new vMe(n))}(([e,t])=>!t),me(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new mMe(n,e,t))}}(MMe,void 0),ld())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(cr(r=>{this._playerChanges.next(r)}),V(e=>e?QW(e)?sn(e):new O(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{QW(r)||r.destroy()})(e)}}).pipe(qr(1),Oo(void 0)):sn(void 0)),gr(this._destroyed),xa(new oe));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){yc([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){yc([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=yc([t,i]).pipe(me(([u,h])=>({startSeconds:u,endSeconds:h}))),a=o.pipe(KN(n,u=>!!u&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(u))),l=e.pipe(KN(n,(u,h)=>!!u&&u.videoId!==h));Nn(n.pipe(KN(yc([e,o]),([u,h],f)=>!(!f||u==f.videoId&&!h.startSeconds&&!h.endSeconds))),l,a).pipe(YN(yc([n,e,o,r])),me(([u,h])=>h),gr(s)).subscribe(([u,h,f,g])=>{!h||!u||(u.videoId=h,u.cueVideoById(Object.assign({videoId:h,suggestedQuality:g},f)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(is(i=>i?qW(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):sn()),i=>new O(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),gr(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(Ce(pn),Ce(Xc))},n.\u0275cmp=rn({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&hr(EMe,5),2&t){let r;Gn(r=$n())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&ni(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function MMe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function QW(n){return"getPlayerStatus"in n}function KN(n,e){return ue(YN(n),Ki(([t,i])=>e(i,t)),me(([t])=>t))}let BMe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function Fb(n){return!0===n}function Za(n){return null==n}function Ja(n){return!Za(n)}function QN(n){return Boolean(n)}function t7(n){return Za(n)?n:JSON.parse(JSON.stringify(n))}const VC=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&VC(n[o])}),n};function n7(n){return Ja(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const s7="NGXS_DATA_META",JN="NGXS_META",o7="NGXS_ARGUMENT_REGISTRY_META";let a7=(()=>{class n{constructor(t){this.sequence$=new Fr(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(Ie(hu,8))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();function Lb(n){return n[s7]}let el=(()=>{class n{constructor(t,i,r){n.store=t.get(hu),n.ngZone=t.get(pn),n.factory=i,n.context=r,n.computed=t.get(a7)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(Ie(Hn),Ie(o5),Ie(s5))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();class hs{constructor(){hs.statesCachedMeta.clear()}static createStateContext(e){return el.context.createStateContext(e)}static ensureMappedState(e){if(Za(el.factory)||Za(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(Ja(e.name)?hs.statesCachedMeta.get(e.name):null)||hs.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=Lb(hs.getStateClassByInstance(e)))&&void 0!==t?t:null;if(Za(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=hs.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=hs.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=Ja(e.name)?null===(t=el.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return Ja(i)&&Ja(e.name)&&hs.statesCachedMeta.set(e.name,i),i}}hs.statesCachedMeta=new Map,hs.\u0275fac=function(e){return new(e||hs)},hs.\u0275prov=We({token:hs,factory:hs.\u0275fac}),new Df(1);class sDe extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${Ja(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function l7(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function c7(n){var e;const t=l7(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=t7(void 0===t.defaults?{}:t.defaults);if(i.length){if(n7(s))return function(n,e){return e.reduce((t,i)=>{const r=l7(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=c7(i),t},null!=n?n:{})}(s,i);throw new sDe(s)}return s}function d7(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function h7(){var n,e;return null!==(e=null===(n=null==el?void 0:el.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function cDe(n){let e=!1;return Im(n)&&(e=!0),e}function ek(n){return n[o7]}class uDe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class dDe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(QN(this.argumentMap.has(e))||QN(this.payloadMap.has(e)))throw new uDe(e,t)}}function _De(n){return{enumerable:!0,configurable:!0,get(){const e=Lb(n),t=hs.ensureMappedState(e.stateMeta);return hs.createStateContext(t)}}}function f7(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(n7(i))for(;null!==i;){if(Fb(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return Za(d7(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),d7(n)}(this),o=null==s?void 0:s.get(i);if(Fb(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(Za(o)||o.sequenceId!==h7()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:h7(),isObservable:cDe(l)}),l}return o.value},t}}const xDe={cancelUncompleted:!0,insideZone:!1};function tk(n=xDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=hs.getRepositoryByInstance(a),u=c.operations;let h=u[s];const f=c.stateMeta,g=ek(r);if(Za(h)){const D=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),ie=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var D;return Fb(n.insideZone)?null===(D=el.ngZone)||void 0===D||D.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),Im(l)?sn(null).pipe(me(()=>l)):l};const x=hs.createAction(h,o,g),U=el.store.dispatch(x);return Im(l)?function(n,e){return fb([n,e]).pipe(me(t=>t.pop()))}(U,l):l},i}}function p7(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return Za(ek(t))&&Object.defineProperties(t,{[o7]:{enumerable:!0,configurable:!0,value:new dDe}}),ek(t)})(e,t).createPayloadType(r,t,i)}}function CDe(){return n=>{const e=function(n){if(function(n){return!QN(n)}(n.hasOwnProperty(JN))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,JN,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[JN]}(n)}(n);if(Za(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=Lb(n))&&void 0!==e?e:null;return(Za(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,s7,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),Lb(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>t7(t)},context:_De(n)})}(n,e,c7(n)),function(n){var e,t;const i=Lb(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(Ja(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(Ja(this[s]))return this[s];if(Za(el.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=el.store.select(n).pipe(me(o=>fa()?VC(o):o),Wa({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}let ADe=(()=>{class n{constructor(){this.browserStorageEvents$=new oe,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),MDe=(()=>{class n extends ADe{get snapshot(){return function(n){return fa()?VC(n):n}(this.getState())}get ctx(){return function(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>fa()?VC(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),Ei([f7(),uc("design:type",Object),uc("design:paramtypes",[])],n.prototype,"snapshot",null),Ei([tk(),wV(0,p7("patchValue")),uc("design:type",Function),uc("design:paramtypes",[Object]),uc("design:returntype",void 0)],n.prototype,"patchState",null),Ei([tk(),wV(0,p7("stateValue")),uc("design:type",Function),uc("design:paramtypes",[Object]),uc("design:returntype",void 0)],n.prototype,"setState",null),Ei([tk(),uc("design:type",Function),uc("design:paramtypes",[]),uc("design:returntype",void 0)],n.prototype,"reset",null),n})(),g9=(()=>{class n{constructor(){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Nt({type:n,selectors:[["","gaEvent","","gaCategory",""],["","gaCategory",""]],inputs:{gaCategory:"gaCategory"},exportAs:["gaCategory"]}),n})();const zm=new Ht("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),Sk=new Ht("ngx-window",{providedIn:"root",factory:()=>function(n){return Af(n)?window:null}(Bc(Xc))}),jOe=new Ht("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Bc(Sk))}),Ck=new Ht("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Bc(Sk),Bc(jOe))});let qb=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||fa())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(Ie(zm),Ie(fn),Ie(Ck))},n.\u0275prov=We({factory:function(){return new n(Ie(zm),Ie(fn),Ie(Ck))},token:n,providedIn:"root"}),n})(),m9=(()=>{class n{constructor(t,i,r,s){this.gaCategoryDirective=t,this.gaService=i,this.settings=r,this.el=s,this.gaBind="click"}set gaBind(t){this.bindSubscription&&this.bindSubscription.unsubscribe(),this._gaBind=t,this.bindSubscription=gd(this.el.nativeElement,t).subscribe(()=>this.trigger())}get gaBind(){return this._gaBind}ngOnDestroy(){this.bindSubscription&&this.bindSubscription.unsubscribe()}trigger(){try{if(!this.gaAction&&!this.gaEvent)throw new Error("You must provide a gaAction attribute to identify this event.");this.gaService.event(this.gaAction||this.gaEvent,this.gaCategoryDirective?this.gaCategoryDirective.gaCategory:void 0,this.gaLabel||this.label,this.gaValue,this.gaInteraction)}catch(t){this.throw(t)}}throw(t){(fa()||this.settings.enableTracing)&&console&&console.warn&&console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)(Ce(g9,8),Ce(qb),Ce(zm),Ce(gn))},n.\u0275dir=Nt({type:n,selectors:[["","gaEvent",""]],inputs:{gaBind:"gaBind",gaAction:"gaAction",gaLabel:"gaLabel",label:"label",gaValue:"gaValue",gaInteraction:"gaInteraction",gaEvent:"gaEvent"},exportAs:["gaEvent"]}),n})();const zOe={provide:Ef,multi:!0,useFactory:function(n,e,t){return()=>Bi(this,void 0,void 0,function*(){var i;if(!n.trackingCode)return void(fa()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(fa()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));t||fa()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),n.uri=n.uri||`https://www.googletagmanager.com/gtag/js?id=${n.trackingCode}`,n.initCommands=null!==(i=null==n?void 0:n.initCommands)&&void 0!==i?i:[],n.initCommands.find(o=>"config"===o.command)||n.initCommands.unshift({command:"config",values:[n.trackingCode]}),n.initCommands.find(o=>"js"===o.command)||n.initCommands.unshift({command:"js",values:[new Date]});for(const o of n.initCommands)e(o.command,...o.values);const r=t.createElement("script");r.async=!0,r.src=n.uri,n.nonce&&r.setAttribute("nonce",n.nonce),t.getElementsByTagName("head")[0].appendChild(r)})},deps:[zm,Ck,fn]};new Ht("ngx-google-analytics-routing-settings",{factory:()=>({})});let r1=(()=>{class n{static forRoot(t,i=[],r,s,o){return{ngModule:n,providers:[{provide:zm,useValue:{trackingCode:t,initCommands:i,uri:r,enableTracing:s,nonce:o}},zOe]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[]]}),n})(),o1=(()=>{class n{constructor(){this.consent="not-set",this.consentChange=new Df(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),tRe=(()=>{class n{constructor(t,i,{trackingCode:r}){this.window=i,this.subscriptions=new C,this.token=r,this.subscriptions.add(t.consentChange.subscribe(s=>this.toggleGoogleAnalytics("rescinded"===s)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(o1),Ie(Sk),Ie(zm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const nRe=new Ht("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),S9=[o1,tRe,(()=>{class n{constructor(t,i){this.key=i,this.subscriptions=new C;try{this.storage=localStorage}catch(r){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(r=>this.saveConsent(r)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,i;const r=null===(i=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===i?void 0:i.call(t,this.key);if(null==r)return"not-set";const s=r.trim().toLowerCase();switch(s){case"given":case"rescinded":return s;default:return"not-set"}}saveConsent(t){var i,r;null===(r=null===(i=this.storage)||void 0===i?void 0:i.setItem)||void 0===r||r.call(i,this.key,t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(o1),Ie(nRe))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})()];function rRe(n){return Object.entries(n).reduce((e,[t,i])=>(null!=i&&(e[t]=`${i}`),e),{})}let oRe=(()=>{class n{static forRoot(t){const{providers:i=[]}=r1.forRoot(t.gaToken,function(n){const{appName:e,projectName:t,developmentMode:i}=n;return[{command:"set",values:[rRe({appName:e,projectName:t,developmentMode:i})]}]}(t));return{ngModule:n,providers:i}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[...S9,{provide:Ef,multi:!0,useFactory:()=>()=>{},deps:S9}],imports:[[r1]]}),n})();const uRe=(n,e)=>JSON.stringify(n)===JSON.stringify(e),dRe=n=>n.map(e=>void 0!==e?JSON.parse(JSON.stringify(e)):e),xc={storageStrategy:class extends class{}{constructor(){super(...arguments),this.cachePairs=[]}add(e,t,i){this.cachePairs.push(e)}addMany(e){this.cachePairs=e}updateAtIndex(e,t){Object.assign(this.cachePairs[e],t)}update(e,t){Object.assign(this.cachePairs[e],t)}getAll(){return this.cachePairs}removeAtIndex(e){this.cachePairs.splice(e,1)}remove(e){this.cachePairs.splice(e,1)}removeAll(){this.cachePairs.length=0}},globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},hRe=new oe;function Sc(n={}){return function(e,t,i){const r=n.cacheKey||e.constructor.name+"#"+t,s=i.value;if(i&&i.value){let o=n.storageStrategy?new n.storageStrategy:new xc.storageStrategy;const a=[];n.cacheModifier&&n.cacheModifier.subscribe(u=>o.addMany(u(o.getAll(r,this)),r,this)),Nn(hRe.asObservable(),n.cacheBusterObserver?n.cacheBusterObserver:b0()).subscribe(u=>{o.removeAll(r,this),a.length=0}),n.cacheResolver=n.cacheResolver||xc.cacheResolver||uRe,n.cacheHasher=n.cacheHasher||xc.cacheHasher||dRe,i.value=function(...u){const h=o.getAll(r,this);let f=n.cacheHasher(u),g=h.find(v=>n.cacheResolver(v.parameters,f));const m=a.find(v=>n.cacheResolver(v.parameters,f));if((n.maxAge||xc.maxAge)&&g&&g.created&&((new Date).getTime()-new Date(g.created).getTime()>(n.maxAge||xc.maxAge)?(o.remove?o.remove(h.indexOf(g),g,r,this):o.removeAtIndex(h.indexOf(g),r,this),g=null):(n.slidingExpiration||xc.slidingExpiration)&&(g.created=new Date,o.update?o.update(h.indexOf(g),g,r,this):o.updateAtIndex(h.indexOf(g),g,r,this))),g){const v=sn(g.response);return n.async?v.pipe(function(n,e=qS){const i=function(n){return n instanceof Date&&!isNaN(+n)}(n)?+n-e.now():Math.abs(n);return r=>r.lift(new rTe(i,e))}(0)):v}if(m)return m.response;{const v=s.call(this,...u).pipe(NN(()=>{const x=a.find(U=>n.cacheResolver(U.parameters,f));a.splice(a.indexOf(x),1)}),cr(x=>{(!n.shouldCacheDecider||n.shouldCacheDecider(x))&&((!(n.maxCacheCount||xc.maxCacheCount)||1===(n.maxCacheCount||xc.maxCacheCount)||(n.maxCacheCount||xc.maxCacheCount)&&(n.maxCacheCount||xc.maxCacheCount)xa(()=>s,undefined)(o)}(),Yn());return a.push({parameters:f,response:v,created:new Date}),v}}}return i}}class fRe{encodeKey(e){return encodeURIComponent(e)}encodeValue(e){return encodeURIComponent(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const C9=new Ht("basePath");class Yb{constructor(e={}){this.apiKeys=e.apiKeys,this.username=e.username,this.password=e.password,this.accessToken=e.accessToken,this.basePath=e.basePath,this.withCredentials=e.withCredentials,this.encoder=e.encoder,this.credentials=e.credentials?e.credentials:{}}selectHeaderContentType(e){if(0===e.length)return;const t=e.find(i=>this.isJsonMime(i));return void 0===t?e[0]:t}selectHeaderAccept(e){if(0===e.length)return;const t=e.find(i=>this.isJsonMime(i));return void 0===t?e[0]:t}isJsonMime(e){const t=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==e&&(t.test(e)||"application/json-patch+json"===e.toLowerCase())}lookupCredential(e){const t=this.credentials[e];return"function"==typeof t?t():t}}let T9=(()=>{class n{constructor(t,i,r){this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new mu,this.configuration=new Yb,r&&(this.configuration=r),"string"!=typeof this.configuration.basePath&&("string"!=typeof i&&(i=this.basePath),this.configuration.basePath=i),this.encoder=this.configuration.encoder||new fRe}addToHttpParams(t,i,r){return this.addToHttpParamsRecursive(t,i,r)}addToHttpParamsRecursive(t,i,r){if(null==i)return t;if("object"==typeof i)if(Array.isArray(i))i.forEach(s=>t=this.addToHttpParamsRecursive(t,s,r));else if(i instanceof Date){if(null==r)throw Error("key may not be null if value is Date");t=t.append(r,i.toISOString().substr(0,10))}else Object.keys(i).forEach(s=>t=this.addToHttpParamsRecursive(t,i[s],null!=r?`${r}.${s}`:s));else{if(null==r)throw Error("key may not be null if value is not object or array");t=t.append(r,i)}return t}aggregateResults(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,v=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),v&&v.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/aggregate-results`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}cellTypeTermOccurences(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,v=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),v&&v.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-term-occurences`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}cellTypeTreeModel(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-tree-model`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}dbStatus(t,i="body",r=!1,s){const o=t.token;let a=new Lr({encoder:this.encoder});null!=o&&(a=this.addToHttpParams(a,o,"token"));let l=this.defaultHeaders,c=s&&s.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=s&&s.context;void 0===u&&(u=new Zs);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/db-status`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:i,reportProgress:r})}getSpatialPlacement(t,i="body",r=!1,s){const o=t.getSpatialPlacementRequest;if(null==o)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");let a=this.defaultHeaders,l=s&&s.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=s&&s.context;void 0===c&&(c=new Zs);const h=this.configuration.selectHeaderContentType(["application/json"]);void 0!==h&&(a=a.set("Content-Type",h));let f="json";return l&&(f=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/get-spatial-placement`,o,{context:c,responseType:f,withCredentials:this.configuration.withCredentials,headers:a,observe:i,reportProgress:r})}gtexRuiLocations(t,i="body",r=!1,s){const o=t.cache;let a=new Lr({encoder:this.encoder});null!=o&&(a=this.addToHttpParams(a,o,"cache"));let l=this.defaultHeaders,c=s&&s.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=s&&s.context;void 0===u&&(u=new Zs);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/gtex/rui_locations.jsonld`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:i,reportProgress:r})}hubmapRuiLocations(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/hubmap/rui_locations.jsonld`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}ontologyTermOccurences(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,v=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),v&&v.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-term-occurences`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}ontologyTreeModel(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-tree-model`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}providerNames(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/provider-names`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}referenceOrganScene(t,i="body",r=!1,s){const o=t.organIri;if(null==o)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");const a=t.age,l=t.ageRange,c=t.bmi,u=t.bmiRange,h=t.cache,f=t.ontologyTerms,g=t.cellTypeTerms,m=t.providers,v=t.sex,x=t.spatial,U=t.technologies,D=t.token;let ie=new Lr({encoder:this.encoder});null!=a&&(ie=this.addToHttpParams(ie,a,"age")),null!=l&&(ie=this.addToHttpParams(ie,l,"age-range")),null!=c&&(ie=this.addToHttpParams(ie,c,"bmi")),null!=u&&(ie=this.addToHttpParams(ie,u,"bmi-range")),null!=h&&(ie=this.addToHttpParams(ie,h,"cache")),f&&f.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"ontology-terms")}),g&&g.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"cell-type-terms")}),null!=o&&(ie=this.addToHttpParams(ie,o,"organ-iri")),m&&m.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"providers")}),null!=v&&(ie=this.addToHttpParams(ie,v,"sex")),x&&x.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"spatial")}),U&&U.forEach(bt=>{ie=this.addToHttpParams(ie,bt,"technologies")}),null!=D&&(ie=this.addToHttpParams(ie,D,"token"));let _e=this.defaultHeaders,Pe=s&&s.httpHeaderAccept;void 0===Pe&&(Pe=this.configuration.selectHeaderAccept(["application/json"])),void 0!==Pe&&(_e=_e.set("Accept",Pe));let Ne=s&&s.context;void 0===Ne&&(Ne=new Zs);let Ve="json";return Pe&&(Ve=Pe.startsWith("text")?"text":this.configuration.isJsonMime(Pe)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organ-scene`,{context:Ne,params:ie,responseType:Ve,withCredentials:this.configuration.withCredentials,headers:_e,observe:i,reportProgress:r})}referenceOrgans(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organs`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}scene(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,v=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),v&&v.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/scene`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}sparql(t,i="body",r=!1,s){const o=t.query;if(null==o)throw new Error("Required parameter query was null or undefined when calling sparql.");const a=t.token,l=t.format;let c=new Lr({encoder:this.encoder});null!=o&&(c=this.addToHttpParams(c,o,"query")),null!=a&&(c=this.addToHttpParams(c,a,"token")),null!=l&&(c=this.addToHttpParams(c,l,"format"));let u=this.defaultHeaders,h=s&&s.httpHeaderAccept;void 0===h&&(h=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==h&&(u=u.set("Accept",h));let f=s&&s.context;void 0===f&&(f=new Zs);let g="json";return h&&(g=h.startsWith("text")?"text":this.configuration.isJsonMime(h)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/sparql`,{context:f,params:c,responseType:g,withCredentials:this.configuration.withCredentials,headers:u,observe:i,reportProgress:r})}sparqlPost(t,i="body",r=!1,s){const o=t.sparqlQueryRequest;if(null==o)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");const a=t.token,l=t.format;let c=new Lr({encoder:this.encoder});null!=a&&(c=this.addToHttpParams(c,a,"token")),null!=l&&(c=this.addToHttpParams(c,l,"format"));let u=this.defaultHeaders,h=s&&s.httpHeaderAccept;void 0===h&&(h=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==h&&(u=u.set("Accept",h));let f=s&&s.context;void 0===f&&(f=new Zs);const m=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==m&&(u=u.set("Content-Type",m));let v="json";return h&&(v=h.startsWith("text")?"text":this.configuration.isJsonMime(h)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/sparql`,o,{context:f,params:c,responseType:v,withCredentials:this.configuration.withCredentials,headers:u,observe:i,reportProgress:r})}technologyNames(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/technology-names`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}tissueBlocks(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,v=t.spatial,x=t.technologies,U=t.token;let D=new Lr({encoder:this.encoder});null!=o&&(D=this.addToHttpParams(D,o,"age")),null!=a&&(D=this.addToHttpParams(D,a,"age-range")),null!=l&&(D=this.addToHttpParams(D,l,"bmi")),null!=c&&(D=this.addToHttpParams(D,c,"bmi-range")),null!=u&&(D=this.addToHttpParams(D,u,"cache")),h&&h.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"ontology-terms")}),f&&f.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"cell-type-terms")}),g&&g.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"providers")}),null!=m&&(D=this.addToHttpParams(D,m,"sex")),v&&v.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"spatial")}),x&&x.forEach(Ve=>{D=this.addToHttpParams(D,Ve,"technologies")}),null!=U&&(D=this.addToHttpParams(D,U,"token"));let ie=this.defaultHeaders,_e=s&&s.httpHeaderAccept;void 0===_e&&(_e=this.configuration.selectHeaderAccept(["application/json"])),void 0!==_e&&(ie=ie.set("Accept",_e));let Pe=s&&s.context;void 0===Pe&&(Pe=new Zs);let Ne="json";return _e&&(Ne=_e.startsWith("text")?"text":this.configuration.isJsonMime(_e)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/tissue-blocks`,{context:Pe,params:D,responseType:Ne,withCredentials:this.configuration.withCredentials,headers:ie,observe:i,reportProgress:r})}}return n.\u0275fac=function(t){return new(t||n)(Ie(_u),Ie(C9,8),Ie(Yb,8))},n.\u0275prov=We({factory:function(){return new n(Ie(_u),Ie(C9,8),Ie(Yb,8))},token:n,providedIn:"root"}),n})(),pRe=(()=>{class n{constructor(t,i){if(t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!i)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}static forRoot(t){return{ngModule:n,providers:[{provide:Yb,useFactory:t}]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12),Ie(_u,8))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[],imports:[[]]}),n})();function vu(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}let Ak;function Cc(){return Ak||(Ak=function(n,e){const t=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let e;return new Promise(t=>{const i=()=>indexedDB.databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}().then(()=>{const i=indexedDB.open("keyval-store");return i.onupgradeneeded=()=>i.result.createObjectStore(e),vu(i)});return(i,r)=>t.then(s=>r(s.transaction(e,i).objectStore(e)))}(0,"keyval")),Ak}function A9(n,e=Cc()){return e("readonly",t=>vu(t.get(n)))}var Un=et(1440);const a1="Unknown Euler angle order",Hm=.99999;class Zi extends mx{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return Zi.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(e){return Zi.RotationOrders[e]}get ELEMENTS(){return 4}constructor(e=0,t=0,i=0,r=Zi.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(e,t,i,r)}fromQuaternion(e){const[t,i,r,s]=e,o=i*i,a=-2*(o+r*r)+1,l=2*(t*i+s*r);let c=-2*(t*r-s*i);c=c>1?1:c,c=c<-1?-1:c;const f=Math.atan2(2*(i*r+s*t),-2*(t*t+o)+1),g=Math.asin(c),m=Math.atan2(l,a);return new Zi(f,g,m,Zi.RollPitchYaw)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}set(e=0,t=0,i=0,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=Number.isFinite(r)?r:this[3],this.check()}validate(){return function(n){return n>=0&&n<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}toArray4(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}toVector3(e=[-0,-0,-0]){return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}get x(){return this[0]}set x(e){this[0]=nr(e)}get y(){return this[1]}set y(e){this[1]=nr(e)}get z(){return this[2]}set z(e){this[2]=nr(e)}get alpha(){return this[0]}set alpha(e){this[0]=nr(e)}get beta(){return this[1]}set beta(e){this[1]=nr(e)}get gamma(){return this[2]}set gamma(e){this[2]=nr(e)}get phi(){return this[0]}set phi(e){this[0]=nr(e)}get theta(){return this[1]}set theta(e){this[1]=nr(e)}get psi(){return this[2]}set psi(e){this[2]=nr(e)}get roll(){return this[0]}set roll(e){this[0]=nr(e)}get pitch(){return this[1]}set pitch(e){this[1]=nr(e)}get yaw(){return this[2]}set yaw(e){this[2]=nr(e)}get order(){return this[3]}set order(e){this[3]=function(n){if(n<0&&n>=6)throw new Error(a1);return n}(e)}fromVector3(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}fromArray(e,t=0){return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}fromRollPitchYaw(e,t,i){return this.set(e,t,i,Zi.ZYX)}fromRotationMatrix(e,t=Zi.DefaultOrder){return this._fromRotationMatrix(e,t),this.check()}getRotationMatrix(e){return this._getRotationMatrix(e)}getQuaternion(){const e=new mR;switch(this[4]){case Zi.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case Zi.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case Zi.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case Zi.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case Zi.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case Zi.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(a1)}}_fromRotationMatrix(e,t=Zi.DefaultOrder){const i=e.elements,r=i[0],s=i[4],o=i[8],a=i[1],l=i[5],c=i[9],u=i[2],h=i[6],f=i[10];switch(t=t||this[3]){case Zi.XYZ:this[1]=Math.asin(Ua(o,-1,1)),Math.abs(o)1&&void 0!==arguments[1]?arguments[1]:0,t=(co[n[e+0]]+co[n[e+1]]+co[n[e+2]]+co[n[e+3]]+"-"+co[n[e+4]]+co[n[e+5]]+"-"+co[n[e+6]]+co[n[e+7]]+"-"+co[n[e+8]]+co[n[e+9]]+"-"+co[n[e+10]]+co[n[e+11]]+co[n[e+12]]+co[n[e+13]]+co[n[e+14]]+co[n[e+15]]).toLowerCase();if(!DRe(t))throw TypeError("Stringified UUID is invalid");return t}(i)};var c1=et(1609);const Gm=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Rr=(Math,Math,{});function LRe(n,{precision:e=Rr.precision||4}={}){return n=function(n){return Math.round(n/Rr.EPSILON)*Rr.EPSILON}(n),"".concat(parseFloat(n.toPrecision(e)))}function Mh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Xb(n,e,t){const i=Rr.EPSILON;t&&(Rr.EPSILON=t);try{if(n===e)return!0;if(Mh(n)&&Mh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+LRe(this[i],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e=a+s)return this.clone();if(s>=a+i)return e.clone();const l=.5*(i+a+s);return P9.copy(o).scale((-i+l)/a).add(t),this.center.copy(P9),this.radius=l,this}expand(e){const t=(e=Kb.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}transform(e){this.center.transform(e);const t=function(n,e){var s=e[4],o=e[5],a=e[6],l=e[8],c=e[9],u=e[10];return n[0]=Math.hypot(e[0],e[1],e[2]),n[1]=Math.hypot(s,o,a),n[2]=Math.hypot(l,c,u),n}(Kb,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const t=(e=Kb.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}intersectPlane(e){const i=this.radius,s=e.normal.dot(this.center)+e.distance;return s<-i?Gm.OUTSIDE:s0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return sH(this,this,e),this.check()}rotateY(e){return oH(this,this,e),this.check()}rotateZ(e){return aH(this,this,e),this.check()}scale(e){return pR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=JRe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return nb(this,e,t,i),this.check()}transformVector4(e,t=e){return OU(t,e,this),M9(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const ePe=new Pn,tPe=new Pn,u1=new Pn,d1=new Pn,h1=new Pn,nPe=new Pn,iPe=new Pn;class Nk{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=(new Pn).from(e),this.halfAxes=new Zo(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2);return[new Pn(e).len(),new Pn(t).len(),new Pn(i).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2),r=new Pn(e).normalize(),s=new Pn(t).normalize(),o=new Pn(i).normalize();return(new k9).fromMatrix3(new Zo([...r,...s,...o]))}fromCenterHalfSizeQuaternion(e,t,i){const r=new k9(i),s=(new Zo).fromQuaternion(r);return s[0]=s[0]*t[0],s[1]=s[1]*t[0],s[2]=s[2]*t[0],s[3]=s[3]*t[1],s[4]=s[4]*t[1],s[5]=s[5]*t[1],s[6]=s[6]*t[2],s[7]=s[7]*t[2],s[8]=s[8]*t[2],this.center=(new Pn).from(e),this.halfAxes=s,this}clone(){return new Nk(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new Pk){const t=this.halfAxes,i=t.getColumn(0,u1),r=t.getColumn(1,d1),s=t.getColumn(2,h1),o=ePe.copy(i).add(r).add(s);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){const t=this.center,i=e.normal,r=this.halfAxes,s=i.x,o=i.y,a=i.z,l=Math.abs(s*r[0]+o*r[1]+a*r[2])+Math.abs(s*r[3]+o*r[4]+a*r[5])+Math.abs(s*r[6]+o*r[7]+a*r[8]),c=i.dot(t)+e.distance;return c<=-l?Gm.OUTSIDE:c>=l?Gm.INSIDE:Gm.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=tPe.from(e).subtract(this.center),i=this.halfAxes,r=i.getColumn(0,u1),s=i.getColumn(1,d1),o=i.getColumn(2,h1),a=r.magnitude(),l=s.magnitude(),c=o.magnitude();r.normalize(),s.normalize(),o.normalize();let h,u=0;return h=Math.abs(t.dot(r))-a,h>0&&(u+=h*h),h=Math.abs(t.dot(s))-l,h>0&&(u+=h*h),h=Math.abs(t.dot(o))-c,h>0&&(u+=h*h),u}computePlaneDistances(e,t,i=[-0,-0]){let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const o=this.center,a=this.halfAxes,l=a.getColumn(0,u1),c=a.getColumn(1,d1),u=a.getColumn(2,h1),h=nPe.copy(l).add(c).add(u).add(o),f=iPe.copy(h).subtract(e);let g=t.dot(f);return r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).add(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),i[0]=r,i[1]=s,i}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,u1);t.transformAsPoint(e);const i=this.halfAxes.getColumn(1,d1);i.transformAsPoint(e);const r=this.halfAxes.getColumn(2,h1);return r.transformAsPoint(e),this.halfAxes=new Zo([...t,...i,...r]),this}getTransform(){throw new Error("not implemented")}}const F9=new Pn,L9=new Pn;class kk{constructor(e=[0,0,1],t=0){this.normal=new Pn,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return Tc(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=F9.from(e),this.normal.from(t).normalize();const i=-this.normal.dot(e);return this.distance=i,this}fromCoefficients(e,t,i,r){return this.normal.set(e,t,i),Tc(Xb(this.normal.len(),1)),this.distance=r,this}clone(e){return new kk(this.normal,this.distance)}equals(e){return Xb(this.distance,e.distance)&&Xb(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=L9.copy(this.normal).transformAsVector(e).normalize(),i=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(i,t)}projectPointOntoPlane(e,t=[0,0,0]){e=F9.from(e);const i=this.getPointDistance(e),r=L9.copy(this.normal).scale(i);return e.subtract(r).to(t)}}function*Uk(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,Un.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,c1.fromRdf)(s.object):s.object.id;yield[r,o]}}function dp(n,e,t,i){const r={"@id":e,"@type":t};for(const[s,o]of Object.entries(i))for(const a of(0,Un.readQuads)(n,r["@id"],s,null,null)){const l="Literal"===a.object.termType?(0,c1.fromRdf)(a.object):a.object.id;r[o]=l}return r}new Pn([1,0,0]),new Pn([0,1,0]),new Pn([0,0,1]),new Pn,new Pn,new kk(new Pn(1,0,0),0),new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,new Pn,Math,new Zo,new Zo,new Zo,new Zo,new Zo,new Pn,new Pn,new Pn,new Pn,new Pn,new Zo,new Zo,new Zo;const ir=Un.Util.prefixes({base:"http://purl.org/ccf/latest/ccf.owl#",ccf:"http://purl.org/ccf/",fma:"http://purl.org/sig/ont/fma/fma",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/"},Un.DataFactory),U9={x:ir("rdf"),type:ir("rdf")("type")},dn=(ir("rdfs"),ir("rdfs")("label"),ir("rdfs")("comment"),ir("rdfs")("isDefinedBy"),ir("rdfs")("seeAlso"),ir("ccf")),vi={id:ir("ccf")("has_registration_location"),label:ir("rdfs")("label"),description:ir("rdfs")("comment"),link:dn("url"),sex:dn("sex"),age:dn("age"),bmi:dn("bmi"),Male:Un.DataFactory.literal("Male"),Female:Un.DataFactory.literal("Female"),consortiumName:dn("consortium_name"),providerName:dn("tissue_provider_name"),providerUUID:dn("tissue_provider_uuid"),donor:dn("comes_from"),sections:dn("subdivided_into_sections"),datasets:dn("generates_dataset"),sampleType:dn("sample_type"),TissueBlock:Un.DataFactory.literal("Tissue Block"),TissueSection:Un.DataFactory.literal("Tissue Section"),NonStandard:Un.DataFactory.literal("Non-standard"),sectionCount:dn("section_count"),sectionSize:dn("section_size"),sectionUnits:dn("section_size_unit"),sectionNumber:dn("section_number"),spatialEntity:dn("has_registration_location"),ontologyTerms:dn("has_ontology_term"),cellTypeTerms:dn("has_cell_type_term"),technology:dn("technology"),thumbnail:dn("thumbnail")},ki={x:dn,base:ir("base"),ontologyNode:{label:dn("ccf_pref_label"),parent:dn("ccf_part_of"),children:dn("ccf_part_of"),rui_rank:dn("rui_rank"),synonymLabels:Un.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:dn("ccf_part_of"),ct_is_a:dn("ccf_ct_isa"),located_in:dn("ccf_located_in"),characterizes:dn("ccf_characterizes")},spatial:{Female:ir("base")("VHFemale"),Male:ir("base")("VHMale"),BothSexes:ir("base")("VHBothSexes"),FemaleOrgans:ir("base")("VHFemaleOrgans"),MaleOrgans:ir("base")("VHMaleOrgans")},SpatialObjectReference:dn("spatial_object_reference"),SpatialEntity:dn("spatial_entity"),SpatialPlacement:dn("spatial_placement"),spatialObjectReference:{file:dn("file_url"),file_format:dn("file_format"),file_subpath:dn("file_subpath")},extractionSet:{label:ir("rdfs")("label"),rui_rank:dn("rui_rank")},spatialEntity:{label:ir("rdfs")("label"),description:ir("rdfs")("comment"),creator:ir("dcterms")("creator"),creator_first_name:dn("creator_first_name"),creator_last_name:dn("creator_last_name"),creator_orcid:dn("creator_orcid"),creation_date:ir("dcterms")("created"),updated_date:dn("updated_date"),ccf_annotations:dn("collides_with"),representation_of:dn("representation_of"),reference_organ:dn("has_reference_organ"),extraction_set_for:dn("extraction_set_for"),extraction_set:dn("has_extraction_set"),sex:dn("organ_owner_sex"),side:dn("organ_side"),rui_rank:dn("rui_rank"),slice_thickness:dn("slice_thickness"),slice_count:dn("slice_count"),x_dimension:dn("x_dimension"),y_dimension:dn("y_dimension"),z_dimension:dn("z_dimension"),dimension_units:dn("dimension_unit"),object:dn("has_object_reference")},spatialPlacement:{source:dn("placement_for"),target:dn("placement_relative_to"),placement_date:ir("dcterms")("created"),x_scaling:dn("x_scaling"),y_scaling:dn("y_scaling"),z_scaling:dn("z_scaling"),scaling_units:dn("scaling_unit"),x_rotation:dn("x_rotation"),y_rotation:dn("y_rotation"),z_rotation:dn("z_rotation"),w_rotation:dn("theta_rotation"),rotation_order:dn("rotation_order"),rotation_units:dn("rotation_unit"),x_translation:dn("x_translation"),y_translation:dn("y_translation"),z_translation:dn("z_translation"),translation_units:dn("translation_unit")}},di={x:ir("uberon"),body:ir("uberon")("0013702")},NPe={x:ir("cl"),cell:ir("cl")("0000000")},Zb={x:ir("fma")},vd=(ir("lmha"),{body:di.body,cell:NPe.cell,respiratory_system:di.x("0001004"),colon:di.x("0001155"),left_lung:di.x("0002168"),right_lung:di.x("0002167"),left_bronchus:di.x("0002178"),right_bronchus:di.x("0002177"),kidney:di.x("0002113"),ureter:di.x("0000056"),eye:di.x("0000970"),fallopian_tube:di.x("0003889"),knee:di.x("0001465"),ovary:di.x("0000992"),trachea:di.x("0003126"),aorta:di.x("0000947"),blood:di.x("0000178"),bone_marrow:di.x("0002371"),male_reproductive_system:di.x("0000079"),lymph_node:di.x("0000029"),blood_vasculature:di.x("0004537"),brain:di.x("0000955"),eye_left:di.x("0004548"),eye_right:Zb.x("54449"),fallopian_tube_left:di.x("0001303"),fallopian_tube_right:di.x("0001302"),heart:di.x("0000948"),kidney_left:di.x("0004538"),kidney_right:di.x("0004539"),knee_left:Zb.x("24978"),knee_right:Zb.x("24977"),large_intestine:di.x("0000059"),liver:di.x("0002107"),lungs:di.x("0002048"),mesenteric_lymph_node:di.x("0002509"),ovary_left:Zb.x("7214"),ovary_right:Zb.x("7213"),pancreas:di.x("0001264"),pelvis:di.x("0001270"),prostate_gland:di.x("0002367"),skin:di.x("0002097"),small_intestine:di.x("0002108"),spleen:di.x("0002106"),thymus:di.x("0002370"),ureter_left:di.x("0001223"),ureter_right:di.x("0001222"),urinary_bladder:di.x("0001255"),uterus:di.x("0000995")});function zk(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}const p1={spatialObjectReference:zk(ki.spatialObjectReference),spatialEntity:zk(ki.spatialEntity),spatialPlacement:zk(ki.spatialPlacement)};function z9(n,e){const t=dp(n,e,"ExtractionSet",p1.spatialEntity);return t.extractionSites=(0,mr.sortBy)(n.getSubjects(ki.spatialEntity.extraction_set,e,null).map(i=>hp(n,i.id)),["rui_rank"]),t}function hp(n,e){const t=dp(n,e,"SpatialEntity",p1.spatialEntity);return t.object&&(t.object=function(n,e){return dp(n,e,"SpatialObjectReference",p1.spatialObjectReference)}(n,t.object)),t.ccf_annotations&&(t.ccf_annotations=n.getObjects(e,ki.spatialEntity.ccf_annotations,null).map(i=>i.id)),n.forSubjects(i=>t.entityId=i.id,vi.spatialEntity,e,null),t}function VPe(n,e){const t=dp(n,e,"SpatialPlacement",p1.spatialPlacement);return t.source&&(t.source=hp(n,t.source)),t.target&&(t.target=hp(n,t.target)),t}function H9(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(_j),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}class G9{constructor(e){this.db=e,this.createGraph()}createGraph(){this.graph=new ERe.DirectedGraph;const e=this.db.store;e.forSubjects(i=>{this.addNode(i.id,"SpatialObjectReference")},U9.type,ki.SpatialObjectReference,null),e.forSubjects(i=>{this.addNode(i.id,"SpatialEntity")},U9.type,ki.SpatialEntity,null);const t={};for(const i of(0,Un.readQuads)(e,null,ki.spatialPlacement.source,null,null))t[i.subject.id]=i.object.id;for(const i of(0,Un.readQuads)(e,null,ki.spatialPlacement.target,null,null)){const r=t[i.subject.id];r&&this.addEdge(i.subject.id,r,i.object.id,"SpatialPlacement")}}addNode(e,t){this.graph.mergeNode(e,{type:t})}addEdge(e,t,i,r){this.graph.mergeDirectedEdge(t,i,{type:r,id:e})}getTransformationMatrix(e,t){if(e===t)return new qn(qn.IDENTITY);if(!this.graph.hasNode(e)||!this.graph.hasNode(t))return;const i=this.db.store,r=new qn(qn.IDENTITY),s=SRe()(this.graph,e,t);if(s&&s.length>0){s.reverse();let o="";for(const a of s)o&&H9(r,VPe(i,this.graph.getEdgeAttribute(a,o,"id"))),o=a;return r}}getSpatialPlacement(e,t){const i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,mr.get)(e,"placement[0]",(0,mr.get)(e,"placement",void 0));let s;if(r&&this.graph.hasNode(r.target)?(s=this.getTransformationMatrix(r.target,t),s&&(s=H9(s,r))):i&&(s=this.getTransformationMatrix(i,t)),s){const o=(new Zi).fromRotationMatrix(s,Zi.XYZ),a=s.getTranslation().map(u=>1e3*u),l=o.toVector3().map(dse),c=s.getScale().map(u=>u<1&&u>.999999?1:u);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${PRe()}_placement`,"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:c[0],y_scaling:c[1],z_scaling:c[2],scaling_units:"ratio",x_rotation:l[0],y_rotation:l[1],z_rotation:l[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}class $9{constructor(e){this.db=e}getSpatialEntity(e){return hp(this.db.store,e)}getExtractionSets(e){return function(n,e){return(0,mr.sortBy)(n.getSubjects(ki.spatialEntity.extraction_set_for,e,null).map(t=>z9(n,t.id)),["rui_rank"])}(this.db.store,e)}getExtractionSet(e){return z9(this.db.store,e)}getAnatomicalStructures(e){return function(n,e){return(0,mr.sortBy)(n.getSubjects(ki.spatialEntity.reference_organ,e,null).map(t=>hp(n,t.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,e)}getReferenceOrgans(){return function(n){const e=[];return n.forEach(t=>{t.subject.id===t.object.id&&e.push(hp(n,t.subject.id))},null,ki.spatialEntity.reference_organ,null,null),(0,mr.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(e){let t;switch(null==e?void 0:e.sex){case"Male":t=ki.spatial.Male.id;break;case"Female":t=ki.spatial.Female.id;break;case"Both":default:t=ki.spatial.BothSexes.id}return this.getSpatialEntity(t)}getReferenceOrganSets(e){let t=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":t=t.filter(i=>"Male"===i.sex);break;case"Female":t=t.filter(i=>"Female"===i.sex)}return(null==e?void 0:e.debug)&&(t=t.map(i=>[[i],this.getAnatomicalStructures(i["@id"])]).reduce((i,[r,s])=>i.concat(s.length>0?s:r),[])),t}getReferenceSceneNodes(e){const t=this.getReferenceBody(e),i=[];let r=[...this.getReferenceOrganSets(e).map(s=>{const o="http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of,a=this.getSceneNode(s,t,{color:[255,255,255,255],opacity:o?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!o});return o&&a?void i.push(a):a})];return i.length>0&&(r=[...i,...r]),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(ki.base("VHRightKidney").id),t,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHLeftKidney").id),t,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC1").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC2").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC3").id),t,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(s=>void 0!==s)}getReferenceOrganScene(e,t){var i,r;const s=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(i=null==t?void 0:t.sex)||void 0===i?void 0:i.toLowerCase()),o=this.getReferenceOrgans().filter(a=>a.representation_of===e&&(!s||a.sex===(null==t?void 0:t.sex)));if(o.length>0){const a=o[0],c=this.getSceneNode(a,a,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===a.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),u=(null!==(r=this.db.getSpatialEntities(t))&&void 0!==r?r:[]).map(h=>this.getSceneNode(h,a,{color:[255,255,255,229.5]}));return[c].concat(u).filter(h=>void 0!==h)}return[]}getEntitySceneNodes(e){const t=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(i=>this.getSceneNode(i,t,{color:[255,255,255,229.5]})).filter(i=>void 0!==i)}getSceneNode(e,t,i={}){var r,s,o,a;const l=null===(s=null===(r=null==e?void 0:e.object)||void 0===r?void 0:r.file_format)||void 0===s?void 0:s.startsWith("model/gltf");let u=this.db.graph.getTransformationMatrix(l&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(l)u=new qn(qn.IDENTITY).rotateX(_j(90)).multiplyLeft(u);else{let h;switch(e.dimension_units){case"centimeter":h=.01;break;case"millimeter":h=.001;break;case"meter":default:h=1}const f=[e.x_dimension,e.y_dimension,e.z_dimension].map(g=>g*h/2);u.scale(f)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:l?null===(o=e.object)||void 0===o?void 0:o.file:void 0,scenegraphNode:l?null===(a=e.object)||void 0===a?void 0:a.file_subpath:void 0,transformMatrix:u,tooltip:e.label},i)}}getScene(e){return[...this.getReferenceSceneNodes(e),...this.getEntitySceneNodes(e)]}}const g1="https://entity.api.hubmapconsortium.org/entities/",W9=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),UPe={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},qm={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},q9="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld";class GPe{constructor(e,t="",i="",r){var s,o;if(this.data=e,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const c=this.data.descendants||[],u=(this.data.ancestors||[]).find(Ne=>"Donor"===Ne.entity_type);this.donor=this.getDonor(u,i);const h=this.getRuiLocation(e,this.donor);h?this.rui_location=h:this.bad=!0,qm[e.group_uuid]||(qm[e.group_uuid]=e.group_name);const f=new Date(e.last_modified_timestamp).toLocaleDateString(),g=qm[e.group_uuid]||e.group_name,m=e.created_by_user_displayname;this["@id"]=g1+e.uuid,this.label=`Registered ${f}, ${m}, ${g}`,this.link=`${i}browse/sample/${e.uuid}`;const v={},x=[];this.sections=x;const U=[];this.datasets=U;for(const Ne of c.filter(Ve=>"Sample"===Ve.entity_type)){const Ve=this.getSection(Ne,e,i);v[Ne.submission_id]=Ve,x.push(Ve),Ve.section_number=null!==(s=Ve.section_number)&&void 0!==s?s:x.length}for(const Ne of c)if("Dataset"===Ne.entity_type){const Ve=this.getDataset(Ne,t,i,r),bt=(0,mr.get)(Ne,["ingest_metadata","metadata","tissue_id"]);v[bt]?null===(o=v[bt].datasets)||void 0===o||o.push(Ve):U.push(Ve)}const D=null!=h?h:{},ie=`${D.x_dimension} x ${D.y_dimension} x ${D.z_dimension} ${D.dimension_units}`;this.section_count=D.slice_count||x.length;const _e=parseFloat((D.slice_thickness||(D.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=_e;const Pe=D.dimension_units||"millimeter";this.section_units=Pe,this.description=`${ie}, ${_e} ${Pe}, ${this.section_count} Sections`,x.forEach((Ne,Ve)=>{Ne.description=`${D.x_dimension} x ${D.y_dimension} x ${_e} ${Pe}, ${_e} ${Pe}, ${Ne.description}`,Ne.section_number=Ve+1})}getSection(e,t,i){const r=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":g1+e.uuid,"@type":"Sample",label:`Registered ${r}, ${e.created_by_user_displayname}, ${qm[e.group_uuid]||e.group_name}`,description:`${t.sample_category}`,link:`${i}browse/sample/${e.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(e,t="",i="",r){var s;const o=new Date(e.last_modified_timestamp).toLocaleDateString(),a=qm[e.group_uuid]||e.group_name,l=e.created_by_user_displayname,c=[...e.data_types,(0,mr.get)(e,["ingest_metadata","metadata","assay_type"],"")],u=c.join("|").toLowerCase();let h,f="assets/icons/ico-unknown.svg";return-1!==u.indexOf("10x")?(h="10x",f="assets/icons/ico-bulk-10x.svg"):-1!==u.indexOf("af")?(h="AF",f="assets/icons/ico-spatial-af.svg"):-1!==u.indexOf("codex")?(h="CODEX",f="assets/icons/ico-spatial-codex.svg"):-1!==u.indexOf("imc")?(h="IMC",f="assets/icons/ico-spatial-imc.svg"):-1!==u.indexOf("lc")&&-1===u.indexOf("af")?(h="LC",f="assets/icons/ico-bulk-lc.svg"):h=-1!==u.indexOf("maldi")?"MALDI":-1!==u.indexOf("pas")?"PAS":"OTHER",f=null!==(s=this.getDatasetThumbnail(e,t,r))&&void 0!==s?s:f,{"@id":g1+e.uuid,"@type":"Dataset",label:`Registered ${o}, ${l}, ${a}`,description:`Data/Assay Types: ${c.join(", ")}`,link:`${i}browse/dataset/${e.uuid}`,technology:h,thumbnail:f}}getDatasetThumbnail(e,t,i){if(e.thumbnail_file){const r=e.thumbnail_file;return`${t}/${r.file_uuid}/${r.filename}`+(i?`?token=${i}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){const r=(0,mr.get)(e,"metadata.files",[]).filter(s=>/\.(ome\.tif|ome\.tiff)$/.test(s.rel_path)).filter(s=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(s.rel_path)).filter(s=>W9.has(s.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(s=>`${t}/${e.uuid}/${s.rel_path}`+(i?`?token=${i}`:""));if(r.length>0){const s=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(W9.has(s))return`assets/thumbnails/TMC-Vanderbilt/DR1/${s}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){const r=UPe[e.hubmap_id];if(r)return`assets/thumbnails/TMC-Florida/${r}`}}getDonor(e,t){const i=(e.description||"").toLowerCase();let r;i.includes("female")?r="Female":i.includes("male")&&(r="Male");const s=i.match(/age ([0-9]+)/);let o,a;s&&(o=(0,mr.toNumber)(s[1]));for(const f of(0,mr.get)(e,"metadata.organ_donor_data",(0,mr.get)(e,"metadata.living_donor_data",[])))"Feminine gender"===f.preferred_term||"Female"===f.preferred_term?r="Female":"Masculine gender"===f.preferred_term||"Male"===f.preferred_term?r="Male":"Current chronological age"===f.preferred_term||"Age"===f.preferred_term?o=(0,mr.toNumber)(f.data_value):"Body mass index"===f.preferred_term&&(a=(0,mr.toNumber)(f.data_value));let l="";r&&o&&(l+=`${r}, Age ${o}`,a&&(l+=`, BMI ${a.toFixed(1)}`));const c=new Date(e.last_modified_timestamp).toLocaleDateString(),u=qm[e.group_uuid]||e.group_name;return{"@id":g1+e.uuid,"@type":"Donor",label:l,description:`Entered ${c}, ${e.created_by_user_displayname}, ${u}`,link:`${t}browse/donor/${e.uuid}`,age:o,sex:r,bmi:a,consortium_name:"HuBMAP",provider_name:u,provider_uuid:e.group_uuid,samples:[]}}getRuiLocation(e,t){var i;let r,s=e.rui_location;if(s&&("string"==typeof s&&(s=JSON.parse(s)),s.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):s["@id"]&&(r=s),s["@context"]="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"),r){const o=null!==(i=(0,mr.get)(r,["placement","target"]))&&void 0!==i?i:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,mr.set)(r,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,mr.set)(r,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return r}getTissueBlock(){return(0,mr.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const WPe=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.metadata.living_donor_data.preferred_term","ancestors.metadata.living_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","sample_category"],qPe={exists:{field:"rui_location"}};function Y9(n,e,t){return JSON.stringify({version:!0,from:n,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=t?t:qPe,_source:{includes:WPe}})}function Hk(n,e){return Bi(this,void 0,void 0,function*(){try{const t=yield fetch(n,e),i=yield t.text();return t.ok||i.startsWith("https")?i.startsWith("https")?yield fetch(i).then(s=>s.json()):JSON.parse(i):void 0}catch(t){return}})}function X9(n,e,t,i,r="",s=""){return Bi(this,void 0,void 0,function*(){let o;if("static"===e?o=yield Hk(n):"search-api"===e&&(o=yield function(n,e,t){return Bi(this,void 0,void 0,function*(){const i=1e4,r=function(n){const e=new Headers;return e.append("Content-type","application/json"),n&&e.append("Authorization",`Bearer ${n}`),e}(e),s=Y9(0,i,t),o=yield Hk(n,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let h=i;h!h))return;const u=c.map(h=>h.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(n,i,t)),o)return function(n,e="",t="",i,r=!1){const o={},a=(0,mr.get)(n,"hits.hits",[]).map(c=>(0,mr.get)(c,"_source",{})).sort((c,u)=>c.uuid.localeCompare(u.uuid)).map(c=>new GPe(c,e,t,i).toJsonLd());for(const c of a){const u=c["@id"];o[u]?o[u].samples.push(c.samples[0]):o[u]=c}const l=Object.values(o);return r&&(function(n){let e=[],t=0;for(const i of n.filter(r=>r.samples.length>1)){const r=i.samples;for(let s=0;sc["@id"]===o)&&(r[s].deleteMe=!0,t++)}i.samples=r.filter(s=>!0!==s.deleteMe)}t>0&&console.log(`\u26a0 ${t} sections identified as blocks`)}(l),console.log(l.map(c=>Object.assign({"@context":q9},c)))),{"@context":q9,"@graph":l}}(o,r,s,i);console.warn(`Unable to load ${n} as HuBMAP Data`)})}function Jb(n,e,t){const i=new Set;for(const r of e)for(const s of(0,Un.readQuads)(n,r,t,null,null))i.add(s.object.id);return i}const JPe={[ki.spatialEntity.x_dimension.id]:"x",[ki.spatialEntity.y_dimension.id]:"y",[ki.spatialEntity.z_dimension.id]:"z"};function tNe(n,e,t,i){const r=e.getTransformationMatrix(t,i);let s;if(r){const o=r.getTranslation(),a=function(n,e){const t=dp(n,e,"Dimensions",JPe);return[t.x,t.y,t.z]}(n,t).map(c=>c/1e3/2),l=(new Zi).fromRotationMatrix(r,Zi.XYZ).toQuaternion().normalize().calculateW();s=(new Nk).fromCenterHalfSizeQuaternion(o,a,l)}return s}function nNe(n,e,t,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of t){const f=tNe(n,e,h,l);f&&f.distanceSquaredTo([r,s,o].map(m=>m/1e3))<=u&&c.add(h)}return c}function m1(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,Un.readQuads)(n,c,vi.donor,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function Gk(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,Un.readQuads)(n,c,vi.spatialEntity,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function ev(n,e){return function(t){n.has(t.id)&&e.add(t.id)}}function K9(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.namedNode(r);n.forSubjects(ev(e,i),ki.spatialEntity.ccf_annotations,s,null)}return i}function Q9(n,e){const t=function(n,e){const t=new Map;for(const i of n)for(const r of(0,Un.readQuads)(e,i,vi.spatialEntity,null,null))t.has(r.object.id)?t.get(r.object.id).add(i):t.set(r.object.id,new Set([i]));return t}(n,e),i=new Map;for(const r of t.keys()){const s=t.get(r);for(const o of(0,Un.readQuads)(e,r,ki.spatialEntity.ccf_annotations,null,null))if(i.has(o.object.id)){const a=i.get(o.object.id);s.forEach(l=>a.add(l))}else i.set(o.object.id,new Set(s))}return i}function _Ne(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[ki.ontologyNode.label.id]:"label",[t]:"parent",[ki.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of Uk(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function Z9(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,Un.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=_Ne(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,J9(r),r}function J9(n,e,t=new Set){const i=n.nodes[null!=e?e:n.root];if(i){i.children=i.children.filter(r=>!t.has(r)),i.children.forEach(r=>t.add(r));for(const r of i.children)J9(n,r,t),n.nodes[r]&&(n.nodes[r].parent=i["@id"])}}const eq=(0,mr.memoize)(function(n){const e=Z9(n,vd.body.id,"body",ki.asctb.part_of.id);return e.nodes[vd.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),_1={[vi.label.id]:"label",[vi.description.id]:"description",[vi.link.id]:"link"},vNe=Object.assign(Object.assign({},_1),{[vi.providerName.id]:"providerName"}),wNe=Object.assign(Object.assign({},_1),{[vi.technology.id]:"technology",[vi.thumbnail.id]:"thumbnail"}),ENe=Object.assign(Object.assign({},_1),{[vi.sampleType.id]:"sampleType",[vi.sectionNumber.id]:"sectionNumber",[vi.datasets.id]:"datasets"}),xNe=Object.assign(Object.assign({},_1),{[vi.sampleType.id]:"sampleType",[vi.sectionCount.id]:"sectionCount",[vi.sectionSize.id]:"sectionSize",[vi.sectionUnits.id]:"sectionUnits",[vi.donor.id]:"donor",[vi.spatialEntity.id]:"spatialEntityId",[vi.sections.id]:"sections",[vi.datasets.id]:"datasets"});function SNe(n,e){return dp(n,e,"Donor",vNe)}function tq(n,e){return dp(n,e,"Dataset",wNe)}function CNe(n,e){const t={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of Uk(n,e,ENe))if("datasets"===i){const s=tq(n,r);t[i].push(s)}else t[i]=r;return t}class ANe{constructor(e){this.database=e,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const e=Date.now();return this.database.connect().then(t=>Bi(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var i;this.status="Error",this.message=null!==(i=null==t?void 0:t.message)&&void 0!==i?i:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-e})}}const MNe={"@context":{"@base":"http://purl.org/ccf/","@vocab":"http://purl.org/ccf/",ccf:"http://purl.org/ccf/",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dcterms:"http://purl.org/dc/terms/",label:"rdfs:label",description:"rdfs:comment",link:"ccf:url",sex:"ccf:sex",age:"ccf:age",bmi:"ccf:bmi",consortium_name:"ccf:consortium_name",provider_name:"ccf:tissue_provider_name",provider_uuid:"ccf:tissue_provider_uuid",donor:{"@id":"ccf:comes_from","@type":"@id"},samples:{"@reverse":"donor"},sections:{"@id":"ccf:subdivided_into_sections","@type":"@id"},datasets:{"@id":"ccf:generates_dataset","@type":"@id"},sample_type:"ccf:sample_type",section_count:"ccf:section_count",section_size:"ccf:section_size",section_units:"ccf:section_size_unit",section_number:"ccf:section_number",rui_location:{"@id":"ccf:has_registration_location","@type":"@id"},ccf_annotations:{"@id":"ccf:collides_with","@type":"@id","@container":"@set"},representation_of:{"@id":"ccf:representation_of","@type":"@id"},reference_organ:{"@id":"ccf:has_reference_organ","@type":"@id"},extraction_set_for:{"@id":"ccf:extraction_set_for","@type":"@id"},extraction_set:{"@id":"ccf:has_extraction_set","@type":"@id"},organ_owner_sex:"ccf:organ_owner_sex",side:"ccf:organ_side",rui_rank:"ccf:rui_rank",slice_thickness:"ccf:slice_thickness",slice_count:"ccf:slice_count",object:{"@id":"ccf:has_object_reference","@type":"@id"},creation_date:"dcterms:created",updated_date:"ccf:updated_date",creator:"dcterms:creator",creator_first_name:"ccf:creator_first_name",creator_last_name:"ccf:creator_last_name",placement:{"@reverse":"ccf:placement_for"},placement_date:"dcterms:created",rotation_order:"ccf:rotation_order",dimension_units:"ccf:dimension_unit",rotation_units:"ccf:rotation_unit",scaling_units:"ccf:scaling_unit",translation_units:"ccf:translation_unit",source:{"@id":"ccf:placement_for","@type":"@id"},target:{"@id":"ccf:placement_relative_to","@type":"@id"},x_rotation:"ccf:x_rotation",y_rotation:"ccf:y_rotation",z_rotation:"ccf:z_rotation",x_scaling:"ccf:x_scaling",y_scaling:"ccf:y_scaling",z_scaling:"ccf:z_scaling",x_translation:"ccf:x_translation",y_translation:"ccf:y_translation",z_translation:"ccf:z_translation",x_dimension:"ccf:x_dimension",y_dimension:"ccf:y_dimension",z_dimension:"ccf:z_dimension",ontology_terms:{"@id":"ccf:has_ontology_term","@type":"@id"},technology:"ccf:technology",thumbnail:"ccf:thumbnail",file:"ccf:file_url",file_format:"ccf:file_format",file_subpath:"ccf:file_subpath"}};function $k(n){return JSON.parse(n,(e,t)=>"ccf_annotations"===e&&Array.isArray(t)?t.map(i=>(null==i?void 0:i.startsWith("http://purl.obolibrary.org/obo/FMA_"))?i.replace("http://purl.obolibrary.org/obo/FMA_","http://purl.org/sig/ont/fma/fma"):i):"@context"!==e||!t||"https://hubmapconsortium.github.io/hubmap-ontology/ccf-entity-context.jsonld"!==t&&"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld"!==t&&"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"!==t&&"http://purl.org/ccf/latest/ccf-entity.owl#"!==t["@base"]?t:MNe)}const INe={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class ONe{constructor(e=INe){this.options=e,this.store=new Un.Store(void 0,{factory:Un.DataFactory}),this.graph=new G9(this),this.scene=new $9(this)}connect(e,t=!1){return Bi(this,void 0,void 0,function*(){return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return Bi(this,void 0,void 0,function*(){const e=(new Date).getTime(),t="ccf-database.last_modified",i="ccf-database",r=yield A9(t).catch(()=>{});let s;r&&e-new Date(+r).getTime()>36e5?yield function(n,e=Cc()){return e("readwrite",t=>(n.forEach(i=>t.delete(i)),vu(t.transaction)))}([i,t]).catch(()=>{}):s=yield A9(i).catch(()=>{}),s?yield this.deserialize(s):(yield this.doConnect(),function(n,e=Cc()){return e("readwrite",t=>(n.forEach(i=>t.put(i[1],i[0])),vu(t.transaction)))}([[i,this.serialize()],[t,""+e]]).catch(()=>{}))})}doConnect(){var e,t;return Bi(this,void 0,void 0,function*(){const i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],s=this.options.ccfOwlUrl;if(s.startsWith("{"))this.store=(0,Un.deserializeN3Store)(s,Un.DataFactory);else if(s.endsWith(".n3store.json")){const o=yield fetch(s).then(a=>a.text()).catch(()=>console.log("Couldn't locate serialized store."));o&&(this.store=(0,Un.deserializeN3Store)(o,Un.DataFactory))}else(null==s?void 0:s.length)>0&&r.push(s);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(X9(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(o=>{if(o)return this.addDataSources([o])}))),i.push(this.addDataSources(r)),yield Promise.all(i),yield this.synchronize()})}addDataSources(e,t){return Bi(this,void 0,void 0,function*(){const i=null!=t?t:this.store;return yield Promise.all(e.map(r=>Bi(this,void 0,void 0,function*(){"string"==typeof r?(r.startsWith("http")||r.startsWith("assets/"))&&r.includes("jsonld")?(r=$k(r=yield fetch(r).then(s=>s.text())),yield(0,Un.addJsonLdToStore)(r,i)):r.endsWith("n3")?yield(0,Un.addN3ToStore)(r,i):r.endsWith("rdf")||r.endsWith("owl")||r.endsWith("xml")?yield(0,Un.addRdfXmlToStore)(r,i):(r=$k(r),yield(0,Un.addJsonLdToStore)(r,i)):(r=$k(JSON.stringify(r)),yield(0,Un.addJsonLdToStore)(r,i))}))),this})}synchronize(){return Bi(this,void 0,void 0,function*(){return yield new Promise(e=>{setTimeout(e,500)}),this.graph.createGraph(),function(n){var e,t,i;const r=eq(n),s=new Map;for(const{subject:o,object:a}of(0,Un.readQuads)(n,null,ki.spatialEntity.representation_of,null,null)){const l=new Set([a.id]);let c=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;c&&!l.has(c);)l.add(c),c=null===(t=r.nodes[c])||void 0===t?void 0:t.parent;s.set(o.id,[...l].map(u=>Un.DataFactory.namedNode(u)))}for(const{object:o}of(0,Un.readQuads)(n,null,vi.spatialEntity,null,null))for(const{subject:a}of(0,Un.readQuads)(n,null,ki.spatialPlacement.source,o,null))for(const{object:l}of(0,Un.readQuads)(n,a,ki.spatialPlacement.target,null,null))for(const c of null!==(i=s.get(l.id))&&void 0!==i?i:[])n.addQuad(Un.DataFactory.namedNode(o.id),ki.spatialEntity.ccf_annotations,c)}(this.store),this})}serialize(){return(0,Un.serializeN3Store)(this.store)}deserialize(e){return Bi(this,void 0,void 0,function*(){this.store=(0,Un.deserializeN3Store)(e,Un.DataFactory),this.graph=new G9(this),this.scene=new $9(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(e={}){return function(n,e,t){var i,r,s,o,a,l,c;let u=function(n){const e=new Set;return n.forSubjects(t=>e.add(t.id),vi.spatialEntity,null,null),e}(n);if(u.size>0&&(u=function(n,e,t=!0){const i=new Set;if(n.forSubjects(ev(e,i),vi.spatialEntity,null,null),!t){const r=new Set;return e.forEach(s=>i.has(s)?void 0:r.add(s)),r}return i}(n,u)),u.size>0&&("Male"===t.sex||"Female"===t.sex)){const h=t.sex;u=m1(n,u,f=>function(n,e,t){const i=new Set;return n.forSubjects(ev(e,i),vi.sex,vi[t],null),i}(n,f,h))}if(u.size>0&&(null===(i=t.tmc)||void 0===i?void 0:i.length)>0&&(u=m1(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.literal(r);n.forSubjects(ev(e,i),vi.providerName,s,null)}return i}(n,h,t.tmc))),u.size>0&&(null===(r=t.technologies)||void 0===r?void 0:r.length)>0&&(u=function(n,e,t){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const h of(0,Un.readQuads)(n,u,vi.sections,null,null))a.add(h.object.id);for(const u of a)for(const h of(0,Un.readQuads)(n,u,vi.datasets,null,null))o.add(h.object.id),s.has(h.object.id)?null===(i=s.get(h.object.id))||void 0===i||i.push(u):s.set(h.object.id,[u]);const l=t(o),c=new Set;for(const u of l)for(const h of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(h);return c}(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.literal(r);n.forSubjects(ev(e,i),vi.technology,s,null)}return i}(n,h,t.technologies))),u.size>0&&(null===(s=t.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=Gk(n,u,h=>function(n,e,t,i){const r=new Set;for(const s of i)nNe(n,e,t,s).forEach(a=>r.add(a));return r}(n,e,h,t.spatialSearches))),u.size>0&&(null===(o=t.ontologyTerms)||void 0===o?void 0:o.length)>0){const h=t.ontologyTerms;-1===h.indexOf(vd.body.id)&&(u=Gk(n,u,f=>K9(n,f,h)))}if(u.size>0&&(null===(a=t.cellTypeTerms)||void 0===a?void 0:a.length)>0){const h=t.cellTypeTerms;-1===h.indexOf(vd.cell.id)&&(u=Gk(n,u,f=>function(n,e,t){const i=new Set;for(const r of t)n.forObjects(s=>{i.add(s.id)},r,ki.asctb.located_in,null),r===vd.cell.id&&i.add(vd.body.id);return K9(n,e,[...i])}(n,f,h)))}if(u.size>0&&2===(null===(l=t.ageRange)||void 0===l?void 0:l.length)&&(0,mr.isFinite)(t.ageRange[0])&&(0,mr.isFinite)(t.ageRange[1])){const h=Math.max(...t.ageRange),f=Math.min(...t.ageRange);1===f&&110===h||(u=m1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,Un.readQuads)(n,s,vi.age,null,null)){const a=(0,c1.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,f,h)))}if(u.size>0&&2===(null===(c=t.bmiRange)||void 0===c?void 0:c.length)&&(0,mr.isFinite)(t.bmiRange[0])&&(0,mr.isFinite)(t.bmiRange[1])){const h=Math.max(...t.bmiRange),f=Math.min(...t.bmiRange);13===f&&83===h||(u=m1(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,Un.readQuads)(n,s,vi.bmi,null,null)){const a=(0,c1.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,f,h)))}return u}(this.store,this.graph,e)}get(e){return this.store.getQuads(Un.DataFactory.namedNode(e),null,null,null)}search(e={}){return[...this.getIds(e)].map(t=>this.get(t))}getSpatialEntities(e){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t=n.getObjects(Un.DataFactory.namedNode(e),vi.spatialEntity,null);if(t.length>0)return hp(n,t[0].id)}(this.store,t))}getDatabaseStatus(){return Bi(this,void 0,void 0,function*(){return this.status||(this.status=new ANe(this)),this.status.toJson()})}getDatasetTechnologyNames(){return Bi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,Un.readQuads)(n,null,vi.technology,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return Bi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,Un.readQuads)(n,null,vi.providerName,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(e){return Bi(this,void 0,void 0,function*(){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of Uk(n,e,xNe))if("sections"===i){const s=CNe(n,r);t[i].push(s)}else if("datasets"===i){const s=tq(n,r);t[i].push(s)}else t[i]="donor"===i?SNe(n,r):r;return t}(this.store,t))})}getAggregateResults(e){return Bi(this,void 0,void 0,function*(){return function(n,e){const t=Jb(e,n,vi.donor.id),i=Jb(e,t,vi.providerUUID.id),r=new Set;for(const l of n)for(const c of(0,Un.readQuads)(e,l,vi.spatialEntity,null,null))r.add(c.subject.id);const s=Jb(e,r,vi.sections.id),o=new Set([...Jb(e,r,vi.datasets.id),...Jb(e,s,vi.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:t.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([l,c])=>({label:l,count:c}))}(this.getIds(e),this.store)})}getOntologyTermOccurences(e){return Bi(this,void 0,void 0,function*(){return function(n,e){const t={};return Q9(n,e).forEach((r,s)=>{t[s]=r.size}),t}(this.getIds(e),this.store)})}getCellTypeTermOccurences(e){return Bi(this,void 0,void 0,function*(){return function(n,e){var t,i;const r=Q9(n,e),s=new Map;for(const a of r.keys()){const l=r.get(a);for(const c of(0,Un.readQuads)(e,null,ki.asctb.located_in,a,null)){const u=c.subject.id;if(s.has(u)){const h=s.get(u);l.forEach(f=>h.add(f))}else s.set(u,new Set(l))}}const o={};return s.forEach((a,l)=>{o[l]=a.size}),o[vd.cell.id]=null!==(i=null===(t=r.get(vd.body.id))||void 0===t?void 0:t.size)&&void 0!==i?i:0,o}(this.getIds(e),this.store)})}getOntologyTreeModel(){return Bi(this,void 0,void 0,function*(){return eq(this.store)})}getCellTypeTreeModel(){return Bi(this,void 0,void 0,function*(){return function(n){return Z9(n,vd.cell.id,"cell",ki.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return Bi(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(e){return Bi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(e)})}getReferenceOrganScene(e,t){return Bi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)})}getSpatialPlacement(e,t){return Bi(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(e,t)})}}class nq extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function NNe(){throw new nq}function kNe(){throw new nq}function Wk(n,e,t){e.run(()=>n.dispatch(t))}function BNe(n,e,t,i){return yg(t)?function(n,e,t){return t.then(i=>(Wk(n,e,i),i))}(n,e,t):Im(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(gr(i.cancelUncompleted$))),t.subscribe({next:r=>Wk(n,e,r)}),t}(n,e,t,i):(Wk(n,e,t),t)}class VNe{constructor(){this.cancelUncompleted$=new oe}cancelPreviousAction(){this.cancelUncompleted$.next()}}const qk="\u0275fac",iq=Symbol("InjectorInstance"),rq=Symbol("FactoryHasBeenDecorated");function sq(n,e){const t=n[iq];return t?t.get(e):null}const zNe={cancelUncompleted:!1};function oq(n=zNe){return(e,t,i)=>{let r;const s=function(n){return n?new VNe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=sq(this,hu)||NNe(),l=sq(this,pn)||kNe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>BNe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(rq in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[qk]&&function(n){const e=n[qk];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[iq]=Ce(Vu),r};t&&(t.factory=i),Object.defineProperty(n,qk,{get:()=>i})}(e),n.constructor.prototype[rq]=!0}(e)}}const mke=["bodyCanvas"];let _ke=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new ln,this.nodeDrag=new ln,this.nodeClick=new ln,this.nodeHoverStart=new ln,this.nodeHoverStop=new ln,this.initialized=new ln,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return Bi(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new zve({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&hr(mke,5,gn),2&t){let r;Gn(r=$n())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&ni(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),yke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr]]}),n})();new Ht("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const yq=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name));function Lke(n,e){if(1&n&&(wt(0,"div",16),ni(1,"youtube-player",17),Et()),2&n){const t=_i(3);zt(1),dE("videoId",t.videoID)}}function Bke(n,e){if(1&n&&(wt(0,"mat-expansion-panel",11),wt(1,"mat-expansion-panel-header"),wt(2,"h2",12),Jn(3),Et(),Et(),wt(4,"div",13),ni(5,"markdown",14),wi(6,Lke,2,1,"div",15),Et(),Et()),2&n){const t=_i(),i=t.index,r=t.$implicit;Jt("expanded",0===i),zt(3),gs(r.title),zt(2),ai("first",0===i),Jt("data",r.content),zt(1),Jt("ngIf",0===i)}}function Vke(n,e){if(1&n&&(wt(0,"div",9),wi(1,Bke,7,6,"mat-expansion-panel",10),Et()),2&n){const t=e.$implicit;zt(1),Jt("ngIf",t)}}yq.filter(n=>!0!==n.disabled);let bq=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(Ce(kC),Ce(PW))},n.\u0275cmp=rn({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),wt(2,"div",2),wt(3,"div",3),wt(4,"h2",4),Jn(5),Et(),wt(6,"div",5),wt(7,"mat-icon",6),Tn("click",function(){return i.close()}),Jn(8,"clear"),Et(),Et(),Et(),wt(9,"mat-dialog-content",7),wi(10,Vke,2,1,"div",8),Et(),Et(),Et(),Et()),2&t&&(zt(5),gs(i.infoTitle),zt(5),Jt("ngForOf",i.documentationContents))},directives:[kW,Fm,FW,Yu,ac,UW,zW,WW,KW],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),vq=(()=>{class n{constructor(t){this.http=t,this.panelContent=new Fr({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(Ie(_u))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Uke=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new ln,this.closeClicked=new ln}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),wt(2,"div",2),wt(3,"div",3),wt(4,"p",4),Jn(5),Et(),wt(6,"mat-icon",5),Tn("click",function(){return i.close()}),Jn(7,"clear"),Et(),Et(),ni(8,"img",6),wt(9,"mat-dialog-content",7),wt(10,"div",8),Jn(11),Et(),wt(12,"a",9),Tn("click",function(){return i.onDialogButtonClick()}),Et(),Et(),Et(),Et(),Et()),2&t&&(zt(5),gs(i.infoTitle),zt(3),Jt("src",i.imageUrl,sf),zt(3),xo(" ",i.message,""),zt(1),Jt("text",i.callToAction))},directives:[kW,Fm,BMe,FW],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),Qm=(()=>{let n=class extends MDe{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(Ki(n=>null!=n),Wa(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(oW(...t),ld(),Wa(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(oW(...t),ld(),Wa(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac}),Ei([f7()],n.prototype,"config$",null),n=Ei([CDe(),A5({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}();class wq extends class{getDatabaseStatus(){return this.forwardCall("getDatabaseStatus")}getProviderNames(){return this.forwardCall("getProviderNames")}getDatasetTechnologyNames(){return this.forwardCall("getDatasetTechnologyNames")}getOntologyTreeModel(){return this.forwardCall("getOntologyTreeModel")}getCellTypeTreeModel(){return this.forwardCall("getCellTypeTreeModel")}getReferenceOrgans(){return this.forwardCall("getReferenceOrgans")}getTissueBlockResults(e){return this.forwardCall("getTissueBlockResults",e)}getAggregateResults(e){return this.forwardCall("getAggregateResults",e)}getOntologyTermOccurences(e){return this.forwardCall("getOntologyTermOccurences",e)}getCellTypeTermOccurences(e){return this.forwardCall("getCellTypeTermOccurences",e)}getScene(e){return this.forwardCall("getScene",e)}getReferenceOrganScene(e,t){return this.forwardCall("getReferenceOrganScene",e,t)}}{forwardCall(e,...t){return this.impl$.pipe(is(i=>i[e](...t)))}}let Eq=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Qk=new oe,nv={cacheBusterObserver:Qk},Zm={cacheBusterObserver:Qk,maxCacheCount:4};function xq(n,e,t){return n?{min:n[0]>e?n[0]:void 0,max:n[1]{var t;return Object.assign(Object.assign({},e),{transformMatrix:new qn(null!==(t=e.transformMatrix)&&void 0!==t?t:[])})})}let Xke=(()=>{class n{constructor(t,i){this.api=t,this.globalConfig=i,i.getOption("hubmapToken").subscribe(Qk)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},n=>n)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},n=>n)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},n=>n)}getTissueBlockResults(t){return this.doRequest(i=>this.api.tissueBlocks(i),t,{},n=>n)}getAggregateResults(t){return this.doRequest(i=>this.api.aggregateResults(i),t)}getOntologyTermOccurences(t){return this.doRequest(i=>this.api.ontologyTermOccurences(i),t)}getCellTypeTermOccurences(t){return this.doRequest(i=>this.api.cellTypeTermOccurences(i),t)}getScene(t){return this.doRequest(i=>this.api.scene(i),t,{},Sq)}getReferenceOrganScene(t,i){return this.doRequest(r=>this.api.referenceOrganScene(r),i,{organIri:t},Sq)}doRequest(t,i,r,s){const{api:o,globalConfig:a}=this,l=Object.assign(Object.assign({},function(n){var e,t;return{age:xq(null==n?void 0:n.ageRange,1,110),bmi:xq(null==n?void 0:n.bmiRange,13,83),sex:null===(t=null===(e=null==n?void 0:n.sex)||void 0===e?void 0:e.toLowerCase)||void 0===t?void 0:t.call(e),ontologyTerms:null==n?void 0:n.ontologyTerms,cellTypeTerms:null==n?void 0:n.cellTypeTerms,providers:null==n?void 0:n.tmc,technologies:null==n?void 0:n.technologies,spatial:null==n?void 0:n.spatialSearches}}(i)),r);return yc([a.getOption("remoteApiEndpoint"),a.getOption("hubmapToken")]).pipe(qr(1),cr(([c,u])=>{o.configuration.basePath=c,u&&(l.token=u)}),is(()=>t(l)),me(c=>s?s(c):c))}}return n.\u0275fac=function(t){return new(t||n)(Ie(T9),Ie(Qm))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),Ei([Sc(nv)],n.prototype,"getProviderNames",null),Ei([Sc(nv)],n.prototype,"getDatasetTechnologyNames",null),Ei([Sc(nv)],n.prototype,"getOntologyTreeModel",null),Ei([Sc(nv)],n.prototype,"getCellTypeTreeModel",null),Ei([Sc(nv)],n.prototype,"getReferenceOrgans",null),Ei([Sc(Zm)],n.prototype,"getTissueBlockResults",null),Ei([Sc(Zm)],n.prototype,"getAggregateResults",null),Ei([Sc(Zm)],n.prototype,"getOntologyTermOccurences",null),Ei([Sc(Zm)],n.prototype,"getCellTypeTermOccurences",null),Ei([Sc(Zm)],n.prototype,"getScene",null),Ei([Sc(Zm)],n.prototype,"getReferenceOrganScene",null),n})(),Kke=(()=>{class n extends wq{constructor(t){super(),this.impl$=this.database$=t.config$.pipe(i=>i,Ki(i=>Object.keys(i).length>0),is(i=>function(n,e){return new O(t=>{let i,r;try{i=n()}catch(a){return void t.error(a)}try{r=e(i)}catch(a){return void t.error(a)}const o=(r?je(r):Qc).subscribe(t);return()=>{o.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDatabase(i),r=>this.connectDatabase(r,i))),me(i=>i.database),Wa(1))}connectDatabase(t,i){return Bi(this,void 0,void 0,function*(){const r=!fa();return yield t.database.connect(i,r),t})}}return n.\u0275fac=function(t){return new(t||n)(Ie(Qm))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Qke=(()=>{class n extends Kke{createDatabase(t){return{database:new ONe(t),unsubscribe:()=>{}}}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Zke=(()=>{class n extends wq{constructor(t,i){super(),this.impl$=t.config$.pipe(r=>r,me(r=>this.selectToken(r)),ld(),me(r=>i.get(r)),Wa(1))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Qm),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})(),Zk=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),Jk=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),eF=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var tF;class wa{get length(){var e,t;return null!==(t=null===(e=wa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=wa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=wa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=wa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=wa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=wa.storage)||void 0===e||e.clear()}}wa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),wa.\u0275fac=function(e){return new(e||wa)},wa.\u0275prov=We({token:wa,factory:wa.\u0275fac,providedIn:"root"});const Cq="callToActionPopupShown";let Ro=tF=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(Cq,`${i}`),s=tF.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new Jk)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(me(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open(bq,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(cr(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(eFe,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(Cq,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};Ro.\u0275fac=function(e){return new(e||Ro)(Ie(Nb),Ie(qb),Ie(wa),Ie(vq),Ie(_u))},Ro.\u0275prov=We({token:Ro,factory:Ro.\u0275fac}),Ei([yP(Zk)],Ro.prototype,"learnMore",null),Ei([yP(Jk)],Ro.prototype,"open",null),Ei([yP(eF)],Ro.prototype,"close",null),Ro=tF=Ei([A5({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Ro);let E1=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return Ei([_m([Ro])],n,"title",null),Ei([_m([Ro])],n,"message",null),Ei([_m([Ro])],n,"callToAction",null),Ei([_m([Ro])],n,"imageUrl",null),Ei([_m([Ro])],n,"expirationDate",null),Ei([_m([Ro])],n,"popupShown",null),n})(),eFe=(()=>{class n{constructor(){this.close=()=>new eF,this.learnMore=()=>new Zk}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(wt(0,"ccf-call-to-action",0),Tn("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),Ps(1,"async"),Ps(2,"async"),Ps(3,"async"),Ps(4,"async"),Et()),2&t&&Jt("infoTitle",To(1,4,i.title$))("message",To(2,6,i.message$))("callToAction",To(3,8,i.callToAction$))("imageUrl",To(4,10,i.imageUrl$))},directives:[Uke],pipes:[g0],styles:[""],changeDetection:0}),Ei([PS(E1.title)],n.prototype,"title$",void 0),Ei([PS(E1.message)],n.prototype,"message$",void 0),Ei([PS(E1.callToAction)],n.prototype,"callToAction$",void 0),Ei([PS(E1.imageUrl)],n.prototype,"imageUrl$",void 0),Ei([oq()],n.prototype,"close",void 0),Ei([oq()],n.prototype,"learnMore",void 0),n})(),iFe=(()=>{class n{constructor(t){this.source=t,this.organs=yq}getOrganInfo(t,i,r="Female"){let s=this.organs.find(a=>a.id===t);if(!s)return sn(void 0);const o=s.organ;return s.disabled&&(s=this.organs.find(a=>!a.disabled&&a.organ===o)),(null==s?void 0:s.side)&&i&&s.side!==i&&(s=this.organs.find(a=>!a.disabled&&a.organ===o&&a.side===i)),sn(s)}getOrgan(t,i="Both"){return this.source.getReferenceOrgans().pipe(me(r=>r.find(s=>s.representation_of===t.id&&("Both"===i||s.sex===i))))}getOrganScene(t,i="Female"){return t.id?this.source.getReferenceOrganScene(t.id,{ontologyTerms:[t.id],sex:i}):sn([])}getOrganStats(t,i="Female"){return t.id?this.source.getAggregateResults({ontologyTerms:[t.id],sex:i}):sn([])}getBlocks(t,i="Female"){return t.id?this.source.getTissueBlockResults({ontologyTerms:[t.id],sex:i}):sn([])}}return n.\u0275fac=function(t){return new(t||n)(Ie(Eq))},n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const rFe=["thumbContainer"],sFe=["toggleBar"],oFe=["input"],aFe=function(n){return{enterDuration:n}},lFe=["*"],cFe=new Ht("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1})});let uFe=0;const dFe={provide:Xo,useExisting:ge(()=>Tq),multi:!0};class hFe{constructor(e,t){this.source=e,this.checked=t}}const fFe=wC(Mm(Ch(Am(class{constructor(n){this._elementRef=n}}))));let Tq=(()=>{class n extends fFe{constructor(t,i,r,s,o,a){super(t),this._focusMonitor=i,this._changeDetectorRef=r,this.defaults=o,this._onChange=l=>{},this._onTouched=()=>{},this._uniqueId="mat-slide-toggle-"+ ++uFe,this._required=!1,this._checked=!1,this.name=null,this.id=this._uniqueId,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.change=new ln,this.toggleChange=new ln,this.tabIndex=parseInt(s)||0,this.color=this.defaultColor=o.color||"accent",this._noopAnimations="NoopAnimations"===a}get required(){return this._required}set required(t){this._required=bi(t)}get checked(){return this._checked}set checked(t){this._checked=bi(t),this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{"keyboard"===t||"program"===t?this._inputElement.nativeElement.focus():t||Promise.resolve().then(()=>this._onTouched())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}_onChangeEvent(t){t.stopPropagation(),this.toggleChange.emit(),this.defaults.disableToggleValue?this._inputElement.nativeElement.checked=this.checked:(this.checked=this._inputElement.nativeElement.checked,this._emitChangeEvent())}_onInputClick(t){t.stopPropagation()}writeValue(t){this.checked=!!t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck()}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(new hFe(this,this.checked))}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}}return n.\u0275fac=function(t){return new(t||n)(Ce(gn),Ce(vc),Ce(Mr),yo("tabindex"),Ce(cFe),Ce(Qa,8))},n.\u0275cmp=rn({type:n,selectors:[["mat-slide-toggle"]],viewQuery:function(t,i){if(1&t&&(hr(rFe,5),hr(sFe,5),hr(oFe,5)),2&t){let r;Gn(r=$n())&&(i._thumbEl=r.first),Gn(r=$n())&&(i._thumbBarEl=r.first),Gn(r=$n())&&(i._inputElement=r.first)}},hostAttrs:[1,"mat-slide-toggle"],hostVars:12,hostBindings:function(t,i){2&t&&(qc("id",i.id),Ii("tabindex",i.disabled?null:-1)("aria-label",null)("aria-labelledby",null),ai("mat-checked",i.checked)("mat-disabled",i.disabled)("mat-slide-toggle-label-before","before"==i.labelPosition)("_mat-animation-noopable",i._noopAnimations))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],required:"required",checked:"checked",ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[Vn([dFe]),En],ngContentSelectors:lFe,decls:16,vars:20,consts:[[1,"mat-slide-toggle-label"],["label",""],[1,"mat-slide-toggle-bar"],["toggleBar",""],["type","checkbox","role","switch",1,"mat-slide-toggle-input","cdk-visually-hidden",3,"id","required","tabIndex","checked","disabled","change","click"],["input",""],[1,"mat-slide-toggle-thumb-container"],["thumbContainer",""],[1,"mat-slide-toggle-thumb"],["mat-ripple","",1,"mat-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-slide-toggle-persistent-ripple"],[1,"mat-slide-toggle-content",3,"cdkObserveContent"],["labelContent",""],[2,"display","none"]],template:function(t,i){if(1&t&&(Hr(),wt(0,"label",0,1),wt(2,"div",2,3),wt(4,"input",4,5),Tn("change",function(s){return i._onChangeEvent(s)})("click",function(s){return i._onInputClick(s)}),Et(),wt(6,"div",6,7),ni(8,"div",8),wt(9,"div",9),ni(10,"div",10),Et(),Et(),Et(),wt(11,"span",11,12),Tn("cdkObserveContent",function(){return i._onLabelTextChange()}),wt(13,"span",13),Jn(14,"\xa0"),Et(),oi(15),Et(),Et()),2&t){const r=ih(1),s=ih(12);Ii("for",i.inputId),zt(2),ai("mat-slide-toggle-bar-no-side-margin",!s.textContent||!s.textContent.trim()),zt(2),Jt("id",i.inputId)("required",i.required)("tabIndex",i.tabIndex)("checked",i.checked)("disabled",i.disabled),Ii("name",i.name)("aria-checked",i.checked.toString())("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),zt(5),Jt("matRippleTrigger",r)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",function(n,e,t,i){return E3(Vt(),Cs(),n,e,t,i)}(18,aFe,i._noopAnimations?0:150))}},directives:[gu,$P],styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}.cdk-high-contrast-active .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:2px dotted;outline-offset:5px}\n"],encapsulation:2,changeDetection:0}),n})(),Aq=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})(),mFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Aq,Dm,ji,QS],Aq,ji]}),n})(),_Fe=(()=>{class n{constructor(){this.clsName="ccf-slide-toggle",this.labels=["Left","Right"],this.value="Left",this.disabled=!1,this.valueChange=new ln}get left(){const{value:t,labels:i}=this;return t!==i[1]}updateToggle(t){this.value=t?this.labels[0]:this.labels[1],this.valueChange.emit(this.value)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-slide-toggle"]],hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{labels:"labels",value:"value",disabled:"disabled"},outputs:{valueChange:"valueChange"},decls:6,vars:12,consts:[[1,"slide-label",3,"click"],[1,"slider",3,"disabled","checked","change"],["toggle",""]],template:function(t,i){if(1&t){const r=wl();wt(0,"span",0),Tn("click",function(){_r(r);const o=ih(3);return i.left||o.toggle(),i.updateToggle(!0)}),Jn(1),Et(),wt(2,"mat-slide-toggle",1,2),Tn("change",function(o){return i.updateToggle(!o.checked)}),Et(),wt(4,"span",0),Tn("click",function(){_r(r);const o=ih(3);return i.left&&o.toggle(),i.updateToggle(!1)}),Jn(5),Et()}2&t&&(ai("disabled",i.disabled)("highlighted",i.left),zt(1),gs(i.labels[0].charAt(0).toUpperCase()+i.labels[0].slice(1)),zt(1),Jt("disabled",i.disabled)("checked",!i.left),zt(2),ai("disabled",i.disabled)("highlighted",!i.left),zt(1),gs(i.labels[1].charAt(0).toUpperCase()+i.labels[1].slice(1)))},directives:[Tq],styles:["[_nghost-%COMP%] .slide-label[_ngcontent-%COMP%]{margin:0 1rem;transition:color .6s;cursor:pointer;opacity:50%}[_nghost-%COMP%] .slide-label.highlighted[_ngcontent-%COMP%]{opacity:100%}[_nghost-%COMP%] .disabled[_ngcontent-%COMP%]{opacity:30%!important;cursor:not-allowed}[_nghost-%COMP%] .slider .mat-slide-toggle-bar{background-color:#43476580}[_nghost-%COMP%] .slider .mat-slide-toggle-thumb{background-color:#434765}"],changeDetection:0}),n})();const yFe=["bodyUI"],bFe=function(){return["Male","Female"]},vFe=function(){return["Left","Right"]};let wFe=(()=>{class n{constructor(t){this.ga=t,this.sexChange=new ln,this.sideChange=new ln}ngAfterViewChecked(){this.updateHighlighting()}updateHighlighting(){var t,i,r,s;const o=new Set(null!==(i=null===(t=this.filter)||void 0===t?void 0:t.tmc)&&void 0!==i?i:[]);this.filteredBlocks=null!==(s=null===(r=this.blocks)||void 0===r?void 0:r.filter(a=>o.has(a.donor.providerName)).map(a=>a["@id"]))&&void 0!==s?s:[],this.bodyUI.scene=this.bodyUI.scene.map(a=>{var l;return Object.assign(Object.assign({},a),{color:a.entityId&&this.highlightedNodeId===a["@id"]?[30,136,229,255]:this.filteredBlocks.includes(null!==(l=a.entityId)&&void 0!==l?l:"")?[173,255,47,229.5]:[255,255,255,229.5]})})}ngOnChanges(t){this.bodyUI&&"organ"in t&&this.zoomToFitOrgan()}updateSex(t){this.sex=t,this.sexChange.emit(this.sex)}updateSide(t){this.side=t,this.sideChange.emit(this.side)}zoomToFitOrgan(){const{bodyUI:t,organ:i}=this;if(i){const{x_dimension:r,y_dimension:s,z_dimension:o}=i;t.rotation=t.rotationX=0,t.bounds={x:1.25*r/1e3,y:1.25*s/1e3,z:1.25*o/1e3},t.target=[r/1e3/2,s/1e3/2,o/1e3/2]}}nodeClicked(t){this.ga.event("node_click","organ",t.node["@id"]),this.highlightedNodeId=this.highlightedNodeId&&this.highlightedNodeId===t.node["@id"]?"":t.node["@id"]}}return n.\u0275fac=function(t){return new(t||n)(Ce(qb))},n.\u0275cmp=rn({type:n,selectors:[["ccf-organ"]],viewQuery:function(t,i){if(1&t&&hr(yFe,7),2&t){let r;Gn(r=$n())&&(i.bodyUI=r.first)}},inputs:{organ:"organ",scene:"scene",organIri:"organIri",sex:"sex",side:"side",blocks:"blocks",filter:"filter"},outputs:{sexChange:"sexChange",sideChange:"sideChange"},features:[Fi],decls:5,vars:10,consts:[["camera","perspective",1,"body-ui",3,"scene","interactive","nodeClick","initialized"],["bodyUI",""],[1,"stage-options"],[1,"view-slider",3,"labels","value","hidden","valueChange"]],template:function(t,i){1&t&&(wt(0,"ccf-body-ui",0,1),Tn("nodeClick",function(s){return i.nodeClicked(s)})("initialized",function(){return i.zoomToFitOrgan()}),Et(),wt(2,"div",2),wt(3,"ccf-slide-toggle",3),Tn("valueChange",function(s){return i.updateSex(s)}),Et(),wt(4,"ccf-slide-toggle",3),Tn("valueChange",function(s){return i.updateSide(s)}),Et(),Et()),2&t&&(Jt("scene",i.scene)("interactive",!0),zt(3),Jt("labels",TE(8,bFe))("value",i.sex)("hidden",!i.sex),zt(1),Jt("labels",TE(9,vFe))("value",i.side)("hidden",!i.side))},directives:[_ke,_Fe],styles:["[_nghost-%COMP%]{display:block;background-color:#000;border-radius:.5rem;color:#fff;height:100%}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{height:90%}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%]{padding:1rem;min-width:352px}"],changeDetection:0}),n})();function EFe(n,e){if(1&n&&(wt(0,"div",3),wt(1,"div",4),Jn(2),Et(),wt(3,"div",5),Jn(4),Et(),Et()),2&n){const t=e.$implicit;zt(2),gs(t.count),zt(2),gs(t.label)}}let xFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-stats-list"]],inputs:{statsLabel:"statsLabel",stats:"stats"},decls:4,vars:2,consts:[[1,"stats-container"],[1,"header"],["class","stats-row",4,"ngFor","ngForOf"],[1,"stats-row"],[1,"stat"],[1,"label"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),Jn(2),Et(),wi(3,EFe,5,2,"div",2),Et()),2&t&&(zt(2),xo(" ",i.statsLabel," "),zt(1),Jt("ngForOf",i.stats))},directives:[Yu],styles:[".stats-container[_ngcontent-%COMP%]{margin-bottom:2rem;min-height:9rem}.stats-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{margin-bottom:1rem}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;height:1.325rem}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .stat[_ngcontent-%COMP%]{width:2rem;margin-right:1rem;text-align:right}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{flex-grow:1;text-align:left}"],changeDetection:0}),n})();function SFe(n,e){if(1&n){const t=wl();wt(0,"div",6),wt(1,"div",7),wt(2,"div",8),Jn(3),Et(),wt(4,"div",9),Tn("click",function(){const s=_r(t).$implicit;return _i().goToURL(s.buttonUrl)}),Jn(5),Et(),Et(),Et()}if(2&n){const t=e.$implicit;zt(3),gs(t.body),zt(1),Jt("gaLabel",t.buttonUrl),zt(1),xo(" ",t.buttonTitle,"")}}function CFe(n,e){if(1&n){const t=wl();wt(0,"div",10),Tn("click",function(){const s=_r(t).$implicit;return _i().goToURL(s.buttonUrl)}),Jn(1),Et()}if(2&n){const t=e.$implicit;Jt("gaLabel",t.buttonUrl),zt(1),gs(t.buttonTitle)}}let TFe=(()=>{class n{constructor(){this.linkCards=[{body:"Add tissue blocks using the HRA Registration User Interface (RUI).",buttonTitle:"Register Tissue",buttonUrl:"https://hubmapconsortium.github.io/ccf-ui/rui/"},{body:"Explore tissue sections in tissue blocks with the HRA Exploration User Interface (EUI).",buttonTitle:"Explore Tissue",buttonUrl:"https://portal.hubmapconsortium.org/ccf-eui"},{body:"View linkages between anatomical structures, cell types, and common biomarkers (ASCT+B).",buttonTitle:"ASCT+B Reporter",buttonUrl:"https://hubmapconsortium.github.io/ccf-asct-reporter/"}],this.deepDives=[{body:"",buttonTitle:"HRA Portal",buttonUrl:"https://humanatlas.io"},{body:"",buttonTitle:"Online Course",buttonUrl:"https://expand.iu.edu/browse/sice/cns/courses/hubmap-visible-human-mooc"},{body:"",buttonTitle:"Paper",buttonUrl:"https://www.nature.com/articles/s41556-021-00788-6"}]}goToURL(t){window.open(t,"_blank")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-link-cards"]],decls:7,vars:2,consts:[["gaCategory","link-cards",1,"link-cards-container"],["class","link-card",4,"ngFor","ngForOf"],["gaCategory","deep-dive",1,"deep-dive-section"],[1,"title"],[1,"button-container"],["class","btn-outline btn","gaEvent","visit-link",3,"gaLabel","click",4,"ngFor","ngForOf"],[1,"link-card"],[1,"link-card-content"],[1,"body"],["gaEvent","visit-link",1,"link-button","btn",3,"gaLabel","click"],["gaEvent","visit-link",1,"btn-outline","btn",3,"gaLabel","click"]],template:function(t,i){1&t&&(wt(0,"div",0),wi(1,SFe,6,3,"div",1),Et(),wt(2,"div",2),wt(3,"div",3),Jn(4,"Human Reference Atlas (HRA) Deep Dive"),Et(),wt(5,"div",4),wi(6,CFe,2,2,"div",5),Et(),Et()),2&t&&(zt(1),Jt("ngForOf",i.linkCards),zt(5),Jt("ngForOf",i.deepDives))},directives:[g9,Yu,m9],styles:[".link-cards-container[_ngcontent-%COMP%]{max-width:30rem}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%]{border-top:1px solid #e0e0e0;padding-top:1px;padding-bottom:1px}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%]:last-of-type{border-bottom:1px solid #e0e0e0}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%]{align-items:center;padding:1rem 0 1rem 1rem;display:flex;flex-direction:row;justify-content:space-between;border-left:6px solid #444A65}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]{margin-left:2rem;background-color:#444a65;color:#fff}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]:hover{background-color:#2f3346}.deep-dive-section[_ngcontent-%COMP%]{margin-top:2rem}.deep-dive-section[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1rem}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{display:flex;flex-direction:row}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]{color:#444a65;border:1px solid #444A65;background-color:#fff}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:not(:last-of-type){margin-right:1rem}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:hover{background-color:#e0e0e0}.btn[_ngcontent-%COMP%]{min-width:9rem!important;max-height:2.28125rem;text-align:center;white-space:nowrap;cursor:pointer;font-size:.875rem;font-weight:500;border-radius:2px;line-height:2.75;transition:background-color .25s cubic-bezier(.4,0,.2,1) 0ms,box-shadow .25s cubic-bezier(.4,0,.2,1) 0ms,border .25s cubic-bezier(.4,0,.2,1) 0ms;font-family:Inter Variable,Helvetica,Arial,sans-serif}"],changeDetection:0}),n})();const AFe=["left"],MFe=["right"],DFe=function(){return[]},IFe=[{color:[0,0,0,0],opacity:.001}];let OFe=(()=>{class n{constructor(t,i,r){this.ga=i,this.configState=r,this.sex$=this.configState.getOption("sex"),this.side$=this.configState.getOption("side"),this.filter$=this.configState.getOption("highlightProviders").pipe(me(s=>({tmc:s}))),this.latestConfig={},this.organInfo$=r.config$.pipe(cr(s=>this.latestConfig=s),is(s=>{var o,a,l;return t.getOrganInfo(null!==(o=s.organIri)&&void 0!==o?o:"",null===(l=null===(a=s.side)||void 0===a?void 0:a.toLowerCase)||void 0===l?void 0:l.call(a),s.sex)}),cr(s=>this.logOrganLookup(s)),cr(s=>this.latestOrganInfo=s),Wa(1)),this.organ$=this.organInfo$.pipe(is(s=>s?t.getOrgan(s,s.hasSex?this.latestConfig.sex:void 0):sn(void 0)),cr(s=>{var o;if(s&&this.latestOrganInfo){const a=(null===(o=this.latestOrganInfo)||void 0===o?void 0:o.hasSex)?s.sex:void 0;a!==this.latestConfig.sex&&this.updateInput("sex",a),s.side!==this.latestConfig.side&&this.updateInput("side",s.side)}}),Wa(1)),this.scene$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getOrganScene(this.latestOrganInfo,s.sex):sn(IFe))),this.stats$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getOrganStats(this.latestOrganInfo,s.sex):sn([]))),this.statsLabel$=this.organ$.pipe(me(s=>this.makeStatsLabel(this.latestOrganInfo,null==s?void 0:s.sex)),Oo("Loading...")),this.blocks$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getBlocks(this.latestOrganInfo,s.sex):sn([])))}ngAfterViewInit(){const{left:t,right:i}=this;t.nativeElement.style.height=`${i.nativeElement.offsetHeight}px`}updateInput(t,i){this.configState.patchConfig({[t]:i})}makeStatsLabel(t,i){let r=[`Unknown IRI: ${this.latestConfig.organIri}`];if(t){const s=t.side?t.side.charAt(0).toUpperCase()+t.side.slice(1):void 0;r=[i,t.organ,s]}return r.filter(s=>!!s).join(", ")}logOrganLookup(t){this.ga.event(t?"organ_lookup_success":"organ_lookup_failure","organ",`Iri: ${this.latestConfig.organIri} - Sex: ${this.latestConfig.sex} - Side: ${this.latestConfig.side}`)}}return n.\u0275fac=function(t){return new(t||n)(Ce(iFe),Ce(qb),Ce(Qm))},n.\u0275cmp=rn({type:n,selectors:[["ccf-root"]],viewQuery:function(t,i){if(1&t&&(hr(AFe,7,gn),hr(MFe,7,gn)),2&t){let r;Gn(r=$n())&&(i.left=r.first),Gn(r=$n())&&(i.right=r.first)}},decls:16,vars:25,consts:[[1,"container"],[1,"left"],["left",""],[3,"blocks","filter","sex","side","organ","scene","sexChange","sideChange"],[1,"right"],["right",""],[3,"statsLabel","stats"]],template:function(t,i){if(1&t&&(wt(0,"div",0),wt(1,"div",1,2),wt(3,"ccf-organ",3),Tn("sexChange",function(s){return i.updateInput("sex",s)})("sideChange",function(s){return i.updateInput("side",s)}),Ps(4,"async"),Ps(5,"async"),Ps(6,"async"),Ps(7,"async"),Ps(8,"async"),Ps(9,"async"),Et(),Et(),wt(10,"div",4,5),ni(12,"ccf-stats-list",6),Ps(13,"async"),Ps(14,"async"),ni(15,"ccf-link-cards"),Et(),Et()),2&t){let r;zt(3),Jt("blocks",To(4,8,i.blocks$))("filter",To(5,10,i.filter$))("sex",To(6,12,i.sex$))("side",To(7,14,i.side$))("organ",To(8,16,i.organ$))("scene",null!==(r=To(9,18,i.scene$))&&void 0!==r?r:TE(24,DFe)),zt(9),Jt("statsLabel",To(13,20,i.statsLabel$))("stats",To(14,22,i.stats$))}},directives:[wFe,xFe,TFe],pipes:[g0],styles:[".container[_ngcontent-%COMP%]{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:row;padding:1rem;font-family:Inter;font-size:.95rem;line-height:1.5;text-align:left;position:relative;background-color:#fff;color:#000}.container[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{width:auto;flex-grow:1}.container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{margin-left:2rem;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:29rem}"],changeDetection:0}),n})();function RFe(n,e){1&n&&ni(0,"ccf-root")}function PFe(n){const e=i=>"string"==typeof i,t=i=>Array.isArray(i)&&i.every(e);if("string"==typeof n){const i=XD.json(n);if(t(i))return i}else if(t(n))return n;throw new Error("Invalid data sources")}function NFe(n){const e=i=>"string"==typeof i,t=i=>Array.isArray(i)&&i.every(e);if("string"==typeof n){if(!(null==n?void 0:n.startsWith("[")))return[n];{const i=XD.json(n);if(t(i))return i}}else if(t(n))return n;throw new Error("Invalid data sources")}let kFe=(()=>{class n extends fie{constructor(t,i){super(t,i,{initialDelay:10,initialConfig:Object.assign(Object.assign({},If.dbOptions),globalThis.dbOptions),parse:{dataSources:PFe,highlightProviders:NFe,useRemoteApi:XD.boolean}}),this.sex="Female",this.side="Left"}}return n.\u0275fac=function(t){return new(t||n)(Ce(Qm),Ce(Mr))},n.\u0275cmp=rn({type:n,selectors:[["ccf-root-wc"]],inputs:{organIri:"organIri",sex:"sex",side:"side",dataSources:"dataSources",highlightProviders:"highlightProviders",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint"},features:[En],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,i){1&t&&wi(0,RFe,1,0,"ccf-root",0),2&t&&Jt("ngIf",i.initialized)},directives:[ac,OFe],encapsulation:2,changeDetection:0}),n})(),FFe=(()=>{class n extends Zke{selectToken(t){return t.useRemoteApi&&t.remoteApiEndpoint?Xke:Qke}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=We({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),LFe=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[hs,el,a7,...t]}}}return n.\u0275fac=function(t){return new(t||n)(Ie(hs,2),Ie(el,2))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const x1=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class jFe{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=qf(this.action),i=function(n){return x1(n.getHours(),2)+":"+x1(n.getMinutes(),2)+":"+x1(n.getSeconds(),2)+"."+x1(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class UFe{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const Mq=new Ht("NGXS_LOGGER_PLUGIN_OPTIONS");let zFe=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new UFe(this._options),this._store=this._store||this._injector.get(hu);const s=new jFe(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(cr(o=>{s.completed(o)}),bc(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(Ie(Mq),Ie(Hn))},n.\u0275prov=We({token:n,factory:n.\u0275fac}),n})();const Dq=new Ht("LOGGER_USER_OPTIONS");function HFe(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let GFe=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:h5,useClass:zFe,multi:!0},{provide:Dq,useValue:t},{provide:Mq,useFactory:HFe,deps:[Dq]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const $Fe=[Qm];let WFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[LFe.forRoot(),Yo.forRoot($Fe,{developmentMode:!If.production}),GFe.forRoot({disabled:If.production})]]}),n})(),qFe=(()=>{class n{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return n.\u0275fac=function(t){return new(t||n)(Ie(n,12))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[{provide:Eq,useExisting:FFe}],imports:[[CW,oRe.forRoot({gaToken:If.googleAnalyticsToken,appName:"organ-info",projectName:"ccf",developmentMode:!If.production}),pRe.forRoot(()=>new Yb({basePath:If.dbOptions.remoteApiEndpoint})),WFe]]}),n})(),YFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,mFe]]}),n})(),XFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,yke,YFe]]}),n})(),KFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,r1]]}),n})(),QFe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr]]}),n})(),ZFe=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(El).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new aie(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends cie{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(kFe,{injector:this.injector});customElements.define("ccf-organ-info",t)}}return n.\u0275fac=function(t){return new(t||n)(Ie(Hn))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[],imports:[[WD,qFe,KFe,QFe,XFe]]}),n})();If.production&&function(){if(iB)throw new Error("Cannot enable prod mode after platform setup.");nB=!1}(),Ine().bootstrapModule(ZFe).catch(n=>console.error(n))},1052:Ut=>{function it(yt,ee,Dt,dt,Y,Se,he){try{var W=yt[Se](he),j=W.value}catch(k){return void Dt(k)}W.done?ee(j):Promise.resolve(j).then(dt,Y)}Ut.exports=function(yt){return function(){var ee=this,Dt=arguments;return new Promise(function(dt,Y){var Se=yt.apply(ee,Dt);function he(j){it(Se,dt,Y,he,W,"next",j)}function W(j){it(Se,dt,Y,he,W,"throw",j)}he(void 0)})}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},1948:Ut=>{Ut.exports=function(et){return et&&et.__esModule?et:{default:et}},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},4321:Ut=>{function it(et){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(Ut.exports=it=function(ee){return typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0):(Ut.exports=it=function(ee){return ee&&"function"==typeof Symbol&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0),it(et)}Ut.exports=it,Ut.exports.default=Ut.exports,Ut.exports.__esModule=!0},9082:Ut=>{function it(et){return Promise.resolve().then(()=>{var yt=new Error("Cannot find module '"+et+"'");throw yt.code="MODULE_NOT_FOUND",yt})}it.keys=()=>[],it.resolve=it,it.id=9082,Ut.exports=it},9521:()=>{},9125:()=>{},5307:()=>{}},Ut=>{Ut(Ut.s=2829)}]); \ No newline at end of file +var tFe=Object.defineProperty,nFe=Object.defineProperties,iFe=Object.getOwnPropertyDescriptors,SC=Object.getOwnPropertySymbols,Oq=Object.prototype.hasOwnProperty,Rq=Object.prototype.propertyIsEnumerable,Er=Math.pow,Nq=(Vt,Xe,et)=>Xe in Vt?tFe(Vt,Xe,{enumerable:!0,configurable:!0,writable:!0,value:et}):Vt[Xe]=et,at=(Vt,Xe)=>{for(var et in Xe||(Xe={}))Oq.call(Xe,et)&&Nq(Vt,et,Xe[et]);if(SC)for(var et of SC(Xe))Rq.call(Xe,et)&&Nq(Vt,et,Xe[et]);return Vt},Sn=(Vt,Xe)=>nFe(Vt,iFe(Xe)),Pq=(Vt,Xe)=>{var et={};for(var lt in Vt)Oq.call(Vt,lt)&&Xe.indexOf(lt)<0&&(et[lt]=Vt[lt]);if(null!=Vt&&SC)for(var lt of SC(Vt))Xe.indexOf(lt)<0&&Rq.call(Vt,lt)&&(et[lt]=Vt[lt]);return et};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{1440:(Vt,Xe,et)=>{var lt=et(1052).default;Vt.exports=function Q(Ee,pe,X){function U(B,w){if(!pe[B]){if(!Ee[B]){if(F)return F(B,!0);var R=new Error("Cannot find module '"+B+"'");throw R.code="MODULE_NOT_FOUND",R}var M=pe[B]={exports:{}};Ee[B][0].call(M.exports,function(y){return U(Ee[B][1][y]||y)},M,M.exports,Q,Ee,pe,X)}return pe[B].exports}for(var F=void 0,Y=0;Y0&&q[q.length-1])&&(6===_t[0]||2===_t[0])){Ke=0;continue}if(3===_t[0]&&(!q||_t[1]>q[0]&&_t[1]0?$-4:$;for(W=0;W>16&255,P[Z++]=E>>8&255,P[Z++]=255&E;return 2===D&&(E=U[T.charCodeAt(W)]<<2|U[T.charCodeAt(W+1)]>>4,P[Z++]=255&E),1===D&&(E=U[T.charCodeAt(W)]<<10|U[T.charCodeAt(W+1)]<<4|U[T.charCodeAt(W+2)]>>2,P[Z++]=E>>8&255,P[Z++]=255&E),P},pe.fromByteArray=function(T){for(var E,O=T.length,$=O%3,D=[],P=16383,Z=0,x=O-$;Zx?x:Z+P));return 1===$?D.push(X[(E=T[O-1])>>2]+X[E<<4&63]+"=="):2===$&&D.push(X[(E=(T[O-2]<<8)+T[O-1])>>10]+X[E>>4&63]+X[E<<2&63]+"="),D.join("")};for(var X=[],U=[],F="undefined"!=typeof Uint8Array?Uint8Array:Array,Y="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",B=0,w=Y.length;B0)throw new Error("Invalid string. Length must be a multiple of 4");var O=T.indexOf("=");return-1===O&&(O=E),[O,O===E?0:4-O%4]}function v(T){return X[T>>18&63]+X[T>>12&63]+X[T>>6&63]+X[63&T]}function b(T,E,O){for(var D=[],P=E;P>5==6?2:D>>4==14?3:D>>3==30?4:D>>6==2?-1:-2}function M(D){var P=this.lastTotal-this.lastNeed,Z=function(D,P,Z){if(128!=(192&P[0]))return D.lastNeed=0,"\ufffd";if(D.lastNeed>1&&P.length>1){if(128!=(192&P[1]))return D.lastNeed=1,"\ufffd";if(D.lastNeed>2&&P.length>2&&128!=(192&P[2]))return D.lastNeed=2,"\ufffd"}}(this,D);return void 0!==Z?Z:this.lastNeed<=D.length?(D.copy(this.lastChar,P,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(D.copy(this.lastChar,P,0,D.length),void(this.lastNeed-=D.length))}function b(D,P){if((D.length-P)%2==0){var Z=D.toString("utf16le",P);if(Z){var x=Z.charCodeAt(Z.length-1);if(x>=55296&&x<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=D[D.length-2],this.lastChar[1]=D[D.length-1],Z.slice(0,-1)}return Z}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=D[D.length-1],D.toString("utf16le",P,D.length-1)}function S(D){var P=D&&D.length?this.write(D):"";return this.lastNeed?P+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):P}function T(D,P){var Z=(D.length-P)%3;return 0===Z?D.toString("base64",P):(this.lastNeed=3-Z,this.lastTotal=3,1===Z?this.lastChar[0]=D[D.length-1]:(this.lastChar[0]=D[D.length-2],this.lastChar[1]=D[D.length-1]),D.toString("base64",P,D.length-Z))}function E(D){var P=D&&D.length?this.write(D):"";return this.lastNeed?P+this.lastChar.toString("base64",0,3-this.lastNeed):P}function O(D){return D.toString(this.encoding)}function $(D){return D&&D.length?this.write(D):""}pe.StringDecoder=B,B.prototype.write=function(D){if(0===D.length)return"";var P,Z;if(this.lastNeed){if(void 0===(P=this.fillLast(D)))return"";Z=this.lastNeed,this.lastNeed=0}else Z=0;return Z=0?(W>0&&(D.lastNeed=W-1),W):--x=0?(W>0&&(D.lastNeed=W-2),W):--x=0?(W>0&&(2===W?W=0:D.lastNeed=W-3),W):0}(this,D,P);if(!this.lastNeed)return D.toString("utf8",P);this.lastTotal=Z;var x=D.length-(Z-this.lastNeed);return D.copy(this.lastChar,0,x),D.toString("utf8",P,x)},B.prototype.fillLast=function(D){if(this.lastNeed<=D.length)return D.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);D.copy(this.lastChar,this.lastTotal-this.lastNeed,0,D.length),this.lastNeed-=D.length}},{"safe-buffer":4}],6:[function(Q,Ee,pe){(function(X){(function(){"use strict";var U=Q("base64-js"),F=Q("ieee754");pe.Buffer=C,pe.SlowBuffer=function(z){return+z!=z&&(z=0),C.alloc(+z)},pe.INSPECT_MAX_BYTES=50;var Y=2147483647;function w(z){if(z>Y)throw new RangeError('The value "'+z+'" is invalid for option "size"');var L=new Uint8Array(z);return L.__proto__=C.prototype,L}function C(z,L,H){if("number"==typeof z){if("string"==typeof L)throw new TypeError('The "string" argument must be of type string. Received type number');return v(z)}return R(z,L,H)}function R(z,L,H){if("string"==typeof z)return function(z,L){if(("string"!=typeof L||""===L)&&(L="utf8"),!C.isEncoding(L))throw new TypeError("Unknown encoding: "+L);var H=0|D(z,L),Le=w(H),it=Le.write(z,L);return it!==H&&(Le=Le.slice(0,it)),Le}(z,L);if(ArrayBuffer.isView(z))return S(z);if(null==z)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof z);if(gt(z,ArrayBuffer)||z&>(z.buffer,ArrayBuffer))return function(z,L,H){if(L<0||z.byteLength=Y)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Y.toString(16)+" bytes");return 0|z}function D(z,L){if(C.isBuffer(z))return z.length;if(ArrayBuffer.isView(z)||gt(z,ArrayBuffer))return z.byteLength;if("string"!=typeof z)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof z);var H=z.length,Le=arguments.length>2&&!0===arguments[2];if(!Le&&0===H)return 0;for(var it=!1;;)switch(L){case"ascii":case"latin1":case"binary":return H;case"utf8":case"utf-8":return q(z).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*H;case"hex":return H>>>1;case"base64":return Ye(z).length;default:if(it)return Le?-1:q(z).length;L=(""+L).toLowerCase(),it=!0}}function P(z,L,H){var Le=!1;if((void 0===L||L<0)&&(L=0),L>this.length||((void 0===H||H>this.length)&&(H=this.length),H<=0)||(H>>>=0)<=(L>>>=0))return"";for(z||(z="utf8");;)switch(z){case"hex":return le(this,L,H);case"utf8":case"utf-8":return ve(this,L,H);case"ascii":return Ge(this,L,H);case"latin1":case"binary":return J(this,L,H);case"base64":return re(this,L,H);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _e(this,L,H);default:if(Le)throw new TypeError("Unknown encoding: "+z);z=(z+"").toLowerCase(),Le=!0}}function Z(z,L,H){var Le=z[L];z[L]=z[H],z[H]=Le}function x(z,L,H,Le,it){if(0===z.length)return-1;if("string"==typeof H?(Le=H,H=0):H>2147483647?H=2147483647:H<-2147483648&&(H=-2147483648),Ae(H=+H)&&(H=it?0:z.length-1),H<0&&(H=z.length+H),H>=z.length){if(it)return-1;H=z.length-1}else if(H<0){if(!it)return-1;H=0}if("string"==typeof L&&(L=C.from(L,Le)),C.isBuffer(L))return 0===L.length?-1:W(z,L,H,Le,it);if("number"==typeof L)return L&=255,"function"==typeof Uint8Array.prototype.indexOf?it?Uint8Array.prototype.indexOf.call(z,L,H):Uint8Array.prototype.lastIndexOf.call(z,L,H):W(z,[L],H,Le,it);throw new TypeError("val must be string, number or Buffer")}function W(z,L,H,Le,it){var Yn,At=1,kt=z.length,In=L.length;if(void 0!==Le&&("ucs2"===(Le=String(Le).toLowerCase())||"ucs-2"===Le||"utf16le"===Le||"utf-16le"===Le)){if(z.length<2||L.length<2)return-1;At=2,kt/=2,In/=2,H/=2}function Pn(Ls,fs){return 1===At?Ls[fs]:Ls.readUInt16BE(fs*At)}if(it){var Mi=-1;for(Yn=H;Ynkt&&(H=kt-In),Yn=H;Yn>=0;Yn--){for(var xi=!0,Xr=0;Xrit&&(Le=it):Le=it;var At=L.length;Le>At/2&&(Le=At/2);for(var kt=0;kt>8,At.push(H%256),At.push(Le);return At}(L,z.length-H),z,H,Le)}function re(z,L,H){return U.fromByteArray(0===L&&H===z.length?z:z.slice(L,H))}function ve(z,L,H){H=Math.min(z.length,H);for(var Le=[],it=L;it239?4:At>223?3:At>191?2:1;if(it+In<=H)switch(In){case 1:At<128&&(kt=At);break;case 2:128==(192&(Pn=z[it+1]))&&(xi=(31&At)<<6|63&Pn)>127&&(kt=xi);break;case 3:Yn=z[it+2],128==(192&(Pn=z[it+1]))&&128==(192&Yn)&&(xi=(15&At)<<12|(63&Pn)<<6|63&Yn)>2047&&(xi<55296||xi>57343)&&(kt=xi);break;case 4:Yn=z[it+2],Mi=z[it+3],128==(192&(Pn=z[it+1]))&&128==(192&Yn)&&128==(192&Mi)&&(xi=(15&At)<<18|(63&Pn)<<12|(63&Yn)<<6|63&Mi)>65535&&xi<1114112&&(kt=xi)}null===kt?(kt=65533,In=1):kt>65535&&(Le.push((kt-=65536)>>>10&1023|55296),kt=56320|1023&kt),Le.push(kt),it+=In}return function(z){var L=z.length;if(L<=4096)return String.fromCharCode.apply(String,z);for(var H="",Le=0;LeH&&(L+=" ... "),""},C.prototype.compare=function(L,H,Le,it,At){if(gt(L,Uint8Array)&&(L=C.from(L,L.offset,L.byteLength)),!C.isBuffer(L))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof L);if(void 0===H&&(H=0),void 0===Le&&(Le=L?L.length:0),void 0===it&&(it=0),void 0===At&&(At=this.length),H<0||Le>L.length||it<0||At>this.length)throw new RangeError("out of range index");if(it>=At&&H>=Le)return 0;if(it>=At)return-1;if(H>=Le)return 1;if(this===L)return 0;for(var kt=(At>>>=0)-(it>>>=0),In=(Le>>>=0)-(H>>>=0),Pn=Math.min(kt,In),Yn=this.slice(it,At),Mi=L.slice(H,Le),xi=0;xi>>=0,isFinite(Le)?(Le>>>=0,void 0===it&&(it="utf8")):(it=Le,Le=void 0)}var At=this.length-H;if((void 0===Le||Le>At)&&(Le=At),L.length>0&&(Le<0||H<0)||H>this.length)throw new RangeError("Attempt to write outside buffer bounds");it||(it="utf8");for(var kt=!1;;)switch(it){case"hex":return ne(this,L,H,Le);case"utf8":case"utf-8":return ue(this,L,H,Le);case"ascii":return se(this,L,H,Le);case"latin1":case"binary":return te(this,L,H,Le);case"base64":return Re(this,L,H,Le);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return be(this,L,H,Le);default:if(kt)throw new TypeError("Unknown encoding: "+it);it=(""+it).toLowerCase(),kt=!0}},C.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Ge(z,L,H){var Le="";H=Math.min(z.length,H);for(var it=L;itLe)&&(H=Le);for(var it="",At=L;AtH)throw new RangeError("Trying to access beyond buffer length")}function Ce(z,L,H,Le,it,At){if(!C.isBuffer(z))throw new TypeError('"buffer" argument must be a Buffer instance');if(L>it||Lz.length)throw new RangeError("Index out of range")}function $e(z,L,H,Le,it,At){if(H+Le>z.length)throw new RangeError("Index out of range");if(H<0)throw new RangeError("Index out of range")}function Se(z,L,H,Le,it){return L=+L,H>>>=0,it||$e(z,0,H,4),F.write(z,L,H,Le,23,4),H+4}function ze(z,L,H,Le,it){return L=+L,H>>>=0,it||$e(z,0,H,8),F.write(z,L,H,Le,52,8),H+8}C.prototype.slice=function(L,H){var Le=this.length;(L=~~L)<0?(L+=Le)<0&&(L=0):L>Le&&(L=Le),(H=void 0===H?Le:~~H)<0?(H+=Le)<0&&(H=0):H>Le&&(H=Le),H>>=0,H>>>=0,Le||Me(L,H,this.length);for(var it=this[L],At=1,kt=0;++kt>>=0,H>>>=0,Le||Me(L,H,this.length);for(var it=this[L+--H],At=1;H>0&&(At*=256);)it+=this[L+--H]*At;return it},C.prototype.readUInt8=function(L,H){return L>>>=0,H||Me(L,1,this.length),this[L]},C.prototype.readUInt16LE=function(L,H){return L>>>=0,H||Me(L,2,this.length),this[L]|this[L+1]<<8},C.prototype.readUInt16BE=function(L,H){return L>>>=0,H||Me(L,2,this.length),this[L]<<8|this[L+1]},C.prototype.readUInt32LE=function(L,H){return L>>>=0,H||Me(L,4,this.length),(this[L]|this[L+1]<<8|this[L+2]<<16)+16777216*this[L+3]},C.prototype.readUInt32BE=function(L,H){return L>>>=0,H||Me(L,4,this.length),16777216*this[L]+(this[L+1]<<16|this[L+2]<<8|this[L+3])},C.prototype.readIntLE=function(L,H,Le){L>>>=0,H>>>=0,Le||Me(L,H,this.length);for(var it=this[L],At=1,kt=0;++kt=(At*=128)&&(it-=Math.pow(2,8*H)),it},C.prototype.readIntBE=function(L,H,Le){L>>>=0,H>>>=0,Le||Me(L,H,this.length);for(var it=H,At=1,kt=this[L+--it];it>0&&(At*=256);)kt+=this[L+--it]*At;return kt>=(At*=128)&&(kt-=Math.pow(2,8*H)),kt},C.prototype.readInt8=function(L,H){return L>>>=0,H||Me(L,1,this.length),128&this[L]?-1*(255-this[L]+1):this[L]},C.prototype.readInt16LE=function(L,H){L>>>=0,H||Me(L,2,this.length);var Le=this[L]|this[L+1]<<8;return 32768&Le?4294901760|Le:Le},C.prototype.readInt16BE=function(L,H){L>>>=0,H||Me(L,2,this.length);var Le=this[L+1]|this[L]<<8;return 32768&Le?4294901760|Le:Le},C.prototype.readInt32LE=function(L,H){return L>>>=0,H||Me(L,4,this.length),this[L]|this[L+1]<<8|this[L+2]<<16|this[L+3]<<24},C.prototype.readInt32BE=function(L,H){return L>>>=0,H||Me(L,4,this.length),this[L]<<24|this[L+1]<<16|this[L+2]<<8|this[L+3]},C.prototype.readFloatLE=function(L,H){return L>>>=0,H||Me(L,4,this.length),F.read(this,L,!0,23,4)},C.prototype.readFloatBE=function(L,H){return L>>>=0,H||Me(L,4,this.length),F.read(this,L,!1,23,4)},C.prototype.readDoubleLE=function(L,H){return L>>>=0,H||Me(L,8,this.length),F.read(this,L,!0,52,8)},C.prototype.readDoubleBE=function(L,H){return L>>>=0,H||Me(L,8,this.length),F.read(this,L,!1,52,8)},C.prototype.writeUIntLE=function(L,H,Le,it){L=+L,H>>>=0,Le>>>=0,it||Ce(this,L,H,Le,Math.pow(2,8*Le)-1,0);var kt=1,In=0;for(this[H]=255&L;++In>>=0,Le>>>=0,it||Ce(this,L,H,Le,Math.pow(2,8*Le)-1,0);var kt=Le-1,In=1;for(this[H+kt]=255&L;--kt>=0&&(In*=256);)this[H+kt]=L/In&255;return H+Le},C.prototype.writeUInt8=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,1,255,0),this[H]=255&L,H+1},C.prototype.writeUInt16LE=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,2,65535,0),this[H]=255&L,this[H+1]=L>>>8,H+2},C.prototype.writeUInt16BE=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,2,65535,0),this[H]=L>>>8,this[H+1]=255&L,H+2},C.prototype.writeUInt32LE=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,4,4294967295,0),this[H+3]=L>>>24,this[H+2]=L>>>16,this[H+1]=L>>>8,this[H]=255&L,H+4},C.prototype.writeUInt32BE=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,4,4294967295,0),this[H]=L>>>24,this[H+1]=L>>>16,this[H+2]=L>>>8,this[H+3]=255&L,H+4},C.prototype.writeIntLE=function(L,H,Le,it){if(L=+L,H>>>=0,!it){var At=Math.pow(2,8*Le-1);Ce(this,L,H,Le,At-1,-At)}var kt=0,In=1,Pn=0;for(this[H]=255&L;++kt>0)-Pn&255;return H+Le},C.prototype.writeIntBE=function(L,H,Le,it){if(L=+L,H>>>=0,!it){var At=Math.pow(2,8*Le-1);Ce(this,L,H,Le,At-1,-At)}var kt=Le-1,In=1,Pn=0;for(this[H+kt]=255&L;--kt>=0&&(In*=256);)L<0&&0===Pn&&0!==this[H+kt+1]&&(Pn=1),this[H+kt]=(L/In>>0)-Pn&255;return H+Le},C.prototype.writeInt8=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,1,127,-128),L<0&&(L=255+L+1),this[H]=255&L,H+1},C.prototype.writeInt16LE=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,2,32767,-32768),this[H]=255&L,this[H+1]=L>>>8,H+2},C.prototype.writeInt16BE=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,2,32767,-32768),this[H]=L>>>8,this[H+1]=255&L,H+2},C.prototype.writeInt32LE=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,4,2147483647,-2147483648),this[H]=255&L,this[H+1]=L>>>8,this[H+2]=L>>>16,this[H+3]=L>>>24,H+4},C.prototype.writeInt32BE=function(L,H,Le){return L=+L,H>>>=0,Le||Ce(this,L,H,4,2147483647,-2147483648),L<0&&(L=4294967295+L+1),this[H]=L>>>24,this[H+1]=L>>>16,this[H+2]=L>>>8,this[H+3]=255&L,H+4},C.prototype.writeFloatLE=function(L,H,Le){return Se(this,L,H,!0,Le)},C.prototype.writeFloatBE=function(L,H,Le){return Se(this,L,H,!1,Le)},C.prototype.writeDoubleLE=function(L,H,Le){return ze(this,L,H,!0,Le)},C.prototype.writeDoubleBE=function(L,H,Le){return ze(this,L,H,!1,Le)},C.prototype.copy=function(L,H,Le,it){if(!C.isBuffer(L))throw new TypeError("argument should be a Buffer");if(Le||(Le=0),!it&&0!==it&&(it=this.length),H>=L.length&&(H=L.length),H||(H=0),it>0&&it=this.length)throw new RangeError("Index out of range");if(it<0)throw new RangeError("sourceEnd out of bounds");it>this.length&&(it=this.length),L.length-H=0;--kt)L[kt+H]=this[kt+Le];else Uint8Array.prototype.set.call(L,this.subarray(Le,it),H);return At},C.prototype.fill=function(L,H,Le,it){if("string"==typeof L){if("string"==typeof H?(it=H,H=0,Le=this.length):"string"==typeof Le&&(it=Le,Le=this.length),void 0!==it&&"string"!=typeof it)throw new TypeError("encoding must be a string");if("string"==typeof it&&!C.isEncoding(it))throw new TypeError("Unknown encoding: "+it);if(1===L.length){var At=L.charCodeAt(0);("utf8"===it&&At<128||"latin1"===it)&&(L=At)}}else"number"==typeof L&&(L&=255);if(H<0||this.length>>=0,Le=void 0===Le?this.length:Le>>>0,L||(L=0),"number"==typeof L)for(kt=H;kt55295&&H<57344){if(!it){if(H>56319){(L-=3)>-1&&At.push(239,191,189);continue}if(kt+1===Le){(L-=3)>-1&&At.push(239,191,189);continue}it=H;continue}if(H<56320){(L-=3)>-1&&At.push(239,191,189),it=H;continue}H=65536+(it-55296<<10|H-56320)}else it&&(L-=3)>-1&&At.push(239,191,189);if(it=null,H<128){if((L-=1)<0)break;At.push(H)}else if(H<2048){if((L-=2)<0)break;At.push(H>>6|192,63&H|128)}else if(H<65536){if((L-=3)<0)break;At.push(H>>12|224,H>>6&63|128,63&H|128)}else{if(!(H<1114112))throw new Error("Invalid code point");if((L-=4)<0)break;At.push(H>>18|240,H>>12&63|128,H>>6&63|128,63&H|128)}}return At}function Ye(z){return U.toByteArray(function(z){if((z=(z=z.split("=")[0]).trim().replace(Ke,"")).length<2)return"";for(;z.length%4!=0;)z+="=";return z}(z))}function _t(z,L,H,Le){for(var it=0;it=L.length||it>=z.length);++it)L[it+H]=z[it];return it}function gt(z,L){return z instanceof L||null!=z&&null!=z.constructor&&null!=z.constructor.name&&z.constructor.name===L.name}function Ae(z){return z!=z}}).call(this)}).call(this,Q("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(Q,Ee,pe){"use strict";Ee.exports=function X(U){return null===U||"object"!=typeof U||null!=U.toJSON?JSON.stringify(U):Array.isArray(U)?"["+U.reduce((F,Y,B)=>F+(0===B?"":",")+X(void 0===Y||"symbol"==typeof Y?null:Y),"")+"]":"{"+Object.keys(U).sort().reduce((F,Y,B)=>void 0===U[Y]||"symbol"==typeof U[Y]?F:F+(0===F.length?"":",")+X(Y)+":"+X(U[Y]),"")+"}"}},{}],8:[function(Q,Ee,pe){"use strict";var F,X="object"==typeof Reflect?Reflect:null,U=X&&"function"==typeof X.apply?X.apply:function(W,ne,ue){return Function.prototype.apply.call(W,ne,ue)};F=X&&"function"==typeof X.ownKeys?X.ownKeys:Object.getOwnPropertySymbols?function(W){return Object.getOwnPropertyNames(W).concat(Object.getOwnPropertySymbols(W))}:function(W){return Object.getOwnPropertyNames(W)};var B=Number.isNaN||function(W){return W!=W};function w(){w.init.call(this)}Ee.exports=w,Ee.exports.once=function(x,W){return new Promise(function(ne,ue){function se(Re){x.removeListener(W,te),ue(Re)}function te(){"function"==typeof x.removeListener&&x.removeListener("error",se),ne([].slice.call(arguments))}Z(x,W,te,{once:!0}),"error"!==W&&function(x,W,ne){"function"==typeof x.on&&Z(x,"error",W,ne)}(x,se,{once:!0})})},w.EventEmitter=w,w.prototype._events=void 0,w.prototype._eventsCount=0,w.prototype._maxListeners=void 0;var C=10;function R(x){if("function"!=typeof x)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof x)}function M(x){return void 0===x._maxListeners?w.defaultMaxListeners:x._maxListeners}function y(x,W,ne,ue){var se,te,Re;if(R(ne),void 0===(te=x._events)?(te=x._events=Object.create(null),x._eventsCount=0):(void 0!==te.newListener&&(x.emit("newListener",W,ne.listener?ne.listener:ne),te=x._events),Re=te[W]),void 0===Re)Re=te[W]=ne,++x._eventsCount;else if("function"==typeof Re?Re=te[W]=ue?[ne,Re]:[Re,ne]:ue?Re.unshift(ne):Re.push(ne),(se=M(x))>0&&Re.length>se&&!Re.warned){Re.warned=!0;var be=new Error("Possible EventEmitter memory leak detected. "+Re.length+" "+String(W)+" listeners added. Use emitter.setMaxListeners() to increase limit");be.name="MaxListenersExceededWarning",be.emitter=x,be.type=W,be.count=Re.length,function(x){console&&console.warn&&console.warn(x)}(be)}return x}function v(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function b(x,W,ne){var ue={fired:!1,wrapFn:void 0,target:x,type:W,listener:ne},se=v.bind(ue);return se.listener=ne,ue.wrapFn=se,se}function S(x,W,ne){var ue=x._events;if(void 0===ue)return[];var se=ue[W];return void 0===se?[]:"function"==typeof se?ne?[se.listener||se]:[se]:ne?function(x){for(var W=new Array(x.length),ne=0;ne0&&(Re=ne[0]),Re instanceof Error)throw Re;var be=new Error("Unhandled error."+(Re?" ("+Re.message+")":""));throw be.context=Re,be}var re=te[W];if(void 0===re)return!1;if("function"==typeof re)U(re,this,ne);else{var ve=re.length,Fe=E(re,ve);for(ue=0;ue=0;Re--)if(ue[Re]===ne||ue[Re].listener===ne){be=ue[Re].listener,te=Re;break}if(te<0)return this;0===te?ue.shift():function(x,W){for(;W+1=0;se--)this.removeListener(W,ne[se]);return this},w.prototype.listeners=function(W){return S(this,W,!0)},w.prototype.rawListeners=function(W){return S(this,W,!1)},w.listenerCount=function(x,W){return"function"==typeof x.listenerCount?x.listenerCount(W):T.call(x,W)},w.prototype.listenerCount=T,w.prototype.eventNames=function(){return this._eventsCount>0?F(this._events):[]}},{}],9:[function(Q,Ee,pe){pe.read=function(X,U,F,Y,B){var w,C,R=8*B-Y-1,M=(1<>1,v=-7,b=F?B-1:0,S=F?-1:1,T=X[U+b];for(b+=S,w=T&(1<<-v)-1,T>>=-v,v+=R;v>0;w=256*w+X[U+b],b+=S,v-=8);for(C=w&(1<<-v)-1,w>>=-v,v+=Y;v>0;C=256*C+X[U+b],b+=S,v-=8);if(0===w)w=1-y;else{if(w===M)return C?NaN:1/0*(T?-1:1);C+=Math.pow(2,Y),w-=y}return(T?-1:1)*C*Math.pow(2,w-Y)},pe.write=function(X,U,F,Y,B,w){var C,R,M,y=8*w-B-1,v=(1<>1,S=23===B?Math.pow(2,-24)-Math.pow(2,-77):0,T=Y?0:w-1,E=Y?1:-1,O=U<0||0===U&&1/U<0?1:0;for(U=Math.abs(U),isNaN(U)||U===1/0?(R=isNaN(U)?1:0,C=v):(C=Math.floor(Math.log(U)/Math.LN2),U*(M=Math.pow(2,-C))<1&&(C--,M*=2),(U+=C+b>=1?S/M:S*Math.pow(2,1-b))*M>=2&&(C++,M/=2),C+b>=v?(R=0,C=v):C+b>=1?(R=(U*M-1)*Math.pow(2,B),C+=b):(R=U*Math.pow(2,b-1)*Math.pow(2,B),C=0));B>=8;X[F+T]=255&R,T+=E,R/=256,B-=8);for(C=C<0;X[F+T]=255&C,T+=E,C/=256,y-=8);X[F+T-E]|=128*O}},{}],10:[function(Q,Ee,pe){Ee.exports="function"==typeof Object.create?function(U,F){F&&(U.super_=F,U.prototype=Object.create(F.prototype,{constructor:{value:U,enumerable:!1,writable:!0,configurable:!0}}))}:function(U,F){if(F){U.super_=F;var Y=function(){};Y.prototype=F.prototype,U.prototype=new Y,U.prototype.constructor=U}}},{}],11:[function(Q,Ee,pe){"use strict";const{isArray:X,isObject:U,isString:F}=Q("./types"),{asArray:Y}=Q("./util"),{prependBase:B}=Q("./url"),w=Q("./JsonLdError"),C=Q("./ResolvedContext");function M(v){throw new w("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:v})}function y({context:v,base:b}){if(!v)return;const S=v["@context"];if(F(S))v["@context"]=B(b,S);else if(X(S))for(let T=0;T10)throw new w("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===b.processingMode?"loading remote context failed":"context overflow",max:10});if(E.has(S))throw new w("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===b.processingMode?"recursive context inclusion":"context overflow",url:S});let O,$;E.add(S);try{$=yield T(S),O=$.document||null,F(O)&&(O=JSON.parse(O))}catch(D){throw new w("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:S,cause:D})}if(!U(O))throw new w("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:S});return O="@context"in O?{"@context":O["@context"]}:{"@context":{}},$.contextUrl&&(X(O["@context"])||(O["@context"]=[O["@context"]]),O["@context"].push($.contextUrl)),{context:O,remoteDoc:$}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(Q,Ee,pe){"use strict";Ee.exports=class extends Error{constructor(U="An unspecified JSON-LD error occurred.",F="jsonld.Error",Y={}){super(U),this.name=F,this.message=U,this.details=Y}}},{}],13:[function(Q,Ee,pe){"use strict";Ee.exports=X=>{class U{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(U,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(U.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:U}),U.compact=function(F,Y){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):X.compact(F,Y)},U.expand=function(F){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):X.expand(F)},U.flatten=function(F){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):X.flatten(F)},U}},{}],14:[function(Q,Ee,pe){"use strict";Ee.exports=Q("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(Q,Ee,pe){"use strict";Ee.exports=class{constructor(){this._requests={}}wrapLoader(U){const F=this;return F._loader=U,function(){return F.add.apply(F,arguments)}}add(U){var F=this;return lt(function*(){let Y=F._requests[U];if(Y)return Promise.resolve(Y);Y=F._requests[U]=F._loader(U);try{return yield Y}finally{delete F._requests[U]}})()}}},{}],16:[function(Q,Ee,pe){"use strict";const X=Q("lru-cache");Ee.exports=class{constructor({document:Y}){this.document=Y,this.cache=new X({max:10})}getProcessed(Y){return this.cache.get(Y)}setProcessed(Y,B){this.cache.set(Y,B)}}},{"lru-cache":33}],17:[function(Q,Ee,pe){"use strict";const X=Q("./JsonLdError"),{isArray:U,isObject:F,isString:Y,isUndefined:B}=Q("./types"),{isList:w,isValue:C,isGraph:R,isSimpleGraph:M,isSubjectReference:y}=Q("./graphTypes"),{expandIri:v,getContextValue:b,isKeyword:S,process:T,processingMode:E}=Q("./context"),{removeBase:O,prependBase:$}=Q("./url"),{addValue:D,asArray:P,compareShortestLeast:Z}=Q("./util"),x={};function ne(ue,se,te){if("@nest"!==v(ue,se,{vocab:!0},te))throw new X("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}Ee.exports=x,x.compact=function(){var ue=lt(function*({activeCtx:se,activeProperty:te=null,element:Re,options:be={},compactionMap:re=(()=>{})}){if(U(Re)){let Fe=[];for(let Ze=0;Ze1&&(le=Array.from(le).sort());const _e=se;for(const Ce of le){const $e=x.compactIri({activeCtx:_e,iri:Ce,relativeTo:{vocab:!0}}),Se=b(Ge,$e,"@context");B(Se)||(se=yield T({activeCtx:se,localCtx:Se,options:be,propagate:!1}))}const Me=Object.keys(Re).sort();for(const Ce of Me){const $e=Re[Ce];if("@id"!==Ce)if("@type"!==Ce)if("@reverse"!==Ce)if("@preserve"!==Ce)if("@index"!==Ce)if("@graph"!==Ce&&"@list"!==Ce&&"@included"!==Ce&&S(Ce)){const Se=x.compactIri({activeCtx:se,iri:Ce,relativeTo:{vocab:!0}});D(Ze,Se,$e)}else{if(!U($e))throw new X("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===$e.length){const Se=x.compactIri({activeCtx:se,iri:Ce,value:$e,relativeTo:{vocab:!0},reverse:Fe}),ze=se.mappings.has(Se)?se.mappings.get(Se)["@nest"]:null;let Ke=Ze;ze&&(ne(se,ze,be),F(Ze[ze])||(Ze[ze]={}),Ke=Ze[ze]),D(Ke,Se,$e,{propertyIsArray:!0})}for(const Se of $e){const ze=x.compactIri({activeCtx:se,iri:Ce,value:Se,relativeTo:{vocab:!0},reverse:Fe}),Ke=se.mappings.has(ze)?se.mappings.get(ze)["@nest"]:null;let Ve=Ze;Ke&&(ne(se,Ke,be),F(Ze[Ke])||(Ze[Ke]={}),Ve=Ze[Ke]);const K=b(se,ze,"@container")||[],q=R(Se),ge=w(Se);let ce;ge?ce=Se["@list"]:q&&(ce=Se["@graph"]);let Ye=yield x.compact({activeCtx:se,activeProperty:ze,element:ge||q?ce:Se,options:be,compactionMap:re});if(ge){if(U(Ye)||(Ye=[Ye]),K.includes("@list")){D(Ve,ze,Ye,{valueIsArray:!0,allowDuplicate:!0});continue}Ye={[x.compactIri({activeCtx:se,iri:"@list",relativeTo:{vocab:!0}})]:Ye},"@index"in Se&&(Ye[x.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Se["@index"])}if(q)if(K.includes("@graph")&&(K.includes("@id")||K.includes("@index")&&M(Se))){let _t;Ve.hasOwnProperty(ze)?_t=Ve[ze]:Ve[ze]=_t={};const gt=(K.includes("@id")?Se["@id"]:Se["@index"])||x.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}});D(_t,gt,Ye,{propertyIsArray:!be.compactArrays||K.includes("@set")})}else K.includes("@graph")&&M(Se)?(U(Ye)&&Ye.length>1&&(Ye={"@included":Ye}),D(Ve,ze,Ye,{propertyIsArray:!be.compactArrays||K.includes("@set")})):(U(Ye)&&1===Ye.length&&be.compactArrays&&(Ye=Ye[0]),Ye={[x.compactIri({activeCtx:se,iri:"@graph",relativeTo:{vocab:!0}})]:Ye},"@id"in Se&&(Ye[x.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Se["@id"]),"@index"in Se&&(Ye[x.compactIri({activeCtx:se,iri:"@index",relativeTo:{vocab:!0}})]=Se["@index"]),D(Ve,ze,Ye,{propertyIsArray:!be.compactArrays||K.includes("@set")}));else if(K.includes("@language")||K.includes("@index")||K.includes("@id")||K.includes("@type")){let _t,gt;if(Ve.hasOwnProperty(ze)?_t=Ve[ze]:Ve[ze]=_t={},K.includes("@language"))C(Ye)&&(Ye=Ye["@value"]),gt=Se["@language"];else if(K.includes("@index")){const Ae=b(se,ze,"@index")||"@index",z=x.compactIri({activeCtx:se,iri:Ae,relativeTo:{vocab:!0}});if("@index"===Ae)gt=Se["@index"],delete Ye[z];else{let L;if([gt,...L]=P(Ye[Ae]||[]),Y(gt))switch(L.length){case 0:delete Ye[Ae];break;case 1:Ye[Ae]=L[0];break;default:Ye[Ae]=L}else gt=null}}else if(K.includes("@id")){const Ae=x.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}});gt=Ye[Ae],delete Ye[Ae]}else if(K.includes("@type")){const Ae=x.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}});let z;switch([gt,...z]=P(Ye[Ae]||[]),z.length){case 0:delete Ye[Ae];break;case 1:Ye[Ae]=z[0];break;default:Ye[Ae]=z}1===Object.keys(Ye).length&&"@id"in Se&&(Ye=yield x.compact({activeCtx:se,activeProperty:ze,element:{"@id":Se["@id"]},options:be,compactionMap:re}))}gt||(gt=x.compactIri({activeCtx:se,iri:"@none",relativeTo:{vocab:!0}})),D(_t,gt,Ye,{propertyIsArray:K.includes("@set")})}else{const _t=!be.compactArrays||K.includes("@set")||K.includes("@list")||U(Ye)&&0===Ye.length||"@list"===Ce||"@graph"===Ce;D(Ve,ze,Ye,{propertyIsArray:_t})}}}else{if((b(se,te,"@container")||[]).includes("@index"))continue;const ze=x.compactIri({activeCtx:se,iri:Ce,relativeTo:{vocab:!0}});D(Ze,ze,$e)}else{const Se=yield x.compact({activeCtx:se,activeProperty:te,element:$e,options:be,compactionMap:re});U(Se)&&0===Se.length||D(Ze,Ce,Se)}else{const Se=yield x.compact({activeCtx:se,activeProperty:"@reverse",element:$e,options:be,compactionMap:re});for(const ze in Se)if(se.mappings.has(ze)&&se.mappings.get(ze).reverse){const Ke=Se[ze],K=(b(se,ze,"@container")||[]).includes("@set")||!be.compactArrays;D(Ze,ze,Ke,{propertyIsArray:K}),delete Se[ze]}if(Object.keys(Se).length>0){const ze=x.compactIri({activeCtx:se,iri:Ce,relativeTo:{vocab:!0}});D(Ze,ze,Se)}}else{let Se=P($e).map(q=>x.compactIri({activeCtx:Ge,iri:q,relativeTo:{vocab:!0}}));1===Se.length&&(Se=Se[0]);const ze=x.compactIri({activeCtx:se,iri:"@type",relativeTo:{vocab:!0}}),K=(b(se,ze,"@container")||[]).includes("@set")&&E(se,1.1)||U(Se)&&0===$e.length;D(Ze,ze,Se,{propertyIsArray:K})}else{let Se=P($e).map(Ke=>x.compactIri({activeCtx:se,iri:Ke,relativeTo:{vocab:!1},base:be.base}));1===Se.length&&(Se=Se[0]),Ze[x.compactIri({activeCtx:se,iri:"@id",relativeTo:{vocab:!0}})]=Se}}return Ze}return Re});return function(se){return ue.apply(this,arguments)}}(),x.compactIri=({activeCtx:ue,iri:se,value:te=null,relativeTo:Re={vocab:!1},reverse:be=!1,base:re=null})=>{if(null===se)return se;ue.isPropertyTermScoped&&ue.previousContext&&(ue=ue.previousContext);const ve=ue.getInverse();if(S(se)&&se in ve&&"@none"in ve[se]&&"@type"in ve[se]["@none"]&&"@none"in ve[se]["@none"]["@type"])return ve[se]["@none"]["@type"]["@none"];if(Re.vocab&&se in ve){const le=ue["@language"]||"@none",_e=[];F(te)&&"@index"in te&&!("@graph"in te)&&_e.push("@index","@index@set"),F(te)&&"@preserve"in te&&(te=te["@preserve"][0]),R(te)?("@index"in te&&_e.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te&&_e.push("@graph@id","@graph@id@set"),_e.push("@graph","@graph@set","@set"),"@index"in te||_e.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in te||_e.push("@graph@id","@graph@id@set")):F(te)&&!C(te)&&_e.push("@id","@id@set","@type","@set@type");let Me="@language",Ce="@null";if(be)Me="@type",Ce="@reverse",_e.push("@set");else if(w(te)){"@index"in te||_e.push("@list");const Se=te["@list"];if(0===Se.length)Me="@any",Ce="@none";else{let ze=0===Se.length?le:null,Ke=null;for(let Ve=0;VeGe.includes("_"));Ze&&ve.push(Ze.replace(/^[^_]+_/,"_"))}ve.push("@none");const Fe=ue.inverse[se];for(const Ze of Re){if(!(Ze in Fe))continue;const Ge=Fe[Ze][be];for(const J of ve)if(J in Ge)return Ge[J]}return null}(ue,se,te,_e,Me,Ce);if(null!==$e)return $e}if(Re.vocab&&"@vocab"in ue){const le=ue["@vocab"];if(0===se.indexOf(le)&&se!==le){const _e=se.substr(le.length);if(!ue.mappings.has(_e))return _e}}let Fe=null;const Ze=[];let Ge=ue.fastCurieMap;const J=se.length-1;for(let le=0;le=0;--le){const _e=Ze[le],Me=_e.terms;for(const Ce of Me){const $e=Ce+":"+se.substr(_e.iri.length);ue.mappings.get(Ce)._prefix&&(!ue.mappings.has($e)||null===te&&ue.mappings.get($e)["@id"]===se)&&(null===Fe||Z($e,Fe)<0)&&(Fe=$e)}}if(null!==Fe)return Fe;for(const[le,_e]of ue.mappings)if(_e&&_e._prefix&&se.startsWith(le+":"))throw new X(`Absolute IRI "${se}" confused with prefix "${le}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:ue});return Re.vocab?se:"@base"in ue?ue["@base"]?O($(re,ue["@base"]),se):se:O(re,se)},x.compactValue=({activeCtx:ue,activeProperty:se,value:te,options:Re})=>{if(C(te)){const Fe=b(ue,se,"@type"),Ze=b(ue,se,"@language"),Ge=b(ue,se,"@direction"),J=b(ue,se,"@container")||[],le="@index"in te&&!J.includes("@index");if(!le&&"@none"!==Fe&&(te["@type"]===Fe||"@language"in te&&te["@language"]===Ze&&"@direction"in te&&te["@direction"]===Ge||"@language"in te&&te["@language"]===Ze||"@direction"in te&&te["@direction"]===Ge))return te["@value"];const _e=Object.keys(te).length,Me=1===_e||2===_e&&"@index"in te&&!le,Ce="@language"in ue,$e=Y(te["@value"]),Se=ue.mappings.has(se)&&null===ue.mappings.get(se)["@language"];if(Me&&"@none"!==Fe&&(!Ce||!$e||Se))return te["@value"];const ze={};return le&&(ze[x.compactIri({activeCtx:ue,iri:"@index",relativeTo:{vocab:!0}})]=te["@index"]),"@type"in te?ze[x.compactIri({activeCtx:ue,iri:"@type",relativeTo:{vocab:!0}})]=x.compactIri({activeCtx:ue,iri:te["@type"],relativeTo:{vocab:!0}}):"@language"in te&&(ze[x.compactIri({activeCtx:ue,iri:"@language",relativeTo:{vocab:!0}})]=te["@language"]),"@direction"in te&&(ze[x.compactIri({activeCtx:ue,iri:"@direction",relativeTo:{vocab:!0}})]=te["@direction"]),ze[x.compactIri({activeCtx:ue,iri:"@value",relativeTo:{vocab:!0}})]=te["@value"],ze}const be=v(ue,se,{vocab:!0},Re),re=b(ue,se,"@type"),ve=x.compactIri({activeCtx:ue,iri:te["@id"],relativeTo:{vocab:"@vocab"===re},base:Re.base});return"@id"===re||"@vocab"===re||"@graph"===be?ve:{[x.compactIri({activeCtx:ue,iri:"@id",relativeTo:{vocab:!0}})]:ve}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(Q,Ee,pe){"use strict";const X="http://www.w3.org/1999/02/22-rdf-syntax-ns#",U="http://www.w3.org/2001/XMLSchema#";Ee.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:X,RDF_LIST:X+"List",RDF_FIRST:X+"first",RDF_REST:X+"rest",RDF_NIL:X+"nil",RDF_TYPE:X+"type",RDF_PLAIN_LITERAL:X+"PlainLiteral",RDF_XML_LITERAL:X+"XMLLiteral",RDF_JSON_LITERAL:X+"JSON",RDF_OBJECT:X+"object",RDF_LANGSTRING:X+"langString",XSD:U,XSD_BOOLEAN:U+"boolean",XSD_DOUBLE:U+"double",XSD_INTEGER:U+"integer",XSD_STRING:U+"string"}},{}],19:[function(Q,Ee,pe){"use strict";const X=Q("./util"),U=Q("./JsonLdError"),{isArray:F,isObject:Y,isString:B,isUndefined:w}=Q("./types"),{isAbsolute:C,isRelative:R,prependBase:M}=Q("./url"),{asArray:y,compareShortestLeast:v}=Q("./util"),b=new Map,T=/^@[a-zA-Z]+$/,E={};function O(D,P,Z,x,W,ne){if(null===P||!B(P)||E.isKeyword(P))return P;if(P.match(T))return null;if(x&&x.hasOwnProperty(P)&&!0!==W.get(P)&&E.createTermDefinition({activeCtx:D,localCtx:x,term:P,defined:W,options:ne}),(Z=Z||{}).vocab){const se=D.mappings.get(P);if(null===se)return null;if(Y(se)&&"@id"in se)return se["@id"]}const ue=P.indexOf(":");if(ue>0){const se=P.substr(0,ue),te=P.substr(ue+1);if("_"===se||0===te.indexOf("//"))return P;x&&x.hasOwnProperty(se)&&E.createTermDefinition({activeCtx:D,localCtx:x,term:se,defined:W,options:ne});const Re=D.mappings.get(se);if(Re&&Re._prefix)return Re["@id"]+te;if(C(P))return P}if(Z.vocab&&"@vocab"in D)return D["@vocab"]+P;if(Z.base&&"@base"in D){if(D["@base"])return M(M(ne.base,D["@base"]),P)}else if(Z.base)return M(ne.base,P);return P}function $(D,P){if(!D||"object"!=typeof D||!P||"object"!=typeof P)return D===P;const Z=Array.isArray(D);if(Z!==Array.isArray(P))return!1;if(Z){if(D.length!==P.length)return!1;for(let ne=0;ne{if(x.has(Z)){if(x.get(Z))return;throw new U("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:P,term:Z})}let ue;if(x.set(Z,!1),P.hasOwnProperty(Z)&&(ue=P[Z]),"@type"===Z&&Y(ue)&&"@set"===(ue["@container"]||"@set")&&E.processingMode(D,1.1)){const Fe=["@container","@id","@protected"],Ze=Object.keys(ue);if(0===Ze.length||Ze.some(Ge=>!Fe.includes(Ge)))throw new U("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:P,term:Z})}else{if(E.isKeyword(Z))throw new U("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:P,term:Z});if(Z.match(T))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:Z});if(""===Z)throw new U("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:P})}const se=D.mappings.get(Z);D.mappings.has(Z)&&D.mappings.delete(Z);let te=!1;if((B(ue)||null===ue)&&(te=!0,ue={"@id":ue}),!Y(ue))throw new U("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:P});const Re={};D.mappings.set(Z,Re),Re.reverse=!1;const be=["@container","@id","@language","@reverse","@type"];E.processingMode(D,1.1)&&be.push("@context","@direction","@index","@nest","@prefix","@protected");for(const Fe in ue)if(!be.includes(Fe))throw new U("Invalid JSON-LD syntax; a term definition must not contain "+Fe,"jsonld.SyntaxError",{code:"invalid term definition",context:P});const re=Z.indexOf(":");if(Re._termHasColon=re>0,"@reverse"in ue){if("@id"in ue)throw new U("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:P});if("@nest"in ue)throw new U("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:P});const Fe=ue["@reverse"];if(!B(Fe))throw new U("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});if(!E.isKeyword(Fe)&&Fe.match(T))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:Fe}),void(se?D.mappings.set(Z,se):D.mappings.delete(Z));const Ze=O(D,Fe,{vocab:!0,base:!1},P,x,W);if(!C(Ze))throw new U("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});Re["@id"]=Ze,Re.reverse=!0}else if("@id"in ue){let Fe=ue["@id"];if(Fe&&!B(Fe))throw new U("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});if(null===Fe)Re["@id"]=null;else{if(!E.isKeyword(Fe)&&Fe.match(T))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:Fe}),void(se?D.mappings.set(Z,se):D.mappings.delete(Z));if(Fe!==Z){if(Fe=O(D,Fe,{vocab:!0,base:!1},P,x,W),!C(Fe)&&!E.isKeyword(Fe))throw new U("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});if(Z.match(/(?::[^:])|\//)&&O(D,Z,{vocab:!0,base:!1},P,new Map(x).set(Z,!0),W)!==Fe)throw new U("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P});Re["@id"]=Fe,Re._prefix=te&&!Re._termHasColon&&Fe.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in Re))if(Re._termHasColon){const Fe=Z.substr(0,re);if(P.hasOwnProperty(Fe)&&E.createTermDefinition({activeCtx:D,localCtx:P,term:Fe,defined:x,options:W}),D.mappings.has(Fe)){const Ze=Z.substr(re+1);Re["@id"]=D.mappings.get(Fe)["@id"]+Ze}else Re["@id"]=Z}else if("@type"===Z)Re["@id"]=Z;else{if(!("@vocab"in D))throw new U("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:P,term:Z});Re["@id"]=D["@vocab"]+Z}if((!0===ue["@protected"]||!0===x.get("@protected")&&!1!==ue["@protected"])&&(D.protected[Z]=!0,Re.protected=!0),x.set(Z,!0),"@type"in ue){let Fe=ue["@type"];if(!B(Fe))throw new U("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:P});if("@json"===Fe||"@none"===Fe){if(E.processingMode(D,1))throw new U(`Invalid JSON-LD syntax; an @context @type value must not be "${Fe}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:P})}else if("@id"!==Fe&&"@vocab"!==Fe){if(Fe=O(D,Fe,{vocab:!0,base:!1},P,x,W),!C(Fe))throw new U("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:P});if(0===Fe.indexOf("_:"))throw new U("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:P})}Re["@type"]=Fe}if("@container"in ue){const Fe=B(ue["@container"])?[ue["@container"]]:ue["@container"]||[],Ze=["@list","@set","@index","@language"];let Ge=!0;const J=Fe.includes("@set");if(E.processingMode(D,1.1)){if(Ze.push("@graph","@id","@type"),Fe.includes("@list")){if(1!==Fe.length)throw new U("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:P})}else if(Fe.includes("@graph")){if(Fe.some(le=>"@graph"!==le&&"@id"!==le&&"@index"!==le&&"@set"!==le))throw new U("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:P})}else Ge&=Fe.length<=(J?2:1);if(Fe.includes("@type")&&(Re["@type"]=Re["@type"]||"@id",!["@id","@vocab"].includes(Re["@type"])))throw new U("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:P})}else Ge&=!F(ue["@container"]),Ge&=Fe.length<=1;if(Ge&=Fe.every(le=>Ze.includes(le)),Ge&=!(J&&Fe.includes("@list")),!Ge)throw new U("Invalid JSON-LD syntax; @context @container value must be one of the following: "+Ze.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:P});if(Re.reverse&&!Fe.every(le=>["@index","@set"].includes(le)))throw new U("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:P});Re["@container"]=Fe}if("@index"in ue){if(!("@container"in ue)||!Re["@container"].includes("@index"))throw new U(`Invalid JSON-LD syntax; @index without @index in @container: "${ue["@index"]}" on term "${Z}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:P});if(!B(ue["@index"])||0===ue["@index"].indexOf("@"))throw new U(`Invalid JSON-LD syntax; @index must expand to an IRI: "${ue["@index"]}" on term "${Z}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:P});Re["@index"]=ue["@index"]}if("@context"in ue&&(Re["@context"]=ue["@context"]),"@language"in ue&&!("@type"in ue)){let Fe=ue["@language"];if(null!==Fe&&!B(Fe))throw new U("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:P});null!==Fe&&(Fe=Fe.toLowerCase()),Re["@language"]=Fe}if("@prefix"in ue){if(Z.match(/:|\//))throw new U("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:P});if(E.isKeyword(Re["@id"]))throw new U("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:P});if("boolean"!=typeof ue["@prefix"])throw new U("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:P});Re._prefix=!0===ue["@prefix"]}if("@direction"in ue){const Fe=ue["@direction"];if(null!==Fe&&"ltr"!==Fe&&"rtl"!==Fe)throw new U('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:P});Re["@direction"]=Fe}if("@nest"in ue){const Fe=ue["@nest"];if(!B(Fe)||"@nest"!==Fe&&0===Fe.indexOf("@"))throw new U("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:P});Re["@nest"]=Fe}const ve=Re["@id"];if("@context"===ve||"@preserve"===ve)throw new U("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:P});if(se&&se.protected&&!ne&&(D.protected[Z]=!0,Re.protected=!0,!$(se,Re))){const Fe=W&&W.protectedMode||"error";if("error"===Fe)throw new U(`Invalid JSON-LD syntax; tried to redefine "${Z}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:P,term:Z});if("warn"===Fe)return void console.warn("WARNING: protected term redefinition",{term:Z});throw new U("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:P,term:Z,protectedMode:Fe})}},E.expandIri=(D,P,Z,x)=>O(D,P,Z,void 0,void 0,x),E.getInitialContext=D=>{const P=JSON.stringify({processingMode:D.processingMode}),Z=b.get(P);if(Z)return Z;const x={processingMode:D.processingMode,mappings:new Map,inverse:null,getInverse:function(){const Re=this;if(Re.inverse)return Re.inverse;const be=Re.inverse={},re=Re.fastCurieMap={},ve={},Fe=(Re["@language"]||"@none").toLowerCase(),Ze=Re["@direction"],Ge=Re.mappings,J=[...Ge.keys()].sort(v);for(const le of J){const _e=Ge.get(le);if(null===_e)continue;let Me=_e["@container"]||"@none";if(Me=[].concat(Me).sort().join(""),null===_e["@id"])continue;const Ce=y(_e["@id"]);for(const $e of Ce){let Se=be[$e];const ze=E.isKeyword($e);if(Se)!ze&&!_e._termHasColon&&ve[$e].push(le);else if(be[$e]=Se={},!ze&&!_e._termHasColon){ve[$e]=[le];const Ke={iri:$e,terms:ve[$e]};$e[0]in re?re[$e[0]].push(Ke):re[$e[0]]=[Ke]}if(Se[Me]||(Se[Me]={"@language":{},"@type":{},"@any":{}}),Se=Se[Me],ue(le,Se["@any"],"@none"),_e.reverse)ue(le,Se["@type"],"@reverse");else if("@none"===_e["@type"])ue(le,Se["@any"],"@none"),ue(le,Se["@language"],"@none"),ue(le,Se["@type"],"@none");else if("@type"in _e)ue(le,Se["@type"],_e["@type"]);else if("@language"in _e&&"@direction"in _e){const Ke=_e["@language"],Ve=_e["@direction"];ue(le,Se["@language"],Ke&&Ve?`${Ke}_${Ve}`.toLowerCase():Ke?Ke.toLowerCase():Ve?`_${Ve}`:"@null")}else"@language"in _e?ue(le,Se["@language"],(_e["@language"]||"@null").toLowerCase()):"@direction"in _e?ue(le,Se["@language"],_e["@direction"]?`_${_e["@direction"]}`:"@none"):Ze?(ue(le,Se["@language"],`_${Ze}`),ue(le,Se["@language"],"@none"),ue(le,Se["@type"],"@none")):(ue(le,Se["@language"],Fe),ue(le,Se["@language"],"@none"),ue(le,Se["@type"],"@none"))}}for(const le in re)ne(re,le,1);return be},clone:function(){const Re={};return Re.mappings=X.clone(this.mappings),Re.clone=this.clone,Re.inverse=null,Re.getInverse=this.getInverse,Re.protected=X.clone(this.protected),this.previousContext&&(Re.previousContext=this.previousContext.clone()),Re.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(Re["@base"]=this["@base"]),"@language"in this&&(Re["@language"]=this["@language"]),"@vocab"in this&&(Re["@vocab"]=this["@vocab"]),Re},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===b.size&&b.clear(),b.set(P,x),x;function ne(Re,be,re){const ve=Re[be],Fe=Re[be]={};let Ze,Ge;for(const J of ve)Ze=J.iri,Ge=re>=Ze.length?"":Ze[re],Ge in Fe?Fe[Ge].push(J):Fe[Ge]=[J];for(const J in Fe)""!==J&&ne(Fe,J,re+1)}function ue(Re,be,re){be.hasOwnProperty(re)||(be[re]=Re)}},E.getContextValue=(D,P,Z)=>{if(null===P)return"@context"===Z?void 0:null;if(D.mappings.has(P)){const x=D.mappings.get(P);if(w(Z))return x;if(x.hasOwnProperty(Z))return x[Z]}return"@language"===Z&&Z in D||"@direction"===Z&&Z in D?D[Z]:"@context"!==Z?null:void 0},E.processingMode=(D,P)=>P.toString()>="1.1"?!D.processingMode||D.processingMode>="json-ld-"+P.toString():"json-ld-1.0"===D.processingMode,E.isKeyword=D=>{if(!B(D)||"@"!==D[0])return!1;switch(D){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(Q,Ee,pe){"use strict";const{parseLinkHeader:X,buildHeaders:U}=Q("../util"),{LINK_HEADER_CONTEXT:F}=Q("../constants"),Y=Q("../JsonLdError"),B=Q("../RequestQueue"),{prependBase:w}=Q("../url"),C=/(^|(\r\n))link:/i;function R(M,y,v){const b=new(M=M||XMLHttpRequest);return new Promise((S,T)=>{b.onload=()=>S(b),b.onerror=E=>T(E),b.open("GET",y,!0);for(const E in v)b.setRequestHeader(E,v[E]);b.send()})}Ee.exports=({secure:M,headers:y={},xhr:v}={headers:{}})=>{return y=U(y),(new B).wrapLoader(S);function S(E){return T.apply(this,arguments)}function T(){return(T=lt(function*(E){if(0!==E.indexOf("http:")&&0!==E.indexOf("https:"))throw new Y('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:E});if(M&&0!==E.indexOf("https"))throw new Y('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:E});let O;try{O=yield R(v,E,y)}catch(x){throw new Y("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:E,cause:x})}if(O.status>=400)throw new Y("URL could not be dereferenced: "+O.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:E,httpStatusCode:O.status});let $={contextUrl:null,documentUrl:E,document:O.response},D=null;const P=O.getResponseHeader("Content-Type");let Z;if(C.test(O.getAllResponseHeaders())&&(Z=O.getResponseHeader("Link")),Z&&"application/ld+json"!==P){const x=X(Z),W=x[F];if(Array.isArray(W))throw new Y("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:E});W&&($.contextUrl=W.target),D=x.alternate,D&&"application/ld+json"==D.type&&!(P||"").match(/^application\/(\w*\+)?json$/)&&($=yield S(w(E,D.target)))}return $})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(Q,Ee,pe){"use strict";const X=Q("./JsonLdError"),{isArray:U,isObject:F,isEmptyObject:Y,isString:B,isUndefined:w}=Q("./types"),{isList:C,isValue:R,isGraph:M,isSubject:y}=Q("./graphTypes"),{expandIri:v,getContextValue:b,isKeyword:S,process:T,processingMode:E}=Q("./context"),{isAbsolute:O}=Q("./url"),{addValue:$,asArray:D,getValues:P,validateTypeValue:Z}=Q("./util"),x={};Ee.exports=x;const W=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function ne(re){return ue.apply(this,arguments)}function ue(){return(ue=lt(function*({activeCtx:re,activeProperty:ve,expandedActiveProperty:Fe,element:Ze,expandedParent:Ge,options:J={},insideList:le,typeKey:_e,typeScopedContext:Me,expansionMap:Ce}){const $e=Object.keys(Ze).sort(),Se=[];let ze;const Ke=Ze[_e]&&"@json"===v(re,U(Ze[_e])?Ze[_e][0]:Ze[_e],{vocab:!0},J);for(const Ve of $e){let q,K=Ze[Ve];if("@context"===Ve)continue;let ge=v(re,Ve,{vocab:!0},J);if((null===ge||!O(ge)&&!S(ge))&&(ge=Ce({unmappedProperty:Ve,activeCtx:re,activeProperty:ve,parent:Ze,options:J,insideList:le,value:K,expandedParent:Ge}),void 0===ge))continue;if(S(ge)){if("@reverse"===Fe)throw new X("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:K});if(ge in Ge&&"@included"!==ge&&"@type"!==ge)throw new X("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:ge})}if("@id"===ge){if(!B(K)){if(!J.isFrame)throw new X('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:K});if(F(K)){if(!Y(K))throw new X('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:K})}else{if(!U(K))throw new X('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:K});if(!K.every(gt=>B(gt)))throw new X('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:K})}}$(Ge,"@id",D(K).map(gt=>B(gt)?v(re,gt,{base:!0},J):gt),{propertyIsArray:J.isFrame});continue}if("@type"===ge){F(K)&&(K=Object.fromEntries(Object.entries(K).map(([gt,Ae])=>[v(Me,gt,{vocab:!0}),D(Ae).map(z=>v(Me,z,{base:!0,vocab:!0}))]))),Z(K,J.isFrame),$(Ge,"@type",D(K).map(gt=>B(gt)?v(Me,gt,{base:!0,vocab:!0},J):gt),{propertyIsArray:J.isFrame});continue}if("@included"===ge&&E(re,1.1)){const gt=D(yield x.expand({activeCtx:re,activeProperty:ve,element:K,options:J,expansionMap:Ce}));if(!gt.every(Ae=>y(Ae)))throw new X("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:K});$(Ge,"@included",gt,{propertyIsArray:!0});continue}if("@graph"===ge&&!F(K)&&!U(K))throw new X('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:K});if("@value"===ge){ze=K,Ke&&E(re,1.1)?Ge["@value"]=K:$(Ge,"@value",K,{propertyIsArray:J.isFrame});continue}if("@language"===ge){if(null===K)continue;if(!B(K)&&!J.isFrame)throw new X('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:K});K=D(K).map(gt=>B(gt)?gt.toLowerCase():gt);for(const gt of K)B(gt)&&!gt.match(W)&&console.warn(`@language must be valid BCP47: ${gt}`);$(Ge,"@language",K,{propertyIsArray:J.isFrame});continue}if("@direction"===ge){if(!B(K)&&!J.isFrame)throw new X('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:K});K=D(K);for(const gt of K)if(B(gt)&&"ltr"!==gt&&"rtl"!==gt)throw new X('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:K});$(Ge,"@direction",K,{propertyIsArray:J.isFrame});continue}if("@index"===ge){if(!B(K))throw new X('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:K});$(Ge,"@index",K);continue}if("@reverse"===ge){if(!F(K))throw new X('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:K});if(q=yield x.expand({activeCtx:re,activeProperty:"@reverse",element:K,options:J,expansionMap:Ce}),"@reverse"in q)for(const Ae in q["@reverse"])$(Ge,Ae,q["@reverse"][Ae],{propertyIsArray:!0});let gt=Ge["@reverse"]||null;for(const Ae in q){if("@reverse"===Ae)continue;null===gt&&(gt=Ge["@reverse"]={}),$(gt,Ae,[],{propertyIsArray:!0});const z=q[Ae];for(let L=0;L"@id"===gt||"@index"===gt)&&(q=D(q).map(gt=>({"@graph":D(gt)}))),ce.mappings.has(Ve)&&ce.mappings.get(Ve).reverse){const gt=Ge["@reverse"]=Ge["@reverse"]||{};q=D(q);for(let Ae=0;Ae"@value"===v(re,ge,{vocab:!0},J)))throw new X("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:q});yield ne({activeCtx:re,activeProperty:ve,expandedActiveProperty:Fe,element:q,expandedParent:Ge,options:J,insideList:le,typeScopedContext:Me,typeKey:_e,expansionMap:Ce})}}})).apply(this,arguments)}function se({activeCtx:re,activeProperty:ve,value:Fe,options:Ze}){if(null==Fe)return null;const Ge=v(re,ve,{vocab:!0},Ze);if("@id"===Ge)return v(re,Fe,{base:!0},Ze);if("@type"===Ge)return v(re,Fe,{vocab:!0,base:!0},Ze);const J=b(re,ve,"@type");if(("@id"===J||"@graph"===Ge)&&B(Fe))return{"@id":v(re,Fe,{base:!0},Ze)};if("@vocab"===J&&B(Fe))return{"@id":v(re,Fe,{vocab:!0,base:!0},Ze)};if(S(Ge))return Fe;const le={};if(J&&!["@id","@vocab","@none"].includes(J))le["@type"]=J;else if(B(Fe)){const _e=b(re,ve,"@language");null!==_e&&(le["@language"]=_e);const Me=b(re,ve,"@direction");null!==Me&&(le["@direction"]=Me)}return["boolean","number","string"].includes(typeof Fe)||(Fe=Fe.toString()),le["@value"]=Fe,le}function te(re,ve,Fe,Ze){const Ge=[],J=Object.keys(ve).sort();for(const le of J){const _e=v(re,le,{vocab:!0},Ze);let Me=ve[le];U(Me)||(Me=[Me]);for(const Ce of Me){if(null===Ce)continue;if(!B(Ce))throw new X("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:ve});const $e={"@value":Ce};"@none"!==_e&&($e["@language"]=le.toLowerCase()),Fe&&($e["@direction"]=Fe),Ge.push($e)}}return Ge}function Re(re){return be.apply(this,arguments)}function be(){return(be=lt(function*({activeCtx:re,options:ve,activeProperty:Fe,value:Ze,expansionMap:Ge,asGraph:J,indexKey:le,propertyIndex:_e}){const Me=[],Ce=Object.keys(Ze).sort(),$e="@type"===le;for(let Se of Ce){if($e){const Ve=b(re,Se,"@context");w(Ve)||(re=yield T({activeCtx:re,localCtx:Ve,propagate:!1,options:ve}))}let Ke,ze=Ze[Se];U(ze)||(ze=[ze]),ze=yield x.expand({activeCtx:re,activeProperty:Fe,element:ze,options:ve,insideList:!1,insideIndex:!0,expansionMap:Ge}),Ke=_e?"@none"===Se?"@none":se({activeCtx:re,activeProperty:le,value:Se,options:ve}):v(re,Se,{vocab:!0},ve),"@id"===le?Se=v(re,Se,{base:!0},ve):$e&&(Se=Ke);for(let Ve of ze){if(J&&!M(Ve)&&(Ve={"@graph":[Ve]}),"@type"===le)"@none"===Ke||(Ve["@type"]=Ve["@type"]?[Se].concat(Ve["@type"]):[Se]);else{if(R(Ve)&&!["@language","@type","@index"].includes(le))throw new X(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${le}".`,"jsonld.SyntaxError",{code:"invalid value object",value:Ve});_e?"@none"!==Ke&&$(Ve,_e,Ke,{propertyIsArray:!0,prependValue:!0}):"@none"!==Ke&&!(le in Ve)&&(Ve[le]=Se)}Me.push(Ve)}}return Me})).apply(this,arguments)}x.expand=function(){var re=lt(function*({activeCtx:ve,activeProperty:Fe=null,element:Ze,options:Ge={},insideList:J=!1,insideIndex:le=!1,typeScopedContext:_e=null,expansionMap:Me=(()=>{})}){if(null==Ze)return null;if("@default"===Fe&&(Ge=Object.assign({},Ge,{isFrame:!1})),!U(Ze)&&!F(Ze)){if(!J&&(null===Fe||"@graph"===v(ve,Fe,{vocab:!0},Ge))){const q=yield Me({unmappedValue:Ze,activeCtx:ve,activeProperty:Fe,options:Ge,insideList:J});return void 0===q?null:q}return se({activeCtx:ve,activeProperty:Fe,value:Ze,options:Ge})}if(U(Ze)){let q=[];const ge=b(ve,Fe,"@container")||[];J=J||ge.includes("@list");for(let ce=0;ce1?ce.slice().sort():ce:[ce];for(const _t of Ye){const gt=b(_e,_t,"@context");w(gt)||(ve=yield T({activeCtx:ve,localCtx:gt,options:Ge,propagate:!1}))}}let Ve={};yield ne({activeCtx:ve,activeProperty:Fe,expandedActiveProperty:Ce,element:Ze,expandedParent:Ve,options:Ge,insideList:J,typeKey:Ke,typeScopedContext:_e,expansionMap:Me}),Se=Object.keys(Ve);let K=Se.length;if("@value"in Ve){if("@type"in Ve&&("@language"in Ve||"@direction"in Ve))throw new X('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Ve});let q=K-1;if("@type"in Ve&&(q-=1),"@index"in Ve&&(q-=1),"@language"in Ve&&(q-=1),"@direction"in Ve&&(q-=1),0!==q)throw new X('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:Ve});const ge=null===Ve["@value"]?[]:D(Ve["@value"]),ce=P(Ve,"@type");if(!E(ve,1.1)||!ce.includes("@json")||1!==ce.length)if(0===ge.length){const Ye=yield Me({unmappedValue:Ve,activeCtx:ve,activeProperty:Fe,element:Ze,options:Ge,insideList:J});Ve=void 0!==Ye?Ye:null}else{if(!ge.every(Ye=>B(Ye)||Y(Ye))&&"@language"in Ve)throw new X("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:Ve});if(!ce.every(Ye=>O(Ye)&&!(B(Ye)&&0===Ye.indexOf("_:"))||Y(Ye)))throw new X('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:Ve})}}else if("@type"in Ve&&!U(Ve["@type"]))Ve["@type"]=[Ve["@type"]];else if("@set"in Ve||"@list"in Ve){if(K>1&&(2!==K||!("@index"in Ve)))throw new X('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:Ve});"@set"in Ve&&(Ve=Ve["@set"],Se=Object.keys(Ve),K=Se.length)}else if(1===K&&"@language"in Ve){const q=yield Me(Ve,{unmappedValue:Ve,activeCtx:ve,activeProperty:Fe,element:Ze,options:Ge,insideList:J});Ve=void 0!==q?q:null}if(F(Ve)&&!Ge.keepFreeFloatingNodes&&!J&&(null===Fe||"@graph"===Ce)&&(0===K||"@value"in Ve||"@list"in Ve||1===K&&"@id"in Ve)){const q=yield Me({unmappedValue:Ve,activeCtx:ve,activeProperty:Fe,element:Ze,options:Ge,insideList:J});Ve=void 0!==q?q:null}return Ve});return function(ve){return re.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(Q,Ee,pe){"use strict";const{isSubjectReference:X}=Q("./graphTypes"),{createMergedNodeMap:U}=Q("./nodeMap"),F={};Ee.exports=F,F.flatten=Y=>{const B=U(Y),w=[],C=Object.keys(B).sort();for(let R=0;R=0;--ue){const se=ne[ue];if(se.graph===W&&se.subject["@id"]===x["@id"])return!0}return!1}function b(x,W,ne){const ue="@"+ne;let se=ue in x?x[ue][0]:W[ne];if("embed"===ne)if(!0===se)se="@once";else if(!1===se)se="@never";else if("@always"!==se&&"@never"!==se&&"@link"!==se&&"@first"!==se&&"@last"!==se&&"@once"!==se)throw new w("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:x});return se}function S(x){if(!F.isArray(x)||1!==x.length||!F.isObject(x[0]))throw new w("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:x});if("@id"in x[0])for(const W of Y.asArray(x[0]["@id"]))if(!F.isObject(W)&&!B.isAbsolute(W)||F.isString(W)&&0===W.indexOf("_:"))throw new w("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:x});if("@type"in x[0])for(const W of Y.asArray(x[0]["@type"]))if(!F.isObject(W)&&!B.isAbsolute(W)||F.isString(W)&&0===W.indexOf("_:"))throw new w("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:x})}function E(x,W,ne,ue){let se=!0,te=!1;for(const Re in ne){let be=!1;const re=Y.getValues(W,Re),ve=0===Y.getValues(ne,Re).length;if("@id"===Re){if(F.isEmptyObject(ne["@id"][0]||{})?be=!0:ne["@id"].length>=0&&(be=ne["@id"].includes(re[0])),!ue.requireAll)return be}else if("@type"===Re){if(se=!1,ve){if(re.length>0)return!1;be=!0}else if(1===ne["@type"].length&&F.isEmptyObject(ne["@type"][0]))be=re.length>0;else for(const Fe of ne["@type"])be=!(!F.isObject(Fe)||!("@default"in Fe))||be||re.some(Ze=>Ze===Fe);if(!ue.requireAll)return be}else{if(X(Re))continue;{const Fe=Y.getValues(ne,Re)[0];let Ze=!1;if(Fe&&(S([Fe]),Ze="@default"in Fe),se=!1,0===re.length&&Ze)continue;if(re.length>0&&ve)return!1;if(void 0===Fe){if(re.length>0)return!1;be=!0}else if(U.isList(Fe)){const Ge=Fe["@list"][0];if(U.isList(re[0])){const J=re[0]["@list"];U.isValue(Ge)?be=J.some(le=>Z(Ge,le)):(U.isSubject(Ge)||U.isSubjectReference(Ge))&&(be=J.some(le=>P(x,Ge,le,ue)))}}else be=U.isValue(Fe)?re.some(Ge=>Z(Fe,Ge)):U.isSubjectReference(Fe)?re.some(Ge=>P(x,Fe,Ge,ue)):!!F.isObject(Fe)&&re.length>0}}if(!be&&ue.requireAll)return!1;te=te||be}return se||te}function O(x,W){const ne=x.uniqueEmbeds[x.graph],ue=ne[W],se=ue.parent,te=ue.property,Re={"@id":W};if(F.isArray(se)){for(let re=0;re{const ve=Object.keys(ne);for(const Fe of ve)Fe in ne&&F.isObject(ne[Fe].parent)&&ne[Fe].parent["@id"]===re&&(delete ne[Fe],be(Fe))};be(W)}function $(x,W){if(F.isArray(x))return x.map(ne=>$(ne,W));if(F.isObject(x)){if("@preserve"in x)return x["@preserve"][0];if(U.isValue(x))return x;if(U.isList(x))return x["@list"]=$(x["@list"],W),x;if("@id"in x){const ne=x["@id"];if(W.link.hasOwnProperty(ne)){const ue=W.link[ne].indexOf(x);if(-1!==ue)return W.link[ne][ue];W.link[ne].push(x)}else W.link[ne]=[x]}for(const ne in x)"@id"===ne&&W.bnodesToClear.includes(x[ne])?delete x["@id"]:x[ne]=$(x[ne],W)}return x}function D(x,W,ne){F.isObject(x)?Y.addValue(x,W,ne,{propertyIsArray:!0}):x.push(ne)}function P(x,W,ne,ue){if(!("@id"in ne))return!1;const se=x.subjects[ne["@id"]];return se&&E(x,se,W,ue)}function Z(x,W){const ne=W["@value"],ue=W["@type"],se=W["@language"],te=x["@value"]?F.isArray(x["@value"])?x["@value"]:[x["@value"]]:[],Re=x["@type"]?F.isArray(x["@type"])?x["@type"]:[x["@type"]]:[],be=x["@language"]?F.isArray(x["@language"])?x["@language"]:[x["@language"]]:[];return 0===te.length&&0===Re.length&&0===be.length||!(!te.includes(ne)&&!F.isEmptyObject(te[0])||!(!ue&&0===Re.length||Re.includes(ue)||ue&&F.isEmptyObject(Re[0]))||!(!se&&0===be.length||be.includes(se)||se&&F.isEmptyObject(be[0])))}Ee.exports=M,M.frameMergedOrDefault=(x,W,ne)=>{const ue={options:ne,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},se=new Y.IdentifierIssuer("_:b");C(x,ue.graphMap,"@default",se),ne.merged&&(ue.graphMap["@merged"]=R(ue.graphMap),ue.graph="@merged"),ue.subjects=ue.graphMap[ue.graph];const te=[];return M.frame(ue,Object.keys(ue.subjects).sort(),W,te),ne.pruneBlankNodeIdentifiers&&(ne.bnodesToClear=Object.keys(ue.bnodeMap).filter(Re=>1===ue.bnodeMap[Re].length)),ne.link={},$(te,ne)},M.frame=(x,W,ne,ue,se=null)=>{S(ne);const te=x.options,Re={embed:b(ne=ne[0],te,"embed"),explicit:b(ne,te,"explicit"),requireAll:b(ne,te,"requireAll")};x.link.hasOwnProperty(x.graph)||(x.link[x.graph]={});const be=x.link[x.graph],re=function(x,W,ne,ue){const se={};for(const te of W){const Re=x.graphMap[x.graph][te];E(x,Re,ne,ue)&&(se[te]=Re)}return se}(x,W,ne,Re),ve=Object.keys(re).sort();for(const Fe of ve){const Ze=re[Fe];if(null===se?x.uniqueEmbeds={[x.graph]:{}}:x.uniqueEmbeds[x.graph]=x.uniqueEmbeds[x.graph]||{},"@link"===Re.embed&&Fe in be){D(ue,se,be[Fe]);continue}const Ge={"@id":Fe};if(0===Fe.indexOf("_:")&&Y.addValue(x.bnodeMap,Fe,Ge,{propertyIsArray:!0}),be[Fe]=Ge,("@first"===Re.embed||"@last"===Re.embed)&&x.is11)throw new w("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:ne});if(x.embedded||!x.uniqueEmbeds[x.graph].hasOwnProperty(Fe)){if(x.embedded&&("@never"===Re.embed||v(Ze,x.graph,x.subjectStack))){D(ue,se,Ge);continue}if(x.embedded&&("@first"==Re.embed||"@once"==Re.embed)&&x.uniqueEmbeds[x.graph].hasOwnProperty(Fe)){D(ue,se,Ge);continue}if("@last"===Re.embed&&Fe in x.uniqueEmbeds[x.graph]&&O(x,Fe),x.uniqueEmbeds[x.graph][Fe]={parent:ue,property:se},x.subjectStack.push({subject:Ze,graph:x.graph}),Fe in x.graphMap){let J=!1,le=null;"@graph"in ne?(le=ne["@graph"][0],J=!("@merged"===Fe||"@default"===Fe),F.isObject(le)||(le={})):(J="@merged"!==x.graph,le={}),J&&M.frame(Sn(at({},x),{graph:Fe,embedded:!1}),Object.keys(x.graphMap[Fe]).sort(),[le],Ge,"@graph")}"@included"in ne&&M.frame(Sn(at({},x),{embedded:!1}),W,ne["@included"],Ge,"@included");for(const J of Object.keys(Ze).sort())if(X(J)){if(Ge[J]=Y.clone(Ze[J]),"@type"===J)for(const le of Ze["@type"])0===le.indexOf("_:")&&Y.addValue(x.bnodeMap,le,Ge,{propertyIsArray:!0})}else if(!Re.explicit||J in ne)for(const le of Ze[J]){const _e=J in ne?ne[J]:y(Re);if(U.isList(le)){const Me=ne[J]&&ne[J][0]&&ne[J][0]["@list"]?ne[J][0]["@list"]:y(Re),Ce={"@list":[]};D(Ge,J,Ce);const $e=le["@list"];for(const Se of $e)U.isSubjectReference(Se)?M.frame(Sn(at({},x),{embedded:!0}),[Se["@id"]],Me,Ce,"@list"):D(Ce,"@list",Y.clone(Se))}else U.isSubjectReference(le)?M.frame(Sn(at({},x),{embedded:!0}),[le["@id"]],_e,Ge,J):Z(_e[0],le)&&D(Ge,J,Y.clone(le))}for(const J of Object.keys(ne).sort()){if("@type"===J){if(!F.isObject(ne[J][0])||!("@default"in ne[J][0]))continue}else if(X(J))continue;const le=ne[J][0]||{};if(!b(le,te,"omitDefault")&&!(J in Ge)){let Me="@null";"@default"in le&&(Me=Y.clone(le["@default"])),F.isArray(Me)||(Me=[Me]),Ge[J]=[{"@preserve":Me}]}}for(const J of Object.keys(ne["@reverse"]||{}).sort()){const le=ne["@reverse"][J];for(const _e of Object.keys(x.subjects))Y.getValues(x.subjects[_e],J).some(Ce=>Ce["@id"]===Fe)&&(Ge["@reverse"]=Ge["@reverse"]||{},Y.addValue(Ge["@reverse"],J,[],{propertyIsArray:!0}),M.frame(Sn(at({},x),{embedded:!0}),[_e],le,Ge["@reverse"][J],se))}D(ue,se,Ge),x.subjectStack.pop()}}},M.cleanupNull=(x,W)=>{if(F.isArray(x))return x.map(ue=>M.cleanupNull(ue,W)).filter(ue=>ue);if("@null"===x)return null;if(F.isObject(x)){if("@id"in x){const ne=x["@id"];if(W.link.hasOwnProperty(ne)){const ue=W.link[ne].indexOf(x);if(-1!==ue)return W.link[ne][ue];W.link[ne].push(x)}else W.link[ne]=[x]}for(const ne in x)x[ne]=M.cleanupNull(x[ne],W)}return x}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(Q,Ee,pe){"use strict";const X=Q("./JsonLdError"),U=Q("./graphTypes"),F=Q("./types"),Y=Q("./util"),{RDF_LIST:B,RDF_FIRST:w,RDF_REST:C,RDF_NIL:R,RDF_TYPE:M,RDF_JSON_LITERAL:y,XSD_BOOLEAN:v,XSD_DOUBLE:b,XSD_INTEGER:S,XSD_STRING:T}=Q("./constants"),E=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,O={};function $(D,P,Z){if(D.termType.endsWith("Node"))return{"@id":D.value};const x={"@value":D.value};if(D.language)x["@language"]=D.language;else{let W=D.datatype.value;if(W||(W=T),W===y){W="@json";try{x["@value"]=JSON.parse(x["@value"])}catch(ne){throw new X("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:x["@value"],cause:ne})}}if(P){if(W===v)"true"===x["@value"]?x["@value"]=!0:"false"===x["@value"]&&(x["@value"]=!1);else if(F.isNumeric(x["@value"]))if(W===S){const ne=parseInt(x["@value"],10);ne.toFixed(0)===x["@value"]&&(x["@value"]=ne)}else W===b&&(x["@value"]=parseFloat(x["@value"]));[v,S,b,T].includes(W)||(x["@type"]=W)}else if("i18n-datatype"===Z&&W.startsWith("https://www.w3.org/ns/i18n#")){const[,ne,ue]=W.split(/[#_]/);ne.length>0&&(x["@language"]=ne,ne.match(E)||console.warn(`@language must be valid BCP47: ${ne}`)),x["@direction"]=ue}else W!==T&&(x["@type"]=W)}return x}Ee.exports=O,O.fromRDF=function(){var D=lt(function*(P,{useRdfType:Z=!1,useNativeTypes:x=!1,rdfDirection:W=null}){const ne={},ue={"@default":ne},se={};for(const be of P){const re="DefaultGraph"===be.graph.termType?"@default":be.graph.value;re in ue||(ue[re]={}),"@default"!==re&&!(re in ne)&&(ne[re]={"@id":re});const ve=ue[re],Fe=be.subject.value,Ze=be.predicate.value,Ge=be.object;Fe in ve||(ve[Fe]={"@id":Fe});const J=ve[Fe],le=Ge.termType.endsWith("Node");if(le&&!(Ge.value in ve)&&(ve[Ge.value]={"@id":Ge.value}),Ze===M&&!Z&&le){Y.addValue(J,"@type",Ge.value,{propertyIsArray:!0});continue}const _e=$(Ge,x,W);if(Y.addValue(J,Ze,_e,{propertyIsArray:!0}),le)if(Ge.value===R){const Me=ve[Ge.value];"usages"in Me||(Me.usages=[]),Me.usages.push({node:J,property:Ze,value:_e})}else se[Ge.value]=!(Ge.value in se)&&{node:J,property:Ze,value:_e}}for(const be in ue){const re=ue[be];if(!(R in re))continue;const ve=re[R];if(ve.usages){for(let Fe of ve.usages){let Ze=Fe.node,Ge=Fe.property,J=Fe.value;const le=[],_e=[];let Me=Object.keys(Ze).length;for(;Ge===C&&F.isObject(se[Ze["@id"]])&&F.isArray(Ze[w])&&1===Ze[w].length&&F.isArray(Ze[C])&&1===Ze[C].length&&(3===Me||4===Me&&F.isArray(Ze["@type"])&&1===Ze["@type"].length&&Ze["@type"][0]===B)&&(le.push(Ze[w][0]),_e.push(Ze["@id"]),Fe=se[Ze["@id"]],Ze=Fe.node,Ge=Fe.property,J=Fe.value,Me=Object.keys(Ze).length,U.isBlankNode(Ze)););delete J["@id"],J["@list"]=le.reverse();for(const Ce of _e)delete re[Ce]}delete ve.usages}}const te=[],Re=Object.keys(ne).sort();for(const be of Re){const re=ne[be];if(be in ue){const ve=re["@graph"]=[],Fe=ue[be],Ze=Object.keys(Fe).sort();for(const Ge of Ze){const J=Fe[Ge];U.isSubjectReference(J)||ve.push(J)}}U.isSubjectReference(re)||te.push(re)}return te});return function(P,Z){return D.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(Q,Ee,pe){"use strict";const X=Q("./types"),U={};Ee.exports=U,U.isSubject=F=>!(!X.isObject(F)||"@value"in F||"@set"in F||"@list"in F)&&(Object.keys(F).length>1||!("@id"in F)),U.isSubjectReference=F=>X.isObject(F)&&1===Object.keys(F).length&&"@id"in F,U.isValue=F=>X.isObject(F)&&"@value"in F,U.isList=F=>X.isObject(F)&&"@list"in F,U.isGraph=F=>X.isObject(F)&&"@graph"in F&&1===Object.keys(F).filter(Y=>"@id"!==Y&&"@index"!==Y).length,U.isSimpleGraph=F=>U.isGraph(F)&&!("@id"in F),U.isBlankNode=F=>!!X.isObject(F)&&("@id"in F?0===F["@id"].indexOf("_:"):0===Object.keys(F).length||!("@value"in F||"@set"in F||"@list"in F))},{"./types":30}],26:[function(Q,Ee,pe){const X=Q("rdf-canonize"),U=Q("./platform"),F=Q("./util"),Y=Q("./ContextResolver"),B=F.IdentifierIssuer,w=Q("./JsonLdError"),C=Q("lru-cache"),R=Q("./NQuads"),{expand:M}=Q("./expand"),{flatten:y}=Q("./flatten"),{fromRDF:v}=Q("./fromRdf"),{toRDF:b}=Q("./toRdf"),{frameMergedOrDefault:S,cleanupNull:T}=Q("./frame"),{isArray:E,isObject:O,isString:$}=Q("./types"),{isSubjectReference:D}=Q("./graphTypes"),{expandIri:P,getInitialContext:Z,process:x,processingMode:W}=Q("./context"),{compact:ne,compactIri:ue}=Q("./compact"),{createNodeMap:se,createMergedNodeMap:te,mergeNodeMaps:Re}=Q("./nodeMap"),be=function(ve){const Fe={},Ge=new C({max:100});function J(le,Ce){var $e=Ce,{documentLoader:_e=ve.documentLoader}=$e,Me=Pq($e,["documentLoader"]);return Object.assign({},{documentLoader:_e},Me,le)}return ve.compact=function(){var le=lt(function*(_e,Me,Ce){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===Me)throw new w("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===_e)return null;let $e;(Ce=J(Ce,{base:$(_e)?_e:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new B("_:b"),contextResolver:new Y({sharedCache:Ge})})).link&&(Ce.skipExpansion=!0),Ce.compactToRelative||delete Ce.base,$e=Ce.skipExpansion?_e:yield ve.expand(_e,Ce);const Se=yield ve.processContext(Z(Ce),Me,Ce);let ze=yield ne({activeCtx:Se,element:$e,options:Ce,compactionMap:Ce.compactionMap});Ce.compactArrays&&!Ce.graph&&E(ze)?1===ze.length?ze=ze[0]:0===ze.length&&(ze={}):Ce.graph&&O(ze)&&(ze=[ze]),O(Me)&&"@context"in Me&&(Me=Me["@context"]),Me=F.clone(Me),E(Me)||(Me=[Me]);const Ke=Me;Me=[];for(let K=0;K0)&&Me.push(Ke[K]);const Ve=Me.length>0;if(1===Me.length&&(Me=Me[0]),E(ze)){const K=ue({activeCtx:Se,iri:"@graph",relativeTo:{vocab:!0}}),q=ze;ze={},Ve&&(ze["@context"]=Me),ze[K]=q}else if(O(ze)&&Ve){const K=ze;ze={"@context":Me};for(const q in K)ze[q]=K[q]}return ze});return function(_e,Me,Ce){return le.apply(this,arguments)}}(),ve.expand=function(){var le=lt(function*(_e,Me){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(Me=J(Me,{keepFreeFloatingNodes:!1,contextResolver:new Y({sharedCache:Ge})})).expansionMap&&(Me.expansionMap=void 0);const Ce={},$e=[];if("expandContext"in Me){const Ve=F.clone(Me.expandContext);Ce.expandContext=O(Ve)&&"@context"in Ve?Ve:{"@context":Ve},$e.push(Ce.expandContext)}let Se;if($(_e)){const Ve=yield ve.get(_e,Me);Se=Ve.documentUrl,Ce.input=Ve.document,Ve.contextUrl&&(Ce.remoteContext={"@context":Ve.contextUrl},$e.push(Ce.remoteContext))}else Ce.input=F.clone(_e);"base"in Me||(Me.base=Se||"");let ze=Z(Me);for(const Ve of $e)ze=yield x({activeCtx:ze,localCtx:Ve,options:Me});let Ke=yield M({activeCtx:ze,element:Ce.input,options:Me,expansionMap:Me.expansionMap});return O(Ke)&&"@graph"in Ke&&1===Object.keys(Ke).length?Ke=Ke["@graph"]:null===Ke&&(Ke=[]),E(Ke)||(Ke=[Ke]),Ke});return function(_e,Me){return le.apply(this,arguments)}}(),ve.flatten=function(){var le=lt(function*(_e,Me,Ce){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");Me="function"==typeof Me?null:Me||null,Ce=J(Ce,{base:$(_e)?_e:"",contextResolver:new Y({sharedCache:Ge})});const $e=yield ve.expand(_e,Ce),Se=y($e);return null===Me?Se:(Ce.graph=!0,Ce.skipExpansion=!0,yield ve.compact(Se,Me,Ce))});return function(_e,Me,Ce){return le.apply(this,arguments)}}(),ve.frame=function(){var le=lt(function*(_e,Me,Ce){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(Ce=J(Ce,{base:$(_e)?_e:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new Y({sharedCache:Ge})}),$(Me)){const ce=yield ve.get(Me,Ce);if(Me=ce.document,ce.contextUrl){let Ye=Me["@context"];Ye?E(Ye)?Ye.push(ce.contextUrl):Ye=[Ye,ce.contextUrl]:Ye=ce.contextUrl,Me["@context"]=Ye}}const $e=Me&&Me["@context"]||{},Se=yield ve.processContext(Z(Ce),$e,Ce);Ce.hasOwnProperty("omitGraph")||(Ce.omitGraph=W(Se,1.1)),Ce.hasOwnProperty("pruneBlankNodeIdentifiers")||(Ce.pruneBlankNodeIdentifiers=W(Se,1.1));const ze=yield ve.expand(_e,Ce),Ke=at({},Ce);Ke.isFrame=!0,Ke.keepFreeFloatingNodes=!0;const Ve=yield ve.expand(Me,Ke),K=Object.keys(Me).map(ce=>P(Se,ce,{vocab:!0}));Ke.merged=!K.includes("@graph"),Ke.is11=W(Se,1.1);const q=S(ze,Ve,Ke);Ke.graph=!Ce.omitGraph,Ke.skipExpansion=!0,Ke.link={},Ke.framing=!0;let ge=yield ve.compact(q,$e,Ke);return Ke.link={},ge=T(ge,Ke),ge});return function(_e,Me,Ce){return le.apply(this,arguments)}}(),ve.link=function(){var le=lt(function*(_e,Me,Ce){const $e={};return Me&&($e["@context"]=Me),$e["@embed"]="@link",ve.frame(_e,$e,Ce)});return function(_e,Me,Ce){return le.apply(this,arguments)}}(),ve.normalize=ve.canonize=function(){var le=lt(function*(_e,Me){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(Me=J(Me,{base:$(_e)?_e:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new Y({sharedCache:Ge})}))){if("application/n-quads"!==Me.inputFormat&&"application/nquads"!==Me.inputFormat)throw new w("Unknown canonicalization input format.","jsonld.CanonizeError");const Se=R.parse(_e);return X.canonize(Se,Me)}const Ce=at({},Me);delete Ce.format,Ce.produceGeneralizedRdf=!1;const $e=yield ve.toRDF(_e,Ce);return X.canonize($e,Me)});return function(_e,Me){return le.apply(this,arguments)}}(),ve.fromRDF=function(){var le=lt(function*(_e,Me){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");Me=J(Me,{format:$(_e)?"application/n-quads":void 0});const{format:Ce}=Me;let{rdfParser:$e}=Me;if(Ce){if($e=$e||Fe[Ce],!$e)throw new w("Unknown input format.","jsonld.UnknownFormat",{format:Ce})}else $e=()=>_e;const Se=yield $e(_e);return v(Se,Me)});return function(_e,Me){return le.apply(this,arguments)}}(),ve.toRDF=function(){var le=lt(function*(_e,Me){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let Ce;Ce=(Me=J(Me,{base:$(_e)?_e:"",skipExpansion:!1,contextResolver:new Y({sharedCache:Ge})})).skipExpansion?_e:yield ve.expand(_e,Me);const $e=b(Ce,Me);if(Me.format){if("application/n-quads"===Me.format||"application/nquads"===Me.format)return R.serialize($e);throw new w("Unknown output format.","jsonld.UnknownFormat",{format:Me.format})}return $e});return function(_e,Me){return le.apply(this,arguments)}}(),ve.createNodeMap=function(){var le=lt(function*(_e,Me){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");Me=J(Me,{base:$(_e)?_e:"",contextResolver:new Y({sharedCache:Ge})});const Ce=yield ve.expand(_e,Me);return te(Ce,Me)});return function(_e,Me){return le.apply(this,arguments)}}(),ve.merge=function(){var le=lt(function*(_e,Me,Ce){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!E(_e))throw new TypeError('Could not merge, "docs" must be an array.');Me="function"==typeof Me?null:Me||null,Ce=J(Ce,{contextResolver:new Y({sharedCache:Ge})});const $e=yield Promise.all(_e.map(ce=>{const Ye=at({},Ce);return ve.expand(ce,Ye)}));let Se=!0;"mergeNodes"in Ce&&(Se=Ce.mergeNodes);const ze=Ce.issuer||new B("_:b"),Ke={"@default":{}};for(let ce=0;ce<$e.length;++ce){const Ye=F.relabelBlankNodes($e[ce],{issuer:new B("_:b"+ce+"-")}),_t=Se||0===ce?Ke:{"@default":{}};if(se(Ye,_t,"@default",ze),_t!==Ke)for(const gt in _t){const Ae=_t[gt];if(!(gt in Ke)){Ke[gt]=Ae;continue}const z=Ke[gt];for(const L in Ae)L in z||(z[L]=Ae[L])}}const Ve=Re(Ke),K=[],q=Object.keys(Ve).sort();for(let ce=0;ceve._documentLoader,set:le=>ve._documentLoader=le}),ve.documentLoader=function(){var le=lt(function*(_e){throw new w("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:_e})});return function(_e){return le.apply(this,arguments)}}(),ve.get=function(){var le=lt(function*(_e,Me){let Ce;Ce="function"==typeof Me.documentLoader?Me.documentLoader:ve.documentLoader;const $e=yield Ce(_e);try{if(!$e.document)throw new w("No remote document found at the given URL.","jsonld.NullRemoteDocument");$($e.document)&&($e.document=JSON.parse($e.document))}catch(Se){throw new w("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:Se,remoteDoc:$e})}return $e});return function(_e,Me){return le.apply(this,arguments)}}(),ve.processContext=function(){var le=lt(function*(_e,Me,Ce){return Ce=J(Ce,{base:"",contextResolver:new Y({sharedCache:Ge})}),null===Me?Z(Ce):(Me=F.clone(Me),O(Me)&&"@context"in Me||(Me={"@context":Me}),x({activeCtx:_e,localCtx:Me,options:Ce}))});return function(_e,Me,Ce){return le.apply(this,arguments)}}(),ve.getContextValue=Q("./context").getContextValue,ve.documentLoaders={},ve.useDocumentLoader=function(le){if(!(le in ve.documentLoaders))throw new w('Unknown document loader type: "'+le+'"',"jsonld.UnknownDocumentLoader",{type:le});ve.documentLoader=ve.documentLoaders[le].apply(ve,Array.prototype.slice.call(arguments,1))},ve.registerRDFParser=function(le,_e){Fe[le]=_e},ve.unregisterRDFParser=function(le){delete Fe[le]},ve.registerRDFParser("application/n-quads",R.parse),ve.registerRDFParser("application/nquads",R.parse),ve.url=Q("./url"),ve.util=F,Object.assign(ve,F),ve.promises=ve,ve.RequestQueue=Q("./RequestQueue"),ve.JsonLdProcessor=Q("./JsonLdProcessor")(ve),U.setupGlobals(ve),U.setupDocumentLoaders(ve),ve},re=function(){return be(function(){return re()})};be(re),Ee.exports=re},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(Q,Ee,pe){"use strict";const{isKeyword:X}=Q("./context"),U=Q("./graphTypes"),F=Q("./types"),Y=Q("./util"),B=Q("./JsonLdError"),w={};Ee.exports=w,w.createMergedNodeMap=(C,R)=>{const M=(R=R||{}).issuer||new Y.IdentifierIssuer("_:b"),y={"@default":{}};return w.createNodeMap(C,y,"@default",M),w.mergeNodeMaps(y)},w.createNodeMap=(C,R,M,y,v,b)=>{if(F.isArray(C)){for(const O of C)w.createNodeMap(O,R,M,y,void 0,b);return}if(!F.isObject(C))return void(b&&b.push(C));if(U.isValue(C)){if("@type"in C){let O=C["@type"];0===O.indexOf("_:")&&(C["@type"]=O=y.getId(O))}return void(b&&b.push(C))}if(b&&U.isList(C)){const O=[];return w.createNodeMap(C["@list"],R,M,y,v,O),void b.push({"@list":O})}if("@type"in C){const O=C["@type"];for(const $ of O)0===$.indexOf("_:")&&y.getId($)}F.isUndefined(v)&&(v=U.isBlankNode(C)?y.getId(C["@id"]):C["@id"]),b&&b.push({"@id":v});const S=R[M],T=S[v]=S[v]||{};T["@id"]=v;const E=Object.keys(C).sort();for(let O of E){if("@id"===O)continue;if("@reverse"===O){const D={"@id":v},P=C["@reverse"];for(const Z in P){const x=P[Z];for(const W of x){let ne=W["@id"];U.isBlankNode(W)&&(ne=y.getId(ne)),w.createNodeMap(W,R,M,y,ne),Y.addValue(S[ne],Z,D,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===O){v in R||(R[v]={}),w.createNodeMap(C[O],R,v,y);continue}if("@included"===O){w.createNodeMap(C[O],R,M,y);continue}if("@type"!==O&&X(O)){if("@index"===O&&O in T&&(C[O]!==T[O]||C[O]["@id"]!==T[O]["@id"]))throw new B("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:T});T[O]=C[O];continue}const $=C[O];if(0===O.indexOf("_:")&&(O=y.getId(O)),0!==$.length)for(let D of $)if("@type"===O&&(D=0===D.indexOf("_:")?y.getId(D):D),U.isSubject(D)||U.isSubjectReference(D)){if("@id"in D&&!D["@id"])continue;const P=U.isBlankNode(D)?y.getId(D["@id"]):D["@id"];Y.addValue(T,O,{"@id":P},{propertyIsArray:!0,allowDuplicate:!1}),w.createNodeMap(D,R,M,y,P)}else if(U.isValue(D))Y.addValue(T,O,D,{propertyIsArray:!0,allowDuplicate:!1});else if(U.isList(D)){const P=[];w.createNodeMap(D["@list"],R,M,y,v,P),D={"@list":P},Y.addValue(T,O,D,{propertyIsArray:!0,allowDuplicate:!1})}else w.createNodeMap(D,R,M,y,v),Y.addValue(T,O,D,{propertyIsArray:!0,allowDuplicate:!1});else Y.addValue(T,O,[],{propertyIsArray:!0})}},w.mergeNodeMapGraphs=C=>{const R={};for(const M of Object.keys(C).sort())for(const y of Object.keys(C[M]).sort()){const v=C[M][y];y in R||(R[y]={"@id":y});const b=R[y];for(const S of Object.keys(v).sort())if(X(S)&&"@type"!==S)b[S]=Y.clone(v[S]);else for(const T of v[S])Y.addValue(b,S,Y.clone(T),{propertyIsArray:!0,allowDuplicate:!1})}return R},w.mergeNodeMaps=C=>{const R=C["@default"],M=Object.keys(C).sort();for(const y of M){if("@default"===y)continue;const v=C[y];let b=R[y];b?"@graph"in b||(b["@graph"]=[]):R[y]=b={"@id":y,"@graph":[]};const S=b["@graph"];for(const T of Object.keys(v).sort()){const E=v[T];U.isSubjectReference(E)||S.push(E)}}return R}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(Q,Ee,pe){"use strict";const X=Q("./documentLoaders/xhr"),U={};Ee.exports=U,U.setupDocumentLoaders=function(F){"undefined"!=typeof XMLHttpRequest&&(F.documentLoaders.xhr=X,F.useDocumentLoader("xhr"))},U.setupGlobals=function(F){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:F.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(Q,Ee,pe){"use strict";const{createNodeMap:X}=Q("./nodeMap"),{isKeyword:U}=Q("./context"),F=Q("./graphTypes"),Y=Q("canonicalize"),B=Q("./types"),w=Q("./util"),{RDF_FIRST:C,RDF_REST:R,RDF_NIL:M,RDF_TYPE:y,RDF_JSON_LITERAL:v,RDF_LANGSTRING:b,XSD_BOOLEAN:S,XSD_DOUBLE:T,XSD_INTEGER:E,XSD_STRING:O}=Q("./constants"),{isAbsolute:$}=Q("./url"),D={};function P(W,ne,ue,se,te){const Re=Object.keys(ne).sort();for(const be of Re){const re=ne[be],ve=Object.keys(re).sort();for(let Fe of ve){const Ze=re[Fe];if("@type"===Fe)Fe=y;else if(U(Fe))continue;for(const Ge of Ze){const J={termType:be.startsWith("_:")?"BlankNode":"NamedNode",value:be};if(!$(be))continue;const le={termType:Fe.startsWith("_:")?"BlankNode":"NamedNode",value:Fe};if(!$(Fe)||"BlankNode"===le.termType&&!te.produceGeneralizedRdf)continue;const _e=x(Ge,se,W,ue,te.rdfDirection);_e&&W.push({subject:J,predicate:le,object:_e,graph:ue})}}}}function x(W,ne,ue,se,te){const Re={};if(F.isValue(W)){Re.termType="Literal",Re.value=void 0,Re.datatype={termType:"NamedNode"};let be=W["@value"];const re=W["@type"]||null;"@json"===re?(Re.value=Y(be),Re.datatype.value=v):B.isBoolean(be)?(Re.value=be.toString(),Re.datatype.value=re||S):B.isDouble(be)||re===T?(B.isDouble(be)||(be=parseFloat(be)),Re.value=be.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Re.datatype.value=re||T):B.isNumber(be)?(Re.value=be.toFixed(0),Re.datatype.value=re||E):"i18n-datatype"===te&&"@direction"in W?(Re.datatype.value="https://www.w3.org/ns/i18n#"+(W["@language"]||"")+`_${W["@direction"]}`,Re.value=be):"@language"in W?(Re.value=be,Re.datatype.value=re||b,Re.language=W["@language"]):(Re.value=be,Re.datatype.value=re||O)}else if(F.isList(W)){const be=function(W,ne,ue,se,te){const Re={termType:"NamedNode",value:C},be={termType:"NamedNode",value:R},re={termType:"NamedNode",value:M},ve=W.pop(),Fe=ve?{termType:"BlankNode",value:ne.getId()}:re;let Ze=Fe;for(const Ge of W){const J=x(Ge,ne,ue,se,te),le={termType:"BlankNode",value:ne.getId()};ue.push({subject:Ze,predicate:Re,object:J,graph:se}),ue.push({subject:Ze,predicate:be,object:le,graph:se}),Ze=le}if(ve){const Ge=x(ve,ne,ue,se,te);ue.push({subject:Ze,predicate:Re,object:Ge,graph:se}),ue.push({subject:Ze,predicate:be,object:re,graph:se})}return Fe}(W["@list"],ne,ue,se,te);Re.termType=be.termType,Re.value=be.value}else{const be=B.isObject(W)?W["@id"]:W;Re.termType=be.startsWith("_:")?"BlankNode":"NamedNode",Re.value=be}return"NamedNode"!==Re.termType||$(Re.value)?Re:null}Ee.exports=D,D.toRDF=(W,ne)=>{const ue=new w.IdentifierIssuer("_:b"),se={"@default":{}};X(W,se,"@default",ue);const te=[],Re=Object.keys(se).sort();for(const be of Re){let re;if("@default"===be)re={termType:"DefaultGraph",value:""};else{if(!$(be))continue;re=be.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},re.value=be}P(te,se[be],re,ue,ne)}return te}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(Q,Ee,pe){"use strict";const X={};Ee.exports=X,X.isArray=Array.isArray,X.isBoolean=U=>"boolean"==typeof U||"[object Boolean]"===Object.prototype.toString.call(U),X.isDouble=U=>X.isNumber(U)&&(-1!==String(U).indexOf(".")||Math.abs(U)>=1e21),X.isEmptyObject=U=>X.isObject(U)&&0===Object.keys(U).length,X.isNumber=U=>"number"==typeof U||"[object Number]"===Object.prototype.toString.call(U),X.isNumeric=U=>!isNaN(parseFloat(U))&&isFinite(U),X.isObject=U=>"[object Object]"===Object.prototype.toString.call(U),X.isString=U=>"string"==typeof U||"[object String]"===Object.prototype.toString.call(U),X.isUndefined=U=>void 0===U},{}],31:[function(Q,Ee,pe){"use strict";const X=Q("./types"),U={};Ee.exports=U,U.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},U.parse=(Y,B)=>{const w={},C=U.parsers[B||"full"],R=C.regex.exec(Y);let M=C.keys.length;for(;M--;)w[C.keys[M]]=void 0===R[M]?null:R[M];return("https"===w.scheme&&"443"===w.port||"http"===w.scheme&&"80"===w.port)&&(w.href=w.href.replace(":"+w.port,""),w.authority=w.authority.replace(":"+w.port,""),w.port=null),w.normalizedPath=U.removeDotSegments(w.path),w},U.prependBase=(Y,B)=>{if(null===Y||U.isAbsolute(B))return B;(!Y||X.isString(Y))&&(Y=U.parse(Y||""));const w=U.parse(B),C={protocol:Y.protocol||""};if(null!==w.authority)C.authority=w.authority,C.path=w.path,C.query=w.query;else if(C.authority=Y.authority,""===w.path)C.path=Y.path,C.query=null!==w.query?w.query:Y.query;else{if(0===w.path.indexOf("/"))C.path=w.path;else{let M=Y.path;M=M.substr(0,M.lastIndexOf("/")+1),(M.length>0||Y.authority)&&"/"!==M.substr(-1)&&(M+="/"),M+=w.path,C.path=M}C.query=w.query}""!==w.path&&(C.path=U.removeDotSegments(C.path));let R=C.protocol;return null!==C.authority&&(R+="//"+C.authority),R+=C.path,null!==C.query&&(R+="?"+C.query),null!==w.fragment&&(R+="#"+w.fragment),""===R&&(R="./"),R},U.removeBase=(Y,B)=>{if(null===Y)return B;(!Y||X.isString(Y))&&(Y=U.parse(Y||""));let w="";if(""!==Y.href?w+=(Y.protocol||"")+"//"+(Y.authority||""):B.indexOf("//")&&(w+="//"),0!==B.indexOf(w))return B;const C=U.parse(B.substr(w.length)),R=Y.normalizedPath.split("/"),M=C.normalizedPath.split("/"),y=C.fragment||C.query?0:1;for(;R.length>0&&M.length>y&&R[0]===M[0];)R.shift(),M.shift();let v="";if(R.length>0){R.pop();for(let b=0;b{if(0===Y.length)return"";const B=Y.split("/"),w=[];for(;B.length>0;){const C=B.shift(),R=0===B.length;"."!==C?".."!==C?w.push(C):(w.pop(),R&&w.push("")):R&&w.push("")}return"/"===Y[0]&&w.length>0&&""!==w[0]&&w.unshift(""),1===w.length&&""===w[0]?"/":w.join("/")};const F=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;U.isAbsolute=Y=>X.isString(Y)&&F.test(Y),U.isRelative=Y=>X.isString(Y)},{"./types":30}],32:[function(Q,Ee,pe){"use strict";const X=Q("./graphTypes"),U=Q("./types"),F=Q("rdf-canonize").IdentifierIssuer,Y=Q("./JsonLdError"),B=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,w=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,C=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,R_headers={accept:"application/ld+json, application/json"},M={};function y(v,b){if(U.isArray(b))for(let S=0;S{if(Object.keys(v).some(S=>"accept"===S.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+R_headers.accept+'" is supported.');return Object.assign({Accept:R_headers.accept},v)},M.parseLinkHeader=v=>{const b={},S=v.match(B);for(let T=0;T{if(!(U.isString(v)||U.isArray(v)&&v.every(S=>U.isString(S)))){if(b&&U.isObject(v))switch(Object.keys(v).length){case 0:return;case 1:if("@default"in v&&M.asArray(v["@default"]).every(S=>U.isString(S)))return}throw new Y('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:v})}},M.hasProperty=(v,b)=>{if(v.hasOwnProperty(b)){const S=v[b];return!U.isArray(S)||S.length>0}return!1},M.hasValue=(v,b,S)=>{if(M.hasProperty(v,b)){let T=v[b];const E=X.isList(T);if(U.isArray(T)||E){E&&(T=T["@list"]);for(let O=0;O{if("propertyIsArray"in(T=T||{})||(T.propertyIsArray=!1),"valueIsArray"in T||(T.valueIsArray=!1),"allowDuplicate"in T||(T.allowDuplicate=!0),"prependValue"in T||(T.prependValue=!1),T.valueIsArray)v[b]=S;else if(U.isArray(S)){0===S.length&&T.propertyIsArray&&!v.hasOwnProperty(b)&&(v[b]=[]),T.prependValue&&(S=S.concat(v[b]),v[b]=[]);for(let E=0;E[].concat(v[b]||[]),M.removeProperty=(v,b)=>{delete v[b]},M.removeValue=(v,b,S,T)=>{"propertyIsArray"in(T=T||{})||(T.propertyIsArray=!1);const E=M.getValues(v,b).filter(O=>!M.compareValues(O,S));0===E.length?M.removeProperty(v,b):v[b]=1!==E.length||T.propertyIsArray?E:E[0]},M.relabelBlankNodes=(v,b)=>y((b=b||{}).issuer||new F("_:b"),v),M.compareValues=(v,b)=>!!(v===b||X.isValue(v)&&X.isValue(b)&&v["@value"]===b["@value"]&&v["@type"]===b["@type"]&&v["@language"]===b["@language"]&&v["@index"]===b["@index"])||!!(U.isObject(v)&&"@id"in v&&U.isObject(b)&&"@id"in b)&&v["@id"]===b["@id"],M.compareShortestLeast=(v,b)=>v.length1;const T=(Z,x,W)=>{const ne=Z[y].get(x);if(ne){const ue=ne.value;if(E(Z,ue)){if($(Z,ne),!Z[B])return}else W&&(Z[v]&&(ne.value.now=Date.now()),Z[M].unshiftNode(ne));return ue.value}},E=(Z,x)=>{if(!x||!x.maxAge&&!Z[w])return!1;const W=Date.now()-x.now;return x.maxAge?W>x.maxAge:Z[w]&&W>Z[w]},O=Z=>{if(Z[F]>Z[U])for(let x=Z[M].tail;Z[F]>Z[U]&&null!==x;){const W=x.prev;$(Z,x),x=W}},$=(Z,x)=>{if(x){const W=x.value;Z[C]&&Z[C](W.key,W.value),Z[F]-=W.length,Z[y].delete(W.key),Z[M].removeNode(x)}};class D{constructor(x,W,ne,ue,se){this.key=x,this.value=W,this.length=ne,this.now=ue,this.maxAge=se||0}}const P=(Z,x,W,ne)=>{let ue=W.value;E(Z,ue)&&($(Z,W),Z[B]||(ue=void 0)),ue&&x.call(ne,ue.value,ue.key,Z)};Ee.exports=class{constructor(x){if("number"==typeof x&&(x={max:x}),x||(x={}),x.max&&("number"!=typeof x.max||x.max<0))throw new TypeError("max must be a non-negative number");this[U]=x.max||1/0;const ne=x.length||b;if(this[Y]="function"!=typeof ne?b:ne,this[B]=x.stale||!1,x.maxAge&&"number"!=typeof x.maxAge)throw new TypeError("maxAge must be a number");this[w]=x.maxAge||0,this[C]=x.dispose,this[R]=x.noDisposeOnSet||!1,this[v]=x.updateAgeOnGet||!1,this.reset()}set max(x){if("number"!=typeof x||x<0)throw new TypeError("max must be a non-negative number");this[U]=x||1/0,O(this)}get max(){return this[U]}set allowStale(x){this[B]=!!x}get allowStale(){return this[B]}set maxAge(x){if("number"!=typeof x)throw new TypeError("maxAge must be a non-negative number");this[w]=x,O(this)}get maxAge(){return this[w]}set lengthCalculator(x){"function"!=typeof x&&(x=b),x!==this[Y]&&(this[Y]=x,this[F]=0,this[M].forEach(W=>{W.length=this[Y](W.value,W.key),this[F]+=W.length})),O(this)}get lengthCalculator(){return this[Y]}get length(){return this[F]}get itemCount(){return this[M].length}rforEach(x,W){W=W||this;for(let ne=this[M].tail;null!==ne;){const ue=ne.prev;P(this,x,ne,W),ne=ue}}forEach(x,W){W=W||this;for(let ne=this[M].head;null!==ne;){const ue=ne.next;P(this,x,ne,W),ne=ue}}keys(){return this[M].toArray().map(x=>x.key)}values(){return this[M].toArray().map(x=>x.value)}reset(){this[C]&&this[M]&&this[M].length&&this[M].forEach(x=>this[C](x.key,x.value)),this[y]=new Map,this[M]=new X,this[F]=0}dump(){return this[M].map(x=>!E(this,x)&&{k:x.key,v:x.value,e:x.now+(x.maxAge||0)}).toArray().filter(x=>x)}dumpLru(){return this[M]}set(x,W,ne){if((ne=ne||this[w])&&"number"!=typeof ne)throw new TypeError("maxAge must be a number");const ue=ne?Date.now():0,se=this[Y](W,x);if(this[y].has(x)){if(se>this[U])return $(this,this[y].get(x)),!1;const be=this[y].get(x).value;return this[C]&&(this[R]||this[C](x,be.value)),be.now=ue,be.maxAge=ne,be.value=W,this[F]+=se-be.length,be.length=se,this.get(x),O(this),!0}const te=new D(x,W,se,ue,ne);return te.length>this[U]?(this[C]&&this[C](x,W),!1):(this[F]+=te.length,this[M].unshift(te),this[y].set(x,this[M].head),O(this),!0)}has(x){if(!this[y].has(x))return!1;const W=this[y].get(x).value;return!E(this,W)}get(x){return T(this,x,!0)}peek(x){return T(this,x,!1)}pop(){const x=this[M].tail;return x?($(this,x),x.value):null}del(x){$(this,this[y].get(x))}load(x){this.reset();const W=Date.now();for(let ne=x.length-1;ne>=0;ne--){const ue=x[ne],se=ue.e||0;if(0===se)this.set(ue.k,ue.v);else{const te=se-W;te>0&&this.set(ue.k,ue.v,te)}}}prune(){this[y].forEach((x,W)=>T(this,W,!1))}}},{yallist:92}],34:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.default=void 0;const X="http://www.w3.org/1999/02/22-rdf-syntax-ns#",U="http://www.w3.org/2001/XMLSchema#",F="http://www.w3.org/2000/10/swap/";pe.default={xsd:{decimal:`${U}decimal`,boolean:`${U}boolean`,double:`${U}double`,integer:`${U}integer`,string:`${U}string`},rdf:{type:`${X}type`,nil:`${X}nil`,first:`${X}first`,rest:`${X}rest`,langString:`${X}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${F}reify#forSome`,forAll:`${F}reify#forAll`},log:{implies:`${F}log#implies`}}},{}],35:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.default=pe.Variable=pe.Triple=pe.Term=pe.Quad=pe.NamedNode=pe.Literal=pe.DefaultGraph=pe.BlankNode=void 0,pe.escapeQuotes=x,pe.termFromId=function D(re,ve){if(ve=ve||y,!re)return ve.defaultGraph();switch(re[0]){case"?":return ve.variable(re.substr(1));case"_":return ve.blankNode(re.substr(2));case'"':if(ve===y)return new T(re);if('"'===re[re.length-1])return ve.literal(re.substr(1,re.length-2));const Fe=re.lastIndexOf('"',re.length-1);return ve.literal(re.substr(1,Fe-1),"@"===re[Fe+1]?re.substr(Fe+2):ve.namedNode(re.substr(Fe+3)));case"<":const Ze=M.exec(re);return ve.quad(D(W(Ze[1]),ve),D(W(Ze[2]),ve),D(W(Ze[3]),ve),Ze[4]&&D(W(Ze[4]),ve));default:return ve.namedNode(re)}},pe.termToId=function P(re){if("string"==typeof re)return re;if(re instanceof b&&"Quad"!==re.termType)return re.id;if(!re)return w.id;switch(re.termType){case"NamedNode":return re.value;case"BlankNode":return`_:${re.value}`;case"Variable":return`?${re.value}`;case"DefaultGraph":return"";case"Literal":return`"${re.value}"${re.language?`@${re.language}`:re.datatype&&re.datatype.value!==B.string?`^^${re.datatype.value}`:""}`;case"Quad":return`<<${x(P(re.subject))} ${x(P(re.predicate))} ${x(P(re.object))}${(0,U.isDefaultGraph)(re.graph)?"":` ${P(re.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${re.termType}`)}},pe.unescapeQuotes=W;var re,X=(re=Q("./IRIs"))&&re.__esModule?re:{default:re},U=Q("./N3Util");const{rdf:Y,xsd:B}=X.default;let w,C=0;const R=/^"(.*".*)(?="[^"]*$)/,M=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,y={namedNode:function(re){return new S(re)},blankNode:function(re){return new E(re||"n3-"+C++)},variable:function(re){return new O(re)},literal:function(re,ve){if("string"==typeof ve)return new T(`"${re}"@${ve.toLowerCase()}`);let Fe=ve?ve.value:"";return""===Fe&&("boolean"==typeof re?Fe=B.boolean:"number"==typeof re&&(Number.isFinite(re)?Fe=Number.isInteger(re)?B.integer:B.double:(Fe=B.double,Number.isNaN(re)||(re=re>0?"INF":"-INF")))),new T(""===Fe||Fe===B.string?`"${re}"`:`"${re}"^^${Fe}`)},defaultGraph:function(){return w},quad:be,triple:be};pe.default=y;class b{constructor(ve){this.id=ve}get value(){return this.id}equals(ve){return ve instanceof b?this.id===ve.id:!!ve&&this.termType===ve.termType&&this.value===ve.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}pe.Term=b;class S extends b{get termType(){return"NamedNode"}}pe.NamedNode=S;class T extends b{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const ve=this.id;let Fe=ve.lastIndexOf('"')+1;return Fe`"${Fe.replace(/"/g,'""')}`)}function W(re){return re.replace(R,(ve,Fe)=>`"${Fe.replace(/""/g,'"')}`)}function be(re,ve,Fe,Ze){return new Z(re,ve,Fe,Ze)}pe.Triple=pe.Quad=Z},{"./IRIs":34,"./N3Util":41}],36:[function(Q,Ee,pe){(function(X){(function(){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.default=void 0;var U=Y(Q("./IRIs")),F=Y(Q("queue-microtask"));function Y(b){return b&&b.__esModule?b:{default:b}}const{xsd:B}=U.default,w=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,C={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},R=/[\x00-\x20<>\\"\{\}\|\^\`]/,M={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},y=/$0^/;pe.default=class{constructor(S){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(S=S||{}).lineMode){this._n3Mode=!1;for(const T in this)!(T in M)&&this[T]instanceof RegExp&&(this[T]=y)}else this._n3Mode=!1!==S.n3;this._comments=!!S.comments,this._literalClosingPos=0}_tokenizeToEnd(S,T){let E=this._input,O=E.length;for(;;){let P,Z;for(;P=this._newline.exec(E);)this._comments&&(Z=this._comment.exec(P[0]))&&$("comment",Z[1],"",this._line,P[0].length),E=E.substr(P[0].length,E.length),O=E.length,this._line++;if(!P&&(P=this._whitespace.exec(E))&&(E=E.substr(P[0].length,E.length)),this._endOfFile.test(E))return T&&(this._comments&&(Z=this._comment.exec(E))&&$("comment",Z[1],"",this._line,E.length),E=null,$("eof","","",this._line,0)),this._input=E;const x=this._line,W=E[0];let ne="",ue="",se="",te=null,Re=0,be=!1;switch(W){case"^":if(E.length<3)break;if("^"!==E[1]){this._n3Mode&&(Re=1,ne="^");break}if(this._previousMarker="^^",E=E.substr(2),"<"!==E[0]){be=!0;break}case"<":if(te=this._unescapedIri.exec(E))ne="IRI",ue=te[1];else if(te=this._iri.exec(E)){if(ue=this._unescape(te[1]),null===ue||R.test(ue))return D(this);ne="IRI"}else E.length>1&&"<"===E[1]?(ne="<<",Re=2):this._n3Mode&&E.length>1&&"="===E[1]&&(ne="inverse",Re=2,ue=">");break;case">":E.length>1&&">"===E[1]&&(ne=">>",Re=2);break;case"_":((te=this._blank.exec(E))||T&&(te=this._blank.exec(`${E} `)))&&(ne="blank",se="_",ue=te[1]);break;case'"':if(te=this._simpleQuotedString.exec(E))ue=te[1];else if(({value:ue,matchLength:Re}=this._parseLiteral(E)),null===ue)return D(this);(null!==te||0!==Re)&&(ne="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(te=this._simpleApostropheString.exec(E))ue=te[1];else if(({value:ue,matchLength:Re}=this._parseLiteral(E)),null===ue)return D(this);(null!==te||0!==Re)&&(ne="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(te=this._variable.exec(E))&&(ne="var",ue=te[0]);break;case"@":"literal"===this._previousMarker&&(te=this._langcode.exec(E))?(ne="langcode",ue=te[1]):(te=this._keyword.exec(E))&&(ne=te[0]);break;case".":if(1===E.length?T:E[1]<"0"||E[1]>"9"){ne=".",Re=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(te=this._number.exec(E)||T&&(te=this._number.exec(`${E} `)))&&(ne="literal",ue=te[0],se="string"==typeof te[1]?B.double:"string"==typeof te[2]?B.decimal:B.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(te=this._sparqlKeyword.exec(E))?ne=te[0].toUpperCase():be=!0;break;case"f":case"t":(te=this._boolean.exec(E))?(ne="literal",ue=te[0],se=B.boolean):be=!0;break;case"a":(te=this._shortPredicates.exec(E))?(ne="abbreviation",ue="a"):be=!0;break;case"=":this._n3Mode&&E.length>1&&(ne="abbreviation",">"!==E[1]?(Re=1,ue="="):(Re=2,ue=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(Re=1,ne=W);break;default:be=!0}if(be&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(te=this._prefix.exec(E))?((te=this._prefixed.exec(E))||T&&(te=this._prefixed.exec(`${E} `)))&&(ne="prefixed",se=te[1]||"",ue=this._unescape(te[2])):(ne="prefix",ue=te[1]||"")),"^^"===this._previousMarker)switch(ne){case"prefixed":ne="type";break;case"IRI":ne="typeIRI";break;default:ne=""}if(!ne)return T||!/^'''|^"""/.test(E)&&/\n|\r/.test(E)?D(this):this._input=E;const re=Re||te[0].length,ve=$(ne,ue,se,x,re);this.previousToken=ve,this._previousMarker=ne,E=E.substr(re,E.length)}function $(P,Z,x,W,ne){const ue=E?O-E.length:O,te={type:P,value:Z,prefix:x,line:W,start:ue,end:ue+ne};return S(null,te),te}function D(P){S(P._syntaxError(/^\S*/.exec(E)[0]))}}_unescape(S){let T=!1;const E=S.replace(w,(O,$,D,P)=>{if("string"==typeof $)return String.fromCharCode(Number.parseInt($,16));if("string"==typeof D){let Z=Number.parseInt(D,16);return Z<=65535?String.fromCharCode(Number.parseInt(D,16)):String.fromCharCode(55296+((Z-=65536)>>10),56320+(1023&Z))}return P in C?C[P]:(T=!0,"")});return T?null:E}_parseLiteral(S){if(S.length>=3){const T=S.match(/^(?:"""|"|'''|'|)/)[0],E=T.length;let O=Math.max(this._literalClosingPos,E);for(;(O=S.indexOf(T,O))>0;){let $=0;for(;"\\"===S[O-$-1];)$++;if($%2==0){const D=S.substring(E,O),P=D.split(/\r\n|\r|\n/).length-1,Z=O+E;if(1===E&&0!==P||3===E&&this._lineMode)break;return this._line+=P,{value:this._unescape(D),matchLength:Z}}O++}this._literalClosingPos=S.length-E+1}return{value:"",matchLength:0}}_syntaxError(S){this._input=null;const T=new Error(`Unexpected "${S}" on line ${this._line}.`);return T.context={token:void 0,line:this._line,previousToken:this.previousToken},T}_readStartingBom(S){return S.startsWith("\ufeff")?S.substr(1):S}tokenize(S,T){if(this._line=1,"string"==typeof S){if(this._input=this._readStartingBom(S),"function"!=typeof T){const E=[];let O;if(this._tokenizeToEnd(($,D)=>$?O=$:E.push(D),!0),O)throw O;return E}(0,F.default)(()=>this._tokenizeToEnd(T,!0))}else this._pendingBuffer=null,"function"==typeof S.setEncoding&&S.setEncoding("utf8"),S.on("data",E=>{null!==this._input&&0!==E.length&&(this._pendingBuffer&&(E=X.concat([this._pendingBuffer,E]),this._pendingBuffer=null),128&E[E.length-1]?this._pendingBuffer=E:(void 0===this._input?this._input=this._readStartingBom("string"==typeof E?E:E.toString()):this._input+=E,this._tokenizeToEnd(T,!1)))}),S.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(T,!0)}),S.on("error",T)}}}).call(this)}).call(this,Q("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.default=void 0;var X=Y(Q("./N3Lexer")),U=Y(Q("./N3DataFactory")),F=Y(Q("./IRIs"));function Y(M){return M&&M.__esModule?M:{default:M}}let B=0;class w{constructor(y){this._contextStack=[],this._graph=null,this._setBase((y=y||{}).baseIRI),y.factory&&R(this,y.factory);const v="string"==typeof y.format?y.format.match(/\w*$/)[0].toLowerCase():"",b=/turtle/.test(v),S=/trig/.test(v),T=/triple/.test(v),E=/quad/.test(v),O=this._n3Mode=/n3/.test(v),$=T||E;(this._supportsNamedGraphs=!(b||O))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(b||S||T||O),this._supportsRDFStar=""===v||/star|\*$/.test(v),$&&(this._resolveRelativeIRI=D=>null),this._blankNodePrefix="string"!=typeof y.blankNodePrefix?"":y.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=y.lexer||new X.default({lineMode:$,n3:O}),this._explicitQuantifiers=!!y.explicitQuantifiers}static _resetBlankNodePrefix(){B=0}_setBase(y){if(y){const v=y.indexOf("#");v>=0&&(y=y.substr(0,v)),this._base=y,this._basePath=y.indexOf("/")<0?y:y.replace(/[^\/?]*(?:\?.*)?$/,""),y=y.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=y[0],this._baseScheme=y[1]}else this._base="",this._basePath=""}_saveContext(y,v,b,S,T){const E=this._n3Mode;this._contextStack.push({subject:b,predicate:S,object:T,graph:v,type:y,inverse:!!E&&this._inversePredicate,blankPrefix:E?this._prefixes._:"",quantified:E?this._quantified:null}),E&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const y=this._contextStack.pop(),v=this._n3Mode;this._subject=y.subject,this._predicate=y.predicate,this._object=y.object,this._graph=y.graph,v&&(this._inversePredicate=y.inverse,this._prefixes._=y.blankPrefix,this._quantified=y.quantified)}_readInTopContext(y){switch(y.type){case"eof":return null!==this._graph?this._error("Unclosed graph",y):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(y)}}_readEntity(y,v){let b;switch(y.type){case"IRI":case"typeIRI":const S=this._resolveIRI(y.value);if(null===S)return this._error("Invalid IRI",y);b=this._namedNode(S);break;case"type":case"prefixed":const T=this._prefixes[y.prefix];if(void 0===T)return this._error(`Undefined prefix "${y.prefix}:"`,y);b=this._namedNode(T+y.value);break;case"blank":b=this._blankNode(this._prefixes[y.prefix]+y.value);break;case"var":b=this._variable(y.value.substr(1));break;default:return this._error(`Expected entity but got ${y.type}`,y)}return!v&&this._n3Mode&&b.id in this._quantified&&(b=this._quantified[b.id]),b}_readSubject(y){switch(this._predicate=null,y.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",y);case"}":return this._readPunctuation(y);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',y);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',y);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",y);if(0===y.prefix.length)return this._literalValue=y.value,this._completeSubjectLiteral;this._subject=this._literal(y.value,this._namedNode(y.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",y);default:if(void 0===(this._subject=this._readEntity(y)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(y){const v=y.type;switch(v){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[y.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${v}`,y):(this._subject=null,"]"===v?this._readBlankNodeTail(y):this._readPunctuation(y));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",y);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",y);default:if(void 0===(this._predicate=this._readEntity(y)))return}return this._readObject}_readObject(y){switch(y.type){case"literal":if(0===y.prefix.length)return this._literalValue=y.value,this._readDataTypeOrLang;this._object=this._literal(y.value,this._namedNode(y.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",y);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",y);default:if(void 0===(this._object=this._readEntity(y)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(y){return"{"===y.type?this._readGraph(y):this._readPredicate(y)}_readGraph(y){return"{"!==y.type?this._error(`Expected graph but got ${y.type}`,y):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(y){return"]"===y.type?(this._subject=null,this._readBlankNodeTail(y)):(this._predicate=null,this._readPredicate(y))}_readBlankNodeTail(y){if("]"!==y.type)return this._readBlankNodePunctuation(y);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const v=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:v?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(y){switch(y.type){case".":case"}":return this._subject=null,this._readPunctuation(y);default:return this._readPredicate(y)}}_readListItem(y){let v=null,b=null,S=this._readListItem;const T=this._subject,E=this._contextStack,O=E[E.length-1];switch(y.type){case"[":this._saveContext("blank",this._graph,b=this._blankNode(),this.RDF_FIRST,this._subject=v=this._blankNode()),S=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,b=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==E.length&&"list"===E[E.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(S=this._readPredicate,this._subject===this.RDF_NIL)return S}else if(S=this._getContextEndReader(),this._object===this.RDF_NIL)return S;b=this.RDF_NIL;break;case"literal":0===y.prefix.length?(this._literalValue=y.value,S=this._readListItemDataTypeOrLang):(v=this._literal(y.value,this._namedNode(y.prefix)),S=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",y);default:if(void 0===(v=this._readEntity(y)))return}if(null===b&&(this._subject=b=this._blankNode()),null===T?null===O.predicate?O.subject=b:O.object=b:this._emit(T,this.RDF_REST,b,this._graph),null!==v){if(this._n3Mode&&("IRI"===y.type||"prefixed"===y.type))return this._saveContext("item",this._graph,b,this.RDF_FIRST,v),this._subject=v,this._predicate=null,this._getPathReader(this._readListItem);this._emit(b,this.RDF_FIRST,v,this._graph)}return S}_readDataTypeOrLang(y){return this._completeObjectLiteral(y,!1)}_readListItemDataTypeOrLang(y){return this._completeObjectLiteral(y,!0)}_completeLiteral(y){let v=this._literal(this._literalValue);switch(y.type){case"type":case"typeIRI":const b=this._readEntity(y);if(void 0===b)return;v=this._literal(this._literalValue,b),y=null;break;case"langcode":v=this._literal(this._literalValue,y.value),y=null}return{token:y,literal:v}}_completeSubjectLiteral(y){return this._subject=this._completeLiteral(y).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(y,v){const b=this._completeLiteral(y);if(b)return this._object=b.literal,v&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===b.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(b.token))}_readFormulaTail(y){return"}"!==y.type?this._readPunctuation(y):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(y){let v,b=this._graph;const S=this._subject,T=this._inversePredicate;switch(y.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",y);if(this._n3Mode)return this._readFormulaTail(y);this._graph=null;case".":this._subject=null,v=this._contextStack.length?this._readSubject:this._readInTopContext,T&&(this._inversePredicate=!1);break;case";":v=this._readPredicate;break;case",":v=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(b=this._readEntity(y))){v=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,y)}if(null!==S){const E=this._predicate,O=this._object;T?this._emit(O,E,S,b):this._emit(S,E,O,b)}return v}_readBlankNodePunctuation(y){let v;switch(y.type){case";":v=this._readPredicate;break;case",":v=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,y)}return this._emit(this._subject,this._predicate,this._object,this._graph),v}_readQuadPunctuation(y){return"."!==y.type?this._error("Expected dot to follow quad",y):this._readInTopContext}_readPrefix(y){return"prefix"!==y.type?this._error("Expected prefix to follow @prefix",y):(this._prefix=y.value,this._readPrefixIRI)}_readPrefixIRI(y){if("IRI"!==y.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,y);const v=this._readEntity(y);return this._prefixes[this._prefix]=v.value,this._prefixCallback(this._prefix,v),this._readDeclarationPunctuation}_readBaseIRI(y){const v="IRI"===y.type&&this._resolveIRI(y.value);return v?(this._setBase(v),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",y)}_readNamedGraphLabel(y){switch(y.type){case"IRI":case"blank":case"prefixed":return this._readSubject(y),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",y)}}_readNamedGraphBlankLabel(y){return"]"!==y.type?this._error("Invalid graph label",y):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(y){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(y)):"."!==y.type?this._error("Expected declaration to end with a dot",y):this._readInTopContext}_readQuantifierList(y){let v;switch(y.type){case"IRI":case"prefixed":if(void 0!==(v=this._readEntity(y,!0)))break;default:return this._error(`Unexpected ${y.type}`,y)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,v,this.QUANTIFIERS_GRAPH)):this._quantified[v.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(y){return","===y.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(y))}_getPathReader(y){return this._afterPath=y,this._readPath}_readPath(y){switch(y.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const v=this._contextStack,b=v.length&&v[v.length-1];if(b&&"item"===b.type){const S=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,S,this._graph)}return this._afterPath(y)}}_readForwardPath(y){let v,b;const S=this._blankNode();if(void 0!==(b=this._readEntity(y)))return null===this._predicate?(v=this._subject,this._subject=S):(v=this._object,this._object=S),this._emit(v,b,S,this._graph),this._readPath}_readBackwardPath(y){const v=this._blankNode();let b,S;if(void 0!==(b=this._readEntity(y)))return null===this._predicate?(S=this._subject,this._subject=v):(S=this._object,this._object=v),this._emit(v,b,S,this._graph),this._readPath}_readRDFStarTailOrGraph(y){return">>"!==y.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(y))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,y):this._readRDFStarTail(y)}_readRDFStarTail(y){if(">>"!==y.type)return this._error(`Expected >> but got ${y.type}`,y);const v=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=v,this._readPredicate):(this._object=v,this._getContextEndReader())}_getContextEndReader(){const y=this._contextStack;if(!y.length)return this._readPunctuation;switch(y[y.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(y,v,b,S){this._callback(null,this._quad(y,v,b,S||this.DEFAULTGRAPH))}_error(y,v){const b=new Error(`${y} on line ${v.line}.`);b.context={token:v,line:v.line,previousToken:this._lexer.previousToken},this._callback(b),this._callback=C}_resolveIRI(y){return/^[a-z][a-z0-9+.-]*:/i.test(y)?y:this._resolveRelativeIRI(y)}_resolveRelativeIRI(y){if(!y.length)return this._base;switch(y[0]){case"#":return this._base+y;case"?":return this._base.replace(/(?:\?.*)?$/,y);case"/":return("/"===y[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(y);default:return/^[^/:]*:/.test(y)?null:this._removeDotSegments(this._basePath+y)}}_removeDotSegments(y){if(!/(^|\/)\.\.?($|[/#?])/.test(y))return y;const v=y.length;let b="",S=-1,T=-1,E=0,O="/";for(;S=T&&(b=b.substr(0,E)),"/"!==O)return`${b}/${y.substr(S+1)}`;E=S+1}}}O=y[++S]}return b+y.substring(E)}parse(y,v,b){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${B++}_`,this._prefixCallback=b||C,this._inversePredicate=!1,this._quantified=Object.create(null),!v){const S=[];let T;if(this._callback=(E,O)=>{E?T=E:O&&S.push(O)},this._lexer.tokenize(y).every(E=>this._readCallback=this._readCallback(E)),T)throw T;return S}this._callback=v,this._lexer.tokenize(y,(S,T)=>{null!==S?(this._callback(S),this._callback=C):this._readCallback&&(this._readCallback=this._readCallback(T))})}}function C(){}function R(M,y){const v=y.namedNode;M._namedNode=v,M._blankNode=y.blankNode,M._literal=y.literal,M._variable=y.variable,M._quad=y.quad,M.DEFAULTGRAPH=y.defaultGraph(),M.RDF_FIRST=v(F.default.rdf.first),M.RDF_REST=v(F.default.rdf.rest),M.RDF_NIL=v(F.default.rdf.nil),M.N3_FORALL=v(F.default.r.forAll),M.N3_FORSOME=v(F.default.r.forSome),M.ABBREVIATIONS={a:v(F.default.rdf.type),"=":v(F.default.owl.sameAs),">":v(F.default.log.implies)},M.QUANTIFIERS_GRAPH=v("urn:n3:quantifiers")}pe.default=w,R(w.prototype,U.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.default=void 0;var y,X=function(y,v){if(!v&&y&&y.__esModule)return y;if(null===y||"object"!=typeof y&&"function"!=typeof y)return{default:y};var b=B(v);if(b&&b.has(y))return b.get(y);var S={},T=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var E in y)if("default"!==E&&Object.prototype.hasOwnProperty.call(y,E)){var O=T?Object.getOwnPropertyDescriptor(y,E):null;O&&(O.get||O.set)?Object.defineProperty(S,E,O):S[E]=y[E]}return S.default=y,b&&b.set(y,S),S}(Q("./N3DataFactory")),U=Q("readable-stream"),F=(y=Q("./IRIs"))&&y.__esModule?y:{default:y};function B(y){if("function"!=typeof WeakMap)return null;var v=new WeakMap,b=new WeakMap;return(B=function(S){return S?b:v})(y)}class C{constructor(v,b){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!b&&v&&!v[0]&&(b=v,v=null),this._factory=(b=b||{}).factory||X.default,v&&this.addQuads(v)}get size(){let v=this._size;if(null!==v)return v;v=0;const b=this._graphs;let S,T;for(const E in b)for(const O in S=b[E].subjects)for(const $ in T=S[O])v+=Object.keys(T[$]).length;return this._size=v}_addToIndex(v,b,S,T){const E=v[b]||(v[b]={}),O=E[S]||(E[S]={}),$=T in O;return $||(O[T]=null),!$}_removeFromIndex(v,b,S,T){const E=v[b],O=E[S];delete O[T];for(const $ in O)return;delete E[S];for(const $ in E)return;delete v[b]}*_findInIndex(v,b,S,T,E,O,$,D){let P,Z,x;const ne=!b+!S+!T>1?Object.keys(this._ids):this._entities,ue=(0,X.termFromId)(D,this._factory);b&&((P=v,v={})[b]=P[b]);for(const se in v){const te=ne[se];if(Z=v[se]){S&&((P=Z,Z={})[S]=P[S]);for(const Re in Z){const be=ne[Re];if(x=Z[Re]){const re=T?T in x?[T]:[]:Object.keys(x);for(let ve=0;ve{S in b||(b[S]=!0,v((0,X.termFromId)(this._entities[S],this._factory)))}}add(v){return this.addQuad(v),this}addQuad(v,b,S,T){b||(T=v.graph,S=v.object,b=v.predicate,v=v.subject),v=(0,X.termToId)(v),b=(0,X.termToId)(b),S=(0,X.termToId)(S),T=(0,X.termToId)(T);let E=this._graphs[T];E||(E=this._graphs[T]={subjects:{},predicates:{},objects:{}},Object.freeze(E));const O=this._ids,$=this._entities;v=O[v]||(O[$[++this._id]=v]=this._id),b=O[b]||(O[$[++this._id]=b]=this._id),S=O[S]||(O[$[++this._id]=S]=this._id);const D=this._addToIndex(E.subjects,v,b,S);return this._addToIndex(E.predicates,b,S,v),this._addToIndex(E.objects,S,v,b),this._size=null,D}addQuads(v){for(let b=0;b{this.addQuad(b)}),v}removeQuad(v,b,S,T){b||(T=v.graph,S=v.object,b=v.predicate,v=v.subject),v=(0,X.termToId)(v),b=(0,X.termToId)(b),S=(0,X.termToId)(S),T=(0,X.termToId)(T);const E=this._ids,O=this._graphs;let $,D,P;if(!((v=E[v])&&(b=E[b])&&(S=E[S])&&($=O[T])&&(D=$.subjects[v])&&(P=D[b])&&S in P))return!1;for(v in this._removeFromIndex($.subjects,v,b,S),this._removeFromIndex($.predicates,b,S,v),this._removeFromIndex($.objects,S,v,b),null!==this._size&&this._size--,$.subjects)return!0;return delete O[T],!0}removeQuads(v){for(let b=0;b{this.removeQuad(b)}),v}removeMatches(v,b,S,T){const E=new U.Readable({objectMode:!0});return E._read=()=>{for(const O of this.readQuads(v,b,S,T))E.push(O);E.push(null)},this.remove(E)}deleteGraph(v){return this.removeMatches(null,null,null,v)}getQuads(v,b,S,T){return[...this.readQuads(v,b,S,T)]}*readQuads(v,b,S,T){v=v&&(0,X.termToId)(v),b=b&&(0,X.termToId)(b),S=S&&(0,X.termToId)(S),T=T&&(0,X.termToId)(T);const E=this._getGraphs(T),O=this._ids;let $,D,P,Z;if(!(R(v)&&!(D=O[v])||R(b)&&!(P=O[b])||R(S)&&!(Z=O[S])))for(const x in E)($=E[x])&&(D?Z?yield*this._findInIndex($.objects,Z,D,P,"object","subject","predicate",x,null,!0):yield*this._findInIndex($.subjects,D,P,null,"subject","predicate","object",x,null,!0):P?yield*this._findInIndex($.predicates,P,Z,null,"predicate","object","subject",x,null,!0):Z?yield*this._findInIndex($.objects,Z,null,null,"object","subject","predicate",x,null,!0):yield*this._findInIndex($.subjects,null,null,null,"subject","predicate","object",x,null,!0))}match(v,b,S,T){return new M(this,v,b,S,T)}countQuads(v,b,S,T){v=v&&(0,X.termToId)(v),b=b&&(0,X.termToId)(b),S=S&&(0,X.termToId)(S),T=T&&(0,X.termToId)(T);const E=this._getGraphs(T),O=this._ids;let D,P,Z,x,$=0;if(R(v)&&!(P=O[v])||R(b)&&!(Z=O[b])||R(S)&&!(x=O[S]))return 0;for(const W in E)(D=E[W])&&($+=v?S?this._countInIndex(D.objects,x,P,Z):this._countInIndex(D.subjects,P,Z,x):b?this._countInIndex(D.predicates,Z,x,P):this._countInIndex(D.objects,x,P,Z));return $}forEach(v,b,S,T,E){this.some(O=>(v(O),!1),b,S,T,E)}every(v,b,S,T,E){let O=!1;const $=!this.some(D=>(O=!0,!v(D)),b,S,T,E);return O&&$}some(v,b,S,T,E){for(const O of this.readQuads(b,S,T,E))if(v(O))return!0;return!1}getSubjects(v,b,S){const T=[];return this.forSubjects(E=>{T.push(E)},v,b,S),T}forSubjects(v,b,S,T){b=b&&(0,X.termToId)(b),S=S&&(0,X.termToId)(S),T=T&&(0,X.termToId)(T);const E=this._ids,O=this._getGraphs(T);let $,D,P;if(v=this._uniqueEntities(v),!(R(b)&&!(D=E[b])||R(S)&&!(P=E[S])))for(T in O)($=O[T])&&(D?P?this._loopBy2Keys($.predicates,D,P,v):this._loopByKey1($.subjects,D,v):P?this._loopByKey0($.objects,P,v):this._loop($.subjects,v))}getPredicates(v,b,S){const T=[];return this.forPredicates(E=>{T.push(E)},v,b,S),T}forPredicates(v,b,S,T){b=b&&(0,X.termToId)(b),S=S&&(0,X.termToId)(S),T=T&&(0,X.termToId)(T);const E=this._ids,O=this._getGraphs(T);let $,D,P;if(v=this._uniqueEntities(v),!(R(b)&&!(D=E[b])||R(S)&&!(P=E[S])))for(T in O)($=O[T])&&(D?P?this._loopBy2Keys($.objects,P,D,v):this._loopByKey0($.subjects,D,v):P?this._loopByKey1($.predicates,P,v):this._loop($.predicates,v))}getObjects(v,b,S){const T=[];return this.forObjects(E=>{T.push(E)},v,b,S),T}forObjects(v,b,S,T){b=b&&(0,X.termToId)(b),S=S&&(0,X.termToId)(S),T=T&&(0,X.termToId)(T);const E=this._ids,O=this._getGraphs(T);let $,D,P;if(v=this._uniqueEntities(v),!(R(b)&&!(D=E[b])||R(S)&&!(P=E[S])))for(T in O)($=O[T])&&(D?P?this._loopBy2Keys($.subjects,D,P,v):this._loopByKey1($.objects,D,v):P?this._loopByKey0($.predicates,P,v):this._loop($.objects,v))}getGraphs(v,b,S){const T=[];return this.forGraphs(E=>{T.push(E)},v,b,S),T}forGraphs(v,b,S,T){for(const E in this._graphs)this.some(O=>(v(O.graph),!0),b,S,T,E)}createBlankNode(v){let b,S;if(v)for(b=v=`_:${v}`,S=1;this._ids[b];)b=v+S++;else do{b="_:b"+this._blankNodeIndex++}while(this._ids[b]);return this._ids[b]=++this._id,this._entities[this._id]=b,this._factory.blankNode(b.substr(2))}extractLists({remove:v=!1,ignoreErrors:b=!1}={}){const S={},T=b?()=>!0:($,D)=>{throw new Error(`${$.value} ${D}`)},E=this.getQuads(null,F.default.rdf.rest,F.default.rdf.nil,null),O=v?[...E]:[];return E.forEach($=>{const D=[];let Z,x,P=!1;const W=$.graph;let ne=$.subject;for(;ne&&!P;){const ue=this.getQuads(null,null,ne,null),se=this.getQuads(ne,null,null,null);let te,Re=null,be=null,re=null;for(let ve=0;ve{switch(y){case"data":R=v;break;case"end":M=v}}},(y,v)=>{y&&this.emit("error",y)||v&&this.push(v)},(y,v)=>{this.emit("prefix",y,v)}),this._transform=(y,v,b)=>{R(y),b()},this._flush=y=>{M(),y()}}import(w){return w.on("data",C=>{this.write(C)}),w.on("end",()=>{this.end()}),w.on("error",C=>{this.emit("error",C)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.default=void 0;var B,X=Q("readable-stream"),U=(B=Q("./N3Writer"))&&B.__esModule?B:{default:B};pe.default=class extends X.Transform{constructor(w){super({encoding:"utf8",writableObjectMode:!0});const C=this._writer=new U.default({write:(R,M,y)=>{this.push(R),y&&y()},end:R=>{this.push(null),R&&R()}},w);this._transform=(R,M,y)=>{C.addQuad(R,y)},this._flush=R=>{C.end(R)}}import(w){return w.on("data",C=>{this.write(C)}),w.on("end",()=>{this.end()}),w.on("error",C=>{this.emit("error",C)}),w.on("prefix",(C,R)=>{this._writer.addPrefix(C,R)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.inDefaultGraph=function(v){return C(v.graph)},pe.isBlankNode=function(v){return!!v&&"BlankNode"===v.termType},pe.isDefaultGraph=C,pe.isLiteral=function(v){return!!v&&"Literal"===v.termType},pe.isNamedNode=function(v){return!!v&&"NamedNode"===v.termType},pe.isVariable=function(v){return!!v&&"Variable"===v.termType},pe.prefix=function(v,b){return y({"":v.value||v},b)("")},pe.prefixes=y;var v,X=(v=Q("./N3DataFactory"))&&v.__esModule?v:{default:v};function C(v){return!!v&&"DefaultGraph"===v.termType}function y(v,b){const S=Object.create(null);for(const E in v)T(E,v[E]);function T(E,O){if("string"==typeof O){const $=Object.create(null);S[E]=D=>$[D]||($[D]=b.namedNode(O+D))}else if(!(E in S))throw new Error(`Unknown prefix: ${E}`);return S[E]}return b=b||X.default,T}},{"./N3DataFactory":35}],42:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.default=void 0;var $,X=($=Q("./IRIs"))&&$.__esModule?$:{default:$},U=function($,D){if(!D&&$&&$.__esModule)return $;if(null===$||"object"!=typeof $&&"function"!=typeof $)return{default:$};var P=Y(D);if(P&&P.has($))return P.get($);var Z={},x=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var W in $)if("default"!==W&&Object.prototype.hasOwnProperty.call($,W)){var ne=x?Object.getOwnPropertyDescriptor($,W):null;ne&&(ne.get||ne.set)?Object.defineProperty(Z,W,ne):Z[W]=$[W]}return Z.default=$,P&&P.set($,Z),Z}(Q("./N3DataFactory")),F=Q("./N3Util");function Y($){if("function"!=typeof WeakMap)return null;var D=new WeakMap,P=new WeakMap;return(Y=function(Z){return Z?P:D})($)}const C=U.default.defaultGraph(),{rdf:R,xsd:M}=X.default,y=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,v=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,b={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class S extends U.Term{equals(){return!1}}function E($){let D=b[$];return void 0===D&&(1===$.length?(D=$.charCodeAt(0).toString(16),D="\\u0000".substr(0,6-D.length)+D):(D=(1024*($.charCodeAt(0)-55296)+$.charCodeAt(1)+9216).toString(16),D="\\U00000000".substr(0,10-D.length)+D)),D}function O($){return $.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}pe.default=class{constructor(D,P){if(this._prefixRegex=/$0^/,D&&"function"!=typeof D.write&&(P=D,D=null),this._lists=(P=P||{}).lists,D)this._outputStream=D,this._endStream=void 0===P.end||!!P.end;else{let Z="";this._outputStream={write(x,W,ne){Z+=x,ne&&ne()},end:x=>{x&&x(null,Z)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(P.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=C,this._prefixIRIs=Object.create(null),P.prefixes&&this.addPrefixes(P.prefixes),P.baseIRI&&(this._baseMatcher=new RegExp(`^${O(P.baseIRI)}${P.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=P.baseIRI.length))}get _inDefaultGraph(){return C.equals(this._graph)}_write(D,P){this._outputStream.write(D,"utf8",P)}_writeQuad(D,P,Z,x,W){try{x.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(C.equals(x)?"":`${this._encodeIriOrBlank(x)} {\n`)),this._graph=x,this._subject=null),D.equals(this._subject)?P.equals(this._predicate)?this._write(`, ${this._encodeObject(Z)}`,W):this._write(`;\n ${this._encodePredicate(this._predicate=P)} ${this._encodeObject(Z)}`,W):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=D)} ${this._encodePredicate(this._predicate=P)} ${this._encodeObject(Z)}`,W)}catch(ne){W&&W(ne)}}_writeQuadLine(D,P,Z,x,W){delete this._prefixMatch,this._write(this.quadToString(D,P,Z,x),W)}quadToString(D,P,Z,x){return`${this._encodeSubject(D)} ${this._encodeIriOrBlank(P)} ${this._encodeObject(Z)}${x&&x.value?` ${this._encodeIriOrBlank(x)} .\n`:" .\n"}`}quadsToString(D){return D.map(P=>this.quadToString(P.subject,P.predicate,P.object,P.graph)).join("")}_encodeSubject(D){return"Quad"===D.termType?this._encodeQuad(D):this._encodeIriOrBlank(D)}_encodeIriOrBlank(D){if("NamedNode"!==D.termType)return this._lists&&D.value in this._lists&&(D=this.list(this._lists[D.value])),"id"in D?D.id:`_:${D.value}`;let P=D.value;this._baseMatcher&&this._baseMatcher.test(P)&&(P=P.substr(this._baseLength)),y.test(P)&&(P=P.replace(v,E));const Z=this._prefixRegex.exec(P);return Z?Z[1]?this._prefixIRIs[Z[1]]+Z[2]:P:`<${P}>`}_encodeLiteral(D){let P=D.value;if(y.test(P)&&(P=P.replace(v,E)),D.language)return`"${P}"@${D.language}`;if(this._lineMode){if(D.datatype.value===M.string)return`"${P}"`}else switch(D.datatype.value){case M.string:return`"${P}"`;case M.boolean:if("true"===P||"false"===P)return P;break;case M.integer:if(/^[+-]?\d+$/.test(P))return P;break;case M.decimal:if(/^[+-]?\d*\.\d+$/.test(P))return P;break;case M.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(P))return P}return`"${P}"^^${this._encodeIriOrBlank(D.datatype)}`}_encodePredicate(D){return D.value===R.type?"a":this._encodeIriOrBlank(D)}_encodeObject(D){switch(D.termType){case"Quad":return this._encodeQuad(D);case"Literal":return this._encodeLiteral(D);default:return this._encodeIriOrBlank(D)}}_encodeQuad({subject:D,predicate:P,object:Z,graph:x}){return`<<${this._encodeSubject(D)} ${this._encodePredicate(P)} ${this._encodeObject(Z)}${(0,F.isDefaultGraph)(x)?"":` ${this._encodeIriOrBlank(x)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(D,P,Z,x,W){void 0===Z?this._writeQuad(D.subject,D.predicate,D.object,D.graph,P):"function"==typeof x?this._writeQuad(D,P,Z,C,x):this._writeQuad(D,P,Z,x||C,W)}addQuads(D){for(let P=0;P.\n`)}if(Z){let x="",W="";for(const ne in this._prefixIRIs)x+=x?`|${ne}`:ne,W+=(W?"|":"")+this._prefixIRIs[ne];x=O(x),this._prefixRegex=new RegExp(`^(?:${W})[^/]*$|^(${x})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(Z?"\n":"",P)}blank(D,P){let x,W,Z=D;switch(void 0===D?Z=[]:D.termType?Z=[{predicate:D,object:P}]:"length"in D||(Z=[D]),W=Z.length){case 0:return new S("[]");case 1:if(x=Z[0],!(x.object instanceof S))return new S(`[ ${this._encodePredicate(x.predicate)} ${this._encodeObject(x.object)} ]`);default:let ne="[";for(let ue=0;ue{P=null,D(Z,x)});if(this._endStream)try{return this._outputStream.end(P)}catch(Z){}P&&P()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),Object.defineProperty(pe,"BlankNode",{enumerable:!0,get:function(){return R.BlankNode}}),Object.defineProperty(pe,"DataFactory",{enumerable:!0,get:function(){return R.default}}),Object.defineProperty(pe,"DefaultGraph",{enumerable:!0,get:function(){return R.DefaultGraph}}),Object.defineProperty(pe,"Lexer",{enumerable:!0,get:function(){return X.default}}),Object.defineProperty(pe,"Literal",{enumerable:!0,get:function(){return R.Literal}}),Object.defineProperty(pe,"NamedNode",{enumerable:!0,get:function(){return R.NamedNode}}),Object.defineProperty(pe,"Parser",{enumerable:!0,get:function(){return U.default}}),Object.defineProperty(pe,"Quad",{enumerable:!0,get:function(){return R.Quad}}),Object.defineProperty(pe,"Store",{enumerable:!0,get:function(){return Y.default}}),Object.defineProperty(pe,"StreamParser",{enumerable:!0,get:function(){return B.default}}),Object.defineProperty(pe,"StreamWriter",{enumerable:!0,get:function(){return w.default}}),Object.defineProperty(pe,"Term",{enumerable:!0,get:function(){return R.Term}}),Object.defineProperty(pe,"Triple",{enumerable:!0,get:function(){return R.Triple}}),pe.Util=void 0,Object.defineProperty(pe,"Variable",{enumerable:!0,get:function(){return R.Variable}}),Object.defineProperty(pe,"Writer",{enumerable:!0,get:function(){return F.default}}),pe.default=void 0,Object.defineProperty(pe,"termFromId",{enumerable:!0,get:function(){return R.termFromId}}),Object.defineProperty(pe,"termToId",{enumerable:!0,get:function(){return R.termToId}});var X=v(Q("./N3Lexer")),U=v(Q("./N3Parser")),F=v(Q("./N3Writer")),Y=v(Q("./N3Store")),B=v(Q("./N3StreamParser")),w=v(Q("./N3StreamWriter")),C=y(Q("./N3Util"));pe.Util=C;var R=y(Q("./N3DataFactory"));function M(S){if("function"!=typeof WeakMap)return null;var T=new WeakMap,E=new WeakMap;return(M=function(O){return O?E:T})(S)}function y(S,T){if(!T&&S&&S.__esModule)return S;if(null===S||"object"!=typeof S&&"function"!=typeof S)return{default:S};var E=M(T);if(E&&E.has(S))return E.get(S);var O={},$=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var D in S)if("default"!==D&&Object.prototype.hasOwnProperty.call(S,D)){var P=$?Object.getOwnPropertyDescriptor(S,D):null;P&&(P.get||P.set)?Object.defineProperty(O,D,P):O[D]=S[D]}return O.default=S,E&&E.set(S,O),O}function v(S){return S&&S.__esModule?S:{default:S}}pe.default={Lexer:X.default,Parser:U.default,Writer:F.default,Store:Y.default,StreamParser:B.default,StreamWriter:w.default,Util:C,DataFactory:R.default,Term:R.Term,NamedNode:R.NamedNode,Literal:R.Literal,BlankNode:R.BlankNode,Variable:R.Variable,DefaultGraph:R.DefaultGraph,Quad:R.Quad,Triple:R.Triple,termFromId:R.termFromId,termToId:R.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(Q,Ee,pe){var U,F,X=Ee.exports={};function Y(){throw new Error("setTimeout has not been defined")}function B(){throw new Error("clearTimeout has not been defined")}function w(O){if(U===setTimeout)return setTimeout(O,0);if((U===Y||!U)&&setTimeout)return U=setTimeout,setTimeout(O,0);try{return U(O,0)}catch($){try{return U.call(null,O,0)}catch(D){return U.call(this,O,0)}}}!function(){try{U="function"==typeof setTimeout?setTimeout:Y}catch(O){U=Y}try{F="function"==typeof clearTimeout?clearTimeout:B}catch(O){F=B}}();var y,R=[],M=!1,v=-1;function b(){!M||!y||(M=!1,y.length?R=y.concat(R):v=-1,R.length&&S())}function S(){if(!M){var O=w(b);M=!0;for(var $=R.length;$;){for(y=R,R=[];++v<$;)y&&y[v].run();v=-1,$=R.length}y=null,M=!1,function(O){if(F===clearTimeout)return clearTimeout(O);if((F===B||!F)&&clearTimeout)return F=clearTimeout,clearTimeout(O);try{F(O)}catch($){try{return F.call(null,O)}catch(D){return F.call(this,O)}}}(O)}}function T(O,$){this.fun=O,this.array=$}function E(){}X.nextTick=function(O){var $=new Array(arguments.length-1);if(arguments.length>1)for(var D=1;D(U||(U=Promise.resolve())).then(F).catch(Y=>setTimeout(()=>{throw Y},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(Q,Ee,pe){Ee.exports=Q("./lib")},{"./lib":55}],47:[function(Q,Ee,pe){"use strict";Ee.exports=class kq{constructor(U,F=new Map,Y=0){this.prefix=U,this._existing=F,this.counter=Y}clone(){const{prefix:U,_existing:F,counter:Y}=this;return new kq(U,new Map(F),Y)}getId(U){const F=U&&this._existing.get(U);if(F)return F;const Y=this.prefix+this.counter;return this.counter++,U&&this._existing.set(U,Y),Y}hasId(U){return this._existing.has(U)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(Q,Ee,pe){"use strict";Q("setimmediate");const X=self.crypto||self.msCrypto;Ee.exports=class{constructor(F){if(!X||!X.subtle)throw new Error("crypto.subtle not found.");if("sha256"===F)this.algorithm={name:"SHA-256"};else{if("sha1"!==F)throw new Error(`Unsupport algorithm "${F}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(F){this._content+=F}digest(){var F=this;return lt(function*(){const Y=(new TextEncoder).encode(F._content),B=new Uint8Array(yield X.subtle.digest(F.algorithm,Y));let w="";for(let C=0;C]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),Ee.exports=class ik{static parse(O){const $=[],D={},P=O.split(M.eoln);let Z=0;for(const x of P){if(Z++,M.empty.test(x))continue;const W=x.match(M.quad);if(null===W)throw new Error("N-Quads parse error on line "+Z+".");const ne={subject:null,predicate:null,object:null,graph:null};if(ne.subject=void 0!==W[1]?{termType:B,value:W[1]}:{termType:w,value:W[2]},ne.predicate={termType:B,value:W[3]},void 0!==W[4]?ne.object={termType:B,value:W[4]}:void 0!==W[5]?ne.object={termType:w,value:W[5]}:(ne.object={termType:C,value:void 0,datatype:{termType:B}},void 0!==W[7]?ne.object.datatype.value=W[7]:void 0!==W[8]?(ne.object.datatype.value=F,ne.object.language=W[8]):ne.object.datatype.value=Y,ne.object.value=W[6].replace(S,function(O,$,D,P){if($)switch($){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(D)return String.fromCharCode(parseInt(D,16));if(P)throw new Error("Unsupported U escape")})),ne.graph=void 0!==W[9]?{termType:B,value:W[9]}:void 0!==W[10]?{termType:w,value:W[10]}:{termType:R,value:""},ne.graph.value in D){let ue=!0;const se=D[ne.graph.value];for(const te of se)if(y(te,ne)){ue=!1;break}ue&&(se.push(ne),$.push(ne))}else D[ne.graph.value]=[ne],$.push(ne)}return $}static serialize(O){Array.isArray(O)||(O=ik.legacyDatasetToQuads(O));const $=[];for(const D of O)$.push(ik.serializeQuad(D));return $.sort().join("")}static serializeQuad(O){const $=O.subject,P=O.object,Z=O.graph;let x="";return x+=$.termType===B?`<${$.value}>`:`${$.value}`,x+=` <${O.predicate.value}> `,P.termType===B?x+=`<${P.value}>`:P.termType===w?x+=P.value:(x+=`"${E=P.value,E.replace(v,function(O){switch(O){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,P.datatype.value===F?P.language&&(x+=`@${P.language}`):P.datatype.value!==Y&&(x+=`^^<${P.datatype.value}>`)),Z.termType===B?x+=` <${Z.value}>`:Z.termType===w&&(x+=` ${Z.value}`),x+=" .\n",x;var E}static legacyDatasetToQuads(O){const $=[],D={"blank node":w,IRI:B,literal:C};for(const P in O)O[P].forEach(x=>{const W={};for(const ne in x){const ue=x[ne],se={termType:D[ue.type],value:ue.value};se.termType===C&&(se.datatype={termType:B},"datatype"in ue&&(se.datatype.value=ue.datatype),"language"in ue?("datatype"in ue||(se.datatype.value=F),se.language=ue.language):"datatype"in ue||(se.datatype.value=Y)),W[ne]=se}W.graph="@default"===P?{termType:R,value:""}:{termType:P.startsWith("_:")?w:B,value:P},$.push(W)});return $}};const v=/["\\\n\r]/g;const S=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(Q,Ee,pe){"use strict";Ee.exports=class{constructor(U){this.current=U.sort(),this.done=!1,this.dir=new Map;for(let F=0;FB)&&(y&&R>0&&M>U[R-1]||!y&&RU[R+1])&&(B=M,w=R)}if(null===B)this.done=!0;else{const R=F.get(B)?w-1:w+1;U[w]=U[R],U[R]=B;for(const M of U)M>B&&F.set(M,!F.get(M))}return Y}}},{}],51:[function(Q,Ee,pe){(function(X){(function(){"use strict";const U=Q("./IdentifierIssuer"),F=Q("./MessageDigest"),Y=Q("./Permuter"),B=Q("./NQuads");function w(C,R){return C.hashR.hash?1:0}Ee.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new U("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(R){var M=this;return lt(function*(){M.quads=R;for(const O of R)M._addBlankNodeQuadInfo({quad:O,component:O.subject}),M._addBlankNodeQuadInfo({quad:O,component:O.object}),M._addBlankNodeQuadInfo({quad:O,component:O.graph});const y=new Map,v=[...M.blankNodeInfo.keys()];let b=0;for(const O of v)++b%100==0&&(yield M._yield()),yield M._hashAndTrackBlankNode({id:O,hashToBlankNodes:y});const S=[...y.keys()].sort(),T=[];for(const O of S){const $=y.get(O);$.length>1?T.push($):M.canonicalIssuer.getId($[0])}for(const O of T){const $=[];for(const D of O){if(M.canonicalIssuer.hasId(D))continue;const P=new U("_:b");P.getId(D);const Z=yield M.hashNDegreeQuads(D,P);$.push(Z)}$.sort(w);for(const D of $){const P=D.issuer.getOldIds();for(const Z of P)M.canonicalIssuer.getId(Z)}}const E=[];for(const O of M.quads){const $=at({},O);$.subject=M._useCanonicalId({component:$.subject}),$.object=M._useCanonicalId({component:$.object}),$.graph=M._useCanonicalId({component:$.graph}),E.push(B.serializeQuad($))}return E.sort(),E.join("")})()}hashFirstDegreeQuads(R){var M=this;return lt(function*(){const y=[],v=M.blankNodeInfo.get(R),b=v.quads;for(const T of b){const E={subject:null,predicate:T.predicate,object:null,graph:null};E.subject=M.modifyFirstDegreeComponent(R,T.subject,"subject"),E.object=M.modifyFirstDegreeComponent(R,T.object,"object"),E.graph=M.modifyFirstDegreeComponent(R,T.graph,"graph"),y.push(B.serializeQuad(E))}y.sort();const S=new F(M.hashAlgorithm);for(const T of y)S.update(T);return v.hash=yield S.digest(),v.hash})()}hashRelatedBlankNode(R,M,y,v){var b=this;return lt(function*(){let S;S=b.canonicalIssuer.hasId(R)?b.canonicalIssuer.getId(R):y.hasId(R)?y.getId(R):b.blankNodeInfo.get(R).hash;const T=new F(b.hashAlgorithm);return T.update(v),"g"!==v&&T.update(b.getRelatedPredicate(M)),T.update(S),T.digest()})()}hashNDegreeQuads(R,M){var y=this;return lt(function*(){const v=new F(y.hashAlgorithm),b=yield y.createHashToRelated(R,M),S=[...b.keys()].sort();for(const T of S){v.update(T);let O,E="";const $=new Y(b.get(T));let D=0;for(;$.hasNext();){const P=$.next();++D%3==0&&(yield y._yield());let Z=M.clone(),x="";const W=[];let ne=!1;for(const ue of P)if(y.canonicalIssuer.hasId(ue)?x+=y.canonicalIssuer.getId(ue):(Z.hasId(ue)||W.push(ue),x+=Z.getId(ue)),0!==E.length&&x>E){ne=!0;break}if(!ne){for(const ue of W){const se=yield y.hashNDegreeQuads(ue,Z);if(x+=Z.getId(ue),x+=`<${se.hash}>`,Z=se.issuer,0!==E.length&&x>E){ne=!0;break}}ne||(0===E.length||x`}createHashToRelated(R,M){var y=this;return lt(function*(){const v=new Map,b=y.blankNodeInfo.get(R).quads;let S=0;for(const T of b)++S%100==0&&(yield y._yield()),yield Promise.all([y._addRelatedBlankNodeHash({quad:T,component:T.subject,position:"s",id:R,issuer:M,hashToRelated:v}),y._addRelatedBlankNodeHash({quad:T,component:T.object,position:"o",id:R,issuer:M,hashToRelated:v}),y._addRelatedBlankNodeHash({quad:T,component:T.graph,position:"g",id:R,issuer:M,hashToRelated:v})]);return v})()}_hashAndTrackBlankNode({id:R,hashToBlankNodes:M}){var y=this;return lt(function*(){const v=yield y.hashFirstDegreeQuads(R),b=M.get(v);b?b.push(R):M.set(v,[R])})()}_addBlankNodeQuadInfo({quad:R,component:M}){if("BlankNode"!==M.termType)return;const y=M.value,v=this.blankNodeInfo.get(y);v?v.quads.add(R):this.blankNodeInfo.set(y,{quads:new Set([R]),hash:null})}_addRelatedBlankNodeHash({quad:R,component:M,position:y,id:v,issuer:b,hashToRelated:S}){var T=this;return lt(function*(){if("BlankNode"!==M.termType||M.value===v)return;const E=M.value,O=yield T.hashRelatedBlankNode(E,R,b,y),$=S.get(O);$?$.push(E):S.set(O,[E])})()}_useCanonicalId({component:R}){return"BlankNode"!==R.termType||R.value.startsWith(this.canonicalIssuer.prefix)?R:{termType:"BlankNode",value:this.canonicalIssuer.getId(R.value)}}_yield(){return lt(function*(){return new Promise(R=>X(R))})()}}}).call(this)}).call(this,Q("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(Q,Ee,pe){"use strict";const X=Q("./IdentifierIssuer"),U=Q("./MessageDigest"),F=Q("./Permuter"),Y=Q("./NQuads");function B(w,C){return w.hashC.hash?1:0}Ee.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new X("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(C){this.quads=C;for(const S of C)this._addBlankNodeQuadInfo({quad:S,component:S.subject}),this._addBlankNodeQuadInfo({quad:S,component:S.object}),this._addBlankNodeQuadInfo({quad:S,component:S.graph});const R=new Map,M=[...this.blankNodeInfo.keys()];for(const S of M)this._hashAndTrackBlankNode({id:S,hashToBlankNodes:R});const y=[...R.keys()].sort(),v=[];for(const S of y){const T=R.get(S);T.length>1?v.push(T):this.canonicalIssuer.getId(T[0])}for(const S of v){const T=[];for(const E of S){if(this.canonicalIssuer.hasId(E))continue;const O=new X("_:b");O.getId(E);const $=this.hashNDegreeQuads(E,O);T.push($)}T.sort(B);for(const E of T){const O=E.issuer.getOldIds();for(const $ of O)this.canonicalIssuer.getId($)}}const b=[];for(const S of this.quads){const T=at({},S);T.subject=this._useCanonicalId({component:T.subject}),T.object=this._useCanonicalId({component:T.object}),T.graph=this._useCanonicalId({component:T.graph}),b.push(Y.serializeQuad(T))}return b.sort(),b.join("")}hashFirstDegreeQuads(C){const R=[],M=this.blankNodeInfo.get(C),y=M.quads;for(const b of y){const S={subject:null,predicate:b.predicate,object:null,graph:null};S.subject=this.modifyFirstDegreeComponent(C,b.subject,"subject"),S.object=this.modifyFirstDegreeComponent(C,b.object,"object"),S.graph=this.modifyFirstDegreeComponent(C,b.graph,"graph"),R.push(Y.serializeQuad(S))}R.sort();const v=new U(this.hashAlgorithm);for(const b of R)v.update(b);return M.hash=v.digest(),M.hash}hashRelatedBlankNode(C,R,M,y){let v;v=this.canonicalIssuer.hasId(C)?this.canonicalIssuer.getId(C):M.hasId(C)?M.getId(C):this.blankNodeInfo.get(C).hash;const b=new U(this.hashAlgorithm);return b.update(y),"g"!==y&&b.update(this.getRelatedPredicate(R)),b.update(v),b.digest()}hashNDegreeQuads(C,R){const M=new U(this.hashAlgorithm),y=this.createHashToRelated(C,R),v=[...y.keys()].sort();for(const b of v){M.update(b);let T,S="";const E=new F(y.get(b));for(;E.hasNext();){const O=E.next();let $=R.clone(),D="";const P=[];let Z=!1;for(const x of O)if(this.canonicalIssuer.hasId(x)?D+=this.canonicalIssuer.getId(x):($.hasId(x)||P.push(x),D+=$.getId(x)),0!==S.length&&D>S){Z=!0;break}if(!Z){for(const x of P){const W=this.hashNDegreeQuads(x,$);if(D+=$.getId(x),D+=`<${W.hash}>`,$=W.issuer,0!==S.length&&D>S){Z=!0;break}}Z||(0===S.length||D`}createHashToRelated(C,R){const M=new Map,y=this.blankNodeInfo.get(C).quads;for(const v of y)this._addRelatedBlankNodeHash({quad:v,component:v.subject,position:"s",id:C,issuer:R,hashToRelated:M}),this._addRelatedBlankNodeHash({quad:v,component:v.object,position:"o",id:C,issuer:R,hashToRelated:M}),this._addRelatedBlankNodeHash({quad:v,component:v.graph,position:"g",id:C,issuer:R,hashToRelated:M});return M}_hashAndTrackBlankNode({id:C,hashToBlankNodes:R}){const M=this.hashFirstDegreeQuads(C),y=R.get(M);y?y.push(C):R.set(M,[C])}_addBlankNodeQuadInfo({quad:C,component:R}){if("BlankNode"!==R.termType)return;const M=R.value,y=this.blankNodeInfo.get(M);y?y.quads.add(C):this.blankNodeInfo.set(M,{quads:new Set([C]),hash:null})}_addRelatedBlankNodeHash({quad:C,component:R,position:M,id:y,issuer:v,hashToRelated:b}){if("BlankNode"!==R.termType||R.value===y)return;const S=R.value,T=this.hashRelatedBlankNode(S,C,v,M),E=b.get(T);E?E.push(S):b.set(T,[S])}_useCanonicalId({component:C}){return"BlankNode"!==C.termType||C.value.startsWith(this.canonicalIssuer.prefix)?C:{termType:"BlankNode",value:this.canonicalIssuer.getId(C.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(Q,Ee,pe){"use strict";const X=Q("./URDNA2015");Ee.exports=class extends X{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(F,Y,B){return"BlankNode"!==Y.termType?Y:"graph"===B?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Y.value===F?"_:a":"_:z"}}getRelatedPredicate(F){return F.predicate.value}createHashToRelated(F,Y){var B=this;return lt(function*(){const w=new Map,C=B.blankNodeInfo.get(F).quads;let R=0;for(const M of C){let y,v;if("BlankNode"===M.subject.termType&&M.subject.value!==F)v=M.subject.value,y="p";else{if("BlankNode"!==M.object.termType||M.object.value===F)continue;v=M.object.value,y="r"}++R%100==0&&(yield B._yield());const b=yield B.hashRelatedBlankNode(v,M,Y,y),S=w.get(b);S?S.push(v):w.set(b,[v])}return w})()}}},{"./URDNA2015":51}],54:[function(Q,Ee,pe){"use strict";const X=Q("./URDNA2015Sync");Ee.exports=class extends X{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(F,Y,B){return"BlankNode"!==Y.termType?Y:"graph"===B?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:Y.value===F?"_:a":"_:z"}}getRelatedPredicate(F){return F.predicate.value}createHashToRelated(F,Y){const B=new Map,w=this.blankNodeInfo.get(F).quads;for(const C of w){let R,M;if("BlankNode"===C.subject.termType&&C.subject.value!==F)M=C.subject.value,R="p";else{if("BlankNode"!==C.object.termType||C.object.value===F)continue;M=C.object.value,R="r"}const y=this.hashRelatedBlankNode(M,C,Y,R),v=B.get(y);v?v.push(M):B.set(y,[M])}return B}}},{"./URDNA2015Sync":52}],55:[function(Q,Ee,pe){"use strict";const X=Q("./URDNA2015"),U=Q("./URGNA2012"),F=Q("./URDNA2015Sync"),Y=Q("./URGNA2012Sync");let B;try{B=Q("rdf-canonize-native")}catch(C){}const w={};Ee.exports=w,w.NQuads=Q("./NQuads"),w.IdentifierIssuer=Q("./IdentifierIssuer"),w._rdfCanonizeNative=function(C){return C&&(B=C),B},w.canonize=function(){var C=lt(function*(R,M){if(Array.isArray(R)||(R=w.NQuads.legacyDatasetToQuads(R)),M.useNative){if(!B)throw new Error("rdf-canonize-native not available");return new Promise((y,v)=>B.canonize(R,M,(b,S)=>b?v(b):y(S)))}if("URDNA2015"===M.algorithm)return new X(M).main(R);if("URGNA2012"===M.algorithm)return new U(M).main(R);throw"algorithm"in M?new Error("Invalid RDF Dataset Canonicalization algorithm: "+M.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(R,M){return C.apply(this,arguments)}}(),w._canonizeSync=function(C,R){if(Array.isArray(C)||(C=w.NQuads.legacyDatasetToQuads(C)),R.useNative){if(B)return B.canonizeSync(C,R);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===R.algorithm)return new F(R).main(C);if("URGNA2012"===R.algorithm)return new Y(R).main(C);throw"algorithm"in R?new Error("Invalid RDF Dataset Canonicalization algorithm: "+R.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(Q,Ee,pe){"use strict";var X=this&&this.__createBinding||(Object.create?function(F,Y,B,w){void 0===w&&(w=B),Object.defineProperty(F,w,{enumerable:!0,get:function(){return Y[B]}})}:function(F,Y,B,w){void 0===w&&(w=B),F[w]=Y[B]}),U=this&&this.__exportStar||function(F,Y){for(var B in F)"default"!==B&&!Object.prototype.hasOwnProperty.call(Y,B)&&X(Y,F,B)};Object.defineProperty(pe,"__esModule",{value:!0}),U(Q("./lib/BlankNode"),pe),U(Q("./lib/DataFactory"),pe),U(Q("./lib/DefaultGraph"),pe),U(Q("./lib/Literal"),pe),U(Q("./lib/NamedNode"),pe),U(Q("./lib/Quad"),pe),U(Q("./lib/Variable"),pe)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.BlankNode=void 0;pe.BlankNode=class{constructor(F){this.termType="BlankNode",this.value=F}equals(F){return!!F&&"BlankNode"===F.termType&&F.value===this.value}}},{}],58:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.DataFactory=void 0;const X=Q("./BlankNode"),U=Q("./DefaultGraph"),F=Q("./Literal"),Y=Q("./NamedNode"),B=Q("./Quad"),w=Q("./Variable");let C=0;pe.DataFactory=class{constructor(y){this.blankNodeCounter=0,this.blankNodePrefix=(y=y||{}).blankNodePrefix||`df_${C++}_`}namedNode(y){return new Y.NamedNode(y)}blankNode(y){return new X.BlankNode(y||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(y,v){return new F.Literal(y,v)}variable(y){return new w.Variable(y)}defaultGraph(){return U.DefaultGraph.INSTANCE}quad(y,v,b,S){return new B.Quad(y,v,b,S||this.defaultGraph())}fromTerm(y){switch(y.termType){case"NamedNode":return this.namedNode(y.value);case"BlankNode":return this.blankNode(y.value);case"Literal":return y.language?this.literal(y.value,y.language):y.datatype.equals(F.Literal.XSD_STRING)?this.literal(y.value):this.literal(y.value,this.fromTerm(y.datatype));case"Variable":return this.variable(y.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(y.subject),this.fromTerm(y.predicate),this.fromTerm(y.object),this.fromTerm(y.graph))}}fromQuad(y){return this.fromTerm(y)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.DefaultGraph=void 0;class X{constructor(){this.termType="DefaultGraph",this.value=""}equals(F){return!!F&&"DefaultGraph"===F.termType}}pe.DefaultGraph=X,X.INSTANCE=new X},{}],60:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.Literal=void 0;const X=Q("./NamedNode");class U{constructor(Y,B){this.termType="Literal",this.value=Y,"string"==typeof B?(this.language=B,this.datatype=U.RDF_LANGUAGE_STRING):B?(this.language="",this.datatype=B):(this.language="",this.datatype=U.XSD_STRING)}equals(Y){return!!Y&&"Literal"===Y.termType&&Y.value===this.value&&Y.language===this.language&&Y.datatype.equals(this.datatype)}}pe.Literal=U,U.RDF_LANGUAGE_STRING=new X.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),U.XSD_STRING=new X.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.NamedNode=void 0;pe.NamedNode=class{constructor(F){this.termType="NamedNode",this.value=F}equals(F){return!!F&&"NamedNode"===F.termType&&F.value===this.value}}},{}],62:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.Quad=void 0;pe.Quad=class{constructor(F,Y,B,w){this.termType="Quad",this.value="",this.subject=F,this.predicate=Y,this.object=B,this.graph=w}equals(F){return!!F&&("Quad"===F.termType||!F.termType)&&this.subject.equals(F.subject)&&this.predicate.equals(F.predicate)&&this.object.equals(F.object)&&this.graph.equals(F.graph)}}},{}],63:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.Variable=void 0;pe.Variable=class{constructor(F){this.termType="Variable",this.value=F}equals(F){return!!F&&"Variable"===F.termType&&F.value===this.value}}},{}],64:[function(Q,Ee,pe){"use strict";var X=this&&this.__createBinding||(Object.create?function(F,Y,B,w){void 0===w&&(w=B),Object.defineProperty(F,w,{enumerable:!0,get:function(){return Y[B]}})}:function(F,Y,B,w){void 0===w&&(w=B),F[w]=Y[B]}),U=this&&this.__exportStar||function(F,Y){for(var B in F)"default"!==B&&!Object.prototype.hasOwnProperty.call(Y,B)&&X(Y,F,B)};Object.defineProperty(pe,"__esModule",{value:!0}),U(Q("./lib/RdfXmlParser"),pe)},{"./lib/RdfXmlParser":66}],65:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.ParseError=void 0;class X extends Error{constructor(F,Y){const B=F.saxStream._parser;super(F.trackPosition?`Line ${B.line+1} column ${B.column+1}: ${Y}`:Y)}}pe.ParseError=X},{}],66:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),pe.ParseType=pe.RdfXmlParser=void 0;const X=Q("relative-to-absolute-iri"),U=Q("sax"),F=Q("stream"),Y=Q("./ParseError"),B=Q("rdf-data-factory");class w extends F.Transform{constructor(M){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},M&&(Object.assign(this,M),this.options=M),this.dataFactory||(this.dataFactory=new B.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=U.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(M,y){const v={};let b=!1;for(const T in M.attributes)T.startsWith("xmlns")&&(5===T.length?(b=!0,v[""]=M.attributes[T]):":"===T.charAt(5)&&(b=!0,v[T.substr(6)]=M.attributes[T]));const S=y&&y.ns?y.ns:[w.DEFAULT_NS];return b?S.concat([v]):S}static expandPrefixedTerm(M,y,v){const b=M.indexOf(":");let S,T;b>=0?(S=M.substr(0,b),T=M.substr(b+1)):(S="",T=M);let E=null,O=null;for(let $=y.length-1;$>=0;$--){const D=y[$][S];if(D){E=D;break}O||(O=y[$][""])}if(!E){if(S&&"xmlns"!==S)throw new Y.ParseError(v,`The prefix '${S}' in term '${M}' was not bound.`);E=O||""}return{prefix:S,local:T,uri:E}}static isValidIri(M){return w.IRI_REGEX.test(M)}import(M){const y=new F.PassThrough({readableObjectMode:!0});M.on("error",b=>v.emit("error",b)),M.on("data",b=>y.push(b)),M.on("end",()=>y.push(null));const v=y.pipe(new w(this.options));return v}_transform(M,y,v){try{this.saxStream.write(M,y)}catch(b){return v(b)}v()}newParseError(M){return new Y.ParseError(this,M)}valueToUri(M,y){return this.uriToNamedNode(X.resolve(M,y.baseIRI))}uriToNamedNode(M){if(!w.isValidIri(M))throw this.newParseError(`Invalid URI: ${M}`);return this.dataFactory.namedNode(M)}validateNcname(M){if(!w.NCNAME_MATCHER.test(M))throw this.newParseError(`Not a valid NCName: ${M}`)}attachSaxListeners(){this.saxStream.on("error",M=>this.emit("error",M)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(M){const y=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let v=C.RESOURCE;if(y&&(y.hadChildren=!0,v=y.childrenParseType),y&&y.childrenStringTags){const S=M.name;let T="";for(const D in M.attributes)T+=` ${D}="${M.attributes[D]}"`;y.childrenStringTags.push(`<${S}${T}>`);const $={childrenStringTags:y.childrenStringTags};return $.childrenStringEmitClosingTag=``,void this.activeTagStack.push($)}const b={};y?(b.language=y.language,b.baseIRI=y.baseIRI):b.baseIRI=this.baseIRI,this.activeTagStack.push(b),b.ns=w.parseNamespace(M,y),v===C.RESOURCE?this.onTagResource(M,b,y,!y):this.onTagProperty(M,b,y)}onTagResource(M,y,v,b){const S=w.expandPrefixedTerm(M.name,y.ns,this);y.childrenParseType=C.PROPERTY;let T=!0;if(S.uri===w.RDF){if(!b&&w.FORBIDDEN_NODE_ELEMENTS.indexOf(S.local)>=0)throw this.newParseError(`Illegal node element name: ${S.local}`);switch(S.local){case"RDF":y.childrenParseType=C.RESOURCE;case"Description":T=!1}}const E=[],O=[];let $=null,D=!1,P=!1,Z=null;for(const x in M.attributes){const W=M.attributes[x],ne=w.expandPrefixedTerm(x,y.ns,this);if(v&&ne.uri===w.RDF)switch(ne.local){case"about":if($)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${W} and ${$} where found.`);$=W;continue;case"ID":if($)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${W} and ${$} where found.`);this.validateNcname(W),$="#"+W,D=!0;continue;case"nodeID":if($)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${W} and ${$} where found.`);this.validateNcname(W),$=W,P=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":Z=W;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(ne.uri===w.XML){if("lang"===ne.local){y.language=""===W?null:W.toLowerCase();continue}if("base"===ne.local){y.baseIRI=X.resolve(W,y.baseIRI);continue}}"xml"!==ne.prefix&&ne.uri&&(E.push(this.uriToNamedNode(ne.uri+ne.local)),O.push(W))}if(null!==$&&(y.subject=P?this.dataFactory.blankNode($):this.valueToUri($,y),D&&this.claimNodeId(y.subject)),y.subject||(y.subject=this.dataFactory.blankNode()),T){const x=this.uriToNamedNode(S.uri+S.local);this.emitTriple(y.subject,this.dataFactory.namedNode(w.RDF+"type"),x,v?v.reifiedStatementId:null)}if(v){if(v.predicate)if(v.childrenCollectionSubject){const x=this.dataFactory.blankNode();this.emitTriple(v.childrenCollectionSubject,v.childrenCollectionPredicate,x,v.reifiedStatementId),this.emitTriple(x,this.dataFactory.namedNode(w.RDF+"first"),y.subject,y.reifiedStatementId),v.childrenCollectionSubject=x,v.childrenCollectionPredicate=this.dataFactory.namedNode(w.RDF+"rest")}else{this.emitTriple(v.subject,v.predicate,y.subject,v.reifiedStatementId);for(let x=0;x=0)throw this.newParseError(`Illegal property element name: ${b.local}`);y.predicateSubPredicates=[],y.predicateSubObjects=[];let S=!1,T=!1,E=null,O=!0;const $=[],D=[];for(const P in M.attributes){const Z=M.attributes[P],x=w.expandPrefixedTerm(P,y.ns,this);if(x.uri===w.RDF)switch(x.local){case"resource":if(E)throw this.newParseError(`Found both rdf:resource (${Z}) and rdf:nodeID (${E}).`);if(S)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${Z})`);y.hadChildren=!0,E=Z,O=!1;continue;case"datatype":if(T)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${Z}).`);if(S)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${Z})`);y.datatype=this.valueToUri(Z,y);continue;case"nodeID":if(T)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${Z}).`);if(y.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${Z}).`);if(S)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${Z})`);this.validateNcname(Z),y.hadChildren=!0,E=Z,O=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(T)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(y.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${y.datatype.value})`);if(E)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${E})`);if("Resource"===Z){S=!0,y.childrenParseType=C.PROPERTY;const W=this.dataFactory.blankNode();this.emitTriple(y.subject,y.predicate,W,y.reifiedStatementId),y.subject=W,y.predicate=null}else"Collection"===Z?(S=!0,y.hadChildren=!0,y.childrenCollectionSubject=y.subject,y.childrenCollectionPredicate=y.predicate,O=!1):"Literal"===Z&&(S=!0,y.childrenTagsToString=!0,y.childrenStringTags=[]);continue;case"ID":this.validateNcname(Z),y.reifiedStatementId=this.valueToUri("#"+Z,y),this.claimNodeId(y.reifiedStatementId);continue}else if(x.uri===w.XML&&"lang"===x.local){y.language=""===Z?null:Z.toLowerCase();continue}if("xml"!==x.prefix&&"xmlns"!==x.prefix&&x.uri){if(S||y.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${Z}`);y.hadChildren=!0,T=!0,$.push(this.uriToNamedNode(x.uri+x.local)),D.push(this.dataFactory.literal(Z,y.datatype||y.language))}}if(null!==E){const P=y.subject;y.subject=O?this.dataFactory.blankNode(E):this.valueToUri(E,y),this.emitTriple(P,y.predicate,y.subject,y.reifiedStatementId);for(let Z=0;Z<$.length;Z++)this.emitTriple(y.subject,$[Z],D[Z],null);y.predicateEmitted=!0}else O&&(y.predicateSubPredicates=$,y.predicateSubObjects=D,y.predicateEmitted=!1)}emitTriple(M,y,v,b){this.push(this.dataFactory.quad(M,y,v,this.defaultGraph)),b&&(this.push(this.dataFactory.quad(b,this.dataFactory.namedNode(w.RDF+"type"),this.dataFactory.namedNode(w.RDF+"Statement"),this.defaultGraph)),this.push(this.dataFactory.quad(b,this.dataFactory.namedNode(w.RDF+"subject"),M,this.defaultGraph)),this.push(this.dataFactory.quad(b,this.dataFactory.namedNode(w.RDF+"predicate"),y,this.defaultGraph)),this.push(this.dataFactory.quad(b,this.dataFactory.namedNode(w.RDF+"object"),v,this.defaultGraph)))}claimNodeId(M){if(!this.allowDuplicateRdfIds){if(this.nodeIds[M.value])throw this.newParseError(`Found multiple occurrences of rdf:ID='${M.value}'.`);this.nodeIds[M.value]=!0}}onText(M){const y=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;y&&(y.childrenStringTags?y.childrenStringTags.push(M):y.predicate&&(y.text=M))}onCloseTag(){const M=this.activeTagStack.pop();if(M.childrenStringEmitClosingTag&&M.childrenStringTags.push(M.childrenStringEmitClosingTag),M.childrenTagsToString&&(M.datatype=this.dataFactory.namedNode(w.RDF+"XMLLiteral"),M.text=M.childrenStringTags.join(""),M.hadChildren=!1),M.childrenCollectionSubject)this.emitTriple(M.childrenCollectionSubject,M.childrenCollectionPredicate,this.dataFactory.namedNode(w.RDF+"nil"),M.reifiedStatementId);else if(M.predicate)if(M.hadChildren||M.childrenParseType===C.PROPERTY){if(!M.predicateEmitted){const y=this.dataFactory.blankNode();this.emitTriple(M.subject,M.predicate,y,M.reifiedStatementId);for(let v=0;v/g,(y,v,b)=>(this.saxStream._parser.ENTITIES[v]=b,""))}}var C,R;pe.RdfXmlParser=w,w.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,w.MIME_TYPE="application/rdf+xml",w.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",w.XML="http://www.w3.org/XML/1998/namespace",w.XMLNS="http://www.w3.org/2000/xmlns/",w.DEFAULT_NS={xml:w.XML},w.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],w.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],w.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(R=C=pe.ParseType||(pe.ParseType={}))[R.RESOURCE=0]="RESOURCE",R[R.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(Q,Ee,pe){"use strict";var U={};function F(R,M,y){y||(y=Error);var b=function(S){function T(E,O,$){return S.call(this,function(S,T,E){return"string"==typeof M?M:M(S,T,E)}(E,O,$))||this}return function(R,M){R.prototype=Object.create(M.prototype),R.prototype.constructor=R,R.__proto__=M}(T,S),T}(y);b.prototype.name=y.name,b.prototype.code=R,U[R]=b}function Y(R,M){if(Array.isArray(R)){var y=R.length;return R=R.map(function(v){return String(v)}),y>2?"one of ".concat(M," ").concat(R.slice(0,y-1).join(", "),", or ")+R[y-1]:2===y?"one of ".concat(M," ").concat(R[0]," or ").concat(R[1]):"of ".concat(M," ").concat(R[0])}return"of ".concat(M," ").concat(String(R))}F("ERR_INVALID_OPT_VALUE",function(R,M){return'The value "'+M+'" is invalid for option "'+R+'"'},TypeError),F("ERR_INVALID_ARG_TYPE",function(R,M,y){var v,b;if("string"==typeof M&&function(R,M,y){return R.substr(!y||y<0?0:+y,M.length)===M}(M,"not ")?(v="must not be",M=M.replace(/^not /,"")):v="must be",function(R,M,y){return(void 0===y||y>R.length)&&(y=R.length),R.substring(y-M.length,y)===M}(R," argument"))b="The ".concat(R," ").concat(v," ").concat(Y(M,"type"));else{var S=function(R,M,y){return"number"!=typeof y&&(y=0),!(y+M.length>R.length)&&-1!==R.indexOf(M,y)}(R,".")?"property":"argument";b='The "'.concat(R,'" ').concat(S," ").concat(v," ").concat(Y(M,"type"))}return b+". Received type ".concat(typeof y)},TypeError),F("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),F("ERR_METHOD_NOT_IMPLEMENTED",function(R){return"The "+R+" method is not implemented"}),F("ERR_STREAM_PREMATURE_CLOSE","Premature close"),F("ERR_STREAM_DESTROYED",function(R){return"Cannot call "+R+" after a stream was destroyed"}),F("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),F("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),F("ERR_STREAM_WRITE_AFTER_END","write after end"),F("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),F("ERR_UNKNOWN_ENCODING",function(R){return"Unknown encoding: "+R},TypeError),F("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Ee.exports.codes=U},{}],68:[function(Q,Ee,pe){(function(X){(function(){"use strict";var U=Object.keys||function(v){var b=[];for(var S in v)b.push(S);return b};Ee.exports=R;var F=Q("./_stream_readable"),Y=Q("./_stream_writable");Q("inherits")(R,F);for(var B=U(Y.prototype),w=0;w0)if("string"!=typeof z&&!it.objectMode&&Object.getPrototypeOf(z)!==C.prototype&&(z=function(Ae){return C.from(Ae)}(z)),H)it.endEmitted?se(Ae,new x):Fe(Ae,it,z,!0);else if(it.ended)se(Ae,new P);else{if(it.destroyed)return!1;it.reading=!1,it.decoder&&!L?(z=it.decoder.write(z),it.objectMode||0!==z.length?Fe(Ae,it,z,!1):$e(Ae,it)):Fe(Ae,it,z,!1)}else H||(it.reading=!1,$e(Ae,it));return!it.ended&&(it.lengthz.highWaterMark&&(z.highWaterMark=function(Ae){return Ae>=Ge?Ae=Ge:(Ae--,Ae|=Ae>>>1,Ae|=Ae>>>2,Ae|=Ae>>>4,Ae|=Ae>>>8,Ae|=Ae>>>16,Ae++),Ae}(Ae)),Ae<=z.length?Ae:z.ended?z.length:(z.needReadable=!0,0))}function Me(Ae){var z=Ae._readableState;b("emitReadable",z.needReadable,z.emittedReadable),z.needReadable=!1,z.emittedReadable||(b("emitReadable",z.flowing),z.emittedReadable=!0,X.nextTick(Ce,Ae))}function Ce(Ae){var z=Ae._readableState;b("emitReadable_",z.destroyed,z.length,z.ended),!z.destroyed&&(z.length||z.ended)&&(Ae.emit("readable"),z.emittedReadable=!1),z.needReadable=!z.flowing&&!z.ended&&z.length<=z.highWaterMark,ge(Ae)}function $e(Ae,z){z.readingMore||(z.readingMore=!0,X.nextTick(Se,Ae,z))}function Se(Ae,z){for(;!z.reading&&!z.ended&&(z.length0,z.resumeScheduled&&!z.paused?z.flowing=!0:Ae.listenerCount("data")>0&&Ae.resume()}function Ve(Ae){b("readable nexttick read 0"),Ae.read(0)}function q(Ae,z){b("resume",z.reading),z.reading||Ae.read(0),z.resumeScheduled=!1,Ae.emit("resume"),ge(Ae),z.flowing&&!z.reading&&Ae.read(0)}function ge(Ae){var z=Ae._readableState;for(b("flow",z.flowing);z.flowing&&null!==Ae.read(););}function ce(Ae,z){return 0===z.length?null:(z.objectMode?L=z.buffer.shift():!Ae||Ae>=z.length?(L=z.decoder?z.buffer.join(""):1===z.buffer.length?z.buffer.first():z.buffer.concat(z.length),z.buffer.clear()):L=z.buffer.consume(Ae,z.decoder),L);var L}function Ye(Ae){var z=Ae._readableState;b("endReadable",z.endEmitted),z.endEmitted||(z.ended=!0,X.nextTick(_t,z,Ae))}function _t(Ae,z){if(b("endReadableNT",Ae.endEmitted,Ae.length),!Ae.endEmitted&&0===Ae.length&&(Ae.endEmitted=!0,z.readable=!1,z.emit("end"),Ae.autoDestroy)){var L=z._writableState;(!L||L.autoDestroy&&L.finished)&&z.destroy()}}function gt(Ae,z){for(var L=0,H=Ae.length;L=z.highWaterMark:z.length>0)||z.ended))return b("read: emitReadable",z.length,z.ended),0===z.length&&z.ended?Ye(this):Me(this),null;if(0===(Ae=le(Ae,z))&&z.ended)return 0===z.length&&Ye(this),null;var Le,H=z.needReadable;return b("need readable",H),(0===z.length||z.length-Ae0?ce(Ae,z):null)?(z.needReadable=z.length<=z.highWaterMark,Ae=0):(z.length-=Ae,z.awaitDrain=0),0===z.length&&(z.ended||(z.needReadable=!0),L!==Ae&&z.ended&&Ye(this)),null!==Le&&this.emit("data",Le),Le},re.prototype._read=function(Ae){se(this,new Z("_read()"))},re.prototype.pipe=function(Ae,z){var L=this,H=this._readableState;switch(H.pipesCount){case 0:H.pipes=Ae;break;case 1:H.pipes=[H.pipes,Ae];break;default:H.pipes.push(Ae)}H.pipesCount+=1,b("pipe count=%d opts=%j",H.pipesCount,z);var it=z&&!1===z.end||Ae===X.stdout||Ae===X.stderr?fs:kt;function At(Bs,Kr){b("onunpipe"),Bs===L&&Kr&&!1===Kr.hasUnpiped&&(Kr.hasUnpiped=!0,b("cleanup"),Ae.removeListener("close",Xr),Ae.removeListener("finish",Ls),Ae.removeListener("drain",In),Ae.removeListener("error",xi),Ae.removeListener("unpipe",At),L.removeListener("end",kt),L.removeListener("end",fs),L.removeListener("data",Mi),Pn=!0,H.awaitDrain&&(!Ae._writableState||Ae._writableState.needDrain)&&In())}function kt(){b("onend"),Ae.end()}H.endEmitted?X.nextTick(it):L.once("end",it),Ae.on("unpipe",At);var In=function(Ae){return function(){var L=Ae._readableState;b("pipeOnDrain",L.awaitDrain),L.awaitDrain&&L.awaitDrain--,0===L.awaitDrain&&B(Ae,"data")&&(L.flowing=!0,ge(Ae))}}(L);Ae.on("drain",In);var Pn=!1;function Mi(Bs){b("ondata");var Kr=Ae.write(Bs);b("dest.write",Kr),!1===Kr&&((1===H.pipesCount&&H.pipes===Ae||H.pipesCount>1&&-1!==gt(H.pipes,Ae))&&!Pn&&(b("false write response, pause",H.awaitDrain),H.awaitDrain++),L.pause())}function xi(Bs){b("onerror",Bs),fs(),Ae.removeListener("error",xi),0===B(Ae,"error")&&se(Ae,Bs)}function Xr(){Ae.removeListener("finish",Ls),fs()}function Ls(){b("onfinish"),Ae.removeListener("close",Xr),fs()}function fs(){b("unpipe"),L.unpipe(Ae)}return L.on("data",Mi),function(Ae,z,L){if("function"==typeof Ae.prependListener)return Ae.prependListener(z,L);Ae._events&&Ae._events[z]?Array.isArray(Ae._events[z])?Ae._events[z].unshift(L):Ae._events[z]=[L,Ae._events[z]]:Ae.on(z,L)}(Ae,"error",xi),Ae.once("close",Xr),Ae.once("finish",Ls),Ae.emit("pipe",L),H.flowing||(b("pipe resume"),L.resume()),Ae},re.prototype.unpipe=function(Ae){var z=this._readableState,L={hasUnpiped:!1};if(0===z.pipesCount)return this;if(1===z.pipesCount)return Ae&&Ae!==z.pipes||(Ae||(Ae=z.pipes),z.pipes=null,z.pipesCount=0,z.flowing=!1,Ae&&Ae.emit("unpipe",this,L)),this;if(!Ae){var H=z.pipes,Le=z.pipesCount;z.pipes=null,z.pipesCount=0,z.flowing=!1;for(var it=0;it0,!1!==H.flowing&&this.resume()):"readable"===Ae&&!H.endEmitted&&!H.readableListening&&(H.readableListening=H.needReadable=!0,H.flowing=!1,H.emittedReadable=!1,b("on readable",H.length,H.reading),H.length?Me(this):H.reading||X.nextTick(Ve,this)),L},re.prototype.removeListener=function(Ae,z){var L=w.prototype.removeListener.call(this,Ae,z);return"readable"===Ae&&X.nextTick(Ke,this),L},re.prototype.removeAllListeners=function(Ae){var z=w.prototype.removeAllListeners.apply(this,arguments);return("readable"===Ae||void 0===Ae)&&X.nextTick(Ke,this),z},re.prototype.resume=function(){var Ae=this._readableState;return Ae.flowing||(b("resume"),Ae.flowing=!Ae.readableListening,function(Ae,z){z.resumeScheduled||(z.resumeScheduled=!0,X.nextTick(q,Ae,z))}(this,Ae)),Ae.paused=!1,this},re.prototype.pause=function(){return b("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(b("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},re.prototype.wrap=function(Ae){var z=this,L=this._readableState,H=!1;for(var Le in Ae.on("end",function(){if(b("wrapped end"),L.decoder&&!L.ended){var At=L.decoder.end();At&&At.length&&z.push(At)}z.push(null)}),Ae.on("data",function(At){b("wrapped data"),L.decoder&&(At=L.decoder.write(At)),L.objectMode&&null==At||!(L.objectMode||At&&At.length)||z.push(At)||(H=!0,Ae.pause())}),Ae)void 0===this[Le]&&"function"==typeof Ae[Le]&&(this[Le]=function(kt){return function(){return Ae[kt].apply(Ae,arguments)}}(Le));for(var it=0;it-1))throw new ne(ce);return this._writableState.defaultEncoding=ce,this},Object.defineProperty(be.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(be.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),be.prototype._write=function(ge,ce,Ye){Ye(new $("_write()"))},be.prototype._writev=null,be.prototype.end=function(ge,ce,Ye){var _t=this._writableState;return"function"==typeof ge?(Ye=ge,ge=null,ce=null):"function"==typeof ce&&(Ye=ce,ce=null),null!=ge&&this.write(ge,ce),_t.corked&&(_t.corked=1,this.uncork()),_t.ending||function(ge,ce,Ye){ce.ending=!0,Ve(ge,ce),Ye&&(ce.finished?X.nextTick(Ye):ge.once("finish",Ye)),ce.ended=!0,ge.writable=!1}(this,_t,Ye),this},Object.defineProperty(be.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(be.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(ce){!this._writableState||(this._writableState.destroyed=ce)}}),be.prototype.destroy=b.destroy,be.prototype._undestroy=b.undestroy,be.prototype._destroy=function(ge,ce){ce(ge)}}).call(this)}).call(this,Q("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(Q,Ee,pe){(function(X){(function(){"use strict";var U;function F(P,Z,x){return Z in P?Object.defineProperty(P,Z,{value:x,enumerable:!0,configurable:!0,writable:!0}):P[Z]=x,P}var Y=Q("./end-of-stream"),B=Symbol("lastResolve"),w=Symbol("lastReject"),C=Symbol("error"),R=Symbol("ended"),M=Symbol("lastPromise"),y=Symbol("handlePromise"),v=Symbol("stream");function b(P,Z){return{value:P,done:Z}}function S(P){var Z=P[B];if(null!==Z){var x=P[v].read();null!==x&&(P[M]=null,P[B]=null,P[w]=null,Z(b(x,!1)))}}function T(P){X.nextTick(S,P)}var O=Object.getPrototypeOf(function(){}),$=Object.setPrototypeOf((F(U={get stream(){return this[v]},next:function(){var Z=this,x=this[C];if(null!==x)return Promise.reject(x);if(this[R])return Promise.resolve(b(void 0,!0));if(this[v].destroyed)return new Promise(function(se,te){X.nextTick(function(){Z[C]?te(Z[C]):se(b(void 0,!0))})});var ne,W=this[M];if(W)ne=new Promise(function(P,Z){return function(x,W){P.then(function(){Z[R]?x(b(void 0,!0)):Z[y](x,W)},W)}}(W,this));else{var ue=this[v].read();if(null!==ue)return Promise.resolve(b(ue,!1));ne=new Promise(this[y])}return this[M]=ne,ne}},Symbol.asyncIterator,function(){return this}),F(U,"return",function(){var Z=this;return new Promise(function(x,W){Z[v].destroy(null,function(ne){ne?W(ne):x(b(void 0,!0))})})}),U),O);Ee.exports=function(Z){var x,W=Object.create($,(F(x={},v,{value:Z,writable:!0}),F(x,B,{value:null,writable:!0}),F(x,w,{value:null,writable:!0}),F(x,C,{value:null,writable:!0}),F(x,R,{value:Z._readableState.endEmitted,writable:!0}),F(x,y,{value:function(ue,se){var te=W[v].read();te?(W[M]=null,W[B]=null,W[w]=null,ue(b(te,!1))):(W[B]=ue,W[w]=se)},writable:!0}),x));return W[M]=null,Y(Z,function(ne){if(ne&&"ERR_STREAM_PREMATURE_CLOSE"!==ne.code){var ue=W[w];return null!==ue&&(W[M]=null,W[B]=null,W[w]=null,ue(ne)),void(W[C]=ne)}var se=W[B];null!==se&&(W[M]=null,W[B]=null,W[w]=null,se(b(void 0,!0))),W[R]=!0}),Z.on("readable",T.bind(null,W)),W}}).call(this)}).call(this,Q("_process"))},{"./end-of-stream":76,_process:44}],74:[function(Q,Ee,pe){"use strict";function X(S,T){var E=Object.keys(S);if(Object.getOwnPropertySymbols){var O=Object.getOwnPropertySymbols(S);T&&(O=O.filter(function($){return Object.getOwnPropertyDescriptor(S,$).enumerable})),E.push.apply(E,O)}return E}function F(S,T,E){return T in S?Object.defineProperty(S,T,{value:E,enumerable:!0,configurable:!0,writable:!0}):S[T]=E,S}function B(S,T){for(var E=0;E0?this.tail.next=O:this.head=O,this.tail=O,++this.length}},{key:"unshift",value:function(E){var O={data:E,next:this.head};0===this.length&&(this.tail=O),this.head=O,++this.length}},{key:"shift",value:function(){if(0!==this.length){var E=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,E}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(E){if(0===this.length)return"";for(var O=this.head,$=""+O.data;O=O.next;)$+=E+O.data;return $}},{key:"concat",value:function(E){if(0===this.length)return R.alloc(0);for(var O=R.allocUnsafe(E>>>0),$=this.head,D=0;$;)b($.data,O,D),D+=$.data.length,$=$.next;return O}},{key:"consume",value:function(E,O){var $;return EP.length?P.length:E;if(D+=Z===P.length?P:P.slice(0,E),0==(E-=Z)){Z===P.length?(++$,this.head=O.next?O.next:this.tail=null):(this.head=O,O.data=P.slice(Z));break}++$}return this.length-=$,D}},{key:"_getBuffer",value:function(E){var O=R.allocUnsafe(E),$=this.head,D=1;for($.data.copy(O),E-=$.data.length;$=$.next;){var P=$.data,Z=E>P.length?P.length:E;if(P.copy(O,O.length-E,0,Z),0==(E-=Z)){Z===P.length?(++D,this.head=$.next?$.next:this.tail=null):(this.head=$,$.data=P.slice(Z));break}++D}return this.length-=D,O}},{key:v,value:function(E,O){return y(this,function(S){for(var T=1;T0,function(ne){$||($=ne),ne&&D.forEach(M),!x&&(D.forEach(M),O($))})});return T.reduce(y)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(Q,Ee,pe){"use strict";var X=Q("../../../errors").codes.ERR_INVALID_OPT_VALUE;Ee.exports={getHighWaterMark:function(Y,B,w,C){var R=function(Y,B,w){return null!=Y.highWaterMark?Y.highWaterMark:B?Y[w]:null}(B,C,w);if(null!=R){if(!isFinite(R)||Math.floor(R)!==R||R<0)throw new X(C?w:"highWaterMark",R);return Math.floor(R)}return Y.objectMode?16:16384}}},{"../../../errors":67}],80:[function(Q,Ee,pe){Ee.exports=Q("events").EventEmitter},{events:8}],81:[function(Q,Ee,pe){(pe=Ee.exports=Q("./lib/_stream_readable.js")).Stream=pe,pe.Readable=pe,pe.Writable=Q("./lib/_stream_writable.js"),pe.Duplex=Q("./lib/_stream_duplex.js"),pe.Transform=Q("./lib/_stream_transform.js"),pe.PassThrough=Q("./lib/_stream_passthrough.js"),pe.finished=Q("./lib/internal/streams/end-of-stream.js"),pe.pipeline=Q("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(Q,Ee,pe){"use strict";Object.defineProperty(pe,"__esModule",{value:!0}),function(U){for(var F in U)pe.hasOwnProperty(F)||(pe[F]=U[F])}(Q("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(Q,Ee,pe){"use strict";function U(B){const w=[];let C=0;for(;CR.join("")).join("/")}function F(B,w){let C=w+1;w>=0?"/"===B[w+1]&&"/"===B[w+2]&&(C=w+3):"/"===B[0]&&"/"===B[1]&&(C=2);const R=B.indexOf("/",C);return R<0?B:B.substr(0,R)+U(B.substr(R))}function Y(B){return!B||"#"===B||"?"===B||"/"===B}Object.defineProperty(pe,"__esModule",{value:!0}),pe.resolve=function(B,w){const C=(w=w||"").indexOf("#");if(C>0&&(w=w.substr(0,C)),!B.length){if(w.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${w}' for value '${B}'`);return w}if(B.startsWith("?")){const T=w.indexOf("?");return T>0&&(w=w.substr(0,T)),w+B}if(B.startsWith("#"))return w+B;if(!w.length){const T=B.indexOf(":");if(T<0)throw new Error(`Found invalid relative IRI '${B}' for a missing baseIRI`);return F(B,T)}const R=B.indexOf(":");if(R>=0)return F(B,R);const M=w.indexOf(":");if(M<0)throw new Error(`Found invalid baseIRI '${w}' for value '${B}'`);const y=w.substr(0,M+1);if(0===B.indexOf("//"))return y+F(B,R);let v;if(w.indexOf("//",M)===M+1){if(v=w.indexOf("/",M+3),v<0)return w.length>M+3?w+"/"+F(B,R):y+F(B,R)}else if(v=w.indexOf("/",M+1),v<0)return y+F(B,R);if(0===B.indexOf("/"))return w.substr(0,v)+U(B);let b=w.substr(v);const S=b.lastIndexOf("/");return S>=0&&S"===ce?(re(q,"onsgmldeclaration",q.sgmlDecl),q.sgmlDecl="",q.state=te.TEXT):(W(ce)&&(q.state=te.SGML_DECL_QUOTED),q.sgmlDecl+=ce);continue;case te.SGML_DECL_QUOTED:ce===q.q&&(q.state=te.SGML_DECL,q.q=""),q.sgmlDecl+=ce;continue;case te.DOCTYPE:">"===ce?(q.state=te.TEXT,re(q,"ondoctype",q.doctype),q.doctype=!0):(q.doctype+=ce,"["===ce?q.state=te.DOCTYPE_DTD:W(ce)&&(q.state=te.DOCTYPE_QUOTED,q.q=ce));continue;case te.DOCTYPE_QUOTED:q.doctype+=ce,ce===q.q&&(q.q="",q.state=te.DOCTYPE);continue;case te.DOCTYPE_DTD:q.doctype+=ce,"]"===ce?q.state=te.DOCTYPE:W(ce)&&(q.state=te.DOCTYPE_DTD_QUOTED,q.q=ce);continue;case te.DOCTYPE_DTD_QUOTED:q.doctype+=ce,ce===q.q&&(q.state=te.DOCTYPE_DTD,q.q="");continue;case te.COMMENT:"-"===ce?q.state=te.COMMENT_ENDING:q.comment+=ce;continue;case te.COMMENT_ENDING:"-"===ce?(q.state=te.COMMENT_ENDED,q.comment=Fe(q.opt,q.comment),q.comment&&re(q,"oncomment",q.comment),q.comment=""):(q.comment+="-"+ce,q.state=te.COMMENT);continue;case te.COMMENT_ENDED:">"!==ce?(J(q,"Malformed comment"),q.comment+="--"+ce,q.state=te.COMMENT):q.state=te.TEXT;continue;case te.CDATA:"]"===ce?q.state=te.CDATA_ENDING:q.cdata+=ce;continue;case te.CDATA_ENDING:"]"===ce?q.state=te.CDATA_ENDING_2:(q.cdata+="]"+ce,q.state=te.CDATA);continue;case te.CDATA_ENDING_2:">"===ce?(q.cdata&&re(q,"oncdata",q.cdata),re(q,"onclosecdata"),q.cdata="",q.state=te.TEXT):"]"===ce?q.cdata+="]":(q.cdata+="]]"+ce,q.state=te.CDATA);continue;case te.PROC_INST:"?"===ce?q.state=te.PROC_INST_ENDING:x(ce)?q.state=te.PROC_INST_BODY:q.procInstName+=ce;continue;case te.PROC_INST_BODY:if(!q.procInstBody&&x(ce))continue;"?"===ce?q.state=te.PROC_INST_ENDING:q.procInstBody+=ce;continue;case te.PROC_INST_ENDING:">"===ce?(re(q,"onprocessinginstruction",{name:q.procInstName,body:q.procInstBody}),q.procInstName=q.procInstBody="",q.state=te.TEXT):(q.procInstBody+="?"+ce,q.state=te.PROC_INST_BODY);continue;case te.OPEN_TAG:ue(D,ce)?q.tagName+=ce:(le(q),">"===ce?Ce(q):"/"===ce?q.state=te.OPEN_TAG_SLASH:(x(ce)||J(q,"Invalid character in tag name"),q.state=te.ATTRIB));continue;case te.OPEN_TAG_SLASH:">"===ce?(Ce(q,!0),$e(q)):(J(q,"Forward-slash in opening tag not followed by >"),q.state=te.ATTRIB);continue;case te.ATTRIB:if(x(ce))continue;">"===ce?Ce(q):"/"===ce?q.state=te.OPEN_TAG_SLASH:ue($,ce)?(q.attribName=ce,q.attribValue="",q.state=te.ATTRIB_NAME):J(q,"Invalid attribute name");continue;case te.ATTRIB_NAME:"="===ce?q.state=te.ATTRIB_VALUE:">"===ce?(J(q,"Attribute without value"),q.attribValue=q.attribName,Me(q),Ce(q)):x(ce)?q.state=te.ATTRIB_NAME_SAW_WHITE:ue(D,ce)?q.attribName+=ce:J(q,"Invalid attribute name");continue;case te.ATTRIB_NAME_SAW_WHITE:if("="===ce)q.state=te.ATTRIB_VALUE;else{if(x(ce))continue;J(q,"Attribute without value"),q.tag.attributes[q.attribName]="",q.attribValue="",re(q,"onattribute",{name:q.attribName,value:""}),q.attribName="",">"===ce?Ce(q):ue($,ce)?(q.attribName=ce,q.state=te.ATTRIB_NAME):(J(q,"Invalid attribute name"),q.state=te.ATTRIB)}continue;case te.ATTRIB_VALUE:if(x(ce))continue;W(ce)?(q.q=ce,q.state=te.ATTRIB_VALUE_QUOTED):(J(q,"Unquoted attribute value"),q.state=te.ATTRIB_VALUE_UNQUOTED,q.attribValue=ce);continue;case te.ATTRIB_VALUE_QUOTED:if(ce!==q.q){"&"===ce?q.state=te.ATTRIB_VALUE_ENTITY_Q:q.attribValue+=ce;continue}Me(q),q.q="",q.state=te.ATTRIB_VALUE_CLOSED;continue;case te.ATTRIB_VALUE_CLOSED:x(ce)?q.state=te.ATTRIB:">"===ce?Ce(q):"/"===ce?q.state=te.OPEN_TAG_SLASH:ue($,ce)?(J(q,"No whitespace between attributes"),q.attribName=ce,q.attribValue="",q.state=te.ATTRIB_NAME):J(q,"Invalid attribute name");continue;case te.ATTRIB_VALUE_UNQUOTED:if(!ne(ce)){"&"===ce?q.state=te.ATTRIB_VALUE_ENTITY_U:q.attribValue+=ce;continue}Me(q),">"===ce?Ce(q):q.state=te.ATTRIB;continue;case te.CLOSE_TAG:if(q.tagName)">"===ce?$e(q):ue(D,ce)?q.tagName+=ce:q.script?(q.script+=""===ce?$e(q):J(q,"Invalid characters in closing tag");continue;case te.TEXT_ENTITY:case te.ATTRIB_VALUE_ENTITY_Q:case te.ATTRIB_VALUE_ENTITY_U:var gt,Ae;switch(q.state){case te.TEXT_ENTITY:gt=te.TEXT,Ae="textNode";break;case te.ATTRIB_VALUE_ENTITY_Q:gt=te.ATTRIB_VALUE_QUOTED,Ae="attribValue";break;case te.ATTRIB_VALUE_ENTITY_U:gt=te.ATTRIB_VALUE_UNQUOTED,Ae="attribValue"}";"===ce?(q[Ae]+=Se(q),q.entity="",q.state=gt):ue(q.entity.length?Z:P,ce)?q.entity+=ce:(J(q,"Invalid character in entity name"),q[Ae]+="&"+q.entity+ce,q.entity="",q.state=gt);continue;default:throw new Error(q,"Unknown state: "+q.state)}return q.position>=q.bufferCheckPosition&&function(K){for(var q=Math.max(U.MAX_BUFFER_LENGTH,10),ge=0,ce=0,Ye=F.length;ceq)switch(F[ce]){case"textNode":ve(K);break;case"cdata":re(K,"oncdata",K.cdata),K.cdata="";break;case"script":re(K,"onscript",K.script),K.script="";break;default:Ze(K,"Max buffer length exceeded: "+F[ce])}ge=Math.max(ge,_t)}K.bufferCheckPosition=U.MAX_BUFFER_LENGTH-ge+K.position}(q),q},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(K){ve(K),""!==K.cdata&&(re(K,"oncdata",K.cdata),K.cdata=""),""!==K.script&&(re(K,"onscript",K.script),K.script="")}(this)}};try{R=Q("stream").Stream}catch(K){R=function(){}}var M=U.EVENTS.filter(function(K){return"error"!==K&&"end"!==K});function v(K,q){if(!(this instanceof v))return new v(K,q);R.apply(this),this._parser=new Y(K,q),this.writable=!0,this.readable=!0;var ge=this;this._parser.onend=function(){ge.emit("end")},this._parser.onerror=function(ce){ge.emit("error",ce),ge._parser.error=null},this._decoder=null,M.forEach(function(ce){Object.defineProperty(ge,"on"+ce,{get:function(){return ge._parser["on"+ce]},set:function(Ye){if(!Ye)return ge.removeAllListeners(ce),ge._parser["on"+ce]=Ye,Ye;ge.on(ce,Ye)},enumerable:!0,configurable:!1})})}(v.prototype=Object.create(R.prototype,{constructor:{value:v}})).write=function(K){if("function"==typeof X&&"function"==typeof X.isBuffer&&X.isBuffer(K)){if(!this._decoder){var q=Q("string_decoder").StringDecoder;this._decoder=new q("utf8")}K=this._decoder.write(K)}return this._parser.write(K.toString()),this.emit("data",K),!0},v.prototype.end=function(K){return K&&K.length&&this.write(K),this._parser.end(),!0},v.prototype.on=function(K,q){var ge=this;return!ge._parser["on"+K]&&-1!==M.indexOf(K)&&(ge._parser["on"+K]=function(){var ce=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);ce.splice(0,0,K),ge.emit.apply(ge,ce)}),R.prototype.on.call(ge,K,q)};var T="http://www.w3.org/XML/1998/namespace",E="http://www.w3.org/2000/xmlns/",O={xml:T,xmlns:E},$=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,D=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,P=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,Z=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function x(K){return" "===K||"\n"===K||"\r"===K||"\t"===K}function W(K){return'"'===K||"'"===K}function ne(K){return">"===K||x(K)}function ue(K,q){return K.test(q)}function se(K,q){return!ue(K,q)}var K,q,ge,te=0;for(var Re in U.STATE={BEGIN:te++,BEGIN_WHITESPACE:te++,TEXT:te++,TEXT_ENTITY:te++,OPEN_WAKA:te++,SGML_DECL:te++,SGML_DECL_QUOTED:te++,DOCTYPE:te++,DOCTYPE_QUOTED:te++,DOCTYPE_DTD:te++,DOCTYPE_DTD_QUOTED:te++,COMMENT_STARTING:te++,COMMENT:te++,COMMENT_ENDING:te++,COMMENT_ENDED:te++,CDATA:te++,CDATA_ENDING:te++,CDATA_ENDING_2:te++,PROC_INST:te++,PROC_INST_BODY:te++,PROC_INST_ENDING:te++,OPEN_TAG:te++,OPEN_TAG_SLASH:te++,ATTRIB:te++,ATTRIB_NAME:te++,ATTRIB_NAME_SAW_WHITE:te++,ATTRIB_VALUE:te++,ATTRIB_VALUE_QUOTED:te++,ATTRIB_VALUE_CLOSED:te++,ATTRIB_VALUE_UNQUOTED:te++,ATTRIB_VALUE_ENTITY_Q:te++,ATTRIB_VALUE_ENTITY_U:te++,CLOSE_TAG:te++,CLOSE_TAG_SAW_WHITE:te++,SCRIPT:te++,SCRIPT_ENDING:te++},U.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},U.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(U.ENTITIES).forEach(function(K){var q=U.ENTITIES[K],ge="number"==typeof q?String.fromCharCode(q):q;U.ENTITIES[K]=ge}),U.STATE)U.STATE[U.STATE[Re]]=Re;function be(K,q,ge){K[q]&&K[q](ge)}function re(K,q,ge){K.textNode&&ve(K),be(K,q,ge)}function ve(K){K.textNode=Fe(K.opt,K.textNode),K.textNode&&be(K,"ontext",K.textNode),K.textNode=""}function Fe(K,q){return K.trim&&(q=q.trim()),K.normalize&&(q=q.replace(/\s+/g," ")),q}function Ze(K,q){return ve(K),K.trackPosition&&(q+="\nLine: "+K.line+"\nColumn: "+K.column+"\nChar: "+K.c),q=new Error(q),K.error=q,be(K,"onerror",q),K}function Ge(K){return K.sawRoot&&!K.closedRoot&&J(K,"Unclosed root tag"),K.state!==te.BEGIN&&K.state!==te.BEGIN_WHITESPACE&&K.state!==te.TEXT&&Ze(K,"Unexpected end"),ve(K),K.c="",K.closed=!0,be(K,"onend"),Y.call(K,K.strict,K.opt),K}function J(K,q){if("object"!=typeof K||!(K instanceof Y))throw new Error("bad call to strictFail");K.strict&&Ze(K,q)}function le(K){K.strict||(K.tagName=K.tagName[K.looseCase]());var q=K.tags[K.tags.length-1]||K,ge=K.tag={name:K.tagName,attributes:{}};K.opt.xmlns&&(ge.ns=q.ns),K.attribList.length=0,re(K,"onopentagstart",ge)}function _e(K,q){var ce=K.indexOf(":")<0?["",K]:K.split(":"),Ye=ce[0],_t=ce[1];return q&&"xmlns"===K&&(Ye="xmlns",_t=""),{prefix:Ye,local:_t}}function Me(K){if(K.strict||(K.attribName=K.attribName[K.looseCase]()),-1!==K.attribList.indexOf(K.attribName)||K.tag.attributes.hasOwnProperty(K.attribName))K.attribName=K.attribValue="";else{if(K.opt.xmlns){var q=_e(K.attribName,!0),ce=q.local;if("xmlns"===q.prefix)if("xml"===ce&&K.attribValue!==T)J(K,"xml: prefix must be bound to "+T+"\nActual: "+K.attribValue);else if("xmlns"===ce&&K.attribValue!==E)J(K,"xmlns: prefix must be bound to "+E+"\nActual: "+K.attribValue);else{var Ye=K.tag,_t=K.tags[K.tags.length-1]||K;Ye.ns===_t.ns&&(Ye.ns=Object.create(_t.ns)),Ye.ns[ce]=K.attribValue}K.attribList.push([K.attribName,K.attribValue])}else K.tag.attributes[K.attribName]=K.attribValue,re(K,"onattribute",{name:K.attribName,value:K.attribValue});K.attribName=K.attribValue=""}}function Ce(K,q){if(K.opt.xmlns){var ge=K.tag,ce=_e(K.tagName);ge.prefix=ce.prefix,ge.local=ce.local,ge.uri=ge.ns[ce.prefix]||"",ge.prefix&&!ge.uri&&(J(K,"Unbound namespace prefix: "+JSON.stringify(K.tagName)),ge.uri=ce.prefix),ge.ns&&(K.tags[K.tags.length-1]||K).ns!==ge.ns&&Object.keys(ge.ns).forEach(function(In){re(K,"onopennamespace",{prefix:In,uri:ge.ns[In]})});for(var _t=0,gt=K.attribList.length;_t",K.tagName="",void(K.state=te.SCRIPT);re(K,"onscript",K.script),K.script=""}var q=K.tags.length,ge=K.tagName;K.strict||(ge=ge[K.looseCase]());for(var ce=ge;q--&&K.tags[q].name!==ce;)J(K,"Unexpected close tag");if(q<0)return J(K,"Unmatched closing tag: "+K.tagName),K.textNode+="",void(K.state=te.TEXT);K.tagName=ge;for(var _t=K.tags.length;_t-- >q;){var gt=K.tag=K.tags.pop();K.tagName=K.tag.name,re(K,"onclosetag",K.tagName);var Ae={};for(var z in gt.ns)Ae[z]=gt.ns[z];K.opt.xmlns&>.ns!==(K.tags[K.tags.length-1]||K).ns&&Object.keys(gt.ns).forEach(function(H){re(K,"onclosenamespace",{prefix:H,uri:gt.ns[H]})})}0===q&&(K.closedRoot=!0),K.tagName=K.attribValue=K.attribName="",K.attribList.length=0,K.state=te.TEXT}function Se(K){var ce,q=K.entity,ge=q.toLowerCase(),Ye="";return K.ENTITIES[q]?K.ENTITIES[q]:K.ENTITIES[ge]?K.ENTITIES[ge]:("#"===(q=ge).charAt(0)&&("x"===q.charAt(1)?(q=q.slice(2),Ye=(ce=parseInt(q,16)).toString(16)):(q=q.slice(1),Ye=(ce=parseInt(q,10)).toString(10))),q=q.replace(/^0+/,""),isNaN(ce)||Ye.toLowerCase()!==q?(J(K,"Invalid character entity"),"&"+K.entity+";"):String.fromCodePoint(ce))}function ze(K,q){"<"===q?(K.state=te.OPEN_WAKA,K.startTagPosition=K.position):x(q)||(J(K,"Non-whitespace before first tag."),K.textNode=q,K.state=te.TEXT)}function Ke(K,q){var ge="";return q1114111||q(H)!==H)throw RangeError("Invalid code point: "+H);H<=65535?Ye.push(H):Ye.push(55296+((H-=65536)>>10),H%1024+56320),(Ae+1===z||Ye.length>ce)&&(L+=K.apply(null,Ye),Ye.length=0)}return L},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:ge,configurable:!0,writable:!0}):String.fromCodePoint=ge)}(void 0===pe?this.sax={}:pe)}).call(this)}).call(this,Q("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(Q,Ee,pe){(function(X,U){(function(){!function(F,Y){"use strict";if(!F.setImmediate){var M,B=1,w={},C=!1,R=F.document,Z=Object.getPrototypeOf&&Object.getPrototypeOf(F);Z=Z&&Z.setTimeout?Z:F,"[object process]"==={}.toString.call(F.process)?M=function(x){X.nextTick(function(){S(x)})}:function(){if(F.postMessage&&!F.importScripts){var x=!0,W=F.onmessage;return F.onmessage=function(){x=!1},F.postMessage("","*"),F.onmessage=W,x}}()?(x="setImmediate$"+Math.random()+"$",W=function(ne){ne.source===F&&"string"==typeof ne.data&&0===ne.data.indexOf(x)&&S(+ne.data.slice(x.length))},F.addEventListener?F.addEventListener("message",W,!1):F.attachEvent("onmessage",W),M=function(ne){F.postMessage(x+ne,"*")}):F.MessageChannel?function(){var x=new MessageChannel;x.port1.onmessage=function(W){S(W.data)},M=function(W){x.port2.postMessage(W)}}():R&&"onreadystatechange"in R.createElement("script")?function(){var x=R.documentElement;M=function(W){var ne=R.createElement("script");ne.onreadystatechange=function(){S(W),ne.onreadystatechange=null,x.removeChild(ne),ne=null},x.appendChild(ne)}}():M=function(x){setTimeout(S,0,x)},Z.setImmediate=function(x){"function"!=typeof x&&(x=new Function(""+x));for(var W=new Array(arguments.length-1),ne=0;ne=0&&(M._idleTimeoutId=setTimeout(function(){M._onTimeout&&M._onTimeout()},y))},pe.setImmediate="function"==typeof X?X:function(M){var y=C++,v=!(arguments.length<2)&&B.call(arguments,1);return w[y]=!0,F(function(){w[y]&&(v?M.apply(null,v):M.call(null),pe.clearImmediate(y))}),y},pe.clearImmediate="function"==typeof U?U:function(M){delete w[M]}}).call(this)}).call(this,Q("timers").setImmediate,Q("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(Q,Ee,pe){(function(X){(function(){function F(Y){try{if(!X.localStorage)return!1}catch(w){return!1}var B=X.localStorage[Y];return null!=B&&"true"===String(B).toLowerCase()}Ee.exports=function(Y,B){if(F("noDeprecation"))return Y;var w=!1;return function(){if(!w){if(F("throwDeprecation"))throw new Error(B);F("traceDeprecation")?console.trace(B):console.warn(B),w=!0}return Y.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(Q,Ee,pe){"use strict";Ee.exports=function(X){X.prototype[Symbol.iterator]=function*(){for(let U=this.head;U;U=U.next)yield U.value}}},{}],92:[function(Q,Ee,pe){"use strict";function X(w){var C=this;if(C instanceof X||(C=new X),C.tail=null,C.head=null,C.length=0,w&&"function"==typeof w.forEach)w.forEach(function(y){C.push(y)});else if(arguments.length>0)for(var R=0,M=arguments.length;R1)R=C;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");M=this.head.next,R=this.head.value}for(var y=0;null!==M;y++)R=w(R,M.value,y),M=M.next;return R},X.prototype.reduceReverse=function(w,C){var R,M=this.tail;if(arguments.length>1)R=C;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");M=this.tail.prev,R=this.tail.value}for(var y=this.length-1;null!==M;y--)R=w(R,M.value,y),M=M.prev;return R},X.prototype.toArray=function(){for(var w=new Array(this.length),C=0,R=this.head;null!==R;C++)w[C]=R.value,R=R.next;return w},X.prototype.toArrayReverse=function(){for(var w=new Array(this.length),C=0,R=this.tail;null!==R;C++)w[C]=R.value,R=R.prev;return w},X.prototype.slice=function(w,C){(C=C||this.length)<0&&(C+=this.length),(w=w||0)<0&&(w+=this.length);var R=new X;if(Cthis.length&&(C=this.length);for(var M=0,y=this.head;null!==y&&Mthis.length&&(C=this.length);for(var M=this.length,y=this.tail;null!==y&&M>C;M--)y=y.prev;for(;null!==y&&M>w;M--,y=y.prev)R.push(y.value);return R},X.prototype.splice=function(w,C,...R){w>this.length&&(w=this.length-1),w<0&&(w=this.length+w);for(var M=0,y=this.head;null!==y&&M{"use strict";Vt.exports=et,Vt.exports.default=et;var Xe=1e20;function et(Q,Ee,pe,X,U,F){this.fontSize=Q||24,this.buffer=void 0===Ee?3:Ee,this.cutoff=X||.25,this.fontFamily=U||"sans-serif",this.fontWeight=F||"normal",this.radius=pe||8;var Y=this.size=this.fontSize+2*this.buffer,B=Y+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=Y,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textAlign="left",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(B*B),this.gridInner=new Float64Array(B*B),this.f=new Float64Array(B),this.z=new Float64Array(B+1),this.v=new Uint16Array(B),this.useMetrics=void 0!==this.ctx.measureText("A").actualBoundingBoxLeft,this.middle=Math.round(Y/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function Ct(Q,Ee,pe,X,U,F){for(var Y=0;Y-1);F[++w]=B,Y[w]=C,Y[w+1]=Xe}for(B=0,w=0;B{Vt.exports=function(et,lt){var ee=lt.length;if(0!==ee){var Ct=et.length;et.length+=ee;for(var je=0;je{"use strict";var lt=(()=>{return(Ct=lt||(lt={})).typeOfFunction="function",Ct.boolTrue=!0,lt;var Ct})();function ee(Ct,je,Q){if(!Q||typeof Q.value!==lt.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+je+"> is not a method!");return{configurable:lt.boolTrue,get:function(){var Ee=Q.value.bind(this);return Object.defineProperty(this,je,{value:Ee,configurable:lt.boolTrue,writable:lt.boolTrue}),Ee}}}Xe.ak=ee,Xe.ZP=ee},7266:(Vt,Xe,et)=>{Vt.exports={ResizeSensor:et(9835),ElementQueries:et(4845)}},4845:function(Vt,Xe,et){"use strict";var lt,ee,Ct;"undefined"!=typeof window&&window,ee=[et(9835)],void 0!==(Ct="function"==typeof(lt=function(je){var Q=function(){var pe,X={},U=[];function F(D){D||(D=document.documentElement);var P=window.getComputedStyle(D,null).fontSize;return parseFloat(P)||16}function B(D,P){var Z=P.split(/\d/),x=Z[Z.length-1];switch(P=parseFloat(P),x){case"px":return P;case"em":return P*F(D);case"rem":return P*F();case"vw":return P*document.documentElement.clientWidth/100;case"vh":return P*document.documentElement.clientHeight/100;case"vmin":case"vmax":var W=document.documentElement.clientWidth/100,ne=document.documentElement.clientHeight/100;return P*(0,Math["vmin"===x?"min":"max"])(W,ne);default:return P}}function w(D,P){this.element=D;var Z,x,W,ne,ue,se,te,Re,be=["min-width","min-height","max-width","max-height"];this.call=function(){for(Z in W=function(D){if(!D.getBoundingClientRect)return{width:D.offsetWidth,height:D.offsetHeight};var P=D.getBoundingClientRect();return{width:Math.round(P.width),height:Math.round(P.height)}}(this.element),se={},X[P])!X[P].hasOwnProperty(Z)||(ne=B(this.element,(x=X[P][Z]).value),ue="width"===x.property?W.width:W.height,te="","min"===x.mode&&ue>=ne&&(te+=x.value),"max"===x.mode&&ue<=ne&&(te+=x.value),se[Re=x.mode+"-"+x.property]||(se[Re]=""),te&&-1===(" "+se[Re]+" ").indexOf(" "+te+" ")&&(se[Re]+=" "+te));for(var re in be)!be.hasOwnProperty(re)||(se[be[re]]?this.element.setAttribute(be[re],se[be[re]].substr(1)):this.element.removeAttribute(be[re]))}}function C(D,P){D.elementQueriesSetupInformation||(D.elementQueriesSetupInformation=new w(D,P)),D.elementQueriesSensor||(D.elementQueriesSensor=new je(D,function(){D.elementQueriesSetupInformation.call()}))}function R(D,P,Z,x){if(void 0===X[D]){X[D]=[];var W=U.length;pe.innerHTML+="\n"+D+" {animation: 0.1s element-queries;}",pe.innerHTML+="\n"+D+" > .resize-sensor {min-width: "+W+"px;}",U.push(D)}X[D].push({mode:P,property:Z,value:x})}function M(D){var P;if(document.querySelectorAll&&(P=D?D.querySelectorAll.bind(D):document.querySelectorAll.bind(document)),!P&&"undefined"!=typeof $$&&(P=$$),!P&&"undefined"!=typeof jQuery&&(P=jQuery),!P)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return P}function v(D){var P=[],Z=[],x=[],W=0,ne=-1,ue=[];for(var se in D.children)if(D.children.hasOwnProperty(se)&&D.children[se].tagName&&"img"===D.children[se].tagName.toLowerCase()){P.push(D.children[se]);var te=D.children[se].getAttribute("min-width")||D.children[se].getAttribute("data-min-width"),Re=D.children[se].getAttribute("data-src")||D.children[se].getAttribute("url");x.push(Re),Z.push({minWidth:te}),te?D.children[se].style.display="none":(W=P.length-1,D.children[se].style.display="block")}function re(){var Fe,ve=!1;for(Fe in P)!P.hasOwnProperty(Fe)||Z[Fe].minWidth&&D.offsetWidth>Z[Fe].minWidth&&(ve=Fe);if(ve||(ve=W),ne!==ve)if(ue[ve])P[ne].style.display="none",P[ve].style.display="block",ne=ve;else{var Ze=new Image;Ze.onload=function(){P[ve].src=x[ve],P[ne].style.display="none",P[ve].style.display="block",ue[ve]=!0,ne=ve},Ze.src=x[ve]}else P[ve].src=x[ve]}ne=W,D.resizeSensorInstance=new je(D,re),re()}var S=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,T=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function E(D){var P,Z,x,W;for(D=D.replace(/'/g,'"');null!==(P=S.exec(D));)for(Z=P[1]+P[3],x=P[2];null!==(W=T.exec(x));)R(Z,W[1],W[2],W[3])}function O(D){var P="";if(D)if("string"==typeof D)(-1!==(D=D.toLowerCase()).indexOf("min-width")||-1!==D.indexOf("max-width"))&&E(D);else for(var Z=0,x=D.length;Z img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",pe.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(pe),$=!0);for(var P=0,Z=document.styleSheets.length;P{var lt=et(3910),ee=et(9369),Ct=et(322);function je(Y,B,w){if(!lt(Y))throw new Error("graphology-shortest-path: invalid graphology instance.");if(arguments.length<3)throw new Error("graphology-shortest-path: invalid number of arguments. Expecting at least 3.");if(!Y.hasNode(B))throw new Error('graphology-shortest-path: the "'+B+'" source node does not exist in the given graph.');if(!Y.hasNode(w))throw new Error('graphology-shortest-path: the "'+w+'" target node does not exist in the given graph.');if((B=""+B)==(w=""+w))return[B];var C=Y.inboundNeighbors.bind(Y),R=Y.outboundNeighbors.bind(Y),M={},y={};M[B]=null,y[w]=null;var S,T,E,O,$,D,P,Z,v=[B],b=[w],x=!1;e:for(;v.length&&b.length;)if(v.length<=b.length){for(S=v,v=[],$=0,P=S.length;${Vt.exports=function(et){return null!==et&&"object"==typeof et&&"function"==typeof et.addUndirectedEdgeWithKey&&"function"==typeof et.dropNode&&"boolean"==typeof et.multi}},698:function(Vt){Vt.exports=function(){"use strict";function Xe(ae){return(Xe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(me){return typeof me}:function(me){return me&&"function"==typeof Symbol&&me.constructor===Symbol&&me!==Symbol.prototype?"symbol":typeof me})(ae)}function et(ae,me){ae.prototype=Object.create(me.prototype),ae.prototype.constructor=ae,ee(ae,me)}function lt(ae){return(lt=Object.setPrototypeOf?Object.getPrototypeOf:function(me){return me.__proto__||Object.getPrototypeOf(me)})(ae)}function ee(ae,me){return(ee=Object.setPrototypeOf||function(de,N){return de.__proto__=N,de})(ae,me)}function Ct(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(ae){return!1}}function je(ae,me,de){return(je=Ct()?Reflect.construct:function(N,j,ie){var De=[null];De.push.apply(De,j);var He=new(Function.bind.apply(N,De));return ie&&ee(He,ie.prototype),He}).apply(null,arguments)}function Q(ae){var me="function"==typeof Map?new Map:void 0;return(Q=function(de){if(null===de||-1===Function.toString.call(de).indexOf("[native code]"))return de;if("function"!=typeof de)throw new TypeError("Super expression must either be null or a function");if(void 0!==me){if(me.has(de))return me.get(de);me.set(de,j)}function j(){return je(de,arguments,lt(this).constructor)}return j.prototype=Object.create(de.prototype,{constructor:{value:j,enumerable:!1,writable:!0,configurable:!0}}),ee(j,de)})(ae)}function Ee(ae){if(void 0===ae)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ae}var pe=function(){for(var ae=arguments[0],me=1,de=arguments.length;me0&&De.length>j&&!De.warned){De.warned=!0;var st=new Error("Possible EventEmitter memory leak detected. "+De.length+" "+String(me)+" listeners added. Use emitter.setMaxListeners() to increase limit");st.name="MaxListenersExceededWarning",st.emitter=ae,st.type=me,st.count=De.length,console&&console.warn&&console.warn(st)}return ae}function D(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function P(ae,me,de){var N={fired:!1,wrapFn:void 0,target:ae,type:me,listener:de},j=D.bind(N);return j.listener=de,N.wrapFn=j,j}function Z(ae,me,de){var N=ae._events;if(void 0===N)return[];var j=N[me];return void 0===j?[]:"function"==typeof j?de?[j.listener||j]:[j]:de?function(ie){for(var De=new Array(ie.length),He=0;He0&&(ie=me[0]),ie instanceof Error)throw ie;var De=new Error("Unhandled error."+(ie?" ("+ie.message+")":""));throw De.context=ie,De}var He=j[ae];if(void 0===He)return!1;if("function"==typeof He)v(He,this,me);else{var st=He.length,Nt=W(He,st);for(de=0;de=0;ie--)if(de[ie]===me||de[ie].listener===me){De=de[ie].listener,j=ie;break}if(j<0)return this;0===j?de.shift():function(He,st){for(;st+1=0;N--)this.removeListener(ae,me[N]);return this},S.prototype.listeners=function(ae){return Z(this,ae,!0)},S.prototype.rawListeners=function(ae){return Z(this,ae,!1)},S.listenerCount=function(ae,me){return"function"==typeof ae.listenerCount?ae.listenerCount(me):x.call(ae,me)},S.prototype.listenerCount=x,S.prototype.eventNames=function(){return this._eventsCount>0?R(this._events):[]},ue.prototype.next=function(){if(this.done)return{done:!0};var ae=this._next();return ae.done&&(this.done=!0),ae},"undefined"!=typeof Symbol&&(ue.prototype[Symbol.iterator]=function(){return this}),ue.of=function(){var ae=arguments,me=ae.length,de=0;return new ue(function(){return de>=me?{done:!0}:{done:!1,value:ae[de++]}})},ue.empty=function(){var ae=new ue(null);return ae.done=!0,ae},ue.is=function(ae){return ae instanceof ue||"object"==typeof ae&&null!==ae&&"function"==typeof ae.next};var se=ue,te=function(ae,me){for(var de,N=arguments.length>1?me:1/0,j=N!==1/0?new Array(N):[],ie=0;;){if(ie===N)return j;if((de=ae.next()).done)return ie!==me?j.slice(0,ie):j;j[ie++]=de.value}},Re=function(ae){function me(de,N){var j;return(j=ae.call(this)||this).name="GraphError",j.message=de||"",j.data=N||{},j}return et(me,ae),me}(Q(Error)),be=function(ae){function me(de,N){var j;return(j=ae.call(this,de,N)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Ee(j),me.prototype.constructor),j}return et(me,ae),me}(Re),re=function(ae){function me(de,N){var j;return(j=ae.call(this,de,N)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Ee(j),me.prototype.constructor),j}return et(me,ae),me}(Re),ve=function(ae){function me(de,N){var j;return(j=ae.call(this,de,N)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(Ee(j),me.prototype.constructor),j}return et(me,ae),me}(Re);function Fe(ae,me){this.key=ae,this.attributes=me,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function Ze(ae,me){this.key=ae,this.attributes=me,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function Ge(ae,me){this.key=ae,this.attributes=me,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function J(ae,me,de,N,j,ie){this.key=me,this.attributes=ie,this.undirected=ae,this.source=N,this.target=j,this.generatedKey=de}function le(ae,me,de,N,j,ie,De){var He,st,Nt="out",tt="in";if(me&&(Nt=tt="undirected"),ae.multi){if(void 0===(st=(He=ie[Nt])[j])&&(st=new Set,He[j]=st),st.add(de),N===j&&me)return;void 0===(He=De[tt])[N]&&(He[N]=st)}else{if(ie[Nt][j]=de,N===j&&me)return;De[tt][N]=de}}function _e(ae,me,de){var N=ae.multi,j=de.source,ie=de.target,De=j.key,He=ie.key,st=j[me?"undirected":"out"],Nt=me?"undirected":"in";if(He in st)if(N){var tt=st[He];1===tt.size?(delete st[He],delete ie[Nt][De]):tt.delete(de)}else delete st[He];N||delete ie[Nt][De]}Ze.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},Ge.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var Me=[{name:function(ae){return"get".concat(ae,"Attribute")},attacher:function(ae,me,de){ae.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==de&&de!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var De=""+N,He=""+j;if(j=arguments[2],!(ie=X(this,De,He,de)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(De,'" - "').concat(He,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==de&&ie.undirected!==("undirected"===de))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(de," edge in the graph."));return ie.attributes[j]}}},{name:function(ae){return"get".concat(ae,"Attributes")},attacher:function(ae,me,de){ae.prototype[me]=function(N){var j;if("mixed"!==this.type&&"mixed"!==de&&de!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var ie=""+N,De=""+arguments[1];if(!(j=X(this,ie,De,de)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(ie,'" - "').concat(De,'").'))}else if(!(j=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==de&&j.undirected!==("undirected"===de))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(de," edge in the graph."));return j.attributes}}},{name:function(ae){return"has".concat(ae,"Attribute")},attacher:function(ae,me,de){ae.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==de&&de!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var De=""+N,He=""+j;if(j=arguments[2],!(ie=X(this,De,He,de)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(De,'" - "').concat(He,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==de&&ie.undirected!==("undirected"===de))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(de," edge in the graph."));return ie.attributes.hasOwnProperty(j)}}},{name:function(ae){return"set".concat(ae,"Attribute")},attacher:function(ae,me,de){ae.prototype[me]=function(N,j,ie){var De;if("mixed"!==this.type&&"mixed"!==de&&de!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var He=""+N,st=""+j;if(j=arguments[2],ie=arguments[3],!(De=X(this,He,st,de)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(He,'" - "').concat(st,'").'))}else if(!(De=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==de&&De.undirected!==("undirected"===de))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(de," edge in the graph."));return De.attributes[j]=ie,this.emit("edgeAttributesUpdated",{key:De.key,type:"set",attributes:De.attributes,name:j}),this}}},{name:function(ae){return"update".concat(ae,"Attribute")},attacher:function(ae,me,de){ae.prototype[me]=function(N,j,ie){var De;if("mixed"!==this.type&&"mixed"!==de&&de!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var He=""+N,st=""+j;if(j=arguments[2],ie=arguments[3],!(De=X(this,He,st,de)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(He,'" - "').concat(st,'").'))}else if(!(De=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("function"!=typeof ie)throw new be("Graph.".concat(me,": updater should be a function."));if("mixed"!==de&&De.undirected!==("undirected"===de))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(de," edge in the graph."));return De.attributes[j]=ie(De.attributes[j]),this.emit("edgeAttributesUpdated",{key:De.key,type:"set",attributes:De.attributes,name:j}),this}}},{name:function(ae){return"remove".concat(ae,"Attribute")},attacher:function(ae,me,de){ae.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==de&&de!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var De=""+N,He=""+j;if(j=arguments[2],!(ie=X(this,De,He,de)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(De,'" - "').concat(He,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if("mixed"!==de&&ie.undirected!==("undirected"===de))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(de," edge in the graph."));return delete ie.attributes[j],this.emit("edgeAttributesUpdated",{key:ie.key,type:"remove",attributes:ie.attributes,name:j}),this}}},{name:function(ae){return"replace".concat(ae,"Attributes")},attacher:function(ae,me,de){ae.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==de&&de!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var De=""+N,He=""+j;if(j=arguments[2],!(ie=X(this,De,He,de)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(De,'" - "').concat(He,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if(!F(j))throw new be("Graph.".concat(me,": provided attributes are not a plain object."));if("mixed"!==de&&ie.undirected!==("undirected"===de))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(de," edge in the graph."));return ie.attributes=j,this.emit("edgeAttributesUpdated",{key:ie.key,type:"replace",attributes:ie.attributes}),this}}},{name:function(ae){return"merge".concat(ae,"Attributes")},attacher:function(ae,me,de){ae.prototype[me]=function(N,j){var ie;if("mixed"!==this.type&&"mixed"!==de&&de!==this.type)throw new ve("Graph.".concat(me,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new ve("Graph.".concat(me,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var De=""+N,He=""+j;if(j=arguments[2],!(ie=X(this,De,He,de)))throw new re("Graph.".concat(me,': could not find an edge for the given path ("').concat(De,'" - "').concat(He,'").'))}else if(!(ie=this._edges.get(N=""+N)))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" edge in the graph.'));if(!F(j))throw new be("Graph.".concat(me,": provided attributes are not a plain object."));if("mixed"!==de&&ie.undirected!==("undirected"===de))throw new re("Graph.".concat(me,': could not find the "').concat(N,'" ').concat(de," edge in the graph."));return pe(ie.attributes,j),this.emit("edgeAttributesUpdated",{key:ie.key,type:"merge",attributes:ie.attributes,data:j}),this}}}],Ce=se,$e=function(){var ae,me=arguments,de=-1;return new Ce(function N(){if(!ae){if(++de>=me.length)return{done:!0};ae=me[de]}var j=ae.next();return j.done?(ae=null,N()):j})},Se=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function ze(ae,me){for(var de in me)ae.push(me[de].key)}function Ke(ae,me){for(var de in me)me[de].forEach(function(N){return ae.push(N.key)})}function Ve(ae,me,de){for(var N in ae)if(N!==de){var j=ae[N];me(j.key,j.attributes,j.source.key,j.target.key,j.source.attributes,j.target.attributes,j.undirected,j.generatedKey)}}function K(ae,me,de){for(var N in ae)N!==de&&ae[N].forEach(function(j){return me(j.key,j.attributes,j.source.key,j.target.key,j.source.attributes,j.target.attributes,j.undirected,j.generatedKey)})}function q(ae,me,de){for(var N in ae)if(N!==de){var j=ae[N];if(me(j.key,j.attributes,j.source.key,j.target.key,j.source.attributes,j.target.attributes,j.undirected,j.generatedKey))return!0}return!1}function ge(ae,me,de){var N,j,ie,De,He;for(var st in ae)if(st!==de)for(N=ae[st].values();!0!==(j=N.next()).done;)if(De=(ie=j.value).source,me(ie.key,ie.attributes,De.key,(He=ie.target).key,De.attributes,He.attributes,ie.undirected,ie.generatedKey))return!0;return!1}function ce(ae,me){var de=Object.keys(ae),N=de.length,j=null,ie=0;return new se(function De(){var He;if(j){var st=j.next();if(st.done)return j=null,ie++,De();He=st.value}else{if(ie>=N)return{done:!0};var Nt=de[ie];if(Nt===me)return ie++,De();if((He=ae[Nt])instanceof Set)return j=He.values(),De();ie++}return{done:!1,value:[He.key,He.attributes,He.source.key,He.target.key,He.source.attributes,He.target.attributes]}})}function Ye(ae,me,de){var N=me[de];N&&ae.push(N.key)}function _t(ae,me,de){var N=me[de];N&&N.forEach(function(j){return ae.push(j.key)})}function gt(ae,me,de){var N=ae[me];if(N){var j=N.source,ie=N.target;de(N.key,N.attributes,j.key,ie.key,j.attributes,ie.attributes,N.undirected,N.generatedKey)}}function Ae(ae,me,de){var N=ae[me];N&&N.forEach(function(j){return de(j.key,j.attributes,j.source.key,j.target.key,j.source.attributes,j.target.attributes,j.undirected,j.generatedKey)})}function z(ae,me,de){var N=ae[me];if(N){var j=N.source,ie=N.target;return de(N.key,N.attributes,j.key,ie.key,j.attributes,ie.attributes,N.undirected,N.generatedKey)}}function L(ae,me,de){var N=ae[me];if(N){for(var j,ie,De=N.values();!0!==(j=De.next()).done;)if(de((ie=j.value).key,ie.attributes,ie.source.key,ie.target.key,ie.source.attributes,ie.target.attributes,ie.undirected,ie.generatedKey))return!0;return!1}}function H(ae,me){var de=ae[me];if(de instanceof Set){var N=de.values();return new se(function(){var j=N.next();if(j.done)return j;var ie=j.value;return{done:!1,value:[ie.key,ie.attributes,ie.source.key,ie.target.key,ie.source.attributes,ie.target.attributes]}})}return se.of([de.key,de.attributes,de.source.key,de.target.key,de.source.attributes,de.target.attributes])}function Le(ae,me){if(0===ae.size)return[];if("mixed"===me||me===ae.type)return"function"==typeof Array.from?Array.from(ae._edges.keys()):te(ae._edges.keys(),ae._edges.size);for(var de,N,ie=new Array("undirected"===me?ae.undirectedSize:ae.directedSize),De="undirected"===me,He=ae._edges.values(),st=0;!0!==(de=He.next()).done;)(N=de.value).undirected===De&&(ie[st++]=N.key);return ie}function it(ae,me,de){if(0!==ae.size)for(var N,j,ie="mixed"!==me&&me!==ae.type,De="undirected"===me,He=ae._edges.values();!0!==(N=He.next()).done;)if(j=N.value,!ie||j.undirected===De){var qt=j.source,St=j.target;de(j.key,j.attributes,qt.key,St.key,qt.attributes,St.attributes,j.undirected,j.generatedKey)}}function At(ae,me,de){if(0!==ae.size)for(var N,j,ie="mixed"!==me&&me!==ae.type,De="undirected"===me,He=ae._edges.values();!0!==(N=He.next()).done;)if(j=N.value,!ie||j.undirected===De){var qt=j.source,St=j.target;if(de(j.key,j.attributes,qt.key,St.key,qt.attributes,St.attributes,j.undirected,j.generatedKey))break}}function kt(ae,me){if(0===ae.size)return se.empty();var de="mixed"!==me&&me!==ae.type,N="undirected"===me,j=ae._edges.values();return new se(function(){for(var ie,De;;){if((ie=j.next()).done)return ie;if(De=ie.value,!de||De.undirected===N)break}return{value:[De.key,De.attributes,De.source.key,De.target.key,De.source.attributes,De.target.attributes],done:!1}})}function In(ae,me,de,N){var j=[],ie=ae?Ke:ze;return"undirected"!==me&&("out"!==de&&ie(j,N.in),"in"!==de&&ie(j,N.out),!de&&N.directedSelfLoops>0&&j.splice(j.lastIndexOf(N.key),1)),"directed"!==me&&ie(j,N.undirected),j}function Pn(ae,me,de,N,j){var ie=ae?K:Ve;"undirected"!==me&&("out"!==de&&ie(N.in,j),"in"!==de&&ie(N.out,j,de?null:N.key)),"directed"!==me&&ie(N.undirected,j)}function Yn(ae,me,de,N,j){var ie=ae?ge:q;"undirected"!==me&&("out"!==de&&ie(N.in,j)||"in"!==de&&ie(N.out,j,de?null:N.key))||"directed"===me||ie(N.undirected,j)}function Mi(ae,me,de){var N=se.empty();return"undirected"!==ae&&("out"!==me&&void 0!==de.in&&(N=$e(N,ce(de.in))),"in"!==me&&void 0!==de.out&&(N=$e(N,ce(de.out,me?null:de.key)))),"directed"!==ae&&void 0!==de.undirected&&(N=$e(N,ce(de.undirected))),N}function xi(ae,me,de,N,j){var ie=me?_t:Ye,De=[];return"undirected"!==ae&&(void 0!==N.in&&"out"!==de&&ie(De,N.in,j),void 0!==N.out&&"in"!==de&&ie(De,N.out,j),!de&&N.directedSelfLoops>0&&De.splice(De.lastIndexOf(N.key),1)),"directed"!==ae&&void 0!==N.undirected&&ie(De,N.undirected,j),De}function Xr(ae,me,de,N,j,ie){var De=me?Ae:gt;"undirected"!==ae&&(void 0!==N.in&&"out"!==de&&De(N.in,j,ie),N.key!==j&&void 0!==N.out&&"in"!==de&&De(N.out,j,ie)),"directed"!==ae&&void 0!==N.undirected&&De(N.undirected,j,ie)}function Ls(ae,me,de,N,j,ie){var De=me?L:z;"undirected"!==ae&&(void 0!==N.in&&"out"!==de&&De(N.in,j,ie)||N.key!==j&&void 0!==N.out&&"in"!==de&&De(N.out,j,ie,de?null:N.key))||"directed"===ae||void 0===N.undirected||De(N.undirected,j,ie)}function fs(ae,me,de,N){var j=se.empty();return"undirected"!==ae&&(void 0!==de.in&&"out"!==me&&N in de.in&&(j=$e(j,H(de.in,N))),void 0!==de.out&&"in"!==me&&N in de.out&&(j=$e(j,H(de.out,N)))),"directed"!==ae&&void 0!==de.undirected&&N in de.undirected&&(j=$e(j,H(de.undirected,N))),j}var Bs=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Kr(ae,me){if(void 0!==me)for(var de in me)ae.add(de)}function xa(ae,me,de){if("mixed"!==ae){if("undirected"===ae)return Object.keys(de.undirected);if("string"==typeof me)return Object.keys(de[me])}var N=new Set;return"undirected"!==ae&&("out"!==me&&Kr(N,de.in),"in"!==me&&Kr(N,de.out)),"directed"!==ae&&Kr(N,de.undirected),te(N.values(),N.size)}function kl(ae,me,de){for(var N in me){var j=me[N];j instanceof Set&&(j=j.values().next().value);var ie=j.source,He=ie===ae?j.target:ie;de(He.key,He.attributes)}}function Sa(ae,me,de,N){for(var j in de){var ie=de[j];ie instanceof Set&&(ie=ie.values().next().value);var De=ie.source,st=De===me?ie.target:De;ae.has(st.key)||(ae.add(st.key),N(st.key,st.attributes))}}function ws(ae,me,de){for(var N in me){var j=me[N];j instanceof Set&&(j=j.values().next().value);var ie=j.source,He=ie===ae?j.target:ie;if(de(He.key,He.attributes))return!0}return!1}function en(ae,me,de,N){for(var j in de){var ie=de[j];ie instanceof Set&&(ie=ie.values().next().value);var De=ie.source,st=De===me?ie.target:De;if(!ae.has(st.key)&&(ae.add(st.key),N(st.key,st.attributes)))return!0}return!1}function nl(ae,me){var de=Object.keys(me),N=de.length,j=0;return new se(function(){if(j>=N)return{done:!0};var ie=me[de[j++]];ie instanceof Set&&(ie=ie.values().next().value);var De=ie.source,st=De===ae?ie.target:De;return{done:!1,value:[st.key,st.attributes]}})}function ot(ae,me,de){var N=Object.keys(de),j=N.length,ie=0;return new se(function De(){if(ie>=j)return{done:!0};var He=de[N[ie++]];He instanceof Set&&(He=He.values().next().value);var st=He.source,tt=st===me?He.target:st;return ae.has(tt.key)?De():(ae.add(tt.key),{done:!1,value:[tt.key,tt.attributes]})})}function ut(ae,me,de,N,j){var ie=ae._nodes.get(N);if("undirected"!==me){if("out"!==de&&void 0!==ie.in)for(var De in ie.in)if(De===j)return!0;if("in"!==de&&void 0!==ie.out)for(var He in ie.out)if(He===j)return!0}if("directed"!==me&&void 0!==ie.undirected)for(var st in ie.undirected)if(st===j)return!0;return!1}function We(ae,me,de){for(var N,j,ie,De,He,st,Nt,tt=me._nodes.values(),qt=me.type;!0!==(N=tt.next()).done;){if(j=N.value,"undirected"!==qt)for(ie in De=j.out)if(st=(He=De[ie]).target,Nt=de(j.key,st.key,j.attributes,st.attributes,He.key,He.attributes,He.undirected,He.generatedKey),ae&&Nt)return;if("directed"!==qt)for(ie in De=j.undirected)if((st=(He=De[ie]).target).key!==ie&&(st=He.source),Nt=de(j.key,st.key,j.attributes,st.attributes,He.key,He.attributes,He.undirected,He.generatedKey),ae&&Nt)return}}function ht(ae,me,de){for(var N,j,ie,De,He,st,Nt,tt,qt,St=me._nodes.values(),vn=me.type;!0!==(N=St.next()).done;){if(j=N.value,"undirected"!==vn)for(ie in st=j.out)for(De=st[ie].values();!0!==(He=De.next()).done;)if(tt=(Nt=He.value).target,qt=de(j.key,tt.key,j.attributes,tt.attributes,Nt.key,Nt.attributes,Nt.undirected,Nt.generatedKey),ae&&qt)return;if("directed"!==vn)for(ie in st=j.undirected)for(De=st[ie].values();!0!==(He=De.next()).done;)if((tt=(Nt=He.value).target).key!==ie&&(tt=Nt.source),qt=de(j.key,tt.key,j.attributes,tt.attributes,Nt.key,Nt.attributes,Nt.undirected,Nt.generatedKey),ae&&qt)return}}function rt(ae,me){var de={key:ae};return Y(me.attributes)||(de.attributes=pe({},me.attributes)),de}function Dt(ae,me){var de={source:me.source.key,target:me.target.key};return me.generatedKey||(de.key=ae),Y(me.attributes)||(de.attributes=pe({},me.attributes)),me.undirected&&(de.undirected=!0),de}function It(ae){return F(ae)?"key"in ae?!("attributes"in ae)||F(ae.attributes)&&null!==ae.attributes?null:"invalid-attributes":"no-key":"not-object"}function Ot(ae){return F(ae)?"source"in ae?"target"in ae?!("attributes"in ae)||F(ae.attributes)&&null!==ae.attributes?"undirected"in ae&&"boolean"!=typeof ae.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var Qt=new Set(["directed","undirected","mixed"]),zn=new Set(["domain","_events","_eventsCount","_maxListeners"]),ci={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Rn(ae,me,de){var N=new ae.NodeDataClass(me,de);return ae._nodes.set(me,N),ae.emit("nodeAdded",{key:me,attributes:de}),N}function bn(ae,me,de,N,j,ie,De,He){if(!N&&"undirected"===ae.type)throw new ve("Graph.".concat(me,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(N&&"directed"===ae.type)throw new ve("Graph.".concat(me,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(He&&!F(He))throw new be("Graph.".concat(me,': invalid attributes. Expecting an object but got "').concat(He,'"'));if(ie=""+ie,De=""+De,He=He||{},!ae.allowSelfLoops&&ie===De)throw new ve("Graph.".concat(me,': source & target are the same ("').concat(ie,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var st=ae._nodes.get(ie),Nt=ae._nodes.get(De);if(!st)throw new re("Graph.".concat(me,': source node "').concat(ie,'" not found.'));if(!Nt)throw new re("Graph.".concat(me,': target node "').concat(De,'" not found.'));var tt={key:null,undirected:N,source:ie,target:De,attributes:He};if(de&&(j=ae._edgeKeyGenerator(tt)),ae._edges.has(j=""+j))throw new ve("Graph.".concat(me,': the "').concat(j,'" edge already exists in the graph.'));if(!ae.multi&&(N?void 0!==st.undirected[De]:void 0!==st.out[De]))throw new ve("Graph.".concat(me,': an edge linking "').concat(ie,'" to "').concat(De,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var qt=new J(N,j,de,st,Nt,He);return ae._edges.set(j,qt),ie===De?N?(st.undirectedSelfLoops++,ae._undirectedSelfLoopCount++):(st.directedSelfLoops++,ae._directedSelfLoopCount++):N?(st.undirectedDegree++,Nt.undirectedDegree++):(st.outDegree++,Nt.inDegree++),le(ae,N,qt,ie,De,st,Nt),N?ae._undirectedSize++:ae._directedSize++,tt.key=j,ae.emit("edgeAdded",tt),j}function Xn(ae,me,de,N,j,ie,De,He,st){if(!N&&"undirected"===ae.type)throw new ve("Graph.".concat(me,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(N&&"directed"===ae.type)throw new ve("Graph.".concat(me,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(He)if(st){if("function"!=typeof He)throw new be("Graph.".concat(me,': invalid updater function. Expecting a function but got "').concat(He,'"'))}else if(!F(He))throw new be("Graph.".concat(me,': invalid attributes. Expecting an object but got "').concat(He,'"'));var Nt;if(ie=""+ie,De=""+De,st&&(Nt=He,He=void 0),!ae.allowSelfLoops&&ie===De)throw new ve("Graph.".concat(me,': source & target are the same ("').concat(ie,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var tt,qt,St=ae._nodes.get(ie),vn=ae._nodes.get(De);if(!de&&(tt=ae._edges.get(j))){if(tt.source.key!==ie||tt.target.key!==De||N&&(tt.source.key!==De||tt.target.key!==ie))throw new ve("Graph.".concat(me,': inconsistency detected when attempting to merge the "').concat(j,'" edge with "').concat(ie,'" source & "').concat(De,'" target vs. ("').concat(tt.source.key,'", "').concat(tt.target.key,'").'));qt=tt}if(qt||ae.multi||!St||(qt=N?St.undirected[De]:St.out[De]),qt)return(st?Nt:He)?(st?(qt.attributes=Nt(qt.attributes),ae.emit("edgeAttributesUpdated",{type:"replace",key:qt.key,attributes:qt.attributes})):(pe(qt.attributes,He),ae.emit("edgeAttributesUpdated",{type:"merge",key:qt.key,attributes:qt.attributes,data:He})),qt.key):qt.key;He=He||{},st&&Nt&&(He=Nt(He));var Zr={key:null,undirected:N,source:ie,target:De,attributes:He};if(de&&(j=ae._edgeKeyGenerator(Zr)),ae._edges.has(j=""+j))throw new ve("Graph.".concat(me,': the "').concat(j,'" edge already exists in the graph.'));return St||(St=Rn(ae,ie,{}),ie===De&&(vn=St)),vn||(vn=Rn(ae,De,{})),tt=new J(N,j,de,St,vn,He),ae._edges.set(j,tt),ie===De?N?(St.undirectedSelfLoops++,ae._undirectedSelfLoopCount++):(St.directedSelfLoops++,ae._directedSelfLoopCount++):N?(St.undirectedDegree++,vn.undirectedDegree++):(St.outDegree++,vn.inDegree++),le(ae,N,tt,ie,De,St,vn),N?ae._undirectedSize++:ae._directedSize++,Zr.key=j,ae.emit("edgeAdded",Zr),j}var ae,Cn=function(ae){function me(N){var j;if(j=ae.call(this)||this,(N=pe({},ci,N)).edgeKeyGenerator&&"function"!=typeof N.edgeKeyGenerator)throw new be("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(N.edgeKeyGenerator,'".'));if("boolean"!=typeof N.multi)throw new be("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(N.multi,'".'));if(!Qt.has(N.type))throw new be('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(N.type,'".'));if("boolean"!=typeof N.allowSelfLoops)throw new be("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(N.allowSelfLoops,'".'));var ie,De="mixed"===N.type?Fe:"directed"===N.type?Ze:Ge;return B(Ee(j),"NodeDataClass",De),B(Ee(j),"_attributes",{}),B(Ee(j),"_nodes",new Map),B(Ee(j),"_edges",new Map),B(Ee(j),"_directedSize",0),B(Ee(j),"_undirectedSize",0),B(Ee(j),"_directedSelfLoopCount",0),B(Ee(j),"_undirectedSelfLoopCount",0),B(Ee(j),"_edgeKeyGenerator",N.edgeKeyGenerator||(ie=0,function(){return ie++})),B(Ee(j),"_options",N),zn.forEach(function(He){return B(Ee(j),He,j[He])}),w(Ee(j),"order",function(){return j._nodes.size}),w(Ee(j),"size",function(){return j._edges.size}),w(Ee(j),"directedSize",function(){return j._directedSize}),w(Ee(j),"undirectedSize",function(){return j._undirectedSize}),w(Ee(j),"selfLoopCount",function(){return j._directedSelfLoopCount+j._undirectedSelfLoopCount}),w(Ee(j),"directedSelfLoopCount",function(){return j._directedSelfLoopCount}),w(Ee(j),"undirectedSelfLoopCount",function(){return j._undirectedSelfLoopCount}),w(Ee(j),"multi",j._options.multi),w(Ee(j),"type",j._options.type),w(Ee(j),"allowSelfLoops",j._options.allowSelfLoops),w(Ee(j),"implementation",function(){return"graphology"}),j}et(me,ae);var de=me.prototype;return de.hasNode=function(N){return this._nodes.has(""+N)},de.hasDirectedEdge=function(N,j){if("undirected"===this.type)return!1;if(1===arguments.length){var De=this._edges.get(""+N);return!!De&&!De.undirected}if(2===arguments.length){j=""+j;var He=this._nodes.get(N=""+N);if(!He)return!1;var st=He.out[j];return!(!st||this.multi&&!st.size)}throw new be("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},de.hasUndirectedEdge=function(N,j){if("directed"===this.type)return!1;if(1===arguments.length){var De=this._edges.get(""+N);return!!De&&De.undirected}if(2===arguments.length){j=""+j;var He=this._nodes.get(N=""+N);if(!He)return!1;var st=He.undirected[j];return!(!st||this.multi&&!st.size)}throw new be("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},de.hasEdge=function(N,j){if(1===arguments.length)return this._edges.has(""+N);if(2===arguments.length){j=""+j;var De=this._nodes.get(N=""+N);if(!De)return!1;var He=void 0!==De.out&&De.out[j];return He||(He=void 0!==De.undirected&&De.undirected[j]),!(!He||this.multi&&!He.size)}throw new be("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},de.directedEdge=function(N,j){if("undirected"!==this.type){if(N=""+N,j=""+j,this.multi)throw new ve("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var ie=this._nodes.get(N);if(!ie)throw new re('Graph.directedEdge: could not find the "'.concat(N,'" source node in the graph.'));if(!this._nodes.has(j))throw new re('Graph.directedEdge: could not find the "'.concat(j,'" target node in the graph.'));var De=ie.out&&ie.out[j]||void 0;return De?De.key:void 0}},de.undirectedEdge=function(N,j){if("directed"!==this.type){if(N=""+N,j=""+j,this.multi)throw new ve("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var ie=this._nodes.get(N);if(!ie)throw new re('Graph.undirectedEdge: could not find the "'.concat(N,'" source node in the graph.'));if(!this._nodes.has(j))throw new re('Graph.undirectedEdge: could not find the "'.concat(j,'" target node in the graph.'));var De=ie.undirected&&ie.undirected[j]||void 0;return De?De.key:void 0}},de.edge=function(N,j){if(this.multi)throw new ve("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");j=""+j;var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.edge: could not find the "'.concat(N,'" source node in the graph.'));if(!this._nodes.has(j))throw new re('Graph.edge: could not find the "'.concat(j,'" target node in the graph.'));var De=ie.out&&ie.out[j]||ie.undirected&&ie.undirected[j]||void 0;if(De)return De.key},de.inDegree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new be('Graph.inDegree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.inDegree: could not find the "'.concat(N,'" node in the graph.'));return"undirected"===this.type?0:ie.inDegree+(j?ie.directedSelfLoops:0)},de.outDegree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new be('Graph.outDegree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.outDegree: could not find the "'.concat(N,'" node in the graph.'));return"undirected"===this.type?0:ie.outDegree+(j?ie.directedSelfLoops:0)},de.directedDegree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new be('Graph.directedDegree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.directedDegree: could not find the "'.concat(N,'" node in the graph.'));if("undirected"===this.type)return 0;var De=j?ie.directedSelfLoops:0;return ie.inDegree+De+(ie.outDegree+De)},de.undirectedDegree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new be('Graph.undirectedDegree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.undirectedDegree: could not find the "'.concat(N,'" node in the graph.'));return"directed"===this.type?0:ie.undirectedDegree+2*(j?ie.undirectedSelfLoops:0)},de.degree=function(N){var j=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof j)throw new be('Graph.degree: Expecting a boolean but got "'.concat(j,'" for the second parameter (allowing self-loops to be counted).'));var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.degree: could not find the "'.concat(N,'" node in the graph.'));var De=0,He=0;return"directed"!==this.type&&(j&&(He=ie.undirectedSelfLoops),De+=ie.undirectedDegree+2*He),"undirected"!==this.type&&(j&&(He=ie.directedSelfLoops),De+=ie.inDegree+ie.outDegree+2*He),De},de.source=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.source: could not find the "'.concat(N,'" edge in the graph.'));return j.source.key},de.target=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.target: could not find the "'.concat(N,'" edge in the graph.'));return j.target.key},de.extremities=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.extremities: could not find the "'.concat(N,'" edge in the graph.'));return[j.source.key,j.target.key]},de.opposite=function(N,j){N=""+N;var ie=this._edges.get(j=""+j);if(!ie)throw new re('Graph.opposite: could not find the "'.concat(j,'" edge in the graph.'));var De=ie.source.key,He=ie.target.key;if(N!==De&&N!==He)throw new re('Graph.opposite: the "'.concat(N,'" node is not attached to the "').concat(j,'" edge (').concat(De,", ").concat(He,")."));return N===De?He:De},de.hasExtremity=function(N,j){j=""+j;var ie=this._edges.get(N=""+N);if(!ie)throw new re('Graph.hasExtremity: could not find the "'.concat(N,'" edge in the graph.'));return ie.source.key===j||ie.target.key===j},de.isUndirected=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.isUndirected: could not find the "'.concat(N,'" edge in the graph.'));return j.undirected},de.isDirected=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.isDirected: could not find the "'.concat(N,'" edge in the graph.'));return!j.undirected},de.isSelfLoop=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.isSelfLoop: could not find the "'.concat(N,'" edge in the graph.'));return j.source===j.target},de.hasGeneratedKey=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.hasGeneratedKey: could not find the "'.concat(N,'" edge in the graph.'));return j.generatedKey},de.addNode=function(N,j){return function(ie,De,He){if(He&&!F(He))throw new be('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(He,'"'));if(He=He||{},ie._nodes.has(De=""+De))throw new ve('Graph.addNode: the "'.concat(De,'" node already exist in the graph.'));var st=new ie.NodeDataClass(De,He);return ie._nodes.set(De,st),ie.emit("nodeAdded",{key:De,attributes:He}),st}(this,N,j).key},de.mergeNode=function(N,j){if(j&&!F(j))throw new be('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(j,'"'));j=j||{};var ie=this._nodes.get(N=""+N);return ie?(j&&(pe(ie.attributes,j),this.emit("nodeAttributesUpdated",{type:"merge",key:N,attributes:ie.attributes,data:j})),N):(ie=new this.NodeDataClass(N,j),this._nodes.set(N,ie),this.emit("nodeAdded",{key:N,attributes:j}),N)},de.updateNode=function(N,j){if(j&&"function"!=typeof j)throw new be('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(j,'"'));var ie=this._nodes.get(N=""+N);if(ie)return j&&(ie.attributes=j(ie.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:N,attributes:ie.attributes})),N;var He=j?j({}):{};return ie=new this.NodeDataClass(N,He),this._nodes.set(N,ie),this.emit("nodeAdded",{key:N,attributes:He}),N},de.dropNode=function(N){var j=this,ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.dropNode: could not find the "'.concat(N,'" node in the graph.'));this.forEachEdge(N,function(De){j.dropEdge(De)}),this._nodes.delete(N),this.emit("nodeDropped",{key:N,attributes:ie.attributes})},de.dropEdge=function(N){var j;if(arguments.length>1){var ie=""+arguments[0],De=""+arguments[1];if(!(j=X(this,ie,De,this.type)))throw new re('Graph.dropEdge: could not find the "'.concat(ie,'" -> "').concat(De,'" edge in the graph.'))}else if(!(j=this._edges.get(N=""+N)))throw new re('Graph.dropEdge: could not find the "'.concat(N,'" edge in the graph.'));this._edges.delete(j.key);var st=j.source,Nt=j.target,tt=j.attributes,qt=j.undirected;return st===Nt?qt?(st.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(st.directedSelfLoops--,this._directedSelfLoopCount--):qt?(st.undirectedDegree--,Nt.undirectedDegree--):(st.outDegree--,Nt.inDegree--),_e(this,qt,j),qt?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:N,attributes:tt,source:st.key,target:Nt.key,undirected:qt}),this},de.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},de.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},de.getAttribute=function(N){return this._attributes[N]},de.getAttributes=function(){return this._attributes},de.hasAttribute=function(N){return this._attributes.hasOwnProperty(N)},de.setAttribute=function(N,j){return this._attributes[N]=j,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:N}),this},de.updateAttribute=function(N,j){if("function"!=typeof j)throw new be("Graph.updateAttribute: updater should be a function.");return this._attributes[N]=j(this._attributes[N]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:N}),this},de.removeAttribute=function(N){return delete this._attributes[N],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:N}),this},de.replaceAttributes=function(N){if(!F(N))throw new be("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=N,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},de.mergeAttributes=function(N){if(!F(N))throw new be("Graph.mergeAttributes: provided attributes are not a plain object.");return pe(this._attributes,N),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:N}),this},de.getNodeAttribute=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.getNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));return ie.attributes[j]},de.getNodeAttributes=function(N){var j=this._nodes.get(N=""+N);if(!j)throw new re('Graph.getNodeAttributes: could not find the "'.concat(N,'" node in the graph.'));return j.attributes},de.hasNodeAttribute=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.hasNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));return ie.attributes.hasOwnProperty(j)},de.setNodeAttribute=function(N,j,ie){var De=this._nodes.get(N=""+N);if(!De)throw new re('Graph.setNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));if(arguments.length<3)throw new be("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return De.attributes[j]=ie,this.emit("nodeAttributesUpdated",{key:N,type:"set",attributes:De.attributes,name:j}),this},de.updateNodeAttribute=function(N,j,ie){var De=this._nodes.get(N=""+N);if(!De)throw new re('Graph.updateNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));if(arguments.length<3)throw new be("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof ie)throw new be("Graph.updateAttribute: updater should be a function.");var He=De.attributes,st=ie(He[j]);return He[j]=st,this.emit("nodeAttributesUpdated",{key:N,type:"set",attributes:De.attributes,name:j}),this},de.removeNodeAttribute=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.hasNodeAttribute: could not find the "'.concat(N,'" node in the graph.'));return delete ie.attributes[j],this.emit("nodeAttributesUpdated",{key:N,type:"remove",attributes:ie.attributes,name:j}),this},de.replaceNodeAttributes=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.replaceNodeAttributes: could not find the "'.concat(N,'" node in the graph.'));if(!F(j))throw new be("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return ie.attributes=j,this.emit("nodeAttributesUpdated",{key:N,type:"replace",attributes:ie.attributes}),this},de.mergeNodeAttributes=function(N,j){var ie=this._nodes.get(N=""+N);if(!ie)throw new re('Graph.mergeNodeAttributes: could not find the "'.concat(N,'" node in the graph.'));if(!F(j))throw new be("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return pe(ie.attributes,j),this.emit("nodeAttributesUpdated",{key:N,type:"merge",attributes:ie.attributes,data:j}),this},de.updateEachNodeAttributes=function(N,j){if("function"!=typeof N)throw new be("Graph.updateEachNodeAttributes: expecting an updater function.");if(j&&!C(j))throw new be("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var ie,De,He=this._nodes.values();!0!==(ie=He.next()).done;)(De=ie.value).attributes=N(De.key,De.attributes);this.emit("eachNodeAttributesUpdated",{hints:j||null})},de.updateEachEdgeAttributes=function(N,j){if("function"!=typeof N)throw new be("Graph.updateEachEdgeAttributes: expecting an updater function.");if(j&&!C(j))throw new be("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var ie,De,He=this._edges.values();!0!==(ie=He.next()).done;)(De=ie.value).attributes=N(De.key,De.attributes);this.emit("eachEdgeAttributesUpdated",{hints:j||null})},de.forEach=function(N){if("function"!=typeof N)throw new be("Graph.forEach: expecting a callback.");this.multi?ht(!1,this,N):We(!1,this,N)},de.forEachUntil=function(N){if("function"!=typeof N)throw new be("Graph.forEach: expecting a callback.");this.multi?ht(!0,this,N):We(!0,this,N)},de.adjacency=function(){return this.multi?(st=(N=this)._nodes.values(),Nt=N.type,tt="outer",qt=null,new se(function St(){var vn;if("outer"===tt)return!0===(vn=st.next()).done?vn:(j=vn.value,tt="directed",St());if("directed"===tt)return"undirected"===Nt?(tt="undirected",St()):(De=j.out,ie=Object.keys(j.out),He=0,tt="inner-directed",St());if("undirected"===tt){if("directed"===Nt)return tt="outer",St();De=j.undirected,ie=Object.keys(j.undirected),He=0,tt="inner-undirected"}if(!qt&&He>=ie.length)return tt="inner-undirected"===tt?"outer":"undirected",St();if(!qt){var Es=ie[He++];return qt=De[Es].values(),St()}if((vn=qt.next()).done)return qt=null,St();var Zr=vn.value,Js=Zr.target;return"inner-undirected"===tt&&Js.key===j.key&&(Js=Zr.source),{done:!1,value:[j.key,Js.key,j.attributes,Js.attributes,Zr.key,Zr.attributes]}})):(Fl=(St=this)._nodes.values(),fo=St.type,Br="outer",new se(function Vs(){var Ac;if("outer"===Br)return!0===(Ac=Fl.next()).done?Ac:(vn=Ac.value,Br="directed",Vs());if("directed"===Br)return"undirected"===fo?(Br="undirected",Vs()):(Zr=vn.out,Es=Object.keys(vn.out),Js=0,Br="inner-directed",Vs());if("undirected"===Br){if("directed"===fo)return Br="outer",Vs();Zr=vn.undirected,Es=Object.keys(vn.undirected),Js=0,Br="inner-undirected"}if(Js>=Es.length)return Br="inner-undirected"===Br?"outer":"undirected",Vs();var xn=Es[Js++],po=Zr[xn],Ll=po.target;return"inner-undirected"===Br&&Ll.key===vn.key&&(Ll=po.source),{done:!1,value:[vn.key,Ll.key,vn.attributes,Ll.attributes,po.key,po.attributes]}}));var St,vn,Es,Zr,Js,Fl,fo,Br,N,j,ie,De,He,st,Nt,tt,qt},de.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):te(this._nodes.keys(),this._nodes.size)},de.forEachNode=function(N){if("function"!=typeof N)throw new be("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(j,ie){N(ie,j.attributes)})},de.forEachNodeUntil=function(N){if("function"!=typeof N)throw new be("Graph.forEachNode: expecting a callback.");for(var j,ie,De=this._nodes.values();!0!==(j=De.next())&&!N((ie=j.value).key,ie.attributes););},de.nodeEntries=function(){var N=this._nodes.values();return new se(function(){var j=N.next();if(j.done)return j;var ie=j.value;return{value:[ie.key,ie.attributes],done:!1}})},de.exportNode=function(N){var j=this._nodes.get(N=""+N);if(!j)throw new re('Graph.exportNode: could not find the "'.concat(N,'" node in the graph.'));return rt(N,j)},de.exportEdge=function(N){var j=this._edges.get(N=""+N);if(!j)throw new re('Graph.exportEdge: could not find the "'.concat(N,'" edge in the graph.'));return Dt(N,j)},de.export=function(){var N=new Array(this._nodes.size),j=0;this._nodes.forEach(function(De,He){N[j++]=rt(He,De)});var ie=new Array(this._edges.size);return j=0,this._edges.forEach(function(De,He){ie[j++]=Dt(He,De)}),{attributes:this.getAttributes(),nodes:N,edges:ie,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},de.importNode=function(N){var j=arguments.length>1&&void 0!==arguments[1]&&arguments[1],ie=It(N);if(ie){if("not-object"===ie)throw new be('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===ie)throw new be("Graph.importNode: no key provided.");if("invalid-attributes"===ie)throw new be("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var De=N.key,He=N.attributes,st=void 0===He?{}:He;return j?this.mergeNode(De,st):this.addNode(De,st),this},de.importEdge=function(N){var j=arguments.length>1&&void 0!==arguments[1]&&arguments[1],ie=Ot(N);if(ie){if("not-object"===ie)throw new be('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===ie)throw new be("Graph.importEdge: missing souce.");if("no-target"===ie)throw new be("Graph.importEdge: missing target.");if("invalid-attributes"===ie)throw new be("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===ie)throw new be("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var De=N.source,He=N.target,st=N.attributes,Nt=void 0===st?{}:st,tt=N.undirected,qt=void 0!==tt&&tt;return"key"in N?(j?qt?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:qt?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,N.key,De,He,Nt):(j?qt?this.mergeUndirectedEdge:this.mergeDirectedEdge:qt?this.addUndirectedEdge:this.addDirectedEdge).call(this,De,He,Nt),this},de.import=function(N){var j,ie,De,He=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(U(N))return this.import(N.export(),He),this;if(!F(N))throw new be("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(N.attributes){if(!F(N.attributes))throw new be("Graph.import: invalid attributes. Expecting a plain object.");He?this.mergeAttributes(N.attributes):this.replaceAttributes(N.attributes)}if(N.nodes){if(De=N.nodes,!Array.isArray(De))throw new be("Graph.import: invalid nodes. Expecting an array.");for(j=0,ie=De.length;jie)){var Nt=new Set;Nt.add(j.undirected[st]),j.undirected[st]=Nt,N._nodes.get(st).undirected[ie]=Nt}})),this;var N},de.clearIndex=function(){return this._nodes.forEach(function(N){void 0!==N.in&&(N.in={},N.out={}),void 0!==N.undirected&&(N.undirected={})}),this},de.toJSON=function(){return this.export()},de.toString=function(){return"[object Graph]"},de.inspect=function(){var N=this,j={};this._nodes.forEach(function(Nt,tt){j[tt]=Nt.attributes});var ie={},De={};this._edges.forEach(function(Nt,tt){var qt=Nt.undirected?"--":"->",St="",vn="(".concat(Nt.source.key,")").concat(qt,"(").concat(Nt.target.key,")");Nt.generatedKey?N.multi&&(void 0===De[vn]?De[vn]=0:De[vn]++,St+="".concat(De[vn],". ")):St+="[".concat(tt,"]: "),ie[St+=vn]=Nt.attributes});var He={};for(var st in this)this.hasOwnProperty(st)&&!zn.has(st)&&"function"!=typeof this[st]&&(He[st]=this[st]);return He.attributes=this._attributes,He.nodes=j,He.edges=ie,B(He,"constructor",this.constructor),He},me}(M.exports.EventEmitter);"undefined"!=typeof Symbol&&(Cn.prototype[Symbol.for("nodejs.util.inspect.custom")]=Cn.prototype.inspect),[{name:function(ae){return"".concat(ae,"Edge")},generateKey:!0},{name:function(ae){return"".concat(ae,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(ae){return"".concat(ae,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(ae){return"".concat(ae,"EdgeWithKey")}},{name:function(ae){return"".concat(ae,"DirectedEdgeWithKey")},type:"directed"},{name:function(ae){return"".concat(ae,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(ae){["add","merge","update"].forEach(function(me){var de=ae.name(me),N="add"===me?bn:Xn;Cn.prototype[de]=ae.generateKey?function(j,ie,De){return N(this,de,!0,"undirected"===(ae.type||this.type),null,j,ie,De,"update"===me)}:function(j,ie,De,He){return N(this,de,!1,"undirected"===(ae.type||this.type),j,ie,De,He,"update"===me)}})}),"undefined"!=typeof Symbol&&(Cn.prototype[Symbol.iterator]=Cn.prototype.adjacency),ae=Cn,Me.forEach(function(me){var de=me.name,N=me.attacher;N(ae,de("Edge"),"mixed"),N(ae,de("DirectedEdge"),"directed"),N(ae,de("UndirectedEdge"),"undirected")}),function(ae){Se.forEach(function(me){var N,j,ie,De;ie=(N=me).type,De=N.direction,ae.prototype[j=N.name]=function(He,st){if("mixed"!==ie&&"mixed"!==this.type&&ie!==this.type)return[];if(!arguments.length)return Le(this,ie);if(1===arguments.length){var Nt=this._nodes.get(He=""+He);if(void 0===Nt)throw new re("Graph.".concat(j,': could not find the "').concat(He,'" node in the graph.'));return In(this.multi,"mixed"===ie?this.type:ie,De,Nt)}if(2===arguments.length){st=""+st;var tt=this._nodes.get(He=""+He);if(!tt)throw new re("Graph.".concat(j,': could not find the "').concat(He,'" source node in the graph.'));if(!this._nodes.has(st))throw new re("Graph.".concat(j,': could not find the "').concat(st,'" target node in the graph.'));return xi(ie,this.multi,De,tt,st)}throw new be("Graph.".concat(j,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(de,N){var j=N.name,ie=N.type,De=N.direction,He="forEach"+j[0].toUpperCase()+j.slice(1,-1);de.prototype[He]=function(st,Nt,tt){if("mixed"===ie||"mixed"===this.type||ie===this.type){if(1===arguments.length)return it(this,ie,tt=st);if(2===arguments.length){tt=Nt;var qt=this._nodes.get(st=""+st);if(void 0===qt)throw new re("Graph.".concat(He,': could not find the "').concat(st,'" node in the graph.'));return Pn(this.multi,"mixed"===ie?this.type:ie,De,qt,tt)}if(3===arguments.length){Nt=""+Nt;var St=this._nodes.get(st=""+st);if(!St)throw new re("Graph.".concat(He,': could not find the "').concat(st,'" source node in the graph.'));if(!this._nodes.has(Nt))throw new re("Graph.".concat(He,': could not find the "').concat(Nt,'" target node in the graph.'));return Xr(ie,this.multi,De,St,Nt,tt)}throw new be("Graph.".concat(He,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(ae,me),function(de,N){var j=N.name,ie=N.type,De=N.direction,He="forEach"+j[0].toUpperCase()+j.slice(1,-1)+"Until";de.prototype[He]=function(st,Nt,tt){if("mixed"===ie||"mixed"===this.type||ie===this.type){if(1===arguments.length)return At(this,ie,tt=st);if(2===arguments.length){tt=Nt;var qt=this._nodes.get(st=""+st);if(void 0===qt)throw new re("Graph.".concat(He,': could not find the "').concat(st,'" node in the graph.'));return Yn(this.multi,"mixed"===ie?this.type:ie,De,qt,tt)}if(3===arguments.length){Nt=""+Nt;var St=this._nodes.get(st=""+st);if(!St)throw new re("Graph.".concat(He,': could not find the "').concat(st,'" source node in the graph.'));if(!this._nodes.has(Nt))throw new re("Graph.".concat(He,': could not find the "').concat(Nt,'" target node in the graph.'));return Ls(ie,this.multi,De,St,Nt,tt)}throw new be("Graph.".concat(He,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(ae,me),function(de,N){var ie=N.type,De=N.direction,He=N.name.slice(0,-1)+"Entries";de.prototype[He]=function(st,Nt){if("mixed"!==ie&&"mixed"!==this.type&&ie!==this.type)return se.empty();if(!arguments.length)return kt(this,ie);if(1===arguments.length){var tt=this._nodes.get(st=""+st);if(!tt)throw new re("Graph.".concat(He,': could not find the "').concat(st,'" node in the graph.'));return Mi(ie,De,tt)}if(2===arguments.length){Nt=""+Nt;var qt=this._nodes.get(st=""+st);if(!qt)throw new re("Graph.".concat(He,': could not find the "').concat(st,'" source node in the graph.'));if(!this._nodes.has(Nt))throw new re("Graph.".concat(He,': could not find the "').concat(Nt,'" target node in the graph.'));return fs(ie,De,qt,Nt)}throw new be("Graph.".concat(He,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(ae,me)})}(Cn),function(ae){Bs.forEach(function(me){var N,j,ie,De;ie=(N=me).type,De=N.direction,ae.prototype[j=N.name]=function(He){if("mixed"!==ie&&"mixed"!==this.type&&ie!==this.type)return[];if(2===arguments.length){var st=""+arguments[0],Nt=""+arguments[1];if(!this._nodes.has(st))throw new re("Graph.".concat(j,': could not find the "').concat(st,'" node in the graph.'));if(!this._nodes.has(Nt))throw new re("Graph.".concat(j,': could not find the "').concat(Nt,'" node in the graph.'));return ut(this,ie,De,st,Nt)}if(1===arguments.length){var tt=this._nodes.get(He=""+He);if(void 0===tt)throw new re("Graph.".concat(j,': could not find the "').concat(He,'" node in the graph.'));return xa("mixed"===ie?this.type:ie,De,tt)}throw new be("Graph.".concat(j,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(ae,me){var de=me.name,N=me.type,j=me.direction,ie="forEach"+de[0].toUpperCase()+de.slice(1,-1);ae.prototype[ie]=function(De,He){if("mixed"===N||"mixed"===this.type||N===this.type){var st=this._nodes.get(De=""+De);if(void 0===st)throw new re("Graph.".concat(ie,': could not find the "').concat(De,'" node in the graph.'));!function(Nt,tt,qt,St){if("mixed"!==Nt){if("undirected"===Nt)return kl(qt,qt.undirected,St);if("string"==typeof tt)return kl(qt,qt[tt],St)}var vn=new Set;"undirected"!==Nt&&("out"!==tt&&Sa(vn,qt,qt.in,St),"in"!==tt&&Sa(vn,qt,qt.out,St)),"directed"!==Nt&&Sa(vn,qt,qt.undirected,St)}("mixed"===N?this.type:N,j,st,He)}}}(ae,me),function(ae,me){var de=me.name,N=me.type,j=me.direction,ie="forEach"+de[0].toUpperCase()+de.slice(1,-1)+"Until";ae.prototype[ie]=function(De,He){if("mixed"===N||"mixed"===this.type||N===this.type){var st=this._nodes.get(De=""+De);if(void 0===st)throw new re("Graph.".concat(ie,': could not find the "').concat(De,'" node in the graph.'));!function(Nt,tt,qt,St){if("mixed"!==Nt){if("undirected"===Nt)return ws(qt,qt.undirected,St);if("string"==typeof tt)return ws(qt,qt[tt],St)}var vn=new Set;"undirected"!==Nt&&("out"!==tt&&en(vn,qt,qt.in,St)||"in"!==tt&&en(vn,qt,qt.out,St))||"directed"===Nt||en(vn,qt,qt.undirected,St)}("mixed"===N?this.type:N,j,st,He)}}}(ae,me),function(ae,me){var N=me.type,j=me.direction,ie=me.name.slice(0,-1)+"Entries";ae.prototype[ie]=function(De){if("mixed"!==N&&"mixed"!==this.type&&N!==this.type)return se.empty();var He=this._nodes.get(De=""+De);if(void 0===He)throw new re("Graph.".concat(ie,': could not find the "').concat(De,'" node in the graph.'));return function(st,Nt,tt){if("mixed"!==st){if("undirected"===st)return nl(tt,tt.undirected);if("string"==typeof Nt)return nl(tt,tt[Nt])}var qt=se.empty(),St=new Set;return"undirected"!==st&&("out"!==Nt&&(qt=$e(qt,ot(St,tt,tt.in))),"in"!==Nt&&(qt=$e(qt,ot(St,tt,tt.out)))),"directed"!==st&&(qt=$e(qt,ot(St,tt,tt.undirected))),qt}("mixed"===N?this.type:N,j,He)}}(ae,me)})}(Cn);var rr=function(ae){function me(de){var N=pe({type:"directed"},de);if("multi"in N&&!1!==N.multi)throw new be("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==N.type)throw new be('DirectedGraph.from: inconsistent "'+N.type+'" type in given options!');return ae.call(this,N)||this}return et(me,ae),me}(Cn),sr=function(ae){function me(de){var N=pe({type:"undirected"},de);if("multi"in N&&!1!==N.multi)throw new be("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==N.type)throw new be('UndirectedGraph.from: inconsistent "'+N.type+'" type in given options!');return ae.call(this,N)||this}return et(me,ae),me}(Cn),Qn=function(ae){function me(de){var N=pe({multi:!0},de);if("multi"in N&&!0!==N.multi)throw new be("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return ae.call(this,N)||this}return et(me,ae),me}(Cn),Wi=function(ae){function me(de){var N=pe({type:"directed",multi:!0},de);if("multi"in N&&!0!==N.multi)throw new be("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==N.type)throw new be('MultiDirectedGraph.from: inconsistent "'+N.type+'" type in given options!');return ae.call(this,N)||this}return et(me,ae),me}(Cn),Ca=function(ae){function me(de){var N=pe({type:"undirected",multi:!0},de);if("multi"in N&&!0!==N.multi)throw new be("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==N.type)throw new be('MultiUndirectedGraph.from: inconsistent "'+N.type+'" type in given options!');return ae.call(this,N)||this}return et(me,ae),me}(Cn);function Qr(ae){ae.from=function(me,de){var N=pe({},me.options,de),j=new ae(N);return j.import(me),j}}return Qr(Cn),Qr(rr),Qr(sr),Qr(Qn),Qr(Wi),Qr(Ca),Cn.Graph=Cn,Cn.DirectedGraph=rr,Cn.UndirectedGraph=sr,Cn.MultiGraph=Qn,Cn.MultiDirectedGraph=Wi,Cn.MultiUndirectedGraph=Ca,Cn.InvalidArgumentsGraphError=be,Cn.NotFoundGraphError=re,Cn.UsageGraphError=ve,Cn}()},1524:(Vt,Xe,et)=>{var lt;!function(ee,Ct,je,Q){"use strict";var M,Ee=["","webkit","Moz","MS","ms","o"],pe=Ct.createElement("div"),U=Math.round,F=Math.abs,Y=Date.now;function B(xe,Pe,Je){return setTimeout(S(xe,Je),Pe)}function w(xe,Pe,Je){return!!Array.isArray(xe)&&(C(xe,Je[Pe],Je),!0)}function C(xe,Pe,Je){var vt;if(xe)if(xe.forEach)xe.forEach(Pe,Je);else if(xe.length!==Q)for(vt=0;vt\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",ui=ee.console&&(ee.console.warn||ee.console.log);return ui&&ui.call(ee.console,vt,Xt),xe.apply(this,arguments)}}M="function"!=typeof Object.assign?function(Pe){if(Pe===Q||null===Pe)throw new TypeError("Cannot convert undefined or null to object");for(var Je=Object(Pe),vt=1;vt-1}function Z(xe){return xe.trim().split(/\s+/g)}function x(xe,Pe,Je){if(xe.indexOf&&!Je)return xe.indexOf(Pe);for(var vt=0;vtxs[Pe]}):vt.sort()),vt}function ue(xe,Pe){for(var Je,vt,$t=Pe[0].toUpperCase()+Pe.slice(1),Xt=0;Xt1&&!Je.firstMultiple?Je.firstMultiple=At(Pe):1===$t&&(Je.firstMultiple=!1);var Xt=Je.firstInput,ui=Je.firstMultiple,Vr=ui?ui.center:Xt.center,Jr=Pe.center=kt(vt);Pe.timeStamp=Y(),Pe.deltaTime=Pe.timeStamp-Xt.timeStamp,Pe.angle=Mi(Vr,Jr),Pe.distance=Yn(Vr,Jr),function(xe,Pe){var Je=Pe.center,vt=xe.offsetDelta||{},$t=xe.prevDelta||{},Xt=xe.prevInput||{};(1===Pe.eventType||4===Xt.eventType)&&($t=xe.prevDelta={x:Xt.deltaX||0,y:Xt.deltaY||0},vt=xe.offsetDelta={x:Je.x,y:Je.y}),Pe.deltaX=$t.x+(Je.x-vt.x),Pe.deltaY=$t.y+(Je.y-vt.y)}(Je,Pe),Pe.offsetDirection=Pn(Pe.deltaX,Pe.deltaY);var xs=In(Pe.deltaTime,Pe.deltaX,Pe.deltaY);Pe.overallVelocityX=xs.x,Pe.overallVelocityY=xs.y,Pe.overallVelocity=F(xs.x)>F(xs.y)?xs.x:xs.y,Pe.scale=ui?function(xe,Pe){return Yn(Pe[0],Pe[1],gt)/Yn(xe[0],xe[1],gt)}(ui.pointers,vt):1,Pe.rotation=ui?function(xe,Pe){return Mi(Pe[1],Pe[0],gt)+Mi(xe[1],xe[0],gt)}(ui.pointers,vt):0,Pe.maxPointers=Je.prevInput?Pe.pointers.length>Je.prevInput.maxPointers?Pe.pointers.length:Je.prevInput.maxPointers:Pe.pointers.length,function(xe,Pe){var $t,Xt,ui,Vr,Je=xe.lastInterval||Pe,vt=Pe.timeStamp-Je.timeStamp;if(8!=Pe.eventType&&(vt>25||Je.velocity===Q)){var Jr=Pe.deltaX-Je.deltaX,xs=Pe.deltaY-Je.deltaY,Zn=In(vt,Jr,xs);Xt=Zn.x,ui=Zn.y,$t=F(Zn.x)>F(Zn.y)?Zn.x:Zn.y,Vr=Pn(Jr,xs),xe.lastInterval=Pe}else $t=Je.velocity,Xt=Je.velocityX,ui=Je.velocityY,Vr=Je.direction;Pe.velocity=$t,Pe.velocityX=Xt,Pe.velocityY=ui,Pe.direction=Vr}(Je,Pe);var Zn=xe.element;D(Pe.srcEvent.target,Zn)&&(Zn=Pe.srcEvent.target),Pe.target=Zn}(xe,Je),xe.emit("hammer.input",Je),xe.recognize(Je),xe.session.prevInput=Je}function At(xe){for(var Pe=[],Je=0;Je=F(Pe)?xe<0?2:4:Pe<0?8:16}function Yn(xe,Pe,Je){Je||(Je=_t);var vt=Pe[Je[0]]-xe[Je[0]],$t=Pe[Je[1]]-xe[Je[1]];return Math.sqrt(vt*vt+$t*$t)}function Mi(xe,Pe,Je){return Je||(Je=_t),180*Math.atan2(Pe[Je[1]]-xe[Je[1]],Pe[Je[0]]-xe[Je[0]])/Math.PI}Ae.prototype={handler:function(){},init:function(){this.evEl&&O(this.element,this.evEl,this.domHandler),this.evTarget&&O(this.target,this.evTarget,this.domHandler),this.evWin&&O(Re(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&$(this.element,this.evEl,this.domHandler),this.evTarget&&$(this.target,this.evTarget,this.domHandler),this.evWin&&$(Re(this.element),this.evWin,this.domHandler)}};var Ls={mousedown:1,mousemove:2,mouseup:4},fs="mousedown",Bs="mousemove mouseup";function Kr(){this.evEl=fs,this.evWin=Bs,this.pressed=!1,Ae.apply(this,arguments)}b(Kr,Ae,{handler:function(Pe){var Je=Ls[Pe.type];1&Je&&0===Pe.button&&(this.pressed=!0),2&Je&&1!==Pe.which&&(Je=4),this.pressed&&(4&Je&&(this.pressed=!1),this.callback(this.manager,Je,{pointers:[Pe],changedPointers:[Pe],pointerType:J,srcEvent:Pe}))}});var xa={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},kl={2:Ze,3:"pen",4:J,5:"kinect"},Sa="pointerdown",ws="pointermove pointerup pointercancel";function en(){this.evEl=Sa,this.evWin=ws,Ae.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}ee.MSPointerEvent&&!ee.PointerEvent&&(Sa="MSPointerDown",ws="MSPointerMove MSPointerUp MSPointerCancel"),b(en,Ae,{handler:function(Pe){var Je=this.store,vt=!1,$t=Pe.type.toLowerCase().replace("ms",""),Xt=xa[$t],ui=kl[Pe.pointerType]||Pe.pointerType,Vr=ui==Ze,Jr=x(Je,Pe.pointerId,"pointerId");1&Xt&&(0===Pe.button||Vr)?Jr<0&&(Je.push(Pe),Jr=Je.length-1):12&Xt&&(vt=!0),!(Jr<0)&&(Je[Jr]=Pe,this.callback(this.manager,Xt,{pointers:Je,changedPointers:[Pe],pointerType:ui,srcEvent:Pe}),vt&&Je.splice(Jr,1))}});var nl={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ot="touchstart",ut="touchstart touchmove touchend touchcancel";function ft(){this.evTarget=ot,this.evWin=ut,this.started=!1,Ae.apply(this,arguments)}function ye(xe,Pe){var Je=W(xe.touches),vt=W(xe.changedTouches);return 12&Pe&&(Je=ne(Je.concat(vt),"identifier",!0)),[Je,vt]}b(ft,Ae,{handler:function(Pe){var Je=nl[Pe.type];if(1===Je&&(this.started=!0),this.started){var vt=ye.call(this,Pe,Je);12&Je&&vt[0].length-vt[1].length==0&&(this.started=!1),this.callback(this.manager,Je,{pointers:vt[0],changedPointers:vt[1],pointerType:Ze,srcEvent:Pe})}}});var Te={touchstart:1,touchmove:2,touchend:4,touchcancel:8},We="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=We,this.targetIds={},Ae.apply(this,arguments)}function rt(xe,Pe){var Je=W(xe.touches),vt=this.targetIds;if(3&Pe&&1===Je.length)return vt[Je[0].identifier]=!0,[Je,Je];var $t,Xt,ui=W(xe.changedTouches),Vr=[],Jr=this.target;if(Xt=Je.filter(function(xs){return D(xs.target,Jr)}),1===Pe)for($t=0;$t-1&&vt.splice(Xt,1)},2500)}}function ci(xe){for(var Pe=xe.srcEvent.clientX,Je=xe.srcEvent.clientY,vt=0;vt-1&&this.requireFail.splice(Pe,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(xe){return!!this.simultaneous[xe.id]},emit:function(xe){var Pe=this,Je=this.state;function vt($t){Pe.manager.emit($t,xe)}Je<8&&vt(Pe.options.event+tt(Je)),vt(Pe.options.event),xe.additionalEvent&&vt(xe.additionalEvent),Je>=8&&vt(Pe.options.event+tt(Je))},tryEmit:function(xe){if(this.canEmit())return this.emit(xe);this.state=32},canEmit:function(){for(var xe=0;xePe.threshold&&$t&Pe.direction},attrTest:function(xe){return vn.prototype.attrTest.call(this,xe)&&(2&this.state||!(2&this.state)&&this.directionTest(xe))},emit:function(xe){this.pX=xe.deltaX,this.pY=xe.deltaY;var Pe=qt(xe.direction);Pe&&(xe.additionalEvent=this.options.event+Pe),this._super.emit.call(this,xe)}}),b(Zr,vn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[sr]},attrTest:function(xe){return this._super.attrTest.call(this,xe)&&(Math.abs(xe.scale-1)>this.options.threshold||2&this.state)},emit:function(xe){1!==xe.scale&&(xe.additionalEvent=this.options.event+(xe.scale<1?"in":"out")),this._super.emit.call(this,xe)}}),b(Js,Nt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(xe){var Pe=this.options,Je=xe.pointers.length===Pe.pointers,vt=xe.distancePe.time;if(this._input=xe,!vt||!Je||12&xe.eventType&&!$t)this.reset();else if(1&xe.eventType)this.reset(),this._timer=B(function(){this.state=8,this.tryEmit()},Pe.time,this);else if(4&xe.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(xe){8===this.state&&(xe&&4&xe.eventType?this.manager.emit(this.options.event+"up",xe):(this._input.timeStamp=Y(),this.manager.emit(this.options.event,this._input)))}}),b(Fl,vn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[sr]},attrTest:function(xe){return this._super.attrTest.call(this,xe)&&(Math.abs(xe.rotation)>this.options.threshold||2&this.state)}}),b(fo,vn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Es.prototype.getTouchAction.call(this)},attrTest:function(xe){var Je,Pe=this.options.direction;return 30&Pe?Je=xe.overallVelocity:6&Pe?Je=xe.overallVelocityX:24&Pe&&(Je=xe.overallVelocityY),this._super.attrTest.call(this,xe)&&Pe&xe.offsetDirection&&xe.distance>this.options.threshold&&xe.maxPointers==this.options.pointers&&F(Je)>this.options.velocity&&4&xe.eventType},emit:function(xe){var Pe=qt(xe.offsetDirection);Pe&&this.manager.emit(this.options.event+Pe,xe),this.manager.emit(this.options.event,xe)}}),b(Br,Nt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[rr]},process:function(xe){var Pe=this.options,Je=xe.pointers.length===Pe.pointers,vt=xe.distance"']/g,ws=RegExp(kl.source),en=RegExp(Sa.source),nl=/<%-([\s\S]+?)%>/g,ot=/<%([\s\S]+?)%>/g,ut=/<%=([\s\S]+?)%>/g,ft=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ye=/^\w*$/,Te=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,We=/[\\^$.*+?()[\]{}|]/g,ht=RegExp(We.source),rt=/^\s+/,Dt=/\s/,It=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ot=/\{\n\/\* \[wrapped with (.+)\] \*/,Qt=/,? & /,zn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ci=/[()=,{}\[\]\/\s]/,Rn=/\\(\\)?/g,bn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Xn=/\w*$/,Cn=/^[-+]0x[0-9a-f]+$/i,rr=/^0b[01]+$/i,sr=/^\[object .+?Constructor\]$/,Qn=/^0o[0-7]+$/i,Wi=/^(?:0|[1-9]\d*)$/,Ca=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qr=/($^)/,ae=/['\n\r\u2028\u2029\\]/g,me="\\ud800-\\udfff",ie="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",De="\\u2700-\\u27bf",He="a-z\\xdf-\\xf6\\xf8-\\xff",St="A-Z\\xc0-\\xd6\\xd8-\\xde",vn="\\ufe0e\\ufe0f",Es="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Js="["+me+"]",Fl="["+Es+"]",fo="["+ie+"]",Br="\\d+",Vs="["+De+"]",Ac="["+He+"]",xn="[^"+me+Es+Br+De+He+St+"]",po="\\ud83c[\\udffb-\\udfff]",Ta="[^"+me+"]",Ed="(?:\\ud83c[\\udde6-\\uddff]){2}",xe="[\\ud800-\\udbff][\\udc00-\\udfff]",Pe="["+St+"]",vt="(?:"+Ac+"|"+xn+")",$t="(?:"+Pe+"|"+xn+")",Xt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",ui="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Vr="(?:"+fo+"|"+po+")?",Jr="["+vn+"]?",CC=Jr+Vr+"(?:\\u200d(?:"+[Ta,Ed,xe].join("|")+")"+Jr+Vr+")*",xd="(?:"+[Vs,Ed,xe].join("|")+")"+CC,er="(?:"+[Ta+fo+"?",fo,Ed,xe,Js].join("|")+")",fp=RegExp("['\u2019]","g"),n_=RegExp(fo,"g"),Oh=RegExp(po+"(?="+po+")|"+er+CC,"g"),iv=RegExp([Pe+"?"+Ac+"+"+Xt+"(?="+[Fl,Pe,"$"].join("|")+")",$t+"+"+ui+"(?="+[Fl,Pe+vt,"$"].join("|")+")",Pe+"?"+vt+"+"+Xt,Pe+"+"+ui,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Br,xd].join("|"),"g"),TC=RegExp("[\\u200d"+me+ie+vn+"]"),Bl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Rh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],AC=-1,rn={};rn[kt]=rn[In]=rn[Pn]=rn[Yn]=rn[Mi]=rn[xi]=rn[Xr]=rn[Ls]=rn[fs]=!0,rn[J]=rn[le]=rn[it]=rn[Me]=rn[At]=rn[Ce]=rn[Se]=rn[ze]=rn[Ve]=rn[K]=rn[ge]=rn[_t]=rn[gt]=rn[Ae]=rn[H]=!1;var or={};or[J]=or[le]=or[it]=or[At]=or[Me]=or[Ce]=or[kt]=or[In]=or[Pn]=or[Yn]=or[Mi]=or[Ve]=or[K]=or[ge]=or[_t]=or[gt]=or[Ae]=or[z]=or[xi]=or[Xr]=or[Ls]=or[fs]=!0,or[Se]=or[ze]=or[H]=!1;var tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},MC=parseFloat,av=parseInt,Pt="object"==typeof global&&global&&global.Object===Object&&global,js="object"==typeof self&&self&&self.Object===Object&&self,Ui=Pt||js||Function("return this")(),Vl=Xe&&!Xe.nodeType&&Xe,Aa=Vl&&Vt&&!Vt.nodeType&&Vt,Po=Aa&&Aa.exports===Vl,i_=Po&&Pt.process,xr=function(){try{return Aa&&Aa.require&&Aa.require("util").types||i_&&i_.binding&&i_.binding("util")}catch(Rt){}}(),an=xr&&xr.isArrayBuffer,hi=xr&&xr.isDate,ur=xr&&xr.isMap,go=xr&&xr.isRegExp,Mc=xr&&xr.isSet,ss=xr&&xr.isTypedArray;function os(ct,Rt,Tt){switch(Tt.length){case 0:return ct.call(Rt);case 1:return ct.call(Rt,Tt[0]);case 2:return ct.call(Rt,Tt[0],Tt[1]);case 3:return ct.call(Rt,Tt[0],Tt[1],Tt[2])}return ct.apply(Rt,Tt)}function jr(ct,Rt,Tt,hn){for(var Mn=-1,Li=null==ct?0:ct.length;++Mn-1}function Nh(ct,Rt,Tt){for(var hn=-1,Mn=null==ct?0:ct.length;++hn-1;);return Tt}function RC(ct,Rt){for(var Tt=ct.length;Tt--&&il(Rt,ct[Tt],0)>-1;);return Tt}function sk(ct,Rt){for(var Tt=ct.length,hn=0;Tt--;)ct[Tt]===Rt&&++hn;return hn}var ok=Jo({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),ak=Jo({"&":"&","<":"<",">":">",'"':""","'":"'"});function lk(ct){return"\\"+tn[ct]}function Fh(ct){return TC.test(ct)}function cv(ct){var Rt=-1,Tt=Array(ct.size);return ct.forEach(function(hn,Mn){Tt[++Rt]=[Mn,hn]}),Tt}function NC(ct,Rt){return function(Tt){return ct(Rt(Tt))}}function xu(ct,Rt){for(var Tt=-1,hn=ct.length,Mn=0,Li=[];++Tt",""":'"',"'":"'"}),Bh=function ct(Rt){var d,Tt=(Rt=null==Rt?Ui:Bh.defaults(Ui.Object(),Rt,Bh.pick(Ui,Rh))).Array,hn=Rt.Date,Mn=Rt.Error,Li=Rt.Function,es=Rt.Math,Yi=Rt.Object,u_=Rt.RegExp,d_=Rt.String,Ia=Rt.TypeError,dr=Tt.prototype,Su=Yi.prototype,gp=Rt["__core-js_shared__"],Sr=Li.prototype.toString,Xi=Su.hasOwnProperty,pk=0,Vh=(d=/[^.]+$/.exec(gp&&gp.keys&&gp.keys.IE_PROTO||""))?"Symbol(src)_1."+d:"",eo=Su.toString,FC=Sr.call(Yi),h_=Ui._,Dd=u_("^"+Sr.call(Xi).replace(We,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),zs=Po?Rt.Buffer:ee,Ul=Rt.Symbol,Id=Rt.Uint8Array,hv=zs?zs.allocUnsafe:ee,Oa=NC(Yi.getPrototypeOf,Yi),f_=Yi.create,mp=Su.propertyIsEnumerable,Ln=dr.splice,LC=Ul?Ul.isConcatSpreadable:ee,jh=Ul?Ul.iterator:ee,Cu=Ul?Ul.toStringTag:ee,_p=function(){try{var d=jc(Yi,"defineProperty");return d({},"",{}),d}catch(p){}}(),fv=Rt.clearTimeout!==Ui.clearTimeout&&Rt.clearTimeout,BC=hn&&hn.now!==Ui.Date.now&&hn.now,VC=Rt.setTimeout!==Ui.setTimeout&&Rt.setTimeout,jt=es.ceil,Si=es.floor,_r=Yi.getOwnPropertySymbols,as=zs?zs.isBuffer:ee,p_=Rt.isFinite,Uh=dr.join,sl=NC(Yi.keys,Yi),zr=es.max,ps=es.min,gk=hn.now,jC=Rt.parseInt,zh=es.random,yp=dr.reverse,Cs=jc(Rt,"DataView"),mo=jc(Rt,"Map"),bp=jc(Rt,"Promise"),Ra=jc(Rt,"Set"),Fo=jc(Rt,"WeakMap"),Hh=jc(Yi,"create"),Gh=Fo&&new Fo,Od={},UC=Lu(Cs),g_=Lu(mo),m_=Lu(bp),pv=Lu(Ra),__=Lu(Fo),vp=Ul?Ul.prototype:ee,Rd=vp?vp.valueOf:ee,$h=vp?vp.toString:ee;function Ie(d){if(Ar(d)&&!On(d)&&!(d instanceof fi)){if(d instanceof Lo)return d;if(Xi.call(d,"__wrapped__"))return sf(d)}return new Lo(d)}var Tu=function(){function d(){}return function(p){if(!Tr(p))return{};if(f_)return f_(p);d.prototype=p;var _=new d;return d.prototype=ee,_}}();function Wh(){}function Lo(d,p){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!p,this.__index__=0,this.__values__=ee}function fi(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ve,this.__views__=[]}function _o(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var V=d[p];this.set(V[0],V[1])}}function zl(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var V=d[p];this.set(V[0],V[1])}}function ol(d){var p=-1,_=null==d?0:d.length;for(this.clear();++p<_;){var V=d[p];this.set(V[0],V[1])}}function Na(d){var p=-1,_=null==d?0:d.length;for(this.__data__=new ol;++p<_;)this.add(d[p])}function Pa(d){var p=this.__data__=new zl(d);this.size=p.size}function Yh(d,p){var _=On(d),V=!_&&gl(d),he=!_&&!V&&ml(d),Ne=!_&&!V&&!he&&df(d),Qe=_||V||he||Ne,nt=Qe?Md(d.length,d_):[],dt=nt.length;for(var Ft in d)(p||Xi.call(d,Ft))&&(!Qe||!("length"==Ft||he&&("offset"==Ft||"parent"==Ft)||Ne&&("buffer"==Ft||"byteLength"==Ft||"byteOffset"==Ft)||jo(Ft,dt)))&&nt.push(Ft);return nt}function w_(d){var p=d.length;return p?d[Hl(0,p-1)]:ee}function yv(d,p){return qd(no(d),Au(p,0,d.length))}function Nd(d){return qd(no(d))}function E_(d,p,_){(_!==ee&&!Dn(d[p],_)||_===ee&&!(p in d))&&ll(d,p,_)}function al(d,p,_){var V=d[p];(!Xi.call(d,p)||!Dn(V,_)||_===ee&&!(p in d))&&ll(d,p,_)}function Pd(d,p){for(var _=d.length;_--;)if(Dn(d[_][0],p))return _;return-1}function Cp(d,p,_,V){return Nc(d,function(he,Ne,Qe){p(V,he,_(he),Qe)}),V}function QC(d,p){return d&&Fa(p,Is(p),d)}function ll(d,p,_){"__proto__"==p&&_p?_p(d,p,{configurable:!0,enumerable:!0,value:_,writable:!0}):d[p]=_}function x_(d,p){for(var _=-1,V=p.length,he=Tt(V),Ne=null==d;++_=p?d:p)),d}function Hs(d,p,_,V,he,Ne){var Qe,nt=1&p,dt=2&p,Ft=4&p;if(_&&(Qe=he?_(d,V,he,Ne):_(d)),Qe!==ee)return Qe;if(!Tr(d))return d;var Lt=On(d);if(Lt){if(Qe=function(d){var p=d.length,_=new d.constructor(p);return p&&"string"==typeof d[0]&&Xi.call(d,"index")&&(_.index=d.index,_.input=d.input),_}(d),!nt)return no(d,Qe)}else{var Gt=$s(d),nn=Gt==ze||Gt==Ke;if(ml(d))return Np(d,nt);if(Gt==ge||Gt==J||nn&&!he){if(Qe=dt||nn?{}:Uv(d),!nt)return dt?function(d,p){return Fa(d,Bv(d),p)}(d,function(d,p){return d&&Fa(p,ro(p),d)}(Qe,d)):function(d,p){return Fa(d,V_(d),p)}(d,QC(Qe,d))}else{if(!or[Gt])return he?d:{};Qe=function(d,p,_){var V=d.constructor;switch(p){case it:return Nu(d);case Me:case Ce:return new V(+d);case At:return function(d,p){var _=p?Nu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}(d,_);case kt:case In:case Pn:case Yn:case Mi:case xi:case Xr:case Ls:case fs:return P_(d,_);case Ve:return new V;case K:case Ae:return new V(d);case _t:return function(d){var p=new d.constructor(d.source,Xn.exec(d));return p.lastIndex=d.lastIndex,p}(d);case gt:return new V;case z:return function(d){return Rd?Yi(Rd.call(d)):{}}(d)}}(d,Gt,nt)}}Ne||(Ne=new Pa);var wn=Ne.get(d);if(wn)return wn;Ne.set(d,Qe),yA(d)?d.forEach(function(Bn){Qe.add(Hs(Bn,p,_,Bn,d,Ne))}):pA(d)&&d.forEach(function(Bn,mi){Qe.set(mi,Hs(Bn,p,_,mi,d,Ne))});var gi=Lt?ee:(Ft?dt?L_:ql:dt?ro:Is)(d);return Us(gi||d,function(Bn,mi){gi&&(Bn=d[mi=Bn]),al(Qe,mi,Hs(Bn,p,_,mi,d,Ne))}),Qe}function Tp(d,p,_){var V=_.length;if(null==d)return!V;for(d=Yi(d);V--;){var he=_[V],Qe=d[he];if(Qe===ee&&!(he in d)||!(0,p[he])(Qe))return!1}return!0}function Xh(d,p,_){if("function"!=typeof d)throw new Ia(Ee);return nf(function(){d.apply(ee,_)},p)}function Rc(d,p,_,V){var he=-1,Ne=jl,Qe=!0,nt=d.length,dt=[],Ft=p.length;if(!nt)return dt;_&&(p=qi(p,ta(_))),V?(Ne=Nh,Qe=!1):p.length>=200&&(Ne=kh,Qe=!1,p=new Na(p));e:for(;++he-1},zl.prototype.set=function(d,p){var _=this.__data__,V=Pd(_,d);return V<0?(++this.size,_.push([d,p])):_[V][1]=p,this},ol.prototype.clear=function(){this.size=0,this.__data__={hash:new _o,map:new(mo||zl),string:new _o}},ol.prototype.delete=function(d){var p=Gs(this,d).delete(d);return this.size-=p?1:0,p},ol.prototype.get=function(d){return Gs(this,d).get(d)},ol.prototype.has=function(d){return Gs(this,d).has(d)},ol.prototype.set=function(d,p){var _=Gs(this,d),V=_.size;return _.set(d,p),this.size+=_.size==V?0:1,this},Na.prototype.add=Na.prototype.push=function(d){return this.__data__.set(d,X),this},Na.prototype.has=function(d){return this.__data__.has(d)},Pa.prototype.clear=function(){this.__data__=new zl,this.size=0},Pa.prototype.delete=function(d){var p=this.__data__,_=p.delete(d);return this.size=p.size,_},Pa.prototype.get=function(d){return this.__data__.get(d)},Pa.prototype.has=function(d){return this.__data__.has(d)},Pa.prototype.set=function(d,p){var _=this.__data__;if(_ instanceof zl){var V=_.__data__;if(!mo||V.length<199)return V.push([d,p]),this.size=++_.size,this;_=this.__data__=new ol(V)}return _.set(d,p),this.size=_.size,this};var Nc=dl(cl),C_=dl(Ap,!0);function vv(d,p){var _=!0;return Nc(d,function(V,he,Ne){return _=!!p(V,he,Ne)}),_}function Kh(d,p,_){for(var V=-1,he=d.length;++V0&&_(nt)?p>1?Ts(nt,p-1,_,V,he):Ur(he,nt):V||(he[he.length]=nt)}return he}var kd=Dv(),Fd=Dv(!0);function cl(d,p){return d&&kd(d,p,Is)}function Ap(d,p){return d&&Fd(d,p,Is)}function Qh(d,p){return Ma(p,function(_){return ua(d[_])})}function na(d,p){for(var _=0,V=(p=Lc(p,d)).length;null!=d&&_p}function Ld(d,p){return null!=d&&Xi.call(d,p)}function Bd(d,p){return null!=d&&p in Yi(d)}function Mu(d,p,_){for(var V=_?Nh:jl,he=d[0].length,Ne=d.length,Qe=Ne,nt=Tt(Ne),dt=1/0,Ft=[];Qe--;){var Lt=d[Qe];Qe&&p&&(Lt=qi(Lt,ta(p))),dt=ps(Lt.length,dt),nt[Qe]=!_&&(p||he>=120&&Lt.length>=120)?new Na(Qe&&Lt):ee}Lt=d[0];var Gt=-1,nn=nt[0];e:for(;++Gt=nt?dt:dt*("desc"==_[V]?-1:1)}return d.index-p.index}(Ne,Qe,_)});Tt--;)ct[Tt]=ct[Tt].value;return ct}(nT(d,function(Ne,Qe,nt){return{criteria:qi(p,function(Ft){return Ft(Ne)}),index:++V,value:Ne}}))}function Cv(d,p,_){for(var V=-1,he=p.length,Ne={};++V-1;)nt!==d&&Ln.call(nt,dt,1),Ln.call(d,dt,1);return d}function Jh(d,p){for(var _=d?p.length:0,V=_-1;_--;){var he=p[_];if(_==V||he!==Ne){var Ne=he;jo(he)?Ln.call(d,he,1):Iu(d,he)}}return d}function Hl(d,p){return d+Si(zh()*(p-d+1))}function Dp(d,p){var _="";if(!d||p<1||p>Re)return _;do{p%2&&(_+=d),(p=Si(p/2))&&(d+=d)}while(p);return _}function pi(d,p){return Hp(yT(d,p,so),d+"")}function rT(d){return w_(nh(d))}function Sk(d,p){var _=nh(d);return qd(_,Au(p,0,_.length))}function Ip(d,p,_,V){if(!Tr(d))return d;for(var he=-1,Ne=(p=Lc(p,d)).length,Qe=Ne-1,nt=d;null!=nt&&++hehe?0:he+p),(_=_>he?he:_)<0&&(_+=he),he=p>_?0:_-p>>>0,p>>>=0;for(var Ne=Tt(he);++V>>1,Qe=d[Ne];null!==Qe&&!da(Qe)&&(_?Qe<=p:Qe=200){var Ft=p?null:F_(d);if(Ft)return a_(Ft);Qe=!1,he=kh,dt=new Na}else dt=p?[]:nt;e:for(;++V=V?d:Ms(d,p,_)}var aT=fv||function(d){return Ui.clearTimeout(d)};function Np(d,p){if(p)return d.slice();var _=d.length,V=hv?hv(_):new d.constructor(_);return d.copy(V),V}function Nu(d){var p=new d.constructor(d.byteLength);return new Id(p).set(new Id(d)),p}function P_(d,p){var _=p?Nu(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function Bc(d,p){if(d!==p){var _=d!==ee,V=null===d,he=d==d,Ne=da(d),Qe=p!==ee,nt=null===p,dt=p==p,Ft=da(p);if(!nt&&!Ft&&!Ne&&d>p||Ne&&Qe&&dt&&!nt&&!Ft||V&&Qe&&dt||!_&&dt||!he)return 1;if(!V&&!Ne&&!Ft&&d1?_[he-1]:ee,Qe=he>2?_[2]:ee;for(Ne=d.length>3&&"function"==typeof Ne?(he--,Ne):ee,Qe&&Ws(_[0],_[1],Qe)&&(Ne=he<3?ee:Ne,he=1),p=Yi(p);++V-1?he[Ne?p[Qe]:Qe]:ee}}function ku(d){return hl(function(p){var _=p.length,V=_,he=Lo.prototype.thru;for(d&&p.reverse();V--;){var Ne=p[V];if("function"!=typeof Ne)throw new Ia(Ee);if(he&&!Qe&&"wrapper"==jp(Ne))var Qe=new Lo([],!0)}for(V=Qe?V:_;++V<_;){var nt=jp(Ne=p[V]),dt="wrapper"==nt?B_(Ne):ee;Qe=dt&&Up(dt[0])&&424==dt[1]&&!dt[4].length&&1==dt[9]?Qe[jp(dt[0])].apply(Qe,dt[3]):1==Ne.length&&Up(Ne)?Qe[nt]():Qe.thru(Ne)}return function(){var Ft=arguments,Lt=Ft[0];if(Qe&&1==Ft.length&&On(Lt))return Qe.plant(Lt).value();for(var Gt=0,nn=_?p[Gt].apply(this,Ft):Lt;++Gt<_;)nn=p[Gt].call(this,nn);return nn}})}function Vc(d,p,_,V,he,Ne,Qe,nt,dt,Ft){var Lt=p&O,Gt=1&p,nn=2&p,wn=24&p,Fn=512&p,gi=nn?ee:Gd(d);return function Bn(){for(var mi=arguments.length,Di=Tt(mi),wo=mi;wo--;)Di[wo]=arguments[wo];if(wn)var qs=Wd(Bn),ha=sk(Di,qs);if(V&&(Di=zd(Di,V,he,wn)),Ne&&(Di=Mv(Di,Ne,Qe,wn)),mi-=ha,wn&&mi1&&Di.reverse(),Lt&&dtnt))return!1;var Ft=Ne.get(d),Lt=Ne.get(p);if(Ft&&Lt)return Ft==p&&Lt==d;var Gt=-1,nn=!0,wn=2&_?new Na:ee;for(Ne.set(d,p),Ne.set(p,d);++Gt-1&&d%1==0&&d1?"& ":"")+p[V],p=p.join(_>2?", ":" "),d.replace(It,"{\n/* [wrapped with "+p+"] */\n")}(V,function(d,p){return Us(Ge,function(_){var V="_."+_[0];p&_[1]&&!jl(d,V)&&d.push(V)}),d.sort()}(function(d){var p=d.match(Ot);return p?p[1].split(Qt):[]}(V),_)))}function $_(d){var p=0,_=0;return function(){var V=gk(),he=16-(V-_);if(_=V,he>0){if(++p>=800)return arguments[0]}else p=0;return d.apply(ee,arguments)}}function qd(d,p){var _=-1,V=d.length,he=V-1;for(p=p===ee?V:p;++_1?d[p-1]:ee;return _="function"==typeof _?(d.pop(),_):ee,HT(d,_)});function ty(d){var p=Ie(d);return p.__chain__=!0,p}function Xd(d,p){return p(d)}var ny=hl(function(d){var p=d.length,_=p?d[0]:0,V=this.__wrapped__,he=function(Ne){return x_(Ne,d)};return!(p>1||this.__actions__.length)&&V instanceof fi&&jo(_)?((V=V.slice(_,+_+(p?1:0))).__actions__.push({func:Xd,args:[he],thisArg:ee}),new Lo(V,this.__chain__).thru(function(Ne){return p&&!Ne.length&&Ne.push(ee),Ne})):this.thru(he)}),WT=ts(function(d,p,_){Xi.call(d,_)?++d[_]:ll(d,_,1)}),KT=Ov(q_),QT=Ov(Y_);function oy(d,p){return(On(d)?Us:Nc)(d,kn(p,3))}function Wp(d,p){return(On(d)?Sd:C_)(d,kn(p,3))}var JT=ts(function(d,p,_){Xi.call(d,_)?d[_].push(p):ll(d,_,[p])}),cw=pi(function(d,p,_){var V=-1,he="function"==typeof p,Ne=bo(d)?Tt(d.length):[];return Nc(d,function(Qe){Ne[++V]=he?os(p,Qe,_):ka(Qe,p,_)}),Ne}),uw=ts(function(d,p,_){ll(d,_,p)});function pl(d,p){return(On(d)?qi:nT)(d,kn(p,3))}var hw=ts(function(d,p,_){d[_?0:1].push(p)},function(){return[[],[]]}),Yp=pi(function(d,p){if(null==d)return[];var _=p.length;return _>1&&Ws(d,p[0],p[1])?p=[]:_>2&&Ws(p[0],p[1],p[2])&&(p=[p[0]]),Zh(d,Ts(p,1),[])}),Bu=BC||function(){return Ui.Date.now()};function Xp(d,p,_){return p=_?ee:p,Wl(d,O,ee,ee,ee,ee,p=d&&null==p?d.length:p)}function ly(d,p){var _;if("function"!=typeof p)throw new Ia(Ee);return d=ti(d),function(){return--d>0&&(_=p.apply(this,arguments)),d<=1&&(p=ee),_}}var cf=pi(function(d,p,_){var V=1;if(_.length){var he=xu(_,Wd(cf));V|=T}return Wl(d,V,p,_,he)}),Qd=pi(function(d,p,_){var V=3;if(_.length){var he=xu(_,Wd(Qd));V|=T}return Wl(p,V,d,_,he)});function bw(d,p,_){var V,he,Ne,Qe,nt,dt,Ft=0,Lt=!1,Gt=!1,nn=!0;if("function"!=typeof d)throw new Ia(Ee);function wn(Gi){var bl=V,Gc=he;return V=he=ee,Ft=Gi,Qe=d.apply(Gc,bl)}function Fn(Gi){return Ft=Gi,nt=nf(mi,p),Lt?wn(Gi):Qe}function Bn(Gi){var bl=Gi-dt;return dt===ee||bl>=p||bl<0||Gt&&Gi-Ft>=Ne}function mi(){var Gi=Bu();if(Bn(Gi))return Di(Gi);nt=nf(mi,function(Gi){var aM=p-(Gi-dt);return Gt?ps(aM,Ne-(Gi-Ft)):aM}(Gi))}function Di(Gi){return nt=ee,nn&&V?wn(Gi):(V=he=ee,Qe)}function ha(){var Gi=Bu(),bl=Bn(Gi);if(V=arguments,he=this,dt=Gi,bl){if(nt===ee)return Fn(dt);if(Gt)return aT(nt),nt=nf(mi,p),wn(dt)}return nt===ee&&(nt=nf(mi,p)),Qe}return p=vo(p)||0,Tr(_)&&(Lt=!!_.leading,Ne=(Gt="maxWait"in _)?zr(vo(_.maxWait)||0,p):Ne,nn="trailing"in _?!!_.trailing:nn),ha.cancel=function(){nt!==ee&&aT(nt),Ft=0,V=dt=he=nt=ee},ha.flush=function(){return nt===ee?Qe:Di(Bu())},ha}var iA=pi(function(d,p){return Xh(d,1,p)}),vw=pi(function(d,p,_){return Xh(d,vo(p)||0,_)});function uf(d,p){if("function"!=typeof d||null!=p&&"function"!=typeof p)throw new Ia(Ee);var _=function(){var V=arguments,he=p?p.apply(this,V):V[0],Ne=_.cache;if(Ne.has(he))return Ne.get(he);var Qe=d.apply(this,V);return _.cache=Ne.set(he,Qe)||Ne,Qe};return _.cache=new(uf.Cache||ol),_}function dy(d){if("function"!=typeof d)throw new Ia(Ee);return function(){var p=arguments;switch(p.length){case 0:return!d.call(this);case 1:return!d.call(this,p[0]);case 2:return!d.call(this,p[0],p[1]);case 3:return!d.call(this,p[0],p[1],p[2])}return!d.apply(this,p)}}uf.Cache=ol;var rA=oT(function(d,p){var _=(p=1==p.length&&On(p[0])?qi(p[0],ta(kn())):qi(Ts(p,1),ta(kn()))).length;return pi(function(V){for(var he=-1,Ne=ps(V.length,_);++he=p}),gl=ZC(function(){return arguments}())?ZC:function(d){return Ar(d)&&Xi.call(d,"callee")&&!mp.call(d,"callee")},On=Tt.isArray,Tw=an?ta(an):function(d){return Ar(d)&&As(d)==it};function bo(d){return null!=d&&fy(d.length)&&!ua(d)}function Cr(d){return Ar(d)&&bo(d)}var ml=as||Fy,Aw=hi?ta(hi):function(d){return Ar(d)&&As(d)==Ce};function Ba(d){if(!Ar(d))return!1;var p=As(d);return p==Se||"[object DOMException]"==p||"string"==typeof d.message&&"string"==typeof d.name&&!Jp(d)}function ua(d){if(!Tr(d))return!1;var p=As(d);return p==ze||p==Ke||"[object AsyncFunction]"==p||"[object Proxy]"==p}function Zp(d){return"number"==typeof d&&d==ti(d)}function fy(d){return"number"==typeof d&&d>-1&&d%1==0&&d<=Re}function Tr(d){var p=typeof d;return null!=d&&("object"==p||"function"==p)}function Ar(d){return null!=d&&"object"==typeof d}var pA=ur?ta(ur):function(d){return Ar(d)&&$s(d)==Ve};function _A(d){return"number"==typeof d||Ar(d)&&As(d)==K}function Jp(d){if(!Ar(d)||As(d)!=ge)return!1;var p=Oa(d);if(null===p)return!0;var _=Xi.call(p,"constructor")&&p.constructor;return"function"==typeof _&&_ instanceof _&&Sr.call(_)==FC}var Ow=go?ta(go):function(d){return Ar(d)&&As(d)==_t},yA=Mc?ta(Mc):function(d){return Ar(d)&&$s(d)==gt};function gy(d){return"string"==typeof d||!On(d)&&Ar(d)&&As(d)==Ae}function da(d){return"symbol"==typeof d||Ar(d)&&As(d)==z}var df=ss?ta(ss):function(d){return Ar(d)&&fy(d.length)&&!!rn[As(d)]},Uc=Lp(Sv),my=Lp(function(d,p){return d<=p});function Rw(d){if(!d)return[];if(bo(d))return gy(d)?rl(d):no(d);if(jh&&d[jh])return function(ct){for(var Rt,Tt=[];!(Rt=ct.next()).done;)Tt.push(Rt.value);return Tt}(d[jh]());var p=$s(d);return(p==Ve?cv:p==gt?a_:nh)(d)}function _l(d){return d?(d=vo(d))===te||d===-te?17976931348623157e292*(d<0?-1:1):d==d?d:0:0===d?d:0}function ti(d){var p=_l(d),_=p%1;return p==p?_?p-_:p:0}function _y(d){return d?Au(ti(d),0,ve):0}function vo(d){if("number"==typeof d)return d;if(da(d))return NaN;if(Tr(d)){var p="function"==typeof d.valueOf?d.valueOf():d;d=Tr(p)?p+"":p}if("string"!=typeof d)return 0===d?d:+d;d=lv(d);var _=rr.test(d);return _||Qn.test(d)?av(d.slice(2),_?2:8):Cn.test(d)?NaN:+d}function Nw(d){return Fa(d,ro(d))}function Hi(d){return null==d?"":Vo(d)}var bA=Gl(function(d,p){if(zp(p)||bo(p))Fa(p,Is(p),d);else for(var _ in p)Xi.call(p,_)&&al(d,_,p[_])}),vA=Gl(function(d,p){Fa(p,ro(p),d)}),Zd=Gl(function(d,p,_,V){Fa(p,ro(p),d,V)}),wA=Gl(function(d,p,_,V){Fa(p,Is(p),d,V)}),Pw=hl(x_),xA=pi(function(d,p){d=Yi(d);var _=-1,V=p.length,he=V>2?p[2]:ee;for(he&&Ws(p[0],p[1],he)&&(V=1);++_1),Ne}),Fa(d,L_(d),_),V&&(_=Hs(_,7,Bp));for(var he=p.length;he--;)Iu(_,p[he]);return _}),MA=hl(function(d,p){return null==d?{}:function(d,p){return Cv(d,p,function(_,V){return eg(d,V)})}(d,p)});function Uw(d,p){if(null==d)return{};var _=qi(L_(d),function(V){return[V]});return p=kn(p),Cv(d,_,function(V,he){return p(V,he[0])})}var DA=Fu(Is),Hw=Fu(ro);function nh(d){return null==d?[]:o_(d,Is(d))}var PA=$l(function(d,p,_){return p=p.toLowerCase(),d+(_?wy(p):p)});function wy(d){return ig(Hi(d).toLowerCase())}function Ey(d){return(d=Hi(d))&&d.replace(Ca,ok).replace(n_,"")}var FA=$l(function(d,p,_){return d+(_?"-":"")+p.toLowerCase()}),LA=$l(function(d,p,_){return d+(_?" ":"")+p.toLowerCase()}),$k=Pp("toLowerCase"),zA=$l(function(d,p,_){return d+(_?"_":"")+p.toLowerCase()}),Cy=$l(function(d,p,_){return d+(_?" ":"")+ig(p)}),Xw=$l(function(d,p,_){return d+(_?" ":"")+p.toUpperCase()}),ig=Pp("toUpperCase");function Dy(d,p,_){return d=Hi(d),(p=_?ee:p)===ee?function(ct){return Bl.test(ct)}(d)?function(ct){return ct.match(iv)||[]}(d):function(ct){return ct.match(zn)||[]}(d):d.match(p)||[]}var Iy=pi(function(d,p){try{return os(d,ee,p)}catch(_){return Ba(_)?_:new Mn(_)}}),Kw=hl(function(d,p){return Us(p,function(_){_=si(_),ll(d,_,cf(d[_],d))}),d});function Oy(d){return function(){return d}}var qk=ku(),Vu=ku(!0);function so(d){return d}function ju(d){return tT("function"==typeof d?d:Hs(d,1))}var Ry=pi(function(d,p){return function(_){return ka(_,d,p)}}),Qw=pi(function(d,p){return function(_){return ka(d,_,p)}});function Ny(d,p,_){var V=Is(p),he=Qh(p,V);null==_&&(!Tr(p)||!he.length&&V.length)&&(_=p,p=d,d=this,he=Qh(p,Is(p)));var Ne=!(Tr(_)&&"chain"in _&&!_.chain),Qe=ua(d);return Us(he,function(nt){var dt=p[nt];d[nt]=dt,Qe&&(d.prototype[nt]=function(){var Ft=this.__chain__;if(Ne||Ft){var Lt=d(this.__wrapped__),Gt=Lt.__actions__=no(this.__actions__);return Gt.push({func:dt,args:arguments,thisArg:d}),Lt.__chain__=Ft,Lt}return dt.apply(d,Ur([this.value()],arguments))})}),d}function Py(){}var XA=kp(qi),KA=kp(ri),Jw=kp(ko);function Uu(d){return oa(d)?r_(si(d)):function(d){return function(p){return na(p,d)}}(d)}var QA=Nv(),ZA=Nv(!0);function Hc(){return[]}function Fy(){return!1}var Hn=k_(function(d,p){return d+p},0),Ly=$d("ceil"),Xk=k_(function(d,p){return d/p},1),Kl=$d("floor"),iE=k_(function(d,p){return d*p},1),rE=$d("round"),sE=k_(function(d,p){return d-p},0);return Ie.after=function(d,p){if("function"!=typeof p)throw new Ia(Ee);return d=ti(d),function(){if(--d<1)return p.apply(this,arguments)}},Ie.ary=Xp,Ie.assign=bA,Ie.assignIn=vA,Ie.assignInWith=Zd,Ie.assignWith=wA,Ie.at=Pw,Ie.before=ly,Ie.bind=cf,Ie.bindAll=Kw,Ie.bindKey=Qd,Ie.castArray=function(){if(!arguments.length)return[];var d=arguments[0];return On(d)?d:[d]},Ie.chain=ty,Ie.chunk=function(d,p,_){p=(_?Ws(d,p,_):p===ee)?1:zr(ti(p),0);var V=null==d?0:d.length;if(!V||p<1)return[];for(var he=0,Ne=0,Qe=Tt(jt(V/p));hehe?0:he+_),(V=V===ee||V>he?he:ti(V))<0&&(V+=he),V=_>V?0:_y(V);_>>0)?(d=Hi(d))&&("string"==typeof p||null!=p&&!Ow(p))&&!(p=Vo(p))&&Fh(d)?ul(rl(d),0,_):d.split(p,_):[]},Ie.spread=function(d,p){if("function"!=typeof d)throw new Ia(Ee);return p=null==p?0:zr(ti(p),0),pi(function(_){var V=_[p],he=ul(_,0,p);return V&&Ur(he,V),os(d,this,he)})},Ie.tail=function(d){var p=null==d?0:d.length;return p?Ms(d,1,p):[]},Ie.take=function(d,p,_){return d&&d.length?Ms(d,0,(p=_||p===ee?1:ti(p))<0?0:p):[]},Ie.takeRight=function(d,p,_){var V=null==d?0:d.length;return V?Ms(d,(p=V-(p=_||p===ee?1:ti(p)))<0?0:p,V):[]},Ie.takeRightWhile=function(d,p){return d&&d.length?Ou(d,kn(p,3),!1,!0):[]},Ie.takeWhile=function(d,p){return d&&d.length?Ou(d,kn(p,3)):[]},Ie.tap=function(d,p){return p(d),d},Ie.throttle=function(d,p,_){var V=!0,he=!0;if("function"!=typeof d)throw new Ia(Ee);return Tr(_)&&(V="leading"in _?!!_.leading:V,he="trailing"in _?!!_.trailing:he),bw(d,p,{leading:V,maxWait:p,trailing:he})},Ie.thru=Xd,Ie.toArray=Rw,Ie.toPairs=DA,Ie.toPairsIn=Hw,Ie.toPath=function(d){return On(d)?qi(d,si):da(d)?[d]:no($v(Hi(d)))},Ie.toPlainObject=Nw,Ie.transform=function(d,p,_){var V=On(d),he=V||ml(d)||df(d);if(p=kn(p,4),null==_){var Ne=d&&d.constructor;_=he?V?new Ne:[]:Tr(d)&&ua(Ne)?Tu(Oa(d)):{}}return(he?Us:cl)(d,function(Qe,nt,dt){return p(_,Qe,nt,dt)}),_},Ie.unary=function(d){return Xp(d,1)},Ie.union=tw,Ie.unionBy=jT,Ie.unionWith=UT,Ie.uniq=function(d){return d&&d.length?kc(d):[]},Ie.uniqBy=function(d,p){return d&&d.length?kc(d,kn(p,2)):[]},Ie.uniqWith=function(d,p){return p="function"==typeof p?p:ee,d&&d.length?kc(d,ee,p):[]},Ie.unset=function(d,p){return null==d||Iu(d,p)},Ie.unzip=nw,Ie.unzipWith=HT,Ie.update=function(d,p,_){return null==d?d:Op(d,p,N_(_))},Ie.updateWith=function(d,p,_,V){return V="function"==typeof V?V:ee,null==d?d:Op(d,p,N_(_),V)},Ie.values=nh,Ie.valuesIn=function(d){return null==d?[]:o_(d,ro(d))},Ie.without=iw,Ie.words=Dy,Ie.wrap=function(d,p){return Kp(N_(p),d)},Ie.xor=Pk,Ie.xorBy=Uo,Ie.xorWith=J_,Ie.zip=ey,Ie.zipObject=function(d,p){return Rp(d||[],p||[],al)},Ie.zipObjectDeep=function(d,p){return Rp(d||[],p||[],Ip)},Ie.zipWith=lf,Ie.entries=DA,Ie.entriesIn=Hw,Ie.extend=vA,Ie.extendWith=Zd,Ny(Ie,Ie),Ie.add=Hn,Ie.attempt=Iy,Ie.camelCase=PA,Ie.capitalize=wy,Ie.ceil=Ly,Ie.clamp=function(d,p,_){return _===ee&&(_=p,p=ee),_!==ee&&(_=(_=vo(_))==_?_:0),p!==ee&&(p=(p=vo(p))==p?p:0),Au(vo(d),p,_)},Ie.clone=function(d){return Hs(d,4)},Ie.cloneDeep=function(d){return Hs(d,5)},Ie.cloneDeepWith=function(d,p){return Hs(d,5,p="function"==typeof p?p:ee)},Ie.cloneWith=function(d,p){return Hs(d,4,p="function"==typeof p?p:ee)},Ie.conformsTo=function(d,p){return null==p||Tp(d,p,Is(p))},Ie.deburr=Ey,Ie.defaultTo=function(d,p){return null==d||d!=d?p:d},Ie.divide=Xk,Ie.endsWith=function(d,p,_){d=Hi(d),p=Vo(p);var V=d.length,he=_=_===ee?V:Au(ti(_),0,V);return(_-=p.length)>=0&&d.slice(_,he)==p},Ie.eq=Dn,Ie.escape=function(d){return(d=Hi(d))&&en.test(d)?d.replace(Sa,ak):d},Ie.escapeRegExp=function(d){return(d=Hi(d))&&ht.test(d)?d.replace(We,"\\$&"):d},Ie.every=function(d,p,_){var V=On(d)?ri:vv;return _&&Ws(d,p,_)&&(p=ee),V(d,kn(p,3))},Ie.find=KT,Ie.findIndex=q_,Ie.findKey=function(d,p){return Ph(d,kn(p,3),cl)},Ie.findLast=QT,Ie.findLastIndex=Y_,Ie.findLastKey=function(d,p){return Ph(d,kn(p,3),Ap)},Ie.floor=Kl,Ie.forEach=oy,Ie.forEachRight=Wp,Ie.forIn=function(d,p){return null==d?d:kd(d,kn(p,3),ro)},Ie.forInRight=function(d,p){return null==d?d:Fd(d,kn(p,3),ro)},Ie.forOwn=function(d,p){return d&&cl(d,kn(p,3))},Ie.forOwnRight=function(d,p){return d&&Ap(d,kn(p,3))},Ie.get=pf,Ie.gt=zt,Ie.gte=Cw,Ie.has=function(d,p){return null!=d&&jv(d,p,Ld)},Ie.hasIn=eg,Ie.head=qv,Ie.identity=so,Ie.includes=function(d,p,_,V){d=bo(d)?d:nh(d),_=_&&!V?ti(_):0;var he=d.length;return _<0&&(_=zr(he+_,0)),gy(d)?_<=he&&d.indexOf(p,_)>-1:!!he&&il(d,p,_)>-1},Ie.indexOf=function(d,p,_){var V=null==d?0:d.length;if(!V)return-1;var he=null==_?0:ti(_);return he<0&&(he=zr(V+he,0)),il(d,p,he)},Ie.inRange=function(d,p,_){return p=_l(p),_===ee?(_=p,p=0):_=_l(_),function(d,p,_){return d>=ps(p,_)&&d=-Re&&d<=Re},Ie.isSet=yA,Ie.isString=gy,Ie.isSymbol=da,Ie.isTypedArray=df,Ie.isUndefined=function(d){return d===ee},Ie.isWeakMap=function(d){return Ar(d)&&$s(d)==H},Ie.isWeakSet=function(d){return Ar(d)&&"[object WeakSet]"==As(d)},Ie.join=function(d,p){return null==d?"":Uh.call(d,p)},Ie.kebabCase=FA,Ie.last=aa,Ie.lastIndexOf=function(d,p,_){var V=null==d?0:d.length;if(!V)return-1;var he=V;return _!==ee&&(he=(he=ti(_))<0?zr(V+he,0):ps(he,V-1)),p==p?function(ct,Rt,Tt){for(var hn=Tt+1;hn--;)if(ct[hn]===Rt)return hn;return hn}(d,p,he):Td(d,Dc,he,!0)},Ie.lowerCase=LA,Ie.lowerFirst=$k,Ie.lt=Uc,Ie.lte=my,Ie.max=function(d){return d&&d.length?Kh(d,so,yo):ee},Ie.maxBy=function(d,p){return d&&d.length?Kh(d,kn(p,2),yo):ee},Ie.mean=function(d){return Ss(d,so)},Ie.meanBy=function(d,p){return Ss(d,kn(p,2))},Ie.min=function(d){return d&&d.length?Kh(d,so,Sv):ee},Ie.minBy=function(d,p){return d&&d.length?Kh(d,kn(p,2),Sv):ee},Ie.stubArray=Hc,Ie.stubFalse=Fy,Ie.stubObject=function(){return{}},Ie.stubString=function(){return""},Ie.stubTrue=function(){return!0},Ie.multiply=iE,Ie.nth=function(d,p){return d&&d.length?Du(d,ti(p)):ee},Ie.noConflict=function(){return Ui._===this&&(Ui._=h_),this},Ie.noop=Py,Ie.now=Bu,Ie.pad=function(d,p,_){d=Hi(d);var V=(p=ti(p))?Lh(d):0;if(!p||V>=p)return d;var he=(p-V)/2;return Fp(Si(he),_)+d+Fp(jt(he),_)},Ie.padEnd=function(d,p,_){d=Hi(d);var V=(p=ti(p))?Lh(d):0;return p&&Vp){var V=d;d=p,p=V}if(_||d%1||p%1){var he=zh();return ps(d+he*(p-d+MC("1e-"+((he+"").length-1))),p)}return Hl(d,p)},Ie.reduce=function(d,p,_){var V=On(d)?Eu:ea,he=arguments.length<3;return V(d,kn(p,4),_,he,Nc)},Ie.reduceRight=function(d,p,_){var V=On(d)?Cd:ea,he=arguments.length<3;return V(d,kn(p,4),_,he,C_)},Ie.repeat=function(d,p,_){return p=(_?Ws(d,p,_):p===ee)?1:ti(p),Dp(Hi(d),p)},Ie.replace=function(){var d=arguments,p=Hi(d[0]);return d.length<3?p:p.replace(d[1],d[2])},Ie.result=function(d,p,_){var V=-1,he=(p=Lc(p,d)).length;for(he||(he=1,d=ee);++VRe)return[];var _=ve,V=ps(d,ve);p=kn(p),d-=ve;for(var he=Md(V,p);++_=Ne)return d;var nt=_-Lh(V);if(nt<1)return V;var dt=Qe?ul(Qe,0,nt).join(""):d.slice(0,nt);if(he===ee)return dt+V;if(Qe&&(nt+=dt.length-nt),Ow(he)){if(d.slice(nt).search(he)){var Ft,Lt=dt;for(he.global||(he=u_(he.source,Hi(Xn.exec(he))+"g")),he.lastIndex=0;Ft=he.exec(Lt);)var Gt=Ft.index;dt=dt.slice(0,Gt===ee?nt:Gt)}}else if(d.indexOf(Vo(he),nt)!=nt){var nn=dt.lastIndexOf(he);nn>-1&&(dt=dt.slice(0,nn))}return dt+V},Ie.unescape=function(d){return(d=Hi(d))&&ws.test(d)?d.replace(kl,c_):d},Ie.uniqueId=function(d){var p=++pk;return Hi(d)+p},Ie.upperCase=Xw,Ie.upperFirst=ig,Ie.each=oy,Ie.eachRight=Wp,Ie.first=qv,Ny(Ie,function(){var d={};return cl(Ie,function(p,_){Xi.call(Ie.prototype,_)||(d[_]=p)}),d}(),{chain:!1}),Ie.VERSION="4.17.21",Us(["bind","bindKey","curry","curryRight","partial","partialRight"],function(d){Ie[d].placeholder=Ie}),Us(["drop","take"],function(d,p){fi.prototype[d]=function(_){_=_===ee?1:zr(ti(_),0);var V=this.__filtered__&&!p?new fi(this):this.clone();return V.__filtered__?V.__takeCount__=ps(_,V.__takeCount__):V.__views__.push({size:ps(_,ve),type:d+(V.__dir__<0?"Right":"")}),V},fi.prototype[d+"Right"]=function(_){return this.reverse()[d](_).reverse()}}),Us(["filter","map","takeWhile"],function(d,p){var _=p+1,V=1==_||3==_;fi.prototype[d]=function(he){var Ne=this.clone();return Ne.__iteratees__.push({iteratee:kn(he,3),type:_}),Ne.__filtered__=Ne.__filtered__||V,Ne}}),Us(["head","last"],function(d,p){var _="take"+(p?"Right":"");fi.prototype[d]=function(){return this[_](1).value()[0]}}),Us(["initial","tail"],function(d,p){var _="drop"+(p?"":"Right");fi.prototype[d]=function(){return this.__filtered__?new fi(this):this[_](1)}}),fi.prototype.compact=function(){return this.filter(so)},fi.prototype.find=function(d){return this.filter(d).head()},fi.prototype.findLast=function(d){return this.reverse().find(d)},fi.prototype.invokeMap=pi(function(d,p){return"function"==typeof d?new fi(this):this.map(function(_){return ka(_,d,p)})}),fi.prototype.reject=function(d){return this.filter(dy(kn(d)))},fi.prototype.slice=function(d,p){d=ti(d);var _=this;return _.__filtered__&&(d>0||p<0)?new fi(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),p!==ee&&(_=(p=ti(p))<0?_.dropRight(-p):_.take(p-d)),_)},fi.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},fi.prototype.toArray=function(){return this.take(ve)},cl(fi.prototype,function(d,p){var _=/^(?:filter|find|map|reject)|While$/.test(p),V=/^(?:head|last)$/.test(p),he=Ie[V?"take"+("last"==p?"Right":""):p],Ne=V||/^find/.test(p);!he||(Ie.prototype[p]=function(){var Qe=this.__wrapped__,nt=V?[1]:arguments,dt=Qe instanceof fi,Ft=nt[0],Lt=dt||On(Qe),Gt=function(mi){var Di=he.apply(Ie,Ur([mi],nt));return V&&nn?Di[0]:Di};Lt&&_&&"function"==typeof Ft&&1!=Ft.length&&(dt=Lt=!1);var nn=this.__chain__,wn=!!this.__actions__.length,Fn=Ne&&!nn,gi=dt&&!wn;if(!Ne&&Lt){Qe=gi?Qe:new fi(this);var Bn=d.apply(Qe,nt);return Bn.__actions__.push({func:Xd,args:[Gt],thisArg:ee}),new Lo(Bn,nn)}return Fn&&gi?d.apply(this,nt):(Bn=this.thru(Gt),Fn?V?Bn.value()[0]:Bn.value():Bn)})}),Us(["pop","push","shift","sort","splice","unshift"],function(d){var p=dr[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",V=/^(?:pop|shift)$/.test(d);Ie.prototype[d]=function(){var he=arguments;if(V&&!this.__chain__){var Ne=this.value();return p.apply(On(Ne)?Ne:[],he)}return this[_](function(Qe){return p.apply(On(Qe)?Qe:[],he)})}}),cl(fi.prototype,function(d,p){var _=Ie[p];if(_){var V=_.name+"";Xi.call(Od,V)||(Od[V]=[]),Od[V].push({name:p,func:_})}}),Od[Vc(ee,2).name]=[{name:"wrapper",func:ee}],fi.prototype.clone=function(){var d=new fi(this.__wrapped__);return d.__actions__=no(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=no(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=no(this.__views__),d},fi.prototype.reverse=function(){if(this.__filtered__){var d=new fi(this);d.__dir__=-1,d.__filtered__=!0}else(d=this.clone()).__dir__*=-1;return d},fi.prototype.value=function(){var d=this.__wrapped__.value(),p=this.__dir__,_=On(d),V=p<0,he=_?d.length:0,Ne=function(d,p,_){for(var V=-1,he=_.length;++V=this.__values__.length;return{done:d,value:d?ee:this.__values__[this.__index__++]}},Ie.prototype.plant=function(d){for(var p,_=this;_ instanceof Wh;){var V=sf(_);V.__index__=0,V.__values__=ee,p?he.__wrapped__=V:p=V;var he=V;_=_.__wrapped__}return he.__wrapped__=d,p},Ie.prototype.reverse=function(){var d=this.__wrapped__;if(d instanceof fi){var p=d;return this.__actions__.length&&(p=new fi(this)),(p=p.reverse()).__actions__.push({func:Xd,args:[Z_],thisArg:ee}),new Lo(p,this.__chain__)}return this.thru(Z_)},Ie.prototype.toJSON=Ie.prototype.valueOf=Ie.prototype.value=function(){return sT(this.__wrapped__,this.__actions__)},Ie.prototype.first=Ie.prototype.head,jh&&(Ie.prototype[jh]=function(){return this}),Ie}();Ui._=Bh,(lt=function(){return Bh}.call(Xe,et,Xe,Vt))!==ee&&(Vt.exports=lt)}.call(this)},5478:function(Vt){Vt.exports=function(){"use strict";function Xe(ot,ut){for(var ft=0;ftot.length)&&(ut=ot.length);for(var ft=0,ye=new Array(ut);ft=ot.length?{done:!0}:{done:!1,value:ot[ye++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var je={exports:{}};function Q(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}je.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:Q,changeDefaults:function(ot){je.exports.defaults=ot}};var pe=/[&<>"']/,X=/[&<>"']/g,U=/[<>"']|&(?!#?\w+;)/,F=/[<>"']|&(?!#?\w+;)/g,Y={"&":"&","<":"<",">":">",'"':""","'":"'"},B=function(ut){return Y[ut]};var C=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function R(ot){return ot.replace(C,function(ut,ft){return"colon"===(ft=ft.toLowerCase())?":":"#"===ft.charAt(0)?"x"===ft.charAt(1)?String.fromCharCode(parseInt(ft.substring(2),16)):String.fromCharCode(+ft.substring(1)):""})}var M=/(^|[^\[])\^/g;var v=/[^\w:]/g,b=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var T={},E=/^[^:]+:\/*[^/]*$/,O=/^([^:]+:)[\s\S]*$/,$=/^([^:]+:\/*[^/]*)[\s\S]*$/;function D(ot,ut){T[" "+ot]||(T[" "+ot]=E.test(ot)?ot+"/":W(ot,"/",!0));var ft=-1===(ot=T[" "+ot]).indexOf(":");return"//"===ut.substring(0,2)?ft?ut:ot.replace(O,"$1")+ut:"/"===ut.charAt(0)?ft?ut:ot.replace($,"$1")+ut:ot+ut}function W(ot,ut,ft){var ye=ot.length;if(0===ye)return"";for(var Te=0;Te1;)1&ut&&(ft+=ot),ut>>=1,ot+=ot;return ft+ot},Re=je.exports.defaults,be=W,re=function(ot,ut){var ye=ot.replace(/\|/g,function(We,ht,rt){for(var Dt=!1,It=ht;--It>=0&&"\\"===rt[It];)Dt=!Dt;return Dt?"|":" |"}).split(/ \|/),Te=0;if(ye.length>ut)ye.splice(ut);else for(;ye.length1?{type:"space",raw:Te[0]}:{raw:"\n"}},ut.code=function(ye){var Te=this.rules.block.code.exec(ye);if(Te){var We=Te[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:Te[0],codeBlockStyle:"indented",text:this.options.pedantic?We:be(We,"\n")}}},ut.fences=function(ye){var Te=this.rules.block.fences.exec(ye);if(Te){var We=Te[0],ht=function(ot,ut){var ft=ot.match(/^(\s+)(?:```)/);if(null===ft)return ut;var ye=ft[1];return ut.split("\n").map(function(Te){var We=Te.match(/^\s+/);return null===We?Te:We[0].length>=ye.length?Te.slice(ye.length):Te}).join("\n")}(We,Te[3]||"");return{type:"code",raw:We,lang:Te[2]?Te[2].trim():Te[2],text:ht}}},ut.heading=function(ye){var Te=this.rules.block.heading.exec(ye);if(Te){var We=Te[2].trim();if(/#$/.test(We)){var ht=be(We,"#");(this.options.pedantic||!ht||/ $/.test(ht))&&(We=ht.trim())}return{type:"heading",raw:Te[0],depth:Te[1].length,text:We}}},ut.nptable=function(ye){var Te=this.rules.block.nptable.exec(ye);if(Te){var We={type:"table",header:re(Te[1].replace(/^ *| *\| *$/g,"")),align:Te[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:Te[3]?Te[3].replace(/\n$/,"").split("\n"):[],raw:Te[0]};if(We.header.length===We.align.length){var rt,ht=We.align.length;for(rt=0;rt ?/gm,"");return{type:"blockquote",raw:Te[0],text:We}}},ut.list=function(ye){var Te=this.rules.block.list.exec(ye);if(Te){var Qt,zn,ci,Rn,bn,Xn,Cn,rr,sr,We=Te[0],ht=Te[2],rt=ht.length>1,Dt={type:"list",raw:We,ordered:rt,start:rt?+ht.slice(0,-1):"",loose:!1,items:[]},It=Te[0].match(this.rules.block.item),Ot=!1,Qn=It.length;ci=this.rules.block.listItemStart.exec(It[0]);for(var Wi=0;Wici[1].length:Rn[1].length>=ci[0].length||Rn[1].length>3){It.splice(Wi,2,It[Wi]+(!this.options.pedantic&&Rn[1].length/i.test(ht[0])&&(Te=!1),!We&&/^<(pre|code|kbd|script)(\s|>)/i.test(ht[0])?We=!0:We&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ht[0])&&(We=!1),{type:this.options.sanitize?"text":"html",raw:ht[0],inLink:Te,inRawBlock:We,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ht[0]):ve(ht[0]):ht[0]}},ut.link=function(ye){var Te=this.rules.inline.link.exec(ye);if(Te){var We=Te[2].trim();if(!this.options.pedantic&&/^$/.test(We))return;var ht=be(We.slice(0,-1),"\\");if((We.length-ht.length)%2==0)return}else{var rt=Fe(Te[2],"()");if(rt>-1){var It=(0===Te[0].indexOf("!")?5:4)+Te[1].length+rt;Te[2]=Te[2].substring(0,rt),Te[0]=Te[0].substring(0,It).trim(),Te[3]=""}}var Ot=Te[2],Qt="";if(this.options.pedantic){var zn=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Ot);zn&&(Ot=zn[1],Qt=zn[3])}else Qt=Te[3]?Te[3].slice(1,-1):"";return Ot=Ot.trim(),/^$/.test(We)?Ot.slice(1):Ot.slice(1,-1)),Ze(Te,{href:Ot&&Ot.replace(this.rules.inline._escapes,"$1"),title:Qt&&Qt.replace(this.rules.inline._escapes,"$1")},Te[0])}},ut.reflink=function(ye,Te){var We;if((We=this.rules.inline.reflink.exec(ye))||(We=this.rules.inline.nolink.exec(ye))){var ht=(We[2]||We[1]).replace(/\s+/g," ");if(!(ht=Te[ht.toLowerCase()])||!ht.href){var rt=We[0].charAt(0);return{type:"text",raw:rt,text:rt}}return Ze(We,ht,We[0])}},ut.emStrong=function(ye,Te,We){void 0===We&&(We="");var ht=this.rules.inline.emStrong.lDelim.exec(ye);if(ht&&(!ht[3]||!We.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var rt=ht[1]||ht[2]||"";if(!rt||rt&&(""===We||this.rules.inline.punctuation.exec(We))){var It,Ot,Dt=ht[0].length-1,Qt=Dt,zn=0,ci="*"===ht[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(ci.lastIndex=0,Te=Te.slice(-1*ye.length+Dt);null!=(ht=ci.exec(Te));)if(It=ht[1]||ht[2]||ht[3]||ht[4]||ht[5]||ht[6]){if(Ot=It.length,ht[3]||ht[4]){Qt+=Ot;continue}if((ht[5]||ht[6])&&Dt%3&&!((Dt+Ot)%3)){zn+=Ot;continue}if(!((Qt-=Ot)>0))return Ot=Math.min(Ot,Ot+Qt+zn),Math.min(Dt,Ot)%2?{type:"em",raw:ye.slice(0,Dt+ht.index+Ot+1),text:ye.slice(1,Dt+ht.index+Ot)}:{type:"strong",raw:ye.slice(0,Dt+ht.index+Ot+1),text:ye.slice(2,Dt+ht.index+Ot-1)}}}}},ut.codespan=function(ye){var Te=this.rules.inline.code.exec(ye);if(Te){var We=Te[2].replace(/\n/g," "),ht=/[^ ]/.test(We),rt=/^ /.test(We)&&/ $/.test(We);return ht&&rt&&(We=We.substring(1,We.length-1)),We=ve(We,!0),{type:"codespan",raw:Te[0],text:We}}},ut.br=function(ye){var Te=this.rules.inline.br.exec(ye);if(Te)return{type:"br",raw:Te[0]}},ut.del=function(ye){var Te=this.rules.inline.del.exec(ye);if(Te)return{type:"del",raw:Te[0],text:Te[2]}},ut.autolink=function(ye,Te){var ht,rt,We=this.rules.inline.autolink.exec(ye);if(We)return rt="@"===We[2]?"mailto:"+(ht=ve(this.options.mangle?Te(We[1]):We[1])):ht=ve(We[1]),{type:"link",raw:We[0],text:ht,href:rt,tokens:[{type:"text",raw:ht,text:ht}]}},ut.url=function(ye,Te){var We;if(We=this.rules.inline.url.exec(ye)){var ht,rt;if("@"===We[2])rt="mailto:"+(ht=ve(this.options.mangle?Te(We[0]):We[0]));else{var Dt;do{Dt=We[0],We[0]=this.rules.inline._backpedal.exec(We[0])[0]}while(Dt!==We[0]);ht=ve(We[0]),rt="www."===We[1]?"http://"+ht:ht}return{type:"link",raw:We[0],text:ht,href:rt,tokens:[{type:"text",raw:ht,text:ht}]}}},ut.inlineText=function(ye,Te,We){var rt,ht=this.rules.inline.text.exec(ye);if(ht)return rt=Te?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ht[0]):ve(ht[0]):ht[0]:ve(this.options.smartypants?We(ht[0]):ht[0]),{type:"text",raw:ht[0],text:rt}},ot}(),le=te_noopTest,_e=te_edit,Me=te_merge,Ce={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:le,table:le,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Ce.def=_e(Ce.def).replace("label",Ce._label).replace("title",Ce._title).getRegex(),Ce.bullet=/(?:[*+-]|\d{1,9}[.)])/,Ce.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,Ce.item=_e(Ce.item,"gm").replace(/bull/g,Ce.bullet).getRegex(),Ce.listItemStart=_e(/^( *)(bull) */).replace("bull",Ce.bullet).getRegex(),Ce.list=_e(Ce.list).replace(/bull/g,Ce.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Ce.def.source+")").getRegex(),Ce._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Ce._comment=/|$)/,Ce.html=_e(Ce.html,"i").replace("comment",Ce._comment).replace("tag",Ce._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Ce.paragraph=_e(Ce._paragraph).replace("hr",Ce.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Ce._tag).getRegex(),Ce.blockquote=_e(Ce.blockquote).replace("paragraph",Ce.paragraph).getRegex(),Ce.normal=Me({},Ce),Ce.gfm=Me({},Ce.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Ce.gfm.nptable=_e(Ce.gfm.nptable).replace("hr",Ce.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Ce._tag).getRegex(),Ce.gfm.table=_e(Ce.gfm.table).replace("hr",Ce.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Ce._tag).getRegex(),Ce.pedantic=Me({},Ce.normal,{html:_e("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Ce._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:le,paragraph:_e(Ce.normal._paragraph).replace("hr",Ce.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Ce.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var $e={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:le,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:le,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};$e.punctuation=_e($e.punctuation).replace(/punctuation/g,$e._punctuation).getRegex(),$e.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,$e.escapedEmSt=/\\\*|\\_/g,$e._comment=_e(Ce._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),$e.emStrong.lDelim=_e($e.emStrong.lDelim).replace(/punct/g,$e._punctuation).getRegex(),$e.emStrong.rDelimAst=_e($e.emStrong.rDelimAst,"g").replace(/punct/g,$e._punctuation).getRegex(),$e.emStrong.rDelimUnd=_e($e.emStrong.rDelimUnd,"g").replace(/punct/g,$e._punctuation).getRegex(),$e._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,$e._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,$e._email=/[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])?)+(?![-_])/,$e.autolink=_e($e.autolink).replace("scheme",$e._scheme).replace("email",$e._email).getRegex(),$e._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,$e.tag=_e($e.tag).replace("comment",$e._comment).replace("attribute",$e._attribute).getRegex(),$e._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,$e._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,$e._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,$e.link=_e($e.link).replace("label",$e._label).replace("href",$e._href).replace("title",$e._title).getRegex(),$e.reflink=_e($e.reflink).replace("label",$e._label).getRegex(),$e.reflinkSearch=_e($e.reflinkSearch,"g").replace("reflink",$e.reflink).replace("nolink",$e.nolink).getRegex(),$e.normal=Me({},$e),$e.pedantic=Me({},$e.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:_e(/^!?\[(label)\]\((.*?)\)/).replace("label",$e._label).getRegex(),reflink:_e(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",$e._label).getRegex()}),$e.gfm=Me({},$e.normal,{escape:_e($e.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(ye="x"+ye.toString(16)),ut+="&#"+ye+";";return ut}var Ye=function(){function ot(ft){this.tokens=[],this.tokens.links=Object.create(null),this.options=ft||Ke,this.options.tokenizer=this.options.tokenizer||new ze,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var ye={block:Ve.normal,inline:K.normal};this.options.pedantic?(ye.block=Ve.pedantic,ye.inline=K.pedantic):this.options.gfm&&(ye.block=Ve.gfm,ye.inline=this.options.breaks?K.breaks:K.gfm),this.tokenizer.rules=ye}ot.lex=function(ye,Te){return new ot(Te).lex(ye)},ot.lexInline=function(ye,Te){return new ot(Te).inlineTokens(ye)};var ut=ot.prototype;return ut.lex=function(ye){return ye=ye.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(ye,this.tokens,!0),this.inline(this.tokens),this.tokens},ut.blockTokens=function(ye,Te,We){var rt,Dt,It,Ot,Qt,zn,ht=this;for(void 0===Te&&(Te=[]),void 0===We&&(We=!0),this.options.pedantic&&(ye=ye.replace(/^ +$/gm,""));ye;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Rn){return!!(rt=Rn.call(ht,ye,Te))&&(ye=ye.substring(rt.raw.length),Te.push(rt),!0)}))){if(rt=this.tokenizer.space(ye)){ye=ye.substring(rt.raw.length),rt.type&&Te.push(rt);continue}if(rt=this.tokenizer.code(ye)){ye=ye.substring(rt.raw.length),(Ot=Te[Te.length-1])&&"paragraph"===Ot.type?(Ot.raw+="\n"+rt.raw,Ot.text+="\n"+rt.text):Te.push(rt);continue}if(rt=this.tokenizer.fences(ye)){ye=ye.substring(rt.raw.length),Te.push(rt);continue}if(rt=this.tokenizer.heading(ye)){ye=ye.substring(rt.raw.length),Te.push(rt);continue}if(rt=this.tokenizer.nptable(ye)){ye=ye.substring(rt.raw.length),Te.push(rt);continue}if(rt=this.tokenizer.hr(ye)){ye=ye.substring(rt.raw.length),Te.push(rt);continue}if(rt=this.tokenizer.blockquote(ye)){ye=ye.substring(rt.raw.length),rt.tokens=this.blockTokens(rt.text,[],We),Te.push(rt);continue}if(rt=this.tokenizer.list(ye)){for(ye=ye.substring(rt.raw.length),It=rt.items.length,Dt=0;Dt=0&&(Rn=Math.min(Rn,Xn))}),Rn<1/0&&Rn>=0&&(Qt=ye.substring(0,Rn+1))}(),We&&(rt=this.tokenizer.paragraph(Qt))){Ot=Te[Te.length-1],zn&&"paragraph"===Ot.type?(Ot.raw+="\n"+rt.raw,Ot.text+="\n"+rt.text):Te.push(rt),zn=Qt.length!==ye.length,ye=ye.substring(rt.raw.length);continue}if(rt=this.tokenizer.text(ye)){ye=ye.substring(rt.raw.length),(Ot=Te[Te.length-1])&&"text"===Ot.type?(Ot.raw+="\n"+rt.raw,Ot.text+="\n"+rt.text):Te.push(rt);continue}if(ye){var ci="Infinite loop on byte: "+ye.charCodeAt(0);if(this.options.silent){console.error(ci);break}throw new Error(ci)}}return Te},ut.inline=function(ye){var Te,We,ht,rt,Dt,It,Ot=ye.length;for(Te=0;Te0)for(;null!=(zn=this.tokenizer.rules.inline.reflinkSearch.exec(Qt));)bn.includes(zn[0].slice(zn[0].lastIndexOf("[")+1,-1))&&(Qt=Qt.slice(0,zn.index)+"["+q("a",zn[0].length-2)+"]"+Qt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(zn=this.tokenizer.rules.inline.blockSkip.exec(Qt));)Qt=Qt.slice(0,zn.index)+"["+q("a",zn[0].length-2)+"]"+Qt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(zn=this.tokenizer.rules.inline.escapedEmSt.exec(Qt));)Qt=Qt.slice(0,zn.index)+"++"+Qt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;ye;)if(ci||(Rn=""),ci=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(Cn){return!!(Dt=Cn.call(rt,ye,Te))&&(ye=ye.substring(Dt.raw.length),Te.push(Dt),!0)}))){if(Dt=this.tokenizer.escape(ye)){ye=ye.substring(Dt.raw.length),Te.push(Dt);continue}if(Dt=this.tokenizer.tag(ye,We,ht)){ye=ye.substring(Dt.raw.length),We=Dt.inLink,ht=Dt.inRawBlock,(It=Te[Te.length-1])&&"text"===Dt.type&&"text"===It.type?(It.raw+=Dt.raw,It.text+=Dt.text):Te.push(Dt);continue}if(Dt=this.tokenizer.link(ye)){ye=ye.substring(Dt.raw.length),"link"===Dt.type&&(Dt.tokens=this.inlineTokens(Dt.text,[],!0,ht)),Te.push(Dt);continue}if(Dt=this.tokenizer.reflink(ye,this.tokens.links)){ye=ye.substring(Dt.raw.length),It=Te[Te.length-1],"link"===Dt.type?(Dt.tokens=this.inlineTokens(Dt.text,[],!0,ht),Te.push(Dt)):It&&"text"===Dt.type&&"text"===It.type?(It.raw+=Dt.raw,It.text+=Dt.text):Te.push(Dt);continue}if(Dt=this.tokenizer.emStrong(ye,Qt,Rn)){ye=ye.substring(Dt.raw.length),Dt.tokens=this.inlineTokens(Dt.text,[],We,ht),Te.push(Dt);continue}if(Dt=this.tokenizer.codespan(ye)){ye=ye.substring(Dt.raw.length),Te.push(Dt);continue}if(Dt=this.tokenizer.br(ye)){ye=ye.substring(Dt.raw.length),Te.push(Dt);continue}if(Dt=this.tokenizer.del(ye)){ye=ye.substring(Dt.raw.length),Dt.tokens=this.inlineTokens(Dt.text,[],We,ht),Te.push(Dt);continue}if(Dt=this.tokenizer.autolink(ye,ce)){ye=ye.substring(Dt.raw.length),Te.push(Dt);continue}if(!We&&(Dt=this.tokenizer.url(ye,ce))){ye=ye.substring(Dt.raw.length),Te.push(Dt);continue}if(Ot=ye,this.options.extensions&&this.options.extensions.startInline&&function(){var Cn=1/0,rr=ye.slice(1),sr=void 0;rt.options.extensions.startInline.forEach(function(Qn){"number"==typeof(sr=Qn.call(this,rr))&&sr>=0&&(Cn=Math.min(Cn,sr))}),Cn<1/0&&Cn>=0&&(Ot=ye.substring(0,Cn+1))}(),Dt=this.tokenizer.inlineText(Ot,ht,ge)){ye=ye.substring(Dt.raw.length),"_"!==Dt.raw.slice(-1)&&(Rn=Dt.raw.slice(-1)),ci=!0,(It=Te[Te.length-1])&&"text"===It.type?(It.raw+=Dt.raw,It.text+=Dt.text):Te.push(Dt);continue}if(ye){var Xn="Infinite loop on byte: "+ye.charCodeAt(0);if(this.options.silent){console.error(Xn);break}throw new Error(Xn)}}return Te},function(ot,ut,ft){ut&&Xe(ot.prototype,ut),ft&&Xe(ot,ft)}(ot,null,[{key:"rules",get:function(){return{block:Ve,inline:K}}}]),ot}(),_t=je.exports.defaults,gt=te_cleanUrl,Ae=te_escape,z=function(){function ot(ft){this.options=ft||_t}var ut=ot.prototype;return ut.code=function(ye,Te,We){var ht=(Te||"").match(/\S*/)[0];if(this.options.highlight){var rt=this.options.highlight(ye,ht);null!=rt&&rt!==ye&&(We=!0,ye=rt)}return ye=ye.replace(/\n$/,"")+"\n",ht?'
            '+(We?ye:Ae(ye,!0))+"
            \n":"
            "+(We?ye:Ae(ye,!0))+"
            \n"},ut.blockquote=function(ye){return"
            \n"+ye+"
            \n"},ut.html=function(ye){return ye},ut.heading=function(ye,Te,We,ht){return this.options.headerIds?"'+ye+"\n":""+ye+"\n"},ut.hr=function(){return this.options.xhtml?"
            \n":"
            \n"},ut.list=function(ye,Te,We){var ht=Te?"ol":"ul";return"<"+ht+(Te&&1!==We?' start="'+We+'"':"")+">\n"+ye+"\n"},ut.listitem=function(ye){return"
          • "+ye+"
          • \n"},ut.checkbox=function(ye){return" "},ut.paragraph=function(ye){return"

            "+ye+"

            \n"},ut.table=function(ye,Te){return Te&&(Te=""+Te+""),"\n\n"+ye+"\n"+Te+"
            \n"},ut.tablerow=function(ye){return"\n"+ye+"\n"},ut.tablecell=function(ye,Te){var We=Te.header?"th":"td";return(Te.align?"<"+We+' align="'+Te.align+'">':"<"+We+">")+ye+"\n"},ut.strong=function(ye){return""+ye+""},ut.em=function(ye){return""+ye+""},ut.codespan=function(ye){return""+ye+""},ut.br=function(){return this.options.xhtml?"
            ":"
            "},ut.del=function(ye){return""+ye+""},ut.link=function(ye,Te,We){if(null===(ye=gt(this.options.sanitize,this.options.baseUrl,ye)))return We;var ht='"+We+""},ut.image=function(ye,Te,We){if(null===(ye=gt(this.options.sanitize,this.options.baseUrl,ye)))return We;var ht=''+We+'":">")},ut.text=function(ye){return ye},ot}(),L=function(){function ot(){}var ut=ot.prototype;return ut.strong=function(ye){return ye},ut.em=function(ye){return ye},ut.codespan=function(ye){return ye},ut.del=function(ye){return ye},ut.html=function(ye){return ye},ut.text=function(ye){return ye},ut.link=function(ye,Te,We){return""+We},ut.image=function(ye,Te,We){return""+We},ut.br=function(){return""},ot}(),H=function(){function ot(){this.seen={}}var ut=ot.prototype;return ut.serialize=function(ye){return ye.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},ut.getNextSafeSlug=function(ye,Te){var We=ye,ht=0;if(this.seen.hasOwnProperty(We)){ht=this.seen[ye];do{We=ye+"-"+ ++ht}while(this.seen.hasOwnProperty(We))}return Te||(this.seen[ye]=ht,this.seen[We]=0),We},ut.slug=function(ye,Te){void 0===Te&&(Te={});var We=this.serialize(ye);return this.getNextSafeSlug(We,Te.dryrun)},ot}(),Le=z,it=L,At=H,kt=je.exports.defaults,In=te_unescape,Yn=Ye,Mi=function(){function ot(ft){this.options=ft||kt,this.options.renderer=this.options.renderer||new Le,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new it,this.slugger=new At}ot.parse=function(ye,Te){return new ot(Te).parse(ye)},ot.parseInline=function(ye,Te){return new ot(Te).parseInline(ye)};var ut=ot.prototype;return ut.parse=function(ye,Te){void 0===Te&&(Te=!0);var ht,rt,Dt,It,Ot,Qt,zn,ci,Rn,bn,Xn,Cn,rr,sr,Qn,Wi,Ca,Qr,ae,We="",me=ye.length;for(ht=0;ht0&&"text"===Qn.tokens[0].type?(Qn.tokens[0].text=Qr+" "+Qn.tokens[0].text,Qn.tokens[0].tokens&&Qn.tokens[0].tokens.length>0&&"text"===Qn.tokens[0].tokens[0].type&&(Qn.tokens[0].tokens[0].text=Qr+" "+Qn.tokens[0].tokens[0].text)):Qn.tokens.unshift({type:"text",text:Qr}):sr+=Qr),sr+=this.parse(Qn.tokens,rr),Rn+=this.renderer.listitem(sr,Ca,Wi);We+=this.renderer.list(Rn,Xn,Cn);continue;case"html":We+=this.renderer.html(bn.text);continue;case"paragraph":We+=this.renderer.paragraph(this.parseInline(bn.tokens));continue;case"text":for(Rn=bn.tokens?this.parseInline(bn.tokens):bn.text;ht+1An error occurred:

            "+xa(Dt.message+"",!0)+"
            ";throw Dt}}return en.options=en.setOptions=function(ot){return Bs(en.defaults,ot),Sa(en.defaults),en},en.getDefaults=kl,en.defaults=ws,en.use=function(){for(var ot=this,ut=arguments.length,ft=new Array(ut),ye=0;yeAn error occurred:

            "+xa(ye.message+"",!0)+"
            ";throw ye}},en.Parser=Mi,en.parser=Mi.parse,en.Renderer=Xr,en.TextRenderer=Ls,en.Lexer=Yn,en.lexer=Yn.lex,en.Tokenizer=xi,en.Slugger=fs,en.parse=en,en}()},9369:(Vt,Xe,et)=>{var lt=et(6284),ee=et(7830);function Ct(){this.clear()}Ct.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},Ct.prototype.enqueue=function(je){return this.items.push(je),++this.size},Ct.prototype.dequeue=function(){if(this.size){var je=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,je}},Ct.prototype.peek=function(){if(this.size)return this.items[this.offset]},Ct.prototype.forEach=function(je,Q){Q=arguments.length>1?Q:this;for(var Ee=this.offset,pe=0,X=this.items.length;Ee=je.length)return{done:!0};var Ee=je[Q];return Q++,{value:Ee,done:!1}})},Ct.prototype.entries=function(){var je=this.items,Q=this.offset,Ee=0;return new lt(function(){if(Q>=je.length)return{done:!0};var pe=je[Q];return Q++,{value:[Ee++,pe],done:!1}})},"undefined"!=typeof Symbol&&(Ct.prototype[Symbol.iterator]=Ct.prototype.values),Ct.prototype.toString=function(){return this.toArray().join(",")},Ct.prototype.toJSON=function(){return this.toArray()},Ct.prototype.inspect=function(){var je=this.toArray();return Object.defineProperty(je,"constructor",{value:Ct,enumerable:!1}),je},"undefined"!=typeof Symbol&&(Ct.prototype[Symbol.for("nodejs.util.inspect.custom")]=Ct.prototype.inspect),Ct.from=function(je){var Q=new Ct;return ee(je,function(Ee){Q.enqueue(Ee)}),Q},Ct.of=function(){return Ct.from(arguments)},Vt.exports=Ct},8104:Vt=>{Vt.exports=function Xe(et,lt,ee){function Ct(Ee,pe){if(!lt[Ee]){if(!et[Ee]){if(je)return je(Ee,!0);throw new Error("Cannot find module '"+Ee+"'")}pe=lt[Ee]={exports:{}},et[Ee][0].call(pe.exports,function(U){return Ct(et[Ee][1][U]||U)},pe,pe.exports,Xe,et,lt,ee)}return lt[Ee].exports}for(var je=void 0,Q=0;Q>16),x((65280&O)>>8),x(255&O);return 2==$?x(255&(O=S(T.charAt(E))<<2|S(T.charAt(E+1))>>4)):1==$&&(x((O=S(T.charAt(E))<<10|S(T.charAt(E+1))<<4|S(T.charAt(E+2))>>2)>>8&255),x(255&O)),D},Y.fromByteArray=function(T){var E,O,$,D,P=T.length%3,Z="";function x(W){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(W)}for(E=0,$=T.length-P;E<$;E+=3)Z+=x((D=O=(T[E]<<16)+(T[E+1]<<8)+T[E+2])>>18&63)+x(D>>12&63)+x(D>>6&63)+x(63&D);switch(P){case 1:Z=(Z+=x((O=T[T.length-1])>>2))+x(O<<4&63)+"==";break;case 2:Z=(Z=(Z+=x((O=(T[T.length-2]<<8)+T[T.length-1])>>10))+x(O>>4&63))+x(O<<2&63)+"="}return Z}}(void 0===lt?this.base64js={}:lt)}).call(this,Xe("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Xe("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(Xe,et,lt){(function(ee,Ct,je,Q,Ee,pe,X,U,F){var Y=Xe("base64-js"),B=Xe("ieee754");function je(J,le,_e){if(!(this instanceof je))return new je(J,le,_e);var Me,Ce,$e,Se,ze=typeof J;if("base64"===le&&"string"==ze)for(J=(Se=J).trim?Se.trim():Se.replace(/^\s+|\s+$/g,"");J.length%4!=0;)J+="=";if("number"==ze)Me=ne(J);else if("string"==ze)Me=je.byteLength(J,le);else{if("object"!=ze)throw new Error("First argument needs to be a number, array or string.");Me=ne(J.length)}if(je._useTypedArrays?Ce=je._augment(new Uint8Array(Me)):((Ce=this).length=Me,Ce._isBuffer=!0),je._useTypedArrays&&"number"==typeof J.byteLength)Ce._set(J);else if(ue(Se=J)||je.isBuffer(Se)||Se&&"object"==typeof Se&&"number"==typeof Se.length)for($e=0;$e>>0)):(le+1>>0),Ce}function v(J,le,_e,Me){if(Me||(Ge("boolean"==typeof _e,"missing or invalid endian"),Ge(null!=le,"missing offset"),Ge(le+1>>8*(Me?$e:1-$e)}function O(J,le,_e,Me,Ce){if(Ce||(Ge(null!=le,"missing value"),Ge("boolean"==typeof Me,"missing or invalid endian"),Ge(null!=_e,"missing offset"),Ge(_e+3>>8*(Me?$e:3-$e)&255}function $(J,le,_e,Me,Ce){Ce||(Ge(null!=le,"missing value"),Ge("boolean"==typeof Me,"missing or invalid endian"),Ge(null!=_e,"missing offset"),Ge(_e+1>8,ze.push(Se%=256),ze.push($e);return ze}(le),J,_e,Me)}(this,J,le,_e);break;default:throw new Error("Unknown encoding")}return Ce},je.prototype.toString=function(J,le,_e){var Me,Ce,$e,Se,ze=this;if(J=String(J||"utf8").toLowerCase(),le=Number(le)||0,(_e=void 0!==_e?Number(_e):ze.length)===le)return"";switch(J){case"hex":Me=function(Ke,Ve,K){var q=Ke.length;(!Ve||Ve<0)&&(Ve=0),(!K||K<0||qthis.length&&(Me=this.length);var Ce=(Me=J.length-le=this.length))return this[J]},je.prototype.readUInt16LE=function(J,le){return M(this,J,!0,le)},je.prototype.readUInt16BE=function(J,le){return M(this,J,!1,le)},je.prototype.readUInt32LE=function(J,le){return y(this,J,!0,le)},je.prototype.readUInt32BE=function(J,le){return y(this,J,!1,le)},je.prototype.readInt8=function(J,le){if(le||(Ge(null!=J,"missing offset"),Ge(J=this.length))return 128&this[J]?-1*(255-this[J]+1):this[J]},je.prototype.readInt16LE=function(J,le){return v(this,J,!0,le)},je.prototype.readInt16BE=function(J,le){return v(this,J,!1,le)},je.prototype.readInt32LE=function(J,le){return b(this,J,!0,le)},je.prototype.readInt32BE=function(J,le){return b(this,J,!1,le)},je.prototype.readFloatLE=function(J,le){return S(this,J,!0,le)},je.prototype.readFloatBE=function(J,le){return S(this,J,!1,le)},je.prototype.readDoubleLE=function(J,le){return T(this,J,!0,le)},je.prototype.readDoubleBE=function(J,le){return T(this,J,!1,le)},je.prototype.writeUInt8=function(J,le,_e){_e||(Ge(null!=J,"missing value"),Ge(null!=le,"missing offset"),Ge(le=this.length||(this[le]=J)},je.prototype.writeUInt16LE=function(J,le,_e){E(this,J,le,!0,_e)},je.prototype.writeUInt16BE=function(J,le,_e){E(this,J,le,!1,_e)},je.prototype.writeUInt32LE=function(J,le,_e){O(this,J,le,!0,_e)},je.prototype.writeUInt32BE=function(J,le,_e){O(this,J,le,!1,_e)},je.prototype.writeInt8=function(J,le,_e){_e||(Ge(null!=J,"missing value"),Ge(null!=le,"missing offset"),Ge(le=this.length||this.writeUInt8(0<=J?J:255+J+1,le,_e)},je.prototype.writeInt16LE=function(J,le,_e){$(this,J,le,!0,_e)},je.prototype.writeInt16BE=function(J,le,_e){$(this,J,le,!1,_e)},je.prototype.writeInt32LE=function(J,le,_e){D(this,J,le,!0,_e)},je.prototype.writeInt32BE=function(J,le,_e){D(this,J,le,!1,_e)},je.prototype.writeFloatLE=function(J,le,_e){P(this,J,le,!0,_e)},je.prototype.writeFloatBE=function(J,le,_e){P(this,J,le,!1,_e)},je.prototype.writeDoubleLE=function(J,le,_e){Z(this,J,le,!0,_e)},je.prototype.writeDoubleBE=function(J,le,_e){Z(this,J,le,!1,_e)},je.prototype.fill=function(J,le,_e){if(le=le||0,_e=_e||this.length,Ge("number"==typeof(J="string"==typeof(J=J||0)?J.charCodeAt(0):J)&&!isNaN(J),"value is not a number"),Ge(le<=_e,"end < start"),_e!==le&&0!==this.length){Ge(0<=le&&le"},je.prototype.toArrayBuffer=function(){if("undefined"==typeof Uint8Array)throw new Error("Buffer.toArrayBuffer not supported in this browser");if(je._useTypedArrays)return new je(this).buffer;for(var J=new Uint8Array(this.length),le=0,_e=J.length;le<_e;le+=1)J[le]=this[le];return J.buffer};var x=je.prototype;function W(J,le,_e){return"number"!=typeof J?_e:le<=(J=~~J)?le:0<=J||0<=(J+=le)?J:0}function ne(J){return(J=~~Math.ceil(+J))<0?0:J}function ue(J){return(Array.isArray||function(le){return"[object Array]"===Object.prototype.toString.call(le)})(J)}function se(J){return J<16?"0"+J.toString(16):J.toString(16)}function te(J){for(var le=[],_e=0;_e=le.length||Ce>=J.length);Ce++)le[Ce+_e]=J[Ce];return Ce}function re(J){try{return decodeURIComponent(J)}catch(le){return String.fromCharCode(65533)}}function ve(J,le){Ge("number"==typeof J,"cannot write a non-number as a number"),Ge(0<=J,"specified a negative value for writing an unsigned value"),Ge(J<=le,"value is larger than maximum value for type"),Ge(Math.floor(J)===J,"value has a fractional component")}function Fe(J,le,_e){Ge("number"==typeof J,"cannot write a non-number as a number"),Ge(J<=le,"value larger than maximum allowed value"),Ge(_e<=J,"value smaller than minimum allowed value"),Ge(Math.floor(J)===J,"value has a fractional component")}function Ze(J,le,_e){Ge("number"==typeof J,"cannot write a non-number as a number"),Ge(J<=le,"value larger than maximum allowed value"),Ge(_e<=J,"value smaller than minimum allowed value")}function Ge(J,le){if(!J)throw new Error(le||"Failed assertion")}je._augment=function(J){return J._isBuffer=!0,J._get=J.get,J._set=J.set,J.get=x.get,J.set=x.set,J.write=x.write,J.toString=x.toString,J.toLocaleString=x.toString,J.toJSON=x.toJSON,J.copy=x.copy,J.slice=x.slice,J.readUInt8=x.readUInt8,J.readUInt16LE=x.readUInt16LE,J.readUInt16BE=x.readUInt16BE,J.readUInt32LE=x.readUInt32LE,J.readUInt32BE=x.readUInt32BE,J.readInt8=x.readInt8,J.readInt16LE=x.readInt16LE,J.readInt16BE=x.readInt16BE,J.readInt32LE=x.readInt32LE,J.readInt32BE=x.readInt32BE,J.readFloatLE=x.readFloatLE,J.readFloatBE=x.readFloatBE,J.readDoubleLE=x.readDoubleLE,J.readDoubleBE=x.readDoubleBE,J.writeUInt8=x.writeUInt8,J.writeUInt16LE=x.writeUInt16LE,J.writeUInt16BE=x.writeUInt16BE,J.writeUInt32LE=x.writeUInt32LE,J.writeUInt32BE=x.writeUInt32BE,J.writeInt8=x.writeInt8,J.writeInt16LE=x.writeInt16LE,J.writeInt16BE=x.writeInt16BE,J.writeInt32LE=x.writeInt32LE,J.writeInt32BE=x.writeInt32BE,J.writeFloatLE=x.writeFloatLE,J.writeFloatBE=x.writeFloatBE,J.writeDoubleLE=x.writeDoubleLE,J.writeDoubleBE=x.writeDoubleBE,J.fill=x.fill,J.inspect=x.inspect,J.toArrayBuffer=x.toArrayBuffer,J}}).call(this,Xe("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Xe("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(Xe,et,lt){(function(ee,Ct,je,Q,Ee,pe,X,U,F){je=Xe("buffer").Buffer;var B=new je(4);B.fill(0),et.exports={hash:function(w,C,R,M){for(var y=C(function(E,O){E.length%4!=0&&(E=je.concat([E,B],E.length+(4-E.length%4)));for(var D=[],P=O?E.readInt32BE:E.readInt32LE,Z=0;ZR?W=x(W):W.length>5]|=128<>>9<<4)]=S;for(var T=1732584193,E=-271733879,O=-1732584194,$=271733878,D=0;D>>32-O,T)}function C(b,S,T,E,O,$,D){return w(S&T|~S&E,b,S,O,$,D)}function R(b,S,T,E,O,$,D){return w(S&E|T&~E,b,S,O,$,D)}function M(b,S,T,E,O,$,D){return w(S^T^E,b,S,O,$,D)}function y(b,S,T,E,O,$,D){return w(T^(S|~E),b,S,O,$,D)}function v(b,S){var T=(65535&b)+(65535&S);return(b>>16)+(S>>16)+(T>>16)<<16|65535&T}et.exports=function(b){return Y.hash(b,B,16)}}).call(this,Xe("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Xe("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(Xe,et,lt){(function(ee,Ct,je,Q,Ee,pe,X,U,F){et.exports=function(B){for(var w,C=new Array(B),R=0;R>>((3&R)<<3)&255;return C}}).call(this,Xe("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Xe("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(Xe,et,lt){(function(ee,Ct,je,Q,Ee,pe,X,U,F){var Y=Xe("./helpers");function B(R,M){R[M>>5]|=128<<24-M%32,R[15+(M+64>>9<<4)]=M;for(var y,v,b,S=Array(80),T=1732584193,E=-271733879,O=-1732584194,$=271733878,D=-1009589776,P=0;P>16)+(M>>16)+(y>>16)<<16|65535&y}function C(R,M){return R<>>32-M}et.exports=function(R){return Y.hash(R,B,20,!0)}}).call(this,Xe("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Xe("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(Xe,et,lt){(function(ee,Ct,je,Q,Ee,pe,X,U,F){function Y(M,y){var v=(65535&M)+(65535&y);return(M>>16)+(y>>16)+(v>>16)<<16|65535&v}function B(M,y){var v,b=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),S=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),T=new Array(64);M[y>>5]|=128<<24-y%32,M[15+(y+64>>9<<4)]=y;for(var E,O,$=0;$>>y|M<<32-y},R=function(M,y){return M>>>y};et.exports=function(M){return w.hash(M,B,32,!0)}}).call(this,Xe("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Xe("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(Xe,et,lt){(function(ee,Ct,je,Q,Ee,pe,X,U,F){lt.read=function(Y,B,w,C,R){var M,y,v=8*R-C-1,b=(1<>1,T=-7,E=w?R-1:0,O=w?-1:1;for(R=Y[B+E],E+=O,M=R&(1<<-T)-1,R>>=-T,T+=v;0>=-T,T+=C;0>1,E=23===R?Math.pow(2,-24)-Math.pow(2,-77):0,O=C?0:M-1,$=C?1:-1;for(M=B<0||0===B&&1/B<0?1:0,B=Math.abs(B),isNaN(B)||B===1/0?(v=isNaN(B)?1:0,y=S):(y=Math.floor(Math.log(B)/Math.LN2),B*(C=Math.pow(2,-y))<1&&(y--,C*=2),2<=(B+=1<=y+T?E/C:E*Math.pow(2,1-T))*C&&(y++,C/=2),S<=y+T?(v=0,y=S):1<=y+T?(v=(B*C-1)*Math.pow(2,R),y+=T):(v=B*Math.pow(2,T-1)*Math.pow(2,R),y=0));8<=R;Y[w+O]=255&v,O+=$,v/=256,R-=8);for(y=y<{var Xe="undefined"!=typeof ArrayBuffer,et="undefined"!=typeof Symbol;function lt(ee,Ct){var je,Q,Ee,pe,X;if(!ee)throw new Error("obliterator/forEach: invalid iterable.");if("function"!=typeof Ct)throw new Error("obliterator/forEach: expecting a callback.");if(Array.isArray(ee)||Xe&&ArrayBuffer.isView(ee)||"string"==typeof ee||"[object Arguments]"===ee.toString())for(Ee=0,pe=ee.length;Ee{function Xe(et){Object.defineProperty(this,"_next",{writable:!1,enumerable:!1,value:et}),this.done=!1}Xe.prototype.next=function(){if(this.done)return{done:!0};var et=this._next();return et.done&&(this.done=!0),et},"undefined"!=typeof Symbol&&(Xe.prototype[Symbol.iterator]=function(){return this}),Xe.of=function(){var et=arguments,lt=et.length,ee=0;return new Xe(function(){return ee>=lt?{done:!0}:{done:!1,value:et[ee++]}})},Xe.empty=function(){var et=new Xe(null);return et.done=!0,et},Xe.is=function(et){return et instanceof Xe||"object"==typeof et&&null!==et&&"function"==typeof et.next},Vt.exports=Xe},7310:(Vt,Xe,et)=>{"use strict";var lt=et(1948);Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.isMobile=function(){return void 0!==ee.window.orientation},Xe.default=function(pe){if(!pe&&!(0,Ct.default)())return"Node";if((0,je.default)(pe))return"Electron";var X="undefined"!=typeof navigator?navigator:{},U=pe||X.userAgent||"";if(U.indexOf("Edge")>-1)return"Edge";var F=-1!==U.indexOf("MSIE "),Y=-1!==U.indexOf("Trident/");return F||Y?"IE":ee.window.chrome?"Chrome":ee.window.safari?"Safari":ee.window.mozInnerScreenX?"Firefox":"Unknown"};var ee=et(1151),Ct=lt(et(1602)),je=lt(et(2344))},1151:(Vt,Xe,et)=>{"use strict";var lt=et(1948);Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.console=Xe.process=Xe.document=Xe.global=Xe.window=Xe.self=void 0;var ee=lt(et(4321)),Ct={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&process};Xe.self=Ct.self||Ct.window||Ct.global,Xe.window=Ct.window||Ct.self||Ct.global,Xe.global=Ct.global||Ct.self||Ct.window,Xe.document=Ct.document||{},Xe.process=Ct.process||{};var U=console;Xe.console=U},4761:(Vt,Xe,et)=>{"use strict";var ee=et(1948),Ct=et(4321);Object.defineProperty(Xe,"CO",{enumerable:!0,get:function(){return je.global}}),Object.defineProperty(Xe,"qs",{enumerable:!0,get:function(){return Ee.default}});var je=et(1151),Ee=(U(et(1602)),U(et(7310)));ee(et(2344));function X(F){if("function"!=typeof WeakMap)return null;var Y=new WeakMap,B=new WeakMap;return(X=function(C){return C?B:Y})(F)}function U(F,Y){if(!Y&&F&&F.__esModule)return F;if(null===F||"object"!==Ct(F)&&"function"!=typeof F)return{default:F};var B=X(Y);if(B&&B.has(F))return B.get(F);var w={},C=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in F)if("default"!==R&&Object.prototype.hasOwnProperty.call(F,R)){var M=C?Object.getOwnPropertyDescriptor(F,R):null;M&&(M.get||M.set)?Object.defineProperty(w,R,M):w[R]=F[R]}return w.default=F,B&&B.set(F,w),w}},1602:(Vt,Xe,et)=>{"use strict";var lt=et(1948);Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.default=je,Xe.isBrowserMainThread=function(){return je()&&"undefined"!=typeof document};var ee=lt(et(4321)),Ct=lt(et(2344));function je(){return!("object"===("undefined"==typeof process?"undefined":(0,ee.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,Ct.default)()}},2344:(Vt,Xe,et)=>{"use strict";var lt=et(1948);Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.default=function(je){if("undefined"!=typeof window&&"object"===(0,ee.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,ee.default)(process.versions)&&Boolean(process.versions.electron))return!0;var Q="object"===("undefined"==typeof navigator?"undefined":(0,ee.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,Ee=je||Q;return!!(Ee&&Ee.indexOf("Electron")>=0)};var ee=lt(et(4321))},6991:function(Vt,Xe,et){"use strict";var lt=this&&this.__createBinding||(Object.create?function(Ct,je,Q,Ee){void 0===Ee&&(Ee=Q),Object.defineProperty(Ct,Ee,{enumerable:!0,get:function(){return je[Q]}})}:function(Ct,je,Q,Ee){void 0===Ee&&(Ee=Q),Ct[Ee]=je[Q]}),ee=this&&this.__exportStar||function(Ct,je){for(var Q in Ct)"default"!==Q&&!Object.prototype.hasOwnProperty.call(je,Q)&<(je,Ct,Q)};Object.defineProperty(Xe,"__esModule",{value:!0}),ee(et(4180),Xe),ee(et(5103),Xe),ee(et(8965),Xe),ee(et(2595),Xe),ee(et(2417),Xe),ee(et(2451),Xe),ee(et(7735),Xe)},4180:(Vt,Xe)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.BlankNode=void 0,Xe.BlankNode=class{constructor(ee){this.termType="BlankNode",this.value=ee}equals(ee){return!!ee&&"BlankNode"===ee.termType&&ee.value===this.value}}},5103:(Vt,Xe,et)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.DataFactory=void 0;const lt=et(4180),ee=et(8965),Ct=et(2595),je=et(2417),Q=et(2451),Ee=et(7735);let pe=0;Xe.DataFactory=class{constructor(F){this.blankNodeCounter=0,this.blankNodePrefix=(F=F||{}).blankNodePrefix||`df_${pe++}_`}namedNode(F){return new je.NamedNode(F)}blankNode(F){return new lt.BlankNode(F||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(F,Y){return new Ct.Literal(F,Y)}variable(F){return new Ee.Variable(F)}defaultGraph(){return ee.DefaultGraph.INSTANCE}quad(F,Y,B,w){return new Q.Quad(F,Y,B,w||this.defaultGraph())}fromTerm(F){switch(F.termType){case"NamedNode":return this.namedNode(F.value);case"BlankNode":return this.blankNode(F.value);case"Literal":return F.language?this.literal(F.value,F.language):F.datatype.equals(Ct.Literal.XSD_STRING)?this.literal(F.value):this.literal(F.value,this.fromTerm(F.datatype));case"Variable":return this.variable(F.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(F.subject),this.fromTerm(F.predicate),this.fromTerm(F.object),this.fromTerm(F.graph))}}fromQuad(F){return this.fromTerm(F)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},8965:(Vt,Xe)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.DefaultGraph=void 0;class et{constructor(){this.termType="DefaultGraph",this.value=""}equals(ee){return!!ee&&"DefaultGraph"===ee.termType}}Xe.DefaultGraph=et,et.INSTANCE=new et},2595:(Vt,Xe,et)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.Literal=void 0;const lt=et(2417);class ee{constructor(je,Q){this.termType="Literal",this.value=je,"string"==typeof Q?(this.language=Q,this.datatype=ee.RDF_LANGUAGE_STRING):Q?(this.language="",this.datatype=Q):(this.language="",this.datatype=ee.XSD_STRING)}equals(je){return!!je&&"Literal"===je.termType&&je.value===this.value&&je.language===this.language&&je.datatype.equals(this.datatype)}}Xe.Literal=ee,ee.RDF_LANGUAGE_STRING=new lt.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),ee.XSD_STRING=new lt.NamedNode("http://www.w3.org/2001/XMLSchema#string")},2417:(Vt,Xe)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.NamedNode=void 0,Xe.NamedNode=class{constructor(ee){this.termType="NamedNode",this.value=ee}equals(ee){return!!ee&&"NamedNode"===ee.termType&&ee.value===this.value}}},2451:(Vt,Xe)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.Quad=void 0,Xe.Quad=class{constructor(ee,Ct,je,Q){this.termType="Quad",this.value="",this.subject=ee,this.predicate=Ct,this.object=je,this.graph=Q}equals(ee){return!!ee&&("Quad"===ee.termType||!ee.termType)&&this.subject.equals(ee.subject)&&this.predicate.equals(ee.predicate)&&this.object.equals(ee.object)&&this.graph.equals(ee.graph)}}},7735:(Vt,Xe)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.Variable=void 0,Xe.Variable=class{constructor(ee){this.termType="Variable",this.value=ee}equals(ee){return!!ee&&"Variable"===ee.termType&&ee.value===this.value}}},1609:function(Vt,Xe,et){"use strict";var lt=this&&this.__createBinding||(Object.create?function(w,C,R,M){void 0===M&&(M=R),Object.defineProperty(w,M,{enumerable:!0,get:function(){return C[R]}})}:function(w,C,R,M){void 0===M&&(M=R),w[M]=C[R]}),ee=this&&this.__exportStar||function(w,C){for(var R in w)"default"!==R&&!Object.prototype.hasOwnProperty.call(C,R)&<(C,w,R)};Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.getSupportedJavaScriptPrimitives=Xe.getSupportedRdfDatatypes=Xe.getTermRaw=Xe.toRdf=Xe.fromRdf=void 0;const Ct=et(6991),je=et(9938),Q=et(6060);ee(et(9938),Xe),ee(et(8871),Xe),ee(et(6060),Xe);const Ee=new Ct.DataFactory,pe=new Q.Translator;function X(w,C){return pe.fromRdf(w,C)}pe.registerHandler(new je.TypeHandlerString,je.TypeHandlerString.TYPES.map(w=>Ee.namedNode(w)),["string"]),pe.registerHandler(new je.TypeHandlerBoolean,[je.TypeHandlerBoolean.TYPE].map(w=>Ee.namedNode(w)),["boolean"]),pe.registerHandler(new je.TypeHandlerNumberDouble,je.TypeHandlerNumberDouble.TYPES.map(w=>Ee.namedNode(w)),["number"]),pe.registerHandler(new je.TypeHandlerNumberInteger,je.TypeHandlerNumberInteger.TYPES.map(w=>Ee.namedNode(w)),["number"]),pe.registerHandler(new je.TypeHandlerDate,je.TypeHandlerDate.TYPES.map(w=>Ee.namedNode(w)),["object"]),Xe.fromRdf=X,Xe.toRdf=function(w,C){return C&&"namedNode"in C&&(C={dataFactory:C}),(C=C||{})&&!C.dataFactory&&(C.dataFactory=Ee),pe.toRdf(w,C)},Xe.getTermRaw=function(w,C){return"Literal"===w.termType?X(w,C):w.value},Xe.getSupportedRdfDatatypes=function(){return pe.getSupportedRdfDatatypes()},Xe.getSupportedJavaScriptPrimitives=function(){return pe.getSupportedJavaScriptPrimitives()}},8871:(Vt,Xe)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0})},6060:(Vt,Xe)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.Translator=void 0,Xe.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(ee){throw new Error(`Invalid RDF ${ee.datatype.value} value: '${ee.value}'`)}registerHandler(ee,Ct,je){for(const Q of Ct)this.supportedRdfDatatypes.push(Q),this.fromRdfHandlers[Q.value]=ee;for(const Q of je){let Ee=this.toRdfHandlers[Q];Ee||(this.toRdfHandlers[Q]=Ee=[]),Ee.push(ee)}}fromRdf(ee,Ct){const je=this.fromRdfHandlers[ee.datatype.value];return je?je.fromRdf(ee,Ct):ee.value}toRdf(ee,Ct){const je=this.toRdfHandlers[typeof ee];if(je)for(const Q of je){const Ee=Q.toRdf(ee,Ct);if(Ee)return Ee}throw new Error(`Invalid JavaScript value: '${ee}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},727:(Vt,Xe,et)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.TypeHandlerBoolean=void 0;const lt=et(6060);class ee{fromRdf(je,Q){switch(je.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return Q&<.Translator.incorrectRdfDataType(je),!1}toRdf(je,{datatype:Q,dataFactory:Ee}){return Ee.literal(je?"true":"false",Q||Ee.namedNode(ee.TYPE))}}Xe.TypeHandlerBoolean=ee,ee.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},2525:(Vt,Xe,et)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.TypeHandlerDate=void 0;const lt=et(6060);class ee{fromRdf(je,Q){switch(Q&&!je.value.match(ee.VALIDATORS[je.datatype.value.substr(33,je.datatype.value.length)])&<.Translator.incorrectRdfDataType(je),je.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(je.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const Ee=je.value.split("-");return new Date(0,parseInt(Ee[0],10)-1,parseInt(Ee[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(je.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(je.value+"-01");default:return new Date(je.value)}}toRdf(je,{datatype:Q,dataFactory:Ee}){if(Q=Q||Ee.namedNode(ee.TYPES[0]),!(je instanceof Date))return null;const pe=je;let X;switch(Q.value){case"http://www.w3.org/2001/XMLSchema#gDay":X=String(pe.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":X=pe.getUTCMonth()+1+"-"+pe.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":X=String(pe.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":X=pe.getUTCFullYear()+"-"+(pe.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":X=pe.toISOString().replace(/T.*$/,"");break;default:X=pe.toISOString()}return Ee.literal(X,Q)}}Xe.TypeHandlerDate=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],ee.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},8554:(Vt,Xe,et)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.TypeHandlerNumberDouble=void 0;const lt=et(6060);class ee{fromRdf(je,Q){const Ee=parseFloat(je.value);return Q&&isNaN(Ee)&<.Translator.incorrectRdfDataType(je),Ee}toRdf(je,{datatype:Q,dataFactory:Ee}){return Q=Q||Ee.namedNode(ee.TYPES[0]),isNaN(je)?Ee.literal("NaN",Q):isFinite(je)?je%1==0?null:Ee.literal(je.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),Q):Ee.literal(je>0?"INF":"-INF",Q)}}Xe.TypeHandlerNumberDouble=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},7750:(Vt,Xe,et)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.TypeHandlerNumberInteger=void 0;const lt=et(6060);class ee{fromRdf(je,Q){const Ee=parseInt(je.value,10);return Q&&(isNaN(Ee)||je.value.indexOf(".")>=0)&<.Translator.incorrectRdfDataType(je),Ee}toRdf(je,{datatype:Q,dataFactory:Ee}){return Ee.literal(String(je),Q||Ee.namedNode(je<=ee.MAX_INT&&je>=ee.MIN_INT?ee.TYPES[0]:ee.TYPES[1]))}}Xe.TypeHandlerNumberInteger=ee,ee.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],ee.MAX_INT=2147483647,ee.MIN_INT=-2147483648},4608:(Vt,Xe)=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.TypeHandlerString=void 0;class et{fromRdf(ee){return ee.value}toRdf(ee,{datatype:Ct,dataFactory:je}){return je.literal(ee,Ct)}}Xe.TypeHandlerString=et,et.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(Vt,Xe,et){"use strict";var lt=this&&this.__createBinding||(Object.create?function(Ct,je,Q,Ee){void 0===Ee&&(Ee=Q),Object.defineProperty(Ct,Ee,{enumerable:!0,get:function(){return je[Q]}})}:function(Ct,je,Q,Ee){void 0===Ee&&(Ee=Q),Ct[Ee]=je[Q]}),ee=this&&this.__exportStar||function(Ct,je){for(var Q in Ct)"default"!==Q&&!Object.prototype.hasOwnProperty.call(je,Q)&<(je,Ct,Q)};Object.defineProperty(Xe,"__esModule",{value:!0}),ee(et(727),Xe),ee(et(2525),Xe),ee(et(8554),Xe),ee(et(7750),Xe),ee(et(4608),Xe)},2829:(Vt,Xe,et)=>{"use strict";var lt={};et.r(lt),et.d(lt,{decode:()=>Ume,encode:()=>zme});var ee={};et.r(ee),et.d(ee,{decode:()=>qme,encode:()=>Yme});var Ct={};et.r(Ct),et.d(Ct,{decode:()=>Xme,encode:()=>Kme});var je={};function Q(n){return"function"==typeof n}et.r(je),et.d(je,{decode:()=>Qme,encode:()=>Zme});let Ee=!1;const pe={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else Ee&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Ee=n},get useDeprecatedSynchronousErrorHandling(){return Ee}};function X(n){setTimeout(()=>{throw n},0)}const U={closed:!0,next(n){},error(n){if(pe.useDeprecatedSynchronousErrorHandling)throw n;X(n)},complete(){}},F=Array.isArray||(n=>n&&"number"==typeof n.length);function Y(n){return null!==n&&"object"==typeof n}const w=(()=>{function n(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((t,i)=>`${i+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}return n.prototype=Object.create(Error.prototype),n})();class C{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:t,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,t instanceof C)t.remove(this);else if(null!==t)for(let o=0;oe.concat(t instanceof w?t.errors:t),[])}C.EMPTY=((n=new C).closed=!0,n);const M="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class v extends C{constructor(e,t,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=U;break;case 1:if(!e){this.destination=U;break}if("object"==typeof e){e instanceof v?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new b(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new b(this,e,t,i)}}[M](){return this}static create(e,t,i){const r=new v(e,t,i);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}}class b extends v{constructor(e,t,i,r){super(),this._parentSubscriber=e;let s,o=this;Q(t)?s=t:t&&(s=t.next,i=t.error,r=t.complete,t!==U&&(o=Object.create(t),Q(o.unsubscribe)&&this.add(o.unsubscribe.bind(o)),o.unsubscribe=this.unsubscribe.bind(this))),this._context=o,this._next=s,this._error=i,this._complete=r}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;pe.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:i}=pe;if(this._error)i&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)i?(t.syncErrorValue=e,t.syncErrorThrown=!0):X(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;X(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);pe.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(i){if(this.unsubscribe(),pe.useDeprecatedSynchronousErrorHandling)throw i;X(i)}}__tryOrSetError(e,t,i){if(!pe.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,i)}catch(r){return pe.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(X(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}const E="function"==typeof Symbol&&Symbol.observable||"@@observable";function O(n){return n}function $(...n){return D(n)}function D(n){return 0===n.length?O:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}let P=(()=>{class n{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const{operator:s}=this,o=function(n,e,t){if(n){if(n instanceof v)return n;if(n[M])return n[M]()}return n||e||t?new v(n,e,t):new v(U)}(t,i,r);if(o.add(s?s.call(o,this.source):this.source||pe.useDeprecatedSynchronousErrorHandling&&!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),pe.useDeprecatedSynchronousErrorHandling&&o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){pe.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=i),function(n){for(;n;){const{closed:e,destination:t,isStopped:i}=n;if(e||i)return!1;n=t&&t instanceof v?t:null}return!0}(t)?t.error(i):console.warn(i)}}forEach(t,i){return new(i=Z(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),o&&o.unsubscribe()}},s,r)})}_subscribe(t){const{source:i}=this;return i&&i.subscribe(t)}[E](){return this}pipe(...t){return 0===t.length?this:D(t)(this)}toPromise(t){return new(t=Z(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function Z(n){if(n||(n=pe.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const W=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class ne extends C{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const i=t.indexOf(this.subscriber);-1!==i&&t.splice(i,1)}}class ue extends v{constructor(e){super(e),this.destination=e}}let se=(()=>{class n extends P{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[M](){return new ue(this)}lift(t){const i=new te(this,this);return i.operator=t,i}next(t){if(this.closed)throw new W;if(!this.isStopped){const{observers:i}=this,r=i.length,s=i.slice();for(let o=0;onew te(e,t),n})();class te extends se{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):C.EMPTY}}function Re(n){return n&&"function"==typeof n.schedule}function be(n,e){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new re(n,e))}}class re{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new ve(e,this.project,this.thisArg))}}class ve extends v{constructor(e,t,i){super(e),this.project=t,this.count=0,this.thisArg=i||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}const Fe=n=>e=>{for(let t=0,i=n.length;tn&&"number"==typeof n.length&&"function"!=typeof n;function $e(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Se=n=>{if(n&&"function"==typeof n[E])return(n=>e=>{const t=n[E]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)})(n);if(Ce(n))return Fe(n);if($e(n))return(n=>e=>(n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,X),e))(n);if(n&&"function"==typeof n[J])return(n=>e=>{const t=n[J]();for(;;){let i;try{i=t.next()}catch(r){return e.error(r),e}if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof t.return&&e.add(()=>{t.return&&t.return()}),e})(n);{const t=`You provided ${Y(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(t)}};function Ve(n,e){return new P(t=>{const i=new C;let r=0;return i.add(e.schedule(function(){r!==n.length?(t.next(n[r++]),t.closed||i.add(this.schedule())):t.complete()})),i})}function Ye(n,e){return e?function(n,e){if(null!=n){if(function(n){return n&&"function"==typeof n[E]}(n))return function(n,e){return new P(t=>{const i=new C;return i.add(e.schedule(()=>{const r=n[E]();i.add(r.subscribe({next(s){i.add(e.schedule(()=>t.next(s)))},error(s){i.add(e.schedule(()=>t.error(s)))},complete(){i.add(e.schedule(()=>t.complete()))}}))})),i})}(n,e);if($e(n))return function(n,e){return new P(t=>{const i=new C;return i.add(e.schedule(()=>n.then(r=>{i.add(e.schedule(()=>{t.next(r),i.add(e.schedule(()=>t.complete()))}))},r=>{i.add(e.schedule(()=>t.error(r)))}))),i})}(n,e);if(Ce(n))return Ve(n,e);if(function(n){return n&&"function"==typeof n[J]}(n)||"string"==typeof n)return function(n,e){if(!n)throw new Error("Iterable cannot be null");return new P(t=>{const i=new C;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=n[J](),i.add(e.schedule(function(){if(t.closed)return;let s,o;try{const a=r.next();s=a.value,o=a.done}catch(a){return void t.error(a)}o?t.complete():(t.next(s),this.schedule())}))})),i})}(n,e)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,e):n instanceof P?n:new P(Se(n))}class _t extends v{constructor(e){super(),this.parent=e}_next(e){this.parent.notifyNext(e)}_error(e){this.parent.notifyError(e),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class Ae extends v{notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.destination.complete()}}function L(n,e){if(e.closed)return;if(n instanceof P)return n.subscribe(e);let t;try{t=Se(n)(e)}catch(i){e.error(i)}return t}function H(n,e,t=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(H((r,s)=>Ye(n(r,s)).pipe(be((o,a)=>e(r,o,s,a))),t)):("number"==typeof e&&(t=e),i=>i.lift(new Le(n,t)))}class Le{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new it(e,this.project,this.concurrent))}}class it extends Ae{constructor(e,t,i=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function kt(n=Number.POSITIVE_INFINITY){return H(O,n)}function In(n,e){return e?Ve(n,e):new P(Fe(n))}function Pn(...n){let e=Number.POSITIVE_INFINITY,t=null,i=n[n.length-1];return Re(i)?(t=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(e=n.pop())):"number"==typeof i&&(e=n.pop()),null===t&&1===n.length&&n[0]instanceof P?n[0]:kt(e)(In(n,t))}function Yn(){return function(e){return e.lift(new Mi(e))}}class Mi{constructor(e){this.connectable=e}call(e,t){const{connectable:i}=this;i._refCount++;const r=new xi(e,i),s=t.subscribe(r);return r.closed||(r.connection=i.connect()),s}}class xi extends v{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:i}=this,r=e._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class Xr extends P{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,e=this._connection=new C,e.add(this.source.subscribe(new fs(this.getSubject(),this))),e.closed&&(this._connection=null,e=C.EMPTY)),e}refCount(){return Yn()(this)}}const Ls=(()=>{const n=Xr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class fs extends ue{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function xa(n,e){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof e)return i.lift(new kl(r,e));const s=Object.create(i,Ls);return s.source=i,s.subjectFactory=r,s}}class kl{constructor(e,t){this.subjectFactory=e,this.selector=t}call(e,t){const{selector:i}=this,r=this.subjectFactory(),s=i(r).subscribe(e);return s.add(t.subscribe(r)),s}}function Sa(){return new se}function ws(){return n=>Yn()(xa(Sa)(n))}function en(n){for(let e in n)if(n[e]===en)return e;throw Error("Could not find renamed property on target object.")}function nl(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function ot(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(ot).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function ut(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const ft=en({__forward_ref__:en});function ye(n){return n.__forward_ref__=ye,n.toString=function(){return ot(this())},n}function Te(n){return We(n)?n():n}function We(n){return"function"==typeof n&&n.hasOwnProperty(ft)&&n.__forward_ref__===ye}class rt extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function Ot(n){return"string"==typeof n?n:null==n?"":String(n)}function Qt(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Ot(n)}function bn(n,e){const t=e?` in ${e}`:"";throw new rt("201",`No provider for ${Qt(n)} found${t}`)}function ie(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function tt(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function St(n){return{providers:n.providers||[],imports:n.imports||[]}}function vn(n){return Es(n,fo)||Es(n,Vs)}function Es(n,e){return n.hasOwnProperty(e)?n[e]:null}function Fl(n){return n&&(n.hasOwnProperty(Br)||n.hasOwnProperty(Ac))?n[Br]:null}const fo=en({\u0275prov:en}),Br=en({\u0275inj:en}),Vs=en({ngInjectableDef:en}),Ac=en({ngInjectorDef:en});var xn=(()=>((xn=xn||{})[xn.Default=0]="Default",xn[xn.Host=1]="Host",xn[xn.Self=2]="Self",xn[xn.SkipSelf=4]="SkipSelf",xn[xn.Optional=8]="Optional",xn))();let po;function Ta(n){const e=po;return po=n,e}function Ed(n,e,t){const i=vn(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&xn.Optional?null:void 0!==e?e:void bn(ot(n),"Injector")}function Pe(n){return{toString:n}.toString()}var Je=(()=>((Je=Je||{})[Je.OnPush=0]="OnPush",Je[Je.Default=1]="Default",Je))(),Xt=(()=>((Xt=Xt||{})[Xt.Emulated=0]="Emulated",Xt[Xt.None=2]="None",Xt[Xt.ShadowDom=3]="ShadowDom",Xt))();const ui="undefined"!=typeof globalThis&&globalThis,Vr="undefined"!=typeof window&&window,Jr="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,xs="undefined"!=typeof global&&global,Zn=ui||xs||Vr||Jr,xd={},er=[],fp=en({\u0275cmp:en}),n_=en({\u0275dir:en}),Oh=en({\u0275pipe:en}),iv=en({\u0275mod:en}),TC=en({\u0275loc:en}),Bl=en({\u0275fac:en}),Rh=en({__NG_ELEMENT_ID__:en});let AC=0;function rn(n){return Pe(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===Je.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||er,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Xt.Emulated,id:"c",styles:n.styles||er,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=AC++,i.inputs=av(n.inputs,t),i.outputs=av(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(rv):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(sv):null,i})}function rv(n){return Ui(n)||function(n){return n[n_]||null}(n)}function sv(n){return function(n){return n[Oh]||null}(n)}const ov={};function tn(n){return Pe(()=>{const e={type:n.type,bootstrap:n.bootstrap||er,declarations:n.declarations||er,imports:n.imports||er,exports:n.exports||er,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(ov[n.id]=n.type),e})}function av(n,e){if(null==n)return xd;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const Pt=rn;function js(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,onDestroy:n.type.prototype.ngOnDestroy||null}}function Ui(n){return n[fp]||null}function Po(n,e){const t=n[iv]||null;if(!t&&!0===e)throw new Error(`Type ${ot(n)} does not have '\u0275mod' property.`);return t}function Jo(n){return Array.isArray(n)&&"object"==typeof n[1]}function ea(n){return Array.isArray(n)&&!0===n[1]}function s_(n){return 0!=(8&n.flags)}function Ad(n){return 2==(2&n.flags)}function Md(n){return 1==(1&n.flags)}function Da(n){return null!==n.template}function lv(n){return 0!=(512&n[2])}function Ic(n,e){return n.hasOwnProperty(Bl)?n[Bl]:null}class c_{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Fi(){return dv}function dv(n){return n.type.prototype.ngOnChanges&&(n.setInput=kC),PC}function PC(){const n=ct(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===xd)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function kC(n,e,t,i){const r=ct(n)||function(n,e){return n[Bh]=e}(n,{previous:xd,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new c_(l&&l.currentValue,e,o===xd),n[i]=e}Fi.ngInherit=!0;const Bh="__ngSimpleChanges__";function ct(n){return n[Bh]||null}let Yi;function dr(n){return!!n.listen}const Su={createRenderer:(n,e)=>void 0!==Yi?Yi:"undefined"!=typeof document?document:void 0};function Sr(n){for(;Array.isArray(n);)n=n[0];return n}function Vh(n,e){return Sr(e[n])}function eo(n,e){return Sr(e[n.index])}function h_(n,e){return n.data[e]}function Dd(n,e){return n[e]}function zs(n,e){const t=e[n];return Jo(t)?t:t[0]}function Ul(n){return 4==(4&n[2])}function Id(n){return 128==(128&n[2])}function Oa(n,e){return null==e?null:n[e]}function f_(n){n[18]=0}function mp(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const Ln={lFrame:Tu(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function fv(){return Ln.bindingsEnabled}function jt(){return Ln.lFrame.lView}function Si(){return Ln.lFrame.tView}function _r(n){return Ln.lFrame.contextLView=n,n[8]}function as(){let n=p_();for(;null!==n&&64===n.type;)n=n.parent;return n}function p_(){return Ln.lFrame.currentTNode}function sl(n,e){const t=Ln.lFrame;t.currentTNode=n,t.isParent=e}function zr(){return Ln.lFrame.isParent}function ps(){Ln.lFrame.isParent=!1}function zh(){return Ln.isInCheckNoChangesMode}function yp(n){Ln.isInCheckNoChangesMode=n}function Cs(){const n=Ln.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}function Ra(){return Ln.lFrame.bindingIndex++}function Fo(n){const e=Ln.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function Od(n,e){const t=Ln.lFrame;t.bindingIndex=t.bindingRootIndex=n,g_(e)}function g_(n){Ln.lFrame.currentDirectiveIndex=n}function m_(n){const e=Ln.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}function pv(){return Ln.lFrame.currentQueryIndex}function __(n){Ln.lFrame.currentQueryIndex=n}function vp(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Rd(n,e,t){if(t&xn.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&xn.Host||(r=vp(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=Ln.lFrame=Ie();return i.currentTNode=e,i.lView=n,!0}function $h(n){const e=Ie(),t=n[1];Ln.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function Ie(){const n=Ln.lFrame,e=null===n?null:n.child;return null===e?Tu(n):e}function Tu(n){const 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:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Wh(){const n=Ln.lFrame;return Ln.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Lo=Wh;function fi(){const n=Wh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function to(){return Ln.lFrame.selectedIndex}function _o(n){Ln.lFrame.selectedIndex=n}function Pr(){const n=Ln.lFrame;return h_(n.tView,n.selectedIndex)}function wp(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t=i)break}else e[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class qh{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Sp(n,e,t){const i=dr(n);let r=0;for(;re){o=s-1;break}}}for(;s>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Pd=!0;function Cp(n){const e=Pd;return Pd=n,e}let x_=0;function Hs(n,e){const t=Tp(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,S_(i.data,n),S_(e,null),S_(i.blueprint,null));const r=Xh(n,e),s=n.injectorIndex;if(yv(r)){const o=Nd(r),a=al(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function S_(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Tp(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function Xh(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Rc(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Rh)&&(i=t[Rh]),null==i&&(i=t[Rh]=x_++);const r=255&i;e.data[n+(r>>5)]|=1<=0?255&e:Ev:e}(t);if("function"==typeof s){if(!Rd(e,n,i))return i&xn.Host?C_(r,t,i):vv(e,t,i,r);try{const o=s(i);if(null!=o||i&xn.Optional)return o;bn(t)}finally{Lo()}}else if("number"==typeof s){let o=null,a=Tp(n,e),l=-1,c=i&xn.Host?e[16][6]:null;for((-1===a||i&xn.SkipSelf)&&(l=-1===a?Xh(n,e):e[a+8],-1!==l&&Qh(i,!1)?(o=e[1],a=Nd(l),e=al(l,e)):a=-1);-1!==a;){const u=e[1];if(Ap(s,a,u.data)){const h=Ts(a,e,t,o,i,c);if(h!==wv)return h}l=e[a+8],-1!==l&&Qh(i,e[1].data[a+8]===c)&&Ap(s,a,e)?(o=u,a=Nd(l),e=al(l,e)):a=-1}}}return vv(e,t,i,r)}const wv={};function Ev(){return new na(as(),jt())}function Ts(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=kd(a,o,t,null==i?Ad(a)&&Pd:i!=o&&0!=(3&a.type),r&xn.Host&&s===a);return null!==u?Fd(e,o,u,a):wv}function kd(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,f=r?a+u:n.directiveEnd;for(let g=i?a:a+u;g=l&&m.type===t)return g}if(r){const g=o[l];if(g&&Da(g)&&g.type===t)return l}return null}function Fd(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof qh}(r)){const o=r;o.resolving&&function(n,e){throw new rt("200",`Circular dependency in DI detected for ${n}`)}(Qt(s[t]));const a=Cp(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Ta(o.injectImpl):null;Rd(n,i,xn.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=dv(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&Ta(l),Cp(a),o.resolving=!1,Lo()}}return r}function Ap(n,e,t){return!!(t[e+(n>>5)]&1<{const e=n.prototype.constructor,t=e[Bl]||As(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[Bl]||As(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function As(n){return We(n)?()=>{const e=As(Te(n));return e&&e()}:Ic(n)}function yo(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Bd)?l[Bd]:Object.defineProperty(l,Bd,{value:[]})[Bd];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class Ht{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=tt({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const Du=Function;function ia(n,e){void 0===e&&(e=n);for(let t=0;tArray.isArray(t)?ra(t,e):e(t))}function Jh(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Hl(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Pc(n,e){const t=[];for(let i=0;i=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function O_(n,e){const t=Ms(n,e);if(t>=0)return n[1|t]}function Ms(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):ot(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(Lc,"\n ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Fc]=null,n}const Hd=zd(ka("Inject",n=>({token:n})),-1),ts=zd(ka("Optional"),8),dl=zd(ka("SkipSelf"),4);let $d;function Fu(n){var e;return(null===(e=function(){if(void 0===$d&&($d=null,Zn.trustedTypes))try{$d=Zn.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch(n){}return $d}())||void 0===e?void 0:e.createHTML(n))||n}class ql{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class L_ extends ql{getTypeName(){return"HTML"}}class B_ extends ql{getTypeName(){return"Style"}}class jp extends ql{getTypeName(){return"Script"}}class Wd extends ql{getTypeName(){return"URL"}}class kn extends ql{getTypeName(){return"ResourceURL"}}function Gs(n){return n instanceof ql?n.changingThisBreaksApplicationSecurity:n}function sa(n,e){const t=jc(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function jc(n){return n instanceof ql&&n.getTypeName()||null}class jv{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e=""+e;try{const t=(new window.DOMParser).parseFromString(Fu(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch(t){return null}}}class fT{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const i=this.inertDocument.createElement("body");t.appendChild(i)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=Fu(e),t;const i=this.inertDocument.createElement("body");return i.innerHTML=Fu(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0jo(e.trim())).join(", ")}function oa(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function tf(...n){const e={};for(const t of n)for(const i in t)t.hasOwnProperty(i)&&(e[i]=!0);return e}const Up=oa("area,br,col,hr,img,wbr"),zv=oa("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Hv=oa("rp,rt"),j_=tf(Up,tf(zv,oa("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")),tf(Hv,oa("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")),tf(Hv,zv)),U_=oa("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),z_=oa("srcset"),H_=tf(U_,z_,oa("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),oa("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")),bT=oa("script,style,template");class G_{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!j_.hasOwnProperty(t))return this.sanitizedSomething=!0,!bT.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=e.attributes;for(let r=0;r"),!0}endElement(e){const t=e.nodeName.toLowerCase();j_.hasOwnProperty(t)&&!Up.hasOwnProperty(t)&&(this.buf.push(""))}chars(e){this.buf.push(Hp(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const Gv=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,nf=/([^\#-~ |!])/g;function Hp(n){return n.replace(/&/g,"&").replace(Gv,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(nf,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}let rf;function $_(n,e){let t=null;try{rf=rf||function(n){const e=new fT(n);return function(){try{return!!(new window.DOMParser).parseFromString(Fu(""),"text/html")}catch(n){return!1}}()?new jv(e):e}(n);let i=e?String(e):"";t=rf.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=t.innerHTML,t=rf.getInertBodyElement(i)}while(i!==s);return Fu((new G_).sanitizeChildren(qd(t)||t))}finally{if(t){const i=qd(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function qd(n){return"content"in n&&function(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var si=(()=>((si=si||{})[si.NONE=0]="NONE",si[si.HTML=1]="HTML",si[si.STYLE=2]="STYLE",si[si.SCRIPT=3]="SCRIPT",si[si.URL=4]="URL",si[si.RESOURCE_URL=5]="RESOURCE_URL",si))();function sf(n){const e=function(){const n=jt();return n&&n[12]}();return e?e.sanitize(si.URL,n)||"":sa(n,"URL")?Gs(n):jo(Ot(n))}const Y_="__ngContext__";function Ds(n,e){n[Y_]=e}function X_(n){const e=function(n){return n[Y_]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function Gp(n){return n.ngOriginalError}function RT(n,...e){n.error(...e)}class la{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=this._findContext(e),r=function(n){return n&&n.ngErrorLogger||RT}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),i&&r(this._console,"ERROR CONTEXT",i)}_findContext(e){return e?function(n){return n.ngDebugContext}(e)||this._findContext(Gp(e)):null}_findOriginalError(e){let t=e&&Gp(e);for(;t&&Gp(t);)t=Gp(t);return t||null}}const tw=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Zn))();function fl(n){return n instanceof Function?n():n}var Uo=(()=>((Uo=Uo||{})[Uo.Important=1]="Important",Uo[Uo.DashCase=2]="DashCase",Uo))();function ey(n,e){return undefined(n,e)}function lf(n){const e=n[3];return ea(e)?e[3]:e}function Xd(n){return ow(n[13])}function ny(n){return ow(n[4])}function ow(n){for(;null!==n&&!ea(n);)n=n[4];return n}function Kd(n,e,t,i,r){if(null!=i){let s,o=!1;ea(i)?s=i:Jo(i)&&(o=!0,i=i[0]);const a=Sr(i);0===n&&null!==t?null==r?dw(e,t,a):pl(e,t,a,r||null,!0):1===n&&null!==t?pl(e,t,a,r||null,!0):2===n?function(n,e,t){const i=qp(n,e);i&&function(n,e,t,i){dr(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==Sr(t)&&Kd(e,n,i,s,r);for(let a=10;a0&&(n[t-1][4]=i[4]);const s=Hl(n,10+e);!function(n,e){Qd(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function oy(n,e){if(!(256&e[2])){const t=e[11];dr(t)&&t.destroyNode&&Qd(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return Wp(n[1],n);for(;e;){let t=null;if(Jo(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Jo(e)&&Wp(e[1],e),e=e[3];null===e&&(e=n),Jo(e)&&Wp(e[1],e),t=e&&e[4]}e=t}}(e)}}function Wp(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;ss?"":r[h+1].toLowerCase();const g=8&i?f:null;if(g&&-1!==uf(g,c,0)||2&i&&c!==f){if(La(i))return!1;o=!0}}}}else{if(!o&&!La(i)&&!La(l))return!1;if(o&&La(l))continue;o=!1,i=l|1&i}}return La(i)||o}function La(n){return 0==(1&n)}function oA(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!La(o)&&(e+=Sw(s,r),r=""),i=o,s=s||!La(i);t++}return""!==r&&(e+=Sw(s,r)),e}const Dn={};function zt(n){Cw(Si(),jt(),to()+n,zh())}function Cw(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&Ep(e,s,t)}else{const s=n.preOrderHooks;null!==s&&xp(e,s,0,t)}_o(t)}function gl(n,e){return n<<17|e<<2}function On(n){return n>>17&32767}function Cr(n){return 2|n}function Yl(n){return(131068&n)>>2}function ml(n,e){return-131069&n|e<<2}function hy(n){return 1|n}function Pw(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i20&&Cw(n,e,20,zh()),t(i,r)}finally{_o(s)}}function pf(n,e,t){!fv()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||Hs(t,e),Ds(i,e);const o=t.initialInputs;for(let a=r;a0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function $w(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function Ww(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function PA(n,e,t){if(t){if(e.exportAs)for(let i=0;i0&&Sy(t)}}function Sy(n){for(let i=Xd(n);null!==i;i=ny(i))for(let r=10;r0&&Sy(s)}const t=n[1].components;if(null!==t)for(let i=0;i0&&Sy(r)}}function UA(n,e){const t=zs(e,n),i=t[1];(function(n,e){for(let t=e.length;tPromise.resolve(null))();function Xw(n){return n[7]||(n[7]=[])}function ig(n){return n.cleanup||(n.cleanup=[])}function Dy(n,e,t){return(null===n||Da(n))&&(t=function(n){for(;Array.isArray(n);){if("object"==typeof n[1])return n;n=n[0]}return null}(t[e.index])),t[11]}function Iy(n,e){const t=n[9],i=t?t.get(la,null):null;i&&i.handleError(e)}function Kw(n,e,t,i,r){for(let s=0;sthis.processProvider(a,e,t)),ra([e],a=>this.processInjectorType(a,[],s)),this.records.set(Vu,Uu(void 0,this));const o=this.records.get(ju);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:ot(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Ru,i=xn.Default){this.assertNotDestroyed();const r=Ud(this),s=Ta(void 0);try{if(!(i&xn.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function(n){return"function"==typeof n||"object"==typeof n&&n instanceof Ht}(e)&&vn(e);a=l&&this.injectableDefInScope(l)?Uu(ky(e),gf):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&xn.Self?Qw():this.parent).get(e,t=i&xn.Optional&&t===Ru?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Fc]=o[Fc]||[]).unshift(ot(e)),r)throw o;return no(o,e,"R3InjectorError",this.source)}throw o}finally{Ta(s),Ud(r)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(ot(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=Te(e)))return!1;let r=Fl(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Fl(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{ra(r.imports,h=>{this.processInjectorType(h,t,i)&&(void 0===u&&(u=[]),u.push(h))})}finally{}if(void 0!==u)for(let h=0;hthis.processProvider(m,f,g||er))}}this.injectorDefTypes.add(o);const l=Ic(o)||(()=>new o);this.records.set(o,Uu(l,gf));const c=r.providers;if(null!=c&&!a){const u=e;ra(c,h=>this.processProvider(h,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Hc(e=Te(e))?e:Te(e&&e.provide);const s=function(n,e,t){return eE(n)?Uu(void 0,n.useValue):Uu(Jw(n),gf)}(e);if(Hc(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=Uu(void 0,gf,!0),o.factory=()=>Pu(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===gf&&(t.value=YA,t.value=t.factory()),"object"==typeof t.value&&t.value&&function(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this.onDestroy.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=Te(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function ky(n){const e=vn(n),t=null!==e?e.factory:Ic(n);if(null!==t)return t;if(n instanceof Ht)throw new Error(`Token ${ot(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=Pc(e,"?");throw new Error(`Can't resolve all parameters for ${ot(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[fo]||n[Vs]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function Jw(n,e,t){let i;if(Hc(n)){const r=Te(n);return Ic(r)||ky(r)}if(eE(n))i=()=>Te(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Pu(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>ke(Te(n.useExisting));else{const r=Te(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Ic(r)||ky(r);i=()=>new r(...Pu(n.deps))}return i}function Uu(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function eE(n){return null!==n&&"object"==typeof n&&Np in n}function Hc(n){return"function"==typeof n}const tE=function(n,e,t){return function(n,e=null,t=null,i){const r=Zw(n,e,t,i);return r._resolveInjectorDefTypes(),r}({name:t},e,n,t)};class Hn{static create(e,t){return Array.isArray(e)?tE(e,t,""):tE(e.providers,e.parent,e.name||"")}}function Fq(n,e){wp(X_(n)[1],as())}function En(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(Da(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=lM(n.inputs),o.declaredInputs=lM(n.declaredInputs),o.outputs=lM(n.outputs);const a=r.hostBindings;a&&jq(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&Bq(n,l),c&&Vq(n,c),nl(n.inputs,r.inputs),nl(n.declaredInputs,r.declaredInputs),nl(n.outputs,r.outputs),Da(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=Yh(r.hostAttrs,t=Yh(t,r.hostAttrs))}}(i)}function lM(n){return n===xd?{}:n===er?[]:n}function Bq(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function Vq(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function jq(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}Hn.THROW_IF_NOT_FOUND=Ru,Hn.NULL=new so,Hn.\u0275prov=tt({token:Hn,providedIn:"any",factory:()=>ke(Vu)}),Hn.__NG_ELEMENT_ID__=-1;let oE=null;function sg(){if(!oE){const n=Zn.Symbol;if(n&&n.iterator)oE=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;ta(Sr(we[i.index])):i.index;if(dr(t)){let we=null;if(!a&&l&&(we=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==we)(we.__ngLastListenerFn__||we).__ngNextListenerFn__=s,we.__ngLastListenerFn__=s,g=!1;else{s=gM(i,e,h,s,!1);const Be=t.listen(G,r,s);f.push(s,Be),u&&u.push(r,oe,k,k+1)}}else s=gM(i,e,h,s,!0),G.addEventListener(r,s,o),f.push(s),u&&u.push(r,oe,k,o)}else s=gM(i,e,h,s,!1);const m=i.outputs;let A;if(g&&null!==m&&(A=m[r])){const I=A.length;if(I)for(let G=0;G0;)e=e[15],n--;return e}(n,Ln.lFrame.contextLView))[8]}(n)}function vY(n,e){let t=null;const i=function(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let r=0;r=0}const Os={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function kF(n){return n.substring(Os.key,Os.keyEnd)}function FF(n,e){const t=Os.textEnd;return t===e?-1:(e=Os.keyEnd=function(n,e,t){for(;e32;)e++;return e}(n,Os.key=e,t),bg(n,e,t))}function bg(n,e,t){for(;e=0;t=FF(e,t))Bo(n,kF(e),!0)}function Jl(n,e,t,i){const r=jt(),s=Si(),o=Fo(2);s.firstUpdatePass&&zF(s,n,o,i),e!==Dn&&Eo(r,o,e)&&GF(s,s.data[to()],r,r[11],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=ot(Gs(n)))),n}(e,t),i,o)}function UF(n,e){return e>=n.expandoStartIndex}function zF(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[to()],o=UF(n,t);WF(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=m_(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=Hy(t=_M(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=_M(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==Yl(i))return n[On(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=_M(null,n,e,l[1],i),l=Hy(l,e.attrs,i),function(n,e,t,i){n[On(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(c=!0)}else u=t;if(r)if(0!==l){const f=On(n[a+1]);n[i+1]=gl(f,a),0!==f&&(n[f+1]=ml(n[f+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=gl(a,0),0!==a&&(n[a+1]=ml(n[a+1],i)),a=i;else n[i+1]=gl(l,0),0===a?a=i:n[l+1]=ml(n[l+1],i),l=i;c&&(n[i+1]=Cr(n[i+1])),PF(n,u,i,!0),PF(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Ms(s,e)>=0&&(t[i+1]=hy(t[i+1]))}(e,u,n,i,s),o=gl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}function _M(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let f=t[r+1];f===Dn&&(f=h?er:void 0);let g=h?O_(f,i):u===i?f:void 0;if(c&&!hE(g)&&(g=O_(l,i)),hE(g)&&(a=g,o))return a;const m=n[r+1];r=o?On(m):Yl(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=O_(l,i))}return a}function hE(n){return void 0!==n}function WF(n,e){return 0!=(n.flags&(e?16:32))}function Jn(n,e=""){const t=jt(),i=Si(),r=n+20,s=i.firstCreatePass?Jd(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return dr(n)?n.createText(e):n.createTextNode(e)}(t[11],e);Yp(i,t,o,s),sl(s,!1)}function gs(n){return xo("",n,""),gs}function xo(n,e,t){const i=jt(),r=ag(i,n,e,t);return r!==Dn&&Xl(i,to(),r),xo}function qc(n,e,t){const i=jt();return Eo(i,Ra(),e)&&zo(Si(),Pr(),i,n,e,i[11],t,!0),qc}function fE(n,e,t){const i=jt();if(Eo(i,Ra(),e)){const s=Si(),o=Pr();zo(s,o,i,n,e,Dy(m_(s.data),o,i),t,!0)}return fE}const _f=void 0;var iX=["en",[["a","p"],["AM","PM"],_f],[["AM","PM"],_f,_f],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],_f,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],_f,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",_f,"{1} 'at' {0}",_f],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const e=Math.floor(Math.abs(n)),t=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===t?1:5}];let vg={};function uL(n){return n in vg||(vg[n]=Zn.ng&&Zn.ng.common&&Zn.ng.common.locales&&Zn.ng.common.locales[n]),vg[n]}var un=(()=>((un=un||{})[un.LocaleId=0]="LocaleId",un[un.DayPeriodsFormat=1]="DayPeriodsFormat",un[un.DayPeriodsStandalone=2]="DayPeriodsStandalone",un[un.DaysFormat=3]="DaysFormat",un[un.DaysStandalone=4]="DaysStandalone",un[un.MonthsFormat=5]="MonthsFormat",un[un.MonthsStandalone=6]="MonthsStandalone",un[un.Eras=7]="Eras",un[un.FirstDayOfWeek=8]="FirstDayOfWeek",un[un.WeekendRange=9]="WeekendRange",un[un.DateFormat=10]="DateFormat",un[un.TimeFormat=11]="TimeFormat",un[un.DateTimeFormat=12]="DateTimeFormat",un[un.NumberSymbols=13]="NumberSymbols",un[un.NumberFormats=14]="NumberFormats",un[un.CurrencyCode=15]="CurrencyCode",un[un.CurrencySymbol=16]="CurrencySymbol",un[un.CurrencyName=17]="CurrencyName",un[un.Currencies=18]="Currencies",un[un.Directionality=19]="Directionality",un[un.PluralCase=20]="PluralCase",un[un.ExtraData=21]="ExtraData",un))();const pE="en-US";let dL=pE;function bM(n){ie(n,"Expected localeId to be defined"),"string"==typeof n&&(dL=n.toLowerCase().replace(/_/g,"-"))}function EM(n,e,t,i,r){if(n=Te(n),Array.isArray(n))for(let s=0;s>20;if(Hc(n)||!n.multi){const g=new qh(l,r,Oe),m=SM(a,e,r?u:u+f,h);-1===m?(Rc(Hs(c,o),s,a),xM(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(g),o.push(g)):(t[m]=g,o[m]=g)}else{const g=SM(a,e,u+f,h),m=SM(a,e,u,u+f),A=g>=0&&t[g],I=m>=0&&t[m];if(r&&!I||!r&&!A){Rc(Hs(c,o),s,a);const G=function(n,e,t,i,r){const s=new qh(n,t,Oe);return s.multi=[],s.index=e,s.componentProviders=0,kL(s,r,i&&!t),s}(r?eK:JX,t.length,r,i,l);!r&&I&&(t[m].providerFactory=G),xM(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(G),o.push(G)}else xM(s,n,g>-1?g:m,kL(t[r?m:g],l,!r&&i));!r&&i&&I&&t[m].componentProviders++}}}function xM(n,e,t,i){const r=Hc(e);if(r||function(n){return!!n.useClass}(e)){const o=(e.useClass||e).prototype.ngOnDestroy;if(o){const a=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const l=a.indexOf(t);-1===l?a.push(t,[i,o]):a[l+1].push(i,o)}else a.push(t,o)}}}function kL(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function SM(n,e,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function(n,e,t){const i=Si();if(i.firstCreatePass){const r=Da(n);EM(t,i.data,i.blueprint,r,!0),EM(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class FL{}const BL="ngComponent";class iK{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${ot(n)}. Did you add it to @NgModule.entryComponents?`);return e[BL]=n,e}(e)}}class El{}function bE(...n){}function Eg(n,e){return new gn(eo(n,e))}El.NULL=new iK;const oK=function(){return Eg(as(),jt())};let gn=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=oK,n})();function VL(n){return n instanceof gn?n.nativeElement:n}class yf{}let AM=(()=>{class n{}return n.\u0275prov=tt({token:n,providedIn:"root",factory:()=>null}),n})();class Hu{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const jL=new Hu("12.2.5");class UL{constructor(){}supports(e){return jy(e)}create(e){return new hK(e)}}const dK=(n,e)=>e;class hK{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||dK}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;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,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new fK(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new zL),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new zL),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(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._nextIdentityChange=e,e}}class fK{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}}class pK{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(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 i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class zL{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new pK,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function HL(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new mK(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class mK{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function $L(){return new xg([new UL])}let xg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||$L()),deps:[[n,new dl,new ts]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=tt({token:n,providedIn:"root",factory:$L}),n})();function WL(){return new Sg([new GL])}let Sg=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||WL()),deps:[[n,new dl,new ts]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=tt({token:n,providedIn:"root",factory:WL}),n})();function vE(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(Sr(s)),ea(s))for(let a=10;a-1&&(sy(e,i),Hl(t,i))}this._attachedToViewContainer=!1}oy(this._lView[1],this._lView)}onDestroy(e){Bw(this._lView[1],this._lView,null,e)}markForCheck(){Cy(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Ay(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){yp(!0);try{Ay(n,e,t)}finally{yp(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(n,e){Qd(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class yK extends Yy{constructor(e){super(e),this._view=e}detectChanges(){Yw(this._view)}checkNoChanges(){!function(n){yp(!0);try{Yw(n)}finally{yp(!1)}}(this._view)}get context(){return null}}const vK=function(n){return function(n,e,t){if(Ad(n)&&!t){const i=zs(n.index,e);return new Yy(i,i)}return 47&n.type?new Yy(e[16],e):null}(as(),jt(),16==(16&n))};let Mr=(()=>{class n{}return n.__NG_ELEMENT_ID__=vK,n})();const xK=[new GL],CK=new xg([new UL]),TK=new Sg(xK),MK=function(){return wE(as(),jt())};let Go=(()=>{class n{}return n.__NG_ELEMENT_ID__=MK,n})();const DK=Go,IK=class extends DK{constructor(e,t,i){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(e){const t=this._declarationTContainer.tViews,i=hf(this._declarationLView,t,e,16,null,t.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(i[19]=s.createEmbeddedView(t)),ff(t,i,e),new Yy(i)}};function wE(n,e){return 4&n.type?new IK(e,n,Eg(n,e)):null}class Yc{}const NK=function(){return KL(as(),jt())};let Rs=(()=>{class n{}return n.__NG_ELEMENT_ID__=NK,n})();const kK=Rs,YL=class extends kK{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return Eg(this._hostTNode,this._hostLView)}get injector(){return new na(this._hostTNode,this._hostLView)}get parentInjector(){const e=Xh(this._hostTNode,this._hostLView);if(yv(e)){const t=al(e,this._hostLView),i=Nd(e);return new na(t[1].data[i+8],t)}return new na(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=XL(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=i||this.parentInjector;if(!s&&null==e.ngModule&&o){const l=o.get(Yc,null);l&&(s=l)}const a=e.create(o,r,void 0,s);return this.insert(a.hostView,t),a}insert(e,t){const i=e._lView,r=i[1];if(function(n){return ea(n[3])}(i)){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const h=i[3],f=new YL(h,h[6],h[3]);f.detach(f.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),itw});class b3 extends FL{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function(n){return n.map(dA).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return y3(this.componentDef.inputs)}get outputs(){return y3(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,Mg,r);return s!==Mg||i===Mg?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(yf,Su),a=s.get(AM,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(dr(n))return n.selectRootElement(e,t===Xt.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):ry(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),h=this.componentDef.onPush?576:528,f=function(n,e){return{components:[],scheduler:n||tw,clean:WA,playerHandler:e||null,flags:0}}(),g=tg(0,null,null,1,0,null,null,null,null,null),m=hf(null,g,f,h,null,null,o,l,a,s);let A,I;$h(m);try{const G=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Jd(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(rg(l,c,!0),null!==n&&(Sp(r,n,c),null!==l.classes&&uy(r,n,l.classes),null!==l.styles&&vw(r,n,l.styles)));const u=i.createRenderer(n,e),h=hf(t,eg(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Rc(Hs(l,t),o,e.type),Ww(o,l),wy(l,t.length,1)),ng(t,h),t[20]=h}(u,this.componentDef,m,o,l);if(u)if(i)Sp(l,u,["ng-version",jL.full]);else{const{attrs:k,classes:oe}=function(n){const e=[],t=[];let i=1,r=2;for(;i0&&uy(l,u,oe.join(" "))}if(I=h_(g,20),void 0!==t){const k=I.projection=[];for(let oe=0;oel(o,e)),e.contentQueries){const l=as();e.contentQueries(1,o,l.directiveStart)}const a=as();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(_o(a.index),Gw(t[1],a,0,a.directiveStart,a.directiveEnd,e),$w(e,o)),o}(G,this.componentDef,m,f,[Fq]),ff(g,m,null)}finally{fi()}return new PQ(this.componentType,A,Eg(I,m),m,I)}}class PQ extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new yK(r),this.componentType=e}get injector(){return new na(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}const Dg=new Map;class LQ extends Yc{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _3(this);const i=Po(e),r=function(n){return n[TC]||null}(e);r&&bM(r),this._bootstrapComponents=fl(i.bootstrap),this._r3Injector=Zw(e,t,[{provide:Yc,useValue:this},{provide:El,useValue:this.componentFactoryResolver}],ot(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=Hn.THROW_IF_NOT_FOUND,i=xn.Default){return e===Hn||e===Yc||e===Vu?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class UM extends class{}{constructor(e){super(),this.moduleType=e,null!==Po(e)&&function(n){const e=new Set;!function t(i){const r=Po(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${ot(e)} vs ${ot(e.name)}`)}(s,Dg.get(s),i),Dg.set(s,i));const o=fl(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new LQ(this.moduleType,e)}}function TE(n,e,t){const i=Cs()+n,r=jt();return r[i]===Dn?$c(r,i,t?e.call(t):e()):function(n,e){return n[e]}(r,i)}function E3(n,e,t,i,r,s){const o=e+t;return Eo(n,o,r)?$c(n,o+1,s?i.call(s,r):i(r)):function(n,e){const t=n[e];return t===Dn?void 0:t}(n,o+1)}function Ns(n,e){const t=Si();let i;const r=n+20;t.firstCreatePass?(i=function(n,e){if(e)for(let t=e.length-1;t>=0;t--){const i=e[t];if(n===i.name)return i}throw new rt("302",`The pipe '${n}' could not be found!`)}(e,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(r,i.onDestroy)):i=t.data[r];const s=i.factory||(i.factory=Ic(i.type)),o=Ta(Oe);try{const a=Cp(!1),l=s();return Cp(a),function(n,e,t,i){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=i}(t,jt(),r,l),l}finally{Ta(o)}}function To(n,e,t){const i=n+20,r=jt(),s=Dd(r,i);return function(n,e){Ql.isWrapped(e)&&(e=Ql.unwrap(e),n[Ln.lFrame.bindingIndex]=Dn);return e}(r,function(n,e){return n[1].data[e].pure}(r,i)?E3(r,Cs(),e,s.transform,t,s):s.transform(t))}function HM(n){return e=>{setTimeout(n,void 0,e)}}const ln=class extends se{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const h=e;a=null===(r=h.next)||void 0===r?void 0:r.bind(h),l=null===(s=h.error)||void 0===s?void 0:s.bind(h),c=null===(o=h.complete)||void 0===o?void 0:o.bind(h)}this.__isAsync&&(l=HM(l),a&&(a=HM(a)),c&&(c=HM(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof C&&e.add(u),u}};function QQ(){return this._results[sg()]()}class wf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=sg(),i=wf.prototype;i[t]||(i[t]=QQ)}get changes(){return this._changes||(this._changes=new ln)}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){const i=this;i.dirty=!1;const r=ia(e);(this._changesDetected=!function(n,e,t){if(n.length!==e.length)return!1;for(let i=0;i0)i.push(o[a/2]);else{const c=s[a+1],u=e[-l];for(let h=10;h{class n{constructor(t){this.appInits=t,this.resolve=bE,this.reject=bE,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(ke(Ef,8))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const a0=new Ht("AppId"),NZ={provide:a0,useFactory:function(){return`${eD()}${eD()}${eD()}`},deps:[]};function eD(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const X3=new Ht("Platform Initializer"),Xc=new Ht("Platform ID"),IE=new Ht("appBootstrapListener");let OE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const Gu=new Ht("LocaleId"),K3=new Ht("DefaultCurrencyCode");class kZ{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}const tD=function(n){return new UM(n)},FZ=tD,LZ=function(n){return Promise.resolve(tD(n))},Q3=function(n){const e=tD(n),i=fl(Po(n).declarations).reduce((r,s)=>{const o=Ui(s);return o&&r.push(new b3(o)),r},[]);return new kZ(e,i)},BZ=Q3,VZ=function(n){return Promise.resolve(Q3(n))};let xf=(()=>{class n{constructor(){this.compileModuleSync=FZ,this.compileModuleAsync=LZ,this.compileModuleAndAllComponentsSync=BZ,this.compileModuleAndAllComponentsAsync=VZ}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const Z3=new Ht("compilerOptions"),UZ=(()=>Promise.resolve(0))();function nD(n){"undefined"==typeof Zone?UZ.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class pn{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new ln(!1),this.onMicrotaskEmpty=new ln(!1),this.onStable=new ln(!1),this.onError=new ln(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const 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=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=Zn.requestAnimationFrame,e=Zn.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(Zn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,rD(n),n.isCheckStableRunning=!0,iD(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),rD(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return J3(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),eB(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return J3(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),eB(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,rD(n),iD(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!pn.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(pn.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,HZ,bE,bE);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const HZ={};function iD(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function rD(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function J3(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function eB(n){n._nesting--,iD(n)}class WZ{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new ln,this.onMicrotaskEmpty=new ln,this.onStable=new ln,this.onError=new ln}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let sD=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{pn.assertNotInAngularZone(),nD(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())nD(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(ke(pn))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),tB=(()=>{class n{constructor(){this._applications=new Map,oD.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return oD.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class qZ{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let oD=new qZ,nB=!0,iB=!1;function fa(){return iB=!0,nB}let ic;const rB=new Ht("AllowMultipleToken");function sB(n,e,t=[]){const i=`Platform: ${e}`,r=new Ht(i);return(s=[])=>{let o=lD();if(!o||o.injector.get(rB,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:ju,useValue:"platform"});!function(n){if(ic&&!ic.destroyed&&!ic.injector.get(rB,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");ic=n.get(oB);const e=n.get(X3,null);e&&e.forEach(t=>t())}(Hn.create({providers:a,name:i}))}return function(n){const e=lD();if(!e)throw new Error("No platform exists!");if(!e.injector.get(n,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function lD(){return ic&&!ic.destroyed?ic:null}let oB=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new WZ:("zone.js"===n?void 0:n)||new pn({enableLongStackTrace:fa(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:pn,useValue:a}];return a.run(()=>{const c=Hn.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),h=u.injector.get(la,null);if(!h)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.runOutsideAngular(()=>{const f=a.onError.subscribe({next:g=>{h.handleError(g)}});u.onDestroy(()=>{cD(this._modules,u),f.unsubscribe()})}),function(n,e,t){try{const i=t();return yg(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(h,a,()=>{const f=u.injector.get(Og);return f.runInitializers(),f.donePromise.then(()=>(bM(u.injector.get(Gu,pE)||pE),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=aB({},i);return function(n,e,t){const i=new UM(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(sh);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${ot(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(ke(Hn))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();function aB(n,e){return Array.isArray(e)?e.reduce(aB,n):Object.assign(Object.assign({},n),e)}let sh=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new P(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new P(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{pn.assertNotInAngularZone(),nD(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const h=this._zone.onUnstable.subscribe(()=>{pn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),h.unsubscribe()}});this.isStable=Pn(a,l.pipe(ws()))}bootstrap(t,i){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let r;r=t instanceof FL?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get(Yc),a=r.create(Hn.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(sD,null),u=c&&a.injector.get(tB);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),cD(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;cD(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(IE,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(ke(pn),ke(Hn),ke(la),ke(El),ke(Og))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();function cD(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const vJ=sB(null,"core",[{provide:Xc,useValue:"unknown"},{provide:oB,deps:[Hn]},{provide:tB,deps:[]},{provide:OE,deps:[]}]),CJ=[{provide:sh,useClass:sh,deps:[pn,Hn,la,El,Og]},{provide:OQ,deps:[pn],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:Og,useClass:Og,deps:[[new ts,Ef]]},{provide:xf,useClass:xf,deps:[]},NZ,{provide:xg,useFactory:function(){return CK},deps:[]},{provide:Sg,useFactory:function(){return TK},deps:[]},{provide:Gu,useFactory:function(n){return bM(n=n||"undefined"!=typeof $localize&&$localize.locale||pE),n},deps:[[new Hd(Gu),new ts,new dl]]},{provide:K3,useValue:"USD"}];let AJ=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(ke(sh))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:CJ}),n})(),zE=null;function Kc(){return zE}const fn=new Ht("DocumentToken");let Tf=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({factory:Tee,token:n,providedIn:"platform"}),n})();function Tee(){return ke(kB)}let kB=(()=>{class n extends Tf{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Kc().getBaseHref(this._doc)}onPopState(t){const i=Kc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=Kc().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}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(t){this.location.pathname=t}pushState(t,i,r){FB()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){FB()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(ke(fn))},n.\u0275prov=tt({factory:Mee,token:n,providedIn:"platform"}),n})();function FB(){return!!window.history.pushState}function Mee(){return new kB(ke(fn))}function SD(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function LB(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function Wu(n){return n&&"?"!==n[0]?"?"+n:n}let Pg=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({factory:Dee,token:n,providedIn:"root"}),n})();function Dee(n){const e=ke(fn).location;return new BB(ke(Tf),e&&e.origin||"")}const CD=new Ht("appBaseHref");let BB=(()=>{class n extends Pg{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return SD(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Wu(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+Wu(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+Wu(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(ke(Tf),ke(CD,8))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),kg=(()=>{class n{constructor(t,i){this._subject=new ln,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=LB(VB(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Wu(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,VB(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Wu(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Wu(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.\u0275fac=function(t){return new(t||n)(ke(Pg),ke(Tf))},n.normalizeQueryParams=Wu,n.joinWithSlash=SD,n.stripTrailingSlash=LB,n.\u0275prov=tt({factory:Oee,token:n,providedIn:"root"}),n})();function Oee(){return new kg(ke(Pg),ke(Tf))}function VB(n){return n.replace(/\/index.html$/,"")}var ms=(()=>((ms=ms||{})[ms.Zero=0]="Zero",ms[ms.One=1]="One",ms[ms.Two=2]="Two",ms[ms.Few=3]="Few",ms[ms.Many=4]="Many",ms[ms.Other=5]="Other",ms))();const Vee=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=uL(e);if(t)return t;const i=e.split("-")[0];if(t=uL(i),t)return t;if("en"===i)return iX;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[un.PluralCase]};class ZE{}let pte=(()=>{class n extends ZE{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(Vee(i||this.locale)(t)){case ms.Zero:return"zero";case ms.One:return"one";case ms.Two:return"two";case ms.Few:return"few";case ms.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(ke(Gu))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();function YB(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}class mte{constructor(e,t,i,r){this.$implicit=e,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Yu=(()=>{class n{constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(i){throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=[];t.forEachOperation((r,s,o)=>{if(null==r.previousIndex){const a=this._viewContainer.createEmbeddedView(this._template,new mte(null,this._ngForOf,-1,-1),null===o?void 0:o),l=new XB(r,a);i.push(l)}else if(null==o)this._viewContainer.remove(null===s?void 0:s);else if(null!==s){const a=this._viewContainer.get(s);this._viewContainer.move(a,o);const l=new XB(r,a);i.push(l)}});for(let r=0;r{this._viewContainer.get(r.currentIndex).context.$implicit=r.item})}_perViewChange(t,i){t.context.$implicit=i.item}static ngTemplateContextGuard(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Oe(Rs),Oe(Go),Oe(xg))},n.\u0275dir=Pt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();class XB{constructor(e,t){this.record=e,this.view=t}}let ac=(()=>{class n{constructor(t,i){this._viewContainer=t,this._context=new yte,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){KB("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){KB("ngIfElse",t),this._elseTemplateRef=t,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(t,i){return!0}}return n.\u0275fac=function(t){return new(t||n)(Oe(Rs),Oe(Go))},n.\u0275dir=Pt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class yte{constructor(){this.$implicit=null,this.ngIf=null}}function KB(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${ot(e)}'.`)}class Ete{createSubscription(e,t){return e.subscribe({next:t,error:i=>{throw i}})}dispose(e){e.unsubscribe()}onDestroy(e){e.unsubscribe()}}class xte{createSubscription(e,t){return e.then(t,i=>{throw i})}dispose(e){}onDestroy(e){}}const Ste=new xte,Cte=new Ete;let g0=(()=>{class n{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,i=>this._updateLatestValue(t,i))}_selectStrategy(t){if(yg(t))return Ste;if(xF(t))return Cte;throw function(n,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${ot(n)}'`)}(n,t)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,i){t===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(t){return new(t||n)(Oe(Mr,16))},n.\u0275pipe=js({name:"async",type:n,pure:!1}),n})(),fr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[{provide:ZE,useClass:pte}]}),n})();const iV="browser";function Af(n){return n===iV}class oV{}class BD extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(n){zE||(zE=n)}(new BD)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).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"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(m0=m0||document.querySelector("base"),m0?m0.getAttribute("href"):null);return null==t?null:function(n){ex=ex||document.createElement("a"),ex.setAttribute("href",n);const e=ex.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){m0=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return YB(document.cookie,e)}}let ex,m0=null;const aV=new Ht("TRANSITION_ID"),Xte=[{provide:Ef,useFactory:function(n,e,t){return()=>{t.get(Og).donePromise.then(()=>{const i=Kc(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},Zn.getAllAngularTestabilities=()=>e.getAllTestabilities(),Zn.getAllAngularRootElements=()=>e.getAllRootElements(),Zn.frameworkStabilizers||(Zn.frameworkStabilizers=[]),Zn.frameworkStabilizers.push(i=>{const r=Zn.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?Kc().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let Kte=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const _0=new Ht("EventManagerPlugins");let nx=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),y0=(()=>{class n extends cV{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(uV),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(uV))}}return n.\u0275fac=function(t){return new(t||n)(ke(fn))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();function uV(n){Kc().remove(n)}const UD={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/"},zD=/%COMP%/g;function ix(n,e,t){for(let i=0;i{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let rx=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new HD(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Xt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new dne(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Xt.ShadowDom:return new hne(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=ix(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(ke(nx),ke(y0),ke(a0))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class HD{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(UD[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=UD[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=UD[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&(Uo.DashCase|Uo.Important)?e.style.setProperty(t,i,r&Uo.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&Uo.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,fV(i)):this.eventManager.addEventListener(e,t,fV(i))}}class dne extends HD{constructor(e,t,i,r){super(e),this.component=i;const s=ix(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr=function(n){return"_ngcontent-%COMP%".replace(zD,n)}(r+"-"+i.id),this.hostAttr=function(n){return"_nghost-%COMP%".replace(zD,n)}(r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class hne extends HD{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=ix(r.id,r.styles,[]);for(let o=0;o{class n extends jD{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(ke(fn))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const mV=["alt","control","meta","shift"],vne={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_V={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},wne={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let Ene=(()=>{class n extends jD{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Kc().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(mV.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&_V.hasOwnProperty(e)&&(e=_V[e]))}return vne[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),mV.forEach(s=>{s!=r&&wne[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return n.\u0275fac=function(t){return new(t||n)(ke(fn))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),Mf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({factory:function(){return ke($D)},token:n,providedIn:"root"}),n})(),$D=(()=>{class n extends Mf{constructor(t){super(),this._doc=t}sanitize(t,i){if(null==i)return null;switch(t){case si.NONE:return i;case si.HTML:return sa(i,"HTML")?Gs(i):$_(this._doc,String(i)).toString();case si.STYLE:return sa(i,"Style")?Gs(i):i;case si.SCRIPT:if(sa(i,"Script"))return Gs(i);throw new Error("unsafe value used in a script context");case si.URL:return jc(i),sa(i,"URL")?Gs(i):jo(String(i));case si.RESOURCE_URL:if(sa(i,"ResourceURL"))return Gs(i);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(n){return new L_(n)}(t)}bypassSecurityTrustStyle(t){return function(n){return new B_(n)}(t)}bypassSecurityTrustScript(t){return function(n){return new jp(n)}(t)}bypassSecurityTrustUrl(t){return function(n){return new Wd(n)}(t)}bypassSecurityTrustResourceUrl(t){return function(n){return new kn(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(ke(fn))},n.\u0275prov=tt({factory:function(){return function(n){return new $D(n.get(fn))}(ke(Vu))},token:n,providedIn:"root"}),n})();const Ine=sB(vJ,"browser",[{provide:Xc,useValue:iV},{provide:X3,useValue:function(){BD.makeCurrent(),VD.init()},multi:!0},{provide:fn,useFactory:function(){return function(n){Yi=n}(document),document},deps:[]}]),One=[[],{provide:ju,useValue:"root"},{provide:la,useFactory:function(){return new la},deps:[]},{provide:_0,useClass:fne,multi:!0,deps:[fn,pn,Xc]},{provide:_0,useClass:Ene,multi:!0,deps:[fn]},[],{provide:rx,useClass:rx,deps:[nx,y0,a0]},{provide:yf,useExisting:rx},{provide:cV,useExisting:y0},{provide:y0,useClass:y0,deps:[fn]},{provide:sD,useClass:sD,deps:[pn]},{provide:nx,useClass:nx,deps:[_0,pn]},{provide:oV,useClass:Kte,deps:[]},[]];let WD=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:a0,useValue:t.appId},{provide:aV,useExisting:a0},Xte]}}}return n.\u0275fac=function(t){return new(t||n)(ke(n,12))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:One,imports:[fr,AJ]}),n})();"undefined"!=typeof window&&window;class Vne extends C{constructor(e,t){super()}schedule(e,t=0){return this}}class sx extends Vne{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,i=t.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let bV=(()=>{class n{constructor(t,i=n.now){this.SchedulerAction=t,this.now=i}schedule(t,i=0,r){return new this.SchedulerAction(this,t).schedule(r,i)}}return n.now=()=>Date.now(),n})();class cc extends bV{constructor(e,t=bV.now){super(e,()=>cc.delegate&&cc.delegate!==this?cc.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,i){return cc.delegate&&cc.delegate!==this?cc.delegate.schedule(e,t,i):super.schedule(e,t,i)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let i;this.active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}const zne=new class extends cc{}(class extends sx{constructor(e,t){super(e,t),this.scheduler=e,this.work=t}schedule(e,t=0){return t>0?super.schedule(e,t):(this.delay=t,this.state=e,this.scheduler.flush(this),this)}execute(e,t){return t>0||this.closed?super.execute(e,t):this._execute(e,t)}requestAsyncId(e,t,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(e,t,i):e.flush(this)}}),Qc=new P(n=>n.complete());function b0(n){return n?function(n){return new P(e=>n.schedule(()=>e.complete()))}(n):Qc}function sn(...n){let e=n[n.length-1];return Re(e)?(n.pop(),Ve(n,e)):In(n)}function Fg(n,e){return new P(e?t=>e.schedule(Gne,0,{error:n,subscriber:t}):t=>t.error(n))}function Gne({error:n,subscriber:e}){e.error(n)}class ga{constructor(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue="N"===e}observe(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}do(e,t,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return i&&i()}}accept(e,t,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,i)}toObservable(){switch(this.kind){case"N":return sn(this.value);case"E":return Fg(this.error);case"C":return b0()}throw new Error("unexpected notification kind value")}static createNext(e){return void 0!==e?new ga("N",e):ga.undefinedValueNotification}static createError(e){return new ga("E",void 0,e)}static createComplete(){return ga.completeNotification}}ga.completeNotification=new ga("C"),ga.undefinedValueNotification=new ga("N",void 0);class ox extends v{constructor(e,t,i=0){super(e),this.scheduler=t,this.delay=i}static dispatch(e){const{notification:t,destination:i}=e;t.observe(i),this.unsubscribe()}scheduleMessage(e){this.destination.add(this.scheduler.schedule(ox.dispatch,this.delay,new Wne(e,this.destination)))}_next(e){this.scheduleMessage(ga.createNext(e))}_error(e){this.scheduleMessage(ga.createError(e)),this.unsubscribe()}_complete(){this.scheduleMessage(ga.createComplete()),this.unsubscribe()}}class Wne{constructor(e,t){this.notification=e,this.destination=t}}class Df extends se{constructor(e=Number.POSITIVE_INFINITY,t=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=e<1?1:e,this._windowTime=t<1?1:t,t===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(e){if(!this.isStopped){const t=this._events;t.push(e),t.length>this._bufferSize&&t.shift()}super.next(e)}nextTimeWindow(e){this.isStopped||(this._events.push(new qne(this._getNow(),e)),this._trimBufferThenGetEvents()),super.next(e)}_subscribe(e){const t=this._infiniteTimeWindow,i=t?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,s=i.length;let o;if(this.closed)throw new W;if(this.isStopped||this.hasError?o=C.EMPTY:(this.observers.push(e),o=new ne(this,e)),r&&e.add(e=new ox(e,r)),t)for(let a=0;at&&(o=Math.max(o,s-t)),o>0&&r.splice(0,o),r}}class qne{constructor(e,t){this.time=e,this.value=t}}function is(n,e){return"function"==typeof e?t=>t.pipe(is((i,r)=>Ye(n(i,r)).pipe(be((s,o)=>e(i,s,r,o))))):t=>t.lift(new Yne(n))}class Yne{constructor(e){this.project=e}call(e,t){return t.subscribe(new Xne(e,this.project))}}class Xne extends Ae{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this._innerSub(t)}_innerSub(e){const t=this.innerSubscription;t&&t.unsubscribe();const i=new _t(this),r=this.destination;r.add(i),this.innerSubscription=L(e,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:e}=this;(!e||e.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(e){this.destination.next(e)}}const ax={schedule(n,e){const t=setTimeout(n,e);return()=>clearTimeout(t)},scheduleBeforeRender(n){if("undefined"==typeof window)return ax.schedule(n,0);if(void 0===window.requestAnimationFrame)return ax.schedule(n,16);const e=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(e)}};let YD;function sie(n,e,t){let i=t;return function(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&e.some((r,s)=>!("*"===r||!function(n,e){if(!YD){const t=Element.prototype;YD=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&YD.call(n,e)}(n,r)||(i=s,0))),i}class aie{constructor(e,t){this.componentFactory=t.get(El).resolveComponentFactory(e)}create(e){return new lie(this.componentFactory,e)}}class lie{constructor(e,t){this.componentFactory=e,this.injector=t,this.eventEmitters=new Df(1),this.events=this.eventEmitters.pipe(is(i=>Pn(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(pn),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=ax.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(e){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){this.runInZone(()=>{null!==this.componentRef?function(n,e){return n===e||n!=n&&e!=e}(t,this.getInputValue(e))&&(void 0!==t||!this.unchangedInputs.has(e))||(this.recordInputChange(e,t),this.unchangedInputs.delete(e),this.hasInputChanges=!0,this.componentRef.instance[e]=t,this.scheduleDetectChanges()):this.initialInputValues.set(e,t)})}initializeComponent(e){const t=Hn.create({providers:[],parent:this.injector}),i=function(n,e){const t=n.childNodes,i=e.map(()=>[]);let r=-1;e.some((s,o)=>"*"===s&&(r=o,!0));for(let s=0,o=t.length;s{this.initialInputValues.has(e)&&this.setInputValue(e,this.initialInputValues.get(e))}),this.initialInputValues.clear()}initializeOutputs(e){const t=this.componentFactory.outputs.map(({propName:i,templateName:r})=>e.instance[i].pipe(be(o=>({name:r,value:o}))));this.eventEmitters.next(t)}callNgOnChanges(e){if(!this.implementsOnChanges||null===this.inputChanges)return;const t=this.inputChanges;this.inputChanges=null,e.instance.ngOnChanges(t)}markViewForCheck(e){this.hasInputChanges&&(this.hasInputChanges=!1,e.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=ax.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(e,t){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[e];if(i)return void(i.currentValue=t);const r=this.unchangedInputs.has(e),s=r?void 0:this.getInputValue(e);this.inputChanges[e]=new c_(s,t,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}}class cie extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}const die={initialConfig:{},parse:{},rename:{}};class hie{constructor(e,t){this.configState=e,this.storedChanges={},this.options=Object.assign(Object.assign({},die),t)}addChanges(e){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),e)}applyChanges(e,t={}){void 0===e&&(e=this.storedChanges,this.storedChanges={});const{configState:i,options:{initialConfig:r}}=this,s=i.snapshot,o=Object.assign(Object.assign(Object.assign({},r),s),t);for(const[a,l]of Object.entries(e))this.processChange(a,l,o);i.setConfig(o)}processChange(e,t,i){var r,s;const{options:{parse:o,rename:a}}=this,l=null!==(r=a[e])&&void 0!==r?r:e,c=t.currentValue,u=null!==(s=o[e])&&void 0!==s?s:o[l];if(null==c)delete i[l];else if(u)try{i[l]=u(c)}catch(h){console.warn(`Failed to parse ${e} = ${c}`,h.message)}else i[l]=c}}let fie=(()=>{class n{constructor(t,i,r={}){this.configState=t,this.cdr=i,this.options=r,this.initialized=!1,this.configManager=new hie(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return n.\u0275fac=function(t){!function(){throw new Error("invalid")}()},n.\u0275dir=Pt({type:n,features:[Fi]}),n})();const XD={boolean:n=>"false"!=`${n}`,json:n=>"string"==typeof n?JSON.parse(n):n,function:n=>{if("function"!=typeof n)throw new Error("Expected a javascript function");return n}};var KD;const If={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://r5i95k35v5.us-east-2.awsapprunner.com/v1/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld",dataSources:["https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/kpmp/data/rui_locations.jsonld","https://cdn.jsdelivr.net/gh/hubmapconsortium/ccf-ui@staging/assets/sparc/data/rui_locations.jsonld"],hubmapDataService:"",hubmapPortalUrl:"",hubmapDataUrl:"",hubmapAssetsUrl:"",hubmapToken:null!==(KD=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==KD?KD:"",useRemoteApi:!1,remoteApiEndpoint:"https://r5i95k35v5.us-east-2.awsapprunner.com/v1"},googleAnalyticsToken:"G-ERNVZ1Q4KE"};function Ei(n,e,t,i){var o,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(n,e,t,i);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}function wV(n,e){return function(t,i){e(t,i,n)}}function uc(n,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,e)}function Bi(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(h){o(h)}}function l(u){try{c(i.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}function SV(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,t=n||e;return!!(t&&t.indexOf("Electron")>=0)}function ZD(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||SV()}const CV="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",cx=ZD();class _ie{constructor(e,t,i="sessionStorage"){this.storage=function(n){try{const e=window[n],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch(e){return null}}(i),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function JD(n,e,t,i=600){const r=n.src.replace(/\(/g,"%28").replace(/\)/g,"%29");n.width>i&&(t=Math.min(t,i/n.width));const s=n.width*t,o=n.height*t,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const TV={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function AV(n){return"string"==typeof n?TV[n.toUpperCase()]||TV.WHITE:n}function ux(n,e){if(!n)throw new Error(e||"Assertion failed")}const dc={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},v0=dc.window||dc.self||dc.global,MV=dc.process||{};function Lg(){let n;if(cx&&v0.performance)n=v0.performance.now();else if(MV.hrtime){const e=MV.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}console;const Bg={debug:cx&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Sie={enabled:!0,level:0};function Al(){}const DV={},IV={once:!0};function Cie(n){for(const e in n)for(const t in n[e])return t||"untitled";return"empty"}let eI=(()=>{class n{constructor({id:t}={id:""}){this.id=t,this.VERSION=CV,this._startTs=Lg(),this._deltaTs=Lg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new _ie("__probe-".concat(this.id,"__"),Sie),this.userData={},this.timeStamp("".concat(this.id," started")),function(n,e=["constructor"]){const t=Object.getPrototypeOf(n),i=Object.getOwnPropertyNames(t);for(const r of i)"function"==typeof n[r]&&(e.find(s=>r===s)||(n[r]=n[r].bind(n)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Lg()-this._startTs).toPrecision(10))}getDelta(){return Number((Lg()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,i){ux(t,i)}warn(t){return this._getLogFunction(0,t,Bg.warn,arguments,IV)}error(t){return this._getLogFunction(0,t,Bg.error,arguments)}deprecated(t,i){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(i,"` instead"))}removed(t,i){return this.error("`".concat(t,"` has been removed. Use `").concat(i,"` instead"))}probe(t,i){return this._getLogFunction(t,i,Bg.log,arguments,{time:!0,once:!0})}log(t,i){return this._getLogFunction(t,i,Bg.debug,arguments)}info(t,i){return this._getLogFunction(t,i,console.info,arguments)}once(t,i){return this._getLogFunction(t,i,Bg.debug||Bg.info,arguments,IV)}table(t,i,r){return i?this._getLogFunction(t,i,console.table||Al,r&&[r],{tag:Cie(i)}):Al}image({logLevel:t,priority:i,image:r,message:s="",scale:o=1}){return this._shouldLog(t||i)?cx?function({image:n,message:e="",scale:t=1}){if("string"==typeof n){const r=new Image;return r.onload=()=>{const s=JD(r,e,t);console.log(...s)},r.src=n,Al}const i=n.nodeName||"";if("img"===i.toLowerCase())return console.log(...JD(n,e,t)),Al;if("canvas"===i.toLowerCase()){const r=new Image;return r.onload=()=>console.log(...JD(r,e,t)),r.src=n.toDataURL(),Al}return Al}({image:r,message:s,scale:o}):function({image:n,message:e="",scale:t=1}){let i=null;try{i=et(5307)}catch(r){}return i?()=>i(n,{fit:"box",width:"".concat(Math.round(80*t),"%")}).then(r=>console.log(r)):Al}({image:r,message:s,scale:o}):Al}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,i){this._storage.updateConfiguration({[t]:i})}time(t,i){return this._getLogFunction(t,i,console.time?console.time:console.info)}timeEnd(t,i){return this._getLogFunction(t,i,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,i){return this._getLogFunction(t,i,console.timeStamp||Al)}group(t,i,r={collapsed:!1}){r=RV({logLevel:t,message:i,opts:r});const{collapsed:s}=r;return r.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}groupCollapsed(t,i,r={}){return this.group(t,i,Object.assign({},r,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Al)}withGroup(t,i,r){this.group(t,i)();try{r()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=OV(t)}_getLogFunction(t,i,r,s=[],o){if(this._shouldLog(t)){o=RV({logLevel:t,message:i,args:s,opts:o}),ux(r=r||o.method),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=Lg();const a=o.tag||o.message;if(o.once){if(DV[a])return Al;DV[a]=Lg()}return i=function(n,e,t){if("string"==typeof e){const i=t.time?function(n,e=8){const t=Math.max(e-n.length,0);return"".concat(" ".repeat(t)).concat(n)}(function(n){let e;return e=n<10?"".concat(n.toFixed(2),"ms"):n<100?"".concat(n.toFixed(1),"ms"):n<1e3?"".concat(n.toFixed(0),"ms"):"".concat((n/1e3).toFixed(2),"s"),e}(t.total)):"";e=function(n,e,t){return!cx&&"string"==typeof n&&(e&&(e=AV(e),n="\x1b[".concat(e,"m").concat(n,"\x1b[39m")),t&&(e=AV(t),n="\x1b[".concat(t+10,"m").concat(n,"\x1b[49m"))),n}(e=t.time?"".concat(n,": ").concat(i," ").concat(e):"".concat(n,": ").concat(e),t.color,t.background)}return e}(this.id,o.message,o),r.bind(console,i,...o.args)}return Al}}return n.VERSION=CV,n})();function OV(n){if(!n)return 0;let e;switch(typeof n){case"number":e=n;break;case"object":e=n.logLevel||n.priority||0;break;default:return 0}return ux(Number.isFinite(e)&&e>=0),e}function RV(n){const{logLevel:e,message:t}=n;n.logLevel=OV(e);const i=n.args?Array.from(n.args):[];for(;i.length&&i.shift()!==t;);switch(n.args=i,typeof e){case"string":case"function":void 0!==t&&i.unshift(t),n.message=e;break;case"object":Object.assign(n,e)}"function"==typeof n.message&&(n.message=n.message());const r=typeof n.message;return ux("string"===r||"object"===r),Object.assign(n,n.opts)}const Ri=new eI({id:"deck"}),Vi={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Vi,"IDENTITY",{get:()=>Ri.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const Zc={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},NV={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},mn=new eI({id:"luma.gl"});function qo(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function dx(n){return"undefined"!=typeof WebGLRenderingContext&&n instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&Number.isFinite(n._version))}function Ci(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}function hx(n){return qo(dx(n),"Invalid WebGLRenderingContext"),n}function Ao(n){return qo(Ci(n),"Requires WebGL2"),n}const w0={};const E0=function n(e){const t=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),t.reset_()},!0),this.reset_()};Of.prototype.VERTEX_ARRAY_BINDING_OES=34229,Of.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let i=0;iCi(n)?void 0:0,Wie={3074:n=>Ci(n)?void 0:36064,35723:n=>Ci(n)?void 0:4352,35977:br,32937:br,36795:(n,e)=>{const t=Ci(n)?n.getExtension("EXT_disjoint_timer_query_webgl2"):n.getExtension("EXT_disjoint_timer_query");return t&&t.GPU_DISJOINT_EXT?e(t.GPU_DISJOINT_EXT):0},37445:(n,e)=>{const t=n.getExtension(FV);return e(t&&t.UNMASKED_VENDOR_WEBGL||7936)},37446:(n,e)=>{const t=n.getExtension(FV);return e(t&&t.UNMASKED_RENDERER_WEBGL||7937)},34047:(n,e)=>{const t=n.luma.extensions.EXT_texture_filter_anisotropic;return t?e(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:br,35071:br,37447:br,36063:(n,e)=>{if(!Ci(n)){const t=n.getExtension(kV);return t?e(t.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:br,35374:br,35377:br,34852:n=>{if(!Ci(n)){const e=n.getExtension(kV);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:n=>n.getExtension(PV)?2147483647:65535,33001:n=>n.getExtension(PV)?16777216:65535,33e3:n=>16777216,37157:br,35373:br,35657:br,36183:br,37137:br,34045:br,35978:br,35979:br,35968:br,35376:br,35375:br,35659:br,37154:br,35371:br,35658:br,35076:br,35077:br,35380:br},LV="ANGLE_instanced_arrays",BV={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{qo(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[LV]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(n,e){qo(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{qo(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{qo(!1)},deleteQuery:()=>{qo(!1)},beginQuery:()=>{qo(!1)},endQuery:()=>{},getQuery(n,e){return this.getQueryObject(n,e)},getQueryParameter(n,e){return this.getQueryObject(n,e)},getQueryObject:()=>{}}},tI={readBuffer:(n,e,t)=>{Ci(n)&&e(t)},getVertexAttrib:(n,e,t,i)=>{const{webgl2:r,ext:s}=function(n,e){return{webgl2:Ci(n),ext:n.getExtension("ANGLE_instanced_arrays")}}(n);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(t,i)},getProgramParameter:(n,e,t,i)=>{if(!Ci(n))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(t,i)},getInternalformatParameter:(n,e,t,i,r)=>{if(!Ci(n))switch(r){case 32937:return new Int32Array([0])}return n.getInternalformatParameter(t,i,r)},getTexParameter(n,e,t,i){switch(i){case 34046:const{extensions:r}=n.luma,s=r.EXT_texture_filter_anisotropic;i=s&&s.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(t,i)},getParameter:function(n,e,t){const i=Wie[t],r="function"==typeof i?i(n,e,t):i;return void 0!==r?r:e(t)},hint:(n,e,t,i)=>e(t,i)};function rre(n,{extension:e,target:t,target2:i}){const r=BV[e];qo(r);const{meta:s={}}=r,{suffix:o=""}=s,a=n.getExtension(e);for(const l of Object.keys(r)){const c=`${l}${o}`;let u=null;"meta"===l||"function"==typeof n[l]||(a&&"function"==typeof a[c]?u=(...h)=>a[c](...h):"function"==typeof r[l]&&(u=r[l].bind(t))),u&&(t[l]=u,i[l]=u)}}globalThis.polyfillContext=function(n){n.luma=n.luma||{};const{luma:e}=n;return e.polyfilled||(function(n){if("function"==typeof n.createVertexArray)return;const e=n.getSupportedExtensions;n.getSupportedExtensions=function(){const r=e.call(this)||[];return r.indexOf("OES_vertex_array_object")<0&&r.push("OES_vertex_array_object"),r};const t=n.getExtension;n.getExtension=function(r){return t.call(this,r)||("OES_vertex_array_object"!==r?null:(n.__OESVertexArrayObject||(this.__OESVertexArrayObject=new Of(this)),this.__OESVertexArrayObject))}}(n),function(n){n.luma.extensions={};const e=n.getSupportedExtensions()||[];for(const t of e)n.luma[t]=n.getExtension(t)}(n),function(n,e){for(const t of Object.getOwnPropertyNames(e))"overrides"!==t&&rre(n,{extension:t,target:n.luma,target2:n})}(n,BV),function(n,{target:e,target2:t}){Object.keys(tI).forEach(i=>{if("function"==typeof tI[i]){const r=n[i]?n[i].bind(n):()=>{},s=tI[i].bind(null,n,r);e[i]=s,t[i]=s}})}(n,{target:e,target2:n}),e.polyfilled=!0),n};const nI={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},lh=(n,e,t)=>e?n.enable(t):n.disable(t),VV=(n,e,t)=>n.hint(t,e),ja=(n,e,t)=>n.pixelStorei(t,e);function x0(n){return Array.isArray(n)||ArrayBuffer.isView(n)}const are={3042:lh,32773:(n,e)=>n.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(n,e)=>n.clearColor(...e),3107:(n,e)=>n.colorMask(...e),2884:lh,2885:(n,e)=>n.cullFace(e),2929:lh,2931:(n,e)=>n.clearDepth(e),2932:(n,e)=>n.depthFunc(e),2928:(n,e)=>n.depthRange(...e),2930:(n,e)=>n.depthMask(e),3024:lh,35723:VV,36006:(n,e)=>{const t=Ci(n)?36009:36160;return n.bindFramebuffer(t,e)},2886:(n,e)=>n.frontFace(e),33170:VV,2849:(n,e)=>n.lineWidth(e),32823:lh,32824:"polygonOffset",10752:"polygonOffset",35977:lh,32938:"sampleCoverage",32939:"sampleCoverage",3089:lh,3088:(n,e)=>n.scissor(...e),2960:lh,2961:(n,e)=>n.clearStencil(e),2968:(n,e)=>n.stencilMaskSeparate(1028,e),36005:(n,e)=>n.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(n,e)=>n.viewport(...e),3333:ja,3317:ja,37440:ja,37441:ja,37443:ja,3330:ja,3332:ja,3331:ja,36010:(n,e)=>n.bindFramebuffer(36008,e),3314:ja,32878:ja,3316:ja,3315:ja,32877:ja,framebuffer:(n,e)=>n.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(n,e)=>e?n.enable(3042):n.disable(3042),blendColor:(n,e)=>n.blendColor(...e),blendEquation:(n,e)=>{e=x0(e)?e:[e,e],n.blendEquationSeparate(...e)},blendFunc:(n,e)=>{e=x0(e)&&2===e.length?[...e,...e]:e,n.blendFuncSeparate(...e)},clearColor:(n,e)=>n.clearColor(...e),clearDepth:(n,e)=>n.clearDepth(e),clearStencil:(n,e)=>n.clearStencil(e),colorMask:(n,e)=>n.colorMask(...e),cull:(n,e)=>e?n.enable(2884):n.disable(2884),cullFace:(n,e)=>n.cullFace(e),depthTest:(n,e)=>e?n.enable(2929):n.disable(2929),depthFunc:(n,e)=>n.depthFunc(e),depthMask:(n,e)=>n.depthMask(e),depthRange:(n,e)=>n.depthRange(...e),dither:(n,e)=>e?n.enable(3024):n.disable(3024),derivativeHint:(n,e)=>{n.hint(35723,e)},frontFace:(n,e)=>n.frontFace(e),mipmapHint:(n,e)=>n.hint(33170,e),lineWidth:(n,e)=>n.lineWidth(e),polygonOffsetFill:(n,e)=>e?n.enable(32823):n.disable(32823),polygonOffset:(n,e)=>n.polygonOffset(...e),sampleCoverage:(n,e)=>n.sampleCoverage(...e),scissorTest:(n,e)=>e?n.enable(3089):n.disable(3089),scissor:(n,e)=>n.scissor(...e),stencilTest:(n,e)=>e?n.enable(2960):n.disable(2960),stencilMask:(n,e)=>{e=x0(e)?e:[e,e];const[t,i]=e;n.stencilMaskSeparate(1028,t),n.stencilMaskSeparate(1029,i)},stencilFunc:(n,e)=>{e=x0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilFuncSeparate(1028,t,i,r),n.stencilFuncSeparate(1029,s,o,a)},stencilOp:(n,e)=>{e=x0(e)&&3===e.length?[...e,...e]:e;const[t,i,r,s,o,a]=e;n.stencilOpSeparate(1028,t,i,r),n.stencilOpSeparate(1029,s,o,a)},viewport:(n,e)=>n.viewport(...e)};function rs(n,e,t){return void 0!==e[n]?e[n]:t[n]}const lre={blendEquation:(n,e,t)=>n.blendEquationSeparate(rs(32777,e,t),rs(34877,e,t)),blendFunc:(n,e,t)=>n.blendFuncSeparate(rs(32969,e,t),rs(32968,e,t),rs(32971,e,t),rs(32970,e,t)),polygonOffset:(n,e,t)=>n.polygonOffset(rs(32824,e,t),rs(10752,e,t)),sampleCoverage:(n,e,t)=>n.sampleCoverage(rs(32938,e,t),rs(32939,e,t)),stencilFuncFront:(n,e,t)=>n.stencilFuncSeparate(1028,rs(2962,e,t),rs(2967,e,t),rs(2963,e,t)),stencilFuncBack:(n,e,t)=>n.stencilFuncSeparate(1029,rs(34816,e,t),rs(36003,e,t),rs(36004,e,t)),stencilOpFront:(n,e,t)=>n.stencilOpSeparate(1028,rs(2964,e,t),rs(2965,e,t),rs(2966,e,t)),stencilOpBack:(n,e,t)=>n.stencilOpSeparate(1029,rs(34817,e,t),rs(34818,e,t),rs(34819,e,t))},jV={enable:(n,e)=>n({[e]:!0}),disable:(n,e)=>n({[e]:!1}),pixelStorei:(n,e,t)=>n({[e]:t}),hint:(n,e,t)=>n({[e]:t}),bindFramebuffer:(n,e,t)=>{switch(e){case 36160:return n({36006:t,36010:t});case 36009:return n({36006:t});case 36008:return n({36010:t});default:return null}},blendColor:(n,e,t,i,r)=>n({32773:new Float32Array([e,t,i,r])}),blendEquation:(n,e)=>n({32777:e,34877:e}),blendEquationSeparate:(n,e,t)=>n({32777:e,34877:t}),blendFunc:(n,e,t)=>n({32969:e,32968:t,32971:e,32970:t}),blendFuncSeparate:(n,e,t,i,r)=>n({32969:e,32968:t,32971:i,32970:r}),clearColor:(n,e,t,i,r)=>n({3106:new Float32Array([e,t,i,r])}),clearDepth:(n,e)=>n({2931:e}),clearStencil:(n,e)=>n({2961:e}),colorMask:(n,e,t,i,r)=>n({3107:[e,t,i,r]}),cullFace:(n,e)=>n({2885:e}),depthFunc:(n,e)=>n({2932:e}),depthRange:(n,e,t)=>n({2928:new Float32Array([e,t])}),depthMask:(n,e)=>n({2930:e}),frontFace:(n,e)=>n({2886:e}),lineWidth:(n,e)=>n({2849:e}),polygonOffset:(n,e,t)=>n({32824:e,10752:t}),sampleCoverage:(n,e,t)=>n({32938:e,32939:t}),scissor:(n,e,t,i,r)=>n({3088:new Int32Array([e,t,i,r])}),stencilMask:(n,e)=>n({2968:e,36005:e}),stencilMaskSeparate:(n,e,t)=>n({[1028===e?2968:36005]:t}),stencilFunc:(n,e,t,i)=>n({2962:e,2967:t,2963:i,34816:e,36003:t,36004:i}),stencilFuncSeparate:(n,e,t,i,r)=>n({[1028===e?2962:34816]:t,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(n,e,t,i)=>n({2964:e,2965:t,2966:i,34817:e,34818:t,34819:i}),stencilOpSeparate:(n,e,t,i,r)=>n({[1028===e?2964:34817]:t,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(n,e,t,i,r)=>n({2978:[e,t,i,r]})},Jc=(n,e)=>n.isEnabled(e),UV={3042:Jc,2884:Jc,2929:Jc,3024:Jc,32823:Jc,32926:Jc,32928:Jc,3089:Jc,2960:Jc,35977:Jc};function zV(n){for(const e in n)return!1;return!0}function cre(n,e){if(n===e)return!0;const t=Array.isArray(n)||ArrayBuffer.isView(n),i=Array.isArray(e)||ArrayBuffer.isView(e);if(t&&i&&n.length===e.length){for(let r=0;r{})}={}){this.gl=e,this.program=null,this.stateStack=[],this.enable=!0,this.cache=t?function(n,e){if("number"==typeof(e=e||nI)){const r=e,s=UV[r];return s?s(n,r):n.getParameter(r)}const t=Array.isArray(e)?e:Object.keys(e),i={};for(const r of t){const s=UV[r];i[r]=s?s(n,Number(r)):n.getParameter(Number(r))}return i}(e):Object.assign({},nI),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(e={}){this.stateStack.push({})}pop(){qo(this.stateStack.length>0),Xu(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(e){let i,t=!1;const r=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const s in e){qo(void 0!==s);const o=e[s],a=this.cache[s];cre(o,a)||(t=!0,i=a,r&&!(s in r)&&(r[s]=a),this.cache[s]=o)}return{valueChanged:t,oldValue:i}}}function GV(n,e={}){const{enable:t=!0,copyState:i}=e;if(qo(void 0!==i),!n.state){const{polyfillContext:r}=globalThis;r&&r(n),n.state=new hre(n,{copyState:i}),function(n){const e=n.useProgram.bind(n);n.useProgram=function(i){n.state.program!==i&&(e(i),n.state.program=i)}}(n);for(const s in jV)ure(n,s,jV[s]);HV(n,"getParameter"),HV(n,"isEnabled")}return n.state.enable=t,n}function $V(n){qo(n.state),n.state.pop()}function Xu(n,e){if(qo(dx(n),"setParameters requires a WebGL context"),zV(e))return;const t={};for(const r in e){const s=Number(r),o=are[r];o&&("string"==typeof o?t[o]=!0:o(n,e[r],s))}const i=n.state&&n.state.cache;if(i)for(const r in t)lre[r](n,e,i)}function hc(n,e,t){if(zV(e))return t(n);const{nocatch:i=!0}=e;let r;if(function(n){n.state||GV(n,{copyState:!1}),n.state.push()}(n),Xu(n,e),i)r=t(n),$V(n);else try{r=t(n)}finally{$V(n)}return r}function fx(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(n){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function Vg(n){const{luma:e}=n;if(n.canvas&&e){const{clientWidth:t}=e.canvasSizeInfo;return t?n.drawingBufferWidth/t:1}return 1}function iI(n,e,t=!0){return function(n,e,t,i,r){const s=WV(n[0],e,t);let o=qV(n[1],e,i,r),a=WV(n[0]+1,e,t);const l=a===t-1?a:a-1;let c;return a=qV(n[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,Vg(n),n.drawingBufferWidth,n.drawingBufferHeight,t)}function WV(n,e,t){return Math.min(Math.round(n*e),t-1)}function qV(n,e,t,i){return i?Math.max(0,t-1-Math.round(n*e)):Math.min(Math.round(n*e),t-1)}const rI=fx(),bre=rI&&"undefined"!=typeof document,YV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function XV(n={}){qo(rI,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),n=Object.assign({},YV,n);const{width:e,height:t}=n;function i(a){if(n.throwOnError)throw new Error(a);return console.error(a),null}let r;n.onError=i;const{canvas:s}=n,o=function({canvas:n,width:e=800,height:t=600,onError:i}){let r;return"string"==typeof n?(bre&&"complete"===document.readyState||i(`createGLContext called on canvas '${n}' before page was loaded`),r=document.getElementById(n)):n?r=n:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(t)?`${t}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:t,onError:i});return r=function(n,e){const{onError:t}=e;let i=null;const r=l=>i=l.statusMessage||i;n.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||n.getContext("webgl2",e),a=a||n.getContext("experimental-webgl2",e)),s&&(a=a||n.getContext("webgl",e),a=a||n.getContext("experimental-webgl",e)),n.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&n.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&n.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):t(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,n),r?(r=sI(r,n),function(n){const e=Ci(n)?"WebGL2":"WebGL1",t=function(n){const e=n.getParameter(7936),t=n.getParameter(7937),i=n.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&n.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&n.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||t,vendorMasked:e,rendererMasked:t,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n);mn.info(1,`${e}${n.debug?" debug":""} context ${t?`(${t.vendor},${t.renderer})`:""}`)()}(r),r):null}function sI(n,e={}){if(!n||n._instrumented)return n;n._version=n._version||function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext?2:1}(n),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{},e=Object.assign({},YV,e);const{manageState:t,debug:i}=e;return t&&GV(n,{copyState:!1,log:(...r)=>mn.log(1,...r)()}),rI&&i&&(globalThis.makeDebugContext?(n=globalThis.makeDebugContext(n,e),mn.level=Math.max(mn.level,1)):mn.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),n._instrumented=!0,n}function KV(){let n;if("undefined"!=typeof window&&window.performance)n=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();n=1e3*e[0]+e[1]/1e6}else n=Date.now();return n}class QV{constructor(e,t){this.name=e,this.type=t,this.sampleSize=1,this.reset()}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=KV(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(KV()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class oI{constructor({id:e,stats:t}){this.id=e,this.stats={},this._initializeStats(t),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e in this.stats)this.stats[e].reset();return this}forEach(e){for(const t in this.stats)e(this.stats[t])}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){if(!e||!e.name)return null;const{name:t,type:i}=e;return this.stats[t]||(this.stats[t]=e instanceof QV?e:new QV(t,i)),this.stats[t]}}const S0="8.5.12",Rf=new class{constructor(){this.stats=new Map}get(e){return this.stats.has(e)||this.stats.set(e,new oI({id:e})),this.stats.get(e)}};if(globalThis.luma&&globalThis.luma.VERSION!==S0)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${S0}`);function on(n,e){if(!n)throw new Error(e||"luma.gl: assertion failed.")}function aI(n,e){if("string"!=typeof e)return e;const t=Number(e);if(!isNaN(t))return t;const i=n[e=e.replace(/^.*\./,"")];return on(void 0!==i,`Accessing undefined constant GL.${e}`),i}function ch(n,e){e=Number(e);for(const t in n)if(n[t]===e)return`GL.${t}`;return String(e)}globalThis.luma||(fx()&&mn.log(1,`luma.gl ${S0} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:S0,version:S0,log:mn,stats:Rf,globals:{modules:{},nodeIO:{}}}),globalThis;const lI={};function ma(n="id"){return lI[n]=lI[n]||1,`${n}-${lI[n]++}`}function ZV(n){return on("number"==typeof n,"Input must be a number"),n&&0==(n&n-1)}function jg(n){let e=!0;for(const t in n){e=!1;break}return e}function JV(n,e,t,i){const r=`See luma.gl ${t} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(n);i.forEach(o=>{s.methodName||(s[o]=()=>{throw mn.removed(`Calling removed method ${e}.${o}: `,r)(),new Error(o)})})}const Ug="Resource subclass must define virtual methods";class Ku{get[Symbol.toStringTag](){return"Resource"}constructor(e,t={}){hx(e);const{id:i,userData:r={}}=t;this.gl=e,this.gl2=e,this.id=i||ma(this[Symbol.toStringTag]),this.userData=r,this._bound=!1,this._handle=t.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:e=!1}={}){const t=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,t&&e&&t.filter(Boolean).forEach(i=>i.delete()),this}bind(e=this.handle){if("function"!=typeof e)return this._bindHandle(e),this;let t;return this._bound?t=e():(this._bindHandle(this.handle),this._bound=!0,t=e(),this._bound=!1,this._bindHandle(null)),t}unbind(){this.bind(null)}getParameter(e,t={}){on(e=aI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Ci(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension)){const a=r.webgl1,l="webgl2"in r?r.webgl2:r.webgl1;return s?l:a}}return this._getParameter(e,t)}getParameters(e={}){const{parameters:t,keys:i}=e,r=this.constructor.PARAMETERS||{},s=Ci(this.gl),o={},a=t||Object.keys(r);for(const l of a){const c=r[l];if(c&&(!("webgl2"in c)||s)&&(!("extension"in c)||this.gl.getExtension(c.extension))){const h=i?ch(this.gl,l):l;o[h]=this.getParameter(l,e),i&&"GLenum"===c.type&&(o[h]=ch(this.gl,o[h]))}}return o}setParameter(e,t){on(e=aI(this.gl,e));const r=(this.constructor.PARAMETERS||{})[e];if(r){const s=Ci(this.gl);if("webgl2"in r&&!s||"extension"in r&&!this.gl.getExtension(r.extension))throw new Error("Parameter not available on this platform");"GLenum"===r.type&&(t=aI(t))}return this._setParameter(e,t),this}setParameters(e){for(const t in e)this.setParameter(t,e[t]);return this}stubRemovedMethods(e,t,i){return JV(this,e,t,i)}initialize(e){}_createHandle(){throw new Error(Ug)}_deleteHandle(){throw new Error(Ug)}_bindHandle(e){throw new Error(Ug)}_getOptsFromHandle(){throw new Error(Ug)}_getParameter(e,t){throw new Error(Ug)}_setParameter(e,t){throw new Error(Ug)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const e=this[Symbol.toStringTag],t=Rf.get("Resource Counts");t.get("Resources Created").incrementCount(),t.get(`${e}s Created`).incrementCount(),t.get(`${e}s Active`).incrementCount()}_removeStats(){const e=this[Symbol.toStringTag];Rf.get("Resource Counts").get(`${e}s Active`).decrementCount()}_trackAllocatedMemory(e,t=this[Symbol.toStringTag]){const i=Rf.get("Memory Usage");i.get("GPU Memory").addCount(e),i.get(`${t} Memory`).addCount(e),this.byteLength=e}_trackDeallocatedMemory(e=this[Symbol.toStringTag]){const t=Rf.get("Memory Usage");t.get("GPU Memory").subtractCount(this.byteLength),t.get(`${e} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function cI(n){switch(ArrayBuffer.isView(n)?n.constructor:n){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function C0(n,{clamped:e=!0}={}){switch(n){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function Ore({data:n,width:e,height:t}){const i=Math.round(e/2),r=Math.round(t/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return _a.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return _a.getBytesPerVertex(this)}_assign(e={}){return void 0!==(e=uI("Accessor",e,Nre)).type&&(this.type=e.type,(5124===e.type||5125===e.type)&&(this.integer=!0)),void 0!==e.size&&(this.size=e.size),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.stride&&(this.stride=e.stride),void 0!==e.normalized&&(this.normalized=e.normalized),void 0!==e.integer&&(this.integer=e.integer),void 0!==e.divisor&&(this.divisor=e.divisor),void 0!==e.buffer&&(this.buffer=e.buffer),void 0!==e.index&&(this.index="boolean"==typeof e.index?e.index?1:0:e.index),void 0!==e.instanced&&(this.divisor=e.instanced?1:0),void 0!==e.isInstanced&&(this.divisor=e.isInstanced?1:0),this}}const tj={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},Pre={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:tj},kre={removedProps:tj};class lr extends Ku{get[Symbol.toStringTag](){return"Buffer"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=t.target||(this.gl.webgl2?36662:34962),this.initialize(t),Object.seal(this)}getElementCount(e=this.accessor){return Math.round(this.byteLength/_a.getBytesPerElement(e))}getVertexCount(e=this.accessor){return Math.round(this.byteLength/_a.getBytesPerVertex(e))}initialize(e={}){return ArrayBuffer.isView(e)&&(e={data:e}),Number.isFinite(e)&&(e={byteLength:e}),e=uI("Buffer",e,Pre),this.usage=e.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},e,e.accessor)),e.data?this._setData(e.data,e.offset,e.byteLength):this._setByteLength(e.byteLength||0),this}setProps(e){return"accessor"in(e=uI("Buffer",e,kre))&&this.setAccessor(e.accessor),this}setAccessor(e){return delete(e=Object.assign({},e)).buffer,this.accessor=new _a(e),this}reallocate(e){return e>this.byteLength?(this._setByteLength(e),!0):(this.bytesUsed=e,!1)}setData(e){return this.initialize(e)}subData(e){ArrayBuffer.isView(e)&&(e={data:e});const{data:t,offset:i=0,srcOffset:r=0}=e,s=e.byteLength||e.length;on(t);const o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),0!==r||void 0!==s?(Ao(this.gl),this.gl.bufferSubData(this.target,i,t,r,s)):this.gl.bufferSubData(o,i,t),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(t),this}copyData({sourceBuffer:e,readOffset:t=0,writeOffset:i=0,size:r}){const{gl:s}=this;return Ao(s),s.bindBuffer(36662,e.handle),s.bindBuffer(36663,this.handle),s.copyBufferSubData(36662,36663,t,i,r),s.bindBuffer(36662,null),s.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:e=null,srcByteOffset:t=0,dstOffset:i=0,length:r=0}={}){Ao(this.gl);const s=C0(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(t),a=i;let l,c;e?(c=e.length,l=c-a):(l=Math.min(o,r||o),c=a+l);const u=Math.min(o,l);return on((r=r||u)<=u),e=e||new s(c),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,e,i,r),this.gl.bindBuffer(36662,null),e}bind({target:e=this.target,index:t=this.accessor&&this.accessor.index,offset:i=0,size:r}={}){return 35345===e||35982===e?void 0!==r?this.gl.bindBufferRange(e,t,this.handle,i,r):(on(0===i),this.gl.bindBufferBase(e,t,this.handle)):this.gl.bindBuffer(e,this.handle),this}unbind({target:e=this.target,index:t=this.accessor&&this.accessor.index}={}){return 35345===e||35982===e?this.gl.bindBufferBase(e,t,null):this.gl.bindBuffer(e,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(e,t=0,i=e.byteLength+t){on(ArrayBuffer.isView(e)),this._trackDeallocatedMemory();const r=this._getTarget();this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,this.usage),this.gl.bufferSubData(r,t,e),this.gl.bindBuffer(r,null),this.debugData=e.slice(0,10),this.bytesUsed=i,this._trackAllocatedMemory(i);const s=cI(e);return on(s),this.setAccessor(new _a(this.accessor,{type:s})),this}_setByteLength(e,t=this.usage){on(e>=0),this._trackDeallocatedMemory();let i=e;0===e&&(i=new Float32Array(0));const r=this._getTarget();return this.gl.bindBuffer(r,this.handle),this.gl.bufferData(r,i,t),this.gl.bindBuffer(r,null),this.usage=t,this.debugData=null,this.bytesUsed=e,this._trackAllocatedMemory(e),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(e){const i=e/C0(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(e){this.accessor.type||this.setAccessor(new _a(this.accessor,{type:cI(e)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(e){this.gl.bindBuffer(this.target,this.handle);const t=this.gl.getBufferParameter(this.target,e);return this.gl.bindBuffer(this.target,null),t}get type(){return mn.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return mn.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(e){return mn.deprecated("setByteLength","reallocate")(),this.reallocate(e)}updateAccessor(e){return mn.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new _a(this.accessor,e),this}}const dI={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},nj={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},ij={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},Bre=[9729,9728],rj=globalThis.WebGLBuffer||function(){};class Nf extends Ku{get[Symbol.toStringTag](){return"Texture"}static isSupported(e,t={}){const{format:i,linearFiltering:r}=t;let s=!0;return i&&(s=s&&function(n,e){const t=dI[e];if(!t)return!1;if(void 0===t.gl1&&void 0===t.gl2)return!0;const i=Ci(n)&&t.gl2||t.gl1;return"string"==typeof i?n.getExtension(i):i}(e,i),s=s&&(!r||function(n,e){const t=dI[e];switch(t&&t.types[0]){case 5126:return n.getExtension("OES_texture_float_linear");case 5131:return n.getExtension("OES_texture_half_float_linear");default:return!0}}(e,i))),s}constructor(e,t){const{id:i=ma("texture"),handle:r,target:s}=t;super(e,{id:i,handle:r}),this.target=s,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(e={}){let t=e.data;if(t instanceof Promise)return t.then(k=>this.initialize(Object.assign({},e,{pixels:k,data:k}))),this;const i="undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement;if(i&&t.readyStatethis.initialize(e)),this;const{pixels:r=null,format:s=6408,border:o=0,recreate:a=!1,parameters:l={},pixelStore:c={},textureUnit:u}=e;t||(t=r);let{width:h,height:f,dataFormat:g,type:m,compressed:A=!1,mipmaps:I=!0}=e;const{depth:G=0}=e;return({width:h,height:f,compressed:A,dataFormat:g,type:m}=this._deduceParameters({format:s,type:m,dataFormat:g,compressed:A,data:t,width:h,height:f})),this.width=h,this.height=f,this.depth=G,this.format=s,this.type=m,this.dataFormat=g,this.border=o,this.textureUnit=u,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),I&&this._isNPOT()&&(mn.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),I=!1,this._updateForNPOT(l)),this.mipmaps=I,this.setImageData({data:t,width:h,height:f,depth:G,format:s,type:m,dataFormat:g,border:o,mipmaps:I,parameters:c,compressed:A}),I&&this.generateMipmap(),this.setParameters(l),a&&(this.data=t),i&&(this._video={video:t,parameters:l,lastTime:t.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?t.currentTime:-1}),this}update(){if(this._video){const{video:e,parameters:t,lastTime:i}=this._video;if(i===e.currentTime||e.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(e){this._trackDeallocatedMemory("Texture");const{target:t=this.target,pixels:i=null,level:r=0,format:s=this.format,border:o=this.border,offset:a=0,parameters:l={}}=e;let{data:c=null,type:u=this.type,width:h=this.width,height:f=this.height,dataFormat:g=this.dataFormat,compressed:m=!1}=e;c||(c=i),({type:u,dataFormat:g,compressed:m,width:h,height:f}=this._deduceParameters({format:s,type:u,dataFormat:g,compressed:m,data:c,width:h,height:f}));const{gl:A}=this;A.bindTexture(this.target,this.handle);let I=null;({data:c,dataType:I}=this._getDataType({data:c,compressed:m}));let G,k=0;return hc(this.gl,l,()=>{switch(I){case"null":A.texImage2D(t,r,s,h,f,o,g,u,c);break;case"typed-array":A.texImage2D(t,r,s,h,f,o,g,u,c,a);break;case"buffer":G=Ao(A),G.bindBuffer(35052,c.handle||c),G.texImage2D(t,r,s,h,f,o,g,u,a),G.bindBuffer(35052,null);break;case"browser-object":Ci(A)?A.texImage2D(t,r,s,h,f,o,g,u,c):A.texImage2D(t,r,s,g,u,c);break;case"compressed":for(const[oe,we]of c.entries())A.compressedTexImage2D(t,oe,we.format,we.width,we.height,o,we.data),k+=we.levelSize;break;default:on(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===I?k:c&&c.byteLength?c.byteLength:this.width*this.height*(nj[this.dataFormat]||4)*(ij[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:e=this.target,pixels:t=null,data:i=null,x:r=0,y:s=0,width:o=this.width,height:a=this.height,level:l=0,format:c=this.format,type:u=this.type,dataFormat:h=this.dataFormat,compressed:f=!1,offset:g=0,border:m=this.border,parameters:A={}}){if(({type:u,dataFormat:h,compressed:f,width:o,height:a}=this._deduceParameters({format:c,type:u,dataFormat:h,compressed:f,data:i,width:o,height:a})),on(0===this.depth,"texSubImage not supported for 3D textures"),i||(i=t),i&&i.data){const I=i;i=I.data,o=I.shape[0],a=I.shape[1]}i instanceof lr&&(i=i.handle),this.gl.bindTexture(this.target,this.handle),hc(this.gl,A,()=>{if(f)this.gl.compressedTexSubImage2D(e,l,r,s,o,a,c,i);else if(null===i)this.gl.texSubImage2D(e,l,r,s,o,a,h,u,null);else if(ArrayBuffer.isView(i))this.gl.texSubImage2D(e,l,r,s,o,a,h,u,i,g);else if(i instanceof rj){const I=Ao(this.gl);I.bindBuffer(35052,i),I.texSubImage2D(e,l,r,s,o,a,h,u,g),I.bindBuffer(35052,null)}else Ci(this.gl)?Ao(this.gl).texSubImage2D(e,l,r,s,o,a,h,u,i):this.gl.texSubImage2D(e,l,r,s,h,u,i)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(e={}){return mn.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,this.handle),e}unbind(e=this.textureUnit){const{gl:t}=this;return void 0!==e&&(this.textureUnit=e,t.activeTexture(33984+e)),t.bindTexture(this.target,null),e}_getDataType({data:e,compressed:t=!1}){return t?{data:e,dataType:"compressed"}:null===e?{data:e,dataType:"null"}:ArrayBuffer.isView(e)?{data:e,dataType:"typed-array"}:e instanceof lr?{data:e.handle,dataType:"buffer"}:e instanceof rj?{data:e,dataType:"buffer"}:{data:e,dataType:"browser-object"}}_deduceParameters(e){const{format:t,data:i}=e;let{width:r,height:s,dataFormat:o,type:a,compressed:l}=e;const c=dI[t];return o=o||c&&c.dataFormat,a=a||c&&c.types[0],l=l||c&&c.compressed,({width:r,height:s}=this._deduceImageSize(i,r,s)),{dataFormat:o,type:a,compressed:l,width:r,height:s,format:t,data:i}}_deduceImageSize(e,t,i){let r;return r="undefined"!=typeof ImageData&&e instanceof ImageData?{width:e.width,height:e.height}:"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement?{width:e.naturalWidth,height:e.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?{width:e.width,height:e.height}:"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement?{width:e.videoWidth,height:e.videoHeight}:e?{width:t,height:i}:{width:t>=0?t:1,height:i>=0?i:1},on(r,"Could not deduced texture size"),on(void 0===t||r.width===t,"Deduced texture width does not match supplied width"),on(void 0===i||r.height===i,"Deduced texture height does not match supplied height"),r}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(e){switch(e){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const t=this.gl.getTexParameter(this.target,e);return this.gl.bindTexture(this.target,null),t}}_setParameter(e,t){switch(this.gl.bindTexture(this.target,this.handle),t=this._getNPOTParam(e,t),e){case 33082:case 33083:this.gl.texParameterf(this.handle,e,t);break;case 4096:case 4097:on(!1);break;default:this.gl.texParameteri(this.target,e,t)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Ci(this.gl)||!this.width||!this.height||ZV(this.width)&&ZV(this.height))}_updateForNPOT(e){void 0===e[this.gl.TEXTURE_MIN_FILTER]&&(e[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===e[this.gl.TEXTURE_WRAP_S]&&(e[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===e[this.gl.TEXTURE_WRAP_T]&&(e[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(e,t){if(this._isNPOT())switch(e){case 10241:-1===Bre.indexOf(t)&&(t=9729);break;case 10242:case 10243:33071!==t&&(t=33071)}return t}}function Vre(n,e){return on("string"==typeof n),n=""+n,new Promise((t,i)=>{try{const r=new Image;r.onload=()=>t(r),r.onerror=()=>i(new Error(`Could not load image ${n}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=n}catch(r){i(r)}})}class ya extends Nf{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(e,t){return Nf.isSupported(e,t)}constructor(e,t={}){hx(e),(t instanceof Promise||"string"==typeof t)&&(t={data:t}),"string"==typeof t.data&&(t=Object.assign({},t,{data:Vre(t.data)})),super(e,Object.assign({},t,{target:3553})),this.initialize(t),Object.seal(this)}}const Pf="EXT_color_buffer_float",sj={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Pf,bpp:2},33327:{gl2:Pf,bpp:4},34842:{gl2:Pf,bpp:8},33326:{gl2:Pf,bpp:4},33328:{gl2:Pf,bpp:8},34836:{gl2:Pf,bpp:16},35898:{gl2:Pf,bpp:4}};class zg extends Ku{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(e,{format:t}={format:null}){return!t||function(n,e,t){const i=t[e];if(!i)return!1;const r=Ci(n)&&i.gl2||i.gl1;return"string"==typeof r?n.getExtension(r):r}(e,t,sj)}static getSamplesForFormat(e,{format:t}){return e.getInternalformatParameter(36161,t,32937)}constructor(e,t={}){super(e,t),this.initialize(t),Object.seal(this)}initialize({format:e,width:t=1,height:i=1,samples:r=0}){return on(e,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==r&&Ci(this.gl)?this.gl.renderbufferStorageMultisample(36161,r,e,t,i):this.gl.renderbufferStorage(36161,e,t,i),this.format=e,this.width=t,this.height=i,this.samples=r,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*sj[this.format].bpp),this}resize({width:e,height:t}){return e!==this.width||t!==this.height?this.initialize({width:e,height:t,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(e){this.gl.bindRenderbuffer(36161,e)}_syncHandle(e){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(e){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,e)}}const uj="clear: bad arguments";function fI(n,{framebuffer:e=null,color:t=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;t&&(o|=16384,!0!==t&&(s.clearColor=t)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),on(0!==o,uj),hc(n,s,()=>{n.clear(o)})}function dj(n,e,t,i,r,s,o){try{var a=n[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function li(n){return function(){var e=this,t=arguments;return new Promise(function(i,r){var s=n.apply(e,t);function o(l){dj(s,i,r,o,a,"next",l)}function a(l){dj(s,i,r,o,a,"throw",l)}o(void 0)})}}const pI=[34069,34070,34071,34072,34073,34074];let Wre=(()=>{class n extends Nf{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,i={}){hx(t),super(t,Object.assign({},i,{target:34067})),this.initialize(i),Object.seal(this)}initialize(t={}){const{mipmaps:i=!0,parameters:r={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,i&&this.generateMipmap(t),this.setParameters(r)}),this}subImage({face:t,data:i,x:r=0,y:s=0,mipmapLevel:o=0}){return this._subImage({target:t,data:i,x:r,y:s,mipmapLevel:o})}setCubeMapImageData({width:t,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}){var c=this;return li(function*(){const{gl:u}=c,h=r||s,f=yield Promise.all(pI.map(g=>{const m=h[g];return Promise.all(Array.isArray(m)?m:[m])}));c.bind(),pI.forEach((g,m)=>{f[m].length>1&&!1!==c.opts.mipmaps&&mn.warn(`${c.id} has mipmap and multiple LODs.`)(),f[m].forEach((A,I)=>{t&&i?u.texImage2D(g,I,a,t,i,o,a,l,A):u.texImage2D(g,I,a,a,l,A)})}),c.unbind()})()}setImageDataForFace(t){const{face:i,width:r,height:s,pixels:o,data:a,border:l=0,format:c=6408,type:u=5121}=t,{gl:h}=this,f=o||a;return this.bind(),f instanceof Promise?f.then(g=>this.setImageDataForFace(Object.assign({},t,{face:i,data:g,pixels:g}))):this.width||this.height?h.texImage2D(i,0,c,r,s,l,c,u,f):h.texImage2D(i,0,c,c,u,f),this}}return n.FACES=pI,n})();class qre extends Nf{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(e){return Ci(e)}constructor(e,t={}){Ao(e),super(e,t=Object.assign({depth:1},t,{target:32879,unpackFlipY:!1})),this.initialize(t),Object.seal(this)}setImageData({level:e=0,dataFormat:t=6408,width:i,height:r,depth:s=1,border:o=0,format:a,type:l=5121,offset:c=0,data:u,parameters:h={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),hc(this.gl,h,()=>{ArrayBuffer.isView(u)&&this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,u),u instanceof lr&&(this.gl.bindBuffer(35052,u.handle),this.gl.texImage3D(this.target,e,t,i,r,s,o,a,l,c))}),this._trackAllocatedMemory(u&&u.byteLength?u.byteLength:this.width*this.height*this.depth*(nj[this.dataFormat]||4)*(ij[this.type]||1),"Texture"),this.loaded=!0,this}}function hj(n,e){on(n instanceof ya||n instanceof Wre||n instanceof qre);const t=n.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=n;return new t(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function Yre(n,e){const{gl:t,width:i,height:r,id:s}=n;return new ks(t,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:n}}))}function px(n,e={}){const{sourceX:t=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=T0(n);on(u);const{gl:f,handle:g,attachments:m}=u;a=a||u.width,l=l||u.height,36064===s&&null===g&&(s=1028),on(m[s]),c=c||m[s].type,o=function(n,e,t,i,r){if(n)return n;return new(C0(e=e||5121,{clamped:!1}))(i*r*function(n){switch(n){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return on(!1),0}}(t))}(o,c,r,a,l),c=c||cI(o);const A=f.bindFramebuffer(36160,g);return f.readPixels(t,i,a,l,r,c,o),f.bindFramebuffer(36160,A||null),h&&u.delete(),o}function gI(n,{sourceAttachment:e=36064,targetMaxHeight:t=Number.MAX_SAFE_INTEGER}={}){let i=px(n,{sourceAttachment:e}),{width:r,height:s}=n;for(;s>t;)({data:i,width:r,height:s}=Ore({data:i,width:r,height:s}));!function({data:n,width:e,height:t,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&t>=0,"Width and height need to be integers"),this.width=e,this.height=t,i)for(const u in i){const h=i[u];(Array.isArray(h)?h[0]:h).resize({width:e,height:t})}else i=this._createDefaultAttachments(r,s,o,e,t);this.update({clearAttachments:!0,attachments:i,readBuffer:l,drawBuffers:c}),i&&a&&this.checkStatus()}delete(){for(const e of this.ownResources)e.delete();return super.delete(),this}update({attachments:e={},readBuffer:t,drawBuffers:i,clearAttachments:r=!1,resizeAttachments:s=!0}){this.attach(e,{clearAttachments:r,resizeAttachments:s});const{gl:o}=this,a=o.bindFramebuffer(36160,this.handle);return t&&this._setReadBuffer(t),i&&this._setDrawBuffers(i),o.bindFramebuffer(36160,a||null),this}resize(e={}){let{width:t,height:i}=e;if(null===this.handle)return on(void 0===t&&void 0===i),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===t&&(t=this.gl.drawingBufferWidth),void 0===i&&(i=this.gl.drawingBufferHeight),t!==this.width&&i!==this.height&&mn.log(2,`Resizing framebuffer ${this.id} to ${t}x${i}`)();for(const r in this.attachments)this.attachments[r].resize({width:t,height:i});return this.width=t,this.height=i,this}attach(e,{clearAttachments:t=!1,resizeAttachments:i=!0}={}){const r={};t&&Object.keys(this.attachments).forEach(o=>{r[o]=null}),Object.assign(r,e);const s=this.gl.bindFramebuffer(36160,this.handle);for(const o in r){on(void 0!==o,"Misspelled framebuffer binding point?");const a=Number(o),l=r[a];let c=l;if(c)if(c instanceof zg)this._attachRenderbuffer({attachment:a,renderbuffer:c});else if(Array.isArray(l)){const[u,h=0,f=0]=l;c=u,this._attachTexture({attachment:a,texture:u,layer:h,level:f})}else this._attachTexture({attachment:a,texture:c,layer:0,level:0});else this._unattach(a);i&&c&&c.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,s||null),Object.assign(this.attachments,e),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(n){return(ks.STATUS||{})[n]||`Framebuffer error ${n}`}(t));return this}getStatus(){const{gl:e}=this,t=e.bindFramebuffer(36160,this.handle),i=e.checkFramebufferStatus(36160);return e.bindFramebuffer(36160,t||null),i}clear(e={}){const{color:t,depth:i,stencil:r,drawBuffers:s=[]}=e,o=this.gl.bindFramebuffer(36160,this.handle);return(t||i||r)&&fI(this.gl,{color:t,depth:i,stencil:r}),s.forEach((a,l)=>{!function(n,{framebuffer:e=null,buffer:t=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){Ao(n),hc(n,{framebuffer:e},()=>{switch(t){case 6144:switch(r.constructor){case Int32Array:n.clearBufferiv(t,i,r);break;case Uint32Array:n.clearBufferuiv(t,i,r);break;case Float32Array:default:n.clearBufferfv(t,i,r)}break;case 6145:n.clearBufferfv(6145,0,[r]);break;case 6146:n.clearBufferiv(6146,0,[r]);break;case 34041:const[s,o]=r;n.clearBufferfi(34041,0,s,o);break;default:on(!1,uj)}})}(this.gl,{drawBuffer:l,value:a})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(e={}){return mn.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(e={}){return mn.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(e={}){return mn.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(e={}){return mn.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(e={}){return mn.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(e={}){return mn.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:e=[],x:t=0,y:i=0,width:r,height:s}){const o=Ao(this.gl),a=o.bindFramebuffer(36008,this.handle);return 0===t&&0===i&&void 0===r&&void 0===s?o.invalidateFramebuffer(36008,e):o.invalidateFramebuffer(36008,e,t,i,r,s),o.bindFramebuffer(36008,a),this}getAttachmentParameter(e,t,i){let r=this._getAttachmentParameterFallback(t);return null===r&&(this.gl.bindFramebuffer(36160,this.handle),r=this.gl.getFramebufferAttachmentParameter(36160,e,t),this.gl.bindFramebuffer(36160,null)),i&&r>1e3&&(r=ch(this.gl,r)),r}getAttachmentParameters(e=36064,t,i=this.constructor.ATTACHMENT_PARAMETERS||[]){const r={};for(const s of i)r[t?ch(this.gl,s):s]=this.getAttachmentParameter(e,s,t);return r}getParameters(e=!0){const t=Object.keys(this.attachments),i={};for(const r of t){const s=Number(r);i[e?ch(this.gl,s):s]=this.getAttachmentParameters(s,e)}return i}show(){return"undefined"!=typeof window&&window.open(gI(this),"luma-debug-texture"),this}log(e=0,t=""){if(e>mn.level||"undefined"==typeof window)return this;t=t||`Framebuffer ${this.id}`;const i=gI(this,{targetMaxHeight:100});return mn.image({logLevel:e,message:t,image:i},t)(),this}bind({target:e=36160}={}){return this.gl.bindFramebuffer(e,this.handle),this}unbind({target:e=36160}={}){return this.gl.bindFramebuffer(e,null),this}_createDefaultAttachments(e,t,i,r,s){let o=null;return e&&(o=o||{},o[36064]=new ya(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:r,height:s,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),t&&i?(o=o||{},o[33306]=new zg(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:r,height:111}),this.ownResources.push(o[33306])):t?(o=o||{},o[36096]=new zg(this.gl,{id:`${this.id}-depth`,format:33189,width:r,height:s}),this.ownResources.push(o[36096])):i&&on(!1),o}_unattach(e){const t=this.attachments[e];!t||(t instanceof zg?this.gl.framebufferRenderbuffer(36160,e,36161,null):this.gl.framebufferTexture2D(36160,e,3553,null,0),delete this.attachments[e])}_attachRenderbuffer({attachment:e=36064,renderbuffer:t}){const{gl:i}=this;i.framebufferRenderbuffer(36160,e,36161,t.handle),this.attachments[e]=t}_attachTexture({attachment:e=36064,texture:t,layer:i,level:r}){const{gl:s}=this;switch(s.bindTexture(t.target,t.handle),t.target){case 35866:case 32879:Ao(s).framebufferTextureLayer(36160,e,t.target,r,i);break;case 34067:const a=function(n){return n<34069?n+34069:n}(i);s.framebufferTexture2D(36160,e,a,t.handle,r);break;case 3553:s.framebufferTexture2D(36160,e,3553,t.handle,r);break;default:on(!1,"Illegal texture type")}s.bindTexture(t.target,null),this.attachments[e]=t}_setReadBuffer(e){const t=function(n){return Ci(n)?n:null}(this.gl);t?t.readBuffer(e):on(36064===e||1029===e,fj),this.readBuffer=e}_setDrawBuffers(e){const{gl:t}=this,i=Ao(t);if(i)i.drawBuffers(e);else{const r=t.getExtension("WEBGL_draw_buffers");r?r.drawBuffersWEBGL(e):on(1===e.length&&(36064===e[0]||1029===e[0]),fj)}this.drawBuffers=e}_getAttachmentParameterFallback(e){const t=function(n){n.luma=n.luma||{},n.luma.caps=n.luma.caps||{};for(const e in pj)void 0===n.luma.caps[e]&&(n.luma.caps[e]=mj(n,e));return n.luma.caps}(this.gl);switch(e){case 36052:return t.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return t.WEBGL2?null:8;case 33297:return t.WEBGL2?null:5125;case 33296:return t.WEBGL2||t.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(e){return this.gl.bindFramebuffer(36160,e)}}ks.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];const pj={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(n){const e=new ya(n,{format:6408,type:5126,dataFormat:6408}),t=new ks(n,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=t.getStatus();return e.delete(),t.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function mI(n,e){return gj(n,e)}function gj(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>mj(n,t))}function mj(n,e){return n.luma=n.luma||{},n.luma.caps=n.luma.caps||{},void 0===n.luma.caps[e]&&(n.luma.caps[e]=function(n,e){const t=pj[e];let i;on(t,e);const r=Ci(n)&&t[1]||t[0];if("function"==typeof r)i=r(n);else if(Array.isArray(r)){i=!0;for(const s of r)i=i&&Boolean(n.getExtension(s))}else"string"==typeof r?i=Boolean(n.getExtension(r)):"boolean"==typeof r?i=r:on(!1);return i}(n,e)),n.luma.caps[e]||mn.log(2,`Feature: ${e} not supported`)(),n.luma.caps[e]}class _I{constructor(e,t){this.opts=t,this.source=e}get value(){return this.source.value}getValue(){const e=this.source.getBuffer(),t=this.getAccessor();if(e)return[e,t];const{value:i}=this.source,{size:r}=t;let s=i;if(i&&i.length!==r){s=new Float32Array(r);const o=t.elementOffset||0;for(let a=0;ar&&(s=r);const o=this._pool,a=e.BYTES_PER_ELEMENT*s,l=o.findIndex(c=>c.byteLength>=a);if(l>=0){const c=new e(o.splice(l,1)[0],0,s);return i&&c.fill(0),c}return new e(s)}_release(e){if(!ArrayBuffer.isView(e))return;const t=this._pool,{buffer:i}=e,{byteLength:r}=i,s=t.findIndex(o=>o.byteLength>=r);s<0?t.push(i):(s>0||t.lengththis.props.poolSize&&t.shift()}},ose=1/Math.PI*180,ase=1/180*Math.PI,Dr={};function cse(n,{precision:e=Dr.precision||4}={}){return n=function(n){return Math.round(n/Dr.EPSILON)*Dr.EPSILON}(n),`${parseFloat(n.toPrecision(e))}`}function uh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Qu(n,e,t){if(uh(n)){t=t||function(n){return n.clone?n.clone():new Array(n.length)}(n);for(let i=0;it*ase,void 0)}(n)}function dse(n){return function(n,e){return Qu(n,t=>t*ose,void 0)}(n)}function Ua(n,e,t){return Qu(n,i=>Math.max(e,Math.min(t,i)))}function gx(n,e,t){return uh(n)?n.map((i,r)=>gx(i,e[r],t)):t*e+(1-t)*n}function M0(n,e,t){const i=Dr.EPSILON;t&&(Dr.EPSILON=t);try{if(n===e)return!0;if(uh(n)&&uh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+cse(this[i],e);return`${e.printTypes?this.constructor.name:""}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e0&&(Rj.length=n.length,i=Rj):i=Oj,(e>0||Number.isFinite(t))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,t),r.index=e-1),{iterable:i,objectInfo:r}}function Nj(n){return n&&n[Symbol.asyncIterator]}function xI(n,e=(()=>!0)){return Array.isArray(n)?Pj(n,e,[]):e(n)?[n]:[]}function Pj(n,e,t){let i=-1;for(;++ia)return void e.set(n.subarray(0,a),t);if(e.set(n,t),!s)return;let l=o;for(;ln},spring:{stiffness:.05,damping:.5}};function kj(n,e){return n?(Number.isFinite(n)&&(n={duration:n}),n.type=n.type||"interpolation",at(at(at({},Bse[n.type]),e),n)):null}function Fj(n,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function Lj(n){switch(n){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(n,'"'))}}function Bj(n){n.push(n.shift())}function CI(n,e){const{doublePrecision:t,settings:i,value:r,size:s}=n,o=t&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function Vj({buffer:n,numInstances:e,attribute:t,fromLength:i,fromStartIndices:r,getData:s=(o=>o)}){const o=t.doublePrecision&&t.value instanceof Float64Array?2:1,a=t.size*o,l=t.byteOffset,c=t.startIndices,u=r&&c,h=CI(t,e),f=t.state.constant;if(!u&&i>=h)return;const g=f?t.value:t.getBuffer().getData({srcByteOffset:l});if(t.settings.normalized&&!f){const G=s;s=(k,oe)=>t._normalizeConstant(G(k,oe))}const m=f?(G,k)=>s(g,k):(G,k)=>s(g.subarray(G,G+a),k),A=n.getData({length:i}),I=new Float32Array(h);(function({source:n,target:e,size:t,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return SI({source:n,target:e,size:t,getData:i}),e;let o=0,a=0;const l=i&&((u,h)=>i(u+a,h)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(e).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(e).map(t=>t/255);case 5123:return new Float32Array(e).map(t=>t/65535);default:return e}}_normalizeValue(e,t,i){const{defaultValue:r,size:s}=this.settings;if(Number.isFinite(e))return t[i]=e,t;if(!e)return t[i]=r[0],t;switch(s){case 4:t[i+3]=Number.isFinite(e[3])?e[3]:r[3];case 3:t[i+2]=Number.isFinite(e[2])?e[2]:r[2];case 2:t[i+1]=Number.isFinite(e[1])?e[1]:r[1];case 1:t[i+0]=Number.isFinite(e[0])?e[0]:r[0];break;default:let o=s;for(;--o>=0;)t[i+o]=Number.isFinite(e[o])?e[o]:r[o]}return t}_areValuesEqual(e,t){if(!e||!t)return!1;const{size:i}=this;for(let r=0;re[s])]:e[t],i)}setNeedsUpdate(e=this.id,t){if(this.state.needsUpdate=this.state.needsUpdate||e,this.setNeedsRedraw(e),t){const{startRow:i=0,endRow:r=1/0}=t;this.state.updateRanges=function(n,e){if(n===vx||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return n;const t=[],i=n.length;let r=0;for(let s=0;se[1]?t.push(o):e=[Math.min(o[0],e[0]),Math.max(o[1],e[1])]}return t.splice(r,0,e),t}(this.state.updateRanges,[i,r])}else this.state.updateRanges=vx}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=kse}setNeedsRedraw(e=this.id){this.state.needsRedraw=this.state.needsRedraw||e}update(e){this.setData(e)}allocate(e){const{state:t,settings:i}=this;return!i.noAlloc&&!!i.update&&(super.allocate({numInstances:e,copy:t.updateRanges!==vx}),!0)}updateBuffer({numInstances:e,data:t,props:i,context:r}){if(!this.needsUpdate())return!1;const{state:{updateRanges:s},settings:{update:o,noAlloc:a}}=this;let l=!0;if(o){for(const[c,u]of s)o.call(r,this,{data:t,startRow:c,endRow:u,props:i,numInstances:e});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const I=h*a+l;for(let G=0;Gu?c.set(oe,A):(e._normalizeValue(oe,G.target,0),Pse({target:c,source:G.target,start:A,count:we}));A+=we*u}else e._normalizeValue(oe,c,A),A+=u}}_validateAttributeUpdaters(){const{settings:e}=this;if(!e.noAlloc&&"function"!=typeof e.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:e}=this,t=Math.min(4,this.size);if(e&&e.length>=t){let i=!0;switch(t){case 4:i=i&&Number.isFinite(e[3]);case 3:i=i&&Number.isFinite(e[2]);case 2:i=i&&Number.isFinite(e[1]);case 1:i=i&&Number.isFinite(e[0]);break;default:i=!1}if(!i)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let AI={};function Do(n){Ri.level>0&&AI[n]&&AI[n].call(...arguments)}function za(n,e){if(!n)throw new Error(e||"shadertools: assertion failed.")}const jj="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",Use=`#version 300 es\n${jj}`;function Uj(n,e){e=Array.isArray(e)?e:[e];const t=n.replace(/^\s+/,"").split(/\s+/),[i,r,s]=t;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function zj(n={}){const{version:e=100,input:t,inputType:i,output:r}=n;if(!t)return 300===e?Use:e>300?`#version ${e}\n${jj}`:"void main() {gl_FragColor = vec4(0);}";const s=function(n,e){switch(e){case"float":return`vec4(${n}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${n}, 0.0, 1.0)`;case"vec3":return`vec4(${n}, 1.0)`;case"vec4":return n;default:return za(!1),null}}(t,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${t};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${t};\nvoid main() {\n gl_FragColor = ${s};\n}`}class Hj extends Ku{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(e){return Ci(e)}constructor(e,t={}){Ao(e),super(e,t),this.initialize(t),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(e={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,jg(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(e),this}setProps(e){"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"bindOnUse"in e&&(e=e.bindOnUse),"buffers"in e&&this.setBuffers(e.buffers)}setBuffers(e={}){return this.bind(()=>{for(const t in e)this.setBuffer(t,e[t])}),this}setBuffer(e,t){const i=this._getVaryingIndex(e),{buffer:r,byteSize:s,byteOffset:o}=this._getBufferParams(t);return i<0?(this.unused[e]=r,mn.warn(()=>`${this.id} unused varying buffer ${e}`)(),this):(this.buffers[i]=t,this.bindOnUse||this._bindBuffer(i,r,o,s),this)}begin(e=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(e),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(e){let t,i,r;return e instanceof lr?r=e:(r=e.buffer,i=e.byteSize,t=e.byteOffset),(void 0!==t||void 0!==i)&&(t=t||0,i=i||r.byteLength-t),{buffer:r,byteOffset:t,byteSize:i}}_getVaryingInfo(e){return this.configuration&&this.configuration.getVaryingInfo(e)}_getVaryingIndex(e){if(this.configuration)return this.configuration.getVaryingInfo(e).location;const t=Number(e);return Number.isFinite(t)?t:-1}_bindBuffers(){if(this.bindOnUse)for(const e in this.buffers){const{buffer:t,byteSize:i,byteOffset:r}=this._getBufferParams(this.buffers[e]);this._bindBuffer(e,t,r,i)}}_unbindBuffers(){if(this.bindOnUse)for(const e in this.buffers)this._bindBuffer(e,null)}_bindBuffer(e,t,i=0,r){const s=t&&t.handle;return s&&void 0!==r?this.gl.bindBufferRange(35982,e,s,i,r):this.gl.bindBufferBase(35982,e,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(e){this.gl.bindTransformFeedback(36386,this.handle)}}class $se{constructor(e,t={}){this.gl=e,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}setupResources(e){for(const t of this.bindings)this._setupTransformFeedback(t,e)}updateModelProps(e={}){const{varyings:t}=this;return t.length>0&&(e=Object.assign({},e,{varyings:t})),e}getDrawOptions(e={}){const t=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:r}=t;return{attributes:Object.assign({},i,e.attributes),transformFeedback:r}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupBuffers(e)}getBuffer(e){const{feedbackBuffers:t}=this.bindings[this.currentIndex],i=e?t[e]:null;return i?i instanceof lr?i:i.buffer:null}getData(e={}){const{varyingName:t}=e,i=this.getBuffer(t);return i?i.getData():null}delete(){for(const e in this.resources)this.resources[e].delete()}_initialize(e={}){this._setupBuffers(e),this.varyings=e.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&on(Ci(this.gl))}_getFeedbackBuffers(e){const{sourceBuffers:t={}}=e,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const r in this.feedbackMap){const s=this.feedbackMap[r];r in t&&(i[s]=r)}Object.assign(i,e.feedbackBuffers);for(const r in i){const s=i[r];if("string"==typeof s){const o=t[s],{byteLength:a,usage:l,accessor:c}=o;i[r]=this._createNewBuffer(r,{byteLength:a,usage:l,accessor:c})}}return i}_setupBuffers(e={}){const{sourceBuffers:t=null}=e;Object.assign(this.feedbackMap,e.feedbackMap);const i=this._getFeedbackBuffers(e);this._updateBindings({sourceBuffers:t,feedbackBuffers:i})}_setupTransformFeedback(e,{model:t}){const{program:i}=t;e.transformFeedback=new Hj(this.gl,{program:i,buffers:e.feedbackBuffers})}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceBuffers:t,feedbackBuffers:i})}}_updateBinding(e,t){return e?(Object.assign(e.sourceBuffers,t.sourceBuffers),Object.assign(e.feedbackBuffers,t.feedbackBuffers),e.transformFeedback&&e.transformFeedback.setBuffers(e.feedbackBuffers),e):{sourceBuffers:Object.assign({},t.sourceBuffers),feedbackBuffers:Object.assign({},t.feedbackBuffers)}}_swapBuffers(e){if(!this.feedbackMap)return null;const t=Object.assign({},e.sourceBuffers),i=Object.assign({},e.feedbackBuffers);for(const r in this.feedbackMap){const s=this.feedbackMap[r];t[r]=e.feedbackBuffers[s],i[s]=e.sourceBuffers[r],on(i[s]instanceof lr)}return{sourceBuffers:t,feedbackBuffers:i}}_createNewBuffer(e,t){const i=new lr(this.gl,t);return this.resources[e]&&this.resources[e].delete(),this.resources[e]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}}function Gj(n){let e=100;const t=n.match(/[^\s]+/g);if(t.length>=2&&"#version"===t[0]){const i=parseInt(t[1],10);Number.isFinite(i)&&(e=i)}return e}const R0="vs",Yse={[R0]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},wx="__LUMA_INJECT_DECLARATIONS__",$j=/void\s+main\s*\([^)]*\)\s*\{\n?/,Wj=/}\n?[^{}]*$/,DI=[];function qj(n,e,t,i=!1){const r=e===R0;for(const s in t){const o=t[s];o.sort((l,c)=>l.order-c.order),DI.length=o.length;for(let l=0,c=o.length;ll+a));break;case"vs:#main-end":r&&(n=n.replace(Wj,l=>a+l));break;case"fs:#decl":r||(n=n.replace(wx,a));break;case"fs:#main-start":r||(n=n.replace($j,l=>l+a));break;case"fs:#main-end":r||(n=n.replace(Wj,l=>a+l));break;default:n=n.replace(s,l=>l+a)}}return n=n.replace(wx,""),i&&(n=n.replace(/\}\s*$/,s=>s+Yse[e])),n}function II(n){const e={};return za(Array.isArray(n)&&n.length>1),n.forEach(t=>{for(const i in t)e[i]=e[i]?`${e[i]}\n${t[i]}`:t[i]}),e}const Xse={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},Ex="transform_uSize_",Yj="transform_position";const ioe={10241:9728,10240:9728,10242:33071,10243:33071};class soe{constructor(e,t={}){this.gl=e,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(t),Object.seal(this)}updateModelProps(e={}){const t=this._processVertexShader(e);return Object.assign({},e,t)}getDrawOptions(e={}){const{sourceBuffers:t,sourceTextures:i,framebuffer:r,targetTexture:s}=this.bindings[this.currentIndex],o=Object.assign({},t,e.attributes),a=Object.assign({},e.uniforms),l=Object.assign({},e.parameters);let c=e.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(const h in this.samplerTextureMap)a[h]=i[this.samplerTextureMap[h]];this._setSourceTextureParameters();const u=function({sourceTextureMap:n,targetTextureVarying:e,targetTexture:t}){const i={};let r,s;e&&(({width:r,height:s}=t),i[`${Ex}${e}`]=[r,s]);for(const o in n)({width:r,height:s}=n[o]),i[`${Ex}${o}`]=[r,s];return i}({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:s});Object.assign(a,u)}return this.hasTargetTexture&&(c=!1,l.viewport=[0,0,r.width,r.height]),{attributes:o,framebuffer:r,uniforms:a,discard:c,parameters:l}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(e={}){this._setupTextures(e)}getTargetTexture(){const{targetTexture:e}=this.bindings[this.currentIndex];return e}getData({packed:e=!1}={}){const{framebuffer:t}=this.bindings[this.currentIndex],i=px(t);if(!e)return i;const r=i.constructor,s=function(n){switch(n){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return za(!1),null}}(this.targetTextureType),o=new r(i.length*s/4);let a=0;for(let l=0;l0,this._updateBindings({sourceBuffers:t,sourceTextures:i,targetTexture:s}),"elementCount"in e&&this._updateElementIDBuffer(e.elementCount)}_updateElementIDBuffer(e){if("number"!=typeof e||this.elementCount>=e)return;const t=new Float32Array(e);t.forEach((i,r,s)=>{s[r]=r}),this.elementIDBuffer?this.elementIDBuffer.setData({data:t}):this.elementIDBuffer=new lr(this.gl,{data:t,accessor:{size:1}}),this.elementCount=e}_updateBindings(e){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],e),this._swapTexture){const{sourceTextures:t,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),r=this._getNextIndex();this.bindings[r]=this._updateBinding(this.bindings[r],{sourceTextures:t,targetTexture:i})}}_updateBinding(e,t){const{sourceBuffers:i,sourceTextures:r,targetTexture:s}=t;if(e||(e={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(e.sourceTextures,r),Object.assign(e.sourceBuffers,i),s){e.targetTexture=s;const{width:o,height:a}=s,{framebuffer:l}=e;l?(l.update({attachments:{36064:s},resizeAttachments:!1}),l.resize({width:o,height:a})):e.framebuffer=new ks(this.gl,{id:"transform-framebuffer",width:o,height:a,attachments:{36064:s}})}return e}_setSourceTextureParameters(){const e=this.currentIndex,{sourceTextures:t}=this.bindings[e];for(const i in t)t[i].setParameters(ioe)}_swapTextures(e){if(!this._swapTexture)return null;const t=Object.assign({},e.sourceTextures);return t[this._swapTexture]=e.targetTexture,{sourceTextures:t,targetTexture:e.sourceTextures[this._swapTexture]}}_createNewTexture(e){const t=hj(e,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=t,t}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(e={}){const{sourceTextures:t,targetTexture:i}=this.bindings[this.currentIndex],{vs:r,uniforms:s,targetTextureType:o,inject:a,samplerTextureMap:l}=function({vs:n,sourceTextureMap:e,targetTextureVarying:t,targetTexture:i}){let s=Object.keys(e).length,o=null;const a={};let l=n,c={};if(s>0||t){const u=l.split("\n"),h=u.slice();if(u.forEach((f,g,m)=>{if(s>0){const A=function(n,e){const t={},i=function(n){return Uj(n,["attribute","in"])}(n);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const o=`// ${n} => Replaced by Transform with a sampler`,{samplerName:a,sizeName:l,uniformDeclerations:c}=function(n){const e=`transform_uSampler_${n}`,t=`${Ex}${n}`;return{samplerName:e,sizeName:t,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${t};`}}(s),h=` ${r} ${s} = transform_getInput(${a}, ${l}).${function(n){switch(n){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return za(!1),null}}(r)};\n`;return t[a]=s,{updatedLine:o,inject:{"vs:#decl":c,"vs:#main-start":h},samplerTextureMap:t}}return null}(f,e);if(A){const{updatedLine:I,inject:G}=A;h[g]=I,c=II([c,G]),Object.assign(a,A.samplerTextureMap),s--}}t&&!o&&(o=function(n,e){const t=Uj(n,["varying","out"]);return t&&t.name===e?t.type:null}(f,t))}),t){on(i);const f=`${Ex}${t}`;c=II([c,{"vs:#decl":`uniform vec2 ${f};\n`,"vs:#main-start":` vec2 ${Yj} = transform_getPos(${f});\n gl_Position = vec4(${Yj}, 0, 1.);\n`}])}l=h.join("\n")}return{vs:l,targetTextureType:o,inject:c,samplerTextureMap:a}}({vs:e.vs,sourceTextureMap:t,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),c=II([e.inject||{},a]);return this.targetTextureType=o,this.samplerTextureMap=l,{vs:r,fs:e._fs||zj({version:Gj(r),input:this.targetTextureVarying,inputType:o,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[Xse].concat(e.modules||[]):e.modules,uniforms:s,inject:c}}}const OI={number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},array:{validate:(n,e)=>Array.isArray(n)||ArrayBuffer.isView(n)}};function aoe(n){let e=Xj(n);return"object"===e?n?"type"in n?Object.assign({},n,OI[n.type]):"value"in n?(e=Xj(n.value),Object.assign({type:e},n,OI[e])):{type:"object",value:n}:{type:"object",value:null}:Object.assign({type:e,value:n},OI[e])}function Xj(n){return Array.isArray(n)||ArrayBuffer.isView(n)?"array":typeof n}class RI{constructor({name:e,vs:t,fs:i,dependencies:r=[],uniforms:s,getUniforms:o,deprecations:a=[],defines:l={},inject:c={},vertexShader:u,fragmentShader:h}){za("string"==typeof e),this.name=e,this.vs=t||u,this.fs=i||h,this.getModuleUniforms=o,this.dependencies=r,this.deprecations=this._parseDeprecationDefinitions(a),this.defines=l,this.injections=function(n){const e={vs:{},fs:{}};for(const t in n){let i=n[t];const r=t.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][t]=i}return e}(c),s&&(this.uniforms=function(n){const e={};for(const t in n){const r=aoe(n[t]);e[t]=r}return e}(s))}getModuleSource(e){let t;switch(e){case"vs":t=this.vs||"";break;case"fs":t=this.fs||"";break;default:za(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${t}// END MODULE_${this.name}\n\n`}getUniforms(e,t){return this.getModuleUniforms?this.getModuleUniforms(e,t):this.uniforms?this._defaultGetUniforms(e):{}}getDefines(){return this.defines}checkDeprecations(e,t){this.deprecations.forEach(i=>{i.regex.test(e)&&(i.deprecated?t.deprecated(i.old,i.new)():t.removed(i.old,i.new)())})}_parseDeprecationDefinitions(e){return e.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),e}_defaultGetUniforms(e={}){const t={},i=this.uniforms;for(const r in i){const s=i[r];r in e&&!s.private?(s.validate&&za(s.validate(e[r],s),`${this.name}: invalid ${r}`),t[r]=e[r]):t[r]=s.value}return t}}function doe(n){return function(n){const e={},t={};return NI({modules:n,level:0,moduleMap:e,moduleDepth:t}),Object.keys(t).sort((i,r)=>t[r]-t[i]).map(i=>e[i])}(Qj(n))}function NI({modules:n,level:e,moduleMap:t,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of n)t[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof RI||(za("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),za(t.name,"shader module has no name"),(t=new RI(t)).dependencies=Qj(t.dependencies)),t))}const PI={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},kf={};function boe(n,e){return n.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":n.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":n.match(/AMD/i)||e.match(/AMD/i)||n.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(PI).forEach(n=>{kf[n]=n});const kI={};function Zj(n,e,t={}){const i=PI[e];if(za(i,e),!function(n={}){const e="undefined"!=typeof window&&window.navigator||{},t=n.userAgent||e.userAgent||"",i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r}(t))return!0;if(e in kI)return kI[e];const o=`#extension GL_${i[0]} : ${t.behavior||"enable"}\nvoid main(void) {}`,a=n.createShader(35633);n.shaderSource(a,o),n.compileShader(a);const l=n.getShaderParameter(a,35713);return n.deleteShader(a),kI[e]=l,l}function xx(n,e){return(e=Array.isArray(e)?e:[e]).every(t=>function(n,e){const t=PI[e];za(t,e);const i=function(n){return"undefined"!=typeof WebGL2RenderingContext&&n instanceof WebGL2RenderingContext||Boolean(n&&2===n._version)}(n)&&t[1]||t[0],r="string"==typeof i?Boolean(n.getExtension(i)):i;return za(!1===r||!0===r),r}(n,t))}function Gg(n){return new RegExp(`\\b${n}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const Jj=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],xoe=[...Jj,[Gg("attribute"),"in $1"],[Gg("varying"),"out $1"]],Soe=[...Jj,[Gg("varying"),"in $1"]],eU=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],Coe=[...eU,[Gg("in"),"attribute $1"],[Gg("out"),"varying $1"]],Toe=[...eU,[Gg("in"),"varying $1"]],FI="gl_FragColor",LI=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,Aoe=/void\s+main\s*\([^)]*\)\s*\{\n?/;function Sx(n,e){for(const[t,i]of e)n=n.replace(t,i);return n}const Ooe=`\n\n${wx}\n\n`,tU={[R0]:"vertex",fs:"fragment"};function nU(n,{id:e,source:t,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){za("string"==typeof t,"shader source must be a string");const h=i===R0,f=t.split("\n");let g=100,m="",A=t;0===f[0].indexOf("#version ")?(g=300,m=f[0],A=f.slice(1).join("\n")):m=`#version ${g}`;const I={};r.forEach(Ue=>{Object.assign(I,Ue.getDefines())}),Object.assign(I,s);let G=c?`${m}\n${function({id:n,source:e,type:t}){return n&&"string"==typeof n&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${n}_${tU[t]}\n\n`:""}({id:e,source:t,type:i})}\n${function({type:n}){return`\n#define SHADER_TYPE_${tU[n].toUpperCase()}\n`}({type:i})}\n${function(n){switch(function(n){const e=n.getExtension("WEBGL_debug_renderer_info"),t=n.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=n.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:boe(t,i),vendor:t,renderer:i,version:n.getParameter(7938),shadingLanguageVersion:n.getParameter(35724)}}(n).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(n)}\n${function(n,e,t){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return xx(n,kf.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),xx(n,kf.GLSL_DERIVATIVES)&&Zj(n,kf.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),xx(n,kf.GLSL_FRAG_DATA)&&Zj(n,kf.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),xx(n,kf.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(n)}\n${function(n={}){let e=0,t="";for(const i in n){0===e&&(t+="\n// APPLICATION DEFINES\n"),e++;const r=n[i];(r||Number.isFinite(r))&&(t+=`#define ${i.toUpperCase()} ${n[i]}\n`)}return 0===e&&(t+="\n"),t}(I)}\n${h?"":"precision highp float;\n\n"}\n`:`${m}\n`;const k=function(n){const e={vs:{},fs:{}};return n.forEach(t=>{let i;"string"!=typeof t?(i=t,t=i.hook):i={},t=t.trim();const[r,s]=t.split(":"),o=t.replace(/\(.+/,"");e[r][o]=Object.assign(i,{signature:s})}),e}(o),oe={},we={},Be={};for(const Ue in a){const qe="string"==typeof a[Ue]?{injection:a[Ue],order:0}:a[Ue],bt=Ue.match(/^(v|f)s:(#)?([\w-]+)$/);if(bt){const Mt=bt[3];bt[2]?"decl"===Mt?we[Ue]=[qe]:Be[Ue]=[qe]:oe[Ue]=[qe]}else Be[Ue]=[qe]}for(const Ue of r){u&&Ue.checkDeprecations(A,u),G+=Ue.getModuleSource(i,g);const bt=Ue.injections[i];for(const xt in bt){const Mt=xt.match(/^(v|f)s:#([\w-]+)$/);if(Mt){const Wt="decl"===Mt[2]?we:Be;Wt[xt]=Wt[xt]||[],Wt[xt].push(bt[xt])}else oe[xt]=oe[xt]||[],oe[xt].push(bt[xt])}}return G+=Ooe,G=qj(G,i,we),G+=function(n,e){let t="";for(const i in n){const r=n[i];if(t+=`void ${r.signature} {\n`,r.header&&(t+=` ${r.header}`),e[i]){const s=e[i];s.sort((o,a)=>o.order-a.order);for(const o of s)t+=` ${o.injection}\n`}r.footer&&(t+=` ${r.footer}`),t+="}\n"}return t}(k[i],oe),G+=A,G=qj(G,i,Be),G=function(n,e,t){switch(e){case 300:return t?Sx(n,xoe):function(n){const e=(n=Sx(n,Soe)).match(LI);if(e){const t=e[1];n=n.replace(new RegExp(`\\b${FI}\\b`,"g"),t)}else{const t="fragmentColor";n=n.replace(Aoe,i=>`out vec4 ${t};\n${i}`).replace(new RegExp(`\\b${FI}\\b`,"g"),t)}return n}(n);case 100:return t?Sx(n,Coe):function(n){const e=(n=Sx(n,Toe)).match(LI);if(e){const t=e[1];n=n.replace(LI,"").replace(new RegExp(`\\b${t}\\b`,"g"),FI)}return n}(n);default:throw new Error(`unknown GLSL version ${e}`)}}(G,l?100:g,h),G}function Poe(n){return function(t){const i={};for(const r of n){const s=r.getUniforms(t,i);Object.assign(i,s)}return i}}const joe={5126:Ir.bind(null,"uniform1fv",Ha,1,Io),35664:Ir.bind(null,"uniform2fv",Ha,2,Io),35665:Ir.bind(null,"uniform3fv",Ha,3,Io),35666:Ir.bind(null,"uniform4fv",Ha,4,Io),5124:Ir.bind(null,"uniform1iv",dh,1,Io),35667:Ir.bind(null,"uniform2iv",dh,2,Io),35668:Ir.bind(null,"uniform3iv",dh,3,Io),35669:Ir.bind(null,"uniform4iv",dh,4,Io),35670:Ir.bind(null,"uniform1iv",dh,1,Io),35671:Ir.bind(null,"uniform2iv",dh,2,Io),35672:Ir.bind(null,"uniform3iv",dh,3,Io),35673:Ir.bind(null,"uniform4iv",dh,4,Io),35674:Ir.bind(null,"uniformMatrix2fv",Ha,4,Ju),35675:Ir.bind(null,"uniformMatrix3fv",Ha,9,Ju),35676:Ir.bind(null,"uniformMatrix4fv",Ha,16,Ju),35678:oo,35680:oo,5125:Ir.bind(null,"uniform1uiv",Cx,1,Io),36294:Ir.bind(null,"uniform2uiv",Cx,2,Io),36295:Ir.bind(null,"uniform3uiv",Cx,3,Io),36296:Ir.bind(null,"uniform4uiv",Cx,4,Io),35685:Ir.bind(null,"uniformMatrix2x3fv",Ha,6,Ju),35686:Ir.bind(null,"uniformMatrix2x4fv",Ha,8,Ju),35687:Ir.bind(null,"uniformMatrix3x2fv",Ha,6,Ju),35688:Ir.bind(null,"uniformMatrix3x4fv",Ha,12,Ju),35689:Ir.bind(null,"uniformMatrix4x2fv",Ha,8,Ju),35690:Ir.bind(null,"uniformMatrix4x3fv",Ha,12,Ju),35678:oo,35680:oo,35679:oo,35682:oo,36289:oo,36292:oo,36293:oo,36298:oo,36299:oo,36300:oo,36303:oo,36306:oo,36307:oo,36308:oo,36311:oo},Uoe={},zoe={},Hoe={},iU=[0];function BI(n,e,t,i){1===e&&"boolean"==typeof n&&(n=n?1:0),Number.isFinite(n)&&(iU[0]=n,n=iU);const r=n.length;if(r%e&&mn.warn(`Uniform size should be multiples of ${e}`,n)(),n instanceof t)return n;let s=i[r];s||(s=new t(r),i[r]=s);for(let o=0;o{const r=n!==i;return r&&(e.uniform1i(t,i),n=i),r}}function Ir(n,e,t,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,t),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{on(s===u,"Uniform length cannot change.");for(let f=0;f{const a=String(o+e);return aU(a,r-a.length)+t+s})}(e);return{shaderName:l,errors:oU(s,c),warnings:oU(o,c)}}(i,this.source,this.shaderType,this.id);throw mn.error(`GLSL compilation errors in ${r}\n${s}`)(),mn.warn(`GLSL compilation warnings in ${r}\n${o}`)(),new Error(`GLSL compilation errors in ${r}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class VI extends N0{get[Symbol.toStringTag](){return"VertexShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class jI extends N0{get[Symbol.toStringTag](){return"FragmentShader"}constructor(e,t){"string"==typeof t&&(t={source:t}),super(e,Object.assign({},t,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const Fs=5126,P0=5124,k0=5125,UI={[Fs]:[Fs,1,"float"],35664:[Fs,2,"vec2"],35665:[Fs,3,"vec3"],35666:[Fs,4,"vec4"],[P0]:[P0,1,"int"],35667:[P0,2,"ivec2"],35668:[P0,3,"ivec3"],35669:[P0,4,"ivec4"],[k0]:[k0,1,"uint"],36294:[k0,2,"uvec2"],36295:[k0,3,"uvec3"],36296:[k0,4,"uvec4"],35670:[Fs,1,"bool"],35671:[Fs,2,"bvec2"],35672:[Fs,3,"bvec3"],35673:[Fs,4,"bvec4"],35674:[Fs,8,"mat2"],35685:[Fs,8,"mat2x3"],35686:[Fs,8,"mat2x4"],35675:[Fs,12,"mat3"],35687:[Fs,12,"mat3x2"],35688:[Fs,12,"mat3x4"],35676:[Fs,16,"mat4"],35689:[Fs,16,"mat4x2"],35690:[Fs,16,"mat4x3"]};function fU(n){const e=UI[n];if(!e)return null;const[t,i]=e;return{type:t,components:i}}function pU(n,e){switch(n){case 5120:case 5121:case 5122:case 5123:n=Fs}for(const t in UI){const[i,r,s]=UI[t];if(i===n&&r===e)return{glType:t,name:s}}return null}class Aae{constructor(e){this.id=e.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(e),this._readVaryingsFromProgram(e)}getAttributeInfo(e){const t=Number(e);return Number.isFinite(t)?this.attributeInfosByLocation[t]:this.attributeInfosByName[e]||null}getAttributeLocation(e){const t=this.getAttributeInfo(e);return t?t.location:-1}getAttributeAccessor(e){const t=this.getAttributeInfo(e);return t?t.accessor:null}getVaryingInfo(e){const t=Number(e);return Number.isFinite(t)?this.varyingInfos[t]:this.varyingInfosByName[e]||null}getVaryingIndex(e){const t=this.getVaryingInfo();return t?t.location:-1}getVaryingAccessor(e){const t=this.getVaryingInfo();return t?t.accessor:null}_readAttributesFromProgram(e){const{gl:t}=e,i=t.getProgramParameter(e.handle,35721);for(let r=0;r=0&&this._addAttribute(l,s,o,a)}this.attributeInfos.sort((r,s)=>r.location-s.location)}_readVaryingsFromProgram(e){const{gl:t}=e;if(!Ci(t))return;const i=t.getProgramParameter(e.handle,35971);for(let r=0;rr.location-s.location)}_addAttribute(e,t,i,r){const{type:s,components:o}=fU(i),a={type:s,size:r*o};this._inferProperties(e,t,a);const l={location:e,name:t,accessor:new _a(a)};this.attributeInfos.push(l),this.attributeInfosByLocation[e]=l,this.attributeInfosByName[l.name]=l}_inferProperties(e,t,i){/instance/i.test(t)&&(i.divisor=1)}_addVarying(e,t,i,r){const{type:s,components:o}=fU(i),l={location:e,name:t,accessor:new _a({type:s,size:r*o})};this.varyingInfos.push(l),this.varyingInfosByName[l.name]=l}}const Mae=35981,Dae=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class mU extends Ku{get[Symbol.toStringTag](){return"Program"}constructor(e,t={}){super(e,t),this.stubRemovedMethods("Program","v6.0",Dae),this._isCached=!1,this.initialize(t),Object.seal(this),this._setId(t.id)}initialize(e={}){const{hash:t,vs:i,fs:r,varyings:s,bufferMode:o=Mae}=e;return this.hash=t||"",this.vs="string"==typeof i?new VI(this.gl,{id:`${e.id}-vs`,source:i}):i,this.fs="string"==typeof r?new jI(this.gl,{id:`${e.id}-fs`,source:r}):r,on(this.vs instanceof VI),on(this.fs instanceof jI),this.uniforms={},this._textureUniforms={},s&&s.length>0&&(Ao(this.gl),this.varyings=s,this.gl2.transformFeedbackVaryings(this.handle,s,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new Aae(this),this.setProps(e)}delete(e={}){return this._isCached?this:super.delete(e)}setProps(e){return"uniforms"in e&&this.setUniforms(e.uniforms),this}draw({logPriority:e,drawMode:t=4,vertexCount:i,offset:r=0,start:s,end:o,isIndexed:a=!1,indexType:l=5123,instanceCount:c=0,isInstanced:u=c>0,vertexArray:h=null,transformFeedback:f,framebuffer:g,parameters:m={},uniforms:A,samplers:I}){if((A||I)&&(mn.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(A||{})),mn.priority>=e){const G=g?g.id:"default",k=`mode=${ch(this.gl,t)} verts=${i} instances=${c} indexType=${ch(this.gl,l)} isInstanced=${u} isIndexed=${a} Framebuffer=${G}`;mn.log(e,k)()}return on(h),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===i||u&&0===c||(h.bindForDraw(i,c,()=>{if(void 0!==g&&(m=Object.assign({},m,{framebuffer:g})),f){const G=function(n){switch(n){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return on(!1),0}}(t);f.begin(G)}this._bindTextures(),hc(this.gl,m,()=>{a&&u?this.gl2.drawElementsInstanced(t,i,l,r,c):a&&Ci(this.gl)&&!isNaN(s)&&!isNaN(o)?this.gl2.drawRangeElements(t,s,o,i,l,r):a?this.gl.drawElements(t,i,l,r):u?this.gl2.drawArraysInstanced(t,r,i,c):this.gl.drawArrays(t,r,i)}),f&&f.end()}),0))}setUniforms(e={}){mn.priority>=2&&function(n,e,t){for(const i in n){const r=n[i];if((!t||Boolean(t[i]))&&!Woe(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(e,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const t in e){const i=e[t],r=this._uniformSetters[t];if(r){let s=i,o=!1;if(s instanceof ks&&(s=s.texture),s instanceof Nf)if(o=this.uniforms[t]!==i,o){void 0===r.textureIndex&&(r.textureIndex=this._textureIndexCounter++);const a=s,{textureIndex:l}=r;a.bind(l),s=l,this._textureUniforms[t]=a}else s=r.textureIndex;else this._textureUniforms[t]&&delete this._textureUniforms[t];(r(s)||o)&&qoe(this.uniforms,t,i)}}return this}_areTexturesRenderable(){let e=!0;for(const t in this._textureUniforms){const i=this._textureUniforms[t];i.update(),e=e&&i.loaded}return e}_bindTextures(){for(const e in this._textureUniforms)this._textureUniforms[e].bind(this._uniformSetters[e].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(e){const t=this.gl.getAttachedShaders(e),i={};for(const r of t)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new VI({handle:r});break;case 35632:i.fs=new jI({handle:r})}return i}_getParameter(e){return this.gl.getProgramParameter(this.handle,e)}_setId(e){if(!e){const t=this._getName();this.id=ma(t)}}_getName(){let e=this.vs.getName()||this.fs.getName();return e=e.replace(/shader/i,""),e=e?`${e}-program`:"program",e}_compileAndLink(){const{gl:e}=this;if(e.attachShader(this.handle,this.vs.handle),e.attachShader(this.handle,this.fs.handle),mn.time(4,`linkProgram for ${this._getName()}`)(),e.linkProgram(this.handle),mn.timeEnd(4,`linkProgram for ${this._getName()}`)(),e.debug||mn.level>0){if(!e.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${e.getProgramInfoLog(this.handle)}`);if(e.validateProgram(this.handle),!e.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${e.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:e}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let t=0;t1)for(let o=0;ot.name===e.name)||this._defaultModules.push(e),this.stateHash++}removeDefaultModule(e){const t="string"==typeof e?e:e.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==t),this.stateHash++}addShaderHook(e,t){t&&(e=Object.assign(t,{hook:e})),this._hookFunctions.push(e),this.stateHash++}get(e={}){const{vs:t="",fs:i="",defines:r={},inject:s={},varyings:o=[],bufferMode:a=35981,transpileToGLSL100:l=!1}=e,c=this._getModuleList(e.modules),u=this._getHash(t),h=this._getHash(i),f=c.map(oe=>this._getHash(oe.name)).sort(),g=o.map(oe=>this._getHash(oe)),m=Object.keys(r).sort(),A=Object.keys(s).sort(),I=[],G=[];for(const oe of m)I.push(this._getHash(oe)),I.push(this._getHash(r[oe]));for(const oe of A)G.push(this._getHash(oe)),G.push(this._getHash(s[oe]));const k=`${u}/${h}D${I.join("/")}M${f.join("/")}I${G.join("/")}V${g.join("/")}H${this.stateHash}B${a}${l?"T":""}`;if(!this._programCache[k]){const oe=function(n,e){const{vs:t,fs:i}=e,r=doe(e.modules||[]);return{gl:n,vs:nU(n,Object.assign({},e,{source:t,type:R0,modules:r})),fs:nU(n,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:Poe(r)}}(this.gl,{vs:t,fs:i,modules:c,inject:s,defines:r,hookFunctions:this._hookFunctions,transpileToGLSL100:l});this._programCache[k]=new mU(this.gl,{hash:k,vs:oe.vs,fs:oe.fs,varyings:o,bufferMode:a}),this._getUniforms[k]=oe.getUniforms||(we=>{}),this._useCounts[k]=0}return this._useCounts[k]++,this._programCache[k]}getUniforms(e){return this._getUniforms[e.hash]||null}release(e){const t=e.hash;this._useCounts[t]--,0===this._useCounts[t]&&(this._programCache[t].delete(),delete this._programCache[t],delete this._getUniforms[t],delete this._useCounts[t])}_getHash(e){return void 0===this._hashes[e]&&(this._hashes[e]=this._hashCounter++),this._hashes[e]}_getModuleList(e=[]){const t=new Array(this._defaultModules.length+e.length),i={};let r=0;for(let s=0,o=this._defaultModules.length;s-1)return"Edge";const i=-1!==t.indexOf("MSIE "),r=-1!==t.indexOf("Trident/");return i||r?"IE":v0.chrome?"Chrome":v0.safari?"Safari":v0.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(e){return e.luma=e.luma||{},e.luma.defaultVertexArray||(e.luma.defaultVertexArray=new Ga(e,{handle:null,isDefaultArray:!0})),e.luma.defaultVertexArray}static getMaxAttributes(e){return Ga.MAX_ATTRIBUTES=Ga.MAX_ATTRIBUTES||e.getParameter(34921),Ga.MAX_ATTRIBUTES}static setConstant(e,t,i){switch(i.constructor){case Float32Array:Ga._setConstantFloatArray(e,t,i);break;case Int32Array:Ga._setConstantIntArray(e,t,i);break;case Uint32Array:Ga._setConstantUintArray(e,t,i);break;default:on(!1)}}constructor(e,t={}){super(e,Object.assign({},t,{id:t.id||t.program&&t.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=t.isDefaultArray||!1,this.gl2=e,this.initialize(t),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return Ga.getMaxAttributes(this.gl)}initialize(e={}){return this.setProps(e)}setProps(e){return this}setElementBuffer(e=null,t={}){return on(!e||34963===e.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,e?e.handle:null)}),this}setBuffer(e,t,i){if(34963===t.target)return this.setElementBuffer(t,i);const{size:r,type:s,stride:o,offset:a,normalized:l,integer:c,divisor:u}=i,{gl:h,gl2:f}=this;return e=Number(e),this.bind(()=>{h.bindBuffer(34962,t.handle),c?(on(Ci(h)),f.vertexAttribIPointer(e,r,s,o,a)):h.vertexAttribPointer(e,r,s,l,o,a),h.enableVertexAttribArray(e),f.vertexAttribDivisor(e,u||0)}),this}enable(e,t=!0){return!t&&0===e&&!Ga.isSupported(this.gl,{constantAttributeZero:!0})||(e=Number(e),this.bind(()=>t?this.gl.enableVertexAttribArray(e):this.gl.disableVertexAttribArray(e))),this}getConstantBuffer(e,t){const i=this._normalizeConstantArrayValue(t),r=i.byteLength*e,s=i.length*e;let o=!this.buffer;if(this.buffer=this.buffer||new lr(this.gl,r),o=o||this.buffer.reallocate(r),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){const a=function(n,e){return new n(function(n){return(!Mx||Mx.byteLength{switch(e){case 34373:return this.gl.getVertexAttribOffset(t,e);default:return this.gl.getVertexAttrib(t,e)}})}}const Fae=/^(.+)__LOCATION_([0-9]+)$/,Lae=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class Bae{constructor(e,t={}){this.id=t.id||t.program&&t.program.id,this.gl=e,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new Ga(e),JV(this,"VertexArray","v6.0",Lae),this.initialize(t),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(e={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(e)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:e}=this.vertexArrayObject;return this.values=new Array(e).fill(null),this.accessors=new Array(e).fill(null),this.unused={},this.drawParams=null,this}setProps(e){return"program"in e&&(this.configuration=e.program&&e.program.configuration),"configuration"in e&&(this.configuration=e.configuration),"attributes"in e&&this.setAttributes(e.attributes),"elements"in e&&this.setElementBuffer(e.elements),"bindOnUse"in e&&(e=e.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(e){return Object.assign(this.attributes,e),this.vertexArrayObject.bind(()=>{for(const t in e)this._setAttribute(t,e[t]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(e=null,t={}){return this.elements=e,this.elementsAccessor=t,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(e,t),this}setBuffer(e,t,i={}){if(34963===t.target)return this.setElementBuffer(t,i);const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,t.accessor,i);return r>=0&&(this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.setBuffer(r,t,s)),this}setConstant(e,t,i={}){const{location:r,accessor:s}=this._resolveLocationAndAccessor(e,t,Object.assign({size:t.length},i));return r>=0&&(t=this.vertexArrayObject._normalizeConstantArrayValue(t),this.values[r]=t,this.accessors[r]=s,this.clearDrawParams(),this.vertexArrayObject.enable(r,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new lr(this.gl,{accessor:{size:4}});for(let e=0;e{this.elements&&this.setElementBuffer(this.elements);for(let e=0;e{this._setConstantAttributes(e,t),r=i()}),r}_resolveLocationAndAccessor(e,t,i,r){const s={location:-1,accessor:null},{location:o,name:a}=this._getAttributeIndex(e);if(!Number.isFinite(o)||o<0)return this.unused[e]=t,mn.once(3,()=>`unused value ${e} in ${this.id}`)(),s;const l=this._getAttributeInfo(a||o);if(!l)return s;const u=_a.resolve(l.accessor,this.accessors[o]||{},i,r),{size:h,type:f}=u;return on(Number.isFinite(h)&&Number.isFinite(f)),{location:o,accessor:u}}_getAttributeInfo(e){return this.configuration&&this.configuration.getAttributeInfo(e)}_getAttributeIndex(e){const t=Number(e);if(Number.isFinite(t))return{location:t};const i=Fae.exec(e),r=i?i[1]:e,s=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(r)+s,name:r}:{location:-1}}_setAttribute(e,t){if(t instanceof lr)this.setBuffer(e,t);else if(Array.isArray(t)&&t.length&&t[0]instanceof lr)this.setBuffer(e,t[0],t[1]);else if(ArrayBuffer.isView(t)||Array.isArray(t))this.setConstant(e,t);else{if(!(t.buffer instanceof lr))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(e,t.buffer,t)}}_setConstantAttributes(e,t){const i=Math.max(0|e,0|t);let r=this.values[0];ArrayBuffer.isView(r)&&this._setConstantAttributeZero(r,i);for(let s=1;s0;if(e.isInstanced=e.isInstanced||o,i instanceof lr){const a=i;if(o){const l=a.getVertexCount(r);e.instanceCount=Math.min(e.instanceCount,l)}else{const l=a.getVertexCount(r);e.vertexCount=Math.min(e.vertexCount,l)}}}setElements(e=null,t={}){return mn.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(e,t)}}function L0(n,e={}){const{isInteger:i=!1}=e;if(Array.isArray(n)||ArrayBuffer.isView(n))return function(n,e){const{maxElts:t=16,size:i=1}=e;let r="[";for(let o=0;o0&&(r+=","+(o%i==0?" ":"")),r+=L0(n[o],e);return`${r}${n.length>t?"...":"]"}`}(n,e);if(!Number.isFinite(n))return String(n);if(Math.abs(n)<1e-16)return i?"0":"0.";if(i||Math.abs(n)>100&&Math.abs(n)<1e4)return n.toFixed(0);const r=n.toPrecision(2);return r.indexOf(".0")===r.length-2?r.slice(0,-1):r}function _U(n,e,t,i){const{gl:r}=n;if(!e)return{[i]:"null","Format ":"N/A"};let c,u,h,s="NOT PROVIDED",o=1,a=0,l=0;if(t&&(s=t.type,o=t.size,s=String(s).replace("Array",""),c=-1!==s.indexOf("nt")),e instanceof lr){const f=e,{data:g,changed:m}=f.getDebugData();let A;return u=m?"*":"",h=g,l=f.byteLength,a=l/g.BYTES_PER_ELEMENT/o,t?A=`${t.divisor>0?"I ":"P "} ${a} (x${o}=${l} bytes ${ch(r,s)})`:(c=!0,A=`${l} bytes`),{[i]:`${u}${L0(h,{size:o,isInteger:c})}`,"Format ":A}}return h=e,o=e.length,s=String(e.constructor.name).replace("Array",""),c=-1!==s.indexOf("nt"),{[i]:`${L0(h,{size:o,isInteger:c})} (constant)`,"Format ":`${o}x${s} (constant)`}}function Uae(n,e){const{type:t,size:i}=e,r=pU(t,i);return r?`${n} (${r.name})`:n}function yU({header:n="Uniforms",program:e,uniforms:t,undefinedOnly:i=!1}){on(e);const s=".*Matrix",a={},l=Object.keys(e._uniformSetters).sort();let c=0;for(const f of l)!f.match(".*_.*")&&!f.match(s)&&zI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;for(const f of l)f.match(s)&&zI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;for(const f of l)a[f]||zI({table:a,header:n,uniforms:t,uniformName:f,undefinedOnly:i})&&c++;let u=0;const h={};if(!i)for(const f in t){const g=t[f];a[f]||(u++,h[f]={Type:`NOT USED: ${g}`,[n]:L0(g)})}return{table:a,count:c,unusedTable:h,unusedCount:u}}function zI({table:n,header:e,uniforms:t,uniformName:i,undefinedOnly:r}){const s=t[i],o=function(n){return null!=n}(s);return!(r&&o||(n[i]={[e]:o?L0(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function bU(n){const{type:e,size:t}=n.accessor,i=pU(e,t);return i?`${i.name} ${n.name}`:n.name}const Gae={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function Wae(n,e){const{attributeMap:t=Gae}=e||{};return t&&t[n]||n}function qae(n,e){let t;switch(n){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":t="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":t="vectors"}switch(t){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}on(Number.isFinite(e.size),`attribute ${n} needs size`)}const vU=()=>{},Kae={};class Yg{constructor(e,t={}){const{id:i=ma("model")}=t;on(dx(e)),this.id=i,this.gl=e,this.id=t.id||ma("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(t)}initialize(e){this.props={},this.programManager=e.programManager||F0.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:t=null,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(e.moduleSettings))),this.drawMode=void 0!==e.drawMode?e.drawMode:4,this.vertexCount=e.vertexCount||0,this.geometryBuffers={},this.isInstanced=e.isInstanced||e.instanced||e.instanceCount>0,this._setModelProps(e),this.geometry={},on(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(e){this._setModelProps(e)}delete(){for(const e in this._attributes)this._attributes[e]!==this.attributes[e]&&this._attributes[e].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(e){const{program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=e;this.programProps={program:t,vs:i,fs:r,modules:s,defines:o,inject:a,varyings:l,bufferMode:c,transpileToGLSL100:u},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(e){return this.drawMode=e,this}setVertexCount(e){return on(Number.isFinite(e)),this.vertexCount=e,this}setInstanceCount(e){return on(Number.isFinite(e)),this.instanceCount=e,this}setGeometry(e){return this.drawMode=e.drawMode,this.vertexCount=e.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(n,e,t){const i={};let r=e.indices;for(const s in e.attributes){const o=e.attributes[s],a=Wae(s,undefined);if("indices"===s)r=o;else if(o.constant)i[a]=o.value;else{const l=o.value,c=at({},o);delete c.value,i[a]=[new lr(n,l),c],qae(s,c)}}if(r){const s=r.value||r;on(s instanceof Uint16Array||s instanceof Uint32Array,'attribute array for "indices" must be of integer type');const o={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new lr(n,{data:s,target:34963}),o]}return i}(this.gl,e),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(e={}){if(jg(e))return this;const t={};for(const i in e){const r=e[i];t[i]=r.getValue?r.getValue():r}return this.vertexArray.setAttributes(t),this}setUniforms(e={}){return Object.assign(this.uniforms,e),this}getModuleUniforms(e){this._checkProgram();const t=this.programManager.getUniforms(this.program);return t?t(e):{}}updateModuleSettings(e){const t=this.getModuleUniforms(e||{});return this.setUniforms(t)}clear(e){return fI(this.program.gl,e),this}draw(e={}){this._checkProgram();const{moduleSettings:t=null,framebuffer:i,uniforms:r={},attributes:s={},transformFeedback:o=this.transformFeedback,parameters:a={},vertexArray:l=this.vertexArray}=e;let c;this.setAttributes(s),this.updateModuleSettings(t),this.setUniforms(r),mn.priority>=2&&(c=this._logDrawCallStart(2));const u=this.vertexArray.getDrawParams(),{isIndexed:h=u.isIndexed,indexType:f=u.indexType,indexOffset:g=u.indexOffset,vertexArrayInstanced:m=u.isInstanced}=this.props;m&&!this.isInstanced&&mn.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:A,instanceCount:I}=this,{onBeforeRender:G=vU,onAfterRender:k=vU}=this.props;G(),this.program.setUniforms(this.uniforms);const oe=this.program.draw(Object.assign(Kae,e,{logPriority:c,uniforms:null,framebuffer:i,parameters:a,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:l,transformFeedback:o,isIndexed:h,indexType:f,isInstanced:A,instanceCount:I,offset:h?g:0}));return k(),mn.priority>=2&&this._logDrawCallEnd(c,l,i),oe}transform(e={}){const{discard:t=!0,feedbackBuffers:i,unbindModels:r=[]}=e;let{parameters:s}=e;i&&this._setFeedbackBuffers(i),t&&(s=Object.assign({},s,{35977:t})),r.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},e,{parameters:s}))}finally{r.forEach(o=>o.vertexArray.bindBuffers())}return this}render(e={}){return mn.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(e).draw()}_setModelProps(e){Object.assign(this.props,e),"uniforms"in e&&this.setUniforms(e.uniforms),"pickable"in e&&(this.pickable=e.pickable),"instanceCount"in e&&(this.instanceCount=e.instanceCount),"geometry"in e&&this.setGeometry(e.geometry),"attributes"in e&&this.setAttributes(e.attributes),"_feedbackBuffers"in e&&this._setFeedbackBuffers(e._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}=this.programProps;t=this.programManager.get({vs:i,fs:r,modules:s,inject:o,defines:a,varyings:l,bufferMode:c,transpileToGLSL100:u}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}on(t instanceof mU,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Bae(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const e in this.geometryBuffers){const t=this.geometryBuffers[e][0]||this.geometryBuffers[e];t instanceof lr&&t.delete()}}_setAnimationProps(e){this.animated&&on(e,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(e={}){if(jg(e))return this;const{gl:t}=this.program;return this.transformFeedback=this.transformFeedback||new Hj(t,{program:this.program}),this.transformFeedback.setBuffers(e),this}_logDrawCallStart(e){const t=e>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:mn.level<=2})(),e}_logDrawCallEnd(e,t,i,r){if(void 0===e)return;const s=function({vertexArray:n,header:e="Attributes"}){if(!n.configuration)return{};const t={};n.elements&&(t.ELEMENT_ARRAY_BUFFER=_U(n,n.elements,null,e));const i=n.values;for(const r in i){const s=n._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=n.accessors[s.location];a&&(o=`${r}: ${Uae(s.name,a)}`),t[o]=_U(n,i[r],a,e)}}return t}({vertexArray:t,header:`${this.id} attributes`,attributes:this._attributes}),{table:o,unusedTable:a,unusedCount:l}=yU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:c,count:u}=yU({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});u>0&&mn.log("MISSING UNIFORMS",Object.keys(c))(),l>0&&mn.log("UNUSED UNIFORMS",Object.keys(a))();const h=function(n){const e={},t=`Accessors for ${n.id}`;for(const i of n.attributeInfos)i&&(e[`in ${bU(i)}`]={[t]:JSON.stringify(i.accessor)});for(const i of n.varyingInfos)i&&(e[`out ${bU(i)}`]={[t]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);mn.table(e,s)(),mn.table(e,o)(),mn.table(e+1,h)(),r&&r.log({logLevel:2,message:`Rendered to ${r.id}`}),mn.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class HI{static isSupported(e){return Ci(e)}constructor(e,t={}){this.gl=e,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(t),Object.seal(this)}delete(){const{model:e,bufferTransform:t,textureTransform:i}=this;e&&e.delete(),t&&t.delete(),i&&i.delete()}run(e={}){const{clearRenderTarget:t=!0}=e,i=this._updateDrawOptions(e);t&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let e=!1;const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)e=e||i.swap();on(e,"Nothing to swap")}getBuffer(e=null){return this.bufferTransform&&this.bufferTransform.getBuffer(e)}getData(e={}){const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t){const r=i.getData(e);if(r)return r}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(e={}){"elementCount"in e&&this.model.setVertexCount(e.elementCount);const t=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of t)i.update(e)}_initialize(e={}){const{gl:t}=this;this._buildResourceTransforms(t,e),e=this._updateModelProps(e),this.model=new Yg(t,Object.assign({},e,{fs:e.fs||zj({version:Gj(e.vs)}),id:e.id||"transform-model",drawMode:e.drawMode||0,vertexCount:e.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=r.updateModelProps(t);return t}_buildResourceTransforms(e,t){(function(n){return!(jg(n.feedbackBuffers)&&jg(n.feedbackMap)&&!(n.varyings&&n.varyings.length>0))})(t)&&(this.bufferTransform=new $se(e,t)),function(n){return!(jg(n._sourceTextures)&&!n._targetTexture&&!n._targetTextureVarying)}(t)&&(this.textureTransform=new soe(e,t)),on(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(e){let t=Object.assign({},e);const i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const r of i)t=Object.assign(t,r.getDrawOptions(t));return t}}function Dx(){}const Jae={onStart:Dx,onUpdate:Dx,onInterrupt:Dx,onEnd:Dx};class B0{constructor(e){this._inProgress=!1,this._handle=null,this.timeline=e,this.settings={}}get inProgress(){return this._inProgress}start(e){this.cancel(),this.settings=at(at({},Jae),e),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:e,settings:t}=this;this._handle=e.addChannel({delay:e.getTime(),duration:t.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const ale={interpolation:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="interpolation",this.transition=new B0(i),this.attribute=t,this.attributeInTransition=new TI(e,t.settings),this.currentStartIndices=t.startIndices,this.currentLength=0,this.transform=function(n,e){const t=Lj(e.size);return new HI(n,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:t},varyings:["vCurrent"]})}(e,t);const r={byteLength:0,usage:35050};this.buffers=[new lr(e,r),new lr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){if(e.duration<=0)return void this.transition.cancel();const{buffers:r,attribute:s}=this;Bj(r);const o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)Vj(at({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=CI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aFrom:r[0],aTo:Fj(0,s)},feedbackBuffers:{vCurrent:r[1]}})}update(){const e=this.transition.update();if(e){const{time:t,settings:{duration:i,easing:r}}=this.transition,s=r(t/i);this.transform.run({uniforms:{time:s}})}return e}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:e,attribute:t,timeline:i}){this.gl=e,this.type="spring",this.transition=new B0(i),this.attribute=t,this.attributeInTransition=new TI(e,Sn(at({},t.settings),{normalized:!1})),this.currentStartIndices=t.startIndices,this.currentLength=0,this.texture=function(n){return new ya(n,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(e),this.framebuffer=function(n,e){return new ks(n,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(e,this.texture),this.transform=function(n,e,t){const i=Lj(e.size);return new HI(n,{framebuffer:t,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(e,t,this.framebuffer);const r={byteLength:0,usage:35050};this.buffers=[new lr(e,r),new lr(e,r),new lr(e,r)]}get inProgress(){return this.transition.inProgress}start(e,t){const{buffers:r,attribute:s}=this,o={numInstances:t,attribute:s,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:e.enter};for(const a of r)Vj(at({buffer:a},o));this.currentStartIndices=s.startIndices,this.currentLength=CI(s,t),this.attributeInTransition.update({buffer:r[1],value:s.value}),this.transition.start(e),this.transform.update({elementCount:Math.floor(this.currentLength/s.size),sourceBuffers:{aTo:Fj(0,s)}})}update(){const{buffers:e,transform:t,framebuffer:i,transition:r}=this;return!!r.update()&&(t.update({sourceBuffers:{aPrev:e[0],aCur:e[1]},feedbackBuffers:{vNext:e[2]}}),t.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:r.settings.stiffness,damping:r.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),Bj(e),this.attributeInTransition.update({buffer:e[1],value:this.attribute.value}),px(i)[0]>0||r.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class lle{constructor(e,{id:t,timeline:i}){this.id=t,this.gl=e,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=HI.isSupported(e)}finalize(){for(const e in this.transitions)this._removeTransition(e)}update({attributes:e,transitions:t,numInstances:i}){this.numInstances=i||1;for(const r in e){const s=e[r],o=s.getTransitionSetting(t);!o||this._updateAttribute(r,s,o)}for(const r in this.transitions){const s=e[r];(!s||!s.getTransitionSetting(t))&&this._removeTransition(r)}}hasAttribute(e){const t=this.transitions[e];return t&&t.inProgress}getAttributes(){const e={};for(const t in this.transitions){const i=this.transitions[t];i.inProgress&&(e[t]=i.attributeInTransition)}return e}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const t in this.transitions)this.transitions[t].update()&&(this.needsRedraw=!0);const e=this.needsRedraw;return this.needsRedraw=!1,e}_removeTransition(e){this.transitions[e].cancel(),delete this.transitions[e]}_updateAttribute(e,t,i){const r=this.transitions[e];let s=!r||r.type!==i.type;if(s){if(!this.isSupported)return void Ri.warn("WebGL2 not supported by this browser. Transition for ".concat(e," is disabled."))();r&&this._removeTransition(e);const o=ale[i.type];o?this.transitions[e]=new o({attribute:t,timeline:this.timeline,gl:this.gl}):(Ri.error("unsupported transition type '".concat(i.type,"'"))(),s=!1)}(s||t.needsRedraw())&&(this.needsRedraw=!0,this.transitions[e].start(i,this.numInstances))}}const wU="attributeManager.invalidate";class ple{constructor(e,{id:t="attribute-manager",stats:i,timeline:r}={}){this.id=t,this.gl=e,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new lle(e,{id:"".concat(t,"-transitions"),timeline:r}),Object.seal(this)}finalize(){for(const e in this.attributes)this.attributes[e].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(e={clearRedrawFlags:!1}){const t=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!e.clearRedrawFlags,t&&this.id}setNeedsRedraw(e=!0){return this.needsRedraw=!0,this}add(e,t){this._add(e,t)}addInstanced(e,t){this._add(e,t,{instanced:1})}remove(e){for(let t=0;t{e[r]||(e[r]=[]),e[r].push(t)});this.updateTriggers=e}_invalidateTrigger(e,t){const{attributes:i,updateTriggers:r}=this,s=r[e];return s&&s.forEach(o=>{const a=i[o];a&&a.setNeedsUpdate(a.id,t)}),s}_updateAttribute(e){const{attribute:t,numInstances:i}=e;Do("attribute.updateStart",t),t.allocate(i)&&Do("attribute.allocate",t,i),t.updateBuffer(e)&&(this.needsRedraw=!0,Do("attribute.updateEnd",t,i))}}function xU(n,e,t,i,r){const s=e-n;return(t-e)*r+-s*i+s+e}function SU(n,e){if(Array.isArray(n)){let t=0;for(let i=0;i0}add(e,t,i,r){const{transitions:s}=this;if(s.has(e)){const l=s.get(e),{value:c=l.settings.fromValue}=l;t=c,this.remove(e)}if(!(r=kj(r)))return;const o=yle[r.type];if(!o)return void Ri.error("unsupported transition type '".concat(r.type,"'"))();const a=new o(this.timeline);a.start(Sn(at({},r),{fromValue:t,toValue:i})),s.set(e,a)}remove(e){const{transitions:t}=this;t.has(e)&&(t.get(e).cancel(),t.delete(e))}update(){const e={};for(const[t,i]of this.transitions)i.update(),e[t]=i.value,i.inProgress||this.remove(t);return e}clear(){for(const e of this.transitions.keys())this.remove(e)}}const Ix={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:vle}=Ix;function xle(n,e){if(!n.transitions)return null;const t={},i=$I(n);for(const r in n.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&GI(n[r],e[r],s)&&(t[r]=!0)}return t}function CU({newProps:n,oldProps:e,ignoreProps:t={},propTypes:i={},triggerName:r="props"}={}){if(e===n)return null;if("object"!=typeof n||null===n||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(n))if(!(s in t)){if(!(s in e))return"".concat(r,".").concat(s," added");const o=GI(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}for(const s of Object.keys(e))if(!(s in t)){if(!(s in n))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(n,s)){const o=GI(n[s],e[s],i[s]);if(o)return"".concat(r,".").concat(s," ").concat(o)}}return null}function GI(n,e,t){let i=t&&t.equal;return i&&!i(n,e,t)||!i&&(i=n&&e&&n.equals,i&&!i.call(n,e))?"changed deeply":i||e===n?null:"changed shallowly"}function Tle(n,e){if(null===e)return"oldProps is null, initial diff";const t=e.extensions,{extensions:i}=n;if(i===t)return!1;if(i.length!==t.length)return!0;for(let r=0;r{for(const r in i)if(!Rle(i[r],e[r])){t=n(i),e=i;break}return t}}function Nle(n,e){if(!e)return n;const t=at(at({},n),e);if("defines"in e&&(t.defines=at(at({},n.defines),e.defines)),"modules"in e&&(t.modules=(n.modules||[]).concat(e.modules),e.modules.some(i=>"project64"===i.name))){const i=t.modules.findIndex(r=>"project32"===r.name);i>=0&&t.modules.splice(i,1)}if("inject"in e)if(n.inject){const i=at({},n.inject);for(const r in e.inject)i[r]=(i[r]||"")+e.inject[r];t.inject=i}else t.inject=e.inject;return t}function WI(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],g=e[11],m=e[12],A=e[13],I=e[14],G=e[15],k=t*a-i*o,oe=t*l-r*o,we=t*c-s*o,Be=i*l-r*a,Ue=i*c-s*a,qe=r*c-s*l,bt=u*A-h*m,xt=u*I-f*m,Mt=u*G-g*m,Bt=h*I-f*A,Wt=h*G-g*A,mt=f*G-g*I,yt=k*mt-oe*Wt+we*Bt+Be*Mt-Ue*xt+qe*bt;return yt?(n[0]=(a*mt-l*Wt+c*Bt)*(yt=1/yt),n[1]=(r*Wt-i*mt-s*Bt)*yt,n[2]=(A*qe-I*Ue+G*Be)*yt,n[3]=(f*Ue-h*qe-g*Be)*yt,n[4]=(l*Mt-o*mt-c*xt)*yt,n[5]=(t*mt-r*Mt+s*xt)*yt,n[6]=(I*we-m*qe-G*oe)*yt,n[7]=(u*qe-f*we+g*oe)*yt,n[8]=(o*Wt-a*Mt+c*bt)*yt,n[9]=(i*Mt-t*Wt-s*bt)*yt,n[10]=(m*Ue-A*we+G*k)*yt,n[11]=(h*we-u*Ue-g*k)*yt,n[12]=(a*xt-o*Bt-l*bt)*yt,n[13]=(t*Bt-i*xt+r*bt)*yt,n[14]=(A*oe-m*Be-I*k)*yt,n[15]=(u*Be-h*oe+f*k)*yt,n):null}function Ff(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],g=e[10],m=e[11],A=e[12],I=e[13],G=e[14],k=e[15],oe=t[0],we=t[1],Be=t[2],Ue=t[3];return n[0]=oe*i+we*a+Be*h+Ue*A,n[1]=oe*r+we*l+Be*f+Ue*I,n[2]=oe*s+we*c+Be*g+Ue*G,n[3]=oe*o+we*u+Be*m+Ue*k,n[4]=(oe=t[4])*i+(we=t[5])*a+(Be=t[6])*h+(Ue=t[7])*A,n[5]=oe*r+we*l+Be*f+Ue*I,n[6]=oe*s+we*c+Be*g+Ue*G,n[7]=oe*o+we*u+Be*m+Ue*k,n[8]=(oe=t[8])*i+(we=t[9])*a+(Be=t[10])*h+(Ue=t[11])*A,n[9]=oe*r+we*l+Be*f+Ue*I,n[10]=oe*s+we*c+Be*g+Ue*G,n[11]=oe*o+we*u+Be*m+Ue*k,n[12]=(oe=t[12])*i+(we=t[13])*a+(Be=t[14])*h+(Ue=t[15])*A,n[13]=oe*r+we*l+Be*f+Ue*I,n[14]=oe*s+we*c+Be*g+Ue*G,n[15]=oe*o+we*u+Be*m+Ue*k,n}function Rx(n,e,t){var o,a,l,c,u,h,f,g,m,A,I,G,i=t[0],r=t[1],s=t[2];return e===n?(n[12]=e[0]*i+e[4]*r+e[8]*s+e[12],n[13]=e[1]*i+e[5]*r+e[9]*s+e[13],n[14]=e[2]*i+e[6]*r+e[10]*s+e[14],n[15]=e[3]*i+e[7]*r+e[11]*s+e[15]):(a=e[1],l=e[2],c=e[3],u=e[4],h=e[5],f=e[6],g=e[7],m=e[8],A=e[9],I=e[10],G=e[11],n[0]=o=e[0],n[1]=a,n[2]=l,n[3]=c,n[4]=u,n[5]=h,n[6]=f,n[7]=g,n[8]=m,n[9]=A,n[10]=I,n[11]=G,n[12]=o*i+u*r+m*s+e[12],n[13]=a*i+h*r+A*s+e[13],n[14]=l*i+f*r+I*s+e[14],n[15]=c*i+g*r+G*s+e[15]),n}function Nx(n,e,t){var i=t[0],r=t[1],s=t[2];return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3]*i,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11]*s,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n}function AU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[4]=s*r+c*i,n[5]=o*r+u*i,n[6]=a*r+h*i,n[7]=l*r+f*i,n[8]=c*r-s*i,n[9]=u*r-o*i,n[10]=h*r-a*i,n[11]=f*r-l*i,n}function MU(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r+c*i,n[1]=o*r+u*i,n[2]=a*r+h*i,n[3]=l*r+f*i,n[4]=c*r-s*i,n[5]=u*r-o*i,n[6]=h*r-a*i,n[7]=f*r-l*i,n}function IU(n,e,t){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n}function Px(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3];return n[0]=t[0]*i+t[4]*r+t[8]*s+t[12]*o,n[1]=t[1]*i+t[5]*r+t[9]*s+t[13]*o,n[2]=t[2]*i+t[6]*r+t[10]*s+t[14]*o,n[3]=t[3]*i+t[7]*r+t[11]*s+t[15]*o,n}function OU(n,e,t){var i=e[0],r=e[1],s=e[2],o=t[0],a=t[1],l=t[2],c=t[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,f=c*s+o*r-a*i,g=-o*i-a*r-l*s;return n[0]=u*c+g*-o+h*-l-f*-a,n[1]=h*c+g*-a+f*-o-u*-l,n[2]=f*c+g*-l+u*-a-h*-o,n[3]=e[3],n}!function(){var n=new ba(4);ba!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();const RU=[0,0,0,0],rce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],sce=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],oce=[0,0,0],ace=[0,0,0],lce=Ox(function({viewport:n,devicePixelRatio:e,coordinateSystem:t,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(n,e,t){const{viewMatrixUncentered:i,projectionMatrix:r}=n;let{viewMatrix:s,viewProjectionMatrix:o}=n,a=RU,l=RU,c=n.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:f}=NU(n,e,t);return f&&(l=n.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=Px([],l,o),s=i||s,o=Ff([],r,s),o=Ff([],o,rce)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(n,t,i),u=n.getDistanceScales(),h=[n.width*e,n.height*e],f=n.projectionMatrix.transform([0,0,-n.focalDistance,1])[3]||1,g={project_uCoordinateSystem:t,project_uProjectionMode:n.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:f,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:oce,project_uScale:n.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const m=n.getDistanceScales(c);switch(t){case Vi.METER_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerMeter,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerMeter2;break;case Vi.LNGLAT:case Vi.LNGLAT_OFFSETS:g.project_uCommonUnitsPerWorldUnit=m.unitsPerDegree,g.project_uCommonUnitsPerWorldUnit2=m.unitsPerDegree2;break;case Vi.CARTESIAN:g.project_uCommonUnitsPerWorldUnit=[1,1,m.unitsPerMeter[2]],g.project_uCommonUnitsPerWorldUnit2=[0,0,m.unitsPerMeter2[2]]}}return g});function NU(n,e,t=ace){let r,i=t,s=!0;switch(r=e===Vi.LNGLAT_OFFSETS||e===Vi.METER_OFFSETS?t:n.isGeospatial?[Math.fround(n.longitude),Math.fround(n.latitude),0]:null,n.projectionMode){case Zc.WEB_MERCATOR:(e===Vi.LNGLAT||e===Vi.CARTESIAN)&&(s=!1);break;case Zc.WEB_MERCATOR_AUTO_OFFSET:e===Vi.LNGLAT?i=r:e===Vi.CARTESIAN&&(i=[Math.fround(n.center[0]),Math.fround(n.center[1]),0],r=n.unprojectPosition(i),i[0]-=t[0],i[1]-=t[1],i[2]-=t[2]);break;case Zc.IDENTITY:i=n.position.map(Math.fround);break;case Zc.GLOBE:s=!1,r=null;break;default:s=!1}return i[2]=i[2]||0,{geospatialOrigin:r,shaderCoordinateOrigin:i,offsetMode:s}}class hce extends mx{get ELEMENTS(){return Zu(!1),0}get RANK(){return Zu(!1),0}toString(){let e="[";if(Dr.printRowMajor){e+="row-major:";for(let t=0;t2*Math.PI)throw Error("radians");const a=i*Math.tan(e/2),l=a*t;return(new qn).ortho({left:-l,right:l,bottom:-a,top:a,near:r,far:s})}perspective({fovy:e,fov:t=45*Math.PI/180,aspect:i=1,near:r=.1,far:s=500}={}){if((e=e||t)>2*Math.PI)throw Error("radians");return function(n,e,t,i,r){var o,s=1/Math.tan(e/2);n[0]=s/t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=r&&r!==1/0?(n[10]=(r+i)*(o=1/(i-r)),n[14]=2*r*i*o):(n[10]=-1,n[14]=-2*i)}(this,e,i,r,s),this.check()}determinant(){return function(n){var e=n[0],t=n[1],i=n[2],r=n[3],s=n[4],o=n[5],a=n[6],l=n[7],c=n[8],u=n[9],h=n[10],f=n[11],g=n[12],m=n[13],A=n[14],I=n[15];return(e*o-t*s)*(h*I-f*A)-(e*a-i*s)*(u*I-f*m)+(e*l-r*s)*(u*A-h*m)+(t*a-i*o)*(c*I-f*g)-(t*l-r*o)*(c*A-h*g)+(i*l-r*a)*(c*m-u*g)}(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*s,e[6]=this[6]*o,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*s,e[10]=this[10]*o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t=null){const i=this.getScale(t||[-0,-0,-0]),r=1/i[0],s=1/i[1],o=1/i[2];return e[0]=this[0]*r,e[1]=this[1]*s,e[2]=this[2]*o,e[3]=this[4]*r,e[4]=this[5]*s,e[5]=this[6]*o,e[6]=this[8]*r,e[7]=this[9]*s,e[8]=this[10]*o,e}transpose(){return function(n,e){if(n===e){var t=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=t,n[6]=e[9],n[7]=e[13],n[8]=i,n[9]=s,n[11]=e[14],n[12]=r,n[13]=o,n[14]=a}else n[0]=e[0],n[1]=e[4],n[2]=e[8],n[3]=e[12],n[4]=e[1],n[5]=e[5],n[6]=e[9],n[7]=e[13],n[8]=e[2],n[9]=e[6],n[10]=e[10],n[11]=e[14],n[12]=e[3],n[13]=e[7],n[14]=e[11],n[15]=e[15]}(this,this),this.check()}invert(){return WI(this,this),this.check()}multiplyLeft(e){return Ff(this,e,this),this.check()}multiplyRight(e){return Ff(this,this,e),this.check()}rotateX(e){return AU(this,this,e),this.check()}rotateY(e){return function(n,e,t){var i=Math.sin(t),r=Math.cos(t),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],f=e[11];e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n[0]=s*r-c*i,n[1]=o*r-u*i,n[2]=a*r-h*i,n[3]=l*r-f*i,n[8]=s*i+c*r,n[9]=o*i+u*r,n[10]=a*i+h*r,n[11]=l*i+f*r}(this,this,e),this.check()}rotateZ(e){return MU(this,this,e),this.check()}rotateXYZ([e,t,i]){return this.rotateX(e).rotateY(t).rotateZ(i)}rotateAxis(e,t){return function(n,e,t,i){var l,c,u,h,f,g,m,A,I,G,k,oe,we,Be,Ue,qe,bt,xt,Mt,Bt,Wt,mt,yt,Ut,r=i[0],s=i[1],o=i[2],a=Math.hypot(r,s,o);at?t:n}const qI=Math.log2||function(n){return Math.log(n)*Math.LOG2E};function ed(n,e){if(!n)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const pc=Math.PI,VU=pc/4,gc=pc/180,YI=180/pc,XI=4003e4,Fx=85.051129;function Lx([n,e]){return ed(Number.isFinite(n)),ed(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(n*gc+pc)/(2*pc),512*(pc+Math.log(Math.tan(VU+e*gc*.5)))/(2*pc)]}function Zg([n,e]){const t=n/512*(2*pc)-pc,i=2*(Math.atan(Math.exp(e/512*(2*pc)-pc))-VU);return[t*YI,i*YI]}function KI({latitude:n,longitude:e,highPrecision:t=!1}){ed(Number.isFinite(n)&&Number.isFinite(e));const i={},s=Math.cos(n*gc),o=512/360,a=o/s,l=512/XI/s;if(i.unitsPerMeter=[l,l,l],i.metersPerUnit=[1/l,1/l,1/l],i.unitsPerDegree=[o,a,l],i.degreesPerUnit=[1/o,1/a,1/l],t){const c=gc*Math.tan(n*gc)/s,h=512/XI*c,f=h/a*l;i.unitsPerDegree2=[0,o*c/2,h],i.unitsPerMeter2=[f,0,f]}return i}function jU(n,e){const[t,i,r]=n,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=KI({longitude:t,latitude:i,highPrecision:!0}),u=Lx(n);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=Zg(u),f=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],f]:h}function zU(n){return 2*Math.atan(.5/n)*YI}function HU(n,e){const[t,i,r=0]=n;return ed(Number.isFinite(t)&&Number.isFinite(i)&&Number.isFinite(r)),Qg(e,[t,i,r,1])}function j0(n,e,t=0){const[i,r,s]=n;if(ed(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return Qg(e,[i,r,s,1]);const o=Qg(e,[i,r,0,1]),a=Qg(e,[i,r,1,1]),l=o[2],c=a[2];return kU([],o,a,l===c?0:((t||0)-l)/(c-l))}const GU=Math.PI/180;function $U(n,e,t){const{pixelUnprojectionMatrix:i}=n,r=Qg(i,[e,0,1,1]),s=Qg(i,[e,n.height,1,1]),c=Zg(kU([],r,s,(t*n.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return c[2]=t,c}const Dce=Math.PI/180,Ice=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],ZI=[0,0,0],Rce={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let Jg=(()=>{class n{constructor(t={}){const{id:i=null,x:r=0,y:s=0,width:o=1,height:a=1}=t;this.id=i||this.constructor.displayName||"viewport",this.x=r,this.y=s,this.width=o||1,this.height=a||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?Zc.WEB_MERCATOR:Zc.WEB_MERCATOR_AUTO_OFFSET:Zc.IDENTITY}equals(t){return t instanceof n&&(this===t||t.width===this.width&&t.height===this.height&&t.scale===this.scale&&M0(t.projectionMatrix,this.projectionMatrix)&&M0(t.viewMatrix,this.viewMatrix))}project(t,{topLeft:i=!0}={}){const s=HU(this.projectPosition(t),this.pixelProjectionMatrix),[o,a]=s,l=i?a:this.height-a;return 2===t.length?[o,l]:[o,l,s[2]]}unproject(t,{topLeft:i=!0,targetZ:r}={}){const[s,o,a]=t,u=j0([s,i?o:this.height-o,a],this.pixelUnprojectionMatrix,r&&r*this.distanceScales.unitsPerMeter[2]),[h,f,g]=this.unprojectPosition(u);return Number.isFinite(a)?[h,f,g]:Number.isFinite(r)?[h,f,r]:[h,f]}projectPosition(t){const[i,r]=this.projectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[i,r]=this.unprojectFlat(t);return[i,r,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?Lx(t):t}unprojectFlat(t){return this.isGeospatial?Zg(t):t}getBounds(t={}){const i={targetZ:t.z||0},r=this.unproject([0,0],i),s=this.unproject([this.width,0],i),o=this.unproject([0,this.height],i),a=this.unproject([this.width,this.height],i);return[Math.min(r[0],s[0],o[0],a[0]),Math.min(r[1],s[1],o[1],a[1]),Math.max(r[0],s[0],o[0],a[0]),Math.max(r[1],s[1],o[1],a[1])]}getDistanceScales(t=null){return t?KI({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:i,width:r=1,height:s=1}){return t{class n extends Jg{constructor(t={}){const{latitude:i=0,longitude:r=0,zoom:s=11,pitch:o=0,bearing:a=0,nearZMultiplier:l=.1,farZMultiplier:c=1.01,orthographic:u=!1,repeat:h=!1,worldOffset:f=0}=t;let{width:g,height:m,altitude:A=1.5}=t;const I=Math.pow(2,s);g=g||1,m=m||1,A=Math.max(.75,A);const{fov:G,aspect:k,focalDistance:oe,near:we,far:Be}=function({width:n,height:e,fovy:t=zU(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(t=zU(i));const a=.5*t*gc,l=function(n){return.5/Math.tan(.5*n*gc)}(t),c=r*gc,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:n/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:g,height:m,pitch:o,altitude:A,nearZMultiplier:l,farZMultiplier:c});let Ue=function({height:n,pitch:e,bearing:t,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return Rx(o,o,[0,0,-i]),AU(o,o,-e*gc),MU(o,o,t*gc),Nx(o,o,[r/=n,r,r]),s&&Rx(o,o,function(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n}([],s)),o}({height:m,pitch:o,bearing:a,scale:I,altitude:A});f&&(Ue=(new qn).translate([512*f,0,0]).multiplyLeft(Ue)),super(Sn(at({},t),{width:g,height:m,viewMatrix:Ue,longitude:r,latitude:i,zoom:s,orthographic:u,fovyRadians:G,aspect:k,focalDistance:oe,near:we,far:Be})),this.latitude=i,this.longitude=r,this.zoom=s,this.pitch=o,this.bearing=a,this.altitude=A,this.orthographic=u,this._subViewports=h?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const t=this.getBounds(),i=Math.floor((t[0]+180)/360),r=Math.ceil((t[2]-180)/360);for(let s=i;s<=r;s++){const o=s?new n(Sn(at({},this),{worldOffset:s})):this;this._subViewports.push(o)}}return this._subViewports}addMetersToLngLat(t,i){return jU(t,i)}panByPosition(t,i){const r=j0(i,this.pixelUnprojectionMatrix),o=kx([],this.projectFlat(t),PU([],r)),a=kx([],this.center,o),[l,c]=this.unprojectFlat(a);return{longitude:l,latitude:c}}getBounds(t={}){const i=function(n,e=0){const{width:t,height:i,unproject:r}=n,s={targetZ:e},o=r([0,i],s),a=r([t,i],s);let l,c;return(n.fovy?.5*n.fovy*GU:Math.atan(.5/n.altitude))>(90-n.pitch)*GU-.01?(l=$U(n,0,e),c=$U(n,t,e)):(l=r([0,0],s),c=r([t,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(i[0][0],i[1][0],i[2][0],i[3][0]),Math.min(i[0][1],i[1][1],i[2][1],i[3][1]),Math.max(i[0][0],i[1][0],i[2][0],i[3][0]),Math.max(i[0][1],i[1][1],i[2][1],i[3][1])]}fitBounds(t,i={}){const{width:r,height:s}=this,{longitude:o,latitude:a,zoom:l}=function({width:n,height:e,bounds:t,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=t;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:ed(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=Lx([a,BU(u,-Fx,Fx)]),f=Lx([c,BU(l,-Fx,Fx)]),g=[Math.max(Math.abs(f[0]-h[0]),i),Math.max(Math.abs(f[1]-h[1]),i)],m=[n-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];ed(m[0]>0&&m[1]>0);const A=m[0]/g[0],I=m[1]/g[1],we=Zg([(f[0]+h[0])/2+(s.right-s.left)/2/A,(f[1]+h[1])/2+(s.bottom-s.top)/2/I]),Be=Math.min(r,qI(Math.abs(Math.min(A,I))));return ed(Number.isFinite(Be)),{longitude:we[0],latitude:we[1],zoom:Be}}(at({width:r,height:s,bounds:t},i));return new n({width:r,height:s,longitude:o,latitude:a,zoom:l})}}return n.displayName="WebMercatorViewport",n})();function JI(n,e,t=!1){const i=e.projectPosition(n);if(t&&e instanceof KU){const[r,s,o=0]=n,a=e.getDistanceScales([r,s]);i[2]=o*a.unitsPerMeter[2]}return i}function QU(n,{viewport:e,modelMatrix:t,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=n;switch(t&&([o,a,l]=Px([],[o,a,l,1],t)),i){case Vi.LNGLAT:return JI([o,a,l],e,s);case Vi.LNGLAT_OFFSETS:return JI([o+r[0],a+r[1],l+(r[2]||0)],e,s);case Vi.METER_OFFSETS:return JI(jU(r,[o,a,l]),e,s);case Vi.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const kce={10241:9987,10240:9729,10242:33071,10243:33071},eO={},Bce={boolean:{validate:(n,e)=>!0,equal:(n,e,t)=>Boolean(n)===Boolean(e)},number:{validate:(n,e)=>Number.isFinite(n)&&(!("max"in e)||n<=e.max)&&(!("min"in e)||n>=e.min)},color:{validate:(n,e)=>e.optional&&!n||z0(n)&&(3===n.length||4===n.length),equal:(n,e,t)=>tO(n,e)},accessor:{validate(n,e){const t=Bx(n);return"function"===t||t===Bx(e.value)},equal:(n,e,t)=>"function"==typeof e||tO(n,e)},array:{validate:(n,e)=>e.optional&&!n||z0(n),equal:(n,e,t)=>t.compare?tO(n,e):n===e},function:{validate:(n,e)=>e.optional&&!n||"function"==typeof n,equal:(n,e,t)=>!t.compare||n===e},data:{transform:(n,e,t)=>{const{dataTransform:i}=t?t.props:{};return i&&n?i(n):n}},image:{transform:(n,e,t)=>function(n,e){const t=n.context&&n.context.gl;if(!t||!e)return null;if(e instanceof ya)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new ya(t,Sn(at({},e),{parameters:at(at(at({},kce),i),n.props.textureParameters)}));return eO[r.id]=!0,r}(t,n),release:n=>{!function(n){!n||!(n instanceof ya)||eO[n.id]&&(n.delete(),delete eO[n.id])}(n)}}};function tO(n,e){if(n===e)return!0;if(!z0(n)||!z0(e))return!1;const t=n.length;if(t!==e.length)return!1;for(let i=0;i{},this.oldProps=Qce,this.oldAsyncProps=null}finalize(){for(const e in this.asyncProps){const t=this.asyncProps[e];t.type&&t.type.release&&t.type.release(t.resolvedValue,t.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const e in this.asyncProps)Object.defineProperty(this.oldAsyncProps,e,{enumerable:!0,value:this.oldProps[e]})}}hasAsyncProp(e){return e in this.asyncProps}getAsyncProp(e){const t=this.asyncProps[e];return t&&t.resolvedValue}isAsyncPropLoading(e){if(e){const t=this.asyncProps[e];return Boolean(t&&t.pendingLoadCount>0&&t.pendingLoadCount!==t.resolvedLoadCount)}for(const t in this.asyncProps)if(this.isAsyncPropLoading(t))return!0;return!1}reloadAsyncProp(e,t){this._watchPromise(e,Promise.resolve(t))}setAsyncProps(e){const t=e[Xce]||{},i=e[Yce]||e,r=e[Kce]||{};for(const s in t){const o=t[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o),t[s]=this.getAsyncProp(s)}for(const s in i){const o=i[s];this._createAsyncPropData(s,r[s]),this._updateAsyncProp(s,o)}}_updateAsyncProp(e,t){if(this._didAsyncInputValueChange(e,t)){if("string"==typeof t){var i;const r=null===(i=this.layer)||void 0===i?void 0:i.props.fetch;r&&(t=r(t,{propName:e,layer:this.layer}))}if(t instanceof Promise)return void this._watchPromise(e,t);if(Nj(t))return void this._resolveAsyncIterable(e,t);this._setPropValue(e,t)}}_didAsyncInputValueChange(e,t){const i=this.asyncProps[e];return t!==i.resolvedValue&&t!==i.lastValue&&(i.lastValue=t,!0)}_setPropValue(e,t){const i=this.asyncProps[e];t=this._postProcessValue(i,t),i.resolvedValue=t,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount}_setAsyncPropValue(e,t,i){const r=this.asyncProps[e];r&&i>=r.resolvedLoadCount&&void 0!==t&&(this.freezeAsyncOldProps(),r.resolvedValue=t,r.resolvedLoadCount=i,this.onAsyncPropUpdated(e,t))}_watchPromise(e,t){const i=this.asyncProps[e];i.pendingLoadCount++;const r=i.pendingLoadCount;t.then(s=>{var o;s=this._postProcessValue(i,s),this._setAsyncPropValue(e,s,r);const a=null===(o=this.layer)||void 0===o?void 0:o.props.onDataLoad;"data"===e&&a&&a(s,{propName:e,layer:this.layer})}).catch(s=>{var o;null===(o=this.layer)||void 0===o||o.raiseError(s,"loading ".concat(e," of ").concat(this.layer))})}_resolveAsyncIterable(e,t){var i=this;return li(function*(){var r;"data"!==e&&i._setPropValue(e,t);const s=i.asyncProps[e];s.pendingLoadCount++;const o=s.pendingLoadCount;let a=[],l=0;var h,c=!0,u=!1;try{for(var g,m,f=iO(t);c=(g=yield f.next()).done,m=yield g.value,!c;c=!0){const I=m,{dataTransform:G}=i.component?i.component.props:{};a=G?G(I,a):a.concat(I),Object.defineProperty(a,"__diff",{enumerable:!1,value:[{startRow:l,endRow:a.length}]}),l=a.length,i._setAsyncPropValue(e,a,o)}}catch(I){u=!0,h=I}finally{try{!c&&null!=f.return&&(yield f.return())}finally{if(u)throw h}}const A=null===(r=i.layer)||void 0===r?void 0:r.props.onDataLoad;A&&A(a,{propName:e,layer:i.layer})})()}_postProcessValue(e,t){const i=e.type;return i&&(i.release&&i.release(e.resolvedValue,i,this.component),i.transform)?i.transform(t,i,this.component):t}_createAsyncPropData(e,t){if(!this.asyncProps[e]){const r=this.component&&this.component.constructor._propTypes;this.asyncProps[e]={type:r&&r[e],lastValue:null,resolvedValue:t,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:t4,ASYNC_RESOLVED:n4,ASYNC_DEFAULTS:Zce}=Ix,Jce={};let eue=0,tue=(()=>{class n{constructor(){this.props=Uce.apply(this,arguments),this.id=this.props.id,this.count=eue++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:i}=this,r={};for(const s in i[Zce])s in i[n4]?r[s]=i[n4][s]:s in i[t4]&&(r[s]=i[t4][s]);return new this.constructor(at(at(at({},i),r),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new e4({})}}return n.componentName="Component",n.defaultProps=Jce,n})();class nue extends e4{constructor({attributeManager:e,layer:t}){super(t),this.attributeManager=e,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(e){this.component=e}}const mc=n=>"function"==typeof n,hh=n=>null!==n&&"object"==typeof n,r4=n=>hh(n)&&n.constructor==={}.constructor,iue=n=>n&&"function"==typeof n[Symbol.iterator],rue=n=>n&&"function"==typeof n[Symbol.asyncIterator],G0=n=>"undefined"!=typeof Response&&n instanceof Response||n&&n.arrayBuffer&&n.text&&n.json,em=n=>"undefined"!=typeof Blob&&n instanceof Blob,s4=n=>(n=>"undefined"!=typeof ReadableStream&&n instanceof ReadableStream||hh(n)&&mc(n.tee)&&mc(n.cancel)&&mc(n.getReader))(n)||(n=>hh(n)&&mc(n.read)&&mc(n.pipe)&&(n=>"boolean"==typeof n)(n.readable))(n);function Lf(n,e){if(!n)throw new Error(e||"loader assertion failed.")}function rO(n){var e;return!!n&&(Array.isArray(n)&&(n=n[0]),Array.isArray(null===(e=n)||void 0===e?void 0:e.extensions))}function sO(n){var e,t;let i;return Lf(n,"null loader"),Lf(rO(n),"invalid loader"),Array.isArray(n)&&(i=n[1],n=Sn(at({},n=n[0]),{options:at(at({},n.options),i)})),(null!==(e=n)&&void 0!==e&&e.parseTextSync||null!==(t=n)&&void 0!==t&&t.parseText)&&(n.text=!0),n.text||(n.binary=!0),n}const tu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},oO=tu.global||tu.self||tu.window||{},uue="object"!=typeof process||"[object process]"!==String(process)||process.browser,o4="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);o4&&parseFloat(o4[1]);const lO={};function due(n){for(const e in lO)n.startsWith(e)&&(n=n.replace(e,lO[e]));return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${n}`),n}const hue=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,fue=/^([-\w.]+\/[-\w.+]+)/;function pue(n){const e=fue.exec(n);return e?e[1]:n}function a4(n){const e=hue.exec(n);return e?e[1]:""}const gue=/\?.*/;function zx(n){if(G0(n)){const e=cO(n.url||"");return{url:e,type:pue(n.headers.get("content-type")||"")||a4(e)}}return em(n)?{url:cO(n.name||""),type:n.type||""}:"string"==typeof n?{url:cO(n),type:a4(n)}:{url:"",type:""}}function mue(n){return G0(n)?n.headers["content-length"]||-1:em(n)?n.size:"string"==typeof n?n.length:n instanceof ArrayBuffer||ArrayBuffer.isView(n)?n.byteLength:-1}function cO(n){return n.replace(gue,"")}function l4(n){return uO.apply(this,arguments)}function uO(){return(uO=li(function*(n){if(G0(n))return n;const e={},t=mue(n);t>=0&&(e["content-length"]=String(t));const{url:i,type:r}=zx(n);r&&(e["content-type"]=r);const s=yield bue(n);s&&(e["x-first-bytes"]=s),"string"==typeof n&&(n=(new TextEncoder).encode(n));const o=new Response(n,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function _ue(n){return dO.apply(this,arguments)}function dO(){return(dO=li(function*(n){if(!n.ok){const e=yield yue(n);throw new Error(e)}})).apply(this,arguments)}function yue(n){return hO.apply(this,arguments)}function hO(){return(hO=li(function*(n){let e=`Failed to fetch resource ${n.url} (${n.status}): `;try{const t=n.headers.get("Content-Type");let i=n.statusText;t.includes("application/json")&&(i+=` ${yield n.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(t){}return e})).apply(this,arguments)}function bue(n){return fO.apply(this,arguments)}function fO(){return(fO=li(function*(n){if("string"==typeof n)return`data:,${n.slice(0,5)}`;if(n instanceof Blob){const t=n.slice(0,5);return yield new Promise(i=>{const r=new FileReader;r.onload=s=>{var o;return i(null==s||null===(o=s.target)||void 0===o?void 0:o.result)},r.readAsDataURL(t)})}return n instanceof ArrayBuffer?`data:base64,${vue(n.slice(0,5))}`:null})).apply(this,arguments)}function vue(n){let e="";const t=new Uint8Array(n);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const d4={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){Kn(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},xue={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function gO(){oO.loaders=oO.loaders||{};const{loaders:n}=oO;return n._state=n._state||{},n._state}const mO=()=>{const n=gO();return n.globalOptions=n.globalOptions||at({},d4),n.globalOptions};function Sue(n,e,t,i){return t=t||[],function(n,e){f4(n,null,d4,xue,e);for(const t of e)f4(n&&n[t.id]||{},t.id,t.options&&t.options[t.id]||{},t.deprecatedOptions&&t.deprecatedOptions[t.id]||{},e)}(n,t=Array.isArray(t)?t:[t]),function(n,e,t){const r=at({},n.options||{});return function(n,e){e&&!("baseUri"in n)&&(n.baseUri=e)}(r,t),null===r.log&&(r.log=new wue),g4(r,mO()),g4(r,e),r}(e,n,i)}function h4(n,e){const t=mO(),i=n||t;return"function"==typeof i.fetch?i.fetch:hh(i.fetch)?r=>c4(r,i):null!=e&&e.fetch?null==e?void 0:e.fetch:c4}function f4(n,e,t,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in n){const l=!e&&hh(n[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in t)&&!c&&!u)if(a in i)u4.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const h=Tue(a,r);u4.warn(`${s} loader option '${o}${a}' not recognized. ${h}`)()}}}function Tue(n,e){const t=n.toLowerCase();let i="";for(const r of e)for(const s in r.options){if(n===s)return`Did you mean '${r.id}.${s}'?`;const o=s.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(i=i||`Did you mean '${r.id}.${s}'?`)}return i}function g4(n,e){for(const t in e)t in e&&(n[t]=r4(e[t])&&r4(n[t])?at(at({},n[t]),e[t]):e[t])}function nu(n,e){if(!n)throw new Error(e||"loaders.gl assertion failed.")}function Due(n,e="3.0.12"){return nu(n,"no worker provided"),!(!e||!n.version)}const iu={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Iue=iu.global||iu.self||iu.window||{},_O="object"!=typeof process||"[object process]"!==String(process)||process.browser,yO="function"==typeof importScripts,Oue="undefined"!=typeof window&&void 0!==window.orientation,m4="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),bO=(m4&&parseFloat(m4[1]),new Map);function _4(n){const e=new Blob([n],{type:"application/javascript"});return URL.createObjectURL(e)}function y4(n,e=!0,t){const i=t||new Set;if(n)if(b4(n))i.add(n);else if(b4(n.buffer))i.add(n.buffer);else if(!ArrayBuffer.isView(n)&&e&&"object"==typeof n)for(const r in n)y4(n[r],e,i);return void 0===t?Array.from(i):[]}function b4(n){return!!n&&(n instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&n instanceof MessagePort||"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas)}const vO=()=>{};class v4{static isSupported(){return"undefined"!=typeof Worker}constructor(e){Kn(this,"name",void 0),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"terminated",!1),Kn(this,"worker",void 0),Kn(this,"onMessage",void 0),Kn(this,"onError",void 0),Kn(this,"_loadableURL","");const{name:t,source:i,url:r}=e;nu(i||r),this.name=t,this.source=i,this.url=r,this.onMessage=vO,this.onError=s=>console.log(s),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=vO,this.onError=vO,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||y4(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=function(n){nu(n.source&&!n.url||!n.source&&n.url);let e=bO.get(n.source||n.url);return e||(n.url&&(e=function(n){return n.startsWith("http")?_4(function(n){return`try {\n importScripts('${n}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(n)):n}(n.url),bO.set(n.url,e)),n.source&&(e=_4(n.source),bO.set(n.source,e))),nu(e),e}({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}}class kue{constructor(e,t){Kn(this,"name",void 0),Kn(this,"workerThread",void 0),Kn(this,"isRunning",void 0),Kn(this,"result",void 0),Kn(this,"_resolve",void 0),Kn(this,"_reject",void 0),this.name=e,this.workerThread=t,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((i,r)=>{this._resolve=i,this._reject=r})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){nu(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){nu(this.isRunning),this.isRunning=!1,this._reject(e)}}class Fue{constructor(e){Kn(this,"name","unnamed"),Kn(this,"source",void 0),Kn(this,"url",void 0),Kn(this,"maxConcurrency",1),Kn(this,"maxMobileConcurrency",1),Kn(this,"onDebug",()=>{}),Kn(this,"reuseWorkers",!0),Kn(this,"props",{}),Kn(this,"jobQueue",[]),Kn(this,"idleQueue",[]),Kn(this,"count",0),Kn(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props=at(at({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}startJob(e,t=((r,s,o)=>r.done(o)),i=((r,s)=>r.error(s))){var r=this;return li(function*(){const s=new Promise(o=>(r.jobQueue.push({name:e,onMessage:t,onError:i,onStart:o}),r));return r._startQueuedJob(),yield s})()}_startQueuedJob(){var e=this;return li(function*(){if(!e.jobQueue.length)return;const t=e._getAvailableWorker();if(!t)return;const i=e.jobQueue.shift();if(i){e.onDebug({message:"Starting job",name:i.name,workerThread:t,backlog:e.jobQueue.length});const r=new kue(i.name,t);t.onMessage=s=>i.onMessage(r,s.type,s.payload),t.onError=s=>i.onError(r,s),i.onStart(r);try{yield r.result}finally{e.returnWorkerToQueue(t)}}})()}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class td{static isSupported(){return v4.isSupported()}static getWorkerFarm(e={}){return td._workerFarm=td._workerFarm||new td({}),td._workerFarm.setProps(e),td._workerFarm}constructor(e){Kn(this,"props",void 0),Kn(this,"workerPools",new Map),this.props=at({},Lue),this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy()}setProps(e){this.props=at(at({},this.props),e);for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:i,url:r}=e;let s=this.workerPools.get(t);return s||(s=new Fue({name:t,source:i,url:r}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function Vue(n,e={}){const i=`${n.id}-worker.js`;let r=(e[n.id]||{}).workerUrl;if("test"===e._workerType&&(r=`modules/${n.module}/dist/${i}`),!r){let s=n.version;"latest"===s&&(s="latest"),r=`https://unpkg.com/@loaders.gl/${n.module}${s?`@${s}`:""}/dist/${i}`}return nu(r),r}function jue(n,e){return!!td.isSupported()&&n.worker&&(null==e?void 0:e.worker)}function Uue(n,e,t,i,r){return wO.apply(this,arguments)}function wO(){return(wO=li(function*(n,e,t,i,r){const s=n.id,o=Vue(n,t),l=td.getWorkerFarm(t).getWorkerPool({name:s,url:o});t=JSON.parse(JSON.stringify(t));const c=yield l.startJob("process-on-worker",zue.bind(null,r));return c.postMessage("process",{input:e,options:t}),yield(yield c.result).result})).apply(this,arguments)}function zue(n,e,t,i){return EO.apply(this,arguments)}function EO(){return(EO=li(function*(n,e,t,i){switch(t){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:r,input:s,options:o}=i;try{const a=yield n(s,o);e.postMessage("done",{id:r,result:a})}catch(a){const l=a instanceof Error?a.message:"unknown error";e.postMessage("error",{id:r,error:l})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}})).apply(this,arguments)}Kn(td,"_workerFarm",void 0);var E4=et(9521);function x4(n){if(function(n){return n&&"object"==typeof n&&n.isBuffer}(n)&&(n=function(n){return E4.toArrayBuffer?E4.toArrayBuffer(n):n}(n)),n instanceof ArrayBuffer)return n;if(ArrayBuffer.isView(n))return 0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);if("string"==typeof n){const e=n;return(new TextEncoder).encode(e).buffer}if(n&&"object"==typeof n&&n._toArrayBuffer)return n._toArrayBuffer();throw new Error("toArrayBuffer")}function Wue(...n){const e=n.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=e.reduce((s,o)=>s+o.byteLength,0),i=new Uint8Array(t);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function S4(n,e,t){const i=void 0!==t?new Uint8Array(n).subarray(e,e+t):new Uint8Array(n).subarray(e);return new Uint8Array(i).buffer}function que(n){return SO.apply(this,arguments)}function SO(){return(SO=li(function*(n){const e=[];var r,t=!0,i=!1;try{for(var o,a,s=iO(n);t=(o=yield s.next()).done,a=yield o.value,!t;t=!0)e.push(a)}catch(l){i=!0,r=l}finally{try{!t&&null!=s.return&&(yield s.return())}finally{if(i)throw r}}return Wue(...e)})).apply(this,arguments)}const Kue=262144;function C4(n){this.wrapped=n}function $0(n){return new C4(n)}function W0(n){var e,t;function r(o,a){try{var l=n[o](a),c=l.value,u=c instanceof C4;Promise.resolve(u?c.wrapped:c).then(function(h){u?r("return"===o?"return":"next",h):s(l.done?"return":"normal",h)},function(h){r("throw",h)})}catch(h){s("throw",h)}}function s(o,a){switch(o){case"return":e.resolve({value:a,done:!0});break;case"throw":e.reject(a);break;default:e.resolve({value:a,done:!1})}(e=e.next)?r(e.key,e.arg):t=null}this._invoke=function(o,a){return new Promise(function(l,c){var u={key:o,arg:a,resolve:l,reject:c,next:null};t?t=t.next=u:(e=t=u,r(o,a))})},"function"!=typeof n.return&&(this.return=void 0)}function TO(n){return function(){return new W0(n.apply(this,arguments))}}function AO(){return(AO=TO(function*(n,e){const t=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;in&&"object"==typeof n&&n.isBuffer)(n)&&(n=n.buffer),n instanceof ArrayBuffer){const i=n;return e.text&&!e.binary?new TextDecoder("utf8").decode(i):i}if(ArrayBuffer.isView(n)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(n);let i=n.buffer;const r=n.byteLength||n.length;return(0!==n.byteOffset||r!==i.byteLength)&&(i=i.slice(n.byteOffset,n.byteOffset+r)),i}throw new Error(IO)}function rde(n,e,t){return OO.apply(this,arguments)}function OO(){return(OO=li(function*(n,e,t){const i=n instanceof ArrayBuffer||ArrayBuffer.isView(n);if("string"==typeof n||i)return ide(n,e);if(em(n)&&(n=yield l4(n)),G0(n)){const r=n;return yield _ue(r),e.binary?yield r.arrayBuffer():yield r.text()}if(s4(n)&&(n=nde(n,t)),iue(n)||rue(n))return que(n);throw new Error(IO)})).apply(this,arguments)}function ode(n,e,t=null){if(t)return t;const i=at({fetch:h4(e,n)},n);return Array.isArray(i.loaders)||(i.loaders=null),i}function ade(n,e){if(!e&&n&&!Array.isArray(n))return n;let t;if(n&&(t=Array.isArray(n)?n:[n]),e&&e.loaders){const i=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...i]:i}return t&&t.length?t:null}const A4=()=>{const n=gO();return n.loaderRegistry=n.loaderRegistry||[],n.loaderRegistry};function M4(n){const e=A4();n=Array.isArray(n)?n:[n];for(const t of n){const i=sO(t);e.find(r=>i===r)||e.unshift(i)}}const cde=/\.([^.]+)$/;function ude(n){return PO.apply(this,arguments)}function PO(){return(PO=li(function*(n,e=[],t,i){if(!I4(n))return null;let r=D4(n,e,Sn(at({},t),{nothrow:!0}),i);if(r)return r;if(em(n)&&(r=D4(n=yield n.slice(0,10).arrayBuffer(),e,t,i)),!(r||null!=t&&t.nothrow))throw new Error(O4(n));return r})).apply(this,arguments)}function D4(n,e=[],t,i){if(!I4(n))return null;if(e&&!Array.isArray(e))return sO(e);let r=[];e&&(r=r.concat(e)),null!=t&&t.ignoreRegisteredLoaders||r.push(...A4()),function(n){for(const e of n)sO(e)}(r);const s=function(n,e,t,i){const{url:r,type:s}=zx(n),o=r||(null==i?void 0:i.url);let a=null;return null!=t&&t.mimeType&&(a=kO(e,null==t?void 0:t.mimeType)),a=a||function(n,e){const t=e&&cde.exec(e),i=t&&t[1];return i?function(n,e){e=e.toLowerCase();for(const t of n)for(const i of t.extensions)if(i.toLowerCase()===e)return t;return null}(n,i):null}(e,o),a=a||kO(e,s),a=a||function(n,e){if(!e)return null;for(const t of n)if("string"==typeof e){if(mde(e,t))return t}else if(ArrayBuffer.isView(e)){if(R4(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&R4(e,0,t))return t;return null}(e,n),a=a||kO(e,null==t?void 0:t.fallbackMimeType),a}(n,r,t,i);if(!(s||null!=t&&t.nothrow))throw new Error(O4(n));return s}function I4(n){return!(n instanceof Response&&204===n.status)}function O4(n){const{url:e,type:t}=zx(n);let i="No valid loader found";return n&&(i+=` data: "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?FO(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?FO(n,0,e):""}(n)}", contentType: "${t}"`),e&&(i+=` url: ${e}`),i}function kO(n,e){for(const t of n)if(t.mimeTypes&&t.mimeTypes.includes(e)||e===`application/x.${t.id}`)return t;return null}function mde(n,e){return e.testText?e.testText(n):(Array.isArray(e.tests)?e.tests:[e.tests]).some(i=>n.startsWith(i))}function R4(n,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(r=>function(n,e,t,i){if(i instanceof ArrayBuffer)return function(n,e,t){if(n.byteLength<(t=t||n.byteLength)||e.byteLengthn.equals(e));let ru=new Uint8ClampedArray(0);const Ade={data:{type:"data",value:Cde,async:!0},dataComparator:null,_dataDiff:{type:"function",value:n=>n&&n.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(n,{propName:e,layer:t,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=t.context;var a;r=r||t.getLoadOptions(),i=i||t.props.loaders,s&&(r=Sn(at({},r),{fetch:Sn(at({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(n);return!l&&!r&&(o.add({resourceId:n,data:q0(n,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:n,onChange:c=>t.internalState.reloadAsyncProp(e,c),consumerId:t.id,requestId:e}):q0(n,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:Vi.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:n})=>[0,100*-n],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let Y0=(()=>{class n extends tue{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,i){var r,s,o,a;i&&(t.message="".concat(i,": ").concat(t.message)),(null===(r=(s=this.props).onError)||void 0===r?void 0:r.call(s,t))||null===(o=this.context)||void 0===o||null===(a=o.onError)||void 0===a||a.call(o,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:i}=this.context,r=QU(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,o,a]=HU(r,i.pixelProjectionMatrix);return 2===t.length?[s,o]:[s,o,a]}unproject(t){const{viewport:i}=this.context;return i.unproject(t)}projectPosition(t){return function(n,e){const{viewport:t,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(n){const e=at({},n);let{coordinateSystem:t}=n;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=n;return t===Vi.DEFAULT&&(t=i.isGeospatial?Vi.LNGLAT:Vi.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=t),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=t,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=NU(t,i,r),h=QU(n,{viewport:t,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(n,e,t){n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2]}(h,h,t.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===Vi.DEFAULT||t===Vi.LNGLAT||t===Vi.CARTESIAN}onHover(t,i){return!!this.props.onHover&&this.props.onHover(t,i)}onClick(t,i){return!!this.props.onClick&&this.props.onClick(t,i)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,i=[]){return i[0]=t+1&255,i[1]=t+1>>8&255,i[2]=t+1>>8>>8&255,i}decodePickingColor(t){fc(t instanceof Uint8Array);const[i,r,s]=t;return i+256*r+65536*s-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const i of this.props.extensions)t=Nle(t,i.getShaders.call(this,i));return t}shouldUpdateState({changeFlags:s}){return s.propsOrDataChanged}updateState({oldProps:t,props:i,changeFlags:s}){const o=this.getAttributeManager();if(s.dataChanged&&o){const{dataChanged:c}=s;if(Array.isArray(c))for(const u of c)o.invalidateAll(u);else o.invalidateAll()}const l=i.highlightedObjectIndex>=0||i.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==l&&o){const{pickingColors:c,instancePickingColors:u}=o.attributes,h=c||u;h&&(l&&h.constant&&(h.constant=!1,o.invalidate(h.id)),!h.value&&!l&&(h.constant=!0,h.value=[0,0,0]))}}finalizeState(){for(const i of this.getModels())i.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const i of this.getModels())i.draw(t)}getPickingInfo({info:t}){const{index:r}=t;return r>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[r]),t}activateViewport(t){const i=this.internalState.viewport;this.internalState.viewport=t,(!i||!Tde({oldViewport:i,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",i=""){const r=this.getAttributeManager();!r||("all"===t?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(const i of this.getModels())this._setModelAttributes(i,t)}_updateAttributes(t){const i=this.getAttributeManager();if(!i)return;const r=this.getNumInstances(t),s=this.getStartIndices(t);i.update({data:t.data,numInstances:r,startIndices:s,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const o=i.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(o)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const i=t.update(),r=Object.create(this.props);for(const s in i)Object.defineProperty(r,s,{value:i[s]});return r}return this.props}calculateInstancePickingColors(t,{numInstances:i}){if(t.constant)return;const r=Math.floor(ru.length/3);if(this.internalState.usesPickingColorCache=!0,rN4&&Ri.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),ru=A0.allocate(ru,i,{size:3,copy:!0,maxCount:Math.max(i,N4)});const s=Math.floor(ru.length/3),o=[];for(let a=r;a{const c={moduleParameters:t,uniforms:i,parameters:r,context:this.context};for(const u of this.props.extensions)u.draw.call(this,c,u);this.draw(c)})}finally{this.props=s}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:i}=this.internalState;for(const s in t)if(t[s]){let o=!1;switch(s){case"dataChanged":Array.isArray(i[s])&&(i[s]=Array.isArray(t[s])?i[s].concat(t[s]):t[s],o=!0);default:i[s]||(i[s]=t[s],o=!0)}o&&Do("layer.changeFlag",this,s,t)}const r=i.dataChanged||i.updateTriggersChanged||i.propsChanged||i.extensionsChanged;i.propsOrDataChanged=r,i.somethingChanged=r||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,i){const r=function(n,e){const t=CU({newProps:n,oldProps:e,propTypes:$I(n),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(n,e){if(null===e)return"oldProps is null, initial diff";let t=null;const{dataComparator:i,_dataDiff:r}=n;return i?i(n.data,e.data)||(t="Data comparator detected a change"):n.data!==e.data&&(t="A new data container was supplied"),t&&r&&(t=r(n.data,e.data)||t),t}(n,e);let r=!1;return i||(r=function(n,e){if(null===e)return"oldProps is null, initial diff";if("all"in n.updateTriggers&&TU(n,e,"all"))return{all:!0};const t={};let i=!1;for(const r in n.updateTriggers)"all"!==r&&TU(n,e,r)&&(t[r]=!0,i=t);return i}(n,e)),{dataChanged:i,propsChanged:t,updateTriggersChanged:r,extensionsChanged:Tle(n,e),transitionsChanged:xle(n,e)}}(t,i);if(r.updateTriggersChanged)for(const s in r.updateTriggersChanged)r.updateTriggersChanged[s]&&this.invalidateAttribute(s);if(r.transitionsChanged)for(const s in r.transitionsChanged)this.internalState.uniformTransitions.add(s,i[s],t[s],t.transitions[s]);return this.setChangeFlags(r)}validateProps(){!function(n){const e=$I(n);for(const t in e){const i=e[t],{validate:r}=i;if(r&&!r(n[t],i))throw new Error("Invalid prop ".concat(t,": ").concat(n[t]))}}(this.props)}setModuleParameters(t){for(const i of this.getModels())i.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const i={pickingSelectedColor:t.picked?t.color:null},{highlightColor:r}=this.props;t.picked&&"function"==typeof r&&(i.pickingHighlightColor=r(t)),this.setModuleParameters(i),this.setNeedsRedraw()}_updateModules({props:t,oldProps:i},r){const{autoHighlight:s,highlightedObjectIndex:o,highlightColor:a}=t;if(r||i.autoHighlight!==s||i.highlightedObjectIndex!==o||i.highlightColor!==a){const l={};s||(l.pickingSelectedColor=null),Array.isArray(a)&&(l.pickingHighlightColor=a),Number.isInteger(o)&&(l.pickingSelectedColor=o>=0?this.encodePickingColor(o):null),this.setModuleParameters(l)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let i=!1;i=i||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const r=this.getAttributeManager(),s=r&&r.getNeedsRedraw(t);return i=i||s,i}_getAttributeManager(){return new ple(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){fc(!this.internalState&&!this.state),fc(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new nue({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Ri.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new ble(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){Do("layer.matched",this,this===t);const{state:i,internalState:r}=t;this!==t&&(this.internalState=r,this.internalState.layer=this,this.state=i,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return n.layerName="Layer",n.defaultProps=Ade,n})(),P4=(()=>{class n extends Y0{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:i}=t;return i&&i.__source&&i.__source.parent&&i.__source.parent.id===this.id&&(t.object=i.__source.object,t.index=i.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,i){return i&&i.length}getSubLayerClass(t,i){const{_subLayerProps:r}=this.props;return r&&r[t]&&r[t].type||i}getSubLayerRow(t,i,r){return t.__source={parent:this,object:i,index:r},t}getSubLayerAccessor(t){if("function"==typeof t){const i={data:this.props.data,target:[]};return(r,s)=>r&&r.__source?(i.index=r.__source.index,t(r.__source.object,i)):t(r,s)}return t}getSubLayerProps(t={}){const{opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:f,wrapLongitude:g,positionFormat:m,modelMatrix:A,extensions:I,fetch:G,_subLayerProps:k}=this.props,oe={opacity:i,pickable:r,visible:s,parameters:o,getPolygonOffset:a,highlightedObjectIndex:l,autoHighlight:c,highlightColor:u,coordinateSystem:h,coordinateOrigin:f,wrapLongitude:g,positionFormat:m,modelMatrix:A,extensions:I,fetch:G},we=k&&k[t.id],Be=we&&we.updateTriggers,Ue=t.id||"sublayer";if(we){const qe=this.constructor._propTypes,bt=t.type?t.type._propTypes:{};for(const xt in we){const Mt=bt[xt]||qe[xt];Mt&&"accessor"===Mt.type&&(we[xt]=this.getSubLayerAccessor(we[xt]))}}Object.assign(oe,t,we),oe.id="".concat(this.props.id,"-").concat(Ue),oe.updateTriggers=at(at({all:this.props.updateTriggers.all},t.updateTriggers),Be);for(const qe of I){const bt=qe.getSubLayerProps.call(this,qe);bt&&Object.assign(oe,bt,{updateTriggers:Object.assign(oe.updateTriggers,bt.updateTriggers)})}return oe}_updateAutoHighlight(t){for(const i of this.getSubLayers())i.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const i=!t||this.needsUpdate();i&&(t=this.renderLayers(),t=xI(t,Boolean),this.internalState.subLayers=t),Do("compositeLayer.renderLayers",this,i,t);for(const r of t)r.parent=this}}return n.layerName="CompositeLayer",n})();const Dde=/([0-9]+\.?[0-9]*)(%|px)/;function Gx(n){switch(typeof n){case"number":return{position:n,relative:!1};case"string":const e=n.match(Dde);if(e&&e.length>=3){const t="%"===e[2],i=parseFloat(e[1]);return{position:t?i/100:i,relative:t}}default:throw new Error("Could not parse position string ".concat(n))}}function $x(n,e){return n.relative?Math.round(n.position*e):n.position}function X0(n,e){if(n===e)return!0;if(!n||!e)return!1;for(const t in n){const i=n[t],r=e[t];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&X0(i,r)))return!1}return!0}class jO{constructor(e={}){const{id:t=null,x:i=0,y:r=0,width:s="100%",height:o="100%",projectionMatrix:a=null,fovy:l=50,near:c=.1,far:u=1e3,modelMatrix:h=null,viewportInstance:f=null,type:g=Jg}=e;fc(!f||f instanceof Jg),this.viewportInstance=f,this.id=t||this.constructor.displayName||"view",this.type=g,this.props=Sn(at({},e),{id:this.id,projectionMatrix:a,fovy:l,near:c,far:u,modelMatrix:h}),this._parseDimensions({x:i,y:r,width:s,height:o}),this.equals=this.equals.bind(this),Object.seal(this)}equals(e){return this===e||(this.viewportInstance?e.viewportInstance&&this.viewportInstance.equals(e.viewportInstance):X0(this.props,e.props))}makeViewport({width:e,height:t,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);const r=this.getDimensions({width:e,height:t});return this._getViewport(i,r)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(e){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const t=at({},e);for(const i in this.props.viewState)"id"!==i&&(t[i]=this.props.viewState[i]);return t}return e}getDimensions({width:e,height:t}){return{x:$x(this._x,e),y:$x(this._y,t),width:$x(this._width,e),height:$x(this._height,t)}}_getControllerProps(e){let t=this.props.controller;return t?!0===t?e:("function"==typeof t&&(t={type:t}),at(at({},e),t)):null}_getViewport(e,t){const{type:i}=this;return new i(at(at(at({},e),this.props),t))}_parseDimensions({x:e,y:t,width:i,height:r}){this._x=Gx(e),this._y=Gx(t),this._width=Gx(i),this._height=Gx(r)}}const K0=()=>{},k4={transitionEasing:n=>n,transitionInterruption:1,onTransitionStart:K0,onTransitionInterrupt:K0,onTransitionEnd:K0};class Ide{constructor(e,t={}){this.ControllerState=e,this.props=at(at({},k4),t),this.propsInTransition=null,this.transition=new B0(t.timeline),this.onViewStateChange=t.onViewStateChange||K0,this.onStateChange=t.onStateChange||K0,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(e){let t=!1;const i=this.props;if(e=at(at({},k4),e),this.props=e,this._shouldIgnoreViewportChange(i,e))return t;if(this._isTransitionEnabled(e)){const{interruption:r,endProps:s}=this.transition.settings,o=at(at({},i),2===r?s:this.propsInTransition||i);this._triggerTransition(o,e),t=!0}else this.transition.cancel();return t}updateTransition(){this.transition.update()}_isTransitionEnabled(e){const{transitionDuration:t,transitionInterpolator:i}=e;return(t>0||"auto"===t)&&Boolean(i)}_isUpdateDueToCurrentTransition(e){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(e,this.propsInTransition)}_shouldIgnoreViewportChange(e,t){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(t):!this._isTransitionEnabled(t)||t.transitionInterpolator.arePropsEqual(e,t)}_triggerTransition(e,t){const i=new this.ControllerState(e),r=new this.ControllerState(t).shortestPathFrom(i),{transitionInterpolator:s}=t,o=s.getDuration?s.getDuration(e,t):t.transitionDuration;if(0===o)return;const a=t.transitionInterpolator.initializeProps(e,r);this.propsInTransition={},this.duration=o,this.transition.start({duration:o,easing:t.transitionEasing,interpolator:t.transitionInterpolator,interruption:t.transitionInterruption,startProps:a.start,endProps:a.end,onStart:t.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(t.onTransitionInterrupt),onEnd:this._onTransitionEnd(t.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(e){return t=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),e(t)}}_onTransitionUpdate(e){const{time:t,settings:{interpolator:i,startProps:r,endProps:s,duration:o,easing:a}}=e,l=a(t/o),c=i.interpolateProps(r,s,l);this.propsInTransition=new this.ControllerState(at(at({},this.props),c)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const F4=["longitude","latitude","zoom","bearing","pitch"],Rde=["longitude","latitude","zoom"];class L4 extends class{constructor(e={}){Array.isArray(e)&&(e={compare:e,extract:e,required:e});const{compare:t,extract:i,required:r}=e;this._propsToCompare=t,this._propsToExtract=i,this._requiredProps=r}arePropsEqual(e,t){for(const i of this._propsToCompare||Object.keys(t))if(!(i in e)||!(i in t)||!M0(e[i],t[i]))return!1;return!0}initializeProps(e,t){let i;if(this._propsToExtract){const r={},s={};for(const o of this._propsToExtract)r[o]=e[o],s[o]=t[o];i={start:r,end:s}}else i={start:e,end:t};return this._checkRequiredProps(i.start),this._checkRequiredProps(i.end),i}interpolateProps(e,t,i){return t}getDuration(e,t){return t.transitionDuration}_checkRequiredProps(e){!this._requiredProps||this._requiredProps.forEach(t=>{const i=e[t];fc(Number.isFinite(i)||Array.isArray(i),"".concat(t," is required for transition"))})}}{constructor(e={}){super((Array.isArray(e)?e:e.transitionProps)||{compare:F4,extract:F4,required:Rde}),this.opts=e}initializeProps(e,t){const i=super.initializeProps(e,t),{makeViewport:r,around:s}=this.opts;if(r&&s){const o=r(e),a=r(t),l=o.unproject(s);i.start.around=s,Object.assign(i.end,{around:a.project(l),aroundPosition:l,width:t.width,height:t.height})}return i}interpolateProps(e,t,i){const r={};for(const s of this._propsToExtract)r[s]=gx(e[s]||0,t[s]||0,i);if(t.aroundPosition){const s=this.opts.makeViewport(at(at({},t),r));Object.assign(r,s.panByPosition(t.aroundPosition,gx(e.around,t.around,i)))}return r}}const fh={transitionDuration:0},Nde={transitionDuration:300,transitionEasing:n=>n,transitionInterruption:1},qx=n=>1-(1-n)*(1-n),tm_WHEEL=["wheel"],tm_PAN=["panstart","panmove","panend"],tm_PINCH=["pinchstart","pinchmove","pinchend"],tm_TRIPLE_PAN=["tripanstart","tripanmove","tripanend"],tm_DOUBLE_TAP=["doubletap"],tm_KEYBOARD=["keydown"];class UO{constructor(e,t={}){this.ControllerState=e,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new Ide(e,Sn(at({},t),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const i=this.linearTransitionProps;this._transition=i&&Sn(at({},Nde),{transitionInterpolator:new L4({transitionProps:i})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(t)}get linearTransitionProps(){return null}set events(e){this.toggleEvents(this._customEvents,!1),this.toggleEvents(e,!0),this._customEvents=e,this.setProps(this.controllerStateProps)}finalize(){for(const e in this._events)this._events[e]&&this.eventManager.off(e,this.handleEvent);this.transitionManager.finalize()}handleEvent(e){const{ControllerState:t}=this;this.controllerState=new t(at(at({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const i=this._eventStartBlocked;switch(e.type){case"panstart":return!i&&this._onPanStart(e);case"panmove":return this._onPan(e);case"panend":return this._onPanEnd(e);case"pinchstart":return!i&&this._onPinchStart(e);case"pinchmove":return this._onPinch(e);case"pinchend":return this._onPinchEnd(e);case"tripanstart":return!i&&this._onTriplePanStart(e);case"tripanmove":return this._onTriplePan(e);case"tripanend":return this._onTriplePanEnd(e);case"doubletap":return this._onDoubleTap(e);case"wheel":return this._onWheel(e);case"keydown":return this._onKeyDown(e);default:return!1}}getCenter(e){const{x:t,y:i}=this.controllerStateProps,{offsetCenter:r}=e;return[r.x-t,r.y-i]}isPointInBounds(e,t){const{width:i,height:r}=this.controllerStateProps;if(t&&t.handled)return!1;const s=e[0]>=0&&e[0]<=i&&e[1]>=0&&e[1]<=r;return s&&t&&t.stopPropagation(),s}isFunctionKeyPressed(e){const{srcEvent:t}=e;return Boolean(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(e){const t=setTimeout(()=>{this._eventStartBlocked===t&&(this._eventStartBlocked=null)},e);this._eventStartBlocked=t}setProps(e){"onViewStateChange"in e&&(this.onViewStateChange=e.onViewStateChange),"onStateChange"in e&&(this.onStateChange=e.onStateChange),"makeViewport"in e&&(this.makeViewport=e.makeViewport),"dragMode"in e&&(this.dragMode=e.dragMode),this.controllerStateProps=e,"eventManager"in e&&this.eventManager!==e.eventManager&&(this.eventManager=e.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in e||(e.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(e);let{inertia:t}=e;!0===t&&(t=300),this.inertia=t;const{scrollZoom:i=!0,dragPan:r=!0,dragRotate:s=!0,doubleClickZoom:o=!0,touchZoom:a=!0,touchRotate:l=!1,keyboard:c=!0}=e,u=Boolean(this.onViewStateChange);this.toggleEvents(tm_WHEEL,u&&i),this.toggleEvents(tm_PAN,u&&(r||s)),this.toggleEvents(tm_PINCH,u&&(a||l)),this.toggleEvents(tm_TRIPLE_PAN,u&&l),this.toggleEvents(tm_DOUBLE_TAP,u&&o),this.toggleEvents(tm_KEYBOARD,u&&c),this.scrollZoom=i,this.dragPan=r,this.dragRotate=s,this.doubleClickZoom=o,this.touchZoom=a,this.touchRotate=l,this.keyboard=c}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(e,t){this.eventManager&&e.forEach(i=>{this._events[i]!==t&&(this._events[i]=t,t?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(e,t={},i={}){const r=at(at({},e.getViewportProps()),t),s=this.controllerState!==e;if(this._state=e.getState(),this._setInteractionState(i),s){const o=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:r,interactionState:this._interactionState,oldViewState:o})}}_onTransition(e){this.onViewStateChange&&(e.interactionState=this._interactionState,this.onViewStateChange(e))}_setInteractionState(e){Object.assign(this._interactionState,e),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;let i=this.isFunctionKeyPressed(e)||e.rightButton;(this.invertPan||"pan"===this.dragMode)&&(i=!i);const r=this.controllerState[i?"panStart":"rotateStart"]({pos:t});return this._panMove=i,this.updateViewport(r,fh,{isDragging:!0}),!0}_onPan(e){return!!this.isDragging()&&(this._panMove?this._onPanMove(e):this._onPanRotate(e))}_onPanEnd(e){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(e):this._onPanRotateEnd(e))}_onPanMove(e){if(!this.dragPan)return!1;const t=this.getCenter(e),i=this.controllerState.pan({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(e){const{inertia:t}=this;if(this.dragPan&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.pan({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).panEnd();this.updateViewport(s,Sn(at({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:qx}),{isDragging:!1,isPanning:!0})}else{const i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(e){if(!this.dragRotate)return!1;const t=this.getCenter(e),i=this.controllerState.rotate({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(e){const{inertia:t}=this;if(this.dragRotate&&t&&e.velocity){const i=this.getCenter(e),s=this.controllerState.rotate({pos:[i[0]+e.velocityX*t/2,i[1]+e.velocityY*t/2]}).rotateEnd();this.updateViewport(s,Sn(at({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:qx}),{isDragging:!1,isRotating:!0})}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(e){if(!this.scrollZoom)return!1;e.preventDefault();const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const{speed:i=.01,smooth:r=!1}=this.scrollZoom,{delta:s}=e;let o=2/(1+Math.exp(-Math.abs(s*i)));s<0&&0!==o&&(o=1/o);const a=this.controllerState.zoom({pos:t,scale:o});return this.updateViewport(a,Sn(at({},this._getTransitionProps({around:t})),{transitionDuration:r?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.rotateStart({pos:t});return this.updateViewport(i,fh,{isDragging:!0}),!0}_onTriplePan(e){if(!this.touchRotate||!this.isDragging())return!1;const t=this.getCenter(e);t[0]-=e.deltaX;const i=this.controllerState.rotate({pos:t});return this.updateViewport(i,fh,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(e){if(!this.isDragging())return!1;const{inertia:t}=this;if(this.touchRotate&&t&&e.velocityY){const i=this.getCenter(e),r=[i[0],i[1]+=e.velocityY*t/2],s=this.controllerState.rotate({pos:r});this.updateViewport(s,Sn(at({},this._getTransitionProps()),{transitionDuration:t,transitionEasing:qx}),{isDragging:!1,isRotating:!0}),this.blockEvents(t)}else{const i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(e){const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.controllerState.zoomStart({pos:t}).rotateStart({pos:t});return this._startPinchRotation=e.rotation,this._lastPinchEvent=e,this.updateViewport(i,fh,{isDragging:!0}),!0}_onPinch(e){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let t=this.controllerState;if(this.touchZoom){const{scale:i}=e,r=this.getCenter(e);t=t.zoom({pos:r,scale:i})}if(this.touchRotate){const{rotation:i}=e;t=t.rotate({deltaAngleX:this._startPinchRotation-i})}return this.updateViewport(t,fh,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=e,!0}_onPinchEnd(e){if(!this.isDragging())return!1;const{inertia:t,_lastPinchEvent:i}=this;if(this.touchZoom&&t&&i&&e.scale!==i.scale){const r=this.getCenter(e);let s=this.controllerState.rotateEnd();const o=Math.log2(e.scale),a=(o-Math.log2(i.scale))/(e.deltaTime-i.deltaTime),l=Math.pow(2,o+a*t/2);s=s.zoom({pos:r,scale:l}).zoomEnd(),this.updateViewport(s,Sn(at({},this._getTransitionProps({around:r})),{transitionDuration:t,transitionEasing:qx}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(t)}else{const r=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(r,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(e){if(!this.doubleClickZoom)return!1;const t=this.getCenter(e);if(!this.isPointInBounds(t,e))return!1;const i=this.isFunctionKeyPressed(e),r=this.controllerState.zoom({pos:t,scale:i?.5:2});return this.updateViewport(r,this._getTransitionProps({around:t}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(e){if(!this.keyboard)return!1;const t=this.isFunctionKeyPressed(e),{zoomSpeed:i,moveSpeed:r,rotateSpeedX:s,rotateSpeedY:o}=this.keyboard,{controllerState:a}=this;let l;const c={};switch(e.srcEvent.code){case"Minus":l=t?a.zoomOut(i).zoomOut(i):a.zoomOut(i),c.isZooming=!0;break;case"Equal":l=t?a.zoomIn(i).zoomIn(i):a.zoomIn(i),c.isZooming=!0;break;case"ArrowLeft":t?(l=a.rotateLeft(s),c.isRotating=!0):(l=a.moveLeft(r),c.isPanning=!0);break;case"ArrowRight":t?(l=a.rotateRight(s),c.isRotating=!0):(l=a.moveRight(r),c.isPanning=!0);break;case"ArrowUp":t?(l=a.rotateUp(o),c.isRotating=!0):(l=a.moveUp(r),c.isPanning=!0);break;case"ArrowDown":t?(l=a.rotateDown(o),c.isRotating=!0):(l=a.moveDown(r),c.isPanning=!0);break;default:return!1}return this.updateViewport(l,this._getTransitionProps(),c),!0}_getTransitionProps(e){const{_transition:t}=this;return t?e?Sn(at({},t),{transitionInterpolator:new L4(Sn(at({},e),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):t:fh}}class B4{constructor(e){this._viewportProps=this._applyConstraints(e)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(e){return this._viewportProps}_applyConstraints(e){return e}}const ph_target=[0,0,0];class Yx extends B4{constructor({makeViewport:e,width:t,height:i,rotationX:r=0,rotationOrbit:s=0,target:o=ph_target,zoom:a=0,minRotationX:l=-90,maxRotationX:c=90,minZoom:u=-(1/0),maxZoom:h=Infinity,startPanPosition:f,startRotatePos:g,startRotationX:m,startRotationOrbit:A,startZoomPosition:I,startZoom:G}){super({width:t,height:i,rotationX:r,rotationOrbit:s,target:o,zoom:a,minRotationX:l,maxRotationX:c,minZoom:u,maxZoom:h}),this._state={startPanPosition:f,startRotatePos:g,startRotationX:m,startRotationOrbit:A,startZoomPosition:I,startZoom:G},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanPosition:this._unproject(e)})}pan({pos:e,startPosition:t}){const i=this._state.startPanPosition||t;if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startRotationX:s,startRotationOrbit:o}=this._state,{width:a,height:l}=this._viewportProps;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let c;if(e){let u=(e[0]-r[0])/a;(s<-90||s>90)&&(u*=-1),c={rotationX:s+(e[1]-r[1])/l*180,rotationOrbit:o+180*u}}else c={rotationX:s+i,rotationOrbit:o+t};return this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(e){const t=e.getViewportProps(),i=at({},this._viewportProps),{rotationOrbit:r}=i;return Math.abs(r-t.rotationOrbit)>180&&(i.rotationOrbit=r<0?r+360:r-360),i}zoomStart({pos:e}){return this._getUpdatedState({startZoomPosition:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){const{zoom:r}=this._viewportProps;let{startZoom:s,startZoomPosition:o}=this._state;Number.isFinite(s)||(s=r,o=this._unproject(t)||this._unproject(e));const a=this._calculateNewZoom({scale:i,startZoom:s}),l=this.makeViewport(Sn(at({},this._viewportProps),{zoom:a}));return this._getUpdatedState(at({zoom:a},l.panByPosition(o,e)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:e})})}zoomOut(e=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/e})})}moveLeft(e=50){return this._panFromCenter([-e,0])}moveRight(e=50){return this._panFromCenter([e,0])}moveUp(e=50){return this._panFromCenter([0,-e])}moveDown(e=50){return this._panFromCenter([0,e])}rotateLeft(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-e})}rotateRight(e=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+e})}rotateUp(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-e})}rotateDown(e=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+e})}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Number.isFinite(t)||(t=this._viewportProps.zoom),Ua(t+Math.log2(e),r,i)}_panFromCenter(e){const{width:t,height:i,target:r}=this._viewportProps;return this.pan({startPosition:r,pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new Yx(at(at(at({},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r,maxRotationX:s,minRotationX:o,rotationOrbit:a}=e;return e.zoom=Ua(r,i,t),e.rotationX=Ua(e.rotationX,o,s),(a<-180||a>180)&&(e.rotationOrbit=function(n,e){const t=n%360;return t<0?360+t:t}(a+180)-180),e}}class kde extends UO{constructor(e){super(Yx,e)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class Fde extends UO{constructor(e){e.dragMode=e.dragMode||"pan",super(Yx,e)}_onPanRotate(e){return!1}get linearTransitionProps(){return["target","zoom"]}}const Lde=(new qn).lookAt({eye:[0,0,1]});function Bde({width:n,height:e,near:t,far:i}){return n=n||1,e=e||1,(new qn).ortho({left:-n/2,right:n/2,bottom:-e/2,top:e/2,near:t,far:i})}class Vde extends Jg{constructor(e){const{width:t,height:i,near:r=.1,far:s=1e3,zoom:o=0,target:a=[0,0,0],flipY:l=!0}=e,c=Math.pow(2,o);super(Sn(at({},e),{longitude:null,position:a,viewMatrix:Lde.clone().scale([c,c*(l?-1:1),c]),projectionMatrix:Bde({width:t,height:i,near:r,far:s}),zoom:o}))}panByPosition(e,t){const r=kx([],e,PU([],j0(t,this.pixelUnprojectionMatrix)));return{target:kx([],this.center,r)}}}let jde=(()=>{class n extends jO{constructor(t){super(Sn(at({},t),{type:Vde}))}get controller(){return this._getControllerProps({type:Fde})}}return n.displayName="OrthographicView",n})();const Xx=Math.PI/180;function Ude({height:n,fovy:e,orbitAxis:t,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*Xx/2),a="Z"===t?[0,0,1]:[0,1,0],l="Z"===t?[0,-o,0]:[0,0,o],c=(new qn).lookAt({eye:l,up:a});c.rotateX(i*Xx),"Z"===t?c.rotateZ(r*Xx):c.rotateY(r*Xx);const u=Math.pow(2,s)/(n||1);return c.scale(u),c}class zde extends Jg{constructor(e){const{height:t,fovy:i,orbitAxis:r,target:s=[0,0,0],rotationX:o=0,rotationOrbit:a=0,zoom:l=0}=e;super(Sn(at({},e),{longitude:null,viewMatrix:Ude({height:t,fovy:i,orbitAxis:r,rotationX:o,rotationOrbit:a,zoom:l}),fovy:i,position:s,zoom:l})),this.projectedCenter=this.project(this.center)}unproject(e,{topLeft:t=!0}={}){const[i,r,s=this.projectedCenter[2]]=e,o=t?r:this.height-r,[a,l,c]=j0([i,o,s],this.pixelUnprojectionMatrix);return[a,l,c]}panByPosition(e,t){const i=this.project(e);return{target:this.unproject([this.width/2+i[0]-t[0],this.height/2+i[1]-t[1],this.projectedCenter[2]])}}}let Hde=(()=>{class n extends jO{constructor(t={}){const{orbitAxis:i="Z"}=t;super(Sn(at({},t),{orbitAxis:i,type:zde}))}get controller(){return this._getControllerProps({type:kde})}}return n.displayName="OrbitView",n})();const Gde=[255,255,255],$de=1;let Wde=0;class V4{constructor(e={}){const{color:t=Gde}=e,{intensity:i=$de}=e;this.id=e.id||"ambient-".concat(Wde++),this.color=t,this.intensity=i,this.type="ambient"}}const qde=[255,255,255],Yde=1,Xde=[0,0,-1];let Kde=0;class j4{constructor(e={}){const{color:t=qde}=e,{intensity:i=Yde}=e,{direction:r=Xde}=e,{_shadow:s=!1}=e;this.id=e.id||"directional-".concat(Kde++),this.color=t,this.intensity=i,this.type="directional",this.direction=new Mo(r).normalize().toArray(),this.shadow=s}getProjectedLight(){return this}}class U4{constructor(e={}){const{id:t="effect"}=e;this.id=t,this.props=at({},e)}preRender(){}getModuleParameters(){}cleanup(){}}class zO extends class{constructor(e,t={}){const{id:i="pass"}=t;this.id=i,this.gl=e,this.props=at({},t)}setProps(e){Object.assign(this.props,e)}render(){}cleanup(){}}{render(e){return Xu(this.gl,{framebuffer:e.target}),this._drawLayers(e)}_drawLayers(e){const{viewports:t,views:i,onViewportActive:r,clearCanvas:s=!0}=e;e.pass=e.pass||"unknown";const o=this.gl;s&&function(n){Xu(n,{viewport:[0,0,n.drawingBufferWidth,n.drawingBufferHeight]}),n.clear(16640)}(o);const a=[];for(const l of t){const c=l.viewport||l,u=i&&i[c.id];r(c);const h=this._getDrawLayerParams(c,e);e.view=u;const f=c.subViewports||[c];for(const g of f){e.viewport=g;const m=this._drawLayersInViewport(o,e,h);a.push(m)}}return a}_getDrawLayerParams(e,{layers:t,pass:i,layerFilter:r,effects:s,moduleParameters:o}){const a=[],l=z4(),c={viewport:e,isPicking:i.startsWith("picking"),renderPass:i};for(let u=0;ufI(e,c))}const l={totalCount:t.length,visibleCount:0,compositeCount:0,pickableCount:0};Xu(e,{viewport:a});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in t){const u=t[l]=t[l]||z4(e[l],e);c=u(r,s),t[a]=u}else Number.isFinite(o)?(c=o+(e[l]||0),t[a]=null):c=n;return s&&c>=n&&(n=c+1),e[a]=c,c};return i}class ehe extends zO{constructor(e,t){super(e,t),this.shadowMap=new ya(e,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new zg(e,{format:33189,width:1,height:1}),this.fbo=new ks(e,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(e){const t=this.fbo;hc(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const i=e.viewports[0],r=Vg(this.gl),s=i.width*r,o=i.height*r;(s!==t.width||o!==t.height)&&t.resize({width:s,height:o}),super.render(Sn(at({},e),{target:t,pass:"shadow"}))})}shouldDrawLayer(e){return!1!==e.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const nhe=Object.keys(Vi).map(n=>"const int COORDINATE_SYSTEM_".concat(n," = ").concat(Vi[n],";")).join(""),ihe=Object.keys(Zc).map(n=>"const int PROJECTION_MODE_".concat(n," = ").concat(Zc[n],";")).join(""),rhe="".concat(nhe,"\n").concat(ihe,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n"),she={},HO={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:rhe,getUniforms:function(n=she){return n.viewport?function({viewport:n,devicePixelRatio:e=1,modelMatrix:t=null,coordinateSystem:i=Vi.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===Vi.DEFAULT&&(i=n.isGeospatial?Vi.LNGLAT:Vi.CARTESIAN);const o=lce({viewport:n,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=t||sce,o}(n):{}}},che=Ox(function({viewport:n,center:e}){return new qn(n.viewProjectionMatrix).invert().transform(e)}),uhe=Ox(function({viewport:n,shadowMatrices:e}){const t=[],i=n.pixelUnprojectionMatrix,r=n.isGeospatial?void 0:1,s=[[0,0,r],[n.width,0,r],[0,n.height,r],[n.width,n.height,r],[0,0,-1],[n.width,0,-1],[0,n.height,-1],[n.width,n.height,-1]].map(o=>function(n,e){const[t,i,r]=n,s=j0([t,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(o,i));for(const o of e){const a=o.clone().translate(new Mo(n.center).negate()),l=s.map(u=>a.transform(u)),c=(new qn).ortho({left:Math.min(...l.map(u=>u[0])),right:Math.max(...l.map(u=>u[0])),bottom:Math.min(...l.map(u=>u[1])),top:Math.max(...l.map(u=>u[1])),near:Math.min(...l.map(u=>-u[2])),far:Math.max(...l.map(u=>-u[2]))});t.push(c.multiplyRight(o))}return t}),dhe=[0,0,0,1],hhe=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],GO={name:"shadow",dependencies:[HO],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(n={},e={})=>{if(n.drawToShadowMap||n.shadowMaps&&n.shadowMaps.length>0){const{shadowEnabled:t=!0}=n;return t&&n.shadowMatrices&&n.shadowMatrices.length>0?function(n={},e={}){const t={shadow_uDrawShadowMap:Boolean(n.drawToShadowMap),shadow_uUseShadowMap:!!n.shadowMaps&&n.shadowMaps.length>0,shadow_uColor:n.shadowColor||dhe,shadow_uLightId:n.shadowLightId||0,shadow_uLightCount:n.shadowMatrices.length},i=che({viewport:n.viewport,center:e.project_uCenter}),r=[],s=uhe({shadowMatrices:n.shadowMatrices,viewport:n.viewport}).slice();for(let o=0;o0?n.shadowMaps[o]:n.dummyShadowMap;return t}(n,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}},_he={color:[255,255,255],intensity:1},H4=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],yhe=[0,0,0,200/255];class $O extends U4{constructor(e){super(e),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=yhe,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const t in e){const i=e[t];switch(i.type){case"ambient":this.ambientLight=i;break;case"directional":this.directionalLights.push(i);break;case"point":this.pointLights.push(i)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(e,{layers:t,layerFilter:i,viewports:r,onViewportActive:s,views:o}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(e),this.programManager||(this.programManager=F0.getDefaultProgramManager(e),GO&&this.programManager.addDefaultModule(GO)),this.dummyShadowMap||(this.dummyShadowMap=new ya(e,{width:1,height:1}));for(let a=0;ai.getProjectedLight({layer:e})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:e}))},t}cleanup(){for(const e of this.shadowPasses)e.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(GO),this.programManager=null)}_createLightMatrix(){const e=[];for(const t of this.directionalLights){const i=(new qn).lookAt({eye:new Mo(t.direction).negate()});e.push(i)}return e}_createShadowPasses(e){for(let t=0;t=t.delay+t.duration*t.repeat}getTime(e){if(void 0===e)return this.time;const t=this.channels.get(e);return void 0===t?-1:t.time}setTime(e){this.time=Math.max(0,e);const t=this.channels.values();for(const r of t)this._setChannelTime(r,this.time);const i=this.animations.values();for(const r of i){const{animation:s,channel:o}=r;s.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(e,t){const i=vhe++;return this.animations.set(i,{animation:e,channel:t}),e.setTime(this.getTime(t)),i}detachAnimation(e){this.animations.delete(e)}update(e){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=e),this.setTime(this.time+(e-this.lastEngineTime)),this.lastEngineTime=e)}_setChannelTime(e,t){const i=t-e.delay;i>=e.duration*e.repeat?e.time=e.duration*e.rate:(e.time=Math.max(0,i)%e.duration,e.time*=e.rate)}}class whe{constructor(e,t,i){this.id=e,this.context=i,this._loadCount=0,this._subscribers=new Set,this.setData(t)}subscribe(e){this._subscribers.add(e)}unsubscribe(e){this._subscribers.delete(e)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(e,t){if(e===this._data&&!t)return;this._data=e;const i=++this._loadCount;let r=e;"string"==typeof e&&(r=q0(e)),r instanceof Promise?(this.isLoaded=!1,this._loader=r.then(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=null,this._content=s)}).catch(s=>{this._loadCount===i&&(this.isLoaded=!0,this._error=s||!0)})):(this.isLoaded=!0,this._error=null,this._content=e);for(const s of this._subscribers)s.onChange(this.getData())}}class Ehe{constructor({gl:e,protocol:t}){this.protocol=t||"resource://",this._context={gl:e,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(e){return!!e.startsWith(this.protocol)||e in this._resources}add({resourceId:e,data:t,forceUpdate:i=!1,persistent:r=!0}){let s=this._resources[e];s?s.setData(t,i):(s=new whe(e,t,this._context),this._resources[e]=s),s.persistent=r}remove(e){const t=this._resources[e];t&&(t.delete(),delete this._resources[e])}unsubscribe({consumerId:e}){const t=this._consumers[e];if(t){for(const i in t){const r=t[i];r.resource&&r.resource.unsubscribe(r)}delete this._consumers[e],this.prune()}}subscribe({resourceId:e,onChange:t,consumerId:i,requestId:r="default"}){const{_resources:s,protocol:o}=this;e.startsWith(o)&&(s[e=e.replace(o,"")]||this.add({resourceId:e,data:null,persistent:!1}));const a=s[e];if(this._track(i,r,a,t),a)return a.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const e in this._resources)this._resources[e].delete()}_track(e,t,i,r){const s=this._consumers,o=s[e]=s[e]||{},a=o[t]||{};a.resource&&(a.resource.unsubscribe(a),a.resource=null,this.prune()),i&&(o[t]=a,a.onChange=r,a.resource=i,i.subscribe(a))}_prune(){this._pruneRequest=null;for(const e of Object.keys(this._resources)){const t=this._resources[e];!t.persistent&&!t.inUse()&&(t.delete(),delete this._resources[e])}}}const xhe=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},HO],She=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function Che(n){const e=F0.getDefaultProgramManager(n);for(const t of xhe)e.addDefaultModule(t);for(const t of She)e.addShaderHook(t);return e}const Mhe=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class Dhe{constructor(e,{deck:t,stats:i,viewport:r,timeline:s}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new Ehe({gl:e,protocol:"deck://"}),this.context=Sn(at({},Mhe),{layerManager:this,gl:e,deck:t,programManager:e&&Che(e),stats:i||new oI({id:"deck.gl"}),viewport:r||new Jg({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:s||new G4,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const e of this.layers)this._finalizeLayer(e)}needsRedraw(e={clearRedrawFlags:!1}){let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);for(const i of this.layers){const r=i.getNeedsRedraw(e);t=t||r}return t}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(e){this._needsRedraw=this._needsRedraw||e}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e}getLayers({layerIds:e=null}={}){return e?this.layers.filter(t=>e.find(i=>0===t.id.indexOf(i))):this.layers}setProps(e){"debug"in e&&(this._debug=e.debug),"userData"in e&&(this.context.userData=e.userData),"layers"in e&&(this._nextLayers=e.layers),"onError"in e&&(this.context.onError=e.onError)}setLayers(e,t){Do("layerManager.setLayers",this,t,e),this.lastRenderedLayers=e,e=xI(e,Boolean);for(const i of e)i.context=this.context;return this._updateLayers(this.layers,e),this}updateLayers(){const e=this.needsUpdate();e&&(this.setNeedsRedraw("updating layers: ".concat(e)),this.setLayers(this._nextLayers||this.lastRenderedLayers,e)),this._nextLayers=null}activateViewport(e){return Do("layerManager.activateViewport",this,e),e&&(this.context.viewport=e),this}_handleError(e,t,i){i.raiseError(t,"".concat(e," of ").concat(i))}_updateLayers(e,t){const i={};for(const o of e)i[o.id]?Ri.warn("Multiple old layers with same id ".concat(o.id))():i[o.id]=o;const r=[];this._updateSublayersRecursively(t,i,r),this._finalizeOldLayers(i);let s=!1;for(const o of r)if(o.hasUniformTransition()){s=!0;break}this._needsUpdate=s,this.layers=r}_updateSublayersRecursively(e,t,i){for(const r of e){r.context=this.context;const s=t[r.id];null===s&&Ri.warn("Multiple new layers with same id ".concat(r.id))(),t[r.id]=null;let o=null;try{this._debug&&s!==r&&r.validateProps(),s?(this._transferLayerState(s,r),this._updateLayer(r)):this._initializeLayer(r),i.push(r),o=r.isComposite&&r.getSubLayers()}catch(a){this._handleError("matching",a,r)}o&&this._updateSublayersRecursively(o,t,i)}}_finalizeOldLayers(e){for(const t in e){const i=e[t];i&&this._finalizeLayer(i)}}_initializeLayer(e){try{e._initialize(),e.lifecycle="Initialized"}catch(t){this._handleError("initialization",t,e)}}_transferLayerState(e,t){t._transferState(e),t.lifecycle="Matched. State transferred from previous layer",t!==e&&(e.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(e){try{e._update()}catch(t){this._handleError("update",t,e)}}_finalizeLayer(e){this._needsRedraw=this._needsRedraw||"finalized ".concat(e),e.lifecycle="No longer matched. Awaiting garbage collection";try{e._finalize(),e.lifecycle="Finalized! Awaiting garbage collection"}catch(t){this._handleError("finalization",t,e)}}}class Ihe{constructor(e={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=e.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=e.eventManager,this._eventCallbacks={onViewStateChange:e.onViewStateChange,onInteractionStateChange:e.onInteractionStateChange},Object.seal(this),this.setProps(e)}finalize(){for(const e in this.controllers)this.controllers[e]&&this.controllers[e].finalize();this.controllers={}}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}setNeedsUpdate(e){this._needsUpdate=this._needsUpdate||e,this._needsRedraw=this._needsRedraw||e}updateViewStates(){for(const e in this.controllers){const t=this.controllers[e];t&&t.updateTransition()}}getViewports(e){return e?this._viewports.filter(t=>t.containsPixel(e)):this._viewports}getViews(){const e={};return this.views.forEach(t=>{e[t.id]=t}),e}getView(e){return"string"==typeof e?this.views.find(t=>t.id===e):e}getViewState(e){const t=this.getView(e),i=t&&this.viewState[t.getViewStateId()]||this.viewState;return t?t.filterViewState(i):i}getViewport(e){return this._viewportMap[e]}unproject(e,t){const i=this.getViewports(),r={x:e[0],y:e[1]};for(let s=i.length-1;s>=0;--s){const o=i[s];if(o.containsPixel(r)){const a=e.slice();return a[0]-=o.x,a[1]-=o.y,o.unproject(a,t)}}return null}setProps(e){"views"in e&&this._setViews(e.views),"viewState"in e&&this._setViewState(e.viewState),("width"in e||"height"in e)&&this._setSize(e.width,e.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(e,t){(e!==this.width||t!==this.height)&&(this.width=e,this.height=t,this.setNeedsUpdate("Size changed"))}_setViews(e){e=xI(e,Boolean),this._diffViews(e,this.views)&&this.setNeedsUpdate("views changed"),this.views=e}_setViewState(e){e?(!X0(e,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=e):Ri.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(e,t){t.viewId=e,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(t)}_createController(e,t){return new(0,t.type)(at({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,t.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:s=>e._getViewport(s,{width:s.width,height:s.height})},t))}_updateController(e,t,i,r){let s=e.controller;return s?(s=Sn(at(at(at({},t),e.props),s),{id:e.id,x:i.x,y:i.y,width:i.width,height:i.height}),r?r.setProps(s):r=this._createController(e,s),r):null}_rebuildViewports(){const{width:e,height:t,views:i}=this,r=this.controllers;this._viewports=[],this.controllers={};let s=!1;for(let o=i.length;o--;){const a=i[o],l=this.getViewState(a),c=a.makeViewport({width:e,height:t,viewState:l});let u=r[a.id];a.controller&&!u&&(s=!0),(s||!a.controller)&&u&&(u.finalize(),u=null),this.controllers[a.id]=this._updateController(a,l,c,u),this._viewports.unshift(c)}for(const o in r)r[o]&&!this.controllers[o]&&r[o].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(e=>{e.id&&(this._viewportMap[e.id]=this._viewportMap[e.id]||e)})}_diffViews(e,t){return e.length!==t.length||e.some((i,r)=>!e[r].equals(t[r]))}}class Rhe extends B4{constructor({makeViewport:e,width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a=0,pitch:l=0,altitude:c=1.5,maxZoom:u=20,minZoom:h=0,maxPitch:f=60,minPitch:g=0,startPanLngLat:m,startZoomLngLat:A,startRotatePos:I,startBearing:G,startPitch:k,startZoom:oe,normalize:we}={}){fc(Number.isFinite(s)),fc(Number.isFinite(r)),fc(Number.isFinite(o)),super({width:t,height:i,latitude:r,longitude:s,zoom:o,bearing:a,pitch:l,altitude:c,maxZoom:u,minZoom:h,maxPitch:f,minPitch:g,normalize:we}),this._state={startPanLngLat:m,startZoomLngLat:A,startRotatePos:I,startBearing:G,startPitch:k,startZoom:oe},this.makeViewport=e}panStart({pos:e}){return this._getUpdatedState({startPanLngLat:this._unproject(e)})}pan({pos:e,startPos:t}){const i=this._state.startPanLngLat||this._unproject(t);if(!i)return this;const s=this.makeViewport(this._viewportProps).panByPosition(i,e);return this._getUpdatedState(s)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:e}){return this._getUpdatedState({startRotatePos:e,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:e,deltaAngleX:t=0,deltaAngleY:i=0}){const{startRotatePos:r,startBearing:s,startPitch:o}=this._state;if(!r||!Number.isFinite(s)||!Number.isFinite(o))return this;let a;return a=e?this._calculateNewPitchAndBearing(Sn(at({},this._getRotationParams(e,r)),{startBearing:s,startPitch:o})):{bearing:s+t,pitch:o+i},this._getUpdatedState(a)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:e}){return this._getUpdatedState({startZoomLngLat:this._unproject(e),startZoom:this._viewportProps.zoom})}zoom({pos:e,startPos:t,scale:i}){let{startZoom:r,startZoomLngLat:s}=this._state;Number.isFinite(r)||(r=this._viewportProps.zoom,s=this._unproject(t)||this._unproject(e));const o=this._calculateNewZoom({scale:i,startZoom:r}),a=this.makeViewport(Sn(at({},this._viewportProps),{zoom:o}));return this._getUpdatedState(at({zoom:o},a.panByPosition(s,e)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(e=2){return this._zoomFromCenter(e)}zoomOut(e=2){return this._zoomFromCenter(1/e)}moveLeft(e=100){return this._panFromCenter([e,0])}moveRight(e=100){return this._panFromCenter([-e,0])}moveUp(e=100){return this._panFromCenter([0,e])}moveDown(e=100){return this._panFromCenter([0,-e])}rotateLeft(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-e})}rotateRight(e=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+e})}rotateUp(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+e})}rotateDown(e=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-e})}shortestPathFrom(e){const t=e.getViewportProps(),i=at({},this._viewportProps),{bearing:r,longitude:s}=i;return Math.abs(r-t.bearing)>180&&(i.bearing=r<0?r+360:r-360),Math.abs(s-t.longitude)>180&&(i.longitude=s<0?s+360:s-360),i}_zoomFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.zoom({pos:[t/2,i/2],scale:e})}_panFromCenter(e){const{width:t,height:i}=this._viewportProps;return this.pan({startPos:[t/2,i/2],pos:[t/2+e[0],i/2+e[1]]})}_getUpdatedState(e){return new this.constructor(at(at(at({makeViewport:this.makeViewport},this._viewportProps),this._state),e))}_applyConstraints(e){const{maxZoom:t,minZoom:i,zoom:r}=e;e.zoom=Ua(r,i,t);const{maxPitch:s,minPitch:o,pitch:a}=e;e.pitch=Ua(a,o,s);const{normalize:l=!0}=e;return l&&Object.assign(e,function({width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(t<-180||t>180)&&(t=LU(t+180,360)-180),(o<-180||o>180)&&(o=LU(o+180,360)-180);const a=qI(e/512);if(r<=a)r=a,i=0;else{const l=e/2/Math.pow(2,r),c=Zg([0,l])[1];if(iu&&(i=u)}}return{width:n,height:e,longitude:t,latitude:i,zoom:r,pitch:s,bearing:o}}(e)),e}_unproject(e){const t=this.makeViewport(this._viewportProps);return e&&t.unproject(e)}_calculateNewZoom({scale:e,startZoom:t}){const{maxZoom:i,minZoom:r}=this._viewportProps;return Ua(t+Math.log2(e),r,i)}_calculateNewPitchAndBearing({deltaScaleX:e,deltaScaleY:t,startBearing:i,startPitch:r}){t=Ua(t,-1,1);const{minPitch:s,maxPitch:o}=this._viewportProps;let l=r;return t>0?l=r+t*(o-r):t<0&&(l=r-t*(s-r)),{pitch:l,bearing:i+180*e}}_getRotationParams(e,t){const i=e[0]-t[0],r=e[1]-t[1],s=e[1],o=t[1],{width:a,height:l}=this._viewportProps,c=i/a;let u=0;return r>0?Math.abs(l-o)>5&&(u=r/(o-l)*1.2):r<0&&o>5&&(u=1-s/o),u=Math.min(1,Math.max(-1,u)),{deltaScaleX:c,deltaScaleY:u}}}class Nhe extends UO{constructor(e){e.dragMode=e.dragMode||"pan",super(Rhe,e)}setProps(e){const t=this.controllerStateProps;super.setProps(e),(!t||t.height!==e.height)&&this.updateViewport(new this.ControllerState(at(at({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let Phe=(()=>{class n extends jO{constructor(t){super(Sn(at({},t),{type:KU}))}get controller(){return this._getControllerProps({type:Nhe})}}return n.displayName="MapView",n})();const khe=new $O;class Fhe{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(e){"effects"in e&&(e.effects.length!==this.effects.length||!X0(e.effects,this.effects))&&(this.setEffects(e.effects),this._needsRedraw="effects changed")}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(e=[]){this.cleanup(),this.effects=e,this._createInternalEffects()}cleanup(){for(const e of this.effects)e.cleanup();for(const e of this._internalEffects)e.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(e=>e instanceof $O)||this._internalEffects.push(khe)}}class Lhe extends zO{}const W4={blendFunc:[1,0,32771,0],blendEquation:32774};class q4 extends zO{render(e){e.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(e)):(this.useAlpha=!1,super.render(e))}_drawPickingBuffer({layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pickingFBO:o,deviceRect:{x:a,y:l,width:c,height:u},pass:h="picking",redrawReason:f,pickZ:g}){const m=this.gl;return this.pickZ=g,hc(m,Sn(at({scissorTest:!0,scissor:[a,l,c,u],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},W4),{blend:!g}),()=>{super.render({target:o,layers:e,layerFilter:t,views:i,viewports:r,onViewportActive:s,pass:h,redrawReason:f})})}shouldDrawLayer(e){return e.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(e,t){const i=this.pickZ?{blend:!1}:Sn(at({},W4),{blend:!0,blendColor:[0,0,0,this.useAlpha?(t+1)/255:1]});return at(at({},e.props.parameters),i)}}class Vhe{constructor(e){this.gl=e,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new Lhe(e),this.pickLayersPass=new q4(e),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(e){"layerFilter"in e&&this.layerFilter!==e.layerFilter&&(this.layerFilter=e.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in e&&this.drawPickingColors!==e.drawPickingColors&&(this.drawPickingColors=e.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(e){const t=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;e.layerFilter=this.layerFilter,e.effects=e.effects||[],e.target=e.target||ks.getDefaultFramebuffer(this.gl),this._preRender(e.effects,e);const i=this.lastPostProcessEffect?this.renderBuffers[0]:e.target,r=t.render(Sn(at({},e),{target:i}));this._postRender(e.effects,e),this.renderCount++,Do("deckRenderer.renderLayers",this,r,e)}needsRedraw(e={clearRedrawFlags:!1}){const t=this._needsRedraw;return e.clearRedrawFlags&&(this._needsRedraw=!1),t}finalize(){const{renderBuffers:e}=this;for(const t of e)t.delete();e.length=0}_preRender(e,t){let i=null;for(const r of e)r.preRender(this.gl,t),r.postRender&&(i=r);i&&this._resizeRenderBuffers(),this.lastPostProcessEffect=i}_resizeRenderBuffers(){const{renderBuffers:e}=this;0===e.length&&e.push(new ks(this.gl),new ks(this.gl));for(const t of e)t.resize()}_postRender(e,t){const{renderBuffers:i}=this,r={inputBuffer:i[0],swapBuffer:i[1],target:null};for(const s of e)if(s.postRender){if(s===this.lastPostProcessEffect){r.target=t.target,s.postRender(this.gl,r);break}const o=s.postRender(this.gl,r);r.inputBuffer=o,r.swapBuffer=o===i[0]?i[1]:i[0]}}}const jhe={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function Uhe({pickedColors:n,layers:e,deviceX:t,deviceY:i,deviceRadius:r,deviceRect:s}){if(n){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,f=0;for(let g=0;gu)f+=4*l;else for(let I=0;I=0){const k=I+o-t,oe=k*k+A;oe<=u&&(u=oe,h=f)}f+=4}}if(h>=0){const g=n[h+3]-1,m=n.slice(h,h+4),A=e[g];if(A){const I=A.decodePickingColor(m),G=Math.floor(h/4/l);return{pickedColor:m,pickedLayer:A,pickedObjectIndex:I,pickedX:o+(h/4-G*l),pickedY:a+G}}Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return jhe}function Y4({pickInfo:n,mode:e,viewports:t,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=n&&n.pickedLayer,u=function(n,e,t){for(let i=n.length-1;i>=0;i--){const r=n[i];if(r.containsPixel(e)&&(!t||t(r)))return r}return n[0]}(t,{x:s,y:o},i&&l&&(f=>i({layer:l,viewport:f,isPicking:!0,renderPass:"picking:".concat(e)}))),h=u&&u.unproject([s-u.x,o-u.y],{targetZ:a});return{color:null,layer:null,viewport:u,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:h,devicePixel:n&&[n.pickedX,n.pickedY],pixelRatio:r}}function Hhe(n){const{pickInfo:e,lastPickedInfo:t,mode:i,layers:r}=n,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const h=t.index,f=t.layerId,g=o&&o.props.id;if(g!==f||a!==h){if(g!==f){const m=r.find(A=>A.props.id===f);m&&l.unshift(m)}t.layerId=g,t.index=a,t.info=null}}const c=Y4(n),u=new Map;return u.set(null,c),l.forEach(h=>{let f=at({},c);h===o&&(f.color=s,f.index=a,f.picked=!0),f=X4({layer:h,info:f,mode:i}),h===o&&"hover"===i&&(t.info=f),u.set(f.layer.id,f),"hover"===i&&f.layer.updateAutoHighlight(f)}),u}function X4({layer:n,info:e,mode:t}){for(;n&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=n,e=n.getPickingInfo({info:e,mode:t,sourceLayer:i}),n=n.parent}return e}class $he{constructor(e){this.gl=e,this.pickingFBO=null,this.pickLayersPass=new q4(e),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(e){"layerFilter"in e&&(this.layerFilter=e.layerFilter),"_pickable"in e&&(this._pickable=e._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(e){return this._pickClosestObject(e)}pickObjects(e){return this._pickVisibleObjects(e)}getLastPickedObject({x:e,y:t,layers:i,viewports:r},s=this.lastPickedInfo.info){const o=s&&s.layer&&s.layer.id,a=s&&s.viewport&&s.viewport.id,l=o?i.find(f=>f.id===o):null,c=a&&r.find(f=>f.id===a)||r[0],u=c&&c.unproject([e-c.x,t-c.y]),h={x:e,y:t,viewport:c,coordinate:u,layer:l};return l?at(at({},s),h):Object.assign(h,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:e}=this;return this.pickingFBO||(this.pickingFBO=new ks(e),ks.isSupported(e,{colorBufferFloat:!0})&&(this.depthFBO=new ks(e),this.depthFBO.attach({36064:new ya(e,{format:Ci(e)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:e.canvas.width,height:e.canvas.height}),this.pickingFBO}_getPickable(e){if(!1===this._pickable)return null;const t=e.filter(i=>i.isPickable()&&!i.isComposite);return t.length>255?(Ri.warn("Too many pickable layers, only picking the first 255")(),t.slice(0,255)):t.length?t:null}_pickClosestObject({layers:e,views:t,viewports:i,x:r,y:s,radius:o=0,depth:a=1,mode:l="query",unproject3D:c,onViewportActive:u}){if(!(e=this._getPickable(e)))return{result:[],emptyInfo:Y4({viewports:i,x:r,y:s})};this._resizeBuffer();const h=Vg(this.gl),f=iI(this.gl,[r,s],!0),g=[f.x+Math.floor(f.width/2),f.y+Math.floor(f.height/2)],m=Math.round(o*h),{width:A,height:I}=this.pickingFBO,G=this._getPickingRect({deviceX:g[0],deviceY:g[1],deviceRadius:m,deviceWidth:A,deviceHeight:I});let k;const oe=[],we={};for(let Be=0;Be=0){const s=n.slice(i,i+4),o=s.join(",");if(!t.has(o)){const a=e[r];a?t.set(o,{pickedColor:s,pickedLayer:a,pickedObjectIndex:a.decodePickingColor(s)}):Ri.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(t.values())}({pickedColors:this._drawAndSample({layers:e,views:t,viewports:i,onViewportActive:u,deviceRect:{x:g,y:G,width:A.x+A.width-g,height:m-G},pass:"picking:".concat(l),redrawReason:l}),layers:e}),Be=new Map,Ue=Number.isFinite(c);for(let qe=0;qe=c);qe++){const bt=we[qe];let xt={color:bt.pickedColor,layer:null,index:bt.pickedObjectIndex,picked:!0,x:r,y:s,width:o,height:a,pixelRatio:h};xt=X4({layer:bt.pickedLayer,info:xt,mode:l}),Be.has(xt.object)||Be.set(xt.object,xt)}return Array.from(Be.values())}_drawAndSample({layers:e,views:t,viewports:i,onViewportActive:r,deviceRect:s,pass:o,redrawReason:a,pickZ:l}){if(e.length<1)return null;const c=l?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:e,layerFilter:this.layerFilter,views:t,viewports:i,onViewportActive:r,pickingFBO:c,deviceRect:s,pass:o,redrawReason:a,pickZ:l});const{x:u,y:h,width:f,height:g}=s,m=new(l?Float32Array:Uint8Array)(f*g*4);return px(c,{sourceX:u,sourceY:h,sourceWidth:f,sourceHeight:g,target:m}),m}_getPickingRect({deviceX:e,deviceY:t,deviceRadius:i,deviceWidth:r,deviceHeight:s}){const o=Math.max(0,e-i),a=Math.max(0,t-i),l=Math.min(r,e+i+1)-o,c=Math.min(s,t+i+1)-a;return l<=0||c<=0?null:{x:o,y:a,width:l,height:c}}}const Whe={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class qhe{constructor(e){const t=e.parentElement;t&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,Whe),t.appendChild(this.el)),this.isVisible=!1}setTooltip(e,t,i){const r=this.el;if("string"==typeof e)r.innerText=e;else{if(!e)return this.isVisible=!1,void(r.style.display="none");"text"in e&&(r.innerText=e.text),"html"in e&&(r.innerHTML=e.html),"className"in e&&(r.className=e.className),Object.assign(r.style,e.style)}this.isVisible=!0,r.style.display="block",r.style.transform="translate(".concat(t,"px, ").concat(i,"px)")}remove(){this.el&&this.el.remove()}}function K4(n,e){if(!n)throw new Error(e)}const su={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},Q4=su.global||su.self||su.window,Xhe="object"!=typeof process||"[object process]"!==String(process)||process.browser,Z4="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:Khe}=(Z4&&parseFloat(Z4[1]),Q4),WO="undefined"!=typeof Image,qO="undefined"!=typeof ImageBitmap,Qhe=Boolean(Khe),YO=!!Xhe||Qhe;function J4(n){const e=function(n){return"undefined"!=typeof ImageBitmap&&n instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&n instanceof Image?"image":n&&"object"==typeof n&&n.data&&n.width&&n.height?"data":null}(n);if(!e)throw new Error("Not an image");return e}function ez(n){switch(J4(n)){case"data":return n;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=n.width,e.height=n.height,t.drawImage(n,0,0),t.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}const efe=/^data:image\/svg\+xml/,tfe=/\.svg((\?|#).*)?$/;function XO(n){return n&&(efe.test(n)||tfe.test(n))}function nfe(n,e){if(XO(e)){let i=(new TextDecoder).decode(n);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(i=unescape(encodeURIComponent(i)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(i)}`}return nz(n,e)}function nz(n,e){if(XO(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}function iz(n,e,t){return KO.apply(this,arguments)}function KO(){return(KO=li(function*(n,e,t){const i=nfe(n,t),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield ife(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function ife(n,e){return QO.apply(this,arguments)}function QO(){return(QO=li(function*(n,e){const t=new Image;return t.src=n,e.image&&e.image.decode&&t.decode?(yield t.decode(),t):yield new Promise((i,r)=>{try{t.onload=()=>i(t),t.onerror=s=>r(new Error(`Could not load image ${n}: ${s}`))}catch(s){r(s)}})})).apply(this,arguments)}const rfe={};let rz=!0;function sfe(n,e,t){return ZO.apply(this,arguments)}function ZO(){return(ZO=li(function*(n,e,t){let i;i=XO(t)?yield iz(n,e,t):nz(n,t);const r=e&&e.imagebitmap;return yield ofe(i,r)})).apply(this,arguments)}function ofe(n){return JO.apply(this,arguments)}function JO(){return(JO=li(function*(n,e=null){if((afe(e)||!rz)&&(e=null),e)try{return yield createImageBitmap(n,e)}catch(t){console.warn(t),rz=!1}return yield createImageBitmap(n)})).apply(this,arguments)}function afe(n){for(const e in n||rfe)return!1;return!0}const ou=!1,Q0=!0;function eR(n){const e=Z0(n);return function(n){const e=Z0(n);return e.byteLength>=24&&2303741511===e.getUint32(0,ou)?{mimeType:"image/png",width:e.getUint32(16,ou),height:e.getUint32(20,ou)}:null}(e)||function(n){const e=Z0(n);if(!(e.byteLength>=3&&65496===e.getUint16(0,ou)&&255===e.getUint8(2)))return null;const{tableMarkers:i,sofMarkers:r}=function(){const n=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)n.add(t);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let s=2;for(;s+9=10&&1195984440===e.getUint32(0,ou)?{mimeType:"image/gif",width:e.getUint16(6,Q0),height:e.getUint16(8,Q0)}:null}(e)||function(n){const e=Z0(n);return e.byteLength>=14&&16973===e.getUint16(0,ou)&&e.getUint32(2,Q0)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Q0),height:e.getUint32(22,Q0)}:null}(e)}function Z0(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}function ffe(n,e){const{mimeType:t}=eR(n)||{},{_parseImageNode:i}=Q4;return K4(i),i(n,t,e)}function tR(){return(tR=li(function*(n,e,t){const r=((e=e||{}).image||{}).type||"auto",{url:s}=t||{};let a;switch(gfe(r)){case"imagebitmap":a=yield sfe(n,e,s);break;case"image":a=yield iz(n,e,s);break;case"data":a=yield ffe(n,e);break;default:K4(!1)}return"data"===r&&(a=ez(a)),a})).apply(this,arguments)}function gfe(n){switch(n){case"auto":case"data":return function(){if(qO)return"imagebitmap";if(WO)return"image";if(YO)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(n){switch(n){case"auto":return qO||WO||YO;case"imagebitmap":return qO;case"image":return WO;case"data":return YO;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}(n),n}}const nR={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(n,e,t){return tR.apply(this,arguments)},tests:[n=>Boolean(eR(new DataView(n)))],options:{image:{type:"auto",decode:!0}}};var nm=et(4761);const _fe={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(n){const e=n[0],t=n[n.length-1];return"{"===e&&"}"===t||"["===e&&"]"===t},parseTextSync:JSON.parse},J0="8.5.8",Kx=nm.CO.deck&&nm.CO.deck.VERSION;if(Kx&&Kx!==J0)throw new Error("deck.gl - multiple versions detected: ".concat(Kx," vs ").concat(J0));Kx||(Ri.log(1,"deck.gl ".concat(J0))(),nm.CO.deck=Object.assign(nm.CO.deck||{},{VERSION:J0,version:J0,log:Ri,_registerLoggers:function(n){AI=n}}),M4([_fe,[nR,{imagebitmap:{premultiplyAlpha:"none"}}]]));const yfe=nm.CO.deck;class Qx extends Ku{get[Symbol.toStringTag](){return"Query"}static isSupported(e,t=[]){const i=Ci(e),r=gj(e,"TIMER_QUERY");let s=i||r;for(const o of t)switch(o){case"queries":s=s&&i;break;case"timers":s=s&&r;break;default:on(!1)}return s}constructor(e,t={}){super(e,t),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:e=!1}={}){return this.begin(e?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(e){return this._queryPending||(this.target=e,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const e=this.gl2.getQueryParameter(this.handle,34919);return e&&(this._queryPending=!1),e}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(e=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let t=0;return this._pollingPromise=new Promise((i,r)=>{const s=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):t++>e?(r("Timed out"),this._pollingPromise=null):requestAnimationFrame(s)};requestAnimationFrame(s)}),this._pollingPromise}_createHandle(){return Qx.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const sz=fx()&&"undefined"!=typeof document;let Mfe=0;class Dfe{constructor(e={}){const{onCreateContext:t=(I=>XV(I)),onAddHTML:i=null,onInitialize:r=(()=>{}),onRender:s=(()=>{}),onFinalize:o=(()=>{}),onError:a,gl:l=null,glOptions:c={},debug:u=!1,createFramebuffer:h=!1,autoResizeViewport:f=!0,autoResizeDrawingBuffer:g=!0,stats:m=Rf.get("animation-loop-"+Mfe++)}=e;let{useDevicePixels:A=!0}=e;"useDevicePixelRatio"in e&&(mn.deprecated("useDevicePixelRatio","useDevicePixels")(),A=e.useDevicePixelRatio),this.props={onCreateContext:t,onAddHTML:i,onInitialize:r,onRender:s,onFinalize:o,onError:a,gl:l,glOptions:c,debug:u,createFramebuffer:h},this.gl=l,this.needsRedraw=null,this.timeline=null,this.stats=m,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:f,autoResizeDrawingBuffer:g,useDevicePixels:A}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(e){return on("string"==typeof e),this.needsRedraw=this.needsRedraw||e,this}setProps(e){return"autoResizeViewport"in e&&(this.autoResizeViewport=e.autoResizeViewport),"autoResizeDrawingBuffer"in e&&(this.autoResizeDrawingBuffer=e.autoResizeDrawingBuffer),"useDevicePixels"in e&&(this.useDevicePixels=e.useDevicePixels),this}start(e={}){if(this._running)return this;this._running=!0;const t=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(e),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=Qx.isSupported(this.gl,["timers"])?new Qx(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),!1!==i&&this._startLoop())});return this.props.onError&&t.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(e){return this.timeline=e,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(e=>{this._resolveNextFrame=e})),this._nextFramePromise}toDataURL(){var e=this;return li(function*(){return e.setNeedsRedraw("toDataURL"),yield e.waitForRender(),e.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...e){return this.props.onCreateContext(...e)}onInitialize(...e){return this.props.onInitialize(...e)}onRender(...e){return this.props.onRender(...e)}onFinalize(...e){return this.props.onFinalize(...e)}getHTMLControlValue(e,t=1){const i=document.getElementById(e);return i?Number(i.value):t}setViewParameters(){return mn.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const e=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(e))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(e)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=sz?new Promise((e,t)=>{sz&&"complete"===document.readyState?e(document):window.addEventListener("load",()=>{e(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(e){this.display&&(this.display.delete(),this.display.animationLoop=null),e&&(e.animationLoop=this),this.display=e}_cancelAnimationFrame(e){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(n):clearTimeout(n)}(e)}_requestAnimationFrame(e){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(e):function(n){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(n):setTimeout(n,1e3/60)}(e)}_renderFrame(...e){this.display?this.display._renderFrame(...e):this.onRender(...e)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:e,height:t,aspect:i}=this._getSizeAndAspect();(e!==this.animationProps.width||t!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),i!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=e,this.animationProps.height=t,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(e){"object"==typeof e&&null!==e&&(this.animationProps=Object.assign({},this.animationProps,e))}_createWebGLContext(e){if(this.offScreen=e.canvas&&"undefined"!=typeof OffscreenCanvas&&e.canvas instanceof OffscreenCanvas,e=Object.assign({},e,this.props.glOptions),this.gl=this.props.gl?sI(this.props.gl,e):this.onCreateContext(e),!dx(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(n){Xu(n,nI)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const e=document.createElement("div");document.body.appendChild(e),e.style.position="relative";const t=document.createElement("div");t.style.position="absolute",t.style.left="10px",t.style.bottom="10px",t.style.width="300px",t.style.background="white",e.appendChild(this.gl.canvas),e.appendChild(t);const i=this.props.onAddHTML(t);i&&(t.innerHTML=i)}}_getSizeAndAspect(){const e=this.gl.drawingBufferWidth,t=this.gl.drawingBufferHeight;let i=1;const{canvas:r}=this.gl;return r&&r.clientHeight?i=r.clientWidth/r.clientHeight:e>0&&t>0&&(i=e/t),{width:e,height:t,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(n,e={}){if(n.canvas)return void function(n,e,t){let i="width"in t?t.width:n.canvas.clientWidth,r="height"in t?t.height:n.canvas.clientHeight;(!i||!r)&&(mn.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=n.canvas.width||1,r=n.canvas.height||1),n.luma=n.luma||{},n.luma.canvasSizeInfo=n.luma.canvasSizeInfo||{};const s=n.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let o=e;const a=Math.floor(i*o),l=Math.floor(r*o);n.canvas.width=a,n.canvas.height=l,(n.drawingBufferWidth!==a||n.drawingBufferHeight!==l)&&(mn.warn("Device pixel ratio clamped")(),o=Math.min(n.drawingBufferWidth/i,n.drawingBufferHeight/r),n.canvas.width=Math.floor(i*o),n.canvas.height=Math.floor(r*o)),Object.assign(n.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(n,function(n){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(n)?n<=0?1:n:n?e:1}(e.useDevicePixels),e);const t=n.getExtension("STACKGL_resize_drawingbuffer");t&&"width"in e&&"height"in e&&t.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new ks(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:e}=this.gl;e&&(e.addEventListener("mousemove",this._onMousemove),e.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(e){this.animationProps._mousePosition=[e.offsetX,e.offsetY]}_onMouseleave(e){this.animationProps._mousePosition=null}}var Ife=et(1524),Zx=et.n(Ife);const Ofe={mousedown:1,mousemove:2,mouseup:4};(function(n){const e=n.prototype.handler;n.prototype.handler=function(i){const r=this.store;i.button>0&&"pointerdown"===i.type&&(function(n,e){for(let t=0;t=0&&(this.pressed=!0),2&i&&0===t.which&&(i=4),this.pressed&&(4&i&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(Zx().MouseInput);const kfe=Zx().Manager,au=Zx(),Ffe=au?[[au.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[au.Rotate,{enable:!1}],[au.Pinch,{enable:!1}],[au.Swipe,{enable:!1}],[au.Pan,{threshold:0,enable:!1}],[au.Press,{enable:!1}],[au.Tap,{event:"doubletap",taps:2,enable:!1}],[au.Tap,{event:"anytap",enable:!1}],[au.Tap,{enable:!1}]]:null,lz={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},Lfe={doubletap:["tap"]},Bfe={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},rR={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},Vfe={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},cz={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},jfe="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",im="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let uz=!1;try{const n={get passive(){return uz=!0,!0}};im.addEventListener("test",n,n),im.removeEventListener("test",n,n)}catch(n){}const Ufe=-1!==jfe.indexOf("firefox"),{WHEEL_EVENTS:zfe}=rR,hz=4.000244140625;class $fe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.events=zfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent,!!uz&&{passive:!1}))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){"wheel"===e&&(this.options.enable=t)}handleEvent(e){if(!this.options.enable)return;let t=e.deltaY;im.WheelEvent&&(Ufe&&e.deltaMode===im.WheelEvent.DOM_DELTA_PIXEL&&(t/=im.devicePixelRatio),e.deltaMode===im.WheelEvent.DOM_DELTA_LINE&&(t*=40));const i={x:e.clientX,y:e.clientY};0!==t&&t%hz==0&&(t=Math.floor(t/hz)),e.shiftKey&&t&&(t*=.25),this._onWheel(e,-t,i)}_onWheel(e,t,i){this.callback({type:"wheel",center:i,delta:t,srcEvent:e,pointerType:"mouse",target:e.target})}}const{MOUSE_EVENTS:Wfe}=rR,fz="pointermove",pz="pointerover",gz="pointerout",mz="pointerleave";class qfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.pressed=!1,this.options=Object.assign({enable:!0},i),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=Wfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===fz&&(this.enableMoveEvent=t),e===pz&&(this.enableOverEvent=t),e===gz&&(this.enableOutEvent=t),e===mz&&(this.enableLeaveEvent=t)}handleEvent(e){this.handleOverEvent(e),this.handleOutEvent(e),this.handleLeaveEvent(e),this.handleMoveEvent(e)}handleOverEvent(e){this.enableOverEvent&&"mouseover"===e.type&&this.callback({type:pz,srcEvent:e,pointerType:"mouse",target:e.target})}handleOutEvent(e){this.enableOutEvent&&"mouseout"===e.type&&this.callback({type:gz,srcEvent:e,pointerType:"mouse",target:e.target})}handleLeaveEvent(e){this.enableLeaveEvent&&"mouseleave"===e.type&&this.callback({type:mz,srcEvent:e,pointerType:"mouse",target:e.target})}handleMoveEvent(e){if(this.enableMoveEvent)switch(e.type){case"mousedown":e.button>=0&&(this.pressed=!0);break;case"mousemove":0===e.which&&(this.pressed=!1),this.pressed||this.callback({type:fz,srcEvent:e,pointerType:"mouse",target:e.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:Yfe}=rR,_z="keydown";class Xfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=Yfe.concat(i.events||[]),this.handleEvent=this.handleEvent.bind(this),e.tabIndex=i.tabIndex||0,e.style.outline="none",this.events.forEach(r=>e.addEventListener(r,this.handleEvent))}destroy(){this.events.forEach(e=>this.element.removeEventListener(e,this.handleEvent))}enableEventType(e,t){e===_z&&(this.enableDownEvent=t),"keyup"===e&&(this.enableUpEvent=t)}handleEvent(e){const t=e.target||e.srcElement;"INPUT"===t.tagName&&"text"===t.type||"TEXTAREA"===t.tagName||(this.enableDownEvent&&"keydown"===e.type&&this.callback({type:_z,srcEvent:e,key:e.key,target:e.target}),this.enableUpEvent&&"keyup"===e.type&&this.callback({type:"keyup",srcEvent:e,key:e.key,target:e.target}))}}const bz="contextmenu";class Kfe{constructor(e,t,i={}){this.element=e,this.callback=t,this.options=Object.assign({enable:!0},i),this.handleEvent=this.handleEvent.bind(this),e.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(e,t){e===bz&&(this.options.enable=t)}handleEvent(e){!this.options.enable||this.callback({type:bz,center:{x:e.clientX,y:e.clientY},srcEvent:e,pointerType:"mouse",target:e.target})}}const Qfe={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},vz={srcElement:"root",priority:0};class cpe{constructor(e){this.eventManager=e,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(e,t,i,r=!1,s=!1){const{handlers:o,handlersByElement:a}=this;i&&("object"!=typeof i||i.addEventListener)&&(i={srcElement:i}),i=i?Object.assign({},vz,i):vz;let l=a.get(i.srcElement);l||(l=[],a.set(i.srcElement,l));const c={type:e,handler:t,srcElement:i.srcElement,priority:i.priority};r&&(c.once=!0),s&&(c.passive=!0),o.push(c),this._active=this._active||!c.passive;let u=l.length-1;for(;u>=0&&!(l[u].priority>=c.priority);)u--;l.splice(u+1,0,c)}remove(e,t){const{handlers:i,handlersByElement:r}=this;for(let s=i.length-1;s>=0;s--){const o=i[s];if(o.type===e&&o.handler===t){i.splice(s,1);const a=r.get(o.srcElement);a.splice(a.indexOf(o),1),0===a.length&&r.delete(o.srcElement)}}this._active=i.some(s=>!s.passive)}handleEvent(e){if(this.isEmpty())return;const t=this._normalizeEvent(e);let i=e.srcEvent.target;for(;i&&i!==t.rootElement;){if(this._emit(t,i),t.handled)return;i=i.parentNode}this._emit(t,"root")}_emit(e,t){const i=this.handlersByElement.get(t);if(i){let r=!1;const s=()=>{e.handled=!0},o=()=>{e.handled=!0,r=!0},a=[];for(let l=0;l{const s=this.manager.get(r);s&&lz[r].forEach(o=>{s.recognizeWith(o)})});for(const r in t.recognizerOptions){const s=this.manager.get(r);if(s){const o=t.recognizerOptions[r];delete o.enable,s.set(o)}}this.wheelInput=new $fe(e,this._onOtherEvent,{enable:!1}),this.moveInput=new qfe(e,this._onOtherEvent,{enable:!1}),this.keyInput=new Xfe(e,this._onOtherEvent,{enable:!1,tabIndex:t.tabIndex}),this.contextmenuInput=new Kfe(e,this._onOtherEvent,{enable:!1});for(const[r,s]of this.events)s.isEmpty()||(this._toggleRecognizer(s.recognizerName,!0),this.manager.on(r,s.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(e,t,i){this._addEventHandler(e,t,i,!1)}once(e,t,i){this._addEventHandler(e,t,i,!0)}watch(e,t,i){this._addEventHandler(e,t,i,!1,!0)}off(e,t){this._removeEventHandler(e,t)}_toggleRecognizer(e,t){const{manager:i}=this;if(!i)return;const r=i.get(e);if(r&&r.options.enable!==t){r.set({enable:t});const s=Lfe[e];s&&!this.options.recognizers&&s.forEach(o=>{const a=i.get(o);t?(a.requireFailure(e),r.dropRequireFailure(o)):a.dropRequireFailure(e)})}this.wheelInput.enableEventType(e,t),this.moveInput.enableEventType(e,t),this.keyInput.enableEventType(e,t),this.contextmenuInput.enableEventType(e,t)}_addEventHandler(e,t,i,r,s){if("string"!=typeof e){i=t;for(const u in e)this._addEventHandler(u,e[u],i,r,s);return}const{manager:o,events:a}=this,l=cz[e]||e;let c=a.get(l);c||(c=new cpe(this),a.set(l,c),c.recognizerName=Vfe[l]||l,o&&o.on(l,c.handleEvent)),c.add(e,t,i,r,s),c.isEmpty()||this._toggleRecognizer(c.recognizerName,!0)}_removeEventHandler(e,t){if("string"!=typeof e){for(const o in e)this._removeEventHandler(o,e[o]);return}const{events:i}=this,s=i.get(cz[e]||e);if(s&&(s.remove(e,t),s.isEmpty())){const{recognizerName:o}=s;let a=!1;for(const l of i.values())if(l.recognizerName===o&&!l.isEmpty()){a=!0;break}a||this._toggleRecognizer(o,!1)}}_onBasicInput(e){const{srcEvent:t}=e,i=Bfe[t.type];i&&this.manager.emit(i,e)}_onOtherEvent(e){this.manager.emit(e.type,e)}}function Vf(){}const wz={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:Vf,onResize:Vf,onViewStateChange:Vf,onInteractionStateChange:Vf,onBeforeRender:Vf,onAfterRender:Vf,onLoad:Vf,onError:(n,e)=>Ri.error(n)(),_onMetrics:null,getCursor:({isDragging:n})=>n?"grabbing":"grab",debug:!1,drawPickingColors:!1};class eS{constructor(e){e=at(at({},wz),e),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),e.viewState&&e.initialViewState&&Ri.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,nm.qs)()&&Ri.warn("IE 11 support will be deprecated in v8.0")(),e.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(e)),this.animationLoop=this._createAnimationLoop(e),this.stats=new oI({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(e),e._typedArrayManagerProps&&A0.setProps(e._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(e){this.stats.get("setProps Time").timeStart(),"onLayerHover"in e&&Ri.removed("onLayerHover","onHover")(),"onLayerClick"in e&&Ri.removed("onLayerClick","onClick")(),e.initialViewState&&!X0(this.props.initialViewState,e.initialViewState)&&(this.viewState=e.initialViewState),Object.assign(this.props,e),this._setCanvasSize(this.props);const t=Object.create(this.props);Object.assign(t,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(t),this.layerManager&&(this.viewManager.setProps(t),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(t),this.effectManager.setProps(t),this.deckRenderer.setProps(t),this.deckPicker.setProps(t)),this.stats.get("setProps Time").timeEnd()}needsRedraw(e={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let t=this._needsRedraw;e.clearRedrawFlags&&(this._needsRedraw=!1);const i=this.viewManager.needsRedraw(e),r=this.layerManager.needsRedraw(e),s=this.effectManager.needsRedraw(e),o=this.deckRenderer.needsRedraw(e);return t=t||i||r||s||o,t}redraw(e){if(!this.layerManager)return;const t=e||this.needsRedraw({clearRedrawFlags:!0});!t||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(t):this._drawLayers(t))}getViews(){return this.viewManager.views}getViewports(e){return this.viewManager.getViewports(e)}pickObject(e){const t=this._pick("pickObject","pickObject Time",e).result;return t.length?t[0]:null}pickMultipleObjects(e){return e.depth=e.depth||10,this._pick("pickObject","pickMultipleObjects Time",e).result}pickObjects(e){return this._pick("pickObjects","pickObjects Time",e)}_addResources(e,t=!1){for(const i in e)this.layerManager.resourceManager.add({resourceId:i,data:e[i],forceUpdate:t})}_removeResources(e){for(const t of e)this.layerManager.resourceManager.remove(t)}_pick(e,t,i){const{stats:r}=this;r.get("Pick Count").incrementCount(),r.get(t).timeStart();const s=this.deckPicker[e](at({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport},i));return r.get(t).timeEnd(),s}_createCanvas(e){let t=e.canvas;return"string"==typeof t&&(t=document.getElementById(t),fc(t)),t||(t=document.createElement("canvas"),t.id=e.id||"deckgl-overlay",(e.parent||document.body).appendChild(t)),Object.assign(t.style,e.style),t}_setCanvasSize(e){if(!this.canvas)return;let{width:t,height:i}=e;(t||0===t)&&(t=Number.isFinite(t)?"".concat(t,"px"):t,this.canvas.style.width=t),(i||0===i)&&(i=Number.isFinite(i)?"".concat(i,"px"):i,this.canvas.style.position="absolute",this.canvas.style.height=i)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:e,height:t}=this;this.viewManager.setProps({width:e,height:t}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:e}=this;if(!e)return!1;const t=e.clientWidth||e.width,i=e.clientHeight||e.height;return(t!==this.width||i!==this.height)&&(this.width=t,this.height=i,!0)}_createAnimationLoop(e){const{width:t,height:i,gl:r,glOptions:s,debug:o,onError:a,onBeforeRender:l,onAfterRender:c,useDevicePixels:u,autoResizeDrawingBuffer:h}=e;return new Dfe({width:t,height:i,useDevicePixels:u,autoResizeDrawingBuffer:h,autoResizeViewport:!1,gl:r,onCreateContext:f=>XV(Sn(at(at({},s),f),{canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()})),onInitialize:f=>this._setGLContext(f.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:l,onAfterRender:c,onError:a})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let e=this.props.views||[new Phe({id:"default-view"})];return e=Array.isArray(e)?e:[e],e.length&&this.props.controller&&(e[0].props.controller=this.props.controller),e}_onContextLost(){const{onError:e}=this.props;this.animationLoop&&e&&e(new Error("WebGL context is lost"))}_onPointerMove(e){const{_pickRequest:t}=this;if("pointerleave"===e.type)t.x=-1,t.y=-1,t.radius=0;else{if(e.leftButton||e.rightButton)return;{const i=e.offsetCenter;if(!i)return;t.x=i.x,t.y=i.y,t.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:t.x,y:t.y}),t.event=e,t.mode="hover"}_pickAndCallback(){const{_pickRequest:e}=this;if(e.event){const{result:t,emptyInfo:i}=this._pick("pickObject","pickObject Time",e);this.interactiveState.isHovering=t.length>0;let r=i,s=!1;for(const o of t)r=o,s=o.layer.onHover(o,e.event);if(!s&&this.props.onHover&&this.props.onHover(r,e.event),this.props.getTooltip){const o=this.props.getTooltip(r);this.tooltip.setTooltip(o,r.x,r.y)}e.event=null}}_updateCursor(){const e=this.props.parent||this.canvas;e&&(e.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(e){if(this.layerManager)return;this.canvas||(this.canvas=e.canvas,sI(e,{enable:!0,copyState:!0})),this.tooltip=new qhe(this.canvas),Xu(e,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(e);const t=new G4;t.play(),this.animationLoop.attachTimeline(t),this.eventManager=new dpe(this.props.parent||e.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const r in NV)this.eventManager.on(r,this._onEvent);this.viewManager=new Ihe({timeline:t,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const i=this.viewManager.getViewports()[0];this.layerManager=new Dhe(e,{deck:this,stats:this.stats,viewport:i,timeline:t}),this.effectManager=new Fhe,this.deckRenderer=new Vhe(e),this.deckPicker=new $he(e),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(e,t){const{gl:i}=this.layerManager.context;Xu(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers(at({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:e,effects:this.effectManager.getEffects()},t)),this.props.onAfterRender({gl:i})}_onRenderFrame(e){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Ri.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(e){const t=this.props.onViewStateChange(e)||e.viewState;this.viewState&&(this.viewState=Sn(at({},this.viewState),{[e.viewId]:t}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(e){this.interactiveState.isDragging=e.isDragging,this.props.onInteractionStateChange(e)}_onEvent(e){const t=NV[e.type],i=e.offsetCenter;if(!t||!i)return;const r=this.layerManager.getLayers(),s=this.deckPicker.getLastPickedObject({x:i.x,y:i.y,layers:r,viewports:this.getViewports(i)},this._lastPointerDownInfo),{layer:o}=s,a=o&&(o[t.handler]||o.props[t.handler]),l=this.props[t.handler];let c=!1;a&&(c=a.call(o,s,e)),!c&&l&&l(s,e)}_onPointerDown(e){const t=e.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:t.x,y:t.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:e}=this;e.get("frameRate").timeEnd(),e.get("frameRate").timeStart();const t=this.animationLoop.stats;e.get("GPU Time").addTime(t.get("GPU Time").lastTiming),e.get("CPU Time").addTime(t.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:e,stats:t}=this;e.fps=t.get("frameRate").getHz(),e.setPropsTime=t.get("setProps Time").time,e.updateAttributesTime=t.get("Update Attributes").time,e.framesRedrawn=t.get("Redraw Count").count,e.pickTime=t.get("pickObject Time").time+t.get("pickMultipleObjects Time").time+t.get("pickObjects Time").time,e.pickCount=t.get("Pick Count").count,e.gpuTime=t.get("GPU Time").time,e.cpuTime=t.get("CPU Time").time,e.gpuTimePerFrame=t.get("GPU Time").getAverageTime(),e.cpuTimePerFrame=t.get("CPU Time").getAverageTime();const i=Rf.get("Memory Usage");e.bufferMemory=i.get("Buffer Memory").count,e.textureMemory=i.get("Texture Memory").count,e.renderbufferMemory=i.get("Renderbuffer Memory").count,e.gpuMemory=i.get("GPU Memory").count}}eS.getPropTypes=function(n){return{id:n.string,width:n.oneOfType([n.number,n.string]),height:n.oneOfType([n.number,n.string]),layers:n.oneOfType([n.object,n.array]),layerFilter:n.func,views:n.oneOfType([n.object,n.array]),viewState:n.object,effects:n.arrayOf(n.instanceOf(U4)),controller:n.oneOfType([n.func,n.bool,n.object]),gl:n.object,glOptions:n.object,parameters:n.object,pickingRadius:n.number,useDevicePixels:n.oneOfType([n.bool,n.number]),touchAction:n.string,eventRecognizerOptions:n.object,onWebGLInitialized:n.func,onResize:n.func,onViewStateChange:n.func,onInteractionStateChange:n.func,onBeforeRender:n.func,onAfterRender:n.func,onLoad:n.func,onError:n.func,debug:n.bool,drawPickingColors:n.bool,_framebuffer:n.object,_animate:n.bool,_pickable:n.bool,_typedArrayManagerProps:n.object}},eS.defaultProps=wz,eS.VERSION=yfe.VERSION;const tS={name:"project32",dependencies:[HO],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"},gpe={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1},nS=at({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(n=gpe){const e={};if(void 0!==n.pickingSelectedColor)if(n.pickingSelectedColor){const t=n.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=t}else e.picking_uSelectedColorValid=0;if(n.pickingHighlightColor){const t=Array.from(n.pickingHighlightColor,i=>i/255);Number.isFinite(t[3])||(t[3]=1),e.picking_uHighlightColor=t}return void 0!==n.pickingActive&&(e.picking_uActive=Boolean(n.pickingActive),e.picking_uAttribute=Boolean(n.pickingAttribute)),e}}),Ez={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class gh{static get DRAW_MODE(){return Ez}constructor(e={}){const{id:t=ma("geometry"),drawMode:i=Ez.TRIANGLES,attributes:r={},indices:s=null,vertexCount:o=null}=e;this.id=t,this.drawMode=0|i,this.attributes={},this.userData={},this._setAttributes(r,s),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?at({indices:this.indices},this.attributes):this.attributes}_print(e){return`Geometry ${this.id} attribute ${e}`}_setAttributes(e,t){t&&(this.indices=ArrayBuffer.isView(t)?{value:t,size:1}:t);for(const i in e){let r=e[i];r=ArrayBuffer.isView(r)?{value:r}:r,on(ArrayBuffer.isView(r.value),`${this._print(i)}: must be typed array or object with value as typed array`),("POSITION"===i||"positions"===i)&&!r.size&&(r.size=3),"indices"===i?(on(!this.indices),this.indices=r):this.attributes[i]=r}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(e,t){if(t)return t.value.length;let i=1/0;for(const r in e){const s=e[r],{value:o,size:a,constant:l}=s;!l&&o&&a>=1&&(i=Math.min(i,o.length/a))}return on(Number.isFinite(i)),i}}const xz=()=>{},wpe={10241:9987,10240:9729,10242:33071,10243:33071};function Epe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function xpe(n,e,t,i){return t===e.width&&i===e.height?e:(n.canvas.height=i,n.canvas.width=t,n.clearRect(0,0,n.canvas.width,n.canvas.height),n.drawImage(e,0,0,e.width,e.height,0,0,t,i),n.canvas)}function eb(n){return n&&(n.id||n.url)}function Sz(n,e,t){for(let i=0;i0){const{mapping:i,xOffset:r,yOffset:s,rowHeight:o,canvasHeight:a}=function({icons:n,buffer:e,mapping:t={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(Sz(t,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+f+e,s=Math.max(s,h)}}return a.length>0&&Sz(t,a,r),{mapping:t,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:Epe(s+r+e)}}({icons:t,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=o,this._mapping=i,this._xOffset=r,this._yOffset=s,this._canvasHeight=a,this._texture||(this._texture=new ya(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:wpe})),this._texture.height!==this._canvasHeight&&(this._texture=function(n,e,t,i){const r=e.width,s=e.height,o=hj(e,{width:t,height:i});return function(n,e,t={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=t;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=t;const{framebuffer:f,deleteFramebuffer:g}=T0(n);on(f);const{gl:m,handle:A}=f,I=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const G=m.bindFramebuffer(36160,A);on(e);let k=null;if(e instanceof Nf&&(k=e,u=Number.isFinite(u)?u:k.width,h=Number.isFinite(h)?h:k.height,k.bind(0),e=k.target),I)switch(e){case 3553:case 34067:m.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:Ao(m).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else m.copyTexImage2D(e,s,o,i,r,u,h,0);k&&k.unbind(),m.bindFramebuffer(36160,G||null),g&&f.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(t)}}_loadIcons(e){const t=this._canvas.getContext("2d");for(const i of e)this._pendingCount++,q0(i.url,nR,this._loadOptions).then(r=>{const s=eb(i),{x:o,y:a,width:l,height:c}=this._mapping[s],u=xpe(t,r,l,c);this._texture.setSubImageData({data:u,x:o,y:a,width:l,height:c}),this._texture.generateMipmap(),this.onUpdate()}).catch(r=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:r})}).finally(()=>{this._pendingCount--})}}const Cz=[0,0,0,255],Mpe={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:n=>n.position},getIcon:{type:"accessor",value:n=>n.icon},getColor:{type:"accessor",value:Cz},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let Dpe=(()=>{class n extends Y0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[tS,nS]})}initializeState(){this.state={iconManager:new Ape(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:Cz},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:i,changeFlags:r}){super.updateState({props:i,oldProps:t,changeFlags:r});const s=this.getAttributeManager(),{iconAtlas:o,iconMapping:a,data:l,getIcon:c}=i,{iconManager:u}=this.state;u.setProps({loadOptions:i.loadOptions});let h=!1;if(o||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==i.iconAtlas&&u.setProps({iconAtlas:o,autoPacking:!1}),t.iconMapping!==i.iconMapping&&(u.setProps({iconMapping:a}),h=!0)):u.setProps({autoPacking:!0}),(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getIcon))&&u.setProps({data:l,getIcon:c}),h&&(s.invalidate("instanceOffsets"),s.invalidate("instanceIconFrames"),s.invalidate("instanceColorModes")),r.extensionsChanged){var g;const{gl:m}=this.context;null===(g=this.state.model)||void 0===g||g.delete(),this.state.model=this._getModel(m),s.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:i,sizeMinPixels:r,sizeMaxPixels:s,sizeUnits:o,billboard:a,alphaCutoff:l}=this.props,{iconManager:c}=this.state,{viewport:u}=this.context,h=c.getTexture();h&&this.state.model.setUniforms(t).setUniforms({iconsTexture:h,iconsTextureDim:[h.width,h.height],sizeScale:i*("pixels"===o?u.metersPerPixel:1),sizeMinPixels:r,sizeMaxPixels:s,billboard:a,alphaCutoff:l}).draw()}_getModel(t){return new Yg(t,Sn(at({},this.getShaders()),{id:this.props.id,geometry:new gh({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:i}=this.getCurrentLayer().props;i?i(t):Ri.error(t.error)()}getInstanceOffset(t){const i=this.state.iconManager.getIconMapping(t);return[i.width/2-i.anchorX||0,i.height/2-i.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const i=this.state.iconManager.getIconMapping(t);return[i.x||0,i.y||0,i.width||0,i.height||0]}}return n.layerName="IconLayer",n.defaultProps=Mpe,n})();const Az=[],Ope={getIconOffsets:{type:"accessor",value:n=>n.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let Rpe=(()=>{class n extends Dpe{getShaders(){return Sn(at({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(i,{index:r,target:s})=>this.encodePickingColor(r,s)}})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;let{outlineColor:s}=i;s!==r.outlineColor&&(s=s.map(o=>o/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!i.sdf&&i.outlineWidth&&Ri.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:i,smoothing:r,outlineWidth:s}=this.props,{outlineColor:o}=this.state;t.uniforms=Sn(at({},t.uniforms),{buffer:.75,outlineBuffer:s?Math.max(r,.75*(1-s)):-1,gamma:r,sdf:Boolean(i),outlineColor:o}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(i=>super.getInstanceOffset(i)):Az}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(i=>super.getInstanceIconFrame(i)):Az}}return n.layerName="MultiIconLayer",n.defaultProps=Ope,n})();var Npe=et(1002),Ppe=et.n(Npe);const Fpe=[];function Lpe(n){return Math.pow(2,Math.ceil(Math.log2(n)))}function Mz(n,e,t,i){let r=0;for(let s=e;si&&(oa){let h=Mz(n,a,l,r);c+h>i&&(oi&&(h=Dz(n,a,l,i,r,s),o=s[s.length-1])),a=l,c+=h}}(n,r,s,t,i,o),o}function Upe(n,e,t,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let f=0,g=0,m=0;for(let A=0;A<=s;A++){const I=n[A];if(("\n"===I||A===s)&&(m=A),m>g){const G=c?jpe(n,t,i,r,g,m):Fpe;for(let k=0;k<=G.length;k++){const oe=0===k?g:G[k-1],we=ki===e);t>=0&&this._order.splice(t,1)}_appendOrder(e){this._order.push(e)}}(3),qpe=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function Xpe(n,e){for(let t=0;t{o in e&&(this.props[o]=e[o])});const t=this._key;this._key=this._getKey();const i=function(n,e){const t=aR.get(n);if(!t)return e;const i=[];let s=Object.keys(t.mapping);s=new Set(s);let o=e;return o instanceof Array&&(o=new Set(o)),o.forEach(a=>{s.has(a)||i.push(a)}),i}(this._key,this.props.characterSet),r=aR.get(this._key);if(r&&0===i.length)return void(this._key!==t&&(this._atlas=r));const s=this._generateFontAtlas(this._key,i,r);this._atlas=s,aR.set(this._key,s)}_generateFontAtlas(e,t,i){const{fontFamily:r,fontWeight:s,fontSize:o,buffer:a,sdf:l,radius:c,cutoff:u}=this.props;let h=i&&i.data;h||(h=document.createElement("canvas"),h.width=1024);const f=h.getContext("2d");jz(f,r,o,s);const{mapping:g,canvasHeight:m,xOffset:A,yOffset:I}=function({characterSet:n,getFontWidth:e,fontHeight:t,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const f of n)if(!s[f]){const g=e(f,u++);c+g+2*i>r&&(c=0,l++),s[f]={x:c+i,y:a+l*(t+2*i)+i,width:g,height:t},c+=g+2*i}const h=t+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:Lpe(a+(l+1)*h)}}(at({getFontWidth:G=>f.measureText(G).width,fontHeight:1.2*o,buffer:a,characterSet:t,maxCanvasWidth:1024},i&&{mapping:i.mapping,xOffset:i.xOffset,yOffset:i.yOffset}));if(h.height!==m){const G=f.getImageData(0,0,h.width,h.height);h.height=m,f.putImageData(G,0,0)}if(jz(f,r,o,s),l){const G=new(Ppe())(o,a,c,u,r,s),k=f.getImageData(0,0,G.size,G.size);for(const oe of t)Xpe(G.draw(oe),k),f.putImageData(k,g[oe].x-a,g[oe].y+a)}else for(const G of t)f.fillText(G,g[G].x,g[G].y+.9*o);return{xOffset:A,yOffset:I,mapping:g,data:h,width:h.width,height:h.height}}_getKey(){const{fontFamily:e,fontWeight:t,fontSize:i,buffer:r,sdf:s,radius:o,cutoff:a}=this.props;return s?"".concat(e," ").concat(t," ").concat(i," ").concat(r," ").concat(o," ").concat(a):"".concat(e," ").concat(t," ").concat(i," ").concat(r)}}const Jpe={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:n=>n.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let ege=(()=>{class n extends Y0{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[tS,nS]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),r.extensionsChanged){var s;const{gl:o}=this.context;null===(s=this.state.model)||void 0===s||s.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:i}=this.context,{billboard:r,sizeScale:s,sizeUnits:o,sizeMinPixels:a,sizeMaxPixels:l,getLineWidth:c}=this.props;let{padding:u}=this.props;const h="pixels"===o?i.metersPerPixel:1;u.length<4&&(u=[u[0],u[1],u[0],u[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:Boolean(c),padding:u,sizeScale:s*h,sizeMinPixels:a,sizeMaxPixels:l}).draw()}_getModel(t){return new Yg(t,Sn(at({},this.getShaders()),{id:this.props.id,geometry:new gh({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return n.layerName="TextBackgroundLayer",n.defaultProps=Jpe,n})();const Uz={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},zz={start:1,middle:0,end:-1},Hz={top:1,center:0,bottom:-1},lR=[0,0,0,255],nge=["fontSize","buffer","sdf","radius","cutoff"],ige={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:lR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:Oz},fontFamily:Rz,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:lR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:n=>n.text},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:lR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let rge=(()=>{class n extends P4{initializeState(){this.state={styleVersion:0,fontAtlasManager:new Kpe}}updateState({props:t,oldProps:i,changeFlags:r}){const o=this.state.characterSet;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText();const a=o!==this.state.characterSet||this._fontChanged(i,t);a&&this._updateFontAtlas(i,t),(a||t.lineHeight!==i.lineHeight||t.wordBreak!==i.wordBreak||t.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,i){const{fontSettings:r,fontFamily:s,fontWeight:o}=i,{fontAtlasManager:a,characterSet:l}=this.state;a.setProps(Sn(at(at({},Uz),r),{characterSet:l,fontFamily:s,fontWeight:o}))}_fontChanged(t,i){if(t.fontFamily!==i.fontFamily||t.fontWeight!==i.fontWeight)return!0;if(t.fontSettings===i.fontSettings)return!1;const r=t.fontSettings||{},s=i.fontSettings||{};return nge.some(o=>r[o]!==s[o])}_updateText(){const{data:t,characterSet:i}=this.props,r=t.attributes&&t.attributes.getText;let a,{getText:s}=this.props,{startIndices:o}=t;const l="auto"===i&&new Set;if(r&&o){const{texts:c,characterCount:u}=function({value:n,length:e,stride:t,offset:i,startIndices:r,characterSet:s}){const o=n.BYTES_PER_ELEMENT,a=t?t/o:1,l=i?i/o:0,c=r[e]||Math.ceil((n.length-l)/a),u=s&&new Set,h=new Array(e);let f=n;if(a>1||l>0){f=new n.constructor(c);for(let g=0;gc[f]}else{const{iterable:c,objectInfo:u}=bx(t);o=[0],a=0;for(const h of c){u.index++;const f=Array.from(s(h,u)||"");l&&f.forEach(l.add,l),a+=f.length,o.push(a)}}this.setState({getText:s,startIndices:o,numInstances:a,characterSet:l||i})}getBoundingRect(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{size:[f,g]}=Iz(h,l,o,a,r);return[(zz["function"==typeof c?c(t,i):c]-1)*f/2,(Hz["function"==typeof u?u(t,i):u]-1)*g/2,f,g]}getIconOffsets(t,i){const r=this.state.fontAtlasManager.mapping,{getText:s}=this.state,{wordBreak:o,maxWidth:a,lineHeight:l,getTextAnchor:c,getAlignmentBaseline:u}=this.props,h=s(t,i)||"",{x:f,y:g,rowWidth:m,size:[A,I]}=Iz(h,l,o,a,r),G=zz["function"==typeof c?c(t,i):c],k=Hz["function"==typeof u?u(t,i):u],oe=f.length,we=new Array(2*oe);let Be=0;for(let Ue=0;Uet*e/255)}const uR={name:"lights",vs:Gz,fs:Gz,getUniforms:function $z(n=sge){if("lightSources"in n){const{ambientLight:e,pointLights:t,directionalLights:i}=n.lightSources||{};return e||t&&t.length>0||i&&i.length>0?Object.assign({},function({ambientLight:n,pointLights:e=[],directionalLights:t=[]}){const i={};return i["lighting_uAmbientLight.color"]=n?cR(n):[0,0,0],e.forEach((r,s)=>{i[`lighting_uPointLight[${s}].color`]=cR(r),i[`lighting_uPointLight[${s}].position`]=r.position,i[`lighting_uPointLight[${s}].attenuation`]=r.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,t.forEach((r,s)=>{i[`lighting_uDirectionalLight[${s}].color`]=cR(r),i[`lighting_uDirectionalLight[${s}].direction`]=r.direction}),i.lighting_uDirectionalLightCount=t.length,i}({ambientLight:e,pointLights:t,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in n){const e={pointLights:[],directionalLights:[]};for(const t of n.lights||[])switch(t.type){case"ambient":e.ambientLight=t;break;case"directional":e.directionalLights.push(t);break;case"point":e.pointLights.push(t)}return $z({lightSources:e})}return{}},defines:{MAX_LIGHTS:3}},age={};const cge={name:"phong-lighting",dependencies:[uR],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(n=age){if(!("material"in n))return{};const{material:e}=n;return e?function(n){const{ambient:e=.35,diffuse:t=.6,shininess:i=32,specularColor:r=[30,30,30]}=n;return{lighting_uAmbient:e,lighting_uDiffuse:t,lighting_uShininess:i,lighting_uSpecularColor:r.map(s=>s/255)}}(e):{lighting_uEnabled:!1}}},dR=Math.PI/180,iS=new Float32Array(16),Yz=new Float32Array(12);function Xz(n,e,t){const i=e[0]*dR,r=e[1]*dR,s=e[2]*dR,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),f=t[0],g=t[1],m=t[2];n[0]=f*h*u,n[1]=f*l*u,n[2]=f*-a,n[3]=g*(-l*c+h*a*o),n[4]=g*(h*c+l*a*o),n[5]=g*u*o,n[6]=m*(l*o+h*a*c),n[7]=m*(-h*o+l*a*c),n[8]=m*u*c}function Kz(n){return n[0]=n[0],n[1]=n[1],n[2]=n[2],n[3]=n[4],n[4]=n[5],n[5]=n[6],n[6]=n[8],n[7]=n[9],n[8]=n[10],n[9]=n[12],n[10]=n[13],n[11]=n[14],n.subarray(0,12)}const Qz={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(n,{startRow:e,endRow:t}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),f=Array.isArray(o),g=c||!l&&Boolean(a(i[0]));n.constant=g?c:h&&u&&f;const m=n.value;if(n.constant){let A;g?(iS.set(a),A=Kz(iS)):(A=Yz,Xz(A,r,s),A.set(o,9)),n.value=new Float32Array(A)}else{let A=e*n.size;const{iterable:I,objectInfo:G}=bx(i,e,t);for(const k of I){let oe;G.index++,g?(iS.set(c?a:a(k,G)),oe=Kz(iS)):(oe=Yz,Xz(oe,h?r:r(k,G),u?s:s(k,G)),oe.set(f?o:o(k,G),9)),m[A++]=oe[0],m[A++]=oe[1],m[A++]=oe[2],m[A++]=oe[3],m[A++]=oe[4],m[A++]=oe[5],m[A++]=oe[6],m[A++]=oe[7],m[A++]=oe[8],m[A++]=oe[9],m[A++]=oe[10],m[A++]=oe[11]}}}};function Zz(n,e){return e===Vi.CARTESIAN||e===Vi.METER_OFFSETS||e===Vi.DEFAULT&&!n.isGeospatial}function Jz(n,e){(n.COLOR_0||n.colors)&&e||(n.colors={constant:!0,value:new Float32Array([1,1,1])}),Ri.assert(n.positions||n.POSITION,'no "postions" or "POSITION" attribute in mesh')}function hge(n,e){if(n.attributes)return Jz(n.attributes,e),n instanceof gh?n:new gh(n);if(n.positions||n.POSITION)return Jz(n,e),new gh({attributes:n});throw Error("Invalid mesh")}const fge={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let pge=(()=>{class n extends Y0{getShaders(){const t=!Ci(this.context.gl),i={};return mI(this.context.gl,"GLSL_DERIVATIVES")&&(i.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[tS,cge,nS],transpileToGLSL100:t,defines:i})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:Qz}),this.setState({emptyTexture:new ya(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:i,changeFlags:r}){if(super.updateState({props:t,oldProps:i,changeFlags:r}),t.mesh!==i.mesh||r.extensionsChanged){var s;if(null===(s=this.state.model)||void 0===s||s.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const o=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(o.NORMAL||o.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==i.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:i}=this.context,{sizeScale:r,coordinateSystem:s,_instanced:o}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:r,composeModelMatrix:!o||Zz(i,s),flatShading:!this.state.hasNormals}).draw()}getModel(t){const i=new Yg(this.context.gl,Sn(at({},this.getShaders()),{id:this.props.id,geometry:hge(t,this.props._useMeshColors),isInstanced:!0})),{texture:r}=this.props,{emptyTexture:s}=this.state;return i.setUniforms({sampler:r||s,hasTexture:Boolean(r)}),i}setTexture(t){const{emptyTexture:i,model:r}=this.state;null==r||r.setUniforms({sampler:t||i,hasTexture:Boolean(t)})}}return n.layerName="SimpleMeshLayer",n.defaultProps=fge,n})();const e5={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[uR]};class rm{constructor(e={}){const{id:t}=e;this.id=t||ma(this.constructor.name),this.display=!0,this.position=new Mo,this.rotation=new Mo,this.scale=new Mo(1,1,1),this.matrix=new qn,this.userData={},this.props={},this._setScenegraphNodeProps(e)}delete(){}setProps(e){return this._setScenegraphNodeProps(e),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(e){return on(3===e.length,"setPosition requires vector argument"),this.position=e,this}setRotation(e){return on(3===e.length,"setRotation requires vector argument"),this.rotation=e,this}setScale(e){return on(3===e.length,"setScale requires vector argument"),this.scale=e,this}setMatrix(e,t=!0){t?this.matrix.copy(e):this.matrix=e}setMatrixComponents({position:e,rotation:t,scale:i,update:r=!0}){return e&&this.setPosition(e),t&&this.setRotation(t),i&&this.setScale(i),r&&this.updateMatrix(),this}updateMatrix(){const e=this.position,t=this.rotation,i=this.scale;return this.matrix.identity(),this.matrix.translate(e),this.matrix.rotateXYZ(t),this.matrix.scale(i),this}update(e={}){const{position:t,rotation:i,scale:r}=e;return t&&this.setPosition(t),i&&this.setRotation(i),r&&this.setScale(r),this.updateMatrix(),this}getCoordinateUniforms(e,t){on(e),t=t||this.matrix;const i=new qn(e).multiplyRight(t),r=i.invert(),s=r.transpose();return{viewMatrix:e,modelMatrix:t,objectMatrix:t,worldMatrix:i,worldInverseMatrix:r,worldInverseTransposeMatrix:s}}_setScenegraphNodeProps(e){"display"in e&&(this.display=e.display),"position"in e&&this.setPosition(e.position),"rotation"in e&&this.setRotation(e.rotation),"scale"in e&&this.setScale(e.scale),"matrix"in e&&this.setMatrix(e.matrix),Object.assign(this.props,e)}}class tb extends rm{constructor(e={}){e=Array.isArray(e)?{children:e}:e;const{children:t=[]}=e;mn.assert(t.every(i=>i instanceof rm),"every child must an instance of ScenegraphNode"),super(e),this.children=t}add(...e){for(const t of e)Array.isArray(t)?this.add(...t):this.children.push(t);return this}remove(e){const t=this.children,i=t.indexOf(e);return i>-1&&t.splice(i,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(e=>e.delete()),this.removeAll(),super.delete()}traverse(e,{worldMatrix:t=new qn}={}){const i=new qn(t).multiplyRight(this.matrix);for(const r of this.children)r instanceof tb?r.traverse(e,{worldMatrix:i}):e(r,{worldMatrix:i})}}function t5(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=t[0],g=t[1],m=t[2],A=t[3],I=t[4],G=t[5],k=t[6],oe=t[7],we=t[8];return n[0]=f*i+g*o+m*c,n[1]=f*r+g*a+m*u,n[2]=f*s+g*l+m*h,n[3]=A*i+I*o+G*c,n[4]=A*r+I*a+G*u,n[5]=A*s+I*l+G*h,n[6]=k*i+oe*o+we*c,n[7]=k*r+oe*a+we*u,n[8]=k*s+oe*l+we*h,n}function n5(n,e,t){var i=t[0],r=t[1];return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=r*e[3],n[4]=r*e[4],n[5]=r*e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n}function i5(){var n=new ba(4);return ba!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function r5(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function hR(n,e,t){t*=.5;var i=Math.sin(t);return n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=Math.cos(t),n}function rS(n,e,t){var i=e[0],r=e[1],s=e[2],o=e[3],a=t[0],l=t[1],c=t[2],u=t[3];return n[0]=i*u+o*a+r*c-s*l,n[1]=r*u+o*l+s*a-i*c,n[2]=s*u+o*c+i*l-r*a,n[3]=o*u-i*a-r*l-s*c,n}function s5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+o*a,n[1]=r*l+s*a,n[2]=s*l-r*a,n[3]=o*l-i*a,n}function o5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l-s*a,n[1]=r*l+o*a,n[2]=s*l+i*a,n[3]=o*l-r*a,n}function a5(n,e,t){t*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(t),l=Math.cos(t);return n[0]=i*l+r*a,n[1]=r*l-i*a,n[2]=s*l+o*a,n[3]=o*l-s*a,n}function l5(n,e){var t=e[0],i=e[1],r=e[2];return n[0]=t,n[1]=i,n[2]=r,n[3]=Math.sqrt(Math.abs(1-t*t-i*i-r*r)),n}function nb(n,e,t,i){var f,g,m,A,I,r=e[0],s=e[1],o=e[2],a=e[3],l=t[0],c=t[1],u=t[2],h=t[3];return(g=r*l+s*c+o*u+a*h)<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>eu?(f=Math.acos(g),m=Math.sin(f),A=Math.sin((1-i)*f)/m,I=Math.sin(i*f)/m):(A=1-i,I=i),n[0]=A*r+I*l,n[1]=A*s+I*c,n[2]=A*o+I*u,n[3]=A*a+I*h,n}function c5(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s,a=o?1/o:0;return n[0]=-t*a,n[1]=-i*a,n[2]=-r*a,n[3]=s*a,n}function u5(n,e){return n[0]=-e[0],n[1]=-e[1],n[2]=-e[2],n[3]=e[3],n}function fR(n,e){var i,t=e[0]+e[4]+e[8];if(t>0)i=Math.sqrt(t+1),n[3]=.5*i,n[0]=(e[5]-e[7])*(i=.5/i),n[1]=(e[6]-e[2])*i,n[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),n[r]=.5*i,n[3]=(e[3*s+o]-e[3*o+s])*(i=.5/i),n[s]=(e[3*s+r]+e[3*r+s])*i,n[o]=(e[3*o+r]+e[3*r+o])*i}return n}var d5=function(n,e,t){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n},pR=IU,gR=function(n,e){return n[0]*e[0]+n[1]*e[1]+n[2]*e[2]+n[3]*e[3]},h5=function(n,e,t,i){var r=e[0],s=e[1],o=e[2],a=e[3];return n[0]=r+i*(t[0]-r),n[1]=s+i*(t[1]-s),n[2]=o+i*(t[2]-o),n[3]=a+i*(t[3]-a),n},f5=function(n){return Math.hypot(n[0],n[1],n[2],n[3])},p5=function(n){var e=n[0],t=n[1],i=n[2],r=n[3];return e*e+t*t+i*i+r*r},m5=function(){var n=bj(),e=vj(1,0,0),t=vj(0,1,0);return function(i,r,s){var o=wj(r,s);return o<-.999999?(D0(n,e,r),function(n){return Math.hypot(n[0],n[1],n[2])}(n)<1e-6&&D0(n,t,r),function(n,e){var t=e[0],i=e[1],r=e[2],s=t*t+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),n[0]=e[0]*s,n[1]=e[1]*s,n[2]=e[2]*s}(n,n),hR(i,n,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(D0(n,r,s),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=1+o,function(n,e){var t=e[0],i=e[1],r=e[2],s=e[3],o=t*t+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),n[0]=t*o,n[1]=i*o,n[2]=r*o,n[3]=s*o,n}(i,i))}}();i5(),i5(),function(){var n=new ba(9);ba!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1}();const Sge=[0,0,0,1];class mR extends mx{constructor(e=0,t=0,i=0,r=1){super(-0,-0,-0,-0),Array.isArray(e)&&1===arguments.length?this.copy(e):this.set(e,t,i,r)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this.check()}set(e,t,i,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=r,this.check()}fromMatrix3(e){return fR(this,e),this.check()}identity(){return r5(this),this.check()}fromAxisRotation(e,t){return hR(this,e,t),this.check()}setAxisAngle(e,t){return this.fromAxisRotation(e,t)}get ELEMENTS(){return 4}get x(){return this[0]}set x(e){this[0]=nr(e)}get y(){return this[1]}set y(e){this[1]=nr(e)}get z(){return this[2]}set z(e){this[2]=nr(e)}get w(){return this[3]}set w(e){this[3]=nr(e)}len(){return f5(this)}lengthSquared(){return p5(this)}dot(e,t){if(void 0!==t)throw new Error("Quaternion.dot only takes one argument");return gR(this,e)}rotationTo(e,t){return m5(this,e,t),this.check()}add(e,t){if(void 0!==t)throw new Error("Quaternion.add only takes one argument");return d5(this,this,e),this.check()}calculateW(){return l5(this,this),this.check()}conjugate(){return u5(this,this),this.check()}invert(){return c5(this,this),this.check()}lerp(e,t,i){return h5(this,e,t,i),this.check()}multiplyRight(e,t){return Zu(!t),rS(this,this,e),this.check()}multiplyLeft(e,t){return Zu(!t),rS(this,e,this),this.check()}normalize(){const e=this.len(),t=e>0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return s5(this,this,e),this.check()}rotateY(e){return o5(this,this,e),this.check()}rotateZ(e){return a5(this,this,e),this.check()}scale(e){return pR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=Sge,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return nb(this,e,t,i),this.check()}transformVector4(e,t=e){return OU(t,e,this),_x(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const Cge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Tge={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function _5(n){if(!n._animation){const e=Tge[n.componentType],t=Cge[n.type],i=t*n.count,{buffer:r,byteOffset:s}=n.bufferView.data,o=new e(r,s+(n.byteOffset||0),i);if(1===t)n._animation=Array.from(o);else{const a=[];for(let l=0;l{(function(n,{input:e,interpolation:t,output:i},r,s){const a=n%e[e.length-1],l=e.findIndex(f=>f>=a),c=Math.max(0,l-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:mn.warn(`Bad animation path ${s}`)()}on(r[s].length===i[c].length);const u=e[c],h=e[l];switch(t){case"STEP":!function(n,e,t){for(let i=0;iu&&function(n,e,t,i,r){if("rotation"===e){_R.slerp({start:t,target:i,ratio:r});for(let s=0;s<_R.length;s++)n[e][s]=_R[s]}else for(let s=0;su&&function(n,e,{p0:t,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const r=t.name||`Animation-${i}`,s=t.samplers.map(({input:a,interpolation:l="LINEAR",output:c})=>({input:_5(e.accessors[a]),interpolation:l,output:_5(e.accessors[c])})),o=t.channels.map(({sampler:a,target:l})=>({sampler:s[a],target:e.nodes[l.node],path:l.path}));return new Nge({name:r,channels:o})})}animate(e){this.setTime(e)}setTime(e){this.animations.forEach(t=>t.animate(e))}getAnimations(){return this.animations}}class kge extends rm{constructor(e,t={}){super(t),this.onBeforeRender=null,this.AfterRender=null,e instanceof Yg?(this.model=e,this._setModelNodeProps(t)):this.model=new Yg(e,t),this.managedResources=t.managedResources||[]}setProps(e){return super.setProps(e),this._setModelNodeProps(e),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(e=>e.delete()),this.managedResources=[]}draw(...e){return this.model.draw(...e)}setUniforms(...e){return this.model.setUniforms(...e),this}setAttributes(...e){return this.model.setAttributes(...e),this}updateModuleSettings(...e){return this.model.updateModuleSettings(...e),this}_setModelNodeProps(e){this.model.setProps(e)}}class Fge{constructor(e,{attributes:t,material:i,pbrDebug:r,imageBasedLightingEnvironment:s,lights:o,useTangents:a}){this.gl=e,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},mI(e,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],s&&(this.uniforms.u_DiffuseEnvSampler=s.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=s.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=s.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),r&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(t.NORMAL,"HAS_NORMALS"),this.defineIfPresent(t.TANGENT&&a,"HAS_TANGENTS"),this.defineIfPresent(t.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(s,"USE_IBL"),this.defineIfPresent(o,"USE_LIGHTS"),this.defineIfPresent(r,"PBR_DEBUG"),i&&this.parseMaterial(i)}defineIfPresent(e,t){e&&(this.defines[t]=1)}parseTexture(e,t,i=null){const s=e.texture.source.image;let o,a={};s.compressed?(o=s,a={[this.gl.TEXTURE_MIN_FILTER]:s.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):o={data:s};const l=new ya(this.gl,at({id:e.name||e.id,parameters:at(at({},e.texture&&e.texture.sampler&&e.texture.sampler.parameters||{}),a),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},o));this.uniforms[t]=l,this.defineIfPresent(i,i),this.generatedTextures.push(l)}parsePbrMetallicRoughness(e){e.baseColorTexture&&this.parseTexture(e.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=e.baseColorFactor||[1,1,1,1],e.metallicRoughnessTexture&&this.parseTexture(e.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:t=1,roughnessFactor:i=1}=e;this.uniforms.u_MetallicRoughnessValues=[t,i]}parseMaterial(e){if(this.uniforms.pbr_uUnlit=Boolean(e.unlit),e.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(e.pbrMetallicRoughness),e.normalTexture){this.parseTexture(e.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:t=1}=e.normalTexture;this.uniforms.u_NormalScale=t}if(e.occlusionTexture){this.parseTexture(e.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:t=1}=e.occlusionTexture;this.uniforms.u_OcclusionStrength=t}if(e.emissiveTexture&&(this.parseTexture(e.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=e.emissiveFactor||[0,0,0]),"MASK"===e.alphaMode){const{alphaCutoff:t=.5}=e;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=t}else"BLEND"===e.alphaMode&&(mn.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function y5(n,e){return Ci(n)?`#version 300 es\n${e}`:e}const jge={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Uge={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class zge{constructor(e,t={}){this.gl=e,this.options=Object.assign({},Uge,t)}instantiate(e){return this.gltf=e,(e.scenes||[]).map(i=>this.createScene(i))}createAnimator(){return Array.isArray(this.gltf.animations)?new Pge(this.gltf):null}createScene(e){const i=(e.nodes||[]).map(s=>this.createNode(s));return new tb({id:e.name||e.id,children:i})}createNode(e){if(!e._node){const i=(e.children||[]).map(s=>this.createNode(s));e.mesh&&i.push(this.createMesh(e.mesh));const r=new tb({id:e.name||e.id,children:i});if(e.matrix)r.setMatrix(e.matrix);else{if(r.matrix.identity(),e.translation&&r.matrix.translate(e.translation),e.rotation){const s=(new qn).fromQuaternion(e.rotation);r.matrix.multiplyRight(s)}e.scale&&r.matrix.scale(e.scale)}e._node=r}return e._node}createMesh(e){if(!e._mesh){const i=(e.primitives||[]).map((s,o)=>this.createPrimitive(s,o,e)),r=new tb({id:e.name||e.id,children:i});e._mesh=r}return e._mesh}getVertexCount(e){mn.warn("getVertexCount() not found")()}createPrimitive(e,t,i){return function(n,e){const{id:t,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new Fge(n,e);mn.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(u=>u.buffer));const c=new kge(n,Object.assign({id:t,drawMode:i,vertexCount:r,modules:[e5],defines:a.defines,parameters:a.parameters,vs:y5(n,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:y5(n,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:e.name||`${i.name||i.id}-primitive-${t}`,drawMode:e.mode||4,vertexCount:e.indices?e.indices.count:this.getVertexCount(e.attributes),attributes:this.createAttributes(e.attributes,e.indices),material:e.material},this.options))}createAttributes(e,t){const i={};return Object.keys(e).forEach(r=>{i[r]=this.createAccessor(e[r],this.createBuffer(e[r],this.gl.ARRAY_BUFFER))}),t&&(i.indices=this.createAccessor(t,this.createBuffer(t,this.gl.ELEMENT_ARRAY_BUFFER))),mn.info(4,"glTF Attributes",{attributes:e,indices:t,generated:i})(),i}createBuffer(e,t){e.bufferView||(e.bufferView={});const{bufferView:i}=e;return i.lumaBuffers||(i.lumaBuffers={}),i.lumaBuffers[t]||(i.lumaBuffers[t]=new lr(this.gl,{id:`from-${i.id}`,data:i.data||e.value,target:t})),i.lumaBuffers[t]}createAccessor(e,t){return new _a({buffer:t,offset:e.byteOffset||0,stride:e.bufferView.byteStride||0,type:e.componentType,size:jge[e.type]})}createSampler(e){return e}needsPOT(){return!1}}function b5(n,e,t){if(n.byteLength<=e+t)return"";const i=new DataView(n);let r="";for(let s=0;st[r.name]);return new sm(i,this.metadata)}selectAt(...e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new sm(t,this.metadata)}assign(e){let t,i=this.metadata;if(e instanceof sm){const o=e;t=o.fields,i=x5(x5(new Map,this.metadata),o.metadata)}else t=e;const r=Object.create(null);for(const o of this.fields)r[o.name]=o;for(const o of t)r[o.name]=o;const s=Object.values(r);return new sm(s,i)}}function x5(n,e){return new Map([...n||new Map,...e||new Map])}let kr,S5,C5,T5,A5,M5,D5,I5;!function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth"}(kr||(kr={}));class yR{static isNull(e){return e&&e.typeId===kr.Null}static isInt(e){return e&&e.typeId===kr.Int}static isFloat(e){return e&&e.typeId===kr.Float}static isBinary(e){return e&&e.typeId===kr.Binary}static isUtf8(e){return e&&e.typeId===kr.Utf8}static isBool(e){return e&&e.typeId===kr.Bool}static isDecimal(e){return e&&e.typeId===kr.Decimal}static isDate(e){return e&&e.typeId===kr.Date}static isTime(e){return e&&e.typeId===kr.Time}static isTimestamp(e){return e&&e.typeId===kr.Timestamp}static isInterval(e){return e&&e.typeId===kr.Interval}static isList(e){return e&&e.typeId===kr.List}static isStruct(e){return e&&e.typeId===kr.Struct}static isUnion(e){return e&&e.typeId===kr.Union}static isFixedSizeBinary(e){return e&&e.typeId===kr.FixedSizeBinary}static isFixedSizeList(e){return e&&e.typeId===kr.FixedSizeList}static isMap(e){return e&&e.typeId===kr.Map}static isDictionary(e){return e&&e.typeId===kr.Dictionary}get typeId(){return kr.NONE}compareTo(e){return this===e}}Symbol,Symbol,S5=Symbol.toStringTag;class om extends yR{constructor(e,t){super(),Kn(this,"isSigned",void 0),Kn(this,"bitWidth",void 0),this.isSigned=e,this.bitWidth=t}get typeId(){return kr.Int}get[S5](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class Zge extends om{constructor(){super(!0,8)}}class Jge extends om{constructor(){super(!0,16)}}class eme extends om{constructor(){super(!0,32)}}class tme extends om{constructor(){super(!1,8)}}class nme extends om{constructor(){super(!1,16)}}class ime extends om{constructor(){super(!1,32)}}C5=Symbol.toStringTag;class O5 extends yR{constructor(e){super(),Kn(this,"precision",void 0),this.precision=e}get typeId(){return kr.Float}get[C5](){return"Float"}toString(){return`Float${this.precision}`}}class rme extends O5{constructor(){super(32)}}class sme extends O5{constructor(){super(64)}}Symbol,Symbol,T5=Symbol.toStringTag,A5=Symbol.toStringTag,M5=Symbol.toStringTag,D5=Symbol.toStringTag,I5=Symbol.toStringTag;class ome extends yR{constructor(e,t){super(),Kn(this,"listSize",void 0),Kn(this,"children",void 0),this.listSize=e,this.children=[t]}get typeId(){return kr.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[I5](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class sS{constructor(e,t,i=!1,r=new Map){Kn(this,"name",void 0),Kn(this,"type",void 0),Kn(this,"nullable",void 0),Kn(this,"metadata",void 0),this.name=e,this.type=t,this.nullable=i,this.metadata=r}get typeId(){return this.type&&this.type.typeId}clone(){return new sS(this.name,this.type,this.nullable,this.metadata)}compareTo(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function R5(n,e,t){const i=t?N5(t.metadata):void 0,r=function(n){switch(n.constructor){case Int8Array:return new Zge;case Uint8Array:return new tme;case Int16Array:return new Jge;case Uint16Array:return new nme;case Int32Array:return new eme;case Uint32Array:return new ime;case Float32Array:return new rme;case Float64Array:return new sme;default:throw new Error("array type not supported")}}(e.value);return new sS(n,new ome(e.size,new sS("value",r)),!1,i)}function N5(n){const e=new Map;for(const t in n)e.set(`${t}.string`,JSON.stringify(n[t]));return e}const P5={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},ume={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class hme{constructor(e){Kn(this,"draco",void 0),Kn(this,"decoder",void 0),Kn(this,"metadataQuerier",void 0),this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const i=new this.draco.DecoderBuffer;i.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const r=this.decoder.GetEncodedGeometryType(i),s=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(r){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(i,s);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(i,s);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!s.ptr){const f=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(f)}const a=this._getDracoLoaderData(s,r,t),l=this._getMeshData(s,a,t),c=function(n){let e=1/0,t=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=n.POSITION?n.POSITION.value:[],l=a&&a.length;for(let c=0;cr?u:r,s=h>s?h:s,o=f>o?f:o}return[[e,t,i],[r,s,o]]}(l.attributes),u=function(n,e,t){const i=N5(e.metadata),r=[],s=function(n){const e={};for(const t in n){const i=n[t];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in n){const l=R5(o,n[o],s[o]);r.push(l)}if(t){const o=R5("indices",t);r.push(o)}return new sm(r,i)}(l.attributes,a,l.indices);return Sn(at({loader:"draco",loaderData:a,header:{vertexCount:s.num_points(),boundingBox:c}},l),{schema:u})}finally{this.draco.destroy(i),s&&this.draco.destroy(s)}}_getDracoLoaderData(e,t,i){const r=this._getTopLevelMetadata(e),s=this._getDracoAttributes(e,i);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:s}}_getDracoAttributes(e,t){const i={};for(let r=0;rthis.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(a=>o.min_value(a))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:i=[]}=t,r=e.attribute_type();if(i.map(o=>this.decoder[o]).includes(r)){const o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(e))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}}var oS=et(9125);const ER={};function xR(n){return SR.apply(this,arguments)}function SR(){return(SR=li(function*(n,e=null,t={}){return e&&(n=_me(n,e,t)),ER[n]=ER[n]||yme(n),yield ER[n]})).apply(this,arguments)}function _me(n,e,t){if(n.startsWith("http"))return n;const i=t.modules||{};return i[n]?i[n]:_O?t.CDN?(nu(t.CDN.startsWith("http")),`${t.CDN}/${e}@3.0.12/dist/libs/${n}`):yO?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}function yme(n){return CR.apply(this,arguments)}function CR(){return(CR=li(function*(n){return n.endsWith("wasm")?yield(yield fetch(n)).arrayBuffer():_O?yO?importScripts(n):bme(yield(yield fetch(n)).text(),n):oS.requireFromFile&&(yield oS.requireFromFile(n))})).apply(this,arguments)}function bme(n,e){if(!_O)return oS.requireFromString&&oS.requireFromString(n,e);if(yO)return eval.call(Iue,n),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(n))}catch(i){t.text=n}return document.body.appendChild(t),null}const vme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",wme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",Eme="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let ib;function Sme(n){return TR.apply(this,arguments)}function TR(){return(TR=li(function*(n){const e=n.modules||{};return ib=e.draco3d?ib||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):ib||Cme(n),yield ib})).apply(this,arguments)}function Cme(n){return MR.apply(this,arguments)}function MR(){return(MR=li(function*(n){let e,t;switch(n.draco&&n.draco.decoderType){case"js":e=yield xR(vme,"draco",n);break;case"wasm":default:[e,t]=yield Promise.all([yield xR(wme,"draco",n),yield xR(Eme,"draco",n)])}return e=e||globalThis.DracoDecoderModule,yield Tme(e,t)})).apply(this,arguments)}function Tme(n,e){const t={};return e&&(t.wasmBinary=e),new Promise(i=>{n(Sn(at({},t),{onModuleLoaded:r=>i({draco:r})}))})}const IR=Sn(at({},E5),{parse:function(n,e){return OR.apply(this,arguments)}});function OR(){return(OR=li(function*(n,e){const{draco:t}=yield Sme(e),i=new hme(t);try{return i.parseSync(n,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function sb(n,e){return Lf(n>=0),Lf(e>0),n+(e-1)&~(e-1)}function Dme(n,e,t){let i;return i=n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer||n.arrayBuffer,n.byteOffset,n.byteLength),e.set(i,t),t+sb(i.byteLength,4)}const k5=["SCALAR","VEC2","VEC3","VEC4"],Ime=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],Ome=new Map(Ime),Rme={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Nme={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Pme={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function F5(n){return k5[n-1]||k5[0]}function L5(n){const e=Ome.get(n.constructor);if(!e)throw new Error("Illegal typed array");return e}function B5(n,e){const t=Pme[n.componentType],i=Rme[n.type],s=n.count*i,o=n.count*i*Nme[n.componentType];return $a(o>=0&&o<=e.byteLength),{ArrayType:t,length:s,byteLength:o}}const kme={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class _h{constructor(e){Kn(this,"gltf",void 0),Kn(this,"sourceBuffers",void 0),Kn(this,"byteLength",void 0),this.gltf=e||{json:at({},kme),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}getExtension(e){return this.getUsedExtensions().find(r=>r===e)?(this.json.extensions||{})[e]||!0:null}getRequiredExtension(e){return this.getRequiredExtensions().find(i=>i===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];if(!i)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return i}getTypedArrayForBufferView(e){e=this.getBufferView(e);const i=this.gltf.buffers[e.buffer];return $a(i),new Uint8Array(i.arrayBuffer,(e.byteOffset||0)+i.byteOffset,e.byteLength)}getTypedArrayForAccessor(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data,{ArrayType:s,length:o}=B5(e,t);return new s(r,t.byteOffset+e.byteOffset,o)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),r=this.getBuffer(t.buffer).data;return new Uint8Array(r,t.byteOffset||0,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,i){return e.extensions=e.extensions||{},e.extensions[t]=i,this.registerUsedExtension(t),this}setObjectExtension(e,t,i){(e.extensions||{})[t]=i}removeObjectExtension(e,t){const i=e.extensions||{},r=i[t];return delete i[t],r}addExtension(e,t={}){return $a(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return $a(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:i}=e;this.json.nodes=this.json.nodes||[];const r={mesh:t};return i&&(r.matrix=i),this.json.nodes.push(r),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:i,material:r,mode:s=4}=e,a={primitives:[{attributes:this._addAttributes(t),mode:s}]};if(i){const l=this._addIndices(i);a.primitives[0].indices=l}return Number.isFinite(r)&&(a.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(a),this.json.meshes.length-1}addPointCloud(e){const i={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(i),this.json.meshes.length-1}addImage(e,t){const i=eR(e),r=t||(null==i?void 0:i.mimeType),o={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(e){const t=e.byteLength;$a(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const i={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=sb(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(i),this.json.bufferViews.length-1}addAccessor(e,t){const i={bufferView:e,type:F5(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(i),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const i=this.addBufferView(e);let r={min:t.min,max:t.max};(!r.min||!r.max)&&(r=this._getAccessorMinMax(e,t.size));const s={size:t.size,componentType:L5(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(i,Object.assign(s,t))}addTexture(e){const{imageIndex:t}=e,i={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(i),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var e,t;this.gltf.buffers=[];const i=this.byteLength,r=new ArrayBuffer(i),s=new Uint8Array(r);let o=0;for(const a of this.sourceBuffers||[])o=Dme(a,s,o);null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=i:this.json.buffers=[{byteLength:i}],this.gltf.binary=r,this.sourceBuffers=[r]}_removeStringFromArray(e,t){let i=!0;for(;i;){const r=e.indexOf(t);r>-1?e.splice(r,1):i=!1}}_addAttributes(e={}){const t={};for(const i in e){const r=e[i],s=this._getGltfAttributeName(i),o=this.addBinaryBuffer(r.value,r);t[s]=o}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const i={min:null,max:null};if(e.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Wme(n){for(const e of n.json.meshes||[])for(const t of e.primitives)yield t}function qme(n){return PR.apply(this,arguments)}function PR(){return(PR=li(function*(n){const e=new _h(n),{json:t}=e;e.removeExtension(lS);for(const i of t.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,lS)})).apply(this,arguments)}function Yme(n){const e=new _h(n),{json:t}=e;if(e.materials)for(const i of t.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,lS,{}),e.addExtension(lS))}function Xme(n){return kR.apply(this,arguments)}function kR(){return(kR=li(function*(n){const e=new _h(n),{json:t}=e,i=e.getExtension(am);i&&(e.json.lights=i.lights,e.removeExtension(am));for(const r of t.nodes||[]){const s=e.getObjectExtension(r,am);s&&(r.light=s.light),e.removeObjectExtension(r,am)}})).apply(this,arguments)}function Kme(n){return FR.apply(this,arguments)}function FR(){return(FR=li(function*(n){const e=new _h(n),{json:t}=e;if(t.lights){const i=e.addExtension(am);$a(!i.lights),i.lights=t.lights,delete t.lights}if(e.json.lights){for(const i of e.json.lights)e.addObjectExtension(i.node,am,i);delete e.json.lights}})).apply(this,arguments)}function Qme(n){return LR.apply(this,arguments)}function LR(){return(LR=li(function*(n){const e=new _h(n),{json:t}=e,i=e.getExtension(cS);if(i){const r=Jme(i,e);for(const s of t.materials||[]){const o=e.getObjectExtension(s,cS);o&&(s.technique=Object.assign({},o,r[o.technique]),s.technique.values=e_e(s.technique,e)),e.removeObjectExtension(s,cS)}e.removeExtension(cS)}})).apply(this,arguments)}function Zme(n,e){return BR.apply(this,arguments)}function BR(){return(BR=li(function*(n,e){})).apply(this,arguments)}function Jme(n,e){const{programs:t=[],shaders:i=[],techniques:r=[]}=n,s=new TextDecoder;return i.forEach(o=>{if(!Number.isFinite(o.bufferView))throw new Error("KHR_techniques_webgl: no shader code");o.code=s.decode(e.getTypedArrayForBufferView(o.bufferView))}),t.forEach(o=>{o.fragmentShader=i[o.fragmentShader],o.vertexShader=i[o.vertexShader]}),r.forEach(o=>{o.program=t[o.program]}),r}function e_e(n,e){const t=Object.assign({},n.values);return Object.keys(n.uniforms||{}).forEach(i=>{n.uniforms[i].value&&!(i in t)&&(t[i]=n.uniforms[i].value)}),Object.keys(t).forEach(i=>{"object"==typeof t[i]&&void 0!==t[i].index&&(t[i].texture=e.getTexture(t[i].index))}),t}const U5={KHR_draco_mesh_compression:lt,KHR_materials_unlit:ee,KHR_lights_punctual:Ct,KHR_techniques_webgl:je};function t_e(n){return VR.apply(this,arguments)}function VR(){return(VR=li(function*(n,e={},t){for(const r in U5){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield U5[r].decode(n,e,t))}})).apply(this,arguments)}const z5={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},i_e={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class r_e{constructor(e){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(e,t){this.json=e.json;const i=e.json;switch(i.asset&&i.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${i.asset.version}`)}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(i),this._convertTopLevelObjectsToArrays(i),function(n){const e=new _h(n),{json:t}=e;for(const i of t.images||[]){const r=e.removeObjectExtension(i,V5);r&&Object.assign(i,r)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(V5)}(e),this._convertObjectIdsToArrayIndices(i),this._updateObjects(i),this._updateMaterial(i)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in z5)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const i=e[t];if(i&&!Array.isArray(i)){e[t]=[];for(const r in i){const s=i[r];s.id=s.id||r;const o=e[t].length;e[t].push(s),this.idToIndexMap[t][r]=o}}}_convertObjectIdsToArrayIndices(e){for(const t in z5)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:i,indices:r,material:s}=t;for(const o in i)i[o]=this._convertIdToIndex(i[o],"accessor");r&&(t.indices=this._convertIdToIndex(r,"accessor")),s&&(t.material=this._convertIdToIndex(s,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const i of e[t])for(const r in i){const o=this._convertIdToIndex(i[r],r);i[r]=o}}_convertIdToIndex(e,t){const i=i_e[t];if(i in this.idToIndexMap){const r=this.idToIndexMap[i][e];if(!Number.isFinite(r))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return r}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){for(const t of e.materials){t.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const i=t.values&&t.values.tex,r=e.textures.findIndex(s=>s.id===i);-1!==r&&(t.pbrMetallicRoughness.baseColorTexture={index:r})}}}function s_e(n,e={}){return(new r_e).normalize(n,e)}const o_e={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},a_e={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Ml={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},l_e={magFilter:Ml.TEXTURE_MAG_FILTER,minFilter:Ml.TEXTURE_MIN_FILTER,wrapS:Ml.TEXTURE_WRAP_S,wrapT:Ml.TEXTURE_WRAP_T},c_e={[Ml.TEXTURE_MAG_FILTER]:Ml.LINEAR,[Ml.TEXTURE_MIN_FILTER]:Ml.NEAREST_MIPMAP_LINEAR,[Ml.TEXTURE_WRAP_S]:Ml.REPEAT,[Ml.TEXTURE_WRAP_]:Ml.REPEAT};class h_e{postProcess(e,t={}){const{json:i,buffers:r=[],images:s=[],baseUri:o=""}=e;return $a(i),this.baseUri=o,this.json=i,this.buffers=r,this.images=s,this._resolveTree(this.json,t),this.json}_resolveTree(e,t={}){e.bufferViews&&(e.bufferViews=e.bufferViews.map((i,r)=>this._resolveBufferView(i,r))),e.images&&(e.images=e.images.map((i,r)=>this._resolveImage(i,r))),e.samplers&&(e.samplers=e.samplers.map((i,r)=>this._resolveSampler(i,r))),e.textures&&(e.textures=e.textures.map((i,r)=>this._resolveTexture(i,r))),e.accessors&&(e.accessors=e.accessors.map((i,r)=>this._resolveAccessor(i,r))),e.materials&&(e.materials=e.materials.map((i,r)=>this._resolveMaterial(i,r))),e.meshes&&(e.meshes=e.meshes.map((i,r)=>this._resolveMesh(i,r))),e.nodes&&(e.nodes=e.nodes.map((i,r)=>this._resolveNode(i,r))),e.skins&&(e.skins=e.skins.map((i,r)=>this._resolveSkin(i,r))),e.scenes&&(e.scenes=e.scenes.map((i,r)=>this._resolveScene(i,r))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}getScene(e){return this._get("scenes",e)}getNode(e){return this._get("nodes",e)}getSkin(e){return this._get("skins",e)}getMesh(e){return this._get("meshes",e)}getMaterial(e){return this._get("materials",e)}getAccessor(e){return this._get("accessors",e)}getCamera(e){return null}getTexture(e){return this._get("textures",e)}getSampler(e){return this._get("samplers",e)}getImage(e){return this._get("images",e)}getBufferView(e){return this._get("bufferViews",e)}getBuffer(e){return this._get("buffers",e)}_get(e,t){if("object"==typeof t)return t;const i=this.json[e]&&this.json[e][t];return i||console.warn(`glTF file error: Could not find ${e}[${t}]`),i}_resolveScene(e,t){return e.id=e.id||`scene-${t}`,e.nodes=(e.nodes||[]).map(i=>this.getNode(i)),e}_resolveNode(e,t){return e.id=e.id||`node-${t}`,e.children&&(e.children=e.children.map(i=>this.getNode(i))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((i,r)=>{const s=this.getMesh(r);return i.id=s.id,i.primitives=i.primitives.concat(s.primitives),i},{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}_resolveSkin(e,t){return e.id=e.id||`skin-${t}`,e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}_resolveMesh(e,t){return e.id=e.id||`mesh-${t}`,e.primitives&&(e.primitives=e.primitives.map(i=>{const r=(i=at({},i)).attributes;i.attributes={};for(const s in r)i.attributes[s]=this.getAccessor(r[s]);return void 0!==i.indices&&(i.indices=this.getAccessor(i.indices)),void 0!==i.material&&(i.material=this.getMaterial(i.material)),i})),e}_resolveMaterial(e,t){if(e.id=e.id||`material-${t}`,e.normalTexture&&(e.normalTexture=at({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=at({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=at({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=at({},e.pbrMetallicRoughness);const i=e.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=at({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=at({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return e}_resolveAccessor(e,t){if(e.id=e.id||`accessor-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=function(n){return a_e[n]}(e.componentType),e.components=function(n){return o_e[n]}(e.type),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){const i=e.bufferView.buffer,{ArrayType:r,byteLength:s}=B5(e,e.bufferView),o=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,a=i.arrayBuffer.slice(o,o+s);e.value=new r(a)}return e}_resolveTexture(e,t){return e.id=e.id||`texture-${t}`,e.sampler="sampler"in e?this.getSampler(e.sampler):c_e,e.source=this.getImage(e.source),e}_resolveSampler(e,t){e.id=e.id||`sampler-${t}`,e.parameters={};for(const i in e){const r=this._enumSamplerParameter(i);void 0!==r&&(e.parameters[r]=e[i])}return e}_enumSamplerParameter(e){return l_e[e]}_resolveImage(e,t){e.id=e.id||`image-${t}`,void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView));const i=this.images[t];return i&&(e.image=i),e}_resolveBufferView(e,t){e.id=e.id||`bufferView-${t}`;const i=e.buffer;e.buffer=this.buffers[i];let s=this.buffers[i].byteOffset||0;return"byteOffset"in e&&(s+=e.byteOffset),e.data=new Uint8Array(this.buffers[i].arrayBuffer,s,e.byteLength),e}_resolveCamera(e,t){return e.id=e.id||`camera-${t}`,e}}function f_e(n,e){return(new h_e).postProcess(n,e)}const H5=1735152710,lm=!0;function UR(n,e,t,i){const r=new Uint8Array(e.buffer,t,i),o=new TextDecoder("utf8").decode(r);return n.json=JSON.parse(o),sb(i,4)}function zR(n,e,t,i){return n.header.hasBinChunk=!0,n.binChunks.push({byteOffset:t,byteLength:i,arrayBuffer:e.buffer}),sb(i,4)}function C_e(n,e){return HR.apply(this,arguments)}function HR(){return(HR=li(function*(n,e,t=0,i,r){var s,o,a,l;T_e(n,e,t,i),s_e(n,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&n.json.buffers&&(yield A_e(n,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const h=M_e(n,i,r);c.push(h)}const u=t_e(n,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?f_e(n,i):n})).apply(this,arguments)}function T_e(n,e,t,i){if(i.uri&&(n.baseUri=i.uri),e instanceof ArrayBuffer&&!function(n,e=0,t={}){const i=new DataView(n),{magic:r=H5}=t,s=i.getUint32(e,!1);return s===r||s===H5}(e,t,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)n.json=function(n){try{return JSON.parse(n)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(n,e=5){return"string"==typeof n?n.slice(0,e):ArrayBuffer.isView(n)?b5(n.buffer,n.byteOffset,e):n instanceof ArrayBuffer?b5(n,0,e):""}(n)}"`)}}(e);else if(e instanceof ArrayBuffer){const o={};t=function(n,e,t=0,i={}){const r=new DataView(e),s=function(n,e=0){return`${String.fromCharCode(n.getUint8(e+0))}${String.fromCharCode(n.getUint8(e+1))}${String.fromCharCode(n.getUint8(e+2))}${String.fromCharCode(n.getUint8(e+3))}`}(r,t+0),o=r.getUint32(t+4,lm),a=r.getUint32(t+8,lm);switch(Object.assign(n,{header:{byteOffset:t,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),t+=12,n.version){case 1:return function(n,e,t){Lf(n.header.byteLength>20);const i=e.getUint32(t+0,lm),r=e.getUint32(t+4,lm);return t+=8,Lf(0===r),UR(n,e,t,i),(t+=i)+zR(n,e,t,n.header.byteLength)}(n,r,t);case 2:return function(n,e,t,i){return Lf(n.header.byteLength>20),function(n,e,t,i){for(;t+8<=n.header.byteLength;){const r=e.getUint32(t+0,lm),s=e.getUint32(t+4,lm);switch(t+=8,s){case 1313821514:UR(n,e,t,r);break;case 5130562:zR(n,e,t,r);break;case 0:i.strict||UR(n,e,t,r);break;case 1:i.strict||zR(n,e,t,r)}t+=sb(r,4)}}(n,e,t,{}),t+n.header.byteLength}(n,r,t);default:throw new Error(`Invalid GLB version ${n.version}. Only supports v1 and v2.`)}}(o,e,t,i.glb),$a("glTF"===o.type,`Invalid GLB magic string ${o.type}`),n._glb=o,n.json=o.json}else $a(!1,"GLTF: must be ArrayBuffer or string");if(n.buffers=new Array((n.json.buffers||[]).length).fill(null),n._glb&&n._glb.header.hasBinChunk){const{binChunks:o}=n._glb;n.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}n.images=new Array((n.json.images||[]).length).fill({})}function A_e(n,e,t){return GR.apply(this,arguments)}function GR(){return(GR=li(function*(n,e,t){for(let s=0;s{t.traverse(i=>{Object.values(i.model.getUniforms()).forEach(r=>{!1===r.loaded&&e.push(r)})})}),yield R_e(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function R_e(n){return XR.apply(this,arguments)}function XR(){return(XR=li(function*(n){for(;n();)yield new Promise(e=>requestAnimationFrame(e))})).apply(this,arguments)}const G5=[255,255,255,255],k_e={scenegraph:{type:"object",value:null,async:!0},getScene:n=>n&&n.scenes?"object"==typeof n.scene?n.scene:n.scenes[n.scene||0]:n,getAnimator:n=>n&&n.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:n=>n.position},getColor:{type:"accessor",value:G5},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[cm]};let F_e=(()=>{class n extends Y0{getShaders(){const t=[tS,nS];return"pbr"===this.props._lighting&&t.push(e5),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:G5,transition:!0},instanceModelMatrix:Qz})}updateState(t){super.updateState(t);const{props:i,oldProps:r}=t;i.scenegraph!==r.scenegraph?this._updateScenegraph(i):i._animations!==r._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,i._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:i}=this.context;let r=null;if(t.scenegraph instanceof rm)r={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const l=t.scenegraph,c=function(n,e,t){const i=new zge(n,t);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(i,l,this._getModelOptions());r=at({gltf:l},c),function(n){return YR.apply(this,arguments)}(c).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Ri.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),r=t.scenegraph);const s={layer:this,gl:i},o=t.getScene(r,s),a=t.getAnimator(r,s);o instanceof rm?(this._deleteScenegraph(),this._applyAllAttributes(o),this._applyAnimationsProp(o,a,t._animations),this.setState({scenegraph:o,animator:a})):null!==o&&Ri.warn("invalid scenegraph:",o)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const i=this.getAttributeManager().getAttributes();t.traverse(r=>{this._setModelAttributes(r.model,i)})}}_applyAnimationsProp(t,i,r){if(!t||!i||!r)return;const s=i.getAnimations();Object.keys(r).sort().forEach(o=>{const a=r[o];if("*"===o)s.forEach(l=>{Object.assign(l,a)});else if(Number.isFinite(Number(o))){const l=Number(o);l>=0&&lc===o);l?Object.assign(l,a):Ri.warn("animation ".concat(o," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof rm&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let i=null;return t&&(i="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:i,modelOptions:at({isInstanced:!0,transpileToGLSL100:!Ci(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(i=>{this._setModelAttributes(i.model,t)})}draw({moduleParameters:t=null,parameters:i={},context:r}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(r.timeline.getTime()),this.setNeedsRedraw());const{viewport:s}=this.context,{sizeScale:o,sizeMinPixels:a,sizeMaxPixels:l,opacity:c,coordinateSystem:u}=this.props,h=this.getNumInstances();this.state.scenegraph.traverse((f,{worldMatrix:g})=>{f.model.setInstanceCount(h),f.updateModuleSettings(t),f.draw({parameters:i,uniforms:{sizeScale:o,opacity:c,sizeMinPixels:a,sizeMaxPixels:l,composeModelMatrix:Zz(s,u),sceneModelMatrix:g,u_Camera:f.model.getUniforms().project_uCameraPosition}})})}}return n.layerName="ScenegraphLayer",n.defaultProps=k_e,n})();class L_e extends gh{constructor(e={}){const{id:t=ma("sphere-geometry")}=e,{indices:i,attributes:r}=function(n){const{nlat:e=10,nlong:t=10}=n;let{radius:i=1}=n;const o=Math.PI-0,c=2*Math.PI-0,u=(e+1)*(t+1);if("number"==typeof i){const G=i;i=(k,oe,we,Be,Ue)=>G}const h=new Float32Array(3*u),f=new Float32Array(3*u),g=new Float32Array(2*u),A=new(u>65535?Uint32Array:Uint16Array)(e*t*6);for(let G=0;G<=e;G++)for(let k=0;k<=t;k++){const oe=k/t,we=G/e,Be=k+G*(t+1),Ue=2*Be,qe=3*Be,bt=c*oe,xt=o*we,Mt=Math.sin(bt),Bt=Math.cos(bt),Wt=Math.sin(xt),yt=Bt*Wt,Ut=Math.cos(xt),pt=Mt*Wt,Yt=i(yt,Ut,pt,oe,we);h[qe+0]=Yt*yt,h[qe+1]=Yt*Ut,h[qe+2]=Yt*pt,f[qe+0]=yt,f[qe+1]=Ut,f[qe+2]=pt,g[Ue+0]=oe,g[Ue+1]=1-we}const I=t+1;for(let G=0;Gs?(mt=i,Wt=1,yt=t):yt=e+Bt/s*(t-e),(-2===Bt||Bt===s+2)&&(yt=0,Wt=0),mt-=i/2;for(let Ut=0;Uts?0:pt*A,qe[xt+Be[1]]=Bt<0?-1:Bt>s?1:I,qe[xt+Be[2]]=Bt<0||Bt>s?0:Yt*A,bt[Mt+0]=Ut/r,bt[Mt+1]=Wt,Mt+=2,xt+=3}}for(let Bt=0;Bt0){const s=1/r;this.x*=s,this.y*=s,this.z*=s}else this.x=0,this.y=0,this.z=0;return r}unit(e=new fe){const t=this.x,i=this.y,r=this.z;let s=Math.sqrt(t*t+i*i+r*r);return s>0?(s=1/s,e.x=t*s,e.y=i*s,e.z=r*s):(e.x=1,e.y=0,e.z=0),e}length(){const e=this.x,t=this.y,i=this.z;return Math.sqrt(e*e+t*t+i*i)}lengthSquared(){return this.dot(this)}distanceTo(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return Math.sqrt((s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r))}distanceSquared(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z;return(s-t)*(s-t)+(o-i)*(o-i)+(a-r)*(a-r)}scale(e,t=new fe){const r=this.y,s=this.z;return t.x=e*this.x,t.y=e*r,t.z=e*s,t}vmul(e,t=new fe){return t.x=e.x*this.x,t.y=e.y*this.y,t.z=e.z*this.z,t}addScaledVector(e,t,i=new fe){return i.x=this.x+e*t.x,i.y=this.y+e*t.y,i.z=this.z+e*t.z,i}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(e=new fe){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e}tangents(e,t){const i=this.length();if(i>0){const r=K_e,s=1/i;r.set(this.x*s,this.y*s,this.z*s);const o=Q_e;Math.abs(r.x)<.9?(o.set(1,0,0),r.cross(o,e)):(o.set(0,1,0),r.cross(o,e)),r.cross(e,t)}else e.set(1,0,0),t.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}lerp(e,t,i){const r=this.x,s=this.y,o=this.z;i.x=r+(e.x-r)*t,i.y=s+(e.y-s)*t,i.z=o+(e.z-o)*t}almostEquals(e,t=1e-6){return!(Math.abs(this.x-e.x)>t||Math.abs(this.y-e.y)>t||Math.abs(this.z-e.z)>t)}almostZero(e=1e-6){return!(Math.abs(this.x)>e||Math.abs(this.y)>e||Math.abs(this.z)>e)}isAntiparallelTo(e,t){return this.negate(W5),W5.almostEquals(e,t)}clone(){return new fe(this.x,this.y,this.z)}}fe.ZERO=void 0,fe.UNIT_X=void 0,fe.UNIT_Y=void 0,fe.UNIT_Z=void 0,fe.ZERO=new fe(0,0,0),fe.UNIT_X=new fe(1,0,0),fe.UNIT_Y=new fe(0,1,0),fe.UNIT_Z=new fe(0,0,1);const K_e=new fe,Q_e=new fe,W5=new fe;class pr{constructor(e={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new fe,this.upperBound=new fe,e.lowerBound&&this.lowerBound.copy(e.lowerBound),e.upperBound&&this.upperBound.copy(e.upperBound)}setFromPoints(e,t,i,r){const s=this.lowerBound,o=this.upperBound,a=i;s.copy(e[0]),a&&a.vmult(s,s),o.copy(s);for(let l=1;lo.x&&(o.x=c.x),c.xo.y&&(o.y=c.y),c.yo.z&&(o.z=c.z),c.z=s.x&&t.y<=r.y&&i.y>=s.y&&t.z<=r.z&&i.z>=s.z}getCorners(e,t,i,r,s,o,a,l){const c=this.lowerBound,u=this.upperBound;e.copy(c),t.set(u.x,c.y,c.z),i.set(u.x,u.y,c.z),r.set(c.x,u.y,u.z),s.set(u.x,c.y,u.z),o.set(c.x,u.y,c.z),a.set(c.x,c.y,u.z),l.copy(u)}toLocalFrame(e,t){const i=Y5;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let f=0;8!==f;f++){const g=i[f];e.pointToLocal(g,g)}return t.setFromPoints(i)}toWorldFrame(e,t){const i=Y5;this.getCorners(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]);for(let f=0;8!==f;f++){const g=i[f];e.pointToWorld(g,g)}return t.setFromPoints(i)}overlapsRay(e){const{direction:t,from:i}=e,r=1/t.x,s=1/t.y,o=1/t.z,a=(this.lowerBound.x-i.x)*r,l=(this.upperBound.x-i.x)*r,c=(this.lowerBound.y-i.y)*s,u=(this.upperBound.y-i.y)*s,h=(this.lowerBound.z-i.z)*o,f=(this.upperBound.z-i.z)*o,g=Math.max(Math.max(Math.min(a,l),Math.min(c,u)),Math.min(h,f)),m=Math.min(Math.min(Math.max(a,l),Math.max(c,u)),Math.max(h,f));return!(m<0||g>m)}}const q5=new fe,Y5=[new fe,new fe,new fe,new fe,new fe,new fe,new fe,new fe];class us{constructor(e=0,t=0,i=0,r=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=e,this.y=t,this.z=i,this.w=r}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(e,t){const i=Math.sin(.5*t);return this.x=e.x*i,this.y=e.y*i,this.z=e.z*i,this.w=Math.cos(.5*t),this}toAxisAngle(e=new fe){this.normalize();const t=2*Math.acos(this.w),i=Math.sqrt(1-this.w*this.w);return i<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/i,e.y=this.y/i,e.z=this.z/i),[e,t]}setFromVectors(e,t){if(e.isAntiparallelTo(t)){const i=J_e;e.tangents(i,eye),this.setFromAxisAngle(i,Math.PI)}else{const i=e.cross(t);this.x=i.x,this.y=i.y,this.z=i.z,this.w=Math.sqrt(Er(e.length(),2)*Er(t.length(),2))+e.dot(t),this.normalize()}return this}mult(e,t=new us){const i=this.x,r=this.y,s=this.z,o=this.w,a=e.x,l=e.y,c=e.z,u=e.w;return t.x=i*u+o*a+r*c-s*l,t.y=r*u+o*l+s*a-i*c,t.z=s*u+o*c+i*l-r*a,t.w=o*u-i*a-r*l-s*c,t}inverse(e=new us){const t=this.x,i=this.y,r=this.z,s=this.w;this.conjugate(e);const o=1/(t*t+i*i+r*r+s*s);return e.x*=o,e.y*=o,e.z*=o,e.w*=o,e}conjugate(e=new us){return e.x=-this.x,e.y=-this.y,e.z=-this.z,e.w=this.w,e}normalize(){let e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}normalizeFast(){const e=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===e?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=e,this.y*=e,this.z*=e,this.w*=e),this}vmult(e,t=new fe){const i=e.x,r=e.y,s=e.z,o=this.x,a=this.y,l=this.z,c=this.w,u=c*i+a*s-l*r,h=c*r+l*i-o*s,f=c*s+o*r-a*i,g=-o*i-a*r-l*s;return t.x=u*c+g*-o+h*-l-f*-a,t.y=h*c+g*-a+f*-o-u*-l,t.z=f*c+g*-l+u*-a-h*-o,t}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this}toEuler(e,t="YZX"){let i,r,s;const o=this.x,a=this.y,l=this.z,c=this.w;switch(t){case"YZX":const u=o*a+l*c;if(u>.499&&(i=2*Math.atan2(o,c),r=Math.PI/2,s=0),u<-.499&&(i=-2*Math.atan2(o,c),r=-Math.PI/2,s=0),void 0===i){const h=o*o,g=l*l;i=Math.atan2(2*a*c-2*o*l,1-a*a*2-2*g),r=Math.asin(2*u),s=Math.atan2(2*o*c-2*a*l,1-2*h-2*g)}break;default:throw new Error("Euler order "+t+" not supported yet.")}e.y=i,e.z=r,e.x=s}setFromEuler(e,t,i,r="XYZ"){const s=Math.cos(e/2),o=Math.cos(t/2),a=Math.cos(i/2),l=Math.sin(e/2),c=Math.sin(t/2),u=Math.sin(i/2);return"XYZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"YXZ"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"ZXY"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a-l*c*u):"ZYX"===r?(this.x=l*o*a-s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a+l*c*u):"YZX"===r?(this.x=l*o*a+s*c*u,this.y=s*c*a+l*o*u,this.z=s*o*u-l*c*a,this.w=s*o*a-l*c*u):"XZY"===r&&(this.x=l*o*a-s*c*u,this.y=s*c*a-l*o*u,this.z=s*o*u+l*c*a,this.w=s*o*a+l*c*u),this}clone(){return new us(this.x,this.y,this.z,this.w)}slerp(e,t,i=new us){const r=this.x,s=this.y,o=this.z,a=this.w;let f,g,m,A,I,l=e.x,c=e.y,u=e.z,h=e.w;return g=r*l+s*c+o*u+a*h,g<0&&(g=-g,l=-l,c=-c,u=-u,h=-h),1-g>1e-6?(f=Math.acos(g),m=Math.sin(f),A=Math.sin((1-t)*f)/m,I=Math.sin(t*f)/m):(A=1-t,I=t),i.x=A*r+I*l,i.y=A*s+I*c,i.z=A*o+I*u,i.w=A*a+I*h,i}integrate(e,t,i,r=new us){const s=e.x*i.x,o=e.y*i.y,a=e.z*i.z,l=this.x,c=this.y,u=this.z,h=this.w,f=.5*t;return r.x+=f*(s*h+o*u-a*c),r.y+=f*(o*h+a*l-s*u),r.z+=f*(a*h+s*c-o*l),r.w+=f*(-s*l-o*c-a*u),r}}const J_e=new fe,eye=new fe,tye={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let _n=(()=>{class n{constructor(t={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=n.idCounter++,this.type=t.type||0,this.boundingSphereRadius=0,this.collisionResponse=!t.collisionResponse||t.collisionResponse,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.material=t.material?t.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,i){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,i,r,s){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return n.idCounter=0,n.types=tye,n})();class $i{constructor(e={}){this.position=void 0,this.quaternion=void 0,this.position=new fe,this.quaternion=new us,e.position&&this.position.copy(e.position),e.quaternion&&this.quaternion.copy(e.quaternion)}pointToLocal(e,t){return $i.pointToLocalFrame(this.position,this.quaternion,e,t)}pointToWorld(e,t){return $i.pointToWorldFrame(this.position,this.quaternion,e,t)}vectorToWorldFrame(e,t=new fe){return this.quaternion.vmult(e,t),t}static pointToLocalFrame(e,t,i,r=new fe){return i.vsub(e,r),t.conjugate(K5),K5.vmult(r,r),r}static pointToWorldFrame(e,t,i,r=new fe){return t.vmult(i,r),r.vadd(e,r),r}static vectorToWorldFrame(e,t,i=new fe){return e.vmult(t,i),i}static vectorToLocalFrame(e,t,i,r=new fe){return t.w*=-1,t.vmult(i,r),t.w*=-1,r}}const K5=new us;class jf extends _n{constructor(e={}){const{vertices:t=[],faces:i=[],normals:r=[],axes:s,boundingSphereRadius:o}=e;super({type:_n.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=t,this.faces=i,this.faceNormals=r,0===this.faceNormals.length&&this.computeNormals(),o?this.boundingSphereRadius=o:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=s?s.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const e=this.faces,t=this.vertices,i=this.uniqueEdges;i.length=0;const r=new fe;for(let s=0;s!==e.length;s++){const o=e[s],a=o.length;for(let l=0;l!==a;l++){t[o[l]].vsub(t[o[(l+1)%a]],r),r.normalize();let u=!1;for(let h=0;h!==i.length;h++)if(i[h].almostEquals(r)||i[h].almostEquals(r)){u=!0;break}u||i.push(r.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let e=0;ef&&(f=A,h=m)}const g=[];for(let m=0;m=0&&this.clipFaceAgainstHull(o,e,t,g,a,l,c)}findSeparatingAxis(e,t,i,r,s,o,a,l){const c=new fe,u=new fe,h=new fe,f=new fe,g=new fe,m=new fe;let A=Number.MAX_VALUE;const I=this;if(I.uniqueAxes)for(let G=0;G!==I.uniqueAxes.length;G++){i.vmult(I.uniqueAxes[G],c);const k=I.testSepAxis(c,e,t,i,r,s);if(!1===k)return!1;k0&&o.negate(o),!0}testSepAxis(e,t,i,r,s,o){jf.project(this,e,i,r,KR),jf.project(t,e,s,o,QR);const l=KR[0],c=KR[1],u=QR[0],h=QR[1];if(l0?1/t:0,this.material=e.material||null,this.linearDamping="number"==typeof e.linearDamping?e.linearDamping:.01,this.type=t<=0?yn.STATIC:yn.DYNAMIC,typeof e.type==typeof yn.STATIC&&(this.type=e.type),this.allowSleep=void 0===e.allowSleep||e.allowSleep,this.sleepState=yn.AWAKE,this.sleepSpeedLimit=void 0!==e.sleepSpeedLimit?e.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==e.sleepTimeLimit?e.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new fe,this.quaternion=new us,this.initQuaternion=new us,this.previousQuaternion=new us,this.interpolatedQuaternion=new us,e.quaternion&&(this.quaternion.copy(e.quaternion),this.initQuaternion.copy(e.quaternion),this.previousQuaternion.copy(e.quaternion),this.interpolatedQuaternion.copy(e.quaternion)),this.angularVelocity=new fe,e.angularVelocity&&this.angularVelocity.copy(e.angularVelocity),this.initAngularVelocity=new fe,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new fe,this.invInertia=new fe,this.invInertiaWorld=new lu,this.invMassSolve=0,this.invInertiaSolve=new fe,this.invInertiaWorldSolve=new lu,this.fixedRotation=void 0!==e.fixedRotation&&e.fixedRotation,this.angularDamping=void 0!==e.angularDamping?e.angularDamping:.01,this.linearFactor=new fe(1,1,1),e.linearFactor&&this.linearFactor.copy(e.linearFactor),this.angularFactor=new fe(1,1,1),e.angularFactor&&this.angularFactor.copy(e.angularFactor),this.aabb=new pr,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new fe,this.isTrigger=Boolean(e.isTrigger),e.shape&&this.addShape(e.shape),this.updateMassProperties()}wakeUp(){const e=this.sleepState;this.sleepState=yn.AWAKE,this.wakeUpAfterNarrowphase=!1,e===yn.SLEEPING&&this.dispatchEvent(yn.wakeupEvent)}sleep(){this.sleepState=yn.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(e){if(this.allowSleep){const t=this.sleepState,i=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),r=Er(this.sleepSpeedLimit,2);t===yn.AWAKE&&ir?this.wakeUp():t===yn.SLEEPY&&e-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(yn.sleepEvent))}}updateSolveMassProperties(){this.sleepState===yn.SLEEPING||this.type===yn.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(e,t=new fe){return e.vsub(this.position,t),this.quaternion.conjugate().vmult(t,t),t}vectorToLocalFrame(e,t=new fe){return this.quaternion.conjugate().vmult(e,t),t}pointToWorldFrame(e,t=new fe){return this.quaternion.vmult(e,t),t.vadd(this.position,t),t}vectorToWorldFrame(e,t=new fe){return this.quaternion.vmult(e,t),t}addShape(e,t,i){const r=new fe,s=new us;return t&&r.copy(t),i&&s.copy(i),this.shapes.push(e),this.shapeOffsets.push(r),this.shapeOrientations.push(s),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=this,this}removeShape(e){const t=this.shapes.indexOf(e);return-1===t?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(t,1),this.shapeOffsets.splice(t,1),this.shapeOrientations.splice(t,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,e.body=null,this)}updateBoundingRadius(){const e=this.shapes,t=this.shapeOffsets,i=e.length;let r=0;for(let s=0;s!==i;s++){const o=e[s];o.updateBoundingSphereRadius();const a=t[s].length(),l=o.boundingSphereRadius;a+l>r&&(r=a+l)}this.boundingRadius=r}updateAABB(){const e=this.shapes,t=this.shapeOffsets,i=this.shapeOrientations,r=e.length,s=rye,o=sye,a=this.quaternion,l=this.aabb,c=oye;for(let u=0;u!==r;u++){const h=e[u];a.vmult(t[u],s),s.vadd(this.position,s),a.mult(i[u],o),h.calculateWorldAABB(s,o,c.lowerBound,c.upperBound),0===u?l.copy(c):l.extend(c)}this.aabbNeedsUpdate=!1}updateInertiaWorld(e){const t=this.invInertia;if(t.x!==t.y||t.y!==t.z||e){const i=aye,r=lye;i.setRotationFromQuaternion(this.quaternion),i.transpose(r),i.scale(t,i),i.mmult(r,this.invInertiaWorld)}}applyForce(e,t=new fe){if(this.type!==yn.DYNAMIC)return;this.sleepState===yn.SLEEPING&&this.wakeUp();const i=cye;t.cross(e,i),this.force.vadd(e,this.force),this.torque.vadd(i,this.torque)}applyLocalForce(e,t=new fe){if(this.type!==yn.DYNAMIC)return;const i=uye,r=dye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyForce(i,r)}applyTorque(e){this.type===yn.DYNAMIC&&(this.sleepState===yn.SLEEPING&&this.wakeUp(),this.torque.vadd(e,this.torque))}applyImpulse(e,t=new fe){if(this.type!==yn.DYNAMIC)return;this.sleepState===yn.SLEEPING&&this.wakeUp();const i=t,r=hye;r.copy(e),r.scale(this.invMass,r),this.velocity.vadd(r,this.velocity);const s=fye;i.cross(e,s),this.invInertiaWorld.vmult(s,s),this.angularVelocity.vadd(s,this.angularVelocity)}applyLocalImpulse(e,t=new fe){if(this.type!==yn.DYNAMIC)return;const i=pye,r=gye;this.vectorToWorldFrame(e,i),this.vectorToWorldFrame(t,r),this.applyImpulse(i,r)}updateMassProperties(){const e=mye;this.invMass=this.mass>0?1/this.mass:0;const t=this.inertia,i=this.fixedRotation;this.updateAABB(),e.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),dS.calculateInertia(e,this.mass,t),this.invInertia.set(t.x>0&&!i?1/t.x:0,t.y>0&&!i?1/t.y:0,t.z>0&&!i?1/t.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(e,t){const i=new fe;return e.vsub(this.position,i),this.angularVelocity.cross(i,t),this.velocity.vadd(t,t),t}integrate(e,t,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==yn.DYNAMIC&&this.type!==yn.KINEMATIC||this.sleepState===yn.SLEEPING)return;const r=this.velocity,s=this.angularVelocity,o=this.position,a=this.force,l=this.torque,c=this.quaternion,h=this.invInertiaWorld,f=this.linearFactor,g=this.invMass*e;r.x+=a.x*g*f.x,r.y+=a.y*g*f.y,r.z+=a.z*g*f.z;const m=h.elements,A=this.angularFactor,I=l.x*A.x,G=l.y*A.y,k=l.z*A.z;s.x+=e*(m[0]*I+m[1]*G+m[2]*k),s.y+=e*(m[3]*I+m[4]*G+m[5]*k),s.z+=e*(m[6]*I+m[7]*G+m[8]*k),o.x+=r.x*e,o.y+=r.y*e,o.z+=r.z*e,c.integrate(this.angularVelocity,e,this.angularFactor,c),t&&(i?c.normalizeFast():c.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}yn.idCounter=0,yn.COLLIDE_EVENT_NAME="collide",yn.DYNAMIC=1,yn.STATIC=2,yn.KINEMATIC=4,yn.AWAKE=0,yn.SLEEPY=1,yn.SLEEPING=2,yn.wakeupEvent={type:"wakeup"},yn.sleepyEvent={type:"sleepy"},yn.sleepEvent={type:"sleep"};const rye=new fe,sye=new us,oye=new pr,aye=new lu,lye=new lu,cye=new fe,uye=new fe,dye=new fe,hye=new fe,fye=new fe,pye=new fe,gye=new fe,mye=new fe;new fe,new fe;class hS{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new fe,this.rayToWorld=new fe,this.hitNormalWorld=new fe,this.hitPointWorld=new fe,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(e,t,i,r,s,o,a){this.rayFromWorld.copy(e),this.rayToWorld.copy(t),this.hitNormalWorld.copy(i),this.hitPointWorld.copy(r),this.shape=s,this.body=o,this.distance=a}}let Q5,Z5,J5,e8,t8,n8,i8;Q5=_n.types.SPHERE,Z5=_n.types.PLANE,J5=_n.types.BOX,e8=_n.types.CYLINDER,t8=_n.types.CONVEXPOLYHEDRON,n8=_n.types.HEIGHTFIELD,i8=_n.types.TRIMESH;class ys{get[Q5](){return this._intersectSphere}get[Z5](){return this._intersectPlane}get[J5](){return this._intersectBox}get[e8](){return this._intersectConvex}get[t8](){return this._intersectConvex}get[n8](){return this._intersectHeightfield}get[i8](){return this._intersectTrimesh}constructor(e=new fe,t=new fe){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=e.clone(),this.to=t.clone(),this.direction=new fe,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=ys.ANY,this.result=new hS,this.hasHit=!1,this.callback=i=>{}}intersectWorld(e,t){return this.mode=t.mode||ys.ANY,this.result=t.result||new hS,this.skipBackfaces=!!t.skipBackfaces,this.collisionFilterMask=void 0!==t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==t.collisionFilterGroup?t.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,t.from&&this.from.copy(t.from),t.to&&this.to.copy(t.to),this.callback=t.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(r8),tN.length=0,e.broadphase.aabbQuery(e,r8,tN),this.intersectBodies(tN),this.hasHit}intersectBody(e,t){t&&(this.result=t,this.updateDirection());const i=this.checkCollisionResponse;if(i&&!e.collisionResponse||0==(this.collisionFilterGroup&e.collisionFilterMask)||0==(e.collisionFilterGroup&this.collisionFilterMask))return;const r=xye,s=Sye;for(let o=0,a=e.shapes.length;oe.boundingSphereRadius)return;const a=this[e.type];a&&a.call(this,e,t,i,r,e)}_intersectBox(e,t,i,r,s){return this._intersectConvex(e.convexPolyhedronRepresentation,t,i,r,s)}_intersectPlane(e,t,i,r,s){const o=this.from,a=this.to,l=this.direction,c=new fe(0,0,1);t.vmult(c,c);const u=new fe;o.vsub(i,u);const h=u.dot(c);if(a.vsub(i,u),h*u.dot(c)>0||o.distanceTo(a)=0&&A<=1&&(o.lerp(a,A,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1)),this.result.shouldStop)return;I>=0&&I<=1&&(o.lerp(a,I,g),g.vsub(i,m),m.normalize(),this.reportIntersection(m,g,s,r,-1))}}_intersectConvex(e,t,i,r,s,o){const a=Dye,l=o8,c=o&&o.faceList||null,u=e.faces,h=e.vertices,f=e.faceNormals,g=this.direction,m=this.from,I=m.distanceTo(this.to),G=c?c.length:u.length,k=this.result;for(let oe=0;!k.shouldStop&&oeI||this.reportIntersection(a,va,s,r,we)}}}}_intersectTrimesh(e,t,i,r,s,o){const a=Iye,l=Fye,c=Lye,u=o8,h=Oye,f=Rye,g=Nye,m=kye,A=Pye,I=e.indices,G=this.from,k=this.to,oe=this.direction;c.position.copy(i),c.quaternion.copy(t),$i.vectorToLocalFrame(i,t,oe,h),$i.pointToLocalFrame(i,t,G,f),$i.pointToLocalFrame(i,t,k,g),g.x*=e.scale.x,g.y*=e.scale.y,g.z*=e.scale.z,f.x*=e.scale.x,f.y*=e.scale.y,f.z*=e.scale.z,g.vsub(f,h),h.normalize();const we=f.distanceSquared(g);e.tree.rayQuery(this,c,l);for(let Be=0,Ue=l.length;!this.result.shouldStop&&Be!==Ue;Be++){const qe=l[Be];e.getNormal(qe,a),e.getVertex(I[3*qe],_c),_c.vsub(f,u);const bt=h.dot(a),xt=a.dot(u)/bt;if(xt<0)continue;h.scale(xt,va),va.vadd(f,va),e.getVertex(I[3*qe+1],uu),e.getVertex(I[3*qe+2],du);const Mt=va.distanceSquared(f);!ys.pointInTriangle(va,uu,_c,du)&&!ys.pointInTriangle(va,_c,uu,du)||Mt>we||($i.vectorToWorldFrame(t,a,A),$i.pointToWorldFrame(i,t,va,m),this.reportIntersection(A,m,s,r,qe))}l.length=0}reportIntersection(e,t,i,r,s){const o=this.from,a=this.to,l=o.distanceTo(t),c=this.result;if(!(this.skipBackfaces&&e.dot(this.direction)>0))switch(c.hitFaceIndex=void 0!==s?s:-1,this.mode){case ys.ALL:this.hasHit=!0,c.set(o,a,e,t,i,r,l),c.hasHit=!0,this.callback(c);break;case ys.CLOSEST:(l=0&&(h=s*c-o*a)>=0&&u+hDate.now()-n}var $f=et(4517);class Fr extends se{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new W;return this._value}next(e){super.next(this._value=e)}}function fm(n,e,t){e||(e=new qn(qn.IDENTITY));const i=new qn(qn.IDENTITY);if(!n)return!0;if(n.matrix)i.copy(n.matrix);else{if(i.identity(),n.translation&&i.translate(n.translation),n.rotation){const s=new qn(qn.IDENTITY).fromQuaternion(n.rotation);i.multiplyRight(s)}n.scale&&i.scale(n.scale)}const r=new qn(e).multiplyRight(i);if(!1===t(n,r,e))return!1;for(const s of n.nodes||n.children||[])if(!1===fm(s,r,t))return!1;return!0}function Q8(){M4([E5,cm])}function Z8(n,e){var t;const i=null===(t=e.nodes)||void 0===t?void 0:t.find(r=>r.name===n);if(i){let r=!1;for(const s of e.scenes)r||fm(s,new qn(qn.IDENTITY),(o,a)=>o!==i||(o.matrix=a,o.translation=void 0,o.rotation=void 0,o.scale=void 0,r=!0,!1));return e.scene={id:n,name:n,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function sN(n,e){return Bi(this,void 0,void 0,function*(){const t=n.scenegraph;let i;i=e?e[t]||(e[t]=fetch(t).then(s=>s.blob())):fetch(t);const r=yield Hx(i,cm,{DracoLoader:IR,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",t,r),Z8(n.scenegraphNode,r)})}function Bve(n,e){return Bi(this,void 0,void 0,function*(){return Z8(n,yield e)})}function oN(n,e,t){if(e&&0!==e.length){let i;switch(t.geometry){case"sphere":i=new L_e;break;case"cone":i=new U_e;break;case"cylinder":i=new z_e;break;case"cube":default:i=new Y_e}return new pge(Object.assign({id:n,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:Vi.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:r=>r.transformMatrix,getColor:r=>r.color||[255,255,255,229.5]},t))}}function J8(n,e,t){if(e&&0!==e.length)return new rge(Object.assign({id:n,pickable:!0,data:e.map(i=>Object.assign(Object.assign({},i),{position:new qn(i.transformMatrix).getTranslation()})),getText:i=>i.text,getPosition:i=>i.position,getColor:i=>i.color},t))}let jve=(()=>{class n extends P4{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),Q8()}renderLayers(){var t,i;const r=this.state,s={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const l of r.data){const c=null!==(t=l.geometry)&&void 0!==t?t:"cube";l.scenegraph?s.scenegraph.push(l):void 0!==s[c]&&s[c].push(l)}const o={};for(const l of s.scenegraph)l.scenegraph&&l.scenegraphNode&&!Object.prototype.hasOwnProperty.call(o,l.scenegraph)&&(o[l.scenegraph]=sN({scenegraph:l.scenegraph},n.gltfCache));const a=[];for(const[l,c]of Object.entries(s))if("scenegraph"===l)for(const u of c)a.push(new F_e({id:"models-"+u["@id"],opacity:u.zoomBasedOpacity?r.zoomOpacity:void 0!==u.opacity?u.opacity:1,pickable:!u.unpickable,coordinateSystem:Vi.CARTESIAN,data:[u],scenegraph:u.scenegraphNode?Bve(u.scenegraphNode,o[u.scenegraph]):u.scenegraph,_lighting:u._lighting,getTransformMatrix:u.transformMatrix,getColor:null!==(i=u.color)&&void 0!==i?i:[0,255,0,127.5],parameters:{depthMask:!u.zoomBasedOpacity&&(void 0===u.opacity||1===u.opacity)}}));else"text"===l?(a.push(J8("text",c.filter(u=>u.unpickable),{pickable:!1})),a.push(J8("textPickable",c.filter(u=>!u.unpickable),{pickable:!0}))):"wireframe"===l?a.push(oN(l,c,{wireframe:!0,pickable:!1,geometry:l})):(a.push(oN(l,c.filter(u=>u.unpickable),{wireframe:!1,pickable:!1,geometry:l})),a.push(oN(`${l}Pickable`,c.filter(u=>!u.unpickable),{wireframe:!1,pickable:!0,geometry:l})));return r.doCollisions&&function(n){Bi(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=n.filter(o=>!o.scenegraph&&"wireframe"!==o.geometry).map(o=>{const a=new qn(o.transformMatrix),l=a.transformAsPoint([-1,-1,-1],[]),c=a.transformAsPoint([1,1,1],[]);return{"@id":o["@id"],name:o.tooltip,entityId:o.entityId,bbox:new pr({lowerBound:new fe(...l.map((u,h)=>Math.min(u,c[h]))),upperBound:new fe(...c.map((u,h)=>Math.max(u,l[h])))})}}),t=[];for(const o of n.filter(a=>!!a.scenegraph)){const a=yield q0(o.scenegraph,cm,{DracoLoader:IR,decompress:!0,postProcess:!0});for(const l of a.scenes)fm(l,new qn(o.transformMatrix),(c,u)=>{if(c.mesh&&c.mesh.primitives&&c.mesh.primitives.length>0)for(const h of c.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const f=u.transformAsPoint(h.attributes.POSITION.min,[]),g=u.transformAsPoint(h.attributes.POSITION.max,[]);t.push({"@id":o["@id"],name:c.name,entityId:o.entityId,bbox:new pr({lowerBound:new fe(...f.map((m,A)=>Math.min(m,g[A]))),upperBound:new fe(...g.map((m,A)=>Math.max(m,f[A])))}),gltf:a})}return!0})}const i=[],r=[];for(const o of e){const a=[];for(const l of t)o.bbox.overlaps(l.bbox)&&a.push({"@id":l["@id"],name:l.name});a.length>0?i.push({"@id":o.entityId,name:o.name,hits:a}):r.push(o)}console.log({sourceBoxes:e,targetBoxes:t,report:i,sad:r,maxHits:Math.max(...i.map(o=>o.hits.length))});const s=[];for(const o of i){s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":"","Hit Name":""});for(const a of o.hits)s.push({"Tissue ID":o["@id"],"Tissue Name":o.name,"Hit ID":a["@id"],"Hit Name":a.name})}return console.log(s),i})}(r.data),a.filter(l=>!!l)}getPickingInfo(t){return t.info}}return n.layerName="BodyUILayer",n.gltfCache={},n})();function e6(n,e=[]){for(const t of n.nodes||n.children||[])e.push(t.name),e6(t,e);return e}let zve=(()=>{class n{constructor(t){var i,r,s,o,a;this.deckProps=t,this.bodyUILayer=new jve({}),this.nodeClickSubject=new se,this.nodeHoverStartSubject=new se,this.nodeHoverStopSubject=new se,this.sceneRotationSubject=new Fr([0,0]),this.nodeDragStartSubject=new se,this.nodeDragSubject=new se,this.nodeDragEndSubject=new se,this.nodeClick$=this.nodeClickSubject.pipe(ws()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(ws()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(ws()),this.sceneRotation$=this.sceneRotationSubject.pipe(ws()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(ws()),this.nodeDrag$=this.nodeDragSubject.pipe(ws()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(ws());const l=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new jde({flipY:!1,near:-1e3}):new Hde({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:c=>{var u;return null!==(u=this.cursor)&&void 0!==u?u:c.isDragging?"grabbing":"grab"}});t.legacyLighting&&(l.effects=[new $O({ambientLight:new V4({color:[255,255,255],intensity:10})})]),this.deck=new eS(l),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(i=t.minRotationX)&&void 0!==i?i:-15,maxRotationX:null!==(r=t.maxRotationX)&&void 0!==r?r:15,target:null!==(s=t.target)&&void 0!==s?s:[.5,.5,0],rotationX:0,rotationOrbit:null!==(o=t.rotation)&&void 0!==o?o:0,zoom:null!==(a=t.zoom)&&void 0!==a?a:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return Bi(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let i=this.bodyUILayer.state.zoomOpacity,r=!1;for(const s of t)s.zoomToOnLoad&&(this.zoomTo(s),r=!0);i=r?.05:i,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,i):this.bodyUILayer.setState({data:t,zoomOpacity:i})}}debugSceneNodeProcessing(t,i){const r="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",s=new qn([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(n,e,t,i){return Bi(this,void 0,void 0,function*(){Q8();const r=yield sN({scenegraph:n,scenegraphNode:"VHF_Kidney_L_Low1"},undefined),s={},o=[];for(const a of r.scenes)fm(a,e=new qn(e||qn.IDENTITY),(l,c)=>{const u={"@id":l.name||l.id,"@type":"ProcessedNode",transformMatrix:new qn(c),geometry:"wireframe",node:l};if(o.push({"@id":`GLTF:${u["@id"]}`,"@type":"GLTFNode",scenegraph:n,scenegraphNode:u["@id"],transformMatrix:new qn(e||qn.IDENTITY),tooltip:l.name||l.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:l}),l.mesh&&l.mesh.primitives&&l.mesh.primitives.length>0)for(const h of l.mesh.primitives)if(h.attributes.POSITION&&h.attributes.POSITION.min){const f=c.transformAsPoint(h.attributes.POSITION.min,[]),g=c.transformAsPoint(h.attributes.POSITION.max,[]);u.bbox=new pr({lowerBound:new fe(...f.map((m,A)=>Math.min(m,g[A]))),upperBound:new fe(...g.map((m,A)=>Math.max(m,f[A])))})}return s[u["@id"]]=u,!0});for(const a of Object.values(s).filter(l=>!l.bbox)){for(const l of e6(a.node).map(c=>s[c]).filter(c=>c.bbox))a.bbox?a.bbox.extend(l.bbox):a.bbox=l.bbox.clone();a.bbox||delete s[a["@id"]]}for(const a of Object.values(s)){const l=a.bbox.lowerBound,h=(a.size=a.bbox.upperBound.clone().vsub(l)).clone().vmul(new fe(.5,.5,.5)),f=a.center=l.clone().vadd(h);a.transformMatrix=new qn(qn.IDENTITY).translate(f.toArray()).scale(h.toArray())}for(const a of o)s[a["@id"]]=a;return s})})(r,s).then(o=>{console.log("results",o),console.log("data",t),(t=t.concat(Object.values(o))).push({"@id":"TEST","@type":"TEST",scenegraph:r,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:s,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:i})})}zoomTo(t){const i=new qn(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:i.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:i}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?i!==t.object&&(i&&this.nodeHoverStopSubject.next(i),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):i&&(this.nodeHoverStopSubject.next(i),this.lastHovered=void 0)}_onClick(t,i){var r,s;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(s=null===(r=null==i?void 0:i.srcEvent)||void 0===r?void 0:r.ctrlKey)&&void 0!==s?s:void 0})}_onViewStateChange(t){var i;if(null===(i=t.interactionState)||void 0===i?void 0:i.isZooming){const r=this.bodyUILayer.state,s=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);r.zoomOpacity!==s&&this.bodyUILayer.setState({data:r.data,zoomOpacity:s})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,i){this._dragEvent(t,i,this.nodeDragStartSubject)}_onDrag(t,i){this._dragEvent(t,i,this.nodeDragSubject)}_onDragEnd(t,i){this._dragEvent(t,i,this.nodeDragEndSubject)}_dragEvent(t,i,r){var s;(null===(s=null==t?void 0:t.object)||void 0===s?void 0:s["@id"])&&r.next({node:t.object,info:t,e:i})}}return Ei([$f.ZP],n.prototype,"_onHover",null),Ei([$f.ZP],n.prototype,"_onClick",null),Ei([$f.ZP],n.prototype,"_onViewStateChange",null),Ei([$f.ZP],n.prototype,"_onDragStart",null),Ei([$f.ZP],n.prototype,"_onDrag",null),Ei([$f.ZP],n.prototype,"_onDragEnd",null),n})();class t6 extends v{notifyNext(e,t,i,r,s){this.destination.next(t)}notifyError(e,t){this.destination.error(e)}notifyComplete(e){this.destination.complete()}}class Hve extends v{constructor(e,t,i){super(),this.parent=e,this.outerValue=t,this.outerIndex=i,this.index=0}_next(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)}_error(e){this.parent.notifyError(e,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function n6(n,e,t,i,r=new Hve(n,t,i)){if(!r.closed)return e instanceof P?e.subscribe(r):Se(e)(r)}const i6={};function yc(...n){let e,t;return Re(n[n.length-1])&&(t=n.pop()),"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&F(n[0])&&(n=n[0]),In(n,t).lift(new r6(e))}class r6{constructor(e){this.resultSelector=e}call(e,t){return t.subscribe(new Gve(e,this.resultSelector))}}class Gve extends t6{constructor(e,t){super(e),this.resultSelector=t,this.active=0,this.values=[],this.observables=[]}_next(e){this.values.push(i6),this.observables.push(e)}_complete(){const e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(let i=0;i(i&&i.providers||[]).some(s=>s&&s.provide&&"MockNgModuleResolver"===s.provide.name||!1))});let aN=(()=>{class n{constructor(){this.bootstrap$=new Df(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const lN=new Ht("INITIAL_STATE_TOKEN");let Kve=(()=>{class n{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return n.value={},n})();const s6=new Ht("Internals.StateContextFactory"),o6=new Ht("Internals.StateFactory");function fb(...n){if(1===n.length){const e=n[0];if(F(e))return ES(e,null);if(Y(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return ES(t.map(i=>e[i]),t)}}if("function"==typeof n[n.length-1]){const e=n.pop();return ES(n=1===n.length&&F(n[0])?n[0]:n,null).pipe(be(t=>e(...t)))}return ES(n,null)}function ES(n,e){return new P(t=>{const i=n.length;if(0===i)return void t.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=u},error:u=>t.error(u),complete:()=>{s++,(s===i||!c)&&(o===i&&t.next(e?e.reduce((u,h,f)=>(u[h]=r[f],u),{}):r),t.complete())}}))}})}function Ki(n,e){return function(i){return i.lift(new Qve(n,e))}}class Qve{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new Zve(e,this.predicate,this.thisArg))}}class Zve extends v{constructor(e,t,i){super(e),this.predicate=t,this.thisArg=i,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(i){return void this.destination.error(i)}t&&this.destination.next(e)}}function Wa(n,e,t){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:e,refCount:!1,scheduler:t},r=>r.lift(function({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:t,scheduler:i}){let r,o,s=0,a=!1,l=!1;return function(u){let h;s++,!r||a?(a=!1,r=new Df(n,e,i),h=r.subscribe(this),o=u.subscribe({next(f){r.next(f)},error(f){a=!0,r.error(f)},complete(){l=!0,o=void 0,r.complete()}}),l&&(o=void 0)):h=r.subscribe(this),this.add(()=>{s--,h.unsubscribe(),h=void 0,o&&!l&&t&&0===s&&(o.unsubscribe(),o=void 0,r=void 0)})}}(i))}const a6=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function qr(n){return e=>0===n?b0():e.lift(new ewe(n))}class ewe{constructor(e){if(this.total=e,this.total<0)throw new a6}call(e,t){return t.subscribe(new twe(e,this.total))}}class twe extends v{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,i=++this.count;i<=t&&(this.destination.next(e),i===t&&(this.destination.complete(),this.unsubscribe()))}}function l6(n,e){return e?t=>t.pipe(l6((i,r)=>Ye(n(i,r)).pipe(be((s,o)=>e(i,s,r,o))))):t=>t.lift(new nwe(n))}class nwe{constructor(e){this.project=e}call(e,t){return t.subscribe(new iwe(e,this.project))}}class iwe extends Ae{constructor(e,t){super(e),this.project=t,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(e){this.hasSubscription||this.tryNext(e)}tryNext(e){let t;const i=this.index++;try{t=this.project(e,i)}catch(r){return void this.destination.error(r)}this.hasSubscription=!0,this._innerSub(t)}_innerSub(e){const t=new _t(this),i=this.destination;i.add(t);const r=L(e,t);r!==t&&i.add(r)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(e){this.destination.next(e)}notifyError(e){this.destination.error(e)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function xS(n=null){return e=>e.lift(new rwe(n))}class rwe{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new swe(e,this.defaultValue))}}class swe extends v{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function bc(n){return function(t){const i=new owe(n),r=t.lift(i);return i.caught=r}}class owe{constructor(e){this.selector=e}call(e,t){return t.subscribe(new awe(e,this.selector,this.caught))}}class awe extends Ae{constructor(e,t,i){super(e),this.selector=t,this.caught=i}error(e){if(!this.isStopped){let t;try{t=this.selector(e,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new _t(this);this.add(i);const r=L(t,i);r!==i&&this.add(r)}}}function gr(n){return e=>e.lift(new lwe(n))}class lwe{constructor(e){this.notifier=e}call(e,t){const i=new cwe(e),r=L(this.notifier,new _t(i));return r&&!i.seenValue?(i.add(r),t.subscribe(i)):i}}class cwe extends Ae{constructor(e){super(e),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function bh(){}function cr(n,e,t){return function(r){return r.lift(new uwe(n,e,t))}}class uwe{constructor(e,t,i){this.nextOrObserver=e,this.error=t,this.complete=i}call(e,t){return t.subscribe(new dwe(e,this.nextOrObserver,this.error,this.complete))}}class dwe extends v{constructor(e,t,i,r){super(e),this._tapNext=bh,this._tapError=bh,this._tapComplete=bh,this._tapError=i||bh,this._tapComplete=r||bh,Q(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||bh,this._tapError=t.error||bh,this._tapComplete=t.complete||bh)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}function ld(n,e){return t=>t.lift(new hwe(n,e))}class hwe{constructor(e,t){this.compare=e,this.keySelector=t}call(e,t){return t.subscribe(new fwe(e,this.compare,this.keySelector))}}class fwe extends v{constructor(e,t,i){super(e),this.keySelector=i,this.hasKey=!1,"function"==typeof t&&(this.compare=t)}compare(e,t){return e===t}_next(e){let t;try{const{keySelector:r}=this;t=r?r(e):e}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,t)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=t,this.destination.next(e))}}const qa={STATE_NAME:n=>`${n} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(n,e,t)=>`State name '${n}' from ${e} already exists in ${t}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:n=>`'${n}' class should be decorated with @Injectable() right after the @State() decorator`};let c6=(()=>{class n{constructor(t,i){this._ngZone=t,this._platformId=i,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(n){return"server"===n}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return pn.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return pn.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof pn||console.warn(qa.ZONE_WARNING())}}return n.\u0275fac=function(t){return new(t||n)(ke(pn),ke(Xc))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const u6=new Ht("ROOT_STATE_TOKEN"),d6=new Ht("FEATURE_STATE_TOKEN"),h6=new Ht("NGXS_PLUGINS"),f6=new Ht("NG_TEST_MODE"),p6=new Ht("NG_DEV_MODE"),cd="NGXS_META",g6="NGXS_OPTIONS_META",cN="NGXS_SELECTOR_META";let Wf=(()=>{class n{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=c6}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class pwe{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}}const m6=new Ht("NGXS_EXECUTION_STRATEGY");function qf(n){return n.constructor&&n.constructor.type?n.constructor.type:n.type}const _6=(n,e,t)=>{n=Object.assign({},n);const i=e.split("."),r=i.length-1;return i.reduce((s,o,a)=>(s[o]=a===r?t:Array.isArray(s[o])?s[o].slice():Object.assign({},s[o]),s&&s[o]),n),n},SS=(n,e)=>e.split(".").reduce((t,i)=>t&&t[i],n),uN=n=>n&&"object"==typeof n&&!Array.isArray(n),dN=(n,...e)=>{if(!e.length)return n;const t=e.shift();if(uN(n)&&uN(t))for(const i in t)uN(t[i])?(n[i]||Object.assign(n,{[i]:{}}),dN(n[i],t[i])):Object.assign(n,{[i]:t[i]});return dN(n,...e)};function hN(n){if(!n.hasOwnProperty(cd)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,cd,{value:e})}return pb(n)}function pb(n){return n[cd]}function pN(n){return n[cN]}function y6(n,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(n){const e=n.slice();return t=>e.reduce((i,r)=>i&&i[r],t)}(n):function(n){const e=n;let t="store."+e[0],i=0;const r=e.length;let s=t;for(;++i(e[qf(t)]=!0,e),{})}(n),r=e&&function(n){return n.reduce((e,t)=>(e[t]=!0,e),{})}(e);return function(s){return s.pipe(function(n,e){return Ki(t=>{const i=qf(t.action);return n[i]&&(!e||e[t.status])})}(i,r),t())}}(n,["DISPATCHED"])}function Cwe(){return be(n=>n.action)}function CS(n){return e=>new P(t=>e.subscribe({next(i){n.leave(()=>t.next(i))},error(i){n.leave(()=>t.error(i))},complete(){n.leave(()=>t.complete())}}))}let TS=(()=>{class n{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return n.\u0275fac=function(t){return new(t||n)(ke(m6))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class Mwe extends se{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(e){if(this._busyPushingNext)this._itemQueue.unshift(e);else{for(this._busyPushingNext=!0,super.next(e);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let AS=(()=>{class n extends Mwe{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),Dwe=(()=>{class n extends P{constructor(t,i){super(r=>{const s=t.pipe(CS(i)).subscribe({next:o=>r.next(o),error:o=>r.error(o),complete:()=>r.complete()});r.add(s)})}}return n.\u0275fac=function(t){return new(t||n)(ke(AS),ke(TS))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const v6=n=>(...e)=>n.shift()(...e,(...i)=>v6(n)(...i));let MS=(()=>{class n extends Fr{constructor(){super({})}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),gN=(()=>{class n{constructor(t,i){this._parentManager=t,this._pluginHandlers=i,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(i=>i.handle?i.handle.bind(i):i)}}return n.\u0275fac=function(t){return new(t||n)(ke(n,12),ke(h6,8))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),mN=(()=>{class n extends se{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),w6=(()=>{class n{constructor(t,i,r,s,o,a){this._injector=t,this._actions=i,this._actionResults=r,this._pluginManager=s,this._stateStream=o,this._ngxsExecutionStrategy=a}dispatch(t){const i=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return i.subscribe({error:r=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(la),this._errorHandler.handleError(r)}catch(s){}})}),i.pipe(CS(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?sn(this._stateStream.getValue()):fb(t.map(i=>this.dispatchSingle(i))):this.dispatchSingle(t)}dispatchSingle(t){if(!qf(t))return Fg(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const r=this._stateStream.getValue();return v6([...this._pluginManager.plugins,(o,a)=>{o!==r&&this._stateStream.next(o);const l=this.getActionResultStream(a);return l.subscribe(c=>this._actions.next(c)),this._actions.next({action:a,status:"DISPATCHED"}),this.createDispatchObservable(l)}])(r,t).pipe(Wa())}getActionResultStream(t){return this._actionResults.pipe(Ki(i=>i.action===t&&"DISPATCHED"!==i.status),qr(1),Wa())}createDispatchObservable(t){return t.pipe(l6(i=>{switch(i.status){case"SUCCESSFUL":return sn(this._stateStream.getValue());case"ERRORED":return Fg(i.error);default:return Qc}})).pipe(Wa())}}return n.\u0275fac=function(t){return new(t||n)(ke(Hn),ke(AS),ke(mN),ke(gN),ke(MS),ke(TS))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const E6=n=>{Object.freeze(n);const e="function"==typeof n,t=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(function(i){t.call(n,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==n[i]&&("object"==typeof n[i]||"function"==typeof n[i])&&!Object.isFrozen(n[i])&&E6(n[i])}),n};let x6=(()=>{class n{constructor(t,i){this.isDevMode=t,this.isTestMode=i}}return n.\u0275fac=function(t){return new(t||n)(ke(p6),ke(f6))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),S6=(()=>{class n{constructor(t,i){this._host=t,this._config=i}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(qa.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(qa.INCORRECT_DEVELOPMENT()))}}return n.\u0275fac=function(t){return new(t||n)(ke(x6),ke(Wf))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),gm=(()=>{class n{constructor(t,i,r,s){this._stateStream=t,this._dispatcher=i,this._config=r,s.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:i=>this._stateStream.next(i),dispatch:i=>this._dispatcher.dispatch(i)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:i=>{const r=E6(i);return t.setState(r)},dispatch:i=>t.dispatch(i)}}setStateToTheCurrentWithNew(t){const i=this.getRootStateOperations(),r=i.getState();i.setState(Object.assign({},r,t.defaults))}}return n.\u0275fac=function(t){return new(t||n)(ke(MS),ke(w6),ke(Wf),ke(S6))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),DS=(()=>{class n{constructor(t){this._internalStateOperations=t}createStateContext(t){const i=this._internalStateOperations.getRootStateOperations();function r(l){return SS(l,t.path)}function s(l,c){const u=_6(l,t.path,c),h=t.instance;if(h.ngxsOnChanges){const f=b6(t,{currentAppState:l,newAppState:u});h.ngxsOnChanges(f)}return i.setState(u),u}function o(l,c){return s(l,c(r(l)))}return{getState:()=>r(i.getState()),patchState:l=>o(i.getState(),function(n){return e=>{if(Array.isArray(n))throw new Error(qa.PATCHING_ARRAY());if("object"!=typeof n)throw new Error(qa.PATCHING_PRIMITIVE());const t=Object.assign({},e);for(const i in n)t[i]=n[i];return t}}(l)),setState(l){const c=i.getState();return function(l){return"function"==typeof l}(l)?o(c,l):s(c,l)},dispatch:l=>i.dispatch(l)}}}return n.\u0275fac=function(t){return new(t||n)(ke(gm))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class IS{static stateNameErrorMessage(e){return qa.STATE_NAME(e)}static checkCorrectStateName(e){if(!e)throw new Error(qa.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(e))throw new Error(this.stateNameErrorMessage(e))}static checkStateNameIsUnique(e,t){const r=this.getValidStateMeta(e).name,s=t[r];if(s&&s!==e)throw new Error(qa.STATE_UNIQUE(r,e.name,s.name));return r}static getValidStateMeta(e){const t=pb(e);if(!t)throw new Error(qa.STATE_DECORATOR());return t}}IS.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let mm=(()=>{class n{constructor(t,i,r,s,o,a,l){this._injector=t,this._config=i,this._parentFactory=r,this._actions=s,this._actionResults=o,this._stateContextFactory=a,this._initialState=l,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=wS(()=>{const c=this;function u(f){const g=c.statePaths[f];return g?y6(g.split("."),c._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(f){let g=u(f);return g||((...m)=>(g||(g=u(f)),g?g(...m):void 0))},getSelectorOptions:f=>Object.assign({},c._config.selectorOptions,f||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let i={};return i=Array.isArray(t)?t.slice():function(n){return"object"==typeof n&&null!==n||"function"==typeof n}(t)?Object.assign({},t):void 0===t?{}:t,i}static checkStatesAreValid(t){t.forEach(IS.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(t){n.checkStatesAreValid(t);const{newStates:i}=this.addToStatesMap(t);if(!i.length)return[];const r=function(n){const e=t=>{const i=n.find(r=>r===t);if(!i)throw new Error(`Child state not found: ${t}. \r\nYou may have forgotten to add states to module`);return i[cd].name};return n.reduce((t,i)=>{const{name:r,children:s}=i[cd];return t[r]=(s||[]).map(e),t},{})}(i),s=function(n){const e=[],t={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),t[r]=!0,n[r].forEach(o=>{if(s.indexOf(o)>=0)throw new Error(`Circular dependency '${o}' is required by '${r}': ${s.join(" -> ")}`);t[o]||i(o,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(n).forEach(r=>i(r)),e.reverse()}(r),o=function(n,e={}){const t=(i,r)=>{for(const s in i)if(i.hasOwnProperty(s)&&i[s].indexOf(r)>=0){const o=t(i,s);return null!==o?`${o}.${s}`:s}return null};for(const i in n)if(n.hasOwnProperty(i)){const r=t(n,i);e[i]=r?`${r}.${i}`:i}return e}(r),a=function(n){return n.reduce((e,t)=>(e[t[cd].name]=t,e),{})}(i),l=[];for(const c of s){const u=a[c],h=o[c],f=u[cd];this.addRuntimeInfoToMeta(f,h);const g={name:c,path:h,isInitialised:!1,actions:f.actions,instance:this._injector.get(u),defaults:n.cloneDefaults(f.defaults)};this.hasBeenMountedAndBootstrapped(c,h)||l.push(g),this.states.push(g)}return l}addAndReturnDefaults(t){const r=this.add(t||[]);return{defaults:r.reduce((o,a)=>_6(o,a.path,a.defaults),{}),states:r}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(Ki(t=>"DISPATCHED"===t.status),H(({action:t})=>this.invokeActions(this._actions,t).pipe(be(()=>({action:t,status:"SUCCESSFUL"})),xS({action:t,status:"CANCELED"}),bc(i=>sn({action:t,status:"ERRORED",error:i}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,i){const r=qf(i),s=[];for(const o of this.states){const a=o.actions[r];if(a)for(const l of a){const c=this._stateContextFactory.createStateContext(o);try{let u=o.instance[l.fn](c,i);u instanceof Promise&&(u=Ye(u)),u instanceof P?(u=u.pipe(xS({})),l.options.cancelUncompleted&&(u=u.pipe(gr(t.pipe(Ewe(i)))))):u=sn({}).pipe(Wa()),s.push(u)}catch(u){s.push(Fg(u))}}}return s.length||s.push(sn({})),fb(s)}addToStatesMap(t){const i=[],r=this.statesByName;for(const s of t){const o=IS.checkStateNameIsUnique(s,r);!r[o]&&(i.push(s),r[o]=s)}return{newStates:i}}addRuntimeInfoToMeta(t,i){this.statePaths[t.name]=i,t.path=i}hasBeenMountedAndBootstrapped(t,i){const r=void 0!==SS(this._initialState,i);return this.statesByName[t]&&r}}return n.\u0275fac=function(t){return new(t||n)(ke(Hn),ke(Wf),ke(n,12),ke(AS),ke(mN),ke(DS),ke(lN,8))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),_N=(()=>{class n{constructor(t,i,r){this.internalStateOperations=t,this.stateContextFactory=i,this.bootstrapper=r}ngxsBootstrap(t,i){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(Ki(()=>!!i),cr(()=>this.invokeInit(i.states)),H(()=>this.bootstrapper.appBootstrapped$),Ki(r=>!!r)).subscribe(()=>this.invokeBootstrap(i.states))}invokeInit(t){for(const i of t){const r=i.instance;if(r.ngxsOnChanges){const a=b6(i,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});r.ngxsOnChanges(a)}r.ngxsOnInit&&r.ngxsOnInit(this.getStateContext(i)),i.isInitialised=!0}}invokeBootstrap(t){for(const i of t){const r=i.instance;r.ngxsAfterBootstrap&&r.ngxsAfterBootstrap(this.getStateContext(i))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return n.\u0275fac=function(t){return new(t||n)(ke(gm),ke(DS),ke(aN))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const OS_getOptions=n=>n&&n.NGXS_SELECTOR_OPTIONS_META||{};function Owe(n,e,t){const i=t&&t.containerClass,s=wS(function(...c){const u=e.apply(i,c);return u instanceof Function?wS.apply(null,[u]):u});Object.setPrototypeOf(s,e);const o=function(n,e){const t=function(n){return n.hasOwnProperty(cN)||Object.defineProperty(n,cN,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),pN(n)}(n);t.originalFn=n;let i=()=>({});e&&(t.containerClass=e.containerClass,t.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},t);return t.getSelectorOptions=()=>function(n,e){return Object.assign({},OS_getOptions(n.containerClass)||{},OS_getOptions(n.originalFn)||{},n.getSelectorOptions()||{},e)}(r,i()),t}(e,t);return o.makeRootSelector=l=>{const{argumentSelectorFunctions:c,selectorOptions:u}=function(n,e,t=[]){const i=e.getSelectorOptions(),r=n.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(n=[],e,t){const i=[];return t&&(0===n.length||e.injectContainerState)&&pb(t)&&i.push(t),n&&i.push(...n),i}(t,r,e.containerClass).map(a=>T6(a)(n))}}(l,o,n);return function(f){const g=c.map(m=>m(f));try{return s(...g)}catch(m){if(m instanceof TypeError&&u.suppressErrors)return;throw m}}},s}function T6(n){const e=pN(n)||pb(n);return e&&e.makeRootSelector||(()=>n)}let hu=(()=>{class n{constructor(t,i,r,s,o,a){this._stateStream=t,this._internalStateOperations=i,this._config=r,this._internalExecutionStrategy=s,this._stateFactory=o,this.initStateStream(a)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const i=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(be(i),bc(r=>{const{suppressErrors:s}=this._config.selectorOptions;return r instanceof TypeError&&s?sn(void 0):Fg(r)}),ld(),CS(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(qr(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(CS(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return T6(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const i=this._stateStream.value;if(!i||0===Object.keys(i).length){const o=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(o)}}}return n.\u0275fac=function(t){return new(t||n)(ke(MS),ke(gm),ke(Wf),ke(TS),ke(mm),ke(lN,8))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),gb=(()=>{class n{constructor(t,i){n.store=t,n.config=i}ngOnDestroy(){n.store=null,n.config=null}}return n.\u0275fac=function(t){return new(t||n)(ke(hu),ke(Wf))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n.store=null,n.config=null,n})();class Fwe{static get type(){return"@@INIT"}}class Lwe{constructor(e){this.addedStates=e}static get type(){return"@@UPDATE_STATE"}}const RS=new Df(1);let Vwe=(()=>{class n{constructor(t,i,r,s,o=[],a){!function(){try{const n=window.ng,t=!(n.probe&&n.coreTokens)&&fa();RS.next(t)}catch(n){RS.next(!1)}finally{RS.complete()}}();const l=t.addAndReturnDefaults(o);i.setStateToTheCurrentWithNew(l),t.connectActionHandlers(),a.ngxsBootstrap(new Fwe,l)}}return n.\u0275fac=function(t){return new(t||n)(ke(mm),ke(gm),ke(hu),ke(gb),ke(u6,8),ke(_N))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})(),jwe=(()=>{class n{constructor(t,i,r,s=[],o){const a=n.flattenStates(s),l=r.addAndReturnDefaults(a);l.states.length&&(i.setStateToTheCurrentWithNew(l),o.ngxsBootstrap(new Lwe(l.defaults),l))}static flattenStates(t=[]){return t.reduce((i,r)=>i.concat(r),[])}}return n.\u0275fac=function(t){return new(t||n)(ke(hu),ke(gm),ke(mm),ke(d6,8),ke(_N))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();class Yo{static forRoot(e=[],t={}){return{ngModule:Vwe,providers:[mm,DS,Dwe,AS,aN,S6,x6,_N,w6,mN,gm,TS,hu,MS,gb,gN,...e,...Yo.ngxsTokenProviders(e,t)]}}static forFeature(e=[]){return{ngModule:jwe,providers:[mm,gN,...e,{provide:d6,multi:!0,useValue:e}]}}static ngxsTokenProviders(e,t){return[{provide:f6,useValue:Xve},{provide:p6,useValue:fa},{provide:m6,useClass:t.executionStrategy||c6},{provide:u6,useValue:e},{provide:Yo.ROOT_OPTIONS,useValue:t},{provide:Wf,useFactory:Yo.ngxsConfigFactory,deps:[Yo.ROOT_OPTIONS]},{provide:IE,useFactory:Yo.appBootstrapListenerFactory,multi:!0,deps:[aN]},{provide:lN,useFactory:Yo.getInitialState},{provide:s6,useExisting:DS},{provide:o6,useExisting:mm}]}static ngxsConfigFactory(e){return dN(new Wf,e)}static appBootstrapListenerFactory(e){return()=>e.bootstrap()}static getInitialState(){return Kve.pop()}}function yN(n,e){return(t,i)=>{if(t.hasOwnProperty("prototype"))throw new Error(qa.ACTION_DECORATOR());const s=hN(t.constructor);Array.isArray(n)||(n=[n]);for(const o of n){const a=o.type;s.actions[a]||(s.actions[a]=[]),s.actions[a].push({fn:i,options:e||{},type:a})}}}function A6(n){return i=>{!function(n){RS.subscribe(e=>{e&&(n.\u0275prov||console.warn(qa.UNDECORATED_STATE_IN_IVY(n.name)))})}(i);const r=i,s=hN(r),o=Object.getPrototypeOf(r),a=function(i){return Object.assign({},i[g6]||{},n)}(o);(function(i){const{meta:r,inheritedStateClass:s,optionsWithInheritance:o}=i,{children:a,defaults:l,name:c}=o,u="string"==typeof c?c:c&&c.getName()||null;IS.checkCorrectStateName(u),s.hasOwnProperty(cd)&&(r.actions=Object.assign({},r.actions,(s[cd]||{}).actions)),r.children=a,r.defaults=l,r.name=u})({meta:s,inheritedStateClass:o,optionsWithInheritance:a}),r[g6]=a}}function NS(n,...e){return function(t,i){const r=i.toString(),s=`__${r}__selector`,o=function(n,e,t=[]){return"string"==typeof(e=e||function(n){const e=n.length-1;return 36===n.charCodeAt(e)?n.slice(0,e):n}(n))?y6(t.length?[e,...t]:e.split("."),gb.config):e}(r,n,e);Object.defineProperties(t,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(n){if(!gb.store)throw new Error(qa.SELECT_FACTORY_NOT_CONNECTED());return gb.store.select(n)}(o))}}})}}function _m(n){return(e,t,i)=>{if(!i||null===i.value)throw new Error(qa.SELECTOR_DECORATOR());const s=i.value,o=Owe(n,s,{containerClass:e,selectorName:t.toString(),getSelectorOptions:()=>({})}),a={configurable:!0,get:()=>o};return a.originalFn=s,a}}Yo.\u0275fac=function(e){return new(e||Yo)},Yo.\u0275mod=tn({type:Yo}),Yo.\u0275inj=St({}),Yo.ROOT_OPTIONS=new Ht("ROOT_OPTIONS");const Xo=new Ht("NgValueAccessor");function Dl(n,...e){return e.length?e.some(t=>n[t]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}const qS=new cc(sx);class YEe{constructor(e,t){this.dueTime=e,this.scheduler=t}call(e,t){return t.subscribe(new XEe(e,this.dueTime,this.scheduler))}}class XEe extends v{constructor(e,t,i){super(e),this.dueTime=t,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(e){this.clearDebounce(),this.lastValue=e,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(KEe,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:e}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(e)}}clearDebounce(){const e=this.debouncedSubscription;null!==e&&(this.remove(e),e.unsubscribe(),this.debouncedSubscription=null)}}function KEe(n){n.debouncedNext()}class QEe{constructor(e){this.total=e}call(e,t){return t.subscribe(new ZEe(e,this.total))}}class ZEe extends v{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){++this.count>this.total&&this.destination.next(e)}}function bi(n){return null!=n&&"false"!=`${n}`}function Ya(n,e=0){return function(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):e}function YS(n){return Array.isArray(n)?n:[n]}function bs(n){return null==n?"":"string"==typeof n?n:`${n}px`}function dd(n){return n instanceof gn?n.nativeElement:n}let zN;try{zN="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(n){zN=!1}let Cb,Xf,HN,Qi=(()=>{class n{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Af(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!zN)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(t){return new(t||n)(ke(Xc))},n.\u0275prov=tt({factory:function(){return new n(ke(Xc))},token:n,providedIn:"root"}),n})(),Sb=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();function vm(n){return function(){if(null==Cb&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Cb=!0}))}finally{Cb=Cb||!1}return Cb}()?n:!!n.capture}function FH(){if(null==Xf){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Xf=!1,Xf;if("scrollBehavior"in document.documentElement.style)Xf=!0;else{const n=Element.prototype.scrollTo;Xf=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return Xf}function KS(){let n="undefined"!=typeof document&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const e=n.shadowRoot.activeElement;if(e===n)break;n=e}return n}function Kf(n){return n.composedPath?n.composedPath()[0]:n.target}let GN=(()=>{class n{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({factory:function(){return new n},token:n,providedIn:"root"}),n})(),LH=(()=>{class n{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,i)=>this._cleanupObserver(i))}observe(t){const i=dd(t);return new P(r=>{const o=this._observeElement(i).subscribe(r);return()=>{o.unsubscribe(),this._unobserveElement(i)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const i=new se,r=this._mutationObserverFactory.create(s=>i.next(s));r&&r.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:r,stream:i,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:i,stream:r}=this._observedElements.get(t);i&&i.disconnect(),r.complete(),this._observedElements.delete(t)}}}return n.\u0275fac=function(t){return new(t||n)(ke(GN))},n.\u0275prov=tt({factory:function(){return new n(ke(GN))},token:n,providedIn:"root"}),n})(),$N=(()=>{class n{constructor(t,i,r){this._contentObserver=t,this._elementRef=i,this._ngZone=r,this.event=new ln,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=bi(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=Ya(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(function(n,e=qS){return t=>t.lift(new YEe(n,e))}(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return n.\u0275fac=function(t){return new(t||n)(Oe(LH),Oe(gn),Oe(pn))},n.\u0275dir=Pt({type:n,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),n})(),QS=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[GN]}),n})(),$H=(()=>{class n{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const i=function(n){try{return n.frameElement}catch(e){return null}}(function(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(t));if(i&&(-1===qH(i)||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),s=qH(t);return t.hasAttribute("contenteditable")?-1!==s:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function(n){let e=n.nodeName.toLowerCase(),t="input"===e&&n.type;return"text"===t||"password"===t||"select"===e||"textarea"===e}(t))&&("audio"===r?!!t.hasAttribute("controls")&&-1!==s:"video"===r?-1!==s&&(null!==s||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,i){return function(n){return!function(n){return function(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function(n){let e=n.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(n)||function(n){return function(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||WH(n))}(t)&&!this.isDisabled(t)&&((null==i?void 0:i.ignoreVisibility)||this.isVisible(t))}}return n.\u0275fac=function(t){return new(t||n)(ke(Qi))},n.\u0275prov=tt({factory:function(){return new n(ke(Qi))},token:n,providedIn:"root"}),n})();function WH(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let e=n.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function qH(n){if(!WH(n))return null;const e=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class yxe{constructor(e,t,i,r,s=!1){this._element=e,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}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))}destroy(){const e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(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}]`);for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){const 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._ngZone.isStable?e():this._ngZone.onStable.pipe(qr(1)).subscribe(e)}}let YH=(()=>{class n{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new yxe(t,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(t){return new(t||n)(ke($H),ke(pn),ke(fn))},n.\u0275prov=tt({factory:function(){return new n(ke($H),ke(pn),ke(fn))},token:n,providedIn:"root"}),n})();function XH(n){return 0===n.offsetX&&0===n.offsetY}function KH(n){const e=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const QH=new Ht("cdk-input-modality-detector-options"),xxe={ignoreKeys:[18,17,224,91,16]},wm=vm({passive:!0,capture:!0});let JH=(()=>{class n{constructor(t,i,r,s){this._platform=t,this._mostRecentTarget=null,this._modality=new Fr(null),this._lastTouchMs=0,this._onKeydown=o=>{var a,l;(null===(l=null===(a=this._options)||void 0===a?void 0:a.ignoreKeys)||void 0===l?void 0:l.some(c=>c===o.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Kf(o))},this._onMousedown=o=>{Date.now()-this._lastTouchMs<650||(this._modality.next(XH(o)?"keyboard":"mouse"),this._mostRecentTarget=Kf(o))},this._onTouchstart=o=>{KH(o)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Kf(o))},this._options=Object.assign(Object.assign({},xxe),s),this.modalityDetected=this._modality.pipe(function(n){return e=>e.lift(new QEe(n))}(1)),this.modalityChanged=this.modalityDetected.pipe(ld()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,wm),r.addEventListener("mousedown",this._onMousedown,wm),r.addEventListener("touchstart",this._onTouchstart,wm)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,wm),document.removeEventListener("mousedown",this._onMousedown,wm),document.removeEventListener("touchstart",this._onTouchstart,wm))}}return n.\u0275fac=function(t){return new(t||n)(ke(Qi),ke(pn),ke(fn),ke(QH,8))},n.\u0275prov=tt({factory:function(){return new n(ke(Qi),ke(pn),ke(fn),ke(QH,8))},token:n,providedIn:"root"}),n})();const nG=new Ht("cdk-focus-monitor-default-options"),e1=vm({passive:!0,capture:!0});let vc=(()=>{class n{constructor(t,i,r,s,o){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,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=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new se,this._rootNodeFocusAndBlurListener=a=>{const l=Kf(a),c="focus"===a.type?this._onFocus:this._onBlur;for(let u=l;u;u=u.parentElement)c.call(this,a,u)},this._document=s,this._detectionMode=(null==o?void 0:o.detectionMode)||0}monitor(t,i=!1){const r=dd(t);if(!this._platform.isBrowser||1!==r.nodeType)return sn(null);const s=function(n){if(function(){if(null==HN){const n="undefined"!=typeof document?document.head:null;HN=!(!n||!n.createShadowRoot&&!n.attachShadow)}return HN}()){const e=n.getRootNode?n.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}(r)||this._getDocument(),o=this._elementInfo.get(r);if(o)return i&&(o.checkChildren=!0),o.subject;const a={checkChildren:i,subject:new se,rootNode:s};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){const i=dd(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){const s=dd(t);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([a,l])=>this._originChanged(a,i,l)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,i,r){r?t.classList.add(i):t.classList.remove(i)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,i){this._toggleClass(t,"cdk-focused",!!i),this._toggleClass(t,"cdk-touch-focused","touch"===i),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===i),this._toggleClass(t,"cdk-mouse-focused","mouse"===i),this._toggleClass(t,"cdk-program-focused","program"===i)}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,i){const r=this._elementInfo.get(i),s=Kf(t);!r||!r.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),r)}_onBlur(t,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r.subject,null))}_emitOrigin(t,i){this._ngZone.run(()=>t.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,e1),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,e1)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(gr(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(t){const i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,e1),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,e1),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r.subject,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){const i=[];return this._elementInfo.forEach((r,s)=>{(s===t||r.checkChildren&&s.contains(t))&&i.push([s,r])}),i}}return n.\u0275fac=function(t){return new(t||n)(ke(pn),ke(Qi),ke(JH),ke(fn,8),ke(nG,8))},n.\u0275prov=tt({factory:function(){return new n(ke(pn),ke(Qi),ke(JH),ke(fn,8),ke(nG,8))},token:n,providedIn:"root"}),n})();const iG="cdk-high-contrast-black-on-white",rG="cdk-high-contrast-white-on-black",qN="cdk-high-contrast-active";let sG=(()=>{class n{constructor(t,i){this._platform=t,this._document=i}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const i=this._document.defaultView||window,r=i&&i.getComputedStyle?i.getComputedStyle(t):null,s=(r&&r.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),s){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(qN),t.remove(iG),t.remove(rG),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?(t.add(qN),t.add(iG)):2===i&&(t.add(qN),t.add(rG))}}}return n.\u0275fac=function(t){return new(t||n)(ke(Qi),ke(fn))},n.\u0275prov=tt({factory:function(){return new n(ke(Qi),ke(fn))},token:n,providedIn:"root"}),n})();const oG=new Ht("cdk-dir-doc",{providedIn:"root",factory:function(){return Bc(fn)}});let Il=(()=>{class n{constructor(t){if(this.value="ltr",this.change=new ln,t){const r=t.documentElement?t.documentElement.dir:null,s=(t.body?t.body.dir:null)||r;this.value="ltr"===s||"rtl"===s?s:"ltr"}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(t){return new(t||n)(ke(oG,8))},n.\u0275prov=tt({factory:function(){return new n(ke(oG,8))},token:n,providedIn:"root"}),n})(),Ab=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const aG=new Hu("12.2.5");function t1(...n){return kt(1)(sn(...n))}function Oo(...n){const e=n[n.length-1];return Re(e)?(n.pop(),t=>t1(n,t,e)):t=>t1(n,t)}function Em(n,e){return{type:7,name:n,definitions:e,options:{}}}function fd(n,e=null){return{type:4,styles:e,timings:n}}function ds(n){return{type:6,styles:n,offset:null}}function wc(n,e,t){return{type:0,name:n,styles:e,options:t}}function pd(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function uG(n){Promise.resolve(null).then(n)}class xm{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],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._onStartFns.push(e)}onDone(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(){uG(()=>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}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}function hG(){return"undefined"!=typeof window&&void 0!==window.document}function XN(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}let JN=(n,e)=>!1,eP=(n,e)=>!1,gG=(n,e,t)=>[];const mG=XN();(mG||"undefined"!=typeof Element)&&(JN=hG()?(n,e)=>{for(;e&&e!==document.documentElement;){if(e===n)return!0;e=e.parentNode||e.host}return!1}:(n,e)=>n.contains(e),eP=(()=>{if(mG||Element.prototype.matches)return(n,e)=>n.matches(e);{const n=Element.prototype,e=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):eP}})(),gG=(n,e,t)=>{let i=[];if(t){const r=n.querySelectorAll(e);for(let s=0;s{class n{validateStyleProperty(t){return tP(t)}matchesElement(t,i){return nP(t,i)}containsElement(t,i){return iP(t,i)}query(t,i,r){return rP(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,s,o,a=[],l){return new xm(r,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class n1{}n1.NOOP=new bG;function xG(n,e,t){return t?e+":"+t+";":""}function SG(n){let e="";for(let t=0;t{const r=cP(i);t&&!t.hasOwnProperty(i)&&(t[i]=n.style[r]),n.style[r]=e[i]}),XN()&&SG(n))}function Jf(n,e){n.style&&(Object.keys(e).forEach(t=>{const i=cP(t);n.style[i]=""}),XN()&&SG(n))}const Lxe=/-+([a-z0-9])/g;function cP(n){return n.replace(Lxe,(...e)=>e[1].toUpperCase())}function Bxe(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Tm{constructor(e,t,i){this._element=e,this._startStyles=t,this._endStyles=i,this._state=0;let r=Tm.initialStylesByElement.get(e);r||Tm.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&pu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(pu(this._element,this._initialStyles),this._endStyles&&(pu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Tm.initialStylesByElement.delete(this._element),this._startStyles&&(Jf(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Jf(this._element,this._endStyles),this._endStyles=null),pu(this._element,this._initialStyles),this._state=3)}}Tm.initialStylesByElement=new WeakMap;const Qa=new Ht("AnimationModuleType"),l$=new Hu("12.2.5"),s1e=new Ht("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let tp,ji=(()=>{class n{constructor(t,i,r){this._hasDoneGlobalChecks=!1,this._document=r,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=i,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!fa()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const i=getComputedStyle(t);i&&"none"!==i.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&l$.full!==aG.full&&console.warn("The Angular Material version ("+l$.full+") does not match the Angular CDK version ("+aG.full+").\nPlease ensure the versions of these two packages exactly match.")}}return n.\u0275fac=function(t){return new(t||n)(ke(sG),ke(s1e,8),ke(fn))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Ab],Ab]}),n})();function Am(n){return class extends n{constructor(...e){super(...e),this._disabled=!1}get disabled(){return this._disabled}set disabled(e){this._disabled=bi(e)}}}function Mm(n,e){return class extends n{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const i=t||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function Ch(n){return class extends n{constructor(...e){super(...e),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=bi(e)}}}function E1(n,e=0){return class extends n{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?Ya(t):this.defaultTabIndex}}}try{tp="undefined"!=typeof Intl}catch(n){tp=!1}class y1e{constructor(e,t,i){this._renderer=e,this.element=t,this.config=i,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const p$={enterDuration:225,exitDuration:150},SP=vm({passive:!0}),g$=["mousedown","touchstart"],m$=["mouseup","mouseleave","touchend","touchcancel"];class v1e{constructor(e,t,i,r){this._target=e,this._ngZone=t,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=dd(i))}fadeInRipple(e,t,i={}){const r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign(Object.assign({},p$),i.animation);i.centered&&(e=r.left+r.width/2,t=r.top+r.height/2);const o=i.radius||function(n,e,t){const i=Math.max(Math.abs(n-t.left),Math.abs(n-t.right)),r=Math.max(Math.abs(e-t.top),Math.abs(e-t.bottom));return Math.sqrt(i*i+r*r)}(e,t,r),a=e-r.left,l=t-r.top,c=s.enterDuration,u=document.createElement("div");u.classList.add("mat-ripple-element"),u.style.left=a-o+"px",u.style.top=l-o+"px",u.style.height=2*o+"px",u.style.width=2*o+"px",null!=i.color&&(u.style.backgroundColor=i.color),u.style.transitionDuration=`${c}ms`,this._containerElement.appendChild(u),function(n){window.getComputedStyle(n).getPropertyValue("opacity")}(u),u.style.transform="scale(1)";const h=new y1e(this,u,i);return h.state=0,this._activeRipples.add(h),i.persistent||(this._mostRecentTransientRipple=h),this._runTimeoutOutsideZone(()=>{const f=h===this._mostRecentTransientRipple;h.state=1,!i.persistent&&(!f||!this._isPointerDown)&&h.fadeOut()},c),h}fadeOutRipple(e){const t=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!t)return;const i=e.element,r=Object.assign(Object.assign({},p$),e.config.animation);i.style.transitionDuration=`${r.exitDuration}ms`,i.style.opacity="0",e.state=2,this._runTimeoutOutsideZone(()=>{e.state=3,i.parentNode.removeChild(i)},r.exitDuration)}fadeOutAll(){this._activeRipples.forEach(e=>e.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(e=>{e.config.persistent||e.fadeOut()})}setupTriggerEvents(e){const t=dd(e);!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,this._registerEvents(g$))}handleEvent(e){"mousedown"===e.type?this._onMousedown(e):"touchstart"===e.type?this._onTouchStart(e):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(m$),this._pointerUpEventsRegistered=!0)}_onMousedown(e){const t=XH(e),i=this._lastTouchStartEvent&&Date.now(){!e.config.persistent&&(1===e.state||e.config.terminateOnPointerUp&&0===e.state)&&e.fadeOut()}))}_runTimeoutOutsideZone(e,t=0){this._ngZone.runOutsideAngular(()=>setTimeout(e,t))}_registerEvents(e){this._ngZone.runOutsideAngular(()=>{e.forEach(t=>{this._triggerElement.addEventListener(t,this,SP)})})}_removeTriggerEvents(){this._triggerElement&&(g$.forEach(e=>{this._triggerElement.removeEventListener(e,this,SP)}),this._pointerUpEventsRegistered&&m$.forEach(e=>{this._triggerElement.removeEventListener(e,this,SP)}))}}const x1e=new Ht("mat-ripple-global-options");let gu=(()=>{class n{constructor(t,i,r,s,o){this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new v1e(this,i,t,r)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}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:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{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(t,i=0,r){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,i,Object.assign(Object.assign({},this.rippleConfig),r)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(pn),Oe(Qi),Oe(x1e,8),Oe(Qa,8))},n.\u0275dir=Pt({type:n,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,i){2&t&&ai("mat-ripple-unbounded",i.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),n})(),Dm=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[ji,Sb],ji]}),n})();function gd(n,e,t,i){return Q(t)&&(i=t,t=void 0),i?gd(n,e,t).pipe(be(r=>F(r)?i(...r):i(r))):new P(r=>{E$(n,e,function(o){r.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},r,t)})}function E$(n,e,t,i,r){let s;if(function(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const o=n;n.addEventListener(e,t,r),s=()=>o.removeEventListener(e,t,r)}else if(function(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const o=n;n.on(e,t),s=()=>o.off(e,t)}else if(function(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const o=n;n.addListener(e,t),s=()=>o.removeListener(e,t)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let o=0,a=n.length;o0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=requestAnimationFrame(()=>e.flush(null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(cancelAnimationFrame(t),e.scheduled=void 0)}});let F1e=1;const L1e=Promise.resolve(),C1={};function x$(n){return n in C1&&(delete C1[n],!0)}const S$={setImmediate(n){const e=F1e++;return C1[e]=!0,L1e.then(()=>x$(e)&&n()),e},clearImmediate(n){x$(n)}};new class extends cc{flush(e){this.active=!0,this.scheduled=void 0;const{actions:t}=this;let i,r=-1,s=t.length;e=e||t.shift();do{if(i=e.execute(e.state,e.delay))break}while(++r0?super.requestAsyncId(e,t,i):(e.actions.push(this),e.scheduled||(e.scheduled=S$.setImmediate(e.flush.bind(e,null))))}recycleAsyncId(e,t,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(e,t,i);0===e.actions.length&&(S$.clearImmediate(t),e.scheduled=void 0)}});function Im(n){return!!n&&(n instanceof P||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class z1e{constructor(e){this.durationSelector=e}call(e,t){return t.subscribe(new H1e(e,this.durationSelector))}}class H1e extends Ae{constructor(e,t){super(e),this.durationSelector=t,this.hasValue=!1}_next(e){if(this.value=e,this.hasValue=!0,!this.throttled){let t;try{const{durationSelector:r}=this;t=r(e)}catch(r){return this.destination.error(r)}const i=L(t,new _t(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:e,hasValue:t,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),t&&(this.value=void 0,this.hasValue=!1,this.destination.next(e))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function C$(n){return!F(n)&&n-parseFloat(n)+1>=0}function $1e(n){const{index:e,period:t,subscriber:i}=n;if(i.next(e),!i.closed){if(-1===t)return i.complete();n.index=e+1,this.schedule(n,t)}}function T1(n,e=qS){return function(n){return function(t){return t.lift(new z1e(n))}}(()=>function(n=0,e,t){let i=-1;return C$(e)?i=Number(e)<1?1:Number(e):Re(e)&&(t=e),Re(t)||(t=qS),new P(r=>{const s=C$(n)?n:+n-t.now();return t.schedule($1e,s,{index:0,period:i,subscriber:r})})}(n,e))}let A$=(()=>{class n{constructor(){this._listeners=[]}notify(t,i){for(let r of this._listeners)r(t,i)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(i=>t!==i)}}ngOnDestroy(){this._listeners=[]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({factory:function(){return new n},token:n,providedIn:"root"}),n})(),Om=(()=>{class n{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new se,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new P(i=>{this._globalSubscription||this._addGlobalListener();const r=t>0?this._scrolled.pipe(T1(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):sn()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){const r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(Ki(s=>!s||r.indexOf(s)>-1))}getAncestorScrollContainers(t){const i=[];return this.scrollContainers.forEach((r,s)=>{this._scrollableContainsElement(s,t)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=dd(i),s=t.getElementRef().nativeElement;do{if(r==s)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>gd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(t){return new(t||n)(ke(pn),ke(Qi),ke(fn,8))},n.\u0275prov=tt({factory:function(){return new n(ke(pn),ke(Qi),ke(fn,8))},token:n,providedIn:"root"}),n})(),Rm=(()=>{class n{constructor(t,i,r){this._platform=t,this._change=new se,this._changeListener=s=>{this._change.next(s)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,i=this._getWindow(),r=t.documentElement,s=r.getBoundingClientRect();return{top:-s.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,left:-s.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(T1(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(t){return new(t||n)(ke(Qi),ke(pn),ke(fn,8))},n.\u0275prov=tt({factory:function(){return new n(ke(Qi),ke(pn),ke(fn,8))},token:n,providedIn:"root"}),n})();class MP{attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;null!=e&&(this._attachedHost=null,e.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(e){this._attachedHost=e}}class M1 extends MP{constructor(e,t,i,r){super(),this.component=e,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r}}class Nm extends MP{constructor(e,t,i){super(),this.templateRef=e,this.viewContainerRef=t,this.context=i}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()}}class lCe extends MP{constructor(e){super(),this.element=e instanceof gn?e.nativeElement:e}}class D1{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(e){return e instanceof M1?(this._attachedPortal=e,this.attachComponentPortal(e)):e instanceof Nm?(this._attachedPortal=e,this.attachTemplatePortal(e)):this.attachDomPortal&&e instanceof lCe?(this._attachedPortal=e,this.attachDomPortal(e)):void 0}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)}}class cCe extends D1{constructor(e,t,i,r,s){super(),this.outletElement=e,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=o=>{const a=o.element,l=this._document.createComment("dom-portal");a.parentNode.insertBefore(l,a),this.outletElement.appendChild(a),this._attachedPortal=o,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=s}attachComponentPortal(e){const i=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component);let r;return e.viewContainerRef?(r=e.viewContainerRef.createComponent(i,e.viewContainerRef.length,e.injector||e.viewContainerRef.injector),this.setDisposeFn(()=>r.destroy())):(r=i.create(e.injector||this._defaultInjector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=e,r}attachTemplatePortal(e){let t=e.viewContainerRef,i=t.createEmbeddedView(e.templateRef,e.context);return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);-1!==r&&t.remove(r)}),this._attachedPortal=e,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(e){return e.hostView.rootNodes[0]}}let np=(()=>{class n extends D1{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new ln,this.attachDomPortal=s=>{const o=s.element,a=this._document.createComment("dom-portal");s.setAttachedHost(this),o.parentNode.insertBefore(a,o),this._getRootNode().appendChild(o),this._attachedPortal=s,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(o,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const i=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,s=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),o=i.createComponent(s,i.length,t.injector||i.injector);return i!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return n.\u0275fac=function(t){return new(t||n)(Oe(El),Oe(Rs),Oe(fn))},n.\u0275dir=Pt({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[En]}),n})();const P$=FH();class fCe{constructor(e,t){this._viewportRuler=e,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){const e=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=e.style.left||"",this._previousHTMLStyles.top=e.style.top||"",e.style.left=bs(-this._previousScrollPosition.left),e.style.top=bs(-this._previousScrollPosition.top),e.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const e=this._document.documentElement,i=e.style,r=this._document.body.style,s=i.scrollBehavior||"",o=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,e.classList.remove("cdk-global-scrollblock"),P$&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),P$&&(i.scrollBehavior=s,r.scrollBehavior=o)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}}class pCe{constructor(e,t,i,r){this._scrollDispatcher=e,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(e){this._overlayRef=e}enable(){if(this._scrollSubscription)return;const e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(()=>{const 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}}class k${enable(){}disable(){}attach(){}}function DP(n,e){return e.some(t=>n.bottomt.bottom||n.rightt.right)}function F$(n,e){return e.some(t=>n.topt.bottom||n.leftt.right)}class gCe{constructor(e,t,i,r){this._scrollDispatcher=e,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(e){this._overlayRef=e}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();DP(t,[{width:i,height:r,bottom:r,right:i,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}}let mCe=(()=>{class n{constructor(t,i,r,s){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new k$,this.close=o=>new pCe(this._scrollDispatcher,this._ngZone,this._viewportRuler,o),this.block=()=>new fCe(this._viewportRuler,this._document),this.reposition=o=>new gCe(this._scrollDispatcher,this._viewportRuler,this._ngZone,o),this._document=s}}return n.\u0275fac=function(t){return new(t||n)(ke(Om),ke(Rm),ke(pn),ke(fn))},n.\u0275prov=tt({factory:function(){return new n(ke(Om),ke(Rm),ke(pn),ke(fn))},token:n,providedIn:"root"}),n})();class O1{constructor(e){if(this.scrollStrategy=new k$,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,e){const t=Object.keys(e);for(const i of t)void 0!==e[i]&&(this[i]=e[i])}}}class _Ce{constructor(e,t,i,r,s){this.offsetX=i,this.offsetY=r,this.panelClass=s,this.originX=e.originX,this.originY=e.originY,this.overlayX=t.overlayX,this.overlayY=t.overlayY}}class yCe{constructor(e,t){this.connectionPair=e,this.scrollableViewProperties=t}}let L$=(()=>{class n{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(t){return new(t||n)(ke(fn))},n.\u0275prov=tt({factory:function(){return new n(ke(fn))},token:n,providedIn:"root"}),n})(),bCe=(()=>{class n extends L${constructor(t){super(t),this._keydownListener=i=>{const r=this._attachedOverlays;for(let s=r.length-1;s>-1;s--)if(r[s]._keydownEvents.observers.length>0){r[s]._keydownEvents.next(i);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(t){return new(t||n)(ke(fn))},n.\u0275prov=tt({factory:function(){return new n(ke(fn))},token:n,providedIn:"root"}),n})(),vCe=(()=>{class n extends L${constructor(t,i){super(t),this._platform=i,this._cursorStyleIsSet=!1,this._clickListener=r=>{const s=Kf(r),o=this._attachedOverlays.slice();for(let a=o.length-1;a>-1;a--){const l=o[a];if(!(l._outsidePointerEvents.observers.length<1)&&l.hasAttached()){if(l.overlayElement.contains(s))break;l._outsidePointerEvents.next(r)}}}}add(t){if(super.add(t),!this._isAttached){const i=this._document.body;i.addEventListener("click",this._clickListener,!0),i.addEventListener("auxclick",this._clickListener,!0),i.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return n.\u0275fac=function(t){return new(t||n)(ke(fn),ke(Qi))},n.\u0275prov=tt({factory:function(){return new n(ke(fn),ke(Qi))},token:n,providedIn:"root"}),n})();const Th="undefined"!=typeof window?window:{},B$=void 0!==Th.__karma__&&!!Th.__karma__||void 0!==Th.jasmine&&!!Th.jasmine||void 0!==Th.jest&&!!Th.jest||void 0!==Th.Mocha&&!!Th.Mocha;let Ob=(()=>{class n{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||B$){const r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let s=0;sthis._backdropClick.next(u),this._keydownEvents=new se,this._outsidePointerEvents=new se,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(e){let t=this._portalOutlet.attach(e);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(qr(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),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),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const e=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),e}dispose(){const e=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),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&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,e&&this._detachments.next(),this._detachments.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=Object.assign(Object.assign({},this._config),e),this._updateElementSize()}setDirection(e){this._config=Object.assign(Object.assign({},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(){const e=this._config.direction;return e?"string"==typeof e?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;const e=this._pane.style;e.width=bs(this._config.width),e.height=bs(this._config.height),e.minWidth=bs(this._config.minWidth),e.minHeight=bs(this._config.minHeight),e.maxWidth=bs(this._config.maxWidth),e.maxHeight=bs(this._config.maxHeight)}_togglePointerEvents(e){this._pane.style.pointerEvents=e?"":"none"}_attachBackdrop(){const e="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),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),"undefined"!=typeof requestAnimationFrame?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)return;let t,i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(e,t,i){const r=e.classList;YS(t).forEach(s=>{s&&(i?r.add(s):r.remove(s))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const e=this._ngZone.onStable.pipe(gr(Pn(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),e.unsubscribe())})})}_disposeScrollStrategy(){const e=this._scrollStrategy;e&&(e.disable(),e.detach&&e.detach())}}const V$="cdk-overlay-connected-position-bounding-box",ECe=/([A-Za-z%]+)$/;class j${constructor(e,t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s,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 se,this._resizeSubscription=C.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(e)}get positions(){return this._preferredPositions}attach(e){this._validatePositions(),e.hostElement.classList.add(V$),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)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const e=this._originRect,t=this._overlayRect,i=this._viewportRect,r=[];let s;for(let o of this._preferredPositions){let a=this._getOriginPoint(e,o),l=this._getOverlayPoint(a,t,o),c=this._getOverlayFit(l,t,i,o);if(c.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(o,a);this._canFitWithFlexibleDimensions(c,l,i)?r.push({position:o,origin:a,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(a,o)}):(!s||s.overlayFit.visibleAreaa&&(a=c,o=l)}return this._isPushed=!1,void this._applyPosition(o.position,o.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&ip(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(V$),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const e=this._lastPosition||this._preferredPositions[0],t=this._getOriginPoint(this._originRect,e);this._applyPosition(e,t)}}withScrollableContainers(e){return this._scrollables=e,this}withPositions(e){return this._preferredPositions=e,-1===e.indexOf(this._lastPosition)&&(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){let i,r;if("center"==t.originX)i=e.left+e.width/2;else{const s=this._isRtl()?e.right:e.left,o=this._isRtl()?e.left:e.right;i="start"==t.originX?s:o}return r="center"==t.originY?e.top+e.height/2:"top"==t.originY?e.top:e.bottom,{x:i,y:r}}_getOverlayPoint(e,t,i){let r,s;return r="center"==i.overlayX?-t.width/2:"start"===i.overlayX?this._isRtl()?-t.width:0:this._isRtl()?0:-t.width,s="center"==i.overlayY?-t.height/2:"top"==i.overlayY?0:-t.height,{x:e.x+r,y:e.y+s}}_getOverlayFit(e,t,i,r){const s=z$(t);let{x:o,y:a}=e,l=this._getOffset(r,"x"),c=this._getOffset(r,"y");l&&(o+=l),c&&(a+=c);let f=0-a,g=a+s.height-i.height,m=this._subtractOverflows(s.width,0-o,o+s.width-i.width),A=this._subtractOverflows(s.height,f,g),I=m*A;return{visibleArea:I,isCompletelyWithinViewport:s.width*s.height===I,fitsInViewportVertically:A===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(e,t,i){if(this._hasFlexibleDimensions){const r=i.bottom-t.y,s=i.right-t.x,o=U$(this._overlayRef.getConfig().minHeight),a=U$(this._overlayRef.getConfig().minWidth),c=e.fitsInViewportHorizontally||null!=a&&a<=s;return(e.fitsInViewportVertically||null!=o&&o<=r)&&c}return!1}_pushOverlayOnScreen(e,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:e.x+this._previousPushAmount.x,y:e.y+this._previousPushAmount.y};const r=z$(t),s=this._viewportRect,o=Math.max(e.x+r.width-s.width,0),a=Math.max(e.y+r.height-s.height,0),l=Math.max(s.top-i.top-e.y,0),c=Math.max(s.left-i.left-e.x,0);let u=0,h=0;return u=r.width<=s.width?c||-o:e.xm&&!this._isInitialRender&&!this._growAfterOpen&&(o=e.y-m/2)}if("end"===t.overlayX&&!r||"start"===t.overlayX&&r)f=i.width-e.x+this._viewportMargin,u=e.x-this._viewportMargin;else if("start"===t.overlayX&&!r||"end"===t.overlayX&&r)h=e.x,u=i.right-e.x;else{const g=Math.min(i.right-e.x+i.left,e.x),m=this._lastBoundingBoxSize.width;u=2*g,h=e.x-g,u>m&&!this._isInitialRender&&!this._growAfterOpen&&(h=e.x-m/2)}return{top:o,left:h,bottom:a,right:f,width:u,height:s}}_setBoundingBoxStyles(e,t){const i=this._calculateBoundingBoxRect(e,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=bs(i.height),r.top=bs(i.top),r.bottom=bs(i.bottom),r.width=bs(i.width),r.left=bs(i.left),r.right=bs(i.right),r.alignItems="center"===t.overlayX?"center":"end"===t.overlayX?"flex-end":"flex-start",r.justifyContent="center"===t.overlayY?"center":"bottom"===t.overlayY?"flex-end":"flex-start",s&&(r.maxHeight=bs(s)),o&&(r.maxWidth=bs(o))}this._lastBoundingBoxSize=i,ip(this._boundingBox.style,r)}_resetBoundingBoxStyles(){ip(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){ip(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(e,t){const i={},r=this._hasExactPosition(),s=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){const u=this._viewportRuler.getViewportScrollPosition();ip(i,this._getExactOverlayY(t,e,u)),ip(i,this._getExactOverlayX(t,e,u))}else i.position="static";let a="",l=this._getOffset(t,"x"),c=this._getOffset(t,"y");l&&(a+=`translateX(${l}px) `),c&&(a+=`translateY(${c}px)`),i.transform=a.trim(),o.maxHeight&&(r?i.maxHeight=bs(o.maxHeight):s&&(i.maxHeight="")),o.maxWidth&&(r?i.maxWidth=bs(o.maxWidth):s&&(i.maxWidth="")),ip(this._pane.style,i)}_getExactOverlayY(e,t,i){let r={top:"",bottom:""},s=this._getOverlayPoint(t,this._overlayRect,e);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i));let o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return s.y-=o,"bottom"===e.overlayY?r.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":r.top=bs(s.y),r}_getExactOverlayX(e,t,i){let o,r={left:"",right:""},s=this._getOverlayPoint(t,this._overlayRect,e);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),o=this._isRtl()?"end"===e.overlayX?"left":"right":"end"===e.overlayX?"right":"left","right"===o?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=bs(s.x),r}_getScrollVisibility(){const e=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:F$(e,i),isOriginOutsideView:DP(e,i),isOverlayClipped:F$(t,i),isOverlayOutsideView:DP(t,i)}}_subtractOverflows(e,...t){return t.reduce((i,r)=>i-Math.max(r,0),e)}_getNarrowedViewportRect(){const e=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+e-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:e-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(e,t){return"x"===t?null==e.offsetX?this._offsetX:e.offsetX:null==e.offsetY?this._offsetY:e.offsetY}_validatePositions(){}_addPanelClasses(e){this._pane&&YS(e).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(e=>{this._pane.classList.remove(e)}),this._appliedPanelClasses=[])}_getOriginRect(){const e=this._origin;if(e instanceof gn)return e.nativeElement.getBoundingClientRect();if(e instanceof Element)return e.getBoundingClientRect();const t=e.width||0,i=e.height||0;return{top:e.y,bottom:e.y+i,left:e.x,right:e.x+t,height:i,width:t}}}function ip(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function U$(n){if("number"!=typeof n&&null!=n){const[e,t]=n.split(ECe);return t&&"px"!==t?null:parseFloat(e)}return n||null}function z$(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}class xCe{constructor(e,t,i,r,s,o,a){this._preferredPositions=[],this._positionStrategy=new j$(i,r,s,o,a).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(e,t),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(e){this._overlayRef=e,this._positionStrategy.attach(e),this._direction&&(e.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(e){this._positionStrategy.withScrollableContainers(e)}withFallbackPosition(e,t,i,r){const s=new _Ce(e,t,i,r);return this._preferredPositions.push(s),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(e){return this._overlayRef?this._overlayRef.setDirection(e):this._direction=e,this}withOffsetX(e){return this._positionStrategy.withDefaultOffsetX(e),this}withOffsetY(e){return this._positionStrategy.withDefaultOffsetY(e),this}withLockedPosition(e){return this._positionStrategy.withLockedPosition(e),this}withPositions(e){return this._preferredPositions=e.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(e){return this._positionStrategy.setOrigin(e),this}}const H$="cdk-global-overlay-wrapper";class SCe{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(e){const 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(H$),this._isDisposed=!1}top(e=""){return this._bottomOffset="",this._topOffset=e,this._alignItems="flex-start",this}left(e=""){return this._rightOffset="",this._leftOffset=e,this._justifyContent="flex-start",this}bottom(e=""){return this._topOffset="",this._bottomOffset=e,this._alignItems="flex-end",this}right(e=""){return this._leftOffset="",this._rightOffset=e,this._justifyContent="flex-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._justifyContent="center",this}centerVertically(e=""){return this.top(e),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:s,maxWidth:o,maxHeight:a}=i,l=!("100%"!==r&&"100vw"!==r||o&&"100%"!==o&&"100vw"!==o),c=!("100%"!==s&&"100vh"!==s||a&&"100%"!==a&&"100vh"!==a);e.position=this._cssPosition,e.marginLeft=l?"0":this._leftOffset,e.marginTop=c?"0":this._topOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,l?t.justifyContent="flex-start":"center"===this._justifyContent?t.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?t.justifyContent="flex-end":"flex-end"===this._justifyContent&&(t.justifyContent="flex-start"):t.justifyContent=this._justifyContent,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const e=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(H$),i.justifyContent=i.alignItems=e.marginTop=e.marginBottom=e.marginLeft=e.marginRight=e.position="",this._overlayRef=null,this._isDisposed=!0}}let CCe=(()=>{class n{constructor(t,i,r,s){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=s}global(){return new SCe}connectedTo(t,i,r){return new xCe(i,r,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new j$(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(t){return new(t||n)(ke(Rm),ke(fn),ke(Qi),ke(Ob))},n.\u0275prov=tt({factory:function(){return new n(ke(Rm),ke(fn),ke(Qi),ke(Ob))},token:n,providedIn:"root"}),n})(),TCe=0,Ec=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u,h,f){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=s,this._keyboardDispatcher=o,this._injector=a,this._ngZone=l,this._document=c,this._directionality=u,this._location=h,this._outsideClickDispatcher=f}create(t){const i=this._createHostElement(),r=this._createPaneElement(i),s=this._createPortalOutlet(r),o=new O1(t);return o.direction=o.direction||this._directionality.value,new wCe(s,i,r,o,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const i=this._document.createElement("div");return i.id="cdk-overlay-"+TCe++,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(sh)),new cCe(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(t){return new(t||n)(ke(mCe),ke(Ob),ke(El),ke(CCe),ke(bCe),ke(Hn),ke(pn),ke(fn),ke(Il),ke(kg),ke(vCe))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class rTe{constructor(e,t){this.delay=e,this.scheduler=t}call(e,t){return t.subscribe(new NP(e,this.delay,this.scheduler))}}class NP extends v{constructor(e,t,i){super(e),this.delay=t,this.scheduler=i,this.queue=[],this.active=!1,this.errored=!1}static dispatch(e){const t=e.source,i=t.queue,r=e.scheduler,s=e.destination;for(;i.length>0&&i[0].time-r.now()<=0;)i.shift().notification.observe(s);if(i.length>0){const o=Math.max(0,i[0].time-r.now());this.schedule(e,o)}else this.unsubscribe(),t.active=!1}_schedule(e){this.active=!0,this.destination.add(e.schedule(NP.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))}scheduleNotification(e){if(!0===this.errored)return;const t=this.scheduler,i=new sTe(t.now()+this.delay,e);this.queue.push(i),!1===this.active&&this._schedule(t)}_next(e){this.scheduleNotification(ga.createNext(e))}_error(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()}_complete(){this.scheduleNotification(ga.createComplete()),this.unsubscribe()}}class sTe{constructor(e,t){this.time=e,this.notification=t}}function o7(...n){const e=n.length;if(0===e)throw new Error("list of properties cannot be empty.");return t=>be(function(n,e){return i=>{let r=i;for(let s=0;se.lift(new WTe(n))}et(7266);class WTe{constructor(e){this.callback=e}call(e,t){return t.subscribe(new qTe(e,this.callback))}}class qTe extends v{constructor(e,t){super(e),this.add(new C(t))}}class f7{}class p7{}class mu{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const 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 mu?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){const t=new mu;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof mu?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class YTe{encodeKey(e){return g7(e)}encodeValue(e){return g7(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const KTe=/%(\d[a-f0-9])/gi,QTe={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function g7(n){return encodeURIComponent(n).replace(KTe,(e,t)=>{var i;return null!==(i=QTe[t])&&void 0!==i?i:e})}function m7(n){return`${n}`}class Lr{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new YTe,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const 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){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,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=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new Lr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(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":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(m7(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(m7(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class Zs{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}keys(){return this.map.keys()}}function _7(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function y7(n){return"undefined"!=typeof Blob&&n instanceof Blob}function b7(n){return"undefined"!=typeof FormData&&n instanceof FormData}class Rb{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new mu),this.context||(this.context=new Zs),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":af.set(g,e.setHeaders[g]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((f,g)=>f.set(g,e.setParams[g]),u)),new Rb(i,r,o,{params:u,headers:c,context:h,reportProgress:l,responseType:s,withCredentials:a})}}var vs=(()=>((vs=vs||{})[vs.Sent=0]="Sent",vs[vs.UploadProgress=1]="UploadProgress",vs[vs.ResponseHeader=2]="ResponseHeader",vs[vs.DownloadProgress=3]="DownloadProgress",vs[vs.Response=4]="Response",vs[vs.User=5]="User",vs))();class kP{constructor(e,t=200,i="OK"){this.headers=e.headers||new mu,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class FP extends kP{constructor(e={}){super(e),this.type=vs.ResponseHeader}clone(e={}){return new FP({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class N1 extends kP{constructor(e={}){super(e),this.type=vs.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new N1({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class v7 extends kP{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function LP(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let _u=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof Rb)s=t;else{let l,c;l=r.headers instanceof mu?r.headers:new mu(r.headers),r.params&&(c=r.params instanceof Lr?r.params:new Lr({fromObject:r.params})),s=new Rb(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=sn(s).pipe(function(n,e){return H(n,e,1)}(l=>this.handler.handle(l)));if(t instanceof Rb||"events"===r.observe)return o;const a=o.pipe(Ki(l=>l instanceof N1));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(be(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(be(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(be(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));case"json":default:return a.pipe(be(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new Lr).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,LP(r,i))}post(t,i,r={}){return this.request("POST",t,LP(r,i))}put(t,i,r={}){return this.request("PUT",t,LP(r,i))}}return n.\u0275fac=function(t){return new(t||n)(ke(f7))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class w7{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const E7=new Ht("HTTP_INTERCEPTORS");let eAe=(()=>{class n{intercept(t,i){return i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const tAe=/^\)\]\}',?\n/;let x7=(()=>{class n{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new P(i=>{const r=this.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((g,m)=>r.setRequestHeader(g,m.join(","))),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const g=t.detectContentTypeHeader();null!==g&&r.setRequestHeader("Content-Type",g)}if(t.responseType){const g=t.responseType.toLowerCase();r.responseType="json"!==g?g:"text"}const s=t.serializeBody();let o=null;const a=()=>{if(null!==o)return o;const g=1223===r.status?204:r.status,m=r.statusText||"OK",A=new mu(r.getAllResponseHeaders()),I=function(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||t.url;return o=new FP({headers:A,status:g,statusText:m,url:I}),o},l=()=>{let{headers:g,status:m,statusText:A,url:I}=a(),G=null;204!==m&&(G=void 0===r.response?r.responseText:r.response),0===m&&(m=G?200:0);let k=m>=200&&m<300;if("json"===t.responseType&&"string"==typeof G){const oe=G;G=G.replace(tAe,"");try{G=""!==G?JSON.parse(G):null}catch(we){G=oe,k&&(k=!1,G={error:we,text:G})}}k?(i.next(new N1({body:G,headers:g,status:m,statusText:A,url:I||void 0})),i.complete()):i.error(new v7({error:G,headers:g,status:m,statusText:A,url:I||void 0}))},c=g=>{const{url:m}=a(),A=new v7({error:g,status:r.status||0,statusText:r.statusText||"Unknown Error",url:m||void 0});i.error(A)};let u=!1;const h=g=>{u||(i.next(a()),u=!0);let m={type:vs.DownloadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),"text"===t.responseType&&!!r.responseText&&(m.partialText=r.responseText),i.next(m)},f=g=>{let m={type:vs.UploadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),i.next(m)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),t.reportProgress&&(r.addEventListener("progress",h),null!==s&&r.upload&&r.upload.addEventListener("progress",f)),r.send(s),i.next({type:vs.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),t.reportProgress&&(r.removeEventListener("progress",h),null!==s&&r.upload&&r.upload.removeEventListener("progress",f)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(t){return new(t||n)(ke(oV))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const BP=new Ht("XSRF_COOKIE_NAME"),VP=new Ht("XSRF_HEADER_NAME");class S7{}let iAe=(()=>{class n{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=YB(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return n.\u0275fac=function(t){return new(t||n)(ke(fn),ke(Xc),ke(BP))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),jP=(()=>{class n{constructor(t,i){this.tokenService=t,this.headerName=i}intercept(t,i){const r=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||r.startsWith("http://")||r.startsWith("https://"))return i.handle(t);const s=this.tokenService.getToken();return null!==s&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,s)})),i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(ke(S7),ke(VP))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),rAe=(()=>{class n{constructor(t,i){this.backend=t,this.injector=i,this.chain=null}handle(t){if(null===this.chain){const i=this.injector.get(E7,[]);this.chain=i.reduceRight((r,s)=>new w7(r,s),this.backend)}return this.chain.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(ke(p7),ke(Hn))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),sAe=(()=>{class n{static disable(){return{ngModule:n,providers:[{provide:jP,useClass:eAe}]}}static withOptions(t={}){return{ngModule:n,providers:[t.cookieName?{provide:BP,useValue:t.cookieName}:[],t.headerName?{provide:VP,useValue:t.headerName}:[]]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[jP,{provide:E7,useExisting:jP,multi:!0},{provide:S7,useClass:iAe},{provide:BP,useValue:"XSRF-TOKEN"},{provide:VP,useValue:"X-XSRF-TOKEN"}]}),n})(),C7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[_u,{provide:f7,useClass:rAe},x7,{provide:p7,useExisting:x7}],imports:[[sAe.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),n})();const oAe=["*"];function T7(n){return Error(`Unable to find icon with the name "${n}"`)}function A7(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function M7(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class rp{constructor(e,t,i){this.url=e,this.svgText=t,this.options=i}}let P1=(()=>{class n{constructor(t,i,r,s){this._httpClient=t,this._sanitizer=i,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",this._document=r}addSvgIcon(t,i,r){return this.addSvgIconInNamespace("",t,i,r)}addSvgIconLiteral(t,i,r){return this.addSvgIconLiteralInNamespace("",t,i,r)}addSvgIconInNamespace(t,i,r,s){return this._addSvgIconConfig(t,i,new rp(r,null,s))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,i,r,s){const o=this._sanitizer.sanitize(si.HTML,r);if(!o)throw M7(r);return this._addSvgIconConfig(t,i,new rp("",o,s))}addSvgIconSet(t,i){return this.addSvgIconSetInNamespace("",t,i)}addSvgIconSetLiteral(t,i){return this.addSvgIconSetLiteralInNamespace("",t,i)}addSvgIconSetInNamespace(t,i,r){return this._addSvgIconSetConfig(t,new rp(i,null,r))}addSvgIconSetLiteralInNamespace(t,i,r){const s=this._sanitizer.sanitize(si.HTML,i);if(!s)throw M7(i);return this._addSvgIconSetConfig(t,new rp("",s,r))}registerFontClassAlias(t,i=t){return this._fontCssClassesByAlias.set(t,i),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const i=this._sanitizer.sanitize(si.RESOURCE_URL,t);if(!i)throw A7(t);const r=this._cachedIconsByUrl.get(i);return r?sn(k1(r)):this._loadSvgIconFromConfig(new rp(t,null)).pipe(cr(s=>this._cachedIconsByUrl.set(i,s)),be(s=>k1(s)))}getNamedSvgIcon(t,i=""){const r=D7(i,t);let s=this._svgIconConfigs.get(r);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,t),s)return this._svgIconConfigs.set(r,s),this._getSvgFromConfig(s);const o=this._iconSetConfigs.get(i);return o?this._getSvgFromIconSetConfigs(t,o):Fg(T7(r))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?sn(k1(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(be(i=>k1(i)))}_getSvgFromIconSetConfigs(t,i){const r=this._extractIconWithNameFromAnySet(t,i);return r?sn(r):fb(i.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(bc(a=>{const c=`Loading icon set URL: ${this._sanitizer.sanitize(si.RESOURCE_URL,o.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(c)),sn(null)})))).pipe(be(()=>{const o=this._extractIconWithNameFromAnySet(t,i);if(!o)throw T7(t);return o}))}_extractIconWithNameFromAnySet(t,i){for(let r=i.length-1;r>=0;r--){const s=i[r];if(s.svgText&&s.svgText.indexOf(t)>-1){const o=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(o,t,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(cr(i=>t.svgText=i),be(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?sn(null):this._fetchIcon(t).pipe(cr(i=>t.svgText=i))}_extractSvgIconFromSet(t,i,r){const s=t.querySelector(`[id="${i}"]`);if(!s)return null;const o=s.cloneNode(!0);if(o.removeAttribute("id"),"svg"===o.nodeName.toLowerCase())return this._setSvgAttributes(o,r);if("symbol"===o.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(o),r);const a=this._svgElementFromString("");return a.appendChild(o),this._setSvgAttributes(a,r)}_svgElementFromString(t){const i=this._document.createElement("DIV");i.innerHTML=t;const r=i.querySelector("svg");if(!r)throw Error(" tag not found");return r}_toSvgElement(t){const i=this._svgElementFromString(""),r=t.attributes;for(let s=0;sthis._inProgressUrlFetches.delete(a)),ws());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(t,i,r){return this._svgIconConfigs.set(D7(t,i),r),this}_addSvgIconSetConfig(t,i){const r=this._iconSetConfigs.get(t);return r?r.push(i):this._iconSetConfigs.set(t,[i]),this}_svgElementFromConfig(t){if(!t.svgElement){const i=this._svgElementFromString(t.svgText);this._setSvgAttributes(i,t.options),t.svgElement=i}return t.svgElement}_getIconConfigFromResolvers(t,i){for(let r=0;re?e.pathname+e.search:""}}}),I7=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],pAe=I7.map(n=>`[${n}]`).join(", "),gAe=/^url\(['"]?#(.*?)['"]?\)$/;let Fm=(()=>{class n extends uAe{constructor(t,i,r,s,o){super(t),this._iconRegistry=i,this._location=s,this._errorHandler=o,this._inline=!1,this._currentIconFetch=C.EMPTY,r||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=bi(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const i=this._cleanupFontValue(t);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const i=this._cleanupFontValue(t);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const i=t.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const i=t.querySelectorAll("style");for(let s=0;s{r.forEach(o=>{s.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){const i=t.querySelectorAll(pAe),r=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const a=i[s],l=a.getAttribute(o),c=l?l.match(gAe):null;if(c){let u=r.get(a);u||(u=[],r.set(a,u)),u.push({name:o,value:c[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[i,r]=this._splitIconName(t);i&&(this._svgNamespace=i),r&&(this._svgName=r),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(r,i).pipe(qr(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${r}! ${s.message}`))})}}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(P1),yo("aria-hidden"),Oe(dAe),Oe(la))},n.\u0275cmp=rn({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,i){2&t&&(Ii("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet),ai("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[En],ngContentSelectors:oAe,decls:1,vars:0,template:function(t,i){1&t&&(Hr(),oi(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[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}\n"],encapsulation:2,changeDetection:0}),n})();function TAe(n,e){}class zP{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const AAe={dialogContainer:Em("dialogContainer",[wc("void, exit",ds({opacity:0,transform:"scale(0.7)"})),wc("enter",ds({transform:"none"})),pd("* => enter",fd("150ms cubic-bezier(0, 0, 0.2, 1)",ds({transform:"none",opacity:1}))),pd("* => void, * => exit",fd("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",ds({opacity:0})))])};let MAe=(()=>{class n extends D1{constructor(t,i,r,s,o,a){super(),this._elementRef=t,this._focusTrapFactory=i,this._changeDetectorRef=r,this._config=o,this._focusMonitor=a,this._animationStateChanged=new ln,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=l=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(l)),this._ariaLabelledBy=o.ariaLabelledBy||null,this._document=s}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const i=KS(),r=this._elementRef.nativeElement;(!i||i===this._document.body||i===r||r.contains(i))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=KS())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,i=KS();return t===i||t.contains(i)}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(YH),Oe(Mr),Oe(fn,8),Oe(zP),Oe(vc))},n.\u0275dir=Pt({type:n,viewQuery:function(t,i){if(1&t&&hr(np,7),2&t){let r;Gn(r=$n())&&(i._portalOutlet=r.first)}},features:[En]}),n})(),DAe=(()=>{class n extends MAe{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:i}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:i})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:i}))}_onAnimationStart({toState:t,totalTime:i}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:i}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:i})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275cmp=rn({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,i){1&t&&uE("@dialogContainer.start",function(s){return i._onAnimationStart(s)})("@dialogContainer.done",function(s){return i._onAnimationDone(s)}),2&t&&(qc("id",i._id),Ii("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),fE("@dialogContainer",i._state))},features:[En],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,i){1&t&&wi(0,TAe,0,0,"ng-template",0)},directives:[np],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[AAe.dialogContainer]}}),n})(),IAe=0;class F1{constructor(e,t,i="mat-dialog-"+IAe++){this._overlayRef=e,this._containerInstance=t,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new se,this._afterClosed=new se,this._beforeClosed=new se,this._state=0,t._id=i,t._animationStateChanged.pipe(Ki(r=>"opened"===r.state),qr(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Ki(r=>"closed"===r.state),qr(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),e.keydownEvents().pipe(Ki(r=>27===r.keyCode&&!this.disableClose&&!Dl(r))).subscribe(r=>{r.preventDefault(),HP(this,"keyboard")}),e.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():HP(this,"mouse")})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(Ki(t=>"closing"===t.state),qr(1)).subscribe(t=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(e){let t=this._getPositionStrategy();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._overlayRef.updatePosition(),this}updateSize(e="",t=""){return this._overlayRef.updateSize({width:e,height:t}),this._overlayRef.updatePosition(),this}addPanelClass(e){return this._overlayRef.addPanelClass(e),this}removePanelClass(e){return this._overlayRef.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function HP(n,e,t){return void 0!==n._containerInstance&&(n._containerInstance._closeInteractionType=e),n.close(t)}const N7=new Ht("MatDialogData"),OAe=new Ht("mat-dialog-default-options"),P7=new Ht("mat-dialog-scroll-strategy");let PAe=(()=>{class n{constructor(t,i,r,s,o,a,l,c,u){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=s,this._overlayContainer=o,this._dialogRefConstructor=l,this._dialogContainerType=c,this._dialogDataToken=u,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new se,this._afterOpenedAtThisLevel=new se,this._ariaHiddenElements=new Map,this.afterAllClosed=function(n){return new P(e=>{let t;try{t=n()}catch(r){return void e.error(r)}return(t?Ye(t):b0()).subscribe(e)})}(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Oo(void 0))),this._scrollStrategy=a}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,i){(i=function(n,e){return Object.assign(Object.assign({},e),n)}(i,this._defaultOptions||new zP)).id&&this.getDialogById(i.id);const r=this._createOverlay(i),s=this._attachDialogContainer(r,i),o=this._attachDialogContent(t,s,r,i);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(o),o.afterClosed().subscribe(()=>this._removeOpenDialog(o)),this.afterOpened.next(o),s._initializeWithAttachedContent(),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const i=this._getOverlayConfig(t);return this._overlay.create(i)}_getOverlayConfig(t){const i=new O1({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachDialogContainer(t,i){const s=Hn.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:zP,useValue:i}]}),o=new M1(this._dialogContainerType,i.viewContainerRef,s,i.componentFactoryResolver);return t.attach(o).instance}_attachDialogContent(t,i,r,s){const o=new this._dialogRefConstructor(r,i,s.id);if(t instanceof Go)i.attachTemplatePortal(new Nm(t,null,{$implicit:s.data,dialogRef:o}));else{const a=this._createInjector(s,o,i),l=i.attachComponentPortal(new M1(t,s.viewContainerRef,a));o.componentInstance=l.instance}return o.updateSize(s.width,s.height).updatePosition(s.position),o}_createInjector(t,i,r){const s=t&&t.viewContainerRef&&t.viewContainerRef.injector,o=[{provide:this._dialogContainerType,useValue:r},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:i}];return t.direction&&(!s||!s.get(Il,null,xn.Optional))&&o.push({provide:Il,useValue:{value:t.direction,change:sn()}}),Hn.create({parent:s||this._injector,providers:o})}_removeOpenDialog(t){const i=this.openDialogs.indexOf(t);i>-1&&(this.openDialogs.splice(i,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((r,s)=>{r?s.setAttribute("aria-hidden",r):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let s=i[r];s!==t&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}}return n.\u0275fac=function(t){return new(t||n)(Oe(Ec),Oe(Hn),Oe(void 0),Oe(void 0),Oe(Ob),Oe(void 0),Oe(Du),Oe(Du),Oe(Ht))},n.\u0275dir=Pt({type:n}),n})(),Pb=(()=>{class n extends PAe{constructor(t,i,r,s,o,a,l){super(t,i,s,a,l,o,F1,DAe,N7)}}return n.\u0275fac=function(t){return new(t||n)(ke(Ec),ke(Hn),ke(kg,8),ke(OAe,8),ke(P7),ke(n,12),ke(Ob))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),FAe=0,k7=(()=>{class n{constructor(t,i,r){this._dialogRef=t,this._elementRef=i,this._dialog=r,this.id="mat-dialog-title-"+FAe++}ngOnInit(){this._dialogRef||(this._dialogRef=function(n,e){let t=n.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-dialog-container");)t=t.parentElement;return t?e.find(i=>i.id===t.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(t){return new(t||n)(Oe(F1,8),Oe(gn),Oe(Pb))},n.\u0275dir=Pt({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,i){2&t&&qc("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),F7=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Pt({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),n})();const $P=new Ht("CdkAccordion");let VAe=0,UAe=(()=>{class n{constructor(t,i,r){this.accordion=t,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=C.EMPTY,this.closed=new ln,this.opened=new ln,this.destroyed=new ln,this.expandedChange=new ln,this.id="cdk-accordion-child-"+VAe++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((s,o)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===o&&this.id!==s&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=bi(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=bi(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return n.\u0275fac=function(t){return new(t||n)(Oe($P,12),Oe(Mr),Oe(A$))},n.\u0275dir=Pt({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Vn([{provide:$P,useValue:void 0}])]}),n})();const HAe=["body"];function GAe(n,e){}const $Ae=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],WAe=["mat-expansion-panel-header","*","mat-action-row"];function qAe(n,e){1&n&&ni(0,"span",2),2&n&&Jt("@indicatorRotate",_i()._getExpandedState())}const YAe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],XAe=["mat-panel-title","mat-panel-description","*"],WP=new Ht("MAT_ACCORDION"),B7="225ms cubic-bezier(0.4,0.0,0.2,1)",V7={indicatorRotate:Em("indicatorRotate",[wc("collapsed, void",ds({transform:"rotate(0deg)"})),wc("expanded",ds({transform:"rotate(180deg)"})),pd("expanded <=> collapsed, void => collapsed",fd(B7))]),bodyExpansion:Em("bodyExpansion",[wc("collapsed, void",ds({height:"0px",visibility:"hidden"})),wc("expanded",ds({height:"*",visibility:"visible"})),pd("expanded <=> collapsed, void => collapsed",fd(B7))])};let KAe=(()=>{class n{constructor(t){this._template=t}}return n.\u0275fac=function(t){return new(t||n)(Oe(Go))},n.\u0275dir=Pt({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]}),n})(),QAe=0;const j7=new Ht("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let U7=(()=>{class n extends UAe{constructor(t,i,r,s,o,a,l){super(t,i,r),this._viewContainerRef=s,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new ln,this.afterCollapse=new ln,this._inputChanges=new se,this._headerId="mat-expansion-panel-header-"+QAe++,this._bodyAnimationDone=new se,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe(ld((c,u)=>c.fromState===u.fromState&&c.toState===u.toState)).subscribe(c=>{"void"!==c.fromState&&("expanded"===c.toState?this.afterExpand.emit():"collapsed"===c.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=bi(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(Oo(null),Ki(()=>this.expanded&&!this._portal),qr(1)).subscribe(()=>{this._portal=new Nm(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,i=this._body.nativeElement;return t===i||i.contains(t)}return!1}}return n.\u0275fac=function(t){return new(t||n)(Oe(WP,12),Oe(Mr),Oe(A$),Oe(Rs),Oe(fn),Oe(Qa,8),Oe(j7,8))},n.\u0275cmp=rn({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,r){if(1&t&&function(n,e,t,i){const r=Si();if(r.firstCreatePass){const s=as();I3(r,new A3(e,t,i),s.index),function(n,e){const t=n.contentQueries||(n.contentQueries=[]);e!==(t.length?t[t.length-1]:-1)&&t.push(n.queries.length-1,e)}(r,n),2==(2&t)&&(r.staticContentQueries=!0)}D3(r,jt(),t)}(r,KAe,5),2&t){let s;Gn(s=$n())&&(i._lazyContent=s.first)}},viewQuery:function(t,i){if(1&t&&hr(HAe,5),2&t){let r;Gn(r=$n())&&(i._body=r.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,i){2&t&&ai("mat-expanded",i.expanded)("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Vn([{provide:WP,useValue:void 0}]),En,Fi],ngContentSelectors:WAe,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){1&t&&(Hr($Ae),oi(0),wt(1,"div",0,1),Tn("@bodyExpansion.done",function(s){return i._bodyAnimationDone.next(s)}),wt(3,"div",2),oi(4,1),wi(5,GAe,0,0,"ng-template",3),Et(),oi(6,2),Et()),2&t&&(zt(1),Jt("@bodyExpansion",i._getExpandedState())("id",i.id),Ii("aria-labelledby",i._headerId),zt(4),Jt("cdkPortalOutlet",i._portal))},directives:[np],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[V7.bodyExpansion]},changeDetection:0}),n})();class JAe{}const eMe=E1(JAe);let z7=(()=>{class n extends eMe{constructor(t,i,r,s,o,a,l){super(),this.panel=t,this._element=i,this._focusMonitor=r,this._changeDetectorRef=s,this._animationMode=a,this._parentChangeSubscription=C.EMPTY;const c=t.accordion?t.accordion._stateChanges.pipe(Ki(u=>!(!u.hideToggle&&!u.togglePosition))):Qc;this.tabIndex=parseInt(l||"")||0,this._parentChangeSubscription=Pn(t.opened,t.closed,c,t._inputChanges.pipe(Ki(u=>!!(u.hideToggle||u.disabled||u.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(Ki(()=>t._containsFocus())).subscribe(()=>r.focusVia(i,"program")),o&&(this.expandedHeight=o.expandedHeight,this.collapsedHeight=o.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:Dl(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,i){t?this._focusMonitor.focusVia(this._element,t,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return n.\u0275fac=function(t){return new(t||n)(Oe(U7,1),Oe(gn),Oe(vc),Oe(Mr),Oe(j7,8),Oe(Qa,8),yo("tabindex"))},n.\u0275cmp=rn({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,i){1&t&&Tn("click",function(){return i._toggle()})("keydown",function(s){return i._keydown(s)}),2&t&&(Ii("id",i.panel._headerId)("tabindex",i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),zy("height",i._getHeaderHeight()),ai("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after","after"===i._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===i._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===i._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[En],ngContentSelectors:XAe,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,i){1&t&&(Hr(YAe),wt(0,"span",0),oi(1),oi(2,1),oi(3,2),Et(),wi(4,qAe,1,1,"span",1)),2&t&&(zt(4),Jt("ngIf",i._showToggle()))},directives:[ac],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[V7.indicatorRotate]},changeDetection:0}),n})();var H7=et(5478);Object.create(Error.prototype);const sMe=["*"];var B1=(()=>(function(n){n.LineHighlight="line-highlight",n.LineNumbers="line-numbers"}(B1||(B1={})),B1))();class aMe{}const $7=new Ht("SECURITY_CONTEXT");let qP=(()=>{class n{constructor(t,i,r,s,o){this.platform=t,this.securityContext=i,this.http=r,this.sanitizer=o,this.initialMarkedOptions={renderer:new H7.Renderer},this.options=s}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,i=!1,r=!1,s=this.options){const o=this.trimIndentation(t),a=i?this.decodeHtml(o):o,l=r?this.renderEmoji(a):a,c=H7.parse(l,s);return this.sanitizer.sanitize(this.securityContext,c)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(be(i=>this.handleExtension(t,i)))}highlight(t){if(Af(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const i=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(i,r=>r.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,i){if(!Af(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(r,s)=>katex.renderToString(s,i))}decodeHtml(t){if(!Af(this.platform))return t;const i=document.createElement("textarea");return i.innerHTML=t,i.value}handleExtension(t,i){const r=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==r?"```"+r+"\n"+i+"\n```":i}renderEmoji(t){if(!Af(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let i;return t.split("\n").map(r=>{let s=i;return r.length>0&&(s=isNaN(s)?r.search(/\S|$/):Math.min(r.search(/\S|$/),s)),isNaN(i)&&(i=s),s?r.substring(s):r}).join("\n")}}return n.\u0275fac=function(t){return new(t||n)(ke(Xc),ke($7),ke(_u,8),ke(aMe,8),ke(Mf))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),W7=(()=>{class n{constructor(t,i){this.element=t,this.markdownService=i,this.error=new ln,this.load=new ln,this.ready=new ln,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,i=!1){let r=this.markdownService.compile(t,i,this.emoji);r=this.katex?this.markdownService.renderKatex(r,this.katexOptions):r,this.element.nativeElement.innerHTML=r,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,B1.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,i){const r=t.querySelectorAll("pre");for(let s=0;s{const a=i[o];if(a){const l=this.toLispCase(o);r.item(s).setAttribute(l,a.toString())}})}toLispCase(t){const i=t.match(/([A-Z])/g);if(!i)return t;let r=t.toString();for(let s=0,o=i.length;sF(i)?t(...i):t(i))):new P(i=>{const r=(...o)=>i.next(1===o.length?o[0]:o);let s;try{s=n(r)}catch(o){return void i.error(o)}if(Q(e))return()=>e(r,s)})}function YP(...n){return e=>{let t;return"function"==typeof n[n.length-1]&&(t=n.pop()),e.lift(new pMe(n,t))}}class pMe{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new gMe(e,this.observables,this.project))}}class gMe extends t6{constructor(e,t,i){super(e),this.observables=t,this.project=i,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s0){const s=r.indexOf(i);-1!==s&&r.splice(s,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(i){return void this.destination.error(i)}this.destination.next(t)}}class mMe{constructor(e,t,i=!1){this.accumulator=e,this.seed=t,this.hasSeed=i}call(e,t){return t.subscribe(new _Me(e,this.accumulator,this.seed,this.hasSeed))}}class _Me extends v{constructor(e,t,i,r){super(e),this.accumulator=t,this._seed=i,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let i;try{i=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=i,this.destination.next(i)}}class vMe{constructor(e){this.predicate=e}call(e,t){return t.subscribe(new wMe(e,this.predicate))}}class wMe extends v{constructor(e,t){super(e),this.predicate=t,this.skipping=!0,this.index=0}_next(e){const t=this.destination;this.skipping&&this.tryCallPredicate(e),this.skipping||t.next(e)}tryCallPredicate(e){try{const t=this.predicate(e,this.index++);this.skipping=Boolean(t)}catch(t){this.destination.error(t)}}}const EMe=["youtubeContainer"];let K7=(()=>{class n{constructor(t,i){this._ngZone=t,this._youtubeContainer=new se,this._destroyed=new se,this._playerChanges=new Fr(void 0),this._videoId=new Fr(void 0),this._height=new Fr(390),this._width=new Fr(640),this._startSeconds=new Fr(void 0),this._endSeconds=new Fr(void 0),this._suggestedQuality=new Fr(void 0),this._playerVars=new Fr(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Af(i)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=sn(!0);if(!window.YT||!window.YT.Player){const r=new se;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>r.next(!0))},t=r.pipe(qr(1),Oo(!1))}const i=function(n,e,t,i,r,s,o){const a=yc([e,s]).pipe(YP(yc([i,r])),be(([l,c])=>{const[u,h]=l,[f,g]=c;return u?{videoId:u,playerVars:h,width:f,height:g}:void 0}));return yc([n,a,sn(o)]).pipe(function(n){return $(function(...n){let e=null;return"function"==typeof n[n.length-1]&&(e=n.pop()),1===n.length&&F(n[0])&&(n=n[0].slice()),t=>t.lift.call(Ye([t,...n]),new r6(e))}(n),function(n){return e=>e.lift(new vMe(n))}(([e,t])=>!t),be(([e])=>e))}(t),function(n,e){let t=!1;return arguments.length>=2&&(t=!0),function(r){return r.lift(new mMe(n,e,t))}}(MMe,void 0),ld())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(cr(r=>{this._playerChanges.next(r)}),H(e=>e?Q7(e)?sn(e):new P(t=>{let i=!1,r=!1;const s=o=>{r=!0,i||(o.target.removeEventListener("onReady",s),t.next(o.target))};return e.addEventListener("onReady",s),()=>{i=!0,r||(r=>{Q7(r)||r.destroy()})(e)}}).pipe(qr(1),Oo(void 0)):sn(void 0)),gr(this._destroyed),xa(new se));i.subscribe(r=>{this._player=r,r&&this._pendingPlayerState&&this._initializePlayer(r,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(n,e,t){yc([n,e,t]).subscribe(([i,r,s])=>i&&i.setSize(r,s))}(i,this._width,this._height),function(n,e){yc([n,e]).subscribe(([t,i])=>t&&i&&t.setPlaybackQuality(i))}(i,this._suggestedQuality),function(n,e,t,i,r,s){const o=yc([t,i]).pipe(be(([u,h])=>({startSeconds:u,endSeconds:h}))),a=o.pipe(KP(n,u=>!!u&&!function(n){const e=n.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(u))),l=e.pipe(KP(n,(u,h)=>!!u&&u.videoId!==h));Pn(n.pipe(KP(yc([e,o]),([u,h],f)=>!(!f||u==f.videoId&&!h.startSeconds&&!h.endSeconds))),l,a).pipe(YP(yc([n,e,o,r])),be(([u,h])=>h),gr(s)).subscribe(([u,h,f,g])=>{!h||!u||(u.videoId=h,u.cueVideoById(Object.assign({videoId:h,suggestedQuality:g},f)))})}(i,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),i.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,i){this._player?this._player.seekTo(t,i):this._getPendingState().seek={seconds:t,allowSeekAhead:i}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,i){const{playbackState:r,playbackRate:s,volume:o,muted:a,seek:l}=i;switch(r){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=s&&t.setPlaybackRate(s),null!=o&&t.setVolume(o),null!=a&&(a?t.mute():t.unMute()),null!=l&&t.seekTo(l.seconds,l.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(is(i=>i?q7(r=>{i.addEventListener(t,r)},r=>{try{i.removeEventListener&&i.removeEventListener(t,r)}catch(s){}}):sn()),i=>new P(r=>i.subscribe({next:s=>this._ngZone.run(()=>r.next(s)),error:s=>r.error(s),complete:()=>r.complete()})),gr(this._destroyed))}}return n.\u0275fac=function(t){return new(t||n)(Oe(pn),Oe(Xc))},n.\u0275cmp=rn({type:n,selectors:[["youtube-player"]],viewQuery:function(t,i){if(1&t&&hr(EMe,5),2&t){let r;Gn(r=$n())&&(i.youtubeContainer=r.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,i){1&t&&ni(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function MMe(n,[e,t,i]){if(n&&t&&n.playerVars!==t.playerVars)n.destroy();else{if(!t)return void(n&&n.destroy());if(n)return n}const r=i.runOutsideAngular(()=>new YT.Player(e,t));return r.videoId=t.videoId,r.playerVars=t.playerVars,r}function Q7(n){return"getPlayerStatus"in n}function KP(n,e){return $(YP(n),Ki(([t,i])=>e(i,t)),be(([t])=>t))}let BMe=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Pt({type:n,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),n})();function Fb(n){return!0===n}function Za(n){return null==n}function Ja(n){return!Za(n)}function QP(n){return Boolean(n)}function t9(n){return Za(n)?n:JSON.parse(JSON.stringify(n))}const j1=n=>{const t=n instanceof Date;if("object"!=typeof n||null===n||t)return n;Object.freeze(n);const r="function"==typeof n,s=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(n).forEach(o=>{s.call(n,o)&&(!r||"caller"!==o&&"callee"!==o&&"arguments"!==o)&&null!==n[o]&&("object"==typeof n[o]||"function"==typeof n[o])&&!Object.isFrozen(n[o])&&j1(n[o])}),n};function n9(n){return Ja(n)&&"object"==typeof n&&function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)}const s9="NGXS_DATA_META",JP="NGXS_META",o9="NGXS_ARGUMENT_REGISTRY_META";let a9=(()=>{class n{constructor(t){this.sequence$=new Fr(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return n.\u0275fac=function(t){return new(t||n)(ke(hu,8))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();function Lb(n){return n[s9]}let el=(()=>{class n{constructor(t,i,r){n.store=t.get(hu),n.ngZone=t.get(pn),n.factory=i,n.context=r,n.computed=t.get(a9)}}return n.store=null,n.computed=null,n.context=null,n.factory=null,n.ngZone=null,n.\u0275fac=function(t){return new(t||n)(ke(Hn),ke(o6),ke(s6))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();class hs{constructor(){hs.statesCachedMeta.clear()}static createStateContext(e){return el.context.createStateContext(e)}static ensureMappedState(e){if(Za(el.factory)||Za(e))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(Ja(e.name)?hs.statesCachedMeta.get(e.name):null)||hs.ensureMeta(e)}static getRepositoryByInstance(e){var t;const r=null!==(t=Lb(hs.getStateClassByInstance(e)))&&void 0!==t?t:null;if(Za(r))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return r}static getStateClassByInstance(e){return(null!=e?e:{}).constructor}static clearMetaByInstance(e){const t=hs.getRepositoryByInstance(e);t.stateMeta.actions={},t.operations={}}static createPayload(e,t){const i={},r=Array.from(e);for(let s=0;s0?i:null}static createAction(e,t,i){const r=hs.createPayload(t,i);return new(function(n){return class{constructor(t){t&&Object.keys(t).forEach(i=>{this[i]=t[i]})}static get type(){return n}}}(e.type))(r)}static ensureMeta(e){var t;const i=Ja(e.name)?null===(t=el.factory.states)||void 0===t?void 0:t.find(r=>r.name===e.name):null;return Ja(i)&&Ja(e.name)&&hs.statesCachedMeta.set(e.name,i),i}}hs.statesCachedMeta=new Map,hs.\u0275fac=function(e){return new(e||hs)},hs.\u0275prov=tt({token:hs,factory:hs.\u0275fac}),new Df(1);class sDe extends Error{constructor(e){super(`Child states can only be added to an object. Cannot convert ${Ja(null==e?void 0:e.constructor)?e.constructor.name:e} to PlainObject`)}}function l9(n){var e;return null!==(e=n.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function c9(n){var e;const t=l9(n),i=null!==(e=t.children)&&void 0!==e?e:[],s=t9(void 0===t.defaults?{}:t.defaults);if(i.length){if(n9(s))return function(n,e){return e.reduce((t,i)=>{const r=l9(i);if(function(n){const e="string"==typeof n?n.trim():n;return[void 0,null,NaN,"",1/0].includes(e)}(r.name))throw new Error("State name not provided in class");return t[r.name.toString()]=c9(i),t},null!=n?n:{})}(s,i);throw new sDe(s)}return s}function d9(n){var e;return null!==(e=n.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function h9(){var n,e;return null!==(e=null===(n=null==el?void 0:el.computed)||void 0===n?void 0:n.sequenceValue)&&void 0!==e?e:0}function cDe(n){let e=!1;return Im(n)&&(e=!0),e}function e2(n){return n[o9]}class uDe extends Error{constructor(e,t){super(`An argument with the name '${e}' already exists in the method '${t}'`)}}class dDe{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(e){var t;return null!==(t=this.payloadMap.get(e))&&void 0!==t?t:null}getArgumentNameByIndex(e){var t;return null!==(t=this.argumentMap.get(e))&&void 0!==t?t:null}createPayloadType(e,t,i){this.checkDuplicateName(e,t),this.payloadMap.set(i,e),this.payloadMap.set(e,e)}createArgumentName(e,t,i){this.checkDuplicateName(e,t),this.argumentMap.set(i,e),this.argumentMap.set(e,e)}checkDuplicateName(e,t){if(QP(this.argumentMap.has(e))||QP(this.payloadMap.has(e)))throw new uDe(e,t)}}function _De(n){return{enumerable:!0,configurable:!0,get(){const e=Lb(n),t=hs.ensureMappedState(e.stateMeta);return hs.createStateContext(t)}}}function f9(){return(n,e,t)=>{!function(n,e){if(!function(n,e){var t;let i=n,r=!1;if(n9(i))for(;null!==i;){if(Fb(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(t=Object.getOwnPropertyDescriptor(i,e))||void 0===t?void 0:t.get);break}i=Object.getPrototypeOf(i)}return r}(n,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(n,e);const i=t.get;return t.get=function(...r){const s=function(n){return Za(d9(n))&&Object.defineProperties(n,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),d9(n)}(this),o=null==s?void 0:s.get(i);if(Fb(null==o?void 0:o.isObservable))return null==o?void 0:o.value;if(Za(o)||o.sequenceId!==h9()){s.delete(i);const l=i.apply(this,r);return s.set(i,{value:l,sequenceId:h9(),isObservable:cDe(l)}),l}return o.value},t}}const xDe={cancelUncompleted:!0,insideZone:!1};function t2(n=xDe){return(e,t,i)=>{!function(n,e){if(n.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=t.toString();return i.value=function(...o){const a=this;let l=null;const c=hs.getRepositoryByInstance(a),u=c.operations;let h=u[s];const f=c.stateMeta,g=e2(r);if(Za(h)){const k=function(n){var e,t,i;return null!==(i=null===(t=null===(e=(n+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===t?void 0:t.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),oe=function(n){const{statePath:e,argumentsNames:t,methodName:i,argumentRegistry:r}=n;let s="";for(let o=0;o{var k;return Fb(n.insideZone)?null===(k=el.ngZone)||void 0===k||k.run(()=>{l=r.apply(a,o)}):l=r.apply(a,o),Im(l)?sn(null).pipe(be(()=>l)):l};const I=hs.createAction(h,o,g),G=el.store.dispatch(I);return Im(l)?function(n,e){return fb([n,e]).pipe(be(t=>t.pop()))}(G,l):l},i}}function p9(n){return(e,t,i)=>{const r=n.trim();if(!r)throw new Error("Payload name should be initialized");(function(n,e){const t=n[e];return Za(e2(t))&&Object.defineProperties(t,{[o9]:{enumerable:!0,configurable:!0,value:new dDe}}),e2(t)})(e,t).createPayloadType(r,t,i)}}function CDe(){return n=>{const e=function(n){if(function(n){return!QP(n)}(n.hasOwnProperty(JP))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(n,JP,{value:e})}return function(n){var e;return null===(e=n)||void 0===e?void 0:e[JP]}(n)}(n);if(Za(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(n,e){(function(n){var e;const t=null!==(e=Lb(n))&&void 0!==e?e:null;return(Za(t)||(null==t?void 0:t.stateClass)!==n)&&function(n){Object.defineProperty(n,s9,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:n}})}(n),Lb(n)}(n)).stateMeta=e}(n,e),function(n,e,t){Object.defineProperties(n.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>t9(t)},context:_De(n)})}(n,e,c9(n)),function(n){var e,t;const i=Lb(n),r=null!==(t=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==t?t:null;if(Ja(r)){const s=`__${r}__selector`;Object.defineProperties(n.prototype,{[s]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(Ja(this[s]))return this[s];if(Za(el.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[s]=el.store.select(n).pipe(be(o=>fa()?j1(o):o),Wa({refCount:!0,bufferSize:1})),this[s]}}})}}(n)}}let ADe=(()=>{class n{constructor(){this.browserStorageEvents$=new se,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var r;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(r=this.ngxsDataDoCheck)||void 0===r||r.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var i;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(i=this.ngxsDataDoCheck)||void 0===i||i.call(this))}markAsDirtyAfterReset(){var i;this.dirty=!0,null===(i=this.ngxsDataAfterReset)||void 0===i||i.call(this)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),MDe=(()=>{class n extends ADe{get snapshot(){return function(n){return fa()?j1(n):n}(this.getState())}get ctx(){return function(n){if(!n)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},n),{getState:()=>fa()?j1(n.getState()):n.getState(),setState(e){n.setState(e)},patchState(e){n.patchState(e)}})}(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=tt({token:n,factory:n.\u0275fac}),Ei([f9(),uc("design:type",Object),uc("design:paramtypes",[])],n.prototype,"snapshot",null),Ei([t2(),wV(0,p9("patchValue")),uc("design:type",Function),uc("design:paramtypes",[Object]),uc("design:returntype",void 0)],n.prototype,"patchState",null),Ei([t2(),wV(0,p9("stateValue")),uc("design:type",Function),uc("design:paramtypes",[Object]),uc("design:returntype",void 0)],n.prototype,"setState",null),Ei([t2(),uc("design:type",Function),uc("design:paramtypes",[]),uc("design:returntype",void 0)],n.prototype,"reset",null),n})(),gW=(()=>{class n{constructor(){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=Pt({type:n,selectors:[["","gaEvent","","gaCategory",""],["","gaCategory",""]],inputs:{gaCategory:"gaCategory"},exportAs:["gaCategory"]}),n})();const zm=new Ht("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),C2=new Ht("ngx-window",{providedIn:"root",factory:()=>function(n){return Af(n)?window:null}(Bc(Xc))}),jOe=new Ht("ngx-data-layer",{providedIn:"root",factory:()=>function(n){return n?n.dataLayer=n.dataLayer||[]:null}(Bc(C2))}),T2=new Ht("ngx-gtag-fn",{providedIn:"root",factory:()=>function(n,e){return n?n.gtag=n.gtag||function(){e.push(arguments)}:null}(Bc(C2),Bc(jOe))});let qb=(()=>{class n{constructor(t,i,r){this.settings=t,this._document=i,this._gtag=r}get document(){return this._document}throw(t){(this.settings.enableTracing||fa())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((i,[r,s])=>Object.defineProperty(i,r,{value:s,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(i=>void 0!==i))}catch(i){this.throw(i)}}event(t,i,r,s,o){try{const a=new Map;i&&a.set("event_category",i),r&&a.set("event_label",r),s&&a.set("value",s),void 0!==o&&a.set("interaction",o);const l=this.toKeyValue(a);l?this.gtag("event",t,l):this.gtag("event",t)}catch(a){this.throw(a)}}pageView(t,i,r,s){try{const o=new Map([["page_path",t]]);i&&o.set("page_title",i),(r||this.document)&&o.set("page_location",r||this.document.location.href),s&&Object.entries(s).map(([a,l])=>o.set(a,l)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(o))}catch(o){this.throw(o)}}appView(t,i,r,s,o){try{const a=new Map([["screen_name",t],["app_name",i]]);r&&a.set("app_id",r),s&&a.set("app_version",s),o&&a.set("app_installer_id",o),this.gtag("event","screen_view",this.toKeyValue(a))}catch(a){this.throw(a)}}set(...t){try{this._gtag("set",...t)}catch(i){this.throw(i)}}exception(t,i){try{const r=new Map;t&&r.set("description",t),i&&r.set("fatal",i),this.toKeyValue(r)?this.gtag("event","exception",this.toKeyValue(r)):this.gtag("event","exception")}catch(r){this.throw(r)}}}return n.\u0275fac=function(t){return new(t||n)(ke(zm),ke(fn),ke(T2))},n.\u0275prov=tt({factory:function(){return new n(ke(zm),ke(fn),ke(T2))},token:n,providedIn:"root"}),n})(),mW=(()=>{class n{constructor(t,i,r,s){this.gaCategoryDirective=t,this.gaService=i,this.settings=r,this.el=s,this.gaBind="click"}set gaBind(t){this.bindSubscription&&this.bindSubscription.unsubscribe(),this._gaBind=t,this.bindSubscription=gd(this.el.nativeElement,t).subscribe(()=>this.trigger())}get gaBind(){return this._gaBind}ngOnDestroy(){this.bindSubscription&&this.bindSubscription.unsubscribe()}trigger(){try{if(!this.gaAction&&!this.gaEvent)throw new Error("You must provide a gaAction attribute to identify this event.");this.gaService.event(this.gaAction||this.gaEvent,this.gaCategoryDirective?this.gaCategoryDirective.gaCategory:void 0,this.gaLabel||this.label,this.gaValue,this.gaInteraction)}catch(t){this.throw(t)}}throw(t){(fa()||this.settings.enableTracing)&&console&&console.warn&&console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)(Oe(gW,8),Oe(qb),Oe(zm),Oe(gn))},n.\u0275dir=Pt({type:n,selectors:[["","gaEvent",""]],inputs:{gaBind:"gaBind",gaAction:"gaAction",gaLabel:"gaLabel",label:"label",gaValue:"gaValue",gaInteraction:"gaInteraction",gaEvent:"gaEvent"},exportAs:["gaEvent"]}),n})();const zOe={provide:Ef,multi:!0,useFactory:function(n,e,t){return()=>Bi(this,void 0,void 0,function*(){var i;if(!n.trackingCode)return void(fa()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(fa()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));t||fa()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),n.uri=n.uri||`https://www.googletagmanager.com/gtag/js?id=${n.trackingCode}`,n.initCommands=null!==(i=null==n?void 0:n.initCommands)&&void 0!==i?i:[],n.initCommands.find(o=>"config"===o.command)||n.initCommands.unshift({command:"config",values:[n.trackingCode]}),n.initCommands.find(o=>"js"===o.command)||n.initCommands.unshift({command:"js",values:[new Date]});for(const o of n.initCommands)e(o.command,...o.values);const r=t.createElement("script");r.async=!0,r.src=n.uri,n.nonce&&r.setAttribute("nonce",n.nonce),t.getElementsByTagName("head")[0].appendChild(r)})},deps:[zm,T2,fn]};new Ht("ngx-google-analytics-routing-settings",{factory:()=>({})});let rC=(()=>{class n{static forRoot(t,i=[],r,s,o){return{ngModule:n,providers:[{provide:zm,useValue:{trackingCode:t,initCommands:i,uri:r,enableTracing:s,nonce:o}},zOe]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[]]}),n})(),oC=(()=>{class n{constructor(){this.consent="not-set",this.consentChange=new Df(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),tRe=(()=>{class n{constructor(t,i,{trackingCode:r}){this.window=i,this.subscriptions=new C,this.token=r,this.subscriptions.add(t.consentChange.subscribe(s=>this.toggleGoogleAnalytics("rescinded"===s)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return n.\u0275fac=function(t){return new(t||n)(ke(oC),ke(C2),ke(zm))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const nRe=new Ht("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),SW=[oC,tRe,(()=>{class n{constructor(t,i){this.key=i,this.subscriptions=new C;try{this.storage=localStorage}catch(r){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(r=>this.saveConsent(r)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,i;const r=null===(i=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===i?void 0:i.call(t,this.key);if(null==r)return"not-set";const s=r.trim().toLowerCase();switch(s){case"given":case"rescinded":return s;default:return"not-set"}}saveConsent(t){var i,r;null===(r=null===(i=this.storage)||void 0===i?void 0:i.setItem)||void 0===r||r.call(i,this.key,t)}}return n.\u0275fac=function(t){return new(t||n)(ke(oC),ke(nRe))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})()];function rRe(n){return Object.entries(n).reduce((e,[t,i])=>(null!=i&&(e[t]=`${i}`),e),{})}let oRe=(()=>{class n{static forRoot(t){const{providers:i=[]}=rC.forRoot(t.gaToken,function(n){const{appName:e,projectName:t,developmentMode:i}=n;return[{command:"set",values:[rRe({appName:e,projectName:t,developmentMode:i})]}]}(t));return{ngModule:n,providers:i}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[...SW,{provide:Ef,multi:!0,useFactory:()=>()=>{},deps:SW}],imports:[[rC]]}),n})();const uRe=(n,e)=>JSON.stringify(n)===JSON.stringify(e),dRe=n=>n.map(e=>void 0!==e?JSON.parse(JSON.stringify(e)):e),xc={storageStrategy:class extends class{}{constructor(){super(...arguments),this.cachePairs=[]}add(e,t,i){this.cachePairs.push(e)}addMany(e){this.cachePairs=e}updateAtIndex(e,t){Object.assign(this.cachePairs[e],t)}update(e,t){Object.assign(this.cachePairs[e],t)}getAll(){return this.cachePairs}removeAtIndex(e){this.cachePairs.splice(e,1)}remove(e){this.cachePairs.splice(e,1)}removeAll(){this.cachePairs.length=0}},globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},hRe=new se;function Sc(n={}){return function(e,t,i){const r=n.cacheKey||e.constructor.name+"#"+t,s=i.value;if(i&&i.value){let o=n.storageStrategy?new n.storageStrategy:new xc.storageStrategy;const a=[];n.cacheModifier&&n.cacheModifier.subscribe(u=>o.addMany(u(o.getAll(r,this)),r,this)),Pn(hRe.asObservable(),n.cacheBusterObserver?n.cacheBusterObserver:b0()).subscribe(u=>{o.removeAll(r,this),a.length=0}),n.cacheResolver=n.cacheResolver||xc.cacheResolver||uRe,n.cacheHasher=n.cacheHasher||xc.cacheHasher||dRe,i.value=function(...u){const h=o.getAll(r,this);let f=n.cacheHasher(u),g=h.find(A=>n.cacheResolver(A.parameters,f));const m=a.find(A=>n.cacheResolver(A.parameters,f));if((n.maxAge||xc.maxAge)&&g&&g.created&&((new Date).getTime()-new Date(g.created).getTime()>(n.maxAge||xc.maxAge)?(o.remove?o.remove(h.indexOf(g),g,r,this):o.removeAtIndex(h.indexOf(g),r,this),g=null):(n.slidingExpiration||xc.slidingExpiration)&&(g.created=new Date,o.update?o.update(h.indexOf(g),g,r,this):o.updateAtIndex(h.indexOf(g),g,r,this))),g){const A=sn(g.response);return n.async?A.pipe(function(n,e=qS){const i=function(n){return n instanceof Date&&!isNaN(+n)}(n)?+n-e.now():Math.abs(n);return r=>r.lift(new rTe(i,e))}(0)):A}if(m)return m.response;{const A=s.call(this,...u).pipe(PP(()=>{const I=a.find(G=>n.cacheResolver(G.parameters,f));a.splice(a.indexOf(I),1)}),cr(I=>{(!n.shouldCacheDecider||n.shouldCacheDecider(I))&&((!(n.maxCacheCount||xc.maxCacheCount)||1===(n.maxCacheCount||xc.maxCacheCount)||(n.maxCacheCount||xc.maxCacheCount)&&(n.maxCacheCount||xc.maxCacheCount)xa(()=>s,undefined)(o)}(),Yn());return a.push({parameters:f,response:A,created:new Date}),A}}}return i}}class fRe{encodeKey(e){return encodeURIComponent(e)}encodeValue(e){return encodeURIComponent(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const CW=new Ht("basePath");class Yb{constructor(e={}){this.apiKeys=e.apiKeys,this.username=e.username,this.password=e.password,this.accessToken=e.accessToken,this.basePath=e.basePath,this.withCredentials=e.withCredentials,this.encoder=e.encoder,this.credentials=e.credentials?e.credentials:{}}selectHeaderContentType(e){if(0===e.length)return;const t=e.find(i=>this.isJsonMime(i));return void 0===t?e[0]:t}selectHeaderAccept(e){if(0===e.length)return;const t=e.find(i=>this.isJsonMime(i));return void 0===t?e[0]:t}isJsonMime(e){const t=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==e&&(t.test(e)||"application/json-patch+json"===e.toLowerCase())}lookupCredential(e){const t=this.credentials[e];return"function"==typeof t?t():t}}let TW=(()=>{class n{constructor(t,i,r){this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new mu,this.configuration=new Yb,r&&(this.configuration=r),"string"!=typeof this.configuration.basePath&&("string"!=typeof i&&(i=this.basePath),this.configuration.basePath=i),this.encoder=this.configuration.encoder||new fRe}addToHttpParams(t,i,r){return this.addToHttpParamsRecursive(t,i,r)}addToHttpParamsRecursive(t,i,r){if(null==i)return t;if("object"==typeof i)if(Array.isArray(i))i.forEach(s=>t=this.addToHttpParamsRecursive(t,s,r));else if(i instanceof Date){if(null==r)throw Error("key may not be null if value is Date");t=t.append(r,i.toISOString().substr(0,10))}else Object.keys(i).forEach(s=>t=this.addToHttpParamsRecursive(t,i[s],null!=r?`${r}.${s}`:s));else{if(null==r)throw Error("key may not be null if value is not object or array");t=t.append(r,i)}return t}aggregateResults(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,A=t.spatial,I=t.technologies,G=t.token;let k=new Lr({encoder:this.encoder});null!=o&&(k=this.addToHttpParams(k,o,"age")),null!=a&&(k=this.addToHttpParams(k,a,"age-range")),null!=l&&(k=this.addToHttpParams(k,l,"bmi")),null!=c&&(k=this.addToHttpParams(k,c,"bmi-range")),null!=u&&(k=this.addToHttpParams(k,u,"cache")),h&&h.forEach(qe=>{k=this.addToHttpParams(k,qe,"ontology-terms")}),f&&f.forEach(qe=>{k=this.addToHttpParams(k,qe,"cell-type-terms")}),g&&g.forEach(qe=>{k=this.addToHttpParams(k,qe,"providers")}),null!=m&&(k=this.addToHttpParams(k,m,"sex")),A&&A.forEach(qe=>{k=this.addToHttpParams(k,qe,"spatial")}),I&&I.forEach(qe=>{k=this.addToHttpParams(k,qe,"technologies")}),null!=G&&(k=this.addToHttpParams(k,G,"token"));let oe=this.defaultHeaders,we=s&&s.httpHeaderAccept;void 0===we&&(we=this.configuration.selectHeaderAccept(["application/json"])),void 0!==we&&(oe=oe.set("Accept",we));let Be=s&&s.context;void 0===Be&&(Be=new Zs);let Ue="json";return we&&(Ue=we.startsWith("text")?"text":this.configuration.isJsonMime(we)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/aggregate-results`,{context:Be,params:k,responseType:Ue,withCredentials:this.configuration.withCredentials,headers:oe,observe:i,reportProgress:r})}cellTypeTermOccurences(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,A=t.spatial,I=t.technologies,G=t.token;let k=new Lr({encoder:this.encoder});null!=o&&(k=this.addToHttpParams(k,o,"age")),null!=a&&(k=this.addToHttpParams(k,a,"age-range")),null!=l&&(k=this.addToHttpParams(k,l,"bmi")),null!=c&&(k=this.addToHttpParams(k,c,"bmi-range")),null!=u&&(k=this.addToHttpParams(k,u,"cache")),h&&h.forEach(qe=>{k=this.addToHttpParams(k,qe,"ontology-terms")}),f&&f.forEach(qe=>{k=this.addToHttpParams(k,qe,"cell-type-terms")}),g&&g.forEach(qe=>{k=this.addToHttpParams(k,qe,"providers")}),null!=m&&(k=this.addToHttpParams(k,m,"sex")),A&&A.forEach(qe=>{k=this.addToHttpParams(k,qe,"spatial")}),I&&I.forEach(qe=>{k=this.addToHttpParams(k,qe,"technologies")}),null!=G&&(k=this.addToHttpParams(k,G,"token"));let oe=this.defaultHeaders,we=s&&s.httpHeaderAccept;void 0===we&&(we=this.configuration.selectHeaderAccept(["application/json"])),void 0!==we&&(oe=oe.set("Accept",we));let Be=s&&s.context;void 0===Be&&(Be=new Zs);let Ue="json";return we&&(Ue=we.startsWith("text")?"text":this.configuration.isJsonMime(we)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-term-occurences`,{context:Be,params:k,responseType:Ue,withCredentials:this.configuration.withCredentials,headers:oe,observe:i,reportProgress:r})}cellTypeTreeModel(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-tree-model`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}dbStatus(t,i="body",r=!1,s){const o=t.token;let a=new Lr({encoder:this.encoder});null!=o&&(a=this.addToHttpParams(a,o,"token"));let l=this.defaultHeaders,c=s&&s.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=s&&s.context;void 0===u&&(u=new Zs);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/db-status`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:i,reportProgress:r})}getSpatialPlacement(t,i="body",r=!1,s){const o=t.getSpatialPlacementRequest;if(null==o)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");let a=this.defaultHeaders,l=s&&s.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=s&&s.context;void 0===c&&(c=new Zs);const h=this.configuration.selectHeaderContentType(["application/json"]);void 0!==h&&(a=a.set("Content-Type",h));let f="json";return l&&(f=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/get-spatial-placement`,o,{context:c,responseType:f,withCredentials:this.configuration.withCredentials,headers:a,observe:i,reportProgress:r})}gtexRuiLocations(t,i="body",r=!1,s){const o=t.cache;let a=new Lr({encoder:this.encoder});null!=o&&(a=this.addToHttpParams(a,o,"cache"));let l=this.defaultHeaders,c=s&&s.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json"])),void 0!==c&&(l=l.set("Accept",c));let u=s&&s.context;void 0===u&&(u=new Zs);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/gtex/rui_locations.jsonld`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:i,reportProgress:r})}hubmapRuiLocations(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/hubmap/rui_locations.jsonld`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}ontologyTermOccurences(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,A=t.spatial,I=t.technologies,G=t.token;let k=new Lr({encoder:this.encoder});null!=o&&(k=this.addToHttpParams(k,o,"age")),null!=a&&(k=this.addToHttpParams(k,a,"age-range")),null!=l&&(k=this.addToHttpParams(k,l,"bmi")),null!=c&&(k=this.addToHttpParams(k,c,"bmi-range")),null!=u&&(k=this.addToHttpParams(k,u,"cache")),h&&h.forEach(qe=>{k=this.addToHttpParams(k,qe,"ontology-terms")}),f&&f.forEach(qe=>{k=this.addToHttpParams(k,qe,"cell-type-terms")}),g&&g.forEach(qe=>{k=this.addToHttpParams(k,qe,"providers")}),null!=m&&(k=this.addToHttpParams(k,m,"sex")),A&&A.forEach(qe=>{k=this.addToHttpParams(k,qe,"spatial")}),I&&I.forEach(qe=>{k=this.addToHttpParams(k,qe,"technologies")}),null!=G&&(k=this.addToHttpParams(k,G,"token"));let oe=this.defaultHeaders,we=s&&s.httpHeaderAccept;void 0===we&&(we=this.configuration.selectHeaderAccept(["application/json"])),void 0!==we&&(oe=oe.set("Accept",we));let Be=s&&s.context;void 0===Be&&(Be=new Zs);let Ue="json";return we&&(Ue=we.startsWith("text")?"text":this.configuration.isJsonMime(we)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-term-occurences`,{context:Be,params:k,responseType:Ue,withCredentials:this.configuration.withCredentials,headers:oe,observe:i,reportProgress:r})}ontologyTreeModel(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-tree-model`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}providerNames(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/provider-names`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}referenceOrganScene(t,i="body",r=!1,s){const o=t.organIri;if(null==o)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");const a=t.age,l=t.ageRange,c=t.bmi,u=t.bmiRange,h=t.cache,f=t.ontologyTerms,g=t.cellTypeTerms,m=t.providers,A=t.sex,I=t.spatial,G=t.technologies,k=t.token;let oe=new Lr({encoder:this.encoder});null!=a&&(oe=this.addToHttpParams(oe,a,"age")),null!=l&&(oe=this.addToHttpParams(oe,l,"age-range")),null!=c&&(oe=this.addToHttpParams(oe,c,"bmi")),null!=u&&(oe=this.addToHttpParams(oe,u,"bmi-range")),null!=h&&(oe=this.addToHttpParams(oe,h,"cache")),f&&f.forEach(bt=>{oe=this.addToHttpParams(oe,bt,"ontology-terms")}),g&&g.forEach(bt=>{oe=this.addToHttpParams(oe,bt,"cell-type-terms")}),null!=o&&(oe=this.addToHttpParams(oe,o,"organ-iri")),m&&m.forEach(bt=>{oe=this.addToHttpParams(oe,bt,"providers")}),null!=A&&(oe=this.addToHttpParams(oe,A,"sex")),I&&I.forEach(bt=>{oe=this.addToHttpParams(oe,bt,"spatial")}),G&&G.forEach(bt=>{oe=this.addToHttpParams(oe,bt,"technologies")}),null!=k&&(oe=this.addToHttpParams(oe,k,"token"));let we=this.defaultHeaders,Be=s&&s.httpHeaderAccept;void 0===Be&&(Be=this.configuration.selectHeaderAccept(["application/json"])),void 0!==Be&&(we=we.set("Accept",Be));let Ue=s&&s.context;void 0===Ue&&(Ue=new Zs);let qe="json";return Be&&(qe=Be.startsWith("text")?"text":this.configuration.isJsonMime(Be)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organ-scene`,{context:Ue,params:oe,responseType:qe,withCredentials:this.configuration.withCredentials,headers:we,observe:i,reportProgress:r})}referenceOrgans(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organs`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}scene(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,A=t.spatial,I=t.technologies,G=t.token;let k=new Lr({encoder:this.encoder});null!=o&&(k=this.addToHttpParams(k,o,"age")),null!=a&&(k=this.addToHttpParams(k,a,"age-range")),null!=l&&(k=this.addToHttpParams(k,l,"bmi")),null!=c&&(k=this.addToHttpParams(k,c,"bmi-range")),null!=u&&(k=this.addToHttpParams(k,u,"cache")),h&&h.forEach(qe=>{k=this.addToHttpParams(k,qe,"ontology-terms")}),f&&f.forEach(qe=>{k=this.addToHttpParams(k,qe,"cell-type-terms")}),g&&g.forEach(qe=>{k=this.addToHttpParams(k,qe,"providers")}),null!=m&&(k=this.addToHttpParams(k,m,"sex")),A&&A.forEach(qe=>{k=this.addToHttpParams(k,qe,"spatial")}),I&&I.forEach(qe=>{k=this.addToHttpParams(k,qe,"technologies")}),null!=G&&(k=this.addToHttpParams(k,G,"token"));let oe=this.defaultHeaders,we=s&&s.httpHeaderAccept;void 0===we&&(we=this.configuration.selectHeaderAccept(["application/json"])),void 0!==we&&(oe=oe.set("Accept",we));let Be=s&&s.context;void 0===Be&&(Be=new Zs);let Ue="json";return we&&(Ue=we.startsWith("text")?"text":this.configuration.isJsonMime(we)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/scene`,{context:Be,params:k,responseType:Ue,withCredentials:this.configuration.withCredentials,headers:oe,observe:i,reportProgress:r})}sparql(t,i="body",r=!1,s){const o=t.query;if(null==o)throw new Error("Required parameter query was null or undefined when calling sparql.");const a=t.token,l=t.format;let c=new Lr({encoder:this.encoder});null!=o&&(c=this.addToHttpParams(c,o,"query")),null!=a&&(c=this.addToHttpParams(c,a,"token")),null!=l&&(c=this.addToHttpParams(c,l,"format"));let u=this.defaultHeaders,h=s&&s.httpHeaderAccept;void 0===h&&(h=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==h&&(u=u.set("Accept",h));let f=s&&s.context;void 0===f&&(f=new Zs);let g="json";return h&&(g=h.startsWith("text")?"text":this.configuration.isJsonMime(h)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/sparql`,{context:f,params:c,responseType:g,withCredentials:this.configuration.withCredentials,headers:u,observe:i,reportProgress:r})}sparqlPost(t,i="body",r=!1,s){const o=t.sparqlQueryRequest;if(null==o)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");const a=t.token,l=t.format;let c=new Lr({encoder:this.encoder});null!=a&&(c=this.addToHttpParams(c,a,"token")),null!=l&&(c=this.addToHttpParams(c,l,"format"));let u=this.defaultHeaders,h=s&&s.httpHeaderAccept;void 0===h&&(h=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==h&&(u=u.set("Accept",h));let f=s&&s.context;void 0===f&&(f=new Zs);const m=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==m&&(u=u.set("Content-Type",m));let A="json";return h&&(A=h.startsWith("text")?"text":this.configuration.isJsonMime(h)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/sparql`,o,{context:f,params:c,responseType:A,withCredentials:this.configuration.withCredentials,headers:u,observe:i,reportProgress:r})}technologyNames(t,i="body",r=!1,s){const o=t.cache,a=t.token;let l=new Lr({encoder:this.encoder});null!=o&&(l=this.addToHttpParams(l,o,"cache")),null!=a&&(l=this.addToHttpParams(l,a,"token"));let c=this.defaultHeaders,u=s&&s.httpHeaderAccept;void 0===u&&(u=this.configuration.selectHeaderAccept(["application/json"])),void 0!==u&&(c=c.set("Accept",u));let h=s&&s.context;void 0===h&&(h=new Zs);let f="json";return u&&(f=u.startsWith("text")?"text":this.configuration.isJsonMime(u)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/technology-names`,{context:h,params:l,responseType:f,withCredentials:this.configuration.withCredentials,headers:c,observe:i,reportProgress:r})}tissueBlocks(t,i="body",r=!1,s){const o=t.age,a=t.ageRange,l=t.bmi,c=t.bmiRange,u=t.cache,h=t.ontologyTerms,f=t.cellTypeTerms,g=t.providers,m=t.sex,A=t.spatial,I=t.technologies,G=t.token;let k=new Lr({encoder:this.encoder});null!=o&&(k=this.addToHttpParams(k,o,"age")),null!=a&&(k=this.addToHttpParams(k,a,"age-range")),null!=l&&(k=this.addToHttpParams(k,l,"bmi")),null!=c&&(k=this.addToHttpParams(k,c,"bmi-range")),null!=u&&(k=this.addToHttpParams(k,u,"cache")),h&&h.forEach(qe=>{k=this.addToHttpParams(k,qe,"ontology-terms")}),f&&f.forEach(qe=>{k=this.addToHttpParams(k,qe,"cell-type-terms")}),g&&g.forEach(qe=>{k=this.addToHttpParams(k,qe,"providers")}),null!=m&&(k=this.addToHttpParams(k,m,"sex")),A&&A.forEach(qe=>{k=this.addToHttpParams(k,qe,"spatial")}),I&&I.forEach(qe=>{k=this.addToHttpParams(k,qe,"technologies")}),null!=G&&(k=this.addToHttpParams(k,G,"token"));let oe=this.defaultHeaders,we=s&&s.httpHeaderAccept;void 0===we&&(we=this.configuration.selectHeaderAccept(["application/json"])),void 0!==we&&(oe=oe.set("Accept",we));let Be=s&&s.context;void 0===Be&&(Be=new Zs);let Ue="json";return we&&(Ue=we.startsWith("text")?"text":this.configuration.isJsonMime(we)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/tissue-blocks`,{context:Be,params:k,responseType:Ue,withCredentials:this.configuration.withCredentials,headers:oe,observe:i,reportProgress:r})}}return n.\u0275fac=function(t){return new(t||n)(ke(_u),ke(CW,8),ke(Yb,8))},n.\u0275prov=tt({factory:function(){return new n(ke(_u),ke(CW,8),ke(Yb,8))},token:n,providedIn:"root"}),n})(),pRe=(()=>{class n{constructor(t,i){if(t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!i)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}static forRoot(t){return{ngModule:n,providers:[{provide:Yb,useFactory:t}]}}}return n.\u0275fac=function(t){return new(t||n)(ke(n,12),ke(_u,8))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[],imports:[[]]}),n})();function vu(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}let M2;function Cc(){return M2||(M2=function(n,e){const t=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let e;return new Promise(t=>{const i=()=>indexedDB.databases().finally(t);e=setInterval(i,100),i()}).finally(()=>clearInterval(e))}().then(()=>{const i=indexedDB.open("keyval-store");return i.onupgradeneeded=()=>i.result.createObjectStore(e),vu(i)});return(i,r)=>t.then(s=>r(s.transaction(e,i).objectStore(e)))}(0,"keyval")),M2}function AW(n,e=Cc()){return e("readonly",t=>vu(t.get(n)))}var vRe=et(8104),wRe=et.n(vRe),Un=et(1440);const aC="Unknown Euler angle order",Hm=.99999;class Zi extends mx{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return Zi.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(e){return Zi.RotationOrders[e]}get ELEMENTS(){return 4}constructor(e=0,t=0,i=0,r=Zi.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(e,t,i,r)}fromQuaternion(e){const[t,i,r,s]=e,o=i*i,a=-2*(o+r*r)+1,l=2*(t*i+s*r);let c=-2*(t*r-s*i);c=c>1?1:c,c=c<-1?-1:c;const f=Math.atan2(2*(i*r+s*t),-2*(t*t+o)+1),g=Math.asin(c),m=Math.atan2(l,a);return new Zi(f,g,m,Zi.RollPitchYaw)}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=Number.isFinite(e[3])||this.order,this.check()}set(e=0,t=0,i=0,r){return this[0]=e,this[1]=t,this[2]=i,this[3]=Number.isFinite(r)?r:this[3],this.check()}validate(){return function(n){return n>=0&&n<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e}toArray4(e=[],t=0){return e[t]=this[0],e[t+1]=this[1],e[t+2]=this[2],e[t+3]=this[3],e}toVector3(e=[-0,-0,-0]){return e[0]=this[0],e[1]=this[1],e[2]=this[2],e}get x(){return this[0]}set x(e){this[0]=nr(e)}get y(){return this[1]}set y(e){this[1]=nr(e)}get z(){return this[2]}set z(e){this[2]=nr(e)}get alpha(){return this[0]}set alpha(e){this[0]=nr(e)}get beta(){return this[1]}set beta(e){this[1]=nr(e)}get gamma(){return this[2]}set gamma(e){this[2]=nr(e)}get phi(){return this[0]}set phi(e){this[0]=nr(e)}get theta(){return this[1]}set theta(e){this[1]=nr(e)}get psi(){return this[2]}set psi(e){this[2]=nr(e)}get roll(){return this[0]}set roll(e){this[0]=nr(e)}get pitch(){return this[1]}set pitch(e){this[1]=nr(e)}get yaw(){return this[2]}set yaw(e){this[2]=nr(e)}get order(){return this[3]}set order(e){this[3]=function(n){if(n<0&&n>=6)throw new Error(aC);return n}(e)}fromVector3(e,t){return this.set(e[0],e[1],e[2],Number.isFinite(t)?t:this[3])}fromArray(e,t=0){return this[0]=e[0+t],this[1]=e[1+t],this[2]=e[2+t],void 0!==e[3]&&(this[3]=e[3]),this.check()}fromRollPitchYaw(e,t,i){return this.set(e,t,i,Zi.ZYX)}fromRotationMatrix(e,t=Zi.DefaultOrder){return this._fromRotationMatrix(e,t),this.check()}getRotationMatrix(e){return this._getRotationMatrix(e)}getQuaternion(){const e=new mR;switch(this[4]){case Zi.XYZ:return e.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case Zi.YXZ:return e.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case Zi.ZXY:return e.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case Zi.ZYX:return e.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case Zi.YZX:return e.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case Zi.XZY:return e.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(aC)}}_fromRotationMatrix(e,t=Zi.DefaultOrder){const i=e.elements,r=i[0],s=i[4],o=i[8],a=i[1],l=i[5],c=i[9],u=i[2],h=i[6],f=i[10];switch(t=t||this[3]){case Zi.XYZ:this[1]=Math.asin(Ua(o,-1,1)),Math.abs(o)1&&void 0!==arguments[1]?arguments[1]:0,t=(co[n[e+0]]+co[n[e+1]]+co[n[e+2]]+co[n[e+3]]+"-"+co[n[e+4]]+co[n[e+5]]+"-"+co[n[e+6]]+co[n[e+7]]+"-"+co[n[e+8]]+co[n[e+9]]+"-"+co[n[e+10]]+co[n[e+11]]+co[n[e+12]]+co[n[e+13]]+co[n[e+14]]+co[n[e+15]]).toLowerCase();if(!ORe(t))throw TypeError("Stringified UUID is invalid");return t}(i)};var cC=et(1609);const Gm=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Rr=(Math,Math,{});function VRe(n,{precision:e=Rr.precision||4}={}){return n=function(n){return Math.round(n/Rr.EPSILON)*Rr.EPSILON}(n),"".concat(parseFloat(n.toPrecision(e)))}function Mh(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function Xb(n,e,t){const i=Rr.EPSILON;t&&(Rr.EPSILON=t);try{if(n===e)return!0;if(Mh(n)&&Mh(e)){if(n.length!==e.length)return!1;for(let r=0;r0?", ":"")+VRe(this[i],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(t,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t=0&&e=0&&e=a+s)return this.clone();if(s>=a+i)return e.clone();const l=.5*(i+a+s);return NW.copy(o).scale((-i+l)/a).add(t),this.center.copy(NW),this.radius=l,this}expand(e){const t=(e=Kb.from(e)).subtract(this.center).magnitude();return t>this.radius&&(this.radius=t),this}transform(e){this.center.transform(e);const t=function(n,e){var s=e[4],o=e[5],a=e[6],l=e[8],c=e[9],u=e[10];return n[0]=Math.hypot(e[0],e[1],e[2]),n[1]=Math.hypot(s,o,a),n[2]=Math.hypot(l,c,u),n}(Kb,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const t=(e=Kb.from(e)).subtract(this.center);return Math.max(0,t.len()-this.radius)}intersectPlane(e){const i=this.radius,s=e.normal.dot(this.center)+e.distance;return s<-i?Gm.OUTSIDE:s0?1/e:0;return this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,0===e&&(this[3]=1),this.check()}rotateX(e){return s5(this,this,e),this.check()}rotateY(e){return o5(this,this,e),this.check()}rotateZ(e){return a5(this,this,e),this.check()}scale(e){return pR(this,this,e),this.check()}slerp(e,t,i){switch(arguments.length){case 1:({start:e=tNe,target:t,ratio:i}=arguments[0]);break;case 2:[t,i]=arguments,e=this}return nb(this,e,t,i),this.check()}transformVector4(e,t=e){return OU(t,e,this),MW(t,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(e,t){return this.setAxisAngle(e,t)}premultiply(e,t){return this.multiplyLeft(e,t)}multiply(e,t){return this.multiplyRight(e,t)}}const nNe=new Nn,iNe=new Nn,uC=new Nn,dC=new Nn,hC=new Nn,rNe=new Nn,sNe=new Nn;class k2{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=(new Nn).from(e),this.halfAxes=new Zo(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2);return[new Nn(e).len(),new Nn(t).len(),new Nn(i).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),i=this.halfAxes.getColumn(2),r=new Nn(e).normalize(),s=new Nn(t).normalize(),o=new Nn(i).normalize();return(new kW).fromMatrix3(new Zo([...r,...s,...o]))}fromCenterHalfSizeQuaternion(e,t,i){const r=new kW(i),s=(new Zo).fromQuaternion(r);return s[0]=s[0]*t[0],s[1]=s[1]*t[0],s[2]=s[2]*t[0],s[3]=s[3]*t[1],s[4]=s[4]*t[1],s[5]=s[5]*t[1],s[6]=s[6]*t[2],s[7]=s[7]*t[2],s[8]=s[8]*t[2],this.center=(new Nn).from(e),this.halfAxes=s,this}clone(){return new k2(this.center,this.halfAxes)}equals(e){return this===e||Boolean(e)&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new P2){const t=this.halfAxes,i=t.getColumn(0,uC),r=t.getColumn(1,dC),s=t.getColumn(2,hC),o=nNe.copy(i).add(r).add(s);return e.center.copy(this.center),e.radius=o.magnitude(),e}intersectPlane(e){const t=this.center,i=e.normal,r=this.halfAxes,s=i.x,o=i.y,a=i.z,l=Math.abs(s*r[0]+o*r[1]+a*r[2])+Math.abs(s*r[3]+o*r[4]+a*r[5])+Math.abs(s*r[6]+o*r[7]+a*r[8]),c=i.dot(t)+e.distance;return c<=-l?Gm.OUTSIDE:c>=l?Gm.INSIDE:Gm.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=iNe.from(e).subtract(this.center),i=this.halfAxes,r=i.getColumn(0,uC),s=i.getColumn(1,dC),o=i.getColumn(2,hC),a=r.magnitude(),l=s.magnitude(),c=o.magnitude();r.normalize(),s.normalize(),o.normalize();let h,u=0;return h=Math.abs(t.dot(r))-a,h>0&&(u+=h*h),h=Math.abs(t.dot(s))-l,h>0&&(u+=h*h),h=Math.abs(t.dot(o))-c,h>0&&(u+=h*h),u}computePlaneDistances(e,t,i=[-0,-0]){let r=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;const o=this.center,a=this.halfAxes,l=a.getColumn(0,uC),c=a.getColumn(1,dC),u=a.getColumn(2,hC),h=rNe.copy(l).add(c).add(u).add(o),f=sNe.copy(h).subtract(e);let g=t.dot(f);return r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).add(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),h.copy(o).add(l).subtract(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).add(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).add(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),o.copy(h).subtract(l).subtract(c).subtract(u),f.copy(h).subtract(e),g=t.dot(f),r=Math.min(g,r),s=Math.max(g,s),i[0]=r,i[1]=s,i}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,uC);t.transformAsPoint(e);const i=this.halfAxes.getColumn(1,dC);i.transformAsPoint(e);const r=this.halfAxes.getColumn(2,hC);return r.transformAsPoint(e),this.halfAxes=new Zo([...t,...i,...r]),this}getTransform(){throw new Error("not implemented")}}const FW=new Nn,LW=new Nn;class F2{constructor(e=[0,0,1],t=0){this.normal=new Nn,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return Tc(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=FW.from(e),this.normal.from(t).normalize();const i=-this.normal.dot(e);return this.distance=i,this}fromCoefficients(e,t,i,r){return this.normal.set(e,t,i),Tc(Xb(this.normal.len(),1)),this.distance=r,this}clone(e){return new F2(this.normal,this.distance)}equals(e){return Xb(this.distance,e.distance)&&Xb(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=LW.copy(this.normal).transformAsVector(e).normalize(),i=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(i,t)}projectPointOntoPlane(e,t=[0,0,0]){e=FW.from(e);const i=this.getPointDistance(e),r=LW.copy(this.normal).scale(i);return e.subtract(r).to(t)}}function*z2(n,e,t){for(const[i,r]of Object.entries(t))for(const s of(0,Un.readQuads)(n,e,i,null,null)){const o="Literal"===s.object.termType?(0,cC.fromRdf)(s.object):s.object.id;yield[r,o]}}function dp(n,e,t,i){const r={"@id":e,"@type":t};for(const[s,o]of Object.entries(i))for(const a of(0,Un.readQuads)(n,r["@id"],s,null,null)){const l="Literal"===a.object.termType?(0,cC.fromRdf)(a.object):a.object.id;r[o]=l}return r}new Nn([1,0,0]),new Nn([0,1,0]),new Nn([0,0,1]),new Nn,new Nn,new F2(new Nn(1,0,0),0),new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,new Nn,Math,new Zo,new Zo,new Zo,new Zo,new Zo,new Nn,new Nn,new Nn,new Nn,new Nn,new Zo,new Zo,new Zo;const ir=Un.Util.prefixes({base:"http://purl.org/ccf/latest/ccf.owl#",ccf:"http://purl.org/ccf/",fma:"http://purl.org/sig/ont/fma/fma",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/"},Un.DataFactory),UW={x:ir("rdf"),type:ir("rdf")("type")},dn=(ir("rdfs"),ir("rdfs")("label"),ir("rdfs")("comment"),ir("rdfs")("isDefinedBy"),ir("rdfs")("seeAlso"),ir("ccf")),vi={id:ir("ccf")("has_registration_location"),label:ir("rdfs")("label"),description:ir("rdfs")("comment"),link:dn("url"),sex:dn("sex"),age:dn("age"),bmi:dn("bmi"),Male:Un.DataFactory.literal("Male"),Female:Un.DataFactory.literal("Female"),consortiumName:dn("consortium_name"),providerName:dn("tissue_provider_name"),providerUUID:dn("tissue_provider_uuid"),donor:dn("comes_from"),sections:dn("subdivided_into_sections"),datasets:dn("generates_dataset"),sampleType:dn("sample_type"),TissueBlock:Un.DataFactory.literal("Tissue Block"),TissueSection:Un.DataFactory.literal("Tissue Section"),NonStandard:Un.DataFactory.literal("Non-standard"),sectionCount:dn("section_count"),sectionSize:dn("section_size"),sectionUnits:dn("section_size_unit"),sectionNumber:dn("section_number"),spatialEntity:dn("has_registration_location"),ontologyTerms:dn("has_ontology_term"),cellTypeTerms:dn("has_cell_type_term"),technology:dn("technology"),thumbnail:dn("thumbnail")},ki={x:dn,base:ir("base"),ontologyNode:{label:dn("ccf_pref_label"),parent:dn("ccf_part_of"),children:dn("ccf_part_of"),rui_rank:dn("rui_rank"),synonymLabels:Un.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:dn("ccf_part_of"),ct_is_a:dn("ccf_ct_isa"),located_in:dn("ccf_located_in"),characterizes:dn("ccf_characterizes")},spatial:{Female:ir("base")("VHFemale"),Male:ir("base")("VHMale"),BothSexes:ir("base")("VHBothSexes"),FemaleOrgans:ir("base")("VHFemaleOrgans"),MaleOrgans:ir("base")("VHMaleOrgans")},SpatialObjectReference:dn("spatial_object_reference"),SpatialEntity:dn("spatial_entity"),SpatialPlacement:dn("spatial_placement"),spatialObjectReference:{file:dn("file_url"),file_format:dn("file_format"),file_subpath:dn("file_subpath")},extractionSet:{label:ir("rdfs")("label"),rui_rank:dn("rui_rank")},spatialEntity:{label:ir("rdfs")("label"),description:ir("rdfs")("comment"),creator:ir("dcterms")("creator"),creator_first_name:dn("creator_first_name"),creator_last_name:dn("creator_last_name"),creator_orcid:dn("creator_orcid"),creation_date:ir("dcterms")("created"),updated_date:dn("updated_date"),ccf_annotations:dn("collides_with"),representation_of:dn("representation_of"),reference_organ:dn("has_reference_organ"),extraction_set_for:dn("extraction_set_for"),extraction_set:dn("has_extraction_set"),sex:dn("organ_owner_sex"),side:dn("organ_side"),rui_rank:dn("rui_rank"),slice_thickness:dn("slice_thickness"),slice_count:dn("slice_count"),x_dimension:dn("x_dimension"),y_dimension:dn("y_dimension"),z_dimension:dn("z_dimension"),dimension_units:dn("dimension_unit"),object:dn("has_object_reference")},spatialPlacement:{source:dn("placement_for"),target:dn("placement_relative_to"),placement_date:ir("dcterms")("created"),x_scaling:dn("x_scaling"),y_scaling:dn("y_scaling"),z_scaling:dn("z_scaling"),scaling_units:dn("scaling_unit"),x_rotation:dn("x_rotation"),y_rotation:dn("y_rotation"),z_rotation:dn("z_rotation"),w_rotation:dn("theta_rotation"),rotation_order:dn("rotation_order"),rotation_units:dn("rotation_unit"),x_translation:dn("x_translation"),y_translation:dn("y_translation"),z_translation:dn("z_translation"),translation_units:dn("translation_unit")}},di={x:ir("uberon"),body:ir("uberon")("0013702")},FNe={x:ir("cl"),cell:ir("cl")("0000000")},Zb={x:ir("fma")},vd=(ir("lmha"),{body:di.body,cell:FNe.cell,respiratory_system:di.x("0001004"),colon:di.x("0001155"),left_lung:di.x("0002168"),right_lung:di.x("0002167"),left_bronchus:di.x("0002178"),right_bronchus:di.x("0002177"),kidney:di.x("0002113"),ureter:di.x("0000056"),eye:di.x("0000970"),fallopian_tube:di.x("0003889"),knee:di.x("0001465"),ovary:di.x("0000992"),trachea:di.x("0003126"),aorta:di.x("0000947"),blood:di.x("0000178"),bone_marrow:di.x("0002371"),male_reproductive_system:di.x("0000079"),lymph_node:di.x("0000029"),blood_vasculature:di.x("0004537"),brain:di.x("0000955"),eye_left:di.x("0004548"),eye_right:Zb.x("54449"),fallopian_tube_left:di.x("0001303"),fallopian_tube_right:di.x("0001302"),heart:di.x("0000948"),kidney_left:di.x("0004538"),kidney_right:di.x("0004539"),knee_left:Zb.x("24978"),knee_right:Zb.x("24977"),large_intestine:di.x("0000059"),liver:di.x("0002107"),lungs:di.x("0002048"),mesenteric_lymph_node:di.x("0002509"),ovary_left:Zb.x("7214"),ovary_right:Zb.x("7213"),pancreas:di.x("0001264"),pelvis:di.x("0001270"),prostate_gland:di.x("0002367"),skin:di.x("0002097"),small_intestine:di.x("0002108"),spleen:di.x("0002106"),thymus:di.x("0002370"),ureter_left:di.x("0001223"),ureter_right:di.x("0001222"),urinary_bladder:di.x("0001255"),uterus:di.x("0000995")});function H2(n){const e={};return Object.entries(n).forEach(([t,i])=>{e[i.id]=t}),e}const pC={spatialObjectReference:H2(ki.spatialObjectReference),spatialEntity:H2(ki.spatialEntity),spatialPlacement:H2(ki.spatialPlacement)};function zW(n,e){const t=dp(n,e,"ExtractionSet",pC.spatialEntity);return t.extractionSites=(0,mr.sortBy)(n.getSubjects(ki.spatialEntity.extraction_set,e,null).map(i=>hp(n,i.id)),["rui_rank"]),t}function hp(n,e){const t=dp(n,e,"SpatialEntity",pC.spatialEntity);return t.object&&(t.object=function(n,e){return dp(n,e,"SpatialObjectReference",pC.spatialObjectReference)}(n,t.object)),t.ccf_annotations&&(t.ccf_annotations=n.getObjects(e,ki.spatialEntity.ccf_annotations,null).map(i=>i.id)),n.forSubjects(i=>t.entityId=i.id,vi.spatialEntity,e,null),t}function UNe(n,e){const t=dp(n,e,"SpatialPlacement",pC.spatialPlacement);return t.source&&(t.source=hp(n,t.source)),t.target&&(t.target=hp(n,t.target)),t}function HW(n,e){const t=e;let i;switch(t.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[t.x_translation,t.y_translation,t.z_translation].map(a=>a*i),s=[t.x_rotation,t.y_rotation,t.z_rotation].map(_j),o=[t.x_scaling,t.y_scaling,t.z_scaling];return n.translate(r).rotateXYZ(s).scale(o)}class GW{constructor(e){this.db=e,this.createGraph()}createGraph(){this.graph=new SRe.DirectedGraph;const e=this.db.store;e.forSubjects(i=>{this.addNode(i.id,"SpatialObjectReference")},UW.type,ki.SpatialObjectReference,null),e.forSubjects(i=>{this.addNode(i.id,"SpatialEntity")},UW.type,ki.SpatialEntity,null);const t={};for(const i of(0,Un.readQuads)(e,null,ki.spatialPlacement.source,null,null))t[i.subject.id]=i.object.id;for(const i of(0,Un.readQuads)(e,null,ki.spatialPlacement.target,null,null)){const r=t[i.subject.id];r&&this.addEdge(i.subject.id,r,i.object.id,"SpatialPlacement")}}addNode(e,t){this.graph.mergeNode(e,{type:t})}addEdge(e,t,i,r){this.graph.mergeDirectedEdge(t,i,{type:r,id:e})}getTransformationMatrix(e,t){if(e===t)return new qn(qn.IDENTITY);if(!this.graph.hasNode(e)||!this.graph.hasNode(t))return;const i=this.db.store,r=new qn(qn.IDENTITY),s=TRe()(this.graph,e,t);if(s&&s.length>0){s.reverse();let o="";for(const a of s)o&&HW(r,UNe(i,this.graph.getEdgeAttribute(a,o,"id"))),o=a;return r}}getSpatialPlacement(e,t){const i=this.graph.hasNode(e["@id"])?e["@id"]:void 0,r=(0,mr.get)(e,"placement[0]",(0,mr.get)(e,"placement",void 0));let s;if(r&&this.graph.hasNode(r.target)?(s=this.getTransformationMatrix(r.target,t),s&&(s=HW(s,r))):i&&(s=this.getTransformationMatrix(i,t)),s){const o=(new Zi).fromRotationMatrix(s,Zi.XYZ),a=s.getTranslation().map(u=>1e3*u),l=o.toVector3().map(dse),c=s.getScale().map(u=>u<1&&u>.999999?1:u);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${kRe()}_placement`,"@type":"SpatialPlacement",source:e["@id"],target:t,placement_date:(new Date).toISOString().split("T")[0],x_scaling:c[0],y_scaling:c[1],z_scaling:c[2],scaling_units:"ratio",x_rotation:l[0],y_rotation:l[1],z_rotation:l[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:a[0],y_translation:a[1],z_translation:a[2],translation_units:"millimeter"}}}}class $W{constructor(e){this.db=e}getSpatialEntity(e){return hp(this.db.store,e)}getExtractionSets(e){return function(n,e){return(0,mr.sortBy)(n.getSubjects(ki.spatialEntity.extraction_set_for,e,null).map(t=>zW(n,t.id)),["rui_rank"])}(this.db.store,e)}getExtractionSet(e){return zW(this.db.store,e)}getAnatomicalStructures(e){return function(n,e){return(0,mr.sortBy)(n.getSubjects(ki.spatialEntity.reference_organ,e,null).map(t=>hp(n,t.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,e)}getReferenceOrgans(){return function(n){const e=[];return n.forEach(t=>{t.subject.id===t.object.id&&e.push(hp(n,t.subject.id))},null,ki.spatialEntity.reference_organ,null,null),(0,mr.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(e){let t;switch(null==e?void 0:e.sex){case"Male":t=ki.spatial.Male.id;break;case"Female":t=ki.spatial.Female.id;break;case"Both":default:t=ki.spatial.BothSexes.id}return this.getSpatialEntity(t)}getReferenceOrganSets(e){let t=this.getReferenceOrgans();switch(null==e?void 0:e.sex){case"Male":t=t.filter(i=>"Male"===i.sex);break;case"Female":t=t.filter(i=>"Female"===i.sex)}return(null==e?void 0:e.debug)&&(t=t.map(i=>[[i],this.getAnatomicalStructures(i["@id"])]).reduce((i,[r,s])=>i.concat(s.length>0?s:r),[])),t}getReferenceSceneNodes(e){const t=this.getReferenceBody(e),i=[];let r=[...this.getReferenceOrganSets(e).map(s=>{const o="http://purl.obolibrary.org/obo/UBERON_0002097"===s.representation_of,a=this.getSceneNode(s,t,{color:[255,255,255,255],opacity:o?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!o});return o&&a?void i.push(a):a})];return i.length>0&&(r=[...i,...r]),(null==e?void 0:e.debug)&&(r=r.concat([this.getSceneNode(this.getSpatialEntity(ki.base("VHRightKidney").id),t,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHLeftKidney").id),t,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC1").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC2").id),t,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(ki.base("VHSpleenCC3").id),t,{color:[0,255,0,127.5],geometry:"wireframe"})])),r.filter(s=>void 0!==s)}getReferenceOrganScene(e,t){var i,r;const s=void 0!==(null==t?void 0:t.sex)&&"both"!==(null===(i=null==t?void 0:t.sex)||void 0===i?void 0:i.toLowerCase()),o=this.getReferenceOrgans().filter(a=>a.representation_of===e&&(!s||a.sex===(null==t?void 0:t.sex)));if(o.length>0){const a=o[0],c=this.getSceneNode(a,a,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===a.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),u=(null!==(r=this.db.getSpatialEntities(t))&&void 0!==r?r:[]).map(h=>this.getSceneNode(h,a,{color:[255,255,255,229.5]}));return[c].concat(u).filter(h=>void 0!==h)}return[]}getEntitySceneNodes(e){const t=this.getReferenceBody(e);return this.db.getSpatialEntities(e).map(i=>this.getSceneNode(i,t,{color:[255,255,255,229.5]})).filter(i=>void 0!==i)}getSceneNode(e,t,i={}){var r,s,o,a;const l=null===(s=null===(r=null==e?void 0:e.object)||void 0===r?void 0:r.file_format)||void 0===s?void 0:s.startsWith("model/gltf");let u=this.db.graph.getTransformationMatrix(l&&e.object?e.object["@id"]:e["@id"],t["@id"]);if(u){if(l)u=new qn(qn.IDENTITY).rotateX(_j(90)).multiplyLeft(u);else{let h;switch(e.dimension_units){case"centimeter":h=.01;break;case"millimeter":h=.001;break;case"meter":default:h=1}const f=[e.x_dimension,e.y_dimension,e.z_dimension].map(g=>g*h/2);u.scale(f)}return Object.assign({"@id":e["@id"],"@type":"SpatialSceneNode",entityId:e.entityId,ccf_annotations:e.ccf_annotations,representation_of:e.representation_of,reference_organ:e.reference_organ,scenegraph:l?null===(o=e.object)||void 0===o?void 0:o.file:void 0,scenegraphNode:l?null===(a=e.object)||void 0===a?void 0:a.file_subpath:void 0,transformMatrix:u,tooltip:e.label},i)}}getScene(e){return[...this.getReferenceSceneNodes(e),...this.getEntitySceneNodes(e)]}}const gC="https://entity.api.hubmapconsortium.org/entities/",WW=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),HNe={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},qm={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},qW="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld";class WNe{constructor(e,t="",i="",r){var s,o;if(this.data=e,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const c=this.data.descendants||[],u=(this.data.ancestors||[]).find(Ue=>"Donor"===Ue.entity_type);this.donor=this.getDonor(u,i);const h=this.getRuiLocation(e,this.donor);h?this.rui_location=h:this.bad=!0,qm[e.group_uuid]||(qm[e.group_uuid]=e.group_name);const f=new Date(e.last_modified_timestamp).toLocaleDateString(),g=qm[e.group_uuid]||e.group_name,m=e.created_by_user_displayname;this["@id"]=gC+e.uuid,this.label=`Registered ${f}, ${m}, ${g}`,this.link=`${i}browse/sample/${e.uuid}`;const A={},I=[];this.sections=I;const G=[];this.datasets=G;for(const Ue of c.filter(qe=>"Sample"===qe.entity_type)){const qe=this.getSection(Ue,e,i);A[Ue.submission_id]=qe,I.push(qe),qe.section_number=null!==(s=qe.section_number)&&void 0!==s?s:I.length}for(const Ue of c)if("Dataset"===Ue.entity_type){const qe=this.getDataset(Ue,t,i,r),bt=(0,mr.get)(Ue,["ingest_metadata","metadata","tissue_id"]);A[bt]?null===(o=A[bt].datasets)||void 0===o||o.push(qe):G.push(qe)}const k=null!=h?h:{},oe=`${k.x_dimension} x ${k.y_dimension} x ${k.z_dimension} ${k.dimension_units}`;this.section_count=k.slice_count||I.length;const we=parseFloat((k.slice_thickness||(k.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=we;const Be=k.dimension_units||"millimeter";this.section_units=Be,this.description=`${oe}, ${we} ${Be}, ${this.section_count} Sections`,I.forEach((Ue,qe)=>{Ue.description=`${k.x_dimension} x ${k.y_dimension} x ${we} ${Be}, ${we} ${Be}, ${Ue.description}`,Ue.section_number=qe+1})}getSection(e,t,i){const r=new Date(e.last_modified_timestamp).toLocaleDateString();return{"@id":gC+e.uuid,"@type":"Sample",label:`Registered ${r}, ${e.created_by_user_displayname}, ${qm[e.group_uuid]||e.group_name}`,description:`${t.sample_category}`,link:`${i}browse/sample/${e.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(e,t="",i="",r){var s;const o=new Date(e.last_modified_timestamp).toLocaleDateString(),a=qm[e.group_uuid]||e.group_name,l=e.created_by_user_displayname,c=[...e.data_types,(0,mr.get)(e,["ingest_metadata","metadata","assay_type"],"")],u=c.join("|").toLowerCase();let h,f="assets/icons/ico-unknown.svg";return-1!==u.indexOf("10x")?(h="10x",f="assets/icons/ico-bulk-10x.svg"):-1!==u.indexOf("af")?(h="AF",f="assets/icons/ico-spatial-af.svg"):-1!==u.indexOf("codex")?(h="CODEX",f="assets/icons/ico-spatial-codex.svg"):-1!==u.indexOf("imc")?(h="IMC",f="assets/icons/ico-spatial-imc.svg"):-1!==u.indexOf("lc")&&-1===u.indexOf("af")?(h="LC",f="assets/icons/ico-bulk-lc.svg"):h=-1!==u.indexOf("maldi")?"MALDI":-1!==u.indexOf("pas")?"PAS":"OTHER",f=null!==(s=this.getDatasetThumbnail(e,t,r))&&void 0!==s?s:f,{"@id":gC+e.uuid,"@type":"Dataset",label:`Registered ${o}, ${l}, ${a}`,description:`Data/Assay Types: ${c.join(", ")}`,link:`${i}browse/dataset/${e.uuid}`,technology:h,thumbnail:f}}getDatasetThumbnail(e,t,i){if(e.thumbnail_file){const r=e.thumbnail_file;return`${t}/${r.file_uuid}/${r.filename}`+(i?`?token=${i}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===e.group_uuid){const r=(0,mr.get)(e,"metadata.files",[]).filter(s=>/\.(ome\.tif|ome\.tiff)$/.test(s.rel_path)).filter(s=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(s.rel_path)).filter(s=>WW.has(s.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(s=>`${t}/${e.uuid}/${s.rel_path}`+(i?`?token=${i}`:""));if(r.length>0){const s=r[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(WW.has(s))return`assets/thumbnails/TMC-Vanderbilt/DR1/${s}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===e.group_uuid){const r=HNe[e.hubmap_id];if(r)return`assets/thumbnails/TMC-Florida/${r}`}}getDonor(e,t){const i=(e.description||"").toLowerCase();let r;i.includes("female")?r="Female":i.includes("male")&&(r="Male");const s=i.match(/age ([0-9]+)/);let o,a;s&&(o=(0,mr.toNumber)(s[1]));for(const f of(0,mr.get)(e,"metadata.organ_donor_data",(0,mr.get)(e,"metadata.living_donor_data",[])))"Feminine gender"===f.preferred_term||"Female"===f.preferred_term?r="Female":"Masculine gender"===f.preferred_term||"Male"===f.preferred_term?r="Male":"Current chronological age"===f.preferred_term||"Age"===f.preferred_term?o=(0,mr.toNumber)(f.data_value):"Body mass index"===f.preferred_term&&(a=(0,mr.toNumber)(f.data_value));let l="";r&&o&&(l+=`${r}, Age ${o}`,a&&(l+=`, BMI ${a.toFixed(1)}`));const c=new Date(e.last_modified_timestamp).toLocaleDateString(),u=qm[e.group_uuid]||e.group_name;return{"@id":gC+e.uuid,"@type":"Donor",label:l,description:`Entered ${c}, ${e.created_by_user_displayname}, ${u}`,link:`${t}browse/donor/${e.uuid}`,age:o,sex:r,bmi:a,consortium_name:"HuBMAP",provider_name:u,provider_uuid:e.group_uuid,samples:[]}}getRuiLocation(e,t){var i;let r,s=e.rui_location;if(s&&("string"==typeof s&&(s=JSON.parse(s)),s.alignment_id?console.log("Detected a deprecated rui_location",e.uuid):s["@id"]&&(r=s),s["@context"]="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"),r){const o=null!==(i=(0,mr.get)(r,["placement","target"]))&&void 0!==i?i:"";o.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,mr.set)(r,["placement","target"],o.replace("#VHSpleenCC","Male"===t.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===o||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===o)&&(0,mr.set)(r,["placement","target"],"Male"===t.sex?o.replace("#VH","#VHM")+"_Patch":o.replace("#VH","#VHF")+"_Patch")}return r}getTissueBlock(){return(0,mr.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const YNe=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.metadata.living_donor_data.preferred_term","ancestors.metadata.living_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","sample_category"],XNe={exists:{field:"rui_location"}};function YW(n,e,t){return JSON.stringify({version:!0,from:n,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=t?t:XNe,_source:{includes:YNe}})}function G2(n,e){return Bi(this,void 0,void 0,function*(){try{const t=yield fetch(n,e),i=yield t.text();return t.ok||i.startsWith("https")?i.startsWith("https")?yield fetch(i).then(s=>s.json()):JSON.parse(i):void 0}catch(t){return}})}function XW(n,e,t,i,r="",s=""){return Bi(this,void 0,void 0,function*(){let o;if("static"===e?o=yield G2(n):"search-api"===e&&(o=yield function(n,e,t){return Bi(this,void 0,void 0,function*(){const i=1e4,r=function(n){const e=new Headers;return e.append("Content-type","application/json"),n&&e.append("Authorization",`Bearer ${n}`),e}(e),s=YW(0,i,t),o=yield G2(n,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let h=i;h!h))return;const u=c.map(h=>h.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(n,i,t)),o)return function(n,e="",t="",i,r=!1){const o={},a=(0,mr.get)(n,"hits.hits",[]).map(c=>(0,mr.get)(c,"_source",{})).sort((c,u)=>c.uuid.localeCompare(u.uuid)).map(c=>new WNe(c,e,t,i).toJsonLd());for(const c of a){const u=c["@id"];o[u]?o[u].samples.push(c.samples[0]):o[u]=c}const l=Object.values(o);return r&&(function(n){let e=[],t=0;for(const i of n.filter(r=>r.samples.length>1)){const r=i.samples;for(let s=0;sc["@id"]===o)&&(r[s].deleteMe=!0,t++)}i.samples=r.filter(s=>!0!==s.deleteMe)}t>0&&console.log(`\u26a0 ${t} sections identified as blocks`)}(l),console.log(l.map(c=>Object.assign({"@context":qW},c)))),{"@context":qW,"@graph":l}}(o,r,s,i);console.warn(`Unable to load ${n} as HuBMAP Data`)})}function Jb(n,e,t){const i=new Set;for(const r of e)for(const s of(0,Un.readQuads)(n,r,t,null,null))i.add(s.object.id);return i}const tPe={[ki.spatialEntity.x_dimension.id]:"x",[ki.spatialEntity.y_dimension.id]:"y",[ki.spatialEntity.z_dimension.id]:"z"};function iPe(n,e,t,i){const r=e.getTransformationMatrix(t,i);let s;if(r){const o=r.getTranslation(),a=function(n,e){const t=dp(n,e,"Dimensions",tPe);return[t.x,t.y,t.z]}(n,t).map(c=>c/1e3/2),l=(new Zi).fromRotationMatrix(r,Zi.XYZ).toQuaternion().normalize().calculateW();s=(new k2).fromCenterHalfSizeQuaternion(o,a,l)}return s}function rPe(n,e,t,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of t){const f=iPe(n,e,h,l);f&&f.distanceSquaredTo([r,s,o].map(m=>m/1e3))<=u&&c.add(h)}return c}function mC(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,Un.readQuads)(n,c,vi.donor,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function $2(n,e,t){var i,r;const s=new Map,o=new Set;for(const c of e)for(const u of(0,Un.readQuads)(n,c,vi.spatialEntity,null,null))o.add(u.object.id),s.has(u.object.id)?null===(i=s.get(u.object.id))||void 0===i||i.push(c):s.set(u.object.id,[c]);const a=t(o),l=new Set;for(const c of a)for(const u of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(u);return l}function ev(n,e){return function(t){n.has(t.id)&&e.add(t.id)}}function KW(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.namedNode(r);n.forSubjects(ev(e,i),ki.spatialEntity.ccf_annotations,s,null)}return i}function QW(n,e){const t=function(n,e){const t=new Map;for(const i of n)for(const r of(0,Un.readQuads)(e,i,vi.spatialEntity,null,null))t.has(r.object.id)?t.get(r.object.id).add(i):t.set(r.object.id,new Set([i]));return t}(n,e),i=new Map;for(const r of t.keys()){const s=t.get(r);for(const o of(0,Un.readQuads)(e,r,ki.spatialEntity.ccf_annotations,null,null))if(i.has(o.object.id)){const a=i.get(o.object.id);s.forEach(l=>a.add(l))}else i.set(o.object.id,new Set(s))}return i}function bPe(n,e,t){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[ki.ontologyNode.label.id]:"label",[t]:"parent",[ki.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of z2(n,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=n.getSubjects(t,e,null).map(s=>s.id),i}function ZW(n,e,t,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,Un.readQuads)(n,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=bPe(n,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:t,children:[],synonymLabels:[]});const o=n.getSubjects(i,e,null).map(a=>a.id).sort((a,l)=>r.nodes[a].label.localeCompare(r.nodes[l].label));return r.nodes[e].children=o,JW(r),r}function JW(n,e,t=new Set){const i=n.nodes[null!=e?e:n.root];if(i){i.children=i.children.filter(r=>!t.has(r)),i.children.forEach(r=>t.add(r));for(const r of i.children)JW(n,r,t),n.nodes[r]&&(n.nodes[r].parent=i["@id"])}}const eq=(0,mr.memoize)(function(n){const e=ZW(n,vd.body.id,"body",ki.asctb.part_of.id);return e.nodes[vd.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),_C={[vi.label.id]:"label",[vi.description.id]:"description",[vi.link.id]:"link"},EPe=Object.assign(Object.assign({},_C),{[vi.providerName.id]:"providerName"}),xPe=Object.assign(Object.assign({},_C),{[vi.technology.id]:"technology",[vi.thumbnail.id]:"thumbnail"}),SPe=Object.assign(Object.assign({},_C),{[vi.sampleType.id]:"sampleType",[vi.sectionNumber.id]:"sectionNumber",[vi.datasets.id]:"datasets"}),CPe=Object.assign(Object.assign({},_C),{[vi.sampleType.id]:"sampleType",[vi.sectionCount.id]:"sectionCount",[vi.sectionSize.id]:"sectionSize",[vi.sectionUnits.id]:"sectionUnits",[vi.donor.id]:"donor",[vi.spatialEntity.id]:"spatialEntityId",[vi.sections.id]:"sections",[vi.datasets.id]:"datasets"});function TPe(n,e){return dp(n,e,"Donor",EPe)}function tq(n,e){return dp(n,e,"Dataset",xPe)}function APe(n,e){const t={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of z2(n,e,SPe))if("datasets"===i){const s=tq(n,r);t[i].push(s)}else t[i]=r;return t}class DPe{constructor(e){this.database=e,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const e=Date.now();return this.database.connect().then(t=>Bi(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var i;this.status="Error",this.message=null!==(i=null==t?void 0:t.message)&&void 0!==i?i:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-e})}}const IPe={"@context":{"@base":"http://purl.org/ccf/","@vocab":"http://purl.org/ccf/",ccf:"http://purl.org/ccf/",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dcterms:"http://purl.org/dc/terms/",label:"rdfs:label",description:"rdfs:comment",link:"ccf:url",sex:"ccf:sex",age:"ccf:age",bmi:"ccf:bmi",consortium_name:"ccf:consortium_name",provider_name:"ccf:tissue_provider_name",provider_uuid:"ccf:tissue_provider_uuid",donor:{"@id":"ccf:comes_from","@type":"@id"},samples:{"@reverse":"donor"},sections:{"@id":"ccf:subdivided_into_sections","@type":"@id"},datasets:{"@id":"ccf:generates_dataset","@type":"@id"},sample_type:"ccf:sample_type",section_count:"ccf:section_count",section_size:"ccf:section_size",section_units:"ccf:section_size_unit",section_number:"ccf:section_number",rui_location:{"@id":"ccf:has_registration_location","@type":"@id"},ccf_annotations:{"@id":"ccf:collides_with","@type":"@id","@container":"@set"},representation_of:{"@id":"ccf:representation_of","@type":"@id"},reference_organ:{"@id":"ccf:has_reference_organ","@type":"@id"},extraction_set_for:{"@id":"ccf:extraction_set_for","@type":"@id"},extraction_set:{"@id":"ccf:has_extraction_set","@type":"@id"},organ_owner_sex:"ccf:organ_owner_sex",side:"ccf:organ_side",rui_rank:"ccf:rui_rank",slice_thickness:"ccf:slice_thickness",slice_count:"ccf:slice_count",object:{"@id":"ccf:has_object_reference","@type":"@id"},creation_date:"dcterms:created",updated_date:"ccf:updated_date",creator:"dcterms:creator",creator_first_name:"ccf:creator_first_name",creator_last_name:"ccf:creator_last_name",placement:{"@reverse":"ccf:placement_for"},placement_date:"dcterms:created",rotation_order:"ccf:rotation_order",dimension_units:"ccf:dimension_unit",rotation_units:"ccf:rotation_unit",scaling_units:"ccf:scaling_unit",translation_units:"ccf:translation_unit",source:{"@id":"ccf:placement_for","@type":"@id"},target:{"@id":"ccf:placement_relative_to","@type":"@id"},x_rotation:"ccf:x_rotation",y_rotation:"ccf:y_rotation",z_rotation:"ccf:z_rotation",x_scaling:"ccf:x_scaling",y_scaling:"ccf:y_scaling",z_scaling:"ccf:z_scaling",x_translation:"ccf:x_translation",y_translation:"ccf:y_translation",z_translation:"ccf:z_translation",x_dimension:"ccf:x_dimension",y_dimension:"ccf:y_dimension",z_dimension:"ccf:z_dimension",ontology_terms:{"@id":"ccf:has_ontology_term","@type":"@id"},technology:"ccf:technology",thumbnail:"ccf:thumbnail",file:"ccf:file_url",file_format:"ccf:file_format",file_subpath:"ccf:file_subpath"}};function W2(n){return JSON.parse(n,(e,t)=>"ccf_annotations"===e&&Array.isArray(t)?t.map(i=>(null==i?void 0:i.startsWith("http://purl.obolibrary.org/obo/FMA_"))?i.replace("http://purl.obolibrary.org/obo/FMA_","http://purl.org/sig/ont/fma/fma"):i):"@context"!==e||!t||"https://hubmapconsortium.github.io/hubmap-ontology/ccf-entity-context.jsonld"!==t&&"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld"!==t&&"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"!==t&&"http://purl.org/ccf/latest/ccf-entity.owl#"!==t["@base"]?t:IPe)}const RPe={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class NPe{constructor(e=RPe){this.options=e,this.store=new Un.Store(void 0,{factory:Un.DataFactory}),this.graph=new GW(this),this.scene=new $W(this)}connect(e,t=!1){return Bi(this,void 0,void 0,function*(){return e&&(this.options=e),this.initializing||(this.initializing=t?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return Bi(this,void 0,void 0,function*(){const e=(new Date).getTime(),t=wRe()(this.options,{encoding:"base64",ignoreUnknown:!0,respectType:!1,unorderedArrays:!0,unorderedObjects:!0,unorderedSets:!0}),i=`ccf-database.last_modified.${t}`,r=`ccf-database.${t}`,s=yield AW(i).catch(()=>{});let o;s&&e-new Date(+s).getTime()>36e5?yield function(n,e=Cc()){return e("readwrite",t=>(n.forEach(i=>t.delete(i)),vu(t.transaction)))}([r,i]).catch(()=>{}):o=yield AW(r).catch(()=>{}),o?yield this.deserialize(o):(yield this.doConnect(),function(n,e=Cc()){return e("readwrite",t=>(n.forEach(i=>t.put(i[1],i[0])),vu(t.transaction)))}([[r,this.serialize()],[i,""+e]]).catch(()=>{}))})}doConnect(){var e,t;return Bi(this,void 0,void 0,function*(){const i=[],r=null!==(t=null===(e=this.options.dataSources)||void 0===e?void 0:e.concat())&&void 0!==t?t:[],s=this.options.ccfOwlUrl;if(s.startsWith("{"))this.store=(0,Un.deserializeN3Store)(s,Un.DataFactory);else if(s.endsWith(".n3store.json")){const o=yield fetch(s).then(a=>a.text()).catch(()=>console.log("Couldn't locate serialized store."));o&&(this.store=(0,Un.deserializeN3Store)(o,Un.DataFactory))}else(null==s?void 0:s.length)>0&&r.push(s);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?r.push(this.options.hubmapDataUrl):i.push(XW(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(o=>{if(o)return this.addDataSources([o])}))),i.push(this.addDataSources(r)),yield Promise.all(i),yield this.synchronize()})}addDataSources(e,t){return Bi(this,void 0,void 0,function*(){const i=null!=t?t:this.store;return yield Promise.all(e.map(r=>Bi(this,void 0,void 0,function*(){"string"==typeof r?(r.startsWith("http")||r.startsWith("assets/"))&&r.includes("jsonld")?(r=W2(r=yield fetch(r).then(s=>s.text())),yield(0,Un.addJsonLdToStore)(r,i)):r.endsWith("n3")?yield(0,Un.addN3ToStore)(r,i):r.endsWith("rdf")||r.endsWith("owl")||r.endsWith("xml")?yield(0,Un.addRdfXmlToStore)(r,i):(r=W2(r),yield(0,Un.addJsonLdToStore)(r,i)):(r=W2(JSON.stringify(r)),yield(0,Un.addJsonLdToStore)(r,i))}))),this})}synchronize(){return Bi(this,void 0,void 0,function*(){return yield new Promise(e=>{setTimeout(e,500)}),this.graph.createGraph(),function(n){var e,t,i;const r=eq(n),s=new Map;for(const{subject:o,object:a}of(0,Un.readQuads)(n,null,ki.spatialEntity.representation_of,null,null)){const l=new Set([a.id]);let c=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;c&&!l.has(c);)l.add(c),c=null===(t=r.nodes[c])||void 0===t?void 0:t.parent;s.set(o.id,[...l].map(u=>Un.DataFactory.namedNode(u)))}for(const{object:o}of(0,Un.readQuads)(n,null,vi.spatialEntity,null,null))for(const{subject:a}of(0,Un.readQuads)(n,null,ki.spatialPlacement.source,o,null))for(const{object:l}of(0,Un.readQuads)(n,a,ki.spatialPlacement.target,null,null))for(const c of null!==(i=s.get(l.id))&&void 0!==i?i:[])n.addQuad(Un.DataFactory.namedNode(o.id),ki.spatialEntity.ccf_annotations,c)}(this.store),this})}serialize(){return(0,Un.serializeN3Store)(this.store)}deserialize(e){return Bi(this,void 0,void 0,function*(){this.store=(0,Un.deserializeN3Store)(e,Un.DataFactory),this.graph=new GW(this),this.scene=new $W(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(e={}){return function(n,e,t){var i,r,s,o,a,l,c;let u=function(n){const e=new Set;return n.forSubjects(t=>e.add(t.id),vi.spatialEntity,null,null),e}(n);if(u.size>0&&(u=function(n,e,t=!0){const i=new Set;if(n.forSubjects(ev(e,i),vi.spatialEntity,null,null),!t){const r=new Set;return e.forEach(s=>i.has(s)?void 0:r.add(s)),r}return i}(n,u)),u.size>0&&("Male"===t.sex||"Female"===t.sex)){const h=t.sex;u=mC(n,u,f=>function(n,e,t){const i=new Set;return n.forSubjects(ev(e,i),vi.sex,vi[t],null),i}(n,f,h))}if(u.size>0&&(null===(i=t.tmc)||void 0===i?void 0:i.length)>0&&(u=mC(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.literal(r);n.forSubjects(ev(e,i),vi.providerName,s,null)}return i}(n,h,t.tmc))),u.size>0&&(null===(r=t.technologies)||void 0===r?void 0:r.length)>0&&(u=function(n,e,t){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const h of(0,Un.readQuads)(n,u,vi.sections,null,null))a.add(h.object.id);for(const u of a)for(const h of(0,Un.readQuads)(n,u,vi.datasets,null,null))o.add(h.object.id),s.has(h.object.id)?null===(i=s.get(h.object.id))||void 0===i||i.push(u):s.set(h.object.id,[u]);const l=t(o),c=new Set;for(const u of l)for(const h of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(h);return c}(n,u,h=>function(n,e,t){const i=new Set;for(const r of t){const s=Un.DataFactory.literal(r);n.forSubjects(ev(e,i),vi.technology,s,null)}return i}(n,h,t.technologies))),u.size>0&&(null===(s=t.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=$2(n,u,h=>function(n,e,t,i){const r=new Set;for(const s of i)rPe(n,e,t,s).forEach(a=>r.add(a));return r}(n,e,h,t.spatialSearches))),u.size>0&&(null===(o=t.ontologyTerms)||void 0===o?void 0:o.length)>0){const h=t.ontologyTerms;-1===h.indexOf(vd.body.id)&&(u=$2(n,u,f=>KW(n,f,h)))}if(u.size>0&&(null===(a=t.cellTypeTerms)||void 0===a?void 0:a.length)>0){const h=t.cellTypeTerms;-1===h.indexOf(vd.cell.id)&&(u=$2(n,u,f=>function(n,e,t){const i=new Set;for(const r of t)n.forObjects(s=>{i.add(s.id)},r,ki.asctb.located_in,null),r===vd.cell.id&&i.add(vd.body.id);return KW(n,e,[...i])}(n,f,h)))}if(u.size>0&&2===(null===(l=t.ageRange)||void 0===l?void 0:l.length)&&(0,mr.isFinite)(t.ageRange[0])&&(0,mr.isFinite)(t.ageRange[1])){const h=Math.max(...t.ageRange),f=Math.min(...t.ageRange);1===f&&110===h||(u=mC(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,Un.readQuads)(n,s,vi.age,null,null)){const a=(0,cC.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,f,h)))}if(u.size>0&&2===(null===(c=t.bmiRange)||void 0===c?void 0:c.length)&&(0,mr.isFinite)(t.bmiRange[0])&&(0,mr.isFinite)(t.bmiRange[1])){const h=Math.max(...t.bmiRange),f=Math.min(...t.bmiRange);13===f&&83===h||(u=mC(n,u,g=>function(n,e,t,i){const r=new Set;for(const s of e)for(const o of(0,Un.readQuads)(n,s,vi.bmi,null,null)){const a=(0,cC.fromRdf)(o.object);a>=t&&a<=i&&r.add(s)}return r}(n,g,f,h)))}return u}(this.store,this.graph,e)}get(e){return this.store.getQuads(Un.DataFactory.namedNode(e),null,null,null)}search(e={}){return[...this.getIds(e)].map(t=>this.get(t))}getSpatialEntities(e){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t=n.getObjects(Un.DataFactory.namedNode(e),vi.spatialEntity,null);if(t.length>0)return hp(n,t[0].id)}(this.store,t))}getDatabaseStatus(){return Bi(this,void 0,void 0,function*(){return this.status||(this.status=new DPe(this)),this.status.toJson()})}getDatasetTechnologyNames(){return Bi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,Un.readQuads)(n,null,vi.technology,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return Bi(this,void 0,void 0,function*(){return function(n){const e=new Set;for(const t of(0,Un.readQuads)(n,null,vi.providerName,null,null))e.add(t.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(e){return Bi(this,void 0,void 0,function*(){return e=Object.assign(Object.assign({},e),{hasSpatialEntity:!0}),[...this.getIds(e)].map(t=>function(n,e){const t={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of z2(n,e,CPe))if("sections"===i){const s=APe(n,r);t[i].push(s)}else if("datasets"===i){const s=tq(n,r);t[i].push(s)}else t[i]="donor"===i?TPe(n,r):r;return t}(this.store,t))})}getAggregateResults(e){return Bi(this,void 0,void 0,function*(){return function(n,e){const t=Jb(e,n,vi.donor.id),i=Jb(e,t,vi.providerUUID.id),r=new Set;for(const l of n)for(const c of(0,Un.readQuads)(e,l,vi.spatialEntity,null,null))r.add(c.subject.id);const s=Jb(e,r,vi.sections.id),o=new Set([...Jb(e,r,vi.datasets.id),...Jb(e,s,vi.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:t.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([l,c])=>({label:l,count:c}))}(this.getIds(e),this.store)})}getOntologyTermOccurences(e){return Bi(this,void 0,void 0,function*(){return function(n,e){const t={};return QW(n,e).forEach((r,s)=>{t[s]=r.size}),t}(this.getIds(e),this.store)})}getCellTypeTermOccurences(e){return Bi(this,void 0,void 0,function*(){return function(n,e){var t,i;const r=QW(n,e),s=new Map;for(const a of r.keys()){const l=r.get(a);for(const c of(0,Un.readQuads)(e,null,ki.asctb.located_in,a,null)){const u=c.subject.id;if(s.has(u)){const h=s.get(u);l.forEach(f=>h.add(f))}else s.set(u,new Set(l))}}const o={};return s.forEach((a,l)=>{o[l]=a.size}),o[vd.cell.id]=null!==(i=null===(t=r.get(vd.body.id))||void 0===t?void 0:t.size)&&void 0!==i?i:0,o}(this.getIds(e),this.store)})}getOntologyTreeModel(){return Bi(this,void 0,void 0,function*(){return eq(this.store)})}getCellTypeTreeModel(){return Bi(this,void 0,void 0,function*(){return function(n){return ZW(n,vd.cell.id,"cell",ki.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return Bi(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(e){return Bi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(e)})}getReferenceOrganScene(e,t){return Bi(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(e,t)})}getSpatialPlacement(e,t){return Bi(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(e,t)})}}class nq extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}function FPe(){throw new nq}function LPe(){throw new nq}function q2(n,e,t){e.run(()=>n.dispatch(t))}function jPe(n,e,t,i){return yg(t)?function(n,e,t){return t.then(i=>(q2(n,e,i),i))}(n,e,t):Im(t)?function(n,e,t,i){return null!==i&&(t=t.pipe(gr(i.cancelUncompleted$))),t.subscribe({next:r=>q2(n,e,r)}),t}(n,e,t,i):(q2(n,e,t),t)}class UPe{constructor(){this.cancelUncompleted$=new se}cancelPreviousAction(){this.cancelUncompleted$.next()}}const Y2="\u0275fac",iq=Symbol("InjectorInstance"),rq=Symbol("FactoryHasBeenDecorated");function sq(n,e){const t=n[iq];return t?t.get(e):null}const GPe={cancelUncompleted:!1};function oq(n=GPe){return(e,t,i)=>{let r;const s=function(n){return n?new UPe:null}(n.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const a=sq(this,hu)||FPe(),l=sq(this,pn)||LPe(),c=r.apply(this,arguments);return l.runOutsideAngular(()=>jPe(a,l,c,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,t,{set:a=>r=a,get:()=>o}),function(n){if(rq in n.constructor.prototype)return;const e=n.constructor;"function"==typeof e[Y2]&&function(n){const e=n[Y2];if("function"!=typeof e)return;const t=n.\u0275prov||n.\u0275pipe||n.\u0275cmp||n.\u0275dir,i=()=>{const r=e();return r[iq]=Oe(Vu),r};t&&(t.factory=i),Object.defineProperty(n,Y2,{get:()=>i})}(e),n.constructor.prototype[rq]=!0}(e)}}const y2e=["bodyCanvas"];let b2e=(()=>{class n{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new ln,this.nodeDrag=new ln,this.nodeClick=new ln,this.nodeHoverStart=new ln,this.nodeHoverStop=new ln,this.initialized=new ln,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var i;this._scene=t,null===(i=this.bodyUI)||void 0===i||i.setScene(t)}get rotation(){return this._rotation}set rotation(t){var i;this._rotation=t,null===(i=this.bodyUI)||void 0===i||i.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var i;this._rotationX=t,null===(i=this.bodyUI)||void 0===i||i.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var i;this._zoom=t,null===(i=this.bodyUI)||void 0===i||i.setZoom(t)}get target(){return this._target}set target(t){var i;this._target=t,null===(i=this.bodyUI)||void 0===i||i.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,i={x:48,y:48}){if(this.bodyCanvas){const{width:r,height:s}=this.bodyCanvas.nativeElement,o=window.devicePixelRatio,a=Math.min(Math.log2((r-i.x)/o/t.x),Math.log2((s-i.y)/o/t.y));this.zoom=a}}setupBodyUI(){var t;return Bi(this,void 0,void 0,function*(){const i=this.bodyCanvas.nativeElement,r=new zve({id:"body-ui",canvas:i,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});i.addEventListener("contextmenu",s=>s.preventDefault()),yield r.initialize(),this.bodyUI=r,window.bodyUI=r,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(s=>this.rotationChange.next(s)),this.bodyUI.nodeDrag$.subscribe(s=>this.nodeDrag.emit(s)),this.bodyUI.nodeClick$.subscribe(s=>this.nodeClick.emit(s)),this.bodyUI.nodeHoverStart$.subscribe(s=>this.nodeHoverStart.emit(s)),this.bodyUI.nodeHoverStop$.subscribe(s=>this.nodeHoverStop.emit(s))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-body-ui"]],viewQuery:function(t,i){if(1&t&&hr(y2e,5,gn),2&t){let r;Gn(r=$n())&&(i.bodyCanvas=r.first)}},hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,i){1&t&&ni(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),n})(),v2e=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr]]}),n})();new Ht("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const yq=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((n,e)=>n.name.localeCompare(e.name));function V2e(n,e){if(1&n&&(wt(0,"div",16),ni(1,"youtube-player",17),Et()),2&n){const t=_i(3);zt(1),dE("videoId",t.videoID)}}function j2e(n,e){if(1&n&&(wt(0,"mat-expansion-panel",11),wt(1,"mat-expansion-panel-header"),wt(2,"h2",12),Jn(3),Et(),Et(),wt(4,"div",13),ni(5,"markdown",14),wi(6,V2e,2,1,"div",15),Et(),Et()),2&n){const t=_i(),i=t.index,r=t.$implicit;Jt("expanded",0===i),zt(3),gs(r.title),zt(2),ai("first",0===i),Jt("data",r.content),zt(1),Jt("ngIf",0===i)}}function U2e(n,e){if(1&n&&(wt(0,"div",9),wi(1,j2e,7,6,"mat-expansion-panel",10),Et()),2&n){const t=e.$implicit;zt(1),Jt("ngIf",t)}}yq.filter(n=>!0!==n.disabled);let bq=(()=>{class n{constructor(t,i){this.dialogRef=t,this.data=i,this.documentationContents=i.content||[],this.infoTitle=i.title||"",this.videoID=i.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return n.\u0275fac=function(t){return new(t||n)(Oe(F1),Oe(N7))},n.\u0275cmp=rn({type:n,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),wt(2,"div",2),wt(3,"div",3),wt(4,"h2",4),Jn(5),Et(),wt(6,"div",5),wt(7,"mat-icon",6),Tn("click",function(){return i.close()}),Jn(8,"clear"),Et(),Et(),Et(),wt(9,"mat-dialog-content",7),wi(10,U2e,2,1,"div",8),Et(),Et(),Et(),Et()),2&t&&(zt(5),gs(i.infoTitle),zt(5),Jt("ngForOf",i.documentationContents))},directives:[k7,Fm,F7,Yu,ac,U7,z7,W7,K7],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),n})(),vq=(()=>{class n{constructor(t){this.http=t,this.panelContent=new Fr({content:[],infoTitle:"",videoID:""})}updateData(t,i,r){this.http.get(t,{responseType:"text"}).subscribe(s=>{const o={content:this.parseMarkdown(s),infoTitle:r,videoID:i};this.panelContent.next(o)})}parseMarkdown(t){const i=[],r=t.split("# ");for(const s of r)if(s.length){const o=s.includes("\n\n")?"\n\n":"\r\n\r\n",a=s.split(o);i.push({title:a[0],content:a.splice(1).join(o)})}return i}}return n.\u0275fac=function(t){return new(t||n)(ke(_u))},n.\u0275prov=tt({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),H2e=(()=>{class n{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new ln,this.closeClicked=new ln}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),wt(2,"div",2),wt(3,"div",3),wt(4,"p",4),Jn(5),Et(),wt(6,"mat-icon",5),Tn("click",function(){return i.close()}),Jn(7,"clear"),Et(),Et(),ni(8,"img",6),wt(9,"mat-dialog-content",7),wt(10,"div",8),Jn(11),Et(),wt(12,"a",9),Tn("click",function(){return i.onDialogButtonClick()}),Et(),Et(),Et(),Et(),Et()),2&t&&(zt(5),gs(i.infoTitle),zt(3),Jt("src",i.imageUrl,sf),zt(3),xo(" ",i.message,""),zt(1),Jt("text",i.callToAction))},directives:[k7,Fm,BMe,F7],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),n})(),Qm=(()=>{let n=class extends MDe{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(Ki(n=>null!=n),Wa(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(o7(...t),ld(),Wa(1))}getOption(...t){const i=this.getPathKey(t);if(this.optionCache.has(i))return this.optionCache.get(i);const r=this.config$.pipe(o7(...t),ld(),Wa(1));return this.optionCache.set(i,r),r}getPathKey(t){return`${t.length}:${t.join(".")}`}};return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=tt({token:n,factory:n.\u0275fac}),Ei([f9()],n.prototype,"config$",null),n=Ei([CDe(),A6({name:"globalConfig",defaults:null})],n),n})();!function(){const n=localStorage.getItem("ALLOW_TELEMETRY");null===n||n.toLowerCase()}();class wq extends class{getDatabaseStatus(){return this.forwardCall("getDatabaseStatus")}getProviderNames(){return this.forwardCall("getProviderNames")}getDatasetTechnologyNames(){return this.forwardCall("getDatasetTechnologyNames")}getOntologyTreeModel(){return this.forwardCall("getOntologyTreeModel")}getCellTypeTreeModel(){return this.forwardCall("getCellTypeTreeModel")}getReferenceOrgans(){return this.forwardCall("getReferenceOrgans")}getTissueBlockResults(e){return this.forwardCall("getTissueBlockResults",e)}getAggregateResults(e){return this.forwardCall("getAggregateResults",e)}getOntologyTermOccurences(e){return this.forwardCall("getOntologyTermOccurences",e)}getCellTypeTermOccurences(e){return this.forwardCall("getCellTypeTermOccurences",e)}getScene(e){return this.forwardCall("getScene",e)}getReferenceOrganScene(e,t){return this.forwardCall("getReferenceOrganScene",e,t)}}{forwardCall(e,...t){return this.impl$.pipe(is(i=>i[e](...t)))}}let Eq=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const Z2=new se,nv={cacheBusterObserver:Z2},Zm={cacheBusterObserver:Z2,maxCacheCount:4};function xq(n,e,t){return n?{min:n[0]>e?n[0]:void 0,max:n[1]{var t;return Object.assign(Object.assign({},e),{transformMatrix:new qn(null!==(t=e.transformMatrix)&&void 0!==t?t:[])})})}let Q2e=(()=>{class n{constructor(t,i){this.api=t,this.globalConfig=i,i.getOption("hubmapToken").subscribe(Z2)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},n=>n)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},n=>n)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},n=>n)}getTissueBlockResults(t){return this.doRequest(i=>this.api.tissueBlocks(i),t,{},n=>n)}getAggregateResults(t){return this.doRequest(i=>this.api.aggregateResults(i),t)}getOntologyTermOccurences(t){return this.doRequest(i=>this.api.ontologyTermOccurences(i),t)}getCellTypeTermOccurences(t){return this.doRequest(i=>this.api.cellTypeTermOccurences(i),t)}getScene(t){return this.doRequest(i=>this.api.scene(i),t,{},Sq)}getReferenceOrganScene(t,i){return this.doRequest(r=>this.api.referenceOrganScene(r),i,{organIri:t},Sq)}doRequest(t,i,r,s){const{api:o,globalConfig:a}=this,l=Object.assign(Object.assign({},function(n){var e,t;return{age:xq(null==n?void 0:n.ageRange,1,110),bmi:xq(null==n?void 0:n.bmiRange,13,83),sex:null===(t=null===(e=null==n?void 0:n.sex)||void 0===e?void 0:e.toLowerCase)||void 0===t?void 0:t.call(e),ontologyTerms:null==n?void 0:n.ontologyTerms,cellTypeTerms:null==n?void 0:n.cellTypeTerms,providers:null==n?void 0:n.tmc,technologies:null==n?void 0:n.technologies,spatial:null==n?void 0:n.spatialSearches}}(i)),r);return yc([a.getOption("remoteApiEndpoint"),a.getOption("hubmapToken")]).pipe(qr(1),cr(([c,u])=>{o.configuration.basePath=c,u&&(l.token=u)}),is(()=>t(l)),be(c=>s?s(c):c))}}return n.\u0275fac=function(t){return new(t||n)(ke(TW),ke(Qm))},n.\u0275prov=tt({token:n,factory:n.\u0275fac,providedIn:"root"}),Ei([Sc(nv)],n.prototype,"getProviderNames",null),Ei([Sc(nv)],n.prototype,"getDatasetTechnologyNames",null),Ei([Sc(nv)],n.prototype,"getOntologyTreeModel",null),Ei([Sc(nv)],n.prototype,"getCellTypeTreeModel",null),Ei([Sc(nv)],n.prototype,"getReferenceOrgans",null),Ei([Sc(Zm)],n.prototype,"getTissueBlockResults",null),Ei([Sc(Zm)],n.prototype,"getAggregateResults",null),Ei([Sc(Zm)],n.prototype,"getOntologyTermOccurences",null),Ei([Sc(Zm)],n.prototype,"getCellTypeTermOccurences",null),Ei([Sc(Zm)],n.prototype,"getScene",null),Ei([Sc(Zm)],n.prototype,"getReferenceOrganScene",null),n})(),Z2e=(()=>{class n extends wq{constructor(t){super(),this.impl$=this.database$=t.config$.pipe(i=>i,Ki(i=>Object.keys(i).length>0),is(i=>function(n,e){return new P(t=>{let i,r;try{i=n()}catch(a){return void t.error(a)}try{r=e(i)}catch(a){return void t.error(a)}const o=(r?Ye(r):Qc).subscribe(t);return()=>{o.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDatabase(i),r=>this.connectDatabase(r,i))),be(i=>i.database),Wa(1))}connectDatabase(t,i){return Bi(this,void 0,void 0,function*(){const r=!fa();return yield t.database.connect(i,r),t})}}return n.\u0275fac=function(t){return new(t||n)(ke(Qm))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),J2e=(()=>{class n extends Z2e{createDatabase(t){return{database:new NPe(t),unsubscribe:()=>{}}}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=tt({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),eke=(()=>{class n extends wq{constructor(t,i){super(),this.impl$=t.config$.pipe(r=>r,be(r=>this.selectToken(r)),ld(),be(r=>i.get(r)),Wa(1))}}return n.\u0275fac=function(t){return new(t||n)(ke(Qm),ke(Hn))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})(),J2=(()=>{class n{}return n.type="[CallToAction] Learn More",n})(),ek=(()=>{class n{}return n.type="[CallToAction] Open Dialog",n})(),tk=(()=>{class n{}return n.type="[CallToAction] Close Dialog",n})();var nk;class wa{get length(){var e,t;return null!==(t=null===(e=wa.storage)||void 0===e?void 0:e.length)&&void 0!==t?t:0}key(e){var t,i;return null!==(i=null===(t=wa.storage)||void 0===t?void 0:t.key(e))&&void 0!==i?i:null}getItem(e,t){var i,r,s;return null!==(s=null!==(r=null===(i=wa.storage)||void 0===i?void 0:i.getItem(e))&&void 0!==r?r:t)&&void 0!==s?s:null}setItem(e,t){var i;try{return null===(i=wa.storage)||void 0===i||i.setItem(e,t),!0}catch(r){return!1}}removeItem(e){var t;null===(t=wa.storage)||void 0===t||t.removeItem(e)}clear(){var e;null===(e=wa.storage)||void 0===e||e.clear()}}wa.storage=(()=>{let n;try{n=window.localStorage;const e="__storage_test__";return n.setItem(e,e),n.removeItem(e),n}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&n&&0!==n.length?n:void 0}})(),wa.\u0275fac=function(e){return new(e||wa)},wa.\u0275prov=tt({token:wa,factory:wa.\u0275fac,providedIn:"root"});const Cq="callToActionPopupShown";let Ro=nk=class{constructor(e,t,i,r,s){this.dialog=e,this.ga=t,this.storage=i,this.infoService=r,this.http=s}static ctaDatePassed(e,t=Date.now){return+t()>+new Date(e)}ngxsOnInit(e){const{expirationDate:t,popupShown:i}=e.getState(),r=this.storage.getItem(Cq,`${i}`),s=nk.ctaDatePassed(t);"true"!==r&&!s&&e.dispatch(new ek)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(be(e=>this.infoService.parseMarkdown(e)))}launchLearnMore(e){this.dialog.open(bq,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:e,videoID:"UfxMpzatowE"}})}learnMore(e){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(cr(t=>this.launchLearnMore(t)))}open(e){this.dialog.open(nke,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(Cq,"true"),e.patchState({popupShown:!0})}close(e){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};Ro.\u0275fac=function(e){return new(e||Ro)(ke(Pb),ke(qb),ke(wa),ke(vq),ke(_u))},Ro.\u0275prov=tt({token:Ro,factory:Ro.\u0275fac}),Ei([yN(J2)],Ro.prototype,"learnMore",null),Ei([yN(ek)],Ro.prototype,"open",null),Ei([yN(tk)],Ro.prototype,"close",null),Ro=nk=Ei([A6({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],Ro);let EC=(()=>{class n{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return Ei([_m([Ro])],n,"title",null),Ei([_m([Ro])],n,"message",null),Ei([_m([Ro])],n,"callToAction",null),Ei([_m([Ro])],n,"imageUrl",null),Ei([_m([Ro])],n,"expirationDate",null),Ei([_m([Ro])],n,"popupShown",null),n})(),nke=(()=>{class n{constructor(){this.close=()=>new tk,this.learnMore=()=>new J2}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,i){1&t&&(wt(0,"ccf-call-to-action",0),Tn("callToActionClicked",function(){return i.learnMore()})("closeClicked",function(){return i.close()}),Ns(1,"async"),Ns(2,"async"),Ns(3,"async"),Ns(4,"async"),Et()),2&t&&Jt("infoTitle",To(1,4,i.title$))("message",To(2,6,i.message$))("callToAction",To(3,8,i.callToAction$))("imageUrl",To(4,10,i.imageUrl$))},directives:[H2e],pipes:[g0],styles:[""],changeDetection:0}),Ei([NS(EC.title)],n.prototype,"title$",void 0),Ei([NS(EC.message)],n.prototype,"message$",void 0),Ei([NS(EC.callToAction)],n.prototype,"callToAction$",void 0),Ei([NS(EC.imageUrl)],n.prototype,"imageUrl$",void 0),Ei([oq()],n.prototype,"close",void 0),Ei([oq()],n.prototype,"learnMore",void 0),n})(),ske=(()=>{class n{constructor(t){this.source=t,this.organs=yq}getOrganInfo(t,i,r="Female"){let s=this.organs.find(a=>a.id===t);if(!s)return sn(void 0);const o=s.organ;return s.disabled&&(s=this.organs.find(a=>!a.disabled&&a.organ===o)),(null==s?void 0:s.side)&&i&&s.side!==i&&(s=this.organs.find(a=>!a.disabled&&a.organ===o&&a.side===i)),sn(s)}getOrgan(t,i="Both"){return this.source.getReferenceOrgans().pipe(be(r=>r.find(s=>s.representation_of===t.id&&("Both"===i||s.sex===i))))}getOrganScene(t,i="Female"){return t.id?this.source.getReferenceOrganScene(t.id,{ontologyTerms:[t.id],sex:i}):sn([])}getOrganStats(t,i="Female"){return t.id?this.source.getAggregateResults({ontologyTerms:[t.id],sex:i}):sn([])}getBlocks(t,i="Female"){return t.id?this.source.getTissueBlockResults({ontologyTerms:[t.id],sex:i}):sn([])}}return n.\u0275fac=function(t){return new(t||n)(ke(Eq))},n.\u0275prov=tt({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const oke=["thumbContainer"],ake=["toggleBar"],lke=["input"],cke=function(n){return{enterDuration:n}},uke=["*"],dke=new Ht("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1})});let hke=0;const fke={provide:Xo,useExisting:ye(()=>Tq),multi:!0};class pke{constructor(e,t){this.source=e,this.checked=t}}const gke=E1(Mm(Ch(Am(class{constructor(n){this._elementRef=n}}))));let Tq=(()=>{class n extends gke{constructor(t,i,r,s,o,a){super(t),this._focusMonitor=i,this._changeDetectorRef=r,this.defaults=o,this._onChange=l=>{},this._onTouched=()=>{},this._uniqueId="mat-slide-toggle-"+ ++hke,this._required=!1,this._checked=!1,this.name=null,this.id=this._uniqueId,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.change=new ln,this.toggleChange=new ln,this.tabIndex=parseInt(s)||0,this.color=this.defaultColor=o.color||"accent",this._noopAnimations="NoopAnimations"===a}get required(){return this._required}set required(t){this._required=bi(t)}get checked(){return this._checked}set checked(t){this._checked=bi(t),this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{"keyboard"===t||"program"===t?this._inputElement.nativeElement.focus():t||Promise.resolve().then(()=>this._onTouched())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}_onChangeEvent(t){t.stopPropagation(),this.toggleChange.emit(),this.defaults.disableToggleValue?this._inputElement.nativeElement.checked=this.checked:(this.checked=this._inputElement.nativeElement.checked,this._emitChangeEvent())}_onInputClick(t){t.stopPropagation()}writeValue(t){this.checked=!!t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck()}focus(t,i){i?this._focusMonitor.focusVia(this._inputElement,i,t):this._inputElement.nativeElement.focus(t)}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(new pke(this,this.checked))}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}}return n.\u0275fac=function(t){return new(t||n)(Oe(gn),Oe(vc),Oe(Mr),yo("tabindex"),Oe(dke),Oe(Qa,8))},n.\u0275cmp=rn({type:n,selectors:[["mat-slide-toggle"]],viewQuery:function(t,i){if(1&t&&(hr(oke,5),hr(ake,5),hr(lke,5)),2&t){let r;Gn(r=$n())&&(i._thumbEl=r.first),Gn(r=$n())&&(i._thumbBarEl=r.first),Gn(r=$n())&&(i._inputElement=r.first)}},hostAttrs:[1,"mat-slide-toggle"],hostVars:12,hostBindings:function(t,i){2&t&&(qc("id",i.id),Ii("tabindex",i.disabled?null:-1)("aria-label",null)("aria-labelledby",null),ai("mat-checked",i.checked)("mat-disabled",i.disabled)("mat-slide-toggle-label-before","before"==i.labelPosition)("_mat-animation-noopable",i._noopAnimations))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],required:"required",checked:"checked",ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[Vn([fke]),En],ngContentSelectors:uke,decls:16,vars:20,consts:[[1,"mat-slide-toggle-label"],["label",""],[1,"mat-slide-toggle-bar"],["toggleBar",""],["type","checkbox","role","switch",1,"mat-slide-toggle-input","cdk-visually-hidden",3,"id","required","tabIndex","checked","disabled","change","click"],["input",""],[1,"mat-slide-toggle-thumb-container"],["thumbContainer",""],[1,"mat-slide-toggle-thumb"],["mat-ripple","",1,"mat-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-slide-toggle-persistent-ripple"],[1,"mat-slide-toggle-content",3,"cdkObserveContent"],["labelContent",""],[2,"display","none"]],template:function(t,i){if(1&t&&(Hr(),wt(0,"label",0,1),wt(2,"div",2,3),wt(4,"input",4,5),Tn("change",function(s){return i._onChangeEvent(s)})("click",function(s){return i._onInputClick(s)}),Et(),wt(6,"div",6,7),ni(8,"div",8),wt(9,"div",9),ni(10,"div",10),Et(),Et(),Et(),wt(11,"span",11,12),Tn("cdkObserveContent",function(){return i._onLabelTextChange()}),wt(13,"span",13),Jn(14,"\xa0"),Et(),oi(15),Et(),Et()),2&t){const r=ih(1),s=ih(12);Ii("for",i.inputId),zt(2),ai("mat-slide-toggle-bar-no-side-margin",!s.textContent||!s.textContent.trim()),zt(2),Jt("id",i.inputId)("required",i.required)("tabIndex",i.tabIndex)("checked",i.checked)("disabled",i.disabled),Ii("name",i.name)("aria-checked",i.checked.toString())("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby),zt(5),Jt("matRippleTrigger",r)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",function(n,e,t,i){return E3(jt(),Cs(),n,e,t,i)}(18,cke,i._noopAnimations?0:150))}},directives:[gu,$N],styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}.cdk-high-contrast-active .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:2px dotted;outline-offset:5px}\n"],encapsulation:2,changeDetection:0}),n})(),Aq=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})(),yke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Aq,Dm,ji,QS],Aq,ji]}),n})(),bke=(()=>{class n{constructor(){this.clsName="ccf-slide-toggle",this.labels=["Left","Right"],this.value="Left",this.disabled=!1,this.valueChange=new ln}get left(){const{value:t,labels:i}=this;return t!==i[1]}updateToggle(t){this.value=t?this.labels[0]:this.labels[1],this.valueChange.emit(this.value)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-slide-toggle"]],hostVars:2,hostBindings:function(t,i){2&t&&Va(i.clsName)},inputs:{labels:"labels",value:"value",disabled:"disabled"},outputs:{valueChange:"valueChange"},decls:6,vars:12,consts:[[1,"slide-label",3,"click"],[1,"slider",3,"disabled","checked","change"],["toggle",""]],template:function(t,i){if(1&t){const r=wl();wt(0,"span",0),Tn("click",function(){_r(r);const o=ih(3);return i.left||o.toggle(),i.updateToggle(!0)}),Jn(1),Et(),wt(2,"mat-slide-toggle",1,2),Tn("change",function(o){return i.updateToggle(!o.checked)}),Et(),wt(4,"span",0),Tn("click",function(){_r(r);const o=ih(3);return i.left&&o.toggle(),i.updateToggle(!1)}),Jn(5),Et()}2&t&&(ai("disabled",i.disabled)("highlighted",i.left),zt(1),gs(i.labels[0].charAt(0).toUpperCase()+i.labels[0].slice(1)),zt(1),Jt("disabled",i.disabled)("checked",!i.left),zt(2),ai("disabled",i.disabled)("highlighted",!i.left),zt(1),gs(i.labels[1].charAt(0).toUpperCase()+i.labels[1].slice(1)))},directives:[Tq],styles:["[_nghost-%COMP%] .slide-label[_ngcontent-%COMP%]{margin:0 1rem;transition:color .6s;cursor:pointer;opacity:50%}[_nghost-%COMP%] .slide-label.highlighted[_ngcontent-%COMP%]{opacity:100%}[_nghost-%COMP%] .disabled[_ngcontent-%COMP%]{opacity:30%!important;cursor:not-allowed}[_nghost-%COMP%] .slider .mat-slide-toggle-bar{background-color:#43476580}[_nghost-%COMP%] .slider .mat-slide-toggle-thumb{background-color:#434765}"],changeDetection:0}),n})();const vke=["bodyUI"],wke=function(){return["Male","Female"]},Eke=function(){return["Left","Right"]};let xke=(()=>{class n{constructor(t){this.ga=t,this.sexChange=new ln,this.sideChange=new ln}ngAfterViewChecked(){this.updateHighlighting()}updateHighlighting(){var t,i,r,s;const o=new Set(null!==(i=null===(t=this.filter)||void 0===t?void 0:t.tmc)&&void 0!==i?i:[]);this.filteredBlocks=null!==(s=null===(r=this.blocks)||void 0===r?void 0:r.filter(a=>o.has(a.donor.providerName)).map(a=>a["@id"]))&&void 0!==s?s:[],this.bodyUI.scene=this.bodyUI.scene.map(a=>{var l;return Object.assign(Object.assign({},a),{color:a.entityId&&this.highlightedNodeId===a["@id"]?[30,136,229,255]:this.filteredBlocks.includes(null!==(l=a.entityId)&&void 0!==l?l:"")?[173,255,47,229.5]:[255,255,255,229.5]})})}ngOnChanges(t){this.bodyUI&&"organ"in t&&this.zoomToFitOrgan()}updateSex(t){this.sex=t,this.sexChange.emit(this.sex)}updateSide(t){this.side=t,this.sideChange.emit(this.side)}zoomToFitOrgan(){const{bodyUI:t,organ:i}=this;if(i){const{x_dimension:r,y_dimension:s,z_dimension:o}=i;t.rotation=t.rotationX=0,t.bounds={x:1.25*r/1e3,y:1.25*s/1e3,z:1.25*o/1e3},t.target=[r/1e3/2,s/1e3/2,o/1e3/2]}}nodeClicked(t){this.ga.event("node_click","organ",t.node["@id"]),this.highlightedNodeId=this.highlightedNodeId&&this.highlightedNodeId===t.node["@id"]?"":t.node["@id"]}}return n.\u0275fac=function(t){return new(t||n)(Oe(qb))},n.\u0275cmp=rn({type:n,selectors:[["ccf-organ"]],viewQuery:function(t,i){if(1&t&&hr(vke,7),2&t){let r;Gn(r=$n())&&(i.bodyUI=r.first)}},inputs:{organ:"organ",scene:"scene",organIri:"organIri",sex:"sex",side:"side",blocks:"blocks",filter:"filter"},outputs:{sexChange:"sexChange",sideChange:"sideChange"},features:[Fi],decls:5,vars:10,consts:[["camera","perspective",1,"body-ui",3,"scene","interactive","nodeClick","initialized"],["bodyUI",""],[1,"stage-options"],[1,"view-slider",3,"labels","value","hidden","valueChange"]],template:function(t,i){1&t&&(wt(0,"ccf-body-ui",0,1),Tn("nodeClick",function(s){return i.nodeClicked(s)})("initialized",function(){return i.zoomToFitOrgan()}),Et(),wt(2,"div",2),wt(3,"ccf-slide-toggle",3),Tn("valueChange",function(s){return i.updateSex(s)}),Et(),wt(4,"ccf-slide-toggle",3),Tn("valueChange",function(s){return i.updateSide(s)}),Et(),Et()),2&t&&(Jt("scene",i.scene)("interactive",!0),zt(3),Jt("labels",TE(8,wke))("value",i.sex)("hidden",!i.sex),zt(1),Jt("labels",TE(9,Eke))("value",i.side)("hidden",!i.side))},directives:[b2e,bke],styles:["[_nghost-%COMP%]{display:block;background-color:#000;border-radius:.5rem;color:#fff;height:100%}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{height:90%}[_nghost-%COMP%] .stage-options[_ngcontent-%COMP%]{padding:1rem;min-width:352px}"],changeDetection:0}),n})();function Ske(n,e){if(1&n&&(wt(0,"div",3),wt(1,"div",4),Jn(2),Et(),wt(3,"div",5),Jn(4),Et(),Et()),2&n){const t=e.$implicit;zt(2),gs(t.count),zt(2),gs(t.label)}}let Cke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-stats-list"]],inputs:{statsLabel:"statsLabel",stats:"stats"},decls:4,vars:2,consts:[[1,"stats-container"],[1,"header"],["class","stats-row",4,"ngFor","ngForOf"],[1,"stats-row"],[1,"stat"],[1,"label"]],template:function(t,i){1&t&&(wt(0,"div",0),wt(1,"div",1),Jn(2),Et(),wi(3,Ske,5,2,"div",2),Et()),2&t&&(zt(2),xo(" ",i.statsLabel," "),zt(1),Jt("ngForOf",i.stats))},directives:[Yu],styles:[".stats-container[_ngcontent-%COMP%]{margin-bottom:2rem;min-height:9rem}.stats-container[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{margin-bottom:1rem}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;height:1.325rem}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .stat[_ngcontent-%COMP%]{width:2rem;margin-right:1rem;text-align:right}.stats-container[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{flex-grow:1;text-align:left}"],changeDetection:0}),n})();function Tke(n,e){if(1&n){const t=wl();wt(0,"div",6),wt(1,"div",7),wt(2,"div",8),Jn(3),Et(),wt(4,"div",9),Tn("click",function(){const s=_r(t).$implicit;return _i().goToURL(s.buttonUrl)}),Jn(5),Et(),Et(),Et()}if(2&n){const t=e.$implicit;zt(3),gs(t.body),zt(1),Jt("gaLabel",t.buttonUrl),zt(1),xo(" ",t.buttonTitle,"")}}function Ake(n,e){if(1&n){const t=wl();wt(0,"div",10),Tn("click",function(){const s=_r(t).$implicit;return _i().goToURL(s.buttonUrl)}),Jn(1),Et()}if(2&n){const t=e.$implicit;Jt("gaLabel",t.buttonUrl),zt(1),gs(t.buttonTitle)}}let Mke=(()=>{class n{constructor(){this.linkCards=[{body:"Add tissue blocks using the HRA Registration User Interface (RUI).",buttonTitle:"Register Tissue",buttonUrl:"https://hubmapconsortium.github.io/ccf-ui/rui/"},{body:"Explore tissue sections in tissue blocks with the HRA Exploration User Interface (EUI).",buttonTitle:"Explore Tissue",buttonUrl:"https://portal.hubmapconsortium.org/ccf-eui"},{body:"View linkages between anatomical structures, cell types, and common biomarkers (ASCT+B).",buttonTitle:"ASCT+B Reporter",buttonUrl:"https://hubmapconsortium.github.io/ccf-asct-reporter/"}],this.deepDives=[{body:"",buttonTitle:"HRA Portal",buttonUrl:"https://humanatlas.io"},{body:"",buttonTitle:"Online Course",buttonUrl:"https://expand.iu.edu/browse/sice/cns/courses/hubmap-visible-human-mooc"},{body:"",buttonTitle:"Paper",buttonUrl:"https://www.nature.com/articles/s41556-021-00788-6"}]}goToURL(t){window.open(t,"_blank")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=rn({type:n,selectors:[["ccf-link-cards"]],decls:7,vars:2,consts:[["gaCategory","link-cards",1,"link-cards-container"],["class","link-card",4,"ngFor","ngForOf"],["gaCategory","deep-dive",1,"deep-dive-section"],[1,"title"],[1,"button-container"],["class","btn-outline btn","gaEvent","visit-link",3,"gaLabel","click",4,"ngFor","ngForOf"],[1,"link-card"],[1,"link-card-content"],[1,"body"],["gaEvent","visit-link",1,"link-button","btn",3,"gaLabel","click"],["gaEvent","visit-link",1,"btn-outline","btn",3,"gaLabel","click"]],template:function(t,i){1&t&&(wt(0,"div",0),wi(1,Tke,6,3,"div",1),Et(),wt(2,"div",2),wt(3,"div",3),Jn(4,"Human Reference Atlas (HRA) Deep Dive"),Et(),wt(5,"div",4),wi(6,Ake,2,2,"div",5),Et(),Et()),2&t&&(zt(1),Jt("ngForOf",i.linkCards),zt(5),Jt("ngForOf",i.deepDives))},directives:[gW,Yu,mW],styles:[".link-cards-container[_ngcontent-%COMP%]{max-width:30rem}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%]{border-top:1px solid #e0e0e0;padding-top:1px;padding-bottom:1px}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%]:last-of-type{border-bottom:1px solid #e0e0e0}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%]{align-items:center;padding:1rem 0 1rem 1rem;display:flex;flex-direction:row;justify-content:space-between;border-left:6px solid #444A65}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]{margin-left:2rem;background-color:#444a65;color:#fff}.link-cards-container[_ngcontent-%COMP%] .link-card[_ngcontent-%COMP%] .link-card-content[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]:hover{background-color:#2f3346}.deep-dive-section[_ngcontent-%COMP%]{margin-top:2rem}.deep-dive-section[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1rem}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{display:flex;flex-direction:row}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]{color:#444a65;border:1px solid #444A65;background-color:#fff}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:not(:last-of-type){margin-right:1rem}.deep-dive-section[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] .btn-outline[_ngcontent-%COMP%]:hover{background-color:#e0e0e0}.btn[_ngcontent-%COMP%]{min-width:9rem!important;max-height:2.28125rem;text-align:center;white-space:nowrap;cursor:pointer;font-size:.875rem;font-weight:500;border-radius:2px;line-height:2.75;transition:background-color .25s cubic-bezier(.4,0,.2,1) 0ms,box-shadow .25s cubic-bezier(.4,0,.2,1) 0ms,border .25s cubic-bezier(.4,0,.2,1) 0ms;font-family:Inter Variable,Helvetica,Arial,sans-serif}"],changeDetection:0}),n})();const Dke=["left"],Ike=["right"],Oke=function(){return[]},Rke=[{color:[0,0,0,0],opacity:.001}];let Nke=(()=>{class n{constructor(t,i,r){this.ga=i,this.configState=r,this.sex$=this.configState.getOption("sex"),this.side$=this.configState.getOption("side"),this.filter$=this.configState.getOption("highlightProviders").pipe(be(s=>({tmc:s}))),this.latestConfig={},this.organInfo$=r.config$.pipe(cr(s=>this.latestConfig=s),is(s=>{var o,a,l;return t.getOrganInfo(null!==(o=s.organIri)&&void 0!==o?o:"",null===(l=null===(a=s.side)||void 0===a?void 0:a.toLowerCase)||void 0===l?void 0:l.call(a),s.sex)}),cr(s=>this.logOrganLookup(s)),cr(s=>this.latestOrganInfo=s),Wa(1)),this.organ$=this.organInfo$.pipe(is(s=>s?t.getOrgan(s,s.hasSex?this.latestConfig.sex:void 0):sn(void 0)),cr(s=>{var o;if(s&&this.latestOrganInfo){const a=(null===(o=this.latestOrganInfo)||void 0===o?void 0:o.hasSex)?s.sex:void 0;a!==this.latestConfig.sex&&this.updateInput("sex",a),s.side!==this.latestConfig.side&&this.updateInput("side",s.side)}}),Wa(1)),this.scene$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getOrganScene(this.latestOrganInfo,s.sex):sn(Rke))),this.stats$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getOrganStats(this.latestOrganInfo,s.sex):sn([]))),this.statsLabel$=this.organ$.pipe(be(s=>this.makeStatsLabel(this.latestOrganInfo,null==s?void 0:s.sex)),Oo("Loading...")),this.blocks$=this.organ$.pipe(is(s=>s&&this.latestOrganInfo?t.getBlocks(this.latestOrganInfo,s.sex):sn([])))}ngAfterViewInit(){const{left:t,right:i}=this;t.nativeElement.style.height=`${i.nativeElement.offsetHeight}px`}updateInput(t,i){this.configState.patchConfig({[t]:i})}makeStatsLabel(t,i){let r=[`Unknown IRI: ${this.latestConfig.organIri}`];if(t){const s=t.side?t.side.charAt(0).toUpperCase()+t.side.slice(1):void 0;r=[i,t.organ,s]}return r.filter(s=>!!s).join(", ")}logOrganLookup(t){this.ga.event(t?"organ_lookup_success":"organ_lookup_failure","organ",`Iri: ${this.latestConfig.organIri} - Sex: ${this.latestConfig.sex} - Side: ${this.latestConfig.side}`)}}return n.\u0275fac=function(t){return new(t||n)(Oe(ske),Oe(qb),Oe(Qm))},n.\u0275cmp=rn({type:n,selectors:[["ccf-root"]],viewQuery:function(t,i){if(1&t&&(hr(Dke,7,gn),hr(Ike,7,gn)),2&t){let r;Gn(r=$n())&&(i.left=r.first),Gn(r=$n())&&(i.right=r.first)}},decls:16,vars:25,consts:[[1,"container"],[1,"left"],["left",""],[3,"blocks","filter","sex","side","organ","scene","sexChange","sideChange"],[1,"right"],["right",""],[3,"statsLabel","stats"]],template:function(t,i){if(1&t&&(wt(0,"div",0),wt(1,"div",1,2),wt(3,"ccf-organ",3),Tn("sexChange",function(s){return i.updateInput("sex",s)})("sideChange",function(s){return i.updateInput("side",s)}),Ns(4,"async"),Ns(5,"async"),Ns(6,"async"),Ns(7,"async"),Ns(8,"async"),Ns(9,"async"),Et(),Et(),wt(10,"div",4,5),ni(12,"ccf-stats-list",6),Ns(13,"async"),Ns(14,"async"),ni(15,"ccf-link-cards"),Et(),Et()),2&t){let r;zt(3),Jt("blocks",To(4,8,i.blocks$))("filter",To(5,10,i.filter$))("sex",To(6,12,i.sex$))("side",To(7,14,i.side$))("organ",To(8,16,i.organ$))("scene",null!==(r=To(9,18,i.scene$))&&void 0!==r?r:TE(24,Oke)),zt(9),Jt("statsLabel",To(13,20,i.statsLabel$))("stats",To(14,22,i.stats$))}},directives:[xke,Cke,Mke],pipes:[g0],styles:[".container[_ngcontent-%COMP%]{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:row;padding:1rem;font-family:Inter;font-size:.95rem;line-height:1.5;text-align:left;position:relative;background-color:#fff;color:#000}.container[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{width:auto;flex-grow:1}.container[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{margin-left:2rem;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:29rem}"],changeDetection:0}),n})();function Pke(n,e){1&n&&ni(0,"ccf-root")}function kke(n){const e=i=>"string"==typeof i,t=i=>Array.isArray(i)&&i.every(e);if("string"==typeof n){const i=XD.json(n);if(t(i))return i}else if(t(n))return n;throw new Error("Invalid data sources")}function Fke(n){const e=i=>"string"==typeof i,t=i=>Array.isArray(i)&&i.every(e);if("string"==typeof n){if(!(null==n?void 0:n.startsWith("[")))return[n];{const i=XD.json(n);if(t(i))return i}}else if(t(n))return n;throw new Error("Invalid data sources")}let Lke=(()=>{class n extends fie{constructor(t,i){super(t,i,{initialDelay:10,initialConfig:Object.assign(Object.assign({},If.dbOptions),globalThis.dbOptions),parse:{dataSources:kke,highlightProviders:Fke,useRemoteApi:XD.boolean}}),this.sex="Female",this.side="Left"}}return n.\u0275fac=function(t){return new(t||n)(Oe(Qm),Oe(Mr))},n.\u0275cmp=rn({type:n,selectors:[["ccf-root-wc"]],inputs:{organIri:"organIri",sex:"sex",side:"side",dataSources:"dataSources",highlightProviders:"highlightProviders",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint"},features:[En],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,i){1&t&&wi(0,Pke,1,0,"ccf-root",0),2&t&&Jt("ngIf",i.initialized)},directives:[ac,Nke],encapsulation:2,changeDetection:0}),n})(),Bke=(()=>{class n extends eke{selectToken(t){return t.useRemoteApi&&t.remoteApiEndpoint?Q2e:J2e}}return n.\u0275fac=function(){let e;return function(i){return(e||(e=zi(n)))(i||n)}}(),n.\u0275prov=tt({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Vke=(()=>{class n{constructor(t,i){this.accessor=t,this.injector=i}static forRoot(t=[]){return{ngModule:n,providers:[hs,el,a9,...t]}}}return n.\u0275fac=function(t){return new(t||n)(ke(hs,2),ke(el,2))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const xC=(n,e)=>((n,e)=>new Array(e+1).join("0"))(0,e-n.toString().length)+n;class zke{constructor(e,t,i){this.action=e,this.store=t,this.logWriter=i}dispatched(e){const t=qf(this.action),i=function(n){return xC(n.getHours(),2)+":"+xC(n.getMinutes(),2)+":"+xC(n.getSeconds(),2)+"."+xC(n.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${t} @ ${i}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",e)}completed(e){this.logWriter.logGreen("next state",e),this.logWriter.endGroup()}errored(e){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",e),this.logWriter.endGroup()}_hasPayload(e){return this._getNonEmptyProperties(e).length>0}_getNonEmptyProperties(e){return Object.keys(e).map(r=>e[r]).filter(r=>void 0!==r)}}class Hke{constructor(e){this.options=e,this.options=this.options||{},this.logger=e.logger||console}startGroup(e){const t=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{t.call(this.logger,e)}catch(i){console.log(e)}}endGroup(){try{this.logger.groupEnd()}catch(e){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(e,t){this.log(e,"color: #9E9E9E; font-weight: bold",t)}logGreen(e,t){this.log(e,"color: #4CAF50; font-weight: bold",t)}logRedish(e,t){this.log(e,"color: #FD8182; font-weight: bold",t)}log(e,t,i){this.isIE()?this.logger.log(e,i):this.logger.log("%c "+e,t,i)}isIE(){const e="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let t=!1;const i=e.indexOf("MSIE "),r=e.indexOf("Trident/");return(i>-1||r>-1)&&(t=!0),t}}const Mq=new Ht("NGXS_LOGGER_PLUGIN_OPTIONS");let Gke=(()=>{class n{constructor(t,i){this._options=t,this._injector=i}handle(t,i,r){if(this._options.disabled||!this._options.filter(i,t))return r(t,i);this._logWriter=this._logWriter||new Hke(this._options),this._store=this._store||this._injector.get(hu);const s=new zke(i,this._store,this._logWriter);return s.dispatched(t),r(t,i).pipe(cr(o=>{s.completed(o)}),bc(o=>{throw s.errored(o),o}))}}return n.\u0275fac=function(t){return new(t||n)(ke(Mq),ke(Hn))},n.\u0275prov=tt({token:n,factory:n.\u0275fac}),n})();const Dq=new Ht("LOGGER_USER_OPTIONS");function $ke(n){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},n)}let Wke=(()=>{class n{static forRoot(t){return{ngModule:n,providers:[{provide:h6,useClass:Gke,multi:!0},{provide:Dq,useValue:t},{provide:Mq,useFactory:$ke,deps:[Dq]}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({}),n})();const qke=[Qm];let Yke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[Vke.forRoot(),Yo.forRoot(qke,{developmentMode:!If.production}),Wke.forRoot({disabled:If.production})]]}),n})(),Xke=(()=>{class n{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return n.\u0275fac=function(t){return new(t||n)(ke(n,12))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[{provide:Eq,useExisting:Bke}],imports:[[C7,oRe.forRoot({gaToken:If.googleAnalyticsToken,appName:"organ-info",projectName:"ccf",developmentMode:!If.production}),pRe.forRoot(()=>new Yb({basePath:If.dbOptions.remoteApiEndpoint})),Yke]]}),n})(),Kke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,yke]]}),n})(),Qke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,v2e,Kke]]}),n})(),Zke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr,rC]]}),n})(),Jke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=tn({type:n}),n.\u0275inj=St({imports:[[fr]]}),n})(),eFe=(()=>{class n{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(n,e){const t=function(n,e){return e.get(El).resolveComponentFactory(n).inputs}(n,e.injector),i=e.strategyFactory||new aie(n,e.injector),r=function(n){const e={};return n.forEach(({propName:t,templateName:i})=>{e[function(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}(i)]=t}),e}(t);class s extends cie{constructor(a){super(),this.injector=a}get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||e.injector);t.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=function(n,e,t){if("function"!=typeof CustomEvent){const s=n.createEvent("CustomEvent");return s.initCustomEvent(e,!1,!1,t),s}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:t})}(this.ownerDocument,a.name,a.value);this.dispatchEvent(l)})}}return s.observedAttributes=Object.keys(r),t.forEach(({propName:o})=>{Object.defineProperty(s.prototype,o,{get(){return this.ngElementStrategy.getInputValue(o)},set(a){this.ngElementStrategy.setInputValue(o,a)},configurable:!0,enumerable:!0})}),s}(Lke,{injector:this.injector});customElements.define("ccf-organ-info",t)}}return n.\u0275fac=function(t){return new(t||n)(ke(Hn))},n.\u0275mod=tn({type:n}),n.\u0275inj=St({providers:[],imports:[[WD,Xke,Zke,Jke,Qke]]}),n})();If.production&&function(){if(iB)throw new Error("Cannot enable prod mode after platform setup.");nB=!1}(),Ine().bootstrapModule(eFe).catch(n=>console.error(n))},1052:Vt=>{function Xe(lt,ee,Ct,je,Q,Ee,pe){try{var X=lt[Ee](pe),U=X.value}catch(F){return void Ct(F)}X.done?ee(U):Promise.resolve(U).then(je,Q)}Vt.exports=function(lt){return function(){var ee=this,Ct=arguments;return new Promise(function(je,Q){var Ee=lt.apply(ee,Ct);function pe(U){Xe(Ee,je,Q,pe,X,"next",U)}function X(U){Xe(Ee,je,Q,pe,X,"throw",U)}pe(void 0)})}},Vt.exports.default=Vt.exports,Vt.exports.__esModule=!0},1948:Vt=>{Vt.exports=function(et){return et&&et.__esModule?et:{default:et}},Vt.exports.default=Vt.exports,Vt.exports.__esModule=!0},4321:Vt=>{function Xe(et){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(Vt.exports=Xe=function(ee){return typeof ee},Vt.exports.default=Vt.exports,Vt.exports.__esModule=!0):(Vt.exports=Xe=function(ee){return ee&&"function"==typeof Symbol&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},Vt.exports.default=Vt.exports,Vt.exports.__esModule=!0),Xe(et)}Vt.exports=Xe,Vt.exports.default=Vt.exports,Vt.exports.__esModule=!0},9082:Vt=>{function Xe(et){return Promise.resolve().then(()=>{var lt=new Error("Cannot find module '"+et+"'");throw lt.code="MODULE_NOT_FOUND",lt})}Xe.keys=()=>[],Xe.resolve=Xe,Xe.id=9082,Vt.exports=Xe},9521:()=>{},9125:()=>{},5307:()=>{}},Vt=>{Vt(Vt.s=2829)}]); \ No newline at end of file diff --git a/wc.js b/wc.js index b46d0fccc..3cd71e448 100644 --- a/wc.js +++ b/wc.js @@ -2,4 +2,4 @@ (self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[429],{24138:function(){!function(){"use strict";!function(){if(void 0===window.Reflect||void 0===window.customElements||window.customElements.polyfillWrapFlushCallback)return;const e=HTMLElement;window.HTMLElement=function(){return Reflect.construct(e,[],this.constructor)},HTMLElement.prototype=e.prototype,HTMLElement.prototype.constructor=HTMLElement,Object.setPrototypeOf(HTMLElement,e)}()}()},24192:function(){!function(e,t){"use strict";function n(){var e=M.splice(0,M.length);for(nt=0;e.length;)e.shift().call(null,e.shift())}function o(e,t){for(var n=0,o=e.length;n1)&&_(this)}}}),Fe(a,W,{value:function(e){-1>0,x="__"+R+F,V="addEventListener",U="attached",q="Callback",B="detached",G="extends",W="attributeChanged"+q,$=U+q,X="connected"+q,Y="disconnected"+q,K="created"+q,J=B+q,Q="ADDITION",ee="REMOVAL",te="DOMAttrModified",ne="DOMContentLoaded",oe="DOMSubtreeModified",re="<",ae="=",ie=/^[A-Z][._A-Z0-9]*-[-._A-Z0-9]*$/,se=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],ce=[],le=[],ue="",he=E.documentElement,pe=ce.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},fe=b.prototype,de=fe.hasOwnProperty,me=fe.isPrototypeOf,ge=b.defineProperty,Te=[],ye=b.getOwnPropertyDescriptor,_e=b.getOwnPropertyNames,ke=b.getPrototypeOf,ve=b.setPrototypeOf,Ee=!!b.__proto__,be="__dreCEv1",we=e.customElements,Me=!/^force/.test(t.type)&&!!(we&&we.define&&we.get&&we.whenDefined),Le=b.create||b,Ce=e.Map||function(){var e,t=[],n=[];return{get:function(e){return n[pe.call(t,e)]},set:function(o,r){(e=pe.call(t,o))<0?n[t.push(o)-1]=r:n[e]=r}}},He=e.Promise||function(e){function t(e){for(o=!0;n.length;)n.shift()(e)}var n=[],o=!1,r={catch:function(){return r},then:function(e){return n.push(e),o&&setTimeout(t,1),r}};return e(t),r},Oe=!1,Se=Le(null),De=Le(null),Ze=new Ce,Pe=function(e){return e.toLowerCase()},Ne=b.create||function e(t){return t?(e.prototype=t,new e):this},ze=ve||(Ee?function(e,t){return e.__proto__=t,e}:_e&&ye?function(){function e(e,t){for(var n,o=_e(t),r=0,a=o.length;r
            ",new Ie(function(e,t){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var n=(P=ye(je,"innerHTML"))&&P.set;n&&ge(je,"innerHTML",{set:function(e){for(;this.lastChild;)this.removeChild(this.lastChild);n.call(this,e)}})}t.disconnect(),P=null}).observe(P,{childList:!0,subtree:!0}),P.innerHTML=""),ot||(ve||Ee?(D=function(e,t){me.call(t,e)||p(e,t)},Z=p):Z=D=function(e,t){e[x]||(e[x]=b(!0),p(e,t))},Re?(it=!1,N=ye(je,V),z=N.value,I=function(e){var t=new CustomEvent(te,{bubbles:!0});t.attrName=e,t.prevValue=We.call(this,e),t.newValue=null,t[ee]=t.attrChange=2,Xe.call(this,e),Ge.call(this,t)},A=function(e,t){var n=$e.call(this,e),o=n&&We.call(this,e),r=new CustomEvent(te,{bubbles:!0});Ye.call(this,e,t),r.attrName=e,r.prevValue=n?o:null,r.newValue=t,n?r.MODIFICATION=r.attrChange=1:r[Q]=r.attrChange=0,Ge.call(this,r)},j=function(e){var t,n=e.currentTarget,o=n[x],r=e.propertyName;o.hasOwnProperty(r)&&(o=o[r],(t=new CustomEvent(te,{bubbles:!0})).attrName=o.name,t.prevValue=o.value||null,t.newValue=o.value=n[r]||null,null==t.prevValue?t[Q]=t.attrChange=0:t.MODIFICATION=t.attrChange=1,Ge.call(n,t))},N.value=function(e,t,n){e===te&&this[W]&&this.setAttribute!==A&&(this[x]={className:{name:"class",value:this.className}},this.setAttribute=A,this.removeAttribute=I,z.call(this,"propertychange",j)),z.call(this,e,t,n)},ge(je,V,N)):Ie||(he[V](te,tt),he.setAttribute(x,1),he.removeAttribute(x),it&&(L=function(e){var t,n,o,r=this;if(r===e.target){for(o in t=r[x],r[x]=n=H(r),n){if(!(o in t))return C(0,r,o,t[o],n[o],Q);if(n[o]!==t[o])return C(1,r,o,t[o],n[o],"MODIFICATION")}for(o in t)if(!(o in n))return C(2,r,o,t[o],n[o],ee)}},C=function(e,t,n,o,r,a){var i={attrChange:e,currentTarget:t,attrName:n,prevValue:o,newValue:r};i[a]=e,s(i)},H=function(e){for(var t,n,o={},r=e.attributes,a=0,i=r.length;a$");if(n[G]="a",(t.prototype=Ne(Ae.prototype)).constructor=t,e.customElements.define(o,t,n),!r.test(E.createElement("a",{is:o}).outerHTML)||!r.test((new t).outerHTML))throw n}(function e(){return Reflect.construct(Ae,[],e)},{},"document-register-element-a"+F)}catch(N){v()}if(!t.noBuiltIn)try{if(Ke.call(E,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(N){Pe=function(e){return{is:e.toLowerCase()}}}}(window)},7277:function(){"use strict";!function(e){const t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function o(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");const r=e.__Zone_symbol_prefix||"__zone_symbol__";function a(e){return r+e}const i=!0===e[a("forceDuplicateZoneCheck")];if(e.Zone){if(i||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let s=(()=>{class t{constructor(e,t){this._parent=e,this._name=t?t.name||"unnamed":"",this._properties=t&&t.properties||{},this._zoneDelegate=new l(this,this._parent&&this._parent._zoneDelegate,t)}static assertZonePatched(){if(e.Promise!==O.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let e=t.current;for(;e.parent;)e=e.parent;return e}static get current(){return D.zone}static get currentTask(){return Z}static __load_patch(r,a,s=!1){if(O.hasOwnProperty(r)){if(!s&&i)throw Error("Already loaded patch: "+r)}else if(!e["__Zone_disable_"+r]){const i="Zone:"+r;n(i),O[r]=a(e,t,S),o(i,i)}}get parent(){return this._parent}get name(){return this._name}get(e){const t=this.getZoneWith(e);if(t)return t._properties[e]}getZoneWith(e){let t=this;for(;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null}fork(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)}wrap(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);const n=this._zoneDelegate.intercept(this,e,t),o=this;return function(){return o.runGuarded(n,this,arguments,t)}}run(e,t,n,o){D={parent:D,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,o)}finally{D=D.parent}}runGuarded(e,t=null,n,o){D={parent:D,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,o)}catch(r){if(this._zoneDelegate.handleError(this,r))throw r}}finally{D=D.parent}}runTask(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||_).name+"; Execution: "+this.name+")");if(e.state===k&&(e.type===H||e.type===C))return;const o=e.state!=b;o&&e._transitionTo(b,E),e.runCount++;const r=Z;Z=e,D={parent:D,zone:this};try{e.type==C&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(a){if(this._zoneDelegate.handleError(this,a))throw a}}finally{e.state!==k&&e.state!==M&&(e.type==H||e.data&&e.data.isPeriodic?o&&e._transitionTo(E,b):(e.runCount=0,this._updateTaskCount(e,-1),o&&e._transitionTo(k,b,k))),D=D.parent,Z=r}}scheduleTask(e){if(e.zone&&e.zone!==this){let t=this;for(;t;){if(t===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);t=t.parent}}e._transitionTo(v,k);const t=[];e._zoneDelegates=t,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(n){throw e._transitionTo(M,v,k),this._zoneDelegate.handleError(this,n),n}return e._zoneDelegates===t&&this._updateTaskCount(e,1),e.state==v&&e._transitionTo(E,v),e}scheduleMicroTask(e,t,n,o){return this.scheduleTask(new u(L,e,t,n,o,void 0))}scheduleMacroTask(e,t,n,o,r){return this.scheduleTask(new u(C,e,t,n,o,r))}scheduleEventTask(e,t,n,o,r){return this.scheduleTask(new u(H,e,t,n,o,r))}cancelTask(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||_).name+"; Execution: "+this.name+")");e._transitionTo(w,E,b);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(M,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(k,w),e.runCount=0,e}_updateTaskCount(e,t){const n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(let o=0;oe.hasTask(n,o),onScheduleTask:(e,t,n,o)=>e.scheduleTask(n,o),onInvokeTask:(e,t,n,o,r,a)=>e.invokeTask(n,o,r,a),onCancelTask:(e,t,n,o)=>e.cancelTask(n,o)};class l{constructor(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const o=n&&n.onHasTask;(o||t&&t._hasTaskZS)&&(this._hasTaskZS=o?n:c,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new s(e,t)}intercept(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t}invoke(e,t,n,o,r){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,o,r):t.apply(n,o)}handleError(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)}scheduleTask(e,t){let n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t),n||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=L)throw new Error("Task is missing scheduleFn.");T(t)}return n}invokeTask(e,t,n,o){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,o):t.callback.apply(n,o)}cancelTask(e,t){let n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n}hasTask(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(n){this.handleError(e,n)}}_updateTaskCount(e,t){const n=this._taskCounts,o=n[e],r=n[e]=o+t;if(r<0)throw new Error("More tasks executed then were scheduled.");0!=o&&0!=r||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})}}class u{constructor(t,n,o,r,a,i){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=t,this.source=n,this.data=r,this.scheduleFn=a,this.cancelFn=i,!o)throw new Error("callback is not defined");this.callback=o;const s=this;this.invoke=t===H&&r&&r.useG?u.invokeTask:function(){return u.invokeTask.call(e,s,this,arguments)}}static invokeTask(e,t,n){e||(e=this),P++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==P&&y(),P--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(k,v)}_transitionTo(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(`${this.type} '${this.source}': can not transition to '${e}', expecting state '${t}'${n?" or '"+n+"'":""}, was '${this._state}'.`);this._state=e,e==k&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const h=a("setTimeout"),p=a("Promise"),f=a("then");let d,m=[],g=!1;function T(t){if(0===P&&0===m.length)if(d||e[p]&&(d=e[p].resolve(0)),d){let e=d[f];e||(e=d.then),e.call(d,y)}else e[h](y,0);t&&m.push(t)}function y(){if(!g){for(g=!0;m.length;){const t=m;m=[];for(let n=0;nD,onUnhandledError:N,microtaskDrainDone:N,scheduleMicroTask:T,showUncaughtError:()=>!s[a("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:N,patchMethod:()=>N,bindArguments:()=>[],patchThen:()=>N,patchMacroTask:()=>N,patchEventPrototype:()=>N,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>N,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>N,wrapWithCurrentZone:()=>N,filterProperties:()=>[],attachOriginToPatched:()=>N,_redefineProperty:()=>N,patchCallbacks:()=>N};let D={parent:null,zone:new s(null,null)},Z=null,P=0;function N(){}o("Zone","Zone"),e.Zone=s}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);const e=Object.getOwnPropertyDescriptor,t=Object.defineProperty,n=Object.getPrototypeOf,o=Object.create,r=Array.prototype.slice,a="addEventListener",i="removeEventListener",s=Zone.__symbol__(a),c=Zone.__symbol__(i),l="true",u="false",h=Zone.__symbol__("");function p(e,t){return Zone.current.wrap(e,t)}function f(e,t,n,o,r){return Zone.current.scheduleMacroTask(e,t,n,o,r)}const d=Zone.__symbol__,m="undefined"!=typeof window,g=m?window:void 0,T=m&&g||"object"==typeof self&&self||global,y=[null];function _(e,t){for(let n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=p(e[n],t+"_"+n));return e}function k(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}const v="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in T)&&void 0!==T.process&&"[object process]"==={}.toString.call(T.process),b=!E&&!v&&!(!m||!g.HTMLElement),w=void 0!==T.process&&"[object process]"==={}.toString.call(T.process)&&!v&&!(!m||!g.HTMLElement),M={},L=function(e){if(!(e=e||T.event))return;let t=M[e.type];t||(t=M[e.type]=d("ON_PROPERTY"+e.type));const n=this||e.target||T,o=n[t];let r;if(b&&n===g&&"error"===e.type){const t=e;r=o&&o.call(this,t.message,t.filename,t.lineno,t.colno,t.error),!0===r&&e.preventDefault()}else r=o&&o.apply(this,arguments),null!=r&&!r&&e.preventDefault();return r};function C(n,o,r){let a=e(n,o);if(!a&&r&&e(r,o)&&(a={enumerable:!0,configurable:!0}),!a||!a.configurable)return;const i=d("on"+o+"patched");if(n.hasOwnProperty(i)&&n[i])return;delete a.writable,delete a.value;const s=a.get,c=a.set,l=o.substr(2);let u=M[l];u||(u=M[l]=d("ON_PROPERTY"+l)),a.set=function(e){let t=this;!t&&n===T&&(t=T),t&&(t[u]&&t.removeEventListener(l,L),c&&c.apply(t,y),"function"==typeof e?(t[u]=e,t.addEventListener(l,L,!1)):t[u]=null)},a.get=function(){let e=this;if(!e&&n===T&&(e=T),!e)return null;const t=e[u];if(t)return t;if(s){let t=s&&s.call(this);if(t)return a.set.call(this,t),"function"==typeof e.removeAttribute&&e.removeAttribute(o),t}return null},t(n,o,a),n[i]=!0}function H(e,t,n){if(t)for(let o=0;ofunction(t,o){const a=n(t,o);return a.cbIdx>=0&&"function"==typeof o[a.cbIdx]?f(a.name,o[a.cbIdx],a,r):e.apply(t,o)})}function P(e,t){e[d("OriginalDelegate")]=t}let N=!1,z=!1;function I(){if(N)return z;N=!0;try{const e=g.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(z=!0)}catch(e){}return z}Zone.__load_patch("ZoneAwarePromise",(e,t,n)=>{const o=Object.getOwnPropertyDescriptor,r=Object.defineProperty,a=n.symbol,i=[],s=!0===e[a("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],c=a("Promise"),l=a("then");n.onUnhandledError=e=>{if(n.showUncaughtError()){const t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},n.microtaskDrainDone=()=>{for(;i.length;){const t=i.shift();try{t.zone.runGuarded(()=>{throw t.throwOriginal?t.rejection:t})}catch(e){h(e)}}};const u=a("unhandledPromiseRejectionHandler");function h(e){n.onUnhandledError(e);try{const n=t[u];"function"==typeof n&&n.call(this,e)}catch(o){}}function p(e){return e&&e.then}function f(e){return e}function d(e){return S.reject(e)}const m=a("state"),g=a("value"),T=a("finally"),y=a("parentPromiseValue"),_=a("parentPromiseState"),k=null,v=!0,E=!1;function b(e,t){return n=>{try{M(e,t,n)}catch(o){M(e,!1,o)}}}const w=a("currentTaskTrace");function M(e,o,a){const c=function(){let e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}}();if(e===a)throw new TypeError("Promise resolved with itself");if(e[m]===k){let h=null;try{("object"==typeof a||"function"==typeof a)&&(h=a&&a.then)}catch(l){return c(()=>{M(e,!1,l)})(),e}if(o!==E&&a instanceof S&&a.hasOwnProperty(m)&&a.hasOwnProperty(g)&&a[m]!==k)C(a),M(e,a[m],a[g]);else if(o!==E&&"function"==typeof h)try{h.call(a,c(b(e,o)),c(b(e,!1)))}catch(l){c(()=>{M(e,!1,l)})()}else{e[m]=o;const c=e[g];if(e[g]=a,e[T]===T&&o===v&&(e[m]=e[_],e[g]=e[y]),o===E&&a instanceof Error){const e=t.currentTask&&t.currentTask.data&&t.currentTask.data.__creationTrace__;e&&r(a,w,{configurable:!0,enumerable:!1,writable:!0,value:e})}for(let t=0;t{try{const o=e[g],r=!!n&&T===n[T];r&&(n[y]=o,n[_]=a);const s=t.run(i,void 0,r&&i!==d&&i!==f?[]:[o]);M(n,!0,s)}catch(o){M(n,!1,o)}},n)}const O=function(){};class S{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(e){return M(new this(null),v,e)}static reject(e){return M(new this(null),E,e)}static race(e){let t,n,o=new this((e,o)=>{t=e,n=o});function r(e){t(e)}function a(e){n(e)}for(let i of e)p(i)||(i=this.resolve(i)),i.then(r,a);return o}static all(e){return S.allWithCallback(e)}static allSettled(e){return(this&&this.prototype instanceof S?this:S).allWithCallback(e,{thenCallback:e=>({status:"fulfilled",value:e}),errorCallback:e=>({status:"rejected",reason:e})})}static allWithCallback(e,t){let n,o,r=new this((e,t)=>{n=e,o=t}),a=2,i=0;const s=[];for(let l of e){p(l)||(l=this.resolve(l));const e=i;try{l.then(o=>{s[e]=t?t.thenCallback(o):o,a--,0===a&&n(s)},r=>{t?(s[e]=t.errorCallback(r),a--,0===a&&n(s)):o(r)})}catch(c){o(c)}a++,i++}return a-=2,0===a&&n(s),r}constructor(e){const t=this;if(!(t instanceof S))throw new Error("Must be an instanceof Promise.");t[m]=k,t[g]=[];try{e&&e(b(t,v),b(t,E))}catch(n){M(t,!1,n)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return S}then(e,n){let o=this.constructor[Symbol.species];(!o||"function"!=typeof o)&&(o=this.constructor||S);const r=new o(O),a=t.current;return this[m]==k?this[g].push(a,r,e,n):H(this,a,r,e,n),r}catch(e){return this.then(null,e)}finally(e){let n=this.constructor[Symbol.species];(!n||"function"!=typeof n)&&(n=S);const o=new n(O);o[T]=T;const r=t.current;return this[m]==k?this[g].push(r,o,e,e):H(this,r,o,e,e),o}}S.resolve=S.resolve,S.reject=S.reject,S.race=S.race,S.all=S.all;const Z=e[c]=e.Promise;e.Promise=S;const P=a("thenPatched");function N(e){const t=e.prototype,n=o(t,"then");if(n&&(!1===n.writable||!n.configurable))return;const r=t.then;t[l]=r,e.prototype.then=function(e,t){return new S((e,t)=>{r.call(this,e,t)}).then(e,t)},e[P]=!0}return n.patchThen=N,Z&&(N(Z),D(e,"fetch",e=>function(e){return function(t,n){let o=e.apply(t,n);if(o instanceof S)return o;let r=o.constructor;return r[P]||N(r),o}}(e))),Promise[t.__symbol__("uncaughtPromiseErrors")]=i,S}),Zone.__load_patch("toString",e=>{const t=Function.prototype.toString,n=d("OriginalDelegate"),o=d("Promise"),r=d("Error"),a=function(){if("function"==typeof this){const a=this[n];if(a)return"function"==typeof a?t.call(a):Object.prototype.toString.call(a);if(this===Promise){const n=e[o];if(n)return t.call(n)}if(this===Error){const n=e[r];if(n)return t.call(n)}}return t.call(this)};a[n]=t,Function.prototype.toString=a;const i=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":i.call(this)}});let A=!1;if("undefined"!=typeof window)try{const e=Object.defineProperty({},"passive",{get:function(){A=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(ce){A=!1}const j={useG:!0},R={},F={},x=new RegExp("^"+h+"(\\w+)(true|false)$"),V=d("propagationStopped");function U(e,t){const n=(t?t(e):e)+u,o=(t?t(e):e)+l,r=h+n,a=h+o;R[e]={},R[e][u]=r,R[e][l]=a}function q(e,t,o){const r=o&&o.add||a,s=o&&o.rm||i,c=o&&o.listeners||"eventListeners",p=o&&o.rmAll||"removeAllListeners",f=d(r),m="."+r+":",g=function(e,t,n){if(e.isRemoved)return;const o=e.callback;"object"==typeof o&&o.handleEvent&&(e.callback=e=>o.handleEvent(e),e.originalDelegate=o),e.invoke(e,t,[n]);const r=e.options;r&&"object"==typeof r&&r.once&&t[s].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,r)},T=function(t){if(!(t=t||e.event))return;const n=this||t.target||e,o=n[R[t.type][u]];if(o)if(1===o.length)g(o[0],n,t);else{const e=o.slice();for(let o=0;ofunction(t,n){t[V]=!0,e&&e.apply(t,n)})}function W(e,t,n,o,r){const a=Zone.__symbol__(o);if(t[a])return;const i=t[a]=t[o];t[o]=function(a,s,c){return s&&s.prototype&&r.forEach(function(t){const r=`${n}.${o}::`+t,a=s.prototype;if(a.hasOwnProperty(t)){const n=e.ObjectGetOwnPropertyDescriptor(a,t);n&&n.value?(n.value=e.wrapWithCurrentZone(n.value,r),e._redefineProperty(s.prototype,t,n)):a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],r))}else a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],r))}),i.call(t,a,s,c)},e.attachOriginToPatched(t[o],i)}const $=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],X=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],Y=["load"],K=["blur","error","focus","load","resize","scroll","messageerror"],J=["bounce","finish","start"],Q=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],ee=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],te=["close","error","open","message"],ne=["error","message"],oe=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],$,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function re(e,t,n){if(!n||0===n.length)return t;const o=n.filter(t=>t.target===e);if(!o||0===o.length)return t;const r=o[0].ignoreProperties;return t.filter(e=>-1===r.indexOf(e))}function ae(e,t,n,o){e&&H(e,re(e,t,n),o)}Zone.__load_patch("util",(n,s,c)=>{c.patchOnProperties=H,c.patchMethod=D,c.bindArguments=_,c.patchMacroTask=Z;const f=s.__symbol__("BLACK_LISTED_EVENTS"),d=s.__symbol__("UNPATCHED_EVENTS");n[d]&&(n[f]=n[d]),n[f]&&(s[f]=s[d]=n[f]),c.patchEventPrototype=G,c.patchEventTarget=q,c.isIEOrEdge=I,c.ObjectDefineProperty=t,c.ObjectGetOwnPropertyDescriptor=e,c.ObjectCreate=o,c.ArraySlice=r,c.patchClass=S,c.wrapWithCurrentZone=p,c.filterProperties=re,c.attachOriginToPatched=P,c._redefineProperty=Object.defineProperty,c.patchCallbacks=W,c.getGlobalObjects=()=>({globalSources:F,zoneSymbolEventNames:R,eventNames:oe,isBrowser:b,isMix:w,isNode:E,TRUE_STR:l,FALSE_STR:u,ZONE_SYMBOL_PREFIX:h,ADD_EVENT_LISTENER_STR:a,REMOVE_EVENT_LISTENER_STR:i})});const ie=d("zoneTask");function se(e,t,n,o){let r=null,a=null;n+=o;const i={};function s(t){const n=t.data;return n.args[0]=function(){return t.invoke.apply(this,arguments)},n.handleId=r.apply(e,n.args),t}function c(t){return a.call(e,t.data.handleId)}r=D(e,t+=o,n=>function(r,a){if("function"==typeof a[0]){const e={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?a[1]||0:void 0,args:a},n=a[0];a[0]=function(){try{return n.apply(this,arguments)}finally{e.isPeriodic||("number"==typeof e.handleId?delete i[e.handleId]:e.handleId&&(e.handleId[ie]=null))}};const r=f(t,a[0],e,s,c);if(!r)return r;const l=r.data.handleId;return"number"==typeof l?i[l]=r:l&&(l[ie]=r),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(r.ref=l.ref.bind(l),r.unref=l.unref.bind(l)),"number"==typeof l||l?l:r}return n.apply(e,a)}),a=D(e,n,t=>function(n,o){const r=o[0];let a;"number"==typeof r?a=i[r]:(a=r&&r[ie],a||(a=r)),a&&"string"==typeof a.type?"notScheduled"!==a.state&&(a.cancelFn&&a.data.isPeriodic||0===a.runCount)&&("number"==typeof r?delete i[r]:r&&(r[ie]=null),a.zone.cancelTask(a)):t.apply(e,o)})}Zone.__load_patch("legacy",e=>{const t=e[Zone.__symbol__("legacyPatch")];t&&t()}),Zone.__load_patch("queueMicrotask",(e,t,n)=>{n.patchMethod(e,"queueMicrotask",e=>function(e,n){t.current.scheduleMicroTask("queueMicrotask",n[0])})}),Zone.__load_patch("timers",e=>{const t="set",n="clear";se(e,t,n,"Timeout"),se(e,t,n,"Interval"),se(e,t,n,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{se(e,"request","cancel","AnimationFrame"),se(e,"mozRequest","mozCancel","AnimationFrame"),se(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,t)=>{const n=["alert","prompt","confirm"];for(let o=0;ofunction(o,a){return t.current.run(n,e,a,r)})}),Zone.__load_patch("EventTarget",(e,t,n)=>{(function(e,t){t.patchEventPrototype(e,t)})(e,n),function(e,t){if(Zone[t.symbol("patchEventTarget")])return;const{eventNames:n,zoneSymbolEventNames:o,TRUE_STR:r,FALSE_STR:a,ZONE_SYMBOL_PREFIX:i}=t.getGlobalObjects();for(let c=0;c{S("MutationObserver"),S("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,t,n)=>{S("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,t,n)=>{S("FileReader")}),Zone.__load_patch("on_property",(e,t,o)=>{!function(e,t){if(E&&!w||Zone[e.symbol("patchEvents")])return;const o="undefined"!=typeof WebSocket,r=t.__Zone_ignore_on_properties;if(b){const t=window,o=function(){try{const e=g.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}()?[{target:t,ignoreProperties:["error"]}]:[];ae(t,oe.concat(["messageerror"]),r&&r.concat(o),n(t)),ae(Document.prototype,oe,r),void 0!==t.SVGElement&&ae(t.SVGElement.prototype,oe,r),ae(Element.prototype,oe,r),ae(HTMLElement.prototype,oe,r),ae(HTMLMediaElement.prototype,X,r),ae(HTMLFrameSetElement.prototype,$.concat(K),r),ae(HTMLBodyElement.prototype,$.concat(K),r),ae(HTMLFrameElement.prototype,Y,r),ae(HTMLIFrameElement.prototype,Y,r);const a=t.HTMLMarqueeElement;a&&ae(a.prototype,J,r);const i=t.Worker;i&&ae(i.prototype,ne,r)}const a=t.XMLHttpRequest;a&&ae(a.prototype,Q,r);const i=t.XMLHttpRequestEventTarget;i&&ae(i&&i.prototype,Q,r),"undefined"!=typeof IDBIndex&&(ae(IDBIndex.prototype,ee,r),ae(IDBRequest.prototype,ee,r),ae(IDBOpenDBRequest.prototype,ee,r),ae(IDBDatabase.prototype,ee,r),ae(IDBTransaction.prototype,ee,r),ae(IDBCursor.prototype,ee,r)),o&&ae(WebSocket.prototype,te,r)}(o,e)}),Zone.__load_patch("customElements",(e,t,n)=>{!function(e,t){const{isBrowser:n,isMix:o}=t.getGlobalObjects();(n||o)&&e.customElements&&"customElements"in e&&t.patchCallbacks(t,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,n)}),Zone.__load_patch("XHR",(e,t)=>{!function(e){const u=e.XMLHttpRequest;if(!u)return;const h=u.prototype;let p=h[s],m=h[c];if(!p){const t=e.XMLHttpRequestEventTarget;if(t){const e=t.prototype;p=e[s],m=e[c]}}const g="readystatechange",T="scheduled";function y(e){const o=e.data,i=o.target;i[a]=!1,i[l]=!1;const u=i[r];p||(p=i[s],m=i[c]),u&&m.call(i,g,u);const h=i[r]=()=>{if(i.readyState===i.DONE)if(!o.aborted&&i[a]&&e.state===T){const n=i[t.__symbol__("loadfalse")];if(0!==i.status&&n&&n.length>0){const r=e.invoke;e.invoke=function(){const n=i[t.__symbol__("loadfalse")];for(let t=0;tfunction(e,t){return e[o]=0==t[2],e[i]=t[1],v.apply(e,t)}),E=d("fetchTaskAborting"),b=d("fetchTaskScheduling"),w=D(h,"send",()=>function(e,n){if(!0===t.current[b]||e[o])return w.apply(e,n);{const t={target:e,url:e[i],isPeriodic:!1,args:n,aborted:!1},o=f("XMLHttpRequest.send",_,t,y,k);e&&!0===e[l]&&!t.aborted&&o.state===T&&o.invoke()}}),M=D(h,"abort",()=>function(e,o){const r=function(e){return e[n]}(e);if(r&&"string"==typeof r.type){if(null==r.cancelFn||r.data&&r.data.aborted)return;r.zone.cancelTask(r)}else if(!0===t.current[E])return M.apply(e,o)})}(e);const n=d("xhrTask"),o=d("xhrSync"),r=d("xhrListener"),a=d("xhrScheduled"),i=d("xhrURL"),l=d("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",t=>{t.navigator&&t.navigator.geolocation&&function(t,n){const o=t.constructor.name;for(let r=0;r{const t=function(){return e.apply(this,_(arguments,o+"."+a))};return P(t,e),t})(i)}}}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,t)=>{function n(t){return function(n){B(e,t).forEach(o=>{const r=e.PromiseRejectionEvent;if(r){const e=new r(t,{promise:n.promise,reason:n.rejection});o.invoke(e)}})}}e.PromiseRejectionEvent&&(t[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[d("rejectionHandledHandler")]=n("rejectionhandled"))})},91817:function(e,t,n){"use strict";n(7277),n(24192),n(24138)}},function(e){e(e.s=91817)}]); /*! (C) Andrea Giammarchi - @WebReflection - ISC Style License */ !function(e,t){"use strict";function n(){var e=C.splice(0,C.length);for(We=0;e.length;)e.shift().call(null,e.shift())}function r(e,t){for(var n=0,r=e.length;n1)&&E(this)}}}),Pe(l,B,{value:function(e){-1>0,R="__"+V+P,U="addEventListener",_="attached",k="Callback",x="detached",q="extends",B="attributeChanged"+k,Z=_+k,j="connected"+k,G="disconnected"+k,z="created"+k,K=x+k,X="ADDITION",$="REMOVAL",Q="DOMAttrModified",W="DOMContentLoaded",Y="DOMSubtreeModified",J="<",ee="=",te=/^[A-Z][._A-Z0-9]*-[-._A-Z0-9]*$/,ne=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],re=[],oe=[],le="",ae=g.documentElement,ie=re.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},ue=b.prototype,ce=ue.hasOwnProperty,se=ue.isPrototypeOf,me=b.defineProperty,fe=[],de=b.getOwnPropertyDescriptor,pe=b.getOwnPropertyNames,he=b.getPrototypeOf,Te=b.setPrototypeOf,Le=!!b.__proto__,Me="__dreCEv1",Ee=e.customElements,ve=!/^force/.test(t.type)&&!!(Ee&&Ee.define&&Ee.get&&Ee.whenDefined),He=b.create||b,ge=e.Map||function(){var e,t=[],n=[];return{get:function(e){return n[ie.call(t,e)]},set:function(r,o){(e=ie.call(t,r))<0?n[t.push(r)-1]=o:n[e]=o}}},be=e.Promise||function(e){function t(e){for(r=!0;n.length;)n.shift()(e)}var n=[],r=!1,o={catch:function(){return o},then:function(e){return n.push(e),r&&setTimeout(t,1),o}};return e(t),o},ye=!1,Ce=He(null),we=He(null),Ae=new ge,Oe=function(e){return e.toLowerCase()},Ne=b.create||function e(t){return t?(e.prototype=t,new e):this},De=Te||(Le?function(e,t){return e.__proto__=t,e}:pe&&de?function(){function e(e,t){for(var n,r=pe(t),o=0,l=r.length;o
            ",new Ie(function(e,t){if(e[0]&&"childList"==e[0].type&&!e[0].removedNodes[0].childNodes.length){var n=(S=de(Se,"innerHTML"))&&S.set;n&&me(Se,"innerHTML",{set:function(e){for(;this.lastChild;)this.removeChild(this.lastChild);n.call(this,e)}})}t.disconnect(),S=null}).observe(S,{childList:!0,subtree:!0}),S.innerHTML=""),Ye||(Te||Le?(I=function(e,t){se.call(t,e)||f(e,t)},F=f):F=I=function(e,t){e[R]||(e[R]=b(!0),f(e,t))},Ve?(tt=!1,function(){var e=de(Se,U),t=e.value,n=function(e){var t=new CustomEvent(Q,{bubbles:!0});t.attrName=e,t.prevValue=Be.call(this,e),t.newValue=null,t[$]=t.attrChange=2,je.call(this,e),qe.call(this,t)},r=function(e,t){var n=Ze.call(this,e),r=n&&Be.call(this,e),o=new CustomEvent(Q,{bubbles:!0});Ge.call(this,e,t),o.attrName=e,o.prevValue=n?r:null,o.newValue=t,n?o.MODIFICATION=o.attrChange=1:o[X]=o.attrChange=0,qe.call(this,o)},o=function(e){var t,n=e.currentTarget,r=n[R],o=e.propertyName;r.hasOwnProperty(o)&&(r=r[o],(t=new CustomEvent(Q,{bubbles:!0})).attrName=r.name,t.prevValue=r.value||null,t.newValue=r.value=n[o]||null,null==t.prevValue?t[X]=t.attrChange=0:t.MODIFICATION=t.attrChange=1,qe.call(n,t))};e.value=function(e,l,a){e===Q&&this[B]&&this.setAttribute!==r&&(this[R]={className:{name:"class",value:this.className}},this.setAttribute=r,this.removeAttribute=n,t.call(this,"propertychange",o)),t.call(this,e,l,a)},me(Se,U,e)}()):Ie||(ae[U](Q,Qe),ae.setAttribute(R,1),ae.removeAttribute(R),tt&&(w=function(e){var t,n,r,o=this;if(o===e.target){for(r in t=o[R],o[R]=n=O(o),n){if(!(r in t))return A(0,o,r,t[r],n[r],X);if(n[r]!==t[r])return A(1,o,r,t[r],n[r],"MODIFICATION")}for(r in t)if(!(r in n))return A(2,o,r,t[r],n[r],$)}},A=function(e,t,n,r,o,l){var a={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:o};a[l]=e,i(a)},O=function(e){for(var t,n,r={},o=e.attributes,l=0,a=o.length;l$");if(n[q]="a",(t.prototype=Ne(Fe.prototype)).constructor=t,e.customElements.define(r,t,n),!o.test(g.createElement("a",{is:r}).outerHTML)||!o.test((new t).outerHTML))throw n}(function e(){return Reflect.construct(Fe,[],e)},{},"document-register-element-a"+P)}catch(e){H()}if(!t.noBuiltIn)try{if(ze.call(g,"a","a").outerHTML.indexOf("is")<0)throw{}}catch(e){Oe=function(e){return{is:e.toLowerCase()}}}}(window); -var X6e=Object.defineProperty,K6e=Object.defineProperties,q6e=Object.getOwnPropertyDescriptors,YM=Object.getOwnPropertySymbols,bZ=Object.prototype.hasOwnProperty,wZ=Object.prototype.propertyIsEnumerable,Yr=Math.pow,SZ=(t,e,n)=>e in t?X6e(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,vt=(t,e)=>{for(var n in e||(e={}))bZ.call(e,n)&&SZ(t,n,e[n]);if(YM)for(var n of YM(e))wZ.call(e,n)&&SZ(t,n,e[n]);return t},zn=(t,e)=>K6e(t,q6e(e)),CZ=(t,e)=>{var n={};for(var i in t)bZ.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&YM)for(var i of YM(t))e.indexOf(i)<0&&wZ.call(t,i)&&(n[i]=t[i]);return n};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{71440:function(t,e,n){var i=n(91052).default;t.exports=function t(e,n,i){function r(o,a){if(!n[o]){if(!e[o]){if(s)return s(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[o]={exports:{}};e[o][0].call(c.exports,function(t){return r(e[o][1][t]||t)},c,c.exports,t,e,n,i)}return n[o].exports}for(var s=void 0,o=0;o0&&r[r.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]0?o-4:o;for(n=0;n>16&255,l[u++]=e>>8&255,l[u++]=255&e;return 2===a&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,l[u++]=255&e),1===a&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e),l},n.fromByteArray=function(t){for(var e,n=t.length,r=n%3,s=[],o=16383,a=0,l=n-r;al?l:a+o));return 1===r?s.push(i[(e=t[n-1])>>2]+i[e<<4&63]+"=="):2===r&&s.push(i[(e=(t[n-2]<<8)+t[n-1])>>10]+i[e>>4&63]+i[e<<2&63]+"="),s.join("")};for(var i=[],r=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function u(t){return i[t>>18&63]+i[t>>12&63]+i[t>>6&63]+i[63&t]}function h(t,e,n){for(var i=[],r=e;r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"\ufffd";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"\ufffd";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"\ufffd"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):e}function u(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function d(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}n.StringDecoder=s,s.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(r>0&&(t.lastNeed=r-1),r):--i=0?(r>0&&(t.lastNeed=r-2),r):--i=0?(r>0&&(2===r?r=0:t.lastNeed=r-3),r):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var i=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},{"safe-buffer":4}],6:[function(t,e,n){(function(e){(function(){"use strict";var e=t("base64-js"),i=t("ieee754");n.Buffer=o,n.SlowBuffer=function(t){return+t!=t&&(t=0),o.alloc(+t)},n.INSPECT_MAX_BYTES=50;var r=2147483647;function s(t){if(t>r)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return e.__proto__=o.prototype,e}function o(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return c(t)}return a(t,e,n)}function a(t,e,n){if("string"==typeof t)return function(t,e){if(("string"!=typeof e||""===e)&&(e="utf8"),!o.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var n=0|d(t,e),i=s(n),r=i.write(t,e);return r!==n&&(i=i.slice(0,r)),i}(t,e);if(ArrayBuffer.isView(t))return u(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,n){if(e<0||t.byteLength=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|t}function d(t,e){if(o.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return L(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(t).length;default:if(r)return i?-1:L(t).length;e=(""+e).toLowerCase(),r=!0}}function p(t,e,n){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0)||(n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,n);case"utf8":case"utf-8":return C(this,e,n);case"ascii":return E(this,e,n);case"latin1":case"binary":return O(this,e,n);case"base64":return S(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,n);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function f(t,e,n){var i=t[e];t[e]=t[n],t[n]=i}function g(t,e,n,i,r){if(0===t.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=r?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(r)return-1;n=t.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof e&&(e=o.from(e,i)),o.isBuffer(e))return 0===e.length?-1:m(t,e,n,i,r);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):m(t,[e],n,i,r);throw new TypeError("val must be string, number or Buffer")}function m(t,e,n,i,r){var s,o=1,a=t.length,l=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(r){var u=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){for(var h=!0,d=0;dr&&(i=r):i=r;var s=e.length;i>s/2&&(i=s/2);for(var o=0;o>8,r.push(n%256),r.push(i);return r}(e,t.length-n),t,n,i)}function S(t,n,i){return e.fromByteArray(0===n&&i===t.length?t:t.slice(n,i))}function C(t,e,n){n=Math.min(t.length,n);for(var i=[],r=e;r239?4:c>223?3:c>191?2:1;if(r+h<=n)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(s=t[r+1]))&&(l=(31&c)<<6|63&s)>127&&(u=l);break;case 3:o=t[r+2],128==(192&(s=t[r+1]))&&128==(192&o)&&(l=(15&c)<<12|(63&s)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:o=t[r+2],a=t[r+3],128==(192&(s=t[r+1]))&&128==(192&o)&&128==(192&a)&&(l=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(i.push((u-=65536)>>>10&1023|55296),u=56320|1023&u),i.push(u),r+=h}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);for(var n="",i=0;ie&&(t+=" ... "),""},o.prototype.compare=function(t,e,n,i,r){if(B(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),e<0||n>t.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&e>=n)return 0;if(i>=r)return-1;if(e>=n)return 1;if(this===t)return 0;for(var s=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(e>>>=0),l=Math.min(s,a),c=this.slice(i,r),u=t.slice(e,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-e;if((void 0===n||n>r)&&(n=r),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var s=!1;;)switch(i){case"hex":return b(this,t,e,n);case"utf8":case"utf-8":return y(this,t,e,n);case"ascii":return v(this,t,e,n);case"latin1":case"binary":return _(this,t,e,n);case"base64":return w(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,t,e,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function E(t,e,n){var i="";n=Math.min(t.length,n);for(var r=e;ri)&&(n=i);for(var r="",s=e;sn)throw new RangeError("Trying to access beyond buffer length")}function A(t,e,n,i,r,s){if(!o.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||et.length)throw new RangeError("Index out of range")}function M(t,e,n,i,r,s){if(n+i>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function I(t,e,n,r,s){return e=+e,n>>>=0,s||M(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function D(t,e,n,r,s){return e=+e,n>>>=0,s||M(t,0,n,8),i.write(t,e,n,r,52,8),n+8}o.prototype.slice=function(t,e){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t],r=1,s=0;++s>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t+--e],r=1;e>0&&(r*=256);)i+=this[t+--e]*r;return i},o.prototype.readUInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),this[t]},o.prototype.readUInt16LE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUInt16BE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},o.prototype.readUInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t],r=1,s=0;++s=(r*=128)&&(i-=Math.pow(2,8*e)),i},o.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||P(t,e,this.length);for(var i=e,r=1,s=this[t+--i];i>0&&(r*=256);)s+=this[t+--i]*r;return s>=(r*=128)&&(s-=Math.pow(2,8*e)),s},o.prototype.readInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},o.prototype.readInt16LE=function(t,e){t>>>=0,e||P(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt16BE=function(t,e){t>>>=0,e||P(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readFloatLE=function(t,e){return t>>>=0,e||P(t,4,this.length),i.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,e){return t>>>=0,e||P(t,4,this.length),i.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,e){return t>>>=0,e||P(t,8,this.length),i.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,e){return t>>>=0,e||P(t,8,this.length),i.read(this,t,!1,52,8)},o.prototype.writeUIntLE=function(t,e,n,i){t=+t,e>>>=0,n>>>=0,i||A(this,t,e,n,Math.pow(2,8*n)-1,0);var r=1,s=0;for(this[e]=255&t;++s>>=0,n>>>=0,i||A(this,t,e,n,Math.pow(2,8*n)-1,0);var r=n-1,s=1;for(this[e+r]=255&t;--r>=0&&(s*=256);)this[e+r]=t/s&255;return e+n},o.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,255,0),this[e]=255&t,e+1},o.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},o.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeIntLE=function(t,e,n,i){if(t=+t,e>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,t,e,n,r-1,-r)}var s=0,o=1,a=0;for(this[e]=255&t;++s>0)-a&255;return e+n},o.prototype.writeIntBE=function(t,e,n,i){if(t=+t,e>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,t,e,n,r-1,-r)}var s=n-1,o=1,a=0;for(this[e+s]=255&t;--s>=0&&(o*=256);)t<0&&0===a&&0!==this[e+s+1]&&(a=1),this[e+s]=(t/o>>0)-a&255;return e+n},o.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},o.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},o.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeFloatLE=function(t,e,n){return I(this,t,e,!0,n)},o.prototype.writeFloatBE=function(t,e,n){return I(this,t,e,!1,n)},o.prototype.writeDoubleLE=function(t,e,n){return D(this,t,e,!0,n)},o.prototype.writeDoubleBE=function(t,e,n){return D(this,t,e,!1,n)},o.prototype.copy=function(t,e,n,i){if(!o.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&0!==i&&(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e=0;--s)t[s+e]=this[s+n];else Uint8Array.prototype.set.call(t,this.subarray(n,i),e);return r},o.prototype.fill=function(t,e,n,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!o.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===t.length){var r=t.charCodeAt(0);("utf8"===i&&r<128||"latin1"===i)&&(t=r)}}else"number"==typeof t&&(t&=255);if(e<0||this.length>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(s=e;s55295&&n<57344){if(!r){if(n>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(e-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(e-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((e-=1)<0)break;s.push(n)}else if(n<2048){if((e-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function j(t){return e.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(R,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function F(t,e,n,i){for(var r=0;r=e.length||r>=t.length);++r)e[r+n]=t[r];return r}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}}).call(this)}).call(this,t("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(t,e,n){"use strict";e.exports=function t(e){return null===e||"object"!=typeof e||null!=e.toJSON?JSON.stringify(e):Array.isArray(e)?"["+e.reduce((e,n,i)=>e+(0===i?"":",")+t(void 0===n||"symbol"==typeof n?null:n),"")+"]":"{"+Object.keys(e).sort().reduce((n,i,r)=>void 0===e[i]||"symbol"==typeof e[i]?n:n+(0===n.length?"":",")+t(i)+":"+t(e[i]),"")+"}"}},{}],8:[function(t,e,n){"use strict";var i,r="object"==typeof Reflect?Reflect:null,s=r&&"function"==typeof r.apply?r.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)};i=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var o=Number.isNaN||function(t){return t!=t};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(t,e){return new Promise(function(n,i){function r(n){t.removeListener(e,s),i(n)}function s(){"function"==typeof t.removeListener&&t.removeListener("error",r),n([].slice.call(arguments))}b(t,e,s,{once:!0}),"error"!==e&&function(t,e,n){"function"==typeof t.on&&b(t,"error",e,n)}(t,r,{once:!0})})},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function c(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function u(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function h(t,e,n,i){var r,s,o;if(c(n),void 0===(s=t._events)?(s=t._events=Object.create(null),t._eventsCount=0):(void 0!==s.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),s=t._events),o=s[e]),void 0===o)o=s[e]=n,++t._eventsCount;else if("function"==typeof o?o=s[e]=i?[n,o]:[o,n]:i?o.unshift(n):o.push(n),(r=u(t))>0&&o.length>r&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,function(t){console&&console.warn&&console.warn(t)}(a)}return t}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},r=d.bind(i);return r.listener=n,i.wrapFn=r,r}function f(t,e,n){var i=t._events;if(void 0===i)return[];var r=i[e];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var l=r[t];if(void 0===l)return!1;if("function"==typeof l)s(l,this,e);else{var c=l.length,u=m(l,c);for(n=0;n=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},a.prototype.listeners=function(t){return f(this,t,!0)},a.prototype.rawListeners=function(t){return f(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},a.prototype.listenerCount=g,a.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},{}],9:[function(t,e,n){n.read=function(t,e,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,h=n?r-1:0,d=n?-1:1,p=t[e+h];for(h+=d,s=p&(1<<-u)-1,p>>=-u,u+=a;u>0;s=256*s+t[e+h],h+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+t[e+h],h+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,i),s-=c}return(p?-1:1)*o*Math.pow(2,s-i)},n.write=function(t,e,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=i?0:s-1,f=i?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(a=0,o=u):o+h>=1?(a=(e*l-1)*Math.pow(2,r),o+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,r),o=0));r>=8;t[n+p]=255&a,p+=f,a/=256,r-=8);for(o=o<0;t[n+p]=255&o,p+=f,o/=256,c-=8);t[n+p-f]|=128*g}},{}],10:[function(t,e,n){e.exports="function"==typeof Object.create?function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},{}],11:[function(t,e,n){"use strict";const{isArray:r,isObject:s,isString:o}=t("./types"),{asArray:a}=t("./util"),{prependBase:l}=t("./url"),c=t("./JsonLdError"),u=t("./ResolvedContext");function h(t){throw new c("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:t})}function d({context:t,base:e}){if(!t)return;const n=t["@context"];if(o(n))t["@context"]=l(e,n);else if(r(n))for(let i=0;i10)throw new c("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"loading remote context failed":"context overflow",max:10});if(a.has(e))throw new c("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"recursive context inclusion":"context overflow",url:e});let i,l;a.add(e);try{l=yield n(e),i=l.document||null,o(i)&&(i=JSON.parse(i))}catch(u){throw new c("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:e,cause:u})}if(!s(i))throw new c("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:e});return i="@context"in i?{"@context":i["@context"]}:{"@context":{}},l.contextUrl&&(r(i["@context"])||(i["@context"]=[i["@context"]]),i["@context"].push(l.contextUrl)),{context:i,remoteDoc:l}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(t,e,n){"use strict";e.exports=class extends Error{constructor(t="An unspecified JSON-LD error occurred.",e="jsonld.Error",n={}){super(t),this.name=e,this.message=t,this.details=n}}},{}],13:[function(t,e,n){"use strict";e.exports=t=>{class e{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(e,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(e.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:e}),e.compact=function(e,n){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):t.compact(e,n)},e.expand=function(e){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):t.expand(e)},e.flatten=function(e){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):t.flatten(e)},e}},{}],14:[function(t,e,n){"use strict";e.exports=t("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(t,e,n){"use strict";e.exports=class{constructor(){this._requests={}}wrapLoader(t){const e=this;return e._loader=t,function(){return e.add.apply(e,arguments)}}add(t){var e=this;return i(function*(){let n=e._requests[t];if(n)return Promise.resolve(n);n=e._requests[t]=e._loader(t);try{return yield n}finally{delete e._requests[t]}})()}}},{}],16:[function(t,e,n){"use strict";const i=t("lru-cache");e.exports=class{constructor({document:t}){this.document=t,this.cache=new i({max:10})}getProcessed(t){return this.cache.get(t)}setProcessed(t,e){this.cache.set(t,e)}}},{"lru-cache":33}],17:[function(t,e,n){"use strict";const r=t("./JsonLdError"),{isArray:s,isObject:o,isString:a,isUndefined:l}=t("./types"),{isList:c,isValue:u,isGraph:h,isSimpleGraph:d,isSubjectReference:p}=t("./graphTypes"),{expandIri:f,getContextValue:g,isKeyword:m,process:b,processingMode:y}=t("./context"),{removeBase:v,prependBase:_}=t("./url"),{addValue:w,asArray:x,compareShortestLeast:S}=t("./util"),C={};function E(t,e,n){if("@nest"!==f(t,e,{vocab:!0},n))throw new r("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}e.exports=C,C.compact=function(){var t=i(function*({activeCtx:t,activeProperty:e=null,element:n,options:i={},compactionMap:f=(()=>{})}){if(s(n)){let r=[];for(let s=0;s1&&(T=Array.from(T).sort());const k=t;for(const e of T){const n=C.compactIri({activeCtx:k,iri:e,relativeTo:{vocab:!0}}),r=g(S,n,"@context");l(r)||(t=yield b({activeCtx:t,localCtx:r,options:i,propagate:!1}))}const P=Object.keys(n).sort();for(const l of P){const p=n[l];if("@id"!==l)if("@type"!==l)if("@reverse"!==l)if("@preserve"!==l)if("@index"!==l)if("@graph"!==l&&"@list"!==l&&"@included"!==l&&m(l)){const e=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,e,p)}else{if(!s(p))throw new r("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===p.length){const e=C.compactIri({activeCtx:t,iri:l,value:p,relativeTo:{vocab:!0},reverse:v}),n=t.mappings.has(e)?t.mappings.get(e)["@nest"]:null;let r=_;n&&(E(t,n,i),o(_[n])||(_[n]={}),r=_[n]),w(r,e,p,{propertyIsArray:!0})}for(const e of p){const n=C.compactIri({activeCtx:t,iri:l,value:e,relativeTo:{vocab:!0},reverse:v}),r=t.mappings.has(n)?t.mappings.get(n)["@nest"]:null;let p=_;r&&(E(t,r,i),o(_[r])||(_[r]={}),p=_[r]);const m=g(t,n,"@container")||[],b=h(e),y=c(e);let S;y?S=e["@list"]:b&&(S=e["@graph"]);let O=yield C.compact({activeCtx:t,activeProperty:n,element:y||b?S:e,options:i,compactionMap:f});if(y){if(s(O)||(O=[O]),m.includes("@list")){w(p,n,O,{valueIsArray:!0,allowDuplicate:!0});continue}O={[C.compactIri({activeCtx:t,iri:"@list",relativeTo:{vocab:!0}})]:O},"@index"in e&&(O[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=e["@index"])}if(b)if(m.includes("@graph")&&(m.includes("@id")||m.includes("@index")&&d(e))){let r;p.hasOwnProperty(n)?r=p[n]:p[n]=r={};const s=(m.includes("@id")?e["@id"]:e["@index"])||C.compactIri({activeCtx:t,iri:"@none",relativeTo:{vocab:!0}});w(r,s,O,{propertyIsArray:!i.compactArrays||m.includes("@set")})}else m.includes("@graph")&&d(e)?(s(O)&&O.length>1&&(O={"@included":O}),w(p,n,O,{propertyIsArray:!i.compactArrays||m.includes("@set")})):(s(O)&&1===O.length&&i.compactArrays&&(O=O[0]),O={[C.compactIri({activeCtx:t,iri:"@graph",relativeTo:{vocab:!0}})]:O},"@id"in e&&(O[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]=e["@id"]),"@index"in e&&(O[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=e["@index"]),w(p,n,O,{propertyIsArray:!i.compactArrays||m.includes("@set")}));else if(m.includes("@language")||m.includes("@index")||m.includes("@id")||m.includes("@type")){let r,s;if(p.hasOwnProperty(n)?r=p[n]:p[n]=r={},m.includes("@language"))u(O)&&(O=O["@value"]),s=e["@language"];else if(m.includes("@index")){const i=g(t,n,"@index")||"@index",r=C.compactIri({activeCtx:t,iri:i,relativeTo:{vocab:!0}});if("@index"===i)s=e["@index"],delete O[r];else{let t;if([s,...t]=x(O[i]||[]),a(s))switch(t.length){case 0:delete O[i];break;case 1:O[i]=t[0];break;default:O[i]=t}else s=null}}else if(m.includes("@id")){const e=C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}});s=O[e],delete O[e]}else if(m.includes("@type")){const r=C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}});let o;switch([s,...o]=x(O[r]||[]),o.length){case 0:delete O[r];break;case 1:O[r]=o[0];break;default:O[r]=o}1===Object.keys(O).length&&"@id"in e&&(O=yield C.compact({activeCtx:t,activeProperty:n,element:{"@id":e["@id"]},options:i,compactionMap:f}))}s||(s=C.compactIri({activeCtx:t,iri:"@none",relativeTo:{vocab:!0}})),w(r,s,O,{propertyIsArray:m.includes("@set")})}else{const t=!i.compactArrays||m.includes("@set")||m.includes("@list")||s(O)&&0===O.length||"@list"===l||"@graph"===l;w(p,n,O,{propertyIsArray:t})}}}else{if((g(t,e,"@container")||[]).includes("@index"))continue;const n=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,n,p)}else{const n=yield C.compact({activeCtx:t,activeProperty:e,element:p,options:i,compactionMap:f});s(n)&&0===n.length||w(_,l,n)}else{const e=yield C.compact({activeCtx:t,activeProperty:"@reverse",element:p,options:i,compactionMap:f});for(const n in e)if(t.mappings.has(n)&&t.mappings.get(n).reverse){const r=e[n],s=(g(t,n,"@container")||[]).includes("@set")||!i.compactArrays;w(_,n,r,{propertyIsArray:s}),delete e[n]}if(Object.keys(e).length>0){const n=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,n,e)}}else{let e=x(p).map(t=>C.compactIri({activeCtx:S,iri:t,relativeTo:{vocab:!0}}));1===e.length&&(e=e[0]);const n=C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}}),i=(g(t,n,"@container")||[]).includes("@set")&&y(t,1.1)||s(e)&&0===p.length;w(_,n,e,{propertyIsArray:i})}else{let e=x(p).map(e=>C.compactIri({activeCtx:t,iri:e,relativeTo:{vocab:!1},base:i.base}));1===e.length&&(e=e[0]),_[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]=e}}return _}return n});return function(e){return t.apply(this,arguments)}}(),C.compactIri=({activeCtx:t,iri:e,value:n=null,relativeTo:i={vocab:!1},reverse:s=!1,base:a=null})=>{if(null===e)return e;t.isPropertyTermScoped&&t.previousContext&&(t=t.previousContext);const l=t.getInverse();if(m(e)&&e in l&&"@none"in l[e]&&"@type"in l[e]["@none"]&&"@none"in l[e]["@none"]["@type"])return l[e]["@none"]["@type"]["@none"];if(i.vocab&&e in l){const i=t["@language"]||"@none",r=[];o(n)&&"@index"in n&&!("@graph"in n)&&r.push("@index","@index@set"),o(n)&&"@preserve"in n&&(n=n["@preserve"][0]),h(n)?("@index"in n&&r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n&&r.push("@graph@id","@graph@id@set"),r.push("@graph","@graph@set","@set"),"@index"in n||r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n||r.push("@graph@id","@graph@id@set")):o(n)&&!u(n)&&r.push("@id","@id@set","@type","@set@type");let a="@language",l="@null";if(s)a="@type",l="@reverse",r.push("@set");else if(c(n)){"@index"in n||r.push("@list");const t=n["@list"];if(0===t.length)a="@any",l="@none";else{let e=0===t.length?i:null,n=null;for(let i=0;it.includes("_"));t&&a.push(t.replace(/^[^_]+_/,"_"))}a.push("@none");const l=t.inverse[e];for(const o of i){if(!(o in l))continue;const t=l[o][r];for(const e of a)if(e in t)return t[e]}return null}(t,e,n,r,a,l);if(null!==d)return d}if(i.vocab&&"@vocab"in t){const n=t["@vocab"];if(0===e.indexOf(n)&&e!==n){const i=e.substr(n.length);if(!t.mappings.has(i))return i}}let d=null;const p=[];let f=t.fastCurieMap;const g=e.length-1;for(let r=0;r=0;--r){const i=p[r],s=i.terms;for(const r of s){const s=r+":"+e.substr(i.iri.length);t.mappings.get(r)._prefix&&(!t.mappings.has(s)||null===n&&t.mappings.get(s)["@id"]===e)&&(null===d||S(s,d)<0)&&(d=s)}}if(null!==d)return d;for(const[o,c]of t.mappings)if(c&&c._prefix&&e.startsWith(o+":"))throw new r(`Absolute IRI "${e}" confused with prefix "${o}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:t});return i.vocab?e:"@base"in t?t["@base"]?v(_(a,t["@base"]),e):e:v(a,e)},C.compactValue=({activeCtx:t,activeProperty:e,value:n,options:i})=>{if(u(n)){const i=g(t,e,"@type"),r=g(t,e,"@language"),s=g(t,e,"@direction"),o=g(t,e,"@container")||[],l="@index"in n&&!o.includes("@index");if(!l&&"@none"!==i&&(n["@type"]===i||"@language"in n&&n["@language"]===r&&"@direction"in n&&n["@direction"]===s||"@language"in n&&n["@language"]===r||"@direction"in n&&n["@direction"]===s))return n["@value"];const c=Object.keys(n).length,u=1===c||2===c&&"@index"in n&&!l,h="@language"in t,d=a(n["@value"]),p=t.mappings.has(e)&&null===t.mappings.get(e)["@language"];if(u&&"@none"!==i&&(!h||!d||p))return n["@value"];const f={};return l&&(f[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=n["@index"]),"@type"in n?f[C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}})]=C.compactIri({activeCtx:t,iri:n["@type"],relativeTo:{vocab:!0}}):"@language"in n&&(f[C.compactIri({activeCtx:t,iri:"@language",relativeTo:{vocab:!0}})]=n["@language"]),"@direction"in n&&(f[C.compactIri({activeCtx:t,iri:"@direction",relativeTo:{vocab:!0}})]=n["@direction"]),f[C.compactIri({activeCtx:t,iri:"@value",relativeTo:{vocab:!0}})]=n["@value"],f}const r=f(t,e,{vocab:!0},i),s=g(t,e,"@type"),o=C.compactIri({activeCtx:t,iri:n["@id"],relativeTo:{vocab:"@vocab"===s},base:i.base});return"@id"===s||"@vocab"===s||"@graph"===r?o:{[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]:o}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(t,e,n){"use strict";const i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#";e.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:i,RDF_LIST:i+"List",RDF_FIRST:i+"first",RDF_REST:i+"rest",RDF_NIL:i+"nil",RDF_TYPE:i+"type",RDF_PLAIN_LITERAL:i+"PlainLiteral",RDF_XML_LITERAL:i+"XMLLiteral",RDF_JSON_LITERAL:i+"JSON",RDF_OBJECT:i+"object",RDF_LANGSTRING:i+"langString",XSD:r,XSD_BOOLEAN:r+"boolean",XSD_DOUBLE:r+"double",XSD_INTEGER:r+"integer",XSD_STRING:r+"string"}},{}],19:[function(t,e,n){"use strict";const r=t("./util"),s=t("./JsonLdError"),{isArray:o,isObject:a,isString:l,isUndefined:c}=t("./types"),{isAbsolute:u,isRelative:h,prependBase:d}=t("./url"),{asArray:p,compareShortestLeast:f}=t("./util"),g=new Map,m=/^@[a-zA-Z]+$/,b={};function y(t,e,n,i,r,s){if(null===e||!l(e)||b.isKeyword(e))return e;if(e.match(m))return null;if(i&&i.hasOwnProperty(e)&&!0!==r.get(e)&&b.createTermDefinition({activeCtx:t,localCtx:i,term:e,defined:r,options:s}),(n=n||{}).vocab){const n=t.mappings.get(e);if(null===n)return null;if(a(n)&&"@id"in n)return n["@id"]}const o=e.indexOf(":");if(o>0){const n=e.substr(0,o),a=e.substr(o+1);if("_"===n||0===a.indexOf("//"))return e;i&&i.hasOwnProperty(n)&&b.createTermDefinition({activeCtx:t,localCtx:i,term:n,defined:r,options:s});const l=t.mappings.get(n);if(l&&l._prefix)return l["@id"]+a;if(u(e))return e}if(n.vocab&&"@vocab"in t)return t["@vocab"]+e;if(n.base&&"@base"in t){if(t["@base"])return d(d(s.base,t["@base"]),e)}else if(n.base)return d(s.base,e);return e}function v(t,e){if(!t||"object"!=typeof t||!e||"object"!=typeof e)return t===e;const n=Array.isArray(t);if(n!==Array.isArray(e))return!1;if(n){if(t.length!==e.length)return!1;for(let n=0;n{if(i.has(n)){if(i.get(n))return;throw new s("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:e,term:n})}let h;if(i.set(n,!1),e.hasOwnProperty(n)&&(h=e[n]),"@type"===n&&a(h)&&"@set"===(h["@container"]||"@set")&&b.processingMode(t,1.1)){const t=["@container","@id","@protected"],i=Object.keys(h);if(0===i.length||i.some(e=>!t.includes(e)))throw new s("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:e,term:n})}else{if(b.isKeyword(n))throw new s("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:e,term:n});if(n.match(m))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:n});if(""===n)throw new s("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:e})}const d=t.mappings.get(n);t.mappings.has(n)&&t.mappings.delete(n);let p=!1;if((l(h)||null===h)&&(p=!0,h={"@id":h}),!a(h))throw new s("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:e});const f={};t.mappings.set(n,f),f.reverse=!1;const g=["@container","@id","@language","@reverse","@type"];b.processingMode(t,1.1)&&g.push("@context","@direction","@index","@nest","@prefix","@protected");for(const o in h)if(!g.includes(o))throw new s("Invalid JSON-LD syntax; a term definition must not contain "+o,"jsonld.SyntaxError",{code:"invalid term definition",context:e});const _=n.indexOf(":");if(f._termHasColon=_>0,"@reverse"in h){if("@id"in h)throw new s("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});if("@nest"in h)throw new s("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});const o=h["@reverse"];if(!l(o))throw new s("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(!b.isKeyword(o)&&o.match(m))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:o}),void(d?t.mappings.set(n,d):t.mappings.delete(n));const a=y(t,o,{vocab:!0,base:!1},e,i,r);if(!u(a))throw new s("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});f["@id"]=a,f.reverse=!0}else if("@id"in h){let o=h["@id"];if(o&&!l(o))throw new s("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(null===o)f["@id"]=null;else{if(!b.isKeyword(o)&&o.match(m))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:o}),void(d?t.mappings.set(n,d):t.mappings.delete(n));if(o!==n){if(o=y(t,o,{vocab:!0,base:!1},e,i,r),!u(o)&&!b.isKeyword(o))throw new s("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(n.match(/(?::[^:])|\//)&&y(t,n,{vocab:!0,base:!1},e,new Map(i).set(n,!0),r)!==o)throw new s("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});f["@id"]=o,f._prefix=p&&!f._termHasColon&&o.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in f))if(f._termHasColon){const s=n.substr(0,_);if(e.hasOwnProperty(s)&&b.createTermDefinition({activeCtx:t,localCtx:e,term:s,defined:i,options:r}),t.mappings.has(s)){const e=n.substr(_+1);f["@id"]=t.mappings.get(s)["@id"]+e}else f["@id"]=n}else if("@type"===n)f["@id"]=n;else{if(!("@vocab"in t))throw new s("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e,term:n});f["@id"]=t["@vocab"]+n}if((!0===h["@protected"]||!0===i.get("@protected")&&!1!==h["@protected"])&&(t.protected[n]=!0,f.protected=!0),i.set(n,!0),"@type"in h){let n=h["@type"];if(!l(n))throw new s("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:e});if("@json"===n||"@none"===n){if(b.processingMode(t,1))throw new s(`Invalid JSON-LD syntax; an @context @type value must not be "${n}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:e})}else if("@id"!==n&&"@vocab"!==n){if(n=y(t,n,{vocab:!0,base:!1},e,i,r),!u(n))throw new s("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:e});if(0===n.indexOf("_:"))throw new s("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:e})}f["@type"]=n}if("@container"in h){const n=l(h["@container"])?[h["@container"]]:h["@container"]||[],i=["@list","@set","@index","@language"];let r=!0;const a=n.includes("@set");if(b.processingMode(t,1.1)){if(i.push("@graph","@id","@type"),n.includes("@list")){if(1!==n.length)throw new s("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:e})}else if(n.includes("@graph")){if(n.some(t=>"@graph"!==t&&"@id"!==t&&"@index"!==t&&"@set"!==t))throw new s("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:e})}else r&=n.length<=(a?2:1);if(n.includes("@type")&&(f["@type"]=f["@type"]||"@id",!["@id","@vocab"].includes(f["@type"])))throw new s("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:e})}else r&=!o(h["@container"]),r&=n.length<=1;if(r&=n.every(t=>i.includes(t)),r&=!(a&&n.includes("@list")),!r)throw new s("Invalid JSON-LD syntax; @context @container value must be one of the following: "+i.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:e});if(f.reverse&&!n.every(t=>["@index","@set"].includes(t)))throw new s("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});f["@container"]=n}if("@index"in h){if(!("@container"in h)||!f["@container"].includes("@index"))throw new s(`Invalid JSON-LD syntax; @index without @index in @container: "${h["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:e});if(!l(h["@index"])||0===h["@index"].indexOf("@"))throw new s(`Invalid JSON-LD syntax; @index must expand to an IRI: "${h["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:e});f["@index"]=h["@index"]}if("@context"in h&&(f["@context"]=h["@context"]),"@language"in h&&!("@type"in h)){let t=h["@language"];if(null!==t&&!l(t))throw new s("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:e});null!==t&&(t=t.toLowerCase()),f["@language"]=t}if("@prefix"in h){if(n.match(/:|\//))throw new s("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:e});if(b.isKeyword(f["@id"]))throw new s("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:e});if("boolean"!=typeof h["@prefix"])throw new s("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:e});f._prefix=!0===h["@prefix"]}if("@direction"in h){const t=h["@direction"];if(null!==t&&"ltr"!==t&&"rtl"!==t)throw new s('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:e});f["@direction"]=t}if("@nest"in h){const t=h["@nest"];if(!l(t)||"@nest"!==t&&0===t.indexOf("@"))throw new s("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:e});f["@nest"]=t}const w=f["@id"];if("@context"===w||"@preserve"===w)throw new s("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:e});if(d&&d.protected&&!c&&(t.protected[n]=!0,f.protected=!0,!v(d,f))){const t=r&&r.protectedMode||"error";if("error"===t)throw new s(`Invalid JSON-LD syntax; tried to redefine "${n}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:e,term:n});if("warn"===t)return void console.warn("WARNING: protected term redefinition",{term:n});throw new s("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:e,term:n,protectedMode:t})}},b.expandIri=(t,e,n,i)=>y(t,e,n,void 0,void 0,i),b.getInitialContext=t=>{const e=JSON.stringify({processingMode:t.processingMode}),n=g.get(e);if(n)return n;const i={processingMode:t.processingMode,mappings:new Map,inverse:null,getInverse:function(){const t=this;if(t.inverse)return t.inverse;const e=t.inverse={},n=t.fastCurieMap={},i={},r=(t["@language"]||"@none").toLowerCase(),a=t["@direction"],l=t.mappings,c=[...l.keys()].sort(f);for(const s of c){const t=l.get(s);if(null===t)continue;let c=t["@container"]||"@none";if(c=[].concat(c).sort().join(""),null===t["@id"])continue;const u=p(t["@id"]);for(const l of u){let u=e[l];const h=b.isKeyword(l);if(u)!h&&!t._termHasColon&&i[l].push(s);else if(e[l]=u={},!h&&!t._termHasColon){i[l]=[s];const t={iri:l,terms:i[l]};l[0]in n?n[l[0]].push(t):n[l[0]]=[t]}if(u[c]||(u[c]={"@language":{},"@type":{},"@any":{}}),u=u[c],o(s,u["@any"],"@none"),t.reverse)o(s,u["@type"],"@reverse");else if("@none"===t["@type"])o(s,u["@any"],"@none"),o(s,u["@language"],"@none"),o(s,u["@type"],"@none");else if("@type"in t)o(s,u["@type"],t["@type"]);else if("@language"in t&&"@direction"in t){const e=t["@language"],n=t["@direction"];o(s,u["@language"],e&&n?`${e}_${n}`.toLowerCase():e?e.toLowerCase():n?`_${n}`:"@null")}else"@language"in t?o(s,u["@language"],(t["@language"]||"@null").toLowerCase()):"@direction"in t?o(s,u["@language"],t["@direction"]?`_${t["@direction"]}`:"@none"):a?(o(s,u["@language"],`_${a}`),o(s,u["@language"],"@none"),o(s,u["@type"],"@none")):(o(s,u["@language"],r),o(s,u["@language"],"@none"),o(s,u["@type"],"@none"))}}for(const o in n)s(n,o,1);return e},clone:function(){const t={};return t.mappings=r.clone(this.mappings),t.clone=this.clone,t.inverse=null,t.getInverse=this.getInverse,t.protected=r.clone(this.protected),this.previousContext&&(t.previousContext=this.previousContext.clone()),t.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(t["@base"]=this["@base"]),"@language"in this&&(t["@language"]=this["@language"]),"@vocab"in this&&(t["@vocab"]=this["@vocab"]),t},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===g.size&&g.clear(),g.set(e,i),i;function s(t,e,n){const i=t[e],r=t[e]={};let o,a;for(const s of i)o=s.iri,a=n>=o.length?"":o[n],a in r?r[a].push(s):r[a]=[s];for(const l in r)""!==l&&s(r,l,n+1)}function o(t,e,n){e.hasOwnProperty(n)||(e[n]=t)}},b.getContextValue=(t,e,n)=>{if(null===e)return"@context"===n?void 0:null;if(t.mappings.has(e)){const i=t.mappings.get(e);if(c(n))return i;if(i.hasOwnProperty(n))return i[n]}return"@language"===n&&n in t||"@direction"===n&&n in t?t[n]:"@context"!==n?null:void 0},b.processingMode=(t,e)=>e.toString()>="1.1"?!t.processingMode||t.processingMode>="json-ld-"+e.toString():"json-ld-1.0"===t.processingMode,b.isKeyword=t=>{if(!l(t)||"@"!==t[0])return!1;switch(t){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(t,e,n){"use strict";const{parseLinkHeader:r,buildHeaders:s}=t("../util"),{LINK_HEADER_CONTEXT:o}=t("../constants"),a=t("../JsonLdError"),l=t("../RequestQueue"),{prependBase:c}=t("../url"),u=/(^|(\r\n))link:/i;function h(t,e,n){const i=new(t=t||XMLHttpRequest);return new Promise((t,r)=>{i.onload=()=>t(i),i.onerror=t=>r(t),i.open("GET",e,!0);for(const e in n)i.setRequestHeader(e,n[e]);i.send()})}e.exports=({secure:t,headers:e={},xhr:n}={headers:{}})=>{return e=s(e),(new l).wrapLoader(d);function d(t){return p.apply(this,arguments)}function p(){return(p=i(function*(i){if(0!==i.indexOf("http:")&&0!==i.indexOf("https:"))throw new a('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:i});if(t&&0!==i.indexOf("https"))throw new a('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:i});let s;try{s=yield h(n,i,e)}catch(m){throw new a("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:i,cause:m})}if(s.status>=400)throw new a("URL could not be dereferenced: "+s.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:i,httpStatusCode:s.status});let l={contextUrl:null,documentUrl:i,document:s.response},p=null;const f=s.getResponseHeader("Content-Type");let g;if(u.test(s.getAllResponseHeaders())&&(g=s.getResponseHeader("Link")),g&&"application/ld+json"!==f){const t=r(g),e=t[o];if(Array.isArray(e))throw new a("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:i});e&&(l.contextUrl=e.target),p=t.alternate,p&&"application/ld+json"==p.type&&!(f||"").match(/^application\/(\w*\+)?json$/)&&(l=yield d(c(i,p.target)))}return l})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(t,e,n){"use strict";const r=t("./JsonLdError"),{isArray:s,isObject:o,isEmptyObject:a,isString:l,isUndefined:c}=t("./types"),{isList:u,isValue:h,isGraph:d,isSubject:p}=t("./graphTypes"),{expandIri:f,getContextValue:g,isKeyword:m,process:b,processingMode:y}=t("./context"),{isAbsolute:v}=t("./url"),{addValue:_,asArray:w,getValues:x,validateTypeValue:S}=t("./util"),C={};e.exports=C;const E=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function O(t){return T.apply(this,arguments)}function T(){return(T=i(function*({activeCtx:t,activeProperty:e,expandedActiveProperty:n,element:i,expandedParent:d,options:x={},insideList:T,typeKey:k,typeScopedContext:M,expansionMap:I}){const D=Object.keys(i).sort(),R=[];let N;const L=i[k]&&"@json"===f(t,s(i[k])?i[k][0]:i[k],{vocab:!0},x);for(const O of D){let k,D=i[O];if("@context"===O)continue;let j=f(t,O,{vocab:!0},x);if((null===j||!v(j)&&!m(j))&&(j=I({unmappedProperty:O,activeCtx:t,activeProperty:e,parent:i,options:x,insideList:T,value:D,expandedParent:d}),void 0===j))continue;if(m(j)){if("@reverse"===n)throw new r("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:D});if(j in d&&"@included"!==j&&"@type"!==j)throw new r("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:j})}if("@id"===j){if(!l(D)){if(!x.isFrame)throw new r('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:D});if(o(D)){if(!a(D))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D})}else{if(!s(D))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D});if(!D.every(t=>l(t)))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D})}}_(d,"@id",w(D).map(e=>l(e)?f(t,e,{base:!0},x):e),{propertyIsArray:x.isFrame});continue}if("@type"===j){o(D)&&(D=Object.fromEntries(Object.entries(D).map(([t,e])=>[f(M,t,{vocab:!0}),w(e).map(t=>f(M,t,{base:!0,vocab:!0}))]))),S(D,x.isFrame),_(d,"@type",w(D).map(t=>l(t)?f(M,t,{base:!0,vocab:!0},x):t),{propertyIsArray:x.isFrame});continue}if("@included"===j&&y(t,1.1)){const n=w(yield C.expand({activeCtx:t,activeProperty:e,element:D,options:x,expansionMap:I}));if(!n.every(t=>p(t)))throw new r("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:D});_(d,"@included",n,{propertyIsArray:!0});continue}if("@graph"===j&&!o(D)&&!s(D))throw new r('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:D});if("@value"===j){N=D,L&&y(t,1.1)?d["@value"]=D:_(d,"@value",D,{propertyIsArray:x.isFrame});continue}if("@language"===j){if(null===D)continue;if(!l(D)&&!x.isFrame)throw new r('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:D});D=w(D).map(t=>l(t)?t.toLowerCase():t);for(const t of D)l(t)&&!t.match(E)&&console.warn(`@language must be valid BCP47: ${t}`);_(d,"@language",D,{propertyIsArray:x.isFrame});continue}if("@direction"===j){if(!l(D)&&!x.isFrame)throw new r('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:D});D=w(D);for(const t of D)if(l(t)&&"ltr"!==t&&"rtl"!==t)throw new r('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:D});_(d,"@direction",D,{propertyIsArray:x.isFrame});continue}if("@index"===j){if(!l(D))throw new r('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:D});_(d,"@index",D);continue}if("@reverse"===j){if(!o(D))throw new r('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:D});if(k=yield C.expand({activeCtx:t,activeProperty:"@reverse",element:D,options:x,expansionMap:I}),"@reverse"in k)for(const t in k["@reverse"])_(d,t,k["@reverse"][t],{propertyIsArray:!0});let e=d["@reverse"]||null;for(const t in k){if("@reverse"===t)continue;null===e&&(e=d["@reverse"]={}),_(e,t,[],{propertyIsArray:!0});const n=k[t];for(let i=0;i"@id"===t||"@index"===t)&&(k=w(k).map(t=>({"@graph":w(t)}))),F.mappings.has(O)&&F.mappings.get(O).reverse){const t=d["@reverse"]=d["@reverse"]||{};k=w(k);for(let e=0;e"@value"===f(t,e,{vocab:!0},x)))throw new r("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:i});yield O({activeCtx:t,activeProperty:e,expandedActiveProperty:n,element:i,expandedParent:d,options:x,insideList:T,typeScopedContext:M,typeKey:k,expansionMap:I})}}})).apply(this,arguments)}function k({activeCtx:t,activeProperty:e,value:n,options:i}){if(null==n)return null;const r=f(t,e,{vocab:!0},i);if("@id"===r)return f(t,n,{base:!0},i);if("@type"===r)return f(t,n,{vocab:!0,base:!0},i);const s=g(t,e,"@type");if(("@id"===s||"@graph"===r)&&l(n))return{"@id":f(t,n,{base:!0},i)};if("@vocab"===s&&l(n))return{"@id":f(t,n,{vocab:!0,base:!0},i)};if(m(r))return n;const o={};if(s&&!["@id","@vocab","@none"].includes(s))o["@type"]=s;else if(l(n)){const n=g(t,e,"@language");null!==n&&(o["@language"]=n);const i=g(t,e,"@direction");null!==i&&(o["@direction"]=i)}return["boolean","number","string"].includes(typeof n)||(n=n.toString()),o["@value"]=n,o}function P(t,e,n,i){const o=[],a=Object.keys(e).sort();for(const c of a){const a=f(t,c,{vocab:!0},i);let u=e[c];s(u)||(u=[u]);for(const t of u){if(null===t)continue;if(!l(t))throw new r("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:e});const i={"@value":t};"@none"!==a&&(i["@language"]=c.toLowerCase()),n&&(i["@direction"]=n),o.push(i)}}return o}function A(t){return M.apply(this,arguments)}function M(){return(M=i(function*({activeCtx:t,options:e,activeProperty:n,value:i,expansionMap:o,asGraph:a,indexKey:l,propertyIndex:u}){const p=[],m=Object.keys(i).sort(),y="@type"===l;for(let v of m){if(y){const n=g(t,v,"@context");c(n)||(t=yield b({activeCtx:t,localCtx:n,propagate:!1,options:e}))}let m,w=i[v];s(w)||(w=[w]),w=yield C.expand({activeCtx:t,activeProperty:n,element:w,options:e,insideList:!1,insideIndex:!0,expansionMap:o}),m=u?"@none"===v?"@none":k({activeCtx:t,activeProperty:l,value:v,options:e}):f(t,v,{vocab:!0},e),"@id"===l?v=f(t,v,{base:!0},e):y&&(v=m);for(let t of w){if(a&&!d(t)&&(t={"@graph":[t]}),"@type"===l)"@none"===m||(t["@type"]=t["@type"]?[v].concat(t["@type"]):[v]);else{if(h(t)&&!["@language","@type","@index"].includes(l))throw new r(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${l}".`,"jsonld.SyntaxError",{code:"invalid value object",value:t});u?"@none"!==m&&_(t,u,m,{propertyIsArray:!0,prependValue:!0}):"@none"!==m&&!(l in t)&&(t[l]=v)}p.push(t)}}return p})).apply(this,arguments)}C.expand=function(){var t=i(function*({activeCtx:t,activeProperty:e=null,element:n,options:i={},insideList:u=!1,insideIndex:h=!1,typeScopedContext:d=null,expansionMap:p=(()=>{})}){if(null==n)return null;if("@default"===e&&(i=Object.assign({},i,{isFrame:!1})),!s(n)&&!o(n)){if(!u&&(null===e||"@graph"===f(t,e,{vocab:!0},i))){const r=yield p({unmappedValue:n,activeCtx:t,activeProperty:e,options:i,insideList:u});return void 0===r?null:r}return k({activeCtx:t,activeProperty:e,value:n,options:i})}if(s(n)){let r=[];const o=g(t,e,"@container")||[];u=u||o.includes("@list");for(let a=0;a1?e.slice().sort():e:[e];for(const n of s){const e=g(d,n,"@context");c(e)||(t=yield b({activeCtx:t,localCtx:e,options:i,propagate:!1}))}}let P={};yield O({activeCtx:t,activeProperty:e,expandedActiveProperty:m,element:n,expandedParent:P,options:i,insideList:u,typeKey:T,typeScopedContext:d,expansionMap:p}),S=Object.keys(P);let A=S.length;if("@value"in P){if("@type"in P&&("@language"in P||"@direction"in P))throw new r('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:P});let s=A-1;if("@type"in P&&(s-=1),"@index"in P&&(s-=1),"@language"in P&&(s-=1),"@direction"in P&&(s-=1),0!==s)throw new r('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:P});const o=null===P["@value"]?[]:w(P["@value"]),c=x(P,"@type");if(!y(t,1.1)||!c.includes("@json")||1!==c.length)if(0===o.length){const r=yield p({unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}else{if(!o.every(t=>l(t)||a(t))&&"@language"in P)throw new r("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:P});if(!c.every(t=>v(t)&&!(l(t)&&0===t.indexOf("_:"))||a(t)))throw new r('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:P})}}else if("@type"in P&&!s(P["@type"]))P["@type"]=[P["@type"]];else if("@set"in P||"@list"in P){if(A>1&&(2!==A||!("@index"in P)))throw new r('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:P});"@set"in P&&(P=P["@set"],S=Object.keys(P),A=S.length)}else if(1===A&&"@language"in P){const r=yield p(P,{unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}if(o(P)&&!i.keepFreeFloatingNodes&&!u&&(null===e||"@graph"===m)&&(0===A||"@value"in P||"@list"in P||1===A&&"@id"in P)){const r=yield p({unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}return P});return function(e){return t.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(t,e,n){"use strict";const{isSubjectReference:i}=t("./graphTypes"),{createMergedNodeMap:r}=t("./nodeMap"),s={};e.exports=s,s.flatten=t=>{const e=r(t),n=[],s=Object.keys(e).sort();for(let r=0;r=0;--i){const r=n[i];if(r.graph===e&&r.subject["@id"]===t["@id"])return!0}return!1}function f(t,e,n){const i="@"+n;let r=i in t?t[i][0]:e[n];if("embed"===n)if(!0===r)r="@once";else if(!1===r)r="@never";else if("@always"!==r&&"@never"!==r&&"@link"!==r&&"@first"!==r&&"@last"!==r&&"@once"!==r)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:t});return r}function g(t){if(!s.isArray(t)||1!==t.length||!s.isObject(t[0]))throw new l("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:t});if("@id"in t[0])for(const e of o.asArray(t[0]["@id"]))if(!s.isObject(e)&&!a.isAbsolute(e)||s.isString(e)&&0===e.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:t});if("@type"in t[0])for(const e of o.asArray(t[0]["@type"]))if(!s.isObject(e)&&!a.isAbsolute(e)||s.isString(e)&&0===e.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:t})}function m(t,e,n,a){let l=!0,c=!1;for(const u in n){let h=!1;const d=o.getValues(e,u),p=0===o.getValues(n,u).length;if("@id"===u){if(s.isEmptyObject(n["@id"][0]||{})?h=!0:n["@id"].length>=0&&(h=n["@id"].includes(d[0])),!a.requireAll)return h}else if("@type"===u){if(l=!1,p){if(d.length>0)return!1;h=!0}else if(1===n["@type"].length&&s.isEmptyObject(n["@type"][0]))h=d.length>0;else for(const t of n["@type"])h=!(!s.isObject(t)||!("@default"in t))||h||d.some(e=>e===t);if(!a.requireAll)return h}else{if(i(u))continue;{const e=o.getValues(n,u)[0];let i=!1;if(e&&(g([e]),i="@default"in e),l=!1,0===d.length&&i)continue;if(d.length>0&&p)return!1;if(void 0===e){if(d.length>0)return!1;h=!0}else if(r.isList(e)){const n=e["@list"][0];if(r.isList(d[0])){const e=d[0]["@list"];r.isValue(n)?h=e.some(t=>w(n,t)):(r.isSubject(n)||r.isSubjectReference(n))&&(h=e.some(e=>_(t,n,e,a)))}}else h=r.isValue(e)?d.some(t=>w(e,t)):r.isSubjectReference(e)?d.some(n=>_(t,e,n,a)):!!s.isObject(e)&&d.length>0}}if(!h&&a.requireAll)return!1;c=c||h}return l||c}function b(t,e){const n=t.uniqueEmbeds[t.graph],i=n[e],r=i.parent,a=i.property,l={"@id":e};if(s.isArray(r)){for(let t=0;t{const e=Object.keys(n);for(const i of e)i in n&&s.isObject(n[i].parent)&&n[i].parent["@id"]===t&&(delete n[i],c(i))};c(e)}function y(t,e){if(s.isArray(t))return t.map(t=>y(t,e));if(s.isObject(t)){if("@preserve"in t)return t["@preserve"][0];if(r.isValue(t))return t;if(r.isList(t))return t["@list"]=y(t["@list"],e),t;if("@id"in t){const n=t["@id"];if(e.link.hasOwnProperty(n)){const i=e.link[n].indexOf(t);if(-1!==i)return e.link[n][i];e.link[n].push(t)}else e.link[n]=[t]}for(const n in t)"@id"===n&&e.bnodesToClear.includes(t[n])?delete t["@id"]:t[n]=y(t[n],e)}return t}function v(t,e,n){s.isObject(t)?o.addValue(t,e,n,{propertyIsArray:!0}):t.push(n)}function _(t,e,n,i){if(!("@id"in n))return!1;const r=t.subjects[n["@id"]];return r&&m(t,r,e,i)}function w(t,e){const n=e["@value"],i=e["@type"],r=e["@language"],o=t["@value"]?s.isArray(t["@value"])?t["@value"]:[t["@value"]]:[],a=t["@type"]?s.isArray(t["@type"])?t["@type"]:[t["@type"]]:[],l=t["@language"]?s.isArray(t["@language"])?t["@language"]:[t["@language"]]:[];return 0===o.length&&0===a.length&&0===l.length||!(!o.includes(n)&&!s.isEmptyObject(o[0])||!(!i&&0===a.length||a.includes(i)||i&&s.isEmptyObject(a[0]))||!(!r&&0===l.length||l.includes(r)||r&&s.isEmptyObject(l[0])))}e.exports=h,h.frameMergedOrDefault=(t,e,n)=>{const i={options:n,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},r=new o.IdentifierIssuer("_:b");c(t,i.graphMap,"@default",r),n.merged&&(i.graphMap["@merged"]=u(i.graphMap),i.graph="@merged"),i.subjects=i.graphMap[i.graph];const s=[];return h.frame(i,Object.keys(i.subjects).sort(),e,s),n.pruneBlankNodeIdentifiers&&(n.bnodesToClear=Object.keys(i.bnodeMap).filter(t=>1===i.bnodeMap[t].length)),n.link={},y(s,n)},h.frame=(t,e,n,a,c=null)=>{g(n);const u=t.options,y={embed:f(n=n[0],u,"embed"),explicit:f(n,u,"explicit"),requireAll:f(n,u,"requireAll")};t.link.hasOwnProperty(t.graph)||(t.link[t.graph]={});const _=t.link[t.graph],x=function(t,e,n,i){const r={};for(const s of e){const e=t.graphMap[t.graph][s];m(t,e,n,i)&&(r[s]=e)}return r}(t,e,n,y),S=Object.keys(x).sort();for(const g of S){const m=x[g];if(null===c?t.uniqueEmbeds={[t.graph]:{}}:t.uniqueEmbeds[t.graph]=t.uniqueEmbeds[t.graph]||{},"@link"===y.embed&&g in _){v(a,c,_[g]);continue}const S={"@id":g};if(0===g.indexOf("_:")&&o.addValue(t.bnodeMap,g,S,{propertyIsArray:!0}),_[g]=S,("@first"===y.embed||"@last"===y.embed)&&t.is11)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:n});if(t.embedded||!t.uniqueEmbeds[t.graph].hasOwnProperty(g)){if(t.embedded&&("@never"===y.embed||p(m,t.graph,t.subjectStack))){v(a,c,S);continue}if(t.embedded&&("@first"==y.embed||"@once"==y.embed)&&t.uniqueEmbeds[t.graph].hasOwnProperty(g)){v(a,c,S);continue}if("@last"===y.embed&&g in t.uniqueEmbeds[t.graph]&&b(t,g),t.uniqueEmbeds[t.graph][g]={parent:a,property:c},t.subjectStack.push({subject:m,graph:t.graph}),g in t.graphMap){let e=!1,i=null;"@graph"in n?(i=n["@graph"][0],e=!("@merged"===g||"@default"===g),s.isObject(i)||(i={})):(e="@merged"!==t.graph,i={}),e&&h.frame(zn(vt({},t),{graph:g,embedded:!1}),Object.keys(t.graphMap[g]).sort(),[i],S,"@graph")}"@included"in n&&h.frame(zn(vt({},t),{embedded:!1}),e,n["@included"],S,"@included");for(const e of Object.keys(m).sort())if(i(e)){if(S[e]=o.clone(m[e]),"@type"===e)for(const e of m["@type"])0===e.indexOf("_:")&&o.addValue(t.bnodeMap,e,S,{propertyIsArray:!0})}else if(!y.explicit||e in n)for(const i of m[e]){const s=e in n?n[e]:d(y);if(r.isList(i)){const s=n[e]&&n[e][0]&&n[e][0]["@list"]?n[e][0]["@list"]:d(y),a={"@list":[]};v(S,e,a);const l=i["@list"];for(const e of l)r.isSubjectReference(e)?h.frame(zn(vt({},t),{embedded:!0}),[e["@id"]],s,a,"@list"):v(a,"@list",o.clone(e))}else r.isSubjectReference(i)?h.frame(zn(vt({},t),{embedded:!0}),[i["@id"]],s,S,e):w(s[0],i)&&v(S,e,o.clone(i))}for(const t of Object.keys(n).sort()){if("@type"===t){if(!s.isObject(n[t][0])||!("@default"in n[t][0]))continue}else if(i(t))continue;const e=n[t][0]||{};if(!f(e,u,"omitDefault")&&!(t in S)){let n="@null";"@default"in e&&(n=o.clone(e["@default"])),s.isArray(n)||(n=[n]),S[t]=[{"@preserve":n}]}}for(const e of Object.keys(n["@reverse"]||{}).sort()){const i=n["@reverse"][e];for(const n of Object.keys(t.subjects))o.getValues(t.subjects[n],e).some(t=>t["@id"]===g)&&(S["@reverse"]=S["@reverse"]||{},o.addValue(S["@reverse"],e,[],{propertyIsArray:!0}),h.frame(zn(vt({},t),{embedded:!0}),[n],i,S["@reverse"][e],c))}v(a,c,S),t.subjectStack.pop()}}},h.cleanupNull=(t,e)=>{if(s.isArray(t))return t.map(t=>h.cleanupNull(t,e)).filter(t=>t);if("@null"===t)return null;if(s.isObject(t)){if("@id"in t){const n=t["@id"];if(e.link.hasOwnProperty(n)){const i=e.link[n].indexOf(t);if(-1!==i)return e.link[n][i];e.link[n].push(t)}else e.link[n]=[t]}for(const n in t)t[n]=h.cleanupNull(t[n],e)}return t}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(t,e,n){"use strict";const r=t("./JsonLdError"),s=t("./graphTypes"),o=t("./types"),a=t("./util"),{RDF_LIST:l,RDF_FIRST:c,RDF_REST:u,RDF_NIL:h,RDF_TYPE:d,RDF_JSON_LITERAL:p,XSD_BOOLEAN:f,XSD_DOUBLE:g,XSD_INTEGER:m,XSD_STRING:b}=t("./constants"),y=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,v={};function _(t,e,n){if(t.termType.endsWith("Node"))return{"@id":t.value};const i={"@value":t.value};if(t.language)i["@language"]=t.language;else{let a=t.datatype.value;if(a||(a=b),a===p){a="@json";try{i["@value"]=JSON.parse(i["@value"])}catch(s){throw new r("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:i["@value"],cause:s})}}if(e){if(a===f)"true"===i["@value"]?i["@value"]=!0:"false"===i["@value"]&&(i["@value"]=!1);else if(o.isNumeric(i["@value"]))if(a===m){const t=parseInt(i["@value"],10);t.toFixed(0)===i["@value"]&&(i["@value"]=t)}else a===g&&(i["@value"]=parseFloat(i["@value"]));[f,m,g,b].includes(a)||(i["@type"]=a)}else if("i18n-datatype"===n&&a.startsWith("https://www.w3.org/ns/i18n#")){const[,t,e]=a.split(/[#_]/);t.length>0&&(i["@language"]=t,t.match(y)||console.warn(`@language must be valid BCP47: ${t}`)),i["@direction"]=e}else a!==b&&(i["@type"]=a)}return i}e.exports=v,v.fromRDF=function(){var t=i(function*(t,{useRdfType:e=!1,useNativeTypes:n=!1,rdfDirection:i=null}){const r={},p={"@default":r},f={};for(const s of t){const t="DefaultGraph"===s.graph.termType?"@default":s.graph.value;t in p||(p[t]={}),"@default"!==t&&!(t in r)&&(r[t]={"@id":t});const o=p[t],l=s.subject.value,c=s.predicate.value,u=s.object;l in o||(o[l]={"@id":l});const g=o[l],m=u.termType.endsWith("Node");if(m&&!(u.value in o)&&(o[u.value]={"@id":u.value}),c===d&&!e&&m){a.addValue(g,"@type",u.value,{propertyIsArray:!0});continue}const b=_(u,n,i);if(a.addValue(g,c,b,{propertyIsArray:!0}),m)if(u.value===h){const t=o[u.value];"usages"in t||(t.usages=[]),t.usages.push({node:g,property:c,value:b})}else f[u.value]=!(u.value in f)&&{node:g,property:c,value:b}}for(const a in p){const t=p[a];if(!(h in t))continue;const e=t[h];if(e.usages){for(let n of e.usages){let e=n.node,i=n.property,r=n.value;const a=[],h=[];let d=Object.keys(e).length;for(;i===u&&o.isObject(f[e["@id"]])&&o.isArray(e[c])&&1===e[c].length&&o.isArray(e[u])&&1===e[u].length&&(3===d||4===d&&o.isArray(e["@type"])&&1===e["@type"].length&&e["@type"][0]===l)&&(a.push(e[c][0]),h.push(e["@id"]),n=f[e["@id"]],e=n.node,i=n.property,r=n.value,d=Object.keys(e).length,s.isBlankNode(e)););delete r["@id"],r["@list"]=a.reverse();for(const n of h)delete t[n]}delete e.usages}}const g=[],m=Object.keys(r).sort();for(const o of m){const t=r[o];if(o in p){const e=t["@graph"]=[],n=p[o],i=Object.keys(n).sort();for(const t of i){const i=n[t];s.isSubjectReference(i)||e.push(i)}}s.isSubjectReference(t)||g.push(t)}return g});return function(e,n){return t.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(t,e,n){"use strict";const i=t("./types"),r={};e.exports=r,r.isSubject=t=>!(!i.isObject(t)||"@value"in t||"@set"in t||"@list"in t)&&(Object.keys(t).length>1||!("@id"in t)),r.isSubjectReference=t=>i.isObject(t)&&1===Object.keys(t).length&&"@id"in t,r.isValue=t=>i.isObject(t)&&"@value"in t,r.isList=t=>i.isObject(t)&&"@list"in t,r.isGraph=t=>i.isObject(t)&&"@graph"in t&&1===Object.keys(t).filter(t=>"@id"!==t&&"@index"!==t).length,r.isSimpleGraph=t=>r.isGraph(t)&&!("@id"in t),r.isBlankNode=t=>!!i.isObject(t)&&("@id"in t?0===t["@id"].indexOf("_:"):0===Object.keys(t).length||!("@value"in t||"@set"in t||"@list"in t))},{"./types":30}],26:[function(t,e,n){const r=t("rdf-canonize"),s=t("./platform"),o=t("./util"),a=t("./ContextResolver"),l=o.IdentifierIssuer,c=t("./JsonLdError"),u=t("lru-cache"),h=t("./NQuads"),{expand:d}=t("./expand"),{flatten:p}=t("./flatten"),{fromRDF:f}=t("./fromRdf"),{toRDF:g}=t("./toRdf"),{frameMergedOrDefault:m,cleanupNull:b}=t("./frame"),{isArray:y,isObject:v,isString:_}=t("./types"),{isSubjectReference:w}=t("./graphTypes"),{expandIri:x,getInitialContext:S,process:C,processingMode:E}=t("./context"),{compact:O,compactIri:T}=t("./compact"),{createNodeMap:k,createMergedNodeMap:P,mergeNodeMaps:A}=t("./nodeMap"),M=function(e){const n={},M=new u({max:100});function I(t,n){var i=n,{documentLoader:r=e.documentLoader}=i,s=CZ(i,["documentLoader"]);return Object.assign({},{documentLoader:r},s,t)}return e.compact=function(){var t=i(function*(t,n,i){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===n)throw new c("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===t)return null;let r;(i=I(i,{base:_(t)?t:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new l("_:b"),contextResolver:new a({sharedCache:M})})).link&&(i.skipExpansion=!0),i.compactToRelative||delete i.base,r=i.skipExpansion?t:yield e.expand(t,i);const s=yield e.processContext(S(i),n,i);let u=yield O({activeCtx:s,element:r,options:i,compactionMap:i.compactionMap});i.compactArrays&&!i.graph&&y(u)?1===u.length?u=u[0]:0===u.length&&(u={}):i.graph&&v(u)&&(u=[u]),v(n)&&"@context"in n&&(n=n["@context"]),n=o.clone(n),y(n)||(n=[n]);const h=n;n=[];for(let e=0;e0)&&n.push(h[e]);const d=n.length>0;if(1===n.length&&(n=n[0]),y(u)){const t=T({activeCtx:s,iri:"@graph",relativeTo:{vocab:!0}}),e=u;u={},d&&(u["@context"]=n),u[t]=e}else if(v(u)&&d){const t=u;u={"@context":n};for(const e in t)u[e]=t[e]}return u});return function(e,n,i){return t.apply(this,arguments)}}(),e.expand=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(n=I(n,{keepFreeFloatingNodes:!1,contextResolver:new a({sharedCache:M})})).expansionMap&&(n.expansionMap=void 0);const i={},r=[];if("expandContext"in n){const t=o.clone(n.expandContext);i.expandContext=v(t)&&"@context"in t?t:{"@context":t},r.push(i.expandContext)}let s;if(_(t)){const o=yield e.get(t,n);s=o.documentUrl,i.input=o.document,o.contextUrl&&(i.remoteContext={"@context":o.contextUrl},r.push(i.remoteContext))}else i.input=o.clone(t);"base"in n||(n.base=s||"");let l=S(n);for(const e of r)l=yield C({activeCtx:l,localCtx:e,options:n});let c=yield d({activeCtx:l,element:i.input,options:n,expansionMap:n.expansionMap});return v(c)&&"@graph"in c&&1===Object.keys(c).length?c=c["@graph"]:null===c&&(c=[]),y(c)||(c=[c]),c});return function(e,n){return t.apply(this,arguments)}}(),e.flatten=function(){var t=i(function*(t,n,i){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");n="function"==typeof n?null:n||null,i=I(i,{base:_(t)?t:"",contextResolver:new a({sharedCache:M})});const r=yield e.expand(t,i),s=p(r);return null===n?s:(i.graph=!0,i.skipExpansion=!0,yield e.compact(s,n,i))});return function(e,n,i){return t.apply(this,arguments)}}(),e.frame=function(){var t=i(function*(t,n,i){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(i=I(i,{base:_(t)?t:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new a({sharedCache:M})}),_(n)){const t=yield e.get(n,i);if(n=t.document,t.contextUrl){let e=n["@context"];e?y(e)?e.push(t.contextUrl):e=[e,t.contextUrl]:e=t.contextUrl,n["@context"]=e}}const r=n&&n["@context"]||{},s=yield e.processContext(S(i),r,i);i.hasOwnProperty("omitGraph")||(i.omitGraph=E(s,1.1)),i.hasOwnProperty("pruneBlankNodeIdentifiers")||(i.pruneBlankNodeIdentifiers=E(s,1.1));const o=yield e.expand(t,i),l=vt({},i);l.isFrame=!0,l.keepFreeFloatingNodes=!0;const c=yield e.expand(n,l),u=Object.keys(n).map(t=>x(s,t,{vocab:!0}));l.merged=!u.includes("@graph"),l.is11=E(s,1.1);const h=m(o,c,l);l.graph=!i.omitGraph,l.skipExpansion=!0,l.link={},l.framing=!0;let d=yield e.compact(h,r,l);return l.link={},d=b(d,l),d});return function(e,n,i){return t.apply(this,arguments)}}(),e.link=function(){var t=i(function*(t,n,i){const r={};return n&&(r["@context"]=n),r["@embed"]="@link",e.frame(t,r,i)});return function(e,n,i){return t.apply(this,arguments)}}(),e.normalize=e.canonize=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(n=I(n,{base:_(t)?t:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new a({sharedCache:M})}))){if("application/n-quads"!==n.inputFormat&&"application/nquads"!==n.inputFormat)throw new c("Unknown canonicalization input format.","jsonld.CanonizeError");const e=h.parse(t);return r.canonize(e,n)}const i=vt({},n);delete i.format,i.produceGeneralizedRdf=!1;const s=yield e.toRDF(t,i);return r.canonize(s,n)});return function(e,n){return t.apply(this,arguments)}}(),e.fromRDF=function(){var t=i(function*(t,e){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");e=I(e,{format:_(t)?"application/n-quads":void 0});const{format:i}=e;let{rdfParser:r}=e;if(i){if(r=r||n[i],!r)throw new c("Unknown input format.","jsonld.UnknownFormat",{format:i})}else r=()=>t;const s=yield r(t);return f(s,e)});return function(e,n){return t.apply(this,arguments)}}(),e.toRDF=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let i;i=(n=I(n,{base:_(t)?t:"",skipExpansion:!1,contextResolver:new a({sharedCache:M})})).skipExpansion?t:yield e.expand(t,n);const r=g(i,n);if(n.format){if("application/n-quads"===n.format||"application/nquads"===n.format)return h.serialize(r);throw new c("Unknown output format.","jsonld.UnknownFormat",{format:n.format})}return r});return function(e,n){return t.apply(this,arguments)}}(),e.createNodeMap=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");n=I(n,{base:_(t)?t:"",contextResolver:new a({sharedCache:M})});const i=yield e.expand(t,n);return P(i,n)});return function(e,n){return t.apply(this,arguments)}}(),e.merge=function(){var t=i(function*(t,n,i){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!y(t))throw new TypeError('Could not merge, "docs" must be an array.');n="function"==typeof n?null:n||null,i=I(i,{contextResolver:new a({sharedCache:M})});const r=yield Promise.all(t.map(t=>{const n=vt({},i);return e.expand(t,n)}));let s=!0;"mergeNodes"in i&&(s=i.mergeNodes);const c=i.issuer||new l("_:b"),u={"@default":{}};for(let e=0;ee._documentLoader,set:t=>e._documentLoader=t}),e.documentLoader=function(){var t=i(function*(t){throw new c("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:t})});return function(e){return t.apply(this,arguments)}}(),e.get=function(){var t=i(function*(t,n){let i;i="function"==typeof n.documentLoader?n.documentLoader:e.documentLoader;const r=yield i(t);try{if(!r.document)throw new c("No remote document found at the given URL.","jsonld.NullRemoteDocument");_(r.document)&&(r.document=JSON.parse(r.document))}catch(s){throw new c("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:s,remoteDoc:r})}return r});return function(e,n){return t.apply(this,arguments)}}(),e.processContext=function(){var t=i(function*(t,e,n){return n=I(n,{base:"",contextResolver:new a({sharedCache:M})}),null===e?S(n):(e=o.clone(e),v(e)&&"@context"in e||(e={"@context":e}),C({activeCtx:t,localCtx:e,options:n}))});return function(e,n,i){return t.apply(this,arguments)}}(),e.getContextValue=t("./context").getContextValue,e.documentLoaders={},e.useDocumentLoader=function(t){if(!(t in e.documentLoaders))throw new c('Unknown document loader type: "'+t+'"',"jsonld.UnknownDocumentLoader",{type:t});e.documentLoader=e.documentLoaders[t].apply(e,Array.prototype.slice.call(arguments,1))},e.registerRDFParser=function(t,e){n[t]=e},e.unregisterRDFParser=function(t){delete n[t]},e.registerRDFParser("application/n-quads",h.parse),e.registerRDFParser("application/nquads",h.parse),e.url=t("./url"),e.util=o,Object.assign(e,o),e.promises=e,e.RequestQueue=t("./RequestQueue"),e.JsonLdProcessor=t("./JsonLdProcessor")(e),s.setupGlobals(e),s.setupDocumentLoaders(e),e},I=function(){return M(function(){return I()})};M(I),e.exports=I},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(t,e,n){"use strict";const{isKeyword:i}=t("./context"),r=t("./graphTypes"),s=t("./types"),o=t("./util"),a=t("./JsonLdError"),l={};e.exports=l,l.createMergedNodeMap=(t,e)=>{const n=(e=e||{}).issuer||new o.IdentifierIssuer("_:b"),i={"@default":{}};return l.createNodeMap(t,i,"@default",n),l.mergeNodeMaps(i)},l.createNodeMap=(t,e,n,c,u,h)=>{if(s.isArray(t)){for(const i of t)l.createNodeMap(i,e,n,c,void 0,h);return}if(!s.isObject(t))return void(h&&h.push(t));if(r.isValue(t)){if("@type"in t){let e=t["@type"];0===e.indexOf("_:")&&(t["@type"]=e=c.getId(e))}return void(h&&h.push(t))}if(h&&r.isList(t)){const i=[];return l.createNodeMap(t["@list"],e,n,c,u,i),void h.push({"@list":i})}if("@type"in t){const e=t["@type"];for(const t of e)0===t.indexOf("_:")&&c.getId(t)}s.isUndefined(u)&&(u=r.isBlankNode(t)?c.getId(t["@id"]):t["@id"]),h&&h.push({"@id":u});const d=e[n],p=d[u]=d[u]||{};p["@id"]=u;const f=Object.keys(t).sort();for(let s of f){if("@id"===s)continue;if("@reverse"===s){const i={"@id":u},s=t["@reverse"];for(const t in s){const a=s[t];for(const s of a){let a=s["@id"];r.isBlankNode(s)&&(a=c.getId(a)),l.createNodeMap(s,e,n,c,a),o.addValue(d[a],t,i,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===s){u in e||(e[u]={}),l.createNodeMap(t[s],e,u,c);continue}if("@included"===s){l.createNodeMap(t[s],e,n,c);continue}if("@type"!==s&&i(s)){if("@index"===s&&s in p&&(t[s]!==p[s]||t[s]["@id"]!==p[s]["@id"]))throw new a("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:p});p[s]=t[s];continue}const h=t[s];if(0===s.indexOf("_:")&&(s=c.getId(s)),0!==h.length)for(let t of h)if("@type"===s&&(t=0===t.indexOf("_:")?c.getId(t):t),r.isSubject(t)||r.isSubjectReference(t)){if("@id"in t&&!t["@id"])continue;const i=r.isBlankNode(t)?c.getId(t["@id"]):t["@id"];o.addValue(p,s,{"@id":i},{propertyIsArray:!0,allowDuplicate:!1}),l.createNodeMap(t,e,n,c,i)}else if(r.isValue(t))o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1});else if(r.isList(t)){const i=[];l.createNodeMap(t["@list"],e,n,c,u,i),t={"@list":i},o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1})}else l.createNodeMap(t,e,n,c,u),o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1});else o.addValue(p,s,[],{propertyIsArray:!0})}},l.mergeNodeMapGraphs=t=>{const e={};for(const n of Object.keys(t).sort())for(const r of Object.keys(t[n]).sort()){const s=t[n][r];r in e||(e[r]={"@id":r});const a=e[r];for(const t of Object.keys(s).sort())if(i(t)&&"@type"!==t)a[t]=o.clone(s[t]);else for(const e of s[t])o.addValue(a,t,o.clone(e),{propertyIsArray:!0,allowDuplicate:!1})}return e},l.mergeNodeMaps=t=>{const e=t["@default"],n=Object.keys(t).sort();for(const i of n){if("@default"===i)continue;const n=t[i];let s=e[i];s?"@graph"in s||(s["@graph"]=[]):e[i]=s={"@id":i,"@graph":[]};const o=s["@graph"];for(const t of Object.keys(n).sort()){const e=n[t];r.isSubjectReference(e)||o.push(e)}}return e}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(t,e,n){"use strict";const i=t("./documentLoaders/xhr"),r={};e.exports=r,r.setupDocumentLoaders=function(t){"undefined"!=typeof XMLHttpRequest&&(t.documentLoaders.xhr=i,t.useDocumentLoader("xhr"))},r.setupGlobals=function(t){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:t.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(t,e,n){"use strict";const{createNodeMap:i}=t("./nodeMap"),{isKeyword:r}=t("./context"),s=t("./graphTypes"),o=t("canonicalize"),a=t("./types"),l=t("./util"),{RDF_FIRST:c,RDF_REST:u,RDF_NIL:h,RDF_TYPE:d,RDF_JSON_LITERAL:p,RDF_LANGSTRING:f,XSD_BOOLEAN:g,XSD_DOUBLE:m,XSD_INTEGER:b,XSD_STRING:y}=t("./constants"),{isAbsolute:v}=t("./url"),_={};function w(t,e,n,i,s){const o=Object.keys(e).sort();for(const a of o){const o=e[a],l=Object.keys(o).sort();for(let e of l){const l=o[e];if("@type"===e)e=d;else if(r(e))continue;for(const r of l){const o={termType:a.startsWith("_:")?"BlankNode":"NamedNode",value:a};if(!v(a))continue;const l={termType:e.startsWith("_:")?"BlankNode":"NamedNode",value:e};if(!v(e)||"BlankNode"===l.termType&&!s.produceGeneralizedRdf)continue;const c=x(r,i,t,n,s.rdfDirection);c&&t.push({subject:o,predicate:l,object:c,graph:n})}}}}function x(t,e,n,i,r){const l={};if(s.isValue(t)){l.termType="Literal",l.value=void 0,l.datatype={termType:"NamedNode"};let e=t["@value"];const n=t["@type"]||null;"@json"===n?(l.value=o(e),l.datatype.value=p):a.isBoolean(e)?(l.value=e.toString(),l.datatype.value=n||g):a.isDouble(e)||n===m?(a.isDouble(e)||(e=parseFloat(e)),l.value=e.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),l.datatype.value=n||m):a.isNumber(e)?(l.value=e.toFixed(0),l.datatype.value=n||b):"i18n-datatype"===r&&"@direction"in t?(l.datatype.value="https://www.w3.org/ns/i18n#"+(t["@language"]||"")+`_${t["@direction"]}`,l.value=e):"@language"in t?(l.value=e,l.datatype.value=n||f,l.language=t["@language"]):(l.value=e,l.datatype.value=n||y)}else if(s.isList(t)){const s=function(t,e,n,i,r){const s={termType:"NamedNode",value:c},o={termType:"NamedNode",value:u},a={termType:"NamedNode",value:h},l=t.pop(),d=l?{termType:"BlankNode",value:e.getId()}:a;let p=d;for(const c of t){const t=x(c,e,n,i,r),a={termType:"BlankNode",value:e.getId()};n.push({subject:p,predicate:s,object:t,graph:i}),n.push({subject:p,predicate:o,object:a,graph:i}),p=a}if(l){const t=x(l,e,n,i,r);n.push({subject:p,predicate:s,object:t,graph:i}),n.push({subject:p,predicate:o,object:a,graph:i})}return d}(t["@list"],e,n,i,r);l.termType=s.termType,l.value=s.value}else{const e=a.isObject(t)?t["@id"]:t;l.termType=e.startsWith("_:")?"BlankNode":"NamedNode",l.value=e}return"NamedNode"!==l.termType||v(l.value)?l:null}e.exports=_,_.toRDF=(t,e)=>{const n=new l.IdentifierIssuer("_:b"),r={"@default":{}};i(t,r,"@default",n);const s=[],o=Object.keys(r).sort();for(const i of o){let t;if("@default"===i)t={termType:"DefaultGraph",value:""};else{if(!v(i))continue;t=i.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},t.value=i}w(s,r[i],t,n,e)}return s}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(t,e,n){"use strict";const i={};e.exports=i,i.isArray=Array.isArray,i.isBoolean=t=>"boolean"==typeof t||"[object Boolean]"===Object.prototype.toString.call(t),i.isDouble=t=>i.isNumber(t)&&(-1!==String(t).indexOf(".")||Math.abs(t)>=1e21),i.isEmptyObject=t=>i.isObject(t)&&0===Object.keys(t).length,i.isNumber=t=>"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t),i.isNumeric=t=>!isNaN(parseFloat(t))&&isFinite(t),i.isObject=t=>"[object Object]"===Object.prototype.toString.call(t),i.isString=t=>"string"==typeof t||"[object String]"===Object.prototype.toString.call(t),i.isUndefined=t=>void 0===t},{}],31:[function(t,e,n){"use strict";const i=t("./types"),r={};e.exports=r,r.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},r.parse=(t,e)=>{const n={},i=r.parsers[e||"full"],s=i.regex.exec(t);let o=i.keys.length;for(;o--;)n[i.keys[o]]=void 0===s[o]?null:s[o];return("https"===n.scheme&&"443"===n.port||"http"===n.scheme&&"80"===n.port)&&(n.href=n.href.replace(":"+n.port,""),n.authority=n.authority.replace(":"+n.port,""),n.port=null),n.normalizedPath=r.removeDotSegments(n.path),n},r.prependBase=(t,e)=>{if(null===t||r.isAbsolute(e))return e;(!t||i.isString(t))&&(t=r.parse(t||""));const n=r.parse(e),s={protocol:t.protocol||""};if(null!==n.authority)s.authority=n.authority,s.path=n.path,s.query=n.query;else if(s.authority=t.authority,""===n.path)s.path=t.path,s.query=null!==n.query?n.query:t.query;else{if(0===n.path.indexOf("/"))s.path=n.path;else{let e=t.path;e=e.substr(0,e.lastIndexOf("/")+1),(e.length>0||t.authority)&&"/"!==e.substr(-1)&&(e+="/"),e+=n.path,s.path=e}s.query=n.query}""!==n.path&&(s.path=r.removeDotSegments(s.path));let o=s.protocol;return null!==s.authority&&(o+="//"+s.authority),o+=s.path,null!==s.query&&(o+="?"+s.query),null!==n.fragment&&(o+="#"+n.fragment),""===o&&(o="./"),o},r.removeBase=(t,e)=>{if(null===t)return e;(!t||i.isString(t))&&(t=r.parse(t||""));let n="";if(""!==t.href?n+=(t.protocol||"")+"//"+(t.authority||""):e.indexOf("//")&&(n+="//"),0!==e.indexOf(n))return e;const s=r.parse(e.substr(n.length)),o=t.normalizedPath.split("/"),a=s.normalizedPath.split("/"),l=s.fragment||s.query?0:1;for(;o.length>0&&a.length>l&&o[0]===a[0];)o.shift(),a.shift();let c="";if(o.length>0){o.pop();for(let t=0;t{if(0===t.length)return"";const e=t.split("/"),n=[];for(;e.length>0;){const t=e.shift(),i=0===e.length;"."!==t?".."!==t?n.push(t):(n.pop(),i&&n.push("")):i&&n.push("")}return"/"===t[0]&&n.length>0&&""!==n[0]&&n.unshift(""),1===n.length&&""===n[0]?"/":n.join("/")};const s=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;r.isAbsolute=t=>i.isString(t)&&s.test(t),r.isRelative=t=>i.isString(t)},{"./types":30}],32:[function(t,e,n){"use strict";const i=t("./graphTypes"),r=t("./types"),s=t("rdf-canonize").IdentifierIssuer,o=t("./JsonLdError"),a=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,l=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,c=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,u={accept:"application/ld+json, application/json"},h={};function d(t,e){if(r.isArray(e))for(let n=0;n{if(Object.keys(t).some(t=>"accept"===t.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+u.accept+'" is supported.');return Object.assign({Accept:u.accept},t)},h.parseLinkHeader=t=>{const e={},n=t.match(a);for(let i=0;i{if(!(r.isString(t)||r.isArray(t)&&t.every(t=>r.isString(t)))){if(e&&r.isObject(t))switch(Object.keys(t).length){case 0:return;case 1:if("@default"in t&&h.asArray(t["@default"]).every(t=>r.isString(t)))return}throw new o('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:t})}},h.hasProperty=(t,e)=>{if(t.hasOwnProperty(e)){const n=t[e];return!r.isArray(n)||n.length>0}return!1},h.hasValue=(t,e,n)=>{if(h.hasProperty(t,e)){let s=t[e];const o=i.isList(s);if(r.isArray(s)||o){o&&(s=s["@list"]);for(let t=0;t{if("propertyIsArray"in(i=i||{})||(i.propertyIsArray=!1),"valueIsArray"in i||(i.valueIsArray=!1),"allowDuplicate"in i||(i.allowDuplicate=!0),"prependValue"in i||(i.prependValue=!1),i.valueIsArray)t[e]=n;else if(r.isArray(n)){0===n.length&&i.propertyIsArray&&!t.hasOwnProperty(e)&&(t[e]=[]),i.prependValue&&(n=n.concat(t[e]),t[e]=[]);for(let r=0;r[].concat(t[e]||[]),h.removeProperty=(t,e)=>{delete t[e]},h.removeValue=(t,e,n,i)=>{"propertyIsArray"in(i=i||{})||(i.propertyIsArray=!1);const r=h.getValues(t,e).filter(t=>!h.compareValues(t,n));0===r.length?h.removeProperty(t,e):t[e]=1!==r.length||i.propertyIsArray?r:r[0]},h.relabelBlankNodes=(t,e)=>d((e=e||{}).issuer||new s("_:b"),t),h.compareValues=(t,e)=>!!(t===e||i.isValue(t)&&i.isValue(e)&&t["@value"]===e["@value"]&&t["@type"]===e["@type"]&&t["@language"]===e["@language"]&&t["@index"]===e["@index"])||!!(r.isObject(t)&&"@id"in t&&r.isObject(e)&&"@id"in e)&&t["@id"]===e["@id"],h.compareShortestLeast=(t,e)=>t.length1;const g=(t,e,n)=>{const i=t[d].get(e);if(i){const e=i.value;if(m(t,e)){if(y(t,i),!t[a])return}else n&&(t[p]&&(i.value.now=Date.now()),t[h].unshiftNode(i));return e.value}},m=(t,e)=>{if(!e||!e.maxAge&&!t[l])return!1;const n=Date.now()-e.now;return e.maxAge?n>e.maxAge:t[l]&&n>t[l]},b=t=>{if(t[s]>t[r])for(let e=t[h].tail;t[s]>t[r]&&null!==e;){const n=e.prev;y(t,e),e=n}},y=(t,e)=>{if(e){const n=e.value;t[c]&&t[c](n.key,n.value),t[s]-=n.length,t[d].delete(n.key),t[h].removeNode(e)}};class v{constructor(t,e,n,i,r){this.key=t,this.value=e,this.length=n,this.now=i,this.maxAge=r||0}}const _=(t,e,n,i)=>{let r=n.value;m(t,r)&&(y(t,n),t[a]||(r=void 0)),r&&e.call(i,r.value,r.key,t)};e.exports=class{constructor(t){if("number"==typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!=typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[r]=t.max||1/0;const e=t.length||f;if(this[o]="function"!=typeof e?f:e,this[a]=t.stale||!1,t.maxAge&&"number"!=typeof t.maxAge)throw new TypeError("maxAge must be a number");this[l]=t.maxAge||0,this[c]=t.dispose,this[u]=t.noDisposeOnSet||!1,this[p]=t.updateAgeOnGet||!1,this.reset()}set max(t){if("number"!=typeof t||t<0)throw new TypeError("max must be a non-negative number");this[r]=t||1/0,b(this)}get max(){return this[r]}set allowStale(t){this[a]=!!t}get allowStale(){return this[a]}set maxAge(t){if("number"!=typeof t)throw new TypeError("maxAge must be a non-negative number");this[l]=t,b(this)}get maxAge(){return this[l]}set lengthCalculator(t){"function"!=typeof t&&(t=f),t!==this[o]&&(this[o]=t,this[s]=0,this[h].forEach(t=>{t.length=this[o](t.value,t.key),this[s]+=t.length})),b(this)}get lengthCalculator(){return this[o]}get length(){return this[s]}get itemCount(){return this[h].length}rforEach(t,e){e=e||this;for(let n=this[h].tail;null!==n;){const i=n.prev;_(this,t,n,e),n=i}}forEach(t,e){e=e||this;for(let n=this[h].head;null!==n;){const i=n.next;_(this,t,n,e),n=i}}keys(){return this[h].toArray().map(t=>t.key)}values(){return this[h].toArray().map(t=>t.value)}reset(){this[c]&&this[h]&&this[h].length&&this[h].forEach(t=>this[c](t.key,t.value)),this[d]=new Map,this[h]=new i,this[s]=0}dump(){return this[h].map(t=>!m(this,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[h]}set(t,e,n){if((n=n||this[l])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");const i=n?Date.now():0,a=this[o](e,t);if(this[d].has(t)){if(a>this[r])return y(this,this[d].get(t)),!1;const o=this[d].get(t).value;return this[c]&&(this[u]||this[c](t,o.value)),o.now=i,o.maxAge=n,o.value=e,this[s]+=a-o.length,o.length=a,this.get(t),b(this),!0}const p=new v(t,e,a,i,n);return p.length>this[r]?(this[c]&&this[c](t,e),!1):(this[s]+=p.length,this[h].unshift(p),this[d].set(t,this[h].head),b(this),!0)}has(t){if(!this[d].has(t))return!1;const e=this[d].get(t).value;return!m(this,e)}get(t){return g(this,t,!0)}peek(t){return g(this,t,!1)}pop(){const t=this[h].tail;return t?(y(this,t),t.value):null}del(t){y(this,this[d].get(t))}load(t){this.reset();const e=Date.now();for(let n=t.length-1;n>=0;n--){const i=t[n],r=i.e||0;if(0===r)this.set(i.k,i.v);else{const t=r-e;t>0&&this.set(i.k,i.v,t)}}}prune(){this[d].forEach((t,e)=>g(this,e,!1))}}},{yallist:92}],34:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;const i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#",s="http://www.w3.org/2000/10/swap/";n.default={xsd:{decimal:`${r}decimal`,boolean:`${r}boolean`,double:`${r}double`,integer:`${r}integer`,string:`${r}string`},rdf:{type:`${i}type`,nil:`${i}nil`,first:`${i}first`,rest:`${i}rest`,langString:`${i}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${s}reify#forSome`,forAll:`${s}reify#forAll`},log:{implies:`${s}log#implies`}}},{}],35:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=n.Variable=n.Triple=n.Term=n.Quad=n.NamedNode=n.Literal=n.DefaultGraph=n.BlankNode=void 0,n.escapeQuotes=_,n.termFromId=function t(e,n){if(n=n||d,!e)return n.defaultGraph();switch(e[0]){case"?":return n.variable(e.substr(1));case"_":return n.blankNode(e.substr(2));case'"':if(n===d)return new g(e);if('"'===e[e.length-1])return n.literal(e.substr(1,e.length-2));const i=e.lastIndexOf('"',e.length-1);return n.literal(e.substr(1,i-1),"@"===e[i+1]?e.substr(i+2):n.namedNode(e.substr(i+3)));case"<":const r=h.exec(e);return n.quad(t(w(r[1]),n),t(w(r[2]),n),t(w(r[3]),n),r[4]&&t(w(r[4]),n));default:return n.namedNode(e)}},n.termToId=function t(e){if("string"==typeof e)return e;if(e instanceof p&&"Quad"!==e.termType)return e.id;if(!e)return l.id;switch(e.termType){case"NamedNode":return e.value;case"BlankNode":return`_:${e.value}`;case"Variable":return`?${e.value}`;case"DefaultGraph":return"";case"Literal":return`"${e.value}"${e.language?`@${e.language}`:e.datatype&&e.datatype.value!==a.string?`^^${e.datatype.value}`:""}`;case"Quad":return`<<${_(t(e.subject))} ${_(t(e.predicate))} ${_(t(e.object))}${(0,s.isDefaultGraph)(e.graph)?"":` ${t(e.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${e.termType}`)}},n.unescapeQuotes=w;var i,r=(i=t("./IRIs"))&&i.__esModule?i:{default:i},s=t("./N3Util");const{rdf:o,xsd:a}=r.default;let l,c=0;const u=/^"(.*".*)(?="[^"]*$)/,h=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,d={namedNode:function(t){return new f(t)},blankNode:function(t){return new m(t||"n3-"+c++)},variable:function(t){return new b(t)},literal:function(t,e){if("string"==typeof e)return new g(`"${t}"@${e.toLowerCase()}`);let n=e?e.value:"";return""===n&&("boolean"==typeof t?n=a.boolean:"number"==typeof t&&(Number.isFinite(t)?n=Number.isInteger(t)?a.integer:a.double:(n=a.double,Number.isNaN(t)||(t=t>0?"INF":"-INF")))),new g(""===n||n===a.string?`"${t}"`:`"${t}"^^${n}`)},defaultGraph:function(){return l},quad:x,triple:x};n.default=d;class p{constructor(t){this.id=t}get value(){return this.id}equals(t){return t instanceof p?this.id===t.id:!!t&&this.termType===t.termType&&this.value===t.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}n.Term=p;class f extends p{get termType(){return"NamedNode"}}n.NamedNode=f;class g extends p{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const t=this.id;let e=t.lastIndexOf('"')+1;return e`"${e.replace(/"/g,'""')}`)}function w(t){return t.replace(u,(t,e)=>`"${e.replace(/""/g,'"')}`)}function x(t,e,n,i){return new v(t,e,n,i)}n.Triple=n.Quad=v},{"./IRIs":34,"./N3Util":41}],36:[function(t,e,n){(function(e){(function(){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=s(t("./IRIs")),r=s(t("queue-microtask"));function s(t){return t&&t.__esModule?t:{default:t}}const{xsd:o}=i.default,a=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,l={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},c=/[\x00-\x20<>\\"\{\}\|\^\`]/,u={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},h=/$0^/;n.default=class{constructor(t){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(t=t||{}).lineMode){this._n3Mode=!1;for(const t in this)!(t in u)&&this[t]instanceof RegExp&&(this[t]=h)}else this._n3Mode=!1!==t.n3;this._comments=!!t.comments,this._literalClosingPos=0}_tokenizeToEnd(t,e){let n=this._input,i=n.length;for(;;){let t,a;for(;t=this._newline.exec(n);)this._comments&&(a=this._comment.exec(t[0]))&&r("comment",a[1],"",this._line,t[0].length),n=n.substr(t[0].length,n.length),i=n.length,this._line++;if(!t&&(t=this._whitespace.exec(n))&&(n=n.substr(t[0].length,n.length)),this._endOfFile.test(n))return e&&(this._comments&&(a=this._comment.exec(n))&&r("comment",a[1],"",this._line,n.length),n=null,r("eof","","",this._line,0)),this._input=n;const l=this._line,u=n[0];let h="",d="",p="",f=null,g=0,m=!1;switch(u){case"^":if(n.length<3)break;if("^"!==n[1]){this._n3Mode&&(g=1,h="^");break}if(this._previousMarker="^^",n=n.substr(2),"<"!==n[0]){m=!0;break}case"<":if(f=this._unescapedIri.exec(n))h="IRI",d=f[1];else if(f=this._iri.exec(n)){if(d=this._unescape(f[1]),null===d||c.test(d))return s(this);h="IRI"}else n.length>1&&"<"===n[1]?(h="<<",g=2):this._n3Mode&&n.length>1&&"="===n[1]&&(h="inverse",g=2,d=">");break;case">":n.length>1&&">"===n[1]&&(h=">>",g=2);break;case"_":((f=this._blank.exec(n))||e&&(f=this._blank.exec(`${n} `)))&&(h="blank",p="_",d=f[1]);break;case'"':if(f=this._simpleQuotedString.exec(n))d=f[1];else if(({value:d,matchLength:g}=this._parseLiteral(n)),null===d)return s(this);(null!==f||0!==g)&&(h="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(f=this._simpleApostropheString.exec(n))d=f[1];else if(({value:d,matchLength:g}=this._parseLiteral(n)),null===d)return s(this);(null!==f||0!==g)&&(h="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(f=this._variable.exec(n))&&(h="var",d=f[0]);break;case"@":"literal"===this._previousMarker&&(f=this._langcode.exec(n))?(h="langcode",d=f[1]):(f=this._keyword.exec(n))&&(h=f[0]);break;case".":if(1===n.length?e:n[1]<"0"||n[1]>"9"){h=".",g=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(f=this._number.exec(n)||e&&(f=this._number.exec(`${n} `)))&&(h="literal",d=f[0],p="string"==typeof f[1]?o.double:"string"==typeof f[2]?o.decimal:o.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(f=this._sparqlKeyword.exec(n))?h=f[0].toUpperCase():m=!0;break;case"f":case"t":(f=this._boolean.exec(n))?(h="literal",d=f[0],p=o.boolean):m=!0;break;case"a":(f=this._shortPredicates.exec(n))?(h="abbreviation",d="a"):m=!0;break;case"=":this._n3Mode&&n.length>1&&(h="abbreviation",">"!==n[1]?(g=1,d="="):(g=2,d=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(g=1,h=u);break;default:m=!0}if(m&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(f=this._prefix.exec(n))?((f=this._prefixed.exec(n))||e&&(f=this._prefixed.exec(`${n} `)))&&(h="prefixed",p=f[1]||"",d=this._unescape(f[2])):(h="prefix",d=f[1]||"")),"^^"===this._previousMarker)switch(h){case"prefixed":h="type";break;case"IRI":h="typeIRI";break;default:h=""}if(!h)return e||!/^'''|^"""/.test(n)&&/\n|\r/.test(n)?s(this):this._input=n;const b=g||f[0].length,y=r(h,d,p,l,b);this.previousToken=y,this._previousMarker=h,n=n.substr(b,n.length)}function r(e,r,s,o,a){const l=n?i-n.length:i,c={type:e,value:r,prefix:s,line:o,start:l,end:l+a};return t(null,c),c}function s(e){t(e._syntaxError(/^\S*/.exec(n)[0]))}}_unescape(t){let e=!1;const n=t.replace(a,(t,n,i,r)=>{if("string"==typeof n)return String.fromCharCode(Number.parseInt(n,16));if("string"==typeof i){let t=Number.parseInt(i,16);return t<=65535?String.fromCharCode(Number.parseInt(i,16)):String.fromCharCode(55296+((t-=65536)>>10),56320+(1023&t))}return r in l?l[r]:(e=!0,"")});return e?null:n}_parseLiteral(t){if(t.length>=3){const e=t.match(/^(?:"""|"|'''|'|)/)[0],n=e.length;let i=Math.max(this._literalClosingPos,n);for(;(i=t.indexOf(e,i))>0;){let e=0;for(;"\\"===t[i-e-1];)e++;if(e%2==0){const e=t.substring(n,i),r=e.split(/\r\n|\r|\n/).length-1,s=i+n;if(1===n&&0!==r||3===n&&this._lineMode)break;return this._line+=r,{value:this._unescape(e),matchLength:s}}i++}this._literalClosingPos=t.length-n+1}return{value:"",matchLength:0}}_syntaxError(t){this._input=null;const e=new Error(`Unexpected "${t}" on line ${this._line}.`);return e.context={token:void 0,line:this._line,previousToken:this.previousToken},e}_readStartingBom(t){return t.startsWith("\ufeff")?t.substr(1):t}tokenize(t,n){if(this._line=1,"string"==typeof t){if(this._input=this._readStartingBom(t),"function"!=typeof n){const t=[];let e;if(this._tokenizeToEnd((n,i)=>n?e=n:t.push(i),!0),e)throw e;return t}(0,r.default)(()=>this._tokenizeToEnd(n,!0))}else this._pendingBuffer=null,"function"==typeof t.setEncoding&&t.setEncoding("utf8"),t.on("data",t=>{null!==this._input&&0!==t.length&&(this._pendingBuffer&&(t=e.concat([this._pendingBuffer,t]),this._pendingBuffer=null),128&t[t.length-1]?this._pendingBuffer=t:(void 0===this._input?this._input=this._readStartingBom("string"==typeof t?t:t.toString()):this._input+=t,this._tokenizeToEnd(n,!1)))}),t.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(n,!0)}),t.on("error",n)}}}).call(this)}).call(this,t("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=o(t("./N3Lexer")),r=o(t("./N3DataFactory")),s=o(t("./IRIs"));function o(t){return t&&t.__esModule?t:{default:t}}let a=0;class l{constructor(t){this._contextStack=[],this._graph=null,this._setBase((t=t||{}).baseIRI),t.factory&&u(this,t.factory);const e="string"==typeof t.format?t.format.match(/\w*$/)[0].toLowerCase():"",n=/turtle/.test(e),r=/trig/.test(e),s=/triple/.test(e),o=/quad/.test(e),a=this._n3Mode=/n3/.test(e),l=s||o;(this._supportsNamedGraphs=!(n||a))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(n||r||s||a),this._supportsRDFStar=""===e||/star|\*$/.test(e),l&&(this._resolveRelativeIRI=t=>null),this._blankNodePrefix="string"!=typeof t.blankNodePrefix?"":t.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=t.lexer||new i.default({lineMode:l,n3:a}),this._explicitQuantifiers=!!t.explicitQuantifiers}static _resetBlankNodePrefix(){a=0}_setBase(t){if(t){const e=t.indexOf("#");e>=0&&(t=t.substr(0,e)),this._base=t,this._basePath=t.indexOf("/")<0?t:t.replace(/[^\/?]*(?:\?.*)?$/,""),t=t.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=t[0],this._baseScheme=t[1]}else this._base="",this._basePath=""}_saveContext(t,e,n,i,r){const s=this._n3Mode;this._contextStack.push({subject:n,predicate:i,object:r,graph:e,type:t,inverse:!!s&&this._inversePredicate,blankPrefix:s?this._prefixes._:"",quantified:s?this._quantified:null}),s&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const t=this._contextStack.pop(),e=this._n3Mode;this._subject=t.subject,this._predicate=t.predicate,this._object=t.object,this._graph=t.graph,e&&(this._inversePredicate=t.inverse,this._prefixes._=t.blankPrefix,this._quantified=t.quantified)}_readInTopContext(t){switch(t.type){case"eof":return null!==this._graph?this._error("Unclosed graph",t):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(t)}}_readEntity(t,e){let n;switch(t.type){case"IRI":case"typeIRI":const e=this._resolveIRI(t.value);if(null===e)return this._error("Invalid IRI",t);n=this._namedNode(e);break;case"type":case"prefixed":const i=this._prefixes[t.prefix];if(void 0===i)return this._error(`Undefined prefix "${t.prefix}:"`,t);n=this._namedNode(i+t.value);break;case"blank":n=this._blankNode(this._prefixes[t.prefix]+t.value);break;case"var":n=this._variable(t.value.substr(1));break;default:return this._error(`Expected entity but got ${t.type}`,t)}return!e&&this._n3Mode&&n.id in this._quantified&&(n=this._quantified[n.id]),n}_readSubject(t){switch(this._predicate=null,t.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",t);case"}":return this._readPunctuation(t);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',t);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',t);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",t);if(0===t.prefix.length)return this._literalValue=t.value,this._completeSubjectLiteral;this._subject=this._literal(t.value,this._namedNode(t.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",t);default:if(void 0===(this._subject=this._readEntity(t)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(t){const e=t.type;switch(e){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[t.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${e}`,t):(this._subject=null,"]"===e?this._readBlankNodeTail(t):this._readPunctuation(t));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",t);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",t);default:if(void 0===(this._predicate=this._readEntity(t)))return}return this._readObject}_readObject(t){switch(t.type){case"literal":if(0===t.prefix.length)return this._literalValue=t.value,this._readDataTypeOrLang;this._object=this._literal(t.value,this._namedNode(t.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",t);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",t);default:if(void 0===(this._object=this._readEntity(t)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(t){return"{"===t.type?this._readGraph(t):this._readPredicate(t)}_readGraph(t){return"{"!==t.type?this._error(`Expected graph but got ${t.type}`,t):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(t){return"]"===t.type?(this._subject=null,this._readBlankNodeTail(t)):(this._predicate=null,this._readPredicate(t))}_readBlankNodeTail(t){if("]"!==t.type)return this._readBlankNodePunctuation(t);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const e=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:e?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(t){switch(t.type){case".":case"}":return this._subject=null,this._readPunctuation(t);default:return this._readPredicate(t)}}_readListItem(t){let e=null,n=null,i=this._readListItem;const r=this._subject,s=this._contextStack,o=s[s.length-1];switch(t.type){case"[":this._saveContext("blank",this._graph,n=this._blankNode(),this.RDF_FIRST,this._subject=e=this._blankNode()),i=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,n=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==s.length&&"list"===s[s.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(i=this._readPredicate,this._subject===this.RDF_NIL)return i}else if(i=this._getContextEndReader(),this._object===this.RDF_NIL)return i;n=this.RDF_NIL;break;case"literal":0===t.prefix.length?(this._literalValue=t.value,i=this._readListItemDataTypeOrLang):(e=this._literal(t.value,this._namedNode(t.prefix)),i=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",t);default:if(void 0===(e=this._readEntity(t)))return}if(null===n&&(this._subject=n=this._blankNode()),null===r?null===o.predicate?o.subject=n:o.object=n:this._emit(r,this.RDF_REST,n,this._graph),null!==e){if(this._n3Mode&&("IRI"===t.type||"prefixed"===t.type))return this._saveContext("item",this._graph,n,this.RDF_FIRST,e),this._subject=e,this._predicate=null,this._getPathReader(this._readListItem);this._emit(n,this.RDF_FIRST,e,this._graph)}return i}_readDataTypeOrLang(t){return this._completeObjectLiteral(t,!1)}_readListItemDataTypeOrLang(t){return this._completeObjectLiteral(t,!0)}_completeLiteral(t){let e=this._literal(this._literalValue);switch(t.type){case"type":case"typeIRI":const n=this._readEntity(t);if(void 0===n)return;e=this._literal(this._literalValue,n),t=null;break;case"langcode":e=this._literal(this._literalValue,t.value),t=null}return{token:t,literal:e}}_completeSubjectLiteral(t){return this._subject=this._completeLiteral(t).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(t,e){const n=this._completeLiteral(t);if(n)return this._object=n.literal,e&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===n.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(n.token))}_readFormulaTail(t){return"}"!==t.type?this._readPunctuation(t):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(t){let e,n=this._graph;const i=this._subject,r=this._inversePredicate;switch(t.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",t);if(this._n3Mode)return this._readFormulaTail(t);this._graph=null;case".":this._subject=null,e=this._contextStack.length?this._readSubject:this._readInTopContext,r&&(this._inversePredicate=!1);break;case";":e=this._readPredicate;break;case",":e=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(n=this._readEntity(t))){e=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,t)}if(null!==i){const t=this._predicate,e=this._object;r?this._emit(e,t,i,n):this._emit(i,t,e,n)}return e}_readBlankNodePunctuation(t){let e;switch(t.type){case";":e=this._readPredicate;break;case",":e=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,t)}return this._emit(this._subject,this._predicate,this._object,this._graph),e}_readQuadPunctuation(t){return"."!==t.type?this._error("Expected dot to follow quad",t):this._readInTopContext}_readPrefix(t){return"prefix"!==t.type?this._error("Expected prefix to follow @prefix",t):(this._prefix=t.value,this._readPrefixIRI)}_readPrefixIRI(t){if("IRI"!==t.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,t);const e=this._readEntity(t);return this._prefixes[this._prefix]=e.value,this._prefixCallback(this._prefix,e),this._readDeclarationPunctuation}_readBaseIRI(t){const e="IRI"===t.type&&this._resolveIRI(t.value);return e?(this._setBase(e),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",t)}_readNamedGraphLabel(t){switch(t.type){case"IRI":case"blank":case"prefixed":return this._readSubject(t),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",t)}}_readNamedGraphBlankLabel(t){return"]"!==t.type?this._error("Invalid graph label",t):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(t){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(t)):"."!==t.type?this._error("Expected declaration to end with a dot",t):this._readInTopContext}_readQuantifierList(t){let e;switch(t.type){case"IRI":case"prefixed":if(void 0!==(e=this._readEntity(t,!0)))break;default:return this._error(`Unexpected ${t.type}`,t)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,e,this.QUANTIFIERS_GRAPH)):this._quantified[e.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(t){return","===t.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(t))}_getPathReader(t){return this._afterPath=t,this._readPath}_readPath(t){switch(t.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const e=this._contextStack,n=e.length&&e[e.length-1];if(n&&"item"===n.type){const t=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,t,this._graph)}return this._afterPath(t)}}_readForwardPath(t){let e,n;const i=this._blankNode();if(void 0!==(n=this._readEntity(t)))return null===this._predicate?(e=this._subject,this._subject=i):(e=this._object,this._object=i),this._emit(e,n,i,this._graph),this._readPath}_readBackwardPath(t){const e=this._blankNode();let n,i;if(void 0!==(n=this._readEntity(t)))return null===this._predicate?(i=this._subject,this._subject=e):(i=this._object,this._object=e),this._emit(e,n,i,this._graph),this._readPath}_readRDFStarTailOrGraph(t){return">>"!==t.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(t))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,t):this._readRDFStarTail(t)}_readRDFStarTail(t){if(">>"!==t.type)return this._error(`Expected >> but got ${t.type}`,t);const e=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=e,this._readPredicate):(this._object=e,this._getContextEndReader())}_getContextEndReader(){const t=this._contextStack;if(!t.length)return this._readPunctuation;switch(t[t.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(t,e,n,i){this._callback(null,this._quad(t,e,n,i||this.DEFAULTGRAPH))}_error(t,e){const n=new Error(`${t} on line ${e.line}.`);n.context={token:e,line:e.line,previousToken:this._lexer.previousToken},this._callback(n),this._callback=c}_resolveIRI(t){return/^[a-z][a-z0-9+.-]*:/i.test(t)?t:this._resolveRelativeIRI(t)}_resolveRelativeIRI(t){if(!t.length)return this._base;switch(t[0]){case"#":return this._base+t;case"?":return this._base.replace(/(?:\?.*)?$/,t);case"/":return("/"===t[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(t);default:return/^[^/:]*:/.test(t)?null:this._removeDotSegments(this._basePath+t)}}_removeDotSegments(t){if(!/(^|\/)\.\.?($|[/#?])/.test(t))return t;const e=t.length;let n="",i=-1,r=-1,s=0,o="/";for(;i=r&&(n=n.substr(0,s)),"/"!==o)return`${n}/${t.substr(i+1)}`;s=i+1}}}o=t[++i]}return n+t.substring(s)}parse(t,e,n){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${a++}_`,this._prefixCallback=n||c,this._inversePredicate=!1,this._quantified=Object.create(null),!e){const e=[];let n;if(this._callback=(t,i)=>{t?n=t:i&&e.push(i)},this._lexer.tokenize(t).every(t=>this._readCallback=this._readCallback(t)),n)throw n;return e}this._callback=e,this._lexer.tokenize(t,(t,e)=>{null!==t?(this._callback(t),this._callback=c):this._readCallback&&(this._readCallback=this._readCallback(e))})}}function c(){}function u(t,e){const n=e.namedNode;t._namedNode=n,t._blankNode=e.blankNode,t._literal=e.literal,t._variable=e.variable,t._quad=e.quad,t.DEFAULTGRAPH=e.defaultGraph(),t.RDF_FIRST=n(s.default.rdf.first),t.RDF_REST=n(s.default.rdf.rest),t.RDF_NIL=n(s.default.rdf.nil),t.N3_FORALL=n(s.default.r.forAll),t.N3_FORSOME=n(s.default.r.forSome),t.ABBREVIATIONS={a:n(s.default.rdf.type),"=":n(s.default.owl.sameAs),">":n(s.default.log.implies)},t.QUANTIFIERS_GRAPH=n("urn:n3:quantifiers")}n.default=l,u(l.prototype,r.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}(t("./N3DataFactory")),s=t("readable-stream"),o=(i=t("./IRIs"))&&i.__esModule?i:{default:i};function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}class l{constructor(t,e){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!e&&t&&!t[0]&&(e=t,t=null),this._factory=(e=e||{}).factory||r.default,t&&this.addQuads(t)}get size(){let t=this._size;if(null!==t)return t;t=0;const e=this._graphs;let n,i;for(const r in e)for(const s in n=e[r].subjects)for(const e in i=n[s])t+=Object.keys(i[e]).length;return this._size=t}_addToIndex(t,e,n,i){const r=t[e]||(t[e]={}),s=r[n]||(r[n]={}),o=i in s;return o||(s[i]=null),!o}_removeFromIndex(t,e,n,i){const r=t[e],s=r[n];delete s[i];for(const o in s)return;delete r[n];for(const o in r)return;delete t[e]}*_findInIndex(t,e,n,i,s,o,a,l){let c,u,h;const d=!e+!n+!i>1?Object.keys(this._ids):this._entities,p=(0,r.termFromId)(l,this._factory);e&&((c=t,t={})[e]=c[e]);for(const f in t){const e=d[f];if(u=t[f]){n&&((c=u,u={})[n]=c[n]);for(const t in u){const n=d[t];if(h=u[t]){const t=i?i in h?[i]:[]:Object.keys(h);for(let i=0;i{n in e||(e[n]=!0,t((0,r.termFromId)(this._entities[n],this._factory)))}}add(t){return this.addQuad(t),this}addQuad(t,e,n,i){e||(i=t.graph,n=t.object,e=t.predicate,t=t.subject),t=(0,r.termToId)(t),e=(0,r.termToId)(e),n=(0,r.termToId)(n),i=(0,r.termToId)(i);let s=this._graphs[i];s||(s=this._graphs[i]={subjects:{},predicates:{},objects:{}},Object.freeze(s));const o=this._ids,a=this._entities;t=o[t]||(o[a[++this._id]=t]=this._id),e=o[e]||(o[a[++this._id]=e]=this._id),n=o[n]||(o[a[++this._id]=n]=this._id);const l=this._addToIndex(s.subjects,t,e,n);return this._addToIndex(s.predicates,e,n,t),this._addToIndex(s.objects,n,t,e),this._size=null,l}addQuads(t){for(let e=0;e{this.addQuad(t)}),t}removeQuad(t,e,n,i){e||(i=t.graph,n=t.object,e=t.predicate,t=t.subject),t=(0,r.termToId)(t),e=(0,r.termToId)(e),n=(0,r.termToId)(n),i=(0,r.termToId)(i);const s=this._ids,o=this._graphs;let a,l,c;if(!((t=s[t])&&(e=s[e])&&(n=s[n])&&(a=o[i])&&(l=a.subjects[t])&&(c=l[e])&&n in c))return!1;for(t in this._removeFromIndex(a.subjects,t,e,n),this._removeFromIndex(a.predicates,e,n,t),this._removeFromIndex(a.objects,n,t,e),null!==this._size&&this._size--,a.subjects)return!0;return delete o[i],!0}removeQuads(t){for(let e=0;e{this.removeQuad(t)}),t}removeMatches(t,e,n,i){const r=new s.Readable({objectMode:!0});return r._read=()=>{for(const s of this.readQuads(t,e,n,i))r.push(s);r.push(null)},this.remove(r)}deleteGraph(t){return this.removeMatches(null,null,null,t)}getQuads(t,e,n,i){return[...this.readQuads(t,e,n,i)]}*readQuads(t,e,n,i){t=t&&(0,r.termToId)(t),e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._getGraphs(i),o=this._ids;let a,l,u,h;if(!(c(t)&&!(l=o[t])||c(e)&&!(u=o[e])||c(n)&&!(h=o[n])))for(const r in s)(a=s[r])&&(l?h?yield*this._findInIndex(a.objects,h,l,u,"object","subject","predicate",r,null,!0):yield*this._findInIndex(a.subjects,l,u,null,"subject","predicate","object",r,null,!0):u?yield*this._findInIndex(a.predicates,u,h,null,"predicate","object","subject",r,null,!0):h?yield*this._findInIndex(a.objects,h,null,null,"object","subject","predicate",r,null,!0):yield*this._findInIndex(a.subjects,null,null,null,"subject","predicate","object",r,null,!0))}match(t,e,n,i){return new u(this,t,e,n,i)}countQuads(t,e,n,i){t=t&&(0,r.termToId)(t),e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._getGraphs(i),o=this._ids;let a,l,u,h,d=0;if(c(t)&&!(l=o[t])||c(e)&&!(u=o[e])||c(n)&&!(h=o[n]))return 0;for(const r in s)(a=s[r])&&(d+=t?n?this._countInIndex(a.objects,h,l,u):this._countInIndex(a.subjects,l,u,h):e?this._countInIndex(a.predicates,u,h,l):this._countInIndex(a.objects,h,l,u));return d}forEach(t,e,n,i,r){this.some(e=>(t(e),!1),e,n,i,r)}every(t,e,n,i,r){let s=!1;const o=!this.some(e=>(s=!0,!t(e)),e,n,i,r);return s&&o}some(t,e,n,i,r){for(const s of this.readQuads(e,n,i,r))if(t(s))return!0;return!1}getSubjects(t,e,n){const i=[];return this.forSubjects(t=>{i.push(t)},t,e,n),i}forSubjects(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.predicates,l,u,t):this._loopByKey1(a.subjects,l,t):u?this._loopByKey0(a.objects,u,t):this._loop(a.subjects,t))}getPredicates(t,e,n){const i=[];return this.forPredicates(t=>{i.push(t)},t,e,n),i}forPredicates(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.objects,u,l,t):this._loopByKey0(a.subjects,l,t):u?this._loopByKey1(a.predicates,u,t):this._loop(a.predicates,t))}getObjects(t,e,n){const i=[];return this.forObjects(t=>{i.push(t)},t,e,n),i}forObjects(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.subjects,l,u,t):this._loopByKey1(a.objects,l,t):u?this._loopByKey0(a.predicates,u,t):this._loop(a.objects,t))}getGraphs(t,e,n){const i=[];return this.forGraphs(t=>{i.push(t)},t,e,n),i}forGraphs(t,e,n,i){for(const r in this._graphs)this.some(e=>(t(e.graph),!0),e,n,i,r)}createBlankNode(t){let e,n;if(t)for(e=t=`_:${t}`,n=1;this._ids[e];)e=t+n++;else do{e="_:b"+this._blankNodeIndex++}while(this._ids[e]);return this._ids[e]=++this._id,this._entities[this._id]=e,this._factory.blankNode(e.substr(2))}extractLists({remove:t=!1,ignoreErrors:e=!1}={}){const n={},i=e?()=>!0:(t,e)=>{throw new Error(`${t.value} ${e}`)},r=this.getQuads(null,o.default.rdf.rest,o.default.rdf.nil,null),s=t?[...r]:[];return r.forEach(e=>{const r=[];let a,l,c=!1;const u=e.graph;let h=e.subject;for(;h&&!c;){const t=this.getQuads(null,null,h,null),e=this.getQuads(h,null,null,null);let n,d=null,p=null,f=null;for(let r=0;r{switch(t){case"data":e=i;break;case"end":n=i}}},(t,e)=>{t&&this.emit("error",t)||e&&this.push(e)},(t,e)=>{this.emit("prefix",t,e)}),this._transform=(t,n,i)=>{e(t),i()},this._flush=t=>{n(),t()}}import(t){return t.on("data",t=>{this.write(t)}),t.on("end",()=>{this.end()}),t.on("error",t=>{this.emit("error",t)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=t("readable-stream"),s=(i=t("./N3Writer"))&&i.__esModule?i:{default:i};n.default=class extends r.Transform{constructor(t){super({encoding:"utf8",writableObjectMode:!0});const e=this._writer=new s.default({write:(t,e,n)=>{this.push(t),n&&n()},end:t=>{this.push(null),t&&t()}},t);this._transform=(t,n,i)=>{e.addQuad(t,i)},this._flush=t=>{e.end(t)}}import(t){return t.on("data",t=>{this.write(t)}),t.on("end",()=>{this.end()}),t.on("error",t=>{this.emit("error",t)}),t.on("prefix",(t,e)=>{this._writer.addPrefix(t,e)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.inDefaultGraph=function(t){return s(t.graph)},n.isBlankNode=function(t){return!!t&&"BlankNode"===t.termType},n.isDefaultGraph=s,n.isLiteral=function(t){return!!t&&"Literal"===t.termType},n.isNamedNode=function(t){return!!t&&"NamedNode"===t.termType},n.isVariable=function(t){return!!t&&"Variable"===t.termType},n.prefix=function(t,e){return o({"":t.value||t},e)("")},n.prefixes=o;var i,r=(i=t("./N3DataFactory"))&&i.__esModule?i:{default:i};function s(t){return!!t&&"DefaultGraph"===t.termType}function o(t,e){const n=Object.create(null);for(const r in t)i(r,t[r]);function i(t,i){if("string"==typeof i){const r=Object.create(null);n[t]=t=>r[t]||(r[t]=e.namedNode(i+t))}else if(!(t in n))throw new Error(`Unknown prefix: ${t}`);return n[t]}return e=e||r.default,i}},{"./N3DataFactory":35}],42:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=(i=t("./IRIs"))&&i.__esModule?i:{default:i},s=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}(t("./N3DataFactory")),o=t("./N3Util");function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}const l=s.default.defaultGraph(),{rdf:c,xsd:u}=r.default,h=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,d=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,p={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class f extends s.Term{equals(){return!1}}function g(t){let e=p[t];return void 0===e&&(1===t.length?(e=t.charCodeAt(0).toString(16),e="\\u0000".substr(0,6-e.length)+e):(e=(1024*(t.charCodeAt(0)-55296)+t.charCodeAt(1)+9216).toString(16),e="\\U00000000".substr(0,10-e.length)+e)),e}function m(t){return t.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}n.default=class{constructor(t,e){if(this._prefixRegex=/$0^/,t&&"function"!=typeof t.write&&(e=t,t=null),this._lists=(e=e||{}).lists,t)this._outputStream=t,this._endStream=void 0===e.end||!!e.end;else{let t="";this._outputStream={write(e,n,i){t+=e,i&&i()},end:e=>{e&&e(null,t)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(e.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=l,this._prefixIRIs=Object.create(null),e.prefixes&&this.addPrefixes(e.prefixes),e.baseIRI&&(this._baseMatcher=new RegExp(`^${m(e.baseIRI)}${e.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=e.baseIRI.length))}get _inDefaultGraph(){return l.equals(this._graph)}_write(t,e){this._outputStream.write(t,"utf8",e)}_writeQuad(t,e,n,i,r){try{i.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(l.equals(i)?"":`${this._encodeIriOrBlank(i)} {\n`)),this._graph=i,this._subject=null),t.equals(this._subject)?e.equals(this._predicate)?this._write(`, ${this._encodeObject(n)}`,r):this._write(`;\n ${this._encodePredicate(this._predicate=e)} ${this._encodeObject(n)}`,r):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=t)} ${this._encodePredicate(this._predicate=e)} ${this._encodeObject(n)}`,r)}catch(s){r&&r(s)}}_writeQuadLine(t,e,n,i,r){delete this._prefixMatch,this._write(this.quadToString(t,e,n,i),r)}quadToString(t,e,n,i){return`${this._encodeSubject(t)} ${this._encodeIriOrBlank(e)} ${this._encodeObject(n)}${i&&i.value?` ${this._encodeIriOrBlank(i)} .\n`:" .\n"}`}quadsToString(t){return t.map(t=>this.quadToString(t.subject,t.predicate,t.object,t.graph)).join("")}_encodeSubject(t){return"Quad"===t.termType?this._encodeQuad(t):this._encodeIriOrBlank(t)}_encodeIriOrBlank(t){if("NamedNode"!==t.termType)return this._lists&&t.value in this._lists&&(t=this.list(this._lists[t.value])),"id"in t?t.id:`_:${t.value}`;let e=t.value;this._baseMatcher&&this._baseMatcher.test(e)&&(e=e.substr(this._baseLength)),h.test(e)&&(e=e.replace(d,g));const n=this._prefixRegex.exec(e);return n?n[1]?this._prefixIRIs[n[1]]+n[2]:e:`<${e}>`}_encodeLiteral(t){let e=t.value;if(h.test(e)&&(e=e.replace(d,g)),t.language)return`"${e}"@${t.language}`;if(this._lineMode){if(t.datatype.value===u.string)return`"${e}"`}else switch(t.datatype.value){case u.string:return`"${e}"`;case u.boolean:if("true"===e||"false"===e)return e;break;case u.integer:if(/^[+-]?\d+$/.test(e))return e;break;case u.decimal:if(/^[+-]?\d*\.\d+$/.test(e))return e;break;case u.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(e))return e}return`"${e}"^^${this._encodeIriOrBlank(t.datatype)}`}_encodePredicate(t){return t.value===c.type?"a":this._encodeIriOrBlank(t)}_encodeObject(t){switch(t.termType){case"Quad":return this._encodeQuad(t);case"Literal":return this._encodeLiteral(t);default:return this._encodeIriOrBlank(t)}}_encodeQuad({subject:t,predicate:e,object:n,graph:i}){return`<<${this._encodeSubject(t)} ${this._encodePredicate(e)} ${this._encodeObject(n)}${(0,o.isDefaultGraph)(i)?"":` ${this._encodeIriOrBlank(i)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(t,e,n,i,r){void 0===n?this._writeQuad(t.subject,t.predicate,t.object,t.graph,e):"function"==typeof i?this._writeQuad(t,e,n,l,i):this._writeQuad(t,e,n,i||l,r)}addQuads(t){for(let e=0;e.\n`)}if(n){let t="",e="";for(const n in this._prefixIRIs)t+=t?`|${n}`:n,e+=(e?"|":"")+this._prefixIRIs[n];t=m(t),this._prefixRegex=new RegExp(`^(?:${e})[^/]*$|^(${t})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(n?"\n":"",e)}blank(t,e){let n,i,r=t;switch(void 0===t?r=[]:t.termType?r=[{predicate:t,object:e}]:"length"in t||(r=[t]),i=r.length){case 0:return new f("[]");case 1:if(n=r[0],!(n.object instanceof f))return new f(`[ ${this._encodePredicate(n.predicate)} ${this._encodeObject(n.object)} ]`);default:let e="[";for(let s=0;s{e=null,t(n,i)});if(this._endStream)try{return this._outputStream.end(e)}catch(n){}e&&e()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BlankNode",{enumerable:!0,get:function(){return u.BlankNode}}),Object.defineProperty(n,"DataFactory",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(n,"DefaultGraph",{enumerable:!0,get:function(){return u.DefaultGraph}}),Object.defineProperty(n,"Lexer",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(n,"Literal",{enumerable:!0,get:function(){return u.Literal}}),Object.defineProperty(n,"NamedNode",{enumerable:!0,get:function(){return u.NamedNode}}),Object.defineProperty(n,"Parser",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(n,"Quad",{enumerable:!0,get:function(){return u.Quad}}),Object.defineProperty(n,"Store",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(n,"StreamParser",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(n,"StreamWriter",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(n,"Term",{enumerable:!0,get:function(){return u.Term}}),Object.defineProperty(n,"Triple",{enumerable:!0,get:function(){return u.Triple}}),n.Util=void 0,Object.defineProperty(n,"Variable",{enumerable:!0,get:function(){return u.Variable}}),Object.defineProperty(n,"Writer",{enumerable:!0,get:function(){return s.default}}),n.default=void 0,Object.defineProperty(n,"termFromId",{enumerable:!0,get:function(){return u.termFromId}}),Object.defineProperty(n,"termToId",{enumerable:!0,get:function(){return u.termToId}});var i=p(t("./N3Lexer")),r=p(t("./N3Parser")),s=p(t("./N3Writer")),o=p(t("./N3Store")),a=p(t("./N3StreamParser")),l=p(t("./N3StreamWriter")),c=d(t("./N3Util"));n.Util=c;var u=d(t("./N3DataFactory"));function h(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(h=function(t){return t?n:e})(t)}function d(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=h(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}function p(t){return t&&t.__esModule?t:{default:t}}n.default={Lexer:i.default,Parser:r.default,Writer:s.default,Store:o.default,StreamParser:a.default,StreamWriter:l.default,Util:c,DataFactory:u.default,Term:u.Term,NamedNode:u.NamedNode,Literal:u.Literal,BlankNode:u.BlankNode,Variable:u.Variable,DefaultGraph:u.DefaultGraph,Quad:u.Quad,Triple:u.Triple,termFromId:u.termFromId,termToId:u.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(t,e,n){var i,r,s=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(t){if(i===setTimeout)return setTimeout(t,0);if((i===o||!i)&&setTimeout)return i=setTimeout,setTimeout(t,0);try{return i(t,0)}catch(e){try{return i.call(null,t,0)}catch(n){return i.call(this,t,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:o}catch(t){i=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(t){r=a}}();var c,u=[],h=!1,d=-1;function p(){!h||!c||(h=!1,c.length?u=c.concat(u):d=-1,u.length&&f())}function f(){if(!h){var t=l(p);h=!0;for(var e=u.length;e;){for(c=u,u=[];++d1)for(var n=1;n(n||(n=Promise.resolve())).then(t).catch(t=>setTimeout(()=>{throw t},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(t,e,n){e.exports=t("./lib")},{"./lib":55}],47:[function(t,e,n){"use strict";e.exports=class t{constructor(t,e=new Map,n=0){this.prefix=t,this._existing=e,this.counter=n}clone(){const{prefix:e,_existing:n,counter:i}=this;return new t(e,new Map(n),i)}getId(t){const e=t&&this._existing.get(t);if(e)return e;const n=this.prefix+this.counter;return this.counter++,t&&this._existing.set(t,n),n}hasId(t){return this._existing.has(t)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(t,e,n){"use strict";t("setimmediate");const r=self.crypto||self.msCrypto;e.exports=class{constructor(t){if(!r||!r.subtle)throw new Error("crypto.subtle not found.");if("sha256"===t)this.algorithm={name:"SHA-256"};else{if("sha1"!==t)throw new Error(`Unsupport algorithm "${t}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(t){this._content+=t}digest(){var t=this;return i(function*(){const e=(new TextEncoder).encode(t._content),n=new Uint8Array(yield r.subtle.digest(t.algorithm,e));let i="";for(let t=0;t]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),e.exports=class t{static parse(t){const e=[],n={},h=t.split(c.eoln);let p=0;for(const f of h){if(p++,c.empty.test(f))continue;const t=f.match(c.quad);if(null===t)throw new Error("N-Quads parse error on line "+p+".");const h={subject:null,predicate:null,object:null,graph:null};if(h.subject=void 0!==t[1]?{termType:s,value:t[1]}:{termType:o,value:t[2]},h.predicate={termType:s,value:t[3]},void 0!==t[4]?h.object={termType:s,value:t[4]}:void 0!==t[5]?h.object={termType:o,value:t[5]}:(h.object={termType:a,value:void 0,datatype:{termType:s}},void 0!==t[7]?h.object.datatype.value=t[7]:void 0!==t[8]?(h.object.datatype.value=i,h.object.language=t[8]):h.object.datatype.value=r,h.object.value=t[6].replace(d,function(t,e,n,i){if(e)switch(e){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(n)return String.fromCharCode(parseInt(n,16));if(i)throw new Error("Unsupported U escape")})),h.graph=void 0!==t[9]?{termType:s,value:t[9]}:void 0!==t[10]?{termType:o,value:t[10]}:{termType:l,value:""},h.graph.value in n){let t=!0;const i=n[h.graph.value];for(const e of i)if(u(e,h)){t=!1;break}t&&(i.push(h),e.push(h))}else n[h.graph.value]=[h],e.push(h)}return e}static serialize(e){Array.isArray(e)||(e=t.legacyDatasetToQuads(e));const n=[];for(const i of e)n.push(t.serializeQuad(i));return n.sort().join("")}static serializeQuad(t){const e=t.subject,n=t.object,a=t.graph;let l="";return l+=e.termType===s?`<${e.value}>`:`${e.value}`,l+=` <${t.predicate.value}> `,n.termType===s?l+=`<${n.value}>`:n.termType===o?l+=n.value:(l+=`"${c=n.value,c.replace(h,function(t){switch(t){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,n.datatype.value===i?n.language&&(l+=`@${n.language}`):n.datatype.value!==r&&(l+=`^^<${n.datatype.value}>`)),a.termType===s?l+=` <${a.value}>`:a.termType===o&&(l+=` ${a.value}`),l+=" .\n",l;var c}static legacyDatasetToQuads(t){const e=[],n={"blank node":o,IRI:s,literal:a};for(const c in t)t[c].forEach(t=>{const u={};for(const e in t){const o=t[e],l={termType:n[o.type],value:o.value};l.termType===a&&(l.datatype={termType:s},"datatype"in o&&(l.datatype.value=o.datatype),"language"in o?("datatype"in o||(l.datatype.value=i),l.language=o.language):"datatype"in o||(l.datatype.value=r)),u[e]=l}u.graph="@default"===c?{termType:l,value:""}:{termType:c.startsWith("_:")?o:s,value:c},e.push(u)});return e}};const h=/["\\\n\r]/g;const d=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(t,e,n){"use strict";e.exports=class{constructor(t){this.current=t.sort(),this.done=!1,this.dir=new Map;for(let e=0;ei)&&(a&&o>0&&n>t[o-1]||!a&&ot[o+1])&&(i=n,r=o)}if(null===i)this.done=!0;else{const n=e.get(i)?r-1:r+1;t[r]=t[n],t[n]=i;for(const r of t)r>i&&e.set(r,!e.get(r))}return n}}},{}],51:[function(t,e,n){(function(n){(function(){"use strict";const r=t("./IdentifierIssuer"),s=t("./MessageDigest"),o=t("./Permuter"),a=t("./NQuads");function l(t,e){return t.hashe.hash?1:0}e.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new r("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(t){var e=this;return i(function*(){e.quads=t;for(const r of t)e._addBlankNodeQuadInfo({quad:r,component:r.subject}),e._addBlankNodeQuadInfo({quad:r,component:r.object}),e._addBlankNodeQuadInfo({quad:r,component:r.graph});const n=new Map,i=[...e.blankNodeInfo.keys()];let s=0;for(const t of i)++s%100==0&&(yield e._yield()),yield e._hashAndTrackBlankNode({id:t,hashToBlankNodes:n});const o=[...n.keys()].sort(),c=[];for(const t of o){const i=n.get(t);i.length>1?c.push(i):e.canonicalIssuer.getId(i[0])}for(const t of c){const n=[];for(const i of t){if(e.canonicalIssuer.hasId(i))continue;const t=new r("_:b");t.getId(i);const s=yield e.hashNDegreeQuads(i,t);n.push(s)}n.sort(l);for(const t of n){const n=t.issuer.getOldIds();for(const t of n)e.canonicalIssuer.getId(t)}}const u=[];for(const t of e.quads){const n=vt({},t);n.subject=e._useCanonicalId({component:n.subject}),n.object=e._useCanonicalId({component:n.object}),n.graph=e._useCanonicalId({component:n.graph}),u.push(a.serializeQuad(n))}return u.sort(),u.join("")})()}hashFirstDegreeQuads(t){var e=this;return i(function*(){const n=[],i=e.blankNodeInfo.get(t),r=i.quads;for(const s of r){const i={subject:null,predicate:s.predicate,object:null,graph:null};i.subject=e.modifyFirstDegreeComponent(t,s.subject,"subject"),i.object=e.modifyFirstDegreeComponent(t,s.object,"object"),i.graph=e.modifyFirstDegreeComponent(t,s.graph,"graph"),n.push(a.serializeQuad(i))}n.sort();const o=new s(e.hashAlgorithm);for(const t of n)o.update(t);return i.hash=yield o.digest(),i.hash})()}hashRelatedBlankNode(t,e,n,r){var o=this;return i(function*(){let i;i=o.canonicalIssuer.hasId(t)?o.canonicalIssuer.getId(t):n.hasId(t)?n.getId(t):o.blankNodeInfo.get(t).hash;const a=new s(o.hashAlgorithm);return a.update(r),"g"!==r&&a.update(o.getRelatedPredicate(e)),a.update(i),a.digest()})()}hashNDegreeQuads(t,e){var n=this;return i(function*(){const i=new s(n.hashAlgorithm),r=yield n.createHashToRelated(t,e),a=[...r.keys()].sort();for(const t of a){i.update(t);let s,a="";const l=new o(r.get(t));let c=0;for(;l.hasNext();){const t=l.next();++c%3==0&&(yield n._yield());let i=e.clone(),r="";const o=[];let u=!1;for(const e of t)if(n.canonicalIssuer.hasId(e)?r+=n.canonicalIssuer.getId(e):(i.hasId(e)||o.push(e),r+=i.getId(e)),0!==a.length&&r>a){u=!0;break}if(!u){for(const t of o){const e=yield n.hashNDegreeQuads(t,i);if(r+=i.getId(t),r+=`<${e.hash}>`,i=e.issuer,0!==a.length&&r>a){u=!0;break}}u||(0===a.length||r`}createHashToRelated(t,e){var n=this;return i(function*(){const i=new Map,r=n.blankNodeInfo.get(t).quads;let s=0;for(const o of r)++s%100==0&&(yield n._yield()),yield Promise.all([n._addRelatedBlankNodeHash({quad:o,component:o.subject,position:"s",id:t,issuer:e,hashToRelated:i}),n._addRelatedBlankNodeHash({quad:o,component:o.object,position:"o",id:t,issuer:e,hashToRelated:i}),n._addRelatedBlankNodeHash({quad:o,component:o.graph,position:"g",id:t,issuer:e,hashToRelated:i})]);return i})()}_hashAndTrackBlankNode({id:t,hashToBlankNodes:e}){var n=this;return i(function*(){const i=yield n.hashFirstDegreeQuads(t),r=e.get(i);r?r.push(t):e.set(i,[t])})()}_addBlankNodeQuadInfo({quad:t,component:e}){if("BlankNode"!==e.termType)return;const n=e.value,i=this.blankNodeInfo.get(n);i?i.quads.add(t):this.blankNodeInfo.set(n,{quads:new Set([t]),hash:null})}_addRelatedBlankNodeHash({quad:t,component:e,position:n,id:r,issuer:s,hashToRelated:o}){var a=this;return i(function*(){if("BlankNode"!==e.termType||e.value===r)return;const i=e.value,l=yield a.hashRelatedBlankNode(i,t,s,n),c=o.get(l);c?c.push(i):o.set(l,[i])})()}_useCanonicalId({component:t}){return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}_yield(){return i(function*(){return new Promise(t=>n(t))})()}}}).call(this)}).call(this,t("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(t,e,n){"use strict";const i=t("./IdentifierIssuer"),r=t("./MessageDigest"),s=t("./Permuter"),o=t("./NQuads");function a(t,e){return t.hashe.hash?1:0}e.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new i("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(t){this.quads=t;for(const i of t)this._addBlankNodeQuadInfo({quad:i,component:i.subject}),this._addBlankNodeQuadInfo({quad:i,component:i.object}),this._addBlankNodeQuadInfo({quad:i,component:i.graph});const e=new Map,n=[...this.blankNodeInfo.keys()];for(const i of n)this._hashAndTrackBlankNode({id:i,hashToBlankNodes:e});const r=[...e.keys()].sort(),s=[];for(const i of r){const t=e.get(i);t.length>1?s.push(t):this.canonicalIssuer.getId(t[0])}for(const o of s){const t=[];for(const e of o){if(this.canonicalIssuer.hasId(e))continue;const n=new i("_:b");n.getId(e);const r=this.hashNDegreeQuads(e,n);t.push(r)}t.sort(a);for(const e of t){const t=e.issuer.getOldIds();for(const e of t)this.canonicalIssuer.getId(e)}}const l=[];for(const i of this.quads){const t=vt({},i);t.subject=this._useCanonicalId({component:t.subject}),t.object=this._useCanonicalId({component:t.object}),t.graph=this._useCanonicalId({component:t.graph}),l.push(o.serializeQuad(t))}return l.sort(),l.join("")}hashFirstDegreeQuads(t){const e=[],n=this.blankNodeInfo.get(t),i=n.quads;for(const r of i){const n={subject:null,predicate:r.predicate,object:null,graph:null};n.subject=this.modifyFirstDegreeComponent(t,r.subject,"subject"),n.object=this.modifyFirstDegreeComponent(t,r.object,"object"),n.graph=this.modifyFirstDegreeComponent(t,r.graph,"graph"),e.push(o.serializeQuad(n))}e.sort();const s=new r(this.hashAlgorithm);for(const r of e)s.update(r);return n.hash=s.digest(),n.hash}hashRelatedBlankNode(t,e,n,i){let s;s=this.canonicalIssuer.hasId(t)?this.canonicalIssuer.getId(t):n.hasId(t)?n.getId(t):this.blankNodeInfo.get(t).hash;const o=new r(this.hashAlgorithm);return o.update(i),"g"!==i&&o.update(this.getRelatedPredicate(e)),o.update(s),o.digest()}hashNDegreeQuads(t,e){const n=new r(this.hashAlgorithm),i=this.createHashToRelated(t,e),o=[...i.keys()].sort();for(const r of o){n.update(r);let t,o="";const a=new s(i.get(r));for(;a.hasNext();){const n=a.next();let i=e.clone(),r="";const s=[];let l=!1;for(const t of n)if(this.canonicalIssuer.hasId(t)?r+=this.canonicalIssuer.getId(t):(i.hasId(t)||s.push(t),r+=i.getId(t)),0!==o.length&&r>o){l=!0;break}if(!l){for(const t of s){const e=this.hashNDegreeQuads(t,i);if(r+=i.getId(t),r+=`<${e.hash}>`,i=e.issuer,0!==o.length&&r>o){l=!0;break}}l||(0===o.length||r`}createHashToRelated(t,e){const n=new Map,i=this.blankNodeInfo.get(t).quads;for(const r of i)this._addRelatedBlankNodeHash({quad:r,component:r.subject,position:"s",id:t,issuer:e,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.object,position:"o",id:t,issuer:e,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.graph,position:"g",id:t,issuer:e,hashToRelated:n});return n}_hashAndTrackBlankNode({id:t,hashToBlankNodes:e}){const n=this.hashFirstDegreeQuads(t),i=e.get(n);i?i.push(t):e.set(n,[t])}_addBlankNodeQuadInfo({quad:t,component:e}){if("BlankNode"!==e.termType)return;const n=e.value,i=this.blankNodeInfo.get(n);i?i.quads.add(t):this.blankNodeInfo.set(n,{quads:new Set([t]),hash:null})}_addRelatedBlankNodeHash({quad:t,component:e,position:n,id:i,issuer:r,hashToRelated:s}){if("BlankNode"!==e.termType||e.value===i)return;const o=e.value,a=this.hashRelatedBlankNode(o,t,r,n),l=s.get(a);l?l.push(o):s.set(a,[o])}_useCanonicalId({component:t}){return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(t,e,n){"use strict";const r=t("./URDNA2015");e.exports=class extends r{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(t,e,n){return"BlankNode"!==e.termType?e:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:e.value===t?"_:a":"_:z"}}getRelatedPredicate(t){return t.predicate.value}createHashToRelated(t,e){var n=this;return i(function*(){const i=new Map,r=n.blankNodeInfo.get(t).quads;let s=0;for(const o of r){let r,a;if("BlankNode"===o.subject.termType&&o.subject.value!==t)a=o.subject.value,r="p";else{if("BlankNode"!==o.object.termType||o.object.value===t)continue;a=o.object.value,r="r"}++s%100==0&&(yield n._yield());const l=yield n.hashRelatedBlankNode(a,o,e,r),c=i.get(l);c?c.push(a):i.set(l,[a])}return i})()}}},{"./URDNA2015":51}],54:[function(t,e,n){"use strict";const i=t("./URDNA2015Sync");e.exports=class extends i{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(t,e,n){return"BlankNode"!==e.termType?e:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:e.value===t?"_:a":"_:z"}}getRelatedPredicate(t){return t.predicate.value}createHashToRelated(t,e){const n=new Map,i=this.blankNodeInfo.get(t).quads;for(const r of i){let i,s;if("BlankNode"===r.subject.termType&&r.subject.value!==t)s=r.subject.value,i="p";else{if("BlankNode"!==r.object.termType||r.object.value===t)continue;s=r.object.value,i="r"}const o=this.hashRelatedBlankNode(s,r,e,i),a=n.get(o);a?a.push(s):n.set(o,[s])}return n}}},{"./URDNA2015Sync":52}],55:[function(t,e,n){"use strict";const r=t("./URDNA2015"),s=t("./URGNA2012"),o=t("./URDNA2015Sync"),a=t("./URGNA2012Sync");let l;try{l=t("rdf-canonize-native")}catch(u){}const c={};e.exports=c,c.NQuads=t("./NQuads"),c.IdentifierIssuer=t("./IdentifierIssuer"),c._rdfCanonizeNative=function(t){return t&&(l=t),l},c.canonize=function(){var t=i(function*(t,e){if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),e.useNative){if(!l)throw new Error("rdf-canonize-native not available");return new Promise((n,i)=>l.canonize(t,e,(t,e)=>t?i(t):n(e)))}if("URDNA2015"===e.algorithm)return new r(e).main(t);if("URGNA2012"===e.algorithm)return new s(e).main(t);throw"algorithm"in e?new Error("Invalid RDF Dataset Canonicalization algorithm: "+e.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(e,n){return t.apply(this,arguments)}}(),c._canonizeSync=function(t,e){if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),e.useNative){if(l)return l.canonizeSync(t,e);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===e.algorithm)return new o(e).main(t);if("URGNA2012"===e.algorithm)return new a(e).main(t);throw"algorithm"in e?new Error("Invalid RDF Dataset Canonicalization algorithm: "+e.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(t("./lib/BlankNode"),n),r(t("./lib/DataFactory"),n),r(t("./lib/DefaultGraph"),n),r(t("./lib/Literal"),n),r(t("./lib/NamedNode"),n),r(t("./lib/Quad"),n),r(t("./lib/Variable"),n)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.BlankNode=void 0;n.BlankNode=class{constructor(t){this.termType="BlankNode",this.value=t}equals(t){return!!t&&"BlankNode"===t.termType&&t.value===this.value}}},{}],58:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DataFactory=void 0;const i=t("./BlankNode"),r=t("./DefaultGraph"),s=t("./Literal"),o=t("./NamedNode"),a=t("./Quad"),l=t("./Variable");let c=0;n.DataFactory=class{constructor(t){this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||`df_${c++}_`}namedNode(t){return new o.NamedNode(t)}blankNode(t){return new i.BlankNode(t||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(t,e){return new s.Literal(t,e)}variable(t){return new l.Variable(t)}defaultGraph(){return r.DefaultGraph.INSTANCE}quad(t,e,n,i){return new a.Quad(t,e,n,i||this.defaultGraph())}fromTerm(t){switch(t.termType){case"NamedNode":return this.namedNode(t.value);case"BlankNode":return this.blankNode(t.value);case"Literal":return t.language?this.literal(t.value,t.language):t.datatype.equals(s.Literal.XSD_STRING)?this.literal(t.value):this.literal(t.value,this.fromTerm(t.datatype));case"Variable":return this.variable(t.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(t.subject),this.fromTerm(t.predicate),this.fromTerm(t.object),this.fromTerm(t.graph))}}fromQuad(t){return this.fromTerm(t)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DefaultGraph=void 0;class i{constructor(){this.termType="DefaultGraph",this.value=""}equals(t){return!!t&&"DefaultGraph"===t.termType}}n.DefaultGraph=i,i.INSTANCE=new i},{}],60:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Literal=void 0;const i=t("./NamedNode");class r{constructor(t,e){this.termType="Literal",this.value=t,"string"==typeof e?(this.language=e,this.datatype=r.RDF_LANGUAGE_STRING):e?(this.language="",this.datatype=e):(this.language="",this.datatype=r.XSD_STRING)}equals(t){return!!t&&"Literal"===t.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}n.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.NamedNode=void 0;n.NamedNode=class{constructor(t){this.termType="NamedNode",this.value=t}equals(t){return!!t&&"NamedNode"===t.termType&&t.value===this.value}}},{}],62:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Quad=void 0;n.Quad=class{constructor(t,e,n,i){this.termType="Quad",this.value="",this.subject=t,this.predicate=e,this.object=n,this.graph=i}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&this.subject.equals(t.subject)&&this.predicate.equals(t.predicate)&&this.object.equals(t.object)&&this.graph.equals(t.graph)}}},{}],63:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Variable=void 0;n.Variable=class{constructor(t){this.termType="Variable",this.value=t}equals(t){return!!t&&"Variable"===t.termType&&t.value===this.value}}},{}],64:[function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(t("./lib/RdfXmlParser"),n)},{"./lib/RdfXmlParser":66}],65:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseError=void 0;class i extends Error{constructor(t,e){const n=t.saxStream._parser;super(t.trackPosition?`Line ${n.line+1} column ${n.column+1}: ${e}`:e)}}n.ParseError=i},{}],66:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseType=n.RdfXmlParser=void 0;const i=t("relative-to-absolute-iri"),r=t("sax"),s=t("stream"),o=t("./ParseError"),a=t("rdf-data-factory");class l extends s.Transform{constructor(t){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},t&&(Object.assign(this,t),this.options=t),this.dataFactory||(this.dataFactory=new a.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=r.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(t,e){const n={};let i=!1;for(const s in t.attributes)s.startsWith("xmlns")&&(5===s.length?(i=!0,n[""]=t.attributes[s]):":"===s.charAt(5)&&(i=!0,n[s.substr(6)]=t.attributes[s]));const r=e&&e.ns?e.ns:[l.DEFAULT_NS];return i?r.concat([n]):r}static expandPrefixedTerm(t,e,n){const i=t.indexOf(":");let r,s;i>=0?(r=t.substr(0,i),s=t.substr(i+1)):(r="",s=t);let a=null,l=null;for(let o=e.length-1;o>=0;o--){const t=e[o][r];if(t){a=t;break}l||(l=e[o][""])}if(!a){if(r&&"xmlns"!==r)throw new o.ParseError(n,`The prefix '${r}' in term '${t}' was not bound.`);a=l||""}return{prefix:r,local:s,uri:a}}static isValidIri(t){return l.IRI_REGEX.test(t)}import(t){const e=new s.PassThrough({readableObjectMode:!0});t.on("error",t=>n.emit("error",t)),t.on("data",t=>e.push(t)),t.on("end",()=>e.push(null));const n=e.pipe(new l(this.options));return n}_transform(t,e,n){try{this.saxStream.write(t,e)}catch(i){return n(i)}n()}newParseError(t){return new o.ParseError(this,t)}valueToUri(t,e){return this.uriToNamedNode(i.resolve(t,e.baseIRI))}uriToNamedNode(t){if(!l.isValidIri(t))throw this.newParseError(`Invalid URI: ${t}`);return this.dataFactory.namedNode(t)}validateNcname(t){if(!l.NCNAME_MATCHER.test(t))throw this.newParseError(`Not a valid NCName: ${t}`)}attachSaxListeners(){this.saxStream.on("error",t=>this.emit("error",t)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(t){const e=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let n=c.RESOURCE;if(e&&(e.hadChildren=!0,n=e.childrenParseType),e&&e.childrenStringTags){const n=t.name;let i="";for(const e in t.attributes)i+=` ${e}="${t.attributes[e]}"`;e.childrenStringTags.push(`<${n}${i}>`);const r={childrenStringTags:e.childrenStringTags};return r.childrenStringEmitClosingTag=``,void this.activeTagStack.push(r)}const i={};e?(i.language=e.language,i.baseIRI=e.baseIRI):i.baseIRI=this.baseIRI,this.activeTagStack.push(i),i.ns=l.parseNamespace(t,e),n===c.RESOURCE?this.onTagResource(t,i,e,!e):this.onTagProperty(t,i,e)}onTagResource(t,e,n,r){const s=l.expandPrefixedTerm(t.name,e.ns,this);e.childrenParseType=c.PROPERTY;let o=!0;if(s.uri===l.RDF){if(!r&&l.FORBIDDEN_NODE_ELEMENTS.indexOf(s.local)>=0)throw this.newParseError(`Illegal node element name: ${s.local}`);switch(s.local){case"RDF":e.childrenParseType=c.RESOURCE;case"Description":o=!1}}const a=[],u=[];let h=null,d=!1,p=!1,f=null;for(const c in t.attributes){const r=t.attributes[c],s=l.expandPrefixedTerm(c,e.ns,this);if(n&&s.uri===l.RDF)switch(s.local){case"about":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);h=r;continue;case"ID":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);this.validateNcname(r),h="#"+r,d=!0;continue;case"nodeID":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);this.validateNcname(r),h=r,p=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":f=r;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(s.uri===l.XML){if("lang"===s.local){e.language=""===r?null:r.toLowerCase();continue}if("base"===s.local){e.baseIRI=i.resolve(r,e.baseIRI);continue}}"xml"!==s.prefix&&s.uri&&(a.push(this.uriToNamedNode(s.uri+s.local)),u.push(r))}if(null!==h&&(e.subject=p?this.dataFactory.blankNode(h):this.valueToUri(h,e),d&&this.claimNodeId(e.subject)),e.subject||(e.subject=this.dataFactory.blankNode()),o){const t=this.uriToNamedNode(s.uri+s.local);this.emitTriple(e.subject,this.dataFactory.namedNode(l.RDF+"type"),t,n?n.reifiedStatementId:null)}if(n){if(n.predicate)if(n.childrenCollectionSubject){const t=this.dataFactory.blankNode();this.emitTriple(n.childrenCollectionSubject,n.childrenCollectionPredicate,t,n.reifiedStatementId),this.emitTriple(t,this.dataFactory.namedNode(l.RDF+"first"),e.subject,e.reifiedStatementId),n.childrenCollectionSubject=t,n.childrenCollectionPredicate=this.dataFactory.namedNode(l.RDF+"rest")}else{this.emitTriple(n.subject,n.predicate,e.subject,n.reifiedStatementId);for(let t=0;t=0)throw this.newParseError(`Illegal property element name: ${i.local}`);e.predicateSubPredicates=[],e.predicateSubObjects=[];let r=!1,s=!1,o=null,a=!0;const u=[],h=[];for(const d in t.attributes){const n=t.attributes[d],i=l.expandPrefixedTerm(d,e.ns,this);if(i.uri===l.RDF)switch(i.local){case"resource":if(o)throw this.newParseError(`Found both rdf:resource (${n}) and rdf:nodeID (${o}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${n})`);e.hadChildren=!0,o=n,a=!1;continue;case"datatype":if(s)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${n}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${n})`);e.datatype=this.valueToUri(n,e);continue;case"nodeID":if(s)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${n}).`);if(e.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${n}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${n})`);this.validateNcname(n),e.hadChildren=!0,o=n,a=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(s)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(e.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${e.datatype.value})`);if(o)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${o})`);if("Resource"===n){r=!0,e.childrenParseType=c.PROPERTY;const t=this.dataFactory.blankNode();this.emitTriple(e.subject,e.predicate,t,e.reifiedStatementId),e.subject=t,e.predicate=null}else"Collection"===n?(r=!0,e.hadChildren=!0,e.childrenCollectionSubject=e.subject,e.childrenCollectionPredicate=e.predicate,a=!1):"Literal"===n&&(r=!0,e.childrenTagsToString=!0,e.childrenStringTags=[]);continue;case"ID":this.validateNcname(n),e.reifiedStatementId=this.valueToUri("#"+n,e),this.claimNodeId(e.reifiedStatementId);continue}else if(i.uri===l.XML&&"lang"===i.local){e.language=""===n?null:n.toLowerCase();continue}if("xml"!==i.prefix&&"xmlns"!==i.prefix&&i.uri){if(r||e.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${n}`);e.hadChildren=!0,s=!0,u.push(this.uriToNamedNode(i.uri+i.local)),h.push(this.dataFactory.literal(n,e.datatype||e.language))}}if(null!==o){const t=e.subject;e.subject=a?this.dataFactory.blankNode(o):this.valueToUri(o,e),this.emitTriple(t,e.predicate,e.subject,e.reifiedStatementId);for(let n=0;n/g,(t,e,n)=>(this.saxStream._parser.ENTITIES[e]=n,""))}}var c,u;n.RdfXmlParser=l,l.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,l.MIME_TYPE="application/rdf+xml",l.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",l.XML="http://www.w3.org/XML/1998/namespace",l.XMLNS="http://www.w3.org/2000/xmlns/",l.DEFAULT_NS={xml:l.XML},l.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],l.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],l.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(u=c=n.ParseType||(n.ParseType={}))[u.RESOURCE=0]="RESOURCE",u[u.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(t,e,n){"use strict";var i={};function r(t,e,n){n||(n=Error);var r=function(t){function n(n,i,r){return t.call(this,function(t,n,i){return"string"==typeof e?e:e(t,n,i)}(n,i,r))||this}return function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}(n,t),n}(n);r.prototype.name=n.name,r.prototype.code=t,i[t]=r}function s(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map(function(t){return String(t)}),n>2?"one of ".concat(e," ").concat(t.slice(0,n-1).join(", "),", or ")+t[n-1]:2===n?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError),r("ERR_INVALID_ARG_TYPE",function(t,e,n){var i,r;if("string"==typeof e&&function(t,e,n){return t.substr(!n||n<0?0:+n,e.length)===e}(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,n){return(void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}(t," argument"))r="The ".concat(t," ").concat(i," ").concat(s(e,"type"));else{var o=function(t,e,n){return"number"!=typeof n&&(n=0),!(n+e.length>t.length)&&-1!==t.indexOf(e,n)}(t,".")?"property":"argument";r='The "'.concat(t,'" ').concat(o," ").concat(i," ").concat(s(e,"type"))}return r+". Received type ".concat(typeof n)},TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"}),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"}),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=i},{}],68:[function(t,e,n){(function(n){(function(){"use strict";var i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};e.exports=c;var r=t("./_stream_readable"),s=t("./_stream_writable");t("inherits")(c,r);for(var o=i(s.prototype),a=0;a0)if("string"!=typeof e&&!o.objectMode&&Object.getPrototypeOf(e)!==a.prototype&&(e=function(t){return a.from(t)}(e)),i)o.endEmitted?x(t,new w):T(t,o,e,!0);else if(o.ended)x(t,new v);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!n?(e=o.decoder.write(e),o.objectMode||0!==e.length?T(t,o,e,!1):I(t,o)):T(t,o,e,!1)}else i||(o.reading=!1,I(t,o));return!o.ended&&(o.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=k?t=k:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function A(t){var e=t._readableState;c("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(c("emitReadable",e.flowing),e.emittedReadable=!0,n.nextTick(M,t))}function M(t){var e=t._readableState;c("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,j(t)}function I(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(D,t,e))}function D(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function N(t){c("readable nexttick read 0"),t.read(0)}function L(t,e){c("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),j(t),e.flowing&&!e.reading&&t.read(0)}function j(t){var e=t._readableState;for(c("flow",e.flowing);e.flowing&&null!==t.read(););}function F(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):n=e.buffer.consume(t,e.decoder),n);var n}function B(t){var e=t._readableState;c("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,n.nextTick(V,e,t))}function V(t,e){if(c("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var n=e._writableState;(!n||n.autoDestroy&&n.finished)&&e.destroy()}}function z(t,e){for(var n=0,i=t.length;n=e.highWaterMark:e.length>0)||e.ended))return c("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?B(this):A(this),null;if(0===(t=P(t,e))&&e.ended)return 0===e.length&&B(this),null;var i,r=e.needReadable;return c("need readable",r),(0===e.length||e.length-t0?F(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&B(this)),null!==i&&this.emit("data",i),i},E.prototype._read=function(t){x(this,new _("_read()"))},E.prototype.pipe=function(t,e){var i=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=t;break;case 1:r.pipes=[r.pipes,t];break;default:r.pipes.push(t)}r.pipesCount+=1,c("pipe count=%d opts=%j",r.pipesCount,e);var o=e&&!1===e.end||t===n.stdout||t===n.stderr?m:l;function a(e,n){c("onunpipe"),e===i&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,c("cleanup"),t.removeListener("close",f),t.removeListener("finish",g),t.removeListener("drain",u),t.removeListener("error",p),t.removeListener("unpipe",a),i.removeListener("end",l),i.removeListener("end",m),i.removeListener("data",d),h=!0,r.awaitDrain&&(!t._writableState||t._writableState.needDrain)&&u())}function l(){c("onend"),t.end()}r.endEmitted?n.nextTick(o):i.once("end",o),t.on("unpipe",a);var u=function(t){return function(){var e=t._readableState;c("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,j(t))}}(i);t.on("drain",u);var h=!1;function d(e){c("ondata");var n=t.write(e);c("dest.write",n),!1===n&&((1===r.pipesCount&&r.pipes===t||r.pipesCount>1&&-1!==z(r.pipes,t))&&!h&&(c("false write response, pause",r.awaitDrain),r.awaitDrain++),i.pause())}function p(e){c("onerror",e),m(),t.removeListener("error",p),0===s(t,"error")&&x(t,e)}function f(){t.removeListener("finish",g),m()}function g(){c("onfinish"),t.removeListener("close",f),m()}function m(){c("unpipe"),i.unpipe(t)}return i.on("data",d),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",p),t.once("close",f),t.once("finish",g),t.emit("pipe",i),r.flowing||(c("pipe resume"),i.resume()),t},E.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var i=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,!1!==r.flowing&&this.resume()):"readable"===t&&!r.endEmitted&&!r.readableListening&&(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,c("on readable",r.length,r.reading),r.length?A(this):r.reading||n.nextTick(N,this)),i},E.prototype.removeListener=function(t,e){var i=o.prototype.removeListener.call(this,t,e);return"readable"===t&&n.nextTick(R,this),i},E.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return("readable"===t||void 0===t)&&n.nextTick(R,this),e},E.prototype.resume=function(){var t=this._readableState;return t.flowing||(c("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,n.nextTick(L,t,e))}(this,t)),t.paused=!1,this},E.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},E.prototype.wrap=function(t){var e=this,n=this._readableState,i=!1;for(var r in t.on("end",function(){if(c("wrapped end"),n.decoder&&!n.ended){var t=n.decoder.end();t&&t.length&&e.push(t)}e.push(null)}),t.on("data",function(r){c("wrapped data"),n.decoder&&(r=n.decoder.write(r)),n.objectMode&&null==r||!(n.objectMode||r&&r.length)||e.push(r)||(i=!0,t.pause())}),t)void 0===this[r]&&"function"==typeof t[r]&&(this[r]=function(e){return function(){return t[e].apply(t,arguments)}}(r));for(var s=0;s-1))throw new w(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(E.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(t,e,n){n(new g("_write()"))},E.prototype._writev=null,E.prototype.end=function(t,e,i){var r=this._writableState;return"function"==typeof t?(i=t,t=null,e=null):"function"==typeof e&&(i=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||function(t,e,i){e.ending=!0,I(t,e),i&&(e.finished?n.nextTick(i):t.once("finish",i)),e.ended=!0,t.writable=!1}(this,r,i),this},Object.defineProperty(E.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){!this._writableState||(this._writableState.destroyed=t)}}),E.prototype.destroy=h.destroy,E.prototype._undestroy=h.undestroy,E.prototype._destroy=function(t,e){e(t)}}).call(this)}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(t,e,n){(function(n){(function(){"use strict";var i;function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var s=t("./end-of-stream"),o=Symbol("lastResolve"),a=Symbol("lastReject"),l=Symbol("error"),c=Symbol("ended"),u=Symbol("lastPromise"),h=Symbol("handlePromise"),d=Symbol("stream");function p(t,e){return{value:t,done:e}}function f(t){var e=t[o];if(null!==e){var n=t[d].read();null!==n&&(t[u]=null,t[o]=null,t[a]=null,e(p(n,!1)))}}function g(t){n.nextTick(f,t)}var m=Object.getPrototypeOf(function(){}),b=Object.setPrototypeOf((r(i={get stream(){return this[d]},next:function(){var t=this,e=this[l];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(p(void 0,!0));if(this[d].destroyed)return new Promise(function(e,i){n.nextTick(function(){t[l]?i(t[l]):e(p(void 0,!0))})});var i,r=this[u];if(r)i=new Promise(function(t,e){return function(n,i){t.then(function(){e[c]?n(p(void 0,!0)):e[h](n,i)},i)}}(r,this));else{var s=this[d].read();if(null!==s)return Promise.resolve(p(s,!1));i=new Promise(this[h])}return this[u]=i,i}},Symbol.asyncIterator,function(){return this}),r(i,"return",function(){var t=this;return new Promise(function(e,n){t[d].destroy(null,function(t){t?n(t):e(p(void 0,!0))})})}),i),m);e.exports=function(t){var e,n=Object.create(b,(r(e={},d,{value:t,writable:!0}),r(e,o,{value:null,writable:!0}),r(e,a,{value:null,writable:!0}),r(e,l,{value:null,writable:!0}),r(e,c,{value:t._readableState.endEmitted,writable:!0}),r(e,h,{value:function(t,e){var i=n[d].read();i?(n[u]=null,n[o]=null,n[a]=null,t(p(i,!1))):(n[o]=t,n[a]=e)},writable:!0}),e));return n[u]=null,s(t,function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=n[a];return null!==e&&(n[u]=null,n[o]=null,n[a]=null,e(t)),void(n[l]=t)}var i=n[o];null!==i&&(n[u]=null,n[o]=null,n[a]=null,i(p(void 0,!0))),n[c]=!0}),t.on("readable",g.bind(null,n)),n}}).call(this)}).call(this,t("_process"))},{"./end-of-stream":76,_process:44}],74:[function(t,e,n){"use strict";function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function s(t,e){for(var n=0;n0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e=o.allocUnsafe(t>>>0),n=this.head,i=0;n;)c(n.data,e,i),i+=n.data.length,n=n.next;return e}},{key:"consume",value:function(t,e){var n;return tr.length?r.length:t;if(i+=s===r.length?r:r.slice(0,t),0==(t-=s)){s===r.length?(++n,this.head=e.next?e.next:this.tail=null):(this.head=e,e.data=r.slice(s));break}++n}return this.length-=n,i}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),n=this.head,i=1;for(n.data.copy(e),t-=n.data.length;n=n.next;){var r=n.data,s=t>r.length?r.length:t;if(r.copy(e,e.length-t,0,s),0==(t-=s)){s===r.length?(++i,this.head=n.next?n.next:this.tail=null):(this.head=n,n.data=r.slice(s));break}++i}return this.length-=i,e}},{key:l,value:function(t,e){return a(this,function(t){for(var e=1;e0,function(t){r||(r=t),t&&o.forEach(c),!s&&(o.forEach(c),i(r))})});return e.reduce(u)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(t,e,n){"use strict";var i=t("../../../errors").codes.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(t,e,n,r){var s=function(t,e,n){return null!=t.highWaterMark?t.highWaterMark:e?t[n]:null}(e,r,n);if(null!=s){if(!isFinite(s)||Math.floor(s)!==s||s<0)throw new i(r?n:"highWaterMark",s);return Math.floor(s)}return t.objectMode?16:16384}}},{"../../../errors":67}],80:[function(t,e,n){e.exports=t("events").EventEmitter},{events:8}],81:[function(t,e,n){(n=e.exports=t("./lib/_stream_readable.js")).Stream=n,n.Readable=n,n.Writable=t("./lib/_stream_writable.js"),n.Duplex=t("./lib/_stream_duplex.js"),n.Transform=t("./lib/_stream_transform.js"),n.PassThrough=t("./lib/_stream_passthrough.js"),n.finished=t("./lib/internal/streams/end-of-stream.js"),n.pipeline=t("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),function(t){for(var e in t)n.hasOwnProperty(e)||(n[e]=t[e])}(t("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(t,e,n){"use strict";function i(t){const e=[];let n=0;for(;nt.join("")).join("/")}function r(t,e){let n=e+1;e>=0?"/"===t[e+1]&&"/"===t[e+2]&&(n=e+3):"/"===t[0]&&"/"===t[1]&&(n=2);const r=t.indexOf("/",n);return r<0?t:t.substr(0,r)+i(t.substr(r))}function s(t){return!t||"#"===t||"?"===t||"/"===t}Object.defineProperty(n,"__esModule",{value:!0}),n.resolve=function(t,e){const n=(e=e||"").indexOf("#");if(n>0&&(e=e.substr(0,n)),!t.length){if(e.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${e}' for value '${t}'`);return e}if(t.startsWith("?")){const n=e.indexOf("?");return n>0&&(e=e.substr(0,n)),e+t}if(t.startsWith("#"))return e+t;if(!e.length){const e=t.indexOf(":");if(e<0)throw new Error(`Found invalid relative IRI '${t}' for a missing baseIRI`);return r(t,e)}const s=t.indexOf(":");if(s>=0)return r(t,s);const o=e.indexOf(":");if(o<0)throw new Error(`Found invalid baseIRI '${e}' for value '${t}'`);const a=e.substr(0,o+1);if(0===t.indexOf("//"))return a+r(t,s);let l;if(e.indexOf("//",o)===o+1){if(l=e.indexOf("/",o+3),l<0)return e.length>o+3?e+"/"+r(t,s):a+r(t,s)}else if(l=e.indexOf("/",o+1),l<0)return a+r(t,s);if(0===t.indexOf("/"))return e.substr(0,l)+i(t);let c=e.substr(l);const u=c.lastIndexOf("/");return u>=0&&u"===s?(O(e,"onsgmldeclaration",e.sgmlDecl),e.sgmlDecl="",e.state=S.TEXT):(m(s)&&(e.state=S.SGML_DECL_QUOTED),e.sgmlDecl+=s);continue;case S.SGML_DECL_QUOTED:s===e.q&&(e.state=S.SGML_DECL,e.q=""),e.sgmlDecl+=s;continue;case S.DOCTYPE:">"===s?(e.state=S.TEXT,O(e,"ondoctype",e.doctype),e.doctype=!0):(e.doctype+=s,"["===s?e.state=S.DOCTYPE_DTD:m(s)&&(e.state=S.DOCTYPE_QUOTED,e.q=s));continue;case S.DOCTYPE_QUOTED:e.doctype+=s,s===e.q&&(e.q="",e.state=S.DOCTYPE);continue;case S.DOCTYPE_DTD:e.doctype+=s,"]"===s?e.state=S.DOCTYPE:m(s)&&(e.state=S.DOCTYPE_DTD_QUOTED,e.q=s);continue;case S.DOCTYPE_DTD_QUOTED:e.doctype+=s,s===e.q&&(e.state=S.DOCTYPE_DTD,e.q="");continue;case S.COMMENT:"-"===s?e.state=S.COMMENT_ENDING:e.comment+=s;continue;case S.COMMENT_ENDING:"-"===s?(e.state=S.COMMENT_ENDED,e.comment=k(e.opt,e.comment),e.comment&&O(e,"oncomment",e.comment),e.comment=""):(e.comment+="-"+s,e.state=S.COMMENT);continue;case S.COMMENT_ENDED:">"!==s?(M(e,"Malformed comment"),e.comment+="--"+s,e.state=S.COMMENT):e.state=S.TEXT;continue;case S.CDATA:"]"===s?e.state=S.CDATA_ENDING:e.cdata+=s;continue;case S.CDATA_ENDING:"]"===s?e.state=S.CDATA_ENDING_2:(e.cdata+="]"+s,e.state=S.CDATA);continue;case S.CDATA_ENDING_2:">"===s?(e.cdata&&O(e,"oncdata",e.cdata),O(e,"onclosecdata"),e.cdata="",e.state=S.TEXT):"]"===s?e.cdata+="]":(e.cdata+="]]"+s,e.state=S.CDATA);continue;case S.PROC_INST:"?"===s?e.state=S.PROC_INST_ENDING:g(s)?e.state=S.PROC_INST_BODY:e.procInstName+=s;continue;case S.PROC_INST_BODY:if(!e.procInstBody&&g(s))continue;"?"===s?e.state=S.PROC_INST_ENDING:e.procInstBody+=s;continue;case S.PROC_INST_ENDING:">"===s?(O(e,"onprocessinginstruction",{name:e.procInstName,body:e.procInstBody}),e.procInstName=e.procInstBody="",e.state=S.TEXT):(e.procInstBody+="?"+s,e.state=S.PROC_INST_BODY);continue;case S.OPEN_TAG:y(d,s)?e.tagName+=s:(I(e),">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:(g(s)||M(e,"Invalid character in tag name"),e.state=S.ATTRIB));continue;case S.OPEN_TAG_SLASH:">"===s?(N(e,!0),L(e)):(M(e,"Forward-slash in opening tag not followed by >"),e.state=S.ATTRIB);continue;case S.ATTRIB:if(g(s))continue;">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:y(h,s)?(e.attribName=s,e.attribValue="",e.state=S.ATTRIB_NAME):M(e,"Invalid attribute name");continue;case S.ATTRIB_NAME:"="===s?e.state=S.ATTRIB_VALUE:">"===s?(M(e,"Attribute without value"),e.attribValue=e.attribName,R(e),N(e)):g(s)?e.state=S.ATTRIB_NAME_SAW_WHITE:y(d,s)?e.attribName+=s:M(e,"Invalid attribute name");continue;case S.ATTRIB_NAME_SAW_WHITE:if("="===s)e.state=S.ATTRIB_VALUE;else{if(g(s))continue;M(e,"Attribute without value"),e.tag.attributes[e.attribName]="",e.attribValue="",O(e,"onattribute",{name:e.attribName,value:""}),e.attribName="",">"===s?N(e):y(h,s)?(e.attribName=s,e.state=S.ATTRIB_NAME):(M(e,"Invalid attribute name"),e.state=S.ATTRIB)}continue;case S.ATTRIB_VALUE:if(g(s))continue;m(s)?(e.q=s,e.state=S.ATTRIB_VALUE_QUOTED):(M(e,"Unquoted attribute value"),e.state=S.ATTRIB_VALUE_UNQUOTED,e.attribValue=s);continue;case S.ATTRIB_VALUE_QUOTED:if(s!==e.q){"&"===s?e.state=S.ATTRIB_VALUE_ENTITY_Q:e.attribValue+=s;continue}R(e),e.q="",e.state=S.ATTRIB_VALUE_CLOSED;continue;case S.ATTRIB_VALUE_CLOSED:g(s)?e.state=S.ATTRIB:">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:y(h,s)?(M(e,"No whitespace between attributes"),e.attribName=s,e.attribValue="",e.state=S.ATTRIB_NAME):M(e,"Invalid attribute name");continue;case S.ATTRIB_VALUE_UNQUOTED:if(!b(s)){"&"===s?e.state=S.ATTRIB_VALUE_ENTITY_U:e.attribValue+=s;continue}R(e),">"===s?N(e):e.state=S.ATTRIB;continue;case S.CLOSE_TAG:if(e.tagName)">"===s?L(e):y(d,s)?e.tagName+=s:e.script?(e.script+=""===s?L(e):M(e,"Invalid characters in closing tag");continue;case S.TEXT_ENTITY:case S.ATTRIB_VALUE_ENTITY_Q:case S.ATTRIB_VALUE_ENTITY_U:var a,l;switch(e.state){case S.TEXT_ENTITY:a=S.TEXT,l="textNode";break;case S.ATTRIB_VALUE_ENTITY_Q:a=S.ATTRIB_VALUE_QUOTED,l="attribValue";break;case S.ATTRIB_VALUE_ENTITY_U:a=S.ATTRIB_VALUE_UNQUOTED,l="attribValue"}";"===s?(e[l]+=j(e),e.entity="",e.state=a):y(e.entity.length?f:p,s)?e.entity+=s:(M(e,"Invalid character in entity name"),e[l]+="&"+e.entity+s,e.entity="",e.state=a);continue;default:throw new Error(e,"Unknown state: "+e.state)}return e.position>=e.bufferCheckPosition&&function(t){for(var e=Math.max(n.MAX_BUFFER_LENGTH,10),i=0,s=0,o=r.length;se)switch(r[s]){case"textNode":T(t);break;case"cdata":O(t,"oncdata",t.cdata),t.cdata="";break;case"script":O(t,"onscript",t.script),t.script="";break;default:P(t,"Max buffer length exceeded: "+r[s])}i=Math.max(i,a)}t.bufferCheckPosition=n.MAX_BUFFER_LENGTH-i+t.position}(e),e},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(t){T(t),""!==t.cdata&&(O(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(O(t,"onscript",t.script),t.script="")}(this)}};try{i=t("stream").Stream}catch(_){i=function(){}}var o=n.EVENTS.filter(function(t){return"error"!==t&&"end"!==t});function a(t,e){if(!(this instanceof a))return new a(t,e);i.apply(this),this._parser=new s(t,e),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit("end")},this._parser.onerror=function(t){n.emit("error",t),n._parser.error=null},this._decoder=null,o.forEach(function(t){Object.defineProperty(n,"on"+t,{get:function(){return n._parser["on"+t]},set:function(e){if(!e)return n.removeAllListeners(t),n._parser["on"+t]=e,e;n.on(t,e)},enumerable:!0,configurable:!1})})}(a.prototype=Object.create(i.prototype,{constructor:{value:a}})).write=function(n){if("function"==typeof e&&"function"==typeof e.isBuffer&&e.isBuffer(n)){if(!this._decoder){var i=t("string_decoder").StringDecoder;this._decoder=new i("utf8")}n=this._decoder.write(n)}return this._parser.write(n.toString()),this.emit("data",n),!0},a.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},a.prototype.on=function(t,e){var n=this;return!n._parser["on"+t]&&-1!==o.indexOf(t)&&(n._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),n.emit.apply(n,e)}),i.prototype.on.call(n,t,e)};var l="http://www.w3.org/XML/1998/namespace",c="http://www.w3.org/2000/xmlns/",u={xml:l,xmlns:c},h=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,d=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,f=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function g(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function m(t){return'"'===t||"'"===t}function b(t){return">"===t||g(t)}function y(t,e){return t.test(e)}function v(t,e){return!y(t,e)}var _,w,x,S=0;for(var C in n.STATE={BEGIN:S++,BEGIN_WHITESPACE:S++,TEXT:S++,TEXT_ENTITY:S++,OPEN_WAKA:S++,SGML_DECL:S++,SGML_DECL_QUOTED:S++,DOCTYPE:S++,DOCTYPE_QUOTED:S++,DOCTYPE_DTD:S++,DOCTYPE_DTD_QUOTED:S++,COMMENT_STARTING:S++,COMMENT:S++,COMMENT_ENDING:S++,COMMENT_ENDED:S++,CDATA:S++,CDATA_ENDING:S++,CDATA_ENDING_2:S++,PROC_INST:S++,PROC_INST_BODY:S++,PROC_INST_ENDING:S++,OPEN_TAG:S++,OPEN_TAG_SLASH:S++,ATTRIB:S++,ATTRIB_NAME:S++,ATTRIB_NAME_SAW_WHITE:S++,ATTRIB_VALUE:S++,ATTRIB_VALUE_QUOTED:S++,ATTRIB_VALUE_CLOSED:S++,ATTRIB_VALUE_UNQUOTED:S++,ATTRIB_VALUE_ENTITY_Q:S++,ATTRIB_VALUE_ENTITY_U:S++,CLOSE_TAG:S++,CLOSE_TAG_SAW_WHITE:S++,SCRIPT:S++,SCRIPT_ENDING:S++},n.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},n.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(n.ENTITIES).forEach(function(t){var e=n.ENTITIES[t],i="number"==typeof e?String.fromCharCode(e):e;n.ENTITIES[t]=i}),n.STATE)n.STATE[n.STATE[C]]=C;function E(t,e,n){t[e]&&t[e](n)}function O(t,e,n){t.textNode&&T(t),E(t,e,n)}function T(t){t.textNode=k(t.opt,t.textNode),t.textNode&&E(t,"ontext",t.textNode),t.textNode=""}function k(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function P(t,e){return T(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,E(t,"onerror",e),t}function A(t){return t.sawRoot&&!t.closedRoot&&M(t,"Unclosed root tag"),t.state!==S.BEGIN&&t.state!==S.BEGIN_WHITESPACE&&t.state!==S.TEXT&&P(t,"Unexpected end"),T(t),t.c="",t.closed=!0,E(t,"onend"),s.call(t,t.strict,t.opt),t}function M(t,e){if("object"!=typeof t||!(t instanceof s))throw new Error("bad call to strictFail");t.strict&&P(t,e)}function I(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,n=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(n.ns=e.ns),t.attribList.length=0,O(t,"onopentagstart",n)}function D(t,e){var n=t.indexOf(":")<0?["",t]:t.split(":"),i=n[0],r=n[1];return e&&"xmlns"===t&&(i="xmlns",r=""),{prefix:i,local:r}}function R(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=D(t.attribName,!0),n=e.local;if("xmlns"===e.prefix)if("xml"===n&&t.attribValue!==l)M(t,"xml: prefix must be bound to "+l+"\nActual: "+t.attribValue);else if("xmlns"===n&&t.attribValue!==c)M(t,"xmlns: prefix must be bound to "+c+"\nActual: "+t.attribValue);else{var i=t.tag,r=t.tags[t.tags.length-1]||t;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[n]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,O(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function N(t,e){if(t.opt.xmlns){var n=t.tag,i=D(t.tagName);n.prefix=i.prefix,n.local=i.local,n.uri=n.ns[i.prefix]||"",n.prefix&&!n.uri&&(M(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),n.uri=i.prefix),n.ns&&(t.tags[t.tags.length-1]||t).ns!==n.ns&&Object.keys(n.ns).forEach(function(e){O(t,"onopennamespace",{prefix:e,uri:n.ns[e]})});for(var r=0,s=t.attribList.length;r",t.tagName="",void(t.state=S.SCRIPT);O(t,"onscript",t.script),t.script=""}var e=t.tags.length,n=t.tagName;t.strict||(n=n[t.looseCase]());for(var i=n;e--&&t.tags[e].name!==i;)M(t,"Unexpected close tag");if(e<0)return M(t,"Unmatched closing tag: "+t.tagName),t.textNode+="",void(t.state=S.TEXT);t.tagName=n;for(var r=t.tags.length;r-- >e;){var s=t.tag=t.tags.pop();t.tagName=t.tag.name,O(t,"onclosetag",t.tagName);var o={};for(var a in s.ns)o[a]=s.ns[a];t.opt.xmlns&&s.ns!==(t.tags[t.tags.length-1]||t).ns&&Object.keys(s.ns).forEach(function(e){O(t,"onclosenamespace",{prefix:e,uri:s.ns[e]})})}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=S.TEXT}function j(t){var e,n=t.entity,i=n.toLowerCase(),r="";return t.ENTITIES[n]?t.ENTITIES[n]:t.ENTITIES[i]?t.ENTITIES[i]:("#"===(n=i).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),r=(e=parseInt(n,16)).toString(16)):(n=n.slice(1),r=(e=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(e)||r.toLowerCase()!==n?(M(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function F(t,e){"<"===e?(t.state=S.OPEN_WAKA,t.startTagPosition=t.position):g(e)||(M(t,"Non-whitespace before first tag."),t.textNode=e,t.state=S.TEXT)}function B(t,e){var n="";return e1114111||w(s)!==s)throw RangeError("Invalid code point: "+s);s<=65535?e.push(s):e.push(55296+((s-=65536)>>10),s%1024+56320),(n+1===i||e.length>t)&&(r+=_.apply(null,e),e.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:x,configurable:!0,writable:!0}):String.fromCodePoint=x)}(void 0===n?this.sax={}:n)}).call(this)}).call(this,t("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(t,e,n){(function(t,e){(function(){!function(e,n){"use strict";if(!e.setImmediate){var i,r=1,s={},o=!1,a=e.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,"[object process]"==={}.toString.call(e.process)?i=function(e){t.nextTick(function(){d(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?(c="setImmediate$"+Math.random()+"$",u=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(c)&&d(+t.data.slice(c.length))},e.addEventListener?e.addEventListener("message",u,!1):e.attachEvent("onmessage",u),i=function(t){e.postMessage(c+t,"*")}):e.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){d(t.data)},i=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;i=function(e){var n=a.createElement("script");n.onreadystatechange=function(){d(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():i=function(t){setTimeout(d,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n.setImmediate="function"==typeof e?e:function(t){var e=l++,i=!(arguments.length<2)&&o.call(arguments,1);return a[e]=!0,r(function(){a[e]&&(i?t.apply(null,i):t.call(null),n.clearImmediate(e))}),e},n.clearImmediate="function"==typeof i?i:function(t){delete a[t]}}).call(this)}).call(this,t("timers").setImmediate,t("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(t,e,n){(function(t){(function(){function n(e){try{if(!t.localStorage)return!1}catch(i){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(t,e){if(n("noDeprecation"))return t;var i=!1;return function(){if(!i){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation")?console.trace(e):console.warn(e),i=!0}return t.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(t,e,n){"use strict";e.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}},{}],92:[function(t,e,n){"use strict";function i(t){var e=this;if(e instanceof i||(e=new i),e.tail=null,e.head=null,e.length=0,t&&"function"==typeof t.forEach)t.forEach(function(t){e.push(t)});else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=e;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");i=this.head.next,n=this.head.value}for(var r=0;null!==i;r++)n=t(n,i.value,r),i=i.next;return n},i.prototype.reduceReverse=function(t,e){var n,i=this.tail;if(arguments.length>1)n=e;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");i=this.tail.prev,n=this.tail.value}for(var r=this.length-1;null!==i;r--)n=t(n,i.value,r),i=i.prev;return n},i.prototype.toArray=function(){for(var t=new Array(this.length),e=0,n=this.head;null!==n;e++)t[e]=n.value,n=n.next;return t},i.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,n=this.tail;null!==n;e++)t[e]=n.value,n=n.prev;return t},i.prototype.slice=function(t,e){(e=e||this.length)<0&&(e+=this.length),(t=t||0)<0&&(t+=this.length);var n=new i;if(ethis.length&&(e=this.length);for(var r=0,s=this.head;null!==s&&rthis.length&&(e=this.length);for(var r=this.length,s=this.tail;null!==s&&r>e;r--)s=s.prev;for(;null!==s&&r>t;r--,s=s.prev)n.push(s.value);return n},i.prototype.splice=function(t,e,...n){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,s=this.head;null!==s&&i=0?1.2:1))}function i(t,e,n,i,s,o){for(var a=0;a-1);o[++c]=l,a[c]=u,a[c+1]=e}for(l=0,c=0;l{return(t=n||(n={})).typeOfFunction="function",t.boolTrue=!0,n;var t})();function i(t,e,i){if(!i||typeof i.value!==n.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+e+"> is not a method!");return{configurable:n.boolTrue,get:function(){var t=i.value.bind(this);return Object.defineProperty(this,e,{value:t,configurable:n.boolTrue,writable:n.boolTrue}),t}}}e.ak=i,e.ZP=i},97266:function(t,e,n){t.exports={ResizeSensor:n(69835),ElementQueries:n(54845)}},54845:function(t,e,n){"use strict";var i,r,s;"undefined"!=typeof window&&window,r=[n(69835)],void 0!==(s="function"==typeof(i=function(t){var e=function(){var e,n={},i=[];function r(t){t||(t=document.documentElement);var e=window.getComputedStyle(t,null).fontSize;return parseFloat(e)||16}function s(t,e){var n=e.split(/\d/),i=n[n.length-1];switch(e=parseFloat(e),i){case"px":return e;case"em":return e*r(t);case"rem":return e*r();case"vw":return e*document.documentElement.clientWidth/100;case"vh":return e*document.documentElement.clientHeight/100;case"vmin":case"vmax":var s=document.documentElement.clientWidth/100,o=document.documentElement.clientHeight/100;return e*(0,Math["vmin"===i?"min":"max"])(s,o);default:return e}}function o(t,e){this.element=t;var i,r,o,a,l,c,u,h,d=["min-width","min-height","max-width","max-height"];this.call=function(){for(i in o=function(t){if(!t.getBoundingClientRect)return{width:t.offsetWidth,height:t.offsetHeight};var e=t.getBoundingClientRect();return{width:Math.round(e.width),height:Math.round(e.height)}}(this.element),c={},n[e])!n[e].hasOwnProperty(i)||(a=s(this.element,(r=n[e][i]).value),l="width"===r.property?o.width:o.height,u="","min"===r.mode&&l>=a&&(u+=r.value),"max"===r.mode&&l<=a&&(u+=r.value),c[h=r.mode+"-"+r.property]||(c[h]=""),u&&-1===(" "+c[h]+" ").indexOf(" "+u+" ")&&(c[h]+=" "+u));for(var t in d)!d.hasOwnProperty(t)||(c[d[t]]?this.element.setAttribute(d[t],c[d[t]].substr(1)):this.element.removeAttribute(d[t]))}}function a(e,n){e.elementQueriesSetupInformation||(e.elementQueriesSetupInformation=new o(e,n)),e.elementQueriesSensor||(e.elementQueriesSensor=new t(e,function(){e.elementQueriesSetupInformation.call()}))}function l(t,r,s,o){if(void 0===n[t]){n[t]=[];var a=i.length;e.innerHTML+="\n"+t+" {animation: 0.1s element-queries;}",e.innerHTML+="\n"+t+" > .resize-sensor {min-width: "+a+"px;}",i.push(t)}n[t].push({mode:r,property:s,value:o})}function c(t){var e;if(document.querySelectorAll&&(e=t?t.querySelectorAll.bind(t):document.querySelectorAll.bind(document)),!e&&"undefined"!=typeof $$&&(e=$$),!e&&"undefined"!=typeof jQuery&&(e=jQuery),!e)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return e}function u(e){var n=[],i=[],r=[],s=0,o=-1,a=[];for(var l in e.children)if(e.children.hasOwnProperty(l)&&e.children[l].tagName&&"img"===e.children[l].tagName.toLowerCase()){n.push(e.children[l]);var c=e.children[l].getAttribute("min-width")||e.children[l].getAttribute("data-min-width"),u=e.children[l].getAttribute("data-src")||e.children[l].getAttribute("url");r.push(u),i.push({minWidth:c}),c?e.children[l].style.display="none":(s=n.length-1,e.children[l].style.display="block")}function h(){var t,l=!1;for(t in n)!n.hasOwnProperty(t)||i[t].minWidth&&e.offsetWidth>i[t].minWidth&&(l=t);if(l||(l=s),o!==l)if(a[l])n[o].style.display="none",n[l].style.display="block",o=l;else{var c=new Image;c.onload=function(){n[l].src=r[l],n[o].style.display="none",n[l].style.display="block",a[l]=!0,o=l},c.src=r[l]}else n[l].src=r[l]}o=s,e.resizeSensorInstance=new t(e,h),h()}var h=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,d=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function p(t){var e,n,i,r;for(t=t.replace(/'/g,'"');null!==(e=h.exec(t));)for(n=e[1]+e[3],i=e[2];null!==(r=d.exec(i));)l(n,r[1],r[2],r[3])}function f(t){var e="";if(t)if("string"==typeof t)(-1!==(t=t.toLowerCase()).indexOf("min-width")||-1!==t.indexOf("max-width"))&&p(t);else for(var n=0,i=t.length;n img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",e.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(e),g=!0);for(var r=0,s=document.styleSheets.length;r0&&o.length>r&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,console&&console.warn&&console.warn(a)}return t}function O(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function T(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},r=O.bind(i);return r.listener=n,i.wrapFn=r,r}function k(t,e,n){var i=t._events;if(void 0===i)return[];var r=i[e];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(s=e[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var a=r[t];if(void 0===a)return!1;if("function"==typeof a)v(a,this,e);else{var l=a.length,c=A(a,l);for(n=0;n=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},w.prototype.listeners=function(t){return k(this,t,!0)},w.prototype.rawListeners=function(t){return k(this,t,!1)},w.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):P.call(t,e)},w.prototype.listenerCount=P,w.prototype.eventNames=function(){return this._eventsCount>0?m(this._events):[]},I.prototype.next=function(){if(this.done)return{done:!0};var t=this._next();return t.done&&(this.done=!0),t},"undefined"!=typeof Symbol&&(I.prototype[Symbol.iterator]=function(){return this}),I.of=function(){var t=arguments,e=t.length,n=0;return new I(function(){return n>=e?{done:!0}:{done:!1,value:t[n++]}})},I.empty=function(){var t=new I(null);return t.done=!0,t},I.is=function(t){return t instanceof I||"object"==typeof t&&null!==t&&"function"==typeof t.next};var D=I,R=function(t,e){for(var n,i=arguments.length>1?e:1/0,r=i!==1/0?new Array(i):[],s=0;;){if(s===i)return r;if((n=t.next()).done)return s!==e?r.slice(0,s):r;r[s++]=n.value}},N=function(t){function n(e,n){var i;return(i=t.call(this)||this).name="GraphError",i.message=e||"",i.data=n||{},i}return e(n,t),n}(o(Error)),L=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N),j=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N),F=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N);function B(t,e){this.key=t,this.attributes=e,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function V(t,e){this.key=t,this.attributes=e,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function z(t,e){this.key=t,this.attributes=e,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function U(t,e,n,i,r,s){this.key=e,this.attributes=s,this.undirected=t,this.source=i,this.target=r,this.generatedKey=n}function H(t,e,n,i,r,s,o){var a,l,c="out",u="in";if(e&&(c=u="undirected"),t.multi){if(void 0===(l=(a=s[c])[r])&&(l=new Set,a[r]=l),l.add(n),i===r&&e)return;void 0===(a=o[u])[i]&&(a[i]=l)}else{if(s[c][r]=n,i===r&&e)return;o[u][i]=n}}function $(t,e,n){var i=t.multi,r=n.source,s=n.target,o=r.key,a=s.key,l=r[e?"undirected":"out"],c=e?"undirected":"in";if(a in l)if(i){var u=l[a];1===u.size?(delete l[a],delete s[c][o]):u.delete(n)}else delete l[a];i||delete s[c][o]}V.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},z.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var G=[{name:function(t){return"get".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes[i]}}},{name:function(t){return"get".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t){var i;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var r=""+t,s=""+arguments[1];if(!(i=c(this,r,s,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(r,'" - "').concat(s,'").'))}else if(!(i=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&i.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return i.attributes}}},{name:function(t){return"has".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes.hasOwnProperty(i)}}},{name:function(t){return"set".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i,r){var s;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+t,a=""+i;if(i=arguments[2],r=arguments[3],!(s=c(this,o,a,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(s=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&s.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return s.attributes[i]=r,this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:i}),this}}},{name:function(t){return"update".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i,r){var s;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+t,a=""+i;if(i=arguments[2],r=arguments[3],!(s=c(this,o,a,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(s=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("function"!=typeof r)throw new L("Graph.".concat(e,": updater should be a function."));if("mixed"!==n&&s.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return s.attributes[i]=r(s.attributes[i]),this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:i}),this}}},{name:function(t){return"remove".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return delete r.attributes[i],this.emit("edgeAttributesUpdated",{key:r.key,type:"remove",attributes:r.attributes,name:i}),this}}},{name:function(t){return"replace".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(e,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes=i,this.emit("edgeAttributesUpdated",{key:r.key,type:"replace",attributes:r.attributes}),this}}},{name:function(t){return"merge".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(e,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return l(r.attributes,i),this.emit("edgeAttributesUpdated",{key:r.key,type:"merge",attributes:r.attributes,data:i}),this}}}],W=D,q=function(){var t,e=arguments,n=-1;return new W(function i(){if(!t){if(++n>=e.length)return{done:!0};t=e[n]}var r=t.next();return r.done?(t=null,i()):r})},X=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Y(t,e){for(var n in e)t.push(e[n].key)}function K(t,e){for(var n in e)e[n].forEach(function(e){return t.push(e.key)})}function Q(t,e,n){for(var i in t)if(i!==n){var r=t[i];e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey)}}function Z(t,e,n){for(var i in t)i!==n&&t[i].forEach(function(t){return e(t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes,t.undirected,t.generatedKey)})}function J(t,e,n){for(var i in t)if(i!==n){var r=t[i];if(e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey))return!0}return!1}function tt(t,e,n){var i,r,s,o,a;for(var l in t)if(l!==n)for(i=t[l].values();!0!==(r=i.next()).done;)if(o=(s=r.value).source,e(s.key,s.attributes,o.key,(a=s.target).key,o.attributes,a.attributes,s.undirected,s.generatedKey))return!0;return!1}function et(t,e){var n=Object.keys(t),i=n.length,r=null,s=0;return new D(function o(){var a;if(r){var l=r.next();if(l.done)return r=null,s++,o();a=l.value}else{if(s>=i)return{done:!0};var c=n[s];if(c===e)return s++,o();if((a=t[c])instanceof Set)return r=a.values(),o();s++}return{done:!1,value:[a.key,a.attributes,a.source.key,a.target.key,a.source.attributes,a.target.attributes]}})}function nt(t,e,n){var i=e[n];i&&t.push(i.key)}function it(t,e,n){var i=e[n];i&&i.forEach(function(e){return t.push(e.key)})}function rt(t,e,n){var i=t[e];if(i){var r=i.source,s=i.target;n(i.key,i.attributes,r.key,s.key,r.attributes,s.attributes,i.undirected,i.generatedKey)}}function st(t,e,n){var i=t[e];i&&i.forEach(function(t){return n(t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes,t.undirected,t.generatedKey)})}function ot(t,e,n){var i=t[e];if(i){var r=i.source,s=i.target;return n(i.key,i.attributes,r.key,s.key,r.attributes,s.attributes,i.undirected,i.generatedKey)}}function at(t,e,n){var i=t[e];if(i){for(var r,s,o=i.values();!0!==(r=o.next()).done;)if(n((s=r.value).key,s.attributes,s.source.key,s.target.key,s.source.attributes,s.target.attributes,s.undirected,s.generatedKey))return!0;return!1}}function lt(t,e){var n=t[e];if(n instanceof Set){var i=n.values();return new D(function(){var t=i.next();if(t.done)return t;var e=t.value;return{done:!1,value:[e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes]}})}return D.of([n.key,n.attributes,n.source.key,n.target.key,n.source.attributes,n.target.attributes])}function ct(t,e){if(0===t.size)return[];if("mixed"===e||e===t.type)return"function"==typeof Array.from?Array.from(t._edges.keys()):R(t._edges.keys(),t._edges.size);for(var n,i,r=new Array("undirected"===e?t.undirectedSize:t.directedSize),s="undirected"===e,o=t._edges.values(),a=0;!0!==(n=o.next()).done;)(i=n.value).undirected===s&&(r[a++]=i.key);return r}function ut(t,e,n){if(0!==t.size)for(var i,r,s="mixed"!==e&&e!==t.type,o="undirected"===e,a=t._edges.values();!0!==(i=a.next()).done;)if(r=i.value,!s||r.undirected===o){var l=r.source,c=r.target;n(r.key,r.attributes,l.key,c.key,l.attributes,c.attributes,r.undirected,r.generatedKey)}}function ht(t,e,n){if(0!==t.size)for(var i,r,s="mixed"!==e&&e!==t.type,o="undirected"===e,a=t._edges.values();!0!==(i=a.next()).done;)if(r=i.value,!s||r.undirected===o){var l=r.source,c=r.target;if(n(r.key,r.attributes,l.key,c.key,l.attributes,c.attributes,r.undirected,r.generatedKey))break}}function dt(t,e){if(0===t.size)return D.empty();var n="mixed"!==e&&e!==t.type,i="undirected"===e,r=t._edges.values();return new D(function(){for(var t,e;;){if((t=r.next()).done)return t;if(e=t.value,!n||e.undirected===i)break}return{value:[e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes],done:!1}})}function pt(t,e,n,i){var r=[],s=t?K:Y;return"undirected"!==e&&("out"!==n&&s(r,i.in),"in"!==n&&s(r,i.out),!n&&i.directedSelfLoops>0&&r.splice(r.lastIndexOf(i.key),1)),"directed"!==e&&s(r,i.undirected),r}function ft(t,e,n,i,r){var s=t?Z:Q;"undirected"!==e&&("out"!==n&&s(i.in,r),"in"!==n&&s(i.out,r,n?null:i.key)),"directed"!==e&&s(i.undirected,r)}function gt(t,e,n,i,r){var s=t?tt:J;"undirected"!==e&&("out"!==n&&s(i.in,r)||"in"!==n&&s(i.out,r,n?null:i.key))||"directed"===e||s(i.undirected,r)}function mt(t,e,n){var i=D.empty();return"undirected"!==t&&("out"!==e&&void 0!==n.in&&(i=q(i,et(n.in))),"in"!==e&&void 0!==n.out&&(i=q(i,et(n.out,e?null:n.key)))),"directed"!==t&&void 0!==n.undirected&&(i=q(i,et(n.undirected))),i}function bt(t,e,n,i,r){var s=e?it:nt,o=[];return"undirected"!==t&&(void 0!==i.in&&"out"!==n&&s(o,i.in,r),void 0!==i.out&&"in"!==n&&s(o,i.out,r),!n&&i.directedSelfLoops>0&&o.splice(o.lastIndexOf(i.key),1)),"directed"!==t&&void 0!==i.undirected&&s(o,i.undirected,r),o}function yt(t,e,n,i,r,s){var o=e?st:rt;"undirected"!==t&&(void 0!==i.in&&"out"!==n&&o(i.in,r,s),i.key!==r&&void 0!==i.out&&"in"!==n&&o(i.out,r,s)),"directed"!==t&&void 0!==i.undirected&&o(i.undirected,r,s)}function vt(t,e,n,i,r,s){var o=e?at:ot;"undirected"!==t&&(void 0!==i.in&&"out"!==n&&o(i.in,r,s)||i.key!==r&&void 0!==i.out&&"in"!==n&&o(i.out,r,s,n?null:i.key))||"directed"===t||void 0===i.undirected||o(i.undirected,r,s)}function _t(t,e,n,i){var r=D.empty();return"undirected"!==t&&(void 0!==n.in&&"out"!==e&&i in n.in&&(r=q(r,lt(n.in,i))),void 0!==n.out&&"in"!==e&&i in n.out&&(r=q(r,lt(n.out,i)))),"directed"!==t&&void 0!==n.undirected&&i in n.undirected&&(r=q(r,lt(n.undirected,i))),r}var wt=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function xt(t,e){if(void 0!==e)for(var n in e)t.add(n)}function St(t,e,n){if("mixed"!==t){if("undirected"===t)return Object.keys(n.undirected);if("string"==typeof e)return Object.keys(n[e])}var i=new Set;return"undirected"!==t&&("out"!==e&&xt(i,n.in),"in"!==e&&xt(i,n.out)),"directed"!==t&&xt(i,n.undirected),R(i.values(),i.size)}function Ct(t,e,n){for(var i in e){var r=e[i];r instanceof Set&&(r=r.values().next().value);var s=r.source,o=s===t?r.target:s;n(o.key,o.attributes)}}function Et(t,e,n,i){for(var r in n){var s=n[r];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===e?s.target:o;t.has(a.key)||(t.add(a.key),i(a.key,a.attributes))}}function Ot(t,e,n){for(var i in e){var r=e[i];r instanceof Set&&(r=r.values().next().value);var s=r.source,o=s===t?r.target:s;if(n(o.key,o.attributes))return!0}return!1}function Tt(t,e,n,i){for(var r in n){var s=n[r];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===e?s.target:o;if(!t.has(a.key)&&(t.add(a.key),i(a.key,a.attributes)))return!0}return!1}function kt(t,e){var n=Object.keys(e),i=n.length,r=0;return new D(function(){if(r>=i)return{done:!0};var s=e[n[r++]];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===t?s.target:o;return{done:!1,value:[a.key,a.attributes]}})}function Pt(t,e,n){var i=Object.keys(n),r=i.length,s=0;return new D(function o(){if(s>=r)return{done:!0};var a=n[i[s++]];a instanceof Set&&(a=a.values().next().value);var l=a.source,c=l===e?a.target:l;return t.has(c.key)?o():(t.add(c.key),{done:!1,value:[c.key,c.attributes]})})}function At(t,e,n,i,r){var s=t._nodes.get(i);if("undirected"!==e){if("out"!==n&&void 0!==s.in)for(var o in s.in)if(o===r)return!0;if("in"!==n&&void 0!==s.out)for(var a in s.out)if(a===r)return!0}if("directed"!==e&&void 0!==s.undirected)for(var l in s.undirected)if(l===r)return!0;return!1}function Mt(t,e,n){for(var i,r,s,o,a,l,c,u=e._nodes.values(),h=e.type;!0!==(i=u.next()).done;){if(r=i.value,"undirected"!==h)for(s in o=r.out)if(l=(a=o[s]).target,c=n(r.key,l.key,r.attributes,l.attributes,a.key,a.attributes,a.undirected,a.generatedKey),t&&c)return;if("directed"!==h)for(s in o=r.undirected)if((l=(a=o[s]).target).key!==s&&(l=a.source),c=n(r.key,l.key,r.attributes,l.attributes,a.key,a.attributes,a.undirected,a.generatedKey),t&&c)return}}function It(t,e,n){for(var i,r,s,o,a,l,c,u,h,d=e._nodes.values(),p=e.type;!0!==(i=d.next()).done;){if(r=i.value,"undirected"!==p)for(s in l=r.out)for(o=l[s].values();!0!==(a=o.next()).done;)if(u=(c=a.value).target,h=n(r.key,u.key,r.attributes,u.attributes,c.key,c.attributes,c.undirected,c.generatedKey),t&&h)return;if("directed"!==p)for(s in l=r.undirected)for(o=l[s].values();!0!==(a=o.next()).done;)if((u=(c=a.value).target).key!==s&&(u=c.source),h=n(r.key,u.key,r.attributes,u.attributes,c.key,c.attributes,c.undirected,c.generatedKey),t&&h)return}}function Dt(t,e){var n={key:t};return d(e.attributes)||(n.attributes=l({},e.attributes)),n}function Rt(t,e){var n={source:e.source.key,target:e.target.key};return e.generatedKey||(n.key=t),d(e.attributes)||(n.attributes=l({},e.attributes)),e.undirected&&(n.undirected=!0),n}function Nt(t){return h(t)?"key"in t?!("attributes"in t)||h(t.attributes)&&null!==t.attributes?null:"invalid-attributes":"no-key":"not-object"}function Lt(t){return h(t)?"source"in t?"target"in t?!("attributes"in t)||h(t.attributes)&&null!==t.attributes?"undirected"in t&&"boolean"!=typeof t.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var jt=new Set(["directed","undirected","mixed"]),Ft=new Set(["domain","_events","_eventsCount","_maxListeners"]),Bt={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Vt(t,e,n){var i=new t.NodeDataClass(e,n);return t._nodes.set(e,i),t.emit("nodeAdded",{key:e,attributes:n}),i}function zt(t,e,n,i,r,s,o,a){if(!i&&"undirected"===t.type)throw new F("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===t.type)throw new F("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(a&&!h(a))throw new L("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(a,'"'));if(s=""+s,o=""+o,a=a||{},!t.allowSelfLoops&&s===o)throw new F("Graph.".concat(e,': source & target are the same ("').concat(s,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var l=t._nodes.get(s),c=t._nodes.get(o);if(!l)throw new j("Graph.".concat(e,': source node "').concat(s,'" not found.'));if(!c)throw new j("Graph.".concat(e,': target node "').concat(o,'" not found.'));var u={key:null,undirected:i,source:s,target:o,attributes:a};if(n&&(r=t._edgeKeyGenerator(u)),t._edges.has(r=""+r))throw new F("Graph.".concat(e,': the "').concat(r,'" edge already exists in the graph.'));if(!t.multi&&(i?void 0!==l.undirected[o]:void 0!==l.out[o]))throw new F("Graph.".concat(e,': an edge linking "').concat(s,'" to "').concat(o,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var d=new U(i,r,n,l,c,a);return t._edges.set(r,d),s===o?i?(l.undirectedSelfLoops++,t._undirectedSelfLoopCount++):(l.directedSelfLoops++,t._directedSelfLoopCount++):i?(l.undirectedDegree++,c.undirectedDegree++):(l.outDegree++,c.inDegree++),H(t,i,d,s,o,l,c),i?t._undirectedSize++:t._directedSize++,u.key=r,t.emit("edgeAdded",u),r}function Ut(t,e,n,i,r,s,o,a,c){if(!i&&"undirected"===t.type)throw new F("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===t.type)throw new F("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(a)if(c){if("function"!=typeof a)throw new L("Graph.".concat(e,': invalid updater function. Expecting a function but got "').concat(a,'"'))}else if(!h(a))throw new L("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(a,'"'));var u;if(s=""+s,o=""+o,c&&(u=a,a=void 0),!t.allowSelfLoops&&s===o)throw new F("Graph.".concat(e,': source & target are the same ("').concat(s,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var d,p,f=t._nodes.get(s),g=t._nodes.get(o);if(!n&&(d=t._edges.get(r))){if(d.source.key!==s||d.target.key!==o||i&&(d.source.key!==o||d.target.key!==s))throw new F("Graph.".concat(e,': inconsistency detected when attempting to merge the "').concat(r,'" edge with "').concat(s,'" source & "').concat(o,'" target vs. ("').concat(d.source.key,'", "').concat(d.target.key,'").'));p=d}if(p||t.multi||!f||(p=i?f.undirected[o]:f.out[o]),p)return(c?u:a)?(c?(p.attributes=u(p.attributes),t.emit("edgeAttributesUpdated",{type:"replace",key:p.key,attributes:p.attributes})):(l(p.attributes,a),t.emit("edgeAttributesUpdated",{type:"merge",key:p.key,attributes:p.attributes,data:a})),p.key):p.key;a=a||{},c&&u&&(a=u(a));var m={key:null,undirected:i,source:s,target:o,attributes:a};if(n&&(r=t._edgeKeyGenerator(m)),t._edges.has(r=""+r))throw new F("Graph.".concat(e,': the "').concat(r,'" edge already exists in the graph.'));return f||(f=Vt(t,s,{}),s===o&&(g=f)),g||(g=Vt(t,o,{})),d=new U(i,r,n,f,g,a),t._edges.set(r,d),s===o?i?(f.undirectedSelfLoops++,t._undirectedSelfLoopCount++):(f.directedSelfLoops++,t._directedSelfLoopCount++):i?(f.undirectedDegree++,g.undirectedDegree++):(f.outDegree++,g.inDegree++),H(t,i,d,s,o,f,g),i?t._undirectedSize++:t._directedSize++,m.key=r,t.emit("edgeAdded",m),r}var Ht,$t=function(t){function n(e){var n;if(n=t.call(this)||this,(e=l({},Bt,e)).edgeKeyGenerator&&"function"!=typeof e.edgeKeyGenerator)throw new L("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(e.edgeKeyGenerator,'".'));if("boolean"!=typeof e.multi)throw new L("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(e.multi,'".'));if(!jt.has(e.type))throw new L('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(e.type,'".'));if("boolean"!=typeof e.allowSelfLoops)throw new L("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(e.allowSelfLoops,'".'));var i,r="mixed"===e.type?B:"directed"===e.type?V:z;return p(a(n),"NodeDataClass",r),p(a(n),"_attributes",{}),p(a(n),"_nodes",new Map),p(a(n),"_edges",new Map),p(a(n),"_directedSize",0),p(a(n),"_undirectedSize",0),p(a(n),"_directedSelfLoopCount",0),p(a(n),"_undirectedSelfLoopCount",0),p(a(n),"_edgeKeyGenerator",e.edgeKeyGenerator||(i=0,function(){return i++})),p(a(n),"_options",e),Ft.forEach(function(t){return p(a(n),t,n[t])}),f(a(n),"order",function(){return n._nodes.size}),f(a(n),"size",function(){return n._edges.size}),f(a(n),"directedSize",function(){return n._directedSize}),f(a(n),"undirectedSize",function(){return n._undirectedSize}),f(a(n),"selfLoopCount",function(){return n._directedSelfLoopCount+n._undirectedSelfLoopCount}),f(a(n),"directedSelfLoopCount",function(){return n._directedSelfLoopCount}),f(a(n),"undirectedSelfLoopCount",function(){return n._undirectedSelfLoopCount}),f(a(n),"multi",n._options.multi),f(a(n),"type",n._options.type),f(a(n),"allowSelfLoops",n._options.allowSelfLoops),f(a(n),"implementation",function(){return"graphology"}),n}e(n,t);var i=n.prototype;return i.hasNode=function(t){return this._nodes.has(""+t)},i.hasDirectedEdge=function(t,e){if("undirected"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+t);return!!n&&!n.undirected}if(2===arguments.length){e=""+e;var i=this._nodes.get(t=""+t);if(!i)return!1;var r=i.out[e];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasUndirectedEdge=function(t,e){if("directed"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+t);return!!n&&n.undirected}if(2===arguments.length){e=""+e;var i=this._nodes.get(t=""+t);if(!i)return!1;var r=i.undirected[e];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasEdge=function(t,e){if(1===arguments.length)return this._edges.has(""+t);if(2===arguments.length){e=""+e;var n=this._nodes.get(t=""+t);if(!n)return!1;var i=void 0!==n.out&&n.out[e];return i||(i=void 0!==n.undirected&&n.undirected[e]),!(!i||this.multi&&!i.size)}throw new L("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.directedEdge=function(t,e){if("undirected"!==this.type){if(t=""+t,e=""+e,this.multi)throw new F("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var n=this._nodes.get(t);if(!n)throw new j('Graph.directedEdge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.directedEdge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.out&&n.out[e]||void 0;return i?i.key:void 0}},i.undirectedEdge=function(t,e){if("directed"!==this.type){if(t=""+t,e=""+e,this.multi)throw new F("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var n=this._nodes.get(t);if(!n)throw new j('Graph.undirectedEdge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.undirectedEdge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.undirected&&n.undirected[e]||void 0;return i?i.key:void 0}},i.edge=function(t,e){if(this.multi)throw new F("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");e=""+e;var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.edge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.edge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.out&&n.out[e]||n.undirected&&n.undirected[e]||void 0;if(i)return i.key},i.inDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.inDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.inDegree: could not find the "'.concat(t,'" node in the graph.'));return"undirected"===this.type?0:n.inDegree+(e?n.directedSelfLoops:0)},i.outDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.outDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.outDegree: could not find the "'.concat(t,'" node in the graph.'));return"undirected"===this.type?0:n.outDegree+(e?n.directedSelfLoops:0)},i.directedDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.directedDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.directedDegree: could not find the "'.concat(t,'" node in the graph.'));if("undirected"===this.type)return 0;var i=e?n.directedSelfLoops:0;return n.inDegree+i+(n.outDegree+i)},i.undirectedDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.undirectedDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.undirectedDegree: could not find the "'.concat(t,'" node in the graph.'));return"directed"===this.type?0:n.undirectedDegree+2*(e?n.undirectedSelfLoops:0)},i.degree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.degree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.degree: could not find the "'.concat(t,'" node in the graph.'));var i=0,r=0;return"directed"!==this.type&&(e&&(r=n.undirectedSelfLoops),i+=n.undirectedDegree+2*r),"undirected"!==this.type&&(e&&(r=n.directedSelfLoops),i+=n.inDegree+n.outDegree+2*r),i},i.source=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.source: could not find the "'.concat(t,'" edge in the graph.'));return e.source.key},i.target=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.target: could not find the "'.concat(t,'" edge in the graph.'));return e.target.key},i.extremities=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.extremities: could not find the "'.concat(t,'" edge in the graph.'));return[e.source.key,e.target.key]},i.opposite=function(t,e){t=""+t;var n=this._edges.get(e=""+e);if(!n)throw new j('Graph.opposite: could not find the "'.concat(e,'" edge in the graph.'));var i=n.source.key,r=n.target.key;if(t!==i&&t!==r)throw new j('Graph.opposite: the "'.concat(t,'" node is not attached to the "').concat(e,'" edge (').concat(i,", ").concat(r,")."));return t===i?r:i},i.hasExtremity=function(t,e){e=""+e;var n=this._edges.get(t=""+t);if(!n)throw new j('Graph.hasExtremity: could not find the "'.concat(t,'" edge in the graph.'));return n.source.key===e||n.target.key===e},i.isUndirected=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isUndirected: could not find the "'.concat(t,'" edge in the graph.'));return e.undirected},i.isDirected=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isDirected: could not find the "'.concat(t,'" edge in the graph.'));return!e.undirected},i.isSelfLoop=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isSelfLoop: could not find the "'.concat(t,'" edge in the graph.'));return e.source===e.target},i.hasGeneratedKey=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.hasGeneratedKey: could not find the "'.concat(t,'" edge in the graph.'));return e.generatedKey},i.addNode=function(t,e){return function(t,e,n){if(n&&!h(n))throw new L('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(n,'"'));if(n=n||{},t._nodes.has(e=""+e))throw new F('Graph.addNode: the "'.concat(e,'" node already exist in the graph.'));var i=new t.NodeDataClass(e,n);return t._nodes.set(e,i),t.emit("nodeAdded",{key:e,attributes:n}),i}(this,t,e).key},i.mergeNode=function(t,e){if(e&&!h(e))throw new L('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(e,'"'));e=e||{};var n=this._nodes.get(t=""+t);return n?(e&&(l(n.attributes,e),this.emit("nodeAttributesUpdated",{type:"merge",key:t,attributes:n.attributes,data:e})),t):(n=new this.NodeDataClass(t,e),this._nodes.set(t,n),this.emit("nodeAdded",{key:t,attributes:e}),t)},i.updateNode=function(t,e){if(e&&"function"!=typeof e)throw new L('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(e,'"'));var n=this._nodes.get(t=""+t);if(n)return e&&(n.attributes=e(n.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:t,attributes:n.attributes})),t;var i=e?e({}):{};return n=new this.NodeDataClass(t,i),this._nodes.set(t,n),this.emit("nodeAdded",{key:t,attributes:i}),t},i.dropNode=function(t){var e=this,n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.dropNode: could not find the "'.concat(t,'" node in the graph.'));this.forEachEdge(t,function(t){e.dropEdge(t)}),this._nodes.delete(t),this.emit("nodeDropped",{key:t,attributes:n.attributes})},i.dropEdge=function(t){var e;if(arguments.length>1){var n=""+arguments[0],i=""+arguments[1];if(!(e=c(this,n,i,this.type)))throw new j('Graph.dropEdge: could not find the "'.concat(n,'" -> "').concat(i,'" edge in the graph.'))}else if(!(e=this._edges.get(t=""+t)))throw new j('Graph.dropEdge: could not find the "'.concat(t,'" edge in the graph.'));this._edges.delete(e.key);var r=e.source,s=e.target,o=e.attributes,a=e.undirected;return r===s?a?(r.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(r.directedSelfLoops--,this._directedSelfLoopCount--):a?(r.undirectedDegree--,s.undirectedDegree--):(r.outDegree--,s.inDegree--),$(this,a,e),a?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:t,attributes:o,source:r.key,target:s.key,undirected:a}),this},i.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},i.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},i.getAttribute=function(t){return this._attributes[t]},i.getAttributes=function(){return this._attributes},i.hasAttribute=function(t){return this._attributes.hasOwnProperty(t)},i.setAttribute=function(t,e){return this._attributes[t]=e,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this},i.updateAttribute=function(t,e){if("function"!=typeof e)throw new L("Graph.updateAttribute: updater should be a function.");return this._attributes[t]=e(this._attributes[t]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this},i.removeAttribute=function(t){return delete this._attributes[t],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:t}),this},i.replaceAttributes=function(t){if(!h(t))throw new L("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=t,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},i.mergeAttributes=function(t){if(!h(t))throw new L("Graph.mergeAttributes: provided attributes are not a plain object.");return l(this._attributes,t),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:t}),this},i.getNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.getNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return n.attributes[e]},i.getNodeAttributes=function(t){var e=this._nodes.get(t=""+t);if(!e)throw new j('Graph.getNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));return e.attributes},i.hasNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return n.attributes.hasOwnProperty(e)},i.setNodeAttribute=function(t,e,n){var i=this._nodes.get(t=""+t);if(!i)throw new j('Graph.setNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return i.attributes[e]=n,this.emit("nodeAttributesUpdated",{key:t,type:"set",attributes:i.attributes,name:e}),this},i.updateNodeAttribute=function(t,e,n){var i=this._nodes.get(t=""+t);if(!i)throw new j('Graph.updateNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof n)throw new L("Graph.updateAttribute: updater should be a function.");var r=i.attributes,s=n(r[e]);return r[e]=s,this.emit("nodeAttributesUpdated",{key:t,type:"set",attributes:i.attributes,name:e}),this},i.removeNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return delete n.attributes[e],this.emit("nodeAttributesUpdated",{key:t,type:"remove",attributes:n.attributes,name:e}),this},i.replaceNodeAttributes=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.replaceNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));if(!h(e))throw new L("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return n.attributes=e,this.emit("nodeAttributesUpdated",{key:t,type:"replace",attributes:n.attributes}),this},i.mergeNodeAttributes=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.mergeNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));if(!h(e))throw new L("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return l(n.attributes,e),this.emit("nodeAttributesUpdated",{key:t,type:"merge",attributes:n.attributes,data:e}),this},i.updateEachNodeAttributes=function(t,e){if("function"!=typeof t)throw new L("Graph.updateEachNodeAttributes: expecting an updater function.");if(e&&!g(e))throw new L("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._nodes.values();!0!==(n=r.next()).done;)(i=n.value).attributes=t(i.key,i.attributes);this.emit("eachNodeAttributesUpdated",{hints:e||null})},i.updateEachEdgeAttributes=function(t,e){if("function"!=typeof t)throw new L("Graph.updateEachEdgeAttributes: expecting an updater function.");if(e&&!g(e))throw new L("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._edges.values();!0!==(n=r.next()).done;)(i=n.value).attributes=t(i.key,i.attributes);this.emit("eachEdgeAttributesUpdated",{hints:e||null})},i.forEach=function(t){if("function"!=typeof t)throw new L("Graph.forEach: expecting a callback.");this.multi?It(!1,this,t):Mt(!1,this,t)},i.forEachUntil=function(t){if("function"!=typeof t)throw new L("Graph.forEach: expecting a callback.");this.multi?It(!0,this,t):Mt(!0,this,t)},i.adjacency=function(){return this.multi?(p=(l=this)._nodes.values(),f=l.type,g="outer",m=null,new D(function t(){var e;if("outer"===g)return!0===(e=p.next()).done?e:(c=e.value,g="directed",t());if("directed"===g)return"undirected"===f?(g="undirected",t()):(h=c.out,u=Object.keys(c.out),d=0,g="inner-directed",t());if("undirected"===g){if("directed"===f)return g="outer",t();h=c.undirected,u=Object.keys(c.undirected),d=0,g="inner-undirected"}if(!m&&d>=u.length)return g="inner-undirected"===g?"outer":"undirected",t();if(!m){var n=u[d++];return m=h[n].values(),t()}if((e=m.next()).done)return m=null,t();var i=e.value,r=i.target;return"inner-undirected"===g&&r.key===c.key&&(r=i.source),{done:!1,value:[c.key,r.key,c.attributes,r.attributes,i.key,i.attributes]}})):(s=(t=this)._nodes.values(),o=t.type,a="outer",new D(function t(){var l;if("outer"===a)return!0===(l=s.next()).done?l:(e=l.value,a="directed",t());if("directed"===a)return"undirected"===o?(a="undirected",t()):(i=e.out,n=Object.keys(e.out),r=0,a="inner-directed",t());if("undirected"===a){if("directed"===o)return a="outer",t();i=e.undirected,n=Object.keys(e.undirected),r=0,a="inner-undirected"}if(r>=n.length)return a="inner-undirected"===a?"outer":"undirected",t();var c=n[r++],u=i[c],h=u.target;return"inner-undirected"===a&&h.key===e.key&&(h=u.source),{done:!1,value:[e.key,h.key,e.attributes,h.attributes,u.key,u.attributes]}}));var t,e,n,i,r,s,o,a,l,c,u,h,d,p,f,g,m},i.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):R(this._nodes.keys(),this._nodes.size)},i.forEachNode=function(t){if("function"!=typeof t)throw new L("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(e,n){t(n,e.attributes)})},i.forEachNodeUntil=function(t){if("function"!=typeof t)throw new L("Graph.forEachNode: expecting a callback.");for(var e,n,i=this._nodes.values();!0!==(e=i.next())&&!t((n=e.value).key,n.attributes););},i.nodeEntries=function(){var t=this._nodes.values();return new D(function(){var e=t.next();if(e.done)return e;var n=e.value;return{value:[n.key,n.attributes],done:!1}})},i.exportNode=function(t){var e=this._nodes.get(t=""+t);if(!e)throw new j('Graph.exportNode: could not find the "'.concat(t,'" node in the graph.'));return Dt(t,e)},i.exportEdge=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.exportEdge: could not find the "'.concat(t,'" edge in the graph.'));return Rt(t,e)},i.export=function(){var t=new Array(this._nodes.size),e=0;this._nodes.forEach(function(n,i){t[e++]=Dt(i,n)});var n=new Array(this._edges.size);return e=0,this._edges.forEach(function(t,i){n[e++]=Rt(i,t)}),{attributes:this.getAttributes(),nodes:t,edges:n,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},i.importNode=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Nt(t);if(n){if("not-object"===n)throw new L('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===n)throw new L("Graph.importNode: no key provided.");if("invalid-attributes"===n)throw new L("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var i=t.key,r=t.attributes,s=void 0===r?{}:r;return e?this.mergeNode(i,s):this.addNode(i,s),this},i.importEdge=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Lt(t);if(n){if("not-object"===n)throw new L('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===n)throw new L("Graph.importEdge: missing souce.");if("no-target"===n)throw new L("Graph.importEdge: missing target.");if("invalid-attributes"===n)throw new L("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===n)throw new L("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var i=t.source,r=t.target,s=t.attributes,o=void 0===s?{}:s,a=t.undirected,l=void 0!==a&&a;return"key"in t?(e?l?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:l?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,t.key,i,r,o):(e?l?this.mergeUndirectedEdge:this.mergeDirectedEdge:l?this.addUndirectedEdge:this.addDirectedEdge).call(this,i,r,o),this},i.import=function(t){var e,n,i,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(u(t))return this.import(t.export(),r),this;if(!h(t))throw new L("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(t.attributes){if(!h(t.attributes))throw new L("Graph.import: invalid attributes. Expecting a plain object.");r?this.mergeAttributes(t.attributes):this.replaceAttributes(t.attributes)}if(t.nodes){if(i=t.nodes,!Array.isArray(i))throw new L("Graph.import: invalid nodes. Expecting an array.");for(e=0,n=i.length;en)){var o=new Set;o.add(e.undirected[s]),e.undirected[s]=o,t._nodes.get(s).undirected[n]=o}})),this;var t},i.clearIndex=function(){return this._nodes.forEach(function(t){void 0!==t.in&&(t.in={},t.out={}),void 0!==t.undirected&&(t.undirected={})}),this},i.toJSON=function(){return this.export()},i.toString=function(){return"[object Graph]"},i.inspect=function(){var t=this,e={};this._nodes.forEach(function(t,n){e[n]=t.attributes});var n={},i={};this._edges.forEach(function(e,r){var s=e.undirected?"--":"->",o="",a="(".concat(e.source.key,")").concat(s,"(").concat(e.target.key,")");e.generatedKey?t.multi&&(void 0===i[a]?i[a]=0:i[a]++,o+="".concat(i[a],". ")):o+="[".concat(r,"]: "),n[o+=a]=e.attributes});var r={};for(var s in this)this.hasOwnProperty(s)&&!Ft.has(s)&&"function"!=typeof this[s]&&(r[s]=this[s]);return r.attributes=this._attributes,r.nodes=e,r.edges=n,p(r,"constructor",this.constructor),r},n}(b.exports.EventEmitter);"undefined"!=typeof Symbol&&($t.prototype[Symbol.for("nodejs.util.inspect.custom")]=$t.prototype.inspect),[{name:function(t){return"".concat(t,"Edge")},generateKey:!0},{name:function(t){return"".concat(t,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(t){return"".concat(t,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(t){return"".concat(t,"EdgeWithKey")}},{name:function(t){return"".concat(t,"DirectedEdgeWithKey")},type:"directed"},{name:function(t){return"".concat(t,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(t){["add","merge","update"].forEach(function(e){var n=t.name(e),i="add"===e?zt:Ut;$t.prototype[n]=t.generateKey?function(r,s,o){return i(this,n,!0,"undirected"===(t.type||this.type),null,r,s,o,"update"===e)}:function(r,s,o,a){return i(this,n,!1,"undirected"===(t.type||this.type),r,s,o,a,"update"===e)}})}),"undefined"!=typeof Symbol&&($t.prototype[Symbol.iterator]=$t.prototype.adjacency),Ht=$t,G.forEach(function(t){var e=t.name,n=t.attacher;n(Ht,e("Edge"),"mixed"),n(Ht,e("DirectedEdge"),"directed"),n(Ht,e("UndirectedEdge"),"undirected")}),function(t){X.forEach(function(e){var n,i,r,s;r=(n=e).type,s=n.direction,t.prototype[i=n.name]=function(t,e){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(!arguments.length)return ct(this,r);if(1===arguments.length){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));return pt(this.multi,"mixed"===r?this.type:r,s,n)}if(2===arguments.length){e=""+e;var o=this._nodes.get(t=""+t);if(!o)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(i,': could not find the "').concat(e,'" target node in the graph.'));return bt(r,this.multi,s,o,e)}throw new L("Graph.".concat(i,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(t,e,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return ut(this,i,n=t);if(2===arguments.length){n=e;var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));return ft(this.multi,"mixed"===i?this.type:i,r,o,n)}if(3===arguments.length){e=""+e;var a=this._nodes.get(t=""+t);if(!a)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(s,': could not find the "').concat(e,'" target node in the graph.'));return yt(i,this.multi,r,a,e,n)}throw new L("Graph.".concat(s,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(t,e),function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";t.prototype[s]=function(t,e,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return ht(this,i,n=t);if(2===arguments.length){n=e;var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));return gt(this.multi,"mixed"===i?this.type:i,r,o,n)}if(3===arguments.length){e=""+e;var a=this._nodes.get(t=""+t);if(!a)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(s,': could not find the "').concat(e,'" target node in the graph.'));return vt(i,this.multi,r,a,e,n)}throw new L("Graph.".concat(s,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(t,e),function(t,e){var n=e.type,i=e.direction,r=e.name.slice(0,-1)+"Entries";t.prototype[r]=function(t,e){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return D.empty();if(!arguments.length)return dt(this,n);if(1===arguments.length){var s=this._nodes.get(t=""+t);if(!s)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" node in the graph.'));return mt(n,i,s)}if(2===arguments.length){e=""+e;var o=this._nodes.get(t=""+t);if(!o)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(r,': could not find the "').concat(e,'" target node in the graph.'));return _t(n,i,o,e)}throw new L("Graph.".concat(r,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(t,e)})}($t),function(t){wt.forEach(function(e){var n,i,r,s;r=(n=e).type,s=n.direction,t.prototype[i=n.name]=function(t){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(2===arguments.length){var e=""+arguments[0],n=""+arguments[1];if(!this._nodes.has(e))throw new j("Graph.".concat(i,': could not find the "').concat(e,'" node in the graph.'));if(!this._nodes.has(n))throw new j("Graph.".concat(i,': could not find the "').concat(n,'" node in the graph.'));return At(this,r,s,e,n)}if(1===arguments.length){var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));return St("mixed"===r?this.type:r,s,o)}throw new L("Graph.".concat(i,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(t,e){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));!function(t,e,n,i){if("mixed"!==t){if("undirected"===t)return Ct(n,n.undirected,i);if("string"==typeof e)return Ct(n,n[e],i)}var r=new Set;"undirected"!==t&&("out"!==e&&Et(r,n,n.in,i),"in"!==e&&Et(r,n,n.out,i)),"directed"!==t&&Et(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,e)}}}(t,e),function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";t.prototype[s]=function(t,e){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));!function(t,e,n,i){if("mixed"!==t){if("undirected"===t)return Ot(n,n.undirected,i);if("string"==typeof e)return Ot(n,n[e],i)}var r=new Set;"undirected"!==t&&("out"!==e&&Tt(r,n,n.in,i)||"in"!==e&&Tt(r,n,n.out,i))||"directed"===t||Tt(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,e)}}}(t,e),function(t,e){var n=e.type,i=e.direction,r=e.name.slice(0,-1)+"Entries";t.prototype[r]=function(t){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return D.empty();var e=this._nodes.get(t=""+t);if(void 0===e)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" node in the graph.'));return function(t,e,n){if("mixed"!==t){if("undirected"===t)return kt(n,n.undirected);if("string"==typeof e)return kt(n,n[e])}var i=D.empty(),r=new Set;return"undirected"!==t&&("out"!==e&&(i=q(i,Pt(r,n,n.in))),"in"!==e&&(i=q(i,Pt(r,n,n.out)))),"directed"!==t&&(i=q(i,Pt(r,n,n.undirected))),i}("mixed"===n?this.type:n,i,e)}}(t,e)})}($t);var Gt=function(t){function n(e){var n=l({type:"directed"},e);if("multi"in n&&!1!==n.multi)throw new L("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==n.type)throw new L('DirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),Wt=function(t){function n(e){var n=l({type:"undirected"},e);if("multi"in n&&!1!==n.multi)throw new L("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==n.type)throw new L('UndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),qt=function(t){function n(e){var n=l({multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return t.call(this,n)||this}return e(n,t),n}($t),Xt=function(t){function n(e){var n=l({type:"directed",multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==n.type)throw new L('MultiDirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),Yt=function(t){function n(e){var n=l({type:"undirected",multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==n.type)throw new L('MultiUndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t);function Kt(t){t.from=function(e,n){var i=l({},e.options,n),r=new t(i);return r.import(e),r}}return Kt($t),Kt(Gt),Kt(Wt),Kt(qt),Kt(Xt),Kt(Yt),$t.Graph=$t,$t.DirectedGraph=Gt,$t.UndirectedGraph=Wt,$t.MultiGraph=qt,$t.MultiDirectedGraph=Xt,$t.MultiUndirectedGraph=Yt,$t.InvalidArgumentsGraphError=L,$t.NotFoundGraphError=j,$t.UsageGraphError=F,$t}()},11524:function(t,e,n){var i;!function(r,s,o,a){"use strict";var l,c=["","webkit","Moz","MS","ms","o"],u=s.createElement("div"),h=Math.round,d=Math.abs,p=Date.now;function f(t,e,n){return setTimeout(w(t,n),e)}function g(t,e,n){return!!Array.isArray(t)&&(m(t,n[e],n),!0)}function m(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==a)for(i=0;i\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=r.console&&(r.console.warn||r.console.log);return s&&s.call(r.console,i,n),t.apply(this,arguments)}}l="function"!=typeof Object.assign?function(t){if(t===a||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n-1}function k(t){return t.trim().split(/\s+/g)}function P(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;in[e]}):i.sort()),i}function I(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),s=0;s1&&!n.firstMultiple?n.firstMultiple=$(e):1===r&&(n.firstMultiple=!1);var s=n.firstInput,o=n.firstMultiple,l=o?o.center:s.center,c=e.center=G(i);e.timeStamp=p(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=Y(l,c),e.distance=X(l,c),function(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};(1===e.eventType||4===s.eventType)&&(r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}(n,e),e.offsetDirection=q(e.deltaX,e.deltaY);var u=W(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=d(u.x)>d(u.y)?u.x:u.y,e.scale=o?function(t,e){return X(e[0],e[1],z)/X(t[0],t[1],z)}(o.pointers,i):1,e.rotation=o?function(t,e){return Y(e[1],e[0],z)+Y(t[1],t[0],z)}(o.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,i,r,s,o=t.lastInterval||e,l=e.timeStamp-o.timeStamp;if(8!=e.eventType&&(l>25||o.velocity===a)){var c=e.deltaX-o.deltaX,u=e.deltaY-o.deltaY,h=W(l,c,u);i=h.x,r=h.y,n=d(h.x)>d(h.y)?h.x:h.y,s=q(c,u),t.lastInterval=e}else n=o.velocity,i=o.velocityX,r=o.velocityY,s=o.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=s}(n,e);var h=t.element;O(e.srcEvent.target,h)&&(h=e.srcEvent.target),e.target=h}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function $(t){for(var e=[],n=0;n=d(e)?t<0?2:4:e<0?8:16}function X(t,e,n){n||(n=V);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function Y(t,e,n){return n||(n=V),180*Math.atan2(e[n[1]]-t[n[1]],e[n[0]]-t[n[0]])/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&C(this.element,this.evEl,this.domHandler),this.evTarget&&C(this.target,this.evTarget,this.domHandler),this.evWin&&C(R(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(R(this.element),this.evWin,this.domHandler)}};var K={mousedown:1,mousemove:2,mouseup:4},Q="mousedown",Z="mousemove mouseup";function J(){this.evEl=Q,this.evWin=Z,this.pressed=!1,U.apply(this,arguments)}_(J,U,{handler:function(t){var e=K[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:B,srcEvent:t}))}});var tt={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},et={2:F,3:"pen",4:B,5:"kinect"},nt="pointerdown",it="pointermove pointerup pointercancel";function rt(){this.evEl=nt,this.evWin=it,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(nt="MSPointerDown",it="MSPointerMove MSPointerUp MSPointerCancel"),_(rt,U,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace("ms",""),r=tt[i],s=et[t.pointerType]||t.pointerType,o=s==F,a=P(e,t.pointerId,"pointerId");1&r&&(0===t.button||o)?a<0&&(e.push(t),a=e.length-1):12&r&&(n=!0),!(a<0)&&(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),n&&e.splice(a,1))}});var st={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ot="touchstart",at="touchstart touchmove touchend touchcancel";function lt(){this.evTarget=ot,this.evWin=at,this.started=!1,U.apply(this,arguments)}function ct(t,e){var n=A(t.touches),i=A(t.changedTouches);return 12&e&&(n=M(n.concat(i),"identifier",!0)),[n,i]}_(lt,U,{handler:function(t){var e=st[t.type];if(1===e&&(this.started=!0),this.started){var n=ct.call(this,t,e);12&e&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:F,srcEvent:t})}}});var ut={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ht="touchstart touchmove touchend touchcancel";function dt(){this.evTarget=ht,this.targetIds={},U.apply(this,arguments)}function pt(t,e){var n=A(t.touches),i=this.targetIds;if(3&e&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,s,o=A(t.changedTouches),a=[],l=this.target;if(s=n.filter(function(t){return O(t.target,l)}),1===e)for(r=0;r-1&&i.splice(t,1)},2500)}}function bt(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function i(n){e.manager.emit(n,t)}n<8&&i(e.options.event+kt(n)),i(e.options.event),t.additionalEvent&&i(t.additionalEvent),n>=8&&i(e.options.event+kt(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return Mt.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Pt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),_(Dt,Mt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){1!==t.scale&&(t.additionalEvent=this.options.event+(t.scale<1?"in":"out")),this._super.emit.call(this,t)}}),_(Rt,Tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distancee.time;if(this._input=t,!i||!n||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=f(function(){this.state=8,this.tryEmit()},e.time,this);else if(4&t.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=p(),this.manager.emit(this.options.event,this._input)))}}),_(Nt,Mt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),_(Lt,Mt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return It.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return 30&n?e=t.overallVelocity:6&n?e=t.overallVelocityX:24&n&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&d(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=Pt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),_(jt,Tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[wt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance"']/g,W=RegExp($.source),q=RegExp(G.source),X=/<%-([\s\S]+?)%>/g,Y=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Z=/^\w*$/,J=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,tt=/[\\^$.*+?()[\]{}|]/g,et=RegExp(tt.source),nt=/^\s+/,it=/\s/,rt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,st=/\{\n\/\* \[wrapped with (.+)\] \*/,ot=/,? & /,at=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,lt=/[()=,{}\[\]\/\s]/,ct=/\\(\\)?/g,ut=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ht=/\w*$/,dt=/^[-+]0x[0-9a-f]+$/i,pt=/^0b[01]+$/i,ft=/^\[object .+?Constructor\]$/,gt=/^0o[0-7]+$/i,mt=/^(?:0|[1-9]\d*)$/,bt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,yt=/($^)/,vt=/['\n\r\u2028\u2029\\]/g,_t="\\ud800-\\udfff",wt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",xt="\\u2700-\\u27bf",St="a-z\\xdf-\\xf6\\xf8-\\xff",Ct="A-Z\\xc0-\\xd6\\xd8-\\xde",Et="\\ufe0e\\ufe0f",Ot="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Tt="["+_t+"]",kt="["+Ot+"]",Pt="["+wt+"]",At="\\d+",Mt="["+xt+"]",It="["+St+"]",Dt="[^"+_t+Ot+At+xt+St+Ct+"]",Rt="\\ud83c[\\udffb-\\udfff]",Nt="[^"+_t+"]",Lt="(?:\\ud83c[\\udde6-\\uddff]){2}",jt="[\\ud800-\\udbff][\\udc00-\\udfff]",Ft="["+Ct+"]",Bt="(?:"+It+"|"+Dt+")",Vt="(?:"+Ft+"|"+Dt+")",zt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ut="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Ht="(?:"+Pt+"|"+Rt+")?",$t="["+Et+"]?",Gt=$t+Ht+"(?:\\u200d(?:"+[Nt,Lt,jt].join("|")+")"+$t+Ht+")*",Wt="(?:"+[Mt,Lt,jt].join("|")+")"+Gt,qt="(?:"+[Nt+Pt+"?",Pt,Lt,jt,Tt].join("|")+")",Xt=RegExp("['\u2019]","g"),Yt=RegExp(Pt,"g"),Kt=RegExp(Rt+"(?="+Rt+")|"+qt+Gt,"g"),Qt=RegExp([Ft+"?"+It+"+"+zt+"(?="+[kt,Ft,"$"].join("|")+")",Vt+"+"+Ut+"(?="+[kt,Ft+Bt,"$"].join("|")+")",Ft+"?"+Bt+"+"+zt,Ft+"+"+Ut,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",At,Wt].join("|"),"g"),Zt=RegExp("[\\u200d"+_t+wt+Et+"]"),Jt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,te=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ee=-1,ne={};ne[I]=ne[D]=ne[R]=ne[N]=ne[L]=ne[j]=ne[F]=ne[B]=ne[V]=!0,ne[f]=ne[g]=ne[A]=ne[m]=ne[M]=ne[b]=ne[y]=ne[v]=ne[w]=ne[x]=ne[S]=ne[E]=ne[O]=ne[T]=ne[P]=!1;var ie={};ie[f]=ie[g]=ie[A]=ie[M]=ie[m]=ie[b]=ie[I]=ie[D]=ie[R]=ie[N]=ie[L]=ie[w]=ie[x]=ie[S]=ie[E]=ie[O]=ie[T]=ie[k]=ie[j]=ie[F]=ie[B]=ie[V]=!0,ie[y]=ie[v]=ie[P]=!1;var re={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},se=parseFloat,oe=parseInt,ae="object"==typeof global&&global&&global.Object===Object&&global,le="object"==typeof self&&self&&self.Object===Object&&self,ce=ae||le||Function("return this")(),ue=e&&!e.nodeType&&e,he=ue&&t&&!t.nodeType&&t,de=he&&he.exports===ue,pe=de&&ae.process,fe=function(){try{return he&&he.require&&he.require("util").types||pe&&pe.binding&&pe.binding("util")}catch(t){}}(),ge=fe&&fe.isArrayBuffer,me=fe&&fe.isDate,be=fe&&fe.isMap,ye=fe&&fe.isRegExp,ve=fe&&fe.isSet,_e=fe&&fe.isTypedArray;function we(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function xe(t,e,n,i){for(var r=-1,s=null==t?0:t.length;++r-1}function ke(t,e,n){for(var i=-1,r=null==t?0:t.length;++i-1;);return n}function Qe(t,e){for(var n=t.length;n--&&je(e,t[n],0)>-1;);return n}function Ze(t,e){for(var n=t.length,i=0;n--;)t[n]===e&&++i;return i}var Je=Ue({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),tn=Ue({"&":"&","<":"<",">":">",'"':""","'":"'"});function en(t){return"\\"+re[t]}function nn(t){return Zt.test(t)}function rn(t){var e=-1,n=Array(t.size);return t.forEach(function(t,i){n[++e]=[i,t]}),n}function sn(t,e){return function(n){return t(e(n))}}function on(t,e){for(var n=-1,i=t.length,r=0,s=[];++n",""":'"',"'":"'"}),dn=function t(e){var n,i=(e=null==e?ce:dn.defaults(ce.Object(),e,dn.pick(ce,te))).Array,it=e.Date,_t=e.Error,wt=e.Function,xt=e.Math,St=e.Object,Ct=e.RegExp,Et=e.String,Ot=e.TypeError,Tt=i.prototype,kt=St.prototype,Pt=e["__core-js_shared__"],At=wt.prototype.toString,Mt=kt.hasOwnProperty,It=0,Dt=(n=/[^.]+$/.exec(Pt&&Pt.keys&&Pt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Rt=kt.toString,Nt=At.call(St),Lt=ce._,jt=Ct("^"+At.call(Mt).replace(tt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ft=de?e.Buffer:r,Bt=e.Symbol,Vt=e.Uint8Array,zt=Ft?Ft.allocUnsafe:r,Ut=sn(St.getPrototypeOf,St),Ht=St.create,$t=kt.propertyIsEnumerable,Gt=Tt.splice,Wt=Bt?Bt.isConcatSpreadable:r,qt=Bt?Bt.iterator:r,Kt=Bt?Bt.toStringTag:r,Zt=function(){try{var t=os(St,"defineProperty");return t({},"",{}),t}catch(Ms){}}(),re=e.clearTimeout!==ce.clearTimeout&&e.clearTimeout,ae=it&&it.now!==ce.Date.now&&it.now,le=e.setTimeout!==ce.setTimeout&&e.setTimeout,ue=xt.ceil,he=xt.floor,pe=St.getOwnPropertySymbols,fe=Ft?Ft.isBuffer:r,Re=e.isFinite,Ue=Tt.join,pn=sn(St.keys,St),fn=xt.max,gn=xt.min,mn=it.now,bn=e.parseInt,yn=xt.random,vn=Tt.reverse,_n=os(e,"DataView"),wn=os(e,"Map"),xn=os(e,"Promise"),Sn=os(e,"Set"),Cn=os(e,"WeakMap"),En=os(St,"create"),On=Cn&&new Cn,Tn={},kn=Ns(_n),Pn=Ns(wn),An=Ns(xn),Mn=Ns(Sn),In=Ns(Cn),Dn=Bt?Bt.prototype:r,Rn=Dn?Dn.valueOf:r,Nn=Dn?Dn.toString:r;function Ln(t){if(Jo(t)&&!Uo(t)&&!(t instanceof Vn)){if(t instanceof Bn)return t;if(Mt.call(t,"__wrapped__"))return Ls(t)}return new Bn(t)}var jn=function(){function t(){}return function(e){if(!Zo(e))return{};if(Ht)return Ht(e);t.prototype=e;var n=new t;return t.prototype=r,n}}();function Fn(){}function Bn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=r}function Vn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function ri(t,e,n,i,s,o){var a,l=1&e,c=2&e,u=4&e;if(n&&(a=s?n(t,i,s,o):n(t)),a!==r)return a;if(!Zo(t))return t;var h=Uo(t);if(h){if(a=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Mt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!l)return Cr(t,a)}else{var d=cs(t),p=d==v||d==_;if(Wo(t))return yr(t,l);if(d==S||d==f||p&&!s){if(a=c||p?{}:hs(t),!l)return c?function(t,e){return Er(t,ls(t),e)}(t,function(t,e){return t&&Er(e,Aa(e),t)}(a,t)):function(t,e){return Er(t,as(t),e)}(t,ti(a,t))}else{if(!ie[d])return s?t:{};a=function(t,e,n){var i=t.constructor;switch(e){case A:return vr(t);case m:case b:return new i(+t);case M:return function(t,e){var n=e?vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case I:case D:case R:case N:case L:case j:case F:case B:case V:return _r(t,n);case w:return new i;case x:case T:return new i(t);case E:return function(t){var e=new t.constructor(t.source,ht.exec(t));return e.lastIndex=t.lastIndex,e}(t);case O:return new i;case k:return function(t){return Rn?St(Rn.call(t)):{}}(t)}}(t,d,l)}}o||(o=new Gn);var g=o.get(t);if(g)return g;o.set(t,a),ra(t)?t.forEach(function(i){a.add(ri(i,e,n,i,t,o))}):ta(t)&&t.forEach(function(i,r){a.set(r,ri(i,e,n,r,t,o))});var y=h?r:(u?c?Jr:Zr:c?Aa:Pa)(t);return Se(y||t,function(i,r){y&&(i=t[r=i]),Qn(a,r,ri(i,e,n,r,t,o))}),a}function si(t,e,n){var i=n.length;if(null==t)return!i;for(t=St(t);i--;){var s=n[i],o=t[s];if(o===r&&!(s in t)||!(0,e[s])(o))return!1}return!0}function oi(t,e,n){if("function"!=typeof t)throw new Ot(s);return Os(function(){t.apply(r,n)},e)}function ai(t,e,n,i){var r=-1,s=Te,o=!0,a=t.length,l=[],c=e.length;if(!a)return l;n&&(e=Pe(e,qe(n))),i?(s=ke,o=!1):e.length>=200&&(s=Ye,o=!1,e=new $n(e));t:for(;++r-1},Un.prototype.set=function(t,e){var n=this.__data__,i=Zn(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this},Hn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(wn||Un),string:new zn}},Hn.prototype.delete=function(t){var e=rs(this,t).delete(t);return this.size-=e?1:0,e},Hn.prototype.get=function(t){return rs(this,t).get(t)},Hn.prototype.has=function(t){return rs(this,t).has(t)},Hn.prototype.set=function(t,e){var n=rs(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this},$n.prototype.add=$n.prototype.push=function(t){return this.__data__.set(t,o),this},$n.prototype.has=function(t){return this.__data__.has(t)},Gn.prototype.clear=function(){this.__data__=new Un,this.size=0},Gn.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Gn.prototype.get=function(t){return this.__data__.get(t)},Gn.prototype.has=function(t){return this.__data__.has(t)},Gn.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Un){var i=n.__data__;if(!wn||i.length<199)return i.push([t,e]),this.size=++n.size,this;n=this.__data__=new Hn(i)}return n.set(t,e),this.size=n.size,this};var li=kr(mi),ci=kr(bi,!0);function ui(t,e){var n=!0;return li(t,function(t,i,r){return n=!!e(t,i,r)}),n}function hi(t,e,n){for(var i=-1,s=t.length;++i0&&n(a)?e>1?pi(a,e-1,n,i,r):Ae(r,a):i||(r[r.length]=a)}return r}var fi=Pr(),gi=Pr(!0);function mi(t,e){return t&&fi(t,e,Pa)}function bi(t,e){return t&&gi(t,e,Pa)}function yi(t,e){return Oe(e,function(e){return Yo(t[e])})}function vi(t,e){for(var n=0,i=(e=fr(e,t)).length;null!=t&&ne}function Si(t,e){return null!=t&&Mt.call(t,e)}function Ci(t,e){return null!=t&&e in St(t)}function Ei(t,e,n){for(var s=n?ke:Te,o=t[0].length,a=t.length,l=a,c=i(a),u=1/0,h=[];l--;){var d=t[l];l&&e&&(d=Pe(d,qe(e))),u=gn(d.length,u),c[l]=!n&&(e||o>=120&&d.length>=120)?new $n(l&&d):r}d=t[0];var p=-1,f=c[0];t:for(;++p=a?l:l*("desc"==n[i]?-1:1)}return t.index-e.index}(t,e,n)});i--;)t[i]=t[i].value;return t}(Ri(t,function(t,n,r){return{criteria:Pe(e,function(e){return e(t)}),index:++i,value:t}}))}function Vi(t,e,n){for(var i=-1,r=e.length,s={};++i-1;)a!==t&&Gt.call(a,l,1),Gt.call(t,l,1);return t}function Ui(t,e){for(var n=t?e.length:0,i=n-1;n--;){var r=e[n];if(n==i||r!==s){var s=r;ps(r)?Gt.call(t,r,1):or(t,r)}}return t}function Hi(t,e){return t+he(yn()*(e-t+1))}function $i(t,e){var n="";if(!t||e<1||e>h)return n;do{e%2&&(n+=t),(e=he(e/2))&&(t+=t)}while(e);return n}function Gi(t,e){return Ts(ws(t,e,el),t+"")}function Wi(t){return qn(Fa(t))}function qi(t,e){var n=Fa(t);return As(n,ii(e,0,n.length))}function Xi(t,e,n,i){if(!Zo(t))return t;for(var s=-1,o=(e=fr(e,t)).length,a=o-1,l=t;null!=l&&++ss?0:s+e),(n=n>s?s:n)<0&&(n+=s),s=e>n?0:n-e>>>0,e>>>=0;for(var o=i(s);++r>>1,o=t[s];null!==o&&!oa(o)&&(n?o<=e:o=200){var c=e?null:$r(t);if(c)return an(c);o=!1,r=Ye,l=new $n}else l=e?[]:a;t:for(;++i=i?t:Zi(t,e,n)}var br=re||function(t){return ce.clearTimeout(t)};function yr(t,e){if(e)return t.slice();var n=t.length,i=zt?zt(n):new t.constructor(n);return t.copy(i),i}function vr(t){var e=new t.constructor(t.byteLength);return new Vt(e).set(new Vt(t)),e}function _r(t,e){var n=e?vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function wr(t,e){if(t!==e){var n=t!==r,i=null===t,s=t==t,o=oa(t),a=e!==r,l=null===e,c=e==e,u=oa(e);if(!l&&!u&&!o&&t>e||o&&a&&c&&!l&&!u||i&&a&&c||!n&&c||!s)return 1;if(!i&&!o&&!u&&t1?n[s-1]:r,a=s>2?n[2]:r;for(o=t.length>3&&"function"==typeof o?(s--,o):r,a&&fs(n[0],n[1],a)&&(o=s<3?r:o,s=1),e=St(e);++i-1?s[o?e[a]:a]:r}}function Rr(t){return Qr(function(e){var n=e.length,i=n,o=Bn.prototype.thru;for(t&&e.reverse();i--;){var a=e[i];if("function"!=typeof a)throw new Ot(s);if(o&&!l&&"wrapper"==es(a))var l=new Bn([],!0)}for(i=l?i:n;++i1&&v.reverse(),p&&hl))return!1;var u=o.get(t),h=o.get(e);if(u&&h)return u==e&&h==t;var d=-1,p=!0,f=2&n?new $n:r;for(o.set(t,e),o.set(e,t);++d-1&&t%1==0&&t1?"& ":"")+e[i],e=e.join(n>2?", ":" "),t.replace(rt,"{\n/* [wrapped with "+e+"] */\n")}(i,function(t,e){return Se(p,function(n){var i="_."+n[0];e&n[1]&&!Te(t,i)&&t.push(i)}),t.sort()}(function(t){var e=t.match(st);return e?e[1].split(ot):[]}(i),n)))}function Ps(t){var e=0,n=0;return function(){var i=mn(),s=16-(i-n);if(n=i,s>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(r,arguments)}}function As(t,e){var n=-1,i=t.length,s=i-1;for(e=e===r?i:e;++n1?t[e-1]:r;return n="function"==typeof n?(t.pop(),n):r,no(t,n)});function co(t){var e=Ln(t);return e.__chain__=!0,e}function uo(t,e){return e(t)}var ho=Qr(function(t){var e=t.length,n=e?t[0]:0,i=this.__wrapped__,s=function(e){return ni(e,t)};return!(e>1||this.__actions__.length)&&i instanceof Vn&&ps(n)?((i=i.slice(n,+n+(e?1:0))).__actions__.push({func:uo,args:[s],thisArg:r}),new Bn(i,this.__chain__).thru(function(t){return e&&!t.length&&t.push(r),t})):this.thru(s)}),po=Or(function(t,e,n){Mt.call(t,n)?++t[n]:ei(t,n,1)}),fo=Dr(Vs),go=Dr(zs);function mo(t,e){return(Uo(t)?Se:li)(t,is(e,3))}function bo(t,e){return(Uo(t)?Ce:ci)(t,is(e,3))}var yo=Or(function(t,e,n){Mt.call(t,n)?t[n].push(e):ei(t,n,[e])}),vo=Gi(function(t,e,n){var r=-1,s="function"==typeof e,o=$o(t)?i(t.length):[];return li(t,function(t){o[++r]=s?we(e,t,n):Oi(t,e,n)}),o}),_o=Or(function(t,e,n){ei(t,n,e)});function wo(t,e){return(Uo(t)?Pe:Ri)(t,is(e,3))}var xo=Or(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),So=Gi(function(t,e){if(null==t)return[];var n=e.length;return n>1&&fs(t,e[0],e[1])?e=[]:n>2&&fs(e[0],e[1],e[2])&&(e=[e[0]]),Bi(t,pi(e,1),[])}),Co=ae||function(){return ce.Date.now()};function Eo(t,e,n){return e=n?r:e,Wr(t,c,r,r,r,r,e=t&&null==e?t.length:e)}function Oo(t,e){var n;if("function"!=typeof e)throw new Ot(s);return t=da(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=r),n}}var To=Gi(function(t,e,n){var i=1;if(n.length){var r=on(n,ns(To));i|=l}return Wr(t,i,e,n,r)}),ko=Gi(function(t,e,n){var i=3;if(n.length){var r=on(n,ns(ko));i|=l}return Wr(e,i,t,n,r)});function Po(t,e,n){var i,o,a,l,c,u,h=0,d=!1,p=!1,f=!0;if("function"!=typeof t)throw new Ot(s);function g(e){var n=i,s=o;return i=o=r,h=e,l=t.apply(s,n)}function m(t){return h=t,c=Os(y,e),d?g(t):l}function b(t){var n=t-u;return u===r||n>=e||n<0||p&&t-h>=a}function y(){var t=Co();if(b(t))return v(t);c=Os(y,function(t){var n=e-(t-u);return p?gn(n,a-(t-h)):n}(t))}function v(t){return c=r,f&&i?g(t):(i=o=r,l)}function _(){var t=Co(),n=b(t);if(i=arguments,o=this,u=t,n){if(c===r)return m(u);if(p)return br(c),c=Os(y,e),g(u)}return c===r&&(c=Os(y,e)),l}return e=fa(e)||0,Zo(n)&&(d=!!n.leading,a=(p="maxWait"in n)?fn(fa(n.maxWait)||0,e):a,f="trailing"in n?!!n.trailing:f),_.cancel=function(){c!==r&&br(c),h=0,i=u=o=c=r},_.flush=function(){return c===r?l:v(Co())},_}var Ao=Gi(function(t,e){return oi(t,1,e)}),Mo=Gi(function(t,e,n){return oi(t,fa(e)||0,n)});function Io(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new Ot(s);var n=function(){var i=arguments,r=e?e.apply(this,i):i[0],s=n.cache;if(s.has(r))return s.get(r);var o=t.apply(this,i);return n.cache=s.set(r,o)||s,o};return n.cache=new(Io.Cache||Hn),n}function Do(t){if("function"!=typeof t)throw new Ot(s);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Io.Cache=Hn;var Ro=gr(function(t,e){var n=(e=1==e.length&&Uo(e[0])?Pe(e[0],qe(is())):Pe(pi(e,1),qe(is()))).length;return Gi(function(i){for(var r=-1,s=gn(i.length,n);++r=e}),zo=Ti(function(){return arguments}())?Ti:function(t){return Jo(t)&&Mt.call(t,"callee")&&!$t.call(t,"callee")},Uo=i.isArray,Ho=ge?qe(ge):function(t){return Jo(t)&&wi(t)==A};function $o(t){return null!=t&&Qo(t.length)&&!Yo(t)}function Go(t){return Jo(t)&&$o(t)}var Wo=fe||fl,qo=me?qe(me):function(t){return Jo(t)&&wi(t)==b};function Xo(t){if(!Jo(t))return!1;var e=wi(t);return e==y||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!na(t)}function Yo(t){if(!Zo(t))return!1;var e=wi(t);return e==v||e==_||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Ko(t){return"number"==typeof t&&t==da(t)}function Qo(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=h}function Zo(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Jo(t){return null!=t&&"object"==typeof t}var ta=be?qe(be):function(t){return Jo(t)&&cs(t)==w};function ea(t){return"number"==typeof t||Jo(t)&&wi(t)==x}function na(t){if(!Jo(t)||wi(t)!=S)return!1;var e=Ut(t);if(null===e)return!0;var n=Mt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&At.call(n)==Nt}var ia=ye?qe(ye):function(t){return Jo(t)&&wi(t)==E},ra=ve?qe(ve):function(t){return Jo(t)&&cs(t)==O};function sa(t){return"string"==typeof t||!Uo(t)&&Jo(t)&&wi(t)==T}function oa(t){return"symbol"==typeof t||Jo(t)&&wi(t)==k}var aa=_e?qe(_e):function(t){return Jo(t)&&Qo(t.length)&&!!ne[wi(t)]},la=zr(Di),ca=zr(function(t,e){return t<=e});function ua(t){if(!t)return[];if($o(t))return sa(t)?cn(t):Cr(t);if(qt&&t[qt])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[qt]());var e=cs(t);return(e==w?rn:e==O?an:Fa)(t)}function ha(t){return t?(t=fa(t))===u||t===-u?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function da(t){var e=ha(t),n=e%1;return e==e?n?e-n:e:0}function pa(t){return t?ii(da(t),0,d):0}function fa(t){if("number"==typeof t)return t;if(oa(t))return NaN;if(Zo(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Zo(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=We(t);var n=pt.test(t);return n||gt.test(t)?oe(t.slice(2),n?2:8):dt.test(t)?NaN:+t}function ga(t){return Er(t,Aa(t))}function ma(t){return null==t?"":rr(t)}var ba=Tr(function(t,e){if(ys(e)||$o(e))Er(e,Pa(e),t);else for(var n in e)Mt.call(e,n)&&Qn(t,n,e[n])}),ya=Tr(function(t,e){Er(e,Aa(e),t)}),va=Tr(function(t,e,n,i){Er(e,Aa(e),t,i)}),_a=Tr(function(t,e,n,i){Er(e,Pa(e),t,i)}),wa=Qr(ni),xa=Gi(function(t,e){t=St(t);var n=-1,i=e.length,s=i>2?e[2]:r;for(s&&fs(e[0],e[1],s)&&(i=1);++n1),e}),Er(t,Jr(t),n),i&&(n=ri(n,7,Yr));for(var r=e.length;r--;)or(n,e[r]);return n}),Ra=Qr(function(t,e){return null==t?{}:function(t,e){return Vi(t,e,function(e,n){return Ea(t,n)})}(t,e)});function Na(t,e){if(null==t)return{};var n=Pe(Jr(t),function(t){return[t]});return e=is(e),Vi(t,n,function(t,n){return e(t,n[0])})}var La=Gr(Pa),ja=Gr(Aa);function Fa(t){return null==t?[]:Xe(t,Pa(t))}var Ba=Mr(function(t,e,n){return e=e.toLowerCase(),t+(n?Va(e):e)});function Va(t){return Xa(ma(t).toLowerCase())}function za(t){return(t=ma(t))&&t.replace(bt,Je).replace(Yt,"")}var Ua=Mr(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Ha=Mr(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),$a=Ar("toLowerCase"),Ga=Mr(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Wa=Mr(function(t,e,n){return t+(n?" ":"")+Xa(e)}),qa=Mr(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Xa=Ar("toUpperCase");function Ya(t,e,n){return t=ma(t),(e=n?r:e)===r?function(t){return Jt.test(t)}(t)?function(t){return t.match(Qt)||[]}(t):function(t){return t.match(at)||[]}(t):t.match(e)||[]}var Ka=Gi(function(t,e){try{return we(t,r,e)}catch(Is){return Xo(Is)?Is:new _t(Is)}}),Qa=Qr(function(t,e){return Se(e,function(e){e=Rs(e),ei(t,e,To(t[e],t))}),t});function Za(t){return function(){return t}}var Ja=Rr(),tl=Rr(!0);function el(t){return t}function nl(t){return Mi("function"==typeof t?t:ri(t,1))}var il=Gi(function(t,e){return function(n){return Oi(n,t,e)}}),rl=Gi(function(t,e){return function(n){return Oi(t,n,e)}});function sl(t,e,n){var i=Pa(e),r=yi(e,i);null==n&&(!Zo(e)||!r.length&&i.length)&&(n=e,e=t,t=this,r=yi(e,Pa(e)));var s=!(Zo(n)&&"chain"in n&&!n.chain),o=Yo(t);return Se(r,function(n){var i=e[n];t[n]=i,o&&(t.prototype[n]=function(){var e=this.__chain__;if(s||e){var n=t(this.__wrapped__),r=n.__actions__=Cr(this.__actions__);return r.push({func:i,args:arguments,thisArg:t}),n.__chain__=e,n}return i.apply(t,Ae([this.value()],arguments))})}),t}function ol(){}var al=Fr(Pe),ll=Fr(Ee),cl=Fr(De);function ul(t){return gs(t)?ze(Rs(t)):function(t){return function(e){return vi(e,t)}}(t)}var hl=Vr(),dl=Vr(!0);function pl(){return[]}function fl(){return!1}var gl=jr(function(t,e){return t+e},0),ml=Hr("ceil"),bl=jr(function(t,e){return t/e},1),yl=Hr("floor"),vl=jr(function(t,e){return t*e},1),_l=Hr("round"),wl=jr(function(t,e){return t-e},0);return Ln.after=function(t,e){if("function"!=typeof e)throw new Ot(s);return t=da(t),function(){if(--t<1)return e.apply(this,arguments)}},Ln.ary=Eo,Ln.assign=ba,Ln.assignIn=ya,Ln.assignInWith=va,Ln.assignWith=_a,Ln.at=wa,Ln.before=Oo,Ln.bind=To,Ln.bindAll=Qa,Ln.bindKey=ko,Ln.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return Uo(t)?t:[t]},Ln.chain=co,Ln.chunk=function(t,e,n){e=(n?fs(t,e,n):e===r)?1:fn(da(e),0);var s=null==t?0:t.length;if(!s||e<1)return[];for(var o=0,a=0,l=i(ue(s/e));os?0:s+n),(i=i===r||i>s?s:da(i))<0&&(i+=s),i=n>i?0:pa(i);n>>0)?(t=ma(t))&&("string"==typeof e||null!=e&&!ia(e))&&!(e=rr(e))&&nn(t)?mr(cn(t),0,n):t.split(e,n):[]},Ln.spread=function(t,e){if("function"!=typeof t)throw new Ot(s);return e=null==e?0:fn(da(e),0),Gi(function(n){var i=n[e],r=mr(n,0,e);return i&&Ae(r,i),we(t,this,r)})},Ln.tail=function(t){var e=null==t?0:t.length;return e?Zi(t,1,e):[]},Ln.take=function(t,e,n){return t&&t.length?Zi(t,0,(e=n||e===r?1:da(e))<0?0:e):[]},Ln.takeRight=function(t,e,n){var i=null==t?0:t.length;return i?Zi(t,(e=i-(e=n||e===r?1:da(e)))<0?0:e,i):[]},Ln.takeRightWhile=function(t,e){return t&&t.length?lr(t,is(e,3),!1,!0):[]},Ln.takeWhile=function(t,e){return t&&t.length?lr(t,is(e,3)):[]},Ln.tap=function(t,e){return e(t),t},Ln.throttle=function(t,e,n){var i=!0,r=!0;if("function"!=typeof t)throw new Ot(s);return Zo(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),Po(t,e,{leading:i,maxWait:e,trailing:r})},Ln.thru=uo,Ln.toArray=ua,Ln.toPairs=La,Ln.toPairsIn=ja,Ln.toPath=function(t){return Uo(t)?Pe(t,Rs):oa(t)?[t]:Cr(Ds(ma(t)))},Ln.toPlainObject=ga,Ln.transform=function(t,e,n){var i=Uo(t),r=i||Wo(t)||aa(t);if(e=is(e,4),null==n){var s=t&&t.constructor;n=r?i?new s:[]:Zo(t)&&Yo(s)?jn(Ut(t)):{}}return(r?Se:mi)(t,function(t,i,r){return e(n,t,i,r)}),n},Ln.unary=function(t){return Eo(t,1)},Ln.union=Zs,Ln.unionBy=Js,Ln.unionWith=to,Ln.uniq=function(t){return t&&t.length?sr(t):[]},Ln.uniqBy=function(t,e){return t&&t.length?sr(t,is(e,2)):[]},Ln.uniqWith=function(t,e){return e="function"==typeof e?e:r,t&&t.length?sr(t,r,e):[]},Ln.unset=function(t,e){return null==t||or(t,e)},Ln.unzip=eo,Ln.unzipWith=no,Ln.update=function(t,e,n){return null==t?t:ar(t,e,pr(n))},Ln.updateWith=function(t,e,n,i){return i="function"==typeof i?i:r,null==t?t:ar(t,e,pr(n),i)},Ln.values=Fa,Ln.valuesIn=function(t){return null==t?[]:Xe(t,Aa(t))},Ln.without=io,Ln.words=Ya,Ln.wrap=function(t,e){return No(pr(e),t)},Ln.xor=ro,Ln.xorBy=so,Ln.xorWith=oo,Ln.zip=ao,Ln.zipObject=function(t,e){return hr(t||[],e||[],Qn)},Ln.zipObjectDeep=function(t,e){return hr(t||[],e||[],Xi)},Ln.zipWith=lo,Ln.entries=La,Ln.entriesIn=ja,Ln.extend=ya,Ln.extendWith=va,sl(Ln,Ln),Ln.add=gl,Ln.attempt=Ka,Ln.camelCase=Ba,Ln.capitalize=Va,Ln.ceil=ml,Ln.clamp=function(t,e,n){return n===r&&(n=e,e=r),n!==r&&(n=(n=fa(n))==n?n:0),e!==r&&(e=(e=fa(e))==e?e:0),ii(fa(t),e,n)},Ln.clone=function(t){return ri(t,4)},Ln.cloneDeep=function(t){return ri(t,5)},Ln.cloneDeepWith=function(t,e){return ri(t,5,e="function"==typeof e?e:r)},Ln.cloneWith=function(t,e){return ri(t,4,e="function"==typeof e?e:r)},Ln.conformsTo=function(t,e){return null==e||si(t,e,Pa(e))},Ln.deburr=za,Ln.defaultTo=function(t,e){return null==t||t!=t?e:t},Ln.divide=bl,Ln.endsWith=function(t,e,n){t=ma(t),e=rr(e);var i=t.length,s=n=n===r?i:ii(da(n),0,i);return(n-=e.length)>=0&&t.slice(n,s)==e},Ln.eq=Fo,Ln.escape=function(t){return(t=ma(t))&&q.test(t)?t.replace(G,tn):t},Ln.escapeRegExp=function(t){return(t=ma(t))&&et.test(t)?t.replace(tt,"\\$&"):t},Ln.every=function(t,e,n){var i=Uo(t)?Ee:ui;return n&&fs(t,e,n)&&(e=r),i(t,is(e,3))},Ln.find=fo,Ln.findIndex=Vs,Ln.findKey=function(t,e){return Ne(t,is(e,3),mi)},Ln.findLast=go,Ln.findLastIndex=zs,Ln.findLastKey=function(t,e){return Ne(t,is(e,3),bi)},Ln.floor=yl,Ln.forEach=mo,Ln.forEachRight=bo,Ln.forIn=function(t,e){return null==t?t:fi(t,is(e,3),Aa)},Ln.forInRight=function(t,e){return null==t?t:gi(t,is(e,3),Aa)},Ln.forOwn=function(t,e){return t&&mi(t,is(e,3))},Ln.forOwnRight=function(t,e){return t&&bi(t,is(e,3))},Ln.get=Ca,Ln.gt=Bo,Ln.gte=Vo,Ln.has=function(t,e){return null!=t&&us(t,e,Si)},Ln.hasIn=Ea,Ln.head=Hs,Ln.identity=el,Ln.includes=function(t,e,n,i){t=$o(t)?t:Fa(t),n=n&&!i?da(n):0;var r=t.length;return n<0&&(n=fn(r+n,0)),sa(t)?n<=r&&t.indexOf(e,n)>-1:!!r&&je(t,e,n)>-1},Ln.indexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var r=null==n?0:da(n);return r<0&&(r=fn(i+r,0)),je(t,e,r)},Ln.inRange=function(t,e,n){return e=ha(e),n===r?(n=e,e=0):n=ha(n),function(t,e,n){return t>=gn(e,n)&&t=-h&&t<=h},Ln.isSet=ra,Ln.isString=sa,Ln.isSymbol=oa,Ln.isTypedArray=aa,Ln.isUndefined=function(t){return t===r},Ln.isWeakMap=function(t){return Jo(t)&&cs(t)==P},Ln.isWeakSet=function(t){return Jo(t)&&"[object WeakSet]"==wi(t)},Ln.join=function(t,e){return null==t?"":Ue.call(t,e)},Ln.kebabCase=Ua,Ln.last=qs,Ln.lastIndexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var s=i;return n!==r&&(s=(s=da(n))<0?fn(i+s,0):gn(s,i-1)),e==e?function(t,e,n){for(var i=n+1;i--;)if(t[i]===e)return i;return i}(t,e,s):Le(t,Be,s,!0)},Ln.lowerCase=Ha,Ln.lowerFirst=$a,Ln.lt=la,Ln.lte=ca,Ln.max=function(t){return t&&t.length?hi(t,el,xi):r},Ln.maxBy=function(t,e){return t&&t.length?hi(t,is(e,2),xi):r},Ln.mean=function(t){return Ve(t,el)},Ln.meanBy=function(t,e){return Ve(t,is(e,2))},Ln.min=function(t){return t&&t.length?hi(t,el,Di):r},Ln.minBy=function(t,e){return t&&t.length?hi(t,is(e,2),Di):r},Ln.stubArray=pl,Ln.stubFalse=fl,Ln.stubObject=function(){return{}},Ln.stubString=function(){return""},Ln.stubTrue=function(){return!0},Ln.multiply=vl,Ln.nth=function(t,e){return t&&t.length?Fi(t,da(e)):r},Ln.noConflict=function(){return ce._===this&&(ce._=Lt),this},Ln.noop=ol,Ln.now=Co,Ln.pad=function(t,e,n){t=ma(t);var i=(e=da(e))?ln(t):0;if(!e||i>=e)return t;var r=(e-i)/2;return Br(he(r),n)+t+Br(ue(r),n)},Ln.padEnd=function(t,e,n){t=ma(t);var i=(e=da(e))?ln(t):0;return e&&ie){var i=t;t=e,e=i}if(n||t%1||e%1){var s=yn();return gn(t+s*(e-t+se("1e-"+((s+"").length-1))),e)}return Hi(t,e)},Ln.reduce=function(t,e,n){var i=Uo(t)?Me:He,r=arguments.length<3;return i(t,is(e,4),n,r,li)},Ln.reduceRight=function(t,e,n){var i=Uo(t)?Ie:He,r=arguments.length<3;return i(t,is(e,4),n,r,ci)},Ln.repeat=function(t,e,n){return e=(n?fs(t,e,n):e===r)?1:da(e),$i(ma(t),e)},Ln.replace=function(){var t=arguments,e=ma(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Ln.result=function(t,e,n){var i=-1,s=(e=fr(e,t)).length;for(s||(s=1,t=r);++ih)return[];var n=d,i=gn(t,d);e=is(e),t-=d;for(var r=Ge(i,e);++n=o)return t;var l=n-ln(i);if(l<1)return i;var c=a?mr(a,0,l).join(""):t.slice(0,l);if(s===r)return c+i;if(a&&(l+=c.length-l),ia(s)){if(t.slice(l).search(s)){var u,h=c;for(s.global||(s=Ct(s.source,ma(ht.exec(s))+"g")),s.lastIndex=0;u=s.exec(h);)var d=u.index;c=c.slice(0,d===r?l:d)}}else if(t.indexOf(rr(s),l)!=l){var p=c.lastIndexOf(s);p>-1&&(c=c.slice(0,p))}return c+i},Ln.unescape=function(t){return(t=ma(t))&&W.test(t)?t.replace($,hn):t},Ln.uniqueId=function(t){var e=++It;return ma(t)+e},Ln.upperCase=qa,Ln.upperFirst=Xa,Ln.each=mo,Ln.eachRight=bo,Ln.first=Hs,sl(Ln,function(){var t={};return mi(Ln,function(e,n){Mt.call(Ln.prototype,n)||(t[n]=e)}),t}(),{chain:!1}),Ln.VERSION="4.17.21",Se(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){Ln[t].placeholder=Ln}),Se(["drop","take"],function(t,e){Vn.prototype[t]=function(n){n=n===r?1:fn(da(n),0);var i=this.__filtered__&&!e?new Vn(this):this.clone();return i.__filtered__?i.__takeCount__=gn(n,i.__takeCount__):i.__views__.push({size:gn(n,d),type:t+(i.__dir__<0?"Right":"")}),i},Vn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Se(["filter","map","takeWhile"],function(t,e){var n=e+1,i=1==n||3==n;Vn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:is(t,3),type:n}),e.__filtered__=e.__filtered__||i,e}}),Se(["head","last"],function(t,e){var n="take"+(e?"Right":"");Vn.prototype[t]=function(){return this[n](1).value()[0]}}),Se(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");Vn.prototype[t]=function(){return this.__filtered__?new Vn(this):this[n](1)}}),Vn.prototype.compact=function(){return this.filter(el)},Vn.prototype.find=function(t){return this.filter(t).head()},Vn.prototype.findLast=function(t){return this.reverse().find(t)},Vn.prototype.invokeMap=Gi(function(t,e){return"function"==typeof t?new Vn(this):this.map(function(n){return Oi(n,t,e)})}),Vn.prototype.reject=function(t){return this.filter(Do(is(t)))},Vn.prototype.slice=function(t,e){t=da(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Vn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==r&&(n=(e=da(e))<0?n.dropRight(-e):n.take(e-t)),n)},Vn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Vn.prototype.toArray=function(){return this.take(d)},mi(Vn.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),s=Ln[i?"take"+("last"==e?"Right":""):e],o=i||/^find/.test(e);!s||(Ln.prototype[e]=function(){var e=this.__wrapped__,a=i?[1]:arguments,l=e instanceof Vn,c=a[0],u=l||Uo(e),h=function(t){var e=s.apply(Ln,Ae([t],a));return i&&d?e[0]:e};u&&n&&"function"==typeof c&&1!=c.length&&(l=u=!1);var d=this.__chain__,p=!!this.__actions__.length,f=o&&!d,g=l&&!p;if(!o&&u){e=g?e:new Vn(this);var m=t.apply(e,a);return m.__actions__.push({func:uo,args:[h],thisArg:r}),new Bn(m,d)}return f&&g?t.apply(this,a):(m=this.thru(h),f?i?m.value()[0]:m.value():m)})}),Se(["pop","push","shift","sort","splice","unshift"],function(t){var e=Tt[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:pop|shift)$/.test(t);Ln.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var r=this.value();return e.apply(Uo(r)?r:[],t)}return this[n](function(n){return e.apply(Uo(n)?n:[],t)})}}),mi(Vn.prototype,function(t,e){var n=Ln[e];if(n){var i=n.name+"";Mt.call(Tn,i)||(Tn[i]=[]),Tn[i].push({name:e,func:n})}}),Tn[Nr(r,2).name]=[{name:"wrapper",func:r}],Vn.prototype.clone=function(){var t=new Vn(this.__wrapped__);return t.__actions__=Cr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Cr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Cr(this.__views__),t},Vn.prototype.reverse=function(){if(this.__filtered__){var t=new Vn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Vn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=Uo(t),i=e<0,r=n?t.length:0,s=function(t,e,n){for(var i=-1,r=n.length;++i=this.__values__.length;return{done:t,value:t?r:this.__values__[this.__index__++]}},Ln.prototype.plant=function(t){for(var e,n=this;n instanceof Fn;){var i=Ls(n);i.__index__=0,i.__values__=r,e?s.__wrapped__=i:e=i;var s=i;n=n.__wrapped__}return s.__wrapped__=t,e},Ln.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Vn){var e=t;return this.__actions__.length&&(e=new Vn(this)),(e=e.reverse()).__actions__.push({func:uo,args:[Qs],thisArg:r}),new Bn(e,this.__chain__)}return this.thru(Qs)},Ln.prototype.toJSON=Ln.prototype.valueOf=Ln.prototype.value=function(){return cr(this.__wrapped__,this.__actions__)},Ln.prototype.first=Ln.prototype.head,qt&&(Ln.prototype[qt]=function(){return this}),Ln}();ce._=dn,(i=(function(){return dn}).call(e,n,e,t))!==r&&(t.exports=i)}).call(this)},5478:function(t){t.exports=function(){"use strict";function t(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,i=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i={exports:{}};function r(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}i.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:r,changeDefaults:function(t){i.exports.defaults=t}};var s=/[&<>"']/,o=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,l=/[<>"']|&(?!#?\w+;)/g,c={"&":"&","<":"<",">":">",'"':""","'":"'"},u=function(t){return c[t]};var h=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function d(t){return t.replace(h,function(t,e){return"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""})}var p=/(^|[^\[])\^/g;var f=/[^\w:]/g,g=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var m={},b=/^[^:]+:\/*[^/]*$/,y=/^([^:]+:)[\s\S]*$/,v=/^([^:]+:\/*[^/]*)[\s\S]*$/;function _(t,e){m[" "+t]||(m[" "+t]=b.test(t)?t+"/":w(t,"/",!0));var n=-1===(t=m[" "+t]).indexOf(":");return"//"===e.substring(0,2)?n?e:t.replace(y,"$1")+e:"/"===e.charAt(0)?n?e:t.replace(v,"$1")+e:t+e}function w(t,e,n){var i=t.length;if(0===i)return"";for(var r=0;r1;)1&e&&(n+=t),e>>=1,t+=t;return n+t},A=i.exports.defaults,M=w,I=function(t,e){var n=t.replace(/\|/g,function(t,e,n){for(var i=!1,r=e;--r>=0&&"\\"===n[r];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(n.length>e)n.splice(e);else for(;n.length1?{type:"space",raw:e[0]}:{raw:"\n"}},e.code=function(t){var e=this.rules.block.code.exec(t);if(e){var n=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?n:M(n,"\n")}}},e.fences=function(t){var e=this.rules.block.fences.exec(t);if(e){var n=e[0],i=function(t,e){var n=t.match(/^(\s+)(?:```)/);if(null===n)return e;var i=n[1];return e.split("\n").map(function(t){var e=t.match(/^\s+/);return null===e?t:e[0].length>=i.length?t.slice(i.length):t}).join("\n")}(n,e[3]||"");return{type:"code",raw:n,lang:e[2]?e[2].trim():e[2],text:i}}},e.heading=function(t){var e=this.rules.block.heading.exec(t);if(e){var n=e[2].trim();if(/#$/.test(n)){var i=M(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:n}}},e.nptable=function(t){var e=this.rules.block.nptable.exec(t);if(e){var n={type:"table",header:I(e[1].replace(/^ *| *\| *$/g,"")),align:e[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:e[3]?e[3].replace(/\n$/,"").split("\n"):[],raw:e[0]};if(n.header.length===n.align.length){var i,r=n.align.length;for(i=0;i ?/gm,"");return{type:"blockquote",raw:e[0],text:n}}},e.list=function(t){var e=this.rules.block.list.exec(t);if(e){var n,i,r,s,o,a,l,c,u,h=e[0],d=e[2],p=d.length>1,f={type:"list",raw:h,ordered:p,start:p?+d.slice(0,-1):"",loose:!1,items:[]},g=e[0].match(this.rules.block.item),m=!1,b=g.length;r=this.rules.block.listItemStart.exec(g[0]);for(var y=0;yr[1].length:s[1].length>=r[0].length||s[1].length>3){g.splice(y,2,g[y]+(!this.options.pedantic&&s[1].length/i.test(i[0])&&(e=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:i[0],inLink:e,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):D(i[0]):i[0]}},e.link=function(t){var e=this.rules.inline.link.exec(t);if(e){var n=e[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var i=M(n.slice(0,-1),"\\");if((n.length-i.length)%2==0)return}else{var r=R(e[2],"()");if(r>-1){var s=(0===e[0].indexOf("!")?5:4)+e[1].length+r;e[2]=e[2].substring(0,r),e[0]=e[0].substring(0,s).trim(),e[3]=""}}var o=e[2],a="";if(this.options.pedantic){var l=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);l&&(o=l[1],a=l[3])}else a=e[3]?e[3].slice(1,-1):"";return o=o.trim(),/^$/.test(n)?o.slice(1):o.slice(1,-1)),N(e,{href:o&&o.replace(this.rules.inline._escapes,"$1"),title:a&&a.replace(this.rules.inline._escapes,"$1")},e[0])}},e.reflink=function(t,e){var n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){var i=(n[2]||n[1]).replace(/\s+/g," ");if(!(i=e[i.toLowerCase()])||!i.href){var r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return N(n,i,n[0])}},e.emStrong=function(t,e,n){void 0===n&&(n="");var i=this.rules.inline.emStrong.lDelim.exec(t);if(i&&(!i[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=i[1]||i[2]||"";if(!r||r&&(""===n||this.rules.inline.punctuation.exec(n))){var s,o,a=i[0].length-1,l=a,c=0,u="*"===i[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(u.lastIndex=0,e=e.slice(-1*t.length+a);null!=(i=u.exec(e));)if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6]){if(o=s.length,i[3]||i[4]){l+=o;continue}if((i[5]||i[6])&&a%3&&!((a+o)%3)){c+=o;continue}if(!((l-=o)>0))return o=Math.min(o,o+l+c),Math.min(a,o)%2?{type:"em",raw:t.slice(0,a+i.index+o+1),text:t.slice(1,a+i.index+o)}:{type:"strong",raw:t.slice(0,a+i.index+o+1),text:t.slice(2,a+i.index+o-1)}}}}},e.codespan=function(t){var e=this.rules.inline.code.exec(t);if(e){var n=e[2].replace(/\n/g," "),i=/[^ ]/.test(n),r=/^ /.test(n)&&/ $/.test(n);return i&&r&&(n=n.substring(1,n.length-1)),n=D(n,!0),{type:"codespan",raw:e[0],text:n}}},e.br=function(t){var e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}},e.del=function(t){var e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2]}},e.autolink=function(t,e){var n,i,r=this.rules.inline.autolink.exec(t);if(r)return i="@"===r[2]?"mailto:"+(n=D(this.options.mangle?e(r[1]):r[1])):n=D(r[1]),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}},e.url=function(t,e){var n;if(n=this.rules.inline.url.exec(t)){var i,r;if("@"===n[2])r="mailto:"+(i=D(this.options.mangle?e(n[0]):n[0]));else{var s;do{s=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(s!==n[0]);i=D(n[0]),r="www."===n[1]?"http://"+i:i}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}},e.inlineText=function(t,e,n){var i,r=this.rules.inline.text.exec(t);if(r)return i=e?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):D(r[0]):r[0]:D(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:i}},t}(),j=O,F=C,B=T,V={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:j,table:j,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};V.def=F(V.def).replace("label",V._label).replace("title",V._title).getRegex(),V.bullet=/(?:[*+-]|\d{1,9}[.)])/,V.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,V.item=F(V.item,"gm").replace(/bull/g,V.bullet).getRegex(),V.listItemStart=F(/^( *)(bull) */).replace("bull",V.bullet).getRegex(),V.list=F(V.list).replace(/bull/g,V.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+V.def.source+")").getRegex(),V._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",V._comment=/|$)/,V.html=F(V.html,"i").replace("comment",V._comment).replace("tag",V._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),V.paragraph=F(V._paragraph).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.blockquote=F(V.blockquote).replace("paragraph",V.paragraph).getRegex(),V.normal=B({},V),V.gfm=B({},V.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),V.gfm.nptable=F(V.gfm.nptable).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.gfm.table=F(V.gfm.table).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.pedantic=B({},V.normal,{html:F("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",V._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:j,paragraph:F(V.normal._paragraph).replace("hr",V.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",V.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var z={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:j,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:j,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};z.punctuation=F(z.punctuation).replace(/punctuation/g,z._punctuation).getRegex(),z.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,z.escapedEmSt=/\\\*|\\_/g,z._comment=F(V._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),z.emStrong.lDelim=F(z.emStrong.lDelim).replace(/punct/g,z._punctuation).getRegex(),z.emStrong.rDelimAst=F(z.emStrong.rDelimAst,"g").replace(/punct/g,z._punctuation).getRegex(),z.emStrong.rDelimUnd=F(z.emStrong.rDelimUnd,"g").replace(/punct/g,z._punctuation).getRegex(),z._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,z._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,z._email=/[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])?)+(?![-_])/,z.autolink=F(z.autolink).replace("scheme",z._scheme).replace("email",z._email).getRegex(),z._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,z.tag=F(z.tag).replace("comment",z._comment).replace("attribute",z._attribute).getRegex(),z._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,z._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,z._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,z.link=F(z.link).replace("label",z._label).replace("href",z._href).replace("title",z._title).getRegex(),z.reflink=F(z.reflink).replace("label",z._label).getRegex(),z.reflinkSearch=F(z.reflinkSearch,"g").replace("reflink",z.reflink).replace("nolink",z.nolink).getRegex(),z.normal=B({},z),z.pedantic=B({},z.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:F(/^!?\[(label)\]\((.*?)\)/).replace("label",z._label).getRegex(),reflink:F(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",z._label).getRegex()}),z.gfm=B({},z.normal,{escape:F(z.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),i+="&#"+n+";";return i}var K=function(){function e(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||$,this.options.tokenizer=this.options.tokenizer||new H,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var e={block:G.normal,inline:W.normal};this.options.pedantic?(e.block=G.pedantic,e.inline=W.pedantic):this.options.gfm&&(e.block=G.gfm,e.inline=this.options.breaks?W.breaks:W.gfm),this.tokenizer.rules=e}e.lex=function(t,n){return new e(n).lex(t)},e.lexInline=function(t,n){return new e(n).inlineTokens(t)};var n=e.prototype;return n.lex=function(t){return t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(t,this.tokens,!0),this.inline(this.tokens),this.tokens},n.blockTokens=function(t,e,n){var i,r,s,o,a,l,c=this;for(void 0===e&&(e=[]),void 0===n&&(n=!0),this.options.pedantic&&(t=t.replace(/^ +$/gm,""));t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(n){return!!(i=n.call(c,t,e))&&(t=t.substring(i.raw.length),e.push(i),!0)}))){if(i=this.tokenizer.space(t)){t=t.substring(i.raw.length),i.type&&e.push(i);continue}if(i=this.tokenizer.code(t)){t=t.substring(i.raw.length),(o=e[e.length-1])&&"paragraph"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i);continue}if(i=this.tokenizer.fences(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.heading(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.nptable(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.hr(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.blockquote(t)){t=t.substring(i.raw.length),i.tokens=this.blockTokens(i.text,[],n),e.push(i);continue}if(i=this.tokenizer.list(t)){for(t=t.substring(i.raw.length),s=i.items.length,r=0;r=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(a=t.substring(0,e+1))}(),n&&(i=this.tokenizer.paragraph(a))){o=e[e.length-1],l&&"paragraph"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i),l=a.length!==t.length,t=t.substring(i.raw.length);continue}if(i=this.tokenizer.text(t)){t=t.substring(i.raw.length),(o=e[e.length-1])&&"text"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i);continue}if(t){var u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}}return e},n.inline=function(t){var e,n,i,r,s,o,a=t.length;for(e=0;e0)for(;null!=(l=this.tokenizer.rules.inline.reflinkSearch.exec(h));)d.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(h=h.slice(0,l.index)+"["+q("a",l[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(l=this.tokenizer.rules.inline.blockSkip.exec(h));)h=h.slice(0,l.index)+"["+q("a",l[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(l=this.tokenizer.rules.inline.escapedEmSt.exec(h));)h=h.slice(0,l.index)+"++"+h.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;t;)if(c||(u=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(n){return!!(s=n.call(r,t,e))&&(t=t.substring(s.raw.length),e.push(s),!0)}))){if(s=this.tokenizer.escape(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.tag(t,n,i)){t=t.substring(s.raw.length),n=s.inLink,i=s.inRawBlock,(o=e[e.length-1])&&"text"===s.type&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(s=this.tokenizer.link(t)){t=t.substring(s.raw.length),"link"===s.type&&(s.tokens=this.inlineTokens(s.text,[],!0,i)),e.push(s);continue}if(s=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(s.raw.length),o=e[e.length-1],"link"===s.type?(s.tokens=this.inlineTokens(s.text,[],!0,i),e.push(s)):o&&"text"===s.type&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(s=this.tokenizer.emStrong(t,h,u)){t=t.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],n,i),e.push(s);continue}if(s=this.tokenizer.codespan(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.br(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.del(t)){t=t.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],n,i),e.push(s);continue}if(s=this.tokenizer.autolink(t,Y)){t=t.substring(s.raw.length),e.push(s);continue}if(!n&&(s=this.tokenizer.url(t,Y))){t=t.substring(s.raw.length),e.push(s);continue}if(a=t,this.options.extensions&&this.options.extensions.startInline&&function(){var e=1/0,n=t.slice(1),i=void 0;r.options.extensions.startInline.forEach(function(t){"number"==typeof(i=t.call(this,n))&&i>=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(a=t.substring(0,e+1))}(),s=this.tokenizer.inlineText(a,i,X)){t=t.substring(s.raw.length),"_"!==s.raw.slice(-1)&&(u=s.raw.slice(-1)),c=!0,(o=e[e.length-1])&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(t){var p="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(p);break}throw new Error(p)}}return e},function(e,n,i){n&&t(e.prototype,n),i&&t(e,i)}(e,null,[{key:"rules",get:function(){return{block:G,inline:W}}}]),e}(),Q=i.exports.defaults,Z=E,J=x,tt=function(){function t(t){this.options=t||Q}var e=t.prototype;return e.code=function(t,e,n){var i=(e||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(t,i);null!=r&&r!==t&&(n=!0,t=r)}return t=t.replace(/\n$/,"")+"\n",i?'
            '+(n?t:J(t,!0))+"
            \n":"
            "+(n?t:J(t,!0))+"
            \n"},e.blockquote=function(t){return"
            \n"+t+"
            \n"},e.html=function(t){return t},e.heading=function(t,e,n,i){return this.options.headerIds?"'+t+"\n":""+t+"\n"},e.hr=function(){return this.options.xhtml?"
            \n":"
            \n"},e.list=function(t,e,n){var i=e?"ol":"ul";return"<"+i+(e&&1!==n?' start="'+n+'"':"")+">\n"+t+"\n"},e.listitem=function(t){return"
          • "+t+"
          • \n"},e.checkbox=function(t){return" "},e.paragraph=function(t){return"

            "+t+"

            \n"},e.table=function(t,e){return e&&(e=""+e+""),"\n\n"+t+"\n"+e+"
            \n"},e.tablerow=function(t){return"\n"+t+"\n"},e.tablecell=function(t,e){var n=e.header?"th":"td";return(e.align?"<"+n+' align="'+e.align+'">':"<"+n+">")+t+"\n"},e.strong=function(t){return""+t+""},e.em=function(t){return""+t+""},e.codespan=function(t){return""+t+""},e.br=function(){return this.options.xhtml?"
            ":"
            "},e.del=function(t){return""+t+""},e.link=function(t,e,n){if(null===(t=Z(this.options.sanitize,this.options.baseUrl,t)))return n;var i='"+n+""},e.image=function(t,e,n){if(null===(t=Z(this.options.sanitize,this.options.baseUrl,t)))return n;var i=''+n+'":">")},e.text=function(t){return t},t}(),et=function(){function t(){}var e=t.prototype;return e.strong=function(t){return t},e.em=function(t){return t},e.codespan=function(t){return t},e.del=function(t){return t},e.html=function(t){return t},e.text=function(t){return t},e.link=function(t,e,n){return""+n},e.image=function(t,e,n){return""+n},e.br=function(){return""},t}(),nt=function(){function t(){this.seen={}}var e=t.prototype;return e.serialize=function(t){return t.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},e.getNextSafeSlug=function(t,e){var n=t,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[t];do{n=t+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return e||(this.seen[t]=i,this.seen[n]=0),n},e.slug=function(t,e){void 0===e&&(e={});var n=this.serialize(t);return this.getNextSafeSlug(n,e.dryrun)},t}(),it=tt,rt=et,st=nt,ot=i.exports.defaults,at=S,lt=K,ct=function(){function t(t){this.options=t||ot,this.options.renderer=this.options.renderer||new it,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new rt,this.slugger=new st}t.parse=function(e,n){return new t(n).parse(e)},t.parseInline=function(e,n){return new t(n).parseInline(e)};var e=t.prototype;return e.parse=function(t,e){void 0===e&&(e=!0);var n,i,r,s,o,a,l,c,u,h,d,p,f,g,m,b,y,v,_,w="",x=t.length;for(n=0;n0&&"text"===m.tokens[0].type?(m.tokens[0].text=v+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=v+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:v}):g+=v),g+=this.parse(m.tokens,f),u+=this.renderer.listitem(g,y,b);w+=this.renderer.list(u,d,p);continue;case"html":w+=this.renderer.html(h.text);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(h.tokens));continue;case"text":for(u=h.tokens?this.parseInline(h.tokens):h.text;n+1An error occurred:

            "+mt(l.message+"",!0)+"
            ";throw l}}return _t.options=_t.setOptions=function(t){return ft(_t.defaults,t),yt(_t.defaults),_t},_t.getDefaults=bt,_t.defaults=vt,_t.use=function(){for(var t=this,e=arguments.length,n=new Array(e),i=0;iAn error occurred:

            "+mt(i.message+"",!0)+"
            ";throw i}},_t.Parser=ct,_t.parser=ct.parse,_t.Renderer=ht,_t.TextRenderer=dt,_t.Lexer=lt,_t.lexer=lt.lex,_t.Tokenizer=ut,_t.Slugger=pt,_t.parse=_t,_t}()},29369:function(t,e,n){var i=n(56284),r=n(67830);function s(){this.clear()}s.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},s.prototype.enqueue=function(t){return this.items.push(t),++this.size},s.prototype.dequeue=function(){if(this.size){var t=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,t}},s.prototype.peek=function(){if(this.size)return this.items[this.offset]},s.prototype.forEach=function(t,e){e=arguments.length>1?e:this;for(var n=this.offset,i=0,r=this.items.length;n=t.length)return{done:!0};var n=t[e];return e++,{value:n,done:!1}})},s.prototype.entries=function(){var t=this.items,e=this.offset,n=0;return new i(function(){if(e>=t.length)return{done:!0};var i=t[e];return e++,{value:[n++,i],done:!1}})},"undefined"!=typeof Symbol&&(s.prototype[Symbol.iterator]=s.prototype.values),s.prototype.toString=function(){return this.toArray().join(",")},s.prototype.toJSON=function(){return this.toArray()},s.prototype.inspect=function(){var t=this.toArray();return Object.defineProperty(t,"constructor",{value:s,enumerable:!1}),t},"undefined"!=typeof Symbol&&(s.prototype[Symbol.for("nodejs.util.inspect.custom")]=s.prototype.inspect),s.from=function(t){var e=new s;return r(t,function(t){e.enqueue(t)}),e},s.of=function(){return s.from(arguments)},t.exports=s},65593:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(72293),o=function(t){function e(){t.apply(this,arguments),this.value=null,this.hasNext=!1,this.hasCompleted=!1}return i(e,t),e.prototype._subscribe=function(e){return this.hasError?(e.error(this.thrownError),s.Subscription.EMPTY):this.hasCompleted&&this.hasNext?(e.next(this.value),e.complete(),s.Subscription.EMPTY):t.prototype._subscribe.call(this,e)},e.prototype.next=function(t){this.hasCompleted||(this.value=t,this.hasNext=!0)},e.prototype.error=function(e){this.hasCompleted||t.prototype.error.call(this,e)},e.prototype.complete=function(){this.hasCompleted=!0,this.hasNext&&t.prototype.next.call(this,this.value),t.prototype.complete.call(this)},e}(r.Subject);e.AsyncSubject=o},73907:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(6594),o=function(t){function e(e){t.call(this),this._value=e}return i(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return n&&!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new s.ObjectUnsubscribedError;return this._value},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(r.Subject);e.BehaviorSubject=o},36888:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n,i){t.call(this),this.parent=e,this.outerValue=n,this.outerIndex=i,this.index=0}return i(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(n(42109).Subscriber);e.InnerSubscriber=r},94429:function(t,e,n){"use strict";var i=n(18705),r=function(){function t(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}return t.prototype.observe=function(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}},t.prototype.do=function(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}},t.prototype.accept=function(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)},t.prototype.toObservable=function(){switch(this.kind){case"N":return i.Observable.of(this.value);case"E":return i.Observable.throw(this.error);case"C":return i.Observable.empty()}throw new Error("unexpected notification kind value")},t.createNext=function(e){return void 0!==e?new t("N",e):t.undefinedValueNotification},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return t.completeNotification},t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t}();e.Notification=r},18705:function(t,e,n){"use strict";var i=n(80019),r=n(18154),s=n(45783),o=n(10142),a=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(t,e,n){var i=this.operator,s=r.toSubscriber(t,e,n);if(i?i.call(s,this.source):s.add(this.source||!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){t.syncErrorThrown=!0,t.syncErrorValue=e,t.error(e)}},t.prototype.forEach=function(t,e){var n=this;if(e||(i.root.Rx&&i.root.Rx.config&&i.root.Rx.config.Promise?e=i.root.Rx.config.Promise:i.root.Promise&&(e=i.root.Promise)),!e)throw new Error("no Promise impl found");return new e(function(e,i){var r;r=n.subscribe(function(e){if(r)try{t(e)}catch(n){i(n),r.unsubscribe()}else t(e)},i,e)})},t.prototype._subscribe=function(t){return this.source.subscribe(t)},t.prototype[s.observable]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;ee&&(s=Math.max(s,r-e)),s>0&&i.splice(0,s),i},e}(r.Subject);e.ReplaySubject=u;var h=function(t,e){this.time=t,this.value=e}},25430:function(t,e,n){"use strict";var i=n(2369);e.xQ=i.Subject,n(18705),n(24769),n(95914),n(88007),n(3194),n(61898),n(16301),n(23276),n(66593),n(13745),n(57362),n(24518),n(68789),n(30520),n(67370),n(86866),n(11505),n(5031),n(36780),n(17038),n(15718),n(27915),n(90763),n(6846),n(65662),n(6799),n(81854),n(612),n(10838),n(6725),n(8827),n(43511),n(38922),n(25178),n(56937),n(22947),n(82894),n(11206),n(94183),n(16653),n(17930),n(81118),n(50317),n(90674),n(66460),n(79232),n(3945),n(44674),n(73505),n(38749),n(16479),n(22744),n(44475),n(97384),n(8237),n(24937),n(99013),n(84042),n(44436),n(7099),n(6217),n(57476),n(72646),n(91573),n(27387),n(27366),n(88859),n(65425),n(16733),n(23381),n(80404),n(63770),n(53626),n(98851),n(84878),n(26544),n(53582),n(61749),n(34838),n(49681),n(46227),n(56455),n(40881),n(94315),n(92910),n(52442),n(84664),n(61250),n(28310),n(43027),n(18252),n(49571),n(31782),n(9800),n(41854),n(74839),n(1305),n(99144),n(89952),n(85863),n(2865),n(92667),n(22185),n(72919),n(88630),n(75458),n(40780),n(35099),n(57502),n(81676),n(20579),n(71323),n(84950),n(57113),n(95073),n(75654),n(59889),n(96611),n(81845),n(7828),n(4881),n(74568),n(32352),n(50169),n(93543),n(61690),n(15914),n(68583),n(44808),n(49088),n(72293),n(42109),n(65593),n(81959),n(73907),n(51493),n(94429),n(44640),n(11758),n(6594),n(13815),n(84536),n(73390),n(62688),n(24482),n(18353);n(55298);n(10142);n(85522),n(90680),n(97088),n(12948),n(28592),n(72121),n(45783);n(39053)},11965:function(t,e){"use strict";var n=function(){function t(e,n){void 0===n&&(n=t.now),this.SchedulerAction=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(n,e)},t.now=Date.now?Date.now:function(){return+new Date},t}();e.Scheduler=n},2369:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(42109),o=n(72293),a=n(6594),l=n(9060),c=n(28592),u=function(t){function e(e){t.call(this,e),this.destination=e}return i(e,t),e}(s.Subscriber);e.SubjectSubscriber=u;var h=function(t){function e(){t.call(this),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}return i(e,t),e.prototype[c.rxSubscriber]=function(){return new u(this)},e.prototype.lift=function(t){var e=new d(this,this);return e.operator=t,e},e.prototype.next=function(t){if(this.closed)throw new a.ObjectUnsubscribedError;if(!this.isStopped)for(var e=this.observers,n=e.length,i=e.slice(),r=0;r=t.length)return void i.complete();i.next(e[n]),t.index=n+1,this.schedule(t)}},e.prototype._subscribe=function(t){var n=this.arrayLike,i=this.scheduler,r=n.length;if(i)return i.schedule(e.dispatch,0,{arrayLike:n,index:0,length:r,subscriber:t});for(var s=0;s1?new e(t,i):1===r?new s.ScalarObservable(t[0],i):new o.EmptyObservable(i)},e.dispatch=function(t){var e=t.array,n=t.index,i=t.subscriber;n>=t.count?i.complete():(i.next(e[n]),!i.closed&&(t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.array,i=n.length,r=this.scheduler;if(r)return r.schedule(e.dispatch,0,{array:n,index:0,count:i,subscriber:t});for(var s=0;s1)this.connection=null;else{var n=this.connection,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null}}(o.Subscriber)},34078:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(93658),o=n(84308),a=function(t){function e(e){t.call(this),this.observableFactory=e}return i(e,t),e.create=function(t){return new e(t)},e.prototype._subscribe=function(t){return new l(t,this.observableFactory)},e}(r.Observable);e.DeferObservable=a;var l=function(t){function e(e,n){t.call(this,e),this.factory=n,this.tryDefer()}return i(e,t),e.prototype.tryDefer=function(){try{this._callFactory()}catch(t){this._error(t)}},e.prototype._callFactory=function(){var t=this.factory();t&&this.add(s.subscribeToResult(this,t))},e}(o.OuterSubscriber)},70481:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e){t.call(this),this.scheduler=e}return i(e,t),e.create=function(t){return new e(t)},e.dispatch=function(t){t.subscriber.complete()},e.prototype._subscribe=function(t){var n=this.scheduler;if(n)return n.schedule(e.dispatch,0,{subscriber:t});t.complete()},e}(n(18705).Observable);e.EmptyObservable=r},72210:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this),this.error=e,this.scheduler=n}return i(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){t.subscriber.error(t.error)},e.prototype._subscribe=function(t){var n=this.error,i=this.scheduler;if(t.syncErrorThrowable=!0,i)return i.schedule(e.dispatch,0,{error:n,subscriber:t});t.error(n)},e}(n(18705).Observable);e.ErrorObservable=r},56064:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(70481),o=n(48242),a=n(93658),l=n(84308),c=function(t){function e(e,n){t.call(this),this.sources=e,this.resultSelector=n}return i(e,t),e.create=function(){for(var t=[],n=0;nu?u:e:e}(t)),this.arr=t,this.idx=e,this.len=n}return t.prototype[o.iterator]=function(){return this},t.prototype.next=function(){return this.idx=t.count?i.complete():(i.next(e),!i.closed&&(t.index=n+1,t.start=e+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=0,i=this.start,r=this._count,s=this.scheduler;if(s)return s.schedule(e.dispatch,0,{index:n,count:r,start:i,subscriber:t});for(;;){if(n++>=r){t.complete();break}if(t.next(i++),t.closed)break}},e}(n(18705).Observable);e.RangeObservable=r},80478:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this),this.value=e,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return i(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){var e=t.value,n=t.subscriber;t.done?n.complete():(n.next(e),!n.closed&&(t.done=!0,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.value,i=this.scheduler;if(i)return i.schedule(e.dispatch,0,{done:!1,value:n,subscriber:t});t.next(n),t.closed||t.complete()},e}(n(18705).Observable);e.ScalarObservable=r},82966:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(85522),o=n(39479),a=function(t){function e(e,n,i){void 0===n&&(n=0),void 0===i&&(i=s.asap),t.call(this),this.source=e,this.delayTime=n,this.scheduler=i,(!o.isNumeric(n)||n<0)&&(this.delayTime=0),(!i||"function"!=typeof i.schedule)&&(this.scheduler=s.asap)}return i(e,t),e.create=function(t,n,i){return void 0===n&&(n=0),void 0===i&&(i=s.asap),new e(t,n,i)},e.dispatch=function(t){return this.add(t.source.subscribe(t.subscriber))},e.prototype._subscribe=function(t){return this.scheduler.schedule(e.dispatch,this.delayTime,{source:this.source,subscriber:t})},e}(r.Observable);e.SubscribeOnObservable=a},92870:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(39479),s=n(18705),o=n(90680),a=n(41503),l=n(783),c=function(t){function e(e,n,i){void 0===e&&(e=0),t.call(this),this.period=-1,this.dueTime=0,r.isNumeric(n)?this.period=Number(n)<1?1:Number(n):a.isScheduler(n)&&(i=n),a.isScheduler(i)||(i=o.async),this.scheduler=i,this.dueTime=l.isDate(e)?+e-this.scheduler.now():e}return i(e,t),e.create=function(t,n,i){return void 0===t&&(t=0),new e(t,n,i)},e.dispatch=function(t){var e=t.index,n=t.period,i=t.subscriber;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}},e.prototype._subscribe=function(t){var n=this;return n.scheduler.schedule(e.dispatch,n.dueTime,{index:0,period:n.period,subscriber:t})},e}(s.Observable);e.TimerObservable=c},16196:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(93658),o=n(84308),a=function(t){function e(e,n){t.call(this),this.resourceFactory=e,this.observableFactory=n}return i(e,t),e.create=function(t,n){return new e(t,n)},e.prototype._subscribe=function(t){var e,n=this.resourceFactory,i=this.observableFactory;try{return e=n(),new l(t,e,i)}catch(r){t.error(r)}},e}(r.Observable);e.UsingObservable=a;var l=function(t){function e(e,n,i){t.call(this,e),this.resource=n,this.observableFactory=i,e.add(n),this.tryUse()}return i(e,t),e.prototype.tryUse=function(){try{var t=this.observableFactory.call(this,this.resource);t&&this.add(s.subscribeToResult(this,t))}catch(e){this._error(e)}},e}(o.OuterSubscriber)},59246:function(t,e,n){"use strict";var i=n(19183);e.bindCallback=i.BoundCallbackObservable.create},65571:function(t,e,n){"use strict";var i=n(78655);e.bindNodeCallback=i.BoundNodeCallbackObservable.create},24669:function(t,e,n){"use strict";var i=n(41503),r=n(48242),s=n(96177),o=n(49134);e.combineLatest=function(){for(var t=[],e=0;e1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof l&&(n=t.pop()),null===a&&1===t.length&&t[0]instanceof i.Observable?t[0]:o.mergeAll(n)(new r.ArrayObservable(t,a))}},94503:function(t,e,n){"use strict";var i=n(20143);e.never=i.NeverObservable.create},69657:function(t,e,n){"use strict";var i=n(96177);e.of=i.ArrayObservable.of},61395:function(t,e,n){"use strict";var i=n(46243);e.onErrorResumeNext=i.onErrorResumeNextStatic},95425:function(t,e,n){"use strict";var i=n(19770);e.pairs=i.PairsObservable.create},24330:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(48242),s=n(96177),o=n(84308),a=n(93658);e.race=function(){for(var t=[],e=0;e=2&&(o=arguments[1]);var a=Number.POSITIVE_INFINITY;return e>=3&&(a=arguments[2]),s.bufferTime(t,o,a,n)(this)}},92523:function(t,e,n){"use strict";var i=n(15440);e.bufferToggle=function(t,e){return i.bufferToggle(t,e)(this)}},49436:function(t,e,n){"use strict";var i=n(51786);e.bufferWhen=function(t){return i.bufferWhen(t)(this)}},64731:function(t,e,n){"use strict";var i=n(93017);e._catch=function(t){return i.catchError(t)(this)}},92273:function(t,e,n){"use strict";var i=n(17054);e.combineAll=function(t){return i.combineAll(t)(this)}},8709:function(t,e,n){"use strict";var i=n(49134);e.combineLatest=function(){for(var t=[],e=0;e=2?i.reduce(t,e)(this):i.reduce(t)(this)}},12931:function(t,e,n){"use strict";var i=n(15329);e.repeat=function(t){return void 0===t&&(t=-1),i.repeat(t)(this)}},68816:function(t,e,n){"use strict";var i=n(63964);e.repeatWhen=function(t){return i.repeatWhen(t)(this)}},17144:function(t,e,n){"use strict";var i=n(40241);e.retry=function(t){return void 0===t&&(t=-1),i.retry(t)(this)}},82766:function(t,e,n){"use strict";var i=n(23896);e.retryWhen=function(t){return i.retryWhen(t)(this)}},62068:function(t,e,n){"use strict";var i=n(92043);e.sample=function(t){return i.sample(t)(this)}},97013:function(t,e,n){"use strict";var i=n(90680),r=n(71239);e.sampleTime=function(t,e){return void 0===e&&(e=i.async),r.sampleTime(t,e)(this)}},98996:function(t,e,n){"use strict";var i=n(64949);e.scan=function(t,e){return arguments.length>=2?i.scan(t,e)(this):i.scan(t)(this)}},77033:function(t,e,n){"use strict";var i=n(88948);e.sequenceEqual=function(t,e){return i.sequenceEqual(t,e)(this)}},10377:function(t,e,n){"use strict";var i=n(35473);e.share=function(){return i.share()(this)}},71623:function(t,e,n){"use strict";var i=n(62704);e.shareReplay=function(t,e,n){return i.shareReplay(t,e,n)(this)}},91956:function(t,e,n){"use strict";var i=n(92223);e.single=function(t){return i.single(t)(this)}},72355:function(t,e,n){"use strict";var i=n(11189);e.skip=function(t){return i.skip(t)(this)}},69329:function(t,e,n){"use strict";var i=n(73346);e.skipLast=function(t){return i.skipLast(t)(this)}},68481:function(t,e,n){"use strict";var i=n(12928);e.skipUntil=function(t){return i.skipUntil(t)(this)}},587:function(t,e,n){"use strict";var i=n(69415);e.skipWhile=function(t){return i.skipWhile(t)(this)}},49292:function(t,e,n){"use strict";var i=n(30673);e.startWith=function(){for(var t=[],e=0;e0&&this.destination.next(e),t.prototype._complete.call(this)},e}(r.Subscriber),a=function(t){function e(e,n,i){t.call(this,e),this.bufferSize=n,this.startBufferEvery=i,this.buffers=[],this.count=0}return i(e,t),e.prototype._next=function(t){var e=this,n=e.bufferSize,i=e.startBufferEvery,r=e.buffers,s=e.count;this.count++,s%i==0&&r.push([]);for(var o=r.length;o--;){var a=r[o];a.push(t),a.length===n&&(r.splice(o,1),this.destination.next(a))}},e.prototype._complete=function(){for(var e=this.buffers,n=this.destination;e.length>0;){var i=e.shift();i.length>0&&n.next(i)}t.prototype._complete.call(this)},e}(r.Subscriber)},6489:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(90680),s=n(42109),o=n(41503);e.bufferTime=function(t){var e=arguments.length,n=r.async;o.isScheduler(arguments[arguments.length-1])&&(n=arguments[arguments.length-1],e--);var i=null;e>=2&&(i=arguments[1]);var s=Number.POSITIVE_INFINITY;return e>=3&&(s=arguments[2]),function(e){return e.lift(new a(t,i,s,n))}};var a=function(){function t(t,e,n,i){this.bufferTimeSpan=t,this.bufferCreationInterval=e,this.maxBufferSize=n,this.scheduler=i}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))},t}(),l=function(){this.buffer=[]},c=function(t){function e(e,n,i,r,s){t.call(this,e),this.bufferTimeSpan=n,this.bufferCreationInterval=i,this.maxBufferSize=r,this.scheduler=s,this.contexts=[];var o=this.openContext();if(this.timespanOnly=null==i||i<0,this.timespanOnly)this.add(o.closeAction=s.schedule(u,n,{subscriber:this,context:o,bufferTimeSpan:n}));else{var a={bufferTimeSpan:n,bufferCreationInterval:i,subscriber:this,scheduler:s};this.add(o.closeAction=s.schedule(d,n,{subscriber:this,context:o})),this.add(s.schedule(h,i,a))}}return i(e,t),e.prototype._next=function(t){for(var e,n=this.contexts,i=n.length,r=0;r0;){var i=e.shift();n.next(i.buffer)}t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.contexts=null},e.prototype.onBufferFull=function(t){this.closeContext(t);var e=t.closeAction;if(e.unsubscribe(),this.remove(e),!this.closed&&this.timespanOnly){t=this.openContext();var n=this.bufferTimeSpan;this.add(t.closeAction=this.scheduler.schedule(u,n,{subscriber:this,context:t,bufferTimeSpan:n}))}},e.prototype.openContext=function(){var t=new l;return this.contexts.push(t),t},e.prototype.closeContext=function(t){this.destination.next(t.buffer);var e=this.contexts;(e?e.indexOf(t):-1)>=0&&e.splice(e.indexOf(t),1)},e}(s.Subscriber);function u(t){var e=t.subscriber,n=t.context;n&&e.closeContext(n),e.closed||(t.context=e.openContext(),t.context.closeAction=this.schedule(t,t.bufferTimeSpan))}function h(t){var e=t.bufferCreationInterval,n=t.bufferTimeSpan,i=t.subscriber,r=t.scheduler,s=i.openContext();i.closed||(i.add(s.closeAction=r.schedule(d,n,{subscriber:i,context:s})),this.schedule(t,e))}function d(t){t.subscriber.closeContext(t.context)}},15440:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(72293),s=n(93658),o=n(84308);e.bufferToggle=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.openings=t,this.closingSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.openings,this.closingSelector))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(s.subscribeToResult(this,n))}return i(e,t),e.prototype._next=function(t){for(var e=this.contexts,n=e.length,i=0;i0;){var i=n.shift();i.subscription.unsubscribe(),i.buffer=null,i.subscription=null}this.contexts=null,t.prototype._error.call(this,e)},e.prototype._complete=function(){for(var e=this.contexts;e.length>0;){var n=e.shift();this.destination.next(n.buffer),n.subscription.unsubscribe(),n.buffer=null,n.subscription=null}this.contexts=null,t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){t?this.closeBuffer(t):this.openBuffer(e)},e.prototype.notifyComplete=function(t){this.closeBuffer(t.context)},e.prototype.openBuffer=function(t){try{var e=this.closingSelector.call(this,t);e&&this.trySubscribe(e)}catch(n){this._error(n)}},e.prototype.closeBuffer=function(t){var e=this.contexts;if(e&&t){var n=t.subscription;this.destination.next(t.buffer),e.splice(e.indexOf(t),1),this.remove(n),n.unsubscribe()}},e.prototype.trySubscribe=function(t){var e=this.contexts,n=new r.Subscription,i={buffer:[],subscription:n};e.push(i);var o=s.subscribeToResult(this,t,i);!o||o.closed?this.closeBuffer(i):(o.context=i,this.add(o),n.add(o))},e}(o.OuterSubscriber)},51786:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(72293),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.bufferWhen=function(t){return function(e){return e.lift(new c(t))}};var c=function(){function t(t){this.closingSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.closingSelector))},t}(),u=function(t){function e(e,n){t.call(this,e),this.closingSelector=n,this.subscribing=!1,this.openBuffer()}return i(e,t),e.prototype._next=function(t){this.buffer.push(t)},e.prototype._complete=function(){var e=this.buffer;e&&this.destination.next(e),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.buffer=null,this.subscribing=!1},e.prototype.notifyNext=function(t,e,n,i,r){this.openBuffer()},e.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()},e.prototype.openBuffer=function(){var t=this.closingSubscription;t&&(this.remove(t),t.unsubscribe()),this.buffer&&this.destination.next(this.buffer),this.buffer=[];var e=s.tryCatch(this.closingSelector)();e===o.errorObject?this.error(o.errorObject.e):(t=new r.Subscription,this.closingSubscription=t,this.add(t),this.subscribing=!0,t.add(l.subscribeToResult(this,e)),this.subscribing=!1)},e}(a.OuterSubscriber)},93017:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.catchError=function(t){return function(e){var n=new o(t),i=e.lift(n);return n.caught=i}};var o=function(){function t(t){this.selector=t}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.selector,this.caught))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.selector=n,this.caught=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=void 0;try{n=this.selector(e,this.caught)}catch(i){return void t.prototype.error.call(this,i)}this._unsubscribeAndRecycle(),this.add(s.subscribeToResult(this,n))}},e}(r.OuterSubscriber)},17054:function(t,e,n){"use strict";var i=n(49134);e.combineAll=function(t){return function(e){return e.lift(new i.CombineLatestOperator(t))}}},49134:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(96177),s=n(48242),o=n(84308),a=n(93658),l={};e.combineLatest=function(){for(var t=[],e=0;e0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var s=Math.max(0,n[0].time-i.now());this.schedule(t,s)}else this.unsubscribe(),e.active=!1},e.prototype._schedule=function(t){this.active=!0,this.add(t.schedule(e.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))},e.prototype.scheduleNotification=function(t){if(!0!==this.errored){var e=this.scheduler,n=new u(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}},e.prototype._next=function(t){this.scheduleNotification(a.Notification.createNext(t))},e.prototype._error=function(t){this.errored=!0,this.queue=[],this.destination.error(t)},e.prototype._complete=function(){this.scheduleNotification(a.Notification.createComplete())},e}(o.Subscriber),u=function(t,e){this.time=t,this.notification=e}},22944:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(18705),o=n(84308),a=n(93658);e.delayWhen=function(t,e){return e?function(n){return new u(n,e).lift(new l(t))}:function(e){return e.lift(new l(t))}};var l=function(){function t(t){this.delayDurationSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.delayDurationSelector))},t}(),c=function(t){function e(e,n){t.call(this,e),this.delayDurationSelector=n,this.completed=!1,this.delayNotifierSubscriptions=[],this.values=[]}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.destination.next(t),this.removeSubscription(r),this.tryComplete()},e.prototype.notifyError=function(t,e){this._error(t)},e.prototype.notifyComplete=function(t){var e=this.removeSubscription(t);e&&this.destination.next(e),this.tryComplete()},e.prototype._next=function(t){try{var e=this.delayDurationSelector(t);e&&this.tryDelay(e,t)}catch(n){this.destination.error(n)}},e.prototype._complete=function(){this.completed=!0,this.tryComplete()},e.prototype.removeSubscription=function(t){t.unsubscribe();var e=this.delayNotifierSubscriptions.indexOf(t),n=null;return-1!==e&&(n=this.values[e],this.delayNotifierSubscriptions.splice(e,1),this.values.splice(e,1)),n},e.prototype.tryDelay=function(t,e){var n=a.subscribeToResult(this,t,e);n&&!n.closed&&(this.add(n),this.delayNotifierSubscriptions.push(n)),this.values.push(e)},e.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()},e}(o.OuterSubscriber),u=function(t){function e(e,n){t.call(this),this.source=e,this.subscriptionDelay=n}return i(e,t),e.prototype._subscribe=function(t){this.subscriptionDelay.subscribe(new h(t,this.source))},e}(s.Observable),h=function(t){function e(e,n){t.call(this),this.parent=e,this.source=n,this.sourceSubscribed=!1}return i(e,t),e.prototype._next=function(t){this.subscribeToSource()},e.prototype._error=function(t){this.unsubscribe(),this.parent.error(t)},e.prototype._complete=function(){this.subscribeToSource()},e.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))},e}(r.Subscriber)},95591:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.dematerialize=function(){return function(t){return t.lift(new s)}};var s=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new o(t))},t}(),o=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype._next=function(t){t.observe(this.destination)},e}(r.Subscriber)},25753:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658),o=n(40317);e.distinct=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.keySelector=t,this.flushes=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.keySelector,this.flushes))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.keySelector=n,this.values=new o.Set,i&&this.add(s.subscribeToResult(this,i))}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.values.clear()},e.prototype.notifyError=function(t,e){this._error(t)},e.prototype._next=function(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)},e.prototype._useKeySelector=function(t){var e,n=this.destination;try{e=this.keySelector(t)}catch(i){return void n.error(i)}this._finalizeNext(e,t)},e.prototype._finalizeNext=function(t,e){var n=this.values;n.has(t)||(n.add(t),this.destination.next(e))},e}(r.OuterSubscriber);e.DistinctSubscriber=l},65608:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(33463),o=n(85814);e.distinctUntilChanged=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.compare=t,this.keySelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.compare,this.keySelector))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.keySelector=i,this.hasKey=!1,"function"==typeof n&&(this.compare=n)}return i(e,t),e.prototype.compare=function(t,e){return t===e},e.prototype._next=function(t){var e=t;if(this.keySelector&&(e=s.tryCatch(this.keySelector)(t))===o.errorObject)return this.destination.error(o.errorObject.e);var n=!1;if(this.hasKey){if((n=s.tryCatch(this.compare)(this.key,e))===o.errorObject)return this.destination.error(o.errorObject.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=e,this.destination.next(t))},e}(r.Subscriber)},8330:function(t,e,n){"use strict";var i=n(65608);e.distinctUntilKeyChanged=function(t,e){return i.distinctUntilChanged(function(n,i){return e?e(n[t],i[t]):n[t]===i[t]})}},29264:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758);e.elementAt=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){if(this.index=t,this.defaultValue=e,t<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.index,this.defaultValue))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.index=n,this.defaultValue=i}return i(e,t),e.prototype._next=function(t){0==this.index--&&(this.destination.next(t),this.destination.complete())},e.prototype._complete=function(){var t=this.destination;this.index>=0&&(void 0!==this.defaultValue?t.next(this.defaultValue):t.error(new s.ArgumentOutOfRangeError)),t.complete()},e}(r.Subscriber)},26285:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.every=function(t,e){return function(n){return n.lift(new s(t,e,n))}};var s=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.thisArg,this.source))},t}(),o=function(t){function e(e,n,i,r){t.call(this,e),this.predicate=n,this.thisArg=i,this.source=r,this.index=0,this.thisArg=i||this}return i(e,t),e.prototype.notifyComplete=function(t){this.destination.next(t),this.destination.complete()},e.prototype._next=function(t){var e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e||this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(r.Subscriber)},93229:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.exhaust=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(e){t.call(this,e),this.hasCompleted=!1,this.hasSubscription=!1}return i(e,t),e.prototype._next=function(t){this.hasSubscription||(this.hasSubscription=!0,this.add(s.subscribeToResult(this,t)))},e.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},e.prototype.notifyComplete=function(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber)},15758:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.exhaustMap=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.resultSelector=i,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}return i(e,t),e.prototype._next=function(t){this.hasSubscription||this.tryNext(t)},e.prototype.tryNext=function(t){var e=this.index++,n=this.destination;try{var i=this.project(t,e);this.hasSubscription=!0,this.add(s.subscribeToResult(this,i,t,e))}catch(r){n.error(r)}},e.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},e.prototype.notifyNext=function(t,e,n,i,r){var s=this.destination;this.resultSelector?this.trySelectResult(t,e,n,i):s.next(e)},e.prototype.trySelectResult=function(t,e,n,i){var r=this.resultSelector,s=this.destination;try{var o=r(t,e,n,i);s.next(o)}catch(a){s.error(a)}},e.prototype.notifyError=function(t){this.destination.error(t)},e.prototype.notifyComplete=function(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber)},55364:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(33463),s=n(85814),o=n(84308),a=n(93658);e.expand=function(t,e,n){return void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===n&&(n=void 0),e=(e||0)<1?Number.POSITIVE_INFINITY:e,function(i){return i.lift(new l(t,e,n))}};var l=function(){function t(t,e,n){this.project=t,this.concurrent=e,this.scheduler=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.project,this.concurrent,this.scheduler))},t}();e.ExpandOperator=l;var c=function(t){function e(e,n,i,r){t.call(this,e),this.project=n,this.concurrent=i,this.scheduler=r,this.index=0,this.active=0,this.hasCompleted=!1,i0&&this._next(e.shift()),this.hasCompleted&&0===this.active&&this.destination.complete()},e}(o.OuterSubscriber);e.ExpandSubscriber=c},27015:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.filter=function(t,e){return function(n){return n.lift(new s(t,e))}};var s=function(){function t(t,e){this.predicate=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.thisArg))},t}(),o=function(t){function e(e,n,i){t.call(this,e),this.predicate=n,this.thisArg=i,this.count=0}return i(e,t),e.prototype._next=function(t){var e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)},e}(r.Subscriber)},94367:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(72293);e.finalize=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){this.callback=t}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.callback))},t}(),a=function(t){function e(e,n){t.call(this,e),this.add(new s.Subscription(n))}return i(e,t),e}(r.Subscriber)},16700:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.find=function(t,e){if("function"!=typeof t)throw new TypeError("predicate is not a function");return function(n){return n.lift(new s(t,n,!1,e))}};var s=function(){function t(t,e,n,i){this.predicate=t,this.source=e,this.yieldIndex=n,this.thisArg=i}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.source,this.yieldIndex,this.thisArg))},t}();e.FindValueOperator=s;var o=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.source=i,this.yieldIndex=r,this.thisArg=s,this.index=0}return i(e,t),e.prototype.notifyComplete=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype._next=function(t){var e=this.predicate,n=this.thisArg,i=this.index++;try{e.call(n||this,t,i,this.source)&&this.notifyComplete(this.yieldIndex?i:t)}catch(r){this.destination.error(r)}},e.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)},e}(r.Subscriber);e.FindValueSubscriber=o},86452:function(t,e,n){"use strict";var i=n(16700);e.findIndex=function(t,e){return function(n){return n.lift(new i.FindValueOperator(t,n,!0,e))}}},12309:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.first=function(t,e,n){return function(i){return i.lift(new o(t,e,n,i))}};var o=function(){function t(t,e,n,i){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=i}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),a=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=s,this.index=0,this.hasCompleted=!1,this._emitted=!1}return i(e,t),e.prototype._next=function(t){var e=this.index++;this.predicate?this._tryPredicate(t,e):this._emit(t,e)},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(i){return void this.destination.error(i)}n&&this._emit(t,e)},e.prototype._emit=function(t,e){this.resultSelector?this._tryResultSelector(t,e):this._emitFinal(t)},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(i){return void this.destination.error(i)}this._emitFinal(n)},e.prototype._emitFinal=function(t){var e=this.destination;this._emitted||(this._emitted=!0,e.next(t),e.complete(),this.hasCompleted=!0)},e.prototype._complete=function(){var t=this.destination;this.hasCompleted||void 0===this.defaultValue?this.hasCompleted||t.error(new s.EmptyError):(t.next(this.defaultValue),t.complete())},e}(r.Subscriber)},92577:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(72293),o=n(18705),a=n(2369),l=n(49754),c=n(30764);e.groupBy=function(t,e,n,i){return function(r){return r.lift(new u(t,e,n,i))}};var u=function(){function t(t,e,n,i){this.keySelector=t,this.elementSelector=e,this.durationSelector=n,this.subjectSelector=i}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))},t}(),h=function(t){function e(e,n,i,r,s){t.call(this,e),this.keySelector=n,this.elementSelector=i,this.durationSelector=r,this.subjectSelector=s,this.groups=null,this.attemptedToUnsubscribe=!1,this.count=0}return i(e,t),e.prototype._next=function(t){var e;try{e=this.keySelector(t)}catch(n){return void this.error(n)}this._group(t,e)},e.prototype._group=function(t,e){var n=this.groups;n||(n=this.groups="string"==typeof e?new c.FastMap:new l.Map);var i,r=n.get(e);if(this.elementSelector)try{i=this.elementSelector(t)}catch(u){this.error(u)}else i=t;if(!r){r=this.subjectSelector?this.subjectSelector():new a.Subject,n.set(e,r);var s=new p(e,r,this);if(this.destination.next(s),this.durationSelector){var o=void 0;try{o=this.durationSelector(new p(e,r))}catch(u){return void this.error(u)}this.add(o.subscribe(new d(e,r,this)))}}r.closed||r.next(i)},e.prototype._error=function(t){var e=this.groups;e&&(e.forEach(function(e,n){e.error(t)}),e.clear()),this.destination.error(t)},e.prototype._complete=function(){var t=this.groups;t&&(t.forEach(function(t,e){t.complete()}),t.clear()),this.destination.complete()},e.prototype.removeGroup=function(t){this.groups.delete(t)},e.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&t.prototype.unsubscribe.call(this))},e}(r.Subscriber),d=function(t){function e(e,n,i){t.call(this,n),this.key=e,this.group=n,this.parent=i}return i(e,t),e.prototype._next=function(t){this.complete()},e.prototype._unsubscribe=function(){var t=this.parent,e=this.key;this.key=this.parent=null,t&&t.removeGroup(e)},e}(r.Subscriber),p=function(t){function e(e,n,i){t.call(this),this.key=e,this.groupSubject=n,this.refCountSubscription=i}return i(e,t),e.prototype._subscribe=function(t){var e=new s.Subscription,n=this.refCountSubscription,i=this.groupSubject;return n&&!n.closed&&e.add(new f(n)),e.add(i.subscribe(t)),e},e}(o.Observable);e.GroupedObservable=p;var f=function(t){function e(e){t.call(this),this.parent=e,e.count++}return i(e,t),e.prototype.unsubscribe=function(){var e=this.parent;!e.closed&&!this.closed&&(t.prototype.unsubscribe.call(this),e.count-=1,0===e.count&&e.attemptedToUnsubscribe&&e.unsubscribe())},e}(s.Subscription)},86898:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(68668);e.ignoreElements=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype._next=function(t){s.noop()},e}(r.Subscriber)},89121:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.isEmpty=function(){return function(t){return t.lift(new s)}};var s=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new o(t))},t}(),o=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype.notifyComplete=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype._next=function(t){this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(r.Subscriber)},4636:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.last=function(t,e,n){return function(i){return i.lift(new o(t,e,n,i))}};var o=function(){function t(t,e,n,i){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=i}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),a=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=s,this.hasValue=!1,this.index=0,void 0!==r&&(this.lastValue=r,this.hasValue=!0)}return i(e,t),e.prototype._next=function(t){var e=this.index++;if(this.predicate)this._tryPredicate(t,e);else{if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(i){return void this.destination.error(i)}if(n){if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(i){return void this.destination.error(i)}this.lastValue=n,this.hasValue=!0},e.prototype._complete=function(){var t=this.destination;this.hasValue?(t.next(this.lastValue),t.complete()):t.error(new s.EmptyError)},e}(r.Subscriber)},40119:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.map=function(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new s(t,e))}};var s=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.project,this.thisArg))},t}();e.MapOperator=s;var o=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.count=0,this.thisArg=i||this}return i(e,t),e.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(r.Subscriber)},23491:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.mapTo=function(t){return function(e){return e.lift(new s(t))}};var s=function(){function t(t){this.value=t}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.value))},t}(),o=function(t){function e(e,n){t.call(this,e),this.value=n}return i(e,t),e.prototype._next=function(t){this.destination.next(this.value)},e}(r.Subscriber)},71177:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(94429);e.materialize=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype._next=function(t){this.destination.next(s.Notification.createNext(t))},e.prototype._error=function(t){var e=this.destination;e.next(s.Notification.createError(t)),e.complete()},e.prototype._complete=function(){var t=this.destination;t.next(s.Notification.createComplete()),t.complete()},e}(r.Subscriber)},33499:function(t,e,n){"use strict";var i=n(97369);e.max=function(t){return i.reduce("function"==typeof t?function(e,n){return t(e,n)>0?e:n}:function(t,e){return t>e?t:e})}},56098:function(t,e,n){"use strict";var i=n(38781),r=n(38781);e.mergeStatic=r.merge,e.merge=function(){for(var t=[],e=0;e0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(s.OuterSubscriber);e.MergeMapSubscriber=a},6693:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.mergeMapTo=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"number"==typeof e&&(n=e,e=null),function(i){return i.lift(new o(t,e,n))}};var o=function(){function t(t,e,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.ish=t,this.resultSelector=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.ish,this.resultSelector,this.concurrent))},t}();e.MergeMapToOperator=o;var a=function(t){function e(e,n,i,r){void 0===r&&(r=Number.POSITIVE_INFINITY),t.call(this,e),this.ish=n,this.resultSelector=i,this.concurrent=r,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){if(this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber);e.MergeMapToSubscriber=a},7550:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(33463),s=n(85814),o=n(93658),a=n(84308);e.mergeScan=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(i){return i.lift(new l(t,e,n))}};var l=function(){function t(t,e,n){this.accumulator=t,this.seed=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.accumulator,this.seed,this.concurrent))},t}();e.MergeScanOperator=l;var c=function(t){function e(e,n,i,r){t.call(this,e),this.accumulator=n,this.acc=i,this.concurrent=r,this.hasValue=!1,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){if(this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())},e}(a.OuterSubscriber);e.MergeScanSubscriber=c},51213:function(t,e,n){"use strict";var i=n(97369);e.min=function(t){return i.reduce("function"==typeof t?function(e,n){return t(e,n)<0?e:n}:function(t,e){return t=2?function(n){return o.pipe(i.scan(t,e),r.takeLast(1),s.defaultIfEmpty(e))(n)}:function(e){return o.pipe(i.scan(function(e,n,i){return t(e,n,i+1)}),r.takeLast(1))(e)}}},1694:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.refCount=function(){return function(t){return t.lift(new s(t))}};var s=function(){function t(t){this.connectable=t}return t.prototype.call=function(t,e){var n=this.connectable;n._refCount++;var i=new o(t,n),r=e.subscribe(i);return i.closed||(i.connection=n.connect()),r},t}(),o=function(t){function e(e,n){t.call(this,e),this.connectable=n}return i(e,t),e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._refCount;if(e<=0)this.connection=null;else if(t._refCount=e-1,e>1)this.connection=null;else{var n=this.connection,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null},e}(r.Subscriber)},15329:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(70481);e.repeat=function(t){return void 0===t&&(t=-1),function(e){return 0===t?new s.EmptyObservable:e.lift(new o(t<0?-1:t-1,e))}};var o=function(){function t(t,e){this.count=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.count,this.source))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.count=n,this.source=i}return i(e,t),e.prototype.complete=function(){if(!this.isStopped){var e=this.source,n=this.count;if(0===n)return t.prototype.complete.call(this);n>-1&&(this.count=n-1),e.subscribe(this._unsubscribeAndRecycle())}},e}(r.Subscriber)},63964:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.repeatWhen=function(t){return function(e){return e.lift(new c(t))}};var c=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.notifier,e))},t}(),u=function(t){function e(e,n,i){t.call(this,e),this.notifier=n,this.source=i,this.sourceIsBeingSubscribedTo=!0}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.sourceIsBeingSubscribedTo=!0,this.source.subscribe(this)},e.prototype.notifyComplete=function(e){if(!1===this.sourceIsBeingSubscribedTo)return t.prototype.complete.call(this)},e.prototype.complete=function(){if(this.sourceIsBeingSubscribedTo=!1,!this.isStopped){if(this.retries||this.subscribeToRetries(),!this.retriesSubscription||this.retriesSubscription.closed)return t.prototype.complete.call(this);this._unsubscribeAndRecycle(),this.notifications.next()}},e.prototype._unsubscribe=function(){var t=this.notifications,e=this.retriesSubscription;t&&(t.unsubscribe(),this.notifications=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null},e.prototype._unsubscribeAndRecycle=function(){var e=this,n=e.notifications,i=e.retries,r=e.retriesSubscription;return this.notifications=null,this.retries=null,this.retriesSubscription=null,t.prototype._unsubscribeAndRecycle.call(this),this.notifications=n,this.retries=i,this.retriesSubscription=r,this},e.prototype.subscribeToRetries=function(){this.notifications=new r.Subject;var e=s.tryCatch(this.notifier)(this.notifications);if(e===o.errorObject)return t.prototype.complete.call(this);this.retries=e,this.retriesSubscription=l.subscribeToResult(this,e)},e}(a.OuterSubscriber)},40241:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.retry=function(t){return void 0===t&&(t=-1),function(e){return e.lift(new s(t,e))}};var s=function(){function t(t,e){this.count=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.count,this.source))},t}(),o=function(t){function e(e,n,i){t.call(this,e),this.count=n,this.source=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=this.source,i=this.count;if(0===i)return t.prototype.error.call(this,e);i>-1&&(this.count=i-1),n.subscribe(this._unsubscribeAndRecycle())}},e}(r.Subscriber)},23896:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.retryWhen=function(t){return function(e){return e.lift(new c(t,e))}};var c=function(){function t(t,e){this.notifier=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.notifier,this.source))},t}(),u=function(t){function e(e,n,i){t.call(this,e),this.notifier=n,this.source=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=this.errors,i=this.retries,a=this.retriesSubscription;if(i)this.errors=null,this.retriesSubscription=null;else{if(n=new r.Subject,(i=s.tryCatch(this.notifier)(n))===o.errorObject)return t.prototype.error.call(this,o.errorObject.e);a=l.subscribeToResult(this,i)}this._unsubscribeAndRecycle(),this.errors=n,this.retries=i,this.retriesSubscription=a,n.next(e)}},e.prototype._unsubscribe=function(){var t=this.errors,e=this.retriesSubscription;t&&(t.unsubscribe(),this.errors=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null},e.prototype.notifyNext=function(t,e,n,i,r){var s=this,o=s.errors,a=s.retries,l=s.retriesSubscription;this.errors=null,this.retries=null,this.retriesSubscription=null,this._unsubscribeAndRecycle(),this.errors=o,this.retries=a,this.retriesSubscription=l,this.source.subscribe(this)},e}(a.OuterSubscriber)},92043:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.sample=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){var n=new a(t),i=e.subscribe(n);return i.add(s.subscribeToResult(n,this.notifier)),i},t}(),a=function(t){function e(){t.apply(this,arguments),this.hasValue=!1}return i(e,t),e.prototype._next=function(t){this.value=t,this.hasValue=!0},e.prototype.notifyNext=function(t,e,n,i,r){this.emitValue()},e.prototype.notifyComplete=function(){this.emitValue()},e.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))},e}(r.OuterSubscriber)},71239:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(90680);e.sampleTime=function(t,e){return void 0===e&&(e=s.async),function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.period=t,this.scheduler=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.period,this.scheduler))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.period=n,this.scheduler=i,this.hasValue=!1,this.add(i.schedule(l,n,{subscriber:this,period:n}))}return i(e,t),e.prototype._next=function(t){this.lastValue=t,this.hasValue=!0},e.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))},e}(r.Subscriber);function l(t){var e=t.period;t.subscriber.notifyNext(),this.schedule(t,e)}},64949:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.scan=function(t,e){var n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new s(t,e,n))}};var s=function(){function t(t,e,n){void 0===n&&(n=!1),this.accumulator=t,this.seed=e,this.hasSeed=n}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.accumulator,this.seed,this.hasSeed))},t}(),o=function(t){function e(e,n,i,r){t.call(this,e),this.accumulator=n,this._seed=i,this.hasSeed=r,this.index=0}return i(e,t),Object.defineProperty(e.prototype,"seed",{get:function(){return this._seed},set:function(t){this.hasSeed=!0,this._seed=t},enumerable:!0,configurable:!0}),e.prototype._next=function(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)},e.prototype._tryNext=function(t){var e,n=this.index++;try{e=this.accumulator(this.seed,t,n)}catch(i){this.destination.error(i)}this.seed=e,this.destination.next(e)},e}(r.Subscriber)},88948:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(33463),o=n(85814);e.sequenceEqual=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.compareTo=t,this.comparor=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.compareTo,this.comparor))},t}();e.SequenceEqualOperator=a;var l=function(t){function e(e,n,i){t.call(this,e),this.compareTo=n,this.comparor=i,this._a=[],this._b=[],this._oneComplete=!1,this.add(n.subscribe(new c(e,this)))}return i(e,t),e.prototype._next=function(t){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(t),this.checkValues())},e.prototype._complete=function(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0},e.prototype.checkValues=function(){for(var t=this,e=t._a,n=t._b,i=t.comparor;e.length>0&&n.length>0;){var r=e.shift(),a=n.shift(),l=!1;i?(l=s.tryCatch(i)(r,a))===o.errorObject&&this.destination.error(o.errorObject.e):l=r===a,l||this.emit(!1)}},e.prototype.emit=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype.nextB=function(t){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(t),this.checkValues())},e}(r.Subscriber);e.SequenceEqualSubscriber=l;var c=function(t){function e(e,n){t.call(this,e),this.parent=n}return i(e,t),e.prototype._next=function(t){this.parent.nextB(t)},e.prototype._error=function(t){this.parent.error(t)},e.prototype._complete=function(){this.parent._complete()},e}(r.Subscriber)},35473:function(t,e,n){"use strict";var i=n(27372),r=n(1694),s=n(2369);function o(){return new s.Subject}e.share=function(){return function(t){return r.refCount()(i.multicast(o)(t))}}},62704:function(t,e,n){"use strict";var i=n(81959);e.shareReplay=function(t,e,n){return function(r){return r.lift(function(t,e,n){var r,s,o=0,a=!1,l=!1;return function(c){o++,(!r||a)&&(a=!1,r=new i.ReplaySubject(t,e,n),s=c.subscribe({next:function(t){r.next(t)},error:function(t){a=!0,r.error(t)},complete:function(){l=!0,r.complete()}}));var u=r.subscribe(this);return function(){o--,u.unsubscribe(),s&&0===o&&l&&s.unsubscribe()}}}(t,e,n))}}},92223:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.single=function(t){return function(e){return e.lift(new o(t,e))}};var o=function(){function t(t,e){this.predicate=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.source))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.predicate=n,this.source=i,this.seenValue=!1,this.index=0}return i(e,t),e.prototype.applySingleValue=function(t){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=t)},e.prototype._next=function(t){var e=this.index++;this.predicate?this.tryNext(t,e):this.applySingleValue(t)},e.prototype.tryNext=function(t,e){try{this.predicate(t,e,this.source)&&this.applySingleValue(t)}catch(n){this.destination.error(n)}},e.prototype._complete=function(){var t=this.destination;this.index>0?(t.next(this.seenValue?this.singleValue:void 0),t.complete()):t.error(new s.EmptyError)},e}(r.Subscriber)},11189:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.skip=function(t){return function(e){return e.lift(new s(t))}};var s=function(){function t(t){this.total=t}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.total))},t}(),o=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return i(e,t),e.prototype._next=function(t){++this.count>this.total&&this.destination.next(t)},e}(r.Subscriber)},73346:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758);e.skipLast=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){if(this._skipCount=t,this._skipCount<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(0===this._skipCount?new r.Subscriber(t):new a(t,this._skipCount))},t}(),a=function(t){function e(e,n){t.call(this,e),this._skipCount=n,this._count=0,this._ring=new Array(n)}return i(e,t),e.prototype._next=function(t){var e=this._skipCount,n=this._count++;if(n1?new i.ArrayObservable(t,n):new s.EmptyObservable(n),e)}}},10118:function(t,e,n){"use strict";var i=n(82966);e.subscribeOn=function(t,e){return void 0===e&&(e=0),function(n){return n.lift(new r(t,e))}};var r=function(){function t(t,e){this.scheduler=t,this.delay=e}return t.prototype.call=function(t,e){return new i.SubscribeOnObservable(e,this.delay,this.scheduler).subscribe(t)},t}()},77243:function(t,e,n){"use strict";var i=n(18483),r=n(5027);e.switchAll=function(){return i.switchMap(r.identity)}},18483:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.switchMap=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.resultSelector=i,this.index=0}return i(e,t),e.prototype._next=function(t){var e,n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this._innerSub(e,t,n)},e.prototype._innerSub=function(t,e,n){var i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=s.subscribeToResult(this,t,e,n))},e.prototype._complete=function(){var e=this.innerSubscription;(!e||e.closed)&&t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){this.resultSelector?this._tryNotifyNext(t,e,n,i):this.destination.next(e)},e.prototype._tryNotifyNext=function(t,e,n,i){var r;try{r=this.resultSelector(t,e,n,i)}catch(s){return void this.destination.error(s)}this.destination.next(r)},e}(r.OuterSubscriber)},10684:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.switchMapTo=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.observable=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.observable,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.inner=n,this.resultSelector=i,this.index=0}return i(e,t),e.prototype._next=function(t){var e=this.innerSubscription;e&&e.unsubscribe(),this.add(this.innerSubscription=s.subscribeToResult(this,this.inner,t,this.index++))},e.prototype._complete=function(){var e=this.innerSubscription;(!e||e.closed)&&t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){var s=this.destination;this.resultSelector?this.tryResultSelector(t,e,n,i):s.next(e)},e.prototype.tryResultSelector=function(t,e,n,i){var r,s=this.resultSelector,o=this.destination;try{r=s(t,e,n,i)}catch(a){return void o.error(a)}o.next(r)},e}(r.OuterSubscriber)},44396:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758),o=n(70481);e.take=function(t){return function(e){return 0===t?new o.EmptyObservable:e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return i(e,t),e.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},e}(r.Subscriber)},73935:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758),o=n(70481);e.takeLast=function(t){return function(e){return 0===t?new o.EmptyObservable:e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.ring=new Array,this.count=0}return i(e,t),e.prototype._next=function(t){var e=this.ring,n=this.total,i=this.count++;e.length0)for(var n=this.count>=this.total?this.total:this.count,i=this.ring,r=0;r0?this.startWindowEvery:this.windowSize,n=this.destination,i=this.windowSize,r=this.windows,o=r.length,a=0;a=0&&l%e==0&&!this.closed&&r.shift().complete(),++this.count%e==0&&!this.closed){var c=new s.Subject;r.push(c),n.next(c)}},e.prototype._error=function(t){var e=this.windows;if(e)for(;e.length>0&&!this.closed;)e.shift().error(t);this.destination.error(t)},e.prototype._complete=function(){var t=this.windows;if(t)for(;t.length>0&&!this.closed;)t.shift().complete();this.destination.complete()},e.prototype._unsubscribe=function(){this.count=0,this.windows=null},e}(r.Subscriber)},42603:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(90680),o=n(42109),a=n(39479),l=n(41503);e.windowTime=function(t){var e=s.async,n=null,i=Number.POSITIVE_INFINITY;return l.isScheduler(arguments[3])&&(e=arguments[3]),l.isScheduler(arguments[2])?e=arguments[2]:a.isNumeric(arguments[2])&&(i=arguments[2]),l.isScheduler(arguments[1])?e=arguments[1]:a.isNumeric(arguments[1])&&(n=arguments[1]),function(r){return r.lift(new c(t,n,i,e))}};var c=function(){function t(t,e,n,i){this.windowTimeSpan=t,this.windowCreationInterval=e,this.maxWindowSize=n,this.scheduler=i}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))},t}(),u=function(t){function e(){t.apply(this,arguments),this._numberOfNextedValues=0}return i(e,t),e.prototype.next=function(e){this._numberOfNextedValues++,t.prototype.next.call(this,e)},Object.defineProperty(e.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0}),e}(r.Subject),h=function(t){function e(e,n,i,r,s){t.call(this,e),this.destination=e,this.windowTimeSpan=n,this.windowCreationInterval=i,this.maxWindowSize=r,this.scheduler=s,this.windows=[];var o=this.openWindow();if(null!==i&&i>=0){var a={windowTimeSpan:n,windowCreationInterval:i,subscriber:this,scheduler:s};this.add(s.schedule(f,n,{subscriber:this,window:o,context:null})),this.add(s.schedule(p,i,a))}else this.add(s.schedule(d,n,{subscriber:this,window:o,windowTimeSpan:n}))}return i(e,t),e.prototype._next=function(t){for(var e=this.windows,n=e.length,i=0;i=this.maxWindowSize&&this.closeWindow(r))}},e.prototype._error=function(t){for(var e=this.windows;e.length>0;)e.shift().error(t);this.destination.error(t)},e.prototype._complete=function(){for(var t=this.windows;t.length>0;){var e=t.shift();e.closed||e.complete()}this.destination.complete()},e.prototype.openWindow=function(){var t=new u;return this.windows.push(t),this.destination.next(t),t},e.prototype.closeWindow=function(t){t.complete();var e=this.windows;e.splice(e.indexOf(t),1)},e}(o.Subscriber);function d(t){var e=t.subscriber,n=t.windowTimeSpan,i=t.window;i&&e.closeWindow(i),t.window=e.openWindow(),this.schedule(t,n)}function p(t){var e=t.windowTimeSpan,n=t.subscriber,i=t.scheduler,r=t.windowCreationInterval,s=n.openWindow(),o=this,a={action:o,subscription:null};a.subscription=i.schedule(f,e,{subscriber:n,window:s,context:a}),o.add(a.subscription),o.schedule(t,r)}function f(t){var e=t.subscriber,n=t.window,i=t.context;i&&i.action&&i.subscription&&i.action.remove(i.subscription),e.closeWindow(n)}},59048:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(72293),o=n(33463),a=n(85814),l=n(84308),c=n(93658);e.windowToggle=function(t,e){return function(n){return n.lift(new u(t,e))}};var u=function(){function t(t,e){this.openings=t,this.closingSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.openings,this.closingSelector))},t}(),h=function(t){function e(e,n,i){t.call(this,e),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(this.openSubscription=c.subscribeToResult(this,n,n))}return i(e,t),e.prototype._next=function(t){var e=this.contexts;if(e)for(var n=e.length,i=0;i0){var o=s.indexOf(n);-1!==o&&s.splice(o,1)}},e.prototype.notifyComplete=function(){},e.prototype._next=function(t){if(0===this.toRespond.length){var e=[t].concat(this.values);this.project?this._tryProject(e):this.destination.next(e)}},e.prototype._tryProject=function(t){var e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(r.OuterSubscriber)},9477:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(96177),s=n(48242),o=n(42109),a=n(84308),l=n(93658),c=n(72121);function u(){for(var t=[],e=0;ethis.index},t.prototype.hasCompleted=function(){return this.array.length===this.index},t}(),g=function(t){function e(e,n,i){t.call(this,e),this.parent=n,this.observable=i,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}return i(e,t),e.prototype[c.iterator]=function(){return this},e.prototype.next=function(){var t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}},e.prototype.hasValue=function(){return this.buffer.length>0},e.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},e.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},e.prototype.notifyNext=function(t,e,n,i,r){this.buffer.push(e),this.parent.checkIterators()},e.prototype.subscribe=function(t,e){return l.subscribeToResult(this,this.observable,this,e)},e}(a.OuterSubscriber)},33310:function(t,e,n){"use strict";var i=n(9477);e.zipAll=function(t){return function(e){return e.lift(new i.ZipOperator(t))}}},28101:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this)}return i(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(n(72293).Subscription);e.Action=r},67529:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(12624),s=n(95018),o=function(t){function e(e,n){t.call(this,e,n),this.scheduler=e,this.work=n}return i(e,t),e.prototype.requestAsyncId=function(e,n,i){return void 0===i&&(i=0),null!==i&&i>0?t.prototype.requestAsyncId.call(this,e,n,i):(e.actions.push(this),e.scheduled||(e.scheduled=s.AnimationFrame.requestAnimationFrame(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,i);0===e.actions.length&&(s.AnimationFrame.cancelAnimationFrame(n),e.scheduled=void 0)},e}(r.AsyncAction);e.AnimationFrameAction=o},68909:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,i=-1,r=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++i0?t.prototype.requestAsyncId.call(this,e,n,i):(e.actions.push(this),e.scheduled||(e.scheduled=r.Immediate.setImmediate(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,i);0===e.actions.length&&(r.Immediate.clearImmediate(n),e.scheduled=void 0)},e}(n(12624).AsyncAction);e.AsapAction=s},25766:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,i=-1,r=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++i0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,i){return void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,i):e.flush(this)},e}(n(12624).AsyncAction);e.QueueAction=r},77373:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e}(n(42704).AsyncScheduler);e.QueueScheduler=r},18353:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(12624),s=function(t){function e(e,n){var i=this;void 0===e&&(e=o),void 0===n&&(n=Number.POSITIVE_INFINITY),t.call(this,e,function(){return i.frame}),this.maxFrames=n,this.frame=0,this.index=-1}return i(e,t),e.prototype.flush=function(){for(var t,e,n=this.actions,i=this.maxFrames;(e=n.shift())&&(this.frame=e.delay)<=i&&!(t=e.execute(e.state,e.delay)););if(t){for(;e=n.shift();)e.unsubscribe();throw t}},e.frameTimeFactor=10,e}(n(42704).AsyncScheduler);e.VirtualTimeScheduler=s;var o=function(t){function e(e,n,i){void 0===i&&(i=e.index+=1),t.call(this,e,n),this.scheduler=e,this.work=n,this.index=i,this.active=!0,this.index=e.index=i}return i(e,t),e.prototype.schedule=function(n,i){if(void 0===i&&(i=0),!this.id)return t.prototype.schedule.call(this,n,i);this.active=!1;var r=new e(this.scheduler,this.work);return this.add(r),r.schedule(n,i)},e.prototype.requestAsyncId=function(t,n,i){void 0===i&&(i=0),this.delay=t.frame+i;var r=t.actions;return r.push(this),r.sort(e.sortActions),!0},e.prototype.recycleAsyncId=function(t,e,n){void 0===n&&(n=0)},e.prototype._execute=function(e,n){if(!0===this.active)return t.prototype._execute.call(this,e,n)},e.sortActions=function(t,e){return t.delay===e.delay?t.index===e.index?0:t.index>e.index?1:-1:t.delay>e.delay?1:-1},e}(r.AsyncAction);e.VirtualAction=o},12948:function(t,e,n){"use strict";var i=n(67529),r=n(68909);e.animationFrame=new r.AnimationFrameScheduler(i.AnimationFrameAction)},85522:function(t,e,n){"use strict";var i=n(3496),r=n(25766);e.asap=new r.AsapScheduler(i.AsapAction)},90680:function(t,e,n){"use strict";var i=n(12624),r=n(42704);e.async=new r.AsyncScheduler(i.AsyncAction)},97088:function(t,e,n){"use strict";var i=n(7100),r=n(77373);e.queue=new r.QueueScheduler(i.QueueAction)},72121:function(t,e,n){"use strict";var i=n(80019);function r(t){var e=t.Symbol;if("function"==typeof e)return e.iterator||(e.iterator=e("iterator polyfill")),e.iterator;var n=t.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var i=t.Map;if(i)for(var r=Object.getOwnPropertyNames(i.prototype),s=0;s0;)e.shift().setup();t.prototype.flush.call(this);for(var n=this.flushTests.filter(function(t){return t.ready});n.length>0;){var i=n.shift();this.assertDeepEqual(i.actual,i.expected)}},e.parseMarblesAsSubscriptions=function(t){if("string"!=typeof t)return new l.SubscriptionLog(Number.POSITIVE_INFINITY);for(var e=t.length,n=-1,i=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,s=0;s-1?n:o;break;case"!":if(r!==Number.POSITIVE_INFINITY)throw new Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");r=n>-1?n:o;break;default:throw new Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+a+"'.")}}return r<0?new l.SubscriptionLog(i):new l.SubscriptionLog(i,r)},e.parseMarbles=function(t,e,n,i){if(void 0===i&&(i=!1),-1!==t.indexOf("!"))throw new Error('conventional marble diagrams cannot have the unsubscription marker "!"');for(var r=t.length,a=[],l=t.indexOf("^"),c=-1===l?0:l*-this.frameTimeFactor,u="object"!=typeof e?function(t){return t}:function(t){return i&&e[t]instanceof o.ColdObservable?e[t].messages:e[t]},h=-1,d=0;d-1?h:p,notification:f})}return a},e}(c.VirtualTimeScheduler);e.TestScheduler=u},95018:function(t,e,n){"use strict";var i=n(80019),r=function(t){t.requestAnimationFrame?(this.cancelAnimationFrame=t.cancelAnimationFrame.bind(t),this.requestAnimationFrame=t.requestAnimationFrame.bind(t)):t.mozRequestAnimationFrame?(this.cancelAnimationFrame=t.mozCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.mozRequestAnimationFrame.bind(t)):t.webkitRequestAnimationFrame?(this.cancelAnimationFrame=t.webkitCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.webkitRequestAnimationFrame.bind(t)):t.msRequestAnimationFrame?(this.cancelAnimationFrame=t.msCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.msRequestAnimationFrame.bind(t)):t.oRequestAnimationFrame?(this.cancelAnimationFrame=t.oCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.oRequestAnimationFrame.bind(t)):(this.cancelAnimationFrame=t.clearTimeout.bind(t),this.requestAnimationFrame=function(e){return t.setTimeout(e,1e3/60)})};e.RequestAnimationFrameDefinition=r,e.AnimationFrame=new r(i.root)},11758:function(t,e){"use strict";var n=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},i=function(t){function e(){var e=t.call(this,"argument out of range");this.name=e.name="ArgumentOutOfRangeError",this.stack=e.stack,this.message=e.message}return n(e,t),e}(Error);e.ArgumentOutOfRangeError=i},44640:function(t,e){"use strict";var n=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},i=function(t){function e(){var e=t.call(this,"no elements in sequence");this.name=e.name="EmptyError",this.stack=e.stack,this.message=e.message}return n(e,t),e}(Error);e.EmptyError=i},30764:function(t,e){"use strict";var n=function(){function t(){this.values={}}return t.prototype.delete=function(t){return this.values[t]=null,!0},t.prototype.set=function(t,e){return this.values[t]=e,this},t.prototype.get=function(t){return this.values[t]},t.prototype.forEach=function(t,e){var n=this.values;for(var i in n)n.hasOwnProperty(i)&&null!==n[i]&&t.call(e,n[i],i)},t.prototype.clear=function(){this.values={}},t}();e.FastMap=n},42982:function(t,e,n){"use strict";var i=n(80019),r=function(){function t(t){if(this.root=t,t.setImmediate&&"function"==typeof t.setImmediate)this.setImmediate=t.setImmediate.bind(t),this.clearImmediate=t.clearImmediate.bind(t);else{this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.setImmediate=this.canUseProcessNextTick()?this.createProcessNextTickSetImmediate():this.canUsePostMessage()?this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.createReadyStateChangeSetImmediate():this.createSetTimeoutSetImmediate();var e=function t(e){delete t.instance.tasksByHandle[e]};e.instance=this,this.clearImmediate=e}}return t.prototype.identify=function(t){return this.root.Object.prototype.toString.call(t)},t.prototype.canUseProcessNextTick=function(){return"[object process]"===this.identify(this.root.process)},t.prototype.canUseMessageChannel=function(){return Boolean(this.root.MessageChannel)},t.prototype.canUseReadyStateChange=function(){var t=this.root.document;return Boolean(t&&"onreadystatechange"in t.createElement("script"))},t.prototype.canUsePostMessage=function(){var t=this.root;if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}return!1},t.prototype.partiallyApplied=function(t){for(var e=[],n=1;n=0}},1856:function(t,e){"use strict";e.isObject=function(t){return null!=t&&"object"==typeof t}},35130:function(t,e){"use strict";e.isPromise=function(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}},41503:function(t,e){"use strict";e.isScheduler=function(t){return t&&"function"==typeof t.schedule}},68668:function(t,e){"use strict";e.noop=function(){}},67239:function(t,e){"use strict";e.not=function(t,e){function n(){return!n.pred.apply(n.thisArg,arguments)}return n.pred=t,n.thisArg=e,n}},10142:function(t,e,n){"use strict";var i=n(68668);function r(t){return t?1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)}:i.noop}e.pipe=function(){for(var t=[],e=0;e=n?{done:!0}:{done:!1,value:t[i++]}})},e.empty=function(){var t=new e(null);return t.done=!0,t},e.is=function(t){return t instanceof e||"object"==typeof t&&null!==t&&"function"==typeof t.next},t.exports=e},97310:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.isMobile=function(){return void 0!==r.window.orientation},e.default=function(t){if(!t&&!(0,s.default)())return"Node";if((0,o.default)(t))return"Electron";var e="undefined"!=typeof navigator?navigator:{},n=t||e.userAgent||"";if(n.indexOf("Edge")>-1)return"Edge";var i=-1!==n.indexOf("MSIE "),a=-1!==n.indexOf("Trident/");return i||a?"IE":r.window.chrome?"Chrome":r.window.safari?"Safari":r.window.mozInnerScreenX?"Firefox":"Unknown"};var r=n(41151),s=i(n(61602)),o=i(n(22344))},41151:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.console=e.process=e.document=e.global=e.window=e.self=void 0;var r=i(n(34321)),s={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&process};e.self=s.self||s.window||s.global,e.window=s.window||s.self||s.global,e.global=s.global||s.self||s.window,e.document=s.document||{},e.process=s.process||{};var o=console;e.console=o},84761:function(t,e,n){"use strict";var i=n(61948),r=n(34321);Object.defineProperty(e,"CO",{enumerable:!0,get:function(){return s.global}}),Object.defineProperty(e,"qs",{enumerable:!0,get:function(){return o.default}});var s=n(41151),o=(l(n(61602)),l(n(97310)));i(n(22344));function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}function l(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!==r(t)&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in t)if("default"!==o&&Object.prototype.hasOwnProperty.call(t,o)){var l=s?Object.getOwnPropertyDescriptor(t,o):null;l&&(l.get||l.set)?Object.defineProperty(i,o,l):i[o]=t[o]}return i.default=t,n&&n.set(t,i),i}},61602:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.default=o,e.isBrowserMainThread=function(){return o()&&"undefined"!=typeof document};var r=i(n(34321)),s=i(n(22344));function o(){return!("object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,s.default)()}},22344:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){if("undefined"!=typeof window&&"object"===(0,r.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,r.default)(process.versions)&&Boolean(process.versions.electron))return!0;var e="object"===("undefined"==typeof navigator?"undefined":(0,r.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||e;return!!(n&&n.indexOf("Electron")>=0)};var r=i(n(34321))},86991:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(n(14180),e),r(n(75103),e),r(n(48965),e),r(n(32595),e),r(n(82417),e),r(n(92451),e),r(n(17735),e)},14180:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BlankNode=void 0,e.BlankNode=class{constructor(t){this.termType="BlankNode",this.value=t}equals(t){return!!t&&"BlankNode"===t.termType&&t.value===this.value}}},75103:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataFactory=void 0;const i=n(14180),r=n(48965),s=n(32595),o=n(82417),a=n(92451),l=n(17735);let c=0;e.DataFactory=class{constructor(t){this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||`df_${c++}_`}namedNode(t){return new o.NamedNode(t)}blankNode(t){return new i.BlankNode(t||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(t,e){return new s.Literal(t,e)}variable(t){return new l.Variable(t)}defaultGraph(){return r.DefaultGraph.INSTANCE}quad(t,e,n,i){return new a.Quad(t,e,n,i||this.defaultGraph())}fromTerm(t){switch(t.termType){case"NamedNode":return this.namedNode(t.value);case"BlankNode":return this.blankNode(t.value);case"Literal":return t.language?this.literal(t.value,t.language):t.datatype.equals(s.Literal.XSD_STRING)?this.literal(t.value):this.literal(t.value,this.fromTerm(t.datatype));case"Variable":return this.variable(t.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(t.subject),this.fromTerm(t.predicate),this.fromTerm(t.object),this.fromTerm(t.graph))}}fromQuad(t){return this.fromTerm(t)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},48965:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultGraph=void 0;class n{constructor(){this.termType="DefaultGraph",this.value=""}equals(t){return!!t&&"DefaultGraph"===t.termType}}e.DefaultGraph=n,n.INSTANCE=new n},32595:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Literal=void 0;const i=n(82417);class r{constructor(t,e){this.termType="Literal",this.value=t,"string"==typeof e?(this.language=e,this.datatype=r.RDF_LANGUAGE_STRING):e?(this.language="",this.datatype=e):(this.language="",this.datatype=r.XSD_STRING)}equals(t){return!!t&&"Literal"===t.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}e.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},82417:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NamedNode=void 0,e.NamedNode=class{constructor(t){this.termType="NamedNode",this.value=t}equals(t){return!!t&&"NamedNode"===t.termType&&t.value===this.value}}},92451:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Quad=void 0,e.Quad=class{constructor(t,e,n,i){this.termType="Quad",this.value="",this.subject=t,this.predicate=e,this.object=n,this.graph=i}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&this.subject.equals(t.subject)&&this.predicate.equals(t.predicate)&&this.object.equals(t.object)&&this.graph.equals(t.graph)}}},17735:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Variable=void 0,e.Variable=class{constructor(t){this.termType="Variable",this.value=t}equals(t){return!!t&&"Variable"===t.termType&&t.value===this.value}}},31609:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.getSupportedJavaScriptPrimitives=e.getSupportedRdfDatatypes=e.getTermRaw=e.toRdf=e.fromRdf=void 0;const s=n(86991),o=n(9938),a=n(66060);r(n(9938),e),r(n(88871),e),r(n(66060),e);const l=new s.DataFactory,c=new a.Translator;function u(t,e){return c.fromRdf(t,e)}c.registerHandler(new o.TypeHandlerString,o.TypeHandlerString.TYPES.map(t=>l.namedNode(t)),["string"]),c.registerHandler(new o.TypeHandlerBoolean,[o.TypeHandlerBoolean.TYPE].map(t=>l.namedNode(t)),["boolean"]),c.registerHandler(new o.TypeHandlerNumberDouble,o.TypeHandlerNumberDouble.TYPES.map(t=>l.namedNode(t)),["number"]),c.registerHandler(new o.TypeHandlerNumberInteger,o.TypeHandlerNumberInteger.TYPES.map(t=>l.namedNode(t)),["number"]),c.registerHandler(new o.TypeHandlerDate,o.TypeHandlerDate.TYPES.map(t=>l.namedNode(t)),["object"]),e.fromRdf=u,e.toRdf=function(t,e){return e&&"namedNode"in e&&(e={dataFactory:e}),(e=e||{})&&!e.dataFactory&&(e.dataFactory=l),c.toRdf(t,e)},e.getTermRaw=function(t,e){return"Literal"===t.termType?u(t,e):t.value},e.getSupportedRdfDatatypes=function(){return c.getSupportedRdfDatatypes()},e.getSupportedJavaScriptPrimitives=function(){return c.getSupportedJavaScriptPrimitives()}},88871:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},66060:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Translator=void 0,e.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(t){throw new Error(`Invalid RDF ${t.datatype.value} value: '${t.value}'`)}registerHandler(t,e,n){for(const i of e)this.supportedRdfDatatypes.push(i),this.fromRdfHandlers[i.value]=t;for(const i of n){let e=this.toRdfHandlers[i];e||(this.toRdfHandlers[i]=e=[]),e.push(t)}}fromRdf(t,e){const n=this.fromRdfHandlers[t.datatype.value];return n?n.fromRdf(t,e):t.value}toRdf(t,e){const n=this.toRdfHandlers[typeof t];if(n)for(const i of n){const n=i.toRdf(t,e);if(n)return n}throw new Error(`Invalid JavaScript value: '${t}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},80727:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerBoolean=void 0;const i=n(66060);class r{fromRdf(t,e){switch(t.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return e&&i.Translator.incorrectRdfDataType(t),!1}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(t?"true":"false",e||n.namedNode(r.TYPE))}}e.TypeHandlerBoolean=r,r.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},52525:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerDate=void 0;const i=n(66060);class r{fromRdf(t,e){switch(e&&!t.value.match(r.VALIDATORS[t.datatype.value.substr(33,t.datatype.value.length)])&&i.Translator.incorrectRdfDataType(t),t.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(t.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const e=t.value.split("-");return new Date(0,parseInt(e[0],10)-1,parseInt(e[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(t.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(t.value+"-01");default:return new Date(t.value)}}toRdf(t,{datatype:e,dataFactory:n}){if(e=e||n.namedNode(r.TYPES[0]),!(t instanceof Date))return null;const i=t;let s;switch(e.value){case"http://www.w3.org/2001/XMLSchema#gDay":s=String(i.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":s=i.getUTCMonth()+1+"-"+i.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":s=String(i.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":s=i.getUTCFullYear()+"-"+(i.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":s=i.toISOString().replace(/T.*$/,"");break;default:s=i.toISOString()}return n.literal(s,e)}}e.TypeHandlerDate=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],r.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},38554:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerNumberDouble=void 0;const i=n(66060);class r{fromRdf(t,e){const n=parseFloat(t.value);return e&&isNaN(n)&&i.Translator.incorrectRdfDataType(t),n}toRdf(t,{datatype:e,dataFactory:n}){return e=e||n.namedNode(r.TYPES[0]),isNaN(t)?n.literal("NaN",e):isFinite(t)?t%1==0?null:n.literal(t.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),e):n.literal(t>0?"INF":"-INF",e)}}e.TypeHandlerNumberDouble=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},37750:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerNumberInteger=void 0;const i=n(66060);class r{fromRdf(t,e){const n=parseInt(t.value,10);return e&&(isNaN(n)||t.value.indexOf(".")>=0)&&i.Translator.incorrectRdfDataType(t),n}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(String(t),e||n.namedNode(t<=r.MAX_INT&&t>=r.MIN_INT?r.TYPES[0]:r.TYPES[1]))}}e.TypeHandlerNumberInteger=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],r.MAX_INT=2147483647,r.MIN_INT=-2147483648},14608:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerString=void 0;class n{fromRdf(t){return t.value}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(t,e)}}e.TypeHandlerString=n,n.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(n(80727),e),r(n(52525),e),r(n(38554),e),r(n(37750),e),r(n(14608),e)},51316:function(t,e,n){"use strict";var i={};n.r(i),n.d(i,{decode:function(){return xj},encode:function(){return Cj}});var r={};n.r(r),n.d(r,{decode:function(){return Aj},encode:function(){return Ij}});var s={};n.r(s),n.d(s,{decode:function(){return Dj},encode:function(){return Nj}});var o={};function a(t){return"function"==typeof t}n.r(o),n.d(o,{decode:function(){return jj},encode:function(){return Bj}});let l=!1;const c={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else l&&console.log("RxJS: Back to a better error behavior. Thank you. <3");l=t},get useDeprecatedSynchronousErrorHandling(){return l}};function u(t){setTimeout(()=>{throw t},0)}const h={closed:!0,next(t){},error(t){if(c.useDeprecatedSynchronousErrorHandling)throw t;u(t)},complete(){}},d=Array.isArray||(t=>t&&"number"==typeof t.length);function p(t){return null!==t&&"object"==typeof t}const f=(()=>{function t(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t})();class g{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let t;if(this.closed)return;let{_parentOrParents:e,_ctorUnsubscribe:n,_unsubscribe:i,_subscriptions:r}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,e instanceof g)e.remove(this);else if(null!==e)for(let a=0;at.concat(e instanceof f?e.errors:e),[])}g.EMPTY=((m=new g).closed=!0,m);const y="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class v extends g{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=h;break;case 1:if(!t){this.destination=h;break}if("object"==typeof t){t instanceof v?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new _(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new _(this,t,e,n)}}[y](){return this}static create(t,e,n){const i=new v(t,e,n);return i.syncErrorThrowable=!1,i}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class _ extends v{constructor(t,e,n,i){super(),this._parentSubscriber=t;let r,s=this;a(e)?r=e:e&&(r=e.next,n=e.error,i=e.complete,e!==h&&(s=Object.create(e),a(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=r,this._error=n,this._complete=i}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;c.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=c;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):u(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;u(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);c.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(n){if(this.unsubscribe(),c.useDeprecatedSynchronousErrorHandling)throw n;u(n)}}__tryOrSetError(t,e,n){if(!c.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(i){return c.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=i,t.syncErrorThrown=!0,!0):(u(i),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const w="function"==typeof Symbol&&Symbol.observable||"@@observable";function x(t){return t}function S(...t){return C(t)}function C(t){return 0===t.length?x:1===t.length?t[0]:function(e){return t.reduce((t,e)=>e(t),e)}}let E=(()=>{class t{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(e){const n=new t;return n.source=this,n.operator=e,n}subscribe(t,e,n){const{operator:i}=this,r=function(t,e,n){if(t){if(t instanceof v)return t;if(t[y])return t[y]()}return t||e||n?new v(t,e,n):new v(h)}(t,e,n);if(r.add(i?i.call(r,this.source):this.source||c.useDeprecatedSynchronousErrorHandling&&!r.syncErrorThrowable?this._subscribe(r):this._trySubscribe(r)),c.useDeprecatedSynchronousErrorHandling&&r.syncErrorThrowable&&(r.syncErrorThrowable=!1,r.syncErrorThrown))throw r.syncErrorValue;return r}_trySubscribe(t){try{return this._subscribe(t)}catch(e){c.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),function(t){for(;t;){const{closed:e,destination:n,isStopped:i}=t;if(e||i)return!1;t=n&&n instanceof v?n:null}return!0}(t)?t.error(e):console.warn(e)}}forEach(t,e){return new(e=O(e))((e,n)=>{let i;i=this.subscribe(e=>{try{t(e)}catch(r){n(r),i&&i.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[w](){return this}pipe(...t){return 0===t.length?this:C(t)(this)}toPromise(t){return new(t=O(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}return t.create=e=>new t(e),t})();function O(t){if(t||(t=c.Promise||Promise),!t)throw new Error("no Promise impl found");return t}const T=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})();class k extends g{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}class P extends v{constructor(t){super(t),this.destination=t}}let A=(()=>{class t extends E{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[y](){return new P(this)}lift(t){const e=new M(this,this);return e.operator=t,e}next(t){if(this.closed)throw new T;if(!this.isStopped){const{observers:e}=this,n=e.length,i=e.slice();for(let r=0;rnew M(t,e),t})();class M extends A{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):g.EMPTY}}function I(t){return t&&"function"==typeof t.schedule}function D(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new R(t,e))}}class R{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new N(t,this.project,this.thisArg))}}class N extends v{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}const L=t=>e=>{for(let n=0,i=t.length;nt&&"number"==typeof t.length&&"function"!=typeof t;function B(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const V=t=>{if(t&&"function"==typeof t[w])return(t=>e=>{const n=t[w]();if("function"!=typeof n.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return n.subscribe(e)})(t);if(F(t))return L(t);if(B(t))return(t=>e=>(t.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,u),e))(t);if(t&&"function"==typeof t[j])return(t=>e=>{const n=t[j]();for(;;){let t;try{t=n.next()}catch(i){return e.error(i),e}if(t.done){e.complete();break}if(e.next(t.value),e.closed)break}return"function"==typeof n.return&&e.add(()=>{n.return&&n.return()}),e})(t);{const e=`You provided ${p(t)?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(e)}};function z(t,e){return new E(n=>{const i=new g;let r=0;return i.add(e.schedule(function(){r!==t.length?(n.next(t[r++]),n.closed||i.add(this.schedule())):n.complete()})),i})}function U(t,e){return e?function(t,e){if(null!=t){if(function(t){return t&&"function"==typeof t[w]}(t))return function(t,e){return new E(n=>{const i=new g;return i.add(e.schedule(()=>{const r=t[w]();i.add(r.subscribe({next(t){i.add(e.schedule(()=>n.next(t)))},error(t){i.add(e.schedule(()=>n.error(t)))},complete(){i.add(e.schedule(()=>n.complete()))}}))})),i})}(t,e);if(B(t))return function(t,e){return new E(n=>{const i=new g;return i.add(e.schedule(()=>t.then(t=>{i.add(e.schedule(()=>{n.next(t),i.add(e.schedule(()=>n.complete()))}))},t=>{i.add(e.schedule(()=>n.error(t)))}))),i})}(t,e);if(F(t))return z(t,e);if(function(t){return t&&"function"==typeof t[j]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new E(n=>{const i=new g;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=t[j](),i.add(e.schedule(function(){if(n.closed)return;let t,e;try{const n=r.next();t=n.value,e=n.done}catch(i){return void n.error(i)}e?n.complete():(n.next(t),this.schedule())}))})),i})}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}(t,e):t instanceof E?t:new E(V(t))}class H extends v{constructor(t){super(),this.parent=t}_next(t){this.parent.notifyNext(t)}_error(t){this.parent.notifyError(t),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class $ extends v{notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.destination.complete()}}function G(t,e){if(e.closed)return;if(t instanceof E)return t.subscribe(e);let n;try{n=V(t)(e)}catch(i){e.error(i)}return n}function W(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(W((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))),n)):("number"==typeof e&&(n=e),e=>e.lift(new q(t,n)))}class q{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new X(t,this.project,this.concurrent))}}class X extends ${constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Y(t=Number.POSITIVE_INFINITY){return W(x,t)}function K(t,e){return e?z(t,e):new E(L(t))}function Q(...t){let e=Number.POSITIVE_INFINITY,n=null,i=t[t.length-1];return I(i)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof i&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof E?t[0]:Y(e)(K(t,n))}function Z(){return function(t){return t.lift(new J(t))}}class J{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const i=new tt(t,n),r=e.subscribe(i);return i.closed||(i.connection=n.connect()),r}}class tt extends v{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}class et extends E{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new g,t.add(this.source.subscribe(new it(this.getSubject(),this))),t.closed&&(this._connection=null,t=g.EMPTY)),t}refCount(){return Z()(this)}}const nt=(()=>{const t=et.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}})();class it extends P{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}function rt(t,e){return function(n){let i;if(i="function"==typeof t?t:function(){return t},"function"==typeof e)return n.lift(new st(i,e));const r=Object.create(n,nt);return r.source=n,r.subjectFactory=i,r}}class st{constructor(t,e){this.subjectFactory=t,this.selector=e}call(t,e){const{selector:n}=this,i=this.subjectFactory(),r=n(i).subscribe(t);return r.add(e.subscribe(i)),r}}function ot(){return new A}function at(){return t=>Z()(rt(ot)(t))}function lt(t){for(let e in t)if(t[e]===lt)return e;throw Error("Could not find renamed property on target object.")}function ct(t,e){for(const n in e)e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n])}function ut(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(ut).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function ht(t,e){return null==t||""===t?null===e?"":e:null==e||""===e?t:t+" "+e}const dt=lt({__forward_ref__:lt});function pt(t){return t.__forward_ref__=pt,t.toString=function(){return ut(this())},t}function ft(t){return gt(t)?t():t}function gt(t){return"function"==typeof t&&t.hasOwnProperty(dt)&&t.__forward_ref__===pt}class mt extends Error{constructor(t,e){super(function(t,e){return`${t?`NG0${t}: `:""}${e}`}(t,e)),this.code=t}}function bt(t){return"string"==typeof t?t:null==t?"":String(t)}function yt(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():bt(t)}function _t(t,e){const n=e?` in ${e}`:"";throw new mt("201",`No provider for ${yt(t)} found${n}`)}function wt(t,e){null==t&&function(t,e,n,i){throw new Error(`ASSERTION ERROR: ${t}`+(null==i?"":` [Expected=> ${n} ${i} ${e} <=Actual]`))}(e,t,null,"!=")}function xt(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function St(t){return{providers:t.providers||[],imports:t.imports||[]}}function Ct(t){return Et(t,Tt)||Et(t,Pt)}function Et(t,e){return t.hasOwnProperty(e)?t[e]:null}function Ot(t){return t&&(t.hasOwnProperty(kt)||t.hasOwnProperty(At))?t[kt]:null}const Tt=lt({"\u0275prov":lt}),kt=lt({"\u0275inj":lt}),Pt=lt({ngInjectableDef:lt}),At=lt({ngInjectorDef:lt});var Mt=(()=>((Mt=Mt||{})[Mt.Default=0]="Default",Mt[Mt.Host=1]="Host",Mt[Mt.Self=2]="Self",Mt[Mt.SkipSelf=4]="SkipSelf",Mt[Mt.Optional=8]="Optional",Mt))();let It;function Dt(t){const e=It;return It=t,e}function Rt(t,e,n){const i=Ct(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&Mt.Optional?null:void 0!==e?e:void _t(ut(t),"Injector")}function Nt(t){return{toString:t}.toString()}var Lt=(()=>((Lt=Lt||{})[Lt.OnPush=0]="OnPush",Lt[Lt.Default=1]="Default",Lt))(),jt=(()=>((jt=jt||{})[jt.Emulated=0]="Emulated",jt[jt.None=2]="None",jt[jt.ShadowDom=3]="ShadowDom",jt))();const Ft="undefined"!=typeof globalThis&&globalThis,Bt="undefined"!=typeof window&&window,Vt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,zt="undefined"!=typeof global&&global,Ut=Ft||zt||Bt||Vt,Ht={},$t=[],Gt=lt({"\u0275cmp":lt}),Wt=lt({"\u0275dir":lt}),qt=lt({"\u0275pipe":lt}),Xt=lt({"\u0275mod":lt}),Yt=lt({"\u0275loc":lt}),Kt=lt({"\u0275fac":lt}),Qt=lt({__NG_ELEMENT_ID__:lt});let Zt=0;function Jt(t){return Nt(()=>{const e={},n={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===Lt.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||$t,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||jt.Emulated,id:"c",styles:t.styles||$t,_:null,setInput:null,schemas:t.schemas||null,tView:null},i=t.directives,r=t.features,s=t.pipes;return n.id+=Zt++,n.inputs=re(t.inputs,e),n.outputs=re(t.outputs),r&&r.forEach(t=>t(n)),n.directiveDefs=i?()=>("function"==typeof i?i():i).map(te):null,n.pipeDefs=s?()=>("function"==typeof s?s():s).map(ee):null,n})}function te(t){return ae(t)||function(t){return t[Wt]||null}(t)}function ee(t){return function(t){return t[qt]||null}(t)}const ne={};function ie(t){return Nt(()=>{const e={type:t.type,bootstrap:t.bootstrap||$t,declarations:t.declarations||$t,imports:t.imports||$t,exports:t.exports||$t,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&(ne[t.id]=t.type),e})}function re(t,e){if(null==t)return Ht;const n={};for(const i in t)if(t.hasOwnProperty(i)){let r=t[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),n[r]=i,e&&(e[r]=s)}return n}const se=Jt;function oe(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,onDestroy:t.type.prototype.ngOnDestroy||null}}function ae(t){return t[Gt]||null}function le(t,e){const n=t[Xt]||null;if(!n&&!0===e)throw new Error(`Type ${ut(t)} does not have '\u0275mod' property.`);return n}function ce(t){return Array.isArray(t)&&"object"==typeof t[1]}function ue(t){return Array.isArray(t)&&!0===t[1]}function he(t){return 0!=(8&t.flags)}function de(t){return 2==(2&t.flags)}function pe(t){return 1==(1&t.flags)}function fe(t){return null!==t.template}function ge(t){return 0!=(512&t[2])}function me(t,e){return t.hasOwnProperty(Kt)?t[Kt]:null}class be{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function ye(){return ve}function ve(t){return t.type.prototype.ngOnChanges&&(t.setInput=we),_e}function _e(){const t=Se(this),e=null==t?void 0:t.current;if(e){const n=t.previous;if(n===Ht)t.previous=e;else for(let t in e)n[t]=e[t];t.current=null,this.ngOnChanges(e)}}function we(t,e,n,i){const r=Se(t)||function(t,e){return t[xe]=e}(t,{previous:Ht,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[n],l=o[a];s[a]=new be(l&&l.currentValue,e,o===Ht),t[i]=e}ye.ngInherit=!0;const xe="__ngSimpleChanges__";function Se(t){return t[xe]||null}const Ce="http://www.w3.org/2000/svg";let Ee;function Oe(){return void 0!==Ee?Ee:"undefined"!=typeof document?document:void 0}function Te(t){return!!t.listen}const ke={createRenderer:(t,e)=>Oe()};function Pe(t){for(;Array.isArray(t);)t=t[0];return t}function Ae(t,e){return Pe(e[t])}function Me(t,e){return Pe(e[t.index])}function Ie(t,e){return t.data[e]}function De(t,e){return t[e]}function Re(t,e){const n=e[t];return ce(n)?n:n[0]}function Ne(t){return 4==(4&t[2])}function Le(t){return 128==(128&t[2])}function je(t,e){return null==e?null:t[e]}function Fe(t){t[18]=0}function Be(t,e){t[5]+=e;let n=t,i=t[3];for(;null!==i&&(1===e&&1===n[5]||-1===e&&0===n[5]);)i[5]+=e,n=i,i=i[3]}const Ve={lFrame:dn(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function ze(){return Ve.bindingsEnabled}function Ue(){return Ve.lFrame.lView}function He(){return Ve.lFrame.tView}function $e(t){return Ve.lFrame.contextLView=t,t[8]}function Ge(){let t=We();for(;null!==t&&64===t.type;)t=t.parent;return t}function We(){return Ve.lFrame.currentTNode}function qe(t,e){const n=Ve.lFrame;n.currentTNode=t,n.isParent=e}function Xe(){return Ve.lFrame.isParent}function Ye(){Ve.lFrame.isParent=!1}function Ke(){return Ve.isInCheckNoChangesMode}function Qe(t){Ve.isInCheckNoChangesMode=t}function Ze(){const t=Ve.lFrame;let e=t.bindingRootIndex;return-1===e&&(e=t.bindingRootIndex=t.tView.bindingStartIndex),e}function Je(){return Ve.lFrame.bindingIndex}function tn(){return Ve.lFrame.bindingIndex++}function en(t){const e=Ve.lFrame,n=e.bindingIndex;return e.bindingIndex=e.bindingIndex+t,n}function nn(t,e){const n=Ve.lFrame;n.bindingIndex=n.bindingRootIndex=t,rn(e)}function rn(t){Ve.lFrame.currentDirectiveIndex=t}function sn(t){const e=Ve.lFrame.currentDirectiveIndex;return-1===e?null:t[e]}function on(){return Ve.lFrame.currentQueryIndex}function an(t){Ve.lFrame.currentQueryIndex=t}function ln(t){const e=t[1];return 2===e.type?e.declTNode:1===e.type?t[6]:null}function cn(t,e,n){if(n&Mt.SkipSelf){let i=e,r=t;for(;!(i=i.parent,null!==i||n&Mt.Host||(i=ln(r),null===i||(r=r[15],10&i.type))););if(null===i)return!1;e=i,t=r}const i=Ve.lFrame=hn();return i.currentTNode=e,i.lView=t,!0}function un(t){const e=hn(),n=t[1];Ve.lFrame=e,e.currentTNode=n.firstChild,e.lView=t,e.tView=n,e.contextLView=t,e.bindingIndex=n.bindingStartIndex,e.inI18n=!1}function hn(){const t=Ve.lFrame,e=null===t?null:t.child;return null===e?dn(t):e}function dn(t){const 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:t,child:null,inI18n:!1};return null!==t&&(t.child=e),e}function pn(){const t=Ve.lFrame;return Ve.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const fn=pn;function gn(){const t=pn();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function mn(){return Ve.lFrame.selectedIndex}function bn(t){Ve.lFrame.selectedIndex=t}function yn(){const t=Ve.lFrame;return Ie(t.tView,t.selectedIndex)}function vn(){Ve.lFrame.currentNamespace=Ce}function _n(t,e){for(let n=e.directiveStart,i=e.directiveEnd;n=i)break}else e[a]<0&&(t[18]+=65536),(o>11>16&&(3&t[2])===e){t[2]+=2048;try{s.call(o)}finally{}}}else try{s.call(o)}finally{}}class On{constructor(t,e,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=n}}function Tn(t,e,n){const i=Te(t);let r=0;for(;re){o=s-1;break}}}for(;s>16}(t),i=e;for(;n>0;)i=i[15],n--;return i}let Nn=!0;function Ln(t){const e=Nn;return Nn=t,e}let jn=0;function Fn(t,e){const n=Vn(t,e);if(-1!==n)return n;const i=e[1];i.firstCreatePass&&(t.injectorIndex=e.length,Bn(i.data,t),Bn(e,null),Bn(i.blueprint,null));const r=Un(t,e),s=t.injectorIndex;if(In(r)){const t=Dn(r),n=Rn(r,e),i=n[1].data;for(let r=0;r<8;r++)e[s+r]=n[t+r]|i[t+r]}return e[s+8]=r,s}function Bn(t,e){t.push(0,0,0,0,0,0,0,0,e)}function Vn(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===e[t.injectorIndex+8]?-1:t.injectorIndex}function Un(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let n=0,i=null,r=e;for(;null!==r;){const t=r[1],e=t.type;if(i=2===e?t.declTNode:1===e?r[6]:null,null===i)return-1;if(n++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return-1}function Hn(t,e,n){!function(t,e,n){let i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(Qt)&&(i=n[Qt]),null==i&&(i=n[Qt]=jn++);const r=255&i;e.data[t+(r>>5)]|=1<=0?255&e:Xn:e}(n);if("function"==typeof s){if(!cn(e,t,i))return i&Mt.Host?$n(r,n,i):Gn(e,n,i,r);try{const t=s(i);if(null!=t||i&Mt.Optional)return t;_t(n)}finally{fn()}}else if("number"==typeof s){let r=null,o=Vn(t,e),a=-1,l=i&Mt.Host?e[16][6]:null;for((-1===o||i&Mt.SkipSelf)&&(a=-1===o?Un(t,e):e[o+8],-1!==a&&Jn(i,!1)?(r=e[1],o=Dn(a),e=Rn(a,e)):o=-1);-1!==o;){const t=e[1];if(Zn(s,o,t.data)){const t=Yn(o,e,n,r,i,l);if(t!==qn)return t}a=e[o+8],-1!==a&&Jn(i,e[1].data[o+8]===l)&&Zn(s,o,e)?(r=t,o=Dn(a),e=Rn(a,e)):o=-1}}}return Gn(e,n,i,r)}const qn={};function Xn(){return new ti(Ge(),Ue())}function Yn(t,e,n,i,r,s){const o=e[1],a=o.data[t+8],l=Kn(a,o,n,null==i?de(a)&&Nn:i!=o&&0!=(3&a.type),r&Mt.Host&&s===a);return null!==l?Qn(e,o,l,a):qn}function Kn(t,e,n,i,r){const s=t.providerIndexes,o=e.data,a=1048575&s,l=t.directiveStart,c=s>>20,u=r?a+c:t.directiveEnd;for(let h=i?a:a+c;h=l&&t.type===n)return h}if(r){const t=o[l];if(t&&fe(t)&&t.type===n)return l}return null}function Qn(t,e,n,i){let r=t[n];const s=e.data;if(function(t){return t instanceof On}(r)){const o=r;o.resolving&&function(t,e){throw new mt("200",`Circular dependency in DI detected for ${t}`)}(yt(s[n]));const a=Ln(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Dt(o.injectImpl):null;cn(t,i,Mt.Default);try{r=t[n]=o.factory(void 0,s,t,i),e.firstCreatePass&&n>=i.directiveStart&&function(t,e,n){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const i=ve(e);(n.preOrderHooks||(n.preOrderHooks=[])).push(t,i),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,i)}r&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-t,r),s&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,s))}(n,s[n],e)}finally{null!==l&&Dt(l),Ln(a),o.resolving=!1,fn()}}return r}function Zn(t,e,n){return!!(n[e+(t>>5)]&1<{const e=t.prototype.constructor,n=e[Kt]||ni(e),i=Object.prototype;let r=Object.getPrototypeOf(t.prototype).constructor;for(;r&&r!==i;){const t=r[Kt]||ni(r);if(t&&t!==n)return t;r=Object.getPrototypeOf(r)}return t=>new t})}function ni(t){return gt(t)?()=>{const e=ni(ft(t));return e&&e()}:me(t)}function ii(t){return function(t,e){if("class"===e)return t.classes;if("style"===e)return t.styles;const n=t.attrs;if(n){const t=n.length;let i=0;for(;i{const i=function(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}(e);function r(...t){if(this instanceof r)return i.apply(this,t),this;const e=new r(...t);return n.annotation=e,n;function n(t,n,i){const r=t.hasOwnProperty(ri)?t[ri]:Object.defineProperty(t,ri,{value:[]})[ri];for(;r.length<=i;)r.push(null);return(r[i]=r[i]||[]).push(e),t}}return n&&(r.prototype=Object.create(n.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r})}class oi{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=xt({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const ai=Function;function li(t,e){void 0===e&&(e=t);for(let n=0;nArray.isArray(t)?ci(t,e):e(t))}function ui(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function hi(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function di(t,e){const n=[];for(let i=0;i=0?t[1|i]=n:(i=~i,function(t,e,n,i){let r=t.length;if(r==e)t.push(n,i);else if(1===r)t.push(i,t[0]),t[0]=n;else{for(r--,t.push(t[r-1],t[r]);r>e;)t[r]=t[r-2],r--;t[e]=n,t[e+1]=i}}(t,i,e,n)),i}function fi(t,e){const n=gi(t,e);if(n>=0)return t[1|n]}function gi(t,e){return function(t,e,n){let i=0,r=t.length>>n;for(;r!==i;){const s=i+(r-i>>1),o=t[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t.push(n+":"+("string"==typeof i?JSON.stringify(i):ut(i)))}r=`{${t.join(", ")}}`}return`${n}${i?"("+i+")":""}[${r}]: ${t.replace(vi,"\n ")}`}("\n"+t.message,r,n,i),t.ngTokenPath=r,t[yi]=null,t}const Mi=ki(si("Inject",t=>({token:t})),-1),Ii=ki(si("Optional"),8),Di=ki(si("SkipSelf"),4);let Ri,Ni;function Li(t){var e;return(null===(e=function(){if(void 0===Ri&&(Ri=null,Ut.trustedTypes))try{Ri=Ut.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(t){}return Ri}())||void 0===e?void 0:e.createHTML(t))||t}function ji(){if(void 0===Ni&&(Ni=null,Ut.trustedTypes))try{Ni=Ut.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(m){}return Ni}function Fi(t){var e;return(null===(e=ji())||void 0===e?void 0:e.createHTML(t))||t}function Bi(t){var e;return(null===(e=ji())||void 0===e?void 0:e.createScriptURL(t))||t}class Vi{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class zi extends Vi{getTypeName(){return"HTML"}}class Ui extends Vi{getTypeName(){return"Style"}}class Hi extends Vi{getTypeName(){return"Script"}}class $i extends Vi{getTypeName(){return"URL"}}class Gi extends Vi{getTypeName(){return"ResourceURL"}}function Wi(t){return t instanceof Vi?t.changingThisBreaksApplicationSecurity:t}function qi(t,e){const n=Xi(t);if(null!=n&&n!==e){if("ResourceURL"===n&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${n} (see https://g.co/ng/security#xss)`)}return n===e}function Xi(t){return t instanceof Vi&&t.getTypeName()||null}class Yi{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const e=(new window.DOMParser).parseFromString(Li(t),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(t):(e.removeChild(e.firstChild),e)}catch(e){return null}}}class Ki{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const e=this.inertDocument.createElement("body");t.appendChild(e)}}getInertBodyElement(t){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Li(t),e;const n=this.inertDocument.createElement("body");return n.innerHTML=Li(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(n),n}stripCustomNsAttrs(t){const e=t.attributes;for(let i=e.length-1;0Ji(t.trim())).join(", ")}function er(t){const e={};for(const n of t.split(","))e[n]=!0;return e}function nr(...t){const e={};for(const n of t)for(const t in n)n.hasOwnProperty(t)&&(e[t]=!0);return e}const ir=er("area,br,col,hr,img,wbr"),rr=er("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),sr=er("rp,rt"),or=nr(ir,nr(rr,er("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")),nr(sr,er("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")),nr(sr,rr)),ar=er("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),lr=er("srcset"),cr=nr(ar,lr,er("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),er("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")),ur=er("script,style,template");class hr{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let e=t.firstChild,n=!0;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?n=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,n&&e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let t=this.checkClobberedElement(e,e.nextSibling);if(t){e=t;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(t){const e=t.nodeName.toLowerCase();if(!or.hasOwnProperty(e))return this.sanitizedSomething=!0,!ur.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const n=t.attributes;for(let i=0;i"),!0}endElement(t){const e=t.nodeName.toLowerCase();or.hasOwnProperty(e)&&!ir.hasOwnProperty(e)&&(this.buf.push(""))}chars(t){this.buf.push(fr(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const dr=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,pr=/([^\#-~ |!])/g;function fr(t){return t.replace(/&/g,"&").replace(dr,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(pr,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let gr;function mr(t,e){let n=null;try{gr=gr||function(t){const e=new Ki(t);return function(){try{return!!(new window.DOMParser).parseFromString(Li(""),"text/html")}catch(t){return!1}}()?new Yi(e):e}(t);let i=e?String(e):"";n=gr.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=n.innerHTML,n=gr.getInertBodyElement(i)}while(i!==s);return Li((new hr).sanitizeChildren(br(n)||n))}finally{if(n){const t=br(n)||n;for(;t.firstChild;)t.removeChild(t.firstChild)}}}function br(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var yr=(()=>((yr=yr||{})[yr.NONE=0]="NONE",yr[yr.HTML=1]="HTML",yr[yr.STYLE=2]="STYLE",yr[yr.SCRIPT=3]="SCRIPT",yr[yr.URL=4]="URL",yr[yr.RESOURCE_URL=5]="RESOURCE_URL",yr))();function vr(t){const e=xr();return e?Fi(e.sanitize(yr.HTML,t)||""):qi(t,"HTML")?Fi(Wi(t)):mr(Oe(),bt(t))}function _r(t){const e=xr();return e?e.sanitize(yr.URL,t)||"":qi(t,"URL")?Wi(t):Ji(bt(t))}function wr(t){const e=xr();if(e)return Bi(e.sanitize(yr.RESOURCE_URL,t)||"");if(qi(t,"ResourceURL"))return Bi(Wi(t));throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)")}function xr(){const t=Ue();return t&&t[12]}const Sr="__ngContext__";function Cr(t,e){t[Sr]=e}function Er(t){const e=function(t){return t[Sr]||null}(t);return e?Array.isArray(e)?e:e.lView:null}function Or(t){return t.ngOriginalError}function Tr(t,...e){t.error(...e)}class kr{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),i=function(t){return t&&t.ngErrorLogger||Tr}(t);i(this._console,"ERROR",t),e&&i(this._console,"ORIGINAL ERROR",e),n&&i(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?function(t){return t.ngDebugContext}(t)||this._findContext(Or(t)):null}_findOriginalError(t){let e=t&&Or(t);for(;e&&Or(e);)e=Or(e);return e||null}}const Pr=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Ut))();function Ar(t){return t.ownerDocument.defaultView}function Mr(t){return t.ownerDocument}function Ir(t){return t instanceof Function?t():t}var Dr=(()=>((Dr=Dr||{})[Dr.Important=1]="Important",Dr[Dr.DashCase=2]="DashCase",Dr))();function Rr(t,e){return undefined(t,e)}function Nr(t){const e=t[3];return ue(e)?e[3]:e}function Lr(t){return Fr(t[13])}function jr(t){return Fr(t[4])}function Fr(t){for(;null!==t&&!ue(t);)t=t[4];return t}function Br(t,e,n,i,r){if(null!=i){let s,o=!1;ue(i)?s=i:ce(i)&&(o=!0,i=i[0]);const a=Pe(i);0===t&&null!==n?null==r?qr(e,n,a):Wr(e,n,a,r||null,!0):1===t&&null!==n?Wr(e,n,a,r||null,!0):2===t?function(t,e,n){const i=Kr(t,e);i&&function(t,e,n,i){Te(t)?t.removeChild(e,n,i):e.removeChild(n)}(t,i,e,n)}(e,a,o):3===t&&e.destroyNode(a),null!=s&&function(t,e,n,i,r){const s=n[7];s!==Pe(n)&&Br(e,t,i,s,r);for(let o=10;o0&&(t[n-1][4]=i[4]);const s=hi(t,10+e);!function(t,e){rs(t,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function Hr(t,e){if(!(256&e[2])){const n=e[11];Te(n)&&n.destroyNode&&rs(t,e,n,3,null,null),function(t){let e=t[13];if(!e)return $r(t[1],t);for(;e;){let n=null;if(ce(e))n=e[13];else{const t=e[10];t&&(n=t)}if(!n){for(;e&&!e[4]&&e!==t;)ce(e)&&$r(e[1],e),e=e[3];null===e&&(e=t),ce(e)&&$r(e[1],e),n=e&&e[4]}e=n}}(e)}}function $r(t,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(t,e){let n;if(null!=t&&null!=(n=t.destroyHooks))for(let i=0;i=0?i[r=l]():i[r=-l].unsubscribe(),s+=2}else{const t=i[r=n[s+1]];n[s].call(t)}if(null!==i){for(let t=r+1;ts?"":r[u+1].toLowerCase();const e=8&i?t:null;if(e&&-1!==ls(e,c,0)||2&i&&c!==t){if(fs(i))return!1;o=!0}}}}else{if(!o&&!fs(i)&&!fs(l))return!1;if(o&&fs(l))continue;o=!1,i=l|1&i}}return fs(i)||o}function fs(t){return 0==(1&t)}function gs(t,e,n,i){if(null===e)return-1;let r=0;if(i||!n){let n=!1;for(;r-1)for(n++;n0?'="'+e+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!fs(o)&&(e+=ys(s,r),r=""),i=o,s=s||!fs(i);n++}return""!==r&&(e+=ys(s,r)),e}const _s={};function ws(t){xs(He(),Ue(),mn()+t,Ke())}function xs(t,e,n,i){if(!i)if(3==(3&e[2])){const i=t.preOrderCheckHooks;null!==i&&wn(e,i,n)}else{const i=t.preOrderHooks;null!==i&&xn(e,i,0,n)}bn(n)}function Ss(t,e){return t<<17|e<<2}function Cs(t){return t>>17&32767}function Es(t){return 2|t}function Os(t){return(131068&t)>>2}function Ts(t,e){return-131069&t|e<<2}function ks(t){return 1|t}function Ps(t,e){const n=t.contentQueries;if(null!==n)for(let i=0;i20&&xs(t,e,20,Ke()),n(i,r)}finally{bn(s)}}function js(t,e,n){if(he(e)){const i=e.directiveEnd;for(let r=e.directiveStart;r0;){const n=t[--e];if("number"==typeof n&&n<0)return n}return 0})(n)!=s&&n.push(s),n.push(i,r,o)}}function qs(t,e){null!==t.hostBindings&&t.hostBindings(1,e)}function Xs(t,e){e.flags|=2,(t.components||(t.components=[])).push(e.index)}function Ys(t,e,n){if(n){if(e.exportAs)for(let i=0;i0&&ro(n)}}function ro(t){for(let n=Lr(t);null!==n;n=jr(n))for(let t=10;t0&&ro(e)}const e=t[1].components;if(null!==e)for(let n=0;n0&&ro(i)}}function so(t,e){const n=Re(e,t),i=n[1];(function(t,e){for(let n=e.length;nPromise.resolve(null))();function po(t){return t[7]||(t[7]=[])}function fo(t){return t.cleanup||(t.cleanup=[])}function go(t,e,n){return(null===t||fe(t))&&(n=function(t){for(;Array.isArray(t);){if("object"==typeof t[1])return t;t=t[0]}return null}(n[e.index])),n[11]}function mo(t,e){const n=t[9],i=n?n.get(kr,null):null;i&&i.handleError(e)}function bo(t,e,n,i,r){for(let s=0;sthis.processProvider(n,t,e)),ci([t],t=>this.processInjectorType(t,[],r)),this.records.set(_o,Mo(void 0,this));const s=this.records.get(xo);this.scope=null!=s?s.value:null,this.source=i||("object"==typeof t?null:ut(t))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(t=>t.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(t,e=mi,n=Mt.Default){this.assertNotDestroyed();const i=Si(this),r=Dt(void 0);try{if(!(n&Mt.SkipSelf)){let e=this.records.get(t);if(void 0===e){const n=function(t){return"function"==typeof t||"object"==typeof t&&t instanceof oi}(t)&&Ct(t);e=n&&this.injectableDefInScope(n)?Mo(Po(t),So):null,this.records.set(t,e)}if(null!=e)return this.hydrate(t,e)}return(n&Mt.Self?Oo():this.parent).get(t,e=n&Mt.Optional&&e===mi?null:e)}catch(s){if("NullInjectorError"===s.name){if((s[yi]=s[yi]||[]).unshift(ut(t)),i)throw s;return Ai(s,t,"R3InjectorError",this.source)}throw s}finally{Dt(r),Si(i)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(t=>this.get(t))}toString(){const t=[];return this.records.forEach((e,n)=>t.push(ut(n))),`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(t,e,n){if(!(t=ft(t)))return!1;let i=Ot(t);const r=null==i&&t.ngModule||void 0,s=void 0===r?t:r,o=-1!==n.indexOf(s);if(void 0!==r&&(i=Ot(r)),null==i)return!1;if(null!=i.imports&&!o){let t;n.push(s);try{ci(i.imports,i=>{this.processInjectorType(i,e,n)&&(void 0===t&&(t=[]),t.push(i))})}finally{}if(void 0!==t)for(let e=0;ethis.processProvider(t,n,i||$t))}}this.injectorDefTypes.add(s);const a=me(s)||(()=>new s);this.records.set(s,Mo(a,So));const l=i.providers;if(null!=l&&!o){const e=t;ci(l,t=>this.processProvider(t,e,l))}return void 0!==r&&void 0!==t.providers}processProvider(t,e,n){let i=Do(t=ft(t))?t:ft(t&&t.provide);const r=function(t,e,n){return Io(t)?Mo(void 0,t.useValue):Mo(Ao(t),So)}(t);if(Do(t)||!0!==t.multi)this.records.get(i);else{let e=this.records.get(i);e||(e=Mo(void 0,So,!0),e.factory=()=>Ti(e.multi),this.records.set(i,e)),i=t,e.multi.push(t)}this.records.set(i,r)}hydrate(t,e){return e.value===So&&(e.value=Co,e.value=e.factory()),"object"==typeof e.value&&e.value&&function(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this.onDestroy.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=ft(t.providedIn);return"string"==typeof e?"any"===e||e===this.scope:this.injectorDefTypes.has(e)}}function Po(t){const e=Ct(t),n=null!==e?e.factory:me(t);if(null!==n)return n;if(t instanceof oi)throw new Error(`Token ${ut(t)} is missing a \u0275prov definition.`);if(t instanceof Function)return function(t){const e=t.length;if(e>0){const n=di(e,"?");throw new Error(`Can't resolve all parameters for ${ut(t)}: (${n.join(", ")}).`)}const n=function(t){const e=t&&(t[Tt]||t[Pt]);if(e){const n=function(t){if(t.hasOwnProperty("name"))return t.name;const e=(""+t).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(t);return console.warn(`DEPRECATED: DI is instantiating a token "${n}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${n}" class.`),e}return null}(t);return null!==n?()=>n.factory(t):()=>new t}(t);throw new Error("unreachable")}function Ao(t,e,n){let i;if(Do(t)){const e=ft(t);return me(e)||Po(e)}if(Io(t))i=()=>ft(t.useValue);else if(function(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...Ti(t.deps||[]));else if(function(t){return!(!t||!t.useExisting)}(t))i=()=>Ei(ft(t.useExisting));else{const e=ft(t&&(t.useClass||t.provide));if(!function(t){return!!t.deps}(t))return me(e)||Po(e);i=()=>new e(...Ti(t.deps))}return i}function Mo(t,e,n=!1){return{factory:t,value:e,multi:n?[]:void 0}}function Io(t){return null!==t&&"object"==typeof t&&wi in t}function Do(t){return"function"==typeof t}const Ro=function(t,e,n){return function(t,e=null,n=null,i){const r=To(t,e,n,i);return r._resolveInjectorDefTypes(),r}({name:n},e,t,n)};class No{static create(t,e){return Array.isArray(t)?Ro(t,e,""):Ro(t.providers,t.parent,t.name||"")}}function Lo(t,e){_n(Er(t)[1],Ge())}function jo(t){let e=function(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),n=!0;const i=[t];for(;e;){let r;if(fe(t))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(n){i.push(r);const e=t;e.inputs=Fo(t.inputs),e.declaredInputs=Fo(t.declaredInputs),e.outputs=Fo(t.outputs);const n=r.hostBindings;n&&zo(t,n);const s=r.viewQuery,o=r.contentQueries;if(s&&Bo(t,s),o&&Vo(t,o),ct(t.inputs,r.inputs),ct(t.declaredInputs,r.declaredInputs),ct(t.outputs,r.outputs),fe(r)&&r.data.animation){const e=t.data;e.animation=(e.animation||[]).concat(r.data.animation)}}const e=r.features;if(e)for(let i=0;i=0;i--){const r=t[i];r.hostVars=e+=r.hostVars,r.hostAttrs=An(r.hostAttrs,n=An(n,r.hostAttrs))}}(i)}function Fo(t){return t===Ht?{}:t===$t?[]:t}function Bo(t,e){const n=t.viewQuery;t.viewQuery=n?(t,i)=>{e(t,i),n(t,i)}:e}function Vo(t,e){const n=t.contentQueries;t.contentQueries=n?(t,i,r)=>{e(t,i,r),n(t,i,r)}:e}function zo(t,e){const n=t.hostBindings;t.hostBindings=n?(t,i)=>{e(t,i),n(t,i)}:e}No.THROW_IF_NOT_FOUND=mi,No.NULL=new wo,No.\u0275prov=xt({token:No,providedIn:"any",factory:()=>Ei(_o)}),No.__NG_ELEMENT_ID__=-1;let Uo=null;function Ho(){if(!Uo){const t=Ut.Symbol;if(t&&t.iterator)Uo=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;ea(Pe(t[i.index])):i.index;if(Te(n)){let o=null;if(!a&&l&&(o=function(t,e,n,i){const r=t.cleanup;if(null!=r)for(let s=0;sn?t[n]:null}"string"==typeof t&&(s+=2)}return null}(t,e,r,i.index)),null!==o)(o.__ngLastListenerFn__||o).__ngNextListenerFn__=s,o.__ngLastListenerFn__=s,d=!1;else{s=ya(i,e,u,s,!1);const t=n.listen(f,r,s);h.push(s,t),c&&c.push(r,m,g,g+1)}}else s=ya(i,e,u,s,!0),f.addEventListener(r,s,o),h.push(s),c&&c.push(r,m,g,o)}else s=ya(i,e,u,s,!1);const p=i.outputs;let f;if(d&&null!==p&&(f=p[r])){const t=f.length;if(t)for(let n=0;n0;)e=e[15],t--;return e}(t,Ve.lFrame.contextLView))[8]}(t)}function _a(t,e){let n=null;const i=function(t){const e=t.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(t);for(let r=0;r=0}const Ta={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function ka(t){return t.substring(Ta.key,Ta.keyEnd)}function Pa(t){return t.substring(Ta.value,Ta.valueEnd)}function Aa(t,e){const n=Ta.textEnd;return n===e?-1:(e=Ta.keyEnd=function(t,e,n){for(;e32;)e++;return e}(t,Ta.key=e,n),Da(t,e,n))}function Ma(t,e){const n=Ta.textEnd;let i=Ta.key=Da(t,e,n);return n===i?-1:(i=Ta.keyEnd=function(t,e,n){let i;for(;e=65&&(-33&i)<=90||i>=48&&i<=57);)e++;return e}(t,i,n),i=Ra(t,i,n),i=Ta.value=Da(t,i,n),i=Ta.valueEnd=function(t,e,n){let i=-1,r=-1,s=-1,o=e,a=o;for(;o32&&(a=o),s=r,r=i,i=-33&l}return a}(t,i,n),Ra(t,i,n))}function Ia(t){Ta.key=0,Ta.keyEnd=0,Ta.value=0,Ta.valueEnd=0,Ta.textEnd=t.length}function Da(t,e,n){for(;e=0;n=Ma(e,n))Xa(t,ka(e),Pa(e))}function Va(t){Ha(pi,za,t,!0)}function za(t,e){for(let n=function(t){return Ia(t),Aa(t,Da(t,0,Ta.textEnd))}(e);n>=0;n=Aa(e,n))pi(t,ka(e),!0)}function Ua(t,e,n,i){const r=Ue(),s=He(),o=en(2);s.firstUpdatePass&&Ga(s,t,o,i),e!==_s&&Xo(r,o,e)&&Ya(s,s.data[mn()],r,r[11],t,r[o+1]=function(t,e){return null==t||("string"==typeof e?t+=e:"object"==typeof t&&(t=ut(Wi(t)))),t}(e,n),i,o)}function Ha(t,e,n,i){const r=He(),s=en(2);r.firstUpdatePass&&Ga(r,null,s,i);const o=Ue();if(n!==_s&&Xo(o,s,n)){const a=r.data[mn()];if(Za(a,i)&&!$a(r,s)){let t=i?a.classesWithoutHost:a.stylesWithoutHost;null!==t&&(n=ht(t,n||"")),ia(r,a,o,n,i)}else!function(t,e,n,i,r,s,o,a){r===_s&&(r=$t);let l=0,c=0,u=0=t.expandoStartIndex}function Ga(t,e,n,i){const r=t.data;if(null===r[n+1]){const s=r[mn()],o=$a(t,n);Za(s,i)&&null===e&&!o&&(e=!1),e=function(t,e,n,i){const r=sn(t);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(n=qa(n=Wa(null,t,e,n,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||t[o]!==r)if(n=Wa(r,t,e,n,i),null===s){let n=function(t,e,n){const i=n?e.classBindings:e.styleBindings;if(0!==Os(i))return t[Cs(i)]}(t,e,i);void 0!==n&&Array.isArray(n)&&(n=Wa(null,t,e,n[1],i),n=qa(n,e.attrs,i),function(t,e,n,i){t[Cs(n?e.classBindings:e.styleBindings)]=i}(t,e,i,n))}else s=function(t,e,n){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(u=!0)}else c=n;if(r)if(0!==l){const e=Cs(t[a+1]);t[i+1]=Ss(e,a),0!==e&&(t[e+1]=Ts(t[e+1],i)),t[a+1]=function(t,e){return 131071&t|e<<17}(t[a+1],i)}else t[i+1]=Ss(a,0),0!==a&&(t[a+1]=Ts(t[a+1],i)),a=i;else t[i+1]=Ss(l,0),0===a?a=i:t[l+1]=Ts(t[l+1],i),l=i;u&&(t[i+1]=Es(t[i+1])),Ea(t,c,i,!0),Ea(t,c,i,!1),function(t,e,n,i,r){const s=r?t.residualClasses:t.residualStyles;null!=s&&"string"==typeof e&&gi(s,e)>=0&&(n[i+1]=ks(n[i+1]))}(e,c,t,i,s),o=Ss(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,n,o,i)}}function Wa(t,e,n,i,r){let s=null;const o=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){const e=t[r],s=Array.isArray(e),l=s?e[1]:e,c=null===l;let u=n[r+1];u===_s&&(u=c?$t:void 0);let h=c?fi(u,i):l===i?u:void 0;if(s&&!Qa(h)&&(h=fi(e,i)),Qa(h)&&(a=h,o))return a;const d=t[r+1];r=o?Cs(d):Os(d)}if(null!==e){let t=s?e.residualClasses:e.residualStyles;null!=t&&(a=fi(t,i))}return a}function Qa(t){return void 0!==t}function Za(t,e){return 0!=(t.flags&(e?16:32))}function Ja(t,e=""){const n=Ue(),i=He(),r=t+20,s=i.firstCreatePass?Ms(i,r,1,e,null):i.data[r],o=n[r]=function(t,e){return Te(t)?t.createText(e):t.createTextNode(e)}(n[11],e);Jr(i,n,o,s),qe(s,!1)}function tl(t){return el("",t,""),tl}function el(t,e,n){const i=Ue(),r=Qo(i,t,e,n);return r!==_s&&yo(i,mn(),r),el}function nl(t,e,n,i,r){const s=Ue(),o=function(t,e,n,i,r,s){const o=Yo(t,Je(),n,r);return en(2),o?e+bt(n)+i+bt(r)+s:_s}(s,t,e,n,i,r);return o!==_s&&yo(s,mn(),o),nl}function il(t,e,n){Ha(pi,za,Qo(Ue(),t,e,n),!0)}function rl(t,e,n){const i=Ue();return Xo(i,tn(),e)&&$s(He(),yn(),i,t,e,i[11],n,!0),rl}function sl(t,e,n){const i=Ue();if(Xo(i,tn(),e)){const r=He(),s=yn();$s(r,s,i,t,e,go(sn(r.data),s,i),n,!0)}return sl}const ol=void 0;var al=["en",[["a","p"],["AM","PM"],ol],[["AM","PM"],ol,ol],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],ol,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],ol,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",ol,"{1} 'at' {0}",ol],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(t){const e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];let ll={};function cl(t){const e=function(t){return t.toLowerCase().replace(/_/g,"-")}(t);let n=ul(e);if(n)return n;const i=e.split("-")[0];if(n=ul(i),n)return n;if("en"===i)return al;throw new Error(`Missing locale data for the locale "${t}".`)}function ul(t){return t in ll||(ll[t]=Ut.ng&&Ut.ng.common&&Ut.ng.common.locales&&Ut.ng.common.locales[t]),ll[t]}var hl=(()=>((hl=hl||{})[hl.LocaleId=0]="LocaleId",hl[hl.DayPeriodsFormat=1]="DayPeriodsFormat",hl[hl.DayPeriodsStandalone=2]="DayPeriodsStandalone",hl[hl.DaysFormat=3]="DaysFormat",hl[hl.DaysStandalone=4]="DaysStandalone",hl[hl.MonthsFormat=5]="MonthsFormat",hl[hl.MonthsStandalone=6]="MonthsStandalone",hl[hl.Eras=7]="Eras",hl[hl.FirstDayOfWeek=8]="FirstDayOfWeek",hl[hl.WeekendRange=9]="WeekendRange",hl[hl.DateFormat=10]="DateFormat",hl[hl.TimeFormat=11]="TimeFormat",hl[hl.DateTimeFormat=12]="DateTimeFormat",hl[hl.NumberSymbols=13]="NumberSymbols",hl[hl.NumberFormats=14]="NumberFormats",hl[hl.CurrencyCode=15]="CurrencyCode",hl[hl.CurrencySymbol=16]="CurrencySymbol",hl[hl.CurrencyName=17]="CurrencyName",hl[hl.Currencies=18]="Currencies",hl[hl.Directionality=19]="Directionality",hl[hl.PluralCase=20]="PluralCase",hl[hl.ExtraData=21]="ExtraData",hl))();const dl="en-US";let pl=dl;function fl(t){wt(t,"Expected localeId to be defined"),"string"==typeof t&&(pl=t.toLowerCase().replace(/_/g,"-"))}function gl(t,e,n,i,r){if(t=ft(t),Array.isArray(t))for(let s=0;s>20;if(Do(t)||!t.multi){const i=new On(l,r,ea),p=yl(a,e,r?u:u+d,h);-1===p?(Hn(Fn(c,o),s,a),ml(s,t,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),n.push(i),o.push(i)):(n[p]=i,o[p]=i)}else{const p=yl(a,e,u+d,h),f=yl(a,e,u,u+d),g=p>=0&&n[p],m=f>=0&&n[f];if(r&&!m||!r&&!g){Hn(Fn(c,o),s,a);const u=function(t,e,n,i,r){const s=new On(t,n,ea);return s.multi=[],s.index=e,s.componentProviders=0,bl(s,r,i&&!n),s}(r?_l:vl,n.length,r,i,l);!r&&m&&(n[f].providerFactory=u),ml(s,t,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),n.push(u),o.push(u)}else ml(s,t,p>-1?p:f,bl(n[r?f:p],l,!r&&i));!r&&i&&m&&n[f].componentProviders++}}}function ml(t,e,n,i){const r=Do(e);if(r||function(t){return!!t.useClass}(e)){const s=(e.useClass||e).prototype.ngOnDestroy;if(s){const o=t.destroyHooks||(t.destroyHooks=[]);if(!r&&e.multi){const t=o.indexOf(n);-1===t?o.push(n,[i,s]):o[t+1].push(i,s)}else o.push(n,s)}}}function bl(t,e,n){return n&&t.componentProviders++,t.multi.push(e)-1}function yl(t,e,n,i){for(let r=n;r{n.providersResolver=(n,i)=>function(t,e,n){const i=He();if(i.firstCreatePass){const r=fe(t);gl(n,i.data,i.blueprint,r,!0),gl(e,i.data,i.blueprint,r,!1)}}(n,i?i(t):t,e)}}class Sl{}const Cl="ngComponent";class El{resolveComponentFactory(t){throw function(t){const e=Error(`No component factory found for ${ut(t)}. Did you add it to @NgModule.entryComponents?`);return e[Cl]=t,e}(t)}}class Ol{}function Tl(...t){}function kl(t,e){return new Al(Me(t,e))}Ol.NULL=new El;const Pl=function(){return kl(Ge(),Ue())};let Al=(()=>{class t{constructor(t){this.nativeElement=t}}return t.__NG_ELEMENT_ID__=Pl,t})();function Ml(t){return t instanceof Al?t.nativeElement:t}class Il{}let Dl=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>Rl(),t})();const Rl=function(){const t=Ue(),e=Re(Ge().index,t);return function(t){return t[11]}(ce(e)?e:t)};let Nl=(()=>{class t{}return t.\u0275prov=xt({token:t,providedIn:"root",factory:()=>null}),t})();class Ll{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const jl=new Ll("12.2.5");class Fl{constructor(){}supports(t){return Go(t)}create(t){return new Vl(t)}}const Bl=(t,e)=>e;class Vl{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Bl}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,i=0,r=null;for(;e||n;){const s=!n||e&&e.currentIndex<$l(n,i,r)?e:n,o=$l(s,i,r),a=s.currentIndex;if(s===n)i--,n=n._nextRemoved;else if(e=e._next,null==s.previousIndex)i++;else{r||(r=[]);const t=o-i,e=a-i;if(t!=e){for(let n=0;n{i=this._trackByFn(e,t),null!==r&&Object.is(r.trackById,i)?(s&&(r=this._verifyReinsertion(r,t,i,e)),Object.is(r.item,t)||this._addIdentityChange(r,t)):(r=this._mismatch(r,t,i,e),s=!0),r=r._next,e++}),this.length=e;return this._truncate(r),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,i){let r;return null===t?r=this._itTail:(r=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,r,i)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,i))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,r,i)):t=this._addAfter(new zl(e,n),r,i),t}_verifyReinsertion(t,e,n,i){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==r?t=this._reinsertAfter(r,t._prev,i):t.currentIndex!=i&&(t.currentIndex=i,this._addToMoves(t,i)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const i=t._prevRemoved,r=t._nextRemoved;return null===i?this._removalsHead=r:i._nextRemoved=r,null===r?this._removalsTail=i:r._prevRemoved=i,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const i=null===e?this._itHead:e._next;return t._next=i,t._prev=e,null===i?this._itTail=t:i._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new Hl),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Hl),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class zl{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Ul{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class Hl{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new Ul,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function $l(t,e,n){const i=t.previousIndex;if(null===i)return i;let r=0;return n&&i{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const i=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,i)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const i=n._prev,r=n._next;return i&&(i._next=r),r&&(r._prev=i),n._next=null,n._prev=null,n}const n=new ql(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}class ql{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Xl(){return new Yl([new Fl])}let Yl=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(null!=n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Xl()),deps:[[t,new Di,new Ii]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(t){return t.name||typeof t}(t)}'`)}}return t.\u0275prov=xt({token:t,providedIn:"root",factory:Xl}),t})();function Kl(){return new Ql([new Gl])}let Ql=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Kl()),deps:[[t,new Di,new Ii]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return t.\u0275prov=xt({token:t,providedIn:"root",factory:Kl}),t})();function Zl(t,e,n,i,r=!1){for(;null!==n;){const s=e[n.index];if(null!==s&&i.push(Pe(s)),ue(s))for(let t=10;t-1&&(Ur(t,n),hi(e,n))}this._attachedToViewContainer=!1}Hr(this._lView[1],this._lView)}onDestroy(t){Us(this._lView[1],this._lView,null,t)}markForCheck(){ao(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){lo(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(t,e,n){Qe(!0);try{lo(t,e,n)}finally{Qe(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(t,e){rs(t,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}}class tc extends Jl{constructor(t){super(t),this._view=t}detectChanges(){co(this._view)}checkNoChanges(){!function(t){Qe(!0);try{co(t)}finally{Qe(!1)}}(this._view)}get context(){return null}}const ec=function(t){return function(t,e,n){if(de(t)&&!n){const n=Re(t.index,e);return new Jl(n,n)}return 47&t.type?new Jl(e[16],e):null}(Ge(),Ue(),16==(16&t))};let nc=(()=>{class t{}return t.__NG_ELEMENT_ID__=ec,t})();const ic=[new Gl],rc=new Yl([new Fl]),sc=new Ql(ic),oc=function(){return uc(Ge(),Ue())};let ac=(()=>{class t{}return t.__NG_ELEMENT_ID__=oc,t})();const lc=ac,cc=class extends lc{constructor(t,e,n){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=n}createEmbeddedView(t){const e=this._declarationTContainer.tViews,n=As(this._declarationLView,e,t,16,null,e.declTNode,null,null,null,null);n[17]=this._declarationLView[this._declarationTContainer.index];const i=this._declarationLView[19];return null!==i&&(n[19]=i.createEmbeddedView(e)),Ds(e,n,t),new Jl(n)}};function uc(t,e){return 4&t.type?new cc(e,t,kl(t,e)):null}class hc{}const dc=function(){return yc(Ge(),Ue())};let pc=(()=>{class t{}return t.__NG_ELEMENT_ID__=dc,t})();const fc=pc,gc=class extends fc{constructor(t,e,n){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=n}get element(){return kl(this._hostTNode,this._hostLView)}get injector(){return new ti(this._hostTNode,this._hostLView)}get parentInjector(){const t=Un(this._hostTNode,this._hostLView);if(In(t)){const e=Rn(t,this._hostLView),n=Dn(t);return new ti(e[1].data[n+8],e)}return new ti(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=mc(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,e,n){const i=t.createEmbeddedView(e||{});return this.insert(i,n),i}createComponent(t,e,n,i,r){const s=n||this.parentInjector;if(!r&&null==t.ngModule&&s){const t=s.get(hc,null);t&&(r=t)}const o=t.create(s,i,void 0,r);return this.insert(o.hostView,e),o}insert(t,e){const n=t._lView,i=n[1];if(function(t){return ue(t[3])}(n)){const e=this.indexOf(t);if(-1!==e)this.detach(e);else{const e=n[3],i=new gc(e,e[6],e[3]);i.detach(i.indexOf(t))}}const r=this._adjustIndex(e),s=this._lContainer;!function(t,e,n,i){const r=10+i,s=n.length;i>0&&(n[r-1][4]=e),iPr});class Sc extends Sl{constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=function(t){return t.map(vs).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return wc(this.componentDef.inputs)}get outputs(){return wc(this.componentDef.outputs)}create(t,e,n,i){const r=(i=i||this.ngModule)?function(t,e){return{get:(n,i,r)=>{const s=t.get(n,vc,r);return s!==vc||i===vc?s:e.get(n,i,r)}}}(t,i.injector):t,s=r.get(Il,ke),o=r.get(Nl,null),a=s.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",c=n?function(t,e,n){if(Te(t))return t.selectRootElement(e,n===jt.ShadowDom);let i="string"==typeof e?t.querySelector(e):e;return i.textContent="",i}(a,n,this.componentDef.encapsulation):Vr(s.createRenderer(null,this.componentDef),l,function(t){const e=t.toLowerCase();return"svg"===e?Ce:"math"===e?"http://www.w3.org/1998/MathML/":null}(l)),u=this.componentDef.onPush?576:528,h=function(t,e){return{components:[],scheduler:t||Pr,clean:ho,playerHandler:e||null,flags:0}}(),d=zs(0,null,null,1,0,null,null,null,null,null),p=As(null,d,h,u,null,null,s,a,o,r);let f,g;un(p);try{const t=function(t,e,n,i,r,s){const o=n[1];n[20]=t;const a=Ms(o,20,2,"#host",null),l=a.mergedAttrs=e.hostAttrs;null!==l&&(vo(a,l,!0),null!==t&&(Tn(r,t,l),null!==a.classes&&as(r,t,a.classes),null!==a.styles&&os(r,t,a.styles)));const c=i.createRenderer(t,e),u=As(n,Vs(e),null,e.onPush?64:16,n[20],a,i,c,s||null,null);return o.firstCreatePass&&(Hn(Fn(a,n),o,e.type),Xs(o,a),Ks(a,n.length,1)),oo(n,u),n[20]=u}(c,this.componentDef,p,s,a);if(c)if(n)Tn(a,c,["ng-version",jl.full]);else{const{attrs:t,classes:e}=function(t){const e=[],n=[];let i=1,r=2;for(;i0&&as(a,c,e.join(" "))}if(g=Ie(d,20),void 0!==e){const t=g.projection=[];for(let n=0;nt(o,e)),e.contentQueries){const t=Ge();e.contentQueries(1,o,t.directiveStart)}const a=Ge();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(bn(a.index),Ws(n[1],a,0,a.directiveStart,a.directiveEnd,e),qs(e,o)),o}(t,this.componentDef,p,h,[Lo]),Ds(d,p,null)}finally{gn()}return new Cc(this.componentType,f,kl(g,p),p,g)}}class Cc extends class{}{constructor(t,e,n,i,r){super(),this.location=n,this._rootLView=i,this._tNode=r,this.instance=e,this.hostView=this.changeDetectorRef=new tc(i),this.componentType=t}get injector(){return new ti(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}const Ec=new Map;class Oc extends hc{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _c(this);const n=le(t),i=function(t){return t[Yt]||null}(t);i&&fl(i),this._bootstrapComponents=Ir(n.bootstrap),this._r3Injector=To(t,e,[{provide:hc,useValue:this},{provide:Ol,useValue:this.componentFactoryResolver}],ut(t)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(t)}get(t,e=No.THROW_IF_NOT_FOUND,n=Mt.Default){return t===No||t===hc||t===_o?this:this._r3Injector.get(t,e,n)}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class Tc extends class{}{constructor(t){super(),this.moduleType=t,null!==le(t)&&function(t){const e=new Set;!function t(n){const i=le(n,!0),r=i.id;null!==r&&(function(t,e,n){if(e&&e!==n)throw new Error(`Duplicate module registered for ${t} - ${ut(e)} vs ${ut(e.name)}`)}(r,Ec.get(r),n),Ec.set(r,n));const s=Ir(i.imports);for(const o of s)e.has(o)||(e.add(o),t(o))}(t)}(t)}create(t){return new Oc(this.moduleType,t)}}function kc(t,e,n){const i=Ze()+t,r=Ue();return r[i]===_s?qo(r,i,n?e.call(n):e()):function(t,e){return t[e]}(r,i)}function Pc(t,e,n,i){return Ic(Ue(),Ze(),t,e,n,i)}function Ac(t,e,n,i,r,s){return function(t,e,n,i,r,s,o,a){const l=e+n;return function(t,e,n,i,r){const s=Yo(t,e,n,i);return Xo(t,e+2,r)||s}(t,l,r,s,o)?qo(t,l+3,a?i.call(a,r,s,o):i(r,s,o)):Mc(t,l+3)}(Ue(),Ze(),t,e,n,i,r,s)}function Mc(t,e){const n=t[e];return n===_s?void 0:n}function Ic(t,e,n,i,r,s){const o=e+n;return Xo(t,o,r)?qo(t,o+1,s?i.call(s,r):i(r)):Mc(t,o+1)}function Dc(t,e){const n=He();let i;const r=t+20;n.firstCreatePass?(i=function(t,e){if(e)for(let n=e.length-1;n>=0;n--){const i=e[n];if(t===i.name)return i}throw new mt("302",`The pipe '${t}' could not be found!`)}(e,n.pipeRegistry),n.data[r]=i,i.onDestroy&&(n.destroyHooks||(n.destroyHooks=[])).push(r,i.onDestroy)):i=n.data[r];const s=i.factory||(i.factory=me(i.type)),o=Dt(ea);try{const t=Ln(!1),e=s();return Ln(t),function(t,e,n,i){n>=t.data.length&&(t.data[n]=null,t.blueprint[n]=null),e[n]=i}(n,Ue(),r,e),e}finally{Dt(o)}}function Rc(t,e,n){const i=t+20,r=Ue(),s=De(r,i);return jc(r,Lc(r,i)?Ic(r,Ze(),e,s.transform,n,s):s.transform(n))}function Nc(t,e,n,i){const r=t+20,s=Ue(),o=De(s,r);return jc(s,Lc(s,r)?function(t,e,n,i,r,s,o){const a=e+n;return Yo(t,a,r,s)?qo(t,a+2,o?i.call(o,r,s):i(r,s)):Mc(t,a+2)}(s,Ze(),e,o.transform,n,i,o):o.transform(n,i))}function Lc(t,e){return t[1].data[e].pure}function jc(t,e){return $o.isWrapped(e)&&(e=$o.unwrap(e),t[Je()]=_s),e}function Fc(t){return e=>{setTimeout(t,void 0,e)}}const Bc=class extends A{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){var i,r,s;let o=t,a=e||(()=>null),l=n;if(t&&"object"==typeof t){const e=t;o=null===(i=e.next)||void 0===i?void 0:i.bind(e),a=null===(r=e.error)||void 0===r?void 0:r.bind(e),l=null===(s=e.complete)||void 0===s?void 0:s.bind(e)}this.__isAsync&&(a=Fc(a),o&&(o=Fc(o)),l&&(l=Fc(l)));const c=super.subscribe({next:o,error:a,complete:l});return t instanceof g&&t.add(c),c}};function Vc(){return this._results[Ho()]()}class zc{constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=Ho(),n=zc.prototype;n[e]||(n[e]=Vc)}get changes(){return this._changes||(this._changes=new Bc)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,e){const n=this;n.dirty=!1;const i=li(t);(this._changesDetected=!function(t,e,n){if(t.length!==e.length)return!1;for(let i=0;i0)i.push(o[t/2]);else{const r=s[t+1],o=e[-n];for(let t=10;t{class t{constructor(t){this.appInits=t,this.resolve=Tl,this.reject=Tl,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n{e.subscribe({complete:t,error:n})});t.push(n)}}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)(Ei(su,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const au=new oi("AppId"),lu={provide:au,useFactory:function(){return`${cu()}${cu()}${cu()}`},deps:[]};function cu(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const uu=new oi("Platform Initializer"),hu=new oi("Platform ID"),du=new oi("appBootstrapListener");let pu=(()=>{class t{log(t){console.log(t)}warn(t){console.warn(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const fu=new oi("LocaleId"),gu=new oi("DefaultCurrencyCode");class mu{constructor(t,e){this.ngModuleFactory=t,this.componentFactories=e}}const bu=function(t){return new Tc(t)},yu=bu,vu=function(t){return Promise.resolve(bu(t))},_u=function(t){const e=bu(t),n=Ir(le(t).declarations).reduce((t,e)=>{const n=ae(e);return n&&t.push(new Sc(n)),t},[]);return new mu(e,n)},wu=_u,xu=function(t){return Promise.resolve(_u(t))};let Su=(()=>{class t{constructor(){this.compileModuleSync=yu,this.compileModuleAsync=vu,this.compileModuleAndAllComponentsSync=wu,this.compileModuleAndAllComponentsAsync=xu}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Cu=new oi("compilerOptions"),Eu=(()=>Promise.resolve(0))();function Ou(t){"undefined"==typeof Zone?Eu.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class Tu{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Bc(!1),this.onMicrotaskEmpty=new Bc(!1),this.onStable=new Bc(!1),this.onError=new Bc(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const i=this;i._nesting=0,i._outer=i._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(i._inner=i._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(i._inner=i._inner.fork(Zone.longStackTraceZoneSpec)),i.shouldCoalesceEventChangeDetection=!n&&e,i.shouldCoalesceRunChangeDetection=n,i.lastRequestAnimationFrameId=-1,i.nativeRequestAnimationFrame=function(){let t=Ut.requestAnimationFrame,e=Ut.cancelAnimationFrame;if("undefined"!=typeof Zone&&t&&e){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(t){const e=()=>{!function(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Ut,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,Au(t),t.isCheckStableRunning=!0,Pu(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),Au(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,i,r,s,o,a)=>{try{return Mu(t),n.invokeTask(r,s,o,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||t.shouldCoalesceRunChangeDetection)&&e(),Iu(t)}},onInvoke:(n,i,r,s,o,a,l)=>{try{return Mu(t),n.invoke(r,s,o,a,l)}finally{t.shouldCoalesceRunChangeDetection&&e(),Iu(t)}},onHasTask:(e,n,i,r)=>{e.hasTask(i,r),n===i&&("microTask"==r.change?(t._hasPendingMicrotasks=r.microTask,Au(t),Pu(t)):"macroTask"==r.change&&(t.hasPendingMacrotasks=r.macroTask))},onHandleError:(e,n,i,r)=>(e.handleError(i,r),t.runOutsideAngular(()=>t.onError.emit(r)),!1)})}(i)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Tu.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Tu.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,i){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+i,t,ku,Tl,Tl);try{return r.runTask(s,e,n)}finally{r.cancelTask(s)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}const ku={};function Pu(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function Au(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function Mu(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function Iu(t){t._nesting--,Pu(t)}class Du{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Bc,this.onMicrotaskEmpty=new Bc,this.onStable=new Bc,this.onError=new Bc}run(t,e,n){return t.apply(e,n)}runGuarded(t,e,n){return t.apply(e,n)}runOutsideAngular(t){return t()}runTask(t,e,n,i){return t.apply(e,n)}}let Ru=(()=>{class t{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Tu.assertNotInAngularZone(),Ou(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Ou(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,e,n){let i=-1;e&&e>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==i),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Nu=(()=>{class t{constructor(){this._applications=new Map,ju.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return ju.findTestabilityInTree(this,t,e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Lu{addToWindow(t){}findTestabilityInTree(t,e,n){return null}}let ju=new Lu,Fu=!0,Bu=!1;function Vu(){return Bu=!0,Fu}let zu;const Uu=new oi("AllowMultipleToken");function Hu(t,e,n=[]){const i=`Platform: ${e}`,r=new oi(i);return(e=[])=>{let s=$u();if(!s||s.injector.get(Uu,!1))if(t)t(n.concat(e).concat({provide:r,useValue:!0}));else{const t=n.concat(e).concat({provide:r,useValue:!0},{provide:xo,useValue:"platform"});!function(t){if(zu&&!zu.destroyed&&!zu.injector.get(Uu,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");zu=t.get(Gu);const e=t.get(uu,null);e&&e.forEach(t=>t())}(No.create({providers:t,name:i}))}return function(t){const e=$u();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function $u(){return zu&&!zu.destroyed?zu:null}let Gu=(()=>{class t{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t,e){let n;return n="noop"===t?new Du:("zone.js"===t?void 0:t)||new Tu({enableLongStackTrace:Vu(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),n}(e?e.ngZone:void 0,{ngZoneEventCoalescing:e&&e.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:e&&e.ngZoneRunCoalescing||!1}),i=[{provide:Tu,useValue:n}];return n.run(()=>{const r=No.create({providers:i,parent:this.injector,name:t.moduleType.name}),s=t.create(r),o=s.injector.get(kr,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return n.runOutsideAngular(()=>{const t=n.onError.subscribe({next:t=>{o.handleError(t)}});s.onDestroy(()=>{Xu(this._modules,s),t.unsubscribe()})}),function(t,n,i){try{const e=i();return ha(e)?e.catch(e=>{throw n.runOutsideAngular(()=>t.handleError(e)),e}):e}catch(e){throw n.runOutsideAngular(()=>t.handleError(e)),e}}(o,n,()=>{const t=s.injector.get(ou);return t.runInitializers(),t.donePromise.then(()=>(fl(s.injector.get(fu,dl)||dl),this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,e=[]){const n=Wu({},e);return function(t,e,n){const i=new Tc(n);return Promise.resolve(i)}(0,0,t).then(t=>this.bootstrapModuleFactory(t,n))}_moduleDoBootstrap(t){const e=t.injector.get(qu);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${ut(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Wu(t,e){return Array.isArray(e)?e.reduce(Wu,t):Object.assign(Object.assign({},t),e)}let qu=(()=>{class t{constructor(t,e,n,i,r){this._zone=t,this._injector=e,this._exceptionHandler=n,this._componentFactoryResolver=i,this._initStatus=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const s=new E(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),o=new E(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{Tu.assertNotInAngularZone(),Ou(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{Tu.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=Q(s,o.pipe(at()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof Sl?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const i=function(t){return t.isBoundToModule}(n)?void 0:this._injector.get(hc),r=n.create(No.NULL,[],e||n.selector,i),s=r.location.nativeElement,o=r.injector.get(Ru,null),a=o&&r.injector.get(Nu);return o&&a&&a.registerApplication(s,o),r.onDestroy(()=>{this.detachView(r.hostView),Xu(this.components,r),a&&a.unregisterApplication(s)}),this._loadComponent(r),r}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;Xu(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(du,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(No),Ei(kr),Ei(Ol),Ei(ou))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Xu(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const Yu=Hu(null,"core",[{provide:hu,useValue:"unknown"},{provide:Gu,deps:[No]},{provide:Nu,deps:[]},{provide:pu,deps:[]}]),Ku=[{provide:qu,useClass:qu,deps:[Tu,No,kr,Ol,ou]},{provide:xc,deps:[Tu],useFactory:function(t){let e=[];return t.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:ou,useClass:ou,deps:[[new Ii,su]]},{provide:Su,useClass:Su,deps:[]},lu,{provide:Yl,useFactory:function(){return rc},deps:[]},{provide:Ql,useFactory:function(){return sc},deps:[]},{provide:fu,useFactory:function(t){return fl(t=t||"undefined"!=typeof $localize&&$localize.locale||dl),t},deps:[[new Mi(fu),new Ii,new Di]]},{provide:gu,useValue:"USD"}];let Qu=(()=>{class t{constructor(t){}}return t.\u0275fac=function(e){return new(e||t)(Ei(qu))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:Ku}),t})(),Zu=null;function Ju(){return Zu}const th=new oi("DocumentToken");let eh=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:nh,token:t,providedIn:"platform"}),t})();function nh(){return Ei(ih)}let ih=(()=>{class t extends eh{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Ju().getBaseHref(this._doc)}onPopState(t){const e=Ju().getGlobalEventTarget(this._doc,"window");return e.addEventListener("popstate",t,!1),()=>e.removeEventListener("popstate",t)}onHashChange(t){const e=Ju().getGlobalEventTarget(this._doc,"window");return e.addEventListener("hashchange",t,!1),()=>e.removeEventListener("hashchange",t)}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(t){this.location.pathname=t}pushState(t,e,n){rh()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){rh()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:sh,token:t,providedIn:"platform"}),t})();function rh(){return!!window.history.pushState}function sh(){return new ih(Ei(th))}function oh(t,e){if(0==t.length)return e;if(0==e.length)return t;let n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e}function ah(t){const e=t.match(/#|\?|$/),n=e&&e.index||t.length;return t.slice(0,n-("/"===t[n-1]?1:0))+t.slice(n)}function lh(t){return t&&"?"!==t[0]?"?"+t:t}let ch=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:uh,token:t,providedIn:"root"}),t})();function uh(t){const e=Ei(th).location;return new dh(Ei(eh),e&&e.origin||"")}const hh=new oi("appBaseHref");let dh=(()=>{class t extends ch{constructor(t,e){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==e&&(e=this._platformLocation.getBaseHrefFromDOM()),null==e)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=e}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return oh(this._baseHref,t)}path(t=!1){const e=this._platformLocation.pathname+lh(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?`${e}${n}`:e}pushState(t,e,n,i){const r=this.prepareExternalUrl(n+lh(i));this._platformLocation.pushState(t,e,r)}replaceState(t,e,n,i){const r=this.prepareExternalUrl(n+lh(i));this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformLocation).historyGo)||void 0===n||n.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(eh),Ei(hh,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),ph=(()=>{class t{constructor(t,e){this._subject=new Bc,this._urlChangeListeners=[],this._platformStrategy=t;const n=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=ah(gh(n)),this._platformStrategy.onPopState(t=>{this._subject.emit({url:this.path(!0),pop:!0,state:t.state,type:t.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,e=""){return this.path()==this.normalize(t+lh(e))}normalize(e){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,gh(e)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,e="",n=null){this._platformStrategy.pushState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+lh(e)),n)}replaceState(t,e="",n=null){this._platformStrategy.replaceState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+lh(e)),n)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformStrategy).historyGo)||void 0===n||n.call(e,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(t=>{this._notifyUrlChangeListeners(t.url,t.state)}))}_notifyUrlChangeListeners(t="",e){this._urlChangeListeners.forEach(n=>n(t,e))}subscribe(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})}}return t.\u0275fac=function(e){return new(e||t)(Ei(ch),Ei(eh))},t.normalizeQueryParams=lh,t.joinWithSlash=oh,t.stripTrailingSlash=ah,t.\u0275prov=xt({factory:fh,token:t,providedIn:"root"}),t})();function fh(){return new ph(Ei(ch),Ei(eh))}function gh(t){return t.replace(/\/index.html$/,"")}var mh=(()=>((mh=mh||{})[mh.Decimal=0]="Decimal",mh[mh.Percent=1]="Percent",mh[mh.Currency=2]="Currency",mh[mh.Scientific=3]="Scientific",mh))(),bh=(()=>((bh=bh||{})[bh.Zero=0]="Zero",bh[bh.One=1]="One",bh[bh.Two=2]="Two",bh[bh.Few=3]="Few",bh[bh.Many=4]="Many",bh[bh.Other=5]="Other",bh))(),yh=(()=>((yh=yh||{})[yh.Decimal=0]="Decimal",yh[yh.Group=1]="Group",yh[yh.List=2]="List",yh[yh.PercentSign=3]="PercentSign",yh[yh.PlusSign=4]="PlusSign",yh[yh.MinusSign=5]="MinusSign",yh[yh.Exponential=6]="Exponential",yh[yh.SuperscriptingExponent=7]="SuperscriptingExponent",yh[yh.PerMille=8]="PerMille",yh[yh.Infinity=9]="Infinity",yh[yh.NaN=10]="NaN",yh[yh.TimeSeparator=11]="TimeSeparator",yh[yh.CurrencyDecimal=12]="CurrencyDecimal",yh[yh.CurrencyGroup=13]="CurrencyGroup",yh))();function vh(t,e){const n=cl(t),i=n[hl.NumberSymbols][e];if(void 0===i){if(e===yh.CurrencyDecimal)return n[hl.NumberSymbols][yh.Decimal];if(e===yh.CurrencyGroup)return n[hl.NumberSymbols][yh.Group]}return i}const _h=function(t){return cl(t)[hl.PluralCase]},wh=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function xh(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}class Sh{}let Ch=(()=>{class t extends Sh{constructor(t){super(),this.locale=t}getPluralCategory(t,e){switch(_h(e||this.locale)(t)){case bh.Zero:return"zero";case bh.One:return"one";case bh.Two:return"two";case bh.Few:return"few";case bh.Many:return"many";default:return"other"}}}return t.\u0275fac=function(e){return new(e||t)(Ei(fu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Eh(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[i,r]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(i.trim()===e)return decodeURIComponent(r)}return null}let Oh=(()=>{class t{constructor(t,e,n,i){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=i,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Go(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${ut(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Yl),ea(Ql),ea(Al),ea(Dl))},t.\u0275dir=se({type:t,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),t})();class Th{constructor(t,e,n,i){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let kh=(()=>{class t{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(t){throw new Error(`Cannot find a differ supporting object '${e}' of type '${function(t){return t.name||typeof t}(e)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,i)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new Th(null,this._ngForOf,-1,-1),null===i?void 0:i),r=new Ph(t,n);e.push(r)}else if(null==i)this._viewContainer.remove(null===n?void 0:n);else if(null!==n){const r=this._viewContainer.get(n);this._viewContainer.move(r,i);const s=new Ph(t,r);e.push(s)}});for(let n=0;n{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Yl))},t.\u0275dir=se({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),t})();class Ph{constructor(t,e){this.record=t,this.view=e}}let Ah=(()=>{class t{constructor(t,e){this._viewContainer=t,this._context=new Mh,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Ih("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Ih("ngIfElse",t),this._elseTemplateRef=t,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(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac))},t.\u0275dir=se({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),t})();class Mh{constructor(){this.$implicit=null,this.ngIf=null}}function Ih(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${ut(e)}'.`)}class Dh{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}let Rh=(()=>{class t{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e{class t{constructor(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new Dh(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Rh,9))},t.\u0275dir=se({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),t})(),Lh=(()=>{class t{constructor(t,e,n){n._addDefault(new Dh(t,e))}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Rh,9))},t.\u0275dir=se({type:t,selectors:[["","ngSwitchDefault",""]]}),t})(),jh=(()=>{class t{constructor(t,e,n){this._ngEl=t,this._differs=e,this._renderer=n,this._ngStyle=null,this._differ=null}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,e){const[n,i]=t.split(".");null!=(e=null!=e&&i?`${e}${i}`:e)?this._renderer.setStyle(this._ngEl.nativeElement,n,e):this._renderer.removeStyle(this._ngEl.nativeElement,n)}_applyChanges(t){t.forEachRemovedItem(t=>this._setStyle(t.key,null)),t.forEachAddedItem(t=>this._setStyle(t.key,t.currentValue)),t.forEachChangedItem(t=>this._setStyle(t.key,t.currentValue))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ql),ea(Dl))},t.\u0275dir=se({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),t})(),Fh=(()=>{class t{constructor(t){this._viewContainerRef=t,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null}ngOnChanges(t){if(t.ngTemplateOutlet){const t=this._viewContainerRef;this._viewRef&&t.remove(t.indexOf(this._viewRef)),this._viewRef=this.ngTemplateOutlet?t.createEmbeddedView(this.ngTemplateOutlet,this.ngTemplateOutletContext):null}else this._viewRef&&t.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return t.\u0275fac=function(e){return new(e||t)(ea(pc))},t.\u0275dir=se({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet"},features:[ye]}),t})();function Bh(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${ut(t)}'`)}class Vh{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}}class zh{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}}const Uh=new zh,Hh=new Vh;let $h=(()=>{class t{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(e){if(ha(e))return Uh;if(da(e))return Hh;throw Bh(t,e)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(ea(nc,16))},t.\u0275pipe=oe({name:"async",type:t,pure:!1}),t})(),Gh=(()=>{class t{constructor(t){this._locale=t}transform(e,n,i){if(!function(t){return!(null==t||""===t||t!=t)}(e))return null;i=i||this._locale;try{return function(t,e,n){return function(t,e,n,i,r,s,o=!1){let a="",l=!1;if(isFinite(t)){let c=function(t){let e,n,i,r,s,o=Math.abs(t)+"",a=0;for((n=o.indexOf("."))>-1&&(o=o.replace(".","")),(i=o.search(/e/i))>0?(n<0&&(n=i),n+=+o.slice(i+1),o=o.substring(0,i)):n<0&&(n=o.length),i=0;"0"===o.charAt(i);i++);if(i===(s=o.length))e=[0],n=1;else{for(s--;"0"===o.charAt(s);)s--;for(n-=i,e=[],r=0;i<=s;i++,r++)e[r]=Number(o.charAt(i))}return n>22&&(e=e.splice(0,21),a=n-1,n=1),{digits:e,exponent:a,integerLen:n}}(t);o&&(c=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(c));let u=e.minInt,h=e.minFrac,d=e.maxFrac;if(s){const t=s.match(wh);if(null===t)throw new Error(`${s} is not a valid digit info`);const e=t[1],n=t[3],i=t[5];null!=e&&(u=xh(e)),null!=n&&(h=xh(n)),null!=i?d=xh(i):null!=n&&h>d&&(d=h)}!function(t,e,n){if(e>n)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${n}).`);let i=t.digits,r=i.length-t.integerLen;const s=Math.min(Math.max(e,r),n);let o=s+t.integerLen,a=i[o];if(o>0){i.splice(Math.max(t.integerLen,o));for(let t=o;t=5)if(o-1<0){for(let e=0;e>o;e--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[o-1]++;for(;r=c?i.pop():l=!1),e>=10?1:0},0);u&&(i.unshift(u),t.integerLen++)}(c,h,d);let p=c.digits,f=c.integerLen;const g=c.exponent;let m=[];for(l=p.every(t=>!t);f0?m=p.splice(f,p.length):(m=p,p=[0]);const b=[];for(p.length>=e.lgSize&&b.unshift(p.splice(-e.lgSize,p.length).join(""));p.length>e.gSize;)b.unshift(p.splice(-e.gSize,p.length).join(""));p.length&&b.unshift(p.join("")),a=b.join(vh(n,i)),m.length&&(a+=vh(n,r)+m.join("")),g&&(a+=vh(n,yh.Exponential)+"+"+g)}else a=vh(n,yh.Infinity);return a=t<0&&!l?e.negPre+a+e.negSuf:e.posPre+a+e.posSuf,a}(t,function(t,e="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(";"),r=i[0],s=i[1],o=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],a=o[0],l=o[1]||"";n.posPre=a.substr(0,a.indexOf("#"));for(let u=0;u{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:Sh,useClass:Ch}]}),t})();const qh="browser";function Xh(t){return t===qh}class Yh{}class Kh extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(t){Zu||(Zu=t)}(new Kh)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=(Zh=Zh||document.querySelector("base"),Zh?Zh.getAttribute("href"):null);return null==e?null:function(t){Qh=Qh||document.createElement("a"),Qh.setAttribute("href",t);const e=Qh.pathname;return"/"===e.charAt(0)?e:`/${e}`}(e)}resetBaseElement(){Zh=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return Eh(document.cookie,t)}}let Qh,Zh=null;const Jh=new oi("TRANSITION_ID"),td=[{provide:su,useFactory:function(t,e,n){return()=>{n.get(ou).donePromise.then(()=>{const n=Ju(),i=e.querySelectorAll(`style[ng-transition="${t}"]`);for(let t=0;t{const i=t.findTestabilityInTree(e,n);if(null==i)throw new Error("Could not find testability for element.");return i},Ut.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ut.getAllAngularRootElements=()=>t.getAllRootElements(),Ut.frameworkStabilizers||(Ut.frameworkStabilizers=[]),Ut.frameworkStabilizers.push(t=>{const e=Ut.getAllAngularTestabilities();let n=e.length,i=!1;const r=function(e){i=i||e,n--,0==n&&t(i)};e.forEach(function(t){t.whenStable(r)})})}findTestabilityInTree(t,e,n){if(null==e)return null;const i=t.getTestability(e);return null!=i?i:n?Ju().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null}}let nd=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const id=new oi("EventManagerPlugins");let rd=(()=>{class t{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let i=0;i{class t{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),ad=(()=>{class t extends od{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,e,n){t.forEach(t=>{const i=this._doc.createElement("style");i.textContent=t,n.push(e.appendChild(i))})}addHost(t){const e=[];this._addStylesToHost(this._stylesSet,t,e),this._hostNodes.set(t,e)}removeHost(t){const e=this._hostNodes.get(t);e&&e.forEach(ld),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((e,n)=>{this._addStylesToHost(t,n,e)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(ld))}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function ld(t){Ju().remove(t)}const cd={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/"},ud=/%COMP%/g;function hd(t,e,n){for(let i=0;i{if("__ngUnwrap__"===e)return t;!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}let pd=(()=>{class t{constructor(t,e,n){this.eventManager=t,this.sharedStylesHost=e,this.appId=n,this.rendererByCompId=new Map,this.defaultRenderer=new fd(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case jt.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new gd(this.eventManager,this.sharedStylesHost,e,this.appId),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case 1:case jt.ShadowDom:return new md(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=hd(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return t.\u0275fac=function(e){return new(e||t)(Ei(rd),Ei(ad),Ei(au))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class fd{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(cd[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let n="string"==typeof t?document.querySelector(t):t;if(!n)throw new Error(`The selector "${t}" did not match any elements`);return e||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,i){if(i){e=i+":"+e;const r=cd[i];r?t.setAttributeNS(r,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const i=cd[n];i?t.removeAttributeNS(i,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,i){i&(Dr.DashCase|Dr.Important)?t.style.setProperty(e,n,i&Dr.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&Dr.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,dd(n)):this.eventManager.addEventListener(t,e,dd(n))}}class gd extends fd{constructor(t,e,n,i){super(t),this.component=n;const r=hd(i+"-"+n.id,n.styles,[]);e.addStyles(r),this.contentAttr=function(t){return"_ngcontent-%COMP%".replace(ud,t)}(i+"-"+n.id),this.hostAttr=function(t){return"_nghost-%COMP%".replace(ud,t)}(i+"-"+n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class md extends fd{constructor(t,e,n,i){super(t),this.sharedStylesHost=e,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const r=hd(i.id,i.styles,[]);for(let s=0;s{class t extends sd{constructor(t){super(t)}supports(t){return!0}addEventListener(t,e,n){return t.addEventListener(e,n,!1),()=>this.removeEventListener(t,e,n)}removeEventListener(t,e,n){return t.removeEventListener(e,n)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const yd=["alt","control","meta","shift"],vd={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_d={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},wd={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let xd=(()=>{class t extends sd{constructor(t){super(t)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,n,i){const r=t.parseEventName(n),s=t.eventCallback(r.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Ju().onAndCancel(e,r.domEventName,s))}static parseEventName(e){const n=e.toLowerCase().split("."),i=n.shift();if(0===n.length||"keydown"!==i&&"keyup"!==i)return null;const r=t._normalizeKey(n.pop());let s="";if(yd.forEach(t=>{const e=n.indexOf(t);e>-1&&(n.splice(e,1),s+=t+".")}),s+=r,0!=n.length||0===r.length)return null;const o={};return o.domEventName=i,o.fullKey=s,o}static getEventFullKey(t){let e="",n=function(t){let e=t.key;if(null==e){if(e=t.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&_d.hasOwnProperty(e)&&(e=_d[e]))}return vd[e]||e}(t);return n=n.toLowerCase()," "===n?n="space":"."===n&&(n="dot"),yd.forEach(i=>{i!=n&&wd[i](t)&&(e+=i+".")}),e+=n,e}static eventCallback(e,n,i){return r=>{t.getEventFullKey(r)===e&&i.runGuarded(()=>n(r))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Sd=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return Ei(Cd)},token:t,providedIn:"root"}),t})(),Cd=(()=>{class t extends Sd{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case yr.NONE:return e;case yr.HTML:return qi(e,"HTML")?Wi(e):mr(this._doc,String(e)).toString();case yr.STYLE:return qi(e,"Style")?Wi(e):e;case yr.SCRIPT:if(qi(e,"Script"))return Wi(e);throw new Error("unsafe value used in a script context");case yr.URL:return Xi(e),qi(e,"URL")?Wi(e):Ji(String(e));case yr.RESOURCE_URL:if(qi(e,"ResourceURL"))return Wi(e);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(t){return new zi(t)}(t)}bypassSecurityTrustStyle(t){return function(t){return new Ui(t)}(t)}bypassSecurityTrustScript(t){return function(t){return new Hi(t)}(t)}bypassSecurityTrustUrl(t){return function(t){return new $i(t)}(t)}bypassSecurityTrustResourceUrl(t){return function(t){return new Gi(t)}(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return function(t){return new Cd(t.get(th))}(Ei(_o))},token:t,providedIn:"root"}),t})();const Ed=Hu(Yu,"browser",[{provide:hu,useValue:qh},{provide:uu,useValue:function(){Kh.makeCurrent(),ed.init()},multi:!0},{provide:th,useFactory:function(){return function(t){Ee=t}(document),document},deps:[]}]),Od=[[],{provide:xo,useValue:"root"},{provide:kr,useFactory:function(){return new kr},deps:[]},{provide:id,useClass:bd,multi:!0,deps:[th,Tu,hu]},{provide:id,useClass:xd,multi:!0,deps:[th]},[],{provide:pd,useClass:pd,deps:[rd,ad,au]},{provide:Il,useExisting:pd},{provide:od,useExisting:ad},{provide:ad,useClass:ad,deps:[th]},{provide:Ru,useClass:Ru,deps:[Tu]},{provide:rd,useClass:rd,deps:[id,Tu]},{provide:Yh,useClass:nd,deps:[]},[]];let Td=(()=>{class t{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(e){return{ngModule:t,providers:[{provide:au,useValue:e.appId},{provide:Jh,useExisting:au},td]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:Od,imports:[Wh,Qu]}),t})();function kd(t){return null!=t&&"false"!=`${t}`}function Pd(t,e=0){return function(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):e}function Ad(t){return Array.isArray(t)?t:[t]}function Md(t){return null==t?"":"string"==typeof t?t:`${t}px`}function Id(t){return t instanceof Al?t.nativeElement:t}function Dd(...t){let e=t[t.length-1];return I(e)?(t.pop(),z(t,e)):K(t)}function Rd(t,e,n,i){return a(n)&&(i=n,n=void 0),i?Rd(t,e,n).pipe(D(t=>d(t)?i(...t):i(t))):new E(i=>{Nd(t,e,function(t){i.next(arguments.length>1?Array.prototype.slice.call(arguments):t)},i,n)})}function Nd(t,e,n,i,r){let s;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(t)){const i=t;t.addEventListener(e,n,r),s=()=>i.removeEventListener(e,n,r)}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(t)){const i=t;t.on(e,n),s=()=>i.off(e,n)}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(t)){const i=t;t.addListener(e,n),s=()=>i.removeListener(e,n)}else{if(!t||!t.length)throw new TypeError("Invalid event target");for(let s=0,o=t.length;s{class t{constructor(e,n=t.now){this.SchedulerAction=e,this.now=n}schedule(t,e=0,n){return new this.SchedulerAction(this,t).schedule(n,e)}}return t.now=()=>Date.now(),t})();class Bd extends Fd{constructor(t,e=Fd.now){super(t,()=>Bd.delegate&&Bd.delegate!==this?Bd.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,n){return Bd.delegate&&Bd.delegate!==this?Bd.delegate.schedule(t,e,n):super.schedule(t,e,n)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}}new class extends Bd{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(()=>t.flush(null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(cancelAnimationFrame(e),t.scheduled=void 0)}});let Vd=1;const zd=Promise.resolve(),Ud={};function Hd(t){return t in Ud&&(delete Ud[t],!0)}const $d={setImmediate(t){const e=Vd++;return Ud[e]=!0,zd.then(()=>Hd(e)&&t()),e},clearImmediate(t){Hd(t)}};new class extends Bd{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=$d.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&($d.clearImmediate(e),t.scheduled=void 0)}});function Gd(t){return!!t&&(t instanceof E||"function"==typeof t.lift&&"function"==typeof t.subscribe)}function Wd(t,e){return n=>n.lift(new qd(t,e))}class qd{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new Xd(t,this.compare,this.keySelector))}}class Xd extends v{constructor(t,e,n){super(t),this.keySelector=n,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e;try{const{keySelector:n}=this;e=n?n(t):t}catch(i){return this.destination.error(i)}let n=!1;if(this.hasKey)try{const{compare:t}=this;n=t(this.key,e)}catch(i){return this.destination.error(i)}else this.hasKey=!0;n||(this.key=e,this.destination.next(t))}}const Yd=new Bd(jd);class Kd{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new Qd(t,this.durationSelector))}}class Qd extends ${constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1}_next(t){if(this.value=t,this.hasValue=!0,!this.throttled){let n;try{const{durationSelector:e}=this;n=e(t)}catch(e){return this.destination.error(e)}const i=G(n,new H(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:t,hasValue:e,throttled:n}=this;n&&(this.remove(n),this.throttled=void 0,n.unsubscribe()),e&&(this.value=void 0,this.hasValue=!1,this.destination.next(t))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function Zd(t){return!d(t)&&t-parseFloat(t)+1>=0}function Jd(t){const{index:e,period:n,subscriber:i}=t;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}}function tp(t,e=Yd){return function(t){return function(e){return e.lift(new Kd(t))}}(()=>function(t=0,e,n){let i=-1;return Zd(e)?i=Number(e)<1?1:Number(e):I(e)&&(n=e),I(n)||(n=Yd),new E(e=>{const r=Zd(t)?t:+t-n.now();return n.schedule(Jd,r,{index:0,period:i,subscriber:e})})}(t,e))}function ep(t,e){return function(n){return n.lift(new np(t,e))}}class np{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new ip(t,this.predicate,this.thisArg))}}class ip extends v{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)}}function rp(t){return e=>e.lift(new sp(t))}class sp{constructor(t){this.notifier=t}call(t,e){const n=new op(t),i=G(this.notifier,new H(n));return i&&!n.seenValue?(n.add(i),e.subscribe(n)):n}}class op extends ${constructor(t){super(t),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function ap(...t){return Y(1)(Dd(...t))}function lp(...t){const e=t[t.length-1];return I(e)?(t.pop(),n=>ap(t,n,e)):e=>ap(t,e)}function cp(t,e){return"function"==typeof e?n=>n.pipe(cp((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))))):e=>e.lift(new up(t))}class up{constructor(t){this.project=t}call(t,e){return e.subscribe(new hp(t,this.project))}}class hp extends ${constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this._innerSub(e)}_innerSub(t){const e=this.innerSubscription;e&&e.unsubscribe();const n=new H(this),i=this.destination;i.add(n),this.innerSubscription=G(t,n),this.innerSubscription!==n&&i.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;(!t||t.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(t){this.destination.next(t)}}const dp=new class extends Bd{}(class extends jd{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}schedule(t,e=0){return e>0?super.schedule(t,e):(this.delay=e,this.state=t,this.scheduler.flush(this),this)}execute(t,e){return e>0||this.closed?super.execute(t,e):this._execute(t,e)}requestAsyncId(t,e,n=0){return null!==n&&n>0||null===n&&this.delay>0?super.requestAsyncId(t,e,n):t.flush(this)}}),pp=new E(t=>t.complete());function fp(t){return t?function(t){return new E(e=>t.schedule(()=>e.complete()))}(t):pp}function gp(t,e){return new E(e?n=>e.schedule(mp,0,{error:t,subscriber:n}):e=>e.error(t))}function mp({error:t,subscriber:e}){e.error(t)}class bp{constructor(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}}accept(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)}toObservable(){switch(this.kind){case"N":return Dd(this.value);case"E":return gp(this.error);case"C":return fp()}throw new Error("unexpected notification kind value")}static createNext(t){return void 0!==t?new bp("N",t):bp.undefinedValueNotification}static createError(t){return new bp("E",void 0,t)}static createComplete(){return bp.completeNotification}}bp.completeNotification=new bp("C"),bp.undefinedValueNotification=new bp("N",void 0);class yp extends v{constructor(t,e,n=0){super(t),this.scheduler=e,this.delay=n}static dispatch(t){const{notification:e,destination:n}=t;e.observe(n),this.unsubscribe()}scheduleMessage(t){this.destination.add(this.scheduler.schedule(yp.dispatch,this.delay,new vp(t,this.destination)))}_next(t){this.scheduleMessage(bp.createNext(t))}_error(t){this.scheduleMessage(bp.createError(t)),this.unsubscribe()}_complete(){this.scheduleMessage(bp.createComplete()),this.unsubscribe()}}class vp{constructor(t,e){this.notification=t,this.destination=e}}class _p extends A{constructor(t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,n){super(),this.scheduler=n,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=t<1?1:t,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(t){if(!this.isStopped){const e=this._events;e.push(t),e.length>this._bufferSize&&e.shift()}super.next(t)}nextTimeWindow(t){this.isStopped||(this._events.push(new wp(this._getNow(),t)),this._trimBufferThenGetEvents()),super.next(t)}_subscribe(t){const e=this._infiniteTimeWindow,n=e?this._events:this._trimBufferThenGetEvents(),i=this.scheduler,r=n.length;let s;if(this.closed)throw new T;if(this.isStopped||this.hasError?s=g.EMPTY:(this.observers.push(t),s=new k(this,t)),i&&t.add(t=new yp(t,i)),e)for(let o=0;oe&&(s=Math.max(s,r-e)),s>0&&i.splice(0,s),i}}class wp{constructor(t,e){this.time=t,this.value=e}}function xp(t,e,n){let i;return i=t&&"object"==typeof t?t:{bufferSize:t,windowTime:e,refCount:!1,scheduler:n},t=>t.lift(function({bufferSize:t=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:n,scheduler:i}){let r,s,o=0,a=!1,l=!1;return function(c){let u;o++,!r||a?(a=!1,r=new _p(t,e,i),u=r.subscribe(this),s=c.subscribe({next(t){r.next(t)},error(t){a=!0,r.error(t)},complete(){l=!0,s=void 0,r.complete()}}),l&&(s=void 0)):u=r.subscribe(this),this.add(()=>{o--,u.unsubscribe(),u=void 0,s&&!l&&n&&0===o&&(s.unsubscribe(),s=void 0,r=void 0)})}}(i))}let Sp;try{Sp="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(m){Sp=!1}let Cp,Ep=(()=>{class t{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Xh(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Sp)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return t.\u0275fac=function(e){return new(e||t)(Ei(hu))},t.\u0275prov=xt({factory:function(){return new t(Ei(hu))},token:t,providedIn:"root"}),t})(),Op=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const Tp=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function kp(){if(Cp)return Cp;if("object"!=typeof document||!document)return Cp=new Set(Tp),Cp;let t=document.createElement("input");return Cp=new Set(Tp.filter(e=>(t.setAttribute("type",e),t.type===e))),Cp}let Pp,Ap,Mp;function Ip(t){return function(){if(null==Pp&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Pp=!0}))}finally{Pp=Pp||!1}return Pp}()?t:!!t.capture}function Dp(){if(null==Ap){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Ap=!1,Ap;if("scrollBehavior"in document.documentElement.style)Ap=!0;else{const t=Element.prototype.scrollTo;Ap=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return Ap}function Rp(t){if(function(){if(null==Mp){const t="undefined"!=typeof document?document.head:null;Mp=!(!t||!t.createShadowRoot&&!t.attachShadow)}return Mp}()){const e=t.getRootNode?t.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}function Np(){let t="undefined"!=typeof document&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const e=t.shadowRoot.activeElement;if(e===t)break;t=e}return t}function Lp(t){return t.composedPath?t.composedPath()[0]:t.target}const jp=new oi("cdk-dir-doc",{providedIn:"root",factory:function(){return Oi(th)}});let Fp=(()=>{class t{constructor(t){if(this.value="ltr",this.change=new Bc,t){const e=t.documentElement?t.documentElement.dir:null,n=(t.body?t.body.dir:null)||e;this.value="ltr"===n||"rtl"===n?n:"ltr"}}ngOnDestroy(){this.change.complete()}}return t.\u0275fac=function(e){return new(e||t)(Ei(jp,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(jp,8))},token:t,providedIn:"root"}),t})(),Bp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();class Vp{constructor(t=!1,e,n=!0){this._multiple=t,this._emitChanges=n,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new A,e&&e.length&&(t?e.forEach(t=>this._markSelected(t)):this._markSelected(e[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...t){this._verifyValueAssignment(t),t.forEach(t=>this._markSelected(t)),this._emitChangeEvent()}deselect(...t){this._verifyValueAssignment(t),t.forEach(t=>this._unmarkSelected(t)),this._emitChangeEvent()}toggle(t){this.isSelected(t)?this.deselect(t):this.select(t)}clear(){this._unmarkAll(),this._emitChangeEvent()}isSelected(t){return this._selection.has(t)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(t){this._multiple&&this.selected&&this._selected.sort(t)}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(t){this.isSelected(t)||(this._multiple||this._unmarkAll(),this._selection.add(t),this._emitChanges&&this._selectedToEmit.push(t))}_unmarkSelected(t){this.isSelected(t)&&(this._selection.delete(t),this._emitChanges&&this._deselectedToEmit.push(t))}_unmarkAll(){this.isEmpty()||this._selection.forEach(t=>this._unmarkSelected(t))}_verifyValueAssignment(t){}}let zp=(()=>{class t{constructor(){this._listeners=[]}notify(t,e){for(let n of this._listeners)n(t,e)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(e=>t!==e)}}ngOnDestroy(){this._listeners=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Up=(()=>{class t{constructor(t,e,n){this._ngZone=t,this._platform=e,this._scrolled=new A,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=n}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new E(e=>{this._globalSubscription||this._addGlobalListener();const n=t>0?this._scrolled.pipe(tp(t)).subscribe(e):this._scrolled.subscribe(e);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Dd()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,e)=>this.deregister(e)),this._scrolled.complete()}ancestorScrolled(t,e){const n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(ep(t=>!t||n.indexOf(t)>-1))}getAncestorScrollContainers(t){const e=[];return this.scrollContainers.forEach((n,i)=>{this._scrollableContainsElement(i,t)&&e.push(i)}),e}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,e){let n=Id(e),i=t.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>Rd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(Ep),Ei(th,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Tu),Ei(Ep),Ei(th,8))},token:t,providedIn:"root"}),t})(),Hp=(()=>{class t{constructor(t,e,n){this._platform=t,this._change=new A,this._changeListener=t=>{this._change.next(t)},this._document=n,e.runOutsideAngular(()=>{if(t.isBrowser){const t=this._getWindow();t.addEventListener("resize",this._changeListener),t.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:e,height:n}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+n,right:t.left+e,height:n,width:e}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,e=this._getWindow(),n=t.documentElement,i=n.getBoundingClientRect();return{top:-i.top||t.body.scrollTop||e.scrollY||n.scrollTop||0,left:-i.left||t.body.scrollLeft||e.scrollX||n.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(tp(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu),Ei(th,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu),Ei(th,8))},token:t,providedIn:"root"}),t})(),$p=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),Gp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Bp,Op,$p],Bp,$p]}),t})();class Wp{attach(t){return this._attachedHost=t,t.attach(this)}detach(){let t=this._attachedHost;null!=t&&(this._attachedHost=null,t.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class qp extends Wp{constructor(t,e,n,i){super(),this.component=t,this.viewContainerRef=e,this.injector=n,this.componentFactoryResolver=i}}class Xp extends Wp{constructor(t,e,n){super(),this.templateRef=t,this.viewContainerRef=e,this.context=n}get origin(){return this.templateRef.elementRef}attach(t,e=this.context){return this.context=e,super.attach(t)}detach(){return this.context=void 0,super.detach()}}class Yp extends Wp{constructor(t){super(),this.element=t instanceof Al?t.nativeElement:t}}class Kp{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(t){return t instanceof qp?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof Xp?(this._attachedPortal=t,this.attachTemplatePortal(t)):this.attachDomPortal&&t instanceof Yp?(this._attachedPortal=t,this.attachDomPortal(t)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(t){this._disposeFn=t}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class Qp extends Kp{constructor(t,e,n,i,r){super(),this.outletElement=t,this._componentFactoryResolver=e,this._appRef=n,this._defaultInjector=i,this.attachDomPortal=t=>{const e=t.element,n=this._document.createComment("dom-portal");e.parentNode.insertBefore(n,e),this.outletElement.appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(e,n)})},this._document=r}attachComponentPortal(t){const e=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component);let n;return t.viewContainerRef?(n=t.viewContainerRef.createComponent(e,t.viewContainerRef.length,t.injector||t.viewContainerRef.injector),this.setDisposeFn(()=>n.destroy())):(n=e.create(t.injector||this._defaultInjector),this._appRef.attachView(n.hostView),this.setDisposeFn(()=>{this._appRef.detachView(n.hostView),n.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(n)),this._attachedPortal=t,n}attachTemplatePortal(t){let e=t.viewContainerRef,n=e.createEmbeddedView(t.templateRef,t.context);return n.rootNodes.forEach(t=>this.outletElement.appendChild(t)),n.detectChanges(),this.setDisposeFn(()=>{let t=e.indexOf(n);-1!==t&&e.remove(t)}),this._attachedPortal=t,n}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}let Zp=(()=>{class t extends Xp{constructor(t,e){super(t,e)}}return t.\u0275fac=function(e){return new(e||t)(ea(ac),ea(pc))},t.\u0275dir=se({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[jo]}),t})(),Jp=(()=>{class t extends Zp{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","cdk-portal",""],["","portal",""]],exportAs:["cdkPortal"],features:[xl([{provide:Zp,useExisting:t}]),jo]}),t})(),tf=(()=>{class t extends Kp{constructor(t,e,n){super(),this._componentFactoryResolver=t,this._viewContainerRef=e,this._isInitialized=!1,this.attached=new Bc,this.attachDomPortal=t=>{const e=t.element,n=this._document.createComment("dom-portal");t.setAttachedHost(this),e.parentNode.insertBefore(n,e),this._getRootNode().appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(e,n)})},this._document=n}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const e=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,n=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),i=e.createComponent(n,e.length,t.injector||e.injector);return e!==this._viewContainerRef&&this._getRootNode().appendChild(i.hostView.rootNodes[0]),super.setDisposeFn(()=>i.destroy()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}attachTemplatePortal(t){t.setAttachedHost(this);const e=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=e,this.attached.emit(e),e}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return t.\u0275fac=function(e){return new(e||t)(ea(Ol),ea(pc),ea(th))},t.\u0275dir=se({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[jo]}),t})(),ef=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const nf=(()=>{function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t})();function rf(t){return e=>0===t?fp():e.lift(new sf(t))}class sf{constructor(t){if(this.total=t,this.total<0)throw new nf}call(t,e){return e.subscribe(new of(t,this.total))}}class of extends v{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}function af(t,e=!1){return n=>n.lift(new lf(t,e))}class lf{constructor(t,e){this.predicate=t,this.inclusive=e}call(t,e){return e.subscribe(new cf(t,this.predicate,this.inclusive))}}class cf extends v{constructor(t,e,n){super(t),this.predicate=e,this.inclusive=n,this.index=0}_next(t){const e=this.destination;let n;try{n=this.predicate(t,this.index++)}catch(i){return void e.error(i)}this.nextOrComplete(t,n)}nextOrComplete(t,e){const n=this.destination;Boolean(e)?n.next(t):(this.inclusive&&n.next(t),n.complete())}}function uf(t,...e){return e.length?e.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}const hf=Dp();class df{constructor(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=Md(-this._previousScrollPosition.left),t.style.top=Md(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const t=this._document.documentElement,e=t.style,n=this._document.body.style,i=e.scrollBehavior||"",r=n.scrollBehavior||"";this._isEnabled=!1,e.left=this._previousHTMLStyles.left,e.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),hf&&(e.scrollBehavior=n.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),hf&&(e.scrollBehavior=i,n.scrollBehavior=r)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width}}class pf{constructor(t,e,n,i){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=i,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(t){this._overlayRef=t}enable(){if(this._scrollSubscription)return;const t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class ff{enable(){}disable(){}attach(){}}function gf(t,e){return e.some(e=>t.bottome.bottom||t.righte.right)}function mf(t,e){return e.some(e=>t.tope.bottom||t.lefte.right)}class bf{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=i,this._scrollSubscription=null}attach(t){this._overlayRef=t}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:e,height:n}=this._viewportRuler.getViewportSize();gf(t,[{width:e,height:n,bottom:n,right:e,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}}let yf=(()=>{class t{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=()=>new ff,this.close=t=>new pf(this._scrollDispatcher,this._ngZone,this._viewportRuler,t),this.block=()=>new df(this._viewportRuler,this._document),this.reposition=t=>new bf(this._scrollDispatcher,this._viewportRuler,this._ngZone,t),this._document=i}}return t.\u0275fac=function(e){return new(e||t)(Ei(Up),Ei(Hp),Ei(Tu),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Up),Ei(Hp),Ei(Tu),Ei(th))},token:t,providedIn:"root"}),t})();class vf{constructor(t){if(this.scrollStrategy=new ff,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t){const e=Object.keys(t);for(const n of e)void 0!==t[n]&&(this[n]=t[n])}}}class _f{constructor(t,e,n,i,r){this.offsetX=n,this.offsetY=i,this.panelClass=r,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class wf{constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}let xf=(()=>{class t{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this.detach()}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})(),Sf=(()=>{class t extends xf{constructor(t){super(t),this._keydownListener=t=>{const e=this._attachedOverlays;for(let n=e.length-1;n>-1;n--)if(e[n]._keydownEvents.observers.length>0){e[n]._keydownEvents.next(t);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})(),Cf=(()=>{class t extends xf{constructor(t,e){super(t),this._platform=e,this._cursorStyleIsSet=!1,this._clickListener=t=>{const e=Lp(t),n=this._attachedOverlays.slice();for(let i=n.length-1;i>-1;i--){const r=n[i];if(!(r._outsidePointerEvents.observers.length<1)&&r.hasAttached()){if(r.overlayElement.contains(e))break;r._outsidePointerEvents.next(t)}}}}add(t){if(super.add(t),!this._isAttached){const t=this._document.body;t.addEventListener("click",this._clickListener,!0),t.addEventListener("auxclick",this._clickListener,!0),t.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=t.style.cursor,t.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(th),Ei(Ep))},token:t,providedIn:"root"}),t})();const Ef="undefined"!=typeof window?window:{},Of=void 0!==Ef.__karma__&&!!Ef.__karma__||void 0!==Ef.jasmine&&!!Ef.jasmine||void 0!==Ef.jest&&!!Ef.jest||void 0!==Ef.Mocha&&!!Ef.Mocha;let Tf=(()=>{class t{constructor(t,e){this._platform=e,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||Of){const e=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let t=0;tthis._backdropClick.next(t),this._keydownEvents=new A,this._outsidePointerEvents=new A,i.scrollStrategy&&(this._scrollStrategy=i.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=i.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(t){let e=this._portalOutlet.attach(t);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(rf(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),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),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),t}dispose(){const t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),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&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.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(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))}updateSize(t){this._config=Object.assign(Object.assign({},this._config),t),this._updateElementSize()}setDirection(t){this._config=Object.assign(Object.assign({},this._config),{direction:t}),this._updateElementDirection()}addPanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!0)}removePanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!1)}getDirection(){const t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"}updateScrollStrategy(t){t!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=t,this.hasAttached()&&(t.attach(this),t.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const t=this._pane.style;t.width=Md(this._config.width),t.height=Md(this._config.height),t.minWidth=Md(this._config.minWidth),t.minHeight=Md(this._config.minHeight),t.maxWidth=Md(this._config.maxWidth),t.maxHeight=Md(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"":"none"}_attachBackdrop(){const t="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),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),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(t)})}):this._backdropElement.classList.add(t)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let t=this._backdropElement;if(!t)return;let e,n=()=>{t&&(t.removeEventListener("click",this._backdropClickHandler),t.removeEventListener("transitionend",n),t.parentNode&&t.parentNode.removeChild(t)),this._backdropElement==t&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(t,this._config.backdropClass,!1),clearTimeout(e)};t.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{t.addEventListener("transitionend",n)}),t.style.pointerEvents="none",e=this._ngZone.runOutsideAngular(()=>setTimeout(n,500))}_toggleClasses(t,e,n){const i=t.classList;Ad(e).forEach(t=>{t&&(n?i.add(t):i.remove(t))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const t=this._ngZone.onStable.pipe(rp(Q(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),t.unsubscribe())})})}_disposeScrollStrategy(){const t=this._scrollStrategy;t&&(t.disable(),t.detach&&t.detach())}}const Pf="cdk-overlay-connected-position-bounding-box",Af=/([A-Za-z%]+)$/;class Mf{constructor(t,e,n,i,r){this._viewportRuler=e,this._document=n,this._platform=i,this._overlayContainer=r,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 A,this._resizeSubscription=g.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(t)}get positions(){return this._preferredPositions}attach(t){this._validatePositions(),t.hostElement.classList.add(Pf),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.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)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const t=this._originRect,e=this._overlayRect,n=this._viewportRect,i=[];let r;for(let s of this._preferredPositions){let o=this._getOriginPoint(t,s),a=this._getOverlayPoint(o,e,s),l=this._getOverlayFit(a,e,n,s);if(l.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(s,o);this._canFitWithFlexibleDimensions(l,a,n)?i.push({position:s,origin:o,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(o,s)}):(!r||r.overlayFit.visibleAreae&&(e=i,t=n)}return this._isPushed=!1,void this._applyPosition(t.position,t.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(r.position,r.originPoint);this._applyPosition(r.position,r.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&If(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Pf),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}}withScrollableContainers(t){return this._scrollables=t,this}withPositions(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e){let n,i;if("center"==e.originX)n=t.left+t.width/2;else{const i=this._isRtl()?t.right:t.left,r=this._isRtl()?t.left:t.right;n="start"==e.originX?i:r}return i="center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom,{x:n,y:i}}_getOverlayPoint(t,e,n){let i,r;return i="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,r="center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height,{x:t.x+i,y:t.y+r}}_getOverlayFit(t,e,n,i){const r=Rf(e);let{x:s,y:o}=t,a=this._getOffset(i,"x"),l=this._getOffset(i,"y");a&&(s+=a),l&&(o+=l);let c=0-o,u=o+r.height-n.height,h=this._subtractOverflows(r.width,0-s,s+r.width-n.width),d=this._subtractOverflows(r.height,c,u),p=h*d;return{visibleArea:p,isCompletelyWithinViewport:r.width*r.height===p,fitsInViewportVertically:d===r.height,fitsInViewportHorizontally:h==r.width}}_canFitWithFlexibleDimensions(t,e,n){if(this._hasFlexibleDimensions){const i=n.bottom-e.y,r=n.right-e.x,s=Df(this._overlayRef.getConfig().minHeight),o=Df(this._overlayRef.getConfig().minWidth),a=t.fitsInViewportHorizontally||null!=o&&o<=r;return(t.fitsInViewportVertically||null!=s&&s<=i)&&a}return!1}_pushOverlayOnScreen(t,e,n){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};const i=Rf(e),r=this._viewportRect,s=Math.max(t.x+i.width-r.width,0),o=Math.max(t.y+i.height-r.height,0),a=Math.max(r.top-n.top-t.y,0),l=Math.max(r.left-n.left-t.x,0);let c=0,u=0;return c=i.width<=r.width?l||-s:t.xi&&!this._isInitialRender&&!this._growAfterOpen&&(s=t.y-i/2)}if("end"===e.overlayX&&!i||"start"===e.overlayX&&i)c=n.width-t.x+this._viewportMargin,a=t.x-this._viewportMargin;else if("start"===e.overlayX&&!i||"end"===e.overlayX&&i)l=t.x,a=n.right-t.x;else{const e=Math.min(n.right-t.x+n.left,t.x),i=this._lastBoundingBoxSize.width;a=2*e,l=t.x-e,a>i&&!this._isInitialRender&&!this._growAfterOpen&&(l=t.x-i/2)}return{top:s,left:l,bottom:o,right:c,width:a,height:r}}_setBoundingBoxStyles(t,e){const n=this._calculateBoundingBoxRect(t,e);!this._isInitialRender&&!this._growAfterOpen&&(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));const i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right=i.maxHeight=i.maxWidth="",i.width=i.height="100%";else{const t=this._overlayRef.getConfig().maxHeight,r=this._overlayRef.getConfig().maxWidth;i.height=Md(n.height),i.top=Md(n.top),i.bottom=Md(n.bottom),i.width=Md(n.width),i.left=Md(n.left),i.right=Md(n.right),i.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",i.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",t&&(i.maxHeight=Md(t)),r&&(i.maxWidth=Md(r))}this._lastBoundingBoxSize=n,If(this._boundingBox.style,i)}_resetBoundingBoxStyles(){If(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){If(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(t,e){const n={},i=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(i){const i=this._viewportRuler.getViewportScrollPosition();If(n,this._getExactOverlayY(e,t,i)),If(n,this._getExactOverlayX(e,t,i))}else n.position="static";let o="",a=this._getOffset(e,"x"),l=this._getOffset(e,"y");a&&(o+=`translateX(${a}px) `),l&&(o+=`translateY(${l}px)`),n.transform=o.trim(),s.maxHeight&&(i?n.maxHeight=Md(s.maxHeight):r&&(n.maxHeight="")),s.maxWidth&&(i?n.maxWidth=Md(s.maxWidth):r&&(n.maxWidth="")),If(this._pane.style,n)}_getExactOverlayY(t,e,n){let i={top:"",bottom:""},r=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,n));let s=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return r.y-=s,"bottom"===t.overlayY?i.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":i.top=Md(r.y),i}_getExactOverlayX(t,e,n){let i,r={left:"",right:""},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,n)),i=this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left","right"===i?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=Md(s.x),r}_getScrollVisibility(){const t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),n=this._scrollables.map(t=>t.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:mf(t,n),isOriginOutsideView:gf(t,n),isOverlayClipped:mf(e,n),isOverlayOutsideView:gf(e,n)}}_subtractOverflows(t,...e){return e.reduce((t,e)=>t-Math.max(e,0),t)}_getNarrowedViewportRect(){const t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,n=this._viewportRuler.getViewportScrollPosition();return{top:n.top+this._viewportMargin,left:n.left+this._viewportMargin,right:n.left+t-this._viewportMargin,bottom:n.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY}_validatePositions(){}_addPanelClasses(t){this._pane&&Ad(t).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(t=>{this._pane.classList.remove(t)}),this._appliedPanelClasses=[])}_getOriginRect(){const t=this._origin;if(t instanceof Al)return t.nativeElement.getBoundingClientRect();if(t instanceof Element)return t.getBoundingClientRect();const e=t.width||0,n=t.height||0;return{top:t.y,bottom:t.y+n,left:t.x,right:t.x+e,height:n,width:e}}}function If(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function Df(t){if("number"!=typeof t&&null!=t){const[e,n]=t.split(Af);return n&&"px"!==n?null:parseFloat(e)}return t||null}function Rf(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}class Nf{constructor(t,e,n,i,r,s,o){this._preferredPositions=[],this._positionStrategy=new Mf(n,i,r,s,o).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(t,e),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(t){this._overlayRef=t,this._positionStrategy.attach(t),this._direction&&(t.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(t){this._positionStrategy.withScrollableContainers(t)}withFallbackPosition(t,e,n,i){const r=new _f(t,e,n,i);return this._preferredPositions.push(r),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(t){return this._overlayRef?this._overlayRef.setDirection(t):this._direction=t,this}withOffsetX(t){return this._positionStrategy.withDefaultOffsetX(t),this}withOffsetY(t){return this._positionStrategy.withDefaultOffsetY(t),this}withLockedPosition(t){return this._positionStrategy.withLockedPosition(t),this}withPositions(t){return this._preferredPositions=t.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(t){return this._positionStrategy.setOrigin(t),this}}const Lf="cdk-global-overlay-wrapper";class jf{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(t){const e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add(Lf),this._isDisposed=!1}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._justifyContent="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig(),{width:i,height:r,maxWidth:s,maxHeight:o}=n,a=!("100%"!==i&&"100vw"!==i||s&&"100%"!==s&&"100vw"!==s),l=!("100%"!==r&&"100vh"!==r||o&&"100%"!==o&&"100vh"!==o);t.position=this._cssPosition,t.marginLeft=a?"0":this._leftOffset,t.marginTop=l?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=this._rightOffset,a?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems=l?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,n=e.style;e.classList.remove(Lf),n.justifyContent=n.alignItems=t.marginTop=t.marginBottom=t.marginLeft=t.marginRight=t.position="",this._overlayRef=null,this._isDisposed=!0}}let Ff=(()=>{class t{constructor(t,e,n,i){this._viewportRuler=t,this._document=e,this._platform=n,this._overlayContainer=i}global(){return new jf}connectedTo(t,e,n){return new Nf(e,n,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new Mf(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Hp),Ei(th),Ei(Ep),Ei(Tf))},t.\u0275prov=xt({factory:function(){return new t(Ei(Hp),Ei(th),Ei(Ep),Ei(Tf))},token:t,providedIn:"root"}),t})(),Bf=0,Vf=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=n,this._positionBuilder=i,this._keyboardDispatcher=r,this._injector=s,this._ngZone=o,this._document=a,this._directionality=l,this._location=c,this._outsideClickDispatcher=u}create(t){const e=this._createHostElement(),n=this._createPaneElement(e),i=this._createPortalOutlet(n),r=new vf(t);return r.direction=r.direction||this._directionality.value,new kf(i,e,n,r,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const e=this._document.createElement("div");return e.id="cdk-overlay-"+Bf++,e.classList.add("cdk-overlay-pane"),t.appendChild(e),e}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(qu)),new Qp(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return t.\u0275fac=function(e){return new(e||t)(Ei(yf),Ei(Tf),Ei(Ol),Ei(Ff),Ei(Sf),Ei(No),Ei(Tu),Ei(th),Ei(Fp),Ei(ph),Ei(Cf))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const zf=[{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"}],Uf=new oi("cdk-connected-overlay-scroll-strategy");let Hf=(()=>{class t{constructor(t){this.elementRef=t}}return t.\u0275fac=function(e){return new(e||t)(ea(Al))},t.\u0275dir=se({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),t})(),$f=(()=>{class t{constructor(t,e,n,i,r){this._overlay=t,this._dir=r,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=g.EMPTY,this._attachSubscription=g.EMPTY,this._detachSubscription=g.EMPTY,this._positionSubscription=g.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new Bc,this.positionChange=new Bc,this.attach=new Bc,this.detach=new Bc,this.overlayKeydown=new Bc,this.overlayOutsideClick=new Bc,this._templatePortal=new Xp(e,n),this._scrollStrategyFactory=i,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(t){this._offsetX=t,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(t){this._offsetY=t,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=kd(t)}get lockPosition(){return this._lockPosition}set lockPosition(t){this._lockPosition=kd(t)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(t){this._flexibleDimensions=kd(t)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(t){this._growAfterOpen=kd(t)}get push(){return this._push}set push(t){this._push=kd(t)}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(t){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),t.origin&&this.open&&this._position.apply()),t.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=zf);const t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=t.detachments().subscribe(()=>this.detach.emit()),t.keydownEvents().subscribe(t=>{this.overlayKeydown.next(t),27===t.keyCode&&!this.disableClose&&!uf(t)&&(t.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(t=>{this.overlayOutsideClick.next(t)})}_buildConfig(){const t=this._position=this.positionStrategy||this._createPositionStrategy(),e=new vf({direction:this._dir,positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(e.width=this.width),(this.height||0===this.height)&&(e.height=this.height),(this.minWidth||0===this.minWidth)&&(e.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(e.minHeight=this.minHeight),this.backdropClass&&(e.backdropClass=this.backdropClass),this.panelClass&&(e.panelClass=this.panelClass),e}_updatePositionStrategy(t){const e=this.positions.map(t=>({originX:t.originX,originY:t.originY,overlayX:t.overlayX,overlayY:t.overlayY,offsetX:t.offsetX||this.offsetX,offsetY:t.offsetY||this.offsetY,panelClass:t.panelClass||void 0}));return t.setOrigin(this.origin.elementRef).withPositions(e).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const t=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(t),t}_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(t=>{this.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(af(()=>this.positionChange.observers.length>0)).subscribe(t=>{this.positionChange.emit(t),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(ac),ea(pc),ea(Uf),ea(Fp,8))},t.\u0275dir=se({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[ye]}),t})();const Gf={provide:Uf,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};let Wf=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Vf,Gf],imports:[[Bp,ef,Gp],Gp]}),t})();const qf={schedule(t,e){const n=setTimeout(t,e);return()=>clearTimeout(n)},scheduleBeforeRender(t){if("undefined"==typeof window)return qf.schedule(t,0);if(void 0===window.requestAnimationFrame)return qf.schedule(t,16);const e=window.requestAnimationFrame(t);return()=>window.cancelAnimationFrame(e)}};let Xf;function Yf(t,e,n){let i=n;return function(t){return!!t&&t.nodeType===Node.ELEMENT_NODE}(t)&&e.some((e,n)=>!("*"===e||!function(t,e){if(!Xf){const t=Element.prototype;Xf=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return t.nodeType===Node.ELEMENT_NODE&&Xf.call(t,e)}(t,e)||(i=n,0))),i}class Kf{constructor(t,e){this.componentFactory=e.get(Ol).resolveComponentFactory(t)}create(t){return new Qf(this.componentFactory,t)}}class Qf{constructor(t,e){this.componentFactory=t,this.injector=e,this.eventEmitters=new _p(1),this.events=this.eventEmitters.pipe(cp(t=>Q(...t))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:t})=>t)),this.ngZone=this.injector.get(Tu),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(t){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(t)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=qf.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(t){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(t):this.componentRef.instance[t])}setInputValue(t,e){this.runInZone(()=>{null!==this.componentRef?function(t,e){return t===e||t!=t&&e!=e}(e,this.getInputValue(t))&&(void 0!==e||!this.unchangedInputs.has(t))||(this.recordInputChange(t,e),this.unchangedInputs.delete(t),this.hasInputChanges=!0,this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e)})}initializeComponent(t){const e=No.create({providers:[],parent:this.injector}),n=function(t,e){const n=t.childNodes,i=e.map(()=>[]);let r=-1;e.some((t,e)=>"*"===t&&(r=e,!0));for(let s=0,o=n.length;s{this.initialInputValues.has(t)&&this.setInputValue(t,this.initialInputValues.get(t))}),this.initialInputValues.clear()}initializeOutputs(t){const e=this.componentFactory.outputs.map(({propName:e,templateName:n})=>t.instance[e].pipe(D(t=>({name:n,value:t}))));this.eventEmitters.next(e)}callNgOnChanges(t){if(!this.implementsOnChanges||null===this.inputChanges)return;const e=this.inputChanges;this.inputChanges=null,t.instance.ngOnChanges(e)}markViewForCheck(t){this.hasInputChanges&&(this.hasInputChanges=!1,t.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=qf.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const n=this.inputChanges[t];if(n)return void(n.currentValue=e);const i=this.unchangedInputs.has(t),r=i?void 0:this.getInputValue(t);this.inputChanges[t]=new be(r,e,i)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(t){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(t):t()}}class Zf extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class Jf extends A{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new T;return this._value}next(t){super.next(this._value=t)}}function tg(){}function eg(t,e,n){return function(i){return i.lift(new ng(t,e,n))}}class ng{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new ig(t,this.nextOrObserver,this.error,this.complete))}}class ig extends v{constructor(t,e,n,i){super(t),this._tapNext=tg,this._tapError=tg,this._tapComplete=tg,this._tapError=n||tg,this._tapComplete=i||tg,a(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||tg,this._tapError=e.error||tg,this._tapComplete=e.complete||tg)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}function rg(t,e=Yd){return n=>n.lift(new sg(t,e))}class sg{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new og(t,this.dueTime,this.scheduler))}}class og extends v{constructor(t,e,n){super(t),this.dueTime=e,this.scheduler=n,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(ag,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function ag(t){t.debouncedNext()}function lg(t){return e=>e.lift(new cg(t))}class cg{constructor(t){this.total=t}call(t,e){return e.subscribe(new ug(t,this.total))}}class ug extends v{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){++this.count>this.total&&this.destination.next(t)}}let hg=(()=>{class t{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),dg=(()=>{class t{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,e)=>this._cleanupObserver(e))}observe(t){const e=Id(t);return new E(t=>{const n=this._observeElement(e).subscribe(t);return()=>{n.unsubscribe(),this._unobserveElement(e)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const e=new A,n=this._mutationObserverFactory.create(t=>e.next(t));n&&n.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:n,stream:e,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:e,stream:n}=this._observedElements.get(t);e&&e.disconnect(),n.complete(),this._observedElements.delete(t)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hg))},t.\u0275prov=xt({factory:function(){return new t(Ei(hg))},token:t,providedIn:"root"}),t})(),pg=(()=>{class t{constructor(t,e,n){this._contentObserver=t,this._elementRef=e,this._ngZone=n,this.event=new Bc,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=Pd(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(rg(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(dg),ea(Al),ea(Tu))},t.\u0275dir=se({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),t})(),fg=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[hg]}),t})();function gg(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}const mg="cdk-describedby-message-container",bg="cdk-describedby-message",yg="cdk-describedby-host";let vg=0;const _g=new Map;let wg=null,xg=(()=>{class t{constructor(t){this._document=t}describe(t,e,n){if(!this._canBeDescribed(t,e))return;const i=Sg(e,n);"string"!=typeof e?(Cg(e),_g.set(i,{messageElement:e,referenceCount:0})):_g.has(i)||this._createMessageElement(e,n),this._isElementDescribedByMessage(t,i)||this._addMessageReference(t,i)}removeDescription(t,e,n){if(!e||!this._isElementNode(t))return;const i=Sg(e,n);if(this._isElementDescribedByMessage(t,i)&&this._removeMessageReference(t,i),"string"==typeof e){const t=_g.get(i);t&&0===t.referenceCount&&this._deleteMessageElement(i)}wg&&0===wg.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${yg}]`);for(let e=0;e0!=t.indexOf(bg));t.setAttribute("aria-describedby",e.join(" "))}_addMessageReference(t,e){const n=_g.get(e);(function(t,e,n){const i=gg(t,e);i.some(t=>t.trim()==n.trim())||(i.push(n.trim()),t.setAttribute(e,i.join(" ")))})(t,"aria-describedby",n.messageElement.id),t.setAttribute(yg,""),n.referenceCount++}_removeMessageReference(t,e){const n=_g.get(e);n.referenceCount--,function(t,e,n){const i=gg(t,e).filter(t=>t!=n.trim());i.length?t.setAttribute(e,i.join(" ")):t.removeAttribute(e)}(t,"aria-describedby",n.messageElement.id),t.removeAttribute(yg)}_isElementDescribedByMessage(t,e){const n=gg(t,"aria-describedby"),i=_g.get(e),r=i&&i.messageElement.id;return!!r&&-1!=n.indexOf(r)}_canBeDescribed(t,e){if(!this._isElementNode(t))return!1;if(e&&"object"==typeof e)return!0;const n=null==e?"":`${e}`.trim(),i=t.getAttribute("aria-label");return!(!n||i&&i.trim()===n)}_isElementNode(t){return t.nodeType===this._document.ELEMENT_NODE}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})();function Sg(t,e){return"string"==typeof t?`${e||""}/${t}`:t}function Cg(t){t.id||(t.id=`${bg}-${vg++}`)}class Eg extends class{constructor(t){this._items=t,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new A,this._typeaheadSubscription=g.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=t=>t.disabled,this._pressedLetters=[],this.tabOut=new A,this.change=new A,t instanceof zc&&t.changes.subscribe(t=>{if(this._activeItem){const e=t.toArray().indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}})}skipPredicate(t){return this._skipPredicateFn=t,this}withWrap(t=!0){return this._wrap=t,this}withVerticalOrientation(t=!0){return this._vertical=t,this}withHorizontalOrientation(t){return this._horizontal=t,this}withAllowedModifierKeys(t){return this._allowedModifierKeys=t,this}withTypeAhead(t=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(eg(t=>this._pressedLetters.push(t)),rg(t),ep(()=>this._pressedLetters.length>0),D(()=>this._pressedLetters.join(""))).subscribe(t=>{const e=this._getItemsArray();for(let n=1;n!t[e]||this._allowedModifierKeys.indexOf(e)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&n){this.setNextItemActive();break}return;case 38:if(this._vertical&&n){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&n){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&n){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&n){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&n){this.setLastItemActive();break}return;default:return void((n||uf(t,"shiftKey"))&&(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(e>=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],t.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._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(t){const e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t),i=e[n];this._activeItem=null==i?null:i,this._activeItemIndex=n}_setActiveItemByDelta(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}_setActiveInWrapMode(t){const e=this._getItemsArray();for(let n=1;n<=e.length;n++){const i=(this._activeItemIndex+t*n+e.length)%e.length;if(!this._skipPredicateFn(e[i]))return void this.setActiveItem(i)}}_setActiveInDefaultMode(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}_setActiveItemByIndex(t,e){const n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}}_getItemsArray(){return this._items instanceof zc?this._items.toArray():this._items}}{setActiveItem(t){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(t),this.activeItem&&this.activeItem.setActiveStyles()}}let Og=(()=>{class t{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const e=function(t){try{return t.frameElement}catch(e){return null}}(function(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}(t));if(e&&(-1===kg(e)||!this.isVisible(e)))return!1;let n=t.nodeName.toLowerCase(),i=kg(t);return t.hasAttribute("contenteditable")?-1!==i:!("iframe"===n||"object"===n||this._platform.WEBKIT&&this._platform.IOS&&!function(t){let e=t.nodeName.toLowerCase(),n="input"===e&&t.type;return"text"===n||"password"===n||"select"===e||"textarea"===e}(t))&&("audio"===n?!!t.hasAttribute("controls")&&-1!==i:"video"===n?-1!==i&&(null!==i||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,e){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){let e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||Tg(t))}(t)&&!this.isDisabled(t)&&((null==e?void 0:e.ignoreVisibility)||this.isVisible(t))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep))},token:t,providedIn:"root"}),t})();function Tg(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function kg(t){if(!Tg(t))return null;const e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class Pg{constructor(t,e,n,i,r=!1){this._element=t,this._checker=e,this._ngZone=n,this._document=i,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,r||this.attachAnchors()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}destroy(){const t=this._startAnchor,e=this._endAnchor;t&&(t.removeEventListener("focus",this.startAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),e&&(e.removeEventListener("focus",this.endAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(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(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(t)))})}focusFirstTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(t)))})}focusLastTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(t)))})}_getRegionBoundary(t){let e=this._element.querySelectorAll(`[cdk-focus-region-${t}], [cdkFocusRegion${t}], [cdk-focus-${t}]`);for(let n=0;n=0;n--){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(t)return t}return null}_createAnchor(){const t=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,t),t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t.setAttribute("aria-hidden","true"),t}_toggleAnchorTabIndex(t,e){t?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(t){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}_executeOnStable(t){this._ngZone.isStable?t():this._ngZone.onStable.pipe(rf(1)).subscribe(t)}}let Ag=(()=>{class t{constructor(t,e,n){this._checker=t,this._ngZone=e,this._document=n}create(t,e=!1){return new Pg(t,this._checker,this._ngZone,this._document,e)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Og),Ei(Tu),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Og),Ei(Tu),Ei(th))},token:t,providedIn:"root"}),t})();function Mg(t){return 0===t.offsetX&&0===t.offsetY}function Ig(t){const e=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const Dg=new oi("cdk-input-modality-detector-options"),Rg={ignoreKeys:[18,17,224,91,16]},Ng=Ip({passive:!0,capture:!0});let Lg=(()=>{class t{constructor(t,e,n,i){this._platform=t,this._mostRecentTarget=null,this._modality=new Jf(null),this._lastTouchMs=0,this._onKeydown=t=>{var e,n;(null===(n=null===(e=this._options)||void 0===e?void 0:e.ignoreKeys)||void 0===n?void 0:n.some(e=>e===t.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Lp(t))},this._onMousedown=t=>{Date.now()-this._lastTouchMs<650||(this._modality.next(Mg(t)?"keyboard":"mouse"),this._mostRecentTarget=Lp(t))},this._onTouchstart=t=>{Ig(t)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Lp(t))},this._options=Object.assign(Object.assign({},Rg),i),this.modalityDetected=this._modality.pipe(lg(1)),this.modalityChanged=this.modalityDetected.pipe(Wd()),t.isBrowser&&e.runOutsideAngular(()=>{n.addEventListener("keydown",this._onKeydown,Ng),n.addEventListener("mousedown",this._onMousedown,Ng),n.addEventListener("touchstart",this._onTouchstart,Ng)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,Ng),document.removeEventListener("mousedown",this._onMousedown,Ng),document.removeEventListener("touchstart",this._onTouchstart,Ng))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu),Ei(th),Ei(Dg,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu),Ei(th),Ei(Dg,8))},token:t,providedIn:"root"}),t})();const jg=new oi("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),Fg=new oi("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let Bg=(()=>{class t{constructor(t,e,n,i){this._ngZone=e,this._defaultOptions=i,this._document=n,this._liveElement=t||this._createLiveElement()}announce(t,...e){const n=this._defaultOptions;let i,r;return 1===e.length&&"number"==typeof e[0]?r=e[0]:[i,r]=e,this.clear(),clearTimeout(this._previousTimeout),i||(i=n&&n.politeness?n.politeness:"polite"),null==r&&n&&(r=n.duration),this._liveElement.setAttribute("aria-live",i),this._ngZone.runOutsideAngular(()=>new Promise(e=>{clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=t,e(),"number"==typeof r&&(this._previousTimeout=setTimeout(()=>this.clear(),r))},100)}))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement&&this._liveElement.parentNode&&(this._liveElement.parentNode.removeChild(this._liveElement),this._liveElement=null)}_createLiveElement(){const t="cdk-live-announcer-element",e=this._document.getElementsByClassName(t),n=this._document.createElement("div");for(let i=0;i{class t{constructor(t,e,n,i,r){this._ngZone=t,this._platform=e,this._inputModalityDetector=n,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=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new A,this._rootNodeFocusAndBlurListener=t=>{const e=Lp(t),n="focus"===t.type?this._onFocus:this._onBlur;for(let i=e;i;i=i.parentElement)n.call(this,t,i)},this._document=i,this._detectionMode=(null==r?void 0:r.detectionMode)||0}monitor(t,e=!1){const n=Id(t);if(!this._platform.isBrowser||1!==n.nodeType)return Dd(null);const i=Rp(n)||this._getDocument(),r=this._elementInfo.get(n);if(r)return e&&(r.checkChildren=!0),r.subject;const s={checkChildren:e,subject:new A,rootNode:i};return this._elementInfo.set(n,s),this._registerGlobalListeners(s),s.subject}stopMonitoring(t){const e=Id(t),n=this._elementInfo.get(e);n&&(n.subject.complete(),this._setClasses(e),this._elementInfo.delete(e),this._removeGlobalListeners(n))}focusVia(t,e,n){const i=Id(t);i===this._getDocument().activeElement?this._getClosestElementsInfo(i).forEach(([t,n])=>this._originChanged(t,e,n)):(this._setOrigin(e),"function"==typeof i.focus&&i.focus(n))}ngOnDestroy(){this._elementInfo.forEach((t,e)=>this.stopMonitoring(e))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,e,n){n?t.classList.add(e):t.classList.remove(e)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,e){this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e)}_setOrigin(t,e=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&e,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,e){const n=this._elementInfo.get(e),i=Lp(t);!n||!n.checkChildren&&e!==i||this._originChanged(e,this._getFocusOrigin(i),n)}_onBlur(t,e){const n=this._elementInfo.get(e);!n||n.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),this._emitOrigin(n.subject,null))}_emitOrigin(t,e){this._ngZone.run(()=>t.next(e))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const e=t.rootNode,n=this._rootNodeFocusListenerCount.get(e)||0;n||this._ngZone.runOutsideAngular(()=>{e.addEventListener("focus",this._rootNodeFocusAndBlurListener,zg),e.addEventListener("blur",this._rootNodeFocusAndBlurListener,zg)}),this._rootNodeFocusListenerCount.set(e,n+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(rp(this._stopInputModalityDetector)).subscribe(t=>{this._setOrigin(t,!0)}))}_removeGlobalListeners(t){const e=t.rootNode;if(this._rootNodeFocusListenerCount.has(e)){const t=this._rootNodeFocusListenerCount.get(e);t>1?this._rootNodeFocusListenerCount.set(e,t-1):(e.removeEventListener("focus",this._rootNodeFocusAndBlurListener,zg),e.removeEventListener("blur",this._rootNodeFocusAndBlurListener,zg),this._rootNodeFocusListenerCount.delete(e))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,e,n){this._setClasses(t,e),this._emitOrigin(n.subject,e),this._lastFocusOrigin=e}_getClosestElementsInfo(t){const e=[];return this._elementInfo.forEach((n,i)=>{(i===t||n.checkChildren&&i.contains(t))&&e.push([i,n])}),e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(Ep),Ei(Lg),Ei(th,8),Ei(Vg,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Tu),Ei(Ep),Ei(Lg),Ei(th,8),Ei(Vg,8))},token:t,providedIn:"root"}),t})();const Hg="cdk-high-contrast-black-on-white",$g="cdk-high-contrast-white-on-black",Gg="cdk-high-contrast-active";let Wg=(()=>{class t{constructor(t,e){this._platform=t,this._document=e}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const e=this._document.defaultView||window,n=e&&e.getComputedStyle?e.getComputedStyle(t):null,i=(n&&n.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),i){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(Gg),t.remove(Hg),t.remove($g),this._hasCheckedHighContrastMode=!0;const e=this.getHighContrastMode();1===e?(t.add(Gg),t.add(Hg)):2===e&&(t.add(Gg),t.add($g))}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(th))},token:t,providedIn:"root"}),t})(),qg=(()=>{class t{constructor(t){t._applyBodyHighContrastModeCssClasses()}}return t.\u0275fac=function(e){return new(e||t)(Ei(Wg))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Op,fg]]}),t})();const Xg=new Ll("12.2.5");class Yg{}const Kg="*";function Qg(t,e){return{type:7,name:t,definitions:e,options:{}}}function Zg(t,e=null){return{type:4,styles:e,timings:t}}function Jg(t,e=null){return{type:2,steps:t,options:e}}function tm(t){return{type:6,styles:t,offset:null}}function em(t,e,n){return{type:0,name:t,styles:e,options:n}}function nm(t){return{type:5,steps:t}}function im(t,e,n=null){return{type:1,expr:t,animation:e,options:n}}function rm(t=null){return{type:9,options:t}}function sm(t,e,n=null){return{type:11,selector:t,animation:e,options:n}}function om(t){Promise.resolve(null).then(t)}class am{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){om(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(t){this._position=this.totalTime?t*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class lm{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,n=0,i=0;const r=this.players.length;0==r?om(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==r&&this._onFinish()}),t.onDestroy(()=>{++n==r&&this._onDestroy()}),t.onStart(()=>{++i==r&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})}getPosition(){const t=this.players.reduce((t,e)=>null===t||e.totalTime>t.totalTime?e:t,null);return null!=t?t.getPosition():0}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}function cm(){return"undefined"!=typeof window&&void 0!==window.document}function um(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function hm(t){switch(t.length){case 0:return new am;case 1:return t[0];default:return new lm(t)}}function dm(t,e,n,i,r={},s={}){const o=[],a=[];let l=-1,c=null;if(i.forEach(t=>{const n=t.offset,i=n==l,u=i&&c||{};Object.keys(t).forEach(n=>{let i=n,a=t[n];if("offset"!==n)switch(i=e.normalizePropertyName(i,o),a){case"!":a=r[n];break;case Kg:a=s[n];break;default:a=e.normalizeStyleValue(n,i,a,o)}u[i]=a}),i||a.push(u),c=u,l=n}),o.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${o.join(t)}`)}return a}function pm(t,e,n,i){switch(e){case"start":t.onStart(()=>i(n&&fm(n,"start",t)));break;case"done":t.onDone(()=>i(n&&fm(n,"done",t)));break;case"destroy":t.onDestroy(()=>i(n&&fm(n,"destroy",t)))}}function fm(t,e,n){const i=n.totalTime,r=gm(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==i?t.totalTime:i,!!n.disabled),s=t._data;return null!=s&&(r._data=s),r}function gm(t,e,n,i,r="",s=0,o){return{element:t,triggerName:e,fromState:n,toState:i,phaseName:r,totalTime:s,disabled:!!o}}function mm(t,e,n){let i;return t instanceof Map?(i=t.get(e),i||t.set(e,i=n)):(i=t[e],i||(i=t[e]=n)),i}function bm(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let ym=(t,e)=>!1,vm=(t,e)=>!1,_m=(t,e,n)=>[];const wm=um();(wm||"undefined"!=typeof Element)&&(ym=cm()?(t,e)=>{for(;e&&e!==document.documentElement;){if(e===t)return!0;e=e.parentNode||e.host}return!1}:(t,e)=>t.contains(e),vm=(()=>{if(wm||Element.prototype.matches)return(t,e)=>t.matches(e);{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?(t,n)=>e.apply(t,[n]):vm}})(),_m=(t,e,n)=>{let i=[];if(n){const n=t.querySelectorAll(e);for(let t=0;t{const i=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=t[n]}),e}let Pm=(()=>{class t{validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return n||""}animate(t,e,n,i,r,s=[],o){return new am(n,i)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Am{}Am.NOOP=new Pm;const Mm="ng-enter",Im="ng-leave",Dm="ng-trigger",Rm=".ng-trigger",Nm="ng-animating",Lm=".ng-animating";function jm(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Fm(parseFloat(e[1]),e[2])}function Fm(t,e){switch(e){case"s":return 1e3*t;default:return t}}function Bm(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){let i,r=0,s="";if("string"==typeof t){const n=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===n)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};i=Fm(parseFloat(n[1]),n[2]);const o=n[3];null!=o&&(r=Fm(parseFloat(o),n[4]));const a=n[5];a&&(s=a)}else i=t;if(!n){let n=!1,s=e.length;i<0&&(e.push("Duration values below 0 are not allowed for this animation step."),n=!0),r<0&&(e.push("Delay values below 0 are not allowed for this animation step."),n=!0),n&&e.splice(s,0,`The provided timing value "${t}" is invalid.`)}return{duration:i,delay:r,easing:s}}(t,e,n)}function Vm(t,e={}){return Object.keys(t).forEach(n=>{e[n]=t[n]}),e}function zm(t,e,n={}){if(e)for(let i in t)n[i]=t[i];else Vm(t,n);return n}function Um(t,e,n){return n?e+":"+n+";":""}function Hm(t){let e="";for(let n=0;n{const r=Zm(i);n&&!n.hasOwnProperty(i)&&(n[i]=t.style[r]),t.style[r]=e[i]}),um()&&Hm(t))}function Gm(t,e){t.style&&(Object.keys(e).forEach(e=>{const n=Zm(e);t.style[n]=""}),um()&&Hm(t))}function Wm(t){return Array.isArray(t)?1==t.length?t[0]:Jg(t):t}const qm=new RegExp("{{\\s*(.+?)\\s*}}","g");function Xm(t){let e=[];if("string"==typeof t){let n;for(;n=qm.exec(t);)e.push(n[1]);qm.lastIndex=0}return e}function Ym(t,e,n){const i=t.toString(),r=i.replace(qm,(t,i)=>{let r=e[i];return e.hasOwnProperty(i)||(n.push(`Please provide a value for the animation param ${i}`),r=""),r.toString()});return r==i?t:r}function Km(t){const e=[];let n=t.next();for(;!n.done;)e.push(n.value),n=t.next();return e}const Qm=/-+([a-z0-9])/g;function Zm(t){return t.replace(Qm,(...t)=>t[1].toUpperCase())}function Jm(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function tb(t,e){return 0===t||0===e}function eb(t,e,n){const i=Object.keys(n);if(i.length&&e.length){let s=e[0],o=[];if(i.forEach(t=>{s.hasOwnProperty(t)||o.push(t),s[t]=n[t]}),o.length)for(var r=1;rfunction(t,e,n){if(":"==t[0]){const i=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e) *"}}(t,n);if("function"==typeof i)return void e.push(i);t=i}const i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push(`The provided transition expression "${t}" is not supported`),e;const r=i[1],s=i[2],o=i[3];e.push(ab(r,o));"<"==s[0]&&!("*"==r&&"*"==o)&&e.push(ab(o,r))}(t,n,e)):n.push(t),n}const sb=new Set(["true","1"]),ob=new Set(["false","0"]);function ab(t,e){const n=sb.has(t)||ob.has(t),i=sb.has(e)||ob.has(e);return(r,s)=>{let o="*"==t||t==r,a="*"==e||e==s;return!o&&n&&"boolean"==typeof r&&(o=r?sb.has(t):ob.has(t)),!a&&i&&"boolean"==typeof s&&(a=s?sb.has(e):ob.has(e)),o&&a}}const lb=new RegExp("s*:selfs*,?","g");function cb(t,e,n){return new ub(t).build(e,n)}class ub{constructor(t){this._driver=t}build(t,e){const n=new hb(e);return this._resetContextStyleTimingState(n),nb(this,Wm(t),n)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles={},t.collectedStyles[""]={},t.currentTime=0}visitTrigger(t,e){let n=e.queryCount=0,i=e.depCount=0;const r=[],s=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const n=t,i=n.name;i.toString().split(/\s*,\s*/).forEach(t=>{n.name=t,r.push(this.visitState(n,e))}),n.name=i}else if(1==t.type){const r=this.visitTransition(t,e);n+=r.queryCount,i+=r.depCount,s.push(r)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:r,transitions:s,queryCount:n,depCount:i,options:null}}visitState(t,e){const n=this.visitStyle(t.styles,e),i=t.options&&t.options.params||null;if(n.containsDynamicStyles){const r=new Set,s=i||{};if(n.styles.forEach(t=>{if(db(t)){const e=t;Object.keys(e).forEach(t=>{Xm(e[t]).forEach(t=>{s.hasOwnProperty(t)||r.add(t)})})}}),r.size){const n=Km(r.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${n.join(", ")}`)}}return{type:0,name:t.name,style:n,options:i?{params:i}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const n=nb(this,Wm(t.animation),e);return{type:1,matchers:rb(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:pb(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>nb(this,t,e)),options:pb(t.options)}}visitGroup(t,e){const n=e.currentTime;let i=0;const r=t.steps.map(t=>{e.currentTime=n;const r=nb(this,t,e);return i=Math.max(i,e.currentTime),r});return e.currentTime=i,{type:3,steps:r,options:pb(t.options)}}visitAnimate(t,e){const n=function(t,e){let n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return fb(Bm(t,e).duration,0,"");const i=t;if(i.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=fb(0,0,"");return t.dynamic=!0,t.strValue=i,t}return n=n||Bm(i,e),fb(n.duration,n.delay,n.easing)}(t.timings,e.errors);e.currentAnimateTimings=n;let i,r=t.styles?t.styles:tm({});if(5==r.type)i=this.visitKeyframes(r,e);else{let r=t.styles,s=!1;if(!r){s=!0;const t={};n.easing&&(t.easing=n.easing),r=tm(t)}e.currentTime+=n.duration+n.delay;const o=this.visitStyle(r,e);o.isEmptyStep=s,i=o}return e.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}visitStyle(t,e){const n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n}_makeStyleAst(t,e){const n=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==Kg?n.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):n.push(t)}):n.push(t.styles);let i=!1,r=null;return n.forEach(t=>{if(db(t)){const e=t,n=e.easing;if(n&&(r=n,delete e.easing),!i)for(let t in e)if(e[t].toString().indexOf("{{")>=0){i=!0;break}}}),{type:6,styles:n,easing:r,offset:t.offset,containsDynamicStyles:i,options:null}}_validateStyleAst(t,e){const n=e.currentAnimateTimings;let i=e.currentTime,r=e.currentTime;n&&r>0&&(r-=n.duration+n.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(n=>{if(!this._driver.validateStyleProperty(n))return void e.errors.push(`The provided animation property "${n}" is not a supported CSS property for animations`);const s=e.collectedStyles[e.currentQuerySelector],o=s[n];let a=!0;o&&(r!=i&&r>=o.startTime&&i<=o.endTime&&(e.errors.push(`The CSS property "${n}" that exists between the times of "${o.startTime}ms" and "${o.endTime}ms" is also being animated in a parallel animation between the times of "${r}ms" and "${i}ms"`),a=!1),r=o.startTime),a&&(s[n]={startTime:r,endTime:i}),e.options&&function(t,e,n){const i=e.params||{},r=Xm(t);r.length&&r.forEach(t=>{i.hasOwnProperty(t)||n.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(t[n],e.options,e.errors)})})}visitKeyframes(t,e){const n={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),n;let i=0;const r=[];let s=!1,o=!1,a=0;const l=t.steps.map(t=>{const n=this._makeStyleAst(t,e);let l=null!=n.offset?n.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if(db(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}});else if(db(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}return e}(n.styles),c=0;return null!=l&&(i++,c=n.offset=l),o=o||c<0||c>1,s=s||c0&&i{const s=u>0?i==h?1:u*i:r[i],o=s*f;e.currentTime=d+p.delay+o,p.duration=o,this._validateStyleAst(t,e),t.offset=s,n.styles.push(t)}),n}visitReference(t,e){return{type:8,animation:nb(this,Wm(t.animation),e),options:pb(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:pb(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:pb(t.options)}}visitQuery(t,e){const n=e.currentQuerySelector,i=t.options||{};e.queryCount++,e.currentQuery=t;const[r,s]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>":self"==t);return e&&(t=t.replace(lb,"")),[t=t.replace(/@\*/g,Rm).replace(/@\w+/g,t=>Rm+"-"+t.substr(1)).replace(/:animating/g,Lm),e]}(t.selector);e.currentQuerySelector=n.length?n+" "+r:r,mm(e.collectedStyles,e.currentQuerySelector,{});const o=nb(this,Wm(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:r,limit:i.limit||0,optional:!!i.optional,includeSelf:s,animation:o,originalSelector:t.selector,options:pb(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Bm(t.timings,e.errors,!0);return{type:12,animation:nb(this,Wm(t.animation),e),timings:n,options:null}}}class hb{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function db(t){return!Array.isArray(t)&&"object"==typeof t}function pb(t){return t?(t=Vm(t)).params&&(t.params=function(t){return t?Vm(t):null}(t.params)):t={},t}function fb(t,e,n){return{duration:t,delay:e,easing:n}}function gb(t,e,n,i,r,s,o=null,a=!1){return{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:i,duration:r,delay:s,totalTime:r+s,easing:o,subTimeline:a}}class mb{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let n=this._map.get(t);n||this._map.set(t,n=[]),n.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const bb=new RegExp(":enter","g"),yb=new RegExp(":leave","g");function vb(t,e,n,i,r,s={},o={},a,l,c=[]){return(new _b).buildKeyframes(t,e,n,i,r,s,o,a,l,c)}class _b{buildKeyframes(t,e,n,i,r,s,o,a,l,c=[]){l=l||new mb;const u=new xb(t,e,l,i,r,c,[]);u.options=a,u.currentTimeline.setStyles([s],null,u.errors,a),nb(this,n,u);const h=u.timelines.filter(t=>t.containsAnimation());if(h.length&&Object.keys(o).length){const t=h[h.length-1];t.allowOnlyTimelineStyles()||t.setStyles([o],null,u.errors,a)}return h.length?h.map(t=>t.buildKeyframes()):[gb(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const n=e.subInstructions.consume(e.element);if(n){const i=e.createSubContext(t.options),r=e.currentTimeline.currentTime,s=this._visitSubInstructions(n,i,i.options);r!=s&&e.transformIntoNewTimeline(s)}e.previousNode=t}visitAnimateRef(t,e){const n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,n){let i=e.currentTimeline.currentTime;const r=null!=n.duration?jm(n.duration):null,s=null!=n.delay?jm(n.delay):null;return 0!==r&&t.forEach(t=>{const n=e.appendInstructionToTimeline(t,r,s);i=Math.max(i,n.duration+n.delay)}),i}visitReference(t,e){e.updateOptions(t.options,!0),nb(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const n=e.subContextCount;let i=e;const r=t.options;if(r&&(r.params||r.delay)&&(i=e.createSubContext(r),i.transformIntoNewTimeline(),null!=r.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=wb);const t=jm(r.delay);i.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>nb(this,t,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>n&&i.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const n=[];let i=e.currentTimeline.currentTime;const r=t.options&&t.options.delay?jm(t.options.delay):0;t.steps.forEach(s=>{const o=e.createSubContext(t.options);r&&o.delayNextStep(r),nb(this,s,o),i=Math.max(i,o.currentTimeline.currentTime),n.push(o.currentTimeline)}),n.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(i),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const n=t.strValue;return Bm(e.params?Ym(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const n=e.currentAnimateTimings=this._visitTiming(t.timings,e),i=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),i.snapshotCurrentStyles());const r=t.style;5==r.type?this.visitKeyframes(r,e):(e.incrementTime(n.duration),this.visitStyle(r,e),i.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const n=e.currentTimeline,i=e.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();const r=i&&i.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(r):n.setStyles(t.styles,r,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const n=e.currentAnimateTimings,i=e.currentTimeline.duration,r=n.duration,s=e.createSubContext().currentTimeline;s.easing=n.easing,t.styles.forEach(t=>{s.forwardTime((t.offset||0)*r),s.setStyles(t.styles,t.easing,e.errors,e.options),s.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(s),e.transformIntoNewTimeline(i+r),e.previousNode=t}visitQuery(t,e){const n=e.currentTimeline.currentTime,i=t.options||{},r=i.delay?jm(i.delay):0;r&&(6===e.previousNode.type||0==n&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=wb);let s=n;const o=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=o.length;let a=null;o.forEach((n,i)=>{e.currentQueryIndex=i;const o=e.createSubContext(t.options,n);r&&o.delayNextStep(r),n===e.element&&(a=o.currentTimeline),nb(this,t.animation,o),o.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,o.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),a&&(e.currentTimeline.mergeTimelineCollectedStyles(a),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const n=e.parentContext,i=e.currentTimeline,r=t.timings,s=Math.abs(r.duration),o=s*(e.currentQueryTotal-1);let a=s*e.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":a=o-a;break;case"full":a=n.currentStaggerTime}const l=e.currentTimeline;a&&l.delayNextStep(a);const c=l.currentTime;nb(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=i.currentTime-c+(i.startTime-n.currentTimeline.startTime)}}const wb={};class xb{constructor(t,e,n,i,r,s,o,a){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=i,this._leaveClassName=r,this.errors=s,this.timelines=o,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=wb,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new Sb(this._driver,e,0),o.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const n=t;let i=this.options;null!=n.duration&&(i.duration=jm(n.duration)),null!=n.delay&&(i.delay=jm(n.delay));const r=n.params;if(r){let t=i.params;t||(t=this.options.params={}),Object.keys(r).forEach(n=>{(!e||!t.hasOwnProperty(n))&&(t[n]=Ym(r[n],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const n=t.params={};Object.keys(e).forEach(t=>{n[t]=e[t]})}}return t}createSubContext(t=null,e,n){const i=e||this.element,r=new xb(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,n||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(t),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(t){return this.previousNode=wb,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,n){const i={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},r=new Cb(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,i,t.stretchStartingKeyframe);return this.timelines.push(r),i}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,n,i,r,s){let o=[];if(i&&o.push(this.element),t.length>0){t=(t=t.replace(bb,"."+this._enterClassName)).replace(yb,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=n);0!==n&&(e=n<0?e.slice(e.length+n,e.length):e.slice(0,n)),o.push(...e)}return!r&&0==o.length&&s.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),o}}class Sb{constructor(t,e,n,i){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=i,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new Sb(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||Kg,this._currentKeyframe[t]=Kg}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,n,i){e&&(this._previousKeyframe.easing=e);const r=i&&i.params||{},s=function(t,e){const n={};let i;return t.forEach(t=>{"*"===t?(i=i||Object.keys(e),i.forEach(t=>{n[t]=Kg})):zm(t,!1,n)}),n}(t,this._globalTimelineStyles);Object.keys(s).forEach(t=>{const e=Ym(s[t],r,n);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:Kg),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const n=this._styleSummary[e],i=t._styleSummary[e];(!n||i.time>n.time)&&this._updateStyle(e,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,n=1===this._keyframes.size&&0===this.duration;let i=[];this._keyframes.forEach((r,s)=>{const o=zm(r,!0);Object.keys(o).forEach(n=>{const i=o[n];"!"==i?t.add(n):i==Kg&&e.add(n)}),n||(o.offset=s/this.duration),i.push(o)});const r=t.size?Km(t.values()):[],s=e.size?Km(e.values()):[];if(n){const t=i[0],e=Vm(t);t.offset=0,e.offset=1,i=[t,e]}return gb(this.element,i,r,s,this.duration,this.startTime,this.easing,!1)}}class Cb extends Sb{constructor(t,e,n,i,r,s,o=!1){super(t,e,s.delay),this.keyframes=n,this.preStyleProps=i,this.postStyleProps=r,this._stretchStartingKeyframe=o,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:n,easing:i}=this.timings;if(this._stretchStartingKeyframe&&e){const r=[],s=n+e,o=e/s,a=zm(t[0],!1);a.offset=0,r.push(a);const l=zm(t[0],!1);l.offset=Eb(o),r.push(l);const c=t.length-1;for(let i=1;i<=c;i++){let o=zm(t[i],!1);o.offset=Eb((e+o.offset*n)/s),r.push(o)}n=s,e=0,i="",t=r}return gb(this.element,t,this.preStyleProps,this.postStyleProps,n,e,i,!0)}}function Eb(t,e=3){const n=Math.pow(10,e-1);return Math.round(t*n)/n}class Ob{}class Tb extends Ob{normalizePropertyName(t,e){return Zm(t)}normalizeStyleValue(t,e,n,i){let r="";const s=n.toString().trim();if(kb[e]&&0!==n&&"0"!==n)if("number"==typeof n)r="px";else{const e=n.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&i.push(`Please provide a CSS unit value for ${t}:${n}`)}return s+r}}const kb=(()=>function(t){const e={};return t.forEach(t=>e[t]=!0),e}("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".split(",")))();function Pb(t,e,n,i,r,s,o,a,l,c,u,h,d){return{type:0,element:t,triggerName:e,isRemovalTransition:r,fromState:n,fromStyles:s,toState:i,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:h,errors:d}}const Ab={};class Mb{constructor(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}match(t,e,n,i){return function(t,e,n,i,r){return t.some(t=>t(e,n,i,r))}(this.ast.matchers,t,e,n,i)}buildStyles(t,e,n){const i=this._stateStyles["*"],r=this._stateStyles[t],s=i?i.buildStyles(e,n):{};return r?r.buildStyles(e,n):s}build(t,e,n,i,r,s,o,a,l,c){const u=[],h=this.ast.options&&this.ast.options.params||Ab,d=this.buildStyles(n,o&&o.params||Ab,u),p=a&&a.params||Ab,f=this.buildStyles(i,p,u),g=new Set,m=new Map,b=new Map,y="void"===i,v={params:Object.assign(Object.assign({},h),p)},_=c?[]:vb(t,e,this.ast.animation,r,s,d,f,v,l,u);let w=0;if(_.forEach(t=>{w=Math.max(t.duration+t.delay,w)}),u.length)return Pb(e,this._triggerName,n,i,y,d,f,[],[],m,b,w,u);_.forEach(t=>{const n=t.element,i=mm(m,n,{});t.preStyleProps.forEach(t=>i[t]=!0);const r=mm(b,n,{});t.postStyleProps.forEach(t=>r[t]=!0),n!==e&&g.add(n)});const x=Km(g.values());return Pb(e,this._triggerName,n,i,y,d,f,_,x,m,b,w)}}class Ib{constructor(t,e,n){this.styles=t,this.defaultParams=e,this.normalizer=n}buildStyles(t,e){const n={},i=Vm(this.defaultParams);return Object.keys(t).forEach(e=>{const n=t[e];null!=n&&(i[e]=n)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const r=t;Object.keys(r).forEach(t=>{let s=r[t];s.length>1&&(s=Ym(s,i,e));const o=this.normalizer.normalizePropertyName(t,e);s=this.normalizer.normalizeStyleValue(t,o,s,e),n[o]=s})}}),n}}class Db{constructor(t,e,n){this.name=t,this.ast=e,this._normalizer=n,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new Ib(t.style,t.options&&t.options.params||{},n)}),Rb(this.states,"true","1"),Rb(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new Mb(t,e,this.states))}),this.fallbackTransition=function(t,e,n){return new Mb(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},e)}(t,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,n,i){return this.transitionFactories.find(r=>r.match(t,e,n,i))||null}matchStyles(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)}}function Rb(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}const Nb=new mb;class Lb{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}register(t,e){const n=[],i=cb(this._driver,e,n);if(n.length)throw new Error(`Unable to build the animation due to the following errors: ${n.join("\n")}`);this._animations[t]=i}_buildPlayer(t,e,n){const i=t.element,r=dm(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(i,r,t.duration,t.delay,t.easing,[],!0)}create(t,e,n={}){const i=[],r=this._animations[t];let s;const o=new Map;if(r?(s=vb(this._driver,e,r,Mm,Im,{},{},n,Nb,i),s.forEach(t=>{const e=mm(o,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)})):(i.push("The requested animation doesn't exist or has already been destroyed"),s=[]),i.length)throw new Error(`Unable to create the animation due to the following errors: ${i.join("\n")}`);o.forEach((t,e)=>{Object.keys(t).forEach(n=>{t[n]=this._driver.computeStyle(e,n,Kg)})});const a=hm(s.map(t=>{const e=o.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=a,a.onDestroy(()=>this.destroy(t)),this.players.push(a),a}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,n,i){const r=gm(e,"","","");return pm(this._getPlayer(t),n,r,i),()=>{}}command(t,e,n,i){if("register"==n)return void this.register(t,i[0]);if("create"==n)return void this.create(t,e,i[0]||{});const r=this._getPlayer(t);switch(n){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(t)}}}const jb="ng-animate-queued",Fb="ng-animate-disabled",Bb=".ng-animate-disabled",Vb=[],zb={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Ub={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Hb="__ng_removed";class $b{constructor(t,e=""){this.namespaceId=e;const n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){const e=Vm(t);delete e.value,this.options=e}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(n=>{null==t[n]&&(t[n]=e[n])})}}}const Gb="void",Wb=new $b(Gb);class qb{constructor(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,ey(e,this._hostClassName)}listen(t,e,n,i){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${n}" because the animation trigger "${e}" doesn't exist!`);if(null==n||0==n.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if(!function(t){return"start"==t||"done"==t}(n))throw new Error(`The provided animation trigger event "${n}" for the animation trigger "${e}" is not supported!`);const r=mm(this._elementListeners,t,[]),s={name:e,phase:n,callback:i};r.push(s);const o=mm(this._engine.statesByElement,t,{});return o.hasOwnProperty(e)||(ey(t,Dm),ey(t,Dm+"-"+e),o[e]=Wb),()=>{this._engine.afterFlush(()=>{const t=r.indexOf(s);t>=0&&r.splice(t,1),this._triggers[e]||delete o[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,n,i=!0){const r=this._getTrigger(e),s=new Yb(this.id,e,t);let o=this._engine.statesByElement.get(t);o||(ey(t,Dm),ey(t,Dm+"-"+e),this._engine.statesByElement.set(t,o={}));let a=o[e];const l=new $b(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&a&&l.absorbOptions(a.options),o[e]=l,a||(a=Wb),l.value!==Gb&&a.value===l.value){if(!function(t,e){const n=Object.keys(t),i=Object.keys(e);if(n.length!=i.length)return!1;for(let r=0;r{Gm(t,n),$m(t,i)})}return}const c=mm(this._engine.playersByElement,t,[]);c.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let u=r.matchTransition(a.value,l.value,t,l.params),h=!1;if(!u){if(!i)return;u=r.fallbackTransition,h=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:u,fromState:a,toState:l,player:s,isFallbackTransition:h}),h||(ey(t,jb),s.onStart(()=>{ny(t,jb)})),s.onDone(()=>{let e=this.players.indexOf(s);e>=0&&this.players.splice(e,1);const n=this._engine.playersByElement.get(t);if(n){let t=n.indexOf(s);t>=0&&n.splice(t,1)}}),this.players.push(s),c.push(s),s}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,n)=>{delete e[t]}),this._elementListeners.forEach((e,n)=>{this._elementListeners.set(n,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e){const n=this._engine.driver.query(t,Rm,!0);n.forEach(t=>{if(t[Hb])return;const n=this._engine.fetchNamespacesByElement(t);n.size?n.forEach(n=>n.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)}),this._engine.afterFlushAnimationsDone(()=>n.forEach(t=>this.clearElementCache(t)))}triggerLeaveAnimation(t,e,n,i){const r=this._engine.statesByElement.get(t);if(r){const s=[];if(Object.keys(r).forEach(e=>{if(this._triggers[e]){const n=this.trigger(t,e,Gb,i);n&&s.push(n)}}),s.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),n&&hm(s).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t),n=this._engine.statesByElement.get(t);if(e&&n){const i=new Set;e.forEach(e=>{const r=e.name;if(i.has(r))return;i.add(r);const s=this._triggers[r].fallbackTransition,o=n[r]||Wb,a=new $b(Gb),l=new Yb(this.id,r,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:r,transition:s,fromState:o,toState:a,player:l,isFallbackTransition:!0})})}}removeNode(t,e){const n=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e),this.triggerLeaveAnimation(t,e,!0))return;let i=!1;if(n.totalAnimations){const e=n.players.length?n.playersByQueriedElement.get(t):[];if(e&&e.length)i=!0;else{let e=t;for(;e=e.parentNode;)if(n.statesByElement.get(e)){i=!0;break}}}if(this.prepareLeaveAnimationListeners(t),i)n.markElementAsRemoved(this.id,t,!1,e);else{const i=t[Hb];(!i||i===zb)&&(n.afterFlush(()=>this.clearElementCache(t)),n.destroyInnerAnimations(t),n._onRemovalComplete(t,e))}}insertNode(t,e){ey(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(n=>{const i=n.player;if(i.destroyed)return;const r=n.element,s=this._elementListeners.get(r);s&&s.forEach(e=>{if(e.name==n.triggerName){const i=gm(r,n.triggerName,n.fromState.value,n.toState.value);i._data=t,pm(n.player,e.phase,i,e.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):e.push(n)}),this._queue=[],e.sort((t,e)=>{const n=t.transition.ast.depCount,i=e.transition.ast.depCount;return 0==n||0==i?n-i:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(e=>e.element===t)||e,e}}class Xb{constructor(t,e,n){this.bodyNode=t,this.driver=e,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=(t,e)=>{}}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const n=new qb(t,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(n,e):(this.newHostElements.set(e,n),this.collectEnterElement(e)),this._namespaceLookup[t]=n}_balanceNamespaceList(t,e){const n=this._namespaceList.length-1;if(n>=0){let i=!1;for(let r=n;r>=0;r--)if(this.driver.containsElement(this._namespaceList[r].hostElement,e)){this._namespaceList.splice(r+1,0,t),i=!0;break}i||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n}registerTrigger(t,e,n){let i=this._namespaceLookup[t];i&&i.register(e,n)&&this.totalAnimations++}destroy(t,e){if(!t)return;const n=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(n.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(n);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>n.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,n=this.statesByElement.get(t);if(n){const t=Object.keys(n);for(let i=0;i=0&&this.collectedLeaveElements.splice(t,1)}if(t){const i=this._fetchNamespace(t);i&&i.insertNode(e,n)}i&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),ey(t,Fb)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),ny(t,Fb))}removeNode(t,e,n,i){if(Kb(e)){const r=t?this._fetchNamespace(t):null;if(r?r.removeNode(e,i):this.markElementAsRemoved(t,e,!1,i),n){const n=this.namespacesByHostElement.get(e);n&&n.id!==t&&n.removeNode(e,i)}}else this._onRemovalComplete(e,i)}markElementAsRemoved(t,e,n,i){this.collectedLeaveElements.push(e),e[Hb]={namespaceId:t,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}listen(t,e,n,i,r){return Kb(e)?this._fetchNamespace(t).listen(e,n,i,r):()=>{}}_buildInstruction(t,e,n,i,r){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,i,t.fromState.options,t.toState.options,e,r)}destroyInnerAnimations(t){let e=this.driver.query(t,Rm,!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,Lm,!0),e.forEach(t=>this.finishActiveQueriedAnimationOnElement(t)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return hm(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[Hb];if(e&&e.setForRemoval){if(t[Hb]=zb,e.namespaceId){this.destroyInnerAnimations(t);const n=this._fetchNamespace(e.namespaceId);n&&n.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,Bb)&&this.markElementAsDisabled(t,!1),this.driver.query(t,Bb,!0).forEach(t=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;nt()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?hm(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const n=new mb,i=[],r=new Map,s=[],o=new Map,a=new Map,l=new Map,c=new Set;this.disabledNodes.forEach(t=>{c.add(t);const e=this.driver.query(t,".ng-animate-queued",!0);for(let n=0;n{const n=Mm+f++;p.set(e,n),t.forEach(t=>ey(t,n))});const g=[],m=new Set,b=new Set;for(let A=0;Am.add(t)):b.add(t))}const y=new Map,v=Jb(h,Array.from(m));v.forEach((t,e)=>{const n=Im+f++;y.set(e,n),t.forEach(t=>ey(t,n))}),t.push(()=>{d.forEach((t,e)=>{const n=p.get(e);t.forEach(t=>ny(t,n))}),v.forEach((t,e)=>{const n=y.get(e);t.forEach(t=>ny(t,n))}),g.forEach(t=>{this.processLeaveNode(t)})});const _=[],w=[];for(let A=this._namespaceList.length-1;A>=0;A--)this._namespaceList[A].drainQueuedTransitions(e).forEach(t=>{const e=t.player,r=t.element;if(_.push(e),this.collectedEnterElements.length){const t=r[Hb];if(t&&t.setForMove)return void e.destroy()}const c=!u||!this.driver.containsElement(u,r),h=y.get(r),d=p.get(r),f=this._buildInstruction(t,n,d,h,c);if(f.errors&&f.errors.length)w.push(f);else{if(c)return e.onStart(()=>Gm(r,f.fromStyles)),e.onDestroy(()=>$m(r,f.toStyles)),void i.push(e);if(t.isFallbackTransition)return e.onStart(()=>Gm(r,f.fromStyles)),e.onDestroy(()=>$m(r,f.toStyles)),void i.push(e);f.timelines.forEach(t=>t.stretchStartingKeyframe=!0),n.append(r,f.timelines),s.push({instruction:f,player:e,element:r}),f.queriedElements.forEach(t=>mm(o,t,[]).push(e)),f.preStyleProps.forEach((t,e)=>{const n=Object.keys(t);if(n.length){let t=a.get(e);t||a.set(e,t=new Set),n.forEach(e=>t.add(e))}}),f.postStyleProps.forEach((t,e)=>{const n=Object.keys(t);let i=l.get(e);i||l.set(e,i=new Set),n.forEach(t=>i.add(t))})}});if(w.length){const t=[];w.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),_.forEach(t=>t.destroy()),this.reportError(t)}const x=new Map,S=new Map;s.forEach(t=>{const e=t.element;n.has(e)&&(S.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,x))}),i.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{mm(x,e,[]).push(t),t.destroy()})});const C=g.filter(t=>sy(t,a,l)),E=new Map;Zb(E,this.driver,b,l,Kg).forEach(t=>{sy(t,a,l)&&C.push(t)});const O=new Map;d.forEach((t,e)=>{Zb(O,this.driver,new Set(t),a,"!")}),C.forEach(t=>{const e=E.get(t),n=O.get(t);E.set(t,Object.assign(Object.assign({},e),n))});const T=[],k=[],P={};s.forEach(t=>{const{element:e,player:s,instruction:o}=t;if(n.has(e)){if(c.has(e))return s.onDestroy(()=>$m(e,o.toStyles)),s.disabled=!0,s.overrideTotalTime(o.totalTime),void i.push(s);let t=P;if(S.size>1){let n=e;const i=[];for(;n=n.parentNode;){const e=S.get(n);if(e){t=e;break}i.push(n)}i.forEach(e=>S.set(e,t))}const n=this._buildAnimation(s.namespaceId,o,x,r,O,E);if(s.setRealPlayer(n),t===P)T.push(s);else{const e=this.playersByElement.get(t);e&&e.length&&(s.parentPlayer=hm(e)),i.push(s)}}else Gm(e,o.fromStyles),s.onDestroy(()=>$m(e,o.toStyles)),k.push(s),c.has(e)&&i.push(s)}),k.forEach(t=>{const e=r.get(t.element);if(e&&e.length){const n=hm(e);t.setRealPlayer(n)}}),i.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let A=0;A!t.destroyed);i.length?iy(this,t,i):this.processLeaveNode(t)}return g.length=0,T.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),T}elementContainsData(t,e){let n=!1;const i=e[Hb];return i&&i.setForRemoval&&(n=!0),this.playersByElement.has(e)&&(n=!0),this.playersByQueriedElement.has(e)&&(n=!0),this.statesByElement.has(e)&&(n=!0),this._fetchNamespace(t).elementContainsData(e)||n}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,n,i,r){let s=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(s=e)}else{const e=this.playersByElement.get(t);if(e){const t=!r||r==Gb;e.forEach(e=>{e.queued||!t&&e.triggerName!=i||s.push(e)})}}return(n||i)&&(s=s.filter(t=>!(n&&n!=t.namespaceId||i&&i!=t.triggerName))),s}_beforeAnimationBuild(t,e,n){const i=e.element,r=e.isRemovalTransition?void 0:t,s=e.isRemovalTransition?void 0:e.triggerName;for(const o of e.timelines){const t=o.element,a=t!==i,l=mm(n,t,[]);this._getPreviousPlayers(t,a,r,s,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),l.push(t)})}Gm(i,e.fromStyles)}_buildAnimation(t,e,n,i,r,s){const o=e.triggerName,a=e.element,l=[],c=new Set,u=new Set,h=e.timelines.map(e=>{const h=e.element;c.add(h);const d=h[Hb];if(d&&d.removedBeforeQueried)return new am(e.duration,e.delay);const p=h!==a,f=function(t){const e=[];return ry(t,e),e}((n.get(h)||Vb).map(t=>t.getRealPlayer())).filter(t=>!!t.element&&t.element===h),g=r.get(h),m=s.get(h),b=dm(0,this._normalizer,0,e.keyframes,g,m),y=this._buildPlayer(e,b,f);if(e.subTimeline&&i&&u.add(h),p){const e=new Yb(t,o,h);e.setRealPlayer(y),l.push(e)}return y});l.forEach(t=>{mm(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>function(t,e,n){let i;if(t instanceof Map){if(i=t.get(e),i){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&t.delete(e)}}else if(i=t[e],i){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&delete t[e]}return i}(this.playersByQueriedElement,t.element,t))}),c.forEach(t=>ey(t,Nm));const d=hm(h);return d.onDestroy(()=>{c.forEach(t=>ny(t,Nm)),$m(a,e.toStyles)}),u.forEach(t=>{mm(i,t,[]).push(d)}),d}_buildPlayer(t,e,n){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new am(t.duration,t.delay)}}class Yb{constructor(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new am,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(n=>pm(t,e,void 0,n))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){mm(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&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(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function Kb(t){return t&&1===t.nodeType}function Qb(t,e){const n=t.style.display;return t.style.display=null!=e?e:"none",n}function Zb(t,e,n,i,r){const s=[];n.forEach(t=>s.push(Qb(t)));const o=[];i.forEach((n,i)=>{const s={};n.forEach(t=>{const n=s[t]=e.computeStyle(i,t,r);(!n||0==n.length)&&(i[Hb]=Ub,o.push(i))}),t.set(i,s)});let a=0;return n.forEach(t=>Qb(t,s[a++])),o}function Jb(t,e){const n=new Map;if(t.forEach(t=>n.set(t,[])),0==e.length)return n;const i=new Set(e),r=new Map;function s(t){if(!t)return 1;let e=r.get(t);if(e)return e;const o=t.parentNode;return e=n.has(o)?o:i.has(o)?1:s(o),r.set(t,e),e}return e.forEach(t=>{const e=s(t);1!==e&&n.get(e).push(t)}),n}const ty="$$classes";function ey(t,e){if(t.classList)t.classList.add(e);else{let n=t[ty];n||(n=t[ty]={}),n[e]=!0}}function ny(t,e){if(t.classList)t.classList.remove(e);else{let n=t[ty];n&&delete n[e]}}function iy(t,e,n){hm(n).onDone(()=>t.processLeaveNode(e))}function ry(t,e){for(let n=0;nr.add(t)):e.set(t,i),n.delete(t),!0}class oy{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._triggerCache={},this.onRemovalComplete=(t,e)=>{},this._transitionEngine=new Xb(t,e,n),this._timelineEngine=new Lb(t,e,n),this._transitionEngine.onRemovalComplete=(t,e)=>this.onRemovalComplete(t,e)}registerTrigger(t,e,n,i,r){const s=t+"-"+i;let o=this._triggerCache[s];if(!o){const t=[],e=cb(this._driver,r,t);if(t.length)throw new Error(`The animation trigger "${i}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);o=function(t,e,n){return new Db(t,e,n)}(i,e,this._normalizer),this._triggerCache[s]=o}this._transitionEngine.registerTrigger(e,i,o)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,n,i){this._transitionEngine.insertNode(t,e,n,i)}onRemove(t,e,n,i){this._transitionEngine.removeNode(t,e,i||!1,n)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,n,i){if("@"==n.charAt(0)){const[t,r]=bm(n);this._timelineEngine.command(t,e,r,i)}else this._transitionEngine.trigger(t,e,n,i)}listen(t,e,n,i,r){if("@"==n.charAt(0)){const[t,i]=bm(n);return this._timelineEngine.listen(t,e,i,r)}return this._transitionEngine.listen(t,e,n,i,r)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function ay(t,e){let n=null,i=null;return Array.isArray(e)&&e.length?(n=cy(e[0]),e.length>1&&(i=cy(e[e.length-1]))):e&&(n=cy(e)),n||i?new ly(t,n,i):null}class ly{constructor(t,e,n){this._element=t,this._startStyles=e,this._endStyles=n,this._state=0;let i=ly.initialStylesByElement.get(t);i||ly.initialStylesByElement.set(t,i={}),this._initialStyles=i}start(){this._state<1&&(this._startStyles&&$m(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&($m(this._element,this._initialStyles),this._endStyles&&($m(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(ly.initialStylesByElement.delete(this._element),this._startStyles&&(Gm(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Gm(this._element,this._endStyles),this._endStyles=null),$m(this._element,this._initialStyles),this._state=3)}}function cy(t){let e=null;const n=Object.keys(t);for(let i=0;ithis._handleCallback(t)}apply(){(function(t,e){const n=vy(t,"").trim();let i=0;n.length&&(function(t,e){let n=0;for(let i=0;i=this._delay&&n>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),by(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const n=vy(t,"").split(","),i=my(n,e);i>=0&&(n.splice(i,1),yy(t,"",n.join(",")))}(this._element,this._name))}}function fy(t,e,n){yy(t,"PlayState",n,gy(t,e))}function gy(t,e){const n=vy(t,"");return n.indexOf(",")>0?my(n.split(","),e):my([n],e)}function my(t,e){for(let n=0;n=0)return n;return-1}function by(t,e,n){n?t.removeEventListener(dy,e):t.addEventListener(dy,e)}function yy(t,e,n,i){const r=hy+e;if(null!=i){const e=t.style[r];if(e.length){const t=e.split(",");t[i]=n,n=t.join(",")}}t.style[r]=n}function vy(t,e){return t.style[hy+e]||""}class _y{constructor(t,e,n,i,r,s,o,a){this.element=t,this.keyframes=e,this.animationName=n,this._duration=i,this._delay=r,this._finalStyles=o,this._specialStyles=a,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=s||"linear",this.totalTime=i+r,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new py(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this._state>=3;Object.keys(this._finalStyles).forEach(n=>{"offset"!=n&&(t[n]=e?this._finalStyles[n]:ib(this.element,n))})}this.currentSnapshot=t}}class wy extends am{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=km(e)}init(){this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){!this._startingStyles||(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}class xy{constructor(){this._count=0}validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,n){n=n.map(t=>km(t));let i=`@keyframes ${e} {\n`,r="";n.forEach(t=>{r=" ";const e=parseFloat(t.offset);i+=`${r}${100*e}% {\n`,r+=" ",Object.keys(t).forEach(e=>{const n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(i+=`${r}animation-timing-function: ${n};\n`));default:return void(i+=`${r}${e}: ${n};\n`)}}),i+=`${r}}\n`}),i+="}\n";const s=document.createElement("style");return s.textContent=i,s}animate(t,e,n,i,r,s=[],o){const a=s.filter(t=>t instanceof _y),l={};tb(n,i)&&a.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const c=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(n=>{"offset"==n||"easing"==n||(e[n]=t[n])})}),e}(e=eb(t,e,l));if(0==n)return new wy(t,c);const u="gen_css_kf_"+this._count++,h=this.buildKeyframeElement(t,u,e);(function(t){var e;const n=null===(e=t.getRootNode)||void 0===e?void 0:e.call(t);return"undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot?n:document.head})(t).appendChild(h);const d=ay(t,e),p=new _y(t,e,u,n,i,r,c,d);return p.onDestroy(()=>function(t){t.parentNode.removeChild(t)}(h)),p}}class Sy{constructor(t,e,n,i){this.element=t,this.keyframes=e,this.options=n,this._specialStyles=i,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,n){return t.animate(e,n)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),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}_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(t=>t()),this._onDestroyFns=[])}setPosition(t){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:ib(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class Cy{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Ey().toString()),this._cssKeyframesDriver=new xy}validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,n,i,r,s=[],o){if(!o&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,i,r,s);const a={duration:n,delay:i,fill:0==i?"both":"forwards"};r&&(a.easing=r);const l={},c=s.filter(t=>t instanceof Sy);tb(n,i)&&c.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const u=ay(t,e=eb(t,e=e.map(t=>zm(t,!1)),l));return new Sy(t,e,a,u)}}function Ey(){return cm()&&Element.prototype.animate||{}}let Oy=(()=>{class t extends Yg{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:jt.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const n=Array.isArray(t)?Jg(t):t;return Py(this._renderer,null,e,"register",[n]),new Ty(e,this._renderer)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Il),Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Ty extends class{}{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new ky(this._id,t,e||{},this._renderer)}}class ky{constructor(t,e,n,i){this.id=t,this.element=e,this._renderer=i,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return Py(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(t){this._command("setPosition",t)}getPosition(){var t,e;return null!==(e=null===(t=this._renderer.engine.players[+this.id])||void 0===t?void 0:t.getPosition())&&void 0!==e?e:0}}function Py(t,e,n,i,r){return t.setProperty(e,`@@${n}:${i}`,r)}const Ay="@.disabled";let My=(()=>{class t{constructor(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=(t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)}}createRenderer(t,e){const n=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(n);return t||(t=new Iy("",n,this.engine),this._rendererCache.set(n,t)),t}const i=e.id,r=e.id+"-"+this._currentId;this._currentId++,this.engine.register(r,t);const s=e=>{Array.isArray(e)?e.forEach(s):this.engine.registerTrigger(i,r,t,e.name,e)};return e.data.animation.forEach(s),new Dy(this,r,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,n){t>=0&&te(n)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,n]=t;e(n)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,n]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return t.\u0275fac=function(e){return new(e||t)(Ei(Il),Ei(oy),Ei(Tu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Iy{constructor(t,e,n){this.namespaceId=t,this.delegate=e,this.engine=n,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,n,i=!0){this.delegate.insertBefore(t,e,n),this.engine.onInsert(this.namespaceId,e,t,i)}removeChild(t,e,n){this.engine.onRemove(this.namespaceId,e,this.delegate,n)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,i){this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,i){this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){"@"==e.charAt(0)&&e==Ay?this.disableAnimations(t,!!n):this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n){return this.delegate.listen(t,e,n)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class Dy extends Iy{constructor(t,e,n,i){super(e,n,i),this.factory=t,this.namespaceId=e}setProperty(t,e,n){"@"==e.charAt(0)?"."==e.charAt(1)&&e==Ay?this.disableAnimations(t,n=void 0===n||!!n):this.engine.process(this.namespaceId,t,e.substr(1),n):this.delegate.setProperty(t,e,n)}listen(t,e,n){if("@"==e.charAt(0)){const i=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let r=e.substr(1),s="";return"@"!=r.charAt(0)&&([r,s]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(r)),this.engine.listen(this.namespaceId,i,r,s,t=>{this.factory.scheduleListenerCallback(t._data||-1,n,t)})}return this.delegate.listen(t,e,n)}}let Ry=(()=>{class t extends oy{constructor(t,e,n){super(t.body,e,n)}ngOnDestroy(){this.flush()}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(Am),Ei(Ob))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Ny=new oi("AnimationModuleType"),Ly=[{provide:Yg,useClass:Oy},{provide:Ob,useFactory:function(){return new Tb}},{provide:oy,useClass:Ry},{provide:Il,useFactory:function(t,e,n){return new My(t,e,n)},deps:[pd,oy,Tu]}],jy=[{provide:Am,useFactory:function(){return"function"==typeof Ey()?new Cy:new xy}},{provide:Ny,useValue:"BrowserAnimations"},...Ly],Fy=[{provide:Am,useClass:Pm},{provide:Ny,useValue:"NoopAnimations"},...Ly];let By=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?Fy:jy}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:jy,imports:[Td]}),t})();function Vy(t,e){if(1&t&&oa(0,"mat-pseudo-checkbox",4),2&t){const t=va();na("state",t.selected?"checked":"unchecked")("disabled",t.disabled)}}function zy(t,e){if(1&t&&(ra(0,"span",5),Ja(1),sa()),2&t){const t=va();ws(1),el("(",t.group.label,")")}}const Uy=["*"],Hy=new Ll("12.2.5"),$y=new oi("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let Gy,Wy=(()=>{class t{constructor(t,e,n){this._hasDoneGlobalChecks=!1,this._document=n,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=e,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!Vu()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&Hy.full!==Xg.full&&console.warn("The Angular Material version ("+Hy.full+") does not match the Angular CDK version ("+Xg.full+").\nPlease ensure the versions of these two packages exactly match.")}}return t.\u0275fac=function(e){return new(e||t)(Ei(Wg),Ei($y,8),Ei(th))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Bp],Bp]}),t})();function qy(t){return class extends t{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t)}}}function Xy(t,e){return class extends t{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const e=t||this.defaultColor;e!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),e&&this._elementRef.nativeElement.classList.add(`mat-${e}`),this._color=e)}}}function Yy(t){return class extends t{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=kd(t)}}}function Ky(t,e=0){return class extends t{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?Pd(t):this.defaultTabIndex}}}function Qy(t){return class extends t{constructor(...t){super(...t),this.stateChanges=new A,this.errorState=!1}updateErrorState(){const t=this.errorState,e=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);e!==t&&(this.errorState=e,this.stateChanges.next())}}}try{Gy="undefined"!=typeof Intl}catch(m){Gy=!1}let Zy=(()=>{class t{isErrorState(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Jy=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-line",""],["","matLine",""]],hostAttrs:[1,"mat-line"]}),t})();function tv(t,e,n){const i=t.nativeElement.classList;n?i.add(e):i.remove(e)}let ev=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();class nv{constructor(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const iv={enterDuration:225,exitDuration:150},rv=Ip({passive:!0}),sv=["mousedown","touchstart"],ov=["mouseup","mouseleave","touchend","touchcancel"];class av{constructor(t,e,n,i){this._target=t,this._ngZone=e,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,i.isBrowser&&(this._containerElement=Id(n))}fadeInRipple(t,e,n={}){const i=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),r=Object.assign(Object.assign({},iv),n.animation);n.centered&&(t=i.left+i.width/2,e=i.top+i.height/2);const s=n.radius||function(t,e,n){const i=Math.max(Math.abs(t-n.left),Math.abs(t-n.right)),r=Math.max(Math.abs(e-n.top),Math.abs(e-n.bottom));return Math.sqrt(i*i+r*r)}(t,e,i),o=t-i.left,a=e-i.top,l=r.enterDuration,c=document.createElement("div");c.classList.add("mat-ripple-element"),c.style.left=o-s+"px",c.style.top=a-s+"px",c.style.height=2*s+"px",c.style.width=2*s+"px",null!=n.color&&(c.style.backgroundColor=n.color),c.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(c),function(t){window.getComputedStyle(t).getPropertyValue("opacity")}(c),c.style.transform="scale(1)";const u=new nv(this,c,n);return u.state=0,this._activeRipples.add(u),n.persistent||(this._mostRecentTransientRipple=u),this._runTimeoutOutsideZone(()=>{const t=u===this._mostRecentTransientRipple;u.state=1,!n.persistent&&(!t||!this._isPointerDown)&&u.fadeOut()},l),u}fadeOutRipple(t){const e=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const n=t.element,i=Object.assign(Object.assign({},iv),t.config.animation);n.style.transitionDuration=`${i.exitDuration}ms`,n.style.opacity="0",t.state=2,this._runTimeoutOutsideZone(()=>{t.state=3,n.parentNode.removeChild(n)},i.exitDuration)}fadeOutAll(){this._activeRipples.forEach(t=>t.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(t=>{t.config.persistent||t.fadeOut()})}setupTriggerEvents(t){const e=Id(t);!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,this._registerEvents(sv))}handleEvent(t){"mousedown"===t.type?this._onMousedown(t):"touchstart"===t.type?this._onTouchStart(t):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(ov),this._pointerUpEventsRegistered=!0)}_onMousedown(t){const e=Mg(t),n=this._lastTouchStartEvent&&Date.now(){!t.config.persistent&&(1===t.state||t.config.terminateOnPointerUp&&0===t.state)&&t.fadeOut()}))}_runTimeoutOutsideZone(t,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(t,e))}_registerEvents(t){this._ngZone.runOutsideAngular(()=>{t.forEach(t=>{this._triggerElement.addEventListener(t,this,rv)})})}_removeTriggerEvents(){this._triggerElement&&(sv.forEach(t=>{this._triggerElement.removeEventListener(t,this,rv)}),this._pointerUpEventsRegistered&&ov.forEach(t=>{this._triggerElement.removeEventListener(t,this,rv)}))}}const lv=new oi("mat-ripple-global-options");let cv=(()=>{class t{constructor(t,e,n,i,r){this._elementRef=t,this._animationMode=r,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=i||{},this._rippleRenderer=new av(this,e,t,n)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}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:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{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(t,e=0,n){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,e,Object.assign(Object.assign({},this.rippleConfig),n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Tu),ea(Ep),ea(lv,8),ea(Ny,8))},t.\u0275dir=se({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,e){2&t&&ja("mat-ripple-unbounded",e.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),t})(),uv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy,Op],Wy]}),t})(),hv=(()=>{class t{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}return t.\u0275fac=function(e){return new(e||t)(ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(t,e){2&t&&ja("mat-pseudo-checkbox-indeterminate","indeterminate"===e.state)("mat-pseudo-checkbox-checked","checked"===e.state)("mat-pseudo-checkbox-disabled",e.disabled)("_mat-animation-noopable","NoopAnimations"===e._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(t,e){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;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-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),t})(),dv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy]]}),t})();const pv=new oi("MAT_OPTION_PARENT_COMPONENT"),fv=qy(class{});let gv=0,mv=(()=>{class t extends fv{constructor(t){var e;super(),this._labelId="mat-optgroup-label-"+gv++,this._inert=null!==(e=null==t?void 0:t.inertGroups)&&void 0!==e&&e}}return t.\u0275fac=function(e){return new(e||t)(ea(pv,8))},t.\u0275dir=se({type:t,inputs:{label:"label"},features:[jo]}),t})();const bv=new oi("MatOptgroup");let yv=0;class vv{constructor(t,e=!1){this.source=t,this.isUserInput=e}}let _v=(()=>{class t{constructor(t,e,n,i){this._element=t,this._changeDetectorRef=e,this._parent=n,this.group=i,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+yv++,this.onSelectionChange=new Bc,this._stateChanges=new A}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(t){this._disabled=kd(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(t,e){const n=this._getHostElement();"function"==typeof n.focus&&n.focus(e)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){(13===t.keyCode||32===t.keyCode)&&!uf(t)&&(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new vv(this,t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(void 0),ea(mv))},t.\u0275dir=se({type:t,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),t})(),wv=(()=>{class t extends _v{constructor(t,e,n,i){super(t,e,n,i)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(pv,8),ea(bv,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(t,e){1&t&&fa("click",function(){return e._selectViaInteraction()})("keydown",function(t){return e._handleKeydown(t)}),2&t&&(rl("id",e.id),Ko("tabindex",e._getTabIndex())("aria-selected",e._getAriaSelected())("aria-disabled",e.disabled.toString()),ja("mat-selected",e.selected)("mat-option-multiple",e.multiple)("mat-active",e.active)("mat-option-disabled",e.disabled))},exportAs:["matOption"],features:[jo],ngContentSelectors:Uy,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(t,e){1&t&&(wa(),Jo(0,Vy,1,2,"mat-pseudo-checkbox",0),ra(1,"span",1),xa(2),sa(),Jo(3,zy,2,1,"span",2),oa(4,"div",3)),2&t&&(na("ngIf",e.multiple),ws(3),na("ngIf",e.group&&e.group._inert),ws(1),na("matRippleTrigger",e._getHostElement())("matRippleDisabled",e.disabled||e.disableRipple))},directives:[Ah,cv,hv],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),t})();function xv(t,e,n){if(n.length){let i=e.toArray(),r=n.toArray(),s=0;for(let e=0;en+i?Math.max(0,t-i+e):n}let Cv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wh,Wy,dv]]}),t})();function Ev(...t){if(1===t.length){const e=t[0];if(d(e))return Ov(e,null);if(p(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Ov(t.map(t=>e[t]),t)}}if("function"==typeof t[t.length-1]){const e=t.pop();return Ov(t=1===t.length&&d(t[0])?t[0]:t,null).pipe(D(t=>e(...t)))}return Ov(t,null)}function Ov(t,e){return new E(n=>{const i=t.length;if(0===i)return void n.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=t},error:t=>n.error(t),complete:()=>{s++,(s===i||!c)&&(o===i&&n.next(e?e.reduce((t,e,n)=>(t[e]=r[n],t),{}):r),n.complete())}}))}})}function Tv(t){return function(e){const n=new kv(t),i=e.lift(n);return n.caught=i}}class kv{constructor(t){this.selector=t}call(t,e){return e.subscribe(new Pv(t,this.selector,this.caught))}}class Pv extends ${constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let n;try{n=this.selector(t,this.caught)}catch(e){return void super.error(e)}this._unsubscribeAndRecycle();const i=new H(this);this.add(i);const r=G(n,i);r!==i&&this.add(r)}}}function Av(t){return e=>e.lift(new Mv(t))}class Mv{constructor(t){this.callback=t}call(t,e){return e.subscribe(new Iv(t,this.callback))}}class Iv extends v{constructor(t,e){super(t),this.add(new g(e))}}class Dv{}class Rv{}class Nv{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),i=n.toLowerCase(),r=t.slice(e+1).trim();this.maybeSetNormalizedName(n,i),this.headers.has(i)?this.headers.get(i).push(r):this.headers.set(i,[r])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const i=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(i,n),this.maybeSetNormalizedName(e,i))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Nv?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Nv;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Nv?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const i=("a"===t.op?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":const r=t.value;if(r){let t=this.headers.get(e);if(!t)return;t=t.filter(t=>-1===r.indexOf(t)),0===t.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class Lv{encodeKey(t){return Bv(t)}encodeValue(t){return Bv(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const jv=/%(\d[a-f0-9])/gi,Fv={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Bv(t){return encodeURIComponent(t).replace(jv,(t,e)=>{var n;return null!==(n=Fv[e])&&void 0!==n?n:t})}function Vv(t){return`${t}`}class zv{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Lv,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(t=>{const i=t.indexOf("="),[r,s]=-1==i?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,i)),e.decodeValue(t.slice(i+1))],o=n.get(r)||[];o.push(s),n.set(r,o)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(n=>{const i=t[n];Array.isArray(i)?i.forEach(t=>{e.push({param:n,value:t,op:"a"})}):e.push({param:n,value:i,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new zv({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(Vv(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(Vv(t.value));-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Uv{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}keys(){return this.map.keys()}}function Hv(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function $v(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Gv(t){return"undefined"!=typeof FormData&&t instanceof FormData}class Wv{constructor(t,e,n,i){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||i?(this.body=void 0!==n?n:null,r=i):r=n,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.context&&(this.context=r.context),r.params&&(this.params=r.params)),this.headers||(this.headers=new Nv),this.context||(this.context=new Uv),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":ne.set(n,t.setHeaders[n]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),c)),new Wv(n,i,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var qv=(()=>((qv=qv||{})[qv.Sent=0]="Sent",qv[qv.UploadProgress=1]="UploadProgress",qv[qv.ResponseHeader=2]="ResponseHeader",qv[qv.DownloadProgress=3]="DownloadProgress",qv[qv.Response=4]="Response",qv[qv.User=5]="User",qv))();class Xv{constructor(t,e=200,n="OK"){this.headers=t.headers||new Nv,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class Yv extends Xv{constructor(t={}){super(t),this.type=qv.ResponseHeader}clone(t={}){return new Yv({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Kv extends Xv{constructor(t={}){super(t),this.type=qv.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new Kv({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Qv extends Xv{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function Zv(t,e){return{body:e,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let Jv=(()=>{class t{constructor(t){this.handler=t}request(t,e,n={}){let i;if(t instanceof Wv)i=t;else{let r,s;r=n.headers instanceof Nv?n.headers:new Nv(n.headers),n.params&&(s=n.params instanceof zv?n.params:new zv({fromObject:n.params})),i=new Wv(t,e,void 0!==n.body?n.body:null,{headers:r,context:n.context,params:s,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const r=Dd(i).pipe(function(t,e){return W(t,e,1)}(t=>this.handler.handle(t)));if(t instanceof Wv||"events"===n.observe)return r;const s=r.pipe(ep(t=>t instanceof Kv));switch(n.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return s.pipe(D(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return s.pipe(D(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return s.pipe(D(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return s.pipe(D(t=>t.body))}case"response":return s;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new zv).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,Zv(n,e))}post(t,e,n={}){return this.request("POST",t,Zv(n,e))}put(t,e,n={}){return this.request("PUT",t,Zv(n,e))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Dv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class t_{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const e_=new oi("HTTP_INTERCEPTORS");let n_=(()=>{class t{intercept(t,e){return e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const i_=/^\)\]\}',?\n/;let r_=(()=>{class t{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new E(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const i=t.serializeBody();let r=null;const s=()=>{if(null!==r)return r;const e=1223===n.status?204:n.status,i=n.statusText||"OK",s=new Nv(n.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return r=new Yv({headers:s,status:e,statusText:i,url:o}),r},o=()=>{let{headers:i,status:r,statusText:o,url:a}=s(),l=null;204!==r&&(l=void 0===n.response?n.responseText:n.response),0===r&&(r=l?200:0);let c=r>=200&&r<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(i_,"");try{l=""!==l?JSON.parse(l):null}catch(u){l=t,c&&(c=!1,l={error:u,text:l})}}c?(e.next(new Kv({body:l,headers:i,status:r,statusText:o,url:a||void 0})),e.complete()):e.error(new Qv({error:l,headers:i,status:r,statusText:o,url:a||void 0}))},a=t=>{const{url:i}=s(),r=new Qv({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error",url:i||void 0});e.error(r)};let l=!1;const c=i=>{l||(e.next(s()),l=!0);let r={type:qv.DownloadProgress,loaded:i.loaded};i.lengthComputable&&(r.total=i.total),"text"===t.responseType&&!!n.responseText&&(r.partialText=n.responseText),e.next(r)},u=t=>{let n={type:qv.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",o),n.addEventListener("error",a),n.addEventListener("timeout",a),n.addEventListener("abort",a),t.reportProgress&&(n.addEventListener("progress",c),null!==i&&n.upload&&n.upload.addEventListener("progress",u)),n.send(i),e.next({type:qv.Sent}),()=>{n.removeEventListener("error",a),n.removeEventListener("abort",a),n.removeEventListener("load",o),n.removeEventListener("timeout",a),t.reportProgress&&(n.removeEventListener("progress",c),null!==i&&n.upload&&n.upload.removeEventListener("progress",u)),n.readyState!==n.DONE&&n.abort()}})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Yh))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const s_=new oi("XSRF_COOKIE_NAME"),o_=new oi("XSRF_HEADER_NAME");class a_{}let l_=(()=>{class t{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Eh(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(hu),Ei(s_))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),c_=(()=>{class t{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const i=this.tokenService.getToken();return null!==i&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,i)})),e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(a_),Ei(o_))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),u_=(()=>{class t{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(e_,[]);this.chain=t.reduceRight((t,e)=>new t_(t,e),this.backend)}return this.chain.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Rv),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),h_=(()=>{class t{static disable(){return{ngModule:t,providers:[{provide:c_,useClass:n_}]}}static withOptions(e={}){return{ngModule:t,providers:[e.cookieName?{provide:s_,useValue:e.cookieName}:[],e.headerName?{provide:o_,useValue:e.headerName}:[]]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[c_,{provide:e_,useExisting:c_,multi:!0},{provide:a_,useClass:l_},{provide:s_,useValue:"XSRF-TOKEN"},{provide:o_,useValue:"X-XSRF-TOKEN"}]}),t})(),d_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Jv,{provide:Dv,useClass:u_},r_,{provide:Rv,useExisting:r_}],imports:[[h_.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),t})();const p_=["*"];function f_(t){return Error(`Unable to find icon with the name "${t}"`)}function g_(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function m_(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}class b_{constructor(t,e,n){this.url=t,this.svgText=e,this.options=n}}let y_=(()=>{class t{constructor(t,e,n,i){this._httpClient=t,this._sanitizer=e,this._errorHandler=i,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",this._document=n}addSvgIcon(t,e,n){return this.addSvgIconInNamespace("",t,e,n)}addSvgIconLiteral(t,e,n){return this.addSvgIconLiteralInNamespace("",t,e,n)}addSvgIconInNamespace(t,e,n,i){return this._addSvgIconConfig(t,e,new b_(n,null,i))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,e,n,i){const r=this._sanitizer.sanitize(yr.HTML,n);if(!r)throw m_(n);return this._addSvgIconConfig(t,e,new b_("",r,i))}addSvgIconSet(t,e){return this.addSvgIconSetInNamespace("",t,e)}addSvgIconSetLiteral(t,e){return this.addSvgIconSetLiteralInNamespace("",t,e)}addSvgIconSetInNamespace(t,e,n){return this._addSvgIconSetConfig(t,new b_(e,null,n))}addSvgIconSetLiteralInNamespace(t,e,n){const i=this._sanitizer.sanitize(yr.HTML,e);if(!i)throw m_(e);return this._addSvgIconSetConfig(t,new b_("",i,n))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const e=this._sanitizer.sanitize(yr.RESOURCE_URL,t);if(!e)throw g_(t);const n=this._cachedIconsByUrl.get(e);return n?Dd(v_(n)):this._loadSvgIconFromConfig(new b_(t,null)).pipe(eg(t=>this._cachedIconsByUrl.set(e,t)),D(t=>v_(t)))}getNamedSvgIcon(t,e=""){const n=__(e,t);let i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);if(i=this._getIconConfigFromResolvers(e,t),i)return this._svgIconConfigs.set(n,i),this._getSvgFromConfig(i);const r=this._iconSetConfigs.get(e);return r?this._getSvgFromIconSetConfigs(t,r):gp(f_(n))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?Dd(v_(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(D(t=>v_(t)))}_getSvgFromIconSetConfigs(t,e){const n=this._extractIconWithNameFromAnySet(t,e);return n?Dd(n):Ev(e.filter(t=>!t.svgText).map(t=>this._loadSvgIconSetFromConfig(t).pipe(Tv(e=>{const n=`Loading icon set URL: ${this._sanitizer.sanitize(yr.RESOURCE_URL,t.url)} failed: ${e.message}`;return this._errorHandler.handleError(new Error(n)),Dd(null)})))).pipe(D(()=>{const n=this._extractIconWithNameFromAnySet(t,e);if(!n)throw f_(t);return n}))}_extractIconWithNameFromAnySet(t,e){for(let n=e.length-1;n>=0;n--){const i=e[n];if(i.svgText&&i.svgText.indexOf(t)>-1){const e=this._svgElementFromConfig(i),n=this._extractSvgIconFromSet(e,t,i.options);if(n)return n}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(eg(e=>t.svgText=e),D(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?Dd(null):this._fetchIcon(t).pipe(eg(e=>t.svgText=e))}_extractSvgIconFromSet(t,e,n){const i=t.querySelector(`[id="${e}"]`);if(!i)return null;const r=i.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r,n);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r),n);const s=this._svgElementFromString("");return s.appendChild(r),this._setSvgAttributes(s,n)}_svgElementFromString(t){const e=this._document.createElement("DIV");e.innerHTML=t;const n=e.querySelector("svg");if(!n)throw Error(" tag not found");return n}_toSvgElement(t){const e=this._svgElementFromString(""),n=t.attributes;for(let i=0;ithis._inProgressUrlFetches.delete(s)),at());return this._inProgressUrlFetches.set(s,a),a}_addSvgIconConfig(t,e,n){return this._svgIconConfigs.set(__(t,e),n),this}_addSvgIconSetConfig(t,e){const n=this._iconSetConfigs.get(t);return n?n.push(e):this._iconSetConfigs.set(t,[e]),this}_svgElementFromConfig(t){if(!t.svgElement){const e=this._svgElementFromString(t.svgText);this._setSvgAttributes(e,t.options),t.svgElement=e}return t.svgElement}_getIconConfigFromResolvers(t,e){for(let n=0;ne?e.pathname+e.search:""}}}),C_=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],E_=C_.map(t=>`[${t}]`).join(", "),O_=/^url\(['"]?#(.*?)['"]?\)$/;let T_=(()=>{class t extends x_{constructor(t,e,n,i,r){super(t),this._iconRegistry=e,this._location=i,this._errorHandler=r,this._inline=!1,this._currentIconFetch=g.EMPTY,n||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=kd(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const e=this._cleanupFontValue(t);e!==this._fontSet&&(this._fontSet=e,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const e=this._cleanupFontValue(t);e!==this._fontIcon&&(this._fontIcon=e,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const t=this._location.getPathname();t!==this._previousPath&&(this._previousPath=t,this._prependPathToReferences(t))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const e=t.querySelectorAll("style");for(let i=0;i{e.forEach(e=>{n.setAttribute(e.name,`url('${t}#${e.value}')`)})})}_cacheChildrenWithExternalReferences(t){const e=t.querySelectorAll(E_),n=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let i=0;i{const r=e[i],s=r.getAttribute(t),o=s?s.match(O_):null;if(o){let e=n.get(r);e||(e=[],n.set(r,e)),e.push({name:t,value:o[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[e,n]=this._splitIconName(t);e&&(this._svgNamespace=e),n&&(this._svgName=n),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(n,e).pipe(rf(1)).subscribe(t=>this._setSvgElement(t),t=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${e}:${n}! ${t.message}`))})}}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(y_),ii("aria-hidden"),ea(S_),ea(kr))},t.\u0275cmp=Jt({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,e){2&t&&(Ko("data-mat-icon-type",e._usingFontIcon()?"font":"svg")("data-mat-icon-name",e._svgName||e.fontIcon)("data-mat-icon-namespace",e._svgNamespace||e.fontSet),ja("mat-icon-inline",e.inline)("mat-icon-no-color","primary"!==e.color&&"accent"!==e.color&&"warn"!==e.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[jo],ngContentSelectors:p_,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[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}\n"],encapsulation:2,changeDetection:0}),t})(),k_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();const P_=["mat-button",""],A_=["*"],M_=".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n",I_=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],D_=Xy(qy(Yy(class{constructor(t){this._elementRef=t}})));let R_=(()=>{class t extends D_{constructor(t,e,n){super(t),this._focusMonitor=e,this._animationMode=n,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const i of I_)this._hasHostAttributes(i)&&this._getHostElement().classList.add(i);t.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(t,e){t?this._focusMonitor.focusVia(this._getHostElement(),t,e):this._getHostElement().focus(e)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(t=>this._getHostElement().hasAttribute(t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ug),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(t,e){if(1&t&&Zc(cv,5),2&t){let t;Qc(t=tu())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(t,e){2&t&&(Ko("disabled",e.disabled||null),ja("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[jo],attrs:P_,ngContentSelectors:A_,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(wa(),ra(0,"span",0),xa(1),sa(),oa(2,"span",1),oa(3,"span",2)),2&t&&(ws(2),ja("mat-button-ripple-round",e.isRoundButton||e.isIconButton),na("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[cv],styles:[M_],encapsulation:2,changeDetection:0}),t})(),N_=(()=>{class t extends R_{constructor(t,e,n){super(e,t,n)}_haltDisabledEvents(t){this.disabled&&(t.preventDefault(),t.stopImmediatePropagation())}}return t.\u0275fac=function(e){return new(e||t)(ea(Ug),ea(Al),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["a","mat-button",""],["a","mat-raised-button",""],["a","mat-icon-button",""],["a","mat-fab",""],["a","mat-mini-fab",""],["a","mat-stroked-button",""],["a","mat-flat-button",""]],hostAttrs:[1,"mat-focus-indicator"],hostVars:7,hostBindings:function(t,e){1&t&&fa("click",function(t){return e._haltDisabledEvents(t)}),2&t&&(Ko("tabindex",e.disabled?-1:e.tabIndex||0)("disabled",e.disabled||null)("aria-disabled",e.disabled.toString()),ja("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matButton","matAnchor"],features:[jo],attrs:P_,ngContentSelectors:A_,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(wa(),ra(0,"span",0),xa(1),sa(),oa(2,"span",1),oa(3,"span",2)),2&t&&(ws(2),ja("mat-button-ripple-round",e.isRoundButton||e.isIconButton),na("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[cv],styles:[M_],encapsulation:2,changeDetection:0}),t})(),L_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wy],Wy]}),t})();class j_ extends v{notifyNext(t,e,n,i,r){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}class F_ extends v{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function B_(t,e,n,i,r=new F_(t,n,i)){if(!r.closed)return e instanceof E?e.subscribe(r):V(e)(r)}const V_={};function z_(...t){let e,n;return I(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&d(t[0])&&(t=t[0]),K(t,n).lift(new U_(e))}class U_{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new H_(t,this.resultSelector))}}class H_ extends j_{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(V_),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n{class t{constructor(t){this._platform=t,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):q_}matchMedia(t){return this._platform.WEBKIT&&function(t){if(!$_.has(t))try{G_||(G_=document.createElement("style"),G_.setAttribute("type","text/css"),document.head.appendChild(G_)),G_.sheet&&(G_.sheet.insertRule(`@media ${t} {.fx-query-test{ }}`,0),$_.add(t))}catch(e){console.error(e)}}(t),this._matchMedia(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep))},token:t,providedIn:"root"}),t})();function q_(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let X_=(()=>{class t{constructor(t,e){this._mediaMatcher=t,this._zone=e,this._queries=new Map,this._destroySubject=new A}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return Y_(Ad(t)).some(t=>this._registerQuery(t).mql.matches)}observe(t){let e=z_(Y_(Ad(t)).map(t=>this._registerQuery(t).observable));return e=ap(e.pipe(rf(1)),e.pipe(lg(1),rg(0))),e.pipe(D(t=>{const e={matches:!1,breakpoints:{}};return t.forEach(({matches:t,query:n})=>{e.matches=e.matches||t,e.breakpoints[n]=t}),e}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const e=this._mediaMatcher.matchMedia(t),n={observable:new E(t=>{const n=e=>this._zone.run(()=>t.next(e));return e.addListener(n),()=>{e.removeListener(n)}}).pipe(lp(e),D(({matches:e})=>({query:t,matches:e})),rp(this._destroySubject)),mql:e};return this._queries.set(t,n),n}}return t.\u0275fac=function(e){return new(e||t)(Ei(W_),Ei(Tu))},t.\u0275prov=xt({factory:function(){return new t(Ei(W_),Ei(Tu))},token:t,providedIn:"root"}),t})();function Y_(t){return t.map(t=>t.split(",")).reduce((t,e)=>t.concat(e)).map(t=>t.trim())}function K_(t,e){if(1&t){const t=ua();ra(0,"div",1),ra(1,"button",2),fa("click",function(){return $e(t),va().action()}),Ja(2),sa(),sa()}if(2&t){const t=va();ws(2),tl(t.data.action)}}function Q_(t,e){}const Z_=new oi("MatSnackBarData");class J_{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const tw=Math.pow(2,31)-1;class ew{constructor(t,e){this._overlayRef=e,this._afterDismissed=new A,this._afterOpened=new A,this._onAction=new A,this._dismissedByAction=!1,this.containerInstance=t,this.onAction().subscribe(()=>this.dismiss()),t._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(t){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(t,tw))}_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}}let nw=(()=>{class t{constructor(t,e){this.snackBarRef=t,this.data=e}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return t.\u0275fac=function(e){return new(e||t)(ea(ew),ea(Z_))},t.\u0275cmp=Jt({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(t,e){1&t&&(ra(0,"span"),Ja(1),sa(),Jo(2,K_,3,1,"div",0)),2&t&&(ws(1),tl(e.data.message),ws(1),na("ngIf",e.hasAction))},directives:[Ah,R_],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}\n"],encapsulation:2,changeDetection:0}),t})();const iw={snackBarState:Qg("state",[em("void, hidden",tm({transform:"scale(0.8)",opacity:0})),em("visible",tm({transform:"scale(1)",opacity:1})),im("* => visible",Zg("150ms cubic-bezier(0, 0, 0.2, 1)")),im("* => void, * => hidden",Zg("75ms cubic-bezier(0.4, 0.0, 1, 1)",tm({opacity:0})))])};let rw=(()=>{class t extends Kp{constructor(t,e,n,i,r){super(),this._ngZone=t,this._elementRef=e,this._changeDetectorRef=n,this._platform=i,this.snackBarConfig=r,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new A,this._onExit=new A,this._onEnter=new A,this._animationState="void",this.attachDomPortal=t=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(t)),this._live="assertive"!==r.politeness||r.announcementMessage?"off"===r.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)}onAnimationEnd(t){const{fromState:e,toState:n}=t;if(("void"===n&&"void"!==e||"hidden"===n)&&this._completeExit(),"visible"===n){const t=this._onEnter;this._ngZone.run(()=>{t.next(),t.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(rf(1)).subscribe(()=>{this._onExit.next(),this._onExit.complete()})}_applySnackBarClasses(){const t=this._elementRef.nativeElement,e=this.snackBarConfig.panelClass;e&&(Array.isArray(e)?e.forEach(e=>t.classList.add(e)):t.classList.add(e)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const t=this._elementRef.nativeElement.querySelector("[aria-hidden]"),e=this._elementRef.nativeElement.querySelector("[aria-live]");if(t&&e){let n=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(n=document.activeElement),t.removeAttribute("aria-hidden"),e.appendChild(t),null==n||n.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(Al),ea(nc),ea(Ep),ea(J_))},t.\u0275cmp=Jt({type:t,selectors:[["snack-bar-container"]],viewQuery:function(t,e){if(1&t&&Zc(tf,7),2&t){let t;Qc(t=tu())&&(e._portalOutlet=t.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(t,e){1&t&&ga("@state.done",function(t){return e.onAnimationEnd(t)}),2&t&&sl("@state",e._animationState)},features:[jo],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(t,e){1&t&&(ra(0,"div",0),Jo(1,Q_,0,0,"ng-template",1),sa(),oa(2,"div")),2&t&&(ws(2),Ko("aria-live",e._live)("role",e._role))},directives:[tf],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[iw.snackBarState]}}),t})(),sw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wf,ef,Wh,L_,Wy],Wy]}),t})();const ow=new oi("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new J_}});let aw=(()=>{class t{constructor(t,e,n,i,r,s){this._overlay=t,this._live=e,this._injector=n,this._breakpointObserver=i,this._parentSnackBar=r,this._defaultConfig=s,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=nw,this.snackBarContainerComponent=rw,this.handsetCssClass="mat-snack-bar-handset"}get _openedSnackBarRef(){const t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t}openFromComponent(t,e){return this._attach(t,e)}openFromTemplate(t,e){return this._attach(t,e)}open(t,e="",n){const i=Object.assign(Object.assign({},this._defaultConfig),n);return i.data={message:t,action:e},i.announcementMessage===t&&(i.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,i)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(t,e){const n=No.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:J_,useValue:e}]}),i=new qp(this.snackBarContainerComponent,e.viewContainerRef,n),r=t.attach(i);return r.instance.snackBarConfig=e,r.instance}_attach(t,e){const n=Object.assign(Object.assign(Object.assign({},new J_),this._defaultConfig),e),i=this._createOverlay(n),r=this._attachSnackBarContainer(i,n),s=new ew(r,i);if(t instanceof ac){const e=new Xp(t,null,{$implicit:n.data,snackBarRef:s});s.instance=r.attachTemplatePortal(e)}else{const e=this._createInjector(n,s),i=new qp(t,void 0,e),o=r.attachComponentPortal(i);s.instance=o.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(rp(i.detachments())).subscribe(t=>{const e=i.overlayElement.classList;t.matches?e.add(this.handsetCssClass):e.remove(this.handsetCssClass)}),n.announcementMessage&&r._onAnnounce.subscribe(()=>{this._live.announce(n.announcementMessage,n.politeness)}),this._animateSnackBar(s,n),this._openedSnackBarRef=s,this._openedSnackBarRef}_animateSnackBar(t,e){t.afterDismissed().subscribe(()=>{this._openedSnackBarRef==t&&(this._openedSnackBarRef=null),e.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),e.duration&&e.duration>0&&t.afterOpened().subscribe(()=>t._dismissAfter(e.duration))}_createOverlay(t){const e=new vf;e.direction=t.direction;let n=this._overlay.position().global();const i="rtl"===t.direction,r="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!i||"end"===t.horizontalPosition&&i,s=!r&&"center"!==t.horizontalPosition;return r?n.left("0"):s?n.right("0"):n.centerHorizontally(),"top"===t.verticalPosition?n.top("0"):n.bottom("0"),e.positionStrategy=n,this._overlay.create(e)}_createInjector(t,e){return No.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:ew,useValue:e},{provide:Z_,useValue:t.data}]})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Vf),Ei(Bg),Ei(No),Ei(X_),Ei(t,12),Ei(ow))},t.\u0275prov=xt({factory:function(){return new t(Ei(Vf),Ei(Bg),Ei(_o),Ei(X_),Ei(t,12),Ei(ow))},token:t,providedIn:sw}),t})();const lw={tooltipState:Qg("state",[em("initial, void, hidden",tm({opacity:0,transform:"scale(0)"})),em("visible",tm({transform:"scale(1)"})),im("* => visible",Zg("200ms cubic-bezier(0, 0, 0.2, 1)",nm([tm({opacity:0,transform:"scale(0)",offset:0}),tm({opacity:.5,transform:"scale(0.99)",offset:.5}),tm({opacity:1,transform:"scale(1)",offset:1})]))),im("* => hidden",Zg("100ms cubic-bezier(0, 0, 0.2, 1)",tm({opacity:0})))])},cw="tooltip-panel",uw=Ip({passive:!0}),hw=new oi("mat-tooltip-scroll-strategy"),dw={provide:hw,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition({scrollThrottle:20})}},pw=new oi("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});let fw=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u,h){this._overlay=t,this._elementRef=e,this._scrollDispatcher=n,this._viewContainerRef=i,this._ngZone=r,this._platform=s,this._ariaDescriber=o,this._focusMonitor=a,this._dir=c,this._defaultOptions=u,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new A,this._handleKeydown=t=>{this._isTooltipVisible()&&27===t.keyCode&&!uf(t)&&(t.preventDefault(),t.stopPropagation(),this._ngZone.run(()=>this.hide(0)))},this._scrollStrategy=l,this._document=h,u&&(u.position&&(this.position=u.position),u.touchGestures&&(this.touchGestures=u.touchGestures)),c.change.pipe(rp(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),r.runOutsideAngular(()=>{e.nativeElement.addEventListener("keydown",this._handleKeydown)})}get position(){return this._position}set position(t){var e;t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(e=this._tooltipInstance)||void 0===e||e.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=t?String(t).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(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(rp(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const t=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),t.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(([e,n])=>{t.removeEventListener(e,n,uw)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t)}show(t=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible()&&!this._tooltipInstance._showTimeoutId&&!this._tooltipInstance._hideTimeoutId)return;const e=this._createOverlay();this._detach(),this._portal=this._portal||new qp(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=e.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(rp(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),e=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return e.positionChanges.pipe(rp(this._destroyed)).subscribe(t=>{this._updateCurrentPositionClass(t.connectionPair),this._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:e,panelClass:`${this._cssClassPrefix}-${cw}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(rp(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(rp(this._destroyed)).subscribe(()=>{var t;return null===(t=this._tooltipInstance)||void 0===t?void 0:t._handleBodyInteraction()}),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(t){const e=t.getConfig().positionStrategy,n=this._getOrigin(),i=this._getOverlayPosition();e.withPositions([this._addOffset(Object.assign(Object.assign({},n.main),i.main)),this._addOffset(Object.assign(Object.assign({},n.fallback),i.fallback))])}_addOffset(t){return t}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;"above"==e||"below"==e?n={originX:"center",originY:"above"==e?"top":"bottom"}:"before"==e||"left"==e&&t||"right"==e&&!t?n={originX:"start",originY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(n={originX:"end",originY:"center"});const{x:i,y:r}=this._invertPosition(n.originX,n.originY);return{main:n,fallback:{originX:i,originY:r}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;"above"==e?n={overlayX:"center",overlayY:"bottom"}:"below"==e?n={overlayX:"center",overlayY:"top"}:"before"==e||"left"==e&&t||"right"==e&&!t?n={overlayX:"end",overlayY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(n={overlayX:"start",overlayY:"center"});const{x:i,y:r}=this._invertPosition(n.overlayX,n.overlayY);return{main:n,fallback:{overlayX:i,overlayY:r}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(rf(1),rp(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}}_updateCurrentPositionClass(t){const{overlayY:e,originX:n,originY:i}=t;let r;if(r="center"===e?this._dir&&"rtl"===this._dir.value?"end"===n?"left":"right":"start"===n?"left":"right":"bottom"===e&&"top"===i?"above":"below",r!==this._currentPosition){const t=this._overlayRef;if(t){const e=`${this._cssClassPrefix}-${cw}-`;t.removePanelClass(e+this._currentPosition),t.addPanelClass(e+r)}this._currentPosition=r}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const t=[];if(this._platformSupportsMouseEvents())t.push(["mouseleave",()=>this.hide()],["wheel",t=>this._wheelListener(t)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const e=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};t.push(["touchend",e],["touchcancel",e])}this._addListeners(t),this._passiveListeners.push(...t)}_addListeners(t){t.forEach(([t,e])=>{this._elementRef.nativeElement.addEventListener(t,e,uw)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(t){if(this._isTooltipVisible()){const e=this._document.elementFromPoint(t.clientX,t.clientY),n=this._elementRef.nativeElement;e!==n&&!n.contains(e)&&this.hide()}}_disableNativeGesturesIfNecessary(){const t=this.touchGestures;if("off"!==t){const e=this._elementRef.nativeElement,n=e.style;("on"===t||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName)&&(n.userSelect=n.msUserSelect=n.webkitUserSelect=n.MozUserSelect="none"),("on"===t||!e.draggable)&&(n.webkitUserDrag="none"),n.touchAction="none",n.webkitTapHighlightColor="transparent"}}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(Up),ea(pc),ea(Tu),ea(Ep),ea(xg),ea(Ug),ea(void 0),ea(Fp),ea(void 0),ea(th))},t.\u0275dir=se({type:t,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),t})(),gw=(()=>{class t extends fw{constructor(t,e,n,i,r,s,o,a,l,c,u,h){super(t,e,n,i,r,s,o,a,l,c,u,h),this._tooltipComponent=bw}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(Up),ea(pc),ea(Tu),ea(Ep),ea(xg),ea(Ug),ea(hw),ea(Fp,8),ea(pw,8),ea(th))},t.\u0275dir=se({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[jo]}),t})(),mw=(()=>{class t{constructor(t){this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new A}show(t){clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._showTimeoutId=void 0,this._onShow(),this._markForCheck()},t)}hide(t){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._hideTimeoutId=void 0,this._markForCheck()},t)}afterHidden(){return this._onHide}isVisible(){return"visible"===this._visibility}ngOnDestroy(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const e=t.toState;"hidden"===e&&!this.isVisible()&&this._onHide.next(),("visible"===e||"hidden"===e)&&(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_onShow(){}}return t.\u0275fac=function(e){return new(e||t)(ea(nc))},t.\u0275dir=se({type:t}),t})(),bw=(()=>{class t extends mw{constructor(t,e){super(t),this._breakpointObserver=e,this._isHandset=this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)")}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(X_))},t.\u0275cmp=Jt({type:t,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(t,e){2&t&&La("zoom","visible"===e._visibility?1:null)},features:[jo],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(t,e){if(1&t&&(ra(0,"div",0),fa("@state.start",function(){return e._animationStart()})("@state.done",function(t){return e._animationDone(t)}),Dc(1,"async"),Ja(2),sa()),2&t){let t;ja("mat-tooltip-handset",null==(t=Rc(1,5,e._isHandset))?null:t.matches),na("ngClass",e.tooltipClass)("@state",e._visibility),ws(2),tl(e.message)}},directives:[Oh],pipes:[$h],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[lw.tooltipState]},changeDetection:0}),t})(),yw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[dw],imports:[[qg,Wh,Wf,Wy],Wy,$p]}),t})();function vw(t,e,n,i){var r,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,n,i);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,n,o):r(e,n))||o);return s>3&&o&&Object.defineProperty(e,n,o),o}function _w(t,e){return function(n,i){e(n,i,t)}}function ww(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function xw(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(e){s(e)}}function a(t){try{l(i.throw(t))}catch(e){s(e)}}function l(t){t.done?r(t.value):function(t){return t instanceof n?t:new n(function(e){e(t)})}(t.value).then(o,a)}l((i=i.apply(t,e||[])).next())})}function Sw(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||e;return!!(n&&n.indexOf("Electron")>=0)}function Cw(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Sw()}const Ew="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",Ow=Cw();class Tw{constructor(t,e,n="sessionStorage"){this.storage=function(e){try{const t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(t){return null}}(n),this.id=t,this.config={},Object.assign(this.config,e),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){return this.config={},this.updateConfiguration(t)}updateConfiguration(t){if(Object.assign(this.config,t),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let t={};if(this.storage){const e=this.storage.getItem(this.id);t=e?JSON.parse(e):{}}return Object.assign(this.config,t),this}}function kw(t,e,n,i=600){const r=t.src.replace(/\(/g,"%28").replace(/\)/g,"%29");t.width>i&&(n=Math.min(n,i/t.width));const s=t.width*n,o=t.height*n,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const Pw={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Aw(t){return"string"==typeof t?Pw[t.toUpperCase()]||Pw.WHITE:t}function Mw(t,e){if(!t)throw new Error(e||"Assertion failed")}const Iw={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Dw=Iw.window||Iw.self||Iw.global,Rw=Iw.process||{};function Nw(){let t;if(Ow&&Dw.performance)t=Dw.performance.now();else if(Rw.hrtime){const e=Rw.hrtime();t=1e3*e[0]+e[1]/1e6}else t=Date.now();return t}console;const Lw={debug:Ow&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},jw={enabled:!0,level:0};function Fw(){}const Bw={},Vw={once:!0};function zw(t){for(const e in t)for(const n in t[e])return n||"untitled";return"empty"}let Uw=(()=>{class t{constructor({id:t}={id:""}){this.id=t,this.VERSION=Ew,this._startTs=Nw(),this._deltaTs=Nw(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Tw("__probe-".concat(this.id,"__"),jw),this.userData={},this.timeStamp("".concat(this.id," started")),function(t,e=["constructor"]){const n=Object.getPrototypeOf(t),i=Object.getOwnPropertyNames(n);for(const r of i)"function"==typeof t[r]&&(e.find(t=>r===t)||(t[r]=t[r].bind(t)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Nw()-this._startTs).toPrecision(10))}getDelta(){return Number((Nw()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,e){Mw(t,e)}warn(t){return this._getLogFunction(0,t,Lw.warn,arguments,Vw)}error(t){return this._getLogFunction(0,t,Lw.error,arguments)}deprecated(t,e){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(e,"` instead"))}removed(t,e){return this.error("`".concat(t,"` has been removed. Use `").concat(e,"` instead"))}probe(t,e){return this._getLogFunction(t,e,Lw.log,arguments,{time:!0,once:!0})}log(t,e){return this._getLogFunction(t,e,Lw.debug,arguments)}info(t,e){return this._getLogFunction(t,e,console.info,arguments)}once(t,e){return this._getLogFunction(t,e,Lw.debug||Lw.info,arguments,Vw)}table(t,e,n){return e?this._getLogFunction(t,e,console.table||Fw,n&&[n],{tag:zw(e)}):Fw}image({logLevel:t,priority:e,image:i,message:r="",scale:s=1}){return this._shouldLog(t||e)?Ow?function({image:t,message:e="",scale:n=1}){if("string"==typeof t){const i=new Image;return i.onload=()=>{const t=kw(i,e,n);console.log(...t)},i.src=t,Fw}const i=t.nodeName||"";if("img"===i.toLowerCase())return console.log(...kw(t,e,n)),Fw;if("canvas"===i.toLowerCase()){const i=new Image;return i.onload=()=>console.log(...kw(i,e,n)),i.src=t.toDataURL(),Fw}return Fw}({image:i,message:r,scale:s}):function({image:t,message:e="",scale:r=1}){let s=null;try{s=n(75307)}catch(i){}return s?()=>s(t,{fit:"box",width:"".concat(Math.round(80*r),"%")}).then(t=>console.log(t)):Fw}({image:i,message:r,scale:s}):Fw}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,e){this._storage.updateConfiguration({[t]:e})}time(t,e){return this._getLogFunction(t,e,console.time?console.time:console.info)}timeEnd(t,e){return this._getLogFunction(t,e,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,e){return this._getLogFunction(t,e,console.timeStamp||Fw)}group(t,e,n={collapsed:!1}){n=$w({logLevel:t,message:e,opts:n});const{collapsed:i}=n;return n.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}groupCollapsed(t,e,n={}){return this.group(t,e,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Fw)}withGroup(t,e,n){this.group(t,e)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=Hw(t)}_getLogFunction(t,e,n,i=[],r){if(this._shouldLog(t)){r=$w({logLevel:t,message:e,args:i,opts:r}),Mw(n=n||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=Nw();const s=r.tag||r.message;if(r.once){if(Bw[s])return Fw;Bw[s]=Nw()}return e=function(t,e,n){if("string"==typeof e){const i=n.time?function(t,e=8){const n=Math.max(e-t.length,0);return"".concat(" ".repeat(n)).concat(t)}(function(t){let e;return e=t<10?"".concat(t.toFixed(2),"ms"):t<100?"".concat(t.toFixed(1),"ms"):t<1e3?"".concat(t.toFixed(0),"ms"):"".concat((t/1e3).toFixed(2),"s"),e}(n.total)):"";e=function(t,e,n){return!Ow&&"string"==typeof t&&(e&&(e=Aw(e),t="\x1b[".concat(e,"m").concat(t,"\x1b[39m")),n&&(e=Aw(n),t="\x1b[".concat(n+10,"m").concat(t,"\x1b[49m"))),t}(e=n.time?"".concat(t,": ").concat(i," ").concat(e):"".concat(t,": ").concat(e),n.color,n.background)}return e}(this.id,r.message,r),n.bind(console,e,...r.args)}return Fw}}return t.VERSION=Ew,t})();function Hw(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return Mw(Number.isFinite(e)&&e>=0),e}function $w(t){const{logLevel:e,message:n}=t;t.logLevel=Hw(e);const i=t.args?Array.from(t.args):[];for(;i.length&&i.shift()!==n;);switch(t.args=i,typeof e){case"string":case"function":void 0!==n&&i.unshift(n),t.message=e;break;case"object":Object.assign(t,e)}"function"==typeof t.message&&(t.message=t.message());const r=typeof t.message;return Mw("string"===r||"object"===r),Object.assign(t,t.opts)}var Gw=new Uw({id:"deck"});const Ww={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Ww,"IDENTITY",{get:()=>Gw.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const qw={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},Xw={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},Yw=new Uw({id:"luma.gl"});function Kw(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}function Qw(t){return"undefined"!=typeof WebGLRenderingContext&&t instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&Number.isFinite(t._version))}function Zw(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&2===t._version)}function Jw(t){return Kw(Qw(t),"Invalid WebGLRenderingContext"),t}function tx(t){return Kw(Zw(t),"Requires WebGL2"),t}const ex={};const nx=function t(e){const n=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),e.reset_()},!0),this.reset_()};ix.prototype.VERTEX_ARRAY_BINDING_OES=34229,ix.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let t=0;tZw(t)?void 0:0,lx={3074:t=>Zw(t)?void 0:36064,35723:t=>Zw(t)?void 0:4352,35977:ax,32937:ax,36795:(t,e)=>{const n=Zw(t)?t.getExtension("EXT_disjoint_timer_query_webgl2"):t.getExtension("EXT_disjoint_timer_query");return n&&n.GPU_DISJOINT_EXT?e(n.GPU_DISJOINT_EXT):0},37445:(t,e)=>{const n=t.getExtension(ox);return e(n&&n.UNMASKED_VENDOR_WEBGL||7936)},37446:(t,e)=>{const n=t.getExtension(ox);return e(n&&n.UNMASKED_RENDERER_WEBGL||7937)},34047:(t,e)=>{const n=t.luma.extensions.EXT_texture_filter_anisotropic;return n?e(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:ax,35071:ax,37447:ax,36063:(t,e)=>{if(!Zw(t)){const n=t.getExtension(sx);return n?e(n.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:ax,35374:ax,35377:ax,34852:t=>{if(!Zw(t)){const e=t.getExtension(sx);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:t=>t.getExtension(rx)?2147483647:65535,33001:t=>t.getExtension(rx)?16777216:65535,33e3:t=>16777216,37157:ax,35373:ax,35657:ax,36183:ax,37137:ax,34045:ax,35978:ax,35979:ax,35968:ax,35376:ax,35375:ax,35659:ax,37154:ax,35371:ax,35658:ax,35076:ax,35077:ax,35380:ax},cx="ANGLE_instanced_arrays",ux={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{Kw(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[cx]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(t,e){Kw(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{Kw(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{Kw(!1)},deleteQuery:()=>{Kw(!1)},beginQuery:()=>{Kw(!1)},endQuery:()=>{},getQuery(t,e){return this.getQueryObject(t,e)},getQueryParameter(t,e){return this.getQueryObject(t,e)},getQueryObject:()=>{}}},hx={readBuffer:(t,e,n)=>{Zw(t)&&e(n)},getVertexAttrib:(t,e,n,i)=>{const{webgl2:r,ext:s}=function(t,e){return{webgl2:Zw(t),ext:t.getExtension("ANGLE_instanced_arrays")}}(t);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(n,i)},getProgramParameter:(t,e,n,i)=>{if(!Zw(t))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(n,i)},getInternalformatParameter:(t,e,n,i,r)=>{if(!Zw(t))switch(r){case 32937:return new Int32Array([0])}return t.getInternalformatParameter(n,i,r)},getTexParameter(t,e,n,i){switch(i){case 34046:const{extensions:e}=t.luma,n=e.EXT_texture_filter_anisotropic;i=n&&n.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(n,i)},getParameter:function(t,e,n){const i=lx[n],r="function"==typeof i?i(t,e,n):i;return void 0!==r?r:e(n)},hint:(t,e,n,i)=>e(n,i)};function dx(t,{extension:e,target:n,target2:i}){const r=ux[e];Kw(r);const{meta:s={}}=r,{suffix:o=""}=s,a=t.getExtension(e);for(const l of Object.keys(r)){const e=`${l}${o}`;let s=null;"meta"===l||"function"==typeof t[l]||(a&&"function"==typeof a[e]?s=(...t)=>a[e](...t):"function"==typeof r[l]&&(s=r[l].bind(n))),s&&(n[l]=s,i[l]=s)}}globalThis.polyfillContext=function(t){t.luma=t.luma||{};const{luma:e}=t;return e.polyfilled||(function(t){if("function"==typeof t.createVertexArray)return;const e=t.getSupportedExtensions;t.getSupportedExtensions=function(){const t=e.call(this)||[];return t.indexOf("OES_vertex_array_object")<0&&t.push("OES_vertex_array_object"),t};const n=t.getExtension;t.getExtension=function(e){return n.call(this,e)||("OES_vertex_array_object"!==e?null:(t.__OESVertexArrayObject||(this.__OESVertexArrayObject=new ix(this)),this.__OESVertexArrayObject))}}(t),function(t){t.luma.extensions={};const e=t.getSupportedExtensions()||[];for(const n of e)t.luma[n]=t.getExtension(n)}(t),function(t,e){for(const n of Object.getOwnPropertyNames(e))"overrides"!==n&&dx(t,{extension:n,target:t.luma,target2:t})}(t,ux),function(t,{target:e,target2:n}){Object.keys(hx).forEach(i=>{if("function"==typeof hx[i]){const r=t[i]?t[i].bind(t):()=>{},s=hx[i].bind(null,t,r);e[i]=s,n[i]=s}})}(t,{target:e,target2:t}),e.polyfilled=!0),t};const px={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},fx=(t,e,n)=>e?t.enable(n):t.disable(n),gx=(t,e,n)=>t.hint(n,e),mx=(t,e,n)=>t.pixelStorei(n,e);function bx(t){return Array.isArray(t)||ArrayBuffer.isView(t)}const yx={3042:fx,32773:(t,e)=>t.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(t,e)=>t.clearColor(...e),3107:(t,e)=>t.colorMask(...e),2884:fx,2885:(t,e)=>t.cullFace(e),2929:fx,2931:(t,e)=>t.clearDepth(e),2932:(t,e)=>t.depthFunc(e),2928:(t,e)=>t.depthRange(...e),2930:(t,e)=>t.depthMask(e),3024:fx,35723:gx,36006:(t,e)=>{const n=Zw(t)?36009:36160;return t.bindFramebuffer(n,e)},2886:(t,e)=>t.frontFace(e),33170:gx,2849:(t,e)=>t.lineWidth(e),32823:fx,32824:"polygonOffset",10752:"polygonOffset",35977:fx,32938:"sampleCoverage",32939:"sampleCoverage",3089:fx,3088:(t,e)=>t.scissor(...e),2960:fx,2961:(t,e)=>t.clearStencil(e),2968:(t,e)=>t.stencilMaskSeparate(1028,e),36005:(t,e)=>t.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(t,e)=>t.viewport(...e),3333:mx,3317:mx,37440:mx,37441:mx,37443:mx,3330:mx,3332:mx,3331:mx,36010:(t,e)=>t.bindFramebuffer(36008,e),3314:mx,32878:mx,3316:mx,3315:mx,32877:mx,framebuffer:(t,e)=>t.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(t,e)=>e?t.enable(3042):t.disable(3042),blendColor:(t,e)=>t.blendColor(...e),blendEquation:(t,e)=>{e=bx(e)?e:[e,e],t.blendEquationSeparate(...e)},blendFunc:(t,e)=>{e=bx(e)&&2===e.length?[...e,...e]:e,t.blendFuncSeparate(...e)},clearColor:(t,e)=>t.clearColor(...e),clearDepth:(t,e)=>t.clearDepth(e),clearStencil:(t,e)=>t.clearStencil(e),colorMask:(t,e)=>t.colorMask(...e),cull:(t,e)=>e?t.enable(2884):t.disable(2884),cullFace:(t,e)=>t.cullFace(e),depthTest:(t,e)=>e?t.enable(2929):t.disable(2929),depthFunc:(t,e)=>t.depthFunc(e),depthMask:(t,e)=>t.depthMask(e),depthRange:(t,e)=>t.depthRange(...e),dither:(t,e)=>e?t.enable(3024):t.disable(3024),derivativeHint:(t,e)=>{t.hint(35723,e)},frontFace:(t,e)=>t.frontFace(e),mipmapHint:(t,e)=>t.hint(33170,e),lineWidth:(t,e)=>t.lineWidth(e),polygonOffsetFill:(t,e)=>e?t.enable(32823):t.disable(32823),polygonOffset:(t,e)=>t.polygonOffset(...e),sampleCoverage:(t,e)=>t.sampleCoverage(...e),scissorTest:(t,e)=>e?t.enable(3089):t.disable(3089),scissor:(t,e)=>t.scissor(...e),stencilTest:(t,e)=>e?t.enable(2960):t.disable(2960),stencilMask:(t,e)=>{e=bx(e)?e:[e,e];const[n,i]=e;t.stencilMaskSeparate(1028,n),t.stencilMaskSeparate(1029,i)},stencilFunc:(t,e)=>{e=bx(e)&&3===e.length?[...e,...e]:e;const[n,i,r,s,o,a]=e;t.stencilFuncSeparate(1028,n,i,r),t.stencilFuncSeparate(1029,s,o,a)},stencilOp:(t,e)=>{e=bx(e)&&3===e.length?[...e,...e]:e;const[n,i,r,s,o,a]=e;t.stencilOpSeparate(1028,n,i,r),t.stencilOpSeparate(1029,s,o,a)},viewport:(t,e)=>t.viewport(...e)};function vx(t,e,n){return void 0!==e[t]?e[t]:n[t]}const _x={blendEquation:(t,e,n)=>t.blendEquationSeparate(vx(32777,e,n),vx(34877,e,n)),blendFunc:(t,e,n)=>t.blendFuncSeparate(vx(32969,e,n),vx(32968,e,n),vx(32971,e,n),vx(32970,e,n)),polygonOffset:(t,e,n)=>t.polygonOffset(vx(32824,e,n),vx(10752,e,n)),sampleCoverage:(t,e,n)=>t.sampleCoverage(vx(32938,e,n),vx(32939,e,n)),stencilFuncFront:(t,e,n)=>t.stencilFuncSeparate(1028,vx(2962,e,n),vx(2967,e,n),vx(2963,e,n)),stencilFuncBack:(t,e,n)=>t.stencilFuncSeparate(1029,vx(34816,e,n),vx(36003,e,n),vx(36004,e,n)),stencilOpFront:(t,e,n)=>t.stencilOpSeparate(1028,vx(2964,e,n),vx(2965,e,n),vx(2966,e,n)),stencilOpBack:(t,e,n)=>t.stencilOpSeparate(1029,vx(34817,e,n),vx(34818,e,n),vx(34819,e,n))},wx={enable:(t,e)=>t({[e]:!0}),disable:(t,e)=>t({[e]:!1}),pixelStorei:(t,e,n)=>t({[e]:n}),hint:(t,e,n)=>t({[e]:n}),bindFramebuffer:(t,e,n)=>{switch(e){case 36160:return t({36006:n,36010:n});case 36009:return t({36006:n});case 36008:return t({36010:n});default:return null}},blendColor:(t,e,n,i,r)=>t({32773:new Float32Array([e,n,i,r])}),blendEquation:(t,e)=>t({32777:e,34877:e}),blendEquationSeparate:(t,e,n)=>t({32777:e,34877:n}),blendFunc:(t,e,n)=>t({32969:e,32968:n,32971:e,32970:n}),blendFuncSeparate:(t,e,n,i,r)=>t({32969:e,32968:n,32971:i,32970:r}),clearColor:(t,e,n,i,r)=>t({3106:new Float32Array([e,n,i,r])}),clearDepth:(t,e)=>t({2931:e}),clearStencil:(t,e)=>t({2961:e}),colorMask:(t,e,n,i,r)=>t({3107:[e,n,i,r]}),cullFace:(t,e)=>t({2885:e}),depthFunc:(t,e)=>t({2932:e}),depthRange:(t,e,n)=>t({2928:new Float32Array([e,n])}),depthMask:(t,e)=>t({2930:e}),frontFace:(t,e)=>t({2886:e}),lineWidth:(t,e)=>t({2849:e}),polygonOffset:(t,e,n)=>t({32824:e,10752:n}),sampleCoverage:(t,e,n)=>t({32938:e,32939:n}),scissor:(t,e,n,i,r)=>t({3088:new Int32Array([e,n,i,r])}),stencilMask:(t,e)=>t({2968:e,36005:e}),stencilMaskSeparate:(t,e,n)=>t({[1028===e?2968:36005]:n}),stencilFunc:(t,e,n,i)=>t({2962:e,2967:n,2963:i,34816:e,36003:n,36004:i}),stencilFuncSeparate:(t,e,n,i,r)=>t({[1028===e?2962:34816]:n,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(t,e,n,i)=>t({2964:e,2965:n,2966:i,34817:e,34818:n,34819:i}),stencilOpSeparate:(t,e,n,i,r)=>t({[1028===e?2964:34817]:n,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(t,e,n,i,r)=>t({2978:[e,n,i,r]})},xx=(t,e)=>t.isEnabled(e),Sx={3042:xx,2884:xx,2929:xx,3024:xx,32823:xx,32926:xx,32928:xx,3089:xx,2960:xx,35977:xx};function Cx(t){for(const e in t)return!1;return!0}function Ex(t,e){if(t===e)return!0;const n=Array.isArray(t)||ArrayBuffer.isView(t),i=Array.isArray(e)||ArrayBuffer.isView(e);if(n&&i&&t.length===e.length){for(let n=0;n{})}={}){this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=e?function(t,e){if("number"==typeof(e=e||px)){const n=e,i=Sx[n];return i?i(t,n):t.getParameter(n)}const n=Array.isArray(e)?e:Object.keys(e),i={};for(const r of n){const e=Sx[r];i[r]=e?e(t,Number(r)):t.getParameter(Number(r))}return i}(t):Object.assign({},px),this.log=n,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(t={}){this.stateStack.push({})}pop(){Kw(this.stateStack.length>0),Mx(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(t){let e,n=!1;const i=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const r in t){Kw(void 0!==r);const s=t[r],o=this.cache[r];Ex(s,o)||(n=!0,e=o,i&&!(r in i)&&(i[r]=o),this.cache[r]=s)}return{valueChanged:n,oldValue:e}}}function Px(t,e={}){const{enable:n=!0,copyState:i}=e;if(Kw(void 0!==i),!t.state){const{polyfillContext:e}=globalThis;e&&e(t),t.state=new kx(t,{copyState:i}),function(t){const e=t.useProgram.bind(t);t.useProgram=function(n){t.state.program!==n&&(e(n),t.state.program=n)}}(t);for(const n in wx)Tx(t,n,wx[n]);Ox(t,"getParameter"),Ox(t,"isEnabled")}return t.state.enable=n,t}function Ax(t){Kw(t.state),t.state.pop()}function Mx(t,e){if(Kw(Qw(t),"setParameters requires a WebGL context"),Cx(e))return;const n={};for(const r in e){const i=Number(r),s=yx[r];s&&("string"==typeof s?n[s]=!0:s(t,e[r],i))}const i=t.state&&t.state.cache;if(i)for(const r in n)_x[r](t,e,i)}function Ix(t,e,n){if(Cx(e))return n(t);const{nocatch:i=!0}=e;let r;if(function(t){t.state||Px(t,{copyState:!1}),t.state.push()}(t),Mx(t,e),i)r=n(t),Ax(t);else try{r=n(t)}finally{Ax(t)}return r}function Dx(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function Rx(t){const{luma:e}=t;if(t.canvas&&e){const{clientWidth:n}=e.canvasSizeInfo;return n?t.drawingBufferWidth/n:1}return 1}function Nx(t,e,n=!0){return function(t,e,n,i,r){const s=Lx(t[0],e,n);let o=jx(t[1],e,i,r),a=Lx(t[0]+1,e,n);const l=a===n-1?a:a-1;let c;return a=jx(t[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,Rx(t),t.drawingBufferWidth,t.drawingBufferHeight,n)}function Lx(t,e,n){return Math.min(Math.round(t*e),n-1)}function jx(t,e,n,i){return i?Math.max(0,n-1-Math.round(t*e)):Math.min(Math.round(t*e),n-1)}const Fx=Dx(),Bx=Fx&&"undefined"!=typeof document,Vx={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function zx(t={}){Kw(Fx,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),t=Object.assign({},Vx,t);const{width:e,height:n}=t;function i(e){if(t.throwOnError)throw new Error(e);return console.error(e),null}let r;t.onError=i;const{canvas:s}=t,o=function({canvas:t,width:e=800,height:n=600,onError:i}){let r;return"string"==typeof t?(Bx&&"complete"===document.readyState||i(`createGLContext called on canvas '${t}' before page was loaded`),r=document.getElementById(t)):t?r=t:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(n)?`${n}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:n,onError:i});return r=function(t,e){const{onError:n}=e;let i=null;const r=t=>i=t.statusMessage||i;t.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||t.getContext("webgl2",e),a=a||t.getContext("experimental-webgl2",e)),s&&(a=a||t.getContext("webgl",e),a=a||t.getContext("experimental-webgl",e)),t.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&t.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&t.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):n(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,t),r?(r=Ux(r,t),function(t){const e=Zw(t)?"WebGL2":"WebGL1",n=function(t){const e=t.getParameter(7936),n=t.getParameter(7937),i=t.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&t.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&t.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||n,vendorMasked:e,rendererMasked:n,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t);Yw.info(1,`${e}${t.debug?" debug":""} context ${n?`(${n.vendor},${n.renderer})`:""}`)()}(r),r):null}function Ux(t,e={}){if(!t||t._instrumented)return t;t._version=t._version||function(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext?2:1}(t),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{},e=Object.assign({},Vx,e);const{manageState:n,debug:i}=e;return n&&Px(t,{copyState:!1,log:(...t)=>Yw.log(1,...t)()}),Fx&&i&&(globalThis.makeDebugContext?(t=globalThis.makeDebugContext(t,e),Yw.level=Math.max(Yw.level,1)):Yw.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),t._instrumented=!0,t}function Hx(){let t;if("undefined"!=typeof window&&window.performance)t=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();t=1e3*e[0]+e[1]/1e6}else t=Date.now();return t}class $x{constructor(t,e){this.name=t,this.type=e,this.sampleSize=1,this.reset()}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=Hx(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Hx()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class Gx{constructor({id:t,stats:e}){this.id=t,this.stats={},this._initializeStats(e),Object.seal(this)}get(t,e="count"){return this._getOrCreate({name:t,type:e})}get size(){return Object.keys(this.stats).length}reset(){for(const t in this.stats)this.stats[t].reset();return this}forEach(t){for(const e in this.stats)t(this.stats[e])}getTable(){const t={};return this.forEach(e=>{t[e.name]={time:e.time||0,count:e.count||0,average:e.getAverageTime()||0,hz:e.getHz()||0}}),t}_initializeStats(t=[]){t.forEach(t=>this._getOrCreate(t))}_getOrCreate(t){if(!t||!t.name)return null;const{name:e,type:n}=t;return this.stats[e]||(this.stats[e]=t instanceof $x?t:new $x(e,n)),this.stats[e]}}const Wx="8.5.12",qx=new class{constructor(){this.stats=new Map}get(t){return this.stats.has(t)||this.stats.set(t,new Gx({id:t})),this.stats.get(t)}};if(globalThis.luma&&globalThis.luma.VERSION!==Wx)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${Wx}`);function Xx(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}function Yx(t,e){if("string"!=typeof e)return e;const n=Number(e);if(!isNaN(n))return n;const i=t[e=e.replace(/^.*\./,"")];return Xx(void 0!==i,`Accessing undefined constant GL.${e}`),i}function Kx(t,e){e=Number(e);for(const n in t)if(t[n]===e)return`GL.${n}`;return String(e)}globalThis.luma||(Dx()&&Yw.log(1,`luma.gl ${Wx} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:Wx,version:Wx,log:Yw,stats:qx,globals:{modules:{},nodeIO:{}}}),globalThis;const Qx={};function Zx(t="id"){return Qx[t]=Qx[t]||1,`${t}-${Qx[t]++}`}function Jx(t){return Xx("number"==typeof t,"Input must be a number"),t&&0==(t&t-1)}function tS(t){let e=!0;for(const n in t){e=!1;break}return e}function eS(t,e,n,i){const r=`See luma.gl ${n} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(t);i.forEach(t=>{s.methodName||(s[t]=()=>{throw Yw.removed(`Calling removed method ${e}.${t}: `,r)(),new Error(t)})})}const nS="Resource subclass must define virtual methods";class iS{get[Symbol.toStringTag](){return"Resource"}constructor(t,e={}){Jw(t);const{id:n,userData:i={}}=e;this.gl=t,this.gl2=t,this.id=n||Zx(this[Symbol.toStringTag]),this.userData=i,this._bound=!1,this._handle=e.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:t=!1}={}){const e=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,e&&t&&e.filter(Boolean).forEach(t=>t.delete()),this}bind(t=this.handle){if("function"!=typeof t)return this._bindHandle(t),this;let e;return this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e}unbind(){this.bind(null)}getParameter(t,e={}){Xx(t=Yx(this.gl,t));const n=(this.constructor.PARAMETERS||{})[t];if(n){const t=Zw(this.gl);if("webgl2"in n&&!t||"extension"in n&&!this.gl.getExtension(n.extension)){const e=n.webgl1,i="webgl2"in n?n.webgl2:n.webgl1;return t?i:e}}return this._getParameter(t,e)}getParameters(t={}){const{parameters:e,keys:n}=t,i=this.constructor.PARAMETERS||{},r=Zw(this.gl),s={},o=e||Object.keys(i);for(const a of o){const e=i[a];if(e&&(!("webgl2"in e)||r)&&(!("extension"in e)||this.gl.getExtension(e.extension))){const i=n?Kx(this.gl,a):a;s[i]=this.getParameter(a,t),n&&"GLenum"===e.type&&(s[i]=Kx(this.gl,s[i]))}}return s}setParameter(t,e){Xx(t=Yx(this.gl,t));const n=(this.constructor.PARAMETERS||{})[t];if(n){const t=Zw(this.gl);if("webgl2"in n&&!t||"extension"in n&&!this.gl.getExtension(n.extension))throw new Error("Parameter not available on this platform");"GLenum"===n.type&&(e=Yx(e))}return this._setParameter(t,e),this}setParameters(t){for(const e in t)this.setParameter(e,t[e]);return this}stubRemovedMethods(t,e,n){return eS(this,t,e,n)}initialize(t){}_createHandle(){throw new Error(nS)}_deleteHandle(){throw new Error(nS)}_bindHandle(t){throw new Error(nS)}_getOptsFromHandle(){throw new Error(nS)}_getParameter(t,e){throw new Error(nS)}_setParameter(t,e){throw new Error(nS)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const t=this[Symbol.toStringTag],e=qx.get("Resource Counts");e.get("Resources Created").incrementCount(),e.get(`${t}s Created`).incrementCount(),e.get(`${t}s Active`).incrementCount()}_removeStats(){const t=this[Symbol.toStringTag];qx.get("Resource Counts").get(`${t}s Active`).decrementCount()}_trackAllocatedMemory(t,e=this[Symbol.toStringTag]){const n=qx.get("Memory Usage");n.get("GPU Memory").addCount(t),n.get(`${e} Memory`).addCount(t),this.byteLength=t}_trackDeallocatedMemory(t=this[Symbol.toStringTag]){const e=qx.get("Memory Usage");e.get("GPU Memory").subtractCount(this.byteLength),e.get(`${t} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function rS(t){switch(ArrayBuffer.isView(t)?t.constructor:t){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function sS(t,{clamped:e=!0}={}){switch(t){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function oS({data:t,width:e,height:n}){const i=Math.round(e/2),r=Math.round(n/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return uS.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return uS.getBytesPerVertex(this)}_assign(t={}){return void 0!==(t=aS("Accessor",t,cS)).type&&(this.type=t.type,(5124===t.type||5125===t.type)&&(this.integer=!0)),void 0!==t.size&&(this.size=t.size),void 0!==t.offset&&(this.offset=t.offset),void 0!==t.stride&&(this.stride=t.stride),void 0!==t.normalized&&(this.normalized=t.normalized),void 0!==t.integer&&(this.integer=t.integer),void 0!==t.divisor&&(this.divisor=t.divisor),void 0!==t.buffer&&(this.buffer=t.buffer),void 0!==t.index&&(this.index="boolean"==typeof t.index?t.index?1:0:t.index),void 0!==t.instanced&&(this.divisor=t.instanced?1:0),void 0!==t.isInstanced&&(this.divisor=t.isInstanced?1:0),this}}const hS={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},dS={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:hS},pS={removedProps:hS};class fS extends iS{get[Symbol.toStringTag](){return"Buffer"}constructor(t,e={}){super(t,e),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=e.target||(this.gl.webgl2?36662:34962),this.initialize(e),Object.seal(this)}getElementCount(t=this.accessor){return Math.round(this.byteLength/uS.getBytesPerElement(t))}getVertexCount(t=this.accessor){return Math.round(this.byteLength/uS.getBytesPerVertex(t))}initialize(t={}){return ArrayBuffer.isView(t)&&(t={data:t}),Number.isFinite(t)&&(t={byteLength:t}),t=aS("Buffer",t,dS),this.usage=t.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},t,t.accessor)),t.data?this._setData(t.data,t.offset,t.byteLength):this._setByteLength(t.byteLength||0),this}setProps(t){return"accessor"in(t=aS("Buffer",t,pS))&&this.setAccessor(t.accessor),this}setAccessor(t){return delete(t=Object.assign({},t)).buffer,this.accessor=new uS(t),this}reallocate(t){return t>this.byteLength?(this._setByteLength(t),!0):(this.bytesUsed=t,!1)}setData(t){return this.initialize(t)}subData(t){ArrayBuffer.isView(t)&&(t={data:t});const{data:e,offset:n=0,srcOffset:i=0}=t,r=t.byteLength||t.length;Xx(e);const s=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(s,this.handle),0!==i||void 0!==r?(tx(this.gl),this.gl.bufferSubData(this.target,n,e,i,r)):this.gl.bufferSubData(s,n,e),this.gl.bindBuffer(s,null),this.debugData=null,this._inferType(e),this}copyData({sourceBuffer:t,readOffset:e=0,writeOffset:n=0,size:i}){const{gl:r}=this;return tx(r),r.bindBuffer(36662,t.handle),r.bindBuffer(36663,this.handle),r.copyBufferSubData(36662,36663,e,n,i),r.bindBuffer(36662,null),r.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:t=null,srcByteOffset:e=0,dstOffset:n=0,length:i=0}={}){tx(this.gl);const r=sS(this.accessor.type||5126,{clamped:!1}),s=this._getAvailableElementCount(e),o=n;let a,l;t?(l=t.length,a=l-o):(a=Math.min(s,i||s),l=o+a);const c=Math.min(s,a);return Xx((i=i||c)<=c),t=t||new r(l),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,e,t,n,i),this.gl.bindBuffer(36662,null),t}bind({target:t=this.target,index:e=this.accessor&&this.accessor.index,offset:n=0,size:i}={}){return 35345===t||35982===t?void 0!==i?this.gl.bindBufferRange(t,e,this.handle,n,i):(Xx(0===n),this.gl.bindBufferBase(t,e,this.handle)):this.gl.bindBuffer(t,this.handle),this}unbind({target:t=this.target,index:e=this.accessor&&this.accessor.index}={}){return 35345===t||35982===t?this.gl.bindBufferBase(t,e,null):this.gl.bindBuffer(t,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(t,e=0,n=t.byteLength+e){Xx(ArrayBuffer.isView(t)),this._trackDeallocatedMemory();const i=this._getTarget();this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,this.usage),this.gl.bufferSubData(i,e,t),this.gl.bindBuffer(i,null),this.debugData=t.slice(0,10),this.bytesUsed=n,this._trackAllocatedMemory(n);const r=rS(t);return Xx(r),this.setAccessor(new uS(this.accessor,{type:r})),this}_setByteLength(t,e=this.usage){Xx(t>=0),this._trackDeallocatedMemory();let n=t;0===t&&(n=new Float32Array(0));const i=this._getTarget();return this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,e),this.gl.bindBuffer(i,null),this.usage=e,this.debugData=null,this.bytesUsed=t,this._trackAllocatedMemory(t),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(t){const e=t/sS(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-e}_inferType(t){this.accessor.type||this.setAccessor(new uS(this.accessor,{type:rS(t)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(t){this.gl.bindBuffer(this.target,this.handle);const e=this.gl.getBufferParameter(this.target,t);return this.gl.bindBuffer(this.target,null),e}get type(){return Yw.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return Yw.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(t){return Yw.deprecated("setByteLength","reallocate")(),this.reallocate(t)}updateAccessor(t){return Yw.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new uS(this.accessor,t),this}}const gS={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},mS={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},bS={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},yS=[9729,9728],vS=globalThis.WebGLBuffer||function(){};class _S extends iS{get[Symbol.toStringTag](){return"Texture"}static isSupported(t,e={}){const{format:n,linearFiltering:i}=e;let r=!0;return n&&(r=r&&function(t,e){const n=gS[e];if(!n)return!1;if(void 0===n.gl1&&void 0===n.gl2)return!0;const i=Zw(t)&&n.gl2||n.gl1;return"string"==typeof i?t.getExtension(i):i}(t,n),r=r&&(!i||function(t,e){const n=gS[e];switch(n&&n.types[0]){case 5126:return t.getExtension("OES_texture_float_linear");case 5131:return t.getExtension("OES_texture_half_float_linear");default:return!0}}(t,n))),r}constructor(t,e){const{id:n=Zx("texture"),handle:i,target:r}=e;super(t,{id:n,handle:i}),this.target=r,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(t={}){let e=t.data;if(e instanceof Promise)return e.then(e=>this.initialize(Object.assign({},t,{pixels:e,data:e}))),this;const n="undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement;if(n&&e.readyStatethis.initialize(t)),this;const{pixels:i=null,format:r=6408,border:s=0,recreate:o=!1,parameters:a={},pixelStore:l={},textureUnit:c}=t;e||(e=i);let{width:u,height:h,dataFormat:d,type:p,compressed:f=!1,mipmaps:g=!0}=t;const{depth:m=0}=t;return({width:u,height:h,compressed:f,dataFormat:d,type:p}=this._deduceParameters({format:r,type:p,dataFormat:d,compressed:f,data:e,width:u,height:h})),this.width=u,this.height=h,this.depth=m,this.format=r,this.type=p,this.dataFormat=d,this.border=s,this.textureUnit=c,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),g&&this._isNPOT()&&(Yw.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),g=!1,this._updateForNPOT(a)),this.mipmaps=g,this.setImageData({data:e,width:u,height:h,depth:m,format:r,type:p,dataFormat:d,border:s,mipmaps:g,parameters:l,compressed:f}),g&&this.generateMipmap(),this.setParameters(a),o&&(this.data=e),n&&(this._video={video:e,parameters:a,lastTime:e.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?e.currentTime:-1}),this}update(){if(this._video){const{video:t,parameters:e,lastTime:n}=this._video;if(n===t.currentTime||t.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(t){this._trackDeallocatedMemory("Texture");const{target:e=this.target,pixels:n=null,level:i=0,format:r=this.format,border:s=this.border,offset:o=0,parameters:a={}}=t;let{data:l=null,type:c=this.type,width:u=this.width,height:h=this.height,dataFormat:d=this.dataFormat,compressed:p=!1}=t;l||(l=n),({type:c,dataFormat:d,compressed:p,width:u,height:h}=this._deduceParameters({format:r,type:c,dataFormat:d,compressed:p,data:l,width:u,height:h}));const{gl:f}=this;f.bindTexture(this.target,this.handle);let g=null;({data:l,dataType:g}=this._getDataType({data:l,compressed:p}));let m,b=0;return Ix(this.gl,a,()=>{switch(g){case"null":f.texImage2D(e,i,r,u,h,s,d,c,l);break;case"typed-array":f.texImage2D(e,i,r,u,h,s,d,c,l,o);break;case"buffer":m=tx(f),m.bindBuffer(35052,l.handle||l),m.texImage2D(e,i,r,u,h,s,d,c,o),m.bindBuffer(35052,null);break;case"browser-object":Zw(f)?f.texImage2D(e,i,r,u,h,s,d,c,l):f.texImage2D(e,i,r,d,c,l);break;case"compressed":for(const[t,n]of l.entries())f.compressedTexImage2D(e,t,n.format,n.width,n.height,s,n.data),b+=n.levelSize;break;default:Xx(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===g?b:l&&l.byteLength?l.byteLength:this.width*this.height*(mS[this.dataFormat]||4)*(bS[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:t=this.target,pixels:e=null,data:n=null,x:i=0,y:r=0,width:s=this.width,height:o=this.height,level:a=0,format:l=this.format,type:c=this.type,dataFormat:u=this.dataFormat,compressed:h=!1,offset:d=0,border:p=this.border,parameters:f={}}){if(({type:c,dataFormat:u,compressed:h,width:s,height:o}=this._deduceParameters({format:l,type:c,dataFormat:u,compressed:h,data:n,width:s,height:o})),Xx(0===this.depth,"texSubImage not supported for 3D textures"),n||(n=e),n&&n.data){const t=n;n=t.data,s=t.shape[0],o=t.shape[1]}n instanceof fS&&(n=n.handle),this.gl.bindTexture(this.target,this.handle),Ix(this.gl,f,()=>{if(h)this.gl.compressedTexSubImage2D(t,a,i,r,s,o,l,n);else if(null===n)this.gl.texSubImage2D(t,a,i,r,s,o,u,c,null);else if(ArrayBuffer.isView(n))this.gl.texSubImage2D(t,a,i,r,s,o,u,c,n,d);else if(n instanceof vS){const e=tx(this.gl);e.bindBuffer(35052,n),e.texSubImage2D(t,a,i,r,s,o,u,c,d),e.bindBuffer(35052,null)}else Zw(this.gl)?tx(this.gl).texSubImage2D(t,a,i,r,s,o,u,c,n):this.gl.texSubImage2D(t,a,i,r,u,c,n)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(t={}){return Yw.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(t=this.textureUnit){const{gl:e}=this;return void 0!==t&&(this.textureUnit=t,e.activeTexture(33984+t)),e.bindTexture(this.target,this.handle),t}unbind(t=this.textureUnit){const{gl:e}=this;return void 0!==t&&(this.textureUnit=t,e.activeTexture(33984+t)),e.bindTexture(this.target,null),t}_getDataType({data:t,compressed:e=!1}){return e?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof fS?{data:t.handle,dataType:"buffer"}:t instanceof vS?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}_deduceParameters(t){const{format:e,data:n}=t;let{width:i,height:r,dataFormat:s,type:o,compressed:a}=t;const l=gS[e];return s=s||l&&l.dataFormat,o=o||l&&l.types[0],a=a||l&&l.compressed,({width:i,height:r}=this._deduceImageSize(n,i,r)),{dataFormat:s,type:o,compressed:a,width:i,height:r,format:e,data:n}}_deduceImageSize(t,e,n){let i;return i="undefined"!=typeof ImageData&&t instanceof ImageData?{width:t.width,height:t.height}:"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement?{width:t.naturalWidth,height:t.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?{width:t.width,height:t.height}:"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement?{width:t.videoWidth,height:t.videoHeight}:t?{width:e,height:n}:{width:e>=0?e:1,height:n>=0?n:1},Xx(i,"Could not deduced texture size"),Xx(void 0===e||i.width===e,"Deduced texture width does not match supplied width"),Xx(void 0===n||i.height===n,"Deduced texture height does not match supplied height"),i}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(t){switch(t){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const e=this.gl.getTexParameter(this.target,t);return this.gl.bindTexture(this.target,null),e}}_setParameter(t,e){switch(this.gl.bindTexture(this.target,this.handle),e=this._getNPOTParam(t,e),t){case 33082:case 33083:this.gl.texParameterf(this.handle,t,e);break;case 4096:case 4097:Xx(!1);break;default:this.gl.texParameteri(this.target,t,e)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Zw(this.gl)||!this.width||!this.height||Jx(this.width)&&Jx(this.height))}_updateForNPOT(t){void 0===t[this.gl.TEXTURE_MIN_FILTER]&&(t[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===t[this.gl.TEXTURE_WRAP_S]&&(t[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===t[this.gl.TEXTURE_WRAP_T]&&(t[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(t,e){if(this._isNPOT())switch(t){case 10241:-1===yS.indexOf(e)&&(e=9729);break;case 10242:case 10243:33071!==e&&(e=33071)}return e}}function wS(t,e){return Xx("string"==typeof t),t=""+t,new Promise((n,i)=>{try{const r=new Image;r.onload=()=>n(r),r.onerror=()=>i(new Error(`Could not load image ${t}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=t}catch(r){i(r)}})}class xS extends _S{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(t,e){return _S.isSupported(t,e)}constructor(t,e={}){Jw(t),(e instanceof Promise||"string"==typeof e)&&(e={data:e}),"string"==typeof e.data&&(e=Object.assign({},e,{data:wS(e.data)})),super(t,Object.assign({},e,{target:3553})),this.initialize(e),Object.seal(this)}}const SS="EXT_color_buffer_float";var CS={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:SS,bpp:2},33327:{gl2:SS,bpp:4},34842:{gl2:SS,bpp:8},33326:{gl2:SS,bpp:4},33328:{gl2:SS,bpp:8},34836:{gl2:SS,bpp:16},35898:{gl2:SS,bpp:4}};class ES extends iS{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(t,{format:e}={format:null}){return!e||function(t,e,n){const i=n[e];if(!i)return!1;const r=Zw(t)&&i.gl2||i.gl1;return"string"==typeof r?t.getExtension(r):r}(t,e,CS)}static getSamplesForFormat(t,{format:e}){return t.getInternalformatParameter(36161,e,32937)}constructor(t,e={}){super(t,e),this.initialize(e),Object.seal(this)}initialize({format:t,width:e=1,height:n=1,samples:i=0}){return Xx(t,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==i&&Zw(this.gl)?this.gl.renderbufferStorageMultisample(36161,i,t,e,n):this.gl.renderbufferStorage(36161,t,e,n),this.format=t,this.width=e,this.height=n,this.samples=i,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*CS[this.format].bpp),this}resize({width:t,height:e}){return t!==this.width||e!==this.height?this.initialize({width:t,height:e,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(t){this.gl.bindRenderbuffer(36161,t)}_syncHandle(t){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(t){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,t)}}const OS="clear: bad arguments";function TS(t,{framebuffer:e=null,color:n=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;n&&(o|=16384,!0!==n&&(s.clearColor=n)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),Xx(0!==o,OS),Ix(t,s,()=>{t.clear(o)})}function kS(t,e,n,i,r,s,o){try{var a=t[s](o),l=a.value}catch(c){return void n(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function PS(t){return function(){var e=this,n=arguments;return new Promise(function(i,r){var s=t.apply(e,n);function o(t){kS(s,i,r,o,a,"next",t)}function a(t){kS(s,i,r,o,a,"throw",t)}o(void 0)})}}const AS=[34069,34070,34071,34072,34073,34074];let MS=(()=>{class t extends _S{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,e={}){Jw(t),super(t,Object.assign({},e,{target:34067})),this.initialize(e),Object.seal(this)}initialize(t={}){const{mipmaps:e=!0,parameters:n={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,e&&this.generateMipmap(t),this.setParameters(n)}),this}subImage({face:t,data:e,x:n=0,y:i=0,mipmapLevel:r=0}){return this._subImage({target:t,data:e,x:n,y:i,mipmapLevel:r})}setCubeMapImageData({width:t,height:e,pixels:n,data:i,border:r=0,format:s=6408,type:o=5121}){var a=this;return PS(function*(){const{gl:l}=a,c=n||i,u=yield Promise.all(AS.map(t=>{const e=c[t];return Promise.all(Array.isArray(e)?e:[e])}));a.bind(),AS.forEach((n,i)=>{u[i].length>1&&!1!==a.opts.mipmaps&&Yw.warn(`${a.id} has mipmap and multiple LODs.`)(),u[i].forEach((i,a)=>{t&&e?l.texImage2D(n,a,s,t,e,r,s,o,i):l.texImage2D(n,a,s,s,o,i)})}),a.unbind()})()}setImageDataForFace(t){const{face:e,width:n,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}=t,{gl:c}=this,u=r||s;return this.bind(),u instanceof Promise?u.then(n=>this.setImageDataForFace(Object.assign({},t,{face:e,data:n,pixels:n}))):this.width||this.height?c.texImage2D(e,0,a,n,i,o,a,l,u):c.texImage2D(e,0,a,a,l,u),this}}return t.FACES=AS,t})();class IS extends _S{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(t){return Zw(t)}constructor(t,e={}){tx(t),super(t,e=Object.assign({depth:1},e,{target:32879,unpackFlipY:!1})),this.initialize(e),Object.seal(this)}setImageData({level:t=0,dataFormat:e=6408,width:n,height:i,depth:r=1,border:s=0,format:o,type:a=5121,offset:l=0,data:c,parameters:u={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),Ix(this.gl,u,()=>{ArrayBuffer.isView(c)&&this.gl.texImage3D(this.target,t,e,n,i,r,s,o,a,c),c instanceof fS&&(this.gl.bindBuffer(35052,c.handle),this.gl.texImage3D(this.target,t,e,n,i,r,s,o,a,l))}),this._trackAllocatedMemory(c&&c.byteLength?c.byteLength:this.width*this.height*this.depth*(mS[this.dataFormat]||4)*(bS[this.type]||1),"Texture"),this.loaded=!0,this}}function DS(t,e){Xx(t instanceof xS||t instanceof MS||t instanceof IS);const n=t.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=t;return new n(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function RS(t,e){const{gl:n,width:i,height:r,id:s}=t;return new BS(n,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:t}}))}function NS(t,e={}){const{sourceX:n=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=jS(t);Xx(u);const{gl:d,handle:p,attachments:f}=u;a=a||u.width,l=l||u.height,36064===s&&null===p&&(s=1028),Xx(f[s]),c=c||f[s].type,o=function(t,e,n,i,r){if(t)return t;return new(sS(e=e||5121,{clamped:!1}))(i*r*function(t){switch(t){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return Xx(!1),0}}(n))}(o,c,r,a,l),c=c||rS(o);const g=d.bindFramebuffer(36160,p);return d.readPixels(n,i,a,l,r,c,o),d.bindFramebuffer(36160,g||null),h&&u.delete(),o}function LS(t,{sourceAttachment:e=36064,targetMaxHeight:n=Number.MAX_SAFE_INTEGER}={}){let i=NS(t,{sourceAttachment:e}),{width:r,height:s}=t;for(;s>n;)({data:i,width:r,height:s}=oS({data:i,width:r,height:s}));!function({data:t,width:e,height:n,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&e>=0,"Width and height need to be integers"),this.width=t,this.height=e,n)for(const c in n){const i=n[c];(Array.isArray(i)?i[0]:i).resize({width:t,height:e})}else n=this._createDefaultAttachments(i,r,s,t,e);this.update({clearAttachments:!0,attachments:n,readBuffer:a,drawBuffers:l}),n&&o&&this.checkStatus()}delete(){for(const t of this.ownResources)t.delete();return super.delete(),this}update({attachments:t={},readBuffer:e,drawBuffers:n,clearAttachments:i=!1,resizeAttachments:r=!0}){this.attach(t,{clearAttachments:i,resizeAttachments:r});const{gl:s}=this,o=s.bindFramebuffer(36160,this.handle);return e&&this._setReadBuffer(e),n&&this._setDrawBuffers(n),s.bindFramebuffer(36160,o||null),this}resize(t={}){let{width:e,height:n}=t;if(null===this.handle)return Xx(void 0===e&&void 0===n),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===e&&(e=this.gl.drawingBufferWidth),void 0===n&&(n=this.gl.drawingBufferHeight),e!==this.width&&n!==this.height&&Yw.log(2,`Resizing framebuffer ${this.id} to ${e}x${n}`)();for(const i in this.attachments)this.attachments[i].resize({width:e,height:n});return this.width=e,this.height=n,this}attach(t,{clearAttachments:e=!1,resizeAttachments:n=!0}={}){const i={};e&&Object.keys(this.attachments).forEach(t=>{i[t]=null}),Object.assign(i,t);const r=this.gl.bindFramebuffer(36160,this.handle);for(const s in i){Xx(void 0!==s,"Misspelled framebuffer binding point?");const t=Number(s),e=i[t];let r=e;if(r)if(r instanceof ES)this._attachRenderbuffer({attachment:t,renderbuffer:r});else if(Array.isArray(e)){const[n,i=0,s=0]=e;r=n,this._attachTexture({attachment:t,texture:n,layer:i,level:s})}else this._attachTexture({attachment:t,texture:r,layer:0,level:0});else this._unattach(t);n&&r&&r.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,r||null),Object.assign(this.attachments,t),Object.keys(this.attachments).filter(t=>!this.attachments[t]).forEach(t=>{delete this.attachments[t]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(t){return(BS.STATUS||{})[t]||`Framebuffer error ${t}`}(t));return this}getStatus(){const{gl:t}=this,e=t.bindFramebuffer(36160,this.handle),n=t.checkFramebufferStatus(36160);return t.bindFramebuffer(36160,e||null),n}clear(t={}){const{color:e,depth:n,stencil:i,drawBuffers:r=[]}=t,s=this.gl.bindFramebuffer(36160,this.handle);return(e||n||i)&&TS(this.gl,{color:e,depth:n,stencil:i}),r.forEach((t,e)=>{!function(t,{framebuffer:e=null,buffer:n=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){tx(t),Ix(t,{framebuffer:e},()=>{switch(n){case 6144:switch(r.constructor){case Int32Array:t.clearBufferiv(n,i,r);break;case Uint32Array:t.clearBufferuiv(n,i,r);break;case Float32Array:default:t.clearBufferfv(n,i,r)}break;case 6145:t.clearBufferfv(6145,0,[r]);break;case 6146:t.clearBufferiv(6146,0,[r]);break;case 34041:const[e,s]=r;t.clearBufferfi(34041,0,e,s);break;default:Xx(!1,OS)}})}(this.gl,{drawBuffer:e,value:t})}),this.gl.bindFramebuffer(36160,s||null),this}readPixels(t={}){return Yw.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(t={}){return Yw.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(t={}){return Yw.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(t={}){return Yw.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(t={}){return Yw.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(t={}){return Yw.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:t=[],x:e=0,y:n=0,width:i,height:r}){const s=tx(this.gl),o=s.bindFramebuffer(36008,this.handle);return 0===e&&0===n&&void 0===i&&void 0===r?s.invalidateFramebuffer(36008,t):s.invalidateFramebuffer(36008,t,e,n,i,r),s.bindFramebuffer(36008,o),this}getAttachmentParameter(t,e,n){let i=this._getAttachmentParameterFallback(e);return null===i&&(this.gl.bindFramebuffer(36160,this.handle),i=this.gl.getFramebufferAttachmentParameter(36160,t,e),this.gl.bindFramebuffer(36160,null)),n&&i>1e3&&(i=Kx(this.gl,i)),i}getAttachmentParameters(t=36064,e,n=this.constructor.ATTACHMENT_PARAMETERS||[]){const i={};for(const r of n)i[e?Kx(this.gl,r):r]=this.getAttachmentParameter(t,r,e);return i}getParameters(t=!0){const e=Object.keys(this.attachments),n={};for(const i of e){const e=Number(i);n[t?Kx(this.gl,e):e]=this.getAttachmentParameters(e,t)}return n}show(){return"undefined"!=typeof window&&window.open(LS(this),"luma-debug-texture"),this}log(t=0,e=""){if(t>Yw.level||"undefined"==typeof window)return this;e=e||`Framebuffer ${this.id}`;const n=LS(this,{targetMaxHeight:100});return Yw.image({logLevel:t,message:e,image:n},e)(),this}bind({target:t=36160}={}){return this.gl.bindFramebuffer(t,this.handle),this}unbind({target:t=36160}={}){return this.gl.bindFramebuffer(t,null),this}_createDefaultAttachments(t,e,n,i,r){let s=null;return t&&(s=s||{},s[36064]=new xS(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:i,height:r,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(s[36064])),e&&n?(s=s||{},s[33306]=new ES(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:i,height:111}),this.ownResources.push(s[33306])):e?(s=s||{},s[36096]=new ES(this.gl,{id:`${this.id}-depth`,format:33189,width:i,height:r}),this.ownResources.push(s[36096])):n&&Xx(!1),s}_unattach(t){const e=this.attachments[t];!e||(e instanceof ES?this.gl.framebufferRenderbuffer(36160,t,36161,null):this.gl.framebufferTexture2D(36160,t,3553,null,0),delete this.attachments[t])}_attachRenderbuffer({attachment:t=36064,renderbuffer:e}){const{gl:n}=this;n.framebufferRenderbuffer(36160,t,36161,e.handle),this.attachments[t]=e}_attachTexture({attachment:t=36064,texture:e,layer:n,level:i}){const{gl:r}=this;switch(r.bindTexture(e.target,e.handle),e.target){case 35866:case 32879:tx(r).framebufferTextureLayer(36160,t,e.target,i,n);break;case 34067:const s=function(t){return t<34069?t+34069:t}(n);r.framebufferTexture2D(36160,t,s,e.handle,i);break;case 3553:r.framebufferTexture2D(36160,t,3553,e.handle,i);break;default:Xx(!1,"Illegal texture type")}r.bindTexture(e.target,null),this.attachments[t]=e}_setReadBuffer(t){const e=function(t){return Zw(t)?t:null}(this.gl);e?e.readBuffer(t):Xx(36064===t||1029===t,FS),this.readBuffer=t}_setDrawBuffers(t){const{gl:e}=this,n=tx(e);if(n)n.drawBuffers(t);else{const n=e.getExtension("WEBGL_draw_buffers");n?n.drawBuffersWEBGL(t):Xx(1===t.length&&(36064===t[0]||1029===t[0]),FS)}this.drawBuffers=t}_getAttachmentParameterFallback(t){const e=function(t){t.luma=t.luma||{},t.luma.caps=t.luma.caps||{};for(const e in VS)void 0===t.luma.caps[e]&&(t.luma.caps[e]=HS(t,e));return t.luma.caps}(this.gl);switch(t){case 36052:return e.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return e.WEBGL2?null:8;case 33297:return e.WEBGL2?null:5125;case 33296:return e.WEBGL2||e.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(t){return this.gl.bindFramebuffer(36160,t)}}BS.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];var VS={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(t){const e=new xS(t,{format:6408,type:5126,dataFormat:6408}),n=new BS(t,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=n.getStatus();return e.delete(),n.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function zS(t,e){return US(t,e)}function US(t,e){return(e=Array.isArray(e)?e:[e]).every(e=>HS(t,e))}function HS(t,e){return t.luma=t.luma||{},t.luma.caps=t.luma.caps||{},void 0===t.luma.caps[e]&&(t.luma.caps[e]=function(t,e){const n=VS[e];let i;Xx(n,e);const r=Zw(t)&&n[1]||n[0];if("function"==typeof r)i=r(t);else if(Array.isArray(r)){i=!0;for(const e of r)i=i&&Boolean(t.getExtension(e))}else"string"==typeof r?i=Boolean(t.getExtension(r)):"boolean"==typeof r?i=r:Xx(!1);return i}(t,e)),t.luma.caps[e]||Yw.log(2,`Feature: ${e} not supported`)(),t.luma.caps[e]}class $S{constructor(t,e){this.opts=e,this.source=t}get value(){return this.source.value}getValue(){const t=this.source.getBuffer(),e=this.getAccessor();if(t)return[t,e];const{value:n}=this.source,{size:i}=e;let r=n;if(n&&n.length!==i){r=new Float32Array(i);const t=e.elementOffset||0;for(let e=0;ei&&(r=i);const s=this._pool,o=t.BYTES_PER_ELEMENT*r,a=s.findIndex(t=>t.byteLength>=o);if(a>=0){const e=new t(s.splice(a,1)[0],0,r);return n&&e.fill(0),e}return new t(r)}_release(t){if(!ArrayBuffer.isView(t))return;const e=this._pool,{buffer:n}=t,{byteLength:i}=n,r=e.findIndex(t=>t.byteLength>=i);r<0?e.push(n):(r>0||e.lengththis.props.poolSize&&e.shift()}};const WS=1/Math.PI*180,qS=1/180*Math.PI,XS={};function YS(t,{precision:e=XS.precision||4}={}){return t=function(t){return Math.round(t/XS.EPSILON)*XS.EPSILON}(t),`${parseFloat(t.toPrecision(e))}`}function KS(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function QS(t,e,n){if(KS(t)){n=n||function(t){return t.clone?t.clone():new Array(t.length)}(t);for(let i=0;it*qS,void 0)}(t)}function JS(t){return function(t,e){return QS(t,t=>t*WS,void 0)}(t)}function tC(t,e,n){return QS(t,t=>Math.max(e,Math.min(n,t)))}function eC(t,e,n){return KS(t)?t.map((t,i)=>eC(t,e[i],n)):n*e+(1-n)*t}function nC(t,e,n){const i=XS.EPSILON;n&&(XS.EPSILON=n);try{if(t===e)return!0;if(KS(t)&&KS(e)){if(t.length!==e.length)return!1;for(let n=0;n0?", ":"")+YS(this[n],t);return`${t.printTypes?this.constructor.name:""}[${e}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e=0&&t=0&&t0&&(LC.length=t.length,i=LC):i=NC,(e>0||Number.isFinite(n))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,n),r.index=e-1),{iterable:i,objectInfo:r}}function FC(t){return t&&t[Symbol.asyncIterator]}function BC(t,e=(()=>!0)){return Array.isArray(t)?VC(t,e,[]):e(t)?[t]:[]}function VC(t,e,n){let i=-1;for(;++ia)return void e.set(t.subarray(0,a),n);if(e.set(t,n),!s)return;let l=o;for(;lt},spring:{stiffness:.05,damping:.5}};function WC(t,e){return t?(Number.isFinite(t)&&(t={duration:t}),t.type=t.type||"interpolation",vt(vt(vt({},GC[t.type]),e),t)):null}function qC(t,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function XC(t){switch(t){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(t,'"'))}}function YC(t){t.push(t.shift())}function KC(t,e){const{doublePrecision:n,settings:i,value:r,size:s}=t,o=n&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function QC({buffer:t,numInstances:e,attribute:n,fromLength:i,fromStartIndices:r,getData:s=(t=>t)}){const o=n.doublePrecision&&n.value instanceof Float64Array?2:1,a=n.size*o,l=n.byteOffset,c=n.startIndices,u=r&&c,h=KC(n,e),d=n.state.constant;if(!u&&i>=h)return;const p=d?n.value:n.getBuffer().getData({srcByteOffset:l});if(n.settings.normalized&&!d){const t=s;s=(e,i)=>n._normalizeConstant(t(e,i))}const f=d?(t,e)=>s(p,e):(t,e)=>s(p.subarray(t,t+a),e),g=t.getData({length:i}),m=new Float32Array(h);(function({source:t,target:e,size:n,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return $C({source:t,target:e,size:n,getData:i}),e;let o=0,a=0;const l=i&&((t,e)=>i(t+a,e)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(t).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(t).map(t=>t/255);case 5123:return new Float32Array(t).map(t=>t/65535);default:return t}}_normalizeValue(t,e,n){const{defaultValue:i,size:r}=this.settings;if(Number.isFinite(t))return e[n]=t,e;if(!t)return e[n]=i[0],e;switch(r){case 4:e[n+3]=Number.isFinite(t[3])?t[3]:i[3];case 3:e[n+2]=Number.isFinite(t[2])?t[2]:i[2];case 2:e[n+1]=Number.isFinite(t[1])?t[1]:i[1];case 1:e[n+0]=Number.isFinite(t[0])?t[0]:i[0];break;default:let s=r;for(;--s>=0;)e[n+s]=Number.isFinite(t[s])?t[s]:i[s]}return e}_areValuesEqual(t,e){if(!t||!e)return!1;const{size:n}=this;for(let i=0;it[e])]:t[e],n)}setNeedsUpdate(t=this.id,e){if(this.state.needsUpdate=this.state.needsUpdate||t,this.setNeedsRedraw(t),e){const{startRow:t=0,endRow:n=1/0}=e;this.state.updateRanges=function(t,e){if(t===HC||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return t;const n=[],i=t.length;let r=0;for(let s=0;se[1]?n.push(i):e=[Math.min(i[0],e[0]),Math.max(i[1],e[1])]}return n.splice(r,0,e),n}(this.state.updateRanges,[t,n])}else this.state.updateRanges=HC}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=UC}setNeedsRedraw(t=this.id){this.state.needsRedraw=this.state.needsRedraw||t}update(t){this.setData(t)}allocate(t){const{state:e,settings:n}=this;return!n.noAlloc&&!!n.update&&(super.allocate({numInstances:t,copy:e.updateRanges!==HC}),!0)}updateBuffer({numInstances:t,data:e,props:n,context:i}){if(!this.needsUpdate())return!1;const{state:{updateRanges:r},settings:{update:s,noAlloc:o}}=this;let a=!0;if(s){for(const[o,a]of r)s.call(i,this,{data:e,startRow:o,endRow:a,props:n,numInstances:t});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const n=i*a+l;for(let i=0;ic?l.set(e,f):(t._normalizeValue(e,m.target,0),zC({target:l,source:m.target,start:f,count:n}));f+=n*c}else t._normalizeValue(e,l,f),f+=c}}_validateAttributeUpdaters(){const{settings:t}=this;if(!t.noAlloc&&"function"!=typeof t.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:t}=this,e=Math.min(4,this.size);if(t&&t.length>=e){let n=!0;switch(e){case 4:n=n&&Number.isFinite(t[3]);case 3:n=n&&Number.isFinite(t[2]);case 2:n=n&&Number.isFinite(t[1]);case 1:n=n&&Number.isFinite(t[0]);break;default:n=!1}if(!n)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let JC={};function tE(t){Gw.level>0&&JC[t]&&JC[t].call(...arguments)}function eE(t,e){if(!t)throw new Error(e||"shadertools: assertion failed.")}const nE="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",iE=`#version 300 es\n${nE}`;function rE(t,e){e=Array.isArray(e)?e:[e];const n=t.replace(/^\s+/,"").split(/\s+/),[i,r,s]=n;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function sE(t={}){const{version:e=100,input:n,inputType:i,output:r}=t;if(!n)return 300===e?iE:e>300?`#version ${e}\n${nE}`:"void main() {gl_FragColor = vec4(0);}";const s=function(t,e){switch(e){case"float":return`vec4(${t}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${t}, 0.0, 1.0)`;case"vec3":return`vec4(${t}, 1.0)`;case"vec4":return t;default:return eE(!1),null}}(n,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${n};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${n};\nvoid main() {\n gl_FragColor = ${s};\n}`}class oE extends iS{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(t){return Zw(t)}constructor(t,e={}){tx(t),super(t,e),this.initialize(e),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(t={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,tS(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(t),this}setProps(t){"program"in t&&(this.configuration=t.program&&t.program.configuration),"configuration"in t&&(this.configuration=t.configuration),"bindOnUse"in t&&(t=t.bindOnUse),"buffers"in t&&this.setBuffers(t.buffers)}setBuffers(t={}){return this.bind(()=>{for(const e in t)this.setBuffer(e,t[e])}),this}setBuffer(t,e){const n=this._getVaryingIndex(t),{buffer:i,byteSize:r,byteOffset:s}=this._getBufferParams(e);return n<0?(this.unused[t]=i,Yw.warn(()=>`${this.id} unused varying buffer ${t}`)(),this):(this.buffers[n]=e,this.bindOnUse||this._bindBuffer(n,i,s,r),this)}begin(t=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(t),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(t){let e,n,i;return t instanceof fS?i=t:(i=t.buffer,n=t.byteSize,e=t.byteOffset),(void 0!==e||void 0!==n)&&(e=e||0,n=n||i.byteLength-e),{buffer:i,byteOffset:e,byteSize:n}}_getVaryingInfo(t){return this.configuration&&this.configuration.getVaryingInfo(t)}_getVaryingIndex(t){if(this.configuration)return this.configuration.getVaryingInfo(t).location;const e=Number(t);return Number.isFinite(e)?e:-1}_bindBuffers(){if(this.bindOnUse)for(const t in this.buffers){const{buffer:e,byteSize:n,byteOffset:i}=this._getBufferParams(this.buffers[t]);this._bindBuffer(t,e,i,n)}}_unbindBuffers(){if(this.bindOnUse)for(const t in this.buffers)this._bindBuffer(t,null)}_bindBuffer(t,e,n=0,i){const r=e&&e.handle;return r&&void 0!==i?this.gl.bindBufferRange(35982,t,r,n,i):this.gl.bindBufferBase(35982,t,r),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(t){this.gl.bindTransformFeedback(36386,this.handle)}}class aE{constructor(t,e={}){this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(e),Object.seal(this)}setupResources(t){for(const e of this.bindings)this._setupTransformFeedback(e,t)}updateModelProps(t={}){const{varyings:e}=this;return e.length>0&&(t=Object.assign({},t,{varyings:e})),t}getDrawOptions(t={}){const e=this.bindings[this.currentIndex],{sourceBuffers:n,transformFeedback:i}=e;return{attributes:Object.assign({},n,t.attributes),transformFeedback:i}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(t={}){this._setupBuffers(t)}getBuffer(t){const{feedbackBuffers:e}=this.bindings[this.currentIndex],n=t?e[t]:null;return n?n instanceof fS?n:n.buffer:null}getData(t={}){const{varyingName:e}=t,n=this.getBuffer(e);return n?n.getData():null}delete(){for(const t in this.resources)this.resources[t].delete()}_initialize(t={}){this._setupBuffers(t),this.varyings=t.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&Xx(Zw(this.gl))}_getFeedbackBuffers(t){const{sourceBuffers:e={}}=t,n={};if(this.bindings[this.currentIndex]&&Object.assign(n,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const i in this.feedbackMap){const t=this.feedbackMap[i];i in e&&(n[t]=i)}Object.assign(n,t.feedbackBuffers);for(const i in n){const t=n[i];if("string"==typeof t){const r=e[t],{byteLength:s,usage:o,accessor:a}=r;n[i]=this._createNewBuffer(i,{byteLength:s,usage:o,accessor:a})}}return n}_setupBuffers(t={}){const{sourceBuffers:e=null}=t;Object.assign(this.feedbackMap,t.feedbackMap);const n=this._getFeedbackBuffers(t);this._updateBindings({sourceBuffers:e,feedbackBuffers:n})}_setupTransformFeedback(t,{model:e}){const{program:n}=e;t.transformFeedback=new oE(this.gl,{program:n,buffers:t.feedbackBuffers})}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:e}=this._swapBuffers(this.bindings[this.currentIndex]),n=this._getNextIndex();this.bindings[n]=this._updateBinding(this.bindings[n],{sourceBuffers:t,feedbackBuffers:e})}}_updateBinding(t,e){return t?(Object.assign(t.sourceBuffers,e.sourceBuffers),Object.assign(t.feedbackBuffers,e.feedbackBuffers),t.transformFeedback&&t.transformFeedback.setBuffers(t.feedbackBuffers),t):{sourceBuffers:Object.assign({},e.sourceBuffers),feedbackBuffers:Object.assign({},e.feedbackBuffers)}}_swapBuffers(t){if(!this.feedbackMap)return null;const e=Object.assign({},t.sourceBuffers),n=Object.assign({},t.feedbackBuffers);for(const i in this.feedbackMap){const r=this.feedbackMap[i];e[i]=t.feedbackBuffers[r],n[r]=t.sourceBuffers[i],Xx(n[r]instanceof fS)}return{sourceBuffers:e,feedbackBuffers:n}}_createNewBuffer(t,e){const n=new fS(this.gl,e);return this.resources[t]&&this.resources[t].delete(),this.resources[t]=n,n}_getNextIndex(){return(this.currentIndex+1)%2}}function lE(t){let e=100;const n=t.match(/[^\s]+/g);if(n.length>=2&&"#version"===n[0]){const t=parseInt(n[1],10);Number.isFinite(t)&&(e=t)}return e}const cE="vs",uE={[cE]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},hE="__LUMA_INJECT_DECLARATIONS__",dE=/void\s+main\s*\([^)]*\)\s*\{\n?/,pE=/}\n?[^{}]*$/,fE=[];function gE(t,e,n,i=!1){const r=e===cE;for(const s in n){const e=n[s];e.sort((t,e)=>t.order-e.order),fE.length=e.length;for(let t=0,n=e.length;tt+i));break;case"vs:#main-end":r&&(t=t.replace(pE,t=>i+t));break;case"fs:#decl":r||(t=t.replace(hE,i));break;case"fs:#main-start":r||(t=t.replace(dE,t=>t+i));break;case"fs:#main-end":r||(t=t.replace(pE,t=>i+t));break;default:t=t.replace(s,t=>t+i)}}return t=t.replace(hE,""),i&&(t=t.replace(/\}\s*$/,t=>t+uE[e])),t}function mE(t){const e={};return eE(Array.isArray(t)&&t.length>1),t.forEach(t=>{for(const n in t)e[n]=e[n]?`${e[n]}\n${t[n]}`:t[n]}),e}const bE={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},yE="transform_uSize_",vE="transform_position";const _E={10241:9728,10240:9728,10242:33071,10243:33071};class wE{constructor(t,e={}){this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(e),Object.seal(this)}updateModelProps(t={}){const e=this._processVertexShader(t);return Object.assign({},t,e)}getDrawOptions(t={}){const{sourceBuffers:e,sourceTextures:n,framebuffer:i,targetTexture:r}=this.bindings[this.currentIndex],s=Object.assign({},e,t.attributes),o=Object.assign({},t.uniforms),a=Object.assign({},t.parameters);let l=t.discard;if(this.hasSourceTextures||this.hasTargetTexture){s.transform_elementID=this.elementIDBuffer;for(const e in this.samplerTextureMap)o[e]=n[this.samplerTextureMap[e]];this._setSourceTextureParameters();const t=function({sourceTextureMap:t,targetTextureVarying:e,targetTexture:n}){const i={};let r,s;e&&(({width:r,height:s}=n),i[`${yE}${e}`]=[r,s]);for(const o in t)({width:r,height:s}=t[o]),i[`${yE}${o}`]=[r,s];return i}({sourceTextureMap:n,targetTextureVarying:this.targetTextureVarying,targetTexture:r});Object.assign(o,t)}return this.hasTargetTexture&&(l=!1,a.viewport=[0,0,i.width,i.height]),{attributes:s,framebuffer:i,uniforms:o,discard:l,parameters:a}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(t={}){this._setupTextures(t)}getTargetTexture(){const{targetTexture:t}=this.bindings[this.currentIndex];return t}getData({packed:t=!1}={}){const{framebuffer:e}=this.bindings[this.currentIndex],n=NS(e);if(!t)return n;const i=n.constructor,r=function(t){switch(t){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return eE(!1),null}}(this.targetTextureType),s=new i(n.length*r/4);let o=0;for(let a=0;a0,this._updateBindings({sourceBuffers:e,sourceTextures:n,targetTexture:r}),"elementCount"in t&&this._updateElementIDBuffer(t.elementCount)}_updateElementIDBuffer(t){if("number"!=typeof t||this.elementCount>=t)return;const e=new Float32Array(t);e.forEach((t,e,n)=>{n[e]=e}),this.elementIDBuffer?this.elementIDBuffer.setData({data:e}):this.elementIDBuffer=new fS(this.gl,{data:e,accessor:{size:1}}),this.elementCount=t}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this._swapTexture){const{sourceTextures:t,targetTexture:e}=this._swapTextures(this.bindings[this.currentIndex]),n=this._getNextIndex();this.bindings[n]=this._updateBinding(this.bindings[n],{sourceTextures:t,targetTexture:e})}}_updateBinding(t,e){const{sourceBuffers:n,sourceTextures:i,targetTexture:r}=e;if(t||(t={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(t.sourceTextures,i),Object.assign(t.sourceBuffers,n),r){t.targetTexture=r;const{width:e,height:n}=r,{framebuffer:i}=t;i?(i.update({attachments:{36064:r},resizeAttachments:!1}),i.resize({width:e,height:n})):t.framebuffer=new BS(this.gl,{id:"transform-framebuffer",width:e,height:n,attachments:{36064:r}})}return t}_setSourceTextureParameters(){const t=this.currentIndex,{sourceTextures:e}=this.bindings[t];for(const n in e)e[n].setParameters(_E)}_swapTextures(t){if(!this._swapTexture)return null;const e=Object.assign({},t.sourceTextures);return e[this._swapTexture]=t.targetTexture,{sourceTextures:e,targetTexture:t.sourceTextures[this._swapTexture]}}_createNewTexture(t){const e=DS(t,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=e,e}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(t={}){const{sourceTextures:e,targetTexture:n}=this.bindings[this.currentIndex],{vs:i,uniforms:r,targetTextureType:s,inject:o,samplerTextureMap:a}=function({vs:t,sourceTextureMap:e,targetTextureVarying:n,targetTexture:i}){let r=Object.keys(e).length,s=null;const o={};let a=t,l={};if(r>0||n){const t=a.split("\n"),c=t.slice();if(t.forEach((t,i,a)=>{if(r>0){const n=function(t,e){const n={},i=function(t){return rE(t,["attribute","in"])}(t);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const e=`// ${t} => Replaced by Transform with a sampler`,{samplerName:i,sizeName:o,uniformDeclerations:a}=function(t){const e=`transform_uSampler_${t}`,n=`${yE}${t}`;return{samplerName:e,sizeName:n,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${n};`}}(s),l=` ${r} ${s} = transform_getInput(${i}, ${o}).${function(t){switch(t){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return eE(!1),null}}(r)};\n`;return n[i]=s,{updatedLine:e,inject:{"vs:#decl":a,"vs:#main-start":l},samplerTextureMap:n}}return null}(t,e);if(n){const{updatedLine:t,inject:e}=n;c[i]=t,l=mE([l,e]),Object.assign(o,n.samplerTextureMap),r--}}n&&!s&&(s=function(t,e){const n=rE(t,["varying","out"]);return n&&n.name===e?n.type:null}(t,n))}),n){Xx(i);const t=`${yE}${n}`;l=mE([l,{"vs:#decl":`uniform vec2 ${t};\n`,"vs:#main-start":` vec2 ${vE} = transform_getPos(${t});\n gl_Position = vec4(${vE}, 0, 1.);\n`}])}a=c.join("\n")}return{vs:a,targetTextureType:s,inject:l,samplerTextureMap:o}}({vs:t.vs,sourceTextureMap:e,targetTextureVarying:this.targetTextureVarying,targetTexture:n}),l=mE([t.inject||{},o]);return this.targetTextureType=s,this.samplerTextureMap=a,{vs:i,fs:t._fs||sE({version:lE(i),input:this.targetTextureVarying,inputType:s,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[bE].concat(t.modules||[]):t.modules,uniforms:r,inject:l}}}const xE={number:{validate:(t,e)=>Number.isFinite(t)&&(!("max"in e)||t<=e.max)&&(!("min"in e)||t>=e.min)},array:{validate:(t,e)=>Array.isArray(t)||ArrayBuffer.isView(t)}};function SE(t){let e=CE(t);return"object"===e?t?"type"in t?Object.assign({},t,xE[t.type]):"value"in t?(e=CE(t.value),Object.assign({type:e},t,xE[e])):{type:"object",value:t}:{type:"object",value:null}:Object.assign({type:e,value:t},xE[e])}function CE(t){return Array.isArray(t)||ArrayBuffer.isView(t)?"array":typeof t}class EE{constructor({name:t,vs:e,fs:n,dependencies:i=[],uniforms:r,getUniforms:s,deprecations:o=[],defines:a={},inject:l={},vertexShader:c,fragmentShader:u}){eE("string"==typeof t),this.name=t,this.vs=e||c,this.fs=n||u,this.getModuleUniforms=s,this.dependencies=i,this.deprecations=this._parseDeprecationDefinitions(o),this.defines=a,this.injections=function(t){const e={vs:{},fs:{}};for(const n in t){let i=t[n];const r=n.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][n]=i}return e}(l),r&&(this.uniforms=function(t){const e={};for(const n in t){const i=SE(t[n]);e[n]=i}return e}(r))}getModuleSource(t){let e;switch(t){case"vs":e=this.vs||"";break;case"fs":e=this.fs||"";break;default:eE(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${e}// END MODULE_${this.name}\n\n`}getUniforms(t,e){return this.getModuleUniforms?this.getModuleUniforms(t,e):this.uniforms?this._defaultGetUniforms(t):{}}getDefines(){return this.defines}checkDeprecations(t,e){this.deprecations.forEach(n=>{n.regex.test(t)&&(n.deprecated?e.deprecated(n.old,n.new)():e.removed(n.old,n.new)())})}_parseDeprecationDefinitions(t){return t.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),t}_defaultGetUniforms(t={}){const e={},n=this.uniforms;for(const i in n){const r=n[i];i in t&&!r.private?(r.validate&&eE(r.validate(t[i],r),`${this.name}: invalid ${i}`),e[i]=t[i]):e[i]=r.value}return e}}function OE(t){return function(t){const e={},n={};return TE({modules:t,level:0,moduleMap:e,moduleDepth:n}),Object.keys(n).sort((t,e)=>n[e]-n[t]).map(t=>e[t])}(kE(t))}function TE({modules:t,level:e,moduleMap:n,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of t)n[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof EE||(eE("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),eE(t.name,"shader module has no name"),(t=new EE(t)).dependencies=kE(t.dependencies)),t))}const PE={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},AE={};function ME(t,e){return t.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":t.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":t.match(/AMD/i)||e.match(/AMD/i)||t.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(PE).forEach(t=>{AE[t]=t});const IE={};function DE(t,e,n={}){const i=PE[e];if(eE(i,e),!function(t={}){const e="undefined"!=typeof window&&window.navigator||{},n=t.userAgent||e.userAgent||"",i=-1!==n.indexOf("MSIE "),r=-1!==n.indexOf("Trident/");return i||r}(n))return!0;if(e in IE)return IE[e];const r=`#extension GL_${i[0]} : ${n.behavior||"enable"}\nvoid main(void) {}`,s=t.createShader(35633);t.shaderSource(s,r),t.compileShader(s);const o=t.getShaderParameter(s,35713);return t.deleteShader(s),IE[e]=o,o}function RE(t,e){return(e=Array.isArray(e)?e:[e]).every(e=>function(t,e){const n=PE[e];eE(n,e);const i=function(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&2===t._version)}(t)&&n[1]||n[0],r="string"==typeof i?Boolean(t.getExtension(i)):i;return eE(!1===r||!0===r),r}(t,e))}function NE(t){return new RegExp(`\\b${t}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const LE=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],jE=[...LE,[NE("attribute"),"in $1"],[NE("varying"),"out $1"]],FE=[...LE,[NE("varying"),"in $1"]],BE=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],VE=[...BE,[NE("in"),"attribute $1"],[NE("out"),"varying $1"]],zE=[...BE,[NE("in"),"varying $1"]],UE="gl_FragColor",HE=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,$E=/void\s+main\s*\([^)]*\)\s*\{\n?/;function GE(t,e){for(const[n,i]of e)t=t.replace(n,i);return t}const WE=`\n\n${hE}\n\n`,qE={[cE]:"vertex",fs:"fragment"};function XE(t,{id:e,source:n,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){eE("string"==typeof n,"shader source must be a string");const h=i===cE,d=n.split("\n");let p=100,f="",g=n;0===d[0].indexOf("#version ")?(p=300,f=d[0],g=d.slice(1).join("\n")):f=`#version ${p}`;const m={};r.forEach(t=>{Object.assign(m,t.getDefines())}),Object.assign(m,s);let b=c?`${f}\n${function({id:t,source:e,type:n}){return t&&"string"==typeof t&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${t}_${qE[n]}\n\n`:""}({id:e,source:n,type:i})}\n${function({type:t}){return`\n#define SHADER_TYPE_${qE[t].toUpperCase()}\n`}({type:i})}\n${function(t){switch(function(t){const e=t.getExtension("WEBGL_debug_renderer_info"),n=t.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=t.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:ME(n,i),vendor:n,renderer:i,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(t)}\n${function(t,e,n){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return RE(t,AE.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),RE(t,AE.GLSL_DERIVATIVES)&&DE(t,AE.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),RE(t,AE.GLSL_FRAG_DATA)&&DE(t,AE.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),RE(t,AE.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(t)}\n${function(t={}){let e=0,n="";for(const i in t){0===e&&(n+="\n// APPLICATION DEFINES\n"),e++;const r=t[i];(r||Number.isFinite(r))&&(n+=`#define ${i.toUpperCase()} ${t[i]}\n`)}return 0===e&&(n+="\n"),n}(m)}\n${h?"":"precision highp float;\n\n"}\n`:`${f}\n`;const y=function(t){const e={vs:{},fs:{}};return t.forEach(t=>{let n;"string"!=typeof t?(n=t,t=n.hook):n={},t=t.trim();const[i,r]=t.split(":"),s=t.replace(/\(.+/,"");e[i][s]=Object.assign(n,{signature:r})}),e}(o),v={},_={},w={};for(const x in a){const t="string"==typeof a[x]?{injection:a[x],order:0}:a[x],e=x.match(/^(v|f)s:(#)?([\w-]+)$/);if(e){const n=e[3];e[2]?"decl"===n?_[x]=[t]:w[x]=[t]:v[x]=[t]}else w[x]=[t]}for(const x of r){u&&x.checkDeprecations(g,u),b+=x.getModuleSource(i,p);const t=x.injections[i];for(const e in t){const n=e.match(/^(v|f)s:#([\w-]+)$/);if(n){const i="decl"===n[2]?_:w;i[e]=i[e]||[],i[e].push(t[e])}else v[e]=v[e]||[],v[e].push(t[e])}}return b+=WE,b=gE(b,i,_),b+=function(t,e){let n="";for(const i in t){const r=t[i];if(n+=`void ${r.signature} {\n`,r.header&&(n+=` ${r.header}`),e[i]){const t=e[i];t.sort((t,e)=>t.order-e.order);for(const e of t)n+=` ${e.injection}\n`}r.footer&&(n+=` ${r.footer}`),n+="}\n"}return n}(y[i],v),b+=g,b=gE(b,i,w),b=function(t,e,n){switch(e){case 300:return n?GE(t,jE):function(t){const e=(t=GE(t,FE)).match(HE);if(e){const n=e[1];t=t.replace(new RegExp(`\\b${UE}\\b`,"g"),n)}else{const e="fragmentColor";t=t.replace($E,t=>`out vec4 ${e};\n${t}`).replace(new RegExp(`\\b${UE}\\b`,"g"),e)}return t}(t);case 100:return n?GE(t,VE):function(t){const e=(t=GE(t,zE)).match(HE);if(e){const n=e[1];t=t.replace(HE,"").replace(new RegExp(`\\b${n}\\b`,"g"),UE)}return t}(t);default:throw new Error(`unknown GLSL version ${e}`)}}(b,l?100:p,h),b}function YE(t){return function(e){const n={};for(const i of t){const t=i.getUniforms(e,n);Object.assign(n,t)}return n}}const KE={5126:uO.bind(null,"uniform1fv",nO,1,hO),35664:uO.bind(null,"uniform2fv",nO,2,hO),35665:uO.bind(null,"uniform3fv",nO,3,hO),35666:uO.bind(null,"uniform4fv",nO,4,hO),5124:uO.bind(null,"uniform1iv",iO,1,hO),35667:uO.bind(null,"uniform2iv",iO,2,hO),35668:uO.bind(null,"uniform3iv",iO,3,hO),35669:uO.bind(null,"uniform4iv",iO,4,hO),35670:uO.bind(null,"uniform1iv",iO,1,hO),35671:uO.bind(null,"uniform2iv",iO,2,hO),35672:uO.bind(null,"uniform3iv",iO,3,hO),35673:uO.bind(null,"uniform4iv",iO,4,hO),35674:uO.bind(null,"uniformMatrix2fv",nO,4,dO),35675:uO.bind(null,"uniformMatrix3fv",nO,9,dO),35676:uO.bind(null,"uniformMatrix4fv",nO,16,dO),35678:cO,35680:cO,5125:uO.bind(null,"uniform1uiv",rO,1,hO),36294:uO.bind(null,"uniform2uiv",rO,2,hO),36295:uO.bind(null,"uniform3uiv",rO,3,hO),36296:uO.bind(null,"uniform4uiv",rO,4,hO),35685:uO.bind(null,"uniformMatrix2x3fv",nO,6,dO),35686:uO.bind(null,"uniformMatrix2x4fv",nO,8,dO),35687:uO.bind(null,"uniformMatrix3x2fv",nO,6,dO),35688:uO.bind(null,"uniformMatrix3x4fv",nO,12,dO),35689:uO.bind(null,"uniformMatrix4x2fv",nO,8,dO),35690:uO.bind(null,"uniformMatrix4x3fv",nO,12,dO),35678:cO,35680:cO,35679:cO,35682:cO,36289:cO,36292:cO,36293:cO,36298:cO,36299:cO,36300:cO,36303:cO,36306:cO,36307:cO,36308:cO,36311:cO},QE={},ZE={},JE={},tO=[0];function eO(t,e,n,i){1===e&&"boolean"==typeof t&&(t=t?1:0),Number.isFinite(t)&&(tO[0]=t,t=tO);const r=t.length;if(r%e&&Yw.warn(`Uniform size should be multiples of ${e}`,t)(),t instanceof n)return t;let s=i[r];s||(s=new n(r),i[r]=s);for(let o=0;o{const r=t!==i;return r&&(e.uniform1i(n,i),t=i),r}}function uO(t,e,n,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,n),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{Xx(s===u,"Uniform length cannot change.");for(let t=0;t{const s=String(i+e);return gO(s,r-s.length)+n+t})}(e);return{shaderName:l,errors:fO(s,c),warnings:fO(o,c)}}(t,this.source,this.shaderType,this.id);throw Yw.error(`GLSL compilation errors in ${e}\n${n}`)(),Yw.warn(`GLSL compilation warnings in ${e}\n${i}`)(),new Error(`GLSL compilation errors in ${e}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class bO extends mO{get[Symbol.toStringTag](){return"VertexShader"}constructor(t,e){"string"==typeof e&&(e={source:e}),super(t,Object.assign({},e,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class yO extends mO{get[Symbol.toStringTag](){return"FragmentShader"}constructor(t,e){"string"==typeof e&&(e={source:e}),super(t,Object.assign({},e,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const vO=5126,_O=5124,wO=5125,xO={[vO]:[vO,1,"float"],35664:[vO,2,"vec2"],35665:[vO,3,"vec3"],35666:[vO,4,"vec4"],[_O]:[_O,1,"int"],35667:[_O,2,"ivec2"],35668:[_O,3,"ivec3"],35669:[_O,4,"ivec4"],[wO]:[wO,1,"uint"],36294:[wO,2,"uvec2"],36295:[wO,3,"uvec3"],36296:[wO,4,"uvec4"],35670:[vO,1,"bool"],35671:[vO,2,"bvec2"],35672:[vO,3,"bvec3"],35673:[vO,4,"bvec4"],35674:[vO,8,"mat2"],35685:[vO,8,"mat2x3"],35686:[vO,8,"mat2x4"],35675:[vO,12,"mat3"],35687:[vO,12,"mat3x2"],35688:[vO,12,"mat3x4"],35676:[vO,16,"mat4"],35689:[vO,16,"mat4x2"],35690:[vO,16,"mat4x3"]};function SO(t){const e=xO[t];if(!e)return null;const[n,i]=e;return{type:n,components:i}}function CO(t,e){switch(t){case 5120:case 5121:case 5122:case 5123:t=vO}for(const n in xO){const[i,r,s]=xO[n];if(i===t&&r===e)return{glType:n,name:s}}return null}class EO{constructor(t){this.id=t.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(t),this._readVaryingsFromProgram(t)}getAttributeInfo(t){const e=Number(t);return Number.isFinite(e)?this.attributeInfosByLocation[e]:this.attributeInfosByName[t]||null}getAttributeLocation(t){const e=this.getAttributeInfo(t);return e?e.location:-1}getAttributeAccessor(t){const e=this.getAttributeInfo(t);return e?e.accessor:null}getVaryingInfo(t){const e=Number(t);return Number.isFinite(e)?this.varyingInfos[e]:this.varyingInfosByName[t]||null}getVaryingIndex(t){const e=this.getVaryingInfo();return e?e.location:-1}getVaryingAccessor(t){const e=this.getVaryingInfo();return e?e.accessor:null}_readAttributesFromProgram(t){const{gl:e}=t,n=e.getProgramParameter(t.handle,35721);for(let i=0;i=0&&this._addAttribute(o,n,r,s)}this.attributeInfos.sort((t,e)=>t.location-e.location)}_readVaryingsFromProgram(t){const{gl:e}=t;if(!Zw(e))return;const n=e.getProgramParameter(t.handle,35971);for(let i=0;it.location-e.location)}_addAttribute(t,e,n,i){const{type:r,components:s}=SO(n),o={type:r,size:i*s};this._inferProperties(t,e,o);const a={location:t,name:e,accessor:new uS(o)};this.attributeInfos.push(a),this.attributeInfosByLocation[t]=a,this.attributeInfosByName[a.name]=a}_inferProperties(t,e,n){/instance/i.test(e)&&(n.divisor=1)}_addVarying(t,e,n,i){const{type:r,components:s}=SO(n),o={location:t,name:e,accessor:new uS({type:r,size:i*s})};this.varyingInfos.push(o),this.varyingInfosByName[o.name]=o}}const OO=35981,TO=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class kO extends iS{get[Symbol.toStringTag](){return"Program"}constructor(t,e={}){super(t,e),this.stubRemovedMethods("Program","v6.0",TO),this._isCached=!1,this.initialize(e),Object.seal(this),this._setId(e.id)}initialize(t={}){const{hash:e,vs:n,fs:i,varyings:r,bufferMode:s=OO}=t;return this.hash=e||"",this.vs="string"==typeof n?new bO(this.gl,{id:`${t.id}-vs`,source:n}):n,this.fs="string"==typeof i?new yO(this.gl,{id:`${t.id}-fs`,source:i}):i,Xx(this.vs instanceof bO),Xx(this.fs instanceof yO),this.uniforms={},this._textureUniforms={},r&&r.length>0&&(tx(this.gl),this.varyings=r,this.gl2.transformFeedbackVaryings(this.handle,r,s)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new EO(this),this.setProps(t)}delete(t={}){return this._isCached?this:super.delete(t)}setProps(t){return"uniforms"in t&&this.setUniforms(t.uniforms),this}draw({logPriority:t,drawMode:e=4,vertexCount:n,offset:i=0,start:r,end:s,isIndexed:o=!1,indexType:a=5123,instanceCount:l=0,isInstanced:c=l>0,vertexArray:u=null,transformFeedback:h,framebuffer:d,parameters:p={},uniforms:f,samplers:g}){if((f||g)&&(Yw.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(f||{})),Yw.priority>=t){const i=d?d.id:"default",r=`mode=${Kx(this.gl,e)} verts=${n} instances=${l} indexType=${Kx(this.gl,a)} isInstanced=${c} isIndexed=${o} Framebuffer=${i}`;Yw.log(t,r)()}return Xx(u),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===n||c&&0===l||(u.bindForDraw(n,l,()=>{if(void 0!==d&&(p=Object.assign({},p,{framebuffer:d})),h){const t=function(t){switch(t){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return Xx(!1),0}}(e);h.begin(t)}this._bindTextures(),Ix(this.gl,p,()=>{o&&c?this.gl2.drawElementsInstanced(e,n,a,i,l):o&&Zw(this.gl)&&!isNaN(r)&&!isNaN(s)?this.gl2.drawRangeElements(e,r,s,n,a,i):o?this.gl.drawElements(e,n,a,i):c?this.gl2.drawArraysInstanced(e,i,n,l):this.gl.drawArrays(e,i,n)}),h&&h.end()}),0))}setUniforms(t={}){Yw.priority>=2&&function(t,e,n){for(const i in t){const r=t[i];if((!n||Boolean(n[i]))&&!aO(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(t,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const e in t){const n=t[e],i=this._uniformSetters[e];if(i){let t=n,r=!1;if(t instanceof BS&&(t=t.texture),t instanceof _S)if(r=this.uniforms[e]!==n,r){void 0===i.textureIndex&&(i.textureIndex=this._textureIndexCounter++);const n=t,{textureIndex:r}=i;n.bind(r),t=r,this._textureUniforms[e]=n}else t=i.textureIndex;else this._textureUniforms[e]&&delete this._textureUniforms[e];(i(t)||r)&&lO(this.uniforms,e,n)}}return this}_areTexturesRenderable(){let t=!0;for(const e in this._textureUniforms){const n=this._textureUniforms[e];n.update(),t=t&&n.loaded}return t}_bindTextures(){for(const t in this._textureUniforms)this._textureUniforms[t].bind(this._uniformSetters[t].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(t){const e=this.gl.getAttachedShaders(t),n={};for(const i of e)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:n.vs=new bO({handle:i});break;case 35632:n.fs=new yO({handle:i})}return n}_getParameter(t){return this.gl.getProgramParameter(this.handle,t)}_setId(t){if(!t){const t=this._getName();this.id=Zx(t)}}_getName(){let t=this.vs.getName()||this.fs.getName();return t=t.replace(/shader/i,""),t=t?`${t}-program`:"program",t}_compileAndLink(){const{gl:t}=this;if(t.attachShader(this.handle,this.vs.handle),t.attachShader(this.handle,this.fs.handle),Yw.time(4,`linkProgram for ${this._getName()}`)(),t.linkProgram(this.handle),Yw.timeEnd(4,`linkProgram for ${this._getName()}`)(),t.debug||Yw.level>0){if(!t.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${t.getProgramInfoLog(this.handle)}`);if(t.validateProgram(this.handle),!t.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${t.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:t}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let e=0;e1)for(let e=0;ee.name===t.name)||this._defaultModules.push(t),this.stateHash++}removeDefaultModule(t){const e="string"==typeof t?t:t.name;this._defaultModules=this._defaultModules.filter(t=>t.name!==e),this.stateHash++}addShaderHook(t,e){e&&(t=Object.assign(e,{hook:t})),this._hookFunctions.push(t),this.stateHash++}get(t={}){const{vs:e="",fs:n="",defines:i={},inject:r={},varyings:s=[],bufferMode:o=35981,transpileToGLSL100:a=!1}=t,l=this._getModuleList(t.modules),c=this._getHash(e),u=this._getHash(n),h=l.map(t=>this._getHash(t.name)).sort(),d=s.map(t=>this._getHash(t)),p=Object.keys(i).sort(),f=Object.keys(r).sort(),g=[],m=[];for(const y of p)g.push(this._getHash(y)),g.push(this._getHash(i[y]));for(const y of f)m.push(this._getHash(y)),m.push(this._getHash(r[y]));const b=`${c}/${u}D${g.join("/")}M${h.join("/")}I${m.join("/")}V${d.join("/")}H${this.stateHash}B${o}${a?"T":""}`;if(!this._programCache[b]){const t=function(t,e){const{vs:n,fs:i}=e,r=OE(e.modules||[]);return{gl:t,vs:XE(t,Object.assign({},e,{source:n,type:cE,modules:r})),fs:XE(t,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:YE(r)}}(this.gl,{vs:e,fs:n,modules:l,inject:r,defines:i,hookFunctions:this._hookFunctions,transpileToGLSL100:a});this._programCache[b]=new kO(this.gl,{hash:b,vs:t.vs,fs:t.fs,varyings:s,bufferMode:o}),this._getUniforms[b]=t.getUniforms||(t=>{}),this._useCounts[b]=0}return this._useCounts[b]++,this._programCache[b]}getUniforms(t){return this._getUniforms[t.hash]||null}release(t){const e=t.hash;this._useCounts[e]--,0===this._useCounts[e]&&(this._programCache[e].delete(),delete this._programCache[e],delete this._getUniforms[e],delete this._useCounts[e])}_getHash(t){return void 0===this._hashes[t]&&(this._hashes[t]=this._hashCounter++),this._hashes[t]}_getModuleList(t=[]){const e=new Array(this._defaultModules.length+t.length),n={};let i=0;for(let r=0,s=this._defaultModules.length;r-1)return"Edge";const n=-1!==e.indexOf("MSIE "),i=-1!==e.indexOf("Trident/");return n||i?"IE":Dw.chrome?"Chrome":Dw.safari?"Safari":Dw.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(t){return t.luma=t.luma||{},t.luma.defaultVertexArray||(t.luma.defaultVertexArray=new MO(t,{handle:null,isDefaultArray:!0})),t.luma.defaultVertexArray}static getMaxAttributes(t){return MO.MAX_ATTRIBUTES=MO.MAX_ATTRIBUTES||t.getParameter(34921),MO.MAX_ATTRIBUTES}static setConstant(t,e,n){switch(n.constructor){case Float32Array:MO._setConstantFloatArray(t,e,n);break;case Int32Array:MO._setConstantIntArray(t,e,n);break;case Uint32Array:MO._setConstantUintArray(t,e,n);break;default:Xx(!1)}}constructor(t,e={}){super(t,Object.assign({},e,{id:e.id||e.program&&e.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=e.isDefaultArray||!1,this.gl2=t,this.initialize(e),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return MO.getMaxAttributes(this.gl)}initialize(t={}){return this.setProps(t)}setProps(t){return this}setElementBuffer(t=null,e={}){return Xx(!t||34963===t.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,t?t.handle:null)}),this}setBuffer(t,e,n){if(34963===e.target)return this.setElementBuffer(e,n);const{size:i,type:r,stride:s,offset:o,normalized:a,integer:l,divisor:c}=n,{gl:u,gl2:h}=this;return t=Number(t),this.bind(()=>{u.bindBuffer(34962,e.handle),l?(Xx(Zw(u)),h.vertexAttribIPointer(t,i,r,s,o)):u.vertexAttribPointer(t,i,r,a,s,o),u.enableVertexAttribArray(t),h.vertexAttribDivisor(t,c||0)}),this}enable(t,e=!0){return!e&&0===t&&!MO.isSupported(this.gl,{constantAttributeZero:!0})||(t=Number(t),this.bind(()=>e?this.gl.enableVertexAttribArray(t):this.gl.disableVertexAttribArray(t))),this}getConstantBuffer(t,e){const n=this._normalizeConstantArrayValue(e),i=n.byteLength*t,r=n.length*t;let s=!this.buffer;if(this.buffer=this.buffer||new fS(this.gl,i),s=s||this.buffer.reallocate(i),s=s||!this._compareConstantArrayValues(n,this.bufferValue),s){const t=function(t,e){return new t(function(t){return(!AO||AO.byteLength{switch(t){case 34373:return this.gl.getVertexAttribOffset(e,t);default:return this.gl.getVertexAttrib(e,t)}})}}const IO=/^(.+)__LOCATION_([0-9]+)$/,DO=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class RO{constructor(t,e={}){this.id=e.id||e.program&&e.program.id,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new MO(t),eS(this,"VertexArray","v6.0",DO),this.initialize(e),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(t={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(t)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:t}=this.vertexArrayObject;return this.values=new Array(t).fill(null),this.accessors=new Array(t).fill(null),this.unused={},this.drawParams=null,this}setProps(t){return"program"in t&&(this.configuration=t.program&&t.program.configuration),"configuration"in t&&(this.configuration=t.configuration),"attributes"in t&&this.setAttributes(t.attributes),"elements"in t&&this.setElementBuffer(t.elements),"bindOnUse"in t&&(t=t.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(t){return Object.assign(this.attributes,t),this.vertexArrayObject.bind(()=>{for(const e in t)this._setAttribute(e,t[e]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(t=null,e={}){return this.elements=t,this.elementsAccessor=e,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(t,e),this}setBuffer(t,e,n={}){if(34963===e.target)return this.setElementBuffer(e,n);const{location:i,accessor:r}=this._resolveLocationAndAccessor(t,e,e.accessor,n);return i>=0&&(this.values[i]=e,this.accessors[i]=r,this.clearDrawParams(),this.vertexArrayObject.setBuffer(i,e,r)),this}setConstant(t,e,n={}){const{location:i,accessor:r}=this._resolveLocationAndAccessor(t,e,Object.assign({size:e.length},n));return i>=0&&(e=this.vertexArrayObject._normalizeConstantArrayValue(e),this.values[i]=e,this.accessors[i]=r,this.clearDrawParams(),this.vertexArrayObject.enable(i,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new fS(this.gl,{accessor:{size:4}});for(let t=0;t{this.elements&&this.setElementBuffer(this.elements);for(let t=0;t{this._setConstantAttributes(t,e),i=n()}),i}_resolveLocationAndAccessor(t,e,n,i){const r={location:-1,accessor:null},{location:s,name:o}=this._getAttributeIndex(t);if(!Number.isFinite(s)||s<0)return this.unused[t]=e,Yw.once(3,()=>`unused value ${t} in ${this.id}`)(),r;const a=this._getAttributeInfo(o||s);if(!a)return r;const l=uS.resolve(a.accessor,this.accessors[s]||{},n,i),{size:c,type:u}=l;return Xx(Number.isFinite(c)&&Number.isFinite(u)),{location:s,accessor:l}}_getAttributeInfo(t){return this.configuration&&this.configuration.getAttributeInfo(t)}_getAttributeIndex(t){const e=Number(t);if(Number.isFinite(e))return{location:e};const n=IO.exec(t),i=n?n[1]:t,r=n?Number(n[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(i)+r,name:i}:{location:-1}}_setAttribute(t,e){if(e instanceof fS)this.setBuffer(t,e);else if(Array.isArray(e)&&e.length&&e[0]instanceof fS)this.setBuffer(t,e[0],e[1]);else if(ArrayBuffer.isView(e)||Array.isArray(e))this.setConstant(t,e);else{if(!(e.buffer instanceof fS))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(t,e.buffer,e)}}_setConstantAttributes(t,e){const n=Math.max(0|t,0|e);let i=this.values[0];ArrayBuffer.isView(i)&&this._setConstantAttributeZero(i,n);for(let r=1;r0;if(t.isInstanced=t.isInstanced||s,n instanceof fS){const e=n;if(s){const n=e.getVertexCount(i);t.instanceCount=Math.min(t.instanceCount,n)}else{const n=e.getVertexCount(i);t.vertexCount=Math.min(t.vertexCount,n)}}}setElements(t=null,e={}){return Yw.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(t,e)}}function NO(t,e={}){const{isInteger:n=!1}=e;if(Array.isArray(t)||ArrayBuffer.isView(t))return function(t,e){const{maxElts:n=16,size:i=1}=e;let r="[";for(let s=0;s0&&(r+=","+(s%i==0?" ":"")),r+=NO(t[s],e);return`${r}${t.length>n?"...":"]"}`}(t,e);if(!Number.isFinite(t))return String(t);if(Math.abs(t)<1e-16)return n?"0":"0.";if(n||Math.abs(t)>100&&Math.abs(t)<1e4)return t.toFixed(0);const i=t.toPrecision(2);return i.indexOf(".0")===i.length-2?i.slice(0,-1):i}function LO(t,e,n,i){const{gl:r}=t;if(!e)return{[i]:"null","Format ":"N/A"};let s,o,a,l="NOT PROVIDED",c=1,u=0,h=0;if(n&&(l=n.type,c=n.size,l=String(l).replace("Array",""),s=-1!==l.indexOf("nt")),e instanceof fS){const t=e,{data:d,changed:p}=t.getDebugData();let f;return o=p?"*":"",a=d,h=t.byteLength,u=h/d.BYTES_PER_ELEMENT/c,n?f=`${n.divisor>0?"I ":"P "} ${u} (x${c}=${h} bytes ${Kx(r,l)})`:(s=!0,f=`${h} bytes`),{[i]:`${o}${NO(a,{size:c,isInteger:s})}`,"Format ":f}}return a=e,c=e.length,l=String(e.constructor.name).replace("Array",""),s=-1!==l.indexOf("nt"),{[i]:`${NO(a,{size:c,isInteger:s})} (constant)`,"Format ":`${c}x${l} (constant)`}}function jO(t,e){const{type:n,size:i}=e,r=CO(n,i);return r?`${t} (${r.name})`:t}function FO({header:t="Uniforms",program:e,uniforms:n,undefinedOnly:i=!1}){Xx(e);const r=".*Matrix",s={},o=Object.keys(e._uniformSetters).sort();let a=0;for(const u of o)!u.match(".*_.*")&&!u.match(r)&&BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;for(const u of o)u.match(r)&&BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;for(const u of o)s[u]||BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;let l=0;const c={};if(!i)for(const u in n){const e=n[u];s[u]||(l++,c[u]={Type:`NOT USED: ${e}`,[t]:NO(e)})}return{table:s,count:a,unusedTable:c,unusedCount:l}}function BO({table:t,header:e,uniforms:n,uniformName:i,undefinedOnly:r}){const s=n[i],o=function(t){return null!=t}(s);return!(r&&o||(t[i]={[e]:o?NO(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function VO(t){const{type:e,size:n}=t.accessor,i=CO(e,n);return i?`${i.name} ${t.name}`:t.name}const zO={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function UO(t,e){const{attributeMap:n=zO}=e||{};return n&&n[t]||t}function HO(t,e){let n;switch(t){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":n="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":n="vectors"}switch(n){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}Xx(Number.isFinite(e.size),`attribute ${t} needs size`)}const $O=()=>{},GO={};class WO{constructor(t,e={}){const{id:n=Zx("model")}=e;Xx(Qw(t)),this.id=n,this.gl=t,this.id=e.id||Zx("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(e)}initialize(t){this.props={},this.programManager=t.programManager||PO.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:e=null,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c}=t;this.programProps={program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(t.moduleSettings))),this.drawMode=void 0!==t.drawMode?t.drawMode:4,this.vertexCount=t.vertexCount||0,this.geometryBuffers={},this.isInstanced=t.isInstanced||t.instanced||t.instanceCount>0,this._setModelProps(t),this.geometry={},Xx(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(t){this._setModelProps(t)}delete(){for(const t in this._attributes)this._attributes[t]!==this.attributes[t]&&this._attributes[t].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(t){const{program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c}=t;this.programProps={program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(t){return this.drawMode=t,this}setVertexCount(t){return Xx(Number.isFinite(t)),this.vertexCount=t,this}setInstanceCount(t){return Xx(Number.isFinite(t)),this.instanceCount=t,this}setGeometry(t){return this.drawMode=t.drawMode,this.vertexCount=t.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(t,e,n){const i={};let r=e.indices;for(const s in e.attributes){const n=e.attributes[s],o=UO(s,undefined);if("indices"===s)r=n;else if(n.constant)i[o]=n.value;else{const e=n.value,r=vt({},n);delete r.value,i[o]=[new fS(t,e),r],HO(s,r)}}if(r){const e=r.value||r;Xx(e instanceof Uint16Array||e instanceof Uint32Array,'attribute array for "indices" must be of integer type');const n={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new fS(t,{data:e,target:34963}),n]}return i}(this.gl,t),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(t={}){if(tS(t))return this;const e={};for(const n in t){const i=t[n];e[n]=i.getValue?i.getValue():i}return this.vertexArray.setAttributes(e),this}setUniforms(t={}){return Object.assign(this.uniforms,t),this}getModuleUniforms(t){this._checkProgram();const e=this.programManager.getUniforms(this.program);return e?e(t):{}}updateModuleSettings(t){const e=this.getModuleUniforms(t||{});return this.setUniforms(e)}clear(t){return TS(this.program.gl,t),this}draw(t={}){this._checkProgram();const{moduleSettings:e=null,framebuffer:n,uniforms:i={},attributes:r={},transformFeedback:s=this.transformFeedback,parameters:o={},vertexArray:a=this.vertexArray}=t;let l;this.setAttributes(r),this.updateModuleSettings(e),this.setUniforms(i),Yw.priority>=2&&(l=this._logDrawCallStart(2));const c=this.vertexArray.getDrawParams(),{isIndexed:u=c.isIndexed,indexType:h=c.indexType,indexOffset:d=c.indexOffset,vertexArrayInstanced:p=c.isInstanced}=this.props;p&&!this.isInstanced&&Yw.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:f,instanceCount:g}=this,{onBeforeRender:m=$O,onAfterRender:b=$O}=this.props;m(),this.program.setUniforms(this.uniforms);const y=this.program.draw(Object.assign(GO,t,{logPriority:l,uniforms:null,framebuffer:n,parameters:o,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:a,transformFeedback:s,isIndexed:u,indexType:h,isInstanced:f,instanceCount:g,offset:u?d:0}));return b(),Yw.priority>=2&&this._logDrawCallEnd(l,a,n),y}transform(t={}){const{discard:e=!0,feedbackBuffers:n,unbindModels:i=[]}=t;let{parameters:r}=t;n&&this._setFeedbackBuffers(n),e&&(r=Object.assign({},r,{35977:e})),i.forEach(t=>t.vertexArray.unbindBuffers());try{this.draw(Object.assign({},t,{parameters:r}))}finally{i.forEach(t=>t.vertexArray.bindBuffers())}return this}render(t={}){return Yw.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(t).draw()}_setModelProps(t){Object.assign(this.props,t),"uniforms"in t&&this.setUniforms(t.uniforms),"pickable"in t&&(this.pickable=t.pickable),"instanceCount"in t&&(this.instanceCount=t.instanceCount),"geometry"in t&&this.setGeometry(t.geometry),"attributes"in t&&this.setAttributes(t.attributes),"_feedbackBuffers"in t&&this._setFeedbackBuffers(t._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:e,fs:n,modules:i,inject:r,defines:s,varyings:o,bufferMode:a,transpileToGLSL100:l}=this.programProps;t=this.programManager.get({vs:e,fs:n,modules:i,inject:r,defines:s,varyings:o,bufferMode:a,transpileToGLSL100:l}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}Xx(t instanceof kO,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new RO(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const t in this.geometryBuffers){const e=this.geometryBuffers[t][0]||this.geometryBuffers[t];e instanceof fS&&e.delete()}}_setAnimationProps(t){this.animated&&Xx(t,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(t={}){if(tS(t))return this;const{gl:e}=this.program;return this.transformFeedback=this.transformFeedback||new oE(e,{program:this.program}),this.transformFeedback.setBuffers(t),this}_logDrawCallStart(t){const e=t>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:Yw.level<=2})(),t}_logDrawCallEnd(t,e,n,i){if(void 0===t)return;const r=function({vertexArray:t,header:e="Attributes"}){if(!t.configuration)return{};const n={};t.elements&&(n.ELEMENT_ARRAY_BUFFER=LO(t,t.elements,null,e));const i=t.values;for(const r in i){const s=t._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=t.accessors[s.location];a&&(o=`${r}: ${jO(s.name,a)}`),n[o]=LO(t,i[r],a,e)}}return n}({vertexArray:e,header:`${this.id} attributes`,attributes:this._attributes}),{table:s,unusedTable:o,unusedCount:a}=FO({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,n)}),{table:l,count:c}=FO({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,n),undefinedOnly:!0});c>0&&Yw.log("MISSING UNIFORMS",Object.keys(l))(),a>0&&Yw.log("UNUSED UNIFORMS",Object.keys(o))();const u=function(t){const e={},n=`Accessors for ${t.id}`;for(const i of t.attributeInfos)i&&(e[`in ${VO(i)}`]={[n]:JSON.stringify(i.accessor)});for(const i of t.varyingInfos)i&&(e[`out ${VO(i)}`]={[n]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);Yw.table(t,r)(),Yw.table(t,s)(),Yw.table(t+1,u)(),i&&i.log({logLevel:2,message:`Rendered to ${i.id}`}),Yw.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class qO{static isSupported(t){return Zw(t)}constructor(t,e={}){this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(e),Object.seal(this)}delete(){const{model:t,bufferTransform:e,textureTransform:n}=this;t&&t.delete(),e&&e.delete(),n&&n.delete()}run(t={}){const{clearRenderTarget:e=!0}=t,n=this._updateDrawOptions(t);e&&n.framebuffer&&n.framebuffer.clear({color:!0}),this.model.transform(n)}swap(){let t=!1;const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e)t=t||n.swap();Xx(t,"Nothing to swap")}getBuffer(t=null){return this.bufferTransform&&this.bufferTransform.getBuffer(t)}getData(t={}){const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e){const e=n.getData(t);if(e)return e}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(t={}){"elementCount"in t&&this.model.setVertexCount(t.elementCount);const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e)n.update(t)}_initialize(t={}){const{gl:e}=this;this._buildResourceTransforms(e,t),t=this._updateModelProps(t),this.model=new WO(e,Object.assign({},t,{fs:t.fs||sE({version:lE(t.vs)}),id:t.id||"transform-model",drawMode:t.drawMode||0,vertexCount:t.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(t){let e=Object.assign({},t);const n=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of n)e=i.updateModelProps(e);return e}_buildResourceTransforms(t,e){(function(t){return!(tS(t.feedbackBuffers)&&tS(t.feedbackMap)&&!(t.varyings&&t.varyings.length>0))})(e)&&(this.bufferTransform=new aE(t,e)),function(t){return!(tS(t._sourceTextures)&&!t._targetTexture&&!t._targetTextureVarying)}(e)&&(this.textureTransform=new wE(t,e)),Xx(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(t){let e=Object.assign({},t);const n=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of n)e=Object.assign(e,i.getDrawOptions(e));return e}}function XO(){}const YO={onStart:XO,onUpdate:XO,onInterrupt:XO,onEnd:XO};class KO{constructor(t){this._inProgress=!1,this._handle=null,this.timeline=t,this.settings={}}get inProgress(){return this._inProgress}start(t){this.cancel(),this.settings=vt(vt({},YO),t),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:t,settings:e}=this;this._handle=t.addChannel({delay:t.getTime(),duration:e.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const QO={interpolation:class{constructor({gl:t,attribute:e,timeline:n}){this.gl=t,this.type="interpolation",this.transition=new KO(n),this.attribute=e,this.attributeInTransition=new ZC(t,e.settings),this.currentStartIndices=e.startIndices,this.currentLength=0,this.transform=function(t,e){const n=XC(e.size);return new qO(t,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:n},varyings:["vCurrent"]})}(t,e);const i={byteLength:0,usage:35050};this.buffers=[new fS(t,i),new fS(t,i)]}get inProgress(){return this.transition.inProgress}start(t,e){if(t.duration<=0)return void this.transition.cancel();const{buffers:n,attribute:i}=this;YC(n);const r={numInstances:e,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(const s of n)QC(vt({buffer:s},r));this.currentStartIndices=i.startIndices,this.currentLength=KC(i,e),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aFrom:n[0],aTo:qC(0,i)},feedbackBuffers:{vCurrent:n[1]}})}update(){const t=this.transition.update();if(t){const{time:t,settings:{duration:e,easing:n}}=this.transition,i=n(t/e);this.transform.run({uniforms:{time:i}})}return t}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:t,attribute:e,timeline:n}){this.gl=t,this.type="spring",this.transition=new KO(n),this.attribute=e,this.attributeInTransition=new ZC(t,zn(vt({},e.settings),{normalized:!1})),this.currentStartIndices=e.startIndices,this.currentLength=0,this.texture=function(t){return new xS(t,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(t),this.framebuffer=function(t,e){return new BS(t,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(t,this.texture),this.transform=function(t,e,n){const i=XC(e.size);return new qO(t,{framebuffer:n,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(t,e,this.framebuffer);const i={byteLength:0,usage:35050};this.buffers=[new fS(t,i),new fS(t,i),new fS(t,i)]}get inProgress(){return this.transition.inProgress}start(t,e){const{buffers:n,attribute:i}=this,r={numInstances:e,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(const s of n)QC(vt({buffer:s},r));this.currentStartIndices=i.startIndices,this.currentLength=KC(i,e),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aTo:qC(0,i)}})}update(){const{buffers:t,transform:e,framebuffer:n,transition:i}=this;return!!i.update()&&(e.update({sourceBuffers:{aPrev:t[0],aCur:t[1]},feedbackBuffers:{vNext:t[2]}}),e.run({framebuffer:n,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:i.settings.stiffness,damping:i.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),YC(t),this.attributeInTransition.update({buffer:t[1],value:this.attribute.value}),NS(n)[0]>0||i.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class ZO{constructor(t,{id:e,timeline:n}){this.id=e,this.gl=t,this.timeline=n,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=qO.isSupported(t)}finalize(){for(const t in this.transitions)this._removeTransition(t)}update({attributes:t,transitions:e,numInstances:n}){this.numInstances=n||1;for(const i in t){const n=t[i],r=n.getTransitionSetting(e);!r||this._updateAttribute(i,n,r)}for(const i in this.transitions){const n=t[i];(!n||!n.getTransitionSetting(e))&&this._removeTransition(i)}}hasAttribute(t){const e=this.transitions[t];return e&&e.inProgress}getAttributes(){const t={};for(const e in this.transitions){const n=this.transitions[e];n.inProgress&&(t[e]=n.attributeInTransition)}return t}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const e in this.transitions)this.transitions[e].update()&&(this.needsRedraw=!0);const t=this.needsRedraw;return this.needsRedraw=!1,t}_removeTransition(t){this.transitions[t].cancel(),delete this.transitions[t]}_updateAttribute(t,e,n){const i=this.transitions[t];let r=!i||i.type!==n.type;if(r){if(!this.isSupported)return void Gw.warn("WebGL2 not supported by this browser. Transition for ".concat(t," is disabled."))();i&&this._removeTransition(t);const s=QO[n.type];s?this.transitions[t]=new s({attribute:e,timeline:this.timeline,gl:this.gl}):(Gw.error("unsupported transition type '".concat(n.type,"'"))(),r=!1)}(r||e.needsRedraw())&&(this.needsRedraw=!0,this.transitions[t].start(n,this.numInstances))}}const JO="attributeManager.invalidate";class tT{constructor(t,{id:e="attribute-manager",stats:n,timeline:i}={}){this.id=e,this.gl=t,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=n,this.attributeTransitionManager=new ZO(t,{id:"".concat(e,"-transitions"),timeline:i}),Object.seal(this)}finalize(){for(const t in this.attributes)this.attributes[t].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(t={clearRedrawFlags:!1}){const e=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!t.clearRedrawFlags,e&&this.id}setNeedsRedraw(t=!0){return this.needsRedraw=!0,this}add(t,e){this._add(t,e)}addInstanced(t,e){this._add(t,e,{instanced:1})}remove(t){for(let e=0;e{t[n]||(t[n]=[]),t[n].push(e)});this.updateTriggers=t}_invalidateTrigger(t,e){const{attributes:n,updateTriggers:i}=this,r=i[t];return r&&r.forEach(t=>{const i=n[t];i&&i.setNeedsUpdate(i.id,e)}),r}_updateAttribute(t){const{attribute:e,numInstances:n}=t;tE("attribute.updateStart",e),e.allocate(n)&&tE("attribute.allocate",e,n),e.updateBuffer(t)&&(this.needsRedraw=!0,tE("attribute.updateEnd",e,n))}}function eT(t,e,n,i,r){const s=e-t;return(n-e)*r+-s*i+s+e}function nT(t,e){if(Array.isArray(t)){let n=0;for(let i=0;i0}add(t,e,n,i){const{transitions:r}=this;if(r.has(t)){const n=r.get(t),{value:i=n.settings.fromValue}=n;e=i,this.remove(t)}if(!(i=WC(i)))return;const s=iT[i.type];if(!s)return void Gw.error("unsupported transition type '".concat(i.type,"'"))();const o=new s(this.timeline);o.start(zn(vt({},i),{fromValue:e,toValue:n})),r.set(t,o)}remove(t){const{transitions:e}=this;e.has(t)&&(e.get(t).cancel(),e.delete(t))}update(){const t={};for(const[e,n]of this.transitions)n.update(),t[e]=n.value,n.inProgress||this.remove(e);return t}clear(){for(const t of this.transitions.keys())this.remove(t)}}const sT={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:oT}=sT;function aT(t,e){if(!t.transitions)return null;const n={},i=dT(t);for(const r in t.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&cT(t[r],e[r],s)&&(n[r]=!0)}return n}function lT({newProps:t,oldProps:e,ignoreProps:n={},propTypes:i={},triggerName:r="props"}={}){if(e===t)return null;if("object"!=typeof t||null===t||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(t))if(!(s in n)){if(!(s in e))return"".concat(r,".").concat(s," added");const n=cT(t[s],e[s],i[s]);if(n)return"".concat(r,".").concat(s," ").concat(n)}for(const s of Object.keys(e))if(!(s in n)){if(!(s in t))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(t,s)){const n=cT(t[s],e[s],i[s]);if(n)return"".concat(r,".").concat(s," ").concat(n)}}return null}function cT(t,e,n){let i=n&&n.equal;return i&&!i(t,e,n)||!i&&(i=t&&e&&t.equals,i&&!i.call(t,e))?"changed deeply":i||e===t?null:"changed shallowly"}function uT(t,e){if(null===e)return"oldProps is null, initial diff";const n=e.extensions,{extensions:i}=t;if(i===n)return!1;if(i.length!==n.length)return!0;for(let r=0;r{for(const r in i)if(!pT(i[r],n[r])){e=t(i),n=i;break}return e}}function gT(t,e){if(!e)return t;const n=vt(vt({},t),e);if("defines"in e&&(n.defines=vt(vt({},t.defines),e.defines)),"modules"in e&&(n.modules=(t.modules||[]).concat(e.modules),e.modules.some(t=>"project64"===t.name))){const t=n.modules.findIndex(t=>"project32"===t.name);t>=0&&n.modules.splice(t,1)}if("inject"in e)if(t.inject){const i=vt({},t.inject);for(const t in e.inject)i[t]=(i[t]||"")+e.inject[t];n.inject=i}else n.inject=e.inject;return n}function mT(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],d=e[10],p=e[11],f=e[12],g=e[13],m=e[14],b=e[15],y=n*a-i*o,v=n*l-r*o,_=n*c-s*o,w=i*l-r*a,x=i*c-s*a,S=r*c-s*l,C=u*g-h*f,E=u*m-d*f,O=u*b-p*f,T=h*m-d*g,k=h*b-p*g,P=d*b-p*m,A=y*P-v*k+_*T+w*O-x*E+S*C;return A?(t[0]=(a*P-l*k+c*T)*(A=1/A),t[1]=(r*k-i*P-s*T)*A,t[2]=(g*S-m*x+b*w)*A,t[3]=(d*x-h*S-p*w)*A,t[4]=(l*O-o*P-c*E)*A,t[5]=(n*P-r*O+s*E)*A,t[6]=(m*_-f*S-b*v)*A,t[7]=(u*S-d*_+p*v)*A,t[8]=(o*k-a*O+c*C)*A,t[9]=(i*O-n*k-s*C)*A,t[10]=(f*x-g*_+b*y)*A,t[11]=(h*_-u*x-p*y)*A,t[12]=(a*E-o*T-l*C)*A,t[13]=(n*T-i*E+r*C)*A,t[14]=(g*v-f*w-m*y)*A,t[15]=(u*w-h*v+d*y)*A,t):null}function bT(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=e[9],p=e[10],f=e[11],g=e[12],m=e[13],b=e[14],y=e[15],v=n[0],_=n[1],w=n[2],x=n[3];return t[0]=v*i+_*a+w*h+x*g,t[1]=v*r+_*l+w*d+x*m,t[2]=v*s+_*c+w*p+x*b,t[3]=v*o+_*u+w*f+x*y,t[4]=(v=n[4])*i+(_=n[5])*a+(w=n[6])*h+(x=n[7])*g,t[5]=v*r+_*l+w*d+x*m,t[6]=v*s+_*c+w*p+x*b,t[7]=v*o+_*u+w*f+x*y,t[8]=(v=n[8])*i+(_=n[9])*a+(w=n[10])*h+(x=n[11])*g,t[9]=v*r+_*l+w*d+x*m,t[10]=v*s+_*c+w*p+x*b,t[11]=v*o+_*u+w*f+x*y,t[12]=(v=n[12])*i+(_=n[13])*a+(w=n[14])*h+(x=n[15])*g,t[13]=v*r+_*l+w*d+x*m,t[14]=v*s+_*c+w*p+x*b,t[15]=v*o+_*u+w*f+x*y,t}function yT(t,e,n){var i,r,s,o,a,l,c,u,h,d,p,f,g=n[0],m=n[1],b=n[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*b+e[12],t[13]=e[1]*g+e[5]*m+e[9]*b+e[13],t[14]=e[2]*g+e[6]*m+e[10]*b+e[14],t[15]=e[3]*g+e[7]*m+e[11]*b+e[15]):(r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=e[9],p=e[10],f=e[11],t[0]=i=e[0],t[1]=r,t[2]=s,t[3]=o,t[4]=a,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=d,t[10]=p,t[11]=f,t[12]=i*g+a*m+h*b+e[12],t[13]=r*g+l*m+d*b+e[13],t[14]=s*g+c*m+p*b+e[14],t[15]=o*g+u*m+f*b+e[15]),t}function vT(t,e,n){var i=n[0],r=n[1],s=n[2];return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=e[3]*i,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function _T(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],d=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=s*r+c*i,t[5]=o*r+u*i,t[6]=a*r+h*i,t[7]=l*r+d*i,t[8]=c*r-s*i,t[9]=u*r-o*i,t[10]=h*r-a*i,t[11]=d*r-l*i,t}function wT(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],d=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*r+c*i,t[1]=o*r+u*i,t[2]=a*r+h*i,t[3]=l*r+d*i,t[4]=c*r-s*i,t[5]=u*r-o*i,t[6]=h*r-a*i,t[7]=d*r-l*i,t}function xT(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t}function ST(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3];return t[0]=n[0]*i+n[4]*r+n[8]*s+n[12]*o,t[1]=n[1]*i+n[5]*r+n[9]*s+n[13]*o,t[2]=n[2]*i+n[6]*r+n[10]*s+n[14]*o,t[3]=n[3]*i+n[7]*r+n[11]*s+n[15]*o,t}function CT(t,e,n){var i=e[0],r=e[1],s=e[2],o=n[0],a=n[1],l=n[2],c=n[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,d=c*s+o*r-a*i,p=-o*i-a*r-l*s;return t[0]=u*c+p*-o+h*-l-d*-a,t[1]=h*c+p*-a+d*-o-u*-l,t[2]=d*c+p*-l+u*-a-h*-o,t[3]=e[3],t}!function(){var t=new hC(4);hC!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();const ET=[0,0,0,0],OT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],TT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],kT=[0,0,0],PT=[0,0,0],AT=fT(function({viewport:t,devicePixelRatio:e,coordinateSystem:n,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(t,e,n){const{viewMatrixUncentered:i,projectionMatrix:r}=t;let{viewMatrix:s,viewProjectionMatrix:o}=t,a=ET,l=ET,c=t.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:d}=MT(t,e,n);return d&&(l=t.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=ST([],l,o),s=i||s,o=bT([],r,s),o=bT([],o,OT)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(t,n,i),u=t.getDistanceScales(),h=[t.width*e,t.height*e],d=t.projectionMatrix.transform([0,0,-t.focalDistance,1])[3]||1,p={project_uCoordinateSystem:n,project_uProjectionMode:t.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:d,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:kT,project_uScale:t.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const e=t.getDistanceScales(c);switch(n){case Ww.METER_OFFSETS:p.project_uCommonUnitsPerWorldUnit=e.unitsPerMeter,p.project_uCommonUnitsPerWorldUnit2=e.unitsPerMeter2;break;case Ww.LNGLAT:case Ww.LNGLAT_OFFSETS:p.project_uCommonUnitsPerWorldUnit=e.unitsPerDegree,p.project_uCommonUnitsPerWorldUnit2=e.unitsPerDegree2;break;case Ww.CARTESIAN:p.project_uCommonUnitsPerWorldUnit=[1,1,e.unitsPerMeter[2]],p.project_uCommonUnitsPerWorldUnit2=[0,0,e.unitsPerMeter2[2]]}}return p});function MT(t,e,n=PT){let i,r=n,s=!0;switch(i=e===Ww.LNGLAT_OFFSETS||e===Ww.METER_OFFSETS?n:t.isGeospatial?[Math.fround(t.longitude),Math.fround(t.latitude),0]:null,t.projectionMode){case qw.WEB_MERCATOR:(e===Ww.LNGLAT||e===Ww.CARTESIAN)&&(s=!1);break;case qw.WEB_MERCATOR_AUTO_OFFSET:e===Ww.LNGLAT?r=i:e===Ww.CARTESIAN&&(r=[Math.fround(t.center[0]),Math.fround(t.center[1]),0],i=t.unprojectPosition(r),r[0]-=n[0],r[1]-=n[1],r[2]-=n[2]);break;case qw.IDENTITY:r=t.position.map(Math.fround);break;case qw.GLOBE:s=!1,i=null;break;default:s=!1}return r[2]=r[2]||0,{geospatialOrigin:i,shaderCoordinateOrigin:r,offsetMode:s}}class IT extends rC{get ELEMENTS(){return iC(!1),0}get RANK(){return iC(!1),0}toString(){let t="[";if(XS.printRowMajor){t+="row-major:";for(let e=0;e2*Math.PI)throw Error("radians");const s=n*Math.tan(t/2),o=s*e;return(new VT).ortho({left:-o,right:o,bottom:-s,top:s,near:i,far:r})}perspective({fovy:t,fov:e=45*Math.PI/180,aspect:n=1,near:i=.1,far:r=500}={}){if((t=t||e)>2*Math.PI)throw Error("radians");return function(t,e,n,i,r){var s,o=1/Math.tan(e/2);t[0]=o/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=r&&r!==1/0?(t[10]=(r+i)*(s=1/(i-r)),t[14]=2*r*i*s):(t[10]=-1,t[14]=-2*i)}(this,t,n,i,r),this.check()}determinant(){return function(t){var e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],o=t[5],a=t[6],l=t[7],c=t[8],u=t[9],h=t[10],d=t[11],p=t[12],f=t[13],g=t[14],m=t[15];return(e*o-n*s)*(h*m-d*g)-(e*a-i*s)*(u*m-d*f)+(e*l-r*s)*(u*g-h*f)+(n*a-i*o)*(c*m-d*p)-(n*l-r*o)*(c*g-h*p)+(i*l-r*a)*(c*f-u*p)}(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],e=null){const n=this.getScale(e||[-0,-0,-0]),i=1/n[0],r=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*r,t[2]=this[2]*s,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*r,t[6]=this[6]*s,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*r,t[10]=this[10]*s,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t=[-0,-0,-0,-0,-0,-0,-0,-0,-0],e=null){const n=this.getScale(e||[-0,-0,-0]),i=1/n[0],r=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*r,t[2]=this[2]*s,t[3]=this[4]*i,t[4]=this[5]*r,t[5]=this[6]*s,t[6]=this[8]*i,t[7]=this[9]*r,t[8]=this[10]*s,t}transpose(){return function(t,e){if(t===e){var n=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=s,t[11]=e[14],t[12]=r,t[13]=o,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15]}(this,this),this.check()}invert(){return mT(this,this),this.check()}multiplyLeft(t){return bT(this,t,this),this.check()}multiplyRight(t){return bT(this,this,t),this.check()}rotateX(t){return _T(this,this,t),this.check()}rotateY(t){return function(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],d=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*r-c*i,t[1]=o*r-u*i,t[2]=a*r-h*i,t[3]=l*r-d*i,t[8]=s*i+c*r,t[9]=o*i+u*r,t[10]=a*i+h*r,t[11]=l*i+d*r}(this,this,t),this.check()}rotateZ(t){return wT(this,this,t),this.check()}rotateXYZ([t,e,n]){return this.rotateX(t).rotateY(e).rotateZ(n)}rotateAxis(t,e){return function(t,e,n,i){var r,s,o,a,l,c,u,h,d,p,f,g,m,b,y,v,_,w,x,S,C,E,O,T,k=i[0],P=i[1],A=i[2],M=Math.hypot(k,P,A);Mn?n:t}const $T=Math.log2||function(t){return Math.log(t)*Math.LOG2E};function GT(t,e){if(!t)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const WT=Math.PI,qT=WT/4,XT=WT/180,KT=180/WT,QT=4003e4,ZT=85.051129;function JT([t,e]){return GT(Number.isFinite(t)),GT(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(t*XT+WT)/(2*WT),512*(WT+Math.log(Math.tan(qT+e*XT*.5)))/(2*WT)]}function tk([t,e]){const n=t/512*(2*WT)-WT,i=2*(Math.atan(Math.exp(e/512*(2*WT)-WT))-qT);return[n*KT,i*KT]}function ek({latitude:t,longitude:e,highPrecision:n=!1}){GT(Number.isFinite(t)&&Number.isFinite(e));const i={},r=Math.cos(t*XT),s=512/360,o=s/r,a=512/QT/r;if(i.unitsPerMeter=[a,a,a],i.metersPerUnit=[1/a,1/a,1/a],i.unitsPerDegree=[s,o,a],i.degreesPerUnit=[1/s,1/o,1/a],n){const e=XT*Math.tan(t*XT)/r,n=512/QT*e,l=n/o*a;i.unitsPerDegree2=[0,s*e/2,n],i.unitsPerMeter2=[l,0,l]}return i}function nk(t,e){const[n,i,r]=t,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=ek({longitude:n,latitude:i,highPrecision:!0}),u=JT(t);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=tk(u),d=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],d]:h}function ik(t){return 2*Math.atan(.5/t)*KT}function rk(t,e){const[n,i,r=0]=t;return GT(Number.isFinite(n)&&Number.isFinite(i)&&Number.isFinite(r)),zT(e,[n,i,r,1])}function sk(t,e,n=0){const[i,r,s]=t;if(GT(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return zT(e,[i,r,s,1]);const o=zT(e,[i,r,0,1]),a=zT(e,[i,r,1,1]),l=o[2],c=a[2];return NT([],o,a,l===c?0:((n||0)-l)/(c-l))}const ok=Math.PI/180;function ak(t,e,n){const{pixelUnprojectionMatrix:i}=t,r=zT(i,[e,0,1,1]),s=zT(i,[e,t.height,1,1]),o=tk(NT([],r,s,(n*t.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return o[2]=n,o}const lk=Math.PI/180,ck=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],uk=[0,0,0],hk={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let dk=(()=>{class t{constructor(t={}){const{id:e=null,x:n=0,y:i=0,width:r=1,height:s=1}=t;this.id=e||this.constructor.displayName||"viewport",this.x=n,this.y=i,this.width=r||1,this.height=s||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?qw.WEB_MERCATOR:qw.WEB_MERCATOR_AUTO_OFFSET:qw.IDENTITY}equals(e){return e instanceof t&&(this===e||e.width===this.width&&e.height===this.height&&e.scale===this.scale&&nC(e.projectionMatrix,this.projectionMatrix)&&nC(e.viewMatrix,this.viewMatrix))}project(t,{topLeft:e=!0}={}){const n=rk(this.projectPosition(t),this.pixelProjectionMatrix),[i,r]=n,s=e?r:this.height-r;return 2===t.length?[i,s]:[i,s,n[2]]}unproject(t,{topLeft:e=!0,targetZ:n}={}){const[i,r,s]=t,o=sk([i,e?r:this.height-r,s],this.pixelUnprojectionMatrix,n&&n*this.distanceScales.unitsPerMeter[2]),[a,l,c]=this.unprojectPosition(o);return Number.isFinite(s)?[a,l,c]:Number.isFinite(n)?[a,l,n]:[a,l]}projectPosition(t){const[e,n]=this.projectFlat(t);return[e,n,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[e,n]=this.unprojectFlat(t);return[e,n,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?JT(t):t}unprojectFlat(t){return this.isGeospatial?tk(t):t}getBounds(t={}){const e={targetZ:t.z||0},n=this.unproject([0,0],e),i=this.unproject([this.width,0],e),r=this.unproject([0,this.height],e),s=this.unproject([this.width,this.height],e);return[Math.min(n[0],i[0],r[0],s[0]),Math.min(n[1],i[1],r[1],s[1]),Math.max(n[0],i[0],r[0],s[0]),Math.max(n[1],i[1],r[1],s[1])]}getDistanceScales(t=null){return t?ek({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:e,width:n=1,height:i=1}){return t{class t extends dk{constructor(t={}){const{latitude:e=0,longitude:n=0,zoom:i=11,pitch:r=0,bearing:s=0,nearZMultiplier:o=.1,farZMultiplier:a=1.01,orthographic:l=!1,repeat:c=!1,worldOffset:u=0}=t;let{width:h,height:d,altitude:p=1.5}=t;const f=Math.pow(2,i);h=h||1,d=d||1,p=Math.max(.75,p);const{fov:g,aspect:m,focalDistance:b,near:y,far:v}=function({width:t,height:e,fovy:n=ik(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(n=ik(i));const a=.5*n*XT,l=function(t){return.5/Math.tan(.5*t*XT)}(n),c=r*XT,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:t/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:h,height:d,pitch:r,altitude:p,nearZMultiplier:o,farZMultiplier:a});let _=function({height:t,pitch:e,bearing:n,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return yT(o,o,[0,0,-i]),_T(o,o,-e*XT),wT(o,o,n*XT),vT(o,o,[r/=t,r,r]),s&&yT(o,o,function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}([],s)),o}({height:d,pitch:r,bearing:s,scale:f,altitude:p});u&&(_=(new VT).translate([512*u,0,0]).multiplyLeft(_)),super(zn(vt({},t),{width:h,height:d,viewMatrix:_,longitude:n,latitude:e,zoom:i,orthographic:l,fovyRadians:g,aspect:m,focalDistance:b,near:y,far:v})),this.latitude=e,this.longitude=n,this.zoom=i,this.pitch=r,this.bearing=s,this.altitude=p,this.orthographic=l,this._subViewports=c?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const e=this.getBounds(),n=Math.floor((e[0]+180)/360),i=Math.ceil((e[2]-180)/360);for(let r=n;r<=i;r++){const e=r?new t(zn(vt({},this),{worldOffset:r})):this;this._subViewports.push(e)}}return this._subViewports}addMetersToLngLat(t,e){return nk(t,e)}panByPosition(t,e){const n=sk(e,this.pixelUnprojectionMatrix),i=DT([],this.projectFlat(t),RT([],n)),r=DT([],this.center,i),[s,o]=this.unprojectFlat(r);return{longitude:s,latitude:o}}getBounds(t={}){const e=function(t,e=0){const{width:n,height:i,unproject:r}=t,s={targetZ:e},o=r([0,i],s),a=r([n,i],s);let l,c;return(t.fovy?.5*t.fovy*ok:Math.atan(.5/t.altitude))>(90-t.pitch)*ok-.01?(l=ak(t,0,e),c=ak(t,n,e)):(l=r([0,0],s),c=r([n,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(e[0][0],e[1][0],e[2][0],e[3][0]),Math.min(e[0][1],e[1][1],e[2][1],e[3][1]),Math.max(e[0][0],e[1][0],e[2][0],e[3][0]),Math.max(e[0][1],e[1][1],e[2][1],e[3][1])]}fitBounds(e,n={}){const{width:i,height:r}=this,{longitude:s,latitude:o,zoom:a}=function({width:t,height:e,bounds:n,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=n;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:GT(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=JT([a,HT(u,-ZT,ZT)]),d=JT([c,HT(l,-ZT,ZT)]),p=[Math.max(Math.abs(d[0]-h[0]),i),Math.max(Math.abs(d[1]-h[1]),i)],f=[t-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];GT(f[0]>0&&f[1]>0);const g=f[0]/p[0],m=f[1]/p[1],b=tk([(d[0]+h[0])/2+(s.right-s.left)/2/g,(d[1]+h[1])/2+(s.bottom-s.top)/2/m]),y=Math.min(r,$T(Math.abs(Math.min(g,m))));return GT(Number.isFinite(y)),{longitude:b[0],latitude:b[1],zoom:y}}(vt({width:i,height:r,bounds:e},n));return new t({width:i,height:r,longitude:s,latitude:o,zoom:a})}}return t.displayName="WebMercatorViewport",t})();function fk(t,e,n=!1){const i=e.projectPosition(t);if(n&&e instanceof pk){const[n,r,s=0]=t,o=e.getDistanceScales([n,r]);i[2]=s*o.unitsPerMeter[2]}return i}function gk(t,{viewport:e,modelMatrix:n,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=t;switch(n&&([o,a,l]=ST([],[o,a,l,1],n)),i){case Ww.LNGLAT:return fk([o,a,l],e,s);case Ww.LNGLAT_OFFSETS:return fk([o+r[0],a+r[1],l+(r[2]||0)],e,s);case Ww.METER_OFFSETS:return fk(nk(r,[o,a,l]),e,s);case Ww.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const mk={10241:9987,10240:9729,10242:33071,10243:33071},bk={},yk={boolean:{validate:(t,e)=>!0,equal:(t,e,n)=>Boolean(t)===Boolean(e)},number:{validate:(t,e)=>Number.isFinite(t)&&(!("max"in e)||t<=e.max)&&(!("min"in e)||t>=e.min)},color:{validate:(t,e)=>e.optional&&!t||xk(t)&&(3===t.length||4===t.length),equal:(t,e,n)=>vk(t,e)},accessor:{validate(t,e){const n=Sk(t);return"function"===n||n===Sk(e.value)},equal:(t,e,n)=>"function"==typeof e||vk(t,e)},array:{validate:(t,e)=>e.optional&&!t||xk(t),equal:(t,e,n)=>n.compare?vk(t,e):t===e},function:{validate:(t,e)=>e.optional&&!t||"function"==typeof t,equal:(t,e,n)=>!n.compare||t===e},data:{transform:(t,e,n)=>{const{dataTransform:i}=n?n.props:{};return i&&t?i(t):t}},image:{transform:(t,e,n)=>function(t,e){const n=t.context&&t.context.gl;if(!n||!e)return null;if(e instanceof xS)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new xS(n,zn(vt({},e),{parameters:vt(vt(vt({},mk),i),t.props.textureParameters)}));return bk[r.id]=!0,r}(n,t),release:t=>{!function(t){!t||!(t instanceof xS)||bk[t.id]&&(t.delete(),delete bk[t.id])}(t)}}};function vk(t,e){if(t===e)return!0;if(!xk(t)||!xk(e))return!1;const n=t.length;if(n!==e.length)return!1;for(let i=0;i{},this.oldProps=jk,this.oldAsyncProps=null}finalize(){for(const t in this.asyncProps){const e=this.asyncProps[t];e.type&&e.type.release&&e.type.release(e.resolvedValue,e.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const t in this.asyncProps)Object.defineProperty(this.oldAsyncProps,t,{enumerable:!0,value:this.oldProps[t]})}}hasAsyncProp(t){return t in this.asyncProps}getAsyncProp(t){const e=this.asyncProps[t];return e&&e.resolvedValue}isAsyncPropLoading(t){if(t){const e=this.asyncProps[t];return Boolean(e&&e.pendingLoadCount>0&&e.pendingLoadCount!==e.resolvedLoadCount)}for(const e in this.asyncProps)if(this.isAsyncPropLoading(e))return!0;return!1}reloadAsyncProp(t,e){this._watchPromise(t,Promise.resolve(e))}setAsyncProps(t){const e=t[Nk]||{},n=t[Rk]||t,i=t[Lk]||{};for(const r in e){const t=e[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,t),e[r]=this.getAsyncProp(r)}for(const r in n){const t=n[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,t)}}_updateAsyncProp(t,e){if(this._didAsyncInputValueChange(t,e)){if("string"==typeof e){var n;const i=null===(n=this.layer)||void 0===n?void 0:n.props.fetch;i&&(e=i(e,{propName:t,layer:this.layer}))}if(e instanceof Promise)return void this._watchPromise(t,e);if(FC(e))return void this._resolveAsyncIterable(t,e);this._setPropValue(t,e)}}_didAsyncInputValueChange(t,e){const n=this.asyncProps[t];return e!==n.resolvedValue&&e!==n.lastValue&&(n.lastValue=e,!0)}_setPropValue(t,e){const n=this.asyncProps[t];e=this._postProcessValue(n,e),n.resolvedValue=e,n.pendingLoadCount++,n.resolvedLoadCount=n.pendingLoadCount}_setAsyncPropValue(t,e,n){const i=this.asyncProps[t];i&&n>=i.resolvedLoadCount&&void 0!==e&&(this.freezeAsyncOldProps(),i.resolvedValue=e,i.resolvedLoadCount=n,this.onAsyncPropUpdated(t,e))}_watchPromise(t,e){const n=this.asyncProps[t];n.pendingLoadCount++;const i=n.pendingLoadCount;e.then(e=>{var r;e=this._postProcessValue(n,e),this._setAsyncPropValue(t,e,i);const s=null===(r=this.layer)||void 0===r?void 0:r.props.onDataLoad;"data"===t&&s&&s(e,{propName:t,layer:this.layer})}).catch(e=>{var n;null===(n=this.layer)||void 0===n||n.raiseError(e,"loading ".concat(t," of ").concat(this.layer))})}_resolveAsyncIterable(t,e){var n=this;return PS(function*(){var i;"data"!==t&&n._setPropValue(t,e);const r=n.asyncProps[t];r.pendingLoadCount++;const s=r.pendingLoadCount;let o=[],a=0;var l,c=!0,u=!1;try{for(var h,d,p=Dk(e);c=(h=yield p.next()).done,d=yield h.value,!c;c=!0){const e=d,{dataTransform:i}=n.component?n.component.props:{};o=i?i(e,o):o.concat(e),Object.defineProperty(o,"__diff",{enumerable:!1,value:[{startRow:a,endRow:o.length}]}),a=o.length,n._setAsyncPropValue(t,o,s)}}catch(g){u=!0,l=g}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(u)throw l}}const f=null===(i=n.layer)||void 0===i?void 0:i.props.onDataLoad;f&&f(o,{propName:t,layer:n.layer})})()}_postProcessValue(t,e){const n=t.type;return n&&(n.release&&n.release(t.resolvedValue,n,this.component),n.transform)?n.transform(e,n,this.component):e}_createAsyncPropData(t,e){if(!this.asyncProps[t]){const n=this.component&&this.component.constructor._propTypes;this.asyncProps[t]={type:n&&n[t],lastValue:null,resolvedValue:e,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:Bk,ASYNC_RESOLVED:Vk,ASYNC_DEFAULTS:zk}=sT,Uk={};let Hk=0,$k=(()=>{class t{constructor(){this.props=kk.apply(this,arguments),this.id=this.props.id,this.count=Hk++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:e}=this,n={};for(const i in e[zk])i in e[Vk]?n[i]=e[Vk][i]:i in e[Bk]&&(n[i]=e[Bk][i]);return new this.constructor(vt(vt(vt({},e),n),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new Fk({})}}return t.componentName="Component",t.defaultProps=Uk,t})();class Gk extends Fk{constructor({attributeManager:t,layer:e}){super(e),this.attributeManager=t,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(t){this.component=t}}const Wk=t=>"function"==typeof t,qk=t=>null!==t&&"object"==typeof t,Xk=t=>qk(t)&&t.constructor==={}.constructor,Yk=t=>t&&"function"==typeof t[Symbol.iterator],Kk=t=>t&&"function"==typeof t[Symbol.asyncIterator],Qk=t=>"undefined"!=typeof Response&&t instanceof Response||t&&t.arrayBuffer&&t.text&&t.json,Zk=t=>"undefined"!=typeof Blob&&t instanceof Blob,Jk=t=>(t=>"undefined"!=typeof ReadableStream&&t instanceof ReadableStream||qk(t)&&Wk(t.tee)&&Wk(t.cancel)&&Wk(t.getReader))(t)||(t=>qk(t)&&Wk(t.read)&&Wk(t.pipe)&&(t=>"boolean"==typeof t)(t.readable))(t);function tP(t,e){if(!t)throw new Error(e||"loader assertion failed.")}function eP(t){var e;return!!t&&(Array.isArray(t)&&(t=t[0]),Array.isArray(null===(e=t)||void 0===e?void 0:e.extensions))}function nP(t){var e,n;let i;return tP(t,"null loader"),tP(eP(t),"invalid loader"),Array.isArray(t)&&(i=t[1],t=zn(vt({},t=t[0]),{options:vt(vt({},t.options),i)})),(null!==(e=t)&&void 0!==e&&e.parseTextSync||null!==(n=t)&&void 0!==n&&n.parseText)&&(t.text=!0),t.text||(t.binary=!0),t}const iP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},rP=iP.global||iP.self||iP.window||{},sP="object"!=typeof process||"[object process]"!==String(process)||process.browser,oP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);oP&&parseFloat(oP[1]);const aP={};function lP(t){for(const e in aP)t.startsWith(e)&&(t=t.replace(e,aP[e]));return!t.startsWith("http://")&&!t.startsWith("https://")&&(t=`${t}`),t}const cP=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,uP=/^([-\w.]+\/[-\w.+]+)/;function hP(t){const e=uP.exec(t);return e?e[1]:t}function dP(t){const e=cP.exec(t);return e?e[1]:""}const pP=/\?.*/;function fP(t){if(Qk(t)){const e=mP(t.url||"");return{url:e,type:hP(t.headers.get("content-type")||"")||dP(e)}}return Zk(t)?{url:mP(t.name||""),type:t.type||""}:"string"==typeof t?{url:mP(t),type:dP(t)}:{url:"",type:""}}function gP(t){return Qk(t)?t.headers["content-length"]||-1:Zk(t)?t.size:"string"==typeof t?t.length:t instanceof ArrayBuffer||ArrayBuffer.isView(t)?t.byteLength:-1}function mP(t){return t.replace(pP,"")}function bP(t){return yP.apply(this,arguments)}function yP(){return(yP=PS(function*(t){if(Qk(t))return t;const e={},n=gP(t);n>=0&&(e["content-length"]=String(n));const{url:i,type:r}=fP(t);r&&(e["content-type"]=r);const s=yield SP(t);s&&(e["x-first-bytes"]=s),"string"==typeof t&&(t=(new TextEncoder).encode(t));const o=new Response(t,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function vP(t){return _P.apply(this,arguments)}function _P(){return(_P=PS(function*(t){if(!t.ok){const e=yield wP(t);throw new Error(e)}})).apply(this,arguments)}function wP(t){return xP.apply(this,arguments)}function xP(){return(xP=PS(function*(t){let e=`Failed to fetch resource ${t.url} (${t.status}): `;try{const n=t.headers.get("Content-Type");let i=t.statusText;n.includes("application/json")&&(i+=` ${yield t.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(n){}return e})).apply(this,arguments)}function SP(t){return CP.apply(this,arguments)}function CP(){return(CP=PS(function*(t){if("string"==typeof t)return`data:,${t.slice(0,5)}`;if(t instanceof Blob){const e=t.slice(0,5);return yield new Promise(t=>{const n=new FileReader;n.onload=e=>{var n;return t(null==e||null===(n=e.target)||void 0===n?void 0:n.result)},n.readAsDataURL(e)})}return t instanceof ArrayBuffer?`data:base64,${EP(t.slice(0,5))}`:null})).apply(this,arguments)}function EP(t){let e="";const n=new Uint8Array(t);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const MP={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){kP(this,"console",void 0),this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},IP={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function DP(){rP.loaders=rP.loaders||{};const{loaders:t}=rP;return t._state=t._state||{},t._state}const RP=()=>{const t=DP();return t.globalOptions=t.globalOptions||vt({},MP),t.globalOptions};function NP(t,e,n,i){return n=n||[],function(t,e){jP(t,null,MP,IP,e);for(const n of e)jP(t&&t[n.id]||{},n.id,n.options&&n.options[n.id]||{},n.deprecatedOptions&&n.deprecatedOptions[n.id]||{},e)}(t,n=Array.isArray(n)?n:[n]),function(t,e,n){const i=vt({},t.options||{});return function(t,e){e&&!("baseUri"in t)&&(t.baseUri=e)}(i,n),null===i.log&&(i.log=new AP),BP(i,RP()),BP(i,e),i}(e,t,i)}function LP(t,e){const n=RP(),i=t||n;return"function"==typeof i.fetch?i.fetch:qk(i.fetch)?t=>OP(t,i):null!=e&&e.fetch?null==e?void 0:e.fetch:OP}function jP(t,e,n,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in t){const l=!e&&qk(t[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in n)&&!c&&!u)if(a in i)PP.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const t=FP(a,r);PP.warn(`${s} loader option '${o}${a}' not recognized. ${t}`)()}}}function FP(t,e){const n=t.toLowerCase();let i="";for(const r of e)for(const e in r.options){if(t===e)return`Did you mean '${r.id}.${e}'?`;const s=e.toLowerCase();(n.startsWith(s)||s.startsWith(n))&&(i=i||`Did you mean '${r.id}.${e}'?`)}return i}function BP(t,e){for(const n in e)n in e&&(t[n]=Xk(e[n])&&Xk(t[n])?vt(vt({},t[n]),e[n]):e[n])}function VP(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}function zP(t,e="3.0.12"){return VP(t,"no worker provided"),!(!e||!t.version)}const UP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},HP=UP.global||UP.self||UP.window||{},$P="object"!=typeof process||"[object process]"!==String(process)||process.browser,GP="function"==typeof importScripts,WP="undefined"!=typeof window&&void 0!==window.orientation,qP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),XP=(qP&&parseFloat(qP[1]),new Map);function YP(t){const e=new Blob([t],{type:"application/javascript"});return URL.createObjectURL(e)}function KP(t,e=!0,n){const i=n||new Set;if(t)if(QP(t))i.add(t);else if(QP(t.buffer))i.add(t.buffer);else if(!ArrayBuffer.isView(t)&&e&&"object"==typeof t)for(const r in t)KP(t[r],e,i);return void 0===n?Array.from(i):[]}function QP(t){return!!t&&(t instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&t instanceof MessagePort||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas)}const ZP=()=>{};class JP{static isSupported(){return"undefined"!=typeof Worker}constructor(t){kP(this,"name",void 0),kP(this,"source",void 0),kP(this,"url",void 0),kP(this,"terminated",!1),kP(this,"worker",void 0),kP(this,"onMessage",void 0),kP(this,"onError",void 0),kP(this,"_loadableURL","");const{name:e,source:n,url:i}=t;VP(n||i),this.name=e,this.source=n,this.url=i,this.onMessage=ZP,this.onError=t=>console.log(t),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=ZP,this.onError=ZP,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,e){e=e||KP(t),this.worker.postMessage(t,e)}_getErrorFromErrorEvent(t){let e="Failed to load ";return e+=`worker ${this.name}. `,t.message&&(e+=`${t.message} in `),t.lineno&&(e+=`:${t.lineno}:${t.colno}`),new Error(e)}_createBrowserWorker(){this._loadableURL=function(t){VP(t.source&&!t.url||!t.source&&t.url);let e=XP.get(t.source||t.url);return e||(t.url&&(e=function(t){return t.startsWith("http")?YP(function(t){return`try {\n importScripts('${t}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(t)):t}(t.url),XP.set(t.url,e)),t.source&&(e=YP(t.source),XP.set(t.source,e))),VP(e),e}({source:this.source,url:this.url});const t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},t.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},t.onmessageerror=t=>console.error(t),t}}class tA{constructor(t,e){kP(this,"name",void 0),kP(this,"workerThread",void 0),kP(this,"isRunning",void 0),kP(this,"result",void 0),kP(this,"_resolve",void 0),kP(this,"_reject",void 0),this.name=t,this.workerThread=e,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((t,e)=>{this._resolve=t,this._reject=e})}postMessage(t,e){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:e})}done(t){VP(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){VP(this.isRunning),this.isRunning=!1,this._reject(t)}}class eA{constructor(t){kP(this,"name","unnamed"),kP(this,"source",void 0),kP(this,"url",void 0),kP(this,"maxConcurrency",1),kP(this,"maxMobileConcurrency",1),kP(this,"onDebug",()=>{}),kP(this,"reuseWorkers",!0),kP(this,"props",{}),kP(this,"jobQueue",[]),kP(this,"idleQueue",[]),kP(this,"count",0),kP(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props=vt(vt({},this.props),t),void 0!==t.name&&(this.name=t.name),void 0!==t.maxConcurrency&&(this.maxConcurrency=t.maxConcurrency),void 0!==t.maxMobileConcurrency&&(this.maxMobileConcurrency=t.maxMobileConcurrency),void 0!==t.reuseWorkers&&(this.reuseWorkers=t.reuseWorkers),void 0!==t.onDebug&&(this.onDebug=t.onDebug)}startJob(t,e=((t,e,n)=>t.done(n)),n=((t,e)=>t.error(e))){var i=this;return PS(function*(){const r=new Promise(r=>(i.jobQueue.push({name:t,onMessage:e,onError:n,onStart:r}),i));return i._startQueuedJob(),yield r})()}_startQueuedJob(){var t=this;return PS(function*(){if(!t.jobQueue.length)return;const e=t._getAvailableWorker();if(!e)return;const n=t.jobQueue.shift();if(n){t.onDebug({message:"Starting job",name:n.name,workerThread:e,backlog:t.jobQueue.length});const i=new tA(n.name,e);e.onMessage=t=>n.onMessage(i,t.type,t.payload),e.onError=t=>n.onError(i,t),n.onStart(i);try{yield i.result}finally{t.returnWorkerToQueue(e)}}})()}returnWorkerToQueue(t){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class iA{static isSupported(){return JP.isSupported()}static getWorkerFarm(t={}){return iA._workerFarm=iA._workerFarm||new iA({}),iA._workerFarm.setProps(t),iA._workerFarm}constructor(t){kP(this,"props",void 0),kP(this,"workerPools",new Map),this.props=vt({},nA),this.setProps(t),this.workerPools=new Map}destroy(){for(const t of this.workerPools.values())t.destroy()}setProps(t){this.props=vt(vt({},this.props),t);for(const e of this.workerPools.values())e.setProps(this._getWorkerPoolProps())}getWorkerPool(t){const{name:e,source:n,url:i}=t;let r=this.workerPools.get(e);return r||(r=new eA({name:e,source:n,url:i}),r.setProps(this._getWorkerPoolProps()),this.workerPools.set(e,r)),r}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function rA(t,e={}){const n=`${t.id}-worker.js`;let i=(e[t.id]||{}).workerUrl;if("test"===e._workerType&&(i=`modules/${t.module}/dist/${n}`),!i){let e=t.version;"latest"===e&&(e="latest"),i=`https://unpkg.com/@loaders.gl/${t.module}${e?`@${e}`:""}/dist/${n}`}return VP(i),i}function sA(t,e){return!!iA.isSupported()&&t.worker&&(null==e?void 0:e.worker)}function oA(t,e,n,i,r){return aA.apply(this,arguments)}function aA(){return(aA=PS(function*(t,e,n,i,r){const s=t.id,o=rA(t,n),a=iA.getWorkerFarm(n).getWorkerPool({name:s,url:o});n=JSON.parse(JSON.stringify(n));const l=yield a.startJob("process-on-worker",lA.bind(null,r));return l.postMessage("process",{input:e,options:n}),yield(yield l.result).result})).apply(this,arguments)}function lA(t,e,n,i){return cA.apply(this,arguments)}function cA(){return(cA=PS(function*(t,e,n,i){switch(n){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:s,input:o,options:a}=i;try{const n=yield t(o,a);e.postMessage("done",{id:s,result:n})}catch(r){const t=r instanceof Error?r.message:"unknown error";e.postMessage("error",{id:s,error:t})}break;default:console.warn(`parse-with-worker unknown message ${n}`)}})).apply(this,arguments)}kP(iA,"_workerFarm",void 0);var uA=n(9521);function hA(t){if(function(t){return t&&"object"==typeof t&&t.isBuffer}(t)&&(t=function(t){return uA.toArrayBuffer?uA.toArrayBuffer(t):t}(t)),t instanceof ArrayBuffer)return t;if(ArrayBuffer.isView(t))return 0===t.byteOffset&&t.byteLength===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength);if("string"==typeof t){const e=t;return(new TextEncoder).encode(e).buffer}if(t&&"object"==typeof t&&t._toArrayBuffer)return t._toArrayBuffer();throw new Error("toArrayBuffer")}function dA(...t){const e=t.map(t=>t instanceof ArrayBuffer?new Uint8Array(t):t),n=e.reduce((t,e)=>t+e.byteLength,0),i=new Uint8Array(n);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function pA(t,e,n){const i=void 0!==n?new Uint8Array(t).subarray(e,e+n):new Uint8Array(t).subarray(e);return new Uint8Array(i).buffer}function fA(t){return gA.apply(this,arguments)}function gA(){return(gA=PS(function*(t){const e=[];var n,i=!0,r=!1;try{for(var s,o,a=Dk(t);i=(s=yield a.next()).done,o=yield s.value,!i;i=!0)e.push(o)}catch(l){r=!0,n=l}finally{try{!i&&null!=a.return&&(yield a.return())}finally{if(r)throw n}}return dA(...e)})).apply(this,arguments)}const mA=262144;function bA(t){this.wrapped=t}function yA(t){return new bA(t)}function vA(t){var e,n;function i(e,n){try{var s=t[e](n),o=s.value,a=o instanceof bA;Promise.resolve(a?o.wrapped:o).then(function(t){a?i("return"===e?"return":"next",t):r(s.done?"return":"normal",t)},function(t){i("throw",t)})}catch(l){r("throw",l)}}function r(t,r){switch(t){case"return":e.resolve({value:r,done:!0});break;case"throw":e.reject(r);break;default:e.resolve({value:r,done:!1})}(e=e.next)?i(e.key,e.arg):n=null}this._invoke=function(t,r){return new Promise(function(s,o){var a={key:t,arg:r,resolve:s,reject:o,next:null};n?n=n.next=a:(e=n=a,i(t,r))})},"function"!=typeof t.return&&(this.return=void 0)}function _A(t){return function(){return new vA(t.apply(this,arguments))}}function wA(){return(wA=_A(function*(t,e){const n=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;it&&"object"==typeof t&&t.isBuffer)(t)&&(t=t.buffer),t instanceof ArrayBuffer){const n=t;return e.text&&!e.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(t)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(t);let n=t.buffer;const i=t.byteLength||t.length;return(0!==t.byteOffset||i!==n.byteLength)&&(n=n.slice(t.byteOffset,t.byteOffset+i)),n}throw new Error(OA)}function kA(t,e,n){return PA.apply(this,arguments)}function PA(){return(PA=PS(function*(t,e,n){const i=t instanceof ArrayBuffer||ArrayBuffer.isView(t);if("string"==typeof t||i)return TA(t,e);if(Zk(t)&&(t=yield bP(t)),Qk(t)){const n=t;return yield vP(n),e.binary?yield n.arrayBuffer():yield n.text()}if(Jk(t)&&(t=EA(t,n)),Yk(t)||Kk(t))return fA(t);throw new Error(OA)})).apply(this,arguments)}function AA(t,e,n=null){if(n)return n;const i=vt({fetch:LP(e,t)},t);return Array.isArray(i.loaders)||(i.loaders=null),i}function MA(t,e){if(!e&&t&&!Array.isArray(t))return t;let n;if(t&&(n=Array.isArray(t)?t:[t]),e&&e.loaders){const t=Array.isArray(e.loaders)?e.loaders:[e.loaders];n=n?[...n,...t]:t}return n&&n.length?n:null}const IA=()=>{const t=DP();return t.loaderRegistry=t.loaderRegistry||[],t.loaderRegistry};function DA(t){const e=IA();t=Array.isArray(t)?t:[t];for(const n of t){const t=nP(n);e.find(e=>t===e)||e.unshift(t)}}const RA=/\.([^.]+)$/;function NA(t){return LA.apply(this,arguments)}function LA(){return(LA=PS(function*(t,e=[],n,i){if(!FA(t))return null;let r=jA(t,e,zn(vt({},n),{nothrow:!0}),i);if(r)return r;if(Zk(t)&&(r=jA(t=yield t.slice(0,10).arrayBuffer(),e,n,i)),!(r||null!=n&&n.nothrow))throw new Error(BA(t));return r})).apply(this,arguments)}function jA(t,e=[],n,i){if(!FA(t))return null;if(e&&!Array.isArray(e))return nP(e);let r=[];e&&(r=r.concat(e)),null!=n&&n.ignoreRegisteredLoaders||r.push(...IA()),function(t){for(const e of t)nP(e)}(r);const s=function(t,e,n,i){const{url:r,type:s}=fP(t),o=r||(null==i?void 0:i.url);let a=null;return null!=n&&n.mimeType&&(a=VA(e,null==n?void 0:n.mimeType)),a=a||function(t,e){const n=e&&RA.exec(e),i=n&&n[1];return i?function(t,e){e=e.toLowerCase();for(const n of t)for(const t of n.extensions)if(t.toLowerCase()===e)return n;return null}(t,i):null}(e,o),a=a||VA(e,s),a=a||function(t,e){if(!e)return null;for(const n of t)if("string"==typeof e){if(zA(e,n))return n}else if(ArrayBuffer.isView(e)){if(UA(e.buffer,e.byteOffset,n))return n}else if(e instanceof ArrayBuffer&&UA(e,0,n))return n;return null}(e,t),a=a||VA(e,null==n?void 0:n.fallbackMimeType),a}(t,r,n,i);if(!(s||null!=n&&n.nothrow))throw new Error(BA(t));return s}function FA(t){return!(t instanceof Response&&204===t.status)}function BA(t){const{url:e,type:n}=fP(t);let i="No valid loader found";return t&&(i+=` data: "${function(t,e=5){return"string"==typeof t?t.slice(0,e):ArrayBuffer.isView(t)?HA(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?HA(t,0,e):""}(t)}", contentType: "${n}"`),e&&(i+=` url: ${e}`),i}function VA(t,e){for(const n of t)if(n.mimeTypes&&n.mimeTypes.includes(e)||e===`application/x.${n.id}`)return n;return null}function zA(t,e){return e.testText?e.testText(t):(Array.isArray(e.tests)?e.tests:[e.tests]).some(e=>t.startsWith(e))}function UA(t,e,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some(i=>function(t,e,n,i){if(i instanceof ArrayBuffer)return function(t,e,n){if(t.byteLength<(n=n||t.byteLength)||e.byteLengtht.equals(e));let JA=new Uint8ClampedArray(0);const tM={data:{type:"data",value:QA,async:!0},dataComparator:null,_dataDiff:{type:"function",value:t=>t&&t.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(t,{propName:e,layer:n,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=n.context;var a;r=r||n.getLoadOptions(),i=i||n.props.loaders,s&&(r=zn(vt({},r),{fetch:zn(vt({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(t);return!l&&!r&&(o.add({resourceId:t,data:XA(t,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:t,onChange:t=>n.internalState.reloadAsyncProp(e,t),consumerId:n.id,requestId:e}):XA(t,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:Ww.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:t})=>[0,100*-t],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let eM=(()=>{class t extends $k{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,e){var n,i,r,s;e&&(t.message="".concat(e,": ").concat(t.message)),(null===(n=(i=this.props).onError)||void 0===n?void 0:n.call(i,t))||null===(r=this.context)||void 0===r||null===(s=r.onError)||void 0===s||s.call(r,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:e}=this.context,n=gk(t,{viewport:e,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[i,r,s]=rk(n,e.pixelProjectionMatrix);return 2===t.length?[i,r]:[i,r,s]}unproject(t){const{viewport:e}=this.context;return e.unproject(t)}projectPosition(t){return function(t,e){const{viewport:n,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(t){const e=vt({},t);let{coordinateSystem:n}=t;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=t;return n===Ww.DEFAULT&&(n=i.isGeospatial?Ww.LNGLAT:Ww.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=n),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=n,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=MT(n,i,r),h=gk(t,{viewport:n,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(t,e,n){t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2]}(h,h,n.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===Ww.DEFAULT||t===Ww.LNGLAT||t===Ww.CARTESIAN}onHover(t,e){return!!this.props.onHover&&this.props.onHover(t,e)}onClick(t,e){return!!this.props.onClick&&this.props.onClick(t,e)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,e=[]){return e[0]=t+1&255,e[1]=t+1>>8&255,e[2]=t+1>>8>>8&255,e}decodePickingColor(t){RC(t instanceof Uint8Array);const[e,n,i]=t;return e+256*n+65536*i-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const e of this.props.extensions)t=gT(t,e.getShaders.call(this,e));return t}shouldUpdateState({changeFlags:t}){return t.propsOrDataChanged}updateState({oldProps:t,props:e,changeFlags:n}){const i=this.getAttributeManager();if(n.dataChanged&&i){const{dataChanged:t}=n;if(Array.isArray(t))for(const e of t)i.invalidateAll(e);else i.invalidateAll()}const r=e.highlightedObjectIndex>=0||e.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==r&&i){const{pickingColors:t,instancePickingColors:e}=i.attributes,n=t||e;n&&(r&&n.constant&&(n.constant=!1,i.invalidate(n.id)),!n.value&&!r&&(n.constant=!0,n.value=[0,0,0]))}}finalizeState(){for(const e of this.getModels())e.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const e of this.getModels())e.draw(t)}getPickingInfo({info:t}){const{index:e}=t;return e>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[e]),t}activateViewport(t){const e=this.internalState.viewport;this.internalState.viewport=t,(!e||!ZA({oldViewport:e,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",e=""){const n=this.getAttributeManager();!n||("all"===t?n.invalidateAll():n.invalidate(t))}updateAttributes(t){for(const e of this.getModels())this._setModelAttributes(e,t)}_updateAttributes(t){const e=this.getAttributeManager();if(!e)return;const n=this.getNumInstances(t),i=this.getStartIndices(t);e.update({data:t.data,numInstances:n,startIndices:i,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const r=e.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(r)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const e=t.update(),n=Object.create(this.props);for(const t in e)Object.defineProperty(n,t,{value:e[t]});return n}return this.props}calculateInstancePickingColors(t,{numInstances:e}){if(t.constant)return;const n=Math.floor(JA.length/3);if(this.internalState.usesPickingColorCache=!0,nKA&&Gw.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),JA=GS.allocate(JA,e,{size:3,copy:!0,maxCount:Math.max(e,KA)});const t=Math.floor(JA.length/3),i=[];for(let e=n;e{const i={moduleParameters:t,uniforms:e,parameters:n,context:this.context};for(const t of this.props.extensions)t.draw.call(this,i,t);this.draw(i)})}finally{this.props=i}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:e}=this.internalState;for(const i in t)if(t[i]){let n=!1;switch(i){case"dataChanged":Array.isArray(e[i])&&(e[i]=Array.isArray(t[i])?e[i].concat(t[i]):t[i],n=!0);default:e[i]||(e[i]=t[i],n=!0)}n&&tE("layer.changeFlag",this,i,t)}const n=e.dataChanged||e.updateTriggersChanged||e.propsChanged||e.extensionsChanged;e.propsOrDataChanged=n,e.somethingChanged=n||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,e){const n=function(t,e){const n=lT({newProps:t,oldProps:e,propTypes:dT(t),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(t,e){if(null===e)return"oldProps is null, initial diff";let n=null;const{dataComparator:i,_dataDiff:r}=t;return i?i(t.data,e.data)||(n="Data comparator detected a change"):t.data!==e.data&&(n="A new data container was supplied"),n&&r&&(n=r(t.data,e.data)||n),n}(t,e);let r=!1;return i||(r=function(t,e){if(null===e)return"oldProps is null, initial diff";if("all"in t.updateTriggers&&hT(t,e,"all"))return{all:!0};const n={};let i=!1;for(const r in t.updateTriggers)"all"!==r&&hT(t,e,r)&&(n[r]=!0,i=n);return i}(t,e)),{dataChanged:i,propsChanged:n,updateTriggersChanged:r,extensionsChanged:uT(t,e),transitionsChanged:aT(t,e)}}(t,e);if(n.updateTriggersChanged)for(const i in n.updateTriggersChanged)n.updateTriggersChanged[i]&&this.invalidateAttribute(i);if(n.transitionsChanged)for(const i in n.transitionsChanged)this.internalState.uniformTransitions.add(i,e[i],t[i],t.transitions[i]);return this.setChangeFlags(n)}validateProps(){!function(t){const e=dT(t);for(const n in e){const i=e[n],{validate:r}=i;if(r&&!r(t[n],i))throw new Error("Invalid prop ".concat(n,": ").concat(t[n]))}}(this.props)}setModuleParameters(t){for(const e of this.getModels())e.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const e={pickingSelectedColor:t.picked?t.color:null},{highlightColor:n}=this.props;t.picked&&"function"==typeof n&&(e.pickingHighlightColor=n(t)),this.setModuleParameters(e),this.setNeedsRedraw()}_updateModules({props:t,oldProps:e},n){const{autoHighlight:i,highlightedObjectIndex:r,highlightColor:s}=t;if(n||e.autoHighlight!==i||e.highlightedObjectIndex!==r||e.highlightColor!==s){const t={};i||(t.pickingSelectedColor=null),Array.isArray(s)&&(t.pickingHighlightColor=s),Number.isInteger(r)&&(t.pickingSelectedColor=r>=0?this.encodePickingColor(r):null),this.setModuleParameters(t)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let e=!1;e=e||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const n=this.getAttributeManager(),i=n&&n.getNeedsRedraw(t);return e=e||i,e}_getAttributeManager(){return new tT(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){RC(!this.internalState&&!this.state),RC(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new Gk({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Gw.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new rT(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){tE("layer.matched",this,this===t);const{state:e,internalState:n}=t;this!==t&&(this.internalState=n,this.internalState.layer=this,this.state=e,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return t.layerName="Layer",t.defaultProps=tM,t})(),nM=(()=>{class t extends eM{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:e}=t;return e&&e.__source&&e.__source.parent&&e.__source.parent.id===this.id&&(t.object=e.__source.object,t.index=e.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,e){return e&&e.length}getSubLayerClass(t,e){const{_subLayerProps:n}=this.props;return n&&n[t]&&n[t].type||e}getSubLayerRow(t,e,n){return t.__source={parent:this,object:e,index:n},t}getSubLayerAccessor(t){if("function"==typeof t){const e={data:this.props.data,target:[]};return(n,i)=>n&&n.__source?(e.index=n.__source.index,t(n.__source.object,e)):t(n,i)}return t}getSubLayerProps(t={}){const{opacity:e,pickable:n,visible:i,parameters:r,getPolygonOffset:s,highlightedObjectIndex:o,autoHighlight:a,highlightColor:l,coordinateSystem:c,coordinateOrigin:u,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:f,fetch:g,_subLayerProps:m}=this.props,b={opacity:e,pickable:n,visible:i,parameters:r,getPolygonOffset:s,highlightedObjectIndex:o,autoHighlight:a,highlightColor:l,coordinateSystem:c,coordinateOrigin:u,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:f,fetch:g},y=m&&m[t.id],v=y&&y.updateTriggers,_=t.id||"sublayer";if(y){const e=this.constructor._propTypes,n=t.type?t.type._propTypes:{};for(const t in y){const i=n[t]||e[t];i&&"accessor"===i.type&&(y[t]=this.getSubLayerAccessor(y[t]))}}Object.assign(b,t,y),b.id="".concat(this.props.id,"-").concat(_),b.updateTriggers=vt(vt({all:this.props.updateTriggers.all},t.updateTriggers),v);for(const w of f){const t=w.getSubLayerProps.call(this,w);t&&Object.assign(b,t,{updateTriggers:Object.assign(b.updateTriggers,t.updateTriggers)})}return b}_updateAutoHighlight(t){for(const e of this.getSubLayers())e.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const e=!t||this.needsUpdate();e&&(t=this.renderLayers(),t=BC(t,Boolean),this.internalState.subLayers=t),tE("compositeLayer.renderLayers",this,e,t);for(const n of t)n.parent=this}}return t.layerName="CompositeLayer",t})();const iM=/([0-9]+\.?[0-9]*)(%|px)/;function rM(t){switch(typeof t){case"number":return{position:t,relative:!1};case"string":const e=t.match(iM);if(e&&e.length>=3){const t="%"===e[2],n=parseFloat(e[1]);return{position:t?n/100:n,relative:t}}default:throw new Error("Could not parse position string ".concat(t))}}function sM(t,e){return t.relative?Math.round(t.position*e):t.position}function oM(t,e){if(t===e)return!0;if(!t||!e)return!1;for(const n in t){const i=t[n],r=e[n];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&oM(i,r)))return!1}return!0}class aM{constructor(t={}){const{id:e=null,x:n=0,y:i=0,width:r="100%",height:s="100%",projectionMatrix:o=null,fovy:a=50,near:l=.1,far:c=1e3,modelMatrix:u=null,viewportInstance:h=null,type:d=dk}=t;RC(!h||h instanceof dk),this.viewportInstance=h,this.id=e||this.constructor.displayName||"view",this.type=d,this.props=zn(vt({},t),{id:this.id,projectionMatrix:o,fovy:a,near:l,far:c,modelMatrix:u}),this._parseDimensions({x:n,y:i,width:r,height:s}),this.equals=this.equals.bind(this),Object.seal(this)}equals(t){return this===t||(this.viewportInstance?t.viewportInstance&&this.viewportInstance.equals(t.viewportInstance):oM(this.props,t.props))}makeViewport({width:t,height:e,viewState:n}){if(this.viewportInstance)return this.viewportInstance;n=this.filterViewState(n);const i=this.getDimensions({width:t,height:e});return this._getViewport(n,i)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(t){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const e=vt({},t);for(const t in this.props.viewState)"id"!==t&&(e[t]=this.props.viewState[t]);return e}return t}getDimensions({width:t,height:e}){return{x:sM(this._x,t),y:sM(this._y,e),width:sM(this._width,t),height:sM(this._height,e)}}_getControllerProps(t){let e=this.props.controller;return e?!0===e?t:("function"==typeof e&&(e={type:e}),vt(vt({},t),e)):null}_getViewport(t,e){const{type:n}=this;return new n(vt(vt(vt({},t),this.props),e))}_parseDimensions({x:t,y:e,width:n,height:i}){this._x=rM(t),this._y=rM(e),this._width=rM(n),this._height=rM(i)}}const lM=()=>{},cM={transitionEasing:t=>t,transitionInterruption:1,onTransitionStart:lM,onTransitionInterrupt:lM,onTransitionEnd:lM};class uM{constructor(t,e={}){this.ControllerState=t,this.props=vt(vt({},cM),e),this.propsInTransition=null,this.transition=new KO(e.timeline),this.onViewStateChange=e.onViewStateChange||lM,this.onStateChange=e.onStateChange||lM,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(t){let e=!1;const n=this.props;if(t=vt(vt({},cM),t),this.props=t,this._shouldIgnoreViewportChange(n,t))return e;if(this._isTransitionEnabled(t)){const{interruption:i,endProps:r}=this.transition.settings,s=vt(vt({},n),2===i?r:this.propsInTransition||n);this._triggerTransition(s,t),e=!0}else this.transition.cancel();return e}updateTransition(){this.transition.update()}_isTransitionEnabled(t){const{transitionDuration:e,transitionInterpolator:n}=t;return(e>0||"auto"===e)&&Boolean(n)}_isUpdateDueToCurrentTransition(t){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(t,this.propsInTransition)}_shouldIgnoreViewportChange(t,e){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(e):!this._isTransitionEnabled(e)||e.transitionInterpolator.arePropsEqual(t,e)}_triggerTransition(t,e){const n=new this.ControllerState(t),i=new this.ControllerState(e).shortestPathFrom(n),{transitionInterpolator:r}=e,s=r.getDuration?r.getDuration(t,e):e.transitionDuration;if(0===s)return;const o=e.transitionInterpolator.initializeProps(t,i);this.propsInTransition={},this.duration=s,this.transition.start({duration:s,easing:e.transitionEasing,interpolator:e.transitionInterpolator,interruption:e.transitionInterruption,startProps:o.start,endProps:o.end,onStart:e.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(e.onTransitionInterrupt),onEnd:this._onTransitionEnd(e.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(t){return e=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),t(e)}}_onTransitionUpdate(t){const{time:e,settings:{interpolator:n,startProps:i,endProps:r,duration:s,easing:o}}=t,a=o(e/s),l=n.interpolateProps(i,r,a);this.propsInTransition=new this.ControllerState(vt(vt({},this.props),l)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const hM=["longitude","latitude","zoom","bearing","pitch"],dM=["longitude","latitude","zoom"];class pM extends class{constructor(t={}){Array.isArray(t)&&(t={compare:t,extract:t,required:t});const{compare:e,extract:n,required:i}=t;this._propsToCompare=e,this._propsToExtract=n,this._requiredProps=i}arePropsEqual(t,e){for(const n of this._propsToCompare||Object.keys(e))if(!(n in t)||!(n in e)||!nC(t[n],e[n]))return!1;return!0}initializeProps(t,e){let n;if(this._propsToExtract){const i={},r={};for(const n of this._propsToExtract)i[n]=t[n],r[n]=e[n];n={start:i,end:r}}else n={start:t,end:e};return this._checkRequiredProps(n.start),this._checkRequiredProps(n.end),n}interpolateProps(t,e,n){return e}getDuration(t,e){return e.transitionDuration}_checkRequiredProps(t){!this._requiredProps||this._requiredProps.forEach(e=>{const n=t[e];RC(Number.isFinite(n)||Array.isArray(n),"".concat(e," is required for transition"))})}}{constructor(t={}){super((Array.isArray(t)?t:t.transitionProps)||{compare:hM,extract:hM,required:dM}),this.opts=t}initializeProps(t,e){const n=super.initializeProps(t,e),{makeViewport:i,around:r}=this.opts;if(i&&r){const s=i(t),o=i(e),a=s.unproject(r);n.start.around=r,Object.assign(n.end,{around:o.project(a),aroundPosition:a,width:e.width,height:e.height})}return n}interpolateProps(t,e,n){const i={};for(const r of this._propsToExtract)i[r]=eC(t[r]||0,e[r]||0,n);if(e.aroundPosition){const r=this.opts.makeViewport(vt(vt({},e),i));Object.assign(i,r.panByPosition(e.aroundPosition,eC(t.around,e.around,n)))}return i}}const fM={transitionDuration:0},gM={transitionDuration:300,transitionEasing:t=>t,transitionInterruption:1},mM=t=>1-(1-t)*(1-t),bM=["wheel"],yM=["panstart","panmove","panend"],vM=["pinchstart","pinchmove","pinchend"],_M=["tripanstart","tripanmove","tripanend"],wM=["doubletap"],xM=["keydown"];class SM{constructor(t,e={}){this.ControllerState=t,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new uM(t,zn(vt({},e),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const n=this.linearTransitionProps;this._transition=n&&zn(vt({},gM),{transitionInterpolator:new pM({transitionProps:n})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(e)}get linearTransitionProps(){return null}set events(t){this.toggleEvents(this._customEvents,!1),this.toggleEvents(t,!0),this._customEvents=t,this.setProps(this.controllerStateProps)}finalize(){for(const t in this._events)this._events[t]&&this.eventManager.off(t,this.handleEvent);this.transitionManager.finalize()}handleEvent(t){const{ControllerState:e}=this;this.controllerState=new e(vt(vt({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const n=this._eventStartBlocked;switch(t.type){case"panstart":return!n&&this._onPanStart(t);case"panmove":return this._onPan(t);case"panend":return this._onPanEnd(t);case"pinchstart":return!n&&this._onPinchStart(t);case"pinchmove":return this._onPinch(t);case"pinchend":return this._onPinchEnd(t);case"tripanstart":return!n&&this._onTriplePanStart(t);case"tripanmove":return this._onTriplePan(t);case"tripanend":return this._onTriplePanEnd(t);case"doubletap":return this._onDoubleTap(t);case"wheel":return this._onWheel(t);case"keydown":return this._onKeyDown(t);default:return!1}}getCenter(t){const{x:e,y:n}=this.controllerStateProps,{offsetCenter:i}=t;return[i.x-e,i.y-n]}isPointInBounds(t,e){const{width:n,height:i}=this.controllerStateProps;if(e&&e.handled)return!1;const r=t[0]>=0&&t[0]<=n&&t[1]>=0&&t[1]<=i;return r&&e&&e.stopPropagation(),r}isFunctionKeyPressed(t){const{srcEvent:e}=t;return Boolean(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(t){const e=setTimeout(()=>{this._eventStartBlocked===e&&(this._eventStartBlocked=null)},t);this._eventStartBlocked=e}setProps(t){"onViewStateChange"in t&&(this.onViewStateChange=t.onViewStateChange),"onStateChange"in t&&(this.onStateChange=t.onStateChange),"makeViewport"in t&&(this.makeViewport=t.makeViewport),"dragMode"in t&&(this.dragMode=t.dragMode),this.controllerStateProps=t,"eventManager"in t&&this.eventManager!==t.eventManager&&(this.eventManager=t.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in t||(t.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(t);let{inertia:e}=t;!0===e&&(e=300),this.inertia=e;const{scrollZoom:n=!0,dragPan:i=!0,dragRotate:r=!0,doubleClickZoom:s=!0,touchZoom:o=!0,touchRotate:a=!1,keyboard:l=!0}=t,c=Boolean(this.onViewStateChange);this.toggleEvents(bM,c&&n),this.toggleEvents(yM,c&&(i||r)),this.toggleEvents(vM,c&&(o||a)),this.toggleEvents(_M,c&&a),this.toggleEvents(wM,c&&s),this.toggleEvents(xM,c&&l),this.scrollZoom=n,this.dragPan=i,this.dragRotate=r,this.doubleClickZoom=s,this.touchZoom=o,this.touchRotate=a,this.keyboard=l}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(t,e){this.eventManager&&t.forEach(t=>{this._events[t]!==e&&(this._events[t]=e,e?this.eventManager.on(t,this.handleEvent):this.eventManager.off(t,this.handleEvent))})}updateViewport(t,e={},n={}){const i=vt(vt({},t.getViewportProps()),e),r=this.controllerState!==t;if(this._state=t.getState(),this._setInteractionState(n),r){const t=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:i,interactionState:this._interactionState,oldViewState:t})}}_onTransition(t){this.onViewStateChange&&(t.interactionState=this._interactionState,this.onViewStateChange(t))}_setInteractionState(t){Object.assign(this._interactionState,t),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;let n=this.isFunctionKeyPressed(t)||t.rightButton;(this.invertPan||"pan"===this.dragMode)&&(n=!n);const i=this.controllerState[n?"panStart":"rotateStart"]({pos:e});return this._panMove=n,this.updateViewport(i,fM,{isDragging:!0}),!0}_onPan(t){return!!this.isDragging()&&(this._panMove?this._onPanMove(t):this._onPanRotate(t))}_onPanEnd(t){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(t):this._onPanRotateEnd(t))}_onPanMove(t){if(!this.dragPan)return!1;const e=this.getCenter(t),n=this.controllerState.pan({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(t){const{inertia:e}=this;if(this.dragPan&&e&&t.velocity){const n=this.getCenter(t),i=this.controllerState.pan({pos:[n[0]+t.velocityX*e/2,n[1]+t.velocityY*e/2]}).panEnd();this.updateViewport(i,zn(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isPanning:!0})}else{const t=this.controllerState.panEnd();this.updateViewport(t,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(t){if(!this.dragRotate)return!1;const e=this.getCenter(t),n=this.controllerState.rotate({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(t){const{inertia:e}=this;if(this.dragRotate&&e&&t.velocity){const n=this.getCenter(t),i=this.controllerState.rotate({pos:[n[0]+t.velocityX*e/2,n[1]+t.velocityY*e/2]}).rotateEnd();this.updateViewport(i,zn(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isRotating:!0})}else{const t=this.controllerState.rotateEnd();this.updateViewport(t,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(t){if(!this.scrollZoom)return!1;t.preventDefault();const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const{speed:n=.01,smooth:i=!1}=this.scrollZoom,{delta:r}=t;let s=2/(1+Math.exp(-Math.abs(r*n)));r<0&&0!==s&&(s=1/s);const o=this.controllerState.zoom({pos:e,scale:s});return this.updateViewport(o,zn(vt({},this._getTransitionProps({around:e})),{transitionDuration:i?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.controllerState.rotateStart({pos:e});return this.updateViewport(n,fM,{isDragging:!0}),!0}_onTriplePan(t){if(!this.touchRotate||!this.isDragging())return!1;const e=this.getCenter(t);e[0]-=t.deltaX;const n=this.controllerState.rotate({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(t){if(!this.isDragging())return!1;const{inertia:e}=this;if(this.touchRotate&&e&&t.velocityY){const n=this.getCenter(t),i=[n[0],n[1]+=t.velocityY*e/2],r=this.controllerState.rotate({pos:i});this.updateViewport(r,zn(vt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isRotating:!0}),this.blockEvents(e)}else{const t=this.controllerState.rotateEnd();this.updateViewport(t,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.controllerState.zoomStart({pos:e}).rotateStart({pos:e});return this._startPinchRotation=t.rotation,this._lastPinchEvent=t,this.updateViewport(n,fM,{isDragging:!0}),!0}_onPinch(t){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let e=this.controllerState;if(this.touchZoom){const{scale:n}=t,i=this.getCenter(t);e=e.zoom({pos:i,scale:n})}if(this.touchRotate){const{rotation:n}=t;e=e.rotate({deltaAngleX:this._startPinchRotation-n})}return this.updateViewport(e,fM,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=t,!0}_onPinchEnd(t){if(!this.isDragging())return!1;const{inertia:e,_lastPinchEvent:n}=this;if(this.touchZoom&&e&&n&&t.scale!==n.scale){const i=this.getCenter(t);let r=this.controllerState.rotateEnd();const s=Math.log2(t.scale),o=(s-Math.log2(n.scale))/(t.deltaTime-n.deltaTime),a=Math.pow(2,s+o*e/2);r=r.zoom({pos:i,scale:a}).zoomEnd(),this.updateViewport(r,zn(vt({},this._getTransitionProps({around:i})),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(e)}else{const t=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(t,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(t){if(!this.doubleClickZoom)return!1;const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.isFunctionKeyPressed(t),i=this.controllerState.zoom({pos:e,scale:n?.5:2});return this.updateViewport(i,this._getTransitionProps({around:e}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(t){if(!this.keyboard)return!1;const e=this.isFunctionKeyPressed(t),{zoomSpeed:n,moveSpeed:i,rotateSpeedX:r,rotateSpeedY:s}=this.keyboard,{controllerState:o}=this;let a;const l={};switch(t.srcEvent.code){case"Minus":a=e?o.zoomOut(n).zoomOut(n):o.zoomOut(n),l.isZooming=!0;break;case"Equal":a=e?o.zoomIn(n).zoomIn(n):o.zoomIn(n),l.isZooming=!0;break;case"ArrowLeft":e?(a=o.rotateLeft(r),l.isRotating=!0):(a=o.moveLeft(i),l.isPanning=!0);break;case"ArrowRight":e?(a=o.rotateRight(r),l.isRotating=!0):(a=o.moveRight(i),l.isPanning=!0);break;case"ArrowUp":e?(a=o.rotateUp(s),l.isRotating=!0):(a=o.moveUp(i),l.isPanning=!0);break;case"ArrowDown":e?(a=o.rotateDown(s),l.isRotating=!0):(a=o.moveDown(i),l.isPanning=!0);break;default:return!1}return this.updateViewport(a,this._getTransitionProps(),l),!0}_getTransitionProps(t){const{_transition:e}=this;return e?t?zn(vt({},e),{transitionInterpolator:new pM(zn(vt({},t),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):e:fM}}class CM{constructor(t){this._viewportProps=this._applyConstraints(t)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(t){return this._viewportProps}_applyConstraints(t){return t}}const EM=[0,0,0];class OM extends CM{constructor({makeViewport:t,width:e,height:n,rotationX:i=0,rotationOrbit:r=0,target:s=EM,zoom:o=0,minRotationX:a=-90,maxRotationX:l=90,minZoom:c=-(1/0),maxZoom:u=Infinity,startPanPosition:h,startRotatePos:d,startRotationX:p,startRotationOrbit:f,startZoomPosition:g,startZoom:m}){super({width:e,height:n,rotationX:i,rotationOrbit:r,target:s,zoom:o,minRotationX:a,maxRotationX:l,minZoom:c,maxZoom:u}),this._state={startPanPosition:h,startRotatePos:d,startRotationX:p,startRotationOrbit:f,startZoomPosition:g,startZoom:m},this.makeViewport=t}panStart({pos:t}){return this._getUpdatedState({startPanPosition:this._unproject(t)})}pan({pos:t,startPosition:e}){const n=this._state.startPanPosition||e;if(!n)return this;const i=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(i)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:t,deltaAngleX:e=0,deltaAngleY:n=0}){const{startRotatePos:i,startRotationX:r,startRotationOrbit:s}=this._state,{width:o,height:a}=this._viewportProps;if(!i||!Number.isFinite(r)||!Number.isFinite(s))return this;let l;if(t){let e=(t[0]-i[0])/o;(r<-90||r>90)&&(e*=-1),l={rotationX:r+(t[1]-i[1])/a*180,rotationOrbit:s+180*e}}else l={rotationX:r+n,rotationOrbit:s+e};return this._getUpdatedState(l)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(t){const e=t.getViewportProps(),n=vt({},this._viewportProps),{rotationOrbit:i}=n;return Math.abs(i-e.rotationOrbit)>180&&(n.rotationOrbit=i<0?i+360:i-360),n}zoomStart({pos:t}){return this._getUpdatedState({startZoomPosition:this._unproject(t),startZoom:this._viewportProps.zoom})}zoom({pos:t,startPos:e,scale:n}){const{zoom:i}=this._viewportProps;let{startZoom:r,startZoomPosition:s}=this._state;Number.isFinite(r)||(r=i,s=this._unproject(e)||this._unproject(t));const o=this._calculateNewZoom({scale:n,startZoom:r}),a=this.makeViewport(zn(vt({},this._viewportProps),{zoom:o}));return this._getUpdatedState(vt({zoom:o},a.panByPosition(s,t)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(t=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:t})})}zoomOut(t=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/t})})}moveLeft(t=50){return this._panFromCenter([-t,0])}moveRight(t=50){return this._panFromCenter([t,0])}moveUp(t=50){return this._panFromCenter([0,-t])}moveDown(t=50){return this._panFromCenter([0,t])}rotateLeft(t=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-t})}rotateRight(t=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+t})}rotateUp(t=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-t})}rotateDown(t=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+t})}_unproject(t){const e=this.makeViewport(this._viewportProps);return t&&e.unproject(t)}_calculateNewZoom({scale:t,startZoom:e}){const{maxZoom:n,minZoom:i}=this._viewportProps;return Number.isFinite(e)||(e=this._viewportProps.zoom),tC(e+Math.log2(t),i,n)}_panFromCenter(t){const{width:e,height:n,target:i}=this._viewportProps;return this.pan({startPosition:i,pos:[e/2+t[0],n/2+t[1]]})}_getUpdatedState(t){return new OM(vt(vt(vt({},this._viewportProps),this._state),t))}_applyConstraints(t){const{maxZoom:e,minZoom:n,zoom:i,maxRotationX:r,minRotationX:s,rotationOrbit:o}=t;return t.zoom=tC(i,n,e),t.rotationX=tC(t.rotationX,s,r),(o<-180||o>180)&&(t.rotationOrbit=function(t,e){const n=t%360;return n<0?360+n:n}(o+180)-180),t}}class TM extends SM{constructor(t){super(OM,t)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class kM extends SM{constructor(t){t.dragMode=t.dragMode||"pan",super(OM,t)}_onPanRotate(t){return!1}get linearTransitionProps(){return["target","zoom"]}}const PM=(new VT).lookAt({eye:[0,0,1]});function AM({width:t,height:e,near:n,far:i}){return t=t||1,e=e||1,(new VT).ortho({left:-t/2,right:t/2,bottom:-e/2,top:e/2,near:n,far:i})}class MM extends dk{constructor(t){const{width:e,height:n,near:i=.1,far:r=1e3,zoom:s=0,target:o=[0,0,0],flipY:a=!0}=t,l=Math.pow(2,s);super(zn(vt({},t),{longitude:null,position:o,viewMatrix:PM.clone().scale([l,l*(a?-1:1),l]),projectionMatrix:AM({width:e,height:n,near:i,far:r}),zoom:s}))}panByPosition(t,e){const n=DT([],t,RT([],sk(e,this.pixelUnprojectionMatrix)));return{target:DT([],this.center,n)}}}let IM=(()=>{class t extends aM{constructor(t){super(zn(vt({},t),{type:MM}))}get controller(){return this._getControllerProps({type:kM})}}return t.displayName="OrthographicView",t})();const DM=Math.PI/180;function RM({height:t,fovy:e,orbitAxis:n,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*DM/2),a="Z"===n?[0,0,1]:[0,1,0],l="Z"===n?[0,-o,0]:[0,0,o],c=(new VT).lookAt({eye:l,up:a});c.rotateX(i*DM),"Z"===n?c.rotateZ(r*DM):c.rotateY(r*DM);const u=Math.pow(2,s)/(t||1);return c.scale(u),c}class NM extends dk{constructor(t){const{height:e,fovy:n,orbitAxis:i,target:r=[0,0,0],rotationX:s=0,rotationOrbit:o=0,zoom:a=0}=t;super(zn(vt({},t),{longitude:null,viewMatrix:RM({height:e,fovy:n,orbitAxis:i,rotationX:s,rotationOrbit:o,zoom:a}),fovy:n,position:r,zoom:a})),this.projectedCenter=this.project(this.center)}unproject(t,{topLeft:e=!0}={}){const[n,i,r=this.projectedCenter[2]]=t,s=e?i:this.height-i,[o,a,l]=sk([n,s,r],this.pixelUnprojectionMatrix);return[o,a,l]}panByPosition(t,e){const n=this.project(t);return{target:this.unproject([this.width/2+n[0]-e[0],this.height/2+n[1]-e[1],this.projectedCenter[2]])}}}let LM=(()=>{class t extends aM{constructor(t={}){const{orbitAxis:e="Z"}=t;super(zn(vt({},t),{orbitAxis:e,type:NM}))}get controller(){return this._getControllerProps({type:TM})}}return t.displayName="OrbitView",t})();const jM=[255,255,255],FM=1;let BM=0;class VM{constructor(t={}){const{color:e=jM}=t,{intensity:n=FM}=t;this.id=t.id||"ambient-".concat(BM++),this.color=e,this.intensity=n,this.type="ambient"}}const zM=[255,255,255],UM=1,HM=[0,0,-1];let $M=0;class GM{constructor(t={}){const{color:e=zM}=t,{intensity:n=UM}=t,{direction:i=HM}=t,{_shadow:r=!1}=t;this.id=t.id||"directional-".concat($M++),this.color=e,this.intensity=n,this.type="directional",this.direction=new OC(i).normalize().toArray(),this.shadow=r}getProjectedLight(){return this}}class WM{constructor(t={}){const{id:e="effect"}=t;this.id=e,this.props=vt({},t)}preRender(){}getModuleParameters(){}cleanup(){}}class qM extends class{constructor(t,e={}){const{id:n="pass"}=e;this.id=n,this.gl=t,this.props=vt({},e)}setProps(t){Object.assign(this.props,t)}render(){}cleanup(){}}{render(t){return Mx(this.gl,{framebuffer:t.target}),this._drawLayers(t)}_drawLayers(t){const{viewports:e,views:n,onViewportActive:i,clearCanvas:r=!0}=t;t.pass=t.pass||"unknown";const s=this.gl;r&&function(t){Mx(t,{viewport:[0,0,t.drawingBufferWidth,t.drawingBufferHeight]}),t.clear(16640)}(s);const o=[];for(const a of e){const e=a.viewport||a,r=n&&n[e.id];i(e);const l=this._getDrawLayerParams(e,t);t.view=r;const c=e.subViewports||[e];for(const n of c){t.viewport=n;const e=this._drawLayersInViewport(s,t,l);o.push(e)}}return o}_getDrawLayerParams(t,{layers:e,pass:n,layerFilter:i,effects:r,moduleParameters:s}){const o=[],a=XM(),l={viewport:t,isPicking:n.startsWith("picking"),renderPass:n};for(let c=0;cTS(t,e))}const a={totalCount:e.length,visibleCount:0,compositeCount:0,pickableCount:0};Mx(t,{viewport:o});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in n){const t=n[l]=n[l]||XM(e[l],e);c=t(r,s),n[a]=t}else Number.isFinite(o)?(c=o+(e[l]||0),n[a]=null):c=t;return s&&c>=t&&(t=c+1),e[a]=c,c};return i}class YM extends qM{constructor(t,e){super(t,e),this.shadowMap=new xS(t,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new ES(t,{format:33189,width:1,height:1}),this.fbo=new BS(t,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(t){const e=this.fbo;Ix(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const n=t.viewports[0],i=Rx(this.gl),r=n.width*i,s=n.height*i;(r!==e.width||s!==e.height)&&e.resize({width:r,height:s}),super.render(zn(vt({},t),{target:e,pass:"shadow"}))})}shouldDrawLayer(t){return!1!==t.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const KM=Object.keys(Ww).map(t=>"const int COORDINATE_SYSTEM_".concat(t," = ").concat(Ww[t],";")).join(""),QM=Object.keys(qw).map(t=>"const int PROJECTION_MODE_".concat(t," = ").concat(qw[t],";")).join("");var ZM="".concat(KM,"\n").concat(QM,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n");const JM={};var tI={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:ZM,getUniforms:function(t=JM){return t.viewport?function({viewport:t,devicePixelRatio:e=1,modelMatrix:n=null,coordinateSystem:i=Ww.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===Ww.DEFAULT&&(i=t.isGeospatial?Ww.LNGLAT:Ww.CARTESIAN);const o=AT({viewport:t,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=n||TT,o}(t):{}}};const eI=fT(function({viewport:t,center:e}){return new VT(t.viewProjectionMatrix).invert().transform(e)}),nI=fT(function({viewport:t,shadowMatrices:e}){const n=[],i=t.pixelUnprojectionMatrix,r=t.isGeospatial?void 0:1,s=[[0,0,r],[t.width,0,r],[0,t.height,r],[t.width,t.height,r],[0,0,-1],[t.width,0,-1],[0,t.height,-1],[t.width,t.height,-1]].map(t=>function(t,e){const[n,i,r]=t,s=sk([n,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(t,i));for(const o of e){const e=o.clone().translate(new OC(t.center).negate()),i=s.map(t=>e.transform(t)),r=(new VT).ortho({left:Math.min(...i.map(t=>t[0])),right:Math.max(...i.map(t=>t[0])),bottom:Math.min(...i.map(t=>t[1])),top:Math.max(...i.map(t=>t[1])),near:Math.min(...i.map(t=>-t[2])),far:Math.max(...i.map(t=>-t[2]))});n.push(r.multiplyRight(o))}return n}),iI=[0,0,0,1],rI=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0];var sI={name:"shadow",dependencies:[tI],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(t={},e={})=>{if(t.drawToShadowMap||t.shadowMaps&&t.shadowMaps.length>0){const{shadowEnabled:n=!0}=t;return n&&t.shadowMatrices&&t.shadowMatrices.length>0?function(t={},e={}){const n={shadow_uDrawShadowMap:Boolean(t.drawToShadowMap),shadow_uUseShadowMap:!!t.shadowMaps&&t.shadowMaps.length>0,shadow_uColor:t.shadowColor||iI,shadow_uLightId:t.shadowLightId||0,shadow_uLightCount:t.shadowMatrices.length},i=eI({viewport:t.viewport,center:e.project_uCenter}),r=[],s=nI({shadowMatrices:t.shadowMatrices,viewport:t.viewport}).slice();for(let o=0;o0?t.shadowMaps[o]:t.dummyShadowMap;return n}(t,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}};const oI={color:[255,255,255],intensity:1},aI=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],lI=[0,0,0,200/255];class cI extends WM{constructor(t){super(t),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=lI,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const e in t){const n=t[e];switch(n.type){case"ambient":this.ambientLight=n;break;case"directional":this.directionalLights.push(n);break;case"point":this.pointLights.push(n)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(t,{layers:e,layerFilter:n,viewports:i,onViewportActive:r,views:s}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(t),this.programManager||(this.programManager=PO.getDefaultProgramManager(t),sI&&this.programManager.addDefaultModule(sI)),this.dummyShadowMap||(this.dummyShadowMap=new xS(t,{width:1,height:1}));for(let t=0;te.getProjectedLight({layer:t})),pointLights:this.pointLights.map(e=>e.getProjectedLight({layer:t}))},e}cleanup(){for(const t of this.shadowPasses)t.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(sI),this.programManager=null)}_createLightMatrix(){const t=[];for(const e of this.directionalLights){const n=(new VT).lookAt({eye:new OC(e.direction).negate()});t.push(n)}return t}_createShadowPasses(t){for(let e=0;e=e.delay+e.duration*e.repeat}getTime(t){if(void 0===t)return this.time;const e=this.channels.get(t);return void 0===e?-1:e.time}setTime(t){this.time=Math.max(0,t);const e=this.channels.values();for(const i of e)this._setChannelTime(i,this.time);const n=this.animations.values();for(const i of n){const{animation:t,channel:e}=i;t.setTime(this.getTime(e))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(t,e){const n=hI++;return this.animations.set(n,{animation:t,channel:e}),t.setTime(this.getTime(e)),n}detachAnimation(t){this.animations.delete(t)}update(t){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=t),this.setTime(this.time+(t-this.lastEngineTime)),this.lastEngineTime=t)}_setChannelTime(t,e){const n=e-t.delay;n>=t.duration*t.repeat?t.time=t.duration*t.rate:(t.time=Math.max(0,n)%t.duration,t.time*=t.rate)}}class pI{constructor(t,e,n){this.id=t,this.context=n,this._loadCount=0,this._subscribers=new Set,this.setData(e)}subscribe(t){this._subscribers.add(t)}unsubscribe(t){this._subscribers.delete(t)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(t,e){if(t===this._data&&!e)return;this._data=t;const n=++this._loadCount;let i=t;"string"==typeof t&&(i=XA(t)),i instanceof Promise?(this.isLoaded=!1,this._loader=i.then(t=>{this._loadCount===n&&(this.isLoaded=!0,this._error=null,this._content=t)}).catch(t=>{this._loadCount===n&&(this.isLoaded=!0,this._error=t||!0)})):(this.isLoaded=!0,this._error=null,this._content=t);for(const r of this._subscribers)r.onChange(this.getData())}}class fI{constructor({gl:t,protocol:e}){this.protocol=e||"resource://",this._context={gl:t,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(t){return!!t.startsWith(this.protocol)||t in this._resources}add({resourceId:t,data:e,forceUpdate:n=!1,persistent:i=!0}){let r=this._resources[t];r?r.setData(e,n):(r=new pI(t,e,this._context),this._resources[t]=r),r.persistent=i}remove(t){const e=this._resources[t];e&&(e.delete(),delete this._resources[t])}unsubscribe({consumerId:t}){const e=this._consumers[t];if(e){for(const t in e){const n=e[t];n.resource&&n.resource.unsubscribe(n)}delete this._consumers[t],this.prune()}}subscribe({resourceId:t,onChange:e,consumerId:n,requestId:i="default"}){const{_resources:r,protocol:s}=this;t.startsWith(s)&&(r[t=t.replace(s,"")]||this.add({resourceId:t,data:null,persistent:!1}));const o=r[t];if(this._track(n,i,o,e),o)return o.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const t in this._resources)this._resources[t].delete()}_track(t,e,n,i){const r=this._consumers,s=r[t]=r[t]||{},o=s[e]||{};o.resource&&(o.resource.unsubscribe(o),o.resource=null,this.prune()),n&&(s[e]=o,o.onChange=i,o.resource=n,n.subscribe(o))}_prune(){this._pruneRequest=null;for(const t of Object.keys(this._resources)){const e=this._resources[t];!e.persistent&&!e.inUse()&&(e.delete(),delete this._resources[t])}}}const gI=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},tI],mI=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function bI(t){const e=PO.getDefaultProgramManager(t);for(const n of gI)e.addDefaultModule(n);for(const n of mI)e.addShaderHook(n);return e}const yI=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class vI{constructor(t,{deck:e,stats:n,viewport:i,timeline:r}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new fI({gl:t,protocol:"deck://"}),this.context=zn(vt({},yI),{layerManager:this,gl:t,deck:e,programManager:t&&bI(t),stats:n||new Gx({id:"deck.gl"}),viewport:i||new dk({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:r||new dI,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const t of this.layers)this._finalizeLayer(t)}needsRedraw(t={clearRedrawFlags:!1}){let e=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);for(const n of this.layers){const i=n.getNeedsRedraw(t);e=e||i}return e}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(t){this._needsRedraw=this._needsRedraw||t}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t}getLayers({layerIds:t=null}={}){return t?this.layers.filter(e=>t.find(t=>0===e.id.indexOf(t))):this.layers}setProps(t){"debug"in t&&(this._debug=t.debug),"userData"in t&&(this.context.userData=t.userData),"layers"in t&&(this._nextLayers=t.layers),"onError"in t&&(this.context.onError=t.onError)}setLayers(t,e){tE("layerManager.setLayers",this,e,t),this.lastRenderedLayers=t,t=BC(t,Boolean);for(const n of t)n.context=this.context;return this._updateLayers(this.layers,t),this}updateLayers(){const t=this.needsUpdate();t&&(this.setNeedsRedraw("updating layers: ".concat(t)),this.setLayers(this._nextLayers||this.lastRenderedLayers,t)),this._nextLayers=null}activateViewport(t){return tE("layerManager.activateViewport",this,t),t&&(this.context.viewport=t),this}_handleError(t,e,n){n.raiseError(e,"".concat(t," of ").concat(n))}_updateLayers(t,e){const n={};for(const s of t)n[s.id]?Gw.warn("Multiple old layers with same id ".concat(s.id))():n[s.id]=s;const i=[];this._updateSublayersRecursively(e,n,i),this._finalizeOldLayers(n);let r=!1;for(const s of i)if(s.hasUniformTransition()){r=!0;break}this._needsUpdate=r,this.layers=i}_updateSublayersRecursively(t,e,n){for(const r of t){r.context=this.context;const t=e[r.id];null===t&&Gw.warn("Multiple new layers with same id ".concat(r.id))(),e[r.id]=null;let s=null;try{this._debug&&t!==r&&r.validateProps(),t?(this._transferLayerState(t,r),this._updateLayer(r)):this._initializeLayer(r),n.push(r),s=r.isComposite&&r.getSubLayers()}catch(i){this._handleError("matching",i,r)}s&&this._updateSublayersRecursively(s,e,n)}}_finalizeOldLayers(t){for(const e in t){const n=t[e];n&&this._finalizeLayer(n)}}_initializeLayer(t){try{t._initialize(),t.lifecycle="Initialized"}catch(e){this._handleError("initialization",e,t)}}_transferLayerState(t,e){e._transferState(t),e.lifecycle="Matched. State transferred from previous layer",e!==t&&(t.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(t){try{t._update()}catch(e){this._handleError("update",e,t)}}_finalizeLayer(t){this._needsRedraw=this._needsRedraw||"finalized ".concat(t),t.lifecycle="No longer matched. Awaiting garbage collection";try{t._finalize(),t.lifecycle="Finalized! Awaiting garbage collection"}catch(e){this._handleError("finalization",e,t)}}}class _I{constructor(t={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=t.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=t.eventManager,this._eventCallbacks={onViewStateChange:t.onViewStateChange,onInteractionStateChange:t.onInteractionStateChange},Object.seal(this),this.setProps(t)}finalize(){for(const t in this.controllers)this.controllers[t]&&this.controllers[t].finalize();this.controllers={}}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t,this._needsRedraw=this._needsRedraw||t}updateViewStates(){for(const t in this.controllers){const e=this.controllers[t];e&&e.updateTransition()}}getViewports(t){return t?this._viewports.filter(e=>e.containsPixel(t)):this._viewports}getViews(){const t={};return this.views.forEach(e=>{t[e.id]=e}),t}getView(t){return"string"==typeof t?this.views.find(e=>e.id===t):t}getViewState(t){const e=this.getView(t),n=e&&this.viewState[e.getViewStateId()]||this.viewState;return e?e.filterViewState(n):n}getViewport(t){return this._viewportMap[t]}unproject(t,e){const n=this.getViewports(),i={x:t[0],y:t[1]};for(let r=n.length-1;r>=0;--r){const s=n[r];if(s.containsPixel(i)){const n=t.slice();return n[0]-=s.x,n[1]-=s.y,s.unproject(n,e)}}return null}setProps(t){"views"in t&&this._setViews(t.views),"viewState"in t&&this._setViewState(t.viewState),("width"in t||"height"in t)&&this._setSize(t.width,t.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(t,e){(t!==this.width||e!==this.height)&&(this.width=t,this.height=e,this.setNeedsUpdate("Size changed"))}_setViews(t){t=BC(t,Boolean),this._diffViews(t,this.views)&&this.setNeedsUpdate("views changed"),this.views=t}_setViewState(t){t?(!oM(t,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=t):Gw.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(t,e){e.viewId=t,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(e)}_createController(t,e){return new(0,e.type)(vt({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,e.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:e=>t._getViewport(e,{width:e.width,height:e.height})},e))}_updateController(t,e,n,i){let r=t.controller;return r?(r=zn(vt(vt(vt({},e),t.props),r),{id:t.id,x:n.x,y:n.y,width:n.width,height:n.height}),i?i.setProps(r):i=this._createController(t,r),i):null}_rebuildViewports(){const{width:t,height:e,views:n}=this,i=this.controllers;this._viewports=[],this.controllers={};let r=!1;for(let s=n.length;s--;){const o=n[s],a=this.getViewState(o),l=o.makeViewport({width:t,height:e,viewState:a});let c=i[o.id];o.controller&&!c&&(r=!0),(r||!o.controller)&&c&&(c.finalize(),c=null),this.controllers[o.id]=this._updateController(o,a,l,c),this._viewports.unshift(l)}for(const s in i)i[s]&&!this.controllers[s]&&i[s].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(t=>{t.id&&(this._viewportMap[t.id]=this._viewportMap[t.id]||t)})}_diffViews(t,e){return t.length!==e.length||t.some((n,i)=>!t[i].equals(e[i]))}}class wI extends CM{constructor({makeViewport:t,width:e,height:n,latitude:i,longitude:r,zoom:s,bearing:o=0,pitch:a=0,altitude:l=1.5,maxZoom:c=20,minZoom:u=0,maxPitch:h=60,minPitch:d=0,startPanLngLat:p,startZoomLngLat:f,startRotatePos:g,startBearing:m,startPitch:b,startZoom:y,normalize:v}={}){RC(Number.isFinite(r)),RC(Number.isFinite(i)),RC(Number.isFinite(s)),super({width:e,height:n,latitude:i,longitude:r,zoom:s,bearing:o,pitch:a,altitude:l,maxZoom:c,minZoom:u,maxPitch:h,minPitch:d,normalize:v}),this._state={startPanLngLat:p,startZoomLngLat:f,startRotatePos:g,startBearing:m,startPitch:b,startZoom:y},this.makeViewport=t}panStart({pos:t}){return this._getUpdatedState({startPanLngLat:this._unproject(t)})}pan({pos:t,startPos:e}){const n=this._state.startPanLngLat||this._unproject(e);if(!n)return this;const i=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(i)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:t,deltaAngleX:e=0,deltaAngleY:n=0}){const{startRotatePos:i,startBearing:r,startPitch:s}=this._state;if(!i||!Number.isFinite(r)||!Number.isFinite(s))return this;let o;return o=t?this._calculateNewPitchAndBearing(zn(vt({},this._getRotationParams(t,i)),{startBearing:r,startPitch:s})):{bearing:r+e,pitch:s+n},this._getUpdatedState(o)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:t}){return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this._viewportProps.zoom})}zoom({pos:t,startPos:e,scale:n}){let{startZoom:i,startZoomLngLat:r}=this._state;Number.isFinite(i)||(i=this._viewportProps.zoom,r=this._unproject(e)||this._unproject(t));const s=this._calculateNewZoom({scale:n,startZoom:i}),o=this.makeViewport(zn(vt({},this._viewportProps),{zoom:s}));return this._getUpdatedState(vt({zoom:s},o.panByPosition(r,t)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(t=2){return this._zoomFromCenter(t)}zoomOut(t=2){return this._zoomFromCenter(1/t)}moveLeft(t=100){return this._panFromCenter([t,0])}moveRight(t=100){return this._panFromCenter([-t,0])}moveUp(t=100){return this._panFromCenter([0,t])}moveDown(t=100){return this._panFromCenter([0,-t])}rotateLeft(t=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-t})}rotateRight(t=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+t})}rotateUp(t=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+t})}rotateDown(t=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-t})}shortestPathFrom(t){const e=t.getViewportProps(),n=vt({},this._viewportProps),{bearing:i,longitude:r}=n;return Math.abs(i-e.bearing)>180&&(n.bearing=i<0?i+360:i-360),Math.abs(r-e.longitude)>180&&(n.longitude=r<0?r+360:r-360),n}_zoomFromCenter(t){const{width:e,height:n}=this._viewportProps;return this.zoom({pos:[e/2,n/2],scale:t})}_panFromCenter(t){const{width:e,height:n}=this._viewportProps;return this.pan({startPos:[e/2,n/2],pos:[e/2+t[0],n/2+t[1]]})}_getUpdatedState(t){return new this.constructor(vt(vt(vt({makeViewport:this.makeViewport},this._viewportProps),this._state),t))}_applyConstraints(t){const{maxZoom:e,minZoom:n,zoom:i}=t;t.zoom=tC(i,n,e);const{maxPitch:r,minPitch:s,pitch:o}=t;t.pitch=tC(o,s,r);const{normalize:a=!0}=t;return a&&Object.assign(t,function({width:t,height:e,longitude:n,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(n<-180||n>180)&&(n=UT(n+180,360)-180),(o<-180||o>180)&&(o=UT(o+180,360)-180);const a=$T(e/512);if(r<=a)r=a,i=0;else{const t=e/2/Math.pow(2,r),n=tk([0,t])[1];if(ie&&(i=e)}}return{width:t,height:e,longitude:n,latitude:i,zoom:r,pitch:s,bearing:o}}(t)),t}_unproject(t){const e=this.makeViewport(this._viewportProps);return t&&e.unproject(t)}_calculateNewZoom({scale:t,startZoom:e}){const{maxZoom:n,minZoom:i}=this._viewportProps;return tC(e+Math.log2(t),i,n)}_calculateNewPitchAndBearing({deltaScaleX:t,deltaScaleY:e,startBearing:n,startPitch:i}){e=tC(e,-1,1);const{minPitch:r,maxPitch:s}=this._viewportProps;let o=i;return e>0?o=i+e*(s-i):e<0&&(o=i-e*(r-i)),{pitch:o,bearing:n+180*t}}_getRotationParams(t,e){const n=t[0]-e[0],i=t[1]-e[1],r=t[1],s=e[1],{width:o,height:a}=this._viewportProps,l=n/o;let c=0;return i>0?Math.abs(a-s)>5&&(c=i/(s-a)*1.2):i<0&&s>5&&(c=1-r/s),c=Math.min(1,Math.max(-1,c)),{deltaScaleX:l,deltaScaleY:c}}}class xI extends SM{constructor(t){t.dragMode=t.dragMode||"pan",super(wI,t)}setProps(t){const e=this.controllerStateProps;super.setProps(t),(!e||e.height!==t.height)&&this.updateViewport(new this.ControllerState(vt(vt({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let SI=(()=>{class t extends aM{constructor(t){super(zn(vt({},t),{type:pk}))}get controller(){return this._getControllerProps({type:xI})}}return t.displayName="MapView",t})();const CI=new cI;class EI{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(t){"effects"in t&&(t.effects.length!==this.effects.length||!oM(t.effects,this.effects))&&(this.setEffects(t.effects),this._needsRedraw="effects changed")}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(t=[]){this.cleanup(),this.effects=t,this._createInternalEffects()}cleanup(){for(const t of this.effects)t.cleanup();for(const t of this._internalEffects)t.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(t=>t instanceof cI)||this._internalEffects.push(CI)}}class OI extends qM{}const TI={blendFunc:[1,0,32771,0],blendEquation:32774};class kI extends qM{render(t){t.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(t)):(this.useAlpha=!1,super.render(t))}_drawPickingBuffer({layers:t,layerFilter:e,views:n,viewports:i,onViewportActive:r,pickingFBO:s,deviceRect:{x:o,y:a,width:l,height:c},pass:u="picking",redrawReason:h,pickZ:d}){const p=this.gl;return this.pickZ=d,Ix(p,zn(vt({scissorTest:!0,scissor:[o,a,l,c],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},TI),{blend:!d}),()=>{super.render({target:s,layers:t,layerFilter:e,views:n,viewports:i,onViewportActive:r,pass:u,redrawReason:h})})}shouldDrawLayer(t){return t.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(t,e){const n=this.pickZ?{blend:!1}:zn(vt({},TI),{blend:!0,blendColor:[0,0,0,this.useAlpha?(e+1)/255:1]});return vt(vt({},t.props.parameters),n)}}class PI{constructor(t){this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new OI(t),this.pickLayersPass=new kI(t),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(t){"layerFilter"in t&&this.layerFilter!==t.layerFilter&&(this.layerFilter=t.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in t&&this.drawPickingColors!==t.drawPickingColors&&(this.drawPickingColors=t.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(t){const e=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;t.layerFilter=this.layerFilter,t.effects=t.effects||[],t.target=t.target||BS.getDefaultFramebuffer(this.gl),this._preRender(t.effects,t);const n=this.lastPostProcessEffect?this.renderBuffers[0]:t.target,i=e.render(zn(vt({},t),{target:n}));this._postRender(t.effects,t),this.renderCount++,tE("deckRenderer.renderLayers",this,i,t)}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}finalize(){const{renderBuffers:t}=this;for(const e of t)e.delete();t.length=0}_preRender(t,e){let n=null;for(const i of t)i.preRender(this.gl,e),i.postRender&&(n=i);n&&this._resizeRenderBuffers(),this.lastPostProcessEffect=n}_resizeRenderBuffers(){const{renderBuffers:t}=this;0===t.length&&t.push(new BS(this.gl),new BS(this.gl));for(const e of t)e.resize()}_postRender(t,e){const{renderBuffers:n}=this,i={inputBuffer:n[0],swapBuffer:n[1],target:null};for(const r of t)if(r.postRender){if(r===this.lastPostProcessEffect){i.target=e.target,r.postRender(this.gl,i);break}const t=r.postRender(this.gl,i);i.inputBuffer=t,i.swapBuffer=t===n[0]?n[1]:n[0]}}}const AI={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function MI({pickedColors:t,layers:e,deviceX:n,deviceY:i,deviceRadius:r,deviceRect:s}){if(t){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,d=0;for(let e=0;eu)d+=4*l;else for(let e=0;e=0){const t=e+o-n,i=t*t+s;i<=u&&(u=i,h=d)}d+=4}}if(h>=0){const n=t[h+3]-1,i=t.slice(h,h+4),r=e[n];if(r){const t=r.decodePickingColor(i),e=Math.floor(h/4/l);return{pickedColor:i,pickedLayer:r,pickedObjectIndex:t,pickedX:o+(h/4-e*l),pickedY:a+e}}Gw.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return AI}function II({pickInfo:t,mode:e,viewports:n,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=t&&t.pickedLayer,c=function(t,e,n){for(let i=t.length-1;i>=0;i--){const r=t[i];if(r.containsPixel(e)&&(!n||n(r)))return r}return t[0]}(n,{x:s,y:o},i&&l&&(t=>i({layer:l,viewport:t,isPicking:!0,renderPass:"picking:".concat(e)}))),u=c&&c.unproject([s-c.x,o-c.y],{targetZ:a});return{color:null,layer:null,viewport:c,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:u,devicePixel:t&&[t.pickedX,t.pickedY],pixelRatio:r}}function DI(t){const{pickInfo:e,lastPickedInfo:n,mode:i,layers:r}=t,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const t=n.index,e=n.layerId,i=o&&o.props.id;if(i!==e||a!==t){if(i!==e){const t=r.find(t=>t.props.id===e);t&&l.unshift(t)}n.layerId=i,n.index=a,n.info=null}}const c=II(t),u=new Map;return u.set(null,c),l.forEach(t=>{let e=vt({},c);t===o&&(e.color=s,e.index=a,e.picked=!0),e=RI({layer:t,info:e,mode:i}),t===o&&"hover"===i&&(n.info=e),u.set(e.layer.id,e),"hover"===i&&e.layer.updateAutoHighlight(e)}),u}function RI({layer:t,info:e,mode:n}){for(;t&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=t,e=t.getPickingInfo({info:e,mode:n,sourceLayer:i}),t=t.parent}return e}class NI{constructor(t){this.gl=t,this.pickingFBO=null,this.pickLayersPass=new kI(t),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(t){"layerFilter"in t&&(this.layerFilter=t.layerFilter),"_pickable"in t&&(this._pickable=t._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(t){return this._pickClosestObject(t)}pickObjects(t){return this._pickVisibleObjects(t)}getLastPickedObject({x:t,y:e,layers:n,viewports:i},r=this.lastPickedInfo.info){const s=r&&r.layer&&r.layer.id,o=r&&r.viewport&&r.viewport.id,a=s?n.find(t=>t.id===s):null,l=o&&i.find(t=>t.id===o)||i[0],c=l&&l.unproject([t-l.x,e-l.y]),u={x:t,y:e,viewport:l,coordinate:c,layer:a};return a?vt(vt({},r),u):Object.assign(u,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:t}=this;return this.pickingFBO||(this.pickingFBO=new BS(t),BS.isSupported(t,{colorBufferFloat:!0})&&(this.depthFBO=new BS(t),this.depthFBO.attach({36064:new xS(t,{format:Zw(t)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:t.canvas.width,height:t.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:t.canvas.width,height:t.canvas.height}),this.pickingFBO}_getPickable(t){if(!1===this._pickable)return null;const e=t.filter(t=>t.isPickable()&&!t.isComposite);return e.length>255?(Gw.warn("Too many pickable layers, only picking the first 255")(),e.slice(0,255)):e.length?e:null}_pickClosestObject({layers:t,views:e,viewports:n,x:i,y:r,radius:s=0,depth:o=1,mode:a="query",unproject3D:l,onViewportActive:c}){if(!(t=this._getPickable(t)))return{result:[],emptyInfo:II({viewports:n,x:i,y:r})};this._resizeBuffer();const u=Rx(this.gl),h=Nx(this.gl,[i,r],!0),d=[h.x+Math.floor(h.width/2),h.y+Math.floor(h.height/2)],p=Math.round(s*u),{width:f,height:g}=this.pickingFBO,m=this._getPickingRect({deviceX:d[0],deviceY:d[1],deviceRadius:p,deviceWidth:f,deviceHeight:g});let b;const y=[],v={};for(let _=0;_=0){const s=t.slice(i,i+4),o=s.join(",");if(!n.has(o)){const t=e[r];t?n.set(o,{pickedColor:s,pickedLayer:t,pickedObjectIndex:t.decodePickingColor(s)}):Gw.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(n.values())}({pickedColors:this._drawAndSample({layers:t,views:e,viewports:n,onViewportActive:c,deviceRect:{x:d,y:g,width:f.x+f.width-d,height:p-g},pass:"picking:".concat(a),redrawReason:a}),layers:t}),b=new Map,y=Number.isFinite(l);for(let v=0;v=l);v++){const t=m[v];let e={color:t.pickedColor,layer:null,index:t.pickedObjectIndex,picked:!0,x:i,y:r,width:s,height:o,pixelRatio:u};e=RI({layer:t.pickedLayer,info:e,mode:a}),b.has(e.object)||b.set(e.object,e)}return Array.from(b.values())}_drawAndSample({layers:t,views:e,viewports:n,onViewportActive:i,deviceRect:r,pass:s,redrawReason:o,pickZ:a}){if(t.length<1)return null;const l=a?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:t,layerFilter:this.layerFilter,views:e,viewports:n,onViewportActive:i,pickingFBO:l,deviceRect:r,pass:s,redrawReason:o,pickZ:a});const{x:c,y:u,width:h,height:d}=r,p=new(a?Float32Array:Uint8Array)(h*d*4);return NS(l,{sourceX:c,sourceY:u,sourceWidth:h,sourceHeight:d,target:p}),p}_getPickingRect({deviceX:t,deviceY:e,deviceRadius:n,deviceWidth:i,deviceHeight:r}){const s=Math.max(0,t-n),o=Math.max(0,e-n),a=Math.min(i,t+n+1)-s,l=Math.min(r,e+n+1)-o;return a<=0||l<=0?null:{x:s,y:o,width:a,height:l}}}const LI={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class jI{constructor(t){const e=t.parentElement;e&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,LI),e.appendChild(this.el)),this.isVisible=!1}setTooltip(t,e,n){const i=this.el;if("string"==typeof t)i.innerText=t;else{if(!t)return this.isVisible=!1,void(i.style.display="none");"text"in t&&(i.innerText=t.text),"html"in t&&(i.innerHTML=t.html),"className"in t&&(i.className=t.className),Object.assign(i.style,t.style)}this.isVisible=!0,i.style.display="block",i.style.transform="translate(".concat(e,"px, ").concat(n,"px)")}remove(){this.el&&this.el.remove()}}function FI(t,e){if(!t)throw new Error(e)}const BI={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},VI=BI.global||BI.self||BI.window,zI="object"!=typeof process||"[object process]"!==String(process)||process.browser,UI="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:HI}=(UI&&parseFloat(UI[1]),VI),$I="undefined"!=typeof Image,GI="undefined"!=typeof ImageBitmap,WI=Boolean(HI),qI=!!zI||WI;function XI(t){const e=function(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&t instanceof Image?"image":t&&"object"==typeof t&&t.data&&t.width&&t.height?"data":null}(t);if(!e)throw new Error("Not an image");return e}function YI(t){switch(XI(t)){case"data":return t;case"image":case"imagebitmap":const e=document.createElement("canvas"),n=e.getContext("2d");if(!n)throw new Error("getImageData");return e.width=t.width,e.height=t.height,n.drawImage(t,0,0),n.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}const KI=/^data:image\/svg\+xml/,QI=/\.svg((\?|#).*)?$/;function ZI(t){return t&&(KI.test(t)||QI.test(t))}function JI(t,e){if(ZI(e)){let e=(new TextDecoder).decode(t);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(e=unescape(encodeURIComponent(e)))}catch(n){throw new Error(n.message)}return`data:image/svg+xml;base64,${btoa(e)}`}return tD(t,e)}function tD(t,e){if(ZI(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}function eD(t,e,n){return nD.apply(this,arguments)}function nD(){return(nD=PS(function*(t,e,n){const i=JI(t,n),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield iD(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function iD(t,e){return rD.apply(this,arguments)}function rD(){return(rD=PS(function*(t,e){const n=new Image;return n.src=t,e.image&&e.image.decode&&n.decode?(yield n.decode(),n):yield new Promise((e,i)=>{try{n.onload=()=>e(n),n.onerror=e=>i(new Error(`Could not load image ${t}: ${e}`))}catch(r){i(r)}})})).apply(this,arguments)}const sD={};let oD=!0;function aD(t,e,n){return lD.apply(this,arguments)}function lD(){return(lD=PS(function*(t,e,n){let i;i=ZI(n)?yield eD(t,e,n):tD(t,n);const r=e&&e.imagebitmap;return yield cD(i,r)})).apply(this,arguments)}function cD(t){return uD.apply(this,arguments)}function uD(){return(uD=PS(function*(t,e=null){if((hD(e)||!oD)&&(e=null),e)try{return yield createImageBitmap(t,e)}catch(n){console.warn(n),oD=!1}return yield createImageBitmap(t)})).apply(this,arguments)}function hD(t){for(const e in t||sD)return!1;return!0}const dD=!1,pD=!0;function fD(t){const e=gD(t);return function(t){const e=gD(t);return e.byteLength>=24&&2303741511===e.getUint32(0,dD)?{mimeType:"image/png",width:e.getUint32(16,dD),height:e.getUint32(20,dD)}:null}(e)||function(t){const e=gD(t);if(!(e.byteLength>=3&&65496===e.getUint16(0,dD)&&255===e.getUint8(2)))return null;const{tableMarkers:n,sofMarkers:i}=function(){const t=new Set([65499,65476,65484,65501,65534]);for(let e=65504;e<65520;++e)t.add(e);return{tableMarkers:t,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let r=2;for(;r+9=10&&1195984440===e.getUint32(0,dD)?{mimeType:"image/gif",width:e.getUint16(6,pD),height:e.getUint16(8,pD)}:null}(e)||function(t){const e=gD(t);return e.byteLength>=14&&16973===e.getUint16(0,dD)&&e.getUint32(2,pD)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,pD),height:e.getUint32(22,pD)}:null}(e)}function gD(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}function mD(t,e){const{mimeType:n}=fD(t)||{},{_parseImageNode:i}=VI;return FI(i),i(t,n,e)}function bD(){return(bD=PS(function*(t,e,n){const i=((e=e||{}).image||{}).type||"auto",{url:r}=n||{};let s;switch(yD(i)){case"imagebitmap":s=yield aD(t,e,r);break;case"image":s=yield eD(t,e,r);break;case"data":s=yield mD(t,e);break;default:FI(!1)}return"data"===i&&(s=YI(s)),s})).apply(this,arguments)}function yD(t){switch(t){case"auto":case"data":return function(){if(GI)return"imagebitmap";if($I)return"image";if(qI)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(t){switch(t){case"auto":return GI||$I||qI;case"imagebitmap":return GI;case"image":return $I;case"data":return qI;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}(t),t}}const vD={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(t,e,n){return bD.apply(this,arguments)},tests:[t=>Boolean(fD(new DataView(t)))],options:{image:{type:"auto",decode:!0}}};var _D=n(84761),wD={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(t){const e=t[0],n=t[t.length-1];return"{"===e&&"}"===n||"["===e&&"]"===n},parseTextSync:JSON.parse};const xD="8.5.8",SD=_D.CO.deck&&_D.CO.deck.VERSION;if(SD&&SD!==xD)throw new Error("deck.gl - multiple versions detected: ".concat(SD," vs ").concat(xD));SD||(Gw.log(1,"deck.gl ".concat(xD))(),_D.CO.deck=Object.assign(_D.CO.deck||{},{VERSION:xD,version:xD,log:Gw,_registerLoggers:function(t){JC=t}}),DA([wD,[vD,{imagebitmap:{premultiplyAlpha:"none"}}]]));var CD=_D.CO.deck;class ED extends iS{get[Symbol.toStringTag](){return"Query"}static isSupported(t,e=[]){const n=Zw(t),i=US(t,"TIMER_QUERY");let r=n||i;for(const s of e)switch(s){case"queries":r=r&&n;break;case"timers":r=r&&i;break;default:Xx(!1)}return r}constructor(t,e={}){super(t,e),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:t=!1}={}){return this.begin(t?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(t){return this._queryPending||(this.target=t,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const t=this.gl2.getQueryParameter(this.handle,34919);return t&&(this._queryPending=!1),t}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(t=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let e=0;return this._pollingPromise=new Promise((n,i)=>{const r=()=>{this.isResultAvailable()?(n(this.getResult()),this._pollingPromise=null):e++>t?(i("Timed out"),this._pollingPromise=null):requestAnimationFrame(r)};requestAnimationFrame(r)}),this._pollingPromise}_createHandle(){return ED.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const OD=Dx()&&"undefined"!=typeof document;let TD=0;class kD{constructor(t={}){const{onCreateContext:e=(t=>zx(t)),onAddHTML:n=null,onInitialize:i=(()=>{}),onRender:r=(()=>{}),onFinalize:s=(()=>{}),onError:o,gl:a=null,glOptions:l={},debug:c=!1,createFramebuffer:u=!1,autoResizeViewport:h=!0,autoResizeDrawingBuffer:d=!0,stats:p=qx.get("animation-loop-"+TD++)}=t;let{useDevicePixels:f=!0}=t;"useDevicePixelRatio"in t&&(Yw.deprecated("useDevicePixelRatio","useDevicePixels")(),f=t.useDevicePixelRatio),this.props={onCreateContext:e,onAddHTML:n,onInitialize:i,onRender:r,onFinalize:s,onError:o,gl:a,glOptions:l,debug:c,createFramebuffer:u},this.gl=a,this.needsRedraw=null,this.timeline=null,this.stats=p,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:h,autoResizeDrawingBuffer:d,useDevicePixels:f}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(t){return Xx("string"==typeof t),this.needsRedraw=this.needsRedraw||t,this}setProps(t){return"autoResizeViewport"in t&&(this.autoResizeViewport=t.autoResizeViewport),"autoResizeDrawingBuffer"in t&&(this.autoResizeDrawingBuffer=t.autoResizeDrawingBuffer),"useDevicePixels"in t&&(this.useDevicePixels=t.useDevicePixels),this}start(t={}){if(this._running)return this;this._running=!0;const e=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(t),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=ED.isSupported(this.gl,["timers"])?new ED(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(t=>{this._running&&(this._addCallbackData(t||{}),!1!==t&&this._startLoop())});return this.props.onError&&e.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(t){return this.timeline=t,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(t=>{this._resolveNextFrame=t})),this._nextFramePromise}toDataURL(){var t=this;return PS(function*(){return t.setNeedsRedraw("toDataURL"),yield t.waitForRender(),t.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...t){return this.props.onCreateContext(...t)}onInitialize(...t){return this.props.onInitialize(...t)}onRender(...t){return this.props.onRender(...t)}onFinalize(...t){return this.props.onFinalize(...t)}getHTMLControlValue(t,e=1){const n=document.getElementById(t);return n?Number(n.value):e}setViewParameters(){return Yw.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const t=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(t))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(t)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=OD?new Promise((t,e)=>{OD&&"complete"===document.readyState?t(document):window.addEventListener("load",()=>{t(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(t){this.display&&(this.display.delete(),this.display.animationLoop=null),t&&(t.animationLoop=this),this.display=t}_cancelAnimationFrame(t){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(t):function(t){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(t):clearTimeout(t)}(t)}_requestAnimationFrame(t){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(t):function(t){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(t):setTimeout(t,1e3/60)}(t)}_renderFrame(...t){this.display?this.display._renderFrame(...t):this.onRender(...t)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:t,height:e,aspect:n}=this._getSizeAndAspect();(t!==this.animationProps.width||e!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),n!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=t,this.animationProps.height=e,this.animationProps.aspect=n,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(t){"object"==typeof t&&null!==t&&(this.animationProps=Object.assign({},this.animationProps,t))}_createWebGLContext(t){if(this.offScreen=t.canvas&&"undefined"!=typeof OffscreenCanvas&&t.canvas instanceof OffscreenCanvas,t=Object.assign({},t,this.props.glOptions),this.gl=this.props.gl?Ux(this.props.gl,t):this.onCreateContext(t),!Qw(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(t){Mx(t,px)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const t=document.createElement("div");document.body.appendChild(t),t.style.position="relative";const e=document.createElement("div");e.style.position="absolute",e.style.left="10px",e.style.bottom="10px",e.style.width="300px",e.style.background="white",t.appendChild(this.gl.canvas),t.appendChild(e);const n=this.props.onAddHTML(e);n&&(e.innerHTML=n)}}_getSizeAndAspect(){const t=this.gl.drawingBufferWidth,e=this.gl.drawingBufferHeight;let n=1;const{canvas:i}=this.gl;return i&&i.clientHeight?n=i.clientWidth/i.clientHeight:t>0&&e>0&&(n=t/e),{width:t,height:e,aspect:n}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(t,e={}){if(t.canvas)return void function(t,e,n){let i="width"in n?n.width:t.canvas.clientWidth,r="height"in n?n.height:t.canvas.clientHeight;(!i||!r)&&(Yw.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=t.canvas.width||1,r=t.canvas.height||1),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{};const s=t.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let n=e;const s=Math.floor(i*n),o=Math.floor(r*n);t.canvas.width=s,t.canvas.height=o,(t.drawingBufferWidth!==s||t.drawingBufferHeight!==o)&&(Yw.warn("Device pixel ratio clamped")(),n=Math.min(t.drawingBufferWidth/i,t.drawingBufferHeight/r),t.canvas.width=Math.floor(i*n),t.canvas.height=Math.floor(r*n)),Object.assign(t.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(t,function(t){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(t)?t<=0?1:t:t?e:1}(e.useDevicePixels),e);const n=t.getExtension("STACKGL_resize_drawingbuffer");n&&"width"in e&&"height"in e&&n.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new BS(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:t}=this.gl;t&&(t.addEventListener("mousemove",this._onMousemove),t.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(t){this.animationProps._mousePosition=[t.offsetX,t.offsetY]}_onMouseleave(t){this.animationProps._mousePosition=null}}var PD=n(11524),AD=n.n(PD);const MD={mousedown:1,mousemove:2,mouseup:4};(function(t){const e=t.prototype.handler;t.prototype.handler=function(t){const n=this.store;t.button>0&&"pointerdown"===t.type&&(function(e,n){for(let i=0;i=0&&(this.pressed=!0),2&e&&0===t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(AD().MouseInput);const ID=AD().Manager;var DD=AD();const RD=DD?[[DD.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[DD.Rotate,{enable:!1}],[DD.Pinch,{enable:!1}],[DD.Swipe,{enable:!1}],[DD.Pan,{threshold:0,enable:!1}],[DD.Press,{enable:!1}],[DD.Tap,{event:"doubletap",taps:2,enable:!1}],[DD.Tap,{event:"anytap",enable:!1}],[DD.Tap,{enable:!1}]]:null,ND={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},LD={doubletap:["tap"]},jD={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},FD={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},BD={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},VD={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},zD="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",UD="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let HD=!1;try{const t={get passive(){return HD=!0,!0}};UD.addEventListener("test",t,t),UD.removeEventListener("test",t,t)}catch(m){}const $D=-1!==zD.indexOf("firefox"),{WHEEL_EVENTS:GD}=FD,WD=4.000244140625;class qD{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.events=GD.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(e=>t.addEventListener(e,this.handleEvent,!!HD&&{passive:!1}))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){"wheel"===t&&(this.options.enable=e)}handleEvent(t){if(!this.options.enable)return;let e=t.deltaY;UD.WheelEvent&&($D&&t.deltaMode===UD.WheelEvent.DOM_DELTA_PIXEL&&(e/=UD.devicePixelRatio),t.deltaMode===UD.WheelEvent.DOM_DELTA_LINE&&(e*=40));const n={x:t.clientX,y:t.clientY};0!==e&&e%WD==0&&(e=Math.floor(e/WD)),t.shiftKey&&e&&(e*=.25),this._onWheel(t,-e,n)}_onWheel(t,e,n){this.callback({type:"wheel",center:n,delta:e,srcEvent:t,pointerType:"mouse",target:t.target})}}const{MOUSE_EVENTS:XD}=FD,YD="pointermove",KD="pointerover",QD="pointerout",ZD="pointerleave";class JD{constructor(t,e,n={}){this.element=t,this.callback=e,this.pressed=!1,this.options=Object.assign({enable:!0},n),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=XD.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(e=>t.addEventListener(e,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){t===YD&&(this.enableMoveEvent=e),t===KD&&(this.enableOverEvent=e),t===QD&&(this.enableOutEvent=e),t===ZD&&(this.enableLeaveEvent=e)}handleEvent(t){this.handleOverEvent(t),this.handleOutEvent(t),this.handleLeaveEvent(t),this.handleMoveEvent(t)}handleOverEvent(t){this.enableOverEvent&&"mouseover"===t.type&&this.callback({type:KD,srcEvent:t,pointerType:"mouse",target:t.target})}handleOutEvent(t){this.enableOutEvent&&"mouseout"===t.type&&this.callback({type:QD,srcEvent:t,pointerType:"mouse",target:t.target})}handleLeaveEvent(t){this.enableLeaveEvent&&"mouseleave"===t.type&&this.callback({type:ZD,srcEvent:t,pointerType:"mouse",target:t.target})}handleMoveEvent(t){if(this.enableMoveEvent)switch(t.type){case"mousedown":t.button>=0&&(this.pressed=!0);break;case"mousemove":0===t.which&&(this.pressed=!1),this.pressed||this.callback({type:YD,srcEvent:t,pointerType:"mouse",target:t.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:tR}=FD,eR="keydown";class nR{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=tR.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),t.tabIndex=n.tabIndex||0,t.style.outline="none",this.events.forEach(e=>t.addEventListener(e,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){t===eR&&(this.enableDownEvent=e),"keyup"===t&&(this.enableUpEvent=e)}handleEvent(t){const e=t.target||t.srcElement;"INPUT"===e.tagName&&"text"===e.type||"TEXTAREA"===e.tagName||(this.enableDownEvent&&"keydown"===t.type&&this.callback({type:eR,srcEvent:t,key:t.key,target:t.target}),this.enableUpEvent&&"keyup"===t.type&&this.callback({type:"keyup",srcEvent:t,key:t.key,target:t.target}))}}const iR="contextmenu";class rR{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.handleEvent=this.handleEvent.bind(this),t.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(t,e){t===iR&&(this.options.enable=e)}handleEvent(t){!this.options.enable||this.callback({type:iR,center:{x:t.clientX,y:t.clientY},srcEvent:t,pointerType:"mouse",target:t.target})}}const sR={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},oR={srcElement:"root",priority:0};class aR{constructor(t){this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(t,e,n,i=!1,r=!1){const{handlers:s,handlersByElement:o}=this;n&&("object"!=typeof n||n.addEventListener)&&(n={srcElement:n}),n=n?Object.assign({},oR,n):oR;let a=o.get(n.srcElement);a||(a=[],o.set(n.srcElement,a));const l={type:t,handler:e,srcElement:n.srcElement,priority:n.priority};i&&(l.once=!0),r&&(l.passive=!0),s.push(l),this._active=this._active||!l.passive;let c=a.length-1;for(;c>=0&&!(a[c].priority>=l.priority);)c--;a.splice(c+1,0,l)}remove(t,e){const{handlers:n,handlersByElement:i}=this;for(let r=n.length-1;r>=0;r--){const s=n[r];if(s.type===t&&s.handler===e){n.splice(r,1);const t=i.get(s.srcElement);t.splice(t.indexOf(s),1),0===t.length&&i.delete(s.srcElement)}}this._active=n.some(t=>!t.passive)}handleEvent(t){if(this.isEmpty())return;const e=this._normalizeEvent(t);let n=t.srcEvent.target;for(;n&&n!==e.rootElement;){if(this._emit(e,n),e.handled)return;n=n.parentNode}this._emit(e,"root")}_emit(t,e){const n=this.handlersByElement.get(e);if(n){let e=!1;const i=()=>{t.handled=!0},r=()=>{t.handled=!0,e=!0},s=[];for(let o=0;o{const e=this.manager.get(t);e&&ND[t].forEach(t=>{e.recognizeWith(t)})});for(const n in e.recognizerOptions){const t=this.manager.get(n);if(t){const i=e.recognizerOptions[n];delete i.enable,t.set(i)}}this.wheelInput=new qD(t,this._onOtherEvent,{enable:!1}),this.moveInput=new JD(t,this._onOtherEvent,{enable:!1}),this.keyInput=new nR(t,this._onOtherEvent,{enable:!1,tabIndex:e.tabIndex}),this.contextmenuInput=new rR(t,this._onOtherEvent,{enable:!1});for(const[n,i]of this.events)i.isEmpty()||(this._toggleRecognizer(i.recognizerName,!0),this.manager.on(n,i.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(t,e,n){this._addEventHandler(t,e,n,!1)}once(t,e,n){this._addEventHandler(t,e,n,!0)}watch(t,e,n){this._addEventHandler(t,e,n,!1,!0)}off(t,e){this._removeEventHandler(t,e)}_toggleRecognizer(t,e){const{manager:n}=this;if(!n)return;const i=n.get(t);if(i&&i.options.enable!==e){i.set({enable:e});const r=LD[t];r&&!this.options.recognizers&&r.forEach(r=>{const s=n.get(r);e?(s.requireFailure(t),i.dropRequireFailure(r)):s.dropRequireFailure(t)})}this.wheelInput.enableEventType(t,e),this.moveInput.enableEventType(t,e),this.keyInput.enableEventType(t,e),this.contextmenuInput.enableEventType(t,e)}_addEventHandler(t,e,n,i,r){if("string"!=typeof t){n=e;for(const e in t)this._addEventHandler(e,t[e],n,i,r);return}const{manager:s,events:o}=this,a=VD[t]||t;let l=o.get(a);l||(l=new aR(this),o.set(a,l),l.recognizerName=BD[a]||a,s&&s.on(a,l.handleEvent)),l.add(t,e,n,i,r),l.isEmpty()||this._toggleRecognizer(l.recognizerName,!0)}_removeEventHandler(t,e){if("string"!=typeof t){for(const e in t)this._removeEventHandler(e,t[e]);return}const{events:n}=this,i=n.get(VD[t]||t);if(i&&(i.remove(t,e),i.isEmpty())){const{recognizerName:t}=i;let e=!1;for(const i of n.values())if(i.recognizerName===t&&!i.isEmpty()){e=!0;break}e||this._toggleRecognizer(t,!1)}}_onBasicInput(t){const{srcEvent:e}=t,n=jD[e.type];n&&this.manager.emit(n,t)}_onOtherEvent(t){this.manager.emit(t.type,t)}}function uR(){}const hR={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:uR,onResize:uR,onViewStateChange:uR,onInteractionStateChange:uR,onBeforeRender:uR,onAfterRender:uR,onLoad:uR,onError:(t,e)=>Gw.error(t)(),_onMetrics:null,getCursor:({isDragging:t})=>t?"grabbing":"grab",debug:!1,drawPickingColors:!1};class dR{constructor(t){t=vt(vt({},hR),t),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),t.viewState&&t.initialViewState&&Gw.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,_D.qs)()&&Gw.warn("IE 11 support will be deprecated in v8.0")(),t.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new Gx({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&GS.setProps(t._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(t){this.stats.get("setProps Time").timeStart(),"onLayerHover"in t&&Gw.removed("onLayerHover","onHover")(),"onLayerClick"in t&&Gw.removed("onLayerClick","onClick")(),t.initialViewState&&!oM(this.props.initialViewState,t.initialViewState)&&(this.viewState=t.initialViewState),Object.assign(this.props,t),this._setCanvasSize(this.props);const e=Object.create(this.props);Object.assign(e,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(e),this.layerManager&&(this.viewManager.setProps(e),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(e),this.effectManager.setProps(e),this.deckRenderer.setProps(e),this.deckPicker.setProps(e)),this.stats.get("setProps Time").timeEnd()}needsRedraw(t={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let e=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);const n=this.viewManager.needsRedraw(t),i=this.layerManager.needsRedraw(t),r=this.effectManager.needsRedraw(t),s=this.deckRenderer.needsRedraw(t);return e=e||n||i||r||s,e}redraw(t){if(!this.layerManager)return;const e=t||this.needsRedraw({clearRedrawFlags:!0});!e||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(e):this._drawLayers(e))}getViews(){return this.viewManager.views}getViewports(t){return this.viewManager.getViewports(t)}pickObject(t){const e=this._pick("pickObject","pickObject Time",t).result;return e.length?e[0]:null}pickMultipleObjects(t){return t.depth=t.depth||10,this._pick("pickObject","pickMultipleObjects Time",t).result}pickObjects(t){return this._pick("pickObjects","pickObjects Time",t)}_addResources(t,e=!1){for(const n in t)this.layerManager.resourceManager.add({resourceId:n,data:t[n],forceUpdate:e})}_removeResources(t){for(const e of t)this.layerManager.resourceManager.remove(e)}_pick(t,e,n){const{stats:i}=this;i.get("Pick Count").incrementCount(),i.get(e).timeStart();const r=this.deckPicker[t](vt({layers:this.layerManager.getLayers(n),views:this.viewManager.getViews(),viewports:this.getViewports(n),onViewportActive:this.layerManager.activateViewport},n));return i.get(e).timeEnd(),r}_createCanvas(t){let e=t.canvas;return"string"==typeof e&&(e=document.getElementById(e),RC(e)),e||(e=document.createElement("canvas"),e.id=t.id||"deckgl-overlay",(t.parent||document.body).appendChild(e)),Object.assign(e.style,t.style),e}_setCanvasSize(t){if(!this.canvas)return;let{width:e,height:n}=t;(e||0===e)&&(e=Number.isFinite(e)?"".concat(e,"px"):e,this.canvas.style.width=e),(n||0===n)&&(n=Number.isFinite(n)?"".concat(n,"px"):n,this.canvas.style.position="absolute",this.canvas.style.height=n)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:t,height:e}=this;this.viewManager.setProps({width:t,height:e}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:t}=this;if(!t)return!1;const e=t.clientWidth||t.width,n=t.clientHeight||t.height;return(e!==this.width||n!==this.height)&&(this.width=e,this.height=n,!0)}_createAnimationLoop(t){const{width:e,height:n,gl:i,glOptions:r,debug:s,onError:o,onBeforeRender:a,onAfterRender:l,useDevicePixels:c,autoResizeDrawingBuffer:u}=t;return new kD({width:e,height:n,useDevicePixels:c,autoResizeDrawingBuffer:u,autoResizeViewport:!1,gl:i,onCreateContext:t=>zx(zn(vt(vt({},r),t),{canvas:this.canvas,debug:s,onContextLost:()=>this._onContextLost()})),onInitialize:t=>this._setGLContext(t.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:a,onAfterRender:l,onError:o})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let t=this.props.views||[new SI({id:"default-view"})];return t=Array.isArray(t)?t:[t],t.length&&this.props.controller&&(t[0].props.controller=this.props.controller),t}_onContextLost(){const{onError:t}=this.props;this.animationLoop&&t&&t(new Error("WebGL context is lost"))}_onPointerMove(t){const{_pickRequest:e}=this;if("pointerleave"===t.type)e.x=-1,e.y=-1,e.radius=0;else{if(t.leftButton||t.rightButton)return;{const n=t.offsetCenter;if(!n)return;e.x=n.x,e.y=n.y,e.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:e.x,y:e.y}),e.event=t,e.mode="hover"}_pickAndCallback(){const{_pickRequest:t}=this;if(t.event){const{result:e,emptyInfo:n}=this._pick("pickObject","pickObject Time",t);this.interactiveState.isHovering=e.length>0;let i=n,r=!1;for(const s of e)i=s,r=s.layer.onHover(s,t.event);if(!r&&this.props.onHover&&this.props.onHover(i,t.event),this.props.getTooltip){const t=this.props.getTooltip(i);this.tooltip.setTooltip(t,i.x,i.y)}t.event=null}}_updateCursor(){const t=this.props.parent||this.canvas;t&&(t.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(t){if(this.layerManager)return;this.canvas||(this.canvas=t.canvas,Ux(t,{enable:!0,copyState:!0})),this.tooltip=new jI(this.canvas),Mx(t,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(t);const e=new dI;e.play(),this.animationLoop.attachTimeline(e),this.eventManager=new cR(this.props.parent||t.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const i in Xw)this.eventManager.on(i,this._onEvent);this.viewManager=new _I({timeline:e,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const n=this.viewManager.getViewports()[0];this.layerManager=new vI(t,{deck:this,stats:this.stats,viewport:n,timeline:e}),this.effectManager=new EI,this.deckRenderer=new PI(t),this.deckPicker=new NI(t),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(t,e){const{gl:n}=this.layerManager.context;Mx(n,this.props.parameters),this.props.onBeforeRender({gl:n}),this.deckRenderer.renderLayers(vt({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:t,effects:this.effectManager.getEffects()},e)),this.props.onAfterRender({gl:n})}_onRenderFrame(t){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Gw.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(t){const e=this.props.onViewStateChange(t)||t.viewState;this.viewState&&(this.viewState=zn(vt({},this.viewState),{[t.viewId]:e}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(t){this.interactiveState.isDragging=t.isDragging,this.props.onInteractionStateChange(t)}_onEvent(t){const e=Xw[t.type],n=t.offsetCenter;if(!e||!n)return;const i=this.layerManager.getLayers(),r=this.deckPicker.getLastPickedObject({x:n.x,y:n.y,layers:i,viewports:this.getViewports(n)},this._lastPointerDownInfo),{layer:s}=r,o=s&&(s[e.handler]||s.props[e.handler]),a=this.props[e.handler];let l=!1;o&&(l=o.call(s,r,t)),!l&&a&&a(r,t)}_onPointerDown(t){const e=t.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:e.x,y:e.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:t}=this;t.get("frameRate").timeEnd(),t.get("frameRate").timeStart();const e=this.animationLoop.stats;t.get("GPU Time").addTime(e.get("GPU Time").lastTiming),t.get("CPU Time").addTime(e.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:t,stats:e}=this;t.fps=e.get("frameRate").getHz(),t.setPropsTime=e.get("setProps Time").time,t.updateAttributesTime=e.get("Update Attributes").time,t.framesRedrawn=e.get("Redraw Count").count,t.pickTime=e.get("pickObject Time").time+e.get("pickMultipleObjects Time").time+e.get("pickObjects Time").time,t.pickCount=e.get("Pick Count").count,t.gpuTime=e.get("GPU Time").time,t.cpuTime=e.get("CPU Time").time,t.gpuTimePerFrame=e.get("GPU Time").getAverageTime(),t.cpuTimePerFrame=e.get("CPU Time").getAverageTime();const n=qx.get("Memory Usage");t.bufferMemory=n.get("Buffer Memory").count,t.textureMemory=n.get("Texture Memory").count,t.renderbufferMemory=n.get("Renderbuffer Memory").count,t.gpuMemory=n.get("GPU Memory").count}}dR.getPropTypes=function(t){return{id:t.string,width:t.oneOfType([t.number,t.string]),height:t.oneOfType([t.number,t.string]),layers:t.oneOfType([t.object,t.array]),layerFilter:t.func,views:t.oneOfType([t.object,t.array]),viewState:t.object,effects:t.arrayOf(t.instanceOf(WM)),controller:t.oneOfType([t.func,t.bool,t.object]),gl:t.object,glOptions:t.object,parameters:t.object,pickingRadius:t.number,useDevicePixels:t.oneOfType([t.bool,t.number]),touchAction:t.string,eventRecognizerOptions:t.object,onWebGLInitialized:t.func,onResize:t.func,onViewStateChange:t.func,onInteractionStateChange:t.func,onBeforeRender:t.func,onAfterRender:t.func,onLoad:t.func,onError:t.func,debug:t.bool,drawPickingColors:t.bool,_framebuffer:t.object,_animate:t.bool,_pickable:t.bool,_typedArrayManagerProps:t.object}},dR.defaultProps=hR,dR.VERSION=CD.VERSION;var pR={name:"project32",dependencies:[tI],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"};const fR={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1};var gR=vt({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(t=fR){const e={};if(void 0!==t.pickingSelectedColor)if(t.pickingSelectedColor){const n=t.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=n}else e.picking_uSelectedColorValid=0;if(t.pickingHighlightColor){const n=Array.from(t.pickingHighlightColor,t=>t/255);Number.isFinite(n[3])||(n[3]=1),e.picking_uHighlightColor=n}return void 0!==t.pickingActive&&(e.picking_uActive=Boolean(t.pickingActive),e.picking_uAttribute=Boolean(t.pickingAttribute)),e}});const mR={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class bR{static get DRAW_MODE(){return mR}constructor(t={}){const{id:e=Zx("geometry"),drawMode:n=mR.TRIANGLES,attributes:i={},indices:r=null,vertexCount:s=null}=t;this.id=e,this.drawMode=0|n,this.attributes={},this.userData={},this._setAttributes(i,r),this.vertexCount=s||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?vt({indices:this.indices},this.attributes):this.attributes}_print(t){return`Geometry ${this.id} attribute ${t}`}_setAttributes(t,e){e&&(this.indices=ArrayBuffer.isView(e)?{value:e,size:1}:e);for(const n in t){let e=t[n];e=ArrayBuffer.isView(e)?{value:e}:e,Xx(ArrayBuffer.isView(e.value),`${this._print(n)}: must be typed array or object with value as typed array`),("POSITION"===n||"positions"===n)&&!e.size&&(e.size=3),"indices"===n?(Xx(!this.indices),this.indices=e):this.attributes[n]=e}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(t,e){if(e)return e.value.length;let n=1/0;for(const i in t){const e=t[i],{value:r,size:s,constant:o}=e;!o&&r&&s>=1&&(n=Math.min(n,r.length/s))}return Xx(Number.isFinite(n)),n}}const yR=()=>{},vR={10241:9987,10240:9729,10242:33071,10243:33071};function _R(t){return Math.pow(2,Math.ceil(Math.log2(t)))}function wR(t,e,n,i){return n===e.width&&i===e.height?e:(t.canvas.height=i,t.canvas.width=n,t.clearRect(0,0,t.canvas.width,t.canvas.height),t.drawImage(e,0,0,e.width,e.height,0,0,n,i),t.canvas)}function xR(t){return t&&(t.id||t.url)}function SR(t,e,n){for(let i=0;i0){const{mapping:t,xOffset:n,yOffset:i,rowHeight:r,canvasHeight:s}=function({icons:t,buffer:e,mapping:n={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(SR(n,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+l+e,s=Math.max(s,t)}}return a.length>0&&SR(n,a,r),{mapping:n,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:_R(s+r+e)}}({icons:e,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=r,this._mapping=t,this._xOffset=n,this._yOffset=i,this._canvasHeight=s,this._texture||(this._texture=new xS(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:vR})),this._texture.height!==this._canvasHeight&&(this._texture=function(t,e,n,i){const r=e.width,s=e.height,o=DS(e,{width:n,height:i});return function(t,e,n={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=n;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=n;const{framebuffer:d,deleteFramebuffer:p}=jS(t);Xx(d);const{gl:f,handle:g}=d,m=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const b=f.bindFramebuffer(36160,g);Xx(e);let y=null;if(e instanceof _S&&(y=e,u=Number.isFinite(u)?u:y.width,h=Number.isFinite(h)?h:y.height,y.bind(0),e=y.target),m)switch(e){case 3553:case 34067:f.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:tx(f).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else f.copyTexImage2D(e,s,o,i,r,u,h,0);y&&y.unbind(),f.bindFramebuffer(36160,b||null),p&&d.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(e)}}_loadIcons(t){const e=this._canvas.getContext("2d");for(const n of t)this._pendingCount++,XA(n.url,vD,this._loadOptions).then(t=>{const i=xR(n),{x:r,y:s,width:o,height:a}=this._mapping[i],l=wR(e,t,o,a);this._texture.setSubImageData({data:l,x:r,y:s,width:o,height:a}),this._texture.generateMipmap(),this.onUpdate()}).catch(t=>{this.onError({url:n.url,source:n.source,sourceIndex:n.sourceIndex,loadOptions:this._loadOptions,error:t})}).finally(()=>{this._pendingCount--})}}const ER=[0,0,0,255],OR={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:t=>t.position},getIcon:{type:"accessor",value:t=>t.icon},getColor:{type:"accessor",value:ER},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let TR=(()=>{class t extends eM{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[pR,gR]})}initializeState(){this.state={iconManager:new CR(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:ER},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:e,changeFlags:n}){super.updateState({props:e,oldProps:t,changeFlags:n});const i=this.getAttributeManager(),{iconAtlas:r,iconMapping:s,data:o,getIcon:a}=e,{iconManager:l}=this.state;l.setProps({loadOptions:e.loadOptions});let c=!1;if(r||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==e.iconAtlas&&l.setProps({iconAtlas:r,autoPacking:!1}),t.iconMapping!==e.iconMapping&&(l.setProps({iconMapping:s}),c=!0)):l.setProps({autoPacking:!0}),(n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getIcon))&&l.setProps({data:o,getIcon:a}),c&&(i.invalidate("instanceOffsets"),i.invalidate("instanceIconFrames"),i.invalidate("instanceColorModes")),n.extensionsChanged){var u;const{gl:t}=this.context;null===(u=this.state.model)||void 0===u||u.delete(),this.state.model=this._getModel(t),i.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:e,sizeMinPixels:n,sizeMaxPixels:i,sizeUnits:r,billboard:s,alphaCutoff:o}=this.props,{iconManager:a}=this.state,{viewport:l}=this.context,c=a.getTexture();c&&this.state.model.setUniforms(t).setUniforms({iconsTexture:c,iconsTextureDim:[c.width,c.height],sizeScale:e*("pixels"===r?l.metersPerPixel:1),sizeMinPixels:n,sizeMaxPixels:i,billboard:s,alphaCutoff:o}).draw()}_getModel(t){return new WO(t,zn(vt({},this.getShaders()),{id:this.props.id,geometry:new bR({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:e}=this.getCurrentLayer().props;e?e(t):Gw.error(t.error)()}getInstanceOffset(t){const e=this.state.iconManager.getIconMapping(t);return[e.width/2-e.anchorX||0,e.height/2-e.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const e=this.state.iconManager.getIconMapping(t);return[e.x||0,e.y||0,e.width||0,e.height||0]}}return t.layerName="IconLayer",t.defaultProps=OR,t})();const kR=[],PR={getIconOffsets:{type:"accessor",value:t=>t.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let AR=(()=>{class t extends TR{getShaders(){return zn(vt({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(t,{index:e,target:n})=>this.encodePickingColor(e,n)}})}updateState(t){super.updateState(t);const{props:e,oldProps:n}=t;let{outlineColor:i}=e;i!==n.outlineColor&&(i=i.map(t=>t/255),i[3]=Number.isFinite(i[3])?i[3]:1,this.setState({outlineColor:i})),!e.sdf&&e.outlineWidth&&Gw.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:e,smoothing:n,outlineWidth:i}=this.props,{outlineColor:r}=this.state;t.uniforms=zn(vt({},t.uniforms),{buffer:.75,outlineBuffer:i?Math.max(n,.75*(1-i)):-1,gamma:n,sdf:Boolean(e),outlineColor:r}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(t=>super.getInstanceOffset(t)):kR}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(t=>super.getInstanceIconFrame(t)):kR}}return t.layerName="MultiIconLayer",t.defaultProps=PR,t})();var MR=n(51002),IR=n.n(MR);const DR=[];function RR(t){return Math.pow(2,Math.ceil(Math.log2(t)))}function NR(t,e,n,i){let r=0;for(let s=e;si&&(oa){let e=NR(t,a,l,r);c+e>i&&(oi&&(e=LR(t,a,l,i,r,s),o=s[s.length-1])),a=l,c+=e}}(t,r,s,n,i,o),o}function FR(t,e,n,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let d=0,p=0,f=0;for(let g=0;g<=s;g++){const m=t[g];if(("\n"===m||g===s)&&(f=g),f>p){const s=c?jR(t,n,i,r,p,f):DR;for(let n=0;n<=s.length;n++){const i=0===n?p:s[n-1],c=ne===t);e>=0&&this._order.splice(e,1)}_appendOrder(t){this._order.push(t)}}(3),HR=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function $R(t,e){for(let n=0;n{e in t&&(this.props[e]=t[e])});const e=this._key;this._key=this._getKey();const n=function(t,e){const n=UR.get(t);if(!n)return e;const i=[];let r=Object.keys(n.mapping);r=new Set(r);let s=e;return s instanceof Array&&(s=new Set(s)),s.forEach(t=>{r.has(t)||i.push(t)}),i}(this._key,this.props.characterSet),i=UR.get(this._key);if(i&&0===n.length)return void(this._key!==e&&(this._atlas=i));const r=this._generateFontAtlas(this._key,n,i);this._atlas=r,UR.set(this._key,r)}_generateFontAtlas(t,e,n){const{fontFamily:i,fontWeight:r,fontSize:s,buffer:o,sdf:a,radius:l,cutoff:c}=this.props;let u=n&&n.data;u||(u=document.createElement("canvas"),u.width=1024);const h=u.getContext("2d");GR(h,i,s,r);const{mapping:d,canvasHeight:p,xOffset:f,yOffset:g}=function({characterSet:t,getFontWidth:e,fontHeight:n,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const d of t)if(!s[d]){const t=e(d,u++);c+t+2*i>r&&(c=0,l++),s[d]={x:c+i,y:a+l*(n+2*i)+i,width:t,height:n},c+=t+2*i}const h=n+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:RR(a+(l+1)*h)}}(vt({getFontWidth:t=>h.measureText(t).width,fontHeight:1.2*s,buffer:o,characterSet:e,maxCanvasWidth:1024},n&&{mapping:n.mapping,xOffset:n.xOffset,yOffset:n.yOffset}));if(u.height!==p){const t=h.getImageData(0,0,u.width,u.height);u.height=p,h.putImageData(t,0,0)}if(GR(h,i,s,r),a){const t=new(IR())(s,o,l,c,i,r),n=h.getImageData(0,0,t.size,t.size);for(const i of e)$R(t.draw(i),n),h.putImageData(n,d[i].x-o,d[i].y+o)}else for(const m of e)h.fillText(m,d[m].x,d[m].y+.9*s);return{xOffset:f,yOffset:g,mapping:d,data:u,width:u.width,height:u.height}}_getKey(){const{fontFamily:t,fontWeight:e,fontSize:n,buffer:i,sdf:r,radius:s,cutoff:o}=this.props;return r?"".concat(t," ").concat(e," ").concat(n," ").concat(i," ").concat(s," ").concat(o):"".concat(t," ").concat(e," ").concat(n," ").concat(i)}}const qR={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:t=>t.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let XR=(()=>{class t extends eM{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[pR,gR]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:e,changeFlags:n}){if(super.updateState({props:t,oldProps:e,changeFlags:n}),n.extensionsChanged){var i;const{gl:t}=this.context;null===(i=this.state.model)||void 0===i||i.delete(),this.state.model=this._getModel(t),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:e}=this.context,{billboard:n,sizeScale:i,sizeUnits:r,sizeMinPixels:s,sizeMaxPixels:o,getLineWidth:a}=this.props;let{padding:l}=this.props;const c="pixels"===r?e.metersPerPixel:1;l.length<4&&(l=[l[0],l[1],l[0],l[1]]),this.state.model.setUniforms(t).setUniforms({billboard:n,stroked:Boolean(a),padding:l,sizeScale:i*c,sizeMinPixels:s,sizeMaxPixels:o}).draw()}_getModel(t){return new WO(t,zn(vt({},this.getShaders()),{id:this.props.id,geometry:new bR({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return t.layerName="TextBackgroundLayer",t.defaultProps=qR,t})();const YR={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},KR={start:1,middle:0,end:-1},QR={top:1,center:0,bottom:-1},ZR=[0,0,0,255],JR=["fontSize","buffer","sdf","radius","cutoff"],tN={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:ZR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:VR},fontFamily:zR,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:ZR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:t=>t.text},getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:ZR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let eN=(()=>{class t extends nM{initializeState(){this.state={styleVersion:0,fontAtlasManager:new WR}}updateState({props:t,oldProps:e,changeFlags:n}){const i=this.state.characterSet;(n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getText))&&this._updateText();const r=i!==this.state.characterSet||this._fontChanged(e,t);r&&this._updateFontAtlas(e,t),(r||t.lineHeight!==e.lineHeight||t.wordBreak!==e.wordBreak||t.maxWidth!==e.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,e){const{fontSettings:n,fontFamily:i,fontWeight:r}=e,{fontAtlasManager:s,characterSet:o}=this.state;s.setProps(zn(vt(vt({},YR),n),{characterSet:o,fontFamily:i,fontWeight:r}))}_fontChanged(t,e){if(t.fontFamily!==e.fontFamily||t.fontWeight!==e.fontWeight)return!0;if(t.fontSettings===e.fontSettings)return!1;const n=t.fontSettings||{},i=e.fontSettings||{};return JR.some(t=>n[t]!==i[t])}_updateText(){const{data:t,characterSet:e}=this.props,n=t.attributes&&t.attributes.getText;let i,{getText:r}=this.props,{startIndices:s}=t;const o="auto"===e&&new Set;if(n&&s){const{texts:e,characterCount:a}=function({value:t,length:e,stride:n,offset:i,startIndices:r,characterSet:s}){const o=t.BYTES_PER_ELEMENT,a=n?n/o:1,l=i?i/o:0,c=r[e]||Math.ceil((t.length-l)/a),u=s&&new Set,h=new Array(e);let d=t;if(a>1||l>0){d=new t.constructor(c);for(let e=0;ee[n]}else{const{iterable:e,objectInfo:n}=jC(t);s=[0],i=0;for(const t of e){n.index++;const e=Array.from(r(t,n)||"");o&&e.forEach(o.add,o),i+=e.length,s.push(i)}}this.setState({getText:r,startIndices:s,numInstances:i,characterSet:o||e})}getBoundingRect(t,e){const n=this.state.fontAtlasManager.mapping,{getText:i}=this.state,{wordBreak:r,maxWidth:s,lineHeight:o,getTextAnchor:a,getAlignmentBaseline:l}=this.props,c=i(t,e)||"",{size:[u,h]}=BR(c,o,r,s,n);return[(KR["function"==typeof a?a(t,e):a]-1)*u/2,(QR["function"==typeof l?l(t,e):l]-1)*h/2,u,h]}getIconOffsets(t,e){const n=this.state.fontAtlasManager.mapping,{getText:i}=this.state,{wordBreak:r,maxWidth:s,lineHeight:o,getTextAnchor:a,getAlignmentBaseline:l}=this.props,c=i(t,e)||"",{x:u,y:h,rowWidth:d,size:[p,f]}=BR(c,o,r,s,n),g=KR["function"==typeof a?a(t,e):a],m=QR["function"==typeof l?l(t,e):l],b=u.length,y=new Array(2*b);let v=0;for(let _=0;_t*e/255)}const sN={name:"lights",vs:nN,fs:nN,getUniforms:function t(e=iN){if("lightSources"in e){const{ambientLight:t,pointLights:n,directionalLights:i}=e.lightSources||{};return t||n&&n.length>0||i&&i.length>0?Object.assign({},function({ambientLight:t,pointLights:e=[],directionalLights:n=[]}){const i={};return i["lighting_uAmbientLight.color"]=t?rN(t):[0,0,0],e.forEach((t,e)=>{i[`lighting_uPointLight[${e}].color`]=rN(t),i[`lighting_uPointLight[${e}].position`]=t.position,i[`lighting_uPointLight[${e}].attenuation`]=t.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,n.forEach((t,e)=>{i[`lighting_uDirectionalLight[${e}].color`]=rN(t),i[`lighting_uDirectionalLight[${e}].direction`]=t.direction}),i.lighting_uDirectionalLightCount=n.length,i}({ambientLight:t,pointLights:n,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in e){const n={pointLights:[],directionalLights:[]};for(const t of e.lights||[])switch(t.type){case"ambient":n.ambientLight=t;break;case"directional":n.directionalLights.push(t);break;case"point":n.pointLights.push(t)}return t({lightSources:n})}return{}},defines:{MAX_LIGHTS:3}};const oN={};const aN={name:"phong-lighting",dependencies:[sN],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(t=oN){if(!("material"in t))return{};const{material:e}=t;return e?function(t){const{ambient:e=.35,diffuse:n=.6,shininess:i=32,specularColor:r=[30,30,30]}=t;return{lighting_uAmbient:e,lighting_uDiffuse:n,lighting_uShininess:i,lighting_uSpecularColor:r.map(t=>t/255)}}(e):{lighting_uEnabled:!1}}},lN=Math.PI/180,cN=new Float32Array(16),uN=new Float32Array(12);function hN(t,e,n){const i=e[0]*lN,r=e[1]*lN,s=e[2]*lN,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),d=n[0],p=n[1],f=n[2];t[0]=d*h*u,t[1]=d*l*u,t[2]=d*-a,t[3]=p*(-l*c+h*a*o),t[4]=p*(h*c+l*a*o),t[5]=p*u*o,t[6]=f*(l*o+h*a*c),t[7]=f*(-h*o+l*a*c),t[8]=f*u*c}function dN(t){return t[0]=t[0],t[1]=t[1],t[2]=t[2],t[3]=t[4],t[4]=t[5],t[5]=t[6],t[6]=t[8],t[7]=t[9],t[8]=t[10],t[9]=t[12],t[10]=t[13],t[11]=t[14],t.subarray(0,12)}const pN={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(t,{startRow:e,endRow:n}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),d=Array.isArray(o),p=c||!l&&Boolean(a(i[0]));t.constant=p?c:h&&u&&d;const f=t.value;if(t.constant){let e;p?(cN.set(a),e=dN(cN)):(e=uN,hN(e,r,s),e.set(o,9)),t.value=new Float32Array(e)}else{let l=e*t.size;const{iterable:g,objectInfo:m}=jC(i,e,n);for(const t of g){let e;m.index++,p?(cN.set(c?a:a(t,m)),e=dN(cN)):(e=uN,hN(e,h?r:r(t,m),u?s:s(t,m)),e.set(d?o:o(t,m),9)),f[l++]=e[0],f[l++]=e[1],f[l++]=e[2],f[l++]=e[3],f[l++]=e[4],f[l++]=e[5],f[l++]=e[6],f[l++]=e[7],f[l++]=e[8],f[l++]=e[9],f[l++]=e[10],f[l++]=e[11]}}}};function fN(t,e){return e===Ww.CARTESIAN||e===Ww.METER_OFFSETS||e===Ww.DEFAULT&&!t.isGeospatial}function gN(t,e){(t.COLOR_0||t.colors)&&e||(t.colors={constant:!0,value:new Float32Array([1,1,1])}),Gw.assert(t.positions||t.POSITION,'no "postions" or "POSITION" attribute in mesh')}function mN(t,e){if(t.attributes)return gN(t.attributes,e),t instanceof bR?t:new bR(t);if(t.positions||t.POSITION)return gN(t,e),new bR({attributes:t});throw Error("Invalid mesh")}const bN={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let yN=(()=>{class t extends eM{getShaders(){const t=!Zw(this.context.gl),e={};return zS(this.context.gl,"GLSL_DERIVATIVES")&&(e.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[pR,aN,gR],transpileToGLSL100:t,defines:e})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:pN}),this.setState({emptyTexture:new xS(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:e,changeFlags:n}){if(super.updateState({props:t,oldProps:e,changeFlags:n}),t.mesh!==e.mesh||n.extensionsChanged){var i;if(null===(i=this.state.model)||void 0===i||i.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const e=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(e.NORMAL||e.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==e.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:e}=this.context,{sizeScale:n,coordinateSystem:i,_instanced:r}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:n,composeModelMatrix:!r||fN(e,i),flatShading:!this.state.hasNormals}).draw()}getModel(t){const e=new WO(this.context.gl,zn(vt({},this.getShaders()),{id:this.props.id,geometry:mN(t,this.props._useMeshColors),isInstanced:!0})),{texture:n}=this.props,{emptyTexture:i}=this.state;return e.setUniforms({sampler:n||i,hasTexture:Boolean(n)}),e}setTexture(t){const{emptyTexture:e,model:n}=this.state;null==n||n.setUniforms({sampler:t||e,hasTexture:Boolean(t)})}}return t.layerName="SimpleMeshLayer",t.defaultProps=bN,t})();const vN={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[sN]};class _N{constructor(t={}){const{id:e}=t;this.id=e||Zx(this.constructor.name),this.display=!0,this.position=new OC,this.rotation=new OC,this.scale=new OC(1,1,1),this.matrix=new VT,this.userData={},this.props={},this._setScenegraphNodeProps(t)}delete(){}setProps(t){return this._setScenegraphNodeProps(t),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(t){return Xx(3===t.length,"setPosition requires vector argument"),this.position=t,this}setRotation(t){return Xx(3===t.length,"setRotation requires vector argument"),this.rotation=t,this}setScale(t){return Xx(3===t.length,"setScale requires vector argument"),this.scale=t,this}setMatrix(t,e=!0){e?this.matrix.copy(t):this.matrix=t}setMatrixComponents({position:t,rotation:e,scale:n,update:i=!0}){return t&&this.setPosition(t),e&&this.setRotation(e),n&&this.setScale(n),i&&this.updateMatrix(),this}updateMatrix(){const t=this.position,e=this.rotation,n=this.scale;return this.matrix.identity(),this.matrix.translate(t),this.matrix.rotateXYZ(e),this.matrix.scale(n),this}update(t={}){const{position:e,rotation:n,scale:i}=t;return e&&this.setPosition(e),n&&this.setRotation(n),i&&this.setScale(i),this.updateMatrix(),this}getCoordinateUniforms(t,e){Xx(t),e=e||this.matrix;const n=new VT(t).multiplyRight(e),i=n.invert(),r=i.transpose();return{viewMatrix:t,modelMatrix:e,objectMatrix:e,worldMatrix:n,worldInverseMatrix:i,worldInverseTransposeMatrix:r}}_setScenegraphNodeProps(t){"display"in t&&(this.display=t.display),"position"in t&&this.setPosition(t.position),"rotation"in t&&this.setRotation(t.rotation),"scale"in t&&this.setScale(t.scale),"matrix"in t&&this.setMatrix(t.matrix),Object.assign(this.props,t)}}class wN extends _N{constructor(t={}){t=Array.isArray(t)?{children:t}:t;const{children:e=[]}=t;Yw.assert(e.every(t=>t instanceof _N),"every child must an instance of ScenegraphNode"),super(t),this.children=e}add(...t){for(const e of t)Array.isArray(e)?this.add(...e):this.children.push(e);return this}remove(t){const e=this.children,n=e.indexOf(t);return n>-1&&e.splice(n,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(t=>t.delete()),this.removeAll(),super.delete()}traverse(t,{worldMatrix:e=new VT}={}){const n=new VT(e).multiplyRight(this.matrix);for(const i of this.children)i instanceof wN?i.traverse(t,{worldMatrix:n}):t(i,{worldMatrix:n})}}function xN(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=n[0],p=n[1],f=n[2],g=n[3],m=n[4],b=n[5],y=n[6],v=n[7],_=n[8];return t[0]=d*i+p*o+f*c,t[1]=d*r+p*a+f*u,t[2]=d*s+p*l+f*h,t[3]=g*i+m*o+b*c,t[4]=g*r+m*a+b*u,t[5]=g*s+m*l+b*h,t[6]=y*i+v*o+_*c,t[7]=y*r+v*a+_*u,t[8]=y*s+v*l+_*h,t}function SN(t,e,n){var i=n[0],r=n[1];return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=r*e[3],t[4]=r*e[4],t[5]=r*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function CN(){var t=new hC(4);return hC!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function EN(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function ON(t,e,n){n*=.5;var i=Math.sin(n);return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=Math.cos(n),t}function TN(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=n[0],l=n[1],c=n[2],u=n[3];return t[0]=i*u+o*a+r*c-s*l,t[1]=r*u+o*l+s*a-i*c,t[2]=s*u+o*c+i*l-r*a,t[3]=o*u-i*a-r*l-s*c,t}function kN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l+o*a,t[1]=r*l+s*a,t[2]=s*l-r*a,t[3]=o*l-i*a,t}function PN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l-s*a,t[1]=r*l+o*a,t[2]=s*l+i*a,t[3]=o*l-r*a,t}function AN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l+r*a,t[1]=r*l-i*a,t[2]=s*l+o*a,t[3]=o*l-s*a,t}function MN(t,e){var n=e[0],i=e[1],r=e[2];return t[0]=n,t[1]=i,t[2]=r,t[3]=Math.sqrt(Math.abs(1-n*n-i*i-r*r)),t}function IN(t,e,n,i){var r,s,o,a,l,c=e[0],u=e[1],h=e[2],d=e[3],p=n[0],f=n[1],g=n[2],m=n[3];return(s=c*p+u*f+h*g+d*m)<0&&(s=-s,p=-p,f=-f,g=-g,m=-m),1-s>uC?(r=Math.acos(s),o=Math.sin(r),a=Math.sin((1-i)*r)/o,l=Math.sin(i*r)/o):(a=1-i,l=i),t[0]=a*c+l*p,t[1]=a*u+l*f,t[2]=a*h+l*g,t[3]=a*d+l*m,t}function DN(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=n*n+i*i+r*r+s*s,a=o?1/o:0;return t[0]=-n*a,t[1]=-i*a,t[2]=-r*a,t[3]=s*a,t}function RN(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function NN(t,e){var n,i=e[0]+e[4]+e[8];if(i>0)n=Math.sqrt(i+1),t[3]=.5*n,t[0]=(e[5]-e[7])*(n=.5/n),t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;n=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),t[r]=.5*n,t[3]=(e[3*s+o]-e[3*o+s])*(n=.5/n),t[s]=(e[3*s+r]+e[3*r+s])*n,t[o]=(e[3*o+r]+e[3*r+o])*n}return t}var LN=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t},jN=xT,FN=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},BN=function(t,e,n,i){var r=e[0],s=e[1],o=e[2],a=e[3];return t[0]=r+i*(n[0]-r),t[1]=s+i*(n[1]-s),t[2]=o+i*(n[2]-o),t[3]=a+i*(n[3]-a),t},VN=function(t){return Math.hypot(t[0],t[1],t[2],t[3])},zN=function(t){var e=t[0],n=t[1],i=t[2],r=t[3];return e*e+n*n+i*i+r*r},UN=function(){var t=dC(),e=pC(1,0,0),n=pC(0,1,0);return function(i,r,s){var o=fC(r,s);return o<-.999999?(gC(t,e,r),function(t){return Math.hypot(t[0],t[1],t[2])}(t)<1e-6&&gC(t,n,r),function(t,e){var n=e[0],i=e[1],r=e[2],s=n*n+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s}(t,t),ON(i,t,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(gC(t,r,s),i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=1+o,function(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=n*n+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),t[0]=n*o,t[1]=i*o,t[2]=r*o,t[3]=s*o,t}(i,i))}}();CN(),CN(),function(){var t=new hC(9);hC!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1}();const HN=[0,0,0,1];class $N extends rC{constructor(t=0,e=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?this.copy(t):this.set(t,e,n,i)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,e,n,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=i,this.check()}fromMatrix3(t){return NN(this,t),this.check()}identity(){return EN(this),this.check()}fromAxisRotation(t,e){return ON(this,t,e),this.check()}setAxisAngle(t,e){return this.fromAxisRotation(t,e)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=sC(t)}get y(){return this[1]}set y(t){this[1]=sC(t)}get z(){return this[2]}set z(t){this[2]=sC(t)}get w(){return this[3]}set w(t){this[3]=sC(t)}len(){return VN(this)}lengthSquared(){return zN(this)}dot(t,e){if(void 0!==e)throw new Error("Quaternion.dot only takes one argument");return FN(this,t)}rotationTo(t,e){return UN(this,t,e),this.check()}add(t,e){if(void 0!==e)throw new Error("Quaternion.add only takes one argument");return LN(this,this,t),this.check()}calculateW(){return MN(this,this),this.check()}conjugate(){return RN(this,this),this.check()}invert(){return DN(this,this),this.check()}lerp(t,e,n){return BN(this,t,e,n),this.check()}multiplyRight(t,e){return iC(!e),TN(this,this,t),this.check()}multiplyLeft(t,e){return iC(!e),TN(this,t,this),this.check()}normalize(){const t=this.len(),e=t>0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return kN(this,this,t),this.check()}rotateY(t){return PN(this,this,t),this.check()}rotateZ(t){return AN(this,this,t),this.check()}scale(t){return jN(this,this,t),this.check()}slerp(t,e,n){switch(arguments.length){case 1:({start:t=HN,target:e,ratio:n}=arguments[0]);break;case 2:[e,n]=arguments,t=this}return IN(this,t,e,n),this.check()}transformVector4(t,e=t){return CT(e,t,this),oC(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t,e){return this.multiplyLeft(t,e)}multiply(t,e){return this.multiplyRight(t,e)}}const GN={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},WN={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function qN(t){if(!t._animation){const e=WN[t.componentType],n=GN[t.type],i=n*t.count,{buffer:r,byteOffset:s}=t.bufferView.data,o=new e(r,s+(t.byteOffset||0),i);if(1===n)t._animation=Array.from(o);else{const e=[];for(let t=0;t{(function(t,{input:e,interpolation:n,output:i},r,s){const o=t%e[e.length-1],a=e.findIndex(t=>t>=o),l=Math.max(0,a-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:Yw.warn(`Bad animation path ${s}`)()}Xx(r[s].length===i[l].length);const c=e[l],u=e[a];switch(n){case"STEP":!function(t,e,n){for(let i=0;ic&&function(t,e,n,i,r){if("rotation"===e){YN.slerp({start:n,target:i,ratio:r});for(let n=0;nc&&function(t,e,{p0:n,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const i=e.name||`Animation-${n}`,r=e.samplers.map(({input:e,interpolation:n="LINEAR",output:i})=>({input:qN(t.accessors[e]),interpolation:n,output:qN(t.accessors[i])})),s=e.channels.map(({sampler:e,target:n})=>({sampler:r[e],target:t.nodes[n.node],path:n.path}));return new KN({name:i,channels:s})})}animate(t){this.setTime(t)}setTime(t){this.animations.forEach(e=>e.animate(t))}getAnimations(){return this.animations}}class ZN extends _N{constructor(t,e={}){super(e),this.onBeforeRender=null,this.AfterRender=null,t instanceof WO?(this.model=t,this._setModelNodeProps(e)):this.model=new WO(t,e),this.managedResources=e.managedResources||[]}setProps(t){return super.setProps(t),this._setModelNodeProps(t),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(t=>t.delete()),this.managedResources=[]}draw(...t){return this.model.draw(...t)}setUniforms(...t){return this.model.setUniforms(...t),this}setAttributes(...t){return this.model.setAttributes(...t),this}updateModuleSettings(...t){return this.model.updateModuleSettings(...t),this}_setModelNodeProps(t){this.model.setProps(t)}}class JN{constructor(t,{attributes:e,material:n,pbrDebug:i,imageBasedLightingEnvironment:r,lights:s,useTangents:o}){this.gl=t,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},zS(t,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],r&&(this.uniforms.u_DiffuseEnvSampler=r.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=r.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=r.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),i&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(e.NORMAL,"HAS_NORMALS"),this.defineIfPresent(e.TANGENT&&o,"HAS_TANGENTS"),this.defineIfPresent(e.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(r,"USE_IBL"),this.defineIfPresent(s,"USE_LIGHTS"),this.defineIfPresent(i,"PBR_DEBUG"),n&&this.parseMaterial(n)}defineIfPresent(t,e){t&&(this.defines[e]=1)}parseTexture(t,e,n=null){const i=t.texture.source.image;let r,s={};i.compressed?(r=i,s={[this.gl.TEXTURE_MIN_FILTER]:i.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):r={data:i};const o=new xS(this.gl,vt({id:t.name||t.id,parameters:vt(vt({},t.texture&&t.texture.sampler&&t.texture.sampler.parameters||{}),s),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},r));this.uniforms[e]=o,this.defineIfPresent(n,n),this.generatedTextures.push(o)}parsePbrMetallicRoughness(t){t.baseColorTexture&&this.parseTexture(t.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=t.baseColorFactor||[1,1,1,1],t.metallicRoughnessTexture&&this.parseTexture(t.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:e=1,roughnessFactor:n=1}=t;this.uniforms.u_MetallicRoughnessValues=[e,n]}parseMaterial(t){if(this.uniforms.pbr_uUnlit=Boolean(t.unlit),t.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(t.pbrMetallicRoughness),t.normalTexture){this.parseTexture(t.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:e=1}=t.normalTexture;this.uniforms.u_NormalScale=e}if(t.occlusionTexture){this.parseTexture(t.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:e=1}=t.occlusionTexture;this.uniforms.u_OcclusionStrength=e}if(t.emissiveTexture&&(this.parseTexture(t.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=t.emissiveFactor||[0,0,0]),"MASK"===t.alphaMode){const{alphaCutoff:e=.5}=t;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=e}else"BLEND"===t.alphaMode&&(Yw.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function tL(t,e){return Zw(t)?`#version 300 es\n${e}`:e}const eL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},nL={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class iL{constructor(t,e={}){this.gl=t,this.options=Object.assign({},nL,e)}instantiate(t){return this.gltf=t,(t.scenes||[]).map(t=>this.createScene(t))}createAnimator(){return Array.isArray(this.gltf.animations)?new QN(this.gltf):null}createScene(t){const e=(t.nodes||[]).map(t=>this.createNode(t));return new wN({id:t.name||t.id,children:e})}createNode(t){if(!t._node){const e=(t.children||[]).map(t=>this.createNode(t));t.mesh&&e.push(this.createMesh(t.mesh));const n=new wN({id:t.name||t.id,children:e});if(t.matrix)n.setMatrix(t.matrix);else{if(n.matrix.identity(),t.translation&&n.matrix.translate(t.translation),t.rotation){const e=(new VT).fromQuaternion(t.rotation);n.matrix.multiplyRight(e)}t.scale&&n.matrix.scale(t.scale)}t._node=n}return t._node}createMesh(t){if(!t._mesh){const e=(t.primitives||[]).map((e,n)=>this.createPrimitive(e,n,t)),n=new wN({id:t.name||t.id,children:e});t._mesh=n}return t._mesh}getVertexCount(t){Yw.warn("getVertexCount() not found")()}createPrimitive(t,e,n){return function(t,e){const{id:n,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new JN(t,e);Yw.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(t=>t.buffer));const c=new ZN(t,Object.assign({id:n,drawMode:i,vertexCount:r,modules:[vN],defines:a.defines,parameters:a.parameters,vs:tL(t,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:tL(t,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:t.name||`${n.name||n.id}-primitive-${e}`,drawMode:t.mode||4,vertexCount:t.indices?t.indices.count:this.getVertexCount(t.attributes),attributes:this.createAttributes(t.attributes,t.indices),material:t.material},this.options))}createAttributes(t,e){const n={};return Object.keys(t).forEach(e=>{n[e]=this.createAccessor(t[e],this.createBuffer(t[e],this.gl.ARRAY_BUFFER))}),e&&(n.indices=this.createAccessor(e,this.createBuffer(e,this.gl.ELEMENT_ARRAY_BUFFER))),Yw.info(4,"glTF Attributes",{attributes:t,indices:e,generated:n})(),n}createBuffer(t,e){t.bufferView||(t.bufferView={});const{bufferView:n}=t;return n.lumaBuffers||(n.lumaBuffers={}),n.lumaBuffers[e]||(n.lumaBuffers[e]=new fS(this.gl,{id:`from-${n.id}`,data:n.data||t.value,target:e})),n.lumaBuffers[e]}createAccessor(t,e){return new uS({buffer:e,offset:t.byteOffset||0,stride:t.bufferView.byteStride||0,type:t.componentType,size:eL[t.type]})}createSampler(t){return t}needsPOT(){return!1}}function rL(t,e,n){if(t.byteLength<=e+n)return"";const i=new DataView(t);let r="";for(let s=0;se[t.name]);return new cL(n,this.metadata)}selectAt(...t){const e=t.map(t=>this.fields[t]).filter(Boolean);return new cL(e,this.metadata)}assign(t){let e,n=this.metadata;if(t instanceof cL){const i=t;e=i.fields,n=uL(uL(new Map,this.metadata),i.metadata)}else e=t;const i=Object.create(null);for(const s of this.fields)i[s.name]=s;for(const s of e)i[s.name]=s;const r=Object.values(i);return new cL(r,n)}}function uL(t,e){return new Map([...t||new Map,...e||new Map])}let hL,dL,pL,fL,gL,mL,bL,yL;!function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"}(hL||(hL={}));class vL{static isNull(t){return t&&t.typeId===hL.Null}static isInt(t){return t&&t.typeId===hL.Int}static isFloat(t){return t&&t.typeId===hL.Float}static isBinary(t){return t&&t.typeId===hL.Binary}static isUtf8(t){return t&&t.typeId===hL.Utf8}static isBool(t){return t&&t.typeId===hL.Bool}static isDecimal(t){return t&&t.typeId===hL.Decimal}static isDate(t){return t&&t.typeId===hL.Date}static isTime(t){return t&&t.typeId===hL.Time}static isTimestamp(t){return t&&t.typeId===hL.Timestamp}static isInterval(t){return t&&t.typeId===hL.Interval}static isList(t){return t&&t.typeId===hL.List}static isStruct(t){return t&&t.typeId===hL.Struct}static isUnion(t){return t&&t.typeId===hL.Union}static isFixedSizeBinary(t){return t&&t.typeId===hL.FixedSizeBinary}static isFixedSizeList(t){return t&&t.typeId===hL.FixedSizeList}static isMap(t){return t&&t.typeId===hL.Map}static isDictionary(t){return t&&t.typeId===hL.Dictionary}get typeId(){return hL.NONE}compareTo(t){return this===t}}Symbol,Symbol,dL=Symbol.toStringTag;class _L extends vL{constructor(t,e){super(),kP(this,"isSigned",void 0),kP(this,"bitWidth",void 0),this.isSigned=t,this.bitWidth=e}get typeId(){return hL.Int}get[dL](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class wL extends _L{constructor(){super(!0,8)}}class xL extends _L{constructor(){super(!0,16)}}class SL extends _L{constructor(){super(!0,32)}}class CL extends _L{constructor(){super(!1,8)}}class EL extends _L{constructor(){super(!1,16)}}class OL extends _L{constructor(){super(!1,32)}}pL=Symbol.toStringTag;class TL extends vL{constructor(t){super(),kP(this,"precision",void 0),this.precision=t}get typeId(){return hL.Float}get[pL](){return"Float"}toString(){return`Float${this.precision}`}}class kL extends TL{constructor(){super(32)}}class PL extends TL{constructor(){super(64)}}Symbol,Symbol,fL=Symbol.toStringTag,gL=Symbol.toStringTag,mL=Symbol.toStringTag,bL=Symbol.toStringTag,yL=Symbol.toStringTag;class AL extends vL{constructor(t,e){super(),kP(this,"listSize",void 0),kP(this,"children",void 0),this.listSize=t,this.children=[e]}get typeId(){return hL.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[yL](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class ML{constructor(t,e,n=!1,i=new Map){kP(this,"name",void 0),kP(this,"type",void 0),kP(this,"nullable",void 0),kP(this,"metadata",void 0),this.name=t,this.type=e,this.nullable=n,this.metadata=i}get typeId(){return this.type&&this.type.typeId}clone(){return new ML(this.name,this.type,this.nullable,this.metadata)}compareTo(t){return this.name===t.name&&this.type===t.type&&this.nullable===t.nullable&&this.metadata===t.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function IL(t,e,n){const i=n?DL(n.metadata):void 0,r=function(t){switch(t.constructor){case Int8Array:return new wL;case Uint8Array:return new CL;case Int16Array:return new xL;case Uint16Array:return new EL;case Int32Array:return new SL;case Uint32Array:return new OL;case Float32Array:return new kL;case Float64Array:return new PL;default:throw new Error("array type not supported")}}(e.value);return new ML(t,new AL(e.size,new ML("value",r)),!1,i)}function DL(t){const e=new Map;for(const n in t)e.set(`${n}.string`,JSON.stringify(t[n]));return e}const RL={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},NL={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class LL{constructor(t){kP(this,"draco",void 0),kP(this,"decoder",void 0),kP(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,e={}){const n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(e);const i=this.decoder.GetEncodedGeometryType(n),r=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let t;switch(i){case this.draco.TRIANGULAR_MESH:t=this.decoder.DecodeBufferToMesh(n,r);break;case this.draco.POINT_CLOUD:t=this.decoder.DecodeBufferToPointCloud(n,r);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!t.ok()||!r.ptr){const e=`DRACO decompression failed: ${t.error_msg()}`;throw new Error(e)}const s=this._getDracoLoaderData(r,i,e),o=this._getMeshData(r,s,e),a=function(t){let e=1/0,n=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=t.POSITION?t.POSITION.value:[],l=a&&a.length;for(let c=0;cr?t:r,s=l>s?l:s,o=u>o?u:o}return[[e,n,i],[r,s,o]]}(o.attributes),l=function(t,e,n){const i=DL(e.metadata),r=[],s=function(t){const e={};for(const n in t){const i=t[n];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in t){const e=IL(o,t[o],s[o]);r.push(e)}if(n){const t=IL("indices",n);r.push(t)}return new cL(r,i)}(o.attributes,s,o.indices);return zn(vt({loader:"draco",loaderData:s,header:{vertexCount:r.num_points(),boundingBox:a}},o),{schema:l})}finally{this.draco.destroy(n),r&&this.draco.destroy(r)}}_getDracoLoaderData(t,e,n){const i=this._getTopLevelMetadata(t),r=this._getDracoAttributes(t,n);return{geometry_type:e,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:i,attributes:r}}_getDracoAttributes(t,e){const n={};for(let i=0;ithis.decoder[t]).includes(i)){const e=new this.draco.AttributeQuantizationTransform;try{if(e.InitFromAttribute(t))return{quantization_bits:e.quantization_bits(),range:e.range(),min_values:new Float32Array([1,2,3]).map(t=>e.min_value(t))}}finally{this.draco.destroy(e)}}return null}_getOctahedronTransform(t,e){const{octahedronAttributes:n=[]}=e,i=t.attribute_type();if(n.map(t=>this.decoder[t]).includes(i)){const e=new this.draco.AttributeQuantizationTransform;try{if(e.InitFromAttribute(t))return{quantization_bits:e.quantization_bits()}}finally{this.draco.destroy(e)}}return null}}var jL=n(49125);const FL={};function BL(t){return VL.apply(this,arguments)}function VL(){return(VL=PS(function*(t,e=null,n={}){return e&&(t=zL(t,e,n)),FL[t]=FL[t]||UL(t),yield FL[t]})).apply(this,arguments)}function zL(t,e,n){if(t.startsWith("http"))return t;const i=n.modules||{};return i[t]?i[t]:$P?n.CDN?(VP(n.CDN.startsWith("http")),`${n.CDN}/${e}@3.0.12/dist/libs/${t}`):GP?`../src/libs/${t}`:`modules/${e}/src/libs/${t}`:`modules/${e}/dist/libs/${t}`}function UL(t){return HL.apply(this,arguments)}function HL(){return(HL=PS(function*(t){return t.endsWith("wasm")?yield(yield fetch(t)).arrayBuffer():$P?GP?importScripts(t):$L(yield(yield fetch(t)).text(),t):jL.requireFromFile&&(yield jL.requireFromFile(t))})).apply(this,arguments)}function $L(t,e){if(!$P)return jL.requireFromString&&jL.requireFromString(t,e);if(GP)return eval.call(HP,t),null;const n=document.createElement("script");n.id=e;try{n.appendChild(document.createTextNode(t))}catch(i){n.text=t}return document.body.appendChild(n),null}const GL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",WL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",qL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let XL;function YL(t){return KL.apply(this,arguments)}function KL(){return(KL=PS(function*(t){const e=t.modules||{};return XL=e.draco3d?XL||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):XL||QL(t),yield XL})).apply(this,arguments)}function QL(t){return ZL.apply(this,arguments)}function ZL(){return(ZL=PS(function*(t){let e,n;switch(t.draco&&t.draco.decoderType){case"js":e=yield BL(GL,"draco",t);break;case"wasm":default:[e,n]=yield Promise.all([yield BL(WL,"draco",t),yield BL(qL,"draco",t)])}return e=e||globalThis.DracoDecoderModule,yield JL(e,n)})).apply(this,arguments)}function JL(t,e){const n={};return e&&(n.wasmBinary=e),new Promise(e=>{t(zn(vt({},n),{onModuleLoaded:t=>e({draco:t})}))})}const tj=zn(vt({},lL),{parse:function(t,e){return ej.apply(this,arguments)}});function ej(){return(ej=PS(function*(t,e){const{draco:n}=yield YL(e),i=new LL(n);try{return i.parseSync(t,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function nj(t,e){return tP(t>=0),tP(e>0),t+(e-1)&~(e-1)}function ij(t,e,n){let i;return i=t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer||t.arrayBuffer,t.byteOffset,t.byteLength),e.set(i,n),n+nj(i.byteLength,4)}const rj=["SCALAR","VEC2","VEC3","VEC4"],sj=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],oj=new Map(sj),aj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},lj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},cj={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function uj(t){return rj[t-1]||rj[0]}function hj(t){const e=oj.get(t.constructor);if(!e)throw new Error("Illegal typed array");return e}function dj(t,e){const n=cj[t.componentType],i=aj[t.type],r=t.count*i,s=t.count*i*lj[t.componentType];return sL(s>=0&&s<=e.byteLength),{ArrayType:n,length:r,byteLength:s}}const pj={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class fj{constructor(t){kP(this,"gltf",void 0),kP(this,"sourceBuffers",void 0),kP(this,"byteLength",void 0),this.gltf=t||{json:vt({},pj),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}getExtension(t){return this.getUsedExtensions().find(e=>e===t)?(this.json.extensions||{})[t]||!0:null}getRequiredExtension(t){return this.getRequiredExtensions().find(e=>e===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(t,e){return(t.extensions||{})[e]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,e){if("object"==typeof e)return e;const n=this.json[t]&&this.json[t][e];if(!n)throw new Error(`glTF file error: Could not find ${t}[${e}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);const e=this.gltf.buffers[t.buffer];return sL(e),new Uint8Array(e.arrayBuffer,(t.byteOffset||0)+e.byteOffset,t.byteLength)}getTypedArrayForAccessor(t){t=this.getAccessor(t);const e=this.getBufferView(t.bufferView),n=this.getBuffer(e.buffer).data,{ArrayType:i,length:r}=dj(t,e);return new i(n,e.byteOffset+t.byteOffset,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);const e=this.getBufferView(t.bufferView),n=this.getBuffer(e.buffer).data;return new Uint8Array(n,e.byteOffset||0,e.byteLength)}addApplicationData(t,e){return this.json[t]=e,this}addExtraData(t,e){return this.json.extras=this.json.extras||{},this.json.extras[t]=e,this}addObjectExtension(t,e,n){return t.extensions=t.extensions||{},t.extensions[e]=n,this.registerUsedExtension(e),this}setObjectExtension(t,e,n){(t.extensions||{})[e]=n}removeObjectExtension(t,e){const n=t.extensions||{},i=n[e];return delete n[e],i}addExtension(t,e={}){return sL(e),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=e,this.registerUsedExtension(t),e}addRequiredExtension(t,e={}){return sL(e),this.addExtension(t,e),this.registerRequiredExtension(t),e}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(e=>e===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(e=>e===t)||this.json.extensionsRequired.push(t)}removeExtension(t){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t),this.json.extensions&&delete this.json.extensions[t]}setDefaultScene(t){this.json.scene=t}addScene(t){const{nodeIndices:e}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:e}),this.json.scenes.length-1}addNode(t){const{meshIndex:e,matrix:n}=t;this.json.nodes=this.json.nodes||[];const i={mesh:e};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(t){const{attributes:e,indices:n,material:i,mode:r=4}=t,s={primitives:[{attributes:this._addAttributes(e),mode:r}]};if(n){const t=this._addIndices(n);s.primitives[0].indices=t}return Number.isFinite(i)&&(s.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}addPointCloud(t){const e={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(e),this.json.meshes.length-1}addImage(t,e){const n=fD(t),i=e||(null==n?void 0:n.mimeType),r={bufferView:this.addBufferView(t),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(r),this.json.images.length-1}addBufferView(t){const e=t.byteLength;sL(Number.isFinite(e)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);const n={buffer:0,byteOffset:this.byteLength,byteLength:e};return this.byteLength+=nj(e,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}addAccessor(t,e){const n={bufferView:t,type:uj(e.size),componentType:e.componentType,count:e.count,max:e.max,min:e.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,e={size:3}){const n=this.addBufferView(t);let i={min:e.min,max:e.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(t,e.size));const r={size:e.size,componentType:hj(t),count:Math.round(t.length/e.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(r,e))}addTexture(t){const{imageIndex:e}=t,n={source:e};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){var t,e;this.gltf.buffers=[];const n=this.byteLength,i=new ArrayBuffer(n),r=new Uint8Array(i);let s=0;for(const o of this.sourceBuffers||[])s=ij(o,r,s);null!==(t=this.json)&&void 0!==t&&null!==(e=t.buffers)&&void 0!==e&&e[0]?this.json.buffers[0].byteLength=n:this.json.buffers=[{byteLength:n}],this.gltf.binary=i,this.sourceBuffers=[i]}_removeStringFromArray(t,e){let n=!0;for(;n;){const i=t.indexOf(e);i>-1?t.splice(i,1):n=!1}}_addAttributes(t={}){const e={};for(const n in t){const i=t[n],r=this._getGltfAttributeName(n),s=this.addBinaryBuffer(i.value,i);e[r]=s}return e}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,e){const n={min:null,max:null};if(t.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Pj(t){for(const e of t.json.meshes||[])for(const t of e.primitives)yield t}function Aj(t){return Mj.apply(this,arguments)}function Mj(){return(Mj=PS(function*(t){const e=new fj(t),{json:n}=e;e.removeExtension(yj);for(const i of n.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,yj)})).apply(this,arguments)}function Ij(t){const e=new fj(t),{json:n}=e;if(e.materials)for(const i of n.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,yj,{}),e.addExtension(yj))}function Dj(t){return Rj.apply(this,arguments)}function Rj(){return(Rj=PS(function*(t){const e=new fj(t),{json:n}=e,i=e.getExtension(bj);i&&(e.json.lights=i.lights,e.removeExtension(bj));for(const r of n.nodes||[]){const t=e.getObjectExtension(r,bj);t&&(r.light=t.light),e.removeObjectExtension(r,bj)}})).apply(this,arguments)}function Nj(t){return Lj.apply(this,arguments)}function Lj(){return(Lj=PS(function*(t){const e=new fj(t),{json:n}=e;if(n.lights){const t=e.addExtension(bj);sL(!t.lights),t.lights=n.lights,delete n.lights}if(e.json.lights){for(const t of e.json.lights)e.addObjectExtension(t.node,bj,t);delete e.json.lights}})).apply(this,arguments)}function jj(t){return Fj.apply(this,arguments)}function Fj(){return(Fj=PS(function*(t){const e=new fj(t),{json:n}=e,i=e.getExtension(vj);if(i){const t=zj(i,e);for(const i of n.materials||[]){const n=e.getObjectExtension(i,vj);n&&(i.technique=Object.assign({},n,t[n.technique]),i.technique.values=Uj(i.technique,e)),e.removeObjectExtension(i,vj)}e.removeExtension(vj)}})).apply(this,arguments)}function Bj(t,e){return Vj.apply(this,arguments)}function Vj(){return(Vj=PS(function*(t,e){})).apply(this,arguments)}function zj(t,e){const{programs:n=[],shaders:i=[],techniques:r=[]}=t,s=new TextDecoder;return i.forEach(t=>{if(!Number.isFinite(t.bufferView))throw new Error("KHR_techniques_webgl: no shader code");t.code=s.decode(e.getTypedArrayForBufferView(t.bufferView))}),n.forEach(t=>{t.fragmentShader=i[t.fragmentShader],t.vertexShader=i[t.vertexShader]}),r.forEach(t=>{t.program=n[t.program]}),r}function Uj(t,e){const n=Object.assign({},t.values);return Object.keys(t.uniforms||{}).forEach(e=>{t.uniforms[e].value&&!(e in n)&&(n[e]=t.uniforms[e].value)}),Object.keys(n).forEach(t=>{"object"==typeof n[t]&&void 0!==n[t].index&&(n[t].texture=e.getTexture(n[t].index))}),n}const Hj={KHR_draco_mesh_compression:i,KHR_materials_unlit:r,KHR_lights_punctual:s,KHR_techniques_webgl:o};function $j(t){return Gj.apply(this,arguments)}function Gj(){return(Gj=PS(function*(t,e={},n){for(const r in Hj){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield Hj[r].decode(t,e,n))}})).apply(this,arguments)}const Wj={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},qj={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class Xj{constructor(t){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(t,e){this.json=t.json;const n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${n.asset.version}`)}if(!e.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),function(t){const e=new fj(t),{json:n}=e;for(const i of n.images||[]){const t=e.removeObjectExtension(i,gj);t&&Object.assign(i,t)}n.buffers&&n.buffers[0]&&delete n.buffers[0].uri,e.removeExtension(gj)}(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(const e in Wj)this._convertTopLevelObjectToArray(t,e)}_convertTopLevelObjectToArray(t,e){const n=t[e];if(n&&!Array.isArray(n)){t[e]=[];for(const i in n){const r=n[i];r.id=r.id||i;const s=t[e].length;t[e].push(r),this.idToIndexMap[e][i]=s}}}_convertObjectIdsToArrayIndices(t){for(const e in Wj)this._convertIdsToIndices(t,e);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(const e of t.textures)this._convertTextureIds(e);for(const e of t.meshes)this._convertMeshIds(e);for(const e of t.nodes)this._convertNodeIds(e);for(const e of t.scenes)this._convertSceneIds(e)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(const e of t.primitives){const{attributes:t,indices:n,material:i}=e;for(const e in t)t[e]=this._convertIdToIndex(t[e],"accessor");n&&(e.indices=this._convertIdToIndex(n,"accessor")),i&&(e.material=this._convertIdToIndex(i,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(t=>this._convertIdToIndex(t,"node"))),t.meshes&&(t.meshes=t.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(t,e){t[e]||(console.warn(`gltf v1: json doesn't contain attribute ${e}`),t[e]=[]);for(const n of t[e])for(const t in n){const e=this._convertIdToIndex(n[t],t);n[t]=e}}_convertIdToIndex(t,e){const n=qj[e];if(n in this.idToIndexMap){const i=this.idToIndexMap[n][t];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${e} with id ${t}`);return i}return t}_updateObjects(t){for(const e of this.json.buffers)delete e.type}_updateMaterial(t){for(const e of t.materials){e.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const n=e.values&&e.values.tex,i=t.textures.findIndex(t=>t.id===n);-1!==i&&(e.pbrMetallicRoughness.baseColorTexture={index:i})}}}function Yj(t,e={}){return(new Xj).normalize(t,e)}const Kj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Qj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Zj={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},Jj={magFilter:Zj.TEXTURE_MAG_FILTER,minFilter:Zj.TEXTURE_MIN_FILTER,wrapS:Zj.TEXTURE_WRAP_S,wrapT:Zj.TEXTURE_WRAP_T},tF={[Zj.TEXTURE_MAG_FILTER]:Zj.LINEAR,[Zj.TEXTURE_MIN_FILTER]:Zj.NEAREST_MIPMAP_LINEAR,[Zj.TEXTURE_WRAP_S]:Zj.REPEAT,[Zj.TEXTURE_WRAP_]:Zj.REPEAT};class eF{postProcess(t,e={}){const{json:n,buffers:i=[],images:r=[],baseUri:s=""}=t;return sL(n),this.baseUri=s,this.json=n,this.buffers=i,this.images=r,this._resolveTree(this.json,e),this.json}_resolveTree(t,e={}){t.bufferViews&&(t.bufferViews=t.bufferViews.map((t,e)=>this._resolveBufferView(t,e))),t.images&&(t.images=t.images.map((t,e)=>this._resolveImage(t,e))),t.samplers&&(t.samplers=t.samplers.map((t,e)=>this._resolveSampler(t,e))),t.textures&&(t.textures=t.textures.map((t,e)=>this._resolveTexture(t,e))),t.accessors&&(t.accessors=t.accessors.map((t,e)=>this._resolveAccessor(t,e))),t.materials&&(t.materials=t.materials.map((t,e)=>this._resolveMaterial(t,e))),t.meshes&&(t.meshes=t.meshes.map((t,e)=>this._resolveMesh(t,e))),t.nodes&&(t.nodes=t.nodes.map((t,e)=>this._resolveNode(t,e))),t.skins&&(t.skins=t.skins.map((t,e)=>this._resolveSkin(t,e))),t.scenes&&(t.scenes=t.scenes.map((t,e)=>this._resolveScene(t,e))),void 0!==t.scene&&(t.scene=t.scenes[this.json.scene])}getScene(t){return this._get("scenes",t)}getNode(t){return this._get("nodes",t)}getSkin(t){return this._get("skins",t)}getMesh(t){return this._get("meshes",t)}getMaterial(t){return this._get("materials",t)}getAccessor(t){return this._get("accessors",t)}getCamera(t){return null}getTexture(t){return this._get("textures",t)}getSampler(t){return this._get("samplers",t)}getImage(t){return this._get("images",t)}getBufferView(t){return this._get("bufferViews",t)}getBuffer(t){return this._get("buffers",t)}_get(t,e){if("object"==typeof e)return e;const n=this.json[t]&&this.json[t][e];return n||console.warn(`glTF file error: Could not find ${t}[${e}]`),n}_resolveScene(t,e){return t.id=t.id||`scene-${e}`,t.nodes=(t.nodes||[]).map(t=>this.getNode(t)),t}_resolveNode(t,e){return t.id=t.id||`node-${e}`,t.children&&(t.children=t.children.map(t=>this.getNode(t))),void 0!==t.mesh?t.mesh=this.getMesh(t.mesh):void 0!==t.meshes&&t.meshes.length&&(t.mesh=t.meshes.reduce((t,e)=>{const n=this.getMesh(e);return t.id=n.id,t.primitives=t.primitives.concat(n.primitives),t},{primitives:[]})),void 0!==t.camera&&(t.camera=this.getCamera(t.camera)),void 0!==t.skin&&(t.skin=this.getSkin(t.skin)),t}_resolveSkin(t,e){return t.id=t.id||`skin-${e}`,t.inverseBindMatrices=this.getAccessor(t.inverseBindMatrices),t}_resolveMesh(t,e){return t.id=t.id||`mesh-${e}`,t.primitives&&(t.primitives=t.primitives.map(t=>{const e=(t=vt({},t)).attributes;t.attributes={};for(const n in e)t.attributes[n]=this.getAccessor(e[n]);return void 0!==t.indices&&(t.indices=this.getAccessor(t.indices)),void 0!==t.material&&(t.material=this.getMaterial(t.material)),t})),t}_resolveMaterial(t,e){if(t.id=t.id||`material-${e}`,t.normalTexture&&(t.normalTexture=vt({},t.normalTexture),t.normalTexture.texture=this.getTexture(t.normalTexture.index)),t.occlusionTexture&&(t.occlustionTexture=vt({},t.occlustionTexture),t.occlusionTexture.texture=this.getTexture(t.occlusionTexture.index)),t.emissiveTexture&&(t.emmisiveTexture=vt({},t.emmisiveTexture),t.emissiveTexture.texture=this.getTexture(t.emissiveTexture.index)),t.emissiveFactor||(t.emissiveFactor=t.emmisiveTexture?[1,1,1]:[0,0,0]),t.pbrMetallicRoughness){t.pbrMetallicRoughness=vt({},t.pbrMetallicRoughness);const e=t.pbrMetallicRoughness;e.baseColorTexture&&(e.baseColorTexture=vt({},e.baseColorTexture),e.baseColorTexture.texture=this.getTexture(e.baseColorTexture.index)),e.metallicRoughnessTexture&&(e.metallicRoughnessTexture=vt({},e.metallicRoughnessTexture),e.metallicRoughnessTexture.texture=this.getTexture(e.metallicRoughnessTexture.index))}return t}_resolveAccessor(t,e){if(t.id=t.id||`accessor-${e}`,void 0!==t.bufferView&&(t.bufferView=this.getBufferView(t.bufferView)),t.bytesPerComponent=function(t){return Qj[t]}(t.componentType),t.components=function(t){return Kj[t]}(t.type),t.bytesPerElement=t.bytesPerComponent*t.components,t.bufferView){const e=t.bufferView.buffer,{ArrayType:n,byteLength:i}=dj(t,t.bufferView),r=(t.bufferView.byteOffset||0)+(t.byteOffset||0)+e.byteOffset,s=e.arrayBuffer.slice(r,r+i);t.value=new n(s)}return t}_resolveTexture(t,e){return t.id=t.id||`texture-${e}`,t.sampler="sampler"in t?this.getSampler(t.sampler):tF,t.source=this.getImage(t.source),t}_resolveSampler(t,e){t.id=t.id||`sampler-${e}`,t.parameters={};for(const n in t){const e=this._enumSamplerParameter(n);void 0!==e&&(t.parameters[e]=t[n])}return t}_enumSamplerParameter(t){return Jj[t]}_resolveImage(t,e){t.id=t.id||`image-${e}`,void 0!==t.bufferView&&(t.bufferView=this.getBufferView(t.bufferView));const n=this.images[e];return n&&(t.image=n),t}_resolveBufferView(t,e){t.id=t.id||`bufferView-${e}`;const n=t.buffer;t.buffer=this.buffers[n];let i=this.buffers[n].byteOffset||0;return"byteOffset"in t&&(i+=t.byteOffset),t.data=new Uint8Array(this.buffers[n].arrayBuffer,i,t.byteLength),t}_resolveCamera(t,e){return t.id=t.id||`camera-${e}`,t}}function nF(t,e){return(new eF).postProcess(t,e)}const iF=1735152710,rF=!0;function sF(t,e,n,i){const r=new Uint8Array(e.buffer,n,i),s=new TextDecoder("utf8").decode(r);return t.json=JSON.parse(s),nj(i,4)}function oF(t,e,n,i){return t.header.hasBinChunk=!0,t.binChunks.push({byteOffset:n,byteLength:i,arrayBuffer:e.buffer}),nj(i,4)}function aF(t,e){return lF.apply(this,arguments)}function lF(){return(lF=PS(function*(t,e,n=0,i,r){var s,o,a,l;cF(t,e,n,i),Yj(t,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&t.json.buffers&&(yield uF(t,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const e=dF(t,i,r);c.push(e)}const u=$j(t,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?nF(t,i):t})).apply(this,arguments)}function cF(t,e,n,i){if(i.uri&&(t.baseUri=i.uri),e instanceof ArrayBuffer&&!function(t,e=0,n={}){const i=new DataView(t),{magic:r=iF}=n,s=i.getUint32(e,!1);return s===r||s===iF}(e,n,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)t.json=function(t){try{return JSON.parse(t)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(t,e=5){return"string"==typeof t?t.slice(0,e):ArrayBuffer.isView(t)?rL(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?rL(t,0,e):""}(t)}"`)}}(e);else if(e instanceof ArrayBuffer){const r={};n=function(t,e,n=0,i={}){const r=new DataView(e),s=function(t,e=0){return`${String.fromCharCode(t.getUint8(e+0))}${String.fromCharCode(t.getUint8(e+1))}${String.fromCharCode(t.getUint8(e+2))}${String.fromCharCode(t.getUint8(e+3))}`}(r,n+0),o=r.getUint32(n+4,rF),a=r.getUint32(n+8,rF);switch(Object.assign(t,{header:{byteOffset:n,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),n+=12,t.version){case 1:return function(t,e,n){tP(t.header.byteLength>20);const i=e.getUint32(n+0,rF),r=e.getUint32(n+4,rF);return n+=8,tP(0===r),sF(t,e,n,i),(n+=i)+oF(t,e,n,t.header.byteLength)}(t,r,n);case 2:return function(t,e,n,i){return tP(t.header.byteLength>20),function(t,e,n,i){for(;n+8<=t.header.byteLength;){const r=e.getUint32(n+0,rF),s=e.getUint32(n+4,rF);switch(n+=8,s){case 1313821514:sF(t,e,n,r);break;case 5130562:oF(t,e,n,r);break;case 0:i.strict||sF(t,e,n,r);break;case 1:i.strict||oF(t,e,n,r)}n+=nj(r,4)}}(t,e,n,{}),n+t.header.byteLength}(t,r,n);default:throw new Error(`Invalid GLB version ${t.version}. Only supports v1 and v2.`)}}(r,e,n,i.glb),sL("glTF"===r.type,`Invalid GLB magic string ${r.type}`),t._glb=r,t.json=r.json}else sL(!1,"GLTF: must be ArrayBuffer or string");if(t.buffers=new Array((t.json.buffers||[]).length).fill(null),t._glb&&t._glb.header.hasBinChunk){const{binChunks:e}=t._glb;t.buffers[0]={arrayBuffer:e[0].arrayBuffer,byteOffset:e[0].byteOffset,byteLength:e[0].byteLength}}t.images=new Array((t.json.images||[]).length).fill({})}function uF(t,e,n){return hF.apply(this,arguments)}function hF(){return(hF=PS(function*(t,e,n){for(let s=0;s{t.traverse(t=>{Object.values(t.model.getUniforms()).forEach(t=>{!1===t.loaded&&e.push(t)})})}),yield vF(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function vF(t){return _F.apply(this,arguments)}function _F(){return(_F=PS(function*(t){for(;t();)yield new Promise(t=>requestAnimationFrame(t))})).apply(this,arguments)}const wF=[255,255,255,255],xF={scenegraph:{type:"object",value:null,async:!0},getScene:t=>t&&t.scenes?"object"==typeof t.scene?t.scene:t.scenes[t.scene||0]:t,getAnimator:t=>t&&t.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:wF},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[mF]};let SF=(()=>{class t extends eM{getShaders(){const t=[pR,gR];return"pbr"===this.props._lighting&&t.push(vN),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:wF,transition:!0},instanceModelMatrix:pN})}updateState(t){super.updateState(t);const{props:e,oldProps:n}=t;e.scenegraph!==n.scenegraph?this._updateScenegraph(e):e._animations!==n._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,e._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:e}=this.context;let n=null;if(t.scenegraph instanceof _N)n={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const i=t.scenegraph,r=function(t,e,n){const i=new iL(t,n);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(e,i,this._getModelOptions());n=vt({gltf:i},r),function(t){return yF.apply(this,arguments)}(r).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Gw.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),n=t.scenegraph);const i={layer:this,gl:e},r=t.getScene(n,i),s=t.getAnimator(n,i);r instanceof _N?(this._deleteScenegraph(),this._applyAllAttributes(r),this._applyAnimationsProp(r,s,t._animations),this.setState({scenegraph:r,animator:s})):null!==r&&Gw.warn("invalid scenegraph:",r)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const e=this.getAttributeManager().getAttributes();t.traverse(t=>{this._setModelAttributes(t.model,e)})}}_applyAnimationsProp(t,e,n){if(!t||!e||!n)return;const i=e.getAnimations();Object.keys(n).sort().forEach(t=>{const e=n[t];if("*"===t)i.forEach(t=>{Object.assign(t,e)});else if(Number.isFinite(Number(t))){const n=Number(t);n>=0&&ne===t);n?Object.assign(n,e):Gw.warn("animation ".concat(t," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof _N&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let e=null;return t&&(e="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:e,modelOptions:vt({isInstanced:!0,transpileToGLSL100:!Zw(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(e=>{this._setModelAttributes(e.model,t)})}draw({moduleParameters:t=null,parameters:e={},context:n}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(n.timeline.getTime()),this.setNeedsRedraw());const{viewport:i}=this.context,{sizeScale:r,sizeMinPixels:s,sizeMaxPixels:o,opacity:a,coordinateSystem:l}=this.props,c=this.getNumInstances();this.state.scenegraph.traverse((n,{worldMatrix:u})=>{n.model.setInstanceCount(c),n.updateModuleSettings(t),n.draw({parameters:e,uniforms:{sizeScale:r,opacity:a,sizeMinPixels:s,sizeMaxPixels:o,composeModelMatrix:fN(i,l),sceneModelMatrix:u,u_Camera:n.model.getUniforms().project_uCameraPosition}})})}}return t.layerName="ScenegraphLayer",t.defaultProps=xF,t})();class CF extends bR{constructor(t={}){const{id:e=Zx("sphere-geometry")}=t,{indices:n,attributes:i}=function(t){const{nlat:e=10,nlong:n=10}=t;let{radius:i=1}=t;const r=Math.PI-0,s=2*Math.PI-0,o=(e+1)*(n+1);if("number"==typeof i){const t=i;i=(e,n,i,r,s)=>t}const a=new Float32Array(3*o),l=new Float32Array(3*o),c=new Float32Array(2*o),u=new(o>65535?Uint32Array:Uint16Array)(e*n*6);for(let d=0;d<=e;d++)for(let t=0;t<=n;t++){const o=t/n,u=d/e,h=t+d*(n+1),p=2*h,f=3*h,g=s*o,m=r*u,b=Math.sin(g),y=Math.cos(g),v=Math.sin(m),_=y*v,w=Math.cos(m),x=b*v,S=i(_,w,x,o,u);a[f+0]=S*_,a[f+1]=S*w,a[f+2]=S*x,l[f+0]=_,l[f+1]=w,l[f+2]=x,c[p+0]=o,c[p+1]=1-u}const h=n+1;for(let d=0;ds?(a=i,o=1,t=n):t=e+T/s*(n-e),(-2===T||T===s+2)&&(t=0,o=0),a-=i/2;for(let e=0;es?0:n*g,S[E+w[1]]=T<0?-1:T>s?1:m,S[E+w[2]]=T<0||T>s?0:i*g,C[O+0]=e/r,C[O+1]=o,O+=2,E+=3}}for(let T=0;T0){const t=1/i;this.x*=t,this.y*=t,this.z*=t}else this.x=0,this.y=0,this.z=0;return i}unit(t=new jF){const e=this.x,n=this.y,i=this.z;let r=Math.sqrt(e*e+n*n+i*i);return r>0?(r=1/r,t.x=e*r,t.y=n*r,t.z=i*r):(t.x=1,t.y=0,t.z=0),t}length(){const t=this.x,e=this.y,n=this.z;return Math.sqrt(t*t+e*e+n*n)}lengthSquared(){return this.dot(this)}distanceTo(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,o=t.z;return Math.sqrt((r-e)*(r-e)+(s-n)*(s-n)+(o-i)*(o-i))}distanceSquared(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,o=t.z;return(r-e)*(r-e)+(s-n)*(s-n)+(o-i)*(o-i)}scale(t,e=new jF){const n=this.y,i=this.z;return e.x=t*this.x,e.y=t*n,e.z=t*i,e}vmul(t,e=new jF){return e.x=t.x*this.x,e.y=t.y*this.y,e.z=t.z*this.z,e}addScaledVector(t,e,n=new jF){return n.x=this.x+t*e.x,n.y=this.y+t*e.y,n.z=this.z+t*e.z,n}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(t=new jF){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t}tangents(t,e){const n=this.length();if(n>0){const i=FF,r=1/n;i.set(this.x*r,this.y*r,this.z*r);const s=BF;Math.abs(i.x)<.9?(s.set(1,0,0),i.cross(s,t)):(s.set(0,1,0),i.cross(s,t)),i.cross(t,e)}else t.set(1,0,0),e.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}lerp(t,e,n){const i=this.x,r=this.y,s=this.z;n.x=i+(t.x-i)*e,n.y=r+(t.y-r)*e,n.z=s+(t.z-s)*e}almostEquals(t,e=1e-6){return!(Math.abs(this.x-t.x)>e||Math.abs(this.y-t.y)>e||Math.abs(this.z-t.z)>e)}almostZero(t=1e-6){return!(Math.abs(this.x)>t||Math.abs(this.y)>t||Math.abs(this.z)>t)}isAntiparallelTo(t,e){return this.negate(VF),VF.almostEquals(t,e)}clone(){return new jF(this.x,this.y,this.z)}}jF.ZERO=void 0,jF.UNIT_X=void 0,jF.UNIT_Y=void 0,jF.UNIT_Z=void 0,jF.ZERO=new jF(0,0,0),jF.UNIT_X=new jF(1,0,0),jF.UNIT_Y=new jF(0,1,0),jF.UNIT_Z=new jF(0,0,1);const FF=new jF,BF=new jF,VF=new jF;class zF{constructor(t={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new jF,this.upperBound=new jF,t.lowerBound&&this.lowerBound.copy(t.lowerBound),t.upperBound&&this.upperBound.copy(t.upperBound)}setFromPoints(t,e,n,i){const r=this.lowerBound,s=this.upperBound,o=n;r.copy(t[0]),o&&o.vmult(r,r),s.copy(r);for(let a=1;as.x&&(s.x=e.x),e.xs.y&&(s.y=e.y),e.ys.z&&(s.z=e.z),e.z=r.x&&e.y<=i.y&&n.y>=r.y&&e.z<=i.z&&n.z>=r.z}getCorners(t,e,n,i,r,s,o,a){const l=this.lowerBound,c=this.upperBound;t.copy(l),e.set(c.x,l.y,l.z),n.set(c.x,c.y,l.z),i.set(l.x,c.y,c.z),r.set(c.x,l.y,c.z),s.set(l.x,c.y,l.z),o.set(l.x,l.y,c.z),a.copy(c)}toLocalFrame(t,e){const n=HF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(let i=0;8!==i;i++){const e=n[i];t.pointToLocal(e,e)}return e.setFromPoints(n)}toWorldFrame(t,e){const n=HF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(let i=0;8!==i;i++){const e=n[i];t.pointToWorld(e,e)}return e.setFromPoints(n)}overlapsRay(t){const{direction:e,from:n}=t,i=1/e.x,r=1/e.y,s=1/e.z,o=(this.lowerBound.x-n.x)*i,a=(this.upperBound.x-n.x)*i,l=(this.lowerBound.y-n.y)*r,c=(this.upperBound.y-n.y)*r,u=(this.lowerBound.z-n.z)*s,h=(this.upperBound.z-n.z)*s,d=Math.max(Math.max(Math.min(o,a),Math.min(l,c)),Math.min(u,h)),p=Math.min(Math.min(Math.max(o,a),Math.max(l,c)),Math.max(u,h));return!(p<0||d>p)}}const UF=new jF,HF=[new jF,new jF,new jF,new jF,new jF,new jF,new jF,new jF];class $F{constructor(t=0,e=0,n=0,i=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=t,this.y=e,this.z=n,this.w=i}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(t,e){const n=Math.sin(.5*e);return this.x=t.x*n,this.y=t.y*n,this.z=t.z*n,this.w=Math.cos(.5*e),this}toAxisAngle(t=new jF){this.normalize();const e=2*Math.acos(this.w),n=Math.sqrt(1-this.w*this.w);return n<.001?(t.x=this.x,t.y=this.y,t.z=this.z):(t.x=this.x/n,t.y=this.y/n,t.z=this.z/n),[t,e]}setFromVectors(t,e){if(t.isAntiparallelTo(e)){const e=GF;t.tangents(e,WF),this.setFromAxisAngle(e,Math.PI)}else{const n=t.cross(e);this.x=n.x,this.y=n.y,this.z=n.z,this.w=Math.sqrt(Yr(t.length(),2)*Yr(e.length(),2))+t.dot(e),this.normalize()}return this}mult(t,e=new $F){const n=this.x,i=this.y,r=this.z,s=this.w,o=t.x,a=t.y,l=t.z,c=t.w;return e.x=n*c+s*o+i*l-r*a,e.y=i*c+s*a+r*o-n*l,e.z=r*c+s*l+n*a-i*o,e.w=s*c-n*o-i*a-r*l,e}inverse(t=new $F){const e=this.x,n=this.y,i=this.z,r=this.w;this.conjugate(t);const s=1/(e*e+n*n+i*i+r*r);return t.x*=s,t.y*=s,t.z*=s,t.w*=s,t}conjugate(t=new $F){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t.w=this.w,t}normalize(){let t=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===t?(this.x=0,this.y=0,this.z=0,this.w=0):(t=1/t,this.x*=t,this.y*=t,this.z*=t,this.w*=t),this}normalizeFast(){const t=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===t?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=t,this.y*=t,this.z*=t,this.w*=t),this}vmult(t,e=new jF){const n=t.x,i=t.y,r=t.z,s=this.x,o=this.y,a=this.z,l=this.w,c=l*n+o*r-a*i,u=l*i+a*n-s*r,h=l*r+s*i-o*n,d=-s*n-o*i-a*r;return e.x=c*l+d*-s+u*-a-h*-o,e.y=u*l+d*-o+h*-s-c*-a,e.z=h*l+d*-a+c*-o-u*-s,e}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this}toEuler(t,e="YZX"){let n,i,r;const s=this.x,o=this.y,a=this.z,l=this.w;switch(e){case"YZX":const t=s*o+a*l;if(t>.499&&(n=2*Math.atan2(s,l),i=Math.PI/2,r=0),t<-.499&&(n=-2*Math.atan2(s,l),i=-Math.PI/2,r=0),void 0===n){const e=s*s,c=a*a;n=Math.atan2(2*o*l-2*s*a,1-o*o*2-2*c),i=Math.asin(2*t),r=Math.atan2(2*s*l-2*o*a,1-2*e-2*c)}break;default:throw new Error("Euler order "+e+" not supported yet.")}t.y=n,t.z=i,t.x=r}setFromEuler(t,e,n,i="XYZ"){const r=Math.cos(t/2),s=Math.cos(e/2),o=Math.cos(n/2),a=Math.sin(t/2),l=Math.sin(e/2),c=Math.sin(n/2);return"XYZ"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o-a*l*c):"YXZ"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o+a*l*c):"ZXY"===i?(this.x=a*s*o-r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o-a*l*c):"ZYX"===i?(this.x=a*s*o-r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o+a*l*c):"YZX"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o-a*l*c):"XZY"===i&&(this.x=a*s*o-r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o+a*l*c),this}clone(){return new $F(this.x,this.y,this.z,this.w)}slerp(t,e,n=new $F){const i=this.x,r=this.y,s=this.z,o=this.w;let a,l,c,u,h,d=t.x,p=t.y,f=t.z,g=t.w;return l=i*d+r*p+s*f+o*g,l<0&&(l=-l,d=-d,p=-p,f=-f,g=-g),1-l>1e-6?(a=Math.acos(l),c=Math.sin(a),u=Math.sin((1-e)*a)/c,h=Math.sin(e*a)/c):(u=1-e,h=e),n.x=u*i+h*d,n.y=u*r+h*p,n.z=u*s+h*f,n.w=u*o+h*g,n}integrate(t,e,n,i=new $F){const r=t.x*n.x,s=t.y*n.y,o=t.z*n.z,a=this.x,l=this.y,c=this.z,u=this.w,h=.5*e;return i.x+=h*(r*u+s*c-o*l),i.y+=h*(s*u+o*a-r*c),i.z+=h*(o*u+r*l-s*a),i.w+=h*(-r*a-s*l-o*c),i}}const GF=new jF,WF=new jF,qF={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let XF=(()=>{class t{constructor(e={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=t.idCounter++,this.type=e.type||0,this.boundingSphereRadius=0,this.collisionResponse=!e.collisionResponse||e.collisionResponse,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:1,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.material=e.material?e.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,e){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,e,n,i){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return t.idCounter=0,t.types=qF,t})();class YF{constructor(t={}){this.position=void 0,this.quaternion=void 0,this.position=new jF,this.quaternion=new $F,t.position&&this.position.copy(t.position),t.quaternion&&this.quaternion.copy(t.quaternion)}pointToLocal(t,e){return YF.pointToLocalFrame(this.position,this.quaternion,t,e)}pointToWorld(t,e){return YF.pointToWorldFrame(this.position,this.quaternion,t,e)}vectorToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e}static pointToLocalFrame(t,e,n,i=new jF){return n.vsub(t,i),e.conjugate(KF),KF.vmult(i,i),i}static pointToWorldFrame(t,e,n,i=new jF){return e.vmult(n,i),i.vadd(t,i),i}static vectorToWorldFrame(t,e,n=new jF){return t.vmult(e,n),n}static vectorToLocalFrame(t,e,n,i=new jF){return e.w*=-1,e.vmult(n,i),e.w*=-1,i}}const KF=new $F;class QF extends XF{constructor(t={}){const{vertices:e=[],faces:n=[],normals:i=[],axes:r,boundingSphereRadius:s}=t;super({type:XF.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=e,this.faces=n,this.faceNormals=i,0===this.faceNormals.length&&this.computeNormals(),s?this.boundingSphereRadius=s:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=r?r.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const t=this.faces,e=this.vertices,n=this.uniqueEdges;n.length=0;const i=new jF;for(let r=0;r!==t.length;r++){const s=t[r],o=s.length;for(let t=0;t!==o;t++){e[s[t]].vsub(e[s[(t+1)%o]],i),i.normalize();let r=!1;for(let t=0;t!==n.length;t++)if(n[t].almostEquals(i)||n[t].almostEquals(i)){r=!0;break}r||n.push(i.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let t=0;th&&(h=t,u=p)}const d=[];for(let p=0;p=0&&this.clipFaceAgainstHull(s,t,e,d,o,a,l)}findSeparatingAxis(t,e,n,i,r,s,o,a){const l=new jF,c=new jF,u=new jF,h=new jF,d=new jF,p=new jF;let f=Number.MAX_VALUE;const g=this;if(g.uniqueAxes)for(let m=0;m!==g.uniqueAxes.length;m++){n.vmult(g.uniqueAxes[m],l);const o=g.testSepAxis(l,t,e,n,i,r);if(!1===o)return!1;o0&&s.negate(s),!0}testSepAxis(t,e,n,i,r,s){QF.project(this,t,n,i,ZF),QF.project(e,t,r,s,JF);const o=ZF[0],a=ZF[1],l=JF[0],c=JF[1];if(o0?1/e:0,this.material=t.material||null,this.linearDamping="number"==typeof t.linearDamping?t.linearDamping:.01,this.type=e<=0?sB.STATIC:sB.DYNAMIC,typeof t.type==typeof sB.STATIC&&(this.type=t.type),this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.sleepState=sB.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new jF,this.quaternion=new $F,this.initQuaternion=new $F,this.previousQuaternion=new $F,this.interpolatedQuaternion=new $F,t.quaternion&&(this.quaternion.copy(t.quaternion),this.initQuaternion.copy(t.quaternion),this.previousQuaternion.copy(t.quaternion),this.interpolatedQuaternion.copy(t.quaternion)),this.angularVelocity=new jF,t.angularVelocity&&this.angularVelocity.copy(t.angularVelocity),this.initAngularVelocity=new jF,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new jF,this.invInertia=new jF,this.invInertiaWorld=new NF,this.invMassSolve=0,this.invInertiaSolve=new jF,this.invInertiaWorldSolve=new NF,this.fixedRotation=void 0!==t.fixedRotation&&t.fixedRotation,this.angularDamping=void 0!==t.angularDamping?t.angularDamping:.01,this.linearFactor=new jF(1,1,1),t.linearFactor&&this.linearFactor.copy(t.linearFactor),this.angularFactor=new jF(1,1,1),t.angularFactor&&this.angularFactor.copy(t.angularFactor),this.aabb=new zF,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new jF,this.isTrigger=Boolean(t.isTrigger),t.shape&&this.addShape(t.shape),this.updateMassProperties()}wakeUp(){const t=this.sleepState;this.sleepState=sB.AWAKE,this.wakeUpAfterNarrowphase=!1,t===sB.SLEEPING&&this.dispatchEvent(sB.wakeupEvent)}sleep(){this.sleepState=sB.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(t){if(this.allowSleep){const e=this.sleepState,n=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),i=Yr(this.sleepSpeedLimit,2);e===sB.AWAKE&&ni?this.wakeUp():e===sB.SLEEPY&&t-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(sB.sleepEvent))}}updateSolveMassProperties(){this.sleepState===sB.SLEEPING||this.type===sB.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(t,e=new jF){return t.vsub(this.position,e),this.quaternion.conjugate().vmult(e,e),e}vectorToLocalFrame(t,e=new jF){return this.quaternion.conjugate().vmult(t,e),e}pointToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e.vadd(this.position,e),e}vectorToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e}addShape(t,e,n){const i=new jF,r=new $F;return e&&i.copy(e),n&&r.copy(n),this.shapes.push(t),this.shapeOffsets.push(i),this.shapeOrientations.push(r),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,t.body=this,this}removeShape(t){const e=this.shapes.indexOf(t);return-1===e?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(e,1),this.shapeOffsets.splice(e,1),this.shapeOrientations.splice(e,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,t.body=null,this)}updateBoundingRadius(){const t=this.shapes,e=this.shapeOffsets,n=t.length;let i=0;for(let r=0;r!==n;r++){const n=t[r];n.updateBoundingSphereRadius();const s=e[r].length(),o=n.boundingSphereRadius;s+o>i&&(i=s+o)}this.boundingRadius=i}updateAABB(){const t=this.shapes,e=this.shapeOffsets,n=this.shapeOrientations,i=t.length,r=oB,s=aB,o=this.quaternion,a=this.aabb,l=lB;for(let c=0;c!==i;c++){const i=t[c];o.vmult(e[c],r),r.vadd(this.position,r),o.mult(n[c],s),i.calculateWorldAABB(r,s,l.lowerBound,l.upperBound),0===c?a.copy(l):a.extend(l)}this.aabbNeedsUpdate=!1}updateInertiaWorld(t){const e=this.invInertia;if(e.x!==e.y||e.y!==e.z||t){const t=cB,n=uB;t.setRotationFromQuaternion(this.quaternion),t.transpose(n),t.scale(e,t),t.mmult(n,this.invInertiaWorld)}}applyForce(t,e=new jF){if(this.type!==sB.DYNAMIC)return;this.sleepState===sB.SLEEPING&&this.wakeUp();const n=hB;e.cross(t,n),this.force.vadd(t,this.force),this.torque.vadd(n,this.torque)}applyLocalForce(t,e=new jF){if(this.type!==sB.DYNAMIC)return;const n=dB,i=pB;this.vectorToWorldFrame(t,n),this.vectorToWorldFrame(e,i),this.applyForce(n,i)}applyTorque(t){this.type===sB.DYNAMIC&&(this.sleepState===sB.SLEEPING&&this.wakeUp(),this.torque.vadd(t,this.torque))}applyImpulse(t,e=new jF){if(this.type!==sB.DYNAMIC)return;this.sleepState===sB.SLEEPING&&this.wakeUp();const n=e,i=fB;i.copy(t),i.scale(this.invMass,i),this.velocity.vadd(i,this.velocity);const r=gB;n.cross(t,r),this.invInertiaWorld.vmult(r,r),this.angularVelocity.vadd(r,this.angularVelocity)}applyLocalImpulse(t,e=new jF){if(this.type!==sB.DYNAMIC)return;const n=mB,i=bB;this.vectorToWorldFrame(t,n),this.vectorToWorldFrame(e,i),this.applyImpulse(n,i)}updateMassProperties(){const t=yB;this.invMass=this.mass>0?1/this.mass:0;const e=this.inertia,n=this.fixedRotation;this.updateAABB(),t.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),nB.calculateInertia(t,this.mass,e),this.invInertia.set(e.x>0&&!n?1/e.x:0,e.y>0&&!n?1/e.y:0,e.z>0&&!n?1/e.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(t,e){const n=new jF;return t.vsub(this.position,n),this.angularVelocity.cross(n,e),this.velocity.vadd(e,e),e}integrate(t,e,n){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==sB.DYNAMIC&&this.type!==sB.KINEMATIC||this.sleepState===sB.SLEEPING)return;const i=this.velocity,r=this.angularVelocity,s=this.position,o=this.force,a=this.torque,l=this.quaternion,c=this.invInertiaWorld,u=this.linearFactor,h=this.invMass*t;i.x+=o.x*h*u.x,i.y+=o.y*h*u.y,i.z+=o.z*h*u.z;const d=c.elements,p=this.angularFactor,f=a.x*p.x,g=a.y*p.y,m=a.z*p.z;r.x+=t*(d[0]*f+d[1]*g+d[2]*m),r.y+=t*(d[3]*f+d[4]*g+d[5]*m),r.z+=t*(d[6]*f+d[7]*g+d[8]*m),s.x+=i.x*t,s.y+=i.y*t,s.z+=i.z*t,l.integrate(this.angularVelocity,t,this.angularFactor,l),e&&(n?l.normalizeFast():l.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}sB.idCounter=0,sB.COLLIDE_EVENT_NAME="collide",sB.DYNAMIC=1,sB.STATIC=2,sB.KINEMATIC=4,sB.AWAKE=0,sB.SLEEPY=1,sB.SLEEPING=2,sB.wakeupEvent={type:"wakeup"},sB.sleepyEvent={type:"sleepy"},sB.sleepEvent={type:"sleep"};const oB=new jF,aB=new $F,lB=new zF,cB=new NF,uB=new NF,hB=new jF,dB=new jF,pB=new jF,fB=new jF,gB=new jF,mB=new jF,bB=new jF,yB=new jF;new jF,new jF;class vB{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new jF,this.rayToWorld=new jF,this.hitNormalWorld=new jF,this.hitPointWorld=new jF,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(t,e,n,i,r,s,o){this.rayFromWorld.copy(t),this.rayToWorld.copy(e),this.hitNormalWorld.copy(n),this.hitPointWorld.copy(i),this.shape=r,this.body=s,this.distance=o}}let _B,wB,xB,SB,CB,EB,OB;_B=XF.types.SPHERE,wB=XF.types.PLANE,xB=XF.types.BOX,SB=XF.types.CYLINDER,CB=XF.types.CONVEXPOLYHEDRON,EB=XF.types.HEIGHTFIELD,OB=XF.types.TRIMESH;class TB{get[_B](){return this._intersectSphere}get[wB](){return this._intersectPlane}get[xB](){return this._intersectBox}get[SB](){return this._intersectConvex}get[CB](){return this._intersectConvex}get[EB](){return this._intersectHeightfield}get[OB](){return this._intersectTrimesh}constructor(t=new jF,e=new jF){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=t.clone(),this.to=e.clone(),this.direction=new jF,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=TB.ANY,this.result=new vB,this.hasHit=!1,this.callback=t=>{}}intersectWorld(t,e){return this.mode=e.mode||TB.ANY,this.result=e.result||new vB,this.skipBackfaces=!!e.skipBackfaces,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===e.checkCollisionResponse||e.checkCollisionResponse,e.from&&this.from.copy(e.from),e.to&&this.to.copy(e.to),this.callback=e.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(kB),PB.length=0,t.broadphase.aabbQuery(t,kB,PB),this.intersectBodies(PB),this.hasHit}intersectBody(t,e){e&&(this.result=e,this.updateDirection());const n=this.checkCollisionResponse;if(n&&!t.collisionResponse||0==(this.collisionFilterGroup&t.collisionFilterMask)||0==(t.collisionFilterGroup&this.collisionFilterMask))return;const i=IB,r=DB;for(let s=0,o=t.shapes.length;st.boundingSphereRadius)return;const r=this[t.type];r&&r.call(this,t,e,n,i,t)}_intersectBox(t,e,n,i,r){return this._intersectConvex(t.convexPolyhedronRepresentation,e,n,i,r)}_intersectPlane(t,e,n,i,r){const s=this.from,o=this.to,a=this.direction,l=new jF(0,0,1);e.vmult(l,l);const c=new jF;s.vsub(n,c);const u=c.dot(l);if(o.vsub(n,c),u*c.dot(l)>0||s.distanceTo(o)=0&&t<=1&&(s.lerp(o,t,d),d.vsub(n,p),p.normalize(),this.reportIntersection(p,d,r,i,-1)),this.result.shouldStop)return;e>=0&&e<=1&&(s.lerp(o,e,d),d.vsub(n,p),p.normalize(),this.reportIntersection(p,d,r,i,-1))}}_intersectConvex(t,e,n,i,r,s){const o=$B,a=GB,l=s&&s.faceList||null,c=t.faces,u=t.vertices,h=t.faceNormals,d=this.direction,p=this.from,f=p.distanceTo(this.to),g=l?l.length:c.length,m=this.result;for(let b=0;!m.shouldStop&&bf||this.reportIntersection(o,RB,r,i,t)}}}}_intersectTrimesh(t,e,n,i,r,s){const o=WB,a=ZB,l=JB,c=GB,u=qB,h=XB,d=YB,p=QB,f=KB,g=t.indices,m=this.from,b=this.to,y=this.direction;l.position.copy(n),l.quaternion.copy(e),YF.vectorToLocalFrame(n,e,y,u),YF.pointToLocalFrame(n,e,m,h),YF.pointToLocalFrame(n,e,b,d),d.x*=t.scale.x,d.y*=t.scale.y,d.z*=t.scale.z,h.x*=t.scale.x,h.y*=t.scale.y,h.z*=t.scale.z,d.vsub(h,u),u.normalize();const v=h.distanceSquared(d);t.tree.rayQuery(this,l,a);for(let _=0,w=a.length;!this.result.shouldStop&&_!==w;_++){const s=a[_];t.getNormal(s,o),t.getVertex(g[3*s],NB),NB.vsub(h,c);const l=u.dot(o),d=o.dot(c)/l;if(d<0)continue;u.scale(d,RB),RB.vadd(h,RB),t.getVertex(g[3*s+1],LB),t.getVertex(g[3*s+2],jB);const m=RB.distanceSquared(h);!TB.pointInTriangle(RB,LB,NB,jB)&&!TB.pointInTriangle(RB,NB,LB,jB)||m>v||(YF.vectorToWorldFrame(e,o,f),YF.pointToWorldFrame(n,e,RB,p),this.reportIntersection(f,p,r,i,s))}a.length=0}reportIntersection(t,e,n,i,r){const s=this.from,o=this.to,a=s.distanceTo(e),l=this.result;if(!(this.skipBackfaces&&t.dot(this.direction)>0))switch(l.hitFaceIndex=void 0!==r?r:-1,this.mode){case TB.ALL:this.hasHit=!0,l.set(s,o,t,e,n,i,a),l.hasHit=!0,this.callback(l);break;case TB.CLOSEST:(a=0&&(u=r*l-s*o)>=0&&c+uDate.now()-t}var PV=n(24517);function AV(t,e,n){e||(e=new VT(VT.IDENTITY));const i=new VT(VT.IDENTITY);if(!t)return!0;if(t.matrix)i.copy(t.matrix);else{if(i.identity(),t.translation&&i.translate(t.translation),t.rotation){const e=new VT(VT.IDENTITY).fromQuaternion(t.rotation);i.multiplyRight(e)}t.scale&&i.scale(t.scale)}const r=new VT(e).multiplyRight(i);if(!1===n(t,r,e))return!1;for(const s of t.nodes||t.children||[])if(!1===AV(s,r,n))return!1;return!0}function MV(){DA([lL,mF])}function IV(t,e){var n;const i=null===(n=e.nodes)||void 0===n?void 0:n.find(e=>e.name===t);if(i){let n=!1;for(const t of e.scenes)n||AV(t,new VT(VT.IDENTITY),(t,e)=>t!==i||(t.matrix=e,t.translation=void 0,t.rotation=void 0,t.scale=void 0,n=!0,!1));return e.scene={id:t,name:t,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function DV(t,e){return xw(this,void 0,void 0,function*(){const n=t.scenegraph;let i;i=e?e[n]||(e[n]=fetch(n).then(t=>t.blob())):fetch(n);const r=yield $A(i,mF,{DracoLoader:tj,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",n,r),IV(t.scenegraphNode,r)})}function RV(t,e){return xw(this,void 0,void 0,function*(){return IV(t,yield e)})}function NV(t,e,n){if(e&&0!==e.length){let i;switch(n.geometry){case"sphere":i=new CF;break;case"cone":i=new TF;break;case"cylinder":i=new kF;break;case"cube":default:i=new RF}return new yN(Object.assign({id:t,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:Ww.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:t=>t.transformMatrix,getColor:t=>t.color||[255,255,255,229.5]},n))}}function LV(t,e,n){if(e&&0!==e.length)return new eN(Object.assign({id:t,pickable:!0,data:e.map(t=>Object.assign(Object.assign({},t),{position:new VT(t.transformMatrix).getTranslation()})),getText:t=>t.text,getPosition:t=>t.position,getColor:t=>t.color},n))}let jV=(()=>{class t extends nM{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),MV()}renderLayers(){var e,n;const i=this.state,r={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const t of i.data){const n=null!==(e=t.geometry)&&void 0!==e?e:"cube";t.scenegraph?r.scenegraph.push(t):void 0!==r[n]&&r[n].push(t)}const s={};for(const a of r.scenegraph)a.scenegraph&&a.scenegraphNode&&!Object.prototype.hasOwnProperty.call(s,a.scenegraph)&&(s[a.scenegraph]=DV({scenegraph:a.scenegraph},t.gltfCache));const o=[];for(const[t,a]of Object.entries(r))if("scenegraph"===t)for(const e of a)o.push(new SF({id:"models-"+e["@id"],opacity:e.zoomBasedOpacity?i.zoomOpacity:void 0!==e.opacity?e.opacity:1,pickable:!e.unpickable,coordinateSystem:Ww.CARTESIAN,data:[e],scenegraph:e.scenegraphNode?RV(e.scenegraphNode,s[e.scenegraph]):e.scenegraph,_lighting:e._lighting,getTransformMatrix:e.transformMatrix,getColor:null!==(n=e.color)&&void 0!==n?n:[0,255,0,127.5],parameters:{depthMask:!e.zoomBasedOpacity&&(void 0===e.opacity||1===e.opacity)}}));else"text"===t?(o.push(LV("text",a.filter(t=>t.unpickable),{pickable:!1})),o.push(LV("textPickable",a.filter(t=>!t.unpickable),{pickable:!0}))):"wireframe"===t?o.push(NV(t,a,{wireframe:!0,pickable:!1,geometry:t})):(o.push(NV(t,a.filter(t=>t.unpickable),{wireframe:!1,pickable:!1,geometry:t})),o.push(NV(`${t}Pickable`,a.filter(t=>!t.unpickable),{wireframe:!1,pickable:!0,geometry:t})));return i.doCollisions&&function(t){xw(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=t.filter(t=>!t.scenegraph&&"wireframe"!==t.geometry).map(t=>{const e=new VT(t.transformMatrix),n=e.transformAsPoint([-1,-1,-1],[]),i=e.transformAsPoint([1,1,1],[]);return{"@id":t["@id"],name:t.tooltip,entityId:t.entityId,bbox:new zF({lowerBound:new jF(...n.map((t,e)=>Math.min(t,i[e]))),upperBound:new jF(...i.map((t,e)=>Math.max(t,n[e])))})}}),n=[];for(const o of t.filter(t=>!!t.scenegraph)){const t=yield XA(o.scenegraph,mF,{DracoLoader:tj,decompress:!0,postProcess:!0});for(const e of t.scenes)AV(e,new VT(o.transformMatrix),(e,i)=>{if(e.mesh&&e.mesh.primitives&&e.mesh.primitives.length>0)for(const r of e.mesh.primitives)if(r.attributes.POSITION&&r.attributes.POSITION.min){const s=i.transformAsPoint(r.attributes.POSITION.min,[]),a=i.transformAsPoint(r.attributes.POSITION.max,[]);n.push({"@id":o["@id"],name:e.name,entityId:o.entityId,bbox:new zF({lowerBound:new jF(...s.map((t,e)=>Math.min(t,a[e]))),upperBound:new jF(...a.map((t,e)=>Math.max(t,s[e])))}),gltf:t})}return!0})}const i=[],r=[];for(const t of e){const e=[];for(const i of n)t.bbox.overlaps(i.bbox)&&e.push({"@id":i["@id"],name:i.name});e.length>0?i.push({"@id":t.entityId,name:t.name,hits:e}):r.push(t)}console.log({sourceBoxes:e,targetBoxes:n,report:i,sad:r,maxHits:Math.max(...i.map(t=>t.hits.length))});const s=[];for(const t of i){s.push({"Tissue ID":t["@id"],"Tissue Name":t.name,"Hit ID":"","Hit Name":""});for(const e of t.hits)s.push({"Tissue ID":t["@id"],"Tissue Name":t.name,"Hit ID":e["@id"],"Hit Name":e.name})}return console.log(s),i})}(i.data),o.filter(t=>!!t)}getPickingInfo(t){return t.info}}return t.layerName="BodyUILayer",t.gltfCache={},t})();function FV(t,e=[]){for(const n of t.nodes||t.children||[])e.push(n.name),FV(n,e);return e}let BV=(()=>{class t{constructor(t){var e,n,i,r,s;this.deckProps=t,this.bodyUILayer=new jV({}),this.nodeClickSubject=new A,this.nodeHoverStartSubject=new A,this.nodeHoverStopSubject=new A,this.sceneRotationSubject=new Jf([0,0]),this.nodeDragStartSubject=new A,this.nodeDragSubject=new A,this.nodeDragEndSubject=new A,this.nodeClick$=this.nodeClickSubject.pipe(at()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(at()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(at()),this.sceneRotation$=this.sceneRotationSubject.pipe(at()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(at()),this.nodeDrag$=this.nodeDragSubject.pipe(at()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(at());const o=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new IM({flipY:!1,near:-1e3}):new LM({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:t=>{var e;return null!==(e=this.cursor)&&void 0!==e?e:t.isDragging?"grabbing":"grab"}});t.legacyLighting&&(o.effects=[new cI({ambientLight:new VM({color:[255,255,255],intensity:10})})]),this.deck=new dR(o),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(e=t.minRotationX)&&void 0!==e?e:-15,maxRotationX:null!==(n=t.maxRotationX)&&void 0!==n?n:15,target:null!==(i=t.target)&&void 0!==i?i:[.5,.5,0],rotationX:0,rotationOrbit:null!==(r=t.rotation)&&void 0!==r?r:0,zoom:null!==(s=t.zoom)&&void 0!==s?s:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return xw(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let e=this.bodyUILayer.state.zoomOpacity,n=!1;for(const i of t)i.zoomToOnLoad&&(this.zoomTo(i),n=!0);e=n?.05:e,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,e):this.bodyUILayer.setState({data:t,zoomOpacity:e})}}debugSceneNodeProcessing(t,e){const n="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",i=new VT([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(t,e,n,i){return xw(this,void 0,void 0,function*(){MV();const n=yield DV({scenegraph:t,scenegraphNode:"VHF_Kidney_L_Low1"},undefined),i={},r=[];for(const s of n.scenes)AV(s,e=new VT(e||VT.IDENTITY),(n,s)=>{const o={"@id":n.name||n.id,"@type":"ProcessedNode",transformMatrix:new VT(s),geometry:"wireframe",node:n};if(r.push({"@id":`GLTF:${o["@id"]}`,"@type":"GLTFNode",scenegraph:t,scenegraphNode:o["@id"],transformMatrix:new VT(e||VT.IDENTITY),tooltip:n.name||n.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:n}),n.mesh&&n.mesh.primitives&&n.mesh.primitives.length>0)for(const t of n.mesh.primitives)if(t.attributes.POSITION&&t.attributes.POSITION.min){const e=s.transformAsPoint(t.attributes.POSITION.min,[]),n=s.transformAsPoint(t.attributes.POSITION.max,[]);o.bbox=new zF({lowerBound:new jF(...e.map((t,e)=>Math.min(t,n[e]))),upperBound:new jF(...n.map((t,n)=>Math.max(t,e[n])))})}return i[o["@id"]]=o,!0});for(const t of Object.values(i).filter(t=>!t.bbox)){for(const e of FV(t.node).map(t=>i[t]).filter(t=>t.bbox))t.bbox?t.bbox.extend(e.bbox):t.bbox=e.bbox.clone();t.bbox||delete i[t["@id"]]}for(const t of Object.values(i)){const e=t.bbox.lowerBound,n=(t.size=t.bbox.upperBound.clone().vsub(e)).clone().vmul(new jF(.5,.5,.5)),i=t.center=e.clone().vadd(n);t.transformMatrix=new VT(VT.IDENTITY).translate(i.toArray()).scale(n.toArray())}for(const t of r)i[t["@id"]]=t;return i})})(n,i).then(r=>{console.log("results",r),console.log("data",t),(t=t.concat(Object.values(r))).push({"@id":"TEST","@type":"TEST",scenegraph:n,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:i,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:e})})}zoomTo(t){const e=new VT(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:e.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:e}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?e!==t.object&&(e&&this.nodeHoverStopSubject.next(e),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):e&&(this.nodeHoverStopSubject.next(e),this.lastHovered=void 0)}_onClick(t,e){var n,i;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(i=null===(n=null==e?void 0:e.srcEvent)||void 0===n?void 0:n.ctrlKey)&&void 0!==i?i:void 0})}_onViewStateChange(t){var e;if(null===(e=t.interactionState)||void 0===e?void 0:e.isZooming){const e=this.bodyUILayer.state,n=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);e.zoomOpacity!==n&&this.bodyUILayer.setState({data:e.data,zoomOpacity:n})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,e){this._dragEvent(t,e,this.nodeDragStartSubject)}_onDrag(t,e){this._dragEvent(t,e,this.nodeDragSubject)}_onDragEnd(t,e){this._dragEvent(t,e,this.nodeDragEndSubject)}_dragEvent(t,e,n){var i;(null===(i=null==t?void 0:t.object)||void 0===i?void 0:i["@id"])&&n.next({node:t.object,info:t,e})}}return vw([PV.ZP],t.prototype,"_onHover",null),vw([PV.ZP],t.prototype,"_onClick",null),vw([PV.ZP],t.prototype,"_onViewStateChange",null),vw([PV.ZP],t.prototype,"_onDragStart",null),vw([PV.ZP],t.prototype,"_onDrag",null),vw([PV.ZP],t.prototype,"_onDragEnd",null),t})();function VV(t,e){return t===e}function zV(t,e,n){if(null===e||null===n||e.length!==n.length)return!1;const i=e.length;for(let r=0;r(t&&t.providers||[]).some(t=>t&&t.provide&&"MockNgModuleResolver"===t.provide.name||!1))});let $V=(()=>{class t{constructor(){this.bootstrap$=new _p(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const GV=new oi("INITIAL_STATE_TOKEN");let WV=(()=>{class t{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return t.value={},t})();const qV=new oi("Internals.StateContextFactory"),XV=new oi("Internals.StateFactory");function YV(t,e){return e?n=>n.pipe(YV((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))))):e=>e.lift(new KV(t))}class KV{constructor(t){this.project=t}call(t,e){return e.subscribe(new QV(t,this.project))}}class QV extends ${constructor(t,e){super(t),this.project=e,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(t){this.hasSubscription||this.tryNext(t)}tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this.hasSubscription=!0,this._innerSub(e)}_innerSub(t){const e=new H(this),n=this.destination;n.add(e);const i=G(t,e);i!==e&&n.add(i)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function ZV(t=null){return e=>e.lift(new JV(t))}class JV{constructor(t){this.defaultValue=t}call(t,e){return e.subscribe(new tz(t,this.defaultValue))}}class tz extends v{constructor(t,e){super(t),this.defaultValue=e,this.isEmpty=!0}_next(t){this.isEmpty=!1,this.destination.next(t)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}const ez={STATE_NAME:t=>`${t} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(t,e,n)=>`State name '${t}' from ${e} already exists in ${n}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:t=>`'${t}' class should be decorated with @Injectable() right after the @State() decorator`};let nz=(()=>{class t{constructor(t,e){this._ngZone=t,this._platformId=e,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(t){return"server"===t}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return Tu.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return Tu.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof Tu||console.warn(ez.ZONE_WARNING())}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(hu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const iz=new oi("ROOT_STATE_TOKEN"),rz=new oi("FEATURE_STATE_TOKEN"),sz=new oi("NGXS_PLUGINS"),oz=new oi("NG_TEST_MODE"),az=new oi("NG_DEV_MODE"),lz="NGXS_META",cz="NGXS_OPTIONS_META",uz="NGXS_SELECTOR_META";let hz=(()=>{class t{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=nz}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class dz{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}}const pz=new oi("NGXS_EXECUTION_STRATEGY");function fz(t){return t.constructor&&t.constructor.type?t.constructor.type:t.type}const gz=(t,e,n)=>{t=Object.assign({},t);const i=e.split("."),r=i.length-1;return i.reduce((t,e,i)=>(t[e]=i===r?n:Array.isArray(t[e])?t[e].slice():Object.assign({},t[e]),t&&t[e]),t),t},mz=(t,e)=>e.split(".").reduce((t,e)=>t&&t[e],t),bz=t=>t&&"object"==typeof t&&!Array.isArray(t),yz=(t,...e)=>{if(!e.length)return t;const n=e.shift();if(bz(t)&&bz(n))for(const i in n)bz(n[i])?(t[i]||Object.assign(t,{[i]:{}}),yz(t[i],n[i])):Object.assign(t,{[i]:n[i]});return yz(t,...e)};function vz(t){if(!t.hasOwnProperty(lz)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(t,lz,{value:e})}return _z(t)}function _z(t){return t[lz]}function wz(t){return t[uz]}function xz(t,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(t){const e=t.slice();return t=>e.reduce((t,e)=>t&&t[e],t)}(t):function(t){const e=t;let n="store."+e[0],i=0;const r=e.length;let s=n;for(;++i(t[fz(e)]=!0,t),{})}(t),r=e&&function(t){return t.reduce((t,e)=>(t[e]=!0,t),{})}(e);return function(t){return t.pipe(function(t,e){return ep(n=>{const i=fz(n.action);return t[i]&&(!e||e[n.status])})}(i,r),n())}}(t,["DISPATCHED"])}function Ez(){return D(t=>t.action)}function Oz(t){return e=>new E(n=>e.subscribe({next(e){t.leave(()=>n.next(e))},error(e){t.leave(()=>n.error(e))},complete(){t.leave(()=>n.complete())}}))}let Tz=(()=>{class t{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(pz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class kz extends A{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(t){if(this._busyPushingNext)this._itemQueue.unshift(t);else{for(this._busyPushingNext=!0,super.next(t);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let Pz=(()=>{class t extends kz{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Az=(()=>{class t extends E{constructor(t,e){super(n=>{const i=t.pipe(Oz(e)).subscribe({next:t=>n.next(t),error:t=>n.error(t),complete:()=>n.complete()});n.add(i)})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Pz),Ei(Tz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Mz=t=>(...e)=>t.shift()(...e,(...e)=>Mz(t)(...e));let Iz=(()=>{class t extends Jf{constructor(){super({})}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Dz=(()=>{class t{constructor(t,e){this._parentManager=t,this._pluginHandlers=e,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(t=>t.handle?t.handle.bind(t):t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12),Ei(sz,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Rz=(()=>{class t extends A{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Nz=(()=>{class t{constructor(t,e,n,i,r,s){this._injector=t,this._actions=e,this._actionResults=n,this._pluginManager=i,this._stateStream=r,this._ngxsExecutionStrategy=s}dispatch(t){const e=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return e.subscribe({error:t=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(kr),this._errorHandler.handleError(t)}catch(e){}})}),e.pipe(Oz(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?Dd(this._stateStream.getValue()):Ev(t.map(t=>this.dispatchSingle(t))):this.dispatchSingle(t)}dispatchSingle(t){if(!fz(t))return gp(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const e=this._stateStream.getValue();return Mz([...this._pluginManager.plugins,(t,n)=>{t!==e&&this._stateStream.next(t);const i=this.getActionResultStream(n);return i.subscribe(t=>this._actions.next(t)),this._actions.next({action:n,status:"DISPATCHED"}),this.createDispatchObservable(i)}])(e,t).pipe(xp())}getActionResultStream(t){return this._actionResults.pipe(ep(e=>e.action===t&&"DISPATCHED"!==e.status),rf(1),xp())}createDispatchObservable(t){return t.pipe(YV(t=>{switch(t.status){case"SUCCESSFUL":return Dd(this._stateStream.getValue());case"ERRORED":return gp(t.error);default:return pp}})).pipe(xp())}}return t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(Pz),Ei(Rz),Ei(Dz),Ei(Iz),Ei(Tz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Lz=t=>{Object.freeze(t);const e="function"==typeof t,n=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(function(i){n.call(t,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==t[i]&&("object"==typeof t[i]||"function"==typeof t[i])&&!Object.isFrozen(t[i])&&Lz(t[i])}),t};let jz=(()=>{class t{constructor(t,e){this.isDevMode=t,this.isTestMode=e}}return t.\u0275fac=function(e){return new(e||t)(Ei(az),Ei(oz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Fz=(()=>{class t{constructor(t,e){this._host=t,this._config=e}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(ez.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(ez.INCORRECT_DEVELOPMENT()))}}return t.\u0275fac=function(e){return new(e||t)(Ei(jz),Ei(hz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Bz=(()=>{class t{constructor(t,e,n,i){this._stateStream=t,this._dispatcher=e,this._config=n,i.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:t=>this._stateStream.next(t),dispatch:t=>this._dispatcher.dispatch(t)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:e=>{const n=Lz(e);return t.setState(n)},dispatch:e=>t.dispatch(e)}}setStateToTheCurrentWithNew(t){const e=this.getRootStateOperations(),n=e.getState();e.setState(Object.assign({},n,t.defaults))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Iz),Ei(Nz),Ei(hz),Ei(Fz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Vz=(()=>{class t{constructor(t){this._internalStateOperations=t}createStateContext(t){const e=this._internalStateOperations.getRootStateOperations();function n(e){return mz(e,t.path)}function i(n,i){const r=gz(n,t.path,i),s=t.instance;if(s.ngxsOnChanges){const e=Sz(t,{currentAppState:n,newAppState:r});s.ngxsOnChanges(e)}return e.setState(r),r}function r(t,e){return i(t,e(n(t)))}return{getState:()=>n(e.getState()),patchState:t=>r(e.getState(),function(t){return e=>{if(Array.isArray(t))throw new Error(ez.PATCHING_ARRAY());if("object"!=typeof t)throw new Error(ez.PATCHING_PRIMITIVE());const n=Object.assign({},e);for(const i in t)n[i]=t[i];return n}}(t)),setState(t){const n=e.getState();return function(t){return"function"==typeof t}(t)?r(n,t):i(n,t)},dispatch:t=>e.dispatch(t)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Bz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class zz{static stateNameErrorMessage(t){return ez.STATE_NAME(t)}static checkCorrectStateName(t){if(!t)throw new Error(ez.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(t))throw new Error(this.stateNameErrorMessage(t))}static checkStateNameIsUnique(t,e){const n=this.getValidStateMeta(t).name,i=e[n];if(i&&i!==t)throw new Error(ez.STATE_UNIQUE(n,t.name,i.name));return n}static getValidStateMeta(t){const e=_z(t);if(!e)throw new Error(ez.STATE_DECORATOR());return e}}zz.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let Uz=(()=>{class t{constructor(t,e,n,i,r,s,o){this._injector=t,this._config=e,this._parentFactory=n,this._actions=i,this._actionResults=r,this._stateContextFactory=s,this._initialState=o,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=UV(()=>{const t=this;function e(e){const n=t.statePaths[e];return n?xz(n.split("."),t._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(t){let n=e(t);return n||((...i)=>(n||(n=e(t)),n?n(...i):void 0))},getSelectorOptions:e=>Object.assign({},t._config.selectorOptions,e||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let e={};return e=Array.isArray(t)?t.slice():function(t){return"object"==typeof t&&null!==t||"function"==typeof t}(t)?Object.assign({},t):void 0===t?{}:t,e}static checkStatesAreValid(t){t.forEach(zz.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(e){t.checkStatesAreValid(e);const{newStates:n}=this.addToStatesMap(e);if(!n.length)return[];const i=function(t){const e=e=>{const n=t.find(t=>t===e);if(!n)throw new Error(`Child state not found: ${e}. \r\nYou may have forgotten to add states to module`);return n[lz].name};return t.reduce((t,n)=>{const{name:i,children:r}=n[lz];return t[i]=(r||[]).map(e),t},{})}(n),r=function(t){const e=[],n={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),n[r]=!0,t[r].forEach(t=>{if(s.indexOf(t)>=0)throw new Error(`Circular dependency '${t}' is required by '${r}': ${s.join(" -> ")}`);n[t]||i(t,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(t).forEach(t=>i(t)),e.reverse()}(i),s=function(t,e={}){const n=(t,e)=>{for(const i in t)if(t.hasOwnProperty(i)&&t[i].indexOf(e)>=0){const e=n(t,i);return null!==e?`${e}.${i}`:i}return null};for(const i in t)if(t.hasOwnProperty(i)){const r=n(t,i);e[i]=r?`${r}.${i}`:i}return e}(i),o=function(t){return t.reduce((t,e)=>(t[e[lz].name]=e,t),{})}(n),a=[];for(const l of r){const e=o[l],n=s[l],i=e[lz];this.addRuntimeInfoToMeta(i,n);const r={name:l,path:n,isInitialised:!1,actions:i.actions,instance:this._injector.get(e),defaults:t.cloneDefaults(i.defaults)};this.hasBeenMountedAndBootstrapped(l,n)||a.push(r),this.states.push(r)}return a}addAndReturnDefaults(t){const e=this.add(t||[]);return{defaults:e.reduce((t,e)=>gz(t,e.path,e.defaults),{}),states:e}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(ep(t=>"DISPATCHED"===t.status),W(({action:t})=>this.invokeActions(this._actions,t).pipe(D(()=>({action:t,status:"SUCCESSFUL"})),ZV({action:t,status:"CANCELED"}),Tv(e=>Dd({action:t,status:"ERRORED",error:e}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,e){const n=fz(e),i=[];for(const s of this.states){const o=s.actions[n];if(o)for(const n of o){const o=this._stateContextFactory.createStateContext(s);try{let r=s.instance[n.fn](o,e);r instanceof Promise&&(r=U(r)),r instanceof E?(r=r.pipe(ZV({})),n.options.cancelUncompleted&&(r=r.pipe(rp(t.pipe(Cz(e)))))):r=Dd({}).pipe(xp()),i.push(r)}catch(r){i.push(gp(r))}}}return i.length||i.push(Dd({})),Ev(i)}addToStatesMap(t){const e=[],n=this.statesByName;for(const i of t){const t=zz.checkStateNameIsUnique(i,n);!n[t]&&(e.push(i),n[t]=i)}return{newStates:e}}addRuntimeInfoToMeta(t,e){this.statePaths[t.name]=e,t.path=e}hasBeenMountedAndBootstrapped(t,e){const n=void 0!==mz(this._initialState,e);return this.statesByName[t]&&n}}return t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(hz),Ei(t,12),Ei(Pz),Ei(Rz),Ei(Vz),Ei(GV,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Hz=(()=>{class t{constructor(t,e,n){this.internalStateOperations=t,this.stateContextFactory=e,this.bootstrapper=n}ngxsBootstrap(t,e){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(ep(()=>!!e),eg(()=>this.invokeInit(e.states)),W(()=>this.bootstrapper.appBootstrapped$),ep(t=>!!t)).subscribe(()=>this.invokeBootstrap(e.states))}invokeInit(t){for(const e of t){const t=e.instance;if(t.ngxsOnChanges){const n=Sz(e,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});t.ngxsOnChanges(n)}t.ngxsOnInit&&t.ngxsOnInit(this.getStateContext(e)),e.isInitialised=!0}}invokeBootstrap(t){for(const e of t){const t=e.instance;t.ngxsAfterBootstrap&&t.ngxsAfterBootstrap(this.getStateContext(e))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Bz),Ei(Vz),Ei($V))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const $z=t=>t&&t.NGXS_SELECTOR_OPTIONS_META||{};function Gz(t,e,n){const i=n&&n.containerClass,r=UV(function(...t){const n=e.apply(i,t);return n instanceof Function?UV.apply(null,[n]):n});Object.setPrototypeOf(r,e);const s=function(t,e){const n=function(t){return t.hasOwnProperty(uz)||Object.defineProperty(t,uz,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),wz(t)}(t);n.originalFn=t;let i=()=>({});e&&(n.containerClass=e.containerClass,n.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},n);return n.getSelectorOptions=()=>function(t,e){return Object.assign({},$z(t.containerClass)||{},$z(t.originalFn)||{},t.getSelectorOptions()||{},e)}(r,i()),n}(e,n);return s.makeRootSelector=e=>{const{argumentSelectorFunctions:n,selectorOptions:i}=function(t,e,n=[]){const i=e.getSelectorOptions(),r=t.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(t=[],e,n){const i=[];return n&&(0===t.length||e.injectContainerState)&&_z(n)&&i.push(n),t&&i.push(...t),i}(n,r,e.containerClass).map(e=>Wz(e)(t))}}(e,s,t);return function(t){const e=n.map(e=>e(t));try{return r(...e)}catch(s){if(s instanceof TypeError&&i.suppressErrors)return;throw s}}},r}function Wz(t){const e=wz(t)||_z(t);return e&&e.makeRootSelector||(()=>t)}let qz=(()=>{class t{constructor(t,e,n,i,r,s){this._stateStream=t,this._internalStateOperations=e,this._config=n,this._internalExecutionStrategy=i,this._stateFactory=r,this.initStateStream(s)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const e=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(D(e),Tv(t=>{const{suppressErrors:e}=this._config.selectorOptions;return t instanceof TypeError&&e?Dd(void 0):gp(t)}),Wd(),Oz(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(rf(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(Oz(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return Wz(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const e=this._stateStream.value;if(!e||0===Object.keys(e).length){const e=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(e)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Iz),Ei(Bz),Ei(hz),Ei(Tz),Ei(Uz),Ei(GV,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Xz=(()=>{class t{constructor(e,n){t.store=e,t.config=n}ngOnDestroy(){t.store=null,t.config=null}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz),Ei(hz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t.store=null,t.config=null,t})();class Yz{static get type(){return"@@INIT"}}class Kz{constructor(t){this.addedStates=t}static get type(){return"@@UPDATE_STATE"}}const Qz=new _p(1);let Zz=(()=>{class t{constructor(e,n,i,r,s=[],o){!function(){try{const t=window.ng,e=!(t.probe&&t.coreTokens)&&Vu();Qz.next(e)}catch(t){Qz.next(!1)}finally{Qz.complete()}}();const a=e.addAndReturnDefaults(s);n.setStateToTheCurrentWithNew(a),e.connectActionHandlers(),o.ngxsBootstrap(new Yz,a)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Uz),Ei(Bz),Ei(qz),Ei(Xz),Ei(iz,8),Ei(Hz))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),Jz=(()=>{class t{constructor(e,n,i,r=[],s){const o=t.flattenStates(r),a=i.addAndReturnDefaults(o);a.states.length&&(n.setStateToTheCurrentWithNew(a),s.ngxsBootstrap(new Kz(a.defaults),a))}static flattenStates(t=[]){return t.reduce((t,e)=>t.concat(e),[])}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz),Ei(Bz),Ei(Uz),Ei(rz,8),Ei(Hz))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();class tU{static forRoot(t=[],e={}){return{ngModule:Zz,providers:[Uz,Vz,Az,Pz,$V,Fz,jz,Hz,Nz,Rz,Bz,Tz,qz,Iz,Xz,Dz,...t,...tU.ngxsTokenProviders(t,e)]}}static forFeature(t=[]){return{ngModule:Jz,providers:[Uz,Dz,...t,{provide:rz,multi:!0,useValue:t}]}}static ngxsTokenProviders(t,e){return[{provide:oz,useValue:HV},{provide:az,useValue:Vu},{provide:pz,useClass:e.executionStrategy||nz},{provide:iz,useValue:t},{provide:tU.ROOT_OPTIONS,useValue:e},{provide:hz,useFactory:tU.ngxsConfigFactory,deps:[tU.ROOT_OPTIONS]},{provide:du,useFactory:tU.appBootstrapListenerFactory,multi:!0,deps:[$V]},{provide:GV,useFactory:tU.getInitialState},{provide:qV,useExisting:Vz},{provide:XV,useExisting:Uz}]}static ngxsConfigFactory(t){return yz(new hz,t)}static appBootstrapListenerFactory(t){return()=>t.bootstrap()}static getInitialState(){return WV.pop()}}function eU(t,e){return(n,i)=>{if(n.hasOwnProperty("prototype"))throw new Error(ez.ACTION_DECORATOR());const r=vz(n.constructor);Array.isArray(t)||(t=[t]);for(const s of t){const t=s.type;r.actions[t]||(r.actions[t]=[]),r.actions[t].push({fn:i,options:e||{},type:t})}}}function nU(t){return e=>{!function(t){Qz.subscribe(e=>{e&&(t.\u0275prov||console.warn(ez.UNDECORATED_STATE_IN_IVY(t.name)))})}(e);const n=e,i=vz(n),r=Object.getPrototypeOf(n),s=function(e){return Object.assign({},e[cz]||{},t)}(r);(function(t){const{meta:e,inheritedStateClass:n,optionsWithInheritance:i}=t,{children:r,defaults:s,name:o}=i,a="string"==typeof o?o:o&&o.getName()||null;zz.checkCorrectStateName(a),n.hasOwnProperty(lz)&&(e.actions=Object.assign({},e.actions,(n[lz]||{}).actions)),e.children=r,e.defaults=s,e.name=a})({meta:i,inheritedStateClass:r,optionsWithInheritance:s}),n[cz]=s}}function iU(t,...e){return function(n,i){const r=i.toString(),s=`__${r}__selector`,o=function(t,e,n=[]){return"string"==typeof(e=e||function(t){const e=t.length-1;return 36===t.charCodeAt(e)?t.slice(0,e):t}(t))?xz(n.length?[e,...n]:e.split("."),Xz.config):e}(r,t,e);Object.defineProperties(n,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(t){if(!Xz.store)throw new Error(ez.SELECT_FACTORY_NOT_CONNECTED());return Xz.store.select(t)}(o))}}})}}function rU(t){return(e,n,i)=>{if(!i||null===i.value)throw new Error(ez.SELECTOR_DECORATOR());const r=i.value,s=Gz(t,r,{containerClass:e,selectorName:n.toString(),getSelectorOptions:()=>({})}),o={configurable:!0,get:()=>s};return o.originalFn=r,o}}tU.\u0275fac=function(t){return new(t||tU)},tU.\u0275mod=ie({type:tU}),tU.\u0275inj=St({}),tU.ROOT_OPTIONS=new oi("ROOT_OPTIONS");let sU=(()=>{class t{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}setProperty(t,e){this._renderer.setProperty(this._elementRef.nativeElement,t,e)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al))},t.\u0275dir=se({type:t}),t})(),oU=(()=>{class t extends sU{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,features:[jo]}),t})();const aU=new oi("NgValueAccessor"),lU={provide:aU,useExisting:pt(()=>uU),multi:!0},cU=new oi("CompositionEventMode");let uU=(()=>{class t extends sU{constructor(t,e,n){super(t,e),this._compositionMode=n,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=Ju()?Ju().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al),ea(cU,8))},t.\u0275dir=se({type:t,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(t,e){1&t&&fa("input",function(t){return e._handleInput(t.target.value)})("blur",function(){return e.onTouched()})("compositionstart",function(){return e._compositionStart()})("compositionend",function(t){return e._compositionEnd(t.target.value)})},features:[xl([lU]),jo]}),t})();const hU=new oi("NgValidators"),dU=new oi("NgAsyncValidators");function pU(t){return null!=t}function fU(t){const e=ha(t)?U(t):t;return pa(e),e}function gU(t){let e={};return t.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function mU(t,e){return e.map(e=>e(t))}function bU(t){return t.map(t=>function(t){return!t.validate}(t)?t:e=>t.validate(e))}function yU(t){return null!=t?function(t){if(!t)return null;const e=t.filter(pU);return 0==e.length?null:function(t){return gU(mU(t,e))}}(bU(t)):null}function vU(t){return null!=t?function(t){if(!t)return null;const e=t.filter(pU);return 0==e.length?null:function(t){return Ev(mU(t,e).map(fU)).pipe(D(gU))}}(bU(t)):null}function _U(t,e){return null===t?[e]:Array.isArray(t)?[...t,e]:[t,e]}function wU(t){return t._rawValidators}function xU(t){return t._rawAsyncValidators}function SU(t){return t?Array.isArray(t)?t:[t]:[]}function CU(t,e){return Array.isArray(t)?t.includes(e):t===e}function EU(t,e){const n=SU(e);return SU(t).forEach(t=>{CU(n,t)||n.push(t)}),n}function OU(t,e){return SU(e).filter(e=>!CU(t,e))}let TU=(()=>{class t{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(t){this._rawValidators=t||[],this._composedValidatorFn=yU(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=vU(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t}),t})(),kU=(()=>{class t extends TU{get formDirective(){return null}get path(){return null}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,features:[jo]}),t})();class PU extends TU{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class AU{constructor(t){this._cd=t}is(t){var e,n,i;return"submitted"===t?!!(null===(e=this._cd)||void 0===e?void 0:e.submitted):!!(null===(i=null===(n=this._cd)||void 0===n?void 0:n.control)||void 0===i?void 0:i[t])}}let MU=(()=>{class t extends AU{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(PU,2))},t.\u0275dir=se({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,e){2&t&&ja("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[jo]}),t})(),IU=(()=>{class t extends AU{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(kU,10))},t.\u0275dir=se({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(t,e){2&t&&ja("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))("ng-submitted",e.is("submitted"))},features:[jo]}),t})();function DU(t,e){LU(t,e),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&FU(t,e)})}(t,e),function(t,e){const n=(t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)};t.registerOnChange(n),e._registerOnDestroy(()=>{t._unregisterOnChange(n)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&FU(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),function(t,e){if(e.valueAccessor.setDisabledState){const n=t=>{e.valueAccessor.setDisabledState(t)};t.registerOnDisabledChange(n),e._registerOnDestroy(()=>{t._unregisterOnDisabledChange(n)})}}(t,e)}function RU(t,e,n=!0){const i=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(i),e.valueAccessor.registerOnTouched(i)),jU(t,e),t&&(e._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function NU(t,e){t.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function LU(t,e){const n=wU(t);null!==e.validator?t.setValidators(_U(n,e.validator)):"function"==typeof n&&t.setValidators([n]);const i=xU(t);null!==e.asyncValidator?t.setAsyncValidators(_U(i,e.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const r=()=>t.updateValueAndValidity();NU(e._rawValidators,r),NU(e._rawAsyncValidators,r)}function jU(t,e){let n=!1;if(null!==t){if(null!==e.validator){const i=wU(t);if(Array.isArray(i)&&i.length>0){const r=i.filter(t=>t!==e.validator);r.length!==i.length&&(n=!0,t.setValidators(r))}}if(null!==e.asyncValidator){const i=xU(t);if(Array.isArray(i)&&i.length>0){const r=i.filter(t=>t!==e.asyncValidator);r.length!==i.length&&(n=!0,t.setAsyncValidators(r))}}}const i=()=>{};return NU(e._rawValidators,i),NU(e._rawAsyncValidators,i),n}function FU(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function BU(t,e){LU(t,e)}function VU(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!Object.is(e,n.currentValue)}function zU(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function UU(t,e){if(!e)return null;let n,i,r;return Array.isArray(e),e.forEach(t=>{t.constructor===uU?n=t:function(t){return Object.getPrototypeOf(t.constructor)===oU}(t)?i=t:r=t}),r||i||n||null}function HU(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const $U="VALID",GU="INVALID",WU="PENDING",qU="DISABLED";function XU(t){return(ZU(t)?t.validators:t)||null}function YU(t){return Array.isArray(t)?yU(t):t||null}function KU(t,e){return(ZU(e)?e.asyncValidators:t)||null}function QU(t){return Array.isArray(t)?vU(t):t||null}function ZU(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class JU{constructor(t,e){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=e,this._composedValidatorFn=YU(this._rawValidators),this._composedAsyncValidatorFn=QU(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===$U}get invalid(){return this.status===GU}get pending(){return this.status==WU}get disabled(){return this.status===qU}get enabled(){return this.status!==qU}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._rawValidators=t,this._composedValidatorFn=YU(t)}setAsyncValidators(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=QU(t)}addValidators(t){this.setValidators(EU(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(EU(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(OU(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(OU(t,this._rawAsyncValidators))}hasValidator(t){return CU(this._rawValidators,t)}hasAsyncValidator(t){return CU(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=WU,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=qU,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=$U,this._forEachChild(e=>{e.enable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===$U||this.status===WU)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?qU:$U}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=WU,this._hasOwnPendingAsyncValidator=!0;const e=fU(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(e,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){if(null==e||(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length))return null;let i=t;return e.forEach(t=>{i=i instanceof eH?i.controls.hasOwnProperty(t)?i.controls[t]:null:i instanceof nH&&i.at(t)||null}),i}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Bc,this.statusChanges=new Bc}_calculateStatus(){return this._allControlsDisabled()?qU:this.errors?GU:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(WU)?WU:this._anyControlsHaveStatus(GU)?GU:$U}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){ZU(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class tH extends JU{constructor(t=null,e,n){super(XU(e),KU(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){HU(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){HU(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class eH extends JU{constructor(t,e,n){super(XU(e),KU(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,n={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof tH?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const n=this.controls[e];n&&t(n,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const e of Object.keys(this.controls)){const n=this.controls[e];if(this.contains(e)&&t(n))return!0}return!1}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,i)=>{n=e(n,t,i)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class nH extends JU{constructor(t,e,n){super(XU(e),KU(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[t]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,n={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t instanceof tH?t.value:t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const iH={provide:kU,useExisting:pt(()=>sH)},rH=(()=>Promise.resolve(null))();let sH=(()=>{class t extends kU{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new Bc,this.form=new eH({},yU(t),vU(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){rH.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),DU(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){rH.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),HU(this._directives,t)})}addFormGroup(t){rH.then(()=>{const e=this._findContainer(t.path),n=new eH({});BU(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){rH.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){rH.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,zU(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10))},t.\u0275dir=se({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,e){1&t&&fa("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xl([iH]),jo]}),t})();const oH={provide:PU,useExisting:pt(()=>lH)},aH=(()=>Promise.resolve(null))();let lH=(()=>{class t extends PU{constructor(t,e,n,i){super(),this.control=new tH,this._registered=!1,this.update=new Bc,this._parent=t,this._setValidators(e),this._setAsyncValidators(n),this.valueAccessor=UU(0,i)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),VU(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?function(t,e){return[...e.path,t]}(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){DU(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){aH.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const e=t.isDisabled.currentValue,n=""===e||e&&"false"!==e;aH.then(()=>{n&&!this.control.disabled?this.control.disable():!n&&this.control.disabled&&this.control.enable()})}}return t.\u0275fac=function(e){return new(e||t)(ea(kU,9),ea(hU,10),ea(dU,10),ea(aU,10))},t.\u0275dir=se({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[xl([oH]),jo,ye]}),t})(),cH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),uH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const hH=new oi("NgModelWithFormControlWarning"),dH={provide:PU,useExisting:pt(()=>pH)};let pH=(()=>{class t extends PU{constructor(t,e,n,i){super(),this._ngModelWarningConfig=i,this.update=new Bc,this._ngModelWarningSent=!1,this._setValidators(t),this._setAsyncValidators(e),this.valueAccessor=UU(0,n)}set isDisabled(t){}ngOnChanges(t){if(this._isControlChanged(t)){const e=t.form.previousValue;e&&RU(e,this,!1),DU(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}VU(t,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&RU(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10),ea(aU,10),ea(hH,8))},t.\u0275dir=se({type:t,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[xl([dH]),jo,ye]}),t._ngModelWarningSentOnce=!1,t})();const fH={provide:kU,useExisting:pt(()=>gH)};let gH=(()=>{class t extends kU{constructor(t,e){super(),this.validators=t,this.asyncValidators=e,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Bc,this._setValidators(t),this._setAsyncValidators(e)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(jU(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return DU(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){RU(t.control||null,t,!1),HU(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,zU(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=t.control,n=this.form.get(t.path);e!==n&&(RU(e||null,t),n instanceof tH&&(DU(n,t),t.control=n))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const e=this.form.get(t.path);BU(e,t),e.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){const e=this.form.get(t.path);e&&function(t,e){return jU(t,e)}(e,t)&&e.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){LU(this.form,this),this._oldForm&&jU(this._oldForm,this)}_checkFormPresent(){}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10))},t.\u0275dir=se({type:t,selectors:[["","formGroup",""]],hostBindings:function(t,e){1&t&&fa("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xl([fH]),jo,ye]}),t})(),mH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uH]]}),t})(),bH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[mH]}),t})(),yH=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:hH,useValue:e.warnOnNgModelWithFormControl}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[mH]}),t})();function vH(t){return new E(e=>{let n;try{n=t()}catch(i){return void e.error(i)}return(n?U(n):fp()).subscribe(e)})}const _H=["underline"],wH=["connectionContainer"],xH=["inputContainer"],SH=["label"];function CH(t,e){1&t&&(aa(0),ra(1,"div",14),oa(2,"div",15),oa(3,"div",16),oa(4,"div",17),sa(),ra(5,"div",18),oa(6,"div",15),oa(7,"div",16),oa(8,"div",17),sa(),la())}function EH(t,e){1&t&&(ra(0,"div",19),xa(1,1),sa())}function OH(t,e){if(1&t&&(aa(0),xa(1,2),ra(2,"span"),Ja(3),sa(),la()),2&t){const t=va(2);ws(3),tl(t._control.placeholder)}}function TH(t,e){1&t&&xa(0,3,["*ngSwitchCase","true"])}function kH(t,e){1&t&&(ra(0,"span",23),Ja(1," *"),sa())}function PH(t,e){if(1&t){const t=ua();ra(0,"label",20,21),fa("cdkObserveContent",function(){return $e(t),va().updateOutlineGap()}),Jo(2,OH,4,1,"ng-container",12),Jo(3,TH,1,0,"ng-content",12),Jo(4,kH,2,0,"span",22),sa()}if(2&t){const t=va();ja("mat-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-form-field-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-accent","accent"==t.color)("mat-warn","warn"==t.color),na("cdkObserveContentDisabled","outline"!=t.appearance)("id",t._labelId)("ngSwitch",t._hasLabel()),Ko("for",t._control.id)("aria-owns",t._control.id),ws(2),na("ngSwitchCase",!1),ws(1),na("ngSwitchCase",!0),ws(1),na("ngIf",!t.hideRequiredMarker&&t._control.required&&!t._control.disabled)}}function AH(t,e){1&t&&(ra(0,"div",24),xa(1,4),sa())}function MH(t,e){if(1&t&&(ra(0,"div",25,26),oa(2,"span",27),sa()),2&t){const t=va();ws(2),ja("mat-accent","accent"==t.color)("mat-warn","warn"==t.color)}}function IH(t,e){1&t&&(ra(0,"div"),xa(1,5),sa()),2&t&&na("@transitionMessages",va()._subscriptAnimationState)}function DH(t,e){if(1&t&&(ra(0,"div",31),Ja(1),sa()),2&t){const t=va(2);na("id",t._hintLabelId),ws(1),tl(t.hintLabel)}}function RH(t,e){if(1&t&&(ra(0,"div",28),Jo(1,DH,2,2,"div",29),xa(2,6),oa(3,"div",30),xa(4,7),sa()),2&t){const t=va();na("@transitionMessages",t._subscriptAnimationState),ws(1),na("ngIf",t.hintLabel)}}const NH=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],LH=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"],jH=new oi("MatError"),FH={transitionMessages:Qg("transitionMessages",[em("enter",tm({opacity:1,transform:"translateY(0%)"})),im("void => enter",[tm({opacity:0,transform:"translateY(-5px)"}),Zg("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let BH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t}),t})();const VH=new oi("MatHint");let zH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-label"]]}),t})(),UH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-placeholder"]]}),t})();const HH=new oi("MatPrefix");let $H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","matPrefix",""]],features:[xl([{provide:HH,useExisting:t}])]}),t})();const GH=new oi("MatSuffix");let WH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","matSuffix",""]],features:[xl([{provide:GH,useExisting:t}])]}),t})(),qH=0;const XH=Xy(class{constructor(t){this._elementRef=t}},"primary"),YH=new oi("MAT_FORM_FIELD_DEFAULT_OPTIONS"),KH=new oi("MatFormField");let QH=(()=>{class t extends XH{constructor(t,e,n,i,r,s,o,a){super(t),this._changeDetectorRef=e,this._dir=i,this._defaults=r,this._platform=s,this._ngZone=o,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new A,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+qH++,this._labelId="mat-form-field-label-"+qH++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==a,this.appearance=r&&r.appearance?r.appearance:"legacy",this._hideRequiredMarker=!(!r||null==r.hideRequiredMarker)&&r.hideRequiredMarker}get appearance(){return this._appearance}set appearance(t){const e=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&e!==t&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=kd(t)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(t){this._explicitFormFieldControl=t}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${t.controlType}`),t.stateChanges.pipe(lp(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(rp(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(rp(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),Q(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(lp(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(lp(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(rp(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(t){const e=this._control?this._control.ngControl:null;return e&&e[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Rd(this._label.nativeElement,"transitionend").pipe(rf(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let t=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&t.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const e=this._hintChildren?this._hintChildren.find(t=>"start"===t.align):null,n=this._hintChildren?this._hintChildren.find(t=>"end"===t.align):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&t.push(...this._errorChildren.map(t=>t.id));this._control.setDescribedByIds(t)}}_validateControlChild(){}updateOutlineGap(){const t=this._label?this._label.nativeElement:null;if(!("outline"===this.appearance&&t&&t.children.length&&t.textContent.trim()&&this._platform.isBrowser))return;if(!this._isAttachedToDOM())return void(this._outlineGapCalculationNeededImmediately=!0);let e=0,n=0;const i=this._connectionContainerRef.nativeElement,r=i.querySelectorAll(".mat-form-field-outline-start"),s=i.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){const r=i.getBoundingClientRect();if(0===r.width&&0===r.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);const s=this._getStartEnd(r),o=t.children,a=this._getStartEnd(o[0].getBoundingClientRect());let l=0;for(let t=0;t0?.75*l+10:0}for(let o=0;o{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy,fg],Wy]}),t})();function JH(t,e=Yd){const n=function(t){return t instanceof Date&&!isNaN(+t)}(t)?+t-e.now():Math.abs(t);return t=>t.lift(new t$(n,e))}class t${constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new e$(t,this.delay,this.scheduler))}}class e$ extends v{constructor(t,e,n){super(t),this.delay=e,this.scheduler=n,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,n=e.queue,i=t.scheduler,r=t.destination;for(;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){const e=Math.max(0,n[0].time-i.now());this.schedule(t,e)}else this.unsubscribe(),e.active=!1}_schedule(t){this.active=!0,this.destination.add(t.schedule(e$.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,n=new n$(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification(bp.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t),this.unsubscribe()}_complete(){this.scheduleNotification(bp.createComplete()),this.unsubscribe()}}class n${constructor(t,e){this.time=t,this.notification=e}}const i$=["panel"];function r$(t,e){if(1&t&&(ra(0,"div",0,1),xa(2),sa()),2&t){const t=e.id,n=va();na("id",n.id)("ngClass",n._classList),Ko("aria-label",n.ariaLabel||null)("aria-labelledby",n._getPanelAriaLabelledby(t))}}const s$=["*"];let o$=0;class a${constructor(t,e){this.source=t,this.option=e}}const l$=Yy(class{}),c$=new oi("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}});let u$=(()=>{class t extends l${constructor(t,e,n,i){super(),this._changeDetectorRef=t,this._elementRef=e,this._activeOptionChanges=g.EMPTY,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new Bc,this.opened=new Bc,this.closed=new Bc,this.optionActivated=new Bc,this._classList={},this.id="mat-autocomplete-"+o$++,this.inertGroups=(null==i?void 0:i.SAFARI)||!1,this._autoActiveFirstOption=!!n.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(t){this._autoActiveFirstOption=kd(t)}set classList(t){this._classList=t&&t.length?function(t,e=/\s+/){const n=[];if(null!=t){const i=Array.isArray(t)?t:`${t}`.split(e);for(const t of i){const e=`${t}`.trim();e&&n.push(e)}}return n}(t).reduce((t,e)=>(t[e]=!0,t),{}):{},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}ngAfterContentInit(){this._keyManager=new Eg(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(t=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[t]||null})}),this._setVisibility()}ngOnDestroy(){this._activeOptionChanges.unsubscribe()}_setScrollTop(t){this.panel&&(this.panel.nativeElement.scrollTop=t)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}_emitSelectEvent(t){const e=new a$(this,t);this.optionSelected.emit(e)}_getPanelAriaLabelledby(t){return this.ariaLabel?null:this.ariaLabelledby?(t?t+" ":"")+this.ariaLabelledby:t}_setVisibilityClasses(t){t[this._visibleClass]=this.showPanel,t[this._hiddenClass]=!this.showPanel}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(Al),ea(c$),ea(Ep))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&(Zc(ac,7),Zc(i$,5)),2&t){let t;Qc(t=tu())&&(e.template=t.first),Qc(t=tu())&&(e.panel=t.first)}},inputs:{displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",classList:["class","classList"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],panelWidth:"panelWidth"},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[jo]}),t})(),h$=(()=>{class t extends u${constructor(){super(...arguments),this._visibleClass="mat-autocomplete-visible",this._hiddenClass="mat-autocomplete-hidden"}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-autocomplete"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,bv,5),Jc(n,wv,5)),2&t){let t;Qc(t=tu())&&(e.optionGroups=t),Qc(t=tu())&&(e.options=t)}},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[xl([{provide:pv,useExisting:t}]),jo],ngContentSelectors:s$,decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(t,e){1&t&&(wa(),Jo(0,r$,3,4,"ng-template"))},directives:[Oh],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"],encapsulation:2,changeDetection:0}),t})();const d$=new oi("mat-autocomplete-scroll-strategy"),p$={provide:d$,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}},f$={provide:aU,useExisting:pt(()=>m$),multi:!0};let g$=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u){this._element=t,this._overlay=e,this._viewContainerRef=n,this._zone=i,this._changeDetectorRef=r,this._dir=o,this._formField=a,this._document=l,this._viewportRuler=c,this._defaults=u,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=g.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new A,this._windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen},this._onChange=()=>{},this._onTouched=()=>{},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=vH(()=>this.autocomplete&&this.autocomplete.options?Q(...this.autocomplete.options.map(t=>t.onSelectionChange)):this._zone.onStable.pipe(rf(1),cp(()=>this.optionSelections))),this._scrollStrategy=s}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(t){this._autocompleteDisabled=kd(t)}ngAfterViewInit(){const t=this._getWindow();void 0!==t&&this._zone.runOutsideAngular(()=>t.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(t){t.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){const t=this._getWindow();void 0!==t&&t.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Q(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(ep(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(ep(()=>this._overlayAttached)):Dd()).pipe(D(t=>t instanceof vv?t:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return Q(Rd(this._document,"click"),Rd(this._document,"auxclick"),Rd(this._document,"touchend")).pipe(ep(t=>{const e=Lp(t),n=this._formField?this._formField._elementRef.nativeElement:null,i=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&e!==this._element.nativeElement&&(!n||!n.contains(e))&&(!i||!i.contains(e))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(e)}))}writeValue(t){Promise.resolve(null).then(()=>this._setTriggerValue(t))}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this._element.nativeElement.disabled=t}_handleKeydown(t){const e=t.keyCode;if(27===e&&!uf(t)&&t.preventDefault(),this.activeOption&&13===e&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){const n=this.autocomplete._keyManager.activeItem,i=38===e||40===e;this.panelOpen||9===e?this.autocomplete._keyManager.onKeydown(t):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0)}}_handleInput(t){let e=t.target,n=e.value;"number"===e.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this._document.activeElement===t.target&&this.openPanel())}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_floatLabel(t=!1){this._formField&&"auto"===this._formField.floatLabel&&(t?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){return Q(this._zone.onStable.pipe(rf(1)),this.autocomplete.options.changes.pipe(eg(()=>this._positionStrategy.reapplyLastPosition()),JH(0))).pipe(cp(()=>{const t=this.panelOpen;return this._resetActiveItem(),this.autocomplete._setVisibility(),this.panelOpen&&(this._overlayRef.updatePosition(),t!==this.panelOpen&&this.autocomplete.opened.emit()),this.panelClosingActions}),rf(1)).subscribe(t=>this._setValueAndClose(t))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(t){const e=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(t):t,n=null!=e?e:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n,this._previousValue=n}_setValueAndClose(t){t&&t.source&&(this._clearPreviousSelectedOption(t.source),this._setTriggerValue(t.source.value),this._onChange(t.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(t.source)),this.closePanel()}_clearPreviousSelectedOption(t){this.autocomplete.options.forEach(e=>{e!==t&&e.selected&&e.deselect()})}_attachOverlay(){var t;let e=this._overlayRef;e?(this._positionStrategy.setOrigin(this._getConnectedElement()),e.updateSize({width:this._getPanelWidth()})):(this._portal=new Xp(this.autocomplete.template,this._viewContainerRef,{id:null===(t=this._formField)||void 0===t?void 0:t.getLabelId()}),e=this._overlay.create(this._getOverlayConfig()),this._overlayRef=e,e.keydownEvents().subscribe(t=>{(27===t.keyCode&&!uf(t)||38===t.keyCode&&uf(t,"altKey"))&&(this._closeKeyEventStream.next(),this._resetActiveItem(),t.stopPropagation(),t.preventDefault())}),this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&e&&e.updateSize({width:this._getPanelWidth()})})),e&&!e.hasAttached()&&(e.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const n=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&n!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){var t;return new vf({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:null===(t=this._defaults)||void 0===t?void 0:t.overlayPanelClass})}_getOverlayPosition(){const t=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(t),this._positionStrategy=t,t}_setStrategyPositions(t){const e=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],n=this._aboveClass,i=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:n},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:n}];let r;r="above"===this.position?i:"below"===this.position?e:[...e,...i],t.withPositions(r)}_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(){const t=this.autocomplete;t.autoActiveFirstOption?t._keyManager.setFirstItemActive():t._keyManager.setActiveItem(-1)}_canOpen(){const t=this._element.nativeElement;return!t.readOnly&&!t.disabled&&!this._autocompleteDisabled}_getWindow(){var t;return(null===(t=this._document)||void 0===t?void 0:t.defaultView)||window}_scrollToOption(t){const e=this.autocomplete,n=xv(t,e.options,e.optionGroups);if(0===t&&1===n)e._setScrollTop(0);else if(e.panel){const n=e.options.toArray()[t];if(n){const t=n._getHostElement(),i=Sv(t.offsetTop,t.offsetHeight,e._getScrollTop(),e.panel.nativeElement.offsetHeight);e._setScrollTop(i)}}}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Vf),ea(pc),ea(Tu),ea(nc),ea(d$),ea(Fp,8),ea(KH,9),ea(th,8),ea(Hp),ea(c$,8))},t.\u0275dir=se({type:t,inputs:{position:["matAutocompletePosition","position"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"],autocomplete:["matAutocomplete","autocomplete"],connectedTo:["matAutocompleteConnectedTo","connectedTo"]},features:[ye]}),t})(),m$=(()=>{class t extends g${constructor(){super(...arguments),this._aboveClass="mat-autocomplete-panel-above"}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(t,e){1&t&&fa("focusin",function(){return e._handleFocus()})("blur",function(){return e._onTouched()})("input",function(t){return e._handleInput(t)})("keydown",function(t){return e._handleKeydown(t)}),2&t&&Ko("autocomplete",e.autocompleteAttribute)("role",e.autocompleteDisabled?null:"combobox")("aria-autocomplete",e.autocompleteDisabled?null:"list")("aria-activedescendant",e.panelOpen&&e.activeOption?e.activeOption.id:null)("aria-expanded",e.autocompleteDisabled?null:e.panelOpen.toString())("aria-owns",e.autocompleteDisabled||!e.panelOpen||null==e.autocomplete?null:e.autocomplete.id)("aria-haspopup",!e.autocompleteDisabled)},exportAs:["matAutocompleteTrigger"],features:[xl([f$]),jo]}),t})(),b$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[p$],imports:[[Wf,Cv,Wy,Wh],$p,Cv,Wy]}),t})();const y$=Ip({passive:!0});let v$=(()=>{class t{constructor(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return pp;const e=Id(t),n=this._monitoredElements.get(e);if(n)return n.subject;const i=new A,r="cdk-text-field-autofilled",s=t=>{"cdk-text-field-autofill-start"!==t.animationName||e.classList.contains(r)?"cdk-text-field-autofill-end"===t.animationName&&e.classList.contains(r)&&(e.classList.remove(r),this._ngZone.run(()=>i.next({target:t.target,isAutofilled:!1}))):(e.classList.add(r),this._ngZone.run(()=>i.next({target:t.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{e.addEventListener("animationstart",s,y$),e.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(e,{subject:i,unlisten:()=>{e.removeEventListener("animationstart",s,y$)}}),i}stopMonitoring(t){const e=Id(t),n=this._monitoredElements.get(e);n&&(n.unlisten(),n.subject.complete(),e.classList.remove("cdk-text-field-autofill-monitored"),e.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(e))}ngOnDestroy(){this._monitoredElements.forEach((t,e)=>this.stopMonitoring(e))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu))},token:t,providedIn:"root"}),t})(),_$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Op]]}),t})();const w$=new oi("MAT_INPUT_VALUE_ACCESSOR"),x$=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let S$=0;const C$=Qy(class{constructor(t,e,n,i){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=n,this.ngControl=i}});let E$=(()=>{class t extends C${constructor(t,e,n,i,r,s,o,a,l,c){super(s,i,r,n),this._elementRef=t,this._platform=e,this._autofillMonitor=a,this._formField=c,this._uid="mat-input-"+S$++,this.focused=!1,this.stateChanges=new A,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(t=>kp().has(t));const u=this._elementRef.nativeElement,h=u.nodeName.toLowerCase();this._inputValueAccessor=o||u,this._previousNativeValue=this.value,this.id=this.id,e.IOS&&l.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",t=>{const e=t.target;!e.value&&0===e.selectionStart&&0===e.selectionEnd&&(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===h,this._isTextarea="textarea"===h,this._isInFormField=!!c,this._isNativeSelect&&(this.controlType=u.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=kd(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=kd(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea&&kp().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=kd(t)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(t){this._elementRef.nativeElement.focus(t)}_focusChanged(t){t!==this.focused&&(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){var t,e;const n=(null===(e=null===(t=this._formField)||void 0===t?void 0:t._hideControlPlaceholder)||void 0===e?void 0:e.call(t))?null:this.placeholder;if(n!==this._previousPlaceholder){const t=this._elementRef.nativeElement;this._previousPlaceholder=n,n?t.setAttribute("placeholder",n):t.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){x$.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const t=this._elementRef.nativeElement,e=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&e&&e.label)}return this.focused||!this.empty}setDescribedByIds(t){t.length?this._elementRef.nativeElement.setAttribute("aria-describedby",t.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(PU,10),ea(sH,8),ea(gH,8),ea(Zy),ea(w$,10),ea(v$),ea(Tu),ea(KH,8))},t.\u0275dir=se({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._focusChanged(!0)})("blur",function(){return e._focusChanged(!1)})("input",function(){return e._onInput()}),2&t&&(rl("disabled",e.disabled)("required",e.required),Ko("id",e.id)("data-placeholder",e.placeholder)("readonly",e.readonly&&!e._isNativeSelect||null)("aria-invalid",e.empty&&e.required?null:e.errorState)("aria-required",e.required),ja("mat-input-server",e._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[xl([{provide:BH,useExisting:t}]),jo,ye]}),t})(),O$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Zy],imports:[[_$,ZH,Wy],_$,ZH]}),t})();function T$(...t){const e=t.length;if(0===e)throw new Error("list of properties cannot be empty.");return n=>D(function(t,e){return n=>{let i=n;for(let r=0;rF$),multi:!0};class L${}const j$=Ky(Xy(qy(class{constructor(t){this._elementRef=t}}),"accent"));let F$=(()=>{class t extends j${constructor(t,e,n,i,r,s,o,a){super(t),this._focusMonitor=e,this._changeDetectorRef=n,this._dir=i,this._ngZone=s,this._animationMode=a,this._invert=!1,this._max=100,this._min=0,this._step=1,this._thumbLabel=!1,this._tickInterval=0,this._value=null,this._vertical=!1,this.change=new Bc,this.input=new Bc,this.valueChange=new Bc,this.onTouched=()=>{},this._percent=0,this._isSliding=null,this._isActive=!1,this._tickIntervalPercent=0,this._sliderDimensions=null,this._controlValueAccessorChangeFn=()=>{},this._dirChangeSubscription=g.EMPTY,this._pointerDown=t=>{this.disabled||this._isSliding||!B$(t)&&0!==t.button||this._ngZone.run(()=>{this._touchId=B$(t)?function(t,e){for(let n=0;n{if("pointer"===this._isSliding){const e=V$(t,this._touchId);if(e){t.preventDefault();const n=this.value;this._lastPointerEvent=t,this._updateValueFromPosition(e),n!=this.value&&this._emitInputEvent()}}},this._pointerUp=t=>{"pointer"===this._isSliding&&(!B$(t)||"number"!=typeof this._touchId||z$(t.changedTouches,this._touchId))&&(t.preventDefault(),this._removeGlobalEvents(),this._isSliding=null,this._touchId=void 0,this._valueOnSlideStart!=this.value&&!this.disabled&&this._emitChangeEvent(),this._valueOnSlideStart=this._lastPointerEvent=null)},this._windowBlur=()=>{this._lastPointerEvent&&this._pointerUp(this._lastPointerEvent)},this._document=o,this.tabIndex=parseInt(r)||0,s.runOutsideAngular(()=>{const e=t.nativeElement;e.addEventListener("mousedown",this._pointerDown,R$),e.addEventListener("touchstart",this._pointerDown,R$)})}get invert(){return this._invert}set invert(t){this._invert=kd(t)}get max(){return this._max}set max(t){this._max=Pd(t,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get min(){return this._min}set min(t){this._min=Pd(t,this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get step(){return this._step}set step(t){this._step=Pd(t,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()}get thumbLabel(){return this._thumbLabel}set thumbLabel(t){this._thumbLabel=kd(t)}get tickInterval(){return this._tickInterval}set tickInterval(t){this._tickInterval="auto"===t?"auto":"number"==typeof t||"string"==typeof t?Pd(t,this._tickInterval):0}get value(){return null===this._value&&(this.value=this._min),this._value}set value(t){if(t!==this._value){let e=Pd(t,0);this._roundToDecimal&&e!==this.min&&e!==this.max&&(e=parseFloat(e.toFixed(this._roundToDecimal))),this._value=e,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}}get vertical(){return this._vertical}set vertical(t){this._vertical=kd(t)}get displayValue(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0}focus(t){this._focusHostElement(t)}blur(){this._blurHostElement()}get percent(){return this._clamp(this._percent)}_shouldInvertAxis(){return this.vertical?!this.invert:this.invert}_isMinValue(){return 0===this.percent}_getThumbGap(){return this.disabled?7:this._isMinValue()&&!this.thumbLabel?this._isActive?10:7:0}_getTrackBackgroundStyles(){const t=this.vertical?`1, ${1-this.percent}, 1`:1-this.percent+", 1, 1";return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"-":""}${this._getThumbGap()}px) scale3d(${t})`}}_getTrackFillStyles(){const t=this.percent,e=this.vertical?`1, ${t}, 1`:`${t}, 1, 1`;return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"":"-"}${this._getThumbGap()}px) scale3d(${e})`,display:0===t?"none":""}}_getTicksContainerStyles(){return{transform:`translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"-":""}${this._tickIntervalPercent/2*100}%)`}}_getTicksStyles(){let t=100*this._tickIntervalPercent,e={backgroundSize:this.vertical?`2px ${t}%`:`${t}% 2px`,transform:`translateZ(0) translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"":"-"}${t/2}%)${this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)"}`};if(this._isMinValue()&&this._getThumbGap()){const t=this._shouldInvertAxis();let n;n=this.vertical?t?"Bottom":"Top":t?"Right":"Left",e[`padding${n}`]=`${this._getThumbGap()}px`}return e}_getThumbContainerStyles(){const t=this._shouldInvertAxis();return{transform:`translate${this.vertical?"Y":"X"}(-${100*(("rtl"!=this._getDirection()||this.vertical?t:!t)?this.percent:1-this.percent)}%)`}}_shouldInvertMouseCoords(){const t=this._shouldInvertAxis();return"rtl"!=this._getDirection()||this.vertical?t:!t}_getDirection(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{this._isActive=!!t&&"keyboard"!==t,this._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>{this._changeDetectorRef.markForCheck()}))}ngOnDestroy(){const t=this._elementRef.nativeElement;t.removeEventListener("mousedown",this._pointerDown,R$),t.removeEventListener("touchstart",this._pointerDown,R$),this._lastPointerEvent=null,this._removeGlobalEvents(),this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()}_onMouseenter(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())}_onFocus(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()}_onBlur(){this.onTouched()}_onKeydown(t){if(this.disabled||uf(t)||this._isSliding&&"keyboard"!==this._isSliding)return;const e=this.value;switch(t.keyCode){case 33:this._increment(10);break;case 34:this._increment(-10);break;case 35:this.value=this.max;break;case 36:this.value=this.min;break;case 37:this._increment("rtl"==this._getDirection()?1:-1);break;case 38:this._increment(1);break;case 39:this._increment("rtl"==this._getDirection()?-1:1);break;case 40:this._increment(-1);break;default:return}e!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding="keyboard",t.preventDefault()}_onKeyup(){"keyboard"===this._isSliding&&(this._isSliding=null)}_getWindow(){return this._document.defaultView||window}_bindGlobalEvents(t){const e=this._document,n=B$(t),i=n?"touchend":"mouseup";e.addEventListener(n?"touchmove":"mousemove",this._pointerMove,R$),e.addEventListener(i,this._pointerUp,R$),n&&e.addEventListener("touchcancel",this._pointerUp,R$);const r=this._getWindow();void 0!==r&&r&&r.addEventListener("blur",this._windowBlur)}_removeGlobalEvents(){const t=this._document;t.removeEventListener("mousemove",this._pointerMove,R$),t.removeEventListener("mouseup",this._pointerUp,R$),t.removeEventListener("touchmove",this._pointerMove,R$),t.removeEventListener("touchend",this._pointerUp,R$),t.removeEventListener("touchcancel",this._pointerUp,R$);const e=this._getWindow();void 0!==e&&e&&e.removeEventListener("blur",this._windowBlur)}_increment(t){this.value=this._clamp((this.value||0)+this.step*t,this.min,this.max)}_updateValueFromPosition(t){if(!this._sliderDimensions)return;let e=this._clamp(((this.vertical?t.y:t.x)-(this.vertical?this._sliderDimensions.top:this._sliderDimensions.left))/(this.vertical?this._sliderDimensions.height:this._sliderDimensions.width));if(this._shouldInvertMouseCoords()&&(e=1-e),0===e)this.value=this.min;else if(1===e)this.value=this.max;else{const t=this._calculateValue(e),n=Math.round((t-this.min)/this.step)*this.step+this.min;this.value=this._clamp(n,this.min,this.max)}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())}_emitInputEvent(){this.input.emit(this._createChangeEvent())}_updateTickIntervalPercent(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){let t=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,e=Math.ceil(30/(t*this.step/(this.max-this.min)))*this.step;this._tickIntervalPercent=e/t}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)}_createChangeEvent(t=this.value){let e=new L$;return e.source=this,e.value=t,e}_calculatePercentage(t){return((t||0)-this.min)/(this.max-this.min)}_calculateValue(t){return this.min+t*(this.max-this.min)}_clamp(t,e=0,n=1){return Math.max(e,Math.min(t,n))}_getSliderDimensions(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}_focusHostElement(t){this._elementRef.nativeElement.focus(t)}_blurHostElement(){this._elementRef.nativeElement.blur()}writeValue(t){this.value=t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ug),ea(nc),ea(Fp,8),ii("tabindex"),ea(Tu),ea(th),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-slider"]],viewQuery:function(t,e){if(1&t&&Zc(D$,5),2&t){let t;Qc(t=tu())&&(e._sliderWrapper=t.first)}},hostAttrs:["role","slider",1,"mat-slider","mat-focus-indicator"],hostVars:29,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()})("keydown",function(t){return e._onKeydown(t)})("keyup",function(){return e._onKeyup()})("mouseenter",function(){return e._onMouseenter()})("selectstart",function(t){return t.preventDefault()}),2&t&&(rl("tabIndex",e.tabIndex),Ko("aria-disabled",e.disabled)("aria-valuemax",e.max)("aria-valuemin",e.min)("aria-valuenow",e.value)("aria-valuetext",null==e.valueText?e.displayValue:e.valueText)("aria-orientation",e.vertical?"vertical":"horizontal"),ja("mat-slider-disabled",e.disabled)("mat-slider-has-ticks",e.tickInterval)("mat-slider-horizontal",!e.vertical)("mat-slider-axis-inverted",e._shouldInvertAxis())("mat-slider-invert-mouse-coords",e._shouldInvertMouseCoords())("mat-slider-sliding",e._isSliding)("mat-slider-thumb-label-showing",e.thumbLabel)("mat-slider-vertical",e.vertical)("mat-slider-min-value",e._isMinValue())("mat-slider-hide-last-tick",e.disabled||e._isMinValue()&&e._getThumbGap()&&e._shouldInvertAxis())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disabled:"disabled",color:"color",tabIndex:"tabIndex",invert:"invert",max:"max",min:"min",step:"step",thumbLabel:"thumbLabel",tickInterval:"tickInterval",value:"value",vertical:"vertical",displayWith:"displayWith",valueText:"valueText"},outputs:{change:"change",input:"input",valueChange:"valueChange"},exportAs:["matSlider"],features:[xl([N$]),jo],decls:13,vars:6,consts:[[1,"mat-slider-wrapper"],["sliderWrapper",""],[1,"mat-slider-track-wrapper"],[1,"mat-slider-track-background",3,"ngStyle"],[1,"mat-slider-track-fill",3,"ngStyle"],[1,"mat-slider-ticks-container",3,"ngStyle"],[1,"mat-slider-ticks",3,"ngStyle"],[1,"mat-slider-thumb-container",3,"ngStyle"],[1,"mat-slider-focus-ring"],[1,"mat-slider-thumb"],[1,"mat-slider-thumb-label"],[1,"mat-slider-thumb-label-text"]],template:function(t,e){1&t&&(ra(0,"div",0,1),ra(2,"div",2),oa(3,"div",3),oa(4,"div",4),sa(),ra(5,"div",5),oa(6,"div",6),sa(),ra(7,"div",7),oa(8,"div",8),oa(9,"div",9),ra(10,"div",10),ra(11,"span",11),Ja(12),sa(),sa(),sa(),sa()),2&t&&(ws(3),na("ngStyle",e._getTrackBackgroundStyles()),ws(1),na("ngStyle",e._getTrackFillStyles()),ws(1),na("ngStyle",e._getTicksContainerStyles()),ws(1),na("ngStyle",e._getTicksStyles()),ws(1),na("ngStyle",e._getThumbContainerStyles()),ws(5),tl(e.displayValue))},directives:[jh],styles:['.mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:"";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\n'],encapsulation:2,changeDetection:0}),t})();function B$(t){return"t"===t.type[0]}function V$(t,e){let n;return n=B$(t)?"number"==typeof e?z$(t.touches,e)||z$(t.changedTouches,e):t.touches[0]||t.changedTouches[0]:t,n?{x:n.clientX,y:n.clientY}:void 0}function z$(t,e){for(let n=0;n{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy],Wy]}),t})();function H$(t,e){}class $${constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const G$={dialogContainer:Qg("dialogContainer",[em("void, exit",tm({opacity:0,transform:"scale(0.7)"})),em("enter",tm({transform:"none"})),im("* => enter",Zg("150ms cubic-bezier(0, 0, 0.2, 1)",tm({transform:"none",opacity:1}))),im("* => void, * => exit",Zg("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",tm({opacity:0})))])};let W$=(()=>{class t extends Kp{constructor(t,e,n,i,r,s){super(),this._elementRef=t,this._focusTrapFactory=e,this._changeDetectorRef=n,this._config=r,this._focusMonitor=s,this._animationStateChanged=new Bc,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=t=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(t)),this._ariaLabelledBy=r.ariaLabelledBy||null,this._document=i}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const e=Np(),n=this._elementRef.nativeElement;(!e||e===this._document.body||e===n||n.contains(e))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=Np())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,e=Np();return t===e||t.contains(e)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ag),ea(nc),ea(th,8),ea($$),ea(Ug))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&Zc(tf,7),2&t){let t;Qc(t=tu())&&(e._portalOutlet=t.first)}},features:[jo]}),t})(),q$=(()=>{class t extends W${constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:e}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:e})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:e}))}_onAnimationStart({toState:t,totalTime:e}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:e}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:e})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,e){1&t&&ga("@dialogContainer.start",function(t){return e._onAnimationStart(t)})("@dialogContainer.done",function(t){return e._onAnimationDone(t)}),2&t&&(rl("id",e._id),Ko("role",e._config.role)("aria-labelledby",e._config.ariaLabel?null:e._ariaLabelledBy)("aria-label",e._config.ariaLabel)("aria-describedby",e._config.ariaDescribedBy||null),sl("@dialogContainer",e._state))},features:[jo],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,e){1&t&&Jo(0,H$,0,0,"ng-template",0)},directives:[tf],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[G$.dialogContainer]}}),t})(),X$=0;class Y${constructor(t,e,n="mat-dialog-"+X$++){this._overlayRef=t,this._containerInstance=e,this.id=n,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new A,this._afterClosed=new A,this._beforeClosed=new A,this._state=0,e._id=n,e._animationStateChanged.pipe(ep(t=>"opened"===t.state),rf(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),e._animationStateChanged.pipe(ep(t=>"closed"===t.state),rf(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),t.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),t.keydownEvents().pipe(ep(t=>27===t.keyCode&&!this.disableClose&&!uf(t))).subscribe(t=>{t.preventDefault(),K$(this,"keyboard")}),t.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():K$(this,"mouse")})}close(t){this._result=t,this._containerInstance._animationStateChanged.pipe(ep(t=>"closing"===t.state),rf(1)).subscribe(e=>{this._beforeClosed.next(t),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(t){let e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(t="",e=""){return this._overlayRef.updateSize({width:t,height:e}),this._overlayRef.updatePosition(),this}addPanelClass(t){return this._overlayRef.addPanelClass(t),this}removePanelClass(t){return this._overlayRef.removePanelClass(t),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function K$(t,e,n){return void 0!==t._containerInstance&&(t._containerInstance._closeInteractionType=e),t.close(n)}const Q$=new oi("MatDialogData"),Z$=new oi("mat-dialog-default-options"),J$=new oi("mat-dialog-scroll-strategy"),tG={provide:J$,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.block()}};let eG=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l){this._overlay=t,this._injector=e,this._defaultOptions=n,this._parentDialog=i,this._overlayContainer=r,this._dialogRefConstructor=o,this._dialogContainerType=a,this._dialogDataToken=l,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new A,this._afterOpenedAtThisLevel=new A,this._ariaHiddenElements=new Map,this.afterAllClosed=vH(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(lp(void 0))),this._scrollStrategy=s}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,e){(e=function(t,e){return Object.assign(Object.assign({},e),t)}(e,this._defaultOptions||new $$)).id&&this.getDialogById(e.id);const n=this._createOverlay(e),i=this._attachDialogContainer(n,e),r=this._attachDialogContent(t,i,n,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(r),r.afterClosed().subscribe(()=>this._removeOpenDialog(r)),this.afterOpened.next(r),i._initializeWithAttachedContent(),r}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(e=>e.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const e=this._getOverlayConfig(t);return this._overlay.create(e)}_getOverlayConfig(t){const e=new vf({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(e.backdropClass=t.backdropClass),e}_attachDialogContainer(t,e){const n=No.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:$$,useValue:e}]}),i=new qp(this._dialogContainerType,e.viewContainerRef,n,e.componentFactoryResolver);return t.attach(i).instance}_attachDialogContent(t,e,n,i){const r=new this._dialogRefConstructor(n,e,i.id);if(t instanceof ac)e.attachTemplatePortal(new Xp(t,null,{$implicit:i.data,dialogRef:r}));else{const n=this._createInjector(i,r,e),s=e.attachComponentPortal(new qp(t,i.viewContainerRef,n));r.componentInstance=s.instance}return r.updateSize(i.width,i.height).updatePosition(i.position),r}_createInjector(t,e,n){const i=t&&t.viewContainerRef&&t.viewContainerRef.injector,r=[{provide:this._dialogContainerType,useValue:n},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:e}];return t.direction&&(!i||!i.get(Fp,null,Mt.Optional))&&r.push({provide:Fp,useValue:{value:t.direction,change:Dd()}}),No.create({parent:i||this._injector,providers:r})}_removeOpenDialog(t){const e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((t,e)=>{t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const e=t.parentElement.children;for(let n=e.length-1;n>-1;n--){let i=e[n];i!==t&&"SCRIPT"!==i.nodeName&&"STYLE"!==i.nodeName&&!i.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(i,i.getAttribute("aria-hidden")),i.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let e=t.length;for(;e--;)t[e].close()}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(No),ea(void 0),ea(void 0),ea(Tf),ea(void 0),ea(ai),ea(ai),ea(oi))},t.\u0275dir=se({type:t}),t})(),nG=(()=>{class t extends eG{constructor(t,e,n,i,r,s,o){super(t,e,i,s,o,r,Y$,q$,Q$)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Vf),Ei(No),Ei(ph,8),Ei(Z$,8),Ei(J$),Ei(t,12),Ei(Tf))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),iG=0,rG=(()=>{class t{constructor(t,e,n){this._dialogRef=t,this._elementRef=e,this._dialog=n,this.id="mat-dialog-title-"+iG++}ngOnInit(){this._dialogRef||(this._dialogRef=function(t,e){let n=t.nativeElement.parentElement;for(;n&&!n.classList.contains("mat-dialog-container");)n=n.parentElement;return n?e.find(t=>t.id===n.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$,8),ea(Al),ea(nG))},t.\u0275dir=se({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,e){2&t&&rl("id",e.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),t})(),sG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),t})();let oG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[nG,tG],imports:[[Wf,ef,Wy],Wy]}),t})();const aG=new oi("CdkAccordion");let lG=0,cG=(()=>{class t{constructor(t,e,n){this.accordion=t,this._changeDetectorRef=e,this._expansionDispatcher=n,this._openCloseAllSubscription=g.EMPTY,this.closed=new Bc,this.opened=new Bc,this.destroyed=new Bc,this.expandedChange=new Bc,this.id="cdk-accordion-child-"+lG++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=n.listen((t,e)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===e&&this.id!==t&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=kd(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return t.\u0275fac=function(e){return new(e||t)(ea(aG,12),ea(nc),ea(zp))},t.\u0275dir=se({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[xl([{provide:aG,useValue:void 0}])]}),t})(),uG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const hG=["body"];function dG(t,e){}const pG=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],fG=["mat-expansion-panel-header","*","mat-action-row"];function gG(t,e){1&t&&oa(0,"span",2),2&t&&na("@indicatorRotate",va()._getExpandedState())}const mG=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],bG=["mat-panel-title","mat-panel-description","*"],yG=new oi("MAT_ACCORDION"),vG="225ms cubic-bezier(0.4,0.0,0.2,1)",_G={indicatorRotate:Qg("indicatorRotate",[em("collapsed, void",tm({transform:"rotate(0deg)"})),em("expanded",tm({transform:"rotate(180deg)"})),im("expanded <=> collapsed, void => collapsed",Zg(vG))]),bodyExpansion:Qg("bodyExpansion",[em("collapsed, void",tm({height:"0px",visibility:"hidden"})),em("expanded",tm({height:"*",visibility:"visible"})),im("expanded <=> collapsed, void => collapsed",Zg(vG))])};let wG=(()=>{class t{constructor(t){this._template=t}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]}),t})(),xG=0;const SG=new oi("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let CG=(()=>{class t extends cG{constructor(t,e,n,i,r,s,o){super(t,e,n),this._viewContainerRef=i,this._animationMode=s,this._hideToggle=!1,this.afterExpand=new Bc,this.afterCollapse=new Bc,this._inputChanges=new A,this._headerId="mat-expansion-panel-header-"+xG++,this._bodyAnimationDone=new A,this.accordion=t,this._document=r,this._bodyAnimationDone.pipe(Wd((t,e)=>t.fromState===e.fromState&&t.toState===e.toState)).subscribe(t=>{"void"!==t.fromState&&("expanded"===t.toState?this.afterExpand.emit():"collapsed"===t.toState&&this.afterCollapse.emit())}),o&&(this.hideToggle=o.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=kd(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(lp(null),ep(()=>this.expanded&&!this._portal),rf(1)).subscribe(()=>{this._portal=new Xp(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,e=this._body.nativeElement;return t===e||e.contains(t)}return!1}}return t.\u0275fac=function(e){return new(e||t)(ea(yG,12),ea(nc),ea(zp),ea(pc),ea(th),ea(Ny,8),ea(SG,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,wG,5),2&t){let t;Qc(t=tu())&&(e._lazyContent=t.first)}},viewQuery:function(t,e){if(1&t&&Zc(hG,5),2&t){let t;Qc(t=tu())&&(e._body=t.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,e){2&t&&ja("mat-expanded",e.expanded)("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-expansion-panel-spacing",e._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[xl([{provide:yG,useValue:void 0}]),jo,ye],ngContentSelectors:fG,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,e){1&t&&(wa(pG),xa(0),ra(1,"div",0,1),fa("@bodyExpansion.done",function(t){return e._bodyAnimationDone.next(t)}),ra(3,"div",2),xa(4,1),Jo(5,dG,0,0,"ng-template",3),sa(),xa(6,2),sa()),2&t&&(ws(1),na("@bodyExpansion",e._getExpandedState())("id",e.id),Ko("aria-labelledby",e._headerId),ws(4),na("cdkPortalOutlet",e._portal))},directives:[tf],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[_G.bodyExpansion]},changeDetection:0}),t})();class EG{}const OG=Ky(EG);let TG=(()=>{class t extends OG{constructor(t,e,n,i,r,s,o){super(),this.panel=t,this._element=e,this._focusMonitor=n,this._changeDetectorRef=i,this._animationMode=s,this._parentChangeSubscription=g.EMPTY;const a=t.accordion?t.accordion._stateChanges.pipe(ep(t=>!(!t.hideToggle&&!t.togglePosition))):pp;this.tabIndex=parseInt(o||"")||0,this._parentChangeSubscription=Q(t.opened,t.closed,a,t._inputChanges.pipe(ep(t=>!!(t.hideToggle||t.disabled||t.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(ep(()=>t._containsFocus())).subscribe(()=>n.focusVia(e,"program")),r&&(this.expandedHeight=r.expandedHeight,this.collapsedHeight=r.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:uf(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,e){t?this._focusMonitor.focusVia(this._element,t,e):this._element.nativeElement.focus(e)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return t.\u0275fac=function(e){return new(e||t)(ea(CG,1),ea(Al),ea(Ug),ea(nc),ea(SG,8),ea(Ny,8),ii("tabindex"))},t.\u0275cmp=Jt({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,e){1&t&&fa("click",function(){return e._toggle()})("keydown",function(t){return e._keydown(t)}),2&t&&(Ko("id",e.panel._headerId)("tabindex",e.tabIndex)("aria-controls",e._getPanelId())("aria-expanded",e._isExpanded())("aria-disabled",e.panel.disabled),La("height",e._getHeaderHeight()),ja("mat-expanded",e._isExpanded())("mat-expansion-toggle-indicator-after","after"===e._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===e._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[jo],ngContentSelectors:bG,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,e){1&t&&(wa(mG),ra(0,"span",0),xa(1),xa(2,1),xa(3,2),sa(),Jo(4,gG,1,1,"span",1)),2&t&&(ws(4),na("ngIf",e._showToggle()))},directives:[Ah],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[_G.indicatorRotate]},changeDetection:0}),t})(),kG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy,uG,ef]]}),t})();var PG=n(5478);Object.create(Error.prototype);const AG=["*"];var MG=(()=>(function(t){t.LineHighlight="line-highlight",t.LineNumbers="line-numbers"}(MG||(MG={})),MG))();class IG{}const DG=new oi("SECURITY_CONTEXT");let RG=(()=>{class t{constructor(t,e,n,i,r){this.platform=t,this.securityContext=e,this.http=n,this.sanitizer=r,this.initialMarkedOptions={renderer:new PG.Renderer},this.options=i}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,e=!1,n=!1,i=this.options){const r=this.trimIndentation(t),s=e?this.decodeHtml(r):r,o=n?this.renderEmoji(s):s,a=PG.parse(o,i);return this.sanitizer.sanitize(this.securityContext,a)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(D(e=>this.handleExtension(t,e)))}highlight(t){if(Xh(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const e=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(e,t=>t.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,e){if(!Xh(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(t,n)=>katex.renderToString(n,e))}decodeHtml(t){if(!Xh(this.platform))return t;const e=document.createElement("textarea");return e.innerHTML=t,e.value}handleExtension(t,e){const n=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==n?"```"+n+"\n"+e+"\n```":e}renderEmoji(t){if(!Xh(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let e;return t.split("\n").map(t=>{let n=e;return t.length>0&&(n=isNaN(n)?t.search(/\S|$/):Math.min(t.search(/\S|$/),n)),isNaN(e)&&(e=n),n?t.substring(n):t}).join("\n")}}return t.\u0275fac=function(e){return new(e||t)(Ei(hu),Ei(DG),Ei(Jv,8),Ei(IG,8),Ei(Sd))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),NG=(()=>{class t{constructor(t,e){this.element=t,this.markdownService=e,this.error=new Bc,this.load=new Bc,this.ready=new Bc,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,e=!1){let n=this.markdownService.compile(t,e,this.emoji);n=this.katex?this.markdownService.renderKatex(n,this.katexOptions):n,this.element.nativeElement.innerHTML=n,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,MG.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,e){const n=t.querySelectorAll("pre");for(let i=0;i{const r=e[t];if(r){const e=this.toLispCase(t);n.item(i).setAttribute(e,r.toString())}})}toLispCase(t){const e=t.match(/([A-Z])/g);if(!e)return t;let n=t.toString();for(let i=0,r=e.length;i{class t{static forRoot(e){return{ngModule:t,providers:[RG,e&&e.loader||[],e&&e.markedOptions||[],{provide:DG,useValue:e&&null!=e.sanitize?e.sanitize:yr.HTML}]}}static forChild(){return{ngModule:t}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function jG(t,e,n){return n?jG(t,e).pipe(D(t=>d(t)?n(...t):n(t))):new E(n=>{const i=(...t)=>n.next(1===t.length?t[0]:t);let r;try{r=t(i)}catch(s){return void n.error(s)}if(a(e))return()=>e(i,r)})}function FG(...t){return e=>{let n;return"function"==typeof t[t.length-1]&&(n=t.pop()),e.lift(new BG(t,n))}}class BG{constructor(t,e){this.observables=t,this.project=e}call(t,e){return e.subscribe(new VG(t,this.observables,this.project))}}class VG extends j_{constructor(t,e,n){super(t),this.observables=e,this.project=n,this.toRespond=[];const i=e.length;this.values=new Array(i);for(let r=0;r0){const t=i.indexOf(n);-1!==t&&i.splice(t,1)}}notifyComplete(){}_next(t){if(0===this.toRespond.length){const e=[t,...this.values];this.project?this._tryProject(e):this.destination.next(e)}}_tryProject(t){let e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}class zG{constructor(t,e,n=!1){this.accumulator=t,this.seed=e,this.hasSeed=n}call(t,e){return e.subscribe(new UG(t,this.accumulator,this.seed,this.hasSeed))}}class UG extends v{constructor(t,e,n,i){super(t),this.accumulator=e,this._seed=n,this.hasSeed=i,this.index=0}get seed(){return this._seed}set seed(t){this.hasSeed=!0,this._seed=t}_next(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)}_tryNext(t){const e=this.index++;let n;try{n=this.accumulator(this.seed,t,e)}catch(i){this.destination.error(i)}this.seed=n,this.destination.next(n)}}class HG{constructor(t){this.predicate=t}call(t,e){return e.subscribe(new $G(t,this.predicate))}}class $G extends v{constructor(t,e){super(t),this.predicate=e,this.skipping=!0,this.index=0}_next(t){const e=this.destination;this.skipping&&this.tryCallPredicate(t),this.skipping||e.next(t)}tryCallPredicate(t){try{const e=this.predicate(t,this.index++);this.skipping=Boolean(e)}catch(e){this.destination.error(e)}}}const GG=["youtubeContainer"];let WG=(()=>{class t{constructor(t,e){this._ngZone=t,this._youtubeContainer=new A,this._destroyed=new A,this._playerChanges=new Jf(void 0),this._videoId=new Jf(void 0),this._height=new Jf(390),this._width=new Jf(640),this._startSeconds=new Jf(void 0),this._endSeconds=new Jf(void 0),this._suggestedQuality=new Jf(void 0),this._playerVars=new Jf(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Xh(e)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=Dd(!0);if(!window.YT||!window.YT.Player){const e=new A;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>e.next(!0))},t=e.pipe(rf(1),lp(!1))}const e=function(t,e,n,i,r,s,o){const a=z_([e,s]).pipe(FG(z_([i,r])),D(([t,e])=>{const[n,i]=t,[r,s]=e;return n?{videoId:n,playerVars:i,width:r,height:s}:void 0}));return z_([t,a,Dd(o)]).pipe(function(t){return S(function(...t){let e=null;return"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&d(t[0])&&(t=t[0].slice()),n=>n.lift.call(U([n,...t]),new U_(e))}(t),function(t){return e=>e.lift(new HG(t))}(([t,e])=>!e),D(([t])=>t))}(n),function(t,e){let n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new zG(t,e,n))}}(qG,void 0),Wd())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(eg(t=>{this._playerChanges.next(t)}),W(t=>t?XG(t)?Dd(t):new E(e=>{let n=!1,i=!1;const r=t=>{i=!0,n||(t.target.removeEventListener("onReady",r),e.next(t.target))};return t.addEventListener("onReady",r),()=>{n=!0,i||(t=>{XG(t)||t.destroy()})(t)}}).pipe(rf(1),lp(void 0)):Dd(void 0)),rp(this._destroyed),rt(new A));e.subscribe(t=>{this._player=t,t&&this._pendingPlayerState&&this._initializePlayer(t,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(t,e,n){z_([t,e,n]).subscribe(([t,e,n])=>t&&t.setSize(e,n))}(e,this._width,this._height),function(t,e){z_([t,e]).subscribe(([t,e])=>t&&e&&t.setPlaybackQuality(e))}(e,this._suggestedQuality),function(t,e,n,i,r,s){const o=z_([n,i]).pipe(D(([t,e])=>({startSeconds:t,endSeconds:e}))),a=o.pipe(YG(t,t=>!!t&&!function(t){const e=t.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(t))),l=e.pipe(YG(t,(t,e)=>!!t&&t.videoId!==e));Q(t.pipe(YG(z_([e,o]),([t,e],n)=>!(!n||t==n.videoId&&!e.startSeconds&&!e.endSeconds))),l,a).pipe(FG(z_([t,e,o,r])),D(([t,e])=>e),rp(s)).subscribe(([t,e,n,i])=>{!e||!t||(t.videoId=e,t.cueVideoById(Object.assign({videoId:e,suggestedQuality:i},n)))})}(e,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),e.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,e){this._player?this._player.seekTo(t,e):this._getPendingState().seek={seconds:t,allowSeekAhead:e}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,e){const{playbackState:n,playbackRate:i,volume:r,muted:s,seek:o}=e;switch(n){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=i&&t.setPlaybackRate(i),null!=r&&t.setVolume(r),null!=s&&(s?t.mute():t.unMute()),null!=o&&t.seekTo(o.seconds,o.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(cp(e=>e?jG(n=>{e.addEventListener(t,n)},n=>{try{e.removeEventListener&&e.removeEventListener(t,n)}catch(i){}}):Dd()),t=>new E(e=>t.subscribe({next:t=>this._ngZone.run(()=>e.next(t)),error:t=>e.error(t),complete:()=>e.complete()})),rp(this._destroyed))}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(hu))},t.\u0275cmp=Jt({type:t,selectors:[["youtube-player"]],viewQuery:function(t,e){if(1&t&&Zc(GG,5),2&t){let t;Qc(t=tu())&&(e.youtubeContainer=t.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,e){1&t&&oa(0,"div",null,0)},encapsulation:2,changeDetection:0}),t})();function qG(t,[e,n,i]){if(t&&n&&t.playerVars!==n.playerVars)t.destroy();else{if(!n)return void(t&&t.destroy());if(t)return t}const r=i.runOutsideAngular(()=>new YT.Player(e,n));return r.videoId=n.videoId,r.playerVars=n.playerVars,r}function XG(t){return"getPlayerStatus"in t}function YG(t,e){return S(FG(t),ep(([t,n])=>e(n,t)),D(([t])=>t))}let KG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),QG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),t})();function ZG(t){return!0===t}function JG(t){return null==t}function tW(t){return!JG(t)}function eW(t){return Boolean(t)}function nW(t){return JG(t)?t:JSON.parse(JSON.stringify(t))}const iW=t=>{const e=t instanceof Date;if("object"!=typeof t||null===t||e)return t;Object.freeze(t);const n="function"==typeof t,i=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(e=>{i.call(t,e)&&(!n||"caller"!==e&&"callee"!==e&&"arguments"!==e)&&null!==t[e]&&("object"==typeof t[e]||"function"==typeof t[e])&&!Object.isFrozen(t[e])&&iW(t[e])}),t};function rW(t){return tW(t)&&"object"==typeof t&&function(t){return"[object Object]"===Object.prototype.toString.call(t)}(t)}const sW="NGXS_DATA_META",oW="NGXS_META",aW="NGXS_ARGUMENT_REGISTRY_META";let lW=(()=>{class t{constructor(t){this.sequence$=new Jf(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function cW(t){return t[sW]}let uW=(()=>{class t{constructor(e,n,i){t.store=e.get(qz),t.ngZone=e.get(Tu),t.factory=n,t.context=i,t.computed=e.get(lW)}}return t.store=null,t.computed=null,t.context=null,t.factory=null,t.ngZone=null,t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(XV),Ei(qV))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class hW{constructor(){hW.statesCachedMeta.clear()}static createStateContext(t){return uW.context.createStateContext(t)}static ensureMappedState(t){if(JG(uW.factory)||JG(t))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(tW(t.name)?hW.statesCachedMeta.get(t.name):null)||hW.ensureMeta(t)}static getRepositoryByInstance(t){var e;const n=null!==(e=cW(hW.getStateClassByInstance(t)))&&void 0!==e?e:null;if(JG(n))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return n}static getStateClassByInstance(t){return(null!=t?t:{}).constructor}static clearMetaByInstance(t){const e=hW.getRepositoryByInstance(t);e.stateMeta.actions={},e.operations={}}static createPayload(t,e){const n={},i=Array.from(t);for(let r=0;r0?n:null}static createAction(t,e,n){const i=hW.createPayload(e,n);return new(function(t){return class{constructor(t){t&&Object.keys(t).forEach(e=>{this[e]=t[e]})}static get type(){return t}}}(t.type))(i)}static ensureMeta(t){var e;const n=tW(t.name)?null===(e=uW.factory.states)||void 0===e?void 0:e.find(e=>e.name===t.name):null;return tW(n)&&tW(t.name)&&hW.statesCachedMeta.set(t.name,n),n}}hW.statesCachedMeta=new Map,hW.\u0275fac=function(t){return new(t||hW)},hW.\u0275prov=xt({token:hW,factory:hW.\u0275fac}),new _p(1);class dW extends Error{constructor(t){super(`Child states can only be added to an object. Cannot convert ${tW(null==t?void 0:t.constructor)?t.constructor.name:t} to PlainObject`)}}function pW(t){var e;return null!==(e=t.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function fW(t){var e;const n=pW(t),i=null!==(e=n.children)&&void 0!==e?e:[],r=nW(void 0===n.defaults?{}:n.defaults);if(i.length){if(rW(r))return function(t,e){return e.reduce((t,e)=>{const n=pW(e);if(function(t){const e="string"==typeof t?t.trim():t;return[void 0,null,NaN,"",1/0].includes(e)}(n.name))throw new Error("State name not provided in class");return t[n.name.toString()]=fW(e),t},null!=t?t:{})}(r,i);throw new dW(r)}return r}function gW(t){var e;return null!==(e=t.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function mW(){var t,e;return null!==(e=null===(t=null==uW?void 0:uW.computed)||void 0===t?void 0:t.sequenceValue)&&void 0!==e?e:0}function bW(t){let e=!1;return Gd(t)&&(e=!0),e}function yW(t){return t[aW]}class vW extends Error{constructor(t,e){super(`An argument with the name '${t}' already exists in the method '${e}'`)}}class _W{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(t){var e;return null!==(e=this.payloadMap.get(t))&&void 0!==e?e:null}getArgumentNameByIndex(t){var e;return null!==(e=this.argumentMap.get(t))&&void 0!==e?e:null}createPayloadType(t,e,n){this.checkDuplicateName(t,e),this.payloadMap.set(n,t),this.payloadMap.set(t,t)}createArgumentName(t,e,n){this.checkDuplicateName(t,e),this.argumentMap.set(n,t),this.argumentMap.set(t,t)}checkDuplicateName(t,e){if(eW(this.argumentMap.has(t))||eW(this.payloadMap.has(t)))throw new vW(t,e)}}function wW(t){return Vu()?iW(t):t}function xW(t){return{enumerable:!0,configurable:!0,get(){const e=cW(t),n=hW.ensureMappedState(e.stateMeta);return hW.createStateContext(n)}}}function SW(t){if(!t)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},t),{getState:()=>Vu()?iW(t.getState()):t.getState(),setState(e){t.setState(e)},patchState(e){t.patchState(e)}})}function CW(){return(t,e,n)=>{!function(t,e){if(!function(t,e){var n;let i=t,r=!1;if(rW(i))for(;null!==i;){if(ZG(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(n=Object.getOwnPropertyDescriptor(i,e))||void 0===n?void 0:n.get);break}i=Object.getPrototypeOf(i)}return r}(t,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(t,e);const i=n.get;return n.get=function(...t){const e=function(t){return JG(gW(t))&&Object.defineProperties(t,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),gW(t)}(this),n=null==e?void 0:e.get(i);if(ZG(null==n?void 0:n.isObservable))return null==n?void 0:n.value;if(JG(n)||n.sequenceId!==mW()){e.delete(i);const n=i.apply(this,t);return e.set(i,{value:n,sequenceId:mW(),isObservable:bW(n)}),n}return n.value},n}}const EW={cancelUncompleted:!0,insideZone:!1};function OW(t=EW){return(e,n,i)=>{!function(t,e){if(t.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=n.toString();return i.value=function(...e){const n=this;let i=null;const o=hW.getRepositoryByInstance(n),a=o.operations;let l=a[s];const c=o.stateMeta,u=yW(r);if(JG(l)){const e=function(t){var e,n,i;return null!==(i=null===(n=null===(e=(t+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===n?void 0:n.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),n=function(t){const{statePath:e,argumentsNames:n,methodName:i,argumentRegistry:r}=t;let s="";for(let o=0;o{var s;return ZG(t.insideZone)?null===(s=uW.ngZone)||void 0===s||s.run(()=>{i=r.apply(n,e)}):i=r.apply(n,e),Gd(i)?Dd(null).pipe(D(()=>i)):i};const h=hW.createAction(l,e,u),d=uW.store.dispatch(h);return Gd(i)?function(t,e){return Ev([t,e]).pipe(D(t=>t.pop()))}(d,i):i},i}}function TW(t){return(e,n,i)=>{const r=t.trim();if(!r)throw new Error("Payload name should be initialized");(function(t,e){const n=t[e];return JG(yW(n))&&Object.defineProperties(n,{[aW]:{enumerable:!0,configurable:!0,value:new _W}}),yW(n)})(e,n).createPayloadType(r,n,i)}}function kW(){return t=>{const e=function(t){if(function(t){return!eW(t)}(t.hasOwnProperty(oW))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(t,oW,{value:e})}return function(t){var e;return null===(e=t)||void 0===e?void 0:e[oW]}(t)}(t);if(JG(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(t,e){(function(t){var e;const n=null!==(e=cW(t))&&void 0!==e?e:null;return(JG(n)||(null==n?void 0:n.stateClass)!==t)&&function(t){Object.defineProperty(t,sW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:t}})}(t),cW(t)}(t)).stateMeta=e}(t,e),function(t,e,n){Object.defineProperties(t.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>nW(n)},context:xW(t)})}(t,e,fW(t)),function(t){var e,n;const i=cW(t),r=null!==(n=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==n?n:null;if(tW(r)){const e=`__${r}__selector`;Object.defineProperties(t.prototype,{[e]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(tW(this[e]))return this[e];if(JG(uW.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[e]=uW.store.select(t).pipe(D(t=>Vu()?iW(t):t),xp({refCount:!0,bufferSize:1})),this[e]}}})}}(t)}}let PW=(()=>{class t{constructor(){this.browserStorageEvents$=new A,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var e;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(e=this.ngxsDataDoCheck)||void 0===e||e.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var t;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(t=this.ngxsDataDoCheck)||void 0===t||t.call(this))}markAsDirtyAfterReset(){var t;this.dirty=!0,null===(t=this.ngxsDataAfterReset)||void 0===t||t.call(this)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),AW=(()=>{class t extends PW{get snapshot(){return wW(this.getState())}get ctx(){return SW(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW(),ww("design:type",Object),ww("design:paramtypes",[])],t.prototype,"snapshot",null),vw([OW(),_w(0,TW("patchValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"patchState",null),vw([OW(),_w(0,TW("stateValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"setState",null),vw([OW(),ww("design:type",Function),ww("design:paramtypes",[]),ww("design:returntype",void 0)],t.prototype,"reset",null),t})(),MW=(()=>{class t extends PW{get snapshot(){return wW(this.getState())}get ctx(){return SW(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW(),ww("design:type",Object),ww("design:paramtypes",[])],t.prototype,"snapshot",null),vw([OW(),_w(0,TW("patchValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"patchState",null),vw([OW(),_w(0,TW("stateValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"setState",null),vw([OW(),ww("design:type",Function),ww("design:paramtypes",[]),ww("design:returntype",void 0)],t.prototype,"reset",null),t})();function IW(){return ep(t=>null!=t)}const DW=new oi("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),RW=new oi("ngx-window",{providedIn:"root",factory:()=>function(t){return Xh(t)?window:null}(Oi(hu))}),NW=new oi("ngx-data-layer",{providedIn:"root",factory:()=>function(t){return t?t.dataLayer=t.dataLayer||[]:null}(Oi(RW))}),LW=new oi("ngx-gtag-fn",{providedIn:"root",factory:()=>function(t,e){return t?t.gtag=t.gtag||function(){e.push(arguments)}:null}(Oi(RW),Oi(NW))});let jW=(()=>{class t{constructor(t,e,n){this.settings=t,this._document=e,this._gtag=n}get document(){return this._document}throw(t){(this.settings.enableTracing||Vu())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((t,[e,n])=>Object.defineProperty(t,e,{value:n,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(t=>void 0!==t))}catch(e){this.throw(e)}}event(t,e,n,i,r){try{const s=new Map;e&&s.set("event_category",e),n&&s.set("event_label",n),i&&s.set("value",i),void 0!==r&&s.set("interaction",r);const o=this.toKeyValue(s);o?this.gtag("event",t,o):this.gtag("event",t)}catch(s){this.throw(s)}}pageView(t,e,n,i){try{const r=new Map([["page_path",t]]);e&&r.set("page_title",e),(n||this.document)&&r.set("page_location",n||this.document.location.href),i&&Object.entries(i).map(([t,e])=>r.set(t,e)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(r))}catch(r){this.throw(r)}}appView(t,e,n,i,r){try{const s=new Map([["screen_name",t],["app_name",e]]);n&&s.set("app_id",n),i&&s.set("app_version",i),r&&s.set("app_installer_id",r),this.gtag("event","screen_view",this.toKeyValue(s))}catch(s){this.throw(s)}}set(...t){try{this._gtag("set",...t)}catch(e){this.throw(e)}}exception(t,e){try{const n=new Map;t&&n.set("description",t),e&&n.set("fatal",e),this.toKeyValue(n)?this.gtag("event","exception",this.toKeyValue(n)):this.gtag("event","exception")}catch(n){this.throw(n)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(DW),Ei(th),Ei(LW))},t.\u0275prov=xt({factory:function(){return new t(Ei(DW),Ei(th),Ei(LW))},token:t,providedIn:"root"}),t})();const FW={provide:su,multi:!0,useFactory:function(t,e,n){return()=>xw(this,void 0,void 0,function*(){var i;if(!t.trackingCode)return void(Vu()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(Vu()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));n||Vu()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),t.uri=t.uri||`https://www.googletagmanager.com/gtag/js?id=${t.trackingCode}`,t.initCommands=null!==(i=null==t?void 0:t.initCommands)&&void 0!==i?i:[],t.initCommands.find(t=>"config"===t.command)||t.initCommands.unshift({command:"config",values:[t.trackingCode]}),t.initCommands.find(t=>"js"===t.command)||t.initCommands.unshift({command:"js",values:[new Date]});for(const n of t.initCommands)e(n.command,...n.values);const r=n.createElement("script");r.async=!0,r.src=t.uri,t.nonce&&r.setAttribute("nonce",t.nonce),n.getElementsByTagName("head")[0].appendChild(r)})},deps:[DW,LW,th]};new oi("ngx-google-analytics-routing-settings",{factory:()=>({})});let BW=(()=>{class t{static forRoot(e,n=[],i,r,s){return{ngModule:t,providers:[{provide:DW,useValue:{trackingCode:e,initCommands:n,uri:i,enableTracing:r,nonce:s}},FW]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[]]}),t})(),VW=(()=>{class t{constructor(){this.consent="not-set",this.consentChange=new _p(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),zW=(()=>{class t{constructor(t,e,{trackingCode:n}){this.window=e,this.subscriptions=new g,this.token=n,this.subscriptions.add(t.consentChange.subscribe(t=>this.toggleGoogleAnalytics("rescinded"===t)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(VW),Ei(RW),Ei(DW))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const UW=new oi("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),HW=[VW,zW,(()=>{class t{constructor(t,e){this.key=e,this.subscriptions=new g;try{this.storage=localStorage}catch(n){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(t=>this.saveConsent(t)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,e;const n=null===(e=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===e?void 0:e.call(t,this.key);if(null==n)return"not-set";const i=n.trim().toLowerCase();switch(i){case"given":case"rescinded":return i;default:return"not-set"}}saveConsent(t){var e,n;null===(n=null===(e=this.storage)||void 0===e?void 0:e.setItem)||void 0===n||n.call(e,this.key,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(VW),Ei(UW))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})()];function $W(t){return Object.entries(t).reduce((t,[e,n])=>(null!=n&&(t[e]=`${n}`),t),{})}let GW=(()=>{class t{static forRoot(e){const{providers:n=[]}=BW.forRoot(e.gaToken,function(t){const{appName:e,projectName:n,developmentMode:i}=t;return[{command:"set",values:[$W({appName:e,projectName:n,developmentMode:i})]}]}(e));return{ngModule:t,providers:n}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[...HW,{provide:su,multi:!0,useFactory:()=>()=>{},deps:HW}],imports:[[BW]]}),t})();function WW(t,e,n,i){n&&"function"!=typeof n&&(i=n);const r="function"==typeof n?n:void 0,s=new _p(t,e,i);return t=>rt(()=>s,r)(t)}const qW=(t,e)=>JSON.stringify(t)===JSON.stringify(e),XW=t=>t.map(t=>void 0!==t?JSON.parse(JSON.stringify(t)):t),YW={storageStrategy:class extends class{}{constructor(){super(...arguments),this.cachePairs=[]}add(t,e,n){this.cachePairs.push(t)}addMany(t){this.cachePairs=t}updateAtIndex(t,e){Object.assign(this.cachePairs[t],e)}update(t,e){Object.assign(this.cachePairs[t],e)}getAll(){return this.cachePairs}removeAtIndex(t){this.cachePairs.splice(t,1)}remove(t){this.cachePairs.splice(t,1)}removeAll(){this.cachePairs.length=0}},globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},KW=new A;function QW(t={}){return function(e,n,i){const r=t.cacheKey||e.constructor.name+"#"+n,s=i.value;if(i&&i.value){let e=t.storageStrategy?new t.storageStrategy:new YW.storageStrategy;const n=[];t.cacheModifier&&t.cacheModifier.subscribe(t=>e.addMany(t(e.getAll(r,this)),r,this)),Q(KW.asObservable(),t.cacheBusterObserver?t.cacheBusterObserver:fp()).subscribe(t=>{e.removeAll(r,this),n.length=0}),t.cacheResolver=t.cacheResolver||YW.cacheResolver||qW,t.cacheHasher=t.cacheHasher||YW.cacheHasher||XW,i.value=function(...i){const o=e.getAll(r,this);let a=t.cacheHasher(i),l=o.find(e=>t.cacheResolver(e.parameters,a));const c=n.find(e=>t.cacheResolver(e.parameters,a));if((t.maxAge||YW.maxAge)&&l&&l.created&&((new Date).getTime()-new Date(l.created).getTime()>(t.maxAge||YW.maxAge)?(e.remove?e.remove(o.indexOf(l),l,r,this):e.removeAtIndex(o.indexOf(l),r,this),l=null):(t.slidingExpiration||YW.slidingExpiration)&&(l.created=new Date,e.update?e.update(o.indexOf(l),l,r,this):e.updateAtIndex(o.indexOf(l),l,r,this))),l){const e=Dd(l.response);return t.async?e.pipe(JH(0)):e}if(c)return c.response;{const l=s.call(this,...i).pipe(Av(()=>{const e=n.find(e=>t.cacheResolver(e.parameters,a));n.splice(n.indexOf(e),1)}),eg(n=>{(!t.shouldCacheDecider||t.shouldCacheDecider(n))&&((!(t.maxCacheCount||YW.maxCacheCount)||1===(t.maxCacheCount||YW.maxCacheCount)||(t.maxCacheCount||YW.maxCacheCount)&&(t.maxCacheCount||YW.maxCacheCount)this.isJsonMime(t));return void 0===e?t[0]:e}selectHeaderAccept(t){if(0===t.length)return;const e=t.find(t=>this.isJsonMime(t));return void 0===e?t[0]:e}isJsonMime(t){const e=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==t&&(e.test(t)||"application/json-patch+json"===t.toLowerCase())}lookupCredential(t){const e=this.credentials[t];return"function"==typeof e?e():e}}let eq=(()=>{class t{constructor(t,e,n){this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new Nv,this.configuration=new tq,n&&(this.configuration=n),"string"!=typeof this.configuration.basePath&&("string"!=typeof e&&(e=this.basePath),this.configuration.basePath=e),this.encoder=this.configuration.encoder||new ZW}addToHttpParams(t,e,n){return this.addToHttpParamsRecursive(t,e,n)}addToHttpParamsRecursive(t,e,n){if(null==e)return t;if("object"==typeof e)if(Array.isArray(e))e.forEach(e=>t=this.addToHttpParamsRecursive(t,e,n));else if(e instanceof Date){if(null==n)throw Error("key may not be null if value is Date");t=t.append(n,e.toISOString().substr(0,10))}else Object.keys(e).forEach(i=>t=this.addToHttpParamsRecursive(t,e[i],null!=n?`${n}.${i}`:i));else{if(null==n)throw Error("key may not be null if value is not object or array");t=t.append(n,e)}return t}aggregateResults(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/aggregate-results`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}cellTypeTermOccurences(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-term-occurences`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}cellTypeTreeModel(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-tree-model`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}dbStatus(t,e="body",n=!1,i){const r=t.token;let s=new zv({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"token"));let o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));let l=i&&i.context;void 0===l&&(l=new Uv);let c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/db-status`,{context:l,params:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:e,reportProgress:n})}getSpatialPlacement(t,e="body",n=!1,i){const r=t.getSpatialPlacementRequest;if(null==r)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");let s=this.defaultHeaders,o=i&&i.httpHeaderAccept;void 0===o&&(o=this.configuration.selectHeaderAccept(["application/json"])),void 0!==o&&(s=s.set("Accept",o));let a=i&&i.context;void 0===a&&(a=new Uv);const l=this.configuration.selectHeaderContentType(["application/json"]);void 0!==l&&(s=s.set("Content-Type",l));let c="json";return o&&(c=o.startsWith("text")?"text":this.configuration.isJsonMime(o)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/get-spatial-placement`,r,{context:a,responseType:c,withCredentials:this.configuration.withCredentials,headers:s,observe:e,reportProgress:n})}gtexRuiLocations(t,e="body",n=!1,i){const r=t.cache;let s=new zv({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"cache"));let o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));let l=i&&i.context;void 0===l&&(l=new Uv);let c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/gtex/rui_locations.jsonld`,{context:l,params:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:e,reportProgress:n})}hubmapRuiLocations(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/hubmap/rui_locations.jsonld`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}ontologyTermOccurences(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-term-occurences`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}ontologyTreeModel(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-tree-model`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}providerNames(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/provider-names`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}referenceOrganScene(t,e="body",n=!1,i){const r=t.organIri;if(null==r)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");const s=t.age,o=t.ageRange,a=t.bmi,l=t.bmiRange,c=t.cache,u=t.ontologyTerms,h=t.cellTypeTerms,d=t.providers,p=t.sex,f=t.spatial,g=t.technologies,m=t.token;let b=new zv({encoder:this.encoder});null!=s&&(b=this.addToHttpParams(b,s,"age")),null!=o&&(b=this.addToHttpParams(b,o,"age-range")),null!=a&&(b=this.addToHttpParams(b,a,"bmi")),null!=l&&(b=this.addToHttpParams(b,l,"bmi-range")),null!=c&&(b=this.addToHttpParams(b,c,"cache")),u&&u.forEach(t=>{b=this.addToHttpParams(b,t,"ontology-terms")}),h&&h.forEach(t=>{b=this.addToHttpParams(b,t,"cell-type-terms")}),null!=r&&(b=this.addToHttpParams(b,r,"organ-iri")),d&&d.forEach(t=>{b=this.addToHttpParams(b,t,"providers")}),null!=p&&(b=this.addToHttpParams(b,p,"sex")),f&&f.forEach(t=>{b=this.addToHttpParams(b,t,"spatial")}),g&&g.forEach(t=>{b=this.addToHttpParams(b,t,"technologies")}),null!=m&&(b=this.addToHttpParams(b,m,"token"));let y=this.defaultHeaders,v=i&&i.httpHeaderAccept;void 0===v&&(v=this.configuration.selectHeaderAccept(["application/json"])),void 0!==v&&(y=y.set("Accept",v));let _=i&&i.context;void 0===_&&(_=new Uv);let w="json";return v&&(w=v.startsWith("text")?"text":this.configuration.isJsonMime(v)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organ-scene`,{context:_,params:b,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:e,reportProgress:n})}referenceOrgans(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organs`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}scene(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/scene`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}sparql(t,e="body",n=!1,i){const r=t.query;if(null==r)throw new Error("Required parameter query was null or undefined when calling sparql.");const s=t.token,o=t.format;let a=new zv({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"query")),null!=s&&(a=this.addToHttpParams(a,s,"token")),null!=o&&(a=this.addToHttpParams(a,o,"format"));let l=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==c&&(l=l.set("Accept",c));let u=i&&i.context;void 0===u&&(u=new Uv);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/sparql`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:e,reportProgress:n})}sparqlPost(t,e="body",n=!1,i){const r=t.sparqlQueryRequest;if(null==r)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");const s=t.token,o=t.format;let a=new zv({encoder:this.encoder});null!=s&&(a=this.addToHttpParams(a,s,"token")),null!=o&&(a=this.addToHttpParams(a,o,"format"));let l=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==c&&(l=l.set("Accept",c));let u=i&&i.context;void 0===u&&(u=new Uv);const h=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==h&&(l=l.set("Content-Type",h));let d="json";return c&&(d=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/sparql`,r,{context:u,params:a,responseType:d,withCredentials:this.configuration.withCredentials,headers:l,observe:e,reportProgress:n})}technologyNames(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/technology-names`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}tissueBlocks(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/tissue-blocks`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv),Ei(JW,8),Ei(tq,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Jv),Ei(JW,8),Ei(tq,8))},token:t,providedIn:"root"}),t})(),nq=(()=>{class t{constructor(t,e){if(t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!e)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}static forRoot(e){return{ngModule:t,providers:[{provide:tq,useFactory:e}]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12),Ei(Jv,8))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[],imports:[[]]}),t})();function iq(t){return new Promise((e,n)=>{t.oncomplete=t.onsuccess=()=>e(t.result),t.onabort=t.onerror=()=>n(t.error)})}let rq;function sq(){return rq||(rq=function(t,e){const n=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let t;return new Promise(e=>{const n=()=>indexedDB.databases().finally(e);t=setInterval(n,100),n()}).finally(()=>clearInterval(t))}().then(()=>{const t=indexedDB.open("keyval-store");return t.onupgradeneeded=()=>t.result.createObjectStore(e),iq(t)});return(t,i)=>n.then(n=>i(n.transaction(e,t).objectStore(e)))}(0,"keyval")),rq}function oq(t,e=sq()){return e("readonly",e=>iq(e.get(t)))}var aq=n(71440);const lq="Unknown Euler angle order",cq=.99999;class uq extends rC{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return uq.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(t){return uq.RotationOrders[t]}get ELEMENTS(){return 4}constructor(t=0,e=0,n=0,i=uq.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(t,e,n,i)}fromQuaternion(t){const[e,n,i,r]=t,s=n*n,o=-2*(s+i*i)+1,a=2*(e*n+r*i);let l=-2*(e*i-r*n);l=l>1?1:l,l=l<-1?-1:l;const c=Math.atan2(2*(n*i+r*e),-2*(e*e+s)+1),u=Math.asin(l),h=Math.atan2(a,o);return new uq(c,u,h,uq.RollPitchYaw)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=Number.isFinite(t[3])||this.order,this.check()}set(t=0,e=0,n=0,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=Number.isFinite(i)?i:this[3],this.check()}validate(){return function(t){return t>=0&&t<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t}toArray4(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t[e+3]=this[3],t}toVector3(t=[-0,-0,-0]){return t[0]=this[0],t[1]=this[1],t[2]=this[2],t}get x(){return this[0]}set x(t){this[0]=sC(t)}get y(){return this[1]}set y(t){this[1]=sC(t)}get z(){return this[2]}set z(t){this[2]=sC(t)}get alpha(){return this[0]}set alpha(t){this[0]=sC(t)}get beta(){return this[1]}set beta(t){this[1]=sC(t)}get gamma(){return this[2]}set gamma(t){this[2]=sC(t)}get phi(){return this[0]}set phi(t){this[0]=sC(t)}get theta(){return this[1]}set theta(t){this[1]=sC(t)}get psi(){return this[2]}set psi(t){this[2]=sC(t)}get roll(){return this[0]}set roll(t){this[0]=sC(t)}get pitch(){return this[1]}set pitch(t){this[1]=sC(t)}get yaw(){return this[2]}set yaw(t){this[2]=sC(t)}get order(){return this[3]}set order(t){this[3]=function(t){if(t<0&&t>=6)throw new Error(lq);return t}(t)}fromVector3(t,e){return this.set(t[0],t[1],t[2],Number.isFinite(e)?e:this[3])}fromArray(t,e=0){return this[0]=t[0+e],this[1]=t[1+e],this[2]=t[2+e],void 0!==t[3]&&(this[3]=t[3]),this.check()}fromRollPitchYaw(t,e,n){return this.set(t,e,n,uq.ZYX)}fromRotationMatrix(t,e=uq.DefaultOrder){return this._fromRotationMatrix(t,e),this.check()}getRotationMatrix(t){return this._getRotationMatrix(t)}getQuaternion(){const t=new $N;switch(this[4]){case uq.XYZ:return t.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case uq.YXZ:return t.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case uq.ZXY:return t.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case uq.ZYX:return t.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case uq.YZX:return t.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case uq.XZY:return t.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(lq)}}_fromRotationMatrix(t,e=uq.DefaultOrder){const n=t.elements,i=n[0],r=n[4],s=n[8],o=n[1],a=n[5],l=n[9],c=n[2],u=n[6],h=n[10];switch(e=e||this[3]){case uq.XYZ:this[1]=Math.asin(tC(s,-1,1)),Math.abs(s)1&&void 0!==arguments[1]?arguments[1]:0,n=(_q[t[e+0]]+_q[t[e+1]]+_q[t[e+2]]+_q[t[e+3]]+"-"+_q[t[e+4]]+_q[t[e+5]]+"-"+_q[t[e+6]]+_q[t[e+7]]+"-"+_q[t[e+8]]+_q[t[e+9]]+"-"+_q[t[e+10]]+_q[t[e+11]]+_q[t[e+12]]+_q[t[e+13]]+_q[t[e+14]]+_q[t[e+15]]).toLowerCase();if(!vq(n))throw TypeError("Stringified UUID is invalid");return n}(i)},Sq=n(31609);const Cq=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Eq=(Math,Math,{});function Oq(t,{precision:e=Eq.precision||4}={}){return t=function(t){return Math.round(t/Eq.EPSILON)*Eq.EPSILON}(t),"".concat(parseFloat(t.toPrecision(e)))}function Tq(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function kq(t,e,n){const i=Eq.EPSILON;n&&(Eq.EPSILON=n);try{if(t===e)return!0;if(Tq(t)&&Tq(e)){if(t.length!==e.length)return!1;for(let n=0;n0?", ":"")+Oq(this[n],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(e,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e=0&&t=0&&t=s+i)return this.clone();if(i>=s+n)return t.clone();const o=.5*(n+s+i);return Vq.copy(r).scale((-n+o)/s).add(e),this.center.copy(Vq),this.radius=o,this}expand(t){const e=(t=Bq.from(t)).subtract(this.center).magnitude();return e>this.radius&&(this.radius=e),this}transform(t){this.center.transform(t);const e=function(t,e){var n=e[4],i=e[5],r=e[6],s=e[8],o=e[9],a=e[10];return t[0]=Math.hypot(e[0],e[1],e[2]),t[1]=Math.hypot(n,i,r),t[2]=Math.hypot(s,o,a),t}(Bq,t);return this.radius=Math.max(e[0],Math.max(e[1],e[2]))*this.radius,this}distanceSquaredTo(t){const e=this.distanceTo(t);return e*e}distanceTo(t){const e=(t=Bq.from(t)).subtract(this.center);return Math.max(0,e.len()-this.radius)}intersectPlane(t){const e=this.radius,n=t.normal.dot(this.center)+t.distance;return n<-e?Cq.OUTSIDE:n0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return kN(this,this,t),this.check()}rotateY(t){return PN(this,this,t),this.check()}rotateZ(t){return AN(this,this,t),this.check()}scale(t){return jN(this,this,t),this.check()}slerp(t,e,n){switch(arguments.length){case 1:({start:t=Xq,target:e,ratio:n}=arguments[0]);break;case 2:[e,n]=arguments,t=this}return IN(this,t,e,n),this.check()}transformVector4(t,e=t){return CT(e,t,this),Iq(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t,e){return this.multiplyLeft(t,e)}multiply(t,e){return this.multiplyRight(t,e)}}const Kq=new Fq,Qq=new Fq,Zq=new Fq,Jq=new Fq,tX=new Fq,eX=new Fq,nX=new Fq;class iX{constructor(t=[0,0,0],e=[0,0,0,0,0,0,0,0,0]){this.center=(new Fq).from(t),this.halfAxes=new qq(e)}get halfSize(){const t=this.halfAxes.getColumn(0),e=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new Fq(t).len(),new Fq(e).len(),new Fq(n).len()]}get quaternion(){const t=this.halfAxes.getColumn(0),e=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new Fq(t).normalize(),r=new Fq(e).normalize(),s=new Fq(n).normalize();return(new Yq).fromMatrix3(new qq([...i,...r,...s]))}fromCenterHalfSizeQuaternion(t,e,n){const i=new Yq(n),r=(new qq).fromQuaternion(i);return r[0]=r[0]*e[0],r[1]=r[1]*e[0],r[2]=r[2]*e[0],r[3]=r[3]*e[1],r[4]=r[4]*e[1],r[5]=r[5]*e[1],r[6]=r[6]*e[2],r[7]=r[7]*e[2],r[8]=r[8]*e[2],this.center=(new Fq).from(t),this.halfAxes=r,this}clone(){return new iX(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new zq){const e=this.halfAxes,n=e.getColumn(0,Zq),i=e.getColumn(1,Jq),r=e.getColumn(2,tX),s=Kq.copy(n).add(i).add(r);return t.center.copy(this.center),t.radius=s.magnitude(),t}intersectPlane(t){const e=this.center,n=t.normal,i=this.halfAxes,r=n.x,s=n.y,o=n.z,a=Math.abs(r*i[0]+s*i[1]+o*i[2])+Math.abs(r*i[3]+s*i[4]+o*i[5])+Math.abs(r*i[6]+s*i[7]+o*i[8]),l=n.dot(e)+t.distance;return l<=-a?Cq.OUTSIDE:l>=a?Cq.INSIDE:Cq.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){const e=Qq.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,Zq),r=n.getColumn(1,Jq),s=n.getColumn(2,tX),o=i.magnitude(),a=r.magnitude(),l=s.magnitude();i.normalize(),r.normalize(),s.normalize();let c,u=0;return c=Math.abs(e.dot(i))-o,c>0&&(u+=c*c),c=Math.abs(e.dot(r))-a,c>0&&(u+=c*c),c=Math.abs(e.dot(s))-l,c>0&&(u+=c*c),u}computePlaneDistances(t,e,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;const s=this.center,o=this.halfAxes,a=o.getColumn(0,Zq),l=o.getColumn(1,Jq),c=o.getColumn(2,tX),u=eX.copy(a).add(l).add(c).add(s),h=nX.copy(u).subtract(t);let d=e.dot(h);return i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).add(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).subtract(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).subtract(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).add(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).add(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).subtract(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).subtract(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),n[0]=i,n[1]=r,n}transform(t){this.center.transformAsPoint(t);const e=this.halfAxes.getColumn(0,Zq);e.transformAsPoint(t);const n=this.halfAxes.getColumn(1,Jq);n.transformAsPoint(t);const i=this.halfAxes.getColumn(2,tX);return i.transformAsPoint(t),this.halfAxes=new qq([...e,...n,...i]),this}getTransform(){throw new Error("not implemented")}}const rX=new Fq,sX=new Fq;class oX{constructor(t=[0,0,1],e=0){this.normal=new Fq,this.distance=-0,this.fromNormalDistance(t,e)}fromNormalDistance(t,e){return Pq(Number.isFinite(e)),this.normal.from(t).normalize(),this.distance=e,this}fromPointNormal(t,e){t=rX.from(t),this.normal.from(e).normalize();const n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,e,n,i){return this.normal.set(t,e,n),Pq(kq(this.normal.len(),1)),this.distance=i,this}clone(t){return new oX(this.normal,this.distance)}equals(t){return kq(this.distance,t.distance)&&kq(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){const e=sX.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,e)}projectPointOntoPlane(t,e=[0,0,0]){t=rX.from(t);const n=this.getPointDistance(t),i=sX.copy(this.normal).scale(n);return t.subtract(i).to(e)}}function*aX(t,e,n){for(const[i,r]of Object.entries(n))for(const n of(0,aq.readQuads)(t,e,i,null,null)){const t="Literal"===n.object.termType?(0,Sq.fromRdf)(n.object):n.object.id;yield[r,t]}}function lX(t,e,n,i){const r={"@id":e,"@type":n};for(const[s,o]of Object.entries(i))for(const e of(0,aq.readQuads)(t,r["@id"],s,null,null)){const t="Literal"===e.object.termType?(0,Sq.fromRdf)(e.object):e.object.id;r[o]=t}return r}new Fq([1,0,0]),new Fq([0,1,0]),new Fq([0,0,1]),new Fq,new Fq,new oX(new Fq(1,0,0),0),new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,new Fq,Math,new qq,new qq,new qq,new qq,new qq,new Fq,new Fq,new Fq,new Fq,new Fq,new qq,new qq,new qq;const cX=aq.Util.prefixes({base:"http://purl.org/ccf/latest/ccf.owl#",ccf:"http://purl.org/ccf/",fma:"http://purl.org/sig/ont/fma/fma",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/"},aq.DataFactory),uX={x:cX("rdf"),type:cX("rdf")("type")},hX=(cX("rdfs"),cX("rdfs")("label"),cX("rdfs")("comment"),cX("rdfs")("isDefinedBy"),cX("rdfs")("seeAlso"),cX("ccf")),dX={id:cX("ccf")("has_registration_location"),label:cX("rdfs")("label"),description:cX("rdfs")("comment"),link:hX("url"),sex:hX("sex"),age:hX("age"),bmi:hX("bmi"),Male:aq.DataFactory.literal("Male"),Female:aq.DataFactory.literal("Female"),consortiumName:hX("consortium_name"),providerName:hX("tissue_provider_name"),providerUUID:hX("tissue_provider_uuid"),donor:hX("comes_from"),sections:hX("subdivided_into_sections"),datasets:hX("generates_dataset"),sampleType:hX("sample_type"),TissueBlock:aq.DataFactory.literal("Tissue Block"),TissueSection:aq.DataFactory.literal("Tissue Section"),NonStandard:aq.DataFactory.literal("Non-standard"),sectionCount:hX("section_count"),sectionSize:hX("section_size"),sectionUnits:hX("section_size_unit"),sectionNumber:hX("section_number"),spatialEntity:hX("has_registration_location"),ontologyTerms:hX("has_ontology_term"),cellTypeTerms:hX("has_cell_type_term"),technology:hX("technology"),thumbnail:hX("thumbnail")},pX={x:hX,base:cX("base"),ontologyNode:{label:hX("ccf_pref_label"),parent:hX("ccf_part_of"),children:hX("ccf_part_of"),rui_rank:hX("rui_rank"),synonymLabels:aq.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:hX("ccf_part_of"),ct_is_a:hX("ccf_ct_isa"),located_in:hX("ccf_located_in"),characterizes:hX("ccf_characterizes")},spatial:{Female:cX("base")("VHFemale"),Male:cX("base")("VHMale"),BothSexes:cX("base")("VHBothSexes"),FemaleOrgans:cX("base")("VHFemaleOrgans"),MaleOrgans:cX("base")("VHMaleOrgans")},SpatialObjectReference:hX("spatial_object_reference"),SpatialEntity:hX("spatial_entity"),SpatialPlacement:hX("spatial_placement"),spatialObjectReference:{file:hX("file_url"),file_format:hX("file_format"),file_subpath:hX("file_subpath")},extractionSet:{label:cX("rdfs")("label"),rui_rank:hX("rui_rank")},spatialEntity:{label:cX("rdfs")("label"),description:cX("rdfs")("comment"),creator:cX("dcterms")("creator"),creator_first_name:hX("creator_first_name"),creator_last_name:hX("creator_last_name"),creator_orcid:hX("creator_orcid"),creation_date:cX("dcterms")("created"),updated_date:hX("updated_date"),ccf_annotations:hX("collides_with"),representation_of:hX("representation_of"),reference_organ:hX("has_reference_organ"),extraction_set_for:hX("extraction_set_for"),extraction_set:hX("has_extraction_set"),sex:hX("organ_owner_sex"),side:hX("organ_side"),rui_rank:hX("rui_rank"),slice_thickness:hX("slice_thickness"),slice_count:hX("slice_count"),x_dimension:hX("x_dimension"),y_dimension:hX("y_dimension"),z_dimension:hX("z_dimension"),dimension_units:hX("dimension_unit"),object:hX("has_object_reference")},spatialPlacement:{source:hX("placement_for"),target:hX("placement_relative_to"),placement_date:cX("dcterms")("created"),x_scaling:hX("x_scaling"),y_scaling:hX("y_scaling"),z_scaling:hX("z_scaling"),scaling_units:hX("scaling_unit"),x_rotation:hX("x_rotation"),y_rotation:hX("y_rotation"),z_rotation:hX("z_rotation"),w_rotation:hX("theta_rotation"),rotation_order:hX("rotation_order"),rotation_units:hX("rotation_unit"),x_translation:hX("x_translation"),y_translation:hX("y_translation"),z_translation:hX("z_translation"),translation_units:hX("translation_unit")}},fX={x:cX("uberon"),body:cX("uberon")("0013702")},gX={x:cX("cl"),cell:cX("cl")("0000000")},mX={x:cX("fma")},bX=(cX("lmha"),{body:fX.body,cell:gX.cell,respiratory_system:fX.x("0001004"),colon:fX.x("0001155"),left_lung:fX.x("0002168"),right_lung:fX.x("0002167"),left_bronchus:fX.x("0002178"),right_bronchus:fX.x("0002177"),kidney:fX.x("0002113"),ureter:fX.x("0000056"),eye:fX.x("0000970"),fallopian_tube:fX.x("0003889"),knee:fX.x("0001465"),ovary:fX.x("0000992"),trachea:fX.x("0003126"),aorta:fX.x("0000947"),blood:fX.x("0000178"),bone_marrow:fX.x("0002371"),male_reproductive_system:fX.x("0000079"),lymph_node:fX.x("0000029"),blood_vasculature:fX.x("0004537"),brain:fX.x("0000955"),eye_left:fX.x("0004548"),eye_right:mX.x("54449"),fallopian_tube_left:fX.x("0001303"),fallopian_tube_right:fX.x("0001302"),heart:fX.x("0000948"),kidney_left:fX.x("0004538"),kidney_right:fX.x("0004539"),knee_left:mX.x("24978"),knee_right:mX.x("24977"),large_intestine:fX.x("0000059"),liver:fX.x("0002107"),lungs:fX.x("0002048"),mesenteric_lymph_node:fX.x("0002509"),ovary_left:mX.x("7214"),ovary_right:mX.x("7213"),pancreas:fX.x("0001264"),pelvis:fX.x("0001270"),prostate_gland:fX.x("0002367"),skin:fX.x("0002097"),small_intestine:fX.x("0002108"),spleen:fX.x("0002106"),thymus:fX.x("0002370"),ureter_left:fX.x("0001223"),ureter_right:fX.x("0001222"),urinary_bladder:fX.x("0001255"),uterus:fX.x("0000995")});function yX(t){const e={};return Object.entries(t).forEach(([t,n])=>{e[n.id]=t}),e}const vX={spatialObjectReference:yX(pX.spatialObjectReference),spatialEntity:yX(pX.spatialEntity),spatialPlacement:yX(pX.spatialPlacement)};function _X(t,e){const n=lX(t,e,"ExtractionSet",vX.spatialEntity);return n.extractionSites=(0,gq.sortBy)(t.getSubjects(pX.spatialEntity.extraction_set,e,null).map(e=>wX(t,e.id)),["rui_rank"]),n}function wX(t,e){const n=lX(t,e,"SpatialEntity",vX.spatialEntity);return n.object&&(n.object=function(t,e){return lX(t,e,"SpatialObjectReference",vX.spatialObjectReference)}(t,n.object)),n.ccf_annotations&&(n.ccf_annotations=t.getObjects(e,pX.spatialEntity.ccf_annotations,null).map(t=>t.id)),t.forSubjects(t=>n.entityId=t.id,dX.spatialEntity,e,null),n}function xX(t,e){const n=lX(t,e,"SpatialPlacement",vX.spatialPlacement);return n.source&&(n.source=wX(t,n.source)),n.target&&(n.target=wX(t,n.target)),n}function SX(t,e){const n=e;let i;switch(n.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[n.x_translation,n.y_translation,n.z_translation].map(t=>t*i),s=[n.x_rotation,n.y_rotation,n.z_rotation].map(ZS),o=[n.x_scaling,n.y_scaling,n.z_scaling];return t.translate(r).rotateXYZ(s).scale(o)}class CX{constructor(t){this.db=t,this.createGraph()}createGraph(){this.graph=new dq.DirectedGraph;const t=this.db.store;t.forSubjects(t=>{this.addNode(t.id,"SpatialObjectReference")},uX.type,pX.SpatialObjectReference,null),t.forSubjects(t=>{this.addNode(t.id,"SpatialEntity")},uX.type,pX.SpatialEntity,null);const e={};for(const n of(0,aq.readQuads)(t,null,pX.spatialPlacement.source,null,null))e[n.subject.id]=n.object.id;for(const n of(0,aq.readQuads)(t,null,pX.spatialPlacement.target,null,null)){const t=e[n.subject.id];t&&this.addEdge(n.subject.id,t,n.object.id,"SpatialPlacement")}}addNode(t,e){this.graph.mergeNode(t,{type:e})}addEdge(t,e,n,i){this.graph.mergeDirectedEdge(e,n,{type:i,id:t})}getTransformationMatrix(t,e){if(t===e)return new VT(VT.IDENTITY);if(!this.graph.hasNode(t)||!this.graph.hasNode(e))return;const n=this.db.store,i=new VT(VT.IDENTITY),r=fq()(this.graph,t,e);if(r&&r.length>0){r.reverse();let t="";for(const e of r)t&&SX(i,xX(n,this.graph.getEdgeAttribute(e,t,"id"))),t=e;return i}}getSpatialPlacement(t,e){const n=this.graph.hasNode(t["@id"])?t["@id"]:void 0,i=(0,gq.get)(t,"placement[0]",(0,gq.get)(t,"placement",void 0));let r;if(i&&this.graph.hasNode(i.target)?(r=this.getTransformationMatrix(i.target,e),r&&(r=SX(r,i))):n&&(r=this.getTransformationMatrix(n,e)),r){const n=(new uq).fromRotationMatrix(r,uq.XYZ),i=r.getTranslation().map(t=>1e3*t),s=n.toVector3().map(JS),o=r.getScale().map(t=>t<1&&t>.999999?1:t);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${xq()}_placement`,"@type":"SpatialPlacement",source:t["@id"],target:e,placement_date:(new Date).toISOString().split("T")[0],x_scaling:o[0],y_scaling:o[1],z_scaling:o[2],scaling_units:"ratio",x_rotation:s[0],y_rotation:s[1],z_rotation:s[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:i[0],y_translation:i[1],z_translation:i[2],translation_units:"millimeter"}}}}class EX{constructor(t){this.db=t}getSpatialEntity(t){return wX(this.db.store,t)}getExtractionSets(t){return function(t,e){return(0,gq.sortBy)(t.getSubjects(pX.spatialEntity.extraction_set_for,e,null).map(e=>_X(t,e.id)),["rui_rank"])}(this.db.store,t)}getExtractionSet(t){return _X(this.db.store,t)}getAnatomicalStructures(t){return function(t,e){return(0,gq.sortBy)(t.getSubjects(pX.spatialEntity.reference_organ,e,null).map(e=>wX(t,e.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,t)}getReferenceOrgans(){return function(t){const e=[];return t.forEach(n=>{n.subject.id===n.object.id&&e.push(wX(t,n.subject.id))},null,pX.spatialEntity.reference_organ,null,null),(0,gq.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(t){let e;switch(null==t?void 0:t.sex){case"Male":e=pX.spatial.Male.id;break;case"Female":e=pX.spatial.Female.id;break;case"Both":default:e=pX.spatial.BothSexes.id}return this.getSpatialEntity(e)}getReferenceOrganSets(t){let e=this.getReferenceOrgans();switch(null==t?void 0:t.sex){case"Male":e=e.filter(t=>"Male"===t.sex);break;case"Female":e=e.filter(t=>"Female"===t.sex)}return(null==t?void 0:t.debug)&&(e=e.map(t=>[[t],this.getAnatomicalStructures(t["@id"])]).reduce((t,[e,n])=>t.concat(n.length>0?n:e),[])),e}getReferenceSceneNodes(t){const e=this.getReferenceBody(t),n=[];let i=[...this.getReferenceOrganSets(t).map(t=>{const i="http://purl.obolibrary.org/obo/UBERON_0002097"===t.representation_of,r=this.getSceneNode(t,e,{color:[255,255,255,255],opacity:i?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!i});return i&&r?void n.push(r):r})];return n.length>0&&(i=[...n,...i]),(null==t?void 0:t.debug)&&(i=i.concat([this.getSceneNode(this.getSpatialEntity(pX.base("VHRightKidney").id),e,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(pX.base("VHLeftKidney").id),e,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(pX.base("VHSpleenCC1").id),e,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(pX.base("VHSpleenCC2").id),e,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(pX.base("VHSpleenCC3").id),e,{color:[0,255,0,127.5],geometry:"wireframe"})])),i.filter(t=>void 0!==t)}getReferenceOrganScene(t,e){var n,i;const r=void 0!==(null==e?void 0:e.sex)&&"both"!==(null===(n=null==e?void 0:e.sex)||void 0===n?void 0:n.toLowerCase()),s=this.getReferenceOrgans().filter(n=>n.representation_of===t&&(!r||n.sex===(null==e?void 0:e.sex)));if(s.length>0){const t=s[0],n=this.getSceneNode(t,t,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===t.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),r=(null!==(i=this.db.getSpatialEntities(e))&&void 0!==i?i:[]).map(e=>this.getSceneNode(e,t,{color:[255,255,255,229.5]}));return[n].concat(r).filter(t=>void 0!==t)}return[]}getEntitySceneNodes(t){const e=this.getReferenceBody(t);return this.db.getSpatialEntities(t).map(t=>this.getSceneNode(t,e,{color:[255,255,255,229.5]})).filter(t=>void 0!==t)}getSceneNode(t,e,n={}){var i,r,s,o;const a=null===(r=null===(i=null==t?void 0:t.object)||void 0===i?void 0:i.file_format)||void 0===r?void 0:r.startsWith("model/gltf");let l=this.db.graph.getTransformationMatrix(a&&t.object?t.object["@id"]:t["@id"],e["@id"]);if(l){if(a)l=new VT(VT.IDENTITY).rotateX(ZS(90)).multiplyLeft(l);else{let e;switch(t.dimension_units){case"centimeter":e=.01;break;case"millimeter":e=.001;break;case"meter":default:e=1}const n=[t.x_dimension,t.y_dimension,t.z_dimension].map(t=>t*e/2);l.scale(n)}return Object.assign({"@id":t["@id"],"@type":"SpatialSceneNode",entityId:t.entityId,ccf_annotations:t.ccf_annotations,representation_of:t.representation_of,reference_organ:t.reference_organ,scenegraph:a?null===(s=t.object)||void 0===s?void 0:s.file:void 0,scenegraphNode:a?null===(o=t.object)||void 0===o?void 0:o.file_subpath:void 0,transformMatrix:l,tooltip:t.label},n)}}getScene(t){return[...this.getReferenceSceneNodes(t),...this.getEntitySceneNodes(t)]}}const OX="https://entity.api.hubmapconsortium.org/entities/",TX=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),kX={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},PX={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},AX="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld";class MX{constructor(t,e="",n="",i){var r,s;if(this.data=t,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const o=this.data.descendants||[],a=(this.data.ancestors||[]).find(t=>"Donor"===t.entity_type);this.donor=this.getDonor(a,n);const l=this.getRuiLocation(t,this.donor);l?this.rui_location=l:this.bad=!0,PX[t.group_uuid]||(PX[t.group_uuid]=t.group_name);const c=new Date(t.last_modified_timestamp).toLocaleDateString(),u=PX[t.group_uuid]||t.group_name,h=t.created_by_user_displayname;this["@id"]=OX+t.uuid,this.label=`Registered ${c}, ${h}, ${u}`,this.link=`${n}browse/sample/${t.uuid}`;const d={},p=[];this.sections=p;const f=[];this.datasets=f;for(const v of o.filter(t=>"Sample"===t.entity_type)){const e=this.getSection(v,t,n);d[v.submission_id]=e,p.push(e),e.section_number=null!==(r=e.section_number)&&void 0!==r?r:p.length}for(const v of o)if("Dataset"===v.entity_type){const t=this.getDataset(v,e,n,i),r=(0,gq.get)(v,["ingest_metadata","metadata","tissue_id"]);d[r]?null===(s=d[r].datasets)||void 0===s||s.push(t):f.push(t)}const g=null!=l?l:{},m=`${g.x_dimension} x ${g.y_dimension} x ${g.z_dimension} ${g.dimension_units}`;this.section_count=g.slice_count||p.length;const b=parseFloat((g.slice_thickness||(g.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=b;const y=g.dimension_units||"millimeter";this.section_units=y,this.description=`${m}, ${b} ${y}, ${this.section_count} Sections`,p.forEach((t,e)=>{t.description=`${g.x_dimension} x ${g.y_dimension} x ${b} ${y}, ${b} ${y}, ${t.description}`,t.section_number=e+1})}getSection(t,e,n){const i=new Date(t.last_modified_timestamp).toLocaleDateString();return{"@id":OX+t.uuid,"@type":"Sample",label:`Registered ${i}, ${t.created_by_user_displayname}, ${PX[t.group_uuid]||t.group_name}`,description:`${e.sample_category}`,link:`${n}browse/sample/${t.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(t,e="",n="",i){var r;const s=new Date(t.last_modified_timestamp).toLocaleDateString(),o=PX[t.group_uuid]||t.group_name,a=t.created_by_user_displayname,l=[...t.data_types,(0,gq.get)(t,["ingest_metadata","metadata","assay_type"],"")],c=l.join("|").toLowerCase();let u,h="assets/icons/ico-unknown.svg";return-1!==c.indexOf("10x")?(u="10x",h="assets/icons/ico-bulk-10x.svg"):-1!==c.indexOf("af")?(u="AF",h="assets/icons/ico-spatial-af.svg"):-1!==c.indexOf("codex")?(u="CODEX",h="assets/icons/ico-spatial-codex.svg"):-1!==c.indexOf("imc")?(u="IMC",h="assets/icons/ico-spatial-imc.svg"):-1!==c.indexOf("lc")&&-1===c.indexOf("af")?(u="LC",h="assets/icons/ico-bulk-lc.svg"):u=-1!==c.indexOf("maldi")?"MALDI":-1!==c.indexOf("pas")?"PAS":"OTHER",h=null!==(r=this.getDatasetThumbnail(t,e,i))&&void 0!==r?r:h,{"@id":OX+t.uuid,"@type":"Dataset",label:`Registered ${s}, ${a}, ${o}`,description:`Data/Assay Types: ${l.join(", ")}`,link:`${n}browse/dataset/${t.uuid}`,technology:u,thumbnail:h}}getDatasetThumbnail(t,e,n){if(t.thumbnail_file){const i=t.thumbnail_file;return`${e}/${i.file_uuid}/${i.filename}`+(n?`?token=${n}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===t.group_uuid){const i=(0,gq.get)(t,"metadata.files",[]).filter(t=>/\.(ome\.tif|ome\.tiff)$/.test(t.rel_path)).filter(t=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(t.rel_path)).filter(t=>TX.has(t.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(i=>`${e}/${t.uuid}/${i.rel_path}`+(n?`?token=${n}`:""));if(i.length>0){const t=i[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(TX.has(t))return`assets/thumbnails/TMC-Vanderbilt/DR1/${t}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===t.group_uuid){const e=kX[t.hubmap_id];if(e)return`assets/thumbnails/TMC-Florida/${e}`}}getDonor(t,e){const n=(t.description||"").toLowerCase();let i;n.includes("female")?i="Female":n.includes("male")&&(i="Male");const r=n.match(/age ([0-9]+)/);let s,o;r&&(s=(0,gq.toNumber)(r[1]));for(const u of(0,gq.get)(t,"metadata.organ_donor_data",(0,gq.get)(t,"metadata.living_donor_data",[])))"Feminine gender"===u.preferred_term||"Female"===u.preferred_term?i="Female":"Masculine gender"===u.preferred_term||"Male"===u.preferred_term?i="Male":"Current chronological age"===u.preferred_term||"Age"===u.preferred_term?s=(0,gq.toNumber)(u.data_value):"Body mass index"===u.preferred_term&&(o=(0,gq.toNumber)(u.data_value));let a="";i&&s&&(a+=`${i}, Age ${s}`,o&&(a+=`, BMI ${o.toFixed(1)}`));const l=new Date(t.last_modified_timestamp).toLocaleDateString(),c=PX[t.group_uuid]||t.group_name;return{"@id":OX+t.uuid,"@type":"Donor",label:a,description:`Entered ${l}, ${t.created_by_user_displayname}, ${c}`,link:`${e}browse/donor/${t.uuid}`,age:s,sex:i,bmi:o,consortium_name:"HuBMAP",provider_name:c,provider_uuid:t.group_uuid,samples:[]}}getRuiLocation(t,e){var n;let i,r=t.rui_location;if(r&&("string"==typeof r&&(r=JSON.parse(r)),r.alignment_id?console.log("Detected a deprecated rui_location",t.uuid):r["@id"]&&(i=r),r["@context"]="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"),i){const t=null!==(n=(0,gq.get)(i,["placement","target"]))&&void 0!==n?n:"";t.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,gq.set)(i,["placement","target"],t.replace("#VHSpleenCC","Male"===e.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===t||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===t)&&(0,gq.set)(i,["placement","target"],"Male"===e.sex?t.replace("#VH","#VHM")+"_Patch":t.replace("#VH","#VHF")+"_Patch")}return i}getTissueBlock(){return(0,gq.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const IX=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.metadata.living_donor_data.preferred_term","ancestors.metadata.living_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","sample_category"],DX={exists:{field:"rui_location"}};function RX(t,e,n){return JSON.stringify({version:!0,from:t,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=n?n:DX,_source:{includes:IX}})}function NX(t,e){return xw(this,void 0,void 0,function*(){try{const n=yield fetch(t,e),i=yield n.text();return n.ok||i.startsWith("https")?i.startsWith("https")?yield fetch(i).then(t=>t.json()):JSON.parse(i):void 0}catch(n){return}})}function LX(t,e,n,i,r="",s=""){return xw(this,void 0,void 0,function*(){let o;if("static"===e?o=yield NX(t):"search-api"===e&&(o=yield function(t,e,n){return xw(this,void 0,void 0,function*(){const i=1e4,r=function(t){const e=new Headers;return e.append("Content-type","application/json"),t&&e.append("Authorization",`Bearer ${t}`),e}(e),s=RX(0,i,n),o=yield NX(t,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let e=i;e!t))return;const u=c.map(t=>t.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(t,i,n)),o)return function(t,e="",n="",i,r=!1){const s={},o=(0,gq.get)(t,"hits.hits",[]).map(t=>(0,gq.get)(t,"_source",{})).sort((t,e)=>t.uuid.localeCompare(e.uuid)).map(t=>new MX(t,e,n,i).toJsonLd());for(const l of o){const t=l["@id"];s[t]?s[t].samples.push(l.samples[0]):s[t]=l}const a=Object.values(s);return r&&(function(t){let e=[],n=0;for(const i of t.filter(t=>t.samples.length>1)){const t=i.samples;for(let i=0;it["@id"]===r)&&(t[i].deleteMe=!0,n++)}i.samples=t.filter(t=>!0!==t.deleteMe)}n>0&&console.log(`\u26a0 ${n} sections identified as blocks`)}(a),console.log(a.map(t=>Object.assign({"@context":AX},t)))),{"@context":AX,"@graph":a}}(o,r,s,i);console.warn(`Unable to load ${t} as HuBMAP Data`)})}function jX(t,e,n){const i=new Set;for(const r of e)for(const e of(0,aq.readQuads)(t,r,n,null,null))i.add(e.object.id);return i}const FX={[pX.spatialEntity.x_dimension.id]:"x",[pX.spatialEntity.y_dimension.id]:"y",[pX.spatialEntity.z_dimension.id]:"z"};function BX(t,e,n,i){const r=e.getTransformationMatrix(n,i);let s;if(r){const e=r.getTranslation(),i=function(t,e){const n=lX(t,e,"Dimensions",FX);return[n.x,n.y,n.z]}(t,n).map(t=>t/1e3/2),o=(new uq).fromRotationMatrix(r,uq.XYZ).toQuaternion().normalize().calculateW();s=(new iX).fromCenterHalfSizeQuaternion(e,i,o)}return s}function VX(t,e,n,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of n){const n=BX(t,e,h,l);n&&n.distanceSquaredTo([r,s,o].map(t=>t/1e3))<=u&&c.add(h)}return c}function zX(t,e,n){var i,r;const s=new Map,o=new Set;for(const c of e)for(const e of(0,aq.readQuads)(t,c,dX.donor,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(c):s.set(e.object.id,[c]);const a=n(o),l=new Set;for(const c of a)for(const t of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(t);return l}function UX(t,e,n){var i,r;const s=new Map,o=new Set;for(const c of e)for(const e of(0,aq.readQuads)(t,c,dX.spatialEntity,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(c):s.set(e.object.id,[c]);const a=n(o),l=new Set;for(const c of a)for(const t of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(t);return l}function HX(t,e){return function(n){t.has(n.id)&&e.add(n.id)}}function $X(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.namedNode(r);t.forSubjects(HX(e,i),pX.spatialEntity.ccf_annotations,n,null)}return i}function GX(t,e){const n=function(t,e){const n=new Map;for(const i of t)for(const t of(0,aq.readQuads)(e,i,dX.spatialEntity,null,null))n.has(t.object.id)?n.get(t.object.id).add(i):n.set(t.object.id,new Set([i]));return n}(t,e),i=new Map;for(const r of n.keys()){const t=n.get(r);for(const n of(0,aq.readQuads)(e,r,pX.spatialEntity.ccf_annotations,null,null))if(i.has(n.object.id)){const e=i.get(n.object.id);t.forEach(t=>e.add(t))}else i.set(n.object.id,new Set(t))}return i}function WX(t,e,n){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[pX.ontologyNode.label.id]:"label",[n]:"parent",[pX.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of aX(t,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=t.getSubjects(n,e,null).map(t=>t.id),i}function qX(t,e,n,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,aq.readQuads)(t,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=WX(t,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:n,children:[],synonymLabels:[]});const o=t.getSubjects(i,e,null).map(t=>t.id).sort((t,e)=>r.nodes[t].label.localeCompare(r.nodes[e].label));return r.nodes[e].children=o,XX(r),r}function XX(t,e,n=new Set){const i=t.nodes[null!=e?e:t.root];if(i){i.children=i.children.filter(t=>!n.has(t)),i.children.forEach(t=>n.add(t));for(const e of i.children)XX(t,e,n),t.nodes[e]&&(t.nodes[e].parent=i["@id"])}}const YX=(0,gq.memoize)(function(t){const e=qX(t,bX.body.id,"body",pX.asctb.part_of.id);return e.nodes[bX.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),KX={[dX.label.id]:"label",[dX.description.id]:"description",[dX.link.id]:"link"},QX=Object.assign(Object.assign({},KX),{[dX.providerName.id]:"providerName"}),ZX=Object.assign(Object.assign({},KX),{[dX.technology.id]:"technology",[dX.thumbnail.id]:"thumbnail"}),JX=Object.assign(Object.assign({},KX),{[dX.sampleType.id]:"sampleType",[dX.sectionNumber.id]:"sectionNumber",[dX.datasets.id]:"datasets"}),tY=Object.assign(Object.assign({},KX),{[dX.sampleType.id]:"sampleType",[dX.sectionCount.id]:"sectionCount",[dX.sectionSize.id]:"sectionSize",[dX.sectionUnits.id]:"sectionUnits",[dX.donor.id]:"donor",[dX.spatialEntity.id]:"spatialEntityId",[dX.sections.id]:"sections",[dX.datasets.id]:"datasets"});function eY(t,e){return lX(t,e,"Donor",QX)}function nY(t,e){return lX(t,e,"Dataset",ZX)}function iY(t,e){const n={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of aX(t,e,JX))if("datasets"===i){const e=nY(t,r);n[i].push(e)}else n[i]=r;return n}class rY{constructor(t){this.database=t,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const t=Date.now();return this.database.connect().then(t=>xw(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var e;this.status="Error",this.message=null!==(e=null==t?void 0:t.message)&&void 0!==e?e:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-t})}}const sY={"@context":{"@base":"http://purl.org/ccf/","@vocab":"http://purl.org/ccf/",ccf:"http://purl.org/ccf/",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dcterms:"http://purl.org/dc/terms/",label:"rdfs:label",description:"rdfs:comment",link:"ccf:url",sex:"ccf:sex",age:"ccf:age",bmi:"ccf:bmi",consortium_name:"ccf:consortium_name",provider_name:"ccf:tissue_provider_name",provider_uuid:"ccf:tissue_provider_uuid",donor:{"@id":"ccf:comes_from","@type":"@id"},samples:{"@reverse":"donor"},sections:{"@id":"ccf:subdivided_into_sections","@type":"@id"},datasets:{"@id":"ccf:generates_dataset","@type":"@id"},sample_type:"ccf:sample_type",section_count:"ccf:section_count",section_size:"ccf:section_size",section_units:"ccf:section_size_unit",section_number:"ccf:section_number",rui_location:{"@id":"ccf:has_registration_location","@type":"@id"},ccf_annotations:{"@id":"ccf:collides_with","@type":"@id","@container":"@set"},representation_of:{"@id":"ccf:representation_of","@type":"@id"},reference_organ:{"@id":"ccf:has_reference_organ","@type":"@id"},extraction_set_for:{"@id":"ccf:extraction_set_for","@type":"@id"},extraction_set:{"@id":"ccf:has_extraction_set","@type":"@id"},organ_owner_sex:"ccf:organ_owner_sex",side:"ccf:organ_side",rui_rank:"ccf:rui_rank",slice_thickness:"ccf:slice_thickness",slice_count:"ccf:slice_count",object:{"@id":"ccf:has_object_reference","@type":"@id"},creation_date:"dcterms:created",updated_date:"ccf:updated_date",creator:"dcterms:creator",creator_first_name:"ccf:creator_first_name",creator_last_name:"ccf:creator_last_name",placement:{"@reverse":"ccf:placement_for"},placement_date:"dcterms:created",rotation_order:"ccf:rotation_order",dimension_units:"ccf:dimension_unit",rotation_units:"ccf:rotation_unit",scaling_units:"ccf:scaling_unit",translation_units:"ccf:translation_unit",source:{"@id":"ccf:placement_for","@type":"@id"},target:{"@id":"ccf:placement_relative_to","@type":"@id"},x_rotation:"ccf:x_rotation",y_rotation:"ccf:y_rotation",z_rotation:"ccf:z_rotation",x_scaling:"ccf:x_scaling",y_scaling:"ccf:y_scaling",z_scaling:"ccf:z_scaling",x_translation:"ccf:x_translation",y_translation:"ccf:y_translation",z_translation:"ccf:z_translation",x_dimension:"ccf:x_dimension",y_dimension:"ccf:y_dimension",z_dimension:"ccf:z_dimension",ontology_terms:{"@id":"ccf:has_ontology_term","@type":"@id"},technology:"ccf:technology",thumbnail:"ccf:thumbnail",file:"ccf:file_url",file_format:"ccf:file_format",file_subpath:"ccf:file_subpath"}};function oY(t){return JSON.parse(t,(t,e)=>"ccf_annotations"===t&&Array.isArray(e)?e.map(t=>(null==t?void 0:t.startsWith("http://purl.obolibrary.org/obo/FMA_"))?t.replace("http://purl.obolibrary.org/obo/FMA_","http://purl.org/sig/ont/fma/fma"):t):"@context"!==t||!e||"https://hubmapconsortium.github.io/hubmap-ontology/ccf-entity-context.jsonld"!==e&&"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld"!==e&&"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"!==e&&"http://purl.org/ccf/latest/ccf-entity.owl#"!==e["@base"]?e:sY)}const aY={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class lY{constructor(t=aY){this.options=t,this.store=new aq.Store(void 0,{factory:aq.DataFactory}),this.graph=new CX(this),this.scene=new EX(this)}connect(t,e=!1){return xw(this,void 0,void 0,function*(){return t&&(this.options=t),this.initializing||(this.initializing=e?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return xw(this,void 0,void 0,function*(){const t=(new Date).getTime(),e="ccf-database.last_modified",n="ccf-database",i=yield oq(e).catch(()=>{});let r;i&&t-new Date(+i).getTime()>36e5?yield function(t,e=sq()){return e("readwrite",e=>(t.forEach(t=>e.delete(t)),iq(e.transaction)))}([n,e]).catch(()=>{}):r=yield oq(n).catch(()=>{}),r?yield this.deserialize(r):(yield this.doConnect(),function(t,e=sq()){return e("readwrite",e=>(t.forEach(t=>e.put(t[1],t[0])),iq(e.transaction)))}([[n,this.serialize()],[e,""+t]]).catch(()=>{}))})}doConnect(){var t,e;return xw(this,void 0,void 0,function*(){const n=[],i=null!==(e=null===(t=this.options.dataSources)||void 0===t?void 0:t.concat())&&void 0!==e?e:[],r=this.options.ccfOwlUrl;if(r.startsWith("{"))this.store=(0,aq.deserializeN3Store)(r,aq.DataFactory);else if(r.endsWith(".n3store.json")){const t=yield fetch(r).then(t=>t.text()).catch(()=>console.log("Couldn't locate serialized store."));t&&(this.store=(0,aq.deserializeN3Store)(t,aq.DataFactory))}else(null==r?void 0:r.length)>0&&i.push(r);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?i.push(this.options.hubmapDataUrl):n.push(LX(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(t=>{if(t)return this.addDataSources([t])}))),n.push(this.addDataSources(i)),yield Promise.all(n),yield this.synchronize()})}addDataSources(t,e){return xw(this,void 0,void 0,function*(){const n=null!=e?e:this.store;return yield Promise.all(t.map(t=>xw(this,void 0,void 0,function*(){"string"==typeof t?(t.startsWith("http")||t.startsWith("assets/"))&&t.includes("jsonld")?(t=oY(t=yield fetch(t).then(t=>t.text())),yield(0,aq.addJsonLdToStore)(t,n)):t.endsWith("n3")?yield(0,aq.addN3ToStore)(t,n):t.endsWith("rdf")||t.endsWith("owl")||t.endsWith("xml")?yield(0,aq.addRdfXmlToStore)(t,n):(t=oY(t),yield(0,aq.addJsonLdToStore)(t,n)):(t=oY(JSON.stringify(t)),yield(0,aq.addJsonLdToStore)(t,n))}))),this})}synchronize(){return xw(this,void 0,void 0,function*(){return yield new Promise(t=>{setTimeout(t,500)}),this.graph.createGraph(),function(t){var e,n,i;const r=YX(t),s=new Map;for(const{subject:o,object:a}of(0,aq.readQuads)(t,null,pX.spatialEntity.representation_of,null,null)){const t=new Set([a.id]);let i=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;i&&!t.has(i);)t.add(i),i=null===(n=r.nodes[i])||void 0===n?void 0:n.parent;s.set(o.id,[...t].map(t=>aq.DataFactory.namedNode(t)))}for(const{object:o}of(0,aq.readQuads)(t,null,dX.spatialEntity,null,null))for(const{subject:e}of(0,aq.readQuads)(t,null,pX.spatialPlacement.source,o,null))for(const{object:n}of(0,aq.readQuads)(t,e,pX.spatialPlacement.target,null,null))for(const e of null!==(i=s.get(n.id))&&void 0!==i?i:[])t.addQuad(aq.DataFactory.namedNode(o.id),pX.spatialEntity.ccf_annotations,e)}(this.store),this})}serialize(){return(0,aq.serializeN3Store)(this.store)}deserialize(t){return xw(this,void 0,void 0,function*(){this.store=(0,aq.deserializeN3Store)(t,aq.DataFactory),this.graph=new CX(this),this.scene=new EX(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(t={}){return function(t,e,n){var i,r,s,o,a,l,c;let u=function(t){const e=new Set;return t.forSubjects(t=>e.add(t.id),dX.spatialEntity,null,null),e}(t);if(u.size>0&&(u=function(t,e,n=!0){const i=new Set;if(t.forSubjects(HX(e,i),dX.spatialEntity,null,null),!n){const t=new Set;return e.forEach(e=>i.has(e)?void 0:t.add(e)),t}return i}(t,u)),u.size>0&&("Male"===n.sex||"Female"===n.sex)){const e=n.sex;u=zX(t,u,n=>function(t,e,n){const i=new Set;return t.forSubjects(HX(e,i),dX.sex,dX[n],null),i}(t,n,e))}if(u.size>0&&(null===(i=n.tmc)||void 0===i?void 0:i.length)>0&&(u=zX(t,u,e=>function(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.literal(r);t.forSubjects(HX(e,i),dX.providerName,n,null)}return i}(t,e,n.tmc))),u.size>0&&(null===(r=n.technologies)||void 0===r?void 0:r.length)>0&&(u=function(t,e,n){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const e of(0,aq.readQuads)(t,u,dX.sections,null,null))a.add(e.object.id);for(const u of a)for(const e of(0,aq.readQuads)(t,u,dX.datasets,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(u):s.set(e.object.id,[u]);const l=n(o),c=new Set;for(const u of l)for(const t of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(t);return c}(t,u,e=>function(t,e,n){const i=new Set;for(const r of n){const n=aq.DataFactory.literal(r);t.forSubjects(HX(e,i),dX.technology,n,null)}return i}(t,e,n.technologies))),u.size>0&&(null===(s=n.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=UX(t,u,i=>function(t,e,n,i){const r=new Set;for(const s of i)VX(t,e,n,s).forEach(t=>r.add(t));return r}(t,e,i,n.spatialSearches))),u.size>0&&(null===(o=n.ontologyTerms)||void 0===o?void 0:o.length)>0){const e=n.ontologyTerms;-1===e.indexOf(bX.body.id)&&(u=UX(t,u,n=>$X(t,n,e)))}if(u.size>0&&(null===(a=n.cellTypeTerms)||void 0===a?void 0:a.length)>0){const e=n.cellTypeTerms;-1===e.indexOf(bX.cell.id)&&(u=UX(t,u,n=>function(t,e,n){const i=new Set;for(const r of n)t.forObjects(t=>{i.add(t.id)},r,pX.asctb.located_in,null),r===bX.cell.id&&i.add(bX.body.id);return $X(t,e,[...i])}(t,n,e)))}if(u.size>0&&2===(null===(l=n.ageRange)||void 0===l?void 0:l.length)&&(0,gq.isFinite)(n.ageRange[0])&&(0,gq.isFinite)(n.ageRange[1])){const e=Math.max(...n.ageRange),i=Math.min(...n.ageRange);1===i&&110===e||(u=zX(t,u,n=>function(t,e,n,i){const r=new Set;for(const s of e)for(const e of(0,aq.readQuads)(t,s,dX.age,null,null)){const t=(0,Sq.fromRdf)(e.object);t>=n&&t<=i&&r.add(s)}return r}(t,n,i,e)))}if(u.size>0&&2===(null===(c=n.bmiRange)||void 0===c?void 0:c.length)&&(0,gq.isFinite)(n.bmiRange[0])&&(0,gq.isFinite)(n.bmiRange[1])){const e=Math.max(...n.bmiRange),i=Math.min(...n.bmiRange);13===i&&83===e||(u=zX(t,u,n=>function(t,e,n,i){const r=new Set;for(const s of e)for(const e of(0,aq.readQuads)(t,s,dX.bmi,null,null)){const t=(0,Sq.fromRdf)(e.object);t>=n&&t<=i&&r.add(s)}return r}(t,n,i,e)))}return u}(this.store,this.graph,t)}get(t){return this.store.getQuads(aq.DataFactory.namedNode(t),null,null,null)}search(t={}){return[...this.getIds(t)].map(t=>this.get(t))}getSpatialEntities(t){return t=Object.assign(Object.assign({},t),{hasSpatialEntity:!0}),[...this.getIds(t)].map(t=>function(t,e){const n=t.getObjects(aq.DataFactory.namedNode(e),dX.spatialEntity,null);if(n.length>0)return wX(t,n[0].id)}(this.store,t))}getDatabaseStatus(){return xw(this,void 0,void 0,function*(){return this.status||(this.status=new rY(this)),this.status.toJson()})}getDatasetTechnologyNames(){return xw(this,void 0,void 0,function*(){return function(t){const e=new Set;for(const n of(0,aq.readQuads)(t,null,dX.technology,null,null))e.add(n.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return xw(this,void 0,void 0,function*(){return function(t){const e=new Set;for(const n of(0,aq.readQuads)(t,null,dX.providerName,null,null))e.add(n.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(t){return xw(this,void 0,void 0,function*(){return t=Object.assign(Object.assign({},t),{hasSpatialEntity:!0}),[...this.getIds(t)].map(t=>function(t,e){const n={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of aX(t,e,tY))if("sections"===i){const e=iY(t,r);n[i].push(e)}else if("datasets"===i){const e=nY(t,r);n[i].push(e)}else n[i]="donor"===i?eY(t,r):r;return n}(this.store,t))})}getAggregateResults(t){return xw(this,void 0,void 0,function*(){return function(t,e){const n=jX(e,t,dX.donor.id),i=jX(e,n,dX.providerUUID.id),r=new Set;for(const a of t)for(const t of(0,aq.readQuads)(e,a,dX.spatialEntity,null,null))r.add(t.subject.id);const s=jX(e,r,dX.sections.id),o=new Set([...jX(e,r,dX.datasets.id),...jX(e,s,dX.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:n.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([t,e])=>({label:t,count:e}))}(this.getIds(t),this.store)})}getOntologyTermOccurences(t){return xw(this,void 0,void 0,function*(){return function(t,e){const n={};return GX(t,e).forEach((t,e)=>{n[e]=t.size}),n}(this.getIds(t),this.store)})}getCellTypeTermOccurences(t){return xw(this,void 0,void 0,function*(){return function(t,e){var n,i;const r=GX(t,e),s=new Map;for(const a of r.keys()){const t=r.get(a);for(const n of(0,aq.readQuads)(e,null,pX.asctb.located_in,a,null)){const e=n.subject.id;if(s.has(e)){const n=s.get(e);t.forEach(t=>n.add(t))}else s.set(e,new Set(t))}}const o={};return s.forEach((t,e)=>{o[e]=t.size}),o[bX.cell.id]=null!==(i=null===(n=r.get(bX.body.id))||void 0===n?void 0:n.size)&&void 0!==i?i:0,o}(this.getIds(t),this.store)})}getOntologyTreeModel(){return xw(this,void 0,void 0,function*(){return YX(this.store)})}getCellTypeTreeModel(){return xw(this,void 0,void 0,function*(){return function(t){return qX(t,bX.cell.id,"cell",pX.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return xw(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(t){return xw(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(t)})}getReferenceOrganScene(t,e){return xw(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(t,e)})}getSpatialPlacement(t,e){return xw(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(t,e)})}}const cY=[240,183,98,255],uY=[213,0,0,255],hY=[29,204,101,255],dY=[41,121,255,255],pY=[204,204,204,255],fY=[213,0,0,255],gY=[29,204,101,255],mY=[41,121,255,255];function bY(t,e=!1){const n=t.x_dimension/1e3,i=t.y_dimension/1e3,r=t.z_dimension/1e3,s=.05*Math.max(n,i,r),o=.1*s;return[{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginSphere","@type":"SpatialSceneNode",unpickable:!0,geometry:"sphere",transformMatrix:new VT(VT.IDENTITY).scale(s),color:pY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginX","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([n/2,0,0]).rotateZ(ZS(-90)).scale([o,n,o]),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([n,0,0]).rotateZ(ZS(-90)).scale([s,3*s,s]),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new VT(VT.IDENTITY).translate([2*-s,0,0]).scale(s),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new VT(VT.IDENTITY).translate([n+2*s,0,0]).scale(s),color:fY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginY","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([0,i/2,0]).scale([o,i,o]),color:gY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([0,i,0]).scale([s,3*s,s]),color:gY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new VT(VT.IDENTITY).translate([1.5*s,1.5*s,0]).scale(s),color:gY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new VT(VT.IDENTITY).translate([0,i+2*s,0]).scale(s),color:gY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r/2]).rotateX(ZS(90)).scale([o,r,o]),color:mY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r]).rotateX(ZS(90)).scale([s,3*s,s]),color:mY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new VT(VT.IDENTITY).translate([1.5*s,1.5*-s,0]).scale(s),color:mY},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r+2*s]).scale(s),color:mY}].filter(t=>e&&"text"===t.geometry&&t.text||!t.text)}const yY=Symbol("Comlink.proxy"),vY=Symbol("Comlink.endpoint"),_Y=Symbol("Comlink.releaseProxy"),wY=Symbol("Comlink.thrown"),xY=t=>"object"==typeof t&&null!==t||"function"==typeof t,SY=new Map([["proxy",{canHandle:t=>xY(t)&&t[yY],serialize(t){const{port1:e,port2:n}=new MessageChannel;return CY(t,e),[n,[n]]},deserialize:t=>(t.start(),OY(t))}],["throw",{canHandle:t=>xY(t)&&wY in t,serialize({value:t}){let e;return e=t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[e,[]]},deserialize(t){throw t.isError?Object.assign(new Error(t.value.message),t.value):t.value}}]]);function CY(t,e=self){e.addEventListener("message",function n(i){if(!i||!i.data)return;const{id:r,type:s,path:o}=Object.assign({path:[]},i.data),a=(i.data.argumentList||[]).map(DY);let l;try{const e=o.slice(0,-1).reduce((t,e)=>t[e],t),n=o.reduce((t,e)=>t[e],t);switch(s){case"GET":l=n;break;case"SET":e[o.slice(-1)[0]]=DY(i.data.value),l=!0;break;case"APPLY":l=n.apply(e,a);break;case"CONSTRUCT":l=function(t){return Object.assign(t,{[yY]:!0})}(new n(...a));break;case"ENDPOINT":{const{port1:e,port2:n}=new MessageChannel;CY(t,n),l=function(t,e){return MY.set(t,e),t}(e,[e])}break;case"RELEASE":l=void 0;break;default:return}}catch(c){l={value:c,[wY]:0}}Promise.resolve(l).catch(t=>({value:t,[wY]:0})).then(t=>{const[i,o]=IY(t);e.postMessage(Object.assign(Object.assign({},i),{id:r}),o),"RELEASE"===s&&(e.removeEventListener("message",n),EY(e))})}),e.start&&e.start()}function EY(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function OY(t,e){return kY(t,[],e)}function TY(t){if(t)throw new Error("Proxy has been released and is not useable")}function kY(t,e=[],n=function(){}){let i=!1;const r=new Proxy(n,{get(n,s){if(TY(i),s===_Y)return()=>RY(t,{type:"RELEASE",path:e.map(t=>t.toString())}).then(()=>{EY(t),i=!0});if("then"===s){if(0===e.length)return{then:()=>r};const n=RY(t,{type:"GET",path:e.map(t=>t.toString())}).then(DY);return n.then.bind(n)}return kY(t,[...e,s])},set(n,r,s){TY(i);const[o,a]=IY(s);return RY(t,{type:"SET",path:[...e,r].map(t=>t.toString()),value:o},a).then(DY)},apply(n,r,s){TY(i);const o=e[e.length-1];if(o===vY)return RY(t,{type:"ENDPOINT"}).then(DY);if("bind"===o)return kY(t,e.slice(0,-1));const[a,l]=AY(s);return RY(t,{type:"APPLY",path:e.map(t=>t.toString()),argumentList:a},l).then(DY)},construct(n,r){TY(i);const[s,o]=AY(r);return RY(t,{type:"CONSTRUCT",path:e.map(t=>t.toString()),argumentList:s},o).then(DY)}});return r}function PY(t){return Array.prototype.concat.apply([],t)}function AY(t){const e=t.map(IY);return[e.map(t=>t[0]),PY(e.map(t=>t[1]))]}const MY=new WeakMap;function IY(t){for(const[e,n]of SY)if(n.canHandle(t)){const[i,r]=n.serialize(t);return[{type:"HANDLER",name:e,value:i},r]}return[{type:"RAW",value:t},MY.get(t)||[]]}function DY(t){switch(t.type){case"HANDLER":return SY.get(t.name).deserialize(t.value);case"RAW":return t.value}}function RY(t,e,n){return new Promise(i=>{const r=new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-");t.addEventListener("message",function e(n){!n.data||!n.data.id||n.data.id!==r||(t.removeEventListener("message",e),i(n.data))}),t.start&&t.start(),t.postMessage(Object.assign({id:r},e),n)})}class NY extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}let LY=null;function jY(t){LY=t}function FY(){if(null===LY)throw new NY;return LY.get(qz)}function BY(){if(null===LY)throw new NY;return LY.get(Tu)}function VY(t,e,n){e.run(()=>t.dispatch(n))}function zY(t,e,n,i){return ha(n)?function(t,e,n){return n.then(n=>(VY(t,e,n),n))}(t,e,n):Gd(n)?function(t,e,n,i){return null!==i&&(n=n.pipe(rp(i.cancelUncompleted$))),n.subscribe({next:n=>VY(t,e,n)}),n}(t,e,n,i):(VY(t,e,n),n)}class UY{constructor(){this.cancelUncompleted$=new A}cancelPreviousAction(){this.cancelUncompleted$.next()}}const HY="\u0275fac",$Y=Symbol("InjectorInstance"),GY=Symbol("FactoryHasBeenDecorated");function WY(t,e){const n=t[$Y];return n?n.get(e):null}const qY={cancelUncompleted:!1};function XY(t=qY){return(e,n,i)=>{let r;const s=function(t){return t?new UY:null}(t.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const t=WY(this,qz)||FY(),e=WY(this,Tu)||BY(),n=r.apply(this,arguments);return e.runOutsideAngular(()=>zY(t,e,n,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,n,{set:t=>r=t,get:()=>o}),function(t){if(GY in t.constructor.prototype)return;const e=t.constructor;"function"==typeof e[HY]&&function(t){const e=t[HY];if("function"!=typeof e)return;const n=t.\u0275prov||t.\u0275pipe||t.\u0275cmp||t.\u0275dir,i=()=>{const t=e();return t[$Y]=ea(_o),t};n&&(n.factory=i),Object.defineProperty(t,HY,{get:()=>i})}(e),t.constructor.prototype[GY]=!0}(e)}}let YY=(()=>{class t{constructor(t){jY(t.injector),t.onDestroy(()=>{jY(null)})}static forRoot(){return{ngModule:t}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hc))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),KY=(()=>{class t{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(t){this._vertical=kd(t)}get inset(){return this._inset}set inset(t){this._inset=kd(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(t,e){2&t&&(Ko("aria-orientation",e.vertical?"vertical":"horizontal"),ja("mat-divider-vertical",e.vertical)("mat-divider-horizontal",!e.vertical)("mat-divider-inset",e.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(t,e){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),t})(),QY=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();const ZY=["*"],JY=[[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]],[["","mat-line",""],["","matLine",""]],"*"],tK=["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]","[mat-line], [matLine]","*"],eK=qy(Yy(class{})),nK=Yy(class{}),iK=new oi("MatList"),rK=new oi("MatNavList");let sK=(()=>{class t extends eK{constructor(t){super(),this._elementRef=t,this._stateChanges=new A,"action-list"===this._getListType()&&t.nativeElement.classList.add("mat-action-list")}_getListType(){const t=this._elementRef.nativeElement.nodeName.toLowerCase();return"mat-list"===t?"list":"mat-action-list"===t?"action-list":null}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al))},t.\u0275cmp=Jt({type:t,selectors:[["mat-list"],["mat-action-list"]],hostAttrs:[1,"mat-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matList"],features:[xl([{provide:iK,useExisting:t}]),jo,ye],ngContentSelectors:ZY,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:['.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n'],encapsulation:2,changeDetection:0}),t})(),oK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-list-avatar",""],["","matListAvatar",""]],hostAttrs:[1,"mat-list-avatar"]}),t})(),aK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-list-icon",""],["","matListIcon",""]],hostAttrs:[1,"mat-list-icon"]}),t})(),lK=(()=>{class t extends nK{constructor(t,e,n,i){super(),this._element=t,this._isInteractiveList=!1,this._destroyed=new A,this._disabled=!1,this._isInteractiveList=!!(n||i&&"action-list"===i._getListType()),this._list=n||i;const r=this._getHostElement();"button"===r.nodeName.toLowerCase()&&!r.hasAttribute("type")&&r.setAttribute("type","button"),this._list&&this._list._stateChanges.pipe(rp(this._destroyed)).subscribe(()=>{e.markForCheck()})}get disabled(){return this._disabled||!(!this._list||!this._list.disabled)}set disabled(t){this._disabled=kd(t)}ngAfterContentInit(){!function(t,e,n="mat"){t.changes.pipe(lp(t)).subscribe(({length:t})=>{tv(e,`${n}-2-line`,!1),tv(e,`${n}-3-line`,!1),tv(e,`${n}-multi-line`,!1),2===t||3===t?tv(e,`${n}-${t}-line`,!0):t>3&&tv(e,`${n}-multi-line`,!0)})}(this._lines,this._element)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_isRippleDisabled(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)}_getHostElement(){return this._element.nativeElement}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(rK,8),ea(iK,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,oK,5),Jc(n,aK,5),Jc(n,Jy,5)),2&t){let t;Qc(t=tu())&&(e._avatar=t.first),Qc(t=tu())&&(e._icon=t.first),Qc(t=tu())&&(e._lines=t)}},hostAttrs:[1,"mat-list-item","mat-focus-indicator"],hostVars:6,hostBindings:function(t,e){2&t&&ja("mat-list-item-disabled",e.disabled)("mat-list-item-avatar",e._avatar||e._icon)("mat-list-item-with-avatar",e._avatar||e._icon)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matListItem"],features:[jo],ngContentSelectors:tK,decls:6,vars:2,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-list-text"]],template:function(t,e){1&t&&(wa(JY),ra(0,"div",0),oa(1,"div",1),xa(2),ra(3,"div",2),xa(4,1),sa(),xa(5,2),sa()),2&t&&(ws(1),na("matRippleTrigger",e._getHostElement())("matRippleDisabled",e._isRippleDisabled()))},directives:[cv],encapsulation:2,changeDetection:0}),t})(),cK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[ev,uv,Wy,dv,Wh],ev,Wy,dv,QY]}),t})();const uK=["input"],hK=function(t){return{enterDuration:t}},dK=["*"],pK=new oi("mat-checkbox-default-options",{providedIn:"root",factory:fK});function fK(){return{color:"accent",clickAction:"check-indeterminate"}}let gK=0;const mK=fK(),bK={provide:aU,useExisting:pt(()=>_K),multi:!0};class yK{}const vK=Ky(Xy(Yy(qy(class{constructor(t){this._elementRef=t}}))));let _K=(()=>{class t extends vK{constructor(t,e,n,i,r,s,o){super(t),this._changeDetectorRef=e,this._focusMonitor=n,this._ngZone=i,this._animationMode=s,this._options=o,this.ariaLabel="",this.ariaLabelledby=null,this._uniqueId="mat-checkbox-"+ ++gK,this.id=this._uniqueId,this.labelPosition="after",this.name=null,this.change=new Bc,this.indeterminateChange=new Bc,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||mK,this.color=this.defaultColor=this._options.color||mK.color,this.tabIndex=parseInt(r)||0}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(t){this._required=kd(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{t||Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}ngAfterViewChecked(){}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}get checked(){return this._checked}set checked(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){const e=kd(t);e!==this.disabled&&(this._disabled=e,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(t){const e=t!=this._indeterminate;this._indeterminate=kd(t),e&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(t){this.checked=!!t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(t){let e=this._currentCheckState,n=this._elementRef.nativeElement;if(e!==t&&(this._currentAnimationClass.length>0&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(e,t),this._currentCheckState=t,this._currentAnimationClass.length>0)){n.classList.add(this._currentAnimationClass);const t=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{n.classList.remove(t)},1e3)})}}_emitChangeEvent(){const t=new yK;t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked}_onInputClick(t){var e;const n=null===(e=this._options)||void 0===e?void 0:e.clickAction;t.stopPropagation(),this.disabled||"noop"===n?!this.disabled&&"noop"===n&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==n&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}focus(t,e){t?this._focusMonitor.focusVia(this._inputElement,t,e):this._inputElement.nativeElement.focus(e)}_onInteractionEvent(t){t.stopPropagation()}_getAnimationClassForCheckStateTransition(t,e){if("NoopAnimations"===this._animationMode)return"";let n="";switch(t){case 0:if(1===e)n="unchecked-checked";else{if(3!=e)return"";n="unchecked-indeterminate"}break;case 2:n=1===e?"unchecked-checked":"unchecked-indeterminate";break;case 1:n=2===e?"checked-unchecked":"checked-indeterminate";break;case 3:n=1===e?"indeterminate-checked":"indeterminate-unchecked"}return`mat-checkbox-anim-${n}`}_syncIndeterminate(t){const e=this._inputElement;e&&(e.nativeElement.indeterminate=t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(Ug),ea(Tu),ii("tabindex"),ea(Ny,8),ea(pK,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-checkbox"]],viewQuery:function(t,e){if(1&t&&(Zc(uK,5),Zc(cv,5)),2&t){let t;Qc(t=tu())&&(e._inputElement=t.first),Qc(t=tu())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(t,e){2&t&&(rl("id",e.id),Ko("tabindex",null),ja("mat-checkbox-indeterminate",e.indeterminate)("mat-checkbox-checked",e.checked)("mat-checkbox-disabled",e.disabled)("mat-checkbox-label-before","before"==e.labelPosition)("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[xl([bK]),jo],ngContentSelectors:dK,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(t,e){if(1&t&&(wa(),ra(0,"label",0,1),ra(2,"span",2),ra(3,"input",3,4),fa("change",function(t){return e._onInteractionEvent(t)})("click",function(t){return e._onInputClick(t)}),sa(),ra(5,"span",5),oa(6,"span",6),sa(),oa(7,"span",7),ra(8,"span",8),vn(),ra(9,"svg",9),oa(10,"path",10),sa(),Ve.lFrame.currentNamespace=null,oa(11,"span",11),sa(),sa(),ra(12,"span",12,13),fa("cdkObserveContent",function(){return e._onLabelTextChange()}),ra(14,"span",14),Ja(15,"\xa0"),sa(),xa(16),sa(),sa()),2&t){const t=ta(1),n=ta(13);Ko("for",e.inputId),ws(2),ja("mat-checkbox-inner-container-no-side-margin",!n.textContent||!n.textContent.trim()),ws(1),na("id",e.inputId)("required",e.required)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex),Ko("value",e.value)("name",e.name)("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby)("aria-checked",e._getAriaChecked())("aria-describedby",e.ariaDescribedby),ws(2),na("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",Pc(19,hK,"NoopAnimations"===e._animationMode?0:150))}},directives:[cv,pg],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-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 mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),t})(),wK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),xK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wy,fg,wK],Wy,wK]}),t})();const SK=["bodyCanvas"];let CK=(()=>{class t{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new Bc,this.nodeDrag=new Bc,this.nodeClick=new Bc,this.nodeHoverStart=new Bc,this.nodeHoverStop=new Bc,this.initialized=new Bc,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var e;this._scene=t,null===(e=this.bodyUI)||void 0===e||e.setScene(t)}get rotation(){return this._rotation}set rotation(t){var e;this._rotation=t,null===(e=this.bodyUI)||void 0===e||e.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var e;this._rotationX=t,null===(e=this.bodyUI)||void 0===e||e.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var e;this._zoom=t,null===(e=this.bodyUI)||void 0===e||e.setZoom(t)}get target(){return this._target}set target(t){var e;this._target=t,null===(e=this.bodyUI)||void 0===e||e.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,e={x:48,y:48}){if(this.bodyCanvas){const{width:n,height:i}=this.bodyCanvas.nativeElement,r=window.devicePixelRatio,s=Math.min(Math.log2((n-e.x)/r/t.x),Math.log2((i-e.y)/r/t.y));this.zoom=s}}setupBodyUI(){var t;return xw(this,void 0,void 0,function*(){const e=this.bodyCanvas.nativeElement,n=new BV({id:"body-ui",canvas:e,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});e.addEventListener("contextmenu",t=>t.preventDefault()),yield n.initialize(),this.bodyUI=n,window.bodyUI=n,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(t=>this.rotationChange.next(t)),this.bodyUI.nodeDrag$.subscribe(t=>this.nodeDrag.emit(t)),this.bodyUI.nodeClick$.subscribe(t=>this.nodeClick.emit(t)),this.bodyUI.nodeHoverStart$.subscribe(t=>this.nodeHoverStart.emit(t)),this.bodyUI.nodeHoverStop$.subscribe(t=>this.nodeHoverStop.emit(t))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-body-ui"]],viewQuery:function(t,e){if(1&t&&Zc(SK,5,Al),2&t){let t;Qc(t=tu())&&(e.bodyCanvas=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,e){1&t&&oa(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),t})(),EK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();new oi("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const OK=["carouselContainer"],TK=["itemlist"],kK=["itemcontainer"];function PK(t,e){if(1&t){const t=ua();ra(0,"mat-icon",9),fa("touchstart",function(){return $e(t),va().scroll("left")})("touchend",function(){return $e(t),va().stopScroll()})("click",function(){return $e(t),va().shift("left")})("mousedown",function(){return $e(t),va().scroll("left")})("mouseup",function(){return $e(t),va().stopScroll()}),Ja(1,"chevron_left"),sa()}2&t&&ja("disabled",va().onLeft)}function AK(t,e){if(1&t&&(ra(0,"div",15),Ja(1),sa()),2&t){const t=va().$implicit,e=va();ws(1),tl(e.occurenceData[t.id]||0)}}function MK(t,e){if(1&t){const t=ua();ra(0,"div",10),fa("click",function(){const e=$e(t).$implicit;return va().selectOrgan(e)}),oa(1,"mat-icon",11),ra(2,"div",12),ra(3,"div",13),Ja(4),sa(),Jo(5,AK,2,1,"div",14),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ja("disabled",t.disabled)("selected",n.isSelected(t)),ws(1),Sa("svgIcon",t.src),ws(3),tl(t.name),ws(1),na("ngIf",void 0!==t.numResults)}}function IK(t,e){if(1&t){const t=ua();ra(0,"mat-icon",16),fa("touchstart",function(){return $e(t),va().scroll("right")})("touchend",function(){return $e(t),va().stopScroll()})("click",function(){return $e(t),va().shift("right")})("mousedown",function(){return $e(t),va().scroll("right")})("mouseup",function(){return $e(t),va().stopScroll()}),Ja(1,"chevron_right"),sa()}2&t&&ja("disabled",va().onRight)}const DK=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((t,e)=>t.name.localeCompare(e.name)),RK=DK.filter(t=>!0!==t.disabled);let NK=(()=>{class t{constructor(){this.clsName="ccf-organ-selector",this.multiselect=!1,this.displayErrors=!1,this.organList=RK,this.selectedOrgans=[],this.expanded=!1,this.organsChanged=new Bc,this.onLeft=!0,this.onRight=!1,this.step=72}set occurenceData(t){this._occurenceData=t}get occurenceData(){return this._occurenceData}ngAfterViewInit(){const{carouselContainer:t}=this;this.sensor=new I$.ResizeSensor(t.nativeElement,()=>{this.set()})}ngOnChanges(t){"organList"in t&&this.set()}ngOnDestroy(){this.sensor.detach()}get error(){return!(!this.displayErrors||0===this.selectedOrgans.length)}shift(t){const{itemList:e}=this;let n=parseInt(e.nativeElement.style.left,10)||0;this.onLeft&&"left"===t||this.onRight&&"right"===t||(n="right"===t?n-this.step:n+this.step,e.nativeElement.style.left=n+"px",this.setLeftRight(n))}scroll(t){this.timeoutHandler=setInterval(()=>{this.shift(t)},200)}stopScroll(){this.timeoutHandler&&(clearInterval(this.timeoutHandler),this.timeoutHandler=void 0)}selectOrgan(t){this.selectedOrgans=this.multiselect?this.selectedOrgans.includes(t)?this.selectedOrgans.filter(e=>t!==e):this.selectedOrgans.concat([t]):[t],this.organsChanged.emit(this.selectedOrgans)}isSelected(t){return!!this.selectedOrgans.includes(t)}set(){const{itemList:t,itemContainer:e,carouselContainer:n}=this,i=parseInt(t.nativeElement.style.left,10)||0;if(t.nativeElement.offsetWidth>=this.organList.length*this.step)t.nativeElement.style.left="0px",this.onLeft=!0,this.onRight=!0;else{this.setLeftRight(i);const t=this.step*Math.floor(n.nativeElement.offsetWidth/this.step)-64;e.nativeElement.style.width=`${t}px`}}setWidth(){const{itemContainer:t,carouselContainer:e}=this,n=this.step*Math.floor(e.nativeElement.offsetWidth/this.step)-64;t.nativeElement.style.width=`${n}px`}setLeftRight(t){const{itemContainer:e}=this;this.onLeft=0===t,this.onRight=t<=e.nativeElement.offsetWidth-this.organList.length*this.step}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-organ-selector"]],viewQuery:function(t,e){if(1&t&&(Zc(OK,7),Zc(TK,7),Zc(kK,7)),2&t){let t;Qc(t=tu())&&(e.carouselContainer=t.first),Qc(t=tu())&&(e.itemList=t.first),Qc(t=tu())&&(e.itemContainer=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{multiselect:"multiselect",displayErrors:"displayErrors",organList:"organList",selectedOrgans:"selectedOrgans",expanded:"expanded",occurenceData:"occurenceData"},outputs:{organsChanged:"organsChanged"},features:[ye],decls:9,vars:8,consts:[["matTooltip","Select the organ your tissue block is from.",1,"container",3,"matTooltipDisabled"],["carouselContainer",""],["class","carousel-left-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-item-container"],["itemcontainer",""],[1,"carousel-item-list"],["itemlist",""],["class","carousel-item",3,"disabled","selected","click",4,"ngFor","ngForOf"],["class","carousel-right-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-left-icon",3,"touchstart","touchend","click","mousedown","mouseup"],[1,"carousel-item",3,"click"],[1,"carousel-icon",3,"svgIcon"],[1,"carousel-text-container"],[1,"carousel-text"],["class","num-results",4,"ngIf"],[1,"num-results"],[1,"carousel-right-icon",3,"touchstart","touchend","click","mousedown","mouseup"]],template:function(t,e){1&t&&(ra(0,"div",0,1),Jo(2,PK,2,2,"mat-icon",2),ra(3,"div",3,4),ra(5,"div",5,6),Jo(7,MK,6,7,"div",7),sa(),sa(),Jo(8,IK,2,2,"mat-icon",8),sa()),2&t&&(ja("expanded",e.expanded)("error",e.error),na("matTooltipDisabled",e.multiselect),ws(2),na("ngIf",!e.expanded),ws(5),na("ngForOf",e.organList),ws(1),na("ngIf",!e.expanded))},directives:[gw,Ah,kh,T_],styles:["[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{font-size:2rem;transform:scaleY(1.2);height:2rem;width:2rem;cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon.disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{overflow:hidden;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{position:relative;left:0rem;display:flex;transition:all .2s linear;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer;padding:.25rem .5rem;height:5rem;transition:.6s}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-icon[_ngcontent-%COMP%]{text-align:center;width:3.5rem;height:2rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:4rem;justify-content:center;text-align:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .carousel-text[_ngcontent-%COMP%]{display:flex;justify-content:center;font-size:.625rem;max-width:3.5rem;line-height:.8rem;min-height:1.6rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{font-size:.6875rem;line-height:1.5}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item.disabled[_ngcontent-%COMP%]{pointer-events:none}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;height:1rem}[_nghost-%COMP%] .error-message.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{width:100%!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{flex-wrap:wrap;overflow:auto;left:0rem!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{height:5rem}"]}),t})(),LK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,yw]]}),t})(),jK=(()=>{class t{constructor(){this.clsName="ccf-opacity-slider",this.opacity=20,this.visible=!0,this.opacityChange=new Bc,this.visibilityToggle=new Bc,this.opacityReset=new Bc}ngOnInit(){this.prevOpacity=this.visible?0:20}reset(){this.prevOpacity=20}changeOpacity(t){this.opacity=parseInt(t,10),this.opacityChange.emit(this.opacity)}toggleVisibility(){const t=this.opacity;this.opacity=this.prevOpacity,this.prevOpacity=t,this.visibilityToggle.emit(),this.opacityChange.emit(this.opacity)}resetOpacity(){this.prevOpacity=0,this.opacityReset.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-opacity-slider"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{opacity:"opacity",visible:"visible"},outputs:{opacityChange:"opacityChange",visibilityToggle:"visibilityToggle",opacityReset:"opacityReset"},decls:10,vars:17,consts:[[1,"slider-box"],[1,"slider-and-label"],[1,"slider",3,"step","min","max","value","input"],[1,"opacity-value"],[1,"icons"],["matRipple","","svgIcon","app:visibility_off",1,"visibility","icon","invisible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","","svgIcon","app:visibility_on",1,"visibility","icon","visible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"mat-slider",2),fa("input",function(t){return e.changeOpacity(t.value)}),sa(),ra(3,"span",3),Ja(4),sa(),sa(),ra(5,"div",4),ra(6,"mat-icon",5),fa("click",function(){return e.toggleVisibility()}),sa(),ra(7,"mat-icon",6),fa("click",function(){return e.toggleVisibility()}),sa(),ra(8,"mat-icon",7),fa("click",function(){return e.resetOpacity()}),Ja(9,"refresh"),sa(),sa(),sa()),2&t&&(ws(2),ja("disabled",!e.visible),na("step",1)("min",0)("max",100)("value",e.opacity),ws(2),el("",e.opacity,"%"),ws(2),ja("hidden",e.visible),na("matRippleCentered",!0)("matRippleUnbounded",!0),ws(1),ja("hidden",!e.visible),na("matRippleCentered",!0)("matRippleUnbounded",!0),ws(1),na("matRippleCentered",!0)("matRippleUnbounded",!0))},directives:[F$,T_,cv],styles:["[_nghost-%COMP%]{height:2.25rem;display:flex;align-items:center;justify-content:space-between;border-radius:.1875rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%]{width:60%;display:flex;align-items:center;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .mat-slider-wrapper{top:1.125rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:not-allowed}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .opacity-value[_ngcontent-%COMP%]{width:1.5rem;margin-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{display:flex;cursor:pointer!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{margin-right:1rem;padding:.25rem;cursor:pointer;transition:.6s;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility[_ngcontent-%COMP%]{transition:.6s;cursor:pointer;padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})(),FK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,U$,uv]]}),t})();function BK(t,e){if(1&t&&(ra(0,"div",16),oa(1,"youtube-player",17),sa()),2&t){const t=va(3);ws(1),Sa("videoId",t.videoID)}}function VK(t,e){if(1&t&&(ra(0,"mat-expansion-panel",11),ra(1,"mat-expansion-panel-header"),ra(2,"h2",12),Ja(3),sa(),sa(),ra(4,"div",13),oa(5,"markdown",14),Jo(6,BK,2,1,"div",15),sa(),sa()),2&t){const t=va(),e=t.index,n=t.$implicit;na("expanded",0===e),ws(3),tl(n.title),ws(2),ja("first",0===e),na("data",n.content),ws(1),na("ngIf",0===e)}}function zK(t,e){if(1&t&&(ra(0,"div",9),Jo(1,VK,7,6,"mat-expansion-panel",10),sa()),2&t){const t=e.$implicit;ws(1),na("ngIf",t)}}let UK=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.documentationContents=e.content||[],this.infoTitle=e.title||"",this.videoID=e.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$),ea(Q$))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"h2",4),Ja(5),sa(),ra(6,"div",5),ra(7,"mat-icon",6),fa("click",function(){return e.close()}),Ja(8,"clear"),sa(),sa(),sa(),ra(9,"mat-dialog-content",7),Jo(10,zK,2,1,"div",8),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(5),na("ngForOf",e.documentationContents))},directives:[rG,T_,sG,kh,Ah,CG,TG,NG,WG],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),t})(),HK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,oG,k_,kG,KG,LG.forRoot({})]]}),t})(),$K=(()=>{class t{constructor(t){this.http=t,this.panelContent=new Jf({content:[],infoTitle:"",videoID:""})}updateData(t,e,n){this.http.get(t,{responseType:"text"}).subscribe(t=>{const i={content:this.parseMarkdown(t),infoTitle:n,videoID:e};this.panelContent.next(i)})}parseMarkdown(t){const e=[],n=t.split("# ");for(const i of n)if(i.length){const t=i.includes("\n\n")?"\n\n":"\r\n\r\n",n=i.split(t);e.push({title:n[0],content:n.splice(1).join(t)})}return e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),GK=(()=>{class t{constructor(t,e){this.dialog=t,this.infoButtonService=e,this.infoTitle="",this.subscriptions=new g,this.subscriptions.add(e.panelContent.subscribe(t=>{t.content.length&&this.launchInfoDialog(t)}))}ngOnDestroy(){this.subscriptions.unsubscribe()}launchInfoDialog(t){0==this.dialog.openDialogs.length&&this.dialog.open(UK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoButtonService.updateData(this.documentationUrl,this.videoID,this.infoTitle)}}return t.\u0275fac=function(e){return new(e||t)(ea(nG),ea($K))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-button"]],inputs:{infoTitle:"infoTitle",videoID:"videoID",documentationUrl:"documentationUrl"},decls:3,vars:0,consts:[[1,"info-button-wrapper"],["aria-hidden","false","aria-label","Page information",1,"ccf-info-button",3,"click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"mat-icon",1),fa("click",function(){return e.onDialogButtonClick()}),Ja(2," info "),sa(),sa())},directives:[T_],styles:[".info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.65rem;transition:.6s}.info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.5rem;vertical-align:sub}"]}),t})(),WK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,HK,k_,d_]]}),t})(),qK=(()=>{class t{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Bc,this.closeClicked=new Bc}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"p",4),Ja(5),sa(),ra(6,"mat-icon",5),fa("click",function(){return e.close()}),Ja(7,"clear"),sa(),sa(),oa(8,"img",6),ra(9,"mat-dialog-content",7),ra(10,"div",8),Ja(11),sa(),ra(12,"a",9),fa("click",function(){return e.onDialogButtonClick()}),sa(),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(3),na("src",e.imageUrl,_r),ws(3),el(" ",e.message,""),ws(1),na("text",e.callToAction))},directives:[rG,T_,QG,sG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),t})(),XK=(()=>{let t=class extends MW{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(IW(),xp(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(T$(...t),Wd(),xp(1))}getOption(...t){const e=this.getPathKey(t);if(this.optionCache.has(e))return this.optionCache.get(e);const n=this.config$.pipe(T$(...t),Wd(),xp(1));return this.optionCache.set(e,n),n}getPathKey(t){return`${t.length}:${t.join(".")}`}};return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW()],t.prototype,"config$",null),t=vw([kW(),nU({name:"globalConfig",defaults:null})],t),t})();!function(){const t=localStorage.getItem("ALLOW_TELEMETRY");null===t||t.toLowerCase()}();let YK=(()=>{class t{constructor(t,e){t&&function(t,e){Rd(t,"mousemove").pipe(function(t,e=Yd,n=k$){return i=>i.lift(new P$(t,e,n.leading,n.trailing))}(1e3),D(e=>{const{clientWidth:n,clientHeight:i}=t,{clientX:r,clientY:s}=e;return[r,s,n,i].join("_")})).subscribe(t=>e.event("webpage","mousemove",t))}(t.body,e)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(jW))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function KK(t,e){if(1&t){const t=ua();ra(0,"button",1),fa("click",function(){return $e(t),va().submit(!0)}),Ja(1),sa()}if(2&t){const t=va();ws(1),el(" ","not-set"===t.allowTelemetry?"I understand":"Opt in","\n")}}function QK(t,e){if(1&t){const t=ua();ra(0,"button",1),fa("click",function(){return $e(t),va().submit(!1)}),Ja(1,"Opt out"),sa()}}let ZK=(()=>{class t{constructor(t,e,n){this.consentService=e,this.data=n,this.clsName="ccf-tracking-popup",this.container=t.nativeElement}get allowTelemetry(){return this.consentService.consent}dismiss(){this.data.preClose()}submit(t){this.consentService.setConsent(t?"given":"rescinded"),this.dismiss()}showButton(t){const{allowTelemetry:e}=this;return"not-set"===e||("opt-in"===t?"rescinded"===e:"given"===e)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(VW),ea(Z_))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tracking-popup"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},decls:4,vars:2,consts:[["mat-button","","color","basic",3,"click",4,"ngIf"],["mat-button","","color","basic",3,"click"]],template:function(t,e){1&t&&(ra(0,"p"),Ja(1,"We log usage to improve this service."),sa(),Jo(2,KK,2,1,"button",0),Jo(3,QK,2,0,"button",0)),2&t&&(ws(2),na("ngIf",e.showButton("opt-in")),ws(1),na("ngIf",e.showButton("opt-out")))},directives:[Ah,R_],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-width:400px;color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:9999}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:24px}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin:1rem;min-width:6rem;background-color:#007cbe;display:flex;justify-content:center}"],changeDetection:0}),t})(),JK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_]]}),t})();class tQ extends class{getDatabaseStatus(){return this.forwardCall("getDatabaseStatus")}getProviderNames(){return this.forwardCall("getProviderNames")}getDatasetTechnologyNames(){return this.forwardCall("getDatasetTechnologyNames")}getOntologyTreeModel(){return this.forwardCall("getOntologyTreeModel")}getCellTypeTreeModel(){return this.forwardCall("getCellTypeTreeModel")}getReferenceOrgans(){return this.forwardCall("getReferenceOrgans")}getTissueBlockResults(t){return this.forwardCall("getTissueBlockResults",t)}getAggregateResults(t){return this.forwardCall("getAggregateResults",t)}getOntologyTermOccurences(t){return this.forwardCall("getOntologyTermOccurences",t)}getCellTypeTermOccurences(t){return this.forwardCall("getCellTypeTermOccurences",t)}getScene(t){return this.forwardCall("getScene",t)}getReferenceOrganScene(t,e){return this.forwardCall("getReferenceOrganScene",t,e)}}{forwardCall(t,...e){return this.impl$.pipe(cp(n=>n[t](...e)))}}let eQ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const nQ=new A,iQ={cacheBusterObserver:nQ},rQ={cacheBusterObserver:nQ,maxCacheCount:4};function sQ(t,e,n){return t?{min:t[0]>e?t[0]:void 0,max:t[1]{var e;return Object.assign(Object.assign({},t),{transformMatrix:new VT(null!==(e=t.transformMatrix)&&void 0!==e?e:[])})})}let aQ=(()=>{class t{constructor(t,e){this.api=t,this.globalConfig=e,e.getOption("hubmapToken").subscribe(nQ)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},t=>t)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},t=>t)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},t=>t)}getTissueBlockResults(t){return this.doRequest(t=>this.api.tissueBlocks(t),t,{},t=>t)}getAggregateResults(t){return this.doRequest(t=>this.api.aggregateResults(t),t)}getOntologyTermOccurences(t){return this.doRequest(t=>this.api.ontologyTermOccurences(t),t)}getCellTypeTermOccurences(t){return this.doRequest(t=>this.api.cellTypeTermOccurences(t),t)}getScene(t){return this.doRequest(t=>this.api.scene(t),t,{},oQ)}getReferenceOrganScene(t,e){return this.doRequest(t=>this.api.referenceOrganScene(t),e,{organIri:t},oQ)}doRequest(t,e,n,i){const{api:r,globalConfig:s}=this,o=Object.assign(Object.assign({},function(t){var e,n;return{age:sQ(null==t?void 0:t.ageRange,1,110),bmi:sQ(null==t?void 0:t.bmiRange,13,83),sex:null===(n=null===(e=null==t?void 0:t.sex)||void 0===e?void 0:e.toLowerCase)||void 0===n?void 0:n.call(e),ontologyTerms:null==t?void 0:t.ontologyTerms,cellTypeTerms:null==t?void 0:t.cellTypeTerms,providers:null==t?void 0:t.tmc,technologies:null==t?void 0:t.technologies,spatial:null==t?void 0:t.spatialSearches}}(e)),n);return z_([s.getOption("remoteApiEndpoint"),s.getOption("hubmapToken")]).pipe(rf(1),eg(([t,e])=>{r.configuration.basePath=t,e&&(o.token=e)}),cp(()=>t(o)),D(t=>i?i(t):t))}}return t.\u0275fac=function(e){return new(e||t)(Ei(eq),Ei(XK))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),vw([QW(iQ)],t.prototype,"getProviderNames",null),vw([QW(iQ)],t.prototype,"getDatasetTechnologyNames",null),vw([QW(iQ)],t.prototype,"getOntologyTreeModel",null),vw([QW(iQ)],t.prototype,"getCellTypeTreeModel",null),vw([QW(iQ)],t.prototype,"getReferenceOrgans",null),vw([QW(rQ)],t.prototype,"getTissueBlockResults",null),vw([QW(rQ)],t.prototype,"getAggregateResults",null),vw([QW(rQ)],t.prototype,"getOntologyTermOccurences",null),vw([QW(rQ)],t.prototype,"getCellTypeTermOccurences",null),vw([QW(rQ)],t.prototype,"getScene",null),vw([QW(rQ)],t.prototype,"getReferenceOrganScene",null),t})(),lQ=(()=>{class t extends tQ{constructor(t){super(),this.impl$=this.database$=t.config$.pipe(t=>t,ep(t=>Object.keys(t).length>0),cp(t=>function(t,e){return new E(n=>{let i,r;try{i=t()}catch(o){return void n.error(o)}try{r=e(i)}catch(o){return void n.error(o)}const s=(r?U(r):pp).subscribe(n);return()=>{s.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDatabase(t),e=>this.connectDatabase(e,t))),D(t=>t.database),xp(1))}connectDatabase(t,e){return xw(this,void 0,void 0,function*(){const n=!Vu();return yield t.database.connect(e,n),t})}}return t.\u0275fac=function(e){return new(e||t)(Ei(XK))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),cQ=(()=>{class t extends lQ{createDatabase(t){return{database:new lY(t),unsubscribe:()=>{}}}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),uQ=(()=>{class t extends lQ{createDatabase(t){const e=this.createWorker(t),n=OY(e);return{database:n,unsubscribe:()=>{n[_Y](),e.terminate()}}}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),hQ=(()=>{class t extends tQ{constructor(t,e){super(),this.impl$=t.config$.pipe(t=>t,D(t=>this.selectToken(t)),Wd(),D(t=>e.get(t)),xp(1))}}return t.\u0275fac=function(e){return new(e||t)(Ei(XK),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),dQ=(()=>{class t{}return t.type="[CallToAction] Learn More",t})(),pQ=(()=>{class t{}return t.type="[CallToAction] Open Dialog",t})(),fQ=(()=>{class t{}return t.type="[CallToAction] Close Dialog",t})();var gQ;class mQ{get length(){var t,e;return null!==(e=null===(t=mQ.storage)||void 0===t?void 0:t.length)&&void 0!==e?e:0}key(t){var e,n;return null!==(n=null===(e=mQ.storage)||void 0===e?void 0:e.key(t))&&void 0!==n?n:null}getItem(t,e){var n,i,r;return null!==(r=null!==(i=null===(n=mQ.storage)||void 0===n?void 0:n.getItem(t))&&void 0!==i?i:e)&&void 0!==r?r:null}setItem(t,e){var n;try{return null===(n=mQ.storage)||void 0===n||n.setItem(t,e),!0}catch(i){return!1}}removeItem(t){var e;null===(e=mQ.storage)||void 0===e||e.removeItem(t)}clear(){var t;null===(t=mQ.storage)||void 0===t||t.clear()}}mQ.storage=(()=>{let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),t}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length?t:void 0}})(),mQ.\u0275fac=function(t){return new(t||mQ)},mQ.\u0275prov=xt({token:mQ,factory:mQ.\u0275fac,providedIn:"root"});const bQ="callToActionPopupShown";let yQ=gQ=class{constructor(t,e,n,i,r){this.dialog=t,this.ga=e,this.storage=n,this.infoService=i,this.http=r}static ctaDatePassed(t,e=Date.now){return+e()>+new Date(t)}ngxsOnInit(t){const{expirationDate:e,popupShown:n}=t.getState(),i=this.storage.getItem(bQ,`${n}`),r=gQ.ctaDatePassed(e);"true"!==i&&!r&&t.dispatch(new pQ)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(D(t=>this.infoService.parseMarkdown(t)))}launchLearnMore(t){this.dialog.open(UK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:t,videoID:"UfxMpzatowE"}})}learnMore(t){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(eg(t=>this.launchLearnMore(t)))}open(t){this.dialog.open(_Q,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(bQ,"true"),t.patchState({popupShown:!0})}close(t){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};yQ.\u0275fac=function(t){return new(t||yQ)(Ei(nG),Ei(jW),Ei(mQ),Ei($K),Ei(Jv))},yQ.\u0275prov=xt({token:yQ,factory:yQ.\u0275fac}),vw([eU(dQ)],yQ.prototype,"learnMore",null),vw([eU(pQ)],yQ.prototype,"open",null),vw([eU(fQ)],yQ.prototype,"close",null),yQ=gQ=vw([nU({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],yQ);let vQ=(()=>{class t{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return vw([rU([yQ])],t,"title",null),vw([rU([yQ])],t,"message",null),vw([rU([yQ])],t,"callToAction",null),vw([rU([yQ])],t,"imageUrl",null),vw([rU([yQ])],t,"expirationDate",null),vw([rU([yQ])],t,"popupShown",null),t})(),_Q=(()=>{class t{constructor(){this.close=()=>new fQ,this.learnMore=()=>new dQ}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-call-to-action",0),fa("callToActionClicked",function(){return e.learnMore()})("closeClicked",function(){return e.close()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),sa()),2&t&&na("infoTitle",Rc(1,4,e.title$))("message",Rc(2,6,e.message$))("callToAction",Rc(3,8,e.callToAction$))("imageUrl",Rc(4,10,e.imageUrl$))},directives:[qK],pipes:[$h],styles:[""],changeDetection:0}),vw([iU(vQ.title)],t.prototype,"title$",void 0),vw([iU(vQ.message)],t.prototype,"message$",void 0),vw([iU(vQ.callToAction)],t.prototype,"callToAction$",void 0),vw([iU(vQ.imageUrl)],t.prototype,"imageUrl$",void 0),vw([XY()],t.prototype,"close",void 0),vw([XY()],t.prototype,"learnMore",void 0),t})();function wQ(t,e){if(1&t&&(ra(0,"div",3),Ja(1),sa()),2&t){const t=va();ws(1),el(" ",t.label,"\n")}}function xQ(t,e){if(1&t){const t=ua();ra(0,"mat-list-item",4),ra(1,"div",5),ra(2,"mat-checkbox",6),fa("change",function(e){const n=$e(t).index;return va().updateItemSelection(n,e.checked)}),Ja(3),sa(),oa(4,"div",7),ra(5,"button",8),fa("click",function(){const e=$e(t).index;return va().removeItem(e)}),ra(6,"mat-icon"),Ja(7,"delete_outlined"),sa(),sa(),sa(),sa()}if(2&t){const t=e.$implicit;ws(2),na("checked",t.selected),ws(1),el(" ",t.description," ")}}let SQ=(()=>{class t{constructor(){this.clsName="ccf-spatial-search-list",this.label="",this.items=[],this.selectionChanged=new Bc,this.itemRemoved=new Bc}itemId(t,e){return e.description}updateItemSelection(t,e){const n=this.items=[...this.items];n[t]=Object.assign(Object.assign({},n[t]),{selected:e});const i=n.filter(t=>t.selected);this.selectionChanged.emit(i)}removeItem(t){const e=this.items=[...this.items],[n]=e.splice(t,1);this.itemRemoved.emit(n)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{label:"label",items:"items"},outputs:{selectionChanged:"selectionChanged",itemRemoved:"itemRemoved"},decls:3,vars:3,consts:[["class","label",4,"ngIf"],[1,"list"],["class","item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"label"],[1,"item"],[1,"item-content"],["labelPosition","after",1,"description",3,"checked","change"],[1,"filler"],["mat-icon-button","",1,"delete",3,"click"]],template:function(t,e){1&t&&(Jo(0,wQ,2,1,"div",0),ra(1,"mat-list",1),Jo(2,xQ,8,2,"mat-list-item",2),sa()),2&t&&(na("ngIf",e.label),ws(2),na("ngForOf",e.items)("ngForTrackBy",e.itemId))},directives:[Ah,sK,kh,lK,_K,R_,T_],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}[_nghost-%COMP%] .item[_ngcontent-%COMP%]{height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .delete[_ngcontent-%COMP%]{width:2rem;height:2rem;line-height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}[_nghost-%COMP%] .item[_ngcontent-%COMP%] > *{padding:0!important}"],changeDetection:0}),t})(),CQ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,xK,k_,cK]]}),t})(),EQ=(()=>{class t{constructor(){this.clsName="ccf-xyz-position",this.x=0,this.y=0,this.z=0,this.format="1.0-2"}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-xyz-position"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{x:"x",y:"y",z:"z"},decls:9,vars:12,consts:[[1,"line"]],template:function(t,e){1&t&&(ra(0,"span",0),Ja(1),Dc(2,"number"),sa(),ra(3,"span",0),Ja(4),Dc(5,"number"),sa(),ra(6,"span",0),Ja(7),Dc(8,"number"),sa()),2&t&&(ws(1),el("X: ",Nc(2,3,e.x,e.format),""),ws(3),el("Y: ",Nc(5,6,e.y,e.format),""),ws(3),el("Z: ",Nc(8,9,e.z,e.format),""))},pipes:[Gh],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .line[_ngcontent-%COMP%]{font-size:1rem;font-weight:400}"],changeDetection:0}),t})(),OQ=(()=>{class t extends Tf{constructor(){super(...arguments),this.attached=!1}setRootElement(t){this.attached&&(this.rootElement.nativeElement.removeChild(this._containerElement),this.attached=!1),this.rootElement=t,this.rootElement.nativeElement.style.display="block",this.rootElement.nativeElement.style.position="contents",this.rootElement.nativeElement.style.height="100%",this.appendToRoot()}_createContainer(){super._createContainer(),this.appendToRoot()}appendToRoot(){!this._containerElement||!this.rootElement||(this.rootElement.nativeElement.appendChild(this._containerElement),this.attached=!0)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const TQ=new oi("Default theme class");let kQ=(()=>{class t{constructor(t){this.defaultTheme=this.theme=null!=t?t:""}static initialize(e){const{injector:n,location:i}=e;n.get(t).initialize(i,n)}getTheme(){return this.theme}setTheme(t){t!==this.theme&&(this.applyThemeClass(this.theme,"remove"),this.applyThemeClass(t),this.theme=t)}resetTheme(){this.setTheme(this.defaultTheme)}initialize(t,e){this.element=t,this.injector=e,this.applyThemeClass(this.getTheme())}applyThemeClass(t,e="add"){var n;const{element:i,injector:r}=this;if(!t||!i||!r)return;const s=r.get(Dl,null);if(!s)return;const o=i.nativeElement,a=null===(n=r.get(Tf,null))||void 0===n?void 0:n.getContainerElement(),l="add"===e?"addClass":"removeClass";s[l](o,t),a&&s[l](a,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(TQ,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const PQ={initialConfig:{},parse:{},rename:{}};class AQ{constructor(t,e){this.configState=t,this.storedChanges={},this.options=Object.assign(Object.assign({},PQ),e)}addChanges(t){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),t)}applyChanges(t,e={}){void 0===t&&(t=this.storedChanges,this.storedChanges={});const{configState:n,options:{initialConfig:i}}=this,r=n.snapshot,s=Object.assign(Object.assign(Object.assign({},i),r),e);for(const[o,a]of Object.entries(t))this.processChange(o,a,s);n.setConfig(s)}processChange(t,e,n){var i,r;const{options:{parse:s,rename:o}}=this,a=null!==(i=o[t])&&void 0!==i?i:t,l=e.currentValue,c=null!==(r=s[t])&&void 0!==r?r:s[a];if(null==l)delete n[a];else if(c)try{n[a]=c(l)}catch(u){console.warn(`Failed to parse ${t} = ${l}`,u.message)}else n[a]=l}}let MQ=(()=>{class t{constructor(t,e,n={}){this.configState=t,this.cdr=e,this.options=n,this.initialized=!1,this.configManager=new AQ(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return t.\u0275fac=function(t){!function(){throw new Error("invalid")}()},t.\u0275dir=se({type:t,features:[ye]}),t})();const IQ={boolean:t=>"false"!=`${t}`,json:t=>"string"==typeof t?JSON.parse(t):t,function:t=>{if("function"!=typeof t)throw new Error("Expected a javascript function");return t}};var DQ;const RQ={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://ccf-api.hubmapconsortium.org/v1/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld",dataSources:["assets/kpmp/data/rui_locations.jsonld","assets/sparc/data/rui_locations.jsonld","assets/gtex/data/rui_locations.jsonld","assets/sea-ad/data/rui_locations.jsonld","assets/allen-institute/data/rui_locations.jsonld"],hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"https://search.api.hubmapconsortium.org/v3/entities/search",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==(DQ=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==DQ?DQ:"",useRemoteApi:!1,remoteApiEndpoint:"https://ccf-api.hubmapconsortium.org/v1"},customization:{theme:"hubmap",header:!0,homeUrl:"https://portal.hubmapconsortium.org/",logoTooltip:"Human BioMolecular Atlas Project"},googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};function NQ(t){return(...e)=>new t(...e)}function LQ(t,e){return n=>n.lift(new jQ(t,e))}class jQ{constructor(t,e){this.keySelector=t,this.flushes=e}call(t,e){return e.subscribe(new FQ(t,this.keySelector,this.flushes))}}class FQ extends ${constructor(t,e,n){super(t),this.keySelector=e,this.values=new Set,n&&this.add(G(n,new H(this)))}notifyNext(){this.values.clear()}notifyError(t){this._error(t)}_next(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)}_useKeySelector(t){let e;const{destination:n}=this;try{e=this.keySelector(t)}catch(i){return void n.error(i)}this._finalizeNext(e,t)}_finalizeNext(t,e){const{values:n}=this;n.has(t)||(n.add(t),this.destination.next(e))}}class BQ{constructor(t,e){this.count=t,this.source=e}call(t,e){return e.subscribe(new VQ(t,this.count,this.source))}}class VQ extends v{constructor(t,e,n){super(t),this.count=e,this.source=n}complete(){if(!this.isStopped){const{source:t,count:e}=this;if(0===e)return super.complete();e>-1&&(this.count=e-1),t.subscribe(this._unsubscribeAndRecycle())}}}let zQ=(()=>{class t{constructor(t){this.filter=t}}return t.type="[DataState] Update filter",t})();const UQ={sex:"Both",ageRange:[1,110],bmiRange:[13,83],tmc:[],technologies:[],ontologyTerms:["http://purl.obolibrary.org/obo/UBERON_0013702"],cellTypeTerms:["http://purl.obolibrary.org/obo/CL_0000000"],spatialSearches:[]};var HQ=(()=>(function(t){t.Running="running",t.Completed="completed"}(HQ||(HQ={})),HQ))();function $Q(t){return()=>t.next(HQ.Completed)}function GQ(t,e){return n=>n.pipe(cp(t),eg(e),WW(1),Z())}let WQ=class extends AW{constructor(t){super(),this.source=t,this.databaseReady$=this.state$.pipe(T$("status"),LQ(),ep(t=>"Ready"===t)),this._tissueBlockDataQueryStatus$=new _p(1),this._aggregateDataQueryStatus$=new _p(1),this._ontologyTermOccurencesDataQueryStatus$=new _p(1),this._cellTypeTermOccurencesDataQueryStatus$=new _p(1),this._sceneDataQueryStatus$=new _p(1),this._technologyFilterQueryStatus$=new _p(1),this._providerFilterQueryStatus$=new _p(1),this.ontologyTermsFullData$=new _p(1),this.cellTypeTermsFullData$=new _p(1),this.filter$=this.state$.pipe(T$("filter")),this.tissueBlockData$=this.filter$.pipe(GQ(this.tissueBlockData,$Q(this._tissueBlockDataQueryStatus$))),this.aggregateData$=this.filter$.pipe(GQ(this.aggregateData,$Q(this._aggregateDataQueryStatus$))),this.ontologyTermOccurencesData$=this.filter$.pipe(GQ(this.ontologyTermOccurencesData,$Q(this._ontologyTermOccurencesDataQueryStatus$))),this.cellTypeTermOccurencesData$=this.filter$.pipe(GQ(this.cellTypeTermOccurencesData,$Q(this._cellTypeTermOccurencesDataQueryStatus$))),this.sceneData$=this.filter$.pipe(GQ(this.sceneData,$Q(this._sceneDataQueryStatus$))),this.technologyFilterData$=this.filter$.pipe(GQ(this.technologyFilterData,$Q(this._technologyFilterQueryStatus$))),this.providerFilterData$=this.filter$.pipe(GQ(this.providerFilterData,$Q(this._providerFilterQueryStatus$))),this.tissueBlockDataQueryStatus$=this._tissueBlockDataQueryStatus$.pipe(LQ()),this.aggregateDataQueryStatus$=this._aggregateDataQueryStatus$.pipe(LQ()),this.ontologyTermOccurencesDataQueryStatus$=this._ontologyTermOccurencesDataQueryStatus$.pipe(LQ()),this.cellTypeTermOccurencesDataQueryStatus$=this._cellTypeTermOccurencesDataQueryStatus$.pipe(LQ()),this.sceneDataQueryStatus$=this._sceneDataQueryStatus$.pipe(LQ()),this.technologyFilterQueryStatus$=this._technologyFilterQueryStatus$.pipe(LQ()),this.providerFilterQueryStatus$=this._providerFilterQueryStatus$.pipe(LQ()),this.queryStatus$=z_([this.tissueBlockDataQueryStatus$,this.aggregateDataQueryStatus$,this.ontologyTermOccurencesDataQueryStatus$,this.cellTypeTermOccurencesDataQueryStatus$,this.sceneDataQueryStatus$,this.technologyFilterQueryStatus$,this.providerFilterQueryStatus$]).pipe(D(t=>function(t){return t.every(t=>t===HQ.Completed)}(t)?HQ.Completed:HQ.Running),LQ()),this._tissueBlockDataQueryStatus$.next(HQ.Completed),this._aggregateDataQueryStatus$.next(HQ.Completed),this._ontologyTermOccurencesDataQueryStatus$.next(HQ.Completed),this._cellTypeTermOccurencesDataQueryStatus$.next(HQ.Completed),this._sceneDataQueryStatus$.next(HQ.Completed),this._technologyFilterQueryStatus$.next(HQ.Completed),this._providerFilterQueryStatus$.next(HQ.Completed)}ngxsOnInit(){const{ontologyTermsFullData$:t,ontologyTermOccurencesData$:e,cellTypeTermsFullData$:n,cellTypeTermOccurencesData$:i,source:r,snapshot:{filter:s}}=this;s===UQ?(e.pipe(rf(1)).subscribe(t),i.pipe(rf(1)).subscribe(n)):(r.getOntologyTermOccurences().pipe(rf(1)).subscribe(t),r.getCellTypeTermOccurences().pipe(rf(1)).subscribe(n)),this.source.getOntologyTreeModel().pipe(rf(1)).subscribe(t=>this.updateAnatomicalStructuresTreeModel(t)),this.source.getCellTypeTreeModel().pipe(rf(1)).subscribe(t=>this.updateCellTypesTreeModel(t)),this.warmUpDatabase()}warmUpDatabase(){vH(()=>this.source.getDatabaseStatus()).pipe(eg(t=>this.updateStatus(t)),JH(2e3),rf(1)).pipe(function(t=-1){return e=>0===t?fp():e.lift(new BQ(t<0?-1:t-1,e))}(1e3),af(t=>"Loading"===t.status)).subscribe(),this.databaseReady$.pipe(rf(1),eg(()=>{this.updateStatus({status:"Ready",message:"Loading CCF Exploration User Interface (EUI)"})})).subscribe()}updateAnatomicalStructuresTreeModel(t){this.ctx.patchState({anatomicalStructuresTreeModel:t})}updateCellTypesTreeModel(t){this.ctx.patchState({cellTypesTreeModel:t})}updateStatus(t){this.ctx.patchState({status:t.status,statusMessage:t.message})}updateFilter(t){this.ctx.patchState({filter:Object.assign(Object.assign({},this.getState().filter),t)})}updateFilterHandler(t,{filter:e}){this.updateFilter(e)}tissueBlockData(t){return this._tissueBlockDataQueryStatus$.next(HQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getTissueBlockResults(t)))}aggregateData(t){return this._aggregateDataQueryStatus$.next(HQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getAggregateResults(t)))}ontologyTermOccurencesData(t){return this._ontologyTermOccurencesDataQueryStatus$.next(HQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getOntologyTermOccurences(t)))}cellTypeTermOccurencesData(t){return this._cellTypeTermOccurencesDataQueryStatus$.next(HQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getCellTypeTermOccurences(t)))}sceneData(t){return this._sceneDataQueryStatus$.next(HQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getScene(t)))}technologyFilterData(){return this._technologyFilterQueryStatus$.next(HQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getDatasetTechnologyNames()))}providerFilterData(){return this._providerFilterQueryStatus$.next(HQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getProviderNames()))}};WQ.\u0275fac=function(t){return new(t||WQ)(Ei(eQ))},WQ.\u0275prov=xt({token:WQ,factory:WQ.\u0275fac}),vw([OW(),_w(0,TW("treeModel"))],WQ.prototype,"updateAnatomicalStructuresTreeModel",null),vw([OW(),_w(0,TW("treeModel"))],WQ.prototype,"updateCellTypesTreeModel",null),vw([OW(),_w(0,TW("status"))],WQ.prototype,"updateStatus",null),vw([OW(),_w(0,TW("filter"))],WQ.prototype,"updateFilter",null),vw([eU(zQ)],WQ.prototype,"updateFilterHandler",null),vw([PV.ak],WQ.prototype,"tissueBlockData",null),vw([PV.ak],WQ.prototype,"aggregateData",null),vw([PV.ak],WQ.prototype,"ontologyTermOccurencesData",null),vw([PV.ak],WQ.prototype,"cellTypeTermOccurencesData",null),vw([PV.ak],WQ.prototype,"sceneData",null),vw([PV.ak],WQ.prototype,"technologyFilterData",null),vw([PV.ak],WQ.prototype,"providerFilterData",null),WQ=vw([kW(),nU({name:"data",defaults:{filter:UQ,status:"Loading",statusMessage:"Loading database"}})],WQ);class qQ{static filter(t){return t.filter}static anatomicalStructuresTreeModel(t){var e;return null!==(e=t.anatomicalStructuresTreeModel)&&void 0!==e?e:{root:"",nodes:{}}}static cellTypesTreeModel(t){var e;return null!==(e=t.cellTypesTreeModel)&&void 0!==e?e:{root:"",nodes:{}}}}vw([rU([WQ])],qQ,"filter",null),vw([rU([WQ])],qQ,"anatomicalStructuresTreeModel",null),vw([rU([WQ])],qQ,"cellTypesTreeModel",null);let XQ=(()=>{class t{constructor(t,e,n){this.sex=t,this.organName=e,this.search=n}}return t.type="[Spatial Search Filter] Add",t})(),YQ=(()=>{class t{constructor(t){this.id=t}}return t.type="[Spatial Search Filter] Remove",t})(),KQ=(()=>{class t{constructor(t){this.items=t}}return t.type="[Spatial Search Filter] Set selected searches",t})();let QQ=class{addSearch(t,{sex:e,organName:n,search:i}){t.setState(function(t){return function(e){return t&&t.length||!e?Array.isArray(e)?e.concat(t):t:e}}([this.createItem(e,n,i)]))}removeSearch(t,{id:e}){t.setState(function(t){return function(e){let n=-1;if(function(t){return"function"==typeof t}(t)?n=e.findIndex(t):function(t){return"number"==typeof t}(t)&&(n=t),function(t){return Number.isNaN(t)||-1===t}(n))return e;const i=e.slice();return i.splice(n,1),i}}(t=>(null==t?void 0:t.id)===e))}setSelectedSearches(t,{items:e}){const n=new Map(e.map(t=>[t.id,t])),i=t.getState().map(t=>{var e;return null!==(e=n.get(t.id))&&void 0!==e?e:t.selected?Object.assign(Object.assign({},t),{selected:!1}):t});t.setState(i)}createItem(t,e,n){return{id:this.createItemId(n),selected:!0,description:this.createItemDescription(t,e,n),sex:t,search:n}}createItemId(t){const{x:e,y:n,z:i,radius:r,target:s}=t;return`${s}-${r}-${e},${n},${i}`}createItemDescription(t,e,n){const i=t=>t.slice(0,1).toUpperCase()+t.slice(1),{x:r,y:s,z:o,radius:a}=n;return`${i(t)}, ${i(e)}, ${a.toFixed(1)} mm, X: ${r.toFixed(1)}, Y: ${s.toFixed(1)}, Z: ${o.toFixed(1)}`}};QQ.\u0275fac=function(t){return new(t||QQ)},QQ.\u0275prov=xt({token:QQ,factory:QQ.\u0275fac}),vw([eU(XQ)],QQ.prototype,"addSearch",null),vw([eU(YQ)],QQ.prototype,"removeSearch",null),vw([eU(KQ)],QQ.prototype,"setSelectedSearches",null),QQ=vw([nU({name:"spatialSearchFilter",defaults:[]})],QQ);class ZQ{static items(t){return t}static searches(t){return t.map(t=>t.search)}static selectedSearches(t){return t.filter(t=>t.selected).map(t=>t.search)}}vw([rU([QQ])],ZQ,"items",null),vw([rU([ZQ.items])],ZQ,"searches",null),vw([rU([ZQ.items])],ZQ,"selectedSearches",null);const JQ=new RegExp("[^#a-f\\d]","gi"),tZ=new RegExp("^#?[a-f\\d]{3}[a-f\\d]?$|^#?[a-f\\d]{6}([a-f\\d]{2})?$","i"),eZ=["#FF8800","#2979ff","#ffd740","#b92dff","#da326f","#7323e2","#acf32b","#82B1FF","#E040FB","#00E5FF"].map((t,e)=>{const n=function(t,e={}){if("string"!=typeof t||JQ.test(t)||!tZ.test(t))throw new TypeError("Expected a valid hex string");let n=1;8===(t=t.replace(/^#/,"")).length&&(n=Number.parseInt(t.slice(6,8),16)/255,t=t.slice(0,6)),4===t.length&&(n=Number.parseInt(t.slice(3,4).repeat(2),16)/255,t=t.slice(0,3)),3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]);const i=Number.parseInt(t,16),r=i>>16,s=i>>8&255,o=255&i,a="number"==typeof e.alpha?e.alpha:n;return"array"===e.format?[r,s,o,a]:"css"===e.format?`rgb(${r} ${s} ${o}${1===a?"":` / ${Number((100*a).toFixed(2))}%`})`:{red:r,green:s,blue:o,alpha:a}}(t,{format:"array"});return n[3]=255,{color:t,rgba:n,rank:e}});let nZ=class extends MW{constructor(){super(...arguments),this.forcedUnassignment=new A,this.forcedUnassignment$=this.forcedUnassignment.asObservable(),this.colorAssignments$=this.state$.pipe(T$("colorAssignments"),Wd()),this.colorAssignmentsList$=this.state$.pipe(T$("colorAssignmentsList"),Wd())}getColor(t){const{colorAssignments:e}=this.snapshot;return e[t]}assignColor(t,e=!1){let{colorAssignments:n,colorAssignmentsList:i,colorsAvailable:r}=this.snapshot;e&&(r=this.snapshot.colorPalette.concat(),i=[],n={});let s=n[t];return s||(r.length>0?s=r[0]:(s=i[i.length-1].color,i=i.slice(0,-1),this.forcedUnassignment.next()),r=r.filter(t=>t.color!==s.color),i=[{color:s,key:t}].concat(i),n=i.reduce((t,e,n)=>(t[e.key]=Object.assign(Object.assign({},e.color),{rank:n}),t),{}),this.ctx.patchState({colorsAvailable:r,colorAssignments:n,colorAssignmentsList:i})),s}unassignColor(t){let{colorAssignments:e,colorAssignmentsList:n,colorsAvailable:i}=this.snapshot;const r=e[t];r&&(i=[r].concat(i),n=n.filter(t=>t.color.color!==r.color),e=n.reduce((t,e,n)=>(t[e.key]=Object.assign(Object.assign({},e.color),{rank:n}),t),{}),this.ctx.patchState({colorsAvailable:i,colorAssignments:e,colorAssignmentsList:n}))}};nZ.\u0275fac=function(){let t;return function(e){return(t||(t=ei(nZ)))(e||nZ)}}(),nZ.\u0275prov=xt({token:nZ,factory:nZ.\u0275fac}),vw([OW(),_w(0,TW("key")),_w(1,TW("doReset"))],nZ.prototype,"assignColor",null),vw([OW(),_w(0,TW("key"))],nZ.prototype,"unassignColor",null),nZ=vw([kW(),nU({name:"colors",defaults:{colorPalette:eZ.concat(),colorsAvailable:eZ.concat(),colorAssignments:{},colorAssignmentsList:[]}})],nZ);let iZ=class extends MW{constructor(t,e){super(),this.dataService=t,this.injector=e,this.listResults$=this.state$.pipe(T$("listResults"),Wd()),this.highlightedNodeId$=this.state$.pipe(T$("highlightedNodeId"),Wd())}setListResults(t){this.ctx.patchState({listResults:t})}selectListResult(t){this.colorAssignments.assignColor(t.tissueBlock.spatialEntityId)}deselectListResult(t){this.colorAssignments.unassignColor(t.tissueBlock.spatialEntityId)}highlightNode(t){this.ctx.patchState({highlightedNodeId:t})}unHighlightNode(){this.ctx.patchState({highlightedNodeId:void 0})}ngxsOnInit(){super.ngxsOnInit(),this.dataState=this.injector.get(WQ),this.colorAssignments=this.injector.get(nZ),z_([this.dataState.tissueBlockData$,this.colorAssignments.colorAssignments$]).pipe(D(([t,e])=>{const n=[],i=[];for(const r of t){const t=e[r.spatialEntityId];t?n.push({selected:!0,color:t.color,tissueBlock:r,rank:t.rank}):i.push({selected:!1,tissueBlock:r})}return(0,gq.sortBy)(n,["rank"]).concat(i)}),eg(t=>this.setListResults(t))).subscribe()}};iZ.\u0275fac=function(t){return new(t||iZ)(Ei(eQ),Ei(No))},iZ.\u0275prov=xt({token:iZ,factory:iZ.\u0275fac}),vw([OW(),_w(0,TW("listResults"))],iZ.prototype,"setListResults",null),iZ=vw([kW(),nU({name:"listResults",defaults:{listResults:[]}})],iZ);const rZ=new Set(["Skin","Heart","Kidney","Spleen"]);let sZ=class extends MW{constructor(t,e){super(),this.dataService=t,this.injector=e,this.referenceOrgans$=this.state$.pipe(T$("referenceOrgans"),Wd()),this.selectedReferenceOrgans$=this.state$.pipe(T$("selectedReferenceOrgans"),Wd()),this.scene$=this.state$.pipe(T$("scene"),Wd()),this.highlightedId$=this.state$.pipe(T$("highlightedId"),Wd())}static referenceOrgans(t){return t.referenceOrgans}static referenceOrganEntities(t){return t.referenceOrganEntities}setSelectedReferenceOrgans(t){this.ctx.patchState({selectedReferenceOrgans:t})}setReferenceOrgans(t){this.ctx.patchState({referenceOrgans:t})}setReferenceOrganEntities(t){this.ctx.patchState({referenceOrganEntities:t})}setScene(t){this.ctx.patchState({scene:t})}sceneNodeClicked({node:t,ctrlClick:e}){t.representation_of&&"http://purl.org/ccf/latest/ccf.owl#VHFSkin"!==t["@id"]&&t.entityId?this.dataState.updateFilter({ontologyTerms:[t.representation_of]}):t.entityId&&this.colorAssignments.assignColor(t["@id"],!e)}sceneNodeHovered(t){this.listResults.highlightNode(t["@id"])}sceneNodeUnhover(){this.listResults.unHighlightNode()}ngxsOnInit(){super.ngxsOnInit(),this.dataState=this.injector.get(WQ),this.colorAssignments=this.injector.get(nZ),this.listResults=this.injector.get(iZ),this.dataService.getReferenceOrgans().pipe(eg(t=>this.setReferenceOrganEntities(t)),D(t=>{const e=new Set(t.map(t=>t.representation_of));return DK.filter(t=>e.has(t.id)).map(t=>Object.assign(Object.assign({},t),{disabled:!1,numResults:0}))}),rf(1),eg(t=>{this.setReferenceOrgans(t),this.setSelectedReferenceOrgans(t.filter(t=>rZ.has(t.organ)))})).subscribe(),z_([this.dataState.sceneData$,this.selectedReferenceOrgans$,this.colorAssignments.colorAssignments$,this.dataService.getReferenceOrgans(),this.listResults.highlightedNodeId$]).pipe(D(([t,e,n,i,r])=>{const s=new Set(e.map(t=>t.id)),o=new Set(i.filter(t=>s.has(t.representation_of)).map(t=>t["@id"]));return t.filter(t=>{var e,n;return(null===(n=null===(e=t.ccf_annotations)||void 0===e?void 0:e.some)||void 0===n?void 0:n.call(e,t=>s.has(t)))||t.reference_organ&&o.has(t.reference_organ)}).map(t=>t.entityId&&(Object.prototype.hasOwnProperty.call(n,t["@id"])||r===t["@id"])?Object.assign(Object.assign({},t),{color:r===t["@id"]?[30,136,229,255]:n[t["@id"]].rgba}):t)}),eg(t=>this.setScene(t))).subscribe()}};function oZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function aZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function lZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function cZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}sZ.\u0275fac=function(t){return new(t||sZ)(Ei(eQ),Ei(No))},sZ.\u0275prov=xt({token:sZ,factory:sZ.\u0275fac}),vw([OW(),_w(0,TW("selectedReferenceOrgans"))],sZ.prototype,"setSelectedReferenceOrgans",null),vw([OW(),_w(0,TW("referenceOrgans"))],sZ.prototype,"setReferenceOrgans",null),vw([OW(),_w(0,TW("referenceOrganEntities"))],sZ.prototype,"setReferenceOrganEntities",null),vw([OW(),_w(0,TW("scene"))],sZ.prototype,"setScene",null),vw([rU()],sZ,"referenceOrgans",null),vw([rU()],sZ,"referenceOrganEntities",null),sZ=vw([kW(),nU({name:"scene",defaults:{scene:[],referenceOrgans:[],referenceOrganEntities:[],selectedReferenceOrgans:[],selectedAnatomicalStructures:[],anatomicalStructureSettings:{}}})],sZ);const uZ=".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor;stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\n",hZ=Xy(class{constructor(t){this._elementRef=t}},"primary"),dZ=new oi("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:100}}});class pZ extends hZ{constructor(t,e,n,i,r){super(t),this._document=n,this._diameter=100,this._value=0,this._fallbackAnimation=!1,this.mode="determinate";const s=pZ._diameters;this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),s.has(n.head)||s.set(n.head,new Set([100])),this._fallbackAnimation=e.EDGE||e.TRIDENT,this._noopAnimations="NoopAnimations"===i&&!!r&&!r._forceAnimations,r&&(r.diameter&&(this.diameter=r.diameter),r.strokeWidth&&(this.strokeWidth=r.strokeWidth))}get diameter(){return this._diameter}set diameter(t){this._diameter=Pd(t),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),!this._fallbackAnimation&&this._styleRoot&&this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(t){this._strokeWidth=Pd(t)}get value(){return"determinate"===this.mode?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,Pd(t)))}ngOnInit(){const t=this._elementRef.nativeElement;this._styleRoot=Rp(t)||this._document.head,this._attachStyleNode(),t.classList.add(`mat-progress-spinner-indeterminate${this._fallbackAnimation?"-fallback":""}-animation`)}_getCircleRadius(){return(this.diameter-10)/2}_getViewBox(){const t=2*this._getCircleRadius()+this.strokeWidth;return`0 0 ${t} ${t}`}_getStrokeCircumference(){return 2*Math.PI*this._getCircleRadius()}_getStrokeDashOffset(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._getStrokeCircumference():null}_getCircleStrokeWidth(){return this.strokeWidth/this.diameter*100}_attachStyleNode(){const t=this._styleRoot,e=this._diameter,n=pZ._diameters;let i=n.get(t);if(!i||!i.has(e)){const r=this._document.createElement("style");r.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),r.textContent=this._getAnimationText(),t.appendChild(r),i||(i=new Set,n.set(t,i)),i.add(e)}}_getAnimationText(){const t=this._getStrokeCircumference();return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*t).replace(/END_VALUE/g,""+.2*t).replace(/DIAMETER/g,`${this._spinnerAnimationLabel}`)}_getSpinnerAnimationLabel(){return this.diameter.toString().replace(".","_")}}pZ.\u0275fac=function(t){return new(t||pZ)(ea(Al),ea(Ep),ea(th,8),ea(Ny,8),ea(dZ))},pZ.\u0275cmp=Jt({type:pZ,selectors:[["mat-progress-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner"],hostVars:10,hostBindings:function(t,e){2&t&&(Ko("aria-valuemin","determinate"===e.mode?0:null)("aria-valuemax","determinate"===e.mode?100:null)("aria-valuenow","determinate"===e.mode?e.value:null)("mode",e.mode),La("width",e.diameter,"px")("height",e.diameter,"px"),ja("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color",mode:"mode",diameter:"diameter",strokeWidth:"strokeWidth",value:"value"},exportAs:["matProgressSpinner"],features:[jo],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(vn(),ra(0,"svg",0),Jo(1,oZ,1,9,"circle",1),Jo(2,aZ,1,7,"circle",2),sa()),2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),na("ngSwitch","indeterminate"===e.mode),Ko("viewBox",e._getViewBox()),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1))},directives:[Rh,Nh],styles:[uZ],encapsulation:2,changeDetection:0}),pZ._diameters=new WeakMap;let fZ=(()=>{class t extends pZ{constructor(t,e,n,i,r){super(t,e,n,i,r),this.mode="indeterminate"}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(th,8),ea(Ny,8),ea(dZ))},t.\u0275cmp=Jt({type:t,selectors:[["mat-spinner"]],hostAttrs:["role","progressbar","mode","indeterminate",1,"mat-spinner","mat-progress-spinner"],hostVars:6,hostBindings:function(t,e){2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),ja("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color"},features:[jo],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(vn(),ra(0,"svg",0),Jo(1,lZ,1,9,"circle",1),Jo(2,cZ,1,7,"circle",2),sa()),2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),na("ngSwitch","indeterminate"===e.mode),Ko("viewBox",e._getViewBox()),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1))},directives:[Rh,Nh],styles:[uZ],encapsulation:2,changeDetection:0}),t})(),gZ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy,Wh],Wy]}),t})(),mZ=(()=>{class t{constructor(){this.className="ccf-spinner-overlay",this.active=!1}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spinner-overlay"]],hostVars:4,hostBindings:function(t,e){2&t&&(Va(e.className),ja("active",e.active))},inputs:{active:"active",text:"text"},decls:3,vars:1,consts:[[1,"content"]],template:function(t,e){1&t&&(oa(0,"mat-spinner"),ra(1,"div",0),Ja(2),sa()),2&t&&(ws(2),tl(e.text))},directives:[fZ],styles:["[_nghost-%COMP%]{display:flex;position:absolute;width:100%;height:100%;z-index:99;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;visibility:hidden;opacity:0;transition:visibility .6s,opacity .4s ease-in-out}[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-bottom:1rem;opacity:0;transition:opacity .3s ease-in-out .3s}.active[_nghost-%COMP%]{pointer-events:auto;visibility:visible;opacity:1}.active[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{opacity:1}"],changeDetection:0}),t})();const bZ={isolated:!0},yZ=new oi("Message service configuration",{providedIn:"root",factory:()=>bZ});let vZ=(()=>{class t{constructor(t,e,n){this.source=t,this.channel=e,this.messages=n}sendMessage(t){this.channel.next({id:this.nextMessageId(),source:this.source,payload:t})}getMessages(){return this.messages.pipe(ep(t=>t.source!==this.source))}getMessagesFromSource(t){return this.getMessages().pipe(ep(e=>e.source===t))}getMessagesFromSources(t){return this.getMessages().pipe(ep(e=>t.includes(e.source)))}nextMessageId(){return t.counter++}}return t.counter=0,t})();const _Z=(()=>{class t{constructor(t,e){this.config=t,this.parent=e,this.channel=new A,this.messages=t.isolated||!e?this.channel.asObservable():U([this.channel,e.messages.pipe(af(()=>!this.channel.closed))]).pipe(Y())}ngOnDestroy(){this.channel.complete()}connect(t){return new vZ(t,this.channel,this.messages)}}return t.\u0275fac=function(e){return new(e||t)(Ei(yZ),Ei(t,12))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),wZ=["*"];let xZ=(()=>{class t{constructor(t,e){this.className="ccf-drawer-content",this.animationsEnabled=!1,this.leftMargin=0,this.rightMargin=0,this.faded=!1,this.drawers=[],this.subscriptions=new g;const n=t.connect(this).getMessages();this.subscriptions.add(n.subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){switch(t.payload.type){case"drawer-containers-changed":return this.drawers=t.payload.drawers,this.updateFaded(),!0;case"drawer-initialized":return this.animationsEnabled=!0,!0;case"drawer-toggled":{const e=t.source.position,{opened:n,width:i,margin:r}=t.payload;return this.updateMargin(e,n,i,r),this.updateFaded(),!0}default:return!1}}updateMargin(t,e,n,i){const r=e?n+i:i;"start"===t?this.leftMargin=r:this.rightMargin=r}updateFaded(){const[t,e]=this.drawers;this.faded=(null==t?void 0:t.opened)&&(null==t?void 0:t.expanded)||(null==e?void 0:e.opened)&&(null==e?void 0:e.expanded)}}return t.\u0275fac=function(e){return new(e||t)(ea(_Z),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-content"]],hostVars:9,hostBindings:function(t,e){2&t&&(sl("@fadeInOut",e.faded),Va(e.className),La("margin-left",e.leftMargin,"px")("margin-right",e.rightMargin,"px"),ja("cff-drawer-content-animations",e.animationsEnabled))},ngContentSelectors:wZ,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 5.5rem);z-index:2;overflow:auto}.cff-drawer-content-animations[_nghost-%COMP%]{transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:margin-left,margin-right}"],data:{animation:[Qg("fadeInOut",[em("false",tm({opacity:1})),em("true",tm({opacity:0})),im("false <=> true",Zg("1s"))])]},changeDetection:0}),t})();const SZ=["*"],CZ={params:{width:0,margin:0,margin2:0}};class EZ{constructor(){this.initialized=!1,this.deferred=new Promise(t=>{this.resolve=t})}set(){this.initialized=!0,this.resolve()}wait(){return xw(this,void 0,void 0,function*(){return this.deferred})}valueOf(){return this.initialized}}let OZ=(()=>{class t{constructor(t,e,n){this.element=n,this.className="ccf-drawer",this._position="start",this._opened=!1,this._expanded=!1,this.openedChange=new Bc(!0),this.expandedChange=new Bc(!0),this.stateChange=new Bc(!0),this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._measuredWidth=0,this.width=0,this._measuredMargin=0,this.margin2=0,this.initialized=new EZ,this.subscriptions=new g,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}get classEnd(){return"end"===this.position}get position(){return this._position}set position(t){this._position=t||"start"}get opened(){return this._opened}set opened(t){this.toggle(kd(t))}get expanded(){return this._expanded}set expanded(t){this.toggleExpanded(kd(t))}get expandedStateObj(){return{value:this.expandedState2,params:{width:this.width,margin:this.measuredMargin,margin2:this.margin2}}}get measuredWidth(){if(this._measuredWidth>0)return this._measuredWidth;const t=this.element.nativeElement;if(!t)return 0;const e=t.getBoundingClientRect(),n=e.right-e.left;return 0===n?0:(this._measuredWidth=n,n)}get measuredMargin(){if(this._measuredMargin>0)return this._measuredMargin;const t=this.element.nativeElement;if(!t)return 0;const e=globalThis.getComputedStyle(t).getPropertyValue("start"===this.position?"margin-right":"margin-left"),n=Number(e.slice(0,-2));return this._measuredMargin=n,n}ngAfterViewInit(){this.initialized.set(),setTimeout(()=>this.channel.sendMessage({type:"drawer-initialized"}))}ngOnDestroy(){this.subscriptions.unsubscribe()}open(){this.toggle(!0)}close(){this.toggle(!1)}toggle(t=!this.opened){this.opened!==t&&(t?this.openedState=this.initialized.valueOf()?"open":"open-instant":(this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._expanded=!1),this._opened=t,this.sendToggle())}openExpanded(){this.toggleExpanded(!0)}closeExpanded(){this.toggleExpanded(!1)}toggleExpanded(t=!this.expanded){this.expanded!==t&&(t?this.expandedState=this.initialized.valueOf()?"open":"open-instant":(this.expandedState="closed",this.expandedState2="collapsed"),this._expanded=t,this.sendToggle())}closeOpenDone(){this.openedChange.emit(this.opened)}expandCollapseDone(){this.expandedChange.emit(this.expanded)}sendToggle(){return xw(this,void 0,void 0,function*(){yield this.initialized.wait(),this.channel.sendMessage({type:"drawer-toggled",opened:this.opened,expanded:this.expanded,width:this.measuredWidth,margin:this.measuredMargin}),this.stateChange.emit()})}handleMessage(t){switch(t.payload.type){case"drawer-toggled":return this.syncExpanded(t.source),!0;default:return!1}}syncExpanded(t){(this.expanded||t.expanded)&&(this.expanded&&t.expanded?this.expandedState2=t.expandedState2="half":this.expanded?t.opened?(this.expandedState2="extended",this.width=t.measuredWidth+t.measuredMargin):(this.expandedState2="full",this.margin2=t.measuredMargin):this.opened?(t.expandedState2="extended",t.width=this.measuredWidth+this.measuredMargin):(t.expandedState2="full",t.margin2=this.measuredMargin))}}return t.\u0275fac=function(e){return new(e||t)(ea(_Z),ea(nc),ea(Al))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer"]],hostVars:10,hostBindings:function(t,e){1&t&&ga("@openClose.done",function(){return e.closeOpenDone()})("@expandCollapse.done",function(){return e.expandCollapseDone()}),2&t&&(sl("@openClose",e.openedState)("@expandCollapse",e.expandedStateObj),Va(e.className),ja("ccf-drawer-end",e.classEnd)("ccf-drawer-opened",e.opened)("ccf-drawer-expanded",e.expanded))},inputs:{position:"position",opened:"opened",expanded:"expanded"},outputs:{openedChange:"openedChange",expandedChange:"expandedChange",stateChange:"stateChange"},exportAs:["ccfDrawer"],ngContentSelectors:SZ,decls:2,vars:0,consts:[[1,"cff-drawer-inner-container"]],template:function(t,e){1&t&&(wa(),ra(0,"div",0),xa(1),sa())},styles:["[_nghost-%COMP%]{display:block;position:absolute;top:0;bottom:0;z-index:2;outline:0;transform:translate(-100%);background-color:#fff}.ccf-drawer-end[_nghost-%COMP%]{right:0;transform:translate(100%)}[_nghost-%COMP%] .cff-drawer-inner-container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}"],data:{animation:[Qg("openClose",[em("open, open-instant",tm({transform:"none"})),em("closed",tm({})),im("closed => open-instant",Zg(0)),im("closed <=> open, open-instant => closed",Zg(".5s ease-in-out"))]),Qg("expandCollapse",[em("collapsed",tm({})),em("half",tm({width:"calc(50% - {{ margin }}px)"}),CZ),em("extended",tm({width:"calc(100% - {{ width }}px - {{ margin }}px)"}),CZ),em("full",tm({width:"calc(100% - {{ margin }}px - {{ margin2 }}px)"}),CZ),im("* <=> *",Zg(".5s ease-in-out"))])]},changeDetection:0}),t})();function TZ(t,e){1&t&&(ra(0,"ccf-drawer-content"),xa(1,2),sa())}const kZ=[[["ccf-drawer"]],[["ccf-drawer-content"]],"*"],PZ=["ccf-drawer","ccf-drawer-content","*"];function AZ(t){throw new Error(`Multiple drawers in position ${t}`)}let MZ=(()=>{class t{constructor(t,e){this.cdr=e,this.className="ccf-drawer-container",this.subscriptions=new g,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}get content(){var t;return null!==(t=this.content1.first)&&void 0!==t?t:this.content2.first}get hasWrappedContent(){return 0!==this.content1.length}ngAfterViewInit(){this.drawers.changes.pipe(lp(null)).subscribe(()=>{const t=this.validateDrawers();this.channel.sendMessage({type:"drawer-containers-changed",drawers:t}),this.cdr.markForCheck()}),this.content1.changes.pipe(lp(null)).subscribe(()=>{this.channel.sendMessage({type:"content-container-changed",content:this.content}),this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return!0}validateDrawers(){const t=this.drawers.toArray(),e=t.filter(t=>"start"===t.position),n=t.filter(t=>"end"===t.position);return e.length>1&&AZ("start"),n.length>1&&AZ("end"),[e[0],n[0]]}}return t.\u0275fac=function(e){return new(e||t)(ea(_Z),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-container"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,OZ,5),Jc(n,xZ,5)),2&t){let t;Qc(t=tu())&&(e.drawers=t),Qc(t=tu())&&(e.content1=t)}},viewQuery:function(t,e){if(1&t&&Zc(xZ,5),2&t){let t;Qc(t=tu())&&(e.content2=t)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},exportAs:["ccfDrawerContainer"],features:[xl([_Z])],ngContentSelectors:PZ,decls:3,vars:1,consts:[[4,"ngIf"]],template:function(t,e){1&t&&(wa(kZ),xa(0),xa(1,1),Jo(2,TZ,2,0,"ccf-drawer-content",0)),2&t&&(ws(2),na("ngIf",!e.hasWrappedContent))},directives:[Ah,xZ],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:1;overflow:hidden;-webkit-overflow-scrolling:touch}"],changeDetection:0}),t})(),IZ=(()=>{class t{}return t.type="[SpatialSearchUi] Start the Spatial Search flow",t})(),DZ=(()=>{class t{constructor(t){this.sex=t}}return t.type="[SpatialSearchUi] Set sex",t})(),RZ=(()=>{class t{constructor(t){this.organId=t}}return t.type="[SpatialSearchUi] Set organ",t})(),NZ=(()=>{class t{constructor(t){this.position=t}}return t.type="[SpatialSearchUi] Set position",t})(),LZ=(()=>{class t{constructor(t){this.node=t}}return t.type="[SpatialSearchUi] Start moving the position to a scene node",t})(),jZ=(()=>{class t{}return t.type="[SpatialSearchUi] Reset position",t})(),FZ=(()=>{class t{constructor(t){this.radius=t}}return t.type="[SpatialSearchUi] Set radius",t})(),BZ=(()=>{class t{}return t.type="[SpatialSearchUi] Reset radius",t})(),VZ=(()=>{class t{}return t.type="[SpatialSearchUi] Update spatial search data",t})(),zZ=(()=>{class t{}return t.type="[SpatialSearchUi] Generate and add a spatial search",t})(),UZ=(()=>{class t{constructor(t=!0){this.execute=t}}return t.type="[SpatialSearchUi] Set execute search on generate",t})();const HZ=["trigger"],$Z=["panel"];function GZ(t,e){if(1&t&&(ra(0,"span",8),Ja(1),sa()),2&t){const t=va();ws(1),tl(t.placeholder)}}function WZ(t,e){if(1&t&&(ra(0,"span",12),Ja(1),sa()),2&t){const t=va(2);ws(1),tl(t.triggerValue)}}function qZ(t,e){1&t&&xa(0,0,["*ngSwitchCase","true"])}function XZ(t,e){1&t&&(ra(0,"span",9),Jo(1,WZ,2,1,"span",10),Jo(2,qZ,1,0,"ng-content",11),sa()),2&t&&(na("ngSwitch",!!va().customTrigger),ws(2),na("ngSwitchCase",!0))}function YZ(t,e){if(1&t){const t=ua();ra(0,"div",13),ra(1,"div",14,15),fa("@transformPanel.done",function(e){return $e(t),va()._panelDoneAnimatingStream.next(e.toState)})("keydown",function(e){return $e(t),va()._handleKeydown(e)}),xa(3,1),sa(),sa()}if(2&t){const t=va();na("@transformPanelWrap",void 0),ws(1),il("mat-select-panel ",t._getPanelTheme(),""),La("transform-origin",t._transformOrigin)("font-size",t._triggerFontSize,"px"),na("ngClass",t.panelClass)("@transformPanel",t.multiple?"showing-multiple":"showing"),Ko("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}const KZ=[[["mat-select-trigger"]],"*"],QZ=["mat-select-trigger","*"],ZZ={transformPanelWrap:Qg("transformPanelWrap",[im("* => void",sm("@transformPanel",[rm()],{optional:!0}))]),transformPanel:Qg("transformPanel",[em("void",tm({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),em("showing",tm({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),em("showing-multiple",tm({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),im("void => *",Zg("120ms cubic-bezier(0, 0, 0.2, 1)")),im("* => void",Zg("100ms 25ms linear",tm({opacity:0})))])};let JZ=0;const tJ=new oi("mat-select-scroll-strategy"),eJ=new oi("MAT_SELECT_CONFIG"),nJ={provide:tJ,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};class iJ{constructor(t,e){this.source=t,this.value=e}}const rJ=Yy(Ky(qy(Qy(class{constructor(t,e,n,i,r){this._elementRef=t,this._defaultErrorStateMatcher=e,this._parentForm=n,this._parentFormGroup=i,this.ngControl=r}})))),sJ=new oi("MatSelectTrigger");let oJ=(()=>{class t extends rJ{constructor(t,e,n,i,r,s,o,a,l,c,u,h,d,p){var f,g,m;super(r,i,o,a,c),this._viewportRuler=t,this._changeDetectorRef=e,this._ngZone=n,this._dir=s,this._parentFormField=l,this._liveAnnouncer=d,this._defaultOptions=p,this._panelOpen=!1,this._compareWith=(t,e)=>t===e,this._uid="mat-select-"+JZ++,this._triggerAriaLabelledBy=null,this._destroy=new A,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+JZ++,this._panelDoneAnimatingStream=new A,this._overlayPanelClass=(null===(f=this._defaultOptions)||void 0===f?void 0:f.overlayPanelClass)||"",this._focused=!1,this.controlType="mat-select",this._required=!1,this._multiple=!1,this._disableOptionCentering=null!==(m=null===(g=this._defaultOptions)||void 0===g?void 0:g.disableOptionCentering)&&void 0!==m&&m,this.ariaLabel="",this.optionSelectionChanges=vH(()=>{const t=this.options;return t?t.changes.pipe(lp(t),cp(()=>Q(...t.map(t=>t.onSelectionChange)))):this._ngZone.onStable.pipe(rf(1),cp(()=>this.optionSelectionChanges))}),this.openedChange=new Bc,this._openedStream=this.openedChange.pipe(ep(t=>t),D(()=>{})),this._closedStream=this.openedChange.pipe(ep(t=>!t),D(()=>{})),this.selectionChange=new Bc,this.valueChange=new Bc,this.ngControl&&(this.ngControl.valueAccessor=this),null!=(null==p?void 0:p.typeaheadDebounceInterval)&&(this._typeaheadDebounceInterval=p.typeaheadDebounceInterval),this._scrollStrategyFactory=h,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(u)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get required(){return this._required}set required(t){this._required=kd(t),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(t){this._multiple=kd(t)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(t){this._disableOptionCentering=kd(t)}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){(t!==this._value||this._multiple&&Array.isArray(t))&&(this.options&&this._setSelectionByValue(t),this._value=t)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(t){this._typeaheadDebounceInterval=Pd(t)}get id(){return this._id}set id(t){this._id=t||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new Vp(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(Wd(),rp(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(rp(this._destroy)).subscribe(t=>{t.added.forEach(t=>t.select()),t.removed.forEach(t=>t.deselect())}),this.options.changes.pipe(lp(null),rp(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const t=this._getTriggerAriaLabelledby();if(t!==this._triggerAriaLabelledBy){const e=this._elementRef.nativeElement;this._triggerAriaLabelledBy=t,t?e.setAttribute("aria-labelledby",t):e.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}ngOnChanges(t){t.disabled&&this.stateChanges.next(),t.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(t){this.value=t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,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){const t=this._selectionModel.selected.map(t=>t.viewValue);return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))}_handleClosedKeydown(t){const e=t.keyCode,n=40===e||38===e||37===e||39===e,i=13===e||32===e,r=this._keyManager;if(!r.isTyping()&&i&&!uf(t)||(this.multiple||t.altKey)&&n)t.preventDefault(),this.open();else if(!this.multiple){const e=this.selected;r.onKeydown(t);const n=this.selected;n&&e!==n&&this._liveAnnouncer.announce(n.viewValue,1e4)}}_handleOpenKeydown(t){const e=this._keyManager,n=t.keyCode,i=40===n||38===n,r=e.isTyping();if(i&&t.altKey)t.preventDefault(),this.close();else if(r||13!==n&&32!==n||!e.activeItem||uf(t))if(!r&&this._multiple&&65===n&&t.ctrlKey){t.preventDefault();const e=this.options.some(t=>!t.disabled&&!t.selected);this.options.forEach(t=>{t.disabled||(e?t.select():t.deselect())})}else{const n=e.activeItemIndex;e.onKeydown(t),this._multiple&&i&&t.shiftKey&&e.activeItem&&e.activeItemIndex!==n&&e.activeItem._selectViaInteraction()}else t.preventDefault(),e.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(rf(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._setSelectionByValue(this.ngControl?this.ngControl.value:this._value),this.stateChanges.next()})}_setSelectionByValue(t){if(this._selectionModel.selected.forEach(t=>t.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&t)Array.isArray(t),t.forEach(t=>this._selectValue(t)),this._sortValues();else{const e=this._selectValue(t);e?this._keyManager.updateActiveItem(e):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectValue(t){const e=this.options.find(e=>{if(this._selectionModel.isSelected(e))return!1;try{return null!=e.value&&this._compareWith(e.value,t)}catch(n){return!1}});return e&&this._selectionModel.select(e),e}_initKeyManager(){this._keyManager=new Eg(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(rp(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe(rp(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const t=Q(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(rp(t)).subscribe(t=>{this._onSelect(t.source,t.isUserInput),t.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),Q(...this.options.map(t=>t._stateChanges)).pipe(rp(t)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(t,e){const n=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(n!==t.selected&&(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t)),e&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),e&&this.focus())):(t.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(t.value)),n!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const t=this.options.toArray();this._selectionModel.sort((e,n)=>this.sortComparator?this.sortComparator(e,n,t):t.indexOf(e)-t.indexOf(n)),this.stateChanges.next()}}_propagateChanges(t){let e=null;e=this.multiple?this.selected.map(t=>t.value):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(this._getChangeEvent(e)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){var t;return!this._panelOpen&&!this.disabled&&(null===(t=this.options)||void 0===t?void 0:t.length)>0}focus(t){this._elementRef.nativeElement.focus(t)}_getPanelAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();return this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();let n=(e?e+" ":"")+this._valueId;return this.ariaLabelledby&&(n+=" "+this.ariaLabelledby),n}_panelDoneAnimating(t){this.openedChange.emit(t)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return t.\u0275fac=function(e){return new(e||t)(ea(Hp),ea(nc),ea(Tu),ea(Zy),ea(Al),ea(Fp,8),ea(sH,8),ea(gH,8),ea(KH,8),ea(PU,10),ii("tabindex"),ea(tJ),ea(Bg),ea(eJ,8))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&(Zc(HZ,5),Zc($Z,5),Zc($f,5)),2&t){let t;Qc(t=tu())&&(e.trigger=t.first),Qc(t=tu())&&(e.panel=t.first),Qc(t=tu())&&(e._overlayDir=t.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[jo,ye]}),t})(),aJ=(()=>{class t extends oJ{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(t,e,n){const i=this._getItemHeight();return Math.min(Math.max(0,i*t-e+i/2),n)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(rp(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(rf(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(t){const e=xv(t,this.options,this.optionGroups),n=this._getItemHeight();this.panel.nativeElement.scrollTop=0===t&&1===e?0:Sv((t+e)*n,n,this.panel.nativeElement.scrollTop,256)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(t)}_getChangeEvent(t){return new iJ(this,t)}_calculateOverlayOffsetX(){const t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),e=this._viewportRuler.getViewportSize(),n=this._isRtl(),i=this.multiple?56:32;let r;if(this.multiple)r=40;else if(this.disableOptionCentering)r=16;else{let t=this._selectionModel.selected[0]||this.options.first;r=t&&t.group?32:16}n||(r*=-1);const s=0-(t.left+r-(n?i:0)),o=t.right+r-e.width+(n?0:i);s>0?r+=s+8:o>0&&(r-=o+8),this._overlayDir.offsetX=Math.round(r),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(t,e,n){const i=this._getItemHeight(),r=(i-this._triggerRect.height)/2,s=Math.floor(256/i);let o;return this.disableOptionCentering?0:(o=0===this._scrollTop?t*i:this._scrollTop===n?(t-(this._getItemCount()-s))*i+(i-(this._getItemCount()*i-256)%i):e-i/2,Math.round(-1*o-r))}_checkOverlayWithinViewport(t){const e=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),i=this._triggerRect.top-8,r=n.height-this._triggerRect.bottom-8,s=Math.abs(this._offsetY),o=Math.min(this._getItemCount()*e,256)-s-this._triggerRect.height;o>r?this._adjustPanelUp(o,r):s>i?this._adjustPanelDown(s,i,t):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(t,e){const n=Math.round(t-e);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(t,e,n){const i=Math.round(t-e);if(this._scrollTop+=i,this._offsetY+=i,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const t=this._getItemHeight(),e=this._getItemCount(),n=Math.min(e*t,256),i=e*t-n;let r;r=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),r+=xv(r,this.options,this.optionGroups);const s=n/2;this._scrollTop=this._calculateOverlayScroll(r,s,i),this._offsetY=this._calculateOverlayOffsetY(r,s,i),this._checkOverlayWithinViewport(i)}_getOriginBasedOnOption(){const t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-e+t/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-select"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,sJ,5),Jc(n,wv,5),Jc(n,bv,5)),2&t){let t;Qc(t=tu())&&(e.customTrigger=t.first),Qc(t=tu())&&(e.options=t),Qc(t=tu())&&(e.optionGroups=t)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(t,e){1&t&&fa("keydown",function(t){return e._handleKeydown(t)})("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()}),2&t&&(Ko("id",e.id)("tabindex",e.tabIndex)("aria-controls",e.panelOpen?e.id+"-panel":null)("aria-expanded",e.panelOpen)("aria-label",e.ariaLabel||null)("aria-required",e.required.toString())("aria-disabled",e.disabled.toString())("aria-invalid",e.errorState)("aria-describedby",e._ariaDescribedby||null)("aria-activedescendant",e._getAriaActiveDescendant()),ja("mat-select-disabled",e.disabled)("mat-select-invalid",e.errorState)("mat-select-required",e.required)("mat-select-empty",e.empty)("mat-select-multiple",e.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[xl([{provide:BH,useExisting:t},{provide:pv,useExisting:t}]),jo],ngContentSelectors:QZ,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(t,e){if(1&t&&(wa(KZ),ra(0,"div",0,1),fa("click",function(){return e.toggle()}),ra(3,"div",2),Jo(4,GZ,2,1,"span",3),Jo(5,XZ,3,2,"span",4),sa(),ra(6,"div",5),oa(7,"div",6),sa(),sa(),Jo(8,YZ,4,14,"ng-template",7),fa("backdropClick",function(){return e.close()})("attach",function(){return e._onAttached()})("detach",function(){return e.close()})),2&t){const t=ta(1);Ko("aria-owns",e.panelOpen?e.id+"-panel":null),ws(3),na("ngSwitch",e.empty),Ko("id",e._valueId),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1),ws(3),na("cdkConnectedOverlayPanelClass",e._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",e._scrollStrategy)("cdkConnectedOverlayOrigin",t)("cdkConnectedOverlayOpen",e.panelOpen)("cdkConnectedOverlayPositions",e._positions)("cdkConnectedOverlayMinWidth",null==e._triggerRect?null:e._triggerRect.width)("cdkConnectedOverlayOffsetY",e._offsetY)}},directives:[Hf,Rh,Nh,$f,Lh,Oh],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[ZZ.transformPanelWrap,ZZ.transformPanel]},changeDetection:0}),t})(),lJ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[nJ],imports:[[Wh,Wf,Cv,Wy],$p,ZH,Cv,Wy]}),t})();function cJ(t,e){if(1&t&&(ra(0,"mat-option",6),ra(1,"div"),Ja(2),sa(),sa()),2&t){const t=e.$implicit,n=va();na("value",t),ws(1),Va(n.optionsVisible),ws(1),el(" ",t," ")}}let uJ=(()=>{class t{constructor(t){this.ga=t,this.selectionChange=new Bc,this.optionsVisible="invisible"}toggleOptions(){this.optionsVisible="visible"===this.optionsVisible?"invisible":"visible"}selectionChanged(t){this.selection=t,this.ga.event("selection_change","dropdown",`${this.label}:${t}`),this.selectionChange.emit(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-dropdown"]],inputs:{label:"label",options:"options",selection:"selection"},outputs:{selectionChange:"selectionChange"},decls:7,vars:3,consts:[[1,"ccf-dropdown","wrapper"],[1,"container"],[1,"dropdown-form-field"],[1,"label"],["disableOptionCentering","true","panelClass","option-panel","disableRipple","true",1,"selected-value",3,"value","selectionChange","openedChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"mat-form-field",2),ra(3,"div",3),Ja(4),sa(),ra(5,"mat-select",4),fa("selectionChange",function(t){return e.selectionChanged(t.value)})("openedChange",function(){return e.toggleOptions()}),Jo(6,cJ,3,5,"mat-option",5),sa(),sa(),sa(),sa()),2&t&&(ws(4),el(" ",e.label," "),ws(1),na("value",e.selection),ws(1),na("ngForOf",e.options))},directives:[QH,aJ,kh,wv],styles:["@-webkit-keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dropdown-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:1em;padding-right:1em;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{font-size:.875rem;border:none}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix mat-select{font-size:1rem;font-weight:bold}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .option-panel{-webkit-animation:slideInHorizontalDropdown .3s;animation:slideInHorizontalDropdown .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;position:absolute!important;top:1.55rem;max-width:9.5rem} .option-panel .mat-option{border-bottom-width:1px;border-bottom-style:solid;padding-left:1em} .option-panel :last-child{border-bottom:none} .cdk-overlay-pane{min-width:0rem!important}.dropdown-form-field[_ngcontent-%COMP%]{height:3rem;width:100%}.dropdown-form-field[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{padding-bottom:.063rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem} .ccf-dropdown .mat-select-arrow-wrapper{transform:translatey(-.5em)}"],changeDetection:0}),t})();var hJ=n(25430),dJ=n(39053),pJ=n(26202);const fJ=["tooltipTemplate"],gJ=["leftOuterSelectionBar"],mJ=["rightOuterSelectionBar"],bJ=["fullBar"],yJ=["selectionBar"],vJ=["minHandle"],_J=["maxHandle"],wJ=["floorLabel"],xJ=["ceilLabel"],SJ=["minHandleLabel"],CJ=["maxHandleLabel"],EJ=["combinedLabel"],OJ=["ticksElement"];function TJ(t,e){if(1&t&&oa(0,"ng5-slider-tooltip-wrapper",31),2&t){const t=va().$implicit;na("template",va().tooltipTemplate)("tooltip",t.valueTooltip)("placement",t.valueTooltipPlacement)("content",t.value)}}function kJ(t,e){1&t&&oa(0,"span",32),2&t&&na("innerHTML",va().$implicit.legend,vr)}const PJ=function(t){return{"ng5-slider-selected":t}};function AJ(t,e){if(1&t&&(ra(0,"span",27),oa(1,"ng5-slider-tooltip-wrapper",28),Jo(2,TJ,1,4,"ng5-slider-tooltip-wrapper",29),Jo(3,kJ,1,1,"span",30),sa()),2&t){const t=e.$implicit,n=va();na("ngClass",Pc(7,PJ,t.selected))("ngStyle",t.style),ws(1),na("template",n.tooltipTemplate)("tooltip",t.tooltip)("placement",t.tooltipPlacement),ws(1),na("ngIf",null!=t.value),ws(1),na("ngIf",null!=t.legend)}}function MJ(t,e){}function IJ(t,e){1&t&&Jo(0,MJ,0,0,"ng-template")}const DJ=function(t,e,n){return{tooltip:t,placement:e,content:n}};function RJ(t,e){if(1&t&&(aa(0),Jo(1,IJ,1,0,void 0,1),la()),2&t){const t=va();ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Ac(2,DJ,t.tooltip,t.placement,t.content))}}function NJ(t,e){if(1&t&&(aa(0),ra(1,"div",2),Ja(2),sa(),la()),2&t){const t=va();ws(1),Ko("title",t.tooltip)("data-tooltip-placement",t.placement),ws(1),el(" ",t.content," ")}}const LJ={Min:0,Max:1};LJ[LJ.Min]="Min",LJ[LJ.Max]="Max";const jJ={Low:0,High:1,Floor:2,Ceil:3,TickValue:4};jJ[jJ.Low]="Low",jJ[jJ.High]="High",jJ[jJ.Floor]="Floor",jJ[jJ.Ceil]="Ceil",jJ[jJ.TickValue]="TickValue";class FJ{constructor(){this.floor=0,this.ceil=null,this.step=1,this.minRange=null,this.maxRange=null,this.pushRange=!1,this.minLimit=null,this.maxLimit=null,this.translate=null,this.combineLabels=null,this.getLegend=null,this.stepsArray=null,this.bindIndexForStepsArray=!1,this.draggableRange=!1,this.draggableRangeOnly=!1,this.showSelectionBar=!1,this.showSelectionBarEnd=!1,this.showSelectionBarFromValue=null,this.showOuterSelectionBars=!1,this.hidePointerLabels=!1,this.hideLimitLabels=!1,this.autoHideLimitLabels=!0,this.readOnly=!1,this.disabled=!1,this.mouseEventsInterval=50,this.touchEventsInterval=50,this.inputEventsInterval=100,this.outputEventsInterval=100,this.showTicks=!1,this.showTicksValues=!1,this.tickStep=null,this.tickValueStep=1,this.ticksArray=null,this.ticksTooltip=null,this.ticksValuesTooltip=null,this.vertical=!1,this.getSelectionBarColor=null,this.getTickColor=null,this.getPointerColor=null,this.keyboardSupport=!0,this.scale=1,this.enforceStep=!0,this.enforceRange=!0,this.noSwitching=!1,this.onlyBindHandles=!1,this.rightToLeft=!1,this.reversedControls=!1,this.boundPointerLabels=!0,this.logScale=!1,this.customValueToPosition=null,this.customPositionToValue=null,this.precisionLimit=12,this.selectionBarGradient=null,this.ariaLabel=null,this.ariaLabelledBy=null,this.ariaLabelHigh=null,this.ariaLabelledByHigh=null,this.handleDimension=null,this.barDimension=null,this.animate=!0}}class BJ{}class VJ{static isNullOrUndefined(t){return null==t}static linearValueToPosition(t,e,n){return(t-e)/(n-e)}static logValueToPosition(t,e,n){return((t=Math.log(t))-(e=Math.log(e)))/((n=Math.log(n))-e)}static linearPositionToValue(t,e,n){return t*(n-e)+e}static logPositionToValue(t,e,n){return e=Math.log(e),n=Math.log(n),Math.exp(t*(n-e)+e)}static findStepIndex(t,e){const n=e.map(e=>Math.abs(t-e.value));let i=0;for(let r=0;r{r.events.next(t)};return t.addEventListener(e,s,{passive:!0,capture:!1}),r.teardownCallback=()=>{t.removeEventListener(e,s,{passive:!0,capture:!1})},r.eventsSubscription=r.events.pipe(VJ.isNullOrUndefined(i)?(0,dJ.tap)(()=>{}):(0,dJ.throttleTime)(i,void 0,{leading:!0,trailing:!0})).subscribe(t=>{n(t)}),r}detachEventListener(t){VJ.isNullOrUndefined(t.eventsSubscription)||(t.eventsSubscription.unsubscribe(),t.eventsSubscription=null),VJ.isNullOrUndefined(t.events)||(t.events.complete(),t.events=null),VJ.isNullOrUndefined(t.teardownCallback)||(t.teardownCallback(),t.teardownCallback=null)}attachEventListener(t,e,n,i){const r=new HJ;return r.eventName=e,r.events=new hJ.xQ,r.teardownCallback=this.renderer.listen(t,e,t=>{r.events.next(t)}),r.eventsSubscription=r.events.pipe(VJ.isNullOrUndefined(i)?(0,dJ.tap)(()=>{}):(0,dJ.throttleTime)(i,void 0,{leading:!0,trailing:!0})).subscribe(t=>{n(t)}),r}}let GJ=(()=>{class t{constructor(t,e,n){this.elemRef=t,this.renderer=e,this.changeDetectionRef=n,this._position=0,this._dimension=0,this._alwaysHide=!1,this._vertical=!1,this._scale=1,this.opacity=1,this.visibility="visible",this.left="",this.bottom="",this.height="",this.width="",this.eventListeners=[],this.eventListenerHelper=new $J(this.renderer)}get position(){return this._position}get dimension(){return this._dimension}get alwaysHide(){return this._alwaysHide}get vertical(){return this._vertical}get scale(){return this._scale}setAlwaysHide(t){this._alwaysHide=t,this.visibility=t?"hidden":"visible"}hide(){this.opacity=0}show(){this.alwaysHide||(this.opacity=1)}isVisible(){return!this.alwaysHide&&0!==this.opacity}setVertical(t){this._vertical=t,this._vertical?(this.left="",this.width=""):(this.bottom="",this.height="")}setScale(t){this._scale=t}setPosition(t){this._position!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._position=t,this._vertical?this.bottom=Math.round(t)+"px":this.left=Math.round(t)+"px"}calculateDimension(){const t=this.getBoundingClientRect();this._dimension=this.vertical?(t.bottom-t.top)*this.scale:(t.right-t.left)*this.scale}setDimension(t){this._dimension!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._dimension=t,this._vertical?this.height=Math.round(t)+"px":this.width=Math.round(t)+"px"}getBoundingClientRect(){return this.elemRef.nativeElement.getBoundingClientRect()}on(t,e,n){const i=this.eventListenerHelper.attachEventListener(this.elemRef.nativeElement,t,e,n);this.eventListeners.push(i)}onPassive(t,e,n){const i=this.eventListenerHelper.attachPassiveEventListener(this.elemRef.nativeElement,t,e,n);this.eventListeners.push(i)}off(t){let e,n;VJ.isNullOrUndefined(t)?(e=[],n=this.eventListeners):(e=this.eventListeners.filter(e=>e.eventName!==t),n=this.eventListeners.filter(e=>e.eventName===t));for(const i of n)this.eventListenerHelper.detachEventListener(i);this.eventListeners=e}isRefDestroyed(){return VJ.isNullOrUndefined(this.changeDetectionRef)||this.changeDetectionRef.destroyed}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderElement",""]],hostVars:12,hostBindings:function(t,e){2&t&&La("opacity",e.opacity)("visibility",e.visibility)("left",e.left)("bottom",e.bottom)("height",e.height)("width",e.width)}}),t})(),WJ=(()=>{class t extends GJ{constructor(t,e,n){super(t,e,n),this.active=!1,this.role="",this.tabindex="",this.ariaOrientation="",this.ariaLabel="",this.ariaLabelledBy="",this.ariaValueNow="",this.ariaValueText="",this.ariaValueMin="",this.ariaValueMax=""}focus(){this.elemRef.nativeElement.focus()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderHandle",""]],hostVars:11,hostBindings:function(t,e){2&t&&(Ko("role",e.role)("tabindex",e.tabindex)("aria-orientation",e.ariaOrientation)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledBy)("aria-valuenow",e.ariaValueNow)("aria-valuetext",e.ariaValueText)("aria-valuemin",e.ariaValueMin)("aria-valuemax",e.ariaValueMax),ja("ng5-slider-active",e.active))},features:[jo]}),t})(),qJ=(()=>{class t extends GJ{constructor(t,e,n){super(t,e,n),this._value=null}get value(){return this._value}setValue(t){let e=!1;!this.alwaysHide&&(VJ.isNullOrUndefined(this.value)||this.value.length!==t.length||this.value.length>0&&0===this.dimension)&&(e=!0),this._value=t,this.elemRef.nativeElement.innerHTML=t,e&&this.calculateDimension()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderLabel",""]],features:[jo]}),t})();class XJ{constructor(){this.selected=!1,this.style={},this.tooltip=null,this.tooltipPlacement=null,this.value=null,this.valueTooltip=null,this.valueTooltipPlacement=null,this.legend=null}}class YJ{constructor(){this.active=!1,this.value=0,this.difference=0,this.position=0,this.lowLimit=0,this.highLimit=0}}class KJ{static compare(t,e){return!(VJ.isNullOrUndefined(t)&&VJ.isNullOrUndefined(e)||VJ.isNullOrUndefined(t)!==VJ.isNullOrUndefined(e))&&t.value===e.value&&t.highValue===e.highValue}}class QJ extends KJ{static compare(t,e){return!(VJ.isNullOrUndefined(t)&&VJ.isNullOrUndefined(e)||VJ.isNullOrUndefined(t)!==VJ.isNullOrUndefined(e))&&t.value===e.value&&t.highValue===e.highValue&&t.forceChange===e.forceChange}}const ZJ={provide:aU,useExisting:pt(()=>JJ),multi:!0};let JJ=(()=>{class t{constructor(t,e,n,i){this.renderer=t,this.elementRef=e,this.changeDetectionRef=n,this.zone=i,this.value=null,this.valueChange=new Bc,this.highValue=null,this.highValueChange=new Bc,this.options=new FJ,this.userChangeStart=new Bc,this.userChange=new Bc,this.userChangeEnd=new Bc,this.initHasRun=!1,this.inputModelChangeSubject=new hJ.xQ,this.inputModelChangeSubscription=null,this.outputModelChangeSubject=new hJ.xQ,this.outputModelChangeSubscription=null,this.viewLowValue=null,this.viewHighValue=null,this.viewOptions=new FJ,this.handleHalfDimension=0,this.maxHandlePosition=0,this.currentTrackingPointer=null,this.currentFocusPointer=null,this.firstKeyDown=!1,this.touchId=null,this.dragging=new YJ,this.sliderElementVerticalClass=!1,this.sliderElementAnimateClass=!1,this.sliderElementDisabledAttr=null,this.barStyle={},this.minPointerStyle={},this.maxPointerStyle={},this.fullBarTransparentClass=!1,this.selectionBarDraggableClass=!1,this.ticksUnderValuesClass=!1,this.intermediateTicks=!1,this.ticks=[],this.eventListenerHelper=null,this.onMoveEventListener=null,this.onEndEventListener=null,this.resizeObserver=null,this.onTouchedCallback=null,this.onChangeCallback=null,this.eventListenerHelper=new $J(this.renderer)}set manualRefresh(t){this.unsubscribeManualRefresh(),this.manualRefreshSubscription=t.subscribe(()=>{setTimeout(()=>this.calculateViewDimensionsAndDetectChanges())})}set triggerFocus(t){this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=t.subscribe(t=>{this.focusPointer(t)})}get range(){return!VJ.isNullOrUndefined(this.value)&&!VJ.isNullOrUndefined(this.highValue)}get showTicks(){return this.viewOptions.showTicks}ngOnInit(){this.viewOptions=new FJ,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState()}ngAfterViewInit(){this.applyOptions(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval),this.subscribeOutputModelChangeSubject(this.viewOptions.outputEventsInterval),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}ngOnChanges(t){VJ.isNullOrUndefined(t.options)||this.onChangeOptions(),(!VJ.isNullOrUndefined(t.value)||!VJ.isNullOrUndefined(t.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}ngOnDestroy(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}writeValue(t){t instanceof Array?(this.value=t[0],this.highValue=t[1]):this.value=t,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}registerOnChange(t){this.onChangeCallback=t}registerOnTouched(t){this.onTouchedCallback=t}setDisabledState(t){this.viewOptions.disabled=t,this.updateDisabledState()}onResize(t){this.calculateViewDimensionsAndDetectChanges()}subscribeInputModelChangeSubject(t){this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe((0,dJ.distinctUntilChanged)(QJ.compare),(0,dJ.filter)(t=>!t.forceChange&&!t.internalChange),VJ.isNullOrUndefined(t)?(0,dJ.tap)(()=>{}):(0,dJ.throttleTime)(t,void 0,{leading:!0,trailing:!0})).subscribe(t=>this.applyInputModelChange(t))}subscribeOutputModelChangeSubject(t){this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe((0,dJ.distinctUntilChanged)(QJ.compare),VJ.isNullOrUndefined(t)?(0,dJ.tap)(()=>{}):(0,dJ.throttleTime)(t,void 0,{leading:!0,trailing:!0})).subscribe(t=>this.publishOutputModelChange(t))}subscribeResizeObserver(){zJ.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(()=>this.calculateViewDimensionsAndDetectChanges()),this.resizeObserver.observe(this.elementRef.nativeElement))}unsubscribeResizeObserver(){zJ.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}unsubscribeOnMove(){VJ.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}unsubscribeOnEnd(){VJ.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}unsubscribeInputModelChangeSubject(){VJ.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}unsubscribeOutputModelChangeSubject(){VJ.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}unsubscribeManualRefresh(){VJ.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}unsubscribeTriggerFocus(){VJ.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}getPointerElement(t){return t===LJ.Min?this.minHandleElement:t===LJ.Max?this.maxHandleElement:null}getCurrentTrackingValue(){return this.currentTrackingPointer===LJ.Min?this.viewLowValue:this.currentTrackingPointer===LJ.Max?this.viewHighValue:null}modelValueToViewValue(t){return VJ.isNullOrUndefined(t)?NaN:VJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+t:VJ.findStepIndex(+t,this.viewOptions.stepsArray)}viewValueToModelValue(t){return VJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?t:this.getStepValue(t)}getStepValue(t){const e=this.viewOptions.stepsArray[t];return VJ.isNullOrUndefined(e)?NaN:e.value}applyViewChange(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!0})}applyInputModelChange(t){const e=this.normaliseModelValues(t),n=!KJ.compare(t,e);n&&(this.value=e.value,this.highValue=e.highValue),this.viewLowValue=this.modelValueToViewValue(e.value),this.viewHighValue=this.range?this.modelValueToViewValue(e.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:e.value,highValue:e.highValue,forceChange:n,userEventInitiated:!1})}publishOutputModelChange(t){const e=()=>{this.valueChange.emit(t.value),this.range&&this.highValueChange.emit(t.highValue),VJ.isNullOrUndefined(this.onChangeCallback)||this.onChangeCallback(this.range?[t.value,t.highValue]:t.value),VJ.isNullOrUndefined(this.onTouchedCallback)||this.onTouchedCallback(this.range?[t.value,t.highValue]:t.value)};t.userEventInitiated?(e(),this.userChange.emit(this.getChangeContext())):setTimeout(()=>{e()})}normaliseModelValues(t){const e=new KJ;if(e.value=t.value,e.highValue=t.highValue,this.viewOptions.enforceStep&&(e.value=this.roundStep(e.value),this.range&&(e.highValue=this.roundStep(e.highValue))),!VJ.isNullOrUndefined(this.viewOptions.stepsArray)||!this.viewOptions.enforceRange)return e;if(e.value=UJ.clampToRange(e.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(e.highValue=UJ.clampToRange(e.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&t.value>t.highValue)if(this.viewOptions.noSwitching)e.value=e.highValue;else{const n=t.value;e.value=t.highValue,e.highValue=n}return e}renormaliseModelValues(){const t={value:this.value,highValue:this.highValue},e=this.normaliseModelValues(t);KJ.compare(e,t)||(this.value=e.value,this.highValue=e.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!0,userEventInitiated:!1}))}onChangeOptions(){if(!this.initHasRun)return;const t=this.viewOptions.inputEventsInterval,e=this.viewOptions.outputEventsInterval;this.applyOptions(),t!==this.viewOptions.inputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval)),e!==this.viewOptions.outputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.outputEventsInterval)),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider()}applyOptions(){if(this.viewOptions=new FJ,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!VJ.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!VJ.isNullOrUndefined(this.viewOptions.tickStep)||!VJ.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!VJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),VJ.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),VJ.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=(t,e)=>t+" - "+e),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}applyStepsArrayOptions(){this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,VJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(this.viewOptions.bindIndexForStepsArray?this.getStepValue(t):t)),this.viewOptions.getLegend=t=>this.viewOptions.stepsArray[t].legend}applyFloorCeilOptions(){if(VJ.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),VJ.isNullOrUndefined(this.viewOptions.ceil)||VJ.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,VJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(t))}resetSlider(){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.unbindEvents(),this.manageEventsBindings(),this.updateDisabledState(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}focusPointer(t){t!==LJ.Min&&t!==LJ.Max&&(t=LJ.Min),t===LJ.Min?this.minHandleElement.focus():this.range&&t===LJ.Max&&this.maxHandleElement.focus()}refocusPointerIfNeeded(){VJ.isNullOrUndefined(this.currentFocusPointer)||(this.onPointerFocus(this.currentFocusPointer),this.getPointerElement(this.currentFocusPointer).focus())}manageElementsStyle(){this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);const t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(()=>{this.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate})}manageEventsBindings(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}updateDisabledState(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}updateVerticalState(){this.sliderElementVerticalClass=this.viewOptions.vertical;for(const t of this.getAllSliderElements())VJ.isNullOrUndefined(t)||t.setVertical(this.viewOptions.vertical)}updateScale(){for(const t of this.getAllSliderElements())t.setScale(this.viewOptions.scale)}getAllSliderElements(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}initHandles(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}addAccessibility(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.viewOptions.vertical&&(this.minHandleElement.ariaOrientation="vertical"),VJ.isNullOrUndefined(this.viewOptions.ariaLabel)?VJ.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical?"vertical":"horizontal",VJ.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?VJ.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}updateAriaAttributes(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,jJ.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,jJ.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}calculateViewDimensions(){VJ.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);const t=this.minHandleElement.dimension;this.handleHalfDimension=t/2,VJ.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-t,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}calculateViewDimensionsAndDetectChanges(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}isRefDestroyed(){return this.changeDetectionRef.destroyed}updateTicksScale(){if(!this.viewOptions.showTicks)return;const t=VJ.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,e=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();const n=t.map(t=>{let n=this.valueToPosition(t);this.viewOptions.vertical&&(n=this.maxHandlePosition-n);const i=e+"("+Math.round(n)+"px)",r=new XJ;if(r.selected=this.isTickSelected(t),r.style={"-webkit-transform":i,"-moz-transform":i,"-o-transform":i,"-ms-transform":i,transform:i},r.selected&&!VJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)&&(r.style["background-color"]=this.getSelectionBarColor()),!r.selected&&!VJ.isNullOrUndefined(this.viewOptions.getTickColor)&&(r.style["background-color"]=this.getTickColor(t)),VJ.isNullOrUndefined(this.viewOptions.ticksTooltip)||(r.tooltip=this.viewOptions.ticksTooltip(t),r.tooltipPlacement=this.viewOptions.vertical?"right":"top"),this.viewOptions.showTicksValues&&t%this.viewOptions.tickValueStep==0&&(r.value=this.getDisplayValue(t,jJ.TickValue),VJ.isNullOrUndefined(this.viewOptions.ticksValuesTooltip)||(r.valueTooltip=this.viewOptions.ticksValuesTooltip(t),r.valueTooltipPlacement=this.viewOptions.vertical?"right":"top")),!VJ.isNullOrUndefined(this.viewOptions.getLegend)){const e=this.viewOptions.getLegend(t);VJ.isNullOrUndefined(e)||(r.legend=e)}return r});if(VJ.isNullOrUndefined(this.ticks)||this.ticks.length!==n.length)this.ticks=n;else for(let i=0;i=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&t<=this.viewLowValue)return!0}else{const e=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>e&&t>=e&&t<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&t>=this.viewLowValue&&t<=this.viewHighValue)}updateFloorLabel(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,jJ.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}updateCeilLabel(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,jJ.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}updateHandles(t,e){t===LJ.Min?this.updateLowHandle(e):t===LJ.Max&&this.updateHighHandle(e),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}getHandleLabelPos(t,e){const n=t===LJ.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,i=e-n/2+this.handleHalfDimension,r=this.fullBarElement.dimension-n;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&t===LJ.Min||!this.viewOptions.rightToLeft&&t===LJ.Max?Math.min(i,r):Math.min(Math.max(i,0),r):i}updateLowHandle(t){this.minHandleElement.setPosition(t),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,jJ.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(LJ.Min,t)),VJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(LJ.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateHighHandle(t){this.maxHandleElement.setPosition(t),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,jJ.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(LJ.Max,t)),VJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(LJ.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateFloorAndCeilLabelsVisibility(){if(this.viewOptions.hidePointerLabels)return;let t=!1,e=!1;const n=this.isLabelBelowFloorLabel(this.minHandleLabelElement),i=this.isLabelAboveCeilLabel(this.minHandleLabelElement),r=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),s=this.isLabelBelowFloorLabel(this.combinedLabelElement),o=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(n?(t=!0,this.floorLabelElement.hide()):(t=!1,this.floorLabelElement.show()),i?(e=!0,this.ceilLabelElement.hide()):(e=!1,this.ceilLabelElement.show()),this.range){const i=this.combinedLabelElement.isVisible()?o:r,a=this.combinedLabelElement.isVisible()?s:n;i?this.ceilLabelElement.hide():e||this.ceilLabelElement.show(),a?this.floorLabelElement.hide():t||this.floorLabelElement.show()}}isLabelBelowFloorLabel(t){const e=t.position,n=this.floorLabelElement.position;return this.viewOptions.rightToLeft?e+t.dimension>=n-2:e<=n+this.floorLabelElement.dimension+2}isLabelAboveCeilLabel(t){const e=t.position,n=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?e<=n+this.ceilLabelElement.dimension+2:e+t.dimension>=n-2}updateSelectionBar(){let t=0,e=0;const n=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,i=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)e=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),t=i;else if(VJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))n?(e=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),t=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(e=this.minHandleElement.position+this.handleHalfDimension,t=0);else{const n=this.viewOptions.showSelectionBarFromValue,i=this.valueToPosition(n);(this.viewOptions.rightToLeft?this.viewLowValue<=n:this.viewLowValue>n)?(e=this.minHandleElement.position-i,t=i+this.handleHalfDimension):(e=i-this.minHandleElement.position,t=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(e),this.selectionBarElement.setPosition(t),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(t),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+e)),this.leftOuterSelectionBarElement.setPosition(t+e)):(this.leftOuterSelectionBarElement.setDimension(t),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+e)),this.rightOuterSelectionBarElement.setPosition(t+e))),VJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!VJ.isNullOrUndefined(this.viewOptions.selectionBarGradient)){const i=VJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),r=i-t>0&&!n||i-t<=0&&n;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?r?"bottom":"top":r?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(i+e+t+(r?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=i-t+(r?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{const t=this.getSelectionBarColor();this.barStyle={backgroundColor:t}}}getSelectionBarColor(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}getPointerColor(t){return this.viewOptions.getPointerColor(t===LJ.Max?this.highValue:this.value,t)}getTickColor(t){return this.viewOptions.getTickColor(t)}updateCombinedLabel(){let t=null;if(t=this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position,t){const t=this.getDisplayValue(this.viewLowValue,jJ.Low),e=this.getDisplayValue(this.viewHighValue,jJ.High),n=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(e,t):this.viewOptions.combineLabels(t,e);this.combinedLabelElement.setValue(n);const i=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(i),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}getDisplayValue(t,e){return!VJ.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(t=this.getStepValue(t)),this.viewOptions.translate(t,e)}roundStep(t,e){const n=VJ.isNullOrUndefined(e)?this.viewOptions.step:e;let i=UJ.roundToPrecisionLimit((t-this.viewOptions.floor)/n,this.viewOptions.precisionLimit);return i=Math.round(i)*n,UJ.roundToPrecisionLimit(this.viewOptions.floor+i,this.viewOptions.precisionLimit)}valueToPosition(t){let e=VJ.linearValueToPosition;VJ.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(e=VJ.logValueToPosition):e=this.viewOptions.customValueToPosition;let n=e(t=UJ.clampToRange(t,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return VJ.isNullOrUndefined(n)&&(n=0),this.viewOptions.rightToLeft&&(n=1-n),n*this.maxHandlePosition}positionToValue(t){let e=t/this.maxHandlePosition;this.viewOptions.rightToLeft&&(e=1-e);let n=VJ.linearPositionToValue;VJ.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(n=VJ.logPositionToValue):n=this.viewOptions.customPositionToValue;const i=n(e,this.viewOptions.floor,this.viewOptions.ceil);return VJ.isNullOrUndefined(i)?0:i}getEventXY(t,e){if(t instanceof MouseEvent)return this.viewOptions.vertical?t.clientY:t.clientX;let n=0;const i=t.touches;if(!VJ.isNullOrUndefined(e))for(let r=0;ri?LJ.Max:this.viewOptions.rightToLeft?e>this.minHandleElement.position?LJ.Min:LJ.Max:ethis.onBarStart(null,t,e,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.on("mousedown",e=>this.onBarStart(LJ.Min,t,e,!0,!0)),this.maxHandleElement.on("mousedown",e=>this.onBarStart(LJ.Max,t,e,!0,!0))):(this.minHandleElement.on("mousedown",t=>this.onStart(LJ.Min,t,!0,!0)),this.range&&this.maxHandleElement.on("mousedown",t=>this.onStart(LJ.Max,t,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.on("mousedown",t=>this.onStart(null,t,!0,!0,!0)),this.ticksElement.on("mousedown",t=>this.onStart(null,t,!0,!0,!0,!0)))),this.viewOptions.onlyBindHandles||this.selectionBarElement.onPassive("touchstart",e=>this.onBarStart(null,t,e,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.onPassive("touchstart",e=>this.onBarStart(LJ.Min,t,e,!0,!0)),this.maxHandleElement.onPassive("touchstart",e=>this.onBarStart(LJ.Max,t,e,!0,!0))):(this.minHandleElement.onPassive("touchstart",t=>this.onStart(LJ.Min,t,!0,!0)),this.range&&this.maxHandleElement.onPassive("touchstart",t=>this.onStart(LJ.Max,t,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.onPassive("touchstart",t=>this.onStart(null,t,!0,!0,!0)),this.ticksElement.onPassive("touchstart",t=>this.onStart(null,t,!1,!1,!0,!0)))),this.viewOptions.keyboardSupport&&(this.minHandleElement.on("focus",()=>this.onPointerFocus(LJ.Min)),this.range&&this.maxHandleElement.on("focus",()=>this.onPointerFocus(LJ.Max)))}unbindEvents(){this.unsubscribeOnMove(),this.unsubscribeOnEnd();for(const t of this.getAllSliderElements())VJ.isNullOrUndefined(t)||t.off()}onBarStart(t,e,n,i,r,s,o){e?this.onDragStart(t,n,i,r):this.onStart(t,n,i,r,s,o)}onStart(t,e,n,i,r,s){e.stopPropagation(),(!zJ.isTouchEvent(e)||!pJ.Z.hasSupport)&&e.preventDefault(),this.calculateViewDimensions(),VJ.isNullOrUndefined(t)&&(t=this.getNearestHandle(e)),this.currentTrackingPointer=t;const o=this.getPointerElement(t);if(o.active=!0,this.viewOptions.keyboardSupport&&o.focus(),n){this.unsubscribeOnMove();const t=t=>this.dragging.active?this.onDragMove(t):this.onMove(t);this.onMoveEventListener=zJ.isTouchEvent(e)?this.eventListenerHelper.attachPassiveEventListener(document,"touchmove",t,this.viewOptions.touchEventsInterval):this.eventListenerHelper.attachEventListener(document,"mousemove",t,this.viewOptions.mouseEventsInterval)}if(i){this.unsubscribeOnEnd();const t=t=>this.onEnd(t);this.onEndEventListener=zJ.isTouchEvent(e)?this.eventListenerHelper.attachPassiveEventListener(document,"touchend",t):this.eventListenerHelper.attachEventListener(document,"mouseup",t)}this.userChangeStart.emit(this.getChangeContext()),zJ.isTouchEvent(e)&&!VJ.isNullOrUndefined(e.changedTouches)&&VJ.isNullOrUndefined(this.touchId)&&(this.touchId=e.changedTouches[0].identifier),r&&this.onMove(e,!0),s&&this.onEnd(e)}onMove(t,e){let n=null;if(zJ.isTouchEvent(t)){const e=t.changedTouches;for(let t=0;t=this.maxHandlePosition?r=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(r=this.positionToValue(i),r=e&&!VJ.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(r,this.viewOptions.tickStep):this.roundStep(r)),this.positionTrackingHandle(r)}onEnd(t){zJ.isTouchEvent(t)&&t.changedTouches[0].identifier!==this.touchId||(this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext()))}onPointerFocus(t){const e=this.getPointerElement(t);e.on("blur",()=>this.onPointerBlur(e)),e.on("keydown",t=>this.onKeyboardEvent(t)),e.on("keyup",()=>this.onKeyUp()),e.active=!0,this.currentTrackingPointer=t,this.currentFocusPointer=t,this.firstKeyDown=!0}onKeyUp(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}onPointerBlur(t){t.off("blur"),t.off("keydown"),t.off("keyup"),t.active=!1,VJ.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}getKeyActions(t){const e=this.viewOptions.ceil-this.viewOptions.floor;let n=t+this.viewOptions.step,i=t-this.viewOptions.step,r=t+e/10,s=t-e/10;this.viewOptions.reversedControls&&(n=t-this.viewOptions.step,i=t+this.viewOptions.step,r=t-e/10,s=t+e/10);const o={UP:n,DOWN:i,LEFT:i,RIGHT:n,PAGEUP:r,PAGEDOWN:s,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(o.LEFT=n,o.RIGHT=i,this.viewOptions.vertical&&(o.UP=i,o.DOWN=n)),o}onKeyboardEvent(t){const e=this.getCurrentTrackingValue(),n=VJ.isNullOrUndefined(t.keyCode)?t.which:t.keyCode,i=this.getKeyActions(e)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[n]];if(VJ.isNullOrUndefined(i)||VJ.isNullOrUndefined(this.currentTrackingPointer))return;t.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));const r=UJ.clampToRange(i,this.viewOptions.floor,this.viewOptions.ceil),s=this.roundStep(r);if(this.viewOptions.draggableRangeOnly){const t=this.viewHighValue-this.viewLowValue;let e,n;this.currentTrackingPointer===LJ.Min?(e=s,n=s+t,n>this.viewOptions.ceil&&(n=this.viewOptions.ceil,e=n-t)):this.currentTrackingPointer===LJ.Max&&(n=s,e=s-t,e=this.maxHandlePosition-n;let a,l;if(e<=i){if(0===r.position)return;a=this.getMinValue(e,!0,!1),l=this.getMaxValue(e,!0,!1)}else if(o){if(s.position===this.maxHandlePosition)return;l=this.getMaxValue(e,!0,!0),a=this.getMinValue(e,!0,!0)}else a=this.getMinValue(e,!1,!1),l=this.getMaxValue(e,!1,!1);this.positionTrackingBar(a,l)}positionTrackingBar(t,e){!VJ.isNullOrUndefined(this.viewOptions.minLimit)&&tthis.viewOptions.maxLimit&&(t=UJ.roundToPrecisionLimit((e=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=t,this.viewHighValue=e,this.applyViewChange(),this.updateHandles(LJ.Min,this.valueToPosition(t)),this.updateHandles(LJ.Max,this.valueToPosition(e))}positionTrackingHandle(t){t=this.applyMinMaxLimit(t),this.range&&(this.viewOptions.pushRange?t=this.applyPushRange(t):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===LJ.Min&&t>this.viewHighValue?t=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===LJ.Max&&tthis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(LJ.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=LJ.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===LJ.Max&&tthis.viewOptions.maxLimit?this.viewOptions.maxLimit:t}applyMinMaxRange(t){const e=Math.abs(t-(this.currentTrackingPointer===LJ.Min?this.viewHighValue:this.viewLowValue));if(!VJ.isNullOrUndefined(this.viewOptions.minRange)&&ethis.viewOptions.maxRange){if(this.currentTrackingPointer===LJ.Min)return UJ.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===LJ.Max)return UJ.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return t}applyPushRange(t){const e=this.currentTrackingPointer===LJ.Min?this.viewHighValue-t:t-this.viewLowValue,n=VJ.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,i=this.viewOptions.maxRange;return ei&&(this.currentTrackingPointer===LJ.Min?(this.viewHighValue=UJ.roundToPrecisionLimit(t+i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(LJ.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===LJ.Max&&(this.viewLowValue=UJ.roundToPrecisionLimit(t-i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(LJ.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),t}getChangeContext(){const t=new BJ;return t.pointerType=this.currentTrackingPointer,t.value=+this.value,this.range&&(t.highValue=+this.highValue),t}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al),ea(nc),ea(Tu))},t.\u0275cmp=Jt({type:t,selectors:[["ng5-slider"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,fJ,5),2&t){let t;Qc(t=tu())&&(e.tooltipTemplate=t.first)}},viewQuery:function(t,e){if(1&t&&(Zc(gJ,5,GJ),Zc(mJ,5,GJ),Zc(bJ,5,GJ),Zc(yJ,5,GJ),Zc(vJ,5,WJ),Zc(_J,5,WJ),Zc(wJ,5,qJ),Zc(xJ,5,qJ),Zc(SJ,5,qJ),Zc(CJ,5,qJ),Zc(EJ,5,qJ),Zc(OJ,5,GJ)),2&t){let t;Qc(t=tu())&&(e.leftOuterSelectionBarElement=t.first),Qc(t=tu())&&(e.rightOuterSelectionBarElement=t.first),Qc(t=tu())&&(e.fullBarElement=t.first),Qc(t=tu())&&(e.selectionBarElement=t.first),Qc(t=tu())&&(e.minHandleElement=t.first),Qc(t=tu())&&(e.maxHandleElement=t.first),Qc(t=tu())&&(e.floorLabelElement=t.first),Qc(t=tu())&&(e.ceilLabelElement=t.first),Qc(t=tu())&&(e.minHandleLabelElement=t.first),Qc(t=tu())&&(e.maxHandleLabelElement=t.first),Qc(t=tu())&&(e.combinedLabelElement=t.first),Qc(t=tu())&&(e.ticksElement=t.first)}},hostAttrs:[1,"ng5-slider"],hostVars:5,hostBindings:function(t,e){1&t&&fa("resize",function(t){return e.onResize(t)},!1,Ar),2&t&&(Ko("disabled",e.sliderElementDisabledAttr),ja("vertical",e.sliderElementVerticalClass)("animate",e.sliderElementAnimateClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},features:[xl([ZJ]),ye],decls:29,vars:13,consts:[["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-left-out-selection"],["leftOuterSelectionBar",""],[1,"ng5-slider-span","ng5-slider-bar"],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-right-out-selection"],["rightOuterSelectionBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-full-bar"],["fullBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-selection-bar"],["selectionBar",""],[1,"ng5-slider-span","ng5-slider-bar","ng5-slider-selection",3,"ngStyle"],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-min",3,"ngStyle"],["minHandle",""],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-max",3,"ngStyle"],["maxHandle",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-floor"],["floorLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-ceil"],["ceilLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-value"],["minHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-high"],["maxHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-combined"],["combinedLabel",""],["ng5SliderElement","",1,"ng5-slider-ticks",3,"hidden"],["ticksElement",""],["class","ng5-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ng5-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ng5-slider-span ng5-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ng5-slider-span ng5-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ng5-slider-span","ng5-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ng5-slider-span","ng5-slider-tick-legend",3,"innerHTML"]],template:function(t,e){1&t&&(ra(0,"span",0,1),oa(2,"span",2),sa(),ra(3,"span",3,4),oa(5,"span",2),sa(),ra(6,"span",5,6),oa(8,"span",2),sa(),ra(9,"span",7,8),oa(11,"span",9),sa(),oa(12,"span",10,11),oa(14,"span",12,13),oa(16,"span",14,15),oa(18,"span",16,17),oa(20,"span",18,19),oa(22,"span",20,21),oa(24,"span",22,23),ra(26,"span",24,25),Jo(28,AJ,4,9,"span",26),sa()),2&t&&(ws(6),ja("ng5-slider-transparent",e.fullBarTransparentClass),ws(3),ja("ng5-slider-draggable",e.selectionBarDraggableClass),ws(2),na("ngStyle",e.barStyle),ws(1),na("ngStyle",e.minPointerStyle),ws(2),La("display",e.range?"inherit":"none"),na("ngStyle",e.maxPointerStyle),ws(12),ja("ng5-slider-ticks-values-under",e.ticksUnderValuesClass),na("hidden",!e.showTicks),ws(2),na("ngForOf",e.ticks))},directives:function(){return[GJ,jh,WJ,qJ,kh,Oh,t0,Ah]},styles:[".ng5-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y} .ng5-slider.with-legend{margin-bottom:40px} .ng5-slider[disabled]{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ng5-slider[disabled] .ng5-slider-draggable{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-selection{background:#8b91a2} .ng5-slider[disabled] .ng5-slider-tick{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-tick.ng5-slider-selected{background:#8b91a2} .ng5-slider .ng5-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ng5-slider .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider .ng5-slider-bar-wrapper{left:0;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ng5-slider .ng5-slider-draggable{cursor:move} .ng5-slider .ng5-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;border-radius:2px} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-transparent .ng5-slider-bar{background:0 0} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-left-out-selection .ng5-slider-bar{background:#df002d} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-right-out-selection .ng5-slider-bar{background:#03a688} .ng5-slider .ng5-slider-selection{z-index:2;background:#0db9f0;border-radius:2px} .ng5-slider .ng5-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;border-radius:16px} .ng5-slider .ng5-slider-pointer:after{content:'';width:8px;height:8px;position:absolute;top:12px;left:12px;border-radius:4px;background:#fff} .ng5-slider .ng5-slider-pointer:hover:after{background-color:#fff} .ng5-slider .ng5-slider-pointer.ng5-slider-active{z-index:4} .ng5-slider .ng5-slider-pointer.ng5-slider-active:after{background-color:#451aff} .ng5-slider .ng5-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ng5-slider .ng5-slider-bubble.ng5-slider-limit{color:#55637d} .ng5-slider .ng5-slider-ticks{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ng5-slider .ng5-slider-ticks-values-under .ng5-slider-tick-value{top:auto;bottom:-36px} .ng5-slider .ng5-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ng5-slider .ng5-slider-tick.ng5-slider-selected{background:#0db9f0} .ng5-slider .ng5-slider-tick-value{position:absolute;top:-34px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)} .ng5-slider .ng5-slider-tick-legend{position:absolute;top:24px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);max-width:50px;white-space:normal} .ng5-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;-ms-touch-action:pan-x;touch-action:pan-x} .ng5-slider.vertical .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider.vertical .ng5-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ng5-slider.vertical .ng5-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ng5-slider.vertical .ng5-slider-pointer{left:-14px!important;top:auto;bottom:0} .ng5-slider.vertical .ng5-slider-bubble{left:16px!important;bottom:0} .ng5-slider.vertical .ng5-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ng5-slider.vertical .ng5-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ng5-slider.vertical .ng5-slider-tick-value{left:24px;top:auto;-webkit-transform:translate(0,-28%);transform:translate(0,-28%)} .ng5-slider.vertical .ng5-slider-tick-legend{top:auto;right:24px;-webkit-transform:translate(0,-28%);transform:translate(0,-28%);max-width:none;white-space:nowrap} .ng5-slider.vertical .ng5-slider-ticks-values-under .ng5-slider-tick-value{bottom:auto;left:auto;right:24px} .ng5-slider *{-webkit-transition:none;transition:none} .ng5-slider.animate .ng5-slider-bar-wrapper{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-selection{-webkit-transition:background-color linear .3s;transition:background-color linear .3s} .ng5-slider.animate .ng5-slider-pointer{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-limit{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-combined{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-tick{-webkit-transition:background-color linear .3s;transition:background-color linear .3s}"]}),t})(),t0=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ng5-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng5-slider-inner-tooltip"]],template:function(t,e){1&t&&(Jo(0,RJ,2,6,"ng-container",0),Jo(1,NJ,3,3,"ng-container",0)),2&t&&(na("ngIf",e.template),ws(1),na("ngIf",!e.template))},directives:[Ah,Fh],styles:[".ng5-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]}),t})(),e0=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();const n0=["popover"];function i0(t,e){if(1&t){const t=ua();ra(0,"div",7,8),ra(2,"div"),ra(3,"div",9),Ja(4),sa(),ra(5,"input",10),fa("keyup",function(e){return $e(t),va().onKeyLow(e)}),sa(),sa(),ra(6,"ng5-slider",11),fa("valueChange",function(e){return $e(t),va().lowValue=e})("highValueChange",function(e){return $e(t),va().highValue=e})("userChangeEnd",function(){return $e(t),va().sliderValueChanged()}),sa(),ra(7,"div"),ra(8,"div",12),Ja(9),sa(),ra(10,"input",13),fa("keyup",function(e){return $e(t),va().onKeyHigh(e)}),sa(),sa(),sa()}if(2&t){const t=va();ws(2),il("label min fade-in ",t.contentsVisible,""),ws(2),el(" ",t.options.floor,"> "),ws(1),Sa("value",t.lowValue),ws(1),il("slider fade-in ",t.contentsVisible,""),na("options",t.options)("value",t.lowValue)("highValue",t.highValue),ws(1),il("label max fade-in ",t.contentsVisible,""),ws(2),el(" ",t.options.ceil," "),ws(1),Sa("value",t.highValue)}}let r0=(()=>{class t{constructor(t,e,n){this.element=e,this.ga=n,this.selectionChange=new Bc,this.isSliderOpen=!1,this.contentsVisible="invisible",this.isSliderInitialized=!1;const i=t.position().flexibleConnectedTo(e).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"}]);this.overlayRef=t.create({panelClass:"slider-pane",positionStrategy:i})}get rangeLabel(){const{lowValue:t,highValue:e}=this;return t===e?`${t}`:`${t}-${e}`}ngOnChanges(t){t.valueRange&&this.optionsChanged(),t.selection&&(this.lowValue=Math.min(...this.selection),this.highValue=Math.max(...this.selection))}optionsChanged(){var t,e;this.options={floor:this.valueRange?this.valueRange[0]:0,ceil:this.valueRange?this.valueRange[1]:0,step:1,hideLimitLabels:!0,hidePointerLabels:!0},this.lowValue=null!==(t=this.options.floor)&&void 0!==t?t:0,this.highValue=null!==(e=this.options.ceil)&&void 0!==e?e:0}ngOnDestroy(){this.overlayRef.dispose()}closeSliderPopover(t){var e,n;const{element:i,isSliderOpen:r,popoverElement:s}=this;r&&(i.nativeElement.contains(t)||(null===(n=null===(e=null==s?void 0:s.nativeElement)||void 0===e?void 0:e.contains)||void 0===n?void 0:n.call(e,t))||(this.overlayRef.detach(),this.isSliderInitialized=!1,this.isSliderOpen=!1,this.contentsVisible="invisible"))}toggleSliderPopover(){const{isSliderOpen:t,isSliderInitialized:e}=this;e?(this.overlayRef.detach(),this.isSliderInitialized=!1):!e&&!t&&this.initializeSliderPopover(),this.contentsVisible="visible"===this.contentsVisible?"invisible":"visible",this.isSliderOpen=!t}sliderValueChanged(){const{lowValue:t,highValue:e}=this;this.selection=[t,e],this.ga.event("slider_range_change","dual_slider",`${this.label}:${t}:${e}`),this.selectionChange.emit(this.selection)}initializeSliderPopover(){const{overlayRef:t,popoverPortal:e}=this;t.attach(e),t.updatePosition(),this.isSliderInitialized=!0}onKeyLow(t){const e=Number(t.target.value);"Enter"===t.key&&(e>=Number(this.options.floor)&&e<=Number(this.options.ceil)&&(this.lowValue=e),t.target.value=String(this.lowValue),t.target.blur(),this.sliderValueChanged())}onKeyHigh(t){const e=Number(t.target.value);"Enter"===t.key&&(e>=Number(this.options.floor)&&e<=Number(this.options.ceil)&&(this.highValue=e),t.target.value=String(this.highValue),t.target.blur(),this.sliderValueChanged())}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-dual-slider"]],viewQuery:function(t,e){if(1&t&&(Zc(Zp,7),Zc(n0,5,Al)),2&t){let t;Qc(t=tu())&&(e.popoverPortal=t.first),Qc(t=tu())&&(e.popoverElement=t.first)}},hostBindings:function(t,e){1&t&&fa("click",function(t){return e.closeSliderPopover(t.target)},!1,Mr)("touchstart",function(t){return e.closeSliderPopover(t.target)},!1,Mr)},inputs:{label:"label",valueRange:"valueRange",selection:"selection"},outputs:{selectionChange:"selectionChange"},features:[ye],decls:10,vars:4,consts:[[1,"ccf-slider","wrapper"],[1,"container"],["class","ccf-slider detached",4,"cdk-portal"],[1,"slider-form-field",3,"click"],[1,"slider-labels"],[1,"name-label"],[1,"range-label"],[1,"ccf-slider","detached"],["popover",""],[1,"label","floor"],["type","text",1,"input-low",3,"value","keyup"],[3,"options","value","highValue","valueChange","highValueChange","userChangeEnd"],[1,"label","ceil"],["type","text",1,"input-high",3,"value","keyup"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Jo(2,i0,11,16,"div",2),ra(3,"mat-form-field",3),fa("click",function(){return e.toggleSliderPopover()}),ra(4,"div",4),ra(5,"span",5),Ja(6),sa(),ra(7,"span",6),Ja(8),sa(),sa(),oa(9,"mat-select"),sa(),sa(),sa()),2&t&&(ws(3),ja("highlight",e.isSliderOpen),ws(3),tl(e.label),ws(2),tl(e.rangeLabel))},directives:[Jp,QH,aJ,JJ],styles:[".slider-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;font-size:.875rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.slider-labels[_ngcontent-%COMP%]{display:flex;flex-direction:column}.slider-labels[_ngcontent-%COMP%] .name-label[_ngcontent-%COMP%]{padding-bottom:.25rem}.slider-labels[_ngcontent-%COMP%] .range-label[_ngcontent-%COMP%]{font-weight:bold} .ccf-slider.wrapper .mat-select-arrow-wrapper{transform:translatey(-1.5em)}@-webkit-keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .slider-pane{position:absolute!important;top:-1px}.ccf-slider.detached[_ngcontent-%COMP%]{-webkit-animation:slideInHorizontalSlider .3s;animation:slideInHorizontalSlider .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;display:flex;justify-content:center;align-items:center;width:0rem;height:4.375rem;padding:.75rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] {visibility:hidden;margin-top:.9375rem;margin-bottom:.9375rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-bar{opacity:.2;height:.15rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-selection{opacity:1}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer{width:1rem;height:1rem;top:-.405rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer:after{display:none}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:2rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.min[_ngcontent-%COMP%]{margin-right:1rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%]{margin-left:1rem;align-items:flex-end}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{text-align:right}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .floor[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%]{font-size:.875rem}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border:none;width:1.75rem;font-size:1rem;font-weight:bold;padding:0}"]}),t})();function s0(t,e){if(1&t){const t=ua();ra(0,"div",4),ra(1,"mat-checkbox",5),fa("change",function(e){const n=$e(t).$implicit;return va().filterOnChange(e,n)}),Ja(2),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ws(1),na("checked",null==n.selection?null:n.selection.includes(t)),ws(1),el(" ",t," ")}}let o0=(()=>{class t{constructor(t){this.ga=t,this.selection=[],this.columns=3,this.selectionChange=new Bc}filterOnChange(t,e){t.checked?(this.selection=[...this.selection,e],this.ga.event("filter_added","filter_checkbox",e)):(this.selection=this.selection.filter(t=>t!==e),this.ga.event("filter_removed","filter_checkbox",e)),this.selectionChange.emit(this.selection)}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-checkbox"]],inputs:{label:"label",options:"options",selection:"selection",columns:"columns"},outputs:{selectionChange:"selectionChange"},decls:5,vars:6,consts:[[1,"filter-container"],[1,"filter-label"],[1,"options-container"],["class","option",4,"ngFor","ngForOf"],[1,"option"],[3,"checked","change"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"div",2),Jo(4,s0,3,2,"div",3),sa(),sa()),2&t&&(ws(2),tl(e.label),ws(1),ja("three",3===e.columns)("four",4===e.columns),ws(1),na("ngForOf",e.options))},directives:[kh,_K],styles:[".mat-checkbox.mat-accent .mat-checkbox-checkmark-path{stroke:#fff!important} .mat-checkbox.mat-accent .mat-checkbox-inner-container{margin-right:1rem}.filter-label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}.options-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap}.options-container.three[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:33%}.options-container.four[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:25%}"],changeDetection:0}),t})();var a0;let l0=(()=>{class t{}return t.type="[SpatialSearchUi] Really update spatial search data",t})(),c0=a0=class{constructor(t,e,n,i){this.dataSource=t,this.store=e,this.ga=i,n.pipe(Cz(VZ),rg(500),eg(()=>e.dispatch(l0))).subscribe()}static organEntity(t,e){const{organId:n,sex:i}=t;return e.find(t=>{var e;return t.representation_of===n&&(null===(e=t.sex)||void 0===e?void 0:e.toLowerCase())===i})}startSpatialSearchFlow(t){const{sex:e,organId:n}=t.getState(),i=null==n?void 0:n.split("/").slice(-1)[0];return this.ga.event("set_organ","spatial_search_ui",`${e}_${i}`),t.dispatch(new DZ(e))}setSex(t,{sex:e}){let{organId:n}=t.getState();t.patchState({sex:e}),this.ga.event("set_sex","spatial_search_ui",e),void 0!==n&&!this.organValidForSex(n,e)&&(n=void 0);const i=Object.assign(Object.assign({},this.store.selectSnapshot(qQ.filter)),{spatialSearches:[]}),r=this.store.selectSnapshot(sZ.referenceOrgans);return this.dataSource.getOntologyTermOccurences(i).pipe(rf(1),eg(e=>{t.patchState({referenceOrgans:r.filter(t=>t.id&&!t.disabled&&e[t.id]>0)}),t.dispatch(new RZ(n))}))}setOrgan(t,{organId:e}){const{sex:n}=t.getState();t.patchState({sex:n,organId:e});const i=null==e?void 0:e.split("/").slice(-1)[0];this.ga.event("set_organ","spatial_search_ui",i);const r=this.store.selectSnapshot(a0.organEntity);if(r&&e&&r.sex){const{x_dimension:n,y_dimension:i,z_dimension:s}=r,o={x:Math.round(n/2),y:Math.round(i/2),z:Math.round(s/2)},a=Math.round(.07*Math.max(n,i,s)),l=this.store.selectSnapshot(qQ.filter),c=Object.assign(Object.assign({},l),{sex:r.sex,ontologyTerms:[e],spatialSearches:[]});return this.dataSource.getReferenceOrganScene(e,c).pipe(rf(1),eg(e=>{t.patchState({position:o,radius:a,defaultPosition:o,radiusSettings:{min:Math.min(a,5),max:Math.floor(Math.max(n,i,s)/1.5),defaultValue:a},organScene:bY(r).concat(e)})}),W(()=>t.dispatch(new VZ)))}}setPosition(t,{position:e}){t.patchState({position:e}),t.dispatch(new VZ);const{x:n,y:i,z:r}=e;this.ga.event("set_position","spatial_search_ui",`${n}_${i}_${r}`)}resetPosition(t){const{defaultPosition:e}=t.getState();t.patchState({position:e}),t.dispatch(new VZ);const{x:n,y:i,z:r}=null!=e?e:{x:0,y:0,z:0};this.ga.event("reset_position","spatial_search_ui",`${n}_${i}_${r}`)}moveToNode(t,{node:e}){const n=new VT(e.transformMatrix),[i,r,s]=n.getTranslation().map(t=>Math.round(1e3*t));return t.dispatch(new NZ({x:i,y:r,z:s}))}setRadius(t,{radius:e}){t.patchState({radius:e}),t.dispatch(new VZ),this.ga.event("set_radius","spatial_search_ui",e.toFixed(1))}resetRadius(t){var e;const{radiusSettings:n}=t.getState(),i=null!==(e=null==n?void 0:n.defaultValue)&&void 0!==e?e:0;t.patchState({radius:i}),t.dispatch(new VZ),this.ga.event("reset_radius","spatial_search_ui",i.toFixed(1))}updateSpatialSearch(t){const{position:e,radius:n}=t.getState(),i=this.store.selectSnapshot(a0.organEntity);if(i&&e&&n&&i.representation_of){const r=this.dataSource,s=i.representation_of,o=this.store.selectSnapshot(qQ.filter),a=Object.assign(Object.assign({},o),{sex:i.sex,ontologyTerms:[s],spatialSearches:[Object.assign(Object.assign({},e),{radius:n,target:i["@id"]})]});return Ev({spatialSearchScene:r.getReferenceOrganScene(s,a).pipe(rf(1)),tissueBlocks:r.getTissueBlockResults(a).pipe(rf(1)),anatomicalStructures:r.getOntologyTermOccurences(a).pipe(rf(1)),cellTypes:r.getCellTypeTermOccurences(a).pipe(rf(1))}).pipe(eg(e=>t.patchState(e)))}}generateSpatialSearch(t){const{position:e,radius:n,sex:i,organId:r,referenceOrgans:s=[],executeSearchOnGeneration:o}=t.getState(),a=this.store.selectSnapshot(a0.organEntity),l=s.find(t=>t.id===r);if(e&&n&&(null==a?void 0:a.representation_of)&&l){const r=Object.assign(Object.assign({},e),{radius:n,target:a["@id"]}),s=[new XQ(i,l.name,r)];if(o){const t=this.store.selectSnapshot(ZQ.selectedSearches);s.push(new zQ({spatialSearches:t.concat(r)}))}return this.ga.event("generate_search","spatial_search_ui"),t.dispatch(s).pipe(eg(()=>t.patchState({sex:"female",organId:void 0})))}}setExecuteSearchOnGenerate(t,{execute:e}){t.patchState({executeSearchOnGeneration:e})}organValidForSex(t,e){const n=this.store.selectSnapshot(sZ.referenceOrgans).find(e=>e.id===t);return n.hasSex||n.sex===e}};c0.\u0275fac=function(t){return new(t||c0)(Ei(eQ),Ei(qz),Ei(Az),Ei(jW))},c0.\u0275prov=xt({token:c0,factory:c0.\u0275fac}),vw([eU(IZ)],c0.prototype,"startSpatialSearchFlow",null),vw([eU(DZ)],c0.prototype,"setSex",null),vw([eU(RZ)],c0.prototype,"setOrgan",null),vw([eU(NZ)],c0.prototype,"setPosition",null),vw([eU(jZ)],c0.prototype,"resetPosition",null),vw([eU(LZ)],c0.prototype,"moveToNode",null),vw([eU(FZ)],c0.prototype,"setRadius",null),vw([eU(BZ)],c0.prototype,"resetRadius",null),vw([eU(l0)],c0.prototype,"updateSpatialSearch",null),vw([eU(zZ)],c0.prototype,"generateSpatialSearch",null),vw([eU(UZ)],c0.prototype,"setExecuteSearchOnGenerate",null),vw([rU([a0,sZ.referenceOrganEntities])],c0,"organEntity",null),c0=a0=vw([nU({name:"spatialSearchUi",defaults:{sex:"female",executeSearchOnGeneration:!0}})],c0);class u0{static sex(t){return t.sex}static referenceOrgans(t){var e;return null!==(e=t.referenceOrgans)&&void 0!==e?e:[]}static organId(t){return t.organId}static organ(t,e){if(void 0!==t)return e.find(e=>e.id===t)}static organs(t,e){return e.filter(e=>this.organMatchesSex(e,t))}static organMatchesSex(t,e){return t.hasSex||t.sex===e}static position(t){var e;return null!==(e=t.position)&&void 0!==e?e:{x:0,y:0,z:0}}static defaultPosition(t){var e;return null!==(e=t.defaultPosition)&&void 0!==e?e:{x:0,y:0,z:0}}static radius(t){var e;return null!==(e=t.radius)&&void 0!==e?e:0}static radiusSettings(t){var e;return null!==(e=t.radiusSettings)&&void 0!==e?e:{min:0,max:0,defaultValue:0}}static scene(t,e,n,i){var r,s;const o=function(t,e){var n;const i=t.x_dimension/1e3,r=t.y_dimension/1e3,s=t.z_dimension/1e3,o=.07*Math.max(i,r,s),a=.05*o,l=2*o,c=4*a;return e=e?Object.assign(Object.assign({},e),{radius:e.radius/1e3,x:e.x/1e3,y:e.y/1e3,z:e.z/1e3}):{target:null!==(n=t.representation_of)&&void 0!==n?n:t["@id"],radius:o,x:i/2,y:r/2,z:s/2},[{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingSphere","@type":"SpatialSceneNode",unpickable:!1,geometry:"sphere",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z]).scale(e.radius),color:cY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXD","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l/2,e.y,e.z]).rotateZ(ZS(-90)).scale([a,l,a]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l,e.y,e.z]).rotateZ(ZS(-90)).scale([c,3*c,c]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l+3*c,e.y,e.z]).scale(c),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXA","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l/2,e.y,e.z]).rotateZ(ZS(-90)).scale([a,l,a]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXACone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l,e.y,e.z]).rotateZ(ZS(90)).scale([c,3*c,c]),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l-3.5*c,e.y,e.z]).scale(c),color:uY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYW","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l/2,e.z]).scale([a,l,a]),color:hY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l,e.z]).scale([c,3*c,c]),color:hY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l+3*c,e.z]).scale(c),color:hY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYS","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l/2,e.z]).scale([a,l,a]),color:hY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l,e.z]).rotateZ(ZS(180)).scale([c,3*c,c]),color:hY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l-3.5*c,e.z]).scale(c),color:hY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZE","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l/2]).rotateX(ZS(90)).scale([a,l,a]),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZECone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l]).rotateX(ZS(90)).scale([c,3*c,c]),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l+3*c]).scale(c),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l/2]).rotateX(ZS(-90)).scale([a,l,a]),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l]).rotateX(ZS(-90)).scale([c,3*c,c]),color:dY},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l-3.5*c]).scale(c),color:dY}]}(e,Object.assign(Object.assign({},n),{radius:i,target:e["@id"]})),a=new Set((null!==(r=t.tissueBlocks)&&void 0!==r?r:[]).map(t=>t.spatialEntityId));return(null!==(s=t.organScene)&&void 0!==s?s:[]).map(t=>(a.has(t["@id"])&&(t=Object.assign(Object.assign({},t),{color:[41,121,255,229.5]})),t)).concat(o)}static sceneBounds(t){const{x_dimension:e,y_dimension:n,z_dimension:i}=t,r=.42*Math.max(e,n,i);return{x:(r+e)/1e3,y:(r+n)/1e3,z:(r+i)/1e3}}static sceneTarget(t){const{x_dimension:e,y_dimension:n,z_dimension:i}=t;return[e/1e3/2,n/1e3/2,i/1e3/2]}static tissueBlocks(t){var e;return null!==(e=t.tissueBlocks)&&void 0!==e?e:[]}static anatomicalStructures(t,e){return this.getTermCounts(t.anatomicalStructures,e)}static cellTypes(t,e){return this.getTermCounts(t.cellTypes,e)}static getTermCounts(t,e){return Object.entries(null!=t?t:{}).filter(([t,e])=>e>0).map(([t,n])=>{var i,r;return{"@id":t,label:null!==(r=null===(i=e.nodes[t])||void 0===i?void 0:i.label)&&void 0!==r?r:t.split("/").slice(-1)[0],count:n}})}}function h0(t,e){if(1&t&&(ra(0,"div",6),ra(1,"mat-icon",7),Ja(2,"person"),sa(),ra(3,"div",8),ra(4,"div",9),Ja(5),sa(),ra(6,"div",9),Ja(7),sa(),sa(),sa()),2&t){const t=e.$implicit;ws(5),tl(t.donor.label),ws(2),tl(t.donor.description)}}u0.organEntity=c0.organEntity,vw([rU([c0])],u0,"sex",null),vw([rU([c0])],u0,"referenceOrgans",null),vw([rU([c0])],u0,"organId",null),vw([rU([u0.organId,u0.referenceOrgans])],u0,"organ",null),vw([rU([u0.sex,u0.referenceOrgans])],u0,"organs",null),vw([rU([c0])],u0,"position",null),vw([rU([c0])],u0,"defaultPosition",null),vw([rU([c0])],u0,"radius",null),vw([rU([c0])],u0,"radiusSettings",null),vw([rU([c0,c0.organEntity,u0.position,u0.radius])],u0,"scene",null),vw([rU([c0.organEntity])],u0,"sceneBounds",null),vw([rU([c0.organEntity])],u0,"sceneTarget",null),vw([rU([c0])],u0,"tissueBlocks",null),vw([rU([c0,qQ.anatomicalStructuresTreeModel])],u0,"anatomicalStructures",null),vw([rU([c0,qQ.cellTypesTreeModel])],u0,"cellTypes",null);let d0=(()=>{class t{constructor(){this.className="ccf-tissue-block-list",this.tissueBlocks=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tissue-block-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{tissueBlocks:"tissueBlocks"},decls:8,vars:2,consts:[[1,"tissue-block-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltip","Total quantity of registered Tissue Blocks detected by the Probing Sphere","matTooltipPosition","right"],[1,"tissue-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"icon"],[1,"donor-info"],[1,"description"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"button",2),ra(4,"mat-icon",3),Ja(5,"info"),sa(),sa(),sa(),ra(6,"div",4),Jo(7,h0,8,2,"div",5),sa()),2&t&&(ws(2),el("",e.tissueBlocks.length," Tissue Blocks"),ws(5),na("ngForOf",e.tissueBlocks))},directives:[T_,gw,kh],styles:["[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .tissue-list[_ngcontent-%COMP%]{overflow:auto}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{min-height:3rem;display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem;width:22rem;padding:.5rem;box-shadow:0 3px 6px #00000029;cursor:pointer;margin-right:1rem;margin-bottom:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),t})();function p0(t,e){if(1&t&&(ra(0,"div",6),ra(1,"div",7),ra(2,"div",8),Ja(3),sa(),ra(4,"div",8),Ja(5),sa(),sa(),sa()),2&t){const t=e.$implicit;ws(3),tl(t.label),ws(2),tl(t.count)}}let f0=(()=>{class t{constructor(){this.className="ccf-term-occurrence-list",this.termList=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-term-occurrence-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{termList:"termList",title:"title",toolTipText:"toolTipText"},decls:8,vars:4,consts:[[1,"term-list-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltipPosition","right",3,"matTooltip"],[1,"term-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"term-bloc"],[1,"term-line"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"button",2),ra(4,"mat-icon",3),Ja(5,"info"),sa(),sa(),sa(),ra(6,"div",4),Jo(7,p0,6,2,"div",5),sa()),2&t&&(ws(2),nl("",e.termList.length," ",e.title,""),ws(2),Sa("matTooltip",e.toolTipText),ws(3),na("ngForOf",e.termList))},directives:[T_,gw,kh],styles:["[_nghost-%COMP%]{padding-top:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .counter[_ngcontent-%COMP%]{font-size:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding-right:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%]{overflow:auto;padding-left:2rem;font-size:1rem}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-bloc[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem;overflow:auto}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-line[_ngcontent-%COMP%]{padding-right:2rem}"],changeDetection:0}),t})();function g0(t,e){if(1&t&&(ra(0,"mat-icon",8),Ja(1),sa()),2&t){const t=e.$implicit;ja("active",va().currentKey===t.key),ws(1),el("",t.direction," ")}}function m0(t,e){1&t&&(ra(0,"div",9),Ja(1,"SHIFT"),sa())}let b0=(()=>{class t{constructor(){this.className="ccf-spatial-search-keyboard-ui",this.keyClicked=new Bc,this.keyHovered=new Bc,this.keyMap=[{key:"w",direction:"north"},{key:"s",direction:"south"},{key:"a",direction:"west"},{key:"d",direction:"east"},{key:"e",direction:"north_east"},{key:"q",direction:"south_west"}]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-keyboard-ui"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{currentKey:"currentKey",shiftPressed:"shiftPressed"},outputs:{keyClicked:"keyClicked",keyHovered:"keyHovered"},decls:18,vars:14,consts:[[1,"direction-arrow"],["class","arrow",3,"active",4,"ngFor","ngForOf"],[1,"keys"],[1,"keyrow"],[1,"key","blue",3,"mousedown","mouseover","mouseout"],[1,"key","green",3,"mousedown","mouseover","mouseout"],[1,"key","red",3,"mousedown","mouseover","mouseout"],["class","shift",4,"ngIf"],[1,"arrow"],[1,"shift"]],template:function(t,e){1&t&&(ra(0,"div",0),Jo(1,g0,2,3,"mat-icon",1),sa(),ra(2,"div",2),ra(3,"div",3),ra(4,"div",4),fa("mousedown",function(){return e.keyClicked.emit("q")})("mouseover",function(){return e.keyHovered.emit("q")})("mouseout",function(){return e.keyHovered.emit()}),Ja(5,"Q"),sa(),ra(6,"div",5),fa("mousedown",function(){return e.keyClicked.emit("w")})("mouseover",function(){return e.keyHovered.emit("w")})("mouseout",function(){return e.keyHovered.emit()}),Ja(7,"W"),sa(),ra(8,"div",4),fa("mousedown",function(){return e.keyClicked.emit("e")})("mouseover",function(){return e.keyHovered.emit("e")})("mouseout",function(){return e.keyHovered.emit()}),Ja(9,"E"),sa(),sa(),ra(10,"div",3),ra(11,"div",6),fa("mousedown",function(){return e.keyClicked.emit("a")})("mouseover",function(){return e.keyHovered.emit("a")})("mouseout",function(){return e.keyHovered.emit()}),Ja(12,"A"),sa(),ra(13,"div",5),fa("mousedown",function(){return e.keyClicked.emit("s")})("mouseover",function(){return e.keyHovered.emit("s")})("mouseout",function(){return e.keyHovered.emit()}),Ja(14,"S"),sa(),ra(15,"div",6),fa("mousedown",function(){return e.keyClicked.emit("d")})("mouseover",function(){return e.keyHovered.emit("d")})("mouseout",function(){return e.keyHovered.emit()}),Ja(16,"D"),sa(),sa(),Jo(17,m0,2,0,"div",7),sa()),2&t&&(ws(1),na("ngForOf",e.keyMap),ws(3),ja("highlighted","q"===e.currentKey),ws(2),ja("highlighted","w"===e.currentKey),ws(2),ja("highlighted","e"===e.currentKey),ws(3),ja("highlighted","a"===e.currentKey),ws(2),ja("highlighted","s"===e.currentKey),ws(2),ja("highlighted","d"===e.currentKey),ws(2),na("ngIf",e.shiftPressed))},directives:[kh,Ah,T_],styles:["[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(5,.5fr);grid-template-rows:1fr;grid-column-gap:0px;grid-row-gap:0px;margin-bottom:1rem;width:7rem}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{grid-area:1/3/2/4;opacity:0;transition:.5s}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow.active[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .keys[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:0;grid-gap:.5rem;gap:.5rem;width:7rem;height:7rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:0;grid-gap:.5rem;gap:.5rem}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%] .key[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:2rem;height:2rem;border:2px solid;border-radius:.5rem;cursor:pointer}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .shift[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:7rem;height:2rem;border:2px solid;border-radius:.5rem}"],changeDetection:0}),t})(),y0=(()=>{class t{constructor(){this.className="ccf-spatial-search-keyboard-ui-behavior",this.delta=1,this.shiftDelta=2,this.changePosition=new Bc,this.shiftPressed=!1}updatePosition(t){if(this.currentDelta=this.shiftPressed?this.shiftDelta:this.delta,"Shift"===t)this.shiftPressed=!0;else{switch(this.currentKey=t.toLowerCase(),this.currentKey){case"q":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z-this.currentDelta});break;case"e":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z+this.currentDelta});break;case"w":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y+this.currentDelta});break;case"s":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y-this.currentDelta});break;case"a":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x-this.currentDelta});break;case"d":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x+this.currentDelta})}this.changePosition.emit(this.position)}}handleKey(t){t.preventDefault(),this.updatePosition(t.key)}keyUp(t){"Shift"===t.key?this.shiftPressed=!1:this.currentKey=void 0}keyClick(t){this.updatePosition(t)}keyHover(t){this.currentKey=t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-keyboard-ui-behavior"]],hostVars:2,hostBindings:function(t,e){1&t&&fa("keydown",function(t){return e.handleKey(t)},!1,Mr)("keyup",function(t){return e.keyUp(t)},!1,Mr),2&t&&Va(e.className)},inputs:{delta:"delta",shiftDelta:"shiftDelta",position:"position"},outputs:{changePosition:"changePosition"},decls:1,vars:2,consts:[[3,"currentKey","shiftPressed","keyClicked","keyHovered"]],template:function(t,e){1&t&&(ra(0,"ccf-spatial-search-keyboard-ui",0),fa("keyClicked",function(t){return e.keyClick(t)})("keyHovered",function(t){return e.keyHover(t)}),sa()),2&t&&na("currentKey",e.currentKey)("shiftPressed",e.shiftPressed)},directives:[b0],encapsulation:2,changeDetection:0}),t})(),v0=(()=>{class t{constructor(){this.className="ccf-spatial-search-ui",this.addSpatialSearch=new Bc,this.resetPosition=new Bc,this.resetSphere=new Bc,this.closeSpatialSearch=new Bc,this.radiusChange=new Bc,this.positionChange=new Bc,this.editReferenceOrganClicked=new Bc,this.infoClicked=new Bc,this.nodeClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-ui"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{scene:"scene",sceneBounds:"sceneBounds",sceneTarget:"sceneTarget",sex:"sex",referenceOrgan:"referenceOrgan",radius:"radius",radiusSettings:"radiusSettings",defaultPosition:"defaultPosition",position:"position",tissueBlocks:"tissueBlocks",anatomicalStructures:"anatomicalStructures",cellTypes:"cellTypes"},outputs:{addSpatialSearch:"addSpatialSearch",resetPosition:"resetPosition",resetSphere:"resetSphere",closeSpatialSearch:"closeSpatialSearch",radiusChange:"radiusChange",positionChange:"positionChange",editReferenceOrganClicked:"editReferenceOrganClicked",infoClicked:"infoClicked",nodeClicked:"nodeClicked"},decls:55,vars:27,consts:[[1,"header"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"content"],[1,"info-panel"],[1,"organ-sex-selection"],[1,"sex"],[1,"label"],[1,"current-sex"],[1,"organ"],[1,"current-organ"],[1,"edit",3,"click"],[1,"radius-slider"],[1,"slider-container"],[1,"slider",3,"max","min","step","value","input"],[1,"text","value"],[1,"reset-buttons"],["mat-button","",1,"reset-sphere","button",3,"click"],["mat-button","",1,"reset-camera","button",3,"click"],[1,"results"],[1,"tissue-block","list",3,"tissueBlocks"],["title","Anatomical Structures","toolTipText","Total quantity of predicted anatomical structures detected by the Probing Sphere",1,"anatomical-structures","list",3,"termList"],["title","Predicted Cell Types from ASCT+B Tables","toolTipText","Total quantity of predicted cell types detected by the Probing Sphere",1,"cell-type","list",3,"termList"],["mat-button","",1,"run-spatial-search","button",3,"click"],[1,"spatial-search-scene"],[1,"primary-scene-wrapper"],[1,"body-ui-hint"],[1,"primary-scene",3,"scene","bounds","target","nodeClick","rotationChange"],["primary",""],[1,"sidebar"],[1,"minimap-scene",3,"interactive","scene","bounds","target","nodeClick"],["minimap",""],[3,"delta","shiftDelta","position","changePosition"],[3,"x","y","z"]],template:function(t,e){if(1&t){const t=ua();ra(0,"div",0),ra(1,"div",1),Ja(2,"Configure Spatial Search"),sa(),ra(3,"button",2),ra(4,"mat-icon",3),fa("click",function(){return e.infoClicked.emit()}),Ja(5,"info"),sa(),sa(),ra(6,"button",4),ra(7,"mat-icon",3),fa("click",function(){return e.closeSpatialSearch.emit()}),Ja(8,"close"),sa(),sa(),sa(),ra(9,"div",5),ra(10,"div",6),ra(11,"div",7),ra(12,"div",8),ra(13,"div",9),Ja(14,"Donor Sex: "),sa(),ra(15,"div",10),Ja(16),sa(),sa(),ra(17,"div",11),ra(18,"div",9),Ja(19,"Organ: "),sa(),ra(20,"div",12),Ja(21),sa(),sa(),ra(22,"div",13),fa("click",function(){return e.editReferenceOrganClicked.emit()}),Ja(23,"Edit"),sa(),sa(),oa(24,"mat-divider"),ra(25,"div",14),ra(26,"div",1),Ja(27,"Probing Sphere Radius"),sa(),ra(28,"div",15),ra(29,"mat-slider",16),fa("input",function(t){return e.radiusChange.emit(t.value)}),sa(),ra(30,"span",17),Ja(31),sa(),sa(),ra(32,"div",18),ra(33,"button",19),fa("click",function(){return e.resetSphere.emit(),e.resetPosition.emit()}),Ja(34,"Reset Probing Sphere"),sa(),ra(35,"button",20),fa("click",function(){$e(t);const n=ta(49),i=ta(52);return n.rotation=n.rotationX=i.rotation=i.rotationX=0,n.target=i.target=e.sceneTarget,n.bounds=i.bounds=e.sceneBounds}),Ja(36,"Reset Camera View"),sa(),sa(),sa(),oa(37,"mat-divider"),ra(38,"div",21),oa(39,"ccf-tissue-block-list",22),oa(40,"ccf-term-occurrence-list",23),oa(41,"ccf-term-occurrence-list",24),sa(),ra(42,"button",25),fa("click",function(){return e.addSpatialSearch.emit()}),Ja(43,"Run Spatial Search"),sa(),sa(),ra(44,"div",26),ra(45,"div",27),ra(46,"div",28),Ja(47,"Use the keyboard or click a Tissue Block to move the Probing Sphere"),sa(),ra(48,"ccf-body-ui",29,30),fa("nodeClick",function(t){return e.nodeClicked.emit(null==t?null:t.node)})("rotationChange",function(e){$e(t);const n=ta(52);return n.rotation=e[0],n.rotationX=e[1]}),sa(),sa(),ra(50,"div",31),ra(51,"ccf-body-ui",32,33),fa("nodeClick",function(t){return e.nodeClicked.emit(null==t?null:t.node)}),sa(),ra(53,"ccf-spatial-search-keyboard-ui-behavior",34),fa("changePosition",function(t){return e.positionChange.emit(t)}),sa(),oa(54,"ccf-xyz-position",35),sa(),sa(),sa()}2&t&&(ws(16),tl(e.sex.charAt(0).toUpperCase()+e.sex.slice(1)),ws(5),tl(e.referenceOrgan.name),ws(8),na("max",e.radiusSettings.max)("min",e.radiusSettings.min)("step",1)("value",e.radius),ws(2),el("",e.radius," mm"),ws(2),ja("disabled",e.radius===e.radiusSettings.defaultValue&&e.position===e.defaultPosition),ws(6),na("tissueBlocks",e.tissueBlocks),ws(1),na("termList",e.anatomicalStructures),ws(1),na("termList",e.cellTypes),ws(1),ja("disabled",0===(null==e.tissueBlocks?null:e.tissueBlocks.length)),ws(6),na("scene",e.scene)("bounds",e.sceneBounds)("target",e.sceneTarget),ws(3),na("interactive",!1)("scene",e.scene)("bounds",e.sceneBounds)("target",e.sceneTarget),ws(2),na("delta",1)("shiftDelta",2)("position",e.position),ws(1),na("x",e.position.x)("y",e.position.y)("z",e.position.z))},directives:[R_,T_,KY,F$,d0,f0,CK,y0,EQ],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:1rem;gap:1rem;height:95vh;width:78vw;border-radius:.25rem;min-height:45rem;min-width:60rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;width:100%}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%], [_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:flex;width:100%;height:calc(100% - 3.5rem)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border-width:1px;border-style:solid;border-radius:.25rem;font-size:.875rem;height:2rem;line-height:2rem;transition:.5s}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button.disabled[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-right:2rem;grid-gap:1rem;gap:1rem;width:25rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%]{display:flex;font-size:1rem;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:300;margin-right:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .edit[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:19rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:11.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%]{height:calc(100% - 15rem - 2px)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%] .list[_ngcontent-%COMP%]{height:33%;display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%]{display:flex;width:calc(100% - 25rem);background-color:#000;border-radius:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;height:100%}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .primary-scene[_ngcontent-%COMP%]{flex:auto;overflow:hidden}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .body-ui-hint[_ngcontent-%COMP%]{color:#fff;font-size:1rem;margin:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%]{margin:1.5rem;width:12.75rem;height:11rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%] .body-ui{background-color:#232f3a}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-spatial-search-keyboard-ui-behavior[_ngcontent-%COMP%]{margin:1.5rem;display:flex;justify-content:center}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-xyz-position[_ngcontent-%COMP%]{margin:1.5rem;padding-left:5rem}"],changeDetection:0}),t})();function _0(t,e){if(1&t){const t=ua();ra(0,"ccf-spatial-search-ui",1),fa("addSpatialSearch",function(){return $e(t),va().addSpatialSearch()})("radiusChange",function(e){return $e(t),va().updateRadius(e)})("resetPosition",function(){return $e(t),va().resetPosition()})("resetSphere",function(){return $e(t),va().resetRadius()})("positionChange",function(e){return $e(t),va().updatePosition(e)})("closeSpatialSearch",function(){return $e(t),va().close()})("editReferenceOrganClicked",function(){return $e(t),va().openSpatialSearchConfig()})("infoClicked",function(){return $e(t),va().onDialogButtonClick()})("nodeClicked",function(e){return $e(t),va().moveToNode(e)}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),Dc(5,"async"),Dc(6,"async"),Dc(7,"async"),Dc(8,"async"),Dc(9,"async"),Dc(10,"async"),Dc(11,"async"),sa()}if(2&t){const t=e.ngIf,n=va();na("sex",Rc(1,12,n.sex$))("referenceOrgan",t)("radius",Rc(2,14,n.radius$))("radiusSettings",Rc(3,16,n.radiusSettings$))("defaultPosition",Rc(4,18,n.defaultPosition$))("position",Rc(5,20,n.position$))("scene",Rc(6,22,n.scene$))("sceneBounds",Rc(7,24,n.sceneBounds$))("sceneTarget",Rc(8,26,n.sceneTarget$))("tissueBlocks",Rc(9,28,n.tissueBlocks$))("anatomicalStructures",Rc(10,30,n.anatomicalStructures$))("cellTypes",Rc(11,32,n.cellTypes$))}}class w0{constructor(t,e,n){this.dialogRef=t,this.dialog=e,this.infoService=n,this.updatePosition=NQ(NZ),this.resetPosition=NQ(jZ),this.moveToNode=NQ(LZ),this.updateRadius=NQ(FZ),this.resetRadius=NQ(BZ),this.subscriptions=new g}launchInfoDialog(t){this.subscriptions.unsubscribe(),this.dialog.open(UK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");const t=this.infoService.panelContent.asObservable();this.subscriptions.add(t.subscribe(t=>{t.content.length&&(this.panelData=t,this.launchInfoDialog(this.panelData))}))}close(){this.dialogRef.close()}addSpatialSearch(){return this.close(),new zZ}openSpatialSearchConfig(){this.close(),this.dialog.open(B0)}}w0.\u0275fac=function(t){return new(t||w0)(ea(Y$),ea(nG),ea($K))},w0.\u0275cmp=Jt({type:w0,selectors:[["ccf-spatial-search-ui-behavior"]],decls:2,vars:3,consts:[[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked",4,"ngIf"],[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked"]],template:function(t,e){1&t&&(Jo(0,_0,12,34,"ccf-spatial-search-ui",0),Dc(1,"async")),2&t&&na("ngIf",Rc(1,1,e.organ$))},directives:[Ah,v0],pipes:[$h],encapsulation:2,changeDetection:0}),vw([iU(u0.scene)],w0.prototype,"scene$",void 0),vw([iU(u0.sceneBounds)],w0.prototype,"sceneBounds$",void 0),vw([iU(u0.sceneTarget)],w0.prototype,"sceneTarget$",void 0),vw([iU(u0.sex)],w0.prototype,"sex$",void 0),vw([iU(u0.organ)],w0.prototype,"organ$",void 0),vw([iU(u0.position)],w0.prototype,"position$",void 0),vw([iU(u0.defaultPosition)],w0.prototype,"defaultPosition$",void 0),vw([iU(u0.radius)],w0.prototype,"radius$",void 0),vw([iU(u0.radiusSettings)],w0.prototype,"radiusSettings$",void 0),vw([iU(u0.tissueBlocks)],w0.prototype,"tissueBlocks$",void 0),vw([iU(u0.anatomicalStructures)],w0.prototype,"anatomicalStructures$",void 0),vw([iU(u0.cellTypes)],w0.prototype,"cellTypes$",void 0),vw([XY()],w0.prototype,"updatePosition",void 0),vw([XY()],w0.prototype,"resetPosition",void 0),vw([XY()],w0.prototype,"moveToNode",void 0),vw([XY()],w0.prototype,"updateRadius",void 0),vw([XY()],w0.prototype,"resetRadius",void 0),vw([XY()],w0.prototype,"addSpatialSearch",null);const x0=["input"],S0=function(t){return{enterDuration:t}},C0=["*"],E0=new oi("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}});let O0=0;const T0={provide:aU,useExisting:pt(()=>M0),multi:!0};class k0{constructor(t,e){this.source=t,this.value=e}}const P0=new oi("MatRadioGroup");let A0=(()=>{class t{constructor(t){this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+O0++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new Bc}get name(){return this._name}set name(t){this._name=t,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(t){this._labelPosition="before"===t?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(t){this._selected=t,this.value=t?t.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._markRadiosForCheck()}get required(){return this._required}set required(t){this._required=kd(t),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(t=>{t.name=this.name,t._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(t=>{t.checked=this.value===t.value,t.checked&&(this._selected=t)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new k0(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(t=>t._markForCheck())}writeValue(t){this.value=t,this._changeDetector.markForCheck()}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetector.markForCheck()}}return t.\u0275fac=function(e){return new(e||t)(ea(nc))},t.\u0275dir=se({type:t,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),t})(),M0=(()=>{class t extends A0{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["mat-radio-group"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,N0,5),2&t){let t;Qc(t=tu())&&(e._radios=t)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[xl([T0,{provide:P0,useExisting:t}]),jo]}),t})();class I0{constructor(t){this._elementRef=t}}const D0=Yy(Ky(I0));let R0=(()=>{class t extends D0{constructor(t,e,n,i,r,s,o,a){super(e),this._changeDetector=n,this._focusMonitor=i,this._radioDispatcher=r,this._providerOverride=o,this._uniqueId="mat-radio-"+ ++O0,this.id=this._uniqueId,this.change=new Bc,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=t,this._noopAnimations="NoopAnimations"===s,a&&(this.tabIndex=Pd(a,0)),this._removeUniqueSelectionListener=r.listen((t,e)=>{t!==this.id&&e===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(t){const e=kd(t);this._checked!==e&&(this._checked=e,e&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!e&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),e&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===t),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(t){this._labelPosition=t}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(t){this._setDisabled(kd(t))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(t){this._required=kd(t)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(t){this._color=t}get inputId(){return`${this.id||this._uniqueId}-input`}focus(t,e){e?this._focusMonitor.focusVia(this._inputElement,e,t):this._inputElement.nativeElement.focus(t)}_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)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{!t&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new k0(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(t){t.stopPropagation()}_onInputInteraction(t){if(t.stopPropagation(),!this.checked&&!this.disabled){const t=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),t&&this.radioGroup._emitChangeEvent())}}_setDisabled(t){this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(ea(A0),ea(Al),ea(nc),ea(Ug),ea(zp),ea(String),ea(void 0),ea(String))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&Zc(x0,5),2&t){let t;Qc(t=tu())&&(e._inputElement=t.first)}},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[jo]}),t})(),N0=(()=>{class t extends R0{constructor(t,e,n,i,r,s,o,a){super(t,e,n,i,r,s,o,a)}}return t.\u0275fac=function(e){return new(e||t)(ea(P0,8),ea(Al),ea(nc),ea(Ug),ea(zp),ea(Ny,8),ea(E0,8),ii("tabindex"))},t.\u0275cmp=Jt({type:t,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._inputElement.nativeElement.focus()}),2&t&&(Ko("tabindex",null)("id",e.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),ja("mat-radio-checked",e.checked)("mat-radio-disabled",e.disabled)("_mat-animation-noopable",e._noopAnimations)("mat-primary","primary"===e.color)("mat-accent","accent"===e.color)("mat-warn","warn"===e.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[jo],ngContentSelectors:C0,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(t,e){if(1&t&&(wa(),ra(0,"label",0,1),ra(2,"span",2),oa(3,"span",3),oa(4,"span",4),ra(5,"input",5,6),fa("change",function(t){return e._onInputInteraction(t)})("click",function(t){return e._onInputClick(t)}),sa(),ra(7,"span",7),oa(8,"span",8),sa(),sa(),ra(9,"span",9),ra(10,"span",10),Ja(11,"\xa0"),sa(),xa(12),sa(),sa()),2&t){const t=ta(1);Ko("for",e.inputId),ws(5),na("id",e.inputId)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex)("required",e.required),Ko("name",e.name)("value",e.value)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledby)("aria-describedby",e.ariaDescribedby),ws(2),na("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Pc(18,S0,e._noopAnimations?0:150)),ws(2),ja("mat-radio-label-before","before"==e.labelPosition)}},directives:[cv],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),t})();function L0(t,e){1&t&&(ra(0,"div",7),Ja(1,"Organs"),sa())}function j0(t,e){if(1&t&&(ra(0,"mat-option",17),Ja(1),sa()),2&t){const t=e.$implicit;na("value",t),ws(1),el(" ",t.name," ")}}let F0=(()=>{class t{constructor(){this.className="ccf-spatial-search-config",this.updateSex=new Bc,this.updateOrgan=new Bc,this.buttonClicked=new Bc,this.closeDialog=new Bc,this.infoClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-config"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{organs:"organs",selectedOrgan:"selectedOrgan",sex:"sex"},outputs:{updateSex:"updateSex",updateOrgan:"updateOrgan",buttonClicked:"buttonClicked",closeDialog:"closeDialog",infoClicked:"infoClicked"},decls:27,vars:6,consts:[[1,"header"],[1,"header-left"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"sex-toggle"],[1,"label"],[1,"radio-group",3,"ngModel","ngModelChange","change"],["value","male",1,"radio"],["value","female",1,"radio"],[1,"organ-selector"],["appearance","fill",1,"form-field"],["class","label",4,"ngIf"],["disableOptionCentering","true","panelClass","organ-select",3,"value","valueChange","selectionChange"],["class","organ-select-option",3,"value",4,"ngFor","ngForOf"],["mat-button","",1,"continue-button",3,"click"],[1,"organ-select-option",3,"value"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),Ja(3,"Configure Spatial Search"),sa(),ra(4,"button",3),ra(5,"mat-icon",4),fa("click",function(){return e.infoClicked.emit()}),Ja(6,"info"),sa(),sa(),sa(),ra(7,"button",5),ra(8,"mat-icon",4),fa("click",function(){return e.closeDialog.emit()}),Ja(9,"close"),sa(),sa(),sa(),ra(10,"div",6),ra(11,"div",7),Ja(12,"Donor Sex: "),sa(),ra(13,"mat-radio-group",8),fa("ngModelChange",function(t){return e.sex=t})("change",function(t){return e.updateSex.emit(t.value)}),ra(14,"mat-radio-button",9),Ja(15,"Male"),sa(),ra(16,"mat-radio-button",10),Ja(17,"Female"),sa(),sa(),sa(),ra(18,"div",11),ra(19,"div",7),Ja(20,"Select an organ"),sa(),ra(21,"mat-form-field",12),Jo(22,L0,2,0,"div",13),ra(23,"mat-select",14),fa("valueChange",function(t){return e.selectedOrgan=t})("selectionChange",function(t){return e.updateOrgan.emit(t.value)}),Jo(24,j0,2,2,"mat-option",15),sa(),sa(),sa(),ra(25,"button",16),fa("click",function(){return e.buttonClicked.emit()}),Ja(26,"Continue"),sa()),2&t&&(ws(13),na("ngModel",e.sex),ws(9),na("ngIf",!e.selectedOrgan),ws(1),na("value",e.selectedOrgan),ws(1),na("ngForOf",e.organs),ws(1),ja("disabled",!e.selectedOrgan))},directives:[R_,T_,M0,MU,lH,N0,QH,Ah,aJ,kh,wv],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:2rem;gap:2rem;width:30.5rem;box-shadow:0 25rem 25rem #00000029;border-radius:.25rem;font-size:1rem}[_nghost-%COMP%] .button[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%;font-size:1.25rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin-right:2rem}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .radio[_ngcontent-%COMP%]{margin-right:4rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{height:0rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:1rem;padding-top:3rem;margin-left:.5rem;width:14rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-infix{padding:0;border-top:none}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{bottom:0rem;height:.125rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-select-arrow-wrapper{transform:translatey(0)}[_nghost-%COMP%] .continue-button[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:.25rem 1rem;width:14rem;height:2rem;border-width:1px;border-style:solid;border-radius:.25rem;box-shadow:0 2px 6px #00000029}[_nghost-%COMP%] .continue-button.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.5} .organ-select{position:absolute;top:2.5rem;left:-.25rem;border-radius:.5rem;max-height:24.5rem;width:14rem} .organ-select .organ-select-option{height:3.5rem;border-bottom:1px solid}"],changeDetection:0}),t})();class B0{constructor(t,e,n,i){this.dialog=t,this.dialogRef=e,this.spatialSearchDialog=n,this.infoService=i,this.updateSex=NQ(DZ),this.updateOrgan=NQ(RZ),this.subscriptions=new g,this.dialogSubs=new g}buttonClicked(){this.spatialSearchDialog.open(w0),this.close()}close(){this.dialogRef.close()}launchInfoDialog(t){this.dialogSubs.unsubscribe(),this.dialog.open(UK,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");const t=this.infoService.panelContent.asObservable();this.dialogSubs.add(t.subscribe(t=>{t.content.length&&(this.panelData=t,this.launchInfoDialog(this.panelData))}))}ngOnDestroy(){this.subscriptions.unsubscribe()}}B0.\u0275fac=function(t){return new(t||B0)(ea(nG),ea(Y$),ea(nG),ea($K))},B0.\u0275cmp=Jt({type:B0,selectors:[["ccf-spatial-search-config-behavior"]],decls:4,vars:9,consts:[[3,"sex","organs","selectedOrgan","updateSex","updateOrgan","closeDialog","buttonClicked","infoClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-spatial-search-config",0),fa("updateSex",function(t){return e.updateSex(t)})("updateOrgan",function(t){return e.updateOrgan(t.id)})("closeDialog",function(){return e.close()})("buttonClicked",function(){return e.buttonClicked()})("infoClicked",function(){return e.onDialogButtonClick()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),sa()),2&t&&na("sex",Rc(1,3,e.sex$))("organs",Rc(2,5,e.organs$))("selectedOrgan",Rc(3,7,e.selectedOrgan$))},directives:[F0],pipes:[$h],encapsulation:2,changeDetection:0}),vw([iU(u0.sex)],B0.prototype,"sex$",void 0),vw([iU(u0.organ)],B0.prototype,"selectedOrgan$",void 0),vw([iU(u0.organs)],B0.prototype,"organs$",void 0),vw([XY()],B0.prototype,"updateSex",void 0),vw([XY()],B0.prototype,"updateOrgan",void 0);let V0=(()=>{class t{constructor(t,e){this.store=t,this.dialog=e,this.className="ccf-run-spatial-search"}startSpatialSearchFlow(){this.store.dispatch(new IZ).pipe(rf(1),eg(()=>this.dialog.open(B0))).subscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(qz),ea(nG))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-run-spatial-search"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},decls:4,vars:0,consts:[["mat-button","",1,"run-spatial-search-button",3,"click"]],template:function(t,e){1&t&&(ra(0,"button",0),fa("click",function(){return e.startSpatialSearchFlow()}),Ja(1," Run Spatial Search "),ra(2,"mat-icon"),Ja(3,"travel_explore"),sa(),sa())},directives:[R_,T_],styles:["[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper{display:flex;align-items:center}[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper .mat-icon{margin-left:9.75px}"],changeDetection:0}),t})();function z0(t,e){if(1&t){const t=ua();ra(0,"div",14),ra(1,"ccf-spatial-search-list",15),fa("selectionChanged",function(e){return $e(t),va().updateSearchSelection(e)})("itemRemoved",function(e){return $e(t),va().spatialSearchRemoved.emit(e.id)}),sa(),sa()}if(2&t){const t=va();ja("hidden",t.hidden),ws(1),na("items",t.spatialSearchFilters)}}const U0=function(){return["Both","Male","Female"]},H0=function(){return[1,110]},$0=function(){return[13,83]};let G0=(()=>{class t{constructor(t){this.ga=t,this.spatialSearchFilters=[],this.filtersChange=new Bc,this.spatialSearchSelected=new Bc,this.spatialSearchRemoved=new Bc,this.applyFilters=new Bc}ngOnChanges(t){"spatialSearchFilters"in t&&this.updateSexFromSelection(this.spatialSearchFilters.filter(t=>t.selected))}updateFilter(t,e){this.filters=Object.assign(Object.assign({},this.filters),{[e]:t}),this.ga.event("filter_update","filter_content",`${e}:${t}`),this.filtersChange.emit(this.filters)}applyButtonClick(){this.updateSearchSelection(this.spatialSearchFilters.filter(t=>t.selected)),this.ga.event("filters_applied","filter_content"),this.applyFilters.emit(this.filters)}refreshFilters(){this.filters=JSON.parse(JSON.stringify(UQ)),this.ga.event("filters_reset","filter_content"),this.spatialSearchSelected.emit([]),this.filtersChange.emit(this.filters)}updateSearchSelection(t){const e=t.map(t=>t.search);this.spatialSearchSelected.emit(t),this.updateFilter(e,"spatialSearches"),this.updateSexFromSelection(t)}updateSexFromSelection(t){var e;const n=null===(e=this.filters.sex)||void 0===e?void 0:e.toLowerCase(),i=new Set(t.map(t=>t.sex));t.length>0&&(i.size>1||!i.has(n))&&this.updateFilter("Both","sex")}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-filters-content"]],inputs:{hidden:"hidden",filters:"filters",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved",applyFilters:"applyFilters"},features:[ye],decls:17,vars:24,consts:[[1,"patient-filters"],["label","Sex",3,"options","selection","selectionChange"],["label","Age",3,"valueRange","selection","selectionChange"],["label","BMI",3,"valueRange","selection","selectionChange"],[1,"filter","assays"],["label","Assay Types",3,"columns","options","selection","selectionChange"],[1,"filter","providers"],["label","Tissue Providers",3,"columns","options","selection","selectionChange"],["class","filter spatial-locations",3,"hidden",4,"ngIf"],[1,"button-container"],[1,"right-group"],["mat-button","",1,"outline-button",3,"click"],[1,"refresh-icon"],[1,"icon","refresh",3,"click"],[1,"filter","spatial-locations"],["label","Spatial Locations",3,"items","selectionChanged","itemRemoved"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"ccf-dropdown",1),fa("selectionChange",function(t){return e.updateFilter(t,"sex")}),sa(),ra(2,"ccf-dual-slider",2),fa("selectionChange",function(t){return e.updateFilter(t,"ageRange")}),sa(),ra(3,"ccf-dual-slider",3),fa("selectionChange",function(t){return e.updateFilter(t,"bmiRange")}),sa(),sa(),ra(4,"div",4),ra(5,"ccf-checkbox",5),fa("selectionChange",function(t){return e.updateFilter(t,"technologies")}),sa(),sa(),ra(6,"div",6),ra(7,"ccf-checkbox",7),fa("selectionChange",function(t){return e.updateFilter(t,"tmc")}),sa(),sa(),Jo(8,z0,2,3,"div",8),ra(9,"div",9),oa(10,"ccf-run-spatial-search"),ra(11,"div",10),ra(12,"button",11),fa("click",function(){return e.applyButtonClick()}),Ja(13,"APPLY FILTERS"),sa(),ra(14,"div",12),ra(15,"mat-icon",13),fa("click",function(){return e.refreshFilters()}),Ja(16,"refresh"),sa(),sa(),sa(),sa()),2&t&&(ja("hidden",e.hidden),ws(1),na("options",kc(21,U0))("selection",null==e.filters?null:e.filters.sex),ws(1),na("valueRange",kc(22,H0))("selection",null==e.filters?null:e.filters.ageRange),ws(1),na("valueRange",kc(23,$0))("selection",null==e.filters?null:e.filters.bmiRange),ws(1),ja("hidden",e.hidden),ws(1),na("columns",4)("options",e.technologyFilters)("selection",null==e.filters?null:e.filters.technologies),ws(1),ja("hidden",e.hidden),ws(1),na("columns",3)("options",e.providerFilters)("selection",null==e.filters?null:e.filters.tmc),ws(1),na("ngIf",e.spatialSearchFilters.length>0),ws(1),ja("hidden",e.hidden))},directives:[uJ,r0,o0,Ah,V0,R_,T_,SQ],styles:[".filter[_ngcontent-%COMP%]{margin-top:2rem}.filter.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.filter.assays[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{margin-right:0 rem;width:25%}.button-container[_ngcontent-%COMP%] button{border-width:1px;border-style:solid}.button-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:2rem}.button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-width:1px;border-style:solid}.button-container.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;align-items:center}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .outline-button[_ngcontent-%COMP%]{box-shadow:.1rem .1rem .2rem #0000001d}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%]{padding:.25rem;border-radius:.25rem;margin-right:1rem;display:flex;justify-content:center;align-items:center;transition:.6s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{cursor:pointer;transition:.6s;transition-property:background}.patient-filters[_ngcontent-%COMP%]{display:flex;width:90%;padding-top:1rem}.patient-filters.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.patient-filters[_ngcontent-%COMP%] ccf-dual-slider[_ngcontent-%COMP%]{margin-left:.5rem;width:33%}.patient-filters[_ngcontent-%COMP%] ccf-dropdown[_ngcontent-%COMP%]{width:33%}"],changeDetection:0}),t})();function W0(t,e){1&t&&(ra(0,"div"),ra(1,"mat-icon",7),Ja(2,"close"),sa(),sa())}function q0(t,e){1&t&&oa(0,"mat-icon",8)}class X0{constructor(){this.spatialSearchFilters=[],this.filtersChange=new Bc,this.spatialSearchSelected=new Bc,this.spatialSearchRemoved=new Bc,this.filtersVisible=!1}toggleFilterVisible(){return this.filtersVisible=!this.filtersVisible,new UZ(!1)}removeBox(){return this.filtersVisible=!1,new UZ(!0)}applyFilters(t){this.filters=t,this.filtersChange.emit(t),this.removeBox()}}X0.\u0275fac=function(t){return new(t||X0)},X0.\u0275cmp=Jt({type:X0,selectors:[["ccf-filters-popover"]],inputs:{filters:"filters",drawerExpanded:"drawerExpanded",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved"},decls:8,vars:15,consts:[[1,"filters-popover"],[1,"show-hide",3,"click"],[4,"ngIf","ngIfElse"],["notShow",""],[1,"popup-container"],[1,"popup-body"],[3,"technologyFilters","providerFilters","spatialSearchFilters","hidden","filters","applyFilters","spatialSearchSelected","spatialSearchRemoved"],[1,"icon"],["svgIcon","filter",1,"icon","funnel"]],template:function(t,e){if(1&t&&(ra(0,"div",0),ra(1,"button",1),fa("click",function(){return e.toggleFilterVisible()}),Jo(2,W0,3,0,"div",2),Jo(3,q0,1,0,"ng-template",null,3,ru),sa(),ra(5,"div",4),ra(6,"div",5),ra(7,"ccf-filters-content",6),fa("applyFilters",function(t){return e.applyFilters(t)})("spatialSearchSelected",function(t){return e.spatialSearchSelected.emit(t)})("spatialSearchRemoved",function(t){return e.spatialSearchRemoved.emit(t)}),sa(),sa(),sa(),sa()),2&t){const t=ta(4);ja("expanded",e.drawerExpanded),ws(1),ja("open",e.filtersVisible),ws(1),na("ngIf",e.filtersVisible)("ngIfElse",t),ws(3),ja("visible",e.filtersVisible)("hidden",!e.filtersVisible),ws(2),na("technologyFilters",e.technologyFilters)("providerFilters",e.providerFilters)("spatialSearchFilters",e.spatialSearchFilters)("hidden",!e.filtersVisible)("filters",e.filters)}},directives:[Ah,G0,T_],styles:[".filters-popover[_ngcontent-%COMP%]{position:inherit}.filters-popover.expanded[_ngcontent-%COMP%]{position:relative}.filters-popover.expanded[_ngcontent-%COMP%] .popup-container[_ngcontent-%COMP%]{right:inherit}.filters-popover.expanded[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding-left:4em!important}.popup-container[_ngcontent-%COMP%]{position:absolute;z-index:5;top:1.2rem;left:1.48rem;box-shadow:.2rem .2rem 1rem #00000058}.popup-container[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding:1.5rem;position:relative}.popup-container.visible[_ngcontent-%COMP%]{width:35rem;transition:width .2s ease-in-out;border-width:1px}.popup-container.visible[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:1;transition-delay:.3s;transition-duration:.2s}.popup-container.hidden[_ngcontent-%COMP%]{width:0;height:0;transition:all .2s ease-out;transition-delay:.3s;pointer-events:none}.popup-container.hidden[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:0;transition:opacity .2s ease-in-out}.show-hide[_ngcontent-%COMP%]{background:none;border:none;z-index:10;position:relative;cursor:pointer;outline:none;padding:.5rem;border-radius:.25rem;transition:.6s}"],changeDetection:0}),vw([XY()],X0.prototype,"toggleFilterVisible",null),vw([XY()],X0.prototype,"removeBox",null);class Y0{constructor(){this.treeModel$=new _p(1),this.nodes$=this.treeModel$.pipe(D(t=>Object.values(t.nodes))),this.rootNode$=this.treeModel$.pipe(D(t=>t.nodes[t.root]))}setTreeModel(t){this.treeModel$.next(t),this.treeModel=t}filter(t){return this.nodes$.pipe(D(e=>this.lookup(e,t.toLowerCase())))}lookup(t,e){const n=new Map;return t&&t.forEach(t=>{if(t.label.toLowerCase().includes(e)&&!n.get(t.id))n.set(t.id,{index:this.getIndexOfMatch(t.label,e),displayLabel:this.formatLabel(t.label,e),node:t});else{const i=t.synonymLabels.find(t=>t.toLowerCase().includes(e));i&&!n.get(t.id)&&n.set(t.id,{index:this.getIndexOfMatch(t.label+" ("+i+")",e),displayLabel:this.formatLabel(t.label+" ("+i+")",e),node:t})}}),Array.from(n.values())}getIndexOfMatch(t,e){return t.toLowerCase().indexOf(e)}formatLabel(t,e){const n=this.getIndexOfMatch(t,e);return[t.slice(0,n),t.slice(n,n+e.length),t.slice(n+e.length)]}getChildren(t){var e,n;const i=null!==(n=null===(e=this.treeModel)||void 0===e?void 0:e.nodes)&&void 0!==n?n:{};return(0,gq.at)(i,t.children)}}Y0.\u0275fac=function(t){return new(t||Y0)},Y0.\u0275prov=xt({token:Y0,factory:Y0.\u0275fac}),vw([PV.ak],Y0.prototype,"getChildren",null);class K0 extends class{constructor(){this.expansionModel=new Vp(!0)}toggle(t){this.expansionModel.toggle(this._trackByValue(t))}expand(t){this.expansionModel.select(this._trackByValue(t))}collapse(t){this.expansionModel.deselect(this._trackByValue(t))}isExpanded(t){return this.expansionModel.isSelected(this._trackByValue(t))}toggleDescendants(t){this.expansionModel.isSelected(this._trackByValue(t))?this.collapseDescendants(t):this.expandDescendants(t)}collapseAll(){this.expansionModel.clear()}expandDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.select(...e.map(t=>this._trackByValue(t)))}collapseDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.deselect(...e.map(t=>this._trackByValue(t)))}_trackByValue(t){return this.trackBy?this.trackBy(t):t}}{constructor(t,e,n){super(),this.getLevel=t,this.isExpandable=e,this.options=n,this.options&&(this.trackBy=this.options.trackBy)}getDescendants(t){const e=[];for(let n=this.dataNodes.indexOf(t)+1;nthis._trackByValue(t)))}}const Q0=new oi("CDK_TREE_NODE_OUTLET_NODE");let Z0=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(Q0,8))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeOutlet",""]]}),t})();class J0{constructor(t){this.$implicit=t}}let t1=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:["cdkTreeNodeDefWhen","when"]}}),t})(),e1=(()=>{class t{constructor(t,e){this._differs=t,this._changeDetectorRef=e,this._onDestroy=new A,this._levels=new Map,this.viewChange=new Jf({start:0,end:Number.MAX_VALUE})}get dataSource(){return this._dataSource}set dataSource(t){this._dataSource!==t&&this._switchDataSource(t)}ngOnInit(){this._dataDiffer=this._differs.find([]).create(this.trackBy)}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null)}ngAfterContentChecked(){const t=this._nodeDefs.filter(t=>!t.when);this._defaultNodeDef=t[0],this.dataSource&&this._nodeDefs&&!this._dataSubscription&&this._observeRenderChanges()}_switchDataSource(t){this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),t||this._nodeOutlet.viewContainer.clear(),this._dataSource=t,this._nodeDefs&&this._observeRenderChanges()}_observeRenderChanges(){let t;!function(t){return t&&"function"==typeof t.connect}(this._dataSource)?Gd(this._dataSource)?t=this._dataSource:Array.isArray(this._dataSource)&&(t=Dd(this._dataSource)):t=this._dataSource.connect(this),t&&(this._dataSubscription=t.pipe(rp(this._onDestroy)).subscribe(t=>this.renderNodeChanges(t)))}renderNodeChanges(t,e=this._dataDiffer,n=this._nodeOutlet.viewContainer,i){const r=e.diff(t);!r||(r.forEachOperation((e,r,s)=>{if(null==e.previousIndex)this.insertNode(t[s],s,n,i);else if(null==s)n.remove(r),this._levels.delete(e.item);else{const t=n.get(r);n.move(t,s)}}),this._changeDetectorRef.detectChanges())}_getNodeDef(t,e){return 1===this._nodeDefs.length?this._nodeDefs.first:this._nodeDefs.find(n=>n.when&&n.when(e,t))||this._defaultNodeDef}insertNode(t,e,n,i){const r=this._getNodeDef(t,e),s=new J0(t);s.level=this.treeControl.getLevel?this.treeControl.getLevel(t):void 0!==i&&this._levels.has(i)?this._levels.get(i)+1:0,this._levels.set(t,s.level),(n||this._nodeOutlet.viewContainer).createEmbeddedView(r.template,s,e),n1.mostRecentTreeNode&&(n1.mostRecentTreeNode.data=t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Yl),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["cdk-tree"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,t1,5),2&t){let t;Qc(t=tu())&&(e._nodeDefs=t)}},viewQuery:function(t,e){if(1&t&&Zc(Z0,7),2&t){let t;Qc(t=tu())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(t,e){1&t&&ca(0,0)},directives:[Z0],encapsulation:2}),t})(),n1=(()=>{class t{constructor(e,n){this._elementRef=e,this._tree=n,this._destroyed=new A,this._dataChanges=new A,t.mostRecentTreeNode=this,this._elementRef.nativeElement.classList.add("cdk-tree-node"),this.role="treeitem"}get role(){return"treeitem"}set role(t){this._elementRef.nativeElement.setAttribute("role",t)}get data(){return this._data}set data(t){t!==this._data&&(this._data=t,this._setRoleFromData(),this._dataChanges.next())}get isExpanded(){return this._tree.treeControl.isExpanded(this._data)}_setExpanded(t){this._isAriaExpanded=t,this._elementRef.nativeElement.setAttribute("aria-expanded",`${t}`)}get level(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}ngOnInit(){this._parentNodeAriaLevel=function(t){let e=t.parentElement;for(;e&&!i1(e);)e=e.parentElement;return e?e.classList.contains("cdk-nested-tree-node")?Pd(e.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level",`${this.level+1}`)}ngDoCheck(){this.isExpanded!=this._isAriaExpanded&&this._setExpanded(this.isExpanded)}ngOnDestroy(){t.mostRecentTreeNode===this&&(t.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}_setRoleFromData(){this.role="treeitem"}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(e1))},t.\u0275dir=se({type:t,selectors:[["cdk-tree-node"]],inputs:{role:"role"},exportAs:["cdkTreeNode"]}),t.mostRecentTreeNode=null,t})();function i1(t){const e=t.classList;return!(!(null==e?void 0:e.contains("cdk-nested-tree-node"))&&!(null==e?void 0:e.contains("cdk-tree")))}const r1=/([A-Za-z%]+)$/;let s1=(()=>{class t{constructor(t,e,n,i){this._treeNode=t,this._tree=e,this._element=n,this._dir=i,this._destroyed=new A,this.indentUnits="px",this._indent=40,this._setPadding(),i&&i.change.pipe(rp(this._destroyed)).subscribe(()=>this._setPadding(!0)),t._dataChanges.subscribe(()=>this._setPadding())}get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_paddingIndent(){const t=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,e=null==this._level?t:this._level;return"number"==typeof e?`${e*this._indent}${this.indentUnits}`:null}_setPadding(t=!1){const e=this._paddingIndent();if(e!==this._currentPadding||t){const t=this._element.nativeElement,n=this._dir&&"rtl"===this._dir.value?"paddingRight":"paddingLeft",i="paddingLeft"===n?"paddingRight":"paddingLeft";t.style[n]=e||"",t.style[i]="",this._currentPadding=e}}_setLevelInput(t){this._level=Pd(t,null),this._setPadding()}_setIndentInput(t){let e=t,n="px";if("string"==typeof t){const i=t.split(r1);e=i[0],n=i[1]||n}this.indentUnits=n,this._indent=Pd(e),this._setPadding()}}return t.\u0275fac=function(e){return new(e||t)(ea(n1),ea(e1),ea(Al),ea(Fp,8))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:["cdkTreeNodePadding","level"],indent:["cdkTreeNodePaddingIndent","indent"]}}),t})(),o1=(()=>{class t{constructor(t,e){this._tree=t,this._treeNode=e,this._recursive=!1}get recursive(){return this._recursive}set recursive(t){this._recursive=kd(t)}_toggle(t){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),t.stopPropagation()}}return t.\u0275fac=function(e){return new(e||t)(ea(e1),ea(n1))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(t,e){1&t&&fa("click",function(t){return e._toggle(t)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}}),t})(),a1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const l1=Ky(qy(n1));let c1=(()=>{class t extends l1{constructor(t,e,n){super(t,e),this.tabIndex=Number(n)||0,t.nativeElement.classList.add("mat-tree-node")}ngOnInit(){super.ngOnInit()}ngDoCheck(){super.ngDoCheck()}ngOnDestroy(){super.ngOnDestroy()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(e1),ii("tabindex"))},t.\u0275dir=se({type:t,selectors:[["mat-tree-node"]],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[xl([{provide:n1,useExisting:t}]),jo]}),t})(),u1=(()=>{class t extends t1{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[xl([{provide:t1,useExisting:t}]),jo]}),t})(),h1=(()=>{class t extends s1{get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodePadding",""]],inputs:{level:["matTreeNodePadding","level"],indent:["matTreeNodePaddingIndent","indent"]},features:[xl([{provide:s1,useExisting:t}]),jo]}),t})(),d1=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(Q0,8))},t.\u0275dir=se({type:t,selectors:[["","matTreeNodeOutlet",""]],features:[xl([{provide:Z0,useExisting:t}])]}),t})(),p1=(()=>{class t extends e1{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-tree"]],viewQuery:function(t,e){if(1&t&&Zc(d1,7),2&t){let t;Qc(t=tu())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"mat-tree","cdk-tree"],exportAs:["matTree"],features:[xl([{provide:e1,useExisting:t}]),jo],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(t,e){1&t&&ca(0,0)},directives:[d1],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\n"],encapsulation:2}),t})(),f1=(()=>{class t extends o1{get recursive(){return this._recursive}set recursive(t){this._recursive=kd(t)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[xl([{provide:o1,useExisting:t}]),jo]}),t})(),g1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[a1,Wy],Wy]}),t})();class m1{constructor(t,e,n,i){this.transformFunction=t,this.getLevel=e,this.isExpandable=n,this.getChildren=i}_flattenNode(t,e,n,i){const r=this.transformFunction(t,e);if(n.push(r),this.isExpandable(r)){const r=this.getChildren(t);r&&(Array.isArray(r)?this._flattenChildren(r,e,n,i):r.pipe(rf(1)).subscribe(t=>{this._flattenChildren(t,e,n,i)}))}return n}_flattenChildren(t,e,n,i){t.forEach((r,s)=>{let o=i.slice();o.push(s!=t.length-1),this._flattenNode(r,e+1,n,o)})}flattenNodes(t){let e=[];return t.forEach(t=>this._flattenNode(t,0,e,[])),e}expandFlattenedNodes(t,e){let n=[],i=[];return i[0]=!0,t.forEach(t=>{let r=!0;for(let e=0;e<=this.getLevel(t);e++)r=r&&i[e];r&&n.push(t),this.isExpandable(t)&&(i[this.getLevel(t)+1]=e.isExpanded(t))}),n}}class b1 extends class{}{constructor(t,e,n){super(),this._treeControl=t,this._treeFlattener=e,this._flattenedData=new Jf([]),this._expandedData=new Jf([]),this._data=new Jf([]),n&&(this.data=n)}get data(){return this._data.value}set data(t){this._data.next(t),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value}connect(t){return Q(t.viewChange,this._treeControl.expansionModel.changed,this._flattenedData).pipe(D(()=>(this._expandedData.next(this._treeFlattener.expandFlattenedNodes(this._flattenedData.value,this._treeControl)),this._expandedData.value)))}disconnect(){}}class y1{constructor(t,e){this.original=t,this.level=e,this.visible=!0,this.opacity=20}get label(){return this.original.label}get expandable(){return this.original.children.length>0}static create(t,e){return new y1(t,e)}}function v1(t,e){if(1&t){const t=ua();ra(0,"div",4),fa("click",function(e){const n=$e(t).node,i=va();return i.select(e.ctrlKey,n,!0,!i.isSelected(n))}),Ja(1),sa()}if(2&t){const t=e.node,n=va();ja("hidden",t.label===(null==n.highlightedNode?null:n.highlightedNode.label))("filtered-out",!n.occurenceData[t.original.id]&&!!n.termData[t.original.id])("unavailable",!n.termData[t.original.id])("selected",n.isSelected(t)),ws(1),tl("colon"===t.label?"large intestine":t.label)}}function _1(t,e){1&t&&ca(0)}const w1=function(t){return{node:t}};function x1(t,e){if(1&t){const t=ua();ra(0,"mat-tree-node",5),fa("mouseleave",function(){$e(t);const e=ta(5);return va().mouseOut(),e.reset()}),ra(1,"div"),ra(2,"mat-icon",6),fa("mouseenter",function(){const e=$e(t).$implicit;return va().mouseOver(e)}),sa(),ra(3,"div",7),ra(4,"ccf-opacity-slider",8,9),fa("opacityChange",function(e){const n=$e(t).$implicit;return va().updateOpacity(n,e)})("opacityReset",function(){const e=$e(t).$implicit;return va().resetNode(e)})("visibilityToggle",function(){const e=$e(t).$implicit;return va().toggleVisibility(e)}),sa(),sa(),sa(),oa(6,"div",10),Jo(7,_1,1,0,"ng-container",11),ra(8,"div",12),Ja(9),sa(),sa()}if(2&t){const t=e.$implicit,n=va(),i=ta(2);na("matTreeNodePaddingIndent",n.indent),ws(1),La("display",-1!==t.opacity?"none":"block"),ws(1),La("left",n.getLeftIndent(t.level)),ja("fade",!0!==t.visible),ws(1),La("left",n.getLeftIndent(t.level)),ja("hidden",t.label!==(null==n.highlightedNode?null:n.highlightedNode.label)),ws(1),na("visible",t.visible)("opacity",t.opacity),ws(3),na("ngTemplateOutlet",i)("ngTemplateOutletContext",Pc(18,w1,t)),ws(1),ja("suborgan",t.level>1),ws(1),tl(n.occurenceData[t.original.id]||0)}}function S1(t,e){1&t&&ca(0)}function C1(t,e){if(1&t){const t=ua();ra(0,"mat-tree-node",13),fa("mouseleave",function(){$e(t);const e=ta(5);return va().mouseOut(),e.reset()}),ra(1,"div"),ra(2,"mat-icon",6),fa("mouseenter",function(){const e=$e(t).$implicit;return va().mouseOver(e)}),sa(),ra(3,"div",7),ra(4,"ccf-opacity-slider",8,14),fa("opacityChange",function(e){const n=$e(t).$implicit;return va().updateOpacity(n,e)})("opacityReset",function(){const e=$e(t).$implicit;return va().resetNode(e)})("visibilityToggle",function(){const e=$e(t).$implicit;return va().toggleVisibility(e)}),sa(),sa(),sa(),ra(6,"button",15),ra(7,"mat-icon",16),Ja(8),sa(),sa(),Jo(9,S1,1,0,"ng-container",11),ra(10,"div",12),Ja(11),sa(),sa()}if(2&t){const t=e.$implicit,n=va(),i=ta(2);na("matTreeNodePaddingIndent",n.indent),ws(1),La("display",-1!==t.opacity?"none":"block"),ws(1),La("left",n.getLeftIndent(t.level)),ja("fade",!0!==t.visible),ws(1),La("left",n.getLeftIndent(t.level)),ja("hidden",t.label!==(null==n.highlightedNode?null:n.highlightedNode.label)),ws(1),na("visible",t.visible)("opacity",t.opacity),ws(2),ja("hidden",t.label===(null==n.highlightedNode?null:n.highlightedNode.label)),Zo("aria-label","Toggle ",t.label,""),ws(2),el(" ",n.control.isExpanded(t)?"expand_less":"expand_more"," "),ws(1),na("ngTemplateOutlet",i)("ngTemplateOutletContext",Pc(22,w1,t)),ws(1),ja("suborgan",t.level>1),ws(1),tl(n.occurenceData[t.original.id]||0)}}const E1=(0,gq.property)("level"),O1=(0,gq.property)("expandable");let T1=(()=>{class t{constructor(t,e){this.cdr=t,this.ga=e,this.atScrollBottom=!1,this.nodeSelected=new Bc,this.nodeChanged=new Bc,this.indent="1.5rem",this.control=new K0(E1,O1),this.flattener=new m1(y1.create,E1,O1,gq.invoke.bind(void 0,this,"getChildren")),this.dataSource=new b1(this.control,this.flattener),this._nodes=void 0,this.anySelectionsMade=!1,this.selectedNodes=[]}set nodes(t){var e;this._nodes=t,this.control&&(this.dataSource.data=null!==(e=this._nodes)&&void 0!==e?e:[])}get nodes(){return this._nodes}set getChildren(t){var e;this._getChildren=t,this.dataSource.data=null!==(e=this.nodes)&&void 0!==e?e:[]}get getChildren(){return this._getChildren}set occurenceData(t){this._occurenceData=t||{}}get occurenceData(){return this._occurenceData}set termData(t){this._termData=t||{}}get termData(){return this._termData}ngOnInit(){this.control.dataNodes&&this.control.expand(this.control.dataNodes[0])}ngOnChanges(t){if(t.ontologyFilter){const e=t.ontologyFilter.currentValue;(null==e?void 0:e.length)>=0&&this.selectByIDs(e)}t.rootNode&&this.selectByIDs([t.rootNode.currentValue])}selectByIDs(t){const e=this.control.dataNodes,n=e.filter(e=>t.indexOf(e.original.id)>-1);(null==n?void 0:n.length)>0&&(this.selectedNodes=n,this.ga.event("nodes_selected_by_ids","ontology_tree",n.map(t=>t.label).join(",")),this.control.collapseAll(),this.selectedNodes.forEach(t=>{this.expandAndSelect(t.original,t=>{var n;return null===(n=e.find(e=>e.original.id===t.parent))||void 0===n?void 0:n.original},!0)}))}expandAndSelect(t,e,n=!1){var i;const{cdr:r,control:s}=this,o=new Set;let a=e(t);for(;a;)o.add(a),a=e(a);const l=(0,gq.filter)(s.dataNodes,t=>o.has(t.original)),c=s.dataNodes.find(e=>e.original===t);n||(this.selectedNodes=[],s.collapseAll());for(const u of l)s.expand(u);"body"===t.label&&(null===(i=s.dataNodes)||void 0===i?void 0:i.length)>0&&s.expand(s.dataNodes[0]),this.select(n,c,!1,!0),r.detectChanges()}isInnerNode(t,e){return e.expandable}isSelected(t){return(null==t?void 0:t.original.id)===this.rootNode||this.selectedNodes.filter(e=>(null==t?void 0:t.original.label)===(null==e?void 0:e.original.label)).length>0}select(t,e,n,i){if(this.anySelectionsMade||(this.selectedNodes=[],this.anySelectionsMade=!0),void 0===e)return this.selectedNodes=[],void this.ga.event("nodes_unselected","ontology_tree");t?i?this.selectedNodes.indexOf(e)<0&&this.selectedNodes.push(e):this.selectedNodes.splice(this.selectedNodes.indexOf(e),1):(this.selectedNodes=[],i&&this.selectedNodes.push(e)),this.ga.event("nodes_selected","ontology_tree",this.selectedNodes.map(t=>t.label).join(",")),n&&this.nodeSelected.emit(this.selectedNodes.map(t=>null==t?void 0:t.original))}mouseOver(t){this.highlightedNode=t}mouseOut(){this.highlightedNode=void 0}updateOpacity(t,e){t.opacity=e,this.ga.event("opacity_update","ontology_tree",t.label,e),this.nodeChanged.emit(t)}resetNode(t){t.opacity=20,t.visible=!0,this.ga.event("node_reset","ontology_tree",t.label),this.nodeChanged.emit(t)}toggleVisibility(t){t.visible=!0!==t.visible,this.ga.event("visibility_update","ontology_tree",t.label,+t.visible),this.nodeChanged.emit(t)}getLeftIndent(t){return-1.5*t+"rem"}onScroll(t){if(!t.target)return;const{clientHeight:e,scrollHeight:n,scrollTop:i}=t.target;this.atScrollBottom=n-i-e<20}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-tree"]],inputs:{ontologyFilter:"ontologyFilter",rootNode:"rootNode",nodes:"nodes",getChildren:"getChildren",occurenceData:"occurenceData",termData:"termData",header:"header"},outputs:{nodeSelected:"nodeSelected",nodeChanged:"nodeChanged"},features:[ye],decls:5,vars:5,consts:[[1,"ccf-ontology-tree",3,"dataSource","treeControl","scroll"],["selectableRegion",""],["class","node leaf-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef"],["class","node inner-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef","matTreeNodeDefWhen"],[1,"text",3,"click"],["matTreeNodePadding","",1,"node","leaf-node",3,"matTreeNodePaddingIndent","mouseleave"],["svgIcon","app:opacity",1,"icon","opacity",3,"mouseenter"],[1,"slider"],[3,"visible","opacity","opacityChange","opacityReset","visibilityToggle"],["slider1",""],[1,"non-expandable"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"num-results"],["matTreeNodePadding","",1,"node","inner-node",3,"matTreeNodePaddingIndent","mouseleave"],["slider2",""],["mat-icon-button","","matTreeNodeToggle","",1,"toggle"],[1,"icon","font-icon"]],template:function(t,e){1&t&&(ra(0,"mat-tree",0),fa("scroll",function(t){return e.onScroll(t)}),Jo(1,v1,2,9,"ng-template",null,1,ru),Jo(3,x1,10,20,"mat-tree-node",2),Jo(4,C1,12,24,"mat-tree-node",3),sa()),2&t&&(ja("header-hidden",!e.header),na("dataSource",e.dataSource)("treeControl",e.control),ws(4),na("matTreeNodeDefWhen",e.isInnerNode))},directives:[p1,u1,c1,h1,T_,jK,Fh,R_,f1],styles:[".ccf-ontology-tree[_ngcontent-%COMP%]{background:none;scrollbar-width:thin;max-height:calc(50vh - 10rem);overflow:auto;overflow-x:hidden}.ccf-ontology-tree.header-hidden[_ngcontent-%COMP%]{max-height:40vh}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .toggle[_ngcontent-%COMP%]{z-index:-1;opacity:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .text[_ngcontent-%COMP%]{margin-left:.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]{min-height:0;font-size:1rem;margin-bottom:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:width;position:relative;z-index:1}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%]{width:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%] ccf-opacity-slider[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider{height:1.5rem;margin-left:1rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box .slider-and-label{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider{height:1.5rem;width:15rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider .mat-slider-wrapper{top:12px}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .opacity-value{width:3rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-right:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node.inner-node[_ngcontent-%COMP%] button.hidden[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .opacity[_ngcontent-%COMP%]{position:relative;min-width:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:normal}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .autocomplete-open[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{border-bottom:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .non-expandable[_ngcontent-%COMP%]{margin-left:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{white-space:nowrap;cursor:pointer;margin-left:1rem;opacity:1;width:50%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:opacity,width}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.hidden[_ngcontent-%COMP%]{opacity:0;width:0%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.unavailable[_ngcontent-%COMP%]{pointer-events:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-left:auto}.scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:90%;bottom:0;pointer-events:none}.scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();function k1(t,e){if(1&t&&(ra(0,"mat-option",8),ra(1,"span",9),Ja(2),sa(),ra(3,"span",10),Ja(4),sa(),ra(5,"span",11),Ja(6),sa(),sa()),2&t){const t=e.$implicit;na("value",t),ws(2),tl(t.displayLabel[0]),ws(2),tl(t.displayLabel[1]),ws(2),tl(t.displayLabel[2])}}let P1=(()=>{class t{constructor(t,e){this.ontologyService=t,this.ga=e,this.selected=new Bc,this.formControl=new tH(""),this.autoCompleteOpen=!1}ngOnInit(){this.filteredResults$=this.formControl.valueChanges.pipe(ep(t=>"string"==typeof t),lp(""),cp(t=>this.ontologyService.filter(t)),D(t=>(0,gq.sortBy)(t,[this.sortBySynonymResult,"index",this.sortLexically])))}displayFormatter(t){var e;return(null!==(e=null==t?void 0:t.displayLabel)&&void 0!==e?e:[]).join("")}sortBySynonymResult(t){return t.displayLabel.join().includes("(")?1:-1}sortLexically(t){return t.node.label.toLowerCase()}onSelect(t){const e=(0,gq.get)(t,["option","value","node"]);e&&(this.ga.event("search","ontology_search",e.id),this.selected.emit(e),this.formControl.reset())}}return t.\u0275fac=function(e){return new(e||t)(ea(Y0),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-search"]],inputs:{placeholderText:"placeholderText"},outputs:{selected:"selected"},decls:10,vars:9,consts:[[1,"ccf-ontology-search"],["appearance","outline",1,"field"],["matPrefix","","color","primary",1,"search"],["type","text","matInput","",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"ccf-ontology-search","detached","autocomplete",3,"displayWith","optionSelected","opened","closed"],["autocomplete",""],[1,"results-container"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"prefix"],[1,"search-term"],[1,"suffix"]],template:function(t,e){if(1&t&&(ra(0,"form",0),ra(1,"mat-form-field",1),ra(2,"mat-icon",2),Ja(3,"search"),sa(),oa(4,"input",3),ra(5,"mat-autocomplete",4,5),fa("optionSelected",function(t){return e.onSelect(t)})("opened",function(){return e.autoCompleteOpen=!0})("closed",function(){return e.autoCompleteOpen=!1}),ra(7,"div",6),Jo(8,k1,7,4,"mat-option",7),Dc(9,"async"),sa(),sa(),sa(),sa()),2&t){const t=ta(6);ja("autocomplete-open",e.autoCompleteOpen),ws(4),na("placeholder",e.placeholderText)("formControl",e.formControl)("matAutocomplete",t),ws(1),na("displayWith",e.displayFormatter),ws(3),na("ngForOf",Rc(9,7,e.filteredResults$))}},directives:[cH,IU,sH,QH,T_,$H,E$,uU,m$,MU,pH,h$,kh,wv],pipes:[$h],styles:[".ccf-ontology-search[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem .25rem 0;margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;height:3rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix input{margin-left:.4rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-prefix{top:.5rem;border:none}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0 .25rem;min-width:2.5rem} .ccf-ontology-search.detached{border:.125rem solid;border-top:none;border-radius:0 0 .25rem .25rem;max-height:18rem} .ccf-ontology-search.detached .results-container{width:23.75rem;margin-bottom:1rem;overflow:auto;max-height:15rem;scrollbar-width:thin} .ccf-ontology-search.detached .results-container mat-option{height:1.5rem;width:23.75rem} .ccf-ontology-search.detached .results-container mat-option .search-term{text-decoration:underline}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0;border-bottom:none}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem 0 0;border-bottom:none}"],changeDetection:0}),t})();const A1=function(t){return[t]};function M1(t,e){if(1&t){const t=ua();ra(0,"ccf-ontology-tree",2),fa("nodeSelected",function(e){return $e(t),va().ontologySelection.emit(e)}),sa()}if(2&t){const t=e.ngIf,n=va();na("nodes",Pc(7,A1,t))("rootNode",t.id)("getChildren",n.ontologySearchService.getChildren)("occurenceData",n.occurenceData)("termData",n.termData)("ontologyFilter",n.ontologyFilter)("header",n.header)}}let I1=(()=>{class t{constructor(t){this.ontologySearchService=t,this.ontologySelection=new Bc}ngOnChanges(t){"treeModel"in t&&this.treeModel&&this.ontologySearchService.setTreeModel(this.treeModel)}selected(t){var e,n;const i=null!==(n=null===(e=this.treeModel)||void 0===e?void 0:e.nodes)&&void 0!==n?n:{};this.tree.expandAndSelect(t,t=>i[t.parent])}}return t.\u0275fac=function(e){return new(e||t)(ea(Y0))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-selection"]],viewQuery:function(t,e){if(1&t&&Zc(T1,5),2&t){let t;Qc(t=tu())&&(e.tree=t.first)}},inputs:{occurenceData:"occurenceData",termData:"termData",treeModel:"treeModel",ontologyFilter:"ontologyFilter",header:"header",placeholderText:"placeholderText"},outputs:{ontologySelection:"ontologySelection"},features:[xl([Y0]),ye],decls:3,vars:4,consts:[[3,"placeholderText","selected"],["class","tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected",4,"ngIf"],[1,"tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected"]],template:function(t,e){1&t&&(ra(0,"ccf-ontology-search",0),fa("selected",function(t){return e.selected(t)}),sa(),Jo(1,M1,1,9,"ccf-ontology-tree",1),Dc(2,"async")),2&t&&(na("placeholderText",e.placeholderText),ws(1),na("ngIf",Rc(2,2,e.ontologySearchService.rootNode$)))},directives:[P1,Ah,T1],pipes:[$h],styles:[""],changeDetection:0}),t})(),D1=(()=>{class t{constructor(t,e,n){this.drawer=t,this.cdr=n,this.className="ccf-drawer-toggle-button",this.position="start",this.opened=!1,this.subscriptions=new g;const i=e.connect(this);this.subscriptions.add(i.getMessagesFromSource(t).subscribe(t=>{this.handleMessage(t)&&n.markForCheck()}))}get classEnd(){return"end"===this.position}get icon(){let t="arrow_right",e="arrow_left";return"end"===this.position&&([t,e]=[e,t]),this.opened?e:t}ngAfterViewInit(){setTimeout(()=>{this.position=this.drawer.position,this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return"drawer-toggled"===t.payload.type&&(this.opened=t.payload.opened,!0)}toggle(){const t=this.drawer,{opened:e,expanded:n}=t;e?n?t.closeExpanded():t.close():t.open()}}return t.\u0275fac=function(e){return new(e||t)(ea(OZ),ea(_Z),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-toggle-button"]],hostVars:4,hostBindings:function(t,e){2&t&&(Va(e.className),ja("ccf-drawer-toggle-button-end",e.classEnd))},decls:2,vars:1,consts:[["aria-hidden","false","aria-label","Close side drawer",1,"expand-collapse-icon",3,"click"]],template:function(t,e){1&t&&(ra(0,"mat-icon",0),fa("click",function(){return e.toggle()}),Ja(1),sa()),2&t&&(ws(1),el(" ",e.icon,"\n"))},directives:[T_],styles:["[_nghost-%COMP%]{position:absolute;top:calc(50% - 2.0625rem);right:-1.0625rem;width:1.0625rem;height:3rem;border-radius:0 .25rem .25rem 0;cursor:pointer;display:flex;align-items:center;transition:.6s}.ccf-drawer-toggle-button-end[_nghost-%COMP%]{right:unset;left:calc(-1rem - 1px);border-radius:.25rem 0 0 .25rem}[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{position:relative;right:.25rem;transition:all .5s}.ccf-drawer-toggle-button-end[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{right:unset;left:-.25rem}"],changeDetection:0}),t})();function R1(t,e){1&t&&(ra(0,"div",7),oa(1,"mat-spinner",8),ra(2,"span",3),Ja(3,"Loading External Site"),sa(),sa())}function N1(t,e){if(1&t){const t=ua();ra(0,"iframe",9),fa("load",function(){return $e(t),va().loading=!1}),sa()}2&t&&Ko("src",va().safeUrl,wr)}let L1=(()=>{class t{constructor(t){this.sanitizer=t,this.className="ccf-viewer",this.url="",this.closed=new Bc,this.loading=!0,this.safeUrl=null}ngOnChanges(t){"url"in t&&this.updateUrl()}updateUrl(){const{sanitizer:t,url:e}=this;this.safeUrl=null,e&&(this.safeUrl=t.bypassSecurityTrustResourceUrl(e),this.loading=!0)}}return t.\u0275fac=function(e){return new(e||t)(ea(Sd))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-viewer"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{url:"url"},outputs:{closed:"closed"},features:[ye],decls:11,vars:4,consts:[[1,"toolbar"],["mat-flat-button","","target","_blank","rel","noopener noreferrer",1,"launch",3,"href","disabled"],[1,"icon"],[1,"text"],["mat-flat-button","",1,"close",3,"click"],["class","overlay",4,"ngIf"],["class","frame","title","Portal Data Viewer","referrerpolicy","no-referrer",3,"load",4,"ngIf"],[1,"overlay"],[1,"spinner"],["title","Portal Data Viewer","referrerpolicy","no-referrer",1,"frame",3,"load"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"a",1),ra(2,"mat-icon",2),Ja(3,"launch"),sa(),ra(4,"span",3),Ja(5,"Open in Portal"),sa(),sa(),ra(6,"button",4),fa("click",function(){return e.closed.emit()}),ra(7,"mat-icon",2),Ja(8,"clear"),sa(),sa(),sa(),Jo(9,R1,4,0,"div",5),Jo(10,N1,1,1,"iframe",6)),2&t&&(ws(1),na("href",e.safeUrl,_r)("disabled",!e.safeUrl),ws(8),na("ngIf",e.loading),ws(1),na("ngIf",e.safeUrl))},directives:[N_,T_,R_,Ah,fZ],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;width:100%;height:1.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%]{margin-right:3.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch.mat-button-disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.25rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{min-width:0;padding:0;line-height:1.5rem;border-radius:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:1.5rem;bottom:0;left:0;right:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{margin-bottom:.5rem}[_nghost-%COMP%] .frame[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0}),t})();function j1(t,e){if(1&t&&oa(0,"div",3),2&t){const t=e.index;ja("line-tick-visible",va().tissueSectionExists(t+1))}}const F1=function(){return[]};let B1=(()=>{class t{constructor(){this.clsName="ccf-tissue-section-vis"}tissueSectionExists(t){return this.tissueSections.filter(e=>e.sectionNumber===t).length>0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tissue-section-vis"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{totalTissueSections:"totalTissueSections",tissueSections:"tissueSections"},decls:7,vars:3,consts:[[1,"container"],["class","line-tick",3,"line-tick-visible",4,"ngFor","ngForOf"],[1,"x-axis"],[1,"line-tick"]],template:function(t,e){1&t&&(ra(0,"div"),Ja(1,"0"),sa(),ra(2,"div",0),Jo(3,j1,1,2,"div",1),oa(4,"div",2),sa(),ra(5,"div"),Ja(6),sa()),2&t&&(ws(3),na("ngForOf",kc(2,F1).constructor(e.totalTissueSections)),ws(3),tl(e.totalTissueSections))},directives:[kh],styles:["[_nghost-%COMP%]{width:100%;height:2.5rem;padding:.5rem 1rem;display:flex}[_nghost-%COMP%] .container[_ngcontent-%COMP%]{margin-right:.5rem;margin-left:.5rem;flex-grow:1;display:flex;position:relative;justify-content:space-evenly}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .line-tick[_ngcontent-%COMP%]{height:100%;width:1px;z-index:2}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .x-axis[_ngcontent-%COMP%]{width:100%;height:2px;position:absolute;top:calc(50% - 1px);right:0;z-index:1}"],changeDetection:0}),t})();function V1(t){return null!==t&&"object"==typeof t&&"constructor"in t&&t.constructor===Object}function z1(t,e){void 0===t&&(t={}),void 0===e&&(e={}),Object.keys(e).forEach(function(n){void 0===t[n]?t[n]=e[n]:V1(e[n])&&V1(t[n])&&Object.keys(e[n]).length>0&&z1(t[n],e[n])})}var U1={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function H1(){var t="undefined"!=typeof document?document:{};return z1(t,U1),t}var $1={document:U1,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}},requestAnimationFrame:function(t){return"undefined"==typeof setTimeout?(t(),null):setTimeout(t,0)},cancelAnimationFrame:function(t){"undefined"!=typeof setTimeout&&clearTimeout(t)}};function G1(){var t="undefined"!=typeof window?window:{};return z1(t,$1),t}function W1(t){return(W1=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function q1(t,e){return(q1=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function X1(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(m){return!1}}function Y1(t,e,n){return(Y1=X1()?Reflect.construct:function(t,e,n){var i=[null];i.push.apply(i,e);var r=new(Function.bind.apply(t,i));return n&&q1(r,n.prototype),r}).apply(null,arguments)}function K1(t){var e="function"==typeof Map?new Map:void 0;return(K1=function(t){if(null===t||!function(t){return-1!==Function.toString.call(t).indexOf("[native code]")}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return Y1(t,arguments,W1(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),q1(n,t)})(t)}var Q1=function(t){function e(e){var n;return function(t){var e=t.__proto__;Object.defineProperty(t,"__proto__",{get:function(){return e},set:function(t){e.__proto__=t}})}(function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(n=t.call.apply(t,[this].concat(e))||this)),n}return function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}(e,t),e}(K1(Array));function Z1(t){void 0===t&&(t=[]);var e=[];return t.forEach(function(t){Array.isArray(t)?e.push.apply(e,Z1(t)):e.push(t)}),e}function J1(t,e){return Array.prototype.filter.call(t,e)}function t2(t,e){var n=G1(),i=H1(),r=[];if(!e&&t instanceof Q1)return t;if(!t)return new Q1(r);if("string"==typeof t){var s=t.trim();if(s.indexOf("<")>=0&&s.indexOf(">")>=0){var o="div";0===s.indexOf("0}).length>0},toggleClass:function(){for(var t=arguments.length,e=new Array(t),n=0;n=0;p-=1){var f=d[p];s&&f.listener===s||s&&f.listener&&f.listener.dom7proxy&&f.listener.dom7proxy===s?(h.removeEventListener(c,f.proxyListener,o),d.splice(p,1)):s||(h.removeEventListener(c,f.proxyListener,o),d.splice(p,1))}}return this},trigger:function(){for(var t=G1(),e=arguments.length,n=new Array(e),i=0;i0}),c.dispatchEvent(u),c.dom7EventData=[],delete c.dom7EventData}}return this},transitionEnd:function(t){var e=this;return t&&e.on("transitionend",function n(i){i.target===this&&(t.call(this,i),e.off("transitionend",n))}),this},outerWidth:function(t){if(this.length>0){if(t){var e=this.styles();return this[0].offsetWidth+parseFloat(e.getPropertyValue("margin-right"))+parseFloat(e.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(t){if(this.length>0){if(t){var e=this.styles();return this[0].offsetHeight+parseFloat(e.getPropertyValue("margin-top"))+parseFloat(e.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){var t=G1();return this[0]?t.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){var t=G1(),e=H1(),n=this[0],i=n.getBoundingClientRect(),r=e.body;return{top:i.top+(n===t?t.scrollY:n.scrollTop)-(n.clientTop||r.clientTop||0),left:i.left+(n===t?t.scrollX:n.scrollLeft)-(n.clientLeft||r.clientLeft||0)}}return null},css:function(t,e){var n,i=G1();if(1===arguments.length){if("string"!=typeof t){for(n=0;ne-1)return t2([]);if(t<0){var n=e+t;return t2(n<0?[]:[this[n]])}return t2([this[t]])},append:function(){for(var t,e=H1(),n=0;n=0;n-=1)this[e].insertBefore(r.childNodes[n],this[e].childNodes[0])}else if(t instanceof Q1)for(n=0;n0?t?this[0].nextElementSibling&&t2(this[0].nextElementSibling).is(t)?t2([this[0].nextElementSibling]):t2([]):t2(this[0].nextElementSibling?[this[0].nextElementSibling]:[]):t2([])},nextAll:function(t){var e=[],n=this[0];if(!n)return t2([]);for(;n.nextElementSibling;){var i=n.nextElementSibling;t?t2(i).is(t)&&e.push(i):e.push(i),n=i}return t2(e)},prev:function(t){if(this.length>0){var e=this[0];return t?e.previousElementSibling&&t2(e.previousElementSibling).is(t)?t2([e.previousElementSibling]):t2([]):t2(e.previousElementSibling?[e.previousElementSibling]:[])}return t2([])},prevAll:function(t){var e=[],n=this[0];if(!n)return t2([]);for(;n.previousElementSibling;){var i=n.previousElementSibling;t?t2(i).is(t)&&e.push(i):e.push(i),n=i}return t2(e)},parent:function(t){for(var e=[],n=0;n=0,observer:"MutationObserver"in t||"WebkitMutationObserver"in t,passiveListener:function(){var e=!1;try{var n=Object.defineProperty({},"passive",{get:function(){e=!0}});t.addEventListener("testPassiveListener",null,n)}catch(i){}return e}(),gestures:"ongesturestart"in t}}()),r2}function g2(t){return void 0===t&&(t={}),s2||(s2=function(t){var e=(void 0===t?{}:t).userAgent,n=f2(),i=G1(),r=i.navigator.platform,s=e||i.navigator.userAgent,o={ios:!1,android:!1},a=i.screen.width,l=i.screen.height,c=s.match(/(Android);?[\s\/]+([\d.]+)?/),u=s.match(/(iPad).*OS\s([\d_]+)/),h=s.match(/(iPod)(.*OS\s([\d_]+))?/),d=!u&&s.match(/(iPhone\sOS|iOS)\s([\d_]+)/),p="Win32"===r,f="MacIntel"===r;return!u&&f&&n.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(a+"x"+l)>=0&&((u=s.match(/(Version)\/([\d.]+)/))||(u=[0,1,"13_0_0"]),f=!1),c&&!p&&(o.os="android",o.android=!0),(u||d||h)&&(o.os="ios",o.ios=!0),o}(t)),s2}function m2(){return o2||(o2=function(){var t,e=G1();return{isEdge:!!e.navigator.userAgent.match(/Edge/g),isSafari:(t=e.navigator.userAgent.toLowerCase(),t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),o2}var b2={name:"resize",create:function(){var t=this;d2(t,{resize:{observer:null,createObserver:function(){!t||t.destroyed||!t.initialized||(t.resize.observer=new ResizeObserver(function(e){var n=t.width,i=t.height,r=n,s=i;e.forEach(function(e){var n=e.contentBoxSize,i=e.contentRect,o=e.target;o&&o!==t.el||(r=i?i.width:(n[0]||n).inlineSize,s=i?i.height:(n[0]||n).blockSize)}),(r!==n||s!==i)&&t.resize.resizeHandler()}),t.resize.observer.observe(t.el))},removeObserver:function(){t.resize.observer&&t.resize.observer.unobserve&&t.el&&(t.resize.observer.unobserve(t.el),t.resize.observer=null)},resizeHandler:function(){!t||t.destroyed||!t.initialized||(t.emit("beforeResize"),t.emit("resize"))},orientationChangeHandler:function(){!t||t.destroyed||!t.initialized||t.emit("orientationchange")}}})},on:{init:function(t){var e=G1();t.params.resizeObserver&&void 0!==G1().ResizeObserver?t.resize.createObserver():(e.addEventListener("resize",t.resize.resizeHandler),e.addEventListener("orientationchange",t.resize.orientationChangeHandler))},destroy:function(t){var e=G1();t.resize.removeObserver(),e.removeEventListener("resize",t.resize.resizeHandler),e.removeEventListener("orientationchange",t.resize.orientationChangeHandler)}}};function y2(){return(y2=Object.assign||function(t){for(var e=1;e0)&&(!r.isTouched||!r.isMoved))){s.noSwipingClass&&""!==s.noSwipingClass&&a.target&&a.target.shadowRoot&&t.path&&t.path[0]&&(l=a2(t.path[0]));var c=s.noSwipingSelector?s.noSwipingSelector:"."+s.noSwipingClass;if(s.noSwiping&&(a.target&&a.target.shadowRoot?function(t,e){return void 0===e&&(e=this),function e(n){return n&&n!==H1()&&n!==G1()?(n.assignedSlot&&(n=n.assignedSlot),n.closest(t)||e(n.getRootNode().host)):null}(e)}(c,a.target):l.closest(c)[0]))return void(e.allowClick=!0);if(!s.swipeHandler||l.closest(s.swipeHandler)[0]){o.currentX="touchstart"===a.type?a.targetTouches[0].pageX:a.pageX,o.currentY="touchstart"===a.type?a.targetTouches[0].pageY:a.pageY;var u=o.currentX,h=o.currentY,d=s.edgeSwipeDetection||s.iOSEdgeSwipeDetection,p=s.edgeSwipeThreshold||s.iOSEdgeSwipeThreshold;if(d&&(u<=p||u>=i.innerWidth-p)){if("prevent"!==d)return;t.preventDefault()}if(d2(r,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=u,o.startY=h,r.touchStartTime=c2(),e.allowClick=!0,e.updateSize(),e.swipeDirection=void 0,s.threshold>0&&(r.allowThresholdMove=!1),"touchstart"!==a.type){var f=!0;l.is(r.focusableElements)&&(f=!1),n.activeElement&&a2(n.activeElement).is(r.focusableElements)&&n.activeElement!==l[0]&&n.activeElement.blur(),(s.touchStartForcePreventDefault||f&&e.allowTouchMove&&s.touchStartPreventDefault)&&!l[0].isContentEditable&&a.preventDefault()}e.emit("touchStart",a)}}}}function x2(t){var e=H1(),n=this,i=n.touchEventsData,r=n.params,s=n.touches,o=n.rtlTranslate;if(n.enabled){var a=t;if(a.originalEvent&&(a=a.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&n.emit("touchMoveOpposite",a));if(!i.isTouchEvent||"touchmove"===a.type){var l="touchmove"===a.type&&a.targetTouches&&(a.targetTouches[0]||a.changedTouches[0]),c="touchmove"===a.type?l.pageX:a.pageX,u="touchmove"===a.type?l.pageY:a.pageY;if(a.preventedByNestedSwiper)return s.startX=c,void(s.startY=u);if(!n.allowTouchMove)return n.allowClick=!1,void(i.isTouched&&(d2(s,{startX:c,startY:u,currentX:c,currentY:u}),i.touchStartTime=c2()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(n.isVertical()){if(us.startY&&n.translate>=n.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(cs.startX&&n.translate>=n.minTranslate())return;if(i.isTouchEvent&&e.activeElement&&a.target===e.activeElement&&a2(a.target).is(i.focusableElements))return i.isMoved=!0,void(n.allowClick=!1);if(i.allowTouchCallbacks&&n.emit("touchMove",a),!(a.targetTouches&&a.targetTouches.length>1)){s.currentX=c,s.currentY=u;var h=s.currentX-s.startX,d=s.currentY-s.startY;if(!(n.params.threshold&&Math.sqrt(Math.pow(h,2)+Math.pow(d,2))=25&&(p=180*Math.atan2(Math.abs(d),Math.abs(h))/Math.PI,i.isScrolling=n.isHorizontal()?p>r.touchAngle:90-p>r.touchAngle)),i.isScrolling&&n.emit("touchMoveOpposite",a),void 0===i.startMoving&&(s.currentX!==s.startX||s.currentY!==s.startY)&&(i.startMoving=!0),i.isScrolling)return void(i.isTouched=!1);if(i.startMoving){n.allowClick=!1,!r.cssMode&&a.cancelable&&a.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&a.stopPropagation(),i.isMoved||(r.loop&&n.loopFix(),i.startTranslate=n.getTranslate(),n.setTransition(0),n.animating&&n.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,r.grabCursor&&(!0===n.allowSlideNext||!0===n.allowSlidePrev)&&n.setGrabCursor(!0),n.emit("sliderFirstMove",a)),n.emit("sliderMove",a),i.isMoved=!0;var f=n.isHorizontal()?h:d;s.diff=f,f*=r.touchRatio,o&&(f=-f),n.swipeDirection=f>0?"prev":"next",i.currentTranslate=f+i.startTranslate;var g=!0,m=r.resistanceRatio;if(r.touchReleaseOnEdges&&(m=0),f>0&&i.currentTranslate>n.minTranslate()?(g=!1,r.resistance&&(i.currentTranslate=n.minTranslate()-1+Math.pow(-n.minTranslate()+i.startTranslate+f,m))):f<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),!n.allowSlidePrev&&!n.allowSlideNext&&(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(f)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,s.startX=s.currentX,s.startY=s.currentY,i.currentTranslate=i.startTranslate,void(s.diff=n.isHorizontal()?s.currentX-s.startX:s.currentY-s.startY)}!r.followFinger||r.cssMode||((r.freeMode||r.watchSlidesProgress||r.watchSlidesVisibility)&&(n.updateActiveIndex(),n.updateSlidesClasses()),r.freeMode&&(0===i.velocities.length&&i.velocities.push({position:s[n.isHorizontal()?"startX":"startY"],time:i.touchStartTime}),i.velocities.push({position:s[n.isHorizontal()?"currentX":"currentY"],time:c2()})),n.updateProgress(i.currentTranslate),n.setTranslate(i.currentTranslate))}}}}}}function S2(t){var e=this,n=e.touchEventsData,i=e.params,r=e.touches,s=e.rtlTranslate,o=e.$wrapperEl,a=e.slidesGrid,l=e.snapGrid;if(e.enabled){var c=t;if(c.originalEvent&&(c=c.originalEvent),n.allowTouchCallbacks&&e.emit("touchEnd",c),n.allowTouchCallbacks=!1,!n.isTouched)return n.isMoved&&i.grabCursor&&e.setGrabCursor(!1),n.isMoved=!1,void(n.startMoving=!1);i.grabCursor&&n.isMoved&&n.isTouched&&(!0===e.allowSlideNext||!0===e.allowSlidePrev)&&e.setGrabCursor(!1);var u,h=c2(),d=h-n.touchStartTime;if(e.allowClick&&(e.updateClickedSlide(c),e.emit("tap click",c),d<300&&h-n.lastClickTime<300&&e.emit("doubleTap doubleClick",c)),n.lastClickTime=c2(),l2(function(){e.destroyed||(e.allowClick=!0)}),!n.isTouched||!n.isMoved||!e.swipeDirection||0===r.diff||n.currentTranslate===n.startTranslate)return n.isTouched=!1,n.isMoved=!1,void(n.startMoving=!1);if(n.isTouched=!1,n.isMoved=!1,n.startMoving=!1,u=i.followFinger?s?e.translate:-e.translate:-n.currentTranslate,!i.cssMode){if(i.freeMode){if(u<-e.minTranslate())return void e.slideTo(e.activeIndex);if(u>-e.maxTranslate())return void e.slideTo(e.slides.length1){var p=n.velocities.pop(),f=n.velocities.pop(),g=p.time-f.time;e.velocity=(p.position-f.position)/g,e.velocity/=2,Math.abs(e.velocity)150||c2()-p.time>300)&&(e.velocity=0)}else e.velocity=0;e.velocity*=i.freeModeMomentumVelocityRatio,n.velocities.length=0;var m=1e3*i.freeModeMomentumRatio,b=e.translate+e.velocity*m;s&&(b=-b);var y,v,_=!1,w=20*Math.abs(e.velocity)*i.freeModeMomentumBounceRatio;if(be.minTranslate())i.freeModeMomentumBounce?(b-e.minTranslate()>w&&(b=e.minTranslate()+w),y=e.minTranslate(),_=!0,n.allowMomentumBounce=!0):b=e.minTranslate(),i.loop&&i.centeredSlides&&(v=!0);else if(i.freeModeSticky){for(var x,S=0;S-b){x=S;break}b=-(b=Math.abs(l[x]-b)=i.longSwipesMs)&&(e.updateProgress(),e.updateActiveIndex(),e.updateSlidesClasses()))}for(var O=0,T=e.slidesSizesGrid[0],k=0;k=a[k]&&u=a[k]&&(O=k,T=a[a.length-1]-a[a.length-2])}var A=(u-a[O])/T,M=Oi.longSwipesMs){if(!i.longSwipes)return void e.slideTo(e.activeIndex);"next"===e.swipeDirection&&e.slideTo(A>=i.longSwipesRatio?O+M:O),"prev"===e.swipeDirection&&e.slideTo(A>1-i.longSwipesRatio?O+M:O)}else{if(!i.shortSwipes)return void e.slideTo(e.activeIndex);!e.navigation||c.target!==e.navigation.nextEl&&c.target!==e.navigation.prevEl?("next"===e.swipeDirection&&e.slideTo(O+M),"prev"===e.swipeDirection&&e.slideTo(O)):e.slideTo(c.target===e.navigation.nextEl?O+M:O)}}}}function C2(){var t=this,e=t.params,n=t.el;if(!n||0!==n.offsetWidth){e.breakpoints&&t.setBreakpoint();var i=t.allowSlideNext,r=t.allowSlidePrev,s=t.snapGrid;t.allowSlideNext=!0,t.allowSlidePrev=!0,t.updateSize(),t.updateSlides(),t.updateSlidesClasses(),t.slideTo(("auto"===e.slidesPerView||e.slidesPerView>1)&&t.isEnd&&!t.isBeginning&&!t.params.centeredSlides?t.slides.length-1:t.activeIndex,0,!1,!0),t.autoplay&&t.autoplay.running&&t.autoplay.paused&&t.autoplay.run(),t.allowSlidePrev=r,t.allowSlideNext=i,t.params.watchOverflow&&s!==t.snapGrid&&t.checkOverflow()}}function E2(t){var e=this;!e.enabled||e.allowClick||(e.params.preventClicks&&t.preventDefault(),e.params.preventClicksPropagation&&e.animating&&(t.stopPropagation(),t.stopImmediatePropagation()))}function O2(){var t=this,e=t.wrapperEl,n=t.rtlTranslate;if(t.enabled){t.previousTranslate=t.translate,t.translate=t.isHorizontal()?n?e.scrollWidth-e.offsetWidth-e.scrollLeft:-e.scrollLeft:-e.scrollTop,-0===t.translate&&(t.translate=0),t.updateActiveIndex(),t.updateSlidesClasses();var i=t.maxTranslate()-t.minTranslate();(0===i?0:(t.translate-t.minTranslate())/i)!==t.progress&&t.updateProgress(n?-t.translate:t.translate),t.emit("setTranslate",t.translate,!1)}}var T2=!1;function k2(){}var P2={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!1,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};function A2(t,e){for(var n=0;n=0&&e.eventsAnyListeners.splice(n,1),e},off:function(t,e){var n=this;return n.eventsListeners&&t.split(" ").forEach(function(t){void 0===e?n.eventsListeners[t]=[]:n.eventsListeners[t]&&n.eventsListeners[t].forEach(function(i,r){(i===e||i.__emitterProxy&&i.__emitterProxy===e)&&n.eventsListeners[t].splice(r,1)})}),n},emit:function(){var t=this;if(!t.eventsListeners)return t;for(var e,n,i,r=arguments.length,s=new Array(r),o=0;o=0&&(v=parseFloat(v.replace("%",""))/100*s),t.virtualSize=-v,u.css(o?{marginLeft:"",marginBottom:"",marginTop:""}:{marginRight:"",marginBottom:"",marginTop:""}),i.slidesPerColumn>1&&(S=Math.floor(h/i.slidesPerColumn)===h/t.params.slidesPerColumn?h:Math.ceil(h/i.slidesPerColumn)*i.slidesPerColumn,"auto"!==i.slidesPerView&&"row"===i.slidesPerColumnFill&&(S=Math.max(S,i.slidesPerView*i.slidesPerColumn)));for(var T,k=i.slidesPerColumn,P=S/k,A=Math.floor(h/i.slidesPerColumn),M=0;M1){var D=void 0,R=void 0,N=void 0;if("row"===i.slidesPerColumnFill&&i.slidesPerGroup>1){var L=Math.floor(M/(i.slidesPerGroup*i.slidesPerColumn)),j=M-i.slidesPerColumn*i.slidesPerGroup*L,F=0===L?i.slidesPerGroup:Math.min(Math.ceil((h-L*k*i.slidesPerGroup)/k),i.slidesPerGroup);N=Math.floor(j/F),I.css({"-webkit-box-ordinal-group":D=(R=j-N*F+L*i.slidesPerGroup)+N*S/k,"-moz-box-ordinal-group":D,"-ms-flex-order":D,"-webkit-order":D,order:D})}else"column"===i.slidesPerColumnFill?(N=M-(R=Math.floor(M/k))*k,(R>A||R===A&&N===k-1)&&(N+=1)>=k&&(N=0,R+=1)):R=M-(N=Math.floor(M/P))*P;I.css(e("margin-top"),0!==N?i.spaceBetween&&i.spaceBetween+"px":"")}if("none"!==I.css("display")){if("auto"===i.slidesPerView){var B=getComputedStyle(I[0]),V=I[0].style.transform,z=I[0].style.webkitTransform;if(V&&(I[0].style.transform="none"),z&&(I[0].style.webkitTransform="none"),i.roundLengths)T=t.isHorizontal()?I.outerWidth(!0):I.outerHeight(!0);else{var U=n(B,"width"),H=n(B,"padding-left"),$=n(B,"padding-right"),G=n(B,"margin-left"),W=n(B,"margin-right"),q=B.getPropertyValue("box-sizing");if(q&&"border-box"===q)T=U+G+W;else{var X=I[0];T=U+H+$+G+W+(X.offsetWidth-X.clientWidth)}}V&&(I[0].style.transform=V),z&&(I[0].style.webkitTransform=z),i.roundLengths&&(T=Math.floor(T))}else T=(s-(i.slidesPerView-1)*v)/i.slidesPerView,i.roundLengths&&(T=Math.floor(T)),u[M]&&(u[M].style[e("width")]=T+"px");u[M]&&(u[M].swiperSlideSize=T),f.push(T),i.centeredSlides?(_=_+T/2+w/2+v,0===w&&0!==M&&(_=_-s/2-v),0===M&&(_=_-s/2-v),Math.abs(_)<.001&&(_=0),i.roundLengths&&(_=Math.floor(_)),x%i.slidesPerGroup==0&&d.push(_),p.push(_)):(i.roundLengths&&(_=Math.floor(_)),(x-Math.min(t.params.slidesPerGroupSkip,x))%t.params.slidesPerGroup==0&&d.push(_),p.push(_),_=_+T+v),t.virtualSize+=T+v,w=T,x+=1}}if(t.virtualSize=Math.max(t.virtualSize,s)+m,o&&a&&("slide"===i.effect||"coverflow"===i.effect)&&r.css({width:t.virtualSize+i.spaceBetween+"px"}),i.setWrapperSize&&r.css(((E={})[e("width")]=t.virtualSize+i.spaceBetween+"px",E)),i.slidesPerColumn>1&&(t.virtualSize=(T+i.spaceBetween)*S,t.virtualSize=Math.ceil(t.virtualSize/i.slidesPerColumn)-i.spaceBetween,r.css(((O={})[e("width")]=t.virtualSize+i.spaceBetween+"px",O)),i.centeredSlides)){C=[];for(var Y=0;Y1&&d.push(t.virtualSize-s)}if(0===d.length&&(d=[0]),0!==i.spaceBetween){var J,tt=t.isHorizontal()&&o?"marginLeft":e("marginRight");u.filter(function(t,e){return!i.cssMode||e!==u.length-1}).css(((J={})[tt]=v+"px",J))}if(i.centeredSlides&&i.centeredSlidesBounds){var et=0;f.forEach(function(t){et+=t+(i.spaceBetween?i.spaceBetween:0)});var nt=(et-=i.spaceBetween)-s;d=d.map(function(t){return t<0?-g:t>nt?nt+m:t})}if(i.centerInsufficientSlides){var it=0;if(f.forEach(function(t){it+=t+(i.spaceBetween?i.spaceBetween:0)}),(it-=i.spaceBetween)1)if(n.params.centeredSlides)n.visibleSlides.each(function(t){i.push(t)});else for(e=0;en.slides.length&&!r)break;i.push(o(a))}else i.push(o(n.activeIndex));for(e=0;es?l:s}s&&n.$wrapperEl.css("height",s+"px")},updateSlidesOffset:function(){for(var t=this.slides,e=0;e=0&&c1&&u<=e.size||c<=0&&u>=e.size)&&(e.visibleSlides.push(a),e.visibleSlidesIndexes.push(o),i.eq(o).addClass(n.slideVisibleClass))}a.progress=r?-l:l}e.visibleSlides=a2(e.visibleSlides)}},updateProgress:function(t){var e=this;void 0===t&&(t=e&&e.translate&&e.translate*(e.rtlTranslate?-1:1)||0);var n=e.params,i=e.maxTranslate()-e.minTranslate(),r=e.progress,s=e.isBeginning,o=e.isEnd,a=s,l=o;0===i?(r=0,s=!0,o=!0):(s=(r=(t-e.minTranslate())/i)<=0,o=r>=1),d2(e,{progress:r,isBeginning:s,isEnd:o}),(n.watchSlidesProgress||n.watchSlidesVisibility||n.centeredSlides&&n.autoHeight)&&e.updateSlidesProgress(t),s&&!a&&e.emit("reachBeginning toEdge"),o&&!l&&e.emit("reachEnd toEdge"),(a&&!s||l&&!o)&&e.emit("fromEdge"),e.emit("progress",r)},updateSlidesClasses:function(){var t,e=this,n=e.slides,i=e.params,r=e.$wrapperEl,s=e.activeIndex,o=e.realIndex,a=e.virtual&&i.virtual.enabled;n.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(t=a?e.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+s+'"]'):n.eq(s)).addClass(i.slideActiveClass),i.loop&&(t.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+o+'"]').addClass(i.slideDuplicateActiveClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+o+'"]').addClass(i.slideDuplicateActiveClass));var l=t.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===l.length&&(l=n.eq(0)).addClass(i.slideNextClass);var c=t.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===c.length&&(c=n.eq(-1)).addClass(i.slidePrevClass),i.loop&&(l.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),c.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass)),e.emitSlidesClasses()},updateActiveIndex:function(t){var e,n=this,i=n.rtlTranslate?n.translate:-n.translate,r=n.slidesGrid,s=n.snapGrid,o=n.params,a=n.activeIndex,l=n.realIndex,c=n.snapIndex,u=t;if(void 0===u){for(var h=0;h=r[h]&&i=r[h]&&i=r[h]&&(u=h);o.normalizeSlideIndex&&(u<0||void 0===u)&&(u=0)}if(s.indexOf(i)>=0)e=s.indexOf(i);else{var d=Math.min(o.slidesPerGroupSkip,u);e=d+Math.floor((u-d)/o.slidesPerGroup)}if(e>=s.length&&(e=s.length-1),u!==a){var p=parseInt(n.slides.eq(u).attr("data-swiper-slide-index")||u,10);d2(n,{snapIndex:e,realIndex:p,previousIndex:a,activeIndex:u}),n.emit("activeIndexChange"),n.emit("snapIndexChange"),l!==p&&n.emit("realIndexChange"),(n.initialized||n.params.runCallbacksOnInit)&&n.emit("slideChange")}else e!==c&&(n.snapIndex=e,n.emit("snapIndexChange"))},updateClickedSlide:function(t){var e,n=this,i=n.params,r=a2(t.target).closest("."+i.slideClass)[0],s=!1;if(r)for(var o=0;o6&&(i=i.split(", ").map(function(t){return t.replace(",",".")}).join(", ")),r=new s.WebKitCSSMatrix("none"===i?"":i)):n=(r=o.MozTransform||o.OTransform||o.MsTransform||o.msTransform||o.transform||o.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===e&&(i=s.WebKitCSSMatrix?r.m41:16===n.length?parseFloat(n[12]):parseFloat(n[4])),"y"===e&&(i=s.WebKitCSSMatrix?r.m42:16===n.length?parseFloat(n[13]):parseFloat(n[5])),i||0}(e.$wrapperEl[0],t);return i&&(s=-s),s||0},setTranslate:function(t,e){var n=this,i=n.rtlTranslate,r=n.params,s=n.$wrapperEl,o=n.wrapperEl,a=n.progress,l=0,c=0;n.isHorizontal()?l=i?-t:t:c=t,r.roundLengths&&(l=Math.floor(l),c=Math.floor(c)),r.cssMode?o[n.isHorizontal()?"scrollLeft":"scrollTop"]=n.isHorizontal()?-l:-c:r.virtualTranslate||s.transform("translate3d("+l+"px, "+c+"px, 0px)"),n.previousTranslate=n.translate,n.translate=n.isHorizontal()?l:c;var u=n.maxTranslate()-n.minTranslate();(0===u?0:(t-n.minTranslate())/u)!==a&&n.updateProgress(t),n.emit("setTranslate",n.translate,e)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(t,e,n,i,r){void 0===t&&(t=0),void 0===e&&(e=this.params.speed),void 0===n&&(n=!0),void 0===i&&(i=!0);var s=this,o=s.params,a=s.wrapperEl;if(s.animating&&o.preventInteractionOnTransition)return!1;var l,c=s.minTranslate(),u=s.maxTranslate();if(s.updateProgress(l=i&&t>c?c:i&&ts?"next":ir?"next":i=c.length&&(m=c.length-1),(d||l.initialSlide||0)===(h||0)&&n&&o.emit("beforeSlideChangeStart");var b,y=-c[m];if(o.updateProgress(y),l.normalizeSlideIndex)for(var v=0;v=w&&_=w&&_=w&&(a=v)}if(o.initialized&&a!==d&&(!o.allowSlideNext&&yo.translate&&y>o.maxTranslate()&&(d||0)!==a))return!1;if(b=a>d?"next":a=t&&(d=t)}),void 0!==d&&(c=o.indexOf(d))<0&&(c=i.activeIndex-1),i.slideTo(c,t,e,n)},slideReset:function(t,e,n){return void 0===t&&(t=this.params.speed),void 0===e&&(e=!0),this.slideTo(this.activeIndex,t,e,n)},slideToClosest:function(t,e,n,i){void 0===t&&(t=this.params.speed),void 0===e&&(e=!0),void 0===i&&(i=.5);var r=this,s=r.activeIndex,o=Math.min(r.params.slidesPerGroupSkip,s),a=o+Math.floor((s-o)/r.params.slidesPerGroup),l=r.rtlTranslate?r.translate:-r.translate;if(l>=r.snapGrid[a]){var c=r.snapGrid[a];l-c>(r.snapGrid[a+1]-c)*i&&(s+=r.params.slidesPerGroup)}else{var u=r.snapGrid[a-1];l-u<=(r.snapGrid[a]-u)*i&&(s-=r.params.slidesPerGroup)}return s=Math.max(s,0),s=Math.min(s,r.slidesGrid.length-1),r.slideTo(s,t,e,n)},slideToClickedSlide:function(){var t,e=this,n=e.params,i=e.$wrapperEl,r="auto"===n.slidesPerView?e.slidesPerViewDynamic():n.slidesPerView,s=e.clickedIndex;if(n.loop){if(e.animating)return;t=parseInt(a2(e.clickedSlide).attr("data-swiper-slide-index"),10),n.centeredSlides?se.slides.length-e.loopedSlides+r/2?(e.loopFix(),s=i.children("."+n.slideClass+'[data-swiper-slide-index="'+t+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),l2(function(){e.slideTo(s)})):e.slideTo(s):s>e.slides.length-r?(e.loopFix(),s=i.children("."+n.slideClass+'[data-swiper-slide-index="'+t+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),l2(function(){e.slideTo(s)})):e.slideTo(s)}else e.slideTo(s)}},loop:{loopCreate:function(){var t=this,e=H1(),n=t.params,i=t.$wrapperEl;i.children("."+n.slideClass+"."+n.slideDuplicateClass).remove();var r=i.children("."+n.slideClass);if(n.loopFillGroupWithBlank){var s=n.slidesPerGroup-r.length%n.slidesPerGroup;if(s!==n.slidesPerGroup){for(var o=0;or.length&&(t.loopedSlides=r.length);var l=[],c=[];r.each(function(e,n){var i=a2(e);n=r.length-t.loopedSlides&&l.push(e),i.attr("data-swiper-slide-index",n)});for(var u=0;u=0;h-=1)i.prepend(a2(l[h].cloneNode(!0)).addClass(n.slideDuplicateClass))},loopFix:function(){var t=this;t.emit("beforeLoopFix");var e,n=t.activeIndex,i=t.slides,r=t.loopedSlides,s=t.allowSlidePrev,o=t.allowSlideNext,a=t.snapGrid,l=t.rtlTranslate;t.allowSlidePrev=!0,t.allowSlideNext=!0;var c=-a[n]-t.getTranslate();n=i.length-r&&(e=-i.length+n+r,t.slideTo(e+=r,0,!1,!0)&&0!==c&&t.setTranslate((l?-t.translate:t.translate)-c)),t.allowSlidePrev=s,t.allowSlideNext=o,t.emit("loopFix")},loopDestroy:function(){var t=this,e=t.params,n=t.slides;t.$wrapperEl.children("."+e.slideClass+"."+e.slideDuplicateClass+",."+e.slideClass+"."+e.slideBlankClass).remove(),n.removeAttr("data-swiper-slide-index")}},grabCursor:{setGrabCursor:function(t){var e=this;if(!(e.support.touch||!e.params.simulateTouch||e.params.watchOverflow&&e.isLocked||e.params.cssMode)){var n=e.el;n.style.cursor="move",n.style.cursor=t?"-webkit-grabbing":"-webkit-grab",n.style.cursor=t?"-moz-grabbin":"-moz-grab",n.style.cursor=t?"grabbing":"grab"}},unsetGrabCursor:function(){var t=this;t.support.touch||t.params.watchOverflow&&t.isLocked||t.params.cssMode||(t.el.style.cursor="")}},manipulation:{appendSlide:function(t){var e=this,n=e.$wrapperEl,i=e.params;if(i.loop&&e.loopDestroy(),"object"==typeof t&&"length"in t)for(var r=0;r=o)n.appendSlide(e);else{for(var a=s>t?s+1:s,l=[],c=o-1;c>=t;c-=1){var u=n.slides.eq(c);u.remove(),l.unshift(u)}if("object"==typeof e&&"length"in e){for(var h=0;ht?s+e.length:s}else i.append(e);for(var d=0;d1,d=u.slidesPerColumn>1,p=s.enabled;h&&!d?(o.removeClass(s.containerModifierClass+"multirow "+s.containerModifierClass+"multirow-column"),t.emitContainerClasses()):!h&&d&&(o.addClass(s.containerModifierClass+"multirow"),(u.slidesPerColumnFill&&"column"===u.slidesPerColumnFill||!u.slidesPerColumnFill&&"column"===s.slidesPerColumnFill)&&o.addClass(s.containerModifierClass+"multirow-column"),t.emitContainerClasses());var f=u.direction&&u.direction!==s.direction,g=s.loop&&(u.slidesPerView!==s.slidesPerView||f);f&&n&&t.changeDirection(),d2(t.params,u);var m=t.params.enabled;d2(t,{allowTouchMove:t.params.allowTouchMove,allowSlideNext:t.params.allowSlideNext,allowSlidePrev:t.params.allowSlidePrev}),p&&!m?t.disable():!p&&m&&t.enable(),t.currentBreakpoint=l,t.emit("_beforeBreakpoint",u),g&&n&&(t.loopDestroy(),t.loopCreate(),t.updateSlides(),t.slideTo(e-r+t.loopedSlides,0,!1)),t.emit("breakpoint",u)}}},getBreakpoint:function(t,e,n){if(void 0===e&&(e="window"),t&&("container"!==e||n)){var i=!1,r=G1(),s="window"===e?r.innerHeight:n.clientHeight,o=Object.keys(t).map(function(t){if("string"==typeof t&&0===t.indexOf("@")){var e=parseFloat(t.substr(1));return{value:s*e,point:t}}return{value:t,point:t}});o.sort(function(t,e){return parseInt(t.value,10)-parseInt(e.value,10)});for(var a=0;a0&&e.slidesOffsetBefore+e.spaceBetween*(t.slides.length-1)+t.slides[0].offsetWidth*t.slides.length;t.isLocked=e.slidesOffsetBefore&&e.slidesOffsetAfter&&i?i<=t.size:1===t.snapGrid.length,t.allowSlideNext=!t.isLocked,t.allowSlidePrev=!t.isLocked,n!==t.isLocked&&t.emit(t.isLocked?"lock":"unlock"),n&&n!==t.isLocked&&(t.isEnd=!1,t.navigation&&t.navigation.update())}},classes:{addClasses:function(){var t=this,e=t.classNames,n=t.params,i=t.$el,r=t.device,s=t.support,o=function(t,e){var n=[];return t.forEach(function(t){"object"==typeof t?Object.keys(t).forEach(function(i){t[i]&&n.push(e+i)}):"string"==typeof t&&n.push(e+t)}),n}(["initialized",n.direction,{"pointer-events":s.pointerEvents&&!s.touch},{"free-mode":n.freeMode},{autoheight:n.autoHeight},{rtl:t.rtl},{multirow:n.slidesPerColumn>1},{"multirow-column":n.slidesPerColumn>1&&"column"===n.slidesPerColumnFill},{android:r.android},{ios:r.ios},{"css-mode":n.cssMode}],n.containerModifierClass);e.push.apply(e,o),i.addClass([].concat(e).join(" ")),t.emitContainerClasses()},removeClasses:function(){var t=this;t.$el.removeClass(t.classNames.join(" ")),t.emitContainerClasses()}},images:{loadImage:function(t,e,n,i,r,s){var o,a=G1();function l(){s&&s()}a2(t).parent("picture")[0]||t.complete&&r||!e?l():((o=new a.Image).onload=l,o.onerror=l,i&&(o.sizes=i),n&&(o.srcset=n),e&&(o.src=e))},preloadImages:function(){var t=this;function e(){null==t||!t||t.destroyed||(void 0!==t.imagesLoaded&&(t.imagesLoaded+=1),t.imagesLoaded===t.imagesToLoad.length&&(t.params.updateOnImagesReady&&t.update(),t.emit("imagesReady")))}t.imagesToLoad=t.$el.find("img");for(var n=0;n1){var o=[];return a2(n.el).each(function(e){var i=d2({},n,{el:e});o.push(new t(i))}),o}var a=this;a.__swiper__=!0,a.support=f2(),a.device=g2({userAgent:n.userAgent}),a.browser=m2(),a.eventsListeners={},a.eventsAnyListeners=[],void 0===a.modules&&(a.modules={}),Object.keys(a.modules).forEach(function(t){var e=a.modules[t];if(e.params){var i=Object.keys(e.params)[0],r=e.params[i];if("object"!=typeof r||null===r||(["navigation","pagination","scrollbar"].indexOf(i)>=0&&!0===n[i]&&(n[i]={auto:!0}),!(i in n)||!("enabled"in r)))return;!0===n[i]&&(n[i]={enabled:!0}),"object"==typeof n[i]&&!("enabled"in n[i])&&(n[i].enabled=!0),n[i]||(n[i]={enabled:!1})}});var l,c,u=d2({},P2);return a.useParams(u),a.params=d2({},u,I2,n),a.originalParams=d2({},a.params),a.passedParams=d2({},n),a.params&&a.params.on&&Object.keys(a.params.on).forEach(function(t){a.on(t,a.params.on[t])}),a.params&&a.params.onAny&&a.onAny(a.params.onAny),a.$=a2,d2(a,{enabled:a.params.enabled,el:e,classNames:[],slides:a2(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===a.params.direction},isVertical:function(){return"vertical"===a.params.direction},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:a.params.allowSlideNext,allowSlidePrev:a.params.allowSlidePrev,touchEvents:(l=["touchstart","touchmove","touchend","touchcancel"],c=["mousedown","mousemove","mouseup"],a.support.pointerEvents&&(c=["pointerdown","pointermove","pointerup"]),a.touchEventsTouch={start:l[0],move:l[1],end:l[2],cancel:l[3]},a.touchEventsDesktop={start:c[0],move:c[1],end:c[2]},a.support.touch||!a.params.simulateTouch?a.touchEventsTouch:a.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:a.params.focusableElements,lastClickTime:c2(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:a.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),a.useModules(),a.emit("_swiper"),a.params.init&&a.init(),a}var e=t.prototype;return e.enable=function(){var t=this;t.enabled||(t.enabled=!0,t.params.grabCursor&&t.setGrabCursor(),t.emit("enable"))},e.disable=function(){var t=this;!t.enabled||(t.enabled=!1,t.params.grabCursor&&t.unsetGrabCursor(),t.emit("disable"))},e.setProgress=function(t,e){var n=this;t=Math.min(Math.max(t,0),1);var i=n.minTranslate(),r=n.maxTranslate();n.translateTo((r-i)*t+i,void 0===e?0:e),n.updateActiveIndex(),n.updateSlidesClasses()},e.emitContainerClasses=function(){var t=this;if(t.params._emitClasses&&t.el){var e=t.el.className.split(" ").filter(function(e){return 0===e.indexOf("swiper-container")||0===e.indexOf(t.params.containerModifierClass)});t.emit("_containerClasses",e.join(" "))}},e.getSlideClasses=function(t){var e=this;return t.className.split(" ").filter(function(t){return 0===t.indexOf("swiper-slide")||0===t.indexOf(e.params.slideClass)}).join(" ")},e.emitSlidesClasses=function(){var t=this;if(t.params._emitClasses&&t.el){var e=[];t.slides.each(function(n){var i=t.getSlideClasses(n);e.push({slideEl:n,classNames:i}),t.emit("_slideClass",n,i)}),t.emit("_slideClasses",e)}},e.slidesPerViewDynamic=function(){var t=this,e=t.slides,n=t.slidesGrid,i=t.size,r=t.activeIndex,s=1;if(t.params.centeredSlides){for(var o,a=e[r].swiperSlideSize,l=r+1;li&&(o=!0));for(var c=r-1;c>=0;c-=1)e[c]&&!o&&(s+=1,(a+=e[c].swiperSlideSize)>i&&(o=!0))}else for(var u=r+1;u1)&&t.isEnd&&!t.params.centeredSlides?t.slides.length-1:t.activeIndex,0,!1,!0)||i(),n.watchOverflow&&e!==t.snapGrid&&t.checkOverflow(),t.emit("update")}function i(){var e=Math.min(Math.max(t.rtlTranslate?-1*t.translate:t.translate,t.maxTranslate()),t.minTranslate());t.setTranslate(e),t.updateActiveIndex(),t.updateSlidesClasses()}},e.changeDirection=function(t,e){void 0===e&&(e=!0);var n=this,i=n.params.direction;return t||(t="horizontal"===i?"vertical":"horizontal"),t===i||"horizontal"!==t&&"vertical"!==t||(n.$el.removeClass(""+n.params.containerModifierClass+i).addClass(""+n.params.containerModifierClass+t),n.emitContainerClasses(),n.params.direction=t,n.slides.each(function(e){"vertical"===t?e.style.width="":e.style.height=""}),n.emit("changeDirection"),e&&n.update()),n},e.mount=function(t){var e=this;if(e.mounted)return!0;var n=a2(t||e.params.el);if(!(t=n[0]))return!1;t.swiper=e;var i=function(){return"."+(e.params.wrapperClass||"").trim().split(" ").join(".")},r=function(){if(t&&t.shadowRoot&&t.shadowRoot.querySelector){var e=a2(t.shadowRoot.querySelector(i()));return e.children=function(t){return n.children(t)},e}return n.children(i())}();if(0===r.length&&e.params.createElements){var s=H1().createElement("div");r=a2(s),s.className=e.params.wrapperClass,n.append(s),n.children("."+e.params.slideClass).each(function(t){r.append(t)})}return d2(e,{$el:n,el:t,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===t.dir.toLowerCase()||"rtl"===n.css("direction"),rtlTranslate:"horizontal"===e.params.direction&&("rtl"===t.dir.toLowerCase()||"rtl"===n.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0},e.init=function(t){var e=this;return e.initialized||!1===e.mount(t)||(e.emit("beforeInit"),e.params.breakpoints&&e.setBreakpoint(),e.addClasses(),e.params.loop&&e.loopCreate(),e.updateSize(),e.updateSlides(),e.params.watchOverflow&&e.checkOverflow(),e.params.grabCursor&&e.enabled&&e.setGrabCursor(),e.params.preloadImages&&e.preloadImages(),e.slideTo(e.params.loop?e.params.initialSlide+e.loopedSlides:e.params.initialSlide,0,e.params.runCallbacksOnInit,!1,!0),e.attachEvents(),e.initialized=!0,e.emit("init"),e.emit("afterInit")),e},e.destroy=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!0);var n=this,i=n.params,r=n.$el,s=n.$wrapperEl,o=n.slides;return void 0===n.params||n.destroyed||(n.emit("beforeDestroy"),n.initialized=!1,n.detachEvents(),i.loop&&n.loopDestroy(),e&&(n.removeClasses(),r.removeAttr("style"),s.removeAttr("style"),o&&o.length&&o.removeClass([i.slideVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),n.emit("destroy"),Object.keys(n.eventsListeners).forEach(function(t){n.off(t)}),!1!==t&&(n.$el[0].swiper=null,function(e){var n=e;Object.keys(n).forEach(function(e){try{n[e]=null}catch(t){}try{delete n[e]}catch(t){}})}(n)),n.destroyed=!0),null},t.extendDefaults=function(t){d2(I2,t)},t.installModule=function(e){t.prototype.modules||(t.prototype.modules={});var n=e.name||Object.keys(t.prototype.modules).length+"_"+c2();t.prototype.modules[n]=e},t.use=function(e){return Array.isArray(e)?(e.forEach(function(e){return t.installModule(e)}),t):(t.installModule(e),t)},function(t,e,n){n&&A2(t,n)}(t,0,[{key:"extendedDefaults",get:function(){return I2}},{key:"defaults",get:function(){return P2}}]),t}();Object.keys(M2).forEach(function(t){Object.keys(M2[t]).forEach(function(e){D2.prototype[e]=M2[t][e]})}),D2.use([b2,_2]);var R2=D2;const N2=["prevElRef"],L2=["nextElRef"],j2=["scrollbarElRef"],F2=["paginationElRef"];function B2(t,e){1&t&&(aa(0),oa(1,"div",6,7),oa(3,"div",8,9),la())}function V2(t,e){1&t&&oa(0,"div",10,11)}function z2(t,e){1&t&&oa(0,"div",12,13)}function U2(t,e){}function H2(t,e){1&t&&Jo(0,U2,0,0,"ng-template")}function $2(t,e){}function G2(t,e){1&t&&Jo(0,$2,0,0,"ng-template")}function W2(t,e){}function q2(t,e){1&t&&Jo(0,W2,0,0,"ng-template")}function X2(t,e){}const Y2=function(t){return{$implicit:t}};function K2(t,e){if(1&t&&(ra(0,"div",3),Jo(1,X2,0,0,"ng-template",18),sa()),2&t){const t=va().$implicit;na("ngClass",va(2).zoomContainerClass),ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Pc(3,Y2,t.slideData))}}function Q2(t,e){}function Z2(t,e){if(1&t&&(aa(0),Jo(1,Q2,0,0,"ng-template",18),la()),2&t){const t=va().$implicit;ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Pc(2,Y2,t.slideData))}}function J2(t,e){if(1&t&&(ra(0,"div",15),Jo(1,K2,2,5,"div",16),Jo(2,Z2,2,4,"ng-container",17),sa()),2&t){const t=e.$implicit,n=va().key,i=va();Fa(i.style),na("ngClass",(t.class?t.class+" ":"")+i.slideClass+(""!==n?" "+i.slideDuplicateClass:""))("ngSwitch",t.zoom),Ko("data-swiper-slide-index",t.virtualIndex?t.virtualIndex:t.slideIndex),ws(1),na("ngSwitchCase",!0)}}function t3(t,e){1&t&&(Jo(0,J2,3,6,"div",14),Dc(1,"async")),2&t&&na("ngForOf",Rc(1,1,e.loopSlides))}const e3=[[["","slot","container-start"]],[["","slot","wrapper-start"]],[["","slot","wrapper-end"]],[["","slot","container-end"]]],n3=function(t){return{loopSlides:t,key:"prepend"}},i3=function(t){return{loopSlides:t,key:""}},r3=function(t){return{loopSlides:t,key:"append"}},s3=["[slot=container-start]","[slot=wrapper-start]","[slot=wrapper-end]","[slot=container-end]"];function o3(t){return"object"==typeof t&&null!==t&&t.constructor&&"Object"===Object.prototype.toString.call(t).slice(8,-1)}function a3(t,e,n){return!0===c3(t)&&e&&!e.el||!("boolean"!=typeof e&&e.el!==(null==n?void 0:n.nativeElement)&&("string"==typeof e.el||"object"==typeof e.el))}function l3(t,e){const n=["__proto__","constructor","prototype"];Object.keys(e).filter(t=>n.indexOf(t)<0).forEach(n=>{void 0!==t[n]?t[n]&&!e[n]||(o3(e[n])&&o3(t[n])&&Object.keys(e[n]).length>0?e[n].__swiper__?t[n]=e[n]:l3(t[n],e[n]):t[n]=e[n]):t[n]=e[n]})}function c3(t){return null!=t&&"false"!=`${t}`}const u3=["pagination","navigation","scrollbar","virtual"];function h3(t,e={}){return o3(t)?t:!0===c3(t)&&e}const d3=["init","_direction","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_freeModeMomentum","_freeModeMomentumRatio","_freeModeMomentumBounce","_freeModeMomentumBounceRatio","_freeModeMomentumVelocityRatio","_freeModeSticky","_freeModeMinimumVelocity","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","_spaceBetween","_slidesPerView","_slidesPerColumn","_slidesPerColumnFill","_slidesPerGroup","_slidesPerGroupSkip","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_watchSlidesVisibility","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_preloadImages","updateOnImagesReady","_loop","_loopAdditionalSlides","_loopedSlides","_loopFillGroupWithBlank","loopPreventsSlide","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","hashNavigation","history","keyboard","lazy","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom"].map(t=>t.replace(/_/,""));function p3(t={}){const e={on:{}},n={};l3(e,R2.defaults),l3(e,R2.extendedDefaults),e._emitClasses=!0;const i={};return Object.keys(t).forEach(r=>{const s=r.replace(/^_/,"");void 0!==t[s]&&(d3.indexOf(s)>=0?o3(t[s])?(e[s]={},n[s]={},l3(e[s],t[s]),l3(n[s],t[s])):(e[s]=t[s],n[s]=t[s]):i[s]=t[s])}),{params:e,passedParams:n,rest:i}}let f3=(()=>{class t{constructor(t){this.template=t,this.class="",this.slideData={isActive:!1,isPrev:!1,isNext:!1,isVisible:!1,isDuplicate:!1}}set zoom(t){this._zoom=c3(t)}get zoom(){return this._zoom}get classNames(){return this._classNames}set classNames(t){this._classNames!==t&&(this._classNames=t,this.slideData={isActive:this._hasClass(["swiper-slide-active","swiper-slide-duplicate-active"]),isVisible:this._hasClass(["swiper-slide-visible"]),isDuplicate:this._hasClass(["swiper-slide-duplicate"]),isPrev:this._hasClass(["swiper-slide-prev","swiper-slide-duplicate-prev"]),isNext:this._hasClass(["swiper-slide-next","swiper-slide-duplicate-next"])})}_hasClass(t){return t.some(t=>this._classNames.indexOf(t)>=0)}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["ng-template","swiperSlide",""]],inputs:{class:"class",zoom:"zoom",virtualIndex:"virtualIndex"}}),t})(),g3=(()=>{class t{constructor(t,e,n,i){this._ngZone=t,this.elementRef=e,this._changeDetectorRef=n,this._platformId=i,this.slideClass="swiper-slide",this.wrapperClass="swiper-wrapper",this.showNavigation=!0,this.showPagination=!0,this.showScrollbar=!0,this.s__beforeBreakpoint=new Bc,this.s__containerClasses=new Bc,this.s__slideClass=new Bc,this.s__swiper=new Bc,this.s_activeIndexChange=new Bc,this.s_afterInit=new Bc,this.s_autoplay=new Bc,this.s_autoplayStart=new Bc,this.s_autoplayStop=new Bc,this.s_beforeDestroy=new Bc,this.s_beforeInit=new Bc,this.s_beforeLoopFix=new Bc,this.s_beforeResize=new Bc,this.s_beforeSlideChangeStart=new Bc,this.s_beforeTransitionStart=new Bc,this.s_breakpoint=new Bc,this.s_changeDirection=new Bc,this.s_click=new Bc,this.s_doubleTap=new Bc,this.s_doubleClick=new Bc,this.s_destroy=new Bc,this.s_fromEdge=new Bc,this.s_hashChange=new Bc,this.s_hashSet=new Bc,this.s_imagesReady=new Bc,this.s_init=new Bc,this.s_keyPress=new Bc,this.s_lazyImageLoad=new Bc,this.s_lazyImageReady=new Bc,this.s_loopFix=new Bc,this.s_momentumBounce=new Bc,this.s_navigationHide=new Bc,this.s_navigationShow=new Bc,this.s_observerUpdate=new Bc,this.s_orientationchange=new Bc,this.s_paginationHide=new Bc,this.s_paginationRender=new Bc,this.s_paginationShow=new Bc,this.s_paginationUpdate=new Bc,this.s_progress=new Bc,this.s_reachBeginning=new Bc,this.s_reachEnd=new Bc,this.s_realIndexChange=new Bc,this.s_resize=new Bc,this.s_scroll=new Bc,this.s_scrollbarDragEnd=new Bc,this.s_scrollbarDragMove=new Bc,this.s_scrollbarDragStart=new Bc,this.s_setTransition=new Bc,this.s_setTranslate=new Bc,this.s_slideChange=new Bc,this.s_slideChangeTransitionEnd=new Bc,this.s_slideChangeTransitionStart=new Bc,this.s_slideNextTransitionEnd=new Bc,this.s_slideNextTransitionStart=new Bc,this.s_slidePrevTransitionEnd=new Bc,this.s_slidePrevTransitionStart=new Bc,this.s_slideResetTransitionStart=new Bc,this.s_slideResetTransitionEnd=new Bc,this.s_sliderMove=new Bc,this.s_sliderFirstMove=new Bc,this.s_slidesLengthChange=new Bc,this.s_slidesGridLengthChange=new Bc,this.s_snapGridLengthChange=new Bc,this.s_snapIndexChange=new Bc,this.s_tap=new Bc,this.s_toEdge=new Bc,this.s_touchEnd=new Bc,this.s_touchMove=new Bc,this.s_touchMoveOpposite=new Bc,this.s_touchStart=new Bc,this.s_transitionEnd=new Bc,this.s_transitionStart=new Bc,this.s_update=new Bc,this.s_zoomChange=new Bc,this.s_swiper=new Bc,this.indexChange=new Bc,this._activeSlides=new A,this.containerClasses="swiper-container",this.slidesChanges=t=>{this.slides=t.map((t,e)=>(t.slideIndex=e,t.classNames=this.slideClass,t)),this.loop&&!this.loopedSlides&&this.calcLoopedSlides(),this.virtual?this.swiperRef&&this.swiperRef.virtual&&this._ngZone.runOutsideAngular(()=>{this.swiperRef.virtual.slides=this.slides,this.swiperRef.virtual.update(!0)}):(this.prependSlides=Dd(this.slides.slice(this.slides.length-this.loopedSlides)),this.appendSlides=Dd(this.slides.slice(0,this.loopedSlides))),this._changeDetectorRef.detectChanges()},this.style=null,this.updateVirtualSlides=t=>{!this.swiperRef||this.currentVirtualData&&this.currentVirtualData.from===t.from&&this.currentVirtualData.to===t.to&&this.currentVirtualData.offset===t.offset||(this.style=this.swiperRef.isHorizontal()?{[this.swiperRef.rtlTranslate?"right":"left"]:`${t.offset}px`}:{top:`${t.offset}px`},this.currentVirtualData=t,this._activeSlides.next(t.slides),this._ngZone.run(()=>{this._changeDetectorRef.detectChanges()}),this._ngZone.runOutsideAngular(()=>{this.swiperRef.updateSlides(),this.swiperRef.updateProgress(),this.swiperRef.updateSlidesClasses(),this.swiperRef.lazy&&this.swiperRef.params.lazy.enabled&&this.swiperRef.lazy.load(),this.swiperRef.virtual.update(!0)}))}}set navigation(t){var e,n,i;const r="boolean"!=typeof this._navigation?null===(e=this._navigation)||void 0===e?void 0:e.nextEl:null,s="boolean"!=typeof this._navigation?null===(n=this._navigation)||void 0===n?void 0:n.prevEl:null;this._navigation=h3(t,{nextEl:r||null,prevEl:s||null}),this.showNavigation=!(!0!==c3(t)||this._navigation&&"boolean"!=typeof this._navigation&&this._navigation.prevEl!==(null===(i=this._prevElRef)||void 0===i?void 0:i.nativeElement)&&(null!==this._navigation.prevEl||null!==this._navigation.nextEl)&&("string"==typeof this._navigation.nextEl||"string"==typeof this._navigation.prevEl||"object"==typeof this._navigation.nextEl||"object"==typeof this._navigation.prevEl))}get navigation(){return this._navigation}set pagination(t){var e;const n="boolean"!=typeof this._pagination?null===(e=this._pagination)||void 0===e?void 0:e.el:null;this._pagination=h3(t,{el:n||null}),this.showPagination=a3(t,this._pagination,this._paginationElRef)}get pagination(){return this._pagination}set scrollbar(t){var e;const n="boolean"!=typeof this._scrollbar?null===(e=this._scrollbar)||void 0===e?void 0:e.el:null;this._scrollbar=h3(t,{el:n||null}),this.showScrollbar=a3(t,this._scrollbar,this._scrollbarElRef)}get scrollbar(){return this._scrollbar}set virtual(t){this._virtual=h3(t)}get virtual(){return this._virtual}set index(t){this.setIndex(t)}set config(t){this.updateSwiper(t);const{params:e}=p3(t);Object.assign(this,e)}set prevElRef(t){this._prevElRef=t,this._setElement(t,this.navigation,"navigation","prevEl")}set nextElRef(t){this._nextElRef=t,this._setElement(t,this.navigation,"navigation","nextEl")}set scrollbarElRef(t){this._scrollbarElRef=t,this._setElement(t,this.scrollbar,"scrollbar")}set paginationElRef(t){this._paginationElRef=t,this._setElement(t,this.pagination,"pagination")}get activeSlides(){return this.virtual?this._activeSlides:Dd(this.slides)}get zoomContainerClass(){return"boolean"!=typeof this.zoom?this.zoom.containerClass:"swiper-zoom-container"}_setElement(t,e,n,i="el"){if(!t||!e)return;if(e&&t.nativeElement){if(e[i]===t.nativeElement)return;e[i]=t.nativeElement}const r={};r[n]=!0,this.updateInitSwiper(r)}ngOnInit(){const{params:t}=p3(this);Object.assign(this,t)}ngAfterViewInit(){this.childrenSlidesInit(),this.initSwiper(),this._changeDetectorRef.detectChanges(),setTimeout(()=>{this.s_swiper.emit(this.swiperRef)})}childrenSlidesInit(){this.slidesChanges(this.slidesEl),this.slidesEl.changes.subscribe(this.slidesChanges)}get isSwiperActive(){return this.swiperRef&&!this.swiperRef.destroyed}initSwiper(){const{params:t}=p3(this);Object.assign(this,t),this._ngZone.runOutsideAngular(()=>{t.init=!1,t.virtual||(t.observer=!0),t.onAny=(t,...e)=>{const n=this[`s_${t}`];n&&n.emit(...e)},Object.assign(t.on,{_containerClasses(t,e){this.containerClasses=e},_slideClasses:(t,e)=>{e.forEach(({slideEl:t,classNames:e},n)=>{const i=parseInt(t.getAttribute("data-swiper-slide-index"))||n;if(this.virtual){const t=this.slides.find(t=>t.virtualIndex&&t.virtualIndex===i);if(t)return void(t.classNames=e)}this.slides[i]&&(this.slides[i].classNames=e)}),this._changeDetectorRef.detectChanges()}});const e=new R2(t);if(e.loopCreate=()=>{},e.loopDestroy=()=>{},t.loop&&(e.loopedSlides=this.loopedSlides),e.virtual&&e.params.virtual.enabled){e.virtual.slides=this.slides;const t={cache:!1,renderExternal:this.updateVirtualSlides,renderExternalUpdate:!1};l3(e.params.virtual,t),l3(e.originalParams.virtual,t)}Xh(this._platformId)&&(this.swiperRef=e.init(this.elementRef.nativeElement),this.swiperRef.virtual&&this.swiperRef.params.virtual.enabled&&this.swiperRef.virtual.update(!0),this._changeDetectorRef.detectChanges(),e.on("slideChange",()=>{this.indexChange.emit(this.swiperRef.realIndex)}))})}ngOnChanges(t){this.updateSwiper(t),this._changeDetectorRef.detectChanges()}updateInitSwiper(t){!t||!this.swiperRef||this.swiperRef.destroyed||this._ngZone.runOutsideAngular(()=>{const{pagination:e,navigation:n,scrollbar:i,thumbs:r}=this.swiperRef;t.pagination&&(this.pagination&&"boolean"!=typeof this.pagination&&this.pagination.el&&e&&!e.el?(this.updateParameter("pagination",this.pagination),e.init(),e.render(),e.update()):(e.destroy(),e.el=null)),t.scrollbar&&(this.scrollbar&&"boolean"!=typeof this.scrollbar&&this.scrollbar.el&&i&&!i.el?(this.updateParameter("scrollbar",this.scrollbar),i.init(),i.updateSize(),i.setTranslate()):(i.destroy(),i.el=null)),t.navigation&&(this.navigation&&"boolean"!=typeof this.navigation&&this.navigation.prevEl&&this.navigation.nextEl&&n&&!n.prevEl&&!n.nextEl?(this.updateParameter("navigation",this.navigation),n.init(),n.update()):n.prevEl&&n.nextEl&&(n.destroy(),n.nextEl=null,n.prevEl=null)),t.thumbs&&this.thumbs&&this.thumbs.swiper&&(this.updateParameter("thumbs",this.thumbs),r.init()&&r.update(!0)),t.controller&&this.controller&&this.controller.control&&(this.swiperRef.controller.control=this.controller.control),this.swiperRef.update()})}updateSwiper(t){this._ngZone.runOutsideAngular(()=>{var e,n;if(!t.config&&t&&this.swiperRef&&!this.swiperRef.destroyed){for(const i in t){if(u3.indexOf(i)>=0)continue;const r=null!==(n=null===(e=t[i])||void 0===e?void 0:e.currentValue)&&void 0!==n?n:t[i];this.updateParameter(i,r)}t.allowSlideNext&&(this.swiperRef.allowSlideNext=this.allowSlideNext),t.allowSlidePrev&&(this.swiperRef.allowSlidePrev=this.allowSlidePrev),t.direction&&this.swiperRef.changeDirection(this.direction,!1),t.breakpoints&&(this.loop&&!this.loopedSlides&&this.calcLoopedSlides(),this.swiperRef.currentBreakpoint=null,this.swiperRef.setBreakpoint()),(t.thumbs||t.controller)&&this.updateInitSwiper(t),this.swiperRef.update()}})}calcLoopedSlides(){if(!this.loop)return;let t=this.slidesPerView;if(this.breakpoints){const e=R2.prototype.getBreakpoint(this.breakpoints),n=e in this.breakpoints?this.breakpoints[e]:void 0;n&&n.slidesPerView&&(t=n.slidesPerView)}if("auto"===t)return this.loopedSlides=this.slides.length,this.slides.length;let e=this.loopedSlides||t;return e+=this.loopAdditionalSlides,e>this.slides.length&&(e=this.slides.length),this.loopedSlides=e,e}updateParameter(t,e){if(!this.swiperRef||this.swiperRef.destroyed)return;const n=t.replace(/^_/,""),i=o3(this.swiperRef.params[n]);if(Object.keys(this.swiperRef.modules).indexOf(n)>=0){const t=this.swiperRef.modules[n].params[n];i?l3(this.swiperRef.params[n],t):this.swiperRef.params[n]=t}i&&o3(e)?l3(this.swiperRef.params[n],e):this.swiperRef.params[n]=e}setIndex(t,e,n){this.isSwiperActive?t!==this.swiperRef.activeIndex&&this._ngZone.runOutsideAngular(()=>{this.loop?this.swiperRef.slideToLoop(t,e,!n):this.swiperRef.slideTo(t,e,!n)}):this.initialSlide=t}ngOnDestroy(){this._ngZone.runOutsideAngular(()=>{var t;null===(t=this.swiperRef)||void 0===t||t.destroy(!0,!1)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(Al),ea(nc),ea(hu))},t.\u0275cmp=Jt({type:t,selectors:[["swiper"],["","swiper",""]],contentQueries:function(t,e,n){if(1&t&&Jc(n,f3,4),2&t){let t;Qc(t=tu())&&(e.slidesEl=t)}},viewQuery:function(t,e){if(1&t&&(Zc(N2,5),Zc(L2,5),Zc(j2,5),Zc(F2,5)),2&t){let t;Qc(t=tu())&&(e.prevElRef=t.first),Qc(t=tu())&&(e.nextElRef=t.first),Qc(t=tu())&&(e.scrollbarElRef=t.first),Qc(t=tu())&&(e.paginationElRef=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.containerClasses)},inputs:{slideClass:"slideClass",wrapperClass:"wrapperClass",navigation:"navigation",pagination:"pagination",scrollbar:"scrollbar",virtual:"virtual",index:"index",config:"config",loopedSlides:"loopedSlides",initialSlide:"initialSlide",direction:"direction",touchEventsTarget:"touchEventsTarget",speed:"speed",cssMode:"cssMode",updateOnWindowResize:"updateOnWindowResize",resizeObserver:"resizeObserver",nested:"nested",focusableElements:"focusableElements",width:"width",height:"height",preventInteractionOnTransition:"preventInteractionOnTransition",userAgent:"userAgent",url:"url",edgeSwipeDetection:"edgeSwipeDetection",edgeSwipeThreshold:"edgeSwipeThreshold",freeMode:"freeMode",freeModeMomentum:"freeModeMomentum",freeModeMomentumRatio:"freeModeMomentumRatio",freeModeMomentumBounce:"freeModeMomentumBounce",freeModeMomentumBounceRatio:"freeModeMomentumBounceRatio",freeModeMomentumVelocityRatio:"freeModeMomentumVelocityRatio",freeModeSticky:"freeModeSticky",freeModeMinimumVelocity:"freeModeMinimumVelocity",autoHeight:"autoHeight",setWrapperSize:"setWrapperSize",virtualTranslate:"virtualTranslate",effect:"effect",breakpoints:"breakpoints",spaceBetween:"spaceBetween",slidesPerView:"slidesPerView",slidesPerColumn:"slidesPerColumn",slidesPerColumnFill:"slidesPerColumnFill",slidesPerGroup:"slidesPerGroup",slidesPerGroupSkip:"slidesPerGroupSkip",centeredSlides:"centeredSlides",centeredSlidesBounds:"centeredSlidesBounds",slidesOffsetBefore:"slidesOffsetBefore",slidesOffsetAfter:"slidesOffsetAfter",normalizeSlideIndex:"normalizeSlideIndex",centerInsufficientSlides:"centerInsufficientSlides",watchOverflow:"watchOverflow",roundLengths:"roundLengths",touchRatio:"touchRatio",touchAngle:"touchAngle",simulateTouch:"simulateTouch",shortSwipes:"shortSwipes",longSwipes:"longSwipes",longSwipesRatio:"longSwipesRatio",longSwipesMs:"longSwipesMs",followFinger:"followFinger",allowTouchMove:"allowTouchMove",threshold:"threshold",touchMoveStopPropagation:"touchMoveStopPropagation",touchStartPreventDefault:"touchStartPreventDefault",touchStartForcePreventDefault:"touchStartForcePreventDefault",touchReleaseOnEdges:"touchReleaseOnEdges",uniqueNavElements:"uniqueNavElements",resistance:"resistance",resistanceRatio:"resistanceRatio",watchSlidesProgress:"watchSlidesProgress",watchSlidesVisibility:"watchSlidesVisibility",grabCursor:"grabCursor",preventClicks:"preventClicks",preventClicksPropagation:"preventClicksPropagation",slideToClickedSlide:"slideToClickedSlide",preloadImages:"preloadImages",updateOnImagesReady:"updateOnImagesReady",loop:"loop",loopAdditionalSlides:"loopAdditionalSlides",loopFillGroupWithBlank:"loopFillGroupWithBlank",loopPreventsSlide:"loopPreventsSlide",allowSlidePrev:"allowSlidePrev",allowSlideNext:"allowSlideNext",swipeHandler:"swipeHandler",noSwiping:"noSwiping",noSwipingClass:"noSwipingClass",noSwipingSelector:"noSwipingSelector",passiveListeners:"passiveListeners",containerModifierClass:"containerModifierClass",slideBlankClass:"slideBlankClass",slideActiveClass:"slideActiveClass",slideDuplicateActiveClass:"slideDuplicateActiveClass",slideVisibleClass:"slideVisibleClass",slideDuplicateClass:"slideDuplicateClass",slideNextClass:"slideNextClass",slideDuplicateNextClass:"slideDuplicateNextClass",slidePrevClass:"slidePrevClass",slideDuplicatePrevClass:"slideDuplicatePrevClass",runCallbacksOnInit:"runCallbacksOnInit",observeParents:"observeParents",observeSlideChildren:"observeSlideChildren",a11y:"a11y",autoplay:"autoplay",controller:"controller",coverflowEffect:"coverflowEffect",cubeEffect:"cubeEffect",fadeEffect:"fadeEffect",flipEffect:"flipEffect",hashNavigation:"hashNavigation",history:"history",keyboard:"keyboard",lazy:"lazy",mousewheel:"mousewheel",parallax:"parallax",thumbs:"thumbs",zoom:"zoom",class:"class",id:"id"},outputs:{s__beforeBreakpoint:"_beforeBreakpoint",s__containerClasses:"_containerClasses",s__slideClass:"_slideClass",s__swiper:"_swiper",s_activeIndexChange:"activeIndexChange",s_afterInit:"afterInit",s_autoplay:"autoplay",s_autoplayStart:"autoplayStart",s_autoplayStop:"autoplayStop",s_beforeDestroy:"beforeDestroy",s_beforeInit:"beforeInit",s_beforeLoopFix:"beforeLoopFix",s_beforeResize:"beforeResize",s_beforeSlideChangeStart:"beforeSlideChangeStart",s_beforeTransitionStart:"beforeTransitionStart",s_breakpoint:"breakpoint",s_changeDirection:"changeDirection",s_click:"click",s_doubleTap:"doubleTap",s_doubleClick:"doubleClick",s_destroy:"destroy",s_fromEdge:"fromEdge",s_hashChange:"hashChange",s_hashSet:"hashSet",s_imagesReady:"imagesReady",s_init:"init",s_keyPress:"keyPress",s_lazyImageLoad:"lazyImageLoad",s_lazyImageReady:"lazyImageReady",s_loopFix:"loopFix",s_momentumBounce:"momentumBounce",s_navigationHide:"navigationHide",s_navigationShow:"navigationShow",s_observerUpdate:"observerUpdate",s_orientationchange:"orientationchange",s_paginationHide:"paginationHide",s_paginationRender:"paginationRender",s_paginationShow:"paginationShow",s_paginationUpdate:"paginationUpdate",s_progress:"progress",s_reachBeginning:"reachBeginning",s_reachEnd:"reachEnd",s_realIndexChange:"realIndexChange",s_resize:"resize",s_scroll:"scroll",s_scrollbarDragEnd:"scrollbarDragEnd",s_scrollbarDragMove:"scrollbarDragMove",s_scrollbarDragStart:"scrollbarDragStart",s_setTransition:"setTransition",s_setTranslate:"setTranslate",s_slideChange:"slideChange",s_slideChangeTransitionEnd:"slideChangeTransitionEnd",s_slideChangeTransitionStart:"slideChangeTransitionStart",s_slideNextTransitionEnd:"slideNextTransitionEnd",s_slideNextTransitionStart:"slideNextTransitionStart",s_slidePrevTransitionEnd:"slidePrevTransitionEnd",s_slidePrevTransitionStart:"slidePrevTransitionStart",s_slideResetTransitionStart:"slideResetTransitionStart",s_slideResetTransitionEnd:"slideResetTransitionEnd",s_sliderMove:"sliderMove",s_sliderFirstMove:"sliderFirstMove",s_slidesLengthChange:"slidesLengthChange",s_slidesGridLengthChange:"slidesGridLengthChange",s_snapGridLengthChange:"snapGridLengthChange",s_snapIndexChange:"snapIndexChange",s_tap:"tap",s_toEdge:"toEdge",s_touchEnd:"touchEnd",s_touchMove:"touchMove",s_touchMoveOpposite:"touchMoveOpposite",s_touchStart:"touchStart",s_transitionEnd:"transitionEnd",s_transitionStart:"transitionStart",s_update:"update",s_zoomChange:"zoomChange",s_swiper:"swiper",indexChange:"indexChange"},features:[ye],ngContentSelectors:s3,decls:13,vars:17,consts:[[4,"ngIf"],["class","swiper-scrollbar",4,"ngIf"],["class","swiper-pagination",4,"ngIf"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["slidesTemplate",""],[1,"swiper-button-prev"],["prevElRef",""],[1,"swiper-button-next"],["nextElRef",""],[1,"swiper-scrollbar"],["scrollbarElRef",""],[1,"swiper-pagination"],["paginationElRef",""],[3,"ngClass","style","ngSwitch",4,"ngFor","ngForOf"],[3,"ngClass","ngSwitch"],[3,"ngClass",4,"ngSwitchCase"],[4,"ngSwitchDefault"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(t,e){if(1&t&&(wa(e3),xa(0),Jo(1,B2,5,0,"ng-container",0),Jo(2,V2,2,0,"div",1),Jo(3,z2,2,0,"div",2),ra(4,"div",3),xa(5,1),Jo(6,H2,1,0,void 0,4),Jo(7,G2,1,0,void 0,4),Jo(8,q2,1,0,void 0,4),xa(9,2),sa(),xa(10,3),Jo(11,t3,2,3,"ng-template",null,5,ru)),2&t){const t=ta(12);ws(1),na("ngIf",e.navigation&&e.showNavigation),ws(1),na("ngIf",e.scrollbar&&e.showScrollbar),ws(1),na("ngIf",e.pagination&&e.showPagination),ws(1),na("ngClass",e.wrapperClass),Ko("id",e.id),ws(2),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(11,n3,e.prependSlides)),ws(1),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(13,i3,e.activeSlides)),ws(1),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(15,r3,e.appendSlides))}},directives:[Ah,Oh,Fh,kh,Rh,Nh,Lh],pipes:[$h],styles:["\n swiper {\n display: block;\n }\n "],encapsulation:2,changeDetection:0}),t})(),m3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();function b3(t,e){if(1&t){const t=ua();ra(0,"div",7),ra(1,"div",8),Ja(2),sa(),ra(3,"a",9),fa("click",function(){$e(t);const e=va().$implicit;return va().linkClicked.emit(e)}),Ja(4," DATA "),ra(5,"mat-icon"),Ja(6,"open_in_new"),sa(),sa(),sa()}if(2&t){const t=va().$implicit;ws(1),La("background-image","url("+t.thumbnail+")"),ws(1),el(" ",t.technology," ")}}function y3(t,e){1&t&&(aa(0),Jo(1,b3,7,3,"ng-template",6),la())}const v3=(()=>{let t=-1;return()=>(t+=1,t)})();let _3=(()=>{class t{constructor(){this.className="ccf-thumbnail-carousel",this.linkClicked=new Bc,this.uid=v3(),this.config={allowTouchMove:!1,slidesOffsetBefore:4,slidesOffsetAfter:4,slidesPerView:"auto",spaceBetween:4,watchOverflow:!0},this.navigation={prevEl:"#"+this.prevButtonId,nextEl:"#"+this.nextButtonId}}get prevButtonId(){return`ccf-thumbnail-carousel-prev-button-${this.uid}`}get nextButtonId(){return`ccf-thumbnail-carousel-next-button-${this.uid}`}itemId(t,e){return e.thumbnail}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-thumbnail-carousel"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{data:"data"},outputs:{linkClicked:"linkClicked"},decls:11,vars:6,consts:[[1,"prev"],["mat-icon-button","","disableRipple",""],[1,"swiper",3,"config","navigation"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"next"],[1,"fade"],["swiperSlide",""],[1,"slide"],[1,"thumbnail"],[1,"link",3,"click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"button",1),ra(2,"mat-icon"),Ja(3,"navigate_before"),sa(),sa(),sa(),ra(4,"swiper",2),Jo(5,y3,2,0,"ng-container",3),sa(),ra(6,"div",4),ra(7,"button",1),oa(8,"div",5),ra(9,"mat-icon"),Ja(10,"navigate_next"),sa(),sa(),sa()),2&t&&(ws(1),Ko("id",e.prevButtonId),ws(3),na("config",e.config)("navigation",e.navigation),ws(1),na("ngForOf",e.data)("ngForTrackBy",e.itemId),ws(2),Ko("id",e.nextButtonId))},directives:[R_,T_,g3,kh,f3],styles:['[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%]{flex-grow:1;padding-bottom:.3125rem}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%] .swiper-slide{width:3.75rem;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%]{display:flex;align-items:center;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] button[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:1.5rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{position:absolute;top:-.625rem;left:-2rem;z-index:10;width:2rem;height:3.125rem;opacity:1;transition:opacity ease-in-out .3s;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%]{cursor:default;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]{position:relative;width:100%;height:100%}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;background-size:cover;position:relative;width:calc(100% - 2 * .125rem);height:calc(100% - 2 * .125rem);border-style:solid;border-width:.125rem;border-radius:.25rem;background-origin:padding-box;background-clip:padding-box;font-size:.875rem;font-weight:bold}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:-.125rem;left:-.125rem;width:.125rem;height:.125rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;right:0;left:0;opacity:0;transition:opacity ease-in-out .3s;box-shadow:0 2px 4px #0009;font-size:.75rem;line-height:.75rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%], [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:link, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:visited, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:active{cursor:pointer;text-decoration:none}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]:hover .link[_ngcontent-%COMP%]{opacity:1}'],changeDetection:0}),t})();function w3(t,e){if(1&t){const t=ua();ra(0,"mat-icon",14),fa("click",function(){return $e(t),va().toggleExpansion()}),Ja(1),sa()}if(2&t){const t=va();ws(1),tl(t.expanded?"expand_less":"expand_more")}}function x3(t,e){if(1&t&&oa(0,"ccf-tissue-section-vis",20),2&t){const t=va(2);na("totalTissueSections",t.tissueBlock.sectionCount)("tissueSections",t.tissueBlock.sections)}}function S3(t,e){if(1&t){const t=ua();aa(0),ra(1,"ccf-thumbnail-carousel",21),fa("linkClicked",function(e){return $e(t),va(2).linkHandler(e.link)}),sa(),la()}if(2&t){const t=va(2);ws(1),na("data",t.tissueBlock.datasets)}}function C3(t,e){if(1&t){const t=ua();aa(0),ra(1,"ccf-thumbnail-carousel",21),fa("linkClicked",function(e){return $e(t),va(3).linkHandler(e.link)}),sa(),la()}if(2&t){const t=va().$implicit;ws(1),na("data",t.datasets)}}function E3(t,e){if(1&t){const t=ua();ra(0,"div",22),ra(1,"div",23),ra(2,"mat-icon",24),Ja(3,"bubble_chart"),sa(),ra(4,"div",17),ra(5,"div",8),Ja(6),sa(),ra(7,"div",8),Ja(8),sa(),sa(),ra(9,"div",9),fa("click",function(){const e=$e(t).$implicit;return va(2).linkHandler(e.link)}),ra(10,"div",10),Ja(11,"TISSUE SECTION"),sa(),ra(12,"mat-icon",11),Ja(13,"open_in_new"),sa(),sa(),sa(),Jo(14,C3,2,1,"ng-container",13),sa()}if(2&t){const t=e.$implicit;ws(6),tl(t.label),ws(2),tl(t.description),ws(6),na("ngIf",t.datasets.length>0)}}function O3(t,e){if(1&t){const t=ua();aa(0),ra(1,"div",15),ra(2,"div",16),ra(3,"mat-icon",5),Ja(4,"bubble_chart"),sa(),ra(5,"div",17),ra(6,"div",8),Ja(7),sa(),ra(8,"div",8),Ja(9),sa(),sa(),ra(10,"div",9),fa("click",function(){$e(t);const e=va();return e.linkHandler(e.tissueBlock.link)}),ra(11,"div",10),Ja(12,"TISSUE BLOCK"),sa(),ra(13,"mat-icon",11),Ja(14,"open_in_new"),sa(),sa(),sa(),Jo(15,x3,1,2,"ccf-tissue-section-vis",18),Jo(16,S3,2,1,"ng-container",13),sa(),Jo(17,E3,15,3,"div",19),la()}if(2&t){const t=va();ws(7),tl(t.tissueBlock.label),ws(2),tl(t.tissueBlock.description),ws(6),na("ngIf",t.tissueBlock.sections.length>1),ws(1),na("ngIf",t.tissueBlock.datasets.length>0),ws(1),na("ngForOf",t.tissueBlock.sections)}}const T3=function(t){return{"background-color":t}};let k3=(()=>{class t{constructor(t){this.ga=t,this.clsName="ccf-donor-card",this.selected=!1,this.expanded=!1,this.highlighted=!1,this.checked=new Bc,this.linkClick=new Bc,this.hoverState=""}handleCheckbox(){this.selected=!this.selected,this.ga.event("selected_toggled","donor_card",this.tissueBlock.label,+this.selected),this.checked.emit(this.selected),this.expanded=!1}toggleExpansion(){this.selected&&(this.expanded=!this.expanded,this.ga.event("expanded_toggled","donor_card",this.tissueBlock.label,+this.expanded))}linkHandler(t){this.ga.event("link_clicked","donor_card",this.tissueBlock.label),this.selected?this.linkClick.emit(t):(this.selected=!0,this.checked.emit(this.selected))}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-donor-card"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{tissueBlock:"tissueBlock",selected:"selected",color:"color",expanded:"expanded",highlighted:"highlighted"},outputs:{checked:"checked",linkClick:"linkClick"},decls:19,vars:20,consts:[[1,"main-container"],[1,"checkbox-background",3,"ngStyle","click"],[1,"checkbox",3,"checked"],[1,"hoverable","default-padding","donor","mat-elevation-z2"],[1,"d-flex"],[1,"icon-size","icon-dark","mr-5"],[1,"donor-info"],[1,"title","description"],[1,"description"],[1,"hover-state","mat-elevation-z4",3,"click"],[1,"hover-title"],[1,"icon-size","hover-icon"],["class","icon-size ml-5 selectable",3,"click",4,"ngIf"],[4,"ngIf"],[1,"icon-size","ml-5","selectable",3,"click"],[1,"expanded-view","mat-elevation-z2","align-end"],[1,"info-block","hover-enabled","default-padding"],[1,"text-content"],[3,"totalTissueSections","tissueSections",4,"ngIf"],["class","expanded-view w-80 mat-elevation-z2 align-end",4,"ngFor","ngForOf"],[3,"totalTissueSections","tissueSections"],[1,"mt-05",3,"data","linkClicked"],[1,"expanded-view","w-80","mat-elevation-z2","align-end"],[1,"default-padding","info-block","hover-enabled"],[1,"icon-size","mr-5","icon-light"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),fa("click",function(){return e.handleCheckbox()}),oa(2,"mat-checkbox",2),sa(),ra(3,"div",3),ra(4,"div",4),ra(5,"mat-icon",5),Ja(6,"person"),sa(),ra(7,"div",6),ra(8,"div",7),Ja(9),sa(),ra(10,"div",8),Ja(11),sa(),sa(),sa(),ra(12,"div",9),fa("click",function(){return e.linkHandler(e.tissueBlock.donor.link)}),ra(13,"div",10),Ja(14,"DONOR"),sa(),ra(15,"mat-icon",11),Ja(16,"open_in_new"),sa(),sa(),Jo(17,w3,2,1,"mat-icon",12),sa(),sa(),Jo(18,O3,18,5,"ng-container",13)),2&t&&(ws(1),ja("selected",e.selected)("highlighted",e.highlighted),na("ngStyle",Pc(18,T3,e.selected?e.color:"transparent")),ws(1),ja("checkselected",e.selected),na("checked",e.selected),ws(1),ja("hover-enabled",e.selected)("expanded",e.expanded)("highlighted",e.highlighted),ws(6),tl(e.tissueBlock.donor.label),ws(2),tl(e.tissueBlock.donor.description),ws(6),na("ngIf",e.selected),ws(1),na("ngIf",e.expanded))},directives:[jh,_K,T_,Ah,kh,B1,_3],styles:["[_nghost-%COMP%]{width:100%}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{display:flex;min-height:3rem;width:100%;align-items:center;padding-left:.5rem}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%]{height:2rem;width:2rem;border-radius:50%;margin-right:.5rem;display:flex;justify-content:center;align-items:center;cursor:pointer}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-checked.mat-accent .mat-checkbox-background, [_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-indeterminate.mat-accent[_ngcontent-%COMP%] .mat-checkbox-background[_ngcontent-%COMP%]{background-color:transparent}[_nghost-%COMP%] .checkbox-background.highlighted[_ngcontent-%COMP%] .mat-ripple-element{opacity:.04}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkselected[_ngcontent-%COMP%] .mat-checkbox-frame{border-color:#fff!important}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkbox[_ngcontent-%COMP%]{margin-left:1.12rem;margin-bottom:.12rem}[_nghost-%COMP%] .align-end[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;width:100%;align-items:center}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]:not(:first-child){margin-top:.5rem}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .donor.highlighted[_ngcontent-%COMP%]{box-shadow:0 6px 2px -2px #0003,0 4px 4px #00000024,0 2px 10px #0000001f}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .hover-state[_ngcontent-%COMP%]{width:19.5rem!important}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .hoverable[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]:hover .hover-state[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%]{transition:opacity .15s ease-in-out;opacity:0;cursor:pointer;position:absolute;height:100%;width:100%;top:0;margin-left:-.5rem;align-items:center;display:flex;justify-content:flex-end;padding-right:1rem;font-size:.75rem}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-title[_ngcontent-%COMP%]{font-weight:lighter}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-icon[_ngcontent-%COMP%]{margin-left:1rem}[_nghost-%COMP%] .default-padding[_ngcontent-%COMP%]{padding:.25rem .5rem}[_nghost-%COMP%] .expanded-view[_ngcontent-%COMP%]{margin-top:.25rem;width:85%;margin-bottom:.25rem}[_nghost-%COMP%] .d-flex[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .icon-size[_ngcontent-%COMP%]{height:1.5rem;width:1.5rem;font-size:1.5rem}[_nghost-%COMP%] .selectable[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%]{width:80%!important}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:16rem!important}[_nghost-%COMP%] .ml-5[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mr-5[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .mt-05[_ngcontent-%COMP%]{margin-top:.5rem}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),t})();function P3(t,e){if(1&t&&(ra(0,"div",7),ra(1,"div",8),Ja(2),sa(),ra(3,"div",9),Ja(4),sa(),sa()),2&t){const t=e.$implicit;ws(2),tl(t.count),ws(2),tl(t.label)}}function A3(t,e){if(1&t){const t=ua();ra(0,"div",10),fa("mouseenter",function(){const e=$e(t).$implicit;return va().handleHover(e.tissueBlock.spatialEntityId)})("mouseleave",function(){return $e(t),va().handleUnhover()}),ra(1,"ccf-donor-card",11),fa("checked",function(e){const n=$e(t).$implicit;return va().handleSelection(n,e)})("linkClick",function(e){return $e(t),va().handleLinkClick(e)}),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ws(1),na("tissueBlock",t.tissueBlock)("selected",t.selected)("color",t.color)("highlighted",t.tissueBlock.spatialEntityId===n.highlighted)}}let M3=(()=>{class t{constructor(t){this.ga=t,this.linkClicked=new Bc,this.listResultSelected=new Bc,this.listResultDeselected=new Bc,this.itemHovered=new Bc,this.itemUnhovered=new Bc,this.atScrollBottom=!1}handleSelection(t,e){this.ga.event("list_result_selected","results_browser",this.resultLabel,+e),e?this.listResultSelected.next(t):this.listResultDeselected.next(t)}handleLinkClick(t){this.linkClicked.emit(t)}onScroll(t){if(!t.target)return;const{clientHeight:e,scrollHeight:n,scrollTop:i}=t.target;this.atScrollBottom=n-i-e<64}handleHover(t){this.itemHovered.emit(t)}handleUnhover(){this.itemUnhovered.emit()}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-results-browser"]],inputs:{listResults:"listResults",aggregateData:"aggregateData",resultLabel:"resultLabel",highlighted:"highlighted",header:"header"},outputs:{linkClicked:"linkClicked",listResultSelected:"listResultSelected",listResultDeselected:"listResultDeselected",itemHovered:"itemHovered",itemUnhovered:"itemUnhovered"},decls:8,vars:7,consts:[[1,"results-browser-container"],[1,"stat-box"],["id","title"],["class","stat-row",4,"ngFor","ngForOf"],[1,"results-browser-list",3,"scroll"],["class","browser-item-container",3,"mouseenter","mouseleave",4,"ngFor","ngForOf"],[1,"scroll-gradient"],[1,"stat-row"],[1,"stat-value"],[1,"stat-label"],[1,"browser-item-container",3,"mouseenter","mouseleave"],[3,"tissueBlock","selected","color","highlighted","checked","linkClick"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),Ja(3),sa(),Jo(4,P3,5,2,"div",3),sa(),ra(5,"div",4),fa("scroll",function(t){return e.onScroll(t)}),Jo(6,A3,2,4,"div",5),sa(),oa(7,"div",6),sa()),2&t&&(ws(3),tl(e.resultLabel),ws(1),na("ngForOf",e.aggregateData),ws(1),ja("header-hidden",!e.header),ws(1),na("ngForOf",e.listResults),ws(1),ja("hidden",!!e.atScrollBottom))},directives:[kh,k3],styles:[".results-browser-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:calc(100% - 3rem);padding:0 1.5rem 1.5rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%]{margin-bottom:1.5rem;line-height:1.25;min-height:7.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] #title[_ngcontent-%COMP%]{font-size:1.25rem;margin-bottom:.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%]{display:flex;flex-direction:row}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{margin-right:1rem;width:5.5rem;text-align:right;font-weight:600}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-weight:300}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;padding-right:.5rem;height:calc(100vh - 20rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 16rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%] .browser-item-container[_ngcontent-%COMP%]{width:100%}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:95%;bottom:0;pointer-events:none}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();const I3=["*",[["mat-toolbar-row"]]],D3=["*","mat-toolbar-row"],R3=Xy(class{constructor(t){this._elementRef=t}});let N3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),t})(),L3=(()=>{class t extends R3{constructor(t,e,n){super(t),this._platform=e,this._document=n}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(th))},t.\u0275cmp=Jt({type:t,selectors:[["mat-toolbar"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,N3,5),2&t){let t;Qc(t=tu())&&(e._toolbarRows=t)}},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(t,e){2&t&&ja("mat-toolbar-multiple-rows",e._toolbarRows.length>0)("mat-toolbar-single-row",0===e._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[jo],ngContentSelectors:D3,decls:2,vars:0,template:function(t,e){1&t&&(wa(I3),xa(0),xa(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),t})(),j3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();function F3(t,e){if(1&t&&(ra(0,"a",5),Ja(1,"LOGIN"),sa()),2&t){const t=va();ja("disabled",t.loginDisabled||!t.homeUrl),na("href",t.homeUrl+"login",_r)}}function B3(t,e){if(1&t&&(ra(0,"a",5),Ja(1,"LOGOUT"),sa()),2&t){const t=va();ja("disabled",t.loginDisabled||!t.homeUrl),na("href",t.homeUrl+"logout",_r)}}let V3=(()=>{class t{constructor(){this.refreshClicked=new Bc,this.downloadClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-header"]],inputs:{homeUrl:"homeUrl",loginDisabled:"loginDisabled",logoTooltip:"logoTooltip",loggedIn:"loggedIn",filters:"filters"},outputs:{refreshClicked:"refreshClicked",downloadClicked:"downloadClicked"},decls:6,vars:4,consts:[[1,"ccf-header"],[1,"home",3,"href"],["aria-hidden","false","aria-label","Reset tool","matTooltipPosition","right",1,"logo",3,"matTooltip"],[1,"filler"],["mat-button","","class","authentication","rel","noreferrer noopener","target","_blank",3,"disabled","href",4,"ngIf"],["mat-button","","rel","noreferrer noopener","target","_blank",1,"authentication",3,"href"]],template:function(t,e){1&t&&(ra(0,"mat-toolbar",0),ra(1,"a",1),oa(2,"div",2),sa(),oa(3,"div",3),Jo(4,F3,2,3,"a",4),Jo(5,B3,2,3,"a",4),sa()),2&t&&(ws(1),na("href",e.homeUrl,_r),ws(1),na("matTooltip",e.logoTooltip),ws(2),na("ngIf",!e.loggedIn),ws(1),na("ngIf",e.loggedIn))},directives:[L3,gw,Ah,N_],styles:[".ccf-header[_ngcontent-%COMP%]{height:4rem;padding:0 1.5rem;border-bottom-width:1px;border-bottom-style:solid;display:flex}.ccf-header[_ngcontent-%COMP%] .home[_ngcontent-%COMP%]{height:100%;width:25rem;align-items:center;display:flex;padding:.25rem 0}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:100%;height:50%;background-repeat:no-repeat;background-size:contain}.ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%]{height:1.5rem}.ccf-header[_ngcontent-%COMP%] .authentication[_ngcontent-%COMP%]{width:8.25rem;border-radius:.125rem;font-weight:500}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{display:flex;align-items:center;transition:color 1s;cursor:pointer;text-decoration:none}.ccf-header[_ngcontent-%COMP%] [_ngcontent-%COMP%]:not(:last-child){margin-right:1.5rem}.ccf-header[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1;margin:0}.ccf-header[_ngcontent-%COMP%] .filter-labels[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;font:400 1rem/1.25rem Inter,sans-serif}.ccf-header[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();const z3=["bodyUI"];function U3(t,e){if(1&t&&(oa(0,"ccf-header",34),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async")),2&t){const t=va();ja("hide",!1===Rc(1,6,t.header$)),na("logoTooltip",Rc(2,8,t.logoTooltip$))("homeUrl",Rc(3,10,t.homeUrl$))("loggedIn",t.loggedIn)("loginDisabled",Rc(4,12,t.loginDisabled$))}}function H3(t,e){if(1&t){const t=ua();ra(0,"div",35),fa("click",function(){$e(t),va();const e=ta(72);return e.expanded=!e.expanded}),ra(1,"mat-icon",36),Ja(2),sa(),sa()}if(2&t){va();const t=ta(72);ws(2),el(" ",t.expanded?"arrow_drop_up":"arrow_drop_down"," ")}}function $3(t,e){if(1&t){const t=ua();ra(0,"div",35),fa("click",function(){$e(t);const e=va();return e.organListVisible=!e.organListVisible}),ra(1,"mat-icon",37),Ja(2),sa(),sa()}if(2&t){const t=va();ws(2),el(" ",t.organListVisible?"arrow_drop_up":"arrow_drop_down"," ")}}const G3=function(){return{}},W3=function(){return{x:2.2,y:2,z:.4}};class q3{constructor(t,e,n,i,r,s,o,a,l,c,u,h){this.data=n,this.theming=i,this.scene=r,this.listResultsState=s,this.consentService=o,this.snackbar=a,this.dataSource=c,this.globalConfig=u,this.setSelectedSearches=NQ(KQ),this.removeSpatialSearch=NQ(YQ),this.ontologySelectionLabel="body",this.cellTypeSelectionLabel="cell",this.selectionLabel="body | cell",this.organListVisible=!0,this.url="",this.acceptableViewerDomains=RQ.acceptableViewerDomains||[],this.viewerOpen=!1,this.spinnerActive$=this.data.queryStatus$.pipe(D(t=>t===HQ.Running)),this.loadingMessage$=this.data.state$.pipe(T$("statusMessage")),this.theme$=this.globalConfig.getOption("theme"),this.themeMode$=new _p(1),this.header$=this.globalConfig.getOption("header"),this.homeUrl$=this.globalConfig.getOption("homeUrl"),this.logoTooltip$=this.globalConfig.getOption("logoTooltip"),this.loginDisabled$=this.globalConfig.getOption("loginDisabled"),i.initialize(t,e),l.setRootElement(t),n.tissueBlockData$.subscribe(),n.aggregateData$.subscribe(),n.ontologyTermOccurencesData$.subscribe(),n.cellTypeTermOccurencesData$.subscribe(),n.sceneData$.subscribe(),n.filter$.subscribe(),n.technologyFilterData$.subscribe(),n.providerFilterData$.subscribe(),this.ontologyTerms$=n.filter$.pipe(T$("ontologyTerms")),this.cellTypeTerms$=n.filter$.pipe(T$("cellTypeTerms")),z_([this.theme$,this.themeMode$]).subscribe(([t,e])=>{this.theming.setTheme(`${t}-theme-${e}`),h.markForCheck()})}get isLightTheme(){return this.theming.getTheme().endsWith("light")}ngOnInit(){const t=this.snackbar.openFromComponent(ZK,{data:{preClose:()=>{t.dismiss()}},duration:"not-set"===this.consentService.consent?1/0:3e3});window.matchMedia?(window.matchMedia("(prefers-color-scheme: dark)").matches?this.themeMode$.next("dark"):this.themeMode$.next("light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.themeMode$.next(t.matches?"dark":"light")})):this.themeMode$.next("light")}reset(t,e,n){t.open(),t.closeExpanded(),e.open(),e.closeExpanded(),n.removeBox(),this.resetView()}resetView(){this.bodyUI.target=[0,0,0],this.bodyUI.rotation=0,this.bodyUI.rotationX=0,this.bodyUI.bounds={x:2.2,y:2,z:.4}}toggleScheme(){this.themeMode$.next(this.isLightTheme?"dark":"light")}ontologySelected(t,e){if(t)return"anatomical-structures"===e?(this.data.updateFilter({ontologyTerms:t.map(t=>t.id)}),this.ontologySelectionLabel=this.createSelectionLabel(t)):(this.data.updateFilter({cellTypeTerms:t.map(t=>t.id)}),this.cellTypeSelectionLabel=this.createSelectionLabel(t)),this.selectionLabel=this.ontologySelectionLabel&&this.cellTypeSelectionLabel?`${this.ontologySelectionLabel} | ${this.cellTypeSelectionLabel}`:this.ontologySelectionLabel?`${this.ontologySelectionLabel}`:this.cellTypeSelectionLabel?`${this.cellTypeSelectionLabel}`:"",void(t[0]&&"body"===t[0].label&&this.resetView());this.data.updateFilter({ontologyTerms:[],cellTypeTerms:[]}),this.ontologySelectionLabel="",this.cellTypeSelectionLabel=""}createSelectionLabel(t){if(0===t.length)return"";if(1===t.length)return t[0].label;let e="";return t.forEach((n,i)=>{e+=n.label,inull==t?void 0:t.startsWith(e))?(this.url=t,this.viewerOpen=!!t):(window.open(t,"_blank"),this.closeiFrameViewer())}closeiFrameViewer(){this.viewerOpen=!1}get loggedIn(){var t;return(null!==(t=this.globalConfig.snapshot.hubmapToken)&&void 0!==t?t:"").length>0}}function X3(t,e){1&t&&oa(0,"ccf-root")}function Y3(t){const e=t=>"string"==typeof t,n=t=>Array.isArray(t)&&t.every(e);if("string"==typeof t){const e=IQ.json(t);if(n(e))return e}else if(n(t))return t;throw new Error("Invalid data sources")}q3.\u0275fac=function(t){return new(t||q3)(ea(Al),ea(No),ea(WQ),ea(kQ),ea(sZ),ea(iZ),ea(VW),ea(aw),ea(OQ),ea(eQ),ea(XK),ea(nc))},q3.\u0275cmp=Jt({type:q3,selectors:[["ccf-root"]],viewQuery:function(t,e){if(1&t&&Zc(z3,5),2&t){let t;Qc(t=tu())&&(e.bodyUI=t.first)}},decls:83,vars:117,consts:[[1,"ccf-app","mat-app-background"],[3,"text","active"],[3,"hide","logoTooltip","homeUrl","loggedIn","loginDisabled",4,"ngIf"],[1,"main-drawers"],["opened","",1,"left-drawer",3,"stateChange"],["left",""],[1,"filter-data"],[3,"filters","drawerExpanded","technologyFilters","providerFilters","spatialSearchFilters","filtersChange","spatialSearchSelected","spatialSearchRemoved"],["filterbox",""],[1,"filter-text"],[1,"sex","filter-tag"],[1,"age","filter-tag"],[1,"bmi","filter-tag"],["placeholderText","Search anatomical structures...",1,"ontology-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["placeholderText","Search cell types...",1,"cell-type-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["position","end","opened","",1,"right-drawer",3,"stateChange"],["right",""],[1,"portal-view",3,"url","closed"],[1,"drawer-icons"],[1,"drawer-icons-left"],[1,"button",3,"matTooltip","click"],[1,"icon"],[1,"scheme-toggle","button",3,"matTooltip","click"],[1,"button"],["matTooltip","Reset View",1,"refresh","icon",3,"click"],["videoID","YAHJqvD3Q_8","infoTitle","CCF Exploration User Interface","documentationUrl","assets/docs/README.md","matTooltip","Open Info"],[3,"listResults","aggregateData","resultLabel","highlighted","header","listResultSelected","listResultDeselected","linkClicked","itemHovered","itemUnhovered"],[1,"selector-drawer"],[1,"organ-selector",3,"multiselect","occurenceData","organList","selectedOrgans","organsChanged"],["selector",""],[1,"close-button-wrapper"],["class","close-button",3,"click",4,"ngIf"],[1,"stage-content",3,"scene","bounds","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""],[3,"logoTooltip","homeUrl","loggedIn","loginDisabled"],[1,"close-button",3,"click"],["aria-hidden","false","aria-label","Expand carousel drawer",1,"expand-collapse-icon"],["aria-hidden","false","aria-label","Close carousel drawer",1,"expand-collapse-icon"]],template:function(t,e){if(1&t){const t=ua();ra(0,"div",0),oa(1,"ccf-spinner-overlay",1),Dc(2,"async"),Dc(3,"async"),Jo(4,U3,5,14,"ccf-header",2),Dc(5,"async"),ra(6,"ccf-drawer-container",3),Dc(7,"async"),ra(8,"ccf-drawer",4,5),fa("stateChange",function(){return $e(t),ta(13).removeBox()}),ra(10,"div"),ra(11,"div",6),ra(12,"ccf-filters-popover",7,8),fa("filtersChange",function(t){return e.data.updateFilter(t)})("spatialSearchSelected",function(t){return e.setSelectedSearches(t)})("spatialSearchRemoved",function(t){return e.removeSpatialSearch(t)}),Dc(14,"async"),Dc(15,"async"),Dc(16,"async"),Dc(17,"async"),sa(),ra(18,"div",9),ra(19,"div",10),Ja(20,"Sex: "),ra(21,"strong"),Ja(22),Dc(23,"async"),sa(),sa(),ra(24,"div",11),Ja(25,"Age: "),ra(26,"strong"),Ja(27),Dc(28,"async"),Dc(29,"async"),sa(),sa(),ra(30,"div",12),Ja(31,"BMI: "),ra(32,"strong"),Ja(33),Dc(34,"async"),Dc(35,"async"),sa(),sa(),sa(),sa(),ra(36,"ccf-ontology-selection",13),fa("ontologySelection",function(t){return e.ontologySelected(t,"anatomical-structures")}),Dc(37,"async"),Dc(38,"async"),Dc(39,"async"),Dc(40,"async"),sa(),ra(41,"ccf-ontology-selection",14),fa("ontologySelection",function(t){return e.ontologySelected(t,"cell-type")}),Dc(42,"async"),Dc(43,"async"),Dc(44,"async"),Dc(45,"async"),sa(),oa(46,"ccf-drawer-toggle-button"),sa(),sa(),ra(47,"ccf-drawer",15,16),fa("stateChange",function(){return $e(t),ta(13).removeBox()}),ra(49,"ccf-viewer",17),fa("closed",function(){return e.viewerOpen=!1}),sa(),ra(50,"div",18),ra(51,"div",19),ra(52,"button",20),fa("click",function(){$e(t);const e=ta(13),n=ta(48);return e.removeBox(),n.toggleExpanded()}),ra(53,"mat-icon",21),Ja(54),sa(),sa(),ra(55,"button",22),fa("click",function(){return e.toggleScheme()}),ra(56,"mat-icon",21),Ja(57),sa(),sa(),ra(58,"button",23),ra(59,"mat-icon",24),fa("click",function(){$e(t);const n=ta(9),i=ta(48),r=ta(13);return e.reset(n,i,r)}),Ja(60,"refresh "),sa(),sa(),sa(),oa(61,"ccf-info-button",25),sa(),ra(62,"ccf-results-browser",26),fa("listResultSelected",function(t){return e.listResultsState.selectListResult(t)})("listResultDeselected",function(t){return e.listResultsState.deselectListResult(t)})("linkClicked",function(t){return e.openiFrameViewer(t)})("itemHovered",function(t){return e.listResultsState.highlightNode(t)})("itemUnhovered",function(){return e.listResultsState.unHighlightNode()}),Dc(63,"async"),Dc(64,"async"),Dc(65,"async"),Dc(66,"async"),sa(),oa(67,"ccf-drawer-toggle-button"),sa(),ra(68,"ccf-drawer-content"),Dc(69,"async"),ra(70,"div",27),ra(71,"ccf-organ-selector",28,29),fa("organsChanged",function(t){return e.scene.setSelectedReferenceOrgans(t)}),Dc(73,"async"),Dc(74,"async"),Dc(75,"async"),sa(),sa(),ra(76,"div",30),Jo(77,H3,3,1,"div",31),Jo(78,$3,3,1,"div",31),sa(),oa(79,"ccf-run-spatial-search"),ra(80,"ccf-body-ui",32,33),fa("nodeClick",function(t){return e.scene.sceneNodeClicked(t)})("nodeHoverStart",function(t){return e.scene.sceneNodeHovered(t)})("nodeHoverStop",function(){return e.scene.sceneNodeUnhover()}),Dc(82,"async"),sa(),sa(),sa(),sa()}if(2&t){const t=ta(48),n=ta(72);let i,r,s,o;ws(1),na("text",Rc(2,55,e.loadingMessage$))("active",Rc(3,57,e.spinnerActive$)),ws(3),na("ngIf",!1===Rc(5,59,e.spinnerActive$)),ws(2),ja("header-hidden",!1===Rc(7,61,e.header$)),ws(6),na("filters",Rc(14,63,e.data.filter$))("drawerExpanded",t.expanded)("technologyFilters",Rc(15,65,e.data.technologyFilterData$))("providerFilters",Rc(16,67,e.data.providerFilterData$))("spatialSearchFilters",Rc(17,69,e.selectableSearches$)),ws(10),tl(null==(i=Rc(23,71,e.data.filter$))?null:i.sex),ws(5),nl("",null==(r=Rc(28,73,e.data.filter$))?null:r.ageRange[0],"-",null==(r=Rc(29,75,e.data.filter$))?null:r.ageRange[1],""),ws(6),nl("",null==(s=Rc(34,77,e.data.filter$))?null:s.bmiRange[0],"-",null==(s=Rc(35,79,e.data.filter$))?null:s.bmiRange[1],""),ws(3),na("treeModel",Rc(37,81,e.ontologyTreeModel$))("termData",Rc(38,83,e.data.ontologyTermsFullData$))("occurenceData",Rc(39,85,e.data.ontologyTermOccurencesData$))("header",Rc(40,87,e.header$)),ws(5),na("treeModel",Rc(42,89,e.cellTypeTreeModel$))("termData",Rc(43,91,e.data.cellTypeTermsFullData$))("occurenceData",Rc(44,93,e.data.cellTypeTermOccurencesData$))("header",Rc(45,95,e.header$)),ws(8),ja("opened",e.viewerOpen),na("url",e.url),ws(3),na("matTooltip",t.expanded?"Exit Fullscreen":"Enter Fullscreen"),ws(2),tl(t.expanded?"fullscreen_exit":"fullscreen"),ws(1),na("matTooltip",e.isLightTheme?"Enter Dark Mode":"Enter Light Mode"),ws(2),el("",e.isLightTheme?"brightness_2":"brightness_5"," "),ws(5),na("listResults",Rc(63,97,e.listResultsState.listResults$))("aggregateData",Rc(64,99,e.data.aggregateData$))("resultLabel",e.selectionLabel)("highlighted",Rc(65,101,e.listResultsState.highlightedNodeId$))("header",Rc(66,103,e.header$)),ws(6),ja("header-hidden",!1===Rc(69,105,e.header$)),ws(2),ja("closed",!e.organListVisible)("expanded",n.expanded),ws(1),na("multiselect",!0)("occurenceData",null!==(o=Rc(73,107,e.data.ontologyTermOccurencesData$))&&void 0!==o?o:kc(115,G3))("organList",Rc(74,109,e.scene.referenceOrgans$))("selectedOrgans",Rc(75,111,e.scene.selectedReferenceOrgans$)),ws(5),ja("closed",!e.organListVisible),ws(1),na("ngIf",e.organListVisible),ws(1),na("ngIf",!n.expanded),ws(2),ja("expanded-stage",!e.organListVisible)("selector-expanded",n.expanded),na("scene",Rc(82,113,e.scene.scene$))("bounds",kc(116,W3))}},directives:[mZ,Ah,MZ,OZ,X0,I1,D1,L1,gw,T_,GK,M3,xZ,NK,V0,CK,V3],pipes:[$h],styles:[".cdk-overlay-container{position:absolute;font-size:1.2rem}[_nghost-%COMP%]{display:block;position:relative}.ccf-app[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:1rem;position:relative;text-align:left}.ccf-app[_ngcontent-%COMP%] ccf-header[_ngcontent-%COMP%]{z-index:99}.ccf-app[_ngcontent-%COMP%] ccf-header.hide[_ngcontent-%COMP%]{display:none}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%]{height:calc(100% - 5rem);width:100%;opacity:1;overflow:hidden;transform:scale(1)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container.header-hidden[_ngcontent-%COMP%]{height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%]{width:28.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%]{display:flex;padding-left:1.5rem;height:5rem;padding-right:1.5rem;align-items:center;justify-content:space-between}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border:none;cursor:pointer;outline:none;border-radius:.25rem;padding:.65rem;transition:.6s}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%]{overflow:hidden;border-radius:.5rem;height:calc(100vh - 4rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%]{top:0rem;display:flex;flex-direction:column;position:relative;transition:all .5s ease-in-out;height:5rem;justify-content:start}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.expanded[_ngcontent-%COMP%]{height:15rem;overflow-y:auto}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.closed[_ngcontent-%COMP%]{height:1.5rem;top:-5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] ccf-run-spatial-search[_ngcontent-%COMP%]{position:relative;float:right;height:0px;z-index:1;top:.5rem;right:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .stage-content[_ngcontent-%COMP%]{transition:all .5s ease-in-out;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .expanded-stage[_ngcontent-%COMP%]{height:calc(100% - 3rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-expanded[_ngcontent-%COMP%]{height:calc(100% - 16.5rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 1rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;border-top-right-radius:.5rem;border-top-left-radius:.5rem;height:0}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{display:flex;justify-content:center;height:1.0625rem;width:3rem;align-self:center;border-radius:0 0 .25rem .25rem;cursor:pointer;transition:.6s;position:relative;top:.5rem;z-index:1}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{position:relative;bottom:.2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%]{padding-left:1.5rem;padding-right:1.5rem;height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cell-type-selection[_ngcontent-%COMP%] .ccf-ontology-search{margin-top:2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%]{height:5rem;display:flex;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:75%;margin-left:1.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%]{font-weight:300}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600!important}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view[_ngcontent-%COMP%]{position:fixed;left:0;top:0;bottom:0;right:425%;height:100%;transform:translate(-425%);width:calc(100% - 28.5rem);transition:transform .5s cubic-bezier(.82,.085,.395,.895)}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view.opened[_ngcontent-%COMP%]{transform:translate(0);transition:width 0s .5s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view[_ngcontent-%COMP%]{width:100vw}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view.opened[_ngcontent-%COMP%]{transition:width 0s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .shaded-toggle[_ngcontent-%COMP%]{box-shadow:-1px 0 4px #212121}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}[_ngcontent-%COMP%]::-webkit-scrollbar{width:.5rem}"],changeDetection:0}),vw([iU(qQ.cellTypesTreeModel)],q3.prototype,"cellTypeTreeModel$",void 0),vw([iU(qQ.anatomicalStructuresTreeModel)],q3.prototype,"ontologyTreeModel$",void 0),vw([iU(ZQ.items)],q3.prototype,"selectableSearches$",void 0),vw([XY()],q3.prototype,"setSelectedSearches",void 0),vw([XY()],q3.prototype,"removeSpatialSearch",void 0);let K3=(()=>{class t extends MQ{constructor(t,e){super(t,e,{initialDelay:10,initialConfig:Object.assign(Object.assign(Object.assign({},RQ.dbOptions),globalThis.dbOptions),RQ.customization),parse:{dataSources:Y3,useRemoteApi:IQ.boolean,header:IQ.boolean,loginDisabled:IQ.boolean}})}}return t.\u0275fac=function(e){return new(e||t)(ea(XK),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-root-wc"]],inputs:{dataSources:"dataSources",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint",theme:"theme",header:"header",homeUrl:"homeUrl",logoTooltip:"logoTooltip",loginDisabled:"loginDisabled"},features:[jo],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,e){1&t&&Jo(0,X3,1,0,"ccf-root",0),2&t&&na("ngIf",e.initialized)},directives:[Ah,q3],encapsulation:2,changeDetection:0}),t})(),Q3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,j3,yw]]}),t})(),Z3=(()=>{class t extends uQ{constructor(t,e){super(t),this.locator=e}createWorker(t){const e=this.getWorkerUrl(!0);return new Worker(e,{type:"module"})}getWorkerUrl(t){if(t)return new URL(n(88509),n.b);const e=this.locator.prepareExternalUrl("0-es2015.worker.js"),i=new Blob([`importScripts('${e}')`],{type:"application/javascript"});return URL.createObjectURL(i)}}return t.\u0275fac=function(e){return new(e||t)(Ei(XK),Ei(ch))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),J3=(()=>{class t extends hQ{selectToken(t){const{useRemoteApi:e,remoteApiEndpoint:n}=t;return e&&n?aQ:"undefined"==typeof Worker||RQ.disableDbWorker?cQ:Z3}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),t5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:du,useValue:kQ.initialize,multi:!0},kQ]}),t})(),e5=(()=>{class t{constructor(t,e){this.accessor=t,this.injector=e}static forRoot(e=[]){return{ngModule:t,providers:[hW,uW,lW,...e]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hW,2),Ei(uW,2))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const n5=(t,e)=>((t,e)=>new Array(e+1).join("0"))(0,e-t.toString().length)+t;class i5{constructor(t,e,n){this.action=t,this.store=e,this.logWriter=n}dispatched(t){const e=fz(this.action),n=function(t){return n5(t.getHours(),2)+":"+n5(t.getMinutes(),2)+":"+n5(t.getSeconds(),2)+"."+n5(t.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${e} @ ${n}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",t)}completed(t){this.logWriter.logGreen("next state",t),this.logWriter.endGroup()}errored(t){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",t),this.logWriter.endGroup()}_hasPayload(t){return this._getNonEmptyProperties(t).length>0}_getNonEmptyProperties(t){return Object.keys(t).map(e=>t[e]).filter(t=>void 0!==t)}}class r5{constructor(t){this.options=t,this.options=this.options||{},this.logger=t.logger||console}startGroup(t){const e=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{e.call(this.logger,t)}catch(n){console.log(t)}}endGroup(){try{this.logger.groupEnd()}catch(t){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(t,e){this.log(t,"color: #9E9E9E; font-weight: bold",e)}logGreen(t,e){this.log(t,"color: #4CAF50; font-weight: bold",e)}logRedish(t,e){this.log(t,"color: #FD8182; font-weight: bold",e)}log(t,e,n){this.isIE()?this.logger.log(t,n):this.logger.log("%c "+t,e,n)}isIE(){const t="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let e=!1;const n=t.indexOf("MSIE "),i=t.indexOf("Trident/");return(n>-1||i>-1)&&(e=!0),e}}const s5=new oi("NGXS_LOGGER_PLUGIN_OPTIONS");let o5=(()=>{class t{constructor(t,e){this._options=t,this._injector=e}handle(t,e,n){if(this._options.disabled||!this._options.filter(e,t))return n(t,e);this._logWriter=this._logWriter||new r5(this._options),this._store=this._store||this._injector.get(qz);const i=new i5(e,this._store,this._logWriter);return i.dispatched(t),n(t,e).pipe(eg(t=>{i.completed(t)}),Tv(t=>{throw i.errored(t),t}))}}return t.\u0275fac=function(e){return new(e||t)(Ei(s5),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const a5=new oi("LOGGER_USER_OPTIONS");function l5(t){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},t)}let c5=(()=>{class t{static forRoot(e){return{ngModule:t,providers:[{provide:sz,useClass:o5,multi:!0},{provide:a5,useValue:e},{provide:s5,useFactory:l5,deps:[a5]}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function u5(t,e){return t>=0&&t=e?e:t+e<0?0:t+e}function h5(t,e){if(1&t&&(ra(0,"span"),Ja(1),sa()),2&t){const t=e.$implicit;Fa(t.styles),Va(t.classes),ws(1),el(" ",t.text,"\n")}}let d5=(()=>{class t{constructor(){this.clsName="ccf-decorated-text",this.segments=[]}ngOnChanges(t){("text"in t||"decorations"in t)&&(this.segments=this.createSegments())}createSegments(){const{text:t}=this;if(!t)return[this.makeUndecoratedSegment(t)];const e=this.getNormalizedDecorations();if(0===e.length)return[this.makeUndecoratedSegment(t)];const n=this.createStackOps(e),i=[];let r=[],s=0;0===n[0].index&&(r=this.updateStack(r,n.shift()));for(const o of n)i.push(this.makeDecoratedSegment(t.slice(s,o.index),r)),s=o.index,r=this.updateStack(r,o);return s!==t.length&&i.push(this.makeDecoratedSegment(t.slice(s),r)),i}createStackOps(t){const e={},n=t=>{var n;return null!==(n=e[t])&&void 0!==n?n:e[t]={index:t,added:[],removed:[]}};for(const i of t)n(i.start).added.push(i),n(i.end).removed.push(i);return Object.entries(e).sort((t,e)=>+t[0]-+e[0]).map(t=>t[1])}updateStack(t,e){return t.filter(t=>!e.removed.includes(t)).concat(e.added)}getNormalizedDecorations(){const{decorations:t=[],text:{length:e}}=this;return t.map(t=>function(t,e){var n,i,r,s;return{start:u5(null!==(n=t.start)&&void 0!==n?n:0,e),end:u5(null!==(i=t.end)&&void 0!==i?i:e,e),classes:null!==(r=t.classes)&&void 0!==r?r:[],styles:null!==(s=t.styles)&&void 0!==s?s:{}}}(t,e)).filter(t=>t.startt.concat(e.classes),[]),styles:e.reduce((t,e)=>Object.assign(Object.assign({},t),e.styles),{})}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-decorated-text"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{text:"text",decorations:"decorations"},features:[ye],decls:1,vars:1,consts:[[3,"class","style",4,"ngFor","ngForOf"]],template:function(t,e){1&t&&Jo(0,h5,2,5,"span",0),2&t&&na("ngForOf",e.segments)},directives:[kh],styles:["[_nghost-%COMP%]{display:flex}"],changeDetection:0}),t})();function p5(t,e){if(1&t&&(ra(0,"mat-option"),oa(1,"ccf-decorated-text",8),sa()),2&t){const t=e.$implicit;ws(1),na("text",t.label)("decorations",t.decorations)}}const f5=[[["","matPrefix",""]],[["","matSuffix",""]]],g5=new oi("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});class m5{constructor(t){this.defaultMaxOptions=t,this.clsName="ccf-text-search",this.placeholder="Search...",this.optionSelected=new Bc,this.controller=new tH,this.options=this.controller.valueChanges.pipe(lp(""),Wd(),cp(this.getOptions)),this.valueChange=this.controller.valueChanges}get value(){return this.controller.value}set value(t){this.controller.setValue(t,{emitEvent:!1})}getOptions(t){return xw(this,void 0,void 0,function*(){const{autoCompleter:e,maxOptions:n=this.defaultMaxOptions}=this;return!e||n<1?[]:U(e(t,n)).pipe(rf(1),D(t=>t.length<=n?t:t.slice(0,n))).toPromise()})}optionDisplay(t){var e;return null!==(e=null==t?void 0:t.label)&&void 0!==e?e:""}optionId(t,e){return e.id}}m5.\u0275fac=function(t){return new(t||m5)(ea(g5))},m5.\u0275cmp=Jt({type:m5,selectors:[["ccf-text-search"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{placeholder:"placeholder",value:"value",maxOptions:"maxOptions",autoCompleter:"autoCompleter"},outputs:{valueChange:"valueChange",optionSelected:"optionSelected"},ngContentSelectors:["[matPrefix]","[matSuffix]"],decls:11,vars:8,consts:[[1,"form"],["appearance","outline",1,"form-field"],["matPrefix",""],["matInput","","type","search",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"autocomplete",3,"displayWith","optionSelected"],["auto","matAutocomplete"],[4,"ngFor","ngForOf","ngForTrackBy"],["matSuffix",""],[3,"text","decorations"]],template:function(t,e){if(1&t&&(wa(f5),ra(0,"form",0),ra(1,"mat-form-field",1),aa(2,2),xa(3),la(),oa(4,"input",3),ra(5,"mat-autocomplete",4,5),fa("optionSelected",function(t){return e.optionSelected.emit(t)}),Jo(7,p5,2,2,"mat-option",6),Dc(8,"async"),sa(),aa(9,7),xa(10,1),la(),sa(),sa()),2&t){const t=ta(6);ws(4),na("placeholder",e.placeholder)("formControl",e.controller)("matAutocomplete",t),ws(1),na("displayWith",e.optionDisplay),ws(2),na("ngForOf",Rc(8,6,e.options))("ngForTrackBy",e.optionId)}},directives:[cH,IU,sH,QH,$H,E$,uU,m$,MU,pH,h$,kh,WH,wv,d5],pipes:[$h],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .form[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .form[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex{align-items:center}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{height:3rem;border:none}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-suffix{top:0;border:none}"],changeDetection:0}),vw([PV.ak],m5.prototype,"getOptions",null),[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((t,e)=>t.name.localeCompare(e.name)).filter(t=>!0!==t.disabled);let b5=class extends MW{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(IW(),xp(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(T$(...t),Wd(),xp(1))}getOption(...t){const e=this.getPathKey(t);if(this.optionCache.has(e))return this.optionCache.get(e);const n=this.config$.pipe(T$(...t),Wd(),xp(1));return this.optionCache.set(e,n),n}getPathKey(t){return`${t.length}:${t.join(".")}`}};b5.\u0275fac=function(){let t;return function(e){return(t||(t=ei(b5)))(e||b5)}}(),b5.\u0275prov=xt({token:b5,factory:b5.\u0275fac}),vw([CW()],b5.prototype,"config$",null),b5=vw([kW(),nU({name:"globalConfig",defaults:null})],b5);const y5="ALLOW_TELEMETRY",v5=_5();function _5(){const t=localStorage.getItem(y5);return null===t?void 0:"true"===t.toLowerCase()}let w5=class extends MW{setAllowTelemetry(t){const e=_5();localStorage.setItem(y5,t.toString()),this.ctx.patchState({allowTelemetry:t}),(void 0!==e||!1===t)&&location.reload()}};w5.\u0275fac=function(){let t;return function(e){return(t||(t=ei(w5)))(e||w5)}}(),w5.\u0275prov=xt({token:w5,factory:w5.\u0275fac}),vw([OW()],w5.prototype,"setAllowTelemetry",null),w5=vw([kW(),nU({name:"tracking",defaults:{allowTelemetry:v5}})],w5);const x5=new A,S5={cacheBusterObserver:x5},C5={cacheBusterObserver:x5,maxCacheCount:4};function E5(t,e,n){return t?{min:t[0]>e?t[0]:void 0,max:t[1]{var e;return Object.assign(Object.assign({},t),{transformMatrix:new VT(null!==(e=t.transformMatrix)&&void 0!==e?e:[])})})}class T5{constructor(t,e){this.api=t,this.globalConfig=e,e.getOption("hubmapToken").subscribe(x5)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},t=>t)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},t=>t)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},t=>t)}getTissueBlockResults(t){return this.doRequest(t=>this.api.tissueBlocks(t),t,{},t=>t)}getAggregateResults(t){return this.doRequest(t=>this.api.aggregateResults(t),t)}getOntologyTermOccurences(t){return this.doRequest(t=>this.api.ontologyTermOccurences(t),t)}getCellTypeTermOccurences(t){return this.doRequest(t=>this.api.cellTypeTermOccurences(t),t)}getScene(t){return this.doRequest(t=>this.api.scene(t),t,{},O5)}getReferenceOrganScene(t,e){return this.doRequest(t=>this.api.referenceOrganScene(t),e,{organIri:t},O5)}doRequest(t,e,n,i){const{api:r,globalConfig:s}=this,o=Object.assign(Object.assign({},function(t){var e,n;return{age:E5(null==t?void 0:t.ageRange,1,110),bmi:E5(null==t?void 0:t.bmiRange,13,83),sex:null===(n=null===(e=null==t?void 0:t.sex)||void 0===e?void 0:e.toLowerCase)||void 0===n?void 0:n.call(e),ontologyTerms:null==t?void 0:t.ontologyTerms,cellTypeTerms:null==t?void 0:t.cellTypeTerms,providers:null==t?void 0:t.tmc,technologies:null==t?void 0:t.technologies,spatial:null==t?void 0:t.spatialSearches}}(e)),n);return z_([s.getOption("remoteApiEndpoint"),s.getOption("hubmapToken")]).pipe(rf(1),eg(([t,e])=>{r.configuration.basePath=t,e&&(o.token=e)}),cp(()=>t(o)),D(t=>i?i(t):t))}}T5.\u0275fac=function(t){return new(t||T5)(Ei(eq),Ei(b5))},T5.\u0275prov=xt({token:T5,factory:T5.\u0275fac,providedIn:"root"}),vw([QW(S5)],T5.prototype,"getProviderNames",null),vw([QW(S5)],T5.prototype,"getDatasetTechnologyNames",null),vw([QW(S5)],T5.prototype,"getOntologyTreeModel",null),vw([QW(S5)],T5.prototype,"getCellTypeTreeModel",null),vw([QW(S5)],T5.prototype,"getReferenceOrgans",null),vw([QW(C5)],T5.prototype,"getTissueBlockResults",null),vw([QW(C5)],T5.prototype,"getAggregateResults",null),vw([QW(C5)],T5.prototype,"getOntologyTermOccurences",null),vw([QW(C5)],T5.prototype,"getCellTypeTermOccurences",null),vw([QW(C5)],T5.prototype,"getScene",null),vw([QW(C5)],T5.prototype,"getReferenceOrganScene",null);let k5=(()=>{class t{}return t.type="[CallToAction] Learn More",t})(),P5=(()=>{class t{}return t.type="[CallToAction] Open Dialog",t})(),A5=(()=>{class t{}return t.type="[CallToAction] Close Dialog",t})();function M5(t,e){if(1&t&&(ra(0,"div",16),oa(1,"youtube-player",17),sa()),2&t){const t=va(3);ws(1),Sa("videoId",t.videoID)}}function I5(t,e){if(1&t&&(ra(0,"mat-expansion-panel",11),ra(1,"mat-expansion-panel-header"),ra(2,"h2",12),Ja(3),sa(),sa(),ra(4,"div",13),oa(5,"markdown",14),Jo(6,M5,2,1,"div",15),sa(),sa()),2&t){const t=va(),e=t.index,n=t.$implicit;na("expanded",0===e),ws(3),tl(n.title),ws(2),ja("first",0===e),na("data",n.content),ws(1),na("ngIf",0===e)}}function D5(t,e){if(1&t&&(ra(0,"div",9),Jo(1,I5,7,6,"mat-expansion-panel",10),sa()),2&t){const t=e.$implicit;ws(1),na("ngIf",t)}}let R5=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.documentationContents=e.content||[],this.infoTitle=e.title||"",this.videoID=e.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return t.\u0275fac=function(e){return new(e||t)(ea(Y$),ea(Q$))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"h2",4),Ja(5),sa(),ra(6,"div",5),ra(7,"mat-icon",6),fa("click",function(){return e.close()}),Ja(8,"clear"),sa(),sa(),sa(),ra(9,"mat-dialog-content",7),Jo(10,D5,2,1,"div",8),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(5),na("ngForOf",e.documentationContents))},directives:[rG,T_,sG,kh,Ah,CG,TG,NG,WG],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),t})();class N5{get length(){var t,e;return null!==(e=null===(t=N5.storage)||void 0===t?void 0:t.length)&&void 0!==e?e:0}key(t){var e,n;return null!==(n=null===(e=N5.storage)||void 0===e?void 0:e.key(t))&&void 0!==n?n:null}getItem(t,e){var n,i,r;return null!==(r=null!==(i=null===(n=N5.storage)||void 0===n?void 0:n.getItem(t))&&void 0!==i?i:e)&&void 0!==r?r:null}setItem(t,e){var n;try{return null===(n=N5.storage)||void 0===n||n.setItem(t,e),!0}catch(i){return!1}}removeItem(t){var e;null===(e=N5.storage)||void 0===e||e.removeItem(t)}clear(){var t;null===(t=N5.storage)||void 0===t||t.clear()}}N5.storage=(()=>{let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),t}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length?t:void 0}})(),N5.\u0275fac=function(t){return new(t||N5)},N5.\u0275prov=xt({token:N5,factory:N5.\u0275fac,providedIn:"root"});let L5=(()=>{class t{constructor(t){this.http=t,this.panelContent=new Jf({content:[],infoTitle:"",videoID:""})}updateData(t,e,n){this.http.get(t,{responseType:"text"}).subscribe(t=>{const i={content:this.parseMarkdown(t),infoTitle:n,videoID:e};this.panelContent.next(i)})}parseMarkdown(t){const e=[],n=t.split("# ");for(const i of n)if(i.length){const t=i.includes("\n\n")?"\n\n":"\r\n\r\n",n=i.split(t);e.push({title:n[0],content:n.splice(1).join(t)})}return e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var j5;const F5="callToActionPopupShown";let B5=j5=class{constructor(t,e,n,i,r){this.dialog=t,this.ga=e,this.storage=n,this.infoService=i,this.http=r}static ctaDatePassed(t,e=Date.now){return+e()>+new Date(t)}ngxsOnInit(t){const{expirationDate:e,popupShown:n}=t.getState(),i=this.storage.getItem(F5,`${n}`),r=j5.ctaDatePassed(e);"true"!==i&&!r&&t.dispatch(new P5)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(D(t=>this.infoService.parseMarkdown(t)))}launchLearnMore(t){this.dialog.open(R5,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:t,videoID:"UfxMpzatowE"}})}learnMore(t){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(eg(t=>this.launchLearnMore(t)))}open(t){this.dialog.open(U5,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(F5,"true"),t.patchState({popupShown:!0})}close(t){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};B5.\u0275fac=function(t){return new(t||B5)(Ei(nG),Ei(jW),Ei(N5),Ei(L5),Ei(Jv))},B5.\u0275prov=xt({token:B5,factory:B5.\u0275fac}),vw([eU(k5)],B5.prototype,"learnMore",null),vw([eU(P5)],B5.prototype,"open",null),vw([eU(A5)],B5.prototype,"close",null),B5=j5=vw([nU({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],B5);class V5{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}vw([rU([B5])],V5,"title",null),vw([rU([B5])],V5,"message",null),vw([rU([B5])],V5,"callToAction",null),vw([rU([B5])],V5,"imageUrl",null),vw([rU([B5])],V5,"expirationDate",null),vw([rU([B5])],V5,"popupShown",null);let z5=(()=>{class t{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Bc,this.closeClicked=new Bc}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"p",4),Ja(5),sa(),ra(6,"mat-icon",5),fa("click",function(){return e.close()}),Ja(7,"clear"),sa(),sa(),oa(8,"img",6),ra(9,"mat-dialog-content",7),ra(10,"div",8),Ja(11),sa(),ra(12,"a",9),fa("click",function(){return e.onDialogButtonClick()}),sa(),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(3),na("src",e.imageUrl,_r),ws(3),el(" ",e.message,""),ws(1),na("text",e.callToAction))},directives:[rG,T_,QG,sG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),t})();class U5{constructor(){this.close=()=>new A5,this.learnMore=()=>new k5}}U5.\u0275fac=function(t){return new(t||U5)},U5.\u0275cmp=Jt({type:U5,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-call-to-action",0),fa("callToActionClicked",function(){return e.learnMore()})("closeClicked",function(){return e.close()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),sa()),2&t&&na("infoTitle",Rc(1,4,e.title$))("message",Rc(2,6,e.message$))("callToAction",Rc(3,8,e.callToAction$))("imageUrl",Rc(4,10,e.imageUrl$))},directives:[z5],pipes:[$h],styles:[""],changeDetection:0}),vw([iU(V5.title)],U5.prototype,"title$",void 0),vw([iU(V5.message)],U5.prototype,"message$",void 0),vw([iU(V5.callToAction)],U5.prototype,"callToAction$",void 0),vw([iU(V5.imageUrl)],U5.prototype,"imageUrl$",void 0),vw([XY()],U5.prototype,"close",void 0),vw([XY()],U5.prototype,"learnMore",void 0);const H5=[{name:"bladder",namespace:"app",url:"assets/icons/organs/ico-organs-bladder.svg"},{name:"blood",namespace:"app",url:"assets/icons/organs/ico-organs-blood.svg"},{name:"bone-marrow",namespace:"app",url:"assets/icons/organs/ico-organs-bone-marrow.svg"},{name:"brain",namespace:"app",url:"assets/icons/organs/ico-organs-brain.svg"},{name:"eye",namespace:"app",url:"assets/icons/organs/ico-organs-eye.svg"},{name:"fallopian-tube-left",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-left.svg"},{name:"fallopian-tube-right",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-right.svg"},{name:"heart",namespace:"app",url:"assets/icons/organs/ico-organs-heart.svg"},{name:"kidney-left",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-left.svg"},{name:"kidney-right",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-right.svg"},{name:"kidney",namespace:"app",url:"assets/icons/organs/ico-organs-kidney.svg"},{name:"knee",namespace:"app",url:"assets/icons/organs/ico-organs-knee.svg"},{name:"large-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-large-intestine.svg"},{name:"larynx",namespace:"app",url:"assets/icons/organs/ico-organs-larynx.svg"},{name:"liver",namespace:"app",url:"assets/icons/organs/ico-organs-liver.svg"},{name:"lung-left",namespace:"app",url:"assets/icons/organs/ico-organs-lung-left.svg"},{name:"lung-right",namespace:"app",url:"assets/icons/organs/ico-organs-lung-right.svg"},{name:"lung",namespace:"app",url:"assets/icons/organs/ico-organs-lung.svg"},{name:"lymph-nodes",namespace:"app",url:"assets/icons/organs/ico-organs-lymph-nodes.svg"},{name:"main-bronchus",namespace:"app",url:"assets/icons/organs/ico-organs-extrapulmonary bronchus.svg"},{name:"mammary-gland",namespace:"app",url:"assets/icons/organs/ico-organs-breast.svg"},{name:"neuron",namespace:"app",url:"assets/icons/organs/ico-organs-neuron.svg"},{name:"ovaries",namespace:"app",url:"assets/icons/organs/ico-organs-ovaries.svg"},{name:"ovary-left",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-left.svg"},{name:"ovary-right",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-right.svg"},{name:"palatine-tonsil",namespace:"app",url:"assets/icons/organs/ico-organs-palatine tonsil.svg"},{name:"pancreas",namespace:"app",url:"assets/icons/organs/ico-organs-pancreas.svg"},{name:"pelvis-f",namespace:"app",url:"assets/icons/organs/ico-organs-pelvis-f.svg"},{name:"placenta",namespace:"app",url:"assets/icons/organs/ico-organs-placenta.svg"},{name:"prostate",namespace:"app",url:"assets/icons/organs/ico-organs-prostate.svg"},{name:"skin",namespace:"app",url:"assets/icons/organs/ico-organs-skin.svg"},{name:"small-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-small intestine.svg"},{name:"spinal-cord",namespace:"app",url:"assets/icons/organs/ico-organs-spinal-cord.svg"},{name:"spleen",namespace:"app",url:"assets/icons/organs/ico-organs-spleen.svg"},{name:"stomach",namespace:"app",url:"assets/icons/organs/ico-organs-stomach.svg"},{name:"thymus",namespace:"app",url:"assets/icons/organs/ico-organs-thymus.svg"},{name:"trachea",namespace:"app",url:"assets/icons/organs/ico-organs-trachea.svg"},{name:"ureter-left",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-left.svg"},{name:"ureter-right",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-right.svg"},{name:"uterus",namespace:"app",url:"assets/icons/organs/ico-organs-uterus.svg"},{name:"vasculature-thick",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thick.svg"},{name:"vasculature-thin",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thin.svg"},{name:"opacity",namespace:"app",url:"assets/icons/opacity-24px.svg"},{name:"visibility_on",namespace:"app",url:"assets/icons/visibility-on-24px.svg"},{name:"visibility_off",namespace:"app",url:"assets/icons/visibility-off-24px.svg"},{name:"expand_more",namespace:"app",url:"assets/icons/expand_more-24px.svg"},{name:"expand_less",namespace:"app",url:"assets/icons/expand_less-24px.svg"},{name:"filter",url:"assets/icons/filter.svg"}];let $5=class extends AW{constructor(t,e){super(),this.registry=t;for(const{name:n,namespace:i,url:r,html:s}of H5){const t={name:n,namespace:i,url:r&&e.bypassSecurityTrustResourceUrl(r),html:s&&e.bypassSecurityTrustHtml(s)};this.registerIconImpl(t)}}registerIcon(t){return this.registerIconImpl(t)}registerIconImpl(t){if(!this.registry||!t.url&&!t.html)return!1;const e=this.registry,n=e[this.getMethodName(t)],i=this.getArguments(t);if(!n)return!1;try{return n.apply(e,i),!0}catch(r){return!1}}getMethodName({name:t,namespace:e,url:n}){const i=["addSvgIcon"];return t||i.push("Set"),n||i.push("Literal"),e&&i.push("InNamespace"),i.join("")}getArguments({name:t,namespace:e,url:n,html:i}){return[e,t,null!=n?n:i].filter(t=>!!t)}};$5.\u0275fac=function(t){return new(t||$5)(Ei(y_,8),Ei(Sd))},$5.\u0275prov=xt({token:$5,factory:$5.\u0275fac}),vw([OW()],$5.prototype,"registerIcon",null),$5=vw([kW(),nU({name:"iconRegistry"})],$5);const G5=[XK,nZ,$5,iZ,WQ,sZ,B5,c0,QQ];let W5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[e5.forRoot(),tU.forRoot(G5,{developmentMode:!RQ.production,selectorOptions:{injectContainerState:!1}}),YY.forRoot(),c5.forRoot({disabled:RQ.production})]]}),t})(),q5=(()=>{class t{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:eQ,useExisting:J3}],imports:[[d_,GW.forRoot({gaToken:RQ.googleAnalyticsToken,appName:"eui"}),YK,nq.forRoot(()=>new tq({basePath:RQ.dbOptions.remoteApiEndpoint})),Q3,W5,t5],Q3]}),t})(),X5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,xK]]}),t})(),Y5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,ZH,lJ]]}),t})(),K5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wf,ef,ZH,lJ,e0]]}),t})(),Q5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_]]}),t})(),Z5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,X5,Y5,K5,CQ,Q5]]}),t})(),J5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,Z5]]}),t})(),t4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,bH,yH,b$,ZH,O$,k_]]}),t})(),e4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,yw,g1,FK]]}),t})(),n4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,t4,e4]]}),t})(),i4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,t4,e4,n4],t4,e4,n4]}),t})();function r4(){return(r4=Object.assign||function(t){for(var e=1;e0&&(n(s,!!t.isBeginning),t.params.watchOverflow&&t.enabled&&s[t.isLocked?"addClass":"removeClass"](e.lockClass)),r&&r.length>0&&(n(r,!!t.isEnd),t.params.watchOverflow&&t.enabled&&r[t.isLocked?"addClass":"removeClass"](e.lockClass))}},onPrevClick:function(t){var e=this;t.preventDefault(),(!e.isBeginning||e.params.loop)&&e.slidePrev()},onNextClick:function(t){var e=this;t.preventDefault(),(!e.isEnd||e.params.loop)&&e.slideNext()},init:function(){var t,e,n=this,i=n.params.navigation;n.params.navigation=function(t,e,n,i){var r=H1();return n&&Object.keys(i).forEach(function(n){if(!e[n]&&!0===e.auto){var s=r.createElement("div");s.className=i[n],t.append(s),e[n]=s}}),e}(n.$el,n.params.navigation,n.params.createElements,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),(i.nextEl||i.prevEl)&&(i.nextEl&&(t=a2(i.nextEl),n.params.uniqueNavElements&&"string"==typeof i.nextEl&&t.length>1&&1===n.$el.find(i.nextEl).length&&(t=n.$el.find(i.nextEl))),i.prevEl&&(e=a2(i.prevEl),n.params.uniqueNavElements&&"string"==typeof i.prevEl&&e.length>1&&1===n.$el.find(i.prevEl).length&&(e=n.$el.find(i.prevEl))),t&&t.length>0&&t.on("click",n.navigation.onNextClick),e&&e.length>0&&e.on("click",n.navigation.onPrevClick),d2(n.navigation,{$nextEl:t,nextEl:t&&t[0],$prevEl:e,prevEl:e&&e[0]}),n.enabled||(t&&t.addClass(i.lockClass),e&&e.addClass(i.lockClass)))},destroy:function(){var t=this,e=t.navigation,n=e.$nextEl,i=e.$prevEl;n&&n.length&&(n.off("click",t.navigation.onNextClick),n.removeClass(t.params.navigation.disabledClass)),i&&i.length&&(i.off("click",t.navigation.onPrevClick),i.removeClass(t.params.navigation.disabledClass))}},o4={name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){p2(this,{navigation:r4({},s4)})},on:{init:function(t){t.navigation.init(),t.navigation.update()},toEdge:function(t){t.navigation.update()},fromEdge:function(t){t.navigation.update()},destroy:function(t){t.navigation.destroy()},"enable disable":function(t){var e=t.navigation,n=e.$nextEl,i=e.$prevEl;n&&n[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass),i&&i[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass)},click:function(t,e){var n=t.navigation,i=n.$nextEl,r=n.$prevEl,s=e.target;if(t.params.navigation.hideOnClick&&!a2(s).is(r)&&!a2(s).is(i)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===s||t.pagination.el.contains(s)))return;var o;i?o=i.hasClass(t.params.navigation.hiddenClass):r&&(o=r.hasClass(t.params.navigation.hiddenClass)),t.emit(!0===o?"navigationShow":"navigationHide"),i&&i.toggleClass(t.params.navigation.hiddenClass),r&&r.toggleClass(t.params.navigation.hiddenClass)}}}};let a4=(()=>{class t{constructor(){R2.use([o4])}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,m3]]}),t})(),l4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})(),c4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,xK,k_,a4,l4]]}),t})(),u4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Gp,c4]]}),t})(),h4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:yZ,useValue:bZ}],imports:[[Td,By,k_]]}),t})(),d4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,gZ]]}),t})(),p4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,gZ]]}),t})(),f4=(()=>{class t{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(t,e){const n=function(t,e){return e.get(Ol).resolveComponentFactory(t).inputs}(t,e.injector),i=e.strategyFactory||new Kf(t,e.injector),r=function(t){const e={};return t.forEach(({propName:t,templateName:n})=>{e[function(t){return t.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}(n)]=t}),e}(n);class s extends Zf{constructor(t){super(),this.injector=t}get ngElementStrategy(){if(!this._ngElementStrategy){const t=this._ngElementStrategy=i.create(this.injector||e.injector);n.forEach(({propName:e})=>{if(!this.hasOwnProperty(e))return;const n=this[e];delete this[e],t.setInputValue(e,n)})}return this._ngElementStrategy}attributeChangedCallback(t,e,n,i){this.ngElementStrategy.setInputValue(r[t],n)}connectedCallback(){let t=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),t=!0),this.ngElementStrategy.connect(this),t||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(t=>{const e=function(t,e,n){if("function"!=typeof CustomEvent){const i=t.createEvent("CustomEvent");return i.initCustomEvent(e,!1,!1,n),i}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:n})}(this.ownerDocument,t.name,t.value);this.dispatchEvent(e)})}}return s.observedAttributes=Object.keys(r),n.forEach(({propName:t})=>{Object.defineProperty(s.prototype,t,{get(){return this.ngElementStrategy.getInputValue(t)},set(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),s}(K3,{injector:this.injector});customElements.define("ccf-eui",t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(No))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:TQ,useValue:"hubmap-theme-light"},{provide:Tf,useExisting:OQ}],imports:[[By,Td,q5,h4,J5,i4,k_,K5,u4,d4,EK,LK,WK,yw,p4,JK,sw,Q5]]}),t})();RQ.production&&function(){if(Bu)throw new Error("Cannot enable prod mode after platform setup.");Fu=!1}(),Ed().bootstrapModule(f4).catch(t=>console.error(t))},91052:function(t){function e(t,e,n,i,r,s,o){try{var a=t[s](o),l=a.value}catch(c){return void n(c)}a.done?e(l):Promise.resolve(l).then(i,r)}t.exports=function(t){return function(){var n=this,i=arguments;return new Promise(function(r,s){var o=t.apply(n,i);function a(t){e(o,r,s,a,l,"next",t)}function l(t){e(o,r,s,a,l,"throw",t)}a(void 0)})}},t.exports.default=t.exports,t.exports.__esModule=!0},61948:function(t){t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.default=t.exports,t.exports.__esModule=!0},34321:function(t){function e(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=e=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=e=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),e(n)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0},91741:function(t){function e(t){return Promise.resolve().then(function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}e.keys=function(){return[]},e.resolve=e,e.id=91741,t.exports=e},88509:function(t,e,n){"use strict";t.exports=n.p+"7693192ac33f7744a3ca.ts"},9521:function(){},49125:function(){},75307:function(){}},function(t){t(t.s=51316)}]); \ No newline at end of file +var q6e=Object.defineProperty,Q6e=Object.defineProperties,Z6e=Object.getOwnPropertyDescriptors,YM=Object.getOwnPropertySymbols,bZ=Object.prototype.hasOwnProperty,wZ=Object.prototype.propertyIsEnumerable,Yr=Math.pow,SZ=(t,e,n)=>e in t?q6e(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,yt=(t,e)=>{for(var n in e||(e={}))bZ.call(e,n)&&SZ(t,n,e[n]);if(YM)for(var n of YM(e))wZ.call(e,n)&&SZ(t,n,e[n]);return t},zn=(t,e)=>Q6e(t,Z6e(e)),CZ=(t,e)=>{var n={};for(var i in t)bZ.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&YM)for(var i of YM(t))e.indexOf(i)<0&&wZ.call(t,i)&&(n[i]=t[i]);return n};(self.webpackChunkccf_ui=self.webpackChunkccf_ui||[]).push([[179],{71440:function(t,e,n){var i=n(91052).default;t.exports=function t(e,n,i){function r(o,a){if(!n[o]){if(!e[o]){if(s)return s(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[o]={exports:{}};e[o][0].call(c.exports,function(t){return r(e[o][1][t]||t)},c,c.exports,t,e,n,i)}return n[o].exports}for(var s=void 0,o=0;o0&&r[r.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]0?o-4:o;for(n=0;n>16&255,l[u++]=e>>8&255,l[u++]=255&e;return 2===a&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,l[u++]=255&e),1===a&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e),l},n.fromByteArray=function(t){for(var e,n=t.length,r=n%3,s=[],o=16383,a=0,l=n-r;al?l:a+o));return 1===r?s.push(i[(e=t[n-1])>>2]+i[e<<4&63]+"=="):2===r&&s.push(i[(e=(t[n-2]<<8)+t[n-1])>>10]+i[e>>4&63]+i[e<<2&63]+"="),s.join("")};for(var i=[],r=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function u(t){return i[t>>18&63]+i[t>>12&63]+i[t>>6&63]+i[63&t]}function h(t,e,n){for(var i=[],r=e;r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"\ufffd";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"\ufffd";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"\ufffd"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):e}function u(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function d(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}n.StringDecoder=s,s.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0?(r>0&&(t.lastNeed=r-1),r):--i=0?(r>0&&(t.lastNeed=r-2),r):--i=0?(r>0&&(2===r?r=0:t.lastNeed=r-3),r):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var i=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},{"safe-buffer":4}],6:[function(t,e,n){(function(e){(function(){"use strict";var e=t("base64-js"),i=t("ieee754");n.Buffer=o,n.SlowBuffer=function(t){return+t!=t&&(t=0),o.alloc(+t)},n.INSPECT_MAX_BYTES=50;var r=2147483647;function s(t){if(t>r)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return e.__proto__=o.prototype,e}function o(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return c(t)}return a(t,e,n)}function a(t,e,n){if("string"==typeof t)return function(t,e){if(("string"!=typeof e||""===e)&&(e="utf8"),!o.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var n=0|d(t,e),i=s(n),r=i.write(t,e);return r!==n&&(i=i.slice(0,r)),i}(t,e);if(ArrayBuffer.isView(t))return u(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,n){if(e<0||t.byteLength=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|t}function d(t,e){if(o.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return L(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(t).length;default:if(r)return i?-1:L(t).length;e=(""+e).toLowerCase(),r=!0}}function p(t,e,n){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0)||(n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,n);case"utf8":case"utf-8":return C(this,e,n);case"ascii":return E(this,e,n);case"latin1":case"binary":return O(this,e,n);case"base64":return S(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,n);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function f(t,e,n){var i=t[e];t[e]=t[n],t[n]=i}function g(t,e,n,i,r){if(0===t.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=r?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(r)return-1;n=t.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof e&&(e=o.from(e,i)),o.isBuffer(e))return 0===e.length?-1:m(t,e,n,i,r);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):m(t,[e],n,i,r);throw new TypeError("val must be string, number or Buffer")}function m(t,e,n,i,r){var s,o=1,a=t.length,l=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(r){var u=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){for(var h=!0,d=0;dr&&(i=r):i=r;var s=e.length;i>s/2&&(i=s/2);for(var o=0;o>8,r.push(n%256),r.push(i);return r}(e,t.length-n),t,n,i)}function S(t,n,i){return e.fromByteArray(0===n&&i===t.length?t:t.slice(n,i))}function C(t,e,n){n=Math.min(t.length,n);for(var i=[],r=e;r239?4:c>223?3:c>191?2:1;if(r+h<=n)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(s=t[r+1]))&&(l=(31&c)<<6|63&s)>127&&(u=l);break;case 3:o=t[r+2],128==(192&(s=t[r+1]))&&128==(192&o)&&(l=(15&c)<<12|(63&s)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:o=t[r+2],a=t[r+3],128==(192&(s=t[r+1]))&&128==(192&o)&&128==(192&a)&&(l=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(i.push((u-=65536)>>>10&1023|55296),u=56320|1023&u),i.push(u),r+=h}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);for(var n="",i=0;ie&&(t+=" ... "),""},o.prototype.compare=function(t,e,n,i,r){if(B(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),e<0||n>t.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&e>=n)return 0;if(i>=r)return-1;if(e>=n)return 1;if(this===t)return 0;for(var s=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(e>>>=0),l=Math.min(s,a),c=this.slice(i,r),u=t.slice(e,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-e;if((void 0===n||n>r)&&(n=r),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var s=!1;;)switch(i){case"hex":return b(this,t,e,n);case"utf8":case"utf-8":return y(this,t,e,n);case"ascii":return v(this,t,e,n);case"latin1":case"binary":return _(this,t,e,n);case"base64":return w(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,t,e,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function E(t,e,n){var i="";n=Math.min(t.length,n);for(var r=e;ri)&&(n=i);for(var r="",s=e;sn)throw new RangeError("Trying to access beyond buffer length")}function A(t,e,n,i,r,s){if(!o.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||et.length)throw new RangeError("Index out of range")}function M(t,e,n,i,r,s){if(n+i>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function I(t,e,n,r,s){return e=+e,n>>>=0,s||M(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function D(t,e,n,r,s){return e=+e,n>>>=0,s||M(t,0,n,8),i.write(t,e,n,r,52,8),n+8}o.prototype.slice=function(t,e){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t],r=1,s=0;++s>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t+--e],r=1;e>0&&(r*=256);)i+=this[t+--e]*r;return i},o.prototype.readUInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),this[t]},o.prototype.readUInt16LE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUInt16BE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},o.prototype.readUInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||P(t,e,this.length);for(var i=this[t],r=1,s=0;++s=(r*=128)&&(i-=Math.pow(2,8*e)),i},o.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||P(t,e,this.length);for(var i=e,r=1,s=this[t+--i];i>0&&(r*=256);)s+=this[t+--i]*r;return s>=(r*=128)&&(s-=Math.pow(2,8*e)),s},o.prototype.readInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},o.prototype.readInt16LE=function(t,e){t>>>=0,e||P(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt16BE=function(t,e){t>>>=0,e||P(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readFloatLE=function(t,e){return t>>>=0,e||P(t,4,this.length),i.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,e){return t>>>=0,e||P(t,4,this.length),i.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,e){return t>>>=0,e||P(t,8,this.length),i.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,e){return t>>>=0,e||P(t,8,this.length),i.read(this,t,!1,52,8)},o.prototype.writeUIntLE=function(t,e,n,i){t=+t,e>>>=0,n>>>=0,i||A(this,t,e,n,Math.pow(2,8*n)-1,0);var r=1,s=0;for(this[e]=255&t;++s>>=0,n>>>=0,i||A(this,t,e,n,Math.pow(2,8*n)-1,0);var r=n-1,s=1;for(this[e+r]=255&t;--r>=0&&(s*=256);)this[e+r]=t/s&255;return e+n},o.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,255,0),this[e]=255&t,e+1},o.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},o.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeIntLE=function(t,e,n,i){if(t=+t,e>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,t,e,n,r-1,-r)}var s=0,o=1,a=0;for(this[e]=255&t;++s>0)-a&255;return e+n},o.prototype.writeIntBE=function(t,e,n,i){if(t=+t,e>>>=0,!i){var r=Math.pow(2,8*n-1);A(this,t,e,n,r-1,-r)}var s=n-1,o=1,a=0;for(this[e+s]=255&t;--s>=0&&(o*=256);)t<0&&0===a&&0!==this[e+s+1]&&(a=1),this[e+s]=(t/o>>0)-a&255;return e+n},o.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},o.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},o.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||A(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeFloatLE=function(t,e,n){return I(this,t,e,!0,n)},o.prototype.writeFloatBE=function(t,e,n){return I(this,t,e,!1,n)},o.prototype.writeDoubleLE=function(t,e,n){return D(this,t,e,!0,n)},o.prototype.writeDoubleBE=function(t,e,n){return D(this,t,e,!1,n)},o.prototype.copy=function(t,e,n,i){if(!o.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&0!==i&&(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e=0;--s)t[s+e]=this[s+n];else Uint8Array.prototype.set.call(t,this.subarray(n,i),e);return r},o.prototype.fill=function(t,e,n,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!o.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===t.length){var r=t.charCodeAt(0);("utf8"===i&&r<128||"latin1"===i)&&(t=r)}}else"number"==typeof t&&(t&=255);if(e<0||this.length>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(s=e;s55295&&n<57344){if(!r){if(n>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(e-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(e-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((e-=1)<0)break;s.push(n)}else if(n<2048){if((e-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function j(t){return e.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(R,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function F(t,e,n,i){for(var r=0;r=e.length||r>=t.length);++r)e[r+n]=t[r];return r}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}}).call(this)}).call(this,t("buffer").Buffer)},{"base64-js":2,buffer:6,ieee754:9}],7:[function(t,e,n){"use strict";e.exports=function t(e){return null===e||"object"!=typeof e||null!=e.toJSON?JSON.stringify(e):Array.isArray(e)?"["+e.reduce((e,n,i)=>e+(0===i?"":",")+t(void 0===n||"symbol"==typeof n?null:n),"")+"]":"{"+Object.keys(e).sort().reduce((n,i,r)=>void 0===e[i]||"symbol"==typeof e[i]?n:n+(0===n.length?"":",")+t(i)+":"+t(e[i]),"")+"}"}},{}],8:[function(t,e,n){"use strict";var i,r="object"==typeof Reflect?Reflect:null,s=r&&"function"==typeof r.apply?r.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)};i=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var o=Number.isNaN||function(t){return t!=t};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(t,e){return new Promise(function(n,i){function r(n){t.removeListener(e,s),i(n)}function s(){"function"==typeof t.removeListener&&t.removeListener("error",r),n([].slice.call(arguments))}b(t,e,s,{once:!0}),"error"!==e&&function(t,e,n){"function"==typeof t.on&&b(t,"error",e,n)}(t,r,{once:!0})})},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function c(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function u(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function h(t,e,n,i){var r,s,o;if(c(n),void 0===(s=t._events)?(s=t._events=Object.create(null),t._eventsCount=0):(void 0!==s.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),s=t._events),o=s[e]),void 0===o)o=s[e]=n,++t._eventsCount;else if("function"==typeof o?o=s[e]=i?[n,o]:[o,n]:i?o.unshift(n):o.push(n),(r=u(t))>0&&o.length>r&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,function(t){console&&console.warn&&console.warn(t)}(a)}return t}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},r=d.bind(i);return r.listener=n,i.wrapFn=r,r}function f(t,e,n){var i=t._events;if(void 0===i)return[];var r=i[e];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var l=r[t];if(void 0===l)return!1;if("function"==typeof l)s(l,this,e);else{var c=l.length,u=m(l,c);for(n=0;n=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},a.prototype.listeners=function(t){return f(this,t,!0)},a.prototype.rawListeners=function(t){return f(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},a.prototype.listenerCount=g,a.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},{}],9:[function(t,e,n){n.read=function(t,e,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,h=n?r-1:0,d=n?-1:1,p=t[e+h];for(h+=d,s=p&(1<<-u)-1,p>>=-u,u+=a;u>0;s=256*s+t[e+h],h+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+t[e+h],h+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,i),s-=c}return(p?-1:1)*o*Math.pow(2,s-i)},n.write=function(t,e,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=i?0:s-1,f=i?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(a=0,o=u):o+h>=1?(a=(e*l-1)*Math.pow(2,r),o+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,r),o=0));r>=8;t[n+p]=255&a,p+=f,a/=256,r-=8);for(o=o<0;t[n+p]=255&o,p+=f,o/=256,c-=8);t[n+p-f]|=128*g}},{}],10:[function(t,e,n){e.exports="function"==typeof Object.create?function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},{}],11:[function(t,e,n){"use strict";const{isArray:r,isObject:s,isString:o}=t("./types"),{asArray:a}=t("./util"),{prependBase:l}=t("./url"),c=t("./JsonLdError"),u=t("./ResolvedContext");function h(t){throw new c("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:t})}function d({context:t,base:e}){if(!t)return;const n=t["@context"];if(o(n))t["@context"]=l(e,n);else if(r(n))for(let i=0;i10)throw new c("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"loading remote context failed":"context overflow",max:10});if(a.has(e))throw new c("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===t.processingMode?"recursive context inclusion":"context overflow",url:e});let i,l;a.add(e);try{l=yield n(e),i=l.document||null,o(i)&&(i=JSON.parse(i))}catch(u){throw new c("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:e,cause:u})}if(!s(i))throw new c("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:e});return i="@context"in i?{"@context":i["@context"]}:{"@context":{}},l.contextUrl&&(r(i["@context"])||(i["@context"]=[i["@context"]]),i["@context"].push(l.contextUrl)),{context:i,remoteDoc:l}})()}}},{"./JsonLdError":12,"./ResolvedContext":16,"./types":30,"./url":31,"./util":32}],12:[function(t,e,n){"use strict";e.exports=class extends Error{constructor(t="An unspecified JSON-LD error occurred.",e="jsonld.Error",n={}){super(t),this.name=e,this.message=t,this.details=n}}},{}],13:[function(t,e,n){"use strict";e.exports=t=>{class e{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(e,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(e.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:e}),e.compact=function(e,n){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):t.compact(e,n)},e.expand=function(e){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):t.expand(e)},e.flatten=function(e){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):t.flatten(e)},e}},{}],14:[function(t,e,n){"use strict";e.exports=t("rdf-canonize").NQuads},{"rdf-canonize":46}],15:[function(t,e,n){"use strict";e.exports=class{constructor(){this._requests={}}wrapLoader(t){const e=this;return e._loader=t,function(){return e.add.apply(e,arguments)}}add(t){var e=this;return i(function*(){let n=e._requests[t];if(n)return Promise.resolve(n);n=e._requests[t]=e._loader(t);try{return yield n}finally{delete e._requests[t]}})()}}},{}],16:[function(t,e,n){"use strict";const i=t("lru-cache");e.exports=class{constructor({document:t}){this.document=t,this.cache=new i({max:10})}getProcessed(t){return this.cache.get(t)}setProcessed(t,e){this.cache.set(t,e)}}},{"lru-cache":33}],17:[function(t,e,n){"use strict";const r=t("./JsonLdError"),{isArray:s,isObject:o,isString:a,isUndefined:l}=t("./types"),{isList:c,isValue:u,isGraph:h,isSimpleGraph:d,isSubjectReference:p}=t("./graphTypes"),{expandIri:f,getContextValue:g,isKeyword:m,process:b,processingMode:y}=t("./context"),{removeBase:v,prependBase:_}=t("./url"),{addValue:w,asArray:x,compareShortestLeast:S}=t("./util"),C={};function E(t,e,n){if("@nest"!==f(t,e,{vocab:!0},n))throw new r("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}e.exports=C,C.compact=function(){var t=i(function*({activeCtx:t,activeProperty:e=null,element:n,options:i={},compactionMap:f=(()=>{})}){if(s(n)){let r=[];for(let s=0;s1&&(T=Array.from(T).sort());const k=t;for(const e of T){const n=C.compactIri({activeCtx:k,iri:e,relativeTo:{vocab:!0}}),r=g(S,n,"@context");l(r)||(t=yield b({activeCtx:t,localCtx:r,options:i,propagate:!1}))}const P=Object.keys(n).sort();for(const l of P){const p=n[l];if("@id"!==l)if("@type"!==l)if("@reverse"!==l)if("@preserve"!==l)if("@index"!==l)if("@graph"!==l&&"@list"!==l&&"@included"!==l&&m(l)){const e=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,e,p)}else{if(!s(p))throw new r("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===p.length){const e=C.compactIri({activeCtx:t,iri:l,value:p,relativeTo:{vocab:!0},reverse:v}),n=t.mappings.has(e)?t.mappings.get(e)["@nest"]:null;let r=_;n&&(E(t,n,i),o(_[n])||(_[n]={}),r=_[n]),w(r,e,p,{propertyIsArray:!0})}for(const e of p){const n=C.compactIri({activeCtx:t,iri:l,value:e,relativeTo:{vocab:!0},reverse:v}),r=t.mappings.has(n)?t.mappings.get(n)["@nest"]:null;let p=_;r&&(E(t,r,i),o(_[r])||(_[r]={}),p=_[r]);const m=g(t,n,"@container")||[],b=h(e),y=c(e);let S;y?S=e["@list"]:b&&(S=e["@graph"]);let O=yield C.compact({activeCtx:t,activeProperty:n,element:y||b?S:e,options:i,compactionMap:f});if(y){if(s(O)||(O=[O]),m.includes("@list")){w(p,n,O,{valueIsArray:!0,allowDuplicate:!0});continue}O={[C.compactIri({activeCtx:t,iri:"@list",relativeTo:{vocab:!0}})]:O},"@index"in e&&(O[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=e["@index"])}if(b)if(m.includes("@graph")&&(m.includes("@id")||m.includes("@index")&&d(e))){let r;p.hasOwnProperty(n)?r=p[n]:p[n]=r={};const s=(m.includes("@id")?e["@id"]:e["@index"])||C.compactIri({activeCtx:t,iri:"@none",relativeTo:{vocab:!0}});w(r,s,O,{propertyIsArray:!i.compactArrays||m.includes("@set")})}else m.includes("@graph")&&d(e)?(s(O)&&O.length>1&&(O={"@included":O}),w(p,n,O,{propertyIsArray:!i.compactArrays||m.includes("@set")})):(s(O)&&1===O.length&&i.compactArrays&&(O=O[0]),O={[C.compactIri({activeCtx:t,iri:"@graph",relativeTo:{vocab:!0}})]:O},"@id"in e&&(O[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]=e["@id"]),"@index"in e&&(O[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=e["@index"]),w(p,n,O,{propertyIsArray:!i.compactArrays||m.includes("@set")}));else if(m.includes("@language")||m.includes("@index")||m.includes("@id")||m.includes("@type")){let r,s;if(p.hasOwnProperty(n)?r=p[n]:p[n]=r={},m.includes("@language"))u(O)&&(O=O["@value"]),s=e["@language"];else if(m.includes("@index")){const i=g(t,n,"@index")||"@index",r=C.compactIri({activeCtx:t,iri:i,relativeTo:{vocab:!0}});if("@index"===i)s=e["@index"],delete O[r];else{let t;if([s,...t]=x(O[i]||[]),a(s))switch(t.length){case 0:delete O[i];break;case 1:O[i]=t[0];break;default:O[i]=t}else s=null}}else if(m.includes("@id")){const e=C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}});s=O[e],delete O[e]}else if(m.includes("@type")){const r=C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}});let o;switch([s,...o]=x(O[r]||[]),o.length){case 0:delete O[r];break;case 1:O[r]=o[0];break;default:O[r]=o}1===Object.keys(O).length&&"@id"in e&&(O=yield C.compact({activeCtx:t,activeProperty:n,element:{"@id":e["@id"]},options:i,compactionMap:f}))}s||(s=C.compactIri({activeCtx:t,iri:"@none",relativeTo:{vocab:!0}})),w(r,s,O,{propertyIsArray:m.includes("@set")})}else{const t=!i.compactArrays||m.includes("@set")||m.includes("@list")||s(O)&&0===O.length||"@list"===l||"@graph"===l;w(p,n,O,{propertyIsArray:t})}}}else{if((g(t,e,"@container")||[]).includes("@index"))continue;const n=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,n,p)}else{const n=yield C.compact({activeCtx:t,activeProperty:e,element:p,options:i,compactionMap:f});s(n)&&0===n.length||w(_,l,n)}else{const e=yield C.compact({activeCtx:t,activeProperty:"@reverse",element:p,options:i,compactionMap:f});for(const n in e)if(t.mappings.has(n)&&t.mappings.get(n).reverse){const r=e[n],s=(g(t,n,"@container")||[]).includes("@set")||!i.compactArrays;w(_,n,r,{propertyIsArray:s}),delete e[n]}if(Object.keys(e).length>0){const n=C.compactIri({activeCtx:t,iri:l,relativeTo:{vocab:!0}});w(_,n,e)}}else{let e=x(p).map(t=>C.compactIri({activeCtx:S,iri:t,relativeTo:{vocab:!0}}));1===e.length&&(e=e[0]);const n=C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}}),i=(g(t,n,"@container")||[]).includes("@set")&&y(t,1.1)||s(e)&&0===p.length;w(_,n,e,{propertyIsArray:i})}else{let e=x(p).map(e=>C.compactIri({activeCtx:t,iri:e,relativeTo:{vocab:!1},base:i.base}));1===e.length&&(e=e[0]),_[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]=e}}return _}return n});return function(e){return t.apply(this,arguments)}}(),C.compactIri=({activeCtx:t,iri:e,value:n=null,relativeTo:i={vocab:!1},reverse:s=!1,base:a=null})=>{if(null===e)return e;t.isPropertyTermScoped&&t.previousContext&&(t=t.previousContext);const l=t.getInverse();if(m(e)&&e in l&&"@none"in l[e]&&"@type"in l[e]["@none"]&&"@none"in l[e]["@none"]["@type"])return l[e]["@none"]["@type"]["@none"];if(i.vocab&&e in l){const i=t["@language"]||"@none",r=[];o(n)&&"@index"in n&&!("@graph"in n)&&r.push("@index","@index@set"),o(n)&&"@preserve"in n&&(n=n["@preserve"][0]),h(n)?("@index"in n&&r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n&&r.push("@graph@id","@graph@id@set"),r.push("@graph","@graph@set","@set"),"@index"in n||r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n||r.push("@graph@id","@graph@id@set")):o(n)&&!u(n)&&r.push("@id","@id@set","@type","@set@type");let a="@language",l="@null";if(s)a="@type",l="@reverse",r.push("@set");else if(c(n)){"@index"in n||r.push("@list");const t=n["@list"];if(0===t.length)a="@any",l="@none";else{let e=0===t.length?i:null,n=null;for(let i=0;it.includes("_"));t&&a.push(t.replace(/^[^_]+_/,"_"))}a.push("@none");const l=t.inverse[e];for(const o of i){if(!(o in l))continue;const t=l[o][r];for(const e of a)if(e in t)return t[e]}return null}(t,e,n,r,a,l);if(null!==d)return d}if(i.vocab&&"@vocab"in t){const n=t["@vocab"];if(0===e.indexOf(n)&&e!==n){const i=e.substr(n.length);if(!t.mappings.has(i))return i}}let d=null;const p=[];let f=t.fastCurieMap;const g=e.length-1;for(let r=0;r=0;--r){const i=p[r],s=i.terms;for(const r of s){const s=r+":"+e.substr(i.iri.length);t.mappings.get(r)._prefix&&(!t.mappings.has(s)||null===n&&t.mappings.get(s)["@id"]===e)&&(null===d||S(s,d)<0)&&(d=s)}}if(null!==d)return d;for(const[o,c]of t.mappings)if(c&&c._prefix&&e.startsWith(o+":"))throw new r(`Absolute IRI "${e}" confused with prefix "${o}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:t});return i.vocab?e:"@base"in t?t["@base"]?v(_(a,t["@base"]),e):e:v(a,e)},C.compactValue=({activeCtx:t,activeProperty:e,value:n,options:i})=>{if(u(n)){const i=g(t,e,"@type"),r=g(t,e,"@language"),s=g(t,e,"@direction"),o=g(t,e,"@container")||[],l="@index"in n&&!o.includes("@index");if(!l&&"@none"!==i&&(n["@type"]===i||"@language"in n&&n["@language"]===r&&"@direction"in n&&n["@direction"]===s||"@language"in n&&n["@language"]===r||"@direction"in n&&n["@direction"]===s))return n["@value"];const c=Object.keys(n).length,u=1===c||2===c&&"@index"in n&&!l,h="@language"in t,d=a(n["@value"]),p=t.mappings.has(e)&&null===t.mappings.get(e)["@language"];if(u&&"@none"!==i&&(!h||!d||p))return n["@value"];const f={};return l&&(f[C.compactIri({activeCtx:t,iri:"@index",relativeTo:{vocab:!0}})]=n["@index"]),"@type"in n?f[C.compactIri({activeCtx:t,iri:"@type",relativeTo:{vocab:!0}})]=C.compactIri({activeCtx:t,iri:n["@type"],relativeTo:{vocab:!0}}):"@language"in n&&(f[C.compactIri({activeCtx:t,iri:"@language",relativeTo:{vocab:!0}})]=n["@language"]),"@direction"in n&&(f[C.compactIri({activeCtx:t,iri:"@direction",relativeTo:{vocab:!0}})]=n["@direction"]),f[C.compactIri({activeCtx:t,iri:"@value",relativeTo:{vocab:!0}})]=n["@value"],f}const r=f(t,e,{vocab:!0},i),s=g(t,e,"@type"),o=C.compactIri({activeCtx:t,iri:n["@id"],relativeTo:{vocab:"@vocab"===s},base:i.base});return"@id"===s||"@vocab"===s||"@graph"===r?o:{[C.compactIri({activeCtx:t,iri:"@id",relativeTo:{vocab:!0}})]:o}}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],18:[function(t,e,n){"use strict";const i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#";e.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:i,RDF_LIST:i+"List",RDF_FIRST:i+"first",RDF_REST:i+"rest",RDF_NIL:i+"nil",RDF_TYPE:i+"type",RDF_PLAIN_LITERAL:i+"PlainLiteral",RDF_XML_LITERAL:i+"XMLLiteral",RDF_JSON_LITERAL:i+"JSON",RDF_OBJECT:i+"object",RDF_LANGSTRING:i+"langString",XSD:r,XSD_BOOLEAN:r+"boolean",XSD_DOUBLE:r+"double",XSD_INTEGER:r+"integer",XSD_STRING:r+"string"}},{}],19:[function(t,e,n){"use strict";const r=t("./util"),s=t("./JsonLdError"),{isArray:o,isObject:a,isString:l,isUndefined:c}=t("./types"),{isAbsolute:u,isRelative:h,prependBase:d}=t("./url"),{asArray:p,compareShortestLeast:f}=t("./util"),g=new Map,m=/^@[a-zA-Z]+$/,b={};function y(t,e,n,i,r,s){if(null===e||!l(e)||b.isKeyword(e))return e;if(e.match(m))return null;if(i&&i.hasOwnProperty(e)&&!0!==r.get(e)&&b.createTermDefinition({activeCtx:t,localCtx:i,term:e,defined:r,options:s}),(n=n||{}).vocab){const n=t.mappings.get(e);if(null===n)return null;if(a(n)&&"@id"in n)return n["@id"]}const o=e.indexOf(":");if(o>0){const n=e.substr(0,o),a=e.substr(o+1);if("_"===n||0===a.indexOf("//"))return e;i&&i.hasOwnProperty(n)&&b.createTermDefinition({activeCtx:t,localCtx:i,term:n,defined:r,options:s});const l=t.mappings.get(n);if(l&&l._prefix)return l["@id"]+a;if(u(e))return e}if(n.vocab&&"@vocab"in t)return t["@vocab"]+e;if(n.base&&"@base"in t){if(t["@base"])return d(d(s.base,t["@base"]),e)}else if(n.base)return d(s.base,e);return e}function v(t,e){if(!t||"object"!=typeof t||!e||"object"!=typeof e)return t===e;const n=Array.isArray(t);if(n!==Array.isArray(e))return!1;if(n){if(t.length!==e.length)return!1;for(let n=0;n{if(i.has(n)){if(i.get(n))return;throw new s("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:e,term:n})}let h;if(i.set(n,!1),e.hasOwnProperty(n)&&(h=e[n]),"@type"===n&&a(h)&&"@set"===(h["@container"]||"@set")&&b.processingMode(t,1.1)){const t=["@container","@id","@protected"],i=Object.keys(h);if(0===i.length||i.some(e=>!t.includes(e)))throw new s("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:e,term:n})}else{if(b.isKeyword(n))throw new s("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:e,term:n});if(n.match(m))return void console.warn('WARNING: terms beginning with "@" are reserved for future use and ignored',{term:n});if(""===n)throw new s("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:e})}const d=t.mappings.get(n);t.mappings.has(n)&&t.mappings.delete(n);let p=!1;if((l(h)||null===h)&&(p=!0,h={"@id":h}),!a(h))throw new s("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:e});const f={};t.mappings.set(n,f),f.reverse=!1;const g=["@container","@id","@language","@reverse","@type"];b.processingMode(t,1.1)&&g.push("@context","@direction","@index","@nest","@prefix","@protected");for(const o in h)if(!g.includes(o))throw new s("Invalid JSON-LD syntax; a term definition must not contain "+o,"jsonld.SyntaxError",{code:"invalid term definition",context:e});const _=n.indexOf(":");if(f._termHasColon=_>0,"@reverse"in h){if("@id"in h)throw new s("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});if("@nest"in h)throw new s("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});const o=h["@reverse"];if(!l(o))throw new s("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(!b.isKeyword(o)&&o.match(m))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{reverse:o}),void(d?t.mappings.set(n,d):t.mappings.delete(n));const a=y(t,o,{vocab:!0,base:!1},e,i,r);if(!u(a))throw new s("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});f["@id"]=a,f.reverse=!0}else if("@id"in h){let o=h["@id"];if(o&&!l(o))throw new s("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(null===o)f["@id"]=null;else{if(!b.isKeyword(o)&&o.match(m))return console.warn('WARNING: values beginning with "@" are reserved for future use and ignored',{id:o}),void(d?t.mappings.set(n,d):t.mappings.delete(n));if(o!==n){if(o=y(t,o,{vocab:!0,base:!1},e,i,r),!u(o)&&!b.isKeyword(o))throw new s("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});if(n.match(/(?::[^:])|\//)&&y(t,n,{vocab:!0,base:!1},e,new Map(i).set(n,!0),r)!==o)throw new s("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e});f["@id"]=o,f._prefix=p&&!f._termHasColon&&o.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in f))if(f._termHasColon){const s=n.substr(0,_);if(e.hasOwnProperty(s)&&b.createTermDefinition({activeCtx:t,localCtx:e,term:s,defined:i,options:r}),t.mappings.has(s)){const e=n.substr(_+1);f["@id"]=t.mappings.get(s)["@id"]+e}else f["@id"]=n}else if("@type"===n)f["@id"]=n;else{if(!("@vocab"in t))throw new s("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:e,term:n});f["@id"]=t["@vocab"]+n}if((!0===h["@protected"]||!0===i.get("@protected")&&!1!==h["@protected"])&&(t.protected[n]=!0,f.protected=!0),i.set(n,!0),"@type"in h){let n=h["@type"];if(!l(n))throw new s("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:e});if("@json"===n||"@none"===n){if(b.processingMode(t,1))throw new s(`Invalid JSON-LD syntax; an @context @type value must not be "${n}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:e})}else if("@id"!==n&&"@vocab"!==n){if(n=y(t,n,{vocab:!0,base:!1},e,i,r),!u(n))throw new s("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:e});if(0===n.indexOf("_:"))throw new s("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:e})}f["@type"]=n}if("@container"in h){const n=l(h["@container"])?[h["@container"]]:h["@container"]||[],i=["@list","@set","@index","@language"];let r=!0;const a=n.includes("@set");if(b.processingMode(t,1.1)){if(i.push("@graph","@id","@type"),n.includes("@list")){if(1!==n.length)throw new s("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:e})}else if(n.includes("@graph")){if(n.some(t=>"@graph"!==t&&"@id"!==t&&"@index"!==t&&"@set"!==t))throw new s("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:e})}else r&=n.length<=(a?2:1);if(n.includes("@type")&&(f["@type"]=f["@type"]||"@id",!["@id","@vocab"].includes(f["@type"])))throw new s("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:e})}else r&=!o(h["@container"]),r&=n.length<=1;if(r&=n.every(t=>i.includes(t)),r&=!(a&&n.includes("@list")),!r)throw new s("Invalid JSON-LD syntax; @context @container value must be one of the following: "+i.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:e});if(f.reverse&&!n.every(t=>["@index","@set"].includes(t)))throw new s("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:e});f["@container"]=n}if("@index"in h){if(!("@container"in h)||!f["@container"].includes("@index"))throw new s(`Invalid JSON-LD syntax; @index without @index in @container: "${h["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:e});if(!l(h["@index"])||0===h["@index"].indexOf("@"))throw new s(`Invalid JSON-LD syntax; @index must expand to an IRI: "${h["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:e});f["@index"]=h["@index"]}if("@context"in h&&(f["@context"]=h["@context"]),"@language"in h&&!("@type"in h)){let t=h["@language"];if(null!==t&&!l(t))throw new s("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:e});null!==t&&(t=t.toLowerCase()),f["@language"]=t}if("@prefix"in h){if(n.match(/:|\//))throw new s("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:e});if(b.isKeyword(f["@id"]))throw new s("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:e});if("boolean"!=typeof h["@prefix"])throw new s("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:e});f._prefix=!0===h["@prefix"]}if("@direction"in h){const t=h["@direction"];if(null!==t&&"ltr"!==t&&"rtl"!==t)throw new s('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:e});f["@direction"]=t}if("@nest"in h){const t=h["@nest"];if(!l(t)||"@nest"!==t&&0===t.indexOf("@"))throw new s("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:e});f["@nest"]=t}const w=f["@id"];if("@context"===w||"@preserve"===w)throw new s("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:e});if(d&&d.protected&&!c&&(t.protected[n]=!0,f.protected=!0,!v(d,f))){const t=r&&r.protectedMode||"error";if("error"===t)throw new s(`Invalid JSON-LD syntax; tried to redefine "${n}" which is a protected term.`,"jsonld.SyntaxError",{code:"protected term redefinition",context:e,term:n});if("warn"===t)return void console.warn("WARNING: protected term redefinition",{term:n});throw new s("Invalid protectedMode.","jsonld.SyntaxError",{code:"invalid protected mode",context:e,term:n,protectedMode:t})}},b.expandIri=(t,e,n,i)=>y(t,e,n,void 0,void 0,i),b.getInitialContext=t=>{const e=JSON.stringify({processingMode:t.processingMode}),n=g.get(e);if(n)return n;const i={processingMode:t.processingMode,mappings:new Map,inverse:null,getInverse:function(){const t=this;if(t.inverse)return t.inverse;const e=t.inverse={},n=t.fastCurieMap={},i={},r=(t["@language"]||"@none").toLowerCase(),a=t["@direction"],l=t.mappings,c=[...l.keys()].sort(f);for(const s of c){const t=l.get(s);if(null===t)continue;let c=t["@container"]||"@none";if(c=[].concat(c).sort().join(""),null===t["@id"])continue;const u=p(t["@id"]);for(const l of u){let u=e[l];const h=b.isKeyword(l);if(u)!h&&!t._termHasColon&&i[l].push(s);else if(e[l]=u={},!h&&!t._termHasColon){i[l]=[s];const t={iri:l,terms:i[l]};l[0]in n?n[l[0]].push(t):n[l[0]]=[t]}if(u[c]||(u[c]={"@language":{},"@type":{},"@any":{}}),u=u[c],o(s,u["@any"],"@none"),t.reverse)o(s,u["@type"],"@reverse");else if("@none"===t["@type"])o(s,u["@any"],"@none"),o(s,u["@language"],"@none"),o(s,u["@type"],"@none");else if("@type"in t)o(s,u["@type"],t["@type"]);else if("@language"in t&&"@direction"in t){const e=t["@language"],n=t["@direction"];o(s,u["@language"],e&&n?`${e}_${n}`.toLowerCase():e?e.toLowerCase():n?`_${n}`:"@null")}else"@language"in t?o(s,u["@language"],(t["@language"]||"@null").toLowerCase()):"@direction"in t?o(s,u["@language"],t["@direction"]?`_${t["@direction"]}`:"@none"):a?(o(s,u["@language"],`_${a}`),o(s,u["@language"],"@none"),o(s,u["@type"],"@none")):(o(s,u["@language"],r),o(s,u["@language"],"@none"),o(s,u["@type"],"@none"))}}for(const o in n)s(n,o,1);return e},clone:function(){const t={};return t.mappings=r.clone(this.mappings),t.clone=this.clone,t.inverse=null,t.getInverse=this.getInverse,t.protected=r.clone(this.protected),this.previousContext&&(t.previousContext=this.previousContext.clone()),t.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(t["@base"]=this["@base"]),"@language"in this&&(t["@language"]=this["@language"]),"@vocab"in this&&(t["@vocab"]=this["@vocab"]),t},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===g.size&&g.clear(),g.set(e,i),i;function s(t,e,n){const i=t[e],r=t[e]={};let o,a;for(const s of i)o=s.iri,a=n>=o.length?"":o[n],a in r?r[a].push(s):r[a]=[s];for(const l in r)""!==l&&s(r,l,n+1)}function o(t,e,n){e.hasOwnProperty(n)||(e[n]=t)}},b.getContextValue=(t,e,n)=>{if(null===e)return"@context"===n?void 0:null;if(t.mappings.has(e)){const i=t.mappings.get(e);if(c(n))return i;if(i.hasOwnProperty(n))return i[n]}return"@language"===n&&n in t||"@direction"===n&&n in t?t[n]:"@context"!==n?null:void 0},b.processingMode=(t,e)=>e.toString()>="1.1"?!t.processingMode||t.processingMode>="json-ld-"+e.toString():"json-ld-1.0"===t.processingMode,b.isKeyword=t=>{if(!l(t)||"@"!==t[0])return!1;switch(t){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},{"./JsonLdError":12,"./types":30,"./url":31,"./util":32}],20:[function(t,e,n){"use strict";const{parseLinkHeader:r,buildHeaders:s}=t("../util"),{LINK_HEADER_CONTEXT:o}=t("../constants"),a=t("../JsonLdError"),l=t("../RequestQueue"),{prependBase:c}=t("../url"),u=/(^|(\r\n))link:/i;function h(t,e,n){const i=new(t=t||XMLHttpRequest);return new Promise((t,r)=>{i.onload=()=>t(i),i.onerror=t=>r(t),i.open("GET",e,!0);for(const e in n)i.setRequestHeader(e,n[e]);i.send()})}e.exports=({secure:t,headers:e={},xhr:n}={headers:{}})=>{return e=s(e),(new l).wrapLoader(d);function d(t){return p.apply(this,arguments)}function p(){return(p=i(function*(i){if(0!==i.indexOf("http:")&&0!==i.indexOf("https:"))throw new a('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:i});if(t&&0!==i.indexOf("https"))throw new a('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:i});let s;try{s=yield h(n,i,e)}catch(m){throw new a("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:i,cause:m})}if(s.status>=400)throw new a("URL could not be dereferenced: "+s.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:i,httpStatusCode:s.status});let l={contextUrl:null,documentUrl:i,document:s.response},p=null;const f=s.getResponseHeader("Content-Type");let g;if(u.test(s.getAllResponseHeaders())&&(g=s.getResponseHeader("Link")),g&&"application/ld+json"!==f){const t=r(g),e=t[o];if(Array.isArray(e))throw new a("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:i});e&&(l.contextUrl=e.target),p=t.alternate,p&&"application/ld+json"==p.type&&!(f||"").match(/^application\/(\w*\+)?json$/)&&(l=yield d(c(i,p.target)))}return l})).apply(this,arguments)}}},{"../JsonLdError":12,"../RequestQueue":15,"../constants":18,"../url":31,"../util":32}],21:[function(t,e,n){"use strict";const r=t("./JsonLdError"),{isArray:s,isObject:o,isEmptyObject:a,isString:l,isUndefined:c}=t("./types"),{isList:u,isValue:h,isGraph:d,isSubject:p}=t("./graphTypes"),{expandIri:f,getContextValue:g,isKeyword:m,process:b,processingMode:y}=t("./context"),{isAbsolute:v}=t("./url"),{addValue:_,asArray:w,getValues:x,validateTypeValue:S}=t("./util"),C={};e.exports=C;const E=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;function O(t){return T.apply(this,arguments)}function T(){return(T=i(function*({activeCtx:t,activeProperty:e,expandedActiveProperty:n,element:i,expandedParent:d,options:x={},insideList:T,typeKey:k,typeScopedContext:M,expansionMap:I}){const D=Object.keys(i).sort(),R=[];let N;const L=i[k]&&"@json"===f(t,s(i[k])?i[k][0]:i[k],{vocab:!0},x);for(const O of D){let k,D=i[O];if("@context"===O)continue;let j=f(t,O,{vocab:!0},x);if((null===j||!v(j)&&!m(j))&&(j=I({unmappedProperty:O,activeCtx:t,activeProperty:e,parent:i,options:x,insideList:T,value:D,expandedParent:d}),void 0===j))continue;if(m(j)){if("@reverse"===n)throw new r("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:D});if(j in d&&"@included"!==j&&"@type"!==j)throw new r("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:j})}if("@id"===j){if(!l(D)){if(!x.isFrame)throw new r('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:D});if(o(D)){if(!a(D))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D})}else{if(!s(D))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D});if(!D.every(t=>l(t)))throw new r('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:D})}}_(d,"@id",w(D).map(e=>l(e)?f(t,e,{base:!0},x):e),{propertyIsArray:x.isFrame});continue}if("@type"===j){o(D)&&(D=Object.fromEntries(Object.entries(D).map(([t,e])=>[f(M,t,{vocab:!0}),w(e).map(t=>f(M,t,{base:!0,vocab:!0}))]))),S(D,x.isFrame),_(d,"@type",w(D).map(t=>l(t)?f(M,t,{base:!0,vocab:!0},x):t),{propertyIsArray:x.isFrame});continue}if("@included"===j&&y(t,1.1)){const n=w(yield C.expand({activeCtx:t,activeProperty:e,element:D,options:x,expansionMap:I}));if(!n.every(t=>p(t)))throw new r("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:D});_(d,"@included",n,{propertyIsArray:!0});continue}if("@graph"===j&&!o(D)&&!s(D))throw new r('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:D});if("@value"===j){N=D,L&&y(t,1.1)?d["@value"]=D:_(d,"@value",D,{propertyIsArray:x.isFrame});continue}if("@language"===j){if(null===D)continue;if(!l(D)&&!x.isFrame)throw new r('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:D});D=w(D).map(t=>l(t)?t.toLowerCase():t);for(const t of D)l(t)&&!t.match(E)&&console.warn(`@language must be valid BCP47: ${t}`);_(d,"@language",D,{propertyIsArray:x.isFrame});continue}if("@direction"===j){if(!l(D)&&!x.isFrame)throw new r('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:D});D=w(D);for(const t of D)if(l(t)&&"ltr"!==t&&"rtl"!==t)throw new r('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:D});_(d,"@direction",D,{propertyIsArray:x.isFrame});continue}if("@index"===j){if(!l(D))throw new r('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:D});_(d,"@index",D);continue}if("@reverse"===j){if(!o(D))throw new r('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:D});if(k=yield C.expand({activeCtx:t,activeProperty:"@reverse",element:D,options:x,expansionMap:I}),"@reverse"in k)for(const t in k["@reverse"])_(d,t,k["@reverse"][t],{propertyIsArray:!0});let e=d["@reverse"]||null;for(const t in k){if("@reverse"===t)continue;null===e&&(e=d["@reverse"]={}),_(e,t,[],{propertyIsArray:!0});const n=k[t];for(let i=0;i"@id"===t||"@index"===t)&&(k=w(k).map(t=>({"@graph":w(t)}))),F.mappings.has(O)&&F.mappings.get(O).reverse){const t=d["@reverse"]=d["@reverse"]||{};k=w(k);for(let e=0;e"@value"===f(t,e,{vocab:!0},x)))throw new r("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:i});yield O({activeCtx:t,activeProperty:e,expandedActiveProperty:n,element:i,expandedParent:d,options:x,insideList:T,typeScopedContext:M,typeKey:k,expansionMap:I})}}})).apply(this,arguments)}function k({activeCtx:t,activeProperty:e,value:n,options:i}){if(null==n)return null;const r=f(t,e,{vocab:!0},i);if("@id"===r)return f(t,n,{base:!0},i);if("@type"===r)return f(t,n,{vocab:!0,base:!0},i);const s=g(t,e,"@type");if(("@id"===s||"@graph"===r)&&l(n))return{"@id":f(t,n,{base:!0},i)};if("@vocab"===s&&l(n))return{"@id":f(t,n,{vocab:!0,base:!0},i)};if(m(r))return n;const o={};if(s&&!["@id","@vocab","@none"].includes(s))o["@type"]=s;else if(l(n)){const n=g(t,e,"@language");null!==n&&(o["@language"]=n);const i=g(t,e,"@direction");null!==i&&(o["@direction"]=i)}return["boolean","number","string"].includes(typeof n)||(n=n.toString()),o["@value"]=n,o}function P(t,e,n,i){const o=[],a=Object.keys(e).sort();for(const c of a){const a=f(t,c,{vocab:!0},i);let u=e[c];s(u)||(u=[u]);for(const t of u){if(null===t)continue;if(!l(t))throw new r("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:e});const i={"@value":t};"@none"!==a&&(i["@language"]=c.toLowerCase()),n&&(i["@direction"]=n),o.push(i)}}return o}function A(t){return M.apply(this,arguments)}function M(){return(M=i(function*({activeCtx:t,options:e,activeProperty:n,value:i,expansionMap:o,asGraph:a,indexKey:l,propertyIndex:u}){const p=[],m=Object.keys(i).sort(),y="@type"===l;for(let v of m){if(y){const n=g(t,v,"@context");c(n)||(t=yield b({activeCtx:t,localCtx:n,propagate:!1,options:e}))}let m,w=i[v];s(w)||(w=[w]),w=yield C.expand({activeCtx:t,activeProperty:n,element:w,options:e,insideList:!1,insideIndex:!0,expansionMap:o}),m=u?"@none"===v?"@none":k({activeCtx:t,activeProperty:l,value:v,options:e}):f(t,v,{vocab:!0},e),"@id"===l?v=f(t,v,{base:!0},e):y&&(v=m);for(let t of w){if(a&&!d(t)&&(t={"@graph":[t]}),"@type"===l)"@none"===m||(t["@type"]=t["@type"]?[v].concat(t["@type"]):[v]);else{if(h(t)&&!["@language","@type","@index"].includes(l))throw new r(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${l}".`,"jsonld.SyntaxError",{code:"invalid value object",value:t});u?"@none"!==m&&_(t,u,m,{propertyIsArray:!0,prependValue:!0}):"@none"!==m&&!(l in t)&&(t[l]=v)}p.push(t)}}return p})).apply(this,arguments)}C.expand=function(){var t=i(function*({activeCtx:t,activeProperty:e=null,element:n,options:i={},insideList:u=!1,insideIndex:h=!1,typeScopedContext:d=null,expansionMap:p=(()=>{})}){if(null==n)return null;if("@default"===e&&(i=Object.assign({},i,{isFrame:!1})),!s(n)&&!o(n)){if(!u&&(null===e||"@graph"===f(t,e,{vocab:!0},i))){const r=yield p({unmappedValue:n,activeCtx:t,activeProperty:e,options:i,insideList:u});return void 0===r?null:r}return k({activeCtx:t,activeProperty:e,value:n,options:i})}if(s(n)){let r=[];const o=g(t,e,"@container")||[];u=u||o.includes("@list");for(let a=0;a1?e.slice().sort():e:[e];for(const n of s){const e=g(d,n,"@context");c(e)||(t=yield b({activeCtx:t,localCtx:e,options:i,propagate:!1}))}}let P={};yield O({activeCtx:t,activeProperty:e,expandedActiveProperty:m,element:n,expandedParent:P,options:i,insideList:u,typeKey:T,typeScopedContext:d,expansionMap:p}),S=Object.keys(P);let A=S.length;if("@value"in P){if("@type"in P&&("@language"in P||"@direction"in P))throw new r('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:P});let s=A-1;if("@type"in P&&(s-=1),"@index"in P&&(s-=1),"@language"in P&&(s-=1),"@direction"in P&&(s-=1),0!==s)throw new r('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:P});const o=null===P["@value"]?[]:w(P["@value"]),c=x(P,"@type");if(!y(t,1.1)||!c.includes("@json")||1!==c.length)if(0===o.length){const r=yield p({unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}else{if(!o.every(t=>l(t)||a(t))&&"@language"in P)throw new r("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:P});if(!c.every(t=>v(t)&&!(l(t)&&0===t.indexOf("_:"))||a(t)))throw new r('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:P})}}else if("@type"in P&&!s(P["@type"]))P["@type"]=[P["@type"]];else if("@set"in P||"@list"in P){if(A>1&&(2!==A||!("@index"in P)))throw new r('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:P});"@set"in P&&(P=P["@set"],S=Object.keys(P),A=S.length)}else if(1===A&&"@language"in P){const r=yield p(P,{unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}if(o(P)&&!i.keepFreeFloatingNodes&&!u&&(null===e||"@graph"===m)&&(0===A||"@value"in P||"@list"in P||1===A&&"@id"in P)){const r=yield p({unmappedValue:P,activeCtx:t,activeProperty:e,element:n,options:i,insideList:u});P=void 0!==r?r:null}return P});return function(e){return t.apply(this,arguments)}}()},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./url":31,"./util":32}],22:[function(t,e,n){"use strict";const{isSubjectReference:i}=t("./graphTypes"),{createMergedNodeMap:r}=t("./nodeMap"),s={};e.exports=s,s.flatten=t=>{const e=r(t),n=[],s=Object.keys(e).sort();for(let r=0;r=0;--i){const r=n[i];if(r.graph===e&&r.subject["@id"]===t["@id"])return!0}return!1}function f(t,e,n){const i="@"+n;let r=i in t?t[i][0]:e[n];if("embed"===n)if(!0===r)r="@once";else if(!1===r)r="@never";else if("@always"!==r&&"@never"!==r&&"@link"!==r&&"@first"!==r&&"@last"!==r&&"@once"!==r)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:t});return r}function g(t){if(!s.isArray(t)||1!==t.length||!s.isObject(t[0]))throw new l("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:t});if("@id"in t[0])for(const e of o.asArray(t[0]["@id"]))if(!s.isObject(e)&&!a.isAbsolute(e)||s.isString(e)&&0===e.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:t});if("@type"in t[0])for(const e of o.asArray(t[0]["@type"]))if(!s.isObject(e)&&!a.isAbsolute(e)||s.isString(e)&&0===e.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:t})}function m(t,e,n,a){let l=!0,c=!1;for(const u in n){let h=!1;const d=o.getValues(e,u),p=0===o.getValues(n,u).length;if("@id"===u){if(s.isEmptyObject(n["@id"][0]||{})?h=!0:n["@id"].length>=0&&(h=n["@id"].includes(d[0])),!a.requireAll)return h}else if("@type"===u){if(l=!1,p){if(d.length>0)return!1;h=!0}else if(1===n["@type"].length&&s.isEmptyObject(n["@type"][0]))h=d.length>0;else for(const t of n["@type"])h=!(!s.isObject(t)||!("@default"in t))||h||d.some(e=>e===t);if(!a.requireAll)return h}else{if(i(u))continue;{const e=o.getValues(n,u)[0];let i=!1;if(e&&(g([e]),i="@default"in e),l=!1,0===d.length&&i)continue;if(d.length>0&&p)return!1;if(void 0===e){if(d.length>0)return!1;h=!0}else if(r.isList(e)){const n=e["@list"][0];if(r.isList(d[0])){const e=d[0]["@list"];r.isValue(n)?h=e.some(t=>w(n,t)):(r.isSubject(n)||r.isSubjectReference(n))&&(h=e.some(e=>_(t,n,e,a)))}}else h=r.isValue(e)?d.some(t=>w(e,t)):r.isSubjectReference(e)?d.some(n=>_(t,e,n,a)):!!s.isObject(e)&&d.length>0}}if(!h&&a.requireAll)return!1;c=c||h}return l||c}function b(t,e){const n=t.uniqueEmbeds[t.graph],i=n[e],r=i.parent,a=i.property,l={"@id":e};if(s.isArray(r)){for(let t=0;t{const e=Object.keys(n);for(const i of e)i in n&&s.isObject(n[i].parent)&&n[i].parent["@id"]===t&&(delete n[i],c(i))};c(e)}function y(t,e){if(s.isArray(t))return t.map(t=>y(t,e));if(s.isObject(t)){if("@preserve"in t)return t["@preserve"][0];if(r.isValue(t))return t;if(r.isList(t))return t["@list"]=y(t["@list"],e),t;if("@id"in t){const n=t["@id"];if(e.link.hasOwnProperty(n)){const i=e.link[n].indexOf(t);if(-1!==i)return e.link[n][i];e.link[n].push(t)}else e.link[n]=[t]}for(const n in t)"@id"===n&&e.bnodesToClear.includes(t[n])?delete t["@id"]:t[n]=y(t[n],e)}return t}function v(t,e,n){s.isObject(t)?o.addValue(t,e,n,{propertyIsArray:!0}):t.push(n)}function _(t,e,n,i){if(!("@id"in n))return!1;const r=t.subjects[n["@id"]];return r&&m(t,r,e,i)}function w(t,e){const n=e["@value"],i=e["@type"],r=e["@language"],o=t["@value"]?s.isArray(t["@value"])?t["@value"]:[t["@value"]]:[],a=t["@type"]?s.isArray(t["@type"])?t["@type"]:[t["@type"]]:[],l=t["@language"]?s.isArray(t["@language"])?t["@language"]:[t["@language"]]:[];return 0===o.length&&0===a.length&&0===l.length||!(!o.includes(n)&&!s.isEmptyObject(o[0])||!(!i&&0===a.length||a.includes(i)||i&&s.isEmptyObject(a[0]))||!(!r&&0===l.length||l.includes(r)||r&&s.isEmptyObject(l[0])))}e.exports=h,h.frameMergedOrDefault=(t,e,n)=>{const i={options:n,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},r=new o.IdentifierIssuer("_:b");c(t,i.graphMap,"@default",r),n.merged&&(i.graphMap["@merged"]=u(i.graphMap),i.graph="@merged"),i.subjects=i.graphMap[i.graph];const s=[];return h.frame(i,Object.keys(i.subjects).sort(),e,s),n.pruneBlankNodeIdentifiers&&(n.bnodesToClear=Object.keys(i.bnodeMap).filter(t=>1===i.bnodeMap[t].length)),n.link={},y(s,n)},h.frame=(t,e,n,a,c=null)=>{g(n);const u=t.options,y={embed:f(n=n[0],u,"embed"),explicit:f(n,u,"explicit"),requireAll:f(n,u,"requireAll")};t.link.hasOwnProperty(t.graph)||(t.link[t.graph]={});const _=t.link[t.graph],x=function(t,e,n,i){const r={};for(const s of e){const e=t.graphMap[t.graph][s];m(t,e,n,i)&&(r[s]=e)}return r}(t,e,n,y),S=Object.keys(x).sort();for(const g of S){const m=x[g];if(null===c?t.uniqueEmbeds={[t.graph]:{}}:t.uniqueEmbeds[t.graph]=t.uniqueEmbeds[t.graph]||{},"@link"===y.embed&&g in _){v(a,c,_[g]);continue}const S={"@id":g};if(0===g.indexOf("_:")&&o.addValue(t.bnodeMap,g,S,{propertyIsArray:!0}),_[g]=S,("@first"===y.embed||"@last"===y.embed)&&t.is11)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:n});if(t.embedded||!t.uniqueEmbeds[t.graph].hasOwnProperty(g)){if(t.embedded&&("@never"===y.embed||p(m,t.graph,t.subjectStack))){v(a,c,S);continue}if(t.embedded&&("@first"==y.embed||"@once"==y.embed)&&t.uniqueEmbeds[t.graph].hasOwnProperty(g)){v(a,c,S);continue}if("@last"===y.embed&&g in t.uniqueEmbeds[t.graph]&&b(t,g),t.uniqueEmbeds[t.graph][g]={parent:a,property:c},t.subjectStack.push({subject:m,graph:t.graph}),g in t.graphMap){let e=!1,i=null;"@graph"in n?(i=n["@graph"][0],e=!("@merged"===g||"@default"===g),s.isObject(i)||(i={})):(e="@merged"!==t.graph,i={}),e&&h.frame(zn(yt({},t),{graph:g,embedded:!1}),Object.keys(t.graphMap[g]).sort(),[i],S,"@graph")}"@included"in n&&h.frame(zn(yt({},t),{embedded:!1}),e,n["@included"],S,"@included");for(const e of Object.keys(m).sort())if(i(e)){if(S[e]=o.clone(m[e]),"@type"===e)for(const e of m["@type"])0===e.indexOf("_:")&&o.addValue(t.bnodeMap,e,S,{propertyIsArray:!0})}else if(!y.explicit||e in n)for(const i of m[e]){const s=e in n?n[e]:d(y);if(r.isList(i)){const s=n[e]&&n[e][0]&&n[e][0]["@list"]?n[e][0]["@list"]:d(y),a={"@list":[]};v(S,e,a);const l=i["@list"];for(const e of l)r.isSubjectReference(e)?h.frame(zn(yt({},t),{embedded:!0}),[e["@id"]],s,a,"@list"):v(a,"@list",o.clone(e))}else r.isSubjectReference(i)?h.frame(zn(yt({},t),{embedded:!0}),[i["@id"]],s,S,e):w(s[0],i)&&v(S,e,o.clone(i))}for(const t of Object.keys(n).sort()){if("@type"===t){if(!s.isObject(n[t][0])||!("@default"in n[t][0]))continue}else if(i(t))continue;const e=n[t][0]||{};if(!f(e,u,"omitDefault")&&!(t in S)){let n="@null";"@default"in e&&(n=o.clone(e["@default"])),s.isArray(n)||(n=[n]),S[t]=[{"@preserve":n}]}}for(const e of Object.keys(n["@reverse"]||{}).sort()){const i=n["@reverse"][e];for(const n of Object.keys(t.subjects))o.getValues(t.subjects[n],e).some(t=>t["@id"]===g)&&(S["@reverse"]=S["@reverse"]||{},o.addValue(S["@reverse"],e,[],{propertyIsArray:!0}),h.frame(zn(yt({},t),{embedded:!0}),[n],i,S["@reverse"][e],c))}v(a,c,S),t.subjectStack.pop()}}},h.cleanupNull=(t,e)=>{if(s.isArray(t))return t.map(t=>h.cleanupNull(t,e)).filter(t=>t);if("@null"===t)return null;if(s.isObject(t)){if("@id"in t){const n=t["@id"];if(e.link.hasOwnProperty(n)){const i=e.link[n].indexOf(t);if(-1!==i)return e.link[n][i];e.link[n].push(t)}else e.link[n]=[t]}for(const n in t)t[n]=h.cleanupNull(t[n],e)}return t}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32}],24:[function(t,e,n){"use strict";const r=t("./JsonLdError"),s=t("./graphTypes"),o=t("./types"),a=t("./util"),{RDF_LIST:l,RDF_FIRST:c,RDF_REST:u,RDF_NIL:h,RDF_TYPE:d,RDF_JSON_LITERAL:p,XSD_BOOLEAN:f,XSD_DOUBLE:g,XSD_INTEGER:m,XSD_STRING:b}=t("./constants"),y=/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/,v={};function _(t,e,n){if(t.termType.endsWith("Node"))return{"@id":t.value};const i={"@value":t.value};if(t.language)i["@language"]=t.language;else{let a=t.datatype.value;if(a||(a=b),a===p){a="@json";try{i["@value"]=JSON.parse(i["@value"])}catch(s){throw new r("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:i["@value"],cause:s})}}if(e){if(a===f)"true"===i["@value"]?i["@value"]=!0:"false"===i["@value"]&&(i["@value"]=!1);else if(o.isNumeric(i["@value"]))if(a===m){const t=parseInt(i["@value"],10);t.toFixed(0)===i["@value"]&&(i["@value"]=t)}else a===g&&(i["@value"]=parseFloat(i["@value"]));[f,m,g,b].includes(a)||(i["@type"]=a)}else if("i18n-datatype"===n&&a.startsWith("https://www.w3.org/ns/i18n#")){const[,t,e]=a.split(/[#_]/);t.length>0&&(i["@language"]=t,t.match(y)||console.warn(`@language must be valid BCP47: ${t}`)),i["@direction"]=e}else a!==b&&(i["@type"]=a)}return i}e.exports=v,v.fromRDF=function(){var t=i(function*(t,{useRdfType:e=!1,useNativeTypes:n=!1,rdfDirection:i=null}){const r={},p={"@default":r},f={};for(const s of t){const t="DefaultGraph"===s.graph.termType?"@default":s.graph.value;t in p||(p[t]={}),"@default"!==t&&!(t in r)&&(r[t]={"@id":t});const o=p[t],l=s.subject.value,c=s.predicate.value,u=s.object;l in o||(o[l]={"@id":l});const g=o[l],m=u.termType.endsWith("Node");if(m&&!(u.value in o)&&(o[u.value]={"@id":u.value}),c===d&&!e&&m){a.addValue(g,"@type",u.value,{propertyIsArray:!0});continue}const b=_(u,n,i);if(a.addValue(g,c,b,{propertyIsArray:!0}),m)if(u.value===h){const t=o[u.value];"usages"in t||(t.usages=[]),t.usages.push({node:g,property:c,value:b})}else f[u.value]=!(u.value in f)&&{node:g,property:c,value:b}}for(const a in p){const t=p[a];if(!(h in t))continue;const e=t[h];if(e.usages){for(let n of e.usages){let e=n.node,i=n.property,r=n.value;const a=[],h=[];let d=Object.keys(e).length;for(;i===u&&o.isObject(f[e["@id"]])&&o.isArray(e[c])&&1===e[c].length&&o.isArray(e[u])&&1===e[u].length&&(3===d||4===d&&o.isArray(e["@type"])&&1===e["@type"].length&&e["@type"][0]===l)&&(a.push(e[c][0]),h.push(e["@id"]),n=f[e["@id"]],e=n.node,i=n.property,r=n.value,d=Object.keys(e).length,s.isBlankNode(e)););delete r["@id"],r["@list"]=a.reverse();for(const n of h)delete t[n]}delete e.usages}}const g=[],m=Object.keys(r).sort();for(const o of m){const t=r[o];if(o in p){const e=t["@graph"]=[],n=p[o],i=Object.keys(n).sort();for(const t of i){const i=n[t];s.isSubjectReference(i)||e.push(i)}}s.isSubjectReference(t)||g.push(t)}return g});return function(e,n){return t.apply(this,arguments)}}()},{"./JsonLdError":12,"./constants":18,"./graphTypes":25,"./types":30,"./util":32}],25:[function(t,e,n){"use strict";const i=t("./types"),r={};e.exports=r,r.isSubject=t=>!(!i.isObject(t)||"@value"in t||"@set"in t||"@list"in t)&&(Object.keys(t).length>1||!("@id"in t)),r.isSubjectReference=t=>i.isObject(t)&&1===Object.keys(t).length&&"@id"in t,r.isValue=t=>i.isObject(t)&&"@value"in t,r.isList=t=>i.isObject(t)&&"@list"in t,r.isGraph=t=>i.isObject(t)&&"@graph"in t&&1===Object.keys(t).filter(t=>"@id"!==t&&"@index"!==t).length,r.isSimpleGraph=t=>r.isGraph(t)&&!("@id"in t),r.isBlankNode=t=>!!i.isObject(t)&&("@id"in t?0===t["@id"].indexOf("_:"):0===Object.keys(t).length||!("@value"in t||"@set"in t||"@list"in t))},{"./types":30}],26:[function(t,e,n){const r=t("rdf-canonize"),s=t("./platform"),o=t("./util"),a=t("./ContextResolver"),l=o.IdentifierIssuer,c=t("./JsonLdError"),u=t("lru-cache"),h=t("./NQuads"),{expand:d}=t("./expand"),{flatten:p}=t("./flatten"),{fromRDF:f}=t("./fromRdf"),{toRDF:g}=t("./toRdf"),{frameMergedOrDefault:m,cleanupNull:b}=t("./frame"),{isArray:y,isObject:v,isString:_}=t("./types"),{isSubjectReference:w}=t("./graphTypes"),{expandIri:x,getInitialContext:S,process:C,processingMode:E}=t("./context"),{compact:O,compactIri:T}=t("./compact"),{createNodeMap:k,createMergedNodeMap:P,mergeNodeMaps:A}=t("./nodeMap"),M=function(e){const n={},M=new u({max:100});function I(t,n){var i=n,{documentLoader:r=e.documentLoader}=i,s=CZ(i,["documentLoader"]);return Object.assign({},{documentLoader:r},s,t)}return e.compact=function(){var t=i(function*(t,n,i){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===n)throw new c("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===t)return null;let r;(i=I(i,{base:_(t)?t:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new l("_:b"),contextResolver:new a({sharedCache:M})})).link&&(i.skipExpansion=!0),i.compactToRelative||delete i.base,r=i.skipExpansion?t:yield e.expand(t,i);const s=yield e.processContext(S(i),n,i);let u=yield O({activeCtx:s,element:r,options:i,compactionMap:i.compactionMap});i.compactArrays&&!i.graph&&y(u)?1===u.length?u=u[0]:0===u.length&&(u={}):i.graph&&v(u)&&(u=[u]),v(n)&&"@context"in n&&(n=n["@context"]),n=o.clone(n),y(n)||(n=[n]);const h=n;n=[];for(let e=0;e0)&&n.push(h[e]);const d=n.length>0;if(1===n.length&&(n=n[0]),y(u)){const t=T({activeCtx:s,iri:"@graph",relativeTo:{vocab:!0}}),e=u;u={},d&&(u["@context"]=n),u[t]=e}else if(v(u)&&d){const t=u;u={"@context":n};for(const e in t)u[e]=t[e]}return u});return function(e,n,i){return t.apply(this,arguments)}}(),e.expand=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");!1===(n=I(n,{keepFreeFloatingNodes:!1,contextResolver:new a({sharedCache:M})})).expansionMap&&(n.expansionMap=void 0);const i={},r=[];if("expandContext"in n){const t=o.clone(n.expandContext);i.expandContext=v(t)&&"@context"in t?t:{"@context":t},r.push(i.expandContext)}let s;if(_(t)){const o=yield e.get(t,n);s=o.documentUrl,i.input=o.document,o.contextUrl&&(i.remoteContext={"@context":o.contextUrl},r.push(i.remoteContext))}else i.input=o.clone(t);"base"in n||(n.base=s||"");let l=S(n);for(const e of r)l=yield C({activeCtx:l,localCtx:e,options:n});let c=yield d({activeCtx:l,element:i.input,options:n,expansionMap:n.expansionMap});return v(c)&&"@graph"in c&&1===Object.keys(c).length?c=c["@graph"]:null===c&&(c=[]),y(c)||(c=[c]),c});return function(e,n){return t.apply(this,arguments)}}(),e.flatten=function(){var t=i(function*(t,n,i){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");n="function"==typeof n?null:n||null,i=I(i,{base:_(t)?t:"",contextResolver:new a({sharedCache:M})});const r=yield e.expand(t,i),s=p(r);return null===n?s:(i.graph=!0,i.skipExpansion=!0,yield e.compact(s,n,i))});return function(e,n,i){return t.apply(this,arguments)}}(),e.frame=function(){var t=i(function*(t,n,i){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(i=I(i,{base:_(t)?t:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new a({sharedCache:M})}),_(n)){const t=yield e.get(n,i);if(n=t.document,t.contextUrl){let e=n["@context"];e?y(e)?e.push(t.contextUrl):e=[e,t.contextUrl]:e=t.contextUrl,n["@context"]=e}}const r=n&&n["@context"]||{},s=yield e.processContext(S(i),r,i);i.hasOwnProperty("omitGraph")||(i.omitGraph=E(s,1.1)),i.hasOwnProperty("pruneBlankNodeIdentifiers")||(i.pruneBlankNodeIdentifiers=E(s,1.1));const o=yield e.expand(t,i),l=yt({},i);l.isFrame=!0,l.keepFreeFloatingNodes=!0;const c=yield e.expand(n,l),u=Object.keys(n).map(t=>x(s,t,{vocab:!0}));l.merged=!u.includes("@graph"),l.is11=E(s,1.1);const h=m(o,c,l);l.graph=!i.omitGraph,l.skipExpansion=!0,l.link={},l.framing=!0;let d=yield e.compact(h,r,l);return l.link={},d=b(d,l),d});return function(e,n,i){return t.apply(this,arguments)}}(),e.link=function(){var t=i(function*(t,n,i){const r={};return n&&(r["@context"]=n),r["@embed"]="@link",e.frame(t,r,i)});return function(e,n,i){return t.apply(this,arguments)}}(),e.normalize=e.canonize=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(n=I(n,{base:_(t)?t:"",algorithm:"URDNA2015",skipExpansion:!1,contextResolver:new a({sharedCache:M})}))){if("application/n-quads"!==n.inputFormat&&"application/nquads"!==n.inputFormat)throw new c("Unknown canonicalization input format.","jsonld.CanonizeError");const e=h.parse(t);return r.canonize(e,n)}const i=yt({},n);delete i.format,i.produceGeneralizedRdf=!1;const s=yield e.toRDF(t,i);return r.canonize(s,n)});return function(e,n){return t.apply(this,arguments)}}(),e.fromRDF=function(){var t=i(function*(t,e){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");e=I(e,{format:_(t)?"application/n-quads":void 0});const{format:i}=e;let{rdfParser:r}=e;if(i){if(r=r||n[i],!r)throw new c("Unknown input format.","jsonld.UnknownFormat",{format:i})}else r=()=>t;const s=yield r(t);return f(s,e)});return function(e,n){return t.apply(this,arguments)}}(),e.toRDF=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let i;i=(n=I(n,{base:_(t)?t:"",skipExpansion:!1,contextResolver:new a({sharedCache:M})})).skipExpansion?t:yield e.expand(t,n);const r=g(i,n);if(n.format){if("application/n-quads"===n.format||"application/nquads"===n.format)return h.serialize(r);throw new c("Unknown output format.","jsonld.UnknownFormat",{format:n.format})}return r});return function(e,n){return t.apply(this,arguments)}}(),e.createNodeMap=function(){var t=i(function*(t,n){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");n=I(n,{base:_(t)?t:"",contextResolver:new a({sharedCache:M})});const i=yield e.expand(t,n);return P(i,n)});return function(e,n){return t.apply(this,arguments)}}(),e.merge=function(){var t=i(function*(t,n,i){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!y(t))throw new TypeError('Could not merge, "docs" must be an array.');n="function"==typeof n?null:n||null,i=I(i,{contextResolver:new a({sharedCache:M})});const r=yield Promise.all(t.map(t=>{const n=yt({},i);return e.expand(t,n)}));let s=!0;"mergeNodes"in i&&(s=i.mergeNodes);const c=i.issuer||new l("_:b"),u={"@default":{}};for(let e=0;ee._documentLoader,set:t=>e._documentLoader=t}),e.documentLoader=function(){var t=i(function*(t){throw new c("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:t})});return function(e){return t.apply(this,arguments)}}(),e.get=function(){var t=i(function*(t,n){let i;i="function"==typeof n.documentLoader?n.documentLoader:e.documentLoader;const r=yield i(t);try{if(!r.document)throw new c("No remote document found at the given URL.","jsonld.NullRemoteDocument");_(r.document)&&(r.document=JSON.parse(r.document))}catch(s){throw new c("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:s,remoteDoc:r})}return r});return function(e,n){return t.apply(this,arguments)}}(),e.processContext=function(){var t=i(function*(t,e,n){return n=I(n,{base:"",contextResolver:new a({sharedCache:M})}),null===e?S(n):(e=o.clone(e),v(e)&&"@context"in e||(e={"@context":e}),C({activeCtx:t,localCtx:e,options:n}))});return function(e,n,i){return t.apply(this,arguments)}}(),e.getContextValue=t("./context").getContextValue,e.documentLoaders={},e.useDocumentLoader=function(t){if(!(t in e.documentLoaders))throw new c('Unknown document loader type: "'+t+'"',"jsonld.UnknownDocumentLoader",{type:t});e.documentLoader=e.documentLoaders[t].apply(e,Array.prototype.slice.call(arguments,1))},e.registerRDFParser=function(t,e){n[t]=e},e.unregisterRDFParser=function(t){delete n[t]},e.registerRDFParser("application/n-quads",h.parse),e.registerRDFParser("application/nquads",h.parse),e.url=t("./url"),e.util=o,Object.assign(e,o),e.promises=e,e.RequestQueue=t("./RequestQueue"),e.JsonLdProcessor=t("./JsonLdProcessor")(e),s.setupGlobals(e),s.setupDocumentLoaders(e),e},I=function(){return M(function(){return I()})};M(I),e.exports=I},{"./ContextResolver":11,"./JsonLdError":12,"./JsonLdProcessor":13,"./NQuads":14,"./RequestQueue":15,"./compact":17,"./context":19,"./expand":21,"./flatten":22,"./frame":23,"./fromRdf":24,"./graphTypes":25,"./nodeMap":27,"./platform":28,"./toRdf":29,"./types":30,"./url":31,"./util":32,"lru-cache":33,"rdf-canonize":46}],27:[function(t,e,n){"use strict";const{isKeyword:i}=t("./context"),r=t("./graphTypes"),s=t("./types"),o=t("./util"),a=t("./JsonLdError"),l={};e.exports=l,l.createMergedNodeMap=(t,e)=>{const n=(e=e||{}).issuer||new o.IdentifierIssuer("_:b"),i={"@default":{}};return l.createNodeMap(t,i,"@default",n),l.mergeNodeMaps(i)},l.createNodeMap=(t,e,n,c,u,h)=>{if(s.isArray(t)){for(const i of t)l.createNodeMap(i,e,n,c,void 0,h);return}if(!s.isObject(t))return void(h&&h.push(t));if(r.isValue(t)){if("@type"in t){let e=t["@type"];0===e.indexOf("_:")&&(t["@type"]=e=c.getId(e))}return void(h&&h.push(t))}if(h&&r.isList(t)){const i=[];return l.createNodeMap(t["@list"],e,n,c,u,i),void h.push({"@list":i})}if("@type"in t){const e=t["@type"];for(const t of e)0===t.indexOf("_:")&&c.getId(t)}s.isUndefined(u)&&(u=r.isBlankNode(t)?c.getId(t["@id"]):t["@id"]),h&&h.push({"@id":u});const d=e[n],p=d[u]=d[u]||{};p["@id"]=u;const f=Object.keys(t).sort();for(let s of f){if("@id"===s)continue;if("@reverse"===s){const i={"@id":u},s=t["@reverse"];for(const t in s){const a=s[t];for(const s of a){let a=s["@id"];r.isBlankNode(s)&&(a=c.getId(a)),l.createNodeMap(s,e,n,c,a),o.addValue(d[a],t,i,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===s){u in e||(e[u]={}),l.createNodeMap(t[s],e,u,c);continue}if("@included"===s){l.createNodeMap(t[s],e,n,c);continue}if("@type"!==s&&i(s)){if("@index"===s&&s in p&&(t[s]!==p[s]||t[s]["@id"]!==p[s]["@id"]))throw new a("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:p});p[s]=t[s];continue}const h=t[s];if(0===s.indexOf("_:")&&(s=c.getId(s)),0!==h.length)for(let t of h)if("@type"===s&&(t=0===t.indexOf("_:")?c.getId(t):t),r.isSubject(t)||r.isSubjectReference(t)){if("@id"in t&&!t["@id"])continue;const i=r.isBlankNode(t)?c.getId(t["@id"]):t["@id"];o.addValue(p,s,{"@id":i},{propertyIsArray:!0,allowDuplicate:!1}),l.createNodeMap(t,e,n,c,i)}else if(r.isValue(t))o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1});else if(r.isList(t)){const i=[];l.createNodeMap(t["@list"],e,n,c,u,i),t={"@list":i},o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1})}else l.createNodeMap(t,e,n,c,u),o.addValue(p,s,t,{propertyIsArray:!0,allowDuplicate:!1});else o.addValue(p,s,[],{propertyIsArray:!0})}},l.mergeNodeMapGraphs=t=>{const e={};for(const n of Object.keys(t).sort())for(const r of Object.keys(t[n]).sort()){const s=t[n][r];r in e||(e[r]={"@id":r});const a=e[r];for(const t of Object.keys(s).sort())if(i(t)&&"@type"!==t)a[t]=o.clone(s[t]);else for(const e of s[t])o.addValue(a,t,o.clone(e),{propertyIsArray:!0,allowDuplicate:!1})}return e},l.mergeNodeMaps=t=>{const e=t["@default"],n=Object.keys(t).sort();for(const i of n){if("@default"===i)continue;const n=t[i];let s=e[i];s?"@graph"in s||(s["@graph"]=[]):e[i]=s={"@id":i,"@graph":[]};const o=s["@graph"];for(const t of Object.keys(n).sort()){const e=n[t];r.isSubjectReference(e)||o.push(e)}}return e}},{"./JsonLdError":12,"./context":19,"./graphTypes":25,"./types":30,"./util":32}],28:[function(t,e,n){"use strict";const i=t("./documentLoaders/xhr"),r={};e.exports=r,r.setupDocumentLoaders=function(t){"undefined"!=typeof XMLHttpRequest&&(t.documentLoaders.xhr=i,t.useDocumentLoader("xhr"))},r.setupGlobals=function(t){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:t.JsonLdProcessor})}},{"./documentLoaders/xhr":20}],29:[function(t,e,n){"use strict";const{createNodeMap:i}=t("./nodeMap"),{isKeyword:r}=t("./context"),s=t("./graphTypes"),o=t("canonicalize"),a=t("./types"),l=t("./util"),{RDF_FIRST:c,RDF_REST:u,RDF_NIL:h,RDF_TYPE:d,RDF_JSON_LITERAL:p,RDF_LANGSTRING:f,XSD_BOOLEAN:g,XSD_DOUBLE:m,XSD_INTEGER:b,XSD_STRING:y}=t("./constants"),{isAbsolute:v}=t("./url"),_={};function w(t,e,n,i,s){const o=Object.keys(e).sort();for(const a of o){const o=e[a],l=Object.keys(o).sort();for(let e of l){const l=o[e];if("@type"===e)e=d;else if(r(e))continue;for(const r of l){const o={termType:a.startsWith("_:")?"BlankNode":"NamedNode",value:a};if(!v(a))continue;const l={termType:e.startsWith("_:")?"BlankNode":"NamedNode",value:e};if(!v(e)||"BlankNode"===l.termType&&!s.produceGeneralizedRdf)continue;const c=x(r,i,t,n,s.rdfDirection);c&&t.push({subject:o,predicate:l,object:c,graph:n})}}}}function x(t,e,n,i,r){const l={};if(s.isValue(t)){l.termType="Literal",l.value=void 0,l.datatype={termType:"NamedNode"};let e=t["@value"];const n=t["@type"]||null;"@json"===n?(l.value=o(e),l.datatype.value=p):a.isBoolean(e)?(l.value=e.toString(),l.datatype.value=n||g):a.isDouble(e)||n===m?(a.isDouble(e)||(e=parseFloat(e)),l.value=e.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),l.datatype.value=n||m):a.isNumber(e)?(l.value=e.toFixed(0),l.datatype.value=n||b):"i18n-datatype"===r&&"@direction"in t?(l.datatype.value="https://www.w3.org/ns/i18n#"+(t["@language"]||"")+`_${t["@direction"]}`,l.value=e):"@language"in t?(l.value=e,l.datatype.value=n||f,l.language=t["@language"]):(l.value=e,l.datatype.value=n||y)}else if(s.isList(t)){const s=function(t,e,n,i,r){const s={termType:"NamedNode",value:c},o={termType:"NamedNode",value:u},a={termType:"NamedNode",value:h},l=t.pop(),d=l?{termType:"BlankNode",value:e.getId()}:a;let p=d;for(const c of t){const t=x(c,e,n,i,r),a={termType:"BlankNode",value:e.getId()};n.push({subject:p,predicate:s,object:t,graph:i}),n.push({subject:p,predicate:o,object:a,graph:i}),p=a}if(l){const t=x(l,e,n,i,r);n.push({subject:p,predicate:s,object:t,graph:i}),n.push({subject:p,predicate:o,object:a,graph:i})}return d}(t["@list"],e,n,i,r);l.termType=s.termType,l.value=s.value}else{const e=a.isObject(t)?t["@id"]:t;l.termType=e.startsWith("_:")?"BlankNode":"NamedNode",l.value=e}return"NamedNode"!==l.termType||v(l.value)?l:null}e.exports=_,_.toRDF=(t,e)=>{const n=new l.IdentifierIssuer("_:b"),r={"@default":{}};i(t,r,"@default",n);const s=[],o=Object.keys(r).sort();for(const i of o){let t;if("@default"===i)t={termType:"DefaultGraph",value:""};else{if(!v(i))continue;t=i.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},t.value=i}w(s,r[i],t,n,e)}return s}},{"./constants":18,"./context":19,"./graphTypes":25,"./nodeMap":27,"./types":30,"./url":31,"./util":32,canonicalize:7}],30:[function(t,e,n){"use strict";const i={};e.exports=i,i.isArray=Array.isArray,i.isBoolean=t=>"boolean"==typeof t||"[object Boolean]"===Object.prototype.toString.call(t),i.isDouble=t=>i.isNumber(t)&&(-1!==String(t).indexOf(".")||Math.abs(t)>=1e21),i.isEmptyObject=t=>i.isObject(t)&&0===Object.keys(t).length,i.isNumber=t=>"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t),i.isNumeric=t=>!isNaN(parseFloat(t))&&isFinite(t),i.isObject=t=>"[object Object]"===Object.prototype.toString.call(t),i.isString=t=>"string"==typeof t||"[object String]"===Object.prototype.toString.call(t),i.isUndefined=t=>void 0===t},{}],31:[function(t,e,n){"use strict";const i=t("./types"),r={};e.exports=r,r.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},r.parse=(t,e)=>{const n={},i=r.parsers[e||"full"],s=i.regex.exec(t);let o=i.keys.length;for(;o--;)n[i.keys[o]]=void 0===s[o]?null:s[o];return("https"===n.scheme&&"443"===n.port||"http"===n.scheme&&"80"===n.port)&&(n.href=n.href.replace(":"+n.port,""),n.authority=n.authority.replace(":"+n.port,""),n.port=null),n.normalizedPath=r.removeDotSegments(n.path),n},r.prependBase=(t,e)=>{if(null===t||r.isAbsolute(e))return e;(!t||i.isString(t))&&(t=r.parse(t||""));const n=r.parse(e),s={protocol:t.protocol||""};if(null!==n.authority)s.authority=n.authority,s.path=n.path,s.query=n.query;else if(s.authority=t.authority,""===n.path)s.path=t.path,s.query=null!==n.query?n.query:t.query;else{if(0===n.path.indexOf("/"))s.path=n.path;else{let e=t.path;e=e.substr(0,e.lastIndexOf("/")+1),(e.length>0||t.authority)&&"/"!==e.substr(-1)&&(e+="/"),e+=n.path,s.path=e}s.query=n.query}""!==n.path&&(s.path=r.removeDotSegments(s.path));let o=s.protocol;return null!==s.authority&&(o+="//"+s.authority),o+=s.path,null!==s.query&&(o+="?"+s.query),null!==n.fragment&&(o+="#"+n.fragment),""===o&&(o="./"),o},r.removeBase=(t,e)=>{if(null===t)return e;(!t||i.isString(t))&&(t=r.parse(t||""));let n="";if(""!==t.href?n+=(t.protocol||"")+"//"+(t.authority||""):e.indexOf("//")&&(n+="//"),0!==e.indexOf(n))return e;const s=r.parse(e.substr(n.length)),o=t.normalizedPath.split("/"),a=s.normalizedPath.split("/"),l=s.fragment||s.query?0:1;for(;o.length>0&&a.length>l&&o[0]===a[0];)o.shift(),a.shift();let c="";if(o.length>0){o.pop();for(let t=0;t{if(0===t.length)return"";const e=t.split("/"),n=[];for(;e.length>0;){const t=e.shift(),i=0===e.length;"."!==t?".."!==t?n.push(t):(n.pop(),i&&n.push("")):i&&n.push("")}return"/"===t[0]&&n.length>0&&""!==n[0]&&n.unshift(""),1===n.length&&""===n[0]?"/":n.join("/")};const s=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;r.isAbsolute=t=>i.isString(t)&&s.test(t),r.isRelative=t=>i.isString(t)},{"./types":30}],32:[function(t,e,n){"use strict";const i=t("./graphTypes"),r=t("./types"),s=t("rdf-canonize").IdentifierIssuer,o=t("./JsonLdError"),a=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,l=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,c=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,u={accept:"application/ld+json, application/json"},h={};function d(t,e){if(r.isArray(e))for(let n=0;n{if(Object.keys(t).some(t=>"accept"===t.toLowerCase()))throw new RangeError('Accept header may not be specified; only "'+u.accept+'" is supported.');return Object.assign({Accept:u.accept},t)},h.parseLinkHeader=t=>{const e={},n=t.match(a);for(let i=0;i{if(!(r.isString(t)||r.isArray(t)&&t.every(t=>r.isString(t)))){if(e&&r.isObject(t))switch(Object.keys(t).length){case 0:return;case 1:if("@default"in t&&h.asArray(t["@default"]).every(t=>r.isString(t)))return}throw new o('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:t})}},h.hasProperty=(t,e)=>{if(t.hasOwnProperty(e)){const n=t[e];return!r.isArray(n)||n.length>0}return!1},h.hasValue=(t,e,n)=>{if(h.hasProperty(t,e)){let s=t[e];const o=i.isList(s);if(r.isArray(s)||o){o&&(s=s["@list"]);for(let t=0;t{if("propertyIsArray"in(i=i||{})||(i.propertyIsArray=!1),"valueIsArray"in i||(i.valueIsArray=!1),"allowDuplicate"in i||(i.allowDuplicate=!0),"prependValue"in i||(i.prependValue=!1),i.valueIsArray)t[e]=n;else if(r.isArray(n)){0===n.length&&i.propertyIsArray&&!t.hasOwnProperty(e)&&(t[e]=[]),i.prependValue&&(n=n.concat(t[e]),t[e]=[]);for(let r=0;r[].concat(t[e]||[]),h.removeProperty=(t,e)=>{delete t[e]},h.removeValue=(t,e,n,i)=>{"propertyIsArray"in(i=i||{})||(i.propertyIsArray=!1);const r=h.getValues(t,e).filter(t=>!h.compareValues(t,n));0===r.length?h.removeProperty(t,e):t[e]=1!==r.length||i.propertyIsArray?r:r[0]},h.relabelBlankNodes=(t,e)=>d((e=e||{}).issuer||new s("_:b"),t),h.compareValues=(t,e)=>!!(t===e||i.isValue(t)&&i.isValue(e)&&t["@value"]===e["@value"]&&t["@type"]===e["@type"]&&t["@language"]===e["@language"]&&t["@index"]===e["@index"])||!!(r.isObject(t)&&"@id"in t&&r.isObject(e)&&"@id"in e)&&t["@id"]===e["@id"],h.compareShortestLeast=(t,e)=>t.length1;const g=(t,e,n)=>{const i=t[d].get(e);if(i){const e=i.value;if(m(t,e)){if(y(t,i),!t[a])return}else n&&(t[p]&&(i.value.now=Date.now()),t[h].unshiftNode(i));return e.value}},m=(t,e)=>{if(!e||!e.maxAge&&!t[l])return!1;const n=Date.now()-e.now;return e.maxAge?n>e.maxAge:t[l]&&n>t[l]},b=t=>{if(t[s]>t[r])for(let e=t[h].tail;t[s]>t[r]&&null!==e;){const n=e.prev;y(t,e),e=n}},y=(t,e)=>{if(e){const n=e.value;t[c]&&t[c](n.key,n.value),t[s]-=n.length,t[d].delete(n.key),t[h].removeNode(e)}};class v{constructor(t,e,n,i,r){this.key=t,this.value=e,this.length=n,this.now=i,this.maxAge=r||0}}const _=(t,e,n,i)=>{let r=n.value;m(t,r)&&(y(t,n),t[a]||(r=void 0)),r&&e.call(i,r.value,r.key,t)};e.exports=class{constructor(t){if("number"==typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!=typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[r]=t.max||1/0;const e=t.length||f;if(this[o]="function"!=typeof e?f:e,this[a]=t.stale||!1,t.maxAge&&"number"!=typeof t.maxAge)throw new TypeError("maxAge must be a number");this[l]=t.maxAge||0,this[c]=t.dispose,this[u]=t.noDisposeOnSet||!1,this[p]=t.updateAgeOnGet||!1,this.reset()}set max(t){if("number"!=typeof t||t<0)throw new TypeError("max must be a non-negative number");this[r]=t||1/0,b(this)}get max(){return this[r]}set allowStale(t){this[a]=!!t}get allowStale(){return this[a]}set maxAge(t){if("number"!=typeof t)throw new TypeError("maxAge must be a non-negative number");this[l]=t,b(this)}get maxAge(){return this[l]}set lengthCalculator(t){"function"!=typeof t&&(t=f),t!==this[o]&&(this[o]=t,this[s]=0,this[h].forEach(t=>{t.length=this[o](t.value,t.key),this[s]+=t.length})),b(this)}get lengthCalculator(){return this[o]}get length(){return this[s]}get itemCount(){return this[h].length}rforEach(t,e){e=e||this;for(let n=this[h].tail;null!==n;){const i=n.prev;_(this,t,n,e),n=i}}forEach(t,e){e=e||this;for(let n=this[h].head;null!==n;){const i=n.next;_(this,t,n,e),n=i}}keys(){return this[h].toArray().map(t=>t.key)}values(){return this[h].toArray().map(t=>t.value)}reset(){this[c]&&this[h]&&this[h].length&&this[h].forEach(t=>this[c](t.key,t.value)),this[d]=new Map,this[h]=new i,this[s]=0}dump(){return this[h].map(t=>!m(this,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[h]}set(t,e,n){if((n=n||this[l])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");const i=n?Date.now():0,a=this[o](e,t);if(this[d].has(t)){if(a>this[r])return y(this,this[d].get(t)),!1;const o=this[d].get(t).value;return this[c]&&(this[u]||this[c](t,o.value)),o.now=i,o.maxAge=n,o.value=e,this[s]+=a-o.length,o.length=a,this.get(t),b(this),!0}const p=new v(t,e,a,i,n);return p.length>this[r]?(this[c]&&this[c](t,e),!1):(this[s]+=p.length,this[h].unshift(p),this[d].set(t,this[h].head),b(this),!0)}has(t){if(!this[d].has(t))return!1;const e=this[d].get(t).value;return!m(this,e)}get(t){return g(this,t,!0)}peek(t){return g(this,t,!1)}pop(){const t=this[h].tail;return t?(y(this,t),t.value):null}del(t){y(this,this[d].get(t))}load(t){this.reset();const e=Date.now();for(let n=t.length-1;n>=0;n--){const i=t[n],r=i.e||0;if(0===r)this.set(i.k,i.v);else{const t=r-e;t>0&&this.set(i.k,i.v,t)}}}prune(){this[d].forEach((t,e)=>g(this,e,!1))}}},{yallist:92}],34:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;const i="http://www.w3.org/1999/02/22-rdf-syntax-ns#",r="http://www.w3.org/2001/XMLSchema#",s="http://www.w3.org/2000/10/swap/";n.default={xsd:{decimal:`${r}decimal`,boolean:`${r}boolean`,double:`${r}double`,integer:`${r}integer`,string:`${r}string`},rdf:{type:`${i}type`,nil:`${i}nil`,first:`${i}first`,rest:`${i}rest`,langString:`${i}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${s}reify#forSome`,forAll:`${s}reify#forAll`},log:{implies:`${s}log#implies`}}},{}],35:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=n.Variable=n.Triple=n.Term=n.Quad=n.NamedNode=n.Literal=n.DefaultGraph=n.BlankNode=void 0,n.escapeQuotes=_,n.termFromId=function t(e,n){if(n=n||d,!e)return n.defaultGraph();switch(e[0]){case"?":return n.variable(e.substr(1));case"_":return n.blankNode(e.substr(2));case'"':if(n===d)return new g(e);if('"'===e[e.length-1])return n.literal(e.substr(1,e.length-2));const i=e.lastIndexOf('"',e.length-1);return n.literal(e.substr(1,i-1),"@"===e[i+1]?e.substr(i+2):n.namedNode(e.substr(i+3)));case"<":const r=h.exec(e);return n.quad(t(w(r[1]),n),t(w(r[2]),n),t(w(r[3]),n),r[4]&&t(w(r[4]),n));default:return n.namedNode(e)}},n.termToId=function t(e){if("string"==typeof e)return e;if(e instanceof p&&"Quad"!==e.termType)return e.id;if(!e)return l.id;switch(e.termType){case"NamedNode":return e.value;case"BlankNode":return`_:${e.value}`;case"Variable":return`?${e.value}`;case"DefaultGraph":return"";case"Literal":return`"${e.value}"${e.language?`@${e.language}`:e.datatype&&e.datatype.value!==a.string?`^^${e.datatype.value}`:""}`;case"Quad":return`<<${_(t(e.subject))} ${_(t(e.predicate))} ${_(t(e.object))}${(0,s.isDefaultGraph)(e.graph)?"":` ${t(e.graph)}`}>>`;default:throw new Error(`Unexpected termType: ${e.termType}`)}},n.unescapeQuotes=w;var i,r=(i=t("./IRIs"))&&i.__esModule?i:{default:i},s=t("./N3Util");const{rdf:o,xsd:a}=r.default;let l,c=0;const u=/^"(.*".*)(?="[^"]*$)/,h=/^<<("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ("(?:""|[^"])*"[^ ]*|[^ ]+) ?("(?:""|[^"])*"[^ ]*|[^ ]+)?>>$/,d={namedNode:function(t){return new f(t)},blankNode:function(t){return new m(t||"n3-"+c++)},variable:function(t){return new b(t)},literal:function(t,e){if("string"==typeof e)return new g(`"${t}"@${e.toLowerCase()}`);let n=e?e.value:"";return""===n&&("boolean"==typeof t?n=a.boolean:"number"==typeof t&&(Number.isFinite(t)?n=Number.isInteger(t)?a.integer:a.double:(n=a.double,Number.isNaN(t)||(t=t>0?"INF":"-INF")))),new g(""===n||n===a.string?`"${t}"`:`"${t}"^^${n}`)},defaultGraph:function(){return l},quad:x,triple:x};n.default=d;class p{constructor(t){this.id=t}get value(){return this.id}equals(t){return t instanceof p?this.id===t.id:!!t&&this.termType===t.termType&&this.value===t.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}n.Term=p;class f extends p{get termType(){return"NamedNode"}}n.NamedNode=f;class g extends p{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const t=this.id;let e=t.lastIndexOf('"')+1;return e`"${e.replace(/"/g,'""')}`)}function w(t){return t.replace(u,(t,e)=>`"${e.replace(/""/g,'"')}`)}function x(t,e,n,i){return new v(t,e,n,i)}n.Triple=n.Quad=v},{"./IRIs":34,"./N3Util":41}],36:[function(t,e,n){(function(e){(function(){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=s(t("./IRIs")),r=s(t("queue-microtask"));function s(t){return t&&t.__esModule?t:{default:t}}const{xsd:o}=i.default,a=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,l={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},c=/[\x00-\x20<>\\"\{\}\|\^\`]/,u={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},h=/$0^/;n.default=class{constructor(t){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._lineMode=!!(t=t||{}).lineMode){this._n3Mode=!1;for(const t in this)!(t in u)&&this[t]instanceof RegExp&&(this[t]=h)}else this._n3Mode=!1!==t.n3;this._comments=!!t.comments,this._literalClosingPos=0}_tokenizeToEnd(t,e){let n=this._input,i=n.length;for(;;){let t,a;for(;t=this._newline.exec(n);)this._comments&&(a=this._comment.exec(t[0]))&&r("comment",a[1],"",this._line,t[0].length),n=n.substr(t[0].length,n.length),i=n.length,this._line++;if(!t&&(t=this._whitespace.exec(n))&&(n=n.substr(t[0].length,n.length)),this._endOfFile.test(n))return e&&(this._comments&&(a=this._comment.exec(n))&&r("comment",a[1],"",this._line,n.length),n=null,r("eof","","",this._line,0)),this._input=n;const l=this._line,u=n[0];let h="",d="",p="",f=null,g=0,m=!1;switch(u){case"^":if(n.length<3)break;if("^"!==n[1]){this._n3Mode&&(g=1,h="^");break}if(this._previousMarker="^^",n=n.substr(2),"<"!==n[0]){m=!0;break}case"<":if(f=this._unescapedIri.exec(n))h="IRI",d=f[1];else if(f=this._iri.exec(n)){if(d=this._unescape(f[1]),null===d||c.test(d))return s(this);h="IRI"}else n.length>1&&"<"===n[1]?(h="<<",g=2):this._n3Mode&&n.length>1&&"="===n[1]&&(h="inverse",g=2,d=">");break;case">":n.length>1&&">"===n[1]&&(h=">>",g=2);break;case"_":((f=this._blank.exec(n))||e&&(f=this._blank.exec(`${n} `)))&&(h="blank",p="_",d=f[1]);break;case'"':if(f=this._simpleQuotedString.exec(n))d=f[1];else if(({value:d,matchLength:g}=this._parseLiteral(n)),null===d)return s(this);(null!==f||0!==g)&&(h="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(f=this._simpleApostropheString.exec(n))d=f[1];else if(({value:d,matchLength:g}=this._parseLiteral(n)),null===d)return s(this);(null!==f||0!==g)&&(h="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(f=this._variable.exec(n))&&(h="var",d=f[0]);break;case"@":"literal"===this._previousMarker&&(f=this._langcode.exec(n))?(h="langcode",d=f[1]):(f=this._keyword.exec(n))&&(h=f[0]);break;case".":if(1===n.length?e:n[1]<"0"||n[1]>"9"){h=".",g=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(f=this._number.exec(n)||e&&(f=this._number.exec(`${n} `)))&&(h="literal",d=f[0],p="string"==typeof f[1]?o.double:"string"==typeof f[2]?o.decimal:o.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(f=this._sparqlKeyword.exec(n))?h=f[0].toUpperCase():m=!0;break;case"f":case"t":(f=this._boolean.exec(n))?(h="literal",d=f[0],p=o.boolean):m=!0;break;case"a":(f=this._shortPredicates.exec(n))?(h="abbreviation",d="a"):m=!0;break;case"=":this._n3Mode&&n.length>1&&(h="abbreviation",">"!==n[1]?(g=1,d="="):(g=2,d=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"{":case"}":this._lineMode||(g=1,h=u);break;default:m=!0}if(m&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(f=this._prefix.exec(n))?((f=this._prefixed.exec(n))||e&&(f=this._prefixed.exec(`${n} `)))&&(h="prefixed",p=f[1]||"",d=this._unescape(f[2])):(h="prefix",d=f[1]||"")),"^^"===this._previousMarker)switch(h){case"prefixed":h="type";break;case"IRI":h="typeIRI";break;default:h=""}if(!h)return e||!/^'''|^"""/.test(n)&&/\n|\r/.test(n)?s(this):this._input=n;const b=g||f[0].length,y=r(h,d,p,l,b);this.previousToken=y,this._previousMarker=h,n=n.substr(b,n.length)}function r(e,r,s,o,a){const l=n?i-n.length:i,c={type:e,value:r,prefix:s,line:o,start:l,end:l+a};return t(null,c),c}function s(e){t(e._syntaxError(/^\S*/.exec(n)[0]))}}_unescape(t){let e=!1;const n=t.replace(a,(t,n,i,r)=>{if("string"==typeof n)return String.fromCharCode(Number.parseInt(n,16));if("string"==typeof i){let t=Number.parseInt(i,16);return t<=65535?String.fromCharCode(Number.parseInt(i,16)):String.fromCharCode(55296+((t-=65536)>>10),56320+(1023&t))}return r in l?l[r]:(e=!0,"")});return e?null:n}_parseLiteral(t){if(t.length>=3){const e=t.match(/^(?:"""|"|'''|'|)/)[0],n=e.length;let i=Math.max(this._literalClosingPos,n);for(;(i=t.indexOf(e,i))>0;){let e=0;for(;"\\"===t[i-e-1];)e++;if(e%2==0){const e=t.substring(n,i),r=e.split(/\r\n|\r|\n/).length-1,s=i+n;if(1===n&&0!==r||3===n&&this._lineMode)break;return this._line+=r,{value:this._unescape(e),matchLength:s}}i++}this._literalClosingPos=t.length-n+1}return{value:"",matchLength:0}}_syntaxError(t){this._input=null;const e=new Error(`Unexpected "${t}" on line ${this._line}.`);return e.context={token:void 0,line:this._line,previousToken:this.previousToken},e}_readStartingBom(t){return t.startsWith("\ufeff")?t.substr(1):t}tokenize(t,n){if(this._line=1,"string"==typeof t){if(this._input=this._readStartingBom(t),"function"!=typeof n){const t=[];let e;if(this._tokenizeToEnd((n,i)=>n?e=n:t.push(i),!0),e)throw e;return t}(0,r.default)(()=>this._tokenizeToEnd(n,!0))}else this._pendingBuffer=null,"function"==typeof t.setEncoding&&t.setEncoding("utf8"),t.on("data",t=>{null!==this._input&&0!==t.length&&(this._pendingBuffer&&(t=e.concat([this._pendingBuffer,t]),this._pendingBuffer=null),128&t[t.length-1]?this._pendingBuffer=t:(void 0===this._input?this._input=this._readStartingBom("string"==typeof t?t:t.toString()):this._input+=t,this._tokenizeToEnd(n,!1)))}),t.on("end",()=>{"string"==typeof this._input&&this._tokenizeToEnd(n,!0)}),t.on("error",n)}}}).call(this)}).call(this,t("buffer").Buffer)},{"./IRIs":34,buffer:6,"queue-microtask":45}],37:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=o(t("./N3Lexer")),r=o(t("./N3DataFactory")),s=o(t("./IRIs"));function o(t){return t&&t.__esModule?t:{default:t}}let a=0;class l{constructor(t){this._contextStack=[],this._graph=null,this._setBase((t=t||{}).baseIRI),t.factory&&u(this,t.factory);const e="string"==typeof t.format?t.format.match(/\w*$/)[0].toLowerCase():"",n=/turtle/.test(e),r=/trig/.test(e),s=/triple/.test(e),o=/quad/.test(e),a=this._n3Mode=/n3/.test(e),l=s||o;(this._supportsNamedGraphs=!(n||a))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(n||r||s||a),this._supportsRDFStar=""===e||/star|\*$/.test(e),l&&(this._resolveRelativeIRI=t=>null),this._blankNodePrefix="string"!=typeof t.blankNodePrefix?"":t.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=t.lexer||new i.default({lineMode:l,n3:a}),this._explicitQuantifiers=!!t.explicitQuantifiers}static _resetBlankNodePrefix(){a=0}_setBase(t){if(t){const e=t.indexOf("#");e>=0&&(t=t.substr(0,e)),this._base=t,this._basePath=t.indexOf("/")<0?t:t.replace(/[^\/?]*(?:\?.*)?$/,""),t=t.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=t[0],this._baseScheme=t[1]}else this._base="",this._basePath=""}_saveContext(t,e,n,i,r){const s=this._n3Mode;this._contextStack.push({subject:n,predicate:i,object:r,graph:e,type:t,inverse:!!s&&this._inversePredicate,blankPrefix:s?this._prefixes._:"",quantified:s?this._quantified:null}),s&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.id.substr(2)}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(){const t=this._contextStack.pop(),e=this._n3Mode;this._subject=t.subject,this._predicate=t.predicate,this._object=t.object,this._graph=t.graph,e&&(this._inversePredicate=t.inverse,this._prefixes._=t.blankPrefix,this._quantified=t.quantified)}_readInTopContext(t){switch(t.type){case"eof":return null!==this._graph?this._error("Unclosed graph",t):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(t)}}_readEntity(t,e){let n;switch(t.type){case"IRI":case"typeIRI":const e=this._resolveIRI(t.value);if(null===e)return this._error("Invalid IRI",t);n=this._namedNode(e);break;case"type":case"prefixed":const i=this._prefixes[t.prefix];if(void 0===i)return this._error(`Undefined prefix "${t.prefix}:"`,t);n=this._namedNode(i+t.value);break;case"blank":n=this._blankNode(this._prefixes[t.prefix]+t.value);break;case"var":n=this._variable(t.value.substr(1));break;default:return this._error(`Expected entity but got ${t.type}`,t)}return!e&&this._n3Mode&&n.id in this._quantified&&(n=this._quantified[n.id]),n}_readSubject(t){switch(this._predicate=null,t.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",t);case"}":return this._readPunctuation(t);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',t);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',t);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",t);if(0===t.prefix.length)return this._literalValue=t.value,this._completeSubjectLiteral;this._subject=this._literal(t.value,this._namedNode(t.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",t);default:if(void 0===(this._subject=this._readEntity(t)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(t){const e=t.type;switch(e){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[t.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${e}`,t):(this._subject=null,"]"===e?this._readBlankNodeTail(t):this._readPunctuation(t));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",t);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",t);default:if(void 0===(this._predicate=this._readEntity(t)))return}return this._readObject}_readObject(t){switch(t.type){case"literal":if(0===t.prefix.length)return this._literalValue=t.value,this._readDataTypeOrLang;this._object=this._literal(t.value,this._namedNode(t.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",t);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",t);default:if(void 0===(this._object=this._readEntity(t)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(t){return"{"===t.type?this._readGraph(t):this._readPredicate(t)}_readGraph(t){return"{"!==t.type?this._error(`Expected graph but got ${t.type}`,t):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(t){return"]"===t.type?(this._subject=null,this._readBlankNodeTail(t)):(this._predicate=null,this._readPredicate(t))}_readBlankNodeTail(t){if("]"!==t.type)return this._readBlankNodePunctuation(t);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const e=null===this._predicate;return this._restoreContext(),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:e?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(t){switch(t.type){case".":case"}":return this._subject=null,this._readPunctuation(t);default:return this._readPredicate(t)}}_readListItem(t){let e=null,n=null,i=this._readListItem;const r=this._subject,s=this._contextStack,o=s[s.length-1];switch(t.type){case"[":this._saveContext("blank",this._graph,n=this._blankNode(),this.RDF_FIRST,this._subject=e=this._blankNode()),i=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,n=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext(),0!==s.length&&"list"===s[s.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(i=this._readPredicate,this._subject===this.RDF_NIL)return i}else if(i=this._getContextEndReader(),this._object===this.RDF_NIL)return i;n=this.RDF_NIL;break;case"literal":0===t.prefix.length?(this._literalValue=t.value,i=this._readListItemDataTypeOrLang):(e=this._literal(t.value,this._namedNode(t.prefix)),i=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",t);default:if(void 0===(e=this._readEntity(t)))return}if(null===n&&(this._subject=n=this._blankNode()),null===r?null===o.predicate?o.subject=n:o.object=n:this._emit(r,this.RDF_REST,n,this._graph),null!==e){if(this._n3Mode&&("IRI"===t.type||"prefixed"===t.type))return this._saveContext("item",this._graph,n,this.RDF_FIRST,e),this._subject=e,this._predicate=null,this._getPathReader(this._readListItem);this._emit(n,this.RDF_FIRST,e,this._graph)}return i}_readDataTypeOrLang(t){return this._completeObjectLiteral(t,!1)}_readListItemDataTypeOrLang(t){return this._completeObjectLiteral(t,!0)}_completeLiteral(t){let e=this._literal(this._literalValue);switch(t.type){case"type":case"typeIRI":const n=this._readEntity(t);if(void 0===n)return;e=this._literal(this._literalValue,n),t=null;break;case"langcode":e=this._literal(this._literalValue,t.value),t=null}return{token:t,literal:e}}_completeSubjectLiteral(t){return this._subject=this._completeLiteral(t).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(t,e){const n=this._completeLiteral(t);if(n)return this._object=n.literal,e&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===n.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(n.token))}_readFormulaTail(t){return"}"!==t.type?this._readPunctuation(t):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext(),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(t){let e,n=this._graph;const i=this._subject,r=this._inversePredicate;switch(t.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",t);if(this._n3Mode)return this._readFormulaTail(t);this._graph=null;case".":this._subject=null,e=this._contextStack.length?this._readSubject:this._readInTopContext,r&&(this._inversePredicate=!1);break;case";":e=this._readPredicate;break;case",":e=this._readObject;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(n=this._readEntity(t))){e=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,t)}if(null!==i){const t=this._predicate,e=this._object;r?this._emit(e,t,i,n):this._emit(i,t,e,n)}return e}_readBlankNodePunctuation(t){let e;switch(t.type){case";":e=this._readPredicate;break;case",":e=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,t)}return this._emit(this._subject,this._predicate,this._object,this._graph),e}_readQuadPunctuation(t){return"."!==t.type?this._error("Expected dot to follow quad",t):this._readInTopContext}_readPrefix(t){return"prefix"!==t.type?this._error("Expected prefix to follow @prefix",t):(this._prefix=t.value,this._readPrefixIRI)}_readPrefixIRI(t){if("IRI"!==t.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,t);const e=this._readEntity(t);return this._prefixes[this._prefix]=e.value,this._prefixCallback(this._prefix,e),this._readDeclarationPunctuation}_readBaseIRI(t){const e="IRI"===t.type&&this._resolveIRI(t.value);return e?(this._setBase(e),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",t)}_readNamedGraphLabel(t){switch(t.type){case"IRI":case"blank":case"prefixed":return this._readSubject(t),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",t)}}_readNamedGraphBlankLabel(t){return"]"!==t.type?this._error("Invalid graph label",t):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(t){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(t)):"."!==t.type?this._error("Expected declaration to end with a dot",t):this._readInTopContext}_readQuantifierList(t){let e;switch(t.type){case"IRI":case"prefixed":if(void 0!==(e=this._readEntity(t,!0)))break;default:return this._error(`Unexpected ${t.type}`,t)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,e,this.QUANTIFIERS_GRAPH)):this._quantified[e.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(t){return","===t.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(t))}_getPathReader(t){return this._afterPath=t,this._readPath}_readPath(t){switch(t.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const e=this._contextStack,n=e.length&&e[e.length-1];if(n&&"item"===n.type){const t=this._subject;this._restoreContext(),this._emit(this._subject,this.RDF_FIRST,t,this._graph)}return this._afterPath(t)}}_readForwardPath(t){let e,n;const i=this._blankNode();if(void 0!==(n=this._readEntity(t)))return null===this._predicate?(e=this._subject,this._subject=i):(e=this._object,this._object=i),this._emit(e,n,i,this._graph),this._readPath}_readBackwardPath(t){const e=this._blankNode();let n,i;if(void 0!==(n=this._readEntity(t)))return null===this._predicate?(i=this._subject,this._subject=e):(i=this._object,this._object=e),this._emit(e,n,i,this._graph),this._readPath}_readRDFStarTailOrGraph(t){return">>"!==t.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(t))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,t):this._readRDFStarTail(t)}_readRDFStarTail(t){if(">>"!==t.type)return this._error(`Expected >> but got ${t.type}`,t);const e=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext(),null===this._subject?(this._subject=e,this._readPredicate):(this._object=e,this._getContextEndReader())}_getContextEndReader(){const t=this._contextStack;if(!t.length)return this._readPunctuation;switch(t[t.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(t,e,n,i){this._callback(null,this._quad(t,e,n,i||this.DEFAULTGRAPH))}_error(t,e){const n=new Error(`${t} on line ${e.line}.`);n.context={token:e,line:e.line,previousToken:this._lexer.previousToken},this._callback(n),this._callback=c}_resolveIRI(t){return/^[a-z][a-z0-9+.-]*:/i.test(t)?t:this._resolveRelativeIRI(t)}_resolveRelativeIRI(t){if(!t.length)return this._base;switch(t[0]){case"#":return this._base+t;case"?":return this._base.replace(/(?:\?.*)?$/,t);case"/":return("/"===t[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(t);default:return/^[^/:]*:/.test(t)?null:this._removeDotSegments(this._basePath+t)}}_removeDotSegments(t){if(!/(^|\/)\.\.?($|[/#?])/.test(t))return t;const e=t.length;let n="",i=-1,r=-1,s=0,o="/";for(;i=r&&(n=n.substr(0,s)),"/"!==o)return`${n}/${t.substr(i+1)}`;s=i+1}}}o=t[++i]}return n+t.substring(s)}parse(t,e,n){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${a++}_`,this._prefixCallback=n||c,this._inversePredicate=!1,this._quantified=Object.create(null),!e){const e=[];let n;if(this._callback=(t,i)=>{t?n=t:i&&e.push(i)},this._lexer.tokenize(t).every(t=>this._readCallback=this._readCallback(t)),n)throw n;return e}this._callback=e,this._lexer.tokenize(t,(t,e)=>{null!==t?(this._callback(t),this._callback=c):this._readCallback&&(this._readCallback=this._readCallback(e))})}}function c(){}function u(t,e){const n=e.namedNode;t._namedNode=n,t._blankNode=e.blankNode,t._literal=e.literal,t._variable=e.variable,t._quad=e.quad,t.DEFAULTGRAPH=e.defaultGraph(),t.RDF_FIRST=n(s.default.rdf.first),t.RDF_REST=n(s.default.rdf.rest),t.RDF_NIL=n(s.default.rdf.nil),t.N3_FORALL=n(s.default.r.forAll),t.N3_FORSOME=n(s.default.r.forSome),t.ABBREVIATIONS={a:n(s.default.rdf.type),"=":n(s.default.owl.sameAs),">":n(s.default.log.implies)},t.QUANTIFIERS_GRAPH=n("urn:n3:quantifiers")}n.default=l,u(l.prototype,r.default)},{"./IRIs":34,"./N3DataFactory":35,"./N3Lexer":36}],38:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}(t("./N3DataFactory")),s=t("readable-stream"),o=(i=t("./IRIs"))&&i.__esModule?i:{default:i};function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}class l{constructor(t,e){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._ids["><"]=0,this._entities=Object.create(null),this._blankNodeIndex=0,!e&&t&&!t[0]&&(e=t,t=null),this._factory=(e=e||{}).factory||r.default,t&&this.addQuads(t)}get size(){let t=this._size;if(null!==t)return t;t=0;const e=this._graphs;let n,i;for(const r in e)for(const s in n=e[r].subjects)for(const e in i=n[s])t+=Object.keys(i[e]).length;return this._size=t}_addToIndex(t,e,n,i){const r=t[e]||(t[e]={}),s=r[n]||(r[n]={}),o=i in s;return o||(s[i]=null),!o}_removeFromIndex(t,e,n,i){const r=t[e],s=r[n];delete s[i];for(const o in s)return;delete r[n];for(const o in r)return;delete t[e]}*_findInIndex(t,e,n,i,s,o,a,l){let c,u,h;const d=!e+!n+!i>1?Object.keys(this._ids):this._entities,p=(0,r.termFromId)(l,this._factory);e&&((c=t,t={})[e]=c[e]);for(const f in t){const e=d[f];if(u=t[f]){n&&((c=u,u={})[n]=c[n]);for(const t in u){const n=d[t];if(h=u[t]){const t=i?i in h?[i]:[]:Object.keys(h);for(let i=0;i{n in e||(e[n]=!0,t((0,r.termFromId)(this._entities[n],this._factory)))}}add(t){return this.addQuad(t),this}addQuad(t,e,n,i){e||(i=t.graph,n=t.object,e=t.predicate,t=t.subject),t=(0,r.termToId)(t),e=(0,r.termToId)(e),n=(0,r.termToId)(n),i=(0,r.termToId)(i);let s=this._graphs[i];s||(s=this._graphs[i]={subjects:{},predicates:{},objects:{}},Object.freeze(s));const o=this._ids,a=this._entities;t=o[t]||(o[a[++this._id]=t]=this._id),e=o[e]||(o[a[++this._id]=e]=this._id),n=o[n]||(o[a[++this._id]=n]=this._id);const l=this._addToIndex(s.subjects,t,e,n);return this._addToIndex(s.predicates,e,n,t),this._addToIndex(s.objects,n,t,e),this._size=null,l}addQuads(t){for(let e=0;e{this.addQuad(t)}),t}removeQuad(t,e,n,i){e||(i=t.graph,n=t.object,e=t.predicate,t=t.subject),t=(0,r.termToId)(t),e=(0,r.termToId)(e),n=(0,r.termToId)(n),i=(0,r.termToId)(i);const s=this._ids,o=this._graphs;let a,l,c;if(!((t=s[t])&&(e=s[e])&&(n=s[n])&&(a=o[i])&&(l=a.subjects[t])&&(c=l[e])&&n in c))return!1;for(t in this._removeFromIndex(a.subjects,t,e,n),this._removeFromIndex(a.predicates,e,n,t),this._removeFromIndex(a.objects,n,t,e),null!==this._size&&this._size--,a.subjects)return!0;return delete o[i],!0}removeQuads(t){for(let e=0;e{this.removeQuad(t)}),t}removeMatches(t,e,n,i){const r=new s.Readable({objectMode:!0});return r._read=()=>{for(const s of this.readQuads(t,e,n,i))r.push(s);r.push(null)},this.remove(r)}deleteGraph(t){return this.removeMatches(null,null,null,t)}getQuads(t,e,n,i){return[...this.readQuads(t,e,n,i)]}*readQuads(t,e,n,i){t=t&&(0,r.termToId)(t),e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._getGraphs(i),o=this._ids;let a,l,u,h;if(!(c(t)&&!(l=o[t])||c(e)&&!(u=o[e])||c(n)&&!(h=o[n])))for(const r in s)(a=s[r])&&(l?h?yield*this._findInIndex(a.objects,h,l,u,"object","subject","predicate",r,null,!0):yield*this._findInIndex(a.subjects,l,u,null,"subject","predicate","object",r,null,!0):u?yield*this._findInIndex(a.predicates,u,h,null,"predicate","object","subject",r,null,!0):h?yield*this._findInIndex(a.objects,h,null,null,"object","subject","predicate",r,null,!0):yield*this._findInIndex(a.subjects,null,null,null,"subject","predicate","object",r,null,!0))}match(t,e,n,i){return new u(this,t,e,n,i)}countQuads(t,e,n,i){t=t&&(0,r.termToId)(t),e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._getGraphs(i),o=this._ids;let a,l,u,h,d=0;if(c(t)&&!(l=o[t])||c(e)&&!(u=o[e])||c(n)&&!(h=o[n]))return 0;for(const r in s)(a=s[r])&&(d+=t?n?this._countInIndex(a.objects,h,l,u):this._countInIndex(a.subjects,l,u,h):e?this._countInIndex(a.predicates,u,h,l):this._countInIndex(a.objects,h,l,u));return d}forEach(t,e,n,i,r){this.some(e=>(t(e),!1),e,n,i,r)}every(t,e,n,i,r){let s=!1;const o=!this.some(e=>(s=!0,!t(e)),e,n,i,r);return s&&o}some(t,e,n,i,r){for(const s of this.readQuads(e,n,i,r))if(t(s))return!0;return!1}getSubjects(t,e,n){const i=[];return this.forSubjects(t=>{i.push(t)},t,e,n),i}forSubjects(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.predicates,l,u,t):this._loopByKey1(a.subjects,l,t):u?this._loopByKey0(a.objects,u,t):this._loop(a.subjects,t))}getPredicates(t,e,n){const i=[];return this.forPredicates(t=>{i.push(t)},t,e,n),i}forPredicates(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.objects,u,l,t):this._loopByKey0(a.subjects,l,t):u?this._loopByKey1(a.predicates,u,t):this._loop(a.predicates,t))}getObjects(t,e,n){const i=[];return this.forObjects(t=>{i.push(t)},t,e,n),i}forObjects(t,e,n,i){e=e&&(0,r.termToId)(e),n=n&&(0,r.termToId)(n),i=i&&(0,r.termToId)(i);const s=this._ids,o=this._getGraphs(i);let a,l,u;if(t=this._uniqueEntities(t),!(c(e)&&!(l=s[e])||c(n)&&!(u=s[n])))for(i in o)(a=o[i])&&(l?u?this._loopBy2Keys(a.subjects,l,u,t):this._loopByKey1(a.objects,l,t):u?this._loopByKey0(a.predicates,u,t):this._loop(a.objects,t))}getGraphs(t,e,n){const i=[];return this.forGraphs(t=>{i.push(t)},t,e,n),i}forGraphs(t,e,n,i){for(const r in this._graphs)this.some(e=>(t(e.graph),!0),e,n,i,r)}createBlankNode(t){let e,n;if(t)for(e=t=`_:${t}`,n=1;this._ids[e];)e=t+n++;else do{e="_:b"+this._blankNodeIndex++}while(this._ids[e]);return this._ids[e]=++this._id,this._entities[this._id]=e,this._factory.blankNode(e.substr(2))}extractLists({remove:t=!1,ignoreErrors:e=!1}={}){const n={},i=e?()=>!0:(t,e)=>{throw new Error(`${t.value} ${e}`)},r=this.getQuads(null,o.default.rdf.rest,o.default.rdf.nil,null),s=t?[...r]:[];return r.forEach(e=>{const r=[];let a,l,c=!1;const u=e.graph;let h=e.subject;for(;h&&!c;){const t=this.getQuads(null,null,h,null),e=this.getQuads(h,null,null,null);let n,d=null,p=null,f=null;for(let r=0;r{switch(t){case"data":e=i;break;case"end":n=i}}},(t,e)=>{t&&this.emit("error",t)||e&&this.push(e)},(t,e)=>{this.emit("prefix",t,e)}),this._transform=(t,n,i)=>{e(t),i()},this._flush=t=>{n(),t()}}import(t){return t.on("data",t=>{this.write(t)}),t.on("end",()=>{this.end()}),t.on("error",t=>{this.emit("error",t)}),this}}},{"./N3Parser":37,"readable-stream":81}],40:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=t("readable-stream"),s=(i=t("./N3Writer"))&&i.__esModule?i:{default:i};n.default=class extends r.Transform{constructor(t){super({encoding:"utf8",writableObjectMode:!0});const e=this._writer=new s.default({write:(t,e,n)=>{this.push(t),n&&n()},end:t=>{this.push(null),t&&t()}},t);this._transform=(t,n,i)=>{e.addQuad(t,i)},this._flush=t=>{e.end(t)}}import(t){return t.on("data",t=>{this.write(t)}),t.on("end",()=>{this.end()}),t.on("error",t=>{this.emit("error",t)}),t.on("prefix",(t,e)=>{this._writer.addPrefix(t,e)}),this}}},{"./N3Writer":42,"readable-stream":81}],41:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.inDefaultGraph=function(t){return s(t.graph)},n.isBlankNode=function(t){return!!t&&"BlankNode"===t.termType},n.isDefaultGraph=s,n.isLiteral=function(t){return!!t&&"Literal"===t.termType},n.isNamedNode=function(t){return!!t&&"NamedNode"===t.termType},n.isVariable=function(t){return!!t&&"Variable"===t.termType},n.prefix=function(t,e){return o({"":t.value||t},e)("")},n.prefixes=o;var i,r=(i=t("./N3DataFactory"))&&i.__esModule?i:{default:i};function s(t){return!!t&&"DefaultGraph"===t.termType}function o(t,e){const n=Object.create(null);for(const r in t)i(r,t[r]);function i(t,i){if("string"==typeof i){const r=Object.create(null);n[t]=t=>r[t]||(r[t]=e.namedNode(i+t))}else if(!(t in n))throw new Error(`Unknown prefix: ${t}`);return n[t]}return e=e||r.default,i}},{"./N3DataFactory":35}],42:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i,r=(i=t("./IRIs"))&&i.__esModule?i:{default:i},s=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}(t("./N3DataFactory")),o=t("./N3Util");function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}const l=s.default.defaultGraph(),{rdf:c,xsd:u}=r.default,h=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,d=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,p={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class f extends s.Term{equals(){return!1}}function g(t){let e=p[t];return void 0===e&&(1===t.length?(e=t.charCodeAt(0).toString(16),e="\\u0000".substr(0,6-e.length)+e):(e=(1024*(t.charCodeAt(0)-55296)+t.charCodeAt(1)+9216).toString(16),e="\\U00000000".substr(0,10-e.length)+e)),e}function m(t){return t.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}n.default=class{constructor(t,e){if(this._prefixRegex=/$0^/,t&&"function"!=typeof t.write&&(e=t,t=null),this._lists=(e=e||{}).lists,t)this._outputStream=t,this._endStream=void 0===e.end||!!e.end;else{let t="";this._outputStream={write(e,n,i){t+=e,i&&i()},end:e=>{e&&e(null,t)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(e.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=l,this._prefixIRIs=Object.create(null),e.prefixes&&this.addPrefixes(e.prefixes),e.baseIRI&&(this._baseMatcher=new RegExp(`^${m(e.baseIRI)}${e.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=e.baseIRI.length))}get _inDefaultGraph(){return l.equals(this._graph)}_write(t,e){this._outputStream.write(t,"utf8",e)}_writeQuad(t,e,n,i,r){try{i.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(l.equals(i)?"":`${this._encodeIriOrBlank(i)} {\n`)),this._graph=i,this._subject=null),t.equals(this._subject)?e.equals(this._predicate)?this._write(`, ${this._encodeObject(n)}`,r):this._write(`;\n ${this._encodePredicate(this._predicate=e)} ${this._encodeObject(n)}`,r):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=t)} ${this._encodePredicate(this._predicate=e)} ${this._encodeObject(n)}`,r)}catch(s){r&&r(s)}}_writeQuadLine(t,e,n,i,r){delete this._prefixMatch,this._write(this.quadToString(t,e,n,i),r)}quadToString(t,e,n,i){return`${this._encodeSubject(t)} ${this._encodeIriOrBlank(e)} ${this._encodeObject(n)}${i&&i.value?` ${this._encodeIriOrBlank(i)} .\n`:" .\n"}`}quadsToString(t){return t.map(t=>this.quadToString(t.subject,t.predicate,t.object,t.graph)).join("")}_encodeSubject(t){return"Quad"===t.termType?this._encodeQuad(t):this._encodeIriOrBlank(t)}_encodeIriOrBlank(t){if("NamedNode"!==t.termType)return this._lists&&t.value in this._lists&&(t=this.list(this._lists[t.value])),"id"in t?t.id:`_:${t.value}`;let e=t.value;this._baseMatcher&&this._baseMatcher.test(e)&&(e=e.substr(this._baseLength)),h.test(e)&&(e=e.replace(d,g));const n=this._prefixRegex.exec(e);return n?n[1]?this._prefixIRIs[n[1]]+n[2]:e:`<${e}>`}_encodeLiteral(t){let e=t.value;if(h.test(e)&&(e=e.replace(d,g)),t.language)return`"${e}"@${t.language}`;if(this._lineMode){if(t.datatype.value===u.string)return`"${e}"`}else switch(t.datatype.value){case u.string:return`"${e}"`;case u.boolean:if("true"===e||"false"===e)return e;break;case u.integer:if(/^[+-]?\d+$/.test(e))return e;break;case u.decimal:if(/^[+-]?\d*\.\d+$/.test(e))return e;break;case u.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(e))return e}return`"${e}"^^${this._encodeIriOrBlank(t.datatype)}`}_encodePredicate(t){return t.value===c.type?"a":this._encodeIriOrBlank(t)}_encodeObject(t){switch(t.termType){case"Quad":return this._encodeQuad(t);case"Literal":return this._encodeLiteral(t);default:return this._encodeIriOrBlank(t)}}_encodeQuad({subject:t,predicate:e,object:n,graph:i}){return`<<${this._encodeSubject(t)} ${this._encodePredicate(e)} ${this._encodeObject(n)}${(0,o.isDefaultGraph)(i)?"":` ${this._encodeIriOrBlank(i)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(t,e,n,i,r){void 0===n?this._writeQuad(t.subject,t.predicate,t.object,t.graph,e):"function"==typeof i?this._writeQuad(t,e,n,l,i):this._writeQuad(t,e,n,i||l,r)}addQuads(t){for(let e=0;e.\n`)}if(n){let t="",e="";for(const n in this._prefixIRIs)t+=t?`|${n}`:n,e+=(e?"|":"")+this._prefixIRIs[n];t=m(t),this._prefixRegex=new RegExp(`^(?:${e})[^/]*$|^(${t})([a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(n?"\n":"",e)}blank(t,e){let n,i,r=t;switch(void 0===t?r=[]:t.termType?r=[{predicate:t,object:e}]:"length"in t||(r=[t]),i=r.length){case 0:return new f("[]");case 1:if(n=r[0],!(n.object instanceof f))return new f(`[ ${this._encodePredicate(n.predicate)} ${this._encodeObject(n.object)} ]`);default:let e="[";for(let s=0;s{e=null,t(n,i)});if(this._endStream)try{return this._outputStream.end(e)}catch(n){}e&&e()}}},{"./IRIs":34,"./N3DataFactory":35,"./N3Util":41}],43:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BlankNode",{enumerable:!0,get:function(){return u.BlankNode}}),Object.defineProperty(n,"DataFactory",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(n,"DefaultGraph",{enumerable:!0,get:function(){return u.DefaultGraph}}),Object.defineProperty(n,"Lexer",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(n,"Literal",{enumerable:!0,get:function(){return u.Literal}}),Object.defineProperty(n,"NamedNode",{enumerable:!0,get:function(){return u.NamedNode}}),Object.defineProperty(n,"Parser",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(n,"Quad",{enumerable:!0,get:function(){return u.Quad}}),Object.defineProperty(n,"Store",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(n,"StreamParser",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(n,"StreamWriter",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(n,"Term",{enumerable:!0,get:function(){return u.Term}}),Object.defineProperty(n,"Triple",{enumerable:!0,get:function(){return u.Triple}}),n.Util=void 0,Object.defineProperty(n,"Variable",{enumerable:!0,get:function(){return u.Variable}}),Object.defineProperty(n,"Writer",{enumerable:!0,get:function(){return s.default}}),n.default=void 0,Object.defineProperty(n,"termFromId",{enumerable:!0,get:function(){return u.termFromId}}),Object.defineProperty(n,"termToId",{enumerable:!0,get:function(){return u.termToId}});var i=p(t("./N3Lexer")),r=p(t("./N3Parser")),s=p(t("./N3Writer")),o=p(t("./N3Store")),a=p(t("./N3StreamParser")),l=p(t("./N3StreamWriter")),c=d(t("./N3Util"));n.Util=c;var u=d(t("./N3DataFactory"));function h(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(h=function(t){return t?n:e})(t)}function d(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var n=h(e);if(n&&n.has(t))return n.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var o=r?Object.getOwnPropertyDescriptor(t,s):null;o&&(o.get||o.set)?Object.defineProperty(i,s,o):i[s]=t[s]}return i.default=t,n&&n.set(t,i),i}function p(t){return t&&t.__esModule?t:{default:t}}n.default={Lexer:i.default,Parser:r.default,Writer:s.default,Store:o.default,StreamParser:a.default,StreamWriter:l.default,Util:c,DataFactory:u.default,Term:u.Term,NamedNode:u.NamedNode,Literal:u.Literal,BlankNode:u.BlankNode,Variable:u.Variable,DefaultGraph:u.DefaultGraph,Quad:u.Quad,Triple:u.Triple,termFromId:u.termFromId,termToId:u.termToId}},{"./N3DataFactory":35,"./N3Lexer":36,"./N3Parser":37,"./N3Store":38,"./N3StreamParser":39,"./N3StreamWriter":40,"./N3Util":41,"./N3Writer":42}],44:[function(t,e,n){var i,r,s=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(t){if(i===setTimeout)return setTimeout(t,0);if((i===o||!i)&&setTimeout)return i=setTimeout,setTimeout(t,0);try{return i(t,0)}catch(e){try{return i.call(null,t,0)}catch(n){return i.call(this,t,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:o}catch(t){i=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(t){r=a}}();var c,u=[],h=!1,d=-1;function p(){!h||!c||(h=!1,c.length?u=c.concat(u):d=-1,u.length&&f())}function f(){if(!h){var t=l(p);h=!0;for(var e=u.length;e;){for(c=u,u=[];++d1)for(var n=1;n(n||(n=Promise.resolve())).then(t).catch(t=>setTimeout(()=>{throw t},0))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],46:[function(t,e,n){e.exports=t("./lib")},{"./lib":55}],47:[function(t,e,n){"use strict";e.exports=class t{constructor(t,e=new Map,n=0){this.prefix=t,this._existing=e,this.counter=n}clone(){const{prefix:e,_existing:n,counter:i}=this;return new t(e,new Map(n),i)}getId(t){const e=t&&this._existing.get(t);if(e)return e;const n=this.prefix+this.counter;return this.counter++,t&&this._existing.set(t,n),n}hasId(t){return this._existing.has(t)}getOldIds(){return[...this._existing.keys()]}}},{}],48:[function(t,e,n){"use strict";t("setimmediate");const r=self.crypto||self.msCrypto;e.exports=class{constructor(t){if(!r||!r.subtle)throw new Error("crypto.subtle not found.");if("sha256"===t)this.algorithm={name:"SHA-256"};else{if("sha1"!==t)throw new Error(`Unsupport algorithm "${t}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(t){this._content+=t}digest(){var t=this;return i(function*(){const e=(new TextEncoder).encode(t._content),n=new Uint8Array(yield r.subtle.digest(t.algorithm,e));let i="";for(let t=0;t]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]+(?:<([^:]+:[^>]*)>)[ \\t]+(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?)|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^(?:<([^:]+:[^>]*)>))|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))[ \\t]*(?:\\.|(?:(?:(?:<([^:]+:[^>]*)>)|(_:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9])(?:(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040.])*(?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd_0-9-\xb7\u0300-\u036f\u203f-\u2040]))?))[ \\t]*\\.))[ \\t]*$'),e.exports=class t{static parse(t){const e=[],n={},h=t.split(c.eoln);let p=0;for(const f of h){if(p++,c.empty.test(f))continue;const t=f.match(c.quad);if(null===t)throw new Error("N-Quads parse error on line "+p+".");const h={subject:null,predicate:null,object:null,graph:null};if(h.subject=void 0!==t[1]?{termType:s,value:t[1]}:{termType:o,value:t[2]},h.predicate={termType:s,value:t[3]},void 0!==t[4]?h.object={termType:s,value:t[4]}:void 0!==t[5]?h.object={termType:o,value:t[5]}:(h.object={termType:a,value:void 0,datatype:{termType:s}},void 0!==t[7]?h.object.datatype.value=t[7]:void 0!==t[8]?(h.object.datatype.value=i,h.object.language=t[8]):h.object.datatype.value=r,h.object.value=t[6].replace(d,function(t,e,n,i){if(e)switch(e){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(n)return String.fromCharCode(parseInt(n,16));if(i)throw new Error("Unsupported U escape")})),h.graph=void 0!==t[9]?{termType:s,value:t[9]}:void 0!==t[10]?{termType:o,value:t[10]}:{termType:l,value:""},h.graph.value in n){let t=!0;const i=n[h.graph.value];for(const e of i)if(u(e,h)){t=!1;break}t&&(i.push(h),e.push(h))}else n[h.graph.value]=[h],e.push(h)}return e}static serialize(e){Array.isArray(e)||(e=t.legacyDatasetToQuads(e));const n=[];for(const i of e)n.push(t.serializeQuad(i));return n.sort().join("")}static serializeQuad(t){const e=t.subject,n=t.object,a=t.graph;let l="";return l+=e.termType===s?`<${e.value}>`:`${e.value}`,l+=` <${t.predicate.value}> `,n.termType===s?l+=`<${n.value}>`:n.termType===o?l+=n.value:(l+=`"${c=n.value,c.replace(h,function(t){switch(t){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}})}"`,n.datatype.value===i?n.language&&(l+=`@${n.language}`):n.datatype.value!==r&&(l+=`^^<${n.datatype.value}>`)),a.termType===s?l+=` <${a.value}>`:a.termType===o&&(l+=` ${a.value}`),l+=" .\n",l;var c}static legacyDatasetToQuads(t){const e=[],n={"blank node":o,IRI:s,literal:a};for(const c in t)t[c].forEach(t=>{const u={};for(const e in t){const o=t[e],l={termType:n[o.type],value:o.value};l.termType===a&&(l.datatype={termType:s},"datatype"in o&&(l.datatype.value=o.datatype),"language"in o?("datatype"in o||(l.datatype.value=i),l.language=o.language):"datatype"in o||(l.datatype.value=r)),u[e]=l}u.graph="@default"===c?{termType:l,value:""}:{termType:c.startsWith("_:")?o:s,value:c},e.push(u)});return e}};const h=/["\\\n\r]/g;const d=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},{}],50:[function(t,e,n){"use strict";e.exports=class{constructor(t){this.current=t.sort(),this.done=!1,this.dir=new Map;for(let e=0;ei)&&(a&&o>0&&n>t[o-1]||!a&&ot[o+1])&&(i=n,r=o)}if(null===i)this.done=!0;else{const n=e.get(i)?r-1:r+1;t[r]=t[n],t[n]=i;for(const r of t)r>i&&e.set(r,!e.get(r))}return n}}},{}],51:[function(t,e,n){(function(n){(function(){"use strict";const r=t("./IdentifierIssuer"),s=t("./MessageDigest"),o=t("./Permuter"),a=t("./NQuads");function l(t,e){return t.hashe.hash?1:0}e.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new r("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(t){var e=this;return i(function*(){e.quads=t;for(const r of t)e._addBlankNodeQuadInfo({quad:r,component:r.subject}),e._addBlankNodeQuadInfo({quad:r,component:r.object}),e._addBlankNodeQuadInfo({quad:r,component:r.graph});const n=new Map,i=[...e.blankNodeInfo.keys()];let s=0;for(const t of i)++s%100==0&&(yield e._yield()),yield e._hashAndTrackBlankNode({id:t,hashToBlankNodes:n});const o=[...n.keys()].sort(),c=[];for(const t of o){const i=n.get(t);i.length>1?c.push(i):e.canonicalIssuer.getId(i[0])}for(const t of c){const n=[];for(const i of t){if(e.canonicalIssuer.hasId(i))continue;const t=new r("_:b");t.getId(i);const s=yield e.hashNDegreeQuads(i,t);n.push(s)}n.sort(l);for(const t of n){const n=t.issuer.getOldIds();for(const t of n)e.canonicalIssuer.getId(t)}}const u=[];for(const t of e.quads){const n=yt({},t);n.subject=e._useCanonicalId({component:n.subject}),n.object=e._useCanonicalId({component:n.object}),n.graph=e._useCanonicalId({component:n.graph}),u.push(a.serializeQuad(n))}return u.sort(),u.join("")})()}hashFirstDegreeQuads(t){var e=this;return i(function*(){const n=[],i=e.blankNodeInfo.get(t),r=i.quads;for(const s of r){const i={subject:null,predicate:s.predicate,object:null,graph:null};i.subject=e.modifyFirstDegreeComponent(t,s.subject,"subject"),i.object=e.modifyFirstDegreeComponent(t,s.object,"object"),i.graph=e.modifyFirstDegreeComponent(t,s.graph,"graph"),n.push(a.serializeQuad(i))}n.sort();const o=new s(e.hashAlgorithm);for(const t of n)o.update(t);return i.hash=yield o.digest(),i.hash})()}hashRelatedBlankNode(t,e,n,r){var o=this;return i(function*(){let i;i=o.canonicalIssuer.hasId(t)?o.canonicalIssuer.getId(t):n.hasId(t)?n.getId(t):o.blankNodeInfo.get(t).hash;const a=new s(o.hashAlgorithm);return a.update(r),"g"!==r&&a.update(o.getRelatedPredicate(e)),a.update(i),a.digest()})()}hashNDegreeQuads(t,e){var n=this;return i(function*(){const i=new s(n.hashAlgorithm),r=yield n.createHashToRelated(t,e),a=[...r.keys()].sort();for(const t of a){i.update(t);let s,a="";const l=new o(r.get(t));let c=0;for(;l.hasNext();){const t=l.next();++c%3==0&&(yield n._yield());let i=e.clone(),r="";const o=[];let u=!1;for(const e of t)if(n.canonicalIssuer.hasId(e)?r+=n.canonicalIssuer.getId(e):(i.hasId(e)||o.push(e),r+=i.getId(e)),0!==a.length&&r>a){u=!0;break}if(!u){for(const t of o){const e=yield n.hashNDegreeQuads(t,i);if(r+=i.getId(t),r+=`<${e.hash}>`,i=e.issuer,0!==a.length&&r>a){u=!0;break}}u||(0===a.length||r`}createHashToRelated(t,e){var n=this;return i(function*(){const i=new Map,r=n.blankNodeInfo.get(t).quads;let s=0;for(const o of r)++s%100==0&&(yield n._yield()),yield Promise.all([n._addRelatedBlankNodeHash({quad:o,component:o.subject,position:"s",id:t,issuer:e,hashToRelated:i}),n._addRelatedBlankNodeHash({quad:o,component:o.object,position:"o",id:t,issuer:e,hashToRelated:i}),n._addRelatedBlankNodeHash({quad:o,component:o.graph,position:"g",id:t,issuer:e,hashToRelated:i})]);return i})()}_hashAndTrackBlankNode({id:t,hashToBlankNodes:e}){var n=this;return i(function*(){const i=yield n.hashFirstDegreeQuads(t),r=e.get(i);r?r.push(t):e.set(i,[t])})()}_addBlankNodeQuadInfo({quad:t,component:e}){if("BlankNode"!==e.termType)return;const n=e.value,i=this.blankNodeInfo.get(n);i?i.quads.add(t):this.blankNodeInfo.set(n,{quads:new Set([t]),hash:null})}_addRelatedBlankNodeHash({quad:t,component:e,position:n,id:r,issuer:s,hashToRelated:o}){var a=this;return i(function*(){if("BlankNode"!==e.termType||e.value===r)return;const i=e.value,l=yield a.hashRelatedBlankNode(i,t,s,n),c=o.get(l);c?c.push(i):o.set(l,[i])})()}_useCanonicalId({component:t}){return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}_yield(){return i(function*(){return new Promise(t=>n(t))})()}}}).call(this)}).call(this,t("timers").setImmediate)},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50,timers:89}],52:[function(t,e,n){"use strict";const i=t("./IdentifierIssuer"),r=t("./MessageDigest"),s=t("./Permuter"),o=t("./NQuads");function a(t,e){return t.hashe.hash?1:0}e.exports=class{constructor(){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new i("_:c14n"),this.hashAlgorithm="sha256",this.quads=null}main(t){this.quads=t;for(const i of t)this._addBlankNodeQuadInfo({quad:i,component:i.subject}),this._addBlankNodeQuadInfo({quad:i,component:i.object}),this._addBlankNodeQuadInfo({quad:i,component:i.graph});const e=new Map,n=[...this.blankNodeInfo.keys()];for(const i of n)this._hashAndTrackBlankNode({id:i,hashToBlankNodes:e});const r=[...e.keys()].sort(),s=[];for(const i of r){const t=e.get(i);t.length>1?s.push(t):this.canonicalIssuer.getId(t[0])}for(const o of s){const t=[];for(const e of o){if(this.canonicalIssuer.hasId(e))continue;const n=new i("_:b");n.getId(e);const r=this.hashNDegreeQuads(e,n);t.push(r)}t.sort(a);for(const e of t){const t=e.issuer.getOldIds();for(const e of t)this.canonicalIssuer.getId(e)}}const l=[];for(const i of this.quads){const t=yt({},i);t.subject=this._useCanonicalId({component:t.subject}),t.object=this._useCanonicalId({component:t.object}),t.graph=this._useCanonicalId({component:t.graph}),l.push(o.serializeQuad(t))}return l.sort(),l.join("")}hashFirstDegreeQuads(t){const e=[],n=this.blankNodeInfo.get(t),i=n.quads;for(const r of i){const n={subject:null,predicate:r.predicate,object:null,graph:null};n.subject=this.modifyFirstDegreeComponent(t,r.subject,"subject"),n.object=this.modifyFirstDegreeComponent(t,r.object,"object"),n.graph=this.modifyFirstDegreeComponent(t,r.graph,"graph"),e.push(o.serializeQuad(n))}e.sort();const s=new r(this.hashAlgorithm);for(const r of e)s.update(r);return n.hash=s.digest(),n.hash}hashRelatedBlankNode(t,e,n,i){let s;s=this.canonicalIssuer.hasId(t)?this.canonicalIssuer.getId(t):n.hasId(t)?n.getId(t):this.blankNodeInfo.get(t).hash;const o=new r(this.hashAlgorithm);return o.update(i),"g"!==i&&o.update(this.getRelatedPredicate(e)),o.update(s),o.digest()}hashNDegreeQuads(t,e){const n=new r(this.hashAlgorithm),i=this.createHashToRelated(t,e),o=[...i.keys()].sort();for(const r of o){n.update(r);let t,o="";const a=new s(i.get(r));for(;a.hasNext();){const n=a.next();let i=e.clone(),r="";const s=[];let l=!1;for(const t of n)if(this.canonicalIssuer.hasId(t)?r+=this.canonicalIssuer.getId(t):(i.hasId(t)||s.push(t),r+=i.getId(t)),0!==o.length&&r>o){l=!0;break}if(!l){for(const t of s){const e=this.hashNDegreeQuads(t,i);if(r+=i.getId(t),r+=`<${e.hash}>`,i=e.issuer,0!==o.length&&r>o){l=!0;break}}l||(0===o.length||r`}createHashToRelated(t,e){const n=new Map,i=this.blankNodeInfo.get(t).quads;for(const r of i)this._addRelatedBlankNodeHash({quad:r,component:r.subject,position:"s",id:t,issuer:e,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.object,position:"o",id:t,issuer:e,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.graph,position:"g",id:t,issuer:e,hashToRelated:n});return n}_hashAndTrackBlankNode({id:t,hashToBlankNodes:e}){const n=this.hashFirstDegreeQuads(t),i=e.get(n);i?i.push(t):e.set(n,[t])}_addBlankNodeQuadInfo({quad:t,component:e}){if("BlankNode"!==e.termType)return;const n=e.value,i=this.blankNodeInfo.get(n);i?i.quads.add(t):this.blankNodeInfo.set(n,{quads:new Set([t]),hash:null})}_addRelatedBlankNodeHash({quad:t,component:e,position:n,id:i,issuer:r,hashToRelated:s}){if("BlankNode"!==e.termType||e.value===i)return;const o=e.value,a=this.hashRelatedBlankNode(o,t,r,n),l=s.get(a);l?l.push(o):s.set(a,[o])}_useCanonicalId({component:t}){return"BlankNode"!==t.termType||t.value.startsWith(this.canonicalIssuer.prefix)?t:{termType:"BlankNode",value:this.canonicalIssuer.getId(t.value)}}}},{"./IdentifierIssuer":47,"./MessageDigest":48,"./NQuads":49,"./Permuter":50}],53:[function(t,e,n){"use strict";const r=t("./URDNA2015");e.exports=class extends r{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(t,e,n){return"BlankNode"!==e.termType?e:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:e.value===t?"_:a":"_:z"}}getRelatedPredicate(t){return t.predicate.value}createHashToRelated(t,e){var n=this;return i(function*(){const i=new Map,r=n.blankNodeInfo.get(t).quads;let s=0;for(const o of r){let r,a;if("BlankNode"===o.subject.termType&&o.subject.value!==t)a=o.subject.value,r="p";else{if("BlankNode"!==o.object.termType||o.object.value===t)continue;a=o.object.value,r="r"}++s%100==0&&(yield n._yield());const l=yield n.hashRelatedBlankNode(a,o,e,r),c=i.get(l);c?c.push(a):i.set(l,[a])}return i})()}}},{"./URDNA2015":51}],54:[function(t,e,n){"use strict";const i=t("./URDNA2015Sync");e.exports=class extends i{constructor(){super(),this.name="URGNA2012",this.hashAlgorithm="sha1"}modifyFirstDegreeComponent(t,e,n){return"BlankNode"!==e.termType?e:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:e.value===t?"_:a":"_:z"}}getRelatedPredicate(t){return t.predicate.value}createHashToRelated(t,e){const n=new Map,i=this.blankNodeInfo.get(t).quads;for(const r of i){let i,s;if("BlankNode"===r.subject.termType&&r.subject.value!==t)s=r.subject.value,i="p";else{if("BlankNode"!==r.object.termType||r.object.value===t)continue;s=r.object.value,i="r"}const o=this.hashRelatedBlankNode(s,r,e,i),a=n.get(o);a?a.push(s):n.set(o,[s])}return n}}},{"./URDNA2015Sync":52}],55:[function(t,e,n){"use strict";const r=t("./URDNA2015"),s=t("./URGNA2012"),o=t("./URDNA2015Sync"),a=t("./URGNA2012Sync");let l;try{l=t("rdf-canonize-native")}catch(u){}const c={};e.exports=c,c.NQuads=t("./NQuads"),c.IdentifierIssuer=t("./IdentifierIssuer"),c._rdfCanonizeNative=function(t){return t&&(l=t),l},c.canonize=function(){var t=i(function*(t,e){if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),e.useNative){if(!l)throw new Error("rdf-canonize-native not available");return new Promise((n,i)=>l.canonize(t,e,(t,e)=>t?i(t):n(e)))}if("URDNA2015"===e.algorithm)return new r(e).main(t);if("URGNA2012"===e.algorithm)return new s(e).main(t);throw"algorithm"in e?new Error("Invalid RDF Dataset Canonicalization algorithm: "+e.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")});return function(e,n){return t.apply(this,arguments)}}(),c._canonizeSync=function(t,e){if(Array.isArray(t)||(t=c.NQuads.legacyDatasetToQuads(t)),e.useNative){if(l)return l.canonizeSync(t,e);throw new Error("rdf-canonize-native not available")}if("URDNA2015"===e.algorithm)return new o(e).main(t);if("URGNA2012"===e.algorithm)return new a(e).main(t);throw"algorithm"in e?new Error("Invalid RDF Dataset Canonicalization algorithm: "+e.algorithm):new Error("No RDF Dataset Canonicalization algorithm specified.")}},{"./IdentifierIssuer":47,"./NQuads":49,"./URDNA2015":51,"./URDNA2015Sync":52,"./URGNA2012":53,"./URGNA2012Sync":54,"rdf-canonize-native":3}],56:[function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(t("./lib/BlankNode"),n),r(t("./lib/DataFactory"),n),r(t("./lib/DefaultGraph"),n),r(t("./lib/Literal"),n),r(t("./lib/NamedNode"),n),r(t("./lib/Quad"),n),r(t("./lib/Variable"),n)},{"./lib/BlankNode":57,"./lib/DataFactory":58,"./lib/DefaultGraph":59,"./lib/Literal":60,"./lib/NamedNode":61,"./lib/Quad":62,"./lib/Variable":63}],57:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.BlankNode=void 0;n.BlankNode=class{constructor(t){this.termType="BlankNode",this.value=t}equals(t){return!!t&&"BlankNode"===t.termType&&t.value===this.value}}},{}],58:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DataFactory=void 0;const i=t("./BlankNode"),r=t("./DefaultGraph"),s=t("./Literal"),o=t("./NamedNode"),a=t("./Quad"),l=t("./Variable");let c=0;n.DataFactory=class{constructor(t){this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||`df_${c++}_`}namedNode(t){return new o.NamedNode(t)}blankNode(t){return new i.BlankNode(t||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(t,e){return new s.Literal(t,e)}variable(t){return new l.Variable(t)}defaultGraph(){return r.DefaultGraph.INSTANCE}quad(t,e,n,i){return new a.Quad(t,e,n,i||this.defaultGraph())}fromTerm(t){switch(t.termType){case"NamedNode":return this.namedNode(t.value);case"BlankNode":return this.blankNode(t.value);case"Literal":return t.language?this.literal(t.value,t.language):t.datatype.equals(s.Literal.XSD_STRING)?this.literal(t.value):this.literal(t.value,this.fromTerm(t.datatype));case"Variable":return this.variable(t.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(t.subject),this.fromTerm(t.predicate),this.fromTerm(t.object),this.fromTerm(t.graph))}}fromQuad(t){return this.fromTerm(t)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},{"./BlankNode":57,"./DefaultGraph":59,"./Literal":60,"./NamedNode":61,"./Quad":62,"./Variable":63}],59:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DefaultGraph=void 0;class i{constructor(){this.termType="DefaultGraph",this.value=""}equals(t){return!!t&&"DefaultGraph"===t.termType}}n.DefaultGraph=i,i.INSTANCE=new i},{}],60:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Literal=void 0;const i=t("./NamedNode");class r{constructor(t,e){this.termType="Literal",this.value=t,"string"==typeof e?(this.language=e,this.datatype=r.RDF_LANGUAGE_STRING):e?(this.language="",this.datatype=e):(this.language="",this.datatype=r.XSD_STRING)}equals(t){return!!t&&"Literal"===t.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}n.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},{"./NamedNode":61}],61:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.NamedNode=void 0;n.NamedNode=class{constructor(t){this.termType="NamedNode",this.value=t}equals(t){return!!t&&"NamedNode"===t.termType&&t.value===this.value}}},{}],62:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Quad=void 0;n.Quad=class{constructor(t,e,n,i){this.termType="Quad",this.value="",this.subject=t,this.predicate=e,this.object=n,this.graph=i}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&this.subject.equals(t.subject)&&this.predicate.equals(t.predicate)&&this.object.equals(t.object)&&this.graph.equals(t.graph)}}},{}],63:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Variable=void 0;n.Variable=class{constructor(t){this.termType="Variable",this.value=t}equals(t){return!!t&&"Variable"===t.termType&&t.value===this.value}}},{}],64:[function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(n,"__esModule",{value:!0}),r(t("./lib/RdfXmlParser"),n)},{"./lib/RdfXmlParser":66}],65:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseError=void 0;class i extends Error{constructor(t,e){const n=t.saxStream._parser;super(t.trackPosition?`Line ${n.line+1} column ${n.column+1}: ${e}`:e)}}n.ParseError=i},{}],66:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ParseType=n.RdfXmlParser=void 0;const i=t("relative-to-absolute-iri"),r=t("sax"),s=t("stream"),o=t("./ParseError"),a=t("rdf-data-factory");class l extends s.Transform{constructor(t){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},t&&(Object.assign(this,t),this.options=t),this.dataFactory||(this.dataFactory=new a.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),this.saxStream=r.createStream(this.strict,{xmlns:!1,position:this.trackPosition}),this.strict||(this.saxStream._parser.looseCase="toString"),this.attachSaxListeners()}static parseNamespace(t,e){const n={};let i=!1;for(const s in t.attributes)s.startsWith("xmlns")&&(5===s.length?(i=!0,n[""]=t.attributes[s]):":"===s.charAt(5)&&(i=!0,n[s.substr(6)]=t.attributes[s]));const r=e&&e.ns?e.ns:[l.DEFAULT_NS];return i?r.concat([n]):r}static expandPrefixedTerm(t,e,n){const i=t.indexOf(":");let r,s;i>=0?(r=t.substr(0,i),s=t.substr(i+1)):(r="",s=t);let a=null,l=null;for(let o=e.length-1;o>=0;o--){const t=e[o][r];if(t){a=t;break}l||(l=e[o][""])}if(!a){if(r&&"xmlns"!==r)throw new o.ParseError(n,`The prefix '${r}' in term '${t}' was not bound.`);a=l||""}return{prefix:r,local:s,uri:a}}static isValidIri(t){return l.IRI_REGEX.test(t)}import(t){const e=new s.PassThrough({readableObjectMode:!0});t.on("error",t=>n.emit("error",t)),t.on("data",t=>e.push(t)),t.on("end",()=>e.push(null));const n=e.pipe(new l(this.options));return n}_transform(t,e,n){try{this.saxStream.write(t,e)}catch(i){return n(i)}n()}newParseError(t){return new o.ParseError(this,t)}valueToUri(t,e){return this.uriToNamedNode(i.resolve(t,e.baseIRI))}uriToNamedNode(t){if(!l.isValidIri(t))throw this.newParseError(`Invalid URI: ${t}`);return this.dataFactory.namedNode(t)}validateNcname(t){if(!l.NCNAME_MATCHER.test(t))throw this.newParseError(`Not a valid NCName: ${t}`)}attachSaxListeners(){this.saxStream.on("error",t=>this.emit("error",t)),this.saxStream.on("opentag",this.onTag.bind(this)),this.saxStream.on("text",this.onText.bind(this)),this.saxStream.on("closetag",this.onCloseTag.bind(this)),this.saxStream.on("doctype",this.onDoctype.bind(this))}onTag(t){const e=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let n=c.RESOURCE;if(e&&(e.hadChildren=!0,n=e.childrenParseType),e&&e.childrenStringTags){const n=t.name;let i="";for(const e in t.attributes)i+=` ${e}="${t.attributes[e]}"`;e.childrenStringTags.push(`<${n}${i}>`);const r={childrenStringTags:e.childrenStringTags};return r.childrenStringEmitClosingTag=``,void this.activeTagStack.push(r)}const i={};e?(i.language=e.language,i.baseIRI=e.baseIRI):i.baseIRI=this.baseIRI,this.activeTagStack.push(i),i.ns=l.parseNamespace(t,e),n===c.RESOURCE?this.onTagResource(t,i,e,!e):this.onTagProperty(t,i,e)}onTagResource(t,e,n,r){const s=l.expandPrefixedTerm(t.name,e.ns,this);e.childrenParseType=c.PROPERTY;let o=!0;if(s.uri===l.RDF){if(!r&&l.FORBIDDEN_NODE_ELEMENTS.indexOf(s.local)>=0)throw this.newParseError(`Illegal node element name: ${s.local}`);switch(s.local){case"RDF":e.childrenParseType=c.RESOURCE;case"Description":o=!1}}const a=[],u=[];let h=null,d=!1,p=!1,f=null;for(const c in t.attributes){const r=t.attributes[c],s=l.expandPrefixedTerm(c,e.ns,this);if(n&&s.uri===l.RDF)switch(s.local){case"about":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);h=r;continue;case"ID":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);this.validateNcname(r),h="#"+r,d=!0;continue;case"nodeID":if(h)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${r} and ${h} where found.`);this.validateNcname(r),h=r,p=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":f=r;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(s.uri===l.XML){if("lang"===s.local){e.language=""===r?null:r.toLowerCase();continue}if("base"===s.local){e.baseIRI=i.resolve(r,e.baseIRI);continue}}"xml"!==s.prefix&&s.uri&&(a.push(this.uriToNamedNode(s.uri+s.local)),u.push(r))}if(null!==h&&(e.subject=p?this.dataFactory.blankNode(h):this.valueToUri(h,e),d&&this.claimNodeId(e.subject)),e.subject||(e.subject=this.dataFactory.blankNode()),o){const t=this.uriToNamedNode(s.uri+s.local);this.emitTriple(e.subject,this.dataFactory.namedNode(l.RDF+"type"),t,n?n.reifiedStatementId:null)}if(n){if(n.predicate)if(n.childrenCollectionSubject){const t=this.dataFactory.blankNode();this.emitTriple(n.childrenCollectionSubject,n.childrenCollectionPredicate,t,n.reifiedStatementId),this.emitTriple(t,this.dataFactory.namedNode(l.RDF+"first"),e.subject,e.reifiedStatementId),n.childrenCollectionSubject=t,n.childrenCollectionPredicate=this.dataFactory.namedNode(l.RDF+"rest")}else{this.emitTriple(n.subject,n.predicate,e.subject,n.reifiedStatementId);for(let t=0;t=0)throw this.newParseError(`Illegal property element name: ${i.local}`);e.predicateSubPredicates=[],e.predicateSubObjects=[];let r=!1,s=!1,o=null,a=!0;const u=[],h=[];for(const d in t.attributes){const n=t.attributes[d],i=l.expandPrefixedTerm(d,e.ns,this);if(i.uri===l.RDF)switch(i.local){case"resource":if(o)throw this.newParseError(`Found both rdf:resource (${n}) and rdf:nodeID (${o}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${n})`);e.hadChildren=!0,o=n,a=!1;continue;case"datatype":if(s)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${n}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${n})`);e.datatype=this.valueToUri(n,e);continue;case"nodeID":if(s)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${n}).`);if(e.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${n}).`);if(r)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${n})`);this.validateNcname(n),e.hadChildren=!0,o=n,a=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(s)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(e.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${e.datatype.value})`);if(o)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${o})`);if("Resource"===n){r=!0,e.childrenParseType=c.PROPERTY;const t=this.dataFactory.blankNode();this.emitTriple(e.subject,e.predicate,t,e.reifiedStatementId),e.subject=t,e.predicate=null}else"Collection"===n?(r=!0,e.hadChildren=!0,e.childrenCollectionSubject=e.subject,e.childrenCollectionPredicate=e.predicate,a=!1):"Literal"===n&&(r=!0,e.childrenTagsToString=!0,e.childrenStringTags=[]);continue;case"ID":this.validateNcname(n),e.reifiedStatementId=this.valueToUri("#"+n,e),this.claimNodeId(e.reifiedStatementId);continue}else if(i.uri===l.XML&&"lang"===i.local){e.language=""===n?null:n.toLowerCase();continue}if("xml"!==i.prefix&&"xmlns"!==i.prefix&&i.uri){if(r||e.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${n}`);e.hadChildren=!0,s=!0,u.push(this.uriToNamedNode(i.uri+i.local)),h.push(this.dataFactory.literal(n,e.datatype||e.language))}}if(null!==o){const t=e.subject;e.subject=a?this.dataFactory.blankNode(o):this.valueToUri(o,e),this.emitTriple(t,e.predicate,e.subject,e.reifiedStatementId);for(let n=0;n/g,(t,e,n)=>(this.saxStream._parser.ENTITIES[e]=n,""))}}var c,u;n.RdfXmlParser=l,l.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*):[^ "<>{}|\\\[\]`]*$/,l.MIME_TYPE="application/rdf+xml",l.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",l.XML="http://www.w3.org/XML/1998/namespace",l.XMLNS="http://www.w3.org/2000/xmlns/",l.DEFAULT_NS={xml:l.XML},l.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],l.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],l.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,(u=c=n.ParseType||(n.ParseType={}))[u.RESOURCE=0]="RESOURCE",u[u.PROPERTY=1]="PROPERTY"},{"./ParseError":65,"rdf-data-factory":56,"relative-to-absolute-iri":82,sax:85,stream:87}],67:[function(t,e,n){"use strict";var i={};function r(t,e,n){n||(n=Error);var r=function(t){function n(n,i,r){return t.call(this,function(t,n,i){return"string"==typeof e?e:e(t,n,i)}(n,i,r))||this}return function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}(n,t),n}(n);r.prototype.name=n.name,r.prototype.code=t,i[t]=r}function s(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map(function(t){return String(t)}),n>2?"one of ".concat(e," ").concat(t.slice(0,n-1).join(", "),", or ")+t[n-1]:2===n?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError),r("ERR_INVALID_ARG_TYPE",function(t,e,n){var i,r;if("string"==typeof e&&function(t,e,n){return t.substr(!n||n<0?0:+n,e.length)===e}(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,n){return(void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}(t," argument"))r="The ".concat(t," ").concat(i," ").concat(s(e,"type"));else{var o=function(t,e,n){return"number"!=typeof n&&(n=0),!(n+e.length>t.length)&&-1!==t.indexOf(e,n)}(t,".")?"property":"argument";r='The "'.concat(t,'" ').concat(o," ").concat(i," ").concat(s(e,"type"))}return r+". Received type ".concat(typeof n)},TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"}),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"}),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=i},{}],68:[function(t,e,n){(function(n){(function(){"use strict";var i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};e.exports=c;var r=t("./_stream_readable"),s=t("./_stream_writable");t("inherits")(c,r);for(var o=i(s.prototype),a=0;a0)if("string"!=typeof e&&!o.objectMode&&Object.getPrototypeOf(e)!==a.prototype&&(e=function(t){return a.from(t)}(e)),i)o.endEmitted?x(t,new w):T(t,o,e,!0);else if(o.ended)x(t,new v);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!n?(e=o.decoder.write(e),o.objectMode||0!==e.length?T(t,o,e,!1):I(t,o)):T(t,o,e,!1)}else i||(o.reading=!1,I(t,o));return!o.ended&&(o.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=k?t=k:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function A(t){var e=t._readableState;c("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(c("emitReadable",e.flowing),e.emittedReadable=!0,n.nextTick(M,t))}function M(t){var e=t._readableState;c("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,j(t)}function I(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(D,t,e))}function D(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function N(t){c("readable nexttick read 0"),t.read(0)}function L(t,e){c("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),j(t),e.flowing&&!e.reading&&t.read(0)}function j(t){var e=t._readableState;for(c("flow",e.flowing);e.flowing&&null!==t.read(););}function F(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):n=e.buffer.consume(t,e.decoder),n);var n}function B(t){var e=t._readableState;c("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,n.nextTick(V,e,t))}function V(t,e){if(c("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var n=e._writableState;(!n||n.autoDestroy&&n.finished)&&e.destroy()}}function z(t,e){for(var n=0,i=t.length;n=e.highWaterMark:e.length>0)||e.ended))return c("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?B(this):A(this),null;if(0===(t=P(t,e))&&e.ended)return 0===e.length&&B(this),null;var i,r=e.needReadable;return c("need readable",r),(0===e.length||e.length-t0?F(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&B(this)),null!==i&&this.emit("data",i),i},E.prototype._read=function(t){x(this,new _("_read()"))},E.prototype.pipe=function(t,e){var i=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=t;break;case 1:r.pipes=[r.pipes,t];break;default:r.pipes.push(t)}r.pipesCount+=1,c("pipe count=%d opts=%j",r.pipesCount,e);var o=e&&!1===e.end||t===n.stdout||t===n.stderr?m:l;function a(e,n){c("onunpipe"),e===i&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,c("cleanup"),t.removeListener("close",f),t.removeListener("finish",g),t.removeListener("drain",u),t.removeListener("error",p),t.removeListener("unpipe",a),i.removeListener("end",l),i.removeListener("end",m),i.removeListener("data",d),h=!0,r.awaitDrain&&(!t._writableState||t._writableState.needDrain)&&u())}function l(){c("onend"),t.end()}r.endEmitted?n.nextTick(o):i.once("end",o),t.on("unpipe",a);var u=function(t){return function(){var e=t._readableState;c("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,j(t))}}(i);t.on("drain",u);var h=!1;function d(e){c("ondata");var n=t.write(e);c("dest.write",n),!1===n&&((1===r.pipesCount&&r.pipes===t||r.pipesCount>1&&-1!==z(r.pipes,t))&&!h&&(c("false write response, pause",r.awaitDrain),r.awaitDrain++),i.pause())}function p(e){c("onerror",e),m(),t.removeListener("error",p),0===s(t,"error")&&x(t,e)}function f(){t.removeListener("finish",g),m()}function g(){c("onfinish"),t.removeListener("close",f),m()}function m(){c("unpipe"),i.unpipe(t)}return i.on("data",d),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",p),t.once("close",f),t.once("finish",g),t.emit("pipe",i),r.flowing||(c("pipe resume"),i.resume()),t},E.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var i=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,!1!==r.flowing&&this.resume()):"readable"===t&&!r.endEmitted&&!r.readableListening&&(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,c("on readable",r.length,r.reading),r.length?A(this):r.reading||n.nextTick(N,this)),i},E.prototype.removeListener=function(t,e){var i=o.prototype.removeListener.call(this,t,e);return"readable"===t&&n.nextTick(R,this),i},E.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return("readable"===t||void 0===t)&&n.nextTick(R,this),e},E.prototype.resume=function(){var t=this._readableState;return t.flowing||(c("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,n.nextTick(L,t,e))}(this,t)),t.paused=!1,this},E.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},E.prototype.wrap=function(t){var e=this,n=this._readableState,i=!1;for(var r in t.on("end",function(){if(c("wrapped end"),n.decoder&&!n.ended){var t=n.decoder.end();t&&t.length&&e.push(t)}e.push(null)}),t.on("data",function(r){c("wrapped data"),n.decoder&&(r=n.decoder.write(r)),n.objectMode&&null==r||!(n.objectMode||r&&r.length)||e.push(r)||(i=!0,t.pause())}),t)void 0===this[r]&&"function"==typeof t[r]&&(this[r]=function(e){return function(){return t[e].apply(t,arguments)}}(r));for(var s=0;s-1))throw new w(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(E.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(E.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(t,e,n){n(new g("_write()"))},E.prototype._writev=null,E.prototype.end=function(t,e,i){var r=this._writableState;return"function"==typeof t?(i=t,t=null,e=null):"function"==typeof e&&(i=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||function(t,e,i){e.ending=!0,I(t,e),i&&(e.finished?n.nextTick(i):t.once("finish",i)),e.ended=!0,t.writable=!1}(this,r,i),this},Object.defineProperty(E.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){!this._writableState||(this._writableState.destroyed=t)}}),E.prototype.destroy=h.destroy,E.prototype._undestroy=h.undestroy,E.prototype._destroy=function(t,e){e(t)}}).call(this)}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":67,"./_stream_duplex":68,"./internal/streams/destroy":75,"./internal/streams/state":79,"./internal/streams/stream":80,_process:44,buffer:6,inherits:10,"util-deprecate":90}],73:[function(t,e,n){(function(n){(function(){"use strict";var i;function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var s=t("./end-of-stream"),o=Symbol("lastResolve"),a=Symbol("lastReject"),l=Symbol("error"),c=Symbol("ended"),u=Symbol("lastPromise"),h=Symbol("handlePromise"),d=Symbol("stream");function p(t,e){return{value:t,done:e}}function f(t){var e=t[o];if(null!==e){var n=t[d].read();null!==n&&(t[u]=null,t[o]=null,t[a]=null,e(p(n,!1)))}}function g(t){n.nextTick(f,t)}var m=Object.getPrototypeOf(function(){}),b=Object.setPrototypeOf((r(i={get stream(){return this[d]},next:function(){var t=this,e=this[l];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(p(void 0,!0));if(this[d].destroyed)return new Promise(function(e,i){n.nextTick(function(){t[l]?i(t[l]):e(p(void 0,!0))})});var i,r=this[u];if(r)i=new Promise(function(t,e){return function(n,i){t.then(function(){e[c]?n(p(void 0,!0)):e[h](n,i)},i)}}(r,this));else{var s=this[d].read();if(null!==s)return Promise.resolve(p(s,!1));i=new Promise(this[h])}return this[u]=i,i}},Symbol.asyncIterator,function(){return this}),r(i,"return",function(){var t=this;return new Promise(function(e,n){t[d].destroy(null,function(t){t?n(t):e(p(void 0,!0))})})}),i),m);e.exports=function(t){var e,n=Object.create(b,(r(e={},d,{value:t,writable:!0}),r(e,o,{value:null,writable:!0}),r(e,a,{value:null,writable:!0}),r(e,l,{value:null,writable:!0}),r(e,c,{value:t._readableState.endEmitted,writable:!0}),r(e,h,{value:function(t,e){var i=n[d].read();i?(n[u]=null,n[o]=null,n[a]=null,t(p(i,!1))):(n[o]=t,n[a]=e)},writable:!0}),e));return n[u]=null,s(t,function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=n[a];return null!==e&&(n[u]=null,n[o]=null,n[a]=null,e(t)),void(n[l]=t)}var i=n[o];null!==i&&(n[u]=null,n[o]=null,n[a]=null,i(p(void 0,!0))),n[c]=!0}),t.on("readable",g.bind(null,n)),n}}).call(this)}).call(this,t("_process"))},{"./end-of-stream":76,_process:44}],74:[function(t,e,n){"use strict";function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function s(t,e){for(var n=0;n0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e=o.allocUnsafe(t>>>0),n=this.head,i=0;n;)c(n.data,e,i),i+=n.data.length,n=n.next;return e}},{key:"consume",value:function(t,e){var n;return tr.length?r.length:t;if(i+=s===r.length?r:r.slice(0,t),0==(t-=s)){s===r.length?(++n,this.head=e.next?e.next:this.tail=null):(this.head=e,e.data=r.slice(s));break}++n}return this.length-=n,i}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),n=this.head,i=1;for(n.data.copy(e),t-=n.data.length;n=n.next;){var r=n.data,s=t>r.length?r.length:t;if(r.copy(e,e.length-t,0,s),0==(t-=s)){s===r.length?(++i,this.head=n.next?n.next:this.tail=null):(this.head=n,n.data=r.slice(s));break}++i}return this.length-=i,e}},{key:l,value:function(t,e){return a(this,function(t){for(var e=1;e0,function(t){r||(r=t),t&&o.forEach(c),!s&&(o.forEach(c),i(r))})});return e.reduce(u)}},{"../../../errors":67,"./end-of-stream":76}],79:[function(t,e,n){"use strict";var i=t("../../../errors").codes.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(t,e,n,r){var s=function(t,e,n){return null!=t.highWaterMark?t.highWaterMark:e?t[n]:null}(e,r,n);if(null!=s){if(!isFinite(s)||Math.floor(s)!==s||s<0)throw new i(r?n:"highWaterMark",s);return Math.floor(s)}return t.objectMode?16:16384}}},{"../../../errors":67}],80:[function(t,e,n){e.exports=t("events").EventEmitter},{events:8}],81:[function(t,e,n){(n=e.exports=t("./lib/_stream_readable.js")).Stream=n,n.Readable=n,n.Writable=t("./lib/_stream_writable.js"),n.Duplex=t("./lib/_stream_duplex.js"),n.Transform=t("./lib/_stream_transform.js"),n.PassThrough=t("./lib/_stream_passthrough.js"),n.finished=t("./lib/internal/streams/end-of-stream.js"),n.pipeline=t("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":68,"./lib/_stream_passthrough.js":69,"./lib/_stream_readable.js":70,"./lib/_stream_transform.js":71,"./lib/_stream_writable.js":72,"./lib/internal/streams/end-of-stream.js":76,"./lib/internal/streams/pipeline.js":78}],82:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),function(t){for(var e in t)n.hasOwnProperty(e)||(n[e]=t[e])}(t("./lib/Resolve"))},{"./lib/Resolve":83}],83:[function(t,e,n){"use strict";function i(t){const e=[];let n=0;for(;nt.join("")).join("/")}function r(t,e){let n=e+1;e>=0?"/"===t[e+1]&&"/"===t[e+2]&&(n=e+3):"/"===t[0]&&"/"===t[1]&&(n=2);const r=t.indexOf("/",n);return r<0?t:t.substr(0,r)+i(t.substr(r))}function s(t){return!t||"#"===t||"?"===t||"/"===t}Object.defineProperty(n,"__esModule",{value:!0}),n.resolve=function(t,e){const n=(e=e||"").indexOf("#");if(n>0&&(e=e.substr(0,n)),!t.length){if(e.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${e}' for value '${t}'`);return e}if(t.startsWith("?")){const n=e.indexOf("?");return n>0&&(e=e.substr(0,n)),e+t}if(t.startsWith("#"))return e+t;if(!e.length){const e=t.indexOf(":");if(e<0)throw new Error(`Found invalid relative IRI '${t}' for a missing baseIRI`);return r(t,e)}const s=t.indexOf(":");if(s>=0)return r(t,s);const o=e.indexOf(":");if(o<0)throw new Error(`Found invalid baseIRI '${e}' for value '${t}'`);const a=e.substr(0,o+1);if(0===t.indexOf("//"))return a+r(t,s);let l;if(e.indexOf("//",o)===o+1){if(l=e.indexOf("/",o+3),l<0)return e.length>o+3?e+"/"+r(t,s):a+r(t,s)}else if(l=e.indexOf("/",o+1),l<0)return a+r(t,s);if(0===t.indexOf("/"))return e.substr(0,l)+i(t);let c=e.substr(l);const u=c.lastIndexOf("/");return u>=0&&u"===s?(O(e,"onsgmldeclaration",e.sgmlDecl),e.sgmlDecl="",e.state=S.TEXT):(m(s)&&(e.state=S.SGML_DECL_QUOTED),e.sgmlDecl+=s);continue;case S.SGML_DECL_QUOTED:s===e.q&&(e.state=S.SGML_DECL,e.q=""),e.sgmlDecl+=s;continue;case S.DOCTYPE:">"===s?(e.state=S.TEXT,O(e,"ondoctype",e.doctype),e.doctype=!0):(e.doctype+=s,"["===s?e.state=S.DOCTYPE_DTD:m(s)&&(e.state=S.DOCTYPE_QUOTED,e.q=s));continue;case S.DOCTYPE_QUOTED:e.doctype+=s,s===e.q&&(e.q="",e.state=S.DOCTYPE);continue;case S.DOCTYPE_DTD:e.doctype+=s,"]"===s?e.state=S.DOCTYPE:m(s)&&(e.state=S.DOCTYPE_DTD_QUOTED,e.q=s);continue;case S.DOCTYPE_DTD_QUOTED:e.doctype+=s,s===e.q&&(e.state=S.DOCTYPE_DTD,e.q="");continue;case S.COMMENT:"-"===s?e.state=S.COMMENT_ENDING:e.comment+=s;continue;case S.COMMENT_ENDING:"-"===s?(e.state=S.COMMENT_ENDED,e.comment=k(e.opt,e.comment),e.comment&&O(e,"oncomment",e.comment),e.comment=""):(e.comment+="-"+s,e.state=S.COMMENT);continue;case S.COMMENT_ENDED:">"!==s?(M(e,"Malformed comment"),e.comment+="--"+s,e.state=S.COMMENT):e.state=S.TEXT;continue;case S.CDATA:"]"===s?e.state=S.CDATA_ENDING:e.cdata+=s;continue;case S.CDATA_ENDING:"]"===s?e.state=S.CDATA_ENDING_2:(e.cdata+="]"+s,e.state=S.CDATA);continue;case S.CDATA_ENDING_2:">"===s?(e.cdata&&O(e,"oncdata",e.cdata),O(e,"onclosecdata"),e.cdata="",e.state=S.TEXT):"]"===s?e.cdata+="]":(e.cdata+="]]"+s,e.state=S.CDATA);continue;case S.PROC_INST:"?"===s?e.state=S.PROC_INST_ENDING:g(s)?e.state=S.PROC_INST_BODY:e.procInstName+=s;continue;case S.PROC_INST_BODY:if(!e.procInstBody&&g(s))continue;"?"===s?e.state=S.PROC_INST_ENDING:e.procInstBody+=s;continue;case S.PROC_INST_ENDING:">"===s?(O(e,"onprocessinginstruction",{name:e.procInstName,body:e.procInstBody}),e.procInstName=e.procInstBody="",e.state=S.TEXT):(e.procInstBody+="?"+s,e.state=S.PROC_INST_BODY);continue;case S.OPEN_TAG:y(d,s)?e.tagName+=s:(I(e),">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:(g(s)||M(e,"Invalid character in tag name"),e.state=S.ATTRIB));continue;case S.OPEN_TAG_SLASH:">"===s?(N(e,!0),L(e)):(M(e,"Forward-slash in opening tag not followed by >"),e.state=S.ATTRIB);continue;case S.ATTRIB:if(g(s))continue;">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:y(h,s)?(e.attribName=s,e.attribValue="",e.state=S.ATTRIB_NAME):M(e,"Invalid attribute name");continue;case S.ATTRIB_NAME:"="===s?e.state=S.ATTRIB_VALUE:">"===s?(M(e,"Attribute without value"),e.attribValue=e.attribName,R(e),N(e)):g(s)?e.state=S.ATTRIB_NAME_SAW_WHITE:y(d,s)?e.attribName+=s:M(e,"Invalid attribute name");continue;case S.ATTRIB_NAME_SAW_WHITE:if("="===s)e.state=S.ATTRIB_VALUE;else{if(g(s))continue;M(e,"Attribute without value"),e.tag.attributes[e.attribName]="",e.attribValue="",O(e,"onattribute",{name:e.attribName,value:""}),e.attribName="",">"===s?N(e):y(h,s)?(e.attribName=s,e.state=S.ATTRIB_NAME):(M(e,"Invalid attribute name"),e.state=S.ATTRIB)}continue;case S.ATTRIB_VALUE:if(g(s))continue;m(s)?(e.q=s,e.state=S.ATTRIB_VALUE_QUOTED):(M(e,"Unquoted attribute value"),e.state=S.ATTRIB_VALUE_UNQUOTED,e.attribValue=s);continue;case S.ATTRIB_VALUE_QUOTED:if(s!==e.q){"&"===s?e.state=S.ATTRIB_VALUE_ENTITY_Q:e.attribValue+=s;continue}R(e),e.q="",e.state=S.ATTRIB_VALUE_CLOSED;continue;case S.ATTRIB_VALUE_CLOSED:g(s)?e.state=S.ATTRIB:">"===s?N(e):"/"===s?e.state=S.OPEN_TAG_SLASH:y(h,s)?(M(e,"No whitespace between attributes"),e.attribName=s,e.attribValue="",e.state=S.ATTRIB_NAME):M(e,"Invalid attribute name");continue;case S.ATTRIB_VALUE_UNQUOTED:if(!b(s)){"&"===s?e.state=S.ATTRIB_VALUE_ENTITY_U:e.attribValue+=s;continue}R(e),">"===s?N(e):e.state=S.ATTRIB;continue;case S.CLOSE_TAG:if(e.tagName)">"===s?L(e):y(d,s)?e.tagName+=s:e.script?(e.script+=""===s?L(e):M(e,"Invalid characters in closing tag");continue;case S.TEXT_ENTITY:case S.ATTRIB_VALUE_ENTITY_Q:case S.ATTRIB_VALUE_ENTITY_U:var a,l;switch(e.state){case S.TEXT_ENTITY:a=S.TEXT,l="textNode";break;case S.ATTRIB_VALUE_ENTITY_Q:a=S.ATTRIB_VALUE_QUOTED,l="attribValue";break;case S.ATTRIB_VALUE_ENTITY_U:a=S.ATTRIB_VALUE_UNQUOTED,l="attribValue"}";"===s?(e[l]+=j(e),e.entity="",e.state=a):y(e.entity.length?f:p,s)?e.entity+=s:(M(e,"Invalid character in entity name"),e[l]+="&"+e.entity+s,e.entity="",e.state=a);continue;default:throw new Error(e,"Unknown state: "+e.state)}return e.position>=e.bufferCheckPosition&&function(t){for(var e=Math.max(n.MAX_BUFFER_LENGTH,10),i=0,s=0,o=r.length;se)switch(r[s]){case"textNode":T(t);break;case"cdata":O(t,"oncdata",t.cdata),t.cdata="";break;case"script":O(t,"onscript",t.script),t.script="";break;default:P(t,"Max buffer length exceeded: "+r[s])}i=Math.max(i,a)}t.bufferCheckPosition=n.MAX_BUFFER_LENGTH-i+t.position}(e),e},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function(t){T(t),""!==t.cdata&&(O(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(O(t,"onscript",t.script),t.script="")}(this)}};try{i=t("stream").Stream}catch(_){i=function(){}}var o=n.EVENTS.filter(function(t){return"error"!==t&&"end"!==t});function a(t,e){if(!(this instanceof a))return new a(t,e);i.apply(this),this._parser=new s(t,e),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit("end")},this._parser.onerror=function(t){n.emit("error",t),n._parser.error=null},this._decoder=null,o.forEach(function(t){Object.defineProperty(n,"on"+t,{get:function(){return n._parser["on"+t]},set:function(e){if(!e)return n.removeAllListeners(t),n._parser["on"+t]=e,e;n.on(t,e)},enumerable:!0,configurable:!1})})}(a.prototype=Object.create(i.prototype,{constructor:{value:a}})).write=function(n){if("function"==typeof e&&"function"==typeof e.isBuffer&&e.isBuffer(n)){if(!this._decoder){var i=t("string_decoder").StringDecoder;this._decoder=new i("utf8")}n=this._decoder.write(n)}return this._parser.write(n.toString()),this.emit("data",n),!0},a.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},a.prototype.on=function(t,e){var n=this;return!n._parser["on"+t]&&-1!==o.indexOf(t)&&(n._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),n.emit.apply(n,e)}),i.prototype.on.call(n,t,e)};var l="http://www.w3.org/XML/1998/namespace",c="http://www.w3.org/2000/xmlns/",u={xml:l,xmlns:c},h=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,d=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,f=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function g(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function m(t){return'"'===t||"'"===t}function b(t){return">"===t||g(t)}function y(t,e){return t.test(e)}function v(t,e){return!y(t,e)}var _,w,x,S=0;for(var C in n.STATE={BEGIN:S++,BEGIN_WHITESPACE:S++,TEXT:S++,TEXT_ENTITY:S++,OPEN_WAKA:S++,SGML_DECL:S++,SGML_DECL_QUOTED:S++,DOCTYPE:S++,DOCTYPE_QUOTED:S++,DOCTYPE_DTD:S++,DOCTYPE_DTD_QUOTED:S++,COMMENT_STARTING:S++,COMMENT:S++,COMMENT_ENDING:S++,COMMENT_ENDED:S++,CDATA:S++,CDATA_ENDING:S++,CDATA_ENDING_2:S++,PROC_INST:S++,PROC_INST_BODY:S++,PROC_INST_ENDING:S++,OPEN_TAG:S++,OPEN_TAG_SLASH:S++,ATTRIB:S++,ATTRIB_NAME:S++,ATTRIB_NAME_SAW_WHITE:S++,ATTRIB_VALUE:S++,ATTRIB_VALUE_QUOTED:S++,ATTRIB_VALUE_CLOSED:S++,ATTRIB_VALUE_UNQUOTED:S++,ATTRIB_VALUE_ENTITY_Q:S++,ATTRIB_VALUE_ENTITY_U:S++,CLOSE_TAG:S++,CLOSE_TAG_SAW_WHITE:S++,SCRIPT:S++,SCRIPT_ENDING:S++},n.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},n.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(n.ENTITIES).forEach(function(t){var e=n.ENTITIES[t],i="number"==typeof e?String.fromCharCode(e):e;n.ENTITIES[t]=i}),n.STATE)n.STATE[n.STATE[C]]=C;function E(t,e,n){t[e]&&t[e](n)}function O(t,e,n){t.textNode&&T(t),E(t,e,n)}function T(t){t.textNode=k(t.opt,t.textNode),t.textNode&&E(t,"ontext",t.textNode),t.textNode=""}function k(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function P(t,e){return T(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,E(t,"onerror",e),t}function A(t){return t.sawRoot&&!t.closedRoot&&M(t,"Unclosed root tag"),t.state!==S.BEGIN&&t.state!==S.BEGIN_WHITESPACE&&t.state!==S.TEXT&&P(t,"Unexpected end"),T(t),t.c="",t.closed=!0,E(t,"onend"),s.call(t,t.strict,t.opt),t}function M(t,e){if("object"!=typeof t||!(t instanceof s))throw new Error("bad call to strictFail");t.strict&&P(t,e)}function I(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,n=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(n.ns=e.ns),t.attribList.length=0,O(t,"onopentagstart",n)}function D(t,e){var n=t.indexOf(":")<0?["",t]:t.split(":"),i=n[0],r=n[1];return e&&"xmlns"===t&&(i="xmlns",r=""),{prefix:i,local:r}}function R(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=D(t.attribName,!0),n=e.local;if("xmlns"===e.prefix)if("xml"===n&&t.attribValue!==l)M(t,"xml: prefix must be bound to "+l+"\nActual: "+t.attribValue);else if("xmlns"===n&&t.attribValue!==c)M(t,"xmlns: prefix must be bound to "+c+"\nActual: "+t.attribValue);else{var i=t.tag,r=t.tags[t.tags.length-1]||t;i.ns===r.ns&&(i.ns=Object.create(r.ns)),i.ns[n]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,O(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function N(t,e){if(t.opt.xmlns){var n=t.tag,i=D(t.tagName);n.prefix=i.prefix,n.local=i.local,n.uri=n.ns[i.prefix]||"",n.prefix&&!n.uri&&(M(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),n.uri=i.prefix),n.ns&&(t.tags[t.tags.length-1]||t).ns!==n.ns&&Object.keys(n.ns).forEach(function(e){O(t,"onopennamespace",{prefix:e,uri:n.ns[e]})});for(var r=0,s=t.attribList.length;r",t.tagName="",void(t.state=S.SCRIPT);O(t,"onscript",t.script),t.script=""}var e=t.tags.length,n=t.tagName;t.strict||(n=n[t.looseCase]());for(var i=n;e--&&t.tags[e].name!==i;)M(t,"Unexpected close tag");if(e<0)return M(t,"Unmatched closing tag: "+t.tagName),t.textNode+="",void(t.state=S.TEXT);t.tagName=n;for(var r=t.tags.length;r-- >e;){var s=t.tag=t.tags.pop();t.tagName=t.tag.name,O(t,"onclosetag",t.tagName);var o={};for(var a in s.ns)o[a]=s.ns[a];t.opt.xmlns&&s.ns!==(t.tags[t.tags.length-1]||t).ns&&Object.keys(s.ns).forEach(function(e){O(t,"onclosenamespace",{prefix:e,uri:s.ns[e]})})}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=S.TEXT}function j(t){var e,n=t.entity,i=n.toLowerCase(),r="";return t.ENTITIES[n]?t.ENTITIES[n]:t.ENTITIES[i]?t.ENTITIES[i]:("#"===(n=i).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),r=(e=parseInt(n,16)).toString(16)):(n=n.slice(1),r=(e=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(e)||r.toLowerCase()!==n?(M(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function F(t,e){"<"===e?(t.state=S.OPEN_WAKA,t.startTagPosition=t.position):g(e)||(M(t,"Non-whitespace before first tag."),t.textNode=e,t.state=S.TEXT)}function B(t,e){var n="";return e1114111||w(s)!==s)throw RangeError("Invalid code point: "+s);s<=65535?e.push(s):e.push(55296+((s-=65536)>>10),s%1024+56320),(n+1===i||e.length>t)&&(r+=_.apply(null,e),e.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:x,configurable:!0,writable:!0}):String.fromCodePoint=x)}(void 0===n?this.sax={}:n)}).call(this)}).call(this,t("buffer").Buffer)},{buffer:6,stream:87,string_decoder:5}],86:[function(t,e,n){(function(t,e){(function(){!function(e,n){"use strict";if(!e.setImmediate){var i,r=1,s={},o=!1,a=e.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,"[object process]"==={}.toString.call(e.process)?i=function(e){t.nextTick(function(){d(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?(c="setImmediate$"+Math.random()+"$",u=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(c)&&d(+t.data.slice(c.length))},e.addEventListener?e.addEventListener("message",u,!1):e.attachEvent("onmessage",u),i=function(t){e.postMessage(c+t,"*")}):e.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){d(t.data)},i=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;i=function(e){var n=a.createElement("script");n.onreadystatechange=function(){d(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():i=function(t){setTimeout(d,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n.setImmediate="function"==typeof e?e:function(t){var e=l++,i=!(arguments.length<2)&&o.call(arguments,1);return a[e]=!0,r(function(){a[e]&&(i?t.apply(null,i):t.call(null),n.clearImmediate(e))}),e},n.clearImmediate="function"==typeof i?i:function(t){delete a[t]}}).call(this)}).call(this,t("timers").setImmediate,t("timers").clearImmediate)},{"process/browser.js":44,timers:89}],90:[function(t,e,n){(function(t){(function(){function n(e){try{if(!t.localStorage)return!1}catch(i){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(t,e){if(n("noDeprecation"))return t;var i=!1;return function(){if(!i){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation")?console.trace(e):console.warn(e),i=!0}return t.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],91:[function(t,e,n){"use strict";e.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}},{}],92:[function(t,e,n){"use strict";function i(t){var e=this;if(e instanceof i||(e=new i),e.tail=null,e.head=null,e.length=0,t&&"function"==typeof t.forEach)t.forEach(function(t){e.push(t)});else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=e;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");i=this.head.next,n=this.head.value}for(var r=0;null!==i;r++)n=t(n,i.value,r),i=i.next;return n},i.prototype.reduceReverse=function(t,e){var n,i=this.tail;if(arguments.length>1)n=e;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");i=this.tail.prev,n=this.tail.value}for(var r=this.length-1;null!==i;r--)n=t(n,i.value,r),i=i.prev;return n},i.prototype.toArray=function(){for(var t=new Array(this.length),e=0,n=this.head;null!==n;e++)t[e]=n.value,n=n.next;return t},i.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,n=this.tail;null!==n;e++)t[e]=n.value,n=n.prev;return t},i.prototype.slice=function(t,e){(e=e||this.length)<0&&(e+=this.length),(t=t||0)<0&&(t+=this.length);var n=new i;if(ethis.length&&(e=this.length);for(var r=0,s=this.head;null!==s&&rthis.length&&(e=this.length);for(var r=this.length,s=this.tail;null!==s&&r>e;r--)s=s.prev;for(;null!==s&&r>t;r--,s=s.prev)n.push(s.value);return n},i.prototype.splice=function(t,e,...n){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,s=this.head;null!==s&&i=0?1.2:1))}function i(t,e,n,i,s,o){for(var a=0;a-1);o[++c]=l,a[c]=u,a[c+1]=e}for(l=0,c=0;l{return(t=n||(n={})).typeOfFunction="function",t.boolTrue=!0,n;var t})();function i(t,e,i){if(!i||typeof i.value!==n.typeOfFunction)throw new TypeError("Only methods can be decorated with @bind. <"+e+"> is not a method!");return{configurable:n.boolTrue,get:function(){var t=i.value.bind(this);return Object.defineProperty(this,e,{value:t,configurable:n.boolTrue,writable:n.boolTrue}),t}}}e.ak=i,e.ZP=i},97266:function(t,e,n){t.exports={ResizeSensor:n(69835),ElementQueries:n(54845)}},54845:function(t,e,n){"use strict";var i,r,s;"undefined"!=typeof window&&window,r=[n(69835)],void 0!==(s="function"==typeof(i=function(t){var e=function(){var e,n={},i=[];function r(t){t||(t=document.documentElement);var e=window.getComputedStyle(t,null).fontSize;return parseFloat(e)||16}function s(t,e){var n=e.split(/\d/),i=n[n.length-1];switch(e=parseFloat(e),i){case"px":return e;case"em":return e*r(t);case"rem":return e*r();case"vw":return e*document.documentElement.clientWidth/100;case"vh":return e*document.documentElement.clientHeight/100;case"vmin":case"vmax":var s=document.documentElement.clientWidth/100,o=document.documentElement.clientHeight/100;return e*(0,Math["vmin"===i?"min":"max"])(s,o);default:return e}}function o(t,e){this.element=t;var i,r,o,a,l,c,u,h,d=["min-width","min-height","max-width","max-height"];this.call=function(){for(i in o=function(t){if(!t.getBoundingClientRect)return{width:t.offsetWidth,height:t.offsetHeight};var e=t.getBoundingClientRect();return{width:Math.round(e.width),height:Math.round(e.height)}}(this.element),c={},n[e])!n[e].hasOwnProperty(i)||(a=s(this.element,(r=n[e][i]).value),l="width"===r.property?o.width:o.height,u="","min"===r.mode&&l>=a&&(u+=r.value),"max"===r.mode&&l<=a&&(u+=r.value),c[h=r.mode+"-"+r.property]||(c[h]=""),u&&-1===(" "+c[h]+" ").indexOf(" "+u+" ")&&(c[h]+=" "+u));for(var t in d)!d.hasOwnProperty(t)||(c[d[t]]?this.element.setAttribute(d[t],c[d[t]].substr(1)):this.element.removeAttribute(d[t]))}}function a(e,n){e.elementQueriesSetupInformation||(e.elementQueriesSetupInformation=new o(e,n)),e.elementQueriesSensor||(e.elementQueriesSensor=new t(e,function(){e.elementQueriesSetupInformation.call()}))}function l(t,r,s,o){if(void 0===n[t]){n[t]=[];var a=i.length;e.innerHTML+="\n"+t+" {animation: 0.1s element-queries;}",e.innerHTML+="\n"+t+" > .resize-sensor {min-width: "+a+"px;}",i.push(t)}n[t].push({mode:r,property:s,value:o})}function c(t){var e;if(document.querySelectorAll&&(e=t?t.querySelectorAll.bind(t):document.querySelectorAll.bind(document)),!e&&"undefined"!=typeof $$&&(e=$$),!e&&"undefined"!=typeof jQuery&&(e=jQuery),!e)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return e}function u(e){var n=[],i=[],r=[],s=0,o=-1,a=[];for(var l in e.children)if(e.children.hasOwnProperty(l)&&e.children[l].tagName&&"img"===e.children[l].tagName.toLowerCase()){n.push(e.children[l]);var c=e.children[l].getAttribute("min-width")||e.children[l].getAttribute("data-min-width"),u=e.children[l].getAttribute("data-src")||e.children[l].getAttribute("url");r.push(u),i.push({minWidth:c}),c?e.children[l].style.display="none":(s=n.length-1,e.children[l].style.display="block")}function h(){var t,l=!1;for(t in n)!n.hasOwnProperty(t)||i[t].minWidth&&e.offsetWidth>i[t].minWidth&&(l=t);if(l||(l=s),o!==l)if(a[l])n[o].style.display="none",n[l].style.display="block",o=l;else{var c=new Image;c.onload=function(){n[l].src=r[l],n[o].style.display="none",n[l].style.display="block",a[l]=!0,o=l},c.src=r[l]}else n[l].src=r[l]}o=s,e.resizeSensorInstance=new t(e,h),h()}var h=/,?[\s\t]*([^,\n]*?)((?:\[[\s\t]*?(?:min|max)-(?:width|height)[\s\t]*?[~$\^]?=[\s\t]*?"[^"]*?"[\s\t]*?])+)([^,\n\s\{]*)/gim,d=/\[[\s\t]*?(min|max)-(width|height)[\s\t]*?[~$\^]?=[\s\t]*?"([^"]*?)"[\s\t]*?]/gim;function p(t){var e,n,i,r;for(t=t.replace(/'/g,'"');null!==(e=h.exec(t));)for(n=e[1]+e[3],i=e[2];null!==(r=d.exec(i));)l(n,r[1],r[2],r[3])}function f(t){var e="";if(t)if("string"==typeof t)(-1!==(t=t.toLowerCase()).indexOf("min-width")||-1!==t.indexOf("max-width"))&&p(t);else for(var n=0,i=t.length;n img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",e.innerHTML+="\n@keyframes element-queries { 0% { visibility: inherit; } }",document.getElementsByTagName("head")[0].appendChild(e),g=!0);for(var r=0,s=document.styleSheets.length;r0&&o.length>r&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,console&&console.warn&&console.warn(a)}return t}function O(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function T(t,e,n){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},r=O.bind(i);return r.listener=n,i.wrapFn=r,r}function k(t,e,n){var i=t._events;if(void 0===i)return[];var r=i[e];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(s=e[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var a=r[t];if(void 0===a)return!1;if("function"==typeof a)v(a,this,e);else{var l=a.length,c=A(a,l);for(n=0;n=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,r=s;break}if(r<0)return this;0===r?n.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},w.prototype.listeners=function(t){return k(this,t,!0)},w.prototype.rawListeners=function(t){return k(this,t,!1)},w.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):P.call(t,e)},w.prototype.listenerCount=P,w.prototype.eventNames=function(){return this._eventsCount>0?m(this._events):[]},I.prototype.next=function(){if(this.done)return{done:!0};var t=this._next();return t.done&&(this.done=!0),t},"undefined"!=typeof Symbol&&(I.prototype[Symbol.iterator]=function(){return this}),I.of=function(){var t=arguments,e=t.length,n=0;return new I(function(){return n>=e?{done:!0}:{done:!1,value:t[n++]}})},I.empty=function(){var t=new I(null);return t.done=!0,t},I.is=function(t){return t instanceof I||"object"==typeof t&&null!==t&&"function"==typeof t.next};var D=I,R=function(t,e){for(var n,i=arguments.length>1?e:1/0,r=i!==1/0?new Array(i):[],s=0;;){if(s===i)return r;if((n=t.next()).done)return s!==e?r.slice(0,s):r;r[s++]=n.value}},N=function(t){function n(e,n){var i;return(i=t.call(this)||this).name="GraphError",i.message=e||"",i.data=n||{},i}return e(n,t),n}(o(Error)),L=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="InvalidArgumentsGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N),j=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="NotFoundGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N),F=function(t){function n(e,i){var r;return(r=t.call(this,e,i)||this).name="UsageGraphError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(a(r),n.prototype.constructor),r}return e(n,t),n}(N);function B(t,e){this.key=t,this.attributes=e,this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.directedSelfLoops=0,this.undirectedSelfLoops=0,this.in={},this.out={},this.undirected={}}function V(t,e){this.key=t,this.attributes=e,this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}}function z(t,e){this.key=t,this.attributes=e,this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}}function U(t,e,n,i,r,s){this.key=e,this.attributes=s,this.undirected=t,this.source=i,this.target=r,this.generatedKey=n}function H(t,e,n,i,r,s,o){var a,l,c="out",u="in";if(e&&(c=u="undirected"),t.multi){if(void 0===(l=(a=s[c])[r])&&(l=new Set,a[r]=l),l.add(n),i===r&&e)return;void 0===(a=o[u])[i]&&(a[i]=l)}else{if(s[c][r]=n,i===r&&e)return;o[u][i]=n}}function $(t,e,n){var i=t.multi,r=n.source,s=n.target,o=r.key,a=s.key,l=r[e?"undirected":"out"],c=e?"undirected":"in";if(a in l)if(i){var u=l[a];1===u.size?(delete l[a],delete s[c][o]):u.delete(n)}else delete l[a];i||delete s[c][o]}V.prototype.upgradeToMixed=function(){this.undirectedDegree=0,this.undirectedSelfLoops=0,this.undirected={}},z.prototype.upgradeToMixed=function(){this.inDegree=0,this.outDegree=0,this.directedSelfLoops=0,this.in={},this.out={}};var G=[{name:function(t){return"get".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes[i]}}},{name:function(t){return"get".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t){var i;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>1){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var r=""+t,s=""+arguments[1];if(!(i=c(this,r,s,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(r,'" - "').concat(s,'").'))}else if(!(i=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&i.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return i.attributes}}},{name:function(t){return"has".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes.hasOwnProperty(i)}}},{name:function(t){return"set".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i,r){var s;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+t,a=""+i;if(i=arguments[2],r=arguments[3],!(s=c(this,o,a,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(s=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&s.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return s.attributes[i]=r,this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:i}),this}}},{name:function(t){return"update".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i,r){var s;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>3){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var o=""+t,a=""+i;if(i=arguments[2],r=arguments[3],!(s=c(this,o,a,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(o,'" - "').concat(a,'").'))}else if(!(s=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("function"!=typeof r)throw new L("Graph.".concat(e,": updater should be a function."));if("mixed"!==n&&s.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return s.attributes[i]=r(s.attributes[i]),this.emit("edgeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:i}),this}}},{name:function(t){return"remove".concat(t,"Attribute")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return delete r.attributes[i],this.emit("edgeAttributesUpdated",{key:r.key,type:"remove",attributes:r.attributes,name:i}),this}}},{name:function(t){return"replace".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(e,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return r.attributes=i,this.emit("edgeAttributesUpdated",{key:r.key,type:"replace",attributes:r.attributes}),this}}},{name:function(t){return"merge".concat(t,"Attributes")},attacher:function(t,e,n){t.prototype[e]=function(t,i){var r;if("mixed"!==this.type&&"mixed"!==n&&n!==this.type)throw new F("Graph.".concat(e,": cannot find this type of edges in your ").concat(this.type," graph."));if(arguments.length>2){if(this.multi)throw new F("Graph.".concat(e,": cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about."));var s=""+t,o=""+i;if(i=arguments[2],!(r=c(this,s,o,n)))throw new j("Graph.".concat(e,': could not find an edge for the given path ("').concat(s,'" - "').concat(o,'").'))}else if(!(r=this._edges.get(t=""+t)))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" edge in the graph.'));if(!h(i))throw new L("Graph.".concat(e,": provided attributes are not a plain object."));if("mixed"!==n&&r.undirected!==("undirected"===n))throw new j("Graph.".concat(e,': could not find the "').concat(t,'" ').concat(n," edge in the graph."));return l(r.attributes,i),this.emit("edgeAttributesUpdated",{key:r.key,type:"merge",attributes:r.attributes,data:i}),this}}}],W=D,q=function(){var t,e=arguments,n=-1;return new W(function i(){if(!t){if(++n>=e.length)return{done:!0};t=e[n]}var r=t.next();return r.done?(t=null,i()):r})},Y=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function X(t,e){for(var n in e)t.push(e[n].key)}function K(t,e){for(var n in e)e[n].forEach(function(e){return t.push(e.key)})}function Q(t,e,n){for(var i in t)if(i!==n){var r=t[i];e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey)}}function Z(t,e,n){for(var i in t)i!==n&&t[i].forEach(function(t){return e(t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes,t.undirected,t.generatedKey)})}function J(t,e,n){for(var i in t)if(i!==n){var r=t[i];if(e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected,r.generatedKey))return!0}return!1}function tt(t,e,n){var i,r,s,o,a;for(var l in t)if(l!==n)for(i=t[l].values();!0!==(r=i.next()).done;)if(o=(s=r.value).source,e(s.key,s.attributes,o.key,(a=s.target).key,o.attributes,a.attributes,s.undirected,s.generatedKey))return!0;return!1}function et(t,e){var n=Object.keys(t),i=n.length,r=null,s=0;return new D(function o(){var a;if(r){var l=r.next();if(l.done)return r=null,s++,o();a=l.value}else{if(s>=i)return{done:!0};var c=n[s];if(c===e)return s++,o();if((a=t[c])instanceof Set)return r=a.values(),o();s++}return{done:!1,value:[a.key,a.attributes,a.source.key,a.target.key,a.source.attributes,a.target.attributes]}})}function nt(t,e,n){var i=e[n];i&&t.push(i.key)}function it(t,e,n){var i=e[n];i&&i.forEach(function(e){return t.push(e.key)})}function rt(t,e,n){var i=t[e];if(i){var r=i.source,s=i.target;n(i.key,i.attributes,r.key,s.key,r.attributes,s.attributes,i.undirected,i.generatedKey)}}function st(t,e,n){var i=t[e];i&&i.forEach(function(t){return n(t.key,t.attributes,t.source.key,t.target.key,t.source.attributes,t.target.attributes,t.undirected,t.generatedKey)})}function ot(t,e,n){var i=t[e];if(i){var r=i.source,s=i.target;return n(i.key,i.attributes,r.key,s.key,r.attributes,s.attributes,i.undirected,i.generatedKey)}}function at(t,e,n){var i=t[e];if(i){for(var r,s,o=i.values();!0!==(r=o.next()).done;)if(n((s=r.value).key,s.attributes,s.source.key,s.target.key,s.source.attributes,s.target.attributes,s.undirected,s.generatedKey))return!0;return!1}}function lt(t,e){var n=t[e];if(n instanceof Set){var i=n.values();return new D(function(){var t=i.next();if(t.done)return t;var e=t.value;return{done:!1,value:[e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes]}})}return D.of([n.key,n.attributes,n.source.key,n.target.key,n.source.attributes,n.target.attributes])}function ct(t,e){if(0===t.size)return[];if("mixed"===e||e===t.type)return"function"==typeof Array.from?Array.from(t._edges.keys()):R(t._edges.keys(),t._edges.size);for(var n,i,r=new Array("undirected"===e?t.undirectedSize:t.directedSize),s="undirected"===e,o=t._edges.values(),a=0;!0!==(n=o.next()).done;)(i=n.value).undirected===s&&(r[a++]=i.key);return r}function ut(t,e,n){if(0!==t.size)for(var i,r,s="mixed"!==e&&e!==t.type,o="undirected"===e,a=t._edges.values();!0!==(i=a.next()).done;)if(r=i.value,!s||r.undirected===o){var l=r.source,c=r.target;n(r.key,r.attributes,l.key,c.key,l.attributes,c.attributes,r.undirected,r.generatedKey)}}function ht(t,e,n){if(0!==t.size)for(var i,r,s="mixed"!==e&&e!==t.type,o="undirected"===e,a=t._edges.values();!0!==(i=a.next()).done;)if(r=i.value,!s||r.undirected===o){var l=r.source,c=r.target;if(n(r.key,r.attributes,l.key,c.key,l.attributes,c.attributes,r.undirected,r.generatedKey))break}}function dt(t,e){if(0===t.size)return D.empty();var n="mixed"!==e&&e!==t.type,i="undirected"===e,r=t._edges.values();return new D(function(){for(var t,e;;){if((t=r.next()).done)return t;if(e=t.value,!n||e.undirected===i)break}return{value:[e.key,e.attributes,e.source.key,e.target.key,e.source.attributes,e.target.attributes],done:!1}})}function pt(t,e,n,i){var r=[],s=t?K:X;return"undirected"!==e&&("out"!==n&&s(r,i.in),"in"!==n&&s(r,i.out),!n&&i.directedSelfLoops>0&&r.splice(r.lastIndexOf(i.key),1)),"directed"!==e&&s(r,i.undirected),r}function ft(t,e,n,i,r){var s=t?Z:Q;"undirected"!==e&&("out"!==n&&s(i.in,r),"in"!==n&&s(i.out,r,n?null:i.key)),"directed"!==e&&s(i.undirected,r)}function gt(t,e,n,i,r){var s=t?tt:J;"undirected"!==e&&("out"!==n&&s(i.in,r)||"in"!==n&&s(i.out,r,n?null:i.key))||"directed"===e||s(i.undirected,r)}function mt(t,e,n){var i=D.empty();return"undirected"!==t&&("out"!==e&&void 0!==n.in&&(i=q(i,et(n.in))),"in"!==e&&void 0!==n.out&&(i=q(i,et(n.out,e?null:n.key)))),"directed"!==t&&void 0!==n.undirected&&(i=q(i,et(n.undirected))),i}function bt(t,e,n,i,r){var s=e?it:nt,o=[];return"undirected"!==t&&(void 0!==i.in&&"out"!==n&&s(o,i.in,r),void 0!==i.out&&"in"!==n&&s(o,i.out,r),!n&&i.directedSelfLoops>0&&o.splice(o.lastIndexOf(i.key),1)),"directed"!==t&&void 0!==i.undirected&&s(o,i.undirected,r),o}function yt(t,e,n,i,r,s){var o=e?st:rt;"undirected"!==t&&(void 0!==i.in&&"out"!==n&&o(i.in,r,s),i.key!==r&&void 0!==i.out&&"in"!==n&&o(i.out,r,s)),"directed"!==t&&void 0!==i.undirected&&o(i.undirected,r,s)}function vt(t,e,n,i,r,s){var o=e?at:ot;"undirected"!==t&&(void 0!==i.in&&"out"!==n&&o(i.in,r,s)||i.key!==r&&void 0!==i.out&&"in"!==n&&o(i.out,r,s,n?null:i.key))||"directed"===t||void 0===i.undirected||o(i.undirected,r,s)}function _t(t,e,n,i){var r=D.empty();return"undirected"!==t&&(void 0!==n.in&&"out"!==e&&i in n.in&&(r=q(r,lt(n.in,i))),void 0!==n.out&&"in"!==e&&i in n.out&&(r=q(r,lt(n.out,i)))),"directed"!==t&&void 0!==n.undirected&&i in n.undirected&&(r=q(r,lt(n.undirected,i))),r}var wt=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function xt(t,e){if(void 0!==e)for(var n in e)t.add(n)}function St(t,e,n){if("mixed"!==t){if("undirected"===t)return Object.keys(n.undirected);if("string"==typeof e)return Object.keys(n[e])}var i=new Set;return"undirected"!==t&&("out"!==e&&xt(i,n.in),"in"!==e&&xt(i,n.out)),"directed"!==t&&xt(i,n.undirected),R(i.values(),i.size)}function Ct(t,e,n){for(var i in e){var r=e[i];r instanceof Set&&(r=r.values().next().value);var s=r.source,o=s===t?r.target:s;n(o.key,o.attributes)}}function Et(t,e,n,i){for(var r in n){var s=n[r];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===e?s.target:o;t.has(a.key)||(t.add(a.key),i(a.key,a.attributes))}}function Ot(t,e,n){for(var i in e){var r=e[i];r instanceof Set&&(r=r.values().next().value);var s=r.source,o=s===t?r.target:s;if(n(o.key,o.attributes))return!0}return!1}function Tt(t,e,n,i){for(var r in n){var s=n[r];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===e?s.target:o;if(!t.has(a.key)&&(t.add(a.key),i(a.key,a.attributes)))return!0}return!1}function kt(t,e){var n=Object.keys(e),i=n.length,r=0;return new D(function(){if(r>=i)return{done:!0};var s=e[n[r++]];s instanceof Set&&(s=s.values().next().value);var o=s.source,a=o===t?s.target:o;return{done:!1,value:[a.key,a.attributes]}})}function Pt(t,e,n){var i=Object.keys(n),r=i.length,s=0;return new D(function o(){if(s>=r)return{done:!0};var a=n[i[s++]];a instanceof Set&&(a=a.values().next().value);var l=a.source,c=l===e?a.target:l;return t.has(c.key)?o():(t.add(c.key),{done:!1,value:[c.key,c.attributes]})})}function At(t,e,n,i,r){var s=t._nodes.get(i);if("undirected"!==e){if("out"!==n&&void 0!==s.in)for(var o in s.in)if(o===r)return!0;if("in"!==n&&void 0!==s.out)for(var a in s.out)if(a===r)return!0}if("directed"!==e&&void 0!==s.undirected)for(var l in s.undirected)if(l===r)return!0;return!1}function Mt(t,e,n){for(var i,r,s,o,a,l,c,u=e._nodes.values(),h=e.type;!0!==(i=u.next()).done;){if(r=i.value,"undirected"!==h)for(s in o=r.out)if(l=(a=o[s]).target,c=n(r.key,l.key,r.attributes,l.attributes,a.key,a.attributes,a.undirected,a.generatedKey),t&&c)return;if("directed"!==h)for(s in o=r.undirected)if((l=(a=o[s]).target).key!==s&&(l=a.source),c=n(r.key,l.key,r.attributes,l.attributes,a.key,a.attributes,a.undirected,a.generatedKey),t&&c)return}}function It(t,e,n){for(var i,r,s,o,a,l,c,u,h,d=e._nodes.values(),p=e.type;!0!==(i=d.next()).done;){if(r=i.value,"undirected"!==p)for(s in l=r.out)for(o=l[s].values();!0!==(a=o.next()).done;)if(u=(c=a.value).target,h=n(r.key,u.key,r.attributes,u.attributes,c.key,c.attributes,c.undirected,c.generatedKey),t&&h)return;if("directed"!==p)for(s in l=r.undirected)for(o=l[s].values();!0!==(a=o.next()).done;)if((u=(c=a.value).target).key!==s&&(u=c.source),h=n(r.key,u.key,r.attributes,u.attributes,c.key,c.attributes,c.undirected,c.generatedKey),t&&h)return}}function Dt(t,e){var n={key:t};return d(e.attributes)||(n.attributes=l({},e.attributes)),n}function Rt(t,e){var n={source:e.source.key,target:e.target.key};return e.generatedKey||(n.key=t),d(e.attributes)||(n.attributes=l({},e.attributes)),e.undirected&&(n.undirected=!0),n}function Nt(t){return h(t)?"key"in t?!("attributes"in t)||h(t.attributes)&&null!==t.attributes?null:"invalid-attributes":"no-key":"not-object"}function Lt(t){return h(t)?"source"in t?"target"in t?!("attributes"in t)||h(t.attributes)&&null!==t.attributes?"undirected"in t&&"boolean"!=typeof t.undirected?"invalid-undirected":null:"invalid-attributes":"no-target":"no-source":"not-object"}var jt=new Set(["directed","undirected","mixed"]),Ft=new Set(["domain","_events","_eventsCount","_maxListeners"]),Bt={allowSelfLoops:!0,edgeKeyGenerator:null,multi:!1,type:"mixed"};function Vt(t,e,n){var i=new t.NodeDataClass(e,n);return t._nodes.set(e,i),t.emit("nodeAdded",{key:e,attributes:n}),i}function zt(t,e,n,i,r,s,o,a){if(!i&&"undirected"===t.type)throw new F("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===t.type)throw new F("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(a&&!h(a))throw new L("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(a,'"'));if(s=""+s,o=""+o,a=a||{},!t.allowSelfLoops&&s===o)throw new F("Graph.".concat(e,': source & target are the same ("').concat(s,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var l=t._nodes.get(s),c=t._nodes.get(o);if(!l)throw new j("Graph.".concat(e,': source node "').concat(s,'" not found.'));if(!c)throw new j("Graph.".concat(e,': target node "').concat(o,'" not found.'));var u={key:null,undirected:i,source:s,target:o,attributes:a};if(n&&(r=t._edgeKeyGenerator(u)),t._edges.has(r=""+r))throw new F("Graph.".concat(e,': the "').concat(r,'" edge already exists in the graph.'));if(!t.multi&&(i?void 0!==l.undirected[o]:void 0!==l.out[o]))throw new F("Graph.".concat(e,': an edge linking "').concat(s,'" to "').concat(o,"\" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option."));var d=new U(i,r,n,l,c,a);return t._edges.set(r,d),s===o?i?(l.undirectedSelfLoops++,t._undirectedSelfLoopCount++):(l.directedSelfLoops++,t._directedSelfLoopCount++):i?(l.undirectedDegree++,c.undirectedDegree++):(l.outDegree++,c.inDegree++),H(t,i,d,s,o,l,c),i?t._undirectedSize++:t._directedSize++,u.key=r,t.emit("edgeAdded",u),r}function Ut(t,e,n,i,r,s,o,a,c){if(!i&&"undirected"===t.type)throw new F("Graph.".concat(e,": you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead."));if(i&&"directed"===t.type)throw new F("Graph.".concat(e,": you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead."));if(a)if(c){if("function"!=typeof a)throw new L("Graph.".concat(e,': invalid updater function. Expecting a function but got "').concat(a,'"'))}else if(!h(a))throw new L("Graph.".concat(e,': invalid attributes. Expecting an object but got "').concat(a,'"'));var u;if(s=""+s,o=""+o,c&&(u=a,a=void 0),!t.allowSelfLoops&&s===o)throw new F("Graph.".concat(e,': source & target are the same ("').concat(s,"\"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false."));var d,p,f=t._nodes.get(s),g=t._nodes.get(o);if(!n&&(d=t._edges.get(r))){if(d.source.key!==s||d.target.key!==o||i&&(d.source.key!==o||d.target.key!==s))throw new F("Graph.".concat(e,': inconsistency detected when attempting to merge the "').concat(r,'" edge with "').concat(s,'" source & "').concat(o,'" target vs. ("').concat(d.source.key,'", "').concat(d.target.key,'").'));p=d}if(p||t.multi||!f||(p=i?f.undirected[o]:f.out[o]),p)return(c?u:a)?(c?(p.attributes=u(p.attributes),t.emit("edgeAttributesUpdated",{type:"replace",key:p.key,attributes:p.attributes})):(l(p.attributes,a),t.emit("edgeAttributesUpdated",{type:"merge",key:p.key,attributes:p.attributes,data:a})),p.key):p.key;a=a||{},c&&u&&(a=u(a));var m={key:null,undirected:i,source:s,target:o,attributes:a};if(n&&(r=t._edgeKeyGenerator(m)),t._edges.has(r=""+r))throw new F("Graph.".concat(e,': the "').concat(r,'" edge already exists in the graph.'));return f||(f=Vt(t,s,{}),s===o&&(g=f)),g||(g=Vt(t,o,{})),d=new U(i,r,n,f,g,a),t._edges.set(r,d),s===o?i?(f.undirectedSelfLoops++,t._undirectedSelfLoopCount++):(f.directedSelfLoops++,t._directedSelfLoopCount++):i?(f.undirectedDegree++,g.undirectedDegree++):(f.outDegree++,g.inDegree++),H(t,i,d,s,o,f,g),i?t._undirectedSize++:t._directedSize++,m.key=r,t.emit("edgeAdded",m),r}var Ht,$t=function(t){function n(e){var n;if(n=t.call(this)||this,(e=l({},Bt,e)).edgeKeyGenerator&&"function"!=typeof e.edgeKeyGenerator)throw new L("Graph.constructor: invalid 'edgeKeyGenerator' option. Expecting a function but got \"".concat(e.edgeKeyGenerator,'".'));if("boolean"!=typeof e.multi)throw new L("Graph.constructor: invalid 'multi' option. Expecting a boolean but got \"".concat(e.multi,'".'));if(!jt.has(e.type))throw new L('Graph.constructor: invalid \'type\' option. Should be one of "mixed", "directed" or "undirected" but got "'.concat(e.type,'".'));if("boolean"!=typeof e.allowSelfLoops)throw new L("Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got \"".concat(e.allowSelfLoops,'".'));var i,r="mixed"===e.type?B:"directed"===e.type?V:z;return p(a(n),"NodeDataClass",r),p(a(n),"_attributes",{}),p(a(n),"_nodes",new Map),p(a(n),"_edges",new Map),p(a(n),"_directedSize",0),p(a(n),"_undirectedSize",0),p(a(n),"_directedSelfLoopCount",0),p(a(n),"_undirectedSelfLoopCount",0),p(a(n),"_edgeKeyGenerator",e.edgeKeyGenerator||(i=0,function(){return i++})),p(a(n),"_options",e),Ft.forEach(function(t){return p(a(n),t,n[t])}),f(a(n),"order",function(){return n._nodes.size}),f(a(n),"size",function(){return n._edges.size}),f(a(n),"directedSize",function(){return n._directedSize}),f(a(n),"undirectedSize",function(){return n._undirectedSize}),f(a(n),"selfLoopCount",function(){return n._directedSelfLoopCount+n._undirectedSelfLoopCount}),f(a(n),"directedSelfLoopCount",function(){return n._directedSelfLoopCount}),f(a(n),"undirectedSelfLoopCount",function(){return n._undirectedSelfLoopCount}),f(a(n),"multi",n._options.multi),f(a(n),"type",n._options.type),f(a(n),"allowSelfLoops",n._options.allowSelfLoops),f(a(n),"implementation",function(){return"graphology"}),n}e(n,t);var i=n.prototype;return i.hasNode=function(t){return this._nodes.has(""+t)},i.hasDirectedEdge=function(t,e){if("undirected"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+t);return!!n&&!n.undirected}if(2===arguments.length){e=""+e;var i=this._nodes.get(t=""+t);if(!i)return!1;var r=i.out[e];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasUndirectedEdge=function(t,e){if("directed"===this.type)return!1;if(1===arguments.length){var n=this._edges.get(""+t);return!!n&&n.undirected}if(2===arguments.length){e=""+e;var i=this._nodes.get(t=""+t);if(!i)return!1;var r=i.undirected[e];return!(!r||this.multi&&!r.size)}throw new L("Graph.hasDirectedEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.hasEdge=function(t,e){if(1===arguments.length)return this._edges.has(""+t);if(2===arguments.length){e=""+e;var n=this._nodes.get(t=""+t);if(!n)return!1;var i=void 0!==n.out&&n.out[e];return i||(i=void 0!==n.undirected&&n.undirected[e]),!(!i||this.multi&&!i.size)}throw new L("Graph.hasEdge: invalid arity (".concat(arguments.length,", instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target."))},i.directedEdge=function(t,e){if("undirected"!==this.type){if(t=""+t,e=""+e,this.multi)throw new F("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");var n=this._nodes.get(t);if(!n)throw new j('Graph.directedEdge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.directedEdge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.out&&n.out[e]||void 0;return i?i.key:void 0}},i.undirectedEdge=function(t,e){if("directed"!==this.type){if(t=""+t,e=""+e,this.multi)throw new F("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");var n=this._nodes.get(t);if(!n)throw new j('Graph.undirectedEdge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.undirectedEdge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.undirected&&n.undirected[e]||void 0;return i?i.key:void 0}},i.edge=function(t,e){if(this.multi)throw new F("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");e=""+e;var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.edge: could not find the "'.concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j('Graph.edge: could not find the "'.concat(e,'" target node in the graph.'));var i=n.out&&n.out[e]||n.undirected&&n.undirected[e]||void 0;if(i)return i.key},i.inDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.inDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.inDegree: could not find the "'.concat(t,'" node in the graph.'));return"undirected"===this.type?0:n.inDegree+(e?n.directedSelfLoops:0)},i.outDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.outDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.outDegree: could not find the "'.concat(t,'" node in the graph.'));return"undirected"===this.type?0:n.outDegree+(e?n.directedSelfLoops:0)},i.directedDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.directedDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.directedDegree: could not find the "'.concat(t,'" node in the graph.'));if("undirected"===this.type)return 0;var i=e?n.directedSelfLoops:0;return n.inDegree+i+(n.outDegree+i)},i.undirectedDegree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.undirectedDegree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.undirectedDegree: could not find the "'.concat(t,'" node in the graph.'));return"directed"===this.type?0:n.undirectedDegree+2*(e?n.undirectedSelfLoops:0)},i.degree=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("boolean"!=typeof e)throw new L('Graph.degree: Expecting a boolean but got "'.concat(e,'" for the second parameter (allowing self-loops to be counted).'));var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.degree: could not find the "'.concat(t,'" node in the graph.'));var i=0,r=0;return"directed"!==this.type&&(e&&(r=n.undirectedSelfLoops),i+=n.undirectedDegree+2*r),"undirected"!==this.type&&(e&&(r=n.directedSelfLoops),i+=n.inDegree+n.outDegree+2*r),i},i.source=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.source: could not find the "'.concat(t,'" edge in the graph.'));return e.source.key},i.target=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.target: could not find the "'.concat(t,'" edge in the graph.'));return e.target.key},i.extremities=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.extremities: could not find the "'.concat(t,'" edge in the graph.'));return[e.source.key,e.target.key]},i.opposite=function(t,e){t=""+t;var n=this._edges.get(e=""+e);if(!n)throw new j('Graph.opposite: could not find the "'.concat(e,'" edge in the graph.'));var i=n.source.key,r=n.target.key;if(t!==i&&t!==r)throw new j('Graph.opposite: the "'.concat(t,'" node is not attached to the "').concat(e,'" edge (').concat(i,", ").concat(r,")."));return t===i?r:i},i.hasExtremity=function(t,e){e=""+e;var n=this._edges.get(t=""+t);if(!n)throw new j('Graph.hasExtremity: could not find the "'.concat(t,'" edge in the graph.'));return n.source.key===e||n.target.key===e},i.isUndirected=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isUndirected: could not find the "'.concat(t,'" edge in the graph.'));return e.undirected},i.isDirected=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isDirected: could not find the "'.concat(t,'" edge in the graph.'));return!e.undirected},i.isSelfLoop=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.isSelfLoop: could not find the "'.concat(t,'" edge in the graph.'));return e.source===e.target},i.hasGeneratedKey=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.hasGeneratedKey: could not find the "'.concat(t,'" edge in the graph.'));return e.generatedKey},i.addNode=function(t,e){return function(t,e,n){if(n&&!h(n))throw new L('Graph.addNode: invalid attributes. Expecting an object but got "'.concat(n,'"'));if(n=n||{},t._nodes.has(e=""+e))throw new F('Graph.addNode: the "'.concat(e,'" node already exist in the graph.'));var i=new t.NodeDataClass(e,n);return t._nodes.set(e,i),t.emit("nodeAdded",{key:e,attributes:n}),i}(this,t,e).key},i.mergeNode=function(t,e){if(e&&!h(e))throw new L('Graph.mergeNode: invalid attributes. Expecting an object but got "'.concat(e,'"'));e=e||{};var n=this._nodes.get(t=""+t);return n?(e&&(l(n.attributes,e),this.emit("nodeAttributesUpdated",{type:"merge",key:t,attributes:n.attributes,data:e})),t):(n=new this.NodeDataClass(t,e),this._nodes.set(t,n),this.emit("nodeAdded",{key:t,attributes:e}),t)},i.updateNode=function(t,e){if(e&&"function"!=typeof e)throw new L('Graph.updateNode: invalid updater function. Expecting a function but got "'.concat(e,'"'));var n=this._nodes.get(t=""+t);if(n)return e&&(n.attributes=e(n.attributes),this.emit("nodeAttributesUpdated",{type:"replace",key:t,attributes:n.attributes})),t;var i=e?e({}):{};return n=new this.NodeDataClass(t,i),this._nodes.set(t,n),this.emit("nodeAdded",{key:t,attributes:i}),t},i.dropNode=function(t){var e=this,n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.dropNode: could not find the "'.concat(t,'" node in the graph.'));this.forEachEdge(t,function(t){e.dropEdge(t)}),this._nodes.delete(t),this.emit("nodeDropped",{key:t,attributes:n.attributes})},i.dropEdge=function(t){var e;if(arguments.length>1){var n=""+arguments[0],i=""+arguments[1];if(!(e=c(this,n,i,this.type)))throw new j('Graph.dropEdge: could not find the "'.concat(n,'" -> "').concat(i,'" edge in the graph.'))}else if(!(e=this._edges.get(t=""+t)))throw new j('Graph.dropEdge: could not find the "'.concat(t,'" edge in the graph.'));this._edges.delete(e.key);var r=e.source,s=e.target,o=e.attributes,a=e.undirected;return r===s?a?(r.undirectedSelfLoops--,this._undirectedSelfLoopCount--):(r.directedSelfLoops--,this._directedSelfLoopCount--):a?(r.undirectedDegree--,s.undirectedDegree--):(r.outDegree--,s.inDegree--),$(this,a,e),a?this._undirectedSize--:this._directedSize--,this.emit("edgeDropped",{key:t,attributes:o,source:r.key,target:s.key,undirected:a}),this},i.clear=function(){this._edges.clear(),this._nodes.clear(),this.emit("cleared")},i.clearEdges=function(){this._edges.clear(),this.clearIndex(),this.emit("edgesCleared")},i.getAttribute=function(t){return this._attributes[t]},i.getAttributes=function(){return this._attributes},i.hasAttribute=function(t){return this._attributes.hasOwnProperty(t)},i.setAttribute=function(t,e){return this._attributes[t]=e,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this},i.updateAttribute=function(t,e){if("function"!=typeof e)throw new L("Graph.updateAttribute: updater should be a function.");return this._attributes[t]=e(this._attributes[t]),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this},i.removeAttribute=function(t){return delete this._attributes[t],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:t}),this},i.replaceAttributes=function(t){if(!h(t))throw new L("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=t,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this},i.mergeAttributes=function(t){if(!h(t))throw new L("Graph.mergeAttributes: provided attributes are not a plain object.");return l(this._attributes,t),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:t}),this},i.getNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.getNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return n.attributes[e]},i.getNodeAttributes=function(t){var e=this._nodes.get(t=""+t);if(!e)throw new j('Graph.getNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));return e.attributes},i.hasNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return n.attributes.hasOwnProperty(e)},i.setNodeAttribute=function(t,e,n){var i=this._nodes.get(t=""+t);if(!i)throw new j('Graph.setNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.setNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or value, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");return i.attributes[e]=n,this.emit("nodeAttributesUpdated",{key:t,type:"set",attributes:i.attributes,name:e}),this},i.updateNodeAttribute=function(t,e,n){var i=this._nodes.get(t=""+t);if(!i)throw new j('Graph.updateNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));if(arguments.length<3)throw new L("Graph.updateNodeAttribute: not enough arguments. Either you forgot to pass the attribute's name or updater, or you meant to use #.replaceNodeAttributes / #.mergeNodeAttributes instead.");if("function"!=typeof n)throw new L("Graph.updateAttribute: updater should be a function.");var r=i.attributes,s=n(r[e]);return r[e]=s,this.emit("nodeAttributesUpdated",{key:t,type:"set",attributes:i.attributes,name:e}),this},i.removeNodeAttribute=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.hasNodeAttribute: could not find the "'.concat(t,'" node in the graph.'));return delete n.attributes[e],this.emit("nodeAttributesUpdated",{key:t,type:"remove",attributes:n.attributes,name:e}),this},i.replaceNodeAttributes=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.replaceNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));if(!h(e))throw new L("Graph.replaceNodeAttributes: provided attributes are not a plain object.");return n.attributes=e,this.emit("nodeAttributesUpdated",{key:t,type:"replace",attributes:n.attributes}),this},i.mergeNodeAttributes=function(t,e){var n=this._nodes.get(t=""+t);if(!n)throw new j('Graph.mergeNodeAttributes: could not find the "'.concat(t,'" node in the graph.'));if(!h(e))throw new L("Graph.mergeNodeAttributes: provided attributes are not a plain object.");return l(n.attributes,e),this.emit("nodeAttributesUpdated",{key:t,type:"merge",attributes:n.attributes,data:e}),this},i.updateEachNodeAttributes=function(t,e){if("function"!=typeof t)throw new L("Graph.updateEachNodeAttributes: expecting an updater function.");if(e&&!g(e))throw new L("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._nodes.values();!0!==(n=r.next()).done;)(i=n.value).attributes=t(i.key,i.attributes);this.emit("eachNodeAttributesUpdated",{hints:e||null})},i.updateEachEdgeAttributes=function(t,e){if("function"!=typeof t)throw new L("Graph.updateEachEdgeAttributes: expecting an updater function.");if(e&&!g(e))throw new L("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");for(var n,i,r=this._edges.values();!0!==(n=r.next()).done;)(i=n.value).attributes=t(i.key,i.attributes);this.emit("eachEdgeAttributesUpdated",{hints:e||null})},i.forEach=function(t){if("function"!=typeof t)throw new L("Graph.forEach: expecting a callback.");this.multi?It(!1,this,t):Mt(!1,this,t)},i.forEachUntil=function(t){if("function"!=typeof t)throw new L("Graph.forEach: expecting a callback.");this.multi?It(!0,this,t):Mt(!0,this,t)},i.adjacency=function(){return this.multi?(p=(l=this)._nodes.values(),f=l.type,g="outer",m=null,new D(function t(){var e;if("outer"===g)return!0===(e=p.next()).done?e:(c=e.value,g="directed",t());if("directed"===g)return"undirected"===f?(g="undirected",t()):(h=c.out,u=Object.keys(c.out),d=0,g="inner-directed",t());if("undirected"===g){if("directed"===f)return g="outer",t();h=c.undirected,u=Object.keys(c.undirected),d=0,g="inner-undirected"}if(!m&&d>=u.length)return g="inner-undirected"===g?"outer":"undirected",t();if(!m){var n=u[d++];return m=h[n].values(),t()}if((e=m.next()).done)return m=null,t();var i=e.value,r=i.target;return"inner-undirected"===g&&r.key===c.key&&(r=i.source),{done:!1,value:[c.key,r.key,c.attributes,r.attributes,i.key,i.attributes]}})):(s=(t=this)._nodes.values(),o=t.type,a="outer",new D(function t(){var l;if("outer"===a)return!0===(l=s.next()).done?l:(e=l.value,a="directed",t());if("directed"===a)return"undirected"===o?(a="undirected",t()):(i=e.out,n=Object.keys(e.out),r=0,a="inner-directed",t());if("undirected"===a){if("directed"===o)return a="outer",t();i=e.undirected,n=Object.keys(e.undirected),r=0,a="inner-undirected"}if(r>=n.length)return a="inner-undirected"===a?"outer":"undirected",t();var c=n[r++],u=i[c],h=u.target;return"inner-undirected"===a&&h.key===e.key&&(h=u.source),{done:!1,value:[e.key,h.key,e.attributes,h.attributes,u.key,u.attributes]}}));var t,e,n,i,r,s,o,a,l,c,u,h,d,p,f,g,m},i.nodes=function(){return"function"==typeof Array.from?Array.from(this._nodes.keys()):R(this._nodes.keys(),this._nodes.size)},i.forEachNode=function(t){if("function"!=typeof t)throw new L("Graph.forEachNode: expecting a callback.");this._nodes.forEach(function(e,n){t(n,e.attributes)})},i.forEachNodeUntil=function(t){if("function"!=typeof t)throw new L("Graph.forEachNode: expecting a callback.");for(var e,n,i=this._nodes.values();!0!==(e=i.next())&&!t((n=e.value).key,n.attributes););},i.nodeEntries=function(){var t=this._nodes.values();return new D(function(){var e=t.next();if(e.done)return e;var n=e.value;return{value:[n.key,n.attributes],done:!1}})},i.exportNode=function(t){var e=this._nodes.get(t=""+t);if(!e)throw new j('Graph.exportNode: could not find the "'.concat(t,'" node in the graph.'));return Dt(t,e)},i.exportEdge=function(t){var e=this._edges.get(t=""+t);if(!e)throw new j('Graph.exportEdge: could not find the "'.concat(t,'" edge in the graph.'));return Rt(t,e)},i.export=function(){var t=new Array(this._nodes.size),e=0;this._nodes.forEach(function(n,i){t[e++]=Dt(i,n)});var n=new Array(this._edges.size);return e=0,this._edges.forEach(function(t,i){n[e++]=Rt(i,t)}),{attributes:this.getAttributes(),nodes:t,edges:n,options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops}}},i.importNode=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Nt(t);if(n){if("not-object"===n)throw new L('Graph.importNode: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if("no-key"===n)throw new L("Graph.importNode: no key provided.");if("invalid-attributes"===n)throw new L("Graph.importNode: invalid attributes. Attributes should be a plain object, null or omitted.")}var i=t.key,r=t.attributes,s=void 0===r?{}:r;return e?this.mergeNode(i,s):this.addNode(i,s),this},i.importEdge=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Lt(t);if(n){if("not-object"===n)throw new L('Graph.importEdge: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if("no-source"===n)throw new L("Graph.importEdge: missing souce.");if("no-target"===n)throw new L("Graph.importEdge: missing target.");if("invalid-attributes"===n)throw new L("Graph.importEdge: invalid attributes. Attributes should be a plain object, null or omitted.");if("invalid-undirected"===n)throw new L("Graph.importEdge: invalid undirected. Undirected should be boolean or omitted.")}var i=t.source,r=t.target,s=t.attributes,o=void 0===s?{}:s,a=t.undirected,l=void 0!==a&&a;return"key"in t?(e?l?this.mergeUndirectedEdgeWithKey:this.mergeDirectedEdgeWithKey:l?this.addUndirectedEdgeWithKey:this.addDirectedEdgeWithKey).call(this,t.key,i,r,o):(e?l?this.mergeUndirectedEdge:this.mergeDirectedEdge:l?this.addUndirectedEdge:this.addDirectedEdge).call(this,i,r,o),this},i.import=function(t){var e,n,i,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(u(t))return this.import(t.export(),r),this;if(!h(t))throw new L("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(t.attributes){if(!h(t.attributes))throw new L("Graph.import: invalid attributes. Expecting a plain object.");r?this.mergeAttributes(t.attributes):this.replaceAttributes(t.attributes)}if(t.nodes){if(i=t.nodes,!Array.isArray(i))throw new L("Graph.import: invalid nodes. Expecting an array.");for(e=0,n=i.length;en)){var o=new Set;o.add(e.undirected[s]),e.undirected[s]=o,t._nodes.get(s).undirected[n]=o}})),this;var t},i.clearIndex=function(){return this._nodes.forEach(function(t){void 0!==t.in&&(t.in={},t.out={}),void 0!==t.undirected&&(t.undirected={})}),this},i.toJSON=function(){return this.export()},i.toString=function(){return"[object Graph]"},i.inspect=function(){var t=this,e={};this._nodes.forEach(function(t,n){e[n]=t.attributes});var n={},i={};this._edges.forEach(function(e,r){var s=e.undirected?"--":"->",o="",a="(".concat(e.source.key,")").concat(s,"(").concat(e.target.key,")");e.generatedKey?t.multi&&(void 0===i[a]?i[a]=0:i[a]++,o+="".concat(i[a],". ")):o+="[".concat(r,"]: "),n[o+=a]=e.attributes});var r={};for(var s in this)this.hasOwnProperty(s)&&!Ft.has(s)&&"function"!=typeof this[s]&&(r[s]=this[s]);return r.attributes=this._attributes,r.nodes=e,r.edges=n,p(r,"constructor",this.constructor),r},n}(b.exports.EventEmitter);"undefined"!=typeof Symbol&&($t.prototype[Symbol.for("nodejs.util.inspect.custom")]=$t.prototype.inspect),[{name:function(t){return"".concat(t,"Edge")},generateKey:!0},{name:function(t){return"".concat(t,"DirectedEdge")},generateKey:!0,type:"directed"},{name:function(t){return"".concat(t,"UndirectedEdge")},generateKey:!0,type:"undirected"},{name:function(t){return"".concat(t,"EdgeWithKey")}},{name:function(t){return"".concat(t,"DirectedEdgeWithKey")},type:"directed"},{name:function(t){return"".concat(t,"UndirectedEdgeWithKey")},type:"undirected"}].forEach(function(t){["add","merge","update"].forEach(function(e){var n=t.name(e),i="add"===e?zt:Ut;$t.prototype[n]=t.generateKey?function(r,s,o){return i(this,n,!0,"undirected"===(t.type||this.type),null,r,s,o,"update"===e)}:function(r,s,o,a){return i(this,n,!1,"undirected"===(t.type||this.type),r,s,o,a,"update"===e)}})}),"undefined"!=typeof Symbol&&($t.prototype[Symbol.iterator]=$t.prototype.adjacency),Ht=$t,G.forEach(function(t){var e=t.name,n=t.attacher;n(Ht,e("Edge"),"mixed"),n(Ht,e("DirectedEdge"),"directed"),n(Ht,e("UndirectedEdge"),"undirected")}),function(t){Y.forEach(function(e){var n,i,r,s;r=(n=e).type,s=n.direction,t.prototype[i=n.name]=function(t,e){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(!arguments.length)return ct(this,r);if(1===arguments.length){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));return pt(this.multi,"mixed"===r?this.type:r,s,n)}if(2===arguments.length){e=""+e;var o=this._nodes.get(t=""+t);if(!o)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(i,': could not find the "').concat(e,'" target node in the graph.'));return bt(r,this.multi,s,o,e)}throw new L("Graph.".concat(i,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))},function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(t,e,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return ut(this,i,n=t);if(2===arguments.length){n=e;var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));return ft(this.multi,"mixed"===i?this.type:i,r,o,n)}if(3===arguments.length){e=""+e;var a=this._nodes.get(t=""+t);if(!a)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(s,': could not find the "').concat(e,'" target node in the graph.'));return yt(i,this.multi,r,a,e,n)}throw new L("Graph.".concat(s,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(t,e),function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";t.prototype[s]=function(t,e,n){if("mixed"===i||"mixed"===this.type||i===this.type){if(1===arguments.length)return ht(this,i,n=t);if(2===arguments.length){n=e;var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));return gt(this.multi,"mixed"===i?this.type:i,r,o,n)}if(3===arguments.length){e=""+e;var a=this._nodes.get(t=""+t);if(!a)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(s,': could not find the "').concat(e,'" target node in the graph.'));return vt(i,this.multi,r,a,e,n)}throw new L("Graph.".concat(s,": too many arguments (expecting 1, 2 or 3 and got ").concat(arguments.length,")."))}}}(t,e),function(t,e){var n=e.type,i=e.direction,r=e.name.slice(0,-1)+"Entries";t.prototype[r]=function(t,e){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return D.empty();if(!arguments.length)return dt(this,n);if(1===arguments.length){var s=this._nodes.get(t=""+t);if(!s)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" node in the graph.'));return mt(n,i,s)}if(2===arguments.length){e=""+e;var o=this._nodes.get(t=""+t);if(!o)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" source node in the graph.'));if(!this._nodes.has(e))throw new j("Graph.".concat(r,': could not find the "').concat(e,'" target node in the graph.'));return _t(n,i,o,e)}throw new L("Graph.".concat(r,": too many arguments (expecting 0, 1 or 2 and got ").concat(arguments.length,")."))}}(t,e)})}($t),function(t){wt.forEach(function(e){var n,i,r,s;r=(n=e).type,s=n.direction,t.prototype[i=n.name]=function(t){if("mixed"!==r&&"mixed"!==this.type&&r!==this.type)return[];if(2===arguments.length){var e=""+arguments[0],n=""+arguments[1];if(!this._nodes.has(e))throw new j("Graph.".concat(i,': could not find the "').concat(e,'" node in the graph.'));if(!this._nodes.has(n))throw new j("Graph.".concat(i,': could not find the "').concat(n,'" node in the graph.'));return At(this,r,s,e,n)}if(1===arguments.length){var o=this._nodes.get(t=""+t);if(void 0===o)throw new j("Graph.".concat(i,': could not find the "').concat(t,'" node in the graph.'));return St("mixed"===r?this.type:r,s,o)}throw new L("Graph.".concat(i,": invalid number of arguments (expecting 1 or 2 and got ").concat(arguments.length,")."))},function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);t.prototype[s]=function(t,e){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));!function(t,e,n,i){if("mixed"!==t){if("undirected"===t)return Ct(n,n.undirected,i);if("string"==typeof e)return Ct(n,n[e],i)}var r=new Set;"undirected"!==t&&("out"!==e&&Et(r,n,n.in,i),"in"!==e&&Et(r,n,n.out,i)),"directed"!==t&&Et(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,e)}}}(t,e),function(t,e){var n=e.name,i=e.type,r=e.direction,s="forEach"+n[0].toUpperCase()+n.slice(1,-1)+"Until";t.prototype[s]=function(t,e){if("mixed"===i||"mixed"===this.type||i===this.type){var n=this._nodes.get(t=""+t);if(void 0===n)throw new j("Graph.".concat(s,': could not find the "').concat(t,'" node in the graph.'));!function(t,e,n,i){if("mixed"!==t){if("undirected"===t)return Ot(n,n.undirected,i);if("string"==typeof e)return Ot(n,n[e],i)}var r=new Set;"undirected"!==t&&("out"!==e&&Tt(r,n,n.in,i)||"in"!==e&&Tt(r,n,n.out,i))||"directed"===t||Tt(r,n,n.undirected,i)}("mixed"===i?this.type:i,r,n,e)}}}(t,e),function(t,e){var n=e.type,i=e.direction,r=e.name.slice(0,-1)+"Entries";t.prototype[r]=function(t){if("mixed"!==n&&"mixed"!==this.type&&n!==this.type)return D.empty();var e=this._nodes.get(t=""+t);if(void 0===e)throw new j("Graph.".concat(r,': could not find the "').concat(t,'" node in the graph.'));return function(t,e,n){if("mixed"!==t){if("undirected"===t)return kt(n,n.undirected);if("string"==typeof e)return kt(n,n[e])}var i=D.empty(),r=new Set;return"undirected"!==t&&("out"!==e&&(i=q(i,Pt(r,n,n.in))),"in"!==e&&(i=q(i,Pt(r,n,n.out)))),"directed"!==t&&(i=q(i,Pt(r,n,n.undirected))),i}("mixed"===n?this.type:n,i,e)}}(t,e)})}($t);var Gt=function(t){function n(e){var n=l({type:"directed"},e);if("multi"in n&&!1!==n.multi)throw new L("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("directed"!==n.type)throw new L('DirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),Wt=function(t){function n(e){var n=l({type:"undirected"},e);if("multi"in n&&!1!==n.multi)throw new L("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if("undirected"!==n.type)throw new L('UndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),qt=function(t){function n(e){var n=l({multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");return t.call(this,n)||this}return e(n,t),n}($t),Yt=function(t){function n(e){var n=l({type:"directed",multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("directed"!==n.type)throw new L('MultiDirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t),Xt=function(t){function n(e){var n=l({type:"undirected",multi:!0},e);if("multi"in n&&!0!==n.multi)throw new L("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if("undirected"!==n.type)throw new L('MultiUndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');return t.call(this,n)||this}return e(n,t),n}($t);function Kt(t){t.from=function(e,n){var i=l({},e.options,n),r=new t(i);return r.import(e),r}}return Kt($t),Kt(Gt),Kt(Wt),Kt(qt),Kt(Yt),Kt(Xt),$t.Graph=$t,$t.DirectedGraph=Gt,$t.UndirectedGraph=Wt,$t.MultiGraph=qt,$t.MultiDirectedGraph=Yt,$t.MultiUndirectedGraph=Xt,$t.InvalidArgumentsGraphError=L,$t.NotFoundGraphError=j,$t.UsageGraphError=F,$t}()},11524:function(t,e,n){var i;!function(r,s,o,a){"use strict";var l,c=["","webkit","Moz","MS","ms","o"],u=s.createElement("div"),h=Math.round,d=Math.abs,p=Date.now;function f(t,e,n){return setTimeout(w(t,n),e)}function g(t,e,n){return!!Array.isArray(t)&&(m(t,n[e],n),!0)}function m(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==a)for(i=0;i\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=r.console&&(r.console.warn||r.console.log);return s&&s.call(r.console,i,n),t.apply(this,arguments)}}l="function"!=typeof Object.assign?function(t){if(t===a||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n-1}function k(t){return t.trim().split(/\s+/g)}function P(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;in[e]}):i.sort()),i}function I(t,e){for(var n,i,r=e[0].toUpperCase()+e.slice(1),s=0;s1&&!n.firstMultiple?n.firstMultiple=$(e):1===r&&(n.firstMultiple=!1);var s=n.firstInput,o=n.firstMultiple,l=o?o.center:s.center,c=e.center=G(i);e.timeStamp=p(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=X(l,c),e.distance=Y(l,c),function(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};(1===e.eventType||4===s.eventType)&&(r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}(n,e),e.offsetDirection=q(e.deltaX,e.deltaY);var u=W(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=d(u.x)>d(u.y)?u.x:u.y,e.scale=o?function(t,e){return Y(e[0],e[1],z)/Y(t[0],t[1],z)}(o.pointers,i):1,e.rotation=o?function(t,e){return X(e[1],e[0],z)+X(t[1],t[0],z)}(o.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,i,r,s,o=t.lastInterval||e,l=e.timeStamp-o.timeStamp;if(8!=e.eventType&&(l>25||o.velocity===a)){var c=e.deltaX-o.deltaX,u=e.deltaY-o.deltaY,h=W(l,c,u);i=h.x,r=h.y,n=d(h.x)>d(h.y)?h.x:h.y,s=q(c,u),t.lastInterval=e}else n=o.velocity,i=o.velocityX,r=o.velocityY,s=o.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=s}(n,e);var h=t.element;O(e.srcEvent.target,h)&&(h=e.srcEvent.target),e.target=h}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function $(t){for(var e=[],n=0;n=d(e)?t<0?2:4:e<0?8:16}function Y(t,e,n){n||(n=V);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function X(t,e,n){return n||(n=V),180*Math.atan2(e[n[1]]-t[n[1]],e[n[0]]-t[n[0]])/Math.PI}U.prototype={handler:function(){},init:function(){this.evEl&&C(this.element,this.evEl,this.domHandler),this.evTarget&&C(this.target,this.evTarget,this.domHandler),this.evWin&&C(R(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(R(this.element),this.evWin,this.domHandler)}};var K={mousedown:1,mousemove:2,mouseup:4},Q="mousedown",Z="mousemove mouseup";function J(){this.evEl=Q,this.evWin=Z,this.pressed=!1,U.apply(this,arguments)}_(J,U,{handler:function(t){var e=K[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:B,srcEvent:t}))}});var tt={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},et={2:F,3:"pen",4:B,5:"kinect"},nt="pointerdown",it="pointermove pointerup pointercancel";function rt(){this.evEl=nt,this.evWin=it,U.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(nt="MSPointerDown",it="MSPointerMove MSPointerUp MSPointerCancel"),_(rt,U,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace("ms",""),r=tt[i],s=et[t.pointerType]||t.pointerType,o=s==F,a=P(e,t.pointerId,"pointerId");1&r&&(0===t.button||o)?a<0&&(e.push(t),a=e.length-1):12&r&&(n=!0),!(a<0)&&(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),n&&e.splice(a,1))}});var st={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ot="touchstart",at="touchstart touchmove touchend touchcancel";function lt(){this.evTarget=ot,this.evWin=at,this.started=!1,U.apply(this,arguments)}function ct(t,e){var n=A(t.touches),i=A(t.changedTouches);return 12&e&&(n=M(n.concat(i),"identifier",!0)),[n,i]}_(lt,U,{handler:function(t){var e=st[t.type];if(1===e&&(this.started=!0),this.started){var n=ct.call(this,t,e);12&e&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:F,srcEvent:t})}}});var ut={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ht="touchstart touchmove touchend touchcancel";function dt(){this.evTarget=ht,this.targetIds={},U.apply(this,arguments)}function pt(t,e){var n=A(t.touches),i=this.targetIds;if(3&e&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,s,o=A(t.changedTouches),a=[],l=this.target;if(s=n.filter(function(t){return O(t.target,l)}),1===e)for(r=0;r-1&&i.splice(t,1)},2500)}}function bt(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function i(n){e.manager.emit(n,t)}n<8&&i(e.options.event+kt(n)),i(e.options.event),t.additionalEvent&&i(t.additionalEvent),n>=8&&i(e.options.event+kt(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return Mt.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Pt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),_(Dt,Mt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){1!==t.scale&&(t.additionalEvent=this.options.event+(t.scale<1?"in":"out")),this._super.emit.call(this,t)}}),_(Rt,Tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distancee.time;if(this._input=t,!i||!n||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=f(function(){this.state=8,this.tryEmit()},e.time,this);else if(4&t.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=p(),this.manager.emit(this.options.event,this._input)))}}),_(Nt,Mt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),_(Lt,Mt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return It.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return 30&n?e=t.overallVelocity:6&n?e=t.overallVelocityX:24&n&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&d(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=Pt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),_(jt,Tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[wt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance"']/g,W=RegExp($.source),q=RegExp(G.source),Y=/<%-([\s\S]+?)%>/g,X=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Z=/^\w*$/,J=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,tt=/[\\^$.*+?()[\]{}|]/g,et=RegExp(tt.source),nt=/^\s+/,it=/\s/,rt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,st=/\{\n\/\* \[wrapped with (.+)\] \*/,ot=/,? & /,at=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,lt=/[()=,{}\[\]\/\s]/,ct=/\\(\\)?/g,ut=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ht=/\w*$/,dt=/^[-+]0x[0-9a-f]+$/i,pt=/^0b[01]+$/i,ft=/^\[object .+?Constructor\]$/,gt=/^0o[0-7]+$/i,mt=/^(?:0|[1-9]\d*)$/,bt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,yt=/($^)/,vt=/['\n\r\u2028\u2029\\]/g,_t="\\ud800-\\udfff",wt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",xt="\\u2700-\\u27bf",St="a-z\\xdf-\\xf6\\xf8-\\xff",Ct="A-Z\\xc0-\\xd6\\xd8-\\xde",Et="\\ufe0e\\ufe0f",Ot="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Tt="["+_t+"]",kt="["+Ot+"]",Pt="["+wt+"]",At="\\d+",Mt="["+xt+"]",It="["+St+"]",Dt="[^"+_t+Ot+At+xt+St+Ct+"]",Rt="\\ud83c[\\udffb-\\udfff]",Nt="[^"+_t+"]",Lt="(?:\\ud83c[\\udde6-\\uddff]){2}",jt="[\\ud800-\\udbff][\\udc00-\\udfff]",Ft="["+Ct+"]",Bt="(?:"+It+"|"+Dt+")",Vt="(?:"+Ft+"|"+Dt+")",zt="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ut="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",Ht="(?:"+Pt+"|"+Rt+")?",$t="["+Et+"]?",Gt=$t+Ht+"(?:\\u200d(?:"+[Nt,Lt,jt].join("|")+")"+$t+Ht+")*",Wt="(?:"+[Mt,Lt,jt].join("|")+")"+Gt,qt="(?:"+[Nt+Pt+"?",Pt,Lt,jt,Tt].join("|")+")",Yt=RegExp("['\u2019]","g"),Xt=RegExp(Pt,"g"),Kt=RegExp(Rt+"(?="+Rt+")|"+qt+Gt,"g"),Qt=RegExp([Ft+"?"+It+"+"+zt+"(?="+[kt,Ft,"$"].join("|")+")",Vt+"+"+Ut+"(?="+[kt,Ft+Bt,"$"].join("|")+")",Ft+"?"+Bt+"+"+zt,Ft+"+"+Ut,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",At,Wt].join("|"),"g"),Zt=RegExp("[\\u200d"+_t+wt+Et+"]"),Jt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,te=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ee=-1,ne={};ne[I]=ne[D]=ne[R]=ne[N]=ne[L]=ne[j]=ne[F]=ne[B]=ne[V]=!0,ne[f]=ne[g]=ne[A]=ne[m]=ne[M]=ne[b]=ne[y]=ne[v]=ne[w]=ne[x]=ne[S]=ne[E]=ne[O]=ne[T]=ne[P]=!1;var ie={};ie[f]=ie[g]=ie[A]=ie[M]=ie[m]=ie[b]=ie[I]=ie[D]=ie[R]=ie[N]=ie[L]=ie[w]=ie[x]=ie[S]=ie[E]=ie[O]=ie[T]=ie[k]=ie[j]=ie[F]=ie[B]=ie[V]=!0,ie[y]=ie[v]=ie[P]=!1;var re={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},se=parseFloat,oe=parseInt,ae="object"==typeof global&&global&&global.Object===Object&&global,le="object"==typeof self&&self&&self.Object===Object&&self,ce=ae||le||Function("return this")(),ue=e&&!e.nodeType&&e,he=ue&&t&&!t.nodeType&&t,de=he&&he.exports===ue,pe=de&&ae.process,fe=function(){try{return he&&he.require&&he.require("util").types||pe&&pe.binding&&pe.binding("util")}catch(t){}}(),ge=fe&&fe.isArrayBuffer,me=fe&&fe.isDate,be=fe&&fe.isMap,ye=fe&&fe.isRegExp,ve=fe&&fe.isSet,_e=fe&&fe.isTypedArray;function we(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function xe(t,e,n,i){for(var r=-1,s=null==t?0:t.length;++r-1}function ke(t,e,n){for(var i=-1,r=null==t?0:t.length;++i-1;);return n}function Qe(t,e){for(var n=t.length;n--&&je(e,t[n],0)>-1;);return n}function Ze(t,e){for(var n=t.length,i=0;n--;)t[n]===e&&++i;return i}var Je=Ue({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),tn=Ue({"&":"&","<":"<",">":">",'"':""","'":"'"});function en(t){return"\\"+re[t]}function nn(t){return Zt.test(t)}function rn(t){var e=-1,n=Array(t.size);return t.forEach(function(t,i){n[++e]=[i,t]}),n}function sn(t,e){return function(n){return t(e(n))}}function on(t,e){for(var n=-1,i=t.length,r=0,s=[];++n",""":'"',"'":"'"}),dn=function t(e){var n,i=(e=null==e?ce:dn.defaults(ce.Object(),e,dn.pick(ce,te))).Array,it=e.Date,_t=e.Error,wt=e.Function,xt=e.Math,St=e.Object,Ct=e.RegExp,Et=e.String,Ot=e.TypeError,Tt=i.prototype,kt=St.prototype,Pt=e["__core-js_shared__"],At=wt.prototype.toString,Mt=kt.hasOwnProperty,It=0,Dt=(n=/[^.]+$/.exec(Pt&&Pt.keys&&Pt.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Rt=kt.toString,Nt=At.call(St),Lt=ce._,jt=Ct("^"+At.call(Mt).replace(tt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ft=de?e.Buffer:r,Bt=e.Symbol,Vt=e.Uint8Array,zt=Ft?Ft.allocUnsafe:r,Ut=sn(St.getPrototypeOf,St),Ht=St.create,$t=kt.propertyIsEnumerable,Gt=Tt.splice,Wt=Bt?Bt.isConcatSpreadable:r,qt=Bt?Bt.iterator:r,Kt=Bt?Bt.toStringTag:r,Zt=function(){try{var t=os(St,"defineProperty");return t({},"",{}),t}catch(Ms){}}(),re=e.clearTimeout!==ce.clearTimeout&&e.clearTimeout,ae=it&&it.now!==ce.Date.now&&it.now,le=e.setTimeout!==ce.setTimeout&&e.setTimeout,ue=xt.ceil,he=xt.floor,pe=St.getOwnPropertySymbols,fe=Ft?Ft.isBuffer:r,Re=e.isFinite,Ue=Tt.join,pn=sn(St.keys,St),fn=xt.max,gn=xt.min,mn=it.now,bn=e.parseInt,yn=xt.random,vn=Tt.reverse,_n=os(e,"DataView"),wn=os(e,"Map"),xn=os(e,"Promise"),Sn=os(e,"Set"),Cn=os(e,"WeakMap"),En=os(St,"create"),On=Cn&&new Cn,Tn={},kn=Ns(_n),Pn=Ns(wn),An=Ns(xn),Mn=Ns(Sn),In=Ns(Cn),Dn=Bt?Bt.prototype:r,Rn=Dn?Dn.valueOf:r,Nn=Dn?Dn.toString:r;function Ln(t){if(Jo(t)&&!Uo(t)&&!(t instanceof Vn)){if(t instanceof Bn)return t;if(Mt.call(t,"__wrapped__"))return Ls(t)}return new Bn(t)}var jn=function(){function t(){}return function(e){if(!Zo(e))return{};if(Ht)return Ht(e);t.prototype=e;var n=new t;return t.prototype=r,n}}();function Fn(){}function Bn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=r}function Vn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function ri(t,e,n,i,s,o){var a,l=1&e,c=2&e,u=4&e;if(n&&(a=s?n(t,i,s,o):n(t)),a!==r)return a;if(!Zo(t))return t;var h=Uo(t);if(h){if(a=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Mt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!l)return Cr(t,a)}else{var d=cs(t),p=d==v||d==_;if(Wo(t))return yr(t,l);if(d==S||d==f||p&&!s){if(a=c||p?{}:hs(t),!l)return c?function(t,e){return Er(t,ls(t),e)}(t,function(t,e){return t&&Er(e,Aa(e),t)}(a,t)):function(t,e){return Er(t,as(t),e)}(t,ti(a,t))}else{if(!ie[d])return s?t:{};a=function(t,e,n){var i=t.constructor;switch(e){case A:return vr(t);case m:case b:return new i(+t);case M:return function(t,e){var n=e?vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case I:case D:case R:case N:case L:case j:case F:case B:case V:return _r(t,n);case w:return new i;case x:case T:return new i(t);case E:return function(t){var e=new t.constructor(t.source,ht.exec(t));return e.lastIndex=t.lastIndex,e}(t);case O:return new i;case k:return function(t){return Rn?St(Rn.call(t)):{}}(t)}}(t,d,l)}}o||(o=new Gn);var g=o.get(t);if(g)return g;o.set(t,a),ra(t)?t.forEach(function(i){a.add(ri(i,e,n,i,t,o))}):ta(t)&&t.forEach(function(i,r){a.set(r,ri(i,e,n,r,t,o))});var y=h?r:(u?c?Jr:Zr:c?Aa:Pa)(t);return Se(y||t,function(i,r){y&&(i=t[r=i]),Qn(a,r,ri(i,e,n,r,t,o))}),a}function si(t,e,n){var i=n.length;if(null==t)return!i;for(t=St(t);i--;){var s=n[i],o=t[s];if(o===r&&!(s in t)||!(0,e[s])(o))return!1}return!0}function oi(t,e,n){if("function"!=typeof t)throw new Ot(s);return Os(function(){t.apply(r,n)},e)}function ai(t,e,n,i){var r=-1,s=Te,o=!0,a=t.length,l=[],c=e.length;if(!a)return l;n&&(e=Pe(e,qe(n))),i?(s=ke,o=!1):e.length>=200&&(s=Xe,o=!1,e=new $n(e));t:for(;++r-1},Un.prototype.set=function(t,e){var n=this.__data__,i=Zn(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this},Hn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(wn||Un),string:new zn}},Hn.prototype.delete=function(t){var e=rs(this,t).delete(t);return this.size-=e?1:0,e},Hn.prototype.get=function(t){return rs(this,t).get(t)},Hn.prototype.has=function(t){return rs(this,t).has(t)},Hn.prototype.set=function(t,e){var n=rs(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this},$n.prototype.add=$n.prototype.push=function(t){return this.__data__.set(t,o),this},$n.prototype.has=function(t){return this.__data__.has(t)},Gn.prototype.clear=function(){this.__data__=new Un,this.size=0},Gn.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Gn.prototype.get=function(t){return this.__data__.get(t)},Gn.prototype.has=function(t){return this.__data__.has(t)},Gn.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Un){var i=n.__data__;if(!wn||i.length<199)return i.push([t,e]),this.size=++n.size,this;n=this.__data__=new Hn(i)}return n.set(t,e),this.size=n.size,this};var li=kr(mi),ci=kr(bi,!0);function ui(t,e){var n=!0;return li(t,function(t,i,r){return n=!!e(t,i,r)}),n}function hi(t,e,n){for(var i=-1,s=t.length;++i0&&n(a)?e>1?pi(a,e-1,n,i,r):Ae(r,a):i||(r[r.length]=a)}return r}var fi=Pr(),gi=Pr(!0);function mi(t,e){return t&&fi(t,e,Pa)}function bi(t,e){return t&&gi(t,e,Pa)}function yi(t,e){return Oe(e,function(e){return Xo(t[e])})}function vi(t,e){for(var n=0,i=(e=fr(e,t)).length;null!=t&&ne}function Si(t,e){return null!=t&&Mt.call(t,e)}function Ci(t,e){return null!=t&&e in St(t)}function Ei(t,e,n){for(var s=n?ke:Te,o=t[0].length,a=t.length,l=a,c=i(a),u=1/0,h=[];l--;){var d=t[l];l&&e&&(d=Pe(d,qe(e))),u=gn(d.length,u),c[l]=!n&&(e||o>=120&&d.length>=120)?new $n(l&&d):r}d=t[0];var p=-1,f=c[0];t:for(;++p=a?l:l*("desc"==n[i]?-1:1)}return t.index-e.index}(t,e,n)});i--;)t[i]=t[i].value;return t}(Ri(t,function(t,n,r){return{criteria:Pe(e,function(e){return e(t)}),index:++i,value:t}}))}function Vi(t,e,n){for(var i=-1,r=e.length,s={};++i-1;)a!==t&&Gt.call(a,l,1),Gt.call(t,l,1);return t}function Ui(t,e){for(var n=t?e.length:0,i=n-1;n--;){var r=e[n];if(n==i||r!==s){var s=r;ps(r)?Gt.call(t,r,1):or(t,r)}}return t}function Hi(t,e){return t+he(yn()*(e-t+1))}function $i(t,e){var n="";if(!t||e<1||e>h)return n;do{e%2&&(n+=t),(e=he(e/2))&&(t+=t)}while(e);return n}function Gi(t,e){return Ts(ws(t,e,el),t+"")}function Wi(t){return qn(Fa(t))}function qi(t,e){var n=Fa(t);return As(n,ii(e,0,n.length))}function Yi(t,e,n,i){if(!Zo(t))return t;for(var s=-1,o=(e=fr(e,t)).length,a=o-1,l=t;null!=l&&++ss?0:s+e),(n=n>s?s:n)<0&&(n+=s),s=e>n?0:n-e>>>0,e>>>=0;for(var o=i(s);++r>>1,o=t[s];null!==o&&!oa(o)&&(n?o<=e:o=200){var c=e?null:$r(t);if(c)return an(c);o=!1,r=Xe,l=new $n}else l=e?[]:a;t:for(;++i=i?t:Zi(t,e,n)}var br=re||function(t){return ce.clearTimeout(t)};function yr(t,e){if(e)return t.slice();var n=t.length,i=zt?zt(n):new t.constructor(n);return t.copy(i),i}function vr(t){var e=new t.constructor(t.byteLength);return new Vt(e).set(new Vt(t)),e}function _r(t,e){var n=e?vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function wr(t,e){if(t!==e){var n=t!==r,i=null===t,s=t==t,o=oa(t),a=e!==r,l=null===e,c=e==e,u=oa(e);if(!l&&!u&&!o&&t>e||o&&a&&c&&!l&&!u||i&&a&&c||!n&&c||!s)return 1;if(!i&&!o&&!u&&t1?n[s-1]:r,a=s>2?n[2]:r;for(o=t.length>3&&"function"==typeof o?(s--,o):r,a&&fs(n[0],n[1],a)&&(o=s<3?r:o,s=1),e=St(e);++i-1?s[o?e[a]:a]:r}}function Rr(t){return Qr(function(e){var n=e.length,i=n,o=Bn.prototype.thru;for(t&&e.reverse();i--;){var a=e[i];if("function"!=typeof a)throw new Ot(s);if(o&&!l&&"wrapper"==es(a))var l=new Bn([],!0)}for(i=l?i:n;++i1&&v.reverse(),p&&hl))return!1;var u=o.get(t),h=o.get(e);if(u&&h)return u==e&&h==t;var d=-1,p=!0,f=2&n?new $n:r;for(o.set(t,e),o.set(e,t);++d-1&&t%1==0&&t1?"& ":"")+e[i],e=e.join(n>2?", ":" "),t.replace(rt,"{\n/* [wrapped with "+e+"] */\n")}(i,function(t,e){return Se(p,function(n){var i="_."+n[0];e&n[1]&&!Te(t,i)&&t.push(i)}),t.sort()}(function(t){var e=t.match(st);return e?e[1].split(ot):[]}(i),n)))}function Ps(t){var e=0,n=0;return function(){var i=mn(),s=16-(i-n);if(n=i,s>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(r,arguments)}}function As(t,e){var n=-1,i=t.length,s=i-1;for(e=e===r?i:e;++n1?t[e-1]:r;return n="function"==typeof n?(t.pop(),n):r,no(t,n)});function co(t){var e=Ln(t);return e.__chain__=!0,e}function uo(t,e){return e(t)}var ho=Qr(function(t){var e=t.length,n=e?t[0]:0,i=this.__wrapped__,s=function(e){return ni(e,t)};return!(e>1||this.__actions__.length)&&i instanceof Vn&&ps(n)?((i=i.slice(n,+n+(e?1:0))).__actions__.push({func:uo,args:[s],thisArg:r}),new Bn(i,this.__chain__).thru(function(t){return e&&!t.length&&t.push(r),t})):this.thru(s)}),po=Or(function(t,e,n){Mt.call(t,n)?++t[n]:ei(t,n,1)}),fo=Dr(Vs),go=Dr(zs);function mo(t,e){return(Uo(t)?Se:li)(t,is(e,3))}function bo(t,e){return(Uo(t)?Ce:ci)(t,is(e,3))}var yo=Or(function(t,e,n){Mt.call(t,n)?t[n].push(e):ei(t,n,[e])}),vo=Gi(function(t,e,n){var r=-1,s="function"==typeof e,o=$o(t)?i(t.length):[];return li(t,function(t){o[++r]=s?we(e,t,n):Oi(t,e,n)}),o}),_o=Or(function(t,e,n){ei(t,n,e)});function wo(t,e){return(Uo(t)?Pe:Ri)(t,is(e,3))}var xo=Or(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),So=Gi(function(t,e){if(null==t)return[];var n=e.length;return n>1&&fs(t,e[0],e[1])?e=[]:n>2&&fs(e[0],e[1],e[2])&&(e=[e[0]]),Bi(t,pi(e,1),[])}),Co=ae||function(){return ce.Date.now()};function Eo(t,e,n){return e=n?r:e,Wr(t,c,r,r,r,r,e=t&&null==e?t.length:e)}function Oo(t,e){var n;if("function"!=typeof e)throw new Ot(s);return t=da(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=r),n}}var To=Gi(function(t,e,n){var i=1;if(n.length){var r=on(n,ns(To));i|=l}return Wr(t,i,e,n,r)}),ko=Gi(function(t,e,n){var i=3;if(n.length){var r=on(n,ns(ko));i|=l}return Wr(e,i,t,n,r)});function Po(t,e,n){var i,o,a,l,c,u,h=0,d=!1,p=!1,f=!0;if("function"!=typeof t)throw new Ot(s);function g(e){var n=i,s=o;return i=o=r,h=e,l=t.apply(s,n)}function m(t){return h=t,c=Os(y,e),d?g(t):l}function b(t){var n=t-u;return u===r||n>=e||n<0||p&&t-h>=a}function y(){var t=Co();if(b(t))return v(t);c=Os(y,function(t){var n=e-(t-u);return p?gn(n,a-(t-h)):n}(t))}function v(t){return c=r,f&&i?g(t):(i=o=r,l)}function _(){var t=Co(),n=b(t);if(i=arguments,o=this,u=t,n){if(c===r)return m(u);if(p)return br(c),c=Os(y,e),g(u)}return c===r&&(c=Os(y,e)),l}return e=fa(e)||0,Zo(n)&&(d=!!n.leading,a=(p="maxWait"in n)?fn(fa(n.maxWait)||0,e):a,f="trailing"in n?!!n.trailing:f),_.cancel=function(){c!==r&&br(c),h=0,i=u=o=c=r},_.flush=function(){return c===r?l:v(Co())},_}var Ao=Gi(function(t,e){return oi(t,1,e)}),Mo=Gi(function(t,e,n){return oi(t,fa(e)||0,n)});function Io(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new Ot(s);var n=function(){var i=arguments,r=e?e.apply(this,i):i[0],s=n.cache;if(s.has(r))return s.get(r);var o=t.apply(this,i);return n.cache=s.set(r,o)||s,o};return n.cache=new(Io.Cache||Hn),n}function Do(t){if("function"!=typeof t)throw new Ot(s);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}Io.Cache=Hn;var Ro=gr(function(t,e){var n=(e=1==e.length&&Uo(e[0])?Pe(e[0],qe(is())):Pe(pi(e,1),qe(is()))).length;return Gi(function(i){for(var r=-1,s=gn(i.length,n);++r=e}),zo=Ti(function(){return arguments}())?Ti:function(t){return Jo(t)&&Mt.call(t,"callee")&&!$t.call(t,"callee")},Uo=i.isArray,Ho=ge?qe(ge):function(t){return Jo(t)&&wi(t)==A};function $o(t){return null!=t&&Qo(t.length)&&!Xo(t)}function Go(t){return Jo(t)&&$o(t)}var Wo=fe||fl,qo=me?qe(me):function(t){return Jo(t)&&wi(t)==b};function Yo(t){if(!Jo(t))return!1;var e=wi(t);return e==y||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!na(t)}function Xo(t){if(!Zo(t))return!1;var e=wi(t);return e==v||e==_||"[object AsyncFunction]"==e||"[object Proxy]"==e}function Ko(t){return"number"==typeof t&&t==da(t)}function Qo(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=h}function Zo(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Jo(t){return null!=t&&"object"==typeof t}var ta=be?qe(be):function(t){return Jo(t)&&cs(t)==w};function ea(t){return"number"==typeof t||Jo(t)&&wi(t)==x}function na(t){if(!Jo(t)||wi(t)!=S)return!1;var e=Ut(t);if(null===e)return!0;var n=Mt.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&At.call(n)==Nt}var ia=ye?qe(ye):function(t){return Jo(t)&&wi(t)==E},ra=ve?qe(ve):function(t){return Jo(t)&&cs(t)==O};function sa(t){return"string"==typeof t||!Uo(t)&&Jo(t)&&wi(t)==T}function oa(t){return"symbol"==typeof t||Jo(t)&&wi(t)==k}var aa=_e?qe(_e):function(t){return Jo(t)&&Qo(t.length)&&!!ne[wi(t)]},la=zr(Di),ca=zr(function(t,e){return t<=e});function ua(t){if(!t)return[];if($o(t))return sa(t)?cn(t):Cr(t);if(qt&&t[qt])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[qt]());var e=cs(t);return(e==w?rn:e==O?an:Fa)(t)}function ha(t){return t?(t=fa(t))===u||t===-u?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function da(t){var e=ha(t),n=e%1;return e==e?n?e-n:e:0}function pa(t){return t?ii(da(t),0,d):0}function fa(t){if("number"==typeof t)return t;if(oa(t))return NaN;if(Zo(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Zo(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=We(t);var n=pt.test(t);return n||gt.test(t)?oe(t.slice(2),n?2:8):dt.test(t)?NaN:+t}function ga(t){return Er(t,Aa(t))}function ma(t){return null==t?"":rr(t)}var ba=Tr(function(t,e){if(ys(e)||$o(e))Er(e,Pa(e),t);else for(var n in e)Mt.call(e,n)&&Qn(t,n,e[n])}),ya=Tr(function(t,e){Er(e,Aa(e),t)}),va=Tr(function(t,e,n,i){Er(e,Aa(e),t,i)}),_a=Tr(function(t,e,n,i){Er(e,Pa(e),t,i)}),wa=Qr(ni),xa=Gi(function(t,e){t=St(t);var n=-1,i=e.length,s=i>2?e[2]:r;for(s&&fs(e[0],e[1],s)&&(i=1);++n1),e}),Er(t,Jr(t),n),i&&(n=ri(n,7,Xr));for(var r=e.length;r--;)or(n,e[r]);return n}),Ra=Qr(function(t,e){return null==t?{}:function(t,e){return Vi(t,e,function(e,n){return Ea(t,n)})}(t,e)});function Na(t,e){if(null==t)return{};var n=Pe(Jr(t),function(t){return[t]});return e=is(e),Vi(t,n,function(t,n){return e(t,n[0])})}var La=Gr(Pa),ja=Gr(Aa);function Fa(t){return null==t?[]:Ye(t,Pa(t))}var Ba=Mr(function(t,e,n){return e=e.toLowerCase(),t+(n?Va(e):e)});function Va(t){return Ya(ma(t).toLowerCase())}function za(t){return(t=ma(t))&&t.replace(bt,Je).replace(Xt,"")}var Ua=Mr(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Ha=Mr(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),$a=Ar("toLowerCase"),Ga=Mr(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Wa=Mr(function(t,e,n){return t+(n?" ":"")+Ya(e)}),qa=Mr(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Ya=Ar("toUpperCase");function Xa(t,e,n){return t=ma(t),(e=n?r:e)===r?function(t){return Jt.test(t)}(t)?function(t){return t.match(Qt)||[]}(t):function(t){return t.match(at)||[]}(t):t.match(e)||[]}var Ka=Gi(function(t,e){try{return we(t,r,e)}catch(Is){return Yo(Is)?Is:new _t(Is)}}),Qa=Qr(function(t,e){return Se(e,function(e){e=Rs(e),ei(t,e,To(t[e],t))}),t});function Za(t){return function(){return t}}var Ja=Rr(),tl=Rr(!0);function el(t){return t}function nl(t){return Mi("function"==typeof t?t:ri(t,1))}var il=Gi(function(t,e){return function(n){return Oi(n,t,e)}}),rl=Gi(function(t,e){return function(n){return Oi(t,n,e)}});function sl(t,e,n){var i=Pa(e),r=yi(e,i);null==n&&(!Zo(e)||!r.length&&i.length)&&(n=e,e=t,t=this,r=yi(e,Pa(e)));var s=!(Zo(n)&&"chain"in n&&!n.chain),o=Xo(t);return Se(r,function(n){var i=e[n];t[n]=i,o&&(t.prototype[n]=function(){var e=this.__chain__;if(s||e){var n=t(this.__wrapped__),r=n.__actions__=Cr(this.__actions__);return r.push({func:i,args:arguments,thisArg:t}),n.__chain__=e,n}return i.apply(t,Ae([this.value()],arguments))})}),t}function ol(){}var al=Fr(Pe),ll=Fr(Ee),cl=Fr(De);function ul(t){return gs(t)?ze(Rs(t)):function(t){return function(e){return vi(e,t)}}(t)}var hl=Vr(),dl=Vr(!0);function pl(){return[]}function fl(){return!1}var gl=jr(function(t,e){return t+e},0),ml=Hr("ceil"),bl=jr(function(t,e){return t/e},1),yl=Hr("floor"),vl=jr(function(t,e){return t*e},1),_l=Hr("round"),wl=jr(function(t,e){return t-e},0);return Ln.after=function(t,e){if("function"!=typeof e)throw new Ot(s);return t=da(t),function(){if(--t<1)return e.apply(this,arguments)}},Ln.ary=Eo,Ln.assign=ba,Ln.assignIn=ya,Ln.assignInWith=va,Ln.assignWith=_a,Ln.at=wa,Ln.before=Oo,Ln.bind=To,Ln.bindAll=Qa,Ln.bindKey=ko,Ln.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return Uo(t)?t:[t]},Ln.chain=co,Ln.chunk=function(t,e,n){e=(n?fs(t,e,n):e===r)?1:fn(da(e),0);var s=null==t?0:t.length;if(!s||e<1)return[];for(var o=0,a=0,l=i(ue(s/e));os?0:s+n),(i=i===r||i>s?s:da(i))<0&&(i+=s),i=n>i?0:pa(i);n>>0)?(t=ma(t))&&("string"==typeof e||null!=e&&!ia(e))&&!(e=rr(e))&&nn(t)?mr(cn(t),0,n):t.split(e,n):[]},Ln.spread=function(t,e){if("function"!=typeof t)throw new Ot(s);return e=null==e?0:fn(da(e),0),Gi(function(n){var i=n[e],r=mr(n,0,e);return i&&Ae(r,i),we(t,this,r)})},Ln.tail=function(t){var e=null==t?0:t.length;return e?Zi(t,1,e):[]},Ln.take=function(t,e,n){return t&&t.length?Zi(t,0,(e=n||e===r?1:da(e))<0?0:e):[]},Ln.takeRight=function(t,e,n){var i=null==t?0:t.length;return i?Zi(t,(e=i-(e=n||e===r?1:da(e)))<0?0:e,i):[]},Ln.takeRightWhile=function(t,e){return t&&t.length?lr(t,is(e,3),!1,!0):[]},Ln.takeWhile=function(t,e){return t&&t.length?lr(t,is(e,3)):[]},Ln.tap=function(t,e){return e(t),t},Ln.throttle=function(t,e,n){var i=!0,r=!0;if("function"!=typeof t)throw new Ot(s);return Zo(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),Po(t,e,{leading:i,maxWait:e,trailing:r})},Ln.thru=uo,Ln.toArray=ua,Ln.toPairs=La,Ln.toPairsIn=ja,Ln.toPath=function(t){return Uo(t)?Pe(t,Rs):oa(t)?[t]:Cr(Ds(ma(t)))},Ln.toPlainObject=ga,Ln.transform=function(t,e,n){var i=Uo(t),r=i||Wo(t)||aa(t);if(e=is(e,4),null==n){var s=t&&t.constructor;n=r?i?new s:[]:Zo(t)&&Xo(s)?jn(Ut(t)):{}}return(r?Se:mi)(t,function(t,i,r){return e(n,t,i,r)}),n},Ln.unary=function(t){return Eo(t,1)},Ln.union=Zs,Ln.unionBy=Js,Ln.unionWith=to,Ln.uniq=function(t){return t&&t.length?sr(t):[]},Ln.uniqBy=function(t,e){return t&&t.length?sr(t,is(e,2)):[]},Ln.uniqWith=function(t,e){return e="function"==typeof e?e:r,t&&t.length?sr(t,r,e):[]},Ln.unset=function(t,e){return null==t||or(t,e)},Ln.unzip=eo,Ln.unzipWith=no,Ln.update=function(t,e,n){return null==t?t:ar(t,e,pr(n))},Ln.updateWith=function(t,e,n,i){return i="function"==typeof i?i:r,null==t?t:ar(t,e,pr(n),i)},Ln.values=Fa,Ln.valuesIn=function(t){return null==t?[]:Ye(t,Aa(t))},Ln.without=io,Ln.words=Xa,Ln.wrap=function(t,e){return No(pr(e),t)},Ln.xor=ro,Ln.xorBy=so,Ln.xorWith=oo,Ln.zip=ao,Ln.zipObject=function(t,e){return hr(t||[],e||[],Qn)},Ln.zipObjectDeep=function(t,e){return hr(t||[],e||[],Yi)},Ln.zipWith=lo,Ln.entries=La,Ln.entriesIn=ja,Ln.extend=ya,Ln.extendWith=va,sl(Ln,Ln),Ln.add=gl,Ln.attempt=Ka,Ln.camelCase=Ba,Ln.capitalize=Va,Ln.ceil=ml,Ln.clamp=function(t,e,n){return n===r&&(n=e,e=r),n!==r&&(n=(n=fa(n))==n?n:0),e!==r&&(e=(e=fa(e))==e?e:0),ii(fa(t),e,n)},Ln.clone=function(t){return ri(t,4)},Ln.cloneDeep=function(t){return ri(t,5)},Ln.cloneDeepWith=function(t,e){return ri(t,5,e="function"==typeof e?e:r)},Ln.cloneWith=function(t,e){return ri(t,4,e="function"==typeof e?e:r)},Ln.conformsTo=function(t,e){return null==e||si(t,e,Pa(e))},Ln.deburr=za,Ln.defaultTo=function(t,e){return null==t||t!=t?e:t},Ln.divide=bl,Ln.endsWith=function(t,e,n){t=ma(t),e=rr(e);var i=t.length,s=n=n===r?i:ii(da(n),0,i);return(n-=e.length)>=0&&t.slice(n,s)==e},Ln.eq=Fo,Ln.escape=function(t){return(t=ma(t))&&q.test(t)?t.replace(G,tn):t},Ln.escapeRegExp=function(t){return(t=ma(t))&&et.test(t)?t.replace(tt,"\\$&"):t},Ln.every=function(t,e,n){var i=Uo(t)?Ee:ui;return n&&fs(t,e,n)&&(e=r),i(t,is(e,3))},Ln.find=fo,Ln.findIndex=Vs,Ln.findKey=function(t,e){return Ne(t,is(e,3),mi)},Ln.findLast=go,Ln.findLastIndex=zs,Ln.findLastKey=function(t,e){return Ne(t,is(e,3),bi)},Ln.floor=yl,Ln.forEach=mo,Ln.forEachRight=bo,Ln.forIn=function(t,e){return null==t?t:fi(t,is(e,3),Aa)},Ln.forInRight=function(t,e){return null==t?t:gi(t,is(e,3),Aa)},Ln.forOwn=function(t,e){return t&&mi(t,is(e,3))},Ln.forOwnRight=function(t,e){return t&&bi(t,is(e,3))},Ln.get=Ca,Ln.gt=Bo,Ln.gte=Vo,Ln.has=function(t,e){return null!=t&&us(t,e,Si)},Ln.hasIn=Ea,Ln.head=Hs,Ln.identity=el,Ln.includes=function(t,e,n,i){t=$o(t)?t:Fa(t),n=n&&!i?da(n):0;var r=t.length;return n<0&&(n=fn(r+n,0)),sa(t)?n<=r&&t.indexOf(e,n)>-1:!!r&&je(t,e,n)>-1},Ln.indexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var r=null==n?0:da(n);return r<0&&(r=fn(i+r,0)),je(t,e,r)},Ln.inRange=function(t,e,n){return e=ha(e),n===r?(n=e,e=0):n=ha(n),function(t,e,n){return t>=gn(e,n)&&t=-h&&t<=h},Ln.isSet=ra,Ln.isString=sa,Ln.isSymbol=oa,Ln.isTypedArray=aa,Ln.isUndefined=function(t){return t===r},Ln.isWeakMap=function(t){return Jo(t)&&cs(t)==P},Ln.isWeakSet=function(t){return Jo(t)&&"[object WeakSet]"==wi(t)},Ln.join=function(t,e){return null==t?"":Ue.call(t,e)},Ln.kebabCase=Ua,Ln.last=qs,Ln.lastIndexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var s=i;return n!==r&&(s=(s=da(n))<0?fn(i+s,0):gn(s,i-1)),e==e?function(t,e,n){for(var i=n+1;i--;)if(t[i]===e)return i;return i}(t,e,s):Le(t,Be,s,!0)},Ln.lowerCase=Ha,Ln.lowerFirst=$a,Ln.lt=la,Ln.lte=ca,Ln.max=function(t){return t&&t.length?hi(t,el,xi):r},Ln.maxBy=function(t,e){return t&&t.length?hi(t,is(e,2),xi):r},Ln.mean=function(t){return Ve(t,el)},Ln.meanBy=function(t,e){return Ve(t,is(e,2))},Ln.min=function(t){return t&&t.length?hi(t,el,Di):r},Ln.minBy=function(t,e){return t&&t.length?hi(t,is(e,2),Di):r},Ln.stubArray=pl,Ln.stubFalse=fl,Ln.stubObject=function(){return{}},Ln.stubString=function(){return""},Ln.stubTrue=function(){return!0},Ln.multiply=vl,Ln.nth=function(t,e){return t&&t.length?Fi(t,da(e)):r},Ln.noConflict=function(){return ce._===this&&(ce._=Lt),this},Ln.noop=ol,Ln.now=Co,Ln.pad=function(t,e,n){t=ma(t);var i=(e=da(e))?ln(t):0;if(!e||i>=e)return t;var r=(e-i)/2;return Br(he(r),n)+t+Br(ue(r),n)},Ln.padEnd=function(t,e,n){t=ma(t);var i=(e=da(e))?ln(t):0;return e&&ie){var i=t;t=e,e=i}if(n||t%1||e%1){var s=yn();return gn(t+s*(e-t+se("1e-"+((s+"").length-1))),e)}return Hi(t,e)},Ln.reduce=function(t,e,n){var i=Uo(t)?Me:He,r=arguments.length<3;return i(t,is(e,4),n,r,li)},Ln.reduceRight=function(t,e,n){var i=Uo(t)?Ie:He,r=arguments.length<3;return i(t,is(e,4),n,r,ci)},Ln.repeat=function(t,e,n){return e=(n?fs(t,e,n):e===r)?1:da(e),$i(ma(t),e)},Ln.replace=function(){var t=arguments,e=ma(t[0]);return t.length<3?e:e.replace(t[1],t[2])},Ln.result=function(t,e,n){var i=-1,s=(e=fr(e,t)).length;for(s||(s=1,t=r);++ih)return[];var n=d,i=gn(t,d);e=is(e),t-=d;for(var r=Ge(i,e);++n=o)return t;var l=n-ln(i);if(l<1)return i;var c=a?mr(a,0,l).join(""):t.slice(0,l);if(s===r)return c+i;if(a&&(l+=c.length-l),ia(s)){if(t.slice(l).search(s)){var u,h=c;for(s.global||(s=Ct(s.source,ma(ht.exec(s))+"g")),s.lastIndex=0;u=s.exec(h);)var d=u.index;c=c.slice(0,d===r?l:d)}}else if(t.indexOf(rr(s),l)!=l){var p=c.lastIndexOf(s);p>-1&&(c=c.slice(0,p))}return c+i},Ln.unescape=function(t){return(t=ma(t))&&W.test(t)?t.replace($,hn):t},Ln.uniqueId=function(t){var e=++It;return ma(t)+e},Ln.upperCase=qa,Ln.upperFirst=Ya,Ln.each=mo,Ln.eachRight=bo,Ln.first=Hs,sl(Ln,function(){var t={};return mi(Ln,function(e,n){Mt.call(Ln.prototype,n)||(t[n]=e)}),t}(),{chain:!1}),Ln.VERSION="4.17.21",Se(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){Ln[t].placeholder=Ln}),Se(["drop","take"],function(t,e){Vn.prototype[t]=function(n){n=n===r?1:fn(da(n),0);var i=this.__filtered__&&!e?new Vn(this):this.clone();return i.__filtered__?i.__takeCount__=gn(n,i.__takeCount__):i.__views__.push({size:gn(n,d),type:t+(i.__dir__<0?"Right":"")}),i},Vn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Se(["filter","map","takeWhile"],function(t,e){var n=e+1,i=1==n||3==n;Vn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:is(t,3),type:n}),e.__filtered__=e.__filtered__||i,e}}),Se(["head","last"],function(t,e){var n="take"+(e?"Right":"");Vn.prototype[t]=function(){return this[n](1).value()[0]}}),Se(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");Vn.prototype[t]=function(){return this.__filtered__?new Vn(this):this[n](1)}}),Vn.prototype.compact=function(){return this.filter(el)},Vn.prototype.find=function(t){return this.filter(t).head()},Vn.prototype.findLast=function(t){return this.reverse().find(t)},Vn.prototype.invokeMap=Gi(function(t,e){return"function"==typeof t?new Vn(this):this.map(function(n){return Oi(n,t,e)})}),Vn.prototype.reject=function(t){return this.filter(Do(is(t)))},Vn.prototype.slice=function(t,e){t=da(t);var n=this;return n.__filtered__&&(t>0||e<0)?new Vn(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==r&&(n=(e=da(e))<0?n.dropRight(-e):n.take(e-t)),n)},Vn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Vn.prototype.toArray=function(){return this.take(d)},mi(Vn.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),s=Ln[i?"take"+("last"==e?"Right":""):e],o=i||/^find/.test(e);!s||(Ln.prototype[e]=function(){var e=this.__wrapped__,a=i?[1]:arguments,l=e instanceof Vn,c=a[0],u=l||Uo(e),h=function(t){var e=s.apply(Ln,Ae([t],a));return i&&d?e[0]:e};u&&n&&"function"==typeof c&&1!=c.length&&(l=u=!1);var d=this.__chain__,p=!!this.__actions__.length,f=o&&!d,g=l&&!p;if(!o&&u){e=g?e:new Vn(this);var m=t.apply(e,a);return m.__actions__.push({func:uo,args:[h],thisArg:r}),new Bn(m,d)}return f&&g?t.apply(this,a):(m=this.thru(h),f?i?m.value()[0]:m.value():m)})}),Se(["pop","push","shift","sort","splice","unshift"],function(t){var e=Tt[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:pop|shift)$/.test(t);Ln.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var r=this.value();return e.apply(Uo(r)?r:[],t)}return this[n](function(n){return e.apply(Uo(n)?n:[],t)})}}),mi(Vn.prototype,function(t,e){var n=Ln[e];if(n){var i=n.name+"";Mt.call(Tn,i)||(Tn[i]=[]),Tn[i].push({name:e,func:n})}}),Tn[Nr(r,2).name]=[{name:"wrapper",func:r}],Vn.prototype.clone=function(){var t=new Vn(this.__wrapped__);return t.__actions__=Cr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Cr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Cr(this.__views__),t},Vn.prototype.reverse=function(){if(this.__filtered__){var t=new Vn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},Vn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=Uo(t),i=e<0,r=n?t.length:0,s=function(t,e,n){for(var i=-1,r=n.length;++i=this.__values__.length;return{done:t,value:t?r:this.__values__[this.__index__++]}},Ln.prototype.plant=function(t){for(var e,n=this;n instanceof Fn;){var i=Ls(n);i.__index__=0,i.__values__=r,e?s.__wrapped__=i:e=i;var s=i;n=n.__wrapped__}return s.__wrapped__=t,e},Ln.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof Vn){var e=t;return this.__actions__.length&&(e=new Vn(this)),(e=e.reverse()).__actions__.push({func:uo,args:[Qs],thisArg:r}),new Bn(e,this.__chain__)}return this.thru(Qs)},Ln.prototype.toJSON=Ln.prototype.valueOf=Ln.prototype.value=function(){return cr(this.__wrapped__,this.__actions__)},Ln.prototype.first=Ln.prototype.head,qt&&(Ln.prototype[qt]=function(){return this}),Ln}();ce._=dn,(i=(function(){return dn}).call(e,n,e,t))!==r&&(t.exports=i)}).call(this)},5478:function(t){t.exports=function(){"use strict";function t(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,i=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i={exports:{}};function r(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}i.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:r,changeDefaults:function(t){i.exports.defaults=t}};var s=/[&<>"']/,o=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,l=/[<>"']|&(?!#?\w+;)/g,c={"&":"&","<":"<",">":">",'"':""","'":"'"},u=function(t){return c[t]};var h=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function d(t){return t.replace(h,function(t,e){return"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""})}var p=/(^|[^\[])\^/g;var f=/[^\w:]/g,g=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var m={},b=/^[^:]+:\/*[^/]*$/,y=/^([^:]+:)[\s\S]*$/,v=/^([^:]+:\/*[^/]*)[\s\S]*$/;function _(t,e){m[" "+t]||(m[" "+t]=b.test(t)?t+"/":w(t,"/",!0));var n=-1===(t=m[" "+t]).indexOf(":");return"//"===e.substring(0,2)?n?e:t.replace(y,"$1")+e:"/"===e.charAt(0)?n?e:t.replace(v,"$1")+e:t+e}function w(t,e,n){var i=t.length;if(0===i)return"";for(var r=0;r1;)1&e&&(n+=t),e>>=1,t+=t;return n+t},A=i.exports.defaults,M=w,I=function(t,e){var n=t.replace(/\|/g,function(t,e,n){for(var i=!1,r=e;--r>=0&&"\\"===n[r];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(n.length>e)n.splice(e);else for(;n.length1?{type:"space",raw:e[0]}:{raw:"\n"}},e.code=function(t){var e=this.rules.block.code.exec(t);if(e){var n=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?n:M(n,"\n")}}},e.fences=function(t){var e=this.rules.block.fences.exec(t);if(e){var n=e[0],i=function(t,e){var n=t.match(/^(\s+)(?:```)/);if(null===n)return e;var i=n[1];return e.split("\n").map(function(t){var e=t.match(/^\s+/);return null===e?t:e[0].length>=i.length?t.slice(i.length):t}).join("\n")}(n,e[3]||"");return{type:"code",raw:n,lang:e[2]?e[2].trim():e[2],text:i}}},e.heading=function(t){var e=this.rules.block.heading.exec(t);if(e){var n=e[2].trim();if(/#$/.test(n)){var i=M(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:n}}},e.nptable=function(t){var e=this.rules.block.nptable.exec(t);if(e){var n={type:"table",header:I(e[1].replace(/^ *| *\| *$/g,"")),align:e[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:e[3]?e[3].replace(/\n$/,"").split("\n"):[],raw:e[0]};if(n.header.length===n.align.length){var i,r=n.align.length;for(i=0;i ?/gm,"");return{type:"blockquote",raw:e[0],text:n}}},e.list=function(t){var e=this.rules.block.list.exec(t);if(e){var n,i,r,s,o,a,l,c,u,h=e[0],d=e[2],p=d.length>1,f={type:"list",raw:h,ordered:p,start:p?+d.slice(0,-1):"",loose:!1,items:[]},g=e[0].match(this.rules.block.item),m=!1,b=g.length;r=this.rules.block.listItemStart.exec(g[0]);for(var y=0;yr[1].length:s[1].length>=r[0].length||s[1].length>3){g.splice(y,2,g[y]+(!this.options.pedantic&&s[1].length/i.test(i[0])&&(e=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:i[0],inLink:e,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):D(i[0]):i[0]}},e.link=function(t){var e=this.rules.inline.link.exec(t);if(e){var n=e[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var i=M(n.slice(0,-1),"\\");if((n.length-i.length)%2==0)return}else{var r=R(e[2],"()");if(r>-1){var s=(0===e[0].indexOf("!")?5:4)+e[1].length+r;e[2]=e[2].substring(0,r),e[0]=e[0].substring(0,s).trim(),e[3]=""}}var o=e[2],a="";if(this.options.pedantic){var l=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);l&&(o=l[1],a=l[3])}else a=e[3]?e[3].slice(1,-1):"";return o=o.trim(),/^$/.test(n)?o.slice(1):o.slice(1,-1)),N(e,{href:o&&o.replace(this.rules.inline._escapes,"$1"),title:a&&a.replace(this.rules.inline._escapes,"$1")},e[0])}},e.reflink=function(t,e){var n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){var i=(n[2]||n[1]).replace(/\s+/g," ");if(!(i=e[i.toLowerCase()])||!i.href){var r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return N(n,i,n[0])}},e.emStrong=function(t,e,n){void 0===n&&(n="");var i=this.rules.inline.emStrong.lDelim.exec(t);if(i&&(!i[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=i[1]||i[2]||"";if(!r||r&&(""===n||this.rules.inline.punctuation.exec(n))){var s,o,a=i[0].length-1,l=a,c=0,u="*"===i[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(u.lastIndex=0,e=e.slice(-1*t.length+a);null!=(i=u.exec(e));)if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6]){if(o=s.length,i[3]||i[4]){l+=o;continue}if((i[5]||i[6])&&a%3&&!((a+o)%3)){c+=o;continue}if(!((l-=o)>0))return o=Math.min(o,o+l+c),Math.min(a,o)%2?{type:"em",raw:t.slice(0,a+i.index+o+1),text:t.slice(1,a+i.index+o)}:{type:"strong",raw:t.slice(0,a+i.index+o+1),text:t.slice(2,a+i.index+o-1)}}}}},e.codespan=function(t){var e=this.rules.inline.code.exec(t);if(e){var n=e[2].replace(/\n/g," "),i=/[^ ]/.test(n),r=/^ /.test(n)&&/ $/.test(n);return i&&r&&(n=n.substring(1,n.length-1)),n=D(n,!0),{type:"codespan",raw:e[0],text:n}}},e.br=function(t){var e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}},e.del=function(t){var e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2]}},e.autolink=function(t,e){var n,i,r=this.rules.inline.autolink.exec(t);if(r)return i="@"===r[2]?"mailto:"+(n=D(this.options.mangle?e(r[1]):r[1])):n=D(r[1]),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}},e.url=function(t,e){var n;if(n=this.rules.inline.url.exec(t)){var i,r;if("@"===n[2])r="mailto:"+(i=D(this.options.mangle?e(n[0]):n[0]));else{var s;do{s=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(s!==n[0]);i=D(n[0]),r="www."===n[1]?"http://"+i:i}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}},e.inlineText=function(t,e,n){var i,r=this.rules.inline.text.exec(t);if(r)return i=e?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):D(r[0]):r[0]:D(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:i}},t}(),j=O,F=C,B=T,V={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:j,table:j,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};V.def=F(V.def).replace("label",V._label).replace("title",V._title).getRegex(),V.bullet=/(?:[*+-]|\d{1,9}[.)])/,V.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,V.item=F(V.item,"gm").replace(/bull/g,V.bullet).getRegex(),V.listItemStart=F(/^( *)(bull) */).replace("bull",V.bullet).getRegex(),V.list=F(V.list).replace(/bull/g,V.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+V.def.source+")").getRegex(),V._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",V._comment=/|$)/,V.html=F(V.html,"i").replace("comment",V._comment).replace("tag",V._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),V.paragraph=F(V._paragraph).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.blockquote=F(V.blockquote).replace("paragraph",V.paragraph).getRegex(),V.normal=B({},V),V.gfm=B({},V.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),V.gfm.nptable=F(V.gfm.nptable).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.gfm.table=F(V.gfm.table).replace("hr",V.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",V._tag).getRegex(),V.pedantic=B({},V.normal,{html:F("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",V._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:j,paragraph:F(V.normal._paragraph).replace("hr",V.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",V.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var z={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:j,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:j,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};z.punctuation=F(z.punctuation).replace(/punctuation/g,z._punctuation).getRegex(),z.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,z.escapedEmSt=/\\\*|\\_/g,z._comment=F(V._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),z.emStrong.lDelim=F(z.emStrong.lDelim).replace(/punct/g,z._punctuation).getRegex(),z.emStrong.rDelimAst=F(z.emStrong.rDelimAst,"g").replace(/punct/g,z._punctuation).getRegex(),z.emStrong.rDelimUnd=F(z.emStrong.rDelimUnd,"g").replace(/punct/g,z._punctuation).getRegex(),z._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,z._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,z._email=/[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])?)+(?![-_])/,z.autolink=F(z.autolink).replace("scheme",z._scheme).replace("email",z._email).getRegex(),z._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,z.tag=F(z.tag).replace("comment",z._comment).replace("attribute",z._attribute).getRegex(),z._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,z._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,z._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,z.link=F(z.link).replace("label",z._label).replace("href",z._href).replace("title",z._title).getRegex(),z.reflink=F(z.reflink).replace("label",z._label).getRegex(),z.reflinkSearch=F(z.reflinkSearch,"g").replace("reflink",z.reflink).replace("nolink",z.nolink).getRegex(),z.normal=B({},z),z.pedantic=B({},z.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:F(/^!?\[(label)\]\((.*?)\)/).replace("label",z._label).getRegex(),reflink:F(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",z._label).getRegex()}),z.gfm=B({},z.normal,{escape:F(z.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),i+="&#"+n+";";return i}var K=function(){function e(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||$,this.options.tokenizer=this.options.tokenizer||new H,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var e={block:G.normal,inline:W.normal};this.options.pedantic?(e.block=G.pedantic,e.inline=W.pedantic):this.options.gfm&&(e.block=G.gfm,e.inline=this.options.breaks?W.breaks:W.gfm),this.tokenizer.rules=e}e.lex=function(t,n){return new e(n).lex(t)},e.lexInline=function(t,n){return new e(n).inlineTokens(t)};var n=e.prototype;return n.lex=function(t){return t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(t,this.tokens,!0),this.inline(this.tokens),this.tokens},n.blockTokens=function(t,e,n){var i,r,s,o,a,l,c=this;for(void 0===e&&(e=[]),void 0===n&&(n=!0),this.options.pedantic&&(t=t.replace(/^ +$/gm,""));t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(n){return!!(i=n.call(c,t,e))&&(t=t.substring(i.raw.length),e.push(i),!0)}))){if(i=this.tokenizer.space(t)){t=t.substring(i.raw.length),i.type&&e.push(i);continue}if(i=this.tokenizer.code(t)){t=t.substring(i.raw.length),(o=e[e.length-1])&&"paragraph"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i);continue}if(i=this.tokenizer.fences(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.heading(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.nptable(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.hr(t)){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.blockquote(t)){t=t.substring(i.raw.length),i.tokens=this.blockTokens(i.text,[],n),e.push(i);continue}if(i=this.tokenizer.list(t)){for(t=t.substring(i.raw.length),s=i.items.length,r=0;r=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(a=t.substring(0,e+1))}(),n&&(i=this.tokenizer.paragraph(a))){o=e[e.length-1],l&&"paragraph"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i),l=a.length!==t.length,t=t.substring(i.raw.length);continue}if(i=this.tokenizer.text(t)){t=t.substring(i.raw.length),(o=e[e.length-1])&&"text"===o.type?(o.raw+="\n"+i.raw,o.text+="\n"+i.text):e.push(i);continue}if(t){var u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}}return e},n.inline=function(t){var e,n,i,r,s,o,a=t.length;for(e=0;e0)for(;null!=(l=this.tokenizer.rules.inline.reflinkSearch.exec(h));)d.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(h=h.slice(0,l.index)+"["+q("a",l[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(l=this.tokenizer.rules.inline.blockSkip.exec(h));)h=h.slice(0,l.index)+"["+q("a",l[0].length-2)+"]"+h.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(l=this.tokenizer.rules.inline.escapedEmSt.exec(h));)h=h.slice(0,l.index)+"++"+h.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;t;)if(c||(u=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(n){return!!(s=n.call(r,t,e))&&(t=t.substring(s.raw.length),e.push(s),!0)}))){if(s=this.tokenizer.escape(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.tag(t,n,i)){t=t.substring(s.raw.length),n=s.inLink,i=s.inRawBlock,(o=e[e.length-1])&&"text"===s.type&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(s=this.tokenizer.link(t)){t=t.substring(s.raw.length),"link"===s.type&&(s.tokens=this.inlineTokens(s.text,[],!0,i)),e.push(s);continue}if(s=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(s.raw.length),o=e[e.length-1],"link"===s.type?(s.tokens=this.inlineTokens(s.text,[],!0,i),e.push(s)):o&&"text"===s.type&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(s=this.tokenizer.emStrong(t,h,u)){t=t.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],n,i),e.push(s);continue}if(s=this.tokenizer.codespan(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.br(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.del(t)){t=t.substring(s.raw.length),s.tokens=this.inlineTokens(s.text,[],n,i),e.push(s);continue}if(s=this.tokenizer.autolink(t,X)){t=t.substring(s.raw.length),e.push(s);continue}if(!n&&(s=this.tokenizer.url(t,X))){t=t.substring(s.raw.length),e.push(s);continue}if(a=t,this.options.extensions&&this.options.extensions.startInline&&function(){var e=1/0,n=t.slice(1),i=void 0;r.options.extensions.startInline.forEach(function(t){"number"==typeof(i=t.call(this,n))&&i>=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(a=t.substring(0,e+1))}(),s=this.tokenizer.inlineText(a,i,Y)){t=t.substring(s.raw.length),"_"!==s.raw.slice(-1)&&(u=s.raw.slice(-1)),c=!0,(o=e[e.length-1])&&"text"===o.type?(o.raw+=s.raw,o.text+=s.text):e.push(s);continue}if(t){var p="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(p);break}throw new Error(p)}}return e},function(e,n,i){n&&t(e.prototype,n),i&&t(e,i)}(e,null,[{key:"rules",get:function(){return{block:G,inline:W}}}]),e}(),Q=i.exports.defaults,Z=E,J=x,tt=function(){function t(t){this.options=t||Q}var e=t.prototype;return e.code=function(t,e,n){var i=(e||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(t,i);null!=r&&r!==t&&(n=!0,t=r)}return t=t.replace(/\n$/,"")+"\n",i?'
            '+(n?t:J(t,!0))+"
            \n":"
            "+(n?t:J(t,!0))+"
            \n"},e.blockquote=function(t){return"
            \n"+t+"
            \n"},e.html=function(t){return t},e.heading=function(t,e,n,i){return this.options.headerIds?"'+t+"\n":""+t+"\n"},e.hr=function(){return this.options.xhtml?"
            \n":"
            \n"},e.list=function(t,e,n){var i=e?"ol":"ul";return"<"+i+(e&&1!==n?' start="'+n+'"':"")+">\n"+t+"\n"},e.listitem=function(t){return"
          • "+t+"
          • \n"},e.checkbox=function(t){return" "},e.paragraph=function(t){return"

            "+t+"

            \n"},e.table=function(t,e){return e&&(e=""+e+""),"\n\n"+t+"\n"+e+"
            \n"},e.tablerow=function(t){return"\n"+t+"\n"},e.tablecell=function(t,e){var n=e.header?"th":"td";return(e.align?"<"+n+' align="'+e.align+'">':"<"+n+">")+t+"\n"},e.strong=function(t){return""+t+""},e.em=function(t){return""+t+""},e.codespan=function(t){return""+t+""},e.br=function(){return this.options.xhtml?"
            ":"
            "},e.del=function(t){return""+t+""},e.link=function(t,e,n){if(null===(t=Z(this.options.sanitize,this.options.baseUrl,t)))return n;var i='"+n+""},e.image=function(t,e,n){if(null===(t=Z(this.options.sanitize,this.options.baseUrl,t)))return n;var i=''+n+'":">")},e.text=function(t){return t},t}(),et=function(){function t(){}var e=t.prototype;return e.strong=function(t){return t},e.em=function(t){return t},e.codespan=function(t){return t},e.del=function(t){return t},e.html=function(t){return t},e.text=function(t){return t},e.link=function(t,e,n){return""+n},e.image=function(t,e,n){return""+n},e.br=function(){return""},t}(),nt=function(){function t(){this.seen={}}var e=t.prototype;return e.serialize=function(t){return t.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},e.getNextSafeSlug=function(t,e){var n=t,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[t];do{n=t+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return e||(this.seen[t]=i,this.seen[n]=0),n},e.slug=function(t,e){void 0===e&&(e={});var n=this.serialize(t);return this.getNextSafeSlug(n,e.dryrun)},t}(),it=tt,rt=et,st=nt,ot=i.exports.defaults,at=S,lt=K,ct=function(){function t(t){this.options=t||ot,this.options.renderer=this.options.renderer||new it,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new rt,this.slugger=new st}t.parse=function(e,n){return new t(n).parse(e)},t.parseInline=function(e,n){return new t(n).parseInline(e)};var e=t.prototype;return e.parse=function(t,e){void 0===e&&(e=!0);var n,i,r,s,o,a,l,c,u,h,d,p,f,g,m,b,y,v,_,w="",x=t.length;for(n=0;n0&&"text"===m.tokens[0].type?(m.tokens[0].text=v+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=v+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:v}):g+=v),g+=this.parse(m.tokens,f),u+=this.renderer.listitem(g,y,b);w+=this.renderer.list(u,d,p);continue;case"html":w+=this.renderer.html(h.text);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(h.tokens));continue;case"text":for(u=h.tokens?this.parseInline(h.tokens):h.text;n+1An error occurred:

            "+mt(l.message+"",!0)+"
            ";throw l}}return _t.options=_t.setOptions=function(t){return ft(_t.defaults,t),yt(_t.defaults),_t},_t.getDefaults=bt,_t.defaults=vt,_t.use=function(){for(var t=this,e=arguments.length,n=new Array(e),i=0;iAn error occurred:

            "+mt(i.message+"",!0)+"
            ";throw i}},_t.Parser=ct,_t.parser=ct.parse,_t.Renderer=ht,_t.TextRenderer=dt,_t.Lexer=lt,_t.lexer=lt.lex,_t.Tokenizer=ut,_t.Slugger=pt,_t.parse=_t,_t}()},29369:function(t,e,n){var i=n(56284),r=n(67830);function s(){this.clear()}s.prototype.clear=function(){this.items=[],this.offset=0,this.size=0},s.prototype.enqueue=function(t){return this.items.push(t),++this.size},s.prototype.dequeue=function(){if(this.size){var t=this.items[this.offset];return 2*++this.offset>=this.items.length&&(this.items=this.items.slice(this.offset),this.offset=0),this.size--,t}},s.prototype.peek=function(){if(this.size)return this.items[this.offset]},s.prototype.forEach=function(t,e){e=arguments.length>1?e:this;for(var n=this.offset,i=0,r=this.items.length;n=t.length)return{done:!0};var n=t[e];return e++,{value:n,done:!1}})},s.prototype.entries=function(){var t=this.items,e=this.offset,n=0;return new i(function(){if(e>=t.length)return{done:!0};var i=t[e];return e++,{value:[n++,i],done:!1}})},"undefined"!=typeof Symbol&&(s.prototype[Symbol.iterator]=s.prototype.values),s.prototype.toString=function(){return this.toArray().join(",")},s.prototype.toJSON=function(){return this.toArray()},s.prototype.inspect=function(){var t=this.toArray();return Object.defineProperty(t,"constructor",{value:s,enumerable:!1}),t},"undefined"!=typeof Symbol&&(s.prototype[Symbol.for("nodejs.util.inspect.custom")]=s.prototype.inspect),s.from=function(t){var e=new s;return r(t,function(t){e.enqueue(t)}),e},s.of=function(){return s.from(arguments)},t.exports=s},65593:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(72293),o=function(t){function e(){t.apply(this,arguments),this.value=null,this.hasNext=!1,this.hasCompleted=!1}return i(e,t),e.prototype._subscribe=function(e){return this.hasError?(e.error(this.thrownError),s.Subscription.EMPTY):this.hasCompleted&&this.hasNext?(e.next(this.value),e.complete(),s.Subscription.EMPTY):t.prototype._subscribe.call(this,e)},e.prototype.next=function(t){this.hasCompleted||(this.value=t,this.hasNext=!0)},e.prototype.error=function(e){this.hasCompleted||t.prototype.error.call(this,e)},e.prototype.complete=function(){this.hasCompleted=!0,this.hasNext&&t.prototype.next.call(this,this.value),t.prototype.complete.call(this)},e}(r.Subject);e.AsyncSubject=o},73907:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(6594),o=function(t){function e(e){t.call(this),this._value=e}return i(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return n&&!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new s.ObjectUnsubscribedError;return this._value},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(r.Subject);e.BehaviorSubject=o},36888:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n,i){t.call(this),this.parent=e,this.outerValue=n,this.outerIndex=i,this.index=0}return i(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(n(42109).Subscriber);e.InnerSubscriber=r},94429:function(t,e,n){"use strict";var i=n(18705),r=function(){function t(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}return t.prototype.observe=function(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}},t.prototype.do=function(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}},t.prototype.accept=function(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)},t.prototype.toObservable=function(){switch(this.kind){case"N":return i.Observable.of(this.value);case"E":return i.Observable.throw(this.error);case"C":return i.Observable.empty()}throw new Error("unexpected notification kind value")},t.createNext=function(e){return void 0!==e?new t("N",e):t.undefinedValueNotification},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return t.completeNotification},t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t}();e.Notification=r},18705:function(t,e,n){"use strict";var i=n(80019),r=n(18154),s=n(45783),o=n(10142),a=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(t,e,n){var i=this.operator,s=r.toSubscriber(t,e,n);if(i?i.call(s,this.source):s.add(this.source||!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){t.syncErrorThrown=!0,t.syncErrorValue=e,t.error(e)}},t.prototype.forEach=function(t,e){var n=this;if(e||(i.root.Rx&&i.root.Rx.config&&i.root.Rx.config.Promise?e=i.root.Rx.config.Promise:i.root.Promise&&(e=i.root.Promise)),!e)throw new Error("no Promise impl found");return new e(function(e,i){var r;r=n.subscribe(function(e){if(r)try{t(e)}catch(n){i(n),r.unsubscribe()}else t(e)},i,e)})},t.prototype._subscribe=function(t){return this.source.subscribe(t)},t.prototype[s.observable]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;ee&&(s=Math.max(s,r-e)),s>0&&i.splice(0,s),i},e}(r.Subject);e.ReplaySubject=u;var h=function(t,e){this.time=t,this.value=e}},25430:function(t,e,n){"use strict";var i=n(2369);e.xQ=i.Subject,n(18705),n(24769),n(95914),n(88007),n(3194),n(61898),n(16301),n(23276),n(66593),n(13745),n(57362),n(24518),n(68789),n(30520),n(67370),n(86866),n(11505),n(5031),n(36780),n(17038),n(15718),n(27915),n(90763),n(6846),n(65662),n(6799),n(81854),n(612),n(10838),n(6725),n(8827),n(43511),n(38922),n(25178),n(56937),n(22947),n(82894),n(11206),n(94183),n(16653),n(17930),n(81118),n(50317),n(90674),n(66460),n(79232),n(3945),n(44674),n(73505),n(38749),n(16479),n(22744),n(44475),n(97384),n(8237),n(24937),n(99013),n(84042),n(44436),n(7099),n(6217),n(57476),n(72646),n(91573),n(27387),n(27366),n(88859),n(65425),n(16733),n(23381),n(80404),n(63770),n(53626),n(98851),n(84878),n(26544),n(53582),n(61749),n(34838),n(49681),n(46227),n(56455),n(40881),n(94315),n(92910),n(52442),n(84664),n(61250),n(28310),n(43027),n(18252),n(49571),n(31782),n(9800),n(41854),n(74839),n(1305),n(99144),n(89952),n(85863),n(2865),n(92667),n(22185),n(72919),n(88630),n(75458),n(40780),n(35099),n(57502),n(81676),n(20579),n(71323),n(84950),n(57113),n(95073),n(75654),n(59889),n(96611),n(81845),n(7828),n(4881),n(74568),n(32352),n(50169),n(93543),n(61690),n(15914),n(68583),n(44808),n(49088),n(72293),n(42109),n(65593),n(81959),n(73907),n(51493),n(94429),n(44640),n(11758),n(6594),n(13815),n(84536),n(73390),n(62688),n(24482),n(18353);n(55298);n(10142);n(85522),n(90680),n(97088),n(12948),n(28592),n(72121),n(45783);n(39053)},11965:function(t,e){"use strict";var n=function(){function t(e,n){void 0===n&&(n=t.now),this.SchedulerAction=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(n,e)},t.now=Date.now?Date.now:function(){return+new Date},t}();e.Scheduler=n},2369:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(42109),o=n(72293),a=n(6594),l=n(9060),c=n(28592),u=function(t){function e(e){t.call(this,e),this.destination=e}return i(e,t),e}(s.Subscriber);e.SubjectSubscriber=u;var h=function(t){function e(){t.call(this),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}return i(e,t),e.prototype[c.rxSubscriber]=function(){return new u(this)},e.prototype.lift=function(t){var e=new d(this,this);return e.operator=t,e},e.prototype.next=function(t){if(this.closed)throw new a.ObjectUnsubscribedError;if(!this.isStopped)for(var e=this.observers,n=e.length,i=e.slice(),r=0;r=t.length)return void i.complete();i.next(e[n]),t.index=n+1,this.schedule(t)}},e.prototype._subscribe=function(t){var n=this.arrayLike,i=this.scheduler,r=n.length;if(i)return i.schedule(e.dispatch,0,{arrayLike:n,index:0,length:r,subscriber:t});for(var s=0;s1?new e(t,i):1===r?new s.ScalarObservable(t[0],i):new o.EmptyObservable(i)},e.dispatch=function(t){var e=t.array,n=t.index,i=t.subscriber;n>=t.count?i.complete():(i.next(e[n]),!i.closed&&(t.index=n+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.array,i=n.length,r=this.scheduler;if(r)return r.schedule(e.dispatch,0,{array:n,index:0,count:i,subscriber:t});for(var s=0;s1)this.connection=null;else{var n=this.connection,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null}}(o.Subscriber)},34078:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(93658),o=n(84308),a=function(t){function e(e){t.call(this),this.observableFactory=e}return i(e,t),e.create=function(t){return new e(t)},e.prototype._subscribe=function(t){return new l(t,this.observableFactory)},e}(r.Observable);e.DeferObservable=a;var l=function(t){function e(e,n){t.call(this,e),this.factory=n,this.tryDefer()}return i(e,t),e.prototype.tryDefer=function(){try{this._callFactory()}catch(t){this._error(t)}},e.prototype._callFactory=function(){var t=this.factory();t&&this.add(s.subscribeToResult(this,t))},e}(o.OuterSubscriber)},70481:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e){t.call(this),this.scheduler=e}return i(e,t),e.create=function(t){return new e(t)},e.dispatch=function(t){t.subscriber.complete()},e.prototype._subscribe=function(t){var n=this.scheduler;if(n)return n.schedule(e.dispatch,0,{subscriber:t});t.complete()},e}(n(18705).Observable);e.EmptyObservable=r},72210:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this),this.error=e,this.scheduler=n}return i(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){t.subscriber.error(t.error)},e.prototype._subscribe=function(t){var n=this.error,i=this.scheduler;if(t.syncErrorThrowable=!0,i)return i.schedule(e.dispatch,0,{error:n,subscriber:t});t.error(n)},e}(n(18705).Observable);e.ErrorObservable=r},56064:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(70481),o=n(48242),a=n(93658),l=n(84308),c=function(t){function e(e,n){t.call(this),this.sources=e,this.resultSelector=n}return i(e,t),e.create=function(){for(var t=[],n=0;nu?u:e:e}(t)),this.arr=t,this.idx=e,this.len=n}return t.prototype[o.iterator]=function(){return this},t.prototype.next=function(){return this.idx=t.count?i.complete():(i.next(e),!i.closed&&(t.index=n+1,t.start=e+1,this.schedule(t)))},e.prototype._subscribe=function(t){var n=0,i=this.start,r=this._count,s=this.scheduler;if(s)return s.schedule(e.dispatch,0,{index:n,count:r,start:i,subscriber:t});for(;;){if(n++>=r){t.complete();break}if(t.next(i++),t.closed)break}},e}(n(18705).Observable);e.RangeObservable=r},80478:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this),this.value=e,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return i(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){var e=t.value,n=t.subscriber;t.done?n.complete():(n.next(e),!n.closed&&(t.done=!0,this.schedule(t)))},e.prototype._subscribe=function(t){var n=this.value,i=this.scheduler;if(i)return i.schedule(e.dispatch,0,{done:!1,value:n,subscriber:t});t.next(n),t.closed||t.complete()},e}(n(18705).Observable);e.ScalarObservable=r},82966:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(85522),o=n(39479),a=function(t){function e(e,n,i){void 0===n&&(n=0),void 0===i&&(i=s.asap),t.call(this),this.source=e,this.delayTime=n,this.scheduler=i,(!o.isNumeric(n)||n<0)&&(this.delayTime=0),(!i||"function"!=typeof i.schedule)&&(this.scheduler=s.asap)}return i(e,t),e.create=function(t,n,i){return void 0===n&&(n=0),void 0===i&&(i=s.asap),new e(t,n,i)},e.dispatch=function(t){return this.add(t.source.subscribe(t.subscriber))},e.prototype._subscribe=function(t){return this.scheduler.schedule(e.dispatch,this.delayTime,{source:this.source,subscriber:t})},e}(r.Observable);e.SubscribeOnObservable=a},92870:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(39479),s=n(18705),o=n(90680),a=n(41503),l=n(783),c=function(t){function e(e,n,i){void 0===e&&(e=0),t.call(this),this.period=-1,this.dueTime=0,r.isNumeric(n)?this.period=Number(n)<1?1:Number(n):a.isScheduler(n)&&(i=n),a.isScheduler(i)||(i=o.async),this.scheduler=i,this.dueTime=l.isDate(e)?+e-this.scheduler.now():e}return i(e,t),e.create=function(t,n,i){return void 0===t&&(t=0),new e(t,n,i)},e.dispatch=function(t){var e=t.index,n=t.period,i=t.subscriber;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}},e.prototype._subscribe=function(t){var n=this;return n.scheduler.schedule(e.dispatch,n.dueTime,{index:0,period:n.period,subscriber:t})},e}(s.Observable);e.TimerObservable=c},16196:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(18705),s=n(93658),o=n(84308),a=function(t){function e(e,n){t.call(this),this.resourceFactory=e,this.observableFactory=n}return i(e,t),e.create=function(t,n){return new e(t,n)},e.prototype._subscribe=function(t){var e,n=this.resourceFactory,i=this.observableFactory;try{return e=n(),new l(t,e,i)}catch(r){t.error(r)}},e}(r.Observable);e.UsingObservable=a;var l=function(t){function e(e,n,i){t.call(this,e),this.resource=n,this.observableFactory=i,e.add(n),this.tryUse()}return i(e,t),e.prototype.tryUse=function(){try{var t=this.observableFactory.call(this,this.resource);t&&this.add(s.subscribeToResult(this,t))}catch(e){this._error(e)}},e}(o.OuterSubscriber)},59246:function(t,e,n){"use strict";var i=n(19183);e.bindCallback=i.BoundCallbackObservable.create},65571:function(t,e,n){"use strict";var i=n(78655);e.bindNodeCallback=i.BoundNodeCallbackObservable.create},24669:function(t,e,n){"use strict";var i=n(41503),r=n(48242),s=n(96177),o=n(49134);e.combineLatest=function(){for(var t=[],e=0;e1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof l&&(n=t.pop()),null===a&&1===t.length&&t[0]instanceof i.Observable?t[0]:o.mergeAll(n)(new r.ArrayObservable(t,a))}},94503:function(t,e,n){"use strict";var i=n(20143);e.never=i.NeverObservable.create},69657:function(t,e,n){"use strict";var i=n(96177);e.of=i.ArrayObservable.of},61395:function(t,e,n){"use strict";var i=n(46243);e.onErrorResumeNext=i.onErrorResumeNextStatic},95425:function(t,e,n){"use strict";var i=n(19770);e.pairs=i.PairsObservable.create},24330:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(48242),s=n(96177),o=n(84308),a=n(93658);e.race=function(){for(var t=[],e=0;e=2&&(o=arguments[1]);var a=Number.POSITIVE_INFINITY;return e>=3&&(a=arguments[2]),s.bufferTime(t,o,a,n)(this)}},92523:function(t,e,n){"use strict";var i=n(15440);e.bufferToggle=function(t,e){return i.bufferToggle(t,e)(this)}},49436:function(t,e,n){"use strict";var i=n(51786);e.bufferWhen=function(t){return i.bufferWhen(t)(this)}},64731:function(t,e,n){"use strict";var i=n(93017);e._catch=function(t){return i.catchError(t)(this)}},92273:function(t,e,n){"use strict";var i=n(17054);e.combineAll=function(t){return i.combineAll(t)(this)}},8709:function(t,e,n){"use strict";var i=n(49134);e.combineLatest=function(){for(var t=[],e=0;e=2?i.reduce(t,e)(this):i.reduce(t)(this)}},12931:function(t,e,n){"use strict";var i=n(15329);e.repeat=function(t){return void 0===t&&(t=-1),i.repeat(t)(this)}},68816:function(t,e,n){"use strict";var i=n(63964);e.repeatWhen=function(t){return i.repeatWhen(t)(this)}},17144:function(t,e,n){"use strict";var i=n(40241);e.retry=function(t){return void 0===t&&(t=-1),i.retry(t)(this)}},82766:function(t,e,n){"use strict";var i=n(23896);e.retryWhen=function(t){return i.retryWhen(t)(this)}},62068:function(t,e,n){"use strict";var i=n(92043);e.sample=function(t){return i.sample(t)(this)}},97013:function(t,e,n){"use strict";var i=n(90680),r=n(71239);e.sampleTime=function(t,e){return void 0===e&&(e=i.async),r.sampleTime(t,e)(this)}},98996:function(t,e,n){"use strict";var i=n(64949);e.scan=function(t,e){return arguments.length>=2?i.scan(t,e)(this):i.scan(t)(this)}},77033:function(t,e,n){"use strict";var i=n(88948);e.sequenceEqual=function(t,e){return i.sequenceEqual(t,e)(this)}},10377:function(t,e,n){"use strict";var i=n(35473);e.share=function(){return i.share()(this)}},71623:function(t,e,n){"use strict";var i=n(62704);e.shareReplay=function(t,e,n){return i.shareReplay(t,e,n)(this)}},91956:function(t,e,n){"use strict";var i=n(92223);e.single=function(t){return i.single(t)(this)}},72355:function(t,e,n){"use strict";var i=n(11189);e.skip=function(t){return i.skip(t)(this)}},69329:function(t,e,n){"use strict";var i=n(73346);e.skipLast=function(t){return i.skipLast(t)(this)}},68481:function(t,e,n){"use strict";var i=n(12928);e.skipUntil=function(t){return i.skipUntil(t)(this)}},587:function(t,e,n){"use strict";var i=n(69415);e.skipWhile=function(t){return i.skipWhile(t)(this)}},49292:function(t,e,n){"use strict";var i=n(30673);e.startWith=function(){for(var t=[],e=0;e0&&this.destination.next(e),t.prototype._complete.call(this)},e}(r.Subscriber),a=function(t){function e(e,n,i){t.call(this,e),this.bufferSize=n,this.startBufferEvery=i,this.buffers=[],this.count=0}return i(e,t),e.prototype._next=function(t){var e=this,n=e.bufferSize,i=e.startBufferEvery,r=e.buffers,s=e.count;this.count++,s%i==0&&r.push([]);for(var o=r.length;o--;){var a=r[o];a.push(t),a.length===n&&(r.splice(o,1),this.destination.next(a))}},e.prototype._complete=function(){for(var e=this.buffers,n=this.destination;e.length>0;){var i=e.shift();i.length>0&&n.next(i)}t.prototype._complete.call(this)},e}(r.Subscriber)},6489:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(90680),s=n(42109),o=n(41503);e.bufferTime=function(t){var e=arguments.length,n=r.async;o.isScheduler(arguments[arguments.length-1])&&(n=arguments[arguments.length-1],e--);var i=null;e>=2&&(i=arguments[1]);var s=Number.POSITIVE_INFINITY;return e>=3&&(s=arguments[2]),function(e){return e.lift(new a(t,i,s,n))}};var a=function(){function t(t,e,n,i){this.bufferTimeSpan=t,this.bufferCreationInterval=e,this.maxBufferSize=n,this.scheduler=i}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))},t}(),l=function(){this.buffer=[]},c=function(t){function e(e,n,i,r,s){t.call(this,e),this.bufferTimeSpan=n,this.bufferCreationInterval=i,this.maxBufferSize=r,this.scheduler=s,this.contexts=[];var o=this.openContext();if(this.timespanOnly=null==i||i<0,this.timespanOnly)this.add(o.closeAction=s.schedule(u,n,{subscriber:this,context:o,bufferTimeSpan:n}));else{var a={bufferTimeSpan:n,bufferCreationInterval:i,subscriber:this,scheduler:s};this.add(o.closeAction=s.schedule(d,n,{subscriber:this,context:o})),this.add(s.schedule(h,i,a))}}return i(e,t),e.prototype._next=function(t){for(var e,n=this.contexts,i=n.length,r=0;r0;){var i=e.shift();n.next(i.buffer)}t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.contexts=null},e.prototype.onBufferFull=function(t){this.closeContext(t);var e=t.closeAction;if(e.unsubscribe(),this.remove(e),!this.closed&&this.timespanOnly){t=this.openContext();var n=this.bufferTimeSpan;this.add(t.closeAction=this.scheduler.schedule(u,n,{subscriber:this,context:t,bufferTimeSpan:n}))}},e.prototype.openContext=function(){var t=new l;return this.contexts.push(t),t},e.prototype.closeContext=function(t){this.destination.next(t.buffer);var e=this.contexts;(e?e.indexOf(t):-1)>=0&&e.splice(e.indexOf(t),1)},e}(s.Subscriber);function u(t){var e=t.subscriber,n=t.context;n&&e.closeContext(n),e.closed||(t.context=e.openContext(),t.context.closeAction=this.schedule(t,t.bufferTimeSpan))}function h(t){var e=t.bufferCreationInterval,n=t.bufferTimeSpan,i=t.subscriber,r=t.scheduler,s=i.openContext();i.closed||(i.add(s.closeAction=r.schedule(d,n,{subscriber:i,context:s})),this.schedule(t,e))}function d(t){t.subscriber.closeContext(t.context)}},15440:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(72293),s=n(93658),o=n(84308);e.bufferToggle=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.openings=t,this.closingSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.openings,this.closingSelector))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(s.subscribeToResult(this,n))}return i(e,t),e.prototype._next=function(t){for(var e=this.contexts,n=e.length,i=0;i0;){var i=n.shift();i.subscription.unsubscribe(),i.buffer=null,i.subscription=null}this.contexts=null,t.prototype._error.call(this,e)},e.prototype._complete=function(){for(var e=this.contexts;e.length>0;){var n=e.shift();this.destination.next(n.buffer),n.subscription.unsubscribe(),n.buffer=null,n.subscription=null}this.contexts=null,t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){t?this.closeBuffer(t):this.openBuffer(e)},e.prototype.notifyComplete=function(t){this.closeBuffer(t.context)},e.prototype.openBuffer=function(t){try{var e=this.closingSelector.call(this,t);e&&this.trySubscribe(e)}catch(n){this._error(n)}},e.prototype.closeBuffer=function(t){var e=this.contexts;if(e&&t){var n=t.subscription;this.destination.next(t.buffer),e.splice(e.indexOf(t),1),this.remove(n),n.unsubscribe()}},e.prototype.trySubscribe=function(t){var e=this.contexts,n=new r.Subscription,i={buffer:[],subscription:n};e.push(i);var o=s.subscribeToResult(this,t,i);!o||o.closed?this.closeBuffer(i):(o.context=i,this.add(o),n.add(o))},e}(o.OuterSubscriber)},51786:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(72293),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.bufferWhen=function(t){return function(e){return e.lift(new c(t))}};var c=function(){function t(t){this.closingSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.closingSelector))},t}(),u=function(t){function e(e,n){t.call(this,e),this.closingSelector=n,this.subscribing=!1,this.openBuffer()}return i(e,t),e.prototype._next=function(t){this.buffer.push(t)},e.prototype._complete=function(){var e=this.buffer;e&&this.destination.next(e),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.buffer=null,this.subscribing=!1},e.prototype.notifyNext=function(t,e,n,i,r){this.openBuffer()},e.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()},e.prototype.openBuffer=function(){var t=this.closingSubscription;t&&(this.remove(t),t.unsubscribe()),this.buffer&&this.destination.next(this.buffer),this.buffer=[];var e=s.tryCatch(this.closingSelector)();e===o.errorObject?this.error(o.errorObject.e):(t=new r.Subscription,this.closingSubscription=t,this.add(t),this.subscribing=!0,t.add(l.subscribeToResult(this,e)),this.subscribing=!1)},e}(a.OuterSubscriber)},93017:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.catchError=function(t){return function(e){var n=new o(t),i=e.lift(n);return n.caught=i}};var o=function(){function t(t){this.selector=t}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.selector,this.caught))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.selector=n,this.caught=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=void 0;try{n=this.selector(e,this.caught)}catch(i){return void t.prototype.error.call(this,i)}this._unsubscribeAndRecycle(),this.add(s.subscribeToResult(this,n))}},e}(r.OuterSubscriber)},17054:function(t,e,n){"use strict";var i=n(49134);e.combineAll=function(t){return function(e){return e.lift(new i.CombineLatestOperator(t))}}},49134:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(96177),s=n(48242),o=n(84308),a=n(93658),l={};e.combineLatest=function(){for(var t=[],e=0;e0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){var s=Math.max(0,n[0].time-i.now());this.schedule(t,s)}else this.unsubscribe(),e.active=!1},e.prototype._schedule=function(t){this.active=!0,this.add(t.schedule(e.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))},e.prototype.scheduleNotification=function(t){if(!0!==this.errored){var e=this.scheduler,n=new u(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}},e.prototype._next=function(t){this.scheduleNotification(a.Notification.createNext(t))},e.prototype._error=function(t){this.errored=!0,this.queue=[],this.destination.error(t)},e.prototype._complete=function(){this.scheduleNotification(a.Notification.createComplete())},e}(o.Subscriber),u=function(t,e){this.time=t,this.notification=e}},22944:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(18705),o=n(84308),a=n(93658);e.delayWhen=function(t,e){return e?function(n){return new u(n,e).lift(new l(t))}:function(e){return e.lift(new l(t))}};var l=function(){function t(t){this.delayDurationSelector=t}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.delayDurationSelector))},t}(),c=function(t){function e(e,n){t.call(this,e),this.delayDurationSelector=n,this.completed=!1,this.delayNotifierSubscriptions=[],this.values=[]}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.destination.next(t),this.removeSubscription(r),this.tryComplete()},e.prototype.notifyError=function(t,e){this._error(t)},e.prototype.notifyComplete=function(t){var e=this.removeSubscription(t);e&&this.destination.next(e),this.tryComplete()},e.prototype._next=function(t){try{var e=this.delayDurationSelector(t);e&&this.tryDelay(e,t)}catch(n){this.destination.error(n)}},e.prototype._complete=function(){this.completed=!0,this.tryComplete()},e.prototype.removeSubscription=function(t){t.unsubscribe();var e=this.delayNotifierSubscriptions.indexOf(t),n=null;return-1!==e&&(n=this.values[e],this.delayNotifierSubscriptions.splice(e,1),this.values.splice(e,1)),n},e.prototype.tryDelay=function(t,e){var n=a.subscribeToResult(this,t,e);n&&!n.closed&&(this.add(n),this.delayNotifierSubscriptions.push(n)),this.values.push(e)},e.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()},e}(o.OuterSubscriber),u=function(t){function e(e,n){t.call(this),this.source=e,this.subscriptionDelay=n}return i(e,t),e.prototype._subscribe=function(t){this.subscriptionDelay.subscribe(new h(t,this.source))},e}(s.Observable),h=function(t){function e(e,n){t.call(this),this.parent=e,this.source=n,this.sourceSubscribed=!1}return i(e,t),e.prototype._next=function(t){this.subscribeToSource()},e.prototype._error=function(t){this.unsubscribe(),this.parent.error(t)},e.prototype._complete=function(){this.subscribeToSource()},e.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))},e}(r.Subscriber)},95591:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.dematerialize=function(){return function(t){return t.lift(new s)}};var s=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new o(t))},t}(),o=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype._next=function(t){t.observe(this.destination)},e}(r.Subscriber)},25753:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658),o=n(40317);e.distinct=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.keySelector=t,this.flushes=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.keySelector,this.flushes))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.keySelector=n,this.values=new o.Set,i&&this.add(s.subscribeToResult(this,i))}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.values.clear()},e.prototype.notifyError=function(t,e){this._error(t)},e.prototype._next=function(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)},e.prototype._useKeySelector=function(t){var e,n=this.destination;try{e=this.keySelector(t)}catch(i){return void n.error(i)}this._finalizeNext(e,t)},e.prototype._finalizeNext=function(t,e){var n=this.values;n.has(t)||(n.add(t),this.destination.next(e))},e}(r.OuterSubscriber);e.DistinctSubscriber=l},65608:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(33463),o=n(85814);e.distinctUntilChanged=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.compare=t,this.keySelector=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.compare,this.keySelector))},t}(),l=function(t){function e(e,n,i){t.call(this,e),this.keySelector=i,this.hasKey=!1,"function"==typeof n&&(this.compare=n)}return i(e,t),e.prototype.compare=function(t,e){return t===e},e.prototype._next=function(t){var e=t;if(this.keySelector&&(e=s.tryCatch(this.keySelector)(t))===o.errorObject)return this.destination.error(o.errorObject.e);var n=!1;if(this.hasKey){if((n=s.tryCatch(this.compare)(this.key,e))===o.errorObject)return this.destination.error(o.errorObject.e)}else this.hasKey=!0;!1===Boolean(n)&&(this.key=e,this.destination.next(t))},e}(r.Subscriber)},8330:function(t,e,n){"use strict";var i=n(65608);e.distinctUntilKeyChanged=function(t,e){return i.distinctUntilChanged(function(n,i){return e?e(n[t],i[t]):n[t]===i[t]})}},29264:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758);e.elementAt=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){if(this.index=t,this.defaultValue=e,t<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.index,this.defaultValue))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.index=n,this.defaultValue=i}return i(e,t),e.prototype._next=function(t){0==this.index--&&(this.destination.next(t),this.destination.complete())},e.prototype._complete=function(){var t=this.destination;this.index>=0&&(void 0!==this.defaultValue?t.next(this.defaultValue):t.error(new s.ArgumentOutOfRangeError)),t.complete()},e}(r.Subscriber)},26285:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.every=function(t,e){return function(n){return n.lift(new s(t,e,n))}};var s=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.thisArg,this.source))},t}(),o=function(t){function e(e,n,i,r){t.call(this,e),this.predicate=n,this.thisArg=i,this.source=r,this.index=0,this.thisArg=i||this}return i(e,t),e.prototype.notifyComplete=function(t){this.destination.next(t),this.destination.complete()},e.prototype._next=function(t){var e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e||this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(r.Subscriber)},93229:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.exhaust=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(e){t.call(this,e),this.hasCompleted=!1,this.hasSubscription=!1}return i(e,t),e.prototype._next=function(t){this.hasSubscription||(this.hasSubscription=!0,this.add(s.subscribeToResult(this,t)))},e.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},e.prototype.notifyComplete=function(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber)},15758:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.exhaustMap=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.resultSelector=i,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}return i(e,t),e.prototype._next=function(t){this.hasSubscription||this.tryNext(t)},e.prototype.tryNext=function(t){var e=this.index++,n=this.destination;try{var i=this.project(t,e);this.hasSubscription=!0,this.add(s.subscribeToResult(this,i,t,e))}catch(r){n.error(r)}},e.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},e.prototype.notifyNext=function(t,e,n,i,r){var s=this.destination;this.resultSelector?this.trySelectResult(t,e,n,i):s.next(e)},e.prototype.trySelectResult=function(t,e,n,i){var r=this.resultSelector,s=this.destination;try{var o=r(t,e,n,i);s.next(o)}catch(a){s.error(a)}},e.prototype.notifyError=function(t){this.destination.error(t)},e.prototype.notifyComplete=function(t){this.remove(t),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber)},55364:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(33463),s=n(85814),o=n(84308),a=n(93658);e.expand=function(t,e,n){return void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===n&&(n=void 0),e=(e||0)<1?Number.POSITIVE_INFINITY:e,function(i){return i.lift(new l(t,e,n))}};var l=function(){function t(t,e,n){this.project=t,this.concurrent=e,this.scheduler=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.project,this.concurrent,this.scheduler))},t}();e.ExpandOperator=l;var c=function(t){function e(e,n,i,r){t.call(this,e),this.project=n,this.concurrent=i,this.scheduler=r,this.index=0,this.active=0,this.hasCompleted=!1,i0&&this._next(e.shift()),this.hasCompleted&&0===this.active&&this.destination.complete()},e}(o.OuterSubscriber);e.ExpandSubscriber=c},27015:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.filter=function(t,e){return function(n){return n.lift(new s(t,e))}};var s=function(){function t(t,e){this.predicate=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.thisArg))},t}(),o=function(t){function e(e,n,i){t.call(this,e),this.predicate=n,this.thisArg=i,this.count=0}return i(e,t),e.prototype._next=function(t){var e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)},e}(r.Subscriber)},94367:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(72293);e.finalize=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){this.callback=t}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.callback))},t}(),a=function(t){function e(e,n){t.call(this,e),this.add(new s.Subscription(n))}return i(e,t),e}(r.Subscriber)},16700:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.find=function(t,e){if("function"!=typeof t)throw new TypeError("predicate is not a function");return function(n){return n.lift(new s(t,n,!1,e))}};var s=function(){function t(t,e,n,i){this.predicate=t,this.source=e,this.yieldIndex=n,this.thisArg=i}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.predicate,this.source,this.yieldIndex,this.thisArg))},t}();e.FindValueOperator=s;var o=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.source=i,this.yieldIndex=r,this.thisArg=s,this.index=0}return i(e,t),e.prototype.notifyComplete=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype._next=function(t){var e=this.predicate,n=this.thisArg,i=this.index++;try{e.call(n||this,t,i,this.source)&&this.notifyComplete(this.yieldIndex?i:t)}catch(r){this.destination.error(r)}},e.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)},e}(r.Subscriber);e.FindValueSubscriber=o},86452:function(t,e,n){"use strict";var i=n(16700);e.findIndex=function(t,e){return function(n){return n.lift(new i.FindValueOperator(t,n,!0,e))}}},12309:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.first=function(t,e,n){return function(i){return i.lift(new o(t,e,n,i))}};var o=function(){function t(t,e,n,i){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=i}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),a=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=s,this.index=0,this.hasCompleted=!1,this._emitted=!1}return i(e,t),e.prototype._next=function(t){var e=this.index++;this.predicate?this._tryPredicate(t,e):this._emit(t,e)},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(i){return void this.destination.error(i)}n&&this._emit(t,e)},e.prototype._emit=function(t,e){this.resultSelector?this._tryResultSelector(t,e):this._emitFinal(t)},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(i){return void this.destination.error(i)}this._emitFinal(n)},e.prototype._emitFinal=function(t){var e=this.destination;this._emitted||(this._emitted=!0,e.next(t),e.complete(),this.hasCompleted=!0)},e.prototype._complete=function(){var t=this.destination;this.hasCompleted||void 0===this.defaultValue?this.hasCompleted||t.error(new s.EmptyError):(t.next(this.defaultValue),t.complete())},e}(r.Subscriber)},92577:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(72293),o=n(18705),a=n(2369),l=n(49754),c=n(30764);e.groupBy=function(t,e,n,i){return function(r){return r.lift(new u(t,e,n,i))}};var u=function(){function t(t,e,n,i){this.keySelector=t,this.elementSelector=e,this.durationSelector=n,this.subjectSelector=i}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))},t}(),h=function(t){function e(e,n,i,r,s){t.call(this,e),this.keySelector=n,this.elementSelector=i,this.durationSelector=r,this.subjectSelector=s,this.groups=null,this.attemptedToUnsubscribe=!1,this.count=0}return i(e,t),e.prototype._next=function(t){var e;try{e=this.keySelector(t)}catch(n){return void this.error(n)}this._group(t,e)},e.prototype._group=function(t,e){var n=this.groups;n||(n=this.groups="string"==typeof e?new c.FastMap:new l.Map);var i,r=n.get(e);if(this.elementSelector)try{i=this.elementSelector(t)}catch(u){this.error(u)}else i=t;if(!r){r=this.subjectSelector?this.subjectSelector():new a.Subject,n.set(e,r);var s=new p(e,r,this);if(this.destination.next(s),this.durationSelector){var o=void 0;try{o=this.durationSelector(new p(e,r))}catch(u){return void this.error(u)}this.add(o.subscribe(new d(e,r,this)))}}r.closed||r.next(i)},e.prototype._error=function(t){var e=this.groups;e&&(e.forEach(function(e,n){e.error(t)}),e.clear()),this.destination.error(t)},e.prototype._complete=function(){var t=this.groups;t&&(t.forEach(function(t,e){t.complete()}),t.clear()),this.destination.complete()},e.prototype.removeGroup=function(t){this.groups.delete(t)},e.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&t.prototype.unsubscribe.call(this))},e}(r.Subscriber),d=function(t){function e(e,n,i){t.call(this,n),this.key=e,this.group=n,this.parent=i}return i(e,t),e.prototype._next=function(t){this.complete()},e.prototype._unsubscribe=function(){var t=this.parent,e=this.key;this.key=this.parent=null,t&&t.removeGroup(e)},e}(r.Subscriber),p=function(t){function e(e,n,i){t.call(this),this.key=e,this.groupSubject=n,this.refCountSubscription=i}return i(e,t),e.prototype._subscribe=function(t){var e=new s.Subscription,n=this.refCountSubscription,i=this.groupSubject;return n&&!n.closed&&e.add(new f(n)),e.add(i.subscribe(t)),e},e}(o.Observable);e.GroupedObservable=p;var f=function(t){function e(e){t.call(this),this.parent=e,e.count++}return i(e,t),e.prototype.unsubscribe=function(){var e=this.parent;!e.closed&&!this.closed&&(t.prototype.unsubscribe.call(this),e.count-=1,0===e.count&&e.attemptedToUnsubscribe&&e.unsubscribe())},e}(s.Subscription)},86898:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(68668);e.ignoreElements=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype._next=function(t){s.noop()},e}(r.Subscriber)},89121:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.isEmpty=function(){return function(t){return t.lift(new s)}};var s=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new o(t))},t}(),o=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype.notifyComplete=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype._next=function(t){this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(r.Subscriber)},4636:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.last=function(t,e,n){return function(i){return i.lift(new o(t,e,n,i))}};var o=function(){function t(t,e,n,i){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=i}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),a=function(t){function e(e,n,i,r,s){t.call(this,e),this.predicate=n,this.resultSelector=i,this.defaultValue=r,this.source=s,this.hasValue=!1,this.index=0,void 0!==r&&(this.lastValue=r,this.hasValue=!0)}return i(e,t),e.prototype._next=function(t){var e=this.index++;if(this.predicate)this._tryPredicate(t,e);else{if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(i){return void this.destination.error(i)}if(n){if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(i){return void this.destination.error(i)}this.lastValue=n,this.hasValue=!0},e.prototype._complete=function(){var t=this.destination;this.hasValue?(t.next(this.lastValue),t.complete()):t.error(new s.EmptyError)},e}(r.Subscriber)},40119:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.map=function(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new s(t,e))}};var s=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.project,this.thisArg))},t}();e.MapOperator=s;var o=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.count=0,this.thisArg=i||this}return i(e,t),e.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(r.Subscriber)},23491:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.mapTo=function(t){return function(e){return e.lift(new s(t))}};var s=function(){function t(t){this.value=t}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.value))},t}(),o=function(t){function e(e,n){t.call(this,e),this.value=n}return i(e,t),e.prototype._next=function(t){this.destination.next(this.value)},e}(r.Subscriber)},71177:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(94429);e.materialize=function(){return function(t){return t.lift(new o)}};var o=function(){function t(){}return t.prototype.call=function(t,e){return e.subscribe(new a(t))},t}(),a=function(t){function e(e){t.call(this,e)}return i(e,t),e.prototype._next=function(t){this.destination.next(s.Notification.createNext(t))},e.prototype._error=function(t){var e=this.destination;e.next(s.Notification.createError(t)),e.complete()},e.prototype._complete=function(){var t=this.destination;t.next(s.Notification.createComplete()),t.complete()},e}(r.Subscriber)},33499:function(t,e,n){"use strict";var i=n(97369);e.max=function(t){return i.reduce("function"==typeof t?function(e,n){return t(e,n)>0?e:n}:function(t,e){return t>e?t:e})}},56098:function(t,e,n){"use strict";var i=n(38781),r=n(38781);e.mergeStatic=r.merge,e.merge=function(){for(var t=[],e=0;e0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(s.OuterSubscriber);e.MergeMapSubscriber=a},6693:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.mergeMapTo=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"number"==typeof e&&(n=e,e=null),function(i){return i.lift(new o(t,e,n))}};var o=function(){function t(t,e,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.ish=t,this.resultSelector=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.ish,this.resultSelector,this.concurrent))},t}();e.MergeMapToOperator=o;var a=function(t){function e(e,n,i,r){void 0===r&&(r=Number.POSITIVE_INFINITY),t.call(this,e),this.ish=n,this.resultSelector=i,this.concurrent=r,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){if(this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(r.OuterSubscriber);e.MergeMapToSubscriber=a},7550:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(33463),s=n(85814),o=n(93658),a=n(84308);e.mergeScan=function(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),function(i){return i.lift(new l(t,e,n))}};var l=function(){function t(t,e,n){this.accumulator=t,this.seed=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new c(t,this.accumulator,this.seed,this.concurrent))},t}();e.MergeScanOperator=l;var c=function(t){function e(e,n,i,r){t.call(this,e),this.accumulator=n,this.acc=i,this.concurrent=r,this.hasValue=!1,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){if(this.active0?this._next(e.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())},e}(a.OuterSubscriber);e.MergeScanSubscriber=c},51213:function(t,e,n){"use strict";var i=n(97369);e.min=function(t){return i.reduce("function"==typeof t?function(e,n){return t(e,n)<0?e:n}:function(t,e){return t=2?function(n){return o.pipe(i.scan(t,e),r.takeLast(1),s.defaultIfEmpty(e))(n)}:function(e){return o.pipe(i.scan(function(e,n,i){return t(e,n,i+1)}),r.takeLast(1))(e)}}},1694:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.refCount=function(){return function(t){return t.lift(new s(t))}};var s=function(){function t(t){this.connectable=t}return t.prototype.call=function(t,e){var n=this.connectable;n._refCount++;var i=new o(t,n),r=e.subscribe(i);return i.closed||(i.connection=n.connect()),r},t}(),o=function(t){function e(e,n){t.call(this,e),this.connectable=n}return i(e,t),e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._refCount;if(e<=0)this.connection=null;else if(t._refCount=e-1,e>1)this.connection=null;else{var n=this.connection,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}else this.connection=null},e}(r.Subscriber)},15329:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(70481);e.repeat=function(t){return void 0===t&&(t=-1),function(e){return 0===t?new s.EmptyObservable:e.lift(new o(t<0?-1:t-1,e))}};var o=function(){function t(t,e){this.count=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.count,this.source))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.count=n,this.source=i}return i(e,t),e.prototype.complete=function(){if(!this.isStopped){var e=this.source,n=this.count;if(0===n)return t.prototype.complete.call(this);n>-1&&(this.count=n-1),e.subscribe(this._unsubscribeAndRecycle())}},e}(r.Subscriber)},63964:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.repeatWhen=function(t){return function(e){return e.lift(new c(t))}};var c=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.notifier,e))},t}(),u=function(t){function e(e,n,i){t.call(this,e),this.notifier=n,this.source=i,this.sourceIsBeingSubscribedTo=!0}return i(e,t),e.prototype.notifyNext=function(t,e,n,i,r){this.sourceIsBeingSubscribedTo=!0,this.source.subscribe(this)},e.prototype.notifyComplete=function(e){if(!1===this.sourceIsBeingSubscribedTo)return t.prototype.complete.call(this)},e.prototype.complete=function(){if(this.sourceIsBeingSubscribedTo=!1,!this.isStopped){if(this.retries||this.subscribeToRetries(),!this.retriesSubscription||this.retriesSubscription.closed)return t.prototype.complete.call(this);this._unsubscribeAndRecycle(),this.notifications.next()}},e.prototype._unsubscribe=function(){var t=this.notifications,e=this.retriesSubscription;t&&(t.unsubscribe(),this.notifications=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null},e.prototype._unsubscribeAndRecycle=function(){var e=this,n=e.notifications,i=e.retries,r=e.retriesSubscription;return this.notifications=null,this.retries=null,this.retriesSubscription=null,t.prototype._unsubscribeAndRecycle.call(this),this.notifications=n,this.retries=i,this.retriesSubscription=r,this},e.prototype.subscribeToRetries=function(){this.notifications=new r.Subject;var e=s.tryCatch(this.notifier)(this.notifications);if(e===o.errorObject)return t.prototype.complete.call(this);this.retries=e,this.retriesSubscription=l.subscribeToResult(this,e)},e}(a.OuterSubscriber)},40241:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.retry=function(t){return void 0===t&&(t=-1),function(e){return e.lift(new s(t,e))}};var s=function(){function t(t,e){this.count=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.count,this.source))},t}(),o=function(t){function e(e,n,i){t.call(this,e),this.count=n,this.source=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=this.source,i=this.count;if(0===i)return t.prototype.error.call(this,e);i>-1&&(this.count=i-1),n.subscribe(this._unsubscribeAndRecycle())}},e}(r.Subscriber)},23896:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(33463),o=n(85814),a=n(84308),l=n(93658);e.retryWhen=function(t){return function(e){return e.lift(new c(t,e))}};var c=function(){function t(t,e){this.notifier=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.notifier,this.source))},t}(),u=function(t){function e(e,n,i){t.call(this,e),this.notifier=n,this.source=i}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=this.errors,i=this.retries,a=this.retriesSubscription;if(i)this.errors=null,this.retriesSubscription=null;else{if(n=new r.Subject,(i=s.tryCatch(this.notifier)(n))===o.errorObject)return t.prototype.error.call(this,o.errorObject.e);a=l.subscribeToResult(this,i)}this._unsubscribeAndRecycle(),this.errors=n,this.retries=i,this.retriesSubscription=a,n.next(e)}},e.prototype._unsubscribe=function(){var t=this.errors,e=this.retriesSubscription;t&&(t.unsubscribe(),this.errors=null),e&&(e.unsubscribe(),this.retriesSubscription=null),this.retries=null},e.prototype.notifyNext=function(t,e,n,i,r){var s=this,o=s.errors,a=s.retries,l=s.retriesSubscription;this.errors=null,this.retries=null,this.retriesSubscription=null,this._unsubscribeAndRecycle(),this.errors=o,this.retries=a,this.retriesSubscription=l,this.source.subscribe(this)},e}(a.OuterSubscriber)},92043:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.sample=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){var n=new a(t),i=e.subscribe(n);return i.add(s.subscribeToResult(n,this.notifier)),i},t}(),a=function(t){function e(){t.apply(this,arguments),this.hasValue=!1}return i(e,t),e.prototype._next=function(t){this.value=t,this.hasValue=!0},e.prototype.notifyNext=function(t,e,n,i,r){this.emitValue()},e.prototype.notifyComplete=function(){this.emitValue()},e.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))},e}(r.OuterSubscriber)},71239:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(90680);e.sampleTime=function(t,e){return void 0===e&&(e=s.async),function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.period=t,this.scheduler=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.period,this.scheduler))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.period=n,this.scheduler=i,this.hasValue=!1,this.add(i.schedule(l,n,{subscriber:this,period:n}))}return i(e,t),e.prototype._next=function(t){this.lastValue=t,this.hasValue=!0},e.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))},e}(r.Subscriber);function l(t){var e=t.period;t.subscriber.notifyNext(),this.schedule(t,e)}},64949:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.scan=function(t,e){var n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new s(t,e,n))}};var s=function(){function t(t,e,n){void 0===n&&(n=!1),this.accumulator=t,this.seed=e,this.hasSeed=n}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.accumulator,this.seed,this.hasSeed))},t}(),o=function(t){function e(e,n,i,r){t.call(this,e),this.accumulator=n,this._seed=i,this.hasSeed=r,this.index=0}return i(e,t),Object.defineProperty(e.prototype,"seed",{get:function(){return this._seed},set:function(t){this.hasSeed=!0,this._seed=t},enumerable:!0,configurable:!0}),e.prototype._next=function(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)},e.prototype._tryNext=function(t){var e,n=this.index++;try{e=this.accumulator(this.seed,t,n)}catch(i){this.destination.error(i)}this.seed=e,this.destination.next(e)},e}(r.Subscriber)},88948:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(33463),o=n(85814);e.sequenceEqual=function(t,e){return function(n){return n.lift(new a(t,e))}};var a=function(){function t(t,e){this.compareTo=t,this.comparor=e}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.compareTo,this.comparor))},t}();e.SequenceEqualOperator=a;var l=function(t){function e(e,n,i){t.call(this,e),this.compareTo=n,this.comparor=i,this._a=[],this._b=[],this._oneComplete=!1,this.add(n.subscribe(new c(e,this)))}return i(e,t),e.prototype._next=function(t){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(t),this.checkValues())},e.prototype._complete=function(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0},e.prototype.checkValues=function(){for(var t=this,e=t._a,n=t._b,i=t.comparor;e.length>0&&n.length>0;){var r=e.shift(),a=n.shift(),l=!1;i?(l=s.tryCatch(i)(r,a))===o.errorObject&&this.destination.error(o.errorObject.e):l=r===a,l||this.emit(!1)}},e.prototype.emit=function(t){var e=this.destination;e.next(t),e.complete()},e.prototype.nextB=function(t){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(t),this.checkValues())},e}(r.Subscriber);e.SequenceEqualSubscriber=l;var c=function(t){function e(e,n){t.call(this,e),this.parent=n}return i(e,t),e.prototype._next=function(t){this.parent.nextB(t)},e.prototype._error=function(t){this.parent.error(t)},e.prototype._complete=function(){this.parent._complete()},e}(r.Subscriber)},35473:function(t,e,n){"use strict";var i=n(27372),r=n(1694),s=n(2369);function o(){return new s.Subject}e.share=function(){return function(t){return r.refCount()(i.multicast(o)(t))}}},62704:function(t,e,n){"use strict";var i=n(81959);e.shareReplay=function(t,e,n){return function(r){return r.lift(function(t,e,n){var r,s,o=0,a=!1,l=!1;return function(c){o++,(!r||a)&&(a=!1,r=new i.ReplaySubject(t,e,n),s=c.subscribe({next:function(t){r.next(t)},error:function(t){a=!0,r.error(t)},complete:function(){l=!0,r.complete()}}));var u=r.subscribe(this);return function(){o--,u.unsubscribe(),s&&0===o&&l&&s.unsubscribe()}}}(t,e,n))}}},92223:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(44640);e.single=function(t){return function(e){return e.lift(new o(t,e))}};var o=function(){function t(t,e){this.predicate=t,this.source=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.source))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.predicate=n,this.source=i,this.seenValue=!1,this.index=0}return i(e,t),e.prototype.applySingleValue=function(t){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=t)},e.prototype._next=function(t){var e=this.index++;this.predicate?this.tryNext(t,e):this.applySingleValue(t)},e.prototype.tryNext=function(t,e){try{this.predicate(t,e,this.source)&&this.applySingleValue(t)}catch(n){this.destination.error(n)}},e.prototype._complete=function(){var t=this.destination;this.index>0?(t.next(this.seenValue?this.singleValue:void 0),t.complete()):t.error(new s.EmptyError)},e}(r.Subscriber)},11189:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109);e.skip=function(t){return function(e){return e.lift(new s(t))}};var s=function(){function t(t){this.total=t}return t.prototype.call=function(t,e){return e.subscribe(new o(t,this.total))},t}(),o=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return i(e,t),e.prototype._next=function(t){++this.count>this.total&&this.destination.next(t)},e}(r.Subscriber)},73346:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758);e.skipLast=function(t){return function(e){return e.lift(new o(t))}};var o=function(){function t(t){if(this._skipCount=t,this._skipCount<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(0===this._skipCount?new r.Subscriber(t):new a(t,this._skipCount))},t}(),a=function(t){function e(e,n){t.call(this,e),this._skipCount=n,this._count=0,this._ring=new Array(n)}return i(e,t),e.prototype._next=function(t){var e=this._skipCount,n=this._count++;if(n1?new i.ArrayObservable(t,n):new s.EmptyObservable(n),e)}}},10118:function(t,e,n){"use strict";var i=n(82966);e.subscribeOn=function(t,e){return void 0===e&&(e=0),function(n){return n.lift(new r(t,e))}};var r=function(){function t(t,e){this.scheduler=t,this.delay=e}return t.prototype.call=function(t,e){return new i.SubscribeOnObservable(e,this.delay,this.scheduler).subscribe(t)},t}()},77243:function(t,e,n){"use strict";var i=n(18483),r=n(5027);e.switchAll=function(){return i.switchMap(r.identity)}},18483:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.switchMap=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.project=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.project=n,this.resultSelector=i,this.index=0}return i(e,t),e.prototype._next=function(t){var e,n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this._innerSub(e,t,n)},e.prototype._innerSub=function(t,e,n){var i=this.innerSubscription;i&&i.unsubscribe(),this.add(this.innerSubscription=s.subscribeToResult(this,t,e,n))},e.prototype._complete=function(){var e=this.innerSubscription;(!e||e.closed)&&t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){this.resultSelector?this._tryNotifyNext(t,e,n,i):this.destination.next(e)},e.prototype._tryNotifyNext=function(t,e,n,i){var r;try{r=this.resultSelector(t,e,n,i)}catch(s){return void this.destination.error(s)}this.destination.next(r)},e}(r.OuterSubscriber)},10684:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(84308),s=n(93658);e.switchMapTo=function(t,e){return function(n){return n.lift(new o(t,e))}};var o=function(){function t(t,e){this.observable=t,this.resultSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.observable,this.resultSelector))},t}(),a=function(t){function e(e,n,i){t.call(this,e),this.inner=n,this.resultSelector=i,this.index=0}return i(e,t),e.prototype._next=function(t){var e=this.innerSubscription;e&&e.unsubscribe(),this.add(this.innerSubscription=s.subscribeToResult(this,this.inner,t,this.index++))},e.prototype._complete=function(){var e=this.innerSubscription;(!e||e.closed)&&t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,i,r){var s=this.destination;this.resultSelector?this.tryResultSelector(t,e,n,i):s.next(e)},e.prototype.tryResultSelector=function(t,e,n,i){var r,s=this.resultSelector,o=this.destination;try{r=s(t,e,n,i)}catch(a){return void o.error(a)}o.next(r)},e}(r.OuterSubscriber)},44396:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758),o=n(70481);e.take=function(t){return function(e){return 0===t?new o.EmptyObservable:e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.count=0}return i(e,t),e.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},e}(r.Subscriber)},73935:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(42109),s=n(11758),o=n(70481);e.takeLast=function(t){return function(e){return 0===t?new o.EmptyObservable:e.lift(new a(t))}};var a=function(){function t(t){if(this.total=t,this.total<0)throw new s.ArgumentOutOfRangeError}return t.prototype.call=function(t,e){return e.subscribe(new l(t,this.total))},t}(),l=function(t){function e(e,n){t.call(this,e),this.total=n,this.ring=new Array,this.count=0}return i(e,t),e.prototype._next=function(t){var e=this.ring,n=this.total,i=this.count++;e.length0)for(var n=this.count>=this.total?this.total:this.count,i=this.ring,r=0;r0?this.startWindowEvery:this.windowSize,n=this.destination,i=this.windowSize,r=this.windows,o=r.length,a=0;a=0&&l%e==0&&!this.closed&&r.shift().complete(),++this.count%e==0&&!this.closed){var c=new s.Subject;r.push(c),n.next(c)}},e.prototype._error=function(t){var e=this.windows;if(e)for(;e.length>0&&!this.closed;)e.shift().error(t);this.destination.error(t)},e.prototype._complete=function(){var t=this.windows;if(t)for(;t.length>0&&!this.closed;)t.shift().complete();this.destination.complete()},e.prototype._unsubscribe=function(){this.count=0,this.windows=null},e}(r.Subscriber)},42603:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(90680),o=n(42109),a=n(39479),l=n(41503);e.windowTime=function(t){var e=s.async,n=null,i=Number.POSITIVE_INFINITY;return l.isScheduler(arguments[3])&&(e=arguments[3]),l.isScheduler(arguments[2])?e=arguments[2]:a.isNumeric(arguments[2])&&(i=arguments[2]),l.isScheduler(arguments[1])?e=arguments[1]:a.isNumeric(arguments[1])&&(n=arguments[1]),function(r){return r.lift(new c(t,n,i,e))}};var c=function(){function t(t,e,n,i){this.windowTimeSpan=t,this.windowCreationInterval=e,this.maxWindowSize=n,this.scheduler=i}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))},t}(),u=function(t){function e(){t.apply(this,arguments),this._numberOfNextedValues=0}return i(e,t),e.prototype.next=function(e){this._numberOfNextedValues++,t.prototype.next.call(this,e)},Object.defineProperty(e.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0}),e}(r.Subject),h=function(t){function e(e,n,i,r,s){t.call(this,e),this.destination=e,this.windowTimeSpan=n,this.windowCreationInterval=i,this.maxWindowSize=r,this.scheduler=s,this.windows=[];var o=this.openWindow();if(null!==i&&i>=0){var a={windowTimeSpan:n,windowCreationInterval:i,subscriber:this,scheduler:s};this.add(s.schedule(f,n,{subscriber:this,window:o,context:null})),this.add(s.schedule(p,i,a))}else this.add(s.schedule(d,n,{subscriber:this,window:o,windowTimeSpan:n}))}return i(e,t),e.prototype._next=function(t){for(var e=this.windows,n=e.length,i=0;i=this.maxWindowSize&&this.closeWindow(r))}},e.prototype._error=function(t){for(var e=this.windows;e.length>0;)e.shift().error(t);this.destination.error(t)},e.prototype._complete=function(){for(var t=this.windows;t.length>0;){var e=t.shift();e.closed||e.complete()}this.destination.complete()},e.prototype.openWindow=function(){var t=new u;return this.windows.push(t),this.destination.next(t),t},e.prototype.closeWindow=function(t){t.complete();var e=this.windows;e.splice(e.indexOf(t),1)},e}(o.Subscriber);function d(t){var e=t.subscriber,n=t.windowTimeSpan,i=t.window;i&&e.closeWindow(i),t.window=e.openWindow(),this.schedule(t,n)}function p(t){var e=t.windowTimeSpan,n=t.subscriber,i=t.scheduler,r=t.windowCreationInterval,s=n.openWindow(),o=this,a={action:o,subscription:null};a.subscription=i.schedule(f,e,{subscriber:n,window:s,context:a}),o.add(a.subscription),o.schedule(t,r)}function f(t){var e=t.subscriber,n=t.window,i=t.context;i&&i.action&&i.subscription&&i.action.remove(i.subscription),e.closeWindow(n)}},59048:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(2369),s=n(72293),o=n(33463),a=n(85814),l=n(84308),c=n(93658);e.windowToggle=function(t,e){return function(n){return n.lift(new u(t,e))}};var u=function(){function t(t,e){this.openings=t,this.closingSelector=e}return t.prototype.call=function(t,e){return e.subscribe(new h(t,this.openings,this.closingSelector))},t}(),h=function(t){function e(e,n,i){t.call(this,e),this.openings=n,this.closingSelector=i,this.contexts=[],this.add(this.openSubscription=c.subscribeToResult(this,n,n))}return i(e,t),e.prototype._next=function(t){var e=this.contexts;if(e)for(var n=e.length,i=0;i0){var o=s.indexOf(n);-1!==o&&s.splice(o,1)}},e.prototype.notifyComplete=function(){},e.prototype._next=function(t){if(0===this.toRespond.length){var e=[t].concat(this.values);this.project?this._tryProject(e):this.destination.next(e)}},e.prototype._tryProject=function(t){var e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(r.OuterSubscriber)},9477:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(96177),s=n(48242),o=n(42109),a=n(84308),l=n(93658),c=n(72121);function u(){for(var t=[],e=0;ethis.index},t.prototype.hasCompleted=function(){return this.array.length===this.index},t}(),g=function(t){function e(e,n,i){t.call(this,e),this.parent=n,this.observable=i,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}return i(e,t),e.prototype[c.iterator]=function(){return this},e.prototype.next=function(){var t=this.buffer;return 0===t.length&&this.isComplete?{value:null,done:!0}:{value:t.shift(),done:!1}},e.prototype.hasValue=function(){return this.buffer.length>0},e.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},e.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},e.prototype.notifyNext=function(t,e,n,i,r){this.buffer.push(e),this.parent.checkIterators()},e.prototype.subscribe=function(t,e){return l.subscribeToResult(this,this.observable,this,e)},e}(a.OuterSubscriber)},33310:function(t,e,n){"use strict";var i=n(9477);e.zipAll=function(t){return function(e){return e.lift(new i.ZipOperator(t))}}},28101:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(e,n){t.call(this)}return i(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(n(72293).Subscription);e.Action=r},67529:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(12624),s=n(95018),o=function(t){function e(e,n){t.call(this,e,n),this.scheduler=e,this.work=n}return i(e,t),e.prototype.requestAsyncId=function(e,n,i){return void 0===i&&(i=0),null!==i&&i>0?t.prototype.requestAsyncId.call(this,e,n,i):(e.actions.push(this),e.scheduled||(e.scheduled=s.AnimationFrame.requestAnimationFrame(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,i);0===e.actions.length&&(s.AnimationFrame.cancelAnimationFrame(n),e.scheduled=void 0)},e}(r.AsyncAction);e.AnimationFrameAction=o},68909:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,i=-1,r=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++i0?t.prototype.requestAsyncId.call(this,e,n,i):(e.actions.push(this),e.scheduled||(e.scheduled=r.Immediate.setImmediate(e.flush.bind(e,null))))},e.prototype.recycleAsyncId=function(e,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,i);0===e.actions.length&&(r.Immediate.clearImmediate(n),e.scheduled=void 0)},e}(n(12624).AsyncAction);e.AsapAction=s},25766:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e.prototype.flush=function(t){this.active=!0,this.scheduled=void 0;var e,n=this.actions,i=-1,r=n.length;t=t||n.shift();do{if(e=t.execute(t.state,t.delay))break}while(++i0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,i){return void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,i):e.flush(this)},e}(n(12624).AsyncAction);e.QueueAction=r},77373:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=function(t){function e(){t.apply(this,arguments)}return i(e,t),e}(n(42704).AsyncScheduler);e.QueueScheduler=r},18353:function(t,e,n){"use strict";var i=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},r=n(12624),s=function(t){function e(e,n){var i=this;void 0===e&&(e=o),void 0===n&&(n=Number.POSITIVE_INFINITY),t.call(this,e,function(){return i.frame}),this.maxFrames=n,this.frame=0,this.index=-1}return i(e,t),e.prototype.flush=function(){for(var t,e,n=this.actions,i=this.maxFrames;(e=n.shift())&&(this.frame=e.delay)<=i&&!(t=e.execute(e.state,e.delay)););if(t){for(;e=n.shift();)e.unsubscribe();throw t}},e.frameTimeFactor=10,e}(n(42704).AsyncScheduler);e.VirtualTimeScheduler=s;var o=function(t){function e(e,n,i){void 0===i&&(i=e.index+=1),t.call(this,e,n),this.scheduler=e,this.work=n,this.index=i,this.active=!0,this.index=e.index=i}return i(e,t),e.prototype.schedule=function(n,i){if(void 0===i&&(i=0),!this.id)return t.prototype.schedule.call(this,n,i);this.active=!1;var r=new e(this.scheduler,this.work);return this.add(r),r.schedule(n,i)},e.prototype.requestAsyncId=function(t,n,i){void 0===i&&(i=0),this.delay=t.frame+i;var r=t.actions;return r.push(this),r.sort(e.sortActions),!0},e.prototype.recycleAsyncId=function(t,e,n){void 0===n&&(n=0)},e.prototype._execute=function(e,n){if(!0===this.active)return t.prototype._execute.call(this,e,n)},e.sortActions=function(t,e){return t.delay===e.delay?t.index===e.index?0:t.index>e.index?1:-1:t.delay>e.delay?1:-1},e}(r.AsyncAction);e.VirtualAction=o},12948:function(t,e,n){"use strict";var i=n(67529),r=n(68909);e.animationFrame=new r.AnimationFrameScheduler(i.AnimationFrameAction)},85522:function(t,e,n){"use strict";var i=n(3496),r=n(25766);e.asap=new r.AsapScheduler(i.AsapAction)},90680:function(t,e,n){"use strict";var i=n(12624),r=n(42704);e.async=new r.AsyncScheduler(i.AsyncAction)},97088:function(t,e,n){"use strict";var i=n(7100),r=n(77373);e.queue=new r.QueueScheduler(i.QueueAction)},72121:function(t,e,n){"use strict";var i=n(80019);function r(t){var e=t.Symbol;if("function"==typeof e)return e.iterator||(e.iterator=e("iterator polyfill")),e.iterator;var n=t.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var i=t.Map;if(i)for(var r=Object.getOwnPropertyNames(i.prototype),s=0;s0;)e.shift().setup();t.prototype.flush.call(this);for(var n=this.flushTests.filter(function(t){return t.ready});n.length>0;){var i=n.shift();this.assertDeepEqual(i.actual,i.expected)}},e.parseMarblesAsSubscriptions=function(t){if("string"!=typeof t)return new l.SubscriptionLog(Number.POSITIVE_INFINITY);for(var e=t.length,n=-1,i=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,s=0;s-1?n:o;break;case"!":if(r!==Number.POSITIVE_INFINITY)throw new Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");r=n>-1?n:o;break;default:throw new Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+a+"'.")}}return r<0?new l.SubscriptionLog(i):new l.SubscriptionLog(i,r)},e.parseMarbles=function(t,e,n,i){if(void 0===i&&(i=!1),-1!==t.indexOf("!"))throw new Error('conventional marble diagrams cannot have the unsubscription marker "!"');for(var r=t.length,a=[],l=t.indexOf("^"),c=-1===l?0:l*-this.frameTimeFactor,u="object"!=typeof e?function(t){return t}:function(t){return i&&e[t]instanceof o.ColdObservable?e[t].messages:e[t]},h=-1,d=0;d-1?h:p,notification:f})}return a},e}(c.VirtualTimeScheduler);e.TestScheduler=u},95018:function(t,e,n){"use strict";var i=n(80019),r=function(t){t.requestAnimationFrame?(this.cancelAnimationFrame=t.cancelAnimationFrame.bind(t),this.requestAnimationFrame=t.requestAnimationFrame.bind(t)):t.mozRequestAnimationFrame?(this.cancelAnimationFrame=t.mozCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.mozRequestAnimationFrame.bind(t)):t.webkitRequestAnimationFrame?(this.cancelAnimationFrame=t.webkitCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.webkitRequestAnimationFrame.bind(t)):t.msRequestAnimationFrame?(this.cancelAnimationFrame=t.msCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.msRequestAnimationFrame.bind(t)):t.oRequestAnimationFrame?(this.cancelAnimationFrame=t.oCancelAnimationFrame.bind(t),this.requestAnimationFrame=t.oRequestAnimationFrame.bind(t)):(this.cancelAnimationFrame=t.clearTimeout.bind(t),this.requestAnimationFrame=function(e){return t.setTimeout(e,1e3/60)})};e.RequestAnimationFrameDefinition=r,e.AnimationFrame=new r(i.root)},11758:function(t,e){"use strict";var n=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},i=function(t){function e(){var e=t.call(this,"argument out of range");this.name=e.name="ArgumentOutOfRangeError",this.stack=e.stack,this.message=e.message}return n(e,t),e}(Error);e.ArgumentOutOfRangeError=i},44640:function(t,e){"use strict";var n=this&&this.__extends||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);function i(){this.constructor=t}t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},i=function(t){function e(){var e=t.call(this,"no elements in sequence");this.name=e.name="EmptyError",this.stack=e.stack,this.message=e.message}return n(e,t),e}(Error);e.EmptyError=i},30764:function(t,e){"use strict";var n=function(){function t(){this.values={}}return t.prototype.delete=function(t){return this.values[t]=null,!0},t.prototype.set=function(t,e){return this.values[t]=e,this},t.prototype.get=function(t){return this.values[t]},t.prototype.forEach=function(t,e){var n=this.values;for(var i in n)n.hasOwnProperty(i)&&null!==n[i]&&t.call(e,n[i],i)},t.prototype.clear=function(){this.values={}},t}();e.FastMap=n},42982:function(t,e,n){"use strict";var i=n(80019),r=function(){function t(t){if(this.root=t,t.setImmediate&&"function"==typeof t.setImmediate)this.setImmediate=t.setImmediate.bind(t),this.clearImmediate=t.clearImmediate.bind(t);else{this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.setImmediate=this.canUseProcessNextTick()?this.createProcessNextTickSetImmediate():this.canUsePostMessage()?this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.createReadyStateChangeSetImmediate():this.createSetTimeoutSetImmediate();var e=function t(e){delete t.instance.tasksByHandle[e]};e.instance=this,this.clearImmediate=e}}return t.prototype.identify=function(t){return this.root.Object.prototype.toString.call(t)},t.prototype.canUseProcessNextTick=function(){return"[object process]"===this.identify(this.root.process)},t.prototype.canUseMessageChannel=function(){return Boolean(this.root.MessageChannel)},t.prototype.canUseReadyStateChange=function(){var t=this.root.document;return Boolean(t&&"onreadystatechange"in t.createElement("script"))},t.prototype.canUsePostMessage=function(){var t=this.root;if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}return!1},t.prototype.partiallyApplied=function(t){for(var e=[],n=1;n=0}},1856:function(t,e){"use strict";e.isObject=function(t){return null!=t&&"object"==typeof t}},35130:function(t,e){"use strict";e.isPromise=function(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}},41503:function(t,e){"use strict";e.isScheduler=function(t){return t&&"function"==typeof t.schedule}},68668:function(t,e){"use strict";e.noop=function(){}},67239:function(t,e){"use strict";e.not=function(t,e){function n(){return!n.pred.apply(n.thisArg,arguments)}return n.pred=t,n.thisArg=e,n}},10142:function(t,e,n){"use strict";var i=n(68668);function r(t){return t?1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)}:i.noop}e.pipe=function(){for(var t=[],e=0;e>16),l((65280&i)>>8),l(255&i);return 2==r?l(255&(i=c(t.charAt(n))<<2|c(t.charAt(n+1))>>4)):1==r&&(l((i=c(t.charAt(n))<<10|c(t.charAt(n+1))<<4|c(t.charAt(n+2))>>2)>>8&255),l(255&i)),s},t.fromByteArray=function(t){var e,n,i,r,s=t.length%3,o="";function a(t){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t)}for(e=0,i=t.length-s;e>18&63)+a(r>>12&63)+a(r>>6&63)+a(63&r);switch(s){case 1:o=(o+=a((n=t[t.length-1])>>2))+a(n<<4&63)+"==";break;case 2:o=(o=(o+=a((n=(t[t.length-2]<<8)+t[t.length-1])>>10))+a(n>>4&63))+a(n<<2&63)+"="}return o}}(void 0===n?this.base64js={}:n)}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(t,e,n){(function(e,i,r,s,o,a,l,c,u){var h=t("base64-js"),d=t("ieee754");function r(t,e,n){if(!(this instanceof r))return new r(t,e,n);var i,s,o,a,l=typeof t;if("base64"===e&&"string"==l)for(t=(a=t).trim?a.trim():a.replace(/^\s+|\s+$/g,"");t.length%4!=0;)t+="=";if("number"==l)i=T(t);else if("string"==l)i=r.byteLength(t,e);else{if("object"!=l)throw new Error("First argument needs to be a number, array or string.");i=T(t.length)}if(r._useTypedArrays?s=r._augment(new Uint8Array(i)):((s=this).length=i,s._isBuffer=!0),r._useTypedArrays&&"number"==typeof t.byteLength)s._set(t);else if(k(a=t)||r.isBuffer(a)||a&&"object"==typeof a&&"number"==typeof a.length)for(o=0;o>>0)):(e+1>>0),r}function g(t,e,n,i){if(i||(j("boolean"==typeof n,"missing or invalid endian"),j(null!=e,"missing offset"),j(e+1>>8*(i?s:1-s)}function _(t,e,n,i,r){if(r||(j(null!=e,"missing value"),j("boolean"==typeof i,"missing or invalid endian"),j(null!=n,"missing offset"),j(n+3>>8*(i?s:3-s)&255}function w(t,e,n,i,r){r||(j(null!=e,"missing value"),j("boolean"==typeof i,"missing or invalid endian"),j(null!=n,"missing offset"),j(n+1>8,i.push(n%=256),i.push(e);return i}(e),t,n,i)}(this,t,e,n);break;default:throw new Error("Unknown encoding")}return s},r.prototype.toString=function(t,e,n){var i,r,s,o,a=this;if(t=String(t||"utf8").toLowerCase(),e=Number(e)||0,(n=void 0!==n?Number(n):a.length)===e)return"";switch(t){case"hex":i=function(t,e,n){var i=t.length;(!e||e<0)&&(e=0),(!n||n<0||ithis.length&&(i=this.length);var s=(i=t.length-e=this.length))return this[t]},r.prototype.readUInt16LE=function(t,e){return p(this,t,!0,e)},r.prototype.readUInt16BE=function(t,e){return p(this,t,!1,e)},r.prototype.readUInt32LE=function(t,e){return f(this,t,!0,e)},r.prototype.readUInt32BE=function(t,e){return f(this,t,!1,e)},r.prototype.readInt8=function(t,e){if(e||(j(null!=t,"missing offset"),j(t=this.length))return 128&this[t]?-1*(255-this[t]+1):this[t]},r.prototype.readInt16LE=function(t,e){return g(this,t,!0,e)},r.prototype.readInt16BE=function(t,e){return g(this,t,!1,e)},r.prototype.readInt32LE=function(t,e){return m(this,t,!0,e)},r.prototype.readInt32BE=function(t,e){return m(this,t,!1,e)},r.prototype.readFloatLE=function(t,e){return b(this,t,!0,e)},r.prototype.readFloatBE=function(t,e){return b(this,t,!1,e)},r.prototype.readDoubleLE=function(t,e){return y(this,t,!0,e)},r.prototype.readDoubleBE=function(t,e){return y(this,t,!1,e)},r.prototype.writeUInt8=function(t,e,n){n||(j(null!=t,"missing value"),j(null!=e,"missing offset"),j(e=this.length||(this[e]=t)},r.prototype.writeUInt16LE=function(t,e,n){v(this,t,e,!0,n)},r.prototype.writeUInt16BE=function(t,e,n){v(this,t,e,!1,n)},r.prototype.writeUInt32LE=function(t,e,n){_(this,t,e,!0,n)},r.prototype.writeUInt32BE=function(t,e,n){_(this,t,e,!1,n)},r.prototype.writeInt8=function(t,e,n){n||(j(null!=t,"missing value"),j(null!=e,"missing offset"),j(e=this.length||this.writeUInt8(0<=t?t:255+t+1,e,n)},r.prototype.writeInt16LE=function(t,e,n){w(this,t,e,!0,n)},r.prototype.writeInt16BE=function(t,e,n){w(this,t,e,!1,n)},r.prototype.writeInt32LE=function(t,e,n){x(this,t,e,!0,n)},r.prototype.writeInt32BE=function(t,e,n){x(this,t,e,!1,n)},r.prototype.writeFloatLE=function(t,e,n){S(this,t,e,!0,n)},r.prototype.writeFloatBE=function(t,e,n){S(this,t,e,!1,n)},r.prototype.writeDoubleLE=function(t,e,n){C(this,t,e,!0,n)},r.prototype.writeDoubleBE=function(t,e,n){C(this,t,e,!1,n)},r.prototype.fill=function(t,e,n){if(e=e||0,n=n||this.length,j("number"==typeof(t="string"==typeof(t=t||0)?t.charCodeAt(0):t)&&!isNaN(t),"value is not a number"),j(e<=n,"end < start"),n!==e&&0!==this.length){j(0<=e&&e"},r.prototype.toArrayBuffer=function(){if("undefined"==typeof Uint8Array)throw new Error("Buffer.toArrayBuffer not supported in this browser");if(r._useTypedArrays)return new r(this).buffer;for(var t=new Uint8Array(this.length),e=0,n=t.length;e=e.length||r>=t.length);r++)e[r+n]=t[r];return r}function D(t){try{return decodeURIComponent(t)}catch(e){return String.fromCharCode(65533)}}function R(t,e){j("number"==typeof t,"cannot write a non-number as a number"),j(0<=t,"specified a negative value for writing an unsigned value"),j(t<=e,"value is larger than maximum value for type"),j(Math.floor(t)===t,"value has a fractional component")}function N(t,e,n){j("number"==typeof t,"cannot write a non-number as a number"),j(t<=e,"value larger than maximum allowed value"),j(n<=t,"value smaller than minimum allowed value"),j(Math.floor(t)===t,"value has a fractional component")}function L(t,e,n){j("number"==typeof t,"cannot write a non-number as a number"),j(t<=e,"value larger than maximum allowed value"),j(n<=t,"value smaller than minimum allowed value")}function j(t,e){if(!t)throw new Error(e||"Failed assertion")}r._augment=function(t){return t._isBuffer=!0,t._get=t.get,t._set=t.set,t.get=E.get,t.set=E.set,t.write=E.write,t.toString=E.toString,t.toLocaleString=E.toString,t.toJSON=E.toJSON,t.copy=E.copy,t.slice=E.slice,t.readUInt8=E.readUInt8,t.readUInt16LE=E.readUInt16LE,t.readUInt16BE=E.readUInt16BE,t.readUInt32LE=E.readUInt32LE,t.readUInt32BE=E.readUInt32BE,t.readInt8=E.readInt8,t.readInt16LE=E.readInt16LE,t.readInt16BE=E.readInt16BE,t.readInt32LE=E.readInt32LE,t.readInt32BE=E.readInt32BE,t.readFloatLE=E.readFloatLE,t.readFloatBE=E.readFloatBE,t.readDoubleLE=E.readDoubleLE,t.readDoubleBE=E.readDoubleBE,t.writeUInt8=E.writeUInt8,t.writeUInt16LE=E.writeUInt16LE,t.writeUInt16BE=E.writeUInt16BE,t.writeUInt32LE=E.writeUInt32LE,t.writeUInt32BE=E.writeUInt32BE,t.writeInt8=E.writeInt8,t.writeInt16LE=E.writeInt16LE,t.writeInt16BE=E.writeInt16BE,t.writeInt32LE=E.writeInt32LE,t.writeInt32BE=E.writeInt32BE,t.writeFloatLE=E.writeFloatLE,t.writeFloatBE=E.writeFloatBE,t.writeDoubleLE=E.writeDoubleLE,t.writeDoubleBE=E.writeDoubleBE,t.fill=E.fill,t.inspect=E.inspect,t.toArrayBuffer=E.toArrayBuffer,t}}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(t,e,n){(function(n,i,r,s,o,a,l,c,u){r=t("buffer").Buffer;var h=new r(4);h.fill(0),e.exports={hash:function(t,e,n,i){for(var s=e(function(t,e){t.length%4!=0&&(t=r.concat([t,h],t.length+(4-t.length%4)));for(var n=[],i=e?t.readInt32BE:t.readInt32LE,s=0;sg?e=t(e):e.length>5]|=128<>>9<<4)]=e;for(var n=1732584193,i=-271733879,r=-1732584194,s=271733878,o=0;o>>32-r,n)}function f(t,e,n,i,r,s,o){return p(e&n|~e&i,t,e,r,s,o)}function g(t,e,n,i,r,s,o){return p(e&i|n&~i,t,e,r,s,o)}function m(t,e,n,i,r,s,o){return p(e^n^i,t,e,r,s,o)}function b(t,e,n,i,r,s,o){return p(n^(e|~i),t,e,r,s,o)}function y(t,e){var n=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(n>>16)<<16|65535&n}e.exports=function(t){return h.hash(t,d,16)}}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(t,e,n){(function(t,n,i,r,s,o,a,l,c){e.exports=function(t){for(var e,n=new Array(t),i=0;i>>((3&i)<<3)&255;return n}}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(t,e,n){(function(n,i,r,s,o,a,l,c,u){var h=t("./helpers");function d(t,e){t[e>>5]|=128<<24-e%32,t[15+(e+64>>9<<4)]=e;for(var n,i,r,s=Array(80),o=1732584193,a=-271733879,l=-1732584194,c=271733878,u=-1009589776,h=0;h>16)+(e>>16)+(n>>16)<<16|65535&n}function f(t,e){return t<>>32-e}e.exports=function(t){return h.hash(t,d,20,!0)}}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(t,e,n){(function(n,i,r,s,o,a,l,c,u){function h(t,e){var n=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(n>>16)<<16|65535&n}function d(t,e){var n,i=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),r=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),s=new Array(64);t[e>>5]|=128<<24-e%32,t[15+(e+64>>9<<4)]=e;for(var o,a,l=0;l>>e|t<<32-e},g=function(t,e){return t>>>e};e.exports=function(t){return p.hash(t,d,32,!0)}}).call(this,t("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(t,e,n){(function(t,e,i,r,s,o,a,l,c){n.read=function(t,e,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,h=n?r-1:0,d=n?-1:1;for(r=t[e+h],h+=d,s=r&(1<<-u)-1,r>>=-u,u+=a;0>=-u,u+=i;0>1,h=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:s-1,p=i?1:-1;for(s=e<0||0===e&&1/e<0?1:0,e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(i=Math.pow(2,-o))<1&&(o--,i*=2),2<=(e+=1<=o+u?h/i:h*Math.pow(2,1-u))*i&&(o++,i/=2),c<=o+u?(a=0,o=c):1<=o+u?(a=(e*i-1)*Math.pow(2,r),o+=u):(a=e*Math.pow(2,u-1)*Math.pow(2,r),o=0));8<=r;t[n+d]=255&a,d+=p,a/=256,r-=8);for(o=o<=n?{done:!0}:{done:!1,value:t[i++]}})},e.empty=function(){var t=new e(null);return t.done=!0,t},e.is=function(t){return t instanceof e||"object"==typeof t&&null!==t&&"function"==typeof t.next},t.exports=e},97310:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.isMobile=function(){return void 0!==r.window.orientation},e.default=function(t){if(!t&&!(0,s.default)())return"Node";if((0,o.default)(t))return"Electron";var e="undefined"!=typeof navigator?navigator:{},n=t||e.userAgent||"";if(n.indexOf("Edge")>-1)return"Edge";var i=-1!==n.indexOf("MSIE "),a=-1!==n.indexOf("Trident/");return i||a?"IE":r.window.chrome?"Chrome":r.window.safari?"Safari":r.window.mozInnerScreenX?"Firefox":"Unknown"};var r=n(41151),s=i(n(61602)),o=i(n(22344))},41151:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.console=e.process=e.document=e.global=e.window=e.self=void 0;var r=i(n(34321)),s={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&process};e.self=s.self||s.window||s.global,e.window=s.window||s.self||s.global,e.global=s.global||s.self||s.window,e.document=s.document||{},e.process=s.process||{};var o=console;e.console=o},84761:function(t,e,n){"use strict";var i=n(61948),r=n(34321);Object.defineProperty(e,"CO",{enumerable:!0,get:function(){return s.global}}),Object.defineProperty(e,"qs",{enumerable:!0,get:function(){return o.default}});var s=n(41151),o=(l(n(61602)),l(n(97310)));i(n(22344));function a(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,n=new WeakMap;return(a=function(t){return t?n:e})(t)}function l(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!==r(t)&&"function"!=typeof t)return{default:t};var n=a(e);if(n&&n.has(t))return n.get(t);var i={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in t)if("default"!==o&&Object.prototype.hasOwnProperty.call(t,o)){var l=s?Object.getOwnPropertyDescriptor(t,o):null;l&&(l.get||l.set)?Object.defineProperty(i,o,l):i[o]=t[o]}return i.default=t,n&&n.set(t,i),i}},61602:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.default=o,e.isBrowserMainThread=function(){return o()&&"undefined"!=typeof document};var r=i(n(34321)),s=i(n(22344));function o(){return!("object"===("undefined"==typeof process?"undefined":(0,r.default)(process))&&"[object process]"===String(process)&&!process.browser)||(0,s.default)()}},22344:function(t,e,n){"use strict";var i=n(61948);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){if("undefined"!=typeof window&&"object"===(0,r.default)(window.process)&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"===(0,r.default)(process.versions)&&Boolean(process.versions.electron))return!0;var e="object"===("undefined"==typeof navigator?"undefined":(0,r.default)(navigator))&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||e;return!!(n&&n.indexOf("Electron")>=0)};var r=i(n(34321))},86991:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(n(14180),e),r(n(75103),e),r(n(48965),e),r(n(32595),e),r(n(82417),e),r(n(92451),e),r(n(17735),e)},14180:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BlankNode=void 0,e.BlankNode=class{constructor(t){this.termType="BlankNode",this.value=t}equals(t){return!!t&&"BlankNode"===t.termType&&t.value===this.value}}},75103:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataFactory=void 0;const i=n(14180),r=n(48965),s=n(32595),o=n(82417),a=n(92451),l=n(17735);let c=0;e.DataFactory=class{constructor(t){this.blankNodeCounter=0,this.blankNodePrefix=(t=t||{}).blankNodePrefix||`df_${c++}_`}namedNode(t){return new o.NamedNode(t)}blankNode(t){return new i.BlankNode(t||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(t,e){return new s.Literal(t,e)}variable(t){return new l.Variable(t)}defaultGraph(){return r.DefaultGraph.INSTANCE}quad(t,e,n,i){return new a.Quad(t,e,n,i||this.defaultGraph())}fromTerm(t){switch(t.termType){case"NamedNode":return this.namedNode(t.value);case"BlankNode":return this.blankNode(t.value);case"Literal":return t.language?this.literal(t.value,t.language):t.datatype.equals(s.Literal.XSD_STRING)?this.literal(t.value):this.literal(t.value,this.fromTerm(t.datatype));case"Variable":return this.variable(t.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(t.subject),this.fromTerm(t.predicate),this.fromTerm(t.object),this.fromTerm(t.graph))}}fromQuad(t){return this.fromTerm(t)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},48965:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultGraph=void 0;class n{constructor(){this.termType="DefaultGraph",this.value=""}equals(t){return!!t&&"DefaultGraph"===t.termType}}e.DefaultGraph=n,n.INSTANCE=new n},32595:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Literal=void 0;const i=n(82417);class r{constructor(t,e){this.termType="Literal",this.value=t,"string"==typeof e?(this.language=e,this.datatype=r.RDF_LANGUAGE_STRING):e?(this.language="",this.datatype=e):(this.language="",this.datatype=r.XSD_STRING)}equals(t){return!!t&&"Literal"===t.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}e.Literal=r,r.RDF_LANGUAGE_STRING=new i.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),r.XSD_STRING=new i.NamedNode("http://www.w3.org/2001/XMLSchema#string")},82417:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NamedNode=void 0,e.NamedNode=class{constructor(t){this.termType="NamedNode",this.value=t}equals(t){return!!t&&"NamedNode"===t.termType&&t.value===this.value}}},92451:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Quad=void 0,e.Quad=class{constructor(t,e,n,i){this.termType="Quad",this.value="",this.subject=t,this.predicate=e,this.object=n,this.graph=i}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&this.subject.equals(t.subject)&&this.predicate.equals(t.predicate)&&this.object.equals(t.object)&&this.graph.equals(t.graph)}}},17735:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Variable=void 0,e.Variable=class{constructor(t){this.termType="Variable",this.value=t}equals(t){return!!t&&"Variable"===t.termType&&t.value===this.value}}},31609:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.getSupportedJavaScriptPrimitives=e.getSupportedRdfDatatypes=e.getTermRaw=e.toRdf=e.fromRdf=void 0;const s=n(86991),o=n(9938),a=n(66060);r(n(9938),e),r(n(88871),e),r(n(66060),e);const l=new s.DataFactory,c=new a.Translator;function u(t,e){return c.fromRdf(t,e)}c.registerHandler(new o.TypeHandlerString,o.TypeHandlerString.TYPES.map(t=>l.namedNode(t)),["string"]),c.registerHandler(new o.TypeHandlerBoolean,[o.TypeHandlerBoolean.TYPE].map(t=>l.namedNode(t)),["boolean"]),c.registerHandler(new o.TypeHandlerNumberDouble,o.TypeHandlerNumberDouble.TYPES.map(t=>l.namedNode(t)),["number"]),c.registerHandler(new o.TypeHandlerNumberInteger,o.TypeHandlerNumberInteger.TYPES.map(t=>l.namedNode(t)),["number"]),c.registerHandler(new o.TypeHandlerDate,o.TypeHandlerDate.TYPES.map(t=>l.namedNode(t)),["object"]),e.fromRdf=u,e.toRdf=function(t,e){return e&&"namedNode"in e&&(e={dataFactory:e}),(e=e||{})&&!e.dataFactory&&(e.dataFactory=l),c.toRdf(t,e)},e.getTermRaw=function(t,e){return"Literal"===t.termType?u(t,e):t.value},e.getSupportedRdfDatatypes=function(){return c.getSupportedRdfDatatypes()},e.getSupportedJavaScriptPrimitives=function(){return c.getSupportedJavaScriptPrimitives()}},88871:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},66060:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Translator=void 0,e.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(t){throw new Error(`Invalid RDF ${t.datatype.value} value: '${t.value}'`)}registerHandler(t,e,n){for(const i of e)this.supportedRdfDatatypes.push(i),this.fromRdfHandlers[i.value]=t;for(const i of n){let e=this.toRdfHandlers[i];e||(this.toRdfHandlers[i]=e=[]),e.push(t)}}fromRdf(t,e){const n=this.fromRdfHandlers[t.datatype.value];return n?n.fromRdf(t,e):t.value}toRdf(t,e){const n=this.toRdfHandlers[typeof t];if(n)for(const i of n){const n=i.toRdf(t,e);if(n)return n}throw new Error(`Invalid JavaScript value: '${t}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},80727:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerBoolean=void 0;const i=n(66060);class r{fromRdf(t,e){switch(t.value){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1}return e&&i.Translator.incorrectRdfDataType(t),!1}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(t?"true":"false",e||n.namedNode(r.TYPE))}}e.TypeHandlerBoolean=r,r.TYPE="http://www.w3.org/2001/XMLSchema#boolean"},52525:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerDate=void 0;const i=n(66060);class r{fromRdf(t,e){switch(e&&!t.value.match(r.VALIDATORS[t.datatype.value.substr(33,t.datatype.value.length)])&&i.Translator.incorrectRdfDataType(t),t.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(t.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const e=t.value.split("-");return new Date(0,parseInt(e[0],10)-1,parseInt(e[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(t.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(t.value+"-01");default:return new Date(t.value)}}toRdf(t,{datatype:e,dataFactory:n}){if(e=e||n.namedNode(r.TYPES[0]),!(t instanceof Date))return null;const i=t;let s;switch(e.value){case"http://www.w3.org/2001/XMLSchema#gDay":s=String(i.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":s=i.getUTCMonth()+1+"-"+i.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":s=String(i.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":s=i.getUTCFullYear()+"-"+(i.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":s=i.toISOString().replace(/T.*$/,"");break;default:s=i.toISOString()}return n.literal(s,e)}}e.TypeHandlerDate=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],r.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/}},38554:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerNumberDouble=void 0;const i=n(66060);class r{fromRdf(t,e){const n=parseFloat(t.value);return e&&isNaN(n)&&i.Translator.incorrectRdfDataType(t),n}toRdf(t,{datatype:e,dataFactory:n}){return e=e||n.namedNode(r.TYPES[0]),isNaN(t)?n.literal("NaN",e):isFinite(t)?t%1==0?null:n.literal(t.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),e):n.literal(t>0?"INF":"-INF",e)}}e.TypeHandlerNumberDouble=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"]},37750:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerNumberInteger=void 0;const i=n(66060);class r{fromRdf(t,e){const n=parseInt(t.value,10);return e&&(isNaN(n)||t.value.indexOf(".")>=0)&&i.Translator.incorrectRdfDataType(t),n}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(String(t),e||n.namedNode(t<=r.MAX_INT&&t>=r.MIN_INT?r.TYPES[0]:r.TYPES[1]))}}e.TypeHandlerNumberInteger=r,r.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],r.MAX_INT=2147483647,r.MIN_INT=-2147483648},14608:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHandlerString=void 0;class n{fromRdf(t){return t.value}toRdf(t,{datatype:e,dataFactory:n}){return n.literal(t,e)}}e.TypeHandlerString=n,n.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"]},9938:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),r=this&&this.__exportStar||function(t,e){for(var n in t)"default"!==n&&!Object.prototype.hasOwnProperty.call(e,n)&&i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(n(80727),e),r(n(52525),e),r(n(38554),e),r(n(37750),e),r(n(14608),e)},51316:function(t,e,n){"use strict";var i={};n.r(i),n.d(i,{decode:function(){return xj},encode:function(){return Cj}});var r={};n.r(r),n.d(r,{decode:function(){return Aj},encode:function(){return Ij}});var s={};n.r(s),n.d(s,{decode:function(){return Dj},encode:function(){return Nj}});var o={};function a(t){return"function"==typeof t}n.r(o),n.d(o,{decode:function(){return jj},encode:function(){return Bj}});let l=!1;const c={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else l&&console.log("RxJS: Back to a better error behavior. Thank you. <3");l=t},get useDeprecatedSynchronousErrorHandling(){return l}};function u(t){setTimeout(()=>{throw t},0)}const h={closed:!0,next(t){},error(t){if(c.useDeprecatedSynchronousErrorHandling)throw t;u(t)},complete(){}},d=Array.isArray||(t=>t&&"number"==typeof t.length);function p(t){return null!==t&&"object"==typeof t}const f=(()=>{function t(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((t,e)=>`${e+1}) ${t.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return t.prototype=Object.create(Error.prototype),t})();class g{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let t;if(this.closed)return;let{_parentOrParents:e,_ctorUnsubscribe:n,_unsubscribe:i,_subscriptions:r}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,e instanceof g)e.remove(this);else if(null!==e)for(let a=0;at.concat(e instanceof f?e.errors:e),[])}g.EMPTY=((m=new g).closed=!0,m);const y="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class v extends g{constructor(t,e,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=h;break;case 1:if(!t){this.destination=h;break}if("object"==typeof t){t instanceof v?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new _(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new _(this,t,e,n)}}[y](){return this}static create(t,e,n){const i=new v(t,e,n);return i.syncErrorThrowable=!1,i}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class _ extends v{constructor(t,e,n,i){super(),this._parentSubscriber=t;let r,s=this;a(e)?r=e:e&&(r=e.next,n=e.error,i=e.complete,e!==h&&(s=Object.create(e),a(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=r,this._error=n,this._complete=i}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;c.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:n}=c;if(this._error)n&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)n?(e.syncErrorValue=t,e.syncErrorThrown=!0):u(t),this.unsubscribe();else{if(this.unsubscribe(),n)throw t;u(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);c.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(n){if(this.unsubscribe(),c.useDeprecatedSynchronousErrorHandling)throw n;u(n)}}__tryOrSetError(t,e,n){if(!c.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,n)}catch(i){return c.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=i,t.syncErrorThrown=!0,!0):(u(i),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const w="function"==typeof Symbol&&Symbol.observable||"@@observable";function x(t){return t}function S(...t){return C(t)}function C(t){return 0===t.length?x:1===t.length?t[0]:function(e){return t.reduce((t,e)=>e(t),e)}}let E=(()=>{class t{constructor(t){this._isScalar=!1,t&&(this._subscribe=t)}lift(e){const n=new t;return n.source=this,n.operator=e,n}subscribe(t,e,n){const{operator:i}=this,r=function(t,e,n){if(t){if(t instanceof v)return t;if(t[y])return t[y]()}return t||e||n?new v(t,e,n):new v(h)}(t,e,n);if(r.add(i?i.call(r,this.source):this.source||c.useDeprecatedSynchronousErrorHandling&&!r.syncErrorThrowable?this._subscribe(r):this._trySubscribe(r)),c.useDeprecatedSynchronousErrorHandling&&r.syncErrorThrowable&&(r.syncErrorThrowable=!1,r.syncErrorThrown))throw r.syncErrorValue;return r}_trySubscribe(t){try{return this._subscribe(t)}catch(e){c.useDeprecatedSynchronousErrorHandling&&(t.syncErrorThrown=!0,t.syncErrorValue=e),function(t){for(;t;){const{closed:e,destination:n,isStopped:i}=t;if(e||i)return!1;t=n&&n instanceof v?n:null}return!0}(t)?t.error(e):console.warn(e)}}forEach(t,e){return new(e=O(e))((e,n)=>{let i;i=this.subscribe(e=>{try{t(e)}catch(r){n(r),i&&i.unsubscribe()}},n,e)})}_subscribe(t){const{source:e}=this;return e&&e.subscribe(t)}[w](){return this}pipe(...t){return 0===t.length?this:C(t)(this)}toPromise(t){return new(t=O(t))((t,e)=>{let n;this.subscribe(t=>n=t,t=>e(t),()=>t(n))})}}return t.create=e=>new t(e),t})();function O(t){if(t||(t=c.Promise||Promise),!t)throw new Error("no Promise impl found");return t}const T=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})();class k extends g{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}class P extends v{constructor(t){super(t),this.destination=t}}let A=(()=>{class t extends E{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[y](){return new P(this)}lift(t){const e=new M(this,this);return e.operator=t,e}next(t){if(this.closed)throw new T;if(!this.isStopped){const{observers:e}=this,n=e.length,i=e.slice();for(let r=0;rnew M(t,e),t})();class M extends A{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):g.EMPTY}}function I(t){return t&&"function"==typeof t.schedule}function D(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new R(t,e))}}class R{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new N(t,this.project,this.thisArg))}}class N extends v{constructor(t,e,n){super(t),this.project=e,this.count=0,this.thisArg=n||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}const L=t=>e=>{for(let n=0,i=t.length;nt&&"number"==typeof t.length&&"function"!=typeof t;function B(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const V=t=>{if(t&&"function"==typeof t[w])return(t=>e=>{const n=t[w]();if("function"!=typeof n.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return n.subscribe(e)})(t);if(F(t))return L(t);if(B(t))return(t=>e=>(t.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,u),e))(t);if(t&&"function"==typeof t[j])return(t=>e=>{const n=t[j]();for(;;){let t;try{t=n.next()}catch(i){return e.error(i),e}if(t.done){e.complete();break}if(e.next(t.value),e.closed)break}return"function"==typeof n.return&&e.add(()=>{n.return&&n.return()}),e})(t);{const e=`You provided ${p(t)?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(e)}};function z(t,e){return new E(n=>{const i=new g;let r=0;return i.add(e.schedule(function(){r!==t.length?(n.next(t[r++]),n.closed||i.add(this.schedule())):n.complete()})),i})}function U(t,e){return e?function(t,e){if(null!=t){if(function(t){return t&&"function"==typeof t[w]}(t))return function(t,e){return new E(n=>{const i=new g;return i.add(e.schedule(()=>{const r=t[w]();i.add(r.subscribe({next(t){i.add(e.schedule(()=>n.next(t)))},error(t){i.add(e.schedule(()=>n.error(t)))},complete(){i.add(e.schedule(()=>n.complete()))}}))})),i})}(t,e);if(B(t))return function(t,e){return new E(n=>{const i=new g;return i.add(e.schedule(()=>t.then(t=>{i.add(e.schedule(()=>{n.next(t),i.add(e.schedule(()=>n.complete()))}))},t=>{i.add(e.schedule(()=>n.error(t)))}))),i})}(t,e);if(F(t))return z(t,e);if(function(t){return t&&"function"==typeof t[j]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new E(n=>{const i=new g;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(e.schedule(()=>{r=t[j](),i.add(e.schedule(function(){if(n.closed)return;let t,e;try{const n=r.next();t=n.value,e=n.done}catch(i){return void n.error(i)}e?n.complete():(n.next(t),this.schedule())}))})),i})}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}(t,e):t instanceof E?t:new E(V(t))}class H extends v{constructor(t){super(),this.parent=t}_next(t){this.parent.notifyNext(t)}_error(t){this.parent.notifyError(t),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class $ extends v{notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.destination.complete()}}function G(t,e){if(e.closed)return;if(t instanceof E)return t.subscribe(e);let n;try{n=V(t)(e)}catch(i){e.error(i)}return n}function W(t,e,n=Number.POSITIVE_INFINITY){return"function"==typeof e?i=>i.pipe(W((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))),n)):("number"==typeof e&&(n=e),e=>e.lift(new q(t,n)))}class q{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new Y(t,this.project,this.concurrent))}}class Y extends ${constructor(t,e,n=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function X(t=Number.POSITIVE_INFINITY){return W(x,t)}function K(t,e){return e?z(t,e):new E(L(t))}function Q(...t){let e=Number.POSITIVE_INFINITY,n=null,i=t[t.length-1];return I(i)?(n=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(e=t.pop())):"number"==typeof i&&(e=t.pop()),null===n&&1===t.length&&t[0]instanceof E?t[0]:X(e)(K(t,n))}function Z(){return function(t){return t.lift(new J(t))}}class J{constructor(t){this.connectable=t}call(t,e){const{connectable:n}=this;n._refCount++;const i=new tt(t,n),r=e.subscribe(i);return i.closed||(i.connection=n.connect()),r}}class tt extends v{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:n}=this,i=t._connection;this.connection=null,i&&(!n||i===n)&&i.unsubscribe()}}class et extends E{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new g,t.add(this.source.subscribe(new it(this.getSubject(),this))),t.closed&&(this._connection=null,t=g.EMPTY)),t}refCount(){return Z()(this)}}const nt=(()=>{const t=et.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}})();class it extends P{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}function rt(t,e){return function(n){let i;if(i="function"==typeof t?t:function(){return t},"function"==typeof e)return n.lift(new st(i,e));const r=Object.create(n,nt);return r.source=n,r.subjectFactory=i,r}}class st{constructor(t,e){this.subjectFactory=t,this.selector=e}call(t,e){const{selector:n}=this,i=this.subjectFactory(),r=n(i).subscribe(t);return r.add(e.subscribe(i)),r}}function ot(){return new A}function at(){return t=>Z()(rt(ot)(t))}function lt(t){for(let e in t)if(t[e]===lt)return e;throw Error("Could not find renamed property on target object.")}function ct(t,e){for(const n in e)e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n])}function ut(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(ut).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function ht(t,e){return null==t||""===t?null===e?"":e:null==e||""===e?t:t+" "+e}const dt=lt({__forward_ref__:lt});function pt(t){return t.__forward_ref__=pt,t.toString=function(){return ut(this())},t}function ft(t){return gt(t)?t():t}function gt(t){return"function"==typeof t&&t.hasOwnProperty(dt)&&t.__forward_ref__===pt}class mt extends Error{constructor(t,e){super(function(t,e){return`${t?`NG0${t}: `:""}${e}`}(t,e)),this.code=t}}function bt(t){return"string"==typeof t?t:null==t?"":String(t)}function vt(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():bt(t)}function _t(t,e){const n=e?` in ${e}`:"";throw new mt("201",`No provider for ${vt(t)} found${n}`)}function wt(t,e){null==t&&function(t,e,n,i){throw new Error(`ASSERTION ERROR: ${t}`+(null==i?"":` [Expected=> ${n} ${i} ${e} <=Actual]`))}(e,t,null,"!=")}function xt(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function St(t){return{providers:t.providers||[],imports:t.imports||[]}}function Ct(t){return Et(t,Tt)||Et(t,Pt)}function Et(t,e){return t.hasOwnProperty(e)?t[e]:null}function Ot(t){return t&&(t.hasOwnProperty(kt)||t.hasOwnProperty(At))?t[kt]:null}const Tt=lt({"\u0275prov":lt}),kt=lt({"\u0275inj":lt}),Pt=lt({ngInjectableDef:lt}),At=lt({ngInjectorDef:lt});var Mt=(()=>((Mt=Mt||{})[Mt.Default=0]="Default",Mt[Mt.Host=1]="Host",Mt[Mt.Self=2]="Self",Mt[Mt.SkipSelf=4]="SkipSelf",Mt[Mt.Optional=8]="Optional",Mt))();let It;function Dt(t){const e=It;return It=t,e}function Rt(t,e,n){const i=Ct(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&Mt.Optional?null:void 0!==e?e:void _t(ut(t),"Injector")}function Nt(t){return{toString:t}.toString()}var Lt=(()=>((Lt=Lt||{})[Lt.OnPush=0]="OnPush",Lt[Lt.Default=1]="Default",Lt))(),jt=(()=>((jt=jt||{})[jt.Emulated=0]="Emulated",jt[jt.None=2]="None",jt[jt.ShadowDom=3]="ShadowDom",jt))();const Ft="undefined"!=typeof globalThis&&globalThis,Bt="undefined"!=typeof window&&window,Vt="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,zt="undefined"!=typeof global&&global,Ut=Ft||zt||Bt||Vt,Ht={},$t=[],Gt=lt({"\u0275cmp":lt}),Wt=lt({"\u0275dir":lt}),qt=lt({"\u0275pipe":lt}),Yt=lt({"\u0275mod":lt}),Xt=lt({"\u0275loc":lt}),Kt=lt({"\u0275fac":lt}),Qt=lt({__NG_ELEMENT_ID__:lt});let Zt=0;function Jt(t){return Nt(()=>{const e={},n={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===Lt.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||$t,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||jt.Emulated,id:"c",styles:t.styles||$t,_:null,setInput:null,schemas:t.schemas||null,tView:null},i=t.directives,r=t.features,s=t.pipes;return n.id+=Zt++,n.inputs=re(t.inputs,e),n.outputs=re(t.outputs),r&&r.forEach(t=>t(n)),n.directiveDefs=i?()=>("function"==typeof i?i():i).map(te):null,n.pipeDefs=s?()=>("function"==typeof s?s():s).map(ee):null,n})}function te(t){return ae(t)||function(t){return t[Wt]||null}(t)}function ee(t){return function(t){return t[qt]||null}(t)}const ne={};function ie(t){return Nt(()=>{const e={type:t.type,bootstrap:t.bootstrap||$t,declarations:t.declarations||$t,imports:t.imports||$t,exports:t.exports||$t,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&(ne[t.id]=t.type),e})}function re(t,e){if(null==t)return Ht;const n={};for(const i in t)if(t.hasOwnProperty(i)){let r=t[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),n[r]=i,e&&(e[r]=s)}return n}const se=Jt;function oe(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,onDestroy:t.type.prototype.ngOnDestroy||null}}function ae(t){return t[Gt]||null}function le(t,e){const n=t[Yt]||null;if(!n&&!0===e)throw new Error(`Type ${ut(t)} does not have '\u0275mod' property.`);return n}function ce(t){return Array.isArray(t)&&"object"==typeof t[1]}function ue(t){return Array.isArray(t)&&!0===t[1]}function he(t){return 0!=(8&t.flags)}function de(t){return 2==(2&t.flags)}function pe(t){return 1==(1&t.flags)}function fe(t){return null!==t.template}function ge(t){return 0!=(512&t[2])}function me(t,e){return t.hasOwnProperty(Kt)?t[Kt]:null}class be{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}isFirstChange(){return this.firstChange}}function ye(){return ve}function ve(t){return t.type.prototype.ngOnChanges&&(t.setInput=we),_e}function _e(){const t=Se(this),e=null==t?void 0:t.current;if(e){const n=t.previous;if(n===Ht)t.previous=e;else for(let t in e)n[t]=e[t];t.current=null,this.ngOnChanges(e)}}function we(t,e,n,i){const r=Se(t)||function(t,e){return t[xe]=e}(t,{previous:Ht,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[n],l=o[a];s[a]=new be(l&&l.currentValue,e,o===Ht),t[i]=e}ye.ngInherit=!0;const xe="__ngSimpleChanges__";function Se(t){return t[xe]||null}const Ce="http://www.w3.org/2000/svg";let Ee;function Oe(){return void 0!==Ee?Ee:"undefined"!=typeof document?document:void 0}function Te(t){return!!t.listen}const ke={createRenderer:(t,e)=>Oe()};function Pe(t){for(;Array.isArray(t);)t=t[0];return t}function Ae(t,e){return Pe(e[t])}function Me(t,e){return Pe(e[t.index])}function Ie(t,e){return t.data[e]}function De(t,e){return t[e]}function Re(t,e){const n=e[t];return ce(n)?n:n[0]}function Ne(t){return 4==(4&t[2])}function Le(t){return 128==(128&t[2])}function je(t,e){return null==e?null:t[e]}function Fe(t){t[18]=0}function Be(t,e){t[5]+=e;let n=t,i=t[3];for(;null!==i&&(1===e&&1===n[5]||-1===e&&0===n[5]);)i[5]+=e,n=i,i=i[3]}const Ve={lFrame:dn(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function ze(){return Ve.bindingsEnabled}function Ue(){return Ve.lFrame.lView}function He(){return Ve.lFrame.tView}function $e(t){return Ve.lFrame.contextLView=t,t[8]}function Ge(){let t=We();for(;null!==t&&64===t.type;)t=t.parent;return t}function We(){return Ve.lFrame.currentTNode}function qe(t,e){const n=Ve.lFrame;n.currentTNode=t,n.isParent=e}function Ye(){return Ve.lFrame.isParent}function Xe(){Ve.lFrame.isParent=!1}function Ke(){return Ve.isInCheckNoChangesMode}function Qe(t){Ve.isInCheckNoChangesMode=t}function Ze(){const t=Ve.lFrame;let e=t.bindingRootIndex;return-1===e&&(e=t.bindingRootIndex=t.tView.bindingStartIndex),e}function Je(){return Ve.lFrame.bindingIndex}function tn(){return Ve.lFrame.bindingIndex++}function en(t){const e=Ve.lFrame,n=e.bindingIndex;return e.bindingIndex=e.bindingIndex+t,n}function nn(t,e){const n=Ve.lFrame;n.bindingIndex=n.bindingRootIndex=t,rn(e)}function rn(t){Ve.lFrame.currentDirectiveIndex=t}function sn(t){const e=Ve.lFrame.currentDirectiveIndex;return-1===e?null:t[e]}function on(){return Ve.lFrame.currentQueryIndex}function an(t){Ve.lFrame.currentQueryIndex=t}function ln(t){const e=t[1];return 2===e.type?e.declTNode:1===e.type?t[6]:null}function cn(t,e,n){if(n&Mt.SkipSelf){let i=e,r=t;for(;!(i=i.parent,null!==i||n&Mt.Host||(i=ln(r),null===i||(r=r[15],10&i.type))););if(null===i)return!1;e=i,t=r}const i=Ve.lFrame=hn();return i.currentTNode=e,i.lView=t,!0}function un(t){const e=hn(),n=t[1];Ve.lFrame=e,e.currentTNode=n.firstChild,e.lView=t,e.tView=n,e.contextLView=t,e.bindingIndex=n.bindingStartIndex,e.inI18n=!1}function hn(){const t=Ve.lFrame,e=null===t?null:t.child;return null===e?dn(t):e}function dn(t){const 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:t,child:null,inI18n:!1};return null!==t&&(t.child=e),e}function pn(){const t=Ve.lFrame;return Ve.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const fn=pn;function gn(){const t=pn();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function mn(){return Ve.lFrame.selectedIndex}function bn(t){Ve.lFrame.selectedIndex=t}function yn(){const t=Ve.lFrame;return Ie(t.tView,t.selectedIndex)}function vn(){Ve.lFrame.currentNamespace=Ce}function _n(t,e){for(let n=e.directiveStart,i=e.directiveEnd;n=i)break}else e[a]<0&&(t[18]+=65536),(o>11>16&&(3&t[2])===e){t[2]+=2048;try{s.call(o)}finally{}}}else try{s.call(o)}finally{}}class On{constructor(t,e,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=n}}function Tn(t,e,n){const i=Te(t);let r=0;for(;re){o=s-1;break}}}for(;s>16}(t),i=e;for(;n>0;)i=i[15],n--;return i}let Nn=!0;function Ln(t){const e=Nn;return Nn=t,e}let jn=0;function Fn(t,e){const n=Vn(t,e);if(-1!==n)return n;const i=e[1];i.firstCreatePass&&(t.injectorIndex=e.length,Bn(i.data,t),Bn(e,null),Bn(i.blueprint,null));const r=Un(t,e),s=t.injectorIndex;if(In(r)){const t=Dn(r),n=Rn(r,e),i=n[1].data;for(let r=0;r<8;r++)e[s+r]=n[t+r]|i[t+r]}return e[s+8]=r,s}function Bn(t,e){t.push(0,0,0,0,0,0,0,0,e)}function Vn(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===e[t.injectorIndex+8]?-1:t.injectorIndex}function Un(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let n=0,i=null,r=e;for(;null!==r;){const t=r[1],e=t.type;if(i=2===e?t.declTNode:1===e?r[6]:null,null===i)return-1;if(n++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return-1}function Hn(t,e,n){!function(t,e,n){let i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(Qt)&&(i=n[Qt]),null==i&&(i=n[Qt]=jn++);const r=255&i;e.data[t+(r>>5)]|=1<=0?255&e:Yn:e}(n);if("function"==typeof s){if(!cn(e,t,i))return i&Mt.Host?$n(r,n,i):Gn(e,n,i,r);try{const t=s(i);if(null!=t||i&Mt.Optional)return t;_t(n)}finally{fn()}}else if("number"==typeof s){let r=null,o=Vn(t,e),a=-1,l=i&Mt.Host?e[16][6]:null;for((-1===o||i&Mt.SkipSelf)&&(a=-1===o?Un(t,e):e[o+8],-1!==a&&Jn(i,!1)?(r=e[1],o=Dn(a),e=Rn(a,e)):o=-1);-1!==o;){const t=e[1];if(Zn(s,o,t.data)){const t=Xn(o,e,n,r,i,l);if(t!==qn)return t}a=e[o+8],-1!==a&&Jn(i,e[1].data[o+8]===l)&&Zn(s,o,e)?(r=t,o=Dn(a),e=Rn(a,e)):o=-1}}}return Gn(e,n,i,r)}const qn={};function Yn(){return new ti(Ge(),Ue())}function Xn(t,e,n,i,r,s){const o=e[1],a=o.data[t+8],l=Kn(a,o,n,null==i?de(a)&&Nn:i!=o&&0!=(3&a.type),r&Mt.Host&&s===a);return null!==l?Qn(e,o,l,a):qn}function Kn(t,e,n,i,r){const s=t.providerIndexes,o=e.data,a=1048575&s,l=t.directiveStart,c=s>>20,u=r?a+c:t.directiveEnd;for(let h=i?a:a+c;h=l&&t.type===n)return h}if(r){const t=o[l];if(t&&fe(t)&&t.type===n)return l}return null}function Qn(t,e,n,i){let r=t[n];const s=e.data;if(function(t){return t instanceof On}(r)){const o=r;o.resolving&&function(t,e){throw new mt("200",`Circular dependency in DI detected for ${t}`)}(vt(s[n]));const a=Ln(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?Dt(o.injectImpl):null;cn(t,i,Mt.Default);try{r=t[n]=o.factory(void 0,s,t,i),e.firstCreatePass&&n>=i.directiveStart&&function(t,e,n){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const i=ve(e);(n.preOrderHooks||(n.preOrderHooks=[])).push(t,i),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,i)}r&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-t,r),s&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,s),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,s))}(n,s[n],e)}finally{null!==l&&Dt(l),Ln(a),o.resolving=!1,fn()}}return r}function Zn(t,e,n){return!!(n[e+(t>>5)]&1<{const e=t.prototype.constructor,n=e[Kt]||ni(e),i=Object.prototype;let r=Object.getPrototypeOf(t.prototype).constructor;for(;r&&r!==i;){const t=r[Kt]||ni(r);if(t&&t!==n)return t;r=Object.getPrototypeOf(r)}return t=>new t})}function ni(t){return gt(t)?()=>{const e=ni(ft(t));return e&&e()}:me(t)}function ii(t){return function(t,e){if("class"===e)return t.classes;if("style"===e)return t.styles;const n=t.attrs;if(n){const t=n.length;let i=0;for(;i{const i=function(t){return function(...e){if(t){const n=t(...e);for(const t in n)this[t]=n[t]}}}(e);function r(...t){if(this instanceof r)return i.apply(this,t),this;const e=new r(...t);return n.annotation=e,n;function n(t,n,i){const r=t.hasOwnProperty(ri)?t[ri]:Object.defineProperty(t,ri,{value:[]})[ri];for(;r.length<=i;)r.push(null);return(r[i]=r[i]||[]).push(e),t}}return n&&(r.prototype=Object.create(n.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r})}class oi{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=xt({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const ai=Function;function li(t,e){void 0===e&&(e=t);for(let n=0;nArray.isArray(t)?ci(t,e):e(t))}function ui(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function hi(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function di(t,e){const n=[];for(let i=0;i=0?t[1|i]=n:(i=~i,function(t,e,n,i){let r=t.length;if(r==e)t.push(n,i);else if(1===r)t.push(i,t[0]),t[0]=n;else{for(r--,t.push(t[r-1],t[r]);r>e;)t[r]=t[r-2],r--;t[e]=n,t[e+1]=i}}(t,i,e,n)),i}function fi(t,e){const n=gi(t,e);if(n>=0)return t[1|n]}function gi(t,e){return function(t,e,n){let i=0,r=t.length>>n;for(;r!==i;){const s=i+(r-i>>1),o=t[s<e?r=s:i=s+1}return~(r< ");else if("object"==typeof e){let t=[];for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t.push(n+":"+("string"==typeof i?JSON.stringify(i):ut(i)))}r=`{${t.join(", ")}}`}return`${n}${i?"("+i+")":""}[${r}]: ${t.replace(vi,"\n ")}`}("\n"+t.message,r,n,i),t.ngTokenPath=r,t[yi]=null,t}const Mi=ki(si("Inject",t=>({token:t})),-1),Ii=ki(si("Optional"),8),Di=ki(si("SkipSelf"),4);let Ri,Ni;function Li(t){var e;return(null===(e=function(){if(void 0===Ri&&(Ri=null,Ut.trustedTypes))try{Ri=Ut.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(t){}return Ri}())||void 0===e?void 0:e.createHTML(t))||t}function ji(){if(void 0===Ni&&(Ni=null,Ut.trustedTypes))try{Ni=Ut.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(m){}return Ni}function Fi(t){var e;return(null===(e=ji())||void 0===e?void 0:e.createHTML(t))||t}function Bi(t){var e;return(null===(e=ji())||void 0===e?void 0:e.createScriptURL(t))||t}class Vi{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class zi extends Vi{getTypeName(){return"HTML"}}class Ui extends Vi{getTypeName(){return"Style"}}class Hi extends Vi{getTypeName(){return"Script"}}class $i extends Vi{getTypeName(){return"URL"}}class Gi extends Vi{getTypeName(){return"ResourceURL"}}function Wi(t){return t instanceof Vi?t.changingThisBreaksApplicationSecurity:t}function qi(t,e){const n=Yi(t);if(null!=n&&n!==e){if("ResourceURL"===n&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${n} (see https://g.co/ng/security#xss)`)}return n===e}function Yi(t){return t instanceof Vi&&t.getTypeName()||null}class Xi{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const e=(new window.DOMParser).parseFromString(Li(t),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(t):(e.removeChild(e.firstChild),e)}catch(e){return null}}}class Ki{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const e=this.inertDocument.createElement("body");t.appendChild(e)}}getInertBodyElement(t){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Li(t),e;const n=this.inertDocument.createElement("body");return n.innerHTML=Li(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(n),n}stripCustomNsAttrs(t){const e=t.attributes;for(let i=e.length-1;0Ji(t.trim())).join(", ")}function er(t){const e={};for(const n of t.split(","))e[n]=!0;return e}function nr(...t){const e={};for(const n of t)for(const t in n)n.hasOwnProperty(t)&&(e[t]=!0);return e}const ir=er("area,br,col,hr,img,wbr"),rr=er("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),sr=er("rp,rt"),or=nr(ir,nr(rr,er("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")),nr(sr,er("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")),nr(sr,rr)),ar=er("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),lr=er("srcset"),cr=nr(ar,lr,er("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),er("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")),ur=er("script,style,template");class hr{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let e=t.firstChild,n=!0;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?n=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,n&&e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let t=this.checkClobberedElement(e,e.nextSibling);if(t){e=t;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(t){const e=t.nodeName.toLowerCase();if(!or.hasOwnProperty(e))return this.sanitizedSomething=!0,!ur.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const n=t.attributes;for(let i=0;i"),!0}endElement(t){const e=t.nodeName.toLowerCase();or.hasOwnProperty(e)&&!ir.hasOwnProperty(e)&&(this.buf.push(""))}chars(t){this.buf.push(fr(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const dr=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,pr=/([^\#-~ |!])/g;function fr(t){return t.replace(/&/g,"&").replace(dr,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(pr,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let gr;function mr(t,e){let n=null;try{gr=gr||function(t){const e=new Ki(t);return function(){try{return!!(new window.DOMParser).parseFromString(Li(""),"text/html")}catch(t){return!1}}()?new Xi(e):e}(t);let i=e?String(e):"";n=gr.getInertBodyElement(i);let r=5,s=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=s,s=n.innerHTML,n=gr.getInertBodyElement(i)}while(i!==s);return Li((new hr).sanitizeChildren(br(n)||n))}finally{if(n){const t=br(n)||n;for(;t.firstChild;)t.removeChild(t.firstChild)}}}function br(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var yr=(()=>((yr=yr||{})[yr.NONE=0]="NONE",yr[yr.HTML=1]="HTML",yr[yr.STYLE=2]="STYLE",yr[yr.SCRIPT=3]="SCRIPT",yr[yr.URL=4]="URL",yr[yr.RESOURCE_URL=5]="RESOURCE_URL",yr))();function vr(t){const e=xr();return e?Fi(e.sanitize(yr.HTML,t)||""):qi(t,"HTML")?Fi(Wi(t)):mr(Oe(),bt(t))}function _r(t){const e=xr();return e?e.sanitize(yr.URL,t)||"":qi(t,"URL")?Wi(t):Ji(bt(t))}function wr(t){const e=xr();if(e)return Bi(e.sanitize(yr.RESOURCE_URL,t)||"");if(qi(t,"ResourceURL"))return Bi(Wi(t));throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)")}function xr(){const t=Ue();return t&&t[12]}const Sr="__ngContext__";function Cr(t,e){t[Sr]=e}function Er(t){const e=function(t){return t[Sr]||null}(t);return e?Array.isArray(e)?e:e.lView:null}function Or(t){return t.ngOriginalError}function Tr(t,...e){t.error(...e)}class kr{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),n=this._findContext(t),i=function(t){return t&&t.ngErrorLogger||Tr}(t);i(this._console,"ERROR",t),e&&i(this._console,"ORIGINAL ERROR",e),n&&i(this._console,"ERROR CONTEXT",n)}_findContext(t){return t?function(t){return t.ngDebugContext}(t)||this._findContext(Or(t)):null}_findOriginalError(t){let e=t&&Or(t);for(;e&&Or(e);)e=Or(e);return e||null}}const Pr=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Ut))();function Ar(t){return t.ownerDocument.defaultView}function Mr(t){return t.ownerDocument}function Ir(t){return t instanceof Function?t():t}var Dr=(()=>((Dr=Dr||{})[Dr.Important=1]="Important",Dr[Dr.DashCase=2]="DashCase",Dr))();function Rr(t,e){return undefined(t,e)}function Nr(t){const e=t[3];return ue(e)?e[3]:e}function Lr(t){return Fr(t[13])}function jr(t){return Fr(t[4])}function Fr(t){for(;null!==t&&!ue(t);)t=t[4];return t}function Br(t,e,n,i,r){if(null!=i){let s,o=!1;ue(i)?s=i:ce(i)&&(o=!0,i=i[0]);const a=Pe(i);0===t&&null!==n?null==r?qr(e,n,a):Wr(e,n,a,r||null,!0):1===t&&null!==n?Wr(e,n,a,r||null,!0):2===t?function(t,e,n){const i=Kr(t,e);i&&function(t,e,n,i){Te(t)?t.removeChild(e,n,i):e.removeChild(n)}(t,i,e,n)}(e,a,o):3===t&&e.destroyNode(a),null!=s&&function(t,e,n,i,r){const s=n[7];s!==Pe(n)&&Br(e,t,i,s,r);for(let o=10;o0&&(t[n-1][4]=i[4]);const s=hi(t,10+e);!function(t,e){rs(t,e,e[11],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function Hr(t,e){if(!(256&e[2])){const n=e[11];Te(n)&&n.destroyNode&&rs(t,e,n,3,null,null),function(t){let e=t[13];if(!e)return $r(t[1],t);for(;e;){let n=null;if(ce(e))n=e[13];else{const t=e[10];t&&(n=t)}if(!n){for(;e&&!e[4]&&e!==t;)ce(e)&&$r(e[1],e),e=e[3];null===e&&(e=t),ce(e)&&$r(e[1],e),n=e&&e[4]}e=n}}(e)}}function $r(t,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(t,e){let n;if(null!=t&&null!=(n=t.destroyHooks))for(let i=0;i=0?i[r=l]():i[r=-l].unsubscribe(),s+=2}else{const t=i[r=n[s+1]];n[s].call(t)}if(null!==i){for(let t=r+1;ts?"":r[u+1].toLowerCase();const e=8&i?t:null;if(e&&-1!==ls(e,c,0)||2&i&&c!==t){if(fs(i))return!1;o=!0}}}}else{if(!o&&!fs(i)&&!fs(l))return!1;if(o&&fs(l))continue;o=!1,i=l|1&i}}return fs(i)||o}function fs(t){return 0==(1&t)}function gs(t,e,n,i){if(null===e)return-1;let r=0;if(i||!n){let n=!1;for(;r-1)for(n++;n0?'="'+e+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!fs(o)&&(e+=ys(s,r),r=""),i=o,s=s||!fs(i);n++}return""!==r&&(e+=ys(s,r)),e}const _s={};function ws(t){xs(He(),Ue(),mn()+t,Ke())}function xs(t,e,n,i){if(!i)if(3==(3&e[2])){const i=t.preOrderCheckHooks;null!==i&&wn(e,i,n)}else{const i=t.preOrderHooks;null!==i&&xn(e,i,0,n)}bn(n)}function Ss(t,e){return t<<17|e<<2}function Cs(t){return t>>17&32767}function Es(t){return 2|t}function Os(t){return(131068&t)>>2}function Ts(t,e){return-131069&t|e<<2}function ks(t){return 1|t}function Ps(t,e){const n=t.contentQueries;if(null!==n)for(let i=0;i20&&xs(t,e,20,Ke()),n(i,r)}finally{bn(s)}}function js(t,e,n){if(he(e)){const i=e.directiveEnd;for(let r=e.directiveStart;r0;){const n=t[--e];if("number"==typeof n&&n<0)return n}return 0})(n)!=s&&n.push(s),n.push(i,r,o)}}function qs(t,e){null!==t.hostBindings&&t.hostBindings(1,e)}function Ys(t,e){e.flags|=2,(t.components||(t.components=[])).push(e.index)}function Xs(t,e,n){if(n){if(e.exportAs)for(let i=0;i0&&ro(n)}}function ro(t){for(let n=Lr(t);null!==n;n=jr(n))for(let t=10;t0&&ro(e)}const e=t[1].components;if(null!==e)for(let n=0;n0&&ro(i)}}function so(t,e){const n=Re(e,t),i=n[1];(function(t,e){for(let n=e.length;nPromise.resolve(null))();function po(t){return t[7]||(t[7]=[])}function fo(t){return t.cleanup||(t.cleanup=[])}function go(t,e,n){return(null===t||fe(t))&&(n=function(t){for(;Array.isArray(t);){if("object"==typeof t[1])return t;t=t[0]}return null}(n[e.index])),n[11]}function mo(t,e){const n=t[9],i=n?n.get(kr,null):null;i&&i.handleError(e)}function bo(t,e,n,i,r){for(let s=0;sthis.processProvider(n,t,e)),ci([t],t=>this.processInjectorType(t,[],r)),this.records.set(_o,Mo(void 0,this));const s=this.records.get(xo);this.scope=null!=s?s.value:null,this.source=i||("object"==typeof t?null:ut(t))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(t=>t.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(t,e=mi,n=Mt.Default){this.assertNotDestroyed();const i=Si(this),r=Dt(void 0);try{if(!(n&Mt.SkipSelf)){let e=this.records.get(t);if(void 0===e){const n=function(t){return"function"==typeof t||"object"==typeof t&&t instanceof oi}(t)&&Ct(t);e=n&&this.injectableDefInScope(n)?Mo(Po(t),So):null,this.records.set(t,e)}if(null!=e)return this.hydrate(t,e)}return(n&Mt.Self?Oo():this.parent).get(t,e=n&Mt.Optional&&e===mi?null:e)}catch(s){if("NullInjectorError"===s.name){if((s[yi]=s[yi]||[]).unshift(ut(t)),i)throw s;return Ai(s,t,"R3InjectorError",this.source)}throw s}finally{Dt(r),Si(i)}}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(t=>this.get(t))}toString(){const t=[];return this.records.forEach((e,n)=>t.push(ut(n))),`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(t,e,n){if(!(t=ft(t)))return!1;let i=Ot(t);const r=null==i&&t.ngModule||void 0,s=void 0===r?t:r,o=-1!==n.indexOf(s);if(void 0!==r&&(i=Ot(r)),null==i)return!1;if(null!=i.imports&&!o){let t;n.push(s);try{ci(i.imports,i=>{this.processInjectorType(i,e,n)&&(void 0===t&&(t=[]),t.push(i))})}finally{}if(void 0!==t)for(let e=0;ethis.processProvider(t,n,i||$t))}}this.injectorDefTypes.add(s);const a=me(s)||(()=>new s);this.records.set(s,Mo(a,So));const l=i.providers;if(null!=l&&!o){const e=t;ci(l,t=>this.processProvider(t,e,l))}return void 0!==r&&void 0!==t.providers}processProvider(t,e,n){let i=Do(t=ft(t))?t:ft(t&&t.provide);const r=function(t,e,n){return Io(t)?Mo(void 0,t.useValue):Mo(Ao(t),So)}(t);if(Do(t)||!0!==t.multi)this.records.get(i);else{let e=this.records.get(i);e||(e=Mo(void 0,So,!0),e.factory=()=>Ti(e.multi),this.records.set(i,e)),i=t,e.multi.push(t)}this.records.set(i,r)}hydrate(t,e){return e.value===So&&(e.value=Co,e.value=e.factory()),"object"==typeof e.value&&e.value&&function(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this.onDestroy.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=ft(t.providedIn);return"string"==typeof e?"any"===e||e===this.scope:this.injectorDefTypes.has(e)}}function Po(t){const e=Ct(t),n=null!==e?e.factory:me(t);if(null!==n)return n;if(t instanceof oi)throw new Error(`Token ${ut(t)} is missing a \u0275prov definition.`);if(t instanceof Function)return function(t){const e=t.length;if(e>0){const n=di(e,"?");throw new Error(`Can't resolve all parameters for ${ut(t)}: (${n.join(", ")}).`)}const n=function(t){const e=t&&(t[Tt]||t[Pt]);if(e){const n=function(t){if(t.hasOwnProperty("name"))return t.name;const e=(""+t).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(t);return console.warn(`DEPRECATED: DI is instantiating a token "${n}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${n}" class.`),e}return null}(t);return null!==n?()=>n.factory(t):()=>new t}(t);throw new Error("unreachable")}function Ao(t,e,n){let i;if(Do(t)){const e=ft(t);return me(e)||Po(e)}if(Io(t))i=()=>ft(t.useValue);else if(function(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...Ti(t.deps||[]));else if(function(t){return!(!t||!t.useExisting)}(t))i=()=>Ei(ft(t.useExisting));else{const e=ft(t&&(t.useClass||t.provide));if(!function(t){return!!t.deps}(t))return me(e)||Po(e);i=()=>new e(...Ti(t.deps))}return i}function Mo(t,e,n=!1){return{factory:t,value:e,multi:n?[]:void 0}}function Io(t){return null!==t&&"object"==typeof t&&wi in t}function Do(t){return"function"==typeof t}const Ro=function(t,e,n){return function(t,e=null,n=null,i){const r=To(t,e,n,i);return r._resolveInjectorDefTypes(),r}({name:n},e,t,n)};class No{static create(t,e){return Array.isArray(t)?Ro(t,e,""):Ro(t.providers,t.parent,t.name||"")}}function Lo(t,e){_n(Er(t)[1],Ge())}function jo(t){let e=function(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),n=!0;const i=[t];for(;e;){let r;if(fe(t))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(n){i.push(r);const e=t;e.inputs=Fo(t.inputs),e.declaredInputs=Fo(t.declaredInputs),e.outputs=Fo(t.outputs);const n=r.hostBindings;n&&zo(t,n);const s=r.viewQuery,o=r.contentQueries;if(s&&Bo(t,s),o&&Vo(t,o),ct(t.inputs,r.inputs),ct(t.declaredInputs,r.declaredInputs),ct(t.outputs,r.outputs),fe(r)&&r.data.animation){const e=t.data;e.animation=(e.animation||[]).concat(r.data.animation)}}const e=r.features;if(e)for(let i=0;i=0;i--){const r=t[i];r.hostVars=e+=r.hostVars,r.hostAttrs=An(r.hostAttrs,n=An(n,r.hostAttrs))}}(i)}function Fo(t){return t===Ht?{}:t===$t?[]:t}function Bo(t,e){const n=t.viewQuery;t.viewQuery=n?(t,i)=>{e(t,i),n(t,i)}:e}function Vo(t,e){const n=t.contentQueries;t.contentQueries=n?(t,i,r)=>{e(t,i,r),n(t,i,r)}:e}function zo(t,e){const n=t.hostBindings;t.hostBindings=n?(t,i)=>{e(t,i),n(t,i)}:e}No.THROW_IF_NOT_FOUND=mi,No.NULL=new wo,No.\u0275prov=xt({token:No,providedIn:"any",factory:()=>Ei(_o)}),No.__NG_ELEMENT_ID__=-1;let Uo=null;function Ho(){if(!Uo){const t=Ut.Symbol;if(t&&t.iterator)Uo=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;ea(Pe(t[i.index])):i.index;if(Te(n)){let o=null;if(!a&&l&&(o=function(t,e,n,i){const r=t.cleanup;if(null!=r)for(let s=0;sn?t[n]:null}"string"==typeof t&&(s+=2)}return null}(t,e,r,i.index)),null!==o)(o.__ngLastListenerFn__||o).__ngNextListenerFn__=s,o.__ngLastListenerFn__=s,d=!1;else{s=ya(i,e,u,s,!1);const t=n.listen(f,r,s);h.push(s,t),c&&c.push(r,m,g,g+1)}}else s=ya(i,e,u,s,!0),f.addEventListener(r,s,o),h.push(s),c&&c.push(r,m,g,o)}else s=ya(i,e,u,s,!1);const p=i.outputs;let f;if(d&&null!==p&&(f=p[r])){const t=f.length;if(t)for(let n=0;n0;)e=e[15],t--;return e}(t,Ve.lFrame.contextLView))[8]}(t)}function _a(t,e){let n=null;const i=function(t){const e=t.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(t);for(let r=0;r=0}const Ta={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function ka(t){return t.substring(Ta.key,Ta.keyEnd)}function Pa(t){return t.substring(Ta.value,Ta.valueEnd)}function Aa(t,e){const n=Ta.textEnd;return n===e?-1:(e=Ta.keyEnd=function(t,e,n){for(;e32;)e++;return e}(t,Ta.key=e,n),Da(t,e,n))}function Ma(t,e){const n=Ta.textEnd;let i=Ta.key=Da(t,e,n);return n===i?-1:(i=Ta.keyEnd=function(t,e,n){let i;for(;e=65&&(-33&i)<=90||i>=48&&i<=57);)e++;return e}(t,i,n),i=Ra(t,i,n),i=Ta.value=Da(t,i,n),i=Ta.valueEnd=function(t,e,n){let i=-1,r=-1,s=-1,o=e,a=o;for(;o32&&(a=o),s=r,r=i,i=-33&l}return a}(t,i,n),Ra(t,i,n))}function Ia(t){Ta.key=0,Ta.keyEnd=0,Ta.value=0,Ta.valueEnd=0,Ta.textEnd=t.length}function Da(t,e,n){for(;e=0;n=Ma(e,n))Ya(t,ka(e),Pa(e))}function Va(t){Ha(pi,za,t,!0)}function za(t,e){for(let n=function(t){return Ia(t),Aa(t,Da(t,0,Ta.textEnd))}(e);n>=0;n=Aa(e,n))pi(t,ka(e),!0)}function Ua(t,e,n,i){const r=Ue(),s=He(),o=en(2);s.firstUpdatePass&&Ga(s,t,o,i),e!==_s&&Yo(r,o,e)&&Xa(s,s.data[mn()],r,r[11],t,r[o+1]=function(t,e){return null==t||("string"==typeof e?t+=e:"object"==typeof t&&(t=ut(Wi(t)))),t}(e,n),i,o)}function Ha(t,e,n,i){const r=He(),s=en(2);r.firstUpdatePass&&Ga(r,null,s,i);const o=Ue();if(n!==_s&&Yo(o,s,n)){const a=r.data[mn()];if(Za(a,i)&&!$a(r,s)){let t=i?a.classesWithoutHost:a.stylesWithoutHost;null!==t&&(n=ht(t,n||"")),ia(r,a,o,n,i)}else!function(t,e,n,i,r,s,o,a){r===_s&&(r=$t);let l=0,c=0,u=0=t.expandoStartIndex}function Ga(t,e,n,i){const r=t.data;if(null===r[n+1]){const s=r[mn()],o=$a(t,n);Za(s,i)&&null===e&&!o&&(e=!1),e=function(t,e,n,i){const r=sn(t);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(n=qa(n=Wa(null,t,e,n,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||t[o]!==r)if(n=Wa(r,t,e,n,i),null===s){let n=function(t,e,n){const i=n?e.classBindings:e.styleBindings;if(0!==Os(i))return t[Cs(i)]}(t,e,i);void 0!==n&&Array.isArray(n)&&(n=Wa(null,t,e,n[1],i),n=qa(n,e.attrs,i),function(t,e,n,i){t[Cs(n?e.classBindings:e.styleBindings)]=i}(t,e,i,n))}else s=function(t,e,n){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(u=!0)}else c=n;if(r)if(0!==l){const e=Cs(t[a+1]);t[i+1]=Ss(e,a),0!==e&&(t[e+1]=Ts(t[e+1],i)),t[a+1]=function(t,e){return 131071&t|e<<17}(t[a+1],i)}else t[i+1]=Ss(a,0),0!==a&&(t[a+1]=Ts(t[a+1],i)),a=i;else t[i+1]=Ss(l,0),0===a?a=i:t[l+1]=Ts(t[l+1],i),l=i;u&&(t[i+1]=Es(t[i+1])),Ea(t,c,i,!0),Ea(t,c,i,!1),function(t,e,n,i,r){const s=r?t.residualClasses:t.residualStyles;null!=s&&"string"==typeof e&&gi(s,e)>=0&&(n[i+1]=ks(n[i+1]))}(e,c,t,i,s),o=Ss(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,n,o,i)}}function Wa(t,e,n,i,r){let s=null;const o=n.directiveEnd;let a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){const e=t[r],s=Array.isArray(e),l=s?e[1]:e,c=null===l;let u=n[r+1];u===_s&&(u=c?$t:void 0);let h=c?fi(u,i):l===i?u:void 0;if(s&&!Qa(h)&&(h=fi(e,i)),Qa(h)&&(a=h,o))return a;const d=t[r+1];r=o?Cs(d):Os(d)}if(null!==e){let t=s?e.residualClasses:e.residualStyles;null!=t&&(a=fi(t,i))}return a}function Qa(t){return void 0!==t}function Za(t,e){return 0!=(t.flags&(e?16:32))}function Ja(t,e=""){const n=Ue(),i=He(),r=t+20,s=i.firstCreatePass?Ms(i,r,1,e,null):i.data[r],o=n[r]=function(t,e){return Te(t)?t.createText(e):t.createTextNode(e)}(n[11],e);Jr(i,n,o,s),qe(s,!1)}function tl(t){return el("",t,""),tl}function el(t,e,n){const i=Ue(),r=Qo(i,t,e,n);return r!==_s&&yo(i,mn(),r),el}function nl(t,e,n,i,r){const s=Ue(),o=function(t,e,n,i,r,s){const o=Xo(t,Je(),n,r);return en(2),o?e+bt(n)+i+bt(r)+s:_s}(s,t,e,n,i,r);return o!==_s&&yo(s,mn(),o),nl}function il(t,e,n){Ha(pi,za,Qo(Ue(),t,e,n),!0)}function rl(t,e,n){const i=Ue();return Yo(i,tn(),e)&&$s(He(),yn(),i,t,e,i[11],n,!0),rl}function sl(t,e,n){const i=Ue();if(Yo(i,tn(),e)){const r=He(),s=yn();$s(r,s,i,t,e,go(sn(r.data),s,i),n,!0)}return sl}const ol=void 0;var al=["en",[["a","p"],["AM","PM"],ol],[["AM","PM"],ol,ol],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],ol,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],ol,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",ol,"{1} 'at' {0}",ol],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(t){const e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];let ll={};function cl(t){const e=function(t){return t.toLowerCase().replace(/_/g,"-")}(t);let n=ul(e);if(n)return n;const i=e.split("-")[0];if(n=ul(i),n)return n;if("en"===i)return al;throw new Error(`Missing locale data for the locale "${t}".`)}function ul(t){return t in ll||(ll[t]=Ut.ng&&Ut.ng.common&&Ut.ng.common.locales&&Ut.ng.common.locales[t]),ll[t]}var hl=(()=>((hl=hl||{})[hl.LocaleId=0]="LocaleId",hl[hl.DayPeriodsFormat=1]="DayPeriodsFormat",hl[hl.DayPeriodsStandalone=2]="DayPeriodsStandalone",hl[hl.DaysFormat=3]="DaysFormat",hl[hl.DaysStandalone=4]="DaysStandalone",hl[hl.MonthsFormat=5]="MonthsFormat",hl[hl.MonthsStandalone=6]="MonthsStandalone",hl[hl.Eras=7]="Eras",hl[hl.FirstDayOfWeek=8]="FirstDayOfWeek",hl[hl.WeekendRange=9]="WeekendRange",hl[hl.DateFormat=10]="DateFormat",hl[hl.TimeFormat=11]="TimeFormat",hl[hl.DateTimeFormat=12]="DateTimeFormat",hl[hl.NumberSymbols=13]="NumberSymbols",hl[hl.NumberFormats=14]="NumberFormats",hl[hl.CurrencyCode=15]="CurrencyCode",hl[hl.CurrencySymbol=16]="CurrencySymbol",hl[hl.CurrencyName=17]="CurrencyName",hl[hl.Currencies=18]="Currencies",hl[hl.Directionality=19]="Directionality",hl[hl.PluralCase=20]="PluralCase",hl[hl.ExtraData=21]="ExtraData",hl))();const dl="en-US";let pl=dl;function fl(t){wt(t,"Expected localeId to be defined"),"string"==typeof t&&(pl=t.toLowerCase().replace(/_/g,"-"))}function gl(t,e,n,i,r){if(t=ft(t),Array.isArray(t))for(let s=0;s>20;if(Do(t)||!t.multi){const i=new On(l,r,ea),p=yl(a,e,r?u:u+d,h);-1===p?(Hn(Fn(c,o),s,a),ml(s,t,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),n.push(i),o.push(i)):(n[p]=i,o[p]=i)}else{const p=yl(a,e,u+d,h),f=yl(a,e,u,u+d),g=p>=0&&n[p],m=f>=0&&n[f];if(r&&!m||!r&&!g){Hn(Fn(c,o),s,a);const u=function(t,e,n,i,r){const s=new On(t,n,ea);return s.multi=[],s.index=e,s.componentProviders=0,bl(s,r,i&&!n),s}(r?_l:vl,n.length,r,i,l);!r&&m&&(n[f].providerFactory=u),ml(s,t,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),n.push(u),o.push(u)}else ml(s,t,p>-1?p:f,bl(n[r?f:p],l,!r&&i));!r&&i&&m&&n[f].componentProviders++}}}function ml(t,e,n,i){const r=Do(e);if(r||function(t){return!!t.useClass}(e)){const s=(e.useClass||e).prototype.ngOnDestroy;if(s){const o=t.destroyHooks||(t.destroyHooks=[]);if(!r&&e.multi){const t=o.indexOf(n);-1===t?o.push(n,[i,s]):o[t+1].push(i,s)}else o.push(n,s)}}}function bl(t,e,n){return n&&t.componentProviders++,t.multi.push(e)-1}function yl(t,e,n,i){for(let r=n;r{n.providersResolver=(n,i)=>function(t,e,n){const i=He();if(i.firstCreatePass){const r=fe(t);gl(n,i.data,i.blueprint,r,!0),gl(e,i.data,i.blueprint,r,!1)}}(n,i?i(t):t,e)}}class Sl{}const Cl="ngComponent";class El{resolveComponentFactory(t){throw function(t){const e=Error(`No component factory found for ${ut(t)}. Did you add it to @NgModule.entryComponents?`);return e[Cl]=t,e}(t)}}class Ol{}function Tl(...t){}function kl(t,e){return new Al(Me(t,e))}Ol.NULL=new El;const Pl=function(){return kl(Ge(),Ue())};let Al=(()=>{class t{constructor(t){this.nativeElement=t}}return t.__NG_ELEMENT_ID__=Pl,t})();function Ml(t){return t instanceof Al?t.nativeElement:t}class Il{}let Dl=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>Rl(),t})();const Rl=function(){const t=Ue(),e=Re(Ge().index,t);return function(t){return t[11]}(ce(e)?e:t)};let Nl=(()=>{class t{}return t.\u0275prov=xt({token:t,providedIn:"root",factory:()=>null}),t})();class Ll{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const jl=new Ll("12.2.5");class Fl{constructor(){}supports(t){return Go(t)}create(t){return new Vl(t)}}const Bl=(t,e)=>e;class Vl{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Bl}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,n=this._removalsHead,i=0,r=null;for(;e||n;){const s=!n||e&&e.currentIndex<$l(n,i,r)?e:n,o=$l(s,i,r),a=s.currentIndex;if(s===n)i--,n=n._nextRemoved;else if(e=e._next,null==s.previousIndex)i++;else{r||(r=[]);const t=o-i,e=a-i;if(t!=e){for(let n=0;n{i=this._trackByFn(e,t),null!==r&&Object.is(r.trackById,i)?(s&&(r=this._verifyReinsertion(r,t,i,e)),Object.is(r.item,t)||this._addIdentityChange(r,t)):(r=this._mismatch(r,t,i,e),s=!0),r=r._next,e++}),this.length=e;return this._truncate(r),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,n,i){let r;return null===t?r=this._itTail:(r=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,r,i)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,i))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,r,i)):t=this._addAfter(new zl(e,n),r,i),t}_verifyReinsertion(t,e,n,i){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==r?t=this._reinsertAfter(r,t._prev,i):t.currentIndex!=i&&(t.currentIndex=i,this._addToMoves(t,i)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const i=t._prevRemoved,r=t._nextRemoved;return null===i?this._removalsHead=r:i._nextRemoved=r,null===r?this._removalsTail=i:r._prevRemoved=i,this._insertAfter(t,e,n),this._addToMoves(t,n),t}_moveAfter(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t}_addAfter(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,n){const i=null===e?this._itHead:e._next;return t._next=i,t._prev=e,null===i?this._itTail=t:i._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new Hl),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Hl),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class zl{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Ul{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head}}class Hl{constructor(){this.map=new Map}put(t){const e=t.trackById;let n=this.map.get(e);n||(n=new Ul,this.map.set(e,n)),n.add(t)}get(t,e){const n=this.map.get(t);return n?n.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function $l(t,e,n){const i=t.previousIndex;if(null===i)return i;let r=0;return n&&i{if(e&&e.key===n)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const i=this._getOrCreateRecordForKey(n,t);e=this._insertBeforeOrAppend(e,i)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const n=t._prev;return e._next=t,e._prev=n,t._prev=e,n&&(n._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const n=this._records.get(t);this._maybeAddToChanges(n,e);const i=n._prev,r=n._next;return i&&(i._next=r),r&&(r._prev=i),n._next=null,n._prev=null,n}const n=new ql(t);return this._records.set(t,n),n.currentValue=e,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(n=>e(t[n],n))}}class ql{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Yl(){return new Xl([new Fl])}let Xl=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(null!=n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Yl()),deps:[[t,new Di,new Ii]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(t){return t.name||typeof t}(t)}'`)}}return t.\u0275prov=xt({token:t,providedIn:"root",factory:Yl}),t})();function Kl(){return new Ql([new Gl])}let Ql=(()=>{class t{constructor(t){this.factories=t}static create(e,n){if(n){const t=n.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:n=>t.create(e,n||Kl()),deps:[[t,new Di,new Ii]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return t.\u0275prov=xt({token:t,providedIn:"root",factory:Kl}),t})();function Zl(t,e,n,i,r=!1){for(;null!==n;){const s=e[n.index];if(null!==s&&i.push(Pe(s)),ue(s))for(let t=10;t-1&&(Ur(t,n),hi(e,n))}this._attachedToViewContainer=!1}Hr(this._lView[1],this._lView)}onDestroy(t){Us(this._lView[1],this._lView,null,t)}markForCheck(){ao(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){lo(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(t,e,n){Qe(!0);try{lo(t,e,n)}finally{Qe(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function(t,e){rs(t,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}}class tc extends Jl{constructor(t){super(t),this._view=t}detectChanges(){co(this._view)}checkNoChanges(){!function(t){Qe(!0);try{co(t)}finally{Qe(!1)}}(this._view)}get context(){return null}}const ec=function(t){return function(t,e,n){if(de(t)&&!n){const n=Re(t.index,e);return new Jl(n,n)}return 47&t.type?new Jl(e[16],e):null}(Ge(),Ue(),16==(16&t))};let nc=(()=>{class t{}return t.__NG_ELEMENT_ID__=ec,t})();const ic=[new Gl],rc=new Xl([new Fl]),sc=new Ql(ic),oc=function(){return uc(Ge(),Ue())};let ac=(()=>{class t{}return t.__NG_ELEMENT_ID__=oc,t})();const lc=ac,cc=class extends lc{constructor(t,e,n){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=n}createEmbeddedView(t){const e=this._declarationTContainer.tViews,n=As(this._declarationLView,e,t,16,null,e.declTNode,null,null,null,null);n[17]=this._declarationLView[this._declarationTContainer.index];const i=this._declarationLView[19];return null!==i&&(n[19]=i.createEmbeddedView(e)),Ds(e,n,t),new Jl(n)}};function uc(t,e){return 4&t.type?new cc(e,t,kl(t,e)):null}class hc{}const dc=function(){return yc(Ge(),Ue())};let pc=(()=>{class t{}return t.__NG_ELEMENT_ID__=dc,t})();const fc=pc,gc=class extends fc{constructor(t,e,n){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=n}get element(){return kl(this._hostTNode,this._hostLView)}get injector(){return new ti(this._hostTNode,this._hostLView)}get parentInjector(){const t=Un(this._hostTNode,this._hostLView);if(In(t)){const e=Rn(t,this._hostLView),n=Dn(t);return new ti(e[1].data[n+8],e)}return new ti(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=mc(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,e,n){const i=t.createEmbeddedView(e||{});return this.insert(i,n),i}createComponent(t,e,n,i,r){const s=n||this.parentInjector;if(!r&&null==t.ngModule&&s){const t=s.get(hc,null);t&&(r=t)}const o=t.create(s,i,void 0,r);return this.insert(o.hostView,e),o}insert(t,e){const n=t._lView,i=n[1];if(function(t){return ue(t[3])}(n)){const e=this.indexOf(t);if(-1!==e)this.detach(e);else{const e=n[3],i=new gc(e,e[6],e[3]);i.detach(i.indexOf(t))}}const r=this._adjustIndex(e),s=this._lContainer;!function(t,e,n,i){const r=10+i,s=n.length;i>0&&(n[r-1][4]=e),iPr});class Sc extends Sl{constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=function(t){return t.map(vs).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return wc(this.componentDef.inputs)}get outputs(){return wc(this.componentDef.outputs)}create(t,e,n,i){const r=(i=i||this.ngModule)?function(t,e){return{get:(n,i,r)=>{const s=t.get(n,vc,r);return s!==vc||i===vc?s:e.get(n,i,r)}}}(t,i.injector):t,s=r.get(Il,ke),o=r.get(Nl,null),a=s.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",c=n?function(t,e,n){if(Te(t))return t.selectRootElement(e,n===jt.ShadowDom);let i="string"==typeof e?t.querySelector(e):e;return i.textContent="",i}(a,n,this.componentDef.encapsulation):Vr(s.createRenderer(null,this.componentDef),l,function(t){const e=t.toLowerCase();return"svg"===e?Ce:"math"===e?"http://www.w3.org/1998/MathML/":null}(l)),u=this.componentDef.onPush?576:528,h=function(t,e){return{components:[],scheduler:t||Pr,clean:ho,playerHandler:e||null,flags:0}}(),d=zs(0,null,null,1,0,null,null,null,null,null),p=As(null,d,h,u,null,null,s,a,o,r);let f,g;un(p);try{const t=function(t,e,n,i,r,s){const o=n[1];n[20]=t;const a=Ms(o,20,2,"#host",null),l=a.mergedAttrs=e.hostAttrs;null!==l&&(vo(a,l,!0),null!==t&&(Tn(r,t,l),null!==a.classes&&as(r,t,a.classes),null!==a.styles&&os(r,t,a.styles)));const c=i.createRenderer(t,e),u=As(n,Vs(e),null,e.onPush?64:16,n[20],a,i,c,s||null,null);return o.firstCreatePass&&(Hn(Fn(a,n),o,e.type),Ys(o,a),Ks(a,n.length,1)),oo(n,u),n[20]=u}(c,this.componentDef,p,s,a);if(c)if(n)Tn(a,c,["ng-version",jl.full]);else{const{attrs:t,classes:e}=function(t){const e=[],n=[];let i=1,r=2;for(;i0&&as(a,c,e.join(" "))}if(g=Ie(d,20),void 0!==e){const t=g.projection=[];for(let n=0;nt(o,e)),e.contentQueries){const t=Ge();e.contentQueries(1,o,t.directiveStart)}const a=Ge();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(bn(a.index),Ws(n[1],a,0,a.directiveStart,a.directiveEnd,e),qs(e,o)),o}(t,this.componentDef,p,h,[Lo]),Ds(d,p,null)}finally{gn()}return new Cc(this.componentType,f,kl(g,p),p,g)}}class Cc extends class{}{constructor(t,e,n,i,r){super(),this.location=n,this._rootLView=i,this._tNode=r,this.instance=e,this.hostView=this.changeDetectorRef=new tc(i),this.componentType=t}get injector(){return new ti(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}const Ec=new Map;class Oc extends hc{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new _c(this);const n=le(t),i=function(t){return t[Xt]||null}(t);i&&fl(i),this._bootstrapComponents=Ir(n.bootstrap),this._r3Injector=To(t,e,[{provide:hc,useValue:this},{provide:Ol,useValue:this.componentFactoryResolver}],ut(t)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(t)}get(t,e=No.THROW_IF_NOT_FOUND,n=Mt.Default){return t===No||t===hc||t===_o?this:this._r3Injector.get(t,e,n)}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class Tc extends class{}{constructor(t){super(),this.moduleType=t,null!==le(t)&&function(t){const e=new Set;!function t(n){const i=le(n,!0),r=i.id;null!==r&&(function(t,e,n){if(e&&e!==n)throw new Error(`Duplicate module registered for ${t} - ${ut(e)} vs ${ut(e.name)}`)}(r,Ec.get(r),n),Ec.set(r,n));const s=Ir(i.imports);for(const o of s)e.has(o)||(e.add(o),t(o))}(t)}(t)}create(t){return new Oc(this.moduleType,t)}}function kc(t,e,n){const i=Ze()+t,r=Ue();return r[i]===_s?qo(r,i,n?e.call(n):e()):function(t,e){return t[e]}(r,i)}function Pc(t,e,n,i){return Ic(Ue(),Ze(),t,e,n,i)}function Ac(t,e,n,i,r,s){return function(t,e,n,i,r,s,o,a){const l=e+n;return function(t,e,n,i,r){const s=Xo(t,e,n,i);return Yo(t,e+2,r)||s}(t,l,r,s,o)?qo(t,l+3,a?i.call(a,r,s,o):i(r,s,o)):Mc(t,l+3)}(Ue(),Ze(),t,e,n,i,r,s)}function Mc(t,e){const n=t[e];return n===_s?void 0:n}function Ic(t,e,n,i,r,s){const o=e+n;return Yo(t,o,r)?qo(t,o+1,s?i.call(s,r):i(r)):Mc(t,o+1)}function Dc(t,e){const n=He();let i;const r=t+20;n.firstCreatePass?(i=function(t,e){if(e)for(let n=e.length-1;n>=0;n--){const i=e[n];if(t===i.name)return i}throw new mt("302",`The pipe '${t}' could not be found!`)}(e,n.pipeRegistry),n.data[r]=i,i.onDestroy&&(n.destroyHooks||(n.destroyHooks=[])).push(r,i.onDestroy)):i=n.data[r];const s=i.factory||(i.factory=me(i.type)),o=Dt(ea);try{const t=Ln(!1),e=s();return Ln(t),function(t,e,n,i){n>=t.data.length&&(t.data[n]=null,t.blueprint[n]=null),e[n]=i}(n,Ue(),r,e),e}finally{Dt(o)}}function Rc(t,e,n){const i=t+20,r=Ue(),s=De(r,i);return jc(r,Lc(r,i)?Ic(r,Ze(),e,s.transform,n,s):s.transform(n))}function Nc(t,e,n,i){const r=t+20,s=Ue(),o=De(s,r);return jc(s,Lc(s,r)?function(t,e,n,i,r,s,o){const a=e+n;return Xo(t,a,r,s)?qo(t,a+2,o?i.call(o,r,s):i(r,s)):Mc(t,a+2)}(s,Ze(),e,o.transform,n,i,o):o.transform(n,i))}function Lc(t,e){return t[1].data[e].pure}function jc(t,e){return $o.isWrapped(e)&&(e=$o.unwrap(e),t[Je()]=_s),e}function Fc(t){return e=>{setTimeout(t,void 0,e)}}const Bc=class extends A{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,n){var i,r,s;let o=t,a=e||(()=>null),l=n;if(t&&"object"==typeof t){const e=t;o=null===(i=e.next)||void 0===i?void 0:i.bind(e),a=null===(r=e.error)||void 0===r?void 0:r.bind(e),l=null===(s=e.complete)||void 0===s?void 0:s.bind(e)}this.__isAsync&&(a=Fc(a),o&&(o=Fc(o)),l&&(l=Fc(l)));const c=super.subscribe({next:o,error:a,complete:l});return t instanceof g&&t.add(c),c}};function Vc(){return this._results[Ho()]()}class zc{constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=Ho(),n=zc.prototype;n[e]||(n[e]=Vc)}get changes(){return this._changes||(this._changes=new Bc)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,e){const n=this;n.dirty=!1;const i=li(t);(this._changesDetected=!function(t,e,n){if(t.length!==e.length)return!1;for(let i=0;i0)i.push(o[t/2]);else{const r=s[t+1],o=e[-n];for(let t=10;t{class t{constructor(t){this.appInits=t,this.resolve=Tl,this.reject=Tl,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n{e.subscribe({complete:t,error:n})});t.push(n)}}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)(Ei(su,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const au=new oi("AppId"),lu={provide:au,useFactory:function(){return`${cu()}${cu()}${cu()}`},deps:[]};function cu(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const uu=new oi("Platform Initializer"),hu=new oi("Platform ID"),du=new oi("appBootstrapListener");let pu=(()=>{class t{log(t){console.log(t)}warn(t){console.warn(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const fu=new oi("LocaleId"),gu=new oi("DefaultCurrencyCode");class mu{constructor(t,e){this.ngModuleFactory=t,this.componentFactories=e}}const bu=function(t){return new Tc(t)},yu=bu,vu=function(t){return Promise.resolve(bu(t))},_u=function(t){const e=bu(t),n=Ir(le(t).declarations).reduce((t,e)=>{const n=ae(e);return n&&t.push(new Sc(n)),t},[]);return new mu(e,n)},wu=_u,xu=function(t){return Promise.resolve(_u(t))};let Su=(()=>{class t{constructor(){this.compileModuleSync=yu,this.compileModuleAsync=vu,this.compileModuleAndAllComponentsSync=wu,this.compileModuleAndAllComponentsAsync=xu}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Cu=new oi("compilerOptions"),Eu=(()=>Promise.resolve(0))();function Ou(t){"undefined"==typeof Zone?Eu.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class Tu{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Bc(!1),this.onMicrotaskEmpty=new Bc(!1),this.onStable=new Bc(!1),this.onError=new Bc(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const i=this;i._nesting=0,i._outer=i._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(i._inner=i._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(i._inner=i._inner.fork(Zone.longStackTraceZoneSpec)),i.shouldCoalesceEventChangeDetection=!n&&e,i.shouldCoalesceRunChangeDetection=n,i.lastRequestAnimationFrameId=-1,i.nativeRequestAnimationFrame=function(){let t=Ut.requestAnimationFrame,e=Ut.cancelAnimationFrame;if("undefined"!=typeof Zone&&t&&e){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(t){const e=()=>{!function(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Ut,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,Au(t),t.isCheckStableRunning=!0,Pu(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),Au(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,i,r,s,o,a)=>{try{return Mu(t),n.invokeTask(r,s,o,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||t.shouldCoalesceRunChangeDetection)&&e(),Iu(t)}},onInvoke:(n,i,r,s,o,a,l)=>{try{return Mu(t),n.invoke(r,s,o,a,l)}finally{t.shouldCoalesceRunChangeDetection&&e(),Iu(t)}},onHasTask:(e,n,i,r)=>{e.hasTask(i,r),n===i&&("microTask"==r.change?(t._hasPendingMicrotasks=r.microTask,Au(t),Pu(t)):"macroTask"==r.change&&(t.hasPendingMacrotasks=r.macroTask))},onHandleError:(e,n,i,r)=>(e.handleError(i,r),t.runOutsideAngular(()=>t.onError.emit(r)),!1)})}(i)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Tu.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Tu.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,n){return this._inner.run(t,e,n)}runTask(t,e,n,i){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+i,t,ku,Tl,Tl);try{return r.runTask(s,e,n)}finally{r.cancelTask(s)}}runGuarded(t,e,n){return this._inner.runGuarded(t,e,n)}runOutsideAngular(t){return this._outer.run(t)}}const ku={};function Pu(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function Au(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function Mu(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function Iu(t){t._nesting--,Pu(t)}class Du{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Bc,this.onMicrotaskEmpty=new Bc,this.onStable=new Bc,this.onError=new Bc}run(t,e,n){return t.apply(e,n)}runGuarded(t,e,n){return t.apply(e,n)}runOutsideAngular(t){return t()}runTask(t,e,n,i){return t.apply(e,n)}}let Ru=(()=>{class t{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Tu.assertNotInAngularZone(),Ou(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Ou(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,e,n){let i=-1;e&&e>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==i),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})}whenStable(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,n){return[]}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Nu=(()=>{class t{constructor(){this._applications=new Map,ju.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return ju.findTestabilityInTree(this,t,e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Lu{addToWindow(t){}findTestabilityInTree(t,e,n){return null}}let ju=new Lu,Fu=!0,Bu=!1;function Vu(){return Bu=!0,Fu}let zu;const Uu=new oi("AllowMultipleToken");function Hu(t,e,n=[]){const i=`Platform: ${e}`,r=new oi(i);return(e=[])=>{let s=$u();if(!s||s.injector.get(Uu,!1))if(t)t(n.concat(e).concat({provide:r,useValue:!0}));else{const t=n.concat(e).concat({provide:r,useValue:!0},{provide:xo,useValue:"platform"});!function(t){if(zu&&!zu.destroyed&&!zu.injector.get(Uu,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");zu=t.get(Gu);const e=t.get(uu,null);e&&e.forEach(t=>t())}(No.create({providers:t,name:i}))}return function(t){const e=$u();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function $u(){return zu&&!zu.destroyed?zu:null}let Gu=(()=>{class t{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const n=function(t,e){let n;return n="noop"===t?new Du:("zone.js"===t?void 0:t)||new Tu({enableLongStackTrace:Vu(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),n}(e?e.ngZone:void 0,{ngZoneEventCoalescing:e&&e.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:e&&e.ngZoneRunCoalescing||!1}),i=[{provide:Tu,useValue:n}];return n.run(()=>{const r=No.create({providers:i,parent:this.injector,name:t.moduleType.name}),s=t.create(r),o=s.injector.get(kr,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return n.runOutsideAngular(()=>{const t=n.onError.subscribe({next:t=>{o.handleError(t)}});s.onDestroy(()=>{Yu(this._modules,s),t.unsubscribe()})}),function(t,n,i){try{const e=i();return ha(e)?e.catch(e=>{throw n.runOutsideAngular(()=>t.handleError(e)),e}):e}catch(e){throw n.runOutsideAngular(()=>t.handleError(e)),e}}(o,n,()=>{const t=s.injector.get(ou);return t.runInitializers(),t.donePromise.then(()=>(fl(s.injector.get(fu,dl)||dl),this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,e=[]){const n=Wu({},e);return function(t,e,n){const i=new Tc(n);return Promise.resolve(i)}(0,0,t).then(t=>this.bootstrapModuleFactory(t,n))}_moduleDoBootstrap(t){const e=t.injector.get(qu);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${ut(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Wu(t,e){return Array.isArray(e)?e.reduce(Wu,t):Object.assign(Object.assign({},t),e)}let qu=(()=>{class t{constructor(t,e,n,i,r){this._zone=t,this._injector=e,this._exceptionHandler=n,this._componentFactoryResolver=i,this._initStatus=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const s=new E(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),o=new E(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{Tu.assertNotInAngularZone(),Ou(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,t.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{Tu.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),n.unsubscribe()}});this.isStable=Q(s,o.pipe(at()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=t instanceof Sl?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);const i=function(t){return t.isBoundToModule}(n)?void 0:this._injector.get(hc),r=n.create(No.NULL,[],e||n.selector,i),s=r.location.nativeElement,o=r.injector.get(Ru,null),a=o&&r.injector.get(Nu);return o&&a&&a.registerApplication(s,o),r.onDestroy(()=>{this.detachView(r.hostView),Yu(this.components,r),a&&a.unregisterApplication(s)}),this._loadComponent(r),r}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;Yu(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(du,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(No),Ei(kr),Ei(Ol),Ei(ou))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Yu(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const Xu=Hu(null,"core",[{provide:hu,useValue:"unknown"},{provide:Gu,deps:[No]},{provide:Nu,deps:[]},{provide:pu,deps:[]}]),Ku=[{provide:qu,useClass:qu,deps:[Tu,No,kr,Ol,ou]},{provide:xc,deps:[Tu],useFactory:function(t){let e=[];return t.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:ou,useClass:ou,deps:[[new Ii,su]]},{provide:Su,useClass:Su,deps:[]},lu,{provide:Xl,useFactory:function(){return rc},deps:[]},{provide:Ql,useFactory:function(){return sc},deps:[]},{provide:fu,useFactory:function(t){return fl(t=t||"undefined"!=typeof $localize&&$localize.locale||dl),t},deps:[[new Mi(fu),new Ii,new Di]]},{provide:gu,useValue:"USD"}];let Qu=(()=>{class t{constructor(t){}}return t.\u0275fac=function(e){return new(e||t)(Ei(qu))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:Ku}),t})(),Zu=null;function Ju(){return Zu}const th=new oi("DocumentToken");let eh=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:nh,token:t,providedIn:"platform"}),t})();function nh(){return Ei(ih)}let ih=(()=>{class t extends eh{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Ju().getBaseHref(this._doc)}onPopState(t){const e=Ju().getGlobalEventTarget(this._doc,"window");return e.addEventListener("popstate",t,!1),()=>e.removeEventListener("popstate",t)}onHashChange(t){const e=Ju().getGlobalEventTarget(this._doc,"window");return e.addEventListener("hashchange",t,!1),()=>e.removeEventListener("hashchange",t)}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(t){this.location.pathname=t}pushState(t,e,n){rh()?this._history.pushState(t,e,n):this.location.hash=n}replaceState(t,e,n){rh()?this._history.replaceState(t,e,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:sh,token:t,providedIn:"platform"}),t})();function rh(){return!!window.history.pushState}function sh(){return new ih(Ei(th))}function oh(t,e){if(0==t.length)return e;if(0==e.length)return t;let n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e}function ah(t){const e=t.match(/#|\?|$/),n=e&&e.index||t.length;return t.slice(0,n-("/"===t[n-1]?1:0))+t.slice(n)}function lh(t){return t&&"?"!==t[0]?"?"+t:t}let ch=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:uh,token:t,providedIn:"root"}),t})();function uh(t){const e=Ei(th).location;return new dh(Ei(eh),e&&e.origin||"")}const hh=new oi("appBaseHref");let dh=(()=>{class t extends ch{constructor(t,e){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==e&&(e=this._platformLocation.getBaseHrefFromDOM()),null==e)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=e}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return oh(this._baseHref,t)}path(t=!1){const e=this._platformLocation.pathname+lh(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?`${e}${n}`:e}pushState(t,e,n,i){const r=this.prepareExternalUrl(n+lh(i));this._platformLocation.pushState(t,e,r)}replaceState(t,e,n,i){const r=this.prepareExternalUrl(n+lh(i));this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformLocation).historyGo)||void 0===n||n.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(eh),Ei(hh,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),ph=(()=>{class t{constructor(t,e){this._subject=new Bc,this._urlChangeListeners=[],this._platformStrategy=t;const n=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=ah(gh(n)),this._platformStrategy.onPopState(t=>{this._subject.emit({url:this.path(!0),pop:!0,state:t.state,type:t.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,e=""){return this.path()==this.normalize(t+lh(e))}normalize(e){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,gh(e)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,e="",n=null){this._platformStrategy.pushState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+lh(e)),n)}replaceState(t,e="",n=null){this._platformStrategy.replaceState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+lh(e)),n)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var e,n;null===(n=(e=this._platformStrategy).historyGo)||void 0===n||n.call(e,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(t=>{this._notifyUrlChangeListeners(t.url,t.state)}))}_notifyUrlChangeListeners(t="",e){this._urlChangeListeners.forEach(n=>n(t,e))}subscribe(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})}}return t.\u0275fac=function(e){return new(e||t)(Ei(ch),Ei(eh))},t.normalizeQueryParams=lh,t.joinWithSlash=oh,t.stripTrailingSlash=ah,t.\u0275prov=xt({factory:fh,token:t,providedIn:"root"}),t})();function fh(){return new ph(Ei(ch),Ei(eh))}function gh(t){return t.replace(/\/index.html$/,"")}var mh=(()=>((mh=mh||{})[mh.Decimal=0]="Decimal",mh[mh.Percent=1]="Percent",mh[mh.Currency=2]="Currency",mh[mh.Scientific=3]="Scientific",mh))(),bh=(()=>((bh=bh||{})[bh.Zero=0]="Zero",bh[bh.One=1]="One",bh[bh.Two=2]="Two",bh[bh.Few=3]="Few",bh[bh.Many=4]="Many",bh[bh.Other=5]="Other",bh))(),yh=(()=>((yh=yh||{})[yh.Decimal=0]="Decimal",yh[yh.Group=1]="Group",yh[yh.List=2]="List",yh[yh.PercentSign=3]="PercentSign",yh[yh.PlusSign=4]="PlusSign",yh[yh.MinusSign=5]="MinusSign",yh[yh.Exponential=6]="Exponential",yh[yh.SuperscriptingExponent=7]="SuperscriptingExponent",yh[yh.PerMille=8]="PerMille",yh[yh.Infinity=9]="Infinity",yh[yh.NaN=10]="NaN",yh[yh.TimeSeparator=11]="TimeSeparator",yh[yh.CurrencyDecimal=12]="CurrencyDecimal",yh[yh.CurrencyGroup=13]="CurrencyGroup",yh))();function vh(t,e){const n=cl(t),i=n[hl.NumberSymbols][e];if(void 0===i){if(e===yh.CurrencyDecimal)return n[hl.NumberSymbols][yh.Decimal];if(e===yh.CurrencyGroup)return n[hl.NumberSymbols][yh.Group]}return i}const _h=function(t){return cl(t)[hl.PluralCase]},wh=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function xh(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}class Sh{}let Ch=(()=>{class t extends Sh{constructor(t){super(),this.locale=t}getPluralCategory(t,e){switch(_h(e||this.locale)(t)){case bh.Zero:return"zero";case bh.One:return"one";case bh.Two:return"two";case bh.Few:return"few";case bh.Many:return"many";default:return"other"}}}return t.\u0275fac=function(e){return new(e||t)(Ei(fu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function Eh(t,e){e=encodeURIComponent(e);for(const n of t.split(";")){const t=n.indexOf("="),[i,r]=-1==t?[n,""]:[n.slice(0,t),n.slice(t+1)];if(i.trim()===e)return decodeURIComponent(r)}return null}let Oh=(()=>{class t{constructor(t,e,n,i){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=i,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Go(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${ut(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Xl),ea(Ql),ea(Al),ea(Dl))},t.\u0275dir=se({type:t,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),t})();class Th{constructor(t,e,n,i){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let kh=(()=>{class t{constructor(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(t){throw new Error(`Cannot find a differ supporting object '${e}' of type '${function(t){return t.name||typeof t}(e)}'. NgFor only supports binding to Iterables such as Arrays.`)}}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,n,i)=>{if(null==t.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new Th(null,this._ngForOf,-1,-1),null===i?void 0:i),r=new Ph(t,n);e.push(r)}else if(null==i)this._viewContainer.remove(null===n?void 0:n);else if(null!==n){const r=this._viewContainer.get(n);this._viewContainer.move(r,i);const s=new Ph(t,r);e.push(s)}});for(let n=0;n{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Xl))},t.\u0275dir=se({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),t})();class Ph{constructor(t,e){this.record=t,this.view=e}}let Ah=(()=>{class t{constructor(t,e){this._viewContainer=t,this._context=new Mh,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Ih("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Ih("ngIfElse",t),this._elseTemplateRef=t,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(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac))},t.\u0275dir=se({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),t})();class Mh{constructor(){this.$implicit=null,this.ngIf=null}}function Ih(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${ut(e)}'.`)}class Dh{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}let Rh=(()=>{class t{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e{class t{constructor(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new Dh(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Rh,9))},t.\u0275dir=se({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),t})(),Lh=(()=>{class t{constructor(t,e,n){n._addDefault(new Dh(t,e))}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(ac),ea(Rh,9))},t.\u0275dir=se({type:t,selectors:[["","ngSwitchDefault",""]]}),t})(),jh=(()=>{class t{constructor(t,e,n){this._ngEl=t,this._differs=e,this._renderer=n,this._ngStyle=null,this._differ=null}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,e){const[n,i]=t.split(".");null!=(e=null!=e&&i?`${e}${i}`:e)?this._renderer.setStyle(this._ngEl.nativeElement,n,e):this._renderer.removeStyle(this._ngEl.nativeElement,n)}_applyChanges(t){t.forEachRemovedItem(t=>this._setStyle(t.key,null)),t.forEachAddedItem(t=>this._setStyle(t.key,t.currentValue)),t.forEachChangedItem(t=>this._setStyle(t.key,t.currentValue))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ql),ea(Dl))},t.\u0275dir=se({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),t})(),Fh=(()=>{class t{constructor(t){this._viewContainerRef=t,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null}ngOnChanges(t){if(t.ngTemplateOutlet){const t=this._viewContainerRef;this._viewRef&&t.remove(t.indexOf(this._viewRef)),this._viewRef=this.ngTemplateOutlet?t.createEmbeddedView(this.ngTemplateOutlet,this.ngTemplateOutletContext):null}else this._viewRef&&t.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return t.\u0275fac=function(e){return new(e||t)(ea(pc))},t.\u0275dir=se({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet"},features:[ye]}),t})();function Bh(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${ut(t)}'`)}class Vh{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}}class zh{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}}const Uh=new zh,Hh=new Vh;let $h=(()=>{class t{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(e){if(ha(e))return Uh;if(da(e))return Hh;throw Bh(t,e)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(ea(nc,16))},t.\u0275pipe=oe({name:"async",type:t,pure:!1}),t})(),Gh=(()=>{class t{constructor(t){this._locale=t}transform(e,n,i){if(!function(t){return!(null==t||""===t||t!=t)}(e))return null;i=i||this._locale;try{return function(t,e,n){return function(t,e,n,i,r,s,o=!1){let a="",l=!1;if(isFinite(t)){let c=function(t){let e,n,i,r,s,o=Math.abs(t)+"",a=0;for((n=o.indexOf("."))>-1&&(o=o.replace(".","")),(i=o.search(/e/i))>0?(n<0&&(n=i),n+=+o.slice(i+1),o=o.substring(0,i)):n<0&&(n=o.length),i=0;"0"===o.charAt(i);i++);if(i===(s=o.length))e=[0],n=1;else{for(s--;"0"===o.charAt(s);)s--;for(n-=i,e=[],r=0;i<=s;i++,r++)e[r]=Number(o.charAt(i))}return n>22&&(e=e.splice(0,21),a=n-1,n=1),{digits:e,exponent:a,integerLen:n}}(t);o&&(c=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(c));let u=e.minInt,h=e.minFrac,d=e.maxFrac;if(s){const t=s.match(wh);if(null===t)throw new Error(`${s} is not a valid digit info`);const e=t[1],n=t[3],i=t[5];null!=e&&(u=xh(e)),null!=n&&(h=xh(n)),null!=i?d=xh(i):null!=n&&h>d&&(d=h)}!function(t,e,n){if(e>n)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${n}).`);let i=t.digits,r=i.length-t.integerLen;const s=Math.min(Math.max(e,r),n);let o=s+t.integerLen,a=i[o];if(o>0){i.splice(Math.max(t.integerLen,o));for(let t=o;t=5)if(o-1<0){for(let e=0;e>o;e--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[o-1]++;for(;r=c?i.pop():l=!1),e>=10?1:0},0);u&&(i.unshift(u),t.integerLen++)}(c,h,d);let p=c.digits,f=c.integerLen;const g=c.exponent;let m=[];for(l=p.every(t=>!t);f0?m=p.splice(f,p.length):(m=p,p=[0]);const b=[];for(p.length>=e.lgSize&&b.unshift(p.splice(-e.lgSize,p.length).join(""));p.length>e.gSize;)b.unshift(p.splice(-e.gSize,p.length).join(""));p.length&&b.unshift(p.join("")),a=b.join(vh(n,i)),m.length&&(a+=vh(n,r)+m.join("")),g&&(a+=vh(n,yh.Exponential)+"+"+g)}else a=vh(n,yh.Infinity);return a=t<0&&!l?e.negPre+a+e.negSuf:e.posPre+a+e.posSuf,a}(t,function(t,e="-"){const n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(";"),r=i[0],s=i[1],o=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],a=o[0],l=o[1]||"";n.posPre=a.substr(0,a.indexOf("#"));for(let u=0;u{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:Sh,useClass:Ch}]}),t})();const qh="browser";function Yh(t){return t===qh}class Xh{}class Kh extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function(t){Zu||(Zu=t)}(new Kh)}onAndCancel(t,e,n){return t.addEventListener(e,n,!1),()=>{t.removeEventListener(e,n,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=(Zh=Zh||document.querySelector("base"),Zh?Zh.getAttribute("href"):null);return null==e?null:function(t){Qh=Qh||document.createElement("a"),Qh.setAttribute("href",t);const e=Qh.pathname;return"/"===e.charAt(0)?e:`/${e}`}(e)}resetBaseElement(){Zh=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return Eh(document.cookie,t)}}let Qh,Zh=null;const Jh=new oi("TRANSITION_ID"),td=[{provide:su,useFactory:function(t,e,n){return()=>{n.get(ou).donePromise.then(()=>{const n=Ju(),i=e.querySelectorAll(`style[ng-transition="${t}"]`);for(let t=0;t{const i=t.findTestabilityInTree(e,n);if(null==i)throw new Error("Could not find testability for element.");return i},Ut.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ut.getAllAngularRootElements=()=>t.getAllRootElements(),Ut.frameworkStabilizers||(Ut.frameworkStabilizers=[]),Ut.frameworkStabilizers.push(t=>{const e=Ut.getAllAngularTestabilities();let n=e.length,i=!1;const r=function(e){i=i||e,n--,0==n&&t(i)};e.forEach(function(t){t.whenStable(r)})})}findTestabilityInTree(t,e,n){if(null==e)return null;const i=t.getTestability(e);return null!=i?i:n?Ju().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null}}let nd=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const id=new oi("EventManagerPlugins");let rd=(()=>{class t{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,n){return this._findPluginFor(e).addEventListener(t,e,n)}addGlobalEventListener(t,e,n){return this._findPluginFor(e).addGlobalEventListener(t,e,n)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const n=this._plugins;for(let i=0;i{class t{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),ad=(()=>{class t extends od{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,e,n){t.forEach(t=>{const i=this._doc.createElement("style");i.textContent=t,n.push(e.appendChild(i))})}addHost(t){const e=[];this._addStylesToHost(this._stylesSet,t,e),this._hostNodes.set(t,e)}removeHost(t){const e=this._hostNodes.get(t);e&&e.forEach(ld),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((e,n)=>{this._addStylesToHost(t,n,e)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(ld))}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function ld(t){Ju().remove(t)}const cd={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/"},ud=/%COMP%/g;function hd(t,e,n){for(let i=0;i{if("__ngUnwrap__"===e)return t;!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}let pd=(()=>{class t{constructor(t,e,n){this.eventManager=t,this.sharedStylesHost=e,this.appId=n,this.rendererByCompId=new Map,this.defaultRenderer=new fd(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case jt.Emulated:{let n=this.rendererByCompId.get(e.id);return n||(n=new gd(this.eventManager,this.sharedStylesHost,e,this.appId),this.rendererByCompId.set(e.id,n)),n.applyToHost(t),n}case 1:case jt.ShadowDom:return new md(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=hd(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return t.\u0275fac=function(e){return new(e||t)(Ei(rd),Ei(ad),Ei(au))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class fd{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(cd[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,n){t&&t.insertBefore(e,n)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let n="string"==typeof t?document.querySelector(t):t;if(!n)throw new Error(`The selector "${t}" did not match any elements`);return e||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,i){if(i){e=i+":"+e;const r=cd[i];r?t.setAttributeNS(r,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){const i=cd[n];i?t.removeAttributeNS(i,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,i){i&(Dr.DashCase|Dr.Important)?t.style.setProperty(e,n,i&Dr.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&Dr.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){t[e]=n}setValue(t,e){t.nodeValue=e}listen(t,e,n){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,dd(n)):this.eventManager.addEventListener(t,e,dd(n))}}class gd extends fd{constructor(t,e,n,i){super(t),this.component=n;const r=hd(i+"-"+n.id,n.styles,[]);e.addStyles(r),this.contentAttr=function(t){return"_ngcontent-%COMP%".replace(ud,t)}(i+"-"+n.id),this.hostAttr=function(t){return"_nghost-%COMP%".replace(ud,t)}(i+"-"+n.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}}class md extends fd{constructor(t,e,n,i){super(t),this.sharedStylesHost=e,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const r=hd(i.id,i.styles,[]);for(let s=0;s{class t extends sd{constructor(t){super(t)}supports(t){return!0}addEventListener(t,e,n){return t.addEventListener(e,n,!1),()=>this.removeEventListener(t,e,n)}removeEventListener(t,e,n){return t.removeEventListener(e,n)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const yd=["alt","control","meta","shift"],vd={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_d={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},wd={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let xd=(()=>{class t extends sd{constructor(t){super(t)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,n,i){const r=t.parseEventName(n),s=t.eventCallback(r.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Ju().onAndCancel(e,r.domEventName,s))}static parseEventName(e){const n=e.toLowerCase().split("."),i=n.shift();if(0===n.length||"keydown"!==i&&"keyup"!==i)return null;const r=t._normalizeKey(n.pop());let s="";if(yd.forEach(t=>{const e=n.indexOf(t);e>-1&&(n.splice(e,1),s+=t+".")}),s+=r,0!=n.length||0===r.length)return null;const o={};return o.domEventName=i,o.fullKey=s,o}static getEventFullKey(t){let e="",n=function(t){let e=t.key;if(null==e){if(e=t.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&_d.hasOwnProperty(e)&&(e=_d[e]))}return vd[e]||e}(t);return n=n.toLowerCase()," "===n?n="space":"."===n&&(n="dot"),yd.forEach(i=>{i!=n&&wd[i](t)&&(e+=i+".")}),e+=n,e}static eventCallback(e,n,i){return r=>{t.getEventFullKey(r)===e&&i.runGuarded(()=>n(r))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Sd=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return Ei(Cd)},token:t,providedIn:"root"}),t})(),Cd=(()=>{class t extends Sd{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case yr.NONE:return e;case yr.HTML:return qi(e,"HTML")?Wi(e):mr(this._doc,String(e)).toString();case yr.STYLE:return qi(e,"Style")?Wi(e):e;case yr.SCRIPT:if(qi(e,"Script"))return Wi(e);throw new Error("unsafe value used in a script context");case yr.URL:return Yi(e),qi(e,"URL")?Wi(e):Ji(String(e));case yr.RESOURCE_URL:if(qi(e,"ResourceURL"))return Wi(e);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function(t){return new zi(t)}(t)}bypassSecurityTrustStyle(t){return function(t){return new Ui(t)}(t)}bypassSecurityTrustScript(t){return function(t){return new Hi(t)}(t)}bypassSecurityTrustUrl(t){return function(t){return new $i(t)}(t)}bypassSecurityTrustResourceUrl(t){return function(t){return new Gi(t)}(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return function(t){return new Cd(t.get(th))}(Ei(_o))},token:t,providedIn:"root"}),t})();const Ed=Hu(Xu,"browser",[{provide:hu,useValue:qh},{provide:uu,useValue:function(){Kh.makeCurrent(),ed.init()},multi:!0},{provide:th,useFactory:function(){return function(t){Ee=t}(document),document},deps:[]}]),Od=[[],{provide:xo,useValue:"root"},{provide:kr,useFactory:function(){return new kr},deps:[]},{provide:id,useClass:bd,multi:!0,deps:[th,Tu,hu]},{provide:id,useClass:xd,multi:!0,deps:[th]},[],{provide:pd,useClass:pd,deps:[rd,ad,au]},{provide:Il,useExisting:pd},{provide:od,useExisting:ad},{provide:ad,useClass:ad,deps:[th]},{provide:Ru,useClass:Ru,deps:[Tu]},{provide:rd,useClass:rd,deps:[id,Tu]},{provide:Xh,useClass:nd,deps:[]},[]];let Td=(()=>{class t{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(e){return{ngModule:t,providers:[{provide:au,useValue:e.appId},{provide:Jh,useExisting:au},td]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:Od,imports:[Wh,Qu]}),t})();function kd(t){return null!=t&&"false"!=`${t}`}function Pd(t,e=0){return function(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):e}function Ad(t){return Array.isArray(t)?t:[t]}function Md(t){return null==t?"":"string"==typeof t?t:`${t}px`}function Id(t){return t instanceof Al?t.nativeElement:t}function Dd(...t){let e=t[t.length-1];return I(e)?(t.pop(),z(t,e)):K(t)}function Rd(t,e,n,i){return a(n)&&(i=n,n=void 0),i?Rd(t,e,n).pipe(D(t=>d(t)?i(...t):i(t))):new E(i=>{Nd(t,e,function(t){i.next(arguments.length>1?Array.prototype.slice.call(arguments):t)},i,n)})}function Nd(t,e,n,i,r){let s;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(t)){const i=t;t.addEventListener(e,n,r),s=()=>i.removeEventListener(e,n,r)}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(t)){const i=t;t.on(e,n),s=()=>i.off(e,n)}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(t)){const i=t;t.addListener(e,n),s=()=>i.removeListener(e,n)}else{if(!t||!t.length)throw new TypeError("Invalid event target");for(let s=0,o=t.length;s{class t{constructor(e,n=t.now){this.SchedulerAction=e,this.now=n}schedule(t,e=0,n){return new this.SchedulerAction(this,t).schedule(n,e)}}return t.now=()=>Date.now(),t})();class Bd extends Fd{constructor(t,e=Fd.now){super(t,()=>Bd.delegate&&Bd.delegate!==this?Bd.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,n){return Bd.delegate&&Bd.delegate!==this?Bd.delegate.schedule(t,e,n):super.schedule(t,e,n)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}}new class extends Bd{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(()=>t.flush(null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&(cancelAnimationFrame(e),t.scheduled=void 0)}});let Vd=1;const zd=Promise.resolve(),Ud={};function Hd(t){return t in Ud&&(delete Ud[t],!0)}const $d={setImmediate(t){const e=Vd++;return Ud[e]=!0,zd.then(()=>Hd(e)&&t()),e},clearImmediate(t){Hd(t)}};new class extends Bd{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let n,i=-1,r=e.length;t=t||e.shift();do{if(n=t.execute(t.state,t.delay))break}while(++i0?super.requestAsyncId(t,e,n):(t.actions.push(this),t.scheduled||(t.scheduled=$d.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,n=0){if(null!==n&&n>0||null===n&&this.delay>0)return super.recycleAsyncId(t,e,n);0===t.actions.length&&($d.clearImmediate(e),t.scheduled=void 0)}});function Gd(t){return!!t&&(t instanceof E||"function"==typeof t.lift&&"function"==typeof t.subscribe)}function Wd(t,e){return n=>n.lift(new qd(t,e))}class qd{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new Yd(t,this.compare,this.keySelector))}}class Yd extends v{constructor(t,e,n){super(t),this.keySelector=n,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e;try{const{keySelector:n}=this;e=n?n(t):t}catch(i){return this.destination.error(i)}let n=!1;if(this.hasKey)try{const{compare:t}=this;n=t(this.key,e)}catch(i){return this.destination.error(i)}else this.hasKey=!0;n||(this.key=e,this.destination.next(t))}}const Xd=new Bd(jd);class Kd{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new Qd(t,this.durationSelector))}}class Qd extends ${constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1}_next(t){if(this.value=t,this.hasValue=!0,!this.throttled){let n;try{const{durationSelector:e}=this;n=e(t)}catch(e){return this.destination.error(e)}const i=G(n,new H(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:t,hasValue:e,throttled:n}=this;n&&(this.remove(n),this.throttled=void 0,n.unsubscribe()),e&&(this.value=void 0,this.hasValue=!1,this.destination.next(t))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function Zd(t){return!d(t)&&t-parseFloat(t)+1>=0}function Jd(t){const{index:e,period:n,subscriber:i}=t;if(i.next(e),!i.closed){if(-1===n)return i.complete();t.index=e+1,this.schedule(t,n)}}function tp(t,e=Xd){return function(t){return function(e){return e.lift(new Kd(t))}}(()=>function(t=0,e,n){let i=-1;return Zd(e)?i=Number(e)<1?1:Number(e):I(e)&&(n=e),I(n)||(n=Xd),new E(e=>{const r=Zd(t)?t:+t-n.now();return n.schedule(Jd,r,{index:0,period:i,subscriber:e})})}(t,e))}function ep(t,e){return function(n){return n.lift(new np(t,e))}}class np{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new ip(t,this.predicate,this.thisArg))}}class ip extends v{constructor(t,e,n){super(t),this.predicate=e,this.thisArg=n,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)}}function rp(t){return e=>e.lift(new sp(t))}class sp{constructor(t){this.notifier=t}call(t,e){const n=new op(t),i=G(this.notifier,new H(n));return i&&!n.seenValue?(n.add(i),e.subscribe(n)):n}}class op extends ${constructor(t){super(t),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function ap(...t){return X(1)(Dd(...t))}function lp(...t){const e=t[t.length-1];return I(e)?(t.pop(),n=>ap(t,n,e)):e=>ap(t,e)}function cp(t,e){return"function"==typeof e?n=>n.pipe(cp((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))))):e=>e.lift(new up(t))}class up{constructor(t){this.project=t}call(t,e){return e.subscribe(new hp(t,this.project))}}class hp extends ${constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this._innerSub(e)}_innerSub(t){const e=this.innerSubscription;e&&e.unsubscribe();const n=new H(this),i=this.destination;i.add(n),this.innerSubscription=G(t,n),this.innerSubscription!==n&&i.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;(!t||t.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(t){this.destination.next(t)}}const dp=new class extends Bd{}(class extends jd{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}schedule(t,e=0){return e>0?super.schedule(t,e):(this.delay=e,this.state=t,this.scheduler.flush(this),this)}execute(t,e){return e>0||this.closed?super.execute(t,e):this._execute(t,e)}requestAsyncId(t,e,n=0){return null!==n&&n>0||null===n&&this.delay>0?super.requestAsyncId(t,e,n):t.flush(this)}}),pp=new E(t=>t.complete());function fp(t){return t?function(t){return new E(e=>t.schedule(()=>e.complete()))}(t):pp}function gp(t,e){return new E(e?n=>e.schedule(mp,0,{error:t,subscriber:n}):e=>e.error(t))}function mp({error:t,subscriber:e}){e.error(t)}class bp{constructor(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,n){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}}accept(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,n)}toObservable(){switch(this.kind){case"N":return Dd(this.value);case"E":return gp(this.error);case"C":return fp()}throw new Error("unexpected notification kind value")}static createNext(t){return void 0!==t?new bp("N",t):bp.undefinedValueNotification}static createError(t){return new bp("E",void 0,t)}static createComplete(){return bp.completeNotification}}bp.completeNotification=new bp("C"),bp.undefinedValueNotification=new bp("N",void 0);class yp extends v{constructor(t,e,n=0){super(t),this.scheduler=e,this.delay=n}static dispatch(t){const{notification:e,destination:n}=t;e.observe(n),this.unsubscribe()}scheduleMessage(t){this.destination.add(this.scheduler.schedule(yp.dispatch,this.delay,new vp(t,this.destination)))}_next(t){this.scheduleMessage(bp.createNext(t))}_error(t){this.scheduleMessage(bp.createError(t)),this.unsubscribe()}_complete(){this.scheduleMessage(bp.createComplete()),this.unsubscribe()}}class vp{constructor(t,e){this.notification=t,this.destination=e}}class _p extends A{constructor(t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,n){super(),this.scheduler=n,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=t<1?1:t,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(t){if(!this.isStopped){const e=this._events;e.push(t),e.length>this._bufferSize&&e.shift()}super.next(t)}nextTimeWindow(t){this.isStopped||(this._events.push(new wp(this._getNow(),t)),this._trimBufferThenGetEvents()),super.next(t)}_subscribe(t){const e=this._infiniteTimeWindow,n=e?this._events:this._trimBufferThenGetEvents(),i=this.scheduler,r=n.length;let s;if(this.closed)throw new T;if(this.isStopped||this.hasError?s=g.EMPTY:(this.observers.push(t),s=new k(this,t)),i&&t.add(t=new yp(t,i)),e)for(let o=0;oe&&(s=Math.max(s,r-e)),s>0&&i.splice(0,s),i}}class wp{constructor(t,e){this.time=t,this.value=e}}function xp(t,e,n){let i;return i=t&&"object"==typeof t?t:{bufferSize:t,windowTime:e,refCount:!1,scheduler:n},t=>t.lift(function({bufferSize:t=Number.POSITIVE_INFINITY,windowTime:e=Number.POSITIVE_INFINITY,refCount:n,scheduler:i}){let r,s,o=0,a=!1,l=!1;return function(c){let u;o++,!r||a?(a=!1,r=new _p(t,e,i),u=r.subscribe(this),s=c.subscribe({next(t){r.next(t)},error(t){a=!0,r.error(t)},complete(){l=!0,s=void 0,r.complete()}}),l&&(s=void 0)):u=r.subscribe(this),this.add(()=>{o--,u.unsubscribe(),u=void 0,s&&!l&&n&&0===o&&(s.unsubscribe(),s=void 0,r=void 0)})}}(i))}let Sp;try{Sp="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(m){Sp=!1}let Cp,Ep=(()=>{class t{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Yh(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Sp)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return t.\u0275fac=function(e){return new(e||t)(Ei(hu))},t.\u0275prov=xt({factory:function(){return new t(Ei(hu))},token:t,providedIn:"root"}),t})(),Op=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const Tp=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function kp(){if(Cp)return Cp;if("object"!=typeof document||!document)return Cp=new Set(Tp),Cp;let t=document.createElement("input");return Cp=new Set(Tp.filter(e=>(t.setAttribute("type",e),t.type===e))),Cp}let Pp,Ap,Mp;function Ip(t){return function(){if(null==Pp&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Pp=!0}))}finally{Pp=Pp||!1}return Pp}()?t:!!t.capture}function Dp(){if(null==Ap){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Ap=!1,Ap;if("scrollBehavior"in document.documentElement.style)Ap=!0;else{const t=Element.prototype.scrollTo;Ap=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return Ap}function Rp(t){if(function(){if(null==Mp){const t="undefined"!=typeof document?document.head:null;Mp=!(!t||!t.createShadowRoot&&!t.attachShadow)}return Mp}()){const e=t.getRootNode?t.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}function Np(){let t="undefined"!=typeof document&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const e=t.shadowRoot.activeElement;if(e===t)break;t=e}return t}function Lp(t){return t.composedPath?t.composedPath()[0]:t.target}const jp=new oi("cdk-dir-doc",{providedIn:"root",factory:function(){return Oi(th)}});let Fp=(()=>{class t{constructor(t){if(this.value="ltr",this.change=new Bc,t){const e=t.documentElement?t.documentElement.dir:null,n=(t.body?t.body.dir:null)||e;this.value="ltr"===n||"rtl"===n?n:"ltr"}}ngOnDestroy(){this.change.complete()}}return t.\u0275fac=function(e){return new(e||t)(Ei(jp,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(jp,8))},token:t,providedIn:"root"}),t})(),Bp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();class Vp{constructor(t=!1,e,n=!0){this._multiple=t,this._emitChanges=n,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new A,e&&e.length&&(t?e.forEach(t=>this._markSelected(t)):this._markSelected(e[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...t){this._verifyValueAssignment(t),t.forEach(t=>this._markSelected(t)),this._emitChangeEvent()}deselect(...t){this._verifyValueAssignment(t),t.forEach(t=>this._unmarkSelected(t)),this._emitChangeEvent()}toggle(t){this.isSelected(t)?this.deselect(t):this.select(t)}clear(){this._unmarkAll(),this._emitChangeEvent()}isSelected(t){return this._selection.has(t)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(t){this._multiple&&this.selected&&this._selected.sort(t)}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(t){this.isSelected(t)||(this._multiple||this._unmarkAll(),this._selection.add(t),this._emitChanges&&this._selectedToEmit.push(t))}_unmarkSelected(t){this.isSelected(t)&&(this._selection.delete(t),this._emitChanges&&this._deselectedToEmit.push(t))}_unmarkAll(){this.isEmpty()||this._selection.forEach(t=>this._unmarkSelected(t))}_verifyValueAssignment(t){}}let zp=(()=>{class t{constructor(){this._listeners=[]}notify(t,e){for(let n of this._listeners)n(t,e)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(e=>t!==e)}}ngOnDestroy(){this._listeners=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Up=(()=>{class t{constructor(t,e,n){this._ngZone=t,this._platform=e,this._scrolled=new A,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=n}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new E(e=>{this._globalSubscription||this._addGlobalListener();const n=t>0?this._scrolled.pipe(tp(t)).subscribe(e):this._scrolled.subscribe(e);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):Dd()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,e)=>this.deregister(e)),this._scrolled.complete()}ancestorScrolled(t,e){const n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(ep(t=>!t||n.indexOf(t)>-1))}getAncestorScrollContainers(t){const e=[];return this.scrollContainers.forEach((n,i)=>{this._scrollableContainsElement(i,t)&&e.push(i)}),e}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,e){let n=Id(e),i=t.getElementRef().nativeElement;do{if(n==i)return!0}while(n=n.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>Rd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(Ep),Ei(th,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Tu),Ei(Ep),Ei(th,8))},token:t,providedIn:"root"}),t})(),Hp=(()=>{class t{constructor(t,e,n){this._platform=t,this._change=new A,this._changeListener=t=>{this._change.next(t)},this._document=n,e.runOutsideAngular(()=>{if(t.isBrowser){const t=this._getWindow();t.addEventListener("resize",this._changeListener),t.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:e,height:n}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+n,right:t.left+e,height:n,width:e}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,e=this._getWindow(),n=t.documentElement,i=n.getBoundingClientRect();return{top:-i.top||t.body.scrollTop||e.scrollY||n.scrollTop||0,left:-i.left||t.body.scrollLeft||e.scrollX||n.scrollLeft||0}}change(t=20){return t>0?this._change.pipe(tp(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu),Ei(th,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu),Ei(th,8))},token:t,providedIn:"root"}),t})(),$p=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),Gp=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Bp,Op,$p],Bp,$p]}),t})();class Wp{attach(t){return this._attachedHost=t,t.attach(this)}detach(){let t=this._attachedHost;null!=t&&(this._attachedHost=null,t.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class qp extends Wp{constructor(t,e,n,i){super(),this.component=t,this.viewContainerRef=e,this.injector=n,this.componentFactoryResolver=i}}class Yp extends Wp{constructor(t,e,n){super(),this.templateRef=t,this.viewContainerRef=e,this.context=n}get origin(){return this.templateRef.elementRef}attach(t,e=this.context){return this.context=e,super.attach(t)}detach(){return this.context=void 0,super.detach()}}class Xp extends Wp{constructor(t){super(),this.element=t instanceof Al?t.nativeElement:t}}class Kp{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(t){return t instanceof qp?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof Yp?(this._attachedPortal=t,this.attachTemplatePortal(t)):this.attachDomPortal&&t instanceof Xp?(this._attachedPortal=t,this.attachDomPortal(t)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(t){this._disposeFn=t}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class Qp extends Kp{constructor(t,e,n,i,r){super(),this.outletElement=t,this._componentFactoryResolver=e,this._appRef=n,this._defaultInjector=i,this.attachDomPortal=t=>{const e=t.element,n=this._document.createComment("dom-portal");e.parentNode.insertBefore(n,e),this.outletElement.appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(e,n)})},this._document=r}attachComponentPortal(t){const e=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component);let n;return t.viewContainerRef?(n=t.viewContainerRef.createComponent(e,t.viewContainerRef.length,t.injector||t.viewContainerRef.injector),this.setDisposeFn(()=>n.destroy())):(n=e.create(t.injector||this._defaultInjector),this._appRef.attachView(n.hostView),this.setDisposeFn(()=>{this._appRef.detachView(n.hostView),n.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(n)),this._attachedPortal=t,n}attachTemplatePortal(t){let e=t.viewContainerRef,n=e.createEmbeddedView(t.templateRef,t.context);return n.rootNodes.forEach(t=>this.outletElement.appendChild(t)),n.detectChanges(),this.setDisposeFn(()=>{let t=e.indexOf(n);-1!==t&&e.remove(t)}),this._attachedPortal=t,n}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}let Zp=(()=>{class t extends Yp{constructor(t,e){super(t,e)}}return t.\u0275fac=function(e){return new(e||t)(ea(ac),ea(pc))},t.\u0275dir=se({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[jo]}),t})(),Jp=(()=>{class t extends Zp{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","cdk-portal",""],["","portal",""]],exportAs:["cdkPortal"],features:[xl([{provide:Zp,useExisting:t}]),jo]}),t})(),tf=(()=>{class t extends Kp{constructor(t,e,n){super(),this._componentFactoryResolver=t,this._viewContainerRef=e,this._isInitialized=!1,this.attached=new Bc,this.attachDomPortal=t=>{const e=t.element,n=this._document.createComment("dom-portal");t.setAttachedHost(this),e.parentNode.insertBefore(n,e),this._getRootNode().appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(e,n)})},this._document=n}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const e=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,n=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),i=e.createComponent(n,e.length,t.injector||e.injector);return e!==this._viewContainerRef&&this._getRootNode().appendChild(i.hostView.rootNodes[0]),super.setDisposeFn(()=>i.destroy()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}attachTemplatePortal(t){t.setAttachedHost(this);const e=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=e,this.attached.emit(e),e}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return t.\u0275fac=function(e){return new(e||t)(ea(Ol),ea(pc),ea(th))},t.\u0275dir=se({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[jo]}),t})(),ef=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const nf=(()=>{function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t})();function rf(t){return e=>0===t?fp():e.lift(new sf(t))}class sf{constructor(t){if(this.total=t,this.total<0)throw new nf}call(t,e){return e.subscribe(new of(t,this.total))}}class of extends v{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))}}function af(t,e=!1){return n=>n.lift(new lf(t,e))}class lf{constructor(t,e){this.predicate=t,this.inclusive=e}call(t,e){return e.subscribe(new cf(t,this.predicate,this.inclusive))}}class cf extends v{constructor(t,e,n){super(t),this.predicate=e,this.inclusive=n,this.index=0}_next(t){const e=this.destination;let n;try{n=this.predicate(t,this.index++)}catch(i){return void e.error(i)}this.nextOrComplete(t,n)}nextOrComplete(t,e){const n=this.destination;Boolean(e)?n.next(t):(this.inclusive&&n.next(t),n.complete())}}function uf(t,...e){return e.length?e.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}const hf=Dp();class df{constructor(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=Md(-this._previousScrollPosition.left),t.style.top=Md(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const t=this._document.documentElement,e=t.style,n=this._document.body.style,i=e.scrollBehavior||"",r=n.scrollBehavior||"";this._isEnabled=!1,e.left=this._previousHTMLStyles.left,e.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),hf&&(e.scrollBehavior=n.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),hf&&(e.scrollBehavior=i,n.scrollBehavior=r)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width}}class pf{constructor(t,e,n,i){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=i,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(t){this._overlayRef=t}enable(){if(this._scrollSubscription)return;const t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class ff{enable(){}disable(){}attach(){}}function gf(t,e){return e.some(e=>t.bottome.bottom||t.righte.right)}function mf(t,e){return e.some(e=>t.tope.bottom||t.lefte.right)}class bf{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=i,this._scrollSubscription=null}attach(t){this._overlayRef=t}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:e,height:n}=this._viewportRuler.getViewportSize();gf(t,[{width:e,height:n,bottom:n,right:e,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}}let yf=(()=>{class t{constructor(t,e,n,i){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=()=>new ff,this.close=t=>new pf(this._scrollDispatcher,this._ngZone,this._viewportRuler,t),this.block=()=>new df(this._viewportRuler,this._document),this.reposition=t=>new bf(this._scrollDispatcher,this._viewportRuler,this._ngZone,t),this._document=i}}return t.\u0275fac=function(e){return new(e||t)(Ei(Up),Ei(Hp),Ei(Tu),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Up),Ei(Hp),Ei(Tu),Ei(th))},token:t,providedIn:"root"}),t})();class vf{constructor(t){if(this.scrollStrategy=new ff,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t){const e=Object.keys(t);for(const n of e)void 0!==t[n]&&(this[n]=t[n])}}}class _f{constructor(t,e,n,i,r){this.offsetX=n,this.offsetY=i,this.panelClass=r,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class wf{constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}let xf=(()=>{class t{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this.detach()}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})(),Sf=(()=>{class t extends xf{constructor(t){super(t),this._keydownListener=t=>{const e=this._attachedOverlays;for(let n=e.length-1;n>-1;n--)if(e[n]._keydownEvents.observers.length>0){e[n]._keydownEvents.next(t);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})(),Cf=(()=>{class t extends xf{constructor(t,e){super(t),this._platform=e,this._cursorStyleIsSet=!1,this._clickListener=t=>{const e=Lp(t),n=this._attachedOverlays.slice();for(let i=n.length-1;i>-1;i--){const r=n[i];if(!(r._outsidePointerEvents.observers.length<1)&&r.hasAttached()){if(r.overlayElement.contains(e))break;r._outsidePointerEvents.next(t)}}}}add(t){if(super.add(t),!this._isAttached){const t=this._document.body;t.addEventListener("click",this._clickListener,!0),t.addEventListener("auxclick",this._clickListener,!0),t.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=t.style.cursor,t.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(th),Ei(Ep))},token:t,providedIn:"root"}),t})();const Ef="undefined"!=typeof window?window:{},Of=void 0!==Ef.__karma__&&!!Ef.__karma__||void 0!==Ef.jasmine&&!!Ef.jasmine||void 0!==Ef.jest&&!!Ef.jest||void 0!==Ef.Mocha&&!!Ef.Mocha;let Tf=(()=>{class t{constructor(t,e){this._platform=e,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||Of){const e=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let t=0;tthis._backdropClick.next(t),this._keydownEvents=new A,this._outsidePointerEvents=new A,i.scrollStrategy&&(this._scrollStrategy=i.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=i.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(t){let e=this._portalOutlet.attach(t);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(rf(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),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),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),t}dispose(){const t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),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&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.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(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))}updateSize(t){this._config=Object.assign(Object.assign({},this._config),t),this._updateElementSize()}setDirection(t){this._config=Object.assign(Object.assign({},this._config),{direction:t}),this._updateElementDirection()}addPanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!0)}removePanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!1)}getDirection(){const t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"}updateScrollStrategy(t){t!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=t,this.hasAttached()&&(t.attach(this),t.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const t=this._pane.style;t.width=Md(this._config.width),t.height=Md(this._config.height),t.minWidth=Md(this._config.minWidth),t.minHeight=Md(this._config.minHeight),t.maxWidth=Md(this._config.maxWidth),t.maxHeight=Md(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"":"none"}_attachBackdrop(){const t="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),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),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(t)})}):this._backdropElement.classList.add(t)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let t=this._backdropElement;if(!t)return;let e,n=()=>{t&&(t.removeEventListener("click",this._backdropClickHandler),t.removeEventListener("transitionend",n),t.parentNode&&t.parentNode.removeChild(t)),this._backdropElement==t&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(t,this._config.backdropClass,!1),clearTimeout(e)};t.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{t.addEventListener("transitionend",n)}),t.style.pointerEvents="none",e=this._ngZone.runOutsideAngular(()=>setTimeout(n,500))}_toggleClasses(t,e,n){const i=t.classList;Ad(e).forEach(t=>{t&&(n?i.add(t):i.remove(t))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const t=this._ngZone.onStable.pipe(rp(Q(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),t.unsubscribe())})})}_disposeScrollStrategy(){const t=this._scrollStrategy;t&&(t.disable(),t.detach&&t.detach())}}const Pf="cdk-overlay-connected-position-bounding-box",Af=/([A-Za-z%]+)$/;class Mf{constructor(t,e,n,i,r){this._viewportRuler=e,this._document=n,this._platform=i,this._overlayContainer=r,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 A,this._resizeSubscription=g.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(t)}get positions(){return this._preferredPositions}attach(t){this._validatePositions(),t.hostElement.classList.add(Pf),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.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)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const t=this._originRect,e=this._overlayRect,n=this._viewportRect,i=[];let r;for(let s of this._preferredPositions){let o=this._getOriginPoint(t,s),a=this._getOverlayPoint(o,e,s),l=this._getOverlayFit(a,e,n,s);if(l.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(s,o);this._canFitWithFlexibleDimensions(l,a,n)?i.push({position:s,origin:o,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(o,s)}):(!r||r.overlayFit.visibleAreae&&(e=i,t=n)}return this._isPushed=!1,void this._applyPosition(t.position,t.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(r.position,r.originPoint);this._applyPosition(r.position,r.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&If(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Pf),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}}withScrollableContainers(t){return this._scrollables=t,this}withPositions(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e){let n,i;if("center"==e.originX)n=t.left+t.width/2;else{const i=this._isRtl()?t.right:t.left,r=this._isRtl()?t.left:t.right;n="start"==e.originX?i:r}return i="center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom,{x:n,y:i}}_getOverlayPoint(t,e,n){let i,r;return i="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,r="center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height,{x:t.x+i,y:t.y+r}}_getOverlayFit(t,e,n,i){const r=Rf(e);let{x:s,y:o}=t,a=this._getOffset(i,"x"),l=this._getOffset(i,"y");a&&(s+=a),l&&(o+=l);let c=0-o,u=o+r.height-n.height,h=this._subtractOverflows(r.width,0-s,s+r.width-n.width),d=this._subtractOverflows(r.height,c,u),p=h*d;return{visibleArea:p,isCompletelyWithinViewport:r.width*r.height===p,fitsInViewportVertically:d===r.height,fitsInViewportHorizontally:h==r.width}}_canFitWithFlexibleDimensions(t,e,n){if(this._hasFlexibleDimensions){const i=n.bottom-e.y,r=n.right-e.x,s=Df(this._overlayRef.getConfig().minHeight),o=Df(this._overlayRef.getConfig().minWidth),a=t.fitsInViewportHorizontally||null!=o&&o<=r;return(t.fitsInViewportVertically||null!=s&&s<=i)&&a}return!1}_pushOverlayOnScreen(t,e,n){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};const i=Rf(e),r=this._viewportRect,s=Math.max(t.x+i.width-r.width,0),o=Math.max(t.y+i.height-r.height,0),a=Math.max(r.top-n.top-t.y,0),l=Math.max(r.left-n.left-t.x,0);let c=0,u=0;return c=i.width<=r.width?l||-s:t.xi&&!this._isInitialRender&&!this._growAfterOpen&&(s=t.y-i/2)}if("end"===e.overlayX&&!i||"start"===e.overlayX&&i)c=n.width-t.x+this._viewportMargin,a=t.x-this._viewportMargin;else if("start"===e.overlayX&&!i||"end"===e.overlayX&&i)l=t.x,a=n.right-t.x;else{const e=Math.min(n.right-t.x+n.left,t.x),i=this._lastBoundingBoxSize.width;a=2*e,l=t.x-e,a>i&&!this._isInitialRender&&!this._growAfterOpen&&(l=t.x-i/2)}return{top:s,left:l,bottom:o,right:c,width:a,height:r}}_setBoundingBoxStyles(t,e){const n=this._calculateBoundingBoxRect(t,e);!this._isInitialRender&&!this._growAfterOpen&&(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));const i={};if(this._hasExactPosition())i.top=i.left="0",i.bottom=i.right=i.maxHeight=i.maxWidth="",i.width=i.height="100%";else{const t=this._overlayRef.getConfig().maxHeight,r=this._overlayRef.getConfig().maxWidth;i.height=Md(n.height),i.top=Md(n.top),i.bottom=Md(n.bottom),i.width=Md(n.width),i.left=Md(n.left),i.right=Md(n.right),i.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",i.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",t&&(i.maxHeight=Md(t)),r&&(i.maxWidth=Md(r))}this._lastBoundingBoxSize=n,If(this._boundingBox.style,i)}_resetBoundingBoxStyles(){If(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){If(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(t,e){const n={},i=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(i){const i=this._viewportRuler.getViewportScrollPosition();If(n,this._getExactOverlayY(e,t,i)),If(n,this._getExactOverlayX(e,t,i))}else n.position="static";let o="",a=this._getOffset(e,"x"),l=this._getOffset(e,"y");a&&(o+=`translateX(${a}px) `),l&&(o+=`translateY(${l}px)`),n.transform=o.trim(),s.maxHeight&&(i?n.maxHeight=Md(s.maxHeight):r&&(n.maxHeight="")),s.maxWidth&&(i?n.maxWidth=Md(s.maxWidth):r&&(n.maxWidth="")),If(this._pane.style,n)}_getExactOverlayY(t,e,n){let i={top:"",bottom:""},r=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,n));let s=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return r.y-=s,"bottom"===t.overlayY?i.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":i.top=Md(r.y),i}_getExactOverlayX(t,e,n){let i,r={left:"",right:""},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,n)),i=this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left","right"===i?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=Md(s.x),r}_getScrollVisibility(){const t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),n=this._scrollables.map(t=>t.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:mf(t,n),isOriginOutsideView:gf(t,n),isOverlayClipped:mf(e,n),isOverlayOutsideView:gf(e,n)}}_subtractOverflows(t,...e){return e.reduce((t,e)=>t-Math.max(e,0),t)}_getNarrowedViewportRect(){const t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,n=this._viewportRuler.getViewportScrollPosition();return{top:n.top+this._viewportMargin,left:n.left+this._viewportMargin,right:n.left+t-this._viewportMargin,bottom:n.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY}_validatePositions(){}_addPanelClasses(t){this._pane&&Ad(t).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(t=>{this._pane.classList.remove(t)}),this._appliedPanelClasses=[])}_getOriginRect(){const t=this._origin;if(t instanceof Al)return t.nativeElement.getBoundingClientRect();if(t instanceof Element)return t.getBoundingClientRect();const e=t.width||0,n=t.height||0;return{top:t.y,bottom:t.y+n,left:t.x,right:t.x+e,height:n,width:e}}}function If(t,e){for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function Df(t){if("number"!=typeof t&&null!=t){const[e,n]=t.split(Af);return n&&"px"!==n?null:parseFloat(e)}return t||null}function Rf(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}class Nf{constructor(t,e,n,i,r,s,o){this._preferredPositions=[],this._positionStrategy=new Mf(n,i,r,s,o).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(t,e),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(t){this._overlayRef=t,this._positionStrategy.attach(t),this._direction&&(t.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(t){this._positionStrategy.withScrollableContainers(t)}withFallbackPosition(t,e,n,i){const r=new _f(t,e,n,i);return this._preferredPositions.push(r),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(t){return this._overlayRef?this._overlayRef.setDirection(t):this._direction=t,this}withOffsetX(t){return this._positionStrategy.withDefaultOffsetX(t),this}withOffsetY(t){return this._positionStrategy.withDefaultOffsetY(t),this}withLockedPosition(t){return this._positionStrategy.withLockedPosition(t),this}withPositions(t){return this._preferredPositions=t.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(t){return this._positionStrategy.setOrigin(t),this}}const Lf="cdk-global-overlay-wrapper";class jf{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(t){const e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add(Lf),this._isDisposed=!1}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._justifyContent="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,n=this._overlayRef.getConfig(),{width:i,height:r,maxWidth:s,maxHeight:o}=n,a=!("100%"!==i&&"100vw"!==i||s&&"100%"!==s&&"100vw"!==s),l=!("100%"!==r&&"100vh"!==r||o&&"100%"!==o&&"100vh"!==o);t.position=this._cssPosition,t.marginLeft=a?"0":this._leftOffset,t.marginTop=l?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=this._rightOffset,a?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems=l?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,n=e.style;e.classList.remove(Lf),n.justifyContent=n.alignItems=t.marginTop=t.marginBottom=t.marginLeft=t.marginRight=t.position="",this._overlayRef=null,this._isDisposed=!0}}let Ff=(()=>{class t{constructor(t,e,n,i){this._viewportRuler=t,this._document=e,this._platform=n,this._overlayContainer=i}global(){return new jf}connectedTo(t,e,n){return new Nf(e,n,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new Mf(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Hp),Ei(th),Ei(Ep),Ei(Tf))},t.\u0275prov=xt({factory:function(){return new t(Ei(Hp),Ei(th),Ei(Ep),Ei(Tf))},token:t,providedIn:"root"}),t})(),Bf=0,Vf=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=n,this._positionBuilder=i,this._keyboardDispatcher=r,this._injector=s,this._ngZone=o,this._document=a,this._directionality=l,this._location=c,this._outsideClickDispatcher=u}create(t){const e=this._createHostElement(),n=this._createPaneElement(e),i=this._createPortalOutlet(n),r=new vf(t);return r.direction=r.direction||this._directionality.value,new kf(i,e,n,r,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const e=this._document.createElement("div");return e.id="cdk-overlay-"+Bf++,e.classList.add("cdk-overlay-pane"),t.appendChild(e),e}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(qu)),new Qp(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return t.\u0275fac=function(e){return new(e||t)(Ei(yf),Ei(Tf),Ei(Ol),Ei(Ff),Ei(Sf),Ei(No),Ei(Tu),Ei(th),Ei(Fp),Ei(ph),Ei(Cf))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const zf=[{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"}],Uf=new oi("cdk-connected-overlay-scroll-strategy");let Hf=(()=>{class t{constructor(t){this.elementRef=t}}return t.\u0275fac=function(e){return new(e||t)(ea(Al))},t.\u0275dir=se({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),t})(),$f=(()=>{class t{constructor(t,e,n,i,r){this._overlay=t,this._dir=r,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=g.EMPTY,this._attachSubscription=g.EMPTY,this._detachSubscription=g.EMPTY,this._positionSubscription=g.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new Bc,this.positionChange=new Bc,this.attach=new Bc,this.detach=new Bc,this.overlayKeydown=new Bc,this.overlayOutsideClick=new Bc,this._templatePortal=new Yp(e,n),this._scrollStrategyFactory=i,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(t){this._offsetX=t,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(t){this._offsetY=t,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=kd(t)}get lockPosition(){return this._lockPosition}set lockPosition(t){this._lockPosition=kd(t)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(t){this._flexibleDimensions=kd(t)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(t){this._growAfterOpen=kd(t)}get push(){return this._push}set push(t){this._push=kd(t)}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(t){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),t.origin&&this.open&&this._position.apply()),t.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=zf);const t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=t.detachments().subscribe(()=>this.detach.emit()),t.keydownEvents().subscribe(t=>{this.overlayKeydown.next(t),27===t.keyCode&&!this.disableClose&&!uf(t)&&(t.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(t=>{this.overlayOutsideClick.next(t)})}_buildConfig(){const t=this._position=this.positionStrategy||this._createPositionStrategy(),e=new vf({direction:this._dir,positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(e.width=this.width),(this.height||0===this.height)&&(e.height=this.height),(this.minWidth||0===this.minWidth)&&(e.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(e.minHeight=this.minHeight),this.backdropClass&&(e.backdropClass=this.backdropClass),this.panelClass&&(e.panelClass=this.panelClass),e}_updatePositionStrategy(t){const e=this.positions.map(t=>({originX:t.originX,originY:t.originY,overlayX:t.overlayX,overlayY:t.overlayY,offsetX:t.offsetX||this.offsetX,offsetY:t.offsetY||this.offsetY,panelClass:t.panelClass||void 0}));return t.setOrigin(this.origin.elementRef).withPositions(e).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const t=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(t),t}_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(t=>{this.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(af(()=>this.positionChange.observers.length>0)).subscribe(t=>{this.positionChange.emit(t),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(ac),ea(pc),ea(Uf),ea(Fp,8))},t.\u0275dir=se({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[ye]}),t})();const Gf={provide:Uf,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};let Wf=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Vf,Gf],imports:[[Bp,ef,Gp],Gp]}),t})();const qf={schedule(t,e){const n=setTimeout(t,e);return()=>clearTimeout(n)},scheduleBeforeRender(t){if("undefined"==typeof window)return qf.schedule(t,0);if(void 0===window.requestAnimationFrame)return qf.schedule(t,16);const e=window.requestAnimationFrame(t);return()=>window.cancelAnimationFrame(e)}};let Yf;function Xf(t,e,n){let i=n;return function(t){return!!t&&t.nodeType===Node.ELEMENT_NODE}(t)&&e.some((e,n)=>!("*"===e||!function(t,e){if(!Yf){const t=Element.prototype;Yf=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return t.nodeType===Node.ELEMENT_NODE&&Yf.call(t,e)}(t,e)||(i=n,0))),i}class Kf{constructor(t,e){this.componentFactory=e.get(Ol).resolveComponentFactory(t)}create(t){return new Qf(this.componentFactory,t)}}class Qf{constructor(t,e){this.componentFactory=t,this.injector=e,this.eventEmitters=new _p(1),this.events=this.eventEmitters.pipe(cp(t=>Q(...t))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:t})=>t)),this.ngZone=this.injector.get(Tu),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(()=>Zone.current)}connect(t){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(t)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=qf.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(t){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(t):this.componentRef.instance[t])}setInputValue(t,e){this.runInZone(()=>{null!==this.componentRef?function(t,e){return t===e||t!=t&&e!=e}(e,this.getInputValue(t))&&(void 0!==e||!this.unchangedInputs.has(t))||(this.recordInputChange(t,e),this.unchangedInputs.delete(t),this.hasInputChanges=!0,this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e)})}initializeComponent(t){const e=No.create({providers:[],parent:this.injector}),n=function(t,e){const n=t.childNodes,i=e.map(()=>[]);let r=-1;e.some((t,e)=>"*"===t&&(r=e,!0));for(let s=0,o=n.length;s{this.initialInputValues.has(t)&&this.setInputValue(t,this.initialInputValues.get(t))}),this.initialInputValues.clear()}initializeOutputs(t){const e=this.componentFactory.outputs.map(({propName:e,templateName:n})=>t.instance[e].pipe(D(t=>({name:n,value:t}))));this.eventEmitters.next(e)}callNgOnChanges(t){if(!this.implementsOnChanges||null===this.inputChanges)return;const e=this.inputChanges;this.inputChanges=null,t.instance.ngOnChanges(e)}markViewForCheck(t){this.hasInputChanges&&(this.hasInputChanges=!1,t.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=qf.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const n=this.inputChanges[t];if(n)return void(n.currentValue=e);const i=this.unchangedInputs.has(t),r=i?void 0:this.getInputValue(t);this.inputChanges[t]=new be(r,e,i)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(t){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(t):t()}}class Zf extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class Jf extends A{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new T;return this._value}next(t){super.next(this._value=t)}}function tg(){}function eg(t,e,n){return function(i){return i.lift(new ng(t,e,n))}}class ng{constructor(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}call(t,e){return e.subscribe(new ig(t,this.nextOrObserver,this.error,this.complete))}}class ig extends v{constructor(t,e,n,i){super(t),this._tapNext=tg,this._tapError=tg,this._tapComplete=tg,this._tapError=n||tg,this._tapComplete=i||tg,a(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||tg,this._tapError=e.error||tg,this._tapComplete=e.complete||tg)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}function rg(t,e=Xd){return n=>n.lift(new sg(t,e))}class sg{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new og(t,this.dueTime,this.scheduler))}}class og extends v{constructor(t,e,n){super(t),this.dueTime=e,this.scheduler=n,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(ag,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function ag(t){t.debouncedNext()}function lg(t){return e=>e.lift(new cg(t))}class cg{constructor(t){this.total=t}call(t,e){return e.subscribe(new ug(t,this.total))}}class ug extends v{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){++this.count>this.total&&this.destination.next(t)}}let hg=(()=>{class t{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),dg=(()=>{class t{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,e)=>this._cleanupObserver(e))}observe(t){const e=Id(t);return new E(t=>{const n=this._observeElement(e).subscribe(t);return()=>{n.unsubscribe(),this._unobserveElement(e)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const e=new A,n=this._mutationObserverFactory.create(t=>e.next(t));n&&n.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:n,stream:e,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:e,stream:n}=this._observedElements.get(t);e&&e.disconnect(),n.complete(),this._observedElements.delete(t)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hg))},t.\u0275prov=xt({factory:function(){return new t(Ei(hg))},token:t,providedIn:"root"}),t})(),pg=(()=>{class t{constructor(t,e,n){this._contentObserver=t,this._elementRef=e,this._ngZone=n,this.event=new Bc,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=Pd(t),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe(rg(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(dg),ea(Al),ea(Tu))},t.\u0275dir=se({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),t})(),fg=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[hg]}),t})();function gg(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}const mg="cdk-describedby-message-container",bg="cdk-describedby-message",yg="cdk-describedby-host";let vg=0;const _g=new Map;let wg=null,xg=(()=>{class t{constructor(t){this._document=t}describe(t,e,n){if(!this._canBeDescribed(t,e))return;const i=Sg(e,n);"string"!=typeof e?(Cg(e),_g.set(i,{messageElement:e,referenceCount:0})):_g.has(i)||this._createMessageElement(e,n),this._isElementDescribedByMessage(t,i)||this._addMessageReference(t,i)}removeDescription(t,e,n){if(!e||!this._isElementNode(t))return;const i=Sg(e,n);if(this._isElementDescribedByMessage(t,i)&&this._removeMessageReference(t,i),"string"==typeof e){const t=_g.get(i);t&&0===t.referenceCount&&this._deleteMessageElement(i)}wg&&0===wg.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll(`[${yg}]`);for(let e=0;e0!=t.indexOf(bg));t.setAttribute("aria-describedby",e.join(" "))}_addMessageReference(t,e){const n=_g.get(e);(function(t,e,n){const i=gg(t,e);i.some(t=>t.trim()==n.trim())||(i.push(n.trim()),t.setAttribute(e,i.join(" ")))})(t,"aria-describedby",n.messageElement.id),t.setAttribute(yg,""),n.referenceCount++}_removeMessageReference(t,e){const n=_g.get(e);n.referenceCount--,function(t,e,n){const i=gg(t,e).filter(t=>t!=n.trim());i.length?t.setAttribute(e,i.join(" ")):t.removeAttribute(e)}(t,"aria-describedby",n.messageElement.id),t.removeAttribute(yg)}_isElementDescribedByMessage(t,e){const n=gg(t,"aria-describedby"),i=_g.get(e),r=i&&i.messageElement.id;return!!r&&-1!=n.indexOf(r)}_canBeDescribed(t,e){if(!this._isElementNode(t))return!1;if(e&&"object"==typeof e)return!0;const n=null==e?"":`${e}`.trim(),i=t.getAttribute("aria-label");return!(!n||i&&i.trim()===n)}_isElementNode(t){return t.nodeType===this._document.ELEMENT_NODE}}return t.\u0275fac=function(e){return new(e||t)(Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(th))},token:t,providedIn:"root"}),t})();function Sg(t,e){return"string"==typeof t?`${e||""}/${t}`:t}function Cg(t){t.id||(t.id=`${bg}-${vg++}`)}class Eg extends class{constructor(t){this._items=t,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new A,this._typeaheadSubscription=g.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=t=>t.disabled,this._pressedLetters=[],this.tabOut=new A,this.change=new A,t instanceof zc&&t.changes.subscribe(t=>{if(this._activeItem){const e=t.toArray().indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}})}skipPredicate(t){return this._skipPredicateFn=t,this}withWrap(t=!0){return this._wrap=t,this}withVerticalOrientation(t=!0){return this._vertical=t,this}withHorizontalOrientation(t){return this._horizontal=t,this}withAllowedModifierKeys(t){return this._allowedModifierKeys=t,this}withTypeAhead(t=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(eg(t=>this._pressedLetters.push(t)),rg(t),ep(()=>this._pressedLetters.length>0),D(()=>this._pressedLetters.join(""))).subscribe(t=>{const e=this._getItemsArray();for(let n=1;n!t[e]||this._allowedModifierKeys.indexOf(e)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&n){this.setNextItemActive();break}return;case 38:if(this._vertical&&n){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&n){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&n){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&n){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&n){this.setLastItemActive();break}return;default:return void((n||uf(t,"shiftKey"))&&(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(e>=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],t.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._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(t){const e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t),i=e[n];this._activeItem=null==i?null:i,this._activeItemIndex=n}_setActiveItemByDelta(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}_setActiveInWrapMode(t){const e=this._getItemsArray();for(let n=1;n<=e.length;n++){const i=(this._activeItemIndex+t*n+e.length)%e.length;if(!this._skipPredicateFn(e[i]))return void this.setActiveItem(i)}}_setActiveInDefaultMode(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}_setActiveItemByIndex(t,e){const n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}}_getItemsArray(){return this._items instanceof zc?this._items.toArray():this._items}}{setActiveItem(t){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(t),this.activeItem&&this.activeItem.setActiveStyles()}}let Og=(()=>{class t{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const e=function(t){try{return t.frameElement}catch(e){return null}}(function(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}(t));if(e&&(-1===kg(e)||!this.isVisible(e)))return!1;let n=t.nodeName.toLowerCase(),i=kg(t);return t.hasAttribute("contenteditable")?-1!==i:!("iframe"===n||"object"===n||this._platform.WEBKIT&&this._platform.IOS&&!function(t){let e=t.nodeName.toLowerCase(),n="input"===e&&t.type;return"text"===n||"password"===n||"select"===e||"textarea"===e}(t))&&("audio"===n?!!t.hasAttribute("controls")&&-1!==i:"video"===n?-1!==i&&(null!==i||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,e){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){let e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||Tg(t))}(t)&&!this.isDisabled(t)&&((null==e?void 0:e.ignoreVisibility)||this.isVisible(t))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep))},token:t,providedIn:"root"}),t})();function Tg(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function kg(t){if(!Tg(t))return null;const e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class Pg{constructor(t,e,n,i,r=!1){this._element=t,this._checker=e,this._ngZone=n,this._document=i,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,r||this.attachAnchors()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}destroy(){const t=this._startAnchor,e=this._endAnchor;t&&(t.removeEventListener("focus",this.startAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),e&&(e.removeEventListener("focus",this.endAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(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(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(t)))})}focusFirstTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(t)))})}focusLastTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(t)))})}_getRegionBoundary(t){let e=this._element.querySelectorAll(`[cdk-focus-region-${t}], [cdkFocusRegion${t}], [cdk-focus-${t}]`);for(let n=0;n=0;n--){let t=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(t)return t}return null}_createAnchor(){const t=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,t),t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t.setAttribute("aria-hidden","true"),t}_toggleAnchorTabIndex(t,e){t?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(t){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}_executeOnStable(t){this._ngZone.isStable?t():this._ngZone.onStable.pipe(rf(1)).subscribe(t)}}let Ag=(()=>{class t{constructor(t,e,n){this._checker=t,this._ngZone=e,this._document=n}create(t,e=!1){return new Pg(t,this._checker,this._ngZone,this._document,e)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Og),Ei(Tu),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Og),Ei(Tu),Ei(th))},token:t,providedIn:"root"}),t})();function Mg(t){return 0===t.offsetX&&0===t.offsetY}function Ig(t){const e=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}"undefined"!=typeof Element&∈const Dg=new oi("cdk-input-modality-detector-options"),Rg={ignoreKeys:[18,17,224,91,16]},Ng=Ip({passive:!0,capture:!0});let Lg=(()=>{class t{constructor(t,e,n,i){this._platform=t,this._mostRecentTarget=null,this._modality=new Jf(null),this._lastTouchMs=0,this._onKeydown=t=>{var e,n;(null===(n=null===(e=this._options)||void 0===e?void 0:e.ignoreKeys)||void 0===n?void 0:n.some(e=>e===t.keyCode))||(this._modality.next("keyboard"),this._mostRecentTarget=Lp(t))},this._onMousedown=t=>{Date.now()-this._lastTouchMs<650||(this._modality.next(Mg(t)?"keyboard":"mouse"),this._mostRecentTarget=Lp(t))},this._onTouchstart=t=>{Ig(t)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Lp(t))},this._options=Object.assign(Object.assign({},Rg),i),this.modalityDetected=this._modality.pipe(lg(1)),this.modalityChanged=this.modalityDetected.pipe(Wd()),t.isBrowser&&e.runOutsideAngular(()=>{n.addEventListener("keydown",this._onKeydown,Ng),n.addEventListener("mousedown",this._onMousedown,Ng),n.addEventListener("touchstart",this._onTouchstart,Ng)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){!this._platform.isBrowser||(document.removeEventListener("keydown",this._onKeydown,Ng),document.removeEventListener("mousedown",this._onMousedown,Ng),document.removeEventListener("touchstart",this._onTouchstart,Ng))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu),Ei(th),Ei(Dg,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu),Ei(th),Ei(Dg,8))},token:t,providedIn:"root"}),t})();const jg=new oi("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),Fg=new oi("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let Bg=(()=>{class t{constructor(t,e,n,i){this._ngZone=e,this._defaultOptions=i,this._document=n,this._liveElement=t||this._createLiveElement()}announce(t,...e){const n=this._defaultOptions;let i,r;return 1===e.length&&"number"==typeof e[0]?r=e[0]:[i,r]=e,this.clear(),clearTimeout(this._previousTimeout),i||(i=n&&n.politeness?n.politeness:"polite"),null==r&&n&&(r=n.duration),this._liveElement.setAttribute("aria-live",i),this._ngZone.runOutsideAngular(()=>new Promise(e=>{clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=t,e(),"number"==typeof r&&(this._previousTimeout=setTimeout(()=>this.clear(),r))},100)}))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement&&this._liveElement.parentNode&&(this._liveElement.parentNode.removeChild(this._liveElement),this._liveElement=null)}_createLiveElement(){const t="cdk-live-announcer-element",e=this._document.getElementsByClassName(t),n=this._document.createElement("div");for(let i=0;i{class t{constructor(t,e,n,i,r){this._ngZone=t,this._platform=e,this._inputModalityDetector=n,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=setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new A,this._rootNodeFocusAndBlurListener=t=>{const e=Lp(t),n="focus"===t.type?this._onFocus:this._onBlur;for(let i=e;i;i=i.parentElement)n.call(this,t,i)},this._document=i,this._detectionMode=(null==r?void 0:r.detectionMode)||0}monitor(t,e=!1){const n=Id(t);if(!this._platform.isBrowser||1!==n.nodeType)return Dd(null);const i=Rp(n)||this._getDocument(),r=this._elementInfo.get(n);if(r)return e&&(r.checkChildren=!0),r.subject;const s={checkChildren:e,subject:new A,rootNode:i};return this._elementInfo.set(n,s),this._registerGlobalListeners(s),s.subject}stopMonitoring(t){const e=Id(t),n=this._elementInfo.get(e);n&&(n.subject.complete(),this._setClasses(e),this._elementInfo.delete(e),this._removeGlobalListeners(n))}focusVia(t,e,n){const i=Id(t);i===this._getDocument().activeElement?this._getClosestElementsInfo(i).forEach(([t,n])=>this._originChanged(t,e,n)):(this._setOrigin(e),"function"==typeof i.focus&&i.focus(n))}ngOnDestroy(){this._elementInfo.forEach((t,e)=>this.stopMonitoring(e))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,e,n){n?t.classList.add(e):t.classList.remove(e)}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:"program"}_shouldBeAttributedToTouch(t){return 1===this._detectionMode||!!(null==t?void 0:t.contains(this._inputModalityDetector._mostRecentTarget))}_setClasses(t,e){this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e)}_setOrigin(t,e=!1){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originFromTouchInteraction="touch"===t&&e,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(t,e){const n=this._elementInfo.get(e),i=Lp(t);!n||!n.checkChildren&&e!==i||this._originChanged(e,this._getFocusOrigin(i),n)}_onBlur(t,e){const n=this._elementInfo.get(e);!n||n.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),this._emitOrigin(n.subject,null))}_emitOrigin(t,e){this._ngZone.run(()=>t.next(e))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const e=t.rootNode,n=this._rootNodeFocusListenerCount.get(e)||0;n||this._ngZone.runOutsideAngular(()=>{e.addEventListener("focus",this._rootNodeFocusAndBlurListener,zg),e.addEventListener("blur",this._rootNodeFocusAndBlurListener,zg)}),this._rootNodeFocusListenerCount.set(e,n+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(rp(this._stopInputModalityDetector)).subscribe(t=>{this._setOrigin(t,!0)}))}_removeGlobalListeners(t){const e=t.rootNode;if(this._rootNodeFocusListenerCount.has(e)){const t=this._rootNodeFocusListenerCount.get(e);t>1?this._rootNodeFocusListenerCount.set(e,t-1):(e.removeEventListener("focus",this._rootNodeFocusAndBlurListener,zg),e.removeEventListener("blur",this._rootNodeFocusAndBlurListener,zg),this._rootNodeFocusListenerCount.delete(e))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,e,n){this._setClasses(t,e),this._emitOrigin(n.subject,e),this._lastFocusOrigin=e}_getClosestElementsInfo(t){const e=[];return this._elementInfo.forEach((n,i)=>{(i===t||n.checkChildren&&i.contains(t))&&e.push([i,n])}),e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(Ep),Ei(Lg),Ei(th,8),Ei(Vg,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Tu),Ei(Ep),Ei(Lg),Ei(th,8),Ei(Vg,8))},token:t,providedIn:"root"}),t})();const Hg="cdk-high-contrast-black-on-white",$g="cdk-high-contrast-white-on-black",Gg="cdk-high-contrast-active";let Wg=(()=>{class t{constructor(t,e){this._platform=t,this._document=e}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const e=this._document.defaultView||window,n=e&&e.getComputedStyle?e.getComputedStyle(t):null,i=(n&&n.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),i){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(Gg),t.remove(Hg),t.remove($g),this._hasCheckedHighContrastMode=!0;const e=this.getHighContrastMode();1===e?(t.add(Gg),t.add(Hg)):2===e&&(t.add(Gg),t.add($g))}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(th))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(th))},token:t,providedIn:"root"}),t})(),qg=(()=>{class t{constructor(t){t._applyBodyHighContrastModeCssClasses()}}return t.\u0275fac=function(e){return new(e||t)(Ei(Wg))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Op,fg]]}),t})();const Yg=new Ll("12.2.5");class Xg{}const Kg="*";function Qg(t,e){return{type:7,name:t,definitions:e,options:{}}}function Zg(t,e=null){return{type:4,styles:e,timings:t}}function Jg(t,e=null){return{type:2,steps:t,options:e}}function tm(t){return{type:6,styles:t,offset:null}}function em(t,e,n){return{type:0,name:t,styles:e,options:n}}function nm(t){return{type:5,steps:t}}function im(t,e,n=null){return{type:1,expr:t,animation:e,options:n}}function rm(t=null){return{type:9,options:t}}function sm(t,e,n=null){return{type:11,selector:t,animation:e,options:n}}function om(t){Promise.resolve(null).then(t)}class am{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){om(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(t){this._position=this.totalTime?t*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class lm{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,n=0,i=0;const r=this.players.length;0==r?om(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==r&&this._onFinish()}),t.onDestroy(()=>{++n==r&&this._onDestroy()}),t.onStart(()=>{++i==r&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)})}getPosition(){const t=this.players.reduce((t,e)=>null===t||e.totalTime>t.totalTime?e:t,null);return null!=t?t.getPosition():0}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}function cm(){return"undefined"!=typeof window&&void 0!==window.document}function um(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function hm(t){switch(t.length){case 0:return new am;case 1:return t[0];default:return new lm(t)}}function dm(t,e,n,i,r={},s={}){const o=[],a=[];let l=-1,c=null;if(i.forEach(t=>{const n=t.offset,i=n==l,u=i&&c||{};Object.keys(t).forEach(n=>{let i=n,a=t[n];if("offset"!==n)switch(i=e.normalizePropertyName(i,o),a){case"!":a=r[n];break;case Kg:a=s[n];break;default:a=e.normalizeStyleValue(n,i,a,o)}u[i]=a}),i||a.push(u),c=u,l=n}),o.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${o.join(t)}`)}return a}function pm(t,e,n,i){switch(e){case"start":t.onStart(()=>i(n&&fm(n,"start",t)));break;case"done":t.onDone(()=>i(n&&fm(n,"done",t)));break;case"destroy":t.onDestroy(()=>i(n&&fm(n,"destroy",t)))}}function fm(t,e,n){const i=n.totalTime,r=gm(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==i?t.totalTime:i,!!n.disabled),s=t._data;return null!=s&&(r._data=s),r}function gm(t,e,n,i,r="",s=0,o){return{element:t,triggerName:e,fromState:n,toState:i,phaseName:r,totalTime:s,disabled:!!o}}function mm(t,e,n){let i;return t instanceof Map?(i=t.get(e),i||t.set(e,i=n)):(i=t[e],i||(i=t[e]=n)),i}function bm(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let ym=(t,e)=>!1,vm=(t,e)=>!1,_m=(t,e,n)=>[];const wm=um();(wm||"undefined"!=typeof Element)&&(ym=cm()?(t,e)=>{for(;e&&e!==document.documentElement;){if(e===t)return!0;e=e.parentNode||e.host}return!1}:(t,e)=>t.contains(e),vm=(()=>{if(wm||Element.prototype.matches)return(t,e)=>t.matches(e);{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?(t,n)=>e.apply(t,[n]):vm}})(),_m=(t,e,n)=>{let i=[];if(n){const n=t.querySelectorAll(e);for(let t=0;t{const i=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[i]=t[n]}),e}let Pm=(()=>{class t{validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return n||""}animate(t,e,n,i,r,s=[],o){return new am(n,i)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Am{}Am.NOOP=new Pm;const Mm="ng-enter",Im="ng-leave",Dm="ng-trigger",Rm=".ng-trigger",Nm="ng-animating",Lm=".ng-animating";function jm(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Fm(parseFloat(e[1]),e[2])}function Fm(t,e){switch(e){case"s":return 1e3*t;default:return t}}function Bm(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){let i,r=0,s="";if("string"==typeof t){const n=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===n)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};i=Fm(parseFloat(n[1]),n[2]);const o=n[3];null!=o&&(r=Fm(parseFloat(o),n[4]));const a=n[5];a&&(s=a)}else i=t;if(!n){let n=!1,s=e.length;i<0&&(e.push("Duration values below 0 are not allowed for this animation step."),n=!0),r<0&&(e.push("Delay values below 0 are not allowed for this animation step."),n=!0),n&&e.splice(s,0,`The provided timing value "${t}" is invalid.`)}return{duration:i,delay:r,easing:s}}(t,e,n)}function Vm(t,e={}){return Object.keys(t).forEach(n=>{e[n]=t[n]}),e}function zm(t,e,n={}){if(e)for(let i in t)n[i]=t[i];else Vm(t,n);return n}function Um(t,e,n){return n?e+":"+n+";":""}function Hm(t){let e="";for(let n=0;n{const r=Zm(i);n&&!n.hasOwnProperty(i)&&(n[i]=t.style[r]),t.style[r]=e[i]}),um()&&Hm(t))}function Gm(t,e){t.style&&(Object.keys(e).forEach(e=>{const n=Zm(e);t.style[n]=""}),um()&&Hm(t))}function Wm(t){return Array.isArray(t)?1==t.length?t[0]:Jg(t):t}const qm=new RegExp("{{\\s*(.+?)\\s*}}","g");function Ym(t){let e=[];if("string"==typeof t){let n;for(;n=qm.exec(t);)e.push(n[1]);qm.lastIndex=0}return e}function Xm(t,e,n){const i=t.toString(),r=i.replace(qm,(t,i)=>{let r=e[i];return e.hasOwnProperty(i)||(n.push(`Please provide a value for the animation param ${i}`),r=""),r.toString()});return r==i?t:r}function Km(t){const e=[];let n=t.next();for(;!n.done;)e.push(n.value),n=t.next();return e}const Qm=/-+([a-z0-9])/g;function Zm(t){return t.replace(Qm,(...t)=>t[1].toUpperCase())}function Jm(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function tb(t,e){return 0===t||0===e}function eb(t,e,n){const i=Object.keys(n);if(i.length&&e.length){let s=e[0],o=[];if(i.forEach(t=>{s.hasOwnProperty(t)||o.push(t),s[t]=n[t]}),o.length)for(var r=1;rfunction(t,e,n){if(":"==t[0]){const i=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e) *"}}(t,n);if("function"==typeof i)return void e.push(i);t=i}const i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push(`The provided transition expression "${t}" is not supported`),e;const r=i[1],s=i[2],o=i[3];e.push(ab(r,o));"<"==s[0]&&!("*"==r&&"*"==o)&&e.push(ab(o,r))}(t,n,e)):n.push(t),n}const sb=new Set(["true","1"]),ob=new Set(["false","0"]);function ab(t,e){const n=sb.has(t)||ob.has(t),i=sb.has(e)||ob.has(e);return(r,s)=>{let o="*"==t||t==r,a="*"==e||e==s;return!o&&n&&"boolean"==typeof r&&(o=r?sb.has(t):ob.has(t)),!a&&i&&"boolean"==typeof s&&(a=s?sb.has(e):ob.has(e)),o&&a}}const lb=new RegExp("s*:selfs*,?","g");function cb(t,e,n){return new ub(t).build(e,n)}class ub{constructor(t){this._driver=t}build(t,e){const n=new hb(e);return this._resetContextStyleTimingState(n),nb(this,Wm(t),n)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles={},t.collectedStyles[""]={},t.currentTime=0}visitTrigger(t,e){let n=e.queryCount=0,i=e.depCount=0;const r=[],s=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const n=t,i=n.name;i.toString().split(/\s*,\s*/).forEach(t=>{n.name=t,r.push(this.visitState(n,e))}),n.name=i}else if(1==t.type){const r=this.visitTransition(t,e);n+=r.queryCount,i+=r.depCount,s.push(r)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:r,transitions:s,queryCount:n,depCount:i,options:null}}visitState(t,e){const n=this.visitStyle(t.styles,e),i=t.options&&t.options.params||null;if(n.containsDynamicStyles){const r=new Set,s=i||{};if(n.styles.forEach(t=>{if(db(t)){const e=t;Object.keys(e).forEach(t=>{Ym(e[t]).forEach(t=>{s.hasOwnProperty(t)||r.add(t)})})}}),r.size){const n=Km(r.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${n.join(", ")}`)}}return{type:0,name:t.name,style:n,options:i?{params:i}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const n=nb(this,Wm(t.animation),e);return{type:1,matchers:rb(t.expr,e.errors),animation:n,queryCount:e.queryCount,depCount:e.depCount,options:pb(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>nb(this,t,e)),options:pb(t.options)}}visitGroup(t,e){const n=e.currentTime;let i=0;const r=t.steps.map(t=>{e.currentTime=n;const r=nb(this,t,e);return i=Math.max(i,e.currentTime),r});return e.currentTime=i,{type:3,steps:r,options:pb(t.options)}}visitAnimate(t,e){const n=function(t,e){let n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return fb(Bm(t,e).duration,0,"");const i=t;if(i.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=fb(0,0,"");return t.dynamic=!0,t.strValue=i,t}return n=n||Bm(i,e),fb(n.duration,n.delay,n.easing)}(t.timings,e.errors);e.currentAnimateTimings=n;let i,r=t.styles?t.styles:tm({});if(5==r.type)i=this.visitKeyframes(r,e);else{let r=t.styles,s=!1;if(!r){s=!0;const t={};n.easing&&(t.easing=n.easing),r=tm(t)}e.currentTime+=n.duration+n.delay;const o=this.visitStyle(r,e);o.isEmptyStep=s,i=o}return e.currentAnimateTimings=null,{type:4,timings:n,style:i,options:null}}visitStyle(t,e){const n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n}_makeStyleAst(t,e){const n=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==Kg?n.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):n.push(t)}):n.push(t.styles);let i=!1,r=null;return n.forEach(t=>{if(db(t)){const e=t,n=e.easing;if(n&&(r=n,delete e.easing),!i)for(let t in e)if(e[t].toString().indexOf("{{")>=0){i=!0;break}}}),{type:6,styles:n,easing:r,offset:t.offset,containsDynamicStyles:i,options:null}}_validateStyleAst(t,e){const n=e.currentAnimateTimings;let i=e.currentTime,r=e.currentTime;n&&r>0&&(r-=n.duration+n.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(n=>{if(!this._driver.validateStyleProperty(n))return void e.errors.push(`The provided animation property "${n}" is not a supported CSS property for animations`);const s=e.collectedStyles[e.currentQuerySelector],o=s[n];let a=!0;o&&(r!=i&&r>=o.startTime&&i<=o.endTime&&(e.errors.push(`The CSS property "${n}" that exists between the times of "${o.startTime}ms" and "${o.endTime}ms" is also being animated in a parallel animation between the times of "${r}ms" and "${i}ms"`),a=!1),r=o.startTime),a&&(s[n]={startTime:r,endTime:i}),e.options&&function(t,e,n){const i=e.params||{},r=Ym(t);r.length&&r.forEach(t=>{i.hasOwnProperty(t)||n.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(t[n],e.options,e.errors)})})}visitKeyframes(t,e){const n={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),n;let i=0;const r=[];let s=!1,o=!1,a=0;const l=t.steps.map(t=>{const n=this._makeStyleAst(t,e);let l=null!=n.offset?n.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if(db(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}});else if(db(t)&&t.hasOwnProperty("offset")){const n=t;e=parseFloat(n.offset),delete n.offset}return e}(n.styles),c=0;return null!=l&&(i++,c=n.offset=l),o=o||c<0||c>1,s=s||c0&&i{const s=u>0?i==h?1:u*i:r[i],o=s*f;e.currentTime=d+p.delay+o,p.duration=o,this._validateStyleAst(t,e),t.offset=s,n.styles.push(t)}),n}visitReference(t,e){return{type:8,animation:nb(this,Wm(t.animation),e),options:pb(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:pb(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:pb(t.options)}}visitQuery(t,e){const n=e.currentQuerySelector,i=t.options||{};e.queryCount++,e.currentQuery=t;const[r,s]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>":self"==t);return e&&(t=t.replace(lb,"")),[t=t.replace(/@\*/g,Rm).replace(/@\w+/g,t=>Rm+"-"+t.substr(1)).replace(/:animating/g,Lm),e]}(t.selector);e.currentQuerySelector=n.length?n+" "+r:r,mm(e.collectedStyles,e.currentQuerySelector,{});const o=nb(this,Wm(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:r,limit:i.limit||0,optional:!!i.optional,includeSelf:s,animation:o,originalSelector:t.selector,options:pb(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Bm(t.timings,e.errors,!0);return{type:12,animation:nb(this,Wm(t.animation),e),timings:n,options:null}}}class hb{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function db(t){return!Array.isArray(t)&&"object"==typeof t}function pb(t){return t?(t=Vm(t)).params&&(t.params=function(t){return t?Vm(t):null}(t.params)):t={},t}function fb(t,e,n){return{duration:t,delay:e,easing:n}}function gb(t,e,n,i,r,s,o=null,a=!1){return{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:i,duration:r,delay:s,totalTime:r+s,easing:o,subTimeline:a}}class mb{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let n=this._map.get(t);n||this._map.set(t,n=[]),n.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const bb=new RegExp(":enter","g"),yb=new RegExp(":leave","g");function vb(t,e,n,i,r,s={},o={},a,l,c=[]){return(new _b).buildKeyframes(t,e,n,i,r,s,o,a,l,c)}class _b{buildKeyframes(t,e,n,i,r,s,o,a,l,c=[]){l=l||new mb;const u=new xb(t,e,l,i,r,c,[]);u.options=a,u.currentTimeline.setStyles([s],null,u.errors,a),nb(this,n,u);const h=u.timelines.filter(t=>t.containsAnimation());if(h.length&&Object.keys(o).length){const t=h[h.length-1];t.allowOnlyTimelineStyles()||t.setStyles([o],null,u.errors,a)}return h.length?h.map(t=>t.buildKeyframes()):[gb(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const n=e.subInstructions.consume(e.element);if(n){const i=e.createSubContext(t.options),r=e.currentTimeline.currentTime,s=this._visitSubInstructions(n,i,i.options);r!=s&&e.transformIntoNewTimeline(s)}e.previousNode=t}visitAnimateRef(t,e){const n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,n){let i=e.currentTimeline.currentTime;const r=null!=n.duration?jm(n.duration):null,s=null!=n.delay?jm(n.delay):null;return 0!==r&&t.forEach(t=>{const n=e.appendInstructionToTimeline(t,r,s);i=Math.max(i,n.duration+n.delay)}),i}visitReference(t,e){e.updateOptions(t.options,!0),nb(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const n=e.subContextCount;let i=e;const r=t.options;if(r&&(r.params||r.delay)&&(i=e.createSubContext(r),i.transformIntoNewTimeline(),null!=r.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=wb);const t=jm(r.delay);i.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>nb(this,t,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>n&&i.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const n=[];let i=e.currentTimeline.currentTime;const r=t.options&&t.options.delay?jm(t.options.delay):0;t.steps.forEach(s=>{const o=e.createSubContext(t.options);r&&o.delayNextStep(r),nb(this,s,o),i=Math.max(i,o.currentTimeline.currentTime),n.push(o.currentTimeline)}),n.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(i),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const n=t.strValue;return Bm(e.params?Xm(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const n=e.currentAnimateTimings=this._visitTiming(t.timings,e),i=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),i.snapshotCurrentStyles());const r=t.style;5==r.type?this.visitKeyframes(r,e):(e.incrementTime(n.duration),this.visitStyle(r,e),i.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const n=e.currentTimeline,i=e.currentAnimateTimings;!i&&n.getCurrentStyleProperties().length&&n.forwardFrame();const r=i&&i.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(r):n.setStyles(t.styles,r,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const n=e.currentAnimateTimings,i=e.currentTimeline.duration,r=n.duration,s=e.createSubContext().currentTimeline;s.easing=n.easing,t.styles.forEach(t=>{s.forwardTime((t.offset||0)*r),s.setStyles(t.styles,t.easing,e.errors,e.options),s.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(s),e.transformIntoNewTimeline(i+r),e.previousNode=t}visitQuery(t,e){const n=e.currentTimeline.currentTime,i=t.options||{},r=i.delay?jm(i.delay):0;r&&(6===e.previousNode.type||0==n&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=wb);let s=n;const o=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=o.length;let a=null;o.forEach((n,i)=>{e.currentQueryIndex=i;const o=e.createSubContext(t.options,n);r&&o.delayNextStep(r),n===e.element&&(a=o.currentTimeline),nb(this,t.animation,o),o.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,o.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),a&&(e.currentTimeline.mergeTimelineCollectedStyles(a),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const n=e.parentContext,i=e.currentTimeline,r=t.timings,s=Math.abs(r.duration),o=s*(e.currentQueryTotal-1);let a=s*e.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":a=o-a;break;case"full":a=n.currentStaggerTime}const l=e.currentTimeline;a&&l.delayNextStep(a);const c=l.currentTime;nb(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=i.currentTime-c+(i.startTime-n.currentTimeline.startTime)}}const wb={};class xb{constructor(t,e,n,i,r,s,o,a){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=i,this._leaveClassName=r,this.errors=s,this.timelines=o,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=wb,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new Sb(this._driver,e,0),o.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const n=t;let i=this.options;null!=n.duration&&(i.duration=jm(n.duration)),null!=n.delay&&(i.delay=jm(n.delay));const r=n.params;if(r){let t=i.params;t||(t=this.options.params={}),Object.keys(r).forEach(n=>{(!e||!t.hasOwnProperty(n))&&(t[n]=Xm(r[n],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const n=t.params={};Object.keys(e).forEach(t=>{n[t]=e[t]})}}return t}createSubContext(t=null,e,n){const i=e||this.element,r=new xb(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,n||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(t),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(t){return this.previousNode=wb,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,n){const i={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},r=new Cb(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,i,t.stretchStartingKeyframe);return this.timelines.push(r),i}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,n,i,r,s){let o=[];if(i&&o.push(this.element),t.length>0){t=(t=t.replace(bb,"."+this._enterClassName)).replace(yb,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=n);0!==n&&(e=n<0?e.slice(e.length+n,e.length):e.slice(0,n)),o.push(...e)}return!r&&0==o.length&&s.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),o}}class Sb{constructor(t,e,n,i){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=i,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new Sb(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||Kg,this._currentKeyframe[t]=Kg}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,n,i){e&&(this._previousKeyframe.easing=e);const r=i&&i.params||{},s=function(t,e){const n={};let i;return t.forEach(t=>{"*"===t?(i=i||Object.keys(e),i.forEach(t=>{n[t]=Kg})):zm(t,!1,n)}),n}(t,this._globalTimelineStyles);Object.keys(s).forEach(t=>{const e=Xm(s[t],r,n);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:Kg),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const n=this._styleSummary[e],i=t._styleSummary[e];(!n||i.time>n.time)&&this._updateStyle(e,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,n=1===this._keyframes.size&&0===this.duration;let i=[];this._keyframes.forEach((r,s)=>{const o=zm(r,!0);Object.keys(o).forEach(n=>{const i=o[n];"!"==i?t.add(n):i==Kg&&e.add(n)}),n||(o.offset=s/this.duration),i.push(o)});const r=t.size?Km(t.values()):[],s=e.size?Km(e.values()):[];if(n){const t=i[0],e=Vm(t);t.offset=0,e.offset=1,i=[t,e]}return gb(this.element,i,r,s,this.duration,this.startTime,this.easing,!1)}}class Cb extends Sb{constructor(t,e,n,i,r,s,o=!1){super(t,e,s.delay),this.keyframes=n,this.preStyleProps=i,this.postStyleProps=r,this._stretchStartingKeyframe=o,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:n,easing:i}=this.timings;if(this._stretchStartingKeyframe&&e){const r=[],s=n+e,o=e/s,a=zm(t[0],!1);a.offset=0,r.push(a);const l=zm(t[0],!1);l.offset=Eb(o),r.push(l);const c=t.length-1;for(let i=1;i<=c;i++){let o=zm(t[i],!1);o.offset=Eb((e+o.offset*n)/s),r.push(o)}n=s,e=0,i="",t=r}return gb(this.element,t,this.preStyleProps,this.postStyleProps,n,e,i,!0)}}function Eb(t,e=3){const n=Math.pow(10,e-1);return Math.round(t*n)/n}class Ob{}class Tb extends Ob{normalizePropertyName(t,e){return Zm(t)}normalizeStyleValue(t,e,n,i){let r="";const s=n.toString().trim();if(kb[e]&&0!==n&&"0"!==n)if("number"==typeof n)r="px";else{const e=n.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&i.push(`Please provide a CSS unit value for ${t}:${n}`)}return s+r}}const kb=(()=>function(t){const e={};return t.forEach(t=>e[t]=!0),e}("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".split(",")))();function Pb(t,e,n,i,r,s,o,a,l,c,u,h,d){return{type:0,element:t,triggerName:e,isRemovalTransition:r,fromState:n,fromStyles:s,toState:i,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:h,errors:d}}const Ab={};class Mb{constructor(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}match(t,e,n,i){return function(t,e,n,i,r){return t.some(t=>t(e,n,i,r))}(this.ast.matchers,t,e,n,i)}buildStyles(t,e,n){const i=this._stateStyles["*"],r=this._stateStyles[t],s=i?i.buildStyles(e,n):{};return r?r.buildStyles(e,n):s}build(t,e,n,i,r,s,o,a,l,c){const u=[],h=this.ast.options&&this.ast.options.params||Ab,d=this.buildStyles(n,o&&o.params||Ab,u),p=a&&a.params||Ab,f=this.buildStyles(i,p,u),g=new Set,m=new Map,b=new Map,y="void"===i,v={params:Object.assign(Object.assign({},h),p)},_=c?[]:vb(t,e,this.ast.animation,r,s,d,f,v,l,u);let w=0;if(_.forEach(t=>{w=Math.max(t.duration+t.delay,w)}),u.length)return Pb(e,this._triggerName,n,i,y,d,f,[],[],m,b,w,u);_.forEach(t=>{const n=t.element,i=mm(m,n,{});t.preStyleProps.forEach(t=>i[t]=!0);const r=mm(b,n,{});t.postStyleProps.forEach(t=>r[t]=!0),n!==e&&g.add(n)});const x=Km(g.values());return Pb(e,this._triggerName,n,i,y,d,f,_,x,m,b,w)}}class Ib{constructor(t,e,n){this.styles=t,this.defaultParams=e,this.normalizer=n}buildStyles(t,e){const n={},i=Vm(this.defaultParams);return Object.keys(t).forEach(e=>{const n=t[e];null!=n&&(i[e]=n)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const r=t;Object.keys(r).forEach(t=>{let s=r[t];s.length>1&&(s=Xm(s,i,e));const o=this.normalizer.normalizePropertyName(t,e);s=this.normalizer.normalizeStyleValue(t,o,s,e),n[o]=s})}}),n}}class Db{constructor(t,e,n){this.name=t,this.ast=e,this._normalizer=n,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new Ib(t.style,t.options&&t.options.params||{},n)}),Rb(this.states,"true","1"),Rb(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new Mb(t,e,this.states))}),this.fallbackTransition=function(t,e,n){return new Mb(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},e)}(t,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,n,i){return this.transitionFactories.find(r=>r.match(t,e,n,i))||null}matchStyles(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)}}function Rb(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}const Nb=new mb;class Lb{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}register(t,e){const n=[],i=cb(this._driver,e,n);if(n.length)throw new Error(`Unable to build the animation due to the following errors: ${n.join("\n")}`);this._animations[t]=i}_buildPlayer(t,e,n){const i=t.element,r=dm(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(i,r,t.duration,t.delay,t.easing,[],!0)}create(t,e,n={}){const i=[],r=this._animations[t];let s;const o=new Map;if(r?(s=vb(this._driver,e,r,Mm,Im,{},{},n,Nb,i),s.forEach(t=>{const e=mm(o,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)})):(i.push("The requested animation doesn't exist or has already been destroyed"),s=[]),i.length)throw new Error(`Unable to create the animation due to the following errors: ${i.join("\n")}`);o.forEach((t,e)=>{Object.keys(t).forEach(n=>{t[n]=this._driver.computeStyle(e,n,Kg)})});const a=hm(s.map(t=>{const e=o.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=a,a.onDestroy(()=>this.destroy(t)),this.players.push(a),a}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,n,i){const r=gm(e,"","","");return pm(this._getPlayer(t),n,r,i),()=>{}}command(t,e,n,i){if("register"==n)return void this.register(t,i[0]);if("create"==n)return void this.create(t,e,i[0]||{});const r=this._getPlayer(t);switch(n){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(t)}}}const jb="ng-animate-queued",Fb="ng-animate-disabled",Bb=".ng-animate-disabled",Vb=[],zb={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Ub={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Hb="__ng_removed";class $b{constructor(t,e=""){this.namespaceId=e;const n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){const e=Vm(t);delete e.value,this.options=e}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(n=>{null==t[n]&&(t[n]=e[n])})}}}const Gb="void",Wb=new $b(Gb);class qb{constructor(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,ey(e,this._hostClassName)}listen(t,e,n,i){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${n}" because the animation trigger "${e}" doesn't exist!`);if(null==n||0==n.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if(!function(t){return"start"==t||"done"==t}(n))throw new Error(`The provided animation trigger event "${n}" for the animation trigger "${e}" is not supported!`);const r=mm(this._elementListeners,t,[]),s={name:e,phase:n,callback:i};r.push(s);const o=mm(this._engine.statesByElement,t,{});return o.hasOwnProperty(e)||(ey(t,Dm),ey(t,Dm+"-"+e),o[e]=Wb),()=>{this._engine.afterFlush(()=>{const t=r.indexOf(s);t>=0&&r.splice(t,1),this._triggers[e]||delete o[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,n,i=!0){const r=this._getTrigger(e),s=new Xb(this.id,e,t);let o=this._engine.statesByElement.get(t);o||(ey(t,Dm),ey(t,Dm+"-"+e),this._engine.statesByElement.set(t,o={}));let a=o[e];const l=new $b(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&a&&l.absorbOptions(a.options),o[e]=l,a||(a=Wb),l.value!==Gb&&a.value===l.value){if(!function(t,e){const n=Object.keys(t),i=Object.keys(e);if(n.length!=i.length)return!1;for(let r=0;r{Gm(t,n),$m(t,i)})}return}const c=mm(this._engine.playersByElement,t,[]);c.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let u=r.matchTransition(a.value,l.value,t,l.params),h=!1;if(!u){if(!i)return;u=r.fallbackTransition,h=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:u,fromState:a,toState:l,player:s,isFallbackTransition:h}),h||(ey(t,jb),s.onStart(()=>{ny(t,jb)})),s.onDone(()=>{let e=this.players.indexOf(s);e>=0&&this.players.splice(e,1);const n=this._engine.playersByElement.get(t);if(n){let t=n.indexOf(s);t>=0&&n.splice(t,1)}}),this.players.push(s),c.push(s),s}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,n)=>{delete e[t]}),this._elementListeners.forEach((e,n)=>{this._elementListeners.set(n,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e){const n=this._engine.driver.query(t,Rm,!0);n.forEach(t=>{if(t[Hb])return;const n=this._engine.fetchNamespacesByElement(t);n.size?n.forEach(n=>n.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)}),this._engine.afterFlushAnimationsDone(()=>n.forEach(t=>this.clearElementCache(t)))}triggerLeaveAnimation(t,e,n,i){const r=this._engine.statesByElement.get(t);if(r){const s=[];if(Object.keys(r).forEach(e=>{if(this._triggers[e]){const n=this.trigger(t,e,Gb,i);n&&s.push(n)}}),s.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),n&&hm(s).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t),n=this._engine.statesByElement.get(t);if(e&&n){const i=new Set;e.forEach(e=>{const r=e.name;if(i.has(r))return;i.add(r);const s=this._triggers[r].fallbackTransition,o=n[r]||Wb,a=new $b(Gb),l=new Xb(this.id,r,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:r,transition:s,fromState:o,toState:a,player:l,isFallbackTransition:!0})})}}removeNode(t,e){const n=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e),this.triggerLeaveAnimation(t,e,!0))return;let i=!1;if(n.totalAnimations){const e=n.players.length?n.playersByQueriedElement.get(t):[];if(e&&e.length)i=!0;else{let e=t;for(;e=e.parentNode;)if(n.statesByElement.get(e)){i=!0;break}}}if(this.prepareLeaveAnimationListeners(t),i)n.markElementAsRemoved(this.id,t,!1,e);else{const i=t[Hb];(!i||i===zb)&&(n.afterFlush(()=>this.clearElementCache(t)),n.destroyInnerAnimations(t),n._onRemovalComplete(t,e))}}insertNode(t,e){ey(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(n=>{const i=n.player;if(i.destroyed)return;const r=n.element,s=this._elementListeners.get(r);s&&s.forEach(e=>{if(e.name==n.triggerName){const i=gm(r,n.triggerName,n.fromState.value,n.toState.value);i._data=t,pm(n.player,e.phase,i,e.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):e.push(n)}),this._queue=[],e.sort((t,e)=>{const n=t.transition.ast.depCount,i=e.transition.ast.depCount;return 0==n||0==i?n-i:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(e=>e.element===t)||e,e}}class Yb{constructor(t,e,n){this.bodyNode=t,this.driver=e,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=(t,e)=>{}}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const n=new qb(t,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(n,e):(this.newHostElements.set(e,n),this.collectEnterElement(e)),this._namespaceLookup[t]=n}_balanceNamespaceList(t,e){const n=this._namespaceList.length-1;if(n>=0){let i=!1;for(let r=n;r>=0;r--)if(this.driver.containsElement(this._namespaceList[r].hostElement,e)){this._namespaceList.splice(r+1,0,t),i=!0;break}i||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n}registerTrigger(t,e,n){let i=this._namespaceLookup[t];i&&i.register(e,n)&&this.totalAnimations++}destroy(t,e){if(!t)return;const n=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(n.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(n);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>n.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,n=this.statesByElement.get(t);if(n){const t=Object.keys(n);for(let i=0;i=0&&this.collectedLeaveElements.splice(t,1)}if(t){const i=this._fetchNamespace(t);i&&i.insertNode(e,n)}i&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),ey(t,Fb)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),ny(t,Fb))}removeNode(t,e,n,i){if(Kb(e)){const r=t?this._fetchNamespace(t):null;if(r?r.removeNode(e,i):this.markElementAsRemoved(t,e,!1,i),n){const n=this.namespacesByHostElement.get(e);n&&n.id!==t&&n.removeNode(e,i)}}else this._onRemovalComplete(e,i)}markElementAsRemoved(t,e,n,i){this.collectedLeaveElements.push(e),e[Hb]={namespaceId:t,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1}}listen(t,e,n,i,r){return Kb(e)?this._fetchNamespace(t).listen(e,n,i,r):()=>{}}_buildInstruction(t,e,n,i,r){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,i,t.fromState.options,t.toState.options,e,r)}destroyInnerAnimations(t){let e=this.driver.query(t,Rm,!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,Lm,!0),e.forEach(t=>this.finishActiveQueriedAnimationOnElement(t)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return hm(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[Hb];if(e&&e.setForRemoval){if(t[Hb]=zb,e.namespaceId){this.destroyInnerAnimations(t);const n=this._fetchNamespace(e.namespaceId);n&&n.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,Bb)&&this.markElementAsDisabled(t,!1),this.driver.query(t,Bb,!0).forEach(t=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;nt()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?hm(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const n=new mb,i=[],r=new Map,s=[],o=new Map,a=new Map,l=new Map,c=new Set;this.disabledNodes.forEach(t=>{c.add(t);const e=this.driver.query(t,".ng-animate-queued",!0);for(let n=0;n{const n=Mm+f++;p.set(e,n),t.forEach(t=>ey(t,n))});const g=[],m=new Set,b=new Set;for(let A=0;Am.add(t)):b.add(t))}const y=new Map,v=Jb(h,Array.from(m));v.forEach((t,e)=>{const n=Im+f++;y.set(e,n),t.forEach(t=>ey(t,n))}),t.push(()=>{d.forEach((t,e)=>{const n=p.get(e);t.forEach(t=>ny(t,n))}),v.forEach((t,e)=>{const n=y.get(e);t.forEach(t=>ny(t,n))}),g.forEach(t=>{this.processLeaveNode(t)})});const _=[],w=[];for(let A=this._namespaceList.length-1;A>=0;A--)this._namespaceList[A].drainQueuedTransitions(e).forEach(t=>{const e=t.player,r=t.element;if(_.push(e),this.collectedEnterElements.length){const t=r[Hb];if(t&&t.setForMove)return void e.destroy()}const c=!u||!this.driver.containsElement(u,r),h=y.get(r),d=p.get(r),f=this._buildInstruction(t,n,d,h,c);if(f.errors&&f.errors.length)w.push(f);else{if(c)return e.onStart(()=>Gm(r,f.fromStyles)),e.onDestroy(()=>$m(r,f.toStyles)),void i.push(e);if(t.isFallbackTransition)return e.onStart(()=>Gm(r,f.fromStyles)),e.onDestroy(()=>$m(r,f.toStyles)),void i.push(e);f.timelines.forEach(t=>t.stretchStartingKeyframe=!0),n.append(r,f.timelines),s.push({instruction:f,player:e,element:r}),f.queriedElements.forEach(t=>mm(o,t,[]).push(e)),f.preStyleProps.forEach((t,e)=>{const n=Object.keys(t);if(n.length){let t=a.get(e);t||a.set(e,t=new Set),n.forEach(e=>t.add(e))}}),f.postStyleProps.forEach((t,e)=>{const n=Object.keys(t);let i=l.get(e);i||l.set(e,i=new Set),n.forEach(t=>i.add(t))})}});if(w.length){const t=[];w.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),_.forEach(t=>t.destroy()),this.reportError(t)}const x=new Map,S=new Map;s.forEach(t=>{const e=t.element;n.has(e)&&(S.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,x))}),i.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{mm(x,e,[]).push(t),t.destroy()})});const C=g.filter(t=>sy(t,a,l)),E=new Map;Zb(E,this.driver,b,l,Kg).forEach(t=>{sy(t,a,l)&&C.push(t)});const O=new Map;d.forEach((t,e)=>{Zb(O,this.driver,new Set(t),a,"!")}),C.forEach(t=>{const e=E.get(t),n=O.get(t);E.set(t,Object.assign(Object.assign({},e),n))});const T=[],k=[],P={};s.forEach(t=>{const{element:e,player:s,instruction:o}=t;if(n.has(e)){if(c.has(e))return s.onDestroy(()=>$m(e,o.toStyles)),s.disabled=!0,s.overrideTotalTime(o.totalTime),void i.push(s);let t=P;if(S.size>1){let n=e;const i=[];for(;n=n.parentNode;){const e=S.get(n);if(e){t=e;break}i.push(n)}i.forEach(e=>S.set(e,t))}const n=this._buildAnimation(s.namespaceId,o,x,r,O,E);if(s.setRealPlayer(n),t===P)T.push(s);else{const e=this.playersByElement.get(t);e&&e.length&&(s.parentPlayer=hm(e)),i.push(s)}}else Gm(e,o.fromStyles),s.onDestroy(()=>$m(e,o.toStyles)),k.push(s),c.has(e)&&i.push(s)}),k.forEach(t=>{const e=r.get(t.element);if(e&&e.length){const n=hm(e);t.setRealPlayer(n)}}),i.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let A=0;A!t.destroyed);i.length?iy(this,t,i):this.processLeaveNode(t)}return g.length=0,T.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),T}elementContainsData(t,e){let n=!1;const i=e[Hb];return i&&i.setForRemoval&&(n=!0),this.playersByElement.has(e)&&(n=!0),this.playersByQueriedElement.has(e)&&(n=!0),this.statesByElement.has(e)&&(n=!0),this._fetchNamespace(t).elementContainsData(e)||n}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,n,i,r){let s=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(s=e)}else{const e=this.playersByElement.get(t);if(e){const t=!r||r==Gb;e.forEach(e=>{e.queued||!t&&e.triggerName!=i||s.push(e)})}}return(n||i)&&(s=s.filter(t=>!(n&&n!=t.namespaceId||i&&i!=t.triggerName))),s}_beforeAnimationBuild(t,e,n){const i=e.element,r=e.isRemovalTransition?void 0:t,s=e.isRemovalTransition?void 0:e.triggerName;for(const o of e.timelines){const t=o.element,a=t!==i,l=mm(n,t,[]);this._getPreviousPlayers(t,a,r,s,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),l.push(t)})}Gm(i,e.fromStyles)}_buildAnimation(t,e,n,i,r,s){const o=e.triggerName,a=e.element,l=[],c=new Set,u=new Set,h=e.timelines.map(e=>{const h=e.element;c.add(h);const d=h[Hb];if(d&&d.removedBeforeQueried)return new am(e.duration,e.delay);const p=h!==a,f=function(t){const e=[];return ry(t,e),e}((n.get(h)||Vb).map(t=>t.getRealPlayer())).filter(t=>!!t.element&&t.element===h),g=r.get(h),m=s.get(h),b=dm(0,this._normalizer,0,e.keyframes,g,m),y=this._buildPlayer(e,b,f);if(e.subTimeline&&i&&u.add(h),p){const e=new Xb(t,o,h);e.setRealPlayer(y),l.push(e)}return y});l.forEach(t=>{mm(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>function(t,e,n){let i;if(t instanceof Map){if(i=t.get(e),i){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&t.delete(e)}}else if(i=t[e],i){if(i.length){const t=i.indexOf(n);i.splice(t,1)}0==i.length&&delete t[e]}return i}(this.playersByQueriedElement,t.element,t))}),c.forEach(t=>ey(t,Nm));const d=hm(h);return d.onDestroy(()=>{c.forEach(t=>ny(t,Nm)),$m(a,e.toStyles)}),u.forEach(t=>{mm(i,t,[]).push(d)}),d}_buildPlayer(t,e,n){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new am(t.duration,t.delay)}}class Xb{constructor(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new am,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(n=>pm(t,e,void 0,n))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){mm(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&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(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function Kb(t){return t&&1===t.nodeType}function Qb(t,e){const n=t.style.display;return t.style.display=null!=e?e:"none",n}function Zb(t,e,n,i,r){const s=[];n.forEach(t=>s.push(Qb(t)));const o=[];i.forEach((n,i)=>{const s={};n.forEach(t=>{const n=s[t]=e.computeStyle(i,t,r);(!n||0==n.length)&&(i[Hb]=Ub,o.push(i))}),t.set(i,s)});let a=0;return n.forEach(t=>Qb(t,s[a++])),o}function Jb(t,e){const n=new Map;if(t.forEach(t=>n.set(t,[])),0==e.length)return n;const i=new Set(e),r=new Map;function s(t){if(!t)return 1;let e=r.get(t);if(e)return e;const o=t.parentNode;return e=n.has(o)?o:i.has(o)?1:s(o),r.set(t,e),e}return e.forEach(t=>{const e=s(t);1!==e&&n.get(e).push(t)}),n}const ty="$$classes";function ey(t,e){if(t.classList)t.classList.add(e);else{let n=t[ty];n||(n=t[ty]={}),n[e]=!0}}function ny(t,e){if(t.classList)t.classList.remove(e);else{let n=t[ty];n&&delete n[e]}}function iy(t,e,n){hm(n).onDone(()=>t.processLeaveNode(e))}function ry(t,e){for(let n=0;nr.add(t)):e.set(t,i),n.delete(t),!0}class oy{constructor(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._triggerCache={},this.onRemovalComplete=(t,e)=>{},this._transitionEngine=new Yb(t,e,n),this._timelineEngine=new Lb(t,e,n),this._transitionEngine.onRemovalComplete=(t,e)=>this.onRemovalComplete(t,e)}registerTrigger(t,e,n,i,r){const s=t+"-"+i;let o=this._triggerCache[s];if(!o){const t=[],e=cb(this._driver,r,t);if(t.length)throw new Error(`The animation trigger "${i}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);o=function(t,e,n){return new Db(t,e,n)}(i,e,this._normalizer),this._triggerCache[s]=o}this._transitionEngine.registerTrigger(e,i,o)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,n,i){this._transitionEngine.insertNode(t,e,n,i)}onRemove(t,e,n,i){this._transitionEngine.removeNode(t,e,i||!1,n)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,n,i){if("@"==n.charAt(0)){const[t,r]=bm(n);this._timelineEngine.command(t,e,r,i)}else this._transitionEngine.trigger(t,e,n,i)}listen(t,e,n,i,r){if("@"==n.charAt(0)){const[t,i]=bm(n);return this._timelineEngine.listen(t,e,i,r)}return this._transitionEngine.listen(t,e,n,i,r)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function ay(t,e){let n=null,i=null;return Array.isArray(e)&&e.length?(n=cy(e[0]),e.length>1&&(i=cy(e[e.length-1]))):e&&(n=cy(e)),n||i?new ly(t,n,i):null}class ly{constructor(t,e,n){this._element=t,this._startStyles=e,this._endStyles=n,this._state=0;let i=ly.initialStylesByElement.get(t);i||ly.initialStylesByElement.set(t,i={}),this._initialStyles=i}start(){this._state<1&&(this._startStyles&&$m(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&($m(this._element,this._initialStyles),this._endStyles&&($m(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(ly.initialStylesByElement.delete(this._element),this._startStyles&&(Gm(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Gm(this._element,this._endStyles),this._endStyles=null),$m(this._element,this._initialStyles),this._state=3)}}function cy(t){let e=null;const n=Object.keys(t);for(let i=0;ithis._handleCallback(t)}apply(){(function(t,e){const n=vy(t,"").trim();let i=0;n.length&&(function(t,e){let n=0;for(let i=0;i=this._delay&&n>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),by(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const n=vy(t,"").split(","),i=my(n,e);i>=0&&(n.splice(i,1),yy(t,"",n.join(",")))}(this._element,this._name))}}function fy(t,e,n){yy(t,"PlayState",n,gy(t,e))}function gy(t,e){const n=vy(t,"");return n.indexOf(",")>0?my(n.split(","),e):my([n],e)}function my(t,e){for(let n=0;n=0)return n;return-1}function by(t,e,n){n?t.removeEventListener(dy,e):t.addEventListener(dy,e)}function yy(t,e,n,i){const r=hy+e;if(null!=i){const e=t.style[r];if(e.length){const t=e.split(",");t[i]=n,n=t.join(",")}}t.style[r]=n}function vy(t,e){return t.style[hy+e]||""}class _y{constructor(t,e,n,i,r,s,o,a){this.element=t,this.keyframes=e,this.animationName=n,this._duration=i,this._delay=r,this._finalStyles=o,this._specialStyles=a,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=s||"linear",this.totalTime=i+r,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new py(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this._state>=3;Object.keys(this._finalStyles).forEach(n=>{"offset"!=n&&(t[n]=e?this._finalStyles[n]:ib(this.element,n))})}this.currentSnapshot=t}}class wy extends am{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=km(e)}init(){this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){!this._startingStyles||(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}class xy{constructor(){this._count=0}validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,n){n=n.map(t=>km(t));let i=`@keyframes ${e} {\n`,r="";n.forEach(t=>{r=" ";const e=parseFloat(t.offset);i+=`${r}${100*e}% {\n`,r+=" ",Object.keys(t).forEach(e=>{const n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(i+=`${r}animation-timing-function: ${n};\n`));default:return void(i+=`${r}${e}: ${n};\n`)}}),i+=`${r}}\n`}),i+="}\n";const s=document.createElement("style");return s.textContent=i,s}animate(t,e,n,i,r,s=[],o){const a=s.filter(t=>t instanceof _y),l={};tb(n,i)&&a.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const c=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(n=>{"offset"==n||"easing"==n||(e[n]=t[n])})}),e}(e=eb(t,e,l));if(0==n)return new wy(t,c);const u="gen_css_kf_"+this._count++,h=this.buildKeyframeElement(t,u,e);(function(t){var e;const n=null===(e=t.getRootNode)||void 0===e?void 0:e.call(t);return"undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot?n:document.head})(t).appendChild(h);const d=ay(t,e),p=new _y(t,e,u,n,i,r,c,d);return p.onDestroy(()=>function(t){t.parentNode.removeChild(t)}(h)),p}}class Sy{constructor(t,e,n,i){this.element=t,this.keyframes=e,this.options=n,this._specialStyles=i,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,n){return t.animate(e,n)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),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}_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(t=>t()),this._onDestroyFns=[])}setPosition(t){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:ib(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class Cy{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Ey().toString()),this._cssKeyframesDriver=new xy}validateStyleProperty(t){return Cm(t)}matchesElement(t,e){return Em(t,e)}containsElement(t,e){return Om(t,e)}query(t,e,n){return Tm(t,e,n)}computeStyle(t,e,n){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,n,i,r,s=[],o){if(!o&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,i,r,s);const a={duration:n,delay:i,fill:0==i?"both":"forwards"};r&&(a.easing=r);const l={},c=s.filter(t=>t instanceof Sy);tb(n,i)&&c.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const u=ay(t,e=eb(t,e=e.map(t=>zm(t,!1)),l));return new Sy(t,e,a,u)}}function Ey(){return cm()&&Element.prototype.animate||{}}let Oy=(()=>{class t extends Xg{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:jt.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const n=Array.isArray(t)?Jg(t):t;return Py(this._renderer,null,e,"register",[n]),new Ty(e,this._renderer)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Il),Ei(th))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Ty extends class{}{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new ky(this._id,t,e||{},this._renderer)}}class ky{constructor(t,e,n,i){this.id=t,this.element=e,this._renderer=i,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return Py(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(t){this._command("setPosition",t)}getPosition(){var t,e;return null!==(e=null===(t=this._renderer.engine.players[+this.id])||void 0===t?void 0:t.getPosition())&&void 0!==e?e:0}}function Py(t,e,n,i,r){return t.setProperty(e,`@@${n}:${i}`,r)}const Ay="@.disabled";let My=(()=>{class t{constructor(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=(t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)}}createRenderer(t,e){const n=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(n);return t||(t=new Iy("",n,this.engine),this._rendererCache.set(n,t)),t}const i=e.id,r=e.id+"-"+this._currentId;this._currentId++,this.engine.register(r,t);const s=e=>{Array.isArray(e)?e.forEach(s):this.engine.registerTrigger(i,r,t,e.name,e)};return e.data.animation.forEach(s),new Dy(this,r,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,n){t>=0&&te(n)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,n]=t;e(n)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,n]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return t.\u0275fac=function(e){return new(e||t)(Ei(Il),Ei(oy),Ei(Tu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class Iy{constructor(t,e,n){this.namespaceId=t,this.delegate=e,this.engine=n,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,n,i=!0){this.delegate.insertBefore(t,e,n),this.engine.onInsert(this.namespaceId,e,t,i)}removeChild(t,e,n){this.engine.onRemove(this.namespaceId,e,this.delegate,n)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,i){this.delegate.setAttribute(t,e,n,i)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,i){this.delegate.setStyle(t,e,n,i)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){"@"==e.charAt(0)&&e==Ay?this.disableAnimations(t,!!n):this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n){return this.delegate.listen(t,e,n)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class Dy extends Iy{constructor(t,e,n,i){super(e,n,i),this.factory=t,this.namespaceId=e}setProperty(t,e,n){"@"==e.charAt(0)?"."==e.charAt(1)&&e==Ay?this.disableAnimations(t,n=void 0===n||!!n):this.engine.process(this.namespaceId,t,e.substr(1),n):this.delegate.setProperty(t,e,n)}listen(t,e,n){if("@"==e.charAt(0)){const i=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let r=e.substr(1),s="";return"@"!=r.charAt(0)&&([r,s]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(r)),this.engine.listen(this.namespaceId,i,r,s,t=>{this.factory.scheduleListenerCallback(t._data||-1,n,t)})}return this.delegate.listen(t,e,n)}}let Ry=(()=>{class t extends oy{constructor(t,e,n){super(t.body,e,n)}ngOnDestroy(){this.flush()}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(Am),Ei(Ob))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Ny=new oi("AnimationModuleType"),Ly=[{provide:Xg,useClass:Oy},{provide:Ob,useFactory:function(){return new Tb}},{provide:oy,useClass:Ry},{provide:Il,useFactory:function(t,e,n){return new My(t,e,n)},deps:[pd,oy,Tu]}],jy=[{provide:Am,useFactory:function(){return"function"==typeof Ey()?new Cy:new xy}},{provide:Ny,useValue:"BrowserAnimations"},...Ly],Fy=[{provide:Am,useClass:Pm},{provide:Ny,useValue:"NoopAnimations"},...Ly];let By=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?Fy:jy}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:jy,imports:[Td]}),t})();function Vy(t,e){if(1&t&&oa(0,"mat-pseudo-checkbox",4),2&t){const t=va();na("state",t.selected?"checked":"unchecked")("disabled",t.disabled)}}function zy(t,e){if(1&t&&(ra(0,"span",5),Ja(1),sa()),2&t){const t=va();ws(1),el("(",t.group.label,")")}}const Uy=["*"],Hy=new Ll("12.2.5"),$y=new oi("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let Gy,Wy=(()=>{class t{constructor(t,e,n){this._hasDoneGlobalChecks=!1,this._document=n,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=e,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checkIsEnabled(t){return!(!Vu()||this._isTestEnv())&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[t])}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checkIsEnabled("doctype")&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checkIsEnabled("theme")||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checkIsEnabled("version")&&Hy.full!==Yg.full&&console.warn("The Angular Material version ("+Hy.full+") does not match the Angular CDK version ("+Yg.full+").\nPlease ensure the versions of these two packages exactly match.")}}return t.\u0275fac=function(e){return new(e||t)(Ei(Wg),Ei($y,8),Ei(th))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Bp],Bp]}),t})();function qy(t){return class extends t{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t)}}}function Yy(t,e){return class extends t{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const e=t||this.defaultColor;e!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),e&&this._elementRef.nativeElement.classList.add(`mat-${e}`),this._color=e)}}}function Xy(t){return class extends t{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=kd(t)}}}function Ky(t,e=0){return class extends t{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?Pd(t):this.defaultTabIndex}}}function Qy(t){return class extends t{constructor(...t){super(...t),this.stateChanges=new A,this.errorState=!1}updateErrorState(){const t=this.errorState,e=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);e!==t&&(this.errorState=e,this.stateChanges.next())}}}try{Gy="undefined"!=typeof Intl}catch(m){Gy=!1}let Zy=(()=>{class t{isErrorState(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Jy=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-line",""],["","matLine",""]],hostAttrs:[1,"mat-line"]}),t})();function tv(t,e,n){const i=t.nativeElement.classList;n?i.add(e):i.remove(e)}let ev=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();class nv{constructor(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const iv={enterDuration:225,exitDuration:150},rv=Ip({passive:!0}),sv=["mousedown","touchstart"],ov=["mouseup","mouseleave","touchend","touchcancel"];class av{constructor(t,e,n,i){this._target=t,this._ngZone=e,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,i.isBrowser&&(this._containerElement=Id(n))}fadeInRipple(t,e,n={}){const i=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),r=Object.assign(Object.assign({},iv),n.animation);n.centered&&(t=i.left+i.width/2,e=i.top+i.height/2);const s=n.radius||function(t,e,n){const i=Math.max(Math.abs(t-n.left),Math.abs(t-n.right)),r=Math.max(Math.abs(e-n.top),Math.abs(e-n.bottom));return Math.sqrt(i*i+r*r)}(t,e,i),o=t-i.left,a=e-i.top,l=r.enterDuration,c=document.createElement("div");c.classList.add("mat-ripple-element"),c.style.left=o-s+"px",c.style.top=a-s+"px",c.style.height=2*s+"px",c.style.width=2*s+"px",null!=n.color&&(c.style.backgroundColor=n.color),c.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(c),function(t){window.getComputedStyle(t).getPropertyValue("opacity")}(c),c.style.transform="scale(1)";const u=new nv(this,c,n);return u.state=0,this._activeRipples.add(u),n.persistent||(this._mostRecentTransientRipple=u),this._runTimeoutOutsideZone(()=>{const t=u===this._mostRecentTransientRipple;u.state=1,!n.persistent&&(!t||!this._isPointerDown)&&u.fadeOut()},l),u}fadeOutRipple(t){const e=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const n=t.element,i=Object.assign(Object.assign({},iv),t.config.animation);n.style.transitionDuration=`${i.exitDuration}ms`,n.style.opacity="0",t.state=2,this._runTimeoutOutsideZone(()=>{t.state=3,n.parentNode.removeChild(n)},i.exitDuration)}fadeOutAll(){this._activeRipples.forEach(t=>t.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(t=>{t.config.persistent||t.fadeOut()})}setupTriggerEvents(t){const e=Id(t);!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,this._registerEvents(sv))}handleEvent(t){"mousedown"===t.type?this._onMousedown(t):"touchstart"===t.type?this._onTouchStart(t):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(ov),this._pointerUpEventsRegistered=!0)}_onMousedown(t){const e=Mg(t),n=this._lastTouchStartEvent&&Date.now(){!t.config.persistent&&(1===t.state||t.config.terminateOnPointerUp&&0===t.state)&&t.fadeOut()}))}_runTimeoutOutsideZone(t,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(t,e))}_registerEvents(t){this._ngZone.runOutsideAngular(()=>{t.forEach(t=>{this._triggerElement.addEventListener(t,this,rv)})})}_removeTriggerEvents(){this._triggerElement&&(sv.forEach(t=>{this._triggerElement.removeEventListener(t,this,rv)}),this._pointerUpEventsRegistered&&ov.forEach(t=>{this._triggerElement.removeEventListener(t,this,rv)}))}}const lv=new oi("mat-ripple-global-options");let cv=(()=>{class t{constructor(t,e,n,i,r){this._elementRef=t,this._animationMode=r,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=i||{},this._rippleRenderer=new av(this,e,t,n)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}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:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{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(t,e=0,n){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,e,Object.assign(Object.assign({},this.rippleConfig),n)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Tu),ea(Ep),ea(lv,8),ea(Ny,8))},t.\u0275dir=se({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,e){2&t&&ja("mat-ripple-unbounded",e.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),t})(),uv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy,Op],Wy]}),t})(),hv=(()=>{class t{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}return t.\u0275fac=function(e){return new(e||t)(ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(t,e){2&t&&ja("mat-pseudo-checkbox-indeterminate","indeterminate"===e.state)("mat-pseudo-checkbox-checked","checked"===e.state)("mat-pseudo-checkbox-disabled",e.disabled)("_mat-animation-noopable","NoopAnimations"===e._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(t,e){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;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-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),t})(),dv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy]]}),t})();const pv=new oi("MAT_OPTION_PARENT_COMPONENT"),fv=qy(class{});let gv=0,mv=(()=>{class t extends fv{constructor(t){var e;super(),this._labelId="mat-optgroup-label-"+gv++,this._inert=null!==(e=null==t?void 0:t.inertGroups)&&void 0!==e&&e}}return t.\u0275fac=function(e){return new(e||t)(ea(pv,8))},t.\u0275dir=se({type:t,inputs:{label:"label"},features:[jo]}),t})();const bv=new oi("MatOptgroup");let yv=0;class vv{constructor(t,e=!1){this.source=t,this.isUserInput=e}}let _v=(()=>{class t{constructor(t,e,n,i){this._element=t,this._changeDetectorRef=e,this._parent=n,this.group=i,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+yv++,this.onSelectionChange=new Bc,this._stateChanges=new A}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(t){this._disabled=kd(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(t,e){const n=this._getHostElement();"function"==typeof n.focus&&n.focus(e)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){(13===t.keyCode||32===t.keyCode)&&!uf(t)&&(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new vv(this,t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(void 0),ea(mv))},t.\u0275dir=se({type:t,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),t})(),wv=(()=>{class t extends _v{constructor(t,e,n,i){super(t,e,n,i)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(pv,8),ea(bv,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(t,e){1&t&&fa("click",function(){return e._selectViaInteraction()})("keydown",function(t){return e._handleKeydown(t)}),2&t&&(rl("id",e.id),Ko("tabindex",e._getTabIndex())("aria-selected",e._getAriaSelected())("aria-disabled",e.disabled.toString()),ja("mat-selected",e.selected)("mat-option-multiple",e.multiple)("mat-active",e.active)("mat-option-disabled",e.disabled))},exportAs:["matOption"],features:[jo],ngContentSelectors:Uy,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(t,e){1&t&&(wa(),Jo(0,Vy,1,2,"mat-pseudo-checkbox",0),ra(1,"span",1),xa(2),sa(),Jo(3,zy,2,1,"span",2),oa(4,"div",3)),2&t&&(na("ngIf",e.multiple),ws(3),na("ngIf",e.group&&e.group._inert),ws(1),na("matRippleTrigger",e._getHostElement())("matRippleDisabled",e.disabled||e.disableRipple))},directives:[Ah,cv,hv],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),t})();function xv(t,e,n){if(n.length){let i=e.toArray(),r=n.toArray(),s=0;for(let e=0;en+i?Math.max(0,t-i+e):n}let Cv=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wh,Wy,dv]]}),t})();function Ev(...t){if(1===t.length){const e=t[0];if(d(e))return Ov(e,null);if(p(e)&&Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);return Ov(t.map(t=>e[t]),t)}}if("function"==typeof t[t.length-1]){const e=t.pop();return Ov(t=1===t.length&&d(t[0])?t[0]:t,null).pipe(D(t=>e(...t)))}return Ov(t,null)}function Ov(t,e){return new E(n=>{const i=t.length;if(0===i)return void n.complete();const r=new Array(i);let s=0,o=0;for(let a=0;a{c||(c=!0,o++),r[a]=t},error:t=>n.error(t),complete:()=>{s++,(s===i||!c)&&(o===i&&n.next(e?e.reduce((t,e,n)=>(t[e]=r[n],t),{}):r),n.complete())}}))}})}function Tv(t){return function(e){const n=new kv(t),i=e.lift(n);return n.caught=i}}class kv{constructor(t){this.selector=t}call(t,e){return e.subscribe(new Pv(t,this.selector,this.caught))}}class Pv extends ${constructor(t,e,n){super(t),this.selector=e,this.caught=n}error(t){if(!this.isStopped){let n;try{n=this.selector(t,this.caught)}catch(e){return void super.error(e)}this._unsubscribeAndRecycle();const i=new H(this);this.add(i);const r=G(n,i);r!==i&&this.add(r)}}}function Av(t){return e=>e.lift(new Mv(t))}class Mv{constructor(t){this.callback=t}call(t,e){return e.subscribe(new Iv(t,this.callback))}}class Iv extends v{constructor(t,e){super(t),this.add(new g(e))}}class Dv{}class Rv{}class Nv{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const n=t.slice(0,e),i=n.toLowerCase(),r=t.slice(e+1).trim();this.maybeSetNormalizedName(n,i),this.headers.has(i)?this.headers.get(i).push(r):this.headers.set(i,[r])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let n=t[e];const i=e.toLowerCase();"string"==typeof n&&(n=[n]),n.length>0&&(this.headers.set(i,n),this.maybeSetNormalizedName(e,i))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Nv?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Nv;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Nv?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,e);const i=("a"===t.op?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":const r=t.value;if(r){let t=this.headers.get(e);if(!t)return;t=t.filter(t=>-1===r.indexOf(t)),0===t.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class Lv{encodeKey(t){return Bv(t)}encodeValue(t){return Bv(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const jv=/%(\d[a-f0-9])/gi,Fv={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function Bv(t){return encodeURIComponent(t).replace(jv,(t,e)=>{var n;return null!==(n=Fv[e])&&void 0!==n?n:t})}function Vv(t){return`${t}`}class zv{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Lv,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const n=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(t=>{const i=t.indexOf("="),[r,s]=-1==i?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,i)),e.decodeValue(t.slice(i+1))],o=n.get(r)||[];o.push(s),n.set(r,o)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const n=t.fromObject[e];this.map.set(e,Array.isArray(n)?n:[n])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(n=>{const i=t[n];Array.isArray(i)?i.forEach(t=>{e.push({param:n,value:t,op:"a"})}):e.push({param:n,value:i,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new zv({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(Vv(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const n=e.indexOf(Vv(t.value));-1!==n&&e.splice(n,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Uv{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}keys(){return this.map.keys()}}function Hv(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function $v(t){return"undefined"!=typeof Blob&&t instanceof Blob}function Gv(t){return"undefined"!=typeof FormData&&t instanceof FormData}class Wv{constructor(t,e,n,i){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||i?(this.body=void 0!==n?n:null,r=i):r=n,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.context&&(this.context=r.context),r.params&&(this.params=r.params)),this.headers||(this.headers=new Nv),this.context||(this.context=new Uv),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const n=e.indexOf("?");this.urlWithParams=e+(-1===n?"?":ne.set(n,t.setHeaders[n]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((e,n)=>e.set(n,t.setParams[n]),c)),new Wv(n,i,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var qv=(()=>((qv=qv||{})[qv.Sent=0]="Sent",qv[qv.UploadProgress=1]="UploadProgress",qv[qv.ResponseHeader=2]="ResponseHeader",qv[qv.DownloadProgress=3]="DownloadProgress",qv[qv.Response=4]="Response",qv[qv.User=5]="User",qv))();class Yv{constructor(t,e=200,n="OK"){this.headers=t.headers||new Nv,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class Xv extends Yv{constructor(t={}){super(t),this.type=qv.ResponseHeader}clone(t={}){return new Xv({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Kv extends Yv{constructor(t={}){super(t),this.type=qv.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new Kv({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Qv extends Yv{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function Zv(t,e){return{body:e,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let Jv=(()=>{class t{constructor(t){this.handler=t}request(t,e,n={}){let i;if(t instanceof Wv)i=t;else{let r,s;r=n.headers instanceof Nv?n.headers:new Nv(n.headers),n.params&&(s=n.params instanceof zv?n.params:new zv({fromObject:n.params})),i=new Wv(t,e,void 0!==n.body?n.body:null,{headers:r,context:n.context,params:s,reportProgress:n.reportProgress,responseType:n.responseType||"json",withCredentials:n.withCredentials})}const r=Dd(i).pipe(function(t,e){return W(t,e,1)}(t=>this.handler.handle(t)));if(t instanceof Wv||"events"===n.observe)return r;const s=r.pipe(ep(t=>t instanceof Kv));switch(n.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return s.pipe(D(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return s.pipe(D(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return s.pipe(D(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return s.pipe(D(t=>t.body))}case"response":return s;default:throw new Error(`Unreachable: unhandled observe type ${n.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new zv).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,n={}){return this.request("PATCH",t,Zv(n,e))}post(t,e,n={}){return this.request("POST",t,Zv(n,e))}put(t,e,n={}){return this.request("PUT",t,Zv(n,e))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Dv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class t_{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const e_=new oi("HTTP_INTERCEPTORS");let n_=(()=>{class t{intercept(t,e){return e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const i_=/^\)\]\}',?\n/;let r_=(()=>{class t{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new E(e=>{const n=this.xhrFactory.build();if(n.open(t.method,t.urlWithParams),t.withCredentials&&(n.withCredentials=!0),t.headers.forEach((t,e)=>n.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||n.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&n.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();n.responseType="json"!==e?e:"text"}const i=t.serializeBody();let r=null;const s=()=>{if(null!==r)return r;const e=1223===n.status?204:n.status,i=n.statusText||"OK",s=new Nv(n.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(n)||t.url;return r=new Xv({headers:s,status:e,statusText:i,url:o}),r},o=()=>{let{headers:i,status:r,statusText:o,url:a}=s(),l=null;204!==r&&(l=void 0===n.response?n.responseText:n.response),0===r&&(r=l?200:0);let c=r>=200&&r<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(i_,"");try{l=""!==l?JSON.parse(l):null}catch(u){l=t,c&&(c=!1,l={error:u,text:l})}}c?(e.next(new Kv({body:l,headers:i,status:r,statusText:o,url:a||void 0})),e.complete()):e.error(new Qv({error:l,headers:i,status:r,statusText:o,url:a||void 0}))},a=t=>{const{url:i}=s(),r=new Qv({error:t,status:n.status||0,statusText:n.statusText||"Unknown Error",url:i||void 0});e.error(r)};let l=!1;const c=i=>{l||(e.next(s()),l=!0);let r={type:qv.DownloadProgress,loaded:i.loaded};i.lengthComputable&&(r.total=i.total),"text"===t.responseType&&!!n.responseText&&(r.partialText=n.responseText),e.next(r)},u=t=>{let n={type:qv.UploadProgress,loaded:t.loaded};t.lengthComputable&&(n.total=t.total),e.next(n)};return n.addEventListener("load",o),n.addEventListener("error",a),n.addEventListener("timeout",a),n.addEventListener("abort",a),t.reportProgress&&(n.addEventListener("progress",c),null!==i&&n.upload&&n.upload.addEventListener("progress",u)),n.send(i),e.next({type:qv.Sent}),()=>{n.removeEventListener("error",a),n.removeEventListener("abort",a),n.removeEventListener("load",o),n.removeEventListener("timeout",a),t.reportProgress&&(n.removeEventListener("progress",c),null!==i&&n.upload&&n.upload.removeEventListener("progress",u)),n.readyState!==n.DONE&&n.abort()}})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Xh))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const s_=new oi("XSRF_COOKIE_NAME"),o_=new oi("XSRF_HEADER_NAME");class a_{}let l_=(()=>{class t{constructor(t,e,n){this.doc=t,this.platform=e,this.cookieName=n,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Eh(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(hu),Ei(s_))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),c_=(()=>{class t{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const n=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||n.startsWith("http://")||n.startsWith("https://"))return e.handle(t);const i=this.tokenService.getToken();return null!==i&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,i)})),e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(a_),Ei(o_))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),u_=(()=>{class t{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(e_,[]);this.chain=t.reduceRight((t,e)=>new t_(t,e),this.backend)}return this.chain.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Rv),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),h_=(()=>{class t{static disable(){return{ngModule:t,providers:[{provide:c_,useClass:n_}]}}static withOptions(e={}){return{ngModule:t,providers:[e.cookieName?{provide:s_,useValue:e.cookieName}:[],e.headerName?{provide:o_,useValue:e.headerName}:[]]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[c_,{provide:e_,useExisting:c_,multi:!0},{provide:a_,useClass:l_},{provide:s_,useValue:"XSRF-TOKEN"},{provide:o_,useValue:"X-XSRF-TOKEN"}]}),t})(),d_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Jv,{provide:Dv,useClass:u_},r_,{provide:Rv,useExisting:r_}],imports:[[h_.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),t})();const p_=["*"];function f_(t){return Error(`Unable to find icon with the name "${t}"`)}function g_(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function m_(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}class b_{constructor(t,e,n){this.url=t,this.svgText=e,this.options=n}}let y_=(()=>{class t{constructor(t,e,n,i){this._httpClient=t,this._sanitizer=e,this._errorHandler=i,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",this._document=n}addSvgIcon(t,e,n){return this.addSvgIconInNamespace("",t,e,n)}addSvgIconLiteral(t,e,n){return this.addSvgIconLiteralInNamespace("",t,e,n)}addSvgIconInNamespace(t,e,n,i){return this._addSvgIconConfig(t,e,new b_(n,null,i))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,e,n,i){const r=this._sanitizer.sanitize(yr.HTML,n);if(!r)throw m_(n);return this._addSvgIconConfig(t,e,new b_("",r,i))}addSvgIconSet(t,e){return this.addSvgIconSetInNamespace("",t,e)}addSvgIconSetLiteral(t,e){return this.addSvgIconSetLiteralInNamespace("",t,e)}addSvgIconSetInNamespace(t,e,n){return this._addSvgIconSetConfig(t,new b_(e,null,n))}addSvgIconSetLiteralInNamespace(t,e,n){const i=this._sanitizer.sanitize(yr.HTML,e);if(!i)throw m_(e);return this._addSvgIconSetConfig(t,new b_("",i,n))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const e=this._sanitizer.sanitize(yr.RESOURCE_URL,t);if(!e)throw g_(t);const n=this._cachedIconsByUrl.get(e);return n?Dd(v_(n)):this._loadSvgIconFromConfig(new b_(t,null)).pipe(eg(t=>this._cachedIconsByUrl.set(e,t)),D(t=>v_(t)))}getNamedSvgIcon(t,e=""){const n=__(e,t);let i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);if(i=this._getIconConfigFromResolvers(e,t),i)return this._svgIconConfigs.set(n,i),this._getSvgFromConfig(i);const r=this._iconSetConfigs.get(e);return r?this._getSvgFromIconSetConfigs(t,r):gp(f_(n))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?Dd(v_(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(D(t=>v_(t)))}_getSvgFromIconSetConfigs(t,e){const n=this._extractIconWithNameFromAnySet(t,e);return n?Dd(n):Ev(e.filter(t=>!t.svgText).map(t=>this._loadSvgIconSetFromConfig(t).pipe(Tv(e=>{const n=`Loading icon set URL: ${this._sanitizer.sanitize(yr.RESOURCE_URL,t.url)} failed: ${e.message}`;return this._errorHandler.handleError(new Error(n)),Dd(null)})))).pipe(D(()=>{const n=this._extractIconWithNameFromAnySet(t,e);if(!n)throw f_(t);return n}))}_extractIconWithNameFromAnySet(t,e){for(let n=e.length-1;n>=0;n--){const i=e[n];if(i.svgText&&i.svgText.indexOf(t)>-1){const e=this._svgElementFromConfig(i),n=this._extractSvgIconFromSet(e,t,i.options);if(n)return n}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(eg(e=>t.svgText=e),D(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?Dd(null):this._fetchIcon(t).pipe(eg(e=>t.svgText=e))}_extractSvgIconFromSet(t,e,n){const i=t.querySelector(`[id="${e}"]`);if(!i)return null;const r=i.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r,n);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r),n);const s=this._svgElementFromString("");return s.appendChild(r),this._setSvgAttributes(s,n)}_svgElementFromString(t){const e=this._document.createElement("DIV");e.innerHTML=t;const n=e.querySelector("svg");if(!n)throw Error(" tag not found");return n}_toSvgElement(t){const e=this._svgElementFromString(""),n=t.attributes;for(let i=0;ithis._inProgressUrlFetches.delete(s)),at());return this._inProgressUrlFetches.set(s,a),a}_addSvgIconConfig(t,e,n){return this._svgIconConfigs.set(__(t,e),n),this}_addSvgIconSetConfig(t,e){const n=this._iconSetConfigs.get(t);return n?n.push(e):this._iconSetConfigs.set(t,[e]),this}_svgElementFromConfig(t){if(!t.svgElement){const e=this._svgElementFromString(t.svgText);this._setSvgAttributes(e,t.options),t.svgElement=e}return t.svgElement}_getIconConfigFromResolvers(t,e){for(let n=0;ne?e.pathname+e.search:""}}}),C_=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],E_=C_.map(t=>`[${t}]`).join(", "),O_=/^url\(['"]?#(.*?)['"]?\)$/;let T_=(()=>{class t extends x_{constructor(t,e,n,i,r){super(t),this._iconRegistry=e,this._location=i,this._errorHandler=r,this._inline=!1,this._currentIconFetch=g.EMPTY,n||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=kd(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const e=this._cleanupFontValue(t);e!==this._fontSet&&(this._fontSet=e,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const e=this._cleanupFontValue(t);e!==this._fontIcon&&(this._fontIcon=e,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const t=this._location.getPathname();t!==this._previousPath&&(this._previousPath=t,this._prependPathToReferences(t))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const e=t.querySelectorAll("style");for(let i=0;i{e.forEach(e=>{n.setAttribute(e.name,`url('${t}#${e.value}')`)})})}_cacheChildrenWithExternalReferences(t){const e=t.querySelectorAll(E_),n=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let i=0;i{const r=e[i],s=r.getAttribute(t),o=s?s.match(O_):null;if(o){let e=n.get(r);e||(e=[],n.set(r,e)),e.push({name:t,value:o[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[e,n]=this._splitIconName(t);e&&(this._svgNamespace=e),n&&(this._svgName=n),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(n,e).pipe(rf(1)).subscribe(t=>this._setSvgElement(t),t=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${e}:${n}! ${t.message}`))})}}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(y_),ii("aria-hidden"),ea(S_),ea(kr))},t.\u0275cmp=Jt({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,e){2&t&&(Ko("data-mat-icon-type",e._usingFontIcon()?"font":"svg")("data-mat-icon-name",e._svgName||e.fontIcon)("data-mat-icon-namespace",e._svgNamespace||e.fontSet),ja("mat-icon-inline",e.inline)("mat-icon-no-color","primary"!==e.color&&"accent"!==e.color&&"warn"!==e.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[jo],ngContentSelectors:p_,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[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}\n"],encapsulation:2,changeDetection:0}),t})(),k_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();const P_=["mat-button",""],A_=["*"],M_=".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n",I_=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],D_=Yy(qy(Xy(class{constructor(t){this._elementRef=t}})));let R_=(()=>{class t extends D_{constructor(t,e,n){super(t),this._focusMonitor=e,this._animationMode=n,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const i of I_)this._hasHostAttributes(i)&&this._getHostElement().classList.add(i);t.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(t,e){t?this._focusMonitor.focusVia(this._getHostElement(),t,e):this._getHostElement().focus(e)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(t=>this._getHostElement().hasAttribute(t))}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ug),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(t,e){if(1&t&&Zc(cv,5),2&t){let t;Qc(t=tu())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(t,e){2&t&&(Ko("disabled",e.disabled||null),ja("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[jo],attrs:P_,ngContentSelectors:A_,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(wa(),ra(0,"span",0),xa(1),sa(),oa(2,"span",1),oa(3,"span",2)),2&t&&(ws(2),ja("mat-button-ripple-round",e.isRoundButton||e.isIconButton),na("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[cv],styles:[M_],encapsulation:2,changeDetection:0}),t})(),N_=(()=>{class t extends R_{constructor(t,e,n){super(e,t,n)}_haltDisabledEvents(t){this.disabled&&(t.preventDefault(),t.stopImmediatePropagation())}}return t.\u0275fac=function(e){return new(e||t)(ea(Ug),ea(Al),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["a","mat-button",""],["a","mat-raised-button",""],["a","mat-icon-button",""],["a","mat-fab",""],["a","mat-mini-fab",""],["a","mat-stroked-button",""],["a","mat-flat-button",""]],hostAttrs:[1,"mat-focus-indicator"],hostVars:7,hostBindings:function(t,e){1&t&&fa("click",function(t){return e._haltDisabledEvents(t)}),2&t&&(Ko("tabindex",e.disabled?-1:e.tabIndex||0)("disabled",e.disabled||null)("aria-disabled",e.disabled.toString()),ja("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matButton","matAnchor"],features:[jo],attrs:P_,ngContentSelectors:A_,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(wa(),ra(0,"span",0),xa(1),sa(),oa(2,"span",1),oa(3,"span",2)),2&t&&(ws(2),ja("mat-button-ripple-round",e.isRoundButton||e.isIconButton),na("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[cv],styles:[M_],encapsulation:2,changeDetection:0}),t})(),L_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wy],Wy]}),t})();class j_ extends v{notifyNext(t,e,n,i,r){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}class F_ extends v{constructor(t,e,n){super(),this.parent=t,this.outerValue=e,this.outerIndex=n,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function B_(t,e,n,i,r=new F_(t,n,i)){if(!r.closed)return e instanceof E?e.subscribe(r):V(e)(r)}const V_={};function z_(...t){let e,n;return I(t[t.length-1])&&(n=t.pop()),"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&d(t[0])&&(t=t[0]),K(t,n).lift(new U_(e))}class U_{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new H_(t,this.resultSelector))}}class H_ extends j_{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(V_),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let n=0;n{class t{constructor(t){this._platform=t,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):q_}matchMedia(t){return this._platform.WEBKIT&&function(t){if(!$_.has(t))try{G_||(G_=document.createElement("style"),G_.setAttribute("type","text/css"),document.head.appendChild(G_)),G_.sheet&&(G_.sheet.insertRule(`@media ${t} {.fx-query-test{ }}`,0),$_.add(t))}catch(e){console.error(e)}}(t),this._matchMedia(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep))},token:t,providedIn:"root"}),t})();function q_(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let Y_=(()=>{class t{constructor(t,e){this._mediaMatcher=t,this._zone=e,this._queries=new Map,this._destroySubject=new A}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return X_(Ad(t)).some(t=>this._registerQuery(t).mql.matches)}observe(t){let e=z_(X_(Ad(t)).map(t=>this._registerQuery(t).observable));return e=ap(e.pipe(rf(1)),e.pipe(lg(1),rg(0))),e.pipe(D(t=>{const e={matches:!1,breakpoints:{}};return t.forEach(({matches:t,query:n})=>{e.matches=e.matches||t,e.breakpoints[n]=t}),e}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const e=this._mediaMatcher.matchMedia(t),n={observable:new E(t=>{const n=e=>this._zone.run(()=>t.next(e));return e.addListener(n),()=>{e.removeListener(n)}}).pipe(lp(e),D(({matches:e})=>({query:t,matches:e})),rp(this._destroySubject)),mql:e};return this._queries.set(t,n),n}}return t.\u0275fac=function(e){return new(e||t)(Ei(W_),Ei(Tu))},t.\u0275prov=xt({factory:function(){return new t(Ei(W_),Ei(Tu))},token:t,providedIn:"root"}),t})();function X_(t){return t.map(t=>t.split(",")).reduce((t,e)=>t.concat(e)).map(t=>t.trim())}function K_(t,e){if(1&t){const t=ua();ra(0,"div",1),ra(1,"button",2),fa("click",function(){return $e(t),va().action()}),Ja(2),sa(),sa()}if(2&t){const t=va();ws(2),tl(t.data.action)}}function Q_(t,e){}const Z_=new oi("MatSnackBarData");class J_{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const tw=Math.pow(2,31)-1;class ew{constructor(t,e){this._overlayRef=e,this._afterDismissed=new A,this._afterOpened=new A,this._onAction=new A,this._dismissedByAction=!1,this.containerInstance=t,this.onAction().subscribe(()=>this.dismiss()),t._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(t){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(t,tw))}_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}}let nw=(()=>{class t{constructor(t,e){this.snackBarRef=t,this.data=e}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return t.\u0275fac=function(e){return new(e||t)(ea(ew),ea(Z_))},t.\u0275cmp=Jt({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(t,e){1&t&&(ra(0,"span"),Ja(1),sa(),Jo(2,K_,3,1,"div",0)),2&t&&(ws(1),tl(e.data.message),ws(1),na("ngIf",e.hasAction))},directives:[Ah,R_],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}\n"],encapsulation:2,changeDetection:0}),t})();const iw={snackBarState:Qg("state",[em("void, hidden",tm({transform:"scale(0.8)",opacity:0})),em("visible",tm({transform:"scale(1)",opacity:1})),im("* => visible",Zg("150ms cubic-bezier(0, 0, 0.2, 1)")),im("* => void, * => hidden",Zg("75ms cubic-bezier(0.4, 0.0, 1, 1)",tm({opacity:0})))])};let rw=(()=>{class t extends Kp{constructor(t,e,n,i,r){super(),this._ngZone=t,this._elementRef=e,this._changeDetectorRef=n,this._platform=i,this.snackBarConfig=r,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new A,this._onExit=new A,this._onEnter=new A,this._animationState="void",this.attachDomPortal=t=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(t)),this._live="assertive"!==r.politeness||r.announcementMessage?"off"===r.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)}onAnimationEnd(t){const{fromState:e,toState:n}=t;if(("void"===n&&"void"!==e||"hidden"===n)&&this._completeExit(),"visible"===n){const t=this._onEnter;this._ngZone.run(()=>{t.next(),t.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(rf(1)).subscribe(()=>{this._onExit.next(),this._onExit.complete()})}_applySnackBarClasses(){const t=this._elementRef.nativeElement,e=this.snackBarConfig.panelClass;e&&(Array.isArray(e)?e.forEach(e=>t.classList.add(e)):t.classList.add(e)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const t=this._elementRef.nativeElement.querySelector("[aria-hidden]"),e=this._elementRef.nativeElement.querySelector("[aria-live]");if(t&&e){let n=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(n=document.activeElement),t.removeAttribute("aria-hidden"),e.appendChild(t),null==n||n.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(Al),ea(nc),ea(Ep),ea(J_))},t.\u0275cmp=Jt({type:t,selectors:[["snack-bar-container"]],viewQuery:function(t,e){if(1&t&&Zc(tf,7),2&t){let t;Qc(t=tu())&&(e._portalOutlet=t.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(t,e){1&t&&ga("@state.done",function(t){return e.onAnimationEnd(t)}),2&t&&sl("@state",e._animationState)},features:[jo],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(t,e){1&t&&(ra(0,"div",0),Jo(1,Q_,0,0,"ng-template",1),sa(),oa(2,"div")),2&t&&(ws(2),Ko("aria-live",e._live)("role",e._role))},directives:[tf],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[iw.snackBarState]}}),t})(),sw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wf,ef,Wh,L_,Wy],Wy]}),t})();const ow=new oi("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new J_}});let aw=(()=>{class t{constructor(t,e,n,i,r,s){this._overlay=t,this._live=e,this._injector=n,this._breakpointObserver=i,this._parentSnackBar=r,this._defaultConfig=s,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=nw,this.snackBarContainerComponent=rw,this.handsetCssClass="mat-snack-bar-handset"}get _openedSnackBarRef(){const t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t}openFromComponent(t,e){return this._attach(t,e)}openFromTemplate(t,e){return this._attach(t,e)}open(t,e="",n){const i=Object.assign(Object.assign({},this._defaultConfig),n);return i.data={message:t,action:e},i.announcementMessage===t&&(i.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,i)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(t,e){const n=No.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:J_,useValue:e}]}),i=new qp(this.snackBarContainerComponent,e.viewContainerRef,n),r=t.attach(i);return r.instance.snackBarConfig=e,r.instance}_attach(t,e){const n=Object.assign(Object.assign(Object.assign({},new J_),this._defaultConfig),e),i=this._createOverlay(n),r=this._attachSnackBarContainer(i,n),s=new ew(r,i);if(t instanceof ac){const e=new Yp(t,null,{$implicit:n.data,snackBarRef:s});s.instance=r.attachTemplatePortal(e)}else{const e=this._createInjector(n,s),i=new qp(t,void 0,e),o=r.attachComponentPortal(i);s.instance=o.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(rp(i.detachments())).subscribe(t=>{const e=i.overlayElement.classList;t.matches?e.add(this.handsetCssClass):e.remove(this.handsetCssClass)}),n.announcementMessage&&r._onAnnounce.subscribe(()=>{this._live.announce(n.announcementMessage,n.politeness)}),this._animateSnackBar(s,n),this._openedSnackBarRef=s,this._openedSnackBarRef}_animateSnackBar(t,e){t.afterDismissed().subscribe(()=>{this._openedSnackBarRef==t&&(this._openedSnackBarRef=null),e.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),e.duration&&e.duration>0&&t.afterOpened().subscribe(()=>t._dismissAfter(e.duration))}_createOverlay(t){const e=new vf;e.direction=t.direction;let n=this._overlay.position().global();const i="rtl"===t.direction,r="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!i||"end"===t.horizontalPosition&&i,s=!r&&"center"!==t.horizontalPosition;return r?n.left("0"):s?n.right("0"):n.centerHorizontally(),"top"===t.verticalPosition?n.top("0"):n.bottom("0"),e.positionStrategy=n,this._overlay.create(e)}_createInjector(t,e){return No.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:ew,useValue:e},{provide:Z_,useValue:t.data}]})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Vf),Ei(Bg),Ei(No),Ei(Y_),Ei(t,12),Ei(ow))},t.\u0275prov=xt({factory:function(){return new t(Ei(Vf),Ei(Bg),Ei(_o),Ei(Y_),Ei(t,12),Ei(ow))},token:t,providedIn:sw}),t})();const lw={tooltipState:Qg("state",[em("initial, void, hidden",tm({opacity:0,transform:"scale(0)"})),em("visible",tm({transform:"scale(1)"})),im("* => visible",Zg("200ms cubic-bezier(0, 0, 0.2, 1)",nm([tm({opacity:0,transform:"scale(0)",offset:0}),tm({opacity:.5,transform:"scale(0.99)",offset:.5}),tm({opacity:1,transform:"scale(1)",offset:1})]))),im("* => hidden",Zg("100ms cubic-bezier(0, 0, 0.2, 1)",tm({opacity:0})))])},cw="tooltip-panel",uw=Ip({passive:!0}),hw=new oi("mat-tooltip-scroll-strategy"),dw={provide:hw,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition({scrollThrottle:20})}},pw=new oi("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});let fw=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u,h){this._overlay=t,this._elementRef=e,this._scrollDispatcher=n,this._viewContainerRef=i,this._ngZone=r,this._platform=s,this._ariaDescriber=o,this._focusMonitor=a,this._dir=c,this._defaultOptions=u,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new A,this._handleKeydown=t=>{this._isTooltipVisible()&&27===t.keyCode&&!uf(t)&&(t.preventDefault(),t.stopPropagation(),this._ngZone.run(()=>this.hide(0)))},this._scrollStrategy=l,this._document=h,u&&(u.position&&(this.position=u.position),u.touchGestures&&(this.touchGestures=u.touchGestures)),c.change.pipe(rp(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),r.runOutsideAngular(()=>{e.nativeElement.addEventListener("keydown",this._handleKeydown)})}get position(){return this._position}set position(t){var e;t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(e=this._tooltipInstance)||void 0===e||e.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=t?String(t).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(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(rp(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const t=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),t.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(([e,n])=>{t.removeEventListener(e,n,uw)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t)}show(t=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible()&&!this._tooltipInstance._showTimeoutId&&!this._tooltipInstance._hideTimeoutId)return;const e=this._createOverlay();this._detach(),this._portal=this._portal||new qp(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=e.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(rp(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),e=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return e.positionChanges.pipe(rp(this._destroyed)).subscribe(t=>{this._updateCurrentPositionClass(t.connectionPair),this._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:e,panelClass:`${this._cssClassPrefix}-${cw}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(rp(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(rp(this._destroyed)).subscribe(()=>{var t;return null===(t=this._tooltipInstance)||void 0===t?void 0:t._handleBodyInteraction()}),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(t){const e=t.getConfig().positionStrategy,n=this._getOrigin(),i=this._getOverlayPosition();e.withPositions([this._addOffset(Object.assign(Object.assign({},n.main),i.main)),this._addOffset(Object.assign(Object.assign({},n.fallback),i.fallback))])}_addOffset(t){return t}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;"above"==e||"below"==e?n={originX:"center",originY:"above"==e?"top":"bottom"}:"before"==e||"left"==e&&t||"right"==e&&!t?n={originX:"start",originY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(n={originX:"end",originY:"center"});const{x:i,y:r}=this._invertPosition(n.originX,n.originY);return{main:n,fallback:{originX:i,originY:r}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let n;"above"==e?n={overlayX:"center",overlayY:"bottom"}:"below"==e?n={overlayX:"center",overlayY:"top"}:"before"==e||"left"==e&&t||"right"==e&&!t?n={overlayX:"end",overlayY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(n={overlayX:"start",overlayY:"center"});const{x:i,y:r}=this._invertPosition(n.overlayX,n.overlayY);return{main:n,fallback:{overlayX:i,overlayY:r}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(rf(1),rp(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}}_updateCurrentPositionClass(t){const{overlayY:e,originX:n,originY:i}=t;let r;if(r="center"===e?this._dir&&"rtl"===this._dir.value?"end"===n?"left":"right":"start"===n?"left":"right":"bottom"===e&&"top"===i?"above":"below",r!==this._currentPosition){const t=this._overlayRef;if(t){const e=`${this._cssClassPrefix}-${cw}-`;t.removePanelClass(e+this._currentPosition),t.addPanelClass(e+r)}this._currentPosition=r}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const t=[];if(this._platformSupportsMouseEvents())t.push(["mouseleave",()=>this.hide()],["wheel",t=>this._wheelListener(t)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const e=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};t.push(["touchend",e],["touchcancel",e])}this._addListeners(t),this._passiveListeners.push(...t)}_addListeners(t){t.forEach(([t,e])=>{this._elementRef.nativeElement.addEventListener(t,e,uw)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(t){if(this._isTooltipVisible()){const e=this._document.elementFromPoint(t.clientX,t.clientY),n=this._elementRef.nativeElement;e!==n&&!n.contains(e)&&this.hide()}}_disableNativeGesturesIfNecessary(){const t=this.touchGestures;if("off"!==t){const e=this._elementRef.nativeElement,n=e.style;("on"===t||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName)&&(n.userSelect=n.msUserSelect=n.webkitUserSelect=n.MozUserSelect="none"),("on"===t||!e.draggable)&&(n.webkitUserDrag="none"),n.touchAction="none",n.webkitTapHighlightColor="transparent"}}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(Up),ea(pc),ea(Tu),ea(Ep),ea(xg),ea(Ug),ea(void 0),ea(Fp),ea(void 0),ea(th))},t.\u0275dir=se({type:t,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),t})(),gw=(()=>{class t extends fw{constructor(t,e,n,i,r,s,o,a,l,c,u,h){super(t,e,n,i,r,s,o,a,l,c,u,h),this._tooltipComponent=bw}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(Up),ea(pc),ea(Tu),ea(Ep),ea(xg),ea(Ug),ea(hw),ea(Fp,8),ea(pw,8),ea(th))},t.\u0275dir=se({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[jo]}),t})(),mw=(()=>{class t{constructor(t){this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new A}show(t){clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._showTimeoutId=void 0,this._onShow(),this._markForCheck()},t)}hide(t){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._hideTimeoutId=void 0,this._markForCheck()},t)}afterHidden(){return this._onHide}isVisible(){return"visible"===this._visibility}ngOnDestroy(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const e=t.toState;"hidden"===e&&!this.isVisible()&&this._onHide.next(),("visible"===e||"hidden"===e)&&(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_onShow(){}}return t.\u0275fac=function(e){return new(e||t)(ea(nc))},t.\u0275dir=se({type:t}),t})(),bw=(()=>{class t extends mw{constructor(t,e){super(t),this._breakpointObserver=e,this._isHandset=this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)")}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(Y_))},t.\u0275cmp=Jt({type:t,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(t,e){2&t&&La("zoom","visible"===e._visibility?1:null)},features:[jo],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(t,e){if(1&t&&(ra(0,"div",0),fa("@state.start",function(){return e._animationStart()})("@state.done",function(t){return e._animationDone(t)}),Dc(1,"async"),Ja(2),sa()),2&t){let t;ja("mat-tooltip-handset",null==(t=Rc(1,5,e._isHandset))?null:t.matches),na("ngClass",e.tooltipClass)("@state",e._visibility),ws(2),tl(e.message)}},directives:[Oh],pipes:[$h],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[lw.tooltipState]},changeDetection:0}),t})(),yw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[dw],imports:[[qg,Wh,Wf,Wy],Wy,$p]}),t})();function vw(t,e,n,i){var r,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,n,i);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,n,o):r(e,n))||o);return s>3&&o&&Object.defineProperty(e,n,o),o}function _w(t,e){return function(n,i){e(n,i,t)}}function ww(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function xw(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(e){s(e)}}function a(t){try{l(i.throw(t))}catch(e){s(e)}}function l(t){t.done?r(t.value):function(t){return t instanceof n?t:new n(function(e){e(t)})}(t.value).then(o,a)}l((i=i.apply(t,e||[])).next())})}function Sw(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,n=t||e;return!!(n&&n.indexOf("Electron")>=0)}function Cw(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||Sw()}const Ew="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",Ow=Cw();class Tw{constructor(t,e,n="sessionStorage"){this.storage=function(e){try{const t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(t){return null}}(n),this.id=t,this.config={},Object.assign(this.config,e),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){return this.config={},this.updateConfiguration(t)}updateConfiguration(t){if(Object.assign(this.config,t),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}_loadConfiguration(){let t={};if(this.storage){const e=this.storage.getItem(this.id);t=e?JSON.parse(e):{}}return Object.assign(this.config,t),this}}function kw(t,e,n,i=600){const r=t.src.replace(/\(/g,"%28").replace(/\)/g,"%29");t.width>i&&(n=Math.min(n,i/t.width));const s=t.width*n,o=t.height*n,a=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(s/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(r,");"),"background-size:".concat(s,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(e," %c+"),a]}const Pw={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Aw(t){return"string"==typeof t?Pw[t.toUpperCase()]||Pw.WHITE:t}function Mw(t,e){if(!t)throw new Error(e||"Assertion failed")}const Iw={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Dw=Iw.window||Iw.self||Iw.global,Rw=Iw.process||{};function Nw(){let t;if(Ow&&Dw.performance)t=Dw.performance.now();else if(Rw.hrtime){const e=Rw.hrtime();t=1e3*e[0]+e[1]/1e6}else t=Date.now();return t}console;const Lw={debug:Ow&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},jw={enabled:!0,level:0};function Fw(){}const Bw={},Vw={once:!0};function zw(t){for(const e in t)for(const n in t[e])return n||"untitled";return"empty"}let Uw=(()=>{class t{constructor({id:t}={id:""}){this.id=t,this.VERSION=Ew,this._startTs=Nw(),this._deltaTs=Nw(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new Tw("__probe-".concat(this.id,"__"),jw),this.userData={},this.timeStamp("".concat(this.id," started")),function(t,e=["constructor"]){const n=Object.getPrototypeOf(t),i=Object.getOwnPropertyNames(n);for(const r of i)"function"==typeof t[r]&&(e.find(t=>r===t)||(t[r]=t[r].bind(t)))}(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Nw()-this._startTs).toPrecision(10))}getDelta(){return Number((Nw()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._storage.updateConfiguration({enabled:t}),this}setLevel(t){return this._storage.updateConfiguration({level:t}),this}assert(t,e){Mw(t,e)}warn(t){return this._getLogFunction(0,t,Lw.warn,arguments,Vw)}error(t){return this._getLogFunction(0,t,Lw.error,arguments)}deprecated(t,e){return this.warn("`".concat(t,"` is deprecated and will be removed in a later version. Use `").concat(e,"` instead"))}removed(t,e){return this.error("`".concat(t,"` has been removed. Use `").concat(e,"` instead"))}probe(t,e){return this._getLogFunction(t,e,Lw.log,arguments,{time:!0,once:!0})}log(t,e){return this._getLogFunction(t,e,Lw.debug,arguments)}info(t,e){return this._getLogFunction(t,e,console.info,arguments)}once(t,e){return this._getLogFunction(t,e,Lw.debug||Lw.info,arguments,Vw)}table(t,e,n){return e?this._getLogFunction(t,e,console.table||Fw,n&&[n],{tag:zw(e)}):Fw}image({logLevel:t,priority:e,image:i,message:r="",scale:s=1}){return this._shouldLog(t||e)?Ow?function({image:t,message:e="",scale:n=1}){if("string"==typeof t){const i=new Image;return i.onload=()=>{const t=kw(i,e,n);console.log(...t)},i.src=t,Fw}const i=t.nodeName||"";if("img"===i.toLowerCase())return console.log(...kw(t,e,n)),Fw;if("canvas"===i.toLowerCase()){const i=new Image;return i.onload=()=>console.log(...kw(i,e,n)),i.src=t.toDataURL(),Fw}return Fw}({image:i,message:r,scale:s}):function({image:t,message:e="",scale:r=1}){let s=null;try{s=n(75307)}catch(i){}return s?()=>s(t,{fit:"box",width:"".concat(Math.round(80*r),"%")}).then(t=>console.log(t)):Fw}({image:i,message:r,scale:s}):Fw}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(t){return this._storage.config[t]}set(t,e){this._storage.updateConfiguration({[t]:e})}time(t,e){return this._getLogFunction(t,e,console.time?console.time:console.info)}timeEnd(t,e){return this._getLogFunction(t,e,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,e){return this._getLogFunction(t,e,console.timeStamp||Fw)}group(t,e,n={collapsed:!1}){n=$w({logLevel:t,message:e,opts:n});const{collapsed:i}=n;return n.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}groupCollapsed(t,e,n={}){return this.group(t,e,Object.assign({},n,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,"",console.groupEnd||Fw)}withGroup(t,e,n){this.group(t,e)();try{n()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=Hw(t)}_getLogFunction(t,e,n,i=[],r){if(this._shouldLog(t)){r=$w({logLevel:t,message:e,args:i,opts:r}),Mw(n=n||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=Nw();const s=r.tag||r.message;if(r.once){if(Bw[s])return Fw;Bw[s]=Nw()}return e=function(t,e,n){if("string"==typeof e){const i=n.time?function(t,e=8){const n=Math.max(e-t.length,0);return"".concat(" ".repeat(n)).concat(t)}(function(t){let e;return e=t<10?"".concat(t.toFixed(2),"ms"):t<100?"".concat(t.toFixed(1),"ms"):t<1e3?"".concat(t.toFixed(0),"ms"):"".concat((t/1e3).toFixed(2),"s"),e}(n.total)):"";e=function(t,e,n){return!Ow&&"string"==typeof t&&(e&&(e=Aw(e),t="\x1b[".concat(e,"m").concat(t,"\x1b[39m")),n&&(e=Aw(n),t="\x1b[".concat(n+10,"m").concat(t,"\x1b[49m"))),t}(e=n.time?"".concat(t,": ").concat(i," ").concat(e):"".concat(t,": ").concat(e),n.color,n.background)}return e}(this.id,r.message,r),n.bind(console,e,...r.args)}return Fw}}return t.VERSION=Ew,t})();function Hw(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return Mw(Number.isFinite(e)&&e>=0),e}function $w(t){const{logLevel:e,message:n}=t;t.logLevel=Hw(e);const i=t.args?Array.from(t.args):[];for(;i.length&&i.shift()!==n;);switch(t.args=i,typeof e){case"string":case"function":void 0!==n&&i.unshift(n),t.message=e;break;case"object":Object.assign(t,e)}"function"==typeof t.message&&(t.message=t.message());const r=typeof t.message;return Mw("string"===r||"object"===r),Object.assign(t,t.opts)}var Gw=new Uw({id:"deck"});const Ww={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Ww,"IDENTITY",{get:()=>Gw.deprecated("COORDINATE_SYSTEM.IDENTITY","COORDINATE_SYSTEM.CARTESIAN")()||0});const qw={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},Yw={click:{handler:"onClick"},panstart:{handler:"onDragStart"},panmove:{handler:"onDrag"},panend:{handler:"onDragEnd"}},Xw=new Uw({id:"luma.gl"});function Kw(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}function Qw(t){return"undefined"!=typeof WebGLRenderingContext&&t instanceof WebGLRenderingContext||"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&Number.isFinite(t._version))}function Zw(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&2===t._version)}function Jw(t){return Kw(Qw(t),"Invalid WebGLRenderingContext"),t}function tx(t){return Kw(Zw(t),"Requires WebGL2"),t}const ex={};const nx=function t(e){const n=e.gl;this.ext=e,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(e.maxVertexAttribs);for(let i=0;i{globalThis.console&&globalThis.console.log&&globalThis.console.log("OESVertexArrayObject emulation library context restored"),e.reset_()},!0),this.reset_()};ix.prototype.VERTEX_ARRAY_BINDING_OES=34229,ix.prototype.reset_=function(){if(void 0!==this.vertexArrayObjects)for(let t=0;tZw(t)?void 0:0,lx={3074:t=>Zw(t)?void 0:36064,35723:t=>Zw(t)?void 0:4352,35977:ax,32937:ax,36795:(t,e)=>{const n=Zw(t)?t.getExtension("EXT_disjoint_timer_query_webgl2"):t.getExtension("EXT_disjoint_timer_query");return n&&n.GPU_DISJOINT_EXT?e(n.GPU_DISJOINT_EXT):0},37445:(t,e)=>{const n=t.getExtension(ox);return e(n&&n.UNMASKED_VENDOR_WEBGL||7936)},37446:(t,e)=>{const n=t.getExtension(ox);return e(n&&n.UNMASKED_RENDERER_WEBGL||7937)},34047:(t,e)=>{const n=t.luma.extensions.EXT_texture_filter_anisotropic;return n?e(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:ax,35071:ax,37447:ax,36063:(t,e)=>{if(!Zw(t)){const n=t.getExtension(sx);return n?e(n.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:ax,35374:ax,35377:ax,34852:t=>{if(!Zw(t)){const e=t.getExtension(sx);return e?e.MAX_DRAW_BUFFERS_WEBGL:0}},36203:t=>t.getExtension(rx)?2147483647:65535,33001:t=>t.getExtension(rx)?16777216:65535,33e3:t=>16777216,37157:ax,35373:ax,35657:ax,36183:ax,37137:ax,34045:ax,35978:ax,35979:ax,35968:ax,35376:ax,35375:ax,35659:ax,37154:ax,35371:ax,35658:ax,35076:ax,35077:ax,35380:ax},cx="ANGLE_instanced_arrays",ux={OES_vertex_array_object:{meta:{suffix:"OES"},createVertexArray:()=>{Kw(!1,"VertexArray requires WebGL2 or OES_vertex_array_object extension")},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[cx]:{meta:{suffix:"ANGLE"},vertexAttribDivisor(t,e){Kw(0===e,"WebGL instanced rendering not supported")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},WEBGL_draw_buffers:{meta:{suffix:"WEBGL"},drawBuffers:()=>{Kw(!1)}},EXT_disjoint_timer_query:{meta:{suffix:"EXT"},createQuery:()=>{Kw(!1)},deleteQuery:()=>{Kw(!1)},beginQuery:()=>{Kw(!1)},endQuery:()=>{},getQuery(t,e){return this.getQueryObject(t,e)},getQueryParameter(t,e){return this.getQueryObject(t,e)},getQueryObject:()=>{}}},hx={readBuffer:(t,e,n)=>{Zw(t)&&e(n)},getVertexAttrib:(t,e,n,i)=>{const{webgl2:r,ext:s}=function(t,e){return{webgl2:Zw(t),ext:t.getExtension("ANGLE_instanced_arrays")}}(t);let o;switch(i){case 35069:o=!!r&&void 0;break;case 35070:o=r||s?void 0:0}return void 0!==o?o:e(n,i)},getProgramParameter:(t,e,n,i)=>{if(!Zw(t))switch(i){case 35967:return 35981;case 35971:case 35382:return 0}return e(n,i)},getInternalformatParameter:(t,e,n,i,r)=>{if(!Zw(t))switch(r){case 32937:return new Int32Array([0])}return t.getInternalformatParameter(n,i,r)},getTexParameter(t,e,n,i){switch(i){case 34046:const{extensions:e}=t.luma,n=e.EXT_texture_filter_anisotropic;i=n&&n.TEXTURE_MAX_ANISOTROPY_EXT||34046}return e(n,i)},getParameter:function(t,e,n){const i=lx[n],r="function"==typeof i?i(t,e,n):i;return void 0!==r?r:e(n)},hint:(t,e,n,i)=>e(n,i)};function dx(t,{extension:e,target:n,target2:i}){const r=ux[e];Kw(r);const{meta:s={}}=r,{suffix:o=""}=s,a=t.getExtension(e);for(const l of Object.keys(r)){const e=`${l}${o}`;let s=null;"meta"===l||"function"==typeof t[l]||(a&&"function"==typeof a[e]?s=(...t)=>a[e](...t):"function"==typeof r[l]&&(s=r[l].bind(n))),s&&(n[l]=s,i[l]=s)}}globalThis.polyfillContext=function(t){t.luma=t.luma||{};const{luma:e}=t;return e.polyfilled||(function(t){if("function"==typeof t.createVertexArray)return;const e=t.getSupportedExtensions;t.getSupportedExtensions=function(){const t=e.call(this)||[];return t.indexOf("OES_vertex_array_object")<0&&t.push("OES_vertex_array_object"),t};const n=t.getExtension;t.getExtension=function(e){return n.call(this,e)||("OES_vertex_array_object"!==e?null:(t.__OESVertexArrayObject||(this.__OESVertexArrayObject=new ix(this)),this.__OESVertexArrayObject))}}(t),function(t){t.luma.extensions={};const e=t.getSupportedExtensions()||[];for(const n of e)t.luma[n]=t.getExtension(n)}(t),function(t,e){for(const n of Object.getOwnPropertyNames(e))"overrides"!==n&&dx(t,{extension:n,target:t.luma,target2:t})}(t,ux),function(t,{target:e,target2:n}){Object.keys(hx).forEach(i=>{if("function"==typeof hx[i]){const r=t[i]?t[i].bind(t):()=>{},s=hx[i].bind(null,t,r);e[i]=s,n[i]=s}})}(t,{target:e,target2:t}),e.polyfilled=!0),t};const px={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},fx=(t,e,n)=>e?t.enable(n):t.disable(n),gx=(t,e,n)=>t.hint(n,e),mx=(t,e,n)=>t.pixelStorei(n,e);function bx(t){return Array.isArray(t)||ArrayBuffer.isView(t)}const yx={3042:fx,32773:(t,e)=>t.blendColor(...e),32777:"blendEquation",34877:"blendEquation",32969:"blendFunc",32968:"blendFunc",32971:"blendFunc",32970:"blendFunc",3106:(t,e)=>t.clearColor(...e),3107:(t,e)=>t.colorMask(...e),2884:fx,2885:(t,e)=>t.cullFace(e),2929:fx,2931:(t,e)=>t.clearDepth(e),2932:(t,e)=>t.depthFunc(e),2928:(t,e)=>t.depthRange(...e),2930:(t,e)=>t.depthMask(e),3024:fx,35723:gx,36006:(t,e)=>{const n=Zw(t)?36009:36160;return t.bindFramebuffer(n,e)},2886:(t,e)=>t.frontFace(e),33170:gx,2849:(t,e)=>t.lineWidth(e),32823:fx,32824:"polygonOffset",10752:"polygonOffset",35977:fx,32938:"sampleCoverage",32939:"sampleCoverage",3089:fx,3088:(t,e)=>t.scissor(...e),2960:fx,2961:(t,e)=>t.clearStencil(e),2968:(t,e)=>t.stencilMaskSeparate(1028,e),36005:(t,e)=>t.stencilMaskSeparate(1029,e),2962:"stencilFuncFront",2967:"stencilFuncFront",2963:"stencilFuncFront",34816:"stencilFuncBack",36003:"stencilFuncBack",36004:"stencilFuncBack",2964:"stencilOpFront",2965:"stencilOpFront",2966:"stencilOpFront",34817:"stencilOpBack",34818:"stencilOpBack",34819:"stencilOpBack",2978:(t,e)=>t.viewport(...e),3333:mx,3317:mx,37440:mx,37441:mx,37443:mx,3330:mx,3332:mx,3331:mx,36010:(t,e)=>t.bindFramebuffer(36008,e),3314:mx,32878:mx,3316:mx,3315:mx,32877:mx,framebuffer:(t,e)=>t.bindFramebuffer(36160,e&&"handle"in e?e.handle:e),blend:(t,e)=>e?t.enable(3042):t.disable(3042),blendColor:(t,e)=>t.blendColor(...e),blendEquation:(t,e)=>{e=bx(e)?e:[e,e],t.blendEquationSeparate(...e)},blendFunc:(t,e)=>{e=bx(e)&&2===e.length?[...e,...e]:e,t.blendFuncSeparate(...e)},clearColor:(t,e)=>t.clearColor(...e),clearDepth:(t,e)=>t.clearDepth(e),clearStencil:(t,e)=>t.clearStencil(e),colorMask:(t,e)=>t.colorMask(...e),cull:(t,e)=>e?t.enable(2884):t.disable(2884),cullFace:(t,e)=>t.cullFace(e),depthTest:(t,e)=>e?t.enable(2929):t.disable(2929),depthFunc:(t,e)=>t.depthFunc(e),depthMask:(t,e)=>t.depthMask(e),depthRange:(t,e)=>t.depthRange(...e),dither:(t,e)=>e?t.enable(3024):t.disable(3024),derivativeHint:(t,e)=>{t.hint(35723,e)},frontFace:(t,e)=>t.frontFace(e),mipmapHint:(t,e)=>t.hint(33170,e),lineWidth:(t,e)=>t.lineWidth(e),polygonOffsetFill:(t,e)=>e?t.enable(32823):t.disable(32823),polygonOffset:(t,e)=>t.polygonOffset(...e),sampleCoverage:(t,e)=>t.sampleCoverage(...e),scissorTest:(t,e)=>e?t.enable(3089):t.disable(3089),scissor:(t,e)=>t.scissor(...e),stencilTest:(t,e)=>e?t.enable(2960):t.disable(2960),stencilMask:(t,e)=>{e=bx(e)?e:[e,e];const[n,i]=e;t.stencilMaskSeparate(1028,n),t.stencilMaskSeparate(1029,i)},stencilFunc:(t,e)=>{e=bx(e)&&3===e.length?[...e,...e]:e;const[n,i,r,s,o,a]=e;t.stencilFuncSeparate(1028,n,i,r),t.stencilFuncSeparate(1029,s,o,a)},stencilOp:(t,e)=>{e=bx(e)&&3===e.length?[...e,...e]:e;const[n,i,r,s,o,a]=e;t.stencilOpSeparate(1028,n,i,r),t.stencilOpSeparate(1029,s,o,a)},viewport:(t,e)=>t.viewport(...e)};function vx(t,e,n){return void 0!==e[t]?e[t]:n[t]}const _x={blendEquation:(t,e,n)=>t.blendEquationSeparate(vx(32777,e,n),vx(34877,e,n)),blendFunc:(t,e,n)=>t.blendFuncSeparate(vx(32969,e,n),vx(32968,e,n),vx(32971,e,n),vx(32970,e,n)),polygonOffset:(t,e,n)=>t.polygonOffset(vx(32824,e,n),vx(10752,e,n)),sampleCoverage:(t,e,n)=>t.sampleCoverage(vx(32938,e,n),vx(32939,e,n)),stencilFuncFront:(t,e,n)=>t.stencilFuncSeparate(1028,vx(2962,e,n),vx(2967,e,n),vx(2963,e,n)),stencilFuncBack:(t,e,n)=>t.stencilFuncSeparate(1029,vx(34816,e,n),vx(36003,e,n),vx(36004,e,n)),stencilOpFront:(t,e,n)=>t.stencilOpSeparate(1028,vx(2964,e,n),vx(2965,e,n),vx(2966,e,n)),stencilOpBack:(t,e,n)=>t.stencilOpSeparate(1029,vx(34817,e,n),vx(34818,e,n),vx(34819,e,n))},wx={enable:(t,e)=>t({[e]:!0}),disable:(t,e)=>t({[e]:!1}),pixelStorei:(t,e,n)=>t({[e]:n}),hint:(t,e,n)=>t({[e]:n}),bindFramebuffer:(t,e,n)=>{switch(e){case 36160:return t({36006:n,36010:n});case 36009:return t({36006:n});case 36008:return t({36010:n});default:return null}},blendColor:(t,e,n,i,r)=>t({32773:new Float32Array([e,n,i,r])}),blendEquation:(t,e)=>t({32777:e,34877:e}),blendEquationSeparate:(t,e,n)=>t({32777:e,34877:n}),blendFunc:(t,e,n)=>t({32969:e,32968:n,32971:e,32970:n}),blendFuncSeparate:(t,e,n,i,r)=>t({32969:e,32968:n,32971:i,32970:r}),clearColor:(t,e,n,i,r)=>t({3106:new Float32Array([e,n,i,r])}),clearDepth:(t,e)=>t({2931:e}),clearStencil:(t,e)=>t({2961:e}),colorMask:(t,e,n,i,r)=>t({3107:[e,n,i,r]}),cullFace:(t,e)=>t({2885:e}),depthFunc:(t,e)=>t({2932:e}),depthRange:(t,e,n)=>t({2928:new Float32Array([e,n])}),depthMask:(t,e)=>t({2930:e}),frontFace:(t,e)=>t({2886:e}),lineWidth:(t,e)=>t({2849:e}),polygonOffset:(t,e,n)=>t({32824:e,10752:n}),sampleCoverage:(t,e,n)=>t({32938:e,32939:n}),scissor:(t,e,n,i,r)=>t({3088:new Int32Array([e,n,i,r])}),stencilMask:(t,e)=>t({2968:e,36005:e}),stencilMaskSeparate:(t,e,n)=>t({[1028===e?2968:36005]:n}),stencilFunc:(t,e,n,i)=>t({2962:e,2967:n,2963:i,34816:e,36003:n,36004:i}),stencilFuncSeparate:(t,e,n,i,r)=>t({[1028===e?2962:34816]:n,[1028===e?2967:36003]:i,[1028===e?2963:36004]:r}),stencilOp:(t,e,n,i)=>t({2964:e,2965:n,2966:i,34817:e,34818:n,34819:i}),stencilOpSeparate:(t,e,n,i,r)=>t({[1028===e?2964:34817]:n,[1028===e?2965:34818]:i,[1028===e?2966:34819]:r}),viewport:(t,e,n,i,r)=>t({2978:[e,n,i,r]})},xx=(t,e)=>t.isEnabled(e),Sx={3042:xx,2884:xx,2929:xx,3024:xx,32823:xx,32926:xx,32928:xx,3089:xx,2960:xx,35977:xx};function Cx(t){for(const e in t)return!1;return!0}function Ex(t,e){if(t===e)return!0;const n=Array.isArray(t)||ArrayBuffer.isView(t),i=Array.isArray(e)||ArrayBuffer.isView(e);if(n&&i&&t.length===e.length){for(let n=0;n{})}={}){this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=e?function(t,e){if("number"==typeof(e=e||px)){const n=e,i=Sx[n];return i?i(t,n):t.getParameter(n)}const n=Array.isArray(e)?e:Object.keys(e),i={};for(const r of n){const e=Sx[r];i[r]=e?e(t,Number(r)):t.getParameter(Number(r))}return i}(t):Object.assign({},px),this.log=n,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(t={}){this.stateStack.push({})}pop(){Kw(this.stateStack.length>0),Mx(this.gl,this.stateStack[this.stateStack.length-1]),this.stateStack.pop()}_updateCache(t){let e,n=!1;const i=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(const r in t){Kw(void 0!==r);const s=t[r],o=this.cache[r];Ex(s,o)||(n=!0,e=o,i&&!(r in i)&&(i[r]=o),this.cache[r]=s)}return{valueChanged:n,oldValue:e}}}function Px(t,e={}){const{enable:n=!0,copyState:i}=e;if(Kw(void 0!==i),!t.state){const{polyfillContext:e}=globalThis;e&&e(t),t.state=new kx(t,{copyState:i}),function(t){const e=t.useProgram.bind(t);t.useProgram=function(n){t.state.program!==n&&(e(n),t.state.program=n)}}(t);for(const n in wx)Tx(t,n,wx[n]);Ox(t,"getParameter"),Ox(t,"isEnabled")}return t.state.enable=n,t}function Ax(t){Kw(t.state),t.state.pop()}function Mx(t,e){if(Kw(Qw(t),"setParameters requires a WebGL context"),Cx(e))return;const n={};for(const r in e){const i=Number(r),s=yx[r];s&&("string"==typeof s?n[s]=!0:s(t,e[r],i))}const i=t.state&&t.state.cache;if(i)for(const r in n)_x[r](t,e,i)}function Ix(t,e,n){if(Cx(e))return n(t);const{nocatch:i=!0}=e;let r;if(function(t){t.state||Px(t,{copyState:!1}),t.state.push()}(t),Mx(t,e),i)r=n(t),Ax(t);else try{r=n(t)}finally{Ax(t)}return r}function Dx(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(t){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||"undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const e="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent;return!!(e&&e.indexOf("Electron")>=0)}()}function Rx(t){const{luma:e}=t;if(t.canvas&&e){const{clientWidth:n}=e.canvasSizeInfo;return n?t.drawingBufferWidth/n:1}return 1}function Nx(t,e,n=!0){return function(t,e,n,i,r){const s=Lx(t[0],e,n);let o=jx(t[1],e,i,r),a=Lx(t[0]+1,e,n);const l=a===n-1?a:a-1;let c;return a=jx(t[1]+1,e,i,r),r?(a=0===a?a:a+1,c=o,o=a):c=a===i-1?a:a-1,{x:s,y:o,width:Math.max(l-s+1,1),height:Math.max(c-o+1,1)}}(e,Rx(t),t.drawingBufferWidth,t.drawingBufferHeight,n)}function Lx(t,e,n){return Math.min(Math.round(t*e),n-1)}function jx(t,e,n,i){return i?Math.max(0,n-1-Math.round(t*e)):Math.min(Math.round(t*e),n-1)}const Fx=Dx(),Bx=Fx&&"undefined"!=typeof document,Vx={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function zx(t={}){Kw(Fx,"createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils"),t=Object.assign({},Vx,t);const{width:e,height:n}=t;function i(e){if(t.throwOnError)throw new Error(e);return console.error(e),null}let r;t.onError=i;const{canvas:s}=t,o=function({canvas:t,width:e=800,height:n=600,onError:i}){let r;return"string"==typeof t?(Bx&&"complete"===document.readyState||i(`createGLContext called on canvas '${t}' before page was loaded`),r=document.getElementById(t)):t?r=t:(r=document.createElement("canvas"),r.id="lumagl-canvas",r.style.width=Number.isFinite(e)?`${e}px`:"100%",r.style.height=Number.isFinite(n)?`${n}px`:"100%",document.body.insertBefore(r,document.body.firstChild)),r}({canvas:s,width:e,height:n,onError:i});return r=function(t,e){const{onError:n}=e;let i=null;const r=t=>i=t.statusMessage||i;t.addEventListener("webglcontextcreationerror",r,!1);const{webgl1:s=!0,webgl2:o=!0}=e;let a=null;return o&&(a=a||t.getContext("webgl2",e),a=a||t.getContext("experimental-webgl2",e)),s&&(a=a||t.getContext("webgl",e),a=a||t.getContext("experimental-webgl",e)),t.removeEventListener("webglcontextcreationerror",r,!1),a?(e.onContextLost&&t.addEventListener("webglcontextlost",e.onContextLost,!1),e.onContextRestored&&t.addEventListener("webglcontextrestored",e.onContextRestored,!1),a):n(`Failed to create ${o&&!s?"WebGL2":"WebGL"} context: ${i||"Unknown error"}`)}(o,t),r?(r=Ux(r,t),function(t){const e=Zw(t)?"WebGL2":"WebGL1",n=function(t){const e=t.getParameter(7936),n=t.getParameter(7937),i=t.getExtension("WEBGL_debug_renderer_info");return{vendor:i&&t.getParameter(i.UNMASKED_VENDOR_WEBGL||7936)||e,renderer:i&&t.getParameter(i.UNMASKED_RENDERER_WEBGL||7937)||n,vendorMasked:e,rendererMasked:n,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t);Xw.info(1,`${e}${t.debug?" debug":""} context ${n?`(${n.vendor},${n.renderer})`:""}`)()}(r),r):null}function Ux(t,e={}){if(!t||t._instrumented)return t;t._version=t._version||function(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext?2:1}(t),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{},e=Object.assign({},Vx,e);const{manageState:n,debug:i}=e;return n&&Px(t,{copyState:!1,log:(...t)=>Xw.log(1,...t)()}),Fx&&i&&(globalThis.makeDebugContext?(t=globalThis.makeDebugContext(t,e),Xw.level=Math.max(Xw.level,1)):Xw.warn('WebGL debug mode not activated. import "@luma.gl/debug" to enable.')()),t._instrumented=!0,t}function Hx(){let t;if("undefined"!=typeof window&&window.performance)t=window.performance.now();else if("undefined"!=typeof process&&process.hrtime){const e=process.hrtime();t=1e3*e[0]+e[1]/1e6}else t=Date.now();return t}class $x{constructor(t,e){this.name=t,this.type=e,this.sampleSize=1,this.reset()}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=Hx(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Hx()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class Gx{constructor({id:t,stats:e}){this.id=t,this.stats={},this._initializeStats(e),Object.seal(this)}get(t,e="count"){return this._getOrCreate({name:t,type:e})}get size(){return Object.keys(this.stats).length}reset(){for(const t in this.stats)this.stats[t].reset();return this}forEach(t){for(const e in this.stats)t(this.stats[e])}getTable(){const t={};return this.forEach(e=>{t[e.name]={time:e.time||0,count:e.count||0,average:e.getAverageTime()||0,hz:e.getHz()||0}}),t}_initializeStats(t=[]){t.forEach(t=>this._getOrCreate(t))}_getOrCreate(t){if(!t||!t.name)return null;const{name:e,type:n}=t;return this.stats[e]||(this.stats[e]=t instanceof $x?t:new $x(e,n)),this.stats[e]}}const Wx="8.5.12",qx=new class{constructor(){this.stats=new Map}get(t){return this.stats.has(t)||this.stats.set(t,new Gx({id:t})),this.stats.get(t)}};if(globalThis.luma&&globalThis.luma.VERSION!==Wx)throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${Wx}`);function Yx(t,e){if(!t)throw new Error(e||"luma.gl: assertion failed.")}function Xx(t,e){if("string"!=typeof e)return e;const n=Number(e);if(!isNaN(n))return n;const i=t[e=e.replace(/^.*\./,"")];return Yx(void 0!==i,`Accessing undefined constant GL.${e}`),i}function Kx(t,e){e=Number(e);for(const n in t)if(t[n]===e)return`GL.${n}`;return String(e)}globalThis.luma||(Dx()&&Xw.log(1,`luma.gl ${Wx} - set luma.log.level=1 (or higher) to trace rendering`)(),globalThis.luma=globalThis.luma||{VERSION:Wx,version:Wx,log:Xw,stats:qx,globals:{modules:{},nodeIO:{}}}),globalThis;const Qx={};function Zx(t="id"){return Qx[t]=Qx[t]||1,`${t}-${Qx[t]++}`}function Jx(t){return Yx("number"==typeof t,"Input must be a number"),t&&0==(t&t-1)}function tS(t){let e=!0;for(const n in t){e=!1;break}return e}function eS(t,e,n,i){const r=`See luma.gl ${n} Upgrade Guide at https://luma.gl/docs/upgrade-guide`,s=Object.getPrototypeOf(t);i.forEach(t=>{s.methodName||(s[t]=()=>{throw Xw.removed(`Calling removed method ${e}.${t}: `,r)(),new Error(t)})})}const nS="Resource subclass must define virtual methods";class iS{get[Symbol.toStringTag](){return"Resource"}constructor(t,e={}){Jw(t);const{id:n,userData:i={}}=e;this.gl=t,this.gl2=t,this.id=n||Zx(this[Symbol.toStringTag]),this.userData=i,this._bound=!1,this._handle=e.handle,void 0===this._handle&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return`${this[Symbol.toStringTag]||this.constructor.name}(${this.id})`}get handle(){return this._handle}delete({deleteChildren:t=!1}={}){const e=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,e&&t&&e.filter(Boolean).forEach(t=>t.delete()),this}bind(t=this.handle){if("function"!=typeof t)return this._bindHandle(t),this;let e;return this._bound?e=t():(this._bindHandle(this.handle),this._bound=!0,e=t(),this._bound=!1,this._bindHandle(null)),e}unbind(){this.bind(null)}getParameter(t,e={}){Yx(t=Xx(this.gl,t));const n=(this.constructor.PARAMETERS||{})[t];if(n){const t=Zw(this.gl);if("webgl2"in n&&!t||"extension"in n&&!this.gl.getExtension(n.extension)){const e=n.webgl1,i="webgl2"in n?n.webgl2:n.webgl1;return t?i:e}}return this._getParameter(t,e)}getParameters(t={}){const{parameters:e,keys:n}=t,i=this.constructor.PARAMETERS||{},r=Zw(this.gl),s={},o=e||Object.keys(i);for(const a of o){const e=i[a];if(e&&(!("webgl2"in e)||r)&&(!("extension"in e)||this.gl.getExtension(e.extension))){const i=n?Kx(this.gl,a):a;s[i]=this.getParameter(a,t),n&&"GLenum"===e.type&&(s[i]=Kx(this.gl,s[i]))}}return s}setParameter(t,e){Yx(t=Xx(this.gl,t));const n=(this.constructor.PARAMETERS||{})[t];if(n){const t=Zw(this.gl);if("webgl2"in n&&!t||"extension"in n&&!this.gl.getExtension(n.extension))throw new Error("Parameter not available on this platform");"GLenum"===n.type&&(e=Xx(e))}return this._setParameter(t,e),this}setParameters(t){for(const e in t)this.setParameter(e,t[e]);return this}stubRemovedMethods(t,e,n){return eS(this,t,e,n)}initialize(t){}_createHandle(){throw new Error(nS)}_deleteHandle(){throw new Error(nS)}_bindHandle(t){throw new Error(nS)}_getOptsFromHandle(){throw new Error(nS)}_getParameter(t,e){throw new Error(nS)}_setParameter(t,e){throw new Error(nS)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){const t=this[Symbol.toStringTag],e=qx.get("Resource Counts");e.get("Resources Created").incrementCount(),e.get(`${t}s Created`).incrementCount(),e.get(`${t}s Active`).incrementCount()}_removeStats(){const t=this[Symbol.toStringTag];qx.get("Resource Counts").get(`${t}s Active`).decrementCount()}_trackAllocatedMemory(t,e=this[Symbol.toStringTag]){const n=qx.get("Memory Usage");n.get("GPU Memory").addCount(t),n.get(`${e} Memory`).addCount(t),this.byteLength=t}_trackDeallocatedMemory(t=this[Symbol.toStringTag]){const e=qx.get("Memory Usage");e.get("GPU Memory").subtractCount(this.byteLength),e.get(`${t} Memory`).subtractCount(this.byteLength),this.byteLength=0}}function rS(t){switch(ArrayBuffer.isView(t)?t.constructor:t){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error("Failed to deduce GL constant from typed array")}}function sS(t,{clamped:e=!0}={}){switch(t){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return e?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error("Failed to deduce typed array type from GL constant")}}function oS({data:t,width:e,height:n}){const i=Math.round(e/2),r=Math.round(n/2),s=new Uint8Array(i*r*4);for(let o=0;othis._assign(t)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return uS.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return uS.getBytesPerVertex(this)}_assign(t={}){return void 0!==(t=aS("Accessor",t,cS)).type&&(this.type=t.type,(5124===t.type||5125===t.type)&&(this.integer=!0)),void 0!==t.size&&(this.size=t.size),void 0!==t.offset&&(this.offset=t.offset),void 0!==t.stride&&(this.stride=t.stride),void 0!==t.normalized&&(this.normalized=t.normalized),void 0!==t.integer&&(this.integer=t.integer),void 0!==t.divisor&&(this.divisor=t.divisor),void 0!==t.buffer&&(this.buffer=t.buffer),void 0!==t.index&&(this.index="boolean"==typeof t.index?t.index?1:0:t.index),void 0!==t.instanced&&(this.divisor=t.instanced?1:0),void 0!==t.isInstanced&&(this.divisor=t.isInstanced?1:0),this}}const hS={offset:"accessor.offset",stride:"accessor.stride",type:"accessor.type",size:"accessor.size",divisor:"accessor.divisor",normalized:"accessor.normalized",integer:"accessor.integer",instanced:"accessor.divisor",isInstanced:"accessor.divisor"},dS={removedProps:{},replacedProps:{bytes:"byteLength"},deprecatedProps:hS},pS={removedProps:hS};class fS extends iS{get[Symbol.toStringTag](){return"Buffer"}constructor(t,e={}){super(t,e),this.stubRemovedMethods("Buffer","v6.0",["layout","setLayout","getIndexedParameter"]),this.target=e.target||(this.gl.webgl2?36662:34962),this.initialize(e),Object.seal(this)}getElementCount(t=this.accessor){return Math.round(this.byteLength/uS.getBytesPerElement(t))}getVertexCount(t=this.accessor){return Math.round(this.byteLength/uS.getBytesPerVertex(t))}initialize(t={}){return ArrayBuffer.isView(t)&&(t={data:t}),Number.isFinite(t)&&(t={byteLength:t}),t=aS("Buffer",t,dS),this.usage=t.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},t,t.accessor)),t.data?this._setData(t.data,t.offset,t.byteLength):this._setByteLength(t.byteLength||0),this}setProps(t){return"accessor"in(t=aS("Buffer",t,pS))&&this.setAccessor(t.accessor),this}setAccessor(t){return delete(t=Object.assign({},t)).buffer,this.accessor=new uS(t),this}reallocate(t){return t>this.byteLength?(this._setByteLength(t),!0):(this.bytesUsed=t,!1)}setData(t){return this.initialize(t)}subData(t){ArrayBuffer.isView(t)&&(t={data:t});const{data:e,offset:n=0,srcOffset:i=0}=t,r=t.byteLength||t.length;Yx(e);const s=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(s,this.handle),0!==i||void 0!==r?(tx(this.gl),this.gl.bufferSubData(this.target,n,e,i,r)):this.gl.bufferSubData(s,n,e),this.gl.bindBuffer(s,null),this.debugData=null,this._inferType(e),this}copyData({sourceBuffer:t,readOffset:e=0,writeOffset:n=0,size:i}){const{gl:r}=this;return tx(r),r.bindBuffer(36662,t.handle),r.bindBuffer(36663,this.handle),r.copyBufferSubData(36662,36663,e,n,i),r.bindBuffer(36662,null),r.bindBuffer(36663,null),this.debugData=null,this}getData({dstData:t=null,srcByteOffset:e=0,dstOffset:n=0,length:i=0}={}){tx(this.gl);const r=sS(this.accessor.type||5126,{clamped:!1}),s=this._getAvailableElementCount(e),o=n;let a,l;t?(l=t.length,a=l-o):(a=Math.min(s,i||s),l=o+a);const c=Math.min(s,a);return Yx((i=i||c)<=c),t=t||new r(l),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,e,t,n,i),this.gl.bindBuffer(36662,null),t}bind({target:t=this.target,index:e=this.accessor&&this.accessor.index,offset:n=0,size:i}={}){return 35345===t||35982===t?void 0!==i?this.gl.bindBufferRange(t,e,this.handle,n,i):(Yx(0===n),this.gl.bindBufferBase(t,e,this.handle)):this.gl.bindBuffer(t,this.handle),this}unbind({target:t=this.target,index:e=this.accessor&&this.accessor.index}={}){return 35345===t||35982===t?this.gl.bindBufferBase(t,e,null):this.gl.bindBuffer(t,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(10,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(t,e=0,n=t.byteLength+e){Yx(ArrayBuffer.isView(t)),this._trackDeallocatedMemory();const i=this._getTarget();this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,this.usage),this.gl.bufferSubData(i,e,t),this.gl.bindBuffer(i,null),this.debugData=t.slice(0,10),this.bytesUsed=n,this._trackAllocatedMemory(n);const r=rS(t);return Yx(r),this.setAccessor(new uS(this.accessor,{type:r})),this}_setByteLength(t,e=this.usage){Yx(t>=0),this._trackDeallocatedMemory();let n=t;0===t&&(n=new Float32Array(0));const i=this._getTarget();return this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,n,e),this.gl.bindBuffer(i,null),this.usage=e,this.debugData=null,this.bytesUsed=t,this._trackAllocatedMemory(t),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(t){const e=t/sS(this.accessor.type||5126,{clamped:!1}).BYTES_PER_ELEMENT;return this.getElementCount()-e}_inferType(t){this.accessor.type||this.setAccessor(new uS(this.accessor,{type:rS(t)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(t){this.gl.bindBuffer(this.target,this.handle);const e=this.gl.getBufferParameter(this.target,t);return this.gl.bindBuffer(this.target,null),e}get type(){return Xw.deprecated("Buffer.type","Buffer.accessor.type")(),this.accessor.type}get bytes(){return Xw.deprecated("Buffer.bytes","Buffer.byteLength")(),this.byteLength}setByteLength(t){return Xw.deprecated("setByteLength","reallocate")(),this.reallocate(t)}updateAccessor(t){return Xw.deprecated("updateAccessor(...)","setAccessor(new Accessor(buffer.accessor, ...)")(),this.accessor=new uS(this.accessor,t),this}}const gS={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},mS={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},bS={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1},yS=[9729,9728],vS=globalThis.WebGLBuffer||function(){};class _S extends iS{get[Symbol.toStringTag](){return"Texture"}static isSupported(t,e={}){const{format:n,linearFiltering:i}=e;let r=!0;return n&&(r=r&&function(t,e){const n=gS[e];if(!n)return!1;if(void 0===n.gl1&&void 0===n.gl2)return!0;const i=Zw(t)&&n.gl2||n.gl1;return"string"==typeof i?t.getExtension(i):i}(t,n),r=r&&(!i||function(t,e){const n=gS[e];switch(n&&n.types[0]){case 5126:return t.getExtension("OES_texture_float_linear");case 5131:return t.getExtension("OES_texture_half_float_linear");default:return!0}}(t,n))),r}constructor(t,e){const{id:n=Zx("texture"),handle:i,target:r}=e;super(t,{id:n,handle:i}),this.target=r,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return`Texture(${this.id},${this.width}x${this.height})`}initialize(t={}){let e=t.data;if(e instanceof Promise)return e.then(e=>this.initialize(Object.assign({},t,{pixels:e,data:e}))),this;const n="undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement;if(n&&e.readyStatethis.initialize(t)),this;const{pixels:i=null,format:r=6408,border:s=0,recreate:o=!1,parameters:a={},pixelStore:l={},textureUnit:c}=t;e||(e=i);let{width:u,height:h,dataFormat:d,type:p,compressed:f=!1,mipmaps:g=!0}=t;const{depth:m=0}=t;return({width:u,height:h,compressed:f,dataFormat:d,type:p}=this._deduceParameters({format:r,type:p,dataFormat:d,compressed:f,data:e,width:u,height:h})),this.width=u,this.height=h,this.depth=m,this.format=r,this.type=p,this.dataFormat=d,this.border=s,this.textureUnit=c,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),g&&this._isNPOT()&&(Xw.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)(),g=!1,this._updateForNPOT(a)),this.mipmaps=g,this.setImageData({data:e,width:u,height:h,depth:m,format:r,type:p,dataFormat:d,border:s,mipmaps:g,parameters:l,compressed:f}),g&&this.generateMipmap(),this.setParameters(a),o&&(this.data=e),n&&(this._video={video:e,parameters:a,lastTime:e.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?e.currentTime:-1}),this}update(){if(this._video){const{video:t,parameters:e,lastTime:n}=this._video;if(n===t.currentTime||t.readyState{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(t){this._trackDeallocatedMemory("Texture");const{target:e=this.target,pixels:n=null,level:i=0,format:r=this.format,border:s=this.border,offset:o=0,parameters:a={}}=t;let{data:l=null,type:c=this.type,width:u=this.width,height:h=this.height,dataFormat:d=this.dataFormat,compressed:p=!1}=t;l||(l=n),({type:c,dataFormat:d,compressed:p,width:u,height:h}=this._deduceParameters({format:r,type:c,dataFormat:d,compressed:p,data:l,width:u,height:h}));const{gl:f}=this;f.bindTexture(this.target,this.handle);let g=null;({data:l,dataType:g}=this._getDataType({data:l,compressed:p}));let m,b=0;return Ix(this.gl,a,()=>{switch(g){case"null":f.texImage2D(e,i,r,u,h,s,d,c,l);break;case"typed-array":f.texImage2D(e,i,r,u,h,s,d,c,l,o);break;case"buffer":m=tx(f),m.bindBuffer(35052,l.handle||l),m.texImage2D(e,i,r,u,h,s,d,c,o),m.bindBuffer(35052,null);break;case"browser-object":Zw(f)?f.texImage2D(e,i,r,u,h,s,d,c,l):f.texImage2D(e,i,r,d,c,l);break;case"compressed":for(const[t,n]of l.entries())f.compressedTexImage2D(e,t,n.format,n.width,n.height,s,n.data),b+=n.levelSize;break;default:Yx(!1,"Unknown image data type")}}),this._trackAllocatedMemory("compressed"===g?b:l&&l.byteLength?l.byteLength:this.width*this.height*(mS[this.dataFormat]||4)*(bS[this.type]||1),"Texture"),this.loaded=!0,this}setSubImageData({target:t=this.target,pixels:e=null,data:n=null,x:i=0,y:r=0,width:s=this.width,height:o=this.height,level:a=0,format:l=this.format,type:c=this.type,dataFormat:u=this.dataFormat,compressed:h=!1,offset:d=0,border:p=this.border,parameters:f={}}){if(({type:c,dataFormat:u,compressed:h,width:s,height:o}=this._deduceParameters({format:l,type:c,dataFormat:u,compressed:h,data:n,width:s,height:o})),Yx(0===this.depth,"texSubImage not supported for 3D textures"),n||(n=e),n&&n.data){const t=n;n=t.data,s=t.shape[0],o=t.shape[1]}n instanceof fS&&(n=n.handle),this.gl.bindTexture(this.target,this.handle),Ix(this.gl,f,()=>{if(h)this.gl.compressedTexSubImage2D(t,a,i,r,s,o,l,n);else if(null===n)this.gl.texSubImage2D(t,a,i,r,s,o,u,c,null);else if(ArrayBuffer.isView(n))this.gl.texSubImage2D(t,a,i,r,s,o,u,c,n,d);else if(n instanceof vS){const e=tx(this.gl);e.bindBuffer(35052,n),e.texSubImage2D(t,a,i,r,s,o,u,c,d),e.bindBuffer(35052,null)}else Zw(this.gl)?tx(this.gl).texSubImage2D(t,a,i,r,s,o,u,c,n):this.gl.texSubImage2D(t,a,i,r,u,c,n)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(t={}){return Xw.error("Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(t=this.textureUnit){const{gl:e}=this;return void 0!==t&&(this.textureUnit=t,e.activeTexture(33984+t)),e.bindTexture(this.target,this.handle),t}unbind(t=this.textureUnit){const{gl:e}=this;return void 0!==t&&(this.textureUnit=t,e.activeTexture(33984+t)),e.bindTexture(this.target,null),t}_getDataType({data:t,compressed:e=!1}){return e?{data:t,dataType:"compressed"}:null===t?{data:t,dataType:"null"}:ArrayBuffer.isView(t)?{data:t,dataType:"typed-array"}:t instanceof fS?{data:t.handle,dataType:"buffer"}:t instanceof vS?{data:t,dataType:"buffer"}:{data:t,dataType:"browser-object"}}_deduceParameters(t){const{format:e,data:n}=t;let{width:i,height:r,dataFormat:s,type:o,compressed:a}=t;const l=gS[e];return s=s||l&&l.dataFormat,o=o||l&&l.types[0],a=a||l&&l.compressed,({width:i,height:r}=this._deduceImageSize(n,i,r)),{dataFormat:s,type:o,compressed:a,width:i,height:r,format:e,data:n}}_deduceImageSize(t,e,n){let i;return i="undefined"!=typeof ImageData&&t instanceof ImageData?{width:t.width,height:t.height}:"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement?{width:t.naturalWidth,height:t.naturalHeight}:"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?{width:t.width,height:t.height}:"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement?{width:t.videoWidth,height:t.videoHeight}:t?{width:e,height:n}:{width:e>=0?e:1,height:n>=0?n:1},Yx(i,"Could not deduced texture size"),Yx(void 0===e||i.width===e,"Deduced texture width does not match supplied width"),Yx(void 0===n||i.height===n,"Deduced texture height does not match supplied height"),i}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory("Texture")}_getParameter(t){switch(t){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);const e=this.gl.getTexParameter(this.target,t);return this.gl.bindTexture(this.target,null),e}}_setParameter(t,e){switch(this.gl.bindTexture(this.target,this.handle),e=this._getNPOTParam(t,e),t){case 33082:case 33083:this.gl.texParameterf(this.handle,t,e);break;case 4096:case 4097:Yx(!1);break;default:this.gl.texParameteri(this.target,t,e)}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return!(Zw(this.gl)||!this.width||!this.height||Jx(this.width)&&Jx(this.height))}_updateForNPOT(t){void 0===t[this.gl.TEXTURE_MIN_FILTER]&&(t[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),void 0===t[this.gl.TEXTURE_WRAP_S]&&(t[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),void 0===t[this.gl.TEXTURE_WRAP_T]&&(t[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(t,e){if(this._isNPOT())switch(t){case 10241:-1===yS.indexOf(e)&&(e=9729);break;case 10242:case 10243:33071!==e&&(e=33071)}return e}}function wS(t,e){return Yx("string"==typeof t),t=""+t,new Promise((n,i)=>{try{const r=new Image;r.onload=()=>n(r),r.onerror=()=>i(new Error(`Could not load image ${t}.`)),r.crossOrigin=e&&e.crossOrigin||"anonymous",r.src=t}catch(r){i(r)}})}class xS extends _S{get[Symbol.toStringTag](){return"Texture2D"}static isSupported(t,e){return _S.isSupported(t,e)}constructor(t,e={}){Jw(t),(e instanceof Promise||"string"==typeof e)&&(e={data:e}),"string"==typeof e.data&&(e=Object.assign({},e,{data:wS(e.data)})),super(t,Object.assign({},e,{target:3553})),this.initialize(e),Object.seal(this)}}const SS="EXT_color_buffer_float";var CS={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:SS,bpp:2},33327:{gl2:SS,bpp:4},34842:{gl2:SS,bpp:8},33326:{gl2:SS,bpp:4},33328:{gl2:SS,bpp:8},34836:{gl2:SS,bpp:16},35898:{gl2:SS,bpp:4}};class ES extends iS{get[Symbol.toStringTag](){return"Renderbuffer"}static isSupported(t,{format:e}={format:null}){return!e||function(t,e,n){const i=n[e];if(!i)return!1;const r=Zw(t)&&i.gl2||i.gl1;return"string"==typeof r?t.getExtension(r):r}(t,e,CS)}static getSamplesForFormat(t,{format:e}){return t.getInternalformatParameter(36161,e,32937)}constructor(t,e={}){super(t,e),this.initialize(e),Object.seal(this)}initialize({format:t,width:e=1,height:n=1,samples:i=0}){return Yx(t,"Needs format"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),0!==i&&Zw(this.gl)?this.gl.renderbufferStorageMultisample(36161,i,t,e,n):this.gl.renderbufferStorage(36161,t,e,n),this.format=t,this.width=e,this.height=n,this.samples=i,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*CS[this.format].bpp),this}resize({width:t,height:e}){return t!==this.width||e!==this.height?this.initialize({width:t,height:e,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(t){this.gl.bindRenderbuffer(36161,t)}_syncHandle(t){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(t){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,t)}}const OS="clear: bad arguments";function TS(t,{framebuffer:e=null,color:n=null,depth:i=null,stencil:r=null}={}){const s={};e&&(s.framebuffer=e);let o=0;n&&(o|=16384,!0!==n&&(s.clearColor=n)),i&&(o|=256,!0!==i&&(s.clearDepth=i)),r&&(o|=1024,!0!==i&&(s.clearStencil=i)),Yx(0!==o,OS),Ix(t,s,()=>{t.clear(o)})}function kS(t,e,n,i,r,s,o){try{var a=t[s](o),l=a.value}catch(c){return void n(c)}a.done?e(l):Promise.resolve(l).then(i,r)}function PS(t){return function(){var e=this,n=arguments;return new Promise(function(i,r){var s=t.apply(e,n);function o(t){kS(s,i,r,o,a,"next",t)}function a(t){kS(s,i,r,o,a,"throw",t)}o(void 0)})}}const AS=[34069,34070,34071,34072,34073,34074];let MS=(()=>{class t extends _S{get[Symbol.toStringTag](){return"TextureCube"}constructor(t,e={}){Jw(t),super(t,Object.assign({},e,{target:34067})),this.initialize(e),Object.seal(this)}initialize(t={}){const{mipmaps:e=!0,parameters:n={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,e&&this.generateMipmap(t),this.setParameters(n)}),this}subImage({face:t,data:e,x:n=0,y:i=0,mipmapLevel:r=0}){return this._subImage({target:t,data:e,x:n,y:i,mipmapLevel:r})}setCubeMapImageData({width:t,height:e,pixels:n,data:i,border:r=0,format:s=6408,type:o=5121}){var a=this;return PS(function*(){const{gl:l}=a,c=n||i,u=yield Promise.all(AS.map(t=>{const e=c[t];return Promise.all(Array.isArray(e)?e:[e])}));a.bind(),AS.forEach((n,i)=>{u[i].length>1&&!1!==a.opts.mipmaps&&Xw.warn(`${a.id} has mipmap and multiple LODs.`)(),u[i].forEach((i,a)=>{t&&e?l.texImage2D(n,a,s,t,e,r,s,o,i):l.texImage2D(n,a,s,s,o,i)})}),a.unbind()})()}setImageDataForFace(t){const{face:e,width:n,height:i,pixels:r,data:s,border:o=0,format:a=6408,type:l=5121}=t,{gl:c}=this,u=r||s;return this.bind(),u instanceof Promise?u.then(n=>this.setImageDataForFace(Object.assign({},t,{face:e,data:n,pixels:n}))):this.width||this.height?c.texImage2D(e,0,a,n,i,o,a,l,u):c.texImage2D(e,0,a,a,l,u),this}}return t.FACES=AS,t})();class IS extends _S{get[Symbol.toStringTag](){return"Texture3D"}static isSupported(t){return Zw(t)}constructor(t,e={}){tx(t),super(t,e=Object.assign({depth:1},e,{target:32879,unpackFlipY:!1})),this.initialize(e),Object.seal(this)}setImageData({level:t=0,dataFormat:e=6408,width:n,height:i,depth:r=1,border:s=0,format:o,type:a=5121,offset:l=0,data:c,parameters:u={}}){return this._trackDeallocatedMemory("Texture"),this.gl.bindTexture(this.target,this.handle),Ix(this.gl,u,()=>{ArrayBuffer.isView(c)&&this.gl.texImage3D(this.target,t,e,n,i,r,s,o,a,c),c instanceof fS&&(this.gl.bindBuffer(35052,c.handle),this.gl.texImage3D(this.target,t,e,n,i,r,s,o,a,l))}),this._trackAllocatedMemory(c&&c.byteLength?c.byteLength:this.width*this.height*this.depth*(mS[this.dataFormat]||4)*(bS[this.type]||1),"Texture"),this.loaded=!0,this}}function DS(t,e){Yx(t instanceof xS||t instanceof MS||t instanceof IS);const n=t.constructor,{gl:i,width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u}=t;return new n(i,Object.assign({width:r,height:s,format:o,type:a,dataFormat:l,border:c,mipmaps:u},e))}function RS(t,e){const{gl:n,width:i,height:r,id:s}=t;return new BS(n,Object.assign({},e,{id:`framebuffer-for-${s}`,width:i,height:r,attachments:{36064:t}}))}function NS(t,e={}){const{sourceX:n=0,sourceY:i=0,sourceFormat:r=6408}=e;let{sourceAttachment:s=36064,target:o=null,sourceWidth:a,sourceHeight:l,sourceType:c}=e;const{framebuffer:u,deleteFramebuffer:h}=jS(t);Yx(u);const{gl:d,handle:p,attachments:f}=u;a=a||u.width,l=l||u.height,36064===s&&null===p&&(s=1028),Yx(f[s]),c=c||f[s].type,o=function(t,e,n,i,r){if(t)return t;return new(sS(e=e||5121,{clamped:!1}))(i*r*function(t){switch(t){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return Yx(!1),0}}(n))}(o,c,r,a,l),c=c||rS(o);const g=d.bindFramebuffer(36160,p);return d.readPixels(n,i,a,l,r,c,o),d.bindFramebuffer(36160,g||null),h&&u.delete(),o}function LS(t,{sourceAttachment:e=36064,targetMaxHeight:n=Number.MAX_SAFE_INTEGER}={}){let i=NS(t,{sourceAttachment:e}),{width:r,height:s}=t;for(;s>n;)({data:i,width:r,height:s}=oS({data:i,width:r,height:s}));!function({data:t,width:e,height:n,bytesPerPixel:i=4,temp:r}){const s=e*i;r=r||new Uint8Array(s);for(let o=0;o=0&&e>=0,"Width and height need to be integers"),this.width=t,this.height=e,n)for(const c in n){const i=n[c];(Array.isArray(i)?i[0]:i).resize({width:t,height:e})}else n=this._createDefaultAttachments(i,r,s,t,e);this.update({clearAttachments:!0,attachments:n,readBuffer:a,drawBuffers:l}),n&&o&&this.checkStatus()}delete(){for(const t of this.ownResources)t.delete();return super.delete(),this}update({attachments:t={},readBuffer:e,drawBuffers:n,clearAttachments:i=!1,resizeAttachments:r=!0}){this.attach(t,{clearAttachments:i,resizeAttachments:r});const{gl:s}=this,o=s.bindFramebuffer(36160,this.handle);return e&&this._setReadBuffer(e),n&&this._setDrawBuffers(n),s.bindFramebuffer(36160,o||null),this}resize(t={}){let{width:e,height:n}=t;if(null===this.handle)return Yx(void 0===e&&void 0===n),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;void 0===e&&(e=this.gl.drawingBufferWidth),void 0===n&&(n=this.gl.drawingBufferHeight),e!==this.width&&n!==this.height&&Xw.log(2,`Resizing framebuffer ${this.id} to ${e}x${n}`)();for(const i in this.attachments)this.attachments[i].resize({width:e,height:n});return this.width=e,this.height=n,this}attach(t,{clearAttachments:e=!1,resizeAttachments:n=!0}={}){const i={};e&&Object.keys(this.attachments).forEach(t=>{i[t]=null}),Object.assign(i,t);const r=this.gl.bindFramebuffer(36160,this.handle);for(const s in i){Yx(void 0!==s,"Misspelled framebuffer binding point?");const t=Number(s),e=i[t];let r=e;if(r)if(r instanceof ES)this._attachRenderbuffer({attachment:t,renderbuffer:r});else if(Array.isArray(e)){const[n,i=0,s=0]=e;r=n,this._attachTexture({attachment:t,texture:n,layer:i,level:s})}else this._attachTexture({attachment:t,texture:r,layer:0,level:0});else this._unattach(t);n&&r&&r.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,r||null),Object.assign(this.attachments,t),Object.keys(this.attachments).filter(t=>!this.attachments[t]).forEach(t=>{delete this.attachments[t]})}checkStatus(){const t=this.getStatus();if(36053!==t)throw new Error(function(t){return(BS.STATUS||{})[t]||`Framebuffer error ${t}`}(t));return this}getStatus(){const{gl:t}=this,e=t.bindFramebuffer(36160,this.handle),n=t.checkFramebufferStatus(36160);return t.bindFramebuffer(36160,e||null),n}clear(t={}){const{color:e,depth:n,stencil:i,drawBuffers:r=[]}=t,s=this.gl.bindFramebuffer(36160,this.handle);return(e||n||i)&&TS(this.gl,{color:e,depth:n,stencil:i}),r.forEach((t,e)=>{!function(t,{framebuffer:e=null,buffer:n=6144,drawBuffer:i=0,value:r=[0,0,0,0]}={}){tx(t),Ix(t,{framebuffer:e},()=>{switch(n){case 6144:switch(r.constructor){case Int32Array:t.clearBufferiv(n,i,r);break;case Uint32Array:t.clearBufferuiv(n,i,r);break;case Float32Array:default:t.clearBufferfv(n,i,r)}break;case 6145:t.clearBufferfv(6145,0,[r]);break;case 6146:t.clearBufferiv(6146,0,[r]);break;case 34041:const[e,s]=r;t.clearBufferfi(34041,0,e,s);break;default:Yx(!1,OS)}})}(this.gl,{drawBuffer:e,value:t})}),this.gl.bindFramebuffer(36160,s||null),this}readPixels(t={}){return Xw.error("Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)")(),null}readPixelsToBuffer(t={}){return Xw.error("Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)")(),null}copyToDataUrl(t={}){return Xw.error("Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)")(),null}copyToImage(t={}){return Xw.error("Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)")(),null}copyToTexture(t={}){return Xw.error("Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})")(),null}blit(t={}){return Xw.error("Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)")(),null}invalidate({attachments:t=[],x:e=0,y:n=0,width:i,height:r}){const s=tx(this.gl),o=s.bindFramebuffer(36008,this.handle);return 0===e&&0===n&&void 0===i&&void 0===r?s.invalidateFramebuffer(36008,t):s.invalidateFramebuffer(36008,t,e,n,i,r),s.bindFramebuffer(36008,o),this}getAttachmentParameter(t,e,n){let i=this._getAttachmentParameterFallback(e);return null===i&&(this.gl.bindFramebuffer(36160,this.handle),i=this.gl.getFramebufferAttachmentParameter(36160,t,e),this.gl.bindFramebuffer(36160,null)),n&&i>1e3&&(i=Kx(this.gl,i)),i}getAttachmentParameters(t=36064,e,n=this.constructor.ATTACHMENT_PARAMETERS||[]){const i={};for(const r of n)i[e?Kx(this.gl,r):r]=this.getAttachmentParameter(t,r,e);return i}getParameters(t=!0){const e=Object.keys(this.attachments),n={};for(const i of e){const e=Number(i);n[t?Kx(this.gl,e):e]=this.getAttachmentParameters(e,t)}return n}show(){return"undefined"!=typeof window&&window.open(LS(this),"luma-debug-texture"),this}log(t=0,e=""){if(t>Xw.level||"undefined"==typeof window)return this;e=e||`Framebuffer ${this.id}`;const n=LS(this,{targetMaxHeight:100});return Xw.image({logLevel:t,message:e,image:n},e)(),this}bind({target:t=36160}={}){return this.gl.bindFramebuffer(t,this.handle),this}unbind({target:t=36160}={}){return this.gl.bindFramebuffer(t,null),this}_createDefaultAttachments(t,e,n,i,r){let s=null;return t&&(s=s||{},s[36064]=new xS(this.gl,{id:`${this.id}-color0`,pixels:null,format:6408,type:5121,width:i,height:r,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(s[36064])),e&&n?(s=s||{},s[33306]=new ES(this.gl,{id:`${this.id}-depth-stencil`,format:35056,width:i,height:111}),this.ownResources.push(s[33306])):e?(s=s||{},s[36096]=new ES(this.gl,{id:`${this.id}-depth`,format:33189,width:i,height:r}),this.ownResources.push(s[36096])):n&&Yx(!1),s}_unattach(t){const e=this.attachments[t];!e||(e instanceof ES?this.gl.framebufferRenderbuffer(36160,t,36161,null):this.gl.framebufferTexture2D(36160,t,3553,null,0),delete this.attachments[t])}_attachRenderbuffer({attachment:t=36064,renderbuffer:e}){const{gl:n}=this;n.framebufferRenderbuffer(36160,t,36161,e.handle),this.attachments[t]=e}_attachTexture({attachment:t=36064,texture:e,layer:n,level:i}){const{gl:r}=this;switch(r.bindTexture(e.target,e.handle),e.target){case 35866:case 32879:tx(r).framebufferTextureLayer(36160,t,e.target,i,n);break;case 34067:const s=function(t){return t<34069?t+34069:t}(n);r.framebufferTexture2D(36160,t,s,e.handle,i);break;case 3553:r.framebufferTexture2D(36160,t,3553,e.handle,i);break;default:Yx(!1,"Illegal texture type")}r.bindTexture(e.target,null),this.attachments[t]=e}_setReadBuffer(t){const e=function(t){return Zw(t)?t:null}(this.gl);e?e.readBuffer(t):Yx(36064===t||1029===t,FS),this.readBuffer=t}_setDrawBuffers(t){const{gl:e}=this,n=tx(e);if(n)n.drawBuffers(t);else{const n=e.getExtension("WEBGL_draw_buffers");n?n.drawBuffersWEBGL(t):Yx(1===t.length&&(36064===t[0]||1029===t[0]),FS)}this.drawBuffers=t}_getAttachmentParameterFallback(t){const e=function(t){t.luma=t.luma||{},t.luma.caps=t.luma.caps||{};for(const e in VS)void 0===t.luma.caps[e]&&(t.luma.caps[e]=HS(t,e));return t.luma.caps}(this.gl);switch(t){case 36052:return e.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return e.WEBGL2?null:8;case 33297:return e.WEBGL2?null:5125;case 33296:return e.WEBGL2||e.EXT_sRGB?null:9729;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(t){return this.gl.bindFramebuffer(36160,t)}}BS.ATTACHMENT_PARAMETERS=[36049,36048,33296,33298,33299,33300,33301,33302,33303];var VS={WEBGL2:[!1,!0],VERTEX_ARRAY_OBJECT:["OES_vertex_array_object",!0],TIMER_QUERY:["EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2"],INSTANCED_RENDERING:["ANGLE_instanced_arrays",!0],MULTIPLE_RENDER_TARGETS:["WEBGL_draw_buffers",!0],ELEMENT_INDEX_UINT32:["OES_element_index_uint",!0],BLEND_EQUATION_MINMAX:["EXT_blend_minmax",!0],FLOAT_BLEND:["EXT_float_blend"],COLOR_ENCODING_SRGB:["EXT_sRGB",!0],TEXTURE_DEPTH:["WEBGL_depth_texture",!0],TEXTURE_FLOAT:["OES_texture_float",!0],TEXTURE_HALF_FLOAT:["OES_texture_half_float",!0],TEXTURE_FILTER_LINEAR_FLOAT:["OES_texture_float_linear"],TEXTURE_FILTER_LINEAR_HALF_FLOAT:["OES_texture_half_float_linear"],TEXTURE_FILTER_ANISOTROPIC:["EXT_texture_filter_anisotropic"],COLOR_ATTACHMENT_RGBA32F:[function(t){const e=new xS(t,{format:6408,type:5126,dataFormat:6408}),n=new BS(t,{id:"test-framebuffer",check:!1,attachments:{36064:e}}),i=n.getStatus();return e.delete(),n.delete(),36053===i},"EXT_color_buffer_float"],COLOR_ATTACHMENT_FLOAT:[!1,"EXT_color_buffer_float"],COLOR_ATTACHMENT_HALF_FLOAT:["EXT_color_buffer_half_float"],GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]};function zS(t,e){return US(t,e)}function US(t,e){return(e=Array.isArray(e)?e:[e]).every(e=>HS(t,e))}function HS(t,e){return t.luma=t.luma||{},t.luma.caps=t.luma.caps||{},void 0===t.luma.caps[e]&&(t.luma.caps[e]=function(t,e){const n=VS[e];let i;Yx(n,e);const r=Zw(t)&&n[1]||n[0];if("function"==typeof r)i=r(t);else if(Array.isArray(r)){i=!0;for(const e of r)i=i&&Boolean(t.getExtension(e))}else"string"==typeof r?i=Boolean(t.getExtension(r)):"boolean"==typeof r?i=r:Yx(!1);return i}(t,e)),t.luma.caps[e]||Xw.log(2,`Feature: ${e} not supported`)(),t.luma.caps[e]}class $S{constructor(t,e){this.opts=e,this.source=t}get value(){return this.source.value}getValue(){const t=this.source.getBuffer(),e=this.getAccessor();if(t)return[t,e];const{value:n}=this.source,{size:i}=e;let r=n;if(n&&n.length!==i){r=new Float32Array(i);const t=e.elementOffset||0;for(let e=0;ei&&(r=i);const s=this._pool,o=t.BYTES_PER_ELEMENT*r,a=s.findIndex(t=>t.byteLength>=o);if(a>=0){const e=new t(s.splice(a,1)[0],0,r);return n&&e.fill(0),e}return new t(r)}_release(t){if(!ArrayBuffer.isView(t))return;const e=this._pool,{buffer:n}=t,{byteLength:i}=n,r=e.findIndex(t=>t.byteLength>=i);r<0?e.push(n):(r>0||e.lengththis.props.poolSize&&e.shift()}};const WS=1/Math.PI*180,qS=1/180*Math.PI,YS={};function XS(t,{precision:e=YS.precision||4}={}){return t=function(t){return Math.round(t/YS.EPSILON)*YS.EPSILON}(t),`${parseFloat(t.toPrecision(e))}`}function KS(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function QS(t,e,n){if(KS(t)){n=n||function(t){return t.clone?t.clone():new Array(t.length)}(t);for(let i=0;it*qS,void 0)}(t)}function JS(t){return function(t,e){return QS(t,t=>t*WS,void 0)}(t)}function tC(t,e,n){return QS(t,t=>Math.max(e,Math.min(n,t)))}function eC(t,e,n){return KS(t)?t.map((t,i)=>eC(t,e[i],n)):n*e+(1-n)*t}function nC(t,e,n){const i=YS.EPSILON;n&&(YS.EPSILON=n);try{if(t===e)return!0;if(KS(t)&&KS(e)){if(t.length!==e.length)return!1;for(let n=0;n0?", ":"")+XS(this[n],t);return`${t.printTypes?this.constructor.name:""}[${e}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e=0&&t=0&&t0&&(LC.length=t.length,i=LC):i=NC,(e>0||Number.isFinite(n))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(e,n),r.index=e-1),{iterable:i,objectInfo:r}}function FC(t){return t&&t[Symbol.asyncIterator]}function BC(t,e=(()=>!0)){return Array.isArray(t)?VC(t,e,[]):e(t)?[t]:[]}function VC(t,e,n){let i=-1;for(;++ia)return void e.set(t.subarray(0,a),n);if(e.set(t,n),!s)return;let l=o;for(;lt},spring:{stiffness:.05,damping:.5}};function WC(t,e){return t?(Number.isFinite(t)&&(t={duration:t}),t.type=t.type||"interpolation",yt(yt(yt({},GC[t.type]),e),t)):null}function qC(t,e){return e.getBuffer()?[e.getBuffer(),{divisor:0,size:e.size,normalized:e.settings.normalized}]:e.value}function YC(t){switch(t){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4";default:throw new Error('No defined attribute type for size "'.concat(t,'"'))}}function XC(t){t.push(t.shift())}function KC(t,e){const{doublePrecision:n,settings:i,value:r,size:s}=t,o=n&&r instanceof Float64Array?2:1;return(i.noAlloc?r.length:e*s)*o}function QC({buffer:t,numInstances:e,attribute:n,fromLength:i,fromStartIndices:r,getData:s=(t=>t)}){const o=n.doublePrecision&&n.value instanceof Float64Array?2:1,a=n.size*o,l=n.byteOffset,c=n.startIndices,u=r&&c,h=KC(n,e),d=n.state.constant;if(!u&&i>=h)return;const p=d?n.value:n.getBuffer().getData({srcByteOffset:l});if(n.settings.normalized&&!d){const t=s;s=(e,i)=>n._normalizeConstant(t(e,i))}const f=d?(t,e)=>s(p,e):(t,e)=>s(p.subarray(t,t+a),e),g=t.getData({length:i}),m=new Float32Array(h);(function({source:t,target:e,size:n,getData:i,sourceStartIndices:r,targetStartIndices:s}){if(!Array.isArray(s))return $C({source:t,target:e,size:n,getData:i}),e;let o=0,a=0;const l=i&&((t,e)=>i(t+a,e)),c=Math.min(r.length,s.length);for(let u=1;u(t+128)/255*2-1);case 5122:return new Float32Array(t).map(t=>(t+32768)/65535*2-1);case 5121:return new Float32Array(t).map(t=>t/255);case 5123:return new Float32Array(t).map(t=>t/65535);default:return t}}_normalizeValue(t,e,n){const{defaultValue:i,size:r}=this.settings;if(Number.isFinite(t))return e[n]=t,e;if(!t)return e[n]=i[0],e;switch(r){case 4:e[n+3]=Number.isFinite(t[3])?t[3]:i[3];case 3:e[n+2]=Number.isFinite(t[2])?t[2]:i[2];case 2:e[n+1]=Number.isFinite(t[1])?t[1]:i[1];case 1:e[n+0]=Number.isFinite(t[0])?t[0]:i[0];break;default:let s=r;for(;--s>=0;)e[n+s]=Number.isFinite(t[s])?t[s]:i[s]}return e}_areValuesEqual(t,e){if(!t||!e)return!1;const{size:n}=this;for(let i=0;it[e])]:t[e],n)}setNeedsUpdate(t=this.id,e){if(this.state.needsUpdate=this.state.needsUpdate||t,this.setNeedsRedraw(t),e){const{startRow:t=0,endRow:n=1/0}=e;this.state.updateRanges=function(t,e){if(t===HC||(e[0]<0&&(e[0]=0),e[0]>=e[1]))return t;const n=[],i=t.length;let r=0;for(let s=0;se[1]?n.push(i):e=[Math.min(i[0],e[0]),Math.max(i[1],e[1])]}return n.splice(r,0,e),n}(this.state.updateRanges,[t,n])}else this.state.updateRanges=HC}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=UC}setNeedsRedraw(t=this.id){this.state.needsRedraw=this.state.needsRedraw||t}update(t){this.setData(t)}allocate(t){const{state:e,settings:n}=this;return!n.noAlloc&&!!n.update&&(super.allocate({numInstances:t,copy:e.updateRanges!==HC}),!0)}updateBuffer({numInstances:t,data:e,props:n,context:i}){if(!this.needsUpdate())return!1;const{state:{updateRanges:r},settings:{update:s,noAlloc:o}}=this;let a=!0;if(s){for(const[o,a]of r)s.call(i,this,{data:e,startRow:o,endRow:a,props:n,numInstances:t});if(this.value)if(this.constant||this.buffer.byteLength{if(!r){const n=i*a+l;for(let i=0;ic?l.set(e,f):(t._normalizeValue(e,m.target,0),zC({target:l,source:m.target,start:f,count:n}));f+=n*c}else t._normalizeValue(e,l,f),f+=c}}_validateAttributeUpdaters(){const{settings:t}=this;if(!t.noAlloc&&"function"!=typeof t.update)throw new Error("Attribute ".concat(this.id," missing update or accessor"))}_checkAttributeArray(){const{value:t}=this,e=Math.min(4,this.size);if(t&&t.length>=e){let n=!0;switch(e){case 4:n=n&&Number.isFinite(t[3]);case 3:n=n&&Number.isFinite(t[2]);case 2:n=n&&Number.isFinite(t[1]);case 1:n=n&&Number.isFinite(t[0]);break;default:n=!1}if(!n)throw new Error("Illegal attribute generated for ".concat(this.id))}}}let JC={};function tE(t){Gw.level>0&&JC[t]&&JC[t].call(...arguments)}function eE(t,e){if(!t)throw new Error(e||"shadertools: assertion failed.")}const nE="out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}",iE=`#version 300 es\n${nE}`;function rE(t,e){e=Array.isArray(e)?e:[e];const n=t.replace(/^\s+/,"").split(/\s+/),[i,r,s]=n;return e.includes(i)&&r&&s?{qualifier:i,type:r,name:s.split(";")[0]}:null}function sE(t={}){const{version:e=100,input:n,inputType:i,output:r}=t;if(!n)return 300===e?iE:e>300?`#version ${e}\n${nE}`:"void main() {gl_FragColor = vec4(0);}";const s=function(t,e){switch(e){case"float":return`vec4(${t}, 0.0, 0.0, 1.0)`;case"vec2":return`vec4(${t}, 0.0, 1.0)`;case"vec3":return`vec4(${t}, 1.0)`;case"vec4":return t;default:return eE(!1),null}}(n,i);return e>=300?`#version ${e} ${300===e?"es":""}\nin ${i} ${n};\nout vec4 ${r};\nvoid main() {\n ${r} = ${s};\n}`:`varying ${i} ${n};\nvoid main() {\n gl_FragColor = ${s};\n}`}class oE extends iS{get[Symbol.toStringTag](){return"TransformFeedback"}static isSupported(t){return Zw(t)}constructor(t,e={}){tx(t),super(t,e),this.initialize(e),this.stubRemovedMethods("TransformFeedback","v6.0",["pause","resume"]),Object.seal(this)}initialize(t={}){return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,tS(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(t),this}setProps(t){"program"in t&&(this.configuration=t.program&&t.program.configuration),"configuration"in t&&(this.configuration=t.configuration),"bindOnUse"in t&&(t=t.bindOnUse),"buffers"in t&&this.setBuffers(t.buffers)}setBuffers(t={}){return this.bind(()=>{for(const e in t)this.setBuffer(e,t[e])}),this}setBuffer(t,e){const n=this._getVaryingIndex(t),{buffer:i,byteSize:r,byteOffset:s}=this._getBufferParams(e);return n<0?(this.unused[t]=i,Xw.warn(()=>`${this.id} unused varying buffer ${t}`)(),this):(this.buffers[n]=e,this.bindOnUse||this._bindBuffer(n,i,s,r),this)}begin(t=0){return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(t),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(t){let e,n,i;return t instanceof fS?i=t:(i=t.buffer,n=t.byteSize,e=t.byteOffset),(void 0!==e||void 0!==n)&&(e=e||0,n=n||i.byteLength-e),{buffer:i,byteOffset:e,byteSize:n}}_getVaryingInfo(t){return this.configuration&&this.configuration.getVaryingInfo(t)}_getVaryingIndex(t){if(this.configuration)return this.configuration.getVaryingInfo(t).location;const e=Number(t);return Number.isFinite(e)?e:-1}_bindBuffers(){if(this.bindOnUse)for(const t in this.buffers){const{buffer:e,byteSize:n,byteOffset:i}=this._getBufferParams(this.buffers[t]);this._bindBuffer(t,e,i,n)}}_unbindBuffers(){if(this.bindOnUse)for(const t in this.buffers)this._bindBuffer(t,null)}_bindBuffer(t,e,n=0,i){const r=e&&e.handle;return r&&void 0!==i?this.gl.bindBufferRange(35982,t,r,n,i):this.gl.bindBufferBase(35982,t,r),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(t){this.gl.bindTransformFeedback(36386,this.handle)}}class aE{constructor(t,e={}){this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(e),Object.seal(this)}setupResources(t){for(const e of this.bindings)this._setupTransformFeedback(e,t)}updateModelProps(t={}){const{varyings:e}=this;return e.length>0&&(t=Object.assign({},t,{varyings:e})),t}getDrawOptions(t={}){const e=this.bindings[this.currentIndex],{sourceBuffers:n,transformFeedback:i}=e;return{attributes:Object.assign({},n,t.attributes),transformFeedback:i}}swap(){return!!this.feedbackMap&&(this.currentIndex=this._getNextIndex(),!0)}update(t={}){this._setupBuffers(t)}getBuffer(t){const{feedbackBuffers:e}=this.bindings[this.currentIndex],n=t?e[t]:null;return n?n instanceof fS?n:n.buffer:null}getData(t={}){const{varyingName:e}=t,n=this.getBuffer(e);return n?n.getData():null}delete(){for(const t in this.resources)this.resources[t].delete()}_initialize(t={}){this._setupBuffers(t),this.varyings=t.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&Yx(Zw(this.gl))}_getFeedbackBuffers(t){const{sourceBuffers:e={}}=t,n={};if(this.bindings[this.currentIndex]&&Object.assign(n,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(const i in this.feedbackMap){const t=this.feedbackMap[i];i in e&&(n[t]=i)}Object.assign(n,t.feedbackBuffers);for(const i in n){const t=n[i];if("string"==typeof t){const r=e[t],{byteLength:s,usage:o,accessor:a}=r;n[i]=this._createNewBuffer(i,{byteLength:s,usage:o,accessor:a})}}return n}_setupBuffers(t={}){const{sourceBuffers:e=null}=t;Object.assign(this.feedbackMap,t.feedbackMap);const n=this._getFeedbackBuffers(t);this._updateBindings({sourceBuffers:e,feedbackBuffers:n})}_setupTransformFeedback(t,{model:e}){const{program:n}=e;t.transformFeedback=new oE(this.gl,{program:n,buffers:t.feedbackBuffers})}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this.feedbackMap){const{sourceBuffers:t,feedbackBuffers:e}=this._swapBuffers(this.bindings[this.currentIndex]),n=this._getNextIndex();this.bindings[n]=this._updateBinding(this.bindings[n],{sourceBuffers:t,feedbackBuffers:e})}}_updateBinding(t,e){return t?(Object.assign(t.sourceBuffers,e.sourceBuffers),Object.assign(t.feedbackBuffers,e.feedbackBuffers),t.transformFeedback&&t.transformFeedback.setBuffers(t.feedbackBuffers),t):{sourceBuffers:Object.assign({},e.sourceBuffers),feedbackBuffers:Object.assign({},e.feedbackBuffers)}}_swapBuffers(t){if(!this.feedbackMap)return null;const e=Object.assign({},t.sourceBuffers),n=Object.assign({},t.feedbackBuffers);for(const i in this.feedbackMap){const r=this.feedbackMap[i];e[i]=t.feedbackBuffers[r],n[r]=t.sourceBuffers[i],Yx(n[r]instanceof fS)}return{sourceBuffers:e,feedbackBuffers:n}}_createNewBuffer(t,e){const n=new fS(this.gl,e);return this.resources[t]&&this.resources[t].delete(),this.resources[t]=n,n}_getNextIndex(){return(this.currentIndex+1)%2}}function lE(t){let e=100;const n=t.match(/[^\s]+/g);if(n.length>=2&&"#version"===n[0]){const t=parseInt(n[1],10);Number.isFinite(t)&&(e=t)}return e}const cE="vs",uE={[cE]:"#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n",fs:"#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n"},hE="__LUMA_INJECT_DECLARATIONS__",dE=/void\s+main\s*\([^)]*\)\s*\{\n?/,pE=/}\n?[^{}]*$/,fE=[];function gE(t,e,n,i=!1){const r=e===cE;for(const s in n){const e=n[s];e.sort((t,e)=>t.order-e.order),fE.length=e.length;for(let t=0,n=e.length;tt+i));break;case"vs:#main-end":r&&(t=t.replace(pE,t=>i+t));break;case"fs:#decl":r||(t=t.replace(hE,i));break;case"fs:#main-start":r||(t=t.replace(dE,t=>t+i));break;case"fs:#main-end":r||(t=t.replace(pE,t=>i+t));break;default:t=t.replace(s,t=>t+i)}}return t=t.replace(hE,""),i&&(t=t.replace(/\}\s*$/,t=>t+uE[e])),t}function mE(t){const e={};return eE(Array.isArray(t)&&t.length>1),t.forEach(t=>{for(const n in t)e[n]=e[n]?`${e[n]}\n${t[n]}`:t[n]}),e}const bE={name:"transform",vs:"attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n",fs:null},yE="transform_uSize_",vE="transform_position";const _E={10241:9728,10240:9728,10242:33071,10243:33071};class wE{constructor(t,e={}){this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(e),Object.seal(this)}updateModelProps(t={}){const e=this._processVertexShader(t);return Object.assign({},t,e)}getDrawOptions(t={}){const{sourceBuffers:e,sourceTextures:n,framebuffer:i,targetTexture:r}=this.bindings[this.currentIndex],s=Object.assign({},e,t.attributes),o=Object.assign({},t.uniforms),a=Object.assign({},t.parameters);let l=t.discard;if(this.hasSourceTextures||this.hasTargetTexture){s.transform_elementID=this.elementIDBuffer;for(const e in this.samplerTextureMap)o[e]=n[this.samplerTextureMap[e]];this._setSourceTextureParameters();const t=function({sourceTextureMap:t,targetTextureVarying:e,targetTexture:n}){const i={};let r,s;e&&(({width:r,height:s}=n),i[`${yE}${e}`]=[r,s]);for(const o in t)({width:r,height:s}=t[o]),i[`${yE}${o}`]=[r,s];return i}({sourceTextureMap:n,targetTextureVarying:this.targetTextureVarying,targetTexture:r});Object.assign(o,t)}return this.hasTargetTexture&&(l=!1,a.viewport=[0,0,i.width,i.height]),{attributes:s,framebuffer:i,uniforms:o,discard:l,parameters:a}}swap(){return!!this._swapTexture&&(this.currentIndex=this._getNextIndex(),!0)}update(t={}){this._setupTextures(t)}getTargetTexture(){const{targetTexture:t}=this.bindings[this.currentIndex];return t}getData({packed:t=!1}={}){const{framebuffer:e}=this.bindings[this.currentIndex],n=NS(e);if(!t)return n;const i=n.constructor,r=function(t){switch(t){case"float":return 1;case"vec2":return 2;case"vec3":return 3;case"vec4":return 4;default:return eE(!1),null}}(this.targetTextureType),s=new i(n.length*r/4);let o=0;for(let a=0;a0,this._updateBindings({sourceBuffers:e,sourceTextures:n,targetTexture:r}),"elementCount"in t&&this._updateElementIDBuffer(t.elementCount)}_updateElementIDBuffer(t){if("number"!=typeof t||this.elementCount>=t)return;const e=new Float32Array(t);e.forEach((t,e,n)=>{n[e]=e}),this.elementIDBuffer?this.elementIDBuffer.setData({data:e}):this.elementIDBuffer=new fS(this.gl,{data:e,accessor:{size:1}}),this.elementCount=t}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this._swapTexture){const{sourceTextures:t,targetTexture:e}=this._swapTextures(this.bindings[this.currentIndex]),n=this._getNextIndex();this.bindings[n]=this._updateBinding(this.bindings[n],{sourceTextures:t,targetTexture:e})}}_updateBinding(t,e){const{sourceBuffers:n,sourceTextures:i,targetTexture:r}=e;if(t||(t={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(t.sourceTextures,i),Object.assign(t.sourceBuffers,n),r){t.targetTexture=r;const{width:e,height:n}=r,{framebuffer:i}=t;i?(i.update({attachments:{36064:r},resizeAttachments:!1}),i.resize({width:e,height:n})):t.framebuffer=new BS(this.gl,{id:"transform-framebuffer",width:e,height:n,attachments:{36064:r}})}return t}_setSourceTextureParameters(){const t=this.currentIndex,{sourceTextures:e}=this.bindings[t];for(const n in e)e[n].setParameters(_E)}_swapTextures(t){if(!this._swapTexture)return null;const e=Object.assign({},t.sourceTextures);return e[this._swapTexture]=t.targetTexture,{sourceTextures:e,targetTexture:t.sourceTextures[this._swapTexture]}}_createNewTexture(t){const e=DS(t,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=e,e}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(t={}){const{sourceTextures:e,targetTexture:n}=this.bindings[this.currentIndex],{vs:i,uniforms:r,targetTextureType:s,inject:o,samplerTextureMap:a}=function({vs:t,sourceTextureMap:e,targetTextureVarying:n,targetTexture:i}){let r=Object.keys(e).length,s=null;const o={};let a=t,l={};if(r>0||n){const t=a.split("\n"),c=t.slice();if(t.forEach((t,i,a)=>{if(r>0){const n=function(t,e){const n={},i=function(t){return rE(t,["attribute","in"])}(t);if(!i)return null;const{type:r,name:s}=i;if(s&&e[s]){const e=`// ${t} => Replaced by Transform with a sampler`,{samplerName:i,sizeName:o,uniformDeclerations:a}=function(t){const e=`transform_uSampler_${t}`,n=`${yE}${t}`;return{samplerName:e,sizeName:n,uniformDeclerations:` uniform sampler2D ${e};\n uniform vec2 ${n};`}}(s),l=` ${r} ${s} = transform_getInput(${i}, ${o}).${function(t){switch(t){case"float":return"x";case"vec2":return"xy";case"vec3":return"xyz";case"vec4":return"xyzw";default:return eE(!1),null}}(r)};\n`;return n[i]=s,{updatedLine:e,inject:{"vs:#decl":a,"vs:#main-start":l},samplerTextureMap:n}}return null}(t,e);if(n){const{updatedLine:t,inject:e}=n;c[i]=t,l=mE([l,e]),Object.assign(o,n.samplerTextureMap),r--}}n&&!s&&(s=function(t,e){const n=rE(t,["varying","out"]);return n&&n.name===e?n.type:null}(t,n))}),n){Yx(i);const t=`${yE}${n}`;l=mE([l,{"vs:#decl":`uniform vec2 ${t};\n`,"vs:#main-start":` vec2 ${vE} = transform_getPos(${t});\n gl_Position = vec4(${vE}, 0, 1.);\n`}])}a=c.join("\n")}return{vs:a,targetTextureType:s,inject:l,samplerTextureMap:o}}({vs:t.vs,sourceTextureMap:e,targetTextureVarying:this.targetTextureVarying,targetTexture:n}),l=mE([t.inject||{},o]);return this.targetTextureType=s,this.samplerTextureMap=a,{vs:i,fs:t._fs||sE({version:lE(i),input:this.targetTextureVarying,inputType:s,output:"transform_output"}),modules:this.hasSourceTextures||this.targetTextureVarying?[bE].concat(t.modules||[]):t.modules,uniforms:r,inject:l}}}const xE={number:{validate:(t,e)=>Number.isFinite(t)&&(!("max"in e)||t<=e.max)&&(!("min"in e)||t>=e.min)},array:{validate:(t,e)=>Array.isArray(t)||ArrayBuffer.isView(t)}};function SE(t){let e=CE(t);return"object"===e?t?"type"in t?Object.assign({},t,xE[t.type]):"value"in t?(e=CE(t.value),Object.assign({type:e},t,xE[e])):{type:"object",value:t}:{type:"object",value:null}:Object.assign({type:e,value:t},xE[e])}function CE(t){return Array.isArray(t)||ArrayBuffer.isView(t)?"array":typeof t}class EE{constructor({name:t,vs:e,fs:n,dependencies:i=[],uniforms:r,getUniforms:s,deprecations:o=[],defines:a={},inject:l={},vertexShader:c,fragmentShader:u}){eE("string"==typeof t),this.name=t,this.vs=e||c,this.fs=n||u,this.getModuleUniforms=s,this.dependencies=i,this.deprecations=this._parseDeprecationDefinitions(o),this.defines=a,this.injections=function(t){const e={vs:{},fs:{}};for(const n in t){let i=t[n];const r=n.slice(0,2);"string"==typeof i&&(i={order:0,injection:i}),e[r][n]=i}return e}(l),r&&(this.uniforms=function(t){const e={};for(const n in t){const i=SE(t[n]);e[n]=i}return e}(r))}getModuleSource(t){let e;switch(t){case"vs":e=this.vs||"";break;case"fs":e=this.fs||"";break;default:eE(!1)}return`#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi,"_")}\n${e}// END MODULE_${this.name}\n\n`}getUniforms(t,e){return this.getModuleUniforms?this.getModuleUniforms(t,e):this.uniforms?this._defaultGetUniforms(t):{}}getDefines(){return this.defines}checkDeprecations(t,e){this.deprecations.forEach(n=>{n.regex.test(t)&&(n.deprecated?e.deprecated(n.old,n.new)():e.removed(n.old,n.new)())})}_parseDeprecationDefinitions(t){return t.forEach(t=>{switch(t.type){case"function":t.regex=new RegExp(`\\b${t.old}\\(`);break;default:t.regex=new RegExp(`${t.type} ${t.old};`)}}),t}_defaultGetUniforms(t={}){const e={},n=this.uniforms;for(const i in n){const r=n[i];i in t&&!r.private?(r.validate&&eE(r.validate(t[i],r),`${this.name}: invalid ${i}`),e[i]=t[i]):e[i]=r.value}return e}}function OE(t){return function(t){const e={},n={};return TE({modules:t,level:0,moduleMap:e,moduleDepth:n}),Object.keys(n).sort((t,e)=>n[e]-n[t]).map(t=>e[t])}(kE(t))}function TE({modules:t,level:e,moduleMap:n,moduleDepth:i}){if(e>=5)throw new Error("Possible loop in shader dependency graph");for(const r of t)n[r.name]=r,(void 0===i[r.name]||i[r.name](t instanceof EE||(eE("string"!=typeof t,`Shader module use by name is deprecated. Import shader module '${t}' and use it directly.`),eE(t.name,"shader module has no name"),(t=new EE(t)).dependencies=kE(t.dependencies)),t))}const PE={GLSL_FRAG_DATA:["WEBGL_draw_buffers",!0],GLSL_FRAG_DEPTH:["EXT_frag_depth",!0],GLSL_DERIVATIVES:["OES_standard_derivatives",!0],GLSL_TEXTURE_LOD:["EXT_shader_texture_lod",!0]},AE={};function ME(t,e){return t.match(/NVIDIA/i)||e.match(/NVIDIA/i)?"NVIDIA":t.match(/INTEL/i)||e.match(/INTEL/i)?"INTEL":t.match(/AMD/i)||e.match(/AMD/i)||t.match(/ATI/i)||e.match(/ATI/i)?"AMD":"UNKNOWN GPU"}Object.keys(PE).forEach(t=>{AE[t]=t});const IE={};function DE(t,e,n={}){const i=PE[e];if(eE(i,e),!function(t={}){const e="undefined"!=typeof window&&window.navigator||{},n=t.userAgent||e.userAgent||"",i=-1!==n.indexOf("MSIE "),r=-1!==n.indexOf("Trident/");return i||r}(n))return!0;if(e in IE)return IE[e];const r=`#extension GL_${i[0]} : ${n.behavior||"enable"}\nvoid main(void) {}`,s=t.createShader(35633);t.shaderSource(s,r),t.compileShader(s);const o=t.getShaderParameter(s,35713);return t.deleteShader(s),IE[e]=o,o}function RE(t,e){return(e=Array.isArray(e)?e:[e]).every(e=>function(t,e){const n=PE[e];eE(n,e);const i=function(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||Boolean(t&&2===t._version)}(t)&&n[1]||n[0],r="string"==typeof i?Boolean(t.getExtension(i)):i;return eE(!1===r||!0===r),r}(t,e))}function NE(t){return new RegExp(`\\b${t}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`,"g")}const LE=[[/^(#version[ \t]+(100|300[ \t]+es))?[ \t]*\n/,"#version 300 es\n"],[/\btexture(2D|2DProj|Cube)Lod(EXT)?\(/g,"textureLod("],[/\btexture(2D|2DProj|Cube)(EXT)?\(/g,"texture("]],jE=[...LE,[NE("attribute"),"in $1"],[NE("varying"),"out $1"]],FE=[...LE,[NE("varying"),"in $1"]],BE=[[/^#version[ \t]+300[ \t]+es/,"#version 100"],[/\btexture(2D|2DProj|Cube)Lod\(/g,"texture$1LodEXT("],[/\btexture\(/g,"texture2D("],[/\btextureLod\(/g,"texture2DLodEXT("]],VE=[...BE,[NE("in"),"attribute $1"],[NE("out"),"varying $1"]],zE=[...BE,[NE("in"),"varying $1"]],UE="gl_FragColor",HE=/\bout[ \t]+vec4[ \t]+(\w+)[ \t]*;\n?/,$E=/void\s+main\s*\([^)]*\)\s*\{\n?/;function GE(t,e){for(const[n,i]of e)t=t.replace(n,i);return t}const WE=`\n\n${hE}\n\n`,qE={[cE]:"vertex",fs:"fragment"};function YE(t,{id:e,source:n,type:i,modules:r,defines:s={},hookFunctions:o=[],inject:a={},transpileToGLSL100:l=!1,prologue:c=!0,log:u}){eE("string"==typeof n,"shader source must be a string");const h=i===cE,d=n.split("\n");let p=100,f="",g=n;0===d[0].indexOf("#version ")?(p=300,f=d[0],g=d.slice(1).join("\n")):f=`#version ${p}`;const m={};r.forEach(t=>{Object.assign(m,t.getDefines())}),Object.assign(m,s);let b=c?`${f}\n${function({id:t,source:e,type:n}){return t&&"string"==typeof t&&-1===e.indexOf("SHADER_NAME")?`\n#define SHADER_NAME ${t}_${qE[n]}\n\n`:""}({id:e,source:n,type:i})}\n${function({type:t}){return`\n#define SHADER_TYPE_${qE[t].toUpperCase()}\n`}({type:i})}\n${function(t){switch(function(t){const e=t.getExtension("WEBGL_debug_renderer_info"),n=t.getParameter(e&&e.UNMASKED_VENDOR_WEBGL||7936),i=t.getParameter(e&&e.UNMASKED_RENDERER_WEBGL||7937);return{gpuVendor:ME(n,i),vendor:n,renderer:i,version:t.getParameter(7938),shadingLanguageVersion:t.getParameter(35724)}}(t).gpuVendor.toLowerCase()){case"nvidia":return"#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n";case"intel":return"#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n";case"amd":return"#define AMD_GPU\n";default:return"#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n"}}(t)}\n${function(t,e,n){let i="#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n";return RE(t,AE.GLSL_FRAG_DEPTH)&&(i+="\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n"),RE(t,AE.GLSL_DERIVATIVES)&&DE(t,AE.GLSL_DERIVATIVES)&&(i+="\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n"),RE(t,AE.GLSL_FRAG_DATA)&&DE(t,AE.GLSL_FRAG_DATA,{behavior:"require"})&&(i+="\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n"),RE(t,AE.GLSL_TEXTURE_LOD)&&(i+="// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n"),i}(t)}\n${function(t={}){let e=0,n="";for(const i in t){0===e&&(n+="\n// APPLICATION DEFINES\n"),e++;const r=t[i];(r||Number.isFinite(r))&&(n+=`#define ${i.toUpperCase()} ${t[i]}\n`)}return 0===e&&(n+="\n"),n}(m)}\n${h?"":"precision highp float;\n\n"}\n`:`${f}\n`;const y=function(t){const e={vs:{},fs:{}};return t.forEach(t=>{let n;"string"!=typeof t?(n=t,t=n.hook):n={},t=t.trim();const[i,r]=t.split(":"),s=t.replace(/\(.+/,"");e[i][s]=Object.assign(n,{signature:r})}),e}(o),v={},_={},w={};for(const x in a){const t="string"==typeof a[x]?{injection:a[x],order:0}:a[x],e=x.match(/^(v|f)s:(#)?([\w-]+)$/);if(e){const n=e[3];e[2]?"decl"===n?_[x]=[t]:w[x]=[t]:v[x]=[t]}else w[x]=[t]}for(const x of r){u&&x.checkDeprecations(g,u),b+=x.getModuleSource(i,p);const t=x.injections[i];for(const e in t){const n=e.match(/^(v|f)s:#([\w-]+)$/);if(n){const i="decl"===n[2]?_:w;i[e]=i[e]||[],i[e].push(t[e])}else v[e]=v[e]||[],v[e].push(t[e])}}return b+=WE,b=gE(b,i,_),b+=function(t,e){let n="";for(const i in t){const r=t[i];if(n+=`void ${r.signature} {\n`,r.header&&(n+=` ${r.header}`),e[i]){const t=e[i];t.sort((t,e)=>t.order-e.order);for(const e of t)n+=` ${e.injection}\n`}r.footer&&(n+=` ${r.footer}`),n+="}\n"}return n}(y[i],v),b+=g,b=gE(b,i,w),b=function(t,e,n){switch(e){case 300:return n?GE(t,jE):function(t){const e=(t=GE(t,FE)).match(HE);if(e){const n=e[1];t=t.replace(new RegExp(`\\b${UE}\\b`,"g"),n)}else{const e="fragmentColor";t=t.replace($E,t=>`out vec4 ${e};\n${t}`).replace(new RegExp(`\\b${UE}\\b`,"g"),e)}return t}(t);case 100:return n?GE(t,VE):function(t){const e=(t=GE(t,zE)).match(HE);if(e){const n=e[1];t=t.replace(HE,"").replace(new RegExp(`\\b${n}\\b`,"g"),UE)}return t}(t);default:throw new Error(`unknown GLSL version ${e}`)}}(b,l?100:p,h),b}function XE(t){return function(e){const n={};for(const i of t){const t=i.getUniforms(e,n);Object.assign(n,t)}return n}}const KE={5126:uO.bind(null,"uniform1fv",nO,1,hO),35664:uO.bind(null,"uniform2fv",nO,2,hO),35665:uO.bind(null,"uniform3fv",nO,3,hO),35666:uO.bind(null,"uniform4fv",nO,4,hO),5124:uO.bind(null,"uniform1iv",iO,1,hO),35667:uO.bind(null,"uniform2iv",iO,2,hO),35668:uO.bind(null,"uniform3iv",iO,3,hO),35669:uO.bind(null,"uniform4iv",iO,4,hO),35670:uO.bind(null,"uniform1iv",iO,1,hO),35671:uO.bind(null,"uniform2iv",iO,2,hO),35672:uO.bind(null,"uniform3iv",iO,3,hO),35673:uO.bind(null,"uniform4iv",iO,4,hO),35674:uO.bind(null,"uniformMatrix2fv",nO,4,dO),35675:uO.bind(null,"uniformMatrix3fv",nO,9,dO),35676:uO.bind(null,"uniformMatrix4fv",nO,16,dO),35678:cO,35680:cO,5125:uO.bind(null,"uniform1uiv",rO,1,hO),36294:uO.bind(null,"uniform2uiv",rO,2,hO),36295:uO.bind(null,"uniform3uiv",rO,3,hO),36296:uO.bind(null,"uniform4uiv",rO,4,hO),35685:uO.bind(null,"uniformMatrix2x3fv",nO,6,dO),35686:uO.bind(null,"uniformMatrix2x4fv",nO,8,dO),35687:uO.bind(null,"uniformMatrix3x2fv",nO,6,dO),35688:uO.bind(null,"uniformMatrix3x4fv",nO,12,dO),35689:uO.bind(null,"uniformMatrix4x2fv",nO,8,dO),35690:uO.bind(null,"uniformMatrix4x3fv",nO,12,dO),35678:cO,35680:cO,35679:cO,35682:cO,36289:cO,36292:cO,36293:cO,36298:cO,36299:cO,36300:cO,36303:cO,36306:cO,36307:cO,36308:cO,36311:cO},QE={},ZE={},JE={},tO=[0];function eO(t,e,n,i){1===e&&"boolean"==typeof t&&(t=t?1:0),Number.isFinite(t)&&(tO[0]=t,t=tO);const r=t.length;if(r%e&&Xw.warn(`Uniform size should be multiples of ${e}`,t)(),t instanceof n)return t;let s=i[r];s||(s=new n(r),i[r]=s);for(let o=0;o{const r=t!==i;return r&&(e.uniform1i(n,i),t=i),r}}function uO(t,e,n,i){let r=null,s=null;return(o,a,l)=>{const c=e(l,n),u=c.length;let h=!1;if(null===r)r=new Float32Array(u),s=u,h=!0;else{Yx(s===u,"Uniform length cannot change.");for(let t=0;t{const s=String(i+e);return gO(s,r-s.length)+n+t})}(e);return{shaderName:l,errors:fO(s,c),warnings:fO(o,c)}}(t,this.source,this.shaderType,this.id);throw Xw.error(`GLSL compilation errors in ${e}\n${n}`)(),Xw.warn(`GLSL compilation warnings in ${e}\n${i}`)(),new Error(`GLSL compilation errors in ${e}`)}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}}class bO extends mO{get[Symbol.toStringTag](){return"VertexShader"}constructor(t,e){"string"==typeof e&&(e={source:e}),super(t,Object.assign({},e,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}}class yO extends mO{get[Symbol.toStringTag](){return"FragmentShader"}constructor(t,e){"string"==typeof e&&(e={source:e}),super(t,Object.assign({},e,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}}const vO=5126,_O=5124,wO=5125,xO={[vO]:[vO,1,"float"],35664:[vO,2,"vec2"],35665:[vO,3,"vec3"],35666:[vO,4,"vec4"],[_O]:[_O,1,"int"],35667:[_O,2,"ivec2"],35668:[_O,3,"ivec3"],35669:[_O,4,"ivec4"],[wO]:[wO,1,"uint"],36294:[wO,2,"uvec2"],36295:[wO,3,"uvec3"],36296:[wO,4,"uvec4"],35670:[vO,1,"bool"],35671:[vO,2,"bvec2"],35672:[vO,3,"bvec3"],35673:[vO,4,"bvec4"],35674:[vO,8,"mat2"],35685:[vO,8,"mat2x3"],35686:[vO,8,"mat2x4"],35675:[vO,12,"mat3"],35687:[vO,12,"mat3x2"],35688:[vO,12,"mat3x4"],35676:[vO,16,"mat4"],35689:[vO,16,"mat4x2"],35690:[vO,16,"mat4x3"]};function SO(t){const e=xO[t];if(!e)return null;const[n,i]=e;return{type:n,components:i}}function CO(t,e){switch(t){case 5120:case 5121:case 5122:case 5123:t=vO}for(const n in xO){const[i,r,s]=xO[n];if(i===t&&r===e)return{glType:n,name:s}}return null}class EO{constructor(t){this.id=t.id,this.attributeInfos=[],this.attributeInfosByName={},this.attributeInfosByLocation=[],this.varyingInfos=[],this.varyingInfosByName={},Object.seal(this),this._readAttributesFromProgram(t),this._readVaryingsFromProgram(t)}getAttributeInfo(t){const e=Number(t);return Number.isFinite(e)?this.attributeInfosByLocation[e]:this.attributeInfosByName[t]||null}getAttributeLocation(t){const e=this.getAttributeInfo(t);return e?e.location:-1}getAttributeAccessor(t){const e=this.getAttributeInfo(t);return e?e.accessor:null}getVaryingInfo(t){const e=Number(t);return Number.isFinite(e)?this.varyingInfos[e]:this.varyingInfosByName[t]||null}getVaryingIndex(t){const e=this.getVaryingInfo();return e?e.location:-1}getVaryingAccessor(t){const e=this.getVaryingInfo();return e?e.accessor:null}_readAttributesFromProgram(t){const{gl:e}=t,n=e.getProgramParameter(t.handle,35721);for(let i=0;i=0&&this._addAttribute(o,n,r,s)}this.attributeInfos.sort((t,e)=>t.location-e.location)}_readVaryingsFromProgram(t){const{gl:e}=t;if(!Zw(e))return;const n=e.getProgramParameter(t.handle,35971);for(let i=0;it.location-e.location)}_addAttribute(t,e,n,i){const{type:r,components:s}=SO(n),o={type:r,size:i*s};this._inferProperties(t,e,o);const a={location:t,name:e,accessor:new uS(o)};this.attributeInfos.push(a),this.attributeInfosByLocation[t]=a,this.attributeInfosByName[a.name]=a}_inferProperties(t,e,n){/instance/i.test(e)&&(n.divisor=1)}_addVarying(t,e,n,i){const{type:r,components:s}=SO(n),o={location:t,name:e,accessor:new uS({type:r,size:i*s})};this.varyingInfos.push(o),this.varyingInfosByName[o.name]=o}}const OO=35981,TO=["setVertexArray","setAttributes","setBuffers","unsetBuffers","use","getUniformCount","getUniformInfo","getUniformLocation","getUniformValue","getVarying","getFragDataLocation","getAttachedShaders","getAttributeCount","getAttributeLocation","getAttributeInfo"];class kO extends iS{get[Symbol.toStringTag](){return"Program"}constructor(t,e={}){super(t,e),this.stubRemovedMethods("Program","v6.0",TO),this._isCached=!1,this.initialize(e),Object.seal(this),this._setId(e.id)}initialize(t={}){const{hash:e,vs:n,fs:i,varyings:r,bufferMode:s=OO}=t;return this.hash=e||"",this.vs="string"==typeof n?new bO(this.gl,{id:`${t.id}-vs`,source:n}):n,this.fs="string"==typeof i?new yO(this.gl,{id:`${t.id}-fs`,source:i}):i,Yx(this.vs instanceof bO),Yx(this.fs instanceof yO),this.uniforms={},this._textureUniforms={},r&&r.length>0&&(tx(this.gl),this.varyings=r,this.gl2.transformFeedbackVaryings(this.handle,r,s)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new EO(this),this.setProps(t)}delete(t={}){return this._isCached?this:super.delete(t)}setProps(t){return"uniforms"in t&&this.setUniforms(t.uniforms),this}draw({logPriority:t,drawMode:e=4,vertexCount:n,offset:i=0,start:r,end:s,isIndexed:o=!1,indexType:a=5123,instanceCount:l=0,isInstanced:c=l>0,vertexArray:u=null,transformFeedback:h,framebuffer:d,parameters:p={},uniforms:f,samplers:g}){if((f||g)&&(Xw.deprecated("Program.draw({uniforms})","Program.setUniforms(uniforms)")(),this.setUniforms(f||{})),Xw.priority>=t){const i=d?d.id:"default",r=`mode=${Kx(this.gl,e)} verts=${n} instances=${l} indexType=${Kx(this.gl,a)} isInstanced=${c} isIndexed=${o} Framebuffer=${i}`;Xw.log(t,r)()}return Yx(u),this.gl.useProgram(this.handle),!(!this._areTexturesRenderable()||0===n||c&&0===l||(u.bindForDraw(n,l,()=>{if(void 0!==d&&(p=Object.assign({},p,{framebuffer:d})),h){const t=function(t){switch(t){case 0:return 0;case 1:case 3:case 2:return 1;case 4:case 5:case 6:return 4;default:return Yx(!1),0}}(e);h.begin(t)}this._bindTextures(),Ix(this.gl,p,()=>{o&&c?this.gl2.drawElementsInstanced(e,n,a,i,l):o&&Zw(this.gl)&&!isNaN(r)&&!isNaN(s)?this.gl2.drawRangeElements(e,r,s,n,a,i):o?this.gl.drawElements(e,n,a,i):c?this.gl2.drawArraysInstanced(e,i,n,l):this.gl.drawArrays(e,i,n)}),h&&h.end()}),0))}setUniforms(t={}){Xw.priority>=2&&function(t,e,n){for(const i in t){const r=t[i];if((!n||Boolean(n[i]))&&!aO(r))throw e=e?`${e} `:"",console.error(`${e} Bad uniform ${i}`,r),new Error(`${e} Bad uniform ${i}`)}}(t,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(const e in t){const n=t[e],i=this._uniformSetters[e];if(i){let t=n,r=!1;if(t instanceof BS&&(t=t.texture),t instanceof _S)if(r=this.uniforms[e]!==n,r){void 0===i.textureIndex&&(i.textureIndex=this._textureIndexCounter++);const n=t,{textureIndex:r}=i;n.bind(r),t=r,this._textureUniforms[e]=n}else t=i.textureIndex;else this._textureUniforms[e]&&delete this._textureUniforms[e];(i(t)||r)&&lO(this.uniforms,e,n)}}return this}_areTexturesRenderable(){let t=!0;for(const e in this._textureUniforms){const n=this._textureUniforms[e];n.update(),t=t&&n.loaded}return t}_bindTextures(){for(const t in this._textureUniforms)this._textureUniforms[t].bind(this._uniformSetters[t].textureIndex)}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(t){const e=this.gl.getAttachedShaders(t),n={};for(const i of e)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:n.vs=new bO({handle:i});break;case 35632:n.fs=new yO({handle:i})}return n}_getParameter(t){return this.gl.getProgramParameter(this.handle,t)}_setId(t){if(!t){const t=this._getName();this.id=Zx(t)}}_getName(){let t=this.vs.getName()||this.fs.getName();return t=t.replace(/shader/i,""),t=t?`${t}-program`:"program",t}_compileAndLink(){const{gl:t}=this;if(t.attachShader(this.handle,this.vs.handle),t.attachShader(this.handle,this.fs.handle),Xw.time(4,`linkProgram for ${this._getName()}`)(),t.linkProgram(this.handle),Xw.timeEnd(4,`linkProgram for ${this._getName()}`)(),t.debug||Xw.level>0){if(!t.getProgramParameter(this.handle,35714))throw new Error(`Error linking: ${t.getProgramInfoLog(this.handle)}`);if(t.validateProgram(this.handle),!t.getProgramParameter(this.handle,35715))throw new Error(`Error validating: ${t.getProgramInfoLog(this.handle)}`)}}_readUniformLocationsFromLinkedProgram(){const{gl:t}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let e=0;e1)for(let e=0;ee.name===t.name)||this._defaultModules.push(t),this.stateHash++}removeDefaultModule(t){const e="string"==typeof t?t:t.name;this._defaultModules=this._defaultModules.filter(t=>t.name!==e),this.stateHash++}addShaderHook(t,e){e&&(t=Object.assign(e,{hook:t})),this._hookFunctions.push(t),this.stateHash++}get(t={}){const{vs:e="",fs:n="",defines:i={},inject:r={},varyings:s=[],bufferMode:o=35981,transpileToGLSL100:a=!1}=t,l=this._getModuleList(t.modules),c=this._getHash(e),u=this._getHash(n),h=l.map(t=>this._getHash(t.name)).sort(),d=s.map(t=>this._getHash(t)),p=Object.keys(i).sort(),f=Object.keys(r).sort(),g=[],m=[];for(const y of p)g.push(this._getHash(y)),g.push(this._getHash(i[y]));for(const y of f)m.push(this._getHash(y)),m.push(this._getHash(r[y]));const b=`${c}/${u}D${g.join("/")}M${h.join("/")}I${m.join("/")}V${d.join("/")}H${this.stateHash}B${o}${a?"T":""}`;if(!this._programCache[b]){const t=function(t,e){const{vs:n,fs:i}=e,r=OE(e.modules||[]);return{gl:t,vs:YE(t,Object.assign({},e,{source:n,type:cE,modules:r})),fs:YE(t,Object.assign({},e,{source:i,type:"fs",modules:r})),getUniforms:XE(r)}}(this.gl,{vs:e,fs:n,modules:l,inject:r,defines:i,hookFunctions:this._hookFunctions,transpileToGLSL100:a});this._programCache[b]=new kO(this.gl,{hash:b,vs:t.vs,fs:t.fs,varyings:s,bufferMode:o}),this._getUniforms[b]=t.getUniforms||(t=>{}),this._useCounts[b]=0}return this._useCounts[b]++,this._programCache[b]}getUniforms(t){return this._getUniforms[t.hash]||null}release(t){const e=t.hash;this._useCounts[e]--,0===this._useCounts[e]&&(this._programCache[e].delete(),delete this._programCache[e],delete this._getUniforms[e],delete this._useCounts[e])}_getHash(t){return void 0===this._hashes[t]&&(this._hashes[t]=this._hashCounter++),this._hashes[t]}_getModuleList(t=[]){const e=new Array(this._defaultModules.length+t.length),n={};let i=0;for(let r=0,s=this._defaultModules.length;r-1)return"Edge";const n=-1!==e.indexOf("MSIE "),i=-1!==e.indexOf("Trident/");return n||i?"IE":Dw.chrome?"Chrome":Dw.safari?"Safari":Dw.mozInnerScreenX?"Firefox":"Unknown"}()}static getDefaultArray(t){return t.luma=t.luma||{},t.luma.defaultVertexArray||(t.luma.defaultVertexArray=new MO(t,{handle:null,isDefaultArray:!0})),t.luma.defaultVertexArray}static getMaxAttributes(t){return MO.MAX_ATTRIBUTES=MO.MAX_ATTRIBUTES||t.getParameter(34921),MO.MAX_ATTRIBUTES}static setConstant(t,e,n){switch(n.constructor){case Float32Array:MO._setConstantFloatArray(t,e,n);break;case Int32Array:MO._setConstantIntArray(t,e,n);break;case Uint32Array:MO._setConstantUintArray(t,e,n);break;default:Yx(!1)}}constructor(t,e={}){super(t,Object.assign({},e,{id:e.id||e.program&&e.program.id})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=e.isDefaultArray||!1,this.gl2=t,this.initialize(e),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return MO.getMaxAttributes(this.gl)}initialize(t={}){return this.setProps(t)}setProps(t){return this}setElementBuffer(t=null,e={}){return Yx(!t||34963===t.target,"elements must be GL.ELEMENT_ARRAY_BUFFER"),this.bind(()=>{this.gl.bindBuffer(34963,t?t.handle:null)}),this}setBuffer(t,e,n){if(34963===e.target)return this.setElementBuffer(e,n);const{size:i,type:r,stride:s,offset:o,normalized:a,integer:l,divisor:c}=n,{gl:u,gl2:h}=this;return t=Number(t),this.bind(()=>{u.bindBuffer(34962,e.handle),l?(Yx(Zw(u)),h.vertexAttribIPointer(t,i,r,s,o)):u.vertexAttribPointer(t,i,r,a,s,o),u.enableVertexAttribArray(t),h.vertexAttribDivisor(t,c||0)}),this}enable(t,e=!0){return!e&&0===t&&!MO.isSupported(this.gl,{constantAttributeZero:!0})||(t=Number(t),this.bind(()=>e?this.gl.enableVertexAttribArray(t):this.gl.disableVertexAttribArray(t))),this}getConstantBuffer(t,e){const n=this._normalizeConstantArrayValue(e),i=n.byteLength*t,r=n.length*t;let s=!this.buffer;if(this.buffer=this.buffer||new fS(this.gl,i),s=s||this.buffer.reallocate(i),s=s||!this._compareConstantArrayValues(n,this.bufferValue),s){const t=function(t,e){return new t(function(t){return(!AO||AO.byteLength{switch(t){case 34373:return this.gl.getVertexAttribOffset(e,t);default:return this.gl.getVertexAttrib(e,t)}})}}const IO=/^(.+)__LOCATION_([0-9]+)$/,DO=["setBuffers","setGeneric","clearBindings","setLocations","setGenericValues","setDivisor","enable","disable"];class RO{constructor(t,e={}){this.id=e.id||e.program&&e.program.id,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new MO(t),eS(this,"VertexArray","v6.0",DO),this.initialize(e),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(t={}){return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(t)}reset(){this.elements=null,this.elementsAccessor=null;const{MAX_ATTRIBUTES:t}=this.vertexArrayObject;return this.values=new Array(t).fill(null),this.accessors=new Array(t).fill(null),this.unused={},this.drawParams=null,this}setProps(t){return"program"in t&&(this.configuration=t.program&&t.program.configuration),"configuration"in t&&(this.configuration=t.configuration),"attributes"in t&&this.setAttributes(t.attributes),"elements"in t&&this.setElementBuffer(t.elements),"bindOnUse"in t&&(t=t.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(t){return Object.assign(this.attributes,t),this.vertexArrayObject.bind(()=>{for(const e in t)this._setAttribute(e,t[e]);this.gl.bindBuffer(34962,null)}),this}setElementBuffer(t=null,e={}){return this.elements=t,this.elementsAccessor=e,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(t,e),this}setBuffer(t,e,n={}){if(34963===e.target)return this.setElementBuffer(e,n);const{location:i,accessor:r}=this._resolveLocationAndAccessor(t,e,e.accessor,n);return i>=0&&(this.values[i]=e,this.accessors[i]=r,this.clearDrawParams(),this.vertexArrayObject.setBuffer(i,e,r)),this}setConstant(t,e,n={}){const{location:i,accessor:r}=this._resolveLocationAndAccessor(t,e,Object.assign({size:e.length},n));return i>=0&&(e=this.vertexArrayObject._normalizeConstantArrayValue(e),this.values[i]=e,this.accessors[i]=r,this.clearDrawParams(),this.vertexArrayObject.enable(i,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new fS(this.gl,{accessor:{size:4}});for(let t=0;t{this.elements&&this.setElementBuffer(this.elements);for(let t=0;t{this._setConstantAttributes(t,e),i=n()}),i}_resolveLocationAndAccessor(t,e,n,i){const r={location:-1,accessor:null},{location:s,name:o}=this._getAttributeIndex(t);if(!Number.isFinite(s)||s<0)return this.unused[t]=e,Xw.once(3,()=>`unused value ${t} in ${this.id}`)(),r;const a=this._getAttributeInfo(o||s);if(!a)return r;const l=uS.resolve(a.accessor,this.accessors[s]||{},n,i),{size:c,type:u}=l;return Yx(Number.isFinite(c)&&Number.isFinite(u)),{location:s,accessor:l}}_getAttributeInfo(t){return this.configuration&&this.configuration.getAttributeInfo(t)}_getAttributeIndex(t){const e=Number(t);if(Number.isFinite(e))return{location:e};const n=IO.exec(t),i=n?n[1]:t,r=n?Number(n[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(i)+r,name:i}:{location:-1}}_setAttribute(t,e){if(e instanceof fS)this.setBuffer(t,e);else if(Array.isArray(e)&&e.length&&e[0]instanceof fS)this.setBuffer(t,e[0],e[1]);else if(ArrayBuffer.isView(e)||Array.isArray(e))this.setConstant(t,e);else{if(!(e.buffer instanceof fS))throw new Error("VertexArray: attributes must be Buffers or constants (i.e. typed array)");this.setBuffer(t,e.buffer,e)}}_setConstantAttributes(t,e){const n=Math.max(0|t,0|e);let i=this.values[0];ArrayBuffer.isView(i)&&this._setConstantAttributeZero(i,n);for(let r=1;r0;if(t.isInstanced=t.isInstanced||s,n instanceof fS){const e=n;if(s){const n=e.getVertexCount(i);t.instanceCount=Math.min(t.instanceCount,n)}else{const n=e.getVertexCount(i);t.vertexCount=Math.min(t.vertexCount,n)}}}setElements(t=null,e={}){return Xw.deprecated("setElements","setElementBuffer")(),this.setElementBuffer(t,e)}}function NO(t,e={}){const{isInteger:n=!1}=e;if(Array.isArray(t)||ArrayBuffer.isView(t))return function(t,e){const{maxElts:n=16,size:i=1}=e;let r="[";for(let s=0;s0&&(r+=","+(s%i==0?" ":"")),r+=NO(t[s],e);return`${r}${t.length>n?"...":"]"}`}(t,e);if(!Number.isFinite(t))return String(t);if(Math.abs(t)<1e-16)return n?"0":"0.";if(n||Math.abs(t)>100&&Math.abs(t)<1e4)return t.toFixed(0);const i=t.toPrecision(2);return i.indexOf(".0")===i.length-2?i.slice(0,-1):i}function LO(t,e,n,i){const{gl:r}=t;if(!e)return{[i]:"null","Format ":"N/A"};let s,o,a,l="NOT PROVIDED",c=1,u=0,h=0;if(n&&(l=n.type,c=n.size,l=String(l).replace("Array",""),s=-1!==l.indexOf("nt")),e instanceof fS){const t=e,{data:d,changed:p}=t.getDebugData();let f;return o=p?"*":"",a=d,h=t.byteLength,u=h/d.BYTES_PER_ELEMENT/c,n?f=`${n.divisor>0?"I ":"P "} ${u} (x${c}=${h} bytes ${Kx(r,l)})`:(s=!0,f=`${h} bytes`),{[i]:`${o}${NO(a,{size:c,isInteger:s})}`,"Format ":f}}return a=e,c=e.length,l=String(e.constructor.name).replace("Array",""),s=-1!==l.indexOf("nt"),{[i]:`${NO(a,{size:c,isInteger:s})} (constant)`,"Format ":`${c}x${l} (constant)`}}function jO(t,e){const{type:n,size:i}=e,r=CO(n,i);return r?`${t} (${r.name})`:t}function FO({header:t="Uniforms",program:e,uniforms:n,undefinedOnly:i=!1}){Yx(e);const r=".*Matrix",s={},o=Object.keys(e._uniformSetters).sort();let a=0;for(const u of o)!u.match(".*_.*")&&!u.match(r)&&BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;for(const u of o)u.match(r)&&BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;for(const u of o)s[u]||BO({table:s,header:t,uniforms:n,uniformName:u,undefinedOnly:i})&&a++;let l=0;const c={};if(!i)for(const u in n){const e=n[u];s[u]||(l++,c[u]={Type:`NOT USED: ${e}`,[t]:NO(e)})}return{table:s,count:a,unusedTable:c,unusedCount:l}}function BO({table:t,header:e,uniforms:n,uniformName:i,undefinedOnly:r}){const s=n[i],o=function(t){return null!=t}(s);return!(r&&o||(t[i]={[e]:o?NO(s):"N/A","Uniform Type":o?s:"NOT PROVIDED"},0))}function VO(t){const{type:e,size:n}=t.accessor,i=CO(e,n);return i?`${i.name} ${t.name}`:t.name}const zO={POSITION:"positions",NORMAL:"normals",COLOR_0:"colors",TEXCOORD_0:"texCoords",TEXCOORD_1:"texCoords1",TEXCOORD_2:"texCoords2"};function UO(t,e){const{attributeMap:n=zO}=e||{};return n&&n[t]||t}function HO(t,e){let n;switch(t){case"texCoords":case"texCoord1":case"texCoord2":case"texCoord3":n="uvs";break;case"vertices":case"positions":case"normals":case"pickingColors":n="vectors"}switch(n){case"vectors":e.size=e.size||3;break;case"uvs":e.size=e.size||2}Yx(Number.isFinite(e.size),`attribute ${t} needs size`)}const $O=()=>{},GO={};class WO{constructor(t,e={}){const{id:n=Zx("model")}=e;Yx(Qw(t)),this.id=n,this.gl=t,this.id=e.id||Zx("Model"),this.lastLogTime=0,this.animated=!1,this.initialize(e)}initialize(t){this.props={},this.programManager=t.programManager||PO.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;const{program:e=null,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c}=t;this.programProps={program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(t.moduleSettings))),this.drawMode=void 0!==t.drawMode?t.drawMode:4,this.vertexCount=t.vertexCount||0,this.geometryBuffers={},this.isInstanced=t.isInstanced||t.instanced||t.instanceCount>0,this._setModelProps(t),this.geometry={},Yx(void 0!==this.drawMode&&Number.isFinite(this.vertexCount),"Model needs drawMode and vertexCount")}setProps(t){this._setModelProps(t)}delete(){for(const t in this._attributes)this._attributes[t]!==this.attributes[t]&&this._attributes[t].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(t){const{program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c}=t;this.programProps={program:e,vs:n,fs:i,modules:r,defines:s,inject:o,varyings:a,bufferMode:l,transpileToGLSL100:c},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(t){return this.drawMode=t,this}setVertexCount(t){return Yx(Number.isFinite(t)),this.vertexCount=t,this}setInstanceCount(t){return Yx(Number.isFinite(t)),this.instanceCount=t,this}setGeometry(t){return this.drawMode=t.drawMode,this.vertexCount=t.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=function(t,e,n){const i={};let r=e.indices;for(const s in e.attributes){const n=e.attributes[s],o=UO(s,undefined);if("indices"===s)r=n;else if(n.constant)i[o]=n.value;else{const e=n.value,r=yt({},n);delete r.value,i[o]=[new fS(t,e),r],HO(s,r)}}if(r){const e=r.value||r;Yx(e instanceof Uint16Array||e instanceof Uint32Array,'attribute array for "indices" must be of integer type');const n={size:1,isIndexed:void 0===r.isIndexed||r.isIndexed};i.indices=[new fS(t,{data:e,target:34963}),n]}return i}(this.gl,t),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(t={}){if(tS(t))return this;const e={};for(const n in t){const i=t[n];e[n]=i.getValue?i.getValue():i}return this.vertexArray.setAttributes(e),this}setUniforms(t={}){return Object.assign(this.uniforms,t),this}getModuleUniforms(t){this._checkProgram();const e=this.programManager.getUniforms(this.program);return e?e(t):{}}updateModuleSettings(t){const e=this.getModuleUniforms(t||{});return this.setUniforms(e)}clear(t){return TS(this.program.gl,t),this}draw(t={}){this._checkProgram();const{moduleSettings:e=null,framebuffer:n,uniforms:i={},attributes:r={},transformFeedback:s=this.transformFeedback,parameters:o={},vertexArray:a=this.vertexArray}=t;let l;this.setAttributes(r),this.updateModuleSettings(e),this.setUniforms(i),Xw.priority>=2&&(l=this._logDrawCallStart(2));const c=this.vertexArray.getDrawParams(),{isIndexed:u=c.isIndexed,indexType:h=c.indexType,indexOffset:d=c.indexOffset,vertexArrayInstanced:p=c.isInstanced}=this.props;p&&!this.isInstanced&&Xw.warn("Found instanced attributes on non-instanced model",this.id)();const{isInstanced:f,instanceCount:g}=this,{onBeforeRender:m=$O,onAfterRender:b=$O}=this.props;m(),this.program.setUniforms(this.uniforms);const y=this.program.draw(Object.assign(GO,t,{logPriority:l,uniforms:null,framebuffer:n,parameters:o,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:a,transformFeedback:s,isIndexed:u,indexType:h,isInstanced:f,instanceCount:g,offset:u?d:0}));return b(),Xw.priority>=2&&this._logDrawCallEnd(l,a,n),y}transform(t={}){const{discard:e=!0,feedbackBuffers:n,unbindModels:i=[]}=t;let{parameters:r}=t;n&&this._setFeedbackBuffers(n),e&&(r=Object.assign({},r,{35977:e})),i.forEach(t=>t.vertexArray.unbindBuffers());try{this.draw(Object.assign({},t,{parameters:r}))}finally{i.forEach(t=>t.vertexArray.bindBuffers())}return this}render(t={}){return Xw.warn("Model.render() is deprecated. Use Model.setUniforms() and Model.draw()")(),this.setUniforms(t).draw()}_setModelProps(t){Object.assign(this.props,t),"uniforms"in t&&this.setUniforms(t.uniforms),"pickable"in t&&(this.pickable=t.pickable),"instanceCount"in t&&(this.instanceCount=t.instanceCount),"geometry"in t&&this.setGeometry(t.geometry),"attributes"in t&&this.setAttributes(t.attributes),"_feedbackBuffers"in t&&this._setFeedbackBuffers(t._feedbackBuffers)}_checkProgram(){if(!this._programDirty&&this.programManager.stateHash===this._programManagerState)return;let{program:t}=this.programProps;if(t)this._managedProgram=!1;else{const{vs:e,fs:n,modules:i,inject:r,defines:s,varyings:o,bufferMode:a,transpileToGLSL100:l}=this.programProps;t=this.programManager.get({vs:e,fs:n,modules:i,inject:r,defines:s,varyings:o,bufferMode:a,transpileToGLSL100:l}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}Yx(t instanceof kO,"Model needs a program"),this._programDirty=!1,t!==this.program&&(this.program=t,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new RO(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(const t in this.geometryBuffers){const e=this.geometryBuffers[t][0]||this.geometryBuffers[t];e instanceof fS&&e.delete()}}_setAnimationProps(t){this.animated&&Yx(t,"Model.draw(): animated uniforms but no animationProps")}_setFeedbackBuffers(t={}){if(tS(t))return this;const{gl:e}=this.program;return this.transformFeedback=this.transformFeedback||new oE(e,{program:this.program}),this.transformFeedback.setBuffers(t),this}_logDrawCallStart(t){const e=t>3?0:1e4;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL ${this.id}`,{collapsed:Xw.level<=2})(),t}_logDrawCallEnd(t,e,n,i){if(void 0===t)return;const r=function({vertexArray:t,header:e="Attributes"}){if(!t.configuration)return{};const n={};t.elements&&(n.ELEMENT_ARRAY_BUFFER=LO(t,t.elements,null,e));const i=t.values;for(const r in i){const s=t._getAttributeInfo(r);if(s){let o=`${r}: ${s.name}`;const a=t.accessors[s.location];a&&(o=`${r}: ${jO(s.name,a)}`),n[o]=LO(t,i[r],a,e)}}return n}({vertexArray:e,header:`${this.id} attributes`,attributes:this._attributes}),{table:s,unusedTable:o,unusedCount:a}=FO({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,n)}),{table:l,count:c}=FO({header:`${this.id} uniforms`,program:this.program,uniforms:Object.assign({},this.program.uniforms,n),undefinedOnly:!0});c>0&&Xw.log("MISSING UNIFORMS",Object.keys(l))(),a>0&&Xw.log("UNUSED UNIFORMS",Object.keys(o))();const u=function(t){const e={},n=`Accessors for ${t.id}`;for(const i of t.attributeInfos)i&&(e[`in ${VO(i)}`]={[n]:JSON.stringify(i.accessor)});for(const i of t.varyingInfos)i&&(e[`out ${VO(i)}`]={[n]:JSON.stringify(i.accessor)});return e}(this.vertexArray.configuration);Xw.table(t,r)(),Xw.table(t,s)(),Xw.table(t+1,u)(),i&&i.log({logLevel:2,message:`Rendered to ${i.id}`}),Xw.groupEnd(2,`>>> DRAWING MODEL ${this.id}`)()}}class qO{static isSupported(t){return Zw(t)}constructor(t,e={}){this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(e),Object.seal(this)}delete(){const{model:t,bufferTransform:e,textureTransform:n}=this;t&&t.delete(),e&&e.delete(),n&&n.delete()}run(t={}){const{clearRenderTarget:e=!0}=t,n=this._updateDrawOptions(t);e&&n.framebuffer&&n.framebuffer.clear({color:!0}),this.model.transform(n)}swap(){let t=!1;const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e)t=t||n.swap();Yx(t,"Nothing to swap")}getBuffer(t=null){return this.bufferTransform&&this.bufferTransform.getBuffer(t)}getData(t={}){const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e){const e=n.getData(t);if(e)return e}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(t={}){"elementCount"in t&&this.model.setVertexCount(t.elementCount);const e=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const n of e)n.update(t)}_initialize(t={}){const{gl:e}=this;this._buildResourceTransforms(e,t),t=this._updateModelProps(t),this.model=new WO(e,Object.assign({},t,{fs:t.fs||sE({version:lE(t.vs)}),id:t.id||"transform-model",drawMode:t.drawMode||0,vertexCount:t.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(t){let e=Object.assign({},t);const n=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of n)e=i.updateModelProps(e);return e}_buildResourceTransforms(t,e){(function(t){return!(tS(t.feedbackBuffers)&&tS(t.feedbackMap)&&!(t.varyings&&t.varyings.length>0))})(e)&&(this.bufferTransform=new aE(t,e)),function(t){return!(tS(t._sourceTextures)&&!t._targetTexture&&!t._targetTextureVarying)}(e)&&(this.textureTransform=new wE(t,e)),Yx(this.bufferTransform||this.textureTransform,"must provide source/feedback buffers or source/target textures")}_updateDrawOptions(t){let e=Object.assign({},t);const n=[this.bufferTransform,this.textureTransform].filter(Boolean);for(const i of n)e=Object.assign(e,i.getDrawOptions(e));return e}}function YO(){}const XO={onStart:YO,onUpdate:YO,onInterrupt:YO,onEnd:YO};class KO{constructor(t){this._inProgress=!1,this._handle=null,this.timeline=t,this.settings={}}get inProgress(){return this._inProgress}start(t){this.cancel(),this.settings=yt(yt({},XO),t),this._inProgress=!0,this.settings.onStart(this)}end(){this._inProgress&&(this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,this.settings.onEnd(this))}cancel(){this._inProgress&&(this.settings.onInterrupt(this),this.timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1)}update(){if(!this._inProgress)return!1;if(null===this._handle){const{timeline:t,settings:e}=this;this._handle=t.addChannel({delay:t.getTime(),duration:e.duration})}return this.time=this.timeline.getTime(this._handle),this._onUpdate(),this.settings.onUpdate(this),this.timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}}const QO={interpolation:class{constructor({gl:t,attribute:e,timeline:n}){this.gl=t,this.type="interpolation",this.transition=new KO(n),this.attribute=e,this.attributeInTransition=new ZC(t,e.settings),this.currentStartIndices=e.startIndices,this.currentLength=0,this.transform=function(t,e){const n=YC(e.size);return new qO(t,{vs:"\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n",defines:{ATTRIBUTE_TYPE:n},varyings:["vCurrent"]})}(t,e);const i={byteLength:0,usage:35050};this.buffers=[new fS(t,i),new fS(t,i)]}get inProgress(){return this.transition.inProgress}start(t,e){if(t.duration<=0)return void this.transition.cancel();const{buffers:n,attribute:i}=this;XC(n);const r={numInstances:e,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(const s of n)QC(yt({buffer:s},r));this.currentStartIndices=i.startIndices,this.currentLength=KC(i,e),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aFrom:n[0],aTo:qC(0,i)},feedbackBuffers:{vCurrent:n[1]}})}update(){const t=this.transition.update();if(t){const{time:t,settings:{duration:e,easing:n}}=this.transition,i=n(t/e);this.transform.run({uniforms:{time:i}})}return t}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete()}},spring:class{constructor({gl:t,attribute:e,timeline:n}){this.gl=t,this.type="spring",this.transition=new KO(n),this.attribute=e,this.attributeInTransition=new ZC(t,zn(yt({},e.settings),{normalized:!1})),this.currentStartIndices=e.startIndices,this.currentLength=0,this.texture=function(t){return new xS(t,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}(t),this.framebuffer=function(t,e){return new BS(t,{id:"spring-transition-is-transitioning-framebuffer",width:1,height:1,attachments:{36064:e}})}(t,this.texture),this.transform=function(t,e,n){const i=YC(e.size);return new qO(t,{framebuffer:n,vs:"\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n",fs:"\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}",defines:{ATTRIBUTE_TYPE:i},varyings:["vNext"]})}(t,e,this.framebuffer);const i={byteLength:0,usage:35050};this.buffers=[new fS(t,i),new fS(t,i),new fS(t,i)]}get inProgress(){return this.transition.inProgress}start(t,e){const{buffers:n,attribute:i}=this,r={numInstances:e,attribute:i,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(const s of n)QC(yt({buffer:s},r));this.currentStartIndices=i.startIndices,this.currentLength=KC(i,e),this.attributeInTransition.update({buffer:n[1],value:i.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/i.size),sourceBuffers:{aTo:qC(0,i)}})}update(){const{buffers:t,transform:e,framebuffer:n,transition:i}=this;return!!i.update()&&(e.update({sourceBuffers:{aPrev:t[0],aCur:t[1]},feedbackBuffers:{vNext:t[2]}}),e.run({framebuffer:n,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:i.settings.stiffness,damping:i.settings.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),XC(t),this.attributeInTransition.update({buffer:t[1],value:this.attribute.value}),NS(n)[0]>0||i.end(),!0)}cancel(){for(this.transition.cancel(),this.transform.delete();this.buffers.length;)this.buffers.pop().delete();this.texture.delete(),this.texture=null,this.framebuffer.delete(),this.framebuffer=null}}};class ZO{constructor(t,{id:e,timeline:n}){this.id=e,this.gl=t,this.timeline=n,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=qO.isSupported(t)}finalize(){for(const t in this.transitions)this._removeTransition(t)}update({attributes:t,transitions:e,numInstances:n}){this.numInstances=n||1;for(const i in t){const n=t[i],r=n.getTransitionSetting(e);!r||this._updateAttribute(i,n,r)}for(const i in this.transitions){const n=t[i];(!n||!n.getTransitionSetting(e))&&this._removeTransition(i)}}hasAttribute(t){const e=this.transitions[t];return e&&e.inProgress}getAttributes(){const t={};for(const e in this.transitions){const n=this.transitions[e];n.inProgress&&(t[e]=n.attributeInTransition)}return t}run(){if(!this.isSupported||0===this.numInstances)return!1;for(const e in this.transitions)this.transitions[e].update()&&(this.needsRedraw=!0);const t=this.needsRedraw;return this.needsRedraw=!1,t}_removeTransition(t){this.transitions[t].cancel(),delete this.transitions[t]}_updateAttribute(t,e,n){const i=this.transitions[t];let r=!i||i.type!==n.type;if(r){if(!this.isSupported)return void Gw.warn("WebGL2 not supported by this browser. Transition for ".concat(t," is disabled."))();i&&this._removeTransition(t);const s=QO[n.type];s?this.transitions[t]=new s({attribute:e,timeline:this.timeline,gl:this.gl}):(Gw.error("unsupported transition type '".concat(n.type,"'"))(),r=!1)}(r||e.needsRedraw())&&(this.needsRedraw=!0,this.transitions[t].start(n,this.numInstances))}}const JO="attributeManager.invalidate";class tT{constructor(t,{id:e="attribute-manager",stats:n,timeline:i}={}){this.id=e,this.gl=t,this.attributes={},this.updateTriggers={},this.accessors={},this.needsRedraw=!0,this.userData={},this.stats=n,this.attributeTransitionManager=new ZO(t,{id:"".concat(e,"-transitions"),timeline:i}),Object.seal(this)}finalize(){for(const t in this.attributes)this.attributes[t].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(t={clearRedrawFlags:!1}){const e=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!t.clearRedrawFlags,e&&this.id}setNeedsRedraw(t=!0){return this.needsRedraw=!0,this}add(t,e){this._add(t,e)}addInstanced(t,e){this._add(t,e,{instanced:1})}remove(t){for(let e=0;e{t[n]||(t[n]=[]),t[n].push(e)});this.updateTriggers=t}_invalidateTrigger(t,e){const{attributes:n,updateTriggers:i}=this,r=i[t];return r&&r.forEach(t=>{const i=n[t];i&&i.setNeedsUpdate(i.id,e)}),r}_updateAttribute(t){const{attribute:e,numInstances:n}=t;tE("attribute.updateStart",e),e.allocate(n)&&tE("attribute.allocate",e,n),e.updateBuffer(t)&&(this.needsRedraw=!0,tE("attribute.updateEnd",e,n))}}function eT(t,e,n,i,r){const s=e-t;return(n-e)*r+-s*i+s+e}function nT(t,e){if(Array.isArray(t)){let n=0;for(let i=0;i0}add(t,e,n,i){const{transitions:r}=this;if(r.has(t)){const n=r.get(t),{value:i=n.settings.fromValue}=n;e=i,this.remove(t)}if(!(i=WC(i)))return;const s=iT[i.type];if(!s)return void Gw.error("unsupported transition type '".concat(i.type,"'"))();const o=new s(this.timeline);o.start(zn(yt({},i),{fromValue:e,toValue:n})),r.set(t,o)}remove(t){const{transitions:e}=this;e.has(t)&&(e.get(t).cancel(),e.delete(t))}update(){const t={};for(const[e,n]of this.transitions)n.update(),t[e]=n.value,n.inProgress||this.remove(e);return t}clear(){for(const t of this.transitions.keys())this.remove(t)}}const sT={COMPONENT:Symbol.for("component"),ASYNC_DEFAULTS:Symbol.for("asyncPropDefaults"),ASYNC_ORIGINAL:Symbol.for("asyncPropOriginal"),ASYNC_RESOLVED:Symbol.for("asyncPropResolved")},{COMPONENT:oT}=sT;function aT(t,e){if(!t.transitions)return null;const n={},i=dT(t);for(const r in t.transitions){const s=i[r],o=s&&s.type;("number"===o||"color"===o||"array"===o)&&cT(t[r],e[r],s)&&(n[r]=!0)}return n}function lT({newProps:t,oldProps:e,ignoreProps:n={},propTypes:i={},triggerName:r="props"}={}){if(e===t)return null;if("object"!=typeof t||null===t||"object"!=typeof e||null===e)return"".concat(r," changed shallowly");for(const s of Object.keys(t))if(!(s in n)){if(!(s in e))return"".concat(r,".").concat(s," added");const n=cT(t[s],e[s],i[s]);if(n)return"".concat(r,".").concat(s," ").concat(n)}for(const s of Object.keys(e))if(!(s in n)){if(!(s in t))return"".concat(r,".").concat(s," dropped");if(!Object.hasOwnProperty.call(t,s)){const n=cT(t[s],e[s],i[s]);if(n)return"".concat(r,".").concat(s," ").concat(n)}}return null}function cT(t,e,n){let i=n&&n.equal;return i&&!i(t,e,n)||!i&&(i=t&&e&&t.equals,i&&!i.call(t,e))?"changed deeply":i||e===t?null:"changed shallowly"}function uT(t,e){if(null===e)return"oldProps is null, initial diff";const n=e.extensions,{extensions:i}=t;if(i===n)return!1;if(i.length!==n.length)return!0;for(let r=0;r{for(const r in i)if(!pT(i[r],n[r])){e=t(i),n=i;break}return e}}function gT(t,e){if(!e)return t;const n=yt(yt({},t),e);if("defines"in e&&(n.defines=yt(yt({},t.defines),e.defines)),"modules"in e&&(n.modules=(t.modules||[]).concat(e.modules),e.modules.some(t=>"project64"===t.name))){const t=n.modules.findIndex(t=>"project32"===t.name);t>=0&&n.modules.splice(t,1)}if("inject"in e)if(t.inject){const i=yt({},t.inject);for(const t in e.inject)i[t]=(i[t]||"")+e.inject[t];n.inject=i}else n.inject=e.inject;return n}function mT(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],d=e[10],p=e[11],f=e[12],g=e[13],m=e[14],b=e[15],y=n*a-i*o,v=n*l-r*o,_=n*c-s*o,w=i*l-r*a,x=i*c-s*a,S=r*c-s*l,C=u*g-h*f,E=u*m-d*f,O=u*b-p*f,T=h*m-d*g,k=h*b-p*g,P=d*b-p*m,A=y*P-v*k+_*T+w*O-x*E+S*C;return A?(t[0]=(a*P-l*k+c*T)*(A=1/A),t[1]=(r*k-i*P-s*T)*A,t[2]=(g*S-m*x+b*w)*A,t[3]=(d*x-h*S-p*w)*A,t[4]=(l*O-o*P-c*E)*A,t[5]=(n*P-r*O+s*E)*A,t[6]=(m*_-f*S-b*v)*A,t[7]=(u*S-d*_+p*v)*A,t[8]=(o*k-a*O+c*C)*A,t[9]=(i*O-n*k-s*C)*A,t[10]=(f*x-g*_+b*y)*A,t[11]=(h*_-u*x-p*y)*A,t[12]=(a*E-o*T-l*C)*A,t[13]=(n*T-i*E+r*C)*A,t[14]=(g*v-f*w-m*y)*A,t[15]=(u*w-h*v+d*y)*A,t):null}function bT(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=e[9],p=e[10],f=e[11],g=e[12],m=e[13],b=e[14],y=e[15],v=n[0],_=n[1],w=n[2],x=n[3];return t[0]=v*i+_*a+w*h+x*g,t[1]=v*r+_*l+w*d+x*m,t[2]=v*s+_*c+w*p+x*b,t[3]=v*o+_*u+w*f+x*y,t[4]=(v=n[4])*i+(_=n[5])*a+(w=n[6])*h+(x=n[7])*g,t[5]=v*r+_*l+w*d+x*m,t[6]=v*s+_*c+w*p+x*b,t[7]=v*o+_*u+w*f+x*y,t[8]=(v=n[8])*i+(_=n[9])*a+(w=n[10])*h+(x=n[11])*g,t[9]=v*r+_*l+w*d+x*m,t[10]=v*s+_*c+w*p+x*b,t[11]=v*o+_*u+w*f+x*y,t[12]=(v=n[12])*i+(_=n[13])*a+(w=n[14])*h+(x=n[15])*g,t[13]=v*r+_*l+w*d+x*m,t[14]=v*s+_*c+w*p+x*b,t[15]=v*o+_*u+w*f+x*y,t}function yT(t,e,n){var i,r,s,o,a,l,c,u,h,d,p,f,g=n[0],m=n[1],b=n[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*b+e[12],t[13]=e[1]*g+e[5]*m+e[9]*b+e[13],t[14]=e[2]*g+e[6]*m+e[10]*b+e[14],t[15]=e[3]*g+e[7]*m+e[11]*b+e[15]):(r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=e[9],p=e[10],f=e[11],t[0]=i=e[0],t[1]=r,t[2]=s,t[3]=o,t[4]=a,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=d,t[10]=p,t[11]=f,t[12]=i*g+a*m+h*b+e[12],t[13]=r*g+l*m+d*b+e[13],t[14]=s*g+c*m+p*b+e[14],t[15]=o*g+u*m+f*b+e[15]),t}function vT(t,e,n){var i=n[0],r=n[1],s=n[2];return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=e[3]*i,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function _T(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],d=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=s*r+c*i,t[5]=o*r+u*i,t[6]=a*r+h*i,t[7]=l*r+d*i,t[8]=c*r-s*i,t[9]=u*r-o*i,t[10]=h*r-a*i,t[11]=d*r-l*i,t}function wT(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[0],o=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],d=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*r+c*i,t[1]=o*r+u*i,t[2]=a*r+h*i,t[3]=l*r+d*i,t[4]=c*r-s*i,t[5]=u*r-o*i,t[6]=h*r-a*i,t[7]=d*r-l*i,t}function xT(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t}function ST(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3];return t[0]=n[0]*i+n[4]*r+n[8]*s+n[12]*o,t[1]=n[1]*i+n[5]*r+n[9]*s+n[13]*o,t[2]=n[2]*i+n[6]*r+n[10]*s+n[14]*o,t[3]=n[3]*i+n[7]*r+n[11]*s+n[15]*o,t}function CT(t,e,n){var i=e[0],r=e[1],s=e[2],o=n[0],a=n[1],l=n[2],c=n[3],u=c*i+a*s-l*r,h=c*r+l*i-o*s,d=c*s+o*r-a*i,p=-o*i-a*r-l*s;return t[0]=u*c+p*-o+h*-l-d*-a,t[1]=h*c+p*-a+d*-o-u*-l,t[2]=d*c+p*-l+u*-a-h*-o,t[3]=e[3],t}!function(){var t=new hC(4);hC!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();const ET=[0,0,0,0],OT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],TT=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],kT=[0,0,0],PT=[0,0,0],AT=fT(function({viewport:t,devicePixelRatio:e,coordinateSystem:n,coordinateOrigin:i}){const{projectionCenter:r,viewProjectionMatrix:s,originCommon:o,cameraPosCommon:a,shaderCoordinateOrigin:l,geospatialOrigin:c}=function(t,e,n){const{viewMatrixUncentered:i,projectionMatrix:r}=t;let{viewMatrix:s,viewProjectionMatrix:o}=t,a=ET,l=ET,c=t.cameraPosition;const{geospatialOrigin:u,shaderCoordinateOrigin:h,offsetMode:d}=MT(t,e,n);return d&&(l=t.projectPosition(u||h),c=[c[0]-l[0],c[1]-l[1],c[2]-l[2]],l[3]=1,a=ST([],l,o),s=i||s,o=bT([],r,s),o=bT([],o,OT)),{viewMatrix:s,viewProjectionMatrix:o,projectionCenter:a,originCommon:l,cameraPosCommon:c,shaderCoordinateOrigin:h,geospatialOrigin:u}}(t,n,i),u=t.getDistanceScales(),h=[t.width*e,t.height*e],d=t.projectionMatrix.transform([0,0,-t.focalDistance,1])[3]||1,p={project_uCoordinateSystem:n,project_uProjectionMode:t.projectionMode,project_uCoordinateOrigin:l,project_uCommonOrigin:o.slice(0,3),project_uCenter:r,project_uViewportSize:h,project_uDevicePixelRatio:e,project_uFocalDistance:d,project_uCommonUnitsPerMeter:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit:u.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:kT,project_uScale:t.scale,project_uViewProjectionMatrix:s,project_uCameraPosition:a};if(c){const e=t.getDistanceScales(c);switch(n){case Ww.METER_OFFSETS:p.project_uCommonUnitsPerWorldUnit=e.unitsPerMeter,p.project_uCommonUnitsPerWorldUnit2=e.unitsPerMeter2;break;case Ww.LNGLAT:case Ww.LNGLAT_OFFSETS:p.project_uCommonUnitsPerWorldUnit=e.unitsPerDegree,p.project_uCommonUnitsPerWorldUnit2=e.unitsPerDegree2;break;case Ww.CARTESIAN:p.project_uCommonUnitsPerWorldUnit=[1,1,e.unitsPerMeter[2]],p.project_uCommonUnitsPerWorldUnit2=[0,0,e.unitsPerMeter2[2]]}}return p});function MT(t,e,n=PT){let i,r=n,s=!0;switch(i=e===Ww.LNGLAT_OFFSETS||e===Ww.METER_OFFSETS?n:t.isGeospatial?[Math.fround(t.longitude),Math.fround(t.latitude),0]:null,t.projectionMode){case qw.WEB_MERCATOR:(e===Ww.LNGLAT||e===Ww.CARTESIAN)&&(s=!1);break;case qw.WEB_MERCATOR_AUTO_OFFSET:e===Ww.LNGLAT?r=i:e===Ww.CARTESIAN&&(r=[Math.fround(t.center[0]),Math.fround(t.center[1]),0],i=t.unprojectPosition(r),r[0]-=n[0],r[1]-=n[1],r[2]-=n[2]);break;case qw.IDENTITY:r=t.position.map(Math.fround);break;case qw.GLOBE:s=!1,i=null;break;default:s=!1}return r[2]=r[2]||0,{geospatialOrigin:i,shaderCoordinateOrigin:r,offsetMode:s}}class IT extends rC{get ELEMENTS(){return iC(!1),0}get RANK(){return iC(!1),0}toString(){let t="[";if(YS.printRowMajor){t+="row-major:";for(let e=0;e2*Math.PI)throw Error("radians");const s=n*Math.tan(t/2),o=s*e;return(new VT).ortho({left:-o,right:o,bottom:-s,top:s,near:i,far:r})}perspective({fovy:t,fov:e=45*Math.PI/180,aspect:n=1,near:i=.1,far:r=500}={}){if((t=t||e)>2*Math.PI)throw Error("radians");return function(t,e,n,i,r){var s,o=1/Math.tan(e/2);t[0]=o/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=r&&r!==1/0?(t[10]=(r+i)*(s=1/(i-r)),t[14]=2*r*i*s):(t[10]=-1,t[14]=-2*i)}(this,t,n,i,r),this.check()}determinant(){return function(t){var e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],o=t[5],a=t[6],l=t[7],c=t[8],u=t[9],h=t[10],d=t[11],p=t[12],f=t[13],g=t[14],m=t[15];return(e*o-n*s)*(h*m-d*g)-(e*a-i*s)*(u*m-d*f)+(e*l-r*s)*(u*g-h*f)+(n*a-i*o)*(c*m-d*p)-(n*l-r*o)*(c*g-h*p)+(i*l-r*a)*(c*f-u*p)}(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],e=null){const n=this.getScale(e||[-0,-0,-0]),i=1/n[0],r=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*r,t[2]=this[2]*s,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*r,t[6]=this[6]*s,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*r,t[10]=this[10]*s,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t=[-0,-0,-0,-0,-0,-0,-0,-0,-0],e=null){const n=this.getScale(e||[-0,-0,-0]),i=1/n[0],r=1/n[1],s=1/n[2];return t[0]=this[0]*i,t[1]=this[1]*r,t[2]=this[2]*s,t[3]=this[4]*i,t[4]=this[5]*r,t[5]=this[6]*s,t[6]=this[8]*i,t[7]=this[9]*r,t[8]=this[10]*s,t}transpose(){return function(t,e){if(t===e){var n=e[1],i=e[2],r=e[3],s=e[6],o=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=s,t[11]=e[14],t[12]=r,t[13]=o,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15]}(this,this),this.check()}invert(){return mT(this,this),this.check()}multiplyLeft(t){return bT(this,t,this),this.check()}multiplyRight(t){return bT(this,this,t),this.check()}rotateX(t){return _T(this,this,t),this.check()}rotateY(t){return function(t,e,n){var i=Math.sin(n),r=Math.cos(n),s=e[0],o=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],d=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*r-c*i,t[1]=o*r-u*i,t[2]=a*r-h*i,t[3]=l*r-d*i,t[8]=s*i+c*r,t[9]=o*i+u*r,t[10]=a*i+h*r,t[11]=l*i+d*r}(this,this,t),this.check()}rotateZ(t){return wT(this,this,t),this.check()}rotateXYZ([t,e,n]){return this.rotateX(t).rotateY(e).rotateZ(n)}rotateAxis(t,e){return function(t,e,n,i){var r,s,o,a,l,c,u,h,d,p,f,g,m,b,y,v,_,w,x,S,C,E,O,T,k=i[0],P=i[1],A=i[2],M=Math.hypot(k,P,A);Mn?n:t}const $T=Math.log2||function(t){return Math.log(t)*Math.LOG2E};function GT(t,e){if(!t)throw new Error(e||"@math.gl/web-mercator: assertion failed.")}const WT=Math.PI,qT=WT/4,XT=WT/180,KT=180/WT,QT=4003e4,ZT=85.051129;function JT([t,e]){return GT(Number.isFinite(t)),GT(Number.isFinite(e)&&e>=-90&&e<=90,"invalid latitude"),[512*(t*XT+WT)/(2*WT),512*(WT+Math.log(Math.tan(qT+e*XT*.5)))/(2*WT)]}function tk([t,e]){const n=t/512*(2*WT)-WT,i=2*(Math.atan(Math.exp(e/512*(2*WT)-WT))-qT);return[n*KT,i*KT]}function ek({latitude:t,longitude:e,highPrecision:n=!1}){GT(Number.isFinite(t)&&Number.isFinite(e));const i={},r=Math.cos(t*XT),s=512/360,o=s/r,a=512/QT/r;if(i.unitsPerMeter=[a,a,a],i.metersPerUnit=[1/a,1/a,1/a],i.unitsPerDegree=[s,o,a],i.degreesPerUnit=[1/s,1/o,1/a],n){const e=XT*Math.tan(t*XT)/r,n=512/QT*e,l=n/o*a;i.unitsPerDegree2=[0,s*e/2,n],i.unitsPerMeter2=[l,0,l]}return i}function nk(t,e){const[n,i,r]=t,[s,o,a]=e,{unitsPerMeter:l,unitsPerMeter2:c}=ek({longitude:n,latitude:i,highPrecision:!0}),u=JT(t);u[0]+=s*(l[0]+c[0]*o),u[1]+=o*(l[1]+c[1]*o);const h=tk(u),d=(r||0)+(a||0);return Number.isFinite(r)||Number.isFinite(a)?[h[0],h[1],d]:h}function ik(t){return 2*Math.atan(.5/t)*KT}function rk(t,e){const[n,i,r=0]=t;return GT(Number.isFinite(n)&&Number.isFinite(i)&&Number.isFinite(r)),zT(e,[n,i,r,1])}function sk(t,e,n=0){const[i,r,s]=t;if(GT(Number.isFinite(i)&&Number.isFinite(r),"invalid pixel coordinate"),Number.isFinite(s))return zT(e,[i,r,s,1]);const o=zT(e,[i,r,0,1]),a=zT(e,[i,r,1,1]),l=o[2],c=a[2];return NT([],o,a,l===c?0:((n||0)-l)/(c-l))}const ok=Math.PI/180;function ak(t,e,n){const{pixelUnprojectionMatrix:i}=t,r=zT(i,[e,0,1,1]),s=zT(i,[e,t.height,1,1]),o=tk(NT([],r,s,(n*t.distanceScales.unitsPerMeter[2]-r[2])/(s[2]-r[2])));return o[2]=n,o}const lk=Math.PI/180,ck=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],uk=[0,0,0],hk={unitsPerMeter:[1,1,1],metersPerUnit:[1,1,1]};let dk=(()=>{class t{constructor(t={}){const{id:e=null,x:n=0,y:i=0,width:r=1,height:s=1}=t;this.id=e||this.constructor.displayName||"viewport",this.x=n,this.y=i,this.width=r||1,this.height=s||1,this._frustumPlanes={},this._initViewMatrix(t),this._initProjectionMatrix(t),this._initPixelMatrices(),this.equals=this.equals.bind(this),this.project=this.project.bind(this),this.unproject=this.unproject.bind(this),this.projectPosition=this.projectPosition.bind(this),this.unprojectPosition=this.unprojectPosition.bind(this),this.projectFlat=this.projectFlat.bind(this),this.unprojectFlat=this.unprojectFlat.bind(this)}get metersPerPixel(){return this.distanceScales.metersPerUnit[2]/this.scale}get projectionMode(){return this.isGeospatial?this.zoom<12?qw.WEB_MERCATOR:qw.WEB_MERCATOR_AUTO_OFFSET:qw.IDENTITY}equals(e){return e instanceof t&&(this===e||e.width===this.width&&e.height===this.height&&e.scale===this.scale&&nC(e.projectionMatrix,this.projectionMatrix)&&nC(e.viewMatrix,this.viewMatrix))}project(t,{topLeft:e=!0}={}){const n=rk(this.projectPosition(t),this.pixelProjectionMatrix),[i,r]=n,s=e?r:this.height-r;return 2===t.length?[i,s]:[i,s,n[2]]}unproject(t,{topLeft:e=!0,targetZ:n}={}){const[i,r,s]=t,o=sk([i,e?r:this.height-r,s],this.pixelUnprojectionMatrix,n&&n*this.distanceScales.unitsPerMeter[2]),[a,l,c]=this.unprojectPosition(o);return Number.isFinite(s)?[a,l,c]:Number.isFinite(n)?[a,l,n]:[a,l]}projectPosition(t){const[e,n]=this.projectFlat(t);return[e,n,(t[2]||0)*this.distanceScales.unitsPerMeter[2]]}unprojectPosition(t){const[e,n]=this.unprojectFlat(t);return[e,n,(t[2]||0)*this.distanceScales.metersPerUnit[2]]}projectFlat(t){return this.isGeospatial?JT(t):t}unprojectFlat(t){return this.isGeospatial?tk(t):t}getBounds(t={}){const e={targetZ:t.z||0},n=this.unproject([0,0],e),i=this.unproject([this.width,0],e),r=this.unproject([0,this.height],e),s=this.unproject([this.width,this.height],e);return[Math.min(n[0],i[0],r[0],s[0]),Math.min(n[1],i[1],r[1],s[1]),Math.max(n[0],i[0],r[0],s[0]),Math.max(n[1],i[1],r[1],s[1])]}getDistanceScales(t=null){return t?ek({longitude:t[0],latitude:t[1],highPrecision:!0}):this.distanceScales}containsPixel({x:t,y:e,width:n=1,height:i=1}){return t{class t extends dk{constructor(t={}){const{latitude:e=0,longitude:n=0,zoom:i=11,pitch:r=0,bearing:s=0,nearZMultiplier:o=.1,farZMultiplier:a=1.01,orthographic:l=!1,repeat:c=!1,worldOffset:u=0}=t;let{width:h,height:d,altitude:p=1.5}=t;const f=Math.pow(2,i);h=h||1,d=d||1,p=Math.max(.75,p);const{fov:g,aspect:m,focalDistance:b,near:y,far:v}=function({width:t,height:e,fovy:n=ik(1.5),altitude:i,pitch:r=0,nearZMultiplier:s=1,farZMultiplier:o=1}){void 0!==i&&(n=ik(i));const a=.5*n*XT,l=function(t){return.5/Math.tan(.5*t*XT)}(n),c=r*XT,u=Math.sin(a)*l/Math.sin(Math.min(Math.max(Math.PI/2-c-a,.01),Math.PI-.01));return{fov:2*a,aspect:t/e,focalDistance:l,near:s,far:(Math.sin(c)*u+l)*o}}({width:h,height:d,pitch:r,altitude:p,nearZMultiplier:o,farZMultiplier:a});let _=function({height:t,pitch:e,bearing:n,altitude:i,scale:r,center:s=null}){const o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return yT(o,o,[0,0,-i]),_T(o,o,-e*XT),wT(o,o,n*XT),vT(o,o,[r/=t,r,r]),s&&yT(o,o,function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}([],s)),o}({height:d,pitch:r,bearing:s,scale:f,altitude:p});u&&(_=(new VT).translate([512*u,0,0]).multiplyLeft(_)),super(zn(yt({},t),{width:h,height:d,viewMatrix:_,longitude:n,latitude:e,zoom:i,orthographic:l,fovyRadians:g,aspect:m,focalDistance:b,near:y,far:v})),this.latitude=e,this.longitude=n,this.zoom=i,this.pitch=r,this.bearing=s,this.altitude=p,this.orthographic=l,this._subViewports=c?[]:null,Object.freeze(this)}get subViewports(){if(this._subViewports&&!this._subViewports.length){const e=this.getBounds(),n=Math.floor((e[0]+180)/360),i=Math.ceil((e[2]-180)/360);for(let r=n;r<=i;r++){const e=r?new t(zn(yt({},this),{worldOffset:r})):this;this._subViewports.push(e)}}return this._subViewports}addMetersToLngLat(t,e){return nk(t,e)}panByPosition(t,e){const n=sk(e,this.pixelUnprojectionMatrix),i=DT([],this.projectFlat(t),RT([],n)),r=DT([],this.center,i),[s,o]=this.unprojectFlat(r);return{longitude:s,latitude:o}}getBounds(t={}){const e=function(t,e=0){const{width:n,height:i,unproject:r}=t,s={targetZ:e},o=r([0,i],s),a=r([n,i],s);let l,c;return(t.fovy?.5*t.fovy*ok:Math.atan(.5/t.altitude))>(90-t.pitch)*ok-.01?(l=ak(t,0,e),c=ak(t,n,e)):(l=r([0,0],s),c=r([n,0],s)),[o,a,c,l]}(this,t.z||0);return[Math.min(e[0][0],e[1][0],e[2][0],e[3][0]),Math.min(e[0][1],e[1][1],e[2][1],e[3][1]),Math.max(e[0][0],e[1][0],e[2][0],e[3][0]),Math.max(e[0][1],e[1][1],e[2][1],e[3][1])]}fitBounds(e,n={}){const{width:i,height:r}=this,{longitude:s,latitude:o,zoom:a}=function({width:t,height:e,bounds:n,minExtent:i=0,maxZoom:r=24,padding:s=0,offset:o=[0,0]}){const[[a,l],[c,u]]=n;Number.isFinite(s)?s={top:s,bottom:s,left:s,right:s}:GT(Number.isFinite(s.top)&&Number.isFinite(s.bottom)&&Number.isFinite(s.left)&&Number.isFinite(s.right));const h=JT([a,HT(u,-ZT,ZT)]),d=JT([c,HT(l,-ZT,ZT)]),p=[Math.max(Math.abs(d[0]-h[0]),i),Math.max(Math.abs(d[1]-h[1]),i)],f=[t-s.left-s.right-2*Math.abs(o[0]),e-s.top-s.bottom-2*Math.abs(o[1])];GT(f[0]>0&&f[1]>0);const g=f[0]/p[0],m=f[1]/p[1],b=tk([(d[0]+h[0])/2+(s.right-s.left)/2/g,(d[1]+h[1])/2+(s.bottom-s.top)/2/m]),y=Math.min(r,$T(Math.abs(Math.min(g,m))));return GT(Number.isFinite(y)),{longitude:b[0],latitude:b[1],zoom:y}}(yt({width:i,height:r,bounds:e},n));return new t({width:i,height:r,longitude:s,latitude:o,zoom:a})}}return t.displayName="WebMercatorViewport",t})();function fk(t,e,n=!1){const i=e.projectPosition(t);if(n&&e instanceof pk){const[n,r,s=0]=t,o=e.getDistanceScales([n,r]);i[2]=s*o.unitsPerMeter[2]}return i}function gk(t,{viewport:e,modelMatrix:n,coordinateSystem:i,coordinateOrigin:r,offsetMode:s}){let[o,a,l=0]=t;switch(n&&([o,a,l]=ST([],[o,a,l,1],n)),i){case Ww.LNGLAT:return fk([o,a,l],e,s);case Ww.LNGLAT_OFFSETS:return fk([o+r[0],a+r[1],l+(r[2]||0)],e,s);case Ww.METER_OFFSETS:return fk(nk(r,[o,a,l]),e,s);case Ww.CARTESIAN:default:return e.isGeospatial?[o+r[0],a+r[1],l+r[2]]:e.projectPosition([o,a,l])}}const mk={10241:9987,10240:9729,10242:33071,10243:33071},bk={},yk={boolean:{validate:(t,e)=>!0,equal:(t,e,n)=>Boolean(t)===Boolean(e)},number:{validate:(t,e)=>Number.isFinite(t)&&(!("max"in e)||t<=e.max)&&(!("min"in e)||t>=e.min)},color:{validate:(t,e)=>e.optional&&!t||xk(t)&&(3===t.length||4===t.length),equal:(t,e,n)=>vk(t,e)},accessor:{validate(t,e){const n=Sk(t);return"function"===n||n===Sk(e.value)},equal:(t,e,n)=>"function"==typeof e||vk(t,e)},array:{validate:(t,e)=>e.optional&&!t||xk(t),equal:(t,e,n)=>n.compare?vk(t,e):t===e},function:{validate:(t,e)=>e.optional&&!t||"function"==typeof t,equal:(t,e,n)=>!n.compare||t===e},data:{transform:(t,e,n)=>{const{dataTransform:i}=n?n.props:{};return i&&t?i(t):t}},image:{transform:(t,e,n)=>function(t,e){const n=t.context&&t.context.gl;if(!n||!e)return null;if(e instanceof xS)return e;e.constructor&&"Object"!==e.constructor.name&&(e={data:e});let i=null;e.compressed&&(i={10241:e.data.length>1?9985:9729});const r=new xS(n,zn(yt({},e),{parameters:yt(yt(yt({},mk),i),t.props.textureParameters)}));return bk[r.id]=!0,r}(n,t),release:t=>{!function(t){!t||!(t instanceof xS)||bk[t.id]&&(t.delete(),delete bk[t.id])}(t)}}};function vk(t,e){if(t===e)return!0;if(!xk(t)||!xk(e))return!1;const n=t.length;if(n!==e.length)return!1;for(let i=0;i{},this.oldProps=jk,this.oldAsyncProps=null}finalize(){for(const t in this.asyncProps){const e=this.asyncProps[t];e.type&&e.type.release&&e.type.release(e.resolvedValue,e.type,this.component)}}getOldProps(){return this.oldAsyncProps||this.oldProps}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component.props}freezeAsyncOldProps(){if(!this.oldAsyncProps){this.oldProps=this.oldProps||this.component.props,this.oldAsyncProps=Object.create(this.oldProps);for(const t in this.asyncProps)Object.defineProperty(this.oldAsyncProps,t,{enumerable:!0,value:this.oldProps[t]})}}hasAsyncProp(t){return t in this.asyncProps}getAsyncProp(t){const e=this.asyncProps[t];return e&&e.resolvedValue}isAsyncPropLoading(t){if(t){const e=this.asyncProps[t];return Boolean(e&&e.pendingLoadCount>0&&e.pendingLoadCount!==e.resolvedLoadCount)}for(const e in this.asyncProps)if(this.isAsyncPropLoading(e))return!0;return!1}reloadAsyncProp(t,e){this._watchPromise(t,Promise.resolve(e))}setAsyncProps(t){const e=t[Nk]||{},n=t[Rk]||t,i=t[Lk]||{};for(const r in e){const t=e[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,t),e[r]=this.getAsyncProp(r)}for(const r in n){const t=n[r];this._createAsyncPropData(r,i[r]),this._updateAsyncProp(r,t)}}_updateAsyncProp(t,e){if(this._didAsyncInputValueChange(t,e)){if("string"==typeof e){var n;const i=null===(n=this.layer)||void 0===n?void 0:n.props.fetch;i&&(e=i(e,{propName:t,layer:this.layer}))}if(e instanceof Promise)return void this._watchPromise(t,e);if(FC(e))return void this._resolveAsyncIterable(t,e);this._setPropValue(t,e)}}_didAsyncInputValueChange(t,e){const n=this.asyncProps[t];return e!==n.resolvedValue&&e!==n.lastValue&&(n.lastValue=e,!0)}_setPropValue(t,e){const n=this.asyncProps[t];e=this._postProcessValue(n,e),n.resolvedValue=e,n.pendingLoadCount++,n.resolvedLoadCount=n.pendingLoadCount}_setAsyncPropValue(t,e,n){const i=this.asyncProps[t];i&&n>=i.resolvedLoadCount&&void 0!==e&&(this.freezeAsyncOldProps(),i.resolvedValue=e,i.resolvedLoadCount=n,this.onAsyncPropUpdated(t,e))}_watchPromise(t,e){const n=this.asyncProps[t];n.pendingLoadCount++;const i=n.pendingLoadCount;e.then(e=>{var r;e=this._postProcessValue(n,e),this._setAsyncPropValue(t,e,i);const s=null===(r=this.layer)||void 0===r?void 0:r.props.onDataLoad;"data"===t&&s&&s(e,{propName:t,layer:this.layer})}).catch(e=>{var n;null===(n=this.layer)||void 0===n||n.raiseError(e,"loading ".concat(t," of ").concat(this.layer))})}_resolveAsyncIterable(t,e){var n=this;return PS(function*(){var i;"data"!==t&&n._setPropValue(t,e);const r=n.asyncProps[t];r.pendingLoadCount++;const s=r.pendingLoadCount;let o=[],a=0;var l,c=!0,u=!1;try{for(var h,d,p=Dk(e);c=(h=yield p.next()).done,d=yield h.value,!c;c=!0){const e=d,{dataTransform:i}=n.component?n.component.props:{};o=i?i(e,o):o.concat(e),Object.defineProperty(o,"__diff",{enumerable:!1,value:[{startRow:a,endRow:o.length}]}),a=o.length,n._setAsyncPropValue(t,o,s)}}catch(g){u=!0,l=g}finally{try{!c&&null!=p.return&&(yield p.return())}finally{if(u)throw l}}const f=null===(i=n.layer)||void 0===i?void 0:i.props.onDataLoad;f&&f(o,{propName:t,layer:n.layer})})()}_postProcessValue(t,e){const n=t.type;return n&&(n.release&&n.release(t.resolvedValue,n,this.component),n.transform)?n.transform(e,n,this.component):e}_createAsyncPropData(t,e){if(!this.asyncProps[t]){const n=this.component&&this.component.constructor._propTypes;this.asyncProps[t]={type:n&&n[t],lastValue:null,resolvedValue:e,pendingLoadCount:0,resolvedLoadCount:0}}}}const{ASYNC_ORIGINAL:Bk,ASYNC_RESOLVED:Vk,ASYNC_DEFAULTS:zk}=sT,Uk={};let Hk=0,$k=(()=>{class t{constructor(){this.props=kk.apply(this,arguments),this.id=this.props.id,this.count=Hk++,this.lifecycle="Awaiting state",this.parent=null,this.context=null,this.state=null,this.internalState=null,Object.seal(this)}clone(t){const{props:e}=this,n={};for(const i in e[zk])i in e[Vk]?n[i]=e[Vk][i]:i in e[Bk]&&(n[i]=e[Bk][i]);return new this.constructor(yt(yt(yt({},e),n),t))}get stats(){return this.internalState.stats}_initState(){this.internalState=new Fk({})}}return t.componentName="Component",t.defaultProps=Uk,t})();class Gk extends Fk{constructor({attributeManager:t,layer:e}){super(e),this.attributeManager=t,this.model=null,this.needsRedraw=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}set layer(t){this.component=t}}const Wk=t=>"function"==typeof t,qk=t=>null!==t&&"object"==typeof t,Yk=t=>qk(t)&&t.constructor==={}.constructor,Xk=t=>t&&"function"==typeof t[Symbol.iterator],Kk=t=>t&&"function"==typeof t[Symbol.asyncIterator],Qk=t=>"undefined"!=typeof Response&&t instanceof Response||t&&t.arrayBuffer&&t.text&&t.json,Zk=t=>"undefined"!=typeof Blob&&t instanceof Blob,Jk=t=>(t=>"undefined"!=typeof ReadableStream&&t instanceof ReadableStream||qk(t)&&Wk(t.tee)&&Wk(t.cancel)&&Wk(t.getReader))(t)||(t=>qk(t)&&Wk(t.read)&&Wk(t.pipe)&&(t=>"boolean"==typeof t)(t.readable))(t);function tP(t,e){if(!t)throw new Error(e||"loader assertion failed.")}function eP(t){var e;return!!t&&(Array.isArray(t)&&(t=t[0]),Array.isArray(null===(e=t)||void 0===e?void 0:e.extensions))}function nP(t){var e,n;let i;return tP(t,"null loader"),tP(eP(t),"invalid loader"),Array.isArray(t)&&(i=t[1],t=zn(yt({},t=t[0]),{options:yt(yt({},t.options),i)})),(null!==(e=t)&&void 0!==e&&e.parseTextSync||null!==(n=t)&&void 0!==n&&n.parseText)&&(t.text=!0),t.text||(t.binary=!0),t}const iP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},rP=iP.global||iP.self||iP.window||{},sP="object"!=typeof process||"[object process]"!==String(process)||process.browser,oP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);oP&&parseFloat(oP[1]);const aP={};function lP(t){for(const e in aP)t.startsWith(e)&&(t=t.replace(e,aP[e]));return!t.startsWith("http://")&&!t.startsWith("https://")&&(t=`${t}`),t}const cP=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,uP=/^([-\w.]+\/[-\w.+]+)/;function hP(t){const e=uP.exec(t);return e?e[1]:t}function dP(t){const e=cP.exec(t);return e?e[1]:""}const pP=/\?.*/;function fP(t){if(Qk(t)){const e=mP(t.url||"");return{url:e,type:hP(t.headers.get("content-type")||"")||dP(e)}}return Zk(t)?{url:mP(t.name||""),type:t.type||""}:"string"==typeof t?{url:mP(t),type:dP(t)}:{url:"",type:""}}function gP(t){return Qk(t)?t.headers["content-length"]||-1:Zk(t)?t.size:"string"==typeof t?t.length:t instanceof ArrayBuffer||ArrayBuffer.isView(t)?t.byteLength:-1}function mP(t){return t.replace(pP,"")}function bP(t){return yP.apply(this,arguments)}function yP(){return(yP=PS(function*(t){if(Qk(t))return t;const e={},n=gP(t);n>=0&&(e["content-length"]=String(n));const{url:i,type:r}=fP(t);r&&(e["content-type"]=r);const s=yield SP(t);s&&(e["x-first-bytes"]=s),"string"==typeof t&&(t=(new TextEncoder).encode(t));const o=new Response(t,{headers:e});return Object.defineProperty(o,"url",{value:i}),o})).apply(this,arguments)}function vP(t){return _P.apply(this,arguments)}function _P(){return(_P=PS(function*(t){if(!t.ok){const e=yield wP(t);throw new Error(e)}})).apply(this,arguments)}function wP(t){return xP.apply(this,arguments)}function xP(){return(xP=PS(function*(t){let e=`Failed to fetch resource ${t.url} (${t.status}): `;try{const n=t.headers.get("Content-Type");let i=t.statusText;n.includes("application/json")&&(i+=` ${yield t.text()}`),e+=i,e=e.length>60?`${e.slice(60)}...`:e}catch(n){}return e})).apply(this,arguments)}function SP(t){return CP.apply(this,arguments)}function CP(){return(CP=PS(function*(t){if("string"==typeof t)return`data:,${t.slice(0,5)}`;if(t instanceof Blob){const e=t.slice(0,5);return yield new Promise(t=>{const n=new FileReader;n.onload=e=>{var n;return t(null==e||null===(n=e.target)||void 0===n?void 0:n.result)},n.readAsDataURL(e)})}return t instanceof ArrayBuffer?`data:base64,${EP(t.slice(0,5))}`:null})).apply(this,arguments)}function EP(t){let e="";const n=new Uint8Array(t);for(let i=0;i{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}}const MP={fetch:null,mimeType:void 0,nothrow:!1,log:new class{constructor(){kP(this,"console",void 0),this.console=console}log(...t){return this.console.log.bind(this.console,...t)}info(...t){return this.console.info.bind(this.console,...t)}warn(...t){return this.console.warn.bind(this.console,...t)}error(...t){return this.console.error.bind(this.console,...t)}},CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},IP={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function DP(){rP.loaders=rP.loaders||{};const{loaders:t}=rP;return t._state=t._state||{},t._state}const RP=()=>{const t=DP();return t.globalOptions=t.globalOptions||yt({},MP),t.globalOptions};function NP(t,e,n,i){return n=n||[],function(t,e){jP(t,null,MP,IP,e);for(const n of e)jP(t&&t[n.id]||{},n.id,n.options&&n.options[n.id]||{},n.deprecatedOptions&&n.deprecatedOptions[n.id]||{},e)}(t,n=Array.isArray(n)?n:[n]),function(t,e,n){const i=yt({},t.options||{});return function(t,e){e&&!("baseUri"in t)&&(t.baseUri=e)}(i,n),null===i.log&&(i.log=new AP),BP(i,RP()),BP(i,e),i}(e,t,i)}function LP(t,e){const n=RP(),i=t||n;return"function"==typeof i.fetch?i.fetch:qk(i.fetch)?t=>OP(t,i):null!=e&&e.fetch?null==e?void 0:e.fetch:OP}function jP(t,e,n,i,r){const s=e||"Top level",o=e?`${e}.`:"";for(const a in t){const l=!e&&qk(t[a]),c="baseUri"===a&&!e,u="workerUrl"===a&&e;if(!(a in n)&&!c&&!u)if(a in i)PP.warn(`${s} loader option '${o}${a}' no longer supported, use '${i[a]}'`)();else if(!l){const t=FP(a,r);PP.warn(`${s} loader option '${o}${a}' not recognized. ${t}`)()}}}function FP(t,e){const n=t.toLowerCase();let i="";for(const r of e)for(const e in r.options){if(t===e)return`Did you mean '${r.id}.${e}'?`;const s=e.toLowerCase();(n.startsWith(s)||s.startsWith(n))&&(i=i||`Did you mean '${r.id}.${e}'?`)}return i}function BP(t,e){for(const n in e)n in e&&(t[n]=Yk(e[n])&&Yk(t[n])?yt(yt({},t[n]),e[n]):e[n])}function VP(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}function zP(t,e="3.0.12"){return VP(t,"no worker provided"),!(!e||!t.version)}const UP={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},HP=UP.global||UP.self||UP.window||{},$P="object"!=typeof process||"[object process]"!==String(process)||process.browser,GP="function"==typeof importScripts,WP="undefined"!=typeof window&&void 0!==window.orientation,qP="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),YP=(qP&&parseFloat(qP[1]),new Map);function XP(t){const e=new Blob([t],{type:"application/javascript"});return URL.createObjectURL(e)}function KP(t,e=!0,n){const i=n||new Set;if(t)if(QP(t))i.add(t);else if(QP(t.buffer))i.add(t.buffer);else if(!ArrayBuffer.isView(t)&&e&&"object"==typeof t)for(const r in t)KP(t[r],e,i);return void 0===n?Array.from(i):[]}function QP(t){return!!t&&(t instanceof ArrayBuffer||"undefined"!=typeof MessagePort&&t instanceof MessagePort||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas)}const ZP=()=>{};class JP{static isSupported(){return"undefined"!=typeof Worker}constructor(t){kP(this,"name",void 0),kP(this,"source",void 0),kP(this,"url",void 0),kP(this,"terminated",!1),kP(this,"worker",void 0),kP(this,"onMessage",void 0),kP(this,"onError",void 0),kP(this,"_loadableURL","");const{name:e,source:n,url:i}=t;VP(n||i),this.name=e,this.source=n,this.url=i,this.onMessage=ZP,this.onError=t=>console.log(t),this.worker=this._createBrowserWorker()}destroy(){this.onMessage=ZP,this.onError=ZP,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(t,e){e=e||KP(t),this.worker.postMessage(t,e)}_getErrorFromErrorEvent(t){let e="Failed to load ";return e+=`worker ${this.name}. `,t.message&&(e+=`${t.message} in `),t.lineno&&(e+=`:${t.lineno}:${t.colno}`),new Error(e)}_createBrowserWorker(){this._loadableURL=function(t){VP(t.source&&!t.url||!t.source&&t.url);let e=YP.get(t.source||t.url);return e||(t.url&&(e=function(t){return t.startsWith("http")?XP(function(t){return`try {\n importScripts('${t}');\n} catch (error) {\n console.error(error);\n throw error;\n}`}(t)):t}(t.url),YP.set(t.url,e)),t.source&&(e=XP(t.source),YP.set(t.source,e))),VP(e),e}({source:this.source,url:this.url});const t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},t.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},t.onmessageerror=t=>console.error(t),t}}class tA{constructor(t,e){kP(this,"name",void 0),kP(this,"workerThread",void 0),kP(this,"isRunning",void 0),kP(this,"result",void 0),kP(this,"_resolve",void 0),kP(this,"_reject",void 0),this.name=t,this.workerThread=e,this.isRunning=!0,this._resolve=()=>{},this._reject=()=>{},this.result=new Promise((t,e)=>{this._resolve=t,this._reject=e})}postMessage(t,e){this.workerThread.postMessage({source:"loaders.gl",type:t,payload:e})}done(t){VP(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){VP(this.isRunning),this.isRunning=!1,this._reject(t)}}class eA{constructor(t){kP(this,"name","unnamed"),kP(this,"source",void 0),kP(this,"url",void 0),kP(this,"maxConcurrency",1),kP(this,"maxMobileConcurrency",1),kP(this,"onDebug",()=>{}),kP(this,"reuseWorkers",!0),kP(this,"props",{}),kP(this,"jobQueue",[]),kP(this,"idleQueue",[]),kP(this,"count",0),kP(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props=yt(yt({},this.props),t),void 0!==t.name&&(this.name=t.name),void 0!==t.maxConcurrency&&(this.maxConcurrency=t.maxConcurrency),void 0!==t.maxMobileConcurrency&&(this.maxMobileConcurrency=t.maxMobileConcurrency),void 0!==t.reuseWorkers&&(this.reuseWorkers=t.reuseWorkers),void 0!==t.onDebug&&(this.onDebug=t.onDebug)}startJob(t,e=((t,e,n)=>t.done(n)),n=((t,e)=>t.error(e))){var i=this;return PS(function*(){const r=new Promise(r=>(i.jobQueue.push({name:t,onMessage:e,onError:n,onStart:r}),i));return i._startQueuedJob(),yield r})()}_startQueuedJob(){var t=this;return PS(function*(){if(!t.jobQueue.length)return;const e=t._getAvailableWorker();if(!e)return;const n=t.jobQueue.shift();if(n){t.onDebug({message:"Starting job",name:n.name,workerThread:e,backlog:t.jobQueue.length});const i=new tA(n.name,e);e.onMessage=t=>n.onMessage(i,t.type,t.payload),e.onError=t=>n.onError(i,t),n.onStart(i);try{yield i.result}finally{t.returnWorkerToQueue(e)}}})()}returnWorkerToQueue(t){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{},reuseWorkers:!0};class iA{static isSupported(){return JP.isSupported()}static getWorkerFarm(t={}){return iA._workerFarm=iA._workerFarm||new iA({}),iA._workerFarm.setProps(t),iA._workerFarm}constructor(t){kP(this,"props",void 0),kP(this,"workerPools",new Map),this.props=yt({},nA),this.setProps(t),this.workerPools=new Map}destroy(){for(const t of this.workerPools.values())t.destroy()}setProps(t){this.props=yt(yt({},this.props),t);for(const e of this.workerPools.values())e.setProps(this._getWorkerPoolProps())}getWorkerPool(t){const{name:e,source:n,url:i}=t;let r=this.workerPools.get(e);return r||(r=new eA({name:e,source:n,url:i}),r.setProps(this._getWorkerPoolProps()),this.workerPools.set(e,r)),r}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}function rA(t,e={}){const n=`${t.id}-worker.js`;let i=(e[t.id]||{}).workerUrl;if("test"===e._workerType&&(i=`modules/${t.module}/dist/${n}`),!i){let e=t.version;"latest"===e&&(e="latest"),i=`https://unpkg.com/@loaders.gl/${t.module}${e?`@${e}`:""}/dist/${n}`}return VP(i),i}function sA(t,e){return!!iA.isSupported()&&t.worker&&(null==e?void 0:e.worker)}function oA(t,e,n,i,r){return aA.apply(this,arguments)}function aA(){return(aA=PS(function*(t,e,n,i,r){const s=t.id,o=rA(t,n),a=iA.getWorkerFarm(n).getWorkerPool({name:s,url:o});n=JSON.parse(JSON.stringify(n));const l=yield a.startJob("process-on-worker",lA.bind(null,r));return l.postMessage("process",{input:e,options:n}),yield(yield l.result).result})).apply(this,arguments)}function lA(t,e,n,i){return cA.apply(this,arguments)}function cA(){return(cA=PS(function*(t,e,n,i){switch(n){case"done":e.done(i);break;case"error":e.error(i.error);break;case"process":const{id:s,input:o,options:a}=i;try{const n=yield t(o,a);e.postMessage("done",{id:s,result:n})}catch(r){const t=r instanceof Error?r.message:"unknown error";e.postMessage("error",{id:s,error:t})}break;default:console.warn(`parse-with-worker unknown message ${n}`)}})).apply(this,arguments)}kP(iA,"_workerFarm",void 0);var uA=n(9521);function hA(t){if(function(t){return t&&"object"==typeof t&&t.isBuffer}(t)&&(t=function(t){return uA.toArrayBuffer?uA.toArrayBuffer(t):t}(t)),t instanceof ArrayBuffer)return t;if(ArrayBuffer.isView(t))return 0===t.byteOffset&&t.byteLength===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength);if("string"==typeof t){const e=t;return(new TextEncoder).encode(e).buffer}if(t&&"object"==typeof t&&t._toArrayBuffer)return t._toArrayBuffer();throw new Error("toArrayBuffer")}function dA(...t){const e=t.map(t=>t instanceof ArrayBuffer?new Uint8Array(t):t),n=e.reduce((t,e)=>t+e.byteLength,0),i=new Uint8Array(n);let r=0;for(const s of e)i.set(s,r),r+=s.byteLength;return i.buffer}function pA(t,e,n){const i=void 0!==n?new Uint8Array(t).subarray(e,e+n):new Uint8Array(t).subarray(e);return new Uint8Array(i).buffer}function fA(t){return gA.apply(this,arguments)}function gA(){return(gA=PS(function*(t){const e=[];var n,i=!0,r=!1;try{for(var s,o,a=Dk(t);i=(s=yield a.next()).done,o=yield s.value,!i;i=!0)e.push(o)}catch(l){r=!0,n=l}finally{try{!i&&null!=a.return&&(yield a.return())}finally{if(r)throw n}}return dA(...e)})).apply(this,arguments)}const mA=262144;function bA(t){this.wrapped=t}function yA(t){return new bA(t)}function vA(t){var e,n;function i(e,n){try{var s=t[e](n),o=s.value,a=o instanceof bA;Promise.resolve(a?o.wrapped:o).then(function(t){a?i("return"===e?"return":"next",t):r(s.done?"return":"normal",t)},function(t){i("throw",t)})}catch(l){r("throw",l)}}function r(t,r){switch(t){case"return":e.resolve({value:r,done:!0});break;case"throw":e.reject(r);break;default:e.resolve({value:r,done:!1})}(e=e.next)?i(e.key,e.arg):n=null}this._invoke=function(t,r){return new Promise(function(s,o){var a={key:t,arg:r,resolve:s,reject:o,next:null};n?n=n.next=a:(e=n=a,i(t,r))})},"function"!=typeof t.return&&(this.return=void 0)}function _A(t){return function(){return new vA(t.apply(this,arguments))}}function wA(){return(wA=_A(function*(t,e){const n=(null==e?void 0:e.chunkSize)||1048576;let i=0;for(;it&&"object"==typeof t&&t.isBuffer)(t)&&(t=t.buffer),t instanceof ArrayBuffer){const n=t;return e.text&&!e.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(t)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(t);let n=t.buffer;const i=t.byteLength||t.length;return(0!==t.byteOffset||i!==n.byteLength)&&(n=n.slice(t.byteOffset,t.byteOffset+i)),n}throw new Error(OA)}function kA(t,e,n){return PA.apply(this,arguments)}function PA(){return(PA=PS(function*(t,e,n){const i=t instanceof ArrayBuffer||ArrayBuffer.isView(t);if("string"==typeof t||i)return TA(t,e);if(Zk(t)&&(t=yield bP(t)),Qk(t)){const n=t;return yield vP(n),e.binary?yield n.arrayBuffer():yield n.text()}if(Jk(t)&&(t=EA(t,n)),Xk(t)||Kk(t))return fA(t);throw new Error(OA)})).apply(this,arguments)}function AA(t,e,n=null){if(n)return n;const i=yt({fetch:LP(e,t)},t);return Array.isArray(i.loaders)||(i.loaders=null),i}function MA(t,e){if(!e&&t&&!Array.isArray(t))return t;let n;if(t&&(n=Array.isArray(t)?t:[t]),e&&e.loaders){const t=Array.isArray(e.loaders)?e.loaders:[e.loaders];n=n?[...n,...t]:t}return n&&n.length?n:null}const IA=()=>{const t=DP();return t.loaderRegistry=t.loaderRegistry||[],t.loaderRegistry};function DA(t){const e=IA();t=Array.isArray(t)?t:[t];for(const n of t){const t=nP(n);e.find(e=>t===e)||e.unshift(t)}}const RA=/\.([^.]+)$/;function NA(t){return LA.apply(this,arguments)}function LA(){return(LA=PS(function*(t,e=[],n,i){if(!FA(t))return null;let r=jA(t,e,zn(yt({},n),{nothrow:!0}),i);if(r)return r;if(Zk(t)&&(r=jA(t=yield t.slice(0,10).arrayBuffer(),e,n,i)),!(r||null!=n&&n.nothrow))throw new Error(BA(t));return r})).apply(this,arguments)}function jA(t,e=[],n,i){if(!FA(t))return null;if(e&&!Array.isArray(e))return nP(e);let r=[];e&&(r=r.concat(e)),null!=n&&n.ignoreRegisteredLoaders||r.push(...IA()),function(t){for(const e of t)nP(e)}(r);const s=function(t,e,n,i){const{url:r,type:s}=fP(t),o=r||(null==i?void 0:i.url);let a=null;return null!=n&&n.mimeType&&(a=VA(e,null==n?void 0:n.mimeType)),a=a||function(t,e){const n=e&&RA.exec(e),i=n&&n[1];return i?function(t,e){e=e.toLowerCase();for(const n of t)for(const t of n.extensions)if(t.toLowerCase()===e)return n;return null}(t,i):null}(e,o),a=a||VA(e,s),a=a||function(t,e){if(!e)return null;for(const n of t)if("string"==typeof e){if(zA(e,n))return n}else if(ArrayBuffer.isView(e)){if(UA(e.buffer,e.byteOffset,n))return n}else if(e instanceof ArrayBuffer&&UA(e,0,n))return n;return null}(e,t),a=a||VA(e,null==n?void 0:n.fallbackMimeType),a}(t,r,n,i);if(!(s||null!=n&&n.nothrow))throw new Error(BA(t));return s}function FA(t){return!(t instanceof Response&&204===t.status)}function BA(t){const{url:e,type:n}=fP(t);let i="No valid loader found";return t&&(i+=` data: "${function(t,e=5){return"string"==typeof t?t.slice(0,e):ArrayBuffer.isView(t)?HA(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?HA(t,0,e):""}(t)}", contentType: "${n}"`),e&&(i+=` url: ${e}`),i}function VA(t,e){for(const n of t)if(n.mimeTypes&&n.mimeTypes.includes(e)||e===`application/x.${n.id}`)return n;return null}function zA(t,e){return e.testText?e.testText(t):(Array.isArray(e.tests)?e.tests:[e.tests]).some(e=>t.startsWith(e))}function UA(t,e,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some(i=>function(t,e,n,i){if(i instanceof ArrayBuffer)return function(t,e,n){if(t.byteLength<(n=n||t.byteLength)||e.byteLengtht.equals(e));let JA=new Uint8ClampedArray(0);const tM={data:{type:"data",value:QA,async:!0},dataComparator:null,_dataDiff:{type:"function",value:t=>t&&t.__diff,compare:!1,optional:!0},dataTransform:{type:"function",value:null,compare:!1,optional:!0},onDataLoad:{type:"function",value:null,compare:!1,optional:!0},onError:{type:"function",value:null,compare:!1,optional:!0},fetch:{type:"function",value:(t,{propName:e,layer:n,loaders:i,loadOptions:r,signal:s})=>{const{resourceManager:o}=n.context;var a;r=r||n.getLoadOptions(),i=i||n.props.loaders,s&&(r=zn(yt({},r),{fetch:zn(yt({},null===(a=r)||void 0===a?void 0:a.fetch),{signal:s})}));let l=o.contains(t);return!l&&!r&&(o.add({resourceId:t,data:YA(t,i),persistent:!1}),l=!0),l?o.subscribe({resourceId:t,onChange:t=>n.internalState.reloadAsyncProp(e,t),consumerId:n.id,requestId:e}):YA(t,i,r)},compare:!1},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:"number",min:0,max:1,value:1},onHover:{type:"function",value:null,compare:!1,optional:!0},onClick:{type:"function",value:null,compare:!1,optional:!0},onDragStart:{type:"function",value:null,compare:!1,optional:!0},onDrag:{type:"function",value:null,compare:!1,optional:!0},onDragEnd:{type:"function",value:null,compare:!1,optional:!0},coordinateSystem:Ww.DEFAULT,coordinateOrigin:{type:"array",value:[0,0,0],compare:!0},modelMatrix:{type:"array",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:"XYZ",colorFormat:"RGBA",parameters:{},transitions:null,extensions:[],loaders:{type:"array",value:[],optional:!0,compare:!0},getPolygonOffset:{type:"function",value:({layerIndex:t})=>[0,100*-t],compare:!1},highlightedObjectIndex:-1,autoHighlight:!1,highlightColor:{type:"accessor",value:[0,0,128,128]}};let eM=(()=>{class t extends $k{toString(){return"".concat(this.constructor.layerName||this.constructor.name,"({id: '").concat(this.props.id,"'})")}raiseError(t,e){var n,i,r,s;e&&(t.message="".concat(e,": ").concat(t.message)),(null===(n=(i=this.props).onError)||void 0===n?void 0:n.call(i,t))||null===(r=this.context)||void 0===r||null===(s=r.onError)||void 0===s||s.call(r,t,this)}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(t=!0){this.internalState&&(this.internalState.needsRedraw=t)}setNeedsUpdate(){this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams())}hasUniformTransition(){return this.internalState.uniformTransitions.active}get isLoaded(){return this.internalState&&!this.internalState.isAsyncPropLoading()}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||(this.state.model?[this.state.model]:[]))}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}project(t){const{viewport:e}=this.context,n=gk(t,{viewport:e,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[i,r,s]=rk(n,e.pixelProjectionMatrix);return 2===t.length?[i,r]:[i,r,s]}unproject(t){const{viewport:e}=this.context;return e.unproject(t)}projectPosition(t){return function(t,e){const{viewport:n,coordinateSystem:i,coordinateOrigin:r,modelMatrix:s,fromCoordinateSystem:o,fromCoordinateOrigin:a}=function(t){const e=yt({},t);let{coordinateSystem:n}=t;const{viewport:i,coordinateOrigin:r,fromCoordinateSystem:s,fromCoordinateOrigin:o}=t;return n===Ww.DEFAULT&&(n=i.isGeospatial?Ww.LNGLAT:Ww.CARTESIAN),void 0===s&&(e.fromCoordinateSystem=n),void 0===o&&(e.fromCoordinateOrigin=r),e.coordinateSystem=n,e}(e),{geospatialOrigin:l,shaderCoordinateOrigin:c,offsetMode:u}=MT(n,i,r),h=gk(t,{viewport:n,modelMatrix:s,coordinateSystem:o,coordinateOrigin:a,offsetMode:u});u&&function(t,e,n){t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2]}(h,h,n.projectPosition(l||c));return h}(t,{viewport:this.context.viewport,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem})}use64bitPositions(){const{coordinateSystem:t}=this.props;return t===Ww.DEFAULT||t===Ww.LNGLAT||t===Ww.CARTESIAN}onHover(t,e){return!!this.props.onHover&&this.props.onHover(t,e)}onClick(t,e){return!!this.props.onClick&&this.props.onClick(t,e)}nullPickingColor(){return[0,0,0]}encodePickingColor(t,e=[]){return e[0]=t+1&255,e[1]=t+1>>8&255,e[2]=t+1>>8>>8&255,e}decodePickingColor(t){RC(t instanceof Uint8Array);const[e,n,i]=t;return e+256*n+65536*i-1}initializeState(){throw new Error("Layer ".concat(this," has not defined initializeState"))}getShaders(t){for(const e of this.props.extensions)t=gT(t,e.getShaders.call(this,e));return t}shouldUpdateState({changeFlags:t}){return t.propsOrDataChanged}updateState({oldProps:t,props:e,changeFlags:n}){const i=this.getAttributeManager();if(n.dataChanged&&i){const{dataChanged:t}=n;if(Array.isArray(t))for(const e of t)i.invalidateAll(e);else i.invalidateAll()}const r=e.highlightedObjectIndex>=0||e.pickable;if((t.highlightedObjectIndex>=0||t.pickable)!==r&&i){const{pickingColors:t,instancePickingColors:e}=i.attributes,n=t||e;n&&(r&&n.constant&&(n.constant=!1,i.invalidate(n.id)),!n.value&&!r&&(n.constant=!0,n.value=[0,0,0]))}}finalizeState(){for(const e of this.getModels())e.delete();const t=this.getAttributeManager();t&&t.finalize(),this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState.uniformTransitions.clear(),this.internalState.finalize()}draw(t){for(const e of this.getModels())e.draw(t)}getPickingInfo({info:t}){const{index:e}=t;return e>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[e]),t}activateViewport(t){const e=this.internalState.viewport;this.internalState.viewport=t,(!e||!ZA({oldViewport:e,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t="all",e=""){const n=this.getAttributeManager();!n||("all"===t?n.invalidateAll():n.invalidate(t))}updateAttributes(t){for(const e of this.getModels())this._setModelAttributes(e,t)}_updateAttributes(t){const e=this.getAttributeManager();if(!e)return;const n=this.getNumInstances(t),i=this.getStartIndices(t);e.update({data:t.data,numInstances:n,startIndices:i,props:t,transitions:t.transitions,buffers:t.data.attributes,context:this,ignoreUnknownAttributes:!0});const r=e.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(r)}_updateAttributeTransition(){const t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){const{uniformTransitions:t}=this.internalState;if(t.active){const e=t.update(),n=Object.create(this.props);for(const t in e)Object.defineProperty(n,t,{value:e[t]});return n}return this.props}calculateInstancePickingColors(t,{numInstances:e}){if(t.constant)return;const n=Math.floor(JA.length/3);if(this.internalState.usesPickingColorCache=!0,nKA&&Gw.warn("Layer has too many data objects. Picking might not be able to distinguish all objects.")(),JA=GS.allocate(JA,e,{size:3,copy:!0,maxCount:Math.max(e,KA)});const t=Math.floor(JA.length/3),i=[];for(let e=n;e{const i={moduleParameters:t,uniforms:e,parameters:n,context:this.context};for(const t of this.props.extensions)t.draw.call(this,i,t);this.draw(i)})}finally{this.props=i}}getChangeFlags(){return this.internalState.changeFlags}setChangeFlags(t){const{changeFlags:e}=this.internalState;for(const i in t)if(t[i]){let n=!1;switch(i){case"dataChanged":Array.isArray(e[i])&&(e[i]=Array.isArray(t[i])?e[i].concat(t[i]):t[i],n=!0);default:e[i]||(e[i]=t[i],n=!0)}n&&tE("layer.changeFlag",this,i,t)}const n=e.dataChanged||e.updateTriggersChanged||e.propsChanged||e.extensionsChanged;e.propsOrDataChanged=n,e.somethingChanged=n||t.viewportChanged||t.stateChanged}clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}diffProps(t,e){const n=function(t,e){const n=lT({newProps:t,oldProps:e,propTypes:dT(t),ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=function(t,e){if(null===e)return"oldProps is null, initial diff";let n=null;const{dataComparator:i,_dataDiff:r}=t;return i?i(t.data,e.data)||(n="Data comparator detected a change"):t.data!==e.data&&(n="A new data container was supplied"),n&&r&&(n=r(t.data,e.data)||n),n}(t,e);let r=!1;return i||(r=function(t,e){if(null===e)return"oldProps is null, initial diff";if("all"in t.updateTriggers&&hT(t,e,"all"))return{all:!0};const n={};let i=!1;for(const r in t.updateTriggers)"all"!==r&&hT(t,e,r)&&(n[r]=!0,i=n);return i}(t,e)),{dataChanged:i,propsChanged:n,updateTriggersChanged:r,extensionsChanged:uT(t,e),transitionsChanged:aT(t,e)}}(t,e);if(n.updateTriggersChanged)for(const i in n.updateTriggersChanged)n.updateTriggersChanged[i]&&this.invalidateAttribute(i);if(n.transitionsChanged)for(const i in n.transitionsChanged)this.internalState.uniformTransitions.add(i,e[i],t[i],t.transitions[i]);return this.setChangeFlags(n)}validateProps(){!function(t){const e=dT(t);for(const n in e){const i=e[n],{validate:r}=i;if(r&&!r(t[n],i))throw new Error("Invalid prop ".concat(n,": ").concat(t[n]))}}(this.props)}setModuleParameters(t){for(const e of this.getModels())e.updateModuleSettings(t)}updateAutoHighlight(t){this.props.autoHighlight&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){const e={pickingSelectedColor:t.picked?t.color:null},{highlightColor:n}=this.props;t.picked&&"function"==typeof n&&(e.pickingHighlightColor=n(t)),this.setModuleParameters(e),this.setNeedsRedraw()}_updateModules({props:t,oldProps:e},n){const{autoHighlight:i,highlightedObjectIndex:r,highlightColor:s}=t;if(n||e.autoHighlight!==i||e.highlightedObjectIndex!==r||e.highlightColor!==s){const t={};i||(t.pickingSelectedColor=null),Array.isArray(s)&&(t.pickingHighlightColor=s),Number.isInteger(r)&&(t.pickingSelectedColor=r>=0?this.encodePickingColor(r):null),this.setModuleParameters(t)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let e=!1;e=e||this.internalState.needsRedraw&&this.id,this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags;const n=this.getAttributeManager(),i=n&&n.getNeedsRedraw(t);return e=e||i,e}_getAttributeManager(){return new tT(this.context.gl,{id:this.props.id,stats:this.context.stats,timeline:this.context.timeline})}_initState(){RC(!this.internalState&&!this.state),RC(isFinite(this.props.coordinateSystem));const t=this._getAttributeManager();t&&t.addInstanced({instancePickingColors:{type:5121,size:3,noAlloc:!0,update:this.calculateInstancePickingColors}}),this.internalState=new Gk({attributeManager:t,layer:this}),this.clearChangeFlags(),this.state={},Object.defineProperty(this.state,"attributeManager",{get:()=>(Gw.deprecated("layer.state.attributeManager","layer.getAttributeManager()"),t)}),this.internalState.layer=this,this.internalState.uniformTransitions=new rT(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props)}_transferState(t){tE("layer.matched",this,this===t);const{state:e,internalState:n}=t;this!==t&&(this.internalState=n,this.internalState.layer=this,this.state=e,this.internalState.setAsyncProps(this.props),this.diffProps(this.props,this.internalState.getOldProps()))}_onAsyncPropUpdated(){this.diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}}return t.layerName="Layer",t.defaultProps=tM,t})(),nM=(()=>{class t extends eM{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){const{object:e}=t;return e&&e.__source&&e.__source.parent&&e.__source.parent.id===this.id&&(t.object=e.__source.object,t.index=e.__source.index),t}renderLayers(){return null}filterSubLayer(t){return!0}shouldRenderSubLayer(t,e){return e&&e.length}getSubLayerClass(t,e){const{_subLayerProps:n}=this.props;return n&&n[t]&&n[t].type||e}getSubLayerRow(t,e,n){return t.__source={parent:this,object:e,index:n},t}getSubLayerAccessor(t){if("function"==typeof t){const e={data:this.props.data,target:[]};return(n,i)=>n&&n.__source?(e.index=n.__source.index,t(n.__source.object,e)):t(n,i)}return t}getSubLayerProps(t={}){const{opacity:e,pickable:n,visible:i,parameters:r,getPolygonOffset:s,highlightedObjectIndex:o,autoHighlight:a,highlightColor:l,coordinateSystem:c,coordinateOrigin:u,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:f,fetch:g,_subLayerProps:m}=this.props,b={opacity:e,pickable:n,visible:i,parameters:r,getPolygonOffset:s,highlightedObjectIndex:o,autoHighlight:a,highlightColor:l,coordinateSystem:c,coordinateOrigin:u,wrapLongitude:h,positionFormat:d,modelMatrix:p,extensions:f,fetch:g},y=m&&m[t.id],v=y&&y.updateTriggers,_=t.id||"sublayer";if(y){const e=this.constructor._propTypes,n=t.type?t.type._propTypes:{};for(const t in y){const i=n[t]||e[t];i&&"accessor"===i.type&&(y[t]=this.getSubLayerAccessor(y[t]))}}Object.assign(b,t,y),b.id="".concat(this.props.id,"-").concat(_),b.updateTriggers=yt(yt({all:this.props.updateTriggers.all},t.updateTriggers),v);for(const w of f){const t=w.getSubLayerProps.call(this,w);t&&Object.assign(b,t,{updateTriggers:Object.assign(b.updateTriggers,t.updateTriggers)})}return b}_updateAutoHighlight(t){for(const e of this.getSubLayers())e.updateAutoHighlight(t)}_getAttributeManager(){return null}_renderLayers(){let{subLayers:t}=this.internalState;const e=!t||this.needsUpdate();e&&(t=this.renderLayers(),t=BC(t,Boolean),this.internalState.subLayers=t),tE("compositeLayer.renderLayers",this,e,t);for(const n of t)n.parent=this}}return t.layerName="CompositeLayer",t})();const iM=/([0-9]+\.?[0-9]*)(%|px)/;function rM(t){switch(typeof t){case"number":return{position:t,relative:!1};case"string":const e=t.match(iM);if(e&&e.length>=3){const t="%"===e[2],n=parseFloat(e[1]);return{position:t?n/100:n,relative:t}}default:throw new Error("Could not parse position string ".concat(t))}}function sM(t,e){return t.relative?Math.round(t.position*e):t.position}function oM(t,e){if(t===e)return!0;if(!t||!e)return!1;for(const n in t){const i=t[n],r=e[n];if(!(i===r||Array.isArray(i)&&Array.isArray(r)&&oM(i,r)))return!1}return!0}class aM{constructor(t={}){const{id:e=null,x:n=0,y:i=0,width:r="100%",height:s="100%",projectionMatrix:o=null,fovy:a=50,near:l=.1,far:c=1e3,modelMatrix:u=null,viewportInstance:h=null,type:d=dk}=t;RC(!h||h instanceof dk),this.viewportInstance=h,this.id=e||this.constructor.displayName||"view",this.type=d,this.props=zn(yt({},t),{id:this.id,projectionMatrix:o,fovy:a,near:l,far:c,modelMatrix:u}),this._parseDimensions({x:n,y:i,width:r,height:s}),this.equals=this.equals.bind(this),Object.seal(this)}equals(t){return this===t||(this.viewportInstance?t.viewportInstance&&this.viewportInstance.equals(t.viewportInstance):oM(this.props,t.props))}makeViewport({width:t,height:e,viewState:n}){if(this.viewportInstance)return this.viewportInstance;n=this.filterViewState(n);const i=this.getDimensions({width:t,height:e});return this._getViewport(n,i)}getViewStateId(){switch(typeof this.props.viewState){case"string":return this.props.viewState;case"object":return this.props.viewState&&this.props.viewState.id;default:return this.id}}filterViewState(t){if(this.props.viewState&&"object"==typeof this.props.viewState){if(!this.props.viewState.id)return this.props.viewState;const e=yt({},t);for(const t in this.props.viewState)"id"!==t&&(e[t]=this.props.viewState[t]);return e}return t}getDimensions({width:t,height:e}){return{x:sM(this._x,t),y:sM(this._y,e),width:sM(this._width,t),height:sM(this._height,e)}}_getControllerProps(t){let e=this.props.controller;return e?!0===e?t:("function"==typeof e&&(e={type:e}),yt(yt({},t),e)):null}_getViewport(t,e){const{type:n}=this;return new n(yt(yt(yt({},t),this.props),e))}_parseDimensions({x:t,y:e,width:n,height:i}){this._x=rM(t),this._y=rM(e),this._width=rM(n),this._height=rM(i)}}const lM=()=>{},cM={transitionEasing:t=>t,transitionInterruption:1,onTransitionStart:lM,onTransitionInterrupt:lM,onTransitionEnd:lM};class uM{constructor(t,e={}){this.ControllerState=t,this.props=yt(yt({},cM),e),this.propsInTransition=null,this.transition=new KO(e.timeline),this.onViewStateChange=e.onViewStateChange||lM,this.onStateChange=e.onStateChange||lM,this._onTransitionUpdate=this._onTransitionUpdate.bind(this)}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(t){let e=!1;const n=this.props;if(t=yt(yt({},cM),t),this.props=t,this._shouldIgnoreViewportChange(n,t))return e;if(this._isTransitionEnabled(t)){const{interruption:i,endProps:r}=this.transition.settings,s=yt(yt({},n),2===i?r:this.propsInTransition||n);this._triggerTransition(s,t),e=!0}else this.transition.cancel();return e}updateTransition(){this.transition.update()}_isTransitionEnabled(t){const{transitionDuration:e,transitionInterpolator:n}=t;return(e>0||"auto"===e)&&Boolean(n)}_isUpdateDueToCurrentTransition(t){return!!this.transition.inProgress&&this.transition.settings.interpolator.arePropsEqual(t,this.propsInTransition)}_shouldIgnoreViewportChange(t,e){return this.transition.inProgress?3===this.transition.settings.interruption||this._isUpdateDueToCurrentTransition(e):!this._isTransitionEnabled(e)||e.transitionInterpolator.arePropsEqual(t,e)}_triggerTransition(t,e){const n=new this.ControllerState(t),i=new this.ControllerState(e).shortestPathFrom(n),{transitionInterpolator:r}=e,s=r.getDuration?r.getDuration(t,e):e.transitionDuration;if(0===s)return;const o=e.transitionInterpolator.initializeProps(t,i);this.propsInTransition={},this.duration=s,this.transition.start({duration:s,easing:e.transitionEasing,interpolator:e.transitionInterpolator,interruption:e.transitionInterruption,startProps:o.start,endProps:o.end,onStart:e.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(e.onTransitionInterrupt),onEnd:this._onTransitionEnd(e.onTransitionEnd)}),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(t){return e=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),t(e)}}_onTransitionUpdate(t){const{time:e,settings:{interpolator:n,startProps:i,endProps:r,duration:s,easing:o}}=t,a=o(e/s),l=n.interpolateProps(i,r,a);this.propsInTransition=new this.ControllerState(yt(yt({},this.props),l)).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}}const hM=["longitude","latitude","zoom","bearing","pitch"],dM=["longitude","latitude","zoom"];class pM extends class{constructor(t={}){Array.isArray(t)&&(t={compare:t,extract:t,required:t});const{compare:e,extract:n,required:i}=t;this._propsToCompare=e,this._propsToExtract=n,this._requiredProps=i}arePropsEqual(t,e){for(const n of this._propsToCompare||Object.keys(e))if(!(n in t)||!(n in e)||!nC(t[n],e[n]))return!1;return!0}initializeProps(t,e){let n;if(this._propsToExtract){const i={},r={};for(const n of this._propsToExtract)i[n]=t[n],r[n]=e[n];n={start:i,end:r}}else n={start:t,end:e};return this._checkRequiredProps(n.start),this._checkRequiredProps(n.end),n}interpolateProps(t,e,n){return e}getDuration(t,e){return e.transitionDuration}_checkRequiredProps(t){!this._requiredProps||this._requiredProps.forEach(e=>{const n=t[e];RC(Number.isFinite(n)||Array.isArray(n),"".concat(e," is required for transition"))})}}{constructor(t={}){super((Array.isArray(t)?t:t.transitionProps)||{compare:hM,extract:hM,required:dM}),this.opts=t}initializeProps(t,e){const n=super.initializeProps(t,e),{makeViewport:i,around:r}=this.opts;if(i&&r){const s=i(t),o=i(e),a=s.unproject(r);n.start.around=r,Object.assign(n.end,{around:o.project(a),aroundPosition:a,width:e.width,height:e.height})}return n}interpolateProps(t,e,n){const i={};for(const r of this._propsToExtract)i[r]=eC(t[r]||0,e[r]||0,n);if(e.aroundPosition){const r=this.opts.makeViewport(yt(yt({},e),i));Object.assign(i,r.panByPosition(e.aroundPosition,eC(t.around,e.around,n)))}return i}}const fM={transitionDuration:0},gM={transitionDuration:300,transitionEasing:t=>t,transitionInterruption:1},mM=t=>1-(1-t)*(1-t),bM=["wheel"],yM=["panstart","panmove","panend"],vM=["pinchstart","pinchmove","pinchend"],_M=["tripanstart","tripanmove","tripanend"],wM=["doubletap"],xM=["keydown"];class SM{constructor(t,e={}){this.ControllerState=t,this.controllerState=null,this.controllerStateProps=null,this.eventManager=null,this.transitionManager=new uM(t,zn(yt({},e),{onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}));const n=this.linearTransitionProps;this._transition=n&&zn(yt({},gM),{transitionInterpolator:new pM({transitionProps:n})}),this._events=null,this._interactionState={isDragging:!1},this._customEvents=[],this.onViewStateChange=null,this.onStateChange=null,this.handleEvent=this.handleEvent.bind(this),this.setProps(e)}get linearTransitionProps(){return null}set events(t){this.toggleEvents(this._customEvents,!1),this.toggleEvents(t,!0),this._customEvents=t,this.setProps(this.controllerStateProps)}finalize(){for(const t in this._events)this._events[t]&&this.eventManager.off(t,this.handleEvent);this.transitionManager.finalize()}handleEvent(t){const{ControllerState:e}=this;this.controllerState=new e(yt(yt({makeViewport:this.makeViewport},this.controllerStateProps),this._state));const n=this._eventStartBlocked;switch(t.type){case"panstart":return!n&&this._onPanStart(t);case"panmove":return this._onPan(t);case"panend":return this._onPanEnd(t);case"pinchstart":return!n&&this._onPinchStart(t);case"pinchmove":return this._onPinch(t);case"pinchend":return this._onPinchEnd(t);case"tripanstart":return!n&&this._onTriplePanStart(t);case"tripanmove":return this._onTriplePan(t);case"tripanend":return this._onTriplePanEnd(t);case"doubletap":return this._onDoubleTap(t);case"wheel":return this._onWheel(t);case"keydown":return this._onKeyDown(t);default:return!1}}getCenter(t){const{x:e,y:n}=this.controllerStateProps,{offsetCenter:i}=t;return[i.x-e,i.y-n]}isPointInBounds(t,e){const{width:n,height:i}=this.controllerStateProps;if(e&&e.handled)return!1;const r=t[0]>=0&&t[0]<=n&&t[1]>=0&&t[1]<=i;return r&&e&&e.stopPropagation(),r}isFunctionKeyPressed(t){const{srcEvent:e}=t;return Boolean(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}isDragging(){return this._interactionState.isDragging}blockEvents(t){const e=setTimeout(()=>{this._eventStartBlocked===e&&(this._eventStartBlocked=null)},t);this._eventStartBlocked=e}setProps(t){"onViewStateChange"in t&&(this.onViewStateChange=t.onViewStateChange),"onStateChange"in t&&(this.onStateChange=t.onStateChange),"makeViewport"in t&&(this.makeViewport=t.makeViewport),"dragMode"in t&&(this.dragMode=t.dragMode),this.controllerStateProps=t,"eventManager"in t&&this.eventManager!==t.eventManager&&(this.eventManager=t.eventManager,this._events={},this.toggleEvents(this._customEvents,!0)),"transitionInterpolator"in t||(t.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(t);let{inertia:e}=t;!0===e&&(e=300),this.inertia=e;const{scrollZoom:n=!0,dragPan:i=!0,dragRotate:r=!0,doubleClickZoom:s=!0,touchZoom:o=!0,touchRotate:a=!1,keyboard:l=!0}=t,c=Boolean(this.onViewStateChange);this.toggleEvents(bM,c&&n),this.toggleEvents(yM,c&&(i||r)),this.toggleEvents(vM,c&&(o||a)),this.toggleEvents(_M,c&&a),this.toggleEvents(wM,c&&s),this.toggleEvents(xM,c&&l),this.scrollZoom=n,this.dragPan=i,this.dragRotate=r,this.doubleClickZoom=s,this.touchZoom=o,this.touchRotate=a,this.keyboard=l}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(t,e){this.eventManager&&t.forEach(t=>{this._events[t]!==e&&(this._events[t]=e,e?this.eventManager.on(t,this.handleEvent):this.eventManager.off(t,this.handleEvent))})}updateViewport(t,e={},n={}){const i=yt(yt({},t.getViewportProps()),e),r=this.controllerState!==t;if(this._state=t.getState(),this._setInteractionState(n),r){const t=this.controllerState?this.controllerState.getViewportProps():null;this.onViewStateChange&&this.onViewStateChange({viewState:i,interactionState:this._interactionState,oldViewState:t})}}_onTransition(t){this.onViewStateChange&&(t.interactionState=this._interactionState,this.onViewStateChange(t))}_setInteractionState(t){Object.assign(this._interactionState,t),this.onStateChange&&this.onStateChange(this._interactionState)}_onPanStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;let n=this.isFunctionKeyPressed(t)||t.rightButton;(this.invertPan||"pan"===this.dragMode)&&(n=!n);const i=this.controllerState[n?"panStart":"rotateStart"]({pos:e});return this._panMove=n,this.updateViewport(i,fM,{isDragging:!0}),!0}_onPan(t){return!!this.isDragging()&&(this._panMove?this._onPanMove(t):this._onPanRotate(t))}_onPanEnd(t){return!!this.isDragging()&&(this._panMove?this._onPanMoveEnd(t):this._onPanRotateEnd(t))}_onPanMove(t){if(!this.dragPan)return!1;const e=this.getCenter(t),n=this.controllerState.pan({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(t){const{inertia:e}=this;if(this.dragPan&&e&&t.velocity){const n=this.getCenter(t),i=this.controllerState.pan({pos:[n[0]+t.velocityX*e/2,n[1]+t.velocityY*e/2]}).panEnd();this.updateViewport(i,zn(yt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isPanning:!0})}else{const t=this.controllerState.panEnd();this.updateViewport(t,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(t){if(!this.dragRotate)return!1;const e=this.getCenter(t),n=this.controllerState.rotate({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(t){const{inertia:e}=this;if(this.dragRotate&&e&&t.velocity){const n=this.getCenter(t),i=this.controllerState.rotate({pos:[n[0]+t.velocityX*e/2,n[1]+t.velocityY*e/2]}).rotateEnd();this.updateViewport(i,zn(yt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isRotating:!0})}else{const t=this.controllerState.rotateEnd();this.updateViewport(t,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(t){if(!this.scrollZoom)return!1;t.preventDefault();const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const{speed:n=.01,smooth:i=!1}=this.scrollZoom,{delta:r}=t;let s=2/(1+Math.exp(-Math.abs(r*n)));r<0&&0!==s&&(s=1/s);const o=this.controllerState.zoom({pos:e,scale:s});return this.updateViewport(o,zn(yt({},this._getTransitionProps({around:e})),{transitionDuration:i?250:1}),{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.controllerState.rotateStart({pos:e});return this.updateViewport(n,fM,{isDragging:!0}),!0}_onTriplePan(t){if(!this.touchRotate||!this.isDragging())return!1;const e=this.getCenter(t);e[0]-=t.deltaX;const n=this.controllerState.rotate({pos:e});return this.updateViewport(n,fM,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(t){if(!this.isDragging())return!1;const{inertia:e}=this;if(this.touchRotate&&e&&t.velocityY){const n=this.getCenter(t),i=[n[0],n[1]+=t.velocityY*e/2],r=this.controllerState.rotate({pos:i});this.updateViewport(r,zn(yt({},this._getTransitionProps()),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isRotating:!0}),this.blockEvents(e)}else{const t=this.controllerState.rotateEnd();this.updateViewport(t,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(t){const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.controllerState.zoomStart({pos:e}).rotateStart({pos:e});return this._startPinchRotation=t.rotation,this._lastPinchEvent=t,this.updateViewport(n,fM,{isDragging:!0}),!0}_onPinch(t){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let e=this.controllerState;if(this.touchZoom){const{scale:n}=t,i=this.getCenter(t);e=e.zoom({pos:i,scale:n})}if(this.touchRotate){const{rotation:n}=t;e=e.rotate({deltaAngleX:this._startPinchRotation-n})}return this.updateViewport(e,fM,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),this._lastPinchEvent=t,!0}_onPinchEnd(t){if(!this.isDragging())return!1;const{inertia:e,_lastPinchEvent:n}=this;if(this.touchZoom&&e&&n&&t.scale!==n.scale){const i=this.getCenter(t);let r=this.controllerState.rotateEnd();const s=Math.log2(t.scale),o=(s-Math.log2(n.scale))/(t.deltaTime-n.deltaTime),a=Math.pow(2,s+o*e/2);r=r.zoom({pos:i,scale:a}).zoomEnd(),this.updateViewport(r,zn(yt({},this._getTransitionProps({around:i})),{transitionDuration:e,transitionEasing:mM}),{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(e)}else{const t=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(t,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return this._startPinchRotation=null,this._lastPinchEvent=null,!0}_onDoubleTap(t){if(!this.doubleClickZoom)return!1;const e=this.getCenter(t);if(!this.isPointInBounds(e,t))return!1;const n=this.isFunctionKeyPressed(t),i=this.controllerState.zoom({pos:e,scale:n?.5:2});return this.updateViewport(i,this._getTransitionProps({around:e}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(t){if(!this.keyboard)return!1;const e=this.isFunctionKeyPressed(t),{zoomSpeed:n,moveSpeed:i,rotateSpeedX:r,rotateSpeedY:s}=this.keyboard,{controllerState:o}=this;let a;const l={};switch(t.srcEvent.code){case"Minus":a=e?o.zoomOut(n).zoomOut(n):o.zoomOut(n),l.isZooming=!0;break;case"Equal":a=e?o.zoomIn(n).zoomIn(n):o.zoomIn(n),l.isZooming=!0;break;case"ArrowLeft":e?(a=o.rotateLeft(r),l.isRotating=!0):(a=o.moveLeft(i),l.isPanning=!0);break;case"ArrowRight":e?(a=o.rotateRight(r),l.isRotating=!0):(a=o.moveRight(i),l.isPanning=!0);break;case"ArrowUp":e?(a=o.rotateUp(s),l.isRotating=!0):(a=o.moveUp(i),l.isPanning=!0);break;case"ArrowDown":e?(a=o.rotateDown(s),l.isRotating=!0):(a=o.moveDown(i),l.isPanning=!0);break;default:return!1}return this.updateViewport(a,this._getTransitionProps(),l),!0}_getTransitionProps(t){const{_transition:e}=this;return e?t?zn(yt({},e),{transitionInterpolator:new pM(zn(yt({},t),{transitionProps:this.linearTransitionProps,makeViewport:this.controllerState.makeViewport}))}):e:fM}}class CM{constructor(t){this._viewportProps=this._applyConstraints(t)}getViewportProps(){return this._viewportProps}getState(){return this._state}shortestPathFrom(t){return this._viewportProps}_applyConstraints(t){return t}}const EM=[0,0,0];class OM extends CM{constructor({makeViewport:t,width:e,height:n,rotationX:i=0,rotationOrbit:r=0,target:s=EM,zoom:o=0,minRotationX:a=-90,maxRotationX:l=90,minZoom:c=-(1/0),maxZoom:u=Infinity,startPanPosition:h,startRotatePos:d,startRotationX:p,startRotationOrbit:f,startZoomPosition:g,startZoom:m}){super({width:e,height:n,rotationX:i,rotationOrbit:r,target:s,zoom:o,minRotationX:a,maxRotationX:l,minZoom:c,maxZoom:u}),this._state={startPanPosition:h,startRotatePos:d,startRotationX:p,startRotationOrbit:f,startZoomPosition:g,startZoom:m},this.makeViewport=t}panStart({pos:t}){return this._getUpdatedState({startPanPosition:this._unproject(t)})}pan({pos:t,startPosition:e}){const n=this._state.startPanPosition||e;if(!n)return this;const i=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(i)}panEnd(){return this._getUpdatedState({startPanPosition:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startRotationX:this._viewportProps.rotationX,startRotationOrbit:this._viewportProps.rotationOrbit})}rotate({pos:t,deltaAngleX:e=0,deltaAngleY:n=0}){const{startRotatePos:i,startRotationX:r,startRotationOrbit:s}=this._state,{width:o,height:a}=this._viewportProps;if(!i||!Number.isFinite(r)||!Number.isFinite(s))return this;let l;if(t){let e=(t[0]-i[0])/o;(r<-90||r>90)&&(e*=-1),l={rotationX:r+(t[1]-i[1])/a*180,rotationOrbit:s+180*e}}else l={rotationX:r+n,rotationOrbit:s+e};return this._getUpdatedState(l)}rotateEnd(){return this._getUpdatedState({startRotationX:null,startRotationOrbit:null})}shortestPathFrom(t){const e=t.getViewportProps(),n=yt({},this._viewportProps),{rotationOrbit:i}=n;return Math.abs(i-e.rotationOrbit)>180&&(n.rotationOrbit=i<0?i+360:i-360),n}zoomStart({pos:t}){return this._getUpdatedState({startZoomPosition:this._unproject(t),startZoom:this._viewportProps.zoom})}zoom({pos:t,startPos:e,scale:n}){const{zoom:i}=this._viewportProps;let{startZoom:r,startZoomPosition:s}=this._state;Number.isFinite(r)||(r=i,s=this._unproject(e)||this._unproject(t));const o=this._calculateNewZoom({scale:n,startZoom:r}),a=this.makeViewport(zn(yt({},this._viewportProps),{zoom:o}));return this._getUpdatedState(yt({zoom:o},a.panByPosition(s,t)))}zoomEnd(){return this._getUpdatedState({startZoomPosition:null,startZoom:null})}zoomIn(t=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:t})})}zoomOut(t=2){return this._getUpdatedState({zoom:this._calculateNewZoom({scale:1/t})})}moveLeft(t=50){return this._panFromCenter([-t,0])}moveRight(t=50){return this._panFromCenter([t,0])}moveUp(t=50){return this._panFromCenter([0,-t])}moveDown(t=50){return this._panFromCenter([0,t])}rotateLeft(t=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit-t})}rotateRight(t=15){return this._getUpdatedState({rotationOrbit:this._viewportProps.rotationOrbit+t})}rotateUp(t=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX-t})}rotateDown(t=10){return this._getUpdatedState({rotationX:this._viewportProps.rotationX+t})}_unproject(t){const e=this.makeViewport(this._viewportProps);return t&&e.unproject(t)}_calculateNewZoom({scale:t,startZoom:e}){const{maxZoom:n,minZoom:i}=this._viewportProps;return Number.isFinite(e)||(e=this._viewportProps.zoom),tC(e+Math.log2(t),i,n)}_panFromCenter(t){const{width:e,height:n,target:i}=this._viewportProps;return this.pan({startPosition:i,pos:[e/2+t[0],n/2+t[1]]})}_getUpdatedState(t){return new OM(yt(yt(yt({},this._viewportProps),this._state),t))}_applyConstraints(t){const{maxZoom:e,minZoom:n,zoom:i,maxRotationX:r,minRotationX:s,rotationOrbit:o}=t;return t.zoom=tC(i,n,e),t.rotationX=tC(t.rotationX,s,r),(o<-180||o>180)&&(t.rotationOrbit=function(t,e){const n=t%360;return n<0?360+n:n}(o+180)-180),t}}class TM extends SM{constructor(t){super(OM,t)}get linearTransitionProps(){return["target","zoom","rotationX","rotationOrbit"]}}class kM extends SM{constructor(t){t.dragMode=t.dragMode||"pan",super(OM,t)}_onPanRotate(t){return!1}get linearTransitionProps(){return["target","zoom"]}}const PM=(new VT).lookAt({eye:[0,0,1]});function AM({width:t,height:e,near:n,far:i}){return t=t||1,e=e||1,(new VT).ortho({left:-t/2,right:t/2,bottom:-e/2,top:e/2,near:n,far:i})}class MM extends dk{constructor(t){const{width:e,height:n,near:i=.1,far:r=1e3,zoom:s=0,target:o=[0,0,0],flipY:a=!0}=t,l=Math.pow(2,s);super(zn(yt({},t),{longitude:null,position:o,viewMatrix:PM.clone().scale([l,l*(a?-1:1),l]),projectionMatrix:AM({width:e,height:n,near:i,far:r}),zoom:s}))}panByPosition(t,e){const n=DT([],t,RT([],sk(e,this.pixelUnprojectionMatrix)));return{target:DT([],this.center,n)}}}let IM=(()=>{class t extends aM{constructor(t){super(zn(yt({},t),{type:MM}))}get controller(){return this._getControllerProps({type:kM})}}return t.displayName="OrthographicView",t})();const DM=Math.PI/180;function RM({height:t,fovy:e,orbitAxis:n,rotationX:i,rotationOrbit:r,zoom:s}){const o=.5/Math.tan(e*DM/2),a="Z"===n?[0,0,1]:[0,1,0],l="Z"===n?[0,-o,0]:[0,0,o],c=(new VT).lookAt({eye:l,up:a});c.rotateX(i*DM),"Z"===n?c.rotateZ(r*DM):c.rotateY(r*DM);const u=Math.pow(2,s)/(t||1);return c.scale(u),c}class NM extends dk{constructor(t){const{height:e,fovy:n,orbitAxis:i,target:r=[0,0,0],rotationX:s=0,rotationOrbit:o=0,zoom:a=0}=t;super(zn(yt({},t),{longitude:null,viewMatrix:RM({height:e,fovy:n,orbitAxis:i,rotationX:s,rotationOrbit:o,zoom:a}),fovy:n,position:r,zoom:a})),this.projectedCenter=this.project(this.center)}unproject(t,{topLeft:e=!0}={}){const[n,i,r=this.projectedCenter[2]]=t,s=e?i:this.height-i,[o,a,l]=sk([n,s,r],this.pixelUnprojectionMatrix);return[o,a,l]}panByPosition(t,e){const n=this.project(t);return{target:this.unproject([this.width/2+n[0]-e[0],this.height/2+n[1]-e[1],this.projectedCenter[2]])}}}let LM=(()=>{class t extends aM{constructor(t={}){const{orbitAxis:e="Z"}=t;super(zn(yt({},t),{orbitAxis:e,type:NM}))}get controller(){return this._getControllerProps({type:TM})}}return t.displayName="OrbitView",t})();const jM=[255,255,255],FM=1;let BM=0;class VM{constructor(t={}){const{color:e=jM}=t,{intensity:n=FM}=t;this.id=t.id||"ambient-".concat(BM++),this.color=e,this.intensity=n,this.type="ambient"}}const zM=[255,255,255],UM=1,HM=[0,0,-1];let $M=0;class GM{constructor(t={}){const{color:e=zM}=t,{intensity:n=UM}=t,{direction:i=HM}=t,{_shadow:r=!1}=t;this.id=t.id||"directional-".concat($M++),this.color=e,this.intensity=n,this.type="directional",this.direction=new OC(i).normalize().toArray(),this.shadow=r}getProjectedLight(){return this}}class WM{constructor(t={}){const{id:e="effect"}=t;this.id=e,this.props=yt({},t)}preRender(){}getModuleParameters(){}cleanup(){}}class qM extends class{constructor(t,e={}){const{id:n="pass"}=e;this.id=n,this.gl=t,this.props=yt({},e)}setProps(t){Object.assign(this.props,t)}render(){}cleanup(){}}{render(t){return Mx(this.gl,{framebuffer:t.target}),this._drawLayers(t)}_drawLayers(t){const{viewports:e,views:n,onViewportActive:i,clearCanvas:r=!0}=t;t.pass=t.pass||"unknown";const s=this.gl;r&&function(t){Mx(t,{viewport:[0,0,t.drawingBufferWidth,t.drawingBufferHeight]}),t.clear(16640)}(s);const o=[];for(const a of e){const e=a.viewport||a,r=n&&n[e.id];i(e);const l=this._getDrawLayerParams(e,t);t.view=r;const c=e.subViewports||[e];for(const n of c){t.viewport=n;const e=this._drawLayersInViewport(s,t,l);o.push(e)}}return o}_getDrawLayerParams(t,{layers:e,pass:n,layerFilter:i,effects:r,moduleParameters:s}){const o=[],a=YM(),l={viewport:t,isPicking:n.startsWith("picking"),renderPass:n};for(let c=0;cTS(t,e))}const a={totalCount:e.length,visibleCount:0,compositeCount:0,pickableCount:0};Mx(t,{viewport:o});for(let c=0;c{const o=r.props._offset,a=r.id,l=r.parent&&r.parent.id;let c;if(l&&!(l in e)&&i(r.parent,!1),l in n){const t=n[l]=n[l]||YM(e[l],e);c=t(r,s),n[a]=t}else Number.isFinite(o)?(c=o+(e[l]||0),n[a]=null):c=t;return s&&c>=t&&(t=c+1),e[a]=c,c};return i}class XM extends qM{constructor(t,e){super(t,e),this.shadowMap=new xS(t,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new ES(t,{format:33189,width:1,height:1}),this.fbo=new BS(t,{id:"shadowmap",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(t){const e=this.fbo;Ix(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{const n=t.viewports[0],i=Rx(this.gl),r=n.width*i,s=n.height*i;(r!==e.width||s!==e.height)&&e.resize({width:r,height:s}),super.render(zn(yt({},t),{target:e,pass:"shadow"}))})}shouldDrawLayer(t){return!1!==t.props.shadowEnabled}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}}const KM=Object.keys(Ww).map(t=>"const int COORDINATE_SYSTEM_".concat(t," = ").concat(Ww[t],";")).join(""),QM=Object.keys(qw).map(t=>"const int PROJECTION_MODE_".concat(t," = ").concat(qw[t],";")).join("");var ZM="".concat(KM,"\n").concat(QM,"\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z;\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy;\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter;\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n return normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size(position_world.z),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world + project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\n");const JM={};var tI={name:"project",dependencies:[{name:"fp32",vs:"#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n",fs:null}],vs:ZM,getUniforms:function(t=JM){return t.viewport?function({viewport:t,devicePixelRatio:e=1,modelMatrix:n=null,coordinateSystem:i=Ww.DEFAULT,coordinateOrigin:r,autoWrapLongitude:s=!1}={}){i===Ww.DEFAULT&&(i=t.isGeospatial?Ww.LNGLAT:Ww.CARTESIAN);const o=AT({viewport:t,devicePixelRatio:e,coordinateSystem:i,coordinateOrigin:r});return o.project_uWrapLongitude=s,o.project_uModelMatrix=n||TT,o}(t):{}}};const eI=fT(function({viewport:t,center:e}){return new VT(t.viewProjectionMatrix).invert().transform(e)}),nI=fT(function({viewport:t,shadowMatrices:e}){const n=[],i=t.pixelUnprojectionMatrix,r=t.isGeospatial?void 0:1,s=[[0,0,r],[t.width,0,r],[0,t.height,r],[t.width,t.height,r],[0,0,-1],[t.width,0,-1],[0,t.height,-1],[t.width,t.height,-1]].map(t=>function(t,e){const[n,i,r]=t,s=sk([n,i,r],e);return Number.isFinite(r)?s:[s[0],s[1],0]}(t,i));for(const o of e){const e=o.clone().translate(new OC(t.center).negate()),i=s.map(t=>e.transform(t)),r=(new VT).ortho({left:Math.min(...i.map(t=>t[0])),right:Math.max(...i.map(t=>t[0])),bottom:Math.min(...i.map(t=>t[1])),top:Math.max(...i.map(t=>t[1])),near:Math.min(...i.map(t=>-t[2])),far:Math.max(...i.map(t=>-t[2]))});n.push(r.multiplyRight(o))}return n}),iI=[0,0,0,1],rI=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0];var sI={name:"shadow",dependencies:[tI],vs:"\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n",fs:"\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n",inject:{"vs:DECKGL_FILTER_GL_POSITION":"\n position = shadow_setVertexPosition(geometry.position);\n ","fs:DECKGL_FILTER_COLOR":"\n color = shadow_filterShadowColor(color);\n "},getUniforms:(t={},e={})=>{if(t.drawToShadowMap||t.shadowMaps&&t.shadowMaps.length>0){const{shadowEnabled:n=!0}=t;return n&&t.shadowMatrices&&t.shadowMatrices.length>0?function(t={},e={}){const n={shadow_uDrawShadowMap:Boolean(t.drawToShadowMap),shadow_uUseShadowMap:!!t.shadowMaps&&t.shadowMaps.length>0,shadow_uColor:t.shadowColor||iI,shadow_uLightId:t.shadowLightId||0,shadow_uLightCount:t.shadowMatrices.length},i=eI({viewport:t.viewport,center:e.project_uCenter}),r=[],s=nI({shadowMatrices:t.shadowMatrices,viewport:t.viewport}).slice();for(let o=0;o0?t.shadowMaps[o]:t.dummyShadowMap;return n}(t,e):{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1}}return{}}};const oI={color:[255,255,255],intensity:1},aI=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],lI=[0,0,0,200/255];class cI extends WM{constructor(t){super(t),this.ambientLight=null,this.directionalLights=[],this.pointLights=[],this.shadowColor=lI,this.shadowPasses=[],this.shadowMaps=[],this.dummyShadowMap=null,this.shadow=!1,this.programManager=null;for(const e in t){const n=t[e];switch(n.type){case"ambient":this.ambientLight=n;break;case"directional":this.directionalLights.push(n);break;case"point":this.pointLights.push(n)}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(t=>t.shadow)}preRender(t,{layers:e,layerFilter:n,viewports:i,onViewportActive:r,views:s}){if(this.shadow){this.shadowMatrices=this._createLightMatrix(),0===this.shadowPasses.length&&this._createShadowPasses(t),this.programManager||(this.programManager=PO.getDefaultProgramManager(t),sI&&this.programManager.addDefaultModule(sI)),this.dummyShadowMap||(this.dummyShadowMap=new xS(t,{width:1,height:1}));for(let t=0;te.getProjectedLight({layer:t})),pointLights:this.pointLights.map(e=>e.getProjectedLight({layer:t}))},e}cleanup(){for(const t of this.shadowPasses)t.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(sI),this.programManager=null)}_createLightMatrix(){const t=[];for(const e of this.directionalLights){const n=(new VT).lookAt({eye:new OC(e.direction).negate()});t.push(n)}return t}_createShadowPasses(t){for(let e=0;e=e.delay+e.duration*e.repeat}getTime(t){if(void 0===t)return this.time;const e=this.channels.get(t);return void 0===e?-1:e.time}setTime(t){this.time=Math.max(0,t);const e=this.channels.values();for(const i of e)this._setChannelTime(i,this.time);const n=this.animations.values();for(const i of n){const{animation:t,channel:e}=i;t.setTime(this.getTime(e))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(t,e){const n=hI++;return this.animations.set(n,{animation:t,channel:e}),t.setTime(this.getTime(e)),n}detachAnimation(t){this.animations.delete(t)}update(t){this.playing&&(-1===this.lastEngineTime&&(this.lastEngineTime=t),this.setTime(this.time+(t-this.lastEngineTime)),this.lastEngineTime=t)}_setChannelTime(t,e){const n=e-t.delay;n>=t.duration*t.repeat?t.time=t.duration*t.rate:(t.time=Math.max(0,n)%t.duration,t.time*=t.rate)}}class pI{constructor(t,e,n){this.id=t,this.context=n,this._loadCount=0,this._subscribers=new Set,this.setData(e)}subscribe(t){this._subscribers.add(t)}unsubscribe(t){this._subscribers.delete(t)}inUse(){return this._subscribers.size>0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(t,e){if(t===this._data&&!e)return;this._data=t;const n=++this._loadCount;let i=t;"string"==typeof t&&(i=YA(t)),i instanceof Promise?(this.isLoaded=!1,this._loader=i.then(t=>{this._loadCount===n&&(this.isLoaded=!0,this._error=null,this._content=t)}).catch(t=>{this._loadCount===n&&(this.isLoaded=!0,this._error=t||!0)})):(this.isLoaded=!0,this._error=null,this._content=t);for(const r of this._subscribers)r.onChange(this.getData())}}class fI{constructor({gl:t,protocol:e}){this.protocol=e||"resource://",this._context={gl:t,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(t){return!!t.startsWith(this.protocol)||t in this._resources}add({resourceId:t,data:e,forceUpdate:n=!1,persistent:i=!0}){let r=this._resources[t];r?r.setData(e,n):(r=new pI(t,e,this._context),this._resources[t]=r),r.persistent=i}remove(t){const e=this._resources[t];e&&(e.delete(),delete this._resources[t])}unsubscribe({consumerId:t}){const e=this._consumers[t];if(e){for(const t in e){const n=e[t];n.resource&&n.resource.unsubscribe(n)}delete this._consumers[t],this.prune()}}subscribe({resourceId:t,onChange:e,consumerId:n,requestId:i="default"}){const{_resources:r,protocol:s}=this;t.startsWith(s)&&(r[t=t.replace(s,"")]||this.add({resourceId:t,data:null,persistent:!1}));const o=r[t];if(this._track(n,i,o,e),o)return o.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(const t in this._resources)this._resources[t].delete()}_track(t,e,n,i){const r=this._consumers,s=r[t]=r[t]||{},o=s[e]||{};o.resource&&(o.resource.unsubscribe(o),o.resource=null,this.prune()),n&&(s[e]=o,o.onChange=i,o.resource=n,n.subscribe(o))}_prune(){this._pruneRequest=null;for(const t of Object.keys(this._resources)){const e=this._resources[t];!e.persistent&&!e.inUse()&&(e.delete(),delete this._resources[t])}}}const gI=[{name:"geometry",vs:"\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry;\n",fs:"\n#define SMOOTH_EDGE_RADIUS 0.5\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n"},tI],mI=["vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)","vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)","vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)","fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)"];function bI(t){const e=PO.getDefaultProgramManager(t);for(const n of gI)e.addDefaultModule(n);for(const n of mI)e.addShaderHook(n);return e}const yI=Object.seal({layerManager:null,resourceManager:null,deck:null,gl:null,stats:null,shaderCache:null,pickingFBO:null,mousePosition:null,userData:{}});class vI{constructor(t,{deck:e,stats:n,viewport:i,timeline:r}={}){this.lastRenderedLayers=[],this.layers=[],this.resourceManager=new fI({gl:t,protocol:"deck://"}),this.context=zn(yt({},yI),{layerManager:this,gl:t,deck:e,programManager:t&&bI(t),stats:n||new Gx({id:"deck.gl"}),viewport:i||new dk({id:"DEFAULT-INITIAL-VIEWPORT"}),timeline:r||new dI,resourceManager:this.resourceManager}),this._nextLayers=null,this._needsRedraw="Initial render",this._needsUpdate=!1,this._debug=!1,this.activateViewport=this.activateViewport.bind(this),Object.seal(this)}finalize(){this.resourceManager.finalize();for(const t of this.layers)this._finalizeLayer(t)}needsRedraw(t={clearRedrawFlags:!1}){let e=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);for(const n of this.layers){const i=n.getNeedsRedraw(t);e=e||i}return e}needsUpdate(){return this._nextLayers&&this._nextLayers!==this.lastRenderedLayers?"layers changed":this._needsUpdate}setNeedsRedraw(t){this._needsRedraw=this._needsRedraw||t}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t}getLayers({layerIds:t=null}={}){return t?this.layers.filter(e=>t.find(t=>0===e.id.indexOf(t))):this.layers}setProps(t){"debug"in t&&(this._debug=t.debug),"userData"in t&&(this.context.userData=t.userData),"layers"in t&&(this._nextLayers=t.layers),"onError"in t&&(this.context.onError=t.onError)}setLayers(t,e){tE("layerManager.setLayers",this,e,t),this.lastRenderedLayers=t,t=BC(t,Boolean);for(const n of t)n.context=this.context;return this._updateLayers(this.layers,t),this}updateLayers(){const t=this.needsUpdate();t&&(this.setNeedsRedraw("updating layers: ".concat(t)),this.setLayers(this._nextLayers||this.lastRenderedLayers,t)),this._nextLayers=null}activateViewport(t){return tE("layerManager.activateViewport",this,t),t&&(this.context.viewport=t),this}_handleError(t,e,n){n.raiseError(e,"".concat(t," of ").concat(n))}_updateLayers(t,e){const n={};for(const s of t)n[s.id]?Gw.warn("Multiple old layers with same id ".concat(s.id))():n[s.id]=s;const i=[];this._updateSublayersRecursively(e,n,i),this._finalizeOldLayers(n);let r=!1;for(const s of i)if(s.hasUniformTransition()){r=!0;break}this._needsUpdate=r,this.layers=i}_updateSublayersRecursively(t,e,n){for(const r of t){r.context=this.context;const t=e[r.id];null===t&&Gw.warn("Multiple new layers with same id ".concat(r.id))(),e[r.id]=null;let s=null;try{this._debug&&t!==r&&r.validateProps(),t?(this._transferLayerState(t,r),this._updateLayer(r)):this._initializeLayer(r),n.push(r),s=r.isComposite&&r.getSubLayers()}catch(i){this._handleError("matching",i,r)}s&&this._updateSublayersRecursively(s,e,n)}}_finalizeOldLayers(t){for(const e in t){const n=t[e];n&&this._finalizeLayer(n)}}_initializeLayer(t){try{t._initialize(),t.lifecycle="Initialized"}catch(e){this._handleError("initialization",e,t)}}_transferLayerState(t,e){e._transferState(t),e.lifecycle="Matched. State transferred from previous layer",e!==t&&(t.lifecycle="Discarded. Awaiting garbage collection")}_updateLayer(t){try{t._update()}catch(e){this._handleError("update",e,t)}}_finalizeLayer(t){this._needsRedraw=this._needsRedraw||"finalized ".concat(t),t.lifecycle="No longer matched. Awaiting garbage collection";try{t._finalize(),t.lifecycle="Finalized! Awaiting garbage collection"}catch(e){this._handleError("finalization",e,t)}}}class _I{constructor(t={}){this.views=[],this.width=100,this.height=100,this.viewState={},this.controllers={},this.timeline=t.timeline,this._viewports=[],this._viewportMap={},this._isUpdating=!1,this._needsRedraw="Initial render",this._needsUpdate=!0,this._eventManager=t.eventManager,this._eventCallbacks={onViewStateChange:t.onViewStateChange,onInteractionStateChange:t.onInteractionStateChange},Object.seal(this),this.setProps(t)}finalize(){for(const t in this.controllers)this.controllers[t]&&this.controllers[t].finalize();this.controllers={}}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t,this._needsRedraw=this._needsRedraw||t}updateViewStates(){for(const t in this.controllers){const e=this.controllers[t];e&&e.updateTransition()}}getViewports(t){return t?this._viewports.filter(e=>e.containsPixel(t)):this._viewports}getViews(){const t={};return this.views.forEach(e=>{t[e.id]=e}),t}getView(t){return"string"==typeof t?this.views.find(e=>e.id===t):t}getViewState(t){const e=this.getView(t),n=e&&this.viewState[e.getViewStateId()]||this.viewState;return e?e.filterViewState(n):n}getViewport(t){return this._viewportMap[t]}unproject(t,e){const n=this.getViewports(),i={x:t[0],y:t[1]};for(let r=n.length-1;r>=0;--r){const s=n[r];if(s.containsPixel(i)){const n=t.slice();return n[0]-=s.x,n[1]-=s.y,s.unproject(n,e)}}return null}setProps(t){"views"in t&&this._setViews(t.views),"viewState"in t&&this._setViewState(t.viewState),("width"in t||"height"in t)&&this._setSize(t.width,t.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(t,e){(t!==this.width||e!==this.height)&&(this.width=t,this.height=e,this.setNeedsUpdate("Size changed"))}_setViews(t){t=BC(t,Boolean),this._diffViews(t,this.views)&&this.setNeedsUpdate("views changed"),this.views=t}_setViewState(t){t?(!oM(t,this.viewState)&&this.setNeedsUpdate("viewState changed"),this.viewState=t):Gw.warn("missing `viewState` or `initialViewState`")()}_onViewStateChange(t,e){e.viewId=t,this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange(e)}_createController(t,e){return new(0,e.type)(yt({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,e.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:e=>t._getViewport(e,{width:e.width,height:e.height})},e))}_updateController(t,e,n,i){let r=t.controller;return r?(r=zn(yt(yt(yt({},e),t.props),r),{id:t.id,x:n.x,y:n.y,width:n.width,height:n.height}),i?i.setProps(r):i=this._createController(t,r),i):null}_rebuildViewports(){const{width:t,height:e,views:n}=this,i=this.controllers;this._viewports=[],this.controllers={};let r=!1;for(let s=n.length;s--;){const o=n[s],a=this.getViewState(o),l=o.makeViewport({width:t,height:e,viewState:a});let c=i[o.id];o.controller&&!c&&(r=!0),(r||!o.controller)&&c&&(c.finalize(),c=null),this.controllers[o.id]=this._updateController(o,a,l,c),this._viewports.unshift(l)}for(const s in i)i[s]&&!this.controllers[s]&&i[s].finalize();this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(t=>{t.id&&(this._viewportMap[t.id]=this._viewportMap[t.id]||t)})}_diffViews(t,e){return t.length!==e.length||t.some((n,i)=>!t[i].equals(e[i]))}}class wI extends CM{constructor({makeViewport:t,width:e,height:n,latitude:i,longitude:r,zoom:s,bearing:o=0,pitch:a=0,altitude:l=1.5,maxZoom:c=20,minZoom:u=0,maxPitch:h=60,minPitch:d=0,startPanLngLat:p,startZoomLngLat:f,startRotatePos:g,startBearing:m,startPitch:b,startZoom:y,normalize:v}={}){RC(Number.isFinite(r)),RC(Number.isFinite(i)),RC(Number.isFinite(s)),super({width:e,height:n,latitude:i,longitude:r,zoom:s,bearing:o,pitch:a,altitude:l,maxZoom:c,minZoom:u,maxPitch:h,minPitch:d,normalize:v}),this._state={startPanLngLat:p,startZoomLngLat:f,startRotatePos:g,startBearing:m,startPitch:b,startZoom:y},this.makeViewport=t}panStart({pos:t}){return this._getUpdatedState({startPanLngLat:this._unproject(t)})}pan({pos:t,startPos:e}){const n=this._state.startPanLngLat||this._unproject(e);if(!n)return this;const i=this.makeViewport(this._viewportProps).panByPosition(n,t);return this._getUpdatedState(i)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startBearing:this._viewportProps.bearing,startPitch:this._viewportProps.pitch})}rotate({pos:t,deltaAngleX:e=0,deltaAngleY:n=0}){const{startRotatePos:i,startBearing:r,startPitch:s}=this._state;if(!i||!Number.isFinite(r)||!Number.isFinite(s))return this;let o;return o=t?this._calculateNewPitchAndBearing(zn(yt({},this._getRotationParams(t,i)),{startBearing:r,startPitch:s})):{bearing:r+e,pitch:s+n},this._getUpdatedState(o)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:t}){return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this._viewportProps.zoom})}zoom({pos:t,startPos:e,scale:n}){let{startZoom:i,startZoomLngLat:r}=this._state;Number.isFinite(i)||(i=this._viewportProps.zoom,r=this._unproject(e)||this._unproject(t));const s=this._calculateNewZoom({scale:n,startZoom:i}),o=this.makeViewport(zn(yt({},this._viewportProps),{zoom:s}));return this._getUpdatedState(yt({zoom:s},o.panByPosition(r,t)))}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(t=2){return this._zoomFromCenter(t)}zoomOut(t=2){return this._zoomFromCenter(1/t)}moveLeft(t=100){return this._panFromCenter([t,0])}moveRight(t=100){return this._panFromCenter([-t,0])}moveUp(t=100){return this._panFromCenter([0,t])}moveDown(t=100){return this._panFromCenter([0,-t])}rotateLeft(t=15){return this._getUpdatedState({bearing:this._viewportProps.bearing-t})}rotateRight(t=15){return this._getUpdatedState({bearing:this._viewportProps.bearing+t})}rotateUp(t=10){return this._getUpdatedState({pitch:this._viewportProps.pitch+t})}rotateDown(t=10){return this._getUpdatedState({pitch:this._viewportProps.pitch-t})}shortestPathFrom(t){const e=t.getViewportProps(),n=yt({},this._viewportProps),{bearing:i,longitude:r}=n;return Math.abs(i-e.bearing)>180&&(n.bearing=i<0?i+360:i-360),Math.abs(r-e.longitude)>180&&(n.longitude=r<0?r+360:r-360),n}_zoomFromCenter(t){const{width:e,height:n}=this._viewportProps;return this.zoom({pos:[e/2,n/2],scale:t})}_panFromCenter(t){const{width:e,height:n}=this._viewportProps;return this.pan({startPos:[e/2,n/2],pos:[e/2+t[0],n/2+t[1]]})}_getUpdatedState(t){return new this.constructor(yt(yt(yt({makeViewport:this.makeViewport},this._viewportProps),this._state),t))}_applyConstraints(t){const{maxZoom:e,minZoom:n,zoom:i}=t;t.zoom=tC(i,n,e);const{maxPitch:r,minPitch:s,pitch:o}=t;t.pitch=tC(o,s,r);const{normalize:a=!0}=t;return a&&Object.assign(t,function({width:t,height:e,longitude:n,latitude:i,zoom:r,pitch:s=0,bearing:o=0}){(n<-180||n>180)&&(n=UT(n+180,360)-180),(o<-180||o>180)&&(o=UT(o+180,360)-180);const a=$T(e/512);if(r<=a)r=a,i=0;else{const t=e/2/Math.pow(2,r),n=tk([0,t])[1];if(ie&&(i=e)}}return{width:t,height:e,longitude:n,latitude:i,zoom:r,pitch:s,bearing:o}}(t)),t}_unproject(t){const e=this.makeViewport(this._viewportProps);return t&&e.unproject(t)}_calculateNewZoom({scale:t,startZoom:e}){const{maxZoom:n,minZoom:i}=this._viewportProps;return tC(e+Math.log2(t),i,n)}_calculateNewPitchAndBearing({deltaScaleX:t,deltaScaleY:e,startBearing:n,startPitch:i}){e=tC(e,-1,1);const{minPitch:r,maxPitch:s}=this._viewportProps;let o=i;return e>0?o=i+e*(s-i):e<0&&(o=i-e*(r-i)),{pitch:o,bearing:n+180*t}}_getRotationParams(t,e){const n=t[0]-e[0],i=t[1]-e[1],r=t[1],s=e[1],{width:o,height:a}=this._viewportProps,l=n/o;let c=0;return i>0?Math.abs(a-s)>5&&(c=i/(s-a)*1.2):i<0&&s>5&&(c=1-r/s),c=Math.min(1,Math.max(-1,c)),{deltaScaleX:l,deltaScaleY:c}}}class xI extends SM{constructor(t){t.dragMode=t.dragMode||"pan",super(wI,t)}setProps(t){const e=this.controllerStateProps;super.setProps(t),(!e||e.height!==t.height)&&this.updateViewport(new this.ControllerState(yt(yt({makeViewport:this.makeViewport},this.controllerStateProps),this._state)))}get linearTransitionProps(){return["longitude","latitude","zoom","bearing","pitch"]}}let SI=(()=>{class t extends aM{constructor(t){super(zn(yt({},t),{type:pk}))}get controller(){return this._getControllerProps({type:xI})}}return t.displayName="MapView",t})();const CI=new cI;class EI{constructor(){this.effects=[],this._internalEffects=[],this._needsRedraw="Initial render",this.setEffects()}setProps(t){"effects"in t&&(t.effects.length!==this.effects.length||!oM(t.effects,this.effects))&&(this.setEffects(t.effects),this._needsRedraw="effects changed")}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}getEffects(){return this._internalEffects}finalize(){this.cleanup()}setEffects(t=[]){this.cleanup(),this.effects=t,this._createInternalEffects()}cleanup(){for(const t of this.effects)t.cleanup();for(const t of this._internalEffects)t.cleanup();this.effects.length=0,this._internalEffects.length=0}_createInternalEffects(){this._internalEffects=this.effects.slice(),this.effects.some(t=>t instanceof cI)||this._internalEffects.push(CI)}}class OI extends qM{}const TI={blendFunc:[1,0,32771,0],blendEquation:32774};class kI extends qM{render(t){t.pickingFBO?(this.useAlpha=!0,this._drawPickingBuffer(t)):(this.useAlpha=!1,super.render(t))}_drawPickingBuffer({layers:t,layerFilter:e,views:n,viewports:i,onViewportActive:r,pickingFBO:s,deviceRect:{x:o,y:a,width:l,height:c},pass:u="picking",redrawReason:h,pickZ:d}){const p=this.gl;return this.pickZ=d,Ix(p,zn(yt({scissorTest:!0,scissor:[o,a,l,c],clearColor:[0,0,0,0],depthMask:!0,depthTest:!0,depthRange:[0,1],colorMask:[!0,!0,!0,!0]},TI),{blend:!d}),()=>{super.render({target:s,layers:t,layerFilter:e,views:n,viewports:i,onViewportActive:r,pass:u,redrawReason:h})})}shouldDrawLayer(t){return t.props.pickable}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(t,e){const n=this.pickZ?{blend:!1}:zn(yt({},TI),{blend:!0,blendColor:[0,0,0,this.useAlpha?(e+1)/255:1]});return yt(yt({},t.props.parameters),n)}}class PI{constructor(t){this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new OI(t),this.pickLayersPass=new kI(t),this.renderCount=0,this._needsRedraw="Initial render",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(t){"layerFilter"in t&&this.layerFilter!==t.layerFilter&&(this.layerFilter=t.layerFilter,this._needsRedraw="layerFilter changed"),"drawPickingColors"in t&&this.drawPickingColors!==t.drawPickingColors&&(this.drawPickingColors=t.drawPickingColors,this._needsRedraw="drawPickingColors changed")}renderLayers(t){const e=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass;t.layerFilter=this.layerFilter,t.effects=t.effects||[],t.target=t.target||BS.getDefaultFramebuffer(this.gl),this._preRender(t.effects,t);const n=this.lastPostProcessEffect?this.renderBuffers[0]:t.target,i=e.render(zn(yt({},t),{target:n}));this._postRender(t.effects,t),this.renderCount++,tE("deckRenderer.renderLayers",this,i,t)}needsRedraw(t={clearRedrawFlags:!1}){const e=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),e}finalize(){const{renderBuffers:t}=this;for(const e of t)e.delete();t.length=0}_preRender(t,e){let n=null;for(const i of t)i.preRender(this.gl,e),i.postRender&&(n=i);n&&this._resizeRenderBuffers(),this.lastPostProcessEffect=n}_resizeRenderBuffers(){const{renderBuffers:t}=this;0===t.length&&t.push(new BS(this.gl),new BS(this.gl));for(const e of t)e.resize()}_postRender(t,e){const{renderBuffers:n}=this,i={inputBuffer:n[0],swapBuffer:n[1],target:null};for(const r of t)if(r.postRender){if(r===this.lastPostProcessEffect){i.target=e.target,r.postRender(this.gl,i);break}const t=r.postRender(this.gl,i);i.inputBuffer=t,i.swapBuffer=t===n[0]?n[1]:n[0]}}}const AI={pickedColor:null,pickedLayer:null,pickedObjectIndex:-1};function MI({pickedColors:t,layers:e,deviceX:n,deviceY:i,deviceRadius:r,deviceRect:s}){if(t){const{x:o,y:a,width:l,height:c}=s;let u=r*r,h=-1,d=0;for(let e=0;eu)d+=4*l;else for(let e=0;e=0){const t=e+o-n,i=t*t+s;i<=u&&(u=i,h=d)}d+=4}}if(h>=0){const n=t[h+3]-1,i=t.slice(h,h+4),r=e[n];if(r){const t=r.decodePickingColor(i),e=Math.floor(h/4/l);return{pickedColor:i,pickedLayer:r,pickedObjectIndex:t,pickedX:o+(h/4-e*l),pickedY:a+e}}Gw.error("Picked non-existent layer. Is picking buffer corrupt?")()}}return AI}function II({pickInfo:t,mode:e,viewports:n,layerFilter:i,pixelRatio:r,x:s,y:o,z:a}){const l=t&&t.pickedLayer,c=function(t,e,n){for(let i=t.length-1;i>=0;i--){const r=t[i];if(r.containsPixel(e)&&(!n||n(r)))return r}return t[0]}(n,{x:s,y:o},i&&l&&(t=>i({layer:l,viewport:t,isPicking:!0,renderPass:"picking:".concat(e)}))),u=c&&c.unproject([s-c.x,o-c.y],{targetZ:a});return{color:null,layer:null,viewport:c,index:-1,picked:!1,x:s,y:o,pixel:[s,o],coordinate:u,devicePixel:t&&[t.pickedX,t.pickedY],pixelRatio:r}}function DI(t){const{pickInfo:e,lastPickedInfo:n,mode:i,layers:r}=t,{pickedColor:s,pickedLayer:o,pickedObjectIndex:a}=e,l=o?[o]:[];if("hover"===i){const t=n.index,e=n.layerId,i=o&&o.props.id;if(i!==e||a!==t){if(i!==e){const t=r.find(t=>t.props.id===e);t&&l.unshift(t)}n.layerId=i,n.index=a,n.info=null}}const c=II(t),u=new Map;return u.set(null,c),l.forEach(t=>{let e=yt({},c);t===o&&(e.color=s,e.index=a,e.picked=!0),e=RI({layer:t,info:e,mode:i}),t===o&&"hover"===i&&(n.info=e),u.set(e.layer.id,e),"hover"===i&&e.layer.updateAutoHighlight(e)}),u}function RI({layer:t,info:e,mode:n}){for(;t&&e;){const i=e.layer||null;e.sourceLayer=i,e.layer=t,e=t.getPickingInfo({info:e,mode:n,sourceLayer:i}),t=t.parent}return e}class NI{constructor(t){this.gl=t,this.pickingFBO=null,this.pickLayersPass=new kI(t),this.layerFilter=null,this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(t){"layerFilter"in t&&(this.layerFilter=t.layerFilter),"_pickable"in t&&(this._pickable=t._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(t){return this._pickClosestObject(t)}pickObjects(t){return this._pickVisibleObjects(t)}getLastPickedObject({x:t,y:e,layers:n,viewports:i},r=this.lastPickedInfo.info){const s=r&&r.layer&&r.layer.id,o=r&&r.viewport&&r.viewport.id,a=s?n.find(t=>t.id===s):null,l=o&&i.find(t=>t.id===o)||i[0],c=l&&l.unproject([t-l.x,e-l.y]),u={x:t,y:e,viewport:l,coordinate:c,layer:a};return a?yt(yt({},r),u):Object.assign(u,{color:null,object:null,index:-1})}_resizeBuffer(){const{gl:t}=this;return this.pickingFBO||(this.pickingFBO=new BS(t),BS.isSupported(t,{colorBufferFloat:!0})&&(this.depthFBO=new BS(t),this.depthFBO.attach({36064:new xS(t,{format:Zw(t)?34836:6408,type:5126})}))),this.pickingFBO.resize({width:t.canvas.width,height:t.canvas.height}),this.depthFBO&&this.depthFBO.resize({width:t.canvas.width,height:t.canvas.height}),this.pickingFBO}_getPickable(t){if(!1===this._pickable)return null;const e=t.filter(t=>t.isPickable()&&!t.isComposite);return e.length>255?(Gw.warn("Too many pickable layers, only picking the first 255")(),e.slice(0,255)):e.length?e:null}_pickClosestObject({layers:t,views:e,viewports:n,x:i,y:r,radius:s=0,depth:o=1,mode:a="query",unproject3D:l,onViewportActive:c}){if(!(t=this._getPickable(t)))return{result:[],emptyInfo:II({viewports:n,x:i,y:r})};this._resizeBuffer();const u=Rx(this.gl),h=Nx(this.gl,[i,r],!0),d=[h.x+Math.floor(h.width/2),h.y+Math.floor(h.height/2)],p=Math.round(s*u),{width:f,height:g}=this.pickingFBO,m=this._getPickingRect({deviceX:d[0],deviceY:d[1],deviceRadius:p,deviceWidth:f,deviceHeight:g});let b;const y=[],v={};for(let _=0;_=0){const s=t.slice(i,i+4),o=s.join(",");if(!n.has(o)){const t=e[r];t?n.set(o,{pickedColor:s,pickedLayer:t,pickedObjectIndex:t.decodePickingColor(s)}):Gw.error("Picked non-existent layer. Is picking buffer corrupt?")()}}}return Array.from(n.values())}({pickedColors:this._drawAndSample({layers:t,views:e,viewports:n,onViewportActive:c,deviceRect:{x:d,y:g,width:f.x+f.width-d,height:p-g},pass:"picking:".concat(a),redrawReason:a}),layers:t}),b=new Map,y=Number.isFinite(l);for(let v=0;v=l);v++){const t=m[v];let e={color:t.pickedColor,layer:null,index:t.pickedObjectIndex,picked:!0,x:i,y:r,width:s,height:o,pixelRatio:u};e=RI({layer:t.pickedLayer,info:e,mode:a}),b.has(e.object)||b.set(e.object,e)}return Array.from(b.values())}_drawAndSample({layers:t,views:e,viewports:n,onViewportActive:i,deviceRect:r,pass:s,redrawReason:o,pickZ:a}){if(t.length<1)return null;const l=a?this.depthFBO:this.pickingFBO;this.pickLayersPass.render({layers:t,layerFilter:this.layerFilter,views:e,viewports:n,onViewportActive:i,pickingFBO:l,deviceRect:r,pass:s,redrawReason:o,pickZ:a});const{x:c,y:u,width:h,height:d}=r,p=new(a?Float32Array:Uint8Array)(h*d*4);return NS(l,{sourceX:c,sourceY:u,sourceWidth:h,sourceHeight:d,target:p}),p}_getPickingRect({deviceX:t,deviceY:e,deviceRadius:n,deviceWidth:i,deviceHeight:r}){const s=Math.max(0,t-n),o=Math.max(0,e-n),a=Math.min(i,t+n+1)-s,l=Math.min(r,e+n+1)-o;return a<=0||l<=0?null:{x:s,y:o,width:a,height:l}}}const LI={zIndex:1,position:"absolute",pointerEvents:"none",color:"#a0a7b4",backgroundColor:"#29323c",padding:"10px",top:0,left:0,display:"none"};class jI{constructor(t){const e=t.parentElement;e&&(this.el=document.createElement("div"),this.el.className="deck-tooltip",Object.assign(this.el.style,LI),e.appendChild(this.el)),this.isVisible=!1}setTooltip(t,e,n){const i=this.el;if("string"==typeof t)i.innerText=t;else{if(!t)return this.isVisible=!1,void(i.style.display="none");"text"in t&&(i.innerText=t.text),"html"in t&&(i.innerHTML=t.html),"className"in t&&(i.className=t.className),Object.assign(i.style,t.style)}this.isVisible=!0,i.style.display="block",i.style.transform="translate(".concat(e,"px, ").concat(n,"px)")}remove(){this.el&&this.el.remove()}}function FI(t,e){if(!t)throw new Error(e)}const BI={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document},VI=BI.global||BI.self||BI.window,zI="object"!=typeof process||"[object process]"!==String(process)||process.browser,UI="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version),{_parseImageNode:HI}=(UI&&parseFloat(UI[1]),VI),$I="undefined"!=typeof Image,GI="undefined"!=typeof ImageBitmap,WI=Boolean(HI),qI=!!zI||WI;function YI(t){const e=function(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&t instanceof Image?"image":t&&"object"==typeof t&&t.data&&t.width&&t.height?"data":null}(t);if(!e)throw new Error("Not an image");return e}function XI(t){switch(YI(t)){case"data":return t;case"image":case"imagebitmap":const e=document.createElement("canvas"),n=e.getContext("2d");if(!n)throw new Error("getImageData");return e.width=t.width,e.height=t.height,n.drawImage(t,0,0),n.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}const KI=/^data:image\/svg\+xml/,QI=/\.svg((\?|#).*)?$/;function ZI(t){return t&&(KI.test(t)||QI.test(t))}function JI(t,e){if(ZI(e)){let e=(new TextDecoder).decode(t);try{"function"==typeof unescape&&"function"==typeof encodeURIComponent&&(e=unescape(encodeURIComponent(e)))}catch(n){throw new Error(n.message)}return`data:image/svg+xml;base64,${btoa(e)}`}return tD(t,e)}function tD(t,e){if(ZI(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}function eD(t,e,n){return nD.apply(this,arguments)}function nD(){return(nD=PS(function*(t,e,n){const i=JI(t,n),r=self.URL||self.webkitURL,s="string"!=typeof i&&r.createObjectURL(i);try{return yield iD(s||i,e)}finally{s&&r.revokeObjectURL(s)}})).apply(this,arguments)}function iD(t,e){return rD.apply(this,arguments)}function rD(){return(rD=PS(function*(t,e){const n=new Image;return n.src=t,e.image&&e.image.decode&&n.decode?(yield n.decode(),n):yield new Promise((e,i)=>{try{n.onload=()=>e(n),n.onerror=e=>i(new Error(`Could not load image ${t}: ${e}`))}catch(r){i(r)}})})).apply(this,arguments)}const sD={};let oD=!0;function aD(t,e,n){return lD.apply(this,arguments)}function lD(){return(lD=PS(function*(t,e,n){let i;i=ZI(n)?yield eD(t,e,n):tD(t,n);const r=e&&e.imagebitmap;return yield cD(i,r)})).apply(this,arguments)}function cD(t){return uD.apply(this,arguments)}function uD(){return(uD=PS(function*(t,e=null){if((hD(e)||!oD)&&(e=null),e)try{return yield createImageBitmap(t,e)}catch(n){console.warn(n),oD=!1}return yield createImageBitmap(t)})).apply(this,arguments)}function hD(t){for(const e in t||sD)return!1;return!0}const dD=!1,pD=!0;function fD(t){const e=gD(t);return function(t){const e=gD(t);return e.byteLength>=24&&2303741511===e.getUint32(0,dD)?{mimeType:"image/png",width:e.getUint32(16,dD),height:e.getUint32(20,dD)}:null}(e)||function(t){const e=gD(t);if(!(e.byteLength>=3&&65496===e.getUint16(0,dD)&&255===e.getUint8(2)))return null;const{tableMarkers:n,sofMarkers:i}=function(){const t=new Set([65499,65476,65484,65501,65534]);for(let e=65504;e<65520;++e)t.add(e);return{tableMarkers:t,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}();let r=2;for(;r+9=10&&1195984440===e.getUint32(0,dD)?{mimeType:"image/gif",width:e.getUint16(6,pD),height:e.getUint16(8,pD)}:null}(e)||function(t){const e=gD(t);return e.byteLength>=14&&16973===e.getUint16(0,dD)&&e.getUint32(2,pD)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,pD),height:e.getUint32(22,pD)}:null}(e)}function gD(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}function mD(t,e){const{mimeType:n}=fD(t)||{},{_parseImageNode:i}=VI;return FI(i),i(t,n,e)}function bD(){return(bD=PS(function*(t,e,n){const i=((e=e||{}).image||{}).type||"auto",{url:r}=n||{};let s;switch(yD(i)){case"imagebitmap":s=yield aD(t,e,r);break;case"image":s=yield eD(t,e,r);break;case"data":s=yield mD(t,e);break;default:FI(!1)}return"data"===i&&(s=XI(s)),s})).apply(this,arguments)}function yD(t){switch(t){case"auto":case"data":return function(){if(GI)return"imagebitmap";if($I)return"image";if(qI)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(t){switch(t){case"auto":return GI||$I||qI;case"imagebitmap":return GI;case"image":return $I;case"data":return qI;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}(t),t}}const vD={id:"image",module:"images",name:"Images",version:"3.0.12",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(t,e,n){return bD.apply(this,arguments)},tests:[t=>Boolean(fD(new DataView(t)))],options:{image:{type:"auto",decode:!0}}};var _D=n(84761),wD={name:"JSON",extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:function(t){const e=t[0],n=t[t.length-1];return"{"===e&&"}"===n||"["===e&&"]"===n},parseTextSync:JSON.parse};const xD="8.5.8",SD=_D.CO.deck&&_D.CO.deck.VERSION;if(SD&&SD!==xD)throw new Error("deck.gl - multiple versions detected: ".concat(SD," vs ").concat(xD));SD||(Gw.log(1,"deck.gl ".concat(xD))(),_D.CO.deck=Object.assign(_D.CO.deck||{},{VERSION:xD,version:xD,log:Gw,_registerLoggers:function(t){JC=t}}),DA([wD,[vD,{imagebitmap:{premultiplyAlpha:"none"}}]]));var CD=_D.CO.deck;class ED extends iS{get[Symbol.toStringTag](){return"Query"}static isSupported(t,e=[]){const n=Zw(t),i=US(t,"TIMER_QUERY");let r=n||i;for(const s of e)switch(s){case"queries":r=r&&n;break;case"timers":r=r&&i;break;default:Yx(!1)}return r}constructor(t,e={}){super(t,e),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(35007)}beginOcclusionQuery({conservative:t=!1}={}){return this.begin(t?36202:35887)}beginTransformFeedbackQuery(){return this.begin(35976)}begin(t){return this._queryPending||(this.target=t,this.gl2.beginQuery(this.target,this.handle)),this}end(){return this._queryPending||this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this}isResultAvailable(){if(!this._queryPending)return!1;const t=this.gl2.getQueryParameter(this.handle,34919);return t&&(this._queryPending=!1),t}isTimerDisjoint(){return this.gl2.getParameter(36795)}getResult(){return this.gl2.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(t=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let e=0;return this._pollingPromise=new Promise((n,i)=>{const r=()=>{this.isResultAvailable()?(n(this.getResult()),this._pollingPromise=null):e++>t?(i("Timed out"),this._pollingPromise=null):requestAnimationFrame(r)};requestAnimationFrame(r)}),this._pollingPromise}_createHandle(){return ED.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}}const OD=Dx()&&"undefined"!=typeof document;let TD=0;class kD{constructor(t={}){const{onCreateContext:e=(t=>zx(t)),onAddHTML:n=null,onInitialize:i=(()=>{}),onRender:r=(()=>{}),onFinalize:s=(()=>{}),onError:o,gl:a=null,glOptions:l={},debug:c=!1,createFramebuffer:u=!1,autoResizeViewport:h=!0,autoResizeDrawingBuffer:d=!0,stats:p=qx.get("animation-loop-"+TD++)}=t;let{useDevicePixels:f=!0}=t;"useDevicePixelRatio"in t&&(Xw.deprecated("useDevicePixelRatio","useDevicePixels")(),f=t.useDevicePixelRatio),this.props={onCreateContext:e,onAddHTML:n,onInitialize:i,onRender:r,onFinalize:s,onError:o,gl:a,glOptions:l,debug:c,createFramebuffer:u},this.gl=a,this.needsRedraw=null,this.timeline=null,this.stats=p,this.cpuTime=this.stats.get("CPU Time"),this.gpuTime=this.stats.get("GPU Time"),this.frameRate=this.stats.get("Frame Rate"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:h,autoResizeDrawingBuffer:d,useDevicePixels:f}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(t){return Yx("string"==typeof t),this.needsRedraw=this.needsRedraw||t,this}setProps(t){return"autoResizeViewport"in t&&(this.autoResizeViewport=t.autoResizeViewport),"autoResizeDrawingBuffer"in t&&(this.autoResizeDrawingBuffer=t.autoResizeDrawingBuffer),"useDevicePixels"in t&&(this.useDevicePixels=t.useDevicePixels),this}start(t={}){if(this._running)return this;this._running=!0;const e=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(t),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=ED.isSupported(this.gl,["timers"])?new ED(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(t=>{this._running&&(this._addCallbackData(t||{}),!1!==t&&this._startLoop())});return this.props.onError&&e.catch(this.props.onError),this}redraw(){return this.isContextLost()||(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers()),this}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(t){return this.timeline=t,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw("waitForRender"),this._nextFramePromise||(this._nextFramePromise=new Promise(t=>{this._resolveNextFrame=t})),this._nextFramePromise}toDataURL(){var t=this;return PS(function*(){return t.setNeedsRedraw("toDataURL"),yield t.waitForRender(),t.gl.canvas.toDataURL()})()}isContextLost(){return this.gl.isContextLost()}onCreateContext(...t){return this.props.onCreateContext(...t)}onInitialize(...t){return this.props.onInitialize(...t)}onRender(...t){return this.props.onRender(...t)}onFinalize(...t){return this.props.onFinalize(...t)}getHTMLControlValue(t,e=1){const n=document.getElementById(t);return n?Number(n.value):e}setViewParameters(){return Xw.removed("AnimationLoop.setViewParameters","AnimationLoop.setProps")(),this}_startLoop(){const t=()=>{!this._running||(this.redraw(),this._animationFrameId=this._requestAnimationFrame(t))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(t)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=OD?new Promise((t,e)=>{OD&&"complete"===document.readyState?t(document):window.addEventListener("load",()=>{t(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(t){this.display&&(this.display.delete(),this.display.animationLoop=null),t&&(t.animationLoop=this),this.display=t}_cancelAnimationFrame(t){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(t):function(t){return"undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(t):clearTimeout(t)}(t)}_requestAnimationFrame(t){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(t):function(t){return"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame(t):setTimeout(t,1e3/60)}(t)}_renderFrame(...t){this.display?this.display._renderFrame(...t):this.onRender(...t)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){const{width:t,height:e,aspect:n}=this._getSizeAndAspect();(t!==this.animationProps.width||e!==this.animationProps.height)&&this.setNeedsRedraw("drawing buffer resized"),n!==this.animationProps.aspect&&this.setNeedsRedraw("drawing buffer aspect changed"),this.animationProps.width=t,this.animationProps.height=e,this.animationProps.aspect=n,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(t){"object"==typeof t&&null!==t&&(this.animationProps=Object.assign({},this.animationProps,t))}_createWebGLContext(t){if(this.offScreen=t.canvas&&"undefined"!=typeof OffscreenCanvas&&t.canvas instanceof OffscreenCanvas,t=Object.assign({},t,this.props.glOptions),this.gl=this.props.gl?Ux(this.props.gl,t):this.onCreateContext(t),!Qw(this.gl))throw new Error("AnimationLoop.onCreateContext - illegal context returned");(function(t){Mx(t,px)})(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){const t=document.createElement("div");document.body.appendChild(t),t.style.position="relative";const e=document.createElement("div");e.style.position="absolute",e.style.left="10px",e.style.bottom="10px",e.style.width="300px",e.style.background="white",t.appendChild(this.gl.canvas),t.appendChild(e);const n=this.props.onAddHTML(e);n&&(e.innerHTML=n)}}_getSizeAndAspect(){const t=this.gl.drawingBufferWidth,e=this.gl.drawingBufferHeight;let n=1;const{canvas:i}=this.gl;return i&&i.clientHeight?n=i.clientWidth/i.clientHeight:t>0&&e>0&&(n=t/e),{width:t,height:e,aspect:n}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&function(t,e={}){if(t.canvas)return void function(t,e,n){let i="width"in n?n.width:t.canvas.clientWidth,r="height"in n?n.height:t.canvas.clientHeight;(!i||!r)&&(Xw.log(1,"Canvas clientWidth/clientHeight is 0")(),e=1,i=t.canvas.width||1,r=t.canvas.height||1),t.luma=t.luma||{},t.luma.canvasSizeInfo=t.luma.canvasSizeInfo||{};const s=t.luma.canvasSizeInfo;if(s.clientWidth!==i||s.clientHeight!==r||s.devicePixelRatio!==e){let n=e;const s=Math.floor(i*n),o=Math.floor(r*n);t.canvas.width=s,t.canvas.height=o,(t.drawingBufferWidth!==s||t.drawingBufferHeight!==o)&&(Xw.warn("Device pixel ratio clamped")(),n=Math.min(t.drawingBufferWidth/i,t.drawingBufferHeight/r),t.canvas.width=Math.floor(i*n),t.canvas.height=Math.floor(r*n)),Object.assign(t.luma.canvasSizeInfo,{clientWidth:i,clientHeight:r,devicePixelRatio:e})}}(t,function(t){const e="undefined"==typeof window?1:window.devicePixelRatio||1;return Number.isFinite(t)?t<=0?1:t:t?e:1}(e.useDevicePixels),e);const n=t.getExtension("STACKGL_resize_drawingbuffer");n&&"width"in e&&"height"in e&&n.resize(e.width,e.height)}(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new BS(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get("GPU Time").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){const{canvas:t}=this.gl;t&&(t.addEventListener("mousemove",this._onMousemove),t.addEventListener("mouseleave",this._onMouseleave))}_onMousemove(t){this.animationProps._mousePosition=[t.offsetX,t.offsetY]}_onMouseleave(t){this.animationProps._mousePosition=null}}var PD=n(11524),AD=n.n(PD);const MD={mousedown:1,mousemove:2,mouseup:4};(function(t){const e=t.prototype.handler;t.prototype.handler=function(t){const n=this.store;t.button>0&&"pointerdown"===t.type&&(function(e,n){for(let i=0;i=0&&(this.pressed=!0),2&e&&0===t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}}(AD().MouseInput);const ID=AD().Manager;var DD=AD();const RD=DD?[[DD.Pan,{event:"tripan",pointers:3,threshold:0,enable:!1}],[DD.Rotate,{enable:!1}],[DD.Pinch,{enable:!1}],[DD.Swipe,{enable:!1}],[DD.Pan,{threshold:0,enable:!1}],[DD.Press,{enable:!1}],[DD.Tap,{event:"doubletap",taps:2,enable:!1}],[DD.Tap,{event:"anytap",enable:!1}],[DD.Tap,{enable:!1}]]:null,ND={tripan:["rotate","pinch","pan"],rotate:["pinch"],pinch:["pan"],pan:["press","doubletap","anytap","tap"],doubletap:["anytap"],anytap:["tap"]},LD={doubletap:["tap"]},jD={pointerdown:"pointerdown",pointermove:"pointermove",pointerup:"pointerup",touchstart:"pointerdown",touchmove:"pointermove",touchend:"pointerup",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup"},FD={KEY_EVENTS:["keydown","keyup"],MOUSE_EVENTS:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseleave"],WHEEL_EVENTS:["wheel","mousewheel"]},BD={tap:"tap",anytap:"anytap",doubletap:"doubletap",press:"press",pinch:"pinch",pinchin:"pinch",pinchout:"pinch",pinchstart:"pinch",pinchmove:"pinch",pinchend:"pinch",pinchcancel:"pinch",rotate:"rotate",rotatestart:"rotate",rotatemove:"rotate",rotateend:"rotate",rotatecancel:"rotate",tripan:"tripan",tripanstart:"tripan",tripanmove:"tripan",tripanup:"tripan",tripandown:"tripan",tripanleft:"tripan",tripanright:"tripan",tripanend:"tripan",tripancancel:"tripan",pan:"pan",panstart:"pan",panmove:"pan",panup:"pan",pandown:"pan",panleft:"pan",panright:"pan",panend:"pan",pancancel:"pan",swipe:"swipe",swipeleft:"swipe",swiperight:"swipe",swipeup:"swipe",swipedown:"swipe"},VD={click:"tap",anyclick:"anytap",dblclick:"doubletap",mousedown:"pointerdown",mousemove:"pointermove",mouseup:"pointerup",mouseover:"pointerover",mouseout:"pointerout",mouseleave:"pointerleave"},zD="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent.toLowerCase():"",UD="undefined"!=typeof window?window:global;"undefined"!=typeof global?global:window,"undefined"!=typeof document&&document;let HD=!1;try{const t={get passive(){return HD=!0,!0}};UD.addEventListener("test",t,t),UD.removeEventListener("test",t,t)}catch(m){}const $D=-1!==zD.indexOf("firefox"),{WHEEL_EVENTS:GD}=FD,WD=4.000244140625;class qD{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.events=GD.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(e=>t.addEventListener(e,this.handleEvent,!!HD&&{passive:!1}))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){"wheel"===t&&(this.options.enable=e)}handleEvent(t){if(!this.options.enable)return;let e=t.deltaY;UD.WheelEvent&&($D&&t.deltaMode===UD.WheelEvent.DOM_DELTA_PIXEL&&(e/=UD.devicePixelRatio),t.deltaMode===UD.WheelEvent.DOM_DELTA_LINE&&(e*=40));const n={x:t.clientX,y:t.clientY};0!==e&&e%WD==0&&(e=Math.floor(e/WD)),t.shiftKey&&e&&(e*=.25),this._onWheel(t,-e,n)}_onWheel(t,e,n){this.callback({type:"wheel",center:n,delta:e,srcEvent:t,pointerType:"mouse",target:t.target})}}const{MOUSE_EVENTS:YD}=FD,XD="pointermove",KD="pointerover",QD="pointerout",ZD="pointerleave";class JD{constructor(t,e,n={}){this.element=t,this.callback=e,this.pressed=!1,this.options=Object.assign({enable:!0},n),this.enableMoveEvent=this.options.enable,this.enableLeaveEvent=this.options.enable,this.enableOutEvent=this.options.enable,this.enableOverEvent=this.options.enable,this.events=YD.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),this.events.forEach(e=>t.addEventListener(e,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){t===XD&&(this.enableMoveEvent=e),t===KD&&(this.enableOverEvent=e),t===QD&&(this.enableOutEvent=e),t===ZD&&(this.enableLeaveEvent=e)}handleEvent(t){this.handleOverEvent(t),this.handleOutEvent(t),this.handleLeaveEvent(t),this.handleMoveEvent(t)}handleOverEvent(t){this.enableOverEvent&&"mouseover"===t.type&&this.callback({type:KD,srcEvent:t,pointerType:"mouse",target:t.target})}handleOutEvent(t){this.enableOutEvent&&"mouseout"===t.type&&this.callback({type:QD,srcEvent:t,pointerType:"mouse",target:t.target})}handleLeaveEvent(t){this.enableLeaveEvent&&"mouseleave"===t.type&&this.callback({type:ZD,srcEvent:t,pointerType:"mouse",target:t.target})}handleMoveEvent(t){if(this.enableMoveEvent)switch(t.type){case"mousedown":t.button>=0&&(this.pressed=!0);break;case"mousemove":0===t.which&&(this.pressed=!1),this.pressed||this.callback({type:XD,srcEvent:t,pointerType:"mouse",target:t.target});break;case"mouseup":this.pressed=!1}}}const{KEY_EVENTS:tR}=FD,eR="keydown";class nR{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=tR.concat(n.events||[]),this.handleEvent=this.handleEvent.bind(this),t.tabIndex=n.tabIndex||0,t.style.outline="none",this.events.forEach(e=>t.addEventListener(e,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,e){t===eR&&(this.enableDownEvent=e),"keyup"===t&&(this.enableUpEvent=e)}handleEvent(t){const e=t.target||t.srcElement;"INPUT"===e.tagName&&"text"===e.type||"TEXTAREA"===e.tagName||(this.enableDownEvent&&"keydown"===t.type&&this.callback({type:eR,srcEvent:t,key:t.key,target:t.target}),this.enableUpEvent&&"keyup"===t.type&&this.callback({type:"keyup",srcEvent:t,key:t.key,target:t.target}))}}const iR="contextmenu";class rR{constructor(t,e,n={}){this.element=t,this.callback=e,this.options=Object.assign({enable:!0},n),this.handleEvent=this.handleEvent.bind(this),t.addEventListener("contextmenu",this.handleEvent)}destroy(){this.element.removeEventListener("contextmenu",this.handleEvent)}enableEventType(t,e){t===iR&&(this.options.enable=e)}handleEvent(t){!this.options.enable||this.callback({type:iR,center:{x:t.clientX,y:t.clientY},srcEvent:t,pointerType:"mouse",target:t.target})}}const sR={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},oR={srcElement:"root",priority:0};class aR{constructor(t){this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this.handleEvent=this.handleEvent.bind(this),this._active=!1}isEmpty(){return!this._active}add(t,e,n,i=!1,r=!1){const{handlers:s,handlersByElement:o}=this;n&&("object"!=typeof n||n.addEventListener)&&(n={srcElement:n}),n=n?Object.assign({},oR,n):oR;let a=o.get(n.srcElement);a||(a=[],o.set(n.srcElement,a));const l={type:t,handler:e,srcElement:n.srcElement,priority:n.priority};i&&(l.once=!0),r&&(l.passive=!0),s.push(l),this._active=this._active||!l.passive;let c=a.length-1;for(;c>=0&&!(a[c].priority>=l.priority);)c--;a.splice(c+1,0,l)}remove(t,e){const{handlers:n,handlersByElement:i}=this;for(let r=n.length-1;r>=0;r--){const s=n[r];if(s.type===t&&s.handler===e){n.splice(r,1);const t=i.get(s.srcElement);t.splice(t.indexOf(s),1),0===t.length&&i.delete(s.srcElement)}}this._active=n.some(t=>!t.passive)}handleEvent(t){if(this.isEmpty())return;const e=this._normalizeEvent(t);let n=t.srcEvent.target;for(;n&&n!==e.rootElement;){if(this._emit(e,n),e.handled)return;n=n.parentNode}this._emit(e,"root")}_emit(t,e){const n=this.handlersByElement.get(e);if(n){let e=!1;const i=()=>{t.handled=!0},r=()=>{t.handled=!0,e=!0},s=[];for(let o=0;o{const e=this.manager.get(t);e&&ND[t].forEach(t=>{e.recognizeWith(t)})});for(const n in e.recognizerOptions){const t=this.manager.get(n);if(t){const i=e.recognizerOptions[n];delete i.enable,t.set(i)}}this.wheelInput=new qD(t,this._onOtherEvent,{enable:!1}),this.moveInput=new JD(t,this._onOtherEvent,{enable:!1}),this.keyInput=new nR(t,this._onOtherEvent,{enable:!1,tabIndex:e.tabIndex}),this.contextmenuInput=new rR(t,this._onOtherEvent,{enable:!1});for(const[n,i]of this.events)i.isEmpty()||(this._toggleRecognizer(i.recognizerName,!0),this.manager.on(n,i.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(t,e,n){this._addEventHandler(t,e,n,!1)}once(t,e,n){this._addEventHandler(t,e,n,!0)}watch(t,e,n){this._addEventHandler(t,e,n,!1,!0)}off(t,e){this._removeEventHandler(t,e)}_toggleRecognizer(t,e){const{manager:n}=this;if(!n)return;const i=n.get(t);if(i&&i.options.enable!==e){i.set({enable:e});const r=LD[t];r&&!this.options.recognizers&&r.forEach(r=>{const s=n.get(r);e?(s.requireFailure(t),i.dropRequireFailure(r)):s.dropRequireFailure(t)})}this.wheelInput.enableEventType(t,e),this.moveInput.enableEventType(t,e),this.keyInput.enableEventType(t,e),this.contextmenuInput.enableEventType(t,e)}_addEventHandler(t,e,n,i,r){if("string"!=typeof t){n=e;for(const e in t)this._addEventHandler(e,t[e],n,i,r);return}const{manager:s,events:o}=this,a=VD[t]||t;let l=o.get(a);l||(l=new aR(this),o.set(a,l),l.recognizerName=BD[a]||a,s&&s.on(a,l.handleEvent)),l.add(t,e,n,i,r),l.isEmpty()||this._toggleRecognizer(l.recognizerName,!0)}_removeEventHandler(t,e){if("string"!=typeof t){for(const e in t)this._removeEventHandler(e,t[e]);return}const{events:n}=this,i=n.get(VD[t]||t);if(i&&(i.remove(t,e),i.isEmpty())){const{recognizerName:t}=i;let e=!1;for(const i of n.values())if(i.recognizerName===t&&!i.isEmpty()){e=!0;break}e||this._toggleRecognizer(t,!1)}}_onBasicInput(t){const{srcEvent:e}=t,n=jD[e.type];n&&this.manager.emit(n,t)}_onOtherEvent(t){this.manager.emit(t.type,t)}}function uR(){}const hR={id:"",width:"100%",height:"100%",pickingRadius:0,layerFilter:null,glOptions:{},gl:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:"none",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},onWebGLInitialized:uR,onResize:uR,onViewStateChange:uR,onInteractionStateChange:uR,onBeforeRender:uR,onAfterRender:uR,onLoad:uR,onError:(t,e)=>Gw.error(t)(),_onMetrics:null,getCursor:({isDragging:t})=>t?"grabbing":"grab",debug:!1,drawPickingColors:!1};class dR{constructor(t){t=yt(yt({},hR),t),this.props={},this.width=0,this.height=0,this.viewManager=null,this.layerManager=null,this.effectManager=null,this.deckRenderer=null,this.deckPicker=null,this._needsRedraw=!0,this._pickRequest={},this._lastPointerDownInfo=null,this.viewState=null,this.interactiveState={isHovering:!1,isDragging:!1},this._onEvent=this._onEvent.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),t.viewState&&t.initialViewState&&Gw.warn("View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.")(),"IE"===(0,_D.qs)()&&Gw.warn("IE 11 support will be deprecated in v8.0")(),t.gl||"undefined"!=typeof document&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new Gx({id:"deck.gl"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&GS.setProps(t._typedArrayManagerProps),this.animationLoop.start()}finalize(){this.animationLoop.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,this.layerManager&&(this.layerManager.finalize(),this.layerManager=null,this.viewManager.finalize(),this.viewManager=null,this.effectManager.finalize(),this.effectManager=null,this.deckRenderer.finalize(),this.deckRenderer=null,this.deckPicker.finalize(),this.deckPicker=null,this.eventManager.destroy(),this.eventManager=null,this.tooltip.remove(),this.tooltip=null),!this.props.canvas&&!this.props.gl&&this.canvas&&(this.canvas.parentElement.removeChild(this.canvas),this.canvas=null)}setProps(t){this.stats.get("setProps Time").timeStart(),"onLayerHover"in t&&Gw.removed("onLayerHover","onHover")(),"onLayerClick"in t&&Gw.removed("onLayerClick","onClick")(),t.initialViewState&&!oM(this.props.initialViewState,t.initialViewState)&&(this.viewState=t.initialViewState),Object.assign(this.props,t),this._setCanvasSize(this.props);const e=Object.create(this.props);Object.assign(e,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(e),this.layerManager&&(this.viewManager.setProps(e),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(e),this.effectManager.setProps(e),this.deckRenderer.setProps(e),this.deckPicker.setProps(e)),this.stats.get("setProps Time").timeEnd()}needsRedraw(t={clearRedrawFlags:!1}){if(this.props._animate)return"Deck._animate";let e=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);const n=this.viewManager.needsRedraw(t),i=this.layerManager.needsRedraw(t),r=this.effectManager.needsRedraw(t),s=this.deckRenderer.needsRedraw(t);return e=e||n||i||r||s,e}redraw(t){if(!this.layerManager)return;const e=t||this.needsRedraw({clearRedrawFlags:!0});!e||(this.stats.get("Redraw Count").incrementCount(),this.props._customRender?this.props._customRender(e):this._drawLayers(e))}getViews(){return this.viewManager.views}getViewports(t){return this.viewManager.getViewports(t)}pickObject(t){const e=this._pick("pickObject","pickObject Time",t).result;return e.length?e[0]:null}pickMultipleObjects(t){return t.depth=t.depth||10,this._pick("pickObject","pickMultipleObjects Time",t).result}pickObjects(t){return this._pick("pickObjects","pickObjects Time",t)}_addResources(t,e=!1){for(const n in t)this.layerManager.resourceManager.add({resourceId:n,data:t[n],forceUpdate:e})}_removeResources(t){for(const e of t)this.layerManager.resourceManager.remove(e)}_pick(t,e,n){const{stats:i}=this;i.get("Pick Count").incrementCount(),i.get(e).timeStart();const r=this.deckPicker[t](yt({layers:this.layerManager.getLayers(n),views:this.viewManager.getViews(),viewports:this.getViewports(n),onViewportActive:this.layerManager.activateViewport},n));return i.get(e).timeEnd(),r}_createCanvas(t){let e=t.canvas;return"string"==typeof e&&(e=document.getElementById(e),RC(e)),e||(e=document.createElement("canvas"),e.id=t.id||"deckgl-overlay",(t.parent||document.body).appendChild(e)),Object.assign(e.style,t.style),e}_setCanvasSize(t){if(!this.canvas)return;let{width:e,height:n}=t;(e||0===e)&&(e=Number.isFinite(e)?"".concat(e,"px"):e,this.canvas.style.width=e),(n||0===n)&&(n=Number.isFinite(n)?"".concat(n,"px"):n,this.canvas.style.position="absolute",this.canvas.style.height=n)}_updateCanvasSize(){if(this._checkForCanvasSizeChange()){const{width:t,height:e}=this;this.viewManager.setProps({width:t,height:e}),this.props.onResize({width:this.width,height:this.height})}}_checkForCanvasSizeChange(){const{canvas:t}=this;if(!t)return!1;const e=t.clientWidth||t.width,n=t.clientHeight||t.height;return(e!==this.width||n!==this.height)&&(this.width=e,this.height=n,!0)}_createAnimationLoop(t){const{width:e,height:n,gl:i,glOptions:r,debug:s,onError:o,onBeforeRender:a,onAfterRender:l,useDevicePixels:c,autoResizeDrawingBuffer:u}=t;return new kD({width:e,height:n,useDevicePixels:c,autoResizeDrawingBuffer:u,autoResizeViewport:!1,gl:i,onCreateContext:t=>zx(zn(yt(yt({},r),t),{canvas:this.canvas,debug:s,onContextLost:()=>this._onContextLost()})),onInitialize:t=>this._setGLContext(t.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:a,onAfterRender:l,onError:o})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let t=this.props.views||[new SI({id:"default-view"})];return t=Array.isArray(t)?t:[t],t.length&&this.props.controller&&(t[0].props.controller=this.props.controller),t}_onContextLost(){const{onError:t}=this.props;this.animationLoop&&t&&t(new Error("WebGL context is lost"))}_onPointerMove(t){const{_pickRequest:e}=this;if("pointerleave"===t.type)e.x=-1,e.y=-1,e.radius=0;else{if(t.leftButton||t.rightButton)return;{const n=t.offsetCenter;if(!n)return;e.x=n.x,e.y=n.y,e.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:e.x,y:e.y}),e.event=t,e.mode="hover"}_pickAndCallback(){const{_pickRequest:t}=this;if(t.event){const{result:e,emptyInfo:n}=this._pick("pickObject","pickObject Time",t);this.interactiveState.isHovering=e.length>0;let i=n,r=!1;for(const s of e)i=s,r=s.layer.onHover(s,t.event);if(!r&&this.props.onHover&&this.props.onHover(i,t.event),this.props.getTooltip){const t=this.props.getTooltip(i);this.tooltip.setTooltip(t,i.x,i.y)}t.event=null}}_updateCursor(){const t=this.props.parent||this.canvas;t&&(t.style.cursor=this.props.getCursor(this.interactiveState))}_setGLContext(t){if(this.layerManager)return;this.canvas||(this.canvas=t.canvas,Ux(t,{enable:!0,copyState:!0})),this.tooltip=new jI(this.canvas),Mx(t,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(t);const e=new dI;e.play(),this.animationLoop.attachTimeline(e),this.eventManager=new cR(this.props.parent||t.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(const i in Yw)this.eventManager.on(i,this._onEvent);this.viewManager=new _I({timeline:e,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});const n=this.viewManager.getViewports()[0];this.layerManager=new vI(t,{deck:this,stats:this.stats,viewport:n,timeline:e}),this.effectManager=new EI,this.deckRenderer=new PI(t),this.deckPicker=new NI(t),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(t,e){const{gl:n}=this.layerManager.context;Mx(n,this.props.parameters),this.props.onBeforeRender({gl:n}),this.deckRenderer.renderLayers(yt({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:"screen",redrawReason:t,effects:this.effectManager.getEffects()},e)),this.props.onAfterRender({gl:n})}_onRenderFrame(t){this._getFrameStats(),this._metricsCounter++%60==0&&(this._getMetrics(),this.stats.reset(),Gw.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(!1),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(t){const e=this.props.onViewStateChange(t)||t.viewState;this.viewState&&(this.viewState=zn(yt({},this.viewState),{[t.viewId]:e}),this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(t){this.interactiveState.isDragging=t.isDragging,this.props.onInteractionStateChange(t)}_onEvent(t){const e=Yw[t.type],n=t.offsetCenter;if(!e||!n)return;const i=this.layerManager.getLayers(),r=this.deckPicker.getLastPickedObject({x:n.x,y:n.y,layers:i,viewports:this.getViewports(n)},this._lastPointerDownInfo),{layer:s}=r,o=s&&(s[e.handler]||s.props[e.handler]),a=this.props[e.handler];let l=!1;o&&(l=o.call(s,r,t)),!l&&a&&a(r,t)}_onPointerDown(t){const e=t.offsetCenter;this._lastPointerDownInfo=this.pickObject({x:e.x,y:e.y,radius:this.props.pickingRadius})}_getFrameStats(){const{stats:t}=this;t.get("frameRate").timeEnd(),t.get("frameRate").timeStart();const e=this.animationLoop.stats;t.get("GPU Time").addTime(e.get("GPU Time").lastTiming),t.get("CPU Time").addTime(e.get("CPU Time").lastTiming)}_getMetrics(){const{metrics:t,stats:e}=this;t.fps=e.get("frameRate").getHz(),t.setPropsTime=e.get("setProps Time").time,t.updateAttributesTime=e.get("Update Attributes").time,t.framesRedrawn=e.get("Redraw Count").count,t.pickTime=e.get("pickObject Time").time+e.get("pickMultipleObjects Time").time+e.get("pickObjects Time").time,t.pickCount=e.get("Pick Count").count,t.gpuTime=e.get("GPU Time").time,t.cpuTime=e.get("CPU Time").time,t.gpuTimePerFrame=e.get("GPU Time").getAverageTime(),t.cpuTimePerFrame=e.get("CPU Time").getAverageTime();const n=qx.get("Memory Usage");t.bufferMemory=n.get("Buffer Memory").count,t.textureMemory=n.get("Texture Memory").count,t.renderbufferMemory=n.get("Renderbuffer Memory").count,t.gpuMemory=n.get("GPU Memory").count}}dR.getPropTypes=function(t){return{id:t.string,width:t.oneOfType([t.number,t.string]),height:t.oneOfType([t.number,t.string]),layers:t.oneOfType([t.object,t.array]),layerFilter:t.func,views:t.oneOfType([t.object,t.array]),viewState:t.object,effects:t.arrayOf(t.instanceOf(WM)),controller:t.oneOfType([t.func,t.bool,t.object]),gl:t.object,glOptions:t.object,parameters:t.object,pickingRadius:t.number,useDevicePixels:t.oneOfType([t.bool,t.number]),touchAction:t.string,eventRecognizerOptions:t.object,onWebGLInitialized:t.func,onResize:t.func,onViewStateChange:t.func,onInteractionStateChange:t.func,onBeforeRender:t.func,onAfterRender:t.func,onLoad:t.func,onError:t.func,debug:t.bool,drawPickingColors:t.bool,_framebuffer:t.object,_animate:t.bool,_pickable:t.bool,_typedArrayManagerProps:t.object}},dR.defaultProps=hR,dR.VERSION=CD.VERSION;var pR={name:"project32",dependencies:[tI],vs:"\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n mat3 rotation = project_get_orientation_matrix(projectedPosition);\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n"};const fR={pickingSelectedColor:null,pickingHighlightColor:new Uint8Array([0,255,255,255]),pickingActive:!1,pickingAttribute:!1};var gR=yt({inject:{"vs:DECKGL_FILTER_COLOR":"\n picking_setPickingColor(geometry.pickingColor);\n // for picking depth values\n picking_setPickingAttribute(geometry.position.z);\n ","fs:DECKGL_FILTER_COLOR":{order:99,injection:"\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "}}},{name:"picking",vs:"uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n",fs:"uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n",getUniforms:function(t=fR){const e={};if(void 0!==t.pickingSelectedColor)if(t.pickingSelectedColor){const n=t.pickingSelectedColor.slice(0,3);e.picking_uSelectedColorValid=1,e.picking_uSelectedColor=n}else e.picking_uSelectedColorValid=0;if(t.pickingHighlightColor){const n=Array.from(t.pickingHighlightColor,t=>t/255);Number.isFinite(n[3])||(n[3]=1),e.picking_uHighlightColor=n}return void 0!==t.pickingActive&&(e.picking_uActive=Boolean(t.pickingActive),e.picking_uAttribute=Boolean(t.pickingAttribute)),e}});const mR={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6};class bR{static get DRAW_MODE(){return mR}constructor(t={}){const{id:e=Zx("geometry"),drawMode:n=mR.TRIANGLES,attributes:i={},indices:r=null,vertexCount:s=null}=t;this.id=e,this.drawMode=0|n,this.attributes={},this.userData={},this._setAttributes(i,r),this.vertexCount=s||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?yt({indices:this.indices},this.attributes):this.attributes}_print(t){return`Geometry ${this.id} attribute ${t}`}_setAttributes(t,e){e&&(this.indices=ArrayBuffer.isView(e)?{value:e,size:1}:e);for(const n in t){let e=t[n];e=ArrayBuffer.isView(e)?{value:e}:e,Yx(ArrayBuffer.isView(e.value),`${this._print(n)}: must be typed array or object with value as typed array`),("POSITION"===n||"positions"===n)&&!e.size&&(e.size=3),"indices"===n?(Yx(!this.indices),this.indices=e):this.attributes[n]=e}return this.indices&&void 0!==this.indices.isIndexed&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(t,e){if(e)return e.value.length;let n=1/0;for(const i in t){const e=t[i],{value:r,size:s,constant:o}=e;!o&&r&&s>=1&&(n=Math.min(n,r.length/s))}return Yx(Number.isFinite(n)),n}}const yR=()=>{},vR={10241:9987,10240:9729,10242:33071,10243:33071};function _R(t){return Math.pow(2,Math.ceil(Math.log2(t)))}function wR(t,e,n,i){return n===e.width&&i===e.height?e:(t.canvas.height=i,t.canvas.width=n,t.clearRect(0,0,t.canvas.width,t.canvas.height),t.drawImage(e,0,0,e.width,e.height,0,0,n,i),t.canvas)}function xR(t){return t&&(t.id||t.url)}function SR(t,e,n){for(let i=0;i0){const{mapping:t,xOffset:n,yOffset:i,rowHeight:r,canvasHeight:s}=function({icons:t,buffer:e,mapping:n={},xOffset:i=0,yOffset:r=0,rowHeight:s=0,canvasWidth:o}){let a=[];for(let l=0;lo&&(SR(n,a,r),i=0,r=s+r+e,s=0,a=[]),a.push({icon:c,xOffset:i}),i=i+l+e,s=Math.max(s,t)}}return a.length>0&&SR(n,a,r),{mapping:n,rowHeight:s,xOffset:i,yOffset:r,canvasWidth:o,canvasHeight:_R(s+r+e)}}({icons:e,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=r,this._mapping=t,this._xOffset=n,this._yOffset=i,this._canvasHeight=s,this._texture||(this._texture=new xS(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:vR})),this._texture.height!==this._canvasHeight&&(this._texture=function(t,e,n,i){const r=e.width,s=e.height,o=DS(e,{width:n,height:i});return function(t,e,n={}){const{sourceX:i=0,sourceY:r=0,targetMipmaplevel:s=0,targetInternalFormat:o=6408}=n;let{targetX:a,targetY:l,targetZ:c,width:u,height:h}=n;const{framebuffer:d,deleteFramebuffer:p}=jS(t);Yx(d);const{gl:f,handle:g}=d,m=void 0!==a||void 0!==l||void 0!==c;a=a||0,l=l||0,c=c||0;const b=f.bindFramebuffer(36160,g);Yx(e);let y=null;if(e instanceof _S&&(y=e,u=Number.isFinite(u)?u:y.width,h=Number.isFinite(h)?h:y.height,y.bind(0),e=y.target),m)switch(e){case 3553:case 34067:f.copyTexSubImage2D(e,s,a,l,i,r,u,h);break;case 35866:case 32879:tx(f).copyTexSubImage3D(e,s,a,l,c,i,r,u,h)}else f.copyTexImage2D(e,s,o,i,r,u,h,0);y&&y.unbind(),f.bindFramebuffer(36160,b||null),p&&d.delete()}(e,o,{targetY:0,width:r,height:s}),e.delete(),o}(0,this._texture,this._canvasWidth,this._canvasHeight)),this.onUpdate(),this._loadIcons(e)}}_loadIcons(t){const e=this._canvas.getContext("2d");for(const n of t)this._pendingCount++,YA(n.url,vD,this._loadOptions).then(t=>{const i=xR(n),{x:r,y:s,width:o,height:a}=this._mapping[i],l=wR(e,t,o,a);this._texture.setSubImageData({data:l,x:r,y:s,width:o,height:a}),this._texture.generateMipmap(),this.onUpdate()}).catch(t=>{this.onError({url:n.url,source:n.source,sourceIndex:n.sourceIndex,loadOptions:this._loadOptions,error:t})}).finally(()=>{this._pendingCount--})}}const ER=[0,0,0,255],OR={iconAtlas:{type:"image",value:null,async:!0},iconMapping:{type:"object",value:{},async:!0},sizeScale:{type:"number",value:1,min:0},billboard:!0,sizeUnits:"pixels",sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:"number",value:.05,min:0,max:1},getPosition:{type:"accessor",value:t=>t.position},getIcon:{type:"accessor",value:t=>t.icon},getColor:{type:"accessor",value:ER},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},onIconError:{type:"function",value:null,compare:!1,optional:!0}};let TR=(()=>{class t extends eM{getShaders(){return super.getShaders({vs:"#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n",fs:"#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[pR,gR]})}initializeState(){this.state={iconManager:new CR(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceOffsets:{size:2,accessor:"getIcon",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:"getIcon",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:"getIcon",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:"getColor",defaultValue:ER},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instancePixelOffset:{size:2,transition:!0,accessor:"getPixelOffset"}})}updateState({oldProps:t,props:e,changeFlags:n}){super.updateState({props:e,oldProps:t,changeFlags:n});const i=this.getAttributeManager(),{iconAtlas:r,iconMapping:s,data:o,getIcon:a}=e,{iconManager:l}=this.state;l.setProps({loadOptions:e.loadOptions});let c=!1;if(r||this.internalState.isAsyncPropLoading("iconAtlas")?(t.iconAtlas!==e.iconAtlas&&l.setProps({iconAtlas:r,autoPacking:!1}),t.iconMapping!==e.iconMapping&&(l.setProps({iconMapping:s}),c=!0)):l.setProps({autoPacking:!0}),(n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getIcon))&&l.setProps({data:o,getIcon:a}),c&&(i.invalidate("instanceOffsets"),i.invalidate("instanceIconFrames"),i.invalidate("instanceColorModes")),n.extensionsChanged){var u;const{gl:t}=this.context;null===(u=this.state.model)||void 0===u||u.delete(),this.state.model=this._getModel(t),i.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(){super.finalizeState(),this.state.iconManager.finalize()}draw({uniforms:t}){const{sizeScale:e,sizeMinPixels:n,sizeMaxPixels:i,sizeUnits:r,billboard:s,alphaCutoff:o}=this.props,{iconManager:a}=this.state,{viewport:l}=this.context,c=a.getTexture();c&&this.state.model.setUniforms(t).setUniforms({iconsTexture:c,iconsTextureDim:[c.width,c.height],sizeScale:e*("pixels"===r?l.metersPerPixel:1),sizeMinPixels:n,sizeMaxPixels:i,billboard:s,alphaCutoff:o}).draw()}_getModel(t){return new WO(t,zn(yt({},this.getShaders()),{id:this.props.id,geometry:new bR({drawMode:6,attributes:{positions:{size:2,value:new Float32Array([-1,-1,-1,1,1,1,1,-1])}}}),isInstanced:!0}))}_onUpdate(){this.setNeedsRedraw()}_onError(t){const{onIconError:e}=this.getCurrentLayer().props;e?e(t):Gw.error(t.error)()}getInstanceOffset(t){const e=this.state.iconManager.getIconMapping(t);return[e.width/2-e.anchorX||0,e.height/2-e.anchorY||0]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){const e=this.state.iconManager.getIconMapping(t);return[e.x||0,e.y||0,e.width||0,e.height||0]}}return t.layerName="IconLayer",t.defaultProps=OR,t})();const kR=[],PR={getIconOffsets:{type:"accessor",value:t=>t.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:"color",value:[0,0,0,255]}};let AR=(()=>{class t extends TR{getShaders(){return zn(yt({},super.getShaders()),{fs:"#define SHADER_NAME multi-icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float gamma;\nuniform bool sdf;\nuniform float alphaCutoff;\nuniform float buffer;\nuniform float outlineBuffer;\nuniform vec4 outlineColor;\n\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n if (!picking_uActive) {\n float alpha = texture2D(iconsTexture, vTextureCoords).a;\n vec4 color = vColor;\n if (sdf) {\n float distance = alpha;\n alpha = smoothstep(buffer - gamma, buffer + gamma, distance);\n\n if (outlineBuffer > 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:"getIconOffsets"},instancePickingColors:{type:5121,size:3,accessor:(t,{index:e,target:n})=>this.encodePickingColor(e,n)}})}updateState(t){super.updateState(t);const{props:e,oldProps:n}=t;let{outlineColor:i}=e;i!==n.outlineColor&&(i=i.map(t=>t/255),i[3]=Number.isFinite(i[3])?i[3]:1,this.setState({outlineColor:i})),!e.sdf&&e.outlineWidth&&Gw.warn("".concat(this.id,": fontSettings.sdf is required to render outline"))()}draw(t){const{sdf:e,smoothing:n,outlineWidth:i}=this.props,{outlineColor:r}=this.state;t.uniforms=zn(yt({},t.uniforms),{buffer:.75,outlineBuffer:i?Math.max(n,.75*(1-i)):-1,gamma:n,sdf:Boolean(e),outlineColor:r}),super.draw(t)}getInstanceOffset(t){return t?Array.from(t).map(t=>super.getInstanceOffset(t)):kR}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).map(t=>super.getInstanceIconFrame(t)):kR}}return t.layerName="MultiIconLayer",t.defaultProps=PR,t})();var MR=n(51002),IR=n.n(MR);const DR=[];function RR(t){return Math.pow(2,Math.ceil(Math.log2(t)))}function NR(t,e,n,i){let r=0;for(let s=e;si&&(oa){let e=NR(t,a,l,r);c+e>i&&(oi&&(e=LR(t,a,l,i,r,s),o=s[s.length-1])),a=l,c+=e}}(t,r,s,n,i,o),o}function FR(t,e,n,i,r,s){let o=0,a=0;for(let l=e;l0,u=[0,0],h=[];let d=0,p=0,f=0;for(let g=0;g<=s;g++){const m=t[g];if(("\n"===m||g===s)&&(f=g),f>p){const s=c?jR(t,n,i,r,p,f):DR;for(let n=0;n<=s.length;n++){const i=0===n?p:s[n-1],c=ne===t);e>=0&&this._order.splice(e,1)}_appendOrder(t){this._order.push(t)}}(3),HR=["fontFamily","fontWeight","characterSet","fontSize","sdf","buffer","cutoff","radius"];function $R(t,e){for(let n=0;n{e in t&&(this.props[e]=t[e])});const e=this._key;this._key=this._getKey();const n=function(t,e){const n=UR.get(t);if(!n)return e;const i=[];let r=Object.keys(n.mapping);r=new Set(r);let s=e;return s instanceof Array&&(s=new Set(s)),s.forEach(t=>{r.has(t)||i.push(t)}),i}(this._key,this.props.characterSet),i=UR.get(this._key);if(i&&0===n.length)return void(this._key!==e&&(this._atlas=i));const r=this._generateFontAtlas(this._key,n,i);this._atlas=r,UR.set(this._key,r)}_generateFontAtlas(t,e,n){const{fontFamily:i,fontWeight:r,fontSize:s,buffer:o,sdf:a,radius:l,cutoff:c}=this.props;let u=n&&n.data;u||(u=document.createElement("canvas"),u.width=1024);const h=u.getContext("2d");GR(h,i,s,r);const{mapping:d,canvasHeight:p,xOffset:f,yOffset:g}=function({characterSet:t,getFontWidth:e,fontHeight:n,buffer:i,maxCanvasWidth:r,mapping:s={},xOffset:o=0,yOffset:a=0}){let l=0,c=o,u=0;for(const d of t)if(!s[d]){const t=e(d,u++);c+t+2*i>r&&(c=0,l++),s[d]={x:c+i,y:a+l*(n+2*i)+i,width:t,height:n},c+=t+2*i}const h=n+2*i;return{mapping:s,xOffset:c,yOffset:a+l*h,canvasHeight:RR(a+(l+1)*h)}}(yt({getFontWidth:t=>h.measureText(t).width,fontHeight:1.2*s,buffer:o,characterSet:e,maxCanvasWidth:1024},n&&{mapping:n.mapping,xOffset:n.xOffset,yOffset:n.yOffset}));if(u.height!==p){const t=h.getImageData(0,0,u.width,u.height);u.height=p,h.putImageData(t,0,0)}if(GR(h,i,s,r),a){const t=new(IR())(s,o,l,c,i,r),n=h.getImageData(0,0,t.size,t.size);for(const i of e)$R(t.draw(i),n),h.putImageData(n,d[i].x-o,d[i].y+o)}else for(const m of e)h.fillText(m,d[m].x,d[m].y+.9*s);return{xOffset:f,yOffset:g,mapping:d,data:u,width:u.width,height:u.height}}_getKey(){const{fontFamily:t,fontWeight:e,fontSize:n,buffer:i,sdf:r,radius:s,cutoff:o}=this.props;return r?"".concat(t," ").concat(e," ").concat(n," ").concat(i," ").concat(s," ").concat(o):"".concat(t," ").concat(e," ").concat(n," ").concat(i)}}const qR={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:"array",value:[0,0,0,0]},getPosition:{type:"accessor",value:t=>t.position},getSize:{type:"accessor",value:1},getAngle:{type:"accessor",value:0},getPixelOffset:{type:"accessor",value:[0,0]},getBoundingRect:{type:"accessor",value:[0,0,0,0]},getFillColor:{type:"accessor",value:[0,0,0,255]},getLineColor:{type:"accessor",value:[0,0,0,255]},getLineWidth:{type:"accessor",value:1}};let YR=(()=>{class t extends eM{getShaders(){return super.getShaders({vs:"#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n",fs:"#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[pR,gR]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:"getPosition"},instanceSizes:{size:1,transition:!0,accessor:"getSize",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:"getAngle"},instanceRects:{size:4,accessor:"getBoundingRect"},instancePixelOffsets:{size:2,transition:!0,accessor:"getPixelOffset"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getFillColor",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:"getLineColor",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:"getLineWidth",defaultValue:1}})}updateState({props:t,oldProps:e,changeFlags:n}){if(super.updateState({props:t,oldProps:e,changeFlags:n}),n.extensionsChanged){var i;const{gl:t}=this.context;null===(i=this.state.model)||void 0===i||i.delete(),this.state.model=this._getModel(t),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){const{viewport:e}=this.context,{billboard:n,sizeScale:i,sizeUnits:r,sizeMinPixels:s,sizeMaxPixels:o,getLineWidth:a}=this.props;let{padding:l}=this.props;const c="pixels"===r?e.metersPerPixel:1;l.length<4&&(l=[l[0],l[1],l[0],l[1]]),this.state.model.setUniforms(t).setUniforms({billboard:n,stroked:Boolean(a),padding:l,sizeScale:i*c,sizeMinPixels:s,sizeMaxPixels:o}).draw()}_getModel(t){return new WO(t,zn(yt({},this.getShaders()),{id:this.props.id,geometry:new bR({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array([0,0,1,0,1,1,0,1])}}}),isInstanced:!0}))}}return t.layerName="TextBackgroundLayer",t.defaultProps=qR,t})();const XR={fontSize:64,buffer:4,sdf:!1,radius:12,cutoff:.25,smoothing:.1},KR={start:1,middle:0,end:-1},QR={top:1,center:0,bottom:-1},ZR=[0,0,0,255],JR=["fontSize","buffer","sdf","radius","cutoff"],tN={billboard:!0,sizeScale:1,sizeUnits:"pixels",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:"accessor",value:[255,255,255,255]},getBorderColor:{type:"accessor",value:ZR},getBorderWidth:{type:"accessor",value:0},backgroundPadding:{type:"array",value:[0,0,0,0]},characterSet:{type:"object",value:VR},fontFamily:zR,fontWeight:"normal",lineHeight:1,outlineWidth:{type:"number",value:0,min:0},outlineColor:{type:"color",value:ZR},fontSettings:{},wordBreak:"break-word",maxWidth:{type:"number",value:-1},getText:{type:"accessor",value:t=>t.text},getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:ZR},getSize:{type:"accessor",value:32},getAngle:{type:"accessor",value:0},getTextAnchor:{type:"accessor",value:"middle"},getAlignmentBaseline:{type:"accessor",value:"center"},getPixelOffset:{type:"accessor",value:[0,0]},backgroundColor:{deprecatedFor:["background","getBackgroundColor"]}};let eN=(()=>{class t extends nM{initializeState(){this.state={styleVersion:0,fontAtlasManager:new WR}}updateState({props:t,oldProps:e,changeFlags:n}){const i=this.state.characterSet;(n.dataChanged||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getText))&&this._updateText();const r=i!==this.state.characterSet||this._fontChanged(e,t);r&&this._updateFontAtlas(e,t),(r||t.lineHeight!==e.lineHeight||t.wordBreak!==e.wordBreak||t.maxWidth!==e.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(t,e){const{fontSettings:n,fontFamily:i,fontWeight:r}=e,{fontAtlasManager:s,characterSet:o}=this.state;s.setProps(zn(yt(yt({},XR),n),{characterSet:o,fontFamily:i,fontWeight:r}))}_fontChanged(t,e){if(t.fontFamily!==e.fontFamily||t.fontWeight!==e.fontWeight)return!0;if(t.fontSettings===e.fontSettings)return!1;const n=t.fontSettings||{},i=e.fontSettings||{};return JR.some(t=>n[t]!==i[t])}_updateText(){const{data:t,characterSet:e}=this.props,n=t.attributes&&t.attributes.getText;let i,{getText:r}=this.props,{startIndices:s}=t;const o="auto"===e&&new Set;if(n&&s){const{texts:e,characterCount:a}=function({value:t,length:e,stride:n,offset:i,startIndices:r,characterSet:s}){const o=t.BYTES_PER_ELEMENT,a=n?n/o:1,l=i?i/o:0,c=r[e]||Math.ceil((t.length-l)/a),u=s&&new Set,h=new Array(e);let d=t;if(a>1||l>0){d=new t.constructor(c);for(let e=0;ee[n]}else{const{iterable:e,objectInfo:n}=jC(t);s=[0],i=0;for(const t of e){n.index++;const e=Array.from(r(t,n)||"");o&&e.forEach(o.add,o),i+=e.length,s.push(i)}}this.setState({getText:r,startIndices:s,numInstances:i,characterSet:o||e})}getBoundingRect(t,e){const n=this.state.fontAtlasManager.mapping,{getText:i}=this.state,{wordBreak:r,maxWidth:s,lineHeight:o,getTextAnchor:a,getAlignmentBaseline:l}=this.props,c=i(t,e)||"",{size:[u,h]}=BR(c,o,r,s,n);return[(KR["function"==typeof a?a(t,e):a]-1)*u/2,(QR["function"==typeof l?l(t,e):l]-1)*h/2,u,h]}getIconOffsets(t,e){const n=this.state.fontAtlasManager.mapping,{getText:i}=this.state,{wordBreak:r,maxWidth:s,lineHeight:o,getTextAnchor:a,getAlignmentBaseline:l}=this.props,c=i(t,e)||"",{x:u,y:h,rowWidth:d,size:[p,f]}=BR(c,o,r,s,n),g=KR["function"==typeof a?a(t,e):a],m=QR["function"==typeof l?l(t,e):l],b=u.length,y=new Array(2*b);let v=0;for(let _=0;_t*e/255)}const sN={name:"lights",vs:nN,fs:nN,getUniforms:function t(e=iN){if("lightSources"in e){const{ambientLight:t,pointLights:n,directionalLights:i}=e.lightSources||{};return t||n&&n.length>0||i&&i.length>0?Object.assign({},function({ambientLight:t,pointLights:e=[],directionalLights:n=[]}){const i={};return i["lighting_uAmbientLight.color"]=t?rN(t):[0,0,0],e.forEach((t,e)=>{i[`lighting_uPointLight[${e}].color`]=rN(t),i[`lighting_uPointLight[${e}].position`]=t.position,i[`lighting_uPointLight[${e}].attenuation`]=t.attenuation||[1,0,0]}),i.lighting_uPointLightCount=e.length,n.forEach((t,e)=>{i[`lighting_uDirectionalLight[${e}].color`]=rN(t),i[`lighting_uDirectionalLight[${e}].direction`]=t.direction}),i.lighting_uDirectionalLightCount=n.length,i}({ambientLight:t,pointLights:n,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if("lights"in e){const n={pointLights:[],directionalLights:[]};for(const t of e.lights||[])switch(t.type){case"ambient":n.ambientLight=t;break;case"directional":n.directionalLights.push(t);break;case"point":n.pointLights.push(t)}return t({lightSources:n})}return{}},defines:{MAX_LIGHTS:3}};const oN={};const aN={name:"phong-lighting",dependencies:[sN],fs:"\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n",defines:{LIGHTING_FRAGMENT:1},getUniforms:function(t=oN){if(!("material"in t))return{};const{material:e}=t;return e?function(t){const{ambient:e=.35,diffuse:n=.6,shininess:i=32,specularColor:r=[30,30,30]}=t;return{lighting_uAmbient:e,lighting_uDiffuse:n,lighting_uShininess:i,lighting_uSpecularColor:r.map(t=>t/255)}}(e):{lighting_uEnabled:!1}}},lN=Math.PI/180,cN=new Float32Array(16),uN=new Float32Array(12);function hN(t,e,n){const i=e[0]*lN,r=e[1]*lN,s=e[2]*lN,o=Math.sin(s),a=Math.sin(i),l=Math.sin(r),c=Math.cos(s),u=Math.cos(i),h=Math.cos(r),d=n[0],p=n[1],f=n[2];t[0]=d*h*u,t[1]=d*l*u,t[2]=d*-a,t[3]=p*(-l*c+h*a*o),t[4]=p*(h*c+l*a*o),t[5]=p*u*o,t[6]=f*(l*o+h*a*c),t[7]=f*(-h*o+l*a*c),t[8]=f*u*c}function dN(t){return t[0]=t[0],t[1]=t[1],t[2]=t[2],t[3]=t[4],t[4]=t[5],t[5]=t[6],t[6]=t[8],t[7]=t[9],t[8]=t[10],t[9]=t[12],t[10]=t[13],t[11]=t[14],t.subarray(0,12)}const pN={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrix__LOCATION_0:{size:3,elementOffset:0},instanceModelMatrix__LOCATION_1:{size:3,elementOffset:3},instanceModelMatrix__LOCATION_2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(t,{startRow:e,endRow:n}){const{data:i,getOrientation:r,getScale:s,getTranslation:o,getTransformMatrix:a}=this.props,l=Array.isArray(a),c=l&&16===a.length,u=Array.isArray(s),h=Array.isArray(r),d=Array.isArray(o),p=c||!l&&Boolean(a(i[0]));t.constant=p?c:h&&u&&d;const f=t.value;if(t.constant){let e;p?(cN.set(a),e=dN(cN)):(e=uN,hN(e,r,s),e.set(o,9)),t.value=new Float32Array(e)}else{let l=e*t.size;const{iterable:g,objectInfo:m}=jC(i,e,n);for(const t of g){let e;m.index++,p?(cN.set(c?a:a(t,m)),e=dN(cN)):(e=uN,hN(e,h?r:r(t,m),u?s:s(t,m)),e.set(d?o:o(t,m),9)),f[l++]=e[0],f[l++]=e[1],f[l++]=e[2],f[l++]=e[3],f[l++]=e[4],f[l++]=e[5],f[l++]=e[6],f[l++]=e[7],f[l++]=e[8],f[l++]=e[9],f[l++]=e[10],f[l++]=e[11]}}}};function fN(t,e){return e===Ww.CARTESIAN||e===Ww.METER_OFFSETS||e===Ww.DEFAULT&&!t.isGeospatial}function gN(t,e){(t.COLOR_0||t.colors)&&e||(t.colors={constant:!0,value:new Float32Array([1,1,1])}),Gw.assert(t.positions||t.POSITION,'no "postions" or "POSITION" attribute in mesh')}function mN(t,e){if(t.attributes)return gN(t.attributes,e),t instanceof bR?t:new bR(t);if(t.positions||t.POSITION)return gN(t,e),new bR({attributes:t});throw Error("Invalid mesh")}const bN={mesh:{value:null,type:"object",async:!0},texture:{type:"image",value:null,async:!0},sizeScale:{type:"number",value:1,min:0},_useMeshColors:{type:"boolean",value:!1},_instanced:!0,wireframe:!1,material:!0,getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:[0,0,0,255]},getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]}};let yN=(()=>{class t extends eM{getShaders(){const t=!Zw(this.context.gl),e={};return zS(this.context.gl,"GLSL_DERIVATIVES")&&(e.DERIVATIVES_AVAILABLE=1),super.getShaders({vs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\nuniform float sizeScale;\nuniform bool composeModelMatrix;\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = texCoords;\n geometry.pickingColor = instancePickingColors;\n\n vTexCoord = texCoords;\n cameraPosition = project_uCameraPosition;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n geometry.normal = normals_commonspace;\n\n vec3 pos = (instanceModelMatrix * positions) * sizeScale + instanceTranslation;\n\n if (composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), position_commonspace);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, position_commonspace);\n }\n\n geometry.position = position_commonspace;\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n",modules:[pR,aN,gR],transpileToGLSL100:t,defines:e})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{transition:!0,type:5130,fp64:this.use64bitPositions(),size:3,accessor:"getPosition"},instanceColors:{type:5121,transition:!0,size:this.props.colorFormat.length,normalized:!0,accessor:"getColor",defaultValue:[0,0,0,255]},instanceModelMatrix:pN}),this.setState({emptyTexture:new xS(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}updateState({props:t,oldProps:e,changeFlags:n}){if(super.updateState({props:t,oldProps:e,changeFlags:n}),t.mesh!==e.mesh||n.extensionsChanged){var i;if(null===(i=this.state.model)||void 0===i||i.delete(),t.mesh){this.state.model=this.getModel(t.mesh);const e=t.mesh.attributes||t.mesh;this.setState({hasNormals:Boolean(e.NORMAL||e.normals)})}this.getAttributeManager().invalidateAll()}t.texture!==e.texture&&this.setTexture(t.texture),this.state.model&&this.state.model.setDrawMode(this.props.wireframe?3:4)}finalizeState(){super.finalizeState(),this.state.emptyTexture.delete()}draw({uniforms:t}){if(!this.state.model)return;const{viewport:e}=this.context,{sizeScale:n,coordinateSystem:i,_instanced:r}=this.props;this.state.model.setUniforms(t).setUniforms({sizeScale:n,composeModelMatrix:!r||fN(e,i),flatShading:!this.state.hasNormals}).draw()}getModel(t){const e=new WO(this.context.gl,zn(yt({},this.getShaders()),{id:this.props.id,geometry:mN(t,this.props._useMeshColors),isInstanced:!0})),{texture:n}=this.props,{emptyTexture:i}=this.state;return e.setUniforms({sampler:n||i,hasTexture:Boolean(n)}),e}setTexture(t){const{emptyTexture:e,model:n}=this.state;null==n||n.setUniforms({sampler:t||e,hasTexture:Boolean(t)})}}return t.layerName="SimpleMeshLayer",t.defaultProps=bN,t})();const vN={name:"pbr",vs:"uniform mat4 u_MVPMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_NormalMatrix;\n\nvarying vec3 pbr_vPosition;\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n# ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n# else\nvarying vec3 pbr_vNormal;\n# endif\n#endif\n\nvoid pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)\n{\n vec4 pos = u_ModelMatrix * position;\n pbr_vPosition = vec3(pos.xyz) / pos.w;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\n vec3 normalW = normalize(vec3(u_NormalMatrix * vec4(normal.xyz, 0.0)));\n vec3 tangentW = normalize(vec3(u_ModelMatrix * vec4(tangent.xyz, 0.0)));\n vec3 bitangentW = cross(normalW, tangentW) * tangent.w;\n pbr_vTBN = mat3(tangentW, bitangentW, normalW);\n#else\n pbr_vNormal = normalize(vec3(u_ModelMatrix * vec4(normal.xyz, 0.0)));\n#endif\n#endif\n\n#ifdef HAS_UV\n pbr_vUV = uv;\n#else\n pbr_vUV = vec2(0.,0.);\n#endif\n}\n",fs:"#if defined(USE_TEX_LOD) && !defined(FEATURE_GLSL_TEXTURE_LOD)\n# error PBR fragment shader: Texture LOD is not available\n#endif\n\n#if !defined(HAS_TANGENTS) && !defined(FEATURE_GLSL_DERIVATIVES)\n# error PBR fragment shader: Derivatives are not available\n#endif\n\n\n#if (__VERSION__ < 300)\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL1COND; INCR)\n#else\n #define SMART_FOR(INIT, WEBGL1COND, WEBGL2COND, INCR) for (INIT; WEBGL2COND; INCR)\n#endif\n\nprecision highp float;\n\nuniform bool pbr_uUnlit;\n\n#ifdef USE_IBL\nuniform samplerCube u_DiffuseEnvSampler;\nuniform samplerCube u_SpecularEnvSampler;\nuniform sampler2D u_brdfLUT;\nuniform vec2 u_ScaleIBLAmbient;\n#endif\n\n#ifdef HAS_BASECOLORMAP\nuniform sampler2D u_BaseColorSampler;\n#endif\n#ifdef HAS_NORMALMAP\nuniform sampler2D u_NormalSampler;\nuniform float u_NormalScale;\n#endif\n#ifdef HAS_EMISSIVEMAP\nuniform sampler2D u_EmissiveSampler;\nuniform vec3 u_EmissiveFactor;\n#endif\n#ifdef HAS_METALROUGHNESSMAP\nuniform sampler2D u_MetallicRoughnessSampler;\n#endif\n#ifdef HAS_OCCLUSIONMAP\nuniform sampler2D u_OcclusionSampler;\nuniform float u_OcclusionStrength;\n#endif\n\n#ifdef ALPHA_CUTOFF\nuniform float u_AlphaCutoff;\n#endif\n\nuniform vec2 u_MetallicRoughnessValues;\nuniform vec4 u_BaseColorFactor;\n\nuniform vec3 u_Camera;\n#ifdef PBR_DEBUG\nuniform vec4 u_ScaleDiffBaseMR;\nuniform vec4 u_ScaleFGDSpec;\n#endif\n\nvarying vec3 pbr_vPosition;\n\nvarying vec2 pbr_vUV;\n\n#ifdef HAS_NORMALS\n#ifdef HAS_TANGENTS\nvarying mat3 pbr_vTBN;\n#else\nvarying vec3 pbr_vNormal;\n#endif\n#endif\n\n\nstruct PBRInfo\n{\n float NdotL;\n float NdotV;\n float NdotH;\n float LdotH;\n float VdotH;\n float perceptualRoughness;\n float metalness;\n vec3 reflectance0;\n vec3 reflectance90;\n float alphaRoughness;\n vec3 diffuseColor;\n vec3 specularColor;\n vec3 n;\n vec3 v;\n};\n\nconst float M_PI = 3.141592653589793;\nconst float c_MinRoughness = 0.04;\n\nvec4 SRGBtoLINEAR(vec4 srgbIn)\n{\n#ifdef MANUAL_SRGB\n#ifdef SRGB_FAST_APPROXIMATION\n vec3 linOut = pow(srgbIn.xyz,vec3(2.2));\n#else\n vec3 bLess = step(vec3(0.04045),srgbIn.xyz);\n vec3 linOut = mix( srgbIn.xyz/vec3(12.92), pow((srgbIn.xyz+vec3(0.055))/vec3(1.055),vec3(2.4)), bLess );\n#endif\n return vec4(linOut,srgbIn.w);;\n#else\n return srgbIn;\n#endif\n}\n\nvec3 getNormal()\n{\n#ifndef HAS_TANGENTS\n vec3 pos_dx = dFdx(pbr_vPosition);\n vec3 pos_dy = dFdy(pbr_vPosition);\n vec3 tex_dx = dFdx(vec3(pbr_vUV, 0.0));\n vec3 tex_dy = dFdy(vec3(pbr_vUV, 0.0));\n vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);\n\n#ifdef HAS_NORMALS\n vec3 ng = normalize(pbr_vNormal);\n#else\n vec3 ng = cross(pos_dx, pos_dy);\n#endif\n\n t = normalize(t - ng * dot(ng, t));\n vec3 b = normalize(cross(ng, t));\n mat3 tbn = mat3(t, b, ng);\n#else\n mat3 tbn = pbr_vTBN;\n#endif\n\n#ifdef HAS_NORMALMAP\n vec3 n = texture2D(u_NormalSampler, pbr_vUV).rgb;\n n = normalize(tbn * ((2.0 * n - 1.0) * vec3(u_NormalScale, u_NormalScale, 1.0)));\n#else\n vec3 n = normalize(tbn[2].xyz);\n#endif\n\n return n;\n}\n\n\n#ifdef USE_IBL\nvec3 getIBLContribution(PBRInfo pbrInputs, vec3 n, vec3 reflection)\n{\n float mipCount = 9.0;\n float lod = (pbrInputs.perceptualRoughness * mipCount);\n vec3 brdf = SRGBtoLINEAR(texture2D(u_brdfLUT,\n vec2(pbrInputs.NdotV, 1.0 - pbrInputs.perceptualRoughness))).rgb;\n vec3 diffuseLight = SRGBtoLINEAR(textureCube(u_DiffuseEnvSampler, n)).rgb;\n\n#ifdef USE_TEX_LOD\n vec3 specularLight = SRGBtoLINEAR(textureCubeLod(u_SpecularEnvSampler, reflection, lod)).rgb;\n#else\n vec3 specularLight = SRGBtoLINEAR(textureCube(u_SpecularEnvSampler, reflection)).rgb;\n#endif\n\n vec3 diffuse = diffuseLight * pbrInputs.diffuseColor;\n vec3 specular = specularLight * (pbrInputs.specularColor * brdf.x + brdf.y);\n diffuse *= u_ScaleIBLAmbient.x;\n specular *= u_ScaleIBLAmbient.y;\n\n return diffuse + specular;\n}\n#endif\n\n\nvec3 diffuse(PBRInfo pbrInputs)\n{\n return pbrInputs.diffuseColor / M_PI;\n}\n\nvec3 specularReflection(PBRInfo pbrInputs)\n{\n return pbrInputs.reflectance0 +\n (pbrInputs.reflectance90 - pbrInputs.reflectance0) *\n pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0);\n}\n\n\n\nfloat geometricOcclusion(PBRInfo pbrInputs)\n{\n float NdotL = pbrInputs.NdotL;\n float NdotV = pbrInputs.NdotV;\n float r = pbrInputs.alphaRoughness;\n\n float attenuationL = 2.0 * NdotL / (NdotL + sqrt(r * r + (1.0 - r * r) * (NdotL * NdotL)));\n float attenuationV = 2.0 * NdotV / (NdotV + sqrt(r * r + (1.0 - r * r) * (NdotV * NdotV)));\n return attenuationL * attenuationV;\n}\n\n\n\n\n\nfloat microfacetDistribution(PBRInfo pbrInputs)\n{\n float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness;\n float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0;\n return roughnessSq / (M_PI * f * f);\n}\n\nvoid PBRInfo_setAmbientLight(inout PBRInfo pbrInputs) {\n pbrInputs.NdotL = 1.0;\n pbrInputs.NdotH = 0.0;\n pbrInputs.LdotH = 0.0;\n pbrInputs.VdotH = 1.0;\n}\n\nvoid PBRInfo_setDirectionalLight(inout PBRInfo pbrInputs, vec3 lightDirection) {\n vec3 n = pbrInputs.n;\n vec3 v = pbrInputs.v;\n vec3 l = normalize(lightDirection);\n vec3 h = normalize(l+v);\n\n pbrInputs.NdotL = clamp(dot(n, l), 0.001, 1.0);\n pbrInputs.NdotH = clamp(dot(n, h), 0.0, 1.0);\n pbrInputs.LdotH = clamp(dot(l, h), 0.0, 1.0);\n pbrInputs.VdotH = clamp(dot(v, h), 0.0, 1.0);\n}\n\nvoid PBRInfo_setPointLight(inout PBRInfo pbrInputs, PointLight pointLight) {\n vec3 light_direction = normalize(pointLight.position - pbr_vPosition);\n PBRInfo_setDirectionalLight(pbrInputs, light_direction);\n}\n\nvec3 calculateFinalColor(PBRInfo pbrInputs, vec3 lightColor) {\n vec3 F = specularReflection(pbrInputs);\n float G = geometricOcclusion(pbrInputs);\n float D = microfacetDistribution(pbrInputs);\n vec3 diffuseContrib = (1.0 - F) * diffuse(pbrInputs);\n vec3 specContrib = F * G * D / (4.0 * pbrInputs.NdotL * pbrInputs.NdotV);\n return pbrInputs.NdotL * lightColor * (diffuseContrib + specContrib);\n}\n\nvec4 pbr_filterColor(vec4 colorUnused)\n{\n#ifdef HAS_BASECOLORMAP\n vec4 baseColor = SRGBtoLINEAR(texture2D(u_BaseColorSampler, pbr_vUV)) * u_BaseColorFactor;\n#else\n vec4 baseColor = u_BaseColorFactor;\n#endif\n\n#ifdef ALPHA_CUTOFF\n if (baseColor.a < u_AlphaCutoff) {\n discard;\n }\n#endif\n\n vec3 color = vec3(0, 0, 0);\n\n if(pbr_uUnlit){\n color.rgb = baseColor.rgb;\n }\n else{\n\n\n float perceptualRoughness = u_MetallicRoughnessValues.y;\n float metallic = u_MetallicRoughnessValues.x;\n#ifdef HAS_METALROUGHNESSMAP\n\n vec4 mrSample = texture2D(u_MetallicRoughnessSampler, pbr_vUV);\n perceptualRoughness = mrSample.g * perceptualRoughness;\n metallic = mrSample.b * metallic;\n#endif\n perceptualRoughness = clamp(perceptualRoughness, c_MinRoughness, 1.0);\n metallic = clamp(metallic, 0.0, 1.0);\n\n float alphaRoughness = perceptualRoughness * perceptualRoughness;\n\n vec3 f0 = vec3(0.04);\n vec3 diffuseColor = baseColor.rgb * (vec3(1.0) - f0);\n diffuseColor *= 1.0 - metallic;\n vec3 specularColor = mix(f0, baseColor.rgb, metallic);\n float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n\n\n\n float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0);\n vec3 specularEnvironmentR0 = specularColor.rgb;\n vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90;\n\n vec3 n = getNormal();\n vec3 v = normalize(u_Camera - pbr_vPosition);\n\n float NdotV = clamp(abs(dot(n, v)), 0.001, 1.0);\n vec3 reflection = -normalize(reflect(v, n));\n\n PBRInfo pbrInputs = PBRInfo(\n 0.0,\n NdotV,\n 0.0,\n 0.0,\n 0.0,\n perceptualRoughness,\n metallic,\n specularEnvironmentR0,\n specularEnvironmentR90,\n alphaRoughness,\n diffuseColor,\n specularColor,\n n,\n v\n );\n\n#ifdef USE_LIGHTS\n PBRInfo_setAmbientLight(pbrInputs);\n color += calculateFinalColor(pbrInputs, lighting_uAmbientLight.color);\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uDirectionalLightCount, i++) {\n if (i < lighting_uDirectionalLightCount) {\n PBRInfo_setDirectionalLight(pbrInputs, lighting_uDirectionalLight[i].direction);\n color += calculateFinalColor(pbrInputs, lighting_uDirectionalLight[i].color);\n }\n }\n SMART_FOR(int i = 0, i < MAX_LIGHTS, i < lighting_uPointLightCount, i++) {\n if (i < lighting_uPointLightCount) {\n PBRInfo_setPointLight(pbrInputs, lighting_uPointLight[i]);\n float attenuation = getPointLightAttenuation(lighting_uPointLight[i], distance(lighting_uPointLight[i].position, pbr_vPosition));\n color += calculateFinalColor(pbrInputs, lighting_uPointLight[i].color / attenuation);\n }\n }\n#endif\n#ifdef USE_IBL\n color += getIBLContribution(pbrInputs, n, reflection);\n#endif\n#ifdef HAS_OCCLUSIONMAP\n float ao = texture2D(u_OcclusionSampler, pbr_vUV).r;\n color = mix(color, color * ao, u_OcclusionStrength);\n#endif\n\n#ifdef HAS_EMISSIVEMAP\n vec3 emissive = SRGBtoLINEAR(texture2D(u_EmissiveSampler, pbr_vUV)).rgb * u_EmissiveFactor;\n color += emissive;\n#endif\n\n#ifdef PBR_DEBUG\n\n\n\n\n\n color = mix(color, baseColor.rgb, u_ScaleDiffBaseMR.y);\n color = mix(color, vec3(metallic), u_ScaleDiffBaseMR.z);\n color = mix(color, vec3(perceptualRoughness), u_ScaleDiffBaseMR.w);\n#endif\n\n }\n\n return vec4(pow(color,vec3(1.0/2.2)), baseColor.a);\n}\n",defines:{LIGHTING_FRAGMENT:1},dependencies:[sN]};class _N{constructor(t={}){const{id:e}=t;this.id=e||Zx(this.constructor.name),this.display=!0,this.position=new OC,this.rotation=new OC,this.scale=new OC(1,1,1),this.matrix=new VT,this.userData={},this.props={},this._setScenegraphNodeProps(t)}delete(){}setProps(t){return this._setScenegraphNodeProps(t),this}toString(){return`{type: ScenegraphNode, id: ${this.id})}`}setPosition(t){return Yx(3===t.length,"setPosition requires vector argument"),this.position=t,this}setRotation(t){return Yx(3===t.length,"setRotation requires vector argument"),this.rotation=t,this}setScale(t){return Yx(3===t.length,"setScale requires vector argument"),this.scale=t,this}setMatrix(t,e=!0){e?this.matrix.copy(t):this.matrix=t}setMatrixComponents({position:t,rotation:e,scale:n,update:i=!0}){return t&&this.setPosition(t),e&&this.setRotation(e),n&&this.setScale(n),i&&this.updateMatrix(),this}updateMatrix(){const t=this.position,e=this.rotation,n=this.scale;return this.matrix.identity(),this.matrix.translate(t),this.matrix.rotateXYZ(e),this.matrix.scale(n),this}update(t={}){const{position:e,rotation:n,scale:i}=t;return e&&this.setPosition(e),n&&this.setRotation(n),i&&this.setScale(i),this.updateMatrix(),this}getCoordinateUniforms(t,e){Yx(t),e=e||this.matrix;const n=new VT(t).multiplyRight(e),i=n.invert(),r=i.transpose();return{viewMatrix:t,modelMatrix:e,objectMatrix:e,worldMatrix:n,worldInverseMatrix:i,worldInverseTransposeMatrix:r}}_setScenegraphNodeProps(t){"display"in t&&(this.display=t.display),"position"in t&&this.setPosition(t.position),"rotation"in t&&this.setRotation(t.rotation),"scale"in t&&this.setScale(t.scale),"matrix"in t&&this.setMatrix(t.matrix),Object.assign(this.props,t)}}class wN extends _N{constructor(t={}){t=Array.isArray(t)?{children:t}:t;const{children:e=[]}=t;Xw.assert(e.every(t=>t instanceof _N),"every child must an instance of ScenegraphNode"),super(t),this.children=e}add(...t){for(const e of t)Array.isArray(e)?this.add(...e):this.children.push(e);return this}remove(t){const e=this.children,n=e.indexOf(t);return n>-1&&e.splice(n,1),this}removeAll(){return this.children=[],this}delete(){this.children.forEach(t=>t.delete()),this.removeAll(),super.delete()}traverse(t,{worldMatrix:e=new VT}={}){const n=new VT(e).multiplyRight(this.matrix);for(const i of this.children)i instanceof wN?i.traverse(t,{worldMatrix:n}):t(i,{worldMatrix:n})}}function xN(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],d=n[0],p=n[1],f=n[2],g=n[3],m=n[4],b=n[5],y=n[6],v=n[7],_=n[8];return t[0]=d*i+p*o+f*c,t[1]=d*r+p*a+f*u,t[2]=d*s+p*l+f*h,t[3]=g*i+m*o+b*c,t[4]=g*r+m*a+b*u,t[5]=g*s+m*l+b*h,t[6]=y*i+v*o+_*c,t[7]=y*r+v*a+_*u,t[8]=y*s+v*l+_*h,t}function SN(t,e,n){var i=n[0],r=n[1];return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=r*e[3],t[4]=r*e[4],t[5]=r*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function CN(){var t=new hC(4);return hC!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function EN(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function ON(t,e,n){n*=.5;var i=Math.sin(n);return t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=Math.cos(n),t}function TN(t,e,n){var i=e[0],r=e[1],s=e[2],o=e[3],a=n[0],l=n[1],c=n[2],u=n[3];return t[0]=i*u+o*a+r*c-s*l,t[1]=r*u+o*l+s*a-i*c,t[2]=s*u+o*c+i*l-r*a,t[3]=o*u-i*a-r*l-s*c,t}function kN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l+o*a,t[1]=r*l+s*a,t[2]=s*l-r*a,t[3]=o*l-i*a,t}function PN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l-s*a,t[1]=r*l+o*a,t[2]=s*l+i*a,t[3]=o*l-r*a,t}function AN(t,e,n){n*=.5;var i=e[0],r=e[1],s=e[2],o=e[3],a=Math.sin(n),l=Math.cos(n);return t[0]=i*l+r*a,t[1]=r*l-i*a,t[2]=s*l+o*a,t[3]=o*l-s*a,t}function MN(t,e){var n=e[0],i=e[1],r=e[2];return t[0]=n,t[1]=i,t[2]=r,t[3]=Math.sqrt(Math.abs(1-n*n-i*i-r*r)),t}function IN(t,e,n,i){var r,s,o,a,l,c=e[0],u=e[1],h=e[2],d=e[3],p=n[0],f=n[1],g=n[2],m=n[3];return(s=c*p+u*f+h*g+d*m)<0&&(s=-s,p=-p,f=-f,g=-g,m=-m),1-s>uC?(r=Math.acos(s),o=Math.sin(r),a=Math.sin((1-i)*r)/o,l=Math.sin(i*r)/o):(a=1-i,l=i),t[0]=a*c+l*p,t[1]=a*u+l*f,t[2]=a*h+l*g,t[3]=a*d+l*m,t}function DN(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=n*n+i*i+r*r+s*s,a=o?1/o:0;return t[0]=-n*a,t[1]=-i*a,t[2]=-r*a,t[3]=s*a,t}function RN(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function NN(t,e){var n,i=e[0]+e[4]+e[8];if(i>0)n=Math.sqrt(i+1),t[3]=.5*n,t[0]=(e[5]-e[7])*(n=.5/n),t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,o=(r+2)%3;n=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*o+o]+1),t[r]=.5*n,t[3]=(e[3*s+o]-e[3*o+s])*(n=.5/n),t[s]=(e[3*s+r]+e[3*r+s])*n,t[o]=(e[3*o+r]+e[3*r+o])*n}return t}var LN=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t},jN=xT,FN=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},BN=function(t,e,n,i){var r=e[0],s=e[1],o=e[2],a=e[3];return t[0]=r+i*(n[0]-r),t[1]=s+i*(n[1]-s),t[2]=o+i*(n[2]-o),t[3]=a+i*(n[3]-a),t},VN=function(t){return Math.hypot(t[0],t[1],t[2],t[3])},zN=function(t){var e=t[0],n=t[1],i=t[2],r=t[3];return e*e+n*n+i*i+r*r},UN=function(){var t=dC(),e=pC(1,0,0),n=pC(0,1,0);return function(i,r,s){var o=fC(r,s);return o<-.999999?(gC(t,e,r),function(t){return Math.hypot(t[0],t[1],t[2])}(t)<1e-6&&gC(t,n,r),function(t,e){var n=e[0],i=e[1],r=e[2],s=n*n+i*i+r*r;s>0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s}(t,t),ON(i,t,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(gC(t,r,s),i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=1+o,function(t,e){var n=e[0],i=e[1],r=e[2],s=e[3],o=n*n+i*i+r*r+s*s;return o>0&&(o=1/Math.sqrt(o)),t[0]=n*o,t[1]=i*o,t[2]=r*o,t[3]=s*o,t}(i,i))}}();CN(),CN(),function(){var t=new hC(9);hC!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1}();const HN=[0,0,0,1];class $N extends rC{constructor(t=0,e=0,n=0,i=1){super(-0,-0,-0,-0),Array.isArray(t)&&1===arguments.length?this.copy(t):this.set(t,e,n,i)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,e,n,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=i,this.check()}fromMatrix3(t){return NN(this,t),this.check()}identity(){return EN(this),this.check()}fromAxisRotation(t,e){return ON(this,t,e),this.check()}setAxisAngle(t,e){return this.fromAxisRotation(t,e)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=sC(t)}get y(){return this[1]}set y(t){this[1]=sC(t)}get z(){return this[2]}set z(t){this[2]=sC(t)}get w(){return this[3]}set w(t){this[3]=sC(t)}len(){return VN(this)}lengthSquared(){return zN(this)}dot(t,e){if(void 0!==e)throw new Error("Quaternion.dot only takes one argument");return FN(this,t)}rotationTo(t,e){return UN(this,t,e),this.check()}add(t,e){if(void 0!==e)throw new Error("Quaternion.add only takes one argument");return LN(this,this,t),this.check()}calculateW(){return MN(this,this),this.check()}conjugate(){return RN(this,this),this.check()}invert(){return DN(this,this),this.check()}lerp(t,e,n){return BN(this,t,e,n),this.check()}multiplyRight(t,e){return iC(!e),TN(this,this,t),this.check()}multiplyLeft(t,e){return iC(!e),TN(this,t,this),this.check()}normalize(){const t=this.len(),e=t>0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return kN(this,this,t),this.check()}rotateY(t){return PN(this,this,t),this.check()}rotateZ(t){return AN(this,this,t),this.check()}scale(t){return jN(this,this,t),this.check()}slerp(t,e,n){switch(arguments.length){case 1:({start:t=HN,target:e,ratio:n}=arguments[0]);break;case 2:[e,n]=arguments,t=this}return IN(this,t,e,n),this.check()}transformVector4(t,e=t){return CT(e,t,this),oC(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t,e){return this.multiplyLeft(t,e)}multiply(t,e){return this.multiplyRight(t,e)}}const GN={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},WN={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function qN(t){if(!t._animation){const e=WN[t.componentType],n=GN[t.type],i=n*t.count,{buffer:r,byteOffset:s}=t.bufferView.data,o=new e(r,s+(t.byteOffset||0),i);if(1===n)t._animation=Array.from(o);else{const e=[];for(let t=0;t{(function(t,{input:e,interpolation:n,output:i},r,s){const o=t%e[e.length-1],a=e.findIndex(t=>t>=o),l=Math.max(0,a-1);if(!Array.isArray(r[s]))switch(s){case"translation":r[s]=[0,0,0];break;case"rotation":r[s]=[0,0,0,1];break;case"scale":r[s]=[1,1,1];break;default:Xw.warn(`Bad animation path ${s}`)()}Yx(r[s].length===i[l].length);const c=e[l],u=e[a];switch(n){case"STEP":!function(t,e,n){for(let i=0;ic&&function(t,e,n,i,r){if("rotation"===e){XN.slerp({start:n,target:i,ratio:r});for(let n=0;nc&&function(t,e,{p0:n,outTangent0:i,inTangent1:r,p1:s,tDiff:o,ratio:a}){for(let l=0;l{const i=e.name||`Animation-${n}`,r=e.samplers.map(({input:e,interpolation:n="LINEAR",output:i})=>({input:qN(t.accessors[e]),interpolation:n,output:qN(t.accessors[i])})),s=e.channels.map(({sampler:e,target:n})=>({sampler:r[e],target:t.nodes[n.node],path:n.path}));return new KN({name:i,channels:s})})}animate(t){this.setTime(t)}setTime(t){this.animations.forEach(e=>e.animate(t))}getAnimations(){return this.animations}}class ZN extends _N{constructor(t,e={}){super(e),this.onBeforeRender=null,this.AfterRender=null,t instanceof WO?(this.model=t,this._setModelNodeProps(e)):this.model=new WO(t,e),this.managedResources=e.managedResources||[]}setProps(t){return super.setProps(t),this._setModelNodeProps(t),this}delete(){this.model&&(this.model.delete(),this.model=null),this.managedResources.forEach(t=>t.delete()),this.managedResources=[]}draw(...t){return this.model.draw(...t)}setUniforms(...t){return this.model.setUniforms(...t),this}setAttributes(...t){return this.model.setAttributes(...t),this}updateModuleSettings(...t){return this.model.updateModuleSettings(...t),this}_setModelNodeProps(t){this.model.setProps(t)}}class JN{constructor(t,{attributes:e,material:n,pbrDebug:i,imageBasedLightingEnvironment:r,lights:s,useTangents:o}){this.gl=t,this.defines={MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},zS(t,"GLSL_TEXTURE_LOD")&&(this.defines.USE_TEX_LOD=1),this.uniforms={u_Camera:[0,0,0],u_MetallicRoughnessValues:[1,1]},this.parameters={},this.generatedTextures=[],r&&(this.uniforms.u_DiffuseEnvSampler=r.getDiffuseEnvSampler(),this.uniforms.u_SpecularEnvSampler=r.getSpecularEnvSampler(),this.uniforms.u_brdfLUT=r.getBrdfTexture(),this.uniforms.u_ScaleIBLAmbient=[1,1]),i&&(this.uniforms.u_ScaleDiffBaseMR=[0,0,0,0],this.uniforms.u_ScaleFGDSpec=[0,0,0,0]),this.defineIfPresent(e.NORMAL,"HAS_NORMALS"),this.defineIfPresent(e.TANGENT&&o,"HAS_TANGENTS"),this.defineIfPresent(e.TEXCOORD_0,"HAS_UV"),this.defineIfPresent(r,"USE_IBL"),this.defineIfPresent(s,"USE_LIGHTS"),this.defineIfPresent(i,"PBR_DEBUG"),n&&this.parseMaterial(n)}defineIfPresent(t,e){t&&(this.defines[e]=1)}parseTexture(t,e,n=null){const i=t.texture.source.image;let r,s={};i.compressed?(r=i,s={[this.gl.TEXTURE_MIN_FILTER]:i.data.length>1?this.gl.LINEAR_MIPMAP_NEAREST:this.gl.LINEAR}):r={data:i};const o=new xS(this.gl,yt({id:t.name||t.id,parameters:yt(yt({},t.texture&&t.texture.sampler&&t.texture.sampler.parameters||{}),s),pixelStore:{[this.gl.UNPACK_FLIP_Y_WEBGL]:!1}},r));this.uniforms[e]=o,this.defineIfPresent(n,n),this.generatedTextures.push(o)}parsePbrMetallicRoughness(t){t.baseColorTexture&&this.parseTexture(t.baseColorTexture,"u_BaseColorSampler","HAS_BASECOLORMAP"),this.uniforms.u_BaseColorFactor=t.baseColorFactor||[1,1,1,1],t.metallicRoughnessTexture&&this.parseTexture(t.metallicRoughnessTexture,"u_MetallicRoughnessSampler","HAS_METALROUGHNESSMAP");const{metallicFactor:e=1,roughnessFactor:n=1}=t;this.uniforms.u_MetallicRoughnessValues=[e,n]}parseMaterial(t){if(this.uniforms.pbr_uUnlit=Boolean(t.unlit),t.pbrMetallicRoughness&&this.parsePbrMetallicRoughness(t.pbrMetallicRoughness),t.normalTexture){this.parseTexture(t.normalTexture,"u_NormalSampler","HAS_NORMALMAP");const{scale:e=1}=t.normalTexture;this.uniforms.u_NormalScale=e}if(t.occlusionTexture){this.parseTexture(t.occlusionTexture,"u_OcclusionSampler","HAS_OCCLUSIONMAP");const{strength:e=1}=t.occlusionTexture;this.uniforms.u_OcclusionStrength=e}if(t.emissiveTexture&&(this.parseTexture(t.emissiveTexture,"u_EmissiveSampler","HAS_EMISSIVEMAP"),this.uniforms.u_EmissiveFactor=t.emissiveFactor||[0,0,0]),"MASK"===t.alphaMode){const{alphaCutoff:e=.5}=t;this.defines.ALPHA_CUTOFF=1,this.uniforms.u_AlphaCutoff=e}else"BLEND"===t.alphaMode&&(Xw.warn("BLEND alphaMode might not work well because it requires mesh sorting")(),Object.assign(this.parameters,{blend:!0,blendEquation:this.gl.FUNC_ADD,blendFunc:[this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA]}))}}function tL(t,e){return Zw(t)?`#version 300 es\n${e}`:e}const eL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},nL={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1};class iL{constructor(t,e={}){this.gl=t,this.options=Object.assign({},nL,e)}instantiate(t){return this.gltf=t,(t.scenes||[]).map(t=>this.createScene(t))}createAnimator(){return Array.isArray(this.gltf.animations)?new QN(this.gltf):null}createScene(t){const e=(t.nodes||[]).map(t=>this.createNode(t));return new wN({id:t.name||t.id,children:e})}createNode(t){if(!t._node){const e=(t.children||[]).map(t=>this.createNode(t));t.mesh&&e.push(this.createMesh(t.mesh));const n=new wN({id:t.name||t.id,children:e});if(t.matrix)n.setMatrix(t.matrix);else{if(n.matrix.identity(),t.translation&&n.matrix.translate(t.translation),t.rotation){const e=(new VT).fromQuaternion(t.rotation);n.matrix.multiplyRight(e)}t.scale&&n.matrix.scale(t.scale)}t._node=n}return t._node}createMesh(t){if(!t._mesh){const e=(t.primitives||[]).map((e,n)=>this.createPrimitive(e,n,t)),n=new wN({id:t.name||t.id,children:e});t._mesh=n}return t._mesh}getVertexCount(t){Xw.warn("getVertexCount() not found")()}createPrimitive(t,e,n){return function(t,e){const{id:n,drawMode:i,vertexCount:r,attributes:s,modelOptions:o}=e,a=new JN(t,e);Xw.info(4,"createGLTFModel defines: ",a.defines)();const l=[];l.push(...a.generatedTextures),l.push(...Object.values(s).map(t=>t.buffer));const c=new ZN(t,Object.assign({id:n,drawMode:i,vertexCount:r,modules:[vN],defines:a.defines,parameters:a.parameters,vs:tL(t,"\n#if (__VERSION__ < 300)\n #define _attr attribute\n#else\n #define _attr in\n#endif\n\n _attr vec4 POSITION;\n\n #ifdef HAS_NORMALS\n _attr vec4 NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _attr vec4 TANGENT;\n #endif\n\n #ifdef HAS_UV\n _attr vec2 TEXCOORD_0;\n #endif\n\n void main(void) {\n vec4 _NORMAL = vec4(0.);\n vec4 _TANGENT = vec4(0.);\n vec2 _TEXCOORD_0 = vec2(0.);\n\n #ifdef HAS_NORMALS\n _NORMAL = NORMAL;\n #endif\n\n #ifdef HAS_TANGENTS\n _TANGENT = TANGENT;\n #endif\n\n #ifdef HAS_UV\n _TEXCOORD_0 = TEXCOORD_0;\n #endif\n\n pbr_setPositionNormalTangentUV(POSITION, _NORMAL, _TANGENT, _TEXCOORD_0);\n gl_Position = u_MVPMatrix * POSITION;\n }\n"),fs:tL(t,"\n#if (__VERSION__ < 300)\n #define fragmentColor gl_FragColor\n#else\n out vec4 fragmentColor;\n#endif\n\n void main(void) {\n fragmentColor = pbr_filterColor(vec4(0));\n }\n"),managedResources:l},o));return c.setProps({attributes:s}),c.setUniforms(a.uniforms),c}(this.gl,Object.assign({id:t.name||`${n.name||n.id}-primitive-${e}`,drawMode:t.mode||4,vertexCount:t.indices?t.indices.count:this.getVertexCount(t.attributes),attributes:this.createAttributes(t.attributes,t.indices),material:t.material},this.options))}createAttributes(t,e){const n={};return Object.keys(t).forEach(e=>{n[e]=this.createAccessor(t[e],this.createBuffer(t[e],this.gl.ARRAY_BUFFER))}),e&&(n.indices=this.createAccessor(e,this.createBuffer(e,this.gl.ELEMENT_ARRAY_BUFFER))),Xw.info(4,"glTF Attributes",{attributes:t,indices:e,generated:n})(),n}createBuffer(t,e){t.bufferView||(t.bufferView={});const{bufferView:n}=t;return n.lumaBuffers||(n.lumaBuffers={}),n.lumaBuffers[e]||(n.lumaBuffers[e]=new fS(this.gl,{id:`from-${n.id}`,data:n.data||t.value,target:e})),n.lumaBuffers[e]}createAccessor(t,e){return new uS({buffer:e,offset:t.byteOffset||0,stride:t.bufferView.byteStride||0,type:t.componentType,size:eL[t.type]})}createSampler(t){return t}needsPOT(){return!1}}function rL(t,e,n){if(t.byteLength<=e+n)return"";const i=new DataView(t);let r="";for(let s=0;se[t.name]);return new cL(n,this.metadata)}selectAt(...t){const e=t.map(t=>this.fields[t]).filter(Boolean);return new cL(e,this.metadata)}assign(t){let e,n=this.metadata;if(t instanceof cL){const i=t;e=i.fields,n=uL(uL(new Map,this.metadata),i.metadata)}else e=t;const i=Object.create(null);for(const s of this.fields)i[s.name]=s;for(const s of e)i[s.name]=s;const r=Object.values(i);return new cL(r,n)}}function uL(t,e){return new Map([...t||new Map,...e||new Map])}let hL,dL,pL,fL,gL,mL,bL,yL;!function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth"}(hL||(hL={}));class vL{static isNull(t){return t&&t.typeId===hL.Null}static isInt(t){return t&&t.typeId===hL.Int}static isFloat(t){return t&&t.typeId===hL.Float}static isBinary(t){return t&&t.typeId===hL.Binary}static isUtf8(t){return t&&t.typeId===hL.Utf8}static isBool(t){return t&&t.typeId===hL.Bool}static isDecimal(t){return t&&t.typeId===hL.Decimal}static isDate(t){return t&&t.typeId===hL.Date}static isTime(t){return t&&t.typeId===hL.Time}static isTimestamp(t){return t&&t.typeId===hL.Timestamp}static isInterval(t){return t&&t.typeId===hL.Interval}static isList(t){return t&&t.typeId===hL.List}static isStruct(t){return t&&t.typeId===hL.Struct}static isUnion(t){return t&&t.typeId===hL.Union}static isFixedSizeBinary(t){return t&&t.typeId===hL.FixedSizeBinary}static isFixedSizeList(t){return t&&t.typeId===hL.FixedSizeList}static isMap(t){return t&&t.typeId===hL.Map}static isDictionary(t){return t&&t.typeId===hL.Dictionary}get typeId(){return hL.NONE}compareTo(t){return this===t}}Symbol,Symbol,dL=Symbol.toStringTag;class _L extends vL{constructor(t,e){super(),kP(this,"isSigned",void 0),kP(this,"bitWidth",void 0),this.isSigned=t,this.bitWidth=e}get typeId(){return hL.Int}get[dL](){return"Int"}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}class wL extends _L{constructor(){super(!0,8)}}class xL extends _L{constructor(){super(!0,16)}}class SL extends _L{constructor(){super(!0,32)}}class CL extends _L{constructor(){super(!1,8)}}class EL extends _L{constructor(){super(!1,16)}}class OL extends _L{constructor(){super(!1,32)}}pL=Symbol.toStringTag;class TL extends vL{constructor(t){super(),kP(this,"precision",void 0),this.precision=t}get typeId(){return hL.Float}get[pL](){return"Float"}toString(){return`Float${this.precision}`}}class kL extends TL{constructor(){super(32)}}class PL extends TL{constructor(){super(64)}}Symbol,Symbol,fL=Symbol.toStringTag,gL=Symbol.toStringTag,mL=Symbol.toStringTag,bL=Symbol.toStringTag,yL=Symbol.toStringTag;class AL extends vL{constructor(t,e){super(),kP(this,"listSize",void 0),kP(this,"children",void 0),this.listSize=t,this.children=[e]}get typeId(){return hL.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get[yL](){return"FixedSizeList"}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}class ML{constructor(t,e,n=!1,i=new Map){kP(this,"name",void 0),kP(this,"type",void 0),kP(this,"nullable",void 0),kP(this,"metadata",void 0),this.name=t,this.type=e,this.nullable=n,this.metadata=i}get typeId(){return this.type&&this.type.typeId}clone(){return new ML(this.name,this.type,this.nullable,this.metadata)}compareTo(t){return this.name===t.name&&this.type===t.type&&this.nullable===t.nullable&&this.metadata===t.metadata}toString(){return`${this.type}${this.nullable?", nullable":""}${this.metadata?`, metadata: ${this.metadata}`:""}`}}function IL(t,e,n){const i=n?DL(n.metadata):void 0,r=function(t){switch(t.constructor){case Int8Array:return new wL;case Uint8Array:return new CL;case Int16Array:return new xL;case Uint16Array:return new EL;case Int32Array:return new SL;case Uint32Array:return new OL;case Float32Array:return new kL;case Float64Array:return new PL;default:throw new Error("array type not supported")}}(e.value);return new ML(t,new AL(e.size,new ML("value",r)),!1,i)}function DL(t){const e=new Map;for(const n in t)e.set(`${n}.string`,JSON.stringify(t[n]));return e}const RL={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},NL={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array};class LL{constructor(t){kP(this,"draco",void 0),kP(this,"decoder",void 0),kP(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(t,e={}){const n=new this.draco.DecoderBuffer;n.Init(new Int8Array(t),t.byteLength),this._disableAttributeTransforms(e);const i=this.decoder.GetEncodedGeometryType(n),r=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let t;switch(i){case this.draco.TRIANGULAR_MESH:t=this.decoder.DecodeBufferToMesh(n,r);break;case this.draco.POINT_CLOUD:t=this.decoder.DecodeBufferToPointCloud(n,r);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!t.ok()||!r.ptr){const e=`DRACO decompression failed: ${t.error_msg()}`;throw new Error(e)}const s=this._getDracoLoaderData(r,i,e),o=this._getMeshData(r,s,e),a=function(t){let e=1/0,n=1/0,i=1/0,r=-1/0,s=-1/0,o=-1/0;const a=t.POSITION?t.POSITION.value:[],l=a&&a.length;for(let c=0;cr?t:r,s=l>s?l:s,o=u>o?u:o}return[[e,n,i],[r,s,o]]}(o.attributes),l=function(t,e,n){const i=DL(e.metadata),r=[],s=function(t){const e={};for(const n in t){const i=t[n];e[i.name||"undefined"]=i}return e}(e.attributes);for(const o in t){const e=IL(o,t[o],s[o]);r.push(e)}if(n){const t=IL("indices",n);r.push(t)}return new cL(r,i)}(o.attributes,s,o.indices);return zn(yt({loader:"draco",loaderData:s,header:{vertexCount:r.num_points(),boundingBox:a}},o),{schema:l})}finally{this.draco.destroy(n),r&&this.draco.destroy(r)}}_getDracoLoaderData(t,e,n){const i=this._getTopLevelMetadata(t),r=this._getDracoAttributes(t,n);return{geometry_type:e,num_attributes:t.num_attributes(),num_points:t.num_points(),num_faces:t instanceof this.draco.Mesh?t.num_faces():0,metadata:i,attributes:r}}_getDracoAttributes(t,e){const n={};for(let i=0;ithis.decoder[t]).includes(i)){const e=new this.draco.AttributeQuantizationTransform;try{if(e.InitFromAttribute(t))return{quantization_bits:e.quantization_bits(),range:e.range(),min_values:new Float32Array([1,2,3]).map(t=>e.min_value(t))}}finally{this.draco.destroy(e)}}return null}_getOctahedronTransform(t,e){const{octahedronAttributes:n=[]}=e,i=t.attribute_type();if(n.map(t=>this.decoder[t]).includes(i)){const e=new this.draco.AttributeQuantizationTransform;try{if(e.InitFromAttribute(t))return{quantization_bits:e.quantization_bits()}}finally{this.draco.destroy(e)}}return null}}var jL=n(49125);const FL={};function BL(t){return VL.apply(this,arguments)}function VL(){return(VL=PS(function*(t,e=null,n={}){return e&&(t=zL(t,e,n)),FL[t]=FL[t]||UL(t),yield FL[t]})).apply(this,arguments)}function zL(t,e,n){if(t.startsWith("http"))return t;const i=n.modules||{};return i[t]?i[t]:$P?n.CDN?(VP(n.CDN.startsWith("http")),`${n.CDN}/${e}@3.0.12/dist/libs/${t}`):GP?`../src/libs/${t}`:`modules/${e}/src/libs/${t}`:`modules/${e}/dist/libs/${t}`}function UL(t){return HL.apply(this,arguments)}function HL(){return(HL=PS(function*(t){return t.endsWith("wasm")?yield(yield fetch(t)).arrayBuffer():$P?GP?importScripts(t):$L(yield(yield fetch(t)).text(),t):jL.requireFromFile&&(yield jL.requireFromFile(t))})).apply(this,arguments)}function $L(t,e){if(!$P)return jL.requireFromString&&jL.requireFromString(t,e);if(GP)return eval.call(HP,t),null;const n=document.createElement("script");n.id=e;try{n.appendChild(document.createTextNode(t))}catch(i){n.text=t}return document.body.appendChild(n),null}const GL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.js",WL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_wasm_wrapper.js",qL="https://www.gstatic.com/draco/versioned/decoders/1.4.1/draco_decoder.wasm";let YL;function XL(t){return KL.apply(this,arguments)}function KL(){return(KL=PS(function*(t){const e=t.modules||{};return YL=e.draco3d?YL||e.draco3d.createDecoderModule({}).then(t=>({draco:t})):YL||QL(t),yield YL})).apply(this,arguments)}function QL(t){return ZL.apply(this,arguments)}function ZL(){return(ZL=PS(function*(t){let e,n;switch(t.draco&&t.draco.decoderType){case"js":e=yield BL(GL,"draco",t);break;case"wasm":default:[e,n]=yield Promise.all([yield BL(WL,"draco",t),yield BL(qL,"draco",t)])}return e=e||globalThis.DracoDecoderModule,yield JL(e,n)})).apply(this,arguments)}function JL(t,e){const n={};return e&&(n.wasmBinary=e),new Promise(e=>{t(zn(yt({},n),{onModuleLoaded:t=>e({draco:t})}))})}const tj=zn(yt({},lL),{parse:function(t,e){return ej.apply(this,arguments)}});function ej(){return(ej=PS(function*(t,e){const{draco:n}=yield XL(e),i=new LL(n);try{return i.parseSync(t,null==e?void 0:e.draco)}finally{i.destroy()}})).apply(this,arguments)}function nj(t,e){return tP(t>=0),tP(e>0),t+(e-1)&~(e-1)}function ij(t,e,n){let i;return i=t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer||t.arrayBuffer,t.byteOffset,t.byteLength),e.set(i,n),n+nj(i.byteLength,4)}const rj=["SCALAR","VEC2","VEC3","VEC4"],sj=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],oj=new Map(sj),aj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},lj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},cj={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function uj(t){return rj[t-1]||rj[0]}function hj(t){const e=oj.get(t.constructor);if(!e)throw new Error("Illegal typed array");return e}function dj(t,e){const n=cj[t.componentType],i=aj[t.type],r=t.count*i,s=t.count*i*lj[t.componentType];return sL(s>=0&&s<=e.byteLength),{ArrayType:n,length:r,byteLength:s}}const pj={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]};class fj{constructor(t){kP(this,"gltf",void 0),kP(this,"sourceBuffers",void 0),kP(this,"byteLength",void 0),this.gltf=t||{json:yt({},pj),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(t){return this.json[t]}getExtraData(t){return(this.json.extras||{})[t]}getExtension(t){return this.getUsedExtensions().find(e=>e===t)?(this.json.extensions||{})[t]||!0:null}getRequiredExtension(t){return this.getRequiredExtensions().find(e=>e===t)?this.getExtension(t):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getObjectExtension(t,e){return(t.extensions||{})[e]}getScene(t){return this.getObject("scenes",t)}getNode(t){return this.getObject("nodes",t)}getSkin(t){return this.getObject("skins",t)}getMesh(t){return this.getObject("meshes",t)}getMaterial(t){return this.getObject("materials",t)}getAccessor(t){return this.getObject("accessors",t)}getTexture(t){return this.getObject("textures",t)}getSampler(t){return this.getObject("samplers",t)}getImage(t){return this.getObject("images",t)}getBufferView(t){return this.getObject("bufferViews",t)}getBuffer(t){return this.getObject("buffers",t)}getObject(t,e){if("object"==typeof e)return e;const n=this.json[t]&&this.json[t][e];if(!n)throw new Error(`glTF file error: Could not find ${t}[${e}]`);return n}getTypedArrayForBufferView(t){t=this.getBufferView(t);const e=this.gltf.buffers[t.buffer];return sL(e),new Uint8Array(e.arrayBuffer,(t.byteOffset||0)+e.byteOffset,t.byteLength)}getTypedArrayForAccessor(t){t=this.getAccessor(t);const e=this.getBufferView(t.bufferView),n=this.getBuffer(e.buffer).data,{ArrayType:i,length:r}=dj(t,e);return new i(n,e.byteOffset+t.byteOffset,r)}getTypedArrayForImageData(t){t=this.getAccessor(t);const e=this.getBufferView(t.bufferView),n=this.getBuffer(e.buffer).data;return new Uint8Array(n,e.byteOffset||0,e.byteLength)}addApplicationData(t,e){return this.json[t]=e,this}addExtraData(t,e){return this.json.extras=this.json.extras||{},this.json.extras[t]=e,this}addObjectExtension(t,e,n){return t.extensions=t.extensions||{},t.extensions[e]=n,this.registerUsedExtension(e),this}setObjectExtension(t,e,n){(t.extensions||{})[e]=n}removeObjectExtension(t,e){const n=t.extensions||{},i=n[e];return delete n[e],i}addExtension(t,e={}){return sL(e),this.json.extensions=this.json.extensions||{},this.json.extensions[t]=e,this.registerUsedExtension(t),e}addRequiredExtension(t,e={}){return sL(e),this.addExtension(t,e),this.registerRequiredExtension(t),e}registerUsedExtension(t){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(e=>e===t)||this.json.extensionsUsed.push(t)}registerRequiredExtension(t){this.registerUsedExtension(t),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(e=>e===t)||this.json.extensionsRequired.push(t)}removeExtension(t){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,t),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,t),this.json.extensions&&delete this.json.extensions[t]}setDefaultScene(t){this.json.scene=t}addScene(t){const{nodeIndices:e}=t;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:e}),this.json.scenes.length-1}addNode(t){const{meshIndex:e,matrix:n}=t;this.json.nodes=this.json.nodes||[];const i={mesh:e};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(t){const{attributes:e,indices:n,material:i,mode:r=4}=t,s={primitives:[{attributes:this._addAttributes(e),mode:r}]};if(n){const t=this._addIndices(n);s.primitives[0].indices=t}return Number.isFinite(i)&&(s.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}addPointCloud(t){const e={primitives:[{attributes:this._addAttributes(t),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(e),this.json.meshes.length-1}addImage(t,e){const n=fD(t),i=e||(null==n?void 0:n.mimeType),r={bufferView:this.addBufferView(t),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(r),this.json.images.length-1}addBufferView(t){const e=t.byteLength;sL(Number.isFinite(e)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(t);const n={buffer:0,byteOffset:this.byteLength,byteLength:e};return this.byteLength+=nj(e,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}addAccessor(t,e){const n={bufferView:t,type:uj(e.size),componentType:e.componentType,count:e.count,max:e.max,min:e.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(t,e={size:3}){const n=this.addBufferView(t);let i={min:e.min,max:e.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(t,e.size));const r={size:e.size,componentType:hj(t),count:Math.round(t.length/e.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(r,e))}addTexture(t){const{imageIndex:e}=t,n={source:e};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(t){return this.json.materials=this.json.materials||[],this.json.materials.push(t),this.json.materials.length-1}createBinaryChunk(){var t,e;this.gltf.buffers=[];const n=this.byteLength,i=new ArrayBuffer(n),r=new Uint8Array(i);let s=0;for(const o of this.sourceBuffers||[])s=ij(o,r,s);null!==(t=this.json)&&void 0!==t&&null!==(e=t.buffers)&&void 0!==e&&e[0]?this.json.buffers[0].byteLength=n:this.json.buffers=[{byteLength:n}],this.gltf.binary=i,this.sourceBuffers=[i]}_removeStringFromArray(t,e){let n=!0;for(;n;){const i=t.indexOf(e);i>-1?t.splice(i,1):n=!1}}_addAttributes(t={}){const e={};for(const n in t){const i=t[n],r=this._getGltfAttributeName(n),s=this.addBinaryBuffer(i.value,i);e[r]=s}return e}_addIndices(t){return this.addBinaryBuffer(t,{size:1})}_getGltfAttributeName(t){switch(t.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return t}}_getAccessorMinMax(t,e){const n={min:null,max:null};if(t.length0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*Pj(t){for(const e of t.json.meshes||[])for(const t of e.primitives)yield t}function Aj(t){return Mj.apply(this,arguments)}function Mj(){return(Mj=PS(function*(t){const e=new fj(t),{json:n}=e;e.removeExtension(yj);for(const i of n.materials||[])i.extensions&&i.extensions.KHR_materials_unlit&&(i.unlit=!0),e.removeObjectExtension(i,yj)})).apply(this,arguments)}function Ij(t){const e=new fj(t),{json:n}=e;if(e.materials)for(const i of n.materials||[])i.unlit&&(delete i.unlit,e.addObjectExtension(i,yj,{}),e.addExtension(yj))}function Dj(t){return Rj.apply(this,arguments)}function Rj(){return(Rj=PS(function*(t){const e=new fj(t),{json:n}=e,i=e.getExtension(bj);i&&(e.json.lights=i.lights,e.removeExtension(bj));for(const r of n.nodes||[]){const t=e.getObjectExtension(r,bj);t&&(r.light=t.light),e.removeObjectExtension(r,bj)}})).apply(this,arguments)}function Nj(t){return Lj.apply(this,arguments)}function Lj(){return(Lj=PS(function*(t){const e=new fj(t),{json:n}=e;if(n.lights){const t=e.addExtension(bj);sL(!t.lights),t.lights=n.lights,delete n.lights}if(e.json.lights){for(const t of e.json.lights)e.addObjectExtension(t.node,bj,t);delete e.json.lights}})).apply(this,arguments)}function jj(t){return Fj.apply(this,arguments)}function Fj(){return(Fj=PS(function*(t){const e=new fj(t),{json:n}=e,i=e.getExtension(vj);if(i){const t=zj(i,e);for(const i of n.materials||[]){const n=e.getObjectExtension(i,vj);n&&(i.technique=Object.assign({},n,t[n.technique]),i.technique.values=Uj(i.technique,e)),e.removeObjectExtension(i,vj)}e.removeExtension(vj)}})).apply(this,arguments)}function Bj(t,e){return Vj.apply(this,arguments)}function Vj(){return(Vj=PS(function*(t,e){})).apply(this,arguments)}function zj(t,e){const{programs:n=[],shaders:i=[],techniques:r=[]}=t,s=new TextDecoder;return i.forEach(t=>{if(!Number.isFinite(t.bufferView))throw new Error("KHR_techniques_webgl: no shader code");t.code=s.decode(e.getTypedArrayForBufferView(t.bufferView))}),n.forEach(t=>{t.fragmentShader=i[t.fragmentShader],t.vertexShader=i[t.vertexShader]}),r.forEach(t=>{t.program=n[t.program]}),r}function Uj(t,e){const n=Object.assign({},t.values);return Object.keys(t.uniforms||{}).forEach(e=>{t.uniforms[e].value&&!(e in n)&&(n[e]=t.uniforms[e].value)}),Object.keys(n).forEach(t=>{"object"==typeof n[t]&&void 0!==n[t].index&&(n[t].texture=e.getTexture(n[t].index))}),n}const Hj={KHR_draco_mesh_compression:i,KHR_materials_unlit:r,KHR_lights_punctual:s,KHR_techniques_webgl:o};function $j(t){return Gj.apply(this,arguments)}function Gj(){return(Gj=PS(function*(t,e={},n){for(const r in Hj){var i;const s=(null==e||null===(i=e.gltf)||void 0===i?void 0:i.excludeExtensions)||{};r in s&&!s[r]||(yield Hj[r].decode(t,e,n))}})).apply(this,arguments)}const Wj={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},qj={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};class Yj{constructor(t){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(t,e){this.json=t.json;const n=t.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn(`glTF: Unknown version ${n.asset.version}`)}if(!e.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),function(t){const e=new fj(t),{json:n}=e;for(const i of n.images||[]){const t=e.removeObjectExtension(i,gj);t&&Object.assign(i,t)}n.buffers&&n.buffers[0]&&delete n.buffers[0].uri,e.removeExtension(gj)}(t),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(t){t.asset=t.asset||{},t.asset.version="2.0",t.asset.generator=t.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(t){for(const e in Wj)this._convertTopLevelObjectToArray(t,e)}_convertTopLevelObjectToArray(t,e){const n=t[e];if(n&&!Array.isArray(n)){t[e]=[];for(const i in n){const r=n[i];r.id=r.id||i;const s=t[e].length;t[e].push(r),this.idToIndexMap[e][i]=s}}}_convertObjectIdsToArrayIndices(t){for(const e in Wj)this._convertIdsToIndices(t,e);"scene"in t&&(t.scene=this._convertIdToIndex(t.scene,"scene"));for(const e of t.textures)this._convertTextureIds(e);for(const e of t.meshes)this._convertMeshIds(e);for(const e of t.nodes)this._convertNodeIds(e);for(const e of t.scenes)this._convertSceneIds(e)}_convertTextureIds(t){t.source&&(t.source=this._convertIdToIndex(t.source,"image"))}_convertMeshIds(t){for(const e of t.primitives){const{attributes:t,indices:n,material:i}=e;for(const e in t)t[e]=this._convertIdToIndex(t[e],"accessor");n&&(e.indices=this._convertIdToIndex(n,"accessor")),i&&(e.material=this._convertIdToIndex(i,"material"))}}_convertNodeIds(t){t.children&&(t.children=t.children.map(t=>this._convertIdToIndex(t,"node"))),t.meshes&&(t.meshes=t.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(t){t.nodes&&(t.nodes=t.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(t,e){t[e]||(console.warn(`gltf v1: json doesn't contain attribute ${e}`),t[e]=[]);for(const n of t[e])for(const t in n){const e=this._convertIdToIndex(n[t],t);n[t]=e}}_convertIdToIndex(t,e){const n=qj[e];if(n in this.idToIndexMap){const i=this.idToIndexMap[n][t];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${e} with id ${t}`);return i}return t}_updateObjects(t){for(const e of this.json.buffers)delete e.type}_updateMaterial(t){for(const e of t.materials){e.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const n=e.values&&e.values.tex,i=t.textures.findIndex(t=>t.id===n);-1!==i&&(e.pbrMetallicRoughness.baseColorTexture={index:i})}}}function Xj(t,e={}){return(new Yj).normalize(t,e)}const Kj={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Qj={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Zj={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},Jj={magFilter:Zj.TEXTURE_MAG_FILTER,minFilter:Zj.TEXTURE_MIN_FILTER,wrapS:Zj.TEXTURE_WRAP_S,wrapT:Zj.TEXTURE_WRAP_T},tF={[Zj.TEXTURE_MAG_FILTER]:Zj.LINEAR,[Zj.TEXTURE_MIN_FILTER]:Zj.NEAREST_MIPMAP_LINEAR,[Zj.TEXTURE_WRAP_S]:Zj.REPEAT,[Zj.TEXTURE_WRAP_]:Zj.REPEAT};class eF{postProcess(t,e={}){const{json:n,buffers:i=[],images:r=[],baseUri:s=""}=t;return sL(n),this.baseUri=s,this.json=n,this.buffers=i,this.images=r,this._resolveTree(this.json,e),this.json}_resolveTree(t,e={}){t.bufferViews&&(t.bufferViews=t.bufferViews.map((t,e)=>this._resolveBufferView(t,e))),t.images&&(t.images=t.images.map((t,e)=>this._resolveImage(t,e))),t.samplers&&(t.samplers=t.samplers.map((t,e)=>this._resolveSampler(t,e))),t.textures&&(t.textures=t.textures.map((t,e)=>this._resolveTexture(t,e))),t.accessors&&(t.accessors=t.accessors.map((t,e)=>this._resolveAccessor(t,e))),t.materials&&(t.materials=t.materials.map((t,e)=>this._resolveMaterial(t,e))),t.meshes&&(t.meshes=t.meshes.map((t,e)=>this._resolveMesh(t,e))),t.nodes&&(t.nodes=t.nodes.map((t,e)=>this._resolveNode(t,e))),t.skins&&(t.skins=t.skins.map((t,e)=>this._resolveSkin(t,e))),t.scenes&&(t.scenes=t.scenes.map((t,e)=>this._resolveScene(t,e))),void 0!==t.scene&&(t.scene=t.scenes[this.json.scene])}getScene(t){return this._get("scenes",t)}getNode(t){return this._get("nodes",t)}getSkin(t){return this._get("skins",t)}getMesh(t){return this._get("meshes",t)}getMaterial(t){return this._get("materials",t)}getAccessor(t){return this._get("accessors",t)}getCamera(t){return null}getTexture(t){return this._get("textures",t)}getSampler(t){return this._get("samplers",t)}getImage(t){return this._get("images",t)}getBufferView(t){return this._get("bufferViews",t)}getBuffer(t){return this._get("buffers",t)}_get(t,e){if("object"==typeof e)return e;const n=this.json[t]&&this.json[t][e];return n||console.warn(`glTF file error: Could not find ${t}[${e}]`),n}_resolveScene(t,e){return t.id=t.id||`scene-${e}`,t.nodes=(t.nodes||[]).map(t=>this.getNode(t)),t}_resolveNode(t,e){return t.id=t.id||`node-${e}`,t.children&&(t.children=t.children.map(t=>this.getNode(t))),void 0!==t.mesh?t.mesh=this.getMesh(t.mesh):void 0!==t.meshes&&t.meshes.length&&(t.mesh=t.meshes.reduce((t,e)=>{const n=this.getMesh(e);return t.id=n.id,t.primitives=t.primitives.concat(n.primitives),t},{primitives:[]})),void 0!==t.camera&&(t.camera=this.getCamera(t.camera)),void 0!==t.skin&&(t.skin=this.getSkin(t.skin)),t}_resolveSkin(t,e){return t.id=t.id||`skin-${e}`,t.inverseBindMatrices=this.getAccessor(t.inverseBindMatrices),t}_resolveMesh(t,e){return t.id=t.id||`mesh-${e}`,t.primitives&&(t.primitives=t.primitives.map(t=>{const e=(t=yt({},t)).attributes;t.attributes={};for(const n in e)t.attributes[n]=this.getAccessor(e[n]);return void 0!==t.indices&&(t.indices=this.getAccessor(t.indices)),void 0!==t.material&&(t.material=this.getMaterial(t.material)),t})),t}_resolveMaterial(t,e){if(t.id=t.id||`material-${e}`,t.normalTexture&&(t.normalTexture=yt({},t.normalTexture),t.normalTexture.texture=this.getTexture(t.normalTexture.index)),t.occlusionTexture&&(t.occlustionTexture=yt({},t.occlustionTexture),t.occlusionTexture.texture=this.getTexture(t.occlusionTexture.index)),t.emissiveTexture&&(t.emmisiveTexture=yt({},t.emmisiveTexture),t.emissiveTexture.texture=this.getTexture(t.emissiveTexture.index)),t.emissiveFactor||(t.emissiveFactor=t.emmisiveTexture?[1,1,1]:[0,0,0]),t.pbrMetallicRoughness){t.pbrMetallicRoughness=yt({},t.pbrMetallicRoughness);const e=t.pbrMetallicRoughness;e.baseColorTexture&&(e.baseColorTexture=yt({},e.baseColorTexture),e.baseColorTexture.texture=this.getTexture(e.baseColorTexture.index)),e.metallicRoughnessTexture&&(e.metallicRoughnessTexture=yt({},e.metallicRoughnessTexture),e.metallicRoughnessTexture.texture=this.getTexture(e.metallicRoughnessTexture.index))}return t}_resolveAccessor(t,e){if(t.id=t.id||`accessor-${e}`,void 0!==t.bufferView&&(t.bufferView=this.getBufferView(t.bufferView)),t.bytesPerComponent=function(t){return Qj[t]}(t.componentType),t.components=function(t){return Kj[t]}(t.type),t.bytesPerElement=t.bytesPerComponent*t.components,t.bufferView){const e=t.bufferView.buffer,{ArrayType:n,byteLength:i}=dj(t,t.bufferView),r=(t.bufferView.byteOffset||0)+(t.byteOffset||0)+e.byteOffset,s=e.arrayBuffer.slice(r,r+i);t.value=new n(s)}return t}_resolveTexture(t,e){return t.id=t.id||`texture-${e}`,t.sampler="sampler"in t?this.getSampler(t.sampler):tF,t.source=this.getImage(t.source),t}_resolveSampler(t,e){t.id=t.id||`sampler-${e}`,t.parameters={};for(const n in t){const e=this._enumSamplerParameter(n);void 0!==e&&(t.parameters[e]=t[n])}return t}_enumSamplerParameter(t){return Jj[t]}_resolveImage(t,e){t.id=t.id||`image-${e}`,void 0!==t.bufferView&&(t.bufferView=this.getBufferView(t.bufferView));const n=this.images[e];return n&&(t.image=n),t}_resolveBufferView(t,e){t.id=t.id||`bufferView-${e}`;const n=t.buffer;t.buffer=this.buffers[n];let i=this.buffers[n].byteOffset||0;return"byteOffset"in t&&(i+=t.byteOffset),t.data=new Uint8Array(this.buffers[n].arrayBuffer,i,t.byteLength),t}_resolveCamera(t,e){return t.id=t.id||`camera-${e}`,t}}function nF(t,e){return(new eF).postProcess(t,e)}const iF=1735152710,rF=!0;function sF(t,e,n,i){const r=new Uint8Array(e.buffer,n,i),s=new TextDecoder("utf8").decode(r);return t.json=JSON.parse(s),nj(i,4)}function oF(t,e,n,i){return t.header.hasBinChunk=!0,t.binChunks.push({byteOffset:n,byteLength:i,arrayBuffer:e.buffer}),nj(i,4)}function aF(t,e){return lF.apply(this,arguments)}function lF(){return(lF=PS(function*(t,e,n=0,i,r){var s,o,a,l;cF(t,e,n,i),Xj(t,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize});const c=[];if(null!=i&&null!==(o=i.gltf)&&void 0!==o&&o.loadBuffers&&t.json.buffers&&(yield uF(t,i,r)),null!=i&&null!==(a=i.gltf)&&void 0!==a&&a.loadImages){const e=dF(t,i,r);c.push(e)}const u=$j(t,i,r);return c.push(u),yield Promise.all(c),null!=i&&null!==(l=i.gltf)&&void 0!==l&&l.postProcess?nF(t,i):t})).apply(this,arguments)}function cF(t,e,n,i){if(i.uri&&(t.baseUri=i.uri),e instanceof ArrayBuffer&&!function(t,e=0,n={}){const i=new DataView(t),{magic:r=iF}=n,s=i.getUint32(e,!1);return s===r||s===iF}(e,n,i)&&(e=(new TextDecoder).decode(e)),"string"==typeof e)t.json=function(t){try{return JSON.parse(t)}catch(e){throw new Error(`Failed to parse JSON from data starting with "${function(t,e=5){return"string"==typeof t?t.slice(0,e):ArrayBuffer.isView(t)?rL(t.buffer,t.byteOffset,e):t instanceof ArrayBuffer?rL(t,0,e):""}(t)}"`)}}(e);else if(e instanceof ArrayBuffer){const r={};n=function(t,e,n=0,i={}){const r=new DataView(e),s=function(t,e=0){return`${String.fromCharCode(t.getUint8(e+0))}${String.fromCharCode(t.getUint8(e+1))}${String.fromCharCode(t.getUint8(e+2))}${String.fromCharCode(t.getUint8(e+3))}`}(r,n+0),o=r.getUint32(n+4,rF),a=r.getUint32(n+8,rF);switch(Object.assign(t,{header:{byteOffset:n,byteLength:a,hasBinChunk:!1},type:s,version:o,json:{},binChunks:[]}),n+=12,t.version){case 1:return function(t,e,n){tP(t.header.byteLength>20);const i=e.getUint32(n+0,rF),r=e.getUint32(n+4,rF);return n+=8,tP(0===r),sF(t,e,n,i),(n+=i)+oF(t,e,n,t.header.byteLength)}(t,r,n);case 2:return function(t,e,n,i){return tP(t.header.byteLength>20),function(t,e,n,i){for(;n+8<=t.header.byteLength;){const r=e.getUint32(n+0,rF),s=e.getUint32(n+4,rF);switch(n+=8,s){case 1313821514:sF(t,e,n,r);break;case 5130562:oF(t,e,n,r);break;case 0:i.strict||sF(t,e,n,r);break;case 1:i.strict||oF(t,e,n,r)}n+=nj(r,4)}}(t,e,n,{}),n+t.header.byteLength}(t,r,n);default:throw new Error(`Invalid GLB version ${t.version}. Only supports v1 and v2.`)}}(r,e,n,i.glb),sL("glTF"===r.type,`Invalid GLB magic string ${r.type}`),t._glb=r,t.json=r.json}else sL(!1,"GLTF: must be ArrayBuffer or string");if(t.buffers=new Array((t.json.buffers||[]).length).fill(null),t._glb&&t._glb.header.hasBinChunk){const{binChunks:e}=t._glb;t.buffers[0]={arrayBuffer:e[0].arrayBuffer,byteOffset:e[0].byteOffset,byteLength:e[0].byteLength}}t.images=new Array((t.json.images||[]).length).fill({})}function uF(t,e,n){return hF.apply(this,arguments)}function hF(){return(hF=PS(function*(t,e,n){for(let s=0;s{t.traverse(t=>{Object.values(t.model.getUniforms()).forEach(t=>{!1===t.loaded&&e.push(t)})})}),yield vF(()=>e.some(t=>!t.loaded))})).apply(this,arguments)}function vF(t){return _F.apply(this,arguments)}function _F(){return(_F=PS(function*(t){for(;t();)yield new Promise(t=>requestAnimationFrame(t))})).apply(this,arguments)}const wF=[255,255,255,255],xF={scenegraph:{type:"object",value:null,async:!0},getScene:t=>t&&t.scenes?"object"==typeof t.scene?t.scene:t.scenes[t.scene||0]:t,getAnimator:t=>t&&t.animator,_animations:null,sizeScale:{type:"number",value:1,min:0},sizeMinPixels:{type:"number",min:0,value:0},sizeMaxPixels:{type:"number",min:0,value:Number.MAX_SAFE_INTEGER},getPosition:{type:"accessor",value:t=>t.position},getColor:{type:"accessor",value:wF},_lighting:"flat",_imageBasedLightingEnvironment:null,getOrientation:{type:"accessor",value:[0,0,0]},getScale:{type:"accessor",value:[1,1,1]},getTranslation:{type:"accessor",value:[0,0,0]},getTransformMatrix:{type:"accessor",value:[]},loaders:[mF]};let SF=(()=>{class t extends eM{getShaders(){const t=[pR,gR];return"pbr"===this.props._lighting&&t.push(vN),{vs:"#version 300 es\nin vec3 instancePositions;\nin vec3 instancePositions64Low;\nin vec4 instanceColors;\nin vec3 instancePickingColors;\nin mat3 instanceModelMatrix;\nin vec3 instanceTranslation;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform mat4 sceneModelMatrix;\nuniform bool composeModelMatrix;\nin vec4 POSITION;\n\n#ifdef HAS_UV\n in vec2 TEXCOORD_0;\n#endif\n\n#ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n in vec4 NORMAL;\n #endif\n#endif\nout vec4 vColor;\n#ifndef MODULE_PBR\n #ifdef HAS_UV\n out vec2 vTEXCOORD_0;\n #endif\n#endif\nvoid main(void) {\n #if defined(HAS_UV) && !defined(MODULE_PBR)\n vTEXCOORD_0 = TEXCOORD_0;\n geometry.uv = vTEXCOORD_0;\n #endif\n\n geometry.worldPosition = instancePositions;\n geometry.pickingColor = instancePickingColors;\n\n #ifdef MODULE_PBR\n #ifdef HAS_NORMALS\n pbr_vNormal = project_normal(instanceModelMatrix * (sceneModelMatrix * vec4(NORMAL.xyz, 0.0)).xyz);\n geometry.normal = pbr_vNormal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV = TEXCOORD_0;\n #else\n pbr_vUV = vec2(0., 0.);\n #endif\n geometry.uv = pbr_vUV;\n #endif\n\n float originalSize = project_size_to_pixel(sizeScale);\n float clampedSize = clamp(originalSize, sizeMinPixels, sizeMaxPixels);\n\n vec3 pos = (instanceModelMatrix * (sceneModelMatrix * POSITION).xyz) * sizeScale * (clampedSize / originalSize) + instanceTranslation;\n if(composeModelMatrix) {\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(pos + instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n }\n else {\n pos = project_size(pos);\n DECKGL_FILTER_SIZE(pos, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, pos, geometry.position);\n }\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBR\n pbr_vPosition = geometry.position.xyz;\n #endif\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n",fs:"#version 300 es\nuniform float opacity;\nin vec4 vColor;\n\nout vec4 fragmentColor;\n#ifndef MODULE_PBR\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n in vec2 vTEXCOORD_0;\n uniform sampler2D u_BaseColorSampler;\n #endif\n#endif\n\nvoid main(void) {\n #ifdef MODULE_PBR\n fragmentColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n #else\n #if defined(HAS_UV) && defined(HAS_BASECOLORMAP)\n fragmentColor = vColor * texture2D(u_BaseColorSampler, vTEXCOORD_0);\n geometry.uv = vTEXCOORD_0;\n #else\n fragmentColor = vColor;\n #endif\n #endif\n\n fragmentColor.a *= opacity;\n DECKGL_FILTER_COLOR(fragmentColor, geometry);\n}\n",modules:t}}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),accessor:"getPosition",transition:!0},instanceColors:{type:5121,size:this.props.colorFormat.length,accessor:"getColor",normalized:!0,defaultValue:wF,transition:!0},instanceModelMatrix:pN})}updateState(t){super.updateState(t);const{props:e,oldProps:n}=t;e.scenegraph!==n.scenegraph?this._updateScenegraph(e):e._animations!==n._animations&&this._applyAnimationsProp(this.state.scenegraph,this.state.animator,e._animations)}finalizeState(){super.finalizeState(),this._deleteScenegraph()}_updateScenegraph(t){const{gl:e}=this.context;let n=null;if(t.scenegraph instanceof _N)n={scenes:[t.scenegraph]};else if(t.scenegraph&&!t.scenegraph.gltf){const i=t.scenegraph,r=function(t,e,n){const i=new iL(t,n);return{scenes:i.instantiate(e),animator:i.createAnimator()}}(e,i,this._getModelOptions());n=yt({gltf:i},r),function(t){return yF.apply(this,arguments)}(r).then(()=>this.setNeedsRedraw())}else t.scenegraph&&(Gw.deprecated("ScenegraphLayer.props.scenegraph","Use GLTFLoader instead of GLTFScenegraphLoader")(),n=t.scenegraph);const i={layer:this,gl:e},r=t.getScene(n,i),s=t.getAnimator(n,i);r instanceof _N?(this._deleteScenegraph(),this._applyAllAttributes(r),this._applyAnimationsProp(r,s,t._animations),this.setState({scenegraph:r,animator:s})):null!==r&&Gw.warn("invalid scenegraph:",r)()}_applyAllAttributes(t){if(this.state.attributesAvailable){const e=this.getAttributeManager().getAttributes();t.traverse(t=>{this._setModelAttributes(t.model,e)})}}_applyAnimationsProp(t,e,n){if(!t||!e||!n)return;const i=e.getAnimations();Object.keys(n).sort().forEach(t=>{const e=n[t];if("*"===t)i.forEach(t=>{Object.assign(t,e)});else if(Number.isFinite(Number(t))){const n=Number(t);n>=0&&ne===t);n?Object.assign(n,e):Gw.warn("animation ".concat(t," not found"))()}})}_deleteScenegraph(){const{scenegraph:t}=this.state;t instanceof _N&&t.delete()}_getModelOptions(){const{_imageBasedLightingEnvironment:t}=this.props;let e=null;return t&&(e="function"==typeof t?t({gl:this.context.gl,layer:this}):t),{gl:this.context.gl,waitForFullLoad:!0,imageBasedLightingEnvironment:e,modelOptions:yt({isInstanced:!0,transpileToGLSL100:!Zw(this.context.gl)},this.getShaders()),useTangents:!1}}updateAttributes(t){this.setState({attributesAvailable:!0}),this.state.scenegraph&&this.state.scenegraph.traverse(e=>{this._setModelAttributes(e.model,t)})}draw({moduleParameters:t=null,parameters:e={},context:n}){if(!this.state.scenegraph)return;this.props._animations&&this.state.animator&&(this.state.animator.animate(n.timeline.getTime()),this.setNeedsRedraw());const{viewport:i}=this.context,{sizeScale:r,sizeMinPixels:s,sizeMaxPixels:o,opacity:a,coordinateSystem:l}=this.props,c=this.getNumInstances();this.state.scenegraph.traverse((n,{worldMatrix:u})=>{n.model.setInstanceCount(c),n.updateModuleSettings(t),n.draw({parameters:e,uniforms:{sizeScale:r,opacity:a,sizeMinPixels:s,sizeMaxPixels:o,composeModelMatrix:fN(i,l),sceneModelMatrix:u,u_Camera:n.model.getUniforms().project_uCameraPosition}})})}}return t.layerName="ScenegraphLayer",t.defaultProps=xF,t})();class CF extends bR{constructor(t={}){const{id:e=Zx("sphere-geometry")}=t,{indices:n,attributes:i}=function(t){const{nlat:e=10,nlong:n=10}=t;let{radius:i=1}=t;const r=Math.PI-0,s=2*Math.PI-0,o=(e+1)*(n+1);if("number"==typeof i){const t=i;i=(e,n,i,r,s)=>t}const a=new Float32Array(3*o),l=new Float32Array(3*o),c=new Float32Array(2*o),u=new(o>65535?Uint32Array:Uint16Array)(e*n*6);for(let d=0;d<=e;d++)for(let t=0;t<=n;t++){const o=t/n,u=d/e,h=t+d*(n+1),p=2*h,f=3*h,g=s*o,m=r*u,b=Math.sin(g),y=Math.cos(g),v=Math.sin(m),_=y*v,w=Math.cos(m),x=b*v,S=i(_,w,x,o,u);a[f+0]=S*_,a[f+1]=S*w,a[f+2]=S*x,l[f+0]=_,l[f+1]=w,l[f+2]=x,c[p+0]=o,c[p+1]=1-u}const h=n+1;for(let d=0;ds?(a=i,o=1,t=n):t=e+T/s*(n-e),(-2===T||T===s+2)&&(t=0,o=0),a-=i/2;for(let e=0;es?0:n*g,S[E+w[1]]=T<0?-1:T>s?1:m,S[E+w[2]]=T<0||T>s?0:i*g,C[O+0]=e/r,C[O+1]=o,O+=2,E+=3}}for(let T=0;T0){const t=1/i;this.x*=t,this.y*=t,this.z*=t}else this.x=0,this.y=0,this.z=0;return i}unit(t=new jF){const e=this.x,n=this.y,i=this.z;let r=Math.sqrt(e*e+n*n+i*i);return r>0?(r=1/r,t.x=e*r,t.y=n*r,t.z=i*r):(t.x=1,t.y=0,t.z=0),t}length(){const t=this.x,e=this.y,n=this.z;return Math.sqrt(t*t+e*e+n*n)}lengthSquared(){return this.dot(this)}distanceTo(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,o=t.z;return Math.sqrt((r-e)*(r-e)+(s-n)*(s-n)+(o-i)*(o-i))}distanceSquared(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,o=t.z;return(r-e)*(r-e)+(s-n)*(s-n)+(o-i)*(o-i)}scale(t,e=new jF){const n=this.y,i=this.z;return e.x=t*this.x,e.y=t*n,e.z=t*i,e}vmul(t,e=new jF){return e.x=t.x*this.x,e.y=t.y*this.y,e.z=t.z*this.z,e}addScaledVector(t,e,n=new jF){return n.x=this.x+t*e.x,n.y=this.y+t*e.y,n.z=this.z+t*e.z,n}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(t=new jF){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t}tangents(t,e){const n=this.length();if(n>0){const i=FF,r=1/n;i.set(this.x*r,this.y*r,this.z*r);const s=BF;Math.abs(i.x)<.9?(s.set(1,0,0),i.cross(s,t)):(s.set(0,1,0),i.cross(s,t)),i.cross(t,e)}else t.set(1,0,0),e.set(0,1,0)}toString(){return this.x+","+this.y+","+this.z}toArray(){return[this.x,this.y,this.z]}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}lerp(t,e,n){const i=this.x,r=this.y,s=this.z;n.x=i+(t.x-i)*e,n.y=r+(t.y-r)*e,n.z=s+(t.z-s)*e}almostEquals(t,e=1e-6){return!(Math.abs(this.x-t.x)>e||Math.abs(this.y-t.y)>e||Math.abs(this.z-t.z)>e)}almostZero(t=1e-6){return!(Math.abs(this.x)>t||Math.abs(this.y)>t||Math.abs(this.z)>t)}isAntiparallelTo(t,e){return this.negate(VF),VF.almostEquals(t,e)}clone(){return new jF(this.x,this.y,this.z)}}jF.ZERO=void 0,jF.UNIT_X=void 0,jF.UNIT_Y=void 0,jF.UNIT_Z=void 0,jF.ZERO=new jF(0,0,0),jF.UNIT_X=new jF(1,0,0),jF.UNIT_Y=new jF(0,1,0),jF.UNIT_Z=new jF(0,0,1);const FF=new jF,BF=new jF,VF=new jF;class zF{constructor(t={}){this.lowerBound=void 0,this.upperBound=void 0,this.lowerBound=new jF,this.upperBound=new jF,t.lowerBound&&this.lowerBound.copy(t.lowerBound),t.upperBound&&this.upperBound.copy(t.upperBound)}setFromPoints(t,e,n,i){const r=this.lowerBound,s=this.upperBound,o=n;r.copy(t[0]),o&&o.vmult(r,r),s.copy(r);for(let a=1;as.x&&(s.x=e.x),e.xs.y&&(s.y=e.y),e.ys.z&&(s.z=e.z),e.z=r.x&&e.y<=i.y&&n.y>=r.y&&e.z<=i.z&&n.z>=r.z}getCorners(t,e,n,i,r,s,o,a){const l=this.lowerBound,c=this.upperBound;t.copy(l),e.set(c.x,l.y,l.z),n.set(c.x,c.y,l.z),i.set(l.x,c.y,c.z),r.set(c.x,l.y,c.z),s.set(l.x,c.y,l.z),o.set(l.x,l.y,c.z),a.copy(c)}toLocalFrame(t,e){const n=HF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(let i=0;8!==i;i++){const e=n[i];t.pointToLocal(e,e)}return e.setFromPoints(n)}toWorldFrame(t,e){const n=HF;this.getCorners(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]);for(let i=0;8!==i;i++){const e=n[i];t.pointToWorld(e,e)}return e.setFromPoints(n)}overlapsRay(t){const{direction:e,from:n}=t,i=1/e.x,r=1/e.y,s=1/e.z,o=(this.lowerBound.x-n.x)*i,a=(this.upperBound.x-n.x)*i,l=(this.lowerBound.y-n.y)*r,c=(this.upperBound.y-n.y)*r,u=(this.lowerBound.z-n.z)*s,h=(this.upperBound.z-n.z)*s,d=Math.max(Math.max(Math.min(o,a),Math.min(l,c)),Math.min(u,h)),p=Math.min(Math.min(Math.max(o,a),Math.max(l,c)),Math.max(u,h));return!(p<0||d>p)}}const UF=new jF,HF=[new jF,new jF,new jF,new jF,new jF,new jF,new jF,new jF];class $F{constructor(t=0,e=0,n=0,i=1){this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,this.x=t,this.y=e,this.z=n,this.w=i}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}toString(){return this.x+","+this.y+","+this.z+","+this.w}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(t,e){const n=Math.sin(.5*e);return this.x=t.x*n,this.y=t.y*n,this.z=t.z*n,this.w=Math.cos(.5*e),this}toAxisAngle(t=new jF){this.normalize();const e=2*Math.acos(this.w),n=Math.sqrt(1-this.w*this.w);return n<.001?(t.x=this.x,t.y=this.y,t.z=this.z):(t.x=this.x/n,t.y=this.y/n,t.z=this.z/n),[t,e]}setFromVectors(t,e){if(t.isAntiparallelTo(e)){const e=GF;t.tangents(e,WF),this.setFromAxisAngle(e,Math.PI)}else{const n=t.cross(e);this.x=n.x,this.y=n.y,this.z=n.z,this.w=Math.sqrt(Yr(t.length(),2)*Yr(e.length(),2))+t.dot(e),this.normalize()}return this}mult(t,e=new $F){const n=this.x,i=this.y,r=this.z,s=this.w,o=t.x,a=t.y,l=t.z,c=t.w;return e.x=n*c+s*o+i*l-r*a,e.y=i*c+s*a+r*o-n*l,e.z=r*c+s*l+n*a-i*o,e.w=s*c-n*o-i*a-r*l,e}inverse(t=new $F){const e=this.x,n=this.y,i=this.z,r=this.w;this.conjugate(t);const s=1/(e*e+n*n+i*i+r*r);return t.x*=s,t.y*=s,t.z*=s,t.w*=s,t}conjugate(t=new $F){return t.x=-this.x,t.y=-this.y,t.z=-this.z,t.w=this.w,t}normalize(){let t=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===t?(this.x=0,this.y=0,this.z=0,this.w=0):(t=1/t,this.x*=t,this.y*=t,this.z*=t,this.w*=t),this}normalizeFast(){const t=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===t?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=t,this.y*=t,this.z*=t,this.w*=t),this}vmult(t,e=new jF){const n=t.x,i=t.y,r=t.z,s=this.x,o=this.y,a=this.z,l=this.w,c=l*n+o*r-a*i,u=l*i+a*n-s*r,h=l*r+s*i-o*n,d=-s*n-o*i-a*r;return e.x=c*l+d*-s+u*-a-h*-o,e.y=u*l+d*-o+h*-s-c*-a,e.z=h*l+d*-a+c*-o-u*-s,e}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this}toEuler(t,e="YZX"){let n,i,r;const s=this.x,o=this.y,a=this.z,l=this.w;switch(e){case"YZX":const t=s*o+a*l;if(t>.499&&(n=2*Math.atan2(s,l),i=Math.PI/2,r=0),t<-.499&&(n=-2*Math.atan2(s,l),i=-Math.PI/2,r=0),void 0===n){const e=s*s,c=a*a;n=Math.atan2(2*o*l-2*s*a,1-o*o*2-2*c),i=Math.asin(2*t),r=Math.atan2(2*s*l-2*o*a,1-2*e-2*c)}break;default:throw new Error("Euler order "+e+" not supported yet.")}t.y=n,t.z=i,t.x=r}setFromEuler(t,e,n,i="XYZ"){const r=Math.cos(t/2),s=Math.cos(e/2),o=Math.cos(n/2),a=Math.sin(t/2),l=Math.sin(e/2),c=Math.sin(n/2);return"XYZ"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o-a*l*c):"YXZ"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o+a*l*c):"ZXY"===i?(this.x=a*s*o-r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o-a*l*c):"ZYX"===i?(this.x=a*s*o-r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o+a*l*c):"YZX"===i?(this.x=a*s*o+r*l*c,this.y=r*l*o+a*s*c,this.z=r*s*c-a*l*o,this.w=r*s*o-a*l*c):"XZY"===i&&(this.x=a*s*o-r*l*c,this.y=r*l*o-a*s*c,this.z=r*s*c+a*l*o,this.w=r*s*o+a*l*c),this}clone(){return new $F(this.x,this.y,this.z,this.w)}slerp(t,e,n=new $F){const i=this.x,r=this.y,s=this.z,o=this.w;let a,l,c,u,h,d=t.x,p=t.y,f=t.z,g=t.w;return l=i*d+r*p+s*f+o*g,l<0&&(l=-l,d=-d,p=-p,f=-f,g=-g),1-l>1e-6?(a=Math.acos(l),c=Math.sin(a),u=Math.sin((1-e)*a)/c,h=Math.sin(e*a)/c):(u=1-e,h=e),n.x=u*i+h*d,n.y=u*r+h*p,n.z=u*s+h*f,n.w=u*o+h*g,n}integrate(t,e,n,i=new $F){const r=t.x*n.x,s=t.y*n.y,o=t.z*n.z,a=this.x,l=this.y,c=this.z,u=this.w,h=.5*e;return i.x+=h*(r*u+s*c-o*l),i.y+=h*(s*u+o*a-r*c),i.z+=h*(o*u+r*l-s*a),i.w+=h*(-r*a-s*l-o*c),i}}const GF=new jF,WF=new jF,qF={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};let YF=(()=>{class t{constructor(e={}){this.id=void 0,this.type=void 0,this.boundingSphereRadius=void 0,this.collisionResponse=void 0,this.collisionFilterGroup=void 0,this.collisionFilterMask=void 0,this.material=void 0,this.body=void 0,this.id=t.idCounter++,this.type=e.type||0,this.boundingSphereRadius=0,this.collisionResponse=!e.collisionResponse||e.collisionResponse,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:1,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.material=e.material?e.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(t,e){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(t,e,n,i){throw"calculateWorldAABB() not implemented for shape type "+this.type}}return t.idCounter=0,t.types=qF,t})();class XF{constructor(t={}){this.position=void 0,this.quaternion=void 0,this.position=new jF,this.quaternion=new $F,t.position&&this.position.copy(t.position),t.quaternion&&this.quaternion.copy(t.quaternion)}pointToLocal(t,e){return XF.pointToLocalFrame(this.position,this.quaternion,t,e)}pointToWorld(t,e){return XF.pointToWorldFrame(this.position,this.quaternion,t,e)}vectorToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e}static pointToLocalFrame(t,e,n,i=new jF){return n.vsub(t,i),e.conjugate(KF),KF.vmult(i,i),i}static pointToWorldFrame(t,e,n,i=new jF){return e.vmult(n,i),i.vadd(t,i),i}static vectorToWorldFrame(t,e,n=new jF){return t.vmult(e,n),n}static vectorToLocalFrame(t,e,n,i=new jF){return e.w*=-1,e.vmult(n,i),e.w*=-1,i}}const KF=new $F;class QF extends YF{constructor(t={}){const{vertices:e=[],faces:n=[],normals:i=[],axes:r,boundingSphereRadius:s}=t;super({type:YF.types.CONVEXPOLYHEDRON}),this.vertices=void 0,this.faces=void 0,this.faceNormals=void 0,this.worldVertices=void 0,this.worldVerticesNeedsUpdate=void 0,this.worldFaceNormals=void 0,this.worldFaceNormalsNeedsUpdate=void 0,this.uniqueAxes=void 0,this.uniqueEdges=void 0,this.vertices=e,this.faces=n,this.faceNormals=i,0===this.faceNormals.length&&this.computeNormals(),s?this.boundingSphereRadius=s:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=r?r.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const t=this.faces,e=this.vertices,n=this.uniqueEdges;n.length=0;const i=new jF;for(let r=0;r!==t.length;r++){const s=t[r],o=s.length;for(let t=0;t!==o;t++){e[s[t]].vsub(e[s[(t+1)%o]],i),i.normalize();let r=!1;for(let t=0;t!==n.length;t++)if(n[t].almostEquals(i)||n[t].almostEquals(i)){r=!0;break}r||n.push(i.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let t=0;th&&(h=t,u=p)}const d=[];for(let p=0;p=0&&this.clipFaceAgainstHull(s,t,e,d,o,a,l)}findSeparatingAxis(t,e,n,i,r,s,o,a){const l=new jF,c=new jF,u=new jF,h=new jF,d=new jF,p=new jF;let f=Number.MAX_VALUE;const g=this;if(g.uniqueAxes)for(let m=0;m!==g.uniqueAxes.length;m++){n.vmult(g.uniqueAxes[m],l);const o=g.testSepAxis(l,t,e,n,i,r);if(!1===o)return!1;o0&&s.negate(s),!0}testSepAxis(t,e,n,i,r,s){QF.project(this,t,n,i,ZF),QF.project(e,t,r,s,JF);const o=ZF[0],a=ZF[1],l=JF[0],c=JF[1];if(o0?1/e:0,this.material=t.material||null,this.linearDamping="number"==typeof t.linearDamping?t.linearDamping:.01,this.type=e<=0?sB.STATIC:sB.DYNAMIC,typeof t.type==typeof sB.STATIC&&(this.type=t.type),this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.sleepState=sB.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new jF,this.quaternion=new $F,this.initQuaternion=new $F,this.previousQuaternion=new $F,this.interpolatedQuaternion=new $F,t.quaternion&&(this.quaternion.copy(t.quaternion),this.initQuaternion.copy(t.quaternion),this.previousQuaternion.copy(t.quaternion),this.interpolatedQuaternion.copy(t.quaternion)),this.angularVelocity=new jF,t.angularVelocity&&this.angularVelocity.copy(t.angularVelocity),this.initAngularVelocity=new jF,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new jF,this.invInertia=new jF,this.invInertiaWorld=new NF,this.invMassSolve=0,this.invInertiaSolve=new jF,this.invInertiaWorldSolve=new NF,this.fixedRotation=void 0!==t.fixedRotation&&t.fixedRotation,this.angularDamping=void 0!==t.angularDamping?t.angularDamping:.01,this.linearFactor=new jF(1,1,1),t.linearFactor&&this.linearFactor.copy(t.linearFactor),this.angularFactor=new jF(1,1,1),t.angularFactor&&this.angularFactor.copy(t.angularFactor),this.aabb=new zF,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new jF,this.isTrigger=Boolean(t.isTrigger),t.shape&&this.addShape(t.shape),this.updateMassProperties()}wakeUp(){const t=this.sleepState;this.sleepState=sB.AWAKE,this.wakeUpAfterNarrowphase=!1,t===sB.SLEEPING&&this.dispatchEvent(sB.wakeupEvent)}sleep(){this.sleepState=sB.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(t){if(this.allowSleep){const e=this.sleepState,n=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),i=Yr(this.sleepSpeedLimit,2);e===sB.AWAKE&&ni?this.wakeUp():e===sB.SLEEPY&&t-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(sB.sleepEvent))}}updateSolveMassProperties(){this.sleepState===sB.SLEEPING||this.type===sB.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(t,e=new jF){return t.vsub(this.position,e),this.quaternion.conjugate().vmult(e,e),e}vectorToLocalFrame(t,e=new jF){return this.quaternion.conjugate().vmult(t,e),e}pointToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e.vadd(this.position,e),e}vectorToWorldFrame(t,e=new jF){return this.quaternion.vmult(t,e),e}addShape(t,e,n){const i=new jF,r=new $F;return e&&i.copy(e),n&&r.copy(n),this.shapes.push(t),this.shapeOffsets.push(i),this.shapeOrientations.push(r),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,t.body=this,this}removeShape(t){const e=this.shapes.indexOf(t);return-1===e?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(e,1),this.shapeOffsets.splice(e,1),this.shapeOrientations.splice(e,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,t.body=null,this)}updateBoundingRadius(){const t=this.shapes,e=this.shapeOffsets,n=t.length;let i=0;for(let r=0;r!==n;r++){const n=t[r];n.updateBoundingSphereRadius();const s=e[r].length(),o=n.boundingSphereRadius;s+o>i&&(i=s+o)}this.boundingRadius=i}updateAABB(){const t=this.shapes,e=this.shapeOffsets,n=this.shapeOrientations,i=t.length,r=oB,s=aB,o=this.quaternion,a=this.aabb,l=lB;for(let c=0;c!==i;c++){const i=t[c];o.vmult(e[c],r),r.vadd(this.position,r),o.mult(n[c],s),i.calculateWorldAABB(r,s,l.lowerBound,l.upperBound),0===c?a.copy(l):a.extend(l)}this.aabbNeedsUpdate=!1}updateInertiaWorld(t){const e=this.invInertia;if(e.x!==e.y||e.y!==e.z||t){const t=cB,n=uB;t.setRotationFromQuaternion(this.quaternion),t.transpose(n),t.scale(e,t),t.mmult(n,this.invInertiaWorld)}}applyForce(t,e=new jF){if(this.type!==sB.DYNAMIC)return;this.sleepState===sB.SLEEPING&&this.wakeUp();const n=hB;e.cross(t,n),this.force.vadd(t,this.force),this.torque.vadd(n,this.torque)}applyLocalForce(t,e=new jF){if(this.type!==sB.DYNAMIC)return;const n=dB,i=pB;this.vectorToWorldFrame(t,n),this.vectorToWorldFrame(e,i),this.applyForce(n,i)}applyTorque(t){this.type===sB.DYNAMIC&&(this.sleepState===sB.SLEEPING&&this.wakeUp(),this.torque.vadd(t,this.torque))}applyImpulse(t,e=new jF){if(this.type!==sB.DYNAMIC)return;this.sleepState===sB.SLEEPING&&this.wakeUp();const n=e,i=fB;i.copy(t),i.scale(this.invMass,i),this.velocity.vadd(i,this.velocity);const r=gB;n.cross(t,r),this.invInertiaWorld.vmult(r,r),this.angularVelocity.vadd(r,this.angularVelocity)}applyLocalImpulse(t,e=new jF){if(this.type!==sB.DYNAMIC)return;const n=mB,i=bB;this.vectorToWorldFrame(t,n),this.vectorToWorldFrame(e,i),this.applyImpulse(n,i)}updateMassProperties(){const t=yB;this.invMass=this.mass>0?1/this.mass:0;const e=this.inertia,n=this.fixedRotation;this.updateAABB(),t.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),nB.calculateInertia(t,this.mass,e),this.invInertia.set(e.x>0&&!n?1/e.x:0,e.y>0&&!n?1/e.y:0,e.z>0&&!n?1/e.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(t,e){const n=new jF;return t.vsub(this.position,n),this.angularVelocity.cross(n,e),this.velocity.vadd(e,e),e}integrate(t,e,n){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==sB.DYNAMIC&&this.type!==sB.KINEMATIC||this.sleepState===sB.SLEEPING)return;const i=this.velocity,r=this.angularVelocity,s=this.position,o=this.force,a=this.torque,l=this.quaternion,c=this.invInertiaWorld,u=this.linearFactor,h=this.invMass*t;i.x+=o.x*h*u.x,i.y+=o.y*h*u.y,i.z+=o.z*h*u.z;const d=c.elements,p=this.angularFactor,f=a.x*p.x,g=a.y*p.y,m=a.z*p.z;r.x+=t*(d[0]*f+d[1]*g+d[2]*m),r.y+=t*(d[3]*f+d[4]*g+d[5]*m),r.z+=t*(d[6]*f+d[7]*g+d[8]*m),s.x+=i.x*t,s.y+=i.y*t,s.z+=i.z*t,l.integrate(this.angularVelocity,t,this.angularFactor,l),e&&(n?l.normalizeFast():l.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}sB.idCounter=0,sB.COLLIDE_EVENT_NAME="collide",sB.DYNAMIC=1,sB.STATIC=2,sB.KINEMATIC=4,sB.AWAKE=0,sB.SLEEPY=1,sB.SLEEPING=2,sB.wakeupEvent={type:"wakeup"},sB.sleepyEvent={type:"sleepy"},sB.sleepEvent={type:"sleep"};const oB=new jF,aB=new $F,lB=new zF,cB=new NF,uB=new NF,hB=new jF,dB=new jF,pB=new jF,fB=new jF,gB=new jF,mB=new jF,bB=new jF,yB=new jF;new jF,new jF;class vB{constructor(){this.rayFromWorld=void 0,this.rayToWorld=void 0,this.hitNormalWorld=void 0,this.hitPointWorld=void 0,this.hasHit=void 0,this.shape=void 0,this.body=void 0,this.hitFaceIndex=void 0,this.distance=void 0,this.shouldStop=void 0,this.rayFromWorld=new jF,this.rayToWorld=new jF,this.hitNormalWorld=new jF,this.hitPointWorld=new jF,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(t,e,n,i,r,s,o){this.rayFromWorld.copy(t),this.rayToWorld.copy(e),this.hitNormalWorld.copy(n),this.hitPointWorld.copy(i),this.shape=r,this.body=s,this.distance=o}}let _B,wB,xB,SB,CB,EB,OB;_B=YF.types.SPHERE,wB=YF.types.PLANE,xB=YF.types.BOX,SB=YF.types.CYLINDER,CB=YF.types.CONVEXPOLYHEDRON,EB=YF.types.HEIGHTFIELD,OB=YF.types.TRIMESH;class TB{get[_B](){return this._intersectSphere}get[wB](){return this._intersectPlane}get[xB](){return this._intersectBox}get[SB](){return this._intersectConvex}get[CB](){return this._intersectConvex}get[EB](){return this._intersectHeightfield}get[OB](){return this._intersectTrimesh}constructor(t=new jF,e=new jF){this.from=void 0,this.to=void 0,this.direction=void 0,this.precision=void 0,this.checkCollisionResponse=void 0,this.skipBackfaces=void 0,this.collisionFilterMask=void 0,this.collisionFilterGroup=void 0,this.mode=void 0,this.result=void 0,this.hasHit=void 0,this.callback=void 0,this.from=t.clone(),this.to=e.clone(),this.direction=new jF,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=TB.ANY,this.result=new vB,this.hasHit=!1,this.callback=t=>{}}intersectWorld(t,e){return this.mode=e.mode||TB.ANY,this.result=e.result||new vB,this.skipBackfaces=!!e.skipBackfaces,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===e.checkCollisionResponse||e.checkCollisionResponse,e.from&&this.from.copy(e.from),e.to&&this.to.copy(e.to),this.callback=e.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(kB),PB.length=0,t.broadphase.aabbQuery(t,kB,PB),this.intersectBodies(PB),this.hasHit}intersectBody(t,e){e&&(this.result=e,this.updateDirection());const n=this.checkCollisionResponse;if(n&&!t.collisionResponse||0==(this.collisionFilterGroup&t.collisionFilterMask)||0==(t.collisionFilterGroup&this.collisionFilterMask))return;const i=IB,r=DB;for(let s=0,o=t.shapes.length;st.boundingSphereRadius)return;const r=this[t.type];r&&r.call(this,t,e,n,i,t)}_intersectBox(t,e,n,i,r){return this._intersectConvex(t.convexPolyhedronRepresentation,e,n,i,r)}_intersectPlane(t,e,n,i,r){const s=this.from,o=this.to,a=this.direction,l=new jF(0,0,1);e.vmult(l,l);const c=new jF;s.vsub(n,c);const u=c.dot(l);if(o.vsub(n,c),u*c.dot(l)>0||s.distanceTo(o)=0&&t<=1&&(s.lerp(o,t,d),d.vsub(n,p),p.normalize(),this.reportIntersection(p,d,r,i,-1)),this.result.shouldStop)return;e>=0&&e<=1&&(s.lerp(o,e,d),d.vsub(n,p),p.normalize(),this.reportIntersection(p,d,r,i,-1))}}_intersectConvex(t,e,n,i,r,s){const o=$B,a=GB,l=s&&s.faceList||null,c=t.faces,u=t.vertices,h=t.faceNormals,d=this.direction,p=this.from,f=p.distanceTo(this.to),g=l?l.length:c.length,m=this.result;for(let b=0;!m.shouldStop&&bf||this.reportIntersection(o,RB,r,i,t)}}}}_intersectTrimesh(t,e,n,i,r,s){const o=WB,a=ZB,l=JB,c=GB,u=qB,h=YB,d=XB,p=QB,f=KB,g=t.indices,m=this.from,b=this.to,y=this.direction;l.position.copy(n),l.quaternion.copy(e),XF.vectorToLocalFrame(n,e,y,u),XF.pointToLocalFrame(n,e,m,h),XF.pointToLocalFrame(n,e,b,d),d.x*=t.scale.x,d.y*=t.scale.y,d.z*=t.scale.z,h.x*=t.scale.x,h.y*=t.scale.y,h.z*=t.scale.z,d.vsub(h,u),u.normalize();const v=h.distanceSquared(d);t.tree.rayQuery(this,l,a);for(let _=0,w=a.length;!this.result.shouldStop&&_!==w;_++){const s=a[_];t.getNormal(s,o),t.getVertex(g[3*s],NB),NB.vsub(h,c);const l=u.dot(o),d=o.dot(c)/l;if(d<0)continue;u.scale(d,RB),RB.vadd(h,RB),t.getVertex(g[3*s+1],LB),t.getVertex(g[3*s+2],jB);const m=RB.distanceSquared(h);!TB.pointInTriangle(RB,LB,NB,jB)&&!TB.pointInTriangle(RB,NB,LB,jB)||m>v||(XF.vectorToWorldFrame(e,o,f),XF.pointToWorldFrame(n,e,RB,p),this.reportIntersection(f,p,r,i,s))}a.length=0}reportIntersection(t,e,n,i,r){const s=this.from,o=this.to,a=s.distanceTo(e),l=this.result;if(!(this.skipBackfaces&&t.dot(this.direction)>0))switch(l.hitFaceIndex=void 0!==r?r:-1,this.mode){case TB.ALL:this.hasHit=!0,l.set(s,o,t,e,n,i,a),l.hasHit=!0,this.callback(l);break;case TB.CLOSEST:(a=0&&(u=r*l-s*o)>=0&&c+uDate.now()-t}var PV=n(24517);function AV(t,e,n){e||(e=new VT(VT.IDENTITY));const i=new VT(VT.IDENTITY);if(!t)return!0;if(t.matrix)i.copy(t.matrix);else{if(i.identity(),t.translation&&i.translate(t.translation),t.rotation){const e=new VT(VT.IDENTITY).fromQuaternion(t.rotation);i.multiplyRight(e)}t.scale&&i.scale(t.scale)}const r=new VT(e).multiplyRight(i);if(!1===n(t,r,e))return!1;for(const s of t.nodes||t.children||[])if(!1===AV(s,r,n))return!1;return!0}function MV(){DA([lL,mF])}function IV(t,e){var n;const i=null===(n=e.nodes)||void 0===n?void 0:n.find(e=>e.name===t);if(i){let n=!1;for(const t of e.scenes)n||AV(t,new VT(VT.IDENTITY),(t,e)=>t!==i||(t.matrix=e,t.translation=void 0,t.rotation=void 0,t.scale=void 0,n=!0,!1));return e.scene={id:t,name:t,nodes:[i]},e.scenes=[e.scene],{scene:e.scene,scenes:e.scenes}}return e}function DV(t,e){return xw(this,void 0,void 0,function*(){const n=t.scenegraph;let i;i=e?e[n]||(e[n]=fetch(n).then(t=>t.blob())):fetch(n);const r=yield $A(i,mF,{DracoLoader:tj,gltf:{decompressMeshes:!0,postProcess:!0}});return r.nodes||console.log("WARNING: Empty Scene",n,r),IV(t.scenegraphNode,r)})}function RV(t,e){return xw(this,void 0,void 0,function*(){return IV(t,yield e)})}function NV(t,e,n){if(e&&0!==e.length){let i;switch(n.geometry){case"sphere":i=new CF;break;case"cone":i=new TF;break;case"cylinder":i=new kF;break;case"cube":default:i=new RF}return new yN(Object.assign({id:t,pickable:!0,autoHighlight:!1,highlightColor:[30,136,229,255],coordinateSystem:Ww.CARTESIAN,data:e,mesh:i,wireframe:!1,getTransformMatrix:t=>t.transformMatrix,getColor:t=>t.color||[255,255,255,229.5]},n))}}function LV(t,e,n){if(e&&0!==e.length)return new eN(Object.assign({id:t,pickable:!0,data:e.map(t=>Object.assign(Object.assign({},t),{position:new VT(t.transformMatrix).getTranslation()})),getText:t=>t.text,getPosition:t=>t.position,getColor:t=>t.color},n))}let jV=(()=>{class t extends nM{initializeState(){const{data:t}=this.props;this.setState({data:null!=t?t:[],zoomOpacity:.8,doCollisions:!1}),MV()}renderLayers(){var e,n;const i=this.state,r={sphere:[],cone:[],cylinder:[],cube:[],text:[],wireframe:[],scenegraph:[]};for(const t of i.data){const n=null!==(e=t.geometry)&&void 0!==e?e:"cube";t.scenegraph?r.scenegraph.push(t):void 0!==r[n]&&r[n].push(t)}const s={};for(const a of r.scenegraph)a.scenegraph&&a.scenegraphNode&&!Object.prototype.hasOwnProperty.call(s,a.scenegraph)&&(s[a.scenegraph]=DV({scenegraph:a.scenegraph},t.gltfCache));const o=[];for(const[t,a]of Object.entries(r))if("scenegraph"===t)for(const e of a)o.push(new SF({id:"models-"+e["@id"],opacity:e.zoomBasedOpacity?i.zoomOpacity:void 0!==e.opacity?e.opacity:1,pickable:!e.unpickable,coordinateSystem:Ww.CARTESIAN,data:[e],scenegraph:e.scenegraphNode?RV(e.scenegraphNode,s[e.scenegraph]):e.scenegraph,_lighting:e._lighting,getTransformMatrix:e.transformMatrix,getColor:null!==(n=e.color)&&void 0!==n?n:[0,255,0,127.5],parameters:{depthMask:!e.zoomBasedOpacity&&(void 0===e.opacity||1===e.opacity)}}));else"text"===t?(o.push(LV("text",a.filter(t=>t.unpickable),{pickable:!1})),o.push(LV("textPickable",a.filter(t=>!t.unpickable),{pickable:!0}))):"wireframe"===t?o.push(NV(t,a,{wireframe:!0,pickable:!1,geometry:t})):(o.push(NV(t,a.filter(t=>t.unpickable),{wireframe:!1,pickable:!1,geometry:t})),o.push(NV(`${t}Pickable`,a.filter(t=>!t.unpickable),{wireframe:!1,pickable:!0,geometry:t})));return i.doCollisions&&function(t){xw(this,void 0,void 0,function*(){console.log("Starting Collisioning");const e=t.filter(t=>!t.scenegraph&&"wireframe"!==t.geometry).map(t=>{const e=new VT(t.transformMatrix),n=e.transformAsPoint([-1,-1,-1],[]),i=e.transformAsPoint([1,1,1],[]);return{"@id":t["@id"],name:t.tooltip,entityId:t.entityId,bbox:new zF({lowerBound:new jF(...n.map((t,e)=>Math.min(t,i[e]))),upperBound:new jF(...i.map((t,e)=>Math.max(t,n[e])))})}}),n=[];for(const o of t.filter(t=>!!t.scenegraph)){const t=yield YA(o.scenegraph,mF,{DracoLoader:tj,decompress:!0,postProcess:!0});for(const e of t.scenes)AV(e,new VT(o.transformMatrix),(e,i)=>{if(e.mesh&&e.mesh.primitives&&e.mesh.primitives.length>0)for(const r of e.mesh.primitives)if(r.attributes.POSITION&&r.attributes.POSITION.min){const s=i.transformAsPoint(r.attributes.POSITION.min,[]),a=i.transformAsPoint(r.attributes.POSITION.max,[]);n.push({"@id":o["@id"],name:e.name,entityId:o.entityId,bbox:new zF({lowerBound:new jF(...s.map((t,e)=>Math.min(t,a[e]))),upperBound:new jF(...a.map((t,e)=>Math.max(t,s[e])))}),gltf:t})}return!0})}const i=[],r=[];for(const t of e){const e=[];for(const i of n)t.bbox.overlaps(i.bbox)&&e.push({"@id":i["@id"],name:i.name});e.length>0?i.push({"@id":t.entityId,name:t.name,hits:e}):r.push(t)}console.log({sourceBoxes:e,targetBoxes:n,report:i,sad:r,maxHits:Math.max(...i.map(t=>t.hits.length))});const s=[];for(const t of i){s.push({"Tissue ID":t["@id"],"Tissue Name":t.name,"Hit ID":"","Hit Name":""});for(const e of t.hits)s.push({"Tissue ID":t["@id"],"Tissue Name":t.name,"Hit ID":e["@id"],"Hit Name":e.name})}return console.log(s),i})}(i.data),o.filter(t=>!!t)}getPickingInfo(t){return t.info}}return t.layerName="BodyUILayer",t.gltfCache={},t})();function FV(t,e=[]){for(const n of t.nodes||t.children||[])e.push(n.name),FV(n,e);return e}let BV=(()=>{class t{constructor(t){var e,n,i,r,s;this.deckProps=t,this.bodyUILayer=new jV({}),this.nodeClickSubject=new A,this.nodeHoverStartSubject=new A,this.nodeHoverStopSubject=new A,this.sceneRotationSubject=new Jf([0,0]),this.nodeDragStartSubject=new A,this.nodeDragSubject=new A,this.nodeDragEndSubject=new A,this.nodeClick$=this.nodeClickSubject.pipe(at()),this.nodeHoverStart$=this.nodeHoverStartSubject.pipe(at()),this.nodeHoverStop$=this.nodeHoverStopSubject.pipe(at()),this.sceneRotation$=this.sceneRotationSubject.pipe(at()),this.nodeDragStart$=this.nodeDragStartSubject.pipe(at()),this.nodeDrag$=this.nodeDragSubject.pipe(at()),this.nodeDragEnd$=this.nodeDragEndSubject.pipe(at());const o=Object.assign(Object.assign({},t),{views:["orthographic"===t.camera?new IM({flipY:!1,near:-1e3}):new LM({orbitAxis:"Y"})],controller:void 0===t.interactive||t.interactive,layers:[this.bodyUILayer],onHover:this._onHover,onClick:this._onClick,onViewStateChange:this._onViewStateChange,onDragStart:this._onDragStart,onDrag:this._onDrag,onDragEnd:this._onDragEnd,getCursor:t=>{var e;return null!==(e=this.cursor)&&void 0!==e?e:t.isDragging?"grabbing":"grab"}});t.legacyLighting&&(o.effects=[new cI({ambientLight:new VM({color:[255,255,255],intensity:10})})]),this.deck=new dR(o),this.deck.setProps({viewState:{orbitAxis:"Y",minRotationX:null!==(e=t.minRotationX)&&void 0!==e?e:-15,maxRotationX:null!==(n=t.maxRotationX)&&void 0!==n?n:15,target:null!==(i=t.target)&&void 0!==i?i:[.5,.5,0],rotationX:0,rotationOrbit:null!==(r=t.rotation)&&void 0!==r?r:0,zoom:null!==(s=t.zoom)&&void 0!==s?s:9.5,camera:t.camera}}),t.rotation&&this.sceneRotationSubject.next([t.rotation,0])}initialize(){return xw(this,void 0,void 0,function*(){for(;!this.bodyUILayer.state;)yield new Promise(t=>{setTimeout(t,200)})})}finalize(){this.deck.finalize()}setScene(t){if((null==t?void 0:t.length)>0){let e=this.bodyUILayer.state.zoomOpacity,n=!1;for(const i of t)i.zoomToOnLoad&&(this.zoomTo(i),n=!0);e=n?.05:e,this.deckProps.debugSceneNodeProcessing?this.debugSceneNodeProcessing(t,e):this.bodyUILayer.setState({data:t,zoomOpacity:e})}}debugSceneNodeProcessing(t,e){const n="https://hubmapconsortium.github.io/ccf-3d-reference-object-library/VH_Female/United/VHF_United_Color.glb",i=new VT([.076,0,0,0,0,.076,16875389974302382e-33,0,0,-16875389974302382e-33,.076,0,.49,.034,.11,1]);(function(t,e,n,i){return xw(this,void 0,void 0,function*(){MV();const n=yield DV({scenegraph:t,scenegraphNode:"VHF_Kidney_L_Low1"},undefined),i={},r=[];for(const s of n.scenes)AV(s,e=new VT(e||VT.IDENTITY),(n,s)=>{const o={"@id":n.name||n.id,"@type":"ProcessedNode",transformMatrix:new VT(s),geometry:"wireframe",node:n};if(r.push({"@id":`GLTF:${o["@id"]}`,"@type":"GLTFNode",scenegraph:t,scenegraphNode:o["@id"],transformMatrix:new VT(e||VT.IDENTITY),tooltip:n.name||n.id,color:[255,255,255,255],_lighting:"pbr",zoomBasedOpacity:!0,node:n}),n.mesh&&n.mesh.primitives&&n.mesh.primitives.length>0)for(const t of n.mesh.primitives)if(t.attributes.POSITION&&t.attributes.POSITION.min){const e=s.transformAsPoint(t.attributes.POSITION.min,[]),n=s.transformAsPoint(t.attributes.POSITION.max,[]);o.bbox=new zF({lowerBound:new jF(...e.map((t,e)=>Math.min(t,n[e]))),upperBound:new jF(...n.map((t,n)=>Math.max(t,e[n])))})}return i[o["@id"]]=o,!0});for(const t of Object.values(i).filter(t=>!t.bbox)){for(const e of FV(t.node).map(t=>i[t]).filter(t=>t.bbox))t.bbox?t.bbox.extend(e.bbox):t.bbox=e.bbox.clone();t.bbox||delete i[t["@id"]]}for(const t of Object.values(i)){const e=t.bbox.lowerBound,n=(t.size=t.bbox.upperBound.clone().vsub(e)).clone().vmul(new jF(.5,.5,.5)),i=t.center=e.clone().vadd(n);t.transformMatrix=new VT(VT.IDENTITY).translate(i.toArray()).scale(n.toArray())}for(const t of r)i[t["@id"]]=t;return i})})(n,i).then(r=>{console.log("results",r),console.log("data",t),(t=t.concat(Object.values(r))).push({"@id":"TEST","@type":"TEST",scenegraph:n,scenegraphNode:"VHF_Kidney_R_Low",transformMatrix:i,color:[255,255,255,200],_lighting:"pbr",zoomBasedOpacity:!1}),this.bodyUILayer.setState({data:t,zoomOpacity:e})})}zoomTo(t){const e=new VT(t.transformMatrix);this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:e.getTranslation(),rotationX:0,rotationOrbit:0,zoom:11.5})})}setRotation(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationOrbit:t})})}setRotationX(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{rotationX:t})})}setZoom(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{zoom:t})})}setTarget(t){this.deck.setProps({viewState:Object.assign(Object.assign({},this.deck.props.viewState),{target:t})})}setInteractive(t){this.deck.setProps({controller:t})}_onHover(t){const{lastHovered:e}=this;this.cursor=t.picked?"pointer":void 0,t.picked&&t.object&&t.object["@id"]?e!==t.object&&(e&&this.nodeHoverStopSubject.next(e),this.lastHovered=t.object,this.nodeHoverStartSubject.next(t.object)):e&&(this.nodeHoverStopSubject.next(e),this.lastHovered=void 0)}_onClick(t,e){var n,i;t.picked&&t.object&&t.object["@id"]&&this.nodeClickSubject.next({node:t.object,ctrlClick:null!==(i=null===(n=null==e?void 0:e.srcEvent)||void 0===n?void 0:n.ctrlKey)&&void 0!==i?i:void 0})}_onViewStateChange(t){var e;if(null===(e=t.interactionState)||void 0===e?void 0:e.isZooming){const e=this.bodyUILayer.state,n=Math.min(Math.max(1-(t.viewState.zoom-8.9)/2,.05),1);e.zoomOpacity!==n&&this.bodyUILayer.setState({data:e.data,zoomOpacity:n})}this.deck.setProps({viewState:Object.assign({},t.viewState)}),this.sceneRotationSubject.next([t.viewState.rotationOrbit,t.viewState.rotationX])}_onDragStart(t,e){this._dragEvent(t,e,this.nodeDragStartSubject)}_onDrag(t,e){this._dragEvent(t,e,this.nodeDragSubject)}_onDragEnd(t,e){this._dragEvent(t,e,this.nodeDragEndSubject)}_dragEvent(t,e,n){var i;(null===(i=null==t?void 0:t.object)||void 0===i?void 0:i["@id"])&&n.next({node:t.object,info:t,e})}}return vw([PV.ZP],t.prototype,"_onHover",null),vw([PV.ZP],t.prototype,"_onClick",null),vw([PV.ZP],t.prototype,"_onViewStateChange",null),vw([PV.ZP],t.prototype,"_onDragStart",null),vw([PV.ZP],t.prototype,"_onDrag",null),vw([PV.ZP],t.prototype,"_onDragEnd",null),t})();function VV(t,e){return t===e}function zV(t,e,n){if(null===e||null===n||e.length!==n.length)return!1;const i=e.length;for(let r=0;r(t&&t.providers||[]).some(t=>t&&t.provide&&"MockNgModuleResolver"===t.provide.name||!1))});let $V=(()=>{class t{constructor(){this.bootstrap$=new _p(1)}get appBootstrapped$(){return this.bootstrap$.asObservable()}bootstrap(){this.bootstrap$.next(!0),this.bootstrap$.complete()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const GV=new oi("INITIAL_STATE_TOKEN");let WV=(()=>{class t{static set(t){this.value=t}static pop(){const t=this.value;return this.value={},t}}return t.value={},t})();const qV=new oi("Internals.StateContextFactory"),YV=new oi("Internals.StateFactory");function XV(t,e){return e?n=>n.pipe(XV((n,i)=>U(t(n,i)).pipe(D((t,r)=>e(n,t,i,r))))):e=>e.lift(new KV(t))}class KV{constructor(t){this.project=t}call(t,e){return e.subscribe(new QV(t,this.project))}}class QV extends ${constructor(t,e){super(t),this.project=e,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}_next(t){this.hasSubscription||this.tryNext(t)}tryNext(t){let e;const n=this.index++;try{e=this.project(t,n)}catch(i){return void this.destination.error(i)}this.hasSubscription=!0,this._innerSub(e)}_innerSub(t){const e=new H(this),n=this.destination;n.add(e);const i=G(t,e);i!==e&&n.add(i)}_complete(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()}notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()}}function ZV(t=null){return e=>e.lift(new JV(t))}class JV{constructor(t){this.defaultValue=t}call(t,e){return e.subscribe(new tz(t,this.defaultValue))}}class tz extends v{constructor(t,e){super(t),this.defaultValue=e,this.isEmpty=!0}_next(t){this.isEmpty=!1,this.destination.next(t)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}const ez={STATE_NAME:t=>`${t} is not a valid state name. It needs to be a valid object property name.`,STATE_NAME_PROPERTY:()=>"States must register a 'name' property",STATE_UNIQUE:(t,e,n)=>`State name '${t}' from ${e} already exists in ${n}`,STATE_DECORATOR:()=>"States must be decorated with @State() decorator",INCORRECT_PRODUCTION:()=>"Angular is running in production mode but NGXS is still running in the development mode!\nPlease set developmentMode to false on the NgxsModule options when in production mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",INCORRECT_DEVELOPMENT:()=>"RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\nNgxsModule.forRoot(states, { developmentMode: !environment.production })",SELECT_FACTORY_NOT_CONNECTED:()=>"You have forgotten to import the NGXS module!",ACTION_DECORATOR:()=>"@Action() decorator cannot be used with static methods",SELECTOR_DECORATOR:()=>"Selectors only work on methods",ZONE_WARNING:()=>"Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\nPlease set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\nNgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })",PATCHING_ARRAY:()=>"Patching arrays is not supported.",PATCHING_PRIMITIVE:()=>"Patching primitives is not supported.",UNDECORATED_STATE_IN_IVY:t=>`'${t}' class should be decorated with @Injectable() right after the @State() decorator`};let nz=(()=>{class t{constructor(t,e){this._ngZone=t,this._platformId=e,this.verifyZoneIsNotNooped(this._ngZone)}enter(t){return function(t){return"server"===t}(this._platformId)?this.runInsideAngular(t):this.runOutsideAngular(t)}leave(t){return this.runInsideAngular(t)}runInsideAngular(t){return Tu.isInAngularZone()?t():this._ngZone.run(t)}runOutsideAngular(t){return Tu.isInAngularZone()?this._ngZone.runOutsideAngular(t):t()}verifyZoneIsNotNooped(t){t instanceof Tu||console.warn(ez.ZONE_WARNING())}}return t.\u0275fac=function(e){return new(e||t)(Ei(Tu),Ei(hu))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const iz=new oi("ROOT_STATE_TOKEN"),rz=new oi("FEATURE_STATE_TOKEN"),sz=new oi("NGXS_PLUGINS"),oz=new oi("NG_TEST_MODE"),az=new oi("NG_DEV_MODE"),lz="NGXS_META",cz="NGXS_OPTIONS_META",uz="NGXS_SELECTOR_META";let hz=(()=>{class t{constructor(){this.defaultsState={},this.selectorOptions={injectContainerState:!0,suppressErrors:!0},this.compatibility={strictContentSecurityPolicy:!1},this.executionStrategy=nz}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class dz{constructor(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}}const pz=new oi("NGXS_EXECUTION_STRATEGY");function fz(t){return t.constructor&&t.constructor.type?t.constructor.type:t.type}const gz=(t,e,n)=>{t=Object.assign({},t);const i=e.split("."),r=i.length-1;return i.reduce((t,e,i)=>(t[e]=i===r?n:Array.isArray(t[e])?t[e].slice():Object.assign({},t[e]),t&&t[e]),t),t},mz=(t,e)=>e.split(".").reduce((t,e)=>t&&t[e],t),bz=t=>t&&"object"==typeof t&&!Array.isArray(t),yz=(t,...e)=>{if(!e.length)return t;const n=e.shift();if(bz(t)&&bz(n))for(const i in n)bz(n[i])?(t[i]||Object.assign(t,{[i]:{}}),yz(t[i],n[i])):Object.assign(t,{[i]:n[i]});return yz(t,...e)};function vz(t){if(!t.hasOwnProperty(lz)){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(t,lz,{value:e})}return _z(t)}function _z(t){return t[lz]}function wz(t){return t[uz]}function xz(t,e){return e&&e.compatibility&&e.compatibility.strictContentSecurityPolicy?function(t){const e=t.slice();return t=>e.reduce((t,e)=>t&&t[e],t)}(t):function(t){const e=t;let n="store."+e[0],i=0;const r=e.length;let s=n;for(;++i(t[fz(e)]=!0,t),{})}(t),r=e&&function(t){return t.reduce((t,e)=>(t[e]=!0,t),{})}(e);return function(t){return t.pipe(function(t,e){return ep(n=>{const i=fz(n.action);return t[i]&&(!e||e[n.status])})}(i,r),n())}}(t,["DISPATCHED"])}function Ez(){return D(t=>t.action)}function Oz(t){return e=>new E(n=>e.subscribe({next(e){t.leave(()=>n.next(e))},error(e){t.leave(()=>n.error(e))},complete(){t.leave(()=>n.complete())}}))}let Tz=(()=>{class t{constructor(t){this._executionStrategy=t}enter(t){return this._executionStrategy.enter(t)}leave(t){return this._executionStrategy.leave(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(pz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class kz extends A{constructor(){super(...arguments),this._itemQueue=[],this._busyPushingNext=!1}next(t){if(this._busyPushingNext)this._itemQueue.unshift(t);else{for(this._busyPushingNext=!0,super.next(t);this._itemQueue.length>0;){const t=this._itemQueue.pop();super.next(t)}this._busyPushingNext=!1}}}let Pz=(()=>{class t extends kz{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Az=(()=>{class t extends E{constructor(t,e){super(n=>{const i=t.pipe(Oz(e)).subscribe({next:t=>n.next(t),error:t=>n.error(t),complete:()=>n.complete()});n.add(i)})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Pz),Ei(Tz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Mz=t=>(...e)=>t.shift()(...e,(...e)=>Mz(t)(...e));let Iz=(()=>{class t extends Jf{constructor(){super({})}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Dz=(()=>{class t{constructor(t,e){this._parentManager=t,this._pluginHandlers=e,this.plugins=[],this.registerHandlers()}get rootPlugins(){return this._parentManager&&this._parentManager.plugins||this.plugins}registerHandlers(){const t=this.getPluginHandlers();this.rootPlugins.push(...t)}getPluginHandlers(){return(this._pluginHandlers||[]).map(t=>t.handle?t.handle.bind(t):t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12),Ei(sz,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Rz=(()=>{class t extends A{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Nz=(()=>{class t{constructor(t,e,n,i,r,s){this._injector=t,this._actions=e,this._actionResults=n,this._pluginManager=i,this._stateStream=r,this._ngxsExecutionStrategy=s}dispatch(t){const e=this._ngxsExecutionStrategy.enter(()=>this.dispatchByEvents(t));return e.subscribe({error:t=>this._ngxsExecutionStrategy.leave(()=>{try{this._errorHandler=this._errorHandler||this._injector.get(kr),this._errorHandler.handleError(t)}catch(e){}})}),e.pipe(Oz(this._ngxsExecutionStrategy))}dispatchByEvents(t){return Array.isArray(t)?0===t.length?Dd(this._stateStream.getValue()):Ev(t.map(t=>this.dispatchSingle(t))):this.dispatchSingle(t)}dispatchSingle(t){if(!fz(t))return gp(new Error(`This action doesn't have a type property: ${t.constructor.name}`));const e=this._stateStream.getValue();return Mz([...this._pluginManager.plugins,(t,n)=>{t!==e&&this._stateStream.next(t);const i=this.getActionResultStream(n);return i.subscribe(t=>this._actions.next(t)),this._actions.next({action:n,status:"DISPATCHED"}),this.createDispatchObservable(i)}])(e,t).pipe(xp())}getActionResultStream(t){return this._actionResults.pipe(ep(e=>e.action===t&&"DISPATCHED"!==e.status),rf(1),xp())}createDispatchObservable(t){return t.pipe(XV(t=>{switch(t.status){case"SUCCESSFUL":return Dd(this._stateStream.getValue());case"ERRORED":return gp(t.error);default:return pp}})).pipe(xp())}}return t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(Pz),Ei(Rz),Ei(Dz),Ei(Iz),Ei(Tz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const Lz=t=>{Object.freeze(t);const e="function"==typeof t,n=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(function(i){n.call(t,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)&&null!==t[i]&&("object"==typeof t[i]||"function"==typeof t[i])&&!Object.isFrozen(t[i])&&Lz(t[i])}),t};let jz=(()=>{class t{constructor(t,e){this.isDevMode=t,this.isTestMode=e}}return t.\u0275fac=function(e){return new(e||t)(Ei(az),Ei(oz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Fz=(()=>{class t{constructor(t,e){this._host=t,this._config=e}get isIncorrectProduction(){return!this._host.isDevMode()&&this._config.developmentMode}get isIncorrectDevelopment(){return this._host.isDevMode()&&!this._config.developmentMode}verifyDevMode(){this._host.isTestMode()||(this.isIncorrectProduction?console.warn(ez.INCORRECT_PRODUCTION()):this.isIncorrectDevelopment&&console.warn(ez.INCORRECT_DEVELOPMENT()))}}return t.\u0275fac=function(e){return new(e||t)(Ei(jz),Ei(hz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Bz=(()=>{class t{constructor(t,e,n,i){this._stateStream=t,this._dispatcher=e,this._config=n,i.verifyDevMode()}getRootStateOperations(){const t={getState:()=>this._stateStream.getValue(),setState:t=>this._stateStream.next(t),dispatch:t=>this._dispatcher.dispatch(t)};return this._config.developmentMode?this.ensureStateAndActionsAreImmutable(t):t}ensureStateAndActionsAreImmutable(t){return{getState:()=>t.getState(),setState:e=>{const n=Lz(e);return t.setState(n)},dispatch:e=>t.dispatch(e)}}setStateToTheCurrentWithNew(t){const e=this.getRootStateOperations(),n=e.getState();e.setState(Object.assign({},n,t.defaults))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Iz),Ei(Nz),Ei(hz),Ei(Fz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Vz=(()=>{class t{constructor(t){this._internalStateOperations=t}createStateContext(t){const e=this._internalStateOperations.getRootStateOperations();function n(e){return mz(e,t.path)}function i(n,i){const r=gz(n,t.path,i),s=t.instance;if(s.ngxsOnChanges){const e=Sz(t,{currentAppState:n,newAppState:r});s.ngxsOnChanges(e)}return e.setState(r),r}function r(t,e){return i(t,e(n(t)))}return{getState:()=>n(e.getState()),patchState:t=>r(e.getState(),function(t){return e=>{if(Array.isArray(t))throw new Error(ez.PATCHING_ARRAY());if("object"!=typeof t)throw new Error(ez.PATCHING_PRIMITIVE());const n=Object.assign({},e);for(const i in t)n[i]=t[i];return n}}(t)),setState(t){const n=e.getState();return function(t){return"function"==typeof t}(t)?r(n,t):i(n,t)},dispatch:t=>e.dispatch(t)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Bz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class zz{static stateNameErrorMessage(t){return ez.STATE_NAME(t)}static checkCorrectStateName(t){if(!t)throw new Error(ez.STATE_NAME_PROPERTY());if(!this.stateNameRegex.test(t))throw new Error(this.stateNameErrorMessage(t))}static checkStateNameIsUnique(t,e){const n=this.getValidStateMeta(t).name,i=e[n];if(i&&i!==t)throw new Error(ez.STATE_UNIQUE(n,t.name,i.name));return n}static getValidStateMeta(t){const e=_z(t);if(!e)throw new Error(ez.STATE_DECORATOR());return e}}zz.stateNameRegex=new RegExp("^[a-zA-Z0-9_]+$");let Uz=(()=>{class t{constructor(t,e,n,i,r,s,o){this._injector=t,this._config=e,this._parentFactory=n,this._actions=i,this._actionResults=r,this._stateContextFactory=s,this._initialState=o,this._actionsSubscription=null,this._states=[],this._statesByName={},this._statePaths={},this.getRuntimeSelectorContext=UV(()=>{const t=this;function e(e){const n=t.statePaths[e];return n?xz(n.split("."),t._config):null}return this._parentFactory?this._parentFactory.getRuntimeSelectorContext():{getStateGetter(t){let n=e(t);return n||((...i)=>(n||(n=e(t)),n?n(...i):void 0))},getSelectorOptions:e=>Object.assign({},t._config.selectorOptions,e||{})}})}get states(){return this._parentFactory?this._parentFactory.states:this._states}get statesByName(){return this._parentFactory?this._parentFactory.statesByName:this._statesByName}get statePaths(){return this._parentFactory?this._parentFactory.statePaths:this._statePaths}static cloneDefaults(t){let e={};return e=Array.isArray(t)?t.slice():function(t){return"object"==typeof t&&null!==t||"function"==typeof t}(t)?Object.assign({},t):void 0===t?{}:t,e}static checkStatesAreValid(t){t.forEach(zz.getValidStateMeta)}ngOnDestroy(){this._actionsSubscription.unsubscribe()}add(e){t.checkStatesAreValid(e);const{newStates:n}=this.addToStatesMap(e);if(!n.length)return[];const i=function(t){const e=e=>{const n=t.find(t=>t===e);if(!n)throw new Error(`Child state not found: ${e}. \r\nYou may have forgotten to add states to module`);return n[lz].name};return t.reduce((t,n)=>{const{name:i,children:r}=n[lz];return t[i]=(r||[]).map(e),t},{})}(n),r=function(t){const e=[],n={},i=(r,s=[])=>{Array.isArray(s)||(s=[]),s.push(r),n[r]=!0,t[r].forEach(t=>{if(s.indexOf(t)>=0)throw new Error(`Circular dependency '${t}' is required by '${r}': ${s.join(" -> ")}`);n[t]||i(t,s.slice(0))}),e.indexOf(r)<0&&e.push(r)};return Object.keys(t).forEach(t=>i(t)),e.reverse()}(i),s=function(t,e={}){const n=(t,e)=>{for(const i in t)if(t.hasOwnProperty(i)&&t[i].indexOf(e)>=0){const e=n(t,i);return null!==e?`${e}.${i}`:i}return null};for(const i in t)if(t.hasOwnProperty(i)){const r=n(t,i);e[i]=r?`${r}.${i}`:i}return e}(i),o=function(t){return t.reduce((t,e)=>(t[e[lz].name]=e,t),{})}(n),a=[];for(const l of r){const e=o[l],n=s[l],i=e[lz];this.addRuntimeInfoToMeta(i,n);const r={name:l,path:n,isInitialised:!1,actions:i.actions,instance:this._injector.get(e),defaults:t.cloneDefaults(i.defaults)};this.hasBeenMountedAndBootstrapped(l,n)||a.push(r),this.states.push(r)}return a}addAndReturnDefaults(t){const e=this.add(t||[]);return{defaults:e.reduce((t,e)=>gz(t,e.path,e.defaults),{}),states:e}}connectActionHandlers(){null===this._actionsSubscription&&(this._actionsSubscription=this._actions.pipe(ep(t=>"DISPATCHED"===t.status),W(({action:t})=>this.invokeActions(this._actions,t).pipe(D(()=>({action:t,status:"SUCCESSFUL"})),ZV({action:t,status:"CANCELED"}),Tv(e=>Dd({action:t,status:"ERRORED",error:e}))))).subscribe(t=>this._actionResults.next(t)))}invokeActions(t,e){const n=fz(e),i=[];for(const s of this.states){const o=s.actions[n];if(o)for(const n of o){const o=this._stateContextFactory.createStateContext(s);try{let r=s.instance[n.fn](o,e);r instanceof Promise&&(r=U(r)),r instanceof E?(r=r.pipe(ZV({})),n.options.cancelUncompleted&&(r=r.pipe(rp(t.pipe(Cz(e)))))):r=Dd({}).pipe(xp()),i.push(r)}catch(r){i.push(gp(r))}}}return i.length||i.push(Dd({})),Ev(i)}addToStatesMap(t){const e=[],n=this.statesByName;for(const i of t){const t=zz.checkStateNameIsUnique(i,n);!n[t]&&(e.push(i),n[t]=i)}return{newStates:e}}addRuntimeInfoToMeta(t,e){this.statePaths[t.name]=e,t.path=e}hasBeenMountedAndBootstrapped(t,e){const n=void 0!==mz(this._initialState,e);return this.statesByName[t]&&n}}return t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(hz),Ei(t,12),Ei(Pz),Ei(Rz),Ei(Vz),Ei(GV,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Hz=(()=>{class t{constructor(t,e,n){this.internalStateOperations=t,this.stateContextFactory=e,this.bootstrapper=n}ngxsBootstrap(t,e){this.internalStateOperations.getRootStateOperations().dispatch(t).pipe(ep(()=>!!e),eg(()=>this.invokeInit(e.states)),W(()=>this.bootstrapper.appBootstrapped$),ep(t=>!!t)).subscribe(()=>this.invokeBootstrap(e.states))}invokeInit(t){for(const e of t){const t=e.instance;if(t.ngxsOnChanges){const n=Sz(e,{currentAppState:{},newAppState:this.internalStateOperations.getRootStateOperations().getState()});t.ngxsOnChanges(n)}t.ngxsOnInit&&t.ngxsOnInit(this.getStateContext(e)),e.isInitialised=!0}}invokeBootstrap(t){for(const e of t){const t=e.instance;t.ngxsAfterBootstrap&&t.ngxsAfterBootstrap(this.getStateContext(e))}}getStateContext(t){return this.stateContextFactory.createStateContext(t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Bz),Ei(Vz),Ei($V))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const $z=t=>t&&t.NGXS_SELECTOR_OPTIONS_META||{};function Gz(t,e,n){const i=n&&n.containerClass,r=UV(function(...t){const n=e.apply(i,t);return n instanceof Function?UV.apply(null,[n]):n});Object.setPrototypeOf(r,e);const s=function(t,e){const n=function(t){return t.hasOwnProperty(uz)||Object.defineProperty(t,uz,{value:{makeRootSelector:null,originalFn:null,containerClass:null,selectorName:null,getSelectorOptions:()=>({})}}),wz(t)}(t);n.originalFn=t;let i=()=>({});e&&(n.containerClass=e.containerClass,n.selectorName=e.selectorName,i=e.getSelectorOptions||i);const r=Object.assign({},n);return n.getSelectorOptions=()=>function(t,e){return Object.assign({},$z(t.containerClass)||{},$z(t.originalFn)||{},t.getSelectorOptions()||{},e)}(r,i()),n}(e,n);return s.makeRootSelector=e=>{const{argumentSelectorFunctions:n,selectorOptions:i}=function(t,e,n=[]){const i=e.getSelectorOptions(),r=t.getSelectorOptions(i);return{selectorOptions:r,argumentSelectorFunctions:function(t=[],e,n){const i=[];return n&&(0===t.length||e.injectContainerState)&&_z(n)&&i.push(n),t&&i.push(...t),i}(n,r,e.containerClass).map(e=>Wz(e)(t))}}(e,s,t);return function(t){const e=n.map(e=>e(t));try{return r(...e)}catch(s){if(s instanceof TypeError&&i.suppressErrors)return;throw s}}},r}function Wz(t){const e=wz(t)||_z(t);return e&&e.makeRootSelector||(()=>t)}let qz=(()=>{class t{constructor(t,e,n,i,r,s){this._stateStream=t,this._internalStateOperations=e,this._config=n,this._internalExecutionStrategy=i,this._stateFactory=r,this.initStateStream(s)}dispatch(t){return this._internalStateOperations.getRootStateOperations().dispatch(t)}select(t){const e=this.getStoreBoundSelectorFn(t);return this._stateStream.pipe(D(e),Tv(t=>{const{suppressErrors:e}=this._config.selectorOptions;return t instanceof TypeError&&e?Dd(void 0):gp(t)}),Wd(),Oz(this._internalExecutionStrategy))}selectOnce(t){return this.select(t).pipe(rf(1))}selectSnapshot(t){return this.getStoreBoundSelectorFn(t)(this._stateStream.getValue())}subscribe(t){return this._stateStream.pipe(Oz(this._internalExecutionStrategy)).subscribe(t)}snapshot(){return this._internalStateOperations.getRootStateOperations().getState()}reset(t){return this._internalStateOperations.getRootStateOperations().setState(t)}getStoreBoundSelectorFn(t){return Wz(t)(this._stateFactory.getRuntimeSelectorContext())}initStateStream(t){const e=this._stateStream.value;if(!e||0===Object.keys(e).length){const e=Object.keys(this._config.defaultsState).length>0?Object.assign({},this._config.defaultsState,t):t;this._stateStream.next(e)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(Iz),Ei(Bz),Ei(hz),Ei(Tz),Ei(Uz),Ei(GV,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),Yz=(()=>{class t{constructor(e,n){t.store=e,t.config=n}ngOnDestroy(){t.store=null,t.config=null}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz),Ei(hz))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t.store=null,t.config=null,t})();class Xz{static get type(){return"@@INIT"}}class Kz{constructor(t){this.addedStates=t}static get type(){return"@@UPDATE_STATE"}}const Qz=new _p(1);let Zz=(()=>{class t{constructor(e,n,i,r,s=[],o){!function(){try{const t=window.ng,e=!(t.probe&&t.coreTokens)&&Vu();Qz.next(e)}catch(t){Qz.next(!1)}finally{Qz.complete()}}();const a=e.addAndReturnDefaults(s);n.setStateToTheCurrentWithNew(a),e.connectActionHandlers(),o.ngxsBootstrap(new Xz,a)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Uz),Ei(Bz),Ei(qz),Ei(Yz),Ei(iz,8),Ei(Hz))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),Jz=(()=>{class t{constructor(e,n,i,r=[],s){const o=t.flattenStates(r),a=i.addAndReturnDefaults(o);a.states.length&&(n.setStateToTheCurrentWithNew(a),s.ngxsBootstrap(new Kz(a.defaults),a))}static flattenStates(t=[]){return t.reduce((t,e)=>t.concat(e),[])}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz),Ei(Bz),Ei(Uz),Ei(rz,8),Ei(Hz))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();class tU{static forRoot(t=[],e={}){return{ngModule:Zz,providers:[Uz,Vz,Az,Pz,$V,Fz,jz,Hz,Nz,Rz,Bz,Tz,qz,Iz,Yz,Dz,...t,...tU.ngxsTokenProviders(t,e)]}}static forFeature(t=[]){return{ngModule:Jz,providers:[Uz,Dz,...t,{provide:rz,multi:!0,useValue:t}]}}static ngxsTokenProviders(t,e){return[{provide:oz,useValue:HV},{provide:az,useValue:Vu},{provide:pz,useClass:e.executionStrategy||nz},{provide:iz,useValue:t},{provide:tU.ROOT_OPTIONS,useValue:e},{provide:hz,useFactory:tU.ngxsConfigFactory,deps:[tU.ROOT_OPTIONS]},{provide:du,useFactory:tU.appBootstrapListenerFactory,multi:!0,deps:[$V]},{provide:GV,useFactory:tU.getInitialState},{provide:qV,useExisting:Vz},{provide:YV,useExisting:Uz}]}static ngxsConfigFactory(t){return yz(new hz,t)}static appBootstrapListenerFactory(t){return()=>t.bootstrap()}static getInitialState(){return WV.pop()}}function eU(t,e){return(n,i)=>{if(n.hasOwnProperty("prototype"))throw new Error(ez.ACTION_DECORATOR());const r=vz(n.constructor);Array.isArray(t)||(t=[t]);for(const s of t){const t=s.type;r.actions[t]||(r.actions[t]=[]),r.actions[t].push({fn:i,options:e||{},type:t})}}}function nU(t){return e=>{!function(t){Qz.subscribe(e=>{e&&(t.\u0275prov||console.warn(ez.UNDECORATED_STATE_IN_IVY(t.name)))})}(e);const n=e,i=vz(n),r=Object.getPrototypeOf(n),s=function(e){return Object.assign({},e[cz]||{},t)}(r);(function(t){const{meta:e,inheritedStateClass:n,optionsWithInheritance:i}=t,{children:r,defaults:s,name:o}=i,a="string"==typeof o?o:o&&o.getName()||null;zz.checkCorrectStateName(a),n.hasOwnProperty(lz)&&(e.actions=Object.assign({},e.actions,(n[lz]||{}).actions)),e.children=r,e.defaults=s,e.name=a})({meta:i,inheritedStateClass:r,optionsWithInheritance:s}),n[cz]=s}}function iU(t,...e){return function(n,i){const r=i.toString(),s=`__${r}__selector`,o=function(t,e,n=[]){return"string"==typeof(e=e||function(t){const e=t.length-1;return 36===t.charCodeAt(e)?t.slice(0,e):t}(t))?xz(n.length?[e,...n]:e.split("."),Yz.config):e}(r,t,e);Object.defineProperties(n,{[s]:{writable:!0,enumerable:!1,configurable:!0},[r]:{enumerable:!0,configurable:!0,get(){return this[s]||(this[s]=function(t){if(!Yz.store)throw new Error(ez.SELECT_FACTORY_NOT_CONNECTED());return Yz.store.select(t)}(o))}}})}}function rU(t){return(e,n,i)=>{if(!i||null===i.value)throw new Error(ez.SELECTOR_DECORATOR());const r=i.value,s=Gz(t,r,{containerClass:e,selectorName:n.toString(),getSelectorOptions:()=>({})}),o={configurable:!0,get:()=>s};return o.originalFn=r,o}}tU.\u0275fac=function(t){return new(t||tU)},tU.\u0275mod=ie({type:tU}),tU.\u0275inj=St({}),tU.ROOT_OPTIONS=new oi("ROOT_OPTIONS");let sU=(()=>{class t{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}setProperty(t,e){this._renderer.setProperty(this._elementRef.nativeElement,t,e)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al))},t.\u0275dir=se({type:t}),t})(),oU=(()=>{class t extends sU{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,features:[jo]}),t})();const aU=new oi("NgValueAccessor"),lU={provide:aU,useExisting:pt(()=>uU),multi:!0},cU=new oi("CompositionEventMode");let uU=(()=>{class t extends sU{constructor(t,e,n){super(t,e),this._compositionMode=n,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=Ju()?Ju().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al),ea(cU,8))},t.\u0275dir=se({type:t,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(t,e){1&t&&fa("input",function(t){return e._handleInput(t.target.value)})("blur",function(){return e.onTouched()})("compositionstart",function(){return e._compositionStart()})("compositionend",function(t){return e._compositionEnd(t.target.value)})},features:[xl([lU]),jo]}),t})();const hU=new oi("NgValidators"),dU=new oi("NgAsyncValidators");function pU(t){return null!=t}function fU(t){const e=ha(t)?U(t):t;return pa(e),e}function gU(t){let e={};return t.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function mU(t,e){return e.map(e=>e(t))}function bU(t){return t.map(t=>function(t){return!t.validate}(t)?t:e=>t.validate(e))}function yU(t){return null!=t?function(t){if(!t)return null;const e=t.filter(pU);return 0==e.length?null:function(t){return gU(mU(t,e))}}(bU(t)):null}function vU(t){return null!=t?function(t){if(!t)return null;const e=t.filter(pU);return 0==e.length?null:function(t){return Ev(mU(t,e).map(fU)).pipe(D(gU))}}(bU(t)):null}function _U(t,e){return null===t?[e]:Array.isArray(t)?[...t,e]:[t,e]}function wU(t){return t._rawValidators}function xU(t){return t._rawAsyncValidators}function SU(t){return t?Array.isArray(t)?t:[t]:[]}function CU(t,e){return Array.isArray(t)?t.includes(e):t===e}function EU(t,e){const n=SU(e);return SU(t).forEach(t=>{CU(n,t)||n.push(t)}),n}function OU(t,e){return SU(e).filter(e=>!CU(t,e))}let TU=(()=>{class t{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(t){this._rawValidators=t||[],this._composedValidatorFn=yU(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=vU(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t}),t})(),kU=(()=>{class t extends TU{get formDirective(){return null}get path(){return null}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,features:[jo]}),t})();class PU extends TU{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class AU{constructor(t){this._cd=t}is(t){var e,n,i;return"submitted"===t?!!(null===(e=this._cd)||void 0===e?void 0:e.submitted):!!(null===(i=null===(n=this._cd)||void 0===n?void 0:n.control)||void 0===i?void 0:i[t])}}let MU=(()=>{class t extends AU{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(PU,2))},t.\u0275dir=se({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,e){2&t&&ja("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[jo]}),t})(),IU=(()=>{class t extends AU{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(kU,10))},t.\u0275dir=se({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(t,e){2&t&&ja("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))("ng-submitted",e.is("submitted"))},features:[jo]}),t})();function DU(t,e){LU(t,e),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(n=>{t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&FU(t,e)})}(t,e),function(t,e){const n=(t,n)=>{e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)};t.registerOnChange(n),e._registerOnDestroy(()=>{t._unregisterOnChange(n)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&FU(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),function(t,e){if(e.valueAccessor.setDisabledState){const n=t=>{e.valueAccessor.setDisabledState(t)};t.registerOnDisabledChange(n),e._registerOnDestroy(()=>{t._unregisterOnDisabledChange(n)})}}(t,e)}function RU(t,e,n=!0){const i=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(i),e.valueAccessor.registerOnTouched(i)),jU(t,e),t&&(e._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function NU(t,e){t.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function LU(t,e){const n=wU(t);null!==e.validator?t.setValidators(_U(n,e.validator)):"function"==typeof n&&t.setValidators([n]);const i=xU(t);null!==e.asyncValidator?t.setAsyncValidators(_U(i,e.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const r=()=>t.updateValueAndValidity();NU(e._rawValidators,r),NU(e._rawAsyncValidators,r)}function jU(t,e){let n=!1;if(null!==t){if(null!==e.validator){const i=wU(t);if(Array.isArray(i)&&i.length>0){const r=i.filter(t=>t!==e.validator);r.length!==i.length&&(n=!0,t.setValidators(r))}}if(null!==e.asyncValidator){const i=xU(t);if(Array.isArray(i)&&i.length>0){const r=i.filter(t=>t!==e.asyncValidator);r.length!==i.length&&(n=!0,t.setAsyncValidators(r))}}}const i=()=>{};return NU(e._rawValidators,i),NU(e._rawAsyncValidators,i),n}function FU(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function BU(t,e){LU(t,e)}function VU(t,e){if(!t.hasOwnProperty("model"))return!1;const n=t.model;return!!n.isFirstChange()||!Object.is(e,n.currentValue)}function zU(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function UU(t,e){if(!e)return null;let n,i,r;return Array.isArray(e),e.forEach(t=>{t.constructor===uU?n=t:function(t){return Object.getPrototypeOf(t.constructor)===oU}(t)?i=t:r=t}),r||i||n||null}function HU(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const $U="VALID",GU="INVALID",WU="PENDING",qU="DISABLED";function YU(t){return(ZU(t)?t.validators:t)||null}function XU(t){return Array.isArray(t)?yU(t):t||null}function KU(t,e){return(ZU(e)?e.asyncValidators:t)||null}function QU(t){return Array.isArray(t)?vU(t):t||null}function ZU(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class JU{constructor(t,e){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=e,this._composedValidatorFn=XU(this._rawValidators),this._composedAsyncValidatorFn=QU(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===$U}get invalid(){return this.status===GU}get pending(){return this.status==WU}get disabled(){return this.status===qU}get enabled(){return this.status!==qU}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._rawValidators=t,this._composedValidatorFn=XU(t)}setAsyncValidators(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=QU(t)}addValidators(t){this.setValidators(EU(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(EU(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(OU(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(OU(t,this._rawAsyncValidators))}hasValidator(t){return CU(this._rawValidators,t)}hasAsyncValidator(t){return CU(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=WU,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=qU,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=$U,this._forEachChild(e=>{e.enable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===$U||this.status===WU)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?qU:$U}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=WU,this._hasOwnPendingAsyncValidator=!0;const e=fU(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(e,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,n){if(null==e||(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length))return null;let i=t;return e.forEach(t=>{i=i instanceof eH?i.controls.hasOwnProperty(t)?i.controls[t]:null:i instanceof nH&&i.at(t)||null}),i}(this,t)}getError(t,e){const n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Bc,this.statusChanges=new Bc}_calculateStatus(){return this._allControlsDisabled()?qU:this.errors?GU:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(WU)?WU:this._anyControlsHaveStatus(GU)?GU:$U}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){ZU(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class tH extends JU{constructor(t=null,e,n){super(YU(e),KU(n,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){HU(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){HU(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class eH extends JU{constructor(t,e,n){super(YU(e),KU(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,n={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,n)=>(t[n]=e instanceof tH?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const n=this.controls[e];n&&t(n,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const e of Object.keys(this.controls)){const n=this.controls[e];if(this.contains(e)&&t(n))return!0}return!1}_reduceValue(){return this._reduceChildren({},(t,e,n)=>((e.enabled||this.disabled)&&(t[n]=e.value),t))}_reduceChildren(t,e){let n=t;return this._forEachChild((t,i)=>{n=e(n,t,i)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class nH extends JU{constructor(t,e,n){super(YU(e),KU(n,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[t]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,n={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(t.forEach((t,n)=>{this.at(n)&&this.at(n).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((n,i)=>{n.reset(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t instanceof tH?t.value:t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,n)=>{t(e,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,n)=>{if(void 0===t[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const iH={provide:kU,useExisting:pt(()=>sH)},rH=(()=>Promise.resolve(null))();let sH=(()=>{class t extends kU{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new Bc,this.form=new eH({},yU(t),vU(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){rH.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),DU(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){rH.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),HU(this._directives,t)})}addFormGroup(t){rH.then(()=>{const e=this._findContainer(t.path),n=new eH({});BU(n,t),e.registerControl(t.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){rH.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){rH.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,zU(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10))},t.\u0275dir=se({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,e){1&t&&fa("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xl([iH]),jo]}),t})();const oH={provide:PU,useExisting:pt(()=>lH)},aH=(()=>Promise.resolve(null))();let lH=(()=>{class t extends PU{constructor(t,e,n,i){super(),this.control=new tH,this._registered=!1,this.update=new Bc,this._parent=t,this._setValidators(e),this._setAsyncValidators(n),this.valueAccessor=UU(0,i)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),VU(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?function(t,e){return[...e.path,t]}(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){DU(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){aH.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const e=t.isDisabled.currentValue,n=""===e||e&&"false"!==e;aH.then(()=>{n&&!this.control.disabled?this.control.disable():!n&&this.control.disabled&&this.control.enable()})}}return t.\u0275fac=function(e){return new(e||t)(ea(kU,9),ea(hU,10),ea(dU,10),ea(aU,10))},t.\u0275dir=se({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[xl([oH]),jo,ye]}),t})(),cH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),uH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const hH=new oi("NgModelWithFormControlWarning"),dH={provide:PU,useExisting:pt(()=>pH)};let pH=(()=>{class t extends PU{constructor(t,e,n,i){super(),this._ngModelWarningConfig=i,this.update=new Bc,this._ngModelWarningSent=!1,this._setValidators(t),this._setAsyncValidators(e),this.valueAccessor=UU(0,n)}set isDisabled(t){}ngOnChanges(t){if(this._isControlChanged(t)){const e=t.form.previousValue;e&&RU(e,this,!1),DU(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}VU(t,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&RU(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10),ea(aU,10),ea(hH,8))},t.\u0275dir=se({type:t,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[xl([dH]),jo,ye]}),t._ngModelWarningSentOnce=!1,t})();const fH={provide:kU,useExisting:pt(()=>gH)};let gH=(()=>{class t extends kU{constructor(t,e){super(),this.validators=t,this.asyncValidators=e,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Bc,this._setValidators(t),this._setAsyncValidators(e)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(jU(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return DU(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){RU(t.control||null,t,!1),HU(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,zU(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=t.control,n=this.form.get(t.path);e!==n&&(RU(e||null,t),n instanceof tH&&(DU(n,t),t.control=n))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const e=this.form.get(t.path);BU(e,t),e.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){const e=this.form.get(t.path);e&&function(t,e){return jU(t,e)}(e,t)&&e.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){LU(this.form,this),this._oldForm&&jU(this._oldForm,this)}_checkFormPresent(){}}return t.\u0275fac=function(e){return new(e||t)(ea(hU,10),ea(dU,10))},t.\u0275dir=se({type:t,selectors:[["","formGroup",""]],hostBindings:function(t,e){1&t&&fa("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xl([fH]),jo,ye]}),t})(),mH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uH]]}),t})(),bH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[mH]}),t})(),yH=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:hH,useValue:e.warnOnNgModelWithFormControl}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[mH]}),t})();function vH(t){return new E(e=>{let n;try{n=t()}catch(i){return void e.error(i)}return(n?U(n):fp()).subscribe(e)})}const _H=["underline"],wH=["connectionContainer"],xH=["inputContainer"],SH=["label"];function CH(t,e){1&t&&(aa(0),ra(1,"div",14),oa(2,"div",15),oa(3,"div",16),oa(4,"div",17),sa(),ra(5,"div",18),oa(6,"div",15),oa(7,"div",16),oa(8,"div",17),sa(),la())}function EH(t,e){1&t&&(ra(0,"div",19),xa(1,1),sa())}function OH(t,e){if(1&t&&(aa(0),xa(1,2),ra(2,"span"),Ja(3),sa(),la()),2&t){const t=va(2);ws(3),tl(t._control.placeholder)}}function TH(t,e){1&t&&xa(0,3,["*ngSwitchCase","true"])}function kH(t,e){1&t&&(ra(0,"span",23),Ja(1," *"),sa())}function PH(t,e){if(1&t){const t=ua();ra(0,"label",20,21),fa("cdkObserveContent",function(){return $e(t),va().updateOutlineGap()}),Jo(2,OH,4,1,"ng-container",12),Jo(3,TH,1,0,"ng-content",12),Jo(4,kH,2,0,"span",22),sa()}if(2&t){const t=va();ja("mat-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-form-field-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-accent","accent"==t.color)("mat-warn","warn"==t.color),na("cdkObserveContentDisabled","outline"!=t.appearance)("id",t._labelId)("ngSwitch",t._hasLabel()),Ko("for",t._control.id)("aria-owns",t._control.id),ws(2),na("ngSwitchCase",!1),ws(1),na("ngSwitchCase",!0),ws(1),na("ngIf",!t.hideRequiredMarker&&t._control.required&&!t._control.disabled)}}function AH(t,e){1&t&&(ra(0,"div",24),xa(1,4),sa())}function MH(t,e){if(1&t&&(ra(0,"div",25,26),oa(2,"span",27),sa()),2&t){const t=va();ws(2),ja("mat-accent","accent"==t.color)("mat-warn","warn"==t.color)}}function IH(t,e){1&t&&(ra(0,"div"),xa(1,5),sa()),2&t&&na("@transitionMessages",va()._subscriptAnimationState)}function DH(t,e){if(1&t&&(ra(0,"div",31),Ja(1),sa()),2&t){const t=va(2);na("id",t._hintLabelId),ws(1),tl(t.hintLabel)}}function RH(t,e){if(1&t&&(ra(0,"div",28),Jo(1,DH,2,2,"div",29),xa(2,6),oa(3,"div",30),xa(4,7),sa()),2&t){const t=va();na("@transitionMessages",t._subscriptAnimationState),ws(1),na("ngIf",t.hintLabel)}}const NH=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],LH=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"],jH=new oi("MatError"),FH={transitionMessages:Qg("transitionMessages",[em("enter",tm({opacity:1,transform:"translateY(0%)"})),im("void => enter",[tm({opacity:0,transform:"translateY(-5px)"}),Zg("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let BH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t}),t})();const VH=new oi("MatHint");let zH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-label"]]}),t})(),UH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-placeholder"]]}),t})();const HH=new oi("MatPrefix");let $H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","matPrefix",""]],features:[xl([{provide:HH,useExisting:t}])]}),t})();const GH=new oi("MatSuffix");let WH=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","matSuffix",""]],features:[xl([{provide:GH,useExisting:t}])]}),t})(),qH=0;const YH=Yy(class{constructor(t){this._elementRef=t}},"primary"),XH=new oi("MAT_FORM_FIELD_DEFAULT_OPTIONS"),KH=new oi("MatFormField");let QH=(()=>{class t extends YH{constructor(t,e,n,i,r,s,o,a){super(t),this._changeDetectorRef=e,this._dir=i,this._defaults=r,this._platform=s,this._ngZone=o,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new A,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+qH++,this._labelId="mat-form-field-label-"+qH++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==a,this.appearance=r&&r.appearance?r.appearance:"legacy",this._hideRequiredMarker=!(!r||null==r.hideRequiredMarker)&&r.hideRequiredMarker}get appearance(){return this._appearance}set appearance(t){const e=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&e!==t&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=kd(t)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(t){this._explicitFormFieldControl=t}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${t.controlType}`),t.stateChanges.pipe(lp(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe(rp(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(rp(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),Q(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(lp(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(lp(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(rp(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(t){const e=this._control?this._control.ngControl:null;return e&&e[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,Rd(this._label.nativeElement,"transitionend").pipe(rf(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let t=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&t.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const e=this._hintChildren?this._hintChildren.find(t=>"start"===t.align):null,n=this._hintChildren?this._hintChildren.find(t=>"end"===t.align):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&t.push(...this._errorChildren.map(t=>t.id));this._control.setDescribedByIds(t)}}_validateControlChild(){}updateOutlineGap(){const t=this._label?this._label.nativeElement:null;if(!("outline"===this.appearance&&t&&t.children.length&&t.textContent.trim()&&this._platform.isBrowser))return;if(!this._isAttachedToDOM())return void(this._outlineGapCalculationNeededImmediately=!0);let e=0,n=0;const i=this._connectionContainerRef.nativeElement,r=i.querySelectorAll(".mat-form-field-outline-start"),s=i.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){const r=i.getBoundingClientRect();if(0===r.width&&0===r.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);const s=this._getStartEnd(r),o=t.children,a=this._getStartEnd(o[0].getBoundingClientRect());let l=0;for(let t=0;t0?.75*l+10:0}for(let o=0;o{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy,fg],Wy]}),t})();function JH(t,e=Xd){const n=function(t){return t instanceof Date&&!isNaN(+t)}(t)?+t-e.now():Math.abs(t);return t=>t.lift(new t$(n,e))}class t${constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new e$(t,this.delay,this.scheduler))}}class e$ extends v{constructor(t,e,n){super(t),this.delay=e,this.scheduler=n,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,n=e.queue,i=t.scheduler,r=t.destination;for(;n.length>0&&n[0].time-i.now()<=0;)n.shift().notification.observe(r);if(n.length>0){const e=Math.max(0,n[0].time-i.now());this.schedule(t,e)}else this.unsubscribe(),e.active=!1}_schedule(t){this.active=!0,this.destination.add(t.schedule(e$.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,n=new n$(e.now()+this.delay,t);this.queue.push(n),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification(bp.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t),this.unsubscribe()}_complete(){this.scheduleNotification(bp.createComplete()),this.unsubscribe()}}class n${constructor(t,e){this.time=t,this.notification=e}}const i$=["panel"];function r$(t,e){if(1&t&&(ra(0,"div",0,1),xa(2),sa()),2&t){const t=e.id,n=va();na("id",n.id)("ngClass",n._classList),Ko("aria-label",n.ariaLabel||null)("aria-labelledby",n._getPanelAriaLabelledby(t))}}const s$=["*"];let o$=0;class a${constructor(t,e){this.source=t,this.option=e}}const l$=Xy(class{}),c$=new oi("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}});let u$=(()=>{class t extends l${constructor(t,e,n,i){super(),this._changeDetectorRef=t,this._elementRef=e,this._activeOptionChanges=g.EMPTY,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new Bc,this.opened=new Bc,this.closed=new Bc,this.optionActivated=new Bc,this._classList={},this.id="mat-autocomplete-"+o$++,this.inertGroups=(null==i?void 0:i.SAFARI)||!1,this._autoActiveFirstOption=!!n.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(t){this._autoActiveFirstOption=kd(t)}set classList(t){this._classList=t&&t.length?function(t,e=/\s+/){const n=[];if(null!=t){const i=Array.isArray(t)?t:`${t}`.split(e);for(const t of i){const e=`${t}`.trim();e&&n.push(e)}}return n}(t).reduce((t,e)=>(t[e]=!0,t),{}):{},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}ngAfterContentInit(){this._keyManager=new Eg(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(t=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[t]||null})}),this._setVisibility()}ngOnDestroy(){this._activeOptionChanges.unsubscribe()}_setScrollTop(t){this.panel&&(this.panel.nativeElement.scrollTop=t)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}_emitSelectEvent(t){const e=new a$(this,t);this.optionSelected.emit(e)}_getPanelAriaLabelledby(t){return this.ariaLabel?null:this.ariaLabelledby?(t?t+" ":"")+this.ariaLabelledby:t}_setVisibilityClasses(t){t[this._visibleClass]=this.showPanel,t[this._hiddenClass]=!this.showPanel}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(Al),ea(c$),ea(Ep))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&(Zc(ac,7),Zc(i$,5)),2&t){let t;Qc(t=tu())&&(e.template=t.first),Qc(t=tu())&&(e.panel=t.first)}},inputs:{displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",classList:["class","classList"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],panelWidth:"panelWidth"},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[jo]}),t})(),h$=(()=>{class t extends u${constructor(){super(...arguments),this._visibleClass="mat-autocomplete-visible",this._hiddenClass="mat-autocomplete-hidden"}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-autocomplete"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,bv,5),Jc(n,wv,5)),2&t){let t;Qc(t=tu())&&(e.optionGroups=t),Qc(t=tu())&&(e.options=t)}},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[xl([{provide:pv,useExisting:t}]),jo],ngContentSelectors:s$,decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(t,e){1&t&&(wa(),Jo(0,r$,3,4,"ng-template"))},directives:[Oh],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"],encapsulation:2,changeDetection:0}),t})();const d$=new oi("mat-autocomplete-scroll-strategy"),p$={provide:d$,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}},f$={provide:aU,useExisting:pt(()=>m$),multi:!0};let g$=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l,c,u){this._element=t,this._overlay=e,this._viewContainerRef=n,this._zone=i,this._changeDetectorRef=r,this._dir=o,this._formField=a,this._document=l,this._viewportRuler=c,this._defaults=u,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=g.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new A,this._windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen},this._onChange=()=>{},this._onTouched=()=>{},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=vH(()=>this.autocomplete&&this.autocomplete.options?Q(...this.autocomplete.options.map(t=>t.onSelectionChange)):this._zone.onStable.pipe(rf(1),cp(()=>this.optionSelections))),this._scrollStrategy=s}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(t){this._autocompleteDisabled=kd(t)}ngAfterViewInit(){const t=this._getWindow();void 0!==t&&this._zone.runOutsideAngular(()=>t.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(t){t.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){const t=this._getWindow();void 0!==t&&t.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Q(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(ep(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(ep(()=>this._overlayAttached)):Dd()).pipe(D(t=>t instanceof vv?t:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return Q(Rd(this._document,"click"),Rd(this._document,"auxclick"),Rd(this._document,"touchend")).pipe(ep(t=>{const e=Lp(t),n=this._formField?this._formField._elementRef.nativeElement:null,i=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&e!==this._element.nativeElement&&(!n||!n.contains(e))&&(!i||!i.contains(e))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(e)}))}writeValue(t){Promise.resolve(null).then(()=>this._setTriggerValue(t))}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this._element.nativeElement.disabled=t}_handleKeydown(t){const e=t.keyCode;if(27===e&&!uf(t)&&t.preventDefault(),this.activeOption&&13===e&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){const n=this.autocomplete._keyManager.activeItem,i=38===e||40===e;this.panelOpen||9===e?this.autocomplete._keyManager.onKeydown(t):i&&this._canOpen()&&this.openPanel(),(i||this.autocomplete._keyManager.activeItem!==n)&&this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0)}}_handleInput(t){let e=t.target,n=e.value;"number"===e.type&&(n=""==n?null:parseFloat(n)),this._previousValue!==n&&(this._previousValue=n,this._onChange(n),this._canOpen()&&this._document.activeElement===t.target&&this.openPanel())}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_floatLabel(t=!1){this._formField&&"auto"===this._formField.floatLabel&&(t?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){return Q(this._zone.onStable.pipe(rf(1)),this.autocomplete.options.changes.pipe(eg(()=>this._positionStrategy.reapplyLastPosition()),JH(0))).pipe(cp(()=>{const t=this.panelOpen;return this._resetActiveItem(),this.autocomplete._setVisibility(),this.panelOpen&&(this._overlayRef.updatePosition(),t!==this.panelOpen&&this.autocomplete.opened.emit()),this.panelClosingActions}),rf(1)).subscribe(t=>this._setValueAndClose(t))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(t){const e=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(t):t,n=null!=e?e:"";this._formField?this._formField._control.value=n:this._element.nativeElement.value=n,this._previousValue=n}_setValueAndClose(t){t&&t.source&&(this._clearPreviousSelectedOption(t.source),this._setTriggerValue(t.source.value),this._onChange(t.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(t.source)),this.closePanel()}_clearPreviousSelectedOption(t){this.autocomplete.options.forEach(e=>{e!==t&&e.selected&&e.deselect()})}_attachOverlay(){var t;let e=this._overlayRef;e?(this._positionStrategy.setOrigin(this._getConnectedElement()),e.updateSize({width:this._getPanelWidth()})):(this._portal=new Yp(this.autocomplete.template,this._viewContainerRef,{id:null===(t=this._formField)||void 0===t?void 0:t.getLabelId()}),e=this._overlay.create(this._getOverlayConfig()),this._overlayRef=e,e.keydownEvents().subscribe(t=>{(27===t.keyCode&&!uf(t)||38===t.keyCode&&uf(t,"altKey"))&&(this._closeKeyEventStream.next(),this._resetActiveItem(),t.stopPropagation(),t.preventDefault())}),this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&e&&e.updateSize({width:this._getPanelWidth()})})),e&&!e.hasAttached()&&(e.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const n=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&n!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){var t;return new vf({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:null===(t=this._defaults)||void 0===t?void 0:t.overlayPanelClass})}_getOverlayPosition(){const t=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(t),this._positionStrategy=t,t}_setStrategyPositions(t){const e=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],n=this._aboveClass,i=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:n},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:n}];let r;r="above"===this.position?i:"below"===this.position?e:[...e,...i],t.withPositions(r)}_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(){const t=this.autocomplete;t.autoActiveFirstOption?t._keyManager.setFirstItemActive():t._keyManager.setActiveItem(-1)}_canOpen(){const t=this._element.nativeElement;return!t.readOnly&&!t.disabled&&!this._autocompleteDisabled}_getWindow(){var t;return(null===(t=this._document)||void 0===t?void 0:t.defaultView)||window}_scrollToOption(t){const e=this.autocomplete,n=xv(t,e.options,e.optionGroups);if(0===t&&1===n)e._setScrollTop(0);else if(e.panel){const n=e.options.toArray()[t];if(n){const t=n._getHostElement(),i=Sv(t.offsetTop,t.offsetHeight,e._getScrollTop(),e.panel.nativeElement.offsetHeight);e._setScrollTop(i)}}}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Vf),ea(pc),ea(Tu),ea(nc),ea(d$),ea(Fp,8),ea(KH,9),ea(th,8),ea(Hp),ea(c$,8))},t.\u0275dir=se({type:t,inputs:{position:["matAutocompletePosition","position"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"],autocomplete:["matAutocomplete","autocomplete"],connectedTo:["matAutocompleteConnectedTo","connectedTo"]},features:[ye]}),t})(),m$=(()=>{class t extends g${constructor(){super(...arguments),this._aboveClass="mat-autocomplete-panel-above"}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(t,e){1&t&&fa("focusin",function(){return e._handleFocus()})("blur",function(){return e._onTouched()})("input",function(t){return e._handleInput(t)})("keydown",function(t){return e._handleKeydown(t)}),2&t&&Ko("autocomplete",e.autocompleteAttribute)("role",e.autocompleteDisabled?null:"combobox")("aria-autocomplete",e.autocompleteDisabled?null:"list")("aria-activedescendant",e.panelOpen&&e.activeOption?e.activeOption.id:null)("aria-expanded",e.autocompleteDisabled?null:e.panelOpen.toString())("aria-owns",e.autocompleteDisabled||!e.panelOpen||null==e.autocomplete?null:e.autocomplete.id)("aria-haspopup",!e.autocompleteDisabled)},exportAs:["matAutocompleteTrigger"],features:[xl([f$]),jo]}),t})(),b$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[p$],imports:[[Wf,Cv,Wy,Wh],$p,Cv,Wy]}),t})();const y$=Ip({passive:!0});let v$=(()=>{class t{constructor(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return pp;const e=Id(t),n=this._monitoredElements.get(e);if(n)return n.subject;const i=new A,r="cdk-text-field-autofilled",s=t=>{"cdk-text-field-autofill-start"!==t.animationName||e.classList.contains(r)?"cdk-text-field-autofill-end"===t.animationName&&e.classList.contains(r)&&(e.classList.remove(r),this._ngZone.run(()=>i.next({target:t.target,isAutofilled:!1}))):(e.classList.add(r),this._ngZone.run(()=>i.next({target:t.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{e.addEventListener("animationstart",s,y$),e.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(e,{subject:i,unlisten:()=>{e.removeEventListener("animationstart",s,y$)}}),i}stopMonitoring(t){const e=Id(t),n=this._monitoredElements.get(e);n&&(n.unlisten(),n.subject.complete(),e.classList.remove("cdk-text-field-autofill-monitored"),e.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(e))}ngOnDestroy(){this._monitoredElements.forEach((t,e)=>this.stopMonitoring(e))}}return t.\u0275fac=function(e){return new(e||t)(Ei(Ep),Ei(Tu))},t.\u0275prov=xt({factory:function(){return new t(Ei(Ep),Ei(Tu))},token:t,providedIn:"root"}),t})(),_$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Op]]}),t})();const w$=new oi("MAT_INPUT_VALUE_ACCESSOR"),x$=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let S$=0;const C$=Qy(class{constructor(t,e,n,i){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=n,this.ngControl=i}});let E$=(()=>{class t extends C${constructor(t,e,n,i,r,s,o,a,l,c){super(s,i,r,n),this._elementRef=t,this._platform=e,this._autofillMonitor=a,this._formField=c,this._uid="mat-input-"+S$++,this.focused=!1,this.stateChanges=new A,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(t=>kp().has(t));const u=this._elementRef.nativeElement,h=u.nodeName.toLowerCase();this._inputValueAccessor=o||u,this._previousNativeValue=this.value,this.id=this.id,e.IOS&&l.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",t=>{const e=t.target;!e.value&&0===e.selectionStart&&0===e.selectionEnd&&(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===h,this._isTextarea="textarea"===h,this._isInFormField=!!c,this._isNativeSelect&&(this.controlType=u.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=kd(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=kd(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea&&kp().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=kd(t)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(t){this._elementRef.nativeElement.focus(t)}_focusChanged(t){t!==this.focused&&(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){var t,e;const n=(null===(e=null===(t=this._formField)||void 0===t?void 0:t._hideControlPlaceholder)||void 0===e?void 0:e.call(t))?null:this.placeholder;if(n!==this._previousPlaceholder){const t=this._elementRef.nativeElement;this._previousPlaceholder=n,n?t.setAttribute("placeholder",n):t.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){x$.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const t=this._elementRef.nativeElement,e=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&e&&e.label)}return this.focused||!this.empty}setDescribedByIds(t){t.length?this._elementRef.nativeElement.setAttribute("aria-describedby",t.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(PU,10),ea(sH,8),ea(gH,8),ea(Zy),ea(w$,10),ea(v$),ea(Tu),ea(KH,8))},t.\u0275dir=se({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._focusChanged(!0)})("blur",function(){return e._focusChanged(!1)})("input",function(){return e._onInput()}),2&t&&(rl("disabled",e.disabled)("required",e.required),Ko("id",e.id)("data-placeholder",e.placeholder)("readonly",e.readonly&&!e._isNativeSelect||null)("aria-invalid",e.empty&&e.required?null:e.errorState)("aria-required",e.required),ja("mat-input-server",e._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[xl([{provide:BH,useExisting:t}]),jo,ye]}),t})(),O$=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[Zy],imports:[[_$,ZH,Wy],_$,ZH]}),t})();function T$(...t){const e=t.length;if(0===e)throw new Error("list of properties cannot be empty.");return n=>D(function(t,e){return n=>{let i=n;for(let r=0;rF$),multi:!0};class L${}const j$=Ky(Yy(qy(class{constructor(t){this._elementRef=t}}),"accent"));let F$=(()=>{class t extends j${constructor(t,e,n,i,r,s,o,a){super(t),this._focusMonitor=e,this._changeDetectorRef=n,this._dir=i,this._ngZone=s,this._animationMode=a,this._invert=!1,this._max=100,this._min=0,this._step=1,this._thumbLabel=!1,this._tickInterval=0,this._value=null,this._vertical=!1,this.change=new Bc,this.input=new Bc,this.valueChange=new Bc,this.onTouched=()=>{},this._percent=0,this._isSliding=null,this._isActive=!1,this._tickIntervalPercent=0,this._sliderDimensions=null,this._controlValueAccessorChangeFn=()=>{},this._dirChangeSubscription=g.EMPTY,this._pointerDown=t=>{this.disabled||this._isSliding||!B$(t)&&0!==t.button||this._ngZone.run(()=>{this._touchId=B$(t)?function(t,e){for(let n=0;n{if("pointer"===this._isSliding){const e=V$(t,this._touchId);if(e){t.preventDefault();const n=this.value;this._lastPointerEvent=t,this._updateValueFromPosition(e),n!=this.value&&this._emitInputEvent()}}},this._pointerUp=t=>{"pointer"===this._isSliding&&(!B$(t)||"number"!=typeof this._touchId||z$(t.changedTouches,this._touchId))&&(t.preventDefault(),this._removeGlobalEvents(),this._isSliding=null,this._touchId=void 0,this._valueOnSlideStart!=this.value&&!this.disabled&&this._emitChangeEvent(),this._valueOnSlideStart=this._lastPointerEvent=null)},this._windowBlur=()=>{this._lastPointerEvent&&this._pointerUp(this._lastPointerEvent)},this._document=o,this.tabIndex=parseInt(r)||0,s.runOutsideAngular(()=>{const e=t.nativeElement;e.addEventListener("mousedown",this._pointerDown,R$),e.addEventListener("touchstart",this._pointerDown,R$)})}get invert(){return this._invert}set invert(t){this._invert=kd(t)}get max(){return this._max}set max(t){this._max=Pd(t,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get min(){return this._min}set min(t){this._min=Pd(t,this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get step(){return this._step}set step(t){this._step=Pd(t,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()}get thumbLabel(){return this._thumbLabel}set thumbLabel(t){this._thumbLabel=kd(t)}get tickInterval(){return this._tickInterval}set tickInterval(t){this._tickInterval="auto"===t?"auto":"number"==typeof t||"string"==typeof t?Pd(t,this._tickInterval):0}get value(){return null===this._value&&(this.value=this._min),this._value}set value(t){if(t!==this._value){let e=Pd(t,0);this._roundToDecimal&&e!==this.min&&e!==this.max&&(e=parseFloat(e.toFixed(this._roundToDecimal))),this._value=e,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}}get vertical(){return this._vertical}set vertical(t){this._vertical=kd(t)}get displayValue(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0}focus(t){this._focusHostElement(t)}blur(){this._blurHostElement()}get percent(){return this._clamp(this._percent)}_shouldInvertAxis(){return this.vertical?!this.invert:this.invert}_isMinValue(){return 0===this.percent}_getThumbGap(){return this.disabled?7:this._isMinValue()&&!this.thumbLabel?this._isActive?10:7:0}_getTrackBackgroundStyles(){const t=this.vertical?`1, ${1-this.percent}, 1`:1-this.percent+", 1, 1";return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"-":""}${this._getThumbGap()}px) scale3d(${t})`}}_getTrackFillStyles(){const t=this.percent,e=this.vertical?`1, ${t}, 1`:`${t}, 1, 1`;return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"":"-"}${this._getThumbGap()}px) scale3d(${e})`,display:0===t?"none":""}}_getTicksContainerStyles(){return{transform:`translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"-":""}${this._tickIntervalPercent/2*100}%)`}}_getTicksStyles(){let t=100*this._tickIntervalPercent,e={backgroundSize:this.vertical?`2px ${t}%`:`${t}% 2px`,transform:`translateZ(0) translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"":"-"}${t/2}%)${this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)"}`};if(this._isMinValue()&&this._getThumbGap()){const t=this._shouldInvertAxis();let n;n=this.vertical?t?"Bottom":"Top":t?"Right":"Left",e[`padding${n}`]=`${this._getThumbGap()}px`}return e}_getThumbContainerStyles(){const t=this._shouldInvertAxis();return{transform:`translate${this.vertical?"Y":"X"}(-${100*(("rtl"!=this._getDirection()||this.vertical?t:!t)?this.percent:1-this.percent)}%)`}}_shouldInvertMouseCoords(){const t=this._shouldInvertAxis();return"rtl"!=this._getDirection()||this.vertical?t:!t}_getDirection(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{this._isActive=!!t&&"keyboard"!==t,this._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>{this._changeDetectorRef.markForCheck()}))}ngOnDestroy(){const t=this._elementRef.nativeElement;t.removeEventListener("mousedown",this._pointerDown,R$),t.removeEventListener("touchstart",this._pointerDown,R$),this._lastPointerEvent=null,this._removeGlobalEvents(),this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()}_onMouseenter(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())}_onFocus(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()}_onBlur(){this.onTouched()}_onKeydown(t){if(this.disabled||uf(t)||this._isSliding&&"keyboard"!==this._isSliding)return;const e=this.value;switch(t.keyCode){case 33:this._increment(10);break;case 34:this._increment(-10);break;case 35:this.value=this.max;break;case 36:this.value=this.min;break;case 37:this._increment("rtl"==this._getDirection()?1:-1);break;case 38:this._increment(1);break;case 39:this._increment("rtl"==this._getDirection()?-1:1);break;case 40:this._increment(-1);break;default:return}e!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding="keyboard",t.preventDefault()}_onKeyup(){"keyboard"===this._isSliding&&(this._isSliding=null)}_getWindow(){return this._document.defaultView||window}_bindGlobalEvents(t){const e=this._document,n=B$(t),i=n?"touchend":"mouseup";e.addEventListener(n?"touchmove":"mousemove",this._pointerMove,R$),e.addEventListener(i,this._pointerUp,R$),n&&e.addEventListener("touchcancel",this._pointerUp,R$);const r=this._getWindow();void 0!==r&&r&&r.addEventListener("blur",this._windowBlur)}_removeGlobalEvents(){const t=this._document;t.removeEventListener("mousemove",this._pointerMove,R$),t.removeEventListener("mouseup",this._pointerUp,R$),t.removeEventListener("touchmove",this._pointerMove,R$),t.removeEventListener("touchend",this._pointerUp,R$),t.removeEventListener("touchcancel",this._pointerUp,R$);const e=this._getWindow();void 0!==e&&e&&e.removeEventListener("blur",this._windowBlur)}_increment(t){this.value=this._clamp((this.value||0)+this.step*t,this.min,this.max)}_updateValueFromPosition(t){if(!this._sliderDimensions)return;let e=this._clamp(((this.vertical?t.y:t.x)-(this.vertical?this._sliderDimensions.top:this._sliderDimensions.left))/(this.vertical?this._sliderDimensions.height:this._sliderDimensions.width));if(this._shouldInvertMouseCoords()&&(e=1-e),0===e)this.value=this.min;else if(1===e)this.value=this.max;else{const t=this._calculateValue(e),n=Math.round((t-this.min)/this.step)*this.step+this.min;this.value=this._clamp(n,this.min,this.max)}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())}_emitInputEvent(){this.input.emit(this._createChangeEvent())}_updateTickIntervalPercent(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){let t=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,e=Math.ceil(30/(t*this.step/(this.max-this.min)))*this.step;this._tickIntervalPercent=e/t}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)}_createChangeEvent(t=this.value){let e=new L$;return e.source=this,e.value=t,e}_calculatePercentage(t){return((t||0)-this.min)/(this.max-this.min)}_calculateValue(t){return this.min+t*(this.max-this.min)}_clamp(t,e=0,n=1){return Math.max(e,Math.min(t,n))}_getSliderDimensions(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}_focusHostElement(t){this._elementRef.nativeElement.focus(t)}_blurHostElement(){this._elementRef.nativeElement.blur()}writeValue(t){this.value=t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ug),ea(nc),ea(Fp,8),ii("tabindex"),ea(Tu),ea(th),ea(Ny,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-slider"]],viewQuery:function(t,e){if(1&t&&Zc(D$,5),2&t){let t;Qc(t=tu())&&(e._sliderWrapper=t.first)}},hostAttrs:["role","slider",1,"mat-slider","mat-focus-indicator"],hostVars:29,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()})("keydown",function(t){return e._onKeydown(t)})("keyup",function(){return e._onKeyup()})("mouseenter",function(){return e._onMouseenter()})("selectstart",function(t){return t.preventDefault()}),2&t&&(rl("tabIndex",e.tabIndex),Ko("aria-disabled",e.disabled)("aria-valuemax",e.max)("aria-valuemin",e.min)("aria-valuenow",e.value)("aria-valuetext",null==e.valueText?e.displayValue:e.valueText)("aria-orientation",e.vertical?"vertical":"horizontal"),ja("mat-slider-disabled",e.disabled)("mat-slider-has-ticks",e.tickInterval)("mat-slider-horizontal",!e.vertical)("mat-slider-axis-inverted",e._shouldInvertAxis())("mat-slider-invert-mouse-coords",e._shouldInvertMouseCoords())("mat-slider-sliding",e._isSliding)("mat-slider-thumb-label-showing",e.thumbLabel)("mat-slider-vertical",e.vertical)("mat-slider-min-value",e._isMinValue())("mat-slider-hide-last-tick",e.disabled||e._isMinValue()&&e._getThumbGap()&&e._shouldInvertAxis())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disabled:"disabled",color:"color",tabIndex:"tabIndex",invert:"invert",max:"max",min:"min",step:"step",thumbLabel:"thumbLabel",tickInterval:"tickInterval",value:"value",vertical:"vertical",displayWith:"displayWith",valueText:"valueText"},outputs:{change:"change",input:"input",valueChange:"valueChange"},exportAs:["matSlider"],features:[xl([N$]),jo],decls:13,vars:6,consts:[[1,"mat-slider-wrapper"],["sliderWrapper",""],[1,"mat-slider-track-wrapper"],[1,"mat-slider-track-background",3,"ngStyle"],[1,"mat-slider-track-fill",3,"ngStyle"],[1,"mat-slider-ticks-container",3,"ngStyle"],[1,"mat-slider-ticks",3,"ngStyle"],[1,"mat-slider-thumb-container",3,"ngStyle"],[1,"mat-slider-focus-ring"],[1,"mat-slider-thumb"],[1,"mat-slider-thumb-label"],[1,"mat-slider-thumb-label-text"]],template:function(t,e){1&t&&(ra(0,"div",0,1),ra(2,"div",2),oa(3,"div",3),oa(4,"div",4),sa(),ra(5,"div",5),oa(6,"div",6),sa(),ra(7,"div",7),oa(8,"div",8),oa(9,"div",9),ra(10,"div",10),ra(11,"span",11),Ja(12),sa(),sa(),sa(),sa()),2&t&&(ws(3),na("ngStyle",e._getTrackBackgroundStyles()),ws(1),na("ngStyle",e._getTrackFillStyles()),ws(1),na("ngStyle",e._getTicksContainerStyles()),ws(1),na("ngStyle",e._getTicksStyles()),ws(1),na("ngStyle",e._getThumbContainerStyles()),ws(5),tl(e.displayValue))},directives:[jh],styles:['.mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:"";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\n'],encapsulation:2,changeDetection:0}),t})();function B$(t){return"t"===t.type[0]}function V$(t,e){let n;return n=B$(t)?"number"==typeof e?z$(t.touches,e)||z$(t.changedTouches,e):t.touches[0]||t.changedTouches[0]:t,n?{x:n.clientX,y:n.clientY}:void 0}function z$(t,e){for(let n=0;n{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy],Wy]}),t})();function H$(t,e){}class $${constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const G$={dialogContainer:Qg("dialogContainer",[em("void, exit",tm({opacity:0,transform:"scale(0.7)"})),em("enter",tm({transform:"none"})),im("* => enter",Zg("150ms cubic-bezier(0, 0, 0.2, 1)",tm({transform:"none",opacity:1}))),im("* => void, * => exit",Zg("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",tm({opacity:0})))])};let W$=(()=>{class t extends Kp{constructor(t,e,n,i,r,s){super(),this._elementRef=t,this._focusTrapFactory=e,this._changeDetectorRef=n,this._config=r,this._focusMonitor=s,this._animationStateChanged=new Bc,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=t=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(t)),this._ariaLabelledBy=r.ariaLabelledBy||null,this._document=i}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const e=Np(),n=this._elementRef.nativeElement;(!e||e===this._document.body||e===n||n.contains(e))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=Np())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,e=Np();return t===e||t.contains(e)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ag),ea(nc),ea(th,8),ea($$),ea(Ug))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&Zc(tf,7),2&t){let t;Qc(t=tu())&&(e._portalOutlet=t.first)}},features:[jo]}),t})(),q$=(()=>{class t extends W${constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:e}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:e})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:e}))}_onAnimationStart({toState:t,totalTime:e}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:e}):("exit"===t||"void"===t)&&this._animationStateChanged.next({state:"closing",totalTime:e})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,e){1&t&&ga("@dialogContainer.start",function(t){return e._onAnimationStart(t)})("@dialogContainer.done",function(t){return e._onAnimationDone(t)}),2&t&&(rl("id",e._id),Ko("role",e._config.role)("aria-labelledby",e._config.ariaLabel?null:e._ariaLabelledBy)("aria-label",e._config.ariaLabel)("aria-describedby",e._config.ariaDescribedBy||null),sl("@dialogContainer",e._state))},features:[jo],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,e){1&t&&Jo(0,H$,0,0,"ng-template",0)},directives:[tf],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[G$.dialogContainer]}}),t})(),Y$=0;class X${constructor(t,e,n="mat-dialog-"+Y$++){this._overlayRef=t,this._containerInstance=e,this.id=n,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new A,this._afterClosed=new A,this._beforeClosed=new A,this._state=0,e._id=n,e._animationStateChanged.pipe(ep(t=>"opened"===t.state),rf(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),e._animationStateChanged.pipe(ep(t=>"closed"===t.state),rf(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),t.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),t.keydownEvents().pipe(ep(t=>27===t.keyCode&&!this.disableClose&&!uf(t))).subscribe(t=>{t.preventDefault(),K$(this,"keyboard")}),t.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():K$(this,"mouse")})}close(t){this._result=t,this._containerInstance._animationStateChanged.pipe(ep(t=>"closing"===t.state),rf(1)).subscribe(e=>{this._beforeClosed.next(t),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(t){let e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(t="",e=""){return this._overlayRef.updateSize({width:t,height:e}),this._overlayRef.updatePosition(),this}addPanelClass(t){return this._overlayRef.addPanelClass(t),this}removePanelClass(t){return this._overlayRef.removePanelClass(t),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function K$(t,e,n){return void 0!==t._containerInstance&&(t._containerInstance._closeInteractionType=e),t.close(n)}const Q$=new oi("MatDialogData"),Z$=new oi("mat-dialog-default-options"),J$=new oi("mat-dialog-scroll-strategy"),tG={provide:J$,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.block()}};let eG=(()=>{class t{constructor(t,e,n,i,r,s,o,a,l){this._overlay=t,this._injector=e,this._defaultOptions=n,this._parentDialog=i,this._overlayContainer=r,this._dialogRefConstructor=o,this._dialogContainerType=a,this._dialogDataToken=l,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new A,this._afterOpenedAtThisLevel=new A,this._ariaHiddenElements=new Map,this.afterAllClosed=vH(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(lp(void 0))),this._scrollStrategy=s}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,e){(e=function(t,e){return Object.assign(Object.assign({},e),t)}(e,this._defaultOptions||new $$)).id&&this.getDialogById(e.id);const n=this._createOverlay(e),i=this._attachDialogContainer(n,e),r=this._attachDialogContent(t,i,n,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(r),r.afterClosed().subscribe(()=>this._removeOpenDialog(r)),this.afterOpened.next(r),i._initializeWithAttachedContent(),r}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(e=>e.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const e=this._getOverlayConfig(t);return this._overlay.create(e)}_getOverlayConfig(t){const e=new vf({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(e.backdropClass=t.backdropClass),e}_attachDialogContainer(t,e){const n=No.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:$$,useValue:e}]}),i=new qp(this._dialogContainerType,e.viewContainerRef,n,e.componentFactoryResolver);return t.attach(i).instance}_attachDialogContent(t,e,n,i){const r=new this._dialogRefConstructor(n,e,i.id);if(t instanceof ac)e.attachTemplatePortal(new Yp(t,null,{$implicit:i.data,dialogRef:r}));else{const n=this._createInjector(i,r,e),s=e.attachComponentPortal(new qp(t,i.viewContainerRef,n));r.componentInstance=s.instance}return r.updateSize(i.width,i.height).updatePosition(i.position),r}_createInjector(t,e,n){const i=t&&t.viewContainerRef&&t.viewContainerRef.injector,r=[{provide:this._dialogContainerType,useValue:n},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:e}];return t.direction&&(!i||!i.get(Fp,null,Mt.Optional))&&r.push({provide:Fp,useValue:{value:t.direction,change:Dd()}}),No.create({parent:i||this._injector,providers:r})}_removeOpenDialog(t){const e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((t,e)=>{t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const e=t.parentElement.children;for(let n=e.length-1;n>-1;n--){let i=e[n];i!==t&&"SCRIPT"!==i.nodeName&&"STYLE"!==i.nodeName&&!i.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(i,i.getAttribute("aria-hidden")),i.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let e=t.length;for(;e--;)t[e].close()}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(No),ea(void 0),ea(void 0),ea(Tf),ea(void 0),ea(ai),ea(ai),ea(oi))},t.\u0275dir=se({type:t}),t})(),nG=(()=>{class t extends eG{constructor(t,e,n,i,r,s,o){super(t,e,i,s,o,r,X$,q$,Q$)}}return t.\u0275fac=function(e){return new(e||t)(Ei(Vf),Ei(No),Ei(ph,8),Ei(Z$,8),Ei(J$),Ei(t,12),Ei(Tf))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),iG=0,rG=(()=>{class t{constructor(t,e,n){this._dialogRef=t,this._elementRef=e,this._dialog=n,this.id="mat-dialog-title-"+iG++}ngOnInit(){this._dialogRef||(this._dialogRef=function(t,e){let n=t.nativeElement.parentElement;for(;n&&!n.classList.contains("mat-dialog-container");)n=n.parentElement;return n?e.find(t=>t.id===n.id):null}(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const t=this._dialogRef._containerInstance;t&&!t._ariaLabelledBy&&(t._ariaLabelledBy=this.id)})}}return t.\u0275fac=function(e){return new(e||t)(ea(X$,8),ea(Al),ea(nG))},t.\u0275dir=se({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(t,e){2&t&&rl("id",e.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),t})(),sG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]}),t})();let oG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[nG,tG],imports:[[Wf,ef,Wy],Wy]}),t})();const aG=new oi("CdkAccordion");let lG=0,cG=(()=>{class t{constructor(t,e,n){this.accordion=t,this._changeDetectorRef=e,this._expansionDispatcher=n,this._openCloseAllSubscription=g.EMPTY,this.closed=new Bc,this.opened=new Bc,this.destroyed=new Bc,this.expandedChange=new Bc,this.id="cdk-accordion-child-"+lG++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=n.listen((t,e)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===e&&this.id!==t&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=kd(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return t.\u0275fac=function(e){return new(e||t)(ea(aG,12),ea(nc),ea(zp))},t.\u0275dir=se({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[xl([{provide:aG,useValue:void 0}])]}),t})(),uG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const hG=["body"];function dG(t,e){}const pG=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],fG=["mat-expansion-panel-header","*","mat-action-row"];function gG(t,e){1&t&&oa(0,"span",2),2&t&&na("@indicatorRotate",va()._getExpandedState())}const mG=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],bG=["mat-panel-title","mat-panel-description","*"],yG=new oi("MAT_ACCORDION"),vG="225ms cubic-bezier(0.4,0.0,0.2,1)",_G={indicatorRotate:Qg("indicatorRotate",[em("collapsed, void",tm({transform:"rotate(0deg)"})),em("expanded",tm({transform:"rotate(180deg)"})),im("expanded <=> collapsed, void => collapsed",Zg(vG))]),bodyExpansion:Qg("bodyExpansion",[em("collapsed, void",tm({height:"0px",visibility:"hidden"})),em("expanded",tm({height:"*",visibility:"visible"})),im("expanded <=> collapsed, void => collapsed",Zg(vG))])};let wG=(()=>{class t{constructor(t){this._template=t}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]}),t})(),xG=0;const SG=new oi("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let CG=(()=>{class t extends cG{constructor(t,e,n,i,r,s,o){super(t,e,n),this._viewContainerRef=i,this._animationMode=s,this._hideToggle=!1,this.afterExpand=new Bc,this.afterCollapse=new Bc,this._inputChanges=new A,this._headerId="mat-expansion-panel-header-"+xG++,this._bodyAnimationDone=new A,this.accordion=t,this._document=r,this._bodyAnimationDone.pipe(Wd((t,e)=>t.fromState===e.fromState&&t.toState===e.toState)).subscribe(t=>{"void"!==t.fromState&&("expanded"===t.toState?this.afterExpand.emit():"collapsed"===t.toState&&this.afterCollapse.emit())}),o&&(this.hideToggle=o.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=kd(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe(lp(null),ep(()=>this.expanded&&!this._portal),rf(1)).subscribe(()=>{this._portal=new Yp(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,e=this._body.nativeElement;return t===e||e.contains(t)}return!1}}return t.\u0275fac=function(e){return new(e||t)(ea(yG,12),ea(nc),ea(zp),ea(pc),ea(th),ea(Ny,8),ea(SG,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,wG,5),2&t){let t;Qc(t=tu())&&(e._lazyContent=t.first)}},viewQuery:function(t,e){if(1&t&&Zc(hG,5),2&t){let t;Qc(t=tu())&&(e._body=t.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,e){2&t&&ja("mat-expanded",e.expanded)("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-expansion-panel-spacing",e._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[xl([{provide:yG,useValue:void 0}]),jo,ye],ngContentSelectors:fG,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,e){1&t&&(wa(pG),xa(0),ra(1,"div",0,1),fa("@bodyExpansion.done",function(t){return e._bodyAnimationDone.next(t)}),ra(3,"div",2),xa(4,1),Jo(5,dG,0,0,"ng-template",3),sa(),xa(6,2),sa()),2&t&&(ws(1),na("@bodyExpansion",e._getExpandedState())("id",e.id),Ko("aria-labelledby",e._headerId),ws(4),na("cdkPortalOutlet",e._portal))},directives:[tf],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[_G.bodyExpansion]},changeDetection:0}),t})();class EG{}const OG=Ky(EG);let TG=(()=>{class t extends OG{constructor(t,e,n,i,r,s,o){super(),this.panel=t,this._element=e,this._focusMonitor=n,this._changeDetectorRef=i,this._animationMode=s,this._parentChangeSubscription=g.EMPTY;const a=t.accordion?t.accordion._stateChanges.pipe(ep(t=>!(!t.hideToggle&&!t.togglePosition))):pp;this.tabIndex=parseInt(o||"")||0,this._parentChangeSubscription=Q(t.opened,t.closed,a,t._inputChanges.pipe(ep(t=>!!(t.hideToggle||t.disabled||t.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe(ep(()=>t._containsFocus())).subscribe(()=>n.focusVia(e,"program")),r&&(this.expandedHeight=r.expandedHeight,this.collapsedHeight=r.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case 32:case 13:uf(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,e){t?this._focusMonitor.focusVia(this._element,t,e):this._element.nativeElement.focus(e)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return t.\u0275fac=function(e){return new(e||t)(ea(CG,1),ea(Al),ea(Ug),ea(nc),ea(SG,8),ea(Ny,8),ii("tabindex"))},t.\u0275cmp=Jt({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,e){1&t&&fa("click",function(){return e._toggle()})("keydown",function(t){return e._keydown(t)}),2&t&&(Ko("id",e.panel._headerId)("tabindex",e.tabIndex)("aria-controls",e._getPanelId())("aria-expanded",e._isExpanded())("aria-disabled",e.panel.disabled),La("height",e._getHeaderHeight()),ja("mat-expanded",e._isExpanded())("mat-expansion-toggle-indicator-after","after"===e._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===e._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[jo],ngContentSelectors:bG,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,e){1&t&&(wa(mG),ra(0,"span",0),xa(1),xa(2,1),xa(3,2),sa(),Jo(4,gG,1,1,"span",1)),2&t&&(ws(4),na("ngIf",e._showToggle()))},directives:[Ah],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[_G.indicatorRotate]},changeDetection:0}),t})(),kG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wy,uG,ef]]}),t})();var PG=n(5478);Object.create(Error.prototype);const AG=["*"];var MG=(()=>(function(t){t.LineHighlight="line-highlight",t.LineNumbers="line-numbers"}(MG||(MG={})),MG))();class IG{}const DG=new oi("SECURITY_CONTEXT");let RG=(()=>{class t{constructor(t,e,n,i,r){this.platform=t,this.securityContext=e,this.http=n,this.sanitizer=r,this.initialMarkedOptions={renderer:new PG.Renderer},this.options=i}get options(){return this._options}set options(t){this._options=Object.assign(Object.assign({},this.initialMarkedOptions),t)}get renderer(){return this.options.renderer}set renderer(t){this.options.renderer=t}compile(t,e=!1,n=!1,i=this.options){const r=this.trimIndentation(t),s=e?this.decodeHtml(r):r,o=n?this.renderEmoji(s):s,a=PG.parse(o,i);return this.sanitizer.sanitize(this.securityContext,a)||""}getSource(t){if(!this.http)throw new Error("[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information");return this.http.get(t,{responseType:"text"}).pipe(D(e=>this.handleExtension(t,e)))}highlight(t){if(Yh(this.platform)&&"undefined"!=typeof Prism){t||(t=document);const e=t.querySelectorAll('pre code:not([class*="language-"])');Array.prototype.forEach.call(e,t=>t.classList.add("language-none")),Prism.highlightAllUnder(t)}}renderKatex(t,e){if(!Yh(this.platform))return t;if("undefined"==typeof katex||void 0===katex.renderToString)throw new Error("[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information");return t.replace(/\$([^\s][^$]*?[^\s])\$/gm,(t,n)=>katex.renderToString(n,e))}decodeHtml(t){if(!Yh(this.platform))return t;const e=document.createElement("textarea");return e.innerHTML=t,e.value}handleExtension(t,e){const n=t?t.split("?")[0].split(".").splice(-1).join():"";return"md"!==n?"```"+n+"\n"+e+"\n```":e}renderEmoji(t){if(!Yh(this.platform))return t;if("undefined"==typeof joypixels||void 0===joypixels.shortnameToUnicode)throw new Error("[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information");return joypixels.shortnameToUnicode(t)}trimIndentation(t){if(!t)return"";let e;return t.split("\n").map(t=>{let n=e;return t.length>0&&(n=isNaN(n)?t.search(/\S|$/):Math.min(t.search(/\S|$/),n)),isNaN(e)&&(e=n),n?t.substring(n):t}).join("\n")}}return t.\u0275fac=function(e){return new(e||t)(Ei(hu),Ei(DG),Ei(Jv,8),Ei(IG,8),Ei(Sd))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),NG=(()=>{class t{constructor(t,e){this.element=t,this.markdownService=e,this.error=new Bc,this.load=new Bc,this.ready=new Bc,this._emoji=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1}get emoji(){return this._emoji}set emoji(t){this._emoji=this.coerceBooleanProperty(t)}get katex(){return this._katex}set katex(t){this._katex=this.coerceBooleanProperty(t)}get lineHighlight(){return this._lineHighlight}set lineHighlight(t){this._lineHighlight=this.coerceBooleanProperty(t)}get lineNumbers(){return this._lineNumbers}set lineNumbers(t){this._lineNumbers=this.coerceBooleanProperty(t)}ngOnChanges(){null==this.data?null==this.src||this.handleSrc():this.handleData()}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion()}render(t,e=!1){let n=this.markdownService.compile(t,e,this.emoji);n=this.katex?this.markdownService.renderKatex(n,this.katexOptions):n,this.element.nativeElement.innerHTML=n,this.handlePlugins(),this.markdownService.highlight(this.element.nativeElement),this.ready.emit()}coerceBooleanProperty(t){return null!=t&&"false"!=`${String(t)}`}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe(t=>{this.render(t),this.load.emit(t)},t=>this.error.emit(t))}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,MG.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(t,e){const n=t.querySelectorAll("pre");for(let i=0;i{const r=e[t];if(r){const e=this.toLispCase(t);n.item(i).setAttribute(e,r.toString())}})}toLispCase(t){const e=t.match(/([A-Z])/g);if(!e)return t;let n=t.toString();for(let i=0,r=e.length;i{class t{static forRoot(e){return{ngModule:t,providers:[RG,e&&e.loader||[],e&&e.markedOptions||[],{provide:DG,useValue:e&&null!=e.sanitize?e.sanitize:yr.HTML}]}}static forChild(){return{ngModule:t}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function jG(t,e,n){return n?jG(t,e).pipe(D(t=>d(t)?n(...t):n(t))):new E(n=>{const i=(...t)=>n.next(1===t.length?t[0]:t);let r;try{r=t(i)}catch(s){return void n.error(s)}if(a(e))return()=>e(i,r)})}function FG(...t){return e=>{let n;return"function"==typeof t[t.length-1]&&(n=t.pop()),e.lift(new BG(t,n))}}class BG{constructor(t,e){this.observables=t,this.project=e}call(t,e){return e.subscribe(new VG(t,this.observables,this.project))}}class VG extends j_{constructor(t,e,n){super(t),this.observables=e,this.project=n,this.toRespond=[];const i=e.length;this.values=new Array(i);for(let r=0;r0){const t=i.indexOf(n);-1!==t&&i.splice(t,1)}}notifyComplete(){}_next(t){if(0===this.toRespond.length){const e=[t,...this.values];this.project?this._tryProject(e):this.destination.next(e)}}_tryProject(t){let e;try{e=this.project.apply(this,t)}catch(n){return void this.destination.error(n)}this.destination.next(e)}}class zG{constructor(t,e,n=!1){this.accumulator=t,this.seed=e,this.hasSeed=n}call(t,e){return e.subscribe(new UG(t,this.accumulator,this.seed,this.hasSeed))}}class UG extends v{constructor(t,e,n,i){super(t),this.accumulator=e,this._seed=n,this.hasSeed=i,this.index=0}get seed(){return this._seed}set seed(t){this.hasSeed=!0,this._seed=t}_next(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)}_tryNext(t){const e=this.index++;let n;try{n=this.accumulator(this.seed,t,e)}catch(i){this.destination.error(i)}this.seed=n,this.destination.next(n)}}class HG{constructor(t){this.predicate=t}call(t,e){return e.subscribe(new $G(t,this.predicate))}}class $G extends v{constructor(t,e){super(t),this.predicate=e,this.skipping=!0,this.index=0}_next(t){const e=this.destination;this.skipping&&this.tryCallPredicate(t),this.skipping||e.next(t)}tryCallPredicate(t){try{const e=this.predicate(t,this.index++);this.skipping=Boolean(e)}catch(e){this.destination.error(e)}}}const GG=["youtubeContainer"];let WG=(()=>{class t{constructor(t,e){this._ngZone=t,this._youtubeContainer=new A,this._destroyed=new A,this._playerChanges=new Jf(void 0),this._videoId=new Jf(void 0),this._height=new Jf(390),this._width=new Jf(640),this._startSeconds=new Jf(void 0),this._endSeconds=new Jf(void 0),this._suggestedQuality=new Jf(void 0),this._playerVars=new Jf(void 0),this.ready=this._getLazyEmitter("onReady"),this.stateChange=this._getLazyEmitter("onStateChange"),this.error=this._getLazyEmitter("onError"),this.apiChange=this._getLazyEmitter("onApiChange"),this.playbackQualityChange=this._getLazyEmitter("onPlaybackQualityChange"),this.playbackRateChange=this._getLazyEmitter("onPlaybackRateChange"),this._isBrowser=Yh(e)}get videoId(){return this._videoId.value}set videoId(t){this._videoId.next(t)}get height(){return this._height.value}set height(t){this._height.next(t||390)}get width(){return this._width.value}set width(t){this._width.next(t||640)}set startSeconds(t){this._startSeconds.next(t)}set endSeconds(t){this._endSeconds.next(t)}set suggestedQuality(t){this._suggestedQuality.next(t)}get playerVars(){return this._playerVars.value}set playerVars(t){this._playerVars.next(t)}ngOnInit(){if(!this._isBrowser)return;let t=Dd(!0);if(!window.YT||!window.YT.Player){const e=new A;this._existingApiReadyCallback=window.onYouTubeIframeAPIReady,window.onYouTubeIframeAPIReady=()=>{this._existingApiReadyCallback&&this._existingApiReadyCallback(),this._ngZone.run(()=>e.next(!0))},t=e.pipe(rf(1),lp(!1))}const e=function(t,e,n,i,r,s,o){const a=z_([e,s]).pipe(FG(z_([i,r])),D(([t,e])=>{const[n,i]=t,[r,s]=e;return n?{videoId:n,playerVars:i,width:r,height:s}:void 0}));return z_([t,a,Dd(o)]).pipe(function(t){return S(function(...t){let e=null;return"function"==typeof t[t.length-1]&&(e=t.pop()),1===t.length&&d(t[0])&&(t=t[0].slice()),n=>n.lift.call(U([n,...t]),new U_(e))}(t),function(t){return e=>e.lift(new HG(t))}(([t,e])=>!e),D(([t])=>t))}(n),function(t,e){let n=!1;return arguments.length>=2&&(n=!0),function(i){return i.lift(new zG(t,e,n))}}(qG,void 0),Wd())}(this._youtubeContainer,this._videoId,t,this._width,this._height,this._playerVars,this._ngZone).pipe(eg(t=>{this._playerChanges.next(t)}),W(t=>t?YG(t)?Dd(t):new E(e=>{let n=!1,i=!1;const r=t=>{i=!0,n||(t.target.removeEventListener("onReady",r),e.next(t.target))};return t.addEventListener("onReady",r),()=>{n=!0,i||(t=>{YG(t)||t.destroy()})(t)}}).pipe(rf(1),lp(void 0)):Dd(void 0)),rp(this._destroyed),rt(new A));e.subscribe(t=>{this._player=t,t&&this._pendingPlayerState&&this._initializePlayer(t,this._pendingPlayerState),this._pendingPlayerState=void 0}),function(t,e,n){z_([t,e,n]).subscribe(([t,e,n])=>t&&t.setSize(e,n))}(e,this._width,this._height),function(t,e){z_([t,e]).subscribe(([t,e])=>t&&e&&t.setPlaybackQuality(e))}(e,this._suggestedQuality),function(t,e,n,i,r,s){const o=z_([n,i]).pipe(D(([t,e])=>({startSeconds:t,endSeconds:e}))),a=o.pipe(XG(t,t=>!!t&&!function(t){const e=t.getPlayerState();return e!==YT.PlayerState.UNSTARTED&&e!==YT.PlayerState.CUED}(t))),l=e.pipe(XG(t,(t,e)=>!!t&&t.videoId!==e));Q(t.pipe(XG(z_([e,o]),([t,e],n)=>!(!n||t==n.videoId&&!e.startSeconds&&!e.endSeconds))),l,a).pipe(FG(z_([t,e,o,r])),D(([t,e])=>e),rp(s)).subscribe(([t,e,n,i])=>{!e||!t||(t.videoId=e,t.cueVideoById(Object.assign({videoId:e,suggestedQuality:i},n)))})}(e,this._videoId,this._startSeconds,this._endSeconds,this._suggestedQuality,this._destroyed),e.connect()}createEventsBoundInZone(){return{}}ngAfterViewInit(){this._youtubeContainer.next(this.youtubeContainer.nativeElement)}ngOnDestroy(){this._player&&(this._player.destroy(),window.onYouTubeIframeAPIReady=this._existingApiReadyCallback),this._playerChanges.complete(),this._videoId.complete(),this._height.complete(),this._width.complete(),this._startSeconds.complete(),this._endSeconds.complete(),this._suggestedQuality.complete(),this._youtubeContainer.complete(),this._playerVars.complete(),this._destroyed.next(),this._destroyed.complete()}playVideo(){this._player?this._player.playVideo():this._getPendingState().playbackState=YT.PlayerState.PLAYING}pauseVideo(){this._player?this._player.pauseVideo():this._getPendingState().playbackState=YT.PlayerState.PAUSED}stopVideo(){this._player?this._player.stopVideo():this._getPendingState().playbackState=YT.PlayerState.CUED}seekTo(t,e){this._player?this._player.seekTo(t,e):this._getPendingState().seek={seconds:t,allowSeekAhead:e}}mute(){this._player?this._player.mute():this._getPendingState().muted=!0}unMute(){this._player?this._player.unMute():this._getPendingState().muted=!1}isMuted(){return this._player?this._player.isMuted():!!this._pendingPlayerState&&!!this._pendingPlayerState.muted}setVolume(t){this._player?this._player.setVolume(t):this._getPendingState().volume=t}getVolume(){return this._player?this._player.getVolume():this._pendingPlayerState&&null!=this._pendingPlayerState.volume?this._pendingPlayerState.volume:0}setPlaybackRate(t){if(this._player)return this._player.setPlaybackRate(t);this._getPendingState().playbackRate=t}getPlaybackRate(){return this._player?this._player.getPlaybackRate():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackRate?this._pendingPlayerState.playbackRate:0}getAvailablePlaybackRates(){return this._player?this._player.getAvailablePlaybackRates():[]}getVideoLoadedFraction(){return this._player?this._player.getVideoLoadedFraction():0}getPlayerState(){if(this._isBrowser&&window.YT)return this._player?this._player.getPlayerState():this._pendingPlayerState&&null!=this._pendingPlayerState.playbackState?this._pendingPlayerState.playbackState:YT.PlayerState.UNSTARTED}getCurrentTime(){return this._player?this._player.getCurrentTime():this._pendingPlayerState&&this._pendingPlayerState.seek?this._pendingPlayerState.seek.seconds:0}getPlaybackQuality(){return this._player?this._player.getPlaybackQuality():"default"}getAvailableQualityLevels(){return this._player?this._player.getAvailableQualityLevels():[]}getDuration(){return this._player?this._player.getDuration():0}getVideoUrl(){return this._player?this._player.getVideoUrl():""}getVideoEmbedCode(){return this._player?this._player.getVideoEmbedCode():""}_getPendingState(){return this._pendingPlayerState||(this._pendingPlayerState={}),this._pendingPlayerState}_initializePlayer(t,e){const{playbackState:n,playbackRate:i,volume:r,muted:s,seek:o}=e;switch(n){case YT.PlayerState.PLAYING:t.playVideo();break;case YT.PlayerState.PAUSED:t.pauseVideo();break;case YT.PlayerState.CUED:t.stopVideo()}null!=i&&t.setPlaybackRate(i),null!=r&&t.setVolume(r),null!=s&&(s?t.mute():t.unMute()),null!=o&&t.seekTo(o.seconds,o.allowSeekAhead)}_getLazyEmitter(t){return this._playerChanges.pipe(cp(e=>e?jG(n=>{e.addEventListener(t,n)},n=>{try{e.removeEventListener&&e.removeEventListener(t,n)}catch(i){}}):Dd()),t=>new E(e=>t.subscribe({next:t=>this._ngZone.run(()=>e.next(t)),error:t=>e.error(t),complete:()=>e.complete()})),rp(this._destroyed))}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(hu))},t.\u0275cmp=Jt({type:t,selectors:[["youtube-player"]],viewQuery:function(t,e){if(1&t&&Zc(GG,5),2&t){let t;Qc(t=tu())&&(e.youtubeContainer=t.first)}},inputs:{videoId:"videoId",height:"height",width:"width",startSeconds:"startSeconds",endSeconds:"endSeconds",suggestedQuality:"suggestedQuality",playerVars:"playerVars",showBeforeIframeApiLoads:"showBeforeIframeApiLoads"},outputs:{ready:"ready",stateChange:"stateChange",error:"error",apiChange:"apiChange",playbackQualityChange:"playbackQualityChange",playbackRateChange:"playbackRateChange"},decls:2,vars:0,consts:[["youtubeContainer",""]],template:function(t,e){1&t&&oa(0,"div",null,0)},encapsulation:2,changeDetection:0}),t})();function qG(t,[e,n,i]){if(t&&n&&t.playerVars!==n.playerVars)t.destroy();else{if(!n)return void(t&&t.destroy());if(t)return t}const r=i.runOutsideAngular(()=>new YT.Player(e,n));return r.videoId=n.videoId,r.playerVars=n.playerVars,r}function YG(t){return"getPlayerStatus"in t}function XG(t,e){return S(FG(t),ep(([t,n])=>e(n,t)),D(([t])=>t))}let KG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),QG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]}),t})();function ZG(t){return!0===t}function JG(t){return null==t}function tW(t){return!JG(t)}function eW(t){return Boolean(t)}function nW(t){return JG(t)?t:JSON.parse(JSON.stringify(t))}const iW=t=>{const e=t instanceof Date;if("object"!=typeof t||null===t||e)return t;Object.freeze(t);const n="function"==typeof t,i=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach(e=>{i.call(t,e)&&(!n||"caller"!==e&&"callee"!==e&&"arguments"!==e)&&null!==t[e]&&("object"==typeof t[e]||"function"==typeof t[e])&&!Object.isFrozen(t[e])&&iW(t[e])}),t};function rW(t){return tW(t)&&"object"==typeof t&&function(t){return"[object Object]"===Object.prototype.toString.call(t)}(t)}const sW="NGXS_DATA_META",oW="NGXS_META",aW="NGXS_ARGUMENT_REGISTRY_META";let lW=(()=>{class t{constructor(t){this.sequence$=new Jf(0),this.subscription=null,t&&(this.subscription=t.subscribe(()=>this.updateSequence()))}get sequenceValue(){return this.sequence$.getValue()}ngOnDestroy(){var t;this.sequence$.next(0),null===(t=this.subscription)||void 0===t||t.unsubscribe()}updateSequence(){this.sequence$.next(this.sequenceValue+1)}}return t.\u0275fac=function(e){return new(e||t)(Ei(qz,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();function cW(t){return t[sW]}let uW=(()=>{class t{constructor(e,n,i){t.store=e.get(qz),t.ngZone=e.get(Tu),t.factory=n,t.context=i,t.computed=e.get(lW)}}return t.store=null,t.computed=null,t.context=null,t.factory=null,t.ngZone=null,t.\u0275fac=function(e){return new(e||t)(Ei(No),Ei(YV),Ei(qV))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();class hW{constructor(){hW.statesCachedMeta.clear()}static createStateContext(t){return uW.context.createStateContext(t)}static ensureMappedState(t){if(JG(uW.factory)||JG(t))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return(tW(t.name)?hW.statesCachedMeta.get(t.name):null)||hW.ensureMeta(t)}static getRepositoryByInstance(t){var e;const n=null!==(e=cW(hW.getStateClassByInstance(t)))&&void 0!==e?e:null;if(JG(n))throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return n}static getStateClassByInstance(t){return(null!=t?t:{}).constructor}static clearMetaByInstance(t){const e=hW.getRepositoryByInstance(t);e.stateMeta.actions={},e.operations={}}static createPayload(t,e){const n={},i=Array.from(t);for(let r=0;r0?n:null}static createAction(t,e,n){const i=hW.createPayload(e,n);return new(function(t){return class{constructor(t){t&&Object.keys(t).forEach(e=>{this[e]=t[e]})}static get type(){return t}}}(t.type))(i)}static ensureMeta(t){var e;const n=tW(t.name)?null===(e=uW.factory.states)||void 0===e?void 0:e.find(e=>e.name===t.name):null;return tW(n)&&tW(t.name)&&hW.statesCachedMeta.set(t.name,n),n}}hW.statesCachedMeta=new Map,hW.\u0275fac=function(t){return new(t||hW)},hW.\u0275prov=xt({token:hW,factory:hW.\u0275fac}),new _p(1);class dW extends Error{constructor(t){super(`Child states can only be added to an object. Cannot convert ${tW(null==t?void 0:t.constructor)?t.constructor.name:t} to PlainObject`)}}function pW(t){var e;return null!==(e=t.NGXS_OPTIONS_META)&&void 0!==e?e:{name:""}}function fW(t){var e;const n=pW(t),i=null!==(e=n.children)&&void 0!==e?e:[],r=nW(void 0===n.defaults?{}:n.defaults);if(i.length){if(rW(r))return function(t,e){return e.reduce((t,e)=>{const n=pW(e);if(function(t){const e="string"==typeof t?t.trim():t;return[void 0,null,NaN,"",1/0].includes(e)}(n.name))throw new Error("State name not provided in class");return t[n.name.toString()]=fW(e),t},null!=t?t:{})}(r,i);throw new dW(r)}return r}function gW(t){var e;return null!==(e=t.__NGXS_COMPUTED_OPTION__)&&void 0!==e?e:null}function mW(){var t,e;return null!==(e=null===(t=null==uW?void 0:uW.computed)||void 0===t?void 0:t.sequenceValue)&&void 0!==e?e:0}function bW(t){let e=!1;return Gd(t)&&(e=!0),e}function yW(t){return t[aW]}class vW extends Error{constructor(t,e){super(`An argument with the name '${t}' already exists in the method '${e}'`)}}class _W{constructor(){this.payloadMap=new Map,this.argumentMap=new Map}getPayloadTypeByIndex(t){var e;return null!==(e=this.payloadMap.get(t))&&void 0!==e?e:null}getArgumentNameByIndex(t){var e;return null!==(e=this.argumentMap.get(t))&&void 0!==e?e:null}createPayloadType(t,e,n){this.checkDuplicateName(t,e),this.payloadMap.set(n,t),this.payloadMap.set(t,t)}createArgumentName(t,e,n){this.checkDuplicateName(t,e),this.argumentMap.set(n,t),this.argumentMap.set(t,t)}checkDuplicateName(t,e){if(eW(this.argumentMap.has(t))||eW(this.payloadMap.has(t)))throw new vW(t,e)}}function wW(t){return Vu()?iW(t):t}function xW(t){return{enumerable:!0,configurable:!0,get(){const e=cW(t),n=hW.ensureMappedState(e.stateMeta);return hW.createStateContext(n)}}}function SW(t){if(!t)throw new Error("You forgot add decorator @StateRepository or initialize state!\nExample: NgxsModule.forRoot([ .. ]), or NgxsModule.forFeature([ .. ])");return Object.assign(Object.assign({},t),{getState:()=>Vu()?iW(t.getState()):t.getState(),setState(e){t.setState(e)},patchState(e){t.patchState(e)}})}function CW(){return(t,e,n)=>{!function(t,e){if(!function(t,e){var n;let i=t,r=!1;if(rW(i))for(;null!==i;){if(ZG(null==i?void 0:i.hasOwnProperty(e))){r=!!(null===(n=Object.getOwnPropertyDescriptor(i,e))||void 0===n?void 0:n.get);break}i=Object.getPrototypeOf(i)}return r}(t,null==e?void 0:e.toString()))throw new Error(`The method must be a getter for the computed decorator to work properly.\nExample: \n@Computed() get ${e.toString()}() { \n\t .. \n}`)}(t,e);const i=n.get;return n.get=function(...t){const e=function(t){return JG(gW(t))&&Object.defineProperties(t,{__NGXS_COMPUTED_OPTION__:{enumerable:!0,configurable:!0,value:new WeakMap}}),gW(t)}(this),n=null==e?void 0:e.get(i);if(ZG(null==n?void 0:n.isObservable))return null==n?void 0:n.value;if(JG(n)||n.sequenceId!==mW()){e.delete(i);const n=i.apply(this,t);return e.set(i,{value:n,sequenceId:mW(),isObservable:bW(n)}),n}return n.value},n}}const EW={cancelUncompleted:!0,insideZone:!1};function OW(t=EW){return(e,n,i)=>{!function(t,e){if(t.hasOwnProperty("prototype"))throw new Error("Cannot support static methods with @DataAction()");if(void 0===e)throw new Error("@DataAction() can only decorate a method implementation")}(e,i);const r=i.value,s=n.toString();return i.value=function(...e){const n=this;let i=null;const o=hW.getRepositoryByInstance(n),a=o.operations;let l=a[s];const c=o.stateMeta,u=yW(r);if(JG(l)){const e=function(t){var e,n,i;return null!==(i=null===(n=null===(e=(t+"").replace(/[/][/].*$/gm,"").replace(/\s+/g,"").replace(/[/][*][^/*]*[*][/]/g,"").split("){",1))||void 0===e?void 0:e[0])||void 0===n?void 0:n.replace(/^[^(]*[(]/,"").replace(/=[^,]+/g,"").split(",").filter(Boolean))&&void 0!==i?i:[]}(r),n=function(t){const{statePath:e,argumentsNames:n,methodName:i,argumentRegistry:r}=t;let s="";for(let o=0;o{var s;return ZG(t.insideZone)?null===(s=uW.ngZone)||void 0===s||s.run(()=>{i=r.apply(n,e)}):i=r.apply(n,e),Gd(i)?Dd(null).pipe(D(()=>i)):i};const h=hW.createAction(l,e,u),d=uW.store.dispatch(h);return Gd(i)?function(t,e){return Ev([t,e]).pipe(D(t=>t.pop()))}(d,i):i},i}}function TW(t){return(e,n,i)=>{const r=t.trim();if(!r)throw new Error("Payload name should be initialized");(function(t,e){const n=t[e];return JG(yW(n))&&Object.defineProperties(n,{[aW]:{enumerable:!0,configurable:!0,value:new _W}}),yW(n)})(e,n).createPayloadType(r,n,i)}}function kW(){return t=>{const e=function(t){if(function(t){return!eW(t)}(t.hasOwnProperty(oW))){const e={name:null,actions:{},defaults:{},path:null,makeRootSelector:t=>t.getStateGetter(e.name),children:[]};Object.defineProperty(t,oW,{value:e})}return function(t){var e;return null===(e=t)||void 0===e?void 0:e[oW]}(t)}(t);if(JG(e.name))throw new Error("@StateRepository should be add before decorator @State");!function(t,e){(function(t){var e;const n=null!==(e=cW(t))&&void 0!==e?e:null;return(JG(n)||(null==n?void 0:n.stateClass)!==t)&&function(t){Object.defineProperty(t,sW,{writable:!0,configurable:!0,enumerable:!0,value:{stateMeta:null,operations:{},stateClass:t}})}(t),cW(t)}(t)).stateMeta=e}(t,e),function(t,e,n){Object.defineProperties(t.prototype,{name:{enumerable:!0,configurable:!0,value:e.name},initialState:{enumerable:!0,configurable:!0,get:()=>nW(n)},context:xW(t)})}(t,e,fW(t)),function(t){var e,n;const i=cW(t),r=null!==(n=null===(e=null==i?void 0:i.stateMeta)||void 0===e?void 0:e.name)&&void 0!==n?n:null;if(tW(r)){const e=`__${r}__selector`;Object.defineProperties(t.prototype,{[e]:{writable:!0,enumerable:!1,configurable:!0},state$:{enumerable:!0,configurable:!0,get(){if(tW(this[e]))return this[e];if(JG(uW.store))throw new Error("Metadata not created \n Maybe you forgot to import the NgxsDataPluginModule\n Also, you cannot use this.ctx.* until the application is fully rendered \n (use by default ngxsOnInit(ctx: StateContext), or ngxsAfterBootstrap(ctx: StateContext) !!!");return this[e]=uW.store.select(t).pipe(D(t=>Vu()?iW(t):t),xp({refCount:!0,bufferSize:1})),this[e]}}})}}(t)}}let PW=(()=>{class t{constructor(){this.browserStorageEvents$=new A,this.isInitialised=!1,this.isBootstrapped=!1,this._dirty=!0}get dirty(){return this._dirty}set dirty(t){this._dirty=t}ngxsOnChanges(t){var e;this.dirty&&this.isBootstrapped&&(this.dirty=!1,null===(e=this.ngxsDataDoCheck)||void 0===e||e.call(this))}ngxsOnInit(){this.isInitialised=!0}ngxsAfterBootstrap(){var t;this.isBootstrapped=!0,this.dirty&&(this.dirty=!1,null===(t=this.ngxsDataDoCheck)||void 0===t||t.call(this))}markAsDirtyAfterReset(){var t;this.dirty=!0,null===(t=this.ngxsDataAfterReset)||void 0===t||t.call(this)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),AW=(()=>{class t extends PW{get snapshot(){return wW(this.getState())}get ctx(){return SW(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW(),ww("design:type",Object),ww("design:paramtypes",[])],t.prototype,"snapshot",null),vw([OW(),_w(0,TW("patchValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"patchState",null),vw([OW(),_w(0,TW("stateValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"setState",null),vw([OW(),ww("design:type",Function),ww("design:paramtypes",[]),ww("design:returntype",void 0)],t.prototype,"reset",null),t})(),MW=(()=>{class t extends PW{get snapshot(){return wW(this.getState())}get ctx(){return SW(this.context)}getState(){return this.ctx.getState()}dispatch(t){return this.ctx.dispatch(t)}patchState(t){this.ctx.patchState(t)}setState(t){this.ctx.setState(t)}reset(){this.ctx.setState(this.initialState),this.markAsDirtyAfterReset()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW(),ww("design:type",Object),ww("design:paramtypes",[])],t.prototype,"snapshot",null),vw([OW(),_w(0,TW("patchValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"patchState",null),vw([OW(),_w(0,TW("stateValue")),ww("design:type",Function),ww("design:paramtypes",[Object]),ww("design:returntype",void 0)],t.prototype,"setState",null),vw([OW(),ww("design:type",Function),ww("design:paramtypes",[]),ww("design:returntype",void 0)],t.prototype,"reset",null),t})();function IW(){return ep(t=>null!=t)}const DW=new oi("ngx-google-analytics-settings",{factory:()=>({trackingCode:"",enableTracing:!1})}),RW=new oi("ngx-window",{providedIn:"root",factory:()=>function(t){return Yh(t)?window:null}(Oi(hu))}),NW=new oi("ngx-data-layer",{providedIn:"root",factory:()=>function(t){return t?t.dataLayer=t.dataLayer||[]:null}(Oi(RW))}),LW=new oi("ngx-gtag-fn",{providedIn:"root",factory:()=>function(t,e){return t?t.gtag=t.gtag||function(){e.push(arguments)}:null}(Oi(RW),Oi(NW))});let jW=(()=>{class t{constructor(t,e,n){this.settings=t,this._document=e,this._gtag=n}get document(){return this._document}throw(t){(this.settings.enableTracing||Vu())&&console&&console.error&&console.error(t)}toKeyValue(t){return t.size>0?Array.from(t).reduce((t,[e,n])=>Object.defineProperty(t,e,{value:n,enumerable:!0}),{}):void 0}gtag(...t){try{this._gtag(...t.filter(t=>void 0!==t))}catch(e){this.throw(e)}}event(t,e,n,i,r){try{const s=new Map;e&&s.set("event_category",e),n&&s.set("event_label",n),i&&s.set("value",i),void 0!==r&&s.set("interaction",r);const o=this.toKeyValue(s);o?this.gtag("event",t,o):this.gtag("event",t)}catch(s){this.throw(s)}}pageView(t,e,n,i){try{const r=new Map([["page_path",t]]);e&&r.set("page_title",e),(n||this.document)&&r.set("page_location",n||this.document.location.href),i&&Object.entries(i).map(([t,e])=>r.set(t,e)),this.gtag("config",this.settings.trackingCode,this.toKeyValue(r))}catch(r){this.throw(r)}}appView(t,e,n,i,r){try{const s=new Map([["screen_name",t],["app_name",e]]);n&&s.set("app_id",n),i&&s.set("app_version",i),r&&s.set("app_installer_id",r),this.gtag("event","screen_view",this.toKeyValue(s))}catch(s){this.throw(s)}}set(...t){try{this._gtag("set",...t)}catch(e){this.throw(e)}}exception(t,e){try{const n=new Map;t&&n.set("description",t),e&&n.set("fatal",e),this.toKeyValue(n)?this.gtag("event","exception",this.toKeyValue(n)):this.gtag("event","exception")}catch(n){this.throw(n)}}}return t.\u0275fac=function(e){return new(e||t)(Ei(DW),Ei(th),Ei(LW))},t.\u0275prov=xt({factory:function(){return new t(Ei(DW),Ei(th),Ei(LW))},token:t,providedIn:"root"}),t})();const FW={provide:su,multi:!0,useFactory:function(t,e,n){return()=>xw(this,void 0,void 0,function*(){var i;if(!t.trackingCode)return void(Vu()||console.error("Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule."));if(!e)return void(Vu()||console.error("Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface."));n||Vu()||console.error("Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface."),t.uri=t.uri||`https://www.googletagmanager.com/gtag/js?id=${t.trackingCode}`,t.initCommands=null!==(i=null==t?void 0:t.initCommands)&&void 0!==i?i:[],t.initCommands.find(t=>"config"===t.command)||t.initCommands.unshift({command:"config",values:[t.trackingCode]}),t.initCommands.find(t=>"js"===t.command)||t.initCommands.unshift({command:"js",values:[new Date]});for(const n of t.initCommands)e(n.command,...n.values);const r=n.createElement("script");r.async=!0,r.src=t.uri,t.nonce&&r.setAttribute("nonce",t.nonce),n.getElementsByTagName("head")[0].appendChild(r)})},deps:[DW,LW,th]};new oi("ngx-google-analytics-routing-settings",{factory:()=>({})});let BW=(()=>{class t{static forRoot(e,n=[],i,r,s){return{ngModule:t,providers:[{provide:DW,useValue:{trackingCode:e,initCommands:n,uri:i,enableTracing:r,nonce:s}},FW]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[]]}),t})(),VW=(()=>{class t{constructor(){this.consent="not-set",this.consentChange=new _p(1),this.consentChange.next(this.consent)}ngOnDestroy(){this.consentChange.complete()}setConsent(t){this.consent!==t&&(this.consent=t,this.consentChange.next(t))}unsetConsent(){this.setConsent("not-set")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),zW=(()=>{class t{constructor(t,e,{trackingCode:n}){this.window=e,this.subscriptions=new g,this.token=n,this.subscriptions.add(t.consentChange.subscribe(t=>this.toggleGoogleAnalytics("rescinded"===t)))}ngOnDestroy(){this.subscriptions.unsubscribe()}toggleGoogleAnalytics(t){this.window&&(this.window[`ga-disable-${this.token}`]=t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(VW),Ei(RW),Ei(DW))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const UW=new oi("Key under which consent is stored",{providedIn:"root",factory:()=>"ALLOW_TELEMETRY"}),HW=[VW,zW,(()=>{class t{constructor(t,e){this.key=e,this.subscriptions=new g;try{this.storage=localStorage}catch(n){}t.setConsent(this.loadConsent()),this.subscriptions.add(t.consentChange.subscribe(t=>this.saveConsent(t)))}ngOnDestroy(){this.subscriptions.unsubscribe()}loadConsent(){var t,e;const n=null===(e=null===(t=this.storage)||void 0===t?void 0:t.getItem)||void 0===e?void 0:e.call(t,this.key);if(null==n)return"not-set";const i=n.trim().toLowerCase();switch(i){case"given":case"rescinded":return i;default:return"not-set"}}saveConsent(t){var e,n;null===(n=null===(e=this.storage)||void 0===e?void 0:e.setItem)||void 0===n||n.call(e,this.key,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(VW),Ei(UW))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})()];function $W(t){return Object.entries(t).reduce((t,[e,n])=>(null!=n&&(t[e]=`${n}`),t),{})}let GW=(()=>{class t{static forRoot(e){const{providers:n=[]}=BW.forRoot(e.gaToken,function(t){const{appName:e,projectName:n,developmentMode:i}=t;return[{command:"set",values:[$W({appName:e,projectName:n,developmentMode:i})]}]}(e));return{ngModule:t,providers:n}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[...HW,{provide:su,multi:!0,useFactory:()=>()=>{},deps:HW}],imports:[[BW]]}),t})();function WW(t,e,n,i){n&&"function"!=typeof n&&(i=n);const r="function"==typeof n?n:void 0,s=new _p(t,e,i);return t=>rt(()=>s,r)(t)}const qW=(t,e)=>JSON.stringify(t)===JSON.stringify(e),YW=t=>t.map(t=>void 0!==t?JSON.parse(JSON.stringify(t)):t),XW={storageStrategy:class extends class{}{constructor(){super(...arguments),this.cachePairs=[]}add(t,e,n){this.cachePairs.push(t)}addMany(t){this.cachePairs=t}updateAtIndex(t,e){Object.assign(this.cachePairs[t],e)}update(t,e){Object.assign(this.cachePairs[t],e)}getAll(){return this.cachePairs}removeAtIndex(t){this.cachePairs.splice(t,1)}remove(t){this.cachePairs.splice(t,1)}removeAll(){this.cachePairs.length=0}},globalCacheKey:"CACHE_STORAGE",promiseImplementation:Promise},KW=new A;function QW(t={}){return function(e,n,i){const r=t.cacheKey||e.constructor.name+"#"+n,s=i.value;if(i&&i.value){let e=t.storageStrategy?new t.storageStrategy:new XW.storageStrategy;const n=[];t.cacheModifier&&t.cacheModifier.subscribe(t=>e.addMany(t(e.getAll(r,this)),r,this)),Q(KW.asObservable(),t.cacheBusterObserver?t.cacheBusterObserver:fp()).subscribe(t=>{e.removeAll(r,this),n.length=0}),t.cacheResolver=t.cacheResolver||XW.cacheResolver||qW,t.cacheHasher=t.cacheHasher||XW.cacheHasher||YW,i.value=function(...i){const o=e.getAll(r,this);let a=t.cacheHasher(i),l=o.find(e=>t.cacheResolver(e.parameters,a));const c=n.find(e=>t.cacheResolver(e.parameters,a));if((t.maxAge||XW.maxAge)&&l&&l.created&&((new Date).getTime()-new Date(l.created).getTime()>(t.maxAge||XW.maxAge)?(e.remove?e.remove(o.indexOf(l),l,r,this):e.removeAtIndex(o.indexOf(l),r,this),l=null):(t.slidingExpiration||XW.slidingExpiration)&&(l.created=new Date,e.update?e.update(o.indexOf(l),l,r,this):e.updateAtIndex(o.indexOf(l),l,r,this))),l){const e=Dd(l.response);return t.async?e.pipe(JH(0)):e}if(c)return c.response;{const l=s.call(this,...i).pipe(Av(()=>{const e=n.find(e=>t.cacheResolver(e.parameters,a));n.splice(n.indexOf(e),1)}),eg(n=>{(!t.shouldCacheDecider||t.shouldCacheDecider(n))&&((!(t.maxCacheCount||XW.maxCacheCount)||1===(t.maxCacheCount||XW.maxCacheCount)||(t.maxCacheCount||XW.maxCacheCount)&&(t.maxCacheCount||XW.maxCacheCount)this.isJsonMime(t));return void 0===e?t[0]:e}selectHeaderAccept(t){if(0===t.length)return;const e=t.find(t=>this.isJsonMime(t));return void 0===e?t[0]:e}isJsonMime(t){const e=new RegExp("^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$","i");return null!==t&&(e.test(t)||"application/json-patch+json"===t.toLowerCase())}lookupCredential(t){const e=this.credentials[t];return"function"==typeof e?e():e}}let eq=(()=>{class t{constructor(t,e,n){this.httpClient=t,this.basePath="/v1",this.defaultHeaders=new Nv,this.configuration=new tq,n&&(this.configuration=n),"string"!=typeof this.configuration.basePath&&("string"!=typeof e&&(e=this.basePath),this.configuration.basePath=e),this.encoder=this.configuration.encoder||new ZW}addToHttpParams(t,e,n){return this.addToHttpParamsRecursive(t,e,n)}addToHttpParamsRecursive(t,e,n){if(null==e)return t;if("object"==typeof e)if(Array.isArray(e))e.forEach(e=>t=this.addToHttpParamsRecursive(t,e,n));else if(e instanceof Date){if(null==n)throw Error("key may not be null if value is Date");t=t.append(n,e.toISOString().substr(0,10))}else Object.keys(e).forEach(i=>t=this.addToHttpParamsRecursive(t,e[i],null!=n?`${n}.${i}`:i));else{if(null==n)throw Error("key may not be null if value is not object or array");t=t.append(n,e)}return t}aggregateResults(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/aggregate-results`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}cellTypeTermOccurences(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-term-occurences`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}cellTypeTreeModel(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/cell-type-tree-model`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}dbStatus(t,e="body",n=!1,i){const r=t.token;let s=new zv({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"token"));let o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));let l=i&&i.context;void 0===l&&(l=new Uv);let c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/db-status`,{context:l,params:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:e,reportProgress:n})}getSpatialPlacement(t,e="body",n=!1,i){const r=t.getSpatialPlacementRequest;if(null==r)throw new Error("Required parameter getSpatialPlacementRequest was null or undefined when calling getSpatialPlacement.");let s=this.defaultHeaders,o=i&&i.httpHeaderAccept;void 0===o&&(o=this.configuration.selectHeaderAccept(["application/json"])),void 0!==o&&(s=s.set("Accept",o));let a=i&&i.context;void 0===a&&(a=new Uv);const l=this.configuration.selectHeaderContentType(["application/json"]);void 0!==l&&(s=s.set("Content-Type",l));let c="json";return o&&(c=o.startsWith("text")?"text":this.configuration.isJsonMime(o)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/get-spatial-placement`,r,{context:a,responseType:c,withCredentials:this.configuration.withCredentials,headers:s,observe:e,reportProgress:n})}gtexRuiLocations(t,e="body",n=!1,i){const r=t.cache;let s=new zv({encoder:this.encoder});null!=r&&(s=this.addToHttpParams(s,r,"cache"));let o=this.defaultHeaders,a=i&&i.httpHeaderAccept;void 0===a&&(a=this.configuration.selectHeaderAccept(["application/json"])),void 0!==a&&(o=o.set("Accept",a));let l=i&&i.context;void 0===l&&(l=new Uv);let c="json";return a&&(c=a.startsWith("text")?"text":this.configuration.isJsonMime(a)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/gtex/rui_locations.jsonld`,{context:l,params:s,responseType:c,withCredentials:this.configuration.withCredentials,headers:o,observe:e,reportProgress:n})}hubmapRuiLocations(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/hubmap/rui_locations.jsonld`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}ontologyTermOccurences(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-term-occurences`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}ontologyTreeModel(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/ontology-tree-model`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}providerNames(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/provider-names`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}referenceOrganScene(t,e="body",n=!1,i){const r=t.organIri;if(null==r)throw new Error("Required parameter organIri was null or undefined when calling referenceOrganScene.");const s=t.age,o=t.ageRange,a=t.bmi,l=t.bmiRange,c=t.cache,u=t.ontologyTerms,h=t.cellTypeTerms,d=t.providers,p=t.sex,f=t.spatial,g=t.technologies,m=t.token;let b=new zv({encoder:this.encoder});null!=s&&(b=this.addToHttpParams(b,s,"age")),null!=o&&(b=this.addToHttpParams(b,o,"age-range")),null!=a&&(b=this.addToHttpParams(b,a,"bmi")),null!=l&&(b=this.addToHttpParams(b,l,"bmi-range")),null!=c&&(b=this.addToHttpParams(b,c,"cache")),u&&u.forEach(t=>{b=this.addToHttpParams(b,t,"ontology-terms")}),h&&h.forEach(t=>{b=this.addToHttpParams(b,t,"cell-type-terms")}),null!=r&&(b=this.addToHttpParams(b,r,"organ-iri")),d&&d.forEach(t=>{b=this.addToHttpParams(b,t,"providers")}),null!=p&&(b=this.addToHttpParams(b,p,"sex")),f&&f.forEach(t=>{b=this.addToHttpParams(b,t,"spatial")}),g&&g.forEach(t=>{b=this.addToHttpParams(b,t,"technologies")}),null!=m&&(b=this.addToHttpParams(b,m,"token"));let y=this.defaultHeaders,v=i&&i.httpHeaderAccept;void 0===v&&(v=this.configuration.selectHeaderAccept(["application/json"])),void 0!==v&&(y=y.set("Accept",v));let _=i&&i.context;void 0===_&&(_=new Uv);let w="json";return v&&(w=v.startsWith("text")?"text":this.configuration.isJsonMime(v)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organ-scene`,{context:_,params:b,responseType:w,withCredentials:this.configuration.withCredentials,headers:y,observe:e,reportProgress:n})}referenceOrgans(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/reference-organs`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}scene(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/scene`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}sparql(t,e="body",n=!1,i){const r=t.query;if(null==r)throw new Error("Required parameter query was null or undefined when calling sparql.");const s=t.token,o=t.format;let a=new zv({encoder:this.encoder});null!=r&&(a=this.addToHttpParams(a,r,"query")),null!=s&&(a=this.addToHttpParams(a,s,"token")),null!=o&&(a=this.addToHttpParams(a,o,"format"));let l=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==c&&(l=l.set("Accept",c));let u=i&&i.context;void 0===u&&(u=new Uv);let h="json";return c&&(h=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/sparql`,{context:u,params:a,responseType:h,withCredentials:this.configuration.withCredentials,headers:l,observe:e,reportProgress:n})}sparqlPost(t,e="body",n=!1,i){const r=t.sparqlQueryRequest;if(null==r)throw new Error("Required parameter sparqlQueryRequest was null or undefined when calling sparqlPost.");const s=t.token,o=t.format;let a=new zv({encoder:this.encoder});null!=s&&(a=this.addToHttpParams(a,s,"token")),null!=o&&(a=this.addToHttpParams(a,o,"format"));let l=this.defaultHeaders,c=i&&i.httpHeaderAccept;void 0===c&&(c=this.configuration.selectHeaderAccept(["application/json","text/csv"])),void 0!==c&&(l=l.set("Accept",c));let u=i&&i.context;void 0===u&&(u=new Uv);const h=this.configuration.selectHeaderContentType(["application/json","application/x-www-form-urlencoded"]);void 0!==h&&(l=l.set("Content-Type",h));let d="json";return c&&(d=c.startsWith("text")?"text":this.configuration.isJsonMime(c)?"json":"blob"),this.httpClient.post(`${this.configuration.basePath}/sparql`,r,{context:u,params:a,responseType:d,withCredentials:this.configuration.withCredentials,headers:l,observe:e,reportProgress:n})}technologyNames(t,e="body",n=!1,i){const r=t.cache,s=t.token;let o=new zv({encoder:this.encoder});null!=r&&(o=this.addToHttpParams(o,r,"cache")),null!=s&&(o=this.addToHttpParams(o,s,"token"));let a=this.defaultHeaders,l=i&&i.httpHeaderAccept;void 0===l&&(l=this.configuration.selectHeaderAccept(["application/json"])),void 0!==l&&(a=a.set("Accept",l));let c=i&&i.context;void 0===c&&(c=new Uv);let u="json";return l&&(u=l.startsWith("text")?"text":this.configuration.isJsonMime(l)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/technology-names`,{context:c,params:o,responseType:u,withCredentials:this.configuration.withCredentials,headers:a,observe:e,reportProgress:n})}tissueBlocks(t,e="body",n=!1,i){const r=t.age,s=t.ageRange,o=t.bmi,a=t.bmiRange,l=t.cache,c=t.ontologyTerms,u=t.cellTypeTerms,h=t.providers,d=t.sex,p=t.spatial,f=t.technologies,g=t.token;let m=new zv({encoder:this.encoder});null!=r&&(m=this.addToHttpParams(m,r,"age")),null!=s&&(m=this.addToHttpParams(m,s,"age-range")),null!=o&&(m=this.addToHttpParams(m,o,"bmi")),null!=a&&(m=this.addToHttpParams(m,a,"bmi-range")),null!=l&&(m=this.addToHttpParams(m,l,"cache")),c&&c.forEach(t=>{m=this.addToHttpParams(m,t,"ontology-terms")}),u&&u.forEach(t=>{m=this.addToHttpParams(m,t,"cell-type-terms")}),h&&h.forEach(t=>{m=this.addToHttpParams(m,t,"providers")}),null!=d&&(m=this.addToHttpParams(m,d,"sex")),p&&p.forEach(t=>{m=this.addToHttpParams(m,t,"spatial")}),f&&f.forEach(t=>{m=this.addToHttpParams(m,t,"technologies")}),null!=g&&(m=this.addToHttpParams(m,g,"token"));let b=this.defaultHeaders,y=i&&i.httpHeaderAccept;void 0===y&&(y=this.configuration.selectHeaderAccept(["application/json"])),void 0!==y&&(b=b.set("Accept",y));let v=i&&i.context;void 0===v&&(v=new Uv);let _="json";return y&&(_=y.startsWith("text")?"text":this.configuration.isJsonMime(y)?"json":"blob"),this.httpClient.get(`${this.configuration.basePath}/tissue-blocks`,{context:v,params:m,responseType:_,withCredentials:this.configuration.withCredentials,headers:b,observe:e,reportProgress:n})}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv),Ei(JW,8),Ei(tq,8))},t.\u0275prov=xt({factory:function(){return new t(Ei(Jv),Ei(JW,8),Ei(tq,8))},token:t,providedIn:"root"}),t})(),nq=(()=>{class t{constructor(t,e){if(t)throw new Error("CcfApiModule is already loaded. Import in your base AppModule only.");if(!e)throw new Error("You need to import the HttpClientModule in your AppModule! \nSee also https://github.com/angular/angular/issues/20575")}static forRoot(e){return{ngModule:t,providers:[{provide:tq,useFactory:e}]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12),Ei(Jv,8))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[],imports:[[]]}),t})();function iq(t){return new Promise((e,n)=>{t.oncomplete=t.onsuccess=()=>e(t.result),t.onabort=t.onerror=()=>n(t.error)})}let rq;function sq(){return rq||(rq=function(t,e){const n=function(){if(navigator.userAgentData||!/Safari\//.test(navigator.userAgent)||/Chrom(e|ium)\//.test(navigator.userAgent)||!indexedDB.databases)return Promise.resolve();let t;return new Promise(e=>{const n=()=>indexedDB.databases().finally(e);t=setInterval(n,100),n()}).finally(()=>clearInterval(t))}().then(()=>{const t=indexedDB.open("keyval-store");return t.onupgradeneeded=()=>t.result.createObjectStore(e),iq(t)});return(t,i)=>n.then(n=>i(n.transaction(e,t).objectStore(e)))}(0,"keyval")),rq}function oq(t,e=sq()){return e("readonly",e=>iq(e.get(t)))}var aq=n(88104),lq=n.n(aq),cq=n(71440);const uq="Unknown Euler angle order",hq=.99999;class dq extends rC{static get ZYX(){return 0}static get YXZ(){return 1}static get XZY(){return 2}static get ZXY(){return 3}static get YZX(){return 4}static get XYZ(){return 5}static get RollPitchYaw(){return 0}static get DefaultOrder(){return dq.ZYX}static get RotationOrders(){return["ZYX","YXZ","XZY","ZXY","YZX","XYZ"]}static rotationOrder(t){return dq.RotationOrders[t]}get ELEMENTS(){return 4}constructor(t=0,e=0,n=0,i=dq.DefaultOrder){super(-0,-0,-0,-0),arguments.length>0&&Array.isArray(arguments[0])?this.fromVector3(...arguments):this.set(t,e,n,i)}fromQuaternion(t){const[e,n,i,r]=t,s=n*n,o=-2*(s+i*i)+1,a=2*(e*n+r*i);let l=-2*(e*i-r*n);l=l>1?1:l,l=l<-1?-1:l;const c=Math.atan2(2*(n*i+r*e),-2*(e*e+s)+1),u=Math.asin(l),h=Math.atan2(a,o);return new dq(c,u,h,dq.RollPitchYaw)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=Number.isFinite(t[3])||this.order,this.check()}set(t=0,e=0,n=0,i){return this[0]=t,this[1]=e,this[2]=n,this[3]=Number.isFinite(i)?i:this[3],this.check()}validate(){return function(t){return t>=0&&t<6}(this[3])&&Number.isFinite(this[0])&&Number.isFinite(this[1])&&Number.isFinite(this[2])}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t}toArray4(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t[e+3]=this[3],t}toVector3(t=[-0,-0,-0]){return t[0]=this[0],t[1]=this[1],t[2]=this[2],t}get x(){return this[0]}set x(t){this[0]=sC(t)}get y(){return this[1]}set y(t){this[1]=sC(t)}get z(){return this[2]}set z(t){this[2]=sC(t)}get alpha(){return this[0]}set alpha(t){this[0]=sC(t)}get beta(){return this[1]}set beta(t){this[1]=sC(t)}get gamma(){return this[2]}set gamma(t){this[2]=sC(t)}get phi(){return this[0]}set phi(t){this[0]=sC(t)}get theta(){return this[1]}set theta(t){this[1]=sC(t)}get psi(){return this[2]}set psi(t){this[2]=sC(t)}get roll(){return this[0]}set roll(t){this[0]=sC(t)}get pitch(){return this[1]}set pitch(t){this[1]=sC(t)}get yaw(){return this[2]}set yaw(t){this[2]=sC(t)}get order(){return this[3]}set order(t){this[3]=function(t){if(t<0&&t>=6)throw new Error(uq);return t}(t)}fromVector3(t,e){return this.set(t[0],t[1],t[2],Number.isFinite(e)?e:this[3])}fromArray(t,e=0){return this[0]=t[0+e],this[1]=t[1+e],this[2]=t[2+e],void 0!==t[3]&&(this[3]=t[3]),this.check()}fromRollPitchYaw(t,e,n){return this.set(t,e,n,dq.ZYX)}fromRotationMatrix(t,e=dq.DefaultOrder){return this._fromRotationMatrix(t,e),this.check()}getRotationMatrix(t){return this._getRotationMatrix(t)}getQuaternion(){const t=new $N;switch(this[4]){case dq.XYZ:return t.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);case dq.YXZ:return t.rotateY(this[0]).rotateX(this[1]).rotateZ(this[2]);case dq.ZXY:return t.rotateZ(this[0]).rotateX(this[1]).rotateY(this[2]);case dq.ZYX:return t.rotateZ(this[0]).rotateY(this[1]).rotateX(this[2]);case dq.YZX:return t.rotateY(this[0]).rotateZ(this[1]).rotateX(this[2]);case dq.XZY:return t.rotateX(this[0]).rotateZ(this[1]).rotateY(this[2]);default:throw new Error(uq)}}_fromRotationMatrix(t,e=dq.DefaultOrder){const n=t.elements,i=n[0],r=n[4],s=n[8],o=n[1],a=n[5],l=n[9],c=n[2],u=n[6],h=n[10];switch(e=e||this[3]){case dq.XYZ:this[1]=Math.asin(tC(s,-1,1)),Math.abs(s)1&&void 0!==arguments[1]?arguments[1]:0,n=(xq[t[e+0]]+xq[t[e+1]]+xq[t[e+2]]+xq[t[e+3]]+"-"+xq[t[e+4]]+xq[t[e+5]]+"-"+xq[t[e+6]]+xq[t[e+7]]+"-"+xq[t[e+8]]+xq[t[e+9]]+"-"+xq[t[e+10]]+xq[t[e+11]]+xq[t[e+12]]+xq[t[e+13]]+xq[t[e+14]]+xq[t[e+15]]).toLowerCase();if(!wq(n))throw TypeError("Stringified UUID is invalid");return n}(i)},Eq=n(31609);const Oq=Object.freeze({OUTSIDE:-1,INTERSECTING:0,INSIDE:1}),Tq=(Math,Math,{});function kq(t,{precision:e=Tq.precision||4}={}){return t=function(t){return Math.round(t/Tq.EPSILON)*Tq.EPSILON}(t),"".concat(parseFloat(t.toPrecision(e)))}function Pq(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Aq(t,e,n){const i=Tq.EPSILON;n&&(Tq.EPSILON=n);try{if(t===e)return!0;if(Pq(t)&&Pq(e)){if(t.length!==e.length)return!1;for(let n=0;n0?", ":"")+kq(this[n],t);return"".concat(t.printTypes?this.constructor.name:"","[").concat(e,"]")}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e=0&&t=0&&t=s+i)return this.clone();if(i>=s+n)return t.clone();const o=.5*(n+s+i);return Uq.copy(r).scale((-n+o)/s).add(e),this.center.copy(Uq),this.radius=o,this}expand(t){const e=(t=zq.from(t)).subtract(this.center).magnitude();return e>this.radius&&(this.radius=e),this}transform(t){this.center.transform(t);const e=function(t,e){var n=e[4],i=e[5],r=e[6],s=e[8],o=e[9],a=e[10];return t[0]=Math.hypot(e[0],e[1],e[2]),t[1]=Math.hypot(n,i,r),t[2]=Math.hypot(s,o,a),t}(zq,t);return this.radius=Math.max(e[0],Math.max(e[1],e[2]))*this.radius,this}distanceSquaredTo(t){const e=this.distanceTo(t);return e*e}distanceTo(t){const e=(t=zq.from(t)).subtract(this.center);return Math.max(0,e.len()-this.radius)}intersectPlane(t){const e=this.radius,n=t.normal.dot(this.center)+t.distance;return n<-e?Oq.OUTSIDE:n0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,0===t&&(this[3]=1),this.check()}rotateX(t){return kN(this,this,t),this.check()}rotateY(t){return PN(this,this,t),this.check()}rotateZ(t){return AN(this,this,t),this.check()}scale(t){return jN(this,this,t),this.check()}slerp(t,e,n){switch(arguments.length){case 1:({start:t=Kq,target:e,ratio:n}=arguments[0]);break;case 2:[e,n]=arguments,t=this}return IN(this,t,e,n),this.check()}transformVector4(t,e=t){return CT(e,t,this),Rq(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t,e){return this.multiplyLeft(t,e)}multiply(t,e){return this.multiplyRight(t,e)}}const Zq=new Vq,Jq=new Vq,tY=new Vq,eY=new Vq,nY=new Vq,iY=new Vq,rY=new Vq;class sY{constructor(t=[0,0,0],e=[0,0,0,0,0,0,0,0,0]){this.center=(new Vq).from(t),this.halfAxes=new Xq(e)}get halfSize(){const t=this.halfAxes.getColumn(0),e=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new Vq(t).len(),new Vq(e).len(),new Vq(n).len()]}get quaternion(){const t=this.halfAxes.getColumn(0),e=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new Vq(t).normalize(),r=new Vq(e).normalize(),s=new Vq(n).normalize();return(new Qq).fromMatrix3(new Xq([...i,...r,...s]))}fromCenterHalfSizeQuaternion(t,e,n){const i=new Qq(n),r=(new Xq).fromQuaternion(i);return r[0]=r[0]*e[0],r[1]=r[1]*e[0],r[2]=r[2]*e[0],r[3]=r[3]*e[1],r[4]=r[4]*e[1],r[5]=r[5]*e[1],r[6]=r[6]*e[2],r[7]=r[7]*e[2],r[8]=r[8]*e[2],this.center=(new Vq).from(t),this.halfAxes=r,this}clone(){return new sY(this.center,this.halfAxes)}equals(t){return this===t||Boolean(t)&&this.center.equals(t.center)&&this.halfAxes.equals(t.halfAxes)}getBoundingSphere(t=new Hq){const e=this.halfAxes,n=e.getColumn(0,tY),i=e.getColumn(1,eY),r=e.getColumn(2,nY),s=Zq.copy(n).add(i).add(r);return t.center.copy(this.center),t.radius=s.magnitude(),t}intersectPlane(t){const e=this.center,n=t.normal,i=this.halfAxes,r=n.x,s=n.y,o=n.z,a=Math.abs(r*i[0]+s*i[1]+o*i[2])+Math.abs(r*i[3]+s*i[4]+o*i[5])+Math.abs(r*i[6]+s*i[7]+o*i[8]),l=n.dot(e)+t.distance;return l<=-a?Oq.OUTSIDE:l>=a?Oq.INSIDE:Oq.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){const e=Jq.from(t).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,tY),r=n.getColumn(1,eY),s=n.getColumn(2,nY),o=i.magnitude(),a=r.magnitude(),l=s.magnitude();i.normalize(),r.normalize(),s.normalize();let c,u=0;return c=Math.abs(e.dot(i))-o,c>0&&(u+=c*c),c=Math.abs(e.dot(r))-a,c>0&&(u+=c*c),c=Math.abs(e.dot(s))-l,c>0&&(u+=c*c),u}computePlaneDistances(t,e,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;const s=this.center,o=this.halfAxes,a=o.getColumn(0,tY),l=o.getColumn(1,eY),c=o.getColumn(2,nY),u=iY.copy(a).add(l).add(c).add(s),h=rY.copy(u).subtract(t);let d=e.dot(h);return i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).add(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).subtract(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),u.copy(s).add(a).subtract(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).add(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).add(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).subtract(l).add(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),s.copy(u).subtract(a).subtract(l).subtract(c),h.copy(u).subtract(t),d=e.dot(h),i=Math.min(d,i),r=Math.max(d,r),n[0]=i,n[1]=r,n}transform(t){this.center.transformAsPoint(t);const e=this.halfAxes.getColumn(0,tY);e.transformAsPoint(t);const n=this.halfAxes.getColumn(1,eY);n.transformAsPoint(t);const i=this.halfAxes.getColumn(2,nY);return i.transformAsPoint(t),this.halfAxes=new Xq([...e,...n,...i]),this}getTransform(){throw new Error("not implemented")}}const oY=new Vq,aY=new Vq;class lY{constructor(t=[0,0,1],e=0){this.normal=new Vq,this.distance=-0,this.fromNormalDistance(t,e)}fromNormalDistance(t,e){return Mq(Number.isFinite(e)),this.normal.from(t).normalize(),this.distance=e,this}fromPointNormal(t,e){t=oY.from(t),this.normal.from(e).normalize();const n=-this.normal.dot(t);return this.distance=n,this}fromCoefficients(t,e,n,i){return this.normal.set(t,e,n),Mq(Aq(this.normal.len(),1)),this.distance=i,this}clone(t){return new lY(this.normal,this.distance)}equals(t){return Aq(this.distance,t.distance)&&Aq(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){const e=aY.copy(this.normal).transformAsVector(t).normalize(),n=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(n,e)}projectPointOntoPlane(t,e=[0,0,0]){t=oY.from(t);const n=this.getPointDistance(t),i=aY.copy(this.normal).scale(n);return t.subtract(i).to(e)}}function*cY(t,e,n){for(const[i,r]of Object.entries(n))for(const n of(0,cq.readQuads)(t,e,i,null,null)){const t="Literal"===n.object.termType?(0,Eq.fromRdf)(n.object):n.object.id;yield[r,t]}}function uY(t,e,n,i){const r={"@id":e,"@type":n};for(const[s,o]of Object.entries(i))for(const e of(0,cq.readQuads)(t,r["@id"],s,null,null)){const t="Literal"===e.object.termType?(0,Eq.fromRdf)(e.object):e.object.id;r[o]=t}return r}new Vq([1,0,0]),new Vq([0,1,0]),new Vq([0,0,1]),new Vq,new Vq,new lY(new Vq(1,0,0),0),new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,new Vq,Math,new Xq,new Xq,new Xq,new Xq,new Xq,new Vq,new Vq,new Vq,new Vq,new Vq,new Xq,new Xq,new Xq;const hY=cq.Util.prefixes({base:"http://purl.org/ccf/latest/ccf.owl#",ccf:"http://purl.org/ccf/",fma:"http://purl.org/sig/ont/fma/fma",obo:"http://purl.obolibrary.org/obo/",uberon:"http://purl.obolibrary.org/obo/UBERON_",cl:"http://purl.obolibrary.org/obo/CL_",lmha:"http://purl.obolibrary.org/obo/LMHA_",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/"},cq.DataFactory),dY={x:hY("rdf"),type:hY("rdf")("type")},pY=(hY("rdfs"),hY("rdfs")("label"),hY("rdfs")("comment"),hY("rdfs")("isDefinedBy"),hY("rdfs")("seeAlso"),hY("ccf")),fY={id:hY("ccf")("has_registration_location"),label:hY("rdfs")("label"),description:hY("rdfs")("comment"),link:pY("url"),sex:pY("sex"),age:pY("age"),bmi:pY("bmi"),Male:cq.DataFactory.literal("Male"),Female:cq.DataFactory.literal("Female"),consortiumName:pY("consortium_name"),providerName:pY("tissue_provider_name"),providerUUID:pY("tissue_provider_uuid"),donor:pY("comes_from"),sections:pY("subdivided_into_sections"),datasets:pY("generates_dataset"),sampleType:pY("sample_type"),TissueBlock:cq.DataFactory.literal("Tissue Block"),TissueSection:cq.DataFactory.literal("Tissue Section"),NonStandard:cq.DataFactory.literal("Non-standard"),sectionCount:pY("section_count"),sectionSize:pY("section_size"),sectionUnits:pY("section_size_unit"),sectionNumber:pY("section_number"),spatialEntity:pY("has_registration_location"),ontologyTerms:pY("has_ontology_term"),cellTypeTerms:pY("has_cell_type_term"),technology:pY("technology"),thumbnail:pY("thumbnail")},gY={x:pY,base:hY("base"),ontologyNode:{label:pY("ccf_pref_label"),parent:pY("ccf_part_of"),children:pY("ccf_part_of"),rui_rank:pY("rui_rank"),synonymLabels:cq.DataFactory.namedNode("http://www.geneontology.org/formats/oboInOwl#hasExactSynonym")},asctb:{part_of:pY("ccf_part_of"),ct_is_a:pY("ccf_ct_isa"),located_in:pY("ccf_located_in"),characterizes:pY("ccf_characterizes")},spatial:{Female:hY("base")("VHFemale"),Male:hY("base")("VHMale"),BothSexes:hY("base")("VHBothSexes"),FemaleOrgans:hY("base")("VHFemaleOrgans"),MaleOrgans:hY("base")("VHMaleOrgans")},SpatialObjectReference:pY("spatial_object_reference"),SpatialEntity:pY("spatial_entity"),SpatialPlacement:pY("spatial_placement"),spatialObjectReference:{file:pY("file_url"),file_format:pY("file_format"),file_subpath:pY("file_subpath")},extractionSet:{label:hY("rdfs")("label"),rui_rank:pY("rui_rank")},spatialEntity:{label:hY("rdfs")("label"),description:hY("rdfs")("comment"),creator:hY("dcterms")("creator"),creator_first_name:pY("creator_first_name"),creator_last_name:pY("creator_last_name"),creator_orcid:pY("creator_orcid"),creation_date:hY("dcterms")("created"),updated_date:pY("updated_date"),ccf_annotations:pY("collides_with"),representation_of:pY("representation_of"),reference_organ:pY("has_reference_organ"),extraction_set_for:pY("extraction_set_for"),extraction_set:pY("has_extraction_set"),sex:pY("organ_owner_sex"),side:pY("organ_side"),rui_rank:pY("rui_rank"),slice_thickness:pY("slice_thickness"),slice_count:pY("slice_count"),x_dimension:pY("x_dimension"),y_dimension:pY("y_dimension"),z_dimension:pY("z_dimension"),dimension_units:pY("dimension_unit"),object:pY("has_object_reference")},spatialPlacement:{source:pY("placement_for"),target:pY("placement_relative_to"),placement_date:hY("dcterms")("created"),x_scaling:pY("x_scaling"),y_scaling:pY("y_scaling"),z_scaling:pY("z_scaling"),scaling_units:pY("scaling_unit"),x_rotation:pY("x_rotation"),y_rotation:pY("y_rotation"),z_rotation:pY("z_rotation"),w_rotation:pY("theta_rotation"),rotation_order:pY("rotation_order"),rotation_units:pY("rotation_unit"),x_translation:pY("x_translation"),y_translation:pY("y_translation"),z_translation:pY("z_translation"),translation_units:pY("translation_unit")}},mY={x:hY("uberon"),body:hY("uberon")("0013702")},bY={x:hY("cl"),cell:hY("cl")("0000000")},yY={x:hY("fma")},vY=(hY("lmha"),{body:mY.body,cell:bY.cell,respiratory_system:mY.x("0001004"),colon:mY.x("0001155"),left_lung:mY.x("0002168"),right_lung:mY.x("0002167"),left_bronchus:mY.x("0002178"),right_bronchus:mY.x("0002177"),kidney:mY.x("0002113"),ureter:mY.x("0000056"),eye:mY.x("0000970"),fallopian_tube:mY.x("0003889"),knee:mY.x("0001465"),ovary:mY.x("0000992"),trachea:mY.x("0003126"),aorta:mY.x("0000947"),blood:mY.x("0000178"),bone_marrow:mY.x("0002371"),male_reproductive_system:mY.x("0000079"),lymph_node:mY.x("0000029"),blood_vasculature:mY.x("0004537"),brain:mY.x("0000955"),eye_left:mY.x("0004548"),eye_right:yY.x("54449"),fallopian_tube_left:mY.x("0001303"),fallopian_tube_right:mY.x("0001302"),heart:mY.x("0000948"),kidney_left:mY.x("0004538"),kidney_right:mY.x("0004539"),knee_left:yY.x("24978"),knee_right:yY.x("24977"),large_intestine:mY.x("0000059"),liver:mY.x("0002107"),lungs:mY.x("0002048"),mesenteric_lymph_node:mY.x("0002509"),ovary_left:yY.x("7214"),ovary_right:yY.x("7213"),pancreas:mY.x("0001264"),pelvis:mY.x("0001270"),prostate_gland:mY.x("0002367"),skin:mY.x("0002097"),small_intestine:mY.x("0002108"),spleen:mY.x("0002106"),thymus:mY.x("0002370"),ureter_left:mY.x("0001223"),ureter_right:mY.x("0001222"),urinary_bladder:mY.x("0001255"),uterus:mY.x("0000995")});function _Y(t){const e={};return Object.entries(t).forEach(([t,n])=>{e[n.id]=t}),e}const wY={spatialObjectReference:_Y(gY.spatialObjectReference),spatialEntity:_Y(gY.spatialEntity),spatialPlacement:_Y(gY.spatialPlacement)};function xY(t,e){const n=uY(t,e,"ExtractionSet",wY.spatialEntity);return n.extractionSites=(0,bq.sortBy)(t.getSubjects(gY.spatialEntity.extraction_set,e,null).map(e=>SY(t,e.id)),["rui_rank"]),n}function SY(t,e){const n=uY(t,e,"SpatialEntity",wY.spatialEntity);return n.object&&(n.object=function(t,e){return uY(t,e,"SpatialObjectReference",wY.spatialObjectReference)}(t,n.object)),n.ccf_annotations&&(n.ccf_annotations=t.getObjects(e,gY.spatialEntity.ccf_annotations,null).map(t=>t.id)),t.forSubjects(t=>n.entityId=t.id,fY.spatialEntity,e,null),n}function CY(t,e){const n=uY(t,e,"SpatialPlacement",wY.spatialPlacement);return n.source&&(n.source=SY(t,n.source)),n.target&&(n.target=SY(t,n.target)),n}function EY(t,e){const n=e;let i;switch(n.translation_units){case"centimeter":i=.01;break;case"millimeter":i=.001;break;case"meter":default:i=1}const r=[n.x_translation,n.y_translation,n.z_translation].map(t=>t*i),s=[n.x_rotation,n.y_rotation,n.z_rotation].map(ZS),o=[n.x_scaling,n.y_scaling,n.z_scaling];return t.translate(r).rotateXYZ(s).scale(o)}class OY{constructor(t){this.db=t,this.createGraph()}createGraph(){this.graph=new fq.DirectedGraph;const t=this.db.store;t.forSubjects(t=>{this.addNode(t.id,"SpatialObjectReference")},dY.type,gY.SpatialObjectReference,null),t.forSubjects(t=>{this.addNode(t.id,"SpatialEntity")},dY.type,gY.SpatialEntity,null);const e={};for(const n of(0,cq.readQuads)(t,null,gY.spatialPlacement.source,null,null))e[n.subject.id]=n.object.id;for(const n of(0,cq.readQuads)(t,null,gY.spatialPlacement.target,null,null)){const t=e[n.subject.id];t&&this.addEdge(n.subject.id,t,n.object.id,"SpatialPlacement")}}addNode(t,e){this.graph.mergeNode(t,{type:e})}addEdge(t,e,n,i){this.graph.mergeDirectedEdge(e,n,{type:i,id:t})}getTransformationMatrix(t,e){if(t===e)return new VT(VT.IDENTITY);if(!this.graph.hasNode(t)||!this.graph.hasNode(e))return;const n=this.db.store,i=new VT(VT.IDENTITY),r=mq()(this.graph,t,e);if(r&&r.length>0){r.reverse();let t="";for(const e of r)t&&EY(i,CY(n,this.graph.getEdgeAttribute(e,t,"id"))),t=e;return i}}getSpatialPlacement(t,e){const n=this.graph.hasNode(t["@id"])?t["@id"]:void 0,i=(0,bq.get)(t,"placement[0]",(0,bq.get)(t,"placement",void 0));let r;if(i&&this.graph.hasNode(i.target)?(r=this.getTransformationMatrix(i.target,e),r&&(r=EY(r,i))):n&&(r=this.getTransformationMatrix(n,e)),r){const n=(new dq).fromRotationMatrix(r,dq.XYZ),i=r.getTranslation().map(t=>1e3*t),s=n.toVector3().map(JS),o=r.getScale().map(t=>t<1&&t>.999999?1:t);return{"@context":"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld","@id":`http://purl.org/ccf/1.5/${Cq()}_placement`,"@type":"SpatialPlacement",source:t["@id"],target:e,placement_date:(new Date).toISOString().split("T")[0],x_scaling:o[0],y_scaling:o[1],z_scaling:o[2],scaling_units:"ratio",x_rotation:s[0],y_rotation:s[1],z_rotation:s[2],rotation_order:"XYZ",rotation_units:"degree",x_translation:i[0],y_translation:i[1],z_translation:i[2],translation_units:"millimeter"}}}}class TY{constructor(t){this.db=t}getSpatialEntity(t){return SY(this.db.store,t)}getExtractionSets(t){return function(t,e){return(0,bq.sortBy)(t.getSubjects(gY.spatialEntity.extraction_set_for,e,null).map(e=>xY(t,e.id)),["rui_rank"])}(this.db.store,t)}getExtractionSet(t){return xY(this.db.store,t)}getAnatomicalStructures(t){return function(t,e){return(0,bq.sortBy)(t.getSubjects(gY.spatialEntity.reference_organ,e,null).map(e=>SY(t,e.id)).filter(t=>t["@id"]!==e),["rui_rank"])}(this.db.store,t)}getReferenceOrgans(){return function(t){const e=[];return t.forEach(n=>{n.subject.id===n.object.id&&e.push(SY(t,n.subject.id))},null,gY.spatialEntity.reference_organ,null,null),(0,bq.sortBy)(e,["rui_rank"])}(this.db.store)}getReferenceBody(t){let e;switch(null==t?void 0:t.sex){case"Male":e=gY.spatial.Male.id;break;case"Female":e=gY.spatial.Female.id;break;case"Both":default:e=gY.spatial.BothSexes.id}return this.getSpatialEntity(e)}getReferenceOrganSets(t){let e=this.getReferenceOrgans();switch(null==t?void 0:t.sex){case"Male":e=e.filter(t=>"Male"===t.sex);break;case"Female":e=e.filter(t=>"Female"===t.sex)}return(null==t?void 0:t.debug)&&(e=e.map(t=>[[t],this.getAnatomicalStructures(t["@id"])]).reduce((t,[e,n])=>t.concat(n.length>0?n:e),[])),e}getReferenceSceneNodes(t){const e=this.getReferenceBody(t),n=[];let i=[...this.getReferenceOrganSets(t).map(t=>{const i="http://purl.obolibrary.org/obo/UBERON_0002097"===t.representation_of,r=this.getSceneNode(t,e,{color:[255,255,255,255],opacity:i?.5:.2,unpickable:!0,_lighting:"pbr",zoomBasedOpacity:!i});return i&&r?void n.push(r):r})];return n.length>0&&(i=[...n,...i]),(null==t?void 0:t.debug)&&(i=i.concat([this.getSceneNode(this.getSpatialEntity(gY.base("VHRightKidney").id),e,{color:[0,0,255,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(gY.base("VHLeftKidney").id),e,{color:[255,0,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(gY.base("VHSpleenCC1").id),e,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(gY.base("VHSpleenCC2").id),e,{color:[0,255,0,127.5],geometry:"wireframe"}),this.getSceneNode(this.getSpatialEntity(gY.base("VHSpleenCC3").id),e,{color:[0,255,0,127.5],geometry:"wireframe"})])),i.filter(t=>void 0!==t)}getReferenceOrganScene(t,e){var n,i;const r=void 0!==(null==e?void 0:e.sex)&&"both"!==(null===(n=null==e?void 0:e.sex)||void 0===n?void 0:n.toLowerCase()),s=this.getReferenceOrgans().filter(n=>n.representation_of===t&&(!r||n.sex===(null==e?void 0:e.sex)));if(s.length>0){const t=s[0],n=this.getSceneNode(t,t,{color:[255,255,255,255],opacity:"http://purl.obolibrary.org/obo/UBERON_0002097"===t.representation_of?.5:.2,unpickable:!0,_lighting:"pbr"}),r=(null!==(i=this.db.getSpatialEntities(e))&&void 0!==i?i:[]).map(e=>this.getSceneNode(e,t,{color:[255,255,255,229.5]}));return[n].concat(r).filter(t=>void 0!==t)}return[]}getEntitySceneNodes(t){const e=this.getReferenceBody(t);return this.db.getSpatialEntities(t).map(t=>this.getSceneNode(t,e,{color:[255,255,255,229.5]})).filter(t=>void 0!==t)}getSceneNode(t,e,n={}){var i,r,s,o;const a=null===(r=null===(i=null==t?void 0:t.object)||void 0===i?void 0:i.file_format)||void 0===r?void 0:r.startsWith("model/gltf");let l=this.db.graph.getTransformationMatrix(a&&t.object?t.object["@id"]:t["@id"],e["@id"]);if(l){if(a)l=new VT(VT.IDENTITY).rotateX(ZS(90)).multiplyLeft(l);else{let e;switch(t.dimension_units){case"centimeter":e=.01;break;case"millimeter":e=.001;break;case"meter":default:e=1}const n=[t.x_dimension,t.y_dimension,t.z_dimension].map(t=>t*e/2);l.scale(n)}return Object.assign({"@id":t["@id"],"@type":"SpatialSceneNode",entityId:t.entityId,ccf_annotations:t.ccf_annotations,representation_of:t.representation_of,reference_organ:t.reference_organ,scenegraph:a?null===(s=t.object)||void 0===s?void 0:s.file:void 0,scenegraphNode:a?null===(o=t.object)||void 0===o?void 0:o.file_subpath:void 0,transformMatrix:l,tooltip:t.label},n)}}getScene(t){return[...this.getReferenceSceneNodes(t),...this.getEntitySceneNodes(t)]}}const kY="https://entity.api.hubmapconsortium.org/entities/",PY=new Set(["VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0009-LK-102-7-AF_preIMS_registered_thumbnail.jpg","VAN0009-LK-102-7-IMS_NegMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-IMS_PosMode_multilayer_thumbnail.jpg","VAN0009-LK-102-7-PAS_registered_thumbnail.jpg","VAN0010-LK-155-40-AF_preIMS_registered_thumbnail.jpg","VAN0010-LK-155-40-IMS_NegMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-IMS_PosMode_multilayer_thumbnail.jpg","VAN0010-LK-155-40-PAS_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg","VAN0013-LK-202-96-AF_preIMS_registered_thumbnail.jpg","VAN0013-LK-202-96-IMS_NegMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-IMS_PosMode_multilayer_thumbnail.jpg","VAN0013-LK-202-96-PAS_registered_thumbnail.jpg","VAN0013-LK-202-97-AF_preMxIF_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc1_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc2_registered_thumbnail.jpg","VAN0013-LK-202-97-MxIF_cyc3_registered_thumbnail.jpg","VAN0014-LK-203-108-AF_preIMS_registered_thumbnail.jpg","VAN0014-LK-203-108-IMS_NegMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-IMS_PosMode_multilayer_thumbnail.jpg","VAN0014-LK-203-108-PAS_registered_thumbnail.jpg","VAN0016-LK-202-89-AF_preIMS_registered_thumbnail.jpg","VAN0016-LK-202-89-IMS_NegMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-IMS_PosMode_multilayer_thumbnail.jpg","VAN0016-LK-202-89-PAS_registered_thumbnail.jpg","VAN0003-LK-32-21-AF_preIMS_registered_thumbnail.jpg","VAN0003-LK-32-21-IMS_NegMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-IMS_PosMode_multilayer_thumbnail.jpg","VAN0003-LK-32-21-PAS_registered_thumbnail.jpg","VAN0003-LK-32-22-AF_preMxIF_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc1_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc2_registered_thumbnail.jpg","VAN0003-LK-32-22-MxIF_cyc3_registered_thumbnail.jpg","VAN0005-RK-1-1-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-1-1-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-1-1-PAS_registered_thumbnail.jpg","VAN0005-RK-4-172-AF_preIMS_registered_thumbnail.jpg","VAN0005-RK-4-172-IMS_NegMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-IMS_PosMode_multilayer_thumbnail.jpg","VAN0005-RK-4-172-PAS_registered_thumbnail.jpg","VAN0006-LK-2-85-AF_preIMS_registered_thumbnail.jpg","VAN0006-LK-2-85-IMS_NegMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-IMS_PosMode_multilayer_thumbnail.jpg","VAN0006-LK-2-85-PAS_registered_thumbnail.jpg","VAN0006-LK-2-86-AF_preMxIF_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc1_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc2_registered_thumbnail.jpg","VAN0006-LK-2-86-MxIF_cyc3_registered_thumbnail.jpg","VAN0007-LK-203-103-AF_preIMS_registered_thumbnail.jpg","VAN0007-LK-203-103-IMS_NegMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-IMS_PosMode_multilayer_thumbnail.jpg","VAN0007-LK-203-103-PAS_registered_thumbnail.jpg","VAN0008-RK-403-100-AF_preIMS_registered_thumbnail.jpg","VAN0008-RK-403-100-IMS_NegMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-IMS_PosMode_multilayer_thumbnail.jpg","VAN0008-RK-403-100-PAS_registered_thumbnail.jpg","VAN0008-RK-403-101-AF_preMxIF_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc1_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc2_registered_thumbnail.jpg","VAN0008-RK-403-101-MxIF_cyc3_registered_thumbnail.jpg","VAN0011-RK-3-10-AF_preIMS_registered_thumbnail.jpg","VAN0011-RK-3-10-IMS_NegMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-IMS_PosMode_multilayer_thumbnail.jpg","VAN0011-RK-3-10-PAS_registered_thumbnail.jpg","VAN0011-RK-3-11-AF_preMxIF_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc1_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc2_registered_thumbnail.jpg","VAN0011-RK-3-11-MxIF_cyc3_registered_thumbnail.jpg","VAN0012-RK-103-75-AF_preIMS_registered_thumbnail.jpg","VAN0012-RK-103-75-IMS_NegMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-IMS_PosMode_multilayer_thumbnail.jpg","VAN0012-RK-103-75-PAS_registered_thumbnail.jpg","VAN0012-RK-103-76-AF_preMxIF_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc1_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc2_registered_thumbnail.jpg","VAN0012-RK-103-76-MxIF_cyc3_registered_thumbnail.jpg"]),AY={"HBM558.SRZG.629":"HBM558.SRZG.629_UFL0002-SP-3-4-1.jpg","HBM562.NTMH.548":"HBM562.NTMH.548_UFL0006-SP-1-2-1.jpg","HBM685.KHRQ.684":"HBM685.KHRQ.684_UFL0008-LY07-1-1.jpg","HBM278.SFQW.627":"HBM278.SFQW.627_UFL0008-LY09-1-1.jpg","HBM427.SMGB.866":"HBM427.SMGB.866_UFL0004-SP-1-4-1.jpg","HBM432.LLCF.677":"HBM432.LLCF.677_UFL0001-SP-2-5-1.jpg","HBM586.ZSVS.996":"HBM586.ZSVS.996_UFL0008-SP-1-1-1.jpg","HBM285.XMBT.542":"HBM285.XMBT.542_UFL0006-TH-1-3-1.jpg","HBM289.BWJW.663":"HBM289.BWJW.663_UFL0006-TH-1-2-1.jpg","HBM255.SRPR.985":"HBM255.SRPR.985_UFL0005-TH-2-2-1.jpg","HBM799.WXHD.535":"HBM799.WXHD.535_UFL0009-LY02-1-1.jpg","HBM294.RZFN.624":"HBM294.RZFN.624_UFL0005-TH-1-1-1.jpg","HBM383.TRQG.424":"HBM383.TRQG.424_UFL0006-SP-1-3-1.jpg","HBM647.MFQB.496":"HBM647.MFQB.496_UFL0001-SP-1-2-1.jpg","HBM237.GGPR.739":"HBM237.GGPR.739_UFL0006-LY01-1-1.jpg","HBM288.TPBD.654":"HBM288.TPBD.654_UFL0003-SP-2-2-1.jpg","HBM974.NDXT.675":"HBM974.NDXT.675_UFL0008-TH-2-2-1.jpg","HBM589.SLVV.423":"HBM589.SLVV.423_UFL0008-LY10-1-1.jpg","HBM794.RLFN.358":"HBM794.RLFN.358_UFL0006-LY03-1-1.jpg","HBM372.BQSR.778":"HBM372.BQSR.778_UFL0007-SP-1-1-1.jpg","HBM499.TKDW.458":"HBM499.TKDW.458_UFL0009-LY03-1-1.jpg","HBM342.PRQB.739":"HBM342.PRQB.739_UFL0003-LY06-1-1.jpg","HBM633.CLVN.674":"HBM633.CLVN.674_UFL0003-SP-3-6-1.jpg","HBM343.JQKM.578":"HBM343.JQKM.578_UFL0009-LY01-1-1.jpg","HBM987.XGTH.368":"HBM987.XGTH.368_UFL0002-SP-2-4-1.jpg","HBM964.CWCP.788":"HBM964.CWCP.788_UFL0006-LY02-2-1.jpg","HBM244.TJLK.223":"HBM244.TJLK.223_UFL0003-SP-1-4-1.jpg","HBM646.FSBQ.966":"HBM646.FSBQ.966_UFL0007-SP-2-2-1.jpg","HBM572.GXSB.234":"HBM572.GXSB.234_UFL0003-SP-3-2-1.jpg","HBM772.TKGJ.794":"HBM772.TKGJ.794_UFL0008-SP-2-1-1.jpg","HBM239.CBWR.263":"HBM239.CBWR.263_UFL0008-SP-1-2-1.jpg","HBM992.NRTT.383":"HBM992.NRTT.383_UFL0006-SP-1-1-1.jpg","HBM283.DQXD.546":"HBM283.DQXD.546_UFL0003-SP-1-2-1.jpg","HBM795.JHND.856":"HBM795.JHND.856_UFL0007-SP-1-2-1.jpg","HBM267.BZKT.867":"HBM267.BZKT.867_UFL0003-SP-2-6-1.jpg","HBM838.DLMJ.782":"HBM838.DLMJ.782_UFL0008-TH-1-1-1.jpg","HBM337.FSXL.564":"HBM337.FSXL.564_UFL0001-SP-3-8-2.jpg","HBM355.JDLK.244":"HBM355.JDLK.244_UFL0004-SP-2-4-1.jpg","HBM599.PSZG.737":"HBM599.PSZG.737_UFL0006-LY02-1-1.jpg"},MY={"03b3d854-ed44-11e8-8bce-0e368f3075e8":"TMC-UCSD","07a29e4c-ed43-11e8-b56a-0e8017bdda58":"TMC-Florida","308f5ffc-ed43-11e8-b56a-0e8017bdda58":"TMC-CalTech","5bd084c8-edc2-11e8-802f-0e368f3075e8":"HBM-TestingGroup","73bb26e4-ed43-11e8-8f19-0a7c1eab007a":"TMC-Vanderbilt","def5fd76-ed43-11e8-b56a-0e8017bdda58":"TMC-Stanford","5c106f29-ea2d-11e9-85e8-0efb3ba9a670":"RTI-General Electric","301615f9-c870-11eb-a8dc-35ce3d8786fe":"TMC-UConn"},IY="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld";class DY{constructor(t,e="",n="",i){var r,s;if(this.data=t,this.bad=!1,this["@type"]="Sample",this.sample_type="Tissue Block","Sample"!==this.data.entity_type)return void(this.bad=!0);const o=this.data.descendants||[],a=(this.data.ancestors||[]).find(t=>"Donor"===t.entity_type);this.donor=this.getDonor(a,n);const l=this.getRuiLocation(t,this.donor);l?this.rui_location=l:this.bad=!0,MY[t.group_uuid]||(MY[t.group_uuid]=t.group_name);const c=new Date(t.last_modified_timestamp).toLocaleDateString(),u=MY[t.group_uuid]||t.group_name,h=t.created_by_user_displayname;this["@id"]=kY+t.uuid,this.label=`Registered ${c}, ${h}, ${u}`,this.link=`${n}browse/sample/${t.uuid}`;const d={},p=[];this.sections=p;const f=[];this.datasets=f;for(const v of o.filter(t=>"Sample"===t.entity_type)){const e=this.getSection(v,t,n);d[v.submission_id]=e,p.push(e),e.section_number=null!==(r=e.section_number)&&void 0!==r?r:p.length}for(const v of o)if("Dataset"===v.entity_type){const t=this.getDataset(v,e,n,i),r=(0,bq.get)(v,["ingest_metadata","metadata","tissue_id"]);d[r]?null===(s=d[r].datasets)||void 0===s||s.push(t):f.push(t)}const g=null!=l?l:{},m=`${g.x_dimension} x ${g.y_dimension} x ${g.z_dimension} ${g.dimension_units}`;this.section_count=g.slice_count||p.length;const b=parseFloat((g.slice_thickness||(g.z_dimension||0)/Math.max(this.section_count,1)).toFixed(1));this.section_size=b;const y=g.dimension_units||"millimeter";this.section_units=y,this.description=`${m}, ${b} ${y}, ${this.section_count} Sections`,p.forEach((t,e)=>{t.description=`${g.x_dimension} x ${g.y_dimension} x ${b} ${y}, ${b} ${y}, ${t.description}`,t.section_number=e+1})}getSection(t,e,n){const i=new Date(t.last_modified_timestamp).toLocaleDateString();return{"@id":kY+t.uuid,"@type":"Sample",label:`Registered ${i}, ${t.created_by_user_displayname}, ${MY[t.group_uuid]||t.group_name}`,description:`${e.sample_category}`,link:`${n}browse/sample/${t.uuid}`,sample_type:"Tissue Section",section_number:1,samples:[],datasets:[]}}getDataset(t,e="",n="",i){var r;const s=new Date(t.last_modified_timestamp).toLocaleDateString(),o=MY[t.group_uuid]||t.group_name,a=t.created_by_user_displayname,l=[...t.data_types,(0,bq.get)(t,["ingest_metadata","metadata","assay_type"],"")],c=l.join("|").toLowerCase();let u,h="assets/icons/ico-unknown.svg";return-1!==c.indexOf("10x")?(u="10x",h="assets/icons/ico-bulk-10x.svg"):-1!==c.indexOf("af")?(u="AF",h="assets/icons/ico-spatial-af.svg"):-1!==c.indexOf("codex")?(u="CODEX",h="assets/icons/ico-spatial-codex.svg"):-1!==c.indexOf("imc")?(u="IMC",h="assets/icons/ico-spatial-imc.svg"):-1!==c.indexOf("lc")&&-1===c.indexOf("af")?(u="LC",h="assets/icons/ico-bulk-lc.svg"):u=-1!==c.indexOf("maldi")?"MALDI":-1!==c.indexOf("pas")?"PAS":"OTHER",h=null!==(r=this.getDatasetThumbnail(t,e,i))&&void 0!==r?r:h,{"@id":kY+t.uuid,"@type":"Dataset",label:`Registered ${s}, ${a}, ${o}`,description:`Data/Assay Types: ${l.join(", ")}`,link:`${n}browse/dataset/${t.uuid}`,technology:u,thumbnail:h}}getDatasetThumbnail(t,e,n){if(t.thumbnail_file){const i=t.thumbnail_file;return`${e}/${i.file_uuid}/${i.filename}`+(n?`?token=${n}`:"")}if("73bb26e4-ed43-11e8-8f19-0a7c1eab007a"===t.group_uuid){const i=(0,bq.get)(t,"metadata.files",[]).filter(t=>/\.(ome\.tif|ome\.tiff)$/.test(t.rel_path)).filter(t=>!/(multilayer\.ome\.tif|_ac\.ome\.tif)/.test(t.rel_path)).filter(t=>PY.has(t.rel_path.split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg"))).map(i=>`${e}/${t.uuid}/${i.rel_path}`+(n?`?token=${n}`:""));if(i.length>0){const t=i[0].split("/").slice(-1)[0].split("?")[0].replace(".ome.tif","_thumbnail.jpg");if(PY.has(t))return`assets/thumbnails/TMC-Vanderbilt/DR1/${t}`}}else if("07a29e4c-ed43-11e8-b56a-0e8017bdda58"===t.group_uuid){const e=AY[t.hubmap_id];if(e)return`assets/thumbnails/TMC-Florida/${e}`}}getDonor(t,e){const n=(t.description||"").toLowerCase();let i;n.includes("female")?i="Female":n.includes("male")&&(i="Male");const r=n.match(/age ([0-9]+)/);let s,o;r&&(s=(0,bq.toNumber)(r[1]));for(const u of(0,bq.get)(t,"metadata.organ_donor_data",(0,bq.get)(t,"metadata.living_donor_data",[])))"Feminine gender"===u.preferred_term||"Female"===u.preferred_term?i="Female":"Masculine gender"===u.preferred_term||"Male"===u.preferred_term?i="Male":"Current chronological age"===u.preferred_term||"Age"===u.preferred_term?s=(0,bq.toNumber)(u.data_value):"Body mass index"===u.preferred_term&&(o=(0,bq.toNumber)(u.data_value));let a="";i&&s&&(a+=`${i}, Age ${s}`,o&&(a+=`, BMI ${o.toFixed(1)}`));const l=new Date(t.last_modified_timestamp).toLocaleDateString(),c=MY[t.group_uuid]||t.group_name;return{"@id":kY+t.uuid,"@type":"Donor",label:a,description:`Entered ${l}, ${t.created_by_user_displayname}, ${c}`,link:`${e}browse/donor/${t.uuid}`,age:s,sex:i,bmi:o,consortium_name:"HuBMAP",provider_name:c,provider_uuid:t.group_uuid,samples:[]}}getRuiLocation(t,e){var n;let i,r=t.rui_location;if(r&&("string"==typeof r&&(r=JSON.parse(r)),r.alignment_id?console.log("Detected a deprecated rui_location",t.uuid):r["@id"]&&(i=r),r["@context"]="https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"),i){const t=null!==(n=(0,bq.get)(i,["placement","target"]))&&void 0!==n?n:"";t.startsWith("http://purl.org/ccf/latest/ccf.owl#VHSpleenCC")?(0,bq.set)(i,["placement","target"],t.replace("#VHSpleenCC","Male"===e.sex?"#VHMSpleenCC":"#VHFSpleenCC")):("http://purl.org/ccf/latest/ccf.owl#VHLeftKidney"===t||"http://purl.org/ccf/latest/ccf.owl#VHRightKidney"===t)&&(0,bq.set)(i,["placement","target"],"Male"===e.sex?t.replace("#VH","#VHM")+"_Patch":t.replace("#VH","#VHF")+"_Patch")}return i}getTissueBlock(){return(0,bq.omit)(Object.assign({},this),["data","bad","donor"])}toJsonLd(){return Object.assign(Object.assign({},this.donor),{samples:[this.getTissueBlock()]})}}const RY=["uuid","entity_type","group_uuid","group_name","last_modified_timestamp","created_by_user_displayname","ancestors.entity_type","ancestors.description","ancestors.metadata.organ_donor_data.preferred_term","ancestors.metadata.organ_donor_data.data_value","ancestors.metadata.living_donor_data.preferred_term","ancestors.metadata.living_donor_data.data_value","ancestors.last_modified_timestamp","ancestors.group_uuid","ancestors.group_name","ancestors.created_by_user_displayname","ancestors.uuid","descendants.entity_type","descendants.ingest_metadata.metadata.tissue_id","descendants.last_modified_timestamp","descendants.group_uuid","descendants.group_name","descendants.created_by_user_displayname","descendants.uuid","descendants.data_types","descendants.ingest_metadata.metadata.assay_type","descendants.thumbnail_file","descendants.metadata.files.rel_path","rui_location","sample_category"],NY={exists:{field:"rui_location"}};function LY(t,e,n){return JSON.stringify({version:!0,from:t,size:e,stored_fields:["*"],script_fields:{},docvalue_fields:[],query:null!=n?n:NY,_source:{includes:RY}})}function jY(t,e){return xw(this,void 0,void 0,function*(){try{const n=yield fetch(t,e),i=yield n.text();return n.ok||i.startsWith("https")?i.startsWith("https")?yield fetch(i).then(t=>t.json()):JSON.parse(i):void 0}catch(n){return}})}function FY(t,e,n,i,r="",s=""){return xw(this,void 0,void 0,function*(){let o;if("static"===e?o=yield jY(t):"search-api"===e&&(o=yield function(t,e,n){return xw(this,void 0,void 0,function*(){const i=1e4,r=function(t){const e=new Headers;return e.append("Content-type","application/json"),t&&e.append("Authorization",`Bearer ${t}`),e}(e),s=LY(0,i,n),o=yield jY(t,{method:"POST",headers:r,body:s});if(!o)return;const a=o.hits.total.value;if(a<=i)return o;const l=[];for(let e=i;e!t))return;const u=c.map(t=>t.hits.hits);return Object.assign(Object.assign({},o),{hits:Object.assign(Object.assign({},o.hits),{hits:o.hits.hits.concat(...u)})})})}(t,i,n)),o)return function(t,e="",n="",i,r=!1){const s={},o=(0,bq.get)(t,"hits.hits",[]).map(t=>(0,bq.get)(t,"_source",{})).sort((t,e)=>t.uuid.localeCompare(e.uuid)).map(t=>new DY(t,e,n,i).toJsonLd());for(const l of o){const t=l["@id"];s[t]?s[t].samples.push(l.samples[0]):s[t]=l}const a=Object.values(s);return r&&(function(t){let e=[],n=0;for(const i of t.filter(t=>t.samples.length>1)){const t=i.samples;for(let i=0;it["@id"]===r)&&(t[i].deleteMe=!0,n++)}i.samples=t.filter(t=>!0!==t.deleteMe)}n>0&&console.log(`\u26a0 ${n} sections identified as blocks`)}(a),console.log(a.map(t=>Object.assign({"@context":IY},t)))),{"@context":IY,"@graph":a}}(o,r,s,i);console.warn(`Unable to load ${t} as HuBMAP Data`)})}function BY(t,e,n){const i=new Set;for(const r of e)for(const e of(0,cq.readQuads)(t,r,n,null,null))i.add(e.object.id);return i}const VY={[gY.spatialEntity.x_dimension.id]:"x",[gY.spatialEntity.y_dimension.id]:"y",[gY.spatialEntity.z_dimension.id]:"z"};function zY(t,e,n,i){const r=e.getTransformationMatrix(n,i);let s;if(r){const e=r.getTranslation(),i=function(t,e){const n=uY(t,e,"Dimensions",VY);return[n.x,n.y,n.z]}(t,n).map(t=>t/1e3/2),o=(new dq).fromRotationMatrix(r,dq.XYZ).toQuaternion().normalize().calculateW();s=(new sY).fromCenterHalfSizeQuaternion(e,i,o)}return s}function UY(t,e,n,i){const{x:r,y:s,z:o,radius:a,target:l}=i,c=new Set,u=a/1e3*(a/1e3);for(const h of n){const n=zY(t,e,h,l);n&&n.distanceSquaredTo([r,s,o].map(t=>t/1e3))<=u&&c.add(h)}return c}function HY(t,e,n){var i,r;const s=new Map,o=new Set;for(const c of e)for(const e of(0,cq.readQuads)(t,c,fY.donor,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(c):s.set(e.object.id,[c]);const a=n(o),l=new Set;for(const c of a)for(const t of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(t);return l}function $Y(t,e,n){var i,r;const s=new Map,o=new Set;for(const c of e)for(const e of(0,cq.readQuads)(t,c,fY.spatialEntity,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(c):s.set(e.object.id,[c]);const a=n(o),l=new Set;for(const c of a)for(const t of null!==(r=s.get(c))&&void 0!==r?r:[])l.add(t);return l}function GY(t,e){return function(n){t.has(n.id)&&e.add(n.id)}}function WY(t,e,n){const i=new Set;for(const r of n){const n=cq.DataFactory.namedNode(r);t.forSubjects(GY(e,i),gY.spatialEntity.ccf_annotations,n,null)}return i}function qY(t,e){const n=function(t,e){const n=new Map;for(const i of t)for(const t of(0,cq.readQuads)(e,i,fY.spatialEntity,null,null))n.has(t.object.id)?n.get(t.object.id).add(i):n.set(t.object.id,new Set([i]));return n}(t,e),i=new Map;for(const r of n.keys()){const t=n.get(r);for(const n of(0,cq.readQuads)(e,r,gY.spatialEntity.ccf_annotations,null,null))if(i.has(n.object.id)){const e=i.get(n.object.id);t.forEach(t=>e.add(t))}else i.set(n.object.id,new Set(t))}return i}function YY(t,e,n){const i={"@id":e,"@type":"OntologyTreeNode",id:e,parent:"",children:[],synonymLabels:[],label:""},r={[gY.ontologyNode.label.id]:"label",[n]:"parent",[gY.ontologyNode.synonymLabels.id]:"synonymLabels"};for(const[s,o]of cY(t,e,r))"synonymLabels"===s?i.synonymLabels.push(o):i[s]=o;return i.children=t.getSubjects(n,e,null).map(t=>t.id),i}function XY(t,e,n,i){const r={root:e,nodes:{}},s=new Set;for(const a of(0,cq.readQuads)(t,null,i,null,null))s.add(a.subject.id),s.add(a.object.id);for(const a of s)r.nodes[a]=YY(t,a,i);r.nodes[e]||(r.nodes[e]={"@id":e,"@type":"OntologyTreeNode",id:e,label:n,children:[],synonymLabels:[]});const o=t.getSubjects(i,e,null).map(t=>t.id).sort((t,e)=>r.nodes[t].label.localeCompare(r.nodes[e].label));return r.nodes[e].children=o,KY(r),r}function KY(t,e,n=new Set){const i=t.nodes[null!=e?e:t.root];if(i){i.children=i.children.filter(t=>!n.has(t)),i.children.forEach(t=>n.add(t));for(const e of i.children)KY(t,e,n),t.nodes[e]&&(t.nodes[e].parent=i["@id"])}}const QY=(0,bq.memoize)(function(t){const e=XY(t,vY.body.id,"body",gY.asctb.part_of.id);return e.nodes[vY.body.id].children=["http://purl.obolibrary.org/obo/UBERON_0000955","http://purl.obolibrary.org/obo/UBERON_0000029","http://purl.obolibrary.org/obo/UBERON_0000970","http://purl.obolibrary.org/obo/UBERON_0003889","http://purl.obolibrary.org/obo/UBERON_0000948","http://purl.obolibrary.org/obo/UBERON_0002113","http://purl.obolibrary.org/obo/UBERON_0001465","http://purl.obolibrary.org/obo/UBERON_0001737","http://purl.obolibrary.org/obo/UBERON_0002107","http://purl.obolibrary.org/obo/UBERON_0002048","http://purl.obolibrary.org/obo/UBERON_0002182","http://purl.obolibrary.org/obo/UBERON_0001911","http://purl.obolibrary.org/obo/UBERON_0000992","http://purl.obolibrary.org/obo/UBERON_0002373","http://purl.obolibrary.org/obo/UBERON_0001264","http://purl.obolibrary.org/obo/UBERON_0001270","http://purl.obolibrary.org/obo/UBERON_0001987","http://purl.obolibrary.org/obo/UBERON_0002367","http://purl.obolibrary.org/obo/UBERON_0002097","http://purl.obolibrary.org/obo/UBERON_0002108","http://purl.obolibrary.org/obo/UBERON_0002240","http://purl.obolibrary.org/obo/UBERON_0000059","http://purl.obolibrary.org/obo/UBERON_0002106","http://purl.obolibrary.org/obo/UBERON_0002370","http://purl.obolibrary.org/obo/UBERON_0003126","http://purl.obolibrary.org/obo/UBERON_0000056","http://purl.obolibrary.org/obo/UBERON_0001255","http://purl.obolibrary.org/obo/UBERON_0000995","http://purl.obolibrary.org/obo/UBERON_0004537"].filter(t=>t in e.nodes),e},()=>""),ZY={[fY.label.id]:"label",[fY.description.id]:"description",[fY.link.id]:"link"},JY=Object.assign(Object.assign({},ZY),{[fY.providerName.id]:"providerName"}),tX=Object.assign(Object.assign({},ZY),{[fY.technology.id]:"technology",[fY.thumbnail.id]:"thumbnail"}),eX=Object.assign(Object.assign({},ZY),{[fY.sampleType.id]:"sampleType",[fY.sectionNumber.id]:"sectionNumber",[fY.datasets.id]:"datasets"}),nX=Object.assign(Object.assign({},ZY),{[fY.sampleType.id]:"sampleType",[fY.sectionCount.id]:"sectionCount",[fY.sectionSize.id]:"sectionSize",[fY.sectionUnits.id]:"sectionUnits",[fY.donor.id]:"donor",[fY.spatialEntity.id]:"spatialEntityId",[fY.sections.id]:"sections",[fY.datasets.id]:"datasets"});function iX(t,e){return uY(t,e,"Donor",JY)}function rX(t,e){return uY(t,e,"Dataset",tX)}function sX(t,e){const n={"@id":e,"@type":"Sample",datasets:[]};for(const[i,r]of cY(t,e,eX))if("datasets"===i){const e=rX(t,r);n[i].push(e)}else n[i]=r;return n}class oX{constructor(t){this.database=t,this.connect()}toJson(){return{status:this.status,message:this.message,checkback:"Ready"===this.status||"Error"===this.status?36e5:2e3,loadTime:this.loadTime}}connect(){this.status="Loading",this.message="Loading database";const t=Date.now();return this.database.connect().then(t=>xw(this,void 0,void 0,function*(){t?(this.message="Building scene",yield this.database.getScene(),this.message="Building tissue block results",yield this.database.getTissueBlockResults(),this.message="Aggregating results",yield this.database.getAggregateResults(),this.status="Ready",this.message="Database successfully loaded"):(this.status="Error",this.message="Unknown error while loading database")})).catch(t=>{var e;this.status="Error",this.message=null!==(e=null==t?void 0:t.message)&&void 0!==e?e:"Unknown error while loading database"}).finally(()=>{this.loadTime=Date.now()-t})}}const aX={"@context":{"@base":"http://purl.org/ccf/","@vocab":"http://purl.org/ccf/",ccf:"http://purl.org/ccf/",rdfs:"http://www.w3.org/2000/01/rdf-schema#",dcterms:"http://purl.org/dc/terms/",label:"rdfs:label",description:"rdfs:comment",link:"ccf:url",sex:"ccf:sex",age:"ccf:age",bmi:"ccf:bmi",consortium_name:"ccf:consortium_name",provider_name:"ccf:tissue_provider_name",provider_uuid:"ccf:tissue_provider_uuid",donor:{"@id":"ccf:comes_from","@type":"@id"},samples:{"@reverse":"donor"},sections:{"@id":"ccf:subdivided_into_sections","@type":"@id"},datasets:{"@id":"ccf:generates_dataset","@type":"@id"},sample_type:"ccf:sample_type",section_count:"ccf:section_count",section_size:"ccf:section_size",section_units:"ccf:section_size_unit",section_number:"ccf:section_number",rui_location:{"@id":"ccf:has_registration_location","@type":"@id"},ccf_annotations:{"@id":"ccf:collides_with","@type":"@id","@container":"@set"},representation_of:{"@id":"ccf:representation_of","@type":"@id"},reference_organ:{"@id":"ccf:has_reference_organ","@type":"@id"},extraction_set_for:{"@id":"ccf:extraction_set_for","@type":"@id"},extraction_set:{"@id":"ccf:has_extraction_set","@type":"@id"},organ_owner_sex:"ccf:organ_owner_sex",side:"ccf:organ_side",rui_rank:"ccf:rui_rank",slice_thickness:"ccf:slice_thickness",slice_count:"ccf:slice_count",object:{"@id":"ccf:has_object_reference","@type":"@id"},creation_date:"dcterms:created",updated_date:"ccf:updated_date",creator:"dcterms:creator",creator_first_name:"ccf:creator_first_name",creator_last_name:"ccf:creator_last_name",placement:{"@reverse":"ccf:placement_for"},placement_date:"dcterms:created",rotation_order:"ccf:rotation_order",dimension_units:"ccf:dimension_unit",rotation_units:"ccf:rotation_unit",scaling_units:"ccf:scaling_unit",translation_units:"ccf:translation_unit",source:{"@id":"ccf:placement_for","@type":"@id"},target:{"@id":"ccf:placement_relative_to","@type":"@id"},x_rotation:"ccf:x_rotation",y_rotation:"ccf:y_rotation",z_rotation:"ccf:z_rotation",x_scaling:"ccf:x_scaling",y_scaling:"ccf:y_scaling",z_scaling:"ccf:z_scaling",x_translation:"ccf:x_translation",y_translation:"ccf:y_translation",z_translation:"ccf:z_translation",x_dimension:"ccf:x_dimension",y_dimension:"ccf:y_dimension",z_dimension:"ccf:z_dimension",ontology_terms:{"@id":"ccf:has_ontology_term","@type":"@id"},technology:"ccf:technology",thumbnail:"ccf:thumbnail",file:"ccf:file_url",file_format:"ccf:file_format",file_subpath:"ccf:file_subpath"}};function lX(t){return JSON.parse(t,(t,e)=>"ccf_annotations"===t&&Array.isArray(e)?e.map(t=>(null==t?void 0:t.startsWith("http://purl.obolibrary.org/obo/FMA_"))?t.replace("http://purl.obolibrary.org/obo/FMA_","http://purl.org/sig/ont/fma/fma"):t):"@context"!==t||!e||"https://hubmapconsortium.github.io/hubmap-ontology/ccf-entity-context.jsonld"!==e&&"https://hubmapconsortium.github.io/hubmap-ontology/ccf-context.jsonld"!==e&&"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld"!==e&&"http://purl.org/ccf/latest/ccf-entity.owl#"!==e["@base"]?e:aX)}const cX={ccfOwlUrl:"https://purl.org/ccf/latest/ccf.owl",ccfContextUrl:"https://purl.org/ccf/latest/ccf-context.jsonld",dataSources:[],hubmapDataService:"static",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"",hubmapAssetsUrl:"https://assets.hubmapconsortium.org"};class uX{constructor(t=cX){this.options=t,this.store=new cq.Store(void 0,{factory:cq.DataFactory}),this.graph=new OY(this),this.scene=new TY(this)}connect(t,e=!1){return xw(this,void 0,void 0,function*(){return t&&(this.options=t),this.initializing||(this.initializing=e?this.cachedConnect():this.doConnect()),yield this.initializing,this.store.size>0})}cachedConnect(){return xw(this,void 0,void 0,function*(){const t=(new Date).getTime(),e=lq()(this.options,{encoding:"base64",ignoreUnknown:!0,respectType:!1,unorderedArrays:!0,unorderedObjects:!0,unorderedSets:!0}),n=`ccf-database.last_modified.${e}`,i=`ccf-database.${e}`,r=yield oq(n).catch(()=>{});let s;r&&t-new Date(+r).getTime()>36e5?yield function(t,e=sq()){return e("readwrite",e=>(t.forEach(t=>e.delete(t)),iq(e.transaction)))}([i,n]).catch(()=>{}):s=yield oq(i).catch(()=>{}),s?yield this.deserialize(s):(yield this.doConnect(),function(t,e=sq()){return e("readwrite",e=>(t.forEach(t=>e.put(t[1],t[0])),iq(e.transaction)))}([[i,this.serialize()],[n,""+t]]).catch(()=>{}))})}doConnect(){var t,e;return xw(this,void 0,void 0,function*(){const n=[],i=null!==(e=null===(t=this.options.dataSources)||void 0===t?void 0:t.concat())&&void 0!==e?e:[],r=this.options.ccfOwlUrl;if(r.startsWith("{"))this.store=(0,cq.deserializeN3Store)(r,cq.DataFactory);else if(r.endsWith(".n3store.json")){const t=yield fetch(r).then(t=>t.text()).catch(()=>console.log("Couldn't locate serialized store."));t&&(this.store=(0,cq.deserializeN3Store)(t,cq.DataFactory))}else(null==r?void 0:r.length)>0&&i.push(r);this.options.hubmapDataUrl&&(this.options.hubmapDataUrl.endsWith("jsonld")?i.push(this.options.hubmapDataUrl):n.push(FY(this.options.hubmapDataUrl,this.options.hubmapDataService,this.options.hubmapQuery,this.options.hubmapToken,this.options.hubmapAssetsUrl,this.options.hubmapPortalUrl).then(t=>{if(t)return this.addDataSources([t])}))),n.push(this.addDataSources(i)),yield Promise.all(n),yield this.synchronize()})}addDataSources(t,e){return xw(this,void 0,void 0,function*(){const n=null!=e?e:this.store;return yield Promise.all(t.map(t=>xw(this,void 0,void 0,function*(){"string"==typeof t?(t.startsWith("http")||t.startsWith("assets/"))&&t.includes("jsonld")?(t=lX(t=yield fetch(t).then(t=>t.text())),yield(0,cq.addJsonLdToStore)(t,n)):t.endsWith("n3")?yield(0,cq.addN3ToStore)(t,n):t.endsWith("rdf")||t.endsWith("owl")||t.endsWith("xml")?yield(0,cq.addRdfXmlToStore)(t,n):(t=lX(t),yield(0,cq.addJsonLdToStore)(t,n)):(t=lX(JSON.stringify(t)),yield(0,cq.addJsonLdToStore)(t,n))}))),this})}synchronize(){return xw(this,void 0,void 0,function*(){return yield new Promise(t=>{setTimeout(t,500)}),this.graph.createGraph(),function(t){var e,n,i;const r=QY(t),s=new Map;for(const{subject:o,object:a}of(0,cq.readQuads)(t,null,gY.spatialEntity.representation_of,null,null)){const t=new Set([a.id]);let i=null===(e=r.nodes[a.id])||void 0===e?void 0:e.parent;for(;i&&!t.has(i);)t.add(i),i=null===(n=r.nodes[i])||void 0===n?void 0:n.parent;s.set(o.id,[...t].map(t=>cq.DataFactory.namedNode(t)))}for(const{object:o}of(0,cq.readQuads)(t,null,fY.spatialEntity,null,null))for(const{subject:e}of(0,cq.readQuads)(t,null,gY.spatialPlacement.source,o,null))for(const{object:n}of(0,cq.readQuads)(t,e,gY.spatialPlacement.target,null,null))for(const e of null!==(i=s.get(n.id))&&void 0!==i?i:[])t.addQuad(cq.DataFactory.namedNode(o.id),gY.spatialEntity.ccf_annotations,e)}(this.store),this})}serialize(){return(0,cq.serializeN3Store)(this.store)}deserialize(t){return xw(this,void 0,void 0,function*(){this.store=(0,cq.deserializeN3Store)(t,cq.DataFactory),this.graph=new OY(this),this.scene=new TY(this),yield new Promise(t=>{setTimeout(t,10)})})}getIds(t={}){return function(t,e,n){var i,r,s,o,a,l,c;let u=function(t){const e=new Set;return t.forSubjects(t=>e.add(t.id),fY.spatialEntity,null,null),e}(t);if(u.size>0&&(u=function(t,e,n=!0){const i=new Set;if(t.forSubjects(GY(e,i),fY.spatialEntity,null,null),!n){const t=new Set;return e.forEach(e=>i.has(e)?void 0:t.add(e)),t}return i}(t,u)),u.size>0&&("Male"===n.sex||"Female"===n.sex)){const e=n.sex;u=HY(t,u,n=>function(t,e,n){const i=new Set;return t.forSubjects(GY(e,i),fY.sex,fY[n],null),i}(t,n,e))}if(u.size>0&&(null===(i=n.tmc)||void 0===i?void 0:i.length)>0&&(u=HY(t,u,e=>function(t,e,n){const i=new Set;for(const r of n){const n=cq.DataFactory.literal(r);t.forSubjects(GY(e,i),fY.providerName,n,null)}return i}(t,e,n.tmc))),u.size>0&&(null===(r=n.technologies)||void 0===r?void 0:r.length)>0&&(u=function(t,e,n){var i,r;const s=new Map,o=new Set,a=new Set(e);for(const u of e)for(const e of(0,cq.readQuads)(t,u,fY.sections,null,null))a.add(e.object.id);for(const u of a)for(const e of(0,cq.readQuads)(t,u,fY.datasets,null,null))o.add(e.object.id),s.has(e.object.id)?null===(i=s.get(e.object.id))||void 0===i||i.push(u):s.set(e.object.id,[u]);const l=n(o),c=new Set;for(const u of l)for(const t of null!==(r=s.get(u))&&void 0!==r?r:[])c.add(t);return c}(t,u,e=>function(t,e,n){const i=new Set;for(const r of n){const n=cq.DataFactory.literal(r);t.forSubjects(GY(e,i),fY.technology,n,null)}return i}(t,e,n.technologies))),u.size>0&&(null===(s=n.spatialSearches)||void 0===s?void 0:s.length)>0&&(u=$Y(t,u,i=>function(t,e,n,i){const r=new Set;for(const s of i)UY(t,e,n,s).forEach(t=>r.add(t));return r}(t,e,i,n.spatialSearches))),u.size>0&&(null===(o=n.ontologyTerms)||void 0===o?void 0:o.length)>0){const e=n.ontologyTerms;-1===e.indexOf(vY.body.id)&&(u=$Y(t,u,n=>WY(t,n,e)))}if(u.size>0&&(null===(a=n.cellTypeTerms)||void 0===a?void 0:a.length)>0){const e=n.cellTypeTerms;-1===e.indexOf(vY.cell.id)&&(u=$Y(t,u,n=>function(t,e,n){const i=new Set;for(const r of n)t.forObjects(t=>{i.add(t.id)},r,gY.asctb.located_in,null),r===vY.cell.id&&i.add(vY.body.id);return WY(t,e,[...i])}(t,n,e)))}if(u.size>0&&2===(null===(l=n.ageRange)||void 0===l?void 0:l.length)&&(0,bq.isFinite)(n.ageRange[0])&&(0,bq.isFinite)(n.ageRange[1])){const e=Math.max(...n.ageRange),i=Math.min(...n.ageRange);1===i&&110===e||(u=HY(t,u,n=>function(t,e,n,i){const r=new Set;for(const s of e)for(const e of(0,cq.readQuads)(t,s,fY.age,null,null)){const t=(0,Eq.fromRdf)(e.object);t>=n&&t<=i&&r.add(s)}return r}(t,n,i,e)))}if(u.size>0&&2===(null===(c=n.bmiRange)||void 0===c?void 0:c.length)&&(0,bq.isFinite)(n.bmiRange[0])&&(0,bq.isFinite)(n.bmiRange[1])){const e=Math.max(...n.bmiRange),i=Math.min(...n.bmiRange);13===i&&83===e||(u=HY(t,u,n=>function(t,e,n,i){const r=new Set;for(const s of e)for(const e of(0,cq.readQuads)(t,s,fY.bmi,null,null)){const t=(0,Eq.fromRdf)(e.object);t>=n&&t<=i&&r.add(s)}return r}(t,n,i,e)))}return u}(this.store,this.graph,t)}get(t){return this.store.getQuads(cq.DataFactory.namedNode(t),null,null,null)}search(t={}){return[...this.getIds(t)].map(t=>this.get(t))}getSpatialEntities(t){return t=Object.assign(Object.assign({},t),{hasSpatialEntity:!0}),[...this.getIds(t)].map(t=>function(t,e){const n=t.getObjects(cq.DataFactory.namedNode(e),fY.spatialEntity,null);if(n.length>0)return SY(t,n[0].id)}(this.store,t))}getDatabaseStatus(){return xw(this,void 0,void 0,function*(){return this.status||(this.status=new oX(this)),this.status.toJson()})}getDatasetTechnologyNames(){return xw(this,void 0,void 0,function*(){return function(t){const e=new Set;for(const n of(0,cq.readQuads)(t,null,fY.technology,null,null))e.add(n.object.value);return Array.from(e).sort()}(this.store)})}getProviderNames(){return xw(this,void 0,void 0,function*(){return function(t){const e=new Set;for(const n of(0,cq.readQuads)(t,null,fY.providerName,null,null))e.add(n.object.value);return Array.from(e).sort()}(this.store)})}getTissueBlockResults(t){return xw(this,void 0,void 0,function*(){return t=Object.assign(Object.assign({},t),{hasSpatialEntity:!0}),[...this.getIds(t)].map(t=>function(t,e){const n={"@id":e,"@type":"Sample",sections:[],datasets:[]};for(const[i,r]of cY(t,e,nX))if("sections"===i){const e=sX(t,r);n[i].push(e)}else if("datasets"===i){const e=rX(t,r);n[i].push(e)}else n[i]="donor"===i?iX(t,r):r;return n}(this.store,t))})}getAggregateResults(t){return xw(this,void 0,void 0,function*(){return function(t,e){const n=BY(e,t,fY.donor.id),i=BY(e,n,fY.providerUUID.id),r=new Set;for(const a of t)for(const t of(0,cq.readQuads)(e,a,fY.spatialEntity,null,null))r.add(t.subject.id);const s=BY(e,r,fY.sections.id),o=new Set([...BY(e,r,fY.datasets.id),...BY(e,s,fY.datasets.id)]);return Object.entries({"Tissue Data Providers":i.size,Donors:n.size,"Tissue Blocks":r.size,"Tissue Sections":s.size,"Tissue Datasets":o.size}).map(([t,e])=>({label:t,count:e}))}(this.getIds(t),this.store)})}getOntologyTermOccurences(t){return xw(this,void 0,void 0,function*(){return function(t,e){const n={};return qY(t,e).forEach((t,e)=>{n[e]=t.size}),n}(this.getIds(t),this.store)})}getCellTypeTermOccurences(t){return xw(this,void 0,void 0,function*(){return function(t,e){var n,i;const r=qY(t,e),s=new Map;for(const a of r.keys()){const t=r.get(a);for(const n of(0,cq.readQuads)(e,null,gY.asctb.located_in,a,null)){const e=n.subject.id;if(s.has(e)){const n=s.get(e);t.forEach(t=>n.add(t))}else s.set(e,new Set(t))}}const o={};return s.forEach((t,e)=>{o[e]=t.size}),o[vY.cell.id]=null!==(i=null===(n=r.get(vY.body.id))||void 0===n?void 0:n.size)&&void 0!==i?i:0,o}(this.getIds(t),this.store)})}getOntologyTreeModel(){return xw(this,void 0,void 0,function*(){return QY(this.store)})}getCellTypeTreeModel(){return xw(this,void 0,void 0,function*(){return function(t){return XY(t,vY.cell.id,"cell",gY.asctb.ct_is_a.id)}(this.store)})}getReferenceOrgans(){return xw(this,void 0,void 0,function*(){return this.scene.getReferenceOrgans()})}getScene(t){return xw(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getScene(t)})}getReferenceOrganScene(t,e){return xw(this,void 0,void 0,function*(){return this.graph.createGraph(),this.scene.getReferenceOrganScene(t,e)})}getSpatialPlacement(t,e){return xw(this,void 0,void 0,function*(){return this.graph.getSpatialPlacement(t,e)})}}const hX=[240,183,98,255],dX=[213,0,0,255],pX=[29,204,101,255],fX=[41,121,255,255],gX=[204,204,204,255],mX=[213,0,0,255],bX=[29,204,101,255],yX=[41,121,255,255];function vX(t,e=!1){const n=t.x_dimension/1e3,i=t.y_dimension/1e3,r=t.z_dimension/1e3,s=.05*Math.max(n,i,r),o=.1*s;return[{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginSphere","@type":"SpatialSceneNode",unpickable:!0,geometry:"sphere",transformMatrix:new VT(VT.IDENTITY).scale(s),color:gX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginX","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([n/2,0,0]).rotateZ(ZS(-90)).scale([o,n,o]),color:mX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([n,0,0]).rotateZ(ZS(-90)).scale([s,3*s,s]),color:mX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new VT(VT.IDENTITY).translate([2*-s,0,0]).scale(s),color:mX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new VT(VT.IDENTITY).translate([n+2*s,0,0]).scale(s),color:mX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginY","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([0,i/2,0]).scale([o,i,o]),color:bX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([0,i,0]).scale([s,3*s,s]),color:bX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new VT(VT.IDENTITY).translate([1.5*s,1.5*s,0]).scale(s),color:bX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new VT(VT.IDENTITY).translate([0,i+2*s,0]).scale(s),color:bX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r/2]).rotateX(ZS(90)).scale([o,r,o]),color:yX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r]).rotateX(ZS(90)).scale([s,3*s,s]),color:yX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new VT(VT.IDENTITY).translate([1.5*s,1.5*-s,0]).scale(s),color:yX},{"@id":"http://purl.org/ccf/latest/ccf.owl#OriginZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new VT(VT.IDENTITY).translate([0,0,r+2*s]).scale(s),color:yX}].filter(t=>e&&"text"===t.geometry&&t.text||!t.text)}const _X=Symbol("Comlink.proxy"),wX=Symbol("Comlink.endpoint"),xX=Symbol("Comlink.releaseProxy"),SX=Symbol("Comlink.thrown"),CX=t=>"object"==typeof t&&null!==t||"function"==typeof t,EX=new Map([["proxy",{canHandle:t=>CX(t)&&t[_X],serialize(t){const{port1:e,port2:n}=new MessageChannel;return OX(t,e),[n,[n]]},deserialize:t=>(t.start(),kX(t))}],["throw",{canHandle:t=>CX(t)&&SX in t,serialize({value:t}){let e;return e=t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[e,[]]},deserialize(t){throw t.isError?Object.assign(new Error(t.value.message),t.value):t.value}}]]);function OX(t,e=self){e.addEventListener("message",function n(i){if(!i||!i.data)return;const{id:r,type:s,path:o}=Object.assign({path:[]},i.data),a=(i.data.argumentList||[]).map(NX);let l;try{const e=o.slice(0,-1).reduce((t,e)=>t[e],t),n=o.reduce((t,e)=>t[e],t);switch(s){case"GET":l=n;break;case"SET":e[o.slice(-1)[0]]=NX(i.data.value),l=!0;break;case"APPLY":l=n.apply(e,a);break;case"CONSTRUCT":l=function(t){return Object.assign(t,{[_X]:!0})}(new n(...a));break;case"ENDPOINT":{const{port1:e,port2:n}=new MessageChannel;OX(t,n),l=function(t,e){return DX.set(t,e),t}(e,[e])}break;case"RELEASE":l=void 0;break;default:return}}catch(c){l={value:c,[SX]:0}}Promise.resolve(l).catch(t=>({value:t,[SX]:0})).then(t=>{const[i,o]=RX(t);e.postMessage(Object.assign(Object.assign({},i),{id:r}),o),"RELEASE"===s&&(e.removeEventListener("message",n),TX(e))})}),e.start&&e.start()}function TX(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function kX(t,e){return AX(t,[],e)}function PX(t){if(t)throw new Error("Proxy has been released and is not useable")}function AX(t,e=[],n=function(){}){let i=!1;const r=new Proxy(n,{get(n,s){if(PX(i),s===xX)return()=>LX(t,{type:"RELEASE",path:e.map(t=>t.toString())}).then(()=>{TX(t),i=!0});if("then"===s){if(0===e.length)return{then:()=>r};const n=LX(t,{type:"GET",path:e.map(t=>t.toString())}).then(NX);return n.then.bind(n)}return AX(t,[...e,s])},set(n,r,s){PX(i);const[o,a]=RX(s);return LX(t,{type:"SET",path:[...e,r].map(t=>t.toString()),value:o},a).then(NX)},apply(n,r,s){PX(i);const o=e[e.length-1];if(o===wX)return LX(t,{type:"ENDPOINT"}).then(NX);if("bind"===o)return AX(t,e.slice(0,-1));const[a,l]=IX(s);return LX(t,{type:"APPLY",path:e.map(t=>t.toString()),argumentList:a},l).then(NX)},construct(n,r){PX(i);const[s,o]=IX(r);return LX(t,{type:"CONSTRUCT",path:e.map(t=>t.toString()),argumentList:s},o).then(NX)}});return r}function MX(t){return Array.prototype.concat.apply([],t)}function IX(t){const e=t.map(RX);return[e.map(t=>t[0]),MX(e.map(t=>t[1]))]}const DX=new WeakMap;function RX(t){for(const[e,n]of EX)if(n.canHandle(t)){const[i,r]=n.serialize(t);return[{type:"HANDLER",name:e,value:i},r]}return[{type:"RAW",value:t},DX.get(t)||[]]}function NX(t){switch(t.type){case"HANDLER":return EX.get(t.name).deserialize(t.value);case"RAW":return t.value}}function LX(t,e,n){return new Promise(i=>{const r=new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-");t.addEventListener("message",function e(n){!n.data||!n.data.id||n.data.id!==r||(t.removeEventListener("message",e),i(n.data))}),t.start&&t.start(),t.postMessage(Object.assign({id:r},e),n)})}class jX extends Error{constructor(){super(...arguments),this.message="NgxsDispatchPluginModule is not imported"}}let FX=null;function BX(t){FX=t}function VX(){if(null===FX)throw new jX;return FX.get(qz)}function zX(){if(null===FX)throw new jX;return FX.get(Tu)}function UX(t,e,n){e.run(()=>t.dispatch(n))}function HX(t,e,n,i){return ha(n)?function(t,e,n){return n.then(n=>(UX(t,e,n),n))}(t,e,n):Gd(n)?function(t,e,n,i){return null!==i&&(n=n.pipe(rp(i.cancelUncompleted$))),n.subscribe({next:n=>UX(t,e,n)}),n}(t,e,n,i):(UX(t,e,n),n)}class $X{constructor(){this.cancelUncompleted$=new A}cancelPreviousAction(){this.cancelUncompleted$.next()}}const GX="\u0275fac",WX=Symbol("InjectorInstance"),qX=Symbol("FactoryHasBeenDecorated");function YX(t,e){const n=t[WX];return n?n.get(e):null}const XX={cancelUncompleted:!1};function KX(t=XX){return(e,n,i)=>{let r;const s=function(t){return t?new $X:null}(t.cancelUncompleted);function o(){null!==s&&s.cancelPreviousAction();const t=YX(this,qz)||VX(),e=YX(this,Tu)||zX(),n=r.apply(this,arguments);return e.runOutsideAngular(()=>HX(t,e,n,s))}"function"==typeof(null==i?void 0:i.value)?(r=i.value,i.value=o):Object.defineProperty(e,n,{set:t=>r=t,get:()=>o}),function(t){if(qX in t.constructor.prototype)return;const e=t.constructor;"function"==typeof e[GX]&&function(t){const e=t[GX];if("function"!=typeof e)return;const n=t.\u0275prov||t.\u0275pipe||t.\u0275cmp||t.\u0275dir,i=()=>{const t=e();return t[WX]=ea(_o),t};n&&(n.factory=i),Object.defineProperty(t,GX,{get:()=>i})}(e),t.constructor.prototype[qX]=!0}(e)}}let QX=(()=>{class t{constructor(t){BX(t.injector),t.onDestroy(()=>{BX(null)})}static forRoot(){return{ngModule:t}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hc))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),ZX=(()=>{class t{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(t){this._vertical=kd(t)}get inset(){return this._inset}set inset(t){this._inset=kd(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(t,e){2&t&&(Ko("aria-orientation",e.vertical?"vertical":"horizontal"),ja("mat-divider-vertical",e.vertical)("mat-divider-horizontal",!e.vertical)("mat-divider-inset",e.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(t,e){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),t})(),JX=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();const tK=["*"],eK=[[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]],[["","mat-line",""],["","matLine",""]],"*"],nK=["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]","[mat-line], [matLine]","*"],iK=qy(Xy(class{})),rK=Xy(class{}),sK=new oi("MatList"),oK=new oi("MatNavList");let aK=(()=>{class t extends iK{constructor(t){super(),this._elementRef=t,this._stateChanges=new A,"action-list"===this._getListType()&&t.nativeElement.classList.add("mat-action-list")}_getListType(){const t=this._elementRef.nativeElement.nodeName.toLowerCase();return"mat-list"===t?"list":"mat-action-list"===t?"action-list":null}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al))},t.\u0275cmp=Jt({type:t,selectors:[["mat-list"],["mat-action-list"]],hostAttrs:[1,"mat-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matList"],features:[xl([{provide:sK,useExisting:t}]),jo,ye],ngContentSelectors:tK,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:['.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n'],encapsulation:2,changeDetection:0}),t})(),lK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-list-avatar",""],["","matListAvatar",""]],hostAttrs:[1,"mat-list-avatar"]}),t})(),cK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["","mat-list-icon",""],["","matListIcon",""]],hostAttrs:[1,"mat-list-icon"]}),t})(),uK=(()=>{class t extends rK{constructor(t,e,n,i){super(),this._element=t,this._isInteractiveList=!1,this._destroyed=new A,this._disabled=!1,this._isInteractiveList=!!(n||i&&"action-list"===i._getListType()),this._list=n||i;const r=this._getHostElement();"button"===r.nodeName.toLowerCase()&&!r.hasAttribute("type")&&r.setAttribute("type","button"),this._list&&this._list._stateChanges.pipe(rp(this._destroyed)).subscribe(()=>{e.markForCheck()})}get disabled(){return this._disabled||!(!this._list||!this._list.disabled)}set disabled(t){this._disabled=kd(t)}ngAfterContentInit(){!function(t,e,n="mat"){t.changes.pipe(lp(t)).subscribe(({length:t})=>{tv(e,`${n}-2-line`,!1),tv(e,`${n}-3-line`,!1),tv(e,`${n}-multi-line`,!1),2===t||3===t?tv(e,`${n}-${t}-line`,!0):t>3&&tv(e,`${n}-multi-line`,!0)})}(this._lines,this._element)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_isRippleDisabled(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)}_getHostElement(){return this._element.nativeElement}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(oK,8),ea(sK,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,lK,5),Jc(n,cK,5),Jc(n,Jy,5)),2&t){let t;Qc(t=tu())&&(e._avatar=t.first),Qc(t=tu())&&(e._icon=t.first),Qc(t=tu())&&(e._lines=t)}},hostAttrs:[1,"mat-list-item","mat-focus-indicator"],hostVars:6,hostBindings:function(t,e){2&t&&ja("mat-list-item-disabled",e.disabled)("mat-list-item-avatar",e._avatar||e._icon)("mat-list-item-with-avatar",e._avatar||e._icon)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matListItem"],features:[jo],ngContentSelectors:nK,decls:6,vars:2,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-list-text"]],template:function(t,e){1&t&&(wa(eK),ra(0,"div",0),oa(1,"div",1),xa(2),ra(3,"div",2),xa(4,1),sa(),xa(5,2),sa()),2&t&&(ws(1),na("matRippleTrigger",e._getHostElement())("matRippleDisabled",e._isRippleDisabled()))},directives:[cv],encapsulation:2,changeDetection:0}),t})(),hK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[ev,uv,Wy,dv,Wh],ev,Wy,dv,JX]}),t})();const dK=["input"],pK=function(t){return{enterDuration:t}},fK=["*"],gK=new oi("mat-checkbox-default-options",{providedIn:"root",factory:mK});function mK(){return{color:"accent",clickAction:"check-indeterminate"}}let bK=0;const yK=mK(),vK={provide:aU,useExisting:pt(()=>xK),multi:!0};class _K{}const wK=Ky(Yy(Xy(qy(class{constructor(t){this._elementRef=t}}))));let xK=(()=>{class t extends wK{constructor(t,e,n,i,r,s,o){super(t),this._changeDetectorRef=e,this._focusMonitor=n,this._ngZone=i,this._animationMode=s,this._options=o,this.ariaLabel="",this.ariaLabelledby=null,this._uniqueId="mat-checkbox-"+ ++bK,this.id=this._uniqueId,this.labelPosition="after",this.name=null,this.change=new Bc,this.indeterminateChange=new Bc,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||yK,this.color=this.defaultColor=this._options.color||yK.color,this.tabIndex=parseInt(r)||0}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(t){this._required=kd(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{t||Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}ngAfterViewChecked(){}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}get checked(){return this._checked}set checked(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){const e=kd(t);e!==this.disabled&&(this._disabled=e,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(t){const e=t!=this._indeterminate;this._indeterminate=kd(t),e&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(t){this.checked=!!t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(t){let e=this._currentCheckState,n=this._elementRef.nativeElement;if(e!==t&&(this._currentAnimationClass.length>0&&n.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(e,t),this._currentCheckState=t,this._currentAnimationClass.length>0)){n.classList.add(this._currentAnimationClass);const t=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{n.classList.remove(t)},1e3)})}}_emitChangeEvent(){const t=new _K;t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked}_onInputClick(t){var e;const n=null===(e=this._options)||void 0===e?void 0:e.clickAction;t.stopPropagation(),this.disabled||"noop"===n?!this.disabled&&"noop"===n&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==n&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}focus(t,e){t?this._focusMonitor.focusVia(this._inputElement,t,e):this._inputElement.nativeElement.focus(e)}_onInteractionEvent(t){t.stopPropagation()}_getAnimationClassForCheckStateTransition(t,e){if("NoopAnimations"===this._animationMode)return"";let n="";switch(t){case 0:if(1===e)n="unchecked-checked";else{if(3!=e)return"";n="unchecked-indeterminate"}break;case 2:n=1===e?"unchecked-checked":"unchecked-indeterminate";break;case 1:n=2===e?"checked-unchecked":"checked-indeterminate";break;case 3:n=1===e?"indeterminate-checked":"indeterminate-unchecked"}return`mat-checkbox-anim-${n}`}_syncIndeterminate(t){const e=this._inputElement;e&&(e.nativeElement.indeterminate=t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(nc),ea(Ug),ea(Tu),ii("tabindex"),ea(Ny,8),ea(gK,8))},t.\u0275cmp=Jt({type:t,selectors:[["mat-checkbox"]],viewQuery:function(t,e){if(1&t&&(Zc(dK,5),Zc(cv,5)),2&t){let t;Qc(t=tu())&&(e._inputElement=t.first),Qc(t=tu())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(t,e){2&t&&(rl("id",e.id),Ko("tabindex",null),ja("mat-checkbox-indeterminate",e.indeterminate)("mat-checkbox-checked",e.checked)("mat-checkbox-disabled",e.disabled)("mat-checkbox-label-before","before"==e.labelPosition)("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[xl([vK]),jo],ngContentSelectors:fK,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(t,e){if(1&t&&(wa(),ra(0,"label",0,1),ra(2,"span",2),ra(3,"input",3,4),fa("change",function(t){return e._onInteractionEvent(t)})("click",function(t){return e._onInputClick(t)}),sa(),ra(5,"span",5),oa(6,"span",6),sa(),oa(7,"span",7),ra(8,"span",8),vn(),ra(9,"svg",9),oa(10,"path",10),sa(),Ve.lFrame.currentNamespace=null,oa(11,"span",11),sa(),sa(),ra(12,"span",12,13),fa("cdkObserveContent",function(){return e._onLabelTextChange()}),ra(14,"span",14),Ja(15,"\xa0"),sa(),xa(16),sa(),sa()),2&t){const t=ta(1),n=ta(13);Ko("for",e.inputId),ws(2),ja("mat-checkbox-inner-container-no-side-margin",!n.textContent||!n.textContent.trim()),ws(1),na("id",e.inputId)("required",e.required)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex),Ko("value",e.value)("name",e.name)("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby)("aria-checked",e._getAriaChecked())("aria-describedby",e.ariaDescribedby),ws(2),na("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",Pc(19,pK,"NoopAnimations"===e._animationMode?0:150))}},directives:[cv,pg],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-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 mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),t})(),SK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})(),CK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[uv,Wy,fg,SK],Wy,SK]}),t})();const EK=["bodyCanvas"];let OK=(()=>{class t{constructor(){this.clsName="ccf-body-ui",this.rotationChange=new Bc,this.nodeDrag=new Bc,this.nodeClick=new Bc,this.nodeHoverStart=new Bc,this.nodeHoverStop=new Bc,this.initialized=new Bc,this._interactive=!0,this._rotation=0,this._rotationX=0,this._zoom=9.5,this._target=[0,0,0],this._scene=[],this.subscriptions=[]}get scene(){return this._scene}set scene(t){var e;this._scene=t,null===(e=this.bodyUI)||void 0===e||e.setScene(t)}get rotation(){return this._rotation}set rotation(t){var e;this._rotation=t,null===(e=this.bodyUI)||void 0===e||e.setRotation(t)}get rotationX(){return this._rotationX}set rotationX(t){var e;this._rotationX=t,null===(e=this.bodyUI)||void 0===e||e.setRotationX(t)}get zoom(){return this._zoom}set zoom(t){var e;this._zoom=t,null===(e=this.bodyUI)||void 0===e||e.setZoom(t)}get target(){return this._target}set target(t){var e;this._target=t,null===(e=this.bodyUI)||void 0===e||e.setTarget(t)}get bounds(){return this._bounds}set bounds(t){this._bounds=t,this.zoomToBounds(t)}get camera(){return this._camera}set camera(t){this._camera=t}get interactive(){return this._interactive}set interactive(t){this._interactive=t,this.bodyUI&&this.recreateBodyUI()}ngAfterViewInit(){this.setupBodyUI()}zoomToBounds(t,e={x:48,y:48}){if(this.bodyCanvas){const{width:n,height:i}=this.bodyCanvas.nativeElement,r=window.devicePixelRatio,s=Math.min(Math.log2((n-e.x)/r/t.x),Math.log2((i-e.y)/r/t.y));this.zoom=s}}setupBodyUI(){var t;return xw(this,void 0,void 0,function*(){const e=this.bodyCanvas.nativeElement,n=new BV({id:"body-ui",canvas:e,zoom:this.zoom,target:[0,0,0],rotation:0,minRotationX:-75,maxRotationX:75,interactive:this.interactive,camera:this.camera});e.addEventListener("contextmenu",t=>t.preventDefault()),yield n.initialize(),this.bodyUI=n,window.bodyUI=n,(null===(t=this.scene)||void 0===t?void 0:t.length)>0&&this.bodyUI.setScene(this.scene),this.bounds&&this.zoomToBounds(this.bounds),this.target&&this.bodyUI.setTarget(this.target),this.subscriptions=[this.bodyUI.sceneRotation$.subscribe(t=>this.rotationChange.next(t)),this.bodyUI.nodeDrag$.subscribe(t=>this.nodeDrag.emit(t)),this.bodyUI.nodeClick$.subscribe(t=>this.nodeClick.emit(t)),this.bodyUI.nodeHoverStart$.subscribe(t=>this.nodeHoverStart.emit(t)),this.bodyUI.nodeHoverStop$.subscribe(t=>this.nodeHoverStop.emit(t))],this.initialized.emit()})}recreateBodyUI(){this.clearSubscriptions(),this.bodyUI.finalize(),this.setupBodyUI()}clearSubscriptions(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions=[]}ngOnDestroy(){this.clearSubscriptions()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-body-ui"]],viewQuery:function(t,e){if(1&t&&Zc(EK,5,Al),2&t){let t;Qc(t=tu())&&(e.bodyCanvas=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{scene:"scene",rotation:"rotation",rotationX:"rotationX",zoom:"zoom",target:"target",bounds:"bounds",camera:"camera",interactive:"interactive"},outputs:{rotationChange:"rotationChange",nodeDrag:"nodeDrag",nodeClick:"nodeClick",nodeHoverStart:"nodeHoverStart",nodeHoverStop:"nodeHoverStop",initialized:"initialized"},decls:2,vars:0,consts:[[1,"body-ui"],["bodyCanvas",""]],template:function(t,e){1&t&&oa(0,"canvas",0,1)},styles:["[_nghost-%COMP%]{height:100%;display:block}[_nghost-%COMP%] .body-ui[_ngcontent-%COMP%]{position:relative!important;background-color:#000;border-radius:.5rem}"]}),t})(),TK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();new oi("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});const kK=["carouselContainer"],PK=["itemlist"],AK=["itemcontainer"];function MK(t,e){if(1&t){const t=ua();ra(0,"mat-icon",9),fa("touchstart",function(){return $e(t),va().scroll("left")})("touchend",function(){return $e(t),va().stopScroll()})("click",function(){return $e(t),va().shift("left")})("mousedown",function(){return $e(t),va().scroll("left")})("mouseup",function(){return $e(t),va().stopScroll()}),Ja(1,"chevron_left"),sa()}2&t&&ja("disabled",va().onLeft)}function IK(t,e){if(1&t&&(ra(0,"div",15),Ja(1),sa()),2&t){const t=va().$implicit,e=va();ws(1),tl(e.occurenceData[t.id]||0)}}function DK(t,e){if(1&t){const t=ua();ra(0,"div",10),fa("click",function(){const e=$e(t).$implicit;return va().selectOrgan(e)}),oa(1,"mat-icon",11),ra(2,"div",12),ra(3,"div",13),Ja(4),sa(),Jo(5,IK,2,1,"div",14),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ja("disabled",t.disabled)("selected",n.isSelected(t)),ws(1),Sa("svgIcon",t.src),ws(3),tl(t.name),ws(1),na("ngIf",void 0!==t.numResults)}}function RK(t,e){if(1&t){const t=ua();ra(0,"mat-icon",16),fa("touchstart",function(){return $e(t),va().scroll("right")})("touchend",function(){return $e(t),va().stopScroll()})("click",function(){return $e(t),va().shift("right")})("mousedown",function(){return $e(t),va().scroll("right")})("mouseup",function(){return $e(t),va().stopScroll()}),Ja(1,"chevron_right"),sa()}2&t&&ja("disabled",va().onRight)}const NK=[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((t,e)=>t.name.localeCompare(e.name)),LK=NK.filter(t=>!0!==t.disabled);let jK=(()=>{class t{constructor(){this.clsName="ccf-organ-selector",this.multiselect=!1,this.displayErrors=!1,this.organList=LK,this.selectedOrgans=[],this.expanded=!1,this.organsChanged=new Bc,this.onLeft=!0,this.onRight=!1,this.step=72}set occurenceData(t){this._occurenceData=t}get occurenceData(){return this._occurenceData}ngAfterViewInit(){const{carouselContainer:t}=this;this.sensor=new I$.ResizeSensor(t.nativeElement,()=>{this.set()})}ngOnChanges(t){"organList"in t&&this.set()}ngOnDestroy(){this.sensor.detach()}get error(){return!(!this.displayErrors||0===this.selectedOrgans.length)}shift(t){const{itemList:e}=this;let n=parseInt(e.nativeElement.style.left,10)||0;this.onLeft&&"left"===t||this.onRight&&"right"===t||(n="right"===t?n-this.step:n+this.step,e.nativeElement.style.left=n+"px",this.setLeftRight(n))}scroll(t){this.timeoutHandler=setInterval(()=>{this.shift(t)},200)}stopScroll(){this.timeoutHandler&&(clearInterval(this.timeoutHandler),this.timeoutHandler=void 0)}selectOrgan(t){this.selectedOrgans=this.multiselect?this.selectedOrgans.includes(t)?this.selectedOrgans.filter(e=>t!==e):this.selectedOrgans.concat([t]):[t],this.organsChanged.emit(this.selectedOrgans)}isSelected(t){return!!this.selectedOrgans.includes(t)}set(){const{itemList:t,itemContainer:e,carouselContainer:n}=this,i=parseInt(t.nativeElement.style.left,10)||0;if(t.nativeElement.offsetWidth>=this.organList.length*this.step)t.nativeElement.style.left="0px",this.onLeft=!0,this.onRight=!0;else{this.setLeftRight(i);const t=this.step*Math.floor(n.nativeElement.offsetWidth/this.step)-64;e.nativeElement.style.width=`${t}px`}}setWidth(){const{itemContainer:t,carouselContainer:e}=this,n=this.step*Math.floor(e.nativeElement.offsetWidth/this.step)-64;t.nativeElement.style.width=`${n}px`}setLeftRight(t){const{itemContainer:e}=this;this.onLeft=0===t,this.onRight=t<=e.nativeElement.offsetWidth-this.organList.length*this.step}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-organ-selector"]],viewQuery:function(t,e){if(1&t&&(Zc(kK,7),Zc(PK,7),Zc(AK,7)),2&t){let t;Qc(t=tu())&&(e.carouselContainer=t.first),Qc(t=tu())&&(e.itemList=t.first),Qc(t=tu())&&(e.itemContainer=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{multiselect:"multiselect",displayErrors:"displayErrors",organList:"organList",selectedOrgans:"selectedOrgans",expanded:"expanded",occurenceData:"occurenceData"},outputs:{organsChanged:"organsChanged"},features:[ye],decls:9,vars:8,consts:[["matTooltip","Select the organ your tissue block is from.",1,"container",3,"matTooltipDisabled"],["carouselContainer",""],["class","carousel-left-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-item-container"],["itemcontainer",""],[1,"carousel-item-list"],["itemlist",""],["class","carousel-item",3,"disabled","selected","click",4,"ngFor","ngForOf"],["class","carousel-right-icon",3,"disabled","touchstart","touchend","click","mousedown","mouseup",4,"ngIf"],[1,"carousel-left-icon",3,"touchstart","touchend","click","mousedown","mouseup"],[1,"carousel-item",3,"click"],[1,"carousel-icon",3,"svgIcon"],[1,"carousel-text-container"],[1,"carousel-text"],["class","num-results",4,"ngIf"],[1,"num-results"],[1,"carousel-right-icon",3,"touchstart","touchend","click","mousedown","mouseup"]],template:function(t,e){1&t&&(ra(0,"div",0,1),Jo(2,MK,2,2,"mat-icon",2),ra(3,"div",3,4),ra(5,"div",5,6),Jo(7,DK,6,7,"div",7),sa(),sa(),Jo(8,RK,2,2,"mat-icon",8),sa()),2&t&&(ja("expanded",e.expanded)("error",e.error),na("matTooltipDisabled",e.multiselect),ws(2),na("ngIf",!e.expanded),ws(5),na("ngForOf",e.organList),ws(1),na("ngIf",!e.expanded))},directives:[gw,Ah,kh,T_],styles:["[_nghost-%COMP%] .container[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;justify-content:space-between}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{font-size:2rem;transform:scaleY(1.2);height:2rem;width:2rem;cursor:pointer}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon.disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon.disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-left-icon[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-right-icon[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{overflow:hidden;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{position:relative;left:0rem;display:flex;transition:all .2s linear;height:100%}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer;padding:.25rem .5rem;height:5rem;transition:.6s}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-icon[_ngcontent-%COMP%]{text-align:center;width:3.5rem;height:2rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:4rem;justify-content:center;text-align:center}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .carousel-text[_ngcontent-%COMP%]{display:flex;justify-content:center;font-size:.625rem;max-width:3.5rem;line-height:.8rem;min-height:1.6rem}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%] .carousel-text-container[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{font-size:.6875rem;line-height:1.5}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item.disabled[_ngcontent-%COMP%]{pointer-events:none}[_nghost-%COMP%] .error-message[_ngcontent-%COMP%]{color:red;height:1rem}[_nghost-%COMP%] .error-message.hidden[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%]{width:100%!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%]{flex-wrap:wrap;overflow:auto;left:0rem!important}[_nghost-%COMP%] .expanded[_ngcontent-%COMP%] .carousel-item-container[_ngcontent-%COMP%] .carousel-item-list[_ngcontent-%COMP%] .carousel-item[_ngcontent-%COMP%]{height:5rem}"]}),t})(),FK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,yw]]}),t})(),BK=(()=>{class t{constructor(){this.clsName="ccf-opacity-slider",this.opacity=20,this.visible=!0,this.opacityChange=new Bc,this.visibilityToggle=new Bc,this.opacityReset=new Bc}ngOnInit(){this.prevOpacity=this.visible?0:20}reset(){this.prevOpacity=20}changeOpacity(t){this.opacity=parseInt(t,10),this.opacityChange.emit(this.opacity)}toggleVisibility(){const t=this.opacity;this.opacity=this.prevOpacity,this.prevOpacity=t,this.visibilityToggle.emit(),this.opacityChange.emit(this.opacity)}resetOpacity(){this.prevOpacity=0,this.opacityReset.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-opacity-slider"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{opacity:"opacity",visible:"visible"},outputs:{opacityChange:"opacityChange",visibilityToggle:"visibilityToggle",opacityReset:"opacityReset"},decls:10,vars:17,consts:[[1,"slider-box"],[1,"slider-and-label"],[1,"slider",3,"step","min","max","value","input"],[1,"opacity-value"],[1,"icons"],["matRipple","","svgIcon","app:visibility_off",1,"visibility","icon","invisible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","","svgIcon","app:visibility_on",1,"visibility","icon","visible",3,"matRippleCentered","matRippleUnbounded","click"],["matRipple","",1,"icon","reset",3,"matRippleCentered","matRippleUnbounded","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"mat-slider",2),fa("input",function(t){return e.changeOpacity(t.value)}),sa(),ra(3,"span",3),Ja(4),sa(),sa(),ra(5,"div",4),ra(6,"mat-icon",5),fa("click",function(){return e.toggleVisibility()}),sa(),ra(7,"mat-icon",6),fa("click",function(){return e.toggleVisibility()}),sa(),ra(8,"mat-icon",7),fa("click",function(){return e.resetOpacity()}),Ja(9,"refresh"),sa(),sa(),sa()),2&t&&(ws(2),ja("disabled",!e.visible),na("step",1)("min",0)("max",100)("value",e.opacity),ws(2),el("",e.opacity,"%"),ws(2),ja("hidden",e.visible),na("matRippleCentered",!0)("matRippleUnbounded",!0),ws(1),ja("hidden",!e.visible),na("matRippleCentered",!0)("matRippleUnbounded",!0),ws(1),na("matRippleCentered",!0)("matRippleUnbounded",!0))},directives:[F$,T_,cv],styles:["[_nghost-%COMP%]{height:2.25rem;display:flex;align-items:center;justify-content:space-between;border-radius:.1875rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%]{width:60%;display:flex;align-items:center;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .mat-slider-wrapper{top:1.125rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .slider.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:not-allowed}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .slider-and-label[_ngcontent-%COMP%] .opacity-value[_ngcontent-%COMP%]{width:1.5rem;margin-left:.5rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{display:flex;cursor:pointer!important}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .reset[_ngcontent-%COMP%]{margin-right:1rem;padding:.25rem;cursor:pointer;transition:.6s;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility[_ngcontent-%COMP%]{transition:.6s;cursor:pointer;padding:.25rem;border-radius:.25rem}[_nghost-%COMP%] .slider-box[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .visibility.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})(),VK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,U$,uv]]}),t})();function zK(t,e){if(1&t&&(ra(0,"div",16),oa(1,"youtube-player",17),sa()),2&t){const t=va(3);ws(1),Sa("videoId",t.videoID)}}function UK(t,e){if(1&t&&(ra(0,"mat-expansion-panel",11),ra(1,"mat-expansion-panel-header"),ra(2,"h2",12),Ja(3),sa(),sa(),ra(4,"div",13),oa(5,"markdown",14),Jo(6,zK,2,1,"div",15),sa(),sa()),2&t){const t=va(),e=t.index,n=t.$implicit;na("expanded",0===e),ws(3),tl(n.title),ws(2),ja("first",0===e),na("data",n.content),ws(1),na("ngIf",0===e)}}function HK(t,e){if(1&t&&(ra(0,"div",9),Jo(1,UK,7,6,"mat-expansion-panel",10),sa()),2&t){const t=e.$implicit;ws(1),na("ngIf",t)}}let $K=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.documentationContents=e.content||[],this.infoTitle=e.title||"",this.videoID=e.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return t.\u0275fac=function(e){return new(e||t)(ea(X$),ea(Q$))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"h2",4),Ja(5),sa(),ra(6,"div",5),ra(7,"mat-icon",6),fa("click",function(){return e.close()}),Ja(8,"clear"),sa(),sa(),sa(),ra(9,"mat-dialog-content",7),Jo(10,HK,2,1,"div",8),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(5),na("ngForOf",e.documentationContents))},directives:[rG,T_,sG,kh,Ah,CG,TG,NG,WG],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),t})(),GK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,oG,k_,kG,KG,LG.forRoot({})]]}),t})(),WK=(()=>{class t{constructor(t){this.http=t,this.panelContent=new Jf({content:[],infoTitle:"",videoID:""})}updateData(t,e,n){this.http.get(t,{responseType:"text"}).subscribe(t=>{const i={content:this.parseMarkdown(t),infoTitle:n,videoID:e};this.panelContent.next(i)})}parseMarkdown(t){const e=[],n=t.split("# ");for(const i of n)if(i.length){const t=i.includes("\n\n")?"\n\n":"\r\n\r\n",n=i.split(t);e.push({title:n[0],content:n.splice(1).join(t)})}return e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),qK=(()=>{class t{constructor(t,e){this.dialog=t,this.infoButtonService=e,this.infoTitle="",this.subscriptions=new g,this.subscriptions.add(e.panelContent.subscribe(t=>{t.content.length&&this.launchInfoDialog(t)}))}ngOnDestroy(){this.subscriptions.unsubscribe()}launchInfoDialog(t){0==this.dialog.openDialogs.length&&this.dialog.open($K,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoButtonService.updateData(this.documentationUrl,this.videoID,this.infoTitle)}}return t.\u0275fac=function(e){return new(e||t)(ea(nG),ea(WK))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-button"]],inputs:{infoTitle:"infoTitle",videoID:"videoID",documentationUrl:"documentationUrl"},decls:3,vars:0,consts:[[1,"info-button-wrapper"],["aria-hidden","false","aria-label","Page information",1,"ccf-info-button",3,"click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"mat-icon",1),fa("click",function(){return e.onDialogButtonClick()}),Ja(2," info "),sa(),sa())},directives:[T_],styles:[".info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.65rem;transition:.6s}.info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.5rem;vertical-align:sub}"]}),t})(),YK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,GK,k_,d_]]}),t})(),XK=(()=>{class t{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Bc,this.closeClicked=new Bc}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"p",4),Ja(5),sa(),ra(6,"mat-icon",5),fa("click",function(){return e.close()}),Ja(7,"clear"),sa(),sa(),oa(8,"img",6),ra(9,"mat-dialog-content",7),ra(10,"div",8),Ja(11),sa(),ra(12,"a",9),fa("click",function(){return e.onDialogButtonClick()}),sa(),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(3),na("src",e.imageUrl,_r),ws(3),el(" ",e.message,""),ws(1),na("text",e.callToAction))},directives:[rG,T_,QG,sG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),t})(),KK=(()=>{let t=class extends MW{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(IW(),xp(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(T$(...t),Wd(),xp(1))}getOption(...t){const e=this.getPathKey(t);if(this.optionCache.has(e))return this.optionCache.get(e);const n=this.config$.pipe(T$(...t),Wd(),xp(1));return this.optionCache.set(e,n),n}getPathKey(t){return`${t.length}:${t.join(".")}`}};return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),vw([CW()],t.prototype,"config$",null),t=vw([kW(),nU({name:"globalConfig",defaults:null})],t),t})();!function(){const t=localStorage.getItem("ALLOW_TELEMETRY");null===t||t.toLowerCase()}();let QK=(()=>{class t{constructor(t,e){t&&function(t,e){Rd(t,"mousemove").pipe(function(t,e=Xd,n=k$){return i=>i.lift(new P$(t,e,n.leading,n.trailing))}(1e3),D(e=>{const{clientWidth:n,clientHeight:i}=t,{clientX:r,clientY:s}=e;return[r,s,n,i].join("_")})).subscribe(t=>e.event("webpage","mousemove",t))}(t.body,e)}}return t.\u0275fac=function(e){return new(e||t)(Ei(th),Ei(jW))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function ZK(t,e){if(1&t){const t=ua();ra(0,"button",1),fa("click",function(){return $e(t),va().submit(!0)}),Ja(1),sa()}if(2&t){const t=va();ws(1),el(" ","not-set"===t.allowTelemetry?"I understand":"Opt in","\n")}}function JK(t,e){if(1&t){const t=ua();ra(0,"button",1),fa("click",function(){return $e(t),va().submit(!1)}),Ja(1,"Opt out"),sa()}}let tQ=(()=>{class t{constructor(t,e,n){this.consentService=e,this.data=n,this.clsName="ccf-tracking-popup",this.container=t.nativeElement}get allowTelemetry(){return this.consentService.consent}dismiss(){this.data.preClose()}submit(t){this.consentService.setConsent(t?"given":"rescinded"),this.dismiss()}showButton(t){const{allowTelemetry:e}=this;return"not-set"===e||("opt-in"===t?"rescinded"===e:"given"===e)}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(VW),ea(Z_))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tracking-popup"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},decls:4,vars:2,consts:[["mat-button","","color","basic",3,"click",4,"ngIf"],["mat-button","","color","basic",3,"click"]],template:function(t,e){1&t&&(ra(0,"p"),Ja(1,"We log usage to improve this service."),sa(),Jo(2,ZK,2,1,"button",0),Jo(3,JK,2,0,"button",0)),2&t&&(ws(2),na("ngIf",e.showButton("opt-in")),ws(1),na("ngIf",e.showButton("opt-out")))},directives:[Ah,R_],styles:["[_nghost-%COMP%]{display:flex;align-items:center;min-width:400px;color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:9999}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:24px}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin:1rem;min-width:6rem;background-color:#007cbe;display:flex;justify-content:center}"],changeDetection:0}),t})(),eQ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_]]}),t})();class nQ extends class{getDatabaseStatus(){return this.forwardCall("getDatabaseStatus")}getProviderNames(){return this.forwardCall("getProviderNames")}getDatasetTechnologyNames(){return this.forwardCall("getDatasetTechnologyNames")}getOntologyTreeModel(){return this.forwardCall("getOntologyTreeModel")}getCellTypeTreeModel(){return this.forwardCall("getCellTypeTreeModel")}getReferenceOrgans(){return this.forwardCall("getReferenceOrgans")}getTissueBlockResults(t){return this.forwardCall("getTissueBlockResults",t)}getAggregateResults(t){return this.forwardCall("getAggregateResults",t)}getOntologyTermOccurences(t){return this.forwardCall("getOntologyTermOccurences",t)}getCellTypeTermOccurences(t){return this.forwardCall("getCellTypeTermOccurences",t)}getScene(t){return this.forwardCall("getScene",t)}getReferenceOrganScene(t,e){return this.forwardCall("getReferenceOrganScene",t,e)}}{forwardCall(t,...e){return this.impl$.pipe(cp(n=>n[t](...e)))}}let iQ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const rQ=new A,sQ={cacheBusterObserver:rQ},oQ={cacheBusterObserver:rQ,maxCacheCount:4};function aQ(t,e,n){return t?{min:t[0]>e?t[0]:void 0,max:t[1]{var e;return Object.assign(Object.assign({},t),{transformMatrix:new VT(null!==(e=t.transformMatrix)&&void 0!==e?e:[])})})}let cQ=(()=>{class t{constructor(t,e){this.api=t,this.globalConfig=e,e.getOption("hubmapToken").subscribe(rQ)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},t=>t)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},t=>t)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},t=>t)}getTissueBlockResults(t){return this.doRequest(t=>this.api.tissueBlocks(t),t,{},t=>t)}getAggregateResults(t){return this.doRequest(t=>this.api.aggregateResults(t),t)}getOntologyTermOccurences(t){return this.doRequest(t=>this.api.ontologyTermOccurences(t),t)}getCellTypeTermOccurences(t){return this.doRequest(t=>this.api.cellTypeTermOccurences(t),t)}getScene(t){return this.doRequest(t=>this.api.scene(t),t,{},lQ)}getReferenceOrganScene(t,e){return this.doRequest(t=>this.api.referenceOrganScene(t),e,{organIri:t},lQ)}doRequest(t,e,n,i){const{api:r,globalConfig:s}=this,o=Object.assign(Object.assign({},function(t){var e,n;return{age:aQ(null==t?void 0:t.ageRange,1,110),bmi:aQ(null==t?void 0:t.bmiRange,13,83),sex:null===(n=null===(e=null==t?void 0:t.sex)||void 0===e?void 0:e.toLowerCase)||void 0===n?void 0:n.call(e),ontologyTerms:null==t?void 0:t.ontologyTerms,cellTypeTerms:null==t?void 0:t.cellTypeTerms,providers:null==t?void 0:t.tmc,technologies:null==t?void 0:t.technologies,spatial:null==t?void 0:t.spatialSearches}}(e)),n);return z_([s.getOption("remoteApiEndpoint"),s.getOption("hubmapToken")]).pipe(rf(1),eg(([t,e])=>{r.configuration.basePath=t,e&&(o.token=e)}),cp(()=>t(o)),D(t=>i?i(t):t))}}return t.\u0275fac=function(e){return new(e||t)(Ei(eq),Ei(KK))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),vw([QW(sQ)],t.prototype,"getProviderNames",null),vw([QW(sQ)],t.prototype,"getDatasetTechnologyNames",null),vw([QW(sQ)],t.prototype,"getOntologyTreeModel",null),vw([QW(sQ)],t.prototype,"getCellTypeTreeModel",null),vw([QW(sQ)],t.prototype,"getReferenceOrgans",null),vw([QW(oQ)],t.prototype,"getTissueBlockResults",null),vw([QW(oQ)],t.prototype,"getAggregateResults",null),vw([QW(oQ)],t.prototype,"getOntologyTermOccurences",null),vw([QW(oQ)],t.prototype,"getCellTypeTermOccurences",null),vw([QW(oQ)],t.prototype,"getScene",null),vw([QW(oQ)],t.prototype,"getReferenceOrganScene",null),t})(),uQ=(()=>{class t extends nQ{constructor(t){super(),this.impl$=this.database$=t.config$.pipe(t=>t,ep(t=>Object.keys(t).length>0),cp(t=>function(t,e){return new E(n=>{let i,r;try{i=t()}catch(o){return void n.error(o)}try{r=e(i)}catch(o){return void n.error(o)}const s=(r?U(r):pp).subscribe(n);return()=>{s.unsubscribe(),i&&i.unsubscribe()}})}(()=>this.createDatabase(t),e=>this.connectDatabase(e,t))),D(t=>t.database),xp(1))}connectDatabase(t,e){return xw(this,void 0,void 0,function*(){const n=!Vu();return yield t.database.connect(e,n),t})}}return t.\u0275fac=function(e){return new(e||t)(Ei(KK))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),hQ=(()=>{class t extends uQ{createDatabase(t){return{database:new uX(t),unsubscribe:()=>{}}}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),dQ=(()=>{class t extends uQ{createDatabase(t){const e=this.createWorker(t),n=kX(e);return{database:n,unsubscribe:()=>{n[xX](),e.terminate()}}}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),pQ=(()=>{class t extends nQ{constructor(t,e){super(),this.impl$=t.config$.pipe(t=>t,D(t=>this.selectToken(t)),Wd(),D(t=>e.get(t)),xp(1))}}return t.\u0275fac=function(e){return new(e||t)(Ei(KK),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})(),fQ=(()=>{class t{}return t.type="[CallToAction] Learn More",t})(),gQ=(()=>{class t{}return t.type="[CallToAction] Open Dialog",t})(),mQ=(()=>{class t{}return t.type="[CallToAction] Close Dialog",t})();var bQ;class yQ{get length(){var t,e;return null!==(e=null===(t=yQ.storage)||void 0===t?void 0:t.length)&&void 0!==e?e:0}key(t){var e,n;return null!==(n=null===(e=yQ.storage)||void 0===e?void 0:e.key(t))&&void 0!==n?n:null}getItem(t,e){var n,i,r;return null!==(r=null!==(i=null===(n=yQ.storage)||void 0===n?void 0:n.getItem(t))&&void 0!==i?i:e)&&void 0!==r?r:null}setItem(t,e){var n;try{return null===(n=yQ.storage)||void 0===n||n.setItem(t,e),!0}catch(i){return!1}}removeItem(t){var e;null===(e=yQ.storage)||void 0===e||e.removeItem(t)}clear(){var t;null===(t=yQ.storage)||void 0===t||t.clear()}}yQ.storage=(()=>{let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),t}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length?t:void 0}})(),yQ.\u0275fac=function(t){return new(t||yQ)},yQ.\u0275prov=xt({token:yQ,factory:yQ.\u0275fac,providedIn:"root"});const vQ="callToActionPopupShown";let _Q=bQ=class{constructor(t,e,n,i,r){this.dialog=t,this.ga=e,this.storage=n,this.infoService=i,this.http=r}static ctaDatePassed(t,e=Date.now){return+e()>+new Date(t)}ngxsOnInit(t){const{expirationDate:e,popupShown:n}=t.getState(),i=this.storage.getItem(vQ,`${n}`),r=bQ.ctaDatePassed(e);"true"!==i&&!r&&t.dispatch(new gQ)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(D(t=>this.infoService.parseMarkdown(t)))}launchLearnMore(t){this.dialog.open($K,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:t,videoID:"UfxMpzatowE"}})}learnMore(t){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(eg(t=>this.launchLearnMore(t)))}open(t){this.dialog.open(xQ,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(vQ,"true"),t.patchState({popupShown:!0})}close(t){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};_Q.\u0275fac=function(t){return new(t||_Q)(Ei(nG),Ei(jW),Ei(yQ),Ei(WK),Ei(Jv))},_Q.\u0275prov=xt({token:_Q,factory:_Q.\u0275fac}),vw([eU(fQ)],_Q.prototype,"learnMore",null),vw([eU(gQ)],_Q.prototype,"open",null),vw([eU(mQ)],_Q.prototype,"close",null),_Q=bQ=vw([nU({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],_Q);let wQ=(()=>{class t{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}return vw([rU([_Q])],t,"title",null),vw([rU([_Q])],t,"message",null),vw([rU([_Q])],t,"callToAction",null),vw([rU([_Q])],t,"imageUrl",null),vw([rU([_Q])],t,"expirationDate",null),vw([rU([_Q])],t,"popupShown",null),t})(),xQ=(()=>{class t{constructor(){this.close=()=>new mQ,this.learnMore=()=>new fQ}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-call-to-action",0),fa("callToActionClicked",function(){return e.learnMore()})("closeClicked",function(){return e.close()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),sa()),2&t&&na("infoTitle",Rc(1,4,e.title$))("message",Rc(2,6,e.message$))("callToAction",Rc(3,8,e.callToAction$))("imageUrl",Rc(4,10,e.imageUrl$))},directives:[XK],pipes:[$h],styles:[""],changeDetection:0}),vw([iU(wQ.title)],t.prototype,"title$",void 0),vw([iU(wQ.message)],t.prototype,"message$",void 0),vw([iU(wQ.callToAction)],t.prototype,"callToAction$",void 0),vw([iU(wQ.imageUrl)],t.prototype,"imageUrl$",void 0),vw([KX()],t.prototype,"close",void 0),vw([KX()],t.prototype,"learnMore",void 0),t})();function SQ(t,e){if(1&t&&(ra(0,"div",3),Ja(1),sa()),2&t){const t=va();ws(1),el(" ",t.label,"\n")}}function CQ(t,e){if(1&t){const t=ua();ra(0,"mat-list-item",4),ra(1,"div",5),ra(2,"mat-checkbox",6),fa("change",function(e){const n=$e(t).index;return va().updateItemSelection(n,e.checked)}),Ja(3),sa(),oa(4,"div",7),ra(5,"button",8),fa("click",function(){const e=$e(t).index;return va().removeItem(e)}),ra(6,"mat-icon"),Ja(7,"delete_outlined"),sa(),sa(),sa(),sa()}if(2&t){const t=e.$implicit;ws(2),na("checked",t.selected),ws(1),el(" ",t.description," ")}}let EQ=(()=>{class t{constructor(){this.clsName="ccf-spatial-search-list",this.label="",this.items=[],this.selectionChanged=new Bc,this.itemRemoved=new Bc}itemId(t,e){return e.description}updateItemSelection(t,e){const n=this.items=[...this.items];n[t]=Object.assign(Object.assign({},n[t]),{selected:e});const i=n.filter(t=>t.selected);this.selectionChanged.emit(i)}removeItem(t){const e=this.items=[...this.items],[n]=e.splice(t,1);this.itemRemoved.emit(n)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{label:"label",items:"items"},outputs:{selectionChanged:"selectionChanged",itemRemoved:"itemRemoved"},decls:3,vars:3,consts:[["class","label",4,"ngIf"],[1,"list"],["class","item",4,"ngFor","ngForOf","ngForTrackBy"],[1,"label"],[1,"item"],[1,"item-content"],["labelPosition","after",1,"description",3,"checked","change"],[1,"filler"],["mat-icon-button","",1,"delete",3,"click"]],template:function(t,e){1&t&&(Jo(0,SQ,2,1,"div",0),ra(1,"mat-list",1),Jo(2,CQ,8,2,"mat-list-item",2),sa()),2&t&&(na("ngIf",e.label),ws(2),na("ngForOf",e.items)("ngForTrackBy",e.itemId))},directives:[Ah,aK,kh,uK,xK,R_,T_],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}[_nghost-%COMP%] .item[_ngcontent-%COMP%]{height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .delete[_ngcontent-%COMP%]{width:2rem;height:2rem;line-height:2rem}[_nghost-%COMP%] .item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1}[_nghost-%COMP%] .item[_ngcontent-%COMP%] > *{padding:0!important}"],changeDetection:0}),t})(),OQ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,CK,k_,hK]]}),t})(),TQ=(()=>{class t{constructor(){this.clsName="ccf-xyz-position",this.x=0,this.y=0,this.z=0,this.format="1.0-2"}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-xyz-position"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{x:"x",y:"y",z:"z"},decls:9,vars:12,consts:[[1,"line"]],template:function(t,e){1&t&&(ra(0,"span",0),Ja(1),Dc(2,"number"),sa(),ra(3,"span",0),Ja(4),Dc(5,"number"),sa(),ra(6,"span",0),Ja(7),Dc(8,"number"),sa()),2&t&&(ws(1),el("X: ",Nc(2,3,e.x,e.format),""),ws(3),el("Y: ",Nc(5,6,e.y,e.format),""),ws(3),el("Z: ",Nc(8,9,e.z,e.format),""))},pipes:[Gh],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .line[_ngcontent-%COMP%]{font-size:1rem;font-weight:400}"],changeDetection:0}),t})(),kQ=(()=>{class t extends Tf{constructor(){super(...arguments),this.attached=!1}setRootElement(t){this.attached&&(this.rootElement.nativeElement.removeChild(this._containerElement),this.attached=!1),this.rootElement=t,this.rootElement.nativeElement.style.display="block",this.rootElement.nativeElement.style.position="contents",this.rootElement.nativeElement.style.height="100%",this.appendToRoot()}_createContainer(){super._createContainer(),this.appendToRoot()}appendToRoot(){!this._containerElement||!this.rootElement||(this.rootElement.nativeElement.appendChild(this._containerElement),this.attached=!0)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const PQ=new oi("Default theme class");let AQ=(()=>{class t{constructor(t){this.defaultTheme=this.theme=null!=t?t:""}static initialize(e){const{injector:n,location:i}=e;n.get(t).initialize(i,n)}getTheme(){return this.theme}setTheme(t){t!==this.theme&&(this.applyThemeClass(this.theme,"remove"),this.applyThemeClass(t),this.theme=t)}resetTheme(){this.setTheme(this.defaultTheme)}initialize(t,e){this.element=t,this.injector=e,this.applyThemeClass(this.getTheme())}applyThemeClass(t,e="add"){var n;const{element:i,injector:r}=this;if(!t||!i||!r)return;const s=r.get(Dl,null);if(!s)return;const o=i.nativeElement,a=null===(n=r.get(Tf,null))||void 0===n?void 0:n.getContainerElement(),l="add"===e?"addClass":"removeClass";s[l](o,t),a&&s[l](a,t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(PQ,8))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const MQ={initialConfig:{},parse:{},rename:{}};class IQ{constructor(t,e){this.configState=t,this.storedChanges={},this.options=Object.assign(Object.assign({},MQ),e)}addChanges(t){this.storedChanges=Object.assign(Object.assign({},this.storedChanges),t)}applyChanges(t,e={}){void 0===t&&(t=this.storedChanges,this.storedChanges={});const{configState:n,options:{initialConfig:i}}=this,r=n.snapshot,s=Object.assign(Object.assign(Object.assign({},i),r),e);for(const[o,a]of Object.entries(t))this.processChange(o,a,s);n.setConfig(s)}processChange(t,e,n){var i,r;const{options:{parse:s,rename:o}}=this,a=null!==(i=o[t])&&void 0!==i?i:t,l=e.currentValue,c=null!==(r=s[t])&&void 0!==r?r:s[a];if(null==l)delete n[a];else if(c)try{n[a]=c(l)}catch(u){console.warn(`Failed to parse ${t} = ${l}`,u.message)}else n[a]=l}}let DQ=(()=>{class t{constructor(t,e,n={}){this.configState=t,this.cdr=e,this.options=n,this.initialized=!1,this.configManager=new IQ(this.configState,this.options)}ngOnInit(){var t;this._init=setTimeout(()=>this.initialize(),null!==(t=this.options.initialDelay)&&void 0!==t?t:0)}ngOnDestroy(){this._init&&clearTimeout(this._init)}ngOnChanges(t){this.configManager.addChanges(t),this.initialized&&this.configManager.applyChanges()}initialize(){this._init=void 0,!this.initialized&&(this.configManager.applyChanges(),this.initialized=!0,this.cdr.markForCheck())}}return t.\u0275fac=function(t){!function(){throw new Error("invalid")}()},t.\u0275dir=se({type:t,features:[ye]}),t})();const RQ={boolean:t=>"false"!=`${t}`,json:t=>"string"==typeof t?JSON.parse(t):t,function:t=>{if("function"!=typeof t)throw new Error("Expected a javascript function");return t}};var NQ;const LQ={production:!0,disableDbWorker:!0,acceptableViewerDomains:["https://portal.hubmapconsortium.org","https://portal.test.hubmapconsortium.org"],dbOptions:{ccfOwlUrl:"https://ccf-api.hubmapconsortium.org/v1/ccf.owl.n3store.json",ccfContextUrl:"https://hubmapconsortium.github.io/ccf-ontology/ccf-context.jsonld",dataSources:["assets/kpmp/data/rui_locations.jsonld","assets/sparc/data/rui_locations.jsonld","assets/gtex/data/rui_locations.jsonld","assets/sea-ad/data/rui_locations.jsonld","assets/allen-institute/data/rui_locations.jsonld"],hubmapDataService:"search-api",hubmapPortalUrl:"https://portal.hubmapconsortium.org/",hubmapDataUrl:"https://search.api.hubmapconsortium.org/v3/entities/search",hubmapAssetsUrl:"https://assets.hubmapconsortium.org",hubmapToken:null!==(NQ=localStorage.getItem("HUBMAP_TOKEN"))&&void 0!==NQ?NQ:"",useRemoteApi:!1,remoteApiEndpoint:"https://ccf-api.hubmapconsortium.org/v1"},customization:{theme:"hubmap",header:!0,homeUrl:"https://portal.hubmapconsortium.org/",logoTooltip:"Human BioMolecular Atlas Project"},googleAnalyticsToken:"portal.hubmapconsortium.org"===window.location.hostname?"G-1WRJHN9FM6":"G-J9HWV9QPJ4"};function jQ(t){return(...e)=>new t(...e)}function FQ(t,e){return n=>n.lift(new BQ(t,e))}class BQ{constructor(t,e){this.keySelector=t,this.flushes=e}call(t,e){return e.subscribe(new VQ(t,this.keySelector,this.flushes))}}class VQ extends ${constructor(t,e,n){super(t),this.keySelector=e,this.values=new Set,n&&this.add(G(n,new H(this)))}notifyNext(){this.values.clear()}notifyError(t){this._error(t)}_next(t){this.keySelector?this._useKeySelector(t):this._finalizeNext(t,t)}_useKeySelector(t){let e;const{destination:n}=this;try{e=this.keySelector(t)}catch(i){return void n.error(i)}this._finalizeNext(e,t)}_finalizeNext(t,e){const{values:n}=this;n.has(t)||(n.add(t),this.destination.next(e))}}class zQ{constructor(t,e){this.count=t,this.source=e}call(t,e){return e.subscribe(new UQ(t,this.count,this.source))}}class UQ extends v{constructor(t,e,n){super(t),this.count=e,this.source=n}complete(){if(!this.isStopped){const{source:t,count:e}=this;if(0===e)return super.complete();e>-1&&(this.count=e-1),t.subscribe(this._unsubscribeAndRecycle())}}}let HQ=(()=>{class t{constructor(t){this.filter=t}}return t.type="[DataState] Update filter",t})();const $Q={sex:"Both",ageRange:[1,110],bmiRange:[13,83],tmc:[],technologies:[],ontologyTerms:["http://purl.obolibrary.org/obo/UBERON_0013702"],cellTypeTerms:["http://purl.obolibrary.org/obo/CL_0000000"],spatialSearches:[]};var GQ=(()=>(function(t){t.Running="running",t.Completed="completed"}(GQ||(GQ={})),GQ))();function WQ(t){return()=>t.next(GQ.Completed)}function qQ(t,e){return n=>n.pipe(cp(t),eg(e),WW(1),Z())}let YQ=class extends AW{constructor(t){super(),this.source=t,this.databaseReady$=this.state$.pipe(T$("status"),FQ(),ep(t=>"Ready"===t)),this._tissueBlockDataQueryStatus$=new _p(1),this._aggregateDataQueryStatus$=new _p(1),this._ontologyTermOccurencesDataQueryStatus$=new _p(1),this._cellTypeTermOccurencesDataQueryStatus$=new _p(1),this._sceneDataQueryStatus$=new _p(1),this._technologyFilterQueryStatus$=new _p(1),this._providerFilterQueryStatus$=new _p(1),this.ontologyTermsFullData$=new _p(1),this.cellTypeTermsFullData$=new _p(1),this.filter$=this.state$.pipe(T$("filter")),this.tissueBlockData$=this.filter$.pipe(qQ(this.tissueBlockData,WQ(this._tissueBlockDataQueryStatus$))),this.aggregateData$=this.filter$.pipe(qQ(this.aggregateData,WQ(this._aggregateDataQueryStatus$))),this.ontologyTermOccurencesData$=this.filter$.pipe(qQ(this.ontologyTermOccurencesData,WQ(this._ontologyTermOccurencesDataQueryStatus$))),this.cellTypeTermOccurencesData$=this.filter$.pipe(qQ(this.cellTypeTermOccurencesData,WQ(this._cellTypeTermOccurencesDataQueryStatus$))),this.sceneData$=this.filter$.pipe(qQ(this.sceneData,WQ(this._sceneDataQueryStatus$))),this.technologyFilterData$=this.filter$.pipe(qQ(this.technologyFilterData,WQ(this._technologyFilterQueryStatus$))),this.providerFilterData$=this.filter$.pipe(qQ(this.providerFilterData,WQ(this._providerFilterQueryStatus$))),this.tissueBlockDataQueryStatus$=this._tissueBlockDataQueryStatus$.pipe(FQ()),this.aggregateDataQueryStatus$=this._aggregateDataQueryStatus$.pipe(FQ()),this.ontologyTermOccurencesDataQueryStatus$=this._ontologyTermOccurencesDataQueryStatus$.pipe(FQ()),this.cellTypeTermOccurencesDataQueryStatus$=this._cellTypeTermOccurencesDataQueryStatus$.pipe(FQ()),this.sceneDataQueryStatus$=this._sceneDataQueryStatus$.pipe(FQ()),this.technologyFilterQueryStatus$=this._technologyFilterQueryStatus$.pipe(FQ()),this.providerFilterQueryStatus$=this._providerFilterQueryStatus$.pipe(FQ()),this.queryStatus$=z_([this.tissueBlockDataQueryStatus$,this.aggregateDataQueryStatus$,this.ontologyTermOccurencesDataQueryStatus$,this.cellTypeTermOccurencesDataQueryStatus$,this.sceneDataQueryStatus$,this.technologyFilterQueryStatus$,this.providerFilterQueryStatus$]).pipe(D(t=>function(t){return t.every(t=>t===GQ.Completed)}(t)?GQ.Completed:GQ.Running),FQ()),this._tissueBlockDataQueryStatus$.next(GQ.Completed),this._aggregateDataQueryStatus$.next(GQ.Completed),this._ontologyTermOccurencesDataQueryStatus$.next(GQ.Completed),this._cellTypeTermOccurencesDataQueryStatus$.next(GQ.Completed),this._sceneDataQueryStatus$.next(GQ.Completed),this._technologyFilterQueryStatus$.next(GQ.Completed),this._providerFilterQueryStatus$.next(GQ.Completed)}ngxsOnInit(){const{ontologyTermsFullData$:t,ontologyTermOccurencesData$:e,cellTypeTermsFullData$:n,cellTypeTermOccurencesData$:i,source:r,snapshot:{filter:s}}=this;s===$Q?(e.pipe(rf(1)).subscribe(t),i.pipe(rf(1)).subscribe(n)):(r.getOntologyTermOccurences().pipe(rf(1)).subscribe(t),r.getCellTypeTermOccurences().pipe(rf(1)).subscribe(n)),this.source.getOntologyTreeModel().pipe(rf(1)).subscribe(t=>this.updateAnatomicalStructuresTreeModel(t)),this.source.getCellTypeTreeModel().pipe(rf(1)).subscribe(t=>this.updateCellTypesTreeModel(t)),this.warmUpDatabase()}warmUpDatabase(){vH(()=>this.source.getDatabaseStatus()).pipe(eg(t=>this.updateStatus(t)),JH(2e3),rf(1)).pipe(function(t=-1){return e=>0===t?fp():e.lift(new zQ(t<0?-1:t-1,e))}(1e3),af(t=>"Loading"===t.status)).subscribe(),this.databaseReady$.pipe(rf(1),eg(()=>{this.updateStatus({status:"Ready",message:"Loading CCF Exploration User Interface (EUI)"})})).subscribe()}updateAnatomicalStructuresTreeModel(t){this.ctx.patchState({anatomicalStructuresTreeModel:t})}updateCellTypesTreeModel(t){this.ctx.patchState({cellTypesTreeModel:t})}updateStatus(t){this.ctx.patchState({status:t.status,statusMessage:t.message})}updateFilter(t){this.ctx.patchState({filter:Object.assign(Object.assign({},this.getState().filter),t)})}updateFilterHandler(t,{filter:e}){this.updateFilter(e)}tissueBlockData(t){return this._tissueBlockDataQueryStatus$.next(GQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getTissueBlockResults(t)))}aggregateData(t){return this._aggregateDataQueryStatus$.next(GQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getAggregateResults(t)))}ontologyTermOccurencesData(t){return this._ontologyTermOccurencesDataQueryStatus$.next(GQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getOntologyTermOccurences(t)))}cellTypeTermOccurencesData(t){return this._cellTypeTermOccurencesDataQueryStatus$.next(GQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getCellTypeTermOccurences(t)))}sceneData(t){return this._sceneDataQueryStatus$.next(GQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getScene(t)))}technologyFilterData(){return this._technologyFilterQueryStatus$.next(GQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getDatasetTechnologyNames()))}providerFilterData(){return this._providerFilterQueryStatus$.next(GQ.Running),this.databaseReady$.pipe(cp(()=>this.source.getProviderNames()))}};YQ.\u0275fac=function(t){return new(t||YQ)(Ei(iQ))},YQ.\u0275prov=xt({token:YQ,factory:YQ.\u0275fac}),vw([OW(),_w(0,TW("treeModel"))],YQ.prototype,"updateAnatomicalStructuresTreeModel",null),vw([OW(),_w(0,TW("treeModel"))],YQ.prototype,"updateCellTypesTreeModel",null),vw([OW(),_w(0,TW("status"))],YQ.prototype,"updateStatus",null),vw([OW(),_w(0,TW("filter"))],YQ.prototype,"updateFilter",null),vw([eU(HQ)],YQ.prototype,"updateFilterHandler",null),vw([PV.ak],YQ.prototype,"tissueBlockData",null),vw([PV.ak],YQ.prototype,"aggregateData",null),vw([PV.ak],YQ.prototype,"ontologyTermOccurencesData",null),vw([PV.ak],YQ.prototype,"cellTypeTermOccurencesData",null),vw([PV.ak],YQ.prototype,"sceneData",null),vw([PV.ak],YQ.prototype,"technologyFilterData",null),vw([PV.ak],YQ.prototype,"providerFilterData",null),YQ=vw([kW(),nU({name:"data",defaults:{filter:$Q,status:"Loading",statusMessage:"Loading database"}})],YQ);class XQ{static filter(t){return t.filter}static anatomicalStructuresTreeModel(t){var e;return null!==(e=t.anatomicalStructuresTreeModel)&&void 0!==e?e:{root:"",nodes:{}}}static cellTypesTreeModel(t){var e;return null!==(e=t.cellTypesTreeModel)&&void 0!==e?e:{root:"",nodes:{}}}}vw([rU([YQ])],XQ,"filter",null),vw([rU([YQ])],XQ,"anatomicalStructuresTreeModel",null),vw([rU([YQ])],XQ,"cellTypesTreeModel",null);let KQ=(()=>{class t{constructor(t,e,n){this.sex=t,this.organName=e,this.search=n}}return t.type="[Spatial Search Filter] Add",t})(),QQ=(()=>{class t{constructor(t){this.id=t}}return t.type="[Spatial Search Filter] Remove",t})(),ZQ=(()=>{class t{constructor(t){this.items=t}}return t.type="[Spatial Search Filter] Set selected searches",t})();let JQ=class{addSearch(t,{sex:e,organName:n,search:i}){t.setState(function(t){return function(e){return t&&t.length||!e?Array.isArray(e)?e.concat(t):t:e}}([this.createItem(e,n,i)]))}removeSearch(t,{id:e}){t.setState(function(t){return function(e){let n=-1;if(function(t){return"function"==typeof t}(t)?n=e.findIndex(t):function(t){return"number"==typeof t}(t)&&(n=t),function(t){return Number.isNaN(t)||-1===t}(n))return e;const i=e.slice();return i.splice(n,1),i}}(t=>(null==t?void 0:t.id)===e))}setSelectedSearches(t,{items:e}){const n=new Map(e.map(t=>[t.id,t])),i=t.getState().map(t=>{var e;return null!==(e=n.get(t.id))&&void 0!==e?e:t.selected?Object.assign(Object.assign({},t),{selected:!1}):t});t.setState(i)}createItem(t,e,n){return{id:this.createItemId(n),selected:!0,description:this.createItemDescription(t,e,n),sex:t,search:n}}createItemId(t){const{x:e,y:n,z:i,radius:r,target:s}=t;return`${s}-${r}-${e},${n},${i}`}createItemDescription(t,e,n){const i=t=>t.slice(0,1).toUpperCase()+t.slice(1),{x:r,y:s,z:o,radius:a}=n;return`${i(t)}, ${i(e)}, ${a.toFixed(1)} mm, X: ${r.toFixed(1)}, Y: ${s.toFixed(1)}, Z: ${o.toFixed(1)}`}};JQ.\u0275fac=function(t){return new(t||JQ)},JQ.\u0275prov=xt({token:JQ,factory:JQ.\u0275fac}),vw([eU(KQ)],JQ.prototype,"addSearch",null),vw([eU(QQ)],JQ.prototype,"removeSearch",null),vw([eU(ZQ)],JQ.prototype,"setSelectedSearches",null),JQ=vw([nU({name:"spatialSearchFilter",defaults:[]})],JQ);class tZ{static items(t){return t}static searches(t){return t.map(t=>t.search)}static selectedSearches(t){return t.filter(t=>t.selected).map(t=>t.search)}}vw([rU([JQ])],tZ,"items",null),vw([rU([tZ.items])],tZ,"searches",null),vw([rU([tZ.items])],tZ,"selectedSearches",null);const eZ=new RegExp("[^#a-f\\d]","gi"),nZ=new RegExp("^#?[a-f\\d]{3}[a-f\\d]?$|^#?[a-f\\d]{6}([a-f\\d]{2})?$","i"),iZ=["#FF8800","#2979ff","#ffd740","#b92dff","#da326f","#7323e2","#acf32b","#82B1FF","#E040FB","#00E5FF"].map((t,e)=>{const n=function(t,e={}){if("string"!=typeof t||eZ.test(t)||!nZ.test(t))throw new TypeError("Expected a valid hex string");let n=1;8===(t=t.replace(/^#/,"")).length&&(n=Number.parseInt(t.slice(6,8),16)/255,t=t.slice(0,6)),4===t.length&&(n=Number.parseInt(t.slice(3,4).repeat(2),16)/255,t=t.slice(0,3)),3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]);const i=Number.parseInt(t,16),r=i>>16,s=i>>8&255,o=255&i,a="number"==typeof e.alpha?e.alpha:n;return"array"===e.format?[r,s,o,a]:"css"===e.format?`rgb(${r} ${s} ${o}${1===a?"":` / ${Number((100*a).toFixed(2))}%`})`:{red:r,green:s,blue:o,alpha:a}}(t,{format:"array"});return n[3]=255,{color:t,rgba:n,rank:e}});let rZ=class extends MW{constructor(){super(...arguments),this.forcedUnassignment=new A,this.forcedUnassignment$=this.forcedUnassignment.asObservable(),this.colorAssignments$=this.state$.pipe(T$("colorAssignments"),Wd()),this.colorAssignmentsList$=this.state$.pipe(T$("colorAssignmentsList"),Wd())}getColor(t){const{colorAssignments:e}=this.snapshot;return e[t]}assignColor(t,e=!1){let{colorAssignments:n,colorAssignmentsList:i,colorsAvailable:r}=this.snapshot;e&&(r=this.snapshot.colorPalette.concat(),i=[],n={});let s=n[t];return s||(r.length>0?s=r[0]:(s=i[i.length-1].color,i=i.slice(0,-1),this.forcedUnassignment.next()),r=r.filter(t=>t.color!==s.color),i=[{color:s,key:t}].concat(i),n=i.reduce((t,e,n)=>(t[e.key]=Object.assign(Object.assign({},e.color),{rank:n}),t),{}),this.ctx.patchState({colorsAvailable:r,colorAssignments:n,colorAssignmentsList:i})),s}unassignColor(t){let{colorAssignments:e,colorAssignmentsList:n,colorsAvailable:i}=this.snapshot;const r=e[t];r&&(i=[r].concat(i),n=n.filter(t=>t.color.color!==r.color),e=n.reduce((t,e,n)=>(t[e.key]=Object.assign(Object.assign({},e.color),{rank:n}),t),{}),this.ctx.patchState({colorsAvailable:i,colorAssignments:e,colorAssignmentsList:n}))}};rZ.\u0275fac=function(){let t;return function(e){return(t||(t=ei(rZ)))(e||rZ)}}(),rZ.\u0275prov=xt({token:rZ,factory:rZ.\u0275fac}),vw([OW(),_w(0,TW("key")),_w(1,TW("doReset"))],rZ.prototype,"assignColor",null),vw([OW(),_w(0,TW("key"))],rZ.prototype,"unassignColor",null),rZ=vw([kW(),nU({name:"colors",defaults:{colorPalette:iZ.concat(),colorsAvailable:iZ.concat(),colorAssignments:{},colorAssignmentsList:[]}})],rZ);let sZ=class extends MW{constructor(t,e){super(),this.dataService=t,this.injector=e,this.listResults$=this.state$.pipe(T$("listResults"),Wd()),this.highlightedNodeId$=this.state$.pipe(T$("highlightedNodeId"),Wd())}setListResults(t){this.ctx.patchState({listResults:t})}selectListResult(t){this.colorAssignments.assignColor(t.tissueBlock.spatialEntityId)}deselectListResult(t){this.colorAssignments.unassignColor(t.tissueBlock.spatialEntityId)}highlightNode(t){this.ctx.patchState({highlightedNodeId:t})}unHighlightNode(){this.ctx.patchState({highlightedNodeId:void 0})}ngxsOnInit(){super.ngxsOnInit(),this.dataState=this.injector.get(YQ),this.colorAssignments=this.injector.get(rZ),z_([this.dataState.tissueBlockData$,this.colorAssignments.colorAssignments$]).pipe(D(([t,e])=>{const n=[],i=[];for(const r of t){const t=e[r.spatialEntityId];t?n.push({selected:!0,color:t.color,tissueBlock:r,rank:t.rank}):i.push({selected:!1,tissueBlock:r})}return(0,bq.sortBy)(n,["rank"]).concat(i)}),eg(t=>this.setListResults(t))).subscribe()}};sZ.\u0275fac=function(t){return new(t||sZ)(Ei(iQ),Ei(No))},sZ.\u0275prov=xt({token:sZ,factory:sZ.\u0275fac}),vw([OW(),_w(0,TW("listResults"))],sZ.prototype,"setListResults",null),sZ=vw([kW(),nU({name:"listResults",defaults:{listResults:[]}})],sZ);const oZ=new Set(["Skin","Heart","Kidney","Spleen"]);let aZ=class extends MW{constructor(t,e){super(),this.dataService=t,this.injector=e,this.referenceOrgans$=this.state$.pipe(T$("referenceOrgans"),Wd()),this.selectedReferenceOrgans$=this.state$.pipe(T$("selectedReferenceOrgans"),Wd()),this.scene$=this.state$.pipe(T$("scene"),Wd()),this.highlightedId$=this.state$.pipe(T$("highlightedId"),Wd())}static referenceOrgans(t){return t.referenceOrgans}static referenceOrganEntities(t){return t.referenceOrganEntities}setSelectedReferenceOrgans(t){this.ctx.patchState({selectedReferenceOrgans:t})}setReferenceOrgans(t){this.ctx.patchState({referenceOrgans:t})}setReferenceOrganEntities(t){this.ctx.patchState({referenceOrganEntities:t})}setScene(t){this.ctx.patchState({scene:t})}sceneNodeClicked({node:t,ctrlClick:e}){t.representation_of&&"http://purl.org/ccf/latest/ccf.owl#VHFSkin"!==t["@id"]&&t.entityId?this.dataState.updateFilter({ontologyTerms:[t.representation_of]}):t.entityId&&this.colorAssignments.assignColor(t["@id"],!e)}sceneNodeHovered(t){this.listResults.highlightNode(t["@id"])}sceneNodeUnhover(){this.listResults.unHighlightNode()}ngxsOnInit(){super.ngxsOnInit(),this.dataState=this.injector.get(YQ),this.colorAssignments=this.injector.get(rZ),this.listResults=this.injector.get(sZ),this.dataService.getReferenceOrgans().pipe(eg(t=>this.setReferenceOrganEntities(t)),D(t=>{const e=new Set(t.map(t=>t.representation_of));return NK.filter(t=>e.has(t.id)).map(t=>Object.assign(Object.assign({},t),{disabled:!1,numResults:0}))}),rf(1),eg(t=>{this.setReferenceOrgans(t),this.setSelectedReferenceOrgans(t.filter(t=>oZ.has(t.organ)))})).subscribe(),z_([this.dataState.sceneData$,this.selectedReferenceOrgans$,this.colorAssignments.colorAssignments$,this.dataService.getReferenceOrgans(),this.listResults.highlightedNodeId$]).pipe(D(([t,e,n,i,r])=>{const s=new Set(e.map(t=>t.id)),o=new Set(i.filter(t=>s.has(t.representation_of)).map(t=>t["@id"]));return t.filter(t=>{var e,n;return(null===(n=null===(e=t.ccf_annotations)||void 0===e?void 0:e.some)||void 0===n?void 0:n.call(e,t=>s.has(t)))||t.reference_organ&&o.has(t.reference_organ)}).map(t=>t.entityId&&(Object.prototype.hasOwnProperty.call(n,t["@id"])||r===t["@id"])?Object.assign(Object.assign({},t),{color:r===t["@id"]?[30,136,229,255]:n[t["@id"]].rgba}):t)}),eg(t=>this.setScene(t))).subscribe()}};function lZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function cZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function uZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}function hZ(t,e){if(1&t&&(vn(),oa(0,"circle",3)),2&t){const t=va();La("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),Ko("r",t._getCircleRadius())}}aZ.\u0275fac=function(t){return new(t||aZ)(Ei(iQ),Ei(No))},aZ.\u0275prov=xt({token:aZ,factory:aZ.\u0275fac}),vw([OW(),_w(0,TW("selectedReferenceOrgans"))],aZ.prototype,"setSelectedReferenceOrgans",null),vw([OW(),_w(0,TW("referenceOrgans"))],aZ.prototype,"setReferenceOrgans",null),vw([OW(),_w(0,TW("referenceOrganEntities"))],aZ.prototype,"setReferenceOrganEntities",null),vw([OW(),_w(0,TW("scene"))],aZ.prototype,"setScene",null),vw([rU()],aZ,"referenceOrgans",null),vw([rU()],aZ,"referenceOrganEntities",null),aZ=vw([kW(),nU({name:"scene",defaults:{scene:[],referenceOrgans:[],referenceOrganEntities:[],selectedReferenceOrgans:[],selectedAnatomicalStructures:[],anatomicalStructureSettings:{}}})],aZ);const dZ=".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor;stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\n",pZ=Yy(class{constructor(t){this._elementRef=t}},"primary"),fZ=new oi("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:100}}});class gZ extends pZ{constructor(t,e,n,i,r){super(t),this._document=n,this._diameter=100,this._value=0,this._fallbackAnimation=!1,this.mode="determinate";const s=gZ._diameters;this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),s.has(n.head)||s.set(n.head,new Set([100])),this._fallbackAnimation=e.EDGE||e.TRIDENT,this._noopAnimations="NoopAnimations"===i&&!!r&&!r._forceAnimations,r&&(r.diameter&&(this.diameter=r.diameter),r.strokeWidth&&(this.strokeWidth=r.strokeWidth))}get diameter(){return this._diameter}set diameter(t){this._diameter=Pd(t),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),!this._fallbackAnimation&&this._styleRoot&&this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(t){this._strokeWidth=Pd(t)}get value(){return"determinate"===this.mode?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,Pd(t)))}ngOnInit(){const t=this._elementRef.nativeElement;this._styleRoot=Rp(t)||this._document.head,this._attachStyleNode(),t.classList.add(`mat-progress-spinner-indeterminate${this._fallbackAnimation?"-fallback":""}-animation`)}_getCircleRadius(){return(this.diameter-10)/2}_getViewBox(){const t=2*this._getCircleRadius()+this.strokeWidth;return`0 0 ${t} ${t}`}_getStrokeCircumference(){return 2*Math.PI*this._getCircleRadius()}_getStrokeDashOffset(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._getStrokeCircumference():null}_getCircleStrokeWidth(){return this.strokeWidth/this.diameter*100}_attachStyleNode(){const t=this._styleRoot,e=this._diameter,n=gZ._diameters;let i=n.get(t);if(!i||!i.has(e)){const r=this._document.createElement("style");r.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),r.textContent=this._getAnimationText(),t.appendChild(r),i||(i=new Set,n.set(t,i)),i.add(e)}}_getAnimationText(){const t=this._getStrokeCircumference();return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*t).replace(/END_VALUE/g,""+.2*t).replace(/DIAMETER/g,`${this._spinnerAnimationLabel}`)}_getSpinnerAnimationLabel(){return this.diameter.toString().replace(".","_")}}gZ.\u0275fac=function(t){return new(t||gZ)(ea(Al),ea(Ep),ea(th,8),ea(Ny,8),ea(fZ))},gZ.\u0275cmp=Jt({type:gZ,selectors:[["mat-progress-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner"],hostVars:10,hostBindings:function(t,e){2&t&&(Ko("aria-valuemin","determinate"===e.mode?0:null)("aria-valuemax","determinate"===e.mode?100:null)("aria-valuenow","determinate"===e.mode?e.value:null)("mode",e.mode),La("width",e.diameter,"px")("height",e.diameter,"px"),ja("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color",mode:"mode",diameter:"diameter",strokeWidth:"strokeWidth",value:"value"},exportAs:["matProgressSpinner"],features:[jo],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(vn(),ra(0,"svg",0),Jo(1,lZ,1,9,"circle",1),Jo(2,cZ,1,7,"circle",2),sa()),2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),na("ngSwitch","indeterminate"===e.mode),Ko("viewBox",e._getViewBox()),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1))},directives:[Rh,Nh],styles:[dZ],encapsulation:2,changeDetection:0}),gZ._diameters=new WeakMap;let mZ=(()=>{class t extends gZ{constructor(t,e,n,i,r){super(t,e,n,i,r),this.mode="indeterminate"}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(th,8),ea(Ny,8),ea(fZ))},t.\u0275cmp=Jt({type:t,selectors:[["mat-spinner"]],hostAttrs:["role","progressbar","mode","indeterminate",1,"mat-spinner","mat-progress-spinner"],hostVars:6,hostBindings:function(t,e){2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),ja("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color"},features:[jo],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(vn(),ra(0,"svg",0),Jo(1,uZ,1,9,"circle",1),Jo(2,hZ,1,7,"circle",2),sa()),2&t&&(La("width",e.diameter,"px")("height",e.diameter,"px"),na("ngSwitch","indeterminate"===e.mode),Ko("viewBox",e._getViewBox()),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1))},directives:[Rh,Nh],styles:[dZ],encapsulation:2,changeDetection:0}),t})(),bZ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy,Wh],Wy]}),t})(),yZ=(()=>{class t{constructor(){this.className="ccf-spinner-overlay",this.active=!1}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spinner-overlay"]],hostVars:4,hostBindings:function(t,e){2&t&&(Va(e.className),ja("active",e.active))},inputs:{active:"active",text:"text"},decls:3,vars:1,consts:[[1,"content"]],template:function(t,e){1&t&&(oa(0,"mat-spinner"),ra(1,"div",0),Ja(2),sa()),2&t&&(ws(2),tl(e.text))},directives:[mZ],styles:["[_nghost-%COMP%]{display:flex;position:absolute;width:100%;height:100%;z-index:99;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;visibility:hidden;opacity:0;transition:visibility .6s,opacity .4s ease-in-out}[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-bottom:1rem;opacity:0;transition:opacity .3s ease-in-out .3s}.active[_nghost-%COMP%]{pointer-events:auto;visibility:visible;opacity:1}.active[_nghost-%COMP%] mat-spinner[_ngcontent-%COMP%]{opacity:1}"],changeDetection:0}),t})();const vZ={isolated:!0},_Z=new oi("Message service configuration",{providedIn:"root",factory:()=>vZ});let wZ=(()=>{class t{constructor(t,e,n){this.source=t,this.channel=e,this.messages=n}sendMessage(t){this.channel.next({id:this.nextMessageId(),source:this.source,payload:t})}getMessages(){return this.messages.pipe(ep(t=>t.source!==this.source))}getMessagesFromSource(t){return this.getMessages().pipe(ep(e=>e.source===t))}getMessagesFromSources(t){return this.getMessages().pipe(ep(e=>t.includes(e.source)))}nextMessageId(){return t.counter++}}return t.counter=0,t})();const xZ=(()=>{class t{constructor(t,e){this.config=t,this.parent=e,this.channel=new A,this.messages=t.isolated||!e?this.channel.asObservable():U([this.channel,e.messages.pipe(af(()=>!this.channel.closed))]).pipe(X())}ngOnDestroy(){this.channel.complete()}connect(t){return new wZ(t,this.channel,this.messages)}}return t.\u0275fac=function(e){return new(e||t)(Ei(_Z),Ei(t,12))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),SZ=["*"];let CZ=(()=>{class t{constructor(t,e){this.className="ccf-drawer-content",this.animationsEnabled=!1,this.leftMargin=0,this.rightMargin=0,this.faded=!1,this.drawers=[],this.subscriptions=new g;const n=t.connect(this).getMessages();this.subscriptions.add(n.subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){switch(t.payload.type){case"drawer-containers-changed":return this.drawers=t.payload.drawers,this.updateFaded(),!0;case"drawer-initialized":return this.animationsEnabled=!0,!0;case"drawer-toggled":{const e=t.source.position,{opened:n,width:i,margin:r}=t.payload;return this.updateMargin(e,n,i,r),this.updateFaded(),!0}default:return!1}}updateMargin(t,e,n,i){const r=e?n+i:i;"start"===t?this.leftMargin=r:this.rightMargin=r}updateFaded(){const[t,e]=this.drawers;this.faded=(null==t?void 0:t.opened)&&(null==t?void 0:t.expanded)||(null==e?void 0:e.opened)&&(null==e?void 0:e.expanded)}}return t.\u0275fac=function(e){return new(e||t)(ea(xZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-content"]],hostVars:9,hostBindings:function(t,e){2&t&&(sl("@fadeInOut",e.faded),Va(e.className),La("margin-left",e.leftMargin,"px")("margin-right",e.rightMargin,"px"),ja("cff-drawer-content-animations",e.animationsEnabled))},ngContentSelectors:SZ,decls:1,vars:0,template:function(t,e){1&t&&(wa(),xa(0))},styles:["[_nghost-%COMP%]{display:block;height:calc(100% - 5.5rem);z-index:2;overflow:auto}.cff-drawer-content-animations[_nghost-%COMP%]{transition-duration:.5s;transition-timing-function:ease-in-out;transition-property:margin-left,margin-right}"],data:{animation:[Qg("fadeInOut",[em("false",tm({opacity:1})),em("true",tm({opacity:0})),im("false <=> true",Zg("1s"))])]},changeDetection:0}),t})();const EZ=["*"],OZ={params:{width:0,margin:0,margin2:0}};class TZ{constructor(){this.initialized=!1,this.deferred=new Promise(t=>{this.resolve=t})}set(){this.initialized=!0,this.resolve()}wait(){return xw(this,void 0,void 0,function*(){return this.deferred})}valueOf(){return this.initialized}}let kZ=(()=>{class t{constructor(t,e,n){this.element=n,this.className="ccf-drawer",this._position="start",this._opened=!1,this._expanded=!1,this.openedChange=new Bc(!0),this.expandedChange=new Bc(!0),this.stateChange=new Bc(!0),this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._measuredWidth=0,this.width=0,this._measuredMargin=0,this.margin2=0,this.initialized=new TZ,this.subscriptions=new g,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}get classEnd(){return"end"===this.position}get position(){return this._position}set position(t){this._position=t||"start"}get opened(){return this._opened}set opened(t){this.toggle(kd(t))}get expanded(){return this._expanded}set expanded(t){this.toggleExpanded(kd(t))}get expandedStateObj(){return{value:this.expandedState2,params:{width:this.width,margin:this.measuredMargin,margin2:this.margin2}}}get measuredWidth(){if(this._measuredWidth>0)return this._measuredWidth;const t=this.element.nativeElement;if(!t)return 0;const e=t.getBoundingClientRect(),n=e.right-e.left;return 0===n?0:(this._measuredWidth=n,n)}get measuredMargin(){if(this._measuredMargin>0)return this._measuredMargin;const t=this.element.nativeElement;if(!t)return 0;const e=globalThis.getComputedStyle(t).getPropertyValue("start"===this.position?"margin-right":"margin-left"),n=Number(e.slice(0,-2));return this._measuredMargin=n,n}ngAfterViewInit(){this.initialized.set(),setTimeout(()=>this.channel.sendMessage({type:"drawer-initialized"}))}ngOnDestroy(){this.subscriptions.unsubscribe()}open(){this.toggle(!0)}close(){this.toggle(!1)}toggle(t=!this.opened){this.opened!==t&&(t?this.openedState=this.initialized.valueOf()?"open":"open-instant":(this.openedState="closed",this.expandedState="closed",this.expandedState2="collapsed",this._expanded=!1),this._opened=t,this.sendToggle())}openExpanded(){this.toggleExpanded(!0)}closeExpanded(){this.toggleExpanded(!1)}toggleExpanded(t=!this.expanded){this.expanded!==t&&(t?this.expandedState=this.initialized.valueOf()?"open":"open-instant":(this.expandedState="closed",this.expandedState2="collapsed"),this._expanded=t,this.sendToggle())}closeOpenDone(){this.openedChange.emit(this.opened)}expandCollapseDone(){this.expandedChange.emit(this.expanded)}sendToggle(){return xw(this,void 0,void 0,function*(){yield this.initialized.wait(),this.channel.sendMessage({type:"drawer-toggled",opened:this.opened,expanded:this.expanded,width:this.measuredWidth,margin:this.measuredMargin}),this.stateChange.emit()})}handleMessage(t){switch(t.payload.type){case"drawer-toggled":return this.syncExpanded(t.source),!0;default:return!1}}syncExpanded(t){(this.expanded||t.expanded)&&(this.expanded&&t.expanded?this.expandedState2=t.expandedState2="half":this.expanded?t.opened?(this.expandedState2="extended",this.width=t.measuredWidth+t.measuredMargin):(this.expandedState2="full",this.margin2=t.measuredMargin):this.opened?(t.expandedState2="extended",t.width=this.measuredWidth+this.measuredMargin):(t.expandedState2="full",t.margin2=this.measuredMargin))}}return t.\u0275fac=function(e){return new(e||t)(ea(xZ),ea(nc),ea(Al))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer"]],hostVars:10,hostBindings:function(t,e){1&t&&ga("@openClose.done",function(){return e.closeOpenDone()})("@expandCollapse.done",function(){return e.expandCollapseDone()}),2&t&&(sl("@openClose",e.openedState)("@expandCollapse",e.expandedStateObj),Va(e.className),ja("ccf-drawer-end",e.classEnd)("ccf-drawer-opened",e.opened)("ccf-drawer-expanded",e.expanded))},inputs:{position:"position",opened:"opened",expanded:"expanded"},outputs:{openedChange:"openedChange",expandedChange:"expandedChange",stateChange:"stateChange"},exportAs:["ccfDrawer"],ngContentSelectors:EZ,decls:2,vars:0,consts:[[1,"cff-drawer-inner-container"]],template:function(t,e){1&t&&(wa(),ra(0,"div",0),xa(1),sa())},styles:["[_nghost-%COMP%]{display:block;position:absolute;top:0;bottom:0;z-index:2;outline:0;transform:translate(-100%);background-color:#fff}.ccf-drawer-end[_nghost-%COMP%]{right:0;transform:translate(100%)}[_nghost-%COMP%] .cff-drawer-inner-container[_ngcontent-%COMP%]{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}"],data:{animation:[Qg("openClose",[em("open, open-instant",tm({transform:"none"})),em("closed",tm({})),im("closed => open-instant",Zg(0)),im("closed <=> open, open-instant => closed",Zg(".5s ease-in-out"))]),Qg("expandCollapse",[em("collapsed",tm({})),em("half",tm({width:"calc(50% - {{ margin }}px)"}),OZ),em("extended",tm({width:"calc(100% - {{ width }}px - {{ margin }}px)"}),OZ),em("full",tm({width:"calc(100% - {{ margin }}px - {{ margin2 }}px)"}),OZ),im("* <=> *",Zg(".5s ease-in-out"))])]},changeDetection:0}),t})();function PZ(t,e){1&t&&(ra(0,"ccf-drawer-content"),xa(1,2),sa())}const AZ=[[["ccf-drawer"]],[["ccf-drawer-content"]],"*"],MZ=["ccf-drawer","ccf-drawer-content","*"];function IZ(t){throw new Error(`Multiple drawers in position ${t}`)}let DZ=(()=>{class t{constructor(t,e){this.cdr=e,this.className="ccf-drawer-container",this.subscriptions=new g,this.channel=t.connect(this),this.subscriptions.add(this.channel.getMessages().subscribe(t=>{this.handleMessage(t)&&e.markForCheck()}))}get content(){var t;return null!==(t=this.content1.first)&&void 0!==t?t:this.content2.first}get hasWrappedContent(){return 0!==this.content1.length}ngAfterViewInit(){this.drawers.changes.pipe(lp(null)).subscribe(()=>{const t=this.validateDrawers();this.channel.sendMessage({type:"drawer-containers-changed",drawers:t}),this.cdr.markForCheck()}),this.content1.changes.pipe(lp(null)).subscribe(()=>{this.channel.sendMessage({type:"content-container-changed",content:this.content}),this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return!0}validateDrawers(){const t=this.drawers.toArray(),e=t.filter(t=>"start"===t.position),n=t.filter(t=>"end"===t.position);return e.length>1&&IZ("start"),n.length>1&&IZ("end"),[e[0],n[0]]}}return t.\u0275fac=function(e){return new(e||t)(ea(xZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-container"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,kZ,5),Jc(n,CZ,5)),2&t){let t;Qc(t=tu())&&(e.drawers=t),Qc(t=tu())&&(e.content1=t)}},viewQuery:function(t,e){if(1&t&&Zc(CZ,5),2&t){let t;Qc(t=tu())&&(e.content2=t)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},exportAs:["ccfDrawerContainer"],features:[xl([xZ])],ngContentSelectors:MZ,decls:3,vars:1,consts:[[4,"ngIf"]],template:function(t,e){1&t&&(wa(AZ),xa(0),xa(1,1),Jo(2,PZ,2,0,"ccf-drawer-content",0)),2&t&&(ws(2),na("ngIf",!e.hasWrappedContent))},directives:[Ah,CZ],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:1;overflow:hidden;-webkit-overflow-scrolling:touch}"],changeDetection:0}),t})(),RZ=(()=>{class t{}return t.type="[SpatialSearchUi] Start the Spatial Search flow",t})(),NZ=(()=>{class t{constructor(t){this.sex=t}}return t.type="[SpatialSearchUi] Set sex",t})(),LZ=(()=>{class t{constructor(t){this.organId=t}}return t.type="[SpatialSearchUi] Set organ",t})(),jZ=(()=>{class t{constructor(t){this.position=t}}return t.type="[SpatialSearchUi] Set position",t})(),FZ=(()=>{class t{constructor(t){this.node=t}}return t.type="[SpatialSearchUi] Start moving the position to a scene node",t})(),BZ=(()=>{class t{}return t.type="[SpatialSearchUi] Reset position",t})(),VZ=(()=>{class t{constructor(t){this.radius=t}}return t.type="[SpatialSearchUi] Set radius",t})(),zZ=(()=>{class t{}return t.type="[SpatialSearchUi] Reset radius",t})(),UZ=(()=>{class t{}return t.type="[SpatialSearchUi] Update spatial search data",t})(),HZ=(()=>{class t{}return t.type="[SpatialSearchUi] Generate and add a spatial search",t})(),$Z=(()=>{class t{constructor(t=!0){this.execute=t}}return t.type="[SpatialSearchUi] Set execute search on generate",t})();const GZ=["trigger"],WZ=["panel"];function qZ(t,e){if(1&t&&(ra(0,"span",8),Ja(1),sa()),2&t){const t=va();ws(1),tl(t.placeholder)}}function YZ(t,e){if(1&t&&(ra(0,"span",12),Ja(1),sa()),2&t){const t=va(2);ws(1),tl(t.triggerValue)}}function XZ(t,e){1&t&&xa(0,0,["*ngSwitchCase","true"])}function KZ(t,e){1&t&&(ra(0,"span",9),Jo(1,YZ,2,1,"span",10),Jo(2,XZ,1,0,"ng-content",11),sa()),2&t&&(na("ngSwitch",!!va().customTrigger),ws(2),na("ngSwitchCase",!0))}function QZ(t,e){if(1&t){const t=ua();ra(0,"div",13),ra(1,"div",14,15),fa("@transformPanel.done",function(e){return $e(t),va()._panelDoneAnimatingStream.next(e.toState)})("keydown",function(e){return $e(t),va()._handleKeydown(e)}),xa(3,1),sa(),sa()}if(2&t){const t=va();na("@transformPanelWrap",void 0),ws(1),il("mat-select-panel ",t._getPanelTheme(),""),La("transform-origin",t._transformOrigin)("font-size",t._triggerFontSize,"px"),na("ngClass",t.panelClass)("@transformPanel",t.multiple?"showing-multiple":"showing"),Ko("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}const ZZ=[[["mat-select-trigger"]],"*"],JZ=["mat-select-trigger","*"],tJ={transformPanelWrap:Qg("transformPanelWrap",[im("* => void",sm("@transformPanel",[rm()],{optional:!0}))]),transformPanel:Qg("transformPanel",[em("void",tm({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),em("showing",tm({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),em("showing-multiple",tm({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),im("void => *",Zg("120ms cubic-bezier(0, 0, 0.2, 1)")),im("* => void",Zg("100ms 25ms linear",tm({opacity:0})))])};let eJ=0;const nJ=new oi("mat-select-scroll-strategy"),iJ=new oi("MAT_SELECT_CONFIG"),rJ={provide:nJ,deps:[Vf],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};class sJ{constructor(t,e){this.source=t,this.value=e}}const oJ=Xy(Ky(qy(Qy(class{constructor(t,e,n,i,r){this._elementRef=t,this._defaultErrorStateMatcher=e,this._parentForm=n,this._parentFormGroup=i,this.ngControl=r}})))),aJ=new oi("MatSelectTrigger");let lJ=(()=>{class t extends oJ{constructor(t,e,n,i,r,s,o,a,l,c,u,h,d,p){var f,g,m;super(r,i,o,a,c),this._viewportRuler=t,this._changeDetectorRef=e,this._ngZone=n,this._dir=s,this._parentFormField=l,this._liveAnnouncer=d,this._defaultOptions=p,this._panelOpen=!1,this._compareWith=(t,e)=>t===e,this._uid="mat-select-"+eJ++,this._triggerAriaLabelledBy=null,this._destroy=new A,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+eJ++,this._panelDoneAnimatingStream=new A,this._overlayPanelClass=(null===(f=this._defaultOptions)||void 0===f?void 0:f.overlayPanelClass)||"",this._focused=!1,this.controlType="mat-select",this._required=!1,this._multiple=!1,this._disableOptionCentering=null!==(m=null===(g=this._defaultOptions)||void 0===g?void 0:g.disableOptionCentering)&&void 0!==m&&m,this.ariaLabel="",this.optionSelectionChanges=vH(()=>{const t=this.options;return t?t.changes.pipe(lp(t),cp(()=>Q(...t.map(t=>t.onSelectionChange)))):this._ngZone.onStable.pipe(rf(1),cp(()=>this.optionSelectionChanges))}),this.openedChange=new Bc,this._openedStream=this.openedChange.pipe(ep(t=>t),D(()=>{})),this._closedStream=this.openedChange.pipe(ep(t=>!t),D(()=>{})),this.selectionChange=new Bc,this.valueChange=new Bc,this.ngControl&&(this.ngControl.valueAccessor=this),null!=(null==p?void 0:p.typeaheadDebounceInterval)&&(this._typeaheadDebounceInterval=p.typeaheadDebounceInterval),this._scrollStrategyFactory=h,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(u)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get required(){return this._required}set required(t){this._required=kd(t),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(t){this._multiple=kd(t)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(t){this._disableOptionCentering=kd(t)}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){(t!==this._value||this._multiple&&Array.isArray(t))&&(this.options&&this._setSelectionByValue(t),this._value=t)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(t){this._typeaheadDebounceInterval=Pd(t)}get id(){return this._id}set id(t){this._id=t||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new Vp(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(Wd(),rp(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(rp(this._destroy)).subscribe(t=>{t.added.forEach(t=>t.select()),t.removed.forEach(t=>t.deselect())}),this.options.changes.pipe(lp(null),rp(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const t=this._getTriggerAriaLabelledby();if(t!==this._triggerAriaLabelledBy){const e=this._elementRef.nativeElement;this._triggerAriaLabelledBy=t,t?e.setAttribute("aria-labelledby",t):e.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}ngOnChanges(t){t.disabled&&this.stateChanges.next(),t.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(t){this.value=t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,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){const t=this._selectionModel.selected.map(t=>t.viewValue);return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))}_handleClosedKeydown(t){const e=t.keyCode,n=40===e||38===e||37===e||39===e,i=13===e||32===e,r=this._keyManager;if(!r.isTyping()&&i&&!uf(t)||(this.multiple||t.altKey)&&n)t.preventDefault(),this.open();else if(!this.multiple){const e=this.selected;r.onKeydown(t);const n=this.selected;n&&e!==n&&this._liveAnnouncer.announce(n.viewValue,1e4)}}_handleOpenKeydown(t){const e=this._keyManager,n=t.keyCode,i=40===n||38===n,r=e.isTyping();if(i&&t.altKey)t.preventDefault(),this.close();else if(r||13!==n&&32!==n||!e.activeItem||uf(t))if(!r&&this._multiple&&65===n&&t.ctrlKey){t.preventDefault();const e=this.options.some(t=>!t.disabled&&!t.selected);this.options.forEach(t=>{t.disabled||(e?t.select():t.deselect())})}else{const n=e.activeItemIndex;e.onKeydown(t),this._multiple&&i&&t.shiftKey&&e.activeItem&&e.activeItemIndex!==n&&e.activeItem._selectViaInteraction()}else t.preventDefault(),e.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(rf(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._setSelectionByValue(this.ngControl?this.ngControl.value:this._value),this.stateChanges.next()})}_setSelectionByValue(t){if(this._selectionModel.selected.forEach(t=>t.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&t)Array.isArray(t),t.forEach(t=>this._selectValue(t)),this._sortValues();else{const e=this._selectValue(t);e?this._keyManager.updateActiveItem(e):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectValue(t){const e=this.options.find(e=>{if(this._selectionModel.isSelected(e))return!1;try{return null!=e.value&&this._compareWith(e.value,t)}catch(n){return!1}});return e&&this._selectionModel.select(e),e}_initKeyManager(){this._keyManager=new Eg(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(rp(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe(rp(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const t=Q(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(rp(t)).subscribe(t=>{this._onSelect(t.source,t.isUserInput),t.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),Q(...this.options.map(t=>t._stateChanges)).pipe(rp(t)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(t,e){const n=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(n!==t.selected&&(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t)),e&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),e&&this.focus())):(t.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(t.value)),n!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const t=this.options.toArray();this._selectionModel.sort((e,n)=>this.sortComparator?this.sortComparator(e,n,t):t.indexOf(e)-t.indexOf(n)),this.stateChanges.next()}}_propagateChanges(t){let e=null;e=this.multiple?this.selected.map(t=>t.value):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(this._getChangeEvent(e)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){var t;return!this._panelOpen&&!this.disabled&&(null===(t=this.options)||void 0===t?void 0:t.length)>0}focus(t){this._elementRef.nativeElement.focus(t)}_getPanelAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();return this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();let n=(e?e+" ":"")+this._valueId;return this.ariaLabelledby&&(n+=" "+this.ariaLabelledby),n}_panelDoneAnimating(t){this.openedChange.emit(t)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return t.\u0275fac=function(e){return new(e||t)(ea(Hp),ea(nc),ea(Tu),ea(Zy),ea(Al),ea(Fp,8),ea(sH,8),ea(gH,8),ea(KH,8),ea(PU,10),ii("tabindex"),ea(nJ),ea(Bg),ea(iJ,8))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&(Zc(GZ,5),Zc(WZ,5),Zc($f,5)),2&t){let t;Qc(t=tu())&&(e.trigger=t.first),Qc(t=tu())&&(e.panel=t.first),Qc(t=tu())&&(e._overlayDir=t.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[jo,ye]}),t})(),cJ=(()=>{class t extends lJ{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(t,e,n){const i=this._getItemHeight();return Math.min(Math.max(0,i*t-e+i/2),n)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(rp(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe(rf(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(t){const e=xv(t,this.options,this.optionGroups),n=this._getItemHeight();this.panel.nativeElement.scrollTop=0===t&&1===e?0:Sv((t+e)*n,n,this.panel.nativeElement.scrollTop,256)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(t)}_getChangeEvent(t){return new sJ(this,t)}_calculateOverlayOffsetX(){const t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),e=this._viewportRuler.getViewportSize(),n=this._isRtl(),i=this.multiple?56:32;let r;if(this.multiple)r=40;else if(this.disableOptionCentering)r=16;else{let t=this._selectionModel.selected[0]||this.options.first;r=t&&t.group?32:16}n||(r*=-1);const s=0-(t.left+r-(n?i:0)),o=t.right+r-e.width+(n?0:i);s>0?r+=s+8:o>0&&(r-=o+8),this._overlayDir.offsetX=Math.round(r),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(t,e,n){const i=this._getItemHeight(),r=(i-this._triggerRect.height)/2,s=Math.floor(256/i);let o;return this.disableOptionCentering?0:(o=0===this._scrollTop?t*i:this._scrollTop===n?(t-(this._getItemCount()-s))*i+(i-(this._getItemCount()*i-256)%i):e-i/2,Math.round(-1*o-r))}_checkOverlayWithinViewport(t){const e=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),i=this._triggerRect.top-8,r=n.height-this._triggerRect.bottom-8,s=Math.abs(this._offsetY),o=Math.min(this._getItemCount()*e,256)-s-this._triggerRect.height;o>r?this._adjustPanelUp(o,r):s>i?this._adjustPanelDown(s,i,t):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(t,e){const n=Math.round(t-e);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(t,e,n){const i=Math.round(t-e);if(this._scrollTop+=i,this._offsetY+=i,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const t=this._getItemHeight(),e=this._getItemCount(),n=Math.min(e*t,256),i=e*t-n;let r;r=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),r+=xv(r,this.options,this.optionGroups);const s=n/2;this._scrollTop=this._calculateOverlayScroll(r,s,i),this._offsetY=this._calculateOverlayOffsetY(r,s,i),this._checkOverlayWithinViewport(i)}_getOriginBasedOnOption(){const t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-e+t/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-select"]],contentQueries:function(t,e,n){if(1&t&&(Jc(n,aJ,5),Jc(n,wv,5),Jc(n,bv,5)),2&t){let t;Qc(t=tu())&&(e.customTrigger=t.first),Qc(t=tu())&&(e.options=t),Qc(t=tu())&&(e.optionGroups=t)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(t,e){1&t&&fa("keydown",function(t){return e._handleKeydown(t)})("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()}),2&t&&(Ko("id",e.id)("tabindex",e.tabIndex)("aria-controls",e.panelOpen?e.id+"-panel":null)("aria-expanded",e.panelOpen)("aria-label",e.ariaLabel||null)("aria-required",e.required.toString())("aria-disabled",e.disabled.toString())("aria-invalid",e.errorState)("aria-describedby",e._ariaDescribedby||null)("aria-activedescendant",e._getAriaActiveDescendant()),ja("mat-select-disabled",e.disabled)("mat-select-invalid",e.errorState)("mat-select-required",e.required)("mat-select-empty",e.empty)("mat-select-multiple",e.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[xl([{provide:BH,useExisting:t},{provide:pv,useExisting:t}]),jo],ngContentSelectors:JZ,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(t,e){if(1&t&&(wa(ZZ),ra(0,"div",0,1),fa("click",function(){return e.toggle()}),ra(3,"div",2),Jo(4,qZ,2,1,"span",3),Jo(5,KZ,3,2,"span",4),sa(),ra(6,"div",5),oa(7,"div",6),sa(),sa(),Jo(8,QZ,4,14,"ng-template",7),fa("backdropClick",function(){return e.close()})("attach",function(){return e._onAttached()})("detach",function(){return e.close()})),2&t){const t=ta(1);Ko("aria-owns",e.panelOpen?e.id+"-panel":null),ws(3),na("ngSwitch",e.empty),Ko("id",e._valueId),ws(1),na("ngSwitchCase",!0),ws(1),na("ngSwitchCase",!1),ws(3),na("cdkConnectedOverlayPanelClass",e._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",e._scrollStrategy)("cdkConnectedOverlayOrigin",t)("cdkConnectedOverlayOpen",e.panelOpen)("cdkConnectedOverlayPositions",e._positions)("cdkConnectedOverlayMinWidth",null==e._triggerRect?null:e._triggerRect.width)("cdkConnectedOverlayOffsetY",e._offsetY)}},directives:[Hf,Rh,Nh,$f,Lh,Oh],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[tJ.transformPanelWrap,tJ.transformPanel]},changeDetection:0}),t})(),uJ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[rJ],imports:[[Wh,Wf,Cv,Wy],$p,ZH,Cv,Wy]}),t})();function hJ(t,e){if(1&t&&(ra(0,"mat-option",6),ra(1,"div"),Ja(2),sa(),sa()),2&t){const t=e.$implicit,n=va();na("value",t),ws(1),Va(n.optionsVisible),ws(1),el(" ",t," ")}}let dJ=(()=>{class t{constructor(t){this.ga=t,this.selectionChange=new Bc,this.optionsVisible="invisible"}toggleOptions(){this.optionsVisible="visible"===this.optionsVisible?"invisible":"visible"}selectionChanged(t){this.selection=t,this.ga.event("selection_change","dropdown",`${this.label}:${t}`),this.selectionChange.emit(t)}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-dropdown"]],inputs:{label:"label",options:"options",selection:"selection"},outputs:{selectionChange:"selectionChange"},decls:7,vars:3,consts:[[1,"ccf-dropdown","wrapper"],[1,"container"],[1,"dropdown-form-field"],[1,"label"],["disableOptionCentering","true","panelClass","option-panel","disableRipple","true",1,"selected-value",3,"value","selectionChange","openedChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"mat-form-field",2),ra(3,"div",3),Ja(4),sa(),ra(5,"mat-select",4),fa("selectionChange",function(t){return e.selectionChanged(t.value)})("openedChange",function(){return e.toggleOptions()}),Jo(6,hJ,3,5,"mat-option",5),sa(),sa(),sa(),sa()),2&t&&(ws(4),el(" ",e.label," "),ws(1),na("value",e.selection),ws(1),na("ngForOf",e.options))},directives:[QH,cJ,kh,wv],styles:["@-webkit-keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@keyframes slideInHorizontalDropdown{0%{width:0}to{width:9.85rem}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dropdown-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:1em;padding-right:1em;height:3rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{font-size:.875rem;border:none}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix mat-select{font-size:1rem;font-weight:bold}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .option-panel{-webkit-animation:slideInHorizontalDropdown .3s;animation:slideInHorizontalDropdown .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;position:absolute!important;top:1.55rem;max-width:9.5rem} .option-panel .mat-option{border-bottom-width:1px;border-bottom-style:solid;padding-left:1em} .option-panel :last-child{border-bottom:none} .cdk-overlay-pane{min-width:0rem!important}.dropdown-form-field[_ngcontent-%COMP%]{height:3rem;width:100%}.dropdown-form-field[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{padding-bottom:.063rem}.dropdown-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem} .ccf-dropdown .mat-select-arrow-wrapper{transform:translatey(-.5em)}"],changeDetection:0}),t})();var pJ=n(25430),fJ=n(39053),gJ=n(26202);const mJ=["tooltipTemplate"],bJ=["leftOuterSelectionBar"],yJ=["rightOuterSelectionBar"],vJ=["fullBar"],_J=["selectionBar"],wJ=["minHandle"],xJ=["maxHandle"],SJ=["floorLabel"],CJ=["ceilLabel"],EJ=["minHandleLabel"],OJ=["maxHandleLabel"],TJ=["combinedLabel"],kJ=["ticksElement"];function PJ(t,e){if(1&t&&oa(0,"ng5-slider-tooltip-wrapper",31),2&t){const t=va().$implicit;na("template",va().tooltipTemplate)("tooltip",t.valueTooltip)("placement",t.valueTooltipPlacement)("content",t.value)}}function AJ(t,e){1&t&&oa(0,"span",32),2&t&&na("innerHTML",va().$implicit.legend,vr)}const MJ=function(t){return{"ng5-slider-selected":t}};function IJ(t,e){if(1&t&&(ra(0,"span",27),oa(1,"ng5-slider-tooltip-wrapper",28),Jo(2,PJ,1,4,"ng5-slider-tooltip-wrapper",29),Jo(3,AJ,1,1,"span",30),sa()),2&t){const t=e.$implicit,n=va();na("ngClass",Pc(7,MJ,t.selected))("ngStyle",t.style),ws(1),na("template",n.tooltipTemplate)("tooltip",t.tooltip)("placement",t.tooltipPlacement),ws(1),na("ngIf",null!=t.value),ws(1),na("ngIf",null!=t.legend)}}function DJ(t,e){}function RJ(t,e){1&t&&Jo(0,DJ,0,0,"ng-template")}const NJ=function(t,e,n){return{tooltip:t,placement:e,content:n}};function LJ(t,e){if(1&t&&(aa(0),Jo(1,RJ,1,0,void 0,1),la()),2&t){const t=va();ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Ac(2,NJ,t.tooltip,t.placement,t.content))}}function jJ(t,e){if(1&t&&(aa(0),ra(1,"div",2),Ja(2),sa(),la()),2&t){const t=va();ws(1),Ko("title",t.tooltip)("data-tooltip-placement",t.placement),ws(1),el(" ",t.content," ")}}const FJ={Min:0,Max:1};FJ[FJ.Min]="Min",FJ[FJ.Max]="Max";const BJ={Low:0,High:1,Floor:2,Ceil:3,TickValue:4};BJ[BJ.Low]="Low",BJ[BJ.High]="High",BJ[BJ.Floor]="Floor",BJ[BJ.Ceil]="Ceil",BJ[BJ.TickValue]="TickValue";class VJ{constructor(){this.floor=0,this.ceil=null,this.step=1,this.minRange=null,this.maxRange=null,this.pushRange=!1,this.minLimit=null,this.maxLimit=null,this.translate=null,this.combineLabels=null,this.getLegend=null,this.stepsArray=null,this.bindIndexForStepsArray=!1,this.draggableRange=!1,this.draggableRangeOnly=!1,this.showSelectionBar=!1,this.showSelectionBarEnd=!1,this.showSelectionBarFromValue=null,this.showOuterSelectionBars=!1,this.hidePointerLabels=!1,this.hideLimitLabels=!1,this.autoHideLimitLabels=!0,this.readOnly=!1,this.disabled=!1,this.mouseEventsInterval=50,this.touchEventsInterval=50,this.inputEventsInterval=100,this.outputEventsInterval=100,this.showTicks=!1,this.showTicksValues=!1,this.tickStep=null,this.tickValueStep=1,this.ticksArray=null,this.ticksTooltip=null,this.ticksValuesTooltip=null,this.vertical=!1,this.getSelectionBarColor=null,this.getTickColor=null,this.getPointerColor=null,this.keyboardSupport=!0,this.scale=1,this.enforceStep=!0,this.enforceRange=!0,this.noSwitching=!1,this.onlyBindHandles=!1,this.rightToLeft=!1,this.reversedControls=!1,this.boundPointerLabels=!0,this.logScale=!1,this.customValueToPosition=null,this.customPositionToValue=null,this.precisionLimit=12,this.selectionBarGradient=null,this.ariaLabel=null,this.ariaLabelledBy=null,this.ariaLabelHigh=null,this.ariaLabelledByHigh=null,this.handleDimension=null,this.barDimension=null,this.animate=!0}}class zJ{}class UJ{static isNullOrUndefined(t){return null==t}static linearValueToPosition(t,e,n){return(t-e)/(n-e)}static logValueToPosition(t,e,n){return((t=Math.log(t))-(e=Math.log(e)))/((n=Math.log(n))-e)}static linearPositionToValue(t,e,n){return t*(n-e)+e}static logPositionToValue(t,e,n){return e=Math.log(e),n=Math.log(n),Math.exp(t*(n-e)+e)}static findStepIndex(t,e){const n=e.map(e=>Math.abs(t-e.value));let i=0;for(let r=0;r{r.events.next(t)};return t.addEventListener(e,s,{passive:!0,capture:!1}),r.teardownCallback=()=>{t.removeEventListener(e,s,{passive:!0,capture:!1})},r.eventsSubscription=r.events.pipe(UJ.isNullOrUndefined(i)?(0,fJ.tap)(()=>{}):(0,fJ.throttleTime)(i,void 0,{leading:!0,trailing:!0})).subscribe(t=>{n(t)}),r}detachEventListener(t){UJ.isNullOrUndefined(t.eventsSubscription)||(t.eventsSubscription.unsubscribe(),t.eventsSubscription=null),UJ.isNullOrUndefined(t.events)||(t.events.complete(),t.events=null),UJ.isNullOrUndefined(t.teardownCallback)||(t.teardownCallback(),t.teardownCallback=null)}attachEventListener(t,e,n,i){const r=new GJ;return r.eventName=e,r.events=new pJ.xQ,r.teardownCallback=this.renderer.listen(t,e,t=>{r.events.next(t)}),r.eventsSubscription=r.events.pipe(UJ.isNullOrUndefined(i)?(0,fJ.tap)(()=>{}):(0,fJ.throttleTime)(i,void 0,{leading:!0,trailing:!0})).subscribe(t=>{n(t)}),r}}let qJ=(()=>{class t{constructor(t,e,n){this.elemRef=t,this.renderer=e,this.changeDetectionRef=n,this._position=0,this._dimension=0,this._alwaysHide=!1,this._vertical=!1,this._scale=1,this.opacity=1,this.visibility="visible",this.left="",this.bottom="",this.height="",this.width="",this.eventListeners=[],this.eventListenerHelper=new WJ(this.renderer)}get position(){return this._position}get dimension(){return this._dimension}get alwaysHide(){return this._alwaysHide}get vertical(){return this._vertical}get scale(){return this._scale}setAlwaysHide(t){this._alwaysHide=t,this.visibility=t?"hidden":"visible"}hide(){this.opacity=0}show(){this.alwaysHide||(this.opacity=1)}isVisible(){return!this.alwaysHide&&0!==this.opacity}setVertical(t){this._vertical=t,this._vertical?(this.left="",this.width=""):(this.bottom="",this.height="")}setScale(t){this._scale=t}setPosition(t){this._position!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._position=t,this._vertical?this.bottom=Math.round(t)+"px":this.left=Math.round(t)+"px"}calculateDimension(){const t=this.getBoundingClientRect();this._dimension=this.vertical?(t.bottom-t.top)*this.scale:(t.right-t.left)*this.scale}setDimension(t){this._dimension!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._dimension=t,this._vertical?this.height=Math.round(t)+"px":this.width=Math.round(t)+"px"}getBoundingClientRect(){return this.elemRef.nativeElement.getBoundingClientRect()}on(t,e,n){const i=this.eventListenerHelper.attachEventListener(this.elemRef.nativeElement,t,e,n);this.eventListeners.push(i)}onPassive(t,e,n){const i=this.eventListenerHelper.attachPassiveEventListener(this.elemRef.nativeElement,t,e,n);this.eventListeners.push(i)}off(t){let e,n;UJ.isNullOrUndefined(t)?(e=[],n=this.eventListeners):(e=this.eventListeners.filter(e=>e.eventName!==t),n=this.eventListeners.filter(e=>e.eventName===t));for(const i of n)this.eventListenerHelper.detachEventListener(i);this.eventListeners=e}isRefDestroyed(){return UJ.isNullOrUndefined(this.changeDetectionRef)||this.changeDetectionRef.destroyed}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderElement",""]],hostVars:12,hostBindings:function(t,e){2&t&&La("opacity",e.opacity)("visibility",e.visibility)("left",e.left)("bottom",e.bottom)("height",e.height)("width",e.width)}}),t})(),YJ=(()=>{class t extends qJ{constructor(t,e,n){super(t,e,n),this.active=!1,this.role="",this.tabindex="",this.ariaOrientation="",this.ariaLabel="",this.ariaLabelledBy="",this.ariaValueNow="",this.ariaValueText="",this.ariaValueMin="",this.ariaValueMax=""}focus(){this.elemRef.nativeElement.focus()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderHandle",""]],hostVars:11,hostBindings:function(t,e){2&t&&(Ko("role",e.role)("tabindex",e.tabindex)("aria-orientation",e.ariaOrientation)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledBy)("aria-valuenow",e.ariaValueNow)("aria-valuetext",e.ariaValueText)("aria-valuemin",e.ariaValueMin)("aria-valuemax",e.ariaValueMax),ja("ng5-slider-active",e.active))},features:[jo]}),t})(),XJ=(()=>{class t extends qJ{constructor(t,e,n){super(t,e,n),this._value=null}get value(){return this._value}setValue(t){let e=!1;!this.alwaysHide&&(UJ.isNullOrUndefined(this.value)||this.value.length!==t.length||this.value.length>0&&0===this.dimension)&&(e=!0),this._value=t,this.elemRef.nativeElement.innerHTML=t,e&&this.calculateDimension()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Dl),ea(nc))},t.\u0275dir=se({type:t,selectors:[["","ng5SliderLabel",""]],features:[jo]}),t})();class KJ{constructor(){this.selected=!1,this.style={},this.tooltip=null,this.tooltipPlacement=null,this.value=null,this.valueTooltip=null,this.valueTooltipPlacement=null,this.legend=null}}class QJ{constructor(){this.active=!1,this.value=0,this.difference=0,this.position=0,this.lowLimit=0,this.highLimit=0}}class ZJ{static compare(t,e){return!(UJ.isNullOrUndefined(t)&&UJ.isNullOrUndefined(e)||UJ.isNullOrUndefined(t)!==UJ.isNullOrUndefined(e))&&t.value===e.value&&t.highValue===e.highValue}}class JJ extends ZJ{static compare(t,e){return!(UJ.isNullOrUndefined(t)&&UJ.isNullOrUndefined(e)||UJ.isNullOrUndefined(t)!==UJ.isNullOrUndefined(e))&&t.value===e.value&&t.highValue===e.highValue&&t.forceChange===e.forceChange}}const t0={provide:aU,useExisting:pt(()=>e0),multi:!0};let e0=(()=>{class t{constructor(t,e,n,i){this.renderer=t,this.elementRef=e,this.changeDetectionRef=n,this.zone=i,this.value=null,this.valueChange=new Bc,this.highValue=null,this.highValueChange=new Bc,this.options=new VJ,this.userChangeStart=new Bc,this.userChange=new Bc,this.userChangeEnd=new Bc,this.initHasRun=!1,this.inputModelChangeSubject=new pJ.xQ,this.inputModelChangeSubscription=null,this.outputModelChangeSubject=new pJ.xQ,this.outputModelChangeSubscription=null,this.viewLowValue=null,this.viewHighValue=null,this.viewOptions=new VJ,this.handleHalfDimension=0,this.maxHandlePosition=0,this.currentTrackingPointer=null,this.currentFocusPointer=null,this.firstKeyDown=!1,this.touchId=null,this.dragging=new QJ,this.sliderElementVerticalClass=!1,this.sliderElementAnimateClass=!1,this.sliderElementDisabledAttr=null,this.barStyle={},this.minPointerStyle={},this.maxPointerStyle={},this.fullBarTransparentClass=!1,this.selectionBarDraggableClass=!1,this.ticksUnderValuesClass=!1,this.intermediateTicks=!1,this.ticks=[],this.eventListenerHelper=null,this.onMoveEventListener=null,this.onEndEventListener=null,this.resizeObserver=null,this.onTouchedCallback=null,this.onChangeCallback=null,this.eventListenerHelper=new WJ(this.renderer)}set manualRefresh(t){this.unsubscribeManualRefresh(),this.manualRefreshSubscription=t.subscribe(()=>{setTimeout(()=>this.calculateViewDimensionsAndDetectChanges())})}set triggerFocus(t){this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=t.subscribe(t=>{this.focusPointer(t)})}get range(){return!UJ.isNullOrUndefined(this.value)&&!UJ.isNullOrUndefined(this.highValue)}get showTicks(){return this.viewOptions.showTicks}ngOnInit(){this.viewOptions=new VJ,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState()}ngAfterViewInit(){this.applyOptions(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval),this.subscribeOutputModelChangeSubject(this.viewOptions.outputEventsInterval),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}ngOnChanges(t){UJ.isNullOrUndefined(t.options)||this.onChangeOptions(),(!UJ.isNullOrUndefined(t.value)||!UJ.isNullOrUndefined(t.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}ngOnDestroy(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}writeValue(t){t instanceof Array?(this.value=t[0],this.highValue=t[1]):this.value=t,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}registerOnChange(t){this.onChangeCallback=t}registerOnTouched(t){this.onTouchedCallback=t}setDisabledState(t){this.viewOptions.disabled=t,this.updateDisabledState()}onResize(t){this.calculateViewDimensionsAndDetectChanges()}subscribeInputModelChangeSubject(t){this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe((0,fJ.distinctUntilChanged)(JJ.compare),(0,fJ.filter)(t=>!t.forceChange&&!t.internalChange),UJ.isNullOrUndefined(t)?(0,fJ.tap)(()=>{}):(0,fJ.throttleTime)(t,void 0,{leading:!0,trailing:!0})).subscribe(t=>this.applyInputModelChange(t))}subscribeOutputModelChangeSubject(t){this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe((0,fJ.distinctUntilChanged)(JJ.compare),UJ.isNullOrUndefined(t)?(0,fJ.tap)(()=>{}):(0,fJ.throttleTime)(t,void 0,{leading:!0,trailing:!0})).subscribe(t=>this.publishOutputModelChange(t))}subscribeResizeObserver(){HJ.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(()=>this.calculateViewDimensionsAndDetectChanges()),this.resizeObserver.observe(this.elementRef.nativeElement))}unsubscribeResizeObserver(){HJ.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}unsubscribeOnMove(){UJ.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}unsubscribeOnEnd(){UJ.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}unsubscribeInputModelChangeSubject(){UJ.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}unsubscribeOutputModelChangeSubject(){UJ.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}unsubscribeManualRefresh(){UJ.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}unsubscribeTriggerFocus(){UJ.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}getPointerElement(t){return t===FJ.Min?this.minHandleElement:t===FJ.Max?this.maxHandleElement:null}getCurrentTrackingValue(){return this.currentTrackingPointer===FJ.Min?this.viewLowValue:this.currentTrackingPointer===FJ.Max?this.viewHighValue:null}modelValueToViewValue(t){return UJ.isNullOrUndefined(t)?NaN:UJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+t:UJ.findStepIndex(+t,this.viewOptions.stepsArray)}viewValueToModelValue(t){return UJ.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?t:this.getStepValue(t)}getStepValue(t){const e=this.viewOptions.stepsArray[t];return UJ.isNullOrUndefined(e)?NaN:e.value}applyViewChange(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!0})}applyInputModelChange(t){const e=this.normaliseModelValues(t),n=!ZJ.compare(t,e);n&&(this.value=e.value,this.highValue=e.highValue),this.viewLowValue=this.modelValueToViewValue(e.value),this.viewHighValue=this.range?this.modelValueToViewValue(e.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:e.value,highValue:e.highValue,forceChange:n,userEventInitiated:!1})}publishOutputModelChange(t){const e=()=>{this.valueChange.emit(t.value),this.range&&this.highValueChange.emit(t.highValue),UJ.isNullOrUndefined(this.onChangeCallback)||this.onChangeCallback(this.range?[t.value,t.highValue]:t.value),UJ.isNullOrUndefined(this.onTouchedCallback)||this.onTouchedCallback(this.range?[t.value,t.highValue]:t.value)};t.userEventInitiated?(e(),this.userChange.emit(this.getChangeContext())):setTimeout(()=>{e()})}normaliseModelValues(t){const e=new ZJ;if(e.value=t.value,e.highValue=t.highValue,this.viewOptions.enforceStep&&(e.value=this.roundStep(e.value),this.range&&(e.highValue=this.roundStep(e.highValue))),!UJ.isNullOrUndefined(this.viewOptions.stepsArray)||!this.viewOptions.enforceRange)return e;if(e.value=$J.clampToRange(e.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(e.highValue=$J.clampToRange(e.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&t.value>t.highValue)if(this.viewOptions.noSwitching)e.value=e.highValue;else{const n=t.value;e.value=t.highValue,e.highValue=n}return e}renormaliseModelValues(){const t={value:this.value,highValue:this.highValue},e=this.normaliseModelValues(t);ZJ.compare(e,t)||(this.value=e.value,this.highValue=e.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!0,userEventInitiated:!1}))}onChangeOptions(){if(!this.initHasRun)return;const t=this.viewOptions.inputEventsInterval,e=this.viewOptions.outputEventsInterval;this.applyOptions(),t!==this.viewOptions.inputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.inputEventsInterval)),e!==this.viewOptions.outputEventsInterval&&(this.unsubscribeInputModelChangeSubject(),this.subscribeInputModelChangeSubject(this.viewOptions.outputEventsInterval)),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider()}applyOptions(){if(this.viewOptions=new VJ,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!UJ.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!UJ.isNullOrUndefined(this.viewOptions.tickStep)||!UJ.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!UJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),UJ.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),UJ.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=(t,e)=>t+" - "+e),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}applyStepsArrayOptions(){this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,UJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(this.viewOptions.bindIndexForStepsArray?this.getStepValue(t):t)),this.viewOptions.getLegend=t=>this.viewOptions.stepsArray[t].legend}applyFloorCeilOptions(){if(UJ.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),UJ.isNullOrUndefined(this.viewOptions.ceil)||UJ.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,UJ.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(t))}resetSlider(){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.unbindEvents(),this.manageEventsBindings(),this.updateDisabledState(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}focusPointer(t){t!==FJ.Min&&t!==FJ.Max&&(t=FJ.Min),t===FJ.Min?this.minHandleElement.focus():this.range&&t===FJ.Max&&this.maxHandleElement.focus()}refocusPointerIfNeeded(){UJ.isNullOrUndefined(this.currentFocusPointer)||(this.onPointerFocus(this.currentFocusPointer),this.getPointerElement(this.currentFocusPointer).focus())}manageElementsStyle(){this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);const t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(()=>{this.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate})}manageEventsBindings(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}updateDisabledState(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}updateVerticalState(){this.sliderElementVerticalClass=this.viewOptions.vertical;for(const t of this.getAllSliderElements())UJ.isNullOrUndefined(t)||t.setVertical(this.viewOptions.vertical)}updateScale(){for(const t of this.getAllSliderElements())t.setScale(this.viewOptions.scale)}getAllSliderElements(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}initHandles(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}addAccessibility(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.viewOptions.vertical&&(this.minHandleElement.ariaOrientation="vertical"),UJ.isNullOrUndefined(this.viewOptions.ariaLabel)?UJ.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical?"vertical":"horizontal",UJ.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?UJ.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}updateAriaAttributes(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,BJ.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,BJ.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}calculateViewDimensions(){UJ.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);const t=this.minHandleElement.dimension;this.handleHalfDimension=t/2,UJ.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-t,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}calculateViewDimensionsAndDetectChanges(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}isRefDestroyed(){return this.changeDetectionRef.destroyed}updateTicksScale(){if(!this.viewOptions.showTicks)return;const t=UJ.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,e=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();const n=t.map(t=>{let n=this.valueToPosition(t);this.viewOptions.vertical&&(n=this.maxHandlePosition-n);const i=e+"("+Math.round(n)+"px)",r=new KJ;if(r.selected=this.isTickSelected(t),r.style={"-webkit-transform":i,"-moz-transform":i,"-o-transform":i,"-ms-transform":i,transform:i},r.selected&&!UJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)&&(r.style["background-color"]=this.getSelectionBarColor()),!r.selected&&!UJ.isNullOrUndefined(this.viewOptions.getTickColor)&&(r.style["background-color"]=this.getTickColor(t)),UJ.isNullOrUndefined(this.viewOptions.ticksTooltip)||(r.tooltip=this.viewOptions.ticksTooltip(t),r.tooltipPlacement=this.viewOptions.vertical?"right":"top"),this.viewOptions.showTicksValues&&t%this.viewOptions.tickValueStep==0&&(r.value=this.getDisplayValue(t,BJ.TickValue),UJ.isNullOrUndefined(this.viewOptions.ticksValuesTooltip)||(r.valueTooltip=this.viewOptions.ticksValuesTooltip(t),r.valueTooltipPlacement=this.viewOptions.vertical?"right":"top")),!UJ.isNullOrUndefined(this.viewOptions.getLegend)){const e=this.viewOptions.getLegend(t);UJ.isNullOrUndefined(e)||(r.legend=e)}return r});if(UJ.isNullOrUndefined(this.ticks)||this.ticks.length!==n.length)this.ticks=n;else for(let i=0;i=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&t<=this.viewLowValue)return!0}else{const e=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>e&&t>=e&&t<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&t>=this.viewLowValue&&t<=this.viewHighValue)}updateFloorLabel(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,BJ.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}updateCeilLabel(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,BJ.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}updateHandles(t,e){t===FJ.Min?this.updateLowHandle(e):t===FJ.Max&&this.updateHighHandle(e),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}getHandleLabelPos(t,e){const n=t===FJ.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,i=e-n/2+this.handleHalfDimension,r=this.fullBarElement.dimension-n;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&t===FJ.Min||!this.viewOptions.rightToLeft&&t===FJ.Max?Math.min(i,r):Math.min(Math.max(i,0),r):i}updateLowHandle(t){this.minHandleElement.setPosition(t),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,BJ.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(FJ.Min,t)),UJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(FJ.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateHighHandle(t){this.maxHandleElement.setPosition(t),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,BJ.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(FJ.Max,t)),UJ.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(FJ.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateFloorAndCeilLabelsVisibility(){if(this.viewOptions.hidePointerLabels)return;let t=!1,e=!1;const n=this.isLabelBelowFloorLabel(this.minHandleLabelElement),i=this.isLabelAboveCeilLabel(this.minHandleLabelElement),r=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),s=this.isLabelBelowFloorLabel(this.combinedLabelElement),o=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(n?(t=!0,this.floorLabelElement.hide()):(t=!1,this.floorLabelElement.show()),i?(e=!0,this.ceilLabelElement.hide()):(e=!1,this.ceilLabelElement.show()),this.range){const i=this.combinedLabelElement.isVisible()?o:r,a=this.combinedLabelElement.isVisible()?s:n;i?this.ceilLabelElement.hide():e||this.ceilLabelElement.show(),a?this.floorLabelElement.hide():t||this.floorLabelElement.show()}}isLabelBelowFloorLabel(t){const e=t.position,n=this.floorLabelElement.position;return this.viewOptions.rightToLeft?e+t.dimension>=n-2:e<=n+this.floorLabelElement.dimension+2}isLabelAboveCeilLabel(t){const e=t.position,n=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?e<=n+this.ceilLabelElement.dimension+2:e+t.dimension>=n-2}updateSelectionBar(){let t=0,e=0;const n=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,i=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)e=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),t=i;else if(UJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))n?(e=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),t=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(e=this.minHandleElement.position+this.handleHalfDimension,t=0);else{const n=this.viewOptions.showSelectionBarFromValue,i=this.valueToPosition(n);(this.viewOptions.rightToLeft?this.viewLowValue<=n:this.viewLowValue>n)?(e=this.minHandleElement.position-i,t=i+this.handleHalfDimension):(e=i-this.minHandleElement.position,t=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(e),this.selectionBarElement.setPosition(t),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(t),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+e)),this.leftOuterSelectionBarElement.setPosition(t+e)):(this.leftOuterSelectionBarElement.setDimension(t),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+e)),this.rightOuterSelectionBarElement.setPosition(t+e))),UJ.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!UJ.isNullOrUndefined(this.viewOptions.selectionBarGradient)){const i=UJ.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),r=i-t>0&&!n||i-t<=0&&n;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?r?"bottom":"top":r?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(i+e+t+(r?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=i-t+(r?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{const t=this.getSelectionBarColor();this.barStyle={backgroundColor:t}}}getSelectionBarColor(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}getPointerColor(t){return this.viewOptions.getPointerColor(t===FJ.Max?this.highValue:this.value,t)}getTickColor(t){return this.viewOptions.getTickColor(t)}updateCombinedLabel(){let t=null;if(t=this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position,t){const t=this.getDisplayValue(this.viewLowValue,BJ.Low),e=this.getDisplayValue(this.viewHighValue,BJ.High),n=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(e,t):this.viewOptions.combineLabels(t,e);this.combinedLabelElement.setValue(n);const i=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(i),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}getDisplayValue(t,e){return!UJ.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(t=this.getStepValue(t)),this.viewOptions.translate(t,e)}roundStep(t,e){const n=UJ.isNullOrUndefined(e)?this.viewOptions.step:e;let i=$J.roundToPrecisionLimit((t-this.viewOptions.floor)/n,this.viewOptions.precisionLimit);return i=Math.round(i)*n,$J.roundToPrecisionLimit(this.viewOptions.floor+i,this.viewOptions.precisionLimit)}valueToPosition(t){let e=UJ.linearValueToPosition;UJ.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(e=UJ.logValueToPosition):e=this.viewOptions.customValueToPosition;let n=e(t=$J.clampToRange(t,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return UJ.isNullOrUndefined(n)&&(n=0),this.viewOptions.rightToLeft&&(n=1-n),n*this.maxHandlePosition}positionToValue(t){let e=t/this.maxHandlePosition;this.viewOptions.rightToLeft&&(e=1-e);let n=UJ.linearPositionToValue;UJ.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(n=UJ.logPositionToValue):n=this.viewOptions.customPositionToValue;const i=n(e,this.viewOptions.floor,this.viewOptions.ceil);return UJ.isNullOrUndefined(i)?0:i}getEventXY(t,e){if(t instanceof MouseEvent)return this.viewOptions.vertical?t.clientY:t.clientX;let n=0;const i=t.touches;if(!UJ.isNullOrUndefined(e))for(let r=0;ri?FJ.Max:this.viewOptions.rightToLeft?e>this.minHandleElement.position?FJ.Min:FJ.Max:ethis.onBarStart(null,t,e,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.on("mousedown",e=>this.onBarStart(FJ.Min,t,e,!0,!0)),this.maxHandleElement.on("mousedown",e=>this.onBarStart(FJ.Max,t,e,!0,!0))):(this.minHandleElement.on("mousedown",t=>this.onStart(FJ.Min,t,!0,!0)),this.range&&this.maxHandleElement.on("mousedown",t=>this.onStart(FJ.Max,t,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.on("mousedown",t=>this.onStart(null,t,!0,!0,!0)),this.ticksElement.on("mousedown",t=>this.onStart(null,t,!0,!0,!0,!0)))),this.viewOptions.onlyBindHandles||this.selectionBarElement.onPassive("touchstart",e=>this.onBarStart(null,t,e,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.onPassive("touchstart",e=>this.onBarStart(FJ.Min,t,e,!0,!0)),this.maxHandleElement.onPassive("touchstart",e=>this.onBarStart(FJ.Max,t,e,!0,!0))):(this.minHandleElement.onPassive("touchstart",t=>this.onStart(FJ.Min,t,!0,!0)),this.range&&this.maxHandleElement.onPassive("touchstart",t=>this.onStart(FJ.Max,t,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.onPassive("touchstart",t=>this.onStart(null,t,!0,!0,!0)),this.ticksElement.onPassive("touchstart",t=>this.onStart(null,t,!1,!1,!0,!0)))),this.viewOptions.keyboardSupport&&(this.minHandleElement.on("focus",()=>this.onPointerFocus(FJ.Min)),this.range&&this.maxHandleElement.on("focus",()=>this.onPointerFocus(FJ.Max)))}unbindEvents(){this.unsubscribeOnMove(),this.unsubscribeOnEnd();for(const t of this.getAllSliderElements())UJ.isNullOrUndefined(t)||t.off()}onBarStart(t,e,n,i,r,s,o){e?this.onDragStart(t,n,i,r):this.onStart(t,n,i,r,s,o)}onStart(t,e,n,i,r,s){e.stopPropagation(),(!HJ.isTouchEvent(e)||!gJ.Z.hasSupport)&&e.preventDefault(),this.calculateViewDimensions(),UJ.isNullOrUndefined(t)&&(t=this.getNearestHandle(e)),this.currentTrackingPointer=t;const o=this.getPointerElement(t);if(o.active=!0,this.viewOptions.keyboardSupport&&o.focus(),n){this.unsubscribeOnMove();const t=t=>this.dragging.active?this.onDragMove(t):this.onMove(t);this.onMoveEventListener=HJ.isTouchEvent(e)?this.eventListenerHelper.attachPassiveEventListener(document,"touchmove",t,this.viewOptions.touchEventsInterval):this.eventListenerHelper.attachEventListener(document,"mousemove",t,this.viewOptions.mouseEventsInterval)}if(i){this.unsubscribeOnEnd();const t=t=>this.onEnd(t);this.onEndEventListener=HJ.isTouchEvent(e)?this.eventListenerHelper.attachPassiveEventListener(document,"touchend",t):this.eventListenerHelper.attachEventListener(document,"mouseup",t)}this.userChangeStart.emit(this.getChangeContext()),HJ.isTouchEvent(e)&&!UJ.isNullOrUndefined(e.changedTouches)&&UJ.isNullOrUndefined(this.touchId)&&(this.touchId=e.changedTouches[0].identifier),r&&this.onMove(e,!0),s&&this.onEnd(e)}onMove(t,e){let n=null;if(HJ.isTouchEvent(t)){const e=t.changedTouches;for(let t=0;t=this.maxHandlePosition?r=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(r=this.positionToValue(i),r=e&&!UJ.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(r,this.viewOptions.tickStep):this.roundStep(r)),this.positionTrackingHandle(r)}onEnd(t){HJ.isTouchEvent(t)&&t.changedTouches[0].identifier!==this.touchId||(this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext()))}onPointerFocus(t){const e=this.getPointerElement(t);e.on("blur",()=>this.onPointerBlur(e)),e.on("keydown",t=>this.onKeyboardEvent(t)),e.on("keyup",()=>this.onKeyUp()),e.active=!0,this.currentTrackingPointer=t,this.currentFocusPointer=t,this.firstKeyDown=!0}onKeyUp(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}onPointerBlur(t){t.off("blur"),t.off("keydown"),t.off("keyup"),t.active=!1,UJ.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}getKeyActions(t){const e=this.viewOptions.ceil-this.viewOptions.floor;let n=t+this.viewOptions.step,i=t-this.viewOptions.step,r=t+e/10,s=t-e/10;this.viewOptions.reversedControls&&(n=t-this.viewOptions.step,i=t+this.viewOptions.step,r=t-e/10,s=t+e/10);const o={UP:n,DOWN:i,LEFT:i,RIGHT:n,PAGEUP:r,PAGEDOWN:s,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(o.LEFT=n,o.RIGHT=i,this.viewOptions.vertical&&(o.UP=i,o.DOWN=n)),o}onKeyboardEvent(t){const e=this.getCurrentTrackingValue(),n=UJ.isNullOrUndefined(t.keyCode)?t.which:t.keyCode,i=this.getKeyActions(e)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[n]];if(UJ.isNullOrUndefined(i)||UJ.isNullOrUndefined(this.currentTrackingPointer))return;t.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));const r=$J.clampToRange(i,this.viewOptions.floor,this.viewOptions.ceil),s=this.roundStep(r);if(this.viewOptions.draggableRangeOnly){const t=this.viewHighValue-this.viewLowValue;let e,n;this.currentTrackingPointer===FJ.Min?(e=s,n=s+t,n>this.viewOptions.ceil&&(n=this.viewOptions.ceil,e=n-t)):this.currentTrackingPointer===FJ.Max&&(n=s,e=s-t,e=this.maxHandlePosition-n;let a,l;if(e<=i){if(0===r.position)return;a=this.getMinValue(e,!0,!1),l=this.getMaxValue(e,!0,!1)}else if(o){if(s.position===this.maxHandlePosition)return;l=this.getMaxValue(e,!0,!0),a=this.getMinValue(e,!0,!0)}else a=this.getMinValue(e,!1,!1),l=this.getMaxValue(e,!1,!1);this.positionTrackingBar(a,l)}positionTrackingBar(t,e){!UJ.isNullOrUndefined(this.viewOptions.minLimit)&&tthis.viewOptions.maxLimit&&(t=$J.roundToPrecisionLimit((e=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=t,this.viewHighValue=e,this.applyViewChange(),this.updateHandles(FJ.Min,this.valueToPosition(t)),this.updateHandles(FJ.Max,this.valueToPosition(e))}positionTrackingHandle(t){t=this.applyMinMaxLimit(t),this.range&&(this.viewOptions.pushRange?t=this.applyPushRange(t):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===FJ.Min&&t>this.viewHighValue?t=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===FJ.Max&&tthis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(FJ.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=FJ.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===FJ.Max&&tthis.viewOptions.maxLimit?this.viewOptions.maxLimit:t}applyMinMaxRange(t){const e=Math.abs(t-(this.currentTrackingPointer===FJ.Min?this.viewHighValue:this.viewLowValue));if(!UJ.isNullOrUndefined(this.viewOptions.minRange)&&ethis.viewOptions.maxRange){if(this.currentTrackingPointer===FJ.Min)return $J.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===FJ.Max)return $J.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return t}applyPushRange(t){const e=this.currentTrackingPointer===FJ.Min?this.viewHighValue-t:t-this.viewLowValue,n=UJ.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,i=this.viewOptions.maxRange;return ei&&(this.currentTrackingPointer===FJ.Min?(this.viewHighValue=$J.roundToPrecisionLimit(t+i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(FJ.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===FJ.Max&&(this.viewLowValue=$J.roundToPrecisionLimit(t-i,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(FJ.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),t}getChangeContext(){const t=new zJ;return t.pointerType=this.currentTrackingPointer,t.value=+this.value,this.range&&(t.highValue=+this.highValue),t}}return t.\u0275fac=function(e){return new(e||t)(ea(Dl),ea(Al),ea(nc),ea(Tu))},t.\u0275cmp=Jt({type:t,selectors:[["ng5-slider"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,mJ,5),2&t){let t;Qc(t=tu())&&(e.tooltipTemplate=t.first)}},viewQuery:function(t,e){if(1&t&&(Zc(bJ,5,qJ),Zc(yJ,5,qJ),Zc(vJ,5,qJ),Zc(_J,5,qJ),Zc(wJ,5,YJ),Zc(xJ,5,YJ),Zc(SJ,5,XJ),Zc(CJ,5,XJ),Zc(EJ,5,XJ),Zc(OJ,5,XJ),Zc(TJ,5,XJ),Zc(kJ,5,qJ)),2&t){let t;Qc(t=tu())&&(e.leftOuterSelectionBarElement=t.first),Qc(t=tu())&&(e.rightOuterSelectionBarElement=t.first),Qc(t=tu())&&(e.fullBarElement=t.first),Qc(t=tu())&&(e.selectionBarElement=t.first),Qc(t=tu())&&(e.minHandleElement=t.first),Qc(t=tu())&&(e.maxHandleElement=t.first),Qc(t=tu())&&(e.floorLabelElement=t.first),Qc(t=tu())&&(e.ceilLabelElement=t.first),Qc(t=tu())&&(e.minHandleLabelElement=t.first),Qc(t=tu())&&(e.maxHandleLabelElement=t.first),Qc(t=tu())&&(e.combinedLabelElement=t.first),Qc(t=tu())&&(e.ticksElement=t.first)}},hostAttrs:[1,"ng5-slider"],hostVars:5,hostBindings:function(t,e){1&t&&fa("resize",function(t){return e.onResize(t)},!1,Ar),2&t&&(Ko("disabled",e.sliderElementDisabledAttr),ja("vertical",e.sliderElementVerticalClass)("animate",e.sliderElementAnimateClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},features:[xl([t0]),ye],decls:29,vars:13,consts:[["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-left-out-selection"],["leftOuterSelectionBar",""],[1,"ng5-slider-span","ng5-slider-bar"],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-right-out-selection"],["rightOuterSelectionBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-full-bar"],["fullBar",""],["ng5SliderElement","",1,"ng5-slider-span","ng5-slider-bar-wrapper","ng5-slider-selection-bar"],["selectionBar",""],[1,"ng5-slider-span","ng5-slider-bar","ng5-slider-selection",3,"ngStyle"],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-min",3,"ngStyle"],["minHandle",""],["ng5SliderHandle","",1,"ng5-slider-span","ng5-slider-pointer","ng5-slider-pointer-max",3,"ngStyle"],["maxHandle",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-floor"],["floorLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-limit","ng5-slider-ceil"],["ceilLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-value"],["minHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-model-high"],["maxHandleLabel",""],["ng5SliderLabel","",1,"ng5-slider-span","ng5-slider-bubble","ng5-slider-combined"],["combinedLabel",""],["ng5SliderElement","",1,"ng5-slider-ticks",3,"hidden"],["ticksElement",""],["class","ng5-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ng5-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ng5-slider-span ng5-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ng5-slider-span ng5-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ng5-slider-span","ng5-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ng5-slider-span","ng5-slider-tick-legend",3,"innerHTML"]],template:function(t,e){1&t&&(ra(0,"span",0,1),oa(2,"span",2),sa(),ra(3,"span",3,4),oa(5,"span",2),sa(),ra(6,"span",5,6),oa(8,"span",2),sa(),ra(9,"span",7,8),oa(11,"span",9),sa(),oa(12,"span",10,11),oa(14,"span",12,13),oa(16,"span",14,15),oa(18,"span",16,17),oa(20,"span",18,19),oa(22,"span",20,21),oa(24,"span",22,23),ra(26,"span",24,25),Jo(28,IJ,4,9,"span",26),sa()),2&t&&(ws(6),ja("ng5-slider-transparent",e.fullBarTransparentClass),ws(3),ja("ng5-slider-draggable",e.selectionBarDraggableClass),ws(2),na("ngStyle",e.barStyle),ws(1),na("ngStyle",e.minPointerStyle),ws(2),La("display",e.range?"inherit":"none"),na("ngStyle",e.maxPointerStyle),ws(12),ja("ng5-slider-ticks-values-under",e.ticksUnderValuesClass),na("hidden",!e.showTicks),ws(2),na("ngForOf",e.ticks))},directives:function(){return[qJ,jh,YJ,XJ,kh,Oh,n0,Ah]},styles:[".ng5-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y} .ng5-slider.with-legend{margin-bottom:40px} .ng5-slider[disabled]{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ng5-slider[disabled] .ng5-slider-draggable{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-selection{background:#8b91a2} .ng5-slider[disabled] .ng5-slider-tick{cursor:not-allowed} .ng5-slider[disabled] .ng5-slider-tick.ng5-slider-selected{background:#8b91a2} .ng5-slider .ng5-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ng5-slider .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider .ng5-slider-bar-wrapper{left:0;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ng5-slider .ng5-slider-draggable{cursor:move} .ng5-slider .ng5-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;border-radius:2px} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-transparent .ng5-slider-bar{background:0 0} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-left-out-selection .ng5-slider-bar{background:#df002d} .ng5-slider .ng5-slider-bar-wrapper.ng5-slider-right-out-selection .ng5-slider-bar{background:#03a688} .ng5-slider .ng5-slider-selection{z-index:2;background:#0db9f0;border-radius:2px} .ng5-slider .ng5-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;border-radius:16px} .ng5-slider .ng5-slider-pointer:after{content:'';width:8px;height:8px;position:absolute;top:12px;left:12px;border-radius:4px;background:#fff} .ng5-slider .ng5-slider-pointer:hover:after{background-color:#fff} .ng5-slider .ng5-slider-pointer.ng5-slider-active{z-index:4} .ng5-slider .ng5-slider-pointer.ng5-slider-active:after{background-color:#451aff} .ng5-slider .ng5-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ng5-slider .ng5-slider-bubble.ng5-slider-limit{color:#55637d} .ng5-slider .ng5-slider-ticks{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ng5-slider .ng5-slider-ticks-values-under .ng5-slider-tick-value{top:auto;bottom:-36px} .ng5-slider .ng5-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ng5-slider .ng5-slider-tick.ng5-slider-selected{background:#0db9f0} .ng5-slider .ng5-slider-tick-value{position:absolute;top:-34px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)} .ng5-slider .ng5-slider-tick-legend{position:absolute;top:24px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);max-width:50px;white-space:normal} .ng5-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;-ms-touch-action:pan-x;touch-action:pan-x} .ng5-slider.vertical .ng5-slider-base{width:100%;height:100%;padding:0} .ng5-slider.vertical .ng5-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ng5-slider.vertical .ng5-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ng5-slider.vertical .ng5-slider-pointer{left:-14px!important;top:auto;bottom:0} .ng5-slider.vertical .ng5-slider-bubble{left:16px!important;bottom:0} .ng5-slider.vertical .ng5-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ng5-slider.vertical .ng5-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ng5-slider.vertical .ng5-slider-tick-value{left:24px;top:auto;-webkit-transform:translate(0,-28%);transform:translate(0,-28%)} .ng5-slider.vertical .ng5-slider-tick-legend{top:auto;right:24px;-webkit-transform:translate(0,-28%);transform:translate(0,-28%);max-width:none;white-space:nowrap} .ng5-slider.vertical .ng5-slider-ticks-values-under .ng5-slider-tick-value{bottom:auto;left:auto;right:24px} .ng5-slider *{-webkit-transition:none;transition:none} .ng5-slider.animate .ng5-slider-bar-wrapper{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-selection{-webkit-transition:background-color linear .3s;transition:background-color linear .3s} .ng5-slider.animate .ng5-slider-pointer{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble{-webkit-transition:all linear .3s;transition:all linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-limit{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-bubble.ng5-slider-combined{-webkit-transition:opacity linear .3s;transition:opacity linear .3s} .ng5-slider.animate .ng5-slider-tick{-webkit-transition:background-color linear .3s;transition:background-color linear .3s}"]}),t})(),n0=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ng5-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng5-slider-inner-tooltip"]],template:function(t,e){1&t&&(Jo(0,LJ,2,6,"ng-container",0),Jo(1,jJ,3,3,"ng-container",0)),2&t&&(na("ngIf",e.template),ws(1),na("ngIf",!e.template))},directives:[Ah,Fh],styles:[".ng5-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]}),t})(),i0=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();const r0=["popover"];function s0(t,e){if(1&t){const t=ua();ra(0,"div",7,8),ra(2,"div"),ra(3,"div",9),Ja(4),sa(),ra(5,"input",10),fa("keyup",function(e){return $e(t),va().onKeyLow(e)}),sa(),sa(),ra(6,"ng5-slider",11),fa("valueChange",function(e){return $e(t),va().lowValue=e})("highValueChange",function(e){return $e(t),va().highValue=e})("userChangeEnd",function(){return $e(t),va().sliderValueChanged()}),sa(),ra(7,"div"),ra(8,"div",12),Ja(9),sa(),ra(10,"input",13),fa("keyup",function(e){return $e(t),va().onKeyHigh(e)}),sa(),sa(),sa()}if(2&t){const t=va();ws(2),il("label min fade-in ",t.contentsVisible,""),ws(2),el(" ",t.options.floor,"> "),ws(1),Sa("value",t.lowValue),ws(1),il("slider fade-in ",t.contentsVisible,""),na("options",t.options)("value",t.lowValue)("highValue",t.highValue),ws(1),il("label max fade-in ",t.contentsVisible,""),ws(2),el(" ",t.options.ceil," "),ws(1),Sa("value",t.highValue)}}let o0=(()=>{class t{constructor(t,e,n){this.element=e,this.ga=n,this.selectionChange=new Bc,this.isSliderOpen=!1,this.contentsVisible="invisible",this.isSliderInitialized=!1;const i=t.position().flexibleConnectedTo(e).withPositions([{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"}]);this.overlayRef=t.create({panelClass:"slider-pane",positionStrategy:i})}get rangeLabel(){const{lowValue:t,highValue:e}=this;return t===e?`${t}`:`${t}-${e}`}ngOnChanges(t){t.valueRange&&this.optionsChanged(),t.selection&&(this.lowValue=Math.min(...this.selection),this.highValue=Math.max(...this.selection))}optionsChanged(){var t,e;this.options={floor:this.valueRange?this.valueRange[0]:0,ceil:this.valueRange?this.valueRange[1]:0,step:1,hideLimitLabels:!0,hidePointerLabels:!0},this.lowValue=null!==(t=this.options.floor)&&void 0!==t?t:0,this.highValue=null!==(e=this.options.ceil)&&void 0!==e?e:0}ngOnDestroy(){this.overlayRef.dispose()}closeSliderPopover(t){var e,n;const{element:i,isSliderOpen:r,popoverElement:s}=this;r&&(i.nativeElement.contains(t)||(null===(n=null===(e=null==s?void 0:s.nativeElement)||void 0===e?void 0:e.contains)||void 0===n?void 0:n.call(e,t))||(this.overlayRef.detach(),this.isSliderInitialized=!1,this.isSliderOpen=!1,this.contentsVisible="invisible"))}toggleSliderPopover(){const{isSliderOpen:t,isSliderInitialized:e}=this;e?(this.overlayRef.detach(),this.isSliderInitialized=!1):!e&&!t&&this.initializeSliderPopover(),this.contentsVisible="visible"===this.contentsVisible?"invisible":"visible",this.isSliderOpen=!t}sliderValueChanged(){const{lowValue:t,highValue:e}=this;this.selection=[t,e],this.ga.event("slider_range_change","dual_slider",`${this.label}:${t}:${e}`),this.selectionChange.emit(this.selection)}initializeSliderPopover(){const{overlayRef:t,popoverPortal:e}=this;t.attach(e),t.updatePosition(),this.isSliderInitialized=!0}onKeyLow(t){const e=Number(t.target.value);"Enter"===t.key&&(e>=Number(this.options.floor)&&e<=Number(this.options.ceil)&&(this.lowValue=e),t.target.value=String(this.lowValue),t.target.blur(),this.sliderValueChanged())}onKeyHigh(t){const e=Number(t.target.value);"Enter"===t.key&&(e>=Number(this.options.floor)&&e<=Number(this.options.ceil)&&(this.highValue=e),t.target.value=String(this.highValue),t.target.blur(),this.sliderValueChanged())}}return t.\u0275fac=function(e){return new(e||t)(ea(Vf),ea(Al),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-dual-slider"]],viewQuery:function(t,e){if(1&t&&(Zc(Zp,7),Zc(r0,5,Al)),2&t){let t;Qc(t=tu())&&(e.popoverPortal=t.first),Qc(t=tu())&&(e.popoverElement=t.first)}},hostBindings:function(t,e){1&t&&fa("click",function(t){return e.closeSliderPopover(t.target)},!1,Mr)("touchstart",function(t){return e.closeSliderPopover(t.target)},!1,Mr)},inputs:{label:"label",valueRange:"valueRange",selection:"selection"},outputs:{selectionChange:"selectionChange"},features:[ye],decls:10,vars:4,consts:[[1,"ccf-slider","wrapper"],[1,"container"],["class","ccf-slider detached",4,"cdk-portal"],[1,"slider-form-field",3,"click"],[1,"slider-labels"],[1,"name-label"],[1,"range-label"],[1,"ccf-slider","detached"],["popover",""],[1,"label","floor"],["type","text",1,"input-low",3,"value","keyup"],[3,"options","value","highValue","valueChange","highValueChange","userChangeEnd"],[1,"label","ceil"],["type","text",1,"input-high",3,"value","keyup"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Jo(2,s0,11,16,"div",2),ra(3,"mat-form-field",3),fa("click",function(){return e.toggleSliderPopover()}),ra(4,"div",4),ra(5,"span",5),Ja(6),sa(),ra(7,"span",6),Ja(8),sa(),sa(),oa(9,"mat-select"),sa(),sa(),sa()),2&t&&(ws(3),ja("highlight",e.isSliderOpen),ws(3),tl(e.label),ws(2),tl(e.rangeLabel))},directives:[Jp,QH,cJ,e0],styles:[".slider-form-field[_ngcontent-%COMP%]{width:100%;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-left:.25rem;padding-right:.25rem;height:3rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;font-size:.875rem}.slider-form-field[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{left:0rem;bottom:0rem;transform:none;height:.125rem}.slider-labels[_ngcontent-%COMP%]{display:flex;flex-direction:column}.slider-labels[_ngcontent-%COMP%] .name-label[_ngcontent-%COMP%]{padding-bottom:.25rem}.slider-labels[_ngcontent-%COMP%] .range-label[_ngcontent-%COMP%]{font-weight:bold} .ccf-slider.wrapper .mat-select-arrow-wrapper{transform:translatey(-1.5em)}@-webkit-keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@keyframes slideInHorizontalSlider{0%{width:0}to{width:20em}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.visible[_ngcontent-%COMP%]{-webkit-animation:fadeIn .3s;animation:fadeIn .3s;transition-delay:.275s;-webkit-animation-delay:.275s;animation-delay:.275s}.invisible[_ngcontent-%COMP%]{opacity:0} .slider-pane{position:absolute!important;top:-1px}.ccf-slider.detached[_ngcontent-%COMP%]{-webkit-animation:slideInHorizontalSlider .3s;animation:slideInHorizontalSlider .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;box-shadow:.2rem .2rem 1rem #0000003e;display:flex;justify-content:center;align-items:center;width:0rem;height:4.375rem;padding:.75rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] {visibility:hidden;margin-top:.9375rem;margin-bottom:.9375rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-bar{opacity:.2;height:.15rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-selection{opacity:1}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer{width:1rem;height:1rem;top:-.405rem}.ccf-slider.detached[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] .ng5-slider-pointer:after{display:none}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:2rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.min[_ngcontent-%COMP%]{margin-right:1rem}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%]{margin-left:1rem;align-items:flex-end}.ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label.max[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{text-align:right}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .floor[_ngcontent-%COMP%], .ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .ceil[_ngcontent-%COMP%]{font-size:.875rem}.ccf-slider.detached[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border:none;width:1.75rem;font-size:1rem;font-weight:bold;padding:0}"]}),t})();function a0(t,e){if(1&t){const t=ua();ra(0,"div",4),ra(1,"mat-checkbox",5),fa("change",function(e){const n=$e(t).$implicit;return va().filterOnChange(e,n)}),Ja(2),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ws(1),na("checked",null==n.selection?null:n.selection.includes(t)),ws(1),el(" ",t," ")}}let l0=(()=>{class t{constructor(t){this.ga=t,this.selection=[],this.columns=3,this.selectionChange=new Bc}filterOnChange(t,e){t.checked?(this.selection=[...this.selection,e],this.ga.event("filter_added","filter_checkbox",e)):(this.selection=this.selection.filter(t=>t!==e),this.ga.event("filter_removed","filter_checkbox",e)),this.selectionChange.emit(this.selection)}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-checkbox"]],inputs:{label:"label",options:"options",selection:"selection",columns:"columns"},outputs:{selectionChange:"selectionChange"},decls:5,vars:6,consts:[[1,"filter-container"],[1,"filter-label"],[1,"options-container"],["class","option",4,"ngFor","ngForOf"],[1,"option"],[3,"checked","change"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"div",2),Jo(4,a0,3,2,"div",3),sa(),sa()),2&t&&(ws(2),tl(e.label),ws(1),ja("three",3===e.columns)("four",4===e.columns),ws(1),na("ngForOf",e.options))},directives:[kh,xK],styles:[".mat-checkbox.mat-accent .mat-checkbox-checkmark-path{stroke:#fff!important} .mat-checkbox.mat-accent .mat-checkbox-inner-container{margin-right:1rem}.filter-label[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:bold}.options-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap}.options-container.three[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:33%}.options-container.four[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{width:25%}"],changeDetection:0}),t})();var c0;let u0=(()=>{class t{}return t.type="[SpatialSearchUi] Really update spatial search data",t})(),h0=c0=class{constructor(t,e,n,i){this.dataSource=t,this.store=e,this.ga=i,n.pipe(Cz(UZ),rg(500),eg(()=>e.dispatch(u0))).subscribe()}static organEntity(t,e){const{organId:n,sex:i}=t;return e.find(t=>{var e;return t.representation_of===n&&(null===(e=t.sex)||void 0===e?void 0:e.toLowerCase())===i})}startSpatialSearchFlow(t){const{sex:e,organId:n}=t.getState(),i=null==n?void 0:n.split("/").slice(-1)[0];return this.ga.event("set_organ","spatial_search_ui",`${e}_${i}`),t.dispatch(new NZ(e))}setSex(t,{sex:e}){let{organId:n}=t.getState();t.patchState({sex:e}),this.ga.event("set_sex","spatial_search_ui",e),void 0!==n&&!this.organValidForSex(n,e)&&(n=void 0);const i=Object.assign(Object.assign({},this.store.selectSnapshot(XQ.filter)),{spatialSearches:[]}),r=this.store.selectSnapshot(aZ.referenceOrgans);return this.dataSource.getOntologyTermOccurences(i).pipe(rf(1),eg(e=>{t.patchState({referenceOrgans:r.filter(t=>t.id&&!t.disabled&&e[t.id]>0)}),t.dispatch(new LZ(n))}))}setOrgan(t,{organId:e}){const{sex:n}=t.getState();t.patchState({sex:n,organId:e});const i=null==e?void 0:e.split("/").slice(-1)[0];this.ga.event("set_organ","spatial_search_ui",i);const r=this.store.selectSnapshot(c0.organEntity);if(r&&e&&r.sex){const{x_dimension:n,y_dimension:i,z_dimension:s}=r,o={x:Math.round(n/2),y:Math.round(i/2),z:Math.round(s/2)},a=Math.round(.07*Math.max(n,i,s)),l=this.store.selectSnapshot(XQ.filter),c=Object.assign(Object.assign({},l),{sex:r.sex,ontologyTerms:[e],spatialSearches:[]});return this.dataSource.getReferenceOrganScene(e,c).pipe(rf(1),eg(e=>{t.patchState({position:o,radius:a,defaultPosition:o,radiusSettings:{min:Math.min(a,5),max:Math.floor(Math.max(n,i,s)/1.5),defaultValue:a},organScene:vX(r).concat(e)})}),W(()=>t.dispatch(new UZ)))}}setPosition(t,{position:e}){t.patchState({position:e}),t.dispatch(new UZ);const{x:n,y:i,z:r}=e;this.ga.event("set_position","spatial_search_ui",`${n}_${i}_${r}`)}resetPosition(t){const{defaultPosition:e}=t.getState();t.patchState({position:e}),t.dispatch(new UZ);const{x:n,y:i,z:r}=null!=e?e:{x:0,y:0,z:0};this.ga.event("reset_position","spatial_search_ui",`${n}_${i}_${r}`)}moveToNode(t,{node:e}){const n=new VT(e.transformMatrix),[i,r,s]=n.getTranslation().map(t=>Math.round(1e3*t));return t.dispatch(new jZ({x:i,y:r,z:s}))}setRadius(t,{radius:e}){t.patchState({radius:e}),t.dispatch(new UZ),this.ga.event("set_radius","spatial_search_ui",e.toFixed(1))}resetRadius(t){var e;const{radiusSettings:n}=t.getState(),i=null!==(e=null==n?void 0:n.defaultValue)&&void 0!==e?e:0;t.patchState({radius:i}),t.dispatch(new UZ),this.ga.event("reset_radius","spatial_search_ui",i.toFixed(1))}updateSpatialSearch(t){const{position:e,radius:n}=t.getState(),i=this.store.selectSnapshot(c0.organEntity);if(i&&e&&n&&i.representation_of){const r=this.dataSource,s=i.representation_of,o=this.store.selectSnapshot(XQ.filter),a=Object.assign(Object.assign({},o),{sex:i.sex,ontologyTerms:[s],spatialSearches:[Object.assign(Object.assign({},e),{radius:n,target:i["@id"]})]});return Ev({spatialSearchScene:r.getReferenceOrganScene(s,a).pipe(rf(1)),tissueBlocks:r.getTissueBlockResults(a).pipe(rf(1)),anatomicalStructures:r.getOntologyTermOccurences(a).pipe(rf(1)),cellTypes:r.getCellTypeTermOccurences(a).pipe(rf(1))}).pipe(eg(e=>t.patchState(e)))}}generateSpatialSearch(t){const{position:e,radius:n,sex:i,organId:r,referenceOrgans:s=[],executeSearchOnGeneration:o}=t.getState(),a=this.store.selectSnapshot(c0.organEntity),l=s.find(t=>t.id===r);if(e&&n&&(null==a?void 0:a.representation_of)&&l){const r=Object.assign(Object.assign({},e),{radius:n,target:a["@id"]}),s=[new KQ(i,l.name,r)];if(o){const t=this.store.selectSnapshot(tZ.selectedSearches);s.push(new HQ({spatialSearches:t.concat(r)}))}return this.ga.event("generate_search","spatial_search_ui"),t.dispatch(s).pipe(eg(()=>t.patchState({sex:"female",organId:void 0})))}}setExecuteSearchOnGenerate(t,{execute:e}){t.patchState({executeSearchOnGeneration:e})}organValidForSex(t,e){const n=this.store.selectSnapshot(aZ.referenceOrgans).find(e=>e.id===t);return n.hasSex||n.sex===e}};h0.\u0275fac=function(t){return new(t||h0)(Ei(iQ),Ei(qz),Ei(Az),Ei(jW))},h0.\u0275prov=xt({token:h0,factory:h0.\u0275fac}),vw([eU(RZ)],h0.prototype,"startSpatialSearchFlow",null),vw([eU(NZ)],h0.prototype,"setSex",null),vw([eU(LZ)],h0.prototype,"setOrgan",null),vw([eU(jZ)],h0.prototype,"setPosition",null),vw([eU(BZ)],h0.prototype,"resetPosition",null),vw([eU(FZ)],h0.prototype,"moveToNode",null),vw([eU(VZ)],h0.prototype,"setRadius",null),vw([eU(zZ)],h0.prototype,"resetRadius",null),vw([eU(u0)],h0.prototype,"updateSpatialSearch",null),vw([eU(HZ)],h0.prototype,"generateSpatialSearch",null),vw([eU($Z)],h0.prototype,"setExecuteSearchOnGenerate",null),vw([rU([c0,aZ.referenceOrganEntities])],h0,"organEntity",null),h0=c0=vw([nU({name:"spatialSearchUi",defaults:{sex:"female",executeSearchOnGeneration:!0}})],h0);class d0{static sex(t){return t.sex}static referenceOrgans(t){var e;return null!==(e=t.referenceOrgans)&&void 0!==e?e:[]}static organId(t){return t.organId}static organ(t,e){if(void 0!==t)return e.find(e=>e.id===t)}static organs(t,e){return e.filter(e=>this.organMatchesSex(e,t))}static organMatchesSex(t,e){return t.hasSex||t.sex===e}static position(t){var e;return null!==(e=t.position)&&void 0!==e?e:{x:0,y:0,z:0}}static defaultPosition(t){var e;return null!==(e=t.defaultPosition)&&void 0!==e?e:{x:0,y:0,z:0}}static radius(t){var e;return null!==(e=t.radius)&&void 0!==e?e:0}static radiusSettings(t){var e;return null!==(e=t.radiusSettings)&&void 0!==e?e:{min:0,max:0,defaultValue:0}}static scene(t,e,n,i){var r,s;const o=function(t,e){var n;const i=t.x_dimension/1e3,r=t.y_dimension/1e3,s=t.z_dimension/1e3,o=.07*Math.max(i,r,s),a=.05*o,l=2*o,c=4*a;return e=e?Object.assign(Object.assign({},e),{radius:e.radius/1e3,x:e.x/1e3,y:e.y/1e3,z:e.z/1e3}):{target:null!==(n=t.representation_of)&&void 0!==n?n:t["@id"],radius:o,x:i/2,y:r/2,z:s/2},[{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingSphere","@type":"SpatialSceneNode",unpickable:!1,geometry:"sphere",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z]).scale(e.radius),color:hX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXD","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l/2,e.y,e.z]).rotateZ(ZS(-90)).scale([a,l,a]),color:dX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l,e.y,e.z]).rotateZ(ZS(-90)).scale([c,3*c,c]),color:dX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXDLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"D",transformMatrix:new VT(VT.IDENTITY).translate([e.x+e.radius+l+3*c,e.y,e.z]).scale(c),color:dX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXA","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l/2,e.y,e.z]).rotateZ(ZS(-90)).scale([a,l,a]),color:dX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXACone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l,e.y,e.z]).rotateZ(ZS(90)).scale([c,3*c,c]),color:dX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereXALabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"A",transformMatrix:new VT(VT.IDENTITY).translate([e.x-e.radius-l-3.5*c,e.y,e.z]).scale(c),color:dX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYW","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l/2,e.z]).scale([a,l,a]),color:pX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l,e.z]).scale([c,3*c,c]),color:pX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYWLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"W",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y+e.radius+l+3*c,e.z]).scale(c),color:pX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYS","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l/2,e.z]).scale([a,l,a]),color:pX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l,e.z]).rotateZ(ZS(180)).scale([c,3*c,c]),color:pX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereYSLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"S",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y-e.radius-l-3.5*c,e.z]).scale(c),color:pX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZE","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l/2]).rotateX(ZS(90)).scale([a,l,a]),color:fX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZECone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l]).rotateX(ZS(90)).scale([c,3*c,c]),color:fX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZELabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"E",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z+e.radius+l+3*c]).scale(c),color:fX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQ","@type":"SpatialSceneNode",unpickable:!0,geometry:"cylinder",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l/2]).rotateX(ZS(-90)).scale([a,l,a]),color:fX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQCone","@type":"SpatialSceneNode",unpickable:!0,geometry:"cone",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l]).rotateX(ZS(-90)).scale([c,3*c,c]),color:fX},{"@id":"http://purl.org/ccf/latest/ccf.owl#ProbingsphereZQLabel","@type":"SpatialSceneNode",unpickable:!0,geometry:"text",text:"Q",transformMatrix:new VT(VT.IDENTITY).translate([e.x,e.y,e.z-e.radius-l-3.5*c]).scale(c),color:fX}]}(e,Object.assign(Object.assign({},n),{radius:i,target:e["@id"]})),a=new Set((null!==(r=t.tissueBlocks)&&void 0!==r?r:[]).map(t=>t.spatialEntityId));return(null!==(s=t.organScene)&&void 0!==s?s:[]).map(t=>(a.has(t["@id"])&&(t=Object.assign(Object.assign({},t),{color:[41,121,255,229.5]})),t)).concat(o)}static sceneBounds(t){const{x_dimension:e,y_dimension:n,z_dimension:i}=t,r=.42*Math.max(e,n,i);return{x:(r+e)/1e3,y:(r+n)/1e3,z:(r+i)/1e3}}static sceneTarget(t){const{x_dimension:e,y_dimension:n,z_dimension:i}=t;return[e/1e3/2,n/1e3/2,i/1e3/2]}static tissueBlocks(t){var e;return null!==(e=t.tissueBlocks)&&void 0!==e?e:[]}static anatomicalStructures(t,e){return this.getTermCounts(t.anatomicalStructures,e)}static cellTypes(t,e){return this.getTermCounts(t.cellTypes,e)}static getTermCounts(t,e){return Object.entries(null!=t?t:{}).filter(([t,e])=>e>0).map(([t,n])=>{var i,r;return{"@id":t,label:null!==(r=null===(i=e.nodes[t])||void 0===i?void 0:i.label)&&void 0!==r?r:t.split("/").slice(-1)[0],count:n}})}}function p0(t,e){if(1&t&&(ra(0,"div",6),ra(1,"mat-icon",7),Ja(2,"person"),sa(),ra(3,"div",8),ra(4,"div",9),Ja(5),sa(),ra(6,"div",9),Ja(7),sa(),sa(),sa()),2&t){const t=e.$implicit;ws(5),tl(t.donor.label),ws(2),tl(t.donor.description)}}d0.organEntity=h0.organEntity,vw([rU([h0])],d0,"sex",null),vw([rU([h0])],d0,"referenceOrgans",null),vw([rU([h0])],d0,"organId",null),vw([rU([d0.organId,d0.referenceOrgans])],d0,"organ",null),vw([rU([d0.sex,d0.referenceOrgans])],d0,"organs",null),vw([rU([h0])],d0,"position",null),vw([rU([h0])],d0,"defaultPosition",null),vw([rU([h0])],d0,"radius",null),vw([rU([h0])],d0,"radiusSettings",null),vw([rU([h0,h0.organEntity,d0.position,d0.radius])],d0,"scene",null),vw([rU([h0.organEntity])],d0,"sceneBounds",null),vw([rU([h0.organEntity])],d0,"sceneTarget",null),vw([rU([h0])],d0,"tissueBlocks",null),vw([rU([h0,XQ.anatomicalStructuresTreeModel])],d0,"anatomicalStructures",null),vw([rU([h0,XQ.cellTypesTreeModel])],d0,"cellTypes",null);let f0=(()=>{class t{constructor(){this.className="ccf-tissue-block-list",this.tissueBlocks=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tissue-block-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{tissueBlocks:"tissueBlocks"},decls:8,vars:2,consts:[[1,"tissue-block-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltip","Total quantity of registered Tissue Blocks detected by the Probing Sphere","matTooltipPosition","right"],[1,"tissue-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"icon"],[1,"donor-info"],[1,"description"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"button",2),ra(4,"mat-icon",3),Ja(5,"info"),sa(),sa(),sa(),ra(6,"div",4),Jo(7,p0,8,2,"div",5),sa()),2&t&&(ws(2),el("",e.tissueBlocks.length," Tissue Blocks"),ws(5),na("ngForOf",e.tissueBlocks))},directives:[T_,gw,kh],styles:["[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .tissue-block-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .tissue-list[_ngcontent-%COMP%]{overflow:auto}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{min-height:3rem;display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem;width:22rem;padding:.5rem;box-shadow:0 3px 6px #00000029;cursor:pointer;margin-right:1rem;margin-bottom:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),t})();function g0(t,e){if(1&t&&(ra(0,"div",6),ra(1,"div",7),ra(2,"div",8),Ja(3),sa(),ra(4,"div",8),Ja(5),sa(),sa(),sa()),2&t){const t=e.$implicit;ws(3),tl(t.label),ws(2),tl(t.count)}}let m0=(()=>{class t{constructor(){this.className="ccf-term-occurrence-list",this.termList=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-term-occurrence-list"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{termList:"termList",title:"title",toolTipText:"toolTipText"},decls:8,vars:4,consts:[[1,"term-list-header"],[1,"title"],["mat-icon-button","",1,"info"],["matTooltipPosition","right",3,"matTooltip"],[1,"term-list"],["class","donor",4,"ngFor","ngForOf"],[1,"donor"],[1,"term-bloc"],[1,"term-line"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),Ja(2),sa(),ra(3,"button",2),ra(4,"mat-icon",3),Ja(5,"info"),sa(),sa(),sa(),ra(6,"div",4),Jo(7,g0,6,2,"div",5),sa()),2&t&&(ws(2),nl("",e.termList.length," ",e.title,""),ws(2),Sa("matTooltip",e.toolTipText),ws(3),na("ngForOf",e.termList))},directives:[T_,gw,kh],styles:["[_nghost-%COMP%]{padding-top:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .counter[_ngcontent-%COMP%]{font-size:1rem}[_nghost-%COMP%] .term-list-header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{padding-right:0;background:none;border:none;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%]{overflow:auto;padding-left:2rem;font-size:1rem}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-bloc[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-bottom:1rem;overflow:auto}[_nghost-%COMP%] .term-list[_ngcontent-%COMP%] .term-line[_ngcontent-%COMP%]{padding-right:2rem}"],changeDetection:0}),t})();function b0(t,e){if(1&t&&(ra(0,"mat-icon",8),Ja(1),sa()),2&t){const t=e.$implicit;ja("active",va().currentKey===t.key),ws(1),el("",t.direction," ")}}function y0(t,e){1&t&&(ra(0,"div",9),Ja(1,"SHIFT"),sa())}let v0=(()=>{class t{constructor(){this.className="ccf-spatial-search-keyboard-ui",this.keyClicked=new Bc,this.keyHovered=new Bc,this.keyMap=[{key:"w",direction:"north"},{key:"s",direction:"south"},{key:"a",direction:"west"},{key:"d",direction:"east"},{key:"e",direction:"north_east"},{key:"q",direction:"south_west"}]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-keyboard-ui"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{currentKey:"currentKey",shiftPressed:"shiftPressed"},outputs:{keyClicked:"keyClicked",keyHovered:"keyHovered"},decls:18,vars:14,consts:[[1,"direction-arrow"],["class","arrow",3,"active",4,"ngFor","ngForOf"],[1,"keys"],[1,"keyrow"],[1,"key","blue",3,"mousedown","mouseover","mouseout"],[1,"key","green",3,"mousedown","mouseover","mouseout"],[1,"key","red",3,"mousedown","mouseover","mouseout"],["class","shift",4,"ngIf"],[1,"arrow"],[1,"shift"]],template:function(t,e){1&t&&(ra(0,"div",0),Jo(1,b0,2,3,"mat-icon",1),sa(),ra(2,"div",2),ra(3,"div",3),ra(4,"div",4),fa("mousedown",function(){return e.keyClicked.emit("q")})("mouseover",function(){return e.keyHovered.emit("q")})("mouseout",function(){return e.keyHovered.emit()}),Ja(5,"Q"),sa(),ra(6,"div",5),fa("mousedown",function(){return e.keyClicked.emit("w")})("mouseover",function(){return e.keyHovered.emit("w")})("mouseout",function(){return e.keyHovered.emit()}),Ja(7,"W"),sa(),ra(8,"div",4),fa("mousedown",function(){return e.keyClicked.emit("e")})("mouseover",function(){return e.keyHovered.emit("e")})("mouseout",function(){return e.keyHovered.emit()}),Ja(9,"E"),sa(),sa(),ra(10,"div",3),ra(11,"div",6),fa("mousedown",function(){return e.keyClicked.emit("a")})("mouseover",function(){return e.keyHovered.emit("a")})("mouseout",function(){return e.keyHovered.emit()}),Ja(12,"A"),sa(),ra(13,"div",5),fa("mousedown",function(){return e.keyClicked.emit("s")})("mouseover",function(){return e.keyHovered.emit("s")})("mouseout",function(){return e.keyHovered.emit()}),Ja(14,"S"),sa(),ra(15,"div",6),fa("mousedown",function(){return e.keyClicked.emit("d")})("mouseover",function(){return e.keyHovered.emit("d")})("mouseout",function(){return e.keyHovered.emit()}),Ja(16,"D"),sa(),sa(),Jo(17,y0,2,0,"div",7),sa()),2&t&&(ws(1),na("ngForOf",e.keyMap),ws(3),ja("highlighted","q"===e.currentKey),ws(2),ja("highlighted","w"===e.currentKey),ws(2),ja("highlighted","e"===e.currentKey),ws(3),ja("highlighted","a"===e.currentKey),ws(2),ja("highlighted","s"===e.currentKey),ws(2),ja("highlighted","d"===e.currentKey),ws(2),na("ngIf",e.shiftPressed))},directives:[kh,Ah,T_],styles:["[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(5,.5fr);grid-template-rows:1fr;grid-column-gap:0px;grid-row-gap:0px;margin-bottom:1rem;width:7rem}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow[_ngcontent-%COMP%]{grid-area:1/3/2/4;opacity:0;transition:.5s}[_nghost-%COMP%] .direction-arrow[_ngcontent-%COMP%] .arrow.active[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .keys[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:0;grid-gap:.5rem;gap:.5rem;width:7rem;height:7rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:0;grid-gap:.5rem;gap:.5rem}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .keyrow[_ngcontent-%COMP%] .key[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:2rem;height:2rem;border:2px solid;border-radius:.5rem;cursor:pointer}[_nghost-%COMP%] .keys[_ngcontent-%COMP%] .shift[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.25rem;width:7rem;height:2rem;border:2px solid;border-radius:.5rem}"],changeDetection:0}),t})(),_0=(()=>{class t{constructor(){this.className="ccf-spatial-search-keyboard-ui-behavior",this.delta=1,this.shiftDelta=2,this.changePosition=new Bc,this.shiftPressed=!1}updatePosition(t){if(this.currentDelta=this.shiftPressed?this.shiftDelta:this.delta,"Shift"===t)this.shiftPressed=!0;else{switch(this.currentKey=t.toLowerCase(),this.currentKey){case"q":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z-this.currentDelta});break;case"e":this.position=Object.assign(Object.assign({},this.position),{z:this.position.z+this.currentDelta});break;case"w":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y+this.currentDelta});break;case"s":this.position=Object.assign(Object.assign({},this.position),{y:this.position.y-this.currentDelta});break;case"a":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x-this.currentDelta});break;case"d":this.position=Object.assign(Object.assign({},this.position),{x:this.position.x+this.currentDelta})}this.changePosition.emit(this.position)}}handleKey(t){t.preventDefault(),this.updatePosition(t.key)}keyUp(t){"Shift"===t.key?this.shiftPressed=!1:this.currentKey=void 0}keyClick(t){this.updatePosition(t)}keyHover(t){this.currentKey=t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-keyboard-ui-behavior"]],hostVars:2,hostBindings:function(t,e){1&t&&fa("keydown",function(t){return e.handleKey(t)},!1,Mr)("keyup",function(t){return e.keyUp(t)},!1,Mr),2&t&&Va(e.className)},inputs:{delta:"delta",shiftDelta:"shiftDelta",position:"position"},outputs:{changePosition:"changePosition"},decls:1,vars:2,consts:[[3,"currentKey","shiftPressed","keyClicked","keyHovered"]],template:function(t,e){1&t&&(ra(0,"ccf-spatial-search-keyboard-ui",0),fa("keyClicked",function(t){return e.keyClick(t)})("keyHovered",function(t){return e.keyHover(t)}),sa()),2&t&&na("currentKey",e.currentKey)("shiftPressed",e.shiftPressed)},directives:[v0],encapsulation:2,changeDetection:0}),t})(),w0=(()=>{class t{constructor(){this.className="ccf-spatial-search-ui",this.addSpatialSearch=new Bc,this.resetPosition=new Bc,this.resetSphere=new Bc,this.closeSpatialSearch=new Bc,this.radiusChange=new Bc,this.positionChange=new Bc,this.editReferenceOrganClicked=new Bc,this.infoClicked=new Bc,this.nodeClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-ui"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{scene:"scene",sceneBounds:"sceneBounds",sceneTarget:"sceneTarget",sex:"sex",referenceOrgan:"referenceOrgan",radius:"radius",radiusSettings:"radiusSettings",defaultPosition:"defaultPosition",position:"position",tissueBlocks:"tissueBlocks",anatomicalStructures:"anatomicalStructures",cellTypes:"cellTypes"},outputs:{addSpatialSearch:"addSpatialSearch",resetPosition:"resetPosition",resetSphere:"resetSphere",closeSpatialSearch:"closeSpatialSearch",radiusChange:"radiusChange",positionChange:"positionChange",editReferenceOrganClicked:"editReferenceOrganClicked",infoClicked:"infoClicked",nodeClicked:"nodeClicked"},decls:55,vars:27,consts:[[1,"header"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"content"],[1,"info-panel"],[1,"organ-sex-selection"],[1,"sex"],[1,"label"],[1,"current-sex"],[1,"organ"],[1,"current-organ"],[1,"edit",3,"click"],[1,"radius-slider"],[1,"slider-container"],[1,"slider",3,"max","min","step","value","input"],[1,"text","value"],[1,"reset-buttons"],["mat-button","",1,"reset-sphere","button",3,"click"],["mat-button","",1,"reset-camera","button",3,"click"],[1,"results"],[1,"tissue-block","list",3,"tissueBlocks"],["title","Anatomical Structures","toolTipText","Total quantity of predicted anatomical structures detected by the Probing Sphere",1,"anatomical-structures","list",3,"termList"],["title","Predicted Cell Types from ASCT+B Tables","toolTipText","Total quantity of predicted cell types detected by the Probing Sphere",1,"cell-type","list",3,"termList"],["mat-button","",1,"run-spatial-search","button",3,"click"],[1,"spatial-search-scene"],[1,"primary-scene-wrapper"],[1,"body-ui-hint"],[1,"primary-scene",3,"scene","bounds","target","nodeClick","rotationChange"],["primary",""],[1,"sidebar"],[1,"minimap-scene",3,"interactive","scene","bounds","target","nodeClick"],["minimap",""],[3,"delta","shiftDelta","position","changePosition"],[3,"x","y","z"]],template:function(t,e){if(1&t){const t=ua();ra(0,"div",0),ra(1,"div",1),Ja(2,"Configure Spatial Search"),sa(),ra(3,"button",2),ra(4,"mat-icon",3),fa("click",function(){return e.infoClicked.emit()}),Ja(5,"info"),sa(),sa(),ra(6,"button",4),ra(7,"mat-icon",3),fa("click",function(){return e.closeSpatialSearch.emit()}),Ja(8,"close"),sa(),sa(),sa(),ra(9,"div",5),ra(10,"div",6),ra(11,"div",7),ra(12,"div",8),ra(13,"div",9),Ja(14,"Donor Sex: "),sa(),ra(15,"div",10),Ja(16),sa(),sa(),ra(17,"div",11),ra(18,"div",9),Ja(19,"Organ: "),sa(),ra(20,"div",12),Ja(21),sa(),sa(),ra(22,"div",13),fa("click",function(){return e.editReferenceOrganClicked.emit()}),Ja(23,"Edit"),sa(),sa(),oa(24,"mat-divider"),ra(25,"div",14),ra(26,"div",1),Ja(27,"Probing Sphere Radius"),sa(),ra(28,"div",15),ra(29,"mat-slider",16),fa("input",function(t){return e.radiusChange.emit(t.value)}),sa(),ra(30,"span",17),Ja(31),sa(),sa(),ra(32,"div",18),ra(33,"button",19),fa("click",function(){return e.resetSphere.emit(),e.resetPosition.emit()}),Ja(34,"Reset Probing Sphere"),sa(),ra(35,"button",20),fa("click",function(){$e(t);const n=ta(49),i=ta(52);return n.rotation=n.rotationX=i.rotation=i.rotationX=0,n.target=i.target=e.sceneTarget,n.bounds=i.bounds=e.sceneBounds}),Ja(36,"Reset Camera View"),sa(),sa(),sa(),oa(37,"mat-divider"),ra(38,"div",21),oa(39,"ccf-tissue-block-list",22),oa(40,"ccf-term-occurrence-list",23),oa(41,"ccf-term-occurrence-list",24),sa(),ra(42,"button",25),fa("click",function(){return e.addSpatialSearch.emit()}),Ja(43,"Run Spatial Search"),sa(),sa(),ra(44,"div",26),ra(45,"div",27),ra(46,"div",28),Ja(47,"Use the keyboard or click a Tissue Block to move the Probing Sphere"),sa(),ra(48,"ccf-body-ui",29,30),fa("nodeClick",function(t){return e.nodeClicked.emit(null==t?null:t.node)})("rotationChange",function(e){$e(t);const n=ta(52);return n.rotation=e[0],n.rotationX=e[1]}),sa(),sa(),ra(50,"div",31),ra(51,"ccf-body-ui",32,33),fa("nodeClick",function(t){return e.nodeClicked.emit(null==t?null:t.node)}),sa(),ra(53,"ccf-spatial-search-keyboard-ui-behavior",34),fa("changePosition",function(t){return e.positionChange.emit(t)}),sa(),oa(54,"ccf-xyz-position",35),sa(),sa(),sa()}2&t&&(ws(16),tl(e.sex.charAt(0).toUpperCase()+e.sex.slice(1)),ws(5),tl(e.referenceOrgan.name),ws(8),na("max",e.radiusSettings.max)("min",e.radiusSettings.min)("step",1)("value",e.radius),ws(2),el("",e.radius," mm"),ws(2),ja("disabled",e.radius===e.radiusSettings.defaultValue&&e.position===e.defaultPosition),ws(6),na("tissueBlocks",e.tissueBlocks),ws(1),na("termList",e.anatomicalStructures),ws(1),na("termList",e.cellTypes),ws(1),ja("disabled",0===(null==e.tissueBlocks?null:e.tissueBlocks.length)),ws(6),na("scene",e.scene)("bounds",e.sceneBounds)("target",e.sceneTarget),ws(3),na("interactive",!1)("scene",e.scene)("bounds",e.sceneBounds)("target",e.sceneTarget),ws(2),na("delta",1)("shiftDelta",2)("position",e.position),ws(1),na("x",e.position.x)("y",e.position.y)("z",e.position.z))},directives:[R_,T_,ZX,F$,f0,m0,OK,_0,TQ],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:1rem;gap:1rem;height:95vh;width:78vw;border-radius:.25rem;min-height:45rem;min-width:60rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;width:100%}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .info[_ngcontent-%COMP%], [_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:flex;width:100%;height:calc(100% - 3.5rem)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border-width:1px;border-style:solid;border-radius:.25rem;font-size:.875rem;height:2rem;line-height:2rem;transition:.5s}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .button.disabled[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-right:2rem;grid-gap:1rem;gap:1rem;width:25rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%]{display:flex;font-size:1rem;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:300;margin-right:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .sex[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-sex[_ngcontent-%COMP%], [_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .organ[_ngcontent-%COMP%] .current-organ[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .organ-sex-selection[_ngcontent-%COMP%] .edit[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:19rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .slider-container[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%]{display:flex;justify-content:space-between}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .radius-slider[_ngcontent-%COMP%] .reset-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:11.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%]{height:calc(100% - 15rem - 2px)}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .info-panel[_ngcontent-%COMP%] .results[_ngcontent-%COMP%] .list[_ngcontent-%COMP%]{height:33%;display:flex;flex-direction:column}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%]{display:flex;width:calc(100% - 25rem);background-color:#000;border-radius:.5rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;height:100%}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .primary-scene[_ngcontent-%COMP%]{flex:auto;overflow:hidden}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .primary-scene-wrapper[_ngcontent-%COMP%] .body-ui-hint[_ngcontent-%COMP%]{color:#fff;font-size:1rem;margin:1rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%]{margin:1.5rem;width:12.75rem;height:11rem}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] .minimap-scene[_ngcontent-%COMP%] .body-ui{background-color:#232f3a}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-spatial-search-keyboard-ui-behavior[_ngcontent-%COMP%]{margin:1.5rem;display:flex;justify-content:center}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .spatial-search-scene[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] ccf-xyz-position[_ngcontent-%COMP%]{margin:1.5rem;padding-left:5rem}"],changeDetection:0}),t})();function x0(t,e){if(1&t){const t=ua();ra(0,"ccf-spatial-search-ui",1),fa("addSpatialSearch",function(){return $e(t),va().addSpatialSearch()})("radiusChange",function(e){return $e(t),va().updateRadius(e)})("resetPosition",function(){return $e(t),va().resetPosition()})("resetSphere",function(){return $e(t),va().resetRadius()})("positionChange",function(e){return $e(t),va().updatePosition(e)})("closeSpatialSearch",function(){return $e(t),va().close()})("editReferenceOrganClicked",function(){return $e(t),va().openSpatialSearchConfig()})("infoClicked",function(){return $e(t),va().onDialogButtonClick()})("nodeClicked",function(e){return $e(t),va().moveToNode(e)}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),Dc(5,"async"),Dc(6,"async"),Dc(7,"async"),Dc(8,"async"),Dc(9,"async"),Dc(10,"async"),Dc(11,"async"),sa()}if(2&t){const t=e.ngIf,n=va();na("sex",Rc(1,12,n.sex$))("referenceOrgan",t)("radius",Rc(2,14,n.radius$))("radiusSettings",Rc(3,16,n.radiusSettings$))("defaultPosition",Rc(4,18,n.defaultPosition$))("position",Rc(5,20,n.position$))("scene",Rc(6,22,n.scene$))("sceneBounds",Rc(7,24,n.sceneBounds$))("sceneTarget",Rc(8,26,n.sceneTarget$))("tissueBlocks",Rc(9,28,n.tissueBlocks$))("anatomicalStructures",Rc(10,30,n.anatomicalStructures$))("cellTypes",Rc(11,32,n.cellTypes$))}}class S0{constructor(t,e,n){this.dialogRef=t,this.dialog=e,this.infoService=n,this.updatePosition=jQ(jZ),this.resetPosition=jQ(BZ),this.moveToNode=jQ(FZ),this.updateRadius=jQ(VZ),this.resetRadius=jQ(zZ),this.subscriptions=new g}launchInfoDialog(t){this.subscriptions.unsubscribe(),this.dialog.open($K,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");const t=this.infoService.panelContent.asObservable();this.subscriptions.add(t.subscribe(t=>{t.content.length&&(this.panelData=t,this.launchInfoDialog(this.panelData))}))}close(){this.dialogRef.close()}addSpatialSearch(){return this.close(),new HZ}openSpatialSearchConfig(){this.close(),this.dialog.open(z0)}}S0.\u0275fac=function(t){return new(t||S0)(ea(X$),ea(nG),ea(WK))},S0.\u0275cmp=Jt({type:S0,selectors:[["ccf-spatial-search-ui-behavior"]],decls:2,vars:3,consts:[[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked",4,"ngIf"],[3,"sex","referenceOrgan","radius","radiusSettings","defaultPosition","position","scene","sceneBounds","sceneTarget","tissueBlocks","anatomicalStructures","cellTypes","addSpatialSearch","radiusChange","resetPosition","resetSphere","positionChange","closeSpatialSearch","editReferenceOrganClicked","infoClicked","nodeClicked"]],template:function(t,e){1&t&&(Jo(0,x0,12,34,"ccf-spatial-search-ui",0),Dc(1,"async")),2&t&&na("ngIf",Rc(1,1,e.organ$))},directives:[Ah,w0],pipes:[$h],encapsulation:2,changeDetection:0}),vw([iU(d0.scene)],S0.prototype,"scene$",void 0),vw([iU(d0.sceneBounds)],S0.prototype,"sceneBounds$",void 0),vw([iU(d0.sceneTarget)],S0.prototype,"sceneTarget$",void 0),vw([iU(d0.sex)],S0.prototype,"sex$",void 0),vw([iU(d0.organ)],S0.prototype,"organ$",void 0),vw([iU(d0.position)],S0.prototype,"position$",void 0),vw([iU(d0.defaultPosition)],S0.prototype,"defaultPosition$",void 0),vw([iU(d0.radius)],S0.prototype,"radius$",void 0),vw([iU(d0.radiusSettings)],S0.prototype,"radiusSettings$",void 0),vw([iU(d0.tissueBlocks)],S0.prototype,"tissueBlocks$",void 0),vw([iU(d0.anatomicalStructures)],S0.prototype,"anatomicalStructures$",void 0),vw([iU(d0.cellTypes)],S0.prototype,"cellTypes$",void 0),vw([KX()],S0.prototype,"updatePosition",void 0),vw([KX()],S0.prototype,"resetPosition",void 0),vw([KX()],S0.prototype,"moveToNode",void 0),vw([KX()],S0.prototype,"updateRadius",void 0),vw([KX()],S0.prototype,"resetRadius",void 0),vw([KX()],S0.prototype,"addSpatialSearch",null);const C0=["input"],E0=function(t){return{enterDuration:t}},O0=["*"],T0=new oi("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}});let k0=0;const P0={provide:aU,useExisting:pt(()=>D0),multi:!0};class A0{constructor(t,e){this.source=t,this.value=e}}const M0=new oi("MatRadioGroup");let I0=(()=>{class t{constructor(t){this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+k0++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new Bc}get name(){return this._name}set name(t){this._name=t,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(t){this._labelPosition="before"===t?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(t){this._selected=t,this.value=t?t.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(t){this._disabled=kd(t),this._markRadiosForCheck()}get required(){return this._required}set required(t){this._required=kd(t),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(t=>{t.name=this.name,t._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(t=>{t.checked=this.value===t.value,t.checked&&(this._selected=t)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new A0(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(t=>t._markForCheck())}writeValue(t){this.value=t,this._changeDetector.markForCheck()}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetector.markForCheck()}}return t.\u0275fac=function(e){return new(e||t)(ea(nc))},t.\u0275dir=se({type:t,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),t})(),D0=(()=>{class t extends I0{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["mat-radio-group"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,j0,5),2&t){let t;Qc(t=tu())&&(e._radios=t)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[xl([P0,{provide:M0,useExisting:t}]),jo]}),t})();class R0{constructor(t){this._elementRef=t}}const N0=Xy(Ky(R0));let L0=(()=>{class t extends N0{constructor(t,e,n,i,r,s,o,a){super(e),this._changeDetector=n,this._focusMonitor=i,this._radioDispatcher=r,this._providerOverride=o,this._uniqueId="mat-radio-"+ ++k0,this.id=this._uniqueId,this.change=new Bc,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=t,this._noopAnimations="NoopAnimations"===s,a&&(this.tabIndex=Pd(a,0)),this._removeUniqueSelectionListener=r.listen((t,e)=>{t!==this.id&&e===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(t){const e=kd(t);this._checked!==e&&(this._checked=e,e&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!e&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),e&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===t),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(t){this._labelPosition=t}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(t){this._setDisabled(kd(t))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(t){this._required=kd(t)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(t){this._color=t}get inputId(){return`${this.id||this._uniqueId}-input`}focus(t,e){e?this._focusMonitor.focusVia(this._inputElement,e,t):this._inputElement.nativeElement.focus(t)}_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)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{!t&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new A0(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(t){t.stopPropagation()}_onInputInteraction(t){if(t.stopPropagation(),!this.checked&&!this.disabled){const t=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),t&&this.radioGroup._emitChangeEvent())}}_setDisabled(t){this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(ea(I0),ea(Al),ea(nc),ea(Ug),ea(zp),ea(String),ea(void 0),ea(String))},t.\u0275dir=se({type:t,viewQuery:function(t,e){if(1&t&&Zc(C0,5),2&t){let t;Qc(t=tu())&&(e._inputElement=t.first)}},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[jo]}),t})(),j0=(()=>{class t extends L0{constructor(t,e,n,i,r,s,o,a){super(t,e,n,i,r,s,o,a)}}return t.\u0275fac=function(e){return new(e||t)(ea(M0,8),ea(Al),ea(nc),ea(Ug),ea(zp),ea(Ny,8),ea(T0,8),ii("tabindex"))},t.\u0275cmp=Jt({type:t,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(t,e){1&t&&fa("focus",function(){return e._inputElement.nativeElement.focus()}),2&t&&(Ko("tabindex",null)("id",e.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),ja("mat-radio-checked",e.checked)("mat-radio-disabled",e.disabled)("_mat-animation-noopable",e._noopAnimations)("mat-primary","primary"===e.color)("mat-accent","accent"===e.color)("mat-warn","warn"===e.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[jo],ngContentSelectors:O0,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(t,e){if(1&t&&(wa(),ra(0,"label",0,1),ra(2,"span",2),oa(3,"span",3),oa(4,"span",4),ra(5,"input",5,6),fa("change",function(t){return e._onInputInteraction(t)})("click",function(t){return e._onInputClick(t)}),sa(),ra(7,"span",7),oa(8,"span",8),sa(),sa(),ra(9,"span",9),ra(10,"span",10),Ja(11,"\xa0"),sa(),xa(12),sa(),sa()),2&t){const t=ta(1);Ko("for",e.inputId),ws(5),na("id",e.inputId)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex)("required",e.required),Ko("name",e.name)("value",e.value)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledby)("aria-describedby",e.ariaDescribedby),ws(2),na("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",Pc(18,E0,e._noopAnimations?0:150)),ws(2),ja("mat-radio-label-before","before"==e.labelPosition)}},directives:[cv],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),t})();function F0(t,e){1&t&&(ra(0,"div",7),Ja(1,"Organs"),sa())}function B0(t,e){if(1&t&&(ra(0,"mat-option",17),Ja(1),sa()),2&t){const t=e.$implicit;na("value",t),ws(1),el(" ",t.name," ")}}let V0=(()=>{class t{constructor(){this.className="ccf-spatial-search-config",this.updateSex=new Bc,this.updateOrgan=new Bc,this.buttonClicked=new Bc,this.closeDialog=new Bc,this.infoClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-spatial-search-config"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{organs:"organs",selectedOrgan:"selectedOrgan",sex:"sex"},outputs:{updateSex:"updateSex",updateOrgan:"updateOrgan",buttonClicked:"buttonClicked",closeDialog:"closeDialog",infoClicked:"infoClicked"},decls:27,vars:6,consts:[[1,"header"],[1,"header-left"],[1,"title"],["mat-icon-button","",1,"info"],[3,"click"],["mat-icon-button","",1,"close"],[1,"sex-toggle"],[1,"label"],[1,"radio-group",3,"ngModel","ngModelChange","change"],["value","male",1,"radio"],["value","female",1,"radio"],[1,"organ-selector"],["appearance","fill",1,"form-field"],["class","label",4,"ngIf"],["disableOptionCentering","true","panelClass","organ-select",3,"value","valueChange","selectionChange"],["class","organ-select-option",3,"value",4,"ngFor","ngForOf"],["mat-button","",1,"continue-button",3,"click"],[1,"organ-select-option",3,"value"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),Ja(3,"Configure Spatial Search"),sa(),ra(4,"button",3),ra(5,"mat-icon",4),fa("click",function(){return e.infoClicked.emit()}),Ja(6,"info"),sa(),sa(),sa(),ra(7,"button",5),ra(8,"mat-icon",4),fa("click",function(){return e.closeDialog.emit()}),Ja(9,"close"),sa(),sa(),sa(),ra(10,"div",6),ra(11,"div",7),Ja(12,"Donor Sex: "),sa(),ra(13,"mat-radio-group",8),fa("ngModelChange",function(t){return e.sex=t})("change",function(t){return e.updateSex.emit(t.value)}),ra(14,"mat-radio-button",9),Ja(15,"Male"),sa(),ra(16,"mat-radio-button",10),Ja(17,"Female"),sa(),sa(),sa(),ra(18,"div",11),ra(19,"div",7),Ja(20,"Select an organ"),sa(),ra(21,"mat-form-field",12),Jo(22,F0,2,0,"div",13),ra(23,"mat-select",14),fa("valueChange",function(t){return e.selectedOrgan=t})("selectionChange",function(t){return e.updateOrgan.emit(t.value)}),Jo(24,B0,2,2,"mat-option",15),sa(),sa(),sa(),ra(25,"button",16),fa("click",function(){return e.buttonClicked.emit()}),Ja(26,"Continue"),sa()),2&t&&(ws(13),na("ngModel",e.sex),ws(9),na("ngIf",!e.selectedOrgan),ws(1),na("value",e.selectedOrgan),ws(1),na("ngForOf",e.organs),ws(1),ja("disabled",!e.selectedOrgan))},directives:[R_,T_,D0,MU,lH,j0,QH,Ah,cJ,kh,wv],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;grid-gap:2rem;gap:2rem;width:30.5rem;box-shadow:0 25rem 25rem #00000029;border-radius:.25rem;font-size:1rem}[_nghost-%COMP%] .button[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%;font-size:1.25rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{margin-right:1rem}[_nghost-%COMP%] .header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0;background:none;border:none;cursor:pointer;outline:none;border-radius:.25rem;transition:.6s}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin-right:2rem}[_nghost-%COMP%] .sex-toggle[_ngcontent-%COMP%] .radio[_ngcontent-%COMP%]{margin-right:4rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{height:0rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:1rem;padding-top:3rem;margin-left:.5rem;width:14rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-infix{padding:0;border-top:none}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{bottom:0rem;height:.125rem}[_nghost-%COMP%] .organ-selector[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-select-arrow-wrapper{transform:translatey(0)}[_nghost-%COMP%] .continue-button[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:.25rem 1rem;width:14rem;height:2rem;border-width:1px;border-style:solid;border-radius:.25rem;box-shadow:0 2px 6px #00000029}[_nghost-%COMP%] .continue-button.disabled[_ngcontent-%COMP%]{pointer-events:none;opacity:.5} .organ-select{position:absolute;top:2.5rem;left:-.25rem;border-radius:.5rem;max-height:24.5rem;width:14rem} .organ-select .organ-select-option{height:3.5rem;border-bottom:1px solid}"],changeDetection:0}),t})();class z0{constructor(t,e,n,i){this.dialog=t,this.dialogRef=e,this.spatialSearchDialog=n,this.infoService=i,this.updateSex=jQ(NZ),this.updateOrgan=jQ(LZ),this.subscriptions=new g,this.dialogSubs=new g}buttonClicked(){this.spatialSearchDialog.open(S0),this.close()}close(){this.dialogRef.close()}launchInfoDialog(t){this.dialogSubs.unsubscribe(),this.dialog.open($K,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:t.infoTitle,content:t.content,videoID:t.videoID}})}onDialogButtonClick(){this.infoService.updateData("assets/docs/SPATIAL_SEARCH_README.md","UfxMpzatowE","Spatial Search");const t=this.infoService.panelContent.asObservable();this.dialogSubs.add(t.subscribe(t=>{t.content.length&&(this.panelData=t,this.launchInfoDialog(this.panelData))}))}ngOnDestroy(){this.subscriptions.unsubscribe()}}z0.\u0275fac=function(t){return new(t||z0)(ea(nG),ea(X$),ea(nG),ea(WK))},z0.\u0275cmp=Jt({type:z0,selectors:[["ccf-spatial-search-config-behavior"]],decls:4,vars:9,consts:[[3,"sex","organs","selectedOrgan","updateSex","updateOrgan","closeDialog","buttonClicked","infoClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-spatial-search-config",0),fa("updateSex",function(t){return e.updateSex(t)})("updateOrgan",function(t){return e.updateOrgan(t.id)})("closeDialog",function(){return e.close()})("buttonClicked",function(){return e.buttonClicked()})("infoClicked",function(){return e.onDialogButtonClick()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),sa()),2&t&&na("sex",Rc(1,3,e.sex$))("organs",Rc(2,5,e.organs$))("selectedOrgan",Rc(3,7,e.selectedOrgan$))},directives:[V0],pipes:[$h],encapsulation:2,changeDetection:0}),vw([iU(d0.sex)],z0.prototype,"sex$",void 0),vw([iU(d0.organ)],z0.prototype,"selectedOrgan$",void 0),vw([iU(d0.organs)],z0.prototype,"organs$",void 0),vw([KX()],z0.prototype,"updateSex",void 0),vw([KX()],z0.prototype,"updateOrgan",void 0);let U0=(()=>{class t{constructor(t,e){this.store=t,this.dialog=e,this.className="ccf-run-spatial-search"}startSpatialSearchFlow(){this.store.dispatch(new RZ).pipe(rf(1),eg(()=>this.dialog.open(z0))).subscribe()}}return t.\u0275fac=function(e){return new(e||t)(ea(qz),ea(nG))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-run-spatial-search"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},decls:4,vars:0,consts:[["mat-button","",1,"run-spatial-search-button",3,"click"]],template:function(t,e){1&t&&(ra(0,"button",0),fa("click",function(){return e.startSpatialSearchFlow()}),Ja(1," Run Spatial Search "),ra(2,"mat-icon"),Ja(3,"travel_explore"),sa(),sa())},directives:[R_,T_],styles:["[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper{display:flex;align-items:center}[_nghost-%COMP%] .run-spatial-search-button[_ngcontent-%COMP%] .mat-button-wrapper .mat-icon{margin-left:9.75px}"],changeDetection:0}),t})();function H0(t,e){if(1&t){const t=ua();ra(0,"div",14),ra(1,"ccf-spatial-search-list",15),fa("selectionChanged",function(e){return $e(t),va().updateSearchSelection(e)})("itemRemoved",function(e){return $e(t),va().spatialSearchRemoved.emit(e.id)}),sa(),sa()}if(2&t){const t=va();ja("hidden",t.hidden),ws(1),na("items",t.spatialSearchFilters)}}const $0=function(){return["Both","Male","Female"]},G0=function(){return[1,110]},W0=function(){return[13,83]};let q0=(()=>{class t{constructor(t){this.ga=t,this.spatialSearchFilters=[],this.filtersChange=new Bc,this.spatialSearchSelected=new Bc,this.spatialSearchRemoved=new Bc,this.applyFilters=new Bc}ngOnChanges(t){"spatialSearchFilters"in t&&this.updateSexFromSelection(this.spatialSearchFilters.filter(t=>t.selected))}updateFilter(t,e){this.filters=Object.assign(Object.assign({},this.filters),{[e]:t}),this.ga.event("filter_update","filter_content",`${e}:${t}`),this.filtersChange.emit(this.filters)}applyButtonClick(){this.updateSearchSelection(this.spatialSearchFilters.filter(t=>t.selected)),this.ga.event("filters_applied","filter_content"),this.applyFilters.emit(this.filters)}refreshFilters(){this.filters=JSON.parse(JSON.stringify($Q)),this.ga.event("filters_reset","filter_content"),this.spatialSearchSelected.emit([]),this.filtersChange.emit(this.filters)}updateSearchSelection(t){const e=t.map(t=>t.search);this.spatialSearchSelected.emit(t),this.updateFilter(e,"spatialSearches"),this.updateSexFromSelection(t)}updateSexFromSelection(t){var e;const n=null===(e=this.filters.sex)||void 0===e?void 0:e.toLowerCase(),i=new Set(t.map(t=>t.sex));t.length>0&&(i.size>1||!i.has(n))&&this.updateFilter("Both","sex")}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-filters-content"]],inputs:{hidden:"hidden",filters:"filters",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved",applyFilters:"applyFilters"},features:[ye],decls:17,vars:24,consts:[[1,"patient-filters"],["label","Sex",3,"options","selection","selectionChange"],["label","Age",3,"valueRange","selection","selectionChange"],["label","BMI",3,"valueRange","selection","selectionChange"],[1,"filter","assays"],["label","Assay Types",3,"columns","options","selection","selectionChange"],[1,"filter","providers"],["label","Tissue Providers",3,"columns","options","selection","selectionChange"],["class","filter spatial-locations",3,"hidden",4,"ngIf"],[1,"button-container"],[1,"right-group"],["mat-button","",1,"outline-button",3,"click"],[1,"refresh-icon"],[1,"icon","refresh",3,"click"],[1,"filter","spatial-locations"],["label","Spatial Locations",3,"items","selectionChanged","itemRemoved"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"ccf-dropdown",1),fa("selectionChange",function(t){return e.updateFilter(t,"sex")}),sa(),ra(2,"ccf-dual-slider",2),fa("selectionChange",function(t){return e.updateFilter(t,"ageRange")}),sa(),ra(3,"ccf-dual-slider",3),fa("selectionChange",function(t){return e.updateFilter(t,"bmiRange")}),sa(),sa(),ra(4,"div",4),ra(5,"ccf-checkbox",5),fa("selectionChange",function(t){return e.updateFilter(t,"technologies")}),sa(),sa(),ra(6,"div",6),ra(7,"ccf-checkbox",7),fa("selectionChange",function(t){return e.updateFilter(t,"tmc")}),sa(),sa(),Jo(8,H0,2,3,"div",8),ra(9,"div",9),oa(10,"ccf-run-spatial-search"),ra(11,"div",10),ra(12,"button",11),fa("click",function(){return e.applyButtonClick()}),Ja(13,"APPLY FILTERS"),sa(),ra(14,"div",12),ra(15,"mat-icon",13),fa("click",function(){return e.refreshFilters()}),Ja(16,"refresh"),sa(),sa(),sa(),sa()),2&t&&(ja("hidden",e.hidden),ws(1),na("options",kc(21,$0))("selection",null==e.filters?null:e.filters.sex),ws(1),na("valueRange",kc(22,G0))("selection",null==e.filters?null:e.filters.ageRange),ws(1),na("valueRange",kc(23,W0))("selection",null==e.filters?null:e.filters.bmiRange),ws(1),ja("hidden",e.hidden),ws(1),na("columns",4)("options",e.technologyFilters)("selection",null==e.filters?null:e.filters.technologies),ws(1),ja("hidden",e.hidden),ws(1),na("columns",3)("options",e.providerFilters)("selection",null==e.filters?null:e.filters.tmc),ws(1),na("ngIf",e.spatialSearchFilters.length>0),ws(1),ja("hidden",e.hidden))},directives:[dJ,o0,l0,Ah,U0,R_,T_,EQ],styles:[".filter[_ngcontent-%COMP%]{margin-top:2rem}.filter.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.filter.assays[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{margin-right:0 rem;width:25%}.button-container[_ngcontent-%COMP%] button{border-width:1px;border-style:solid}.button-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:2rem}.button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-width:1px;border-style:solid}.button-container.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;align-items:center}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .outline-button[_ngcontent-%COMP%]{box-shadow:.1rem .1rem .2rem #0000001d}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%]{padding:.25rem;border-radius:.25rem;margin-right:1rem;display:flex;justify-content:center;align-items:center;transition:.6s}.button-container[_ngcontent-%COMP%] .right-group[_ngcontent-%COMP%] .refresh-icon[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{cursor:pointer;transition:.6s;transition-property:background}.patient-filters[_ngcontent-%COMP%]{display:flex;width:90%;padding-top:1rem}.patient-filters.hidden[_ngcontent-%COMP%]{opacity:0;transition-duration:.2s}.patient-filters[_ngcontent-%COMP%] ccf-dual-slider[_ngcontent-%COMP%]{margin-left:.5rem;width:33%}.patient-filters[_ngcontent-%COMP%] ccf-dropdown[_ngcontent-%COMP%]{width:33%}"],changeDetection:0}),t})();function Y0(t,e){1&t&&(ra(0,"div"),ra(1,"mat-icon",7),Ja(2,"close"),sa(),sa())}function X0(t,e){1&t&&oa(0,"mat-icon",8)}class K0{constructor(){this.spatialSearchFilters=[],this.filtersChange=new Bc,this.spatialSearchSelected=new Bc,this.spatialSearchRemoved=new Bc,this.filtersVisible=!1}toggleFilterVisible(){return this.filtersVisible=!this.filtersVisible,new $Z(!1)}removeBox(){return this.filtersVisible=!1,new $Z(!0)}applyFilters(t){this.filters=t,this.filtersChange.emit(t),this.removeBox()}}K0.\u0275fac=function(t){return new(t||K0)},K0.\u0275cmp=Jt({type:K0,selectors:[["ccf-filters-popover"]],inputs:{filters:"filters",drawerExpanded:"drawerExpanded",technologyFilters:"technologyFilters",providerFilters:"providerFilters",spatialSearchFilters:"spatialSearchFilters"},outputs:{filtersChange:"filtersChange",spatialSearchSelected:"spatialSearchSelected",spatialSearchRemoved:"spatialSearchRemoved"},decls:8,vars:15,consts:[[1,"filters-popover"],[1,"show-hide",3,"click"],[4,"ngIf","ngIfElse"],["notShow",""],[1,"popup-container"],[1,"popup-body"],[3,"technologyFilters","providerFilters","spatialSearchFilters","hidden","filters","applyFilters","spatialSearchSelected","spatialSearchRemoved"],[1,"icon"],["svgIcon","filter",1,"icon","funnel"]],template:function(t,e){if(1&t&&(ra(0,"div",0),ra(1,"button",1),fa("click",function(){return e.toggleFilterVisible()}),Jo(2,Y0,3,0,"div",2),Jo(3,X0,1,0,"ng-template",null,3,ru),sa(),ra(5,"div",4),ra(6,"div",5),ra(7,"ccf-filters-content",6),fa("applyFilters",function(t){return e.applyFilters(t)})("spatialSearchSelected",function(t){return e.spatialSearchSelected.emit(t)})("spatialSearchRemoved",function(t){return e.spatialSearchRemoved.emit(t)}),sa(),sa(),sa(),sa()),2&t){const t=ta(4);ja("expanded",e.drawerExpanded),ws(1),ja("open",e.filtersVisible),ws(1),na("ngIf",e.filtersVisible)("ngIfElse",t),ws(3),ja("visible",e.filtersVisible)("hidden",!e.filtersVisible),ws(2),na("technologyFilters",e.technologyFilters)("providerFilters",e.providerFilters)("spatialSearchFilters",e.spatialSearchFilters)("hidden",!e.filtersVisible)("filters",e.filters)}},directives:[Ah,q0,T_],styles:[".filters-popover[_ngcontent-%COMP%]{position:inherit}.filters-popover.expanded[_ngcontent-%COMP%]{position:relative}.filters-popover.expanded[_ngcontent-%COMP%] .popup-container[_ngcontent-%COMP%]{right:inherit}.filters-popover.expanded[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding-left:4em!important}.popup-container[_ngcontent-%COMP%]{position:absolute;z-index:5;top:1.2rem;left:1.48rem;box-shadow:.2rem .2rem 1rem #00000058}.popup-container[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{padding:1.5rem;position:relative}.popup-container.visible[_ngcontent-%COMP%]{width:35rem;transition:width .2s ease-in-out;border-width:1px}.popup-container.visible[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:1;transition-delay:.3s;transition-duration:.2s}.popup-container.hidden[_ngcontent-%COMP%]{width:0;height:0;transition:all .2s ease-out;transition-delay:.3s;pointer-events:none}.popup-container.hidden[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{opacity:0;transition:opacity .2s ease-in-out}.show-hide[_ngcontent-%COMP%]{background:none;border:none;z-index:10;position:relative;cursor:pointer;outline:none;padding:.5rem;border-radius:.25rem;transition:.6s}"],changeDetection:0}),vw([KX()],K0.prototype,"toggleFilterVisible",null),vw([KX()],K0.prototype,"removeBox",null);class Q0{constructor(){this.treeModel$=new _p(1),this.nodes$=this.treeModel$.pipe(D(t=>Object.values(t.nodes))),this.rootNode$=this.treeModel$.pipe(D(t=>t.nodes[t.root]))}setTreeModel(t){this.treeModel$.next(t),this.treeModel=t}filter(t){return this.nodes$.pipe(D(e=>this.lookup(e,t.toLowerCase())))}lookup(t,e){const n=new Map;return t&&t.forEach(t=>{if(t.label.toLowerCase().includes(e)&&!n.get(t.id))n.set(t.id,{index:this.getIndexOfMatch(t.label,e),displayLabel:this.formatLabel(t.label,e),node:t});else{const i=t.synonymLabels.find(t=>t.toLowerCase().includes(e));i&&!n.get(t.id)&&n.set(t.id,{index:this.getIndexOfMatch(t.label+" ("+i+")",e),displayLabel:this.formatLabel(t.label+" ("+i+")",e),node:t})}}),Array.from(n.values())}getIndexOfMatch(t,e){return t.toLowerCase().indexOf(e)}formatLabel(t,e){const n=this.getIndexOfMatch(t,e);return[t.slice(0,n),t.slice(n,n+e.length),t.slice(n+e.length)]}getChildren(t){var e,n;const i=null!==(n=null===(e=this.treeModel)||void 0===e?void 0:e.nodes)&&void 0!==n?n:{};return(0,bq.at)(i,t.children)}}Q0.\u0275fac=function(t){return new(t||Q0)},Q0.\u0275prov=xt({token:Q0,factory:Q0.\u0275fac}),vw([PV.ak],Q0.prototype,"getChildren",null);class Z0 extends class{constructor(){this.expansionModel=new Vp(!0)}toggle(t){this.expansionModel.toggle(this._trackByValue(t))}expand(t){this.expansionModel.select(this._trackByValue(t))}collapse(t){this.expansionModel.deselect(this._trackByValue(t))}isExpanded(t){return this.expansionModel.isSelected(this._trackByValue(t))}toggleDescendants(t){this.expansionModel.isSelected(this._trackByValue(t))?this.collapseDescendants(t):this.expandDescendants(t)}collapseAll(){this.expansionModel.clear()}expandDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.select(...e.map(t=>this._trackByValue(t)))}collapseDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.deselect(...e.map(t=>this._trackByValue(t)))}_trackByValue(t){return this.trackBy?this.trackBy(t):t}}{constructor(t,e,n){super(),this.getLevel=t,this.isExpandable=e,this.options=n,this.options&&(this.trackBy=this.options.trackBy)}getDescendants(t){const e=[];for(let n=this.dataNodes.indexOf(t)+1;nthis._trackByValue(t)))}}const J0=new oi("CDK_TREE_NODE_OUTLET_NODE");let t1=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(J0,8))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeOutlet",""]]}),t})();class e1{constructor(t){this.$implicit=t}}let n1=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:["cdkTreeNodeDefWhen","when"]}}),t})(),i1=(()=>{class t{constructor(t,e){this._differs=t,this._changeDetectorRef=e,this._onDestroy=new A,this._levels=new Map,this.viewChange=new Jf({start:0,end:Number.MAX_VALUE})}get dataSource(){return this._dataSource}set dataSource(t){this._dataSource!==t&&this._switchDataSource(t)}ngOnInit(){this._dataDiffer=this._differs.find([]).create(this.trackBy)}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null)}ngAfterContentChecked(){const t=this._nodeDefs.filter(t=>!t.when);this._defaultNodeDef=t[0],this.dataSource&&this._nodeDefs&&!this._dataSubscription&&this._observeRenderChanges()}_switchDataSource(t){this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),t||this._nodeOutlet.viewContainer.clear(),this._dataSource=t,this._nodeDefs&&this._observeRenderChanges()}_observeRenderChanges(){let t;!function(t){return t&&"function"==typeof t.connect}(this._dataSource)?Gd(this._dataSource)?t=this._dataSource:Array.isArray(this._dataSource)&&(t=Dd(this._dataSource)):t=this._dataSource.connect(this),t&&(this._dataSubscription=t.pipe(rp(this._onDestroy)).subscribe(t=>this.renderNodeChanges(t)))}renderNodeChanges(t,e=this._dataDiffer,n=this._nodeOutlet.viewContainer,i){const r=e.diff(t);!r||(r.forEachOperation((e,r,s)=>{if(null==e.previousIndex)this.insertNode(t[s],s,n,i);else if(null==s)n.remove(r),this._levels.delete(e.item);else{const t=n.get(r);n.move(t,s)}}),this._changeDetectorRef.detectChanges())}_getNodeDef(t,e){return 1===this._nodeDefs.length?this._nodeDefs.first:this._nodeDefs.find(n=>n.when&&n.when(e,t))||this._defaultNodeDef}insertNode(t,e,n,i){const r=this._getNodeDef(t,e),s=new e1(t);s.level=this.treeControl.getLevel?this.treeControl.getLevel(t):void 0!==i&&this._levels.has(i)?this._levels.get(i)+1:0,this._levels.set(t,s.level),(n||this._nodeOutlet.viewContainer).createEmbeddedView(r.template,s,e),r1.mostRecentTreeNode&&(r1.mostRecentTreeNode.data=t)}}return t.\u0275fac=function(e){return new(e||t)(ea(Xl),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["cdk-tree"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,n1,5),2&t){let t;Qc(t=tu())&&(e._nodeDefs=t)}},viewQuery:function(t,e){if(1&t&&Zc(t1,7),2&t){let t;Qc(t=tu())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(t,e){1&t&&ca(0,0)},directives:[t1],encapsulation:2}),t})(),r1=(()=>{class t{constructor(e,n){this._elementRef=e,this._tree=n,this._destroyed=new A,this._dataChanges=new A,t.mostRecentTreeNode=this,this._elementRef.nativeElement.classList.add("cdk-tree-node"),this.role="treeitem"}get role(){return"treeitem"}set role(t){this._elementRef.nativeElement.setAttribute("role",t)}get data(){return this._data}set data(t){t!==this._data&&(this._data=t,this._setRoleFromData(),this._dataChanges.next())}get isExpanded(){return this._tree.treeControl.isExpanded(this._data)}_setExpanded(t){this._isAriaExpanded=t,this._elementRef.nativeElement.setAttribute("aria-expanded",`${t}`)}get level(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}ngOnInit(){this._parentNodeAriaLevel=function(t){let e=t.parentElement;for(;e&&!s1(e);)e=e.parentElement;return e?e.classList.contains("cdk-nested-tree-node")?Pd(e.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level",`${this.level+1}`)}ngDoCheck(){this.isExpanded!=this._isAriaExpanded&&this._setExpanded(this.isExpanded)}ngOnDestroy(){t.mostRecentTreeNode===this&&(t.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}_setRoleFromData(){this.role="treeitem"}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(i1))},t.\u0275dir=se({type:t,selectors:[["cdk-tree-node"]],inputs:{role:"role"},exportAs:["cdkTreeNode"]}),t.mostRecentTreeNode=null,t})();function s1(t){const e=t.classList;return!(!(null==e?void 0:e.contains("cdk-nested-tree-node"))&&!(null==e?void 0:e.contains("cdk-tree")))}const o1=/([A-Za-z%]+)$/;let a1=(()=>{class t{constructor(t,e,n,i){this._treeNode=t,this._tree=e,this._element=n,this._dir=i,this._destroyed=new A,this.indentUnits="px",this._indent=40,this._setPadding(),i&&i.change.pipe(rp(this._destroyed)).subscribe(()=>this._setPadding(!0)),t._dataChanges.subscribe(()=>this._setPadding())}get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_paddingIndent(){const t=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,e=null==this._level?t:this._level;return"number"==typeof e?`${e*this._indent}${this.indentUnits}`:null}_setPadding(t=!1){const e=this._paddingIndent();if(e!==this._currentPadding||t){const t=this._element.nativeElement,n=this._dir&&"rtl"===this._dir.value?"paddingRight":"paddingLeft",i="paddingLeft"===n?"paddingRight":"paddingLeft";t.style[n]=e||"",t.style[i]="",this._currentPadding=e}}_setLevelInput(t){this._level=Pd(t,null),this._setPadding()}_setIndentInput(t){let e=t,n="px";if("string"==typeof t){const i=t.split(o1);e=i[0],n=i[1]||n}this.indentUnits=n,this._indent=Pd(e),this._setPadding()}}return t.\u0275fac=function(e){return new(e||t)(ea(r1),ea(i1),ea(Al),ea(Fp,8))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:["cdkTreeNodePadding","level"],indent:["cdkTreeNodePaddingIndent","indent"]}}),t})(),l1=(()=>{class t{constructor(t,e){this._tree=t,this._treeNode=e,this._recursive=!1}get recursive(){return this._recursive}set recursive(t){this._recursive=kd(t)}_toggle(t){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),t.stopPropagation()}}return t.\u0275fac=function(e){return new(e||t)(ea(i1),ea(r1))},t.\u0275dir=se({type:t,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(t,e){1&t&&fa("click",function(t){return e._toggle(t)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}}),t})(),c1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const u1=Ky(qy(r1));let h1=(()=>{class t extends u1{constructor(t,e,n){super(t,e),this.tabIndex=Number(n)||0,t.nativeElement.classList.add("mat-tree-node")}ngOnInit(){super.ngOnInit()}ngDoCheck(){super.ngDoCheck()}ngOnDestroy(){super.ngOnDestroy()}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(i1),ii("tabindex"))},t.\u0275dir=se({type:t,selectors:[["mat-tree-node"]],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[xl([{provide:r1,useExisting:t}]),jo]}),t})(),d1=(()=>{class t extends n1{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[xl([{provide:n1,useExisting:t}]),jo]}),t})(),p1=(()=>{class t extends a1{get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodePadding",""]],inputs:{level:["matTreeNodePadding","level"],indent:["matTreeNodePaddingIndent","indent"]},features:[xl([{provide:a1,useExisting:t}]),jo]}),t})(),f1=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(ea(pc),ea(J0,8))},t.\u0275dir=se({type:t,selectors:[["","matTreeNodeOutlet",""]],features:[xl([{provide:t1,useExisting:t}])]}),t})(),g1=(()=>{class t extends i1{}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275cmp=Jt({type:t,selectors:[["mat-tree"]],viewQuery:function(t,e){if(1&t&&Zc(f1,7),2&t){let t;Qc(t=tu())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"mat-tree","cdk-tree"],exportAs:["matTree"],features:[xl([{provide:i1,useExisting:t}]),jo],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(t,e){1&t&&ca(0,0)},directives:[f1],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\n"],encapsulation:2}),t})(),m1=(()=>{class t extends l1{get recursive(){return this._recursive}set recursive(t){this._recursive=kd(t)}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275dir=se({type:t,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[xl([{provide:l1,useExisting:t}]),jo]}),t})(),b1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[c1,Wy],Wy]}),t})();class y1{constructor(t,e,n,i){this.transformFunction=t,this.getLevel=e,this.isExpandable=n,this.getChildren=i}_flattenNode(t,e,n,i){const r=this.transformFunction(t,e);if(n.push(r),this.isExpandable(r)){const r=this.getChildren(t);r&&(Array.isArray(r)?this._flattenChildren(r,e,n,i):r.pipe(rf(1)).subscribe(t=>{this._flattenChildren(t,e,n,i)}))}return n}_flattenChildren(t,e,n,i){t.forEach((r,s)=>{let o=i.slice();o.push(s!=t.length-1),this._flattenNode(r,e+1,n,o)})}flattenNodes(t){let e=[];return t.forEach(t=>this._flattenNode(t,0,e,[])),e}expandFlattenedNodes(t,e){let n=[],i=[];return i[0]=!0,t.forEach(t=>{let r=!0;for(let e=0;e<=this.getLevel(t);e++)r=r&&i[e];r&&n.push(t),this.isExpandable(t)&&(i[this.getLevel(t)+1]=e.isExpanded(t))}),n}}class v1 extends class{}{constructor(t,e,n){super(),this._treeControl=t,this._treeFlattener=e,this._flattenedData=new Jf([]),this._expandedData=new Jf([]),this._data=new Jf([]),n&&(this.data=n)}get data(){return this._data.value}set data(t){this._data.next(t),this._flattenedData.next(this._treeFlattener.flattenNodes(this.data)),this._treeControl.dataNodes=this._flattenedData.value}connect(t){return Q(t.viewChange,this._treeControl.expansionModel.changed,this._flattenedData).pipe(D(()=>(this._expandedData.next(this._treeFlattener.expandFlattenedNodes(this._flattenedData.value,this._treeControl)),this._expandedData.value)))}disconnect(){}}class _1{constructor(t,e){this.original=t,this.level=e,this.visible=!0,this.opacity=20}get label(){return this.original.label}get expandable(){return this.original.children.length>0}static create(t,e){return new _1(t,e)}}function w1(t,e){if(1&t){const t=ua();ra(0,"div",4),fa("click",function(e){const n=$e(t).node,i=va();return i.select(e.ctrlKey,n,!0,!i.isSelected(n))}),Ja(1),sa()}if(2&t){const t=e.node,n=va();ja("hidden",t.label===(null==n.highlightedNode?null:n.highlightedNode.label))("filtered-out",!n.occurenceData[t.original.id]&&!!n.termData[t.original.id])("unavailable",!n.termData[t.original.id])("selected",n.isSelected(t)),ws(1),tl("colon"===t.label?"large intestine":t.label)}}function x1(t,e){1&t&&ca(0)}const S1=function(t){return{node:t}};function C1(t,e){if(1&t){const t=ua();ra(0,"mat-tree-node",5),fa("mouseleave",function(){$e(t);const e=ta(5);return va().mouseOut(),e.reset()}),ra(1,"div"),ra(2,"mat-icon",6),fa("mouseenter",function(){const e=$e(t).$implicit;return va().mouseOver(e)}),sa(),ra(3,"div",7),ra(4,"ccf-opacity-slider",8,9),fa("opacityChange",function(e){const n=$e(t).$implicit;return va().updateOpacity(n,e)})("opacityReset",function(){const e=$e(t).$implicit;return va().resetNode(e)})("visibilityToggle",function(){const e=$e(t).$implicit;return va().toggleVisibility(e)}),sa(),sa(),sa(),oa(6,"div",10),Jo(7,x1,1,0,"ng-container",11),ra(8,"div",12),Ja(9),sa(),sa()}if(2&t){const t=e.$implicit,n=va(),i=ta(2);na("matTreeNodePaddingIndent",n.indent),ws(1),La("display",-1!==t.opacity?"none":"block"),ws(1),La("left",n.getLeftIndent(t.level)),ja("fade",!0!==t.visible),ws(1),La("left",n.getLeftIndent(t.level)),ja("hidden",t.label!==(null==n.highlightedNode?null:n.highlightedNode.label)),ws(1),na("visible",t.visible)("opacity",t.opacity),ws(3),na("ngTemplateOutlet",i)("ngTemplateOutletContext",Pc(18,S1,t)),ws(1),ja("suborgan",t.level>1),ws(1),tl(n.occurenceData[t.original.id]||0)}}function E1(t,e){1&t&&ca(0)}function O1(t,e){if(1&t){const t=ua();ra(0,"mat-tree-node",13),fa("mouseleave",function(){$e(t);const e=ta(5);return va().mouseOut(),e.reset()}),ra(1,"div"),ra(2,"mat-icon",6),fa("mouseenter",function(){const e=$e(t).$implicit;return va().mouseOver(e)}),sa(),ra(3,"div",7),ra(4,"ccf-opacity-slider",8,14),fa("opacityChange",function(e){const n=$e(t).$implicit;return va().updateOpacity(n,e)})("opacityReset",function(){const e=$e(t).$implicit;return va().resetNode(e)})("visibilityToggle",function(){const e=$e(t).$implicit;return va().toggleVisibility(e)}),sa(),sa(),sa(),ra(6,"button",15),ra(7,"mat-icon",16),Ja(8),sa(),sa(),Jo(9,E1,1,0,"ng-container",11),ra(10,"div",12),Ja(11),sa(),sa()}if(2&t){const t=e.$implicit,n=va(),i=ta(2);na("matTreeNodePaddingIndent",n.indent),ws(1),La("display",-1!==t.opacity?"none":"block"),ws(1),La("left",n.getLeftIndent(t.level)),ja("fade",!0!==t.visible),ws(1),La("left",n.getLeftIndent(t.level)),ja("hidden",t.label!==(null==n.highlightedNode?null:n.highlightedNode.label)),ws(1),na("visible",t.visible)("opacity",t.opacity),ws(2),ja("hidden",t.label===(null==n.highlightedNode?null:n.highlightedNode.label)),Zo("aria-label","Toggle ",t.label,""),ws(2),el(" ",n.control.isExpanded(t)?"expand_less":"expand_more"," "),ws(1),na("ngTemplateOutlet",i)("ngTemplateOutletContext",Pc(22,S1,t)),ws(1),ja("suborgan",t.level>1),ws(1),tl(n.occurenceData[t.original.id]||0)}}const T1=(0,bq.property)("level"),k1=(0,bq.property)("expandable");let P1=(()=>{class t{constructor(t,e){this.cdr=t,this.ga=e,this.atScrollBottom=!1,this.nodeSelected=new Bc,this.nodeChanged=new Bc,this.indent="1.5rem",this.control=new Z0(T1,k1),this.flattener=new y1(_1.create,T1,k1,bq.invoke.bind(void 0,this,"getChildren")),this.dataSource=new v1(this.control,this.flattener),this._nodes=void 0,this.anySelectionsMade=!1,this.selectedNodes=[]}set nodes(t){var e;this._nodes=t,this.control&&(this.dataSource.data=null!==(e=this._nodes)&&void 0!==e?e:[])}get nodes(){return this._nodes}set getChildren(t){var e;this._getChildren=t,this.dataSource.data=null!==(e=this.nodes)&&void 0!==e?e:[]}get getChildren(){return this._getChildren}set occurenceData(t){this._occurenceData=t||{}}get occurenceData(){return this._occurenceData}set termData(t){this._termData=t||{}}get termData(){return this._termData}ngOnInit(){this.control.dataNodes&&this.control.expand(this.control.dataNodes[0])}ngOnChanges(t){if(t.ontologyFilter){const e=t.ontologyFilter.currentValue;(null==e?void 0:e.length)>=0&&this.selectByIDs(e)}t.rootNode&&this.selectByIDs([t.rootNode.currentValue])}selectByIDs(t){const e=this.control.dataNodes,n=e.filter(e=>t.indexOf(e.original.id)>-1);(null==n?void 0:n.length)>0&&(this.selectedNodes=n,this.ga.event("nodes_selected_by_ids","ontology_tree",n.map(t=>t.label).join(",")),this.control.collapseAll(),this.selectedNodes.forEach(t=>{this.expandAndSelect(t.original,t=>{var n;return null===(n=e.find(e=>e.original.id===t.parent))||void 0===n?void 0:n.original},!0)}))}expandAndSelect(t,e,n=!1){var i;const{cdr:r,control:s}=this,o=new Set;let a=e(t);for(;a;)o.add(a),a=e(a);const l=(0,bq.filter)(s.dataNodes,t=>o.has(t.original)),c=s.dataNodes.find(e=>e.original===t);n||(this.selectedNodes=[],s.collapseAll());for(const u of l)s.expand(u);"body"===t.label&&(null===(i=s.dataNodes)||void 0===i?void 0:i.length)>0&&s.expand(s.dataNodes[0]),this.select(n,c,!1,!0),r.detectChanges()}isInnerNode(t,e){return e.expandable}isSelected(t){return(null==t?void 0:t.original.id)===this.rootNode||this.selectedNodes.filter(e=>(null==t?void 0:t.original.label)===(null==e?void 0:e.original.label)).length>0}select(t,e,n,i){if(this.anySelectionsMade||(this.selectedNodes=[],this.anySelectionsMade=!0),void 0===e)return this.selectedNodes=[],void this.ga.event("nodes_unselected","ontology_tree");t?i?this.selectedNodes.indexOf(e)<0&&this.selectedNodes.push(e):this.selectedNodes.splice(this.selectedNodes.indexOf(e),1):(this.selectedNodes=[],i&&this.selectedNodes.push(e)),this.ga.event("nodes_selected","ontology_tree",this.selectedNodes.map(t=>t.label).join(",")),n&&this.nodeSelected.emit(this.selectedNodes.map(t=>null==t?void 0:t.original))}mouseOver(t){this.highlightedNode=t}mouseOut(){this.highlightedNode=void 0}updateOpacity(t,e){t.opacity=e,this.ga.event("opacity_update","ontology_tree",t.label,e),this.nodeChanged.emit(t)}resetNode(t){t.opacity=20,t.visible=!0,this.ga.event("node_reset","ontology_tree",t.label),this.nodeChanged.emit(t)}toggleVisibility(t){t.visible=!0!==t.visible,this.ga.event("visibility_update","ontology_tree",t.label,+t.visible),this.nodeChanged.emit(t)}getLeftIndent(t){return-1.5*t+"rem"}onScroll(t){if(!t.target)return;const{clientHeight:e,scrollHeight:n,scrollTop:i}=t.target;this.atScrollBottom=n-i-e<20}}return t.\u0275fac=function(e){return new(e||t)(ea(nc),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-tree"]],inputs:{ontologyFilter:"ontologyFilter",rootNode:"rootNode",nodes:"nodes",getChildren:"getChildren",occurenceData:"occurenceData",termData:"termData",header:"header"},outputs:{nodeSelected:"nodeSelected",nodeChanged:"nodeChanged"},features:[ye],decls:5,vars:5,consts:[[1,"ccf-ontology-tree",3,"dataSource","treeControl","scroll"],["selectableRegion",""],["class","node leaf-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef"],["class","node inner-node","matTreeNodePadding","",3,"matTreeNodePaddingIndent","mouseleave",4,"matTreeNodeDef","matTreeNodeDefWhen"],[1,"text",3,"click"],["matTreeNodePadding","",1,"node","leaf-node",3,"matTreeNodePaddingIndent","mouseleave"],["svgIcon","app:opacity",1,"icon","opacity",3,"mouseenter"],[1,"slider"],[3,"visible","opacity","opacityChange","opacityReset","visibilityToggle"],["slider1",""],[1,"non-expandable"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"num-results"],["matTreeNodePadding","",1,"node","inner-node",3,"matTreeNodePaddingIndent","mouseleave"],["slider2",""],["mat-icon-button","","matTreeNodeToggle","",1,"toggle"],[1,"icon","font-icon"]],template:function(t,e){1&t&&(ra(0,"mat-tree",0),fa("scroll",function(t){return e.onScroll(t)}),Jo(1,w1,2,9,"ng-template",null,1,ru),Jo(3,C1,10,20,"mat-tree-node",2),Jo(4,O1,12,24,"mat-tree-node",3),sa()),2&t&&(ja("header-hidden",!e.header),na("dataSource",e.dataSource)("treeControl",e.control),ws(4),na("matTreeNodeDefWhen",e.isInnerNode))},directives:[g1,d1,h1,p1,T_,BK,Fh,R_,m1],styles:[".ccf-ontology-tree[_ngcontent-%COMP%]{background:none;scrollbar-width:thin;max-height:calc(50vh - 10rem);overflow:auto;overflow-x:hidden}.ccf-ontology-tree.header-hidden[_ngcontent-%COMP%]{max-height:40vh}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .toggle[_ngcontent-%COMP%]{z-index:-1;opacity:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]:first-of-type .text[_ngcontent-%COMP%]{margin-left:.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]{min-height:0;font-size:1rem;margin-bottom:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:100%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:width;position:relative;z-index:1}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%]{width:0}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider.hidden[_ngcontent-%COMP%] ccf-opacity-slider[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider{height:1.5rem;margin-left:1rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .slider-box .slider-and-label{width:100%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider{height:1.5rem;width:15rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .mat-slider .mat-slider-wrapper{top:12px}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%] ccf-opacity-slider .opacity-value{width:3rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-right:.25rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node.inner-node[_ngcontent-%COMP%] button.hidden[_ngcontent-%COMP%]{display:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .opacity[_ngcontent-%COMP%]{position:relative;min-width:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:normal}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .autocomplete-open[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{border-bottom:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .non-expandable[_ngcontent-%COMP%]{margin-left:1.5rem}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{white-space:nowrap;cursor:pointer;margin-left:1rem;opacity:1;width:50%;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:opacity,width}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.hidden[_ngcontent-%COMP%]{opacity:0;width:0%}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .text.unavailable[_ngcontent-%COMP%]{pointer-events:none}.ccf-ontology-tree[_ngcontent-%COMP%] .node[_ngcontent-%COMP%] .num-results[_ngcontent-%COMP%]{margin-left:auto}.scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:90%;bottom:0;pointer-events:none}.scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();function A1(t,e){if(1&t&&(ra(0,"mat-option",8),ra(1,"span",9),Ja(2),sa(),ra(3,"span",10),Ja(4),sa(),ra(5,"span",11),Ja(6),sa(),sa()),2&t){const t=e.$implicit;na("value",t),ws(2),tl(t.displayLabel[0]),ws(2),tl(t.displayLabel[1]),ws(2),tl(t.displayLabel[2])}}let M1=(()=>{class t{constructor(t,e){this.ontologyService=t,this.ga=e,this.selected=new Bc,this.formControl=new tH(""),this.autoCompleteOpen=!1}ngOnInit(){this.filteredResults$=this.formControl.valueChanges.pipe(ep(t=>"string"==typeof t),lp(""),cp(t=>this.ontologyService.filter(t)),D(t=>(0,bq.sortBy)(t,[this.sortBySynonymResult,"index",this.sortLexically])))}displayFormatter(t){var e;return(null!==(e=null==t?void 0:t.displayLabel)&&void 0!==e?e:[]).join("")}sortBySynonymResult(t){return t.displayLabel.join().includes("(")?1:-1}sortLexically(t){return t.node.label.toLowerCase()}onSelect(t){const e=(0,bq.get)(t,["option","value","node"]);e&&(this.ga.event("search","ontology_search",e.id),this.selected.emit(e),this.formControl.reset())}}return t.\u0275fac=function(e){return new(e||t)(ea(Q0),ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-search"]],inputs:{placeholderText:"placeholderText"},outputs:{selected:"selected"},decls:10,vars:9,consts:[[1,"ccf-ontology-search"],["appearance","outline",1,"field"],["matPrefix","","color","primary",1,"search"],["type","text","matInput","",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"ccf-ontology-search","detached","autocomplete",3,"displayWith","optionSelected","opened","closed"],["autocomplete",""],[1,"results-container"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"prefix"],[1,"search-term"],[1,"suffix"]],template:function(t,e){if(1&t&&(ra(0,"form",0),ra(1,"mat-form-field",1),ra(2,"mat-icon",2),Ja(3,"search"),sa(),oa(4,"input",3),ra(5,"mat-autocomplete",4,5),fa("optionSelected",function(t){return e.onSelect(t)})("opened",function(){return e.autoCompleteOpen=!0})("closed",function(){return e.autoCompleteOpen=!1}),ra(7,"div",6),Jo(8,A1,7,4,"mat-option",7),Dc(9,"async"),sa(),sa(),sa(),sa()),2&t){const t=ta(6);ja("autocomplete-open",e.autoCompleteOpen),ws(4),na("placeholder",e.placeholderText)("formControl",e.formControl)("matAutocomplete",t),ws(1),na("displayWith",e.displayFormatter),ws(3),na("ngForOf",Rc(9,7,e.filteredResults$))}},directives:[cH,IU,sH,QH,T_,$H,E$,uU,m$,MU,pH,h$,kh,wv],pipes:[$h],styles:[".ccf-ontology-search[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{width:100%}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem .25rem 0;margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border:none;height:3rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix input{margin-left:.4rem}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-prefix{top:.5rem;border:none}.ccf-ontology-search[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0 .25rem;min-width:2.5rem} .ccf-ontology-search.detached{border:.125rem solid;border-top:none;border-radius:0 0 .25rem .25rem;max-height:18rem} .ccf-ontology-search.detached .results-container{width:23.75rem;margin-bottom:1rem;overflow:auto;max-height:15rem;scrollbar-width:thin} .ccf-ontology-search.detached .results-container mat-option{height:1.5rem;width:23.75rem} .ccf-ontology-search.detached .results-container mat-option .search-term{text-decoration:underline}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:.25rem 0 0;border-bottom:none}.autocomplete-open[_ngcontent-%COMP%] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 .25rem 0 0;border-bottom:none}"],changeDetection:0}),t})();const I1=function(t){return[t]};function D1(t,e){if(1&t){const t=ua();ra(0,"ccf-ontology-tree",2),fa("nodeSelected",function(e){return $e(t),va().ontologySelection.emit(e)}),sa()}if(2&t){const t=e.ngIf,n=va();na("nodes",Pc(7,I1,t))("rootNode",t.id)("getChildren",n.ontologySearchService.getChildren)("occurenceData",n.occurenceData)("termData",n.termData)("ontologyFilter",n.ontologyFilter)("header",n.header)}}let R1=(()=>{class t{constructor(t){this.ontologySearchService=t,this.ontologySelection=new Bc}ngOnChanges(t){"treeModel"in t&&this.treeModel&&this.ontologySearchService.setTreeModel(this.treeModel)}selected(t){var e,n;const i=null!==(n=null===(e=this.treeModel)||void 0===e?void 0:e.nodes)&&void 0!==n?n:{};this.tree.expandAndSelect(t,t=>i[t.parent])}}return t.\u0275fac=function(e){return new(e||t)(ea(Q0))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-ontology-selection"]],viewQuery:function(t,e){if(1&t&&Zc(P1,5),2&t){let t;Qc(t=tu())&&(e.tree=t.first)}},inputs:{occurenceData:"occurenceData",termData:"termData",treeModel:"treeModel",ontologyFilter:"ontologyFilter",header:"header",placeholderText:"placeholderText"},outputs:{ontologySelection:"ontologySelection"},features:[xl([Q0]),ye],decls:3,vars:4,consts:[[3,"placeholderText","selected"],["class","tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected",4,"ngIf"],[1,"tree",3,"nodes","rootNode","getChildren","occurenceData","termData","ontologyFilter","header","nodeSelected"]],template:function(t,e){1&t&&(ra(0,"ccf-ontology-search",0),fa("selected",function(t){return e.selected(t)}),sa(),Jo(1,D1,1,9,"ccf-ontology-tree",1),Dc(2,"async")),2&t&&(na("placeholderText",e.placeholderText),ws(1),na("ngIf",Rc(2,2,e.ontologySearchService.rootNode$)))},directives:[M1,Ah,P1],pipes:[$h],styles:[""],changeDetection:0}),t})(),N1=(()=>{class t{constructor(t,e,n){this.drawer=t,this.cdr=n,this.className="ccf-drawer-toggle-button",this.position="start",this.opened=!1,this.subscriptions=new g;const i=e.connect(this);this.subscriptions.add(i.getMessagesFromSource(t).subscribe(t=>{this.handleMessage(t)&&n.markForCheck()}))}get classEnd(){return"end"===this.position}get icon(){let t="arrow_right",e="arrow_left";return"end"===this.position&&([t,e]=[e,t]),this.opened?e:t}ngAfterViewInit(){setTimeout(()=>{this.position=this.drawer.position,this.cdr.markForCheck()})}ngOnDestroy(){this.subscriptions.unsubscribe()}handleMessage(t){return"drawer-toggled"===t.payload.type&&(this.opened=t.payload.opened,!0)}toggle(){const t=this.drawer,{opened:e,expanded:n}=t;e?n?t.closeExpanded():t.close():t.open()}}return t.\u0275fac=function(e){return new(e||t)(ea(kZ),ea(xZ),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-drawer-toggle-button"]],hostVars:4,hostBindings:function(t,e){2&t&&(Va(e.className),ja("ccf-drawer-toggle-button-end",e.classEnd))},decls:2,vars:1,consts:[["aria-hidden","false","aria-label","Close side drawer",1,"expand-collapse-icon",3,"click"]],template:function(t,e){1&t&&(ra(0,"mat-icon",0),fa("click",function(){return e.toggle()}),Ja(1),sa()),2&t&&(ws(1),el(" ",e.icon,"\n"))},directives:[T_],styles:["[_nghost-%COMP%]{position:absolute;top:calc(50% - 2.0625rem);right:-1.0625rem;width:1.0625rem;height:3rem;border-radius:0 .25rem .25rem 0;cursor:pointer;display:flex;align-items:center;transition:.6s}.ccf-drawer-toggle-button-end[_nghost-%COMP%]{right:unset;left:calc(-1rem - 1px);border-radius:.25rem 0 0 .25rem}[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{position:relative;right:.25rem;transition:all .5s}.ccf-drawer-toggle-button-end[_nghost-%COMP%] .expand-collapse-icon[_ngcontent-%COMP%]{right:unset;left:-.25rem}"],changeDetection:0}),t})();function L1(t,e){1&t&&(ra(0,"div",7),oa(1,"mat-spinner",8),ra(2,"span",3),Ja(3,"Loading External Site"),sa(),sa())}function j1(t,e){if(1&t){const t=ua();ra(0,"iframe",9),fa("load",function(){return $e(t),va().loading=!1}),sa()}2&t&&Ko("src",va().safeUrl,wr)}let F1=(()=>{class t{constructor(t){this.sanitizer=t,this.className="ccf-viewer",this.url="",this.closed=new Bc,this.loading=!0,this.safeUrl=null}ngOnChanges(t){"url"in t&&this.updateUrl()}updateUrl(){const{sanitizer:t,url:e}=this;this.safeUrl=null,e&&(this.safeUrl=t.bypassSecurityTrustResourceUrl(e),this.loading=!0)}}return t.\u0275fac=function(e){return new(e||t)(ea(Sd))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-viewer"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{url:"url"},outputs:{closed:"closed"},features:[ye],decls:11,vars:4,consts:[[1,"toolbar"],["mat-flat-button","","target","_blank","rel","noopener noreferrer",1,"launch",3,"href","disabled"],[1,"icon"],[1,"text"],["mat-flat-button","",1,"close",3,"click"],["class","overlay",4,"ngIf"],["class","frame","title","Portal Data Viewer","referrerpolicy","no-referrer",3,"load",4,"ngIf"],[1,"overlay"],[1,"spinner"],["title","Portal Data Viewer","referrerpolicy","no-referrer",1,"frame",3,"load"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"a",1),ra(2,"mat-icon",2),Ja(3,"launch"),sa(),ra(4,"span",3),Ja(5,"Open in Portal"),sa(),sa(),ra(6,"button",4),fa("click",function(){return e.closed.emit()}),ra(7,"mat-icon",2),Ja(8,"clear"),sa(),sa(),sa(),Jo(9,L1,4,0,"div",5),Jo(10,j1,1,1,"iframe",6)),2&t&&(ws(1),na("href",e.safeUrl,_r)("disabled",!e.safeUrl),ws(8),na("ngIf",e.loading),ws(1),na("ngIf",e.safeUrl))},directives:[N_,T_,R_,Ah,mZ],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;width:100%;height:1.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%]{margin-right:3.5rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch.mat-button-disabled[_ngcontent-%COMP%]{cursor:not-allowed}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .launch[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{margin-right:.25rem}[_nghost-%COMP%] .toolbar[_ngcontent-%COMP%] .close[_ngcontent-%COMP%]{min-width:0;padding:0;line-height:1.5rem;border-radius:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:1.5rem;bottom:0;left:0;right:0}[_nghost-%COMP%] .overlay[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{margin-bottom:.5rem}[_nghost-%COMP%] .frame[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0}),t})();function B1(t,e){if(1&t&&oa(0,"div",3),2&t){const t=e.index;ja("line-tick-visible",va().tissueSectionExists(t+1))}}const V1=function(){return[]};let z1=(()=>{class t{constructor(){this.clsName="ccf-tissue-section-vis"}tissueSectionExists(t){return this.tissueSections.filter(e=>e.sectionNumber===t).length>0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-tissue-section-vis"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{totalTissueSections:"totalTissueSections",tissueSections:"tissueSections"},decls:7,vars:3,consts:[[1,"container"],["class","line-tick",3,"line-tick-visible",4,"ngFor","ngForOf"],[1,"x-axis"],[1,"line-tick"]],template:function(t,e){1&t&&(ra(0,"div"),Ja(1,"0"),sa(),ra(2,"div",0),Jo(3,B1,1,2,"div",1),oa(4,"div",2),sa(),ra(5,"div"),Ja(6),sa()),2&t&&(ws(3),na("ngForOf",kc(2,V1).constructor(e.totalTissueSections)),ws(3),tl(e.totalTissueSections))},directives:[kh],styles:["[_nghost-%COMP%]{width:100%;height:2.5rem;padding:.5rem 1rem;display:flex}[_nghost-%COMP%] .container[_ngcontent-%COMP%]{margin-right:.5rem;margin-left:.5rem;flex-grow:1;display:flex;position:relative;justify-content:space-evenly}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .line-tick[_ngcontent-%COMP%]{height:100%;width:1px;z-index:2}[_nghost-%COMP%] .container[_ngcontent-%COMP%] .x-axis[_ngcontent-%COMP%]{width:100%;height:2px;position:absolute;top:calc(50% - 1px);right:0;z-index:1}"],changeDetection:0}),t})();function U1(t){return null!==t&&"object"==typeof t&&"constructor"in t&&t.constructor===Object}function H1(t,e){void 0===t&&(t={}),void 0===e&&(e={}),Object.keys(e).forEach(function(n){void 0===t[n]?t[n]=e[n]:U1(e[n])&&U1(t[n])&&Object.keys(e[n]).length>0&&H1(t[n],e[n])})}var $1={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function G1(){var t="undefined"!=typeof document?document:{};return H1(t,$1),t}var W1={document:$1,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}},requestAnimationFrame:function(t){return"undefined"==typeof setTimeout?(t(),null):setTimeout(t,0)},cancelAnimationFrame:function(t){"undefined"!=typeof setTimeout&&clearTimeout(t)}};function q1(){var t="undefined"!=typeof window?window:{};return H1(t,W1),t}function Y1(t){return(Y1=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function X1(t,e){return(X1=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function K1(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(m){return!1}}function Q1(t,e,n){return(Q1=K1()?Reflect.construct:function(t,e,n){var i=[null];i.push.apply(i,e);var r=new(Function.bind.apply(t,i));return n&&X1(r,n.prototype),r}).apply(null,arguments)}function Z1(t){var e="function"==typeof Map?new Map:void 0;return(Z1=function(t){if(null===t||!function(t){return-1!==Function.toString.call(t).indexOf("[native code]")}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return Q1(t,arguments,Y1(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),X1(n,t)})(t)}var J1=function(t){function e(e){var n;return function(t){var e=t.__proto__;Object.defineProperty(t,"__proto__",{get:function(){return e},set:function(t){e.__proto__=t}})}(function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(n=t.call.apply(t,[this].concat(e))||this)),n}return function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}(e,t),e}(Z1(Array));function t2(t){void 0===t&&(t=[]);var e=[];return t.forEach(function(t){Array.isArray(t)?e.push.apply(e,t2(t)):e.push(t)}),e}function e2(t,e){return Array.prototype.filter.call(t,e)}function n2(t,e){var n=q1(),i=G1(),r=[];if(!e&&t instanceof J1)return t;if(!t)return new J1(r);if("string"==typeof t){var s=t.trim();if(s.indexOf("<")>=0&&s.indexOf(">")>=0){var o="div";0===s.indexOf("0}).length>0},toggleClass:function(){for(var t=arguments.length,e=new Array(t),n=0;n=0;p-=1){var f=d[p];s&&f.listener===s||s&&f.listener&&f.listener.dom7proxy&&f.listener.dom7proxy===s?(h.removeEventListener(c,f.proxyListener,o),d.splice(p,1)):s||(h.removeEventListener(c,f.proxyListener,o),d.splice(p,1))}}return this},trigger:function(){for(var t=q1(),e=arguments.length,n=new Array(e),i=0;i0}),c.dispatchEvent(u),c.dom7EventData=[],delete c.dom7EventData}}return this},transitionEnd:function(t){var e=this;return t&&e.on("transitionend",function n(i){i.target===this&&(t.call(this,i),e.off("transitionend",n))}),this},outerWidth:function(t){if(this.length>0){if(t){var e=this.styles();return this[0].offsetWidth+parseFloat(e.getPropertyValue("margin-right"))+parseFloat(e.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(t){if(this.length>0){if(t){var e=this.styles();return this[0].offsetHeight+parseFloat(e.getPropertyValue("margin-top"))+parseFloat(e.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){var t=q1();return this[0]?t.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){var t=q1(),e=G1(),n=this[0],i=n.getBoundingClientRect(),r=e.body;return{top:i.top+(n===t?t.scrollY:n.scrollTop)-(n.clientTop||r.clientTop||0),left:i.left+(n===t?t.scrollX:n.scrollLeft)-(n.clientLeft||r.clientLeft||0)}}return null},css:function(t,e){var n,i=q1();if(1===arguments.length){if("string"!=typeof t){for(n=0;ne-1)return n2([]);if(t<0){var n=e+t;return n2(n<0?[]:[this[n]])}return n2([this[t]])},append:function(){for(var t,e=G1(),n=0;n=0;n-=1)this[e].insertBefore(r.childNodes[n],this[e].childNodes[0])}else if(t instanceof J1)for(n=0;n0?t?this[0].nextElementSibling&&n2(this[0].nextElementSibling).is(t)?n2([this[0].nextElementSibling]):n2([]):n2(this[0].nextElementSibling?[this[0].nextElementSibling]:[]):n2([])},nextAll:function(t){var e=[],n=this[0];if(!n)return n2([]);for(;n.nextElementSibling;){var i=n.nextElementSibling;t?n2(i).is(t)&&e.push(i):e.push(i),n=i}return n2(e)},prev:function(t){if(this.length>0){var e=this[0];return t?e.previousElementSibling&&n2(e.previousElementSibling).is(t)?n2([e.previousElementSibling]):n2([]):n2(e.previousElementSibling?[e.previousElementSibling]:[])}return n2([])},prevAll:function(t){var e=[],n=this[0];if(!n)return n2([]);for(;n.previousElementSibling;){var i=n.previousElementSibling;t?n2(i).is(t)&&e.push(i):e.push(i),n=i}return n2(e)},parent:function(t){for(var e=[],n=0;n=0,observer:"MutationObserver"in t||"WebkitMutationObserver"in t,passiveListener:function(){var e=!1;try{var n=Object.defineProperty({},"passive",{get:function(){e=!0}});t.addEventListener("testPassiveListener",null,n)}catch(i){}return e}(),gestures:"ongesturestart"in t}}()),o2}function b2(t){return void 0===t&&(t={}),a2||(a2=function(t){var e=(void 0===t?{}:t).userAgent,n=m2(),i=q1(),r=i.navigator.platform,s=e||i.navigator.userAgent,o={ios:!1,android:!1},a=i.screen.width,l=i.screen.height,c=s.match(/(Android);?[\s\/]+([\d.]+)?/),u=s.match(/(iPad).*OS\s([\d_]+)/),h=s.match(/(iPod)(.*OS\s([\d_]+))?/),d=!u&&s.match(/(iPhone\sOS|iOS)\s([\d_]+)/),p="Win32"===r,f="MacIntel"===r;return!u&&f&&n.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(a+"x"+l)>=0&&((u=s.match(/(Version)\/([\d.]+)/))||(u=[0,1,"13_0_0"]),f=!1),c&&!p&&(o.os="android",o.android=!0),(u||d||h)&&(o.os="ios",o.ios=!0),o}(t)),a2}function y2(){return l2||(l2=function(){var t,e=q1();return{isEdge:!!e.navigator.userAgent.match(/Edge/g),isSafari:(t=e.navigator.userAgent.toLowerCase(),t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),l2}var v2={name:"resize",create:function(){var t=this;f2(t,{resize:{observer:null,createObserver:function(){!t||t.destroyed||!t.initialized||(t.resize.observer=new ResizeObserver(function(e){var n=t.width,i=t.height,r=n,s=i;e.forEach(function(e){var n=e.contentBoxSize,i=e.contentRect,o=e.target;o&&o!==t.el||(r=i?i.width:(n[0]||n).inlineSize,s=i?i.height:(n[0]||n).blockSize)}),(r!==n||s!==i)&&t.resize.resizeHandler()}),t.resize.observer.observe(t.el))},removeObserver:function(){t.resize.observer&&t.resize.observer.unobserve&&t.el&&(t.resize.observer.unobserve(t.el),t.resize.observer=null)},resizeHandler:function(){!t||t.destroyed||!t.initialized||(t.emit("beforeResize"),t.emit("resize"))},orientationChangeHandler:function(){!t||t.destroyed||!t.initialized||t.emit("orientationchange")}}})},on:{init:function(t){var e=q1();t.params.resizeObserver&&void 0!==q1().ResizeObserver?t.resize.createObserver():(e.addEventListener("resize",t.resize.resizeHandler),e.addEventListener("orientationchange",t.resize.orientationChangeHandler))},destroy:function(t){var e=q1();t.resize.removeObserver(),e.removeEventListener("resize",t.resize.resizeHandler),e.removeEventListener("orientationchange",t.resize.orientationChangeHandler)}}};function _2(){return(_2=Object.assign||function(t){for(var e=1;e0)&&(!r.isTouched||!r.isMoved))){s.noSwipingClass&&""!==s.noSwipingClass&&a.target&&a.target.shadowRoot&&t.path&&t.path[0]&&(l=c2(t.path[0]));var c=s.noSwipingSelector?s.noSwipingSelector:"."+s.noSwipingClass;if(s.noSwiping&&(a.target&&a.target.shadowRoot?function(t,e){return void 0===e&&(e=this),function e(n){return n&&n!==G1()&&n!==q1()?(n.assignedSlot&&(n=n.assignedSlot),n.closest(t)||e(n.getRootNode().host)):null}(e)}(c,a.target):l.closest(c)[0]))return void(e.allowClick=!0);if(!s.swipeHandler||l.closest(s.swipeHandler)[0]){o.currentX="touchstart"===a.type?a.targetTouches[0].pageX:a.pageX,o.currentY="touchstart"===a.type?a.targetTouches[0].pageY:a.pageY;var u=o.currentX,h=o.currentY,d=s.edgeSwipeDetection||s.iOSEdgeSwipeDetection,p=s.edgeSwipeThreshold||s.iOSEdgeSwipeThreshold;if(d&&(u<=p||u>=i.innerWidth-p)){if("prevent"!==d)return;t.preventDefault()}if(f2(r,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=u,o.startY=h,r.touchStartTime=h2(),e.allowClick=!0,e.updateSize(),e.swipeDirection=void 0,s.threshold>0&&(r.allowThresholdMove=!1),"touchstart"!==a.type){var f=!0;l.is(r.focusableElements)&&(f=!1),n.activeElement&&c2(n.activeElement).is(r.focusableElements)&&n.activeElement!==l[0]&&n.activeElement.blur(),(s.touchStartForcePreventDefault||f&&e.allowTouchMove&&s.touchStartPreventDefault)&&!l[0].isContentEditable&&a.preventDefault()}e.emit("touchStart",a)}}}}function C2(t){var e=G1(),n=this,i=n.touchEventsData,r=n.params,s=n.touches,o=n.rtlTranslate;if(n.enabled){var a=t;if(a.originalEvent&&(a=a.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&n.emit("touchMoveOpposite",a));if(!i.isTouchEvent||"touchmove"===a.type){var l="touchmove"===a.type&&a.targetTouches&&(a.targetTouches[0]||a.changedTouches[0]),c="touchmove"===a.type?l.pageX:a.pageX,u="touchmove"===a.type?l.pageY:a.pageY;if(a.preventedByNestedSwiper)return s.startX=c,void(s.startY=u);if(!n.allowTouchMove)return n.allowClick=!1,void(i.isTouched&&(f2(s,{startX:c,startY:u,currentX:c,currentY:u}),i.touchStartTime=h2()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(n.isVertical()){if(us.startY&&n.translate>=n.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(cs.startX&&n.translate>=n.minTranslate())return;if(i.isTouchEvent&&e.activeElement&&a.target===e.activeElement&&c2(a.target).is(i.focusableElements))return i.isMoved=!0,void(n.allowClick=!1);if(i.allowTouchCallbacks&&n.emit("touchMove",a),!(a.targetTouches&&a.targetTouches.length>1)){s.currentX=c,s.currentY=u;var h=s.currentX-s.startX,d=s.currentY-s.startY;if(!(n.params.threshold&&Math.sqrt(Math.pow(h,2)+Math.pow(d,2))=25&&(p=180*Math.atan2(Math.abs(d),Math.abs(h))/Math.PI,i.isScrolling=n.isHorizontal()?p>r.touchAngle:90-p>r.touchAngle)),i.isScrolling&&n.emit("touchMoveOpposite",a),void 0===i.startMoving&&(s.currentX!==s.startX||s.currentY!==s.startY)&&(i.startMoving=!0),i.isScrolling)return void(i.isTouched=!1);if(i.startMoving){n.allowClick=!1,!r.cssMode&&a.cancelable&&a.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&a.stopPropagation(),i.isMoved||(r.loop&&n.loopFix(),i.startTranslate=n.getTranslate(),n.setTransition(0),n.animating&&n.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,r.grabCursor&&(!0===n.allowSlideNext||!0===n.allowSlidePrev)&&n.setGrabCursor(!0),n.emit("sliderFirstMove",a)),n.emit("sliderMove",a),i.isMoved=!0;var f=n.isHorizontal()?h:d;s.diff=f,f*=r.touchRatio,o&&(f=-f),n.swipeDirection=f>0?"prev":"next",i.currentTranslate=f+i.startTranslate;var g=!0,m=r.resistanceRatio;if(r.touchReleaseOnEdges&&(m=0),f>0&&i.currentTranslate>n.minTranslate()?(g=!1,r.resistance&&(i.currentTranslate=n.minTranslate()-1+Math.pow(-n.minTranslate()+i.startTranslate+f,m))):f<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),!n.allowSlidePrev&&!n.allowSlideNext&&(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(f)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,s.startX=s.currentX,s.startY=s.currentY,i.currentTranslate=i.startTranslate,void(s.diff=n.isHorizontal()?s.currentX-s.startX:s.currentY-s.startY)}!r.followFinger||r.cssMode||((r.freeMode||r.watchSlidesProgress||r.watchSlidesVisibility)&&(n.updateActiveIndex(),n.updateSlidesClasses()),r.freeMode&&(0===i.velocities.length&&i.velocities.push({position:s[n.isHorizontal()?"startX":"startY"],time:i.touchStartTime}),i.velocities.push({position:s[n.isHorizontal()?"currentX":"currentY"],time:h2()})),n.updateProgress(i.currentTranslate),n.setTranslate(i.currentTranslate))}}}}}}function E2(t){var e=this,n=e.touchEventsData,i=e.params,r=e.touches,s=e.rtlTranslate,o=e.$wrapperEl,a=e.slidesGrid,l=e.snapGrid;if(e.enabled){var c=t;if(c.originalEvent&&(c=c.originalEvent),n.allowTouchCallbacks&&e.emit("touchEnd",c),n.allowTouchCallbacks=!1,!n.isTouched)return n.isMoved&&i.grabCursor&&e.setGrabCursor(!1),n.isMoved=!1,void(n.startMoving=!1);i.grabCursor&&n.isMoved&&n.isTouched&&(!0===e.allowSlideNext||!0===e.allowSlidePrev)&&e.setGrabCursor(!1);var u,h=h2(),d=h-n.touchStartTime;if(e.allowClick&&(e.updateClickedSlide(c),e.emit("tap click",c),d<300&&h-n.lastClickTime<300&&e.emit("doubleTap doubleClick",c)),n.lastClickTime=h2(),u2(function(){e.destroyed||(e.allowClick=!0)}),!n.isTouched||!n.isMoved||!e.swipeDirection||0===r.diff||n.currentTranslate===n.startTranslate)return n.isTouched=!1,n.isMoved=!1,void(n.startMoving=!1);if(n.isTouched=!1,n.isMoved=!1,n.startMoving=!1,u=i.followFinger?s?e.translate:-e.translate:-n.currentTranslate,!i.cssMode){if(i.freeMode){if(u<-e.minTranslate())return void e.slideTo(e.activeIndex);if(u>-e.maxTranslate())return void e.slideTo(e.slides.length1){var p=n.velocities.pop(),f=n.velocities.pop(),g=p.time-f.time;e.velocity=(p.position-f.position)/g,e.velocity/=2,Math.abs(e.velocity)150||h2()-p.time>300)&&(e.velocity=0)}else e.velocity=0;e.velocity*=i.freeModeMomentumVelocityRatio,n.velocities.length=0;var m=1e3*i.freeModeMomentumRatio,b=e.translate+e.velocity*m;s&&(b=-b);var y,v,_=!1,w=20*Math.abs(e.velocity)*i.freeModeMomentumBounceRatio;if(be.minTranslate())i.freeModeMomentumBounce?(b-e.minTranslate()>w&&(b=e.minTranslate()+w),y=e.minTranslate(),_=!0,n.allowMomentumBounce=!0):b=e.minTranslate(),i.loop&&i.centeredSlides&&(v=!0);else if(i.freeModeSticky){for(var x,S=0;S-b){x=S;break}b=-(b=Math.abs(l[x]-b)=i.longSwipesMs)&&(e.updateProgress(),e.updateActiveIndex(),e.updateSlidesClasses()))}for(var O=0,T=e.slidesSizesGrid[0],k=0;k=a[k]&&u=a[k]&&(O=k,T=a[a.length-1]-a[a.length-2])}var A=(u-a[O])/T,M=Oi.longSwipesMs){if(!i.longSwipes)return void e.slideTo(e.activeIndex);"next"===e.swipeDirection&&e.slideTo(A>=i.longSwipesRatio?O+M:O),"prev"===e.swipeDirection&&e.slideTo(A>1-i.longSwipesRatio?O+M:O)}else{if(!i.shortSwipes)return void e.slideTo(e.activeIndex);!e.navigation||c.target!==e.navigation.nextEl&&c.target!==e.navigation.prevEl?("next"===e.swipeDirection&&e.slideTo(O+M),"prev"===e.swipeDirection&&e.slideTo(O)):e.slideTo(c.target===e.navigation.nextEl?O+M:O)}}}}function O2(){var t=this,e=t.params,n=t.el;if(!n||0!==n.offsetWidth){e.breakpoints&&t.setBreakpoint();var i=t.allowSlideNext,r=t.allowSlidePrev,s=t.snapGrid;t.allowSlideNext=!0,t.allowSlidePrev=!0,t.updateSize(),t.updateSlides(),t.updateSlidesClasses(),t.slideTo(("auto"===e.slidesPerView||e.slidesPerView>1)&&t.isEnd&&!t.isBeginning&&!t.params.centeredSlides?t.slides.length-1:t.activeIndex,0,!1,!0),t.autoplay&&t.autoplay.running&&t.autoplay.paused&&t.autoplay.run(),t.allowSlidePrev=r,t.allowSlideNext=i,t.params.watchOverflow&&s!==t.snapGrid&&t.checkOverflow()}}function T2(t){var e=this;!e.enabled||e.allowClick||(e.params.preventClicks&&t.preventDefault(),e.params.preventClicksPropagation&&e.animating&&(t.stopPropagation(),t.stopImmediatePropagation()))}function k2(){var t=this,e=t.wrapperEl,n=t.rtlTranslate;if(t.enabled){t.previousTranslate=t.translate,t.translate=t.isHorizontal()?n?e.scrollWidth-e.offsetWidth-e.scrollLeft:-e.scrollLeft:-e.scrollTop,-0===t.translate&&(t.translate=0),t.updateActiveIndex(),t.updateSlidesClasses();var i=t.maxTranslate()-t.minTranslate();(0===i?0:(t.translate-t.minTranslate())/i)!==t.progress&&t.updateProgress(n?-t.translate:t.translate),t.emit("setTranslate",t.translate,!1)}}var P2=!1;function A2(){}var M2={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!1,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};function I2(t,e){for(var n=0;n=0&&e.eventsAnyListeners.splice(n,1),e},off:function(t,e){var n=this;return n.eventsListeners&&t.split(" ").forEach(function(t){void 0===e?n.eventsListeners[t]=[]:n.eventsListeners[t]&&n.eventsListeners[t].forEach(function(i,r){(i===e||i.__emitterProxy&&i.__emitterProxy===e)&&n.eventsListeners[t].splice(r,1)})}),n},emit:function(){var t=this;if(!t.eventsListeners)return t;for(var e,n,i,r=arguments.length,s=new Array(r),o=0;o=0&&(v=parseFloat(v.replace("%",""))/100*s),t.virtualSize=-v,u.css(o?{marginLeft:"",marginBottom:"",marginTop:""}:{marginRight:"",marginBottom:"",marginTop:""}),i.slidesPerColumn>1&&(S=Math.floor(h/i.slidesPerColumn)===h/t.params.slidesPerColumn?h:Math.ceil(h/i.slidesPerColumn)*i.slidesPerColumn,"auto"!==i.slidesPerView&&"row"===i.slidesPerColumnFill&&(S=Math.max(S,i.slidesPerView*i.slidesPerColumn)));for(var T,k=i.slidesPerColumn,P=S/k,A=Math.floor(h/i.slidesPerColumn),M=0;M1){var D=void 0,R=void 0,N=void 0;if("row"===i.slidesPerColumnFill&&i.slidesPerGroup>1){var L=Math.floor(M/(i.slidesPerGroup*i.slidesPerColumn)),j=M-i.slidesPerColumn*i.slidesPerGroup*L,F=0===L?i.slidesPerGroup:Math.min(Math.ceil((h-L*k*i.slidesPerGroup)/k),i.slidesPerGroup);N=Math.floor(j/F),I.css({"-webkit-box-ordinal-group":D=(R=j-N*F+L*i.slidesPerGroup)+N*S/k,"-moz-box-ordinal-group":D,"-ms-flex-order":D,"-webkit-order":D,order:D})}else"column"===i.slidesPerColumnFill?(N=M-(R=Math.floor(M/k))*k,(R>A||R===A&&N===k-1)&&(N+=1)>=k&&(N=0,R+=1)):R=M-(N=Math.floor(M/P))*P;I.css(e("margin-top"),0!==N?i.spaceBetween&&i.spaceBetween+"px":"")}if("none"!==I.css("display")){if("auto"===i.slidesPerView){var B=getComputedStyle(I[0]),V=I[0].style.transform,z=I[0].style.webkitTransform;if(V&&(I[0].style.transform="none"),z&&(I[0].style.webkitTransform="none"),i.roundLengths)T=t.isHorizontal()?I.outerWidth(!0):I.outerHeight(!0);else{var U=n(B,"width"),H=n(B,"padding-left"),$=n(B,"padding-right"),G=n(B,"margin-left"),W=n(B,"margin-right"),q=B.getPropertyValue("box-sizing");if(q&&"border-box"===q)T=U+G+W;else{var Y=I[0];T=U+H+$+G+W+(Y.offsetWidth-Y.clientWidth)}}V&&(I[0].style.transform=V),z&&(I[0].style.webkitTransform=z),i.roundLengths&&(T=Math.floor(T))}else T=(s-(i.slidesPerView-1)*v)/i.slidesPerView,i.roundLengths&&(T=Math.floor(T)),u[M]&&(u[M].style[e("width")]=T+"px");u[M]&&(u[M].swiperSlideSize=T),f.push(T),i.centeredSlides?(_=_+T/2+w/2+v,0===w&&0!==M&&(_=_-s/2-v),0===M&&(_=_-s/2-v),Math.abs(_)<.001&&(_=0),i.roundLengths&&(_=Math.floor(_)),x%i.slidesPerGroup==0&&d.push(_),p.push(_)):(i.roundLengths&&(_=Math.floor(_)),(x-Math.min(t.params.slidesPerGroupSkip,x))%t.params.slidesPerGroup==0&&d.push(_),p.push(_),_=_+T+v),t.virtualSize+=T+v,w=T,x+=1}}if(t.virtualSize=Math.max(t.virtualSize,s)+m,o&&a&&("slide"===i.effect||"coverflow"===i.effect)&&r.css({width:t.virtualSize+i.spaceBetween+"px"}),i.setWrapperSize&&r.css(((E={})[e("width")]=t.virtualSize+i.spaceBetween+"px",E)),i.slidesPerColumn>1&&(t.virtualSize=(T+i.spaceBetween)*S,t.virtualSize=Math.ceil(t.virtualSize/i.slidesPerColumn)-i.spaceBetween,r.css(((O={})[e("width")]=t.virtualSize+i.spaceBetween+"px",O)),i.centeredSlides)){C=[];for(var X=0;X1&&d.push(t.virtualSize-s)}if(0===d.length&&(d=[0]),0!==i.spaceBetween){var J,tt=t.isHorizontal()&&o?"marginLeft":e("marginRight");u.filter(function(t,e){return!i.cssMode||e!==u.length-1}).css(((J={})[tt]=v+"px",J))}if(i.centeredSlides&&i.centeredSlidesBounds){var et=0;f.forEach(function(t){et+=t+(i.spaceBetween?i.spaceBetween:0)});var nt=(et-=i.spaceBetween)-s;d=d.map(function(t){return t<0?-g:t>nt?nt+m:t})}if(i.centerInsufficientSlides){var it=0;if(f.forEach(function(t){it+=t+(i.spaceBetween?i.spaceBetween:0)}),(it-=i.spaceBetween)1)if(n.params.centeredSlides)n.visibleSlides.each(function(t){i.push(t)});else for(e=0;en.slides.length&&!r)break;i.push(o(a))}else i.push(o(n.activeIndex));for(e=0;es?l:s}s&&n.$wrapperEl.css("height",s+"px")},updateSlidesOffset:function(){for(var t=this.slides,e=0;e=0&&c1&&u<=e.size||c<=0&&u>=e.size)&&(e.visibleSlides.push(a),e.visibleSlidesIndexes.push(o),i.eq(o).addClass(n.slideVisibleClass))}a.progress=r?-l:l}e.visibleSlides=c2(e.visibleSlides)}},updateProgress:function(t){var e=this;void 0===t&&(t=e&&e.translate&&e.translate*(e.rtlTranslate?-1:1)||0);var n=e.params,i=e.maxTranslate()-e.minTranslate(),r=e.progress,s=e.isBeginning,o=e.isEnd,a=s,l=o;0===i?(r=0,s=!0,o=!0):(s=(r=(t-e.minTranslate())/i)<=0,o=r>=1),f2(e,{progress:r,isBeginning:s,isEnd:o}),(n.watchSlidesProgress||n.watchSlidesVisibility||n.centeredSlides&&n.autoHeight)&&e.updateSlidesProgress(t),s&&!a&&e.emit("reachBeginning toEdge"),o&&!l&&e.emit("reachEnd toEdge"),(a&&!s||l&&!o)&&e.emit("fromEdge"),e.emit("progress",r)},updateSlidesClasses:function(){var t,e=this,n=e.slides,i=e.params,r=e.$wrapperEl,s=e.activeIndex,o=e.realIndex,a=e.virtual&&i.virtual.enabled;n.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(t=a?e.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+s+'"]'):n.eq(s)).addClass(i.slideActiveClass),i.loop&&(t.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+o+'"]').addClass(i.slideDuplicateActiveClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+o+'"]').addClass(i.slideDuplicateActiveClass));var l=t.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===l.length&&(l=n.eq(0)).addClass(i.slideNextClass);var c=t.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===c.length&&(c=n.eq(-1)).addClass(i.slidePrevClass),i.loop&&(l.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),c.hasClass(i.slideDuplicateClass)?r.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):r.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+c.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass)),e.emitSlidesClasses()},updateActiveIndex:function(t){var e,n=this,i=n.rtlTranslate?n.translate:-n.translate,r=n.slidesGrid,s=n.snapGrid,o=n.params,a=n.activeIndex,l=n.realIndex,c=n.snapIndex,u=t;if(void 0===u){for(var h=0;h=r[h]&&i=r[h]&&i=r[h]&&(u=h);o.normalizeSlideIndex&&(u<0||void 0===u)&&(u=0)}if(s.indexOf(i)>=0)e=s.indexOf(i);else{var d=Math.min(o.slidesPerGroupSkip,u);e=d+Math.floor((u-d)/o.slidesPerGroup)}if(e>=s.length&&(e=s.length-1),u!==a){var p=parseInt(n.slides.eq(u).attr("data-swiper-slide-index")||u,10);f2(n,{snapIndex:e,realIndex:p,previousIndex:a,activeIndex:u}),n.emit("activeIndexChange"),n.emit("snapIndexChange"),l!==p&&n.emit("realIndexChange"),(n.initialized||n.params.runCallbacksOnInit)&&n.emit("slideChange")}else e!==c&&(n.snapIndex=e,n.emit("snapIndexChange"))},updateClickedSlide:function(t){var e,n=this,i=n.params,r=c2(t.target).closest("."+i.slideClass)[0],s=!1;if(r)for(var o=0;o6&&(i=i.split(", ").map(function(t){return t.replace(",",".")}).join(", ")),r=new s.WebKitCSSMatrix("none"===i?"":i)):n=(r=o.MozTransform||o.OTransform||o.MsTransform||o.msTransform||o.transform||o.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===e&&(i=s.WebKitCSSMatrix?r.m41:16===n.length?parseFloat(n[12]):parseFloat(n[4])),"y"===e&&(i=s.WebKitCSSMatrix?r.m42:16===n.length?parseFloat(n[13]):parseFloat(n[5])),i||0}(e.$wrapperEl[0],t);return i&&(s=-s),s||0},setTranslate:function(t,e){var n=this,i=n.rtlTranslate,r=n.params,s=n.$wrapperEl,o=n.wrapperEl,a=n.progress,l=0,c=0;n.isHorizontal()?l=i?-t:t:c=t,r.roundLengths&&(l=Math.floor(l),c=Math.floor(c)),r.cssMode?o[n.isHorizontal()?"scrollLeft":"scrollTop"]=n.isHorizontal()?-l:-c:r.virtualTranslate||s.transform("translate3d("+l+"px, "+c+"px, 0px)"),n.previousTranslate=n.translate,n.translate=n.isHorizontal()?l:c;var u=n.maxTranslate()-n.minTranslate();(0===u?0:(t-n.minTranslate())/u)!==a&&n.updateProgress(t),n.emit("setTranslate",n.translate,e)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(t,e,n,i,r){void 0===t&&(t=0),void 0===e&&(e=this.params.speed),void 0===n&&(n=!0),void 0===i&&(i=!0);var s=this,o=s.params,a=s.wrapperEl;if(s.animating&&o.preventInteractionOnTransition)return!1;var l,c=s.minTranslate(),u=s.maxTranslate();if(s.updateProgress(l=i&&t>c?c:i&&ts?"next":ir?"next":i=c.length&&(m=c.length-1),(d||l.initialSlide||0)===(h||0)&&n&&o.emit("beforeSlideChangeStart");var b,y=-c[m];if(o.updateProgress(y),l.normalizeSlideIndex)for(var v=0;v=w&&_=w&&_=w&&(a=v)}if(o.initialized&&a!==d&&(!o.allowSlideNext&&yo.translate&&y>o.maxTranslate()&&(d||0)!==a))return!1;if(b=a>d?"next":a=t&&(d=t)}),void 0!==d&&(c=o.indexOf(d))<0&&(c=i.activeIndex-1),i.slideTo(c,t,e,n)},slideReset:function(t,e,n){return void 0===t&&(t=this.params.speed),void 0===e&&(e=!0),this.slideTo(this.activeIndex,t,e,n)},slideToClosest:function(t,e,n,i){void 0===t&&(t=this.params.speed),void 0===e&&(e=!0),void 0===i&&(i=.5);var r=this,s=r.activeIndex,o=Math.min(r.params.slidesPerGroupSkip,s),a=o+Math.floor((s-o)/r.params.slidesPerGroup),l=r.rtlTranslate?r.translate:-r.translate;if(l>=r.snapGrid[a]){var c=r.snapGrid[a];l-c>(r.snapGrid[a+1]-c)*i&&(s+=r.params.slidesPerGroup)}else{var u=r.snapGrid[a-1];l-u<=(r.snapGrid[a]-u)*i&&(s-=r.params.slidesPerGroup)}return s=Math.max(s,0),s=Math.min(s,r.slidesGrid.length-1),r.slideTo(s,t,e,n)},slideToClickedSlide:function(){var t,e=this,n=e.params,i=e.$wrapperEl,r="auto"===n.slidesPerView?e.slidesPerViewDynamic():n.slidesPerView,s=e.clickedIndex;if(n.loop){if(e.animating)return;t=parseInt(c2(e.clickedSlide).attr("data-swiper-slide-index"),10),n.centeredSlides?se.slides.length-e.loopedSlides+r/2?(e.loopFix(),s=i.children("."+n.slideClass+'[data-swiper-slide-index="'+t+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),u2(function(){e.slideTo(s)})):e.slideTo(s):s>e.slides.length-r?(e.loopFix(),s=i.children("."+n.slideClass+'[data-swiper-slide-index="'+t+'"]:not(.'+n.slideDuplicateClass+")").eq(0).index(),u2(function(){e.slideTo(s)})):e.slideTo(s)}else e.slideTo(s)}},loop:{loopCreate:function(){var t=this,e=G1(),n=t.params,i=t.$wrapperEl;i.children("."+n.slideClass+"."+n.slideDuplicateClass).remove();var r=i.children("."+n.slideClass);if(n.loopFillGroupWithBlank){var s=n.slidesPerGroup-r.length%n.slidesPerGroup;if(s!==n.slidesPerGroup){for(var o=0;or.length&&(t.loopedSlides=r.length);var l=[],c=[];r.each(function(e,n){var i=c2(e);n=r.length-t.loopedSlides&&l.push(e),i.attr("data-swiper-slide-index",n)});for(var u=0;u=0;h-=1)i.prepend(c2(l[h].cloneNode(!0)).addClass(n.slideDuplicateClass))},loopFix:function(){var t=this;t.emit("beforeLoopFix");var e,n=t.activeIndex,i=t.slides,r=t.loopedSlides,s=t.allowSlidePrev,o=t.allowSlideNext,a=t.snapGrid,l=t.rtlTranslate;t.allowSlidePrev=!0,t.allowSlideNext=!0;var c=-a[n]-t.getTranslate();n=i.length-r&&(e=-i.length+n+r,t.slideTo(e+=r,0,!1,!0)&&0!==c&&t.setTranslate((l?-t.translate:t.translate)-c)),t.allowSlidePrev=s,t.allowSlideNext=o,t.emit("loopFix")},loopDestroy:function(){var t=this,e=t.params,n=t.slides;t.$wrapperEl.children("."+e.slideClass+"."+e.slideDuplicateClass+",."+e.slideClass+"."+e.slideBlankClass).remove(),n.removeAttr("data-swiper-slide-index")}},grabCursor:{setGrabCursor:function(t){var e=this;if(!(e.support.touch||!e.params.simulateTouch||e.params.watchOverflow&&e.isLocked||e.params.cssMode)){var n=e.el;n.style.cursor="move",n.style.cursor=t?"-webkit-grabbing":"-webkit-grab",n.style.cursor=t?"-moz-grabbin":"-moz-grab",n.style.cursor=t?"grabbing":"grab"}},unsetGrabCursor:function(){var t=this;t.support.touch||t.params.watchOverflow&&t.isLocked||t.params.cssMode||(t.el.style.cursor="")}},manipulation:{appendSlide:function(t){var e=this,n=e.$wrapperEl,i=e.params;if(i.loop&&e.loopDestroy(),"object"==typeof t&&"length"in t)for(var r=0;r=o)n.appendSlide(e);else{for(var a=s>t?s+1:s,l=[],c=o-1;c>=t;c-=1){var u=n.slides.eq(c);u.remove(),l.unshift(u)}if("object"==typeof e&&"length"in e){for(var h=0;ht?s+e.length:s}else i.append(e);for(var d=0;d1,d=u.slidesPerColumn>1,p=s.enabled;h&&!d?(o.removeClass(s.containerModifierClass+"multirow "+s.containerModifierClass+"multirow-column"),t.emitContainerClasses()):!h&&d&&(o.addClass(s.containerModifierClass+"multirow"),(u.slidesPerColumnFill&&"column"===u.slidesPerColumnFill||!u.slidesPerColumnFill&&"column"===s.slidesPerColumnFill)&&o.addClass(s.containerModifierClass+"multirow-column"),t.emitContainerClasses());var f=u.direction&&u.direction!==s.direction,g=s.loop&&(u.slidesPerView!==s.slidesPerView||f);f&&n&&t.changeDirection(),f2(t.params,u);var m=t.params.enabled;f2(t,{allowTouchMove:t.params.allowTouchMove,allowSlideNext:t.params.allowSlideNext,allowSlidePrev:t.params.allowSlidePrev}),p&&!m?t.disable():!p&&m&&t.enable(),t.currentBreakpoint=l,t.emit("_beforeBreakpoint",u),g&&n&&(t.loopDestroy(),t.loopCreate(),t.updateSlides(),t.slideTo(e-r+t.loopedSlides,0,!1)),t.emit("breakpoint",u)}}},getBreakpoint:function(t,e,n){if(void 0===e&&(e="window"),t&&("container"!==e||n)){var i=!1,r=q1(),s="window"===e?r.innerHeight:n.clientHeight,o=Object.keys(t).map(function(t){if("string"==typeof t&&0===t.indexOf("@")){var e=parseFloat(t.substr(1));return{value:s*e,point:t}}return{value:t,point:t}});o.sort(function(t,e){return parseInt(t.value,10)-parseInt(e.value,10)});for(var a=0;a0&&e.slidesOffsetBefore+e.spaceBetween*(t.slides.length-1)+t.slides[0].offsetWidth*t.slides.length;t.isLocked=e.slidesOffsetBefore&&e.slidesOffsetAfter&&i?i<=t.size:1===t.snapGrid.length,t.allowSlideNext=!t.isLocked,t.allowSlidePrev=!t.isLocked,n!==t.isLocked&&t.emit(t.isLocked?"lock":"unlock"),n&&n!==t.isLocked&&(t.isEnd=!1,t.navigation&&t.navigation.update())}},classes:{addClasses:function(){var t=this,e=t.classNames,n=t.params,i=t.$el,r=t.device,s=t.support,o=function(t,e){var n=[];return t.forEach(function(t){"object"==typeof t?Object.keys(t).forEach(function(i){t[i]&&n.push(e+i)}):"string"==typeof t&&n.push(e+t)}),n}(["initialized",n.direction,{"pointer-events":s.pointerEvents&&!s.touch},{"free-mode":n.freeMode},{autoheight:n.autoHeight},{rtl:t.rtl},{multirow:n.slidesPerColumn>1},{"multirow-column":n.slidesPerColumn>1&&"column"===n.slidesPerColumnFill},{android:r.android},{ios:r.ios},{"css-mode":n.cssMode}],n.containerModifierClass);e.push.apply(e,o),i.addClass([].concat(e).join(" ")),t.emitContainerClasses()},removeClasses:function(){var t=this;t.$el.removeClass(t.classNames.join(" ")),t.emitContainerClasses()}},images:{loadImage:function(t,e,n,i,r,s){var o,a=q1();function l(){s&&s()}c2(t).parent("picture")[0]||t.complete&&r||!e?l():((o=new a.Image).onload=l,o.onerror=l,i&&(o.sizes=i),n&&(o.srcset=n),e&&(o.src=e))},preloadImages:function(){var t=this;function e(){null==t||!t||t.destroyed||(void 0!==t.imagesLoaded&&(t.imagesLoaded+=1),t.imagesLoaded===t.imagesToLoad.length&&(t.params.updateOnImagesReady&&t.update(),t.emit("imagesReady")))}t.imagesToLoad=t.$el.find("img");for(var n=0;n1){var o=[];return c2(n.el).each(function(e){var i=f2({},n,{el:e});o.push(new t(i))}),o}var a=this;a.__swiper__=!0,a.support=m2(),a.device=b2({userAgent:n.userAgent}),a.browser=y2(),a.eventsListeners={},a.eventsAnyListeners=[],void 0===a.modules&&(a.modules={}),Object.keys(a.modules).forEach(function(t){var e=a.modules[t];if(e.params){var i=Object.keys(e.params)[0],r=e.params[i];if("object"!=typeof r||null===r||(["navigation","pagination","scrollbar"].indexOf(i)>=0&&!0===n[i]&&(n[i]={auto:!0}),!(i in n)||!("enabled"in r)))return;!0===n[i]&&(n[i]={enabled:!0}),"object"==typeof n[i]&&!("enabled"in n[i])&&(n[i].enabled=!0),n[i]||(n[i]={enabled:!1})}});var l,c,u=f2({},M2);return a.useParams(u),a.params=f2({},u,R2,n),a.originalParams=f2({},a.params),a.passedParams=f2({},n),a.params&&a.params.on&&Object.keys(a.params.on).forEach(function(t){a.on(t,a.params.on[t])}),a.params&&a.params.onAny&&a.onAny(a.params.onAny),a.$=c2,f2(a,{enabled:a.params.enabled,el:e,classNames:[],slides:c2(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===a.params.direction},isVertical:function(){return"vertical"===a.params.direction},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:a.params.allowSlideNext,allowSlidePrev:a.params.allowSlidePrev,touchEvents:(l=["touchstart","touchmove","touchend","touchcancel"],c=["mousedown","mousemove","mouseup"],a.support.pointerEvents&&(c=["pointerdown","pointermove","pointerup"]),a.touchEventsTouch={start:l[0],move:l[1],end:l[2],cancel:l[3]},a.touchEventsDesktop={start:c[0],move:c[1],end:c[2]},a.support.touch||!a.params.simulateTouch?a.touchEventsTouch:a.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:a.params.focusableElements,lastClickTime:h2(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:a.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),a.useModules(),a.emit("_swiper"),a.params.init&&a.init(),a}var e=t.prototype;return e.enable=function(){var t=this;t.enabled||(t.enabled=!0,t.params.grabCursor&&t.setGrabCursor(),t.emit("enable"))},e.disable=function(){var t=this;!t.enabled||(t.enabled=!1,t.params.grabCursor&&t.unsetGrabCursor(),t.emit("disable"))},e.setProgress=function(t,e){var n=this;t=Math.min(Math.max(t,0),1);var i=n.minTranslate(),r=n.maxTranslate();n.translateTo((r-i)*t+i,void 0===e?0:e),n.updateActiveIndex(),n.updateSlidesClasses()},e.emitContainerClasses=function(){var t=this;if(t.params._emitClasses&&t.el){var e=t.el.className.split(" ").filter(function(e){return 0===e.indexOf("swiper-container")||0===e.indexOf(t.params.containerModifierClass)});t.emit("_containerClasses",e.join(" "))}},e.getSlideClasses=function(t){var e=this;return t.className.split(" ").filter(function(t){return 0===t.indexOf("swiper-slide")||0===t.indexOf(e.params.slideClass)}).join(" ")},e.emitSlidesClasses=function(){var t=this;if(t.params._emitClasses&&t.el){var e=[];t.slides.each(function(n){var i=t.getSlideClasses(n);e.push({slideEl:n,classNames:i}),t.emit("_slideClass",n,i)}),t.emit("_slideClasses",e)}},e.slidesPerViewDynamic=function(){var t=this,e=t.slides,n=t.slidesGrid,i=t.size,r=t.activeIndex,s=1;if(t.params.centeredSlides){for(var o,a=e[r].swiperSlideSize,l=r+1;li&&(o=!0));for(var c=r-1;c>=0;c-=1)e[c]&&!o&&(s+=1,(a+=e[c].swiperSlideSize)>i&&(o=!0))}else for(var u=r+1;u1)&&t.isEnd&&!t.params.centeredSlides?t.slides.length-1:t.activeIndex,0,!1,!0)||i(),n.watchOverflow&&e!==t.snapGrid&&t.checkOverflow(),t.emit("update")}function i(){var e=Math.min(Math.max(t.rtlTranslate?-1*t.translate:t.translate,t.maxTranslate()),t.minTranslate());t.setTranslate(e),t.updateActiveIndex(),t.updateSlidesClasses()}},e.changeDirection=function(t,e){void 0===e&&(e=!0);var n=this,i=n.params.direction;return t||(t="horizontal"===i?"vertical":"horizontal"),t===i||"horizontal"!==t&&"vertical"!==t||(n.$el.removeClass(""+n.params.containerModifierClass+i).addClass(""+n.params.containerModifierClass+t),n.emitContainerClasses(),n.params.direction=t,n.slides.each(function(e){"vertical"===t?e.style.width="":e.style.height=""}),n.emit("changeDirection"),e&&n.update()),n},e.mount=function(t){var e=this;if(e.mounted)return!0;var n=c2(t||e.params.el);if(!(t=n[0]))return!1;t.swiper=e;var i=function(){return"."+(e.params.wrapperClass||"").trim().split(" ").join(".")},r=function(){if(t&&t.shadowRoot&&t.shadowRoot.querySelector){var e=c2(t.shadowRoot.querySelector(i()));return e.children=function(t){return n.children(t)},e}return n.children(i())}();if(0===r.length&&e.params.createElements){var s=G1().createElement("div");r=c2(s),s.className=e.params.wrapperClass,n.append(s),n.children("."+e.params.slideClass).each(function(t){r.append(t)})}return f2(e,{$el:n,el:t,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===t.dir.toLowerCase()||"rtl"===n.css("direction"),rtlTranslate:"horizontal"===e.params.direction&&("rtl"===t.dir.toLowerCase()||"rtl"===n.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0},e.init=function(t){var e=this;return e.initialized||!1===e.mount(t)||(e.emit("beforeInit"),e.params.breakpoints&&e.setBreakpoint(),e.addClasses(),e.params.loop&&e.loopCreate(),e.updateSize(),e.updateSlides(),e.params.watchOverflow&&e.checkOverflow(),e.params.grabCursor&&e.enabled&&e.setGrabCursor(),e.params.preloadImages&&e.preloadImages(),e.slideTo(e.params.loop?e.params.initialSlide+e.loopedSlides:e.params.initialSlide,0,e.params.runCallbacksOnInit,!1,!0),e.attachEvents(),e.initialized=!0,e.emit("init"),e.emit("afterInit")),e},e.destroy=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!0);var n=this,i=n.params,r=n.$el,s=n.$wrapperEl,o=n.slides;return void 0===n.params||n.destroyed||(n.emit("beforeDestroy"),n.initialized=!1,n.detachEvents(),i.loop&&n.loopDestroy(),e&&(n.removeClasses(),r.removeAttr("style"),s.removeAttr("style"),o&&o.length&&o.removeClass([i.slideVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),n.emit("destroy"),Object.keys(n.eventsListeners).forEach(function(t){n.off(t)}),!1!==t&&(n.$el[0].swiper=null,function(e){var n=e;Object.keys(n).forEach(function(e){try{n[e]=null}catch(t){}try{delete n[e]}catch(t){}})}(n)),n.destroyed=!0),null},t.extendDefaults=function(t){f2(R2,t)},t.installModule=function(e){t.prototype.modules||(t.prototype.modules={});var n=e.name||Object.keys(t.prototype.modules).length+"_"+h2();t.prototype.modules[n]=e},t.use=function(e){return Array.isArray(e)?(e.forEach(function(e){return t.installModule(e)}),t):(t.installModule(e),t)},function(t,e,n){n&&I2(t,n)}(t,0,[{key:"extendedDefaults",get:function(){return R2}},{key:"defaults",get:function(){return M2}}]),t}();Object.keys(D2).forEach(function(t){Object.keys(D2[t]).forEach(function(e){N2.prototype[e]=D2[t][e]})}),N2.use([v2,x2]);var L2=N2;const j2=["prevElRef"],F2=["nextElRef"],B2=["scrollbarElRef"],V2=["paginationElRef"];function z2(t,e){1&t&&(aa(0),oa(1,"div",6,7),oa(3,"div",8,9),la())}function U2(t,e){1&t&&oa(0,"div",10,11)}function H2(t,e){1&t&&oa(0,"div",12,13)}function $2(t,e){}function G2(t,e){1&t&&Jo(0,$2,0,0,"ng-template")}function W2(t,e){}function q2(t,e){1&t&&Jo(0,W2,0,0,"ng-template")}function Y2(t,e){}function X2(t,e){1&t&&Jo(0,Y2,0,0,"ng-template")}function K2(t,e){}const Q2=function(t){return{$implicit:t}};function Z2(t,e){if(1&t&&(ra(0,"div",3),Jo(1,K2,0,0,"ng-template",18),sa()),2&t){const t=va().$implicit;na("ngClass",va(2).zoomContainerClass),ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Pc(3,Q2,t.slideData))}}function J2(t,e){}function t3(t,e){if(1&t&&(aa(0),Jo(1,J2,0,0,"ng-template",18),la()),2&t){const t=va().$implicit;ws(1),na("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Pc(2,Q2,t.slideData))}}function e3(t,e){if(1&t&&(ra(0,"div",15),Jo(1,Z2,2,5,"div",16),Jo(2,t3,2,4,"ng-container",17),sa()),2&t){const t=e.$implicit,n=va().key,i=va();Fa(i.style),na("ngClass",(t.class?t.class+" ":"")+i.slideClass+(""!==n?" "+i.slideDuplicateClass:""))("ngSwitch",t.zoom),Ko("data-swiper-slide-index",t.virtualIndex?t.virtualIndex:t.slideIndex),ws(1),na("ngSwitchCase",!0)}}function n3(t,e){1&t&&(Jo(0,e3,3,6,"div",14),Dc(1,"async")),2&t&&na("ngForOf",Rc(1,1,e.loopSlides))}const i3=[[["","slot","container-start"]],[["","slot","wrapper-start"]],[["","slot","wrapper-end"]],[["","slot","container-end"]]],r3=function(t){return{loopSlides:t,key:"prepend"}},s3=function(t){return{loopSlides:t,key:""}},o3=function(t){return{loopSlides:t,key:"append"}},a3=["[slot=container-start]","[slot=wrapper-start]","[slot=wrapper-end]","[slot=container-end]"];function l3(t){return"object"==typeof t&&null!==t&&t.constructor&&"Object"===Object.prototype.toString.call(t).slice(8,-1)}function c3(t,e,n){return!0===h3(t)&&e&&!e.el||!("boolean"!=typeof e&&e.el!==(null==n?void 0:n.nativeElement)&&("string"==typeof e.el||"object"==typeof e.el))}function u3(t,e){const n=["__proto__","constructor","prototype"];Object.keys(e).filter(t=>n.indexOf(t)<0).forEach(n=>{void 0!==t[n]?t[n]&&!e[n]||(l3(e[n])&&l3(t[n])&&Object.keys(e[n]).length>0?e[n].__swiper__?t[n]=e[n]:u3(t[n],e[n]):t[n]=e[n]):t[n]=e[n]})}function h3(t){return null!=t&&"false"!=`${t}`}const d3=["pagination","navigation","scrollbar","virtual"];function p3(t,e={}){return l3(t)?t:!0===h3(t)&&e}const f3=["init","_direction","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_freeModeMomentum","_freeModeMomentumRatio","_freeModeMomentumBounce","_freeModeMomentumBounceRatio","_freeModeMomentumVelocityRatio","_freeModeSticky","_freeModeMinimumVelocity","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","_spaceBetween","_slidesPerView","_slidesPerColumn","_slidesPerColumnFill","_slidesPerGroup","_slidesPerGroupSkip","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_watchSlidesVisibility","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_preloadImages","updateOnImagesReady","_loop","_loopAdditionalSlides","_loopedSlides","_loopFillGroupWithBlank","loopPreventsSlide","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","hashNavigation","history","keyboard","lazy","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom"].map(t=>t.replace(/_/,""));function g3(t={}){const e={on:{}},n={};u3(e,L2.defaults),u3(e,L2.extendedDefaults),e._emitClasses=!0;const i={};return Object.keys(t).forEach(r=>{const s=r.replace(/^_/,"");void 0!==t[s]&&(f3.indexOf(s)>=0?l3(t[s])?(e[s]={},n[s]={},u3(e[s],t[s]),u3(n[s],t[s])):(e[s]=t[s],n[s]=t[s]):i[s]=t[s])}),{params:e,passedParams:n,rest:i}}let m3=(()=>{class t{constructor(t){this.template=t,this.class="",this.slideData={isActive:!1,isPrev:!1,isNext:!1,isVisible:!1,isDuplicate:!1}}set zoom(t){this._zoom=h3(t)}get zoom(){return this._zoom}get classNames(){return this._classNames}set classNames(t){this._classNames!==t&&(this._classNames=t,this.slideData={isActive:this._hasClass(["swiper-slide-active","swiper-slide-duplicate-active"]),isVisible:this._hasClass(["swiper-slide-visible"]),isDuplicate:this._hasClass(["swiper-slide-duplicate"]),isPrev:this._hasClass(["swiper-slide-prev","swiper-slide-duplicate-prev"]),isNext:this._hasClass(["swiper-slide-next","swiper-slide-duplicate-next"])})}_hasClass(t){return t.some(t=>this._classNames.indexOf(t)>=0)}}return t.\u0275fac=function(e){return new(e||t)(ea(ac))},t.\u0275dir=se({type:t,selectors:[["ng-template","swiperSlide",""]],inputs:{class:"class",zoom:"zoom",virtualIndex:"virtualIndex"}}),t})(),b3=(()=>{class t{constructor(t,e,n,i){this._ngZone=t,this.elementRef=e,this._changeDetectorRef=n,this._platformId=i,this.slideClass="swiper-slide",this.wrapperClass="swiper-wrapper",this.showNavigation=!0,this.showPagination=!0,this.showScrollbar=!0,this.s__beforeBreakpoint=new Bc,this.s__containerClasses=new Bc,this.s__slideClass=new Bc,this.s__swiper=new Bc,this.s_activeIndexChange=new Bc,this.s_afterInit=new Bc,this.s_autoplay=new Bc,this.s_autoplayStart=new Bc,this.s_autoplayStop=new Bc,this.s_beforeDestroy=new Bc,this.s_beforeInit=new Bc,this.s_beforeLoopFix=new Bc,this.s_beforeResize=new Bc,this.s_beforeSlideChangeStart=new Bc,this.s_beforeTransitionStart=new Bc,this.s_breakpoint=new Bc,this.s_changeDirection=new Bc,this.s_click=new Bc,this.s_doubleTap=new Bc,this.s_doubleClick=new Bc,this.s_destroy=new Bc,this.s_fromEdge=new Bc,this.s_hashChange=new Bc,this.s_hashSet=new Bc,this.s_imagesReady=new Bc,this.s_init=new Bc,this.s_keyPress=new Bc,this.s_lazyImageLoad=new Bc,this.s_lazyImageReady=new Bc,this.s_loopFix=new Bc,this.s_momentumBounce=new Bc,this.s_navigationHide=new Bc,this.s_navigationShow=new Bc,this.s_observerUpdate=new Bc,this.s_orientationchange=new Bc,this.s_paginationHide=new Bc,this.s_paginationRender=new Bc,this.s_paginationShow=new Bc,this.s_paginationUpdate=new Bc,this.s_progress=new Bc,this.s_reachBeginning=new Bc,this.s_reachEnd=new Bc,this.s_realIndexChange=new Bc,this.s_resize=new Bc,this.s_scroll=new Bc,this.s_scrollbarDragEnd=new Bc,this.s_scrollbarDragMove=new Bc,this.s_scrollbarDragStart=new Bc,this.s_setTransition=new Bc,this.s_setTranslate=new Bc,this.s_slideChange=new Bc,this.s_slideChangeTransitionEnd=new Bc,this.s_slideChangeTransitionStart=new Bc,this.s_slideNextTransitionEnd=new Bc,this.s_slideNextTransitionStart=new Bc,this.s_slidePrevTransitionEnd=new Bc,this.s_slidePrevTransitionStart=new Bc,this.s_slideResetTransitionStart=new Bc,this.s_slideResetTransitionEnd=new Bc,this.s_sliderMove=new Bc,this.s_sliderFirstMove=new Bc,this.s_slidesLengthChange=new Bc,this.s_slidesGridLengthChange=new Bc,this.s_snapGridLengthChange=new Bc,this.s_snapIndexChange=new Bc,this.s_tap=new Bc,this.s_toEdge=new Bc,this.s_touchEnd=new Bc,this.s_touchMove=new Bc,this.s_touchMoveOpposite=new Bc,this.s_touchStart=new Bc,this.s_transitionEnd=new Bc,this.s_transitionStart=new Bc,this.s_update=new Bc,this.s_zoomChange=new Bc,this.s_swiper=new Bc,this.indexChange=new Bc,this._activeSlides=new A,this.containerClasses="swiper-container",this.slidesChanges=t=>{this.slides=t.map((t,e)=>(t.slideIndex=e,t.classNames=this.slideClass,t)),this.loop&&!this.loopedSlides&&this.calcLoopedSlides(),this.virtual?this.swiperRef&&this.swiperRef.virtual&&this._ngZone.runOutsideAngular(()=>{this.swiperRef.virtual.slides=this.slides,this.swiperRef.virtual.update(!0)}):(this.prependSlides=Dd(this.slides.slice(this.slides.length-this.loopedSlides)),this.appendSlides=Dd(this.slides.slice(0,this.loopedSlides))),this._changeDetectorRef.detectChanges()},this.style=null,this.updateVirtualSlides=t=>{!this.swiperRef||this.currentVirtualData&&this.currentVirtualData.from===t.from&&this.currentVirtualData.to===t.to&&this.currentVirtualData.offset===t.offset||(this.style=this.swiperRef.isHorizontal()?{[this.swiperRef.rtlTranslate?"right":"left"]:`${t.offset}px`}:{top:`${t.offset}px`},this.currentVirtualData=t,this._activeSlides.next(t.slides),this._ngZone.run(()=>{this._changeDetectorRef.detectChanges()}),this._ngZone.runOutsideAngular(()=>{this.swiperRef.updateSlides(),this.swiperRef.updateProgress(),this.swiperRef.updateSlidesClasses(),this.swiperRef.lazy&&this.swiperRef.params.lazy.enabled&&this.swiperRef.lazy.load(),this.swiperRef.virtual.update(!0)}))}}set navigation(t){var e,n,i;const r="boolean"!=typeof this._navigation?null===(e=this._navigation)||void 0===e?void 0:e.nextEl:null,s="boolean"!=typeof this._navigation?null===(n=this._navigation)||void 0===n?void 0:n.prevEl:null;this._navigation=p3(t,{nextEl:r||null,prevEl:s||null}),this.showNavigation=!(!0!==h3(t)||this._navigation&&"boolean"!=typeof this._navigation&&this._navigation.prevEl!==(null===(i=this._prevElRef)||void 0===i?void 0:i.nativeElement)&&(null!==this._navigation.prevEl||null!==this._navigation.nextEl)&&("string"==typeof this._navigation.nextEl||"string"==typeof this._navigation.prevEl||"object"==typeof this._navigation.nextEl||"object"==typeof this._navigation.prevEl))}get navigation(){return this._navigation}set pagination(t){var e;const n="boolean"!=typeof this._pagination?null===(e=this._pagination)||void 0===e?void 0:e.el:null;this._pagination=p3(t,{el:n||null}),this.showPagination=c3(t,this._pagination,this._paginationElRef)}get pagination(){return this._pagination}set scrollbar(t){var e;const n="boolean"!=typeof this._scrollbar?null===(e=this._scrollbar)||void 0===e?void 0:e.el:null;this._scrollbar=p3(t,{el:n||null}),this.showScrollbar=c3(t,this._scrollbar,this._scrollbarElRef)}get scrollbar(){return this._scrollbar}set virtual(t){this._virtual=p3(t)}get virtual(){return this._virtual}set index(t){this.setIndex(t)}set config(t){this.updateSwiper(t);const{params:e}=g3(t);Object.assign(this,e)}set prevElRef(t){this._prevElRef=t,this._setElement(t,this.navigation,"navigation","prevEl")}set nextElRef(t){this._nextElRef=t,this._setElement(t,this.navigation,"navigation","nextEl")}set scrollbarElRef(t){this._scrollbarElRef=t,this._setElement(t,this.scrollbar,"scrollbar")}set paginationElRef(t){this._paginationElRef=t,this._setElement(t,this.pagination,"pagination")}get activeSlides(){return this.virtual?this._activeSlides:Dd(this.slides)}get zoomContainerClass(){return"boolean"!=typeof this.zoom?this.zoom.containerClass:"swiper-zoom-container"}_setElement(t,e,n,i="el"){if(!t||!e)return;if(e&&t.nativeElement){if(e[i]===t.nativeElement)return;e[i]=t.nativeElement}const r={};r[n]=!0,this.updateInitSwiper(r)}ngOnInit(){const{params:t}=g3(this);Object.assign(this,t)}ngAfterViewInit(){this.childrenSlidesInit(),this.initSwiper(),this._changeDetectorRef.detectChanges(),setTimeout(()=>{this.s_swiper.emit(this.swiperRef)})}childrenSlidesInit(){this.slidesChanges(this.slidesEl),this.slidesEl.changes.subscribe(this.slidesChanges)}get isSwiperActive(){return this.swiperRef&&!this.swiperRef.destroyed}initSwiper(){const{params:t}=g3(this);Object.assign(this,t),this._ngZone.runOutsideAngular(()=>{t.init=!1,t.virtual||(t.observer=!0),t.onAny=(t,...e)=>{const n=this[`s_${t}`];n&&n.emit(...e)},Object.assign(t.on,{_containerClasses(t,e){this.containerClasses=e},_slideClasses:(t,e)=>{e.forEach(({slideEl:t,classNames:e},n)=>{const i=parseInt(t.getAttribute("data-swiper-slide-index"))||n;if(this.virtual){const t=this.slides.find(t=>t.virtualIndex&&t.virtualIndex===i);if(t)return void(t.classNames=e)}this.slides[i]&&(this.slides[i].classNames=e)}),this._changeDetectorRef.detectChanges()}});const e=new L2(t);if(e.loopCreate=()=>{},e.loopDestroy=()=>{},t.loop&&(e.loopedSlides=this.loopedSlides),e.virtual&&e.params.virtual.enabled){e.virtual.slides=this.slides;const t={cache:!1,renderExternal:this.updateVirtualSlides,renderExternalUpdate:!1};u3(e.params.virtual,t),u3(e.originalParams.virtual,t)}Yh(this._platformId)&&(this.swiperRef=e.init(this.elementRef.nativeElement),this.swiperRef.virtual&&this.swiperRef.params.virtual.enabled&&this.swiperRef.virtual.update(!0),this._changeDetectorRef.detectChanges(),e.on("slideChange",()=>{this.indexChange.emit(this.swiperRef.realIndex)}))})}ngOnChanges(t){this.updateSwiper(t),this._changeDetectorRef.detectChanges()}updateInitSwiper(t){!t||!this.swiperRef||this.swiperRef.destroyed||this._ngZone.runOutsideAngular(()=>{const{pagination:e,navigation:n,scrollbar:i,thumbs:r}=this.swiperRef;t.pagination&&(this.pagination&&"boolean"!=typeof this.pagination&&this.pagination.el&&e&&!e.el?(this.updateParameter("pagination",this.pagination),e.init(),e.render(),e.update()):(e.destroy(),e.el=null)),t.scrollbar&&(this.scrollbar&&"boolean"!=typeof this.scrollbar&&this.scrollbar.el&&i&&!i.el?(this.updateParameter("scrollbar",this.scrollbar),i.init(),i.updateSize(),i.setTranslate()):(i.destroy(),i.el=null)),t.navigation&&(this.navigation&&"boolean"!=typeof this.navigation&&this.navigation.prevEl&&this.navigation.nextEl&&n&&!n.prevEl&&!n.nextEl?(this.updateParameter("navigation",this.navigation),n.init(),n.update()):n.prevEl&&n.nextEl&&(n.destroy(),n.nextEl=null,n.prevEl=null)),t.thumbs&&this.thumbs&&this.thumbs.swiper&&(this.updateParameter("thumbs",this.thumbs),r.init()&&r.update(!0)),t.controller&&this.controller&&this.controller.control&&(this.swiperRef.controller.control=this.controller.control),this.swiperRef.update()})}updateSwiper(t){this._ngZone.runOutsideAngular(()=>{var e,n;if(!t.config&&t&&this.swiperRef&&!this.swiperRef.destroyed){for(const i in t){if(d3.indexOf(i)>=0)continue;const r=null!==(n=null===(e=t[i])||void 0===e?void 0:e.currentValue)&&void 0!==n?n:t[i];this.updateParameter(i,r)}t.allowSlideNext&&(this.swiperRef.allowSlideNext=this.allowSlideNext),t.allowSlidePrev&&(this.swiperRef.allowSlidePrev=this.allowSlidePrev),t.direction&&this.swiperRef.changeDirection(this.direction,!1),t.breakpoints&&(this.loop&&!this.loopedSlides&&this.calcLoopedSlides(),this.swiperRef.currentBreakpoint=null,this.swiperRef.setBreakpoint()),(t.thumbs||t.controller)&&this.updateInitSwiper(t),this.swiperRef.update()}})}calcLoopedSlides(){if(!this.loop)return;let t=this.slidesPerView;if(this.breakpoints){const e=L2.prototype.getBreakpoint(this.breakpoints),n=e in this.breakpoints?this.breakpoints[e]:void 0;n&&n.slidesPerView&&(t=n.slidesPerView)}if("auto"===t)return this.loopedSlides=this.slides.length,this.slides.length;let e=this.loopedSlides||t;return e+=this.loopAdditionalSlides,e>this.slides.length&&(e=this.slides.length),this.loopedSlides=e,e}updateParameter(t,e){if(!this.swiperRef||this.swiperRef.destroyed)return;const n=t.replace(/^_/,""),i=l3(this.swiperRef.params[n]);if(Object.keys(this.swiperRef.modules).indexOf(n)>=0){const t=this.swiperRef.modules[n].params[n];i?u3(this.swiperRef.params[n],t):this.swiperRef.params[n]=t}i&&l3(e)?u3(this.swiperRef.params[n],e):this.swiperRef.params[n]=e}setIndex(t,e,n){this.isSwiperActive?t!==this.swiperRef.activeIndex&&this._ngZone.runOutsideAngular(()=>{this.loop?this.swiperRef.slideToLoop(t,e,!n):this.swiperRef.slideTo(t,e,!n)}):this.initialSlide=t}ngOnDestroy(){this._ngZone.runOutsideAngular(()=>{var t;null===(t=this.swiperRef)||void 0===t||t.destroy(!0,!1)})}}return t.\u0275fac=function(e){return new(e||t)(ea(Tu),ea(Al),ea(nc),ea(hu))},t.\u0275cmp=Jt({type:t,selectors:[["swiper"],["","swiper",""]],contentQueries:function(t,e,n){if(1&t&&Jc(n,m3,4),2&t){let t;Qc(t=tu())&&(e.slidesEl=t)}},viewQuery:function(t,e){if(1&t&&(Zc(j2,5),Zc(F2,5),Zc(B2,5),Zc(V2,5)),2&t){let t;Qc(t=tu())&&(e.prevElRef=t.first),Qc(t=tu())&&(e.nextElRef=t.first),Qc(t=tu())&&(e.scrollbarElRef=t.first),Qc(t=tu())&&(e.paginationElRef=t.first)}},hostVars:2,hostBindings:function(t,e){2&t&&Va(e.containerClasses)},inputs:{slideClass:"slideClass",wrapperClass:"wrapperClass",navigation:"navigation",pagination:"pagination",scrollbar:"scrollbar",virtual:"virtual",index:"index",config:"config",loopedSlides:"loopedSlides",initialSlide:"initialSlide",direction:"direction",touchEventsTarget:"touchEventsTarget",speed:"speed",cssMode:"cssMode",updateOnWindowResize:"updateOnWindowResize",resizeObserver:"resizeObserver",nested:"nested",focusableElements:"focusableElements",width:"width",height:"height",preventInteractionOnTransition:"preventInteractionOnTransition",userAgent:"userAgent",url:"url",edgeSwipeDetection:"edgeSwipeDetection",edgeSwipeThreshold:"edgeSwipeThreshold",freeMode:"freeMode",freeModeMomentum:"freeModeMomentum",freeModeMomentumRatio:"freeModeMomentumRatio",freeModeMomentumBounce:"freeModeMomentumBounce",freeModeMomentumBounceRatio:"freeModeMomentumBounceRatio",freeModeMomentumVelocityRatio:"freeModeMomentumVelocityRatio",freeModeSticky:"freeModeSticky",freeModeMinimumVelocity:"freeModeMinimumVelocity",autoHeight:"autoHeight",setWrapperSize:"setWrapperSize",virtualTranslate:"virtualTranslate",effect:"effect",breakpoints:"breakpoints",spaceBetween:"spaceBetween",slidesPerView:"slidesPerView",slidesPerColumn:"slidesPerColumn",slidesPerColumnFill:"slidesPerColumnFill",slidesPerGroup:"slidesPerGroup",slidesPerGroupSkip:"slidesPerGroupSkip",centeredSlides:"centeredSlides",centeredSlidesBounds:"centeredSlidesBounds",slidesOffsetBefore:"slidesOffsetBefore",slidesOffsetAfter:"slidesOffsetAfter",normalizeSlideIndex:"normalizeSlideIndex",centerInsufficientSlides:"centerInsufficientSlides",watchOverflow:"watchOverflow",roundLengths:"roundLengths",touchRatio:"touchRatio",touchAngle:"touchAngle",simulateTouch:"simulateTouch",shortSwipes:"shortSwipes",longSwipes:"longSwipes",longSwipesRatio:"longSwipesRatio",longSwipesMs:"longSwipesMs",followFinger:"followFinger",allowTouchMove:"allowTouchMove",threshold:"threshold",touchMoveStopPropagation:"touchMoveStopPropagation",touchStartPreventDefault:"touchStartPreventDefault",touchStartForcePreventDefault:"touchStartForcePreventDefault",touchReleaseOnEdges:"touchReleaseOnEdges",uniqueNavElements:"uniqueNavElements",resistance:"resistance",resistanceRatio:"resistanceRatio",watchSlidesProgress:"watchSlidesProgress",watchSlidesVisibility:"watchSlidesVisibility",grabCursor:"grabCursor",preventClicks:"preventClicks",preventClicksPropagation:"preventClicksPropagation",slideToClickedSlide:"slideToClickedSlide",preloadImages:"preloadImages",updateOnImagesReady:"updateOnImagesReady",loop:"loop",loopAdditionalSlides:"loopAdditionalSlides",loopFillGroupWithBlank:"loopFillGroupWithBlank",loopPreventsSlide:"loopPreventsSlide",allowSlidePrev:"allowSlidePrev",allowSlideNext:"allowSlideNext",swipeHandler:"swipeHandler",noSwiping:"noSwiping",noSwipingClass:"noSwipingClass",noSwipingSelector:"noSwipingSelector",passiveListeners:"passiveListeners",containerModifierClass:"containerModifierClass",slideBlankClass:"slideBlankClass",slideActiveClass:"slideActiveClass",slideDuplicateActiveClass:"slideDuplicateActiveClass",slideVisibleClass:"slideVisibleClass",slideDuplicateClass:"slideDuplicateClass",slideNextClass:"slideNextClass",slideDuplicateNextClass:"slideDuplicateNextClass",slidePrevClass:"slidePrevClass",slideDuplicatePrevClass:"slideDuplicatePrevClass",runCallbacksOnInit:"runCallbacksOnInit",observeParents:"observeParents",observeSlideChildren:"observeSlideChildren",a11y:"a11y",autoplay:"autoplay",controller:"controller",coverflowEffect:"coverflowEffect",cubeEffect:"cubeEffect",fadeEffect:"fadeEffect",flipEffect:"flipEffect",hashNavigation:"hashNavigation",history:"history",keyboard:"keyboard",lazy:"lazy",mousewheel:"mousewheel",parallax:"parallax",thumbs:"thumbs",zoom:"zoom",class:"class",id:"id"},outputs:{s__beforeBreakpoint:"_beforeBreakpoint",s__containerClasses:"_containerClasses",s__slideClass:"_slideClass",s__swiper:"_swiper",s_activeIndexChange:"activeIndexChange",s_afterInit:"afterInit",s_autoplay:"autoplay",s_autoplayStart:"autoplayStart",s_autoplayStop:"autoplayStop",s_beforeDestroy:"beforeDestroy",s_beforeInit:"beforeInit",s_beforeLoopFix:"beforeLoopFix",s_beforeResize:"beforeResize",s_beforeSlideChangeStart:"beforeSlideChangeStart",s_beforeTransitionStart:"beforeTransitionStart",s_breakpoint:"breakpoint",s_changeDirection:"changeDirection",s_click:"click",s_doubleTap:"doubleTap",s_doubleClick:"doubleClick",s_destroy:"destroy",s_fromEdge:"fromEdge",s_hashChange:"hashChange",s_hashSet:"hashSet",s_imagesReady:"imagesReady",s_init:"init",s_keyPress:"keyPress",s_lazyImageLoad:"lazyImageLoad",s_lazyImageReady:"lazyImageReady",s_loopFix:"loopFix",s_momentumBounce:"momentumBounce",s_navigationHide:"navigationHide",s_navigationShow:"navigationShow",s_observerUpdate:"observerUpdate",s_orientationchange:"orientationchange",s_paginationHide:"paginationHide",s_paginationRender:"paginationRender",s_paginationShow:"paginationShow",s_paginationUpdate:"paginationUpdate",s_progress:"progress",s_reachBeginning:"reachBeginning",s_reachEnd:"reachEnd",s_realIndexChange:"realIndexChange",s_resize:"resize",s_scroll:"scroll",s_scrollbarDragEnd:"scrollbarDragEnd",s_scrollbarDragMove:"scrollbarDragMove",s_scrollbarDragStart:"scrollbarDragStart",s_setTransition:"setTransition",s_setTranslate:"setTranslate",s_slideChange:"slideChange",s_slideChangeTransitionEnd:"slideChangeTransitionEnd",s_slideChangeTransitionStart:"slideChangeTransitionStart",s_slideNextTransitionEnd:"slideNextTransitionEnd",s_slideNextTransitionStart:"slideNextTransitionStart",s_slidePrevTransitionEnd:"slidePrevTransitionEnd",s_slidePrevTransitionStart:"slidePrevTransitionStart",s_slideResetTransitionStart:"slideResetTransitionStart",s_slideResetTransitionEnd:"slideResetTransitionEnd",s_sliderMove:"sliderMove",s_sliderFirstMove:"sliderFirstMove",s_slidesLengthChange:"slidesLengthChange",s_slidesGridLengthChange:"slidesGridLengthChange",s_snapGridLengthChange:"snapGridLengthChange",s_snapIndexChange:"snapIndexChange",s_tap:"tap",s_toEdge:"toEdge",s_touchEnd:"touchEnd",s_touchMove:"touchMove",s_touchMoveOpposite:"touchMoveOpposite",s_touchStart:"touchStart",s_transitionEnd:"transitionEnd",s_transitionStart:"transitionStart",s_update:"update",s_zoomChange:"zoomChange",s_swiper:"swiper",indexChange:"indexChange"},features:[ye],ngContentSelectors:a3,decls:13,vars:17,consts:[[4,"ngIf"],["class","swiper-scrollbar",4,"ngIf"],["class","swiper-pagination",4,"ngIf"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["slidesTemplate",""],[1,"swiper-button-prev"],["prevElRef",""],[1,"swiper-button-next"],["nextElRef",""],[1,"swiper-scrollbar"],["scrollbarElRef",""],[1,"swiper-pagination"],["paginationElRef",""],[3,"ngClass","style","ngSwitch",4,"ngFor","ngForOf"],[3,"ngClass","ngSwitch"],[3,"ngClass",4,"ngSwitchCase"],[4,"ngSwitchDefault"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(t,e){if(1&t&&(wa(i3),xa(0),Jo(1,z2,5,0,"ng-container",0),Jo(2,U2,2,0,"div",1),Jo(3,H2,2,0,"div",2),ra(4,"div",3),xa(5,1),Jo(6,G2,1,0,void 0,4),Jo(7,q2,1,0,void 0,4),Jo(8,X2,1,0,void 0,4),xa(9,2),sa(),xa(10,3),Jo(11,n3,2,3,"ng-template",null,5,ru)),2&t){const t=ta(12);ws(1),na("ngIf",e.navigation&&e.showNavigation),ws(1),na("ngIf",e.scrollbar&&e.showScrollbar),ws(1),na("ngIf",e.pagination&&e.showPagination),ws(1),na("ngClass",e.wrapperClass),Ko("id",e.id),ws(2),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(11,r3,e.prependSlides)),ws(1),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(13,s3,e.activeSlides)),ws(1),na("ngTemplateOutlet",t)("ngTemplateOutletContext",Pc(15,o3,e.appendSlides))}},directives:[Ah,Oh,Fh,kh,Rh,Nh,Lh],pipes:[$h],styles:["\n swiper {\n display: block;\n }\n "],encapsulation:2,changeDetection:0}),t})(),y3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})();function v3(t,e){if(1&t){const t=ua();ra(0,"div",7),ra(1,"div",8),Ja(2),sa(),ra(3,"a",9),fa("click",function(){$e(t);const e=va().$implicit;return va().linkClicked.emit(e)}),Ja(4," DATA "),ra(5,"mat-icon"),Ja(6,"open_in_new"),sa(),sa(),sa()}if(2&t){const t=va().$implicit;ws(1),La("background-image","url("+t.thumbnail+")"),ws(1),el(" ",t.technology," ")}}function _3(t,e){1&t&&(aa(0),Jo(1,v3,7,3,"ng-template",6),la())}const w3=(()=>{let t=-1;return()=>(t+=1,t)})();let x3=(()=>{class t{constructor(){this.className="ccf-thumbnail-carousel",this.linkClicked=new Bc,this.uid=w3(),this.config={allowTouchMove:!1,slidesOffsetBefore:4,slidesOffsetAfter:4,slidesPerView:"auto",spaceBetween:4,watchOverflow:!0},this.navigation={prevEl:"#"+this.prevButtonId,nextEl:"#"+this.nextButtonId}}get prevButtonId(){return`ccf-thumbnail-carousel-prev-button-${this.uid}`}get nextButtonId(){return`ccf-thumbnail-carousel-next-button-${this.uid}`}itemId(t,e){return e.thumbnail}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-thumbnail-carousel"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.className)},inputs:{data:"data"},outputs:{linkClicked:"linkClicked"},decls:11,vars:6,consts:[[1,"prev"],["mat-icon-button","","disableRipple",""],[1,"swiper",3,"config","navigation"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"next"],[1,"fade"],["swiperSlide",""],[1,"slide"],[1,"thumbnail"],[1,"link",3,"click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"button",1),ra(2,"mat-icon"),Ja(3,"navigate_before"),sa(),sa(),sa(),ra(4,"swiper",2),Jo(5,_3,2,0,"ng-container",3),sa(),ra(6,"div",4),ra(7,"button",1),oa(8,"div",5),ra(9,"mat-icon"),Ja(10,"navigate_next"),sa(),sa(),sa()),2&t&&(ws(1),Ko("id",e.prevButtonId),ws(3),na("config",e.config)("navigation",e.navigation),ws(1),na("ngForOf",e.data)("ngForTrackBy",e.itemId),ws(2),Ko("id",e.nextButtonId))},directives:[R_,T_,b3,kh,m3],styles:['[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%]{flex-grow:1;padding-bottom:.3125rem}[_nghost-%COMP%] .swiper[_ngcontent-%COMP%] .swiper-slide{width:3.75rem;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%]{display:flex;align-items:center;height:2.8125rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] button[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;line-height:1.5rem}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{position:absolute;top:-.625rem;left:-2rem;z-index:10;width:2rem;height:3.125rem;opacity:1;transition:opacity ease-in-out .3s;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%]{cursor:default;pointer-events:none}[_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .prev[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-disabled[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%], [_nghost-%COMP%] .next[_ngcontent-%COMP%] .swiper-button-lock[_ngcontent-%COMP%] .fade[_ngcontent-%COMP%]{opacity:0}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]{position:relative;width:100%;height:100%}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;background-size:cover;position:relative;width:calc(100% - 2 * .125rem);height:calc(100% - 2 * .125rem);border-style:solid;border-width:.125rem;border-radius:.25rem;background-origin:padding-box;background-clip:padding-box;font-size:.875rem;font-weight:bold}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .thumbnail[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:-.125rem;left:-.125rem;width:.125rem;height:.125rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;right:0;left:0;opacity:0;transition:opacity ease-in-out .3s;box-shadow:0 2px 4px #0009;font-size:.75rem;line-height:.75rem}[_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%], [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:link, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:visited, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .slide[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:active{cursor:pointer;text-decoration:none}[_nghost-%COMP%] .slide[_ngcontent-%COMP%]:hover .link[_ngcontent-%COMP%]{opacity:1}'],changeDetection:0}),t})();function S3(t,e){if(1&t){const t=ua();ra(0,"mat-icon",14),fa("click",function(){return $e(t),va().toggleExpansion()}),Ja(1),sa()}if(2&t){const t=va();ws(1),tl(t.expanded?"expand_less":"expand_more")}}function C3(t,e){if(1&t&&oa(0,"ccf-tissue-section-vis",20),2&t){const t=va(2);na("totalTissueSections",t.tissueBlock.sectionCount)("tissueSections",t.tissueBlock.sections)}}function E3(t,e){if(1&t){const t=ua();aa(0),ra(1,"ccf-thumbnail-carousel",21),fa("linkClicked",function(e){return $e(t),va(2).linkHandler(e.link)}),sa(),la()}if(2&t){const t=va(2);ws(1),na("data",t.tissueBlock.datasets)}}function O3(t,e){if(1&t){const t=ua();aa(0),ra(1,"ccf-thumbnail-carousel",21),fa("linkClicked",function(e){return $e(t),va(3).linkHandler(e.link)}),sa(),la()}if(2&t){const t=va().$implicit;ws(1),na("data",t.datasets)}}function T3(t,e){if(1&t){const t=ua();ra(0,"div",22),ra(1,"div",23),ra(2,"mat-icon",24),Ja(3,"bubble_chart"),sa(),ra(4,"div",17),ra(5,"div",8),Ja(6),sa(),ra(7,"div",8),Ja(8),sa(),sa(),ra(9,"div",9),fa("click",function(){const e=$e(t).$implicit;return va(2).linkHandler(e.link)}),ra(10,"div",10),Ja(11,"TISSUE SECTION"),sa(),ra(12,"mat-icon",11),Ja(13,"open_in_new"),sa(),sa(),sa(),Jo(14,O3,2,1,"ng-container",13),sa()}if(2&t){const t=e.$implicit;ws(6),tl(t.label),ws(2),tl(t.description),ws(6),na("ngIf",t.datasets.length>0)}}function k3(t,e){if(1&t){const t=ua();aa(0),ra(1,"div",15),ra(2,"div",16),ra(3,"mat-icon",5),Ja(4,"bubble_chart"),sa(),ra(5,"div",17),ra(6,"div",8),Ja(7),sa(),ra(8,"div",8),Ja(9),sa(),sa(),ra(10,"div",9),fa("click",function(){$e(t);const e=va();return e.linkHandler(e.tissueBlock.link)}),ra(11,"div",10),Ja(12,"TISSUE BLOCK"),sa(),ra(13,"mat-icon",11),Ja(14,"open_in_new"),sa(),sa(),sa(),Jo(15,C3,1,2,"ccf-tissue-section-vis",18),Jo(16,E3,2,1,"ng-container",13),sa(),Jo(17,T3,15,3,"div",19),la()}if(2&t){const t=va();ws(7),tl(t.tissueBlock.label),ws(2),tl(t.tissueBlock.description),ws(6),na("ngIf",t.tissueBlock.sections.length>1),ws(1),na("ngIf",t.tissueBlock.datasets.length>0),ws(1),na("ngForOf",t.tissueBlock.sections)}}const P3=function(t){return{"background-color":t}};let A3=(()=>{class t{constructor(t){this.ga=t,this.clsName="ccf-donor-card",this.selected=!1,this.expanded=!1,this.highlighted=!1,this.checked=new Bc,this.linkClick=new Bc,this.hoverState=""}handleCheckbox(){this.selected=!this.selected,this.ga.event("selected_toggled","donor_card",this.tissueBlock.label,+this.selected),this.checked.emit(this.selected),this.expanded=!1}toggleExpansion(){this.selected&&(this.expanded=!this.expanded,this.ga.event("expanded_toggled","donor_card",this.tissueBlock.label,+this.expanded))}linkHandler(t){this.ga.event("link_clicked","donor_card",this.tissueBlock.label),this.selected?this.linkClick.emit(t):(this.selected=!0,this.checked.emit(this.selected))}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-donor-card"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{tissueBlock:"tissueBlock",selected:"selected",color:"color",expanded:"expanded",highlighted:"highlighted"},outputs:{checked:"checked",linkClick:"linkClick"},decls:19,vars:20,consts:[[1,"main-container"],[1,"checkbox-background",3,"ngStyle","click"],[1,"checkbox",3,"checked"],[1,"hoverable","default-padding","donor","mat-elevation-z2"],[1,"d-flex"],[1,"icon-size","icon-dark","mr-5"],[1,"donor-info"],[1,"title","description"],[1,"description"],[1,"hover-state","mat-elevation-z4",3,"click"],[1,"hover-title"],[1,"icon-size","hover-icon"],["class","icon-size ml-5 selectable",3,"click",4,"ngIf"],[4,"ngIf"],[1,"icon-size","ml-5","selectable",3,"click"],[1,"expanded-view","mat-elevation-z2","align-end"],[1,"info-block","hover-enabled","default-padding"],[1,"text-content"],[3,"totalTissueSections","tissueSections",4,"ngIf"],["class","expanded-view w-80 mat-elevation-z2 align-end",4,"ngFor","ngForOf"],[3,"totalTissueSections","tissueSections"],[1,"mt-05",3,"data","linkClicked"],[1,"expanded-view","w-80","mat-elevation-z2","align-end"],[1,"default-padding","info-block","hover-enabled"],[1,"icon-size","mr-5","icon-light"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),fa("click",function(){return e.handleCheckbox()}),oa(2,"mat-checkbox",2),sa(),ra(3,"div",3),ra(4,"div",4),ra(5,"mat-icon",5),Ja(6,"person"),sa(),ra(7,"div",6),ra(8,"div",7),Ja(9),sa(),ra(10,"div",8),Ja(11),sa(),sa(),sa(),ra(12,"div",9),fa("click",function(){return e.linkHandler(e.tissueBlock.donor.link)}),ra(13,"div",10),Ja(14,"DONOR"),sa(),ra(15,"mat-icon",11),Ja(16,"open_in_new"),sa(),sa(),Jo(17,S3,2,1,"mat-icon",12),sa(),sa(),Jo(18,k3,18,5,"ng-container",13)),2&t&&(ws(1),ja("selected",e.selected)("highlighted",e.highlighted),na("ngStyle",Pc(18,P3,e.selected?e.color:"transparent")),ws(1),ja("checkselected",e.selected),na("checked",e.selected),ws(1),ja("hover-enabled",e.selected)("expanded",e.expanded)("highlighted",e.highlighted),ws(6),tl(e.tissueBlock.donor.label),ws(2),tl(e.tissueBlock.donor.description),ws(6),na("ngIf",e.selected),ws(1),na("ngIf",e.expanded))},directives:[jh,xK,T_,Ah,kh,z1,x3],styles:["[_nghost-%COMP%]{width:100%}[_nghost-%COMP%] .main-container[_ngcontent-%COMP%]{display:flex;min-height:3rem;width:100%;align-items:center;padding-left:.5rem}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%]{height:2rem;width:2rem;border-radius:50%;margin-right:.5rem;display:flex;justify-content:center;align-items:center;cursor:pointer}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-checked.mat-accent .mat-checkbox-background, [_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .mat-checkbox-indeterminate.mat-accent[_ngcontent-%COMP%] .mat-checkbox-background[_ngcontent-%COMP%]{background-color:transparent}[_nghost-%COMP%] .checkbox-background.highlighted[_ngcontent-%COMP%] .mat-ripple-element{opacity:.04}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkselected[_ngcontent-%COMP%] .mat-checkbox-frame{border-color:#fff!important}[_nghost-%COMP%] .checkbox-background[_ngcontent-%COMP%] .checkbox[_ngcontent-%COMP%]{margin-left:1.12rem;margin-bottom:.12rem}[_nghost-%COMP%] .align-end[_ngcontent-%COMP%]{margin-left:auto}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;width:100%;align-items:center}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%]:not(:first-child){margin-top:.5rem}[_nghost-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]{display:flex;font-size:.75rem;line-height:1rem;align-items:center;flex-grow:1;height:2.5rem}[_nghost-%COMP%] .donor[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .donor.highlighted[_ngcontent-%COMP%]{box-shadow:0 6px 2px -2px #0003,0 4px 4px #00000024,0 2px 10px #0000001f}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .hover-state[_ngcontent-%COMP%]{width:19.5rem!important}[_nghost-%COMP%] .donor[_ngcontent-%COMP%] .donor-info[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:600}[_nghost-%COMP%] .hoverable[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .hover-enabled[_ngcontent-%COMP%]:hover .hover-state[_ngcontent-%COMP%]{opacity:1}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%]{transition:opacity .15s ease-in-out;opacity:0;cursor:pointer;position:absolute;height:100%;width:100%;top:0;margin-left:-.5rem;align-items:center;display:flex;justify-content:flex-end;padding-right:1rem;font-size:.75rem}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-title[_ngcontent-%COMP%]{font-weight:lighter}[_nghost-%COMP%] .hover-state[_ngcontent-%COMP%] .hover-icon[_ngcontent-%COMP%]{margin-left:1rem}[_nghost-%COMP%] .default-padding[_ngcontent-%COMP%]{padding:.25rem .5rem}[_nghost-%COMP%] .expanded-view[_ngcontent-%COMP%]{margin-top:.25rem;width:85%;margin-bottom:.25rem}[_nghost-%COMP%] .d-flex[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .icon-size[_ngcontent-%COMP%]{height:1.5rem;width:1.5rem;font-size:1.5rem}[_nghost-%COMP%] .selectable[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%]{width:80%!important}[_nghost-%COMP%] .w-80[_ngcontent-%COMP%] .info-block[_ngcontent-%COMP%] .text-content[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{width:16rem!important}[_nghost-%COMP%] .ml-5[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mr-5[_ngcontent-%COMP%]{margin-right:.5rem}[_nghost-%COMP%] .mt-05[_ngcontent-%COMP%]{margin-top:.5rem}[_nghost-%COMP%] .description[_ngcontent-%COMP%]{width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"],changeDetection:0}),t})();function M3(t,e){if(1&t&&(ra(0,"div",7),ra(1,"div",8),Ja(2),sa(),ra(3,"div",9),Ja(4),sa(),sa()),2&t){const t=e.$implicit;ws(2),tl(t.count),ws(2),tl(t.label)}}function I3(t,e){if(1&t){const t=ua();ra(0,"div",10),fa("mouseenter",function(){const e=$e(t).$implicit;return va().handleHover(e.tissueBlock.spatialEntityId)})("mouseleave",function(){return $e(t),va().handleUnhover()}),ra(1,"ccf-donor-card",11),fa("checked",function(e){const n=$e(t).$implicit;return va().handleSelection(n,e)})("linkClick",function(e){return $e(t),va().handleLinkClick(e)}),sa(),sa()}if(2&t){const t=e.$implicit,n=va();ws(1),na("tissueBlock",t.tissueBlock)("selected",t.selected)("color",t.color)("highlighted",t.tissueBlock.spatialEntityId===n.highlighted)}}let D3=(()=>{class t{constructor(t){this.ga=t,this.linkClicked=new Bc,this.listResultSelected=new Bc,this.listResultDeselected=new Bc,this.itemHovered=new Bc,this.itemUnhovered=new Bc,this.atScrollBottom=!1}handleSelection(t,e){this.ga.event("list_result_selected","results_browser",this.resultLabel,+e),e?this.listResultSelected.next(t):this.listResultDeselected.next(t)}handleLinkClick(t){this.linkClicked.emit(t)}onScroll(t){if(!t.target)return;const{clientHeight:e,scrollHeight:n,scrollTop:i}=t.target;this.atScrollBottom=n-i-e<64}handleHover(t){this.itemHovered.emit(t)}handleUnhover(){this.itemUnhovered.emit()}}return t.\u0275fac=function(e){return new(e||t)(ea(jW))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-results-browser"]],inputs:{listResults:"listResults",aggregateData:"aggregateData",resultLabel:"resultLabel",highlighted:"highlighted",header:"header"},outputs:{linkClicked:"linkClicked",listResultSelected:"listResultSelected",listResultDeselected:"listResultDeselected",itemHovered:"itemHovered",itemUnhovered:"itemUnhovered"},decls:8,vars:7,consts:[[1,"results-browser-container"],[1,"stat-box"],["id","title"],["class","stat-row",4,"ngFor","ngForOf"],[1,"results-browser-list",3,"scroll"],["class","browser-item-container",3,"mouseenter","mouseleave",4,"ngFor","ngForOf"],[1,"scroll-gradient"],[1,"stat-row"],[1,"stat-value"],[1,"stat-label"],[1,"browser-item-container",3,"mouseenter","mouseleave"],[3,"tissueBlock","selected","color","highlighted","checked","linkClick"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),Ja(3),sa(),Jo(4,M3,5,2,"div",3),sa(),ra(5,"div",4),fa("scroll",function(t){return e.onScroll(t)}),Jo(6,I3,2,4,"div",5),sa(),oa(7,"div",6),sa()),2&t&&(ws(3),tl(e.resultLabel),ws(1),na("ngForOf",e.aggregateData),ws(1),ja("header-hidden",!e.header),ws(1),na("ngForOf",e.listResults),ws(1),ja("hidden",!!e.atScrollBottom))},directives:[kh,A3],styles:[".results-browser-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:calc(100% - 3rem);padding:0 1.5rem 1.5rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%]{margin-bottom:1.5rem;line-height:1.25;min-height:7.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] #title[_ngcontent-%COMP%]{font-size:1.25rem;margin-bottom:.75rem}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%]{display:flex;flex-direction:row}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{margin-right:1rem;width:5.5rem;text-align:right;font-weight:600}.results-browser-container[_ngcontent-%COMP%] .stat-box[_ngcontent-%COMP%] .stat-row[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-weight:300}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;padding-right:.5rem;height:calc(100vh - 20rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 16rem)}.results-browser-container[_ngcontent-%COMP%] .results-browser-list[_ngcontent-%COMP%] .browser-item-container[_ngcontent-%COMP%]{width:100%}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient[_ngcontent-%COMP%]{position:absolute;height:3rem;width:95%;bottom:0;pointer-events:none}.results-browser-container[_ngcontent-%COMP%] .scroll-gradient.hidden[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();const R3=["*",[["mat-toolbar-row"]]],N3=["*","mat-toolbar-row"],L3=Yy(class{constructor(t){this._elementRef=t}});let j3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=se({type:t,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),t})(),F3=(()=>{class t extends L3{constructor(t,e,n){super(t),this._platform=e,this._document=n}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){}}return t.\u0275fac=function(e){return new(e||t)(ea(Al),ea(Ep),ea(th))},t.\u0275cmp=Jt({type:t,selectors:[["mat-toolbar"]],contentQueries:function(t,e,n){if(1&t&&Jc(n,j3,5),2&t){let t;Qc(t=tu())&&(e._toolbarRows=t)}},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(t,e){2&t&&ja("mat-toolbar-multiple-rows",e._toolbarRows.length>0)("mat-toolbar-single-row",0===e._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[jo],ngContentSelectors:N3,decls:2,vars:0,template:function(t,e){1&t&&(wa(R3),xa(0),xa(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),t})(),B3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wy],Wy]}),t})();function V3(t,e){if(1&t&&(ra(0,"a",5),Ja(1,"LOGIN"),sa()),2&t){const t=va();ja("disabled",t.loginDisabled||!t.homeUrl),na("href",t.homeUrl+"login",_r)}}function z3(t,e){if(1&t&&(ra(0,"a",5),Ja(1,"LOGOUT"),sa()),2&t){const t=va();ja("disabled",t.loginDisabled||!t.homeUrl),na("href",t.homeUrl+"logout",_r)}}let U3=(()=>{class t{constructor(){this.refreshClicked=new Bc,this.downloadClicked=new Bc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-header"]],inputs:{homeUrl:"homeUrl",loginDisabled:"loginDisabled",logoTooltip:"logoTooltip",loggedIn:"loggedIn",filters:"filters"},outputs:{refreshClicked:"refreshClicked",downloadClicked:"downloadClicked"},decls:6,vars:4,consts:[[1,"ccf-header"],[1,"home",3,"href"],["aria-hidden","false","aria-label","Reset tool","matTooltipPosition","right",1,"logo",3,"matTooltip"],[1,"filler"],["mat-button","","class","authentication","rel","noreferrer noopener","target","_blank",3,"disabled","href",4,"ngIf"],["mat-button","","rel","noreferrer noopener","target","_blank",1,"authentication",3,"href"]],template:function(t,e){1&t&&(ra(0,"mat-toolbar",0),ra(1,"a",1),oa(2,"div",2),sa(),oa(3,"div",3),Jo(4,V3,2,3,"a",4),Jo(5,z3,2,3,"a",4),sa()),2&t&&(ws(1),na("href",e.homeUrl,_r),ws(1),na("matTooltip",e.logoTooltip),ws(2),na("ngIf",!e.loggedIn),ws(1),na("ngIf",e.loggedIn))},directives:[F3,gw,Ah,N_],styles:[".ccf-header[_ngcontent-%COMP%]{height:4rem;padding:0 1.5rem;border-bottom-width:1px;border-bottom-style:solid;display:flex}.ccf-header[_ngcontent-%COMP%] .home[_ngcontent-%COMP%]{height:100%;width:25rem;align-items:center;display:flex;padding:.25rem 0}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:100%;height:50%;background-repeat:no-repeat;background-size:contain}.ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%]{height:1.5rem}.ccf-header[_ngcontent-%COMP%] .authentication[_ngcontent-%COMP%]{width:8.25rem;border-radius:.125rem;font-weight:500}.ccf-header[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .download[_ngcontent-%COMP%], .ccf-header[_ngcontent-%COMP%] .refresh[_ngcontent-%COMP%]{display:flex;align-items:center;transition:color 1s;cursor:pointer;text-decoration:none}.ccf-header[_ngcontent-%COMP%] [_ngcontent-%COMP%]:not(:last-child){margin-right:1.5rem}.ccf-header[_ngcontent-%COMP%] .filler[_ngcontent-%COMP%]{flex-grow:1;margin:0}.ccf-header[_ngcontent-%COMP%] .filter-labels[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;font:400 1rem/1.25rem Inter,sans-serif}.ccf-header[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{display:none}"],changeDetection:0}),t})();const H3=["bodyUI"];function $3(t,e){if(1&t&&(oa(0,"ccf-header",34),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async")),2&t){const t=va();ja("hide",!1===Rc(1,6,t.header$)),na("logoTooltip",Rc(2,8,t.logoTooltip$))("homeUrl",Rc(3,10,t.homeUrl$))("loggedIn",t.loggedIn)("loginDisabled",Rc(4,12,t.loginDisabled$))}}function G3(t,e){if(1&t){const t=ua();ra(0,"div",35),fa("click",function(){$e(t),va();const e=ta(72);return e.expanded=!e.expanded}),ra(1,"mat-icon",36),Ja(2),sa(),sa()}if(2&t){va();const t=ta(72);ws(2),el(" ",t.expanded?"arrow_drop_up":"arrow_drop_down"," ")}}function W3(t,e){if(1&t){const t=ua();ra(0,"div",35),fa("click",function(){$e(t);const e=va();return e.organListVisible=!e.organListVisible}),ra(1,"mat-icon",37),Ja(2),sa(),sa()}if(2&t){const t=va();ws(2),el(" ",t.organListVisible?"arrow_drop_up":"arrow_drop_down"," ")}}const q3=function(){return{}},Y3=function(){return{x:2.2,y:2,z:.4}};class X3{constructor(t,e,n,i,r,s,o,a,l,c,u,h){this.data=n,this.theming=i,this.scene=r,this.listResultsState=s,this.consentService=o,this.snackbar=a,this.dataSource=c,this.globalConfig=u,this.setSelectedSearches=jQ(ZQ),this.removeSpatialSearch=jQ(QQ),this.ontologySelectionLabel="body",this.cellTypeSelectionLabel="cell",this.selectionLabel="body | cell",this.organListVisible=!0,this.url="",this.acceptableViewerDomains=LQ.acceptableViewerDomains||[],this.viewerOpen=!1,this.spinnerActive$=this.data.queryStatus$.pipe(D(t=>t===GQ.Running)),this.loadingMessage$=this.data.state$.pipe(T$("statusMessage")),this.theme$=this.globalConfig.getOption("theme"),this.themeMode$=new _p(1),this.header$=this.globalConfig.getOption("header"),this.homeUrl$=this.globalConfig.getOption("homeUrl"),this.logoTooltip$=this.globalConfig.getOption("logoTooltip"),this.loginDisabled$=this.globalConfig.getOption("loginDisabled"),i.initialize(t,e),l.setRootElement(t),n.tissueBlockData$.subscribe(),n.aggregateData$.subscribe(),n.ontologyTermOccurencesData$.subscribe(),n.cellTypeTermOccurencesData$.subscribe(),n.sceneData$.subscribe(),n.filter$.subscribe(),n.technologyFilterData$.subscribe(),n.providerFilterData$.subscribe(),this.ontologyTerms$=n.filter$.pipe(T$("ontologyTerms")),this.cellTypeTerms$=n.filter$.pipe(T$("cellTypeTerms")),z_([this.theme$,this.themeMode$]).subscribe(([t,e])=>{this.theming.setTheme(`${t}-theme-${e}`),h.markForCheck()})}get isLightTheme(){return this.theming.getTheme().endsWith("light")}ngOnInit(){const t=this.snackbar.openFromComponent(tQ,{data:{preClose:()=>{t.dismiss()}},duration:"not-set"===this.consentService.consent?1/0:3e3});window.matchMedia?(window.matchMedia("(prefers-color-scheme: dark)").matches?this.themeMode$.next("dark"):this.themeMode$.next("light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.themeMode$.next(t.matches?"dark":"light")})):this.themeMode$.next("light")}reset(t,e,n){t.open(),t.closeExpanded(),e.open(),e.closeExpanded(),n.removeBox(),this.resetView()}resetView(){this.bodyUI.target=[0,0,0],this.bodyUI.rotation=0,this.bodyUI.rotationX=0,this.bodyUI.bounds={x:2.2,y:2,z:.4}}toggleScheme(){this.themeMode$.next(this.isLightTheme?"dark":"light")}ontologySelected(t,e){if(t)return"anatomical-structures"===e?(this.data.updateFilter({ontologyTerms:t.map(t=>t.id)}),this.ontologySelectionLabel=this.createSelectionLabel(t)):(this.data.updateFilter({cellTypeTerms:t.map(t=>t.id)}),this.cellTypeSelectionLabel=this.createSelectionLabel(t)),this.selectionLabel=this.ontologySelectionLabel&&this.cellTypeSelectionLabel?`${this.ontologySelectionLabel} | ${this.cellTypeSelectionLabel}`:this.ontologySelectionLabel?`${this.ontologySelectionLabel}`:this.cellTypeSelectionLabel?`${this.cellTypeSelectionLabel}`:"",void(t[0]&&"body"===t[0].label&&this.resetView());this.data.updateFilter({ontologyTerms:[],cellTypeTerms:[]}),this.ontologySelectionLabel="",this.cellTypeSelectionLabel=""}createSelectionLabel(t){if(0===t.length)return"";if(1===t.length)return t[0].label;let e="";return t.forEach((n,i)=>{e+=n.label,inull==t?void 0:t.startsWith(e))?(this.url=t,this.viewerOpen=!!t):(window.open(t,"_blank"),this.closeiFrameViewer())}closeiFrameViewer(){this.viewerOpen=!1}get loggedIn(){var t;return(null!==(t=this.globalConfig.snapshot.hubmapToken)&&void 0!==t?t:"").length>0}}function K3(t,e){1&t&&oa(0,"ccf-root")}function Q3(t){const e=t=>"string"==typeof t,n=t=>Array.isArray(t)&&t.every(e);if("string"==typeof t){const e=RQ.json(t);if(n(e))return e}else if(n(t))return t;throw new Error("Invalid data sources")}X3.\u0275fac=function(t){return new(t||X3)(ea(Al),ea(No),ea(YQ),ea(AQ),ea(aZ),ea(sZ),ea(VW),ea(aw),ea(kQ),ea(iQ),ea(KK),ea(nc))},X3.\u0275cmp=Jt({type:X3,selectors:[["ccf-root"]],viewQuery:function(t,e){if(1&t&&Zc(H3,5),2&t){let t;Qc(t=tu())&&(e.bodyUI=t.first)}},decls:83,vars:117,consts:[[1,"ccf-app","mat-app-background"],[3,"text","active"],[3,"hide","logoTooltip","homeUrl","loggedIn","loginDisabled",4,"ngIf"],[1,"main-drawers"],["opened","",1,"left-drawer",3,"stateChange"],["left",""],[1,"filter-data"],[3,"filters","drawerExpanded","technologyFilters","providerFilters","spatialSearchFilters","filtersChange","spatialSearchSelected","spatialSearchRemoved"],["filterbox",""],[1,"filter-text"],[1,"sex","filter-tag"],[1,"age","filter-tag"],[1,"bmi","filter-tag"],["placeholderText","Search anatomical structures...",1,"ontology-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["placeholderText","Search cell types...",1,"cell-type-selection",3,"treeModel","termData","occurenceData","header","ontologySelection"],["position","end","opened","",1,"right-drawer",3,"stateChange"],["right",""],[1,"portal-view",3,"url","closed"],[1,"drawer-icons"],[1,"drawer-icons-left"],[1,"button",3,"matTooltip","click"],[1,"icon"],[1,"scheme-toggle","button",3,"matTooltip","click"],[1,"button"],["matTooltip","Reset View",1,"refresh","icon",3,"click"],["videoID","YAHJqvD3Q_8","infoTitle","CCF Exploration User Interface","documentationUrl","assets/docs/README.md","matTooltip","Open Info"],[3,"listResults","aggregateData","resultLabel","highlighted","header","listResultSelected","listResultDeselected","linkClicked","itemHovered","itemUnhovered"],[1,"selector-drawer"],[1,"organ-selector",3,"multiselect","occurenceData","organList","selectedOrgans","organsChanged"],["selector",""],[1,"close-button-wrapper"],["class","close-button",3,"click",4,"ngIf"],[1,"stage-content",3,"scene","bounds","nodeClick","nodeHoverStart","nodeHoverStop"],["bodyUI",""],[3,"logoTooltip","homeUrl","loggedIn","loginDisabled"],[1,"close-button",3,"click"],["aria-hidden","false","aria-label","Expand carousel drawer",1,"expand-collapse-icon"],["aria-hidden","false","aria-label","Close carousel drawer",1,"expand-collapse-icon"]],template:function(t,e){if(1&t){const t=ua();ra(0,"div",0),oa(1,"ccf-spinner-overlay",1),Dc(2,"async"),Dc(3,"async"),Jo(4,$3,5,14,"ccf-header",2),Dc(5,"async"),ra(6,"ccf-drawer-container",3),Dc(7,"async"),ra(8,"ccf-drawer",4,5),fa("stateChange",function(){return $e(t),ta(13).removeBox()}),ra(10,"div"),ra(11,"div",6),ra(12,"ccf-filters-popover",7,8),fa("filtersChange",function(t){return e.data.updateFilter(t)})("spatialSearchSelected",function(t){return e.setSelectedSearches(t)})("spatialSearchRemoved",function(t){return e.removeSpatialSearch(t)}),Dc(14,"async"),Dc(15,"async"),Dc(16,"async"),Dc(17,"async"),sa(),ra(18,"div",9),ra(19,"div",10),Ja(20,"Sex: "),ra(21,"strong"),Ja(22),Dc(23,"async"),sa(),sa(),ra(24,"div",11),Ja(25,"Age: "),ra(26,"strong"),Ja(27),Dc(28,"async"),Dc(29,"async"),sa(),sa(),ra(30,"div",12),Ja(31,"BMI: "),ra(32,"strong"),Ja(33),Dc(34,"async"),Dc(35,"async"),sa(),sa(),sa(),sa(),ra(36,"ccf-ontology-selection",13),fa("ontologySelection",function(t){return e.ontologySelected(t,"anatomical-structures")}),Dc(37,"async"),Dc(38,"async"),Dc(39,"async"),Dc(40,"async"),sa(),ra(41,"ccf-ontology-selection",14),fa("ontologySelection",function(t){return e.ontologySelected(t,"cell-type")}),Dc(42,"async"),Dc(43,"async"),Dc(44,"async"),Dc(45,"async"),sa(),oa(46,"ccf-drawer-toggle-button"),sa(),sa(),ra(47,"ccf-drawer",15,16),fa("stateChange",function(){return $e(t),ta(13).removeBox()}),ra(49,"ccf-viewer",17),fa("closed",function(){return e.viewerOpen=!1}),sa(),ra(50,"div",18),ra(51,"div",19),ra(52,"button",20),fa("click",function(){$e(t);const e=ta(13),n=ta(48);return e.removeBox(),n.toggleExpanded()}),ra(53,"mat-icon",21),Ja(54),sa(),sa(),ra(55,"button",22),fa("click",function(){return e.toggleScheme()}),ra(56,"mat-icon",21),Ja(57),sa(),sa(),ra(58,"button",23),ra(59,"mat-icon",24),fa("click",function(){$e(t);const n=ta(9),i=ta(48),r=ta(13);return e.reset(n,i,r)}),Ja(60,"refresh "),sa(),sa(),sa(),oa(61,"ccf-info-button",25),sa(),ra(62,"ccf-results-browser",26),fa("listResultSelected",function(t){return e.listResultsState.selectListResult(t)})("listResultDeselected",function(t){return e.listResultsState.deselectListResult(t)})("linkClicked",function(t){return e.openiFrameViewer(t)})("itemHovered",function(t){return e.listResultsState.highlightNode(t)})("itemUnhovered",function(){return e.listResultsState.unHighlightNode()}),Dc(63,"async"),Dc(64,"async"),Dc(65,"async"),Dc(66,"async"),sa(),oa(67,"ccf-drawer-toggle-button"),sa(),ra(68,"ccf-drawer-content"),Dc(69,"async"),ra(70,"div",27),ra(71,"ccf-organ-selector",28,29),fa("organsChanged",function(t){return e.scene.setSelectedReferenceOrgans(t)}),Dc(73,"async"),Dc(74,"async"),Dc(75,"async"),sa(),sa(),ra(76,"div",30),Jo(77,G3,3,1,"div",31),Jo(78,W3,3,1,"div",31),sa(),oa(79,"ccf-run-spatial-search"),ra(80,"ccf-body-ui",32,33),fa("nodeClick",function(t){return e.scene.sceneNodeClicked(t)})("nodeHoverStart",function(t){return e.scene.sceneNodeHovered(t)})("nodeHoverStop",function(){return e.scene.sceneNodeUnhover()}),Dc(82,"async"),sa(),sa(),sa(),sa()}if(2&t){const t=ta(48),n=ta(72);let i,r,s,o;ws(1),na("text",Rc(2,55,e.loadingMessage$))("active",Rc(3,57,e.spinnerActive$)),ws(3),na("ngIf",!1===Rc(5,59,e.spinnerActive$)),ws(2),ja("header-hidden",!1===Rc(7,61,e.header$)),ws(6),na("filters",Rc(14,63,e.data.filter$))("drawerExpanded",t.expanded)("technologyFilters",Rc(15,65,e.data.technologyFilterData$))("providerFilters",Rc(16,67,e.data.providerFilterData$))("spatialSearchFilters",Rc(17,69,e.selectableSearches$)),ws(10),tl(null==(i=Rc(23,71,e.data.filter$))?null:i.sex),ws(5),nl("",null==(r=Rc(28,73,e.data.filter$))?null:r.ageRange[0],"-",null==(r=Rc(29,75,e.data.filter$))?null:r.ageRange[1],""),ws(6),nl("",null==(s=Rc(34,77,e.data.filter$))?null:s.bmiRange[0],"-",null==(s=Rc(35,79,e.data.filter$))?null:s.bmiRange[1],""),ws(3),na("treeModel",Rc(37,81,e.ontologyTreeModel$))("termData",Rc(38,83,e.data.ontologyTermsFullData$))("occurenceData",Rc(39,85,e.data.ontologyTermOccurencesData$))("header",Rc(40,87,e.header$)),ws(5),na("treeModel",Rc(42,89,e.cellTypeTreeModel$))("termData",Rc(43,91,e.data.cellTypeTermsFullData$))("occurenceData",Rc(44,93,e.data.cellTypeTermOccurencesData$))("header",Rc(45,95,e.header$)),ws(8),ja("opened",e.viewerOpen),na("url",e.url),ws(3),na("matTooltip",t.expanded?"Exit Fullscreen":"Enter Fullscreen"),ws(2),tl(t.expanded?"fullscreen_exit":"fullscreen"),ws(1),na("matTooltip",e.isLightTheme?"Enter Dark Mode":"Enter Light Mode"),ws(2),el("",e.isLightTheme?"brightness_2":"brightness_5"," "),ws(5),na("listResults",Rc(63,97,e.listResultsState.listResults$))("aggregateData",Rc(64,99,e.data.aggregateData$))("resultLabel",e.selectionLabel)("highlighted",Rc(65,101,e.listResultsState.highlightedNodeId$))("header",Rc(66,103,e.header$)),ws(6),ja("header-hidden",!1===Rc(69,105,e.header$)),ws(2),ja("closed",!e.organListVisible)("expanded",n.expanded),ws(1),na("multiselect",!0)("occurenceData",null!==(o=Rc(73,107,e.data.ontologyTermOccurencesData$))&&void 0!==o?o:kc(115,q3))("organList",Rc(74,109,e.scene.referenceOrgans$))("selectedOrgans",Rc(75,111,e.scene.selectedReferenceOrgans$)),ws(5),ja("closed",!e.organListVisible),ws(1),na("ngIf",e.organListVisible),ws(1),na("ngIf",!n.expanded),ws(2),ja("expanded-stage",!e.organListVisible)("selector-expanded",n.expanded),na("scene",Rc(82,113,e.scene.scene$))("bounds",kc(116,Y3))}},directives:[yZ,Ah,DZ,kZ,K0,R1,N1,F1,gw,T_,qK,D3,CZ,jK,U0,OK,U3],pipes:[$h],styles:[".cdk-overlay-container{position:absolute;font-size:1.2rem}[_nghost-%COMP%]{display:block;position:relative}.ccf-app[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:1rem;position:relative;text-align:left}.ccf-app[_ngcontent-%COMP%] ccf-header[_ngcontent-%COMP%]{z-index:99}.ccf-app[_ngcontent-%COMP%] ccf-header.hide[_ngcontent-%COMP%]{display:none}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%]{height:calc(100% - 5rem);width:100%;opacity:1;overflow:hidden;transform:scale(1)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container.header-hidden[_ngcontent-%COMP%]{height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%]{width:28.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%]{display:flex;padding-left:1.5rem;height:5rem;padding-right:1.5rem;align-items:center;justify-content:space-between}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer[_ngcontent-%COMP%] .drawer-icons[_ngcontent-%COMP%] .drawer-icons-left[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{border:none;cursor:pointer;outline:none;border-radius:.25rem;padding:.65rem;transition:.6s}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%]{overflow:hidden;border-radius:.5rem;height:calc(100vh - 4rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer[_ngcontent-%COMP%]{top:0rem;display:flex;flex-direction:column;position:relative;transition:all .5s ease-in-out;height:5rem;justify-content:start}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.expanded[_ngcontent-%COMP%]{height:15rem;overflow-y:auto}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-drawer.closed[_ngcontent-%COMP%]{height:1.5rem;top:-5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] ccf-run-spatial-search[_ngcontent-%COMP%]{position:relative;float:right;height:0px;z-index:1;top:.5rem;right:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .stage-content[_ngcontent-%COMP%]{transition:all .5s ease-in-out;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .expanded-stage[_ngcontent-%COMP%]{height:calc(100% - 3rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content[_ngcontent-%COMP%] .selector-expanded[_ngcontent-%COMP%]{height:calc(100% - 16.5rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] ccf-drawer-content.header-hidden[_ngcontent-%COMP%]{height:calc(100vh - 1rem)}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;border-top-right-radius:.5rem;border-top-left-radius:.5rem;height:0}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%]{display:flex;justify-content:center;height:1.0625rem;width:3rem;align-self:center;border-radius:0 0 .25rem .25rem;cursor:pointer;transition:.6s;position:relative;top:.5rem;z-index:1}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .close-button-wrapper[_ngcontent-%COMP%] .close-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{position:relative;bottom:.2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%]{padding-left:1.5rem;padding-right:1.5rem;height:100%}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .cell-type-selection[_ngcontent-%COMP%] .ccf-ontology-search{margin-top:2rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%]{height:5rem;display:flex;align-items:center}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:75%;margin-left:1.5rem}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%]{font-weight:300}.ccf-app[_ngcontent-%COMP%] ccf-drawer-container[_ngcontent-%COMP%] .left-drawer[_ngcontent-%COMP%] .filter-data[_ngcontent-%COMP%] .filter-text[_ngcontent-%COMP%] .filter-tag[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600!important}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view[_ngcontent-%COMP%]{position:fixed;left:0;top:0;bottom:0;right:425%;height:100%;transform:translate(-425%);width:calc(100% - 28.5rem);transition:transform .5s cubic-bezier(.82,.085,.395,.895)}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .portal-view.opened[_ngcontent-%COMP%]{transform:translate(0);transition:width 0s .5s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view[_ngcontent-%COMP%]{width:100vw}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%]:not(.ccf-drawer-opened) .portal-view.opened[_ngcontent-%COMP%]{transition:width 0s}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .shaded-toggle[_ngcontent-%COMP%]{box-shadow:-1px 0 4px #212121}.ccf-app[_ngcontent-%COMP%] .right-drawer[_ngcontent-%COMP%] .cff-drawer-inner-container{overflow:hidden}[_ngcontent-%COMP%]::-webkit-scrollbar{width:.5rem}"],changeDetection:0}),vw([iU(XQ.cellTypesTreeModel)],X3.prototype,"cellTypeTreeModel$",void 0),vw([iU(XQ.anatomicalStructuresTreeModel)],X3.prototype,"ontologyTreeModel$",void 0),vw([iU(tZ.items)],X3.prototype,"selectableSearches$",void 0),vw([KX()],X3.prototype,"setSelectedSearches",void 0),vw([KX()],X3.prototype,"removeSpatialSearch",void 0);let Z3=(()=>{class t extends DQ{constructor(t,e){super(t,e,{initialDelay:10,initialConfig:Object.assign(Object.assign(Object.assign({},LQ.dbOptions),globalThis.dbOptions),LQ.customization),parse:{dataSources:Q3,useRemoteApi:RQ.boolean,header:RQ.boolean,loginDisabled:RQ.boolean}})}}return t.\u0275fac=function(e){return new(e||t)(ea(KK),ea(nc))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-root-wc"]],inputs:{dataSources:"dataSources",hubmapDataService:"hubmapDataService",hubmapDataUrl:"hubmapDataUrl",hubmapAssetUrl:"hubmapAssetUrl",hubmapToken:"hubmapToken",hubmapPortalUrl:"hubmapPortalUrl",useRemoteApi:"useRemoteApi",remoteApiEndpoint:"remoteApiEndpoint",theme:"theme",header:"header",homeUrl:"homeUrl",logoTooltip:"logoTooltip",loginDisabled:"loginDisabled"},features:[jo],decls:1,vars:1,consts:[[4,"ngIf"]],template:function(t,e){1&t&&Jo(0,K3,1,0,"ccf-root",0),2&t&&na("ngIf",e.initialized)},directives:[Ah,X3],encapsulation:2,changeDetection:0}),t})(),J3=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,B3,yw]]}),t})(),t5=(()=>{class t extends dQ{constructor(t,e){super(t),this.locator=e}createWorker(t){const e=this.getWorkerUrl(!0);return new Worker(e,{type:"module"})}getWorkerUrl(t){if(t)return new URL(n(88509),n.b);const e=this.locator.prepareExternalUrl("0-es2015.worker.js"),i=new Blob([`importScripts('${e}')`],{type:"application/javascript"});return URL.createObjectURL(i)}}return t.\u0275fac=function(e){return new(e||t)(Ei(KK),Ei(ch))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),e5=(()=>{class t extends pQ{selectToken(t){const{useRemoteApi:e,remoteApiEndpoint:n}=t;return e&&n?cQ:"undefined"==typeof Worker||LQ.disableDbWorker?hQ:t5}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=ei(t)))(n||t)}}(),t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),n5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:du,useValue:AQ.initialize,multi:!0},AQ]}),t})(),i5=(()=>{class t{constructor(t,e){this.accessor=t,this.injector=e}static forRoot(e=[]){return{ngModule:t,providers:[hW,uW,lW,...e]}}}return t.\u0275fac=function(e){return new(e||t)(Ei(hW,2),Ei(uW,2))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();const r5=(t,e)=>((t,e)=>new Array(e+1).join("0"))(0,e-t.toString().length)+t;class s5{constructor(t,e,n){this.action=t,this.store=e,this.logWriter=n}dispatched(t){const e=fz(this.action),n=function(t){return r5(t.getHours(),2)+":"+r5(t.getMinutes(),2)+":"+r5(t.getSeconds(),2)+"."+r5(t.getMilliseconds(),3)}(new Date);this.logWriter.startGroup(`action ${e} @ ${n}`),this._hasPayload(this.action)&&this.logWriter.logGrey("payload",Object.assign({},this.action)),this.logWriter.logGrey("prev state",t)}completed(t){this.logWriter.logGreen("next state",t),this.logWriter.endGroup()}errored(t){this.logWriter.logRedish("next state after error",this.store.snapshot()),this.logWriter.logRedish("error",t),this.logWriter.endGroup()}_hasPayload(t){return this._getNonEmptyProperties(t).length>0}_getNonEmptyProperties(t){return Object.keys(t).map(e=>t[e]).filter(t=>void 0!==t)}}class o5{constructor(t){this.options=t,this.options=this.options||{},this.logger=t.logger||console}startGroup(t){const e=this.options.collapsed?this.logger.groupCollapsed:this.logger.group;try{e.call(this.logger,t)}catch(n){console.log(t)}}endGroup(){try{this.logger.groupEnd()}catch(t){this.logger.log("\u2014\u2014 log end \u2014\u2014")}}logGrey(t,e){this.log(t,"color: #9E9E9E; font-weight: bold",e)}logGreen(t,e){this.log(t,"color: #4CAF50; font-weight: bold",e)}logRedish(t,e){this.log(t,"color: #FD8182; font-weight: bold",e)}log(t,e,n){this.isIE()?this.logger.log(t,n):this.logger.log("%c "+t,e,n)}isIE(){const t="undefined"!=typeof window&&window.navigator.userAgent?window.navigator.userAgent:"";let e=!1;const n=t.indexOf("MSIE "),i=t.indexOf("Trident/");return(n>-1||i>-1)&&(e=!0),e}}const a5=new oi("NGXS_LOGGER_PLUGIN_OPTIONS");let l5=(()=>{class t{constructor(t,e){this._options=t,this._injector=e}handle(t,e,n){if(this._options.disabled||!this._options.filter(e,t))return n(t,e);this._logWriter=this._logWriter||new o5(this._options),this._store=this._store||this._injector.get(qz);const i=new s5(e,this._store,this._logWriter);return i.dispatched(t),n(t,e).pipe(eg(t=>{i.completed(t)}),Tv(t=>{throw i.errored(t),t}))}}return t.\u0275fac=function(e){return new(e||t)(Ei(a5),Ei(No))},t.\u0275prov=xt({token:t,factory:t.\u0275fac}),t})();const c5=new oi("LOGGER_USER_OPTIONS");function u5(t){return Object.assign({},{logger:console,collapsed:!1,disabled:!1,filter:()=>!0},t)}let h5=(()=>{class t{static forRoot(e){return{ngModule:t,providers:[{provide:sz,useClass:l5,multi:!0},{provide:c5,useValue:e},{provide:a5,useFactory:u5,deps:[c5]}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({}),t})();function d5(t,e){return t>=0&&t=e?e:t+e<0?0:t+e}function p5(t,e){if(1&t&&(ra(0,"span"),Ja(1),sa()),2&t){const t=e.$implicit;Fa(t.styles),Va(t.classes),ws(1),el(" ",t.text,"\n")}}let f5=(()=>{class t{constructor(){this.clsName="ccf-decorated-text",this.segments=[]}ngOnChanges(t){("text"in t||"decorations"in t)&&(this.segments=this.createSegments())}createSegments(){const{text:t}=this;if(!t)return[this.makeUndecoratedSegment(t)];const e=this.getNormalizedDecorations();if(0===e.length)return[this.makeUndecoratedSegment(t)];const n=this.createStackOps(e),i=[];let r=[],s=0;0===n[0].index&&(r=this.updateStack(r,n.shift()));for(const o of n)i.push(this.makeDecoratedSegment(t.slice(s,o.index),r)),s=o.index,r=this.updateStack(r,o);return s!==t.length&&i.push(this.makeDecoratedSegment(t.slice(s),r)),i}createStackOps(t){const e={},n=t=>{var n;return null!==(n=e[t])&&void 0!==n?n:e[t]={index:t,added:[],removed:[]}};for(const i of t)n(i.start).added.push(i),n(i.end).removed.push(i);return Object.entries(e).sort((t,e)=>+t[0]-+e[0]).map(t=>t[1])}updateStack(t,e){return t.filter(t=>!e.removed.includes(t)).concat(e.added)}getNormalizedDecorations(){const{decorations:t=[],text:{length:e}}=this;return t.map(t=>function(t,e){var n,i,r,s;return{start:d5(null!==(n=t.start)&&void 0!==n?n:0,e),end:d5(null!==(i=t.end)&&void 0!==i?i:e,e),classes:null!==(r=t.classes)&&void 0!==r?r:[],styles:null!==(s=t.styles)&&void 0!==s?s:{}}}(t,e)).filter(t=>t.startt.concat(e.classes),[]),styles:e.reduce((t,e)=>Object.assign(Object.assign({},t),e.styles),{})}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-decorated-text"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{text:"text",decorations:"decorations"},features:[ye],decls:1,vars:1,consts:[[3,"class","style",4,"ngFor","ngForOf"]],template:function(t,e){1&t&&Jo(0,p5,2,5,"span",0),2&t&&na("ngForOf",e.segments)},directives:[kh],styles:["[_nghost-%COMP%]{display:flex}"],changeDetection:0}),t})();function g5(t,e){if(1&t&&(ra(0,"mat-option"),oa(1,"ccf-decorated-text",8),sa()),2&t){const t=e.$implicit;ws(1),na("text",t.label)("decorations",t.decorations)}}const m5=[[["","matPrefix",""]],[["","matSuffix",""]]],b5=new oi("Maximum number of autocomplete options displayed",{providedIn:"root",factory:()=>10});class y5{constructor(t){this.defaultMaxOptions=t,this.clsName="ccf-text-search",this.placeholder="Search...",this.optionSelected=new Bc,this.controller=new tH,this.options=this.controller.valueChanges.pipe(lp(""),Wd(),cp(this.getOptions)),this.valueChange=this.controller.valueChanges}get value(){return this.controller.value}set value(t){this.controller.setValue(t,{emitEvent:!1})}getOptions(t){return xw(this,void 0,void 0,function*(){const{autoCompleter:e,maxOptions:n=this.defaultMaxOptions}=this;return!e||n<1?[]:U(e(t,n)).pipe(rf(1),D(t=>t.length<=n?t:t.slice(0,n))).toPromise()})}optionDisplay(t){var e;return null!==(e=null==t?void 0:t.label)&&void 0!==e?e:""}optionId(t,e){return e.id}}y5.\u0275fac=function(t){return new(t||y5)(ea(b5))},y5.\u0275cmp=Jt({type:y5,selectors:[["ccf-text-search"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{placeholder:"placeholder",value:"value",maxOptions:"maxOptions",autoCompleter:"autoCompleter"},outputs:{valueChange:"valueChange",optionSelected:"optionSelected"},ngContentSelectors:["[matPrefix]","[matSuffix]"],decls:11,vars:8,consts:[[1,"form"],["appearance","outline",1,"form-field"],["matPrefix",""],["matInput","","type","search",1,"input",3,"placeholder","formControl","matAutocomplete"],[1,"autocomplete",3,"displayWith","optionSelected"],["auto","matAutocomplete"],[4,"ngFor","ngForOf","ngForTrackBy"],["matSuffix",""],[3,"text","decorations"]],template:function(t,e){if(1&t&&(wa(m5),ra(0,"form",0),ra(1,"mat-form-field",1),aa(2,2),xa(3),la(),oa(4,"input",3),ra(5,"mat-autocomplete",4,5),fa("optionSelected",function(t){return e.optionSelected.emit(t)}),Jo(7,g5,2,2,"mat-option",6),Dc(8,"async"),sa(),aa(9,7),xa(10,1),la(),sa(),sa()),2&t){const t=ta(6);ws(4),na("placeholder",e.placeholder)("formControl",e.controller)("matAutocomplete",t),ws(1),na("displayWith",e.optionDisplay),ws(2),na("ngForOf",Rc(8,6,e.options))("ngForTrackBy",e.optionId)}},directives:[cH,IU,sH,QH,$H,E$,uU,m$,MU,pH,h$,kh,WH,wv,f5],pipes:[$h],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .form[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .form[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{margin-left:.5rem}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:0}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex{align-items:center}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{height:3rem;border:none}[_nghost-%COMP%] .mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-suffix{top:0;border:none}"],changeDetection:0}),vw([PV.ak],y5.prototype,"getOptions",null),[{src:"app:skin",organ:"Skin",name:"Skin",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002097"},{src:"app:brain",organ:"Brain",name:"Brain",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000955"},{disabled:!0,src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000029"},{src:"app:lymph-nodes",organ:"Lymph Node",name:"Lymph Node",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002509"},{disabled:!0,src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000970"},{src:"app:eye",organ:"Eye",name:"Eye, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004548"},{src:"app:eye",organ:"Eye",name:"Eye, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004549"},{disabled:!0,src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0003889"},{src:"app:fallopian-tube-left",organ:"Fallopian Tube",name:"Fallopian Tube, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001303"},{src:"app:fallopian-tube-right",organ:"Fallopian Tube",name:"Fallopian Tube, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001302"},{src:"app:heart",organ:"Heart",name:"Heart",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000948"},{disabled:!0,src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002113"},{src:"app:kidney-left",organ:"Kidney",name:"Kidney, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004538"},{src:"app:kidney-right",organ:"Kidney",name:"Kidney, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004539"},{disabled:!0,src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001465"},{src:"app:knee",organ:"Knee",name:"Knee, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24978"},{src:"app:knee",organ:"Knee",name:"Knee, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma24977"},{src:"app:liver",organ:"Liver",name:"Liver",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002107"},{disabled:!0,src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002048"},{src:"app:lung",organ:"Lung",name:"Lungs",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001004"},{disabled:!0,src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001911"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57991"},{src:"app:mammary-gland",organ:"Mammary Gland",name:"Mammary Gland, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma57987"},{disabled:!0,src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000992"},{src:"app:ovary-left",organ:"Ovary",name:"Ovary, L",side:"left",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7214"},{src:"app:ovary-right",organ:"Ovary",name:"Ovary, R",side:"right",hasSex:!1,sex:"female",id:"http://purl.org/sig/ont/fma/fma7213"},{src:"app:larynx",organ:"Larynx",name:"Larynx",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001737"},{src:"app:main-bronchus",organ:"Main Bronchus",name:"Main Bronchus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002182"},{disabled:!0,src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002373"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, L",side:"left",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54974"},{src:"app:palatine-tonsil",organ:"Palatine Tonsil",name:"Palatine Tonsil, R",side:"right",hasSex:!0,id:"http://purl.org/sig/ont/fma/fma54973"},{src:"app:pancreas",organ:"Pancreas",name:"Pancreas",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001264"},{src:"app:pelvis-f",organ:"Pelvis",name:"Pelvis",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001270"},{src:"app:placenta",organ:"Placenta",name:"Placenta",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0001987"},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0002367",disabled:!0},{src:"app:prostate",organ:"Prostate",name:"Prostate",hasSex:!1,sex:"male",id:"http://purl.obolibrary.org/obo/UBERON_0000079"},{src:"app:small-intestine",organ:"Small Intestine",name:"Small Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002108"},{src:"app:large-intestine",organ:"Large Intestine",name:"Large Intestine",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000059"},{src:"app:spinal-cord",organ:"Spinal Cord",name:"Spinal Cord",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002240"},{src:"app:spleen",organ:"Spleen",name:"Spleen",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002106"},{src:"app:thymus",organ:"Thymus",name:"Thymus",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002370"},{src:"app:trachea",organ:"Trachea",name:"Trachea",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0003126"},{disabled:!0,src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0000056"},{src:"app:ureter-left",organ:"Ureter",name:"Ureter, L",side:"left",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001223"},{src:"app:ureter-right",organ:"Ureter",name:"Ureter, R",side:"right",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001222"},{src:"app:bladder",organ:"Urinary Bladder",name:"Urinary Bladder",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0001255"},{src:"app:uterus",organ:"Uterus",name:"Uterus",hasSex:!1,sex:"female",id:"http://purl.obolibrary.org/obo/UBERON_0000995"},{src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0004537"},{disabled:!0,src:"app:vasculature-thick",organ:"Blood Vasculature",name:"Blood Vasculature",hasSex:!0,id:"http://purl.obolibrary.org/obo/UBERON_0002049"}].sort((t,e)=>t.name.localeCompare(e.name)).filter(t=>!0!==t.disabled);let v5=class extends MW{constructor(){super(...arguments),this.optionCache=new Map}get config$(){return this.state$.pipe(IW(),xp(1))}setConfig(t){this.setState(t)}patchConfig(t){this.patchState(t)}getProperty(t){return this.config$.pipe(T$(...t),Wd(),xp(1))}getOption(...t){const e=this.getPathKey(t);if(this.optionCache.has(e))return this.optionCache.get(e);const n=this.config$.pipe(T$(...t),Wd(),xp(1));return this.optionCache.set(e,n),n}getPathKey(t){return`${t.length}:${t.join(".")}`}};v5.\u0275fac=function(){let t;return function(e){return(t||(t=ei(v5)))(e||v5)}}(),v5.\u0275prov=xt({token:v5,factory:v5.\u0275fac}),vw([CW()],v5.prototype,"config$",null),v5=vw([kW(),nU({name:"globalConfig",defaults:null})],v5);const _5="ALLOW_TELEMETRY",w5=x5();function x5(){const t=localStorage.getItem(_5);return null===t?void 0:"true"===t.toLowerCase()}let S5=class extends MW{setAllowTelemetry(t){const e=x5();localStorage.setItem(_5,t.toString()),this.ctx.patchState({allowTelemetry:t}),(void 0!==e||!1===t)&&location.reload()}};S5.\u0275fac=function(){let t;return function(e){return(t||(t=ei(S5)))(e||S5)}}(),S5.\u0275prov=xt({token:S5,factory:S5.\u0275fac}),vw([OW()],S5.prototype,"setAllowTelemetry",null),S5=vw([kW(),nU({name:"tracking",defaults:{allowTelemetry:w5}})],S5);const C5=new A,E5={cacheBusterObserver:C5},O5={cacheBusterObserver:C5,maxCacheCount:4};function T5(t,e,n){return t?{min:t[0]>e?t[0]:void 0,max:t[1]{var e;return Object.assign(Object.assign({},t),{transformMatrix:new VT(null!==(e=t.transformMatrix)&&void 0!==e?e:[])})})}class P5{constructor(t,e){this.api=t,this.globalConfig=e,e.getOption("hubmapToken").subscribe(C5)}getDatabaseStatus(){return this.doRequest(t=>this.api.dbStatus(t))}getProviderNames(){return this.doRequest(t=>this.api.providerNames(t))}getDatasetTechnologyNames(){return this.doRequest(t=>this.api.technologyNames(t))}getOntologyTreeModel(){return this.doRequest(t=>this.api.ontologyTreeModel(t),void 0,{},t=>t)}getCellTypeTreeModel(){return this.doRequest(t=>this.api.cellTypeTreeModel(t),void 0,{},t=>t)}getReferenceOrgans(){return this.doRequest(t=>this.api.referenceOrgans(t),void 0,{},t=>t)}getTissueBlockResults(t){return this.doRequest(t=>this.api.tissueBlocks(t),t,{},t=>t)}getAggregateResults(t){return this.doRequest(t=>this.api.aggregateResults(t),t)}getOntologyTermOccurences(t){return this.doRequest(t=>this.api.ontologyTermOccurences(t),t)}getCellTypeTermOccurences(t){return this.doRequest(t=>this.api.cellTypeTermOccurences(t),t)}getScene(t){return this.doRequest(t=>this.api.scene(t),t,{},k5)}getReferenceOrganScene(t,e){return this.doRequest(t=>this.api.referenceOrganScene(t),e,{organIri:t},k5)}doRequest(t,e,n,i){const{api:r,globalConfig:s}=this,o=Object.assign(Object.assign({},function(t){var e,n;return{age:T5(null==t?void 0:t.ageRange,1,110),bmi:T5(null==t?void 0:t.bmiRange,13,83),sex:null===(n=null===(e=null==t?void 0:t.sex)||void 0===e?void 0:e.toLowerCase)||void 0===n?void 0:n.call(e),ontologyTerms:null==t?void 0:t.ontologyTerms,cellTypeTerms:null==t?void 0:t.cellTypeTerms,providers:null==t?void 0:t.tmc,technologies:null==t?void 0:t.technologies,spatial:null==t?void 0:t.spatialSearches}}(e)),n);return z_([s.getOption("remoteApiEndpoint"),s.getOption("hubmapToken")]).pipe(rf(1),eg(([t,e])=>{r.configuration.basePath=t,e&&(o.token=e)}),cp(()=>t(o)),D(t=>i?i(t):t))}}P5.\u0275fac=function(t){return new(t||P5)(Ei(eq),Ei(v5))},P5.\u0275prov=xt({token:P5,factory:P5.\u0275fac,providedIn:"root"}),vw([QW(E5)],P5.prototype,"getProviderNames",null),vw([QW(E5)],P5.prototype,"getDatasetTechnologyNames",null),vw([QW(E5)],P5.prototype,"getOntologyTreeModel",null),vw([QW(E5)],P5.prototype,"getCellTypeTreeModel",null),vw([QW(E5)],P5.prototype,"getReferenceOrgans",null),vw([QW(O5)],P5.prototype,"getTissueBlockResults",null),vw([QW(O5)],P5.prototype,"getAggregateResults",null),vw([QW(O5)],P5.prototype,"getOntologyTermOccurences",null),vw([QW(O5)],P5.prototype,"getCellTypeTermOccurences",null),vw([QW(O5)],P5.prototype,"getScene",null),vw([QW(O5)],P5.prototype,"getReferenceOrganScene",null);let A5=(()=>{class t{}return t.type="[CallToAction] Learn More",t})(),M5=(()=>{class t{}return t.type="[CallToAction] Open Dialog",t})(),I5=(()=>{class t{}return t.type="[CallToAction] Close Dialog",t})();function D5(t,e){if(1&t&&(ra(0,"div",16),oa(1,"youtube-player",17),sa()),2&t){const t=va(3);ws(1),Sa("videoId",t.videoID)}}function R5(t,e){if(1&t&&(ra(0,"mat-expansion-panel",11),ra(1,"mat-expansion-panel-header"),ra(2,"h2",12),Ja(3),sa(),sa(),ra(4,"div",13),oa(5,"markdown",14),Jo(6,D5,2,1,"div",15),sa(),sa()),2&t){const t=va(),e=t.index,n=t.$implicit;na("expanded",0===e),ws(3),tl(n.title),ws(2),ja("first",0===e),na("data",n.content),ws(1),na("ngIf",0===e)}}function N5(t,e){if(1&t&&(ra(0,"div",9),Jo(1,R5,7,6,"mat-expansion-panel",10),sa()),2&t){const t=e.$implicit;ws(1),na("ngIf",t)}}let L5=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.documentationContents=e.content||[],this.infoTitle=e.title||"",this.videoID=e.videoID}ngOnInit(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api",document.body.appendChild(t)}close(){var t;null===(t=document.getElementsByClassName("modal-animated")[0])||void 0===t||t.classList.add("modal-animate-fade-out"),setTimeout(()=>{this.dialogRef.close()},250)}}return t.\u0275fac=function(e){return new(e||t)(ea(X$),ea(Q$))},t.\u0275cmp=Jt({type:t,selectors:[["ccf-info-dialog"]],decls:11,vars:2,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"header"],["mat-dialog-title","",1,"title"],[1,"close"],[1,"material-icons","close-icon",3,"click"],[1,"mat-typography","dialog-content"],["class","panel",4,"ngFor","ngForOf"],[1,"panel"],[3,"expanded",4,"ngIf"],[3,"expanded"],[1,"no-header-margin"],[1,"top-padding"],[1,"variable-binding",3,"data"],["class","video-player",4,"ngIf"],[1,"video-player"],[3,"videoId"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"h2",4),Ja(5),sa(),ra(6,"div",5),ra(7,"mat-icon",6),fa("click",function(){return e.close()}),Ja(8,"clear"),sa(),sa(),sa(),ra(9,"mat-dialog-content",7),Jo(10,N5,2,1,"div",8),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(5),na("ngForOf",e.documentationContents))},directives:[rG,T_,sG,kh,Ah,CG,TG,NG,WG],styles:[".mat-dialog-container{padding:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:3rem;text-align:left}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:3rem;margin-bottom:2.25rem;position:relative}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.5rem;margin-bottom:1rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .close[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{cursor:pointer;height:3rem;width:3rem;line-height:3rem;text-align:center;transition:.6s}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.5rem;margin:0 auto;line-height:3rem;height:3rem;justify-self:center;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1rem;margin-top:0;margin-bottom:.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%]{margin-bottom:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .no-header-margin[_ngcontent-%COMP%]{font-weight:300;margin-bottom:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%]{display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .panel[_ngcontent-%COMP%] .top-padding[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] ul{margin-top:0;padding-left:1.5rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{height:50rem;min-height:10rem}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%]{font-weight:300;display:flex}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding.first[_ngcontent-%COMP%]{padding-right:1rem;width:73%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] ul{margin:0}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .variable-binding[_ngcontent-%COMP%] img{margin-left:1rem;float:right}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%]{position:relative;width:50%}.rui-about.wrapper[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .video-player[_ngcontent-%COMP%] iframe{width:100%;height:100%}"]}),t})();class j5{get length(){var t,e;return null!==(e=null===(t=j5.storage)||void 0===t?void 0:t.length)&&void 0!==e?e:0}key(t){var e,n;return null!==(n=null===(e=j5.storage)||void 0===e?void 0:e.key(t))&&void 0!==n?n:null}getItem(t,e){var n,i,r;return null!==(r=null!==(i=null===(n=j5.storage)||void 0===n?void 0:n.getItem(t))&&void 0!==i?i:e)&&void 0!==r?r:null}setItem(t,e){var n;try{return null===(n=j5.storage)||void 0===n||n.setItem(t,e),!0}catch(i){return!1}}removeItem(t){var e;null===(e=j5.storage)||void 0===e||e.removeItem(t)}clear(){var t;null===(t=j5.storage)||void 0===t||t.clear()}}j5.storage=(()=>{let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),t}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length?t:void 0}})(),j5.\u0275fac=function(t){return new(t||j5)},j5.\u0275prov=xt({token:j5,factory:j5.\u0275fac,providedIn:"root"});let F5=(()=>{class t{constructor(t){this.http=t,this.panelContent=new Jf({content:[],infoTitle:"",videoID:""})}updateData(t,e,n){this.http.get(t,{responseType:"text"}).subscribe(t=>{const i={content:this.parseMarkdown(t),infoTitle:n,videoID:e};this.panelContent.next(i)})}parseMarkdown(t){const e=[],n=t.split("# ");for(const i of n)if(i.length){const t=i.includes("\n\n")?"\n\n":"\r\n\r\n",n=i.split(t);e.push({title:n[0],content:n.splice(1).join(t)})}return e}}return t.\u0275fac=function(e){return new(e||t)(Ei(Jv))},t.\u0275prov=xt({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var B5;const V5="callToActionPopupShown";let z5=B5=class{constructor(t,e,n,i,r){this.dialog=t,this.ga=e,this.storage=n,this.infoService=i,this.http=r}static ctaDatePassed(t,e=Date.now){return+e()>+new Date(t)}ngxsOnInit(t){const{expirationDate:e,popupShown:n}=t.getState(),i=this.storage.getItem(V5,`${n}`),r=B5.ctaDatePassed(e);"true"!==i&&!r&&t.dispatch(new M5)}getDialogData(){return this.http.get("assets/docs/SPATIAL_SEARCH_README.md",{responseType:"text"}).pipe(D(t=>this.infoService.parseMarkdown(t)))}launchLearnMore(t){this.dialog.open(L5,{autoFocus:!1,panelClass:"modal-animated",width:"72rem",data:{title:"Spatial Search",content:t,videoID:"UfxMpzatowE"}})}learnMore(t){return this.dialog.closeAll(),this.ga.event("open_learn_more","call_to_action"),this.getDialogData().pipe(eg(t=>this.launchLearnMore(t)))}open(t){this.dialog.open($5,{autoFocus:!1,panelClass:"modal-animated",width:"30.75rem",height:"36.688rem"}),this.ga.event("open","call_to_action"),this.storage.setItem(V5,"true"),t.patchState({popupShown:!0})}close(t){this.dialog.closeAll(),this.ga.event("close","call_to_action")}};z5.\u0275fac=function(t){return new(t||z5)(Ei(nG),Ei(jW),Ei(j5),Ei(F5),Ei(Jv))},z5.\u0275prov=xt({token:z5,factory:z5.\u0275fac}),vw([eU(A5)],z5.prototype,"learnMore",null),vw([eU(M5)],z5.prototype,"open",null),vw([eU(I5)],z5.prototype,"close",null),z5=B5=vw([nU({name:"callToAction",defaults:{title:"New to the Exploration User Interface",message:"Spatial Search has arrived!",callToAction:"Learn More",imageUrl:"assets/images/spatial_search.gif",expirationDate:"Dec 1, 2022",popupShown:!1}})],z5);class U5{static title(t){return t.title}static message(t){return t.message}static callToAction(t){return t.callToAction}static imageUrl(t){return t.imageUrl}static expirationDate(t){return t.expirationDate}static popupShown(t){return t.popupShown}}vw([rU([z5])],U5,"title",null),vw([rU([z5])],U5,"message",null),vw([rU([z5])],U5,"callToAction",null),vw([rU([z5])],U5,"imageUrl",null),vw([rU([z5])],U5,"expirationDate",null),vw([rU([z5])],U5,"popupShown",null);let H5=(()=>{class t{constructor(){this.clsName="ccf-call-to-action",this.callToActionClicked=new Bc,this.closeClicked=new Bc}close(){this.closeClicked.emit()}onDialogButtonClick(){this.callToActionClicked.emit()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Jt({type:t,selectors:[["ccf-call-to-action"]],hostVars:2,hostBindings:function(t,e){2&t&&Va(e.clsName)},inputs:{infoTitle:"infoTitle",imageUrl:"imageUrl",message:"message",callToAction:"callToAction"},outputs:{callToActionClicked:"callToActionClicked",closeClicked:"closeClicked"},decls:13,vars:4,consts:[[1,"rui-about","wrapper"],[1,"container"],[1,"content"],[1,"first-row"],["mat-dialog-title","",1,"title"],[1,"cta-mat-icon","material-icons","close-icon",3,"click"],["mat-card-sm-image","","alt","preview","layout-fill","",1,"cta-image",3,"src"],[1,"mat-typography","dialog-content"],[1,"message"],["mat-button","",1,"mat-button",3,"text","click"]],template:function(t,e){1&t&&(ra(0,"div",0),ra(1,"div",1),ra(2,"div",2),ra(3,"div",3),ra(4,"p",4),Ja(5),sa(),ra(6,"mat-icon",5),fa("click",function(){return e.close()}),Ja(7,"clear"),sa(),sa(),oa(8,"img",6),ra(9,"mat-dialog-content",7),ra(10,"div",8),Ja(11),sa(),ra(12,"a",9),fa("click",function(){return e.onDialogButtonClick()}),sa(),sa(),sa(),sa(),sa()),2&t&&(ws(5),tl(e.infoTitle),ws(3),na("src",e.imageUrl,_r),ws(3),el(" ",e.message,""),ws(1),na("text",e.callToAction))},directives:[rG,T_,QG,sG],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{display:block;align-content:center;padding-left:1.6rem;padding-right:1.6rem;border-radius:.25rem}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%]{border-radius:.25rem;padding:.6rem;transition:.6s}[_nghost-%COMP%] .info-button-wrapper[_ngcontent-%COMP%] .ccf-info-button[_ngcontent-%COMP%]{cursor:pointer;transition:color .6s;font-size:1.2rem;vertical-align:sub}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%]{display:flex;width:100%;line-height:.9rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{padding-right:7rem;padding-left:.2rem;font-size:.875rem;padding-top:.75rem}[_nghost-%COMP%] .first-row[_ngcontent-%COMP%] .cta-mat-icon[_ngcontent-%COMP%]{height:30%;line-height:3.4rem}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{padding:.5rem}[_nghost-%COMP%] .cta-image[_ngcontent-%COMP%]{align-self:center;-o-object-fit:cover;object-fit:cover;width:100%;border-radius:.25rem}[_nghost-%COMP%] .mat-button[_ngcontent-%COMP%]{background-color:#444a65;font-size:.75rem;position:relative;margin-bottom:1rem;width:100%;height:2rem;color:#fff}"],changeDetection:0}),t})();class $5{constructor(){this.close=()=>new I5,this.learnMore=()=>new A5}}$5.\u0275fac=function(t){return new(t||$5)},$5.\u0275cmp=Jt({type:$5,selectors:[["ccf-call-to-action-behavior"]],decls:5,vars:12,consts:[[3,"infoTitle","message","callToAction","imageUrl","callToActionClicked","closeClicked"]],template:function(t,e){1&t&&(ra(0,"ccf-call-to-action",0),fa("callToActionClicked",function(){return e.learnMore()})("closeClicked",function(){return e.close()}),Dc(1,"async"),Dc(2,"async"),Dc(3,"async"),Dc(4,"async"),sa()),2&t&&na("infoTitle",Rc(1,4,e.title$))("message",Rc(2,6,e.message$))("callToAction",Rc(3,8,e.callToAction$))("imageUrl",Rc(4,10,e.imageUrl$))},directives:[H5],pipes:[$h],styles:[""],changeDetection:0}),vw([iU(U5.title)],$5.prototype,"title$",void 0),vw([iU(U5.message)],$5.prototype,"message$",void 0),vw([iU(U5.callToAction)],$5.prototype,"callToAction$",void 0),vw([iU(U5.imageUrl)],$5.prototype,"imageUrl$",void 0),vw([KX()],$5.prototype,"close",void 0),vw([KX()],$5.prototype,"learnMore",void 0);const G5=[{name:"bladder",namespace:"app",url:"assets/icons/organs/ico-organs-bladder.svg"},{name:"blood",namespace:"app",url:"assets/icons/organs/ico-organs-blood.svg"},{name:"bone-marrow",namespace:"app",url:"assets/icons/organs/ico-organs-bone-marrow.svg"},{name:"brain",namespace:"app",url:"assets/icons/organs/ico-organs-brain.svg"},{name:"eye",namespace:"app",url:"assets/icons/organs/ico-organs-eye.svg"},{name:"fallopian-tube-left",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-left.svg"},{name:"fallopian-tube-right",namespace:"app",url:"assets/icons/organs/ico-organs-fallopian-tube-right.svg"},{name:"heart",namespace:"app",url:"assets/icons/organs/ico-organs-heart.svg"},{name:"kidney-left",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-left.svg"},{name:"kidney-right",namespace:"app",url:"assets/icons/organs/ico-organs-kidney-right.svg"},{name:"kidney",namespace:"app",url:"assets/icons/organs/ico-organs-kidney.svg"},{name:"knee",namespace:"app",url:"assets/icons/organs/ico-organs-knee.svg"},{name:"large-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-large-intestine.svg"},{name:"larynx",namespace:"app",url:"assets/icons/organs/ico-organs-larynx.svg"},{name:"liver",namespace:"app",url:"assets/icons/organs/ico-organs-liver.svg"},{name:"lung-left",namespace:"app",url:"assets/icons/organs/ico-organs-lung-left.svg"},{name:"lung-right",namespace:"app",url:"assets/icons/organs/ico-organs-lung-right.svg"},{name:"lung",namespace:"app",url:"assets/icons/organs/ico-organs-lung.svg"},{name:"lymph-nodes",namespace:"app",url:"assets/icons/organs/ico-organs-lymph-nodes.svg"},{name:"main-bronchus",namespace:"app",url:"assets/icons/organs/ico-organs-extrapulmonary bronchus.svg"},{name:"mammary-gland",namespace:"app",url:"assets/icons/organs/ico-organs-breast.svg"},{name:"neuron",namespace:"app",url:"assets/icons/organs/ico-organs-neuron.svg"},{name:"ovaries",namespace:"app",url:"assets/icons/organs/ico-organs-ovaries.svg"},{name:"ovary-left",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-left.svg"},{name:"ovary-right",namespace:"app",url:"assets/icons/organs/ico-organs-ovary-right.svg"},{name:"palatine-tonsil",namespace:"app",url:"assets/icons/organs/ico-organs-palatine tonsil.svg"},{name:"pancreas",namespace:"app",url:"assets/icons/organs/ico-organs-pancreas.svg"},{name:"pelvis-f",namespace:"app",url:"assets/icons/organs/ico-organs-pelvis-f.svg"},{name:"placenta",namespace:"app",url:"assets/icons/organs/ico-organs-placenta.svg"},{name:"prostate",namespace:"app",url:"assets/icons/organs/ico-organs-prostate.svg"},{name:"skin",namespace:"app",url:"assets/icons/organs/ico-organs-skin.svg"},{name:"small-intestine",namespace:"app",url:"assets/icons/organs/ico-organs-small intestine.svg"},{name:"spinal-cord",namespace:"app",url:"assets/icons/organs/ico-organs-spinal-cord.svg"},{name:"spleen",namespace:"app",url:"assets/icons/organs/ico-organs-spleen.svg"},{name:"stomach",namespace:"app",url:"assets/icons/organs/ico-organs-stomach.svg"},{name:"thymus",namespace:"app",url:"assets/icons/organs/ico-organs-thymus.svg"},{name:"trachea",namespace:"app",url:"assets/icons/organs/ico-organs-trachea.svg"},{name:"ureter-left",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-left.svg"},{name:"ureter-right",namespace:"app",url:"assets/icons/organs/ico-organs-ureter-right.svg"},{name:"uterus",namespace:"app",url:"assets/icons/organs/ico-organs-uterus.svg"},{name:"vasculature-thick",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thick.svg"},{name:"vasculature-thin",namespace:"app",url:"assets/icons/organs/ico-organs-vasculature-thin.svg"},{name:"opacity",namespace:"app",url:"assets/icons/opacity-24px.svg"},{name:"visibility_on",namespace:"app",url:"assets/icons/visibility-on-24px.svg"},{name:"visibility_off",namespace:"app",url:"assets/icons/visibility-off-24px.svg"},{name:"expand_more",namespace:"app",url:"assets/icons/expand_more-24px.svg"},{name:"expand_less",namespace:"app",url:"assets/icons/expand_less-24px.svg"},{name:"filter",url:"assets/icons/filter.svg"}];let W5=class extends AW{constructor(t,e){super(),this.registry=t;for(const{name:n,namespace:i,url:r,html:s}of G5){const t={name:n,namespace:i,url:r&&e.bypassSecurityTrustResourceUrl(r),html:s&&e.bypassSecurityTrustHtml(s)};this.registerIconImpl(t)}}registerIcon(t){return this.registerIconImpl(t)}registerIconImpl(t){if(!this.registry||!t.url&&!t.html)return!1;const e=this.registry,n=e[this.getMethodName(t)],i=this.getArguments(t);if(!n)return!1;try{return n.apply(e,i),!0}catch(r){return!1}}getMethodName({name:t,namespace:e,url:n}){const i=["addSvgIcon"];return t||i.push("Set"),n||i.push("Literal"),e&&i.push("InNamespace"),i.join("")}getArguments({name:t,namespace:e,url:n,html:i}){return[e,t,null!=n?n:i].filter(t=>!!t)}};W5.\u0275fac=function(t){return new(t||W5)(Ei(y_,8),Ei(Sd))},W5.\u0275prov=xt({token:W5,factory:W5.\u0275fac}),vw([OW()],W5.prototype,"registerIcon",null),W5=vw([kW(),nU({name:"iconRegistry"})],W5);const q5=[KK,rZ,W5,sZ,YQ,aZ,z5,h0,JQ];let Y5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[i5.forRoot(),tU.forRoot(q5,{developmentMode:!LQ.production,selectorOptions:{injectContainerState:!1}}),QX.forRoot(),h5.forRoot({disabled:LQ.production})]]}),t})(),X5=(()=>{class t{constructor(t){if(t)throw new Error("The core module should only be imported once in the root module")}}return t.\u0275fac=function(e){return new(e||t)(Ei(t,12))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:iQ,useExisting:e5}],imports:[[d_,GW.forRoot({gaToken:LQ.googleAnalyticsToken,appName:"eui"}),QK,nq.forRoot(()=>new tq({basePath:LQ.dbOptions.remoteApiEndpoint})),J3,Y5,n5],J3]}),t})(),K5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,CK]]}),t})(),Q5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,ZH,uJ]]}),t})(),Z5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Wf,ef,ZH,uJ,i0]]}),t})(),J5=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_]]}),t})(),t4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,K5,Q5,Z5,OQ,J5]]}),t})(),e4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,k_,t4]]}),t})(),n4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,bH,yH,b$,ZH,O$,k_]]}),t})(),i4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,yw,b1,VK]]}),t})(),r4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,n4,i4]]}),t})(),s4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,n4,i4,r4],n4,i4,r4]}),t})();function o4(){return(o4=Object.assign||function(t){for(var e=1;e0&&(n(s,!!t.isBeginning),t.params.watchOverflow&&t.enabled&&s[t.isLocked?"addClass":"removeClass"](e.lockClass)),r&&r.length>0&&(n(r,!!t.isEnd),t.params.watchOverflow&&t.enabled&&r[t.isLocked?"addClass":"removeClass"](e.lockClass))}},onPrevClick:function(t){var e=this;t.preventDefault(),(!e.isBeginning||e.params.loop)&&e.slidePrev()},onNextClick:function(t){var e=this;t.preventDefault(),(!e.isEnd||e.params.loop)&&e.slideNext()},init:function(){var t,e,n=this,i=n.params.navigation;n.params.navigation=function(t,e,n,i){var r=G1();return n&&Object.keys(i).forEach(function(n){if(!e[n]&&!0===e.auto){var s=r.createElement("div");s.className=i[n],t.append(s),e[n]=s}}),e}(n.$el,n.params.navigation,n.params.createElements,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),(i.nextEl||i.prevEl)&&(i.nextEl&&(t=c2(i.nextEl),n.params.uniqueNavElements&&"string"==typeof i.nextEl&&t.length>1&&1===n.$el.find(i.nextEl).length&&(t=n.$el.find(i.nextEl))),i.prevEl&&(e=c2(i.prevEl),n.params.uniqueNavElements&&"string"==typeof i.prevEl&&e.length>1&&1===n.$el.find(i.prevEl).length&&(e=n.$el.find(i.prevEl))),t&&t.length>0&&t.on("click",n.navigation.onNextClick),e&&e.length>0&&e.on("click",n.navigation.onPrevClick),f2(n.navigation,{$nextEl:t,nextEl:t&&t[0],$prevEl:e,prevEl:e&&e[0]}),n.enabled||(t&&t.addClass(i.lockClass),e&&e.addClass(i.lockClass)))},destroy:function(){var t=this,e=t.navigation,n=e.$nextEl,i=e.$prevEl;n&&n.length&&(n.off("click",t.navigation.onNextClick),n.removeClass(t.params.navigation.disabledClass)),i&&i.length&&(i.off("click",t.navigation.onPrevClick),i.removeClass(t.params.navigation.disabledClass))}},l4={name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){g2(this,{navigation:o4({},a4)})},on:{init:function(t){t.navigation.init(),t.navigation.update()},toEdge:function(t){t.navigation.update()},fromEdge:function(t){t.navigation.update()},destroy:function(t){t.navigation.destroy()},"enable disable":function(t){var e=t.navigation,n=e.$nextEl,i=e.$prevEl;n&&n[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass),i&&i[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass)},click:function(t,e){var n=t.navigation,i=n.$nextEl,r=n.$prevEl,s=e.target;if(t.params.navigation.hideOnClick&&!c2(s).is(r)&&!c2(s).is(i)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===s||t.pagination.el.contains(s)))return;var o;i?o=i.hasClass(t.params.navigation.hiddenClass):r&&(o=r.hasClass(t.params.navigation.hiddenClass)),t.emit(!0===o?"navigationShow":"navigationHide"),i&&i.toggleClass(t.params.navigation.hiddenClass),r&&r.toggleClass(t.params.navigation.hiddenClass)}}}};let c4=(()=>{class t{constructor(){L2.use([l4])}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,y3]]}),t})(),u4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh]]}),t})(),h4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,CK,k_,c4,u4]]}),t})(),d4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,Gp,h4]]}),t})(),p4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:_Z,useValue:vZ}],imports:[[Td,By,k_]]}),t})(),f4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,bZ]]}),t})(),g4=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=ie({type:t}),t.\u0275inj=St({imports:[[Wh,L_,k_,bZ]]}),t})(),m4=(()=>{class t{constructor(t){this.injector=t}ngDoBootstrap(){const t=function(t,e){const n=function(t,e){return e.get(Ol).resolveComponentFactory(t).inputs}(t,e.injector),i=e.strategyFactory||new Kf(t,e.injector),r=function(t){const e={};return t.forEach(({propName:t,templateName:n})=>{e[function(t){return t.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}(n)]=t}),e}(n);class s extends Zf{constructor(t){super(),this.injector=t}get ngElementStrategy(){if(!this._ngElementStrategy){const t=this._ngElementStrategy=i.create(this.injector||e.injector);n.forEach(({propName:e})=>{if(!this.hasOwnProperty(e))return;const n=this[e];delete this[e],t.setInputValue(e,n)})}return this._ngElementStrategy}attributeChangedCallback(t,e,n,i){this.ngElementStrategy.setInputValue(r[t],n)}connectedCallback(){let t=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),t=!0),this.ngElementStrategy.connect(this),t||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(t=>{const e=function(t,e,n){if("function"!=typeof CustomEvent){const i=t.createEvent("CustomEvent");return i.initCustomEvent(e,!1,!1,n),i}return new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:n})}(this.ownerDocument,t.name,t.value);this.dispatchEvent(e)})}}return s.observedAttributes=Object.keys(r),n.forEach(({propName:t})=>{Object.defineProperty(s.prototype,t,{get(){return this.ngElementStrategy.getInputValue(t)},set(e){this.ngElementStrategy.setInputValue(t,e)},configurable:!0,enumerable:!0})}),s}(Z3,{injector:this.injector});customElements.define("ccf-eui",t)}}return t.\u0275fac=function(e){return new(e||t)(Ei(No))},t.\u0275mod=ie({type:t}),t.\u0275inj=St({providers:[{provide:PQ,useValue:"hubmap-theme-light"},{provide:Tf,useExisting:kQ}],imports:[[By,Td,X5,p4,e4,s4,k_,Z5,d4,f4,TK,FK,YK,yw,g4,eQ,sw,J5]]}),t})();LQ.production&&function(){if(Bu)throw new Error("Cannot enable prod mode after platform setup.");Fu=!1}(),Ed().bootstrapModule(m4).catch(t=>console.error(t))},91052:function(t){function e(t,e,n,i,r,s,o){try{var a=t[s](o),l=a.value}catch(c){return void n(c)}a.done?e(l):Promise.resolve(l).then(i,r)}t.exports=function(t){return function(){var n=this,i=arguments;return new Promise(function(r,s){var o=t.apply(n,i);function a(t){e(o,r,s,a,l,"next",t)}function l(t){e(o,r,s,a,l,"throw",t)}a(void 0)})}},t.exports.default=t.exports,t.exports.__esModule=!0},61948:function(t){t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.default=t.exports,t.exports.__esModule=!0},34321:function(t){function e(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=e=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=e=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),e(n)}t.exports=e,t.exports.default=t.exports,t.exports.__esModule=!0},91741:function(t){function e(t){return Promise.resolve().then(function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}e.keys=function(){return[]},e.resolve=e,e.id=91741,t.exports=e},88509:function(t,e,n){"use strict";t.exports=n.p+"7693192ac33f7744a3ca.ts"},9521:function(){},49125:function(){},75307:function(){}},function(t){t(t.s=51316)}]); \ No newline at end of file